/* Generated by CIL v. 1.8.2 */
/* print_CIL_Input is true */

typedef long ptrdiff_t;
typedef unsigned long size_t;
typedef int wchar_t;
struct __anonstruct_max_align_t_896270833 {
   long long __max_align_ll  __attribute__((__aligned__(__alignof__(long long )))) ;
   long double __max_align_ld  __attribute__((__aligned__(__alignof__(long double )))) ;
};
typedef struct __anonstruct_max_align_t_896270833 max_align_t;
typedef unsigned char __u_char;
typedef unsigned short __u_short;
typedef unsigned int __u_int;
typedef unsigned long __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef short __int16_t;
typedef unsigned short __uint16_t;
typedef int __int32_t;
typedef unsigned int __uint32_t;
typedef long __int64_t;
typedef unsigned long __uint64_t;
typedef long __quad_t;
typedef unsigned long __u_quad_t;
typedef long __intmax_t;
typedef unsigned long __uintmax_t;
typedef unsigned long __dev_t;
typedef unsigned int __uid_t;
typedef unsigned int __gid_t;
typedef unsigned long __ino_t;
typedef unsigned long __ino64_t;
typedef unsigned int __mode_t;
typedef unsigned long __nlink_t;
typedef long __off_t;
typedef int __pid_t;
struct __anonstruct___fsid_t_109580352 {
   int __val[2] ;
};
typedef struct __anonstruct___fsid_t_109580352 __fsid_t;
typedef long __clock_t;
typedef unsigned long __rlim_t;
typedef unsigned long __rlim64_t;
typedef unsigned int __id_t;
typedef long __time_t;
typedef unsigned int __useconds_t;
typedef long __suseconds_t;
typedef int __daddr_t;
typedef int __key_t;
typedef int __clockid_t;
typedef void *__timer_t;
typedef long __blksize_t;
typedef long __blkcnt_t;
typedef long __blkcnt64_t;
typedef unsigned long __fsblkcnt_t;
typedef unsigned long __fsblkcnt64_t;
typedef unsigned long __fsfilcnt_t;
typedef unsigned long __fsfilcnt64_t;
typedef long __fsword_t;
typedef long __ssize_t;
typedef long __syscall_slong_t;
typedef unsigned long __syscall_ulong_t;
typedef __off_t __loff_t;
typedef char *__caddr_t;
typedef long __intptr_t;
typedef unsigned int __socklen_t;
typedef int __sig_atomic_t;
typedef __ssize_t ssize_t;
typedef __gid_t gid_t;
typedef __uid_t uid_t;
typedef __off_t off_t;
typedef __off_t off64_t;
typedef __useconds_t useconds_t;
typedef __pid_t pid_t;
typedef __intptr_t intptr_t;
typedef __socklen_t socklen_t;
enum __anonenum_437032235 {
    _PC_LINK_MAX = 0,
    _PC_MAX_CANON = 1,
    _PC_MAX_INPUT = 2,
    _PC_NAME_MAX = 3,
    _PC_PATH_MAX = 4,
    _PC_PIPE_BUF = 5,
    _PC_CHOWN_RESTRICTED = 6,
    _PC_NO_TRUNC = 7,
    _PC_VDISABLE = 8,
    _PC_SYNC_IO = 9,
    _PC_ASYNC_IO = 10,
    _PC_PRIO_IO = 11,
    _PC_SOCK_MAXBUF = 12,
    _PC_FILESIZEBITS = 13,
    _PC_REC_INCR_XFER_SIZE = 14,
    _PC_REC_MAX_XFER_SIZE = 15,
    _PC_REC_MIN_XFER_SIZE = 16,
    _PC_REC_XFER_ALIGN = 17,
    _PC_ALLOC_SIZE_MIN = 18,
    _PC_SYMLINK_MAX = 19,
    _PC_2_SYMLINKS = 20
} ;
enum __anonenum_315186338 {
    _SC_ARG_MAX = 0,
    _SC_CHILD_MAX = 1,
    _SC_CLK_TCK = 2,
    _SC_NGROUPS_MAX = 3,
    _SC_OPEN_MAX = 4,
    _SC_STREAM_MAX = 5,
    _SC_TZNAME_MAX = 6,
    _SC_JOB_CONTROL = 7,
    _SC_SAVED_IDS = 8,
    _SC_REALTIME_SIGNALS = 9,
    _SC_PRIORITY_SCHEDULING = 10,
    _SC_TIMERS = 11,
    _SC_ASYNCHRONOUS_IO = 12,
    _SC_PRIORITIZED_IO = 13,
    _SC_SYNCHRONIZED_IO = 14,
    _SC_FSYNC = 15,
    _SC_MAPPED_FILES = 16,
    _SC_MEMLOCK = 17,
    _SC_MEMLOCK_RANGE = 18,
    _SC_MEMORY_PROTECTION = 19,
    _SC_MESSAGE_PASSING = 20,
    _SC_SEMAPHORES = 21,
    _SC_SHARED_MEMORY_OBJECTS = 22,
    _SC_AIO_LISTIO_MAX = 23,
    _SC_AIO_MAX = 24,
    _SC_AIO_PRIO_DELTA_MAX = 25,
    _SC_DELAYTIMER_MAX = 26,
    _SC_MQ_OPEN_MAX = 27,
    _SC_MQ_PRIO_MAX = 28,
    _SC_VERSION = 29,
    _SC_PAGESIZE = 30,
    _SC_RTSIG_MAX = 31,
    _SC_SEM_NSEMS_MAX = 32,
    _SC_SEM_VALUE_MAX = 33,
    _SC_SIGQUEUE_MAX = 34,
    _SC_TIMER_MAX = 35,
    _SC_BC_BASE_MAX = 36,
    _SC_BC_DIM_MAX = 37,
    _SC_BC_SCALE_MAX = 38,
    _SC_BC_STRING_MAX = 39,
    _SC_COLL_WEIGHTS_MAX = 40,
    _SC_EQUIV_CLASS_MAX = 41,
    _SC_EXPR_NEST_MAX = 42,
    _SC_LINE_MAX = 43,
    _SC_RE_DUP_MAX = 44,
    _SC_CHARCLASS_NAME_MAX = 45,
    _SC_2_VERSION = 46,
    _SC_2_C_BIND = 47,
    _SC_2_C_DEV = 48,
    _SC_2_FORT_DEV = 49,
    _SC_2_FORT_RUN = 50,
    _SC_2_SW_DEV = 51,
    _SC_2_LOCALEDEF = 52,
    _SC_PII = 53,
    _SC_PII_XTI = 54,
    _SC_PII_SOCKET = 55,
    _SC_PII_INTERNET = 56,
    _SC_PII_OSI = 57,
    _SC_POLL = 58,
    _SC_SELECT = 59,
    _SC_UIO_MAXIOV = 60,
    _SC_IOV_MAX = 60,
    _SC_PII_INTERNET_STREAM = 61,
    _SC_PII_INTERNET_DGRAM = 62,
    _SC_PII_OSI_COTS = 63,
    _SC_PII_OSI_CLTS = 64,
    _SC_PII_OSI_M = 65,
    _SC_T_IOV_MAX = 66,
    _SC_THREADS = 67,
    _SC_THREAD_SAFE_FUNCTIONS = 68,
    _SC_GETGR_R_SIZE_MAX = 69,
    _SC_GETPW_R_SIZE_MAX = 70,
    _SC_LOGIN_NAME_MAX = 71,
    _SC_TTY_NAME_MAX = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS = 73,
    _SC_THREAD_KEYS_MAX = 74,
    _SC_THREAD_STACK_MIN = 75,
    _SC_THREAD_THREADS_MAX = 76,
    _SC_THREAD_ATTR_STACKADDR = 77,
    _SC_THREAD_ATTR_STACKSIZE = 78,
    _SC_THREAD_PRIORITY_SCHEDULING = 79,
    _SC_THREAD_PRIO_INHERIT = 80,
    _SC_THREAD_PRIO_PROTECT = 81,
    _SC_THREAD_PROCESS_SHARED = 82,
    _SC_NPROCESSORS_CONF = 83,
    _SC_NPROCESSORS_ONLN = 84,
    _SC_PHYS_PAGES = 85,
    _SC_AVPHYS_PAGES = 86,
    _SC_ATEXIT_MAX = 87,
    _SC_PASS_MAX = 88,
    _SC_XOPEN_VERSION = 89,
    _SC_XOPEN_XCU_VERSION = 90,
    _SC_XOPEN_UNIX = 91,
    _SC_XOPEN_CRYPT = 92,
    _SC_XOPEN_ENH_I18N = 93,
    _SC_XOPEN_SHM = 94,
    _SC_2_CHAR_TERM = 95,
    _SC_2_C_VERSION = 96,
    _SC_2_UPE = 97,
    _SC_XOPEN_XPG2 = 98,
    _SC_XOPEN_XPG3 = 99,
    _SC_XOPEN_XPG4 = 100,
    _SC_CHAR_BIT = 101,
    _SC_CHAR_MAX = 102,
    _SC_CHAR_MIN = 103,
    _SC_INT_MAX = 104,
    _SC_INT_MIN = 105,
    _SC_LONG_BIT = 106,
    _SC_WORD_BIT = 107,
    _SC_MB_LEN_MAX = 108,
    _SC_NZERO = 109,
    _SC_SSIZE_MAX = 110,
    _SC_SCHAR_MAX = 111,
    _SC_SCHAR_MIN = 112,
    _SC_SHRT_MAX = 113,
    _SC_SHRT_MIN = 114,
    _SC_UCHAR_MAX = 115,
    _SC_UINT_MAX = 116,
    _SC_ULONG_MAX = 117,
    _SC_USHRT_MAX = 118,
    _SC_NL_ARGMAX = 119,
    _SC_NL_LANGMAX = 120,
    _SC_NL_MSGMAX = 121,
    _SC_NL_NMAX = 122,
    _SC_NL_SETMAX = 123,
    _SC_NL_TEXTMAX = 124,
    _SC_XBS5_ILP32_OFF32 = 125,
    _SC_XBS5_ILP32_OFFBIG = 126,
    _SC_XBS5_LP64_OFF64 = 127,
    _SC_XBS5_LPBIG_OFFBIG = 128,
    _SC_XOPEN_LEGACY = 129,
    _SC_XOPEN_REALTIME = 130,
    _SC_XOPEN_REALTIME_THREADS = 131,
    _SC_ADVISORY_INFO = 132,
    _SC_BARRIERS = 133,
    _SC_BASE = 134,
    _SC_C_LANG_SUPPORT = 135,
    _SC_C_LANG_SUPPORT_R = 136,
    _SC_CLOCK_SELECTION = 137,
    _SC_CPUTIME = 138,
    _SC_THREAD_CPUTIME = 139,
    _SC_DEVICE_IO = 140,
    _SC_DEVICE_SPECIFIC = 141,
    _SC_DEVICE_SPECIFIC_R = 142,
    _SC_FD_MGMT = 143,
    _SC_FIFO = 144,
    _SC_PIPE = 145,
    _SC_FILE_ATTRIBUTES = 146,
    _SC_FILE_LOCKING = 147,
    _SC_FILE_SYSTEM = 148,
    _SC_MONOTONIC_CLOCK = 149,
    _SC_MULTI_PROCESS = 150,
    _SC_SINGLE_PROCESS = 151,
    _SC_NETWORKING = 152,
    _SC_READER_WRITER_LOCKS = 153,
    _SC_SPIN_LOCKS = 154,
    _SC_REGEXP = 155,
    _SC_REGEX_VERSION = 156,
    _SC_SHELL = 157,
    _SC_SIGNALS = 158,
    _SC_SPAWN = 159,
    _SC_SPORADIC_SERVER = 160,
    _SC_THREAD_SPORADIC_SERVER = 161,
    _SC_SYSTEM_DATABASE = 162,
    _SC_SYSTEM_DATABASE_R = 163,
    _SC_TIMEOUTS = 164,
    _SC_TYPED_MEMORY_OBJECTS = 165,
    _SC_USER_GROUPS = 166,
    _SC_USER_GROUPS_R = 167,
    _SC_2_PBS = 168,
    _SC_2_PBS_ACCOUNTING = 169,
    _SC_2_PBS_LOCATE = 170,
    _SC_2_PBS_MESSAGE = 171,
    _SC_2_PBS_TRACK = 172,
    _SC_SYMLOOP_MAX = 173,
    _SC_STREAMS = 174,
    _SC_2_PBS_CHECKPOINT = 175,
    _SC_V6_ILP32_OFF32 = 176,
    _SC_V6_ILP32_OFFBIG = 177,
    _SC_V6_LP64_OFF64 = 178,
    _SC_V6_LPBIG_OFFBIG = 179,
    _SC_HOST_NAME_MAX = 180,
    _SC_TRACE = 181,
    _SC_TRACE_EVENT_FILTER = 182,
    _SC_TRACE_INHERIT = 183,
    _SC_TRACE_LOG = 184,
    _SC_LEVEL1_ICACHE_SIZE = 185,
    _SC_LEVEL1_ICACHE_ASSOC = 186,
    _SC_LEVEL1_ICACHE_LINESIZE = 187,
    _SC_LEVEL1_DCACHE_SIZE = 188,
    _SC_LEVEL1_DCACHE_ASSOC = 189,
    _SC_LEVEL1_DCACHE_LINESIZE = 190,
    _SC_LEVEL2_CACHE_SIZE = 191,
    _SC_LEVEL2_CACHE_ASSOC = 192,
    _SC_LEVEL2_CACHE_LINESIZE = 193,
    _SC_LEVEL3_CACHE_SIZE = 194,
    _SC_LEVEL3_CACHE_ASSOC = 195,
    _SC_LEVEL3_CACHE_LINESIZE = 196,
    _SC_LEVEL4_CACHE_SIZE = 197,
    _SC_LEVEL4_CACHE_ASSOC = 198,
    _SC_LEVEL4_CACHE_LINESIZE = 199,
    _SC_IPV6 = 235,
    _SC_RAW_SOCKETS = 236,
    _SC_V7_ILP32_OFF32 = 237,
    _SC_V7_ILP32_OFFBIG = 238,
    _SC_V7_LP64_OFF64 = 239,
    _SC_V7_LPBIG_OFFBIG = 240,
    _SC_SS_REPL_MAX = 241,
    _SC_TRACE_EVENT_NAME_MAX = 242,
    _SC_TRACE_NAME_MAX = 243,
    _SC_TRACE_SYS_MAX = 244,
    _SC_TRACE_USER_EVENT_MAX = 245,
    _SC_XOPEN_STREAMS = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT = 248
} ;
enum __anonenum_875524036 {
    _CS_PATH = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS = 1,
    _CS_GNU_LIBC_VERSION = 2,
    _CS_GNU_LIBPTHREAD_VERSION = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS = 5,
    _CS_LFS_CFLAGS = 1000,
    _CS_LFS_LDFLAGS = 1001,
    _CS_LFS_LIBS = 1002,
    _CS_LFS_LINTFLAGS = 1003,
    _CS_LFS64_CFLAGS = 1004,
    _CS_LFS64_LDFLAGS = 1005,
    _CS_LFS64_LIBS = 1006,
    _CS_LFS64_LINTFLAGS = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS = 1109,
    _CS_XBS5_LP64_OFF64_LIBS = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = 1147,
    _CS_V6_ENV = 1148,
    _CS_V7_ENV = 1149
} ;
struct _IO_FILE ;
typedef struct _IO_FILE __FILE;
typedef struct _IO_FILE FILE;
union __anonunion___value_628077854 {
   unsigned int __wch ;
   char __wchb[4] ;
};
struct __anonstruct___mbstate_t_84480284 {
   int __count ;
   union __anonunion___value_628077854 __value ;
};
typedef struct __anonstruct___mbstate_t_84480284 __mbstate_t;
struct __anonstruct__G_fpos_t_800156284 {
   __off_t __pos ;
   __mbstate_t __state ;
};
typedef struct __anonstruct__G_fpos_t_800156284 _G_fpos_t;
typedef __builtin_va_list __gnuc_va_list;
struct _IO_jump_t ;
typedef void _IO_lock_t;
struct _IO_marker {
   struct _IO_marker *_next ;
   struct _IO_FILE *_sbuf ;
   int _pos ;
};
enum __codecvt_result {
    __codecvt_ok = 0,
    __codecvt_partial = 1,
    __codecvt_error = 2,
    __codecvt_noconv = 3
} ;
struct _IO_FILE {
   int _flags ;
   char *_IO_read_ptr ;
   char *_IO_read_end ;
   char *_IO_read_base ;
   char *_IO_write_base ;
   char *_IO_write_ptr ;
   char *_IO_write_end ;
   char *_IO_buf_base ;
   char *_IO_buf_end ;
   char *_IO_save_base ;
   char *_IO_backup_base ;
   char *_IO_save_end ;
   struct _IO_marker *_markers ;
   struct _IO_FILE *_chain ;
   int _fileno ;
   int _flags2 ;
   __off_t _old_offset ;
   unsigned short _cur_column ;
   signed char _vtable_offset ;
   char _shortbuf[1] ;
   _IO_lock_t *_lock ;
   __off_t _offset ;
   void *__pad1 ;
   void *__pad2 ;
   void *__pad3 ;
   void *__pad4 ;
   size_t __pad5 ;
   int _mode ;
   char _unused2[(15UL * sizeof(int ) - 4UL * sizeof(void *)) - sizeof(size_t )] ;
};
typedef struct _IO_FILE _IO_FILE;
struct _IO_FILE_plus ;
typedef __ssize_t __io_read_fn(void *__cookie , char *__buf , size_t __nbytes );
typedef __ssize_t __io_write_fn(void *__cookie , char const   *__buf , size_t __n );
typedef int __io_seek_fn(void *__cookie , __off_t *__pos , int __w );
typedef int __io_close_fn(void *__cookie );
typedef __io_read_fn cookie_read_function_t;
typedef __io_write_fn cookie_write_function_t;
typedef __io_seek_fn cookie_seek_function_t;
typedef __io_close_fn cookie_close_function_t;
struct __anonstruct__IO_cookie_io_functions_t_272144172 {
   __io_read_fn *read ;
   __io_write_fn *write ;
   __io_seek_fn *seek ;
   __io_close_fn *close ;
};
typedef struct __anonstruct__IO_cookie_io_functions_t_272144172 _IO_cookie_io_functions_t;
typedef _IO_cookie_io_functions_t cookie_io_functions_t;
struct _IO_cookie_file ;
typedef __gnuc_va_list va_list;
typedef _G_fpos_t fpos_t;
typedef _G_fpos_t fpos64_t;
struct obstack ;
struct timespec {
   __time_t tv_sec ;
   __syscall_slong_t tv_nsec ;
};
typedef __time_t time_t;
typedef __dev_t dev_t;
typedef __ino64_t ino_t;
typedef __mode_t mode_t;
typedef __nlink_t nlink_t;
typedef __blkcnt64_t blkcnt_t;
typedef __blksize_t blksize_t;
struct stat {
   __dev_t st_dev ;
   __ino_t st_ino ;
   __nlink_t st_nlink ;
   __mode_t st_mode ;
   __uid_t st_uid ;
   __gid_t st_gid ;
   int __pad0 ;
   __dev_t st_rdev ;
   __off_t st_size ;
   __blksize_t st_blksize ;
   __blkcnt_t st_blocks ;
   struct timespec st_atim ;
   struct timespec st_mtim ;
   struct timespec st_ctim ;
   __syscall_slong_t __glibc_reserved[3] ;
};
struct stat64 {
   __dev_t st_dev ;
   __ino64_t st_ino ;
   __nlink_t st_nlink ;
   __mode_t st_mode ;
   __uid_t st_uid ;
   __gid_t st_gid ;
   int __pad0 ;
   __dev_t st_rdev ;
   __off_t st_size ;
   __blksize_t st_blksize ;
   __blkcnt64_t st_blocks ;
   struct timespec st_atim ;
   struct timespec st_mtim ;
   struct timespec st_ctim ;
   __syscall_slong_t __glibc_reserved[3] ;
};
struct flock {
   short l_type ;
   short l_whence ;
   __off_t l_start ;
   __off_t l_len ;
   __pid_t l_pid ;
};
struct flock64 {
   short l_type ;
   short l_whence ;
   __off_t l_start ;
   __off_t l_len ;
   __pid_t l_pid ;
};
struct iovec {
   void *iov_base ;
   size_t iov_len ;
};
enum __pid_type {
    F_OWNER_TID = 0,
    F_OWNER_PID = 1,
    F_OWNER_PGRP = 2,
    F_OWNER_GID = 2
} ;
struct f_owner_ex {
   enum __pid_type type ;
   __pid_t pid ;
};
struct file_handle {
   unsigned int handle_bytes ;
   int handle_type ;
   unsigned char f_handle[0] ;
};
enum __anonenum_idtype_t_558242672 {
    P_ALL = 0,
    P_PID = 1,
    P_PGID = 2
} ;
typedef enum __anonenum_idtype_t_558242672 idtype_t;
struct __anonstruct_div_t_773697287 {
   int quot ;
   int rem ;
};
typedef struct __anonstruct_div_t_773697287 div_t;
struct __anonstruct_ldiv_t_790849867 {
   long quot ;
   long rem ;
};
typedef struct __anonstruct_ldiv_t_790849867 ldiv_t;
struct __anonstruct_lldiv_t_103911545 {
   long long quot ;
   long long rem ;
};
typedef struct __anonstruct_lldiv_t_103911545 lldiv_t;
struct __locale_data ;
struct __locale_struct {
   struct __locale_data *__locales[13] ;
   unsigned short const   *__ctype_b ;
   int const   *__ctype_tolower ;
   int const   *__ctype_toupper ;
   char const   *__names[13] ;
};
typedef struct __locale_struct *__locale_t;
typedef __locale_t locale_t;
typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;
typedef __loff_t loff_t;
typedef __ino64_t ino64_t;
typedef __id_t id_t;
typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;
typedef __key_t key_t;
typedef __clock_t clock_t;
typedef __clockid_t clockid_t;
typedef __timer_t timer_t;
typedef __suseconds_t suseconds_t;
typedef unsigned long ulong;
typedef unsigned short ushort;
typedef unsigned int uint;
typedef __int8_t int8_t;
typedef __int16_t int16_t;
typedef __int32_t int32_t;
typedef __int64_t int64_t;
typedef unsigned char u_int8_t;
typedef unsigned short u_int16_t;
typedef unsigned int u_int32_t;
typedef unsigned long u_int64_t;
typedef int register_t;
struct __anonstruct___sigset_t_764561023 {
   unsigned long __val[1024UL / (8UL * sizeof(unsigned long ))] ;
};
typedef struct __anonstruct___sigset_t_764561023 __sigset_t;
typedef __sigset_t sigset_t;
struct timeval {
   __time_t tv_sec ;
   __suseconds_t tv_usec ;
};
typedef long __fd_mask;
struct __anonstruct_fd_set_356711149 {
   __fd_mask fds_bits[1024 / (8 * (int )sizeof(__fd_mask ))] ;
};
typedef struct __anonstruct_fd_set_356711149 fd_set;
typedef __fd_mask fd_mask;
typedef __fsblkcnt64_t fsblkcnt_t;
typedef __fsfilcnt64_t fsfilcnt_t;
typedef __blkcnt64_t blkcnt64_t;
typedef __fsblkcnt64_t fsblkcnt64_t;
typedef __fsfilcnt64_t fsfilcnt64_t;
struct __pthread_rwlock_arch_t {
   unsigned int __readers ;
   unsigned int __writers ;
   unsigned int __wrphase_futex ;
   unsigned int __writers_futex ;
   unsigned int __pad3 ;
   unsigned int __pad4 ;
   int __cur_writer ;
   int __shared ;
   signed char __rwelision ;
   unsigned char __pad1[7] ;
   unsigned long __pad2 ;
   unsigned int __flags ;
};
struct __pthread_internal_list {
   struct __pthread_internal_list *__prev ;
   struct __pthread_internal_list *__next ;
};
typedef struct __pthread_internal_list __pthread_list_t;
struct __pthread_mutex_s {
   int __lock ;
   unsigned int __count ;
   int __owner ;
   unsigned int __nusers ;
   int __kind ;
   short __spins ;
   short __elision ;
   __pthread_list_t __list ;
};
struct __anonstruct___wseq32_817613185 {
   unsigned int __low ;
   unsigned int __high ;
};
union __anonunion____missing_field_name_429579664 {
   unsigned long long __wseq ;
   struct __anonstruct___wseq32_817613185 __wseq32 ;
};
struct __anonstruct___g1_start32_817613186 {
   unsigned int __low ;
   unsigned int __high ;
};
union __anonunion____missing_field_name_487648228 {
   unsigned long long __g1_start ;
   struct __anonstruct___g1_start32_817613186 __g1_start32 ;
};
struct __pthread_cond_s {
   union __anonunion____missing_field_name_429579664 __annonCompField1 ;
   union __anonunion____missing_field_name_487648228 __annonCompField2 ;
   unsigned int __g_refs[2] ;
   unsigned int __g_size[2] ;
   unsigned int __g1_orig_size ;
   unsigned int __wrefs ;
   unsigned int __g_signals[2] ;
};
typedef unsigned long pthread_t;
union __anonunion_pthread_mutexattr_t_488594144 {
   char __size[4] ;
   int __align ;
};
typedef union __anonunion_pthread_mutexattr_t_488594144 pthread_mutexattr_t;
union __anonunion_pthread_condattr_t_488594145 {
   char __size[4] ;
   int __align ;
};
typedef union __anonunion_pthread_condattr_t_488594145 pthread_condattr_t;
typedef unsigned int pthread_key_t;
typedef int pthread_once_t;
union pthread_attr_t {
   char __size[56] ;
   long __align ;
};
typedef union pthread_attr_t pthread_attr_t;
union __anonunion_pthread_mutex_t_335460617 {
   struct __pthread_mutex_s __data ;
   char __size[40] ;
   long __align ;
};
typedef union __anonunion_pthread_mutex_t_335460617 pthread_mutex_t;
union __anonunion_pthread_cond_t_951761805 {
   struct __pthread_cond_s __data ;
   char __size[48] ;
   long long __align ;
};
typedef union __anonunion_pthread_cond_t_951761805 pthread_cond_t;
union __anonunion_pthread_rwlock_t_656928968 {
   struct __pthread_rwlock_arch_t __data ;
   char __size[56] ;
   long __align ;
};
typedef union __anonunion_pthread_rwlock_t_656928968 pthread_rwlock_t;
union __anonunion_pthread_rwlockattr_t_145707745 {
   char __size[8] ;
   long __align ;
};
typedef union __anonunion_pthread_rwlockattr_t_145707745 pthread_rwlockattr_t;
typedef int volatile   pthread_spinlock_t;
union __anonunion_pthread_barrier_t_145707746 {
   char __size[32] ;
   long __align ;
};
typedef union __anonunion_pthread_barrier_t_145707746 pthread_barrier_t;
union __anonunion_pthread_barrierattr_t_951761806 {
   char __size[4] ;
   int __align ;
};
typedef union __anonunion_pthread_barrierattr_t_951761806 pthread_barrierattr_t;
struct random_data {
   int32_t *fptr ;
   int32_t *rptr ;
   int32_t *state ;
   int rand_type ;
   int rand_deg ;
   int rand_sep ;
   int32_t *end_ptr ;
};
struct drand48_data {
   unsigned short __x[3] ;
   unsigned short __old_x[3] ;
   unsigned short __c ;
   unsigned short __init ;
   unsigned long long __a ;
};
typedef int (*__compar_fn_t)(void const   * , void const   * );
typedef int (*comparison_fn_t)(void const   * , void const   * );
typedef int (*__compar_d_fn_t)(void const   * , void const   * , void * );
typedef int error_t;
struct dirent {
   __ino64_t d_ino ;
   __off_t d_off ;
   unsigned short d_reclen ;
   unsigned char d_type ;
   char d_name[256] ;
};
struct dirent64 {
   __ino64_t d_ino ;
   __off_t d_off ;
   unsigned short d_reclen ;
   unsigned char d_type ;
   char d_name[256] ;
};
enum __anonenum_513775621 {
    DT_UNKNOWN = 0,
    DT_FIFO = 1,
    DT_CHR = 2,
    DT_DIR = 4,
    DT_BLK = 6,
    DT_REG = 8,
    DT_LNK = 10,
    DT_SOCK = 12,
    DT_WHT = 14
} ;
struct __dirstream ;
typedef struct __dirstream DIR;
struct timezone {
   int tz_minuteswest ;
   int tz_dsttime ;
};
typedef struct timezone * __restrict  __timezone_ptr_t;
enum __itimer_which {
    ITIMER_REAL = 0,
    ITIMER_VIRTUAL = 1,
    ITIMER_PROF = 2
} ;
struct itimerval {
   struct timeval it_interval ;
   struct timeval it_value ;
};
typedef enum __itimer_which __itimer_which_t;
struct timex {
   unsigned int modes ;
   __syscall_slong_t offset ;
   __syscall_slong_t freq ;
   __syscall_slong_t maxerror ;
   __syscall_slong_t esterror ;
   int status ;
   __syscall_slong_t constant ;
   __syscall_slong_t precision ;
   __syscall_slong_t tolerance ;
   struct timeval time ;
   __syscall_slong_t tick ;
   __syscall_slong_t ppsfreq ;
   __syscall_slong_t jitter ;
   int shift ;
   __syscall_slong_t stabil ;
   __syscall_slong_t jitcnt ;
   __syscall_slong_t calcnt ;
   __syscall_slong_t errcnt ;
   __syscall_slong_t stbcnt ;
   int tai ;
   int  : 32 ;
   int  : 32 ;
   int  : 32 ;
   int  : 32 ;
   int  : 32 ;
   int  : 32 ;
   int  : 32 ;
   int  : 32 ;
   int  : 32 ;
   int  : 32 ;
   int  : 32 ;
};
struct tm {
   int tm_sec ;
   int tm_min ;
   int tm_hour ;
   int tm_mday ;
   int tm_mon ;
   int tm_year ;
   int tm_wday ;
   int tm_yday ;
   int tm_isdst ;
   long tm_gmtoff ;
   char const   *tm_zone ;
};
struct itimerspec {
   struct timespec it_interval ;
   struct timespec it_value ;
};
struct sigevent ;
typedef __sig_atomic_t sig_atomic_t;
union sigval {
   int sival_int ;
   void *sival_ptr ;
};
typedef union sigval __sigval_t;
struct __anonstruct__kill_244518854 {
   __pid_t si_pid ;
   __uid_t si_uid ;
};
struct __anonstruct__timer_490064738 {
   int si_tid ;
   int si_overrun ;
   __sigval_t si_sigval ;
};
struct __anonstruct__rt_619254530 {
   __pid_t si_pid ;
   __uid_t si_uid ;
   __sigval_t si_sigval ;
};
struct __anonstruct__sigchld_284671705 {
   __pid_t si_pid ;
   __uid_t si_uid ;
   int si_status ;
   __clock_t si_utime ;
   __clock_t si_stime ;
};
struct __anonstruct__addr_bnd_5259977 {
   void *_lower ;
   void *_upper ;
};
union __anonunion__bounds_749802169 {
   struct __anonstruct__addr_bnd_5259977 _addr_bnd ;
   __uint32_t _pkey ;
};
struct __anonstruct__sigfault_47991091 {
   void *si_addr ;
   short si_addr_lsb ;
   union __anonunion__bounds_749802169 _bounds ;
};
struct __anonstruct__sigpoll_386613454 {
   long si_band ;
   int si_fd ;
};
struct __anonstruct__sigsys_634745154 {
   void *_call_addr ;
   int _syscall ;
   unsigned int _arch ;
};
union __anonunion__sifields_1005100280 {
   int _pad[128UL / sizeof(int ) - 4UL] ;
   struct __anonstruct__kill_244518854 _kill ;
   struct __anonstruct__timer_490064738 _timer ;
   struct __anonstruct__rt_619254530 _rt ;
   struct __anonstruct__sigchld_284671705 _sigchld ;
   struct __anonstruct__sigfault_47991091 _sigfault ;
   struct __anonstruct__sigpoll_386613454 _sigpoll ;
   struct __anonstruct__sigsys_634745154 _sigsys ;
};
struct __anonstruct_siginfo_t_26754922 {
   int si_signo ;
   int si_errno ;
   int si_code ;
   int __pad0 ;
   union __anonunion__sifields_1005100280 _sifields ;
};
typedef struct __anonstruct_siginfo_t_26754922 siginfo_t;
enum __anonenum_77002343 {
    SI_ASYNCNL = -60,
    SI_TKILL = -6,
    SI_SIGIO = -5,
    SI_ASYNCIO = -4,
    SI_MESGQ = -3,
    SI_TIMER = -2,
    SI_QUEUE = -1,
    SI_USER = 0,
    SI_KERNEL = 128
} ;
enum __anonenum_131038172 {
    ILL_ILLOPC = 1,
    ILL_ILLOPN = 2,
    ILL_ILLADR = 3,
    ILL_ILLTRP = 4,
    ILL_PRVOPC = 5,
    ILL_PRVREG = 6,
    ILL_COPROC = 7,
    ILL_BADSTK = 8
} ;
enum __anonenum_452038093 {
    FPE_INTDIV = 1,
    FPE_INTOVF = 2,
    FPE_FLTDIV = 3,
    FPE_FLTOVF = 4,
    FPE_FLTUND = 5,
    FPE_FLTRES = 6,
    FPE_FLTINV = 7,
    FPE_FLTSUB = 8
} ;
enum __anonenum_30976155 {
    SEGV_MAPERR = 1,
    SEGV_ACCERR = 2,
    SEGV_BNDERR = 3,
    SEGV_PKUERR = 4
} ;
enum __anonenum_1036286214 {
    BUS_ADRALN = 1,
    BUS_ADRERR = 2,
    BUS_OBJERR = 3,
    BUS_MCEERR_AR = 4,
    BUS_MCEERR_AO = 5
} ;
enum __anonenum_493465559 {
    TRAP_BRKPT = 1,
    TRAP_TRACE = 2
} ;
enum __anonenum_23175539 {
    CLD_EXITED = 1,
    CLD_KILLED = 2,
    CLD_DUMPED = 3,
    CLD_TRAPPED = 4,
    CLD_STOPPED = 5,
    CLD_CONTINUED = 6
} ;
enum __anonenum_111643124 {
    POLL_IN = 1,
    POLL_OUT = 2,
    POLL_MSG = 3,
    POLL_ERR = 4,
    POLL_PRI = 5,
    POLL_HUP = 6
} ;
typedef __sigval_t sigval_t;
struct __anonstruct__sigev_thread_746770901 {
   void (*_function)(__sigval_t  ) ;
   pthread_attr_t *_attribute ;
};
union __anonunion__sigev_un_519781512 {
   int _pad[64UL / sizeof(int ) - 4UL] ;
   __pid_t _tid ;
   struct __anonstruct__sigev_thread_746770901 _sigev_thread ;
};
struct sigevent {
   __sigval_t sigev_value ;
   int sigev_signo ;
   int sigev_notify ;
   union __anonunion__sigev_un_519781512 _sigev_un ;
};
typedef struct sigevent sigevent_t;
enum __anonenum_852341087 {
    SIGEV_SIGNAL = 0,
    SIGEV_NONE = 1,
    SIGEV_THREAD = 2,
    SIGEV_THREAD_ID = 4
} ;
typedef void (*__sighandler_t)(int  );
typedef void (*sighandler_t)(int  );
typedef void (*sig_t)(int  );
union __anonunion___sigaction_handler_363639592 {
   void (*sa_handler)(int  ) ;
   void (*sa_sigaction)(int  , siginfo_t * , void * ) ;
};
struct sigaction {
   union __anonunion___sigaction_handler_363639592 __sigaction_handler ;
   __sigset_t sa_mask ;
   int sa_flags ;
   void (*sa_restorer)(void) ;
};
struct _fpx_sw_bytes {
   __uint32_t magic1 ;
   __uint32_t extended_size ;
   __uint64_t xstate_bv ;
   __uint32_t xstate_size ;
   __uint32_t __glibc_reserved1[7] ;
};
struct _fpreg {
   unsigned short significand[4] ;
   unsigned short exponent ;
};
struct _fpxreg {
   unsigned short significand[4] ;
   unsigned short exponent ;
   unsigned short __glibc_reserved1[3] ;
};
struct _xmmreg {
   __uint32_t element[4] ;
};
struct _fpstate {
   __uint16_t cwd ;
   __uint16_t swd ;
   __uint16_t ftw ;
   __uint16_t fop ;
   __uint64_t rip ;
   __uint64_t rdp ;
   __uint32_t mxcsr ;
   __uint32_t mxcr_mask ;
   struct _fpxreg _st[8] ;
   struct _xmmreg _xmm[16] ;
   __uint32_t __glibc_reserved1[24] ;
};
union __anonunion____missing_field_name_501150464 {
   struct _fpstate *fpstate ;
   __uint64_t __fpstate_word ;
};
struct sigcontext {
   __uint64_t r8 ;
   __uint64_t r9 ;
   __uint64_t r10 ;
   __uint64_t r11 ;
   __uint64_t r12 ;
   __uint64_t r13 ;
   __uint64_t r14 ;
   __uint64_t r15 ;
   __uint64_t rdi ;
   __uint64_t rsi ;
   __uint64_t rbp ;
   __uint64_t rbx ;
   __uint64_t rdx ;
   __uint64_t rax ;
   __uint64_t rcx ;
   __uint64_t rsp ;
   __uint64_t rip ;
   __uint64_t eflags ;
   unsigned short cs ;
   unsigned short gs ;
   unsigned short fs ;
   unsigned short __pad0 ;
   __uint64_t err ;
   __uint64_t trapno ;
   __uint64_t oldmask ;
   __uint64_t cr2 ;
   union __anonunion____missing_field_name_501150464 __annonCompField3 ;
   __uint64_t __reserved1[8] ;
};
struct _xsave_hdr {
   __uint64_t xstate_bv ;
   __uint64_t __glibc_reserved1[2] ;
   __uint64_t __glibc_reserved2[5] ;
};
struct _ymmh_state {
   __uint32_t ymmh_space[64] ;
};
struct _xstate {
   struct _fpstate fpstate ;
   struct _xsave_hdr xstate_hdr ;
   struct _ymmh_state ymmh ;
};
struct __anonstruct_stack_t_648343364 {
   void *ss_sp ;
   int ss_flags ;
   size_t ss_size ;
};
typedef struct __anonstruct_stack_t_648343364 stack_t;
typedef long long greg_t;
typedef greg_t gregset_t[23];
enum __anonenum_451154152 {
    REG_R8 = 0,
    REG_R9 = 1,
    REG_R10 = 2,
    REG_R11 = 3,
    REG_R12 = 4,
    REG_R13 = 5,
    REG_R14 = 6,
    REG_R15 = 7,
    REG_RDI = 8,
    REG_RSI = 9,
    REG_RBP = 10,
    REG_RBX = 11,
    REG_RDX = 12,
    REG_RAX = 13,
    REG_RCX = 14,
    REG_RSP = 15,
    REG_RIP = 16,
    REG_EFL = 17,
    REG_CSGSFS = 18,
    REG_ERR = 19,
    REG_TRAPNO = 20,
    REG_OLDMASK = 21,
    REG_CR2 = 22
} ;
struct _libc_fpxreg {
   unsigned short significand[4] ;
   unsigned short exponent ;
   unsigned short __glibc_reserved1[3] ;
};
struct _libc_xmmreg {
   __uint32_t element[4] ;
};
struct _libc_fpstate {
   __uint16_t cwd ;
   __uint16_t swd ;
   __uint16_t ftw ;
   __uint16_t fop ;
   __uint64_t rip ;
   __uint64_t rdp ;
   __uint32_t mxcsr ;
   __uint32_t mxcr_mask ;
   struct _libc_fpxreg _st[8] ;
   struct _libc_xmmreg _xmm[16] ;
   __uint32_t __glibc_reserved1[24] ;
};
typedef struct _libc_fpstate *fpregset_t;
struct __anonstruct_mcontext_t_5268627 {
   gregset_t gregs ;
   fpregset_t fpregs ;
   unsigned long long __reserved1[8] ;
};
typedef struct __anonstruct_mcontext_t_5268627 mcontext_t;
struct ucontext_t {
   unsigned long uc_flags ;
   struct ucontext_t *uc_link ;
   stack_t uc_stack ;
   mcontext_t uc_mcontext ;
   sigset_t uc_sigmask ;
   struct _libc_fpstate __fpregs_mem ;
};
typedef struct ucontext_t ucontext_t;
enum __anonenum_57186863 {
    SS_ONSTACK = 1,
    SS_DISABLE = 2
} ;
struct sigstack {
   void *ss_sp ;
   int ss_onstack ;
};
typedef long s_reg_t;
typedef unsigned long active_reg_t;
typedef unsigned long reg_syntax_t;
enum __anonenum_reg_errcode_t_784080967 {
    REG_ENOSYS = -1,
    REG_NOERROR = 0,
    REG_NOMATCH = 1,
    REG_BADPAT = 2,
    REG_ECOLLATE = 3,
    REG_ECTYPE = 4,
    REG_EESCAPE = 5,
    REG_ESUBREG = 6,
    REG_EBRACK = 7,
    REG_EPAREN = 8,
    REG_EBRACE = 9,
    REG_BADBR = 10,
    REG_ERANGE = 11,
    REG_ESPACE = 12,
    REG_BADRPT = 13,
    REG_EEND = 14,
    REG_ESIZE = 15,
    REG_ERPAREN = 16
} ;
typedef enum __anonenum_reg_errcode_t_784080967 reg_errcode_t;
struct re_pattern_buffer {
   unsigned char *buffer ;
   unsigned long allocated ;
   unsigned long used ;
   reg_syntax_t syntax ;
   char *fastmap ;
   unsigned char *translate ;
   size_t re_nsub ;
   unsigned int can_be_null : 1 ;
   unsigned int regs_allocated : 2 ;
   unsigned int fastmap_accurate : 1 ;
   unsigned int no_sub : 1 ;
   unsigned int not_bol : 1 ;
   unsigned int not_eol : 1 ;
   unsigned int newline_anchor : 1 ;
};
typedef struct re_pattern_buffer regex_t;
typedef int regoff_t;
struct re_registers {
   unsigned int num_regs ;
   regoff_t *start ;
   regoff_t *end ;
};
struct __anonstruct_regmatch_t_1035675074 {
   regoff_t rm_so ;
   regoff_t rm_eo ;
};
typedef struct __anonstruct_regmatch_t_1035675074 regmatch_t;
struct utimbuf {
   __time_t actime ;
   __time_t modtime ;
};
typedef unsigned long nfds_t;
struct pollfd {
   int fd ;
   short events ;
   short revents ;
};
struct utsname {
   char sysname[65] ;
   char nodename[65] ;
   char release[65] ;
   char version[65] ;
   char machine[65] ;
   char domainname[65] ;
};
struct rusage ;
enum __rlimit_resource {
    RLIMIT_CPU = 0,
    RLIMIT_FSIZE = 1,
    RLIMIT_DATA = 2,
    RLIMIT_STACK = 3,
    RLIMIT_CORE = 4,
    __RLIMIT_RSS = 5,
    RLIMIT_NOFILE = 7,
    __RLIMIT_OFILE = 7,
    RLIMIT_AS = 9,
    __RLIMIT_NPROC = 6,
    __RLIMIT_MEMLOCK = 8,
    __RLIMIT_LOCKS = 10,
    __RLIMIT_SIGPENDING = 11,
    __RLIMIT_MSGQUEUE = 12,
    __RLIMIT_NICE = 13,
    __RLIMIT_RTPRIO = 14,
    __RLIMIT_RTTIME = 15,
    __RLIMIT_NLIMITS = 16,
    __RLIM_NLIMITS = 16
} ;
typedef __rlim64_t rlim_t;
typedef __rlim64_t rlim64_t;
struct rlimit {
   rlim_t rlim_cur ;
   rlim_t rlim_max ;
};
struct rlimit64 {
   rlim64_t rlim_cur ;
   rlim64_t rlim_max ;
};
enum __rusage_who {
    RUSAGE_SELF = 0,
    RUSAGE_CHILDREN = -1,
    RUSAGE_THREAD = 1
} ;
union __anonunion____missing_field_name_1036346496 {
   long ru_maxrss ;
   __syscall_slong_t __ru_maxrss_word ;
};
union __anonunion____missing_field_name_1036346497 {
   long ru_ixrss ;
   __syscall_slong_t __ru_ixrss_word ;
};
union __anonunion____missing_field_name_1036346498 {
   long ru_idrss ;
   __syscall_slong_t __ru_idrss_word ;
};
union __anonunion____missing_field_name_1036346499 {
   long ru_isrss ;
   __syscall_slong_t __ru_isrss_word ;
};
union __anonunion____missing_field_name_1036346500 {
   long ru_minflt ;
   __syscall_slong_t __ru_minflt_word ;
};
union __anonunion____missing_field_name_1036346501 {
   long ru_majflt ;
   __syscall_slong_t __ru_majflt_word ;
};
union __anonunion____missing_field_name_1036346502 {
   long ru_nswap ;
   __syscall_slong_t __ru_nswap_word ;
};
union __anonunion____missing_field_name_1036346503 {
   long ru_inblock ;
   __syscall_slong_t __ru_inblock_word ;
};
union __anonunion____missing_field_name_1036346504 {
   long ru_oublock ;
   __syscall_slong_t __ru_oublock_word ;
};
union __anonunion____missing_field_name_1036346505 {
   long ru_msgsnd ;
   __syscall_slong_t __ru_msgsnd_word ;
};
union __anonunion____missing_field_name_1036346506 {
   long ru_msgrcv ;
   __syscall_slong_t __ru_msgrcv_word ;
};
union __anonunion____missing_field_name_1036346507 {
   long ru_nsignals ;
   __syscall_slong_t __ru_nsignals_word ;
};
union __anonunion____missing_field_name_1036346508 {
   long ru_nvcsw ;
   __syscall_slong_t __ru_nvcsw_word ;
};
union __anonunion____missing_field_name_1036346509 {
   long ru_nivcsw ;
   __syscall_slong_t __ru_nivcsw_word ;
};
struct rusage {
   struct timeval ru_utime ;
   struct timeval ru_stime ;
   union __anonunion____missing_field_name_1036346496 __annonCompField4 ;
   union __anonunion____missing_field_name_1036346497 __annonCompField5 ;
   union __anonunion____missing_field_name_1036346498 __annonCompField6 ;
   union __anonunion____missing_field_name_1036346499 __annonCompField7 ;
   union __anonunion____missing_field_name_1036346500 __annonCompField8 ;
   union __anonunion____missing_field_name_1036346501 __annonCompField9 ;
   union __anonunion____missing_field_name_1036346502 __annonCompField10 ;
   union __anonunion____missing_field_name_1036346503 __annonCompField11 ;
   union __anonunion____missing_field_name_1036346504 __annonCompField12 ;
   union __anonunion____missing_field_name_1036346505 __annonCompField13 ;
   union __anonunion____missing_field_name_1036346506 __annonCompField14 ;
   union __anonunion____missing_field_name_1036346507 __annonCompField15 ;
   union __anonunion____missing_field_name_1036346508 __annonCompField16 ;
   union __anonunion____missing_field_name_1036346509 __annonCompField17 ;
};
enum __priority_which {
    PRIO_PROCESS = 0,
    PRIO_PGRP = 1,
    PRIO_USER = 2
} ;
typedef enum __rlimit_resource __rlimit_resource_t;
typedef enum __rusage_who __rusage_who_t;
typedef enum __priority_which __priority_which_t;
enum __socket_type {
    SOCK_STREAM = 1,
    SOCK_DGRAM = 2,
    SOCK_RAW = 3,
    SOCK_RDM = 4,
    SOCK_SEQPACKET = 5,
    SOCK_DCCP = 6,
    SOCK_PACKET = 10,
    SOCK_CLOEXEC = 524288,
    SOCK_NONBLOCK = 2048
} ;
typedef unsigned short sa_family_t;
struct sockaddr {
   sa_family_t sa_family ;
   char sa_data[14] ;
};
struct sockaddr_storage {
   sa_family_t ss_family ;
   char __ss_padding[(128UL - sizeof(unsigned short )) - sizeof(unsigned long )] ;
   unsigned long __ss_align ;
};
enum __anonenum_83571709 {
    MSG_OOB = 1,
    MSG_PEEK = 2,
    MSG_DONTROUTE = 4,
    MSG_TRYHARD = 4,
    MSG_CTRUNC = 8,
    MSG_PROXY = 16,
    MSG_TRUNC = 32,
    MSG_DONTWAIT = 64,
    MSG_EOR = 128,
    MSG_WAITALL = 256,
    MSG_FIN = 512,
    MSG_SYN = 1024,
    MSG_CONFIRM = 2048,
    MSG_RST = 4096,
    MSG_ERRQUEUE = 8192,
    MSG_NOSIGNAL = 16384,
    MSG_MORE = 32768,
    MSG_WAITFORONE = 65536,
    MSG_BATCH = 262144,
    MSG_ZEROCOPY = 67108864,
    MSG_FASTOPEN = 536870912,
    MSG_CMSG_CLOEXEC = 1073741824
} ;
struct msghdr {
   void *msg_name ;
   socklen_t msg_namelen ;
   struct iovec *msg_iov ;
   size_t msg_iovlen ;
   void *msg_control ;
   size_t msg_controllen ;
   int msg_flags ;
};
struct cmsghdr {
   size_t cmsg_len ;
   int cmsg_level ;
   int cmsg_type ;
   unsigned char __cmsg_data[] ;
};
enum __anonenum_617082774 {
    SCM_RIGHTS = 1,
    SCM_CREDENTIALS = 2
} ;
struct ucred {
   pid_t pid ;
   uid_t uid ;
   gid_t gid ;
};
struct linger {
   int l_onoff ;
   int l_linger ;
};
struct osockaddr {
   unsigned short sa_family ;
   unsigned char sa_data[14] ;
};
enum __anonenum_606441560 {
    SHUT_RD = 0,
    SHUT_WR = 1,
    SHUT_RDWR = 2
} ;
struct sockaddr_at ;
struct sockaddr_ax25 ;
struct sockaddr_dl ;
struct sockaddr_eon ;
struct sockaddr_in ;
struct sockaddr_in6 ;
struct sockaddr_inarp ;
struct sockaddr_ipx ;
struct sockaddr_iso ;
struct sockaddr_ns ;
struct sockaddr_un ;
struct sockaddr_x25 ;
union __anonunion___SOCKADDR_ARG_627422263 {
   struct sockaddr * __restrict  __sockaddr__ ;
   struct sockaddr_at * __restrict  __sockaddr_at__ ;
   struct sockaddr_ax25 * __restrict  __sockaddr_ax25__ ;
   struct sockaddr_dl * __restrict  __sockaddr_dl__ ;
   struct sockaddr_eon * __restrict  __sockaddr_eon__ ;
   struct sockaddr_in * __restrict  __sockaddr_in__ ;
   struct sockaddr_in6 * __restrict  __sockaddr_in6__ ;
   struct sockaddr_inarp * __restrict  __sockaddr_inarp__ ;
   struct sockaddr_ipx * __restrict  __sockaddr_ipx__ ;
   struct sockaddr_iso * __restrict  __sockaddr_iso__ ;
   struct sockaddr_ns * __restrict  __sockaddr_ns__ ;
   struct sockaddr_un * __restrict  __sockaddr_un__ ;
   struct sockaddr_x25 * __restrict  __sockaddr_x25__ ;
};
typedef union __anonunion___SOCKADDR_ARG_627422263  __attribute__((__transparent_union__)) __SOCKADDR_ARG;
union __anonunion___CONST_SOCKADDR_ARG_307618866 {
   struct sockaddr  const  * __restrict  __sockaddr__ ;
   struct sockaddr_at  const  * __restrict  __sockaddr_at__ ;
   struct sockaddr_ax25  const  * __restrict  __sockaddr_ax25__ ;
   struct sockaddr_dl  const  * __restrict  __sockaddr_dl__ ;
   struct sockaddr_eon  const  * __restrict  __sockaddr_eon__ ;
   struct sockaddr_in  const  * __restrict  __sockaddr_in__ ;
   struct sockaddr_in6  const  * __restrict  __sockaddr_in6__ ;
   struct sockaddr_inarp  const  * __restrict  __sockaddr_inarp__ ;
   struct sockaddr_ipx  const  * __restrict  __sockaddr_ipx__ ;
   struct sockaddr_iso  const  * __restrict  __sockaddr_iso__ ;
   struct sockaddr_ns  const  * __restrict  __sockaddr_ns__ ;
   struct sockaddr_un  const  * __restrict  __sockaddr_un__ ;
   struct sockaddr_x25  const  * __restrict  __sockaddr_x25__ ;
};
typedef union __anonunion___CONST_SOCKADDR_ARG_307618866  __attribute__((__transparent_union__)) __CONST_SOCKADDR_ARG;
struct mmsghdr {
   struct msghdr msg_hdr ;
   unsigned int msg_len ;
};
struct winsize {
   unsigned short ws_row ;
   unsigned short ws_col ;
   unsigned short ws_xpixel ;
   unsigned short ws_ypixel ;
};
struct termio {
   unsigned short c_iflag ;
   unsigned short c_oflag ;
   unsigned short c_cflag ;
   unsigned short c_lflag ;
   unsigned char c_line ;
   unsigned char c_cc[8] ;
};
typedef unsigned char cc_t;
typedef unsigned int speed_t;
typedef unsigned int tcflag_t;
struct termios {
   tcflag_t c_iflag ;
   tcflag_t c_oflag ;
   tcflag_t c_cflag ;
   tcflag_t c_lflag ;
   cc_t c_line ;
   cc_t c_cc[32] ;
   speed_t c_ispeed ;
   speed_t c_ospeed ;
};
typedef __uint8_t uint8_t;
typedef __uint16_t uint16_t;
typedef __uint32_t uint32_t;
typedef __uint64_t uint64_t;
typedef uint32_t in_addr_t;
struct in_addr {
   in_addr_t s_addr ;
};
struct ip_opts {
   struct in_addr ip_dst ;
   char ip_opts[40] ;
};
struct ip_mreqn {
   struct in_addr imr_multiaddr ;
   struct in_addr imr_address ;
   int imr_ifindex ;
};
struct in_pktinfo {
   int ipi_ifindex ;
   struct in_addr ipi_spec_dst ;
   struct in_addr ipi_addr ;
};
enum __anonenum_681669233 {
    IPPROTO_IP = 0,
    IPPROTO_ICMP = 1,
    IPPROTO_IGMP = 2,
    IPPROTO_IPIP = 4,
    IPPROTO_TCP = 6,
    IPPROTO_EGP = 8,
    IPPROTO_PUP = 12,
    IPPROTO_UDP = 17,
    IPPROTO_IDP = 22,
    IPPROTO_TP = 29,
    IPPROTO_DCCP = 33,
    IPPROTO_IPV6 = 41,
    IPPROTO_RSVP = 46,
    IPPROTO_GRE = 47,
    IPPROTO_ESP = 50,
    IPPROTO_AH = 51,
    IPPROTO_MTP = 92,
    IPPROTO_BEETPH = 94,
    IPPROTO_ENCAP = 98,
    IPPROTO_PIM = 103,
    IPPROTO_COMP = 108,
    IPPROTO_SCTP = 132,
    IPPROTO_UDPLITE = 136,
    IPPROTO_MPLS = 137,
    IPPROTO_RAW = 255,
    IPPROTO_MAX = 256
} ;
enum __anonenum_218739988 {
    IPPROTO_HOPOPTS = 0,
    IPPROTO_ROUTING = 43,
    IPPROTO_FRAGMENT = 44,
    IPPROTO_ICMPV6 = 58,
    IPPROTO_NONE = 59,
    IPPROTO_DSTOPTS = 60,
    IPPROTO_MH = 135
} ;
typedef uint16_t in_port_t;
enum __anonenum_662268580 {
    IPPORT_ECHO = 7,
    IPPORT_DISCARD = 9,
    IPPORT_SYSTAT = 11,
    IPPORT_DAYTIME = 13,
    IPPORT_NETSTAT = 15,
    IPPORT_FTP = 21,
    IPPORT_TELNET = 23,
    IPPORT_SMTP = 25,
    IPPORT_TIMESERVER = 37,
    IPPORT_NAMESERVER = 42,
    IPPORT_WHOIS = 43,
    IPPORT_MTP = 57,
    IPPORT_TFTP = 69,
    IPPORT_RJE = 77,
    IPPORT_FINGER = 79,
    IPPORT_TTYLINK = 87,
    IPPORT_SUPDUP = 95,
    IPPORT_EXECSERVER = 512,
    IPPORT_LOGINSERVER = 513,
    IPPORT_CMDSERVER = 514,
    IPPORT_EFSSERVER = 520,
    IPPORT_BIFFUDP = 512,
    IPPORT_WHOSERVER = 513,
    IPPORT_ROUTESERVER = 520,
    IPPORT_RESERVED = 1024,
    IPPORT_USERRESERVED = 5000
} ;
union __anonunion___in6_u_979734923 {
   uint8_t __u6_addr8[16] ;
   uint16_t __u6_addr16[8] ;
   uint32_t __u6_addr32[4] ;
};
struct in6_addr {
   union __anonunion___in6_u_979734923 __in6_u ;
};
struct sockaddr_in {
   sa_family_t sin_family ;
   in_port_t sin_port ;
   struct in_addr sin_addr ;
   unsigned char sin_zero[((sizeof(struct sockaddr ) - sizeof(unsigned short )) - sizeof(in_port_t )) - sizeof(struct in_addr )] ;
};
struct sockaddr_in6 {
   sa_family_t sin6_family ;
   in_port_t sin6_port ;
   uint32_t sin6_flowinfo ;
   struct in6_addr sin6_addr ;
   uint32_t sin6_scope_id ;
};
struct ip_mreq {
   struct in_addr imr_multiaddr ;
   struct in_addr imr_interface ;
};
struct ip_mreq_source {
   struct in_addr imr_multiaddr ;
   struct in_addr imr_interface ;
   struct in_addr imr_sourceaddr ;
};
struct ipv6_mreq {
   struct in6_addr ipv6mr_multiaddr ;
   unsigned int ipv6mr_interface ;
};
struct group_req {
   uint32_t gr_interface ;
   struct sockaddr_storage gr_group ;
};
struct group_source_req {
   uint32_t gsr_interface ;
   struct sockaddr_storage gsr_group ;
   struct sockaddr_storage gsr_source ;
};
struct ip_msfilter {
   struct in_addr imsf_multiaddr ;
   struct in_addr imsf_interface ;
   uint32_t imsf_fmode ;
   uint32_t imsf_numsrc ;
   struct in_addr imsf_slist[1] ;
};
struct group_filter {
   uint32_t gf_interface ;
   struct sockaddr_storage gf_group ;
   uint32_t gf_fmode ;
   uint32_t gf_numsrc ;
   struct sockaddr_storage gf_slist[1] ;
};
struct in6_pktinfo {
   struct in6_addr ipi6_addr ;
   unsigned int ipi6_ifindex ;
};
struct ip6_mtuinfo {
   struct sockaddr_in6 ip6m_addr ;
   uint32_t ip6m_mtu ;
};
typedef signed char int_least8_t;
typedef short int_least16_t;
typedef int int_least32_t;
typedef long int_least64_t;
typedef unsigned char uint_least8_t;
typedef unsigned short uint_least16_t;
typedef unsigned int uint_least32_t;
typedef unsigned long uint_least64_t;
typedef signed char int_fast8_t;
typedef long int_fast16_t;
typedef long int_fast32_t;
typedef long int_fast64_t;
typedef unsigned char uint_fast8_t;
typedef unsigned long uint_fast16_t;
typedef unsigned long uint_fast32_t;
typedef unsigned long uint_fast64_t;
typedef unsigned long uintptr_t;
typedef __intmax_t intmax_t;
typedef __uintmax_t uintmax_t;
typedef uint32_t tcp_seq;
struct __anonstruct____missing_field_name_112923541 {
   uint16_t th_sport ;
   uint16_t th_dport ;
   tcp_seq th_seq ;
   tcp_seq th_ack ;
   uint8_t th_x2 : 4 ;
   uint8_t th_off : 4 ;
   uint8_t th_flags ;
   uint16_t th_win ;
   uint16_t th_sum ;
   uint16_t th_urp ;
};
struct __anonstruct____missing_field_name_1013361302 {
   uint16_t source ;
   uint16_t dest ;
   uint32_t seq ;
   uint32_t ack_seq ;
   uint16_t res1 : 4 ;
   uint16_t doff : 4 ;
   uint16_t fin : 1 ;
   uint16_t syn : 1 ;
   uint16_t rst : 1 ;
   uint16_t psh : 1 ;
   uint16_t ack : 1 ;
   uint16_t urg : 1 ;
   uint16_t res2 : 2 ;
   uint16_t window ;
   uint16_t check ;
   uint16_t urg_ptr ;
};
union __anonunion____missing_field_name_823257165 {
   struct __anonstruct____missing_field_name_112923541 __annonCompField18 ;
   struct __anonstruct____missing_field_name_1013361302 __annonCompField19 ;
};
struct tcphdr {
   union __anonunion____missing_field_name_823257165 __annonCompField20 ;
};
enum __anonenum_788308992 {
    TCP_ESTABLISHED = 1,
    TCP_SYN_SENT = 2,
    TCP_SYN_RECV = 3,
    TCP_FIN_WAIT1 = 4,
    TCP_FIN_WAIT2 = 5,
    TCP_TIME_WAIT = 6,
    TCP_CLOSE = 7,
    TCP_CLOSE_WAIT = 8,
    TCP_LAST_ACK = 9,
    TCP_LISTEN = 10,
    TCP_CLOSING = 11
} ;
enum tcp_ca_state {
    TCP_CA_Open = 0,
    TCP_CA_Disorder = 1,
    TCP_CA_CWR = 2,
    TCP_CA_Recovery = 3,
    TCP_CA_Loss = 4
} ;
struct tcp_info {
   uint8_t tcpi_state ;
   uint8_t tcpi_ca_state ;
   uint8_t tcpi_retransmits ;
   uint8_t tcpi_probes ;
   uint8_t tcpi_backoff ;
   uint8_t tcpi_options ;
   uint8_t tcpi_snd_wscale : 4 ;
   uint8_t tcpi_rcv_wscale : 4 ;
   uint32_t tcpi_rto ;
   uint32_t tcpi_ato ;
   uint32_t tcpi_snd_mss ;
   uint32_t tcpi_rcv_mss ;
   uint32_t tcpi_unacked ;
   uint32_t tcpi_sacked ;
   uint32_t tcpi_lost ;
   uint32_t tcpi_retrans ;
   uint32_t tcpi_fackets ;
   uint32_t tcpi_last_data_sent ;
   uint32_t tcpi_last_ack_sent ;
   uint32_t tcpi_last_data_recv ;
   uint32_t tcpi_last_ack_recv ;
   uint32_t tcpi_pmtu ;
   uint32_t tcpi_rcv_ssthresh ;
   uint32_t tcpi_rtt ;
   uint32_t tcpi_rttvar ;
   uint32_t tcpi_snd_ssthresh ;
   uint32_t tcpi_snd_cwnd ;
   uint32_t tcpi_advmss ;
   uint32_t tcpi_reordering ;
   uint32_t tcpi_rcv_rtt ;
   uint32_t tcpi_rcv_space ;
   uint32_t tcpi_total_retrans ;
};
struct tcp_md5sig {
   struct sockaddr_storage tcpm_addr ;
   uint8_t tcpm_flags ;
   uint8_t tcpm_prefixlen ;
   uint16_t tcpm_keylen ;
   uint32_t __tcpm_pad ;
   uint8_t tcpm_key[80] ;
};
struct tcp_repair_opt {
   uint32_t opt_code ;
   uint32_t opt_val ;
};
enum __anonenum_221125648 {
    TCP_NO_QUEUE = 0,
    TCP_RECV_QUEUE = 1,
    TCP_SEND_QUEUE = 2,
    TCP_QUEUES_NR = 3
} ;
struct tcp_cookie_transactions {
   uint16_t tcpct_flags ;
   uint8_t __tcpct_pad1 ;
   uint8_t tcpct_cookie_desired ;
   uint16_t tcpct_s_data_desired ;
   uint16_t tcpct_used ;
   uint8_t tcpct_value[536U] ;
};
struct tcp_repair_window {
   uint32_t snd_wl1 ;
   uint32_t snd_wnd ;
   uint32_t max_window ;
   uint32_t rcv_wnd ;
   uint32_t rcv_wup ;
};
struct rpcent {
   char *r_name ;
   char **r_aliases ;
   int r_number ;
};
struct netent {
   char *n_name ;
   char **n_aliases ;
   int n_addrtype ;
   uint32_t n_net ;
};
struct hostent {
   char *h_name ;
   char **h_aliases ;
   int h_addrtype ;
   int h_length ;
   char **h_addr_list ;
};
struct servent {
   char *s_name ;
   char **s_aliases ;
   int s_port ;
   char *s_proto ;
};
struct protoent {
   char *p_name ;
   char **p_aliases ;
   int p_proto ;
};
struct addrinfo {
   int ai_flags ;
   int ai_family ;
   int ai_socktype ;
   int ai_protocol ;
   socklen_t ai_addrlen ;
   struct sockaddr *ai_addr ;
   char *ai_canonname ;
   struct addrinfo *ai_next ;
};
struct gaicb {
   char const   *ar_name ;
   char const   *ar_service ;
   struct addrinfo  const  *ar_request ;
   struct addrinfo *ar_result ;
   int __return ;
   int __glibc_reserved[5] ;
};
struct passwd {
   char *pw_name ;
   char *pw_passwd ;
   __uid_t pw_uid ;
   __gid_t pw_gid ;
   char *pw_gecos ;
   char *pw_dir ;
   char *pw_shell ;
};
struct sockaddr_un {
   sa_family_t sun_family ;
   char sun_path[108] ;
};
typedef int __gwchar_t;
struct __anonstruct_imaxdiv_t_1036346510 {
   long quot ;
   long rem ;
};
typedef struct __anonstruct_imaxdiv_t_1036346510 imaxdiv_t;
struct group {
   char *gr_name ;
   char *gr_passwd ;
   __gid_t gr_gid ;
   char **gr_mem ;
};
typedef void *iconv_t;
struct stack_st ;
typedef struct stack_st OPENSSL_STACK;
typedef int (*OPENSSL_sk_compfunc)(void const   * , void const   * );
typedef void (*OPENSSL_sk_freefunc)(void * );
typedef void *(*OPENSSL_sk_copyfunc)(void const   * );
typedef char *OPENSSL_STRING;
typedef char const   *OPENSSL_CSTRING;
struct stack_st_OPENSSL_STRING ;
typedef int (*sk_OPENSSL_STRING_compfunc)(char const   **a , char const   **b );
typedef void (*sk_OPENSSL_STRING_freefunc)(char *a );
typedef char *(*sk_OPENSSL_STRING_copyfunc)(char const   *a );
struct stack_st_OPENSSL_CSTRING ;
typedef int (*sk_OPENSSL_CSTRING_compfunc)(char const   **a , char const   **b );
typedef void (*sk_OPENSSL_CSTRING_freefunc)(char *a );
typedef char *(*sk_OPENSSL_CSTRING_copyfunc)(char const   *a );
typedef void *OPENSSL_BLOCK;
struct stack_st_OPENSSL_BLOCK ;
typedef int (*sk_OPENSSL_BLOCK_compfunc)(void const   **a , void const   **b );
typedef void (*sk_OPENSSL_BLOCK_freefunc)(void *a );
typedef void *(*sk_OPENSSL_BLOCK_copyfunc)(void const   *a );
struct asn1_string_st ;
typedef struct asn1_string_st ASN1_INTEGER;
typedef struct asn1_string_st ASN1_ENUMERATED;
typedef struct asn1_string_st ASN1_BIT_STRING;
typedef struct asn1_string_st ASN1_OCTET_STRING;
typedef struct asn1_string_st ASN1_PRINTABLESTRING;
typedef struct asn1_string_st ASN1_T61STRING;
typedef struct asn1_string_st ASN1_IA5STRING;
typedef struct asn1_string_st ASN1_GENERALSTRING;
typedef struct asn1_string_st ASN1_UNIVERSALSTRING;
typedef struct asn1_string_st ASN1_BMPSTRING;
typedef struct asn1_string_st ASN1_UTCTIME;
typedef struct asn1_string_st ASN1_TIME;
typedef struct asn1_string_st ASN1_GENERALIZEDTIME;
typedef struct asn1_string_st ASN1_VISIBLESTRING;
typedef struct asn1_string_st ASN1_UTF8STRING;
typedef struct asn1_string_st ASN1_STRING;
typedef int ASN1_BOOLEAN;
typedef int ASN1_NULL;
struct asn1_object_st ;
typedef struct asn1_object_st ASN1_OBJECT;
struct ASN1_ITEM_st ;
typedef struct ASN1_ITEM_st ASN1_ITEM;
struct asn1_pctx_st ;
typedef struct asn1_pctx_st ASN1_PCTX;
struct asn1_sctx_st ;
typedef struct asn1_sctx_st ASN1_SCTX;
struct dane_st ;
struct bio_st ;
typedef struct bio_st BIO;
struct bignum_st ;
typedef struct bignum_st BIGNUM;
struct bignum_ctx ;
typedef struct bignum_ctx BN_CTX;
struct bn_blinding_st ;
typedef struct bn_blinding_st BN_BLINDING;
struct bn_mont_ctx_st ;
typedef struct bn_mont_ctx_st BN_MONT_CTX;
struct bn_recp_ctx_st ;
typedef struct bn_recp_ctx_st BN_RECP_CTX;
struct bn_gencb_st ;
typedef struct bn_gencb_st BN_GENCB;
struct buf_mem_st ;
typedef struct buf_mem_st BUF_MEM;
struct evp_cipher_st ;
typedef struct evp_cipher_st EVP_CIPHER;
struct evp_cipher_ctx_st ;
typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
struct evp_md_st ;
typedef struct evp_md_st EVP_MD;
struct evp_md_ctx_st ;
typedef struct evp_md_ctx_st EVP_MD_CTX;
struct evp_pkey_st ;
typedef struct evp_pkey_st EVP_PKEY;
struct evp_pkey_asn1_method_st ;
typedef struct evp_pkey_asn1_method_st EVP_PKEY_ASN1_METHOD;
struct evp_pkey_method_st ;
typedef struct evp_pkey_method_st EVP_PKEY_METHOD;
struct evp_pkey_ctx_st ;
typedef struct evp_pkey_ctx_st EVP_PKEY_CTX;
struct evp_Encode_Ctx_st ;
typedef struct evp_Encode_Ctx_st EVP_ENCODE_CTX;
struct hmac_ctx_st ;
typedef struct hmac_ctx_st HMAC_CTX;
struct dh_st ;
typedef struct dh_st DH;
struct dh_method ;
typedef struct dh_method DH_METHOD;
struct dsa_st ;
typedef struct dsa_st DSA;
struct dsa_method ;
typedef struct dsa_method DSA_METHOD;
struct rsa_st ;
typedef struct rsa_st RSA;
struct rsa_meth_st ;
typedef struct rsa_meth_st RSA_METHOD;
struct ec_key_st ;
typedef struct ec_key_st EC_KEY;
struct ec_key_method_st ;
typedef struct ec_key_method_st EC_KEY_METHOD;
struct rand_meth_st ;
typedef struct rand_meth_st RAND_METHOD;
struct rand_drbg_st ;
typedef struct rand_drbg_st RAND_DRBG;
struct ssl_dane_st ;
typedef struct ssl_dane_st SSL_DANE;
struct x509_st ;
typedef struct x509_st X509;
struct X509_algor_st ;
typedef struct X509_algor_st X509_ALGOR;
struct X509_crl_st ;
typedef struct X509_crl_st X509_CRL;
struct x509_crl_method_st ;
typedef struct x509_crl_method_st X509_CRL_METHOD;
struct x509_revoked_st ;
typedef struct x509_revoked_st X509_REVOKED;
struct X509_name_st ;
typedef struct X509_name_st X509_NAME;
struct X509_pubkey_st ;
typedef struct X509_pubkey_st X509_PUBKEY;
struct x509_store_st ;
typedef struct x509_store_st X509_STORE;
struct x509_store_ctx_st ;
typedef struct x509_store_ctx_st X509_STORE_CTX;
struct x509_object_st ;
typedef struct x509_object_st X509_OBJECT;
struct x509_lookup_st ;
typedef struct x509_lookup_st X509_LOOKUP;
struct x509_lookup_method_st ;
typedef struct x509_lookup_method_st X509_LOOKUP_METHOD;
struct X509_VERIFY_PARAM_st ;
typedef struct X509_VERIFY_PARAM_st X509_VERIFY_PARAM;
struct x509_sig_info_st ;
typedef struct x509_sig_info_st X509_SIG_INFO;
struct pkcs8_priv_key_info_st ;
typedef struct pkcs8_priv_key_info_st PKCS8_PRIV_KEY_INFO;
struct v3_ext_ctx ;
typedef struct v3_ext_ctx X509V3_CTX;
struct conf_st ;
typedef struct conf_st CONF;
struct ossl_init_settings_st ;
typedef struct ossl_init_settings_st OPENSSL_INIT_SETTINGS;
struct ui_st ;
typedef struct ui_st UI;
struct ui_method_st ;
typedef struct ui_method_st UI_METHOD;
struct engine_st ;
typedef struct engine_st ENGINE;
struct ssl_st ;
typedef struct ssl_st SSL;
struct ssl_ctx_st ;
typedef struct ssl_ctx_st SSL_CTX;
struct comp_ctx_st ;
typedef struct comp_ctx_st COMP_CTX;
struct comp_method_st ;
typedef struct comp_method_st COMP_METHOD;
struct X509_POLICY_NODE_st ;
typedef struct X509_POLICY_NODE_st X509_POLICY_NODE;
struct X509_POLICY_LEVEL_st ;
typedef struct X509_POLICY_LEVEL_st X509_POLICY_LEVEL;
struct X509_POLICY_TREE_st ;
typedef struct X509_POLICY_TREE_st X509_POLICY_TREE;
struct X509_POLICY_CACHE_st ;
typedef struct X509_POLICY_CACHE_st X509_POLICY_CACHE;
struct AUTHORITY_KEYID_st ;
typedef struct AUTHORITY_KEYID_st AUTHORITY_KEYID;
struct DIST_POINT_st ;
typedef struct DIST_POINT_st DIST_POINT;
struct ISSUING_DIST_POINT_st ;
typedef struct ISSUING_DIST_POINT_st ISSUING_DIST_POINT;
struct NAME_CONSTRAINTS_st ;
typedef struct NAME_CONSTRAINTS_st NAME_CONSTRAINTS;
struct crypto_ex_data_st ;
typedef struct crypto_ex_data_st CRYPTO_EX_DATA;
struct ocsp_req_ctx_st ;
typedef struct ocsp_req_ctx_st OCSP_REQ_CTX;
struct ocsp_response_st ;
typedef struct ocsp_response_st OCSP_RESPONSE;
struct ocsp_responder_id_st ;
typedef struct ocsp_responder_id_st OCSP_RESPID;
struct sct_st ;
typedef struct sct_st SCT;
struct sct_ctx_st ;
typedef struct sct_ctx_st SCT_CTX;
struct ctlog_st ;
typedef struct ctlog_st CTLOG;
struct ctlog_store_st ;
typedef struct ctlog_store_st CTLOG_STORE;
struct ct_policy_eval_ctx_st ;
typedef struct ct_policy_eval_ctx_st CT_POLICY_EVAL_CTX;
struct ossl_store_info_st ;
typedef struct ossl_store_info_st OSSL_STORE_INFO;
struct ossl_store_search_st ;
typedef struct ossl_store_search_st OSSL_STORE_SEARCH;
typedef intmax_t ossl_intmax_t;
typedef uintmax_t ossl_uintmax_t;
struct __anonstruct_CRYPTO_dynlock_1036346511 {
   int dummy ;
};
typedef struct __anonstruct_CRYPTO_dynlock_1036346511 CRYPTO_dynlock;
typedef void CRYPTO_RWLOCK;
struct stack_st_void ;
struct crypto_ex_data_st {
   struct stack_st_void *sk ;
};
typedef int (*sk_void_compfunc)(void const   **a , void const   **b );
typedef void (*sk_void_freefunc)(void *a );
typedef void *(*sk_void_copyfunc)(void const   *a );
typedef void CRYPTO_EX_new(void *parent , void *ptr , CRYPTO_EX_DATA *ad , int idx ,
                           long argl , void *argp );
typedef void CRYPTO_EX_free(void *parent , void *ptr , CRYPTO_EX_DATA *ad , int idx ,
                            long argl , void *argp );
typedef int CRYPTO_EX_dup(CRYPTO_EX_DATA *to , CRYPTO_EX_DATA const   *from , void *from_d ,
                          int idx , long argl , void *argp );
struct crypto_threadid_st {
   int dummy ;
};
typedef struct crypto_threadid_st CRYPTO_THREADID;
struct sched_param {
   int sched_priority ;
};
typedef unsigned long __cpu_mask;
struct __anonstruct_cpu_set_t_826868708 {
   __cpu_mask __bits[1024UL / (8UL * sizeof(__cpu_mask ))] ;
};
typedef struct __anonstruct_cpu_set_t_826868708 cpu_set_t;
typedef long __jmp_buf[8];
enum __anonenum_34415463 {
    PTHREAD_CREATE_JOINABLE = 0,
    PTHREAD_CREATE_DETACHED = 1
} ;
enum __anonenum_303612439 {
    PTHREAD_MUTEX_TIMED_NP = 0,
    PTHREAD_MUTEX_RECURSIVE_NP = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP = 3,
    PTHREAD_MUTEX_NORMAL = 0,
    PTHREAD_MUTEX_RECURSIVE = 1,
    PTHREAD_MUTEX_ERRORCHECK = 2,
    PTHREAD_MUTEX_DEFAULT = 0,
    PTHREAD_MUTEX_FAST_NP = 0
} ;
enum __anonenum_931900394 {
    PTHREAD_MUTEX_STALLED = 0,
    PTHREAD_MUTEX_STALLED_NP = 0,
    PTHREAD_MUTEX_ROBUST = 1,
    PTHREAD_MUTEX_ROBUST_NP = 1
} ;
enum __anonenum_205214487 {
    PTHREAD_PRIO_NONE = 0,
    PTHREAD_PRIO_INHERIT = 1,
    PTHREAD_PRIO_PROTECT = 2
} ;
enum __anonenum_25043950 {
    PTHREAD_RWLOCK_PREFER_READER_NP = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP = 2,
    PTHREAD_RWLOCK_DEFAULT_NP = 0
} ;
enum __anonenum_436439511 {
    PTHREAD_INHERIT_SCHED = 0,
    PTHREAD_EXPLICIT_SCHED = 1
} ;
enum __anonenum_998661166 {
    PTHREAD_SCOPE_SYSTEM = 0,
    PTHREAD_SCOPE_PROCESS = 1
} ;
enum __anonenum_146137331 {
    PTHREAD_PROCESS_PRIVATE = 0,
    PTHREAD_PROCESS_SHARED = 1
} ;
struct _pthread_cleanup_buffer {
   void (*__routine)(void * ) ;
   void *__arg ;
   int __canceltype ;
   struct _pthread_cleanup_buffer *__prev ;
};
enum __anonenum_53396917 {
    PTHREAD_CANCEL_ENABLE = 0,
    PTHREAD_CANCEL_DISABLE = 1
} ;
enum __anonenum_904563783 {
    PTHREAD_CANCEL_DEFERRED = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS = 1
} ;
struct __anonstruct___cancel_jmp_buf_572769531 {
   __jmp_buf __cancel_jmp_buf ;
   int __mask_was_saved ;
};
struct __anonstruct___pthread_unwind_buf_t_250152936 {
   struct __anonstruct___cancel_jmp_buf_572769531 __cancel_jmp_buf[1] ;
   void *__pad[4] ;
};
typedef struct __anonstruct___pthread_unwind_buf_t_250152936  __attribute__((__aligned__)) __pthread_unwind_buf_t;
struct __pthread_cleanup_frame {
   void (*__cancel_routine)(void * ) ;
   void *__cancel_arg ;
   int __do_it ;
   int __cancel_type ;
};
struct __jmp_buf_tag ;
typedef pthread_once_t CRYPTO_ONCE;
typedef pthread_key_t CRYPTO_THREAD_LOCAL;
typedef pthread_t CRYPTO_THREAD_ID;
union bio_addr_st ;
typedef union bio_addr_st BIO_ADDR;
struct bio_addrinfo_st ;
typedef struct bio_addrinfo_st BIO_ADDRINFO;
typedef long (*BIO_callback_fn)(BIO *b , int oper , char const   *argp , int argi ,
                                long argl , long ret );
typedef long (*BIO_callback_fn_ex)(BIO *b , int oper , char const   *argp , size_t len ,
                                   int argi , long argl , int ret , size_t *processed );
struct bio_method_st ;
typedef struct bio_method_st BIO_METHOD;
typedef int BIO_info_cb(BIO * , int  , int  );
typedef BIO_info_cb bio_info_cb;
struct stack_st_BIO ;
typedef int (*sk_BIO_compfunc)(BIO const   **a , BIO const   **b );
typedef void (*sk_BIO_freefunc)(BIO *a );
typedef BIO *(*sk_BIO_copyfunc)(BIO const   *a );
typedef int asn1_ps_func(BIO *b , unsigned char **pbuf , int *plen , void *parg );
enum BIO_hostserv_priorities {
    BIO_PARSE_PRIO_HOST = 0,
    BIO_PARSE_PRIO_SERV = 1
} ;
enum BIO_lookup_type {
    BIO_LOOKUP_CLIENT = 0,
    BIO_LOOKUP_SERVER = 1
} ;
union BIO_sock_info_u {
   BIO_ADDR *addr ;
};
enum BIO_sock_info_type {
    BIO_SOCK_INFO_ADDRESS = 0
} ;
struct buf_mem_st {
   size_t length ;
   char *data ;
   size_t max ;
   unsigned long flags ;
};
struct stack_st_X509_ALGOR ;
typedef int (*sk_X509_ALGOR_compfunc)(X509_ALGOR const   **a , X509_ALGOR const   **b );
typedef void (*sk_X509_ALGOR_freefunc)(X509_ALGOR *a );
typedef X509_ALGOR *(*sk_X509_ALGOR_copyfunc)(X509_ALGOR const   *a );
struct asn1_string_st {
   int length ;
   int type ;
   unsigned char *data ;
   long flags ;
};
struct ASN1_ENCODING_st {
   unsigned char *enc ;
   long len ;
   int modified ;
};
typedef struct ASN1_ENCODING_st ASN1_ENCODING;
struct asn1_string_table_st {
   int nid ;
   long minsize ;
   long maxsize ;
   unsigned long mask ;
   unsigned long flags ;
};
typedef struct asn1_string_table_st ASN1_STRING_TABLE;
struct stack_st_ASN1_STRING_TABLE ;
typedef int (*sk_ASN1_STRING_TABLE_compfunc)(ASN1_STRING_TABLE const   **a , ASN1_STRING_TABLE const   **b );
typedef void (*sk_ASN1_STRING_TABLE_freefunc)(ASN1_STRING_TABLE *a );
typedef ASN1_STRING_TABLE *(*sk_ASN1_STRING_TABLE_copyfunc)(ASN1_STRING_TABLE const   *a );
struct ASN1_TEMPLATE_st ;
typedef struct ASN1_TEMPLATE_st ASN1_TEMPLATE;
struct ASN1_TLC_st ;
typedef struct ASN1_TLC_st ASN1_TLC;
struct ASN1_VALUE_st ;
typedef struct ASN1_VALUE_st ASN1_VALUE;
typedef void *d2i_of_void(void ** , unsigned char const   ** , long  );
typedef int i2d_of_void(void * , unsigned char ** );
typedef ASN1_ITEM const   ASN1_ITEM_EXP;
struct stack_st_ASN1_INTEGER ;
typedef int (*sk_ASN1_INTEGER_compfunc)(ASN1_INTEGER const   **a , ASN1_INTEGER const   **b );
typedef void (*sk_ASN1_INTEGER_freefunc)(ASN1_INTEGER *a );
typedef ASN1_INTEGER *(*sk_ASN1_INTEGER_copyfunc)(ASN1_INTEGER const   *a );
struct stack_st_ASN1_GENERALSTRING ;
typedef int (*sk_ASN1_GENERALSTRING_compfunc)(ASN1_GENERALSTRING const   **a , ASN1_GENERALSTRING const   **b );
typedef void (*sk_ASN1_GENERALSTRING_freefunc)(ASN1_GENERALSTRING *a );
typedef ASN1_GENERALSTRING *(*sk_ASN1_GENERALSTRING_copyfunc)(ASN1_GENERALSTRING const   *a );
struct stack_st_ASN1_UTF8STRING ;
typedef int (*sk_ASN1_UTF8STRING_compfunc)(ASN1_UTF8STRING const   **a , ASN1_UTF8STRING const   **b );
typedef void (*sk_ASN1_UTF8STRING_freefunc)(ASN1_UTF8STRING *a );
typedef ASN1_UTF8STRING *(*sk_ASN1_UTF8STRING_copyfunc)(ASN1_UTF8STRING const   *a );
union __anonunion_value_401497255 {
   char *ptr ;
   ASN1_BOOLEAN boolean ;
   ASN1_STRING *asn1_string ;
   ASN1_OBJECT *object ;
   ASN1_INTEGER *integer ;
   ASN1_ENUMERATED *enumerated ;
   ASN1_BIT_STRING *bit_string ;
   ASN1_OCTET_STRING *octet_string ;
   ASN1_PRINTABLESTRING *printablestring ;
   ASN1_T61STRING *t61string ;
   ASN1_IA5STRING *ia5string ;
   ASN1_GENERALSTRING *generalstring ;
   ASN1_BMPSTRING *bmpstring ;
   ASN1_UNIVERSALSTRING *universalstring ;
   ASN1_UTCTIME *utctime ;
   ASN1_GENERALIZEDTIME *generalizedtime ;
   ASN1_VISIBLESTRING *visiblestring ;
   ASN1_UTF8STRING *utf8string ;
   ASN1_STRING *set ;
   ASN1_STRING *sequence ;
   ASN1_VALUE *asn1_value ;
};
struct asn1_type_st {
   int type ;
   union __anonunion_value_401497255 value ;
};
typedef struct asn1_type_st ASN1_TYPE;
struct stack_st_ASN1_TYPE ;
typedef int (*sk_ASN1_TYPE_compfunc)(ASN1_TYPE const   **a , ASN1_TYPE const   **b );
typedef void (*sk_ASN1_TYPE_freefunc)(ASN1_TYPE *a );
typedef ASN1_TYPE *(*sk_ASN1_TYPE_copyfunc)(ASN1_TYPE const   *a );
typedef struct stack_st_ASN1_TYPE ASN1_SEQUENCE_ANY;
struct BIT_STRING_BITNAME_st {
   int bitnum ;
   char const   *lname ;
   char const   *sname ;
};
typedef struct BIT_STRING_BITNAME_st BIT_STRING_BITNAME;
struct stack_st_ASN1_OBJECT ;
typedef int (*sk_ASN1_OBJECT_compfunc)(ASN1_OBJECT const   **a , ASN1_OBJECT const   **b );
typedef void (*sk_ASN1_OBJECT_freefunc)(ASN1_OBJECT *a );
typedef ASN1_OBJECT *(*sk_ASN1_OBJECT_copyfunc)(ASN1_OBJECT const   *a );
struct obj_name_st {
   int type ;
   int alias ;
   char const   *name ;
   char const   *data ;
};
typedef struct obj_name_st OBJ_NAME;
struct __anonstruct_EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM_582234956 {
   unsigned char *out ;
   unsigned char const   *inp ;
   size_t len ;
   unsigned int interleave ;
};
typedef struct __anonstruct_EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM_582234956 EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM;
struct evp_cipher_info_st {
   EVP_CIPHER const   *cipher ;
   unsigned char iv[16] ;
};
typedef struct evp_cipher_info_st EVP_CIPHER_INFO;
typedef int EVP_PBE_KEYGEN(EVP_CIPHER_CTX *ctx , char const   *pass , int passlen ,
                           ASN1_TYPE *param , EVP_CIPHER const   *cipher , EVP_MD const   *md ,
                           int en_de );
typedef int EVP_PKEY_gen_cb(EVP_PKEY_CTX *ctx );
enum __anonenum_point_conversion_form_t_134566212 {
    POINT_CONVERSION_COMPRESSED = 2,
    POINT_CONVERSION_UNCOMPRESSED = 4,
    POINT_CONVERSION_HYBRID = 6
} ;
typedef enum __anonenum_point_conversion_form_t_134566212 point_conversion_form_t;
struct ec_method_st ;
typedef struct ec_method_st EC_METHOD;
struct ec_group_st ;
typedef struct ec_group_st EC_GROUP;
struct ec_point_st ;
typedef struct ec_point_st EC_POINT;
struct ecpk_parameters_st ;
typedef struct ecpk_parameters_st ECPKPARAMETERS;
struct ec_parameters_st ;
typedef struct ec_parameters_st ECPARAMETERS;
struct __anonstruct_EC_builtin_curve_442656070 {
   int nid ;
   char const   *comment ;
};
typedef struct __anonstruct_EC_builtin_curve_442656070 EC_builtin_curve;
struct ECDSA_SIG_st ;
typedef struct ECDSA_SIG_st ECDSA_SIG;
struct rsa_pss_params_st {
   X509_ALGOR *hashAlgorithm ;
   X509_ALGOR *maskGenAlgorithm ;
   ASN1_INTEGER *saltLength ;
   ASN1_INTEGER *trailerField ;
   X509_ALGOR *maskHash ;
};
typedef struct rsa_pss_params_st RSA_PSS_PARAMS;
struct rsa_oaep_params_st {
   X509_ALGOR *hashFunc ;
   X509_ALGOR *maskGenFunc ;
   X509_ALGOR *pSourceFunc ;
   X509_ALGOR *maskHash ;
};
typedef struct rsa_oaep_params_st RSA_OAEP_PARAMS;
struct DSA_SIG_st ;
typedef struct DSA_SIG_st DSA_SIG;
struct SHAstate_st {
   unsigned int h0 ;
   unsigned int h1 ;
   unsigned int h2 ;
   unsigned int h3 ;
   unsigned int h4 ;
   unsigned int Nl ;
   unsigned int Nh ;
   unsigned int data[16] ;
   unsigned int num ;
};
typedef struct SHAstate_st SHA_CTX;
struct SHA256state_st {
   unsigned int h[8] ;
   unsigned int Nl ;
   unsigned int Nh ;
   unsigned int data[16] ;
   unsigned int num ;
   unsigned int md_len ;
};
typedef struct SHA256state_st SHA256_CTX;
union __anonunion_u_731465556 {
   unsigned long long d[16] ;
   unsigned char p[128] ;
};
struct SHA512state_st {
   unsigned long long h[8] ;
   unsigned long long Nl ;
   unsigned long long Nh ;
   union __anonunion_u_731465556 u ;
   unsigned int num ;
   unsigned int md_len ;
};
typedef struct SHA512state_st SHA512_CTX;
struct X509_algor_st {
   ASN1_OBJECT *algorithm ;
   ASN1_TYPE *parameter ;
};
typedef struct stack_st_X509_ALGOR X509_ALGORS;
struct X509_val_st {
   ASN1_TIME *notBefore ;
   ASN1_TIME *notAfter ;
};
typedef struct X509_val_st X509_VAL;
struct X509_sig_st ;
typedef struct X509_sig_st X509_SIG;
struct X509_name_entry_st ;
typedef struct X509_name_entry_st X509_NAME_ENTRY;
struct stack_st_X509_NAME_ENTRY ;
typedef int (*sk_X509_NAME_ENTRY_compfunc)(X509_NAME_ENTRY const   **a , X509_NAME_ENTRY const   **b );
typedef void (*sk_X509_NAME_ENTRY_freefunc)(X509_NAME_ENTRY *a );
typedef X509_NAME_ENTRY *(*sk_X509_NAME_ENTRY_copyfunc)(X509_NAME_ENTRY const   *a );
struct stack_st_X509_NAME ;
typedef int (*sk_X509_NAME_compfunc)(X509_NAME const   **a , X509_NAME const   **b );
typedef void (*sk_X509_NAME_freefunc)(X509_NAME *a );
typedef X509_NAME *(*sk_X509_NAME_copyfunc)(X509_NAME const   *a );
struct X509_extension_st ;
typedef struct X509_extension_st X509_EXTENSION;
struct stack_st_X509_EXTENSION ;
typedef struct stack_st_X509_EXTENSION X509_EXTENSIONS;
typedef int (*sk_X509_EXTENSION_compfunc)(X509_EXTENSION const   **a , X509_EXTENSION const   **b );
typedef void (*sk_X509_EXTENSION_freefunc)(X509_EXTENSION *a );
typedef X509_EXTENSION *(*sk_X509_EXTENSION_copyfunc)(X509_EXTENSION const   *a );
struct x509_attributes_st ;
typedef struct x509_attributes_st X509_ATTRIBUTE;
struct stack_st_X509_ATTRIBUTE ;
typedef int (*sk_X509_ATTRIBUTE_compfunc)(X509_ATTRIBUTE const   **a , X509_ATTRIBUTE const   **b );
typedef void (*sk_X509_ATTRIBUTE_freefunc)(X509_ATTRIBUTE *a );
typedef X509_ATTRIBUTE *(*sk_X509_ATTRIBUTE_copyfunc)(X509_ATTRIBUTE const   *a );
struct X509_req_info_st ;
typedef struct X509_req_info_st X509_REQ_INFO;
struct X509_req_st ;
typedef struct X509_req_st X509_REQ;
struct x509_cert_aux_st ;
typedef struct x509_cert_aux_st X509_CERT_AUX;
struct x509_cinf_st ;
typedef struct x509_cinf_st X509_CINF;
struct stack_st_X509 ;
typedef int (*sk_X509_compfunc)(X509 const   **a , X509 const   **b );
typedef void (*sk_X509_freefunc)(X509 *a );
typedef X509 *(*sk_X509_copyfunc)(X509 const   *a );
struct x509_trust_st {
   int trust ;
   int flags ;
   int (*check_trust)(struct x509_trust_st * , X509 * , int  ) ;
   char *name ;
   int arg1 ;
   void *arg2 ;
};
typedef struct x509_trust_st X509_TRUST;
struct stack_st_X509_TRUST ;
typedef int (*sk_X509_TRUST_compfunc)(X509_TRUST const   **a , X509_TRUST const   **b );
typedef void (*sk_X509_TRUST_freefunc)(X509_TRUST *a );
typedef X509_TRUST *(*sk_X509_TRUST_copyfunc)(X509_TRUST const   *a );
struct stack_st_X509_REVOKED ;
typedef int (*sk_X509_REVOKED_compfunc)(X509_REVOKED const   **a , X509_REVOKED const   **b );
typedef void (*sk_X509_REVOKED_freefunc)(X509_REVOKED *a );
typedef X509_REVOKED *(*sk_X509_REVOKED_copyfunc)(X509_REVOKED const   *a );
struct X509_crl_info_st ;
typedef struct X509_crl_info_st X509_CRL_INFO;
struct stack_st_X509_CRL ;
typedef int (*sk_X509_CRL_compfunc)(X509_CRL const   **a , X509_CRL const   **b );
typedef void (*sk_X509_CRL_freefunc)(X509_CRL *a );
typedef X509_CRL *(*sk_X509_CRL_copyfunc)(X509_CRL const   *a );
struct private_key_st {
   int version ;
   X509_ALGOR *enc_algor ;
   ASN1_OCTET_STRING *enc_pkey ;
   EVP_PKEY *dec_pkey ;
   int key_length ;
   char *key_data ;
   int key_free ;
   EVP_CIPHER_INFO cipher ;
};
typedef struct private_key_st X509_PKEY;
struct X509_info_st {
   X509 *x509 ;
   X509_CRL *crl ;
   X509_PKEY *x_pkey ;
   EVP_CIPHER_INFO enc_cipher ;
   int enc_len ;
   char *enc_data ;
};
typedef struct X509_info_st X509_INFO;
struct stack_st_X509_INFO ;
typedef int (*sk_X509_INFO_compfunc)(X509_INFO const   **a , X509_INFO const   **b );
typedef void (*sk_X509_INFO_freefunc)(X509_INFO *a );
typedef X509_INFO *(*sk_X509_INFO_copyfunc)(X509_INFO const   *a );
struct Netscape_spkac_st {
   X509_PUBKEY *pubkey ;
   ASN1_IA5STRING *challenge ;
};
typedef struct Netscape_spkac_st NETSCAPE_SPKAC;
struct Netscape_spki_st {
   NETSCAPE_SPKAC *spkac ;
   X509_ALGOR sig_algor ;
   ASN1_BIT_STRING *signature ;
};
typedef struct Netscape_spki_st NETSCAPE_SPKI;
struct Netscape_certificate_sequence {
   ASN1_OBJECT *type ;
   struct stack_st_X509 *certs ;
};
typedef struct Netscape_certificate_sequence NETSCAPE_CERT_SEQUENCE;
struct PBEPARAM_st {
   ASN1_OCTET_STRING *salt ;
   ASN1_INTEGER *iter ;
};
typedef struct PBEPARAM_st PBEPARAM;
struct PBE2PARAM_st {
   X509_ALGOR *keyfunc ;
   X509_ALGOR *encryption ;
};
typedef struct PBE2PARAM_st PBE2PARAM;
struct PBKDF2PARAM_st {
   ASN1_TYPE *salt ;
   ASN1_INTEGER *iter ;
   ASN1_INTEGER *keylength ;
   X509_ALGOR *prf ;
};
typedef struct PBKDF2PARAM_st PBKDF2PARAM;
struct SCRYPT_PARAMS_st {
   ASN1_OCTET_STRING *salt ;
   ASN1_INTEGER *costParameter ;
   ASN1_INTEGER *blockSize ;
   ASN1_INTEGER *parallelizationParameter ;
   ASN1_INTEGER *keyLength ;
};
typedef struct SCRYPT_PARAMS_st SCRYPT_PARAMS;
struct lhash_node_st ;
typedef struct lhash_node_st OPENSSL_LH_NODE;
typedef int (*OPENSSL_LH_COMPFUNC)(void const   * , void const   * );
typedef unsigned long (*OPENSSL_LH_HASHFUNC)(void const   * );
typedef void (*OPENSSL_LH_DOALL_FUNC)(void * );
typedef void (*OPENSSL_LH_DOALL_FUNCARG)(void * , void * );
struct lhash_st ;
typedef struct lhash_st OPENSSL_LHASH;
union lh_OPENSSL_STRING_dummy {
   void *d1 ;
   unsigned long d2 ;
   int d3 ;
};
struct lhash_st_OPENSSL_STRING {
   union lh_OPENSSL_STRING_dummy dummy ;
};
union lh_OPENSSL_CSTRING_dummy {
   void *d1 ;
   unsigned long d2 ;
   int d3 ;
};
struct lhash_st_OPENSSL_CSTRING {
   union lh_OPENSSL_CSTRING_dummy dummy ;
};
enum __anonenum_X509_LOOKUP_TYPE_347173403 {
    X509_LU_NONE = 0,
    X509_LU_X509 = 1,
    X509_LU_CRL = 2
} ;
typedef enum __anonenum_X509_LOOKUP_TYPE_347173403 X509_LOOKUP_TYPE;
struct stack_st_X509_LOOKUP ;
typedef int (*sk_X509_LOOKUP_compfunc)(X509_LOOKUP const   **a , X509_LOOKUP const   **b );
typedef void (*sk_X509_LOOKUP_freefunc)(X509_LOOKUP *a );
typedef X509_LOOKUP *(*sk_X509_LOOKUP_copyfunc)(X509_LOOKUP const   *a );
struct stack_st_X509_OBJECT ;
typedef int (*sk_X509_OBJECT_compfunc)(X509_OBJECT const   **a , X509_OBJECT const   **b );
typedef void (*sk_X509_OBJECT_freefunc)(X509_OBJECT *a );
typedef X509_OBJECT *(*sk_X509_OBJECT_copyfunc)(X509_OBJECT const   *a );
struct stack_st_X509_VERIFY_PARAM ;
typedef int (*sk_X509_VERIFY_PARAM_compfunc)(X509_VERIFY_PARAM const   **a , X509_VERIFY_PARAM const   **b );
typedef void (*sk_X509_VERIFY_PARAM_freefunc)(X509_VERIFY_PARAM *a );
typedef X509_VERIFY_PARAM *(*sk_X509_VERIFY_PARAM_copyfunc)(X509_VERIFY_PARAM const   *a );
typedef int (*X509_STORE_CTX_verify_cb)(int  , X509_STORE_CTX * );
typedef int (*X509_STORE_CTX_verify_fn)(X509_STORE_CTX * );
typedef int (*X509_STORE_CTX_get_issuer_fn)(X509 **issuer , X509_STORE_CTX *ctx ,
                                            X509 *x );
typedef int (*X509_STORE_CTX_check_issued_fn)(X509_STORE_CTX *ctx , X509 *x , X509 *issuer );
typedef int (*X509_STORE_CTX_check_revocation_fn)(X509_STORE_CTX *ctx );
typedef int (*X509_STORE_CTX_get_crl_fn)(X509_STORE_CTX *ctx , X509_CRL **crl , X509 *x );
typedef int (*X509_STORE_CTX_check_crl_fn)(X509_STORE_CTX *ctx , X509_CRL *crl );
typedef int (*X509_STORE_CTX_cert_crl_fn)(X509_STORE_CTX *ctx , X509_CRL *crl , X509 *x );
typedef int (*X509_STORE_CTX_check_policy_fn)(X509_STORE_CTX *ctx );
typedef struct stack_st_X509 *(*X509_STORE_CTX_lookup_certs_fn)(X509_STORE_CTX *ctx ,
                                                                X509_NAME *nm );
typedef struct stack_st_X509_CRL *(*X509_STORE_CTX_lookup_crls_fn)(X509_STORE_CTX *ctx ,
                                                                   X509_NAME *nm );
typedef int (*X509_STORE_CTX_cleanup_fn)(X509_STORE_CTX *ctx );
typedef int (*X509_LOOKUP_ctrl_fn)(X509_LOOKUP *ctx , int cmd , char const   *argc ,
                                   long argl , char **ret );
typedef int (*X509_LOOKUP_get_by_subject_fn)(X509_LOOKUP *ctx , X509_LOOKUP_TYPE type ,
                                             X509_NAME *name , X509_OBJECT *ret );
typedef int (*X509_LOOKUP_get_by_issuer_serial_fn)(X509_LOOKUP *ctx , X509_LOOKUP_TYPE type ,
                                                   X509_NAME *name , ASN1_INTEGER *serial ,
                                                   X509_OBJECT *ret );
typedef int (*X509_LOOKUP_get_by_fingerprint_fn)(X509_LOOKUP *ctx , X509_LOOKUP_TYPE type ,
                                                 unsigned char const   *bytes , int len ,
                                                 X509_OBJECT *ret );
typedef int (*X509_LOOKUP_get_by_alias_fn)(X509_LOOKUP *ctx , X509_LOOKUP_TYPE type ,
                                           char const   *str , int len , X509_OBJECT *ret );
struct stack_st_X509_POLICY_NODE ;
struct stack_st_POLICYQUALINFO ;
struct pkcs7_issuer_and_serial_st {
   X509_NAME *issuer ;
   ASN1_INTEGER *serial ;
};
typedef struct pkcs7_issuer_and_serial_st PKCS7_ISSUER_AND_SERIAL;
struct pkcs7_signer_info_st {
   ASN1_INTEGER *version ;
   PKCS7_ISSUER_AND_SERIAL *issuer_and_serial ;
   X509_ALGOR *digest_alg ;
   struct stack_st_X509_ATTRIBUTE *auth_attr ;
   X509_ALGOR *digest_enc_alg ;
   ASN1_OCTET_STRING *enc_digest ;
   struct stack_st_X509_ATTRIBUTE *unauth_attr ;
   EVP_PKEY *pkey ;
};
typedef struct pkcs7_signer_info_st PKCS7_SIGNER_INFO;
struct stack_st_PKCS7_SIGNER_INFO ;
typedef int (*sk_PKCS7_SIGNER_INFO_compfunc)(PKCS7_SIGNER_INFO const   **a , PKCS7_SIGNER_INFO const   **b );
typedef void (*sk_PKCS7_SIGNER_INFO_freefunc)(PKCS7_SIGNER_INFO *a );
typedef PKCS7_SIGNER_INFO *(*sk_PKCS7_SIGNER_INFO_copyfunc)(PKCS7_SIGNER_INFO const   *a );
struct pkcs7_recip_info_st {
   ASN1_INTEGER *version ;
   PKCS7_ISSUER_AND_SERIAL *issuer_and_serial ;
   X509_ALGOR *key_enc_algor ;
   ASN1_OCTET_STRING *enc_key ;
   X509 *cert ;
};
typedef struct pkcs7_recip_info_st PKCS7_RECIP_INFO;
struct stack_st_PKCS7_RECIP_INFO ;
typedef int (*sk_PKCS7_RECIP_INFO_compfunc)(PKCS7_RECIP_INFO const   **a , PKCS7_RECIP_INFO const   **b );
typedef void (*sk_PKCS7_RECIP_INFO_freefunc)(PKCS7_RECIP_INFO *a );
typedef PKCS7_RECIP_INFO *(*sk_PKCS7_RECIP_INFO_copyfunc)(PKCS7_RECIP_INFO const   *a );
struct pkcs7_st ;
struct pkcs7_signed_st {
   ASN1_INTEGER *version ;
   struct stack_st_X509_ALGOR *md_algs ;
   struct stack_st_X509 *cert ;
   struct stack_st_X509_CRL *crl ;
   struct stack_st_PKCS7_SIGNER_INFO *signer_info ;
   struct pkcs7_st *contents ;
};
typedef struct pkcs7_signed_st PKCS7_SIGNED;
struct pkcs7_enc_content_st {
   ASN1_OBJECT *content_type ;
   X509_ALGOR *algorithm ;
   ASN1_OCTET_STRING *enc_data ;
   EVP_CIPHER const   *cipher ;
};
typedef struct pkcs7_enc_content_st PKCS7_ENC_CONTENT;
struct pkcs7_enveloped_st {
   ASN1_INTEGER *version ;
   struct stack_st_PKCS7_RECIP_INFO *recipientinfo ;
   PKCS7_ENC_CONTENT *enc_data ;
};
typedef struct pkcs7_enveloped_st PKCS7_ENVELOPE;
struct pkcs7_signedandenveloped_st {
   ASN1_INTEGER *version ;
   struct stack_st_X509_ALGOR *md_algs ;
   struct stack_st_X509 *cert ;
   struct stack_st_X509_CRL *crl ;
   struct stack_st_PKCS7_SIGNER_INFO *signer_info ;
   PKCS7_ENC_CONTENT *enc_data ;
   struct stack_st_PKCS7_RECIP_INFO *recipientinfo ;
};
typedef struct pkcs7_signedandenveloped_st PKCS7_SIGN_ENVELOPE;
struct pkcs7_digest_st {
   ASN1_INTEGER *version ;
   X509_ALGOR *md ;
   struct pkcs7_st *contents ;
   ASN1_OCTET_STRING *digest ;
};
typedef struct pkcs7_digest_st PKCS7_DIGEST;
struct pkcs7_encrypted_st {
   ASN1_INTEGER *version ;
   PKCS7_ENC_CONTENT *enc_data ;
};
typedef struct pkcs7_encrypted_st PKCS7_ENCRYPT;
union __anonunion_d_17996079 {
   char *ptr ;
   ASN1_OCTET_STRING *data ;
   PKCS7_SIGNED *sign ;
   PKCS7_ENVELOPE *enveloped ;
   PKCS7_SIGN_ENVELOPE *signed_and_enveloped ;
   PKCS7_DIGEST *digest ;
   PKCS7_ENCRYPT *encrypted ;
   ASN1_TYPE *other ;
};
struct pkcs7_st {
   unsigned char *asn1 ;
   long length ;
   int state ;
   int detached ;
   ASN1_OBJECT *type ;
   union __anonunion_d_17996079 d ;
};
typedef struct pkcs7_st PKCS7;
struct stack_st_PKCS7 ;
typedef int (*sk_PKCS7_compfunc)(PKCS7 const   **a , PKCS7 const   **b );
typedef void (*sk_PKCS7_freefunc)(PKCS7 *a );
typedef PKCS7 *(*sk_PKCS7_copyfunc)(PKCS7 const   *a );
typedef int pem_password_cb(char *buf , int size , int rwflag , void *userdata );
struct async_job_st ;
typedef struct async_job_st ASYNC_JOB;
struct async_wait_ctx_st ;
typedef struct async_wait_ctx_st ASYNC_WAIT_CTX;
enum __anonenum_ct_log_entry_type_t_530959079 {
    CT_LOG_ENTRY_TYPE_NOT_SET = -1,
    CT_LOG_ENTRY_TYPE_X509 = 0,
    CT_LOG_ENTRY_TYPE_PRECERT = 1
} ;
typedef enum __anonenum_ct_log_entry_type_t_530959079 ct_log_entry_type_t;
enum __anonenum_sct_version_t_79816351 {
    SCT_VERSION_NOT_SET = -1,
    SCT_VERSION_V1 = 0
} ;
typedef enum __anonenum_sct_version_t_79816351 sct_version_t;
enum __anonenum_sct_source_t_618265442 {
    SCT_SOURCE_UNKNOWN = 0,
    SCT_SOURCE_TLS_EXTENSION = 1,
    SCT_SOURCE_X509V3_EXTENSION = 2,
    SCT_SOURCE_OCSP_STAPLED_RESPONSE = 3
} ;
typedef enum __anonenum_sct_source_t_618265442 sct_source_t;
enum __anonenum_sct_validation_status_t_533125721 {
    SCT_VALIDATION_STATUS_NOT_SET = 0,
    SCT_VALIDATION_STATUS_UNKNOWN_LOG = 1,
    SCT_VALIDATION_STATUS_VALID = 2,
    SCT_VALIDATION_STATUS_INVALID = 3,
    SCT_VALIDATION_STATUS_UNVERIFIED = 4,
    SCT_VALIDATION_STATUS_UNKNOWN_VERSION = 5
} ;
typedef enum __anonenum_sct_validation_status_t_533125721 sct_validation_status_t;
struct stack_st_SCT ;
typedef int (*sk_SCT_compfunc)(SCT const   **a , SCT const   **b );
typedef void (*sk_SCT_freefunc)(SCT *a );
typedef SCT *(*sk_SCT_copyfunc)(SCT const   *a );
struct stack_st_CTLOG ;
typedef int (*sk_CTLOG_compfunc)(CTLOG const   **a , CTLOG const   **b );
typedef void (*sk_CTLOG_freefunc)(CTLOG *a );
typedef CTLOG *(*sk_CTLOG_copyfunc)(CTLOG const   *a );
typedef struct ssl_st *ssl_crock_st;
struct tls_session_ticket_ext_st ;
typedef struct tls_session_ticket_ext_st TLS_SESSION_TICKET_EXT;
struct ssl_method_st ;
typedef struct ssl_method_st SSL_METHOD;
struct ssl_cipher_st ;
typedef struct ssl_cipher_st SSL_CIPHER;
struct ssl_session_st ;
typedef struct ssl_session_st SSL_SESSION;
struct tls_sigalgs_st ;
typedef struct tls_sigalgs_st TLS_SIGALGS;
struct ssl_conf_ctx_st ;
typedef struct ssl_conf_ctx_st SSL_CONF_CTX;
struct ssl_comp_st ;
typedef struct ssl_comp_st SSL_COMP;
struct stack_st_SSL_CIPHER ;
struct stack_st_SSL_COMP ;
struct srtp_protection_profile_st {
   char const   *name ;
   unsigned long id ;
};
typedef struct srtp_protection_profile_st SRTP_PROTECTION_PROFILE;
struct stack_st_SRTP_PROTECTION_PROFILE ;
typedef int (*sk_SRTP_PROTECTION_PROFILE_compfunc)(SRTP_PROTECTION_PROFILE const   **a ,
                                                   SRTP_PROTECTION_PROFILE const   **b );
typedef void (*sk_SRTP_PROTECTION_PROFILE_freefunc)(SRTP_PROTECTION_PROFILE *a );
typedef SRTP_PROTECTION_PROFILE *(*sk_SRTP_PROTECTION_PROFILE_copyfunc)(SRTP_PROTECTION_PROFILE const   *a );
typedef int (*tls_session_ticket_ext_cb_fn)(SSL *s , unsigned char const   *data ,
                                            int len , void *arg );
typedef int (*tls_session_secret_cb_fn)(SSL *s , void *secret , int *secret_len ,
                                        struct stack_st_SSL_CIPHER *peer_ciphers ,
                                        SSL_CIPHER const   **cipher , void *arg );
typedef int (*custom_ext_add_cb)(SSL *s , unsigned int ext_type , unsigned char const   **out ,
                                 size_t *outlen , int *al , void *add_arg );
typedef void (*custom_ext_free_cb)(SSL *s , unsigned int ext_type , unsigned char const   *out ,
                                   void *add_arg );
typedef int (*custom_ext_parse_cb)(SSL *s , unsigned int ext_type , unsigned char const   *in ,
                                   size_t inlen , int *al , void *parse_arg );
typedef int (*SSL_custom_ext_add_cb_ex)(SSL *s , unsigned int ext_type , unsigned int context ,
                                        unsigned char const   **out , size_t *outlen ,
                                        X509 *x , size_t chainidx , int *al , void *add_arg );
typedef void (*SSL_custom_ext_free_cb_ex)(SSL *s , unsigned int ext_type , unsigned int context ,
                                          unsigned char const   *out , void *add_arg );
typedef int (*SSL_custom_ext_parse_cb_ex)(SSL *s , unsigned int ext_type , unsigned int context ,
                                          unsigned char const   *in , size_t inlen ,
                                          X509 *x , size_t chainidx , int *al , void *parse_arg );
typedef int (*SSL_verify_cb)(int preverify_ok , X509_STORE_CTX *x509_ctx );
typedef int (*GEN_SESSION_CB)(SSL *ssl , unsigned char *id , unsigned int *id_len );
struct lhash_st_SSL_SESSION ;
typedef int (*SSL_CTX_npn_advertised_cb_func)(SSL *ssl , unsigned char const   **out ,
                                              unsigned int *outlen , void *arg );
typedef int (*SSL_CTX_npn_select_cb_func)(SSL *s , unsigned char **out , unsigned char *outlen ,
                                          unsigned char const   *in , unsigned int inlen ,
                                          void *arg );
typedef int (*SSL_CTX_alpn_select_cb_func)(SSL *ssl , unsigned char const   **out ,
                                           unsigned char *outlen , unsigned char const   *in ,
                                           unsigned int inlen , void *arg );
typedef unsigned int (*SSL_psk_client_cb_func)(SSL *ssl , char const   *hint , char *identity ,
                                               unsigned int max_identity_len , unsigned char *psk ,
                                               unsigned int max_psk_len );
typedef unsigned int (*SSL_psk_server_cb_func)(SSL *ssl , char const   *identity ,
                                               unsigned char *psk , unsigned int max_psk_len );
typedef int (*SSL_psk_find_session_cb_func)(SSL *ssl , unsigned char const   *identity ,
                                            size_t identity_len , SSL_SESSION **sess );
typedef int (*SSL_psk_use_session_cb_func)(SSL *ssl , EVP_MD const   *md , unsigned char const   **id ,
                                           size_t *idlen , SSL_SESSION **sess );
typedef void (*SSL_CTX_keylog_cb_func)(SSL const   *ssl , char const   *line );
struct tls_session_ticket_ext_st {
   unsigned short length ;
   void *data ;
};
typedef int (*sk_SSL_CIPHER_compfunc)(SSL_CIPHER const   **a , SSL_CIPHER const   **b );
typedef void (*sk_SSL_CIPHER_freefunc)(SSL_CIPHER *a );
typedef SSL_CIPHER *(*sk_SSL_CIPHER_copyfunc)(SSL_CIPHER const   *a );
typedef int (*sk_SSL_COMP_compfunc)(SSL_COMP const   **a , SSL_COMP const   **b );
typedef void (*sk_SSL_COMP_freefunc)(SSL_COMP *a );
typedef SSL_COMP *(*sk_SSL_COMP_copyfunc)(SSL_COMP const   *a );
enum __anonenum_OSSL_HANDSHAKE_STATE_344460268 {
    TLS_ST_BEFORE = 0,
    TLS_ST_OK = 1,
    DTLS_ST_CR_HELLO_VERIFY_REQUEST = 2,
    TLS_ST_CR_SRVR_HELLO = 3,
    TLS_ST_CR_CERT = 4,
    TLS_ST_CR_CERT_STATUS = 5,
    TLS_ST_CR_KEY_EXCH = 6,
    TLS_ST_CR_CERT_REQ = 7,
    TLS_ST_CR_SRVR_DONE = 8,
    TLS_ST_CR_SESSION_TICKET = 9,
    TLS_ST_CR_CHANGE = 10,
    TLS_ST_CR_FINISHED = 11,
    TLS_ST_CW_CLNT_HELLO = 12,
    TLS_ST_CW_CERT = 13,
    TLS_ST_CW_KEY_EXCH = 14,
    TLS_ST_CW_CERT_VRFY = 15,
    TLS_ST_CW_CHANGE = 16,
    TLS_ST_CW_NEXT_PROTO = 17,
    TLS_ST_CW_FINISHED = 18,
    TLS_ST_SW_HELLO_REQ = 19,
    TLS_ST_SR_CLNT_HELLO = 20,
    DTLS_ST_SW_HELLO_VERIFY_REQUEST = 21,
    TLS_ST_SW_SRVR_HELLO = 22,
    TLS_ST_SW_CERT = 23,
    TLS_ST_SW_KEY_EXCH = 24,
    TLS_ST_SW_CERT_REQ = 25,
    TLS_ST_SW_SRVR_DONE = 26,
    TLS_ST_SR_CERT = 27,
    TLS_ST_SR_KEY_EXCH = 28,
    TLS_ST_SR_CERT_VRFY = 29,
    TLS_ST_SR_NEXT_PROTO = 30,
    TLS_ST_SR_CHANGE = 31,
    TLS_ST_SR_FINISHED = 32,
    TLS_ST_SW_SESSION_TICKET = 33,
    TLS_ST_SW_CERT_STATUS = 34,
    TLS_ST_SW_CHANGE = 35,
    TLS_ST_SW_FINISHED = 36,
    TLS_ST_SW_ENCRYPTED_EXTENSIONS = 37,
    TLS_ST_CR_ENCRYPTED_EXTENSIONS = 38,
    TLS_ST_CR_CERT_VRFY = 39,
    TLS_ST_SW_CERT_VRFY = 40,
    TLS_ST_CR_HELLO_REQ = 41,
    TLS_ST_SW_KEY_UPDATE = 42,
    TLS_ST_CW_KEY_UPDATE = 43,
    TLS_ST_SR_KEY_UPDATE = 44,
    TLS_ST_CR_KEY_UPDATE = 45,
    TLS_ST_EARLY_DATA = 46,
    TLS_ST_PENDING_EARLY_DATA_END = 47,
    TLS_ST_CW_END_OF_EARLY_DATA = 48,
    TLS_ST_SR_END_OF_EARLY_DATA = 49
} ;
typedef enum __anonenum_OSSL_HANDSHAKE_STATE_344460268 OSSL_HANDSHAKE_STATE;
typedef int (*SSL_client_hello_cb_fn)(SSL *s , int *al , void *arg );
typedef int (*ssl_ct_validation_cb)(CT_POLICY_EVAL_CTX const   *ctx , struct stack_st_SCT  const  *scts ,
                                    void *arg );
enum __anonenum_672052974 {
    SSL_CT_VALIDATION_PERMISSIVE = 0,
    SSL_CT_VALIDATION_STRICT = 1
} ;
struct openssl_ssl_test_functions ;
typedef int SSL_TICKET_STATUS;
typedef int SSL_TICKET_RETURN;
typedef int (*SSL_CTX_generate_session_ticket_fn)(SSL *s , void *arg );
typedef SSL_TICKET_RETURN (*SSL_CTX_decrypt_session_ticket_fn)(SSL *s , SSL_SESSION *ss ,
                                                               unsigned char const   *keyname ,
                                                               size_t keyname_length ,
                                                               SSL_TICKET_STATUS status ,
                                                               void *arg );
typedef unsigned int (*DTLS_timer_cb)(SSL *s , unsigned int timer_us );
typedef int (*SSL_allow_early_data_cb_fn)(SSL *s , void *arg );
struct err_state_st {
   int err_flags[16] ;
   unsigned long err_buffer[16] ;
   char *err_data[16] ;
   int err_data_flags[16] ;
   char const   *err_file[16] ;
   int err_line[16] ;
   int top ;
   int bottom ;
};
typedef struct err_state_st ERR_STATE;
struct ERR_string_data_st {
   unsigned long error ;
   char const   *string ;
};
typedef struct ERR_string_data_st ERR_STRING_DATA;
union lh_ERR_STRING_DATA_dummy {
   void *d1 ;
   unsigned long d2 ;
   int d3 ;
};
struct lhash_st_ERR_STRING_DATA {
   union lh_ERR_STRING_DATA_dummy dummy ;
};
typedef signed char __s8;
typedef unsigned char __u8;
typedef short __s16;
typedef unsigned short __u16;
typedef int __s32;
typedef unsigned int __u32;
typedef long long __s64;
typedef unsigned long long __u64;
struct __anonstruct___kernel_fd_set_603278005 {
   unsigned long fds_bits[1024UL / (8UL * sizeof(long ))] ;
};
typedef struct __anonstruct___kernel_fd_set_603278005 __kernel_fd_set;
typedef void (*__kernel_sighandler_t)(int  );
typedef int __kernel_key_t;
typedef int __kernel_mqd_t;
typedef unsigned short __kernel_old_uid_t;
typedef unsigned short __kernel_old_gid_t;
typedef unsigned long __kernel_old_dev_t;
typedef long __kernel_long_t;
typedef unsigned long __kernel_ulong_t;
typedef __kernel_ulong_t __kernel_ino_t;
typedef unsigned int __kernel_mode_t;
typedef int __kernel_pid_t;
typedef int __kernel_ipc_pid_t;
typedef unsigned int __kernel_uid_t;
typedef unsigned int __kernel_gid_t;
typedef __kernel_long_t __kernel_suseconds_t;
typedef int __kernel_daddr_t;
typedef unsigned int __kernel_uid32_t;
typedef unsigned int __kernel_gid32_t;
typedef __kernel_ulong_t __kernel_size_t;
typedef __kernel_long_t __kernel_ssize_t;
typedef __kernel_long_t __kernel_ptrdiff_t;
struct __anonstruct___kernel_fsid_t_1036346512 {
   int val[2] ;
};
typedef struct __anonstruct___kernel_fsid_t_1036346512 __kernel_fsid_t;
typedef __kernel_long_t __kernel_off_t;
typedef long long __kernel_loff_t;
typedef __kernel_long_t __kernel_time_t;
typedef __kernel_long_t __kernel_clock_t;
typedef int __kernel_timer_t;
typedef int __kernel_clockid_t;
typedef char *__kernel_caddr_t;
typedef unsigned short __kernel_uid16_t;
typedef unsigned short __kernel_gid16_t;
typedef __u16 __le16;
typedef __u16 __be16;
typedef __u32 __le32;
typedef __u32 __be32;
typedef __u64 __le64;
typedef __u64 __be64;
typedef __u16 __sum16;
typedef __u32 __wsum;
struct sysinfo {
   __kernel_long_t uptime ;
   __kernel_ulong_t loads[3] ;
   __kernel_ulong_t totalram ;
   __kernel_ulong_t freeram ;
   __kernel_ulong_t sharedram ;
   __kernel_ulong_t bufferram ;
   __kernel_ulong_t totalswap ;
   __kernel_ulong_t freeswap ;
   __u16 procs ;
   __u16 pad ;
   __kernel_ulong_t totalhigh ;
   __kernel_ulong_t freehigh ;
   __u32 mem_unit ;
   char _f[(20UL - 2UL * sizeof(__kernel_ulong_t )) - sizeof(__u32 )] ;
};
typedef uintmax_t timestamp_t;
struct strbuf ;
struct __anonstruct_CONF_VALUE_474234288 {
   char *section ;
   char *name ;
   char *value ;
};
typedef struct __anonstruct_CONF_VALUE_474234288 CONF_VALUE;
struct stack_st_CONF_VALUE ;
typedef int (*sk_CONF_VALUE_compfunc)(CONF_VALUE const   **a , CONF_VALUE const   **b );
typedef void (*sk_CONF_VALUE_freefunc)(CONF_VALUE *a );
typedef CONF_VALUE *(*sk_CONF_VALUE_copyfunc)(CONF_VALUE const   *a );
union lh_CONF_VALUE_dummy {
   void *d1 ;
   unsigned long d2 ;
   int d3 ;
};
struct lhash_st_CONF_VALUE {
   union lh_CONF_VALUE_dummy dummy ;
};
struct conf_method_st ;
typedef struct conf_method_st CONF_METHOD;
struct conf_method_st {
   char const   *name ;
   CONF *(*create)(CONF_METHOD *meth ) ;
   int (*init)(CONF *conf ) ;
   int (*destroy)(CONF *conf ) ;
   int (*destroy_data)(CONF *conf ) ;
   int (*load_bio)(CONF *conf , BIO *bp , long *eline ) ;
   int (*dump)(CONF const   *conf , BIO *bp ) ;
   int (*is_number)(CONF const   *conf , char c ) ;
   int (*to_int)(CONF const   *conf , char c ) ;
   int (*load)(CONF *conf , char const   *name , long *eline ) ;
};
struct conf_imodule_st ;
typedef struct conf_imodule_st CONF_IMODULE;
struct conf_module_st ;
typedef struct conf_module_st CONF_MODULE;
struct stack_st_CONF_MODULE ;
typedef int (*sk_CONF_MODULE_compfunc)(CONF_MODULE const   **a , CONF_MODULE const   **b );
typedef void (*sk_CONF_MODULE_freefunc)(CONF_MODULE *a );
typedef CONF_MODULE *(*sk_CONF_MODULE_copyfunc)(CONF_MODULE const   *a );
struct stack_st_CONF_IMODULE ;
typedef int (*sk_CONF_IMODULE_compfunc)(CONF_IMODULE const   **a , CONF_IMODULE const   **b );
typedef void (*sk_CONF_IMODULE_freefunc)(CONF_IMODULE *a );
typedef CONF_IMODULE *(*sk_CONF_IMODULE_copyfunc)(CONF_IMODULE const   *a );
typedef int conf_init_func(CONF_IMODULE *md , CONF const   *cnf );
typedef void conf_finish_func(CONF_IMODULE *md );
struct conf_st {
   CONF_METHOD *meth ;
   void *meth_data ;
   struct lhash_st_CONF_VALUE *data ;
};
struct v3_ext_method ;
typedef void *(*X509V3_EXT_NEW)(void);
typedef void (*X509V3_EXT_FREE)(void * );
typedef void *(*X509V3_EXT_D2I)(void * , unsigned char const   ** , long  );
typedef int (*X509V3_EXT_I2D)(void * , unsigned char ** );
typedef struct stack_st_CONF_VALUE *(*X509V3_EXT_I2V)(struct v3_ext_method  const  *method ,
                                                      void *ext , struct stack_st_CONF_VALUE *extlist );
typedef void *(*X509V3_EXT_V2I)(struct v3_ext_method  const  *method , struct v3_ext_ctx *ctx ,
                                struct stack_st_CONF_VALUE *values );
typedef char *(*X509V3_EXT_I2S)(struct v3_ext_method  const  *method , void *ext );
typedef void *(*X509V3_EXT_S2I)(struct v3_ext_method  const  *method , struct v3_ext_ctx *ctx ,
                                char const   *str );
typedef int (*X509V3_EXT_I2R)(struct v3_ext_method  const  *method , void *ext , BIO *out ,
                              int indent );
typedef void *(*X509V3_EXT_R2I)(struct v3_ext_method  const  *method , struct v3_ext_ctx *ctx ,
                                char const   *str );
struct v3_ext_method {
   int ext_nid ;
   int ext_flags ;
   ASN1_ITEM_EXP *it ;
   void *(*ext_new)(void) ;
   void (*ext_free)(void * ) ;
   void *(*d2i)(void * , unsigned char const   ** , long  ) ;
   int (*i2d)(void * , unsigned char ** ) ;
   char *(*i2s)(struct v3_ext_method  const  *method , void *ext ) ;
   void *(*s2i)(struct v3_ext_method  const  *method , struct v3_ext_ctx *ctx , char const   *str ) ;
   struct stack_st_CONF_VALUE *(*i2v)(struct v3_ext_method  const  *method , void *ext ,
                                      struct stack_st_CONF_VALUE *extlist ) ;
   void *(*v2i)(struct v3_ext_method  const  *method , struct v3_ext_ctx *ctx , struct stack_st_CONF_VALUE *values ) ;
   int (*i2r)(struct v3_ext_method  const  *method , void *ext , BIO *out , int indent ) ;
   void *(*r2i)(struct v3_ext_method  const  *method , struct v3_ext_ctx *ctx , char const   *str ) ;
   void *usr_data ;
};
struct X509V3_CONF_METHOD_st {
   char *(*get_string)(void *db , char const   *section , char const   *value ) ;
   struct stack_st_CONF_VALUE *(*get_section)(void *db , char const   *section ) ;
   void (*free_string)(void *db , char *string ) ;
   void (*free_section)(void *db , struct stack_st_CONF_VALUE *section ) ;
};
typedef struct X509V3_CONF_METHOD_st X509V3_CONF_METHOD;
struct v3_ext_ctx {
   int flags ;
   X509 *issuer_cert ;
   X509 *subject_cert ;
   X509_REQ *subject_req ;
   X509_CRL *crl ;
   X509V3_CONF_METHOD *db_meth ;
   void *db ;
};
typedef struct v3_ext_method X509V3_EXT_METHOD;
struct stack_st_X509V3_EXT_METHOD ;
typedef int (*sk_X509V3_EXT_METHOD_compfunc)(X509V3_EXT_METHOD const   **a , X509V3_EXT_METHOD const   **b );
typedef void (*sk_X509V3_EXT_METHOD_freefunc)(X509V3_EXT_METHOD *a );
typedef X509V3_EXT_METHOD *(*sk_X509V3_EXT_METHOD_copyfunc)(X509V3_EXT_METHOD const   *a );
typedef BIT_STRING_BITNAME ENUMERATED_NAMES;
struct BASIC_CONSTRAINTS_st {
   int ca ;
   ASN1_INTEGER *pathlen ;
};
typedef struct BASIC_CONSTRAINTS_st BASIC_CONSTRAINTS;
struct PKEY_USAGE_PERIOD_st {
   ASN1_GENERALIZEDTIME *notBefore ;
   ASN1_GENERALIZEDTIME *notAfter ;
};
typedef struct PKEY_USAGE_PERIOD_st PKEY_USAGE_PERIOD;
struct otherName_st {
   ASN1_OBJECT *type_id ;
   ASN1_TYPE *value ;
};
typedef struct otherName_st OTHERNAME;
struct EDIPartyName_st {
   ASN1_STRING *nameAssigner ;
   ASN1_STRING *partyName ;
};
typedef struct EDIPartyName_st EDIPARTYNAME;
union __anonunion_d_825737363 {
   char *ptr ;
   OTHERNAME *otherName ;
   ASN1_IA5STRING *rfc822Name ;
   ASN1_IA5STRING *dNSName ;
   ASN1_TYPE *x400Address ;
   X509_NAME *directoryName ;
   EDIPARTYNAME *ediPartyName ;
   ASN1_IA5STRING *uniformResourceIdentifier ;
   ASN1_OCTET_STRING *iPAddress ;
   ASN1_OBJECT *registeredID ;
   ASN1_OCTET_STRING *ip ;
   X509_NAME *dirn ;
   ASN1_IA5STRING *ia5 ;
   ASN1_OBJECT *rid ;
   ASN1_TYPE *other ;
};
struct GENERAL_NAME_st {
   int type ;
   union __anonunion_d_825737363 d ;
};
typedef struct GENERAL_NAME_st GENERAL_NAME;
struct ACCESS_DESCRIPTION_st {
   ASN1_OBJECT *method ;
   GENERAL_NAME *location ;
};
typedef struct ACCESS_DESCRIPTION_st ACCESS_DESCRIPTION;
struct stack_st_ACCESS_DESCRIPTION ;
typedef struct stack_st_ACCESS_DESCRIPTION AUTHORITY_INFO_ACCESS;
typedef struct stack_st_ASN1_OBJECT EXTENDED_KEY_USAGE;
typedef struct stack_st_ASN1_INTEGER TLS_FEATURE;
struct stack_st_GENERAL_NAME ;
typedef int (*sk_GENERAL_NAME_compfunc)(GENERAL_NAME const   **a , GENERAL_NAME const   **b );
typedef void (*sk_GENERAL_NAME_freefunc)(GENERAL_NAME *a );
typedef GENERAL_NAME *(*sk_GENERAL_NAME_copyfunc)(GENERAL_NAME const   *a );
typedef struct stack_st_GENERAL_NAME GENERAL_NAMES;
struct stack_st_GENERAL_NAMES ;
typedef int (*sk_GENERAL_NAMES_compfunc)(GENERAL_NAMES const   **a , GENERAL_NAMES const   **b );
typedef void (*sk_GENERAL_NAMES_freefunc)(GENERAL_NAMES *a );
typedef GENERAL_NAMES *(*sk_GENERAL_NAMES_copyfunc)(GENERAL_NAMES const   *a );
typedef int (*sk_ACCESS_DESCRIPTION_compfunc)(ACCESS_DESCRIPTION const   **a , ACCESS_DESCRIPTION const   **b );
typedef void (*sk_ACCESS_DESCRIPTION_freefunc)(ACCESS_DESCRIPTION *a );
typedef ACCESS_DESCRIPTION *(*sk_ACCESS_DESCRIPTION_copyfunc)(ACCESS_DESCRIPTION const   *a );
union __anonunion_name_997224671 {
   GENERAL_NAMES *fullname ;
   struct stack_st_X509_NAME_ENTRY *relativename ;
};
struct DIST_POINT_NAME_st {
   int type ;
   union __anonunion_name_997224671 name ;
   X509_NAME *dpname ;
};
typedef struct DIST_POINT_NAME_st DIST_POINT_NAME;
struct DIST_POINT_st {
   DIST_POINT_NAME *distpoint ;
   ASN1_BIT_STRING *reasons ;
   GENERAL_NAMES *CRLissuer ;
   int dp_reasons ;
};
struct stack_st_DIST_POINT ;
typedef struct stack_st_DIST_POINT CRL_DIST_POINTS;
typedef int (*sk_DIST_POINT_compfunc)(DIST_POINT const   **a , DIST_POINT const   **b );
typedef void (*sk_DIST_POINT_freefunc)(DIST_POINT *a );
typedef DIST_POINT *(*sk_DIST_POINT_copyfunc)(DIST_POINT const   *a );
struct AUTHORITY_KEYID_st {
   ASN1_OCTET_STRING *keyid ;
   GENERAL_NAMES *issuer ;
   ASN1_INTEGER *serial ;
};
struct SXNET_ID_st {
   ASN1_INTEGER *zone ;
   ASN1_OCTET_STRING *user ;
};
typedef struct SXNET_ID_st SXNETID;
struct stack_st_SXNETID ;
typedef int (*sk_SXNETID_compfunc)(SXNETID const   **a , SXNETID const   **b );
typedef void (*sk_SXNETID_freefunc)(SXNETID *a );
typedef SXNETID *(*sk_SXNETID_copyfunc)(SXNETID const   *a );
struct SXNET_st {
   ASN1_INTEGER *version ;
   struct stack_st_SXNETID *ids ;
};
typedef struct SXNET_st SXNET;
struct NOTICEREF_st {
   ASN1_STRING *organization ;
   struct stack_st_ASN1_INTEGER *noticenos ;
};
typedef struct NOTICEREF_st NOTICEREF;
struct USERNOTICE_st {
   NOTICEREF *noticeref ;
   ASN1_STRING *exptext ;
};
typedef struct USERNOTICE_st USERNOTICE;
union __anonunion_d_953320009 {
   ASN1_IA5STRING *cpsuri ;
   USERNOTICE *usernotice ;
   ASN1_TYPE *other ;
};
struct POLICYQUALINFO_st {
   ASN1_OBJECT *pqualid ;
   union __anonunion_d_953320009 d ;
};
typedef struct POLICYQUALINFO_st POLICYQUALINFO;
typedef int (*sk_POLICYQUALINFO_compfunc)(POLICYQUALINFO const   **a , POLICYQUALINFO const   **b );
typedef void (*sk_POLICYQUALINFO_freefunc)(POLICYQUALINFO *a );
typedef POLICYQUALINFO *(*sk_POLICYQUALINFO_copyfunc)(POLICYQUALINFO const   *a );
struct POLICYINFO_st {
   ASN1_OBJECT *policyid ;
   struct stack_st_POLICYQUALINFO *qualifiers ;
};
typedef struct POLICYINFO_st POLICYINFO;
struct stack_st_POLICYINFO ;
typedef struct stack_st_POLICYINFO CERTIFICATEPOLICIES;
typedef int (*sk_POLICYINFO_compfunc)(POLICYINFO const   **a , POLICYINFO const   **b );
typedef void (*sk_POLICYINFO_freefunc)(POLICYINFO *a );
typedef POLICYINFO *(*sk_POLICYINFO_copyfunc)(POLICYINFO const   *a );
struct POLICY_MAPPING_st {
   ASN1_OBJECT *issuerDomainPolicy ;
   ASN1_OBJECT *subjectDomainPolicy ;
};
typedef struct POLICY_MAPPING_st POLICY_MAPPING;
struct stack_st_POLICY_MAPPING ;
typedef int (*sk_POLICY_MAPPING_compfunc)(POLICY_MAPPING const   **a , POLICY_MAPPING const   **b );
typedef void (*sk_POLICY_MAPPING_freefunc)(POLICY_MAPPING *a );
typedef POLICY_MAPPING *(*sk_POLICY_MAPPING_copyfunc)(POLICY_MAPPING const   *a );
typedef struct stack_st_POLICY_MAPPING POLICY_MAPPINGS;
struct GENERAL_SUBTREE_st {
   GENERAL_NAME *base ;
   ASN1_INTEGER *minimum ;
   ASN1_INTEGER *maximum ;
};
typedef struct GENERAL_SUBTREE_st GENERAL_SUBTREE;
struct stack_st_GENERAL_SUBTREE ;
typedef int (*sk_GENERAL_SUBTREE_compfunc)(GENERAL_SUBTREE const   **a , GENERAL_SUBTREE const   **b );
typedef void (*sk_GENERAL_SUBTREE_freefunc)(GENERAL_SUBTREE *a );
typedef GENERAL_SUBTREE *(*sk_GENERAL_SUBTREE_copyfunc)(GENERAL_SUBTREE const   *a );
struct NAME_CONSTRAINTS_st {
   struct stack_st_GENERAL_SUBTREE *permittedSubtrees ;
   struct stack_st_GENERAL_SUBTREE *excludedSubtrees ;
};
struct POLICY_CONSTRAINTS_st {
   ASN1_INTEGER *requireExplicitPolicy ;
   ASN1_INTEGER *inhibitPolicyMapping ;
};
typedef struct POLICY_CONSTRAINTS_st POLICY_CONSTRAINTS;
struct PROXY_POLICY_st {
   ASN1_OBJECT *policyLanguage ;
   ASN1_OCTET_STRING *policy ;
};
typedef struct PROXY_POLICY_st PROXY_POLICY;
struct PROXY_CERT_INFO_EXTENSION_st {
   ASN1_INTEGER *pcPathLengthConstraint ;
   PROXY_POLICY *proxyPolicy ;
};
typedef struct PROXY_CERT_INFO_EXTENSION_st PROXY_CERT_INFO_EXTENSION;
struct ISSUING_DIST_POINT_st {
   DIST_POINT_NAME *distpoint ;
   int onlyuser ;
   int onlyCA ;
   ASN1_BIT_STRING *onlysomereasons ;
   int indirectCRL ;
   int onlyattr ;
};
struct x509_purpose_st {
   int purpose ;
   int trust ;
   int flags ;
   int (*check_purpose)(struct x509_purpose_st  const  * , X509 const   * , int  ) ;
   char *name ;
   char *sname ;
   void *usr_data ;
};
typedef struct x509_purpose_st X509_PURPOSE;
struct stack_st_X509_PURPOSE ;
typedef int (*sk_X509_PURPOSE_compfunc)(X509_PURPOSE const   **a , X509_PURPOSE const   **b );
typedef void (*sk_X509_PURPOSE_freefunc)(X509_PURPOSE *a );
typedef X509_PURPOSE *(*sk_X509_PURPOSE_copyfunc)(X509_PURPOSE const   *a );
typedef int (*sk_X509_POLICY_NODE_compfunc)(X509_POLICY_NODE const   **a , X509_POLICY_NODE const   **b );
typedef void (*sk_X509_POLICY_NODE_freefunc)(X509_POLICY_NODE *a );
typedef X509_POLICY_NODE *(*sk_X509_POLICY_NODE_copyfunc)(X509_POLICY_NODE const   *a );
struct ASRange_st {
   ASN1_INTEGER *min ;
   ASN1_INTEGER *max ;
};
typedef struct ASRange_st ASRange;
union __anonunion_u_643682872 {
   ASN1_INTEGER *id ;
   ASRange *range ;
};
struct ASIdOrRange_st {
   int type ;
   union __anonunion_u_643682872 u ;
};
typedef struct ASIdOrRange_st ASIdOrRange;
struct stack_st_ASIdOrRange ;
typedef struct stack_st_ASIdOrRange ASIdOrRanges;
typedef int (*sk_ASIdOrRange_compfunc)(ASIdOrRange const   **a , ASIdOrRange const   **b );
typedef void (*sk_ASIdOrRange_freefunc)(ASIdOrRange *a );
typedef ASIdOrRange *(*sk_ASIdOrRange_copyfunc)(ASIdOrRange const   *a );
union __anonunion_u_404627303 {
   ASN1_NULL *inherit ;
   ASIdOrRanges *asIdsOrRanges ;
};
struct ASIdentifierChoice_st {
   int type ;
   union __anonunion_u_404627303 u ;
};
typedef struct ASIdentifierChoice_st ASIdentifierChoice;
struct ASIdentifiers_st {
   ASIdentifierChoice *asnum ;
   ASIdentifierChoice *rdi ;
};
typedef struct ASIdentifiers_st ASIdentifiers;
struct IPAddressRange_st {
   ASN1_BIT_STRING *min ;
   ASN1_BIT_STRING *max ;
};
typedef struct IPAddressRange_st IPAddressRange;
union __anonunion_u_177824633 {
   ASN1_BIT_STRING *addressPrefix ;
   IPAddressRange *addressRange ;
};
struct IPAddressOrRange_st {
   int type ;
   union __anonunion_u_177824633 u ;
};
typedef struct IPAddressOrRange_st IPAddressOrRange;
struct stack_st_IPAddressOrRange ;
typedef struct stack_st_IPAddressOrRange IPAddressOrRanges;
typedef int (*sk_IPAddressOrRange_compfunc)(IPAddressOrRange const   **a , IPAddressOrRange const   **b );
typedef void (*sk_IPAddressOrRange_freefunc)(IPAddressOrRange *a );
typedef IPAddressOrRange *(*sk_IPAddressOrRange_copyfunc)(IPAddressOrRange const   *a );
union __anonunion_u_513869189 {
   ASN1_NULL *inherit ;
   IPAddressOrRanges *addressesOrRanges ;
};
struct IPAddressChoice_st {
   int type ;
   union __anonunion_u_513869189 u ;
};
typedef struct IPAddressChoice_st IPAddressChoice;
struct IPAddressFamily_st {
   ASN1_OCTET_STRING *addressFamily ;
   IPAddressChoice *ipAddressChoice ;
};
typedef struct IPAddressFamily_st IPAddressFamily;
struct stack_st_IPAddressFamily ;
typedef struct stack_st_IPAddressFamily IPAddrBlocks;
typedef int (*sk_IPAddressFamily_compfunc)(IPAddressFamily const   **a , IPAddressFamily const   **b );
typedef void (*sk_IPAddressFamily_freefunc)(IPAddressFamily *a );
typedef IPAddressFamily *(*sk_IPAddressFamily_copyfunc)(IPAddressFamily const   *a );
struct stack_st_ASN1_STRING ;
typedef int (*sk_ASN1_STRING_compfunc)(ASN1_STRING const   **a , ASN1_STRING const   **b );
typedef void (*sk_ASN1_STRING_freefunc)(ASN1_STRING *a );
typedef ASN1_STRING *(*sk_ASN1_STRING_copyfunc)(ASN1_STRING const   *a );
struct NamingAuthority_st ;
typedef struct NamingAuthority_st NAMING_AUTHORITY;
struct ProfessionInfo_st ;
typedef struct ProfessionInfo_st PROFESSION_INFO;
struct Admissions_st ;
typedef struct Admissions_st ADMISSIONS;
struct AdmissionSyntax_st ;
typedef struct AdmissionSyntax_st ADMISSION_SYNTAX;
struct stack_st_ADMISSIONS ;
typedef int (*sk_ADMISSIONS_compfunc)(ADMISSIONS const   **a , ADMISSIONS const   **b );
typedef void (*sk_ADMISSIONS_freefunc)(ADMISSIONS *a );
typedef ADMISSIONS *(*sk_ADMISSIONS_copyfunc)(ADMISSIONS const   *a );
struct stack_st_PROFESSION_INFO ;
typedef int (*sk_PROFESSION_INFO_compfunc)(PROFESSION_INFO const   **a , PROFESSION_INFO const   **b );
typedef void (*sk_PROFESSION_INFO_freefunc)(PROFESSION_INFO *a );
typedef PROFESSION_INFO *(*sk_PROFESSION_INFO_copyfunc)(PROFESSION_INFO const   *a );
typedef struct stack_st_PROFESSION_INFO PROFESSION_INFOS;
typedef void (*report_fn)(char const   * , va_list params );
struct string_list ;
struct strbuf {
   size_t alloc ;
   size_t len ;
   char *buf ;
};
struct object_id ;
typedef size_t (*expand_fn_t)(struct strbuf *sb , char const   *placeholder , void *context );
struct strbuf_expand_dict_entry {
   char const   *placeholder ;
   char const   *value ;
};
typedef int (*strbuf_getline_fn)(struct strbuf * , FILE * );
struct repository ;
typedef int (*char_predicate)(char ch );
struct path_cache {
   char const   *squash_msg ;
   char const   *merge_msg ;
   char const   *merge_rr ;
   char const   *merge_mode ;
   char const   *merge_head ;
   char const   *merge_autostash ;
   char const   *auto_merge ;
   char const   *fetch_head ;
   char const   *shallow ;
};
struct config_set ;
struct git_hash_algo ;
struct index_state ;
struct lock_file ;
struct pathspec ;
struct raw_object_store ;
struct submodule_cache ;
struct promisor_remote_config ;
struct remote_state ;
enum untracked_cache_setting {
    UNTRACKED_CACHE_KEEP = 0,
    UNTRACKED_CACHE_REMOVE = 1,
    UNTRACKED_CACHE_WRITE = 2
} ;
enum fetch_negotiation_setting {
    FETCH_NEGOTIATION_DEFAULT = 0,
    FETCH_NEGOTIATION_SKIPPING = 1,
    FETCH_NEGOTIATION_NOOP = 2
} ;
struct repo_settings {
   int initialized ;
   int core_commit_graph ;
   int commit_graph_read_changed_paths ;
   int gc_write_commit_graph ;
   int fetch_write_commit_graph ;
   int command_requires_full_index ;
   int sparse_index ;
   int index_version ;
   enum untracked_cache_setting core_untracked_cache ;
   int pack_use_sparse ;
   enum fetch_negotiation_setting fetch_negotiation_algorithm ;
   int core_multi_pack_index ;
};
struct parsed_object_pool ;
struct ref_store ;
struct repository {
   char *gitdir ;
   char *commondir ;
   struct raw_object_store *objects ;
   struct parsed_object_pool *parsed_objects ;
   struct ref_store *refs_private ;
   struct path_cache cached_paths ;
   char *graft_file ;
   char *index_file ;
   char *worktree ;
   char *submodule_prefix ;
   struct repo_settings settings ;
   struct config_set *config ;
   struct submodule_cache *submodule_cache ;
   struct index_state *index ;
   struct remote_state *remote_state ;
   struct git_hash_algo  const  *hash_algo ;
   int trace2_repo_id ;
   int commit_graph_disabled ;
   char *repository_format_partial_clone ;
   struct promisor_remote_config *promisor_remote_config ;
   unsigned int different_commondir : 1 ;
};
struct set_gitdir_args {
   char const   *commondir ;
   char const   *object_dir ;
   char const   *graft_file ;
   char const   *index_file ;
   char const   *alternate_db ;
   int disable_ref_updates ;
};
typedef void (*sha1_recompression_type)(uint32_t * , uint32_t * , uint32_t const   * ,
                                        uint32_t const   * );
typedef void (*collision_block_callback)(uint64_t  , uint32_t const   * , uint32_t const   * ,
                                         uint32_t const   * , uint32_t const   * );
struct __anonstruct_SHA1_CTX_833614446 {
   uint64_t total ;
   uint32_t ihv[5] ;
   unsigned char buffer[64] ;
   int found_collision ;
   int safe_hash ;
   int detect_coll ;
   int ubc_check ;
   int reduced_round_coll ;
   void (*callback)(uint64_t  , uint32_t const   * , uint32_t const   * , uint32_t const   * ,
                    uint32_t const   * ) ;
   uint32_t ihv1[5] ;
   uint32_t ihv2[5] ;
   uint32_t m1[80] ;
   uint32_t m2[80] ;
   uint32_t states[80][5] ;
};
typedef struct __anonstruct_SHA1_CTX_833614446 SHA1_CTX;
struct blk_SHA256_CTX {
   uint32_t state[8] ;
   uint64_t size ;
   uint32_t offset ;
   uint8_t buf[64] ;
};
typedef struct blk_SHA256_CTX blk_SHA256_CTX;
struct object_id {
   unsigned char hash[32] ;
   int algo ;
};
union git_hash_ctx {
   SHA1_CTX sha1 ;
   blk_SHA256_CTX sha256 ;
};
typedef union git_hash_ctx git_hash_ctx;
typedef void (*git_hash_init_fn)(git_hash_ctx *ctx );
typedef void (*git_hash_clone_fn)(git_hash_ctx *dst , git_hash_ctx const   *src );
typedef void (*git_hash_update_fn)(git_hash_ctx *ctx , void const   *in , size_t len );
typedef void (*git_hash_final_fn)(unsigned char *hash , git_hash_ctx *ctx );
typedef void (*git_hash_final_oid_fn)(struct object_id *oid , git_hash_ctx *ctx );
struct git_hash_algo {
   char const   *name ;
   uint32_t format_id ;
   size_t rawsz ;
   size_t hexsz ;
   size_t blksz ;
   void (*init_fn)(git_hash_ctx *ctx ) ;
   void (*clone_fn)(git_hash_ctx *dst , git_hash_ctx const   *src ) ;
   void (*update_fn)(git_hash_ctx *ctx , void const   *in , size_t len ) ;
   void (*final_fn)(unsigned char *hash , git_hash_ctx *ctx ) ;
   void (*final_oid_fn)(struct object_id *oid , git_hash_ctx *ctx ) ;
   struct object_id  const  *empty_tree ;
   struct object_id  const  *empty_blob ;
   struct object_id  const  *null_oid ;
};
struct hashmap_entry {
   struct hashmap_entry *next ;
   unsigned int hash ;
};
typedef int (*hashmap_cmp_fn)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                              struct hashmap_entry  const  *entry_or_key , void const   *keydata );
struct hashmap {
   struct hashmap_entry **table ;
   int (*cmpfn)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                struct hashmap_entry  const  *entry_or_key , void const   *keydata ) ;
   void const   *cmpfn_data ;
   unsigned int private_size ;
   unsigned int tablesize ;
   unsigned int grow_at ;
   unsigned int shrink_at ;
   unsigned int do_count_items : 1 ;
};
struct hashmap_iter {
   struct hashmap *map ;
   struct hashmap_entry *next ;
   unsigned int tablepos ;
};
struct list_head {
   struct list_head *next ;
   struct list_head *prev ;
};
struct volatile_list_head {
   struct volatile_list_head  volatile  *next ;
   struct volatile_list_head  volatile  *prev ;
};
enum advice_type {
    ADVICE_ADD_EMBEDDED_REPO = 0,
    ADVICE_ADD_EMPTY_PATHSPEC = 1,
    ADVICE_ADD_IGNORED_FILE = 2,
    ADVICE_AM_WORK_DIR = 3,
    ADVICE_CHECKOUT_AMBIGUOUS_REMOTE_BRANCH_NAME = 4,
    ADVICE_COMMIT_BEFORE_MERGE = 5,
    ADVICE_DETACHED_HEAD = 6,
    ADVICE_FETCH_SHOW_FORCED_UPDATES = 7,
    ADVICE_GRAFT_FILE_DEPRECATED = 8,
    ADVICE_IGNORED_HOOK = 9,
    ADVICE_IMPLICIT_IDENTITY = 10,
    ADVICE_NESTED_TAG = 11,
    ADVICE_OBJECT_NAME_WARNING = 12,
    ADVICE_PUSH_ALREADY_EXISTS = 13,
    ADVICE_PUSH_FETCH_FIRST = 14,
    ADVICE_PUSH_NEEDS_FORCE = 15,
    ADVICE_PUSH_NON_FF_CURRENT = 16,
    ADVICE_PUSH_NON_FF_MATCHING = 17,
    ADVICE_PUSH_UNQUALIFIED_REF_NAME = 18,
    ADVICE_PUSH_UPDATE_REJECTED_ALIAS = 19,
    ADVICE_PUSH_UPDATE_REJECTED = 20,
    ADVICE_PUSH_REF_NEEDS_UPDATE = 21,
    ADVICE_RESET_QUIET_WARNING = 22,
    ADVICE_RESOLVE_CONFLICT = 23,
    ADVICE_RM_HINTS = 24,
    ADVICE_SEQUENCER_IN_USE = 25,
    ADVICE_SET_UPSTREAM_FAILURE = 26,
    ADVICE_STATUS_AHEAD_BEHIND_WARNING = 27,
    ADVICE_STATUS_HINTS = 28,
    ADVICE_STATUS_U_OPTION = 29,
    ADVICE_SUBMODULE_ALTERNATE_ERROR_STRATEGY_DIE = 30,
    ADVICE_UPDATE_SPARSE_PATH = 31,
    ADVICE_WAITING_FOR_EDITOR = 32,
    ADVICE_SKIPPED_CHERRY_PICKS = 33
} ;
struct lconv {
   char *decimal_point ;
   char *thousands_sep ;
   char *grouping ;
   char *int_curr_symbol ;
   char *currency_symbol ;
   char *mon_decimal_point ;
   char *mon_thousands_sep ;
   char *mon_grouping ;
   char *positive_sign ;
   char *negative_sign ;
   char int_frac_digits ;
   char frac_digits ;
   char p_cs_precedes ;
   char p_sep_by_space ;
   char n_cs_precedes ;
   char n_sep_by_space ;
   char p_sign_posn ;
   char n_sign_posn ;
   char int_p_cs_precedes ;
   char int_p_sep_by_space ;
   char int_n_cs_precedes ;
   char int_n_sep_by_space ;
   char int_p_sign_posn ;
   char int_n_sign_posn ;
};
struct string_list_item {
   char *string ;
   void *util ;
};
typedef int (*compare_strings_fn)(char const   * , char const   * );
struct string_list {
   struct string_list_item *items ;
   unsigned int nr ;
   unsigned int alloc ;
   unsigned int strdup_strings : 1 ;
   int (*cmp)(char const   * , char const   * ) ;
};
typedef int (*string_list_each_func_t)(struct string_list_item * , void * );
typedef void (*string_list_clear_func_t)(void *p , char const   *str );
enum auto_crlf {
    AUTO_CRLF_FALSE = 0,
    AUTO_CRLF_TRUE = 1,
    AUTO_CRLF_INPUT = -1
} ;
enum eol {
    EOL_UNSET = 0,
    EOL_CRLF = 1,
    EOL_LF = 2,
    EOL_NATIVE = 2
} ;
enum ce_delay_state {
    CE_NO_DELAY = 0,
    CE_CAN_DELAY = 1,
    CE_RETRY = 2
} ;
struct delayed_checkout {
   enum ce_delay_state state ;
   struct string_list filters ;
   struct string_list paths ;
};
struct checkout_metadata {
   char const   *refname ;
   struct object_id treeish ;
   struct object_id blob ;
};
enum convert_crlf_action {
    CRLF_UNDEFINED = 0,
    CRLF_BINARY = 1,
    CRLF_TEXT = 2,
    CRLF_TEXT_INPUT = 3,
    CRLF_TEXT_CRLF = 4,
    CRLF_AUTO = 5,
    CRLF_AUTO_INPUT = 6,
    CRLF_AUTO_CRLF = 7
} ;
struct convert_driver ;
struct conv_attrs {
   struct convert_driver *drv ;
   enum convert_crlf_action attr_action ;
   enum convert_crlf_action crlf_action ;
   int ident ;
   char const   *working_tree_encoding ;
};
struct stream_filter ;
enum conv_attrs_classification {
    CA_CLASS_INCORE = 0,
    CA_CLASS_INCORE_FILTER = 1,
    CA_CLASS_INCORE_PROCESS = 2,
    CA_CLASS_STREAMABLE = 3
} ;
struct trace_key {
   char const   *key ;
   int fd ;
   unsigned int initialized : 1 ;
   unsigned int need_close : 1 ;
};
struct child_process ;
struct json_writer ;
enum trace2_process_info_reason {
    TRACE2_PROCESS_INFO_STARTUP = 0,
    TRACE2_PROCESS_INFO_EXIT = 1
} ;
struct packed_git ;
struct multi_pack_index ;
struct oid_array {
   struct object_id *oid ;
   size_t nr ;
   size_t alloc ;
   int sorted ;
};
typedef int (*for_each_oid_fn)(struct object_id  const  *oid , void *data );
struct mp_block {
   struct mp_block *next_block ;
   char *next_free ;
   char *end ;
   uintmax_t space[] ;
};
struct mem_pool {
   struct mp_block *mp_block ;
   size_t block_alloc ;
   size_t pool_alloc ;
};
typedef size_t z_size_t;
typedef unsigned char Byte;
typedef unsigned int uInt;
typedef unsigned long uLong;
typedef Byte Bytef;
typedef char charf;
typedef int intf;
typedef uInt uIntf;
typedef uLong uLongf;
typedef void const   *voidpc;
typedef void *voidpf;
typedef void *voidp;
typedef unsigned int z_crc_t;
typedef voidpf (*alloc_func)(voidpf opaque , uInt items , uInt size );
typedef void (*free_func)(voidpf opaque , voidpf address );
struct internal_state ;
struct z_stream_s {
   Bytef *next_in ;
   uInt avail_in ;
   uLong total_in ;
   Bytef *next_out ;
   uInt avail_out ;
   uLong total_out ;
   char *msg ;
   struct internal_state *state ;
   voidpf (*zalloc)(voidpf opaque , uInt items , uInt size ) ;
   void (*zfree)(voidpf opaque , voidpf address ) ;
   voidpf opaque ;
   int data_type ;
   uLong adler ;
   uLong reserved ;
};
typedef struct z_stream_s z_stream;
typedef z_stream *z_streamp;
struct gz_header_s {
   int text ;
   uLong time ;
   int xflags ;
   int os ;
   Bytef *extra ;
   uInt extra_len ;
   uInt extra_max ;
   Bytef *name ;
   uInt name_max ;
   Bytef *comment ;
   uInt comm_max ;
   int hcrc ;
   int done ;
};
typedef struct gz_header_s gz_header;
typedef gz_header *gz_headerp;
typedef unsigned int (*in_func)(void * , unsigned char ** );
typedef int (*out_func)(void * , unsigned char * , unsigned int  );
struct gzFile_s ;
typedef struct gzFile_s *gzFile;
struct gzFile_s {
   unsigned int have ;
   unsigned char *next ;
   off64_t pos ;
};
struct git_zstream {
   z_stream z ;
   unsigned long avail_in ;
   unsigned long avail_out ;
   unsigned long total_in ;
   unsigned long total_out ;
   unsigned char *next_in ;
   unsigned char *next_out ;
};
typedef struct git_zstream git_zstream;
struct cache_header {
   uint32_t hdr_signature ;
   uint32_t hdr_version ;
   uint32_t hdr_entries ;
};
struct cache_time {
   uint32_t sec ;
   uint32_t nsec ;
};
struct stat_data {
   struct cache_time sd_ctime ;
   struct cache_time sd_mtime ;
   unsigned int sd_dev ;
   unsigned int sd_ino ;
   unsigned int sd_uid ;
   unsigned int sd_gid ;
   unsigned int sd_size ;
};
struct cache_entry {
   struct hashmap_entry ent ;
   struct stat_data ce_stat_data ;
   unsigned int ce_mode ;
   unsigned int ce_flags ;
   unsigned int mem_pool_allocated ;
   unsigned int ce_namelen ;
   unsigned int index ;
   struct object_id oid ;
   char name[] ;
};
struct tree ;
struct split_index ;
struct untracked_cache ;
struct progress ;
struct pattern_list ;
struct cache_tree ;
struct ewah_bitmap ;
struct index_state {
   struct cache_entry **cache ;
   unsigned int version ;
   unsigned int cache_nr ;
   unsigned int cache_alloc ;
   unsigned int cache_changed ;
   struct string_list *resolve_undo ;
   struct cache_tree *cache_tree ;
   struct split_index *split_index ;
   struct cache_time timestamp ;
   unsigned int name_hash_initialized : 1 ;
   unsigned int initialized : 1 ;
   unsigned int drop_cache_tree : 1 ;
   unsigned int updated_workdir : 1 ;
   unsigned int updated_skipworktree : 1 ;
   unsigned int fsmonitor_has_run_once : 1 ;
   unsigned int sparse_index : 1 ;
   struct hashmap name_hash ;
   struct hashmap dir_hash ;
   struct object_id oid ;
   struct untracked_cache *untracked ;
   char *fsmonitor_last_update ;
   struct ewah_bitmap *fsmonitor_dirty ;
   struct mem_pool *ce_mem_pool ;
   struct progress *progress ;
   struct repository *repo ;
   struct pattern_list *sparse_checkout_patterns ;
};
typedef int (*must_prefetch_predicate)(struct cache_entry  const  * );
enum object_type {
    OBJ_BAD = -1,
    OBJ_NONE = 0,
    OBJ_COMMIT = 1,
    OBJ_TREE = 2,
    OBJ_BLOB = 3,
    OBJ_TAG = 4,
    OBJ_OFS_DELTA = 6,
    OBJ_REF_DELTA = 7,
    OBJ_ANY = 8,
    OBJ_MAX = 9
} ;
enum log_refs_config {
    LOG_REFS_UNSET = -1,
    LOG_REFS_NONE = 0,
    LOG_REFS_NORMAL = 1,
    LOG_REFS_ALWAYS = 2
} ;
enum rebase_setup_type {
    AUTOREBASE_NEVER = 0,
    AUTOREBASE_LOCAL = 1,
    AUTOREBASE_REMOTE = 2,
    AUTOREBASE_ALWAYS = 3
} ;
enum push_default_type {
    PUSH_DEFAULT_NOTHING = 0,
    PUSH_DEFAULT_MATCHING = 1,
    PUSH_DEFAULT_SIMPLE = 2,
    PUSH_DEFAULT_UPSTREAM = 3,
    PUSH_DEFAULT_CURRENT = 4,
    PUSH_DEFAULT_UNSPECIFIED = 5
} ;
enum object_creation_mode {
    OBJECT_CREATION_USES_HARDLINKS = 0,
    OBJECT_CREATION_USES_RENAMES = 1
} ;
struct repository_format {
   int version ;
   int precious_objects ;
   char *partial_clone ;
   int worktree_config ;
   int is_bare ;
   int hash_algo ;
   int sparse_index ;
   char *work_tree ;
   struct string_list unknown_extensions ;
   struct string_list v1_only_extensions ;
};
enum sharedrepo {
    PERM_UMASK = 0,
    OLD_PERM_GROUP = 1,
    OLD_PERM_EVERYBODY = 2,
    PERM_GROUP = 432,
    PERM_EVERYBODY = 436
} ;
enum scld_error {
    SCLD_OK = 0,
    SCLD_FAILED = -1,
    SCLD_PERMS = -2,
    SCLD_EXISTS = -3,
    SCLD_VANISHED = -4
} ;
enum unpack_loose_header_result {
    ULHR_OK = 0,
    ULHR_BAD = 1,
    ULHR_TOO_LONG = 2
} ;
struct object_info ;
struct object_context {
   unsigned short mode ;
   struct strbuf symlink_path ;
   char *path ;
};
enum get_oid_result {
    FOUND = 0,
    MISSING_OBJECT = -1,
    SHORT_NAME_AMBIGUOUS = -2,
    DANGLING_SYMLINK = -4,
    SYMLINK_LOOP = -5,
    NOT_DIR = -6
} ;
typedef int each_abbrev_fn(struct object_id  const  *oid , void * );
struct interpret_branch_name_options {
   unsigned int allowed ;
   unsigned int nonfatal_dangling_mark : 1 ;
};
struct object ;
enum date_mode_type {
    DATE_NORMAL = 0,
    DATE_HUMAN = 1,
    DATE_RELATIVE = 2,
    DATE_SHORT = 3,
    DATE_ISO8601 = 4,
    DATE_ISO8601_STRICT = 5,
    DATE_RFC2822 = 6,
    DATE_STRFTIME = 7,
    DATE_RAW = 8,
    DATE_UNIX = 9
} ;
struct date_mode {
   enum date_mode_type type ;
   char const   *strftime_fmt ;
   int local ;
};
enum want_ident {
    WANT_BLANK_IDENT = 0,
    WANT_AUTHOR_IDENT = 1,
    WANT_COMMITTER_IDENT = 2
} ;
struct ident_split {
   char const   *name_begin ;
   char const   *name_end ;
   char const   *mail_begin ;
   char const   *mail_end ;
   char const   *date_begin ;
   char const   *date_end ;
   char const   *tz_begin ;
   char const   *tz_end ;
};
struct cache_def {
   struct strbuf path ;
   int flags ;
   int track_flags ;
   int prefix_len_stat_func ;
};
struct pack_window {
   struct pack_window *next ;
   unsigned char *base ;
   off_t offset ;
   size_t len ;
   unsigned int last_used ;
   unsigned int inuse_cnt ;
};
struct pack_entry {
   off_t offset ;
   struct packed_git *p ;
};
struct startup_info {
   int have_repository ;
   char const   *prefix ;
   char const   *original_cwd ;
};
struct commit_list ;
struct stat_validity {
   struct stat_data *sd ;
};
struct oidmap_entry {
   struct hashmap_entry internal_entry ;
   struct object_id oid ;
};
struct oidmap {
   struct hashmap map ;
};
struct oidmap_iter {
   struct hashmap_iter h_iter ;
};
typedef uint32_t khint32_t;
typedef uint64_t khint64_t;
typedef khint32_t khint_t;
typedef khint_t khiter_t;
struct __anonstruct_kh_oid_set_t_644990648 {
   khint_t n_buckets ;
   khint_t size ;
   khint_t n_occupied ;
   khint_t upper_bound ;
   khint32_t *flags ;
   struct object_id *keys ;
   int *vals ;
};
typedef struct __anonstruct_kh_oid_set_t_644990648 kh_oid_set_t;
struct __anonstruct_kh_oid_map_t_221587928 {
   khint_t n_buckets ;
   khint_t size ;
   khint_t n_occupied ;
   khint_t upper_bound ;
   khint32_t *flags ;
   struct object_id *keys ;
   void **vals ;
};
typedef struct __anonstruct_kh_oid_map_t_221587928 kh_oid_map_t;
struct __anonstruct_kh_oid_pos_t_644990649 {
   khint_t n_buckets ;
   khint_t size ;
   khint_t n_occupied ;
   khint_t upper_bound ;
   khint32_t *flags ;
   struct object_id *keys ;
   int *vals ;
};
typedef struct __anonstruct_kh_oid_pos_t_644990649 kh_oid_pos_t;
struct dir_entry {
   unsigned int len ;
   char name[] ;
};
struct path_pattern {
   struct pattern_list *pl ;
   char const   *pattern ;
   int patternlen ;
   int nowildcardlen ;
   char const   *base ;
   int baselen ;
   unsigned int flags ;
   int srcpos ;
};
struct pattern_entry {
   struct hashmap_entry ent ;
   char *pattern ;
   size_t patternlen ;
};
struct pattern_list {
   int nr ;
   int alloc ;
   char *filebuf ;
   char const   *src ;
   struct path_pattern **patterns ;
   unsigned int use_cone_patterns ;
   unsigned int full_cone ;
   struct hashmap recursive_hashmap ;
   struct hashmap parent_hashmap ;
};
struct untracked_cache_dir ;
struct exclude_stack {
   struct exclude_stack *prev ;
   int baselen ;
   int exclude_ix ;
   struct untracked_cache_dir *ucd ;
};
struct exclude_list_group {
   int nr ;
   int alloc ;
   struct pattern_list *pl ;
};
struct oid_stat {
   struct stat_data stat ;
   struct object_id oid ;
   int valid ;
};
struct untracked_cache_dir {
   struct untracked_cache_dir **dirs ;
   char **untracked ;
   struct stat_data stat_data ;
   unsigned int untracked_alloc ;
   unsigned int dirs_nr ;
   unsigned int dirs_alloc ;
   unsigned int untracked_nr ;
   unsigned int check_only : 1 ;
   unsigned int valid : 1 ;
   unsigned int recurse : 1 ;
   struct object_id exclude_oid ;
   char name[] ;
};
struct untracked_cache {
   struct oid_stat ss_info_exclude ;
   struct oid_stat ss_excludes_file ;
   char const   *exclude_per_dir ;
   struct strbuf ident ;
   unsigned int dir_flags ;
   struct untracked_cache_dir *root ;
   int dir_created ;
   int gitignore_invalidated ;
   int dir_invalidated ;
   int dir_opened ;
   unsigned int use_fsmonitor : 1 ;
};
enum __anonenum_flags_165983474 {
    DIR_SHOW_IGNORED = 1,
    DIR_SHOW_OTHER_DIRECTORIES = 2,
    DIR_HIDE_EMPTY_DIRECTORIES = 4,
    DIR_NO_GITLINKS = 8,
    DIR_COLLECT_IGNORED = 16,
    DIR_SHOW_IGNORED_TOO = 32,
    DIR_COLLECT_KILLED_ONLY = 64,
    DIR_KEEP_UNTRACKED_CONTENTS = 128,
    DIR_SHOW_IGNORED_TOO_MODE_MATCHING = 256,
    DIR_SKIP_NESTED_GIT = 512
} ;
struct dir_struct {
   int nr ;
   int alloc ;
   int ignored_nr ;
   int ignored_alloc ;
   enum __anonenum_flags_165983474 flags ;
   struct dir_entry **entries ;
   struct dir_entry **ignored ;
   char const   *exclude_per_dir ;
   struct exclude_list_group exclude_list_group[3] ;
   struct exclude_stack *exclude_stack ;
   struct path_pattern *pattern ;
   struct strbuf basebuf ;
   struct untracked_cache *untracked ;
   struct oid_stat ss_info_exclude ;
   struct oid_stat ss_excludes_file ;
   unsigned int unmanaged_exclude_files ;
   unsigned int visited_paths ;
   unsigned int visited_directories ;
};
enum pattern_match_result {
    UNDECIDED = -1,
    NOT_MATCHED = 0,
    MATCHED = 1,
    MATCHED_RECURSIVE = 2
} ;
struct pathspec_item ;
struct cb_node ;
struct cb_node {
   struct cb_node *child[2] ;
   uint32_t byte ;
   uint8_t otherbits ;
   uint8_t k[] ;
};
struct cb_tree {
   struct cb_node *root ;
};
enum cb_next {
    CB_CONTINUE = 0,
    CB_BREAK = 1
} ;
typedef enum cb_next (*cb_iter)(struct cb_node * , void *arg );
struct oidtree {
   struct cb_tree tree ;
   struct mem_pool mem_pool ;
};
typedef enum cb_next (*oidtree_iter)(struct object_id  const  * , void *data );
struct oidset {
   kh_oid_set_t set ;
};
typedef int (*oidset_parse_tweak_fn)(struct object_id * , void * );
struct oidset_iter {
   kh_oid_set_t *set ;
   khiter_t iter ;
};
struct object_directory {
   struct object_directory *next ;
   uint32_t loose_objects_subdir_seen[8] ;
   struct oidtree *loose_objects_cache ;
   int disable_ref_updates ;
   int will_destroy ;
   char *path ;
};
struct __anonstruct_kh_odb_path_map_t_481509408 {
   khint_t n_buckets ;
   khint_t size ;
   khint_t n_occupied ;
   khint_t upper_bound ;
   khint32_t *flags ;
   char const   **keys ;
   struct object_directory **vals ;
};
typedef struct __anonstruct_kh_odb_path_map_t_481509408 kh_odb_path_map_t;
typedef int alt_odb_fn(struct object_directory * , void * );
typedef void alternate_ref_fn(struct object_id  const  *oid , void * );
struct revindex_entry ;
struct packed_git {
   struct hashmap_entry packmap_ent ;
   struct packed_git *next ;
   struct list_head mru ;
   struct pack_window *windows ;
   off_t pack_size ;
   void const   *index_data ;
   size_t index_size ;
   uint32_t num_objects ;
   uint32_t crc_offset ;
   struct oidset bad_objects ;
   int index_version ;
   time_t mtime ;
   int pack_fd ;
   int index ;
   unsigned int pack_local : 1 ;
   unsigned int pack_keep : 1 ;
   unsigned int pack_keep_in_core : 1 ;
   unsigned int freshened : 1 ;
   unsigned int do_not_close : 1 ;
   unsigned int pack_promisor : 1 ;
   unsigned int multi_pack_index : 1 ;
   unsigned char hash[32] ;
   struct revindex_entry *revindex ;
   uint32_t const   *revindex_data ;
   uint32_t const   *revindex_map ;
   size_t revindex_size ;
   char pack_name[] ;
};
struct commit_graph ;
struct __anonstruct_kept_pack_cache_574019002 {
   struct packed_git **packs ;
   unsigned int flags ;
};
struct raw_object_store {
   struct object_directory *odb ;
   struct object_directory **odb_tail ;
   kh_odb_path_map_t *odb_by_path ;
   int loaded_alternates ;
   char *alternate_db ;
   struct oidmap *replace_map ;
   unsigned int replace_map_initialized : 1 ;
   pthread_mutex_t replace_mutex ;
   struct commit_graph *commit_graph ;
   unsigned int commit_graph_attempted : 1 ;
   struct multi_pack_index *multi_pack_index ;
   struct packed_git *packed_git ;
   struct list_head packed_git_mru ;
   struct __anonstruct_kept_pack_cache_574019002 kept_pack_cache ;
   struct hashmap pack_map ;
   unsigned long approximate_object_count ;
   unsigned int approximate_object_count_valid : 1 ;
   unsigned int packed_git_initialized : 1 ;
};
enum __anonenum_whence_657228489 {
    OI_CACHED = 0,
    OI_LOOSE = 1,
    OI_PACKED = 2,
    OI_DBCACHED = 3
} ;
struct __anonstruct_packed_263676569 {
   struct packed_git *pack ;
   off_t offset ;
   unsigned int is_delta ;
};
union __anonunion_u_72190597 {
   struct __anonstruct_packed_263676569 packed ;
};
struct object_info {
   enum object_type *typep ;
   unsigned long *sizep ;
   off_t *disk_sizep ;
   struct object_id *delta_base_oid ;
   struct strbuf *type_name ;
   void **contentp ;
   enum __anonenum_whence_657228489 whence ;
   union __anonunion_u_72190597 u ;
};
typedef int each_loose_object_fn(struct object_id  const  *oid , char const   *path ,
                                 void *data );
typedef int each_loose_cruft_fn(char const   *__xpg_basename , char const   *path ,
                                void *data );
typedef int each_loose_subdir_fn(unsigned int nr , char const   *path , void *data );
enum for_each_object_flags {
    FOR_EACH_OBJECT_LOCAL_ONLY = 1,
    FOR_EACH_OBJECT_PROMISOR_ONLY = 2,
    FOR_EACH_OBJECT_PACK_ORDER = 4,
    FOR_EACH_OBJECT_SKIP_IN_CORE_KEPT_PACKS = 8,
    FOR_EACH_OBJECT_SKIP_ON_DISK_KEPT_PACKS = 16
} ;
typedef int each_packed_object_fn(struct object_id  const  *oid , struct packed_git *pack ,
                                  uint32_t pos , void *data );
struct commit ;
struct bloom_filter_settings ;
struct topo_level_slab ;
struct commit_graph {
   unsigned char const   *data ;
   size_t data_len ;
   unsigned char hash_len ;
   unsigned char num_chunks ;
   uint32_t num_commits ;
   struct object_id oid ;
   char *filename ;
   struct object_directory *odb ;
   uint32_t num_commits_in_base ;
   unsigned int read_generation_data ;
   struct commit_graph *base_graph ;
   uint32_t const   *chunk_oid_fanout ;
   unsigned char const   *chunk_oid_lookup ;
   unsigned char const   *chunk_commit_data ;
   unsigned char const   *chunk_generation_data ;
   unsigned char const   *chunk_generation_data_overflow ;
   unsigned char const   *chunk_extra_edges ;
   unsigned char const   *chunk_base_graphs ;
   unsigned char const   *chunk_bloom_indexes ;
   unsigned char const   *chunk_bloom_data ;
   struct topo_level_slab *topo_levels ;
   struct bloom_filter_settings *bloom_filter_settings ;
};
enum commit_graph_write_flags {
    COMMIT_GRAPH_WRITE_APPEND = 1,
    COMMIT_GRAPH_WRITE_PROGRESS = 2,
    COMMIT_GRAPH_WRITE_SPLIT = 4,
    COMMIT_GRAPH_WRITE_BLOOM_FILTERS = 8,
    COMMIT_GRAPH_NO_WRITE_BLOOM_FILTERS = 16
} ;
enum commit_graph_split_flags {
    COMMIT_GRAPH_SPLIT_UNSPECIFIED = 0,
    COMMIT_GRAPH_SPLIT_MERGE_PROHIBITED = 1,
    COMMIT_GRAPH_SPLIT_REPLACE = 2
} ;
struct commit_graph_opts {
   int size_multiple ;
   int max_commits ;
   timestamp_t expire_time ;
   enum commit_graph_split_flags split_flags ;
   int max_new_filters ;
};
struct commit_graph_data {
   uint32_t graph_pos ;
   timestamp_t generation ;
};
enum __anonenum_437032235___0 {
    _PC_LINK_MAX___0 = 0,
    _PC_MAX_CANON___0 = 1,
    _PC_MAX_INPUT___0 = 2,
    _PC_NAME_MAX___0 = 3,
    _PC_PATH_MAX___0 = 4,
    _PC_PIPE_BUF___0 = 5,
    _PC_CHOWN_RESTRICTED___0 = 6,
    _PC_NO_TRUNC___0 = 7,
    _PC_VDISABLE___0 = 8,
    _PC_SYNC_IO___0 = 9,
    _PC_ASYNC_IO___0 = 10,
    _PC_PRIO_IO___0 = 11,
    _PC_SOCK_MAXBUF___0 = 12,
    _PC_FILESIZEBITS___0 = 13,
    _PC_REC_INCR_XFER_SIZE___0 = 14,
    _PC_REC_MAX_XFER_SIZE___0 = 15,
    _PC_REC_MIN_XFER_SIZE___0 = 16,
    _PC_REC_XFER_ALIGN___0 = 17,
    _PC_ALLOC_SIZE_MIN___0 = 18,
    _PC_SYMLINK_MAX___0 = 19,
    _PC_2_SYMLINKS___0 = 20
} ;
enum __anonenum_315186338___0 {
    _SC_ARG_MAX___0 = 0,
    _SC_CHILD_MAX___0 = 1,
    _SC_CLK_TCK___0 = 2,
    _SC_NGROUPS_MAX___0 = 3,
    _SC_OPEN_MAX___0 = 4,
    _SC_STREAM_MAX___0 = 5,
    _SC_TZNAME_MAX___0 = 6,
    _SC_JOB_CONTROL___0 = 7,
    _SC_SAVED_IDS___0 = 8,
    _SC_REALTIME_SIGNALS___0 = 9,
    _SC_PRIORITY_SCHEDULING___0 = 10,
    _SC_TIMERS___0 = 11,
    _SC_ASYNCHRONOUS_IO___0 = 12,
    _SC_PRIORITIZED_IO___0 = 13,
    _SC_SYNCHRONIZED_IO___0 = 14,
    _SC_FSYNC___0 = 15,
    _SC_MAPPED_FILES___0 = 16,
    _SC_MEMLOCK___0 = 17,
    _SC_MEMLOCK_RANGE___0 = 18,
    _SC_MEMORY_PROTECTION___0 = 19,
    _SC_MESSAGE_PASSING___0 = 20,
    _SC_SEMAPHORES___0 = 21,
    _SC_SHARED_MEMORY_OBJECTS___0 = 22,
    _SC_AIO_LISTIO_MAX___0 = 23,
    _SC_AIO_MAX___0 = 24,
    _SC_AIO_PRIO_DELTA_MAX___0 = 25,
    _SC_DELAYTIMER_MAX___0 = 26,
    _SC_MQ_OPEN_MAX___0 = 27,
    _SC_MQ_PRIO_MAX___0 = 28,
    _SC_VERSION___0 = 29,
    _SC_PAGESIZE___0 = 30,
    _SC_RTSIG_MAX___0 = 31,
    _SC_SEM_NSEMS_MAX___0 = 32,
    _SC_SEM_VALUE_MAX___0 = 33,
    _SC_SIGQUEUE_MAX___0 = 34,
    _SC_TIMER_MAX___0 = 35,
    _SC_BC_BASE_MAX___0 = 36,
    _SC_BC_DIM_MAX___0 = 37,
    _SC_BC_SCALE_MAX___0 = 38,
    _SC_BC_STRING_MAX___0 = 39,
    _SC_COLL_WEIGHTS_MAX___0 = 40,
    _SC_EQUIV_CLASS_MAX___0 = 41,
    _SC_EXPR_NEST_MAX___0 = 42,
    _SC_LINE_MAX___0 = 43,
    _SC_RE_DUP_MAX___0 = 44,
    _SC_CHARCLASS_NAME_MAX___0 = 45,
    _SC_2_VERSION___0 = 46,
    _SC_2_C_BIND___0 = 47,
    _SC_2_C_DEV___0 = 48,
    _SC_2_FORT_DEV___0 = 49,
    _SC_2_FORT_RUN___0 = 50,
    _SC_2_SW_DEV___0 = 51,
    _SC_2_LOCALEDEF___0 = 52,
    _SC_PII___0 = 53,
    _SC_PII_XTI___0 = 54,
    _SC_PII_SOCKET___0 = 55,
    _SC_PII_INTERNET___0 = 56,
    _SC_PII_OSI___0 = 57,
    _SC_POLL___0 = 58,
    _SC_SELECT___0 = 59,
    _SC_UIO_MAXIOV___0 = 60,
    _SC_IOV_MAX___0 = 60,
    _SC_PII_INTERNET_STREAM___0 = 61,
    _SC_PII_INTERNET_DGRAM___0 = 62,
    _SC_PII_OSI_COTS___0 = 63,
    _SC_PII_OSI_CLTS___0 = 64,
    _SC_PII_OSI_M___0 = 65,
    _SC_T_IOV_MAX___0 = 66,
    _SC_THREADS___0 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___0 = 68,
    _SC_GETGR_R_SIZE_MAX___0 = 69,
    _SC_GETPW_R_SIZE_MAX___0 = 70,
    _SC_LOGIN_NAME_MAX___0 = 71,
    _SC_TTY_NAME_MAX___0 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___0 = 73,
    _SC_THREAD_KEYS_MAX___0 = 74,
    _SC_THREAD_STACK_MIN___0 = 75,
    _SC_THREAD_THREADS_MAX___0 = 76,
    _SC_THREAD_ATTR_STACKADDR___0 = 77,
    _SC_THREAD_ATTR_STACKSIZE___0 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___0 = 79,
    _SC_THREAD_PRIO_INHERIT___0 = 80,
    _SC_THREAD_PRIO_PROTECT___0 = 81,
    _SC_THREAD_PROCESS_SHARED___0 = 82,
    _SC_NPROCESSORS_CONF___0 = 83,
    _SC_NPROCESSORS_ONLN___0 = 84,
    _SC_PHYS_PAGES___0 = 85,
    _SC_AVPHYS_PAGES___0 = 86,
    _SC_ATEXIT_MAX___0 = 87,
    _SC_PASS_MAX___0 = 88,
    _SC_XOPEN_VERSION___0 = 89,
    _SC_XOPEN_XCU_VERSION___0 = 90,
    _SC_XOPEN_UNIX___0 = 91,
    _SC_XOPEN_CRYPT___0 = 92,
    _SC_XOPEN_ENH_I18N___0 = 93,
    _SC_XOPEN_SHM___0 = 94,
    _SC_2_CHAR_TERM___0 = 95,
    _SC_2_C_VERSION___0 = 96,
    _SC_2_UPE___0 = 97,
    _SC_XOPEN_XPG2___0 = 98,
    _SC_XOPEN_XPG3___0 = 99,
    _SC_XOPEN_XPG4___0 = 100,
    _SC_CHAR_BIT___0 = 101,
    _SC_CHAR_MAX___0 = 102,
    _SC_CHAR_MIN___0 = 103,
    _SC_INT_MAX___0 = 104,
    _SC_INT_MIN___0 = 105,
    _SC_LONG_BIT___0 = 106,
    _SC_WORD_BIT___0 = 107,
    _SC_MB_LEN_MAX___0 = 108,
    _SC_NZERO___0 = 109,
    _SC_SSIZE_MAX___0 = 110,
    _SC_SCHAR_MAX___0 = 111,
    _SC_SCHAR_MIN___0 = 112,
    _SC_SHRT_MAX___0 = 113,
    _SC_SHRT_MIN___0 = 114,
    _SC_UCHAR_MAX___0 = 115,
    _SC_UINT_MAX___0 = 116,
    _SC_ULONG_MAX___0 = 117,
    _SC_USHRT_MAX___0 = 118,
    _SC_NL_ARGMAX___0 = 119,
    _SC_NL_LANGMAX___0 = 120,
    _SC_NL_MSGMAX___0 = 121,
    _SC_NL_NMAX___0 = 122,
    _SC_NL_SETMAX___0 = 123,
    _SC_NL_TEXTMAX___0 = 124,
    _SC_XBS5_ILP32_OFF32___0 = 125,
    _SC_XBS5_ILP32_OFFBIG___0 = 126,
    _SC_XBS5_LP64_OFF64___0 = 127,
    _SC_XBS5_LPBIG_OFFBIG___0 = 128,
    _SC_XOPEN_LEGACY___0 = 129,
    _SC_XOPEN_REALTIME___0 = 130,
    _SC_XOPEN_REALTIME_THREADS___0 = 131,
    _SC_ADVISORY_INFO___0 = 132,
    _SC_BARRIERS___0 = 133,
    _SC_BASE___0 = 134,
    _SC_C_LANG_SUPPORT___0 = 135,
    _SC_C_LANG_SUPPORT_R___0 = 136,
    _SC_CLOCK_SELECTION___0 = 137,
    _SC_CPUTIME___0 = 138,
    _SC_THREAD_CPUTIME___0 = 139,
    _SC_DEVICE_IO___0 = 140,
    _SC_DEVICE_SPECIFIC___0 = 141,
    _SC_DEVICE_SPECIFIC_R___0 = 142,
    _SC_FD_MGMT___0 = 143,
    _SC_FIFO___0 = 144,
    _SC_PIPE___0 = 145,
    _SC_FILE_ATTRIBUTES___0 = 146,
    _SC_FILE_LOCKING___0 = 147,
    _SC_FILE_SYSTEM___0 = 148,
    _SC_MONOTONIC_CLOCK___0 = 149,
    _SC_MULTI_PROCESS___0 = 150,
    _SC_SINGLE_PROCESS___0 = 151,
    _SC_NETWORKING___0 = 152,
    _SC_READER_WRITER_LOCKS___0 = 153,
    _SC_SPIN_LOCKS___0 = 154,
    _SC_REGEXP___0 = 155,
    _SC_REGEX_VERSION___0 = 156,
    _SC_SHELL___0 = 157,
    _SC_SIGNALS___0 = 158,
    _SC_SPAWN___0 = 159,
    _SC_SPORADIC_SERVER___0 = 160,
    _SC_THREAD_SPORADIC_SERVER___0 = 161,
    _SC_SYSTEM_DATABASE___0 = 162,
    _SC_SYSTEM_DATABASE_R___0 = 163,
    _SC_TIMEOUTS___0 = 164,
    _SC_TYPED_MEMORY_OBJECTS___0 = 165,
    _SC_USER_GROUPS___0 = 166,
    _SC_USER_GROUPS_R___0 = 167,
    _SC_2_PBS___0 = 168,
    _SC_2_PBS_ACCOUNTING___0 = 169,
    _SC_2_PBS_LOCATE___0 = 170,
    _SC_2_PBS_MESSAGE___0 = 171,
    _SC_2_PBS_TRACK___0 = 172,
    _SC_SYMLOOP_MAX___0 = 173,
    _SC_STREAMS___0 = 174,
    _SC_2_PBS_CHECKPOINT___0 = 175,
    _SC_V6_ILP32_OFF32___0 = 176,
    _SC_V6_ILP32_OFFBIG___0 = 177,
    _SC_V6_LP64_OFF64___0 = 178,
    _SC_V6_LPBIG_OFFBIG___0 = 179,
    _SC_HOST_NAME_MAX___0 = 180,
    _SC_TRACE___0 = 181,
    _SC_TRACE_EVENT_FILTER___0 = 182,
    _SC_TRACE_INHERIT___0 = 183,
    _SC_TRACE_LOG___0 = 184,
    _SC_LEVEL1_ICACHE_SIZE___0 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___0 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___0 = 187,
    _SC_LEVEL1_DCACHE_SIZE___0 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___0 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___0 = 190,
    _SC_LEVEL2_CACHE_SIZE___0 = 191,
    _SC_LEVEL2_CACHE_ASSOC___0 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___0 = 193,
    _SC_LEVEL3_CACHE_SIZE___0 = 194,
    _SC_LEVEL3_CACHE_ASSOC___0 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___0 = 196,
    _SC_LEVEL4_CACHE_SIZE___0 = 197,
    _SC_LEVEL4_CACHE_ASSOC___0 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___0 = 199,
    _SC_IPV6___0 = 235,
    _SC_RAW_SOCKETS___0 = 236,
    _SC_V7_ILP32_OFF32___0 = 237,
    _SC_V7_ILP32_OFFBIG___0 = 238,
    _SC_V7_LP64_OFF64___0 = 239,
    _SC_V7_LPBIG_OFFBIG___0 = 240,
    _SC_SS_REPL_MAX___0 = 241,
    _SC_TRACE_EVENT_NAME_MAX___0 = 242,
    _SC_TRACE_NAME_MAX___0 = 243,
    _SC_TRACE_SYS_MAX___0 = 244,
    _SC_TRACE_USER_EVENT_MAX___0 = 245,
    _SC_XOPEN_STREAMS___0 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___0 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___0 = 248
} ;
enum __anonenum_875524036___0 {
    _CS_PATH___0 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___0 = 1,
    _CS_GNU_LIBC_VERSION___0 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___0 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___0 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___0 = 5,
    _CS_LFS_CFLAGS___0 = 1000,
    _CS_LFS_LDFLAGS___0 = 1001,
    _CS_LFS_LIBS___0 = 1002,
    _CS_LFS_LINTFLAGS___0 = 1003,
    _CS_LFS64_CFLAGS___0 = 1004,
    _CS_LFS64_LDFLAGS___0 = 1005,
    _CS_LFS64_LIBS___0 = 1006,
    _CS_LFS64_LINTFLAGS___0 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___0 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___0 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___0 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___0 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___0 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___0 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___0 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___0 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___0 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___0 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___0 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___0 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___0 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___0 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___0 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___0 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___0 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___0 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___0 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___0 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___0 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___0 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___0 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___0 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___0 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___0 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___0 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___0 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___0 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___0 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___0 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___0 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___0 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___0 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___0 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___0 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___0 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___0 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___0 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___0 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___0 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___0 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___0 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___0 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___0 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___0 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___0 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___0 = 1147,
    _CS_V6_ENV___0 = 1148,
    _CS_V7_ENV___0 = 1149
} ;
enum __anonenum_513775621___0 {
    DT_UNKNOWN___0 = 0,
    DT_FIFO___0 = 1,
    DT_CHR___0 = 2,
    DT_DIR___0 = 4,
    DT_BLK___0 = 6,
    DT_REG___0 = 8,
    DT_LNK___0 = 10,
    DT_SOCK___0 = 12,
    DT_WHT___0 = 14
} ;
enum __anonenum_77002343___0 {
    SI_ASYNCNL___0 = -60,
    SI_TKILL___0 = -6,
    SI_SIGIO___0 = -5,
    SI_ASYNCIO___0 = -4,
    SI_MESGQ___0 = -3,
    SI_TIMER___0 = -2,
    SI_QUEUE___0 = -1,
    SI_USER___0 = 0,
    SI_KERNEL___0 = 128
} ;
enum __anonenum_131038172___0 {
    ILL_ILLOPC___0 = 1,
    ILL_ILLOPN___0 = 2,
    ILL_ILLADR___0 = 3,
    ILL_ILLTRP___0 = 4,
    ILL_PRVOPC___0 = 5,
    ILL_PRVREG___0 = 6,
    ILL_COPROC___0 = 7,
    ILL_BADSTK___0 = 8
} ;
enum __anonenum_452038093___0 {
    FPE_INTDIV___0 = 1,
    FPE_INTOVF___0 = 2,
    FPE_FLTDIV___0 = 3,
    FPE_FLTOVF___0 = 4,
    FPE_FLTUND___0 = 5,
    FPE_FLTRES___0 = 6,
    FPE_FLTINV___0 = 7,
    FPE_FLTSUB___0 = 8
} ;
enum __anonenum_30976155___0 {
    SEGV_MAPERR___0 = 1,
    SEGV_ACCERR___0 = 2,
    SEGV_BNDERR___0 = 3,
    SEGV_PKUERR___0 = 4
} ;
enum __anonenum_1036286214___0 {
    BUS_ADRALN___0 = 1,
    BUS_ADRERR___0 = 2,
    BUS_OBJERR___0 = 3,
    BUS_MCEERR_AR___0 = 4,
    BUS_MCEERR_AO___0 = 5
} ;
enum __anonenum_493465559___0 {
    TRAP_BRKPT___0 = 1,
    TRAP_TRACE___0 = 2
} ;
enum __anonenum_23175539___0 {
    CLD_EXITED___0 = 1,
    CLD_KILLED___0 = 2,
    CLD_DUMPED___0 = 3,
    CLD_TRAPPED___0 = 4,
    CLD_STOPPED___0 = 5,
    CLD_CONTINUED___0 = 6
} ;
enum __anonenum_111643124___0 {
    POLL_IN___0 = 1,
    POLL_OUT___0 = 2,
    POLL_MSG___0 = 3,
    POLL_ERR___0 = 4,
    POLL_PRI___0 = 5,
    POLL_HUP___0 = 6
} ;
enum __anonenum_852341087___0 {
    SIGEV_SIGNAL___0 = 0,
    SIGEV_NONE___0 = 1,
    SIGEV_THREAD___0 = 2,
    SIGEV_THREAD_ID___0 = 4
} ;
enum __anonenum_451154152___0 {
    REG_R8___0 = 0,
    REG_R9___0 = 1,
    REG_R10___0 = 2,
    REG_R11___0 = 3,
    REG_R12___0 = 4,
    REG_R13___0 = 5,
    REG_R14___0 = 6,
    REG_R15___0 = 7,
    REG_RDI___0 = 8,
    REG_RSI___0 = 9,
    REG_RBP___0 = 10,
    REG_RBX___0 = 11,
    REG_RDX___0 = 12,
    REG_RAX___0 = 13,
    REG_RCX___0 = 14,
    REG_RSP___0 = 15,
    REG_RIP___0 = 16,
    REG_EFL___0 = 17,
    REG_CSGSFS___0 = 18,
    REG_ERR___0 = 19,
    REG_TRAPNO___0 = 20,
    REG_OLDMASK___0 = 21,
    REG_CR2___0 = 22
} ;
enum __anonenum_57186863___0 {
    SS_ONSTACK___0 = 1,
    SS_DISABLE___0 = 2
} ;
enum __anonenum_83571709___0 {
    MSG_OOB___0 = 1,
    MSG_PEEK___0 = 2,
    MSG_DONTROUTE___0 = 4,
    MSG_TRYHARD___0 = 4,
    MSG_CTRUNC___0 = 8,
    MSG_PROXY___0 = 16,
    MSG_TRUNC___0 = 32,
    MSG_DONTWAIT___0 = 64,
    MSG_EOR___0 = 128,
    MSG_WAITALL___0 = 256,
    MSG_FIN___0 = 512,
    MSG_SYN___0 = 1024,
    MSG_CONFIRM___0 = 2048,
    MSG_RST___0 = 4096,
    MSG_ERRQUEUE___0 = 8192,
    MSG_NOSIGNAL___0 = 16384,
    MSG_MORE___0 = 32768,
    MSG_WAITFORONE___0 = 65536,
    MSG_BATCH___0 = 262144,
    MSG_ZEROCOPY___0 = 67108864,
    MSG_FASTOPEN___0 = 536870912,
    MSG_CMSG_CLOEXEC___0 = 1073741824
} ;
enum __anonenum_617082774___0 {
    SCM_RIGHTS___0 = 1,
    SCM_CREDENTIALS___0 = 2
} ;
enum __anonenum_606441560___0 {
    SHUT_RD___0 = 0,
    SHUT_WR___0 = 1,
    SHUT_RDWR___0 = 2
} ;
enum __anonenum_681669233___0 {
    IPPROTO_IP___0 = 0,
    IPPROTO_ICMP___0 = 1,
    IPPROTO_IGMP___0 = 2,
    IPPROTO_IPIP___0 = 4,
    IPPROTO_TCP___0 = 6,
    IPPROTO_EGP___0 = 8,
    IPPROTO_PUP___0 = 12,
    IPPROTO_UDP___0 = 17,
    IPPROTO_IDP___0 = 22,
    IPPROTO_TP___0 = 29,
    IPPROTO_DCCP___0 = 33,
    IPPROTO_IPV6___0 = 41,
    IPPROTO_RSVP___0 = 46,
    IPPROTO_GRE___0 = 47,
    IPPROTO_ESP___0 = 50,
    IPPROTO_AH___0 = 51,
    IPPROTO_MTP___0 = 92,
    IPPROTO_BEETPH___0 = 94,
    IPPROTO_ENCAP___0 = 98,
    IPPROTO_PIM___0 = 103,
    IPPROTO_COMP___0 = 108,
    IPPROTO_SCTP___0 = 132,
    IPPROTO_UDPLITE___0 = 136,
    IPPROTO_MPLS___0 = 137,
    IPPROTO_RAW___0 = 255,
    IPPROTO_MAX___0 = 256
} ;
enum __anonenum_218739988___0 {
    IPPROTO_HOPOPTS___0 = 0,
    IPPROTO_ROUTING___0 = 43,
    IPPROTO_FRAGMENT___0 = 44,
    IPPROTO_ICMPV6___0 = 58,
    IPPROTO_NONE___0 = 59,
    IPPROTO_DSTOPTS___0 = 60,
    IPPROTO_MH___0 = 135
} ;
enum __anonenum_662268580___0 {
    IPPORT_ECHO___0 = 7,
    IPPORT_DISCARD___0 = 9,
    IPPORT_SYSTAT___0 = 11,
    IPPORT_DAYTIME___0 = 13,
    IPPORT_NETSTAT___0 = 15,
    IPPORT_FTP___0 = 21,
    IPPORT_TELNET___0 = 23,
    IPPORT_SMTP___0 = 25,
    IPPORT_TIMESERVER___0 = 37,
    IPPORT_NAMESERVER___0 = 42,
    IPPORT_WHOIS___0 = 43,
    IPPORT_MTP___0 = 57,
    IPPORT_TFTP___0 = 69,
    IPPORT_RJE___0 = 77,
    IPPORT_FINGER___0 = 79,
    IPPORT_TTYLINK___0 = 87,
    IPPORT_SUPDUP___0 = 95,
    IPPORT_EXECSERVER___0 = 512,
    IPPORT_LOGINSERVER___0 = 513,
    IPPORT_CMDSERVER___0 = 514,
    IPPORT_EFSSERVER___0 = 520,
    IPPORT_BIFFUDP___0 = 512,
    IPPORT_WHOSERVER___0 = 513,
    IPPORT_ROUTESERVER___0 = 520,
    IPPORT_RESERVED___0 = 1024,
    IPPORT_USERRESERVED___0 = 5000
} ;
enum __anonenum_788308992___0 {
    TCP_ESTABLISHED___0 = 1,
    TCP_SYN_SENT___0 = 2,
    TCP_SYN_RECV___0 = 3,
    TCP_FIN_WAIT1___0 = 4,
    TCP_FIN_WAIT2___0 = 5,
    TCP_TIME_WAIT___0 = 6,
    TCP_CLOSE___0 = 7,
    TCP_CLOSE_WAIT___0 = 8,
    TCP_LAST_ACK___0 = 9,
    TCP_LISTEN___0 = 10,
    TCP_CLOSING___0 = 11
} ;
enum __anonenum_221125648___0 {
    TCP_NO_QUEUE___0 = 0,
    TCP_RECV_QUEUE___0 = 1,
    TCP_SEND_QUEUE___0 = 2,
    TCP_QUEUES_NR___0 = 3
} ;
enum __anonenum_34415463___0 {
    PTHREAD_CREATE_JOINABLE___0 = 0,
    PTHREAD_CREATE_DETACHED___0 = 1
} ;
enum __anonenum_303612439___0 {
    PTHREAD_MUTEX_TIMED_NP___0 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___0 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___0 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___0 = 3,
    PTHREAD_MUTEX_NORMAL___0 = 0,
    PTHREAD_MUTEX_RECURSIVE___0 = 1,
    PTHREAD_MUTEX_ERRORCHECK___0 = 2,
    PTHREAD_MUTEX_DEFAULT___0 = 0,
    PTHREAD_MUTEX_FAST_NP___0 = 0
} ;
enum __anonenum_931900394___0 {
    PTHREAD_MUTEX_STALLED___0 = 0,
    PTHREAD_MUTEX_STALLED_NP___0 = 0,
    PTHREAD_MUTEX_ROBUST___0 = 1,
    PTHREAD_MUTEX_ROBUST_NP___0 = 1
} ;
enum __anonenum_205214487___0 {
    PTHREAD_PRIO_NONE___0 = 0,
    PTHREAD_PRIO_INHERIT___0 = 1,
    PTHREAD_PRIO_PROTECT___0 = 2
} ;
enum __anonenum_25043950___0 {
    PTHREAD_RWLOCK_PREFER_READER_NP___0 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___0 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___0 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___0 = 0
} ;
enum __anonenum_436439511___0 {
    PTHREAD_INHERIT_SCHED___0 = 0,
    PTHREAD_EXPLICIT_SCHED___0 = 1
} ;
enum __anonenum_998661166___0 {
    PTHREAD_SCOPE_SYSTEM___0 = 0,
    PTHREAD_SCOPE_PROCESS___0 = 1
} ;
enum __anonenum_146137331___0 {
    PTHREAD_PROCESS_PRIVATE___0 = 0,
    PTHREAD_PROCESS_SHARED___0 = 1
} ;
enum __anonenum_53396917___0 {
    PTHREAD_CANCEL_ENABLE___0 = 0,
    PTHREAD_CANCEL_DISABLE___0 = 1
} ;
enum __anonenum_904563783___0 {
    PTHREAD_CANCEL_DEFERRED___0 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___0 = 1
} ;
enum __anonenum_672052974___0 {
    SSL_CT_VALIDATION_PERMISSIVE___0 = 0,
    SSL_CT_VALIDATION_STRICT___0 = 1
} ;
typedef void each_file_in_pack_dir_fn(char const   *full_path , size_t full_path_len ,
                                      char const   *file_pach , void *data );
enum __anonenum_437032235___1 {
    _PC_LINK_MAX___1 = 0,
    _PC_MAX_CANON___1 = 1,
    _PC_MAX_INPUT___1 = 2,
    _PC_NAME_MAX___1 = 3,
    _PC_PATH_MAX___1 = 4,
    _PC_PIPE_BUF___1 = 5,
    _PC_CHOWN_RESTRICTED___1 = 6,
    _PC_NO_TRUNC___1 = 7,
    _PC_VDISABLE___1 = 8,
    _PC_SYNC_IO___1 = 9,
    _PC_ASYNC_IO___1 = 10,
    _PC_PRIO_IO___1 = 11,
    _PC_SOCK_MAXBUF___1 = 12,
    _PC_FILESIZEBITS___1 = 13,
    _PC_REC_INCR_XFER_SIZE___1 = 14,
    _PC_REC_MAX_XFER_SIZE___1 = 15,
    _PC_REC_MIN_XFER_SIZE___1 = 16,
    _PC_REC_XFER_ALIGN___1 = 17,
    _PC_ALLOC_SIZE_MIN___1 = 18,
    _PC_SYMLINK_MAX___1 = 19,
    _PC_2_SYMLINKS___1 = 20
} ;
enum __anonenum_315186338___1 {
    _SC_ARG_MAX___1 = 0,
    _SC_CHILD_MAX___1 = 1,
    _SC_CLK_TCK___1 = 2,
    _SC_NGROUPS_MAX___1 = 3,
    _SC_OPEN_MAX___1 = 4,
    _SC_STREAM_MAX___1 = 5,
    _SC_TZNAME_MAX___1 = 6,
    _SC_JOB_CONTROL___1 = 7,
    _SC_SAVED_IDS___1 = 8,
    _SC_REALTIME_SIGNALS___1 = 9,
    _SC_PRIORITY_SCHEDULING___1 = 10,
    _SC_TIMERS___1 = 11,
    _SC_ASYNCHRONOUS_IO___1 = 12,
    _SC_PRIORITIZED_IO___1 = 13,
    _SC_SYNCHRONIZED_IO___1 = 14,
    _SC_FSYNC___1 = 15,
    _SC_MAPPED_FILES___1 = 16,
    _SC_MEMLOCK___1 = 17,
    _SC_MEMLOCK_RANGE___1 = 18,
    _SC_MEMORY_PROTECTION___1 = 19,
    _SC_MESSAGE_PASSING___1 = 20,
    _SC_SEMAPHORES___1 = 21,
    _SC_SHARED_MEMORY_OBJECTS___1 = 22,
    _SC_AIO_LISTIO_MAX___1 = 23,
    _SC_AIO_MAX___1 = 24,
    _SC_AIO_PRIO_DELTA_MAX___1 = 25,
    _SC_DELAYTIMER_MAX___1 = 26,
    _SC_MQ_OPEN_MAX___1 = 27,
    _SC_MQ_PRIO_MAX___1 = 28,
    _SC_VERSION___1 = 29,
    _SC_PAGESIZE___1 = 30,
    _SC_RTSIG_MAX___1 = 31,
    _SC_SEM_NSEMS_MAX___1 = 32,
    _SC_SEM_VALUE_MAX___1 = 33,
    _SC_SIGQUEUE_MAX___1 = 34,
    _SC_TIMER_MAX___1 = 35,
    _SC_BC_BASE_MAX___1 = 36,
    _SC_BC_DIM_MAX___1 = 37,
    _SC_BC_SCALE_MAX___1 = 38,
    _SC_BC_STRING_MAX___1 = 39,
    _SC_COLL_WEIGHTS_MAX___1 = 40,
    _SC_EQUIV_CLASS_MAX___1 = 41,
    _SC_EXPR_NEST_MAX___1 = 42,
    _SC_LINE_MAX___1 = 43,
    _SC_RE_DUP_MAX___1 = 44,
    _SC_CHARCLASS_NAME_MAX___1 = 45,
    _SC_2_VERSION___1 = 46,
    _SC_2_C_BIND___1 = 47,
    _SC_2_C_DEV___1 = 48,
    _SC_2_FORT_DEV___1 = 49,
    _SC_2_FORT_RUN___1 = 50,
    _SC_2_SW_DEV___1 = 51,
    _SC_2_LOCALEDEF___1 = 52,
    _SC_PII___1 = 53,
    _SC_PII_XTI___1 = 54,
    _SC_PII_SOCKET___1 = 55,
    _SC_PII_INTERNET___1 = 56,
    _SC_PII_OSI___1 = 57,
    _SC_POLL___1 = 58,
    _SC_SELECT___1 = 59,
    _SC_UIO_MAXIOV___1 = 60,
    _SC_IOV_MAX___1 = 60,
    _SC_PII_INTERNET_STREAM___1 = 61,
    _SC_PII_INTERNET_DGRAM___1 = 62,
    _SC_PII_OSI_COTS___1 = 63,
    _SC_PII_OSI_CLTS___1 = 64,
    _SC_PII_OSI_M___1 = 65,
    _SC_T_IOV_MAX___1 = 66,
    _SC_THREADS___1 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___1 = 68,
    _SC_GETGR_R_SIZE_MAX___1 = 69,
    _SC_GETPW_R_SIZE_MAX___1 = 70,
    _SC_LOGIN_NAME_MAX___1 = 71,
    _SC_TTY_NAME_MAX___1 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___1 = 73,
    _SC_THREAD_KEYS_MAX___1 = 74,
    _SC_THREAD_STACK_MIN___1 = 75,
    _SC_THREAD_THREADS_MAX___1 = 76,
    _SC_THREAD_ATTR_STACKADDR___1 = 77,
    _SC_THREAD_ATTR_STACKSIZE___1 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___1 = 79,
    _SC_THREAD_PRIO_INHERIT___1 = 80,
    _SC_THREAD_PRIO_PROTECT___1 = 81,
    _SC_THREAD_PROCESS_SHARED___1 = 82,
    _SC_NPROCESSORS_CONF___1 = 83,
    _SC_NPROCESSORS_ONLN___1 = 84,
    _SC_PHYS_PAGES___1 = 85,
    _SC_AVPHYS_PAGES___1 = 86,
    _SC_ATEXIT_MAX___1 = 87,
    _SC_PASS_MAX___1 = 88,
    _SC_XOPEN_VERSION___1 = 89,
    _SC_XOPEN_XCU_VERSION___1 = 90,
    _SC_XOPEN_UNIX___1 = 91,
    _SC_XOPEN_CRYPT___1 = 92,
    _SC_XOPEN_ENH_I18N___1 = 93,
    _SC_XOPEN_SHM___1 = 94,
    _SC_2_CHAR_TERM___1 = 95,
    _SC_2_C_VERSION___1 = 96,
    _SC_2_UPE___1 = 97,
    _SC_XOPEN_XPG2___1 = 98,
    _SC_XOPEN_XPG3___1 = 99,
    _SC_XOPEN_XPG4___1 = 100,
    _SC_CHAR_BIT___1 = 101,
    _SC_CHAR_MAX___1 = 102,
    _SC_CHAR_MIN___1 = 103,
    _SC_INT_MAX___1 = 104,
    _SC_INT_MIN___1 = 105,
    _SC_LONG_BIT___1 = 106,
    _SC_WORD_BIT___1 = 107,
    _SC_MB_LEN_MAX___1 = 108,
    _SC_NZERO___1 = 109,
    _SC_SSIZE_MAX___1 = 110,
    _SC_SCHAR_MAX___1 = 111,
    _SC_SCHAR_MIN___1 = 112,
    _SC_SHRT_MAX___1 = 113,
    _SC_SHRT_MIN___1 = 114,
    _SC_UCHAR_MAX___1 = 115,
    _SC_UINT_MAX___1 = 116,
    _SC_ULONG_MAX___1 = 117,
    _SC_USHRT_MAX___1 = 118,
    _SC_NL_ARGMAX___1 = 119,
    _SC_NL_LANGMAX___1 = 120,
    _SC_NL_MSGMAX___1 = 121,
    _SC_NL_NMAX___1 = 122,
    _SC_NL_SETMAX___1 = 123,
    _SC_NL_TEXTMAX___1 = 124,
    _SC_XBS5_ILP32_OFF32___1 = 125,
    _SC_XBS5_ILP32_OFFBIG___1 = 126,
    _SC_XBS5_LP64_OFF64___1 = 127,
    _SC_XBS5_LPBIG_OFFBIG___1 = 128,
    _SC_XOPEN_LEGACY___1 = 129,
    _SC_XOPEN_REALTIME___1 = 130,
    _SC_XOPEN_REALTIME_THREADS___1 = 131,
    _SC_ADVISORY_INFO___1 = 132,
    _SC_BARRIERS___1 = 133,
    _SC_BASE___1 = 134,
    _SC_C_LANG_SUPPORT___1 = 135,
    _SC_C_LANG_SUPPORT_R___1 = 136,
    _SC_CLOCK_SELECTION___1 = 137,
    _SC_CPUTIME___1 = 138,
    _SC_THREAD_CPUTIME___1 = 139,
    _SC_DEVICE_IO___1 = 140,
    _SC_DEVICE_SPECIFIC___1 = 141,
    _SC_DEVICE_SPECIFIC_R___1 = 142,
    _SC_FD_MGMT___1 = 143,
    _SC_FIFO___1 = 144,
    _SC_PIPE___1 = 145,
    _SC_FILE_ATTRIBUTES___1 = 146,
    _SC_FILE_LOCKING___1 = 147,
    _SC_FILE_SYSTEM___1 = 148,
    _SC_MONOTONIC_CLOCK___1 = 149,
    _SC_MULTI_PROCESS___1 = 150,
    _SC_SINGLE_PROCESS___1 = 151,
    _SC_NETWORKING___1 = 152,
    _SC_READER_WRITER_LOCKS___1 = 153,
    _SC_SPIN_LOCKS___1 = 154,
    _SC_REGEXP___1 = 155,
    _SC_REGEX_VERSION___1 = 156,
    _SC_SHELL___1 = 157,
    _SC_SIGNALS___1 = 158,
    _SC_SPAWN___1 = 159,
    _SC_SPORADIC_SERVER___1 = 160,
    _SC_THREAD_SPORADIC_SERVER___1 = 161,
    _SC_SYSTEM_DATABASE___1 = 162,
    _SC_SYSTEM_DATABASE_R___1 = 163,
    _SC_TIMEOUTS___1 = 164,
    _SC_TYPED_MEMORY_OBJECTS___1 = 165,
    _SC_USER_GROUPS___1 = 166,
    _SC_USER_GROUPS_R___1 = 167,
    _SC_2_PBS___1 = 168,
    _SC_2_PBS_ACCOUNTING___1 = 169,
    _SC_2_PBS_LOCATE___1 = 170,
    _SC_2_PBS_MESSAGE___1 = 171,
    _SC_2_PBS_TRACK___1 = 172,
    _SC_SYMLOOP_MAX___1 = 173,
    _SC_STREAMS___1 = 174,
    _SC_2_PBS_CHECKPOINT___1 = 175,
    _SC_V6_ILP32_OFF32___1 = 176,
    _SC_V6_ILP32_OFFBIG___1 = 177,
    _SC_V6_LP64_OFF64___1 = 178,
    _SC_V6_LPBIG_OFFBIG___1 = 179,
    _SC_HOST_NAME_MAX___1 = 180,
    _SC_TRACE___1 = 181,
    _SC_TRACE_EVENT_FILTER___1 = 182,
    _SC_TRACE_INHERIT___1 = 183,
    _SC_TRACE_LOG___1 = 184,
    _SC_LEVEL1_ICACHE_SIZE___1 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___1 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___1 = 187,
    _SC_LEVEL1_DCACHE_SIZE___1 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___1 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___1 = 190,
    _SC_LEVEL2_CACHE_SIZE___1 = 191,
    _SC_LEVEL2_CACHE_ASSOC___1 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___1 = 193,
    _SC_LEVEL3_CACHE_SIZE___1 = 194,
    _SC_LEVEL3_CACHE_ASSOC___1 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___1 = 196,
    _SC_LEVEL4_CACHE_SIZE___1 = 197,
    _SC_LEVEL4_CACHE_ASSOC___1 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___1 = 199,
    _SC_IPV6___1 = 235,
    _SC_RAW_SOCKETS___1 = 236,
    _SC_V7_ILP32_OFF32___1 = 237,
    _SC_V7_ILP32_OFFBIG___1 = 238,
    _SC_V7_LP64_OFF64___1 = 239,
    _SC_V7_LPBIG_OFFBIG___1 = 240,
    _SC_SS_REPL_MAX___1 = 241,
    _SC_TRACE_EVENT_NAME_MAX___1 = 242,
    _SC_TRACE_NAME_MAX___1 = 243,
    _SC_TRACE_SYS_MAX___1 = 244,
    _SC_TRACE_USER_EVENT_MAX___1 = 245,
    _SC_XOPEN_STREAMS___1 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___1 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___1 = 248
} ;
enum __anonenum_875524036___1 {
    _CS_PATH___1 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___1 = 1,
    _CS_GNU_LIBC_VERSION___1 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___1 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___1 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___1 = 5,
    _CS_LFS_CFLAGS___1 = 1000,
    _CS_LFS_LDFLAGS___1 = 1001,
    _CS_LFS_LIBS___1 = 1002,
    _CS_LFS_LINTFLAGS___1 = 1003,
    _CS_LFS64_CFLAGS___1 = 1004,
    _CS_LFS64_LDFLAGS___1 = 1005,
    _CS_LFS64_LIBS___1 = 1006,
    _CS_LFS64_LINTFLAGS___1 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___1 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___1 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___1 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___1 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___1 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___1 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___1 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___1 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___1 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___1 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___1 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___1 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___1 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___1 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___1 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___1 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___1 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___1 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___1 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___1 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___1 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___1 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___1 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___1 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___1 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___1 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___1 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___1 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___1 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___1 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___1 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___1 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___1 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___1 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___1 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___1 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___1 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___1 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___1 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___1 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___1 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___1 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___1 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___1 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___1 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___1 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___1 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___1 = 1147,
    _CS_V6_ENV___1 = 1148,
    _CS_V7_ENV___1 = 1149
} ;
enum __anonenum_513775621___1 {
    DT_UNKNOWN___1 = 0,
    DT_FIFO___1 = 1,
    DT_CHR___1 = 2,
    DT_DIR___1 = 4,
    DT_BLK___1 = 6,
    DT_REG___1 = 8,
    DT_LNK___1 = 10,
    DT_SOCK___1 = 12,
    DT_WHT___1 = 14
} ;
enum __anonenum_77002343___1 {
    SI_ASYNCNL___1 = -60,
    SI_TKILL___1 = -6,
    SI_SIGIO___1 = -5,
    SI_ASYNCIO___1 = -4,
    SI_MESGQ___1 = -3,
    SI_TIMER___1 = -2,
    SI_QUEUE___1 = -1,
    SI_USER___1 = 0,
    SI_KERNEL___1 = 128
} ;
enum __anonenum_131038172___1 {
    ILL_ILLOPC___1 = 1,
    ILL_ILLOPN___1 = 2,
    ILL_ILLADR___1 = 3,
    ILL_ILLTRP___1 = 4,
    ILL_PRVOPC___1 = 5,
    ILL_PRVREG___1 = 6,
    ILL_COPROC___1 = 7,
    ILL_BADSTK___1 = 8
} ;
enum __anonenum_452038093___1 {
    FPE_INTDIV___1 = 1,
    FPE_INTOVF___1 = 2,
    FPE_FLTDIV___1 = 3,
    FPE_FLTOVF___1 = 4,
    FPE_FLTUND___1 = 5,
    FPE_FLTRES___1 = 6,
    FPE_FLTINV___1 = 7,
    FPE_FLTSUB___1 = 8
} ;
enum __anonenum_30976155___1 {
    SEGV_MAPERR___1 = 1,
    SEGV_ACCERR___1 = 2,
    SEGV_BNDERR___1 = 3,
    SEGV_PKUERR___1 = 4
} ;
enum __anonenum_1036286214___1 {
    BUS_ADRALN___1 = 1,
    BUS_ADRERR___1 = 2,
    BUS_OBJERR___1 = 3,
    BUS_MCEERR_AR___1 = 4,
    BUS_MCEERR_AO___1 = 5
} ;
enum __anonenum_493465559___1 {
    TRAP_BRKPT___1 = 1,
    TRAP_TRACE___1 = 2
} ;
enum __anonenum_23175539___1 {
    CLD_EXITED___1 = 1,
    CLD_KILLED___1 = 2,
    CLD_DUMPED___1 = 3,
    CLD_TRAPPED___1 = 4,
    CLD_STOPPED___1 = 5,
    CLD_CONTINUED___1 = 6
} ;
enum __anonenum_111643124___1 {
    POLL_IN___1 = 1,
    POLL_OUT___1 = 2,
    POLL_MSG___1 = 3,
    POLL_ERR___1 = 4,
    POLL_PRI___1 = 5,
    POLL_HUP___1 = 6
} ;
enum __anonenum_852341087___1 {
    SIGEV_SIGNAL___1 = 0,
    SIGEV_NONE___1 = 1,
    SIGEV_THREAD___1 = 2,
    SIGEV_THREAD_ID___1 = 4
} ;
enum __anonenum_451154152___1 {
    REG_R8___1 = 0,
    REG_R9___1 = 1,
    REG_R10___1 = 2,
    REG_R11___1 = 3,
    REG_R12___1 = 4,
    REG_R13___1 = 5,
    REG_R14___1 = 6,
    REG_R15___1 = 7,
    REG_RDI___1 = 8,
    REG_RSI___1 = 9,
    REG_RBP___1 = 10,
    REG_RBX___1 = 11,
    REG_RDX___1 = 12,
    REG_RAX___1 = 13,
    REG_RCX___1 = 14,
    REG_RSP___1 = 15,
    REG_RIP___1 = 16,
    REG_EFL___1 = 17,
    REG_CSGSFS___1 = 18,
    REG_ERR___1 = 19,
    REG_TRAPNO___1 = 20,
    REG_OLDMASK___1 = 21,
    REG_CR2___1 = 22
} ;
enum __anonenum_57186863___1 {
    SS_ONSTACK___1 = 1,
    SS_DISABLE___1 = 2
} ;
enum __anonenum_83571709___1 {
    MSG_OOB___1 = 1,
    MSG_PEEK___1 = 2,
    MSG_DONTROUTE___1 = 4,
    MSG_TRYHARD___1 = 4,
    MSG_CTRUNC___1 = 8,
    MSG_PROXY___1 = 16,
    MSG_TRUNC___1 = 32,
    MSG_DONTWAIT___1 = 64,
    MSG_EOR___1 = 128,
    MSG_WAITALL___1 = 256,
    MSG_FIN___1 = 512,
    MSG_SYN___1 = 1024,
    MSG_CONFIRM___1 = 2048,
    MSG_RST___1 = 4096,
    MSG_ERRQUEUE___1 = 8192,
    MSG_NOSIGNAL___1 = 16384,
    MSG_MORE___1 = 32768,
    MSG_WAITFORONE___1 = 65536,
    MSG_BATCH___1 = 262144,
    MSG_ZEROCOPY___1 = 67108864,
    MSG_FASTOPEN___1 = 536870912,
    MSG_CMSG_CLOEXEC___1 = 1073741824
} ;
enum __anonenum_617082774___1 {
    SCM_RIGHTS___1 = 1,
    SCM_CREDENTIALS___1 = 2
} ;
enum __anonenum_606441560___1 {
    SHUT_RD___1 = 0,
    SHUT_WR___1 = 1,
    SHUT_RDWR___1 = 2
} ;
enum __anonenum_681669233___1 {
    IPPROTO_IP___1 = 0,
    IPPROTO_ICMP___1 = 1,
    IPPROTO_IGMP___1 = 2,
    IPPROTO_IPIP___1 = 4,
    IPPROTO_TCP___1 = 6,
    IPPROTO_EGP___1 = 8,
    IPPROTO_PUP___1 = 12,
    IPPROTO_UDP___1 = 17,
    IPPROTO_IDP___1 = 22,
    IPPROTO_TP___1 = 29,
    IPPROTO_DCCP___1 = 33,
    IPPROTO_IPV6___1 = 41,
    IPPROTO_RSVP___1 = 46,
    IPPROTO_GRE___1 = 47,
    IPPROTO_ESP___1 = 50,
    IPPROTO_AH___1 = 51,
    IPPROTO_MTP___1 = 92,
    IPPROTO_BEETPH___1 = 94,
    IPPROTO_ENCAP___1 = 98,
    IPPROTO_PIM___1 = 103,
    IPPROTO_COMP___1 = 108,
    IPPROTO_SCTP___1 = 132,
    IPPROTO_UDPLITE___1 = 136,
    IPPROTO_MPLS___1 = 137,
    IPPROTO_RAW___1 = 255,
    IPPROTO_MAX___1 = 256
} ;
enum __anonenum_218739988___1 {
    IPPROTO_HOPOPTS___1 = 0,
    IPPROTO_ROUTING___1 = 43,
    IPPROTO_FRAGMENT___1 = 44,
    IPPROTO_ICMPV6___1 = 58,
    IPPROTO_NONE___1 = 59,
    IPPROTO_DSTOPTS___1 = 60,
    IPPROTO_MH___1 = 135
} ;
enum __anonenum_662268580___1 {
    IPPORT_ECHO___1 = 7,
    IPPORT_DISCARD___1 = 9,
    IPPORT_SYSTAT___1 = 11,
    IPPORT_DAYTIME___1 = 13,
    IPPORT_NETSTAT___1 = 15,
    IPPORT_FTP___1 = 21,
    IPPORT_TELNET___1 = 23,
    IPPORT_SMTP___1 = 25,
    IPPORT_TIMESERVER___1 = 37,
    IPPORT_NAMESERVER___1 = 42,
    IPPORT_WHOIS___1 = 43,
    IPPORT_MTP___1 = 57,
    IPPORT_TFTP___1 = 69,
    IPPORT_RJE___1 = 77,
    IPPORT_FINGER___1 = 79,
    IPPORT_TTYLINK___1 = 87,
    IPPORT_SUPDUP___1 = 95,
    IPPORT_EXECSERVER___1 = 512,
    IPPORT_LOGINSERVER___1 = 513,
    IPPORT_CMDSERVER___1 = 514,
    IPPORT_EFSSERVER___1 = 520,
    IPPORT_BIFFUDP___1 = 512,
    IPPORT_WHOSERVER___1 = 513,
    IPPORT_ROUTESERVER___1 = 520,
    IPPORT_RESERVED___1 = 1024,
    IPPORT_USERRESERVED___1 = 5000
} ;
enum __anonenum_788308992___1 {
    TCP_ESTABLISHED___1 = 1,
    TCP_SYN_SENT___1 = 2,
    TCP_SYN_RECV___1 = 3,
    TCP_FIN_WAIT1___1 = 4,
    TCP_FIN_WAIT2___1 = 5,
    TCP_TIME_WAIT___1 = 6,
    TCP_CLOSE___1 = 7,
    TCP_CLOSE_WAIT___1 = 8,
    TCP_LAST_ACK___1 = 9,
    TCP_LISTEN___1 = 10,
    TCP_CLOSING___1 = 11
} ;
enum __anonenum_221125648___1 {
    TCP_NO_QUEUE___1 = 0,
    TCP_RECV_QUEUE___1 = 1,
    TCP_SEND_QUEUE___1 = 2,
    TCP_QUEUES_NR___1 = 3
} ;
enum __anonenum_34415463___1 {
    PTHREAD_CREATE_JOINABLE___1 = 0,
    PTHREAD_CREATE_DETACHED___1 = 1
} ;
enum __anonenum_303612439___1 {
    PTHREAD_MUTEX_TIMED_NP___1 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___1 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___1 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___1 = 3,
    PTHREAD_MUTEX_NORMAL___1 = 0,
    PTHREAD_MUTEX_RECURSIVE___1 = 1,
    PTHREAD_MUTEX_ERRORCHECK___1 = 2,
    PTHREAD_MUTEX_DEFAULT___1 = 0,
    PTHREAD_MUTEX_FAST_NP___1 = 0
} ;
enum __anonenum_931900394___1 {
    PTHREAD_MUTEX_STALLED___1 = 0,
    PTHREAD_MUTEX_STALLED_NP___1 = 0,
    PTHREAD_MUTEX_ROBUST___1 = 1,
    PTHREAD_MUTEX_ROBUST_NP___1 = 1
} ;
enum __anonenum_205214487___1 {
    PTHREAD_PRIO_NONE___1 = 0,
    PTHREAD_PRIO_INHERIT___1 = 1,
    PTHREAD_PRIO_PROTECT___1 = 2
} ;
enum __anonenum_25043950___1 {
    PTHREAD_RWLOCK_PREFER_READER_NP___1 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___1 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___1 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___1 = 0
} ;
enum __anonenum_436439511___1 {
    PTHREAD_INHERIT_SCHED___1 = 0,
    PTHREAD_EXPLICIT_SCHED___1 = 1
} ;
enum __anonenum_998661166___1 {
    PTHREAD_SCOPE_SYSTEM___1 = 0,
    PTHREAD_SCOPE_PROCESS___1 = 1
} ;
enum __anonenum_146137331___1 {
    PTHREAD_PROCESS_PRIVATE___1 = 0,
    PTHREAD_PROCESS_SHARED___1 = 1
} ;
enum __anonenum_53396917___1 {
    PTHREAD_CANCEL_ENABLE___1 = 0,
    PTHREAD_CANCEL_DISABLE___1 = 1
} ;
enum __anonenum_904563783___1 {
    PTHREAD_CANCEL_DEFERRED___1 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___1 = 1
} ;
enum __anonenum_672052974___1 {
    SSL_CT_VALIDATION_PERMISSIVE___1 = 0,
    SSL_CT_VALIDATION_STRICT___1 = 1
} ;
enum __anonenum_437032235___2 {
    _PC_LINK_MAX___2 = 0,
    _PC_MAX_CANON___2 = 1,
    _PC_MAX_INPUT___2 = 2,
    _PC_NAME_MAX___2 = 3,
    _PC_PATH_MAX___2 = 4,
    _PC_PIPE_BUF___2 = 5,
    _PC_CHOWN_RESTRICTED___2 = 6,
    _PC_NO_TRUNC___2 = 7,
    _PC_VDISABLE___2 = 8,
    _PC_SYNC_IO___2 = 9,
    _PC_ASYNC_IO___2 = 10,
    _PC_PRIO_IO___2 = 11,
    _PC_SOCK_MAXBUF___2 = 12,
    _PC_FILESIZEBITS___2 = 13,
    _PC_REC_INCR_XFER_SIZE___2 = 14,
    _PC_REC_MAX_XFER_SIZE___2 = 15,
    _PC_REC_MIN_XFER_SIZE___2 = 16,
    _PC_REC_XFER_ALIGN___2 = 17,
    _PC_ALLOC_SIZE_MIN___2 = 18,
    _PC_SYMLINK_MAX___2 = 19,
    _PC_2_SYMLINKS___2 = 20
} ;
enum __anonenum_315186338___2 {
    _SC_ARG_MAX___2 = 0,
    _SC_CHILD_MAX___2 = 1,
    _SC_CLK_TCK___2 = 2,
    _SC_NGROUPS_MAX___2 = 3,
    _SC_OPEN_MAX___2 = 4,
    _SC_STREAM_MAX___2 = 5,
    _SC_TZNAME_MAX___2 = 6,
    _SC_JOB_CONTROL___2 = 7,
    _SC_SAVED_IDS___2 = 8,
    _SC_REALTIME_SIGNALS___2 = 9,
    _SC_PRIORITY_SCHEDULING___2 = 10,
    _SC_TIMERS___2 = 11,
    _SC_ASYNCHRONOUS_IO___2 = 12,
    _SC_PRIORITIZED_IO___2 = 13,
    _SC_SYNCHRONIZED_IO___2 = 14,
    _SC_FSYNC___2 = 15,
    _SC_MAPPED_FILES___2 = 16,
    _SC_MEMLOCK___2 = 17,
    _SC_MEMLOCK_RANGE___2 = 18,
    _SC_MEMORY_PROTECTION___2 = 19,
    _SC_MESSAGE_PASSING___2 = 20,
    _SC_SEMAPHORES___2 = 21,
    _SC_SHARED_MEMORY_OBJECTS___2 = 22,
    _SC_AIO_LISTIO_MAX___2 = 23,
    _SC_AIO_MAX___2 = 24,
    _SC_AIO_PRIO_DELTA_MAX___2 = 25,
    _SC_DELAYTIMER_MAX___2 = 26,
    _SC_MQ_OPEN_MAX___2 = 27,
    _SC_MQ_PRIO_MAX___2 = 28,
    _SC_VERSION___2 = 29,
    _SC_PAGESIZE___2 = 30,
    _SC_RTSIG_MAX___2 = 31,
    _SC_SEM_NSEMS_MAX___2 = 32,
    _SC_SEM_VALUE_MAX___2 = 33,
    _SC_SIGQUEUE_MAX___2 = 34,
    _SC_TIMER_MAX___2 = 35,
    _SC_BC_BASE_MAX___2 = 36,
    _SC_BC_DIM_MAX___2 = 37,
    _SC_BC_SCALE_MAX___2 = 38,
    _SC_BC_STRING_MAX___2 = 39,
    _SC_COLL_WEIGHTS_MAX___2 = 40,
    _SC_EQUIV_CLASS_MAX___2 = 41,
    _SC_EXPR_NEST_MAX___2 = 42,
    _SC_LINE_MAX___2 = 43,
    _SC_RE_DUP_MAX___2 = 44,
    _SC_CHARCLASS_NAME_MAX___2 = 45,
    _SC_2_VERSION___2 = 46,
    _SC_2_C_BIND___2 = 47,
    _SC_2_C_DEV___2 = 48,
    _SC_2_FORT_DEV___2 = 49,
    _SC_2_FORT_RUN___2 = 50,
    _SC_2_SW_DEV___2 = 51,
    _SC_2_LOCALEDEF___2 = 52,
    _SC_PII___2 = 53,
    _SC_PII_XTI___2 = 54,
    _SC_PII_SOCKET___2 = 55,
    _SC_PII_INTERNET___2 = 56,
    _SC_PII_OSI___2 = 57,
    _SC_POLL___2 = 58,
    _SC_SELECT___2 = 59,
    _SC_UIO_MAXIOV___2 = 60,
    _SC_IOV_MAX___2 = 60,
    _SC_PII_INTERNET_STREAM___2 = 61,
    _SC_PII_INTERNET_DGRAM___2 = 62,
    _SC_PII_OSI_COTS___2 = 63,
    _SC_PII_OSI_CLTS___2 = 64,
    _SC_PII_OSI_M___2 = 65,
    _SC_T_IOV_MAX___2 = 66,
    _SC_THREADS___2 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___2 = 68,
    _SC_GETGR_R_SIZE_MAX___2 = 69,
    _SC_GETPW_R_SIZE_MAX___2 = 70,
    _SC_LOGIN_NAME_MAX___2 = 71,
    _SC_TTY_NAME_MAX___2 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___2 = 73,
    _SC_THREAD_KEYS_MAX___2 = 74,
    _SC_THREAD_STACK_MIN___2 = 75,
    _SC_THREAD_THREADS_MAX___2 = 76,
    _SC_THREAD_ATTR_STACKADDR___2 = 77,
    _SC_THREAD_ATTR_STACKSIZE___2 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___2 = 79,
    _SC_THREAD_PRIO_INHERIT___2 = 80,
    _SC_THREAD_PRIO_PROTECT___2 = 81,
    _SC_THREAD_PROCESS_SHARED___2 = 82,
    _SC_NPROCESSORS_CONF___2 = 83,
    _SC_NPROCESSORS_ONLN___2 = 84,
    _SC_PHYS_PAGES___2 = 85,
    _SC_AVPHYS_PAGES___2 = 86,
    _SC_ATEXIT_MAX___2 = 87,
    _SC_PASS_MAX___2 = 88,
    _SC_XOPEN_VERSION___2 = 89,
    _SC_XOPEN_XCU_VERSION___2 = 90,
    _SC_XOPEN_UNIX___2 = 91,
    _SC_XOPEN_CRYPT___2 = 92,
    _SC_XOPEN_ENH_I18N___2 = 93,
    _SC_XOPEN_SHM___2 = 94,
    _SC_2_CHAR_TERM___2 = 95,
    _SC_2_C_VERSION___2 = 96,
    _SC_2_UPE___2 = 97,
    _SC_XOPEN_XPG2___2 = 98,
    _SC_XOPEN_XPG3___2 = 99,
    _SC_XOPEN_XPG4___2 = 100,
    _SC_CHAR_BIT___2 = 101,
    _SC_CHAR_MAX___2 = 102,
    _SC_CHAR_MIN___2 = 103,
    _SC_INT_MAX___2 = 104,
    _SC_INT_MIN___2 = 105,
    _SC_LONG_BIT___2 = 106,
    _SC_WORD_BIT___2 = 107,
    _SC_MB_LEN_MAX___2 = 108,
    _SC_NZERO___2 = 109,
    _SC_SSIZE_MAX___2 = 110,
    _SC_SCHAR_MAX___2 = 111,
    _SC_SCHAR_MIN___2 = 112,
    _SC_SHRT_MAX___2 = 113,
    _SC_SHRT_MIN___2 = 114,
    _SC_UCHAR_MAX___2 = 115,
    _SC_UINT_MAX___2 = 116,
    _SC_ULONG_MAX___2 = 117,
    _SC_USHRT_MAX___2 = 118,
    _SC_NL_ARGMAX___2 = 119,
    _SC_NL_LANGMAX___2 = 120,
    _SC_NL_MSGMAX___2 = 121,
    _SC_NL_NMAX___2 = 122,
    _SC_NL_SETMAX___2 = 123,
    _SC_NL_TEXTMAX___2 = 124,
    _SC_XBS5_ILP32_OFF32___2 = 125,
    _SC_XBS5_ILP32_OFFBIG___2 = 126,
    _SC_XBS5_LP64_OFF64___2 = 127,
    _SC_XBS5_LPBIG_OFFBIG___2 = 128,
    _SC_XOPEN_LEGACY___2 = 129,
    _SC_XOPEN_REALTIME___2 = 130,
    _SC_XOPEN_REALTIME_THREADS___2 = 131,
    _SC_ADVISORY_INFO___2 = 132,
    _SC_BARRIERS___2 = 133,
    _SC_BASE___2 = 134,
    _SC_C_LANG_SUPPORT___2 = 135,
    _SC_C_LANG_SUPPORT_R___2 = 136,
    _SC_CLOCK_SELECTION___2 = 137,
    _SC_CPUTIME___2 = 138,
    _SC_THREAD_CPUTIME___2 = 139,
    _SC_DEVICE_IO___2 = 140,
    _SC_DEVICE_SPECIFIC___2 = 141,
    _SC_DEVICE_SPECIFIC_R___2 = 142,
    _SC_FD_MGMT___2 = 143,
    _SC_FIFO___2 = 144,
    _SC_PIPE___2 = 145,
    _SC_FILE_ATTRIBUTES___2 = 146,
    _SC_FILE_LOCKING___2 = 147,
    _SC_FILE_SYSTEM___2 = 148,
    _SC_MONOTONIC_CLOCK___2 = 149,
    _SC_MULTI_PROCESS___2 = 150,
    _SC_SINGLE_PROCESS___2 = 151,
    _SC_NETWORKING___2 = 152,
    _SC_READER_WRITER_LOCKS___2 = 153,
    _SC_SPIN_LOCKS___2 = 154,
    _SC_REGEXP___2 = 155,
    _SC_REGEX_VERSION___2 = 156,
    _SC_SHELL___2 = 157,
    _SC_SIGNALS___2 = 158,
    _SC_SPAWN___2 = 159,
    _SC_SPORADIC_SERVER___2 = 160,
    _SC_THREAD_SPORADIC_SERVER___2 = 161,
    _SC_SYSTEM_DATABASE___2 = 162,
    _SC_SYSTEM_DATABASE_R___2 = 163,
    _SC_TIMEOUTS___2 = 164,
    _SC_TYPED_MEMORY_OBJECTS___2 = 165,
    _SC_USER_GROUPS___2 = 166,
    _SC_USER_GROUPS_R___2 = 167,
    _SC_2_PBS___2 = 168,
    _SC_2_PBS_ACCOUNTING___2 = 169,
    _SC_2_PBS_LOCATE___2 = 170,
    _SC_2_PBS_MESSAGE___2 = 171,
    _SC_2_PBS_TRACK___2 = 172,
    _SC_SYMLOOP_MAX___2 = 173,
    _SC_STREAMS___2 = 174,
    _SC_2_PBS_CHECKPOINT___2 = 175,
    _SC_V6_ILP32_OFF32___2 = 176,
    _SC_V6_ILP32_OFFBIG___2 = 177,
    _SC_V6_LP64_OFF64___2 = 178,
    _SC_V6_LPBIG_OFFBIG___2 = 179,
    _SC_HOST_NAME_MAX___2 = 180,
    _SC_TRACE___2 = 181,
    _SC_TRACE_EVENT_FILTER___2 = 182,
    _SC_TRACE_INHERIT___2 = 183,
    _SC_TRACE_LOG___2 = 184,
    _SC_LEVEL1_ICACHE_SIZE___2 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___2 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___2 = 187,
    _SC_LEVEL1_DCACHE_SIZE___2 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___2 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___2 = 190,
    _SC_LEVEL2_CACHE_SIZE___2 = 191,
    _SC_LEVEL2_CACHE_ASSOC___2 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___2 = 193,
    _SC_LEVEL3_CACHE_SIZE___2 = 194,
    _SC_LEVEL3_CACHE_ASSOC___2 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___2 = 196,
    _SC_LEVEL4_CACHE_SIZE___2 = 197,
    _SC_LEVEL4_CACHE_ASSOC___2 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___2 = 199,
    _SC_IPV6___2 = 235,
    _SC_RAW_SOCKETS___2 = 236,
    _SC_V7_ILP32_OFF32___2 = 237,
    _SC_V7_ILP32_OFFBIG___2 = 238,
    _SC_V7_LP64_OFF64___2 = 239,
    _SC_V7_LPBIG_OFFBIG___2 = 240,
    _SC_SS_REPL_MAX___2 = 241,
    _SC_TRACE_EVENT_NAME_MAX___2 = 242,
    _SC_TRACE_NAME_MAX___2 = 243,
    _SC_TRACE_SYS_MAX___2 = 244,
    _SC_TRACE_USER_EVENT_MAX___2 = 245,
    _SC_XOPEN_STREAMS___2 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___2 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___2 = 248
} ;
enum __anonenum_875524036___2 {
    _CS_PATH___2 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___2 = 1,
    _CS_GNU_LIBC_VERSION___2 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___2 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___2 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___2 = 5,
    _CS_LFS_CFLAGS___2 = 1000,
    _CS_LFS_LDFLAGS___2 = 1001,
    _CS_LFS_LIBS___2 = 1002,
    _CS_LFS_LINTFLAGS___2 = 1003,
    _CS_LFS64_CFLAGS___2 = 1004,
    _CS_LFS64_LDFLAGS___2 = 1005,
    _CS_LFS64_LIBS___2 = 1006,
    _CS_LFS64_LINTFLAGS___2 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___2 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___2 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___2 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___2 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___2 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___2 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___2 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___2 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___2 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___2 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___2 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___2 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___2 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___2 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___2 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___2 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___2 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___2 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___2 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___2 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___2 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___2 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___2 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___2 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___2 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___2 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___2 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___2 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___2 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___2 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___2 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___2 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___2 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___2 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___2 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___2 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___2 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___2 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___2 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___2 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___2 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___2 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___2 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___2 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___2 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___2 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___2 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___2 = 1147,
    _CS_V6_ENV___2 = 1148,
    _CS_V7_ENV___2 = 1149
} ;
enum __anonenum_513775621___2 {
    DT_UNKNOWN___2 = 0,
    DT_FIFO___2 = 1,
    DT_CHR___2 = 2,
    DT_DIR___2 = 4,
    DT_BLK___2 = 6,
    DT_REG___2 = 8,
    DT_LNK___2 = 10,
    DT_SOCK___2 = 12,
    DT_WHT___2 = 14
} ;
enum __anonenum_77002343___2 {
    SI_ASYNCNL___2 = -60,
    SI_TKILL___2 = -6,
    SI_SIGIO___2 = -5,
    SI_ASYNCIO___2 = -4,
    SI_MESGQ___2 = -3,
    SI_TIMER___2 = -2,
    SI_QUEUE___2 = -1,
    SI_USER___2 = 0,
    SI_KERNEL___2 = 128
} ;
enum __anonenum_131038172___2 {
    ILL_ILLOPC___2 = 1,
    ILL_ILLOPN___2 = 2,
    ILL_ILLADR___2 = 3,
    ILL_ILLTRP___2 = 4,
    ILL_PRVOPC___2 = 5,
    ILL_PRVREG___2 = 6,
    ILL_COPROC___2 = 7,
    ILL_BADSTK___2 = 8
} ;
enum __anonenum_452038093___2 {
    FPE_INTDIV___2 = 1,
    FPE_INTOVF___2 = 2,
    FPE_FLTDIV___2 = 3,
    FPE_FLTOVF___2 = 4,
    FPE_FLTUND___2 = 5,
    FPE_FLTRES___2 = 6,
    FPE_FLTINV___2 = 7,
    FPE_FLTSUB___2 = 8
} ;
enum __anonenum_30976155___2 {
    SEGV_MAPERR___2 = 1,
    SEGV_ACCERR___2 = 2,
    SEGV_BNDERR___2 = 3,
    SEGV_PKUERR___2 = 4
} ;
enum __anonenum_1036286214___2 {
    BUS_ADRALN___2 = 1,
    BUS_ADRERR___2 = 2,
    BUS_OBJERR___2 = 3,
    BUS_MCEERR_AR___2 = 4,
    BUS_MCEERR_AO___2 = 5
} ;
enum __anonenum_493465559___2 {
    TRAP_BRKPT___2 = 1,
    TRAP_TRACE___2 = 2
} ;
enum __anonenum_23175539___2 {
    CLD_EXITED___2 = 1,
    CLD_KILLED___2 = 2,
    CLD_DUMPED___2 = 3,
    CLD_TRAPPED___2 = 4,
    CLD_STOPPED___2 = 5,
    CLD_CONTINUED___2 = 6
} ;
enum __anonenum_111643124___2 {
    POLL_IN___2 = 1,
    POLL_OUT___2 = 2,
    POLL_MSG___2 = 3,
    POLL_ERR___2 = 4,
    POLL_PRI___2 = 5,
    POLL_HUP___2 = 6
} ;
enum __anonenum_852341087___2 {
    SIGEV_SIGNAL___2 = 0,
    SIGEV_NONE___2 = 1,
    SIGEV_THREAD___2 = 2,
    SIGEV_THREAD_ID___2 = 4
} ;
enum __anonenum_451154152___2 {
    REG_R8___2 = 0,
    REG_R9___2 = 1,
    REG_R10___2 = 2,
    REG_R11___2 = 3,
    REG_R12___2 = 4,
    REG_R13___2 = 5,
    REG_R14___2 = 6,
    REG_R15___2 = 7,
    REG_RDI___2 = 8,
    REG_RSI___2 = 9,
    REG_RBP___2 = 10,
    REG_RBX___2 = 11,
    REG_RDX___2 = 12,
    REG_RAX___2 = 13,
    REG_RCX___2 = 14,
    REG_RSP___2 = 15,
    REG_RIP___2 = 16,
    REG_EFL___2 = 17,
    REG_CSGSFS___2 = 18,
    REG_ERR___2 = 19,
    REG_TRAPNO___2 = 20,
    REG_OLDMASK___2 = 21,
    REG_CR2___2 = 22
} ;
enum __anonenum_57186863___2 {
    SS_ONSTACK___2 = 1,
    SS_DISABLE___2 = 2
} ;
enum __anonenum_83571709___2 {
    MSG_OOB___2 = 1,
    MSG_PEEK___2 = 2,
    MSG_DONTROUTE___2 = 4,
    MSG_TRYHARD___2 = 4,
    MSG_CTRUNC___2 = 8,
    MSG_PROXY___2 = 16,
    MSG_TRUNC___2 = 32,
    MSG_DONTWAIT___2 = 64,
    MSG_EOR___2 = 128,
    MSG_WAITALL___2 = 256,
    MSG_FIN___2 = 512,
    MSG_SYN___2 = 1024,
    MSG_CONFIRM___2 = 2048,
    MSG_RST___2 = 4096,
    MSG_ERRQUEUE___2 = 8192,
    MSG_NOSIGNAL___2 = 16384,
    MSG_MORE___2 = 32768,
    MSG_WAITFORONE___2 = 65536,
    MSG_BATCH___2 = 262144,
    MSG_ZEROCOPY___2 = 67108864,
    MSG_FASTOPEN___2 = 536870912,
    MSG_CMSG_CLOEXEC___2 = 1073741824
} ;
enum __anonenum_617082774___2 {
    SCM_RIGHTS___2 = 1,
    SCM_CREDENTIALS___2 = 2
} ;
enum __anonenum_606441560___2 {
    SHUT_RD___2 = 0,
    SHUT_WR___2 = 1,
    SHUT_RDWR___2 = 2
} ;
enum __anonenum_681669233___2 {
    IPPROTO_IP___2 = 0,
    IPPROTO_ICMP___2 = 1,
    IPPROTO_IGMP___2 = 2,
    IPPROTO_IPIP___2 = 4,
    IPPROTO_TCP___2 = 6,
    IPPROTO_EGP___2 = 8,
    IPPROTO_PUP___2 = 12,
    IPPROTO_UDP___2 = 17,
    IPPROTO_IDP___2 = 22,
    IPPROTO_TP___2 = 29,
    IPPROTO_DCCP___2 = 33,
    IPPROTO_IPV6___2 = 41,
    IPPROTO_RSVP___2 = 46,
    IPPROTO_GRE___2 = 47,
    IPPROTO_ESP___2 = 50,
    IPPROTO_AH___2 = 51,
    IPPROTO_MTP___2 = 92,
    IPPROTO_BEETPH___2 = 94,
    IPPROTO_ENCAP___2 = 98,
    IPPROTO_PIM___2 = 103,
    IPPROTO_COMP___2 = 108,
    IPPROTO_SCTP___2 = 132,
    IPPROTO_UDPLITE___2 = 136,
    IPPROTO_MPLS___2 = 137,
    IPPROTO_RAW___2 = 255,
    IPPROTO_MAX___2 = 256
} ;
enum __anonenum_218739988___2 {
    IPPROTO_HOPOPTS___2 = 0,
    IPPROTO_ROUTING___2 = 43,
    IPPROTO_FRAGMENT___2 = 44,
    IPPROTO_ICMPV6___2 = 58,
    IPPROTO_NONE___2 = 59,
    IPPROTO_DSTOPTS___2 = 60,
    IPPROTO_MH___2 = 135
} ;
enum __anonenum_662268580___2 {
    IPPORT_ECHO___2 = 7,
    IPPORT_DISCARD___2 = 9,
    IPPORT_SYSTAT___2 = 11,
    IPPORT_DAYTIME___2 = 13,
    IPPORT_NETSTAT___2 = 15,
    IPPORT_FTP___2 = 21,
    IPPORT_TELNET___2 = 23,
    IPPORT_SMTP___2 = 25,
    IPPORT_TIMESERVER___2 = 37,
    IPPORT_NAMESERVER___2 = 42,
    IPPORT_WHOIS___2 = 43,
    IPPORT_MTP___2 = 57,
    IPPORT_TFTP___2 = 69,
    IPPORT_RJE___2 = 77,
    IPPORT_FINGER___2 = 79,
    IPPORT_TTYLINK___2 = 87,
    IPPORT_SUPDUP___2 = 95,
    IPPORT_EXECSERVER___2 = 512,
    IPPORT_LOGINSERVER___2 = 513,
    IPPORT_CMDSERVER___2 = 514,
    IPPORT_EFSSERVER___2 = 520,
    IPPORT_BIFFUDP___2 = 512,
    IPPORT_WHOSERVER___2 = 513,
    IPPORT_ROUTESERVER___2 = 520,
    IPPORT_RESERVED___2 = 1024,
    IPPORT_USERRESERVED___2 = 5000
} ;
enum __anonenum_788308992___2 {
    TCP_ESTABLISHED___2 = 1,
    TCP_SYN_SENT___2 = 2,
    TCP_SYN_RECV___2 = 3,
    TCP_FIN_WAIT1___2 = 4,
    TCP_FIN_WAIT2___2 = 5,
    TCP_TIME_WAIT___2 = 6,
    TCP_CLOSE___2 = 7,
    TCP_CLOSE_WAIT___2 = 8,
    TCP_LAST_ACK___2 = 9,
    TCP_LISTEN___2 = 10,
    TCP_CLOSING___2 = 11
} ;
enum __anonenum_221125648___2 {
    TCP_NO_QUEUE___2 = 0,
    TCP_RECV_QUEUE___2 = 1,
    TCP_SEND_QUEUE___2 = 2,
    TCP_QUEUES_NR___2 = 3
} ;
enum __anonenum_34415463___2 {
    PTHREAD_CREATE_JOINABLE___2 = 0,
    PTHREAD_CREATE_DETACHED___2 = 1
} ;
enum __anonenum_303612439___2 {
    PTHREAD_MUTEX_TIMED_NP___2 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___2 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___2 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___2 = 3,
    PTHREAD_MUTEX_NORMAL___2 = 0,
    PTHREAD_MUTEX_RECURSIVE___2 = 1,
    PTHREAD_MUTEX_ERRORCHECK___2 = 2,
    PTHREAD_MUTEX_DEFAULT___2 = 0,
    PTHREAD_MUTEX_FAST_NP___2 = 0
} ;
enum __anonenum_931900394___2 {
    PTHREAD_MUTEX_STALLED___2 = 0,
    PTHREAD_MUTEX_STALLED_NP___2 = 0,
    PTHREAD_MUTEX_ROBUST___2 = 1,
    PTHREAD_MUTEX_ROBUST_NP___2 = 1
} ;
enum __anonenum_205214487___2 {
    PTHREAD_PRIO_NONE___2 = 0,
    PTHREAD_PRIO_INHERIT___2 = 1,
    PTHREAD_PRIO_PROTECT___2 = 2
} ;
enum __anonenum_25043950___2 {
    PTHREAD_RWLOCK_PREFER_READER_NP___2 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___2 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___2 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___2 = 0
} ;
enum __anonenum_436439511___2 {
    PTHREAD_INHERIT_SCHED___2 = 0,
    PTHREAD_EXPLICIT_SCHED___2 = 1
} ;
enum __anonenum_998661166___2 {
    PTHREAD_SCOPE_SYSTEM___2 = 0,
    PTHREAD_SCOPE_PROCESS___2 = 1
} ;
enum __anonenum_146137331___2 {
    PTHREAD_PROCESS_PRIVATE___2 = 0,
    PTHREAD_PROCESS_SHARED___2 = 1
} ;
enum __anonenum_53396917___2 {
    PTHREAD_CANCEL_ENABLE___2 = 0,
    PTHREAD_CANCEL_DISABLE___2 = 1
} ;
enum __anonenum_904563783___2 {
    PTHREAD_CANCEL_DEFERRED___2 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___2 = 1
} ;
enum __anonenum_672052974___2 {
    SSL_CT_VALIDATION_PERMISSIVE___2 = 0,
    SSL_CT_VALIDATION_STRICT___2 = 1
} ;
enum config_scope {
    CONFIG_SCOPE_UNKNOWN = 0,
    CONFIG_SCOPE_SYSTEM = 1,
    CONFIG_SCOPE_GLOBAL = 2,
    CONFIG_SCOPE_LOCAL = 3,
    CONFIG_SCOPE_WORKTREE = 4,
    CONFIG_SCOPE_COMMAND = 5,
    CONFIG_SCOPE_SUBMODULE = 6
} ;
struct git_config_source {
   unsigned int use_stdin : 1 ;
   char const   *file ;
   struct repository *repo ;
   char const   *blob ;
   enum config_scope scope ;
};
enum config_origin_type {
    CONFIG_ORIGIN_BLOB = 0,
    CONFIG_ORIGIN_FILE = 1,
    CONFIG_ORIGIN_STDIN = 2,
    CONFIG_ORIGIN_SUBMODULE_BLOB = 3,
    CONFIG_ORIGIN_CMDLINE = 4
} ;
enum config_event_t {
    CONFIG_EVENT_SECTION = 0,
    CONFIG_EVENT_ENTRY = 1,
    CONFIG_EVENT_WHITESPACE = 2,
    CONFIG_EVENT_COMMENT = 3,
    CONFIG_EVENT_EOF = 4,
    CONFIG_EVENT_ERROR = 5
} ;
typedef int (*config_parser_event_fn_t)(enum config_event_t type , size_t begin_offset ,
                                        size_t end_offset , void *event_fn_data );
enum config_error_action {
    CONFIG_ERROR_UNSET = 0,
    CONFIG_ERROR_DIE = 1,
    CONFIG_ERROR_ERROR = 2,
    CONFIG_ERROR_SILENT = 3
} ;
struct config_options {
   unsigned int respect_includes : 1 ;
   unsigned int ignore_repo : 1 ;
   unsigned int ignore_worktree : 1 ;
   unsigned int ignore_cmdline : 1 ;
   unsigned int system_gently : 1 ;
   char const   *commondir ;
   char const   *git_dir ;
   int (*event_fn)(enum config_event_t type , size_t begin_offset , size_t end_offset ,
                   void *event_fn_data ) ;
   void *event_fn_data ;
   enum config_error_action error_action ;
};
typedef int (*config_fn_t)(char const   * , char const   * , void * );
struct config_include_data {
   int depth ;
   int (*fn)(char const   * , char const   * , void * ) ;
   void *data ;
   struct config_options  const  *opts ;
};
struct config_set_element {
   struct hashmap_entry ent ;
   char *key ;
   struct string_list value_list ;
};
struct configset_list_item {
   struct config_set_element *e ;
   int value_index ;
};
struct configset_list {
   struct configset_list_item *items ;
   unsigned int nr ;
   unsigned int alloc ;
};
struct config_set {
   struct hashmap config_hash ;
   int hash_initialized ;
   struct configset_list list ;
};
struct key_value_info {
   char const   *filename ;
   int linenr ;
   enum config_origin_type origin_type ;
   enum config_scope scope ;
};
enum sideband_type {
    SIDEBAND_PROTOCOL_ERROR = -2,
    SIDEBAND_REMOTE_ERROR = -1,
    SIDEBAND_FLUSH = 0,
    SIDEBAND_PRIMARY = 1
} ;
enum packet_read_status {
    PACKET_READ_EOF = 0,
    PACKET_READ_NORMAL = 1,
    PACKET_READ_FLUSH = 2,
    PACKET_READ_DELIM = 3,
    PACKET_READ_RESPONSE_END = 4
} ;
struct packet_reader {
   int fd ;
   char *src_buffer ;
   size_t src_len ;
   char *buffer ;
   unsigned int buffer_size ;
   int options ;
   enum packet_read_status status ;
   int pktlen ;
   char const   *line ;
   int line_peeked ;
   unsigned int use_sideband : 1 ;
   char const   *me ;
   struct git_hash_algo  const  *hash_algo ;
};
struct packet_writer {
   int dest_fd ;
   unsigned int use_sideband : 1 ;
};
struct strvec {
   char const   **v ;
   size_t nr ;
   size_t alloc ;
};
struct child_process {
   struct strvec args ;
   struct strvec env_array ;
   pid_t pid ;
   int trace2_child_id ;
   uint64_t trace2_child_us_start ;
   char const   *trace2_child_class ;
   char const   *trace2_hook_name ;
   int in ;
   int out ;
   int err ;
   char const   *dir ;
   unsigned int no_stdin : 1 ;
   unsigned int no_stdout : 1 ;
   unsigned int no_stderr : 1 ;
   unsigned int git_cmd : 1 ;
   unsigned int silent_exec_failure : 1 ;
   unsigned int use_shell : 1 ;
   unsigned int close_object_store : 1 ;
   unsigned int stdout_to_stderr : 1 ;
   unsigned int clean_on_exit : 1 ;
   unsigned int wait_after_clean : 1 ;
   void (*clean_on_exit_handler)(struct child_process *process ) ;
   void *clean_on_exit_handler_cbdata ;
};
struct async {
   int (*proc)(int in , int out , void *data ) ;
   void *data ;
   int in ;
   int out ;
   pthread_t tid ;
   int proc_in ;
   int proc_out ;
   int isolate_sigpipe ;
};
typedef int (*get_next_task_fn)(struct child_process *cp , struct strbuf *out , void *pp_cb ,
                                void **pp_task_cb );
typedef int (*start_failure_fn)(struct strbuf *out , void *pp_cb , void *pp_task_cb );
typedef int (*task_finished_fn)(int result , struct strbuf *out , void *pp_cb , void *pp_task_cb );
enum start_bg_result {
    SBGR_READY = 0,
    SBGR_ERROR = 1,
    SBGR_CB_ERROR = 2,
    SBGR_TIMEOUT = 3,
    SBGR_DIED = 4
} ;
typedef int start_bg_wait_cb(struct child_process  const  *cmd , void *cb_data );
enum log_destination {
    LOG_DESTINATION_UNSET = -1,
    LOG_DESTINATION_NONE = 0,
    LOG_DESTINATION_STDERR = 1,
    LOG_DESTINATION_SYSLOG = 2
} ;
struct hostinfo {
   struct strbuf hostname ;
   struct strbuf canon_hostname ;
   struct strbuf ip_address ;
   struct strbuf tcp_port ;
   unsigned int hostname_lookup_done : 1 ;
   unsigned int saw_extended_args : 1 ;
};
struct expand_path_context {
   char const   *directory ;
   struct hostinfo *hostinfo ;
};
typedef int (*daemon_service_fn)(struct strvec  const  *env );
struct daemon_service {
   char const   *name ;
   char const   *config_name ;
   int (*fn)(struct strvec  const  *env ) ;
   int enabled ;
   int overridable ;
};
struct child {
   struct child *next ;
   struct child_process cld ;
   struct sockaddr_storage address ;
};
struct socketlist {
   int *list ;
   size_t nr ;
   size_t alloc ;
};
union __anonunion_ss_453621216 {
   struct sockaddr sa ;
   struct sockaddr_in sai ;
   struct sockaddr_in6 sai6 ;
};
struct credentials {
   struct passwd *pass ;
   gid_t gid ;
};
enum __anonenum_437032235___3 {
    _PC_LINK_MAX___3 = 0,
    _PC_MAX_CANON___3 = 1,
    _PC_MAX_INPUT___3 = 2,
    _PC_NAME_MAX___3 = 3,
    _PC_PATH_MAX___3 = 4,
    _PC_PIPE_BUF___3 = 5,
    _PC_CHOWN_RESTRICTED___3 = 6,
    _PC_NO_TRUNC___3 = 7,
    _PC_VDISABLE___3 = 8,
    _PC_SYNC_IO___3 = 9,
    _PC_ASYNC_IO___3 = 10,
    _PC_PRIO_IO___3 = 11,
    _PC_SOCK_MAXBUF___3 = 12,
    _PC_FILESIZEBITS___3 = 13,
    _PC_REC_INCR_XFER_SIZE___3 = 14,
    _PC_REC_MAX_XFER_SIZE___3 = 15,
    _PC_REC_MIN_XFER_SIZE___3 = 16,
    _PC_REC_XFER_ALIGN___3 = 17,
    _PC_ALLOC_SIZE_MIN___3 = 18,
    _PC_SYMLINK_MAX___3 = 19,
    _PC_2_SYMLINKS___3 = 20
} ;
enum __anonenum_315186338___3 {
    _SC_ARG_MAX___3 = 0,
    _SC_CHILD_MAX___3 = 1,
    _SC_CLK_TCK___3 = 2,
    _SC_NGROUPS_MAX___3 = 3,
    _SC_OPEN_MAX___3 = 4,
    _SC_STREAM_MAX___3 = 5,
    _SC_TZNAME_MAX___3 = 6,
    _SC_JOB_CONTROL___3 = 7,
    _SC_SAVED_IDS___3 = 8,
    _SC_REALTIME_SIGNALS___3 = 9,
    _SC_PRIORITY_SCHEDULING___3 = 10,
    _SC_TIMERS___3 = 11,
    _SC_ASYNCHRONOUS_IO___3 = 12,
    _SC_PRIORITIZED_IO___3 = 13,
    _SC_SYNCHRONIZED_IO___3 = 14,
    _SC_FSYNC___3 = 15,
    _SC_MAPPED_FILES___3 = 16,
    _SC_MEMLOCK___3 = 17,
    _SC_MEMLOCK_RANGE___3 = 18,
    _SC_MEMORY_PROTECTION___3 = 19,
    _SC_MESSAGE_PASSING___3 = 20,
    _SC_SEMAPHORES___3 = 21,
    _SC_SHARED_MEMORY_OBJECTS___3 = 22,
    _SC_AIO_LISTIO_MAX___3 = 23,
    _SC_AIO_MAX___3 = 24,
    _SC_AIO_PRIO_DELTA_MAX___3 = 25,
    _SC_DELAYTIMER_MAX___3 = 26,
    _SC_MQ_OPEN_MAX___3 = 27,
    _SC_MQ_PRIO_MAX___3 = 28,
    _SC_VERSION___3 = 29,
    _SC_PAGESIZE___3 = 30,
    _SC_RTSIG_MAX___3 = 31,
    _SC_SEM_NSEMS_MAX___3 = 32,
    _SC_SEM_VALUE_MAX___3 = 33,
    _SC_SIGQUEUE_MAX___3 = 34,
    _SC_TIMER_MAX___3 = 35,
    _SC_BC_BASE_MAX___3 = 36,
    _SC_BC_DIM_MAX___3 = 37,
    _SC_BC_SCALE_MAX___3 = 38,
    _SC_BC_STRING_MAX___3 = 39,
    _SC_COLL_WEIGHTS_MAX___3 = 40,
    _SC_EQUIV_CLASS_MAX___3 = 41,
    _SC_EXPR_NEST_MAX___3 = 42,
    _SC_LINE_MAX___3 = 43,
    _SC_RE_DUP_MAX___3 = 44,
    _SC_CHARCLASS_NAME_MAX___3 = 45,
    _SC_2_VERSION___3 = 46,
    _SC_2_C_BIND___3 = 47,
    _SC_2_C_DEV___3 = 48,
    _SC_2_FORT_DEV___3 = 49,
    _SC_2_FORT_RUN___3 = 50,
    _SC_2_SW_DEV___3 = 51,
    _SC_2_LOCALEDEF___3 = 52,
    _SC_PII___3 = 53,
    _SC_PII_XTI___3 = 54,
    _SC_PII_SOCKET___3 = 55,
    _SC_PII_INTERNET___3 = 56,
    _SC_PII_OSI___3 = 57,
    _SC_POLL___3 = 58,
    _SC_SELECT___3 = 59,
    _SC_UIO_MAXIOV___3 = 60,
    _SC_IOV_MAX___3 = 60,
    _SC_PII_INTERNET_STREAM___3 = 61,
    _SC_PII_INTERNET_DGRAM___3 = 62,
    _SC_PII_OSI_COTS___3 = 63,
    _SC_PII_OSI_CLTS___3 = 64,
    _SC_PII_OSI_M___3 = 65,
    _SC_T_IOV_MAX___3 = 66,
    _SC_THREADS___3 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___3 = 68,
    _SC_GETGR_R_SIZE_MAX___3 = 69,
    _SC_GETPW_R_SIZE_MAX___3 = 70,
    _SC_LOGIN_NAME_MAX___3 = 71,
    _SC_TTY_NAME_MAX___3 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___3 = 73,
    _SC_THREAD_KEYS_MAX___3 = 74,
    _SC_THREAD_STACK_MIN___3 = 75,
    _SC_THREAD_THREADS_MAX___3 = 76,
    _SC_THREAD_ATTR_STACKADDR___3 = 77,
    _SC_THREAD_ATTR_STACKSIZE___3 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___3 = 79,
    _SC_THREAD_PRIO_INHERIT___3 = 80,
    _SC_THREAD_PRIO_PROTECT___3 = 81,
    _SC_THREAD_PROCESS_SHARED___3 = 82,
    _SC_NPROCESSORS_CONF___3 = 83,
    _SC_NPROCESSORS_ONLN___3 = 84,
    _SC_PHYS_PAGES___3 = 85,
    _SC_AVPHYS_PAGES___3 = 86,
    _SC_ATEXIT_MAX___3 = 87,
    _SC_PASS_MAX___3 = 88,
    _SC_XOPEN_VERSION___3 = 89,
    _SC_XOPEN_XCU_VERSION___3 = 90,
    _SC_XOPEN_UNIX___3 = 91,
    _SC_XOPEN_CRYPT___3 = 92,
    _SC_XOPEN_ENH_I18N___3 = 93,
    _SC_XOPEN_SHM___3 = 94,
    _SC_2_CHAR_TERM___3 = 95,
    _SC_2_C_VERSION___3 = 96,
    _SC_2_UPE___3 = 97,
    _SC_XOPEN_XPG2___3 = 98,
    _SC_XOPEN_XPG3___3 = 99,
    _SC_XOPEN_XPG4___3 = 100,
    _SC_CHAR_BIT___3 = 101,
    _SC_CHAR_MAX___3 = 102,
    _SC_CHAR_MIN___3 = 103,
    _SC_INT_MAX___3 = 104,
    _SC_INT_MIN___3 = 105,
    _SC_LONG_BIT___3 = 106,
    _SC_WORD_BIT___3 = 107,
    _SC_MB_LEN_MAX___3 = 108,
    _SC_NZERO___3 = 109,
    _SC_SSIZE_MAX___3 = 110,
    _SC_SCHAR_MAX___3 = 111,
    _SC_SCHAR_MIN___3 = 112,
    _SC_SHRT_MAX___3 = 113,
    _SC_SHRT_MIN___3 = 114,
    _SC_UCHAR_MAX___3 = 115,
    _SC_UINT_MAX___3 = 116,
    _SC_ULONG_MAX___3 = 117,
    _SC_USHRT_MAX___3 = 118,
    _SC_NL_ARGMAX___3 = 119,
    _SC_NL_LANGMAX___3 = 120,
    _SC_NL_MSGMAX___3 = 121,
    _SC_NL_NMAX___3 = 122,
    _SC_NL_SETMAX___3 = 123,
    _SC_NL_TEXTMAX___3 = 124,
    _SC_XBS5_ILP32_OFF32___3 = 125,
    _SC_XBS5_ILP32_OFFBIG___3 = 126,
    _SC_XBS5_LP64_OFF64___3 = 127,
    _SC_XBS5_LPBIG_OFFBIG___3 = 128,
    _SC_XOPEN_LEGACY___3 = 129,
    _SC_XOPEN_REALTIME___3 = 130,
    _SC_XOPEN_REALTIME_THREADS___3 = 131,
    _SC_ADVISORY_INFO___3 = 132,
    _SC_BARRIERS___3 = 133,
    _SC_BASE___3 = 134,
    _SC_C_LANG_SUPPORT___3 = 135,
    _SC_C_LANG_SUPPORT_R___3 = 136,
    _SC_CLOCK_SELECTION___3 = 137,
    _SC_CPUTIME___3 = 138,
    _SC_THREAD_CPUTIME___3 = 139,
    _SC_DEVICE_IO___3 = 140,
    _SC_DEVICE_SPECIFIC___3 = 141,
    _SC_DEVICE_SPECIFIC_R___3 = 142,
    _SC_FD_MGMT___3 = 143,
    _SC_FIFO___3 = 144,
    _SC_PIPE___3 = 145,
    _SC_FILE_ATTRIBUTES___3 = 146,
    _SC_FILE_LOCKING___3 = 147,
    _SC_FILE_SYSTEM___3 = 148,
    _SC_MONOTONIC_CLOCK___3 = 149,
    _SC_MULTI_PROCESS___3 = 150,
    _SC_SINGLE_PROCESS___3 = 151,
    _SC_NETWORKING___3 = 152,
    _SC_READER_WRITER_LOCKS___3 = 153,
    _SC_SPIN_LOCKS___3 = 154,
    _SC_REGEXP___3 = 155,
    _SC_REGEX_VERSION___3 = 156,
    _SC_SHELL___3 = 157,
    _SC_SIGNALS___3 = 158,
    _SC_SPAWN___3 = 159,
    _SC_SPORADIC_SERVER___3 = 160,
    _SC_THREAD_SPORADIC_SERVER___3 = 161,
    _SC_SYSTEM_DATABASE___3 = 162,
    _SC_SYSTEM_DATABASE_R___3 = 163,
    _SC_TIMEOUTS___3 = 164,
    _SC_TYPED_MEMORY_OBJECTS___3 = 165,
    _SC_USER_GROUPS___3 = 166,
    _SC_USER_GROUPS_R___3 = 167,
    _SC_2_PBS___3 = 168,
    _SC_2_PBS_ACCOUNTING___3 = 169,
    _SC_2_PBS_LOCATE___3 = 170,
    _SC_2_PBS_MESSAGE___3 = 171,
    _SC_2_PBS_TRACK___3 = 172,
    _SC_SYMLOOP_MAX___3 = 173,
    _SC_STREAMS___3 = 174,
    _SC_2_PBS_CHECKPOINT___3 = 175,
    _SC_V6_ILP32_OFF32___3 = 176,
    _SC_V6_ILP32_OFFBIG___3 = 177,
    _SC_V6_LP64_OFF64___3 = 178,
    _SC_V6_LPBIG_OFFBIG___3 = 179,
    _SC_HOST_NAME_MAX___3 = 180,
    _SC_TRACE___3 = 181,
    _SC_TRACE_EVENT_FILTER___3 = 182,
    _SC_TRACE_INHERIT___3 = 183,
    _SC_TRACE_LOG___3 = 184,
    _SC_LEVEL1_ICACHE_SIZE___3 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___3 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___3 = 187,
    _SC_LEVEL1_DCACHE_SIZE___3 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___3 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___3 = 190,
    _SC_LEVEL2_CACHE_SIZE___3 = 191,
    _SC_LEVEL2_CACHE_ASSOC___3 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___3 = 193,
    _SC_LEVEL3_CACHE_SIZE___3 = 194,
    _SC_LEVEL3_CACHE_ASSOC___3 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___3 = 196,
    _SC_LEVEL4_CACHE_SIZE___3 = 197,
    _SC_LEVEL4_CACHE_ASSOC___3 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___3 = 199,
    _SC_IPV6___3 = 235,
    _SC_RAW_SOCKETS___3 = 236,
    _SC_V7_ILP32_OFF32___3 = 237,
    _SC_V7_ILP32_OFFBIG___3 = 238,
    _SC_V7_LP64_OFF64___3 = 239,
    _SC_V7_LPBIG_OFFBIG___3 = 240,
    _SC_SS_REPL_MAX___3 = 241,
    _SC_TRACE_EVENT_NAME_MAX___3 = 242,
    _SC_TRACE_NAME_MAX___3 = 243,
    _SC_TRACE_SYS_MAX___3 = 244,
    _SC_TRACE_USER_EVENT_MAX___3 = 245,
    _SC_XOPEN_STREAMS___3 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___3 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___3 = 248
} ;
enum __anonenum_875524036___3 {
    _CS_PATH___3 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___3 = 1,
    _CS_GNU_LIBC_VERSION___3 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___3 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___3 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___3 = 5,
    _CS_LFS_CFLAGS___3 = 1000,
    _CS_LFS_LDFLAGS___3 = 1001,
    _CS_LFS_LIBS___3 = 1002,
    _CS_LFS_LINTFLAGS___3 = 1003,
    _CS_LFS64_CFLAGS___3 = 1004,
    _CS_LFS64_LDFLAGS___3 = 1005,
    _CS_LFS64_LIBS___3 = 1006,
    _CS_LFS64_LINTFLAGS___3 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___3 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___3 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___3 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___3 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___3 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___3 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___3 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___3 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___3 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___3 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___3 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___3 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___3 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___3 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___3 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___3 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___3 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___3 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___3 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___3 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___3 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___3 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___3 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___3 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___3 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___3 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___3 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___3 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___3 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___3 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___3 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___3 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___3 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___3 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___3 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___3 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___3 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___3 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___3 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___3 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___3 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___3 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___3 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___3 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___3 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___3 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___3 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___3 = 1147,
    _CS_V6_ENV___3 = 1148,
    _CS_V7_ENV___3 = 1149
} ;
enum __anonenum_513775621___3 {
    DT_UNKNOWN___3 = 0,
    DT_FIFO___3 = 1,
    DT_CHR___3 = 2,
    DT_DIR___3 = 4,
    DT_BLK___3 = 6,
    DT_REG___3 = 8,
    DT_LNK___3 = 10,
    DT_SOCK___3 = 12,
    DT_WHT___3 = 14
} ;
enum __anonenum_77002343___3 {
    SI_ASYNCNL___3 = -60,
    SI_TKILL___3 = -6,
    SI_SIGIO___3 = -5,
    SI_ASYNCIO___3 = -4,
    SI_MESGQ___3 = -3,
    SI_TIMER___3 = -2,
    SI_QUEUE___3 = -1,
    SI_USER___3 = 0,
    SI_KERNEL___3 = 128
} ;
enum __anonenum_131038172___3 {
    ILL_ILLOPC___3 = 1,
    ILL_ILLOPN___3 = 2,
    ILL_ILLADR___3 = 3,
    ILL_ILLTRP___3 = 4,
    ILL_PRVOPC___3 = 5,
    ILL_PRVREG___3 = 6,
    ILL_COPROC___3 = 7,
    ILL_BADSTK___3 = 8
} ;
enum __anonenum_452038093___3 {
    FPE_INTDIV___3 = 1,
    FPE_INTOVF___3 = 2,
    FPE_FLTDIV___3 = 3,
    FPE_FLTOVF___3 = 4,
    FPE_FLTUND___3 = 5,
    FPE_FLTRES___3 = 6,
    FPE_FLTINV___3 = 7,
    FPE_FLTSUB___3 = 8
} ;
enum __anonenum_30976155___3 {
    SEGV_MAPERR___3 = 1,
    SEGV_ACCERR___3 = 2,
    SEGV_BNDERR___3 = 3,
    SEGV_PKUERR___3 = 4
} ;
enum __anonenum_1036286214___3 {
    BUS_ADRALN___3 = 1,
    BUS_ADRERR___3 = 2,
    BUS_OBJERR___3 = 3,
    BUS_MCEERR_AR___3 = 4,
    BUS_MCEERR_AO___3 = 5
} ;
enum __anonenum_493465559___3 {
    TRAP_BRKPT___3 = 1,
    TRAP_TRACE___3 = 2
} ;
enum __anonenum_23175539___3 {
    CLD_EXITED___3 = 1,
    CLD_KILLED___3 = 2,
    CLD_DUMPED___3 = 3,
    CLD_TRAPPED___3 = 4,
    CLD_STOPPED___3 = 5,
    CLD_CONTINUED___3 = 6
} ;
enum __anonenum_111643124___3 {
    POLL_IN___3 = 1,
    POLL_OUT___3 = 2,
    POLL_MSG___3 = 3,
    POLL_ERR___3 = 4,
    POLL_PRI___3 = 5,
    POLL_HUP___3 = 6
} ;
enum __anonenum_852341087___3 {
    SIGEV_SIGNAL___3 = 0,
    SIGEV_NONE___3 = 1,
    SIGEV_THREAD___3 = 2,
    SIGEV_THREAD_ID___3 = 4
} ;
enum __anonenum_451154152___3 {
    REG_R8___3 = 0,
    REG_R9___3 = 1,
    REG_R10___3 = 2,
    REG_R11___3 = 3,
    REG_R12___3 = 4,
    REG_R13___3 = 5,
    REG_R14___3 = 6,
    REG_R15___3 = 7,
    REG_RDI___3 = 8,
    REG_RSI___3 = 9,
    REG_RBP___3 = 10,
    REG_RBX___3 = 11,
    REG_RDX___3 = 12,
    REG_RAX___3 = 13,
    REG_RCX___3 = 14,
    REG_RSP___3 = 15,
    REG_RIP___3 = 16,
    REG_EFL___3 = 17,
    REG_CSGSFS___3 = 18,
    REG_ERR___3 = 19,
    REG_TRAPNO___3 = 20,
    REG_OLDMASK___3 = 21,
    REG_CR2___3 = 22
} ;
enum __anonenum_57186863___3 {
    SS_ONSTACK___3 = 1,
    SS_DISABLE___3 = 2
} ;
enum __anonenum_83571709___3 {
    MSG_OOB___3 = 1,
    MSG_PEEK___3 = 2,
    MSG_DONTROUTE___3 = 4,
    MSG_TRYHARD___3 = 4,
    MSG_CTRUNC___3 = 8,
    MSG_PROXY___3 = 16,
    MSG_TRUNC___3 = 32,
    MSG_DONTWAIT___3 = 64,
    MSG_EOR___3 = 128,
    MSG_WAITALL___3 = 256,
    MSG_FIN___3 = 512,
    MSG_SYN___3 = 1024,
    MSG_CONFIRM___3 = 2048,
    MSG_RST___3 = 4096,
    MSG_ERRQUEUE___3 = 8192,
    MSG_NOSIGNAL___3 = 16384,
    MSG_MORE___3 = 32768,
    MSG_WAITFORONE___3 = 65536,
    MSG_BATCH___3 = 262144,
    MSG_ZEROCOPY___3 = 67108864,
    MSG_FASTOPEN___3 = 536870912,
    MSG_CMSG_CLOEXEC___3 = 1073741824
} ;
enum __anonenum_617082774___3 {
    SCM_RIGHTS___3 = 1,
    SCM_CREDENTIALS___3 = 2
} ;
enum __anonenum_606441560___3 {
    SHUT_RD___3 = 0,
    SHUT_WR___3 = 1,
    SHUT_RDWR___3 = 2
} ;
enum __anonenum_681669233___3 {
    IPPROTO_IP___3 = 0,
    IPPROTO_ICMP___3 = 1,
    IPPROTO_IGMP___3 = 2,
    IPPROTO_IPIP___3 = 4,
    IPPROTO_TCP___3 = 6,
    IPPROTO_EGP___3 = 8,
    IPPROTO_PUP___3 = 12,
    IPPROTO_UDP___3 = 17,
    IPPROTO_IDP___3 = 22,
    IPPROTO_TP___3 = 29,
    IPPROTO_DCCP___3 = 33,
    IPPROTO_IPV6___3 = 41,
    IPPROTO_RSVP___3 = 46,
    IPPROTO_GRE___3 = 47,
    IPPROTO_ESP___3 = 50,
    IPPROTO_AH___3 = 51,
    IPPROTO_MTP___3 = 92,
    IPPROTO_BEETPH___3 = 94,
    IPPROTO_ENCAP___3 = 98,
    IPPROTO_PIM___3 = 103,
    IPPROTO_COMP___3 = 108,
    IPPROTO_SCTP___3 = 132,
    IPPROTO_UDPLITE___3 = 136,
    IPPROTO_MPLS___3 = 137,
    IPPROTO_RAW___3 = 255,
    IPPROTO_MAX___3 = 256
} ;
enum __anonenum_218739988___3 {
    IPPROTO_HOPOPTS___3 = 0,
    IPPROTO_ROUTING___3 = 43,
    IPPROTO_FRAGMENT___3 = 44,
    IPPROTO_ICMPV6___3 = 58,
    IPPROTO_NONE___3 = 59,
    IPPROTO_DSTOPTS___3 = 60,
    IPPROTO_MH___3 = 135
} ;
enum __anonenum_662268580___3 {
    IPPORT_ECHO___3 = 7,
    IPPORT_DISCARD___3 = 9,
    IPPORT_SYSTAT___3 = 11,
    IPPORT_DAYTIME___3 = 13,
    IPPORT_NETSTAT___3 = 15,
    IPPORT_FTP___3 = 21,
    IPPORT_TELNET___3 = 23,
    IPPORT_SMTP___3 = 25,
    IPPORT_TIMESERVER___3 = 37,
    IPPORT_NAMESERVER___3 = 42,
    IPPORT_WHOIS___3 = 43,
    IPPORT_MTP___3 = 57,
    IPPORT_TFTP___3 = 69,
    IPPORT_RJE___3 = 77,
    IPPORT_FINGER___3 = 79,
    IPPORT_TTYLINK___3 = 87,
    IPPORT_SUPDUP___3 = 95,
    IPPORT_EXECSERVER___3 = 512,
    IPPORT_LOGINSERVER___3 = 513,
    IPPORT_CMDSERVER___3 = 514,
    IPPORT_EFSSERVER___3 = 520,
    IPPORT_BIFFUDP___3 = 512,
    IPPORT_WHOSERVER___3 = 513,
    IPPORT_ROUTESERVER___3 = 520,
    IPPORT_RESERVED___3 = 1024,
    IPPORT_USERRESERVED___3 = 5000
} ;
enum __anonenum_788308992___3 {
    TCP_ESTABLISHED___3 = 1,
    TCP_SYN_SENT___3 = 2,
    TCP_SYN_RECV___3 = 3,
    TCP_FIN_WAIT1___3 = 4,
    TCP_FIN_WAIT2___3 = 5,
    TCP_TIME_WAIT___3 = 6,
    TCP_CLOSE___3 = 7,
    TCP_CLOSE_WAIT___3 = 8,
    TCP_LAST_ACK___3 = 9,
    TCP_LISTEN___3 = 10,
    TCP_CLOSING___3 = 11
} ;
enum __anonenum_221125648___3 {
    TCP_NO_QUEUE___3 = 0,
    TCP_RECV_QUEUE___3 = 1,
    TCP_SEND_QUEUE___3 = 2,
    TCP_QUEUES_NR___3 = 3
} ;
enum __anonenum_34415463___3 {
    PTHREAD_CREATE_JOINABLE___3 = 0,
    PTHREAD_CREATE_DETACHED___3 = 1
} ;
enum __anonenum_303612439___3 {
    PTHREAD_MUTEX_TIMED_NP___3 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___3 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___3 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___3 = 3,
    PTHREAD_MUTEX_NORMAL___3 = 0,
    PTHREAD_MUTEX_RECURSIVE___3 = 1,
    PTHREAD_MUTEX_ERRORCHECK___3 = 2,
    PTHREAD_MUTEX_DEFAULT___3 = 0,
    PTHREAD_MUTEX_FAST_NP___3 = 0
} ;
enum __anonenum_931900394___3 {
    PTHREAD_MUTEX_STALLED___3 = 0,
    PTHREAD_MUTEX_STALLED_NP___3 = 0,
    PTHREAD_MUTEX_ROBUST___3 = 1,
    PTHREAD_MUTEX_ROBUST_NP___3 = 1
} ;
enum __anonenum_205214487___3 {
    PTHREAD_PRIO_NONE___3 = 0,
    PTHREAD_PRIO_INHERIT___3 = 1,
    PTHREAD_PRIO_PROTECT___3 = 2
} ;
enum __anonenum_25043950___3 {
    PTHREAD_RWLOCK_PREFER_READER_NP___3 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___3 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___3 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___3 = 0
} ;
enum __anonenum_436439511___3 {
    PTHREAD_INHERIT_SCHED___3 = 0,
    PTHREAD_EXPLICIT_SCHED___3 = 1
} ;
enum __anonenum_998661166___3 {
    PTHREAD_SCOPE_SYSTEM___3 = 0,
    PTHREAD_SCOPE_PROCESS___3 = 1
} ;
enum __anonenum_146137331___3 {
    PTHREAD_PROCESS_PRIVATE___3 = 0,
    PTHREAD_PROCESS_SHARED___3 = 1
} ;
enum __anonenum_53396917___3 {
    PTHREAD_CANCEL_ENABLE___3 = 0,
    PTHREAD_CANCEL_DISABLE___3 = 1
} ;
enum __anonenum_904563783___3 {
    PTHREAD_CANCEL_DEFERRED___3 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___3 = 1
} ;
enum __anonenum_672052974___3 {
    SSL_CT_VALIDATION_PERMISSIVE___3 = 0,
    SSL_CT_VALIDATION_STRICT___3 = 1
} ;
struct git_attr ;
struct all_attrs_item ;
struct attr_stack ;
struct attr_check_item {
   struct git_attr  const  *attr ;
   char const   *value ;
};
struct attr_check {
   int nr ;
   int alloc ;
   struct attr_check_item *items ;
   int all_attrs_nr ;
   struct all_attrs_item *all_attrs ;
   struct attr_stack *stack ;
};
enum git_attr_direction {
    GIT_ATTR_CHECKIN = 0,
    GIT_ATTR_CHECKOUT = 1,
    GIT_ATTR_INDEX = 2
} ;
enum __anonenum_437032235___4 {
    _PC_LINK_MAX___4 = 0,
    _PC_MAX_CANON___4 = 1,
    _PC_MAX_INPUT___4 = 2,
    _PC_NAME_MAX___4 = 3,
    _PC_PATH_MAX___4 = 4,
    _PC_PIPE_BUF___4 = 5,
    _PC_CHOWN_RESTRICTED___4 = 6,
    _PC_NO_TRUNC___4 = 7,
    _PC_VDISABLE___4 = 8,
    _PC_SYNC_IO___4 = 9,
    _PC_ASYNC_IO___4 = 10,
    _PC_PRIO_IO___4 = 11,
    _PC_SOCK_MAXBUF___4 = 12,
    _PC_FILESIZEBITS___4 = 13,
    _PC_REC_INCR_XFER_SIZE___4 = 14,
    _PC_REC_MAX_XFER_SIZE___4 = 15,
    _PC_REC_MIN_XFER_SIZE___4 = 16,
    _PC_REC_XFER_ALIGN___4 = 17,
    _PC_ALLOC_SIZE_MIN___4 = 18,
    _PC_SYMLINK_MAX___4 = 19,
    _PC_2_SYMLINKS___4 = 20
} ;
enum __anonenum_315186338___4 {
    _SC_ARG_MAX___4 = 0,
    _SC_CHILD_MAX___4 = 1,
    _SC_CLK_TCK___4 = 2,
    _SC_NGROUPS_MAX___4 = 3,
    _SC_OPEN_MAX___4 = 4,
    _SC_STREAM_MAX___4 = 5,
    _SC_TZNAME_MAX___4 = 6,
    _SC_JOB_CONTROL___4 = 7,
    _SC_SAVED_IDS___4 = 8,
    _SC_REALTIME_SIGNALS___4 = 9,
    _SC_PRIORITY_SCHEDULING___4 = 10,
    _SC_TIMERS___4 = 11,
    _SC_ASYNCHRONOUS_IO___4 = 12,
    _SC_PRIORITIZED_IO___4 = 13,
    _SC_SYNCHRONIZED_IO___4 = 14,
    _SC_FSYNC___4 = 15,
    _SC_MAPPED_FILES___4 = 16,
    _SC_MEMLOCK___4 = 17,
    _SC_MEMLOCK_RANGE___4 = 18,
    _SC_MEMORY_PROTECTION___4 = 19,
    _SC_MESSAGE_PASSING___4 = 20,
    _SC_SEMAPHORES___4 = 21,
    _SC_SHARED_MEMORY_OBJECTS___4 = 22,
    _SC_AIO_LISTIO_MAX___4 = 23,
    _SC_AIO_MAX___4 = 24,
    _SC_AIO_PRIO_DELTA_MAX___4 = 25,
    _SC_DELAYTIMER_MAX___4 = 26,
    _SC_MQ_OPEN_MAX___4 = 27,
    _SC_MQ_PRIO_MAX___4 = 28,
    _SC_VERSION___4 = 29,
    _SC_PAGESIZE___4 = 30,
    _SC_RTSIG_MAX___4 = 31,
    _SC_SEM_NSEMS_MAX___4 = 32,
    _SC_SEM_VALUE_MAX___4 = 33,
    _SC_SIGQUEUE_MAX___4 = 34,
    _SC_TIMER_MAX___4 = 35,
    _SC_BC_BASE_MAX___4 = 36,
    _SC_BC_DIM_MAX___4 = 37,
    _SC_BC_SCALE_MAX___4 = 38,
    _SC_BC_STRING_MAX___4 = 39,
    _SC_COLL_WEIGHTS_MAX___4 = 40,
    _SC_EQUIV_CLASS_MAX___4 = 41,
    _SC_EXPR_NEST_MAX___4 = 42,
    _SC_LINE_MAX___4 = 43,
    _SC_RE_DUP_MAX___4 = 44,
    _SC_CHARCLASS_NAME_MAX___4 = 45,
    _SC_2_VERSION___4 = 46,
    _SC_2_C_BIND___4 = 47,
    _SC_2_C_DEV___4 = 48,
    _SC_2_FORT_DEV___4 = 49,
    _SC_2_FORT_RUN___4 = 50,
    _SC_2_SW_DEV___4 = 51,
    _SC_2_LOCALEDEF___4 = 52,
    _SC_PII___4 = 53,
    _SC_PII_XTI___4 = 54,
    _SC_PII_SOCKET___4 = 55,
    _SC_PII_INTERNET___4 = 56,
    _SC_PII_OSI___4 = 57,
    _SC_POLL___4 = 58,
    _SC_SELECT___4 = 59,
    _SC_UIO_MAXIOV___4 = 60,
    _SC_IOV_MAX___4 = 60,
    _SC_PII_INTERNET_STREAM___4 = 61,
    _SC_PII_INTERNET_DGRAM___4 = 62,
    _SC_PII_OSI_COTS___4 = 63,
    _SC_PII_OSI_CLTS___4 = 64,
    _SC_PII_OSI_M___4 = 65,
    _SC_T_IOV_MAX___4 = 66,
    _SC_THREADS___4 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___4 = 68,
    _SC_GETGR_R_SIZE_MAX___4 = 69,
    _SC_GETPW_R_SIZE_MAX___4 = 70,
    _SC_LOGIN_NAME_MAX___4 = 71,
    _SC_TTY_NAME_MAX___4 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___4 = 73,
    _SC_THREAD_KEYS_MAX___4 = 74,
    _SC_THREAD_STACK_MIN___4 = 75,
    _SC_THREAD_THREADS_MAX___4 = 76,
    _SC_THREAD_ATTR_STACKADDR___4 = 77,
    _SC_THREAD_ATTR_STACKSIZE___4 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___4 = 79,
    _SC_THREAD_PRIO_INHERIT___4 = 80,
    _SC_THREAD_PRIO_PROTECT___4 = 81,
    _SC_THREAD_PROCESS_SHARED___4 = 82,
    _SC_NPROCESSORS_CONF___4 = 83,
    _SC_NPROCESSORS_ONLN___4 = 84,
    _SC_PHYS_PAGES___4 = 85,
    _SC_AVPHYS_PAGES___4 = 86,
    _SC_ATEXIT_MAX___4 = 87,
    _SC_PASS_MAX___4 = 88,
    _SC_XOPEN_VERSION___4 = 89,
    _SC_XOPEN_XCU_VERSION___4 = 90,
    _SC_XOPEN_UNIX___4 = 91,
    _SC_XOPEN_CRYPT___4 = 92,
    _SC_XOPEN_ENH_I18N___4 = 93,
    _SC_XOPEN_SHM___4 = 94,
    _SC_2_CHAR_TERM___4 = 95,
    _SC_2_C_VERSION___4 = 96,
    _SC_2_UPE___4 = 97,
    _SC_XOPEN_XPG2___4 = 98,
    _SC_XOPEN_XPG3___4 = 99,
    _SC_XOPEN_XPG4___4 = 100,
    _SC_CHAR_BIT___4 = 101,
    _SC_CHAR_MAX___4 = 102,
    _SC_CHAR_MIN___4 = 103,
    _SC_INT_MAX___4 = 104,
    _SC_INT_MIN___4 = 105,
    _SC_LONG_BIT___4 = 106,
    _SC_WORD_BIT___4 = 107,
    _SC_MB_LEN_MAX___4 = 108,
    _SC_NZERO___4 = 109,
    _SC_SSIZE_MAX___4 = 110,
    _SC_SCHAR_MAX___4 = 111,
    _SC_SCHAR_MIN___4 = 112,
    _SC_SHRT_MAX___4 = 113,
    _SC_SHRT_MIN___4 = 114,
    _SC_UCHAR_MAX___4 = 115,
    _SC_UINT_MAX___4 = 116,
    _SC_ULONG_MAX___4 = 117,
    _SC_USHRT_MAX___4 = 118,
    _SC_NL_ARGMAX___4 = 119,
    _SC_NL_LANGMAX___4 = 120,
    _SC_NL_MSGMAX___4 = 121,
    _SC_NL_NMAX___4 = 122,
    _SC_NL_SETMAX___4 = 123,
    _SC_NL_TEXTMAX___4 = 124,
    _SC_XBS5_ILP32_OFF32___4 = 125,
    _SC_XBS5_ILP32_OFFBIG___4 = 126,
    _SC_XBS5_LP64_OFF64___4 = 127,
    _SC_XBS5_LPBIG_OFFBIG___4 = 128,
    _SC_XOPEN_LEGACY___4 = 129,
    _SC_XOPEN_REALTIME___4 = 130,
    _SC_XOPEN_REALTIME_THREADS___4 = 131,
    _SC_ADVISORY_INFO___4 = 132,
    _SC_BARRIERS___4 = 133,
    _SC_BASE___4 = 134,
    _SC_C_LANG_SUPPORT___4 = 135,
    _SC_C_LANG_SUPPORT_R___4 = 136,
    _SC_CLOCK_SELECTION___4 = 137,
    _SC_CPUTIME___4 = 138,
    _SC_THREAD_CPUTIME___4 = 139,
    _SC_DEVICE_IO___4 = 140,
    _SC_DEVICE_SPECIFIC___4 = 141,
    _SC_DEVICE_SPECIFIC_R___4 = 142,
    _SC_FD_MGMT___4 = 143,
    _SC_FIFO___4 = 144,
    _SC_PIPE___4 = 145,
    _SC_FILE_ATTRIBUTES___4 = 146,
    _SC_FILE_LOCKING___4 = 147,
    _SC_FILE_SYSTEM___4 = 148,
    _SC_MONOTONIC_CLOCK___4 = 149,
    _SC_MULTI_PROCESS___4 = 150,
    _SC_SINGLE_PROCESS___4 = 151,
    _SC_NETWORKING___4 = 152,
    _SC_READER_WRITER_LOCKS___4 = 153,
    _SC_SPIN_LOCKS___4 = 154,
    _SC_REGEXP___4 = 155,
    _SC_REGEX_VERSION___4 = 156,
    _SC_SHELL___4 = 157,
    _SC_SIGNALS___4 = 158,
    _SC_SPAWN___4 = 159,
    _SC_SPORADIC_SERVER___4 = 160,
    _SC_THREAD_SPORADIC_SERVER___4 = 161,
    _SC_SYSTEM_DATABASE___4 = 162,
    _SC_SYSTEM_DATABASE_R___4 = 163,
    _SC_TIMEOUTS___4 = 164,
    _SC_TYPED_MEMORY_OBJECTS___4 = 165,
    _SC_USER_GROUPS___4 = 166,
    _SC_USER_GROUPS_R___4 = 167,
    _SC_2_PBS___4 = 168,
    _SC_2_PBS_ACCOUNTING___4 = 169,
    _SC_2_PBS_LOCATE___4 = 170,
    _SC_2_PBS_MESSAGE___4 = 171,
    _SC_2_PBS_TRACK___4 = 172,
    _SC_SYMLOOP_MAX___4 = 173,
    _SC_STREAMS___4 = 174,
    _SC_2_PBS_CHECKPOINT___4 = 175,
    _SC_V6_ILP32_OFF32___4 = 176,
    _SC_V6_ILP32_OFFBIG___4 = 177,
    _SC_V6_LP64_OFF64___4 = 178,
    _SC_V6_LPBIG_OFFBIG___4 = 179,
    _SC_HOST_NAME_MAX___4 = 180,
    _SC_TRACE___4 = 181,
    _SC_TRACE_EVENT_FILTER___4 = 182,
    _SC_TRACE_INHERIT___4 = 183,
    _SC_TRACE_LOG___4 = 184,
    _SC_LEVEL1_ICACHE_SIZE___4 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___4 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___4 = 187,
    _SC_LEVEL1_DCACHE_SIZE___4 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___4 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___4 = 190,
    _SC_LEVEL2_CACHE_SIZE___4 = 191,
    _SC_LEVEL2_CACHE_ASSOC___4 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___4 = 193,
    _SC_LEVEL3_CACHE_SIZE___4 = 194,
    _SC_LEVEL3_CACHE_ASSOC___4 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___4 = 196,
    _SC_LEVEL4_CACHE_SIZE___4 = 197,
    _SC_LEVEL4_CACHE_ASSOC___4 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___4 = 199,
    _SC_IPV6___4 = 235,
    _SC_RAW_SOCKETS___4 = 236,
    _SC_V7_ILP32_OFF32___4 = 237,
    _SC_V7_ILP32_OFFBIG___4 = 238,
    _SC_V7_LP64_OFF64___4 = 239,
    _SC_V7_LPBIG_OFFBIG___4 = 240,
    _SC_SS_REPL_MAX___4 = 241,
    _SC_TRACE_EVENT_NAME_MAX___4 = 242,
    _SC_TRACE_NAME_MAX___4 = 243,
    _SC_TRACE_SYS_MAX___4 = 244,
    _SC_TRACE_USER_EVENT_MAX___4 = 245,
    _SC_XOPEN_STREAMS___4 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___4 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___4 = 248
} ;
enum __anonenum_875524036___4 {
    _CS_PATH___4 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___4 = 1,
    _CS_GNU_LIBC_VERSION___4 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___4 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___4 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___4 = 5,
    _CS_LFS_CFLAGS___4 = 1000,
    _CS_LFS_LDFLAGS___4 = 1001,
    _CS_LFS_LIBS___4 = 1002,
    _CS_LFS_LINTFLAGS___4 = 1003,
    _CS_LFS64_CFLAGS___4 = 1004,
    _CS_LFS64_LDFLAGS___4 = 1005,
    _CS_LFS64_LIBS___4 = 1006,
    _CS_LFS64_LINTFLAGS___4 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___4 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___4 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___4 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___4 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___4 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___4 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___4 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___4 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___4 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___4 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___4 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___4 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___4 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___4 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___4 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___4 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___4 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___4 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___4 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___4 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___4 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___4 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___4 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___4 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___4 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___4 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___4 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___4 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___4 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___4 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___4 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___4 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___4 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___4 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___4 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___4 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___4 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___4 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___4 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___4 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___4 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___4 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___4 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___4 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___4 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___4 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___4 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___4 = 1147,
    _CS_V6_ENV___4 = 1148,
    _CS_V7_ENV___4 = 1149
} ;
enum __anonenum_513775621___4 {
    DT_UNKNOWN___4 = 0,
    DT_FIFO___4 = 1,
    DT_CHR___4 = 2,
    DT_DIR___4 = 4,
    DT_BLK___4 = 6,
    DT_REG___4 = 8,
    DT_LNK___4 = 10,
    DT_SOCK___4 = 12,
    DT_WHT___4 = 14
} ;
enum __anonenum_77002343___4 {
    SI_ASYNCNL___4 = -60,
    SI_TKILL___4 = -6,
    SI_SIGIO___4 = -5,
    SI_ASYNCIO___4 = -4,
    SI_MESGQ___4 = -3,
    SI_TIMER___4 = -2,
    SI_QUEUE___4 = -1,
    SI_USER___4 = 0,
    SI_KERNEL___4 = 128
} ;
enum __anonenum_131038172___4 {
    ILL_ILLOPC___4 = 1,
    ILL_ILLOPN___4 = 2,
    ILL_ILLADR___4 = 3,
    ILL_ILLTRP___4 = 4,
    ILL_PRVOPC___4 = 5,
    ILL_PRVREG___4 = 6,
    ILL_COPROC___4 = 7,
    ILL_BADSTK___4 = 8
} ;
enum __anonenum_452038093___4 {
    FPE_INTDIV___4 = 1,
    FPE_INTOVF___4 = 2,
    FPE_FLTDIV___4 = 3,
    FPE_FLTOVF___4 = 4,
    FPE_FLTUND___4 = 5,
    FPE_FLTRES___4 = 6,
    FPE_FLTINV___4 = 7,
    FPE_FLTSUB___4 = 8
} ;
enum __anonenum_30976155___4 {
    SEGV_MAPERR___4 = 1,
    SEGV_ACCERR___4 = 2,
    SEGV_BNDERR___4 = 3,
    SEGV_PKUERR___4 = 4
} ;
enum __anonenum_1036286214___4 {
    BUS_ADRALN___4 = 1,
    BUS_ADRERR___4 = 2,
    BUS_OBJERR___4 = 3,
    BUS_MCEERR_AR___4 = 4,
    BUS_MCEERR_AO___4 = 5
} ;
enum __anonenum_493465559___4 {
    TRAP_BRKPT___4 = 1,
    TRAP_TRACE___4 = 2
} ;
enum __anonenum_23175539___4 {
    CLD_EXITED___4 = 1,
    CLD_KILLED___4 = 2,
    CLD_DUMPED___4 = 3,
    CLD_TRAPPED___4 = 4,
    CLD_STOPPED___4 = 5,
    CLD_CONTINUED___4 = 6
} ;
enum __anonenum_111643124___4 {
    POLL_IN___4 = 1,
    POLL_OUT___4 = 2,
    POLL_MSG___4 = 3,
    POLL_ERR___4 = 4,
    POLL_PRI___4 = 5,
    POLL_HUP___4 = 6
} ;
enum __anonenum_852341087___4 {
    SIGEV_SIGNAL___4 = 0,
    SIGEV_NONE___4 = 1,
    SIGEV_THREAD___4 = 2,
    SIGEV_THREAD_ID___4 = 4
} ;
enum __anonenum_451154152___4 {
    REG_R8___4 = 0,
    REG_R9___4 = 1,
    REG_R10___4 = 2,
    REG_R11___4 = 3,
    REG_R12___4 = 4,
    REG_R13___4 = 5,
    REG_R14___4 = 6,
    REG_R15___4 = 7,
    REG_RDI___4 = 8,
    REG_RSI___4 = 9,
    REG_RBP___4 = 10,
    REG_RBX___4 = 11,
    REG_RDX___4 = 12,
    REG_RAX___4 = 13,
    REG_RCX___4 = 14,
    REG_RSP___4 = 15,
    REG_RIP___4 = 16,
    REG_EFL___4 = 17,
    REG_CSGSFS___4 = 18,
    REG_ERR___4 = 19,
    REG_TRAPNO___4 = 20,
    REG_OLDMASK___4 = 21,
    REG_CR2___4 = 22
} ;
enum __anonenum_57186863___4 {
    SS_ONSTACK___4 = 1,
    SS_DISABLE___4 = 2
} ;
enum __anonenum_83571709___4 {
    MSG_OOB___4 = 1,
    MSG_PEEK___4 = 2,
    MSG_DONTROUTE___4 = 4,
    MSG_TRYHARD___4 = 4,
    MSG_CTRUNC___4 = 8,
    MSG_PROXY___4 = 16,
    MSG_TRUNC___4 = 32,
    MSG_DONTWAIT___4 = 64,
    MSG_EOR___4 = 128,
    MSG_WAITALL___4 = 256,
    MSG_FIN___4 = 512,
    MSG_SYN___4 = 1024,
    MSG_CONFIRM___4 = 2048,
    MSG_RST___4 = 4096,
    MSG_ERRQUEUE___4 = 8192,
    MSG_NOSIGNAL___4 = 16384,
    MSG_MORE___4 = 32768,
    MSG_WAITFORONE___4 = 65536,
    MSG_BATCH___4 = 262144,
    MSG_ZEROCOPY___4 = 67108864,
    MSG_FASTOPEN___4 = 536870912,
    MSG_CMSG_CLOEXEC___4 = 1073741824
} ;
enum __anonenum_617082774___4 {
    SCM_RIGHTS___4 = 1,
    SCM_CREDENTIALS___4 = 2
} ;
enum __anonenum_606441560___4 {
    SHUT_RD___4 = 0,
    SHUT_WR___4 = 1,
    SHUT_RDWR___4 = 2
} ;
enum __anonenum_681669233___4 {
    IPPROTO_IP___4 = 0,
    IPPROTO_ICMP___4 = 1,
    IPPROTO_IGMP___4 = 2,
    IPPROTO_IPIP___4 = 4,
    IPPROTO_TCP___4 = 6,
    IPPROTO_EGP___4 = 8,
    IPPROTO_PUP___4 = 12,
    IPPROTO_UDP___4 = 17,
    IPPROTO_IDP___4 = 22,
    IPPROTO_TP___4 = 29,
    IPPROTO_DCCP___4 = 33,
    IPPROTO_IPV6___4 = 41,
    IPPROTO_RSVP___4 = 46,
    IPPROTO_GRE___4 = 47,
    IPPROTO_ESP___4 = 50,
    IPPROTO_AH___4 = 51,
    IPPROTO_MTP___4 = 92,
    IPPROTO_BEETPH___4 = 94,
    IPPROTO_ENCAP___4 = 98,
    IPPROTO_PIM___4 = 103,
    IPPROTO_COMP___4 = 108,
    IPPROTO_SCTP___4 = 132,
    IPPROTO_UDPLITE___4 = 136,
    IPPROTO_MPLS___4 = 137,
    IPPROTO_RAW___4 = 255,
    IPPROTO_MAX___4 = 256
} ;
enum __anonenum_218739988___4 {
    IPPROTO_HOPOPTS___4 = 0,
    IPPROTO_ROUTING___4 = 43,
    IPPROTO_FRAGMENT___4 = 44,
    IPPROTO_ICMPV6___4 = 58,
    IPPROTO_NONE___4 = 59,
    IPPROTO_DSTOPTS___4 = 60,
    IPPROTO_MH___4 = 135
} ;
enum __anonenum_662268580___4 {
    IPPORT_ECHO___4 = 7,
    IPPORT_DISCARD___4 = 9,
    IPPORT_SYSTAT___4 = 11,
    IPPORT_DAYTIME___4 = 13,
    IPPORT_NETSTAT___4 = 15,
    IPPORT_FTP___4 = 21,
    IPPORT_TELNET___4 = 23,
    IPPORT_SMTP___4 = 25,
    IPPORT_TIMESERVER___4 = 37,
    IPPORT_NAMESERVER___4 = 42,
    IPPORT_WHOIS___4 = 43,
    IPPORT_MTP___4 = 57,
    IPPORT_TFTP___4 = 69,
    IPPORT_RJE___4 = 77,
    IPPORT_FINGER___4 = 79,
    IPPORT_TTYLINK___4 = 87,
    IPPORT_SUPDUP___4 = 95,
    IPPORT_EXECSERVER___4 = 512,
    IPPORT_LOGINSERVER___4 = 513,
    IPPORT_CMDSERVER___4 = 514,
    IPPORT_EFSSERVER___4 = 520,
    IPPORT_BIFFUDP___4 = 512,
    IPPORT_WHOSERVER___4 = 513,
    IPPORT_ROUTESERVER___4 = 520,
    IPPORT_RESERVED___4 = 1024,
    IPPORT_USERRESERVED___4 = 5000
} ;
enum __anonenum_788308992___4 {
    TCP_ESTABLISHED___4 = 1,
    TCP_SYN_SENT___4 = 2,
    TCP_SYN_RECV___4 = 3,
    TCP_FIN_WAIT1___4 = 4,
    TCP_FIN_WAIT2___4 = 5,
    TCP_TIME_WAIT___4 = 6,
    TCP_CLOSE___4 = 7,
    TCP_CLOSE_WAIT___4 = 8,
    TCP_LAST_ACK___4 = 9,
    TCP_LISTEN___4 = 10,
    TCP_CLOSING___4 = 11
} ;
enum __anonenum_221125648___4 {
    TCP_NO_QUEUE___4 = 0,
    TCP_RECV_QUEUE___4 = 1,
    TCP_SEND_QUEUE___4 = 2,
    TCP_QUEUES_NR___4 = 3
} ;
enum __anonenum_34415463___4 {
    PTHREAD_CREATE_JOINABLE___4 = 0,
    PTHREAD_CREATE_DETACHED___4 = 1
} ;
enum __anonenum_303612439___4 {
    PTHREAD_MUTEX_TIMED_NP___4 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___4 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___4 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___4 = 3,
    PTHREAD_MUTEX_NORMAL___4 = 0,
    PTHREAD_MUTEX_RECURSIVE___4 = 1,
    PTHREAD_MUTEX_ERRORCHECK___4 = 2,
    PTHREAD_MUTEX_DEFAULT___4 = 0,
    PTHREAD_MUTEX_FAST_NP___4 = 0
} ;
enum __anonenum_931900394___4 {
    PTHREAD_MUTEX_STALLED___4 = 0,
    PTHREAD_MUTEX_STALLED_NP___4 = 0,
    PTHREAD_MUTEX_ROBUST___4 = 1,
    PTHREAD_MUTEX_ROBUST_NP___4 = 1
} ;
enum __anonenum_205214487___4 {
    PTHREAD_PRIO_NONE___4 = 0,
    PTHREAD_PRIO_INHERIT___4 = 1,
    PTHREAD_PRIO_PROTECT___4 = 2
} ;
enum __anonenum_25043950___4 {
    PTHREAD_RWLOCK_PREFER_READER_NP___4 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___4 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___4 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___4 = 0
} ;
enum __anonenum_436439511___4 {
    PTHREAD_INHERIT_SCHED___4 = 0,
    PTHREAD_EXPLICIT_SCHED___4 = 1
} ;
enum __anonenum_998661166___4 {
    PTHREAD_SCOPE_SYSTEM___4 = 0,
    PTHREAD_SCOPE_PROCESS___4 = 1
} ;
enum __anonenum_146137331___4 {
    PTHREAD_PROCESS_PRIVATE___4 = 0,
    PTHREAD_PROCESS_SHARED___4 = 1
} ;
enum __anonenum_53396917___4 {
    PTHREAD_CANCEL_ENABLE___4 = 0,
    PTHREAD_CANCEL_DISABLE___4 = 1
} ;
enum __anonenum_904563783___4 {
    PTHREAD_CANCEL_DEFERRED___4 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___4 = 1
} ;
enum __anonenum_672052974___4 {
    SSL_CT_VALIDATION_PERMISSIVE___4 = 0,
    SSL_CT_VALIDATION_STRICT___4 = 1
} ;
enum __anonenum_437032235___5 {
    _PC_LINK_MAX___5 = 0,
    _PC_MAX_CANON___5 = 1,
    _PC_MAX_INPUT___5 = 2,
    _PC_NAME_MAX___5 = 3,
    _PC_PATH_MAX___5 = 4,
    _PC_PIPE_BUF___5 = 5,
    _PC_CHOWN_RESTRICTED___5 = 6,
    _PC_NO_TRUNC___5 = 7,
    _PC_VDISABLE___5 = 8,
    _PC_SYNC_IO___5 = 9,
    _PC_ASYNC_IO___5 = 10,
    _PC_PRIO_IO___5 = 11,
    _PC_SOCK_MAXBUF___5 = 12,
    _PC_FILESIZEBITS___5 = 13,
    _PC_REC_INCR_XFER_SIZE___5 = 14,
    _PC_REC_MAX_XFER_SIZE___5 = 15,
    _PC_REC_MIN_XFER_SIZE___5 = 16,
    _PC_REC_XFER_ALIGN___5 = 17,
    _PC_ALLOC_SIZE_MIN___5 = 18,
    _PC_SYMLINK_MAX___5 = 19,
    _PC_2_SYMLINKS___5 = 20
} ;
enum __anonenum_315186338___5 {
    _SC_ARG_MAX___5 = 0,
    _SC_CHILD_MAX___5 = 1,
    _SC_CLK_TCK___5 = 2,
    _SC_NGROUPS_MAX___5 = 3,
    _SC_OPEN_MAX___5 = 4,
    _SC_STREAM_MAX___5 = 5,
    _SC_TZNAME_MAX___5 = 6,
    _SC_JOB_CONTROL___5 = 7,
    _SC_SAVED_IDS___5 = 8,
    _SC_REALTIME_SIGNALS___5 = 9,
    _SC_PRIORITY_SCHEDULING___5 = 10,
    _SC_TIMERS___5 = 11,
    _SC_ASYNCHRONOUS_IO___5 = 12,
    _SC_PRIORITIZED_IO___5 = 13,
    _SC_SYNCHRONIZED_IO___5 = 14,
    _SC_FSYNC___5 = 15,
    _SC_MAPPED_FILES___5 = 16,
    _SC_MEMLOCK___5 = 17,
    _SC_MEMLOCK_RANGE___5 = 18,
    _SC_MEMORY_PROTECTION___5 = 19,
    _SC_MESSAGE_PASSING___5 = 20,
    _SC_SEMAPHORES___5 = 21,
    _SC_SHARED_MEMORY_OBJECTS___5 = 22,
    _SC_AIO_LISTIO_MAX___5 = 23,
    _SC_AIO_MAX___5 = 24,
    _SC_AIO_PRIO_DELTA_MAX___5 = 25,
    _SC_DELAYTIMER_MAX___5 = 26,
    _SC_MQ_OPEN_MAX___5 = 27,
    _SC_MQ_PRIO_MAX___5 = 28,
    _SC_VERSION___5 = 29,
    _SC_PAGESIZE___5 = 30,
    _SC_RTSIG_MAX___5 = 31,
    _SC_SEM_NSEMS_MAX___5 = 32,
    _SC_SEM_VALUE_MAX___5 = 33,
    _SC_SIGQUEUE_MAX___5 = 34,
    _SC_TIMER_MAX___5 = 35,
    _SC_BC_BASE_MAX___5 = 36,
    _SC_BC_DIM_MAX___5 = 37,
    _SC_BC_SCALE_MAX___5 = 38,
    _SC_BC_STRING_MAX___5 = 39,
    _SC_COLL_WEIGHTS_MAX___5 = 40,
    _SC_EQUIV_CLASS_MAX___5 = 41,
    _SC_EXPR_NEST_MAX___5 = 42,
    _SC_LINE_MAX___5 = 43,
    _SC_RE_DUP_MAX___5 = 44,
    _SC_CHARCLASS_NAME_MAX___5 = 45,
    _SC_2_VERSION___5 = 46,
    _SC_2_C_BIND___5 = 47,
    _SC_2_C_DEV___5 = 48,
    _SC_2_FORT_DEV___5 = 49,
    _SC_2_FORT_RUN___5 = 50,
    _SC_2_SW_DEV___5 = 51,
    _SC_2_LOCALEDEF___5 = 52,
    _SC_PII___5 = 53,
    _SC_PII_XTI___5 = 54,
    _SC_PII_SOCKET___5 = 55,
    _SC_PII_INTERNET___5 = 56,
    _SC_PII_OSI___5 = 57,
    _SC_POLL___5 = 58,
    _SC_SELECT___5 = 59,
    _SC_UIO_MAXIOV___5 = 60,
    _SC_IOV_MAX___5 = 60,
    _SC_PII_INTERNET_STREAM___5 = 61,
    _SC_PII_INTERNET_DGRAM___5 = 62,
    _SC_PII_OSI_COTS___5 = 63,
    _SC_PII_OSI_CLTS___5 = 64,
    _SC_PII_OSI_M___5 = 65,
    _SC_T_IOV_MAX___5 = 66,
    _SC_THREADS___5 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___5 = 68,
    _SC_GETGR_R_SIZE_MAX___5 = 69,
    _SC_GETPW_R_SIZE_MAX___5 = 70,
    _SC_LOGIN_NAME_MAX___5 = 71,
    _SC_TTY_NAME_MAX___5 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___5 = 73,
    _SC_THREAD_KEYS_MAX___5 = 74,
    _SC_THREAD_STACK_MIN___5 = 75,
    _SC_THREAD_THREADS_MAX___5 = 76,
    _SC_THREAD_ATTR_STACKADDR___5 = 77,
    _SC_THREAD_ATTR_STACKSIZE___5 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___5 = 79,
    _SC_THREAD_PRIO_INHERIT___5 = 80,
    _SC_THREAD_PRIO_PROTECT___5 = 81,
    _SC_THREAD_PROCESS_SHARED___5 = 82,
    _SC_NPROCESSORS_CONF___5 = 83,
    _SC_NPROCESSORS_ONLN___5 = 84,
    _SC_PHYS_PAGES___5 = 85,
    _SC_AVPHYS_PAGES___5 = 86,
    _SC_ATEXIT_MAX___5 = 87,
    _SC_PASS_MAX___5 = 88,
    _SC_XOPEN_VERSION___5 = 89,
    _SC_XOPEN_XCU_VERSION___5 = 90,
    _SC_XOPEN_UNIX___5 = 91,
    _SC_XOPEN_CRYPT___5 = 92,
    _SC_XOPEN_ENH_I18N___5 = 93,
    _SC_XOPEN_SHM___5 = 94,
    _SC_2_CHAR_TERM___5 = 95,
    _SC_2_C_VERSION___5 = 96,
    _SC_2_UPE___5 = 97,
    _SC_XOPEN_XPG2___5 = 98,
    _SC_XOPEN_XPG3___5 = 99,
    _SC_XOPEN_XPG4___5 = 100,
    _SC_CHAR_BIT___5 = 101,
    _SC_CHAR_MAX___5 = 102,
    _SC_CHAR_MIN___5 = 103,
    _SC_INT_MAX___5 = 104,
    _SC_INT_MIN___5 = 105,
    _SC_LONG_BIT___5 = 106,
    _SC_WORD_BIT___5 = 107,
    _SC_MB_LEN_MAX___5 = 108,
    _SC_NZERO___5 = 109,
    _SC_SSIZE_MAX___5 = 110,
    _SC_SCHAR_MAX___5 = 111,
    _SC_SCHAR_MIN___5 = 112,
    _SC_SHRT_MAX___5 = 113,
    _SC_SHRT_MIN___5 = 114,
    _SC_UCHAR_MAX___5 = 115,
    _SC_UINT_MAX___5 = 116,
    _SC_ULONG_MAX___5 = 117,
    _SC_USHRT_MAX___5 = 118,
    _SC_NL_ARGMAX___5 = 119,
    _SC_NL_LANGMAX___5 = 120,
    _SC_NL_MSGMAX___5 = 121,
    _SC_NL_NMAX___5 = 122,
    _SC_NL_SETMAX___5 = 123,
    _SC_NL_TEXTMAX___5 = 124,
    _SC_XBS5_ILP32_OFF32___5 = 125,
    _SC_XBS5_ILP32_OFFBIG___5 = 126,
    _SC_XBS5_LP64_OFF64___5 = 127,
    _SC_XBS5_LPBIG_OFFBIG___5 = 128,
    _SC_XOPEN_LEGACY___5 = 129,
    _SC_XOPEN_REALTIME___5 = 130,
    _SC_XOPEN_REALTIME_THREADS___5 = 131,
    _SC_ADVISORY_INFO___5 = 132,
    _SC_BARRIERS___5 = 133,
    _SC_BASE___5 = 134,
    _SC_C_LANG_SUPPORT___5 = 135,
    _SC_C_LANG_SUPPORT_R___5 = 136,
    _SC_CLOCK_SELECTION___5 = 137,
    _SC_CPUTIME___5 = 138,
    _SC_THREAD_CPUTIME___5 = 139,
    _SC_DEVICE_IO___5 = 140,
    _SC_DEVICE_SPECIFIC___5 = 141,
    _SC_DEVICE_SPECIFIC_R___5 = 142,
    _SC_FD_MGMT___5 = 143,
    _SC_FIFO___5 = 144,
    _SC_PIPE___5 = 145,
    _SC_FILE_ATTRIBUTES___5 = 146,
    _SC_FILE_LOCKING___5 = 147,
    _SC_FILE_SYSTEM___5 = 148,
    _SC_MONOTONIC_CLOCK___5 = 149,
    _SC_MULTI_PROCESS___5 = 150,
    _SC_SINGLE_PROCESS___5 = 151,
    _SC_NETWORKING___5 = 152,
    _SC_READER_WRITER_LOCKS___5 = 153,
    _SC_SPIN_LOCKS___5 = 154,
    _SC_REGEXP___5 = 155,
    _SC_REGEX_VERSION___5 = 156,
    _SC_SHELL___5 = 157,
    _SC_SIGNALS___5 = 158,
    _SC_SPAWN___5 = 159,
    _SC_SPORADIC_SERVER___5 = 160,
    _SC_THREAD_SPORADIC_SERVER___5 = 161,
    _SC_SYSTEM_DATABASE___5 = 162,
    _SC_SYSTEM_DATABASE_R___5 = 163,
    _SC_TIMEOUTS___5 = 164,
    _SC_TYPED_MEMORY_OBJECTS___5 = 165,
    _SC_USER_GROUPS___5 = 166,
    _SC_USER_GROUPS_R___5 = 167,
    _SC_2_PBS___5 = 168,
    _SC_2_PBS_ACCOUNTING___5 = 169,
    _SC_2_PBS_LOCATE___5 = 170,
    _SC_2_PBS_MESSAGE___5 = 171,
    _SC_2_PBS_TRACK___5 = 172,
    _SC_SYMLOOP_MAX___5 = 173,
    _SC_STREAMS___5 = 174,
    _SC_2_PBS_CHECKPOINT___5 = 175,
    _SC_V6_ILP32_OFF32___5 = 176,
    _SC_V6_ILP32_OFFBIG___5 = 177,
    _SC_V6_LP64_OFF64___5 = 178,
    _SC_V6_LPBIG_OFFBIG___5 = 179,
    _SC_HOST_NAME_MAX___5 = 180,
    _SC_TRACE___5 = 181,
    _SC_TRACE_EVENT_FILTER___5 = 182,
    _SC_TRACE_INHERIT___5 = 183,
    _SC_TRACE_LOG___5 = 184,
    _SC_LEVEL1_ICACHE_SIZE___5 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___5 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___5 = 187,
    _SC_LEVEL1_DCACHE_SIZE___5 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___5 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___5 = 190,
    _SC_LEVEL2_CACHE_SIZE___5 = 191,
    _SC_LEVEL2_CACHE_ASSOC___5 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___5 = 193,
    _SC_LEVEL3_CACHE_SIZE___5 = 194,
    _SC_LEVEL3_CACHE_ASSOC___5 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___5 = 196,
    _SC_LEVEL4_CACHE_SIZE___5 = 197,
    _SC_LEVEL4_CACHE_ASSOC___5 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___5 = 199,
    _SC_IPV6___5 = 235,
    _SC_RAW_SOCKETS___5 = 236,
    _SC_V7_ILP32_OFF32___5 = 237,
    _SC_V7_ILP32_OFFBIG___5 = 238,
    _SC_V7_LP64_OFF64___5 = 239,
    _SC_V7_LPBIG_OFFBIG___5 = 240,
    _SC_SS_REPL_MAX___5 = 241,
    _SC_TRACE_EVENT_NAME_MAX___5 = 242,
    _SC_TRACE_NAME_MAX___5 = 243,
    _SC_TRACE_SYS_MAX___5 = 244,
    _SC_TRACE_USER_EVENT_MAX___5 = 245,
    _SC_XOPEN_STREAMS___5 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___5 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___5 = 248
} ;
enum __anonenum_875524036___5 {
    _CS_PATH___5 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___5 = 1,
    _CS_GNU_LIBC_VERSION___5 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___5 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___5 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___5 = 5,
    _CS_LFS_CFLAGS___5 = 1000,
    _CS_LFS_LDFLAGS___5 = 1001,
    _CS_LFS_LIBS___5 = 1002,
    _CS_LFS_LINTFLAGS___5 = 1003,
    _CS_LFS64_CFLAGS___5 = 1004,
    _CS_LFS64_LDFLAGS___5 = 1005,
    _CS_LFS64_LIBS___5 = 1006,
    _CS_LFS64_LINTFLAGS___5 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___5 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___5 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___5 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___5 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___5 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___5 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___5 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___5 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___5 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___5 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___5 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___5 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___5 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___5 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___5 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___5 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___5 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___5 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___5 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___5 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___5 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___5 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___5 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___5 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___5 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___5 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___5 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___5 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___5 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___5 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___5 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___5 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___5 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___5 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___5 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___5 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___5 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___5 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___5 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___5 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___5 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___5 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___5 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___5 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___5 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___5 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___5 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___5 = 1147,
    _CS_V6_ENV___5 = 1148,
    _CS_V7_ENV___5 = 1149
} ;
enum __anonenum_513775621___5 {
    DT_UNKNOWN___5 = 0,
    DT_FIFO___5 = 1,
    DT_CHR___5 = 2,
    DT_DIR___5 = 4,
    DT_BLK___5 = 6,
    DT_REG___5 = 8,
    DT_LNK___5 = 10,
    DT_SOCK___5 = 12,
    DT_WHT___5 = 14
} ;
enum __anonenum_77002343___5 {
    SI_ASYNCNL___5 = -60,
    SI_TKILL___5 = -6,
    SI_SIGIO___5 = -5,
    SI_ASYNCIO___5 = -4,
    SI_MESGQ___5 = -3,
    SI_TIMER___5 = -2,
    SI_QUEUE___5 = -1,
    SI_USER___5 = 0,
    SI_KERNEL___5 = 128
} ;
enum __anonenum_131038172___5 {
    ILL_ILLOPC___5 = 1,
    ILL_ILLOPN___5 = 2,
    ILL_ILLADR___5 = 3,
    ILL_ILLTRP___5 = 4,
    ILL_PRVOPC___5 = 5,
    ILL_PRVREG___5 = 6,
    ILL_COPROC___5 = 7,
    ILL_BADSTK___5 = 8
} ;
enum __anonenum_452038093___5 {
    FPE_INTDIV___5 = 1,
    FPE_INTOVF___5 = 2,
    FPE_FLTDIV___5 = 3,
    FPE_FLTOVF___5 = 4,
    FPE_FLTUND___5 = 5,
    FPE_FLTRES___5 = 6,
    FPE_FLTINV___5 = 7,
    FPE_FLTSUB___5 = 8
} ;
enum __anonenum_30976155___5 {
    SEGV_MAPERR___5 = 1,
    SEGV_ACCERR___5 = 2,
    SEGV_BNDERR___5 = 3,
    SEGV_PKUERR___5 = 4
} ;
enum __anonenum_1036286214___5 {
    BUS_ADRALN___5 = 1,
    BUS_ADRERR___5 = 2,
    BUS_OBJERR___5 = 3,
    BUS_MCEERR_AR___5 = 4,
    BUS_MCEERR_AO___5 = 5
} ;
enum __anonenum_493465559___5 {
    TRAP_BRKPT___5 = 1,
    TRAP_TRACE___5 = 2
} ;
enum __anonenum_23175539___5 {
    CLD_EXITED___5 = 1,
    CLD_KILLED___5 = 2,
    CLD_DUMPED___5 = 3,
    CLD_TRAPPED___5 = 4,
    CLD_STOPPED___5 = 5,
    CLD_CONTINUED___5 = 6
} ;
enum __anonenum_111643124___5 {
    POLL_IN___5 = 1,
    POLL_OUT___5 = 2,
    POLL_MSG___5 = 3,
    POLL_ERR___5 = 4,
    POLL_PRI___5 = 5,
    POLL_HUP___5 = 6
} ;
enum __anonenum_852341087___5 {
    SIGEV_SIGNAL___5 = 0,
    SIGEV_NONE___5 = 1,
    SIGEV_THREAD___5 = 2,
    SIGEV_THREAD_ID___5 = 4
} ;
enum __anonenum_451154152___5 {
    REG_R8___5 = 0,
    REG_R9___5 = 1,
    REG_R10___5 = 2,
    REG_R11___5 = 3,
    REG_R12___5 = 4,
    REG_R13___5 = 5,
    REG_R14___5 = 6,
    REG_R15___5 = 7,
    REG_RDI___5 = 8,
    REG_RSI___5 = 9,
    REG_RBP___5 = 10,
    REG_RBX___5 = 11,
    REG_RDX___5 = 12,
    REG_RAX___5 = 13,
    REG_RCX___5 = 14,
    REG_RSP___5 = 15,
    REG_RIP___5 = 16,
    REG_EFL___5 = 17,
    REG_CSGSFS___5 = 18,
    REG_ERR___5 = 19,
    REG_TRAPNO___5 = 20,
    REG_OLDMASK___5 = 21,
    REG_CR2___5 = 22
} ;
enum __anonenum_57186863___5 {
    SS_ONSTACK___5 = 1,
    SS_DISABLE___5 = 2
} ;
enum __anonenum_83571709___5 {
    MSG_OOB___5 = 1,
    MSG_PEEK___5 = 2,
    MSG_DONTROUTE___5 = 4,
    MSG_TRYHARD___5 = 4,
    MSG_CTRUNC___5 = 8,
    MSG_PROXY___5 = 16,
    MSG_TRUNC___5 = 32,
    MSG_DONTWAIT___5 = 64,
    MSG_EOR___5 = 128,
    MSG_WAITALL___5 = 256,
    MSG_FIN___5 = 512,
    MSG_SYN___5 = 1024,
    MSG_CONFIRM___5 = 2048,
    MSG_RST___5 = 4096,
    MSG_ERRQUEUE___5 = 8192,
    MSG_NOSIGNAL___5 = 16384,
    MSG_MORE___5 = 32768,
    MSG_WAITFORONE___5 = 65536,
    MSG_BATCH___5 = 262144,
    MSG_ZEROCOPY___5 = 67108864,
    MSG_FASTOPEN___5 = 536870912,
    MSG_CMSG_CLOEXEC___5 = 1073741824
} ;
enum __anonenum_617082774___5 {
    SCM_RIGHTS___5 = 1,
    SCM_CREDENTIALS___5 = 2
} ;
enum __anonenum_606441560___5 {
    SHUT_RD___5 = 0,
    SHUT_WR___5 = 1,
    SHUT_RDWR___5 = 2
} ;
enum __anonenum_681669233___5 {
    IPPROTO_IP___5 = 0,
    IPPROTO_ICMP___5 = 1,
    IPPROTO_IGMP___5 = 2,
    IPPROTO_IPIP___5 = 4,
    IPPROTO_TCP___5 = 6,
    IPPROTO_EGP___5 = 8,
    IPPROTO_PUP___5 = 12,
    IPPROTO_UDP___5 = 17,
    IPPROTO_IDP___5 = 22,
    IPPROTO_TP___5 = 29,
    IPPROTO_DCCP___5 = 33,
    IPPROTO_IPV6___5 = 41,
    IPPROTO_RSVP___5 = 46,
    IPPROTO_GRE___5 = 47,
    IPPROTO_ESP___5 = 50,
    IPPROTO_AH___5 = 51,
    IPPROTO_MTP___5 = 92,
    IPPROTO_BEETPH___5 = 94,
    IPPROTO_ENCAP___5 = 98,
    IPPROTO_PIM___5 = 103,
    IPPROTO_COMP___5 = 108,
    IPPROTO_SCTP___5 = 132,
    IPPROTO_UDPLITE___5 = 136,
    IPPROTO_MPLS___5 = 137,
    IPPROTO_RAW___5 = 255,
    IPPROTO_MAX___5 = 256
} ;
enum __anonenum_218739988___5 {
    IPPROTO_HOPOPTS___5 = 0,
    IPPROTO_ROUTING___5 = 43,
    IPPROTO_FRAGMENT___5 = 44,
    IPPROTO_ICMPV6___5 = 58,
    IPPROTO_NONE___5 = 59,
    IPPROTO_DSTOPTS___5 = 60,
    IPPROTO_MH___5 = 135
} ;
enum __anonenum_662268580___5 {
    IPPORT_ECHO___5 = 7,
    IPPORT_DISCARD___5 = 9,
    IPPORT_SYSTAT___5 = 11,
    IPPORT_DAYTIME___5 = 13,
    IPPORT_NETSTAT___5 = 15,
    IPPORT_FTP___5 = 21,
    IPPORT_TELNET___5 = 23,
    IPPORT_SMTP___5 = 25,
    IPPORT_TIMESERVER___5 = 37,
    IPPORT_NAMESERVER___5 = 42,
    IPPORT_WHOIS___5 = 43,
    IPPORT_MTP___5 = 57,
    IPPORT_TFTP___5 = 69,
    IPPORT_RJE___5 = 77,
    IPPORT_FINGER___5 = 79,
    IPPORT_TTYLINK___5 = 87,
    IPPORT_SUPDUP___5 = 95,
    IPPORT_EXECSERVER___5 = 512,
    IPPORT_LOGINSERVER___5 = 513,
    IPPORT_CMDSERVER___5 = 514,
    IPPORT_EFSSERVER___5 = 520,
    IPPORT_BIFFUDP___5 = 512,
    IPPORT_WHOSERVER___5 = 513,
    IPPORT_ROUTESERVER___5 = 520,
    IPPORT_RESERVED___5 = 1024,
    IPPORT_USERRESERVED___5 = 5000
} ;
enum __anonenum_788308992___5 {
    TCP_ESTABLISHED___5 = 1,
    TCP_SYN_SENT___5 = 2,
    TCP_SYN_RECV___5 = 3,
    TCP_FIN_WAIT1___5 = 4,
    TCP_FIN_WAIT2___5 = 5,
    TCP_TIME_WAIT___5 = 6,
    TCP_CLOSE___5 = 7,
    TCP_CLOSE_WAIT___5 = 8,
    TCP_LAST_ACK___5 = 9,
    TCP_LISTEN___5 = 10,
    TCP_CLOSING___5 = 11
} ;
enum __anonenum_221125648___5 {
    TCP_NO_QUEUE___5 = 0,
    TCP_RECV_QUEUE___5 = 1,
    TCP_SEND_QUEUE___5 = 2,
    TCP_QUEUES_NR___5 = 3
} ;
enum __anonenum_34415463___5 {
    PTHREAD_CREATE_JOINABLE___5 = 0,
    PTHREAD_CREATE_DETACHED___5 = 1
} ;
enum __anonenum_303612439___5 {
    PTHREAD_MUTEX_TIMED_NP___5 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___5 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___5 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___5 = 3,
    PTHREAD_MUTEX_NORMAL___5 = 0,
    PTHREAD_MUTEX_RECURSIVE___5 = 1,
    PTHREAD_MUTEX_ERRORCHECK___5 = 2,
    PTHREAD_MUTEX_DEFAULT___5 = 0,
    PTHREAD_MUTEX_FAST_NP___5 = 0
} ;
enum __anonenum_931900394___5 {
    PTHREAD_MUTEX_STALLED___5 = 0,
    PTHREAD_MUTEX_STALLED_NP___5 = 0,
    PTHREAD_MUTEX_ROBUST___5 = 1,
    PTHREAD_MUTEX_ROBUST_NP___5 = 1
} ;
enum __anonenum_205214487___5 {
    PTHREAD_PRIO_NONE___5 = 0,
    PTHREAD_PRIO_INHERIT___5 = 1,
    PTHREAD_PRIO_PROTECT___5 = 2
} ;
enum __anonenum_25043950___5 {
    PTHREAD_RWLOCK_PREFER_READER_NP___5 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___5 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___5 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___5 = 0
} ;
enum __anonenum_436439511___5 {
    PTHREAD_INHERIT_SCHED___5 = 0,
    PTHREAD_EXPLICIT_SCHED___5 = 1
} ;
enum __anonenum_998661166___5 {
    PTHREAD_SCOPE_SYSTEM___5 = 0,
    PTHREAD_SCOPE_PROCESS___5 = 1
} ;
enum __anonenum_146137331___5 {
    PTHREAD_PROCESS_PRIVATE___5 = 0,
    PTHREAD_PROCESS_SHARED___5 = 1
} ;
enum __anonenum_53396917___5 {
    PTHREAD_CANCEL_ENABLE___5 = 0,
    PTHREAD_CANCEL_DISABLE___5 = 1
} ;
enum __anonenum_904563783___5 {
    PTHREAD_CANCEL_DEFERRED___5 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___5 = 1
} ;
enum __anonenum_672052974___5 {
    SSL_CT_VALIDATION_PERMISSIVE___5 = 0,
    SSL_CT_VALIDATION_STRICT___5 = 1
} ;
struct add_i_state {
   struct repository *r ;
   int use_color ;
   char header_color[75] ;
   char help_color[75] ;
   char prompt_color[75] ;
   char error_color[75] ;
   char reset_color[75] ;
   char fraginfo_color[75] ;
   char context_color[75] ;
   char file_old_color[75] ;
   char file_new_color[75] ;
   int use_single_key ;
   char *interactive_diff_filter ;
   char *interactive_diff_algorithm ;
};
enum add_p_mode {
    ADD_P_ADD = 0,
    ADD_P_STASH = 1,
    ADD_P_RESET = 2,
    ADD_P_CHECKOUT = 3,
    ADD_P_WORKTREE = 4
} ;
struct diff_options ;
struct strintmap ;
struct strmap ;
struct userdiff_driver ;
struct diff_filespec {
   struct object_id oid ;
   char *path ;
   void *data ;
   void *cnt_data ;
   unsigned long size ;
   int count ;
   int rename_used ;
   unsigned short mode ;
   unsigned int oid_valid : 1 ;
   unsigned int should_free : 1 ;
   unsigned int should_munmap : 1 ;
   unsigned int dirty_submodule : 2 ;
   unsigned int is_stdin : 1 ;
   unsigned int has_more_entries : 1 ;
   int is_binary : 2 ;
   struct userdiff_driver *driver ;
};
struct diff_populate_filespec_options {
   unsigned int check_size_only : 1 ;
   unsigned int check_binary : 1 ;
   void (*missing_object_cb)(void * ) ;
   void *missing_object_data ;
};
struct diff_filepair {
   struct diff_filespec *one ;
   struct diff_filespec *two ;
   unsigned short score ;
   char status ;
   unsigned int broken_pair : 1 ;
   unsigned int renamed_pair : 1 ;
   unsigned int is_unmerged : 1 ;
   unsigned int done_skip_stat_unmatch : 1 ;
   unsigned int skip_stat_unmatch_result : 1 ;
};
struct diff_queue_struct {
   struct diff_filepair **queue ;
   int alloc ;
   int nr ;
};
enum dir_rename_relevance {
    NOT_RELEVANT = 0,
    RELEVANT_FOR_ANCESTOR = 1,
    RELEVANT_FOR_SELF = 2
} ;
enum file_rename_relevance {
    RELEVANT_NO_MORE = 0,
    RELEVANT_CONTENT = 1,
    RELEVANT_LOCATION = 2
} ;
struct obj_order {
   void *obj ;
   int orig_order ;
   int order ;
};
typedef char const   *(*obj_path_fn_t)(void *obj );
struct buffer_slab ;
struct alloc_state ;
struct commit_graft ;
struct parsed_object_pool {
   struct object **obj_hash ;
   int nr_objs ;
   int obj_hash_size ;
   struct alloc_state *blob_state ;
   struct alloc_state *tree_state ;
   struct alloc_state *commit_state ;
   struct alloc_state *tag_state ;
   struct alloc_state *object_state ;
   struct commit_graft **grafts ;
   int grafts_alloc ;
   int grafts_nr ;
   int is_shallow ;
   struct stat_validity *shallow_stat ;
   char *alternate_shallow_file ;
   int commit_graft_prepared ;
   int substituted_parent ;
   struct buffer_slab *buffer_slab ;
};
struct object_list {
   struct object *item ;
   struct object_list *next ;
};
struct object_array_entry {
   struct object *item ;
   char *name ;
   char *path ;
   unsigned int mode ;
};
struct object_array {
   unsigned int nr ;
   unsigned int alloc ;
   struct object_array_entry *objects ;
};
struct object {
   unsigned int parsed : 1 ;
   unsigned int type : 3 ;
   unsigned int flags : 28 ;
   struct object_id oid ;
};
typedef int (*object_array_each_func_t)(struct object_array_entry * , void * );
struct tree {
   struct object object ;
   void *buffer ;
   unsigned long size ;
};
typedef int (*read_tree_fn_t)(struct object_id  const  * , struct strbuf * , char const   * ,
                              unsigned int  , void * );
struct decoration_entry {
   struct object  const  *base ;
   void *decoration ;
};
struct decoration {
   char const   *name ;
   unsigned int size ;
   unsigned int nr ;
   struct decoration_entry *entries ;
};
enum signature_trust_level {
    TRUST_UNDEFINED = 0,
    TRUST_NEVER = 1,
    TRUST_MARGINAL = 2,
    TRUST_FULLY = 3,
    TRUST_ULTIMATE = 4
} ;
enum payload_type {
    SIGNATURE_PAYLOAD_UNDEFINED = 0,
    SIGNATURE_PAYLOAD_COMMIT = 1,
    SIGNATURE_PAYLOAD_TAG = 2,
    SIGNATURE_PAYLOAD_PUSH_CERT = 3
} ;
struct signature_check {
   char *payload ;
   size_t payload_len ;
   enum payload_type payload_type ;
   timestamp_t payload_timestamp ;
   char *output ;
   char *gpg_status ;
   char result ;
   char *signer ;
   char *key ;
   char *fingerprint ;
   char *primary_key_fingerprint ;
   enum signature_trust_level trust_level ;
};
struct process_trailer_options ;
enum cmit_fmt {
    CMIT_FMT_RAW = 0,
    CMIT_FMT_MEDIUM = 1,
    CMIT_FMT_DEFAULT = 1,
    CMIT_FMT_SHORT = 2,
    CMIT_FMT_FULL = 3,
    CMIT_FMT_FULLER = 4,
    CMIT_FMT_ONELINE = 5,
    CMIT_FMT_EMAIL = 6,
    CMIT_FMT_MBOXRD = 7,
    CMIT_FMT_USERFORMAT = 8,
    CMIT_FMT_UNSPECIFIED = 9
} ;
struct pretty_print_describe_status {
   unsigned int max_invocations ;
};
struct reflog_walk_info ;
struct rev_info ;
struct pretty_print_context {
   enum cmit_fmt fmt ;
   int abbrev ;
   char const   *after_subject ;
   int preserve_subject ;
   struct date_mode date_mode ;
   unsigned int date_mode_explicit : 1 ;
   int print_email_subject ;
   int expand_tabs_in_log ;
   int need_8bit_cte ;
   char *notes_message ;
   struct reflog_walk_info *reflog_info ;
   struct rev_info *rev ;
   char const   *output_encoding ;
   struct string_list *mailmap ;
   int color ;
   struct ident_split *from_ident ;
   unsigned int encode_email_headers : 1 ;
   struct pretty_print_describe_status *describe_status ;
   struct string_list in_body_headers ;
   int graph_width ;
};
struct userformat_want {
   unsigned int notes : 1 ;
   unsigned int source : 1 ;
   unsigned int decorate : 1 ;
};
struct commit_list {
   struct commit *item ;
   struct commit_list *next ;
};
struct commit {
   struct object object ;
   timestamp_t date ;
   struct commit_list *parents ;
   struct tree *maybe_tree ;
   unsigned int index ;
};
struct name_decoration {
   struct name_decoration *next ;
   int type ;
   char name[] ;
};
enum decoration_type {
    DECORATION_NONE = 0,
    DECORATION_REF_LOCAL = 1,
    DECORATION_REF_REMOTE = 2,
    DECORATION_REF_TAG = 3,
    DECORATION_REF_STASH = 4,
    DECORATION_REF_HEAD = 5,
    DECORATION_GRAFTED = 6
} ;
enum rev_sort_order {
    REV_SORT_IN_GRAPH_ORDER = 0,
    REV_SORT_BY_COMMIT_DATE = 1,
    REV_SORT_BY_AUTHOR_DATE = 2
} ;
struct commit_graft {
   struct object_id oid ;
   int nr_parent ;
   struct object_id parent[] ;
};
typedef int (*each_commit_graft_fn)(struct commit_graft  const  * , void * );
struct ref ;
struct commit_extra_header {
   struct commit_extra_header *next ;
   char *key ;
   char *value ;
   size_t len ;
};
typedef int (*each_mergetag_fn)(struct commit *commit , struct commit_extra_header *extra ,
                                void *cb_data );
struct merge_remote_desc {
   struct object *obj ;
   char name[] ;
};
struct author_date_slab ;
enum parse_opt_type {
    OPTION_END = 0,
    OPTION_GROUP = 1,
    OPTION_NUMBER = 2,
    OPTION_ALIAS = 3,
    OPTION_BIT = 4,
    OPTION_NEGBIT = 5,
    OPTION_BITOP = 6,
    OPTION_COUNTUP = 7,
    OPTION_SET_INT = 8,
    OPTION_STRING = 9,
    OPTION_INTEGER = 10,
    OPTION_MAGNITUDE = 11,
    OPTION_CALLBACK = 12,
    OPTION_LOWLEVEL_CALLBACK = 13,
    OPTION_FILENAME = 14
} ;
enum parse_opt_flags {
    PARSE_OPT_KEEP_DASHDASH = 1,
    PARSE_OPT_STOP_AT_NON_OPTION = 2,
    PARSE_OPT_KEEP_ARGV0 = 4,
    PARSE_OPT_KEEP_UNKNOWN = 8,
    PARSE_OPT_NO_INTERNAL_HELP = 16,
    PARSE_OPT_ONE_SHOT = 32,
    PARSE_OPT_SHELL_EVAL = 64
} ;
enum parse_opt_option_flags {
    PARSE_OPT_OPTARG = 1,
    PARSE_OPT_NOARG = 2,
    PARSE_OPT_NONEG = 4,
    PARSE_OPT_HIDDEN = 8,
    PARSE_OPT_LASTARG_DEFAULT = 16,
    PARSE_OPT_NODASH = 32,
    PARSE_OPT_LITERAL_ARGHELP = 64,
    PARSE_OPT_FROM_ALIAS = 128,
    PARSE_OPT_NOCOMPLETE = 512,
    PARSE_OPT_COMP_ARG = 1024,
    PARSE_OPT_CMDMODE = 2048
} ;
enum parse_opt_result {
    PARSE_OPT_COMPLETE = -3,
    PARSE_OPT_HELP = -2,
    PARSE_OPT_ERROR = -1,
    PARSE_OPT_DONE = 0,
    PARSE_OPT_NON_OPTION = 1,
    PARSE_OPT_UNKNOWN = 2
} ;
struct option ;
typedef int parse_opt_cb(struct option  const  * , char const   *arg , int unset );
struct parse_opt_ctx_t ;
typedef enum parse_opt_result parse_opt_ll_cb(struct parse_opt_ctx_t *ctx , struct option  const  *opt ,
                                              char const   *arg , int unset );
struct option {
   enum parse_opt_type type ;
   int short_name ;
   char const   *long_name ;
   void *value ;
   char const   *argh ;
   char const   *help ;
   enum parse_opt_option_flags flags ;
   parse_opt_cb *callback ;
   intptr_t defval ;
   parse_opt_ll_cb *ll_callback ;
   intptr_t extra ;
};
struct parse_opt_ctx_t {
   char const   **argv ;
   char const   **out ;
   int argc ;
   int cpidx ;
   int total ;
   char const   *opt ;
   enum parse_opt_flags flags ;
   char const   *prefix ;
   char const   **alias_groups ;
   struct option *updated_options ;
};
typedef int pcre2_code;
typedef int pcre2_match_data;
typedef int pcre2_compile_context;
typedef int pcre2_general_context;
typedef int (*combine_notes_fn)(struct object_id *cur_oid , struct object_id  const  *new_oid );
struct int_node ;
struct non_note ;
struct notes_tree {
   struct int_node *root ;
   struct non_note *first_non_note ;
   struct non_note *prev_non_note ;
   char *ref ;
   char *update_ref ;
   int (*combine_notes)(struct object_id *cur_oid , struct object_id  const  *new_oid ) ;
   int initialized ;
   int dirty ;
};
typedef int each_note_fn(struct object_id  const  *object_oid , struct object_id  const  *note_oid ,
                         char *note_path , void *cb_data );
struct display_notes_opt {
   int use_default_notes ;
   struct string_list extra_notes_refs ;
};
struct notes_cache {
   struct notes_tree tree ;
   char *validity ;
};
struct userdiff_funcname {
   char const   *pattern ;
   int cflags ;
};
struct userdiff_driver {
   char const   *name ;
   char const   *external ;
   int binary ;
   struct userdiff_funcname funcname ;
   char const   *word_regex ;
   char const   *textconv ;
   struct notes_cache *textconv_cache ;
   int textconv_want_cache ;
};
enum userdiff_driver_type {
    USERDIFF_DRIVER_TYPE_BUILTIN = 1,
    USERDIFF_DRIVER_TYPE_CUSTOM = 2
} ;
typedef int (*each_userdiff_driver_fn)(struct userdiff_driver * , enum userdiff_driver_type  ,
                                       void * );
enum grep_pat_token {
    GREP_PATTERN = 0,
    GREP_PATTERN_HEAD = 1,
    GREP_PATTERN_BODY = 2,
    GREP_AND = 3,
    GREP_OPEN_PAREN = 4,
    GREP_CLOSE_PAREN = 5,
    GREP_NOT = 6,
    GREP_OR = 7
} ;
enum grep_context {
    GREP_CONTEXT_HEAD = 0,
    GREP_CONTEXT_BODY = 1
} ;
enum grep_header_field {
    GREP_HEADER_FIELD_MIN = 0,
    GREP_HEADER_AUTHOR = 0,
    GREP_HEADER_COMMITTER = 1,
    GREP_HEADER_REFLOG = 2,
    GREP_HEADER_FIELD_MAX = 3
} ;
enum grep_color {
    GREP_COLOR_CONTEXT = 0,
    GREP_COLOR_FILENAME = 1,
    GREP_COLOR_FUNCTION = 2,
    GREP_COLOR_LINENO = 3,
    GREP_COLOR_COLUMNNO = 4,
    GREP_COLOR_MATCH_CONTEXT = 5,
    GREP_COLOR_MATCH_SELECTED = 6,
    GREP_COLOR_SELECTED = 7,
    GREP_COLOR_SEP = 8,
    NR_GREP_COLORS = 9
} ;
struct grep_pat {
   struct grep_pat *next ;
   char const   *origin ;
   int no ;
   enum grep_pat_token token ;
   char *pattern ;
   size_t patternlen ;
   enum grep_header_field field ;
   regex_t regexp ;
   pcre2_code *pcre2_pattern ;
   pcre2_match_data *pcre2_match_data ;
   pcre2_compile_context *pcre2_compile_context ;
   pcre2_general_context *pcre2_general_context ;
   uint8_t const   *pcre2_tables ;
   uint32_t pcre2_jit_on ;
   unsigned int fixed : 1 ;
   unsigned int is_fixed : 1 ;
   unsigned int ignore_case : 1 ;
   unsigned int word_regexp : 1 ;
};
enum grep_expr_node {
    GREP_NODE_ATOM = 0,
    GREP_NODE_NOT = 1,
    GREP_NODE_AND = 2,
    GREP_NODE_TRUE = 3,
    GREP_NODE_OR = 4
} ;
enum grep_pattern_type {
    GREP_PATTERN_TYPE_UNSPECIFIED = 0,
    GREP_PATTERN_TYPE_BRE = 1,
    GREP_PATTERN_TYPE_ERE = 2,
    GREP_PATTERN_TYPE_FIXED = 3,
    GREP_PATTERN_TYPE_PCRE = 4
} ;
struct __anonstruct_binary_178866423 {
   struct grep_expr *left ;
   struct grep_expr *right ;
};
union __anonunion_u_759677816 {
   struct grep_pat *atom ;
   struct grep_expr *unary ;
   struct __anonstruct_binary_178866423 binary ;
};
struct grep_expr {
   enum grep_expr_node node ;
   unsigned int hit ;
   union __anonunion_u_759677816 u ;
};
struct grep_opt {
   struct grep_pat *pattern_list ;
   struct grep_pat **pattern_tail ;
   struct grep_pat *header_list ;
   struct grep_pat **header_tail ;
   struct grep_expr *pattern_expression ;
   struct repository *repo ;
   char const   *prefix ;
   int prefix_length ;
   regex_t regexp ;
   int linenum ;
   int columnnum ;
   int invert ;
   int ignore_case ;
   int status_only ;
   int name_only ;
   int unmatch_name_only ;
   int count ;
   int word_regexp ;
   int fixed ;
   int all_match ;
   int no_body_match ;
   int body_hit ;
   int binary ;
   int allow_textconv ;
   int extended ;
   int use_reflog_filter ;
   int pcre2 ;
   int relative ;
   int pathname ;
   int null_following_name ;
   int only_matching ;
   int color ;
   int max_depth ;
   int funcname ;
   int funcbody ;
   int extended_regexp_option ;
   int pattern_type_option ;
   int ignore_locale ;
   char colors[9][75] ;
   unsigned int pre_context ;
   unsigned int post_context ;
   unsigned int last_shown ;
   int show_hunk_mark ;
   int file_break ;
   int heading ;
   void *priv ;
   void (*output)(struct grep_opt *opt , void const   *data , size_t size ) ;
   void *output_priv ;
};
enum grep_source_type {
    GREP_SOURCE_OID = 0,
    GREP_SOURCE_FILE = 1,
    GREP_SOURCE_BUF = 2
} ;
struct grep_source {
   char *name ;
   enum grep_source_type type ;
   void *identifier ;
   struct repository *repo ;
   char const   *buf ;
   unsigned long size ;
   char *path ;
   struct userdiff_driver *driver ;
};
struct name_entry {
   struct object_id oid ;
   char const   *path ;
   int pathlen ;
   unsigned int mode ;
};
struct tree_desc {
   void const   *buffer ;
   struct name_entry entry ;
   unsigned int size ;
};
struct traverse_info ;
typedef int (*traverse_callback_t)(int n , unsigned long mask , unsigned long dirmask ,
                                   struct name_entry *entry , struct traverse_info * );
struct traverse_info {
   char const   *traverse_path ;
   struct traverse_info *prev ;
   char const   *name ;
   size_t namelen ;
   unsigned int mode ;
   size_t pathlen ;
   struct pathspec *pathspec ;
   unsigned long df_conflicts ;
   int (*fn)(int n , unsigned long mask , unsigned long dirmask , struct name_entry *entry ,
             struct traverse_info * ) ;
   void *data ;
   int show_all_errors ;
};
enum interesting {
    all_entries_not_interesting = -1,
    entry_not_interesting = 0,
    entry_interesting = 1,
    all_entries_interesting = 2
} ;
enum attr_match_mode {
    MATCH_SET = 0,
    MATCH_UNSET = 1,
    MATCH_VALUE = 2,
    MATCH_UNSPECIFIED = 3
} ;
struct attr_match {
   char *value ;
   enum attr_match_mode match_mode ;
};
struct pathspec_item {
   char *match ;
   char *original ;
   unsigned int magic ;
   int len ;
   int prefix ;
   int nowildcard_len ;
   int flags ;
   int attr_match_nr ;
   struct attr_match *attr_match ;
   struct attr_check *attr_check ;
};
struct pathspec {
   int nr ;
   unsigned int has_wildcard : 1 ;
   unsigned int recursive : 1 ;
   unsigned int recurse_submodules : 1 ;
   unsigned int magic ;
   int max_depth ;
   struct pathspec_item *items ;
};
enum ps_skip_worktree_action {
    PS_HEED_SKIP_WORKTREE = 0,
    PS_IGNORE_SKIP_WORKTREE = 1
} ;
struct combine_diff_path ;
typedef int (*pathchange_fn_t)(struct diff_options *options , struct combine_diff_path *path );
typedef void (*change_fn_t)(struct diff_options *options , unsigned int old_mode ,
                            unsigned int new_mode , struct object_id  const  *old_oid ,
                            struct object_id  const  *new_oid , int old_oid_valid ,
                            int new_oid_valid , char const   *fullpath , unsigned int old_dirty_submodule ,
                            unsigned int new_dirty_submodule );
typedef void (*add_remove_fn_t)(struct diff_options *options , int addremove , unsigned int mode ,
                                struct object_id  const  *oid , int oid_valid , char const   *fullpath ,
                                unsigned int dirty_submodule );
typedef void (*diff_format_fn_t)(struct diff_queue_struct *q , struct diff_options *options ,
                                 void *data );
typedef struct strbuf *(*diff_prefix_fn_t)(struct diff_options *opt , void *data );
struct diff_flags {
   unsigned int recursive ;
   unsigned int tree_in_recursive ;
   unsigned int binary ;
   unsigned int text ;
   unsigned int full_index ;
   unsigned int silent_on_remove ;
   unsigned int find_copies_harder ;
   unsigned int follow_renames ;
   unsigned int rename_empty ;
   unsigned int has_changes ;
   unsigned int quick ;
   unsigned int no_index ;
   unsigned int allow_external ;
   unsigned int exit_with_status ;
   unsigned int reverse_diff ;
   unsigned int check_failed ;
   unsigned int relative_name ;
   unsigned int ignore_submodules ;
   unsigned int dirstat_cumulative ;
   unsigned int dirstat_by_file ;
   unsigned int allow_textconv ;
   unsigned int textconv_set_via_cmdline ;
   unsigned int diff_from_contents ;
   unsigned int dirty_submodules ;
   unsigned int ignore_untracked_in_submodules ;
   unsigned int ignore_submodule_set ;
   unsigned int ignore_dirty_submodules ;
   unsigned int override_submodule_config ;
   unsigned int dirstat_by_line ;
   unsigned int funccontext ;
   unsigned int default_follow_renames ;
   unsigned int stat_with_summary ;
   unsigned int suppress_diff_headers ;
   unsigned int dual_color_diffed_diffs ;
   unsigned int suppress_hunk_header_line_count ;
};
enum diff_words_type {
    DIFF_WORDS_NONE = 0,
    DIFF_WORDS_PORCELAIN = 1,
    DIFF_WORDS_PLAIN = 2,
    DIFF_WORDS_COLOR = 3
} ;
enum diff_submodule_format {
    DIFF_SUBMODULE_SHORT = 0,
    DIFF_SUBMODULE_LOG = 1,
    DIFF_SUBMODULE_INLINE_DIFF = 2
} ;
struct emitted_diff_symbols ;
enum __anonenum_color_moved_62231619 {
    COLOR_MOVED_NO = 0,
    COLOR_MOVED_PLAIN = 1,
    COLOR_MOVED_BLOCKS = 2,
    COLOR_MOVED_ZEBRA = 3,
    COLOR_MOVED_ZEBRA_DIM = 4
} ;
struct diff_options {
   char const   *orderfile ;
   char const   *rotate_to ;
   int skip_instead_of_rotate ;
   int rotate_to_strict ;
   char const   *pickaxe ;
   unsigned int pickaxe_opts ;
   regex_t **ignore_regex ;
   size_t ignore_regex_nr ;
   size_t ignore_regex_alloc ;
   char const   *single_follow ;
   char const   *a_prefix ;
   char const   *b_prefix ;
   char const   *line_prefix ;
   size_t line_prefix_length ;
   struct diff_flags flags ;
   unsigned int filter ;
   int use_color ;
   int context ;
   int interhunkcontext ;
   int break_opt ;
   int detect_rename ;
   int irreversible_delete ;
   int skip_stat_unmatch ;
   int line_termination ;
   int output_format ;
   int rename_score ;
   int rename_limit ;
   int needed_rename_limit ;
   int degraded_cc_to_c ;
   int show_rename_progress ;
   int dirstat_permille ;
   int setup ;
   int abbrev ;
   int max_changes ;
   int ita_invisible_in_index ;
   unsigned int ws_error_highlight ;
   char const   *prefix ;
   int prefix_length ;
   char const   *stat_sep ;
   int xdl_opts ;
   char **anchors ;
   size_t anchors_nr ;
   size_t anchors_alloc ;
   int stat_width ;
   int stat_name_width ;
   int stat_graph_width ;
   int stat_count ;
   char const   *word_regex ;
   enum diff_words_type word_diff ;
   enum diff_submodule_format submodule_format ;
   struct oidset *objfind ;
   int found_changes ;
   int found_follow ;
   void (*set_default)(struct diff_options * ) ;
   FILE *file ;
   int close_file ;
   char output_indicators[3] ;
   struct pathspec pathspec ;
   int (*pathchange)(struct diff_options *options , struct combine_diff_path *path ) ;
   void (*change)(struct diff_options *options , unsigned int old_mode , unsigned int new_mode ,
                  struct object_id  const  *old_oid , struct object_id  const  *new_oid ,
                  int old_oid_valid , int new_oid_valid , char const   *fullpath ,
                  unsigned int old_dirty_submodule , unsigned int new_dirty_submodule ) ;
   void (*add_remove)(struct diff_options *options , int addremove , unsigned int mode ,
                      struct object_id  const  *oid , int oid_valid , char const   *fullpath ,
                      unsigned int dirty_submodule ) ;
   void *change_fn_data ;
   void (*format_callback)(struct diff_queue_struct *q , struct diff_options *options ,
                           void *data ) ;
   void *format_callback_data ;
   struct strbuf *(*output_prefix)(struct diff_options *opt , void *data ) ;
   void *output_prefix_data ;
   int diff_path_counter ;
   struct emitted_diff_symbols *emitted_symbols ;
   enum __anonenum_color_moved_62231619 color_moved ;
   unsigned int color_moved_ws_handling ;
   struct repository *repo ;
   struct option *parseopts ;
   int no_free ;
};
struct diffstat_file {
   char *from_name ;
   char *name ;
   char *print_name ;
   char const   *comments ;
   unsigned int is_unmerged : 1 ;
   unsigned int is_binary : 1 ;
   unsigned int is_renamed : 1 ;
   unsigned int is_interesting : 1 ;
   uintmax_t added ;
   uintmax_t deleted ;
};
struct diffstat_t {
   int nr ;
   int alloc ;
   struct diffstat_file **files ;
};
enum color_diff {
    DIFF_RESET = 0,
    DIFF_CONTEXT = 1,
    DIFF_METAINFO = 2,
    DIFF_FRAGINFO = 3,
    DIFF_FILE_OLD = 4,
    DIFF_FILE_NEW = 5,
    DIFF_COMMIT = 6,
    DIFF_WHITESPACE = 7,
    DIFF_FUNCINFO = 8,
    DIFF_FILE_OLD_MOVED = 9,
    DIFF_FILE_OLD_MOVED_ALT = 10,
    DIFF_FILE_OLD_MOVED_DIM = 11,
    DIFF_FILE_OLD_MOVED_ALT_DIM = 12,
    DIFF_FILE_NEW_MOVED = 13,
    DIFF_FILE_NEW_MOVED_ALT = 14,
    DIFF_FILE_NEW_MOVED_DIM = 15,
    DIFF_FILE_NEW_MOVED_ALT_DIM = 16,
    DIFF_CONTEXT_DIM = 17,
    DIFF_FILE_OLD_DIM = 18,
    DIFF_FILE_NEW_DIM = 19,
    DIFF_CONTEXT_BOLD = 20,
    DIFF_FILE_OLD_BOLD = 21,
    DIFF_FILE_NEW_BOLD = 22
} ;
struct combine_diff_parent {
   char status ;
   unsigned int mode ;
   struct object_id oid ;
   struct strbuf path ;
};
struct combine_diff_path {
   struct combine_diff_path *next ;
   char *path ;
   unsigned int mode ;
   struct object_id oid ;
   struct combine_diff_parent parent[] ;
};
struct log_info ;
struct saved_parents ;
struct bloom_key ;
struct revision_sources {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   char ***slab ;
};
enum __anonenum_whence_1004419405 {
    REV_CMD_REF = 0,
    REV_CMD_PARENTS_ONLY = 1,
    REV_CMD_LEFT = 2,
    REV_CMD_RIGHT = 3,
    REV_CMD_MERGE_BASE = 4,
    REV_CMD_REV = 5
} ;
struct rev_cmdline_entry {
   struct object *item ;
   char const   *name ;
   enum __anonenum_whence_1004419405 whence ;
   unsigned int flags ;
};
struct rev_cmdline_info {
   unsigned int nr ;
   unsigned int alloc ;
   struct rev_cmdline_entry *rev ;
};
struct topo_walk_info ;
struct git_graph ;
struct rev_info {
   struct commit_list *commits ;
   struct object_array pending ;
   struct repository *repo ;
   struct object_array boundary_commits ;
   struct rev_cmdline_info cmdline ;
   struct string_list *ref_excludes ;
   char const   *prefix ;
   char const   *def ;
   struct pathspec prune_data ;
   int rev_input_given ;
   int read_from_stdin ;
   enum rev_sort_order sort_order ;
   unsigned int early_output ;
   unsigned int ignore_missing : 1 ;
   unsigned int ignore_missing_links : 1 ;
   unsigned int dense : 1 ;
   unsigned int prune : 1 ;
   unsigned int no_walk : 1 ;
   unsigned int unsorted_input : 1 ;
   unsigned int remove_empty_trees : 1 ;
   unsigned int simplify_history : 1 ;
   unsigned int show_pulls : 1 ;
   unsigned int topo_order : 1 ;
   unsigned int simplify_merges : 1 ;
   unsigned int simplify_by_decoration : 1 ;
   unsigned int single_worktree : 1 ;
   unsigned int tag_objects : 1 ;
   unsigned int tree_objects : 1 ;
   unsigned int blob_objects : 1 ;
   unsigned int verify_objects : 1 ;
   unsigned int edge_hint : 1 ;
   unsigned int edge_hint_aggressive : 1 ;
   unsigned int limited : 1 ;
   unsigned int unpacked : 1 ;
   unsigned int no_kept_objects : 1 ;
   unsigned int boundary : 2 ;
   unsigned int count : 1 ;
   unsigned int left_right : 1 ;
   unsigned int left_only : 1 ;
   unsigned int right_only : 1 ;
   unsigned int rewrite_parents : 1 ;
   unsigned int print_parents : 1 ;
   unsigned int show_decorations : 1 ;
   unsigned int reverse : 1 ;
   unsigned int reverse_output_stage : 1 ;
   unsigned int cherry_pick : 1 ;
   unsigned int cherry_mark : 1 ;
   unsigned int bisect : 1 ;
   unsigned int ancestry_path : 1 ;
   unsigned int first_parent_only : 1 ;
   unsigned int line_level_traverse : 1 ;
   unsigned int tree_blobs_in_commit_order : 1 ;
   unsigned int do_not_die_on_missing_tree : 1 ;
   unsigned int exclude_promisor_objects : 1 ;
   unsigned int diff : 1 ;
   unsigned int full_diff : 1 ;
   unsigned int show_root_diff : 1 ;
   unsigned int match_missing : 1 ;
   unsigned int no_commit_id : 1 ;
   unsigned int verbose_header : 1 ;
   unsigned int always_show_header : 1 ;
   unsigned int explicit_diff_merges : 1 ;
   unsigned int merges_need_diff : 1 ;
   unsigned int merges_imply_patch : 1 ;
   unsigned int separate_merges : 1 ;
   unsigned int combine_merges : 1 ;
   unsigned int combined_all_paths : 1 ;
   unsigned int dense_combined_merges : 1 ;
   unsigned int first_parent_merges : 1 ;
   int show_notes ;
   unsigned int shown_one : 1 ;
   unsigned int shown_dashes : 1 ;
   unsigned int show_merge : 1 ;
   unsigned int show_notes_given : 1 ;
   unsigned int show_signature : 1 ;
   unsigned int pretty_given : 1 ;
   unsigned int abbrev_commit : 1 ;
   unsigned int abbrev_commit_given : 1 ;
   unsigned int zero_commit : 1 ;
   unsigned int use_terminator : 1 ;
   unsigned int missing_newline : 1 ;
   unsigned int date_mode_explicit : 1 ;
   unsigned int preserve_subject : 1 ;
   unsigned int encode_email_headers : 1 ;
   unsigned int include_header : 1 ;
   unsigned int disable_stdin : 1 ;
   unsigned int track_linear : 1 ;
   unsigned int track_first_time : 1 ;
   unsigned int linear : 1 ;
   struct date_mode date_mode ;
   int expand_tabs_in_log ;
   int expand_tabs_in_log_default ;
   unsigned int abbrev ;
   enum cmit_fmt commit_format ;
   struct log_info *loginfo ;
   int nr ;
   int total ;
   char const   *mime_boundary ;
   char const   *patch_suffix ;
   int numbered_files ;
   char const   *reroll_count ;
   char *message_id ;
   struct ident_split from_ident ;
   struct string_list *ref_message_ids ;
   int add_signoff ;
   char const   *extra_headers ;
   char const   *log_reencode ;
   char const   *subject_prefix ;
   int patch_name_max ;
   int no_inline ;
   int show_log_size ;
   struct string_list *mailmap ;
   struct grep_opt grep_filter ;
   struct git_graph *graph ;
   int skip_count ;
   int max_count ;
   timestamp_t max_age ;
   timestamp_t min_age ;
   int min_parents ;
   int max_parents ;
   int (*include_check)(struct commit * , void * ) ;
   int (*include_check_obj)(struct object *obj , void * ) ;
   void *include_check_data ;
   struct diff_options diffopt ;
   struct diff_options pruning ;
   struct reflog_walk_info *reflog_info ;
   struct decoration children ;
   struct decoration merge_simplification ;
   struct decoration treesame ;
   struct display_notes_opt notes_opt ;
   struct object_id  const  *idiff_oid1 ;
   struct object_id  const  *idiff_oid2 ;
   char const   *idiff_title ;
   char const   *rdiff1 ;
   char const   *rdiff2 ;
   int creation_factor ;
   char const   *rdiff_title ;
   int count_left ;
   int count_right ;
   int count_same ;
   struct decoration line_log_data ;
   struct saved_parents *saved_parents_slab ;
   struct commit_list *previous_parents ;
   char const   *break_bar ;
   struct revision_sources *sources ;
   struct topo_walk_info *topo_walk_info ;
   struct bloom_key *bloom_keys ;
   int bloom_keys_nr ;
   struct bloom_filter_settings *bloom_filter_settings ;
   unsigned int keep_pack_cache_flags ;
};
typedef void (*show_early_output_fn_t)(struct rev_info * , struct commit_list * );
struct setup_revision_opt {
   char const   *def ;
   void (*tweak)(struct rev_info * , struct setup_revision_opt * ) ;
   unsigned int assume_dashdash : 1 ;
   unsigned int allow_exclude_promisor_objects : 1 ;
   unsigned int revarg_opt ;
};
enum commit_action {
    commit_ignore = 0,
    commit_show = 1,
    commit_error = 2
} ;
enum rewrite_result {
    rewrite_one_ok = 0,
    rewrite_one_noparents = 1,
    rewrite_one_error = 2
} ;
typedef enum rewrite_result (*rewrite_parent_fn_t)(struct rev_info *revs , struct commit **pp );
struct worktree ;
struct ref_transaction ;
typedef int each_ref_fn(char const   *refname , struct object_id  const  *oid , int flags ,
                        void *cb_data );
typedef int each_repo_ref_fn(struct repository *r , char const   *refname , struct object_id  const  *oid ,
                             int flags , void *cb_data );
typedef int each_reflog_ent_fn(struct object_id *old_oid , struct object_id *new_oid ,
                               char const   *committer , timestamp_t timestamp , int tz ,
                               char const   *msg , void *cb_data );
enum action_on_err {
    UPDATE_REFS_MSG_ON_ERR = 0,
    UPDATE_REFS_DIE_ON_ERR = 1,
    UPDATE_REFS_QUIET_ON_ERR = 2
} ;
enum ref_type {
    REF_TYPE_PER_WORKTREE = 0,
    REF_TYPE_PSEUDOREF = 1,
    REF_TYPE_MAIN_PSEUDOREF = 2,
    REF_TYPE_OTHER_PSEUDOREF = 3,
    REF_TYPE_NORMAL = 4
} ;
enum expire_reflog_flags {
    EXPIRE_REFLOGS_DRY_RUN = 1,
    EXPIRE_REFLOGS_UPDATE_REF = 2,
    EXPIRE_REFLOGS_REWRITE = 4
} ;
typedef void reflog_expiry_prepare_fn(char const   *refname , struct object_id  const  *oid ,
                                      void *cb_data );
typedef int reflog_expiry_should_prune_fn(struct object_id *ooid , struct object_id *noid ,
                                          char const   *email , timestamp_t timestamp ,
                                          int tz , char const   *message , void *cb_data );
typedef void reflog_expiry_cleanup_fn(void *cb_data );
struct tempfile {
   struct volatile_list_head  volatile  list ;
   sig_atomic_t volatile   active ;
   int volatile   fd ;
   FILE * volatile  fp ;
   pid_t volatile   owner ;
   struct strbuf filename ;
};
struct lock_file {
   struct tempfile *tempfile ;
};
struct prefix_item_list {
   struct string_list items ;
   struct string_list sorted ;
   int *selected ;
   size_t min_length ;
   size_t max_length ;
};
struct list_options {
   int columns ;
   char const   *header ;
   void (*print_item)(int i , int selected , struct string_list_item *item , void *print_item_data ) ;
   void *print_item_data ;
};
enum __anonenum_flags_671568596 {
    SINGLETON = 1,
    IMMEDIATE = 2
} ;
struct list_and_choose_options {
   struct list_options list_opts ;
   char const   *prompt ;
   enum __anonenum_flags_671568596 flags ;
   void (*print_help)(struct add_i_state *s ) ;
};
struct adddel {
   uintmax_t add ;
   uintmax_t del ;
   unsigned int seen : 1 ;
   unsigned int unmerged : 1 ;
   unsigned int binary : 1 ;
};
struct file_item {
   size_t prefix_length ;
   struct adddel index ;
   struct adddel worktree ;
};
struct pathname_entry {
   struct hashmap_entry ent ;
   char const   *name ;
   struct file_item *item ;
};
enum __anonenum_mode_983796626 {
    FROM_WORKTREE = 0,
    FROM_INDEX = 1
} ;
struct collection_status {
   enum __anonenum_mode_983796626 mode ;
   char const   *reference ;
   unsigned int skip_unseen : 1 ;
   size_t unmerged_count ;
   size_t binary_count ;
   struct string_list *files ;
   struct hashmap file_map ;
};
enum modified_files_filter {
    NO_FILTER = 0,
    WORKTREE_ONLY = 1,
    INDEX_ONLY = 2
} ;
struct print_file_item_data {
   char const   *modified_fmt ;
   char const   *color ;
   char const   *reset ;
   struct strbuf buf ;
   struct strbuf name ;
   struct strbuf index ;
   struct strbuf worktree ;
   unsigned int only_names : 1 ;
};
typedef int (*command_t)(struct add_i_state *s , struct pathspec  const  *ps , struct prefix_item_list *files ,
                         struct list_and_choose_options *opts );
struct command_item {
   size_t prefix_length ;
   int (*command)(struct add_i_state *s , struct pathspec  const  *ps , struct prefix_item_list *files ,
                  struct list_and_choose_options *opts ) ;
};
struct print_command_item_data {
   char const   *color ;
   char const   *reset ;
};
struct __anonstruct_command_list_249381109 {
   char const   *string ;
   int (*command)(struct add_i_state *s , struct pathspec  const  *ps , struct prefix_item_list *files ,
                  struct list_and_choose_options *opts ) ;
};
enum __anonenum_437032235___6 {
    _PC_LINK_MAX___6 = 0,
    _PC_MAX_CANON___6 = 1,
    _PC_MAX_INPUT___6 = 2,
    _PC_NAME_MAX___6 = 3,
    _PC_PATH_MAX___6 = 4,
    _PC_PIPE_BUF___6 = 5,
    _PC_CHOWN_RESTRICTED___6 = 6,
    _PC_NO_TRUNC___6 = 7,
    _PC_VDISABLE___6 = 8,
    _PC_SYNC_IO___6 = 9,
    _PC_ASYNC_IO___6 = 10,
    _PC_PRIO_IO___6 = 11,
    _PC_SOCK_MAXBUF___6 = 12,
    _PC_FILESIZEBITS___6 = 13,
    _PC_REC_INCR_XFER_SIZE___6 = 14,
    _PC_REC_MAX_XFER_SIZE___6 = 15,
    _PC_REC_MIN_XFER_SIZE___6 = 16,
    _PC_REC_XFER_ALIGN___6 = 17,
    _PC_ALLOC_SIZE_MIN___6 = 18,
    _PC_SYMLINK_MAX___6 = 19,
    _PC_2_SYMLINKS___6 = 20
} ;
enum __anonenum_315186338___6 {
    _SC_ARG_MAX___6 = 0,
    _SC_CHILD_MAX___6 = 1,
    _SC_CLK_TCK___6 = 2,
    _SC_NGROUPS_MAX___6 = 3,
    _SC_OPEN_MAX___6 = 4,
    _SC_STREAM_MAX___6 = 5,
    _SC_TZNAME_MAX___6 = 6,
    _SC_JOB_CONTROL___6 = 7,
    _SC_SAVED_IDS___6 = 8,
    _SC_REALTIME_SIGNALS___6 = 9,
    _SC_PRIORITY_SCHEDULING___6 = 10,
    _SC_TIMERS___6 = 11,
    _SC_ASYNCHRONOUS_IO___6 = 12,
    _SC_PRIORITIZED_IO___6 = 13,
    _SC_SYNCHRONIZED_IO___6 = 14,
    _SC_FSYNC___6 = 15,
    _SC_MAPPED_FILES___6 = 16,
    _SC_MEMLOCK___6 = 17,
    _SC_MEMLOCK_RANGE___6 = 18,
    _SC_MEMORY_PROTECTION___6 = 19,
    _SC_MESSAGE_PASSING___6 = 20,
    _SC_SEMAPHORES___6 = 21,
    _SC_SHARED_MEMORY_OBJECTS___6 = 22,
    _SC_AIO_LISTIO_MAX___6 = 23,
    _SC_AIO_MAX___6 = 24,
    _SC_AIO_PRIO_DELTA_MAX___6 = 25,
    _SC_DELAYTIMER_MAX___6 = 26,
    _SC_MQ_OPEN_MAX___6 = 27,
    _SC_MQ_PRIO_MAX___6 = 28,
    _SC_VERSION___6 = 29,
    _SC_PAGESIZE___6 = 30,
    _SC_RTSIG_MAX___6 = 31,
    _SC_SEM_NSEMS_MAX___6 = 32,
    _SC_SEM_VALUE_MAX___6 = 33,
    _SC_SIGQUEUE_MAX___6 = 34,
    _SC_TIMER_MAX___6 = 35,
    _SC_BC_BASE_MAX___6 = 36,
    _SC_BC_DIM_MAX___6 = 37,
    _SC_BC_SCALE_MAX___6 = 38,
    _SC_BC_STRING_MAX___6 = 39,
    _SC_COLL_WEIGHTS_MAX___6 = 40,
    _SC_EQUIV_CLASS_MAX___6 = 41,
    _SC_EXPR_NEST_MAX___6 = 42,
    _SC_LINE_MAX___6 = 43,
    _SC_RE_DUP_MAX___6 = 44,
    _SC_CHARCLASS_NAME_MAX___6 = 45,
    _SC_2_VERSION___6 = 46,
    _SC_2_C_BIND___6 = 47,
    _SC_2_C_DEV___6 = 48,
    _SC_2_FORT_DEV___6 = 49,
    _SC_2_FORT_RUN___6 = 50,
    _SC_2_SW_DEV___6 = 51,
    _SC_2_LOCALEDEF___6 = 52,
    _SC_PII___6 = 53,
    _SC_PII_XTI___6 = 54,
    _SC_PII_SOCKET___6 = 55,
    _SC_PII_INTERNET___6 = 56,
    _SC_PII_OSI___6 = 57,
    _SC_POLL___6 = 58,
    _SC_SELECT___6 = 59,
    _SC_UIO_MAXIOV___6 = 60,
    _SC_IOV_MAX___6 = 60,
    _SC_PII_INTERNET_STREAM___6 = 61,
    _SC_PII_INTERNET_DGRAM___6 = 62,
    _SC_PII_OSI_COTS___6 = 63,
    _SC_PII_OSI_CLTS___6 = 64,
    _SC_PII_OSI_M___6 = 65,
    _SC_T_IOV_MAX___6 = 66,
    _SC_THREADS___6 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___6 = 68,
    _SC_GETGR_R_SIZE_MAX___6 = 69,
    _SC_GETPW_R_SIZE_MAX___6 = 70,
    _SC_LOGIN_NAME_MAX___6 = 71,
    _SC_TTY_NAME_MAX___6 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___6 = 73,
    _SC_THREAD_KEYS_MAX___6 = 74,
    _SC_THREAD_STACK_MIN___6 = 75,
    _SC_THREAD_THREADS_MAX___6 = 76,
    _SC_THREAD_ATTR_STACKADDR___6 = 77,
    _SC_THREAD_ATTR_STACKSIZE___6 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___6 = 79,
    _SC_THREAD_PRIO_INHERIT___6 = 80,
    _SC_THREAD_PRIO_PROTECT___6 = 81,
    _SC_THREAD_PROCESS_SHARED___6 = 82,
    _SC_NPROCESSORS_CONF___6 = 83,
    _SC_NPROCESSORS_ONLN___6 = 84,
    _SC_PHYS_PAGES___6 = 85,
    _SC_AVPHYS_PAGES___6 = 86,
    _SC_ATEXIT_MAX___6 = 87,
    _SC_PASS_MAX___6 = 88,
    _SC_XOPEN_VERSION___6 = 89,
    _SC_XOPEN_XCU_VERSION___6 = 90,
    _SC_XOPEN_UNIX___6 = 91,
    _SC_XOPEN_CRYPT___6 = 92,
    _SC_XOPEN_ENH_I18N___6 = 93,
    _SC_XOPEN_SHM___6 = 94,
    _SC_2_CHAR_TERM___6 = 95,
    _SC_2_C_VERSION___6 = 96,
    _SC_2_UPE___6 = 97,
    _SC_XOPEN_XPG2___6 = 98,
    _SC_XOPEN_XPG3___6 = 99,
    _SC_XOPEN_XPG4___6 = 100,
    _SC_CHAR_BIT___6 = 101,
    _SC_CHAR_MAX___6 = 102,
    _SC_CHAR_MIN___6 = 103,
    _SC_INT_MAX___6 = 104,
    _SC_INT_MIN___6 = 105,
    _SC_LONG_BIT___6 = 106,
    _SC_WORD_BIT___6 = 107,
    _SC_MB_LEN_MAX___6 = 108,
    _SC_NZERO___6 = 109,
    _SC_SSIZE_MAX___6 = 110,
    _SC_SCHAR_MAX___6 = 111,
    _SC_SCHAR_MIN___6 = 112,
    _SC_SHRT_MAX___6 = 113,
    _SC_SHRT_MIN___6 = 114,
    _SC_UCHAR_MAX___6 = 115,
    _SC_UINT_MAX___6 = 116,
    _SC_ULONG_MAX___6 = 117,
    _SC_USHRT_MAX___6 = 118,
    _SC_NL_ARGMAX___6 = 119,
    _SC_NL_LANGMAX___6 = 120,
    _SC_NL_MSGMAX___6 = 121,
    _SC_NL_NMAX___6 = 122,
    _SC_NL_SETMAX___6 = 123,
    _SC_NL_TEXTMAX___6 = 124,
    _SC_XBS5_ILP32_OFF32___6 = 125,
    _SC_XBS5_ILP32_OFFBIG___6 = 126,
    _SC_XBS5_LP64_OFF64___6 = 127,
    _SC_XBS5_LPBIG_OFFBIG___6 = 128,
    _SC_XOPEN_LEGACY___6 = 129,
    _SC_XOPEN_REALTIME___6 = 130,
    _SC_XOPEN_REALTIME_THREADS___6 = 131,
    _SC_ADVISORY_INFO___6 = 132,
    _SC_BARRIERS___6 = 133,
    _SC_BASE___6 = 134,
    _SC_C_LANG_SUPPORT___6 = 135,
    _SC_C_LANG_SUPPORT_R___6 = 136,
    _SC_CLOCK_SELECTION___6 = 137,
    _SC_CPUTIME___6 = 138,
    _SC_THREAD_CPUTIME___6 = 139,
    _SC_DEVICE_IO___6 = 140,
    _SC_DEVICE_SPECIFIC___6 = 141,
    _SC_DEVICE_SPECIFIC_R___6 = 142,
    _SC_FD_MGMT___6 = 143,
    _SC_FIFO___6 = 144,
    _SC_PIPE___6 = 145,
    _SC_FILE_ATTRIBUTES___6 = 146,
    _SC_FILE_LOCKING___6 = 147,
    _SC_FILE_SYSTEM___6 = 148,
    _SC_MONOTONIC_CLOCK___6 = 149,
    _SC_MULTI_PROCESS___6 = 150,
    _SC_SINGLE_PROCESS___6 = 151,
    _SC_NETWORKING___6 = 152,
    _SC_READER_WRITER_LOCKS___6 = 153,
    _SC_SPIN_LOCKS___6 = 154,
    _SC_REGEXP___6 = 155,
    _SC_REGEX_VERSION___6 = 156,
    _SC_SHELL___6 = 157,
    _SC_SIGNALS___6 = 158,
    _SC_SPAWN___6 = 159,
    _SC_SPORADIC_SERVER___6 = 160,
    _SC_THREAD_SPORADIC_SERVER___6 = 161,
    _SC_SYSTEM_DATABASE___6 = 162,
    _SC_SYSTEM_DATABASE_R___6 = 163,
    _SC_TIMEOUTS___6 = 164,
    _SC_TYPED_MEMORY_OBJECTS___6 = 165,
    _SC_USER_GROUPS___6 = 166,
    _SC_USER_GROUPS_R___6 = 167,
    _SC_2_PBS___6 = 168,
    _SC_2_PBS_ACCOUNTING___6 = 169,
    _SC_2_PBS_LOCATE___6 = 170,
    _SC_2_PBS_MESSAGE___6 = 171,
    _SC_2_PBS_TRACK___6 = 172,
    _SC_SYMLOOP_MAX___6 = 173,
    _SC_STREAMS___6 = 174,
    _SC_2_PBS_CHECKPOINT___6 = 175,
    _SC_V6_ILP32_OFF32___6 = 176,
    _SC_V6_ILP32_OFFBIG___6 = 177,
    _SC_V6_LP64_OFF64___6 = 178,
    _SC_V6_LPBIG_OFFBIG___6 = 179,
    _SC_HOST_NAME_MAX___6 = 180,
    _SC_TRACE___6 = 181,
    _SC_TRACE_EVENT_FILTER___6 = 182,
    _SC_TRACE_INHERIT___6 = 183,
    _SC_TRACE_LOG___6 = 184,
    _SC_LEVEL1_ICACHE_SIZE___6 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___6 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___6 = 187,
    _SC_LEVEL1_DCACHE_SIZE___6 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___6 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___6 = 190,
    _SC_LEVEL2_CACHE_SIZE___6 = 191,
    _SC_LEVEL2_CACHE_ASSOC___6 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___6 = 193,
    _SC_LEVEL3_CACHE_SIZE___6 = 194,
    _SC_LEVEL3_CACHE_ASSOC___6 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___6 = 196,
    _SC_LEVEL4_CACHE_SIZE___6 = 197,
    _SC_LEVEL4_CACHE_ASSOC___6 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___6 = 199,
    _SC_IPV6___6 = 235,
    _SC_RAW_SOCKETS___6 = 236,
    _SC_V7_ILP32_OFF32___6 = 237,
    _SC_V7_ILP32_OFFBIG___6 = 238,
    _SC_V7_LP64_OFF64___6 = 239,
    _SC_V7_LPBIG_OFFBIG___6 = 240,
    _SC_SS_REPL_MAX___6 = 241,
    _SC_TRACE_EVENT_NAME_MAX___6 = 242,
    _SC_TRACE_NAME_MAX___6 = 243,
    _SC_TRACE_SYS_MAX___6 = 244,
    _SC_TRACE_USER_EVENT_MAX___6 = 245,
    _SC_XOPEN_STREAMS___6 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___6 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___6 = 248
} ;
enum __anonenum_875524036___6 {
    _CS_PATH___6 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___6 = 1,
    _CS_GNU_LIBC_VERSION___6 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___6 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___6 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___6 = 5,
    _CS_LFS_CFLAGS___6 = 1000,
    _CS_LFS_LDFLAGS___6 = 1001,
    _CS_LFS_LIBS___6 = 1002,
    _CS_LFS_LINTFLAGS___6 = 1003,
    _CS_LFS64_CFLAGS___6 = 1004,
    _CS_LFS64_LDFLAGS___6 = 1005,
    _CS_LFS64_LIBS___6 = 1006,
    _CS_LFS64_LINTFLAGS___6 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___6 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___6 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___6 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___6 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___6 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___6 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___6 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___6 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___6 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___6 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___6 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___6 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___6 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___6 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___6 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___6 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___6 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___6 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___6 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___6 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___6 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___6 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___6 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___6 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___6 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___6 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___6 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___6 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___6 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___6 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___6 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___6 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___6 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___6 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___6 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___6 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___6 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___6 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___6 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___6 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___6 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___6 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___6 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___6 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___6 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___6 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___6 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___6 = 1147,
    _CS_V6_ENV___6 = 1148,
    _CS_V7_ENV___6 = 1149
} ;
enum __anonenum_513775621___6 {
    DT_UNKNOWN___6 = 0,
    DT_FIFO___6 = 1,
    DT_CHR___6 = 2,
    DT_DIR___6 = 4,
    DT_BLK___6 = 6,
    DT_REG___6 = 8,
    DT_LNK___6 = 10,
    DT_SOCK___6 = 12,
    DT_WHT___6 = 14
} ;
enum __anonenum_77002343___6 {
    SI_ASYNCNL___6 = -60,
    SI_TKILL___6 = -6,
    SI_SIGIO___6 = -5,
    SI_ASYNCIO___6 = -4,
    SI_MESGQ___6 = -3,
    SI_TIMER___6 = -2,
    SI_QUEUE___6 = -1,
    SI_USER___6 = 0,
    SI_KERNEL___6 = 128
} ;
enum __anonenum_131038172___6 {
    ILL_ILLOPC___6 = 1,
    ILL_ILLOPN___6 = 2,
    ILL_ILLADR___6 = 3,
    ILL_ILLTRP___6 = 4,
    ILL_PRVOPC___6 = 5,
    ILL_PRVREG___6 = 6,
    ILL_COPROC___6 = 7,
    ILL_BADSTK___6 = 8
} ;
enum __anonenum_452038093___6 {
    FPE_INTDIV___6 = 1,
    FPE_INTOVF___6 = 2,
    FPE_FLTDIV___6 = 3,
    FPE_FLTOVF___6 = 4,
    FPE_FLTUND___6 = 5,
    FPE_FLTRES___6 = 6,
    FPE_FLTINV___6 = 7,
    FPE_FLTSUB___6 = 8
} ;
enum __anonenum_30976155___6 {
    SEGV_MAPERR___6 = 1,
    SEGV_ACCERR___6 = 2,
    SEGV_BNDERR___6 = 3,
    SEGV_PKUERR___6 = 4
} ;
enum __anonenum_1036286214___6 {
    BUS_ADRALN___6 = 1,
    BUS_ADRERR___6 = 2,
    BUS_OBJERR___6 = 3,
    BUS_MCEERR_AR___6 = 4,
    BUS_MCEERR_AO___6 = 5
} ;
enum __anonenum_493465559___6 {
    TRAP_BRKPT___6 = 1,
    TRAP_TRACE___6 = 2
} ;
enum __anonenum_23175539___6 {
    CLD_EXITED___6 = 1,
    CLD_KILLED___6 = 2,
    CLD_DUMPED___6 = 3,
    CLD_TRAPPED___6 = 4,
    CLD_STOPPED___6 = 5,
    CLD_CONTINUED___6 = 6
} ;
enum __anonenum_111643124___6 {
    POLL_IN___6 = 1,
    POLL_OUT___6 = 2,
    POLL_MSG___6 = 3,
    POLL_ERR___6 = 4,
    POLL_PRI___6 = 5,
    POLL_HUP___6 = 6
} ;
enum __anonenum_852341087___6 {
    SIGEV_SIGNAL___6 = 0,
    SIGEV_NONE___6 = 1,
    SIGEV_THREAD___6 = 2,
    SIGEV_THREAD_ID___6 = 4
} ;
enum __anonenum_451154152___6 {
    REG_R8___6 = 0,
    REG_R9___6 = 1,
    REG_R10___6 = 2,
    REG_R11___6 = 3,
    REG_R12___6 = 4,
    REG_R13___6 = 5,
    REG_R14___6 = 6,
    REG_R15___6 = 7,
    REG_RDI___6 = 8,
    REG_RSI___6 = 9,
    REG_RBP___6 = 10,
    REG_RBX___6 = 11,
    REG_RDX___6 = 12,
    REG_RAX___6 = 13,
    REG_RCX___6 = 14,
    REG_RSP___6 = 15,
    REG_RIP___6 = 16,
    REG_EFL___6 = 17,
    REG_CSGSFS___6 = 18,
    REG_ERR___6 = 19,
    REG_TRAPNO___6 = 20,
    REG_OLDMASK___6 = 21,
    REG_CR2___6 = 22
} ;
enum __anonenum_57186863___6 {
    SS_ONSTACK___6 = 1,
    SS_DISABLE___6 = 2
} ;
enum __anonenum_83571709___6 {
    MSG_OOB___6 = 1,
    MSG_PEEK___6 = 2,
    MSG_DONTROUTE___6 = 4,
    MSG_TRYHARD___6 = 4,
    MSG_CTRUNC___6 = 8,
    MSG_PROXY___6 = 16,
    MSG_TRUNC___6 = 32,
    MSG_DONTWAIT___6 = 64,
    MSG_EOR___6 = 128,
    MSG_WAITALL___6 = 256,
    MSG_FIN___6 = 512,
    MSG_SYN___6 = 1024,
    MSG_CONFIRM___6 = 2048,
    MSG_RST___6 = 4096,
    MSG_ERRQUEUE___6 = 8192,
    MSG_NOSIGNAL___6 = 16384,
    MSG_MORE___6 = 32768,
    MSG_WAITFORONE___6 = 65536,
    MSG_BATCH___6 = 262144,
    MSG_ZEROCOPY___6 = 67108864,
    MSG_FASTOPEN___6 = 536870912,
    MSG_CMSG_CLOEXEC___6 = 1073741824
} ;
enum __anonenum_617082774___6 {
    SCM_RIGHTS___6 = 1,
    SCM_CREDENTIALS___6 = 2
} ;
enum __anonenum_606441560___6 {
    SHUT_RD___6 = 0,
    SHUT_WR___6 = 1,
    SHUT_RDWR___6 = 2
} ;
enum __anonenum_681669233___6 {
    IPPROTO_IP___6 = 0,
    IPPROTO_ICMP___6 = 1,
    IPPROTO_IGMP___6 = 2,
    IPPROTO_IPIP___6 = 4,
    IPPROTO_TCP___6 = 6,
    IPPROTO_EGP___6 = 8,
    IPPROTO_PUP___6 = 12,
    IPPROTO_UDP___6 = 17,
    IPPROTO_IDP___6 = 22,
    IPPROTO_TP___6 = 29,
    IPPROTO_DCCP___6 = 33,
    IPPROTO_IPV6___6 = 41,
    IPPROTO_RSVP___6 = 46,
    IPPROTO_GRE___6 = 47,
    IPPROTO_ESP___6 = 50,
    IPPROTO_AH___6 = 51,
    IPPROTO_MTP___6 = 92,
    IPPROTO_BEETPH___6 = 94,
    IPPROTO_ENCAP___6 = 98,
    IPPROTO_PIM___6 = 103,
    IPPROTO_COMP___6 = 108,
    IPPROTO_SCTP___6 = 132,
    IPPROTO_UDPLITE___6 = 136,
    IPPROTO_MPLS___6 = 137,
    IPPROTO_RAW___6 = 255,
    IPPROTO_MAX___6 = 256
} ;
enum __anonenum_218739988___6 {
    IPPROTO_HOPOPTS___6 = 0,
    IPPROTO_ROUTING___6 = 43,
    IPPROTO_FRAGMENT___6 = 44,
    IPPROTO_ICMPV6___6 = 58,
    IPPROTO_NONE___6 = 59,
    IPPROTO_DSTOPTS___6 = 60,
    IPPROTO_MH___6 = 135
} ;
enum __anonenum_662268580___6 {
    IPPORT_ECHO___6 = 7,
    IPPORT_DISCARD___6 = 9,
    IPPORT_SYSTAT___6 = 11,
    IPPORT_DAYTIME___6 = 13,
    IPPORT_NETSTAT___6 = 15,
    IPPORT_FTP___6 = 21,
    IPPORT_TELNET___6 = 23,
    IPPORT_SMTP___6 = 25,
    IPPORT_TIMESERVER___6 = 37,
    IPPORT_NAMESERVER___6 = 42,
    IPPORT_WHOIS___6 = 43,
    IPPORT_MTP___6 = 57,
    IPPORT_TFTP___6 = 69,
    IPPORT_RJE___6 = 77,
    IPPORT_FINGER___6 = 79,
    IPPORT_TTYLINK___6 = 87,
    IPPORT_SUPDUP___6 = 95,
    IPPORT_EXECSERVER___6 = 512,
    IPPORT_LOGINSERVER___6 = 513,
    IPPORT_CMDSERVER___6 = 514,
    IPPORT_EFSSERVER___6 = 520,
    IPPORT_BIFFUDP___6 = 512,
    IPPORT_WHOSERVER___6 = 513,
    IPPORT_ROUTESERVER___6 = 520,
    IPPORT_RESERVED___6 = 1024,
    IPPORT_USERRESERVED___6 = 5000
} ;
enum __anonenum_788308992___6 {
    TCP_ESTABLISHED___6 = 1,
    TCP_SYN_SENT___6 = 2,
    TCP_SYN_RECV___6 = 3,
    TCP_FIN_WAIT1___6 = 4,
    TCP_FIN_WAIT2___6 = 5,
    TCP_TIME_WAIT___6 = 6,
    TCP_CLOSE___6 = 7,
    TCP_CLOSE_WAIT___6 = 8,
    TCP_LAST_ACK___6 = 9,
    TCP_LISTEN___6 = 10,
    TCP_CLOSING___6 = 11
} ;
enum __anonenum_221125648___6 {
    TCP_NO_QUEUE___6 = 0,
    TCP_RECV_QUEUE___6 = 1,
    TCP_SEND_QUEUE___6 = 2,
    TCP_QUEUES_NR___6 = 3
} ;
enum __anonenum_34415463___6 {
    PTHREAD_CREATE_JOINABLE___6 = 0,
    PTHREAD_CREATE_DETACHED___6 = 1
} ;
enum __anonenum_303612439___6 {
    PTHREAD_MUTEX_TIMED_NP___6 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___6 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___6 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___6 = 3,
    PTHREAD_MUTEX_NORMAL___6 = 0,
    PTHREAD_MUTEX_RECURSIVE___6 = 1,
    PTHREAD_MUTEX_ERRORCHECK___6 = 2,
    PTHREAD_MUTEX_DEFAULT___6 = 0,
    PTHREAD_MUTEX_FAST_NP___6 = 0
} ;
enum __anonenum_931900394___6 {
    PTHREAD_MUTEX_STALLED___6 = 0,
    PTHREAD_MUTEX_STALLED_NP___6 = 0,
    PTHREAD_MUTEX_ROBUST___6 = 1,
    PTHREAD_MUTEX_ROBUST_NP___6 = 1
} ;
enum __anonenum_205214487___6 {
    PTHREAD_PRIO_NONE___6 = 0,
    PTHREAD_PRIO_INHERIT___6 = 1,
    PTHREAD_PRIO_PROTECT___6 = 2
} ;
enum __anonenum_25043950___6 {
    PTHREAD_RWLOCK_PREFER_READER_NP___6 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___6 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___6 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___6 = 0
} ;
enum __anonenum_436439511___6 {
    PTHREAD_INHERIT_SCHED___6 = 0,
    PTHREAD_EXPLICIT_SCHED___6 = 1
} ;
enum __anonenum_998661166___6 {
    PTHREAD_SCOPE_SYSTEM___6 = 0,
    PTHREAD_SCOPE_PROCESS___6 = 1
} ;
enum __anonenum_146137331___6 {
    PTHREAD_PROCESS_PRIVATE___6 = 0,
    PTHREAD_PROCESS_SHARED___6 = 1
} ;
enum __anonenum_53396917___6 {
    PTHREAD_CANCEL_ENABLE___6 = 0,
    PTHREAD_CANCEL_DISABLE___6 = 1
} ;
enum __anonenum_904563783___6 {
    PTHREAD_CANCEL_DEFERRED___6 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___6 = 1
} ;
enum __anonenum_672052974___6 {
    SSL_CT_VALIDATION_PERMISSIVE___6 = 0,
    SSL_CT_VALIDATION_STRICT___6 = 1
} ;
enum prompt_mode_type {
    PROMPT_MODE_CHANGE = 0,
    PROMPT_DELETION = 1,
    PROMPT_ADDITION = 2,
    PROMPT_HUNK = 3,
    PROMPT_MODE_MAX = 4
} ;
struct patch_mode {
   char const   *diff_cmd[4] ;
   char const   *apply_args[4] ;
   char const   *apply_check_args[4] ;
   unsigned int is_reverse : 1 ;
   unsigned int index_only : 1 ;
   unsigned int apply_for_checkout : 1 ;
   char const   *prompt_mode[4] ;
   char const   *edit_hunk_hint ;
   char const   *help_patch_text ;
};
struct hunk_header {
   unsigned long old_offset ;
   unsigned long old_count ;
   unsigned long new_offset ;
   unsigned long new_count ;
   size_t extra_start ;
   size_t extra_end ;
   size_t colored_extra_start ;
   size_t colored_extra_end ;
};
enum __anonenum_use_24216108 {
    UNDECIDED_HUNK = 0,
    SKIP_HUNK = 1,
    USE_HUNK = 2
} ;
struct hunk {
   size_t start ;
   size_t end ;
   size_t colored_start ;
   size_t colored_end ;
   size_t splittable_into ;
   ssize_t delta ;
   enum __anonenum_use_24216108 use ;
   struct hunk_header header ;
};
struct file_diff {
   struct hunk head ;
   struct hunk *hunk ;
   size_t hunk_nr ;
   size_t hunk_alloc ;
   unsigned int deleted : 1 ;
   unsigned int added : 1 ;
   unsigned int mode_change : 1 ;
   unsigned int binary : 1 ;
};
struct add_p_state {
   struct add_i_state s ;
   struct strbuf answer ;
   struct strbuf buf ;
   struct strbuf plain ;
   struct strbuf colored ;
   struct file_diff *file_diff ;
   size_t file_diff_nr ;
   struct patch_mode *mode ;
   char const   *revision ;
};
enum __anonenum_permitted_1012414993 {
    ALLOW_GOTO_PREVIOUS_HUNK = 1,
    ALLOW_GOTO_PREVIOUS_UNDECIDED_HUNK = 2,
    ALLOW_GOTO_NEXT_HUNK = 4,
    ALLOW_GOTO_NEXT_UNDECIDED_HUNK = 8,
    ALLOW_SEARCH_AND_GOTO = 16,
    ALLOW_SPLIT = 32,
    ALLOW_EDIT = 64
} ;
enum __anonenum_437032235___7 {
    _PC_LINK_MAX___7 = 0,
    _PC_MAX_CANON___7 = 1,
    _PC_MAX_INPUT___7 = 2,
    _PC_NAME_MAX___7 = 3,
    _PC_PATH_MAX___7 = 4,
    _PC_PIPE_BUF___7 = 5,
    _PC_CHOWN_RESTRICTED___7 = 6,
    _PC_NO_TRUNC___7 = 7,
    _PC_VDISABLE___7 = 8,
    _PC_SYNC_IO___7 = 9,
    _PC_ASYNC_IO___7 = 10,
    _PC_PRIO_IO___7 = 11,
    _PC_SOCK_MAXBUF___7 = 12,
    _PC_FILESIZEBITS___7 = 13,
    _PC_REC_INCR_XFER_SIZE___7 = 14,
    _PC_REC_MAX_XFER_SIZE___7 = 15,
    _PC_REC_MIN_XFER_SIZE___7 = 16,
    _PC_REC_XFER_ALIGN___7 = 17,
    _PC_ALLOC_SIZE_MIN___7 = 18,
    _PC_SYMLINK_MAX___7 = 19,
    _PC_2_SYMLINKS___7 = 20
} ;
enum __anonenum_315186338___7 {
    _SC_ARG_MAX___7 = 0,
    _SC_CHILD_MAX___7 = 1,
    _SC_CLK_TCK___7 = 2,
    _SC_NGROUPS_MAX___7 = 3,
    _SC_OPEN_MAX___7 = 4,
    _SC_STREAM_MAX___7 = 5,
    _SC_TZNAME_MAX___7 = 6,
    _SC_JOB_CONTROL___7 = 7,
    _SC_SAVED_IDS___7 = 8,
    _SC_REALTIME_SIGNALS___7 = 9,
    _SC_PRIORITY_SCHEDULING___7 = 10,
    _SC_TIMERS___7 = 11,
    _SC_ASYNCHRONOUS_IO___7 = 12,
    _SC_PRIORITIZED_IO___7 = 13,
    _SC_SYNCHRONIZED_IO___7 = 14,
    _SC_FSYNC___7 = 15,
    _SC_MAPPED_FILES___7 = 16,
    _SC_MEMLOCK___7 = 17,
    _SC_MEMLOCK_RANGE___7 = 18,
    _SC_MEMORY_PROTECTION___7 = 19,
    _SC_MESSAGE_PASSING___7 = 20,
    _SC_SEMAPHORES___7 = 21,
    _SC_SHARED_MEMORY_OBJECTS___7 = 22,
    _SC_AIO_LISTIO_MAX___7 = 23,
    _SC_AIO_MAX___7 = 24,
    _SC_AIO_PRIO_DELTA_MAX___7 = 25,
    _SC_DELAYTIMER_MAX___7 = 26,
    _SC_MQ_OPEN_MAX___7 = 27,
    _SC_MQ_PRIO_MAX___7 = 28,
    _SC_VERSION___7 = 29,
    _SC_PAGESIZE___7 = 30,
    _SC_RTSIG_MAX___7 = 31,
    _SC_SEM_NSEMS_MAX___7 = 32,
    _SC_SEM_VALUE_MAX___7 = 33,
    _SC_SIGQUEUE_MAX___7 = 34,
    _SC_TIMER_MAX___7 = 35,
    _SC_BC_BASE_MAX___7 = 36,
    _SC_BC_DIM_MAX___7 = 37,
    _SC_BC_SCALE_MAX___7 = 38,
    _SC_BC_STRING_MAX___7 = 39,
    _SC_COLL_WEIGHTS_MAX___7 = 40,
    _SC_EQUIV_CLASS_MAX___7 = 41,
    _SC_EXPR_NEST_MAX___7 = 42,
    _SC_LINE_MAX___7 = 43,
    _SC_RE_DUP_MAX___7 = 44,
    _SC_CHARCLASS_NAME_MAX___7 = 45,
    _SC_2_VERSION___7 = 46,
    _SC_2_C_BIND___7 = 47,
    _SC_2_C_DEV___7 = 48,
    _SC_2_FORT_DEV___7 = 49,
    _SC_2_FORT_RUN___7 = 50,
    _SC_2_SW_DEV___7 = 51,
    _SC_2_LOCALEDEF___7 = 52,
    _SC_PII___7 = 53,
    _SC_PII_XTI___7 = 54,
    _SC_PII_SOCKET___7 = 55,
    _SC_PII_INTERNET___7 = 56,
    _SC_PII_OSI___7 = 57,
    _SC_POLL___7 = 58,
    _SC_SELECT___7 = 59,
    _SC_UIO_MAXIOV___7 = 60,
    _SC_IOV_MAX___7 = 60,
    _SC_PII_INTERNET_STREAM___7 = 61,
    _SC_PII_INTERNET_DGRAM___7 = 62,
    _SC_PII_OSI_COTS___7 = 63,
    _SC_PII_OSI_CLTS___7 = 64,
    _SC_PII_OSI_M___7 = 65,
    _SC_T_IOV_MAX___7 = 66,
    _SC_THREADS___7 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___7 = 68,
    _SC_GETGR_R_SIZE_MAX___7 = 69,
    _SC_GETPW_R_SIZE_MAX___7 = 70,
    _SC_LOGIN_NAME_MAX___7 = 71,
    _SC_TTY_NAME_MAX___7 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___7 = 73,
    _SC_THREAD_KEYS_MAX___7 = 74,
    _SC_THREAD_STACK_MIN___7 = 75,
    _SC_THREAD_THREADS_MAX___7 = 76,
    _SC_THREAD_ATTR_STACKADDR___7 = 77,
    _SC_THREAD_ATTR_STACKSIZE___7 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___7 = 79,
    _SC_THREAD_PRIO_INHERIT___7 = 80,
    _SC_THREAD_PRIO_PROTECT___7 = 81,
    _SC_THREAD_PROCESS_SHARED___7 = 82,
    _SC_NPROCESSORS_CONF___7 = 83,
    _SC_NPROCESSORS_ONLN___7 = 84,
    _SC_PHYS_PAGES___7 = 85,
    _SC_AVPHYS_PAGES___7 = 86,
    _SC_ATEXIT_MAX___7 = 87,
    _SC_PASS_MAX___7 = 88,
    _SC_XOPEN_VERSION___7 = 89,
    _SC_XOPEN_XCU_VERSION___7 = 90,
    _SC_XOPEN_UNIX___7 = 91,
    _SC_XOPEN_CRYPT___7 = 92,
    _SC_XOPEN_ENH_I18N___7 = 93,
    _SC_XOPEN_SHM___7 = 94,
    _SC_2_CHAR_TERM___7 = 95,
    _SC_2_C_VERSION___7 = 96,
    _SC_2_UPE___7 = 97,
    _SC_XOPEN_XPG2___7 = 98,
    _SC_XOPEN_XPG3___7 = 99,
    _SC_XOPEN_XPG4___7 = 100,
    _SC_CHAR_BIT___7 = 101,
    _SC_CHAR_MAX___7 = 102,
    _SC_CHAR_MIN___7 = 103,
    _SC_INT_MAX___7 = 104,
    _SC_INT_MIN___7 = 105,
    _SC_LONG_BIT___7 = 106,
    _SC_WORD_BIT___7 = 107,
    _SC_MB_LEN_MAX___7 = 108,
    _SC_NZERO___7 = 109,
    _SC_SSIZE_MAX___7 = 110,
    _SC_SCHAR_MAX___7 = 111,
    _SC_SCHAR_MIN___7 = 112,
    _SC_SHRT_MAX___7 = 113,
    _SC_SHRT_MIN___7 = 114,
    _SC_UCHAR_MAX___7 = 115,
    _SC_UINT_MAX___7 = 116,
    _SC_ULONG_MAX___7 = 117,
    _SC_USHRT_MAX___7 = 118,
    _SC_NL_ARGMAX___7 = 119,
    _SC_NL_LANGMAX___7 = 120,
    _SC_NL_MSGMAX___7 = 121,
    _SC_NL_NMAX___7 = 122,
    _SC_NL_SETMAX___7 = 123,
    _SC_NL_TEXTMAX___7 = 124,
    _SC_XBS5_ILP32_OFF32___7 = 125,
    _SC_XBS5_ILP32_OFFBIG___7 = 126,
    _SC_XBS5_LP64_OFF64___7 = 127,
    _SC_XBS5_LPBIG_OFFBIG___7 = 128,
    _SC_XOPEN_LEGACY___7 = 129,
    _SC_XOPEN_REALTIME___7 = 130,
    _SC_XOPEN_REALTIME_THREADS___7 = 131,
    _SC_ADVISORY_INFO___7 = 132,
    _SC_BARRIERS___7 = 133,
    _SC_BASE___7 = 134,
    _SC_C_LANG_SUPPORT___7 = 135,
    _SC_C_LANG_SUPPORT_R___7 = 136,
    _SC_CLOCK_SELECTION___7 = 137,
    _SC_CPUTIME___7 = 138,
    _SC_THREAD_CPUTIME___7 = 139,
    _SC_DEVICE_IO___7 = 140,
    _SC_DEVICE_SPECIFIC___7 = 141,
    _SC_DEVICE_SPECIFIC_R___7 = 142,
    _SC_FD_MGMT___7 = 143,
    _SC_FIFO___7 = 144,
    _SC_PIPE___7 = 145,
    _SC_FILE_ATTRIBUTES___7 = 146,
    _SC_FILE_LOCKING___7 = 147,
    _SC_FILE_SYSTEM___7 = 148,
    _SC_MONOTONIC_CLOCK___7 = 149,
    _SC_MULTI_PROCESS___7 = 150,
    _SC_SINGLE_PROCESS___7 = 151,
    _SC_NETWORKING___7 = 152,
    _SC_READER_WRITER_LOCKS___7 = 153,
    _SC_SPIN_LOCKS___7 = 154,
    _SC_REGEXP___7 = 155,
    _SC_REGEX_VERSION___7 = 156,
    _SC_SHELL___7 = 157,
    _SC_SIGNALS___7 = 158,
    _SC_SPAWN___7 = 159,
    _SC_SPORADIC_SERVER___7 = 160,
    _SC_THREAD_SPORADIC_SERVER___7 = 161,
    _SC_SYSTEM_DATABASE___7 = 162,
    _SC_SYSTEM_DATABASE_R___7 = 163,
    _SC_TIMEOUTS___7 = 164,
    _SC_TYPED_MEMORY_OBJECTS___7 = 165,
    _SC_USER_GROUPS___7 = 166,
    _SC_USER_GROUPS_R___7 = 167,
    _SC_2_PBS___7 = 168,
    _SC_2_PBS_ACCOUNTING___7 = 169,
    _SC_2_PBS_LOCATE___7 = 170,
    _SC_2_PBS_MESSAGE___7 = 171,
    _SC_2_PBS_TRACK___7 = 172,
    _SC_SYMLOOP_MAX___7 = 173,
    _SC_STREAMS___7 = 174,
    _SC_2_PBS_CHECKPOINT___7 = 175,
    _SC_V6_ILP32_OFF32___7 = 176,
    _SC_V6_ILP32_OFFBIG___7 = 177,
    _SC_V6_LP64_OFF64___7 = 178,
    _SC_V6_LPBIG_OFFBIG___7 = 179,
    _SC_HOST_NAME_MAX___7 = 180,
    _SC_TRACE___7 = 181,
    _SC_TRACE_EVENT_FILTER___7 = 182,
    _SC_TRACE_INHERIT___7 = 183,
    _SC_TRACE_LOG___7 = 184,
    _SC_LEVEL1_ICACHE_SIZE___7 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___7 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___7 = 187,
    _SC_LEVEL1_DCACHE_SIZE___7 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___7 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___7 = 190,
    _SC_LEVEL2_CACHE_SIZE___7 = 191,
    _SC_LEVEL2_CACHE_ASSOC___7 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___7 = 193,
    _SC_LEVEL3_CACHE_SIZE___7 = 194,
    _SC_LEVEL3_CACHE_ASSOC___7 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___7 = 196,
    _SC_LEVEL4_CACHE_SIZE___7 = 197,
    _SC_LEVEL4_CACHE_ASSOC___7 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___7 = 199,
    _SC_IPV6___7 = 235,
    _SC_RAW_SOCKETS___7 = 236,
    _SC_V7_ILP32_OFF32___7 = 237,
    _SC_V7_ILP32_OFFBIG___7 = 238,
    _SC_V7_LP64_OFF64___7 = 239,
    _SC_V7_LPBIG_OFFBIG___7 = 240,
    _SC_SS_REPL_MAX___7 = 241,
    _SC_TRACE_EVENT_NAME_MAX___7 = 242,
    _SC_TRACE_NAME_MAX___7 = 243,
    _SC_TRACE_SYS_MAX___7 = 244,
    _SC_TRACE_USER_EVENT_MAX___7 = 245,
    _SC_XOPEN_STREAMS___7 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___7 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___7 = 248
} ;
enum __anonenum_875524036___7 {
    _CS_PATH___7 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___7 = 1,
    _CS_GNU_LIBC_VERSION___7 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___7 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___7 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___7 = 5,
    _CS_LFS_CFLAGS___7 = 1000,
    _CS_LFS_LDFLAGS___7 = 1001,
    _CS_LFS_LIBS___7 = 1002,
    _CS_LFS_LINTFLAGS___7 = 1003,
    _CS_LFS64_CFLAGS___7 = 1004,
    _CS_LFS64_LDFLAGS___7 = 1005,
    _CS_LFS64_LIBS___7 = 1006,
    _CS_LFS64_LINTFLAGS___7 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___7 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___7 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___7 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___7 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___7 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___7 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___7 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___7 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___7 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___7 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___7 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___7 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___7 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___7 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___7 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___7 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___7 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___7 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___7 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___7 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___7 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___7 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___7 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___7 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___7 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___7 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___7 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___7 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___7 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___7 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___7 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___7 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___7 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___7 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___7 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___7 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___7 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___7 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___7 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___7 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___7 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___7 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___7 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___7 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___7 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___7 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___7 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___7 = 1147,
    _CS_V6_ENV___7 = 1148,
    _CS_V7_ENV___7 = 1149
} ;
enum __anonenum_513775621___7 {
    DT_UNKNOWN___7 = 0,
    DT_FIFO___7 = 1,
    DT_CHR___7 = 2,
    DT_DIR___7 = 4,
    DT_BLK___7 = 6,
    DT_REG___7 = 8,
    DT_LNK___7 = 10,
    DT_SOCK___7 = 12,
    DT_WHT___7 = 14
} ;
enum __anonenum_77002343___7 {
    SI_ASYNCNL___7 = -60,
    SI_TKILL___7 = -6,
    SI_SIGIO___7 = -5,
    SI_ASYNCIO___7 = -4,
    SI_MESGQ___7 = -3,
    SI_TIMER___7 = -2,
    SI_QUEUE___7 = -1,
    SI_USER___7 = 0,
    SI_KERNEL___7 = 128
} ;
enum __anonenum_131038172___7 {
    ILL_ILLOPC___7 = 1,
    ILL_ILLOPN___7 = 2,
    ILL_ILLADR___7 = 3,
    ILL_ILLTRP___7 = 4,
    ILL_PRVOPC___7 = 5,
    ILL_PRVREG___7 = 6,
    ILL_COPROC___7 = 7,
    ILL_BADSTK___7 = 8
} ;
enum __anonenum_452038093___7 {
    FPE_INTDIV___7 = 1,
    FPE_INTOVF___7 = 2,
    FPE_FLTDIV___7 = 3,
    FPE_FLTOVF___7 = 4,
    FPE_FLTUND___7 = 5,
    FPE_FLTRES___7 = 6,
    FPE_FLTINV___7 = 7,
    FPE_FLTSUB___7 = 8
} ;
enum __anonenum_30976155___7 {
    SEGV_MAPERR___7 = 1,
    SEGV_ACCERR___7 = 2,
    SEGV_BNDERR___7 = 3,
    SEGV_PKUERR___7 = 4
} ;
enum __anonenum_1036286214___7 {
    BUS_ADRALN___7 = 1,
    BUS_ADRERR___7 = 2,
    BUS_OBJERR___7 = 3,
    BUS_MCEERR_AR___7 = 4,
    BUS_MCEERR_AO___7 = 5
} ;
enum __anonenum_493465559___7 {
    TRAP_BRKPT___7 = 1,
    TRAP_TRACE___7 = 2
} ;
enum __anonenum_23175539___7 {
    CLD_EXITED___7 = 1,
    CLD_KILLED___7 = 2,
    CLD_DUMPED___7 = 3,
    CLD_TRAPPED___7 = 4,
    CLD_STOPPED___7 = 5,
    CLD_CONTINUED___7 = 6
} ;
enum __anonenum_111643124___7 {
    POLL_IN___7 = 1,
    POLL_OUT___7 = 2,
    POLL_MSG___7 = 3,
    POLL_ERR___7 = 4,
    POLL_PRI___7 = 5,
    POLL_HUP___7 = 6
} ;
enum __anonenum_852341087___7 {
    SIGEV_SIGNAL___7 = 0,
    SIGEV_NONE___7 = 1,
    SIGEV_THREAD___7 = 2,
    SIGEV_THREAD_ID___7 = 4
} ;
enum __anonenum_451154152___7 {
    REG_R8___7 = 0,
    REG_R9___7 = 1,
    REG_R10___7 = 2,
    REG_R11___7 = 3,
    REG_R12___7 = 4,
    REG_R13___7 = 5,
    REG_R14___7 = 6,
    REG_R15___7 = 7,
    REG_RDI___7 = 8,
    REG_RSI___7 = 9,
    REG_RBP___7 = 10,
    REG_RBX___7 = 11,
    REG_RDX___7 = 12,
    REG_RAX___7 = 13,
    REG_RCX___7 = 14,
    REG_RSP___7 = 15,
    REG_RIP___7 = 16,
    REG_EFL___7 = 17,
    REG_CSGSFS___7 = 18,
    REG_ERR___7 = 19,
    REG_TRAPNO___7 = 20,
    REG_OLDMASK___7 = 21,
    REG_CR2___7 = 22
} ;
enum __anonenum_57186863___7 {
    SS_ONSTACK___7 = 1,
    SS_DISABLE___7 = 2
} ;
enum __anonenum_83571709___7 {
    MSG_OOB___7 = 1,
    MSG_PEEK___7 = 2,
    MSG_DONTROUTE___7 = 4,
    MSG_TRYHARD___7 = 4,
    MSG_CTRUNC___7 = 8,
    MSG_PROXY___7 = 16,
    MSG_TRUNC___7 = 32,
    MSG_DONTWAIT___7 = 64,
    MSG_EOR___7 = 128,
    MSG_WAITALL___7 = 256,
    MSG_FIN___7 = 512,
    MSG_SYN___7 = 1024,
    MSG_CONFIRM___7 = 2048,
    MSG_RST___7 = 4096,
    MSG_ERRQUEUE___7 = 8192,
    MSG_NOSIGNAL___7 = 16384,
    MSG_MORE___7 = 32768,
    MSG_WAITFORONE___7 = 65536,
    MSG_BATCH___7 = 262144,
    MSG_ZEROCOPY___7 = 67108864,
    MSG_FASTOPEN___7 = 536870912,
    MSG_CMSG_CLOEXEC___7 = 1073741824
} ;
enum __anonenum_617082774___7 {
    SCM_RIGHTS___7 = 1,
    SCM_CREDENTIALS___7 = 2
} ;
enum __anonenum_606441560___7 {
    SHUT_RD___7 = 0,
    SHUT_WR___7 = 1,
    SHUT_RDWR___7 = 2
} ;
enum __anonenum_681669233___7 {
    IPPROTO_IP___7 = 0,
    IPPROTO_ICMP___7 = 1,
    IPPROTO_IGMP___7 = 2,
    IPPROTO_IPIP___7 = 4,
    IPPROTO_TCP___7 = 6,
    IPPROTO_EGP___7 = 8,
    IPPROTO_PUP___7 = 12,
    IPPROTO_UDP___7 = 17,
    IPPROTO_IDP___7 = 22,
    IPPROTO_TP___7 = 29,
    IPPROTO_DCCP___7 = 33,
    IPPROTO_IPV6___7 = 41,
    IPPROTO_RSVP___7 = 46,
    IPPROTO_GRE___7 = 47,
    IPPROTO_ESP___7 = 50,
    IPPROTO_AH___7 = 51,
    IPPROTO_MTP___7 = 92,
    IPPROTO_BEETPH___7 = 94,
    IPPROTO_ENCAP___7 = 98,
    IPPROTO_PIM___7 = 103,
    IPPROTO_COMP___7 = 108,
    IPPROTO_SCTP___7 = 132,
    IPPROTO_UDPLITE___7 = 136,
    IPPROTO_MPLS___7 = 137,
    IPPROTO_RAW___7 = 255,
    IPPROTO_MAX___7 = 256
} ;
enum __anonenum_218739988___7 {
    IPPROTO_HOPOPTS___7 = 0,
    IPPROTO_ROUTING___7 = 43,
    IPPROTO_FRAGMENT___7 = 44,
    IPPROTO_ICMPV6___7 = 58,
    IPPROTO_NONE___7 = 59,
    IPPROTO_DSTOPTS___7 = 60,
    IPPROTO_MH___7 = 135
} ;
enum __anonenum_662268580___7 {
    IPPORT_ECHO___7 = 7,
    IPPORT_DISCARD___7 = 9,
    IPPORT_SYSTAT___7 = 11,
    IPPORT_DAYTIME___7 = 13,
    IPPORT_NETSTAT___7 = 15,
    IPPORT_FTP___7 = 21,
    IPPORT_TELNET___7 = 23,
    IPPORT_SMTP___7 = 25,
    IPPORT_TIMESERVER___7 = 37,
    IPPORT_NAMESERVER___7 = 42,
    IPPORT_WHOIS___7 = 43,
    IPPORT_MTP___7 = 57,
    IPPORT_TFTP___7 = 69,
    IPPORT_RJE___7 = 77,
    IPPORT_FINGER___7 = 79,
    IPPORT_TTYLINK___7 = 87,
    IPPORT_SUPDUP___7 = 95,
    IPPORT_EXECSERVER___7 = 512,
    IPPORT_LOGINSERVER___7 = 513,
    IPPORT_CMDSERVER___7 = 514,
    IPPORT_EFSSERVER___7 = 520,
    IPPORT_BIFFUDP___7 = 512,
    IPPORT_WHOSERVER___7 = 513,
    IPPORT_ROUTESERVER___7 = 520,
    IPPORT_RESERVED___7 = 1024,
    IPPORT_USERRESERVED___7 = 5000
} ;
enum __anonenum_788308992___7 {
    TCP_ESTABLISHED___7 = 1,
    TCP_SYN_SENT___7 = 2,
    TCP_SYN_RECV___7 = 3,
    TCP_FIN_WAIT1___7 = 4,
    TCP_FIN_WAIT2___7 = 5,
    TCP_TIME_WAIT___7 = 6,
    TCP_CLOSE___7 = 7,
    TCP_CLOSE_WAIT___7 = 8,
    TCP_LAST_ACK___7 = 9,
    TCP_LISTEN___7 = 10,
    TCP_CLOSING___7 = 11
} ;
enum __anonenum_221125648___7 {
    TCP_NO_QUEUE___7 = 0,
    TCP_RECV_QUEUE___7 = 1,
    TCP_SEND_QUEUE___7 = 2,
    TCP_QUEUES_NR___7 = 3
} ;
enum __anonenum_34415463___7 {
    PTHREAD_CREATE_JOINABLE___7 = 0,
    PTHREAD_CREATE_DETACHED___7 = 1
} ;
enum __anonenum_303612439___7 {
    PTHREAD_MUTEX_TIMED_NP___7 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___7 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___7 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___7 = 3,
    PTHREAD_MUTEX_NORMAL___7 = 0,
    PTHREAD_MUTEX_RECURSIVE___7 = 1,
    PTHREAD_MUTEX_ERRORCHECK___7 = 2,
    PTHREAD_MUTEX_DEFAULT___7 = 0,
    PTHREAD_MUTEX_FAST_NP___7 = 0
} ;
enum __anonenum_931900394___7 {
    PTHREAD_MUTEX_STALLED___7 = 0,
    PTHREAD_MUTEX_STALLED_NP___7 = 0,
    PTHREAD_MUTEX_ROBUST___7 = 1,
    PTHREAD_MUTEX_ROBUST_NP___7 = 1
} ;
enum __anonenum_205214487___7 {
    PTHREAD_PRIO_NONE___7 = 0,
    PTHREAD_PRIO_INHERIT___7 = 1,
    PTHREAD_PRIO_PROTECT___7 = 2
} ;
enum __anonenum_25043950___7 {
    PTHREAD_RWLOCK_PREFER_READER_NP___7 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___7 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___7 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___7 = 0
} ;
enum __anonenum_436439511___7 {
    PTHREAD_INHERIT_SCHED___7 = 0,
    PTHREAD_EXPLICIT_SCHED___7 = 1
} ;
enum __anonenum_998661166___7 {
    PTHREAD_SCOPE_SYSTEM___7 = 0,
    PTHREAD_SCOPE_PROCESS___7 = 1
} ;
enum __anonenum_146137331___7 {
    PTHREAD_PROCESS_PRIVATE___7 = 0,
    PTHREAD_PROCESS_SHARED___7 = 1
} ;
enum __anonenum_53396917___7 {
    PTHREAD_CANCEL_ENABLE___7 = 0,
    PTHREAD_CANCEL_DISABLE___7 = 1
} ;
enum __anonenum_904563783___7 {
    PTHREAD_CANCEL_DEFERRED___7 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___7 = 1
} ;
enum __anonenum_672052974___7 {
    SSL_CT_VALIDATION_PERMISSIVE___7 = 0,
    SSL_CT_VALIDATION_STRICT___7 = 1
} ;
struct cmdname {
   size_t len ;
   char name[] ;
};
struct cmdnames {
   int alloc ;
   int cnt ;
   struct cmdname **names ;
};
enum color_advice {
    ADVICE_COLOR_RESET = 0,
    ADVICE_COLOR_HINT = 1
} ;
struct __anonstruct_advice_setting_713894858 {
   char const   *key ;
   int enabled ;
};
enum __anonenum_437032235___8 {
    _PC_LINK_MAX___8 = 0,
    _PC_MAX_CANON___8 = 1,
    _PC_MAX_INPUT___8 = 2,
    _PC_NAME_MAX___8 = 3,
    _PC_PATH_MAX___8 = 4,
    _PC_PIPE_BUF___8 = 5,
    _PC_CHOWN_RESTRICTED___8 = 6,
    _PC_NO_TRUNC___8 = 7,
    _PC_VDISABLE___8 = 8,
    _PC_SYNC_IO___8 = 9,
    _PC_ASYNC_IO___8 = 10,
    _PC_PRIO_IO___8 = 11,
    _PC_SOCK_MAXBUF___8 = 12,
    _PC_FILESIZEBITS___8 = 13,
    _PC_REC_INCR_XFER_SIZE___8 = 14,
    _PC_REC_MAX_XFER_SIZE___8 = 15,
    _PC_REC_MIN_XFER_SIZE___8 = 16,
    _PC_REC_XFER_ALIGN___8 = 17,
    _PC_ALLOC_SIZE_MIN___8 = 18,
    _PC_SYMLINK_MAX___8 = 19,
    _PC_2_SYMLINKS___8 = 20
} ;
enum __anonenum_315186338___8 {
    _SC_ARG_MAX___8 = 0,
    _SC_CHILD_MAX___8 = 1,
    _SC_CLK_TCK___8 = 2,
    _SC_NGROUPS_MAX___8 = 3,
    _SC_OPEN_MAX___8 = 4,
    _SC_STREAM_MAX___8 = 5,
    _SC_TZNAME_MAX___8 = 6,
    _SC_JOB_CONTROL___8 = 7,
    _SC_SAVED_IDS___8 = 8,
    _SC_REALTIME_SIGNALS___8 = 9,
    _SC_PRIORITY_SCHEDULING___8 = 10,
    _SC_TIMERS___8 = 11,
    _SC_ASYNCHRONOUS_IO___8 = 12,
    _SC_PRIORITIZED_IO___8 = 13,
    _SC_SYNCHRONIZED_IO___8 = 14,
    _SC_FSYNC___8 = 15,
    _SC_MAPPED_FILES___8 = 16,
    _SC_MEMLOCK___8 = 17,
    _SC_MEMLOCK_RANGE___8 = 18,
    _SC_MEMORY_PROTECTION___8 = 19,
    _SC_MESSAGE_PASSING___8 = 20,
    _SC_SEMAPHORES___8 = 21,
    _SC_SHARED_MEMORY_OBJECTS___8 = 22,
    _SC_AIO_LISTIO_MAX___8 = 23,
    _SC_AIO_MAX___8 = 24,
    _SC_AIO_PRIO_DELTA_MAX___8 = 25,
    _SC_DELAYTIMER_MAX___8 = 26,
    _SC_MQ_OPEN_MAX___8 = 27,
    _SC_MQ_PRIO_MAX___8 = 28,
    _SC_VERSION___8 = 29,
    _SC_PAGESIZE___8 = 30,
    _SC_RTSIG_MAX___8 = 31,
    _SC_SEM_NSEMS_MAX___8 = 32,
    _SC_SEM_VALUE_MAX___8 = 33,
    _SC_SIGQUEUE_MAX___8 = 34,
    _SC_TIMER_MAX___8 = 35,
    _SC_BC_BASE_MAX___8 = 36,
    _SC_BC_DIM_MAX___8 = 37,
    _SC_BC_SCALE_MAX___8 = 38,
    _SC_BC_STRING_MAX___8 = 39,
    _SC_COLL_WEIGHTS_MAX___8 = 40,
    _SC_EQUIV_CLASS_MAX___8 = 41,
    _SC_EXPR_NEST_MAX___8 = 42,
    _SC_LINE_MAX___8 = 43,
    _SC_RE_DUP_MAX___8 = 44,
    _SC_CHARCLASS_NAME_MAX___8 = 45,
    _SC_2_VERSION___8 = 46,
    _SC_2_C_BIND___8 = 47,
    _SC_2_C_DEV___8 = 48,
    _SC_2_FORT_DEV___8 = 49,
    _SC_2_FORT_RUN___8 = 50,
    _SC_2_SW_DEV___8 = 51,
    _SC_2_LOCALEDEF___8 = 52,
    _SC_PII___8 = 53,
    _SC_PII_XTI___8 = 54,
    _SC_PII_SOCKET___8 = 55,
    _SC_PII_INTERNET___8 = 56,
    _SC_PII_OSI___8 = 57,
    _SC_POLL___8 = 58,
    _SC_SELECT___8 = 59,
    _SC_UIO_MAXIOV___8 = 60,
    _SC_IOV_MAX___8 = 60,
    _SC_PII_INTERNET_STREAM___8 = 61,
    _SC_PII_INTERNET_DGRAM___8 = 62,
    _SC_PII_OSI_COTS___8 = 63,
    _SC_PII_OSI_CLTS___8 = 64,
    _SC_PII_OSI_M___8 = 65,
    _SC_T_IOV_MAX___8 = 66,
    _SC_THREADS___8 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___8 = 68,
    _SC_GETGR_R_SIZE_MAX___8 = 69,
    _SC_GETPW_R_SIZE_MAX___8 = 70,
    _SC_LOGIN_NAME_MAX___8 = 71,
    _SC_TTY_NAME_MAX___8 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___8 = 73,
    _SC_THREAD_KEYS_MAX___8 = 74,
    _SC_THREAD_STACK_MIN___8 = 75,
    _SC_THREAD_THREADS_MAX___8 = 76,
    _SC_THREAD_ATTR_STACKADDR___8 = 77,
    _SC_THREAD_ATTR_STACKSIZE___8 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___8 = 79,
    _SC_THREAD_PRIO_INHERIT___8 = 80,
    _SC_THREAD_PRIO_PROTECT___8 = 81,
    _SC_THREAD_PROCESS_SHARED___8 = 82,
    _SC_NPROCESSORS_CONF___8 = 83,
    _SC_NPROCESSORS_ONLN___8 = 84,
    _SC_PHYS_PAGES___8 = 85,
    _SC_AVPHYS_PAGES___8 = 86,
    _SC_ATEXIT_MAX___8 = 87,
    _SC_PASS_MAX___8 = 88,
    _SC_XOPEN_VERSION___8 = 89,
    _SC_XOPEN_XCU_VERSION___8 = 90,
    _SC_XOPEN_UNIX___8 = 91,
    _SC_XOPEN_CRYPT___8 = 92,
    _SC_XOPEN_ENH_I18N___8 = 93,
    _SC_XOPEN_SHM___8 = 94,
    _SC_2_CHAR_TERM___8 = 95,
    _SC_2_C_VERSION___8 = 96,
    _SC_2_UPE___8 = 97,
    _SC_XOPEN_XPG2___8 = 98,
    _SC_XOPEN_XPG3___8 = 99,
    _SC_XOPEN_XPG4___8 = 100,
    _SC_CHAR_BIT___8 = 101,
    _SC_CHAR_MAX___8 = 102,
    _SC_CHAR_MIN___8 = 103,
    _SC_INT_MAX___8 = 104,
    _SC_INT_MIN___8 = 105,
    _SC_LONG_BIT___8 = 106,
    _SC_WORD_BIT___8 = 107,
    _SC_MB_LEN_MAX___8 = 108,
    _SC_NZERO___8 = 109,
    _SC_SSIZE_MAX___8 = 110,
    _SC_SCHAR_MAX___8 = 111,
    _SC_SCHAR_MIN___8 = 112,
    _SC_SHRT_MAX___8 = 113,
    _SC_SHRT_MIN___8 = 114,
    _SC_UCHAR_MAX___8 = 115,
    _SC_UINT_MAX___8 = 116,
    _SC_ULONG_MAX___8 = 117,
    _SC_USHRT_MAX___8 = 118,
    _SC_NL_ARGMAX___8 = 119,
    _SC_NL_LANGMAX___8 = 120,
    _SC_NL_MSGMAX___8 = 121,
    _SC_NL_NMAX___8 = 122,
    _SC_NL_SETMAX___8 = 123,
    _SC_NL_TEXTMAX___8 = 124,
    _SC_XBS5_ILP32_OFF32___8 = 125,
    _SC_XBS5_ILP32_OFFBIG___8 = 126,
    _SC_XBS5_LP64_OFF64___8 = 127,
    _SC_XBS5_LPBIG_OFFBIG___8 = 128,
    _SC_XOPEN_LEGACY___8 = 129,
    _SC_XOPEN_REALTIME___8 = 130,
    _SC_XOPEN_REALTIME_THREADS___8 = 131,
    _SC_ADVISORY_INFO___8 = 132,
    _SC_BARRIERS___8 = 133,
    _SC_BASE___8 = 134,
    _SC_C_LANG_SUPPORT___8 = 135,
    _SC_C_LANG_SUPPORT_R___8 = 136,
    _SC_CLOCK_SELECTION___8 = 137,
    _SC_CPUTIME___8 = 138,
    _SC_THREAD_CPUTIME___8 = 139,
    _SC_DEVICE_IO___8 = 140,
    _SC_DEVICE_SPECIFIC___8 = 141,
    _SC_DEVICE_SPECIFIC_R___8 = 142,
    _SC_FD_MGMT___8 = 143,
    _SC_FIFO___8 = 144,
    _SC_PIPE___8 = 145,
    _SC_FILE_ATTRIBUTES___8 = 146,
    _SC_FILE_LOCKING___8 = 147,
    _SC_FILE_SYSTEM___8 = 148,
    _SC_MONOTONIC_CLOCK___8 = 149,
    _SC_MULTI_PROCESS___8 = 150,
    _SC_SINGLE_PROCESS___8 = 151,
    _SC_NETWORKING___8 = 152,
    _SC_READER_WRITER_LOCKS___8 = 153,
    _SC_SPIN_LOCKS___8 = 154,
    _SC_REGEXP___8 = 155,
    _SC_REGEX_VERSION___8 = 156,
    _SC_SHELL___8 = 157,
    _SC_SIGNALS___8 = 158,
    _SC_SPAWN___8 = 159,
    _SC_SPORADIC_SERVER___8 = 160,
    _SC_THREAD_SPORADIC_SERVER___8 = 161,
    _SC_SYSTEM_DATABASE___8 = 162,
    _SC_SYSTEM_DATABASE_R___8 = 163,
    _SC_TIMEOUTS___8 = 164,
    _SC_TYPED_MEMORY_OBJECTS___8 = 165,
    _SC_USER_GROUPS___8 = 166,
    _SC_USER_GROUPS_R___8 = 167,
    _SC_2_PBS___8 = 168,
    _SC_2_PBS_ACCOUNTING___8 = 169,
    _SC_2_PBS_LOCATE___8 = 170,
    _SC_2_PBS_MESSAGE___8 = 171,
    _SC_2_PBS_TRACK___8 = 172,
    _SC_SYMLOOP_MAX___8 = 173,
    _SC_STREAMS___8 = 174,
    _SC_2_PBS_CHECKPOINT___8 = 175,
    _SC_V6_ILP32_OFF32___8 = 176,
    _SC_V6_ILP32_OFFBIG___8 = 177,
    _SC_V6_LP64_OFF64___8 = 178,
    _SC_V6_LPBIG_OFFBIG___8 = 179,
    _SC_HOST_NAME_MAX___8 = 180,
    _SC_TRACE___8 = 181,
    _SC_TRACE_EVENT_FILTER___8 = 182,
    _SC_TRACE_INHERIT___8 = 183,
    _SC_TRACE_LOG___8 = 184,
    _SC_LEVEL1_ICACHE_SIZE___8 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___8 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___8 = 187,
    _SC_LEVEL1_DCACHE_SIZE___8 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___8 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___8 = 190,
    _SC_LEVEL2_CACHE_SIZE___8 = 191,
    _SC_LEVEL2_CACHE_ASSOC___8 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___8 = 193,
    _SC_LEVEL3_CACHE_SIZE___8 = 194,
    _SC_LEVEL3_CACHE_ASSOC___8 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___8 = 196,
    _SC_LEVEL4_CACHE_SIZE___8 = 197,
    _SC_LEVEL4_CACHE_ASSOC___8 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___8 = 199,
    _SC_IPV6___8 = 235,
    _SC_RAW_SOCKETS___8 = 236,
    _SC_V7_ILP32_OFF32___8 = 237,
    _SC_V7_ILP32_OFFBIG___8 = 238,
    _SC_V7_LP64_OFF64___8 = 239,
    _SC_V7_LPBIG_OFFBIG___8 = 240,
    _SC_SS_REPL_MAX___8 = 241,
    _SC_TRACE_EVENT_NAME_MAX___8 = 242,
    _SC_TRACE_NAME_MAX___8 = 243,
    _SC_TRACE_SYS_MAX___8 = 244,
    _SC_TRACE_USER_EVENT_MAX___8 = 245,
    _SC_XOPEN_STREAMS___8 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___8 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___8 = 248
} ;
enum __anonenum_875524036___8 {
    _CS_PATH___8 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___8 = 1,
    _CS_GNU_LIBC_VERSION___8 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___8 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___8 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___8 = 5,
    _CS_LFS_CFLAGS___8 = 1000,
    _CS_LFS_LDFLAGS___8 = 1001,
    _CS_LFS_LIBS___8 = 1002,
    _CS_LFS_LINTFLAGS___8 = 1003,
    _CS_LFS64_CFLAGS___8 = 1004,
    _CS_LFS64_LDFLAGS___8 = 1005,
    _CS_LFS64_LIBS___8 = 1006,
    _CS_LFS64_LINTFLAGS___8 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___8 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___8 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___8 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___8 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___8 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___8 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___8 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___8 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___8 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___8 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___8 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___8 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___8 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___8 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___8 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___8 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___8 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___8 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___8 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___8 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___8 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___8 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___8 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___8 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___8 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___8 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___8 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___8 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___8 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___8 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___8 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___8 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___8 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___8 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___8 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___8 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___8 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___8 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___8 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___8 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___8 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___8 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___8 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___8 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___8 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___8 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___8 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___8 = 1147,
    _CS_V6_ENV___8 = 1148,
    _CS_V7_ENV___8 = 1149
} ;
enum __anonenum_513775621___8 {
    DT_UNKNOWN___8 = 0,
    DT_FIFO___8 = 1,
    DT_CHR___8 = 2,
    DT_DIR___8 = 4,
    DT_BLK___8 = 6,
    DT_REG___8 = 8,
    DT_LNK___8 = 10,
    DT_SOCK___8 = 12,
    DT_WHT___8 = 14
} ;
enum __anonenum_77002343___8 {
    SI_ASYNCNL___8 = -60,
    SI_TKILL___8 = -6,
    SI_SIGIO___8 = -5,
    SI_ASYNCIO___8 = -4,
    SI_MESGQ___8 = -3,
    SI_TIMER___8 = -2,
    SI_QUEUE___8 = -1,
    SI_USER___8 = 0,
    SI_KERNEL___8 = 128
} ;
enum __anonenum_131038172___8 {
    ILL_ILLOPC___8 = 1,
    ILL_ILLOPN___8 = 2,
    ILL_ILLADR___8 = 3,
    ILL_ILLTRP___8 = 4,
    ILL_PRVOPC___8 = 5,
    ILL_PRVREG___8 = 6,
    ILL_COPROC___8 = 7,
    ILL_BADSTK___8 = 8
} ;
enum __anonenum_452038093___8 {
    FPE_INTDIV___8 = 1,
    FPE_INTOVF___8 = 2,
    FPE_FLTDIV___8 = 3,
    FPE_FLTOVF___8 = 4,
    FPE_FLTUND___8 = 5,
    FPE_FLTRES___8 = 6,
    FPE_FLTINV___8 = 7,
    FPE_FLTSUB___8 = 8
} ;
enum __anonenum_30976155___8 {
    SEGV_MAPERR___8 = 1,
    SEGV_ACCERR___8 = 2,
    SEGV_BNDERR___8 = 3,
    SEGV_PKUERR___8 = 4
} ;
enum __anonenum_1036286214___8 {
    BUS_ADRALN___8 = 1,
    BUS_ADRERR___8 = 2,
    BUS_OBJERR___8 = 3,
    BUS_MCEERR_AR___8 = 4,
    BUS_MCEERR_AO___8 = 5
} ;
enum __anonenum_493465559___8 {
    TRAP_BRKPT___8 = 1,
    TRAP_TRACE___8 = 2
} ;
enum __anonenum_23175539___8 {
    CLD_EXITED___8 = 1,
    CLD_KILLED___8 = 2,
    CLD_DUMPED___8 = 3,
    CLD_TRAPPED___8 = 4,
    CLD_STOPPED___8 = 5,
    CLD_CONTINUED___8 = 6
} ;
enum __anonenum_111643124___8 {
    POLL_IN___8 = 1,
    POLL_OUT___8 = 2,
    POLL_MSG___8 = 3,
    POLL_ERR___8 = 4,
    POLL_PRI___8 = 5,
    POLL_HUP___8 = 6
} ;
enum __anonenum_852341087___8 {
    SIGEV_SIGNAL___8 = 0,
    SIGEV_NONE___8 = 1,
    SIGEV_THREAD___8 = 2,
    SIGEV_THREAD_ID___8 = 4
} ;
enum __anonenum_451154152___8 {
    REG_R8___8 = 0,
    REG_R9___8 = 1,
    REG_R10___8 = 2,
    REG_R11___8 = 3,
    REG_R12___8 = 4,
    REG_R13___8 = 5,
    REG_R14___8 = 6,
    REG_R15___8 = 7,
    REG_RDI___8 = 8,
    REG_RSI___8 = 9,
    REG_RBP___8 = 10,
    REG_RBX___8 = 11,
    REG_RDX___8 = 12,
    REG_RAX___8 = 13,
    REG_RCX___8 = 14,
    REG_RSP___8 = 15,
    REG_RIP___8 = 16,
    REG_EFL___8 = 17,
    REG_CSGSFS___8 = 18,
    REG_ERR___8 = 19,
    REG_TRAPNO___8 = 20,
    REG_OLDMASK___8 = 21,
    REG_CR2___8 = 22
} ;
enum __anonenum_57186863___8 {
    SS_ONSTACK___8 = 1,
    SS_DISABLE___8 = 2
} ;
enum __anonenum_83571709___8 {
    MSG_OOB___8 = 1,
    MSG_PEEK___8 = 2,
    MSG_DONTROUTE___8 = 4,
    MSG_TRYHARD___8 = 4,
    MSG_CTRUNC___8 = 8,
    MSG_PROXY___8 = 16,
    MSG_TRUNC___8 = 32,
    MSG_DONTWAIT___8 = 64,
    MSG_EOR___8 = 128,
    MSG_WAITALL___8 = 256,
    MSG_FIN___8 = 512,
    MSG_SYN___8 = 1024,
    MSG_CONFIRM___8 = 2048,
    MSG_RST___8 = 4096,
    MSG_ERRQUEUE___8 = 8192,
    MSG_NOSIGNAL___8 = 16384,
    MSG_MORE___8 = 32768,
    MSG_WAITFORONE___8 = 65536,
    MSG_BATCH___8 = 262144,
    MSG_ZEROCOPY___8 = 67108864,
    MSG_FASTOPEN___8 = 536870912,
    MSG_CMSG_CLOEXEC___8 = 1073741824
} ;
enum __anonenum_617082774___8 {
    SCM_RIGHTS___8 = 1,
    SCM_CREDENTIALS___8 = 2
} ;
enum __anonenum_606441560___8 {
    SHUT_RD___8 = 0,
    SHUT_WR___8 = 1,
    SHUT_RDWR___8 = 2
} ;
enum __anonenum_681669233___8 {
    IPPROTO_IP___8 = 0,
    IPPROTO_ICMP___8 = 1,
    IPPROTO_IGMP___8 = 2,
    IPPROTO_IPIP___8 = 4,
    IPPROTO_TCP___8 = 6,
    IPPROTO_EGP___8 = 8,
    IPPROTO_PUP___8 = 12,
    IPPROTO_UDP___8 = 17,
    IPPROTO_IDP___8 = 22,
    IPPROTO_TP___8 = 29,
    IPPROTO_DCCP___8 = 33,
    IPPROTO_IPV6___8 = 41,
    IPPROTO_RSVP___8 = 46,
    IPPROTO_GRE___8 = 47,
    IPPROTO_ESP___8 = 50,
    IPPROTO_AH___8 = 51,
    IPPROTO_MTP___8 = 92,
    IPPROTO_BEETPH___8 = 94,
    IPPROTO_ENCAP___8 = 98,
    IPPROTO_PIM___8 = 103,
    IPPROTO_COMP___8 = 108,
    IPPROTO_SCTP___8 = 132,
    IPPROTO_UDPLITE___8 = 136,
    IPPROTO_MPLS___8 = 137,
    IPPROTO_RAW___8 = 255,
    IPPROTO_MAX___8 = 256
} ;
enum __anonenum_218739988___8 {
    IPPROTO_HOPOPTS___8 = 0,
    IPPROTO_ROUTING___8 = 43,
    IPPROTO_FRAGMENT___8 = 44,
    IPPROTO_ICMPV6___8 = 58,
    IPPROTO_NONE___8 = 59,
    IPPROTO_DSTOPTS___8 = 60,
    IPPROTO_MH___8 = 135
} ;
enum __anonenum_662268580___8 {
    IPPORT_ECHO___8 = 7,
    IPPORT_DISCARD___8 = 9,
    IPPORT_SYSTAT___8 = 11,
    IPPORT_DAYTIME___8 = 13,
    IPPORT_NETSTAT___8 = 15,
    IPPORT_FTP___8 = 21,
    IPPORT_TELNET___8 = 23,
    IPPORT_SMTP___8 = 25,
    IPPORT_TIMESERVER___8 = 37,
    IPPORT_NAMESERVER___8 = 42,
    IPPORT_WHOIS___8 = 43,
    IPPORT_MTP___8 = 57,
    IPPORT_TFTP___8 = 69,
    IPPORT_RJE___8 = 77,
    IPPORT_FINGER___8 = 79,
    IPPORT_TTYLINK___8 = 87,
    IPPORT_SUPDUP___8 = 95,
    IPPORT_EXECSERVER___8 = 512,
    IPPORT_LOGINSERVER___8 = 513,
    IPPORT_CMDSERVER___8 = 514,
    IPPORT_EFSSERVER___8 = 520,
    IPPORT_BIFFUDP___8 = 512,
    IPPORT_WHOSERVER___8 = 513,
    IPPORT_ROUTESERVER___8 = 520,
    IPPORT_RESERVED___8 = 1024,
    IPPORT_USERRESERVED___8 = 5000
} ;
enum __anonenum_788308992___8 {
    TCP_ESTABLISHED___8 = 1,
    TCP_SYN_SENT___8 = 2,
    TCP_SYN_RECV___8 = 3,
    TCP_FIN_WAIT1___8 = 4,
    TCP_FIN_WAIT2___8 = 5,
    TCP_TIME_WAIT___8 = 6,
    TCP_CLOSE___8 = 7,
    TCP_CLOSE_WAIT___8 = 8,
    TCP_LAST_ACK___8 = 9,
    TCP_LISTEN___8 = 10,
    TCP_CLOSING___8 = 11
} ;
enum __anonenum_221125648___8 {
    TCP_NO_QUEUE___8 = 0,
    TCP_RECV_QUEUE___8 = 1,
    TCP_SEND_QUEUE___8 = 2,
    TCP_QUEUES_NR___8 = 3
} ;
enum __anonenum_34415463___8 {
    PTHREAD_CREATE_JOINABLE___8 = 0,
    PTHREAD_CREATE_DETACHED___8 = 1
} ;
enum __anonenum_303612439___8 {
    PTHREAD_MUTEX_TIMED_NP___8 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___8 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___8 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___8 = 3,
    PTHREAD_MUTEX_NORMAL___8 = 0,
    PTHREAD_MUTEX_RECURSIVE___8 = 1,
    PTHREAD_MUTEX_ERRORCHECK___8 = 2,
    PTHREAD_MUTEX_DEFAULT___8 = 0,
    PTHREAD_MUTEX_FAST_NP___8 = 0
} ;
enum __anonenum_931900394___8 {
    PTHREAD_MUTEX_STALLED___8 = 0,
    PTHREAD_MUTEX_STALLED_NP___8 = 0,
    PTHREAD_MUTEX_ROBUST___8 = 1,
    PTHREAD_MUTEX_ROBUST_NP___8 = 1
} ;
enum __anonenum_205214487___8 {
    PTHREAD_PRIO_NONE___8 = 0,
    PTHREAD_PRIO_INHERIT___8 = 1,
    PTHREAD_PRIO_PROTECT___8 = 2
} ;
enum __anonenum_25043950___8 {
    PTHREAD_RWLOCK_PREFER_READER_NP___8 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___8 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___8 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___8 = 0
} ;
enum __anonenum_436439511___8 {
    PTHREAD_INHERIT_SCHED___8 = 0,
    PTHREAD_EXPLICIT_SCHED___8 = 1
} ;
enum __anonenum_998661166___8 {
    PTHREAD_SCOPE_SYSTEM___8 = 0,
    PTHREAD_SCOPE_PROCESS___8 = 1
} ;
enum __anonenum_146137331___8 {
    PTHREAD_PROCESS_PRIVATE___8 = 0,
    PTHREAD_PROCESS_SHARED___8 = 1
} ;
enum __anonenum_53396917___8 {
    PTHREAD_CANCEL_ENABLE___8 = 0,
    PTHREAD_CANCEL_DISABLE___8 = 1
} ;
enum __anonenum_904563783___8 {
    PTHREAD_CANCEL_DEFERRED___8 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___8 = 1
} ;
enum __anonenum_672052974___8 {
    SSL_CT_VALIDATION_PERMISSIVE___8 = 0,
    SSL_CT_VALIDATION_STRICT___8 = 1
} ;
struct config_alias_data {
   char const   *alias ;
   char *v ;
   struct string_list *list ;
};
enum __anonenum_437032235___9 {
    _PC_LINK_MAX___9 = 0,
    _PC_MAX_CANON___9 = 1,
    _PC_MAX_INPUT___9 = 2,
    _PC_NAME_MAX___9 = 3,
    _PC_PATH_MAX___9 = 4,
    _PC_PIPE_BUF___9 = 5,
    _PC_CHOWN_RESTRICTED___9 = 6,
    _PC_NO_TRUNC___9 = 7,
    _PC_VDISABLE___9 = 8,
    _PC_SYNC_IO___9 = 9,
    _PC_ASYNC_IO___9 = 10,
    _PC_PRIO_IO___9 = 11,
    _PC_SOCK_MAXBUF___9 = 12,
    _PC_FILESIZEBITS___9 = 13,
    _PC_REC_INCR_XFER_SIZE___9 = 14,
    _PC_REC_MAX_XFER_SIZE___9 = 15,
    _PC_REC_MIN_XFER_SIZE___9 = 16,
    _PC_REC_XFER_ALIGN___9 = 17,
    _PC_ALLOC_SIZE_MIN___9 = 18,
    _PC_SYMLINK_MAX___9 = 19,
    _PC_2_SYMLINKS___9 = 20
} ;
enum __anonenum_315186338___9 {
    _SC_ARG_MAX___9 = 0,
    _SC_CHILD_MAX___9 = 1,
    _SC_CLK_TCK___9 = 2,
    _SC_NGROUPS_MAX___9 = 3,
    _SC_OPEN_MAX___9 = 4,
    _SC_STREAM_MAX___9 = 5,
    _SC_TZNAME_MAX___9 = 6,
    _SC_JOB_CONTROL___9 = 7,
    _SC_SAVED_IDS___9 = 8,
    _SC_REALTIME_SIGNALS___9 = 9,
    _SC_PRIORITY_SCHEDULING___9 = 10,
    _SC_TIMERS___9 = 11,
    _SC_ASYNCHRONOUS_IO___9 = 12,
    _SC_PRIORITIZED_IO___9 = 13,
    _SC_SYNCHRONIZED_IO___9 = 14,
    _SC_FSYNC___9 = 15,
    _SC_MAPPED_FILES___9 = 16,
    _SC_MEMLOCK___9 = 17,
    _SC_MEMLOCK_RANGE___9 = 18,
    _SC_MEMORY_PROTECTION___9 = 19,
    _SC_MESSAGE_PASSING___9 = 20,
    _SC_SEMAPHORES___9 = 21,
    _SC_SHARED_MEMORY_OBJECTS___9 = 22,
    _SC_AIO_LISTIO_MAX___9 = 23,
    _SC_AIO_MAX___9 = 24,
    _SC_AIO_PRIO_DELTA_MAX___9 = 25,
    _SC_DELAYTIMER_MAX___9 = 26,
    _SC_MQ_OPEN_MAX___9 = 27,
    _SC_MQ_PRIO_MAX___9 = 28,
    _SC_VERSION___9 = 29,
    _SC_PAGESIZE___9 = 30,
    _SC_RTSIG_MAX___9 = 31,
    _SC_SEM_NSEMS_MAX___9 = 32,
    _SC_SEM_VALUE_MAX___9 = 33,
    _SC_SIGQUEUE_MAX___9 = 34,
    _SC_TIMER_MAX___9 = 35,
    _SC_BC_BASE_MAX___9 = 36,
    _SC_BC_DIM_MAX___9 = 37,
    _SC_BC_SCALE_MAX___9 = 38,
    _SC_BC_STRING_MAX___9 = 39,
    _SC_COLL_WEIGHTS_MAX___9 = 40,
    _SC_EQUIV_CLASS_MAX___9 = 41,
    _SC_EXPR_NEST_MAX___9 = 42,
    _SC_LINE_MAX___9 = 43,
    _SC_RE_DUP_MAX___9 = 44,
    _SC_CHARCLASS_NAME_MAX___9 = 45,
    _SC_2_VERSION___9 = 46,
    _SC_2_C_BIND___9 = 47,
    _SC_2_C_DEV___9 = 48,
    _SC_2_FORT_DEV___9 = 49,
    _SC_2_FORT_RUN___9 = 50,
    _SC_2_SW_DEV___9 = 51,
    _SC_2_LOCALEDEF___9 = 52,
    _SC_PII___9 = 53,
    _SC_PII_XTI___9 = 54,
    _SC_PII_SOCKET___9 = 55,
    _SC_PII_INTERNET___9 = 56,
    _SC_PII_OSI___9 = 57,
    _SC_POLL___9 = 58,
    _SC_SELECT___9 = 59,
    _SC_UIO_MAXIOV___9 = 60,
    _SC_IOV_MAX___9 = 60,
    _SC_PII_INTERNET_STREAM___9 = 61,
    _SC_PII_INTERNET_DGRAM___9 = 62,
    _SC_PII_OSI_COTS___9 = 63,
    _SC_PII_OSI_CLTS___9 = 64,
    _SC_PII_OSI_M___9 = 65,
    _SC_T_IOV_MAX___9 = 66,
    _SC_THREADS___9 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___9 = 68,
    _SC_GETGR_R_SIZE_MAX___9 = 69,
    _SC_GETPW_R_SIZE_MAX___9 = 70,
    _SC_LOGIN_NAME_MAX___9 = 71,
    _SC_TTY_NAME_MAX___9 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___9 = 73,
    _SC_THREAD_KEYS_MAX___9 = 74,
    _SC_THREAD_STACK_MIN___9 = 75,
    _SC_THREAD_THREADS_MAX___9 = 76,
    _SC_THREAD_ATTR_STACKADDR___9 = 77,
    _SC_THREAD_ATTR_STACKSIZE___9 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___9 = 79,
    _SC_THREAD_PRIO_INHERIT___9 = 80,
    _SC_THREAD_PRIO_PROTECT___9 = 81,
    _SC_THREAD_PROCESS_SHARED___9 = 82,
    _SC_NPROCESSORS_CONF___9 = 83,
    _SC_NPROCESSORS_ONLN___9 = 84,
    _SC_PHYS_PAGES___9 = 85,
    _SC_AVPHYS_PAGES___9 = 86,
    _SC_ATEXIT_MAX___9 = 87,
    _SC_PASS_MAX___9 = 88,
    _SC_XOPEN_VERSION___9 = 89,
    _SC_XOPEN_XCU_VERSION___9 = 90,
    _SC_XOPEN_UNIX___9 = 91,
    _SC_XOPEN_CRYPT___9 = 92,
    _SC_XOPEN_ENH_I18N___9 = 93,
    _SC_XOPEN_SHM___9 = 94,
    _SC_2_CHAR_TERM___9 = 95,
    _SC_2_C_VERSION___9 = 96,
    _SC_2_UPE___9 = 97,
    _SC_XOPEN_XPG2___9 = 98,
    _SC_XOPEN_XPG3___9 = 99,
    _SC_XOPEN_XPG4___9 = 100,
    _SC_CHAR_BIT___9 = 101,
    _SC_CHAR_MAX___9 = 102,
    _SC_CHAR_MIN___9 = 103,
    _SC_INT_MAX___9 = 104,
    _SC_INT_MIN___9 = 105,
    _SC_LONG_BIT___9 = 106,
    _SC_WORD_BIT___9 = 107,
    _SC_MB_LEN_MAX___9 = 108,
    _SC_NZERO___9 = 109,
    _SC_SSIZE_MAX___9 = 110,
    _SC_SCHAR_MAX___9 = 111,
    _SC_SCHAR_MIN___9 = 112,
    _SC_SHRT_MAX___9 = 113,
    _SC_SHRT_MIN___9 = 114,
    _SC_UCHAR_MAX___9 = 115,
    _SC_UINT_MAX___9 = 116,
    _SC_ULONG_MAX___9 = 117,
    _SC_USHRT_MAX___9 = 118,
    _SC_NL_ARGMAX___9 = 119,
    _SC_NL_LANGMAX___9 = 120,
    _SC_NL_MSGMAX___9 = 121,
    _SC_NL_NMAX___9 = 122,
    _SC_NL_SETMAX___9 = 123,
    _SC_NL_TEXTMAX___9 = 124,
    _SC_XBS5_ILP32_OFF32___9 = 125,
    _SC_XBS5_ILP32_OFFBIG___9 = 126,
    _SC_XBS5_LP64_OFF64___9 = 127,
    _SC_XBS5_LPBIG_OFFBIG___9 = 128,
    _SC_XOPEN_LEGACY___9 = 129,
    _SC_XOPEN_REALTIME___9 = 130,
    _SC_XOPEN_REALTIME_THREADS___9 = 131,
    _SC_ADVISORY_INFO___9 = 132,
    _SC_BARRIERS___9 = 133,
    _SC_BASE___9 = 134,
    _SC_C_LANG_SUPPORT___9 = 135,
    _SC_C_LANG_SUPPORT_R___9 = 136,
    _SC_CLOCK_SELECTION___9 = 137,
    _SC_CPUTIME___9 = 138,
    _SC_THREAD_CPUTIME___9 = 139,
    _SC_DEVICE_IO___9 = 140,
    _SC_DEVICE_SPECIFIC___9 = 141,
    _SC_DEVICE_SPECIFIC_R___9 = 142,
    _SC_FD_MGMT___9 = 143,
    _SC_FIFO___9 = 144,
    _SC_PIPE___9 = 145,
    _SC_FILE_ATTRIBUTES___9 = 146,
    _SC_FILE_LOCKING___9 = 147,
    _SC_FILE_SYSTEM___9 = 148,
    _SC_MONOTONIC_CLOCK___9 = 149,
    _SC_MULTI_PROCESS___9 = 150,
    _SC_SINGLE_PROCESS___9 = 151,
    _SC_NETWORKING___9 = 152,
    _SC_READER_WRITER_LOCKS___9 = 153,
    _SC_SPIN_LOCKS___9 = 154,
    _SC_REGEXP___9 = 155,
    _SC_REGEX_VERSION___9 = 156,
    _SC_SHELL___9 = 157,
    _SC_SIGNALS___9 = 158,
    _SC_SPAWN___9 = 159,
    _SC_SPORADIC_SERVER___9 = 160,
    _SC_THREAD_SPORADIC_SERVER___9 = 161,
    _SC_SYSTEM_DATABASE___9 = 162,
    _SC_SYSTEM_DATABASE_R___9 = 163,
    _SC_TIMEOUTS___9 = 164,
    _SC_TYPED_MEMORY_OBJECTS___9 = 165,
    _SC_USER_GROUPS___9 = 166,
    _SC_USER_GROUPS_R___9 = 167,
    _SC_2_PBS___9 = 168,
    _SC_2_PBS_ACCOUNTING___9 = 169,
    _SC_2_PBS_LOCATE___9 = 170,
    _SC_2_PBS_MESSAGE___9 = 171,
    _SC_2_PBS_TRACK___9 = 172,
    _SC_SYMLOOP_MAX___9 = 173,
    _SC_STREAMS___9 = 174,
    _SC_2_PBS_CHECKPOINT___9 = 175,
    _SC_V6_ILP32_OFF32___9 = 176,
    _SC_V6_ILP32_OFFBIG___9 = 177,
    _SC_V6_LP64_OFF64___9 = 178,
    _SC_V6_LPBIG_OFFBIG___9 = 179,
    _SC_HOST_NAME_MAX___9 = 180,
    _SC_TRACE___9 = 181,
    _SC_TRACE_EVENT_FILTER___9 = 182,
    _SC_TRACE_INHERIT___9 = 183,
    _SC_TRACE_LOG___9 = 184,
    _SC_LEVEL1_ICACHE_SIZE___9 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___9 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___9 = 187,
    _SC_LEVEL1_DCACHE_SIZE___9 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___9 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___9 = 190,
    _SC_LEVEL2_CACHE_SIZE___9 = 191,
    _SC_LEVEL2_CACHE_ASSOC___9 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___9 = 193,
    _SC_LEVEL3_CACHE_SIZE___9 = 194,
    _SC_LEVEL3_CACHE_ASSOC___9 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___9 = 196,
    _SC_LEVEL4_CACHE_SIZE___9 = 197,
    _SC_LEVEL4_CACHE_ASSOC___9 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___9 = 199,
    _SC_IPV6___9 = 235,
    _SC_RAW_SOCKETS___9 = 236,
    _SC_V7_ILP32_OFF32___9 = 237,
    _SC_V7_ILP32_OFFBIG___9 = 238,
    _SC_V7_LP64_OFF64___9 = 239,
    _SC_V7_LPBIG_OFFBIG___9 = 240,
    _SC_SS_REPL_MAX___9 = 241,
    _SC_TRACE_EVENT_NAME_MAX___9 = 242,
    _SC_TRACE_NAME_MAX___9 = 243,
    _SC_TRACE_SYS_MAX___9 = 244,
    _SC_TRACE_USER_EVENT_MAX___9 = 245,
    _SC_XOPEN_STREAMS___9 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___9 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___9 = 248
} ;
enum __anonenum_875524036___9 {
    _CS_PATH___9 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___9 = 1,
    _CS_GNU_LIBC_VERSION___9 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___9 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___9 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___9 = 5,
    _CS_LFS_CFLAGS___9 = 1000,
    _CS_LFS_LDFLAGS___9 = 1001,
    _CS_LFS_LIBS___9 = 1002,
    _CS_LFS_LINTFLAGS___9 = 1003,
    _CS_LFS64_CFLAGS___9 = 1004,
    _CS_LFS64_LDFLAGS___9 = 1005,
    _CS_LFS64_LIBS___9 = 1006,
    _CS_LFS64_LINTFLAGS___9 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___9 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___9 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___9 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___9 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___9 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___9 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___9 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___9 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___9 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___9 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___9 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___9 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___9 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___9 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___9 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___9 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___9 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___9 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___9 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___9 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___9 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___9 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___9 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___9 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___9 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___9 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___9 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___9 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___9 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___9 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___9 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___9 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___9 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___9 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___9 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___9 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___9 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___9 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___9 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___9 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___9 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___9 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___9 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___9 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___9 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___9 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___9 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___9 = 1147,
    _CS_V6_ENV___9 = 1148,
    _CS_V7_ENV___9 = 1149
} ;
enum __anonenum_513775621___9 {
    DT_UNKNOWN___9 = 0,
    DT_FIFO___9 = 1,
    DT_CHR___9 = 2,
    DT_DIR___9 = 4,
    DT_BLK___9 = 6,
    DT_REG___9 = 8,
    DT_LNK___9 = 10,
    DT_SOCK___9 = 12,
    DT_WHT___9 = 14
} ;
enum __anonenum_77002343___9 {
    SI_ASYNCNL___9 = -60,
    SI_TKILL___9 = -6,
    SI_SIGIO___9 = -5,
    SI_ASYNCIO___9 = -4,
    SI_MESGQ___9 = -3,
    SI_TIMER___9 = -2,
    SI_QUEUE___9 = -1,
    SI_USER___9 = 0,
    SI_KERNEL___9 = 128
} ;
enum __anonenum_131038172___9 {
    ILL_ILLOPC___9 = 1,
    ILL_ILLOPN___9 = 2,
    ILL_ILLADR___9 = 3,
    ILL_ILLTRP___9 = 4,
    ILL_PRVOPC___9 = 5,
    ILL_PRVREG___9 = 6,
    ILL_COPROC___9 = 7,
    ILL_BADSTK___9 = 8
} ;
enum __anonenum_452038093___9 {
    FPE_INTDIV___9 = 1,
    FPE_INTOVF___9 = 2,
    FPE_FLTDIV___9 = 3,
    FPE_FLTOVF___9 = 4,
    FPE_FLTUND___9 = 5,
    FPE_FLTRES___9 = 6,
    FPE_FLTINV___9 = 7,
    FPE_FLTSUB___9 = 8
} ;
enum __anonenum_30976155___9 {
    SEGV_MAPERR___9 = 1,
    SEGV_ACCERR___9 = 2,
    SEGV_BNDERR___9 = 3,
    SEGV_PKUERR___9 = 4
} ;
enum __anonenum_1036286214___9 {
    BUS_ADRALN___9 = 1,
    BUS_ADRERR___9 = 2,
    BUS_OBJERR___9 = 3,
    BUS_MCEERR_AR___9 = 4,
    BUS_MCEERR_AO___9 = 5
} ;
enum __anonenum_493465559___9 {
    TRAP_BRKPT___9 = 1,
    TRAP_TRACE___9 = 2
} ;
enum __anonenum_23175539___9 {
    CLD_EXITED___9 = 1,
    CLD_KILLED___9 = 2,
    CLD_DUMPED___9 = 3,
    CLD_TRAPPED___9 = 4,
    CLD_STOPPED___9 = 5,
    CLD_CONTINUED___9 = 6
} ;
enum __anonenum_111643124___9 {
    POLL_IN___9 = 1,
    POLL_OUT___9 = 2,
    POLL_MSG___9 = 3,
    POLL_ERR___9 = 4,
    POLL_PRI___9 = 5,
    POLL_HUP___9 = 6
} ;
enum __anonenum_852341087___9 {
    SIGEV_SIGNAL___9 = 0,
    SIGEV_NONE___9 = 1,
    SIGEV_THREAD___9 = 2,
    SIGEV_THREAD_ID___9 = 4
} ;
enum __anonenum_451154152___9 {
    REG_R8___9 = 0,
    REG_R9___9 = 1,
    REG_R10___9 = 2,
    REG_R11___9 = 3,
    REG_R12___9 = 4,
    REG_R13___9 = 5,
    REG_R14___9 = 6,
    REG_R15___9 = 7,
    REG_RDI___9 = 8,
    REG_RSI___9 = 9,
    REG_RBP___9 = 10,
    REG_RBX___9 = 11,
    REG_RDX___9 = 12,
    REG_RAX___9 = 13,
    REG_RCX___9 = 14,
    REG_RSP___9 = 15,
    REG_RIP___9 = 16,
    REG_EFL___9 = 17,
    REG_CSGSFS___9 = 18,
    REG_ERR___9 = 19,
    REG_TRAPNO___9 = 20,
    REG_OLDMASK___9 = 21,
    REG_CR2___9 = 22
} ;
enum __anonenum_57186863___9 {
    SS_ONSTACK___9 = 1,
    SS_DISABLE___9 = 2
} ;
enum __anonenum_83571709___9 {
    MSG_OOB___9 = 1,
    MSG_PEEK___9 = 2,
    MSG_DONTROUTE___9 = 4,
    MSG_TRYHARD___9 = 4,
    MSG_CTRUNC___9 = 8,
    MSG_PROXY___9 = 16,
    MSG_TRUNC___9 = 32,
    MSG_DONTWAIT___9 = 64,
    MSG_EOR___9 = 128,
    MSG_WAITALL___9 = 256,
    MSG_FIN___9 = 512,
    MSG_SYN___9 = 1024,
    MSG_CONFIRM___9 = 2048,
    MSG_RST___9 = 4096,
    MSG_ERRQUEUE___9 = 8192,
    MSG_NOSIGNAL___9 = 16384,
    MSG_MORE___9 = 32768,
    MSG_WAITFORONE___9 = 65536,
    MSG_BATCH___9 = 262144,
    MSG_ZEROCOPY___9 = 67108864,
    MSG_FASTOPEN___9 = 536870912,
    MSG_CMSG_CLOEXEC___9 = 1073741824
} ;
enum __anonenum_617082774___9 {
    SCM_RIGHTS___9 = 1,
    SCM_CREDENTIALS___9 = 2
} ;
enum __anonenum_606441560___9 {
    SHUT_RD___9 = 0,
    SHUT_WR___9 = 1,
    SHUT_RDWR___9 = 2
} ;
enum __anonenum_681669233___9 {
    IPPROTO_IP___9 = 0,
    IPPROTO_ICMP___9 = 1,
    IPPROTO_IGMP___9 = 2,
    IPPROTO_IPIP___9 = 4,
    IPPROTO_TCP___9 = 6,
    IPPROTO_EGP___9 = 8,
    IPPROTO_PUP___9 = 12,
    IPPROTO_UDP___9 = 17,
    IPPROTO_IDP___9 = 22,
    IPPROTO_TP___9 = 29,
    IPPROTO_DCCP___9 = 33,
    IPPROTO_IPV6___9 = 41,
    IPPROTO_RSVP___9 = 46,
    IPPROTO_GRE___9 = 47,
    IPPROTO_ESP___9 = 50,
    IPPROTO_AH___9 = 51,
    IPPROTO_MTP___9 = 92,
    IPPROTO_BEETPH___9 = 94,
    IPPROTO_ENCAP___9 = 98,
    IPPROTO_PIM___9 = 103,
    IPPROTO_COMP___9 = 108,
    IPPROTO_SCTP___9 = 132,
    IPPROTO_UDPLITE___9 = 136,
    IPPROTO_MPLS___9 = 137,
    IPPROTO_RAW___9 = 255,
    IPPROTO_MAX___9 = 256
} ;
enum __anonenum_218739988___9 {
    IPPROTO_HOPOPTS___9 = 0,
    IPPROTO_ROUTING___9 = 43,
    IPPROTO_FRAGMENT___9 = 44,
    IPPROTO_ICMPV6___9 = 58,
    IPPROTO_NONE___9 = 59,
    IPPROTO_DSTOPTS___9 = 60,
    IPPROTO_MH___9 = 135
} ;
enum __anonenum_662268580___9 {
    IPPORT_ECHO___9 = 7,
    IPPORT_DISCARD___9 = 9,
    IPPORT_SYSTAT___9 = 11,
    IPPORT_DAYTIME___9 = 13,
    IPPORT_NETSTAT___9 = 15,
    IPPORT_FTP___9 = 21,
    IPPORT_TELNET___9 = 23,
    IPPORT_SMTP___9 = 25,
    IPPORT_TIMESERVER___9 = 37,
    IPPORT_NAMESERVER___9 = 42,
    IPPORT_WHOIS___9 = 43,
    IPPORT_MTP___9 = 57,
    IPPORT_TFTP___9 = 69,
    IPPORT_RJE___9 = 77,
    IPPORT_FINGER___9 = 79,
    IPPORT_TTYLINK___9 = 87,
    IPPORT_SUPDUP___9 = 95,
    IPPORT_EXECSERVER___9 = 512,
    IPPORT_LOGINSERVER___9 = 513,
    IPPORT_CMDSERVER___9 = 514,
    IPPORT_EFSSERVER___9 = 520,
    IPPORT_BIFFUDP___9 = 512,
    IPPORT_WHOSERVER___9 = 513,
    IPPORT_ROUTESERVER___9 = 520,
    IPPORT_RESERVED___9 = 1024,
    IPPORT_USERRESERVED___9 = 5000
} ;
enum __anonenum_788308992___9 {
    TCP_ESTABLISHED___9 = 1,
    TCP_SYN_SENT___9 = 2,
    TCP_SYN_RECV___9 = 3,
    TCP_FIN_WAIT1___9 = 4,
    TCP_FIN_WAIT2___9 = 5,
    TCP_TIME_WAIT___9 = 6,
    TCP_CLOSE___9 = 7,
    TCP_CLOSE_WAIT___9 = 8,
    TCP_LAST_ACK___9 = 9,
    TCP_LISTEN___9 = 10,
    TCP_CLOSING___9 = 11
} ;
enum __anonenum_221125648___9 {
    TCP_NO_QUEUE___9 = 0,
    TCP_RECV_QUEUE___9 = 1,
    TCP_SEND_QUEUE___9 = 2,
    TCP_QUEUES_NR___9 = 3
} ;
enum __anonenum_34415463___9 {
    PTHREAD_CREATE_JOINABLE___9 = 0,
    PTHREAD_CREATE_DETACHED___9 = 1
} ;
enum __anonenum_303612439___9 {
    PTHREAD_MUTEX_TIMED_NP___9 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___9 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___9 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___9 = 3,
    PTHREAD_MUTEX_NORMAL___9 = 0,
    PTHREAD_MUTEX_RECURSIVE___9 = 1,
    PTHREAD_MUTEX_ERRORCHECK___9 = 2,
    PTHREAD_MUTEX_DEFAULT___9 = 0,
    PTHREAD_MUTEX_FAST_NP___9 = 0
} ;
enum __anonenum_931900394___9 {
    PTHREAD_MUTEX_STALLED___9 = 0,
    PTHREAD_MUTEX_STALLED_NP___9 = 0,
    PTHREAD_MUTEX_ROBUST___9 = 1,
    PTHREAD_MUTEX_ROBUST_NP___9 = 1
} ;
enum __anonenum_205214487___9 {
    PTHREAD_PRIO_NONE___9 = 0,
    PTHREAD_PRIO_INHERIT___9 = 1,
    PTHREAD_PRIO_PROTECT___9 = 2
} ;
enum __anonenum_25043950___9 {
    PTHREAD_RWLOCK_PREFER_READER_NP___9 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___9 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___9 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___9 = 0
} ;
enum __anonenum_436439511___9 {
    PTHREAD_INHERIT_SCHED___9 = 0,
    PTHREAD_EXPLICIT_SCHED___9 = 1
} ;
enum __anonenum_998661166___9 {
    PTHREAD_SCOPE_SYSTEM___9 = 0,
    PTHREAD_SCOPE_PROCESS___9 = 1
} ;
enum __anonenum_146137331___9 {
    PTHREAD_PROCESS_PRIVATE___9 = 0,
    PTHREAD_PROCESS_SHARED___9 = 1
} ;
enum __anonenum_53396917___9 {
    PTHREAD_CANCEL_ENABLE___9 = 0,
    PTHREAD_CANCEL_DISABLE___9 = 1
} ;
enum __anonenum_904563783___9 {
    PTHREAD_CANCEL_DEFERRED___9 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___9 = 1
} ;
enum __anonenum_672052974___9 {
    SSL_CT_VALIDATION_PERMISSIVE___9 = 0,
    SSL_CT_VALIDATION_STRICT___9 = 1
} ;
struct blob {
   struct object object ;
};
struct tag {
   struct object object ;
   struct object *tagged ;
   char *tag ;
   timestamp_t date ;
};
union any_object {
   struct object object ;
   struct blob blob ;
   struct tree tree ;
   struct commit commit ;
   struct tag tag ;
};
struct alloc_state {
   int count ;
   int nr ;
   void *p ;
   void **slabs ;
   int slab_nr ;
   int slab_alloc ;
};
enum __anonenum_437032235___10 {
    _PC_LINK_MAX___10 = 0,
    _PC_MAX_CANON___10 = 1,
    _PC_MAX_INPUT___10 = 2,
    _PC_NAME_MAX___10 = 3,
    _PC_PATH_MAX___10 = 4,
    _PC_PIPE_BUF___10 = 5,
    _PC_CHOWN_RESTRICTED___10 = 6,
    _PC_NO_TRUNC___10 = 7,
    _PC_VDISABLE___10 = 8,
    _PC_SYNC_IO___10 = 9,
    _PC_ASYNC_IO___10 = 10,
    _PC_PRIO_IO___10 = 11,
    _PC_SOCK_MAXBUF___10 = 12,
    _PC_FILESIZEBITS___10 = 13,
    _PC_REC_INCR_XFER_SIZE___10 = 14,
    _PC_REC_MAX_XFER_SIZE___10 = 15,
    _PC_REC_MIN_XFER_SIZE___10 = 16,
    _PC_REC_XFER_ALIGN___10 = 17,
    _PC_ALLOC_SIZE_MIN___10 = 18,
    _PC_SYMLINK_MAX___10 = 19,
    _PC_2_SYMLINKS___10 = 20
} ;
enum __anonenum_315186338___10 {
    _SC_ARG_MAX___10 = 0,
    _SC_CHILD_MAX___10 = 1,
    _SC_CLK_TCK___10 = 2,
    _SC_NGROUPS_MAX___10 = 3,
    _SC_OPEN_MAX___10 = 4,
    _SC_STREAM_MAX___10 = 5,
    _SC_TZNAME_MAX___10 = 6,
    _SC_JOB_CONTROL___10 = 7,
    _SC_SAVED_IDS___10 = 8,
    _SC_REALTIME_SIGNALS___10 = 9,
    _SC_PRIORITY_SCHEDULING___10 = 10,
    _SC_TIMERS___10 = 11,
    _SC_ASYNCHRONOUS_IO___10 = 12,
    _SC_PRIORITIZED_IO___10 = 13,
    _SC_SYNCHRONIZED_IO___10 = 14,
    _SC_FSYNC___10 = 15,
    _SC_MAPPED_FILES___10 = 16,
    _SC_MEMLOCK___10 = 17,
    _SC_MEMLOCK_RANGE___10 = 18,
    _SC_MEMORY_PROTECTION___10 = 19,
    _SC_MESSAGE_PASSING___10 = 20,
    _SC_SEMAPHORES___10 = 21,
    _SC_SHARED_MEMORY_OBJECTS___10 = 22,
    _SC_AIO_LISTIO_MAX___10 = 23,
    _SC_AIO_MAX___10 = 24,
    _SC_AIO_PRIO_DELTA_MAX___10 = 25,
    _SC_DELAYTIMER_MAX___10 = 26,
    _SC_MQ_OPEN_MAX___10 = 27,
    _SC_MQ_PRIO_MAX___10 = 28,
    _SC_VERSION___10 = 29,
    _SC_PAGESIZE___10 = 30,
    _SC_RTSIG_MAX___10 = 31,
    _SC_SEM_NSEMS_MAX___10 = 32,
    _SC_SEM_VALUE_MAX___10 = 33,
    _SC_SIGQUEUE_MAX___10 = 34,
    _SC_TIMER_MAX___10 = 35,
    _SC_BC_BASE_MAX___10 = 36,
    _SC_BC_DIM_MAX___10 = 37,
    _SC_BC_SCALE_MAX___10 = 38,
    _SC_BC_STRING_MAX___10 = 39,
    _SC_COLL_WEIGHTS_MAX___10 = 40,
    _SC_EQUIV_CLASS_MAX___10 = 41,
    _SC_EXPR_NEST_MAX___10 = 42,
    _SC_LINE_MAX___10 = 43,
    _SC_RE_DUP_MAX___10 = 44,
    _SC_CHARCLASS_NAME_MAX___10 = 45,
    _SC_2_VERSION___10 = 46,
    _SC_2_C_BIND___10 = 47,
    _SC_2_C_DEV___10 = 48,
    _SC_2_FORT_DEV___10 = 49,
    _SC_2_FORT_RUN___10 = 50,
    _SC_2_SW_DEV___10 = 51,
    _SC_2_LOCALEDEF___10 = 52,
    _SC_PII___10 = 53,
    _SC_PII_XTI___10 = 54,
    _SC_PII_SOCKET___10 = 55,
    _SC_PII_INTERNET___10 = 56,
    _SC_PII_OSI___10 = 57,
    _SC_POLL___10 = 58,
    _SC_SELECT___10 = 59,
    _SC_UIO_MAXIOV___10 = 60,
    _SC_IOV_MAX___10 = 60,
    _SC_PII_INTERNET_STREAM___10 = 61,
    _SC_PII_INTERNET_DGRAM___10 = 62,
    _SC_PII_OSI_COTS___10 = 63,
    _SC_PII_OSI_CLTS___10 = 64,
    _SC_PII_OSI_M___10 = 65,
    _SC_T_IOV_MAX___10 = 66,
    _SC_THREADS___10 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___10 = 68,
    _SC_GETGR_R_SIZE_MAX___10 = 69,
    _SC_GETPW_R_SIZE_MAX___10 = 70,
    _SC_LOGIN_NAME_MAX___10 = 71,
    _SC_TTY_NAME_MAX___10 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___10 = 73,
    _SC_THREAD_KEYS_MAX___10 = 74,
    _SC_THREAD_STACK_MIN___10 = 75,
    _SC_THREAD_THREADS_MAX___10 = 76,
    _SC_THREAD_ATTR_STACKADDR___10 = 77,
    _SC_THREAD_ATTR_STACKSIZE___10 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___10 = 79,
    _SC_THREAD_PRIO_INHERIT___10 = 80,
    _SC_THREAD_PRIO_PROTECT___10 = 81,
    _SC_THREAD_PROCESS_SHARED___10 = 82,
    _SC_NPROCESSORS_CONF___10 = 83,
    _SC_NPROCESSORS_ONLN___10 = 84,
    _SC_PHYS_PAGES___10 = 85,
    _SC_AVPHYS_PAGES___10 = 86,
    _SC_ATEXIT_MAX___10 = 87,
    _SC_PASS_MAX___10 = 88,
    _SC_XOPEN_VERSION___10 = 89,
    _SC_XOPEN_XCU_VERSION___10 = 90,
    _SC_XOPEN_UNIX___10 = 91,
    _SC_XOPEN_CRYPT___10 = 92,
    _SC_XOPEN_ENH_I18N___10 = 93,
    _SC_XOPEN_SHM___10 = 94,
    _SC_2_CHAR_TERM___10 = 95,
    _SC_2_C_VERSION___10 = 96,
    _SC_2_UPE___10 = 97,
    _SC_XOPEN_XPG2___10 = 98,
    _SC_XOPEN_XPG3___10 = 99,
    _SC_XOPEN_XPG4___10 = 100,
    _SC_CHAR_BIT___10 = 101,
    _SC_CHAR_MAX___10 = 102,
    _SC_CHAR_MIN___10 = 103,
    _SC_INT_MAX___10 = 104,
    _SC_INT_MIN___10 = 105,
    _SC_LONG_BIT___10 = 106,
    _SC_WORD_BIT___10 = 107,
    _SC_MB_LEN_MAX___10 = 108,
    _SC_NZERO___10 = 109,
    _SC_SSIZE_MAX___10 = 110,
    _SC_SCHAR_MAX___10 = 111,
    _SC_SCHAR_MIN___10 = 112,
    _SC_SHRT_MAX___10 = 113,
    _SC_SHRT_MIN___10 = 114,
    _SC_UCHAR_MAX___10 = 115,
    _SC_UINT_MAX___10 = 116,
    _SC_ULONG_MAX___10 = 117,
    _SC_USHRT_MAX___10 = 118,
    _SC_NL_ARGMAX___10 = 119,
    _SC_NL_LANGMAX___10 = 120,
    _SC_NL_MSGMAX___10 = 121,
    _SC_NL_NMAX___10 = 122,
    _SC_NL_SETMAX___10 = 123,
    _SC_NL_TEXTMAX___10 = 124,
    _SC_XBS5_ILP32_OFF32___10 = 125,
    _SC_XBS5_ILP32_OFFBIG___10 = 126,
    _SC_XBS5_LP64_OFF64___10 = 127,
    _SC_XBS5_LPBIG_OFFBIG___10 = 128,
    _SC_XOPEN_LEGACY___10 = 129,
    _SC_XOPEN_REALTIME___10 = 130,
    _SC_XOPEN_REALTIME_THREADS___10 = 131,
    _SC_ADVISORY_INFO___10 = 132,
    _SC_BARRIERS___10 = 133,
    _SC_BASE___10 = 134,
    _SC_C_LANG_SUPPORT___10 = 135,
    _SC_C_LANG_SUPPORT_R___10 = 136,
    _SC_CLOCK_SELECTION___10 = 137,
    _SC_CPUTIME___10 = 138,
    _SC_THREAD_CPUTIME___10 = 139,
    _SC_DEVICE_IO___10 = 140,
    _SC_DEVICE_SPECIFIC___10 = 141,
    _SC_DEVICE_SPECIFIC_R___10 = 142,
    _SC_FD_MGMT___10 = 143,
    _SC_FIFO___10 = 144,
    _SC_PIPE___10 = 145,
    _SC_FILE_ATTRIBUTES___10 = 146,
    _SC_FILE_LOCKING___10 = 147,
    _SC_FILE_SYSTEM___10 = 148,
    _SC_MONOTONIC_CLOCK___10 = 149,
    _SC_MULTI_PROCESS___10 = 150,
    _SC_SINGLE_PROCESS___10 = 151,
    _SC_NETWORKING___10 = 152,
    _SC_READER_WRITER_LOCKS___10 = 153,
    _SC_SPIN_LOCKS___10 = 154,
    _SC_REGEXP___10 = 155,
    _SC_REGEX_VERSION___10 = 156,
    _SC_SHELL___10 = 157,
    _SC_SIGNALS___10 = 158,
    _SC_SPAWN___10 = 159,
    _SC_SPORADIC_SERVER___10 = 160,
    _SC_THREAD_SPORADIC_SERVER___10 = 161,
    _SC_SYSTEM_DATABASE___10 = 162,
    _SC_SYSTEM_DATABASE_R___10 = 163,
    _SC_TIMEOUTS___10 = 164,
    _SC_TYPED_MEMORY_OBJECTS___10 = 165,
    _SC_USER_GROUPS___10 = 166,
    _SC_USER_GROUPS_R___10 = 167,
    _SC_2_PBS___10 = 168,
    _SC_2_PBS_ACCOUNTING___10 = 169,
    _SC_2_PBS_LOCATE___10 = 170,
    _SC_2_PBS_MESSAGE___10 = 171,
    _SC_2_PBS_TRACK___10 = 172,
    _SC_SYMLOOP_MAX___10 = 173,
    _SC_STREAMS___10 = 174,
    _SC_2_PBS_CHECKPOINT___10 = 175,
    _SC_V6_ILP32_OFF32___10 = 176,
    _SC_V6_ILP32_OFFBIG___10 = 177,
    _SC_V6_LP64_OFF64___10 = 178,
    _SC_V6_LPBIG_OFFBIG___10 = 179,
    _SC_HOST_NAME_MAX___10 = 180,
    _SC_TRACE___10 = 181,
    _SC_TRACE_EVENT_FILTER___10 = 182,
    _SC_TRACE_INHERIT___10 = 183,
    _SC_TRACE_LOG___10 = 184,
    _SC_LEVEL1_ICACHE_SIZE___10 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___10 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___10 = 187,
    _SC_LEVEL1_DCACHE_SIZE___10 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___10 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___10 = 190,
    _SC_LEVEL2_CACHE_SIZE___10 = 191,
    _SC_LEVEL2_CACHE_ASSOC___10 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___10 = 193,
    _SC_LEVEL3_CACHE_SIZE___10 = 194,
    _SC_LEVEL3_CACHE_ASSOC___10 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___10 = 196,
    _SC_LEVEL4_CACHE_SIZE___10 = 197,
    _SC_LEVEL4_CACHE_ASSOC___10 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___10 = 199,
    _SC_IPV6___10 = 235,
    _SC_RAW_SOCKETS___10 = 236,
    _SC_V7_ILP32_OFF32___10 = 237,
    _SC_V7_ILP32_OFFBIG___10 = 238,
    _SC_V7_LP64_OFF64___10 = 239,
    _SC_V7_LPBIG_OFFBIG___10 = 240,
    _SC_SS_REPL_MAX___10 = 241,
    _SC_TRACE_EVENT_NAME_MAX___10 = 242,
    _SC_TRACE_NAME_MAX___10 = 243,
    _SC_TRACE_SYS_MAX___10 = 244,
    _SC_TRACE_USER_EVENT_MAX___10 = 245,
    _SC_XOPEN_STREAMS___10 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___10 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___10 = 248
} ;
enum __anonenum_875524036___10 {
    _CS_PATH___10 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___10 = 1,
    _CS_GNU_LIBC_VERSION___10 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___10 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___10 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___10 = 5,
    _CS_LFS_CFLAGS___10 = 1000,
    _CS_LFS_LDFLAGS___10 = 1001,
    _CS_LFS_LIBS___10 = 1002,
    _CS_LFS_LINTFLAGS___10 = 1003,
    _CS_LFS64_CFLAGS___10 = 1004,
    _CS_LFS64_LDFLAGS___10 = 1005,
    _CS_LFS64_LIBS___10 = 1006,
    _CS_LFS64_LINTFLAGS___10 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___10 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___10 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___10 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___10 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___10 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___10 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___10 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___10 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___10 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___10 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___10 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___10 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___10 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___10 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___10 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___10 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___10 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___10 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___10 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___10 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___10 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___10 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___10 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___10 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___10 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___10 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___10 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___10 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___10 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___10 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___10 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___10 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___10 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___10 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___10 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___10 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___10 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___10 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___10 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___10 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___10 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___10 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___10 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___10 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___10 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___10 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___10 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___10 = 1147,
    _CS_V6_ENV___10 = 1148,
    _CS_V7_ENV___10 = 1149
} ;
enum __anonenum_513775621___10 {
    DT_UNKNOWN___10 = 0,
    DT_FIFO___10 = 1,
    DT_CHR___10 = 2,
    DT_DIR___10 = 4,
    DT_BLK___10 = 6,
    DT_REG___10 = 8,
    DT_LNK___10 = 10,
    DT_SOCK___10 = 12,
    DT_WHT___10 = 14
} ;
enum __anonenum_77002343___10 {
    SI_ASYNCNL___10 = -60,
    SI_TKILL___10 = -6,
    SI_SIGIO___10 = -5,
    SI_ASYNCIO___10 = -4,
    SI_MESGQ___10 = -3,
    SI_TIMER___10 = -2,
    SI_QUEUE___10 = -1,
    SI_USER___10 = 0,
    SI_KERNEL___10 = 128
} ;
enum __anonenum_131038172___10 {
    ILL_ILLOPC___10 = 1,
    ILL_ILLOPN___10 = 2,
    ILL_ILLADR___10 = 3,
    ILL_ILLTRP___10 = 4,
    ILL_PRVOPC___10 = 5,
    ILL_PRVREG___10 = 6,
    ILL_COPROC___10 = 7,
    ILL_BADSTK___10 = 8
} ;
enum __anonenum_452038093___10 {
    FPE_INTDIV___10 = 1,
    FPE_INTOVF___10 = 2,
    FPE_FLTDIV___10 = 3,
    FPE_FLTOVF___10 = 4,
    FPE_FLTUND___10 = 5,
    FPE_FLTRES___10 = 6,
    FPE_FLTINV___10 = 7,
    FPE_FLTSUB___10 = 8
} ;
enum __anonenum_30976155___10 {
    SEGV_MAPERR___10 = 1,
    SEGV_ACCERR___10 = 2,
    SEGV_BNDERR___10 = 3,
    SEGV_PKUERR___10 = 4
} ;
enum __anonenum_1036286214___10 {
    BUS_ADRALN___10 = 1,
    BUS_ADRERR___10 = 2,
    BUS_OBJERR___10 = 3,
    BUS_MCEERR_AR___10 = 4,
    BUS_MCEERR_AO___10 = 5
} ;
enum __anonenum_493465559___10 {
    TRAP_BRKPT___10 = 1,
    TRAP_TRACE___10 = 2
} ;
enum __anonenum_23175539___10 {
    CLD_EXITED___10 = 1,
    CLD_KILLED___10 = 2,
    CLD_DUMPED___10 = 3,
    CLD_TRAPPED___10 = 4,
    CLD_STOPPED___10 = 5,
    CLD_CONTINUED___10 = 6
} ;
enum __anonenum_111643124___10 {
    POLL_IN___10 = 1,
    POLL_OUT___10 = 2,
    POLL_MSG___10 = 3,
    POLL_ERR___10 = 4,
    POLL_PRI___10 = 5,
    POLL_HUP___10 = 6
} ;
enum __anonenum_852341087___10 {
    SIGEV_SIGNAL___10 = 0,
    SIGEV_NONE___10 = 1,
    SIGEV_THREAD___10 = 2,
    SIGEV_THREAD_ID___10 = 4
} ;
enum __anonenum_451154152___10 {
    REG_R8___10 = 0,
    REG_R9___10 = 1,
    REG_R10___10 = 2,
    REG_R11___10 = 3,
    REG_R12___10 = 4,
    REG_R13___10 = 5,
    REG_R14___10 = 6,
    REG_R15___10 = 7,
    REG_RDI___10 = 8,
    REG_RSI___10 = 9,
    REG_RBP___10 = 10,
    REG_RBX___10 = 11,
    REG_RDX___10 = 12,
    REG_RAX___10 = 13,
    REG_RCX___10 = 14,
    REG_RSP___10 = 15,
    REG_RIP___10 = 16,
    REG_EFL___10 = 17,
    REG_CSGSFS___10 = 18,
    REG_ERR___10 = 19,
    REG_TRAPNO___10 = 20,
    REG_OLDMASK___10 = 21,
    REG_CR2___10 = 22
} ;
enum __anonenum_57186863___10 {
    SS_ONSTACK___10 = 1,
    SS_DISABLE___10 = 2
} ;
enum __anonenum_83571709___10 {
    MSG_OOB___10 = 1,
    MSG_PEEK___10 = 2,
    MSG_DONTROUTE___10 = 4,
    MSG_TRYHARD___10 = 4,
    MSG_CTRUNC___10 = 8,
    MSG_PROXY___10 = 16,
    MSG_TRUNC___10 = 32,
    MSG_DONTWAIT___10 = 64,
    MSG_EOR___10 = 128,
    MSG_WAITALL___10 = 256,
    MSG_FIN___10 = 512,
    MSG_SYN___10 = 1024,
    MSG_CONFIRM___10 = 2048,
    MSG_RST___10 = 4096,
    MSG_ERRQUEUE___10 = 8192,
    MSG_NOSIGNAL___10 = 16384,
    MSG_MORE___10 = 32768,
    MSG_WAITFORONE___10 = 65536,
    MSG_BATCH___10 = 262144,
    MSG_ZEROCOPY___10 = 67108864,
    MSG_FASTOPEN___10 = 536870912,
    MSG_CMSG_CLOEXEC___10 = 1073741824
} ;
enum __anonenum_617082774___10 {
    SCM_RIGHTS___10 = 1,
    SCM_CREDENTIALS___10 = 2
} ;
enum __anonenum_606441560___10 {
    SHUT_RD___10 = 0,
    SHUT_WR___10 = 1,
    SHUT_RDWR___10 = 2
} ;
enum __anonenum_681669233___10 {
    IPPROTO_IP___10 = 0,
    IPPROTO_ICMP___10 = 1,
    IPPROTO_IGMP___10 = 2,
    IPPROTO_IPIP___10 = 4,
    IPPROTO_TCP___10 = 6,
    IPPROTO_EGP___10 = 8,
    IPPROTO_PUP___10 = 12,
    IPPROTO_UDP___10 = 17,
    IPPROTO_IDP___10 = 22,
    IPPROTO_TP___10 = 29,
    IPPROTO_DCCP___10 = 33,
    IPPROTO_IPV6___10 = 41,
    IPPROTO_RSVP___10 = 46,
    IPPROTO_GRE___10 = 47,
    IPPROTO_ESP___10 = 50,
    IPPROTO_AH___10 = 51,
    IPPROTO_MTP___10 = 92,
    IPPROTO_BEETPH___10 = 94,
    IPPROTO_ENCAP___10 = 98,
    IPPROTO_PIM___10 = 103,
    IPPROTO_COMP___10 = 108,
    IPPROTO_SCTP___10 = 132,
    IPPROTO_UDPLITE___10 = 136,
    IPPROTO_MPLS___10 = 137,
    IPPROTO_RAW___10 = 255,
    IPPROTO_MAX___10 = 256
} ;
enum __anonenum_218739988___10 {
    IPPROTO_HOPOPTS___10 = 0,
    IPPROTO_ROUTING___10 = 43,
    IPPROTO_FRAGMENT___10 = 44,
    IPPROTO_ICMPV6___10 = 58,
    IPPROTO_NONE___10 = 59,
    IPPROTO_DSTOPTS___10 = 60,
    IPPROTO_MH___10 = 135
} ;
enum __anonenum_662268580___10 {
    IPPORT_ECHO___10 = 7,
    IPPORT_DISCARD___10 = 9,
    IPPORT_SYSTAT___10 = 11,
    IPPORT_DAYTIME___10 = 13,
    IPPORT_NETSTAT___10 = 15,
    IPPORT_FTP___10 = 21,
    IPPORT_TELNET___10 = 23,
    IPPORT_SMTP___10 = 25,
    IPPORT_TIMESERVER___10 = 37,
    IPPORT_NAMESERVER___10 = 42,
    IPPORT_WHOIS___10 = 43,
    IPPORT_MTP___10 = 57,
    IPPORT_TFTP___10 = 69,
    IPPORT_RJE___10 = 77,
    IPPORT_FINGER___10 = 79,
    IPPORT_TTYLINK___10 = 87,
    IPPORT_SUPDUP___10 = 95,
    IPPORT_EXECSERVER___10 = 512,
    IPPORT_LOGINSERVER___10 = 513,
    IPPORT_CMDSERVER___10 = 514,
    IPPORT_EFSSERVER___10 = 520,
    IPPORT_BIFFUDP___10 = 512,
    IPPORT_WHOSERVER___10 = 513,
    IPPORT_ROUTESERVER___10 = 520,
    IPPORT_RESERVED___10 = 1024,
    IPPORT_USERRESERVED___10 = 5000
} ;
enum __anonenum_788308992___10 {
    TCP_ESTABLISHED___10 = 1,
    TCP_SYN_SENT___10 = 2,
    TCP_SYN_RECV___10 = 3,
    TCP_FIN_WAIT1___10 = 4,
    TCP_FIN_WAIT2___10 = 5,
    TCP_TIME_WAIT___10 = 6,
    TCP_CLOSE___10 = 7,
    TCP_CLOSE_WAIT___10 = 8,
    TCP_LAST_ACK___10 = 9,
    TCP_LISTEN___10 = 10,
    TCP_CLOSING___10 = 11
} ;
enum __anonenum_221125648___10 {
    TCP_NO_QUEUE___10 = 0,
    TCP_RECV_QUEUE___10 = 1,
    TCP_SEND_QUEUE___10 = 2,
    TCP_QUEUES_NR___10 = 3
} ;
enum __anonenum_34415463___10 {
    PTHREAD_CREATE_JOINABLE___10 = 0,
    PTHREAD_CREATE_DETACHED___10 = 1
} ;
enum __anonenum_303612439___10 {
    PTHREAD_MUTEX_TIMED_NP___10 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___10 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___10 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___10 = 3,
    PTHREAD_MUTEX_NORMAL___10 = 0,
    PTHREAD_MUTEX_RECURSIVE___10 = 1,
    PTHREAD_MUTEX_ERRORCHECK___10 = 2,
    PTHREAD_MUTEX_DEFAULT___10 = 0,
    PTHREAD_MUTEX_FAST_NP___10 = 0
} ;
enum __anonenum_931900394___10 {
    PTHREAD_MUTEX_STALLED___10 = 0,
    PTHREAD_MUTEX_STALLED_NP___10 = 0,
    PTHREAD_MUTEX_ROBUST___10 = 1,
    PTHREAD_MUTEX_ROBUST_NP___10 = 1
} ;
enum __anonenum_205214487___10 {
    PTHREAD_PRIO_NONE___10 = 0,
    PTHREAD_PRIO_INHERIT___10 = 1,
    PTHREAD_PRIO_PROTECT___10 = 2
} ;
enum __anonenum_25043950___10 {
    PTHREAD_RWLOCK_PREFER_READER_NP___10 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___10 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___10 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___10 = 0
} ;
enum __anonenum_436439511___10 {
    PTHREAD_INHERIT_SCHED___10 = 0,
    PTHREAD_EXPLICIT_SCHED___10 = 1
} ;
enum __anonenum_998661166___10 {
    PTHREAD_SCOPE_SYSTEM___10 = 0,
    PTHREAD_SCOPE_PROCESS___10 = 1
} ;
enum __anonenum_146137331___10 {
    PTHREAD_PROCESS_PRIVATE___10 = 0,
    PTHREAD_PROCESS_SHARED___10 = 1
} ;
enum __anonenum_53396917___10 {
    PTHREAD_CANCEL_ENABLE___10 = 0,
    PTHREAD_CANCEL_DISABLE___10 = 1
} ;
enum __anonenum_904563783___10 {
    PTHREAD_CANCEL_DEFERRED___10 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___10 = 1
} ;
enum __anonenum_672052974___10 {
    SSL_CT_VALIDATION_PERMISSIVE___10 = 0,
    SSL_CT_VALIDATION_STRICT___10 = 1
} ;
struct delta_index ;
struct s_mmfile {
   char *ptr ;
   long size ;
};
typedef struct s_mmfile mmfile_t;
struct s_mmbuffer {
   char *ptr ;
   long size ;
};
typedef struct s_mmbuffer mmbuffer_t;
struct s_xpparam {
   unsigned long flags ;
   regex_t **ignore_regex ;
   size_t ignore_regex_nr ;
   char **anchors ;
   size_t anchors_nr ;
};
typedef struct s_xpparam xpparam_t;
struct s_xdemitcb {
   void *priv ;
   int (*out_hunk)(void * , long old_begin , long old_nr , long new_begin , long new_nr ,
                   char const   *func , long funclen ) ;
   int (*out_line)(void * , mmbuffer_t * , int  ) ;
};
typedef struct s_xdemitcb xdemitcb_t;
typedef long (*find_func_t)(char const   *line , long line_len , char *buffer , long buffer_size ,
                            void *priv );
typedef int (*xdl_emit_hunk_consume_func_t)(long start_a , long count_a , long start_b ,
                                            long count_b , void *cb_data );
struct s_xdemitconf {
   long ctxlen ;
   long interhunkctxlen ;
   unsigned long flags ;
   long (*find_func)(char const   *line , long line_len , char *buffer , long buffer_size ,
                     void *priv ) ;
   void *find_func_priv ;
   int (*hunk_func)(long start_a , long count_a , long start_b , long count_b , void *cb_data ) ;
};
typedef struct s_xdemitconf xdemitconf_t;
struct s_bdiffparam {
   long bsize ;
};
typedef struct s_bdiffparam bdiffparam_t;
struct s_xmparam {
   xpparam_t xpp ;
   int marker_size ;
   int level ;
   int favor ;
   int style ;
   char const   *ancestor ;
   char const   *file1 ;
   char const   *file2 ;
};
typedef struct s_xmparam xmparam_t;
typedef int (*xdiff_emit_line_fn)(void * , char * , unsigned long  );
typedef void (*xdiff_emit_hunk_fn)(void *data , long old_begin , long old_nr , long new_begin ,
                                   long new_nr , char const   *func , long funclen );
struct ll_merge_options {
   unsigned int virtual_ancestor : 1 ;
   unsigned int variant : 2 ;
   unsigned int renormalize : 1 ;
   unsigned int extra_marker_size ;
   long xdl_opts ;
};
struct rerere_dir ;
struct rerere_id {
   struct rerere_dir *collection ;
   int variant ;
};
enum apply_ws_error_action {
    nowarn_ws_error = 0,
    warn_on_ws_error = 1,
    die_on_ws_error = 2,
    correct_ws_error = 3
} ;
enum apply_ws_ignore {
    ignore_ws_none = 0,
    ignore_ws_change = 1
} ;
enum apply_verbosity {
    verbosity_silent = -1,
    verbosity_normal = 0,
    verbosity_verbose = 1
} ;
struct apply_state {
   char const   *prefix ;
   struct lock_file lock_file ;
   int apply ;
   int cached ;
   int check ;
   int check_index ;
   int update_index ;
   int ita_only ;
   int diffstat ;
   int numstat ;
   int summary ;
   int allow_overlap ;
   int apply_in_reverse ;
   int apply_with_reject ;
   int no_add ;
   int threeway ;
   int unidiff_zero ;
   int unsafe_paths ;
   int allow_empty ;
   struct repository *repo ;
   char const   *index_file ;
   enum apply_verbosity apply_verbosity ;
   char const   *fake_ancestor ;
   char const   *patch_input_file ;
   int line_termination ;
   struct strbuf root ;
   int p_value ;
   int p_value_known ;
   unsigned int p_context ;
   struct string_list limit_by_name ;
   int has_include ;
   int linenr ;
   struct string_list symlink_changes ;
   int max_change ;
   int max_len ;
   struct string_list fn_table ;
   void (*saved_error_routine)(char const   *err , va_list params ) ;
   void (*saved_warn_routine)(char const   *warn , va_list params ) ;
   enum apply_ws_error_action ws_error_action ;
   enum apply_ws_ignore ws_ignore_action ;
   char const   *whitespace_option ;
   int whitespace_error ;
   int squelch_whitespace_errors ;
   int applied_after_fixing_ws ;
};
struct fragment ;
struct patch {
   char *new_name ;
   char *old_name ;
   char *def_name ;
   unsigned int old_mode ;
   unsigned int new_mode ;
   int is_new ;
   int is_delete ;
   int rejected ;
   unsigned int ws_rule ;
   int lines_added ;
   int lines_deleted ;
   int score ;
   int extension_linenr ;
   unsigned int is_toplevel_relative : 1 ;
   unsigned int inaccurate_eof : 1 ;
   unsigned int is_binary : 1 ;
   unsigned int is_copy : 1 ;
   unsigned int is_rename : 1 ;
   unsigned int recount : 1 ;
   unsigned int conflicted_threeway : 1 ;
   unsigned int direct_to_threeway : 1 ;
   unsigned int crlf_in_old : 1 ;
   struct fragment *fragments ;
   char *result ;
   size_t resultsize ;
   char old_oid_prefix[65] ;
   char new_oid_prefix[65] ;
   struct patch *next ;
   struct object_id threeway_stage[3] ;
};
struct checkout {
   struct index_state *istate ;
   char const   *base_dir ;
   int base_dir_len ;
   struct delayed_checkout *delayed_checkout ;
   struct checkout_metadata meta ;
   unsigned int force : 1 ;
   unsigned int quiet : 1 ;
   unsigned int not_new : 1 ;
   unsigned int clone : 1 ;
   unsigned int refresh_cache : 1 ;
};
struct gitdiff_data {
   struct strbuf *root ;
   int linenr ;
   int p_value ;
};
struct fragment {
   unsigned long leading ;
   unsigned long trailing ;
   unsigned long oldpos ;
   unsigned long oldlines ;
   unsigned long newpos ;
   unsigned long newlines ;
   char const   *patch ;
   unsigned int free_patch : 1 ;
   unsigned int rejected : 1 ;
   int size ;
   int linenr ;
   struct fragment *next ;
};
struct line {
   size_t len ;
   unsigned int hash : 24 ;
   unsigned int flag : 8 ;
};
struct image {
   char *buf ;
   size_t len ;
   size_t nr ;
   size_t alloc ;
   struct line *line_allocated ;
   struct line *line ;
};
struct opentry {
   char const   *str ;
   int (*fn)(struct gitdiff_data * , char const   * , struct patch * ) ;
};
enum __anonenum_437032235___11 {
    _PC_LINK_MAX___11 = 0,
    _PC_MAX_CANON___11 = 1,
    _PC_MAX_INPUT___11 = 2,
    _PC_NAME_MAX___11 = 3,
    _PC_PATH_MAX___11 = 4,
    _PC_PIPE_BUF___11 = 5,
    _PC_CHOWN_RESTRICTED___11 = 6,
    _PC_NO_TRUNC___11 = 7,
    _PC_VDISABLE___11 = 8,
    _PC_SYNC_IO___11 = 9,
    _PC_ASYNC_IO___11 = 10,
    _PC_PRIO_IO___11 = 11,
    _PC_SOCK_MAXBUF___11 = 12,
    _PC_FILESIZEBITS___11 = 13,
    _PC_REC_INCR_XFER_SIZE___11 = 14,
    _PC_REC_MAX_XFER_SIZE___11 = 15,
    _PC_REC_MIN_XFER_SIZE___11 = 16,
    _PC_REC_XFER_ALIGN___11 = 17,
    _PC_ALLOC_SIZE_MIN___11 = 18,
    _PC_SYMLINK_MAX___11 = 19,
    _PC_2_SYMLINKS___11 = 20
} ;
enum __anonenum_315186338___11 {
    _SC_ARG_MAX___11 = 0,
    _SC_CHILD_MAX___11 = 1,
    _SC_CLK_TCK___11 = 2,
    _SC_NGROUPS_MAX___11 = 3,
    _SC_OPEN_MAX___11 = 4,
    _SC_STREAM_MAX___11 = 5,
    _SC_TZNAME_MAX___11 = 6,
    _SC_JOB_CONTROL___11 = 7,
    _SC_SAVED_IDS___11 = 8,
    _SC_REALTIME_SIGNALS___11 = 9,
    _SC_PRIORITY_SCHEDULING___11 = 10,
    _SC_TIMERS___11 = 11,
    _SC_ASYNCHRONOUS_IO___11 = 12,
    _SC_PRIORITIZED_IO___11 = 13,
    _SC_SYNCHRONIZED_IO___11 = 14,
    _SC_FSYNC___11 = 15,
    _SC_MAPPED_FILES___11 = 16,
    _SC_MEMLOCK___11 = 17,
    _SC_MEMLOCK_RANGE___11 = 18,
    _SC_MEMORY_PROTECTION___11 = 19,
    _SC_MESSAGE_PASSING___11 = 20,
    _SC_SEMAPHORES___11 = 21,
    _SC_SHARED_MEMORY_OBJECTS___11 = 22,
    _SC_AIO_LISTIO_MAX___11 = 23,
    _SC_AIO_MAX___11 = 24,
    _SC_AIO_PRIO_DELTA_MAX___11 = 25,
    _SC_DELAYTIMER_MAX___11 = 26,
    _SC_MQ_OPEN_MAX___11 = 27,
    _SC_MQ_PRIO_MAX___11 = 28,
    _SC_VERSION___11 = 29,
    _SC_PAGESIZE___11 = 30,
    _SC_RTSIG_MAX___11 = 31,
    _SC_SEM_NSEMS_MAX___11 = 32,
    _SC_SEM_VALUE_MAX___11 = 33,
    _SC_SIGQUEUE_MAX___11 = 34,
    _SC_TIMER_MAX___11 = 35,
    _SC_BC_BASE_MAX___11 = 36,
    _SC_BC_DIM_MAX___11 = 37,
    _SC_BC_SCALE_MAX___11 = 38,
    _SC_BC_STRING_MAX___11 = 39,
    _SC_COLL_WEIGHTS_MAX___11 = 40,
    _SC_EQUIV_CLASS_MAX___11 = 41,
    _SC_EXPR_NEST_MAX___11 = 42,
    _SC_LINE_MAX___11 = 43,
    _SC_RE_DUP_MAX___11 = 44,
    _SC_CHARCLASS_NAME_MAX___11 = 45,
    _SC_2_VERSION___11 = 46,
    _SC_2_C_BIND___11 = 47,
    _SC_2_C_DEV___11 = 48,
    _SC_2_FORT_DEV___11 = 49,
    _SC_2_FORT_RUN___11 = 50,
    _SC_2_SW_DEV___11 = 51,
    _SC_2_LOCALEDEF___11 = 52,
    _SC_PII___11 = 53,
    _SC_PII_XTI___11 = 54,
    _SC_PII_SOCKET___11 = 55,
    _SC_PII_INTERNET___11 = 56,
    _SC_PII_OSI___11 = 57,
    _SC_POLL___11 = 58,
    _SC_SELECT___11 = 59,
    _SC_UIO_MAXIOV___11 = 60,
    _SC_IOV_MAX___11 = 60,
    _SC_PII_INTERNET_STREAM___11 = 61,
    _SC_PII_INTERNET_DGRAM___11 = 62,
    _SC_PII_OSI_COTS___11 = 63,
    _SC_PII_OSI_CLTS___11 = 64,
    _SC_PII_OSI_M___11 = 65,
    _SC_T_IOV_MAX___11 = 66,
    _SC_THREADS___11 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___11 = 68,
    _SC_GETGR_R_SIZE_MAX___11 = 69,
    _SC_GETPW_R_SIZE_MAX___11 = 70,
    _SC_LOGIN_NAME_MAX___11 = 71,
    _SC_TTY_NAME_MAX___11 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___11 = 73,
    _SC_THREAD_KEYS_MAX___11 = 74,
    _SC_THREAD_STACK_MIN___11 = 75,
    _SC_THREAD_THREADS_MAX___11 = 76,
    _SC_THREAD_ATTR_STACKADDR___11 = 77,
    _SC_THREAD_ATTR_STACKSIZE___11 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___11 = 79,
    _SC_THREAD_PRIO_INHERIT___11 = 80,
    _SC_THREAD_PRIO_PROTECT___11 = 81,
    _SC_THREAD_PROCESS_SHARED___11 = 82,
    _SC_NPROCESSORS_CONF___11 = 83,
    _SC_NPROCESSORS_ONLN___11 = 84,
    _SC_PHYS_PAGES___11 = 85,
    _SC_AVPHYS_PAGES___11 = 86,
    _SC_ATEXIT_MAX___11 = 87,
    _SC_PASS_MAX___11 = 88,
    _SC_XOPEN_VERSION___11 = 89,
    _SC_XOPEN_XCU_VERSION___11 = 90,
    _SC_XOPEN_UNIX___11 = 91,
    _SC_XOPEN_CRYPT___11 = 92,
    _SC_XOPEN_ENH_I18N___11 = 93,
    _SC_XOPEN_SHM___11 = 94,
    _SC_2_CHAR_TERM___11 = 95,
    _SC_2_C_VERSION___11 = 96,
    _SC_2_UPE___11 = 97,
    _SC_XOPEN_XPG2___11 = 98,
    _SC_XOPEN_XPG3___11 = 99,
    _SC_XOPEN_XPG4___11 = 100,
    _SC_CHAR_BIT___11 = 101,
    _SC_CHAR_MAX___11 = 102,
    _SC_CHAR_MIN___11 = 103,
    _SC_INT_MAX___11 = 104,
    _SC_INT_MIN___11 = 105,
    _SC_LONG_BIT___11 = 106,
    _SC_WORD_BIT___11 = 107,
    _SC_MB_LEN_MAX___11 = 108,
    _SC_NZERO___11 = 109,
    _SC_SSIZE_MAX___11 = 110,
    _SC_SCHAR_MAX___11 = 111,
    _SC_SCHAR_MIN___11 = 112,
    _SC_SHRT_MAX___11 = 113,
    _SC_SHRT_MIN___11 = 114,
    _SC_UCHAR_MAX___11 = 115,
    _SC_UINT_MAX___11 = 116,
    _SC_ULONG_MAX___11 = 117,
    _SC_USHRT_MAX___11 = 118,
    _SC_NL_ARGMAX___11 = 119,
    _SC_NL_LANGMAX___11 = 120,
    _SC_NL_MSGMAX___11 = 121,
    _SC_NL_NMAX___11 = 122,
    _SC_NL_SETMAX___11 = 123,
    _SC_NL_TEXTMAX___11 = 124,
    _SC_XBS5_ILP32_OFF32___11 = 125,
    _SC_XBS5_ILP32_OFFBIG___11 = 126,
    _SC_XBS5_LP64_OFF64___11 = 127,
    _SC_XBS5_LPBIG_OFFBIG___11 = 128,
    _SC_XOPEN_LEGACY___11 = 129,
    _SC_XOPEN_REALTIME___11 = 130,
    _SC_XOPEN_REALTIME_THREADS___11 = 131,
    _SC_ADVISORY_INFO___11 = 132,
    _SC_BARRIERS___11 = 133,
    _SC_BASE___11 = 134,
    _SC_C_LANG_SUPPORT___11 = 135,
    _SC_C_LANG_SUPPORT_R___11 = 136,
    _SC_CLOCK_SELECTION___11 = 137,
    _SC_CPUTIME___11 = 138,
    _SC_THREAD_CPUTIME___11 = 139,
    _SC_DEVICE_IO___11 = 140,
    _SC_DEVICE_SPECIFIC___11 = 141,
    _SC_DEVICE_SPECIFIC_R___11 = 142,
    _SC_FD_MGMT___11 = 143,
    _SC_FIFO___11 = 144,
    _SC_PIPE___11 = 145,
    _SC_FILE_ATTRIBUTES___11 = 146,
    _SC_FILE_LOCKING___11 = 147,
    _SC_FILE_SYSTEM___11 = 148,
    _SC_MONOTONIC_CLOCK___11 = 149,
    _SC_MULTI_PROCESS___11 = 150,
    _SC_SINGLE_PROCESS___11 = 151,
    _SC_NETWORKING___11 = 152,
    _SC_READER_WRITER_LOCKS___11 = 153,
    _SC_SPIN_LOCKS___11 = 154,
    _SC_REGEXP___11 = 155,
    _SC_REGEX_VERSION___11 = 156,
    _SC_SHELL___11 = 157,
    _SC_SIGNALS___11 = 158,
    _SC_SPAWN___11 = 159,
    _SC_SPORADIC_SERVER___11 = 160,
    _SC_THREAD_SPORADIC_SERVER___11 = 161,
    _SC_SYSTEM_DATABASE___11 = 162,
    _SC_SYSTEM_DATABASE_R___11 = 163,
    _SC_TIMEOUTS___11 = 164,
    _SC_TYPED_MEMORY_OBJECTS___11 = 165,
    _SC_USER_GROUPS___11 = 166,
    _SC_USER_GROUPS_R___11 = 167,
    _SC_2_PBS___11 = 168,
    _SC_2_PBS_ACCOUNTING___11 = 169,
    _SC_2_PBS_LOCATE___11 = 170,
    _SC_2_PBS_MESSAGE___11 = 171,
    _SC_2_PBS_TRACK___11 = 172,
    _SC_SYMLOOP_MAX___11 = 173,
    _SC_STREAMS___11 = 174,
    _SC_2_PBS_CHECKPOINT___11 = 175,
    _SC_V6_ILP32_OFF32___11 = 176,
    _SC_V6_ILP32_OFFBIG___11 = 177,
    _SC_V6_LP64_OFF64___11 = 178,
    _SC_V6_LPBIG_OFFBIG___11 = 179,
    _SC_HOST_NAME_MAX___11 = 180,
    _SC_TRACE___11 = 181,
    _SC_TRACE_EVENT_FILTER___11 = 182,
    _SC_TRACE_INHERIT___11 = 183,
    _SC_TRACE_LOG___11 = 184,
    _SC_LEVEL1_ICACHE_SIZE___11 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___11 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___11 = 187,
    _SC_LEVEL1_DCACHE_SIZE___11 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___11 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___11 = 190,
    _SC_LEVEL2_CACHE_SIZE___11 = 191,
    _SC_LEVEL2_CACHE_ASSOC___11 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___11 = 193,
    _SC_LEVEL3_CACHE_SIZE___11 = 194,
    _SC_LEVEL3_CACHE_ASSOC___11 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___11 = 196,
    _SC_LEVEL4_CACHE_SIZE___11 = 197,
    _SC_LEVEL4_CACHE_ASSOC___11 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___11 = 199,
    _SC_IPV6___11 = 235,
    _SC_RAW_SOCKETS___11 = 236,
    _SC_V7_ILP32_OFF32___11 = 237,
    _SC_V7_ILP32_OFFBIG___11 = 238,
    _SC_V7_LP64_OFF64___11 = 239,
    _SC_V7_LPBIG_OFFBIG___11 = 240,
    _SC_SS_REPL_MAX___11 = 241,
    _SC_TRACE_EVENT_NAME_MAX___11 = 242,
    _SC_TRACE_NAME_MAX___11 = 243,
    _SC_TRACE_SYS_MAX___11 = 244,
    _SC_TRACE_USER_EVENT_MAX___11 = 245,
    _SC_XOPEN_STREAMS___11 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___11 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___11 = 248
} ;
enum __anonenum_875524036___11 {
    _CS_PATH___11 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___11 = 1,
    _CS_GNU_LIBC_VERSION___11 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___11 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___11 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___11 = 5,
    _CS_LFS_CFLAGS___11 = 1000,
    _CS_LFS_LDFLAGS___11 = 1001,
    _CS_LFS_LIBS___11 = 1002,
    _CS_LFS_LINTFLAGS___11 = 1003,
    _CS_LFS64_CFLAGS___11 = 1004,
    _CS_LFS64_LDFLAGS___11 = 1005,
    _CS_LFS64_LIBS___11 = 1006,
    _CS_LFS64_LINTFLAGS___11 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___11 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___11 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___11 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___11 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___11 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___11 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___11 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___11 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___11 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___11 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___11 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___11 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___11 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___11 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___11 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___11 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___11 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___11 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___11 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___11 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___11 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___11 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___11 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___11 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___11 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___11 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___11 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___11 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___11 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___11 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___11 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___11 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___11 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___11 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___11 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___11 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___11 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___11 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___11 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___11 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___11 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___11 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___11 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___11 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___11 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___11 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___11 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___11 = 1147,
    _CS_V6_ENV___11 = 1148,
    _CS_V7_ENV___11 = 1149
} ;
enum __anonenum_513775621___11 {
    DT_UNKNOWN___11 = 0,
    DT_FIFO___11 = 1,
    DT_CHR___11 = 2,
    DT_DIR___11 = 4,
    DT_BLK___11 = 6,
    DT_REG___11 = 8,
    DT_LNK___11 = 10,
    DT_SOCK___11 = 12,
    DT_WHT___11 = 14
} ;
enum __anonenum_77002343___11 {
    SI_ASYNCNL___11 = -60,
    SI_TKILL___11 = -6,
    SI_SIGIO___11 = -5,
    SI_ASYNCIO___11 = -4,
    SI_MESGQ___11 = -3,
    SI_TIMER___11 = -2,
    SI_QUEUE___11 = -1,
    SI_USER___11 = 0,
    SI_KERNEL___11 = 128
} ;
enum __anonenum_131038172___11 {
    ILL_ILLOPC___11 = 1,
    ILL_ILLOPN___11 = 2,
    ILL_ILLADR___11 = 3,
    ILL_ILLTRP___11 = 4,
    ILL_PRVOPC___11 = 5,
    ILL_PRVREG___11 = 6,
    ILL_COPROC___11 = 7,
    ILL_BADSTK___11 = 8
} ;
enum __anonenum_452038093___11 {
    FPE_INTDIV___11 = 1,
    FPE_INTOVF___11 = 2,
    FPE_FLTDIV___11 = 3,
    FPE_FLTOVF___11 = 4,
    FPE_FLTUND___11 = 5,
    FPE_FLTRES___11 = 6,
    FPE_FLTINV___11 = 7,
    FPE_FLTSUB___11 = 8
} ;
enum __anonenum_30976155___11 {
    SEGV_MAPERR___11 = 1,
    SEGV_ACCERR___11 = 2,
    SEGV_BNDERR___11 = 3,
    SEGV_PKUERR___11 = 4
} ;
enum __anonenum_1036286214___11 {
    BUS_ADRALN___11 = 1,
    BUS_ADRERR___11 = 2,
    BUS_OBJERR___11 = 3,
    BUS_MCEERR_AR___11 = 4,
    BUS_MCEERR_AO___11 = 5
} ;
enum __anonenum_493465559___11 {
    TRAP_BRKPT___11 = 1,
    TRAP_TRACE___11 = 2
} ;
enum __anonenum_23175539___11 {
    CLD_EXITED___11 = 1,
    CLD_KILLED___11 = 2,
    CLD_DUMPED___11 = 3,
    CLD_TRAPPED___11 = 4,
    CLD_STOPPED___11 = 5,
    CLD_CONTINUED___11 = 6
} ;
enum __anonenum_111643124___11 {
    POLL_IN___11 = 1,
    POLL_OUT___11 = 2,
    POLL_MSG___11 = 3,
    POLL_ERR___11 = 4,
    POLL_PRI___11 = 5,
    POLL_HUP___11 = 6
} ;
enum __anonenum_852341087___11 {
    SIGEV_SIGNAL___11 = 0,
    SIGEV_NONE___11 = 1,
    SIGEV_THREAD___11 = 2,
    SIGEV_THREAD_ID___11 = 4
} ;
enum __anonenum_451154152___11 {
    REG_R8___11 = 0,
    REG_R9___11 = 1,
    REG_R10___11 = 2,
    REG_R11___11 = 3,
    REG_R12___11 = 4,
    REG_R13___11 = 5,
    REG_R14___11 = 6,
    REG_R15___11 = 7,
    REG_RDI___11 = 8,
    REG_RSI___11 = 9,
    REG_RBP___11 = 10,
    REG_RBX___11 = 11,
    REG_RDX___11 = 12,
    REG_RAX___11 = 13,
    REG_RCX___11 = 14,
    REG_RSP___11 = 15,
    REG_RIP___11 = 16,
    REG_EFL___11 = 17,
    REG_CSGSFS___11 = 18,
    REG_ERR___11 = 19,
    REG_TRAPNO___11 = 20,
    REG_OLDMASK___11 = 21,
    REG_CR2___11 = 22
} ;
enum __anonenum_57186863___11 {
    SS_ONSTACK___11 = 1,
    SS_DISABLE___11 = 2
} ;
enum __anonenum_83571709___11 {
    MSG_OOB___11 = 1,
    MSG_PEEK___11 = 2,
    MSG_DONTROUTE___11 = 4,
    MSG_TRYHARD___11 = 4,
    MSG_CTRUNC___11 = 8,
    MSG_PROXY___11 = 16,
    MSG_TRUNC___11 = 32,
    MSG_DONTWAIT___11 = 64,
    MSG_EOR___11 = 128,
    MSG_WAITALL___11 = 256,
    MSG_FIN___11 = 512,
    MSG_SYN___11 = 1024,
    MSG_CONFIRM___11 = 2048,
    MSG_RST___11 = 4096,
    MSG_ERRQUEUE___11 = 8192,
    MSG_NOSIGNAL___11 = 16384,
    MSG_MORE___11 = 32768,
    MSG_WAITFORONE___11 = 65536,
    MSG_BATCH___11 = 262144,
    MSG_ZEROCOPY___11 = 67108864,
    MSG_FASTOPEN___11 = 536870912,
    MSG_CMSG_CLOEXEC___11 = 1073741824
} ;
enum __anonenum_617082774___11 {
    SCM_RIGHTS___11 = 1,
    SCM_CREDENTIALS___11 = 2
} ;
enum __anonenum_606441560___11 {
    SHUT_RD___11 = 0,
    SHUT_WR___11 = 1,
    SHUT_RDWR___11 = 2
} ;
enum __anonenum_681669233___11 {
    IPPROTO_IP___11 = 0,
    IPPROTO_ICMP___11 = 1,
    IPPROTO_IGMP___11 = 2,
    IPPROTO_IPIP___11 = 4,
    IPPROTO_TCP___11 = 6,
    IPPROTO_EGP___11 = 8,
    IPPROTO_PUP___11 = 12,
    IPPROTO_UDP___11 = 17,
    IPPROTO_IDP___11 = 22,
    IPPROTO_TP___11 = 29,
    IPPROTO_DCCP___11 = 33,
    IPPROTO_IPV6___11 = 41,
    IPPROTO_RSVP___11 = 46,
    IPPROTO_GRE___11 = 47,
    IPPROTO_ESP___11 = 50,
    IPPROTO_AH___11 = 51,
    IPPROTO_MTP___11 = 92,
    IPPROTO_BEETPH___11 = 94,
    IPPROTO_ENCAP___11 = 98,
    IPPROTO_PIM___11 = 103,
    IPPROTO_COMP___11 = 108,
    IPPROTO_SCTP___11 = 132,
    IPPROTO_UDPLITE___11 = 136,
    IPPROTO_MPLS___11 = 137,
    IPPROTO_RAW___11 = 255,
    IPPROTO_MAX___11 = 256
} ;
enum __anonenum_218739988___11 {
    IPPROTO_HOPOPTS___11 = 0,
    IPPROTO_ROUTING___11 = 43,
    IPPROTO_FRAGMENT___11 = 44,
    IPPROTO_ICMPV6___11 = 58,
    IPPROTO_NONE___11 = 59,
    IPPROTO_DSTOPTS___11 = 60,
    IPPROTO_MH___11 = 135
} ;
enum __anonenum_662268580___11 {
    IPPORT_ECHO___11 = 7,
    IPPORT_DISCARD___11 = 9,
    IPPORT_SYSTAT___11 = 11,
    IPPORT_DAYTIME___11 = 13,
    IPPORT_NETSTAT___11 = 15,
    IPPORT_FTP___11 = 21,
    IPPORT_TELNET___11 = 23,
    IPPORT_SMTP___11 = 25,
    IPPORT_TIMESERVER___11 = 37,
    IPPORT_NAMESERVER___11 = 42,
    IPPORT_WHOIS___11 = 43,
    IPPORT_MTP___11 = 57,
    IPPORT_TFTP___11 = 69,
    IPPORT_RJE___11 = 77,
    IPPORT_FINGER___11 = 79,
    IPPORT_TTYLINK___11 = 87,
    IPPORT_SUPDUP___11 = 95,
    IPPORT_EXECSERVER___11 = 512,
    IPPORT_LOGINSERVER___11 = 513,
    IPPORT_CMDSERVER___11 = 514,
    IPPORT_EFSSERVER___11 = 520,
    IPPORT_BIFFUDP___11 = 512,
    IPPORT_WHOSERVER___11 = 513,
    IPPORT_ROUTESERVER___11 = 520,
    IPPORT_RESERVED___11 = 1024,
    IPPORT_USERRESERVED___11 = 5000
} ;
enum __anonenum_788308992___11 {
    TCP_ESTABLISHED___11 = 1,
    TCP_SYN_SENT___11 = 2,
    TCP_SYN_RECV___11 = 3,
    TCP_FIN_WAIT1___11 = 4,
    TCP_FIN_WAIT2___11 = 5,
    TCP_TIME_WAIT___11 = 6,
    TCP_CLOSE___11 = 7,
    TCP_CLOSE_WAIT___11 = 8,
    TCP_LAST_ACK___11 = 9,
    TCP_LISTEN___11 = 10,
    TCP_CLOSING___11 = 11
} ;
enum __anonenum_221125648___11 {
    TCP_NO_QUEUE___11 = 0,
    TCP_RECV_QUEUE___11 = 1,
    TCP_SEND_QUEUE___11 = 2,
    TCP_QUEUES_NR___11 = 3
} ;
enum __anonenum_34415463___11 {
    PTHREAD_CREATE_JOINABLE___11 = 0,
    PTHREAD_CREATE_DETACHED___11 = 1
} ;
enum __anonenum_303612439___11 {
    PTHREAD_MUTEX_TIMED_NP___11 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___11 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___11 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___11 = 3,
    PTHREAD_MUTEX_NORMAL___11 = 0,
    PTHREAD_MUTEX_RECURSIVE___11 = 1,
    PTHREAD_MUTEX_ERRORCHECK___11 = 2,
    PTHREAD_MUTEX_DEFAULT___11 = 0,
    PTHREAD_MUTEX_FAST_NP___11 = 0
} ;
enum __anonenum_931900394___11 {
    PTHREAD_MUTEX_STALLED___11 = 0,
    PTHREAD_MUTEX_STALLED_NP___11 = 0,
    PTHREAD_MUTEX_ROBUST___11 = 1,
    PTHREAD_MUTEX_ROBUST_NP___11 = 1
} ;
enum __anonenum_205214487___11 {
    PTHREAD_PRIO_NONE___11 = 0,
    PTHREAD_PRIO_INHERIT___11 = 1,
    PTHREAD_PRIO_PROTECT___11 = 2
} ;
enum __anonenum_25043950___11 {
    PTHREAD_RWLOCK_PREFER_READER_NP___11 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___11 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___11 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___11 = 0
} ;
enum __anonenum_436439511___11 {
    PTHREAD_INHERIT_SCHED___11 = 0,
    PTHREAD_EXPLICIT_SCHED___11 = 1
} ;
enum __anonenum_998661166___11 {
    PTHREAD_SCOPE_SYSTEM___11 = 0,
    PTHREAD_SCOPE_PROCESS___11 = 1
} ;
enum __anonenum_146137331___11 {
    PTHREAD_PROCESS_PRIVATE___11 = 0,
    PTHREAD_PROCESS_SHARED___11 = 1
} ;
enum __anonenum_53396917___11 {
    PTHREAD_CANCEL_ENABLE___11 = 0,
    PTHREAD_CANCEL_DISABLE___11 = 1
} ;
enum __anonenum_904563783___11 {
    PTHREAD_CANCEL_DEFERRED___11 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___11 = 1
} ;
enum __anonenum_672052974___11 {
    SSL_CT_VALIDATION_PERMISSIVE___11 = 0,
    SSL_CT_VALIDATION_STRICT___11 = 1
} ;
struct ustar_header {
   char name[100] ;
   char mode[8] ;
   char uid[8] ;
   char gid[8] ;
   char size[12] ;
   char mtime[12] ;
   char chksum[8] ;
   char typeflag[1] ;
   char linkname[100] ;
   char magic[6] ;
   char version[2] ;
   char uname[32] ;
   char gname[32] ;
   char devmajor[8] ;
   char devminor[8] ;
   char prefix[155] ;
};
struct archiver_args {
   struct repository *repo ;
   char *refname ;
   char const   *prefix ;
   char const   *base ;
   size_t baselen ;
   struct tree *tree ;
   struct object_id  const  *commit_oid ;
   struct commit  const  *commit ;
   timestamp_t time ;
   struct pathspec pathspec ;
   unsigned int verbose : 1 ;
   unsigned int worktree_attributes : 1 ;
   unsigned int convert : 1 ;
   int compression_level ;
   struct string_list extra_files ;
   struct pretty_print_context *pretty_ctx ;
};
struct archiver {
   char const   *name ;
   int (*write_archive)(struct archiver  const  * , struct archiver_args * ) ;
   unsigned int flags ;
   void *data ;
};
typedef int (*write_archive_entry_fn_t)(struct archiver_args *args , struct object_id  const  *oid ,
                                        char const   *path , size_t pathlen , unsigned int mode ,
                                        void *buffer , unsigned long size );
struct git_istream ;
enum __anonenum_437032235___12 {
    _PC_LINK_MAX___12 = 0,
    _PC_MAX_CANON___12 = 1,
    _PC_MAX_INPUT___12 = 2,
    _PC_NAME_MAX___12 = 3,
    _PC_PATH_MAX___12 = 4,
    _PC_PIPE_BUF___12 = 5,
    _PC_CHOWN_RESTRICTED___12 = 6,
    _PC_NO_TRUNC___12 = 7,
    _PC_VDISABLE___12 = 8,
    _PC_SYNC_IO___12 = 9,
    _PC_ASYNC_IO___12 = 10,
    _PC_PRIO_IO___12 = 11,
    _PC_SOCK_MAXBUF___12 = 12,
    _PC_FILESIZEBITS___12 = 13,
    _PC_REC_INCR_XFER_SIZE___12 = 14,
    _PC_REC_MAX_XFER_SIZE___12 = 15,
    _PC_REC_MIN_XFER_SIZE___12 = 16,
    _PC_REC_XFER_ALIGN___12 = 17,
    _PC_ALLOC_SIZE_MIN___12 = 18,
    _PC_SYMLINK_MAX___12 = 19,
    _PC_2_SYMLINKS___12 = 20
} ;
enum __anonenum_315186338___12 {
    _SC_ARG_MAX___12 = 0,
    _SC_CHILD_MAX___12 = 1,
    _SC_CLK_TCK___12 = 2,
    _SC_NGROUPS_MAX___12 = 3,
    _SC_OPEN_MAX___12 = 4,
    _SC_STREAM_MAX___12 = 5,
    _SC_TZNAME_MAX___12 = 6,
    _SC_JOB_CONTROL___12 = 7,
    _SC_SAVED_IDS___12 = 8,
    _SC_REALTIME_SIGNALS___12 = 9,
    _SC_PRIORITY_SCHEDULING___12 = 10,
    _SC_TIMERS___12 = 11,
    _SC_ASYNCHRONOUS_IO___12 = 12,
    _SC_PRIORITIZED_IO___12 = 13,
    _SC_SYNCHRONIZED_IO___12 = 14,
    _SC_FSYNC___12 = 15,
    _SC_MAPPED_FILES___12 = 16,
    _SC_MEMLOCK___12 = 17,
    _SC_MEMLOCK_RANGE___12 = 18,
    _SC_MEMORY_PROTECTION___12 = 19,
    _SC_MESSAGE_PASSING___12 = 20,
    _SC_SEMAPHORES___12 = 21,
    _SC_SHARED_MEMORY_OBJECTS___12 = 22,
    _SC_AIO_LISTIO_MAX___12 = 23,
    _SC_AIO_MAX___12 = 24,
    _SC_AIO_PRIO_DELTA_MAX___12 = 25,
    _SC_DELAYTIMER_MAX___12 = 26,
    _SC_MQ_OPEN_MAX___12 = 27,
    _SC_MQ_PRIO_MAX___12 = 28,
    _SC_VERSION___12 = 29,
    _SC_PAGESIZE___12 = 30,
    _SC_RTSIG_MAX___12 = 31,
    _SC_SEM_NSEMS_MAX___12 = 32,
    _SC_SEM_VALUE_MAX___12 = 33,
    _SC_SIGQUEUE_MAX___12 = 34,
    _SC_TIMER_MAX___12 = 35,
    _SC_BC_BASE_MAX___12 = 36,
    _SC_BC_DIM_MAX___12 = 37,
    _SC_BC_SCALE_MAX___12 = 38,
    _SC_BC_STRING_MAX___12 = 39,
    _SC_COLL_WEIGHTS_MAX___12 = 40,
    _SC_EQUIV_CLASS_MAX___12 = 41,
    _SC_EXPR_NEST_MAX___12 = 42,
    _SC_LINE_MAX___12 = 43,
    _SC_RE_DUP_MAX___12 = 44,
    _SC_CHARCLASS_NAME_MAX___12 = 45,
    _SC_2_VERSION___12 = 46,
    _SC_2_C_BIND___12 = 47,
    _SC_2_C_DEV___12 = 48,
    _SC_2_FORT_DEV___12 = 49,
    _SC_2_FORT_RUN___12 = 50,
    _SC_2_SW_DEV___12 = 51,
    _SC_2_LOCALEDEF___12 = 52,
    _SC_PII___12 = 53,
    _SC_PII_XTI___12 = 54,
    _SC_PII_SOCKET___12 = 55,
    _SC_PII_INTERNET___12 = 56,
    _SC_PII_OSI___12 = 57,
    _SC_POLL___12 = 58,
    _SC_SELECT___12 = 59,
    _SC_UIO_MAXIOV___12 = 60,
    _SC_IOV_MAX___12 = 60,
    _SC_PII_INTERNET_STREAM___12 = 61,
    _SC_PII_INTERNET_DGRAM___12 = 62,
    _SC_PII_OSI_COTS___12 = 63,
    _SC_PII_OSI_CLTS___12 = 64,
    _SC_PII_OSI_M___12 = 65,
    _SC_T_IOV_MAX___12 = 66,
    _SC_THREADS___12 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___12 = 68,
    _SC_GETGR_R_SIZE_MAX___12 = 69,
    _SC_GETPW_R_SIZE_MAX___12 = 70,
    _SC_LOGIN_NAME_MAX___12 = 71,
    _SC_TTY_NAME_MAX___12 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___12 = 73,
    _SC_THREAD_KEYS_MAX___12 = 74,
    _SC_THREAD_STACK_MIN___12 = 75,
    _SC_THREAD_THREADS_MAX___12 = 76,
    _SC_THREAD_ATTR_STACKADDR___12 = 77,
    _SC_THREAD_ATTR_STACKSIZE___12 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___12 = 79,
    _SC_THREAD_PRIO_INHERIT___12 = 80,
    _SC_THREAD_PRIO_PROTECT___12 = 81,
    _SC_THREAD_PROCESS_SHARED___12 = 82,
    _SC_NPROCESSORS_CONF___12 = 83,
    _SC_NPROCESSORS_ONLN___12 = 84,
    _SC_PHYS_PAGES___12 = 85,
    _SC_AVPHYS_PAGES___12 = 86,
    _SC_ATEXIT_MAX___12 = 87,
    _SC_PASS_MAX___12 = 88,
    _SC_XOPEN_VERSION___12 = 89,
    _SC_XOPEN_XCU_VERSION___12 = 90,
    _SC_XOPEN_UNIX___12 = 91,
    _SC_XOPEN_CRYPT___12 = 92,
    _SC_XOPEN_ENH_I18N___12 = 93,
    _SC_XOPEN_SHM___12 = 94,
    _SC_2_CHAR_TERM___12 = 95,
    _SC_2_C_VERSION___12 = 96,
    _SC_2_UPE___12 = 97,
    _SC_XOPEN_XPG2___12 = 98,
    _SC_XOPEN_XPG3___12 = 99,
    _SC_XOPEN_XPG4___12 = 100,
    _SC_CHAR_BIT___12 = 101,
    _SC_CHAR_MAX___12 = 102,
    _SC_CHAR_MIN___12 = 103,
    _SC_INT_MAX___12 = 104,
    _SC_INT_MIN___12 = 105,
    _SC_LONG_BIT___12 = 106,
    _SC_WORD_BIT___12 = 107,
    _SC_MB_LEN_MAX___12 = 108,
    _SC_NZERO___12 = 109,
    _SC_SSIZE_MAX___12 = 110,
    _SC_SCHAR_MAX___12 = 111,
    _SC_SCHAR_MIN___12 = 112,
    _SC_SHRT_MAX___12 = 113,
    _SC_SHRT_MIN___12 = 114,
    _SC_UCHAR_MAX___12 = 115,
    _SC_UINT_MAX___12 = 116,
    _SC_ULONG_MAX___12 = 117,
    _SC_USHRT_MAX___12 = 118,
    _SC_NL_ARGMAX___12 = 119,
    _SC_NL_LANGMAX___12 = 120,
    _SC_NL_MSGMAX___12 = 121,
    _SC_NL_NMAX___12 = 122,
    _SC_NL_SETMAX___12 = 123,
    _SC_NL_TEXTMAX___12 = 124,
    _SC_XBS5_ILP32_OFF32___12 = 125,
    _SC_XBS5_ILP32_OFFBIG___12 = 126,
    _SC_XBS5_LP64_OFF64___12 = 127,
    _SC_XBS5_LPBIG_OFFBIG___12 = 128,
    _SC_XOPEN_LEGACY___12 = 129,
    _SC_XOPEN_REALTIME___12 = 130,
    _SC_XOPEN_REALTIME_THREADS___12 = 131,
    _SC_ADVISORY_INFO___12 = 132,
    _SC_BARRIERS___12 = 133,
    _SC_BASE___12 = 134,
    _SC_C_LANG_SUPPORT___12 = 135,
    _SC_C_LANG_SUPPORT_R___12 = 136,
    _SC_CLOCK_SELECTION___12 = 137,
    _SC_CPUTIME___12 = 138,
    _SC_THREAD_CPUTIME___12 = 139,
    _SC_DEVICE_IO___12 = 140,
    _SC_DEVICE_SPECIFIC___12 = 141,
    _SC_DEVICE_SPECIFIC_R___12 = 142,
    _SC_FD_MGMT___12 = 143,
    _SC_FIFO___12 = 144,
    _SC_PIPE___12 = 145,
    _SC_FILE_ATTRIBUTES___12 = 146,
    _SC_FILE_LOCKING___12 = 147,
    _SC_FILE_SYSTEM___12 = 148,
    _SC_MONOTONIC_CLOCK___12 = 149,
    _SC_MULTI_PROCESS___12 = 150,
    _SC_SINGLE_PROCESS___12 = 151,
    _SC_NETWORKING___12 = 152,
    _SC_READER_WRITER_LOCKS___12 = 153,
    _SC_SPIN_LOCKS___12 = 154,
    _SC_REGEXP___12 = 155,
    _SC_REGEX_VERSION___12 = 156,
    _SC_SHELL___12 = 157,
    _SC_SIGNALS___12 = 158,
    _SC_SPAWN___12 = 159,
    _SC_SPORADIC_SERVER___12 = 160,
    _SC_THREAD_SPORADIC_SERVER___12 = 161,
    _SC_SYSTEM_DATABASE___12 = 162,
    _SC_SYSTEM_DATABASE_R___12 = 163,
    _SC_TIMEOUTS___12 = 164,
    _SC_TYPED_MEMORY_OBJECTS___12 = 165,
    _SC_USER_GROUPS___12 = 166,
    _SC_USER_GROUPS_R___12 = 167,
    _SC_2_PBS___12 = 168,
    _SC_2_PBS_ACCOUNTING___12 = 169,
    _SC_2_PBS_LOCATE___12 = 170,
    _SC_2_PBS_MESSAGE___12 = 171,
    _SC_2_PBS_TRACK___12 = 172,
    _SC_SYMLOOP_MAX___12 = 173,
    _SC_STREAMS___12 = 174,
    _SC_2_PBS_CHECKPOINT___12 = 175,
    _SC_V6_ILP32_OFF32___12 = 176,
    _SC_V6_ILP32_OFFBIG___12 = 177,
    _SC_V6_LP64_OFF64___12 = 178,
    _SC_V6_LPBIG_OFFBIG___12 = 179,
    _SC_HOST_NAME_MAX___12 = 180,
    _SC_TRACE___12 = 181,
    _SC_TRACE_EVENT_FILTER___12 = 182,
    _SC_TRACE_INHERIT___12 = 183,
    _SC_TRACE_LOG___12 = 184,
    _SC_LEVEL1_ICACHE_SIZE___12 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___12 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___12 = 187,
    _SC_LEVEL1_DCACHE_SIZE___12 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___12 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___12 = 190,
    _SC_LEVEL2_CACHE_SIZE___12 = 191,
    _SC_LEVEL2_CACHE_ASSOC___12 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___12 = 193,
    _SC_LEVEL3_CACHE_SIZE___12 = 194,
    _SC_LEVEL3_CACHE_ASSOC___12 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___12 = 196,
    _SC_LEVEL4_CACHE_SIZE___12 = 197,
    _SC_LEVEL4_CACHE_ASSOC___12 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___12 = 199,
    _SC_IPV6___12 = 235,
    _SC_RAW_SOCKETS___12 = 236,
    _SC_V7_ILP32_OFF32___12 = 237,
    _SC_V7_ILP32_OFFBIG___12 = 238,
    _SC_V7_LP64_OFF64___12 = 239,
    _SC_V7_LPBIG_OFFBIG___12 = 240,
    _SC_SS_REPL_MAX___12 = 241,
    _SC_TRACE_EVENT_NAME_MAX___12 = 242,
    _SC_TRACE_NAME_MAX___12 = 243,
    _SC_TRACE_SYS_MAX___12 = 244,
    _SC_TRACE_USER_EVENT_MAX___12 = 245,
    _SC_XOPEN_STREAMS___12 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___12 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___12 = 248
} ;
enum __anonenum_875524036___12 {
    _CS_PATH___12 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___12 = 1,
    _CS_GNU_LIBC_VERSION___12 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___12 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___12 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___12 = 5,
    _CS_LFS_CFLAGS___12 = 1000,
    _CS_LFS_LDFLAGS___12 = 1001,
    _CS_LFS_LIBS___12 = 1002,
    _CS_LFS_LINTFLAGS___12 = 1003,
    _CS_LFS64_CFLAGS___12 = 1004,
    _CS_LFS64_LDFLAGS___12 = 1005,
    _CS_LFS64_LIBS___12 = 1006,
    _CS_LFS64_LINTFLAGS___12 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___12 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___12 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___12 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___12 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___12 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___12 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___12 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___12 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___12 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___12 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___12 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___12 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___12 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___12 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___12 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___12 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___12 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___12 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___12 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___12 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___12 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___12 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___12 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___12 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___12 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___12 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___12 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___12 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___12 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___12 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___12 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___12 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___12 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___12 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___12 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___12 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___12 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___12 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___12 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___12 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___12 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___12 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___12 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___12 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___12 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___12 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___12 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___12 = 1147,
    _CS_V6_ENV___12 = 1148,
    _CS_V7_ENV___12 = 1149
} ;
enum __anonenum_513775621___12 {
    DT_UNKNOWN___12 = 0,
    DT_FIFO___12 = 1,
    DT_CHR___12 = 2,
    DT_DIR___12 = 4,
    DT_BLK___12 = 6,
    DT_REG___12 = 8,
    DT_LNK___12 = 10,
    DT_SOCK___12 = 12,
    DT_WHT___12 = 14
} ;
enum __anonenum_77002343___12 {
    SI_ASYNCNL___12 = -60,
    SI_TKILL___12 = -6,
    SI_SIGIO___12 = -5,
    SI_ASYNCIO___12 = -4,
    SI_MESGQ___12 = -3,
    SI_TIMER___12 = -2,
    SI_QUEUE___12 = -1,
    SI_USER___12 = 0,
    SI_KERNEL___12 = 128
} ;
enum __anonenum_131038172___12 {
    ILL_ILLOPC___12 = 1,
    ILL_ILLOPN___12 = 2,
    ILL_ILLADR___12 = 3,
    ILL_ILLTRP___12 = 4,
    ILL_PRVOPC___12 = 5,
    ILL_PRVREG___12 = 6,
    ILL_COPROC___12 = 7,
    ILL_BADSTK___12 = 8
} ;
enum __anonenum_452038093___12 {
    FPE_INTDIV___12 = 1,
    FPE_INTOVF___12 = 2,
    FPE_FLTDIV___12 = 3,
    FPE_FLTOVF___12 = 4,
    FPE_FLTUND___12 = 5,
    FPE_FLTRES___12 = 6,
    FPE_FLTINV___12 = 7,
    FPE_FLTSUB___12 = 8
} ;
enum __anonenum_30976155___12 {
    SEGV_MAPERR___12 = 1,
    SEGV_ACCERR___12 = 2,
    SEGV_BNDERR___12 = 3,
    SEGV_PKUERR___12 = 4
} ;
enum __anonenum_1036286214___12 {
    BUS_ADRALN___12 = 1,
    BUS_ADRERR___12 = 2,
    BUS_OBJERR___12 = 3,
    BUS_MCEERR_AR___12 = 4,
    BUS_MCEERR_AO___12 = 5
} ;
enum __anonenum_493465559___12 {
    TRAP_BRKPT___12 = 1,
    TRAP_TRACE___12 = 2
} ;
enum __anonenum_23175539___12 {
    CLD_EXITED___12 = 1,
    CLD_KILLED___12 = 2,
    CLD_DUMPED___12 = 3,
    CLD_TRAPPED___12 = 4,
    CLD_STOPPED___12 = 5,
    CLD_CONTINUED___12 = 6
} ;
enum __anonenum_111643124___12 {
    POLL_IN___12 = 1,
    POLL_OUT___12 = 2,
    POLL_MSG___12 = 3,
    POLL_ERR___12 = 4,
    POLL_PRI___12 = 5,
    POLL_HUP___12 = 6
} ;
enum __anonenum_852341087___12 {
    SIGEV_SIGNAL___12 = 0,
    SIGEV_NONE___12 = 1,
    SIGEV_THREAD___12 = 2,
    SIGEV_THREAD_ID___12 = 4
} ;
enum __anonenum_451154152___12 {
    REG_R8___12 = 0,
    REG_R9___12 = 1,
    REG_R10___12 = 2,
    REG_R11___12 = 3,
    REG_R12___12 = 4,
    REG_R13___12 = 5,
    REG_R14___12 = 6,
    REG_R15___12 = 7,
    REG_RDI___12 = 8,
    REG_RSI___12 = 9,
    REG_RBP___12 = 10,
    REG_RBX___12 = 11,
    REG_RDX___12 = 12,
    REG_RAX___12 = 13,
    REG_RCX___12 = 14,
    REG_RSP___12 = 15,
    REG_RIP___12 = 16,
    REG_EFL___12 = 17,
    REG_CSGSFS___12 = 18,
    REG_ERR___12 = 19,
    REG_TRAPNO___12 = 20,
    REG_OLDMASK___12 = 21,
    REG_CR2___12 = 22
} ;
enum __anonenum_57186863___12 {
    SS_ONSTACK___12 = 1,
    SS_DISABLE___12 = 2
} ;
enum __anonenum_83571709___12 {
    MSG_OOB___12 = 1,
    MSG_PEEK___12 = 2,
    MSG_DONTROUTE___12 = 4,
    MSG_TRYHARD___12 = 4,
    MSG_CTRUNC___12 = 8,
    MSG_PROXY___12 = 16,
    MSG_TRUNC___12 = 32,
    MSG_DONTWAIT___12 = 64,
    MSG_EOR___12 = 128,
    MSG_WAITALL___12 = 256,
    MSG_FIN___12 = 512,
    MSG_SYN___12 = 1024,
    MSG_CONFIRM___12 = 2048,
    MSG_RST___12 = 4096,
    MSG_ERRQUEUE___12 = 8192,
    MSG_NOSIGNAL___12 = 16384,
    MSG_MORE___12 = 32768,
    MSG_WAITFORONE___12 = 65536,
    MSG_BATCH___12 = 262144,
    MSG_ZEROCOPY___12 = 67108864,
    MSG_FASTOPEN___12 = 536870912,
    MSG_CMSG_CLOEXEC___12 = 1073741824
} ;
enum __anonenum_617082774___12 {
    SCM_RIGHTS___12 = 1,
    SCM_CREDENTIALS___12 = 2
} ;
enum __anonenum_606441560___12 {
    SHUT_RD___12 = 0,
    SHUT_WR___12 = 1,
    SHUT_RDWR___12 = 2
} ;
enum __anonenum_681669233___12 {
    IPPROTO_IP___12 = 0,
    IPPROTO_ICMP___12 = 1,
    IPPROTO_IGMP___12 = 2,
    IPPROTO_IPIP___12 = 4,
    IPPROTO_TCP___12 = 6,
    IPPROTO_EGP___12 = 8,
    IPPROTO_PUP___12 = 12,
    IPPROTO_UDP___12 = 17,
    IPPROTO_IDP___12 = 22,
    IPPROTO_TP___12 = 29,
    IPPROTO_DCCP___12 = 33,
    IPPROTO_IPV6___12 = 41,
    IPPROTO_RSVP___12 = 46,
    IPPROTO_GRE___12 = 47,
    IPPROTO_ESP___12 = 50,
    IPPROTO_AH___12 = 51,
    IPPROTO_MTP___12 = 92,
    IPPROTO_BEETPH___12 = 94,
    IPPROTO_ENCAP___12 = 98,
    IPPROTO_PIM___12 = 103,
    IPPROTO_COMP___12 = 108,
    IPPROTO_SCTP___12 = 132,
    IPPROTO_UDPLITE___12 = 136,
    IPPROTO_MPLS___12 = 137,
    IPPROTO_RAW___12 = 255,
    IPPROTO_MAX___12 = 256
} ;
enum __anonenum_218739988___12 {
    IPPROTO_HOPOPTS___12 = 0,
    IPPROTO_ROUTING___12 = 43,
    IPPROTO_FRAGMENT___12 = 44,
    IPPROTO_ICMPV6___12 = 58,
    IPPROTO_NONE___12 = 59,
    IPPROTO_DSTOPTS___12 = 60,
    IPPROTO_MH___12 = 135
} ;
enum __anonenum_662268580___12 {
    IPPORT_ECHO___12 = 7,
    IPPORT_DISCARD___12 = 9,
    IPPORT_SYSTAT___12 = 11,
    IPPORT_DAYTIME___12 = 13,
    IPPORT_NETSTAT___12 = 15,
    IPPORT_FTP___12 = 21,
    IPPORT_TELNET___12 = 23,
    IPPORT_SMTP___12 = 25,
    IPPORT_TIMESERVER___12 = 37,
    IPPORT_NAMESERVER___12 = 42,
    IPPORT_WHOIS___12 = 43,
    IPPORT_MTP___12 = 57,
    IPPORT_TFTP___12 = 69,
    IPPORT_RJE___12 = 77,
    IPPORT_FINGER___12 = 79,
    IPPORT_TTYLINK___12 = 87,
    IPPORT_SUPDUP___12 = 95,
    IPPORT_EXECSERVER___12 = 512,
    IPPORT_LOGINSERVER___12 = 513,
    IPPORT_CMDSERVER___12 = 514,
    IPPORT_EFSSERVER___12 = 520,
    IPPORT_BIFFUDP___12 = 512,
    IPPORT_WHOSERVER___12 = 513,
    IPPORT_ROUTESERVER___12 = 520,
    IPPORT_RESERVED___12 = 1024,
    IPPORT_USERRESERVED___12 = 5000
} ;
enum __anonenum_788308992___12 {
    TCP_ESTABLISHED___12 = 1,
    TCP_SYN_SENT___12 = 2,
    TCP_SYN_RECV___12 = 3,
    TCP_FIN_WAIT1___12 = 4,
    TCP_FIN_WAIT2___12 = 5,
    TCP_TIME_WAIT___12 = 6,
    TCP_CLOSE___12 = 7,
    TCP_CLOSE_WAIT___12 = 8,
    TCP_LAST_ACK___12 = 9,
    TCP_LISTEN___12 = 10,
    TCP_CLOSING___12 = 11
} ;
enum __anonenum_221125648___12 {
    TCP_NO_QUEUE___12 = 0,
    TCP_RECV_QUEUE___12 = 1,
    TCP_SEND_QUEUE___12 = 2,
    TCP_QUEUES_NR___12 = 3
} ;
enum __anonenum_34415463___12 {
    PTHREAD_CREATE_JOINABLE___12 = 0,
    PTHREAD_CREATE_DETACHED___12 = 1
} ;
enum __anonenum_303612439___12 {
    PTHREAD_MUTEX_TIMED_NP___12 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___12 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___12 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___12 = 3,
    PTHREAD_MUTEX_NORMAL___12 = 0,
    PTHREAD_MUTEX_RECURSIVE___12 = 1,
    PTHREAD_MUTEX_ERRORCHECK___12 = 2,
    PTHREAD_MUTEX_DEFAULT___12 = 0,
    PTHREAD_MUTEX_FAST_NP___12 = 0
} ;
enum __anonenum_931900394___12 {
    PTHREAD_MUTEX_STALLED___12 = 0,
    PTHREAD_MUTEX_STALLED_NP___12 = 0,
    PTHREAD_MUTEX_ROBUST___12 = 1,
    PTHREAD_MUTEX_ROBUST_NP___12 = 1
} ;
enum __anonenum_205214487___12 {
    PTHREAD_PRIO_NONE___12 = 0,
    PTHREAD_PRIO_INHERIT___12 = 1,
    PTHREAD_PRIO_PROTECT___12 = 2
} ;
enum __anonenum_25043950___12 {
    PTHREAD_RWLOCK_PREFER_READER_NP___12 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___12 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___12 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___12 = 0
} ;
enum __anonenum_436439511___12 {
    PTHREAD_INHERIT_SCHED___12 = 0,
    PTHREAD_EXPLICIT_SCHED___12 = 1
} ;
enum __anonenum_998661166___12 {
    PTHREAD_SCOPE_SYSTEM___12 = 0,
    PTHREAD_SCOPE_PROCESS___12 = 1
} ;
enum __anonenum_146137331___12 {
    PTHREAD_PROCESS_PRIVATE___12 = 0,
    PTHREAD_PROCESS_SHARED___12 = 1
} ;
enum __anonenum_53396917___12 {
    PTHREAD_CANCEL_ENABLE___12 = 0,
    PTHREAD_CANCEL_DISABLE___12 = 1
} ;
enum __anonenum_904563783___12 {
    PTHREAD_CANCEL_DEFERRED___12 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___12 = 1
} ;
enum __anonenum_672052974___12 {
    SSL_CT_VALIDATION_PERMISSIVE___12 = 0,
    SSL_CT_VALIDATION_STRICT___12 = 1
} ;
typedef unsigned int ucs_char_t;
enum __anonenum_align_type_191584818 {
    ALIGN_LEFT = 0,
    ALIGN_MIDDLE = 1,
    ALIGN_RIGHT = 2
} ;
typedef enum __anonenum_align_type_191584818 align_type;
enum zip_method {
    ZIP_METHOD_STORE = 0,
    ZIP_METHOD_DEFLATE = 8
} ;
struct zip_local_header {
   unsigned char magic[4] ;
   unsigned char version[2] ;
   unsigned char flags[2] ;
   unsigned char compression_method[2] ;
   unsigned char mtime[2] ;
   unsigned char mdate[2] ;
   unsigned char crc32[4] ;
   unsigned char compressed_size[4] ;
   unsigned char size[4] ;
   unsigned char filename_length[2] ;
   unsigned char extra_length[2] ;
   unsigned char _end[1] ;
};
struct zip_data_desc {
   unsigned char magic[4] ;
   unsigned char crc32[4] ;
   unsigned char compressed_size[4] ;
   unsigned char size[4] ;
   unsigned char _end[1] ;
};
struct zip64_data_desc {
   unsigned char magic[4] ;
   unsigned char crc32[4] ;
   unsigned char compressed_size[8] ;
   unsigned char size[8] ;
   unsigned char _end[1] ;
};
struct zip_dir_trailer {
   unsigned char magic[4] ;
   unsigned char disk[2] ;
   unsigned char directory_start_disk[2] ;
   unsigned char entries_on_this_disk[2] ;
   unsigned char entries[2] ;
   unsigned char size[4] ;
   unsigned char offset[4] ;
   unsigned char comment_length[2] ;
   unsigned char _end[1] ;
};
struct zip_extra_mtime {
   unsigned char magic[2] ;
   unsigned char extra_size[2] ;
   unsigned char flags[1] ;
   unsigned char mtime[4] ;
   unsigned char _end[1] ;
};
struct zip64_extra {
   unsigned char magic[2] ;
   unsigned char extra_size[2] ;
   unsigned char size[8] ;
   unsigned char compressed_size[8] ;
   unsigned char _end[1] ;
};
struct zip64_dir_trailer {
   unsigned char magic[4] ;
   unsigned char record_size[8] ;
   unsigned char creator_version[2] ;
   unsigned char version[2] ;
   unsigned char disk[4] ;
   unsigned char directory_start_disk[4] ;
   unsigned char entries_on_this_disk[8] ;
   unsigned char entries[8] ;
   unsigned char size[8] ;
   unsigned char offset[8] ;
   unsigned char _end[1] ;
};
struct zip64_dir_trailer_locator {
   unsigned char magic[4] ;
   unsigned char disk[4] ;
   unsigned char offset[8] ;
   unsigned char number_of_disks[4] ;
   unsigned char _end[1] ;
};
enum __anonenum_437032235___13 {
    _PC_LINK_MAX___13 = 0,
    _PC_MAX_CANON___13 = 1,
    _PC_MAX_INPUT___13 = 2,
    _PC_NAME_MAX___13 = 3,
    _PC_PATH_MAX___13 = 4,
    _PC_PIPE_BUF___13 = 5,
    _PC_CHOWN_RESTRICTED___13 = 6,
    _PC_NO_TRUNC___13 = 7,
    _PC_VDISABLE___13 = 8,
    _PC_SYNC_IO___13 = 9,
    _PC_ASYNC_IO___13 = 10,
    _PC_PRIO_IO___13 = 11,
    _PC_SOCK_MAXBUF___13 = 12,
    _PC_FILESIZEBITS___13 = 13,
    _PC_REC_INCR_XFER_SIZE___13 = 14,
    _PC_REC_MAX_XFER_SIZE___13 = 15,
    _PC_REC_MIN_XFER_SIZE___13 = 16,
    _PC_REC_XFER_ALIGN___13 = 17,
    _PC_ALLOC_SIZE_MIN___13 = 18,
    _PC_SYMLINK_MAX___13 = 19,
    _PC_2_SYMLINKS___13 = 20
} ;
enum __anonenum_315186338___13 {
    _SC_ARG_MAX___13 = 0,
    _SC_CHILD_MAX___13 = 1,
    _SC_CLK_TCK___13 = 2,
    _SC_NGROUPS_MAX___13 = 3,
    _SC_OPEN_MAX___13 = 4,
    _SC_STREAM_MAX___13 = 5,
    _SC_TZNAME_MAX___13 = 6,
    _SC_JOB_CONTROL___13 = 7,
    _SC_SAVED_IDS___13 = 8,
    _SC_REALTIME_SIGNALS___13 = 9,
    _SC_PRIORITY_SCHEDULING___13 = 10,
    _SC_TIMERS___13 = 11,
    _SC_ASYNCHRONOUS_IO___13 = 12,
    _SC_PRIORITIZED_IO___13 = 13,
    _SC_SYNCHRONIZED_IO___13 = 14,
    _SC_FSYNC___13 = 15,
    _SC_MAPPED_FILES___13 = 16,
    _SC_MEMLOCK___13 = 17,
    _SC_MEMLOCK_RANGE___13 = 18,
    _SC_MEMORY_PROTECTION___13 = 19,
    _SC_MESSAGE_PASSING___13 = 20,
    _SC_SEMAPHORES___13 = 21,
    _SC_SHARED_MEMORY_OBJECTS___13 = 22,
    _SC_AIO_LISTIO_MAX___13 = 23,
    _SC_AIO_MAX___13 = 24,
    _SC_AIO_PRIO_DELTA_MAX___13 = 25,
    _SC_DELAYTIMER_MAX___13 = 26,
    _SC_MQ_OPEN_MAX___13 = 27,
    _SC_MQ_PRIO_MAX___13 = 28,
    _SC_VERSION___13 = 29,
    _SC_PAGESIZE___13 = 30,
    _SC_RTSIG_MAX___13 = 31,
    _SC_SEM_NSEMS_MAX___13 = 32,
    _SC_SEM_VALUE_MAX___13 = 33,
    _SC_SIGQUEUE_MAX___13 = 34,
    _SC_TIMER_MAX___13 = 35,
    _SC_BC_BASE_MAX___13 = 36,
    _SC_BC_DIM_MAX___13 = 37,
    _SC_BC_SCALE_MAX___13 = 38,
    _SC_BC_STRING_MAX___13 = 39,
    _SC_COLL_WEIGHTS_MAX___13 = 40,
    _SC_EQUIV_CLASS_MAX___13 = 41,
    _SC_EXPR_NEST_MAX___13 = 42,
    _SC_LINE_MAX___13 = 43,
    _SC_RE_DUP_MAX___13 = 44,
    _SC_CHARCLASS_NAME_MAX___13 = 45,
    _SC_2_VERSION___13 = 46,
    _SC_2_C_BIND___13 = 47,
    _SC_2_C_DEV___13 = 48,
    _SC_2_FORT_DEV___13 = 49,
    _SC_2_FORT_RUN___13 = 50,
    _SC_2_SW_DEV___13 = 51,
    _SC_2_LOCALEDEF___13 = 52,
    _SC_PII___13 = 53,
    _SC_PII_XTI___13 = 54,
    _SC_PII_SOCKET___13 = 55,
    _SC_PII_INTERNET___13 = 56,
    _SC_PII_OSI___13 = 57,
    _SC_POLL___13 = 58,
    _SC_SELECT___13 = 59,
    _SC_UIO_MAXIOV___13 = 60,
    _SC_IOV_MAX___13 = 60,
    _SC_PII_INTERNET_STREAM___13 = 61,
    _SC_PII_INTERNET_DGRAM___13 = 62,
    _SC_PII_OSI_COTS___13 = 63,
    _SC_PII_OSI_CLTS___13 = 64,
    _SC_PII_OSI_M___13 = 65,
    _SC_T_IOV_MAX___13 = 66,
    _SC_THREADS___13 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___13 = 68,
    _SC_GETGR_R_SIZE_MAX___13 = 69,
    _SC_GETPW_R_SIZE_MAX___13 = 70,
    _SC_LOGIN_NAME_MAX___13 = 71,
    _SC_TTY_NAME_MAX___13 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___13 = 73,
    _SC_THREAD_KEYS_MAX___13 = 74,
    _SC_THREAD_STACK_MIN___13 = 75,
    _SC_THREAD_THREADS_MAX___13 = 76,
    _SC_THREAD_ATTR_STACKADDR___13 = 77,
    _SC_THREAD_ATTR_STACKSIZE___13 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___13 = 79,
    _SC_THREAD_PRIO_INHERIT___13 = 80,
    _SC_THREAD_PRIO_PROTECT___13 = 81,
    _SC_THREAD_PROCESS_SHARED___13 = 82,
    _SC_NPROCESSORS_CONF___13 = 83,
    _SC_NPROCESSORS_ONLN___13 = 84,
    _SC_PHYS_PAGES___13 = 85,
    _SC_AVPHYS_PAGES___13 = 86,
    _SC_ATEXIT_MAX___13 = 87,
    _SC_PASS_MAX___13 = 88,
    _SC_XOPEN_VERSION___13 = 89,
    _SC_XOPEN_XCU_VERSION___13 = 90,
    _SC_XOPEN_UNIX___13 = 91,
    _SC_XOPEN_CRYPT___13 = 92,
    _SC_XOPEN_ENH_I18N___13 = 93,
    _SC_XOPEN_SHM___13 = 94,
    _SC_2_CHAR_TERM___13 = 95,
    _SC_2_C_VERSION___13 = 96,
    _SC_2_UPE___13 = 97,
    _SC_XOPEN_XPG2___13 = 98,
    _SC_XOPEN_XPG3___13 = 99,
    _SC_XOPEN_XPG4___13 = 100,
    _SC_CHAR_BIT___13 = 101,
    _SC_CHAR_MAX___13 = 102,
    _SC_CHAR_MIN___13 = 103,
    _SC_INT_MAX___13 = 104,
    _SC_INT_MIN___13 = 105,
    _SC_LONG_BIT___13 = 106,
    _SC_WORD_BIT___13 = 107,
    _SC_MB_LEN_MAX___13 = 108,
    _SC_NZERO___13 = 109,
    _SC_SSIZE_MAX___13 = 110,
    _SC_SCHAR_MAX___13 = 111,
    _SC_SCHAR_MIN___13 = 112,
    _SC_SHRT_MAX___13 = 113,
    _SC_SHRT_MIN___13 = 114,
    _SC_UCHAR_MAX___13 = 115,
    _SC_UINT_MAX___13 = 116,
    _SC_ULONG_MAX___13 = 117,
    _SC_USHRT_MAX___13 = 118,
    _SC_NL_ARGMAX___13 = 119,
    _SC_NL_LANGMAX___13 = 120,
    _SC_NL_MSGMAX___13 = 121,
    _SC_NL_NMAX___13 = 122,
    _SC_NL_SETMAX___13 = 123,
    _SC_NL_TEXTMAX___13 = 124,
    _SC_XBS5_ILP32_OFF32___13 = 125,
    _SC_XBS5_ILP32_OFFBIG___13 = 126,
    _SC_XBS5_LP64_OFF64___13 = 127,
    _SC_XBS5_LPBIG_OFFBIG___13 = 128,
    _SC_XOPEN_LEGACY___13 = 129,
    _SC_XOPEN_REALTIME___13 = 130,
    _SC_XOPEN_REALTIME_THREADS___13 = 131,
    _SC_ADVISORY_INFO___13 = 132,
    _SC_BARRIERS___13 = 133,
    _SC_BASE___13 = 134,
    _SC_C_LANG_SUPPORT___13 = 135,
    _SC_C_LANG_SUPPORT_R___13 = 136,
    _SC_CLOCK_SELECTION___13 = 137,
    _SC_CPUTIME___13 = 138,
    _SC_THREAD_CPUTIME___13 = 139,
    _SC_DEVICE_IO___13 = 140,
    _SC_DEVICE_SPECIFIC___13 = 141,
    _SC_DEVICE_SPECIFIC_R___13 = 142,
    _SC_FD_MGMT___13 = 143,
    _SC_FIFO___13 = 144,
    _SC_PIPE___13 = 145,
    _SC_FILE_ATTRIBUTES___13 = 146,
    _SC_FILE_LOCKING___13 = 147,
    _SC_FILE_SYSTEM___13 = 148,
    _SC_MONOTONIC_CLOCK___13 = 149,
    _SC_MULTI_PROCESS___13 = 150,
    _SC_SINGLE_PROCESS___13 = 151,
    _SC_NETWORKING___13 = 152,
    _SC_READER_WRITER_LOCKS___13 = 153,
    _SC_SPIN_LOCKS___13 = 154,
    _SC_REGEXP___13 = 155,
    _SC_REGEX_VERSION___13 = 156,
    _SC_SHELL___13 = 157,
    _SC_SIGNALS___13 = 158,
    _SC_SPAWN___13 = 159,
    _SC_SPORADIC_SERVER___13 = 160,
    _SC_THREAD_SPORADIC_SERVER___13 = 161,
    _SC_SYSTEM_DATABASE___13 = 162,
    _SC_SYSTEM_DATABASE_R___13 = 163,
    _SC_TIMEOUTS___13 = 164,
    _SC_TYPED_MEMORY_OBJECTS___13 = 165,
    _SC_USER_GROUPS___13 = 166,
    _SC_USER_GROUPS_R___13 = 167,
    _SC_2_PBS___13 = 168,
    _SC_2_PBS_ACCOUNTING___13 = 169,
    _SC_2_PBS_LOCATE___13 = 170,
    _SC_2_PBS_MESSAGE___13 = 171,
    _SC_2_PBS_TRACK___13 = 172,
    _SC_SYMLOOP_MAX___13 = 173,
    _SC_STREAMS___13 = 174,
    _SC_2_PBS_CHECKPOINT___13 = 175,
    _SC_V6_ILP32_OFF32___13 = 176,
    _SC_V6_ILP32_OFFBIG___13 = 177,
    _SC_V6_LP64_OFF64___13 = 178,
    _SC_V6_LPBIG_OFFBIG___13 = 179,
    _SC_HOST_NAME_MAX___13 = 180,
    _SC_TRACE___13 = 181,
    _SC_TRACE_EVENT_FILTER___13 = 182,
    _SC_TRACE_INHERIT___13 = 183,
    _SC_TRACE_LOG___13 = 184,
    _SC_LEVEL1_ICACHE_SIZE___13 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___13 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___13 = 187,
    _SC_LEVEL1_DCACHE_SIZE___13 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___13 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___13 = 190,
    _SC_LEVEL2_CACHE_SIZE___13 = 191,
    _SC_LEVEL2_CACHE_ASSOC___13 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___13 = 193,
    _SC_LEVEL3_CACHE_SIZE___13 = 194,
    _SC_LEVEL3_CACHE_ASSOC___13 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___13 = 196,
    _SC_LEVEL4_CACHE_SIZE___13 = 197,
    _SC_LEVEL4_CACHE_ASSOC___13 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___13 = 199,
    _SC_IPV6___13 = 235,
    _SC_RAW_SOCKETS___13 = 236,
    _SC_V7_ILP32_OFF32___13 = 237,
    _SC_V7_ILP32_OFFBIG___13 = 238,
    _SC_V7_LP64_OFF64___13 = 239,
    _SC_V7_LPBIG_OFFBIG___13 = 240,
    _SC_SS_REPL_MAX___13 = 241,
    _SC_TRACE_EVENT_NAME_MAX___13 = 242,
    _SC_TRACE_NAME_MAX___13 = 243,
    _SC_TRACE_SYS_MAX___13 = 244,
    _SC_TRACE_USER_EVENT_MAX___13 = 245,
    _SC_XOPEN_STREAMS___13 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___13 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___13 = 248
} ;
enum __anonenum_875524036___13 {
    _CS_PATH___13 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___13 = 1,
    _CS_GNU_LIBC_VERSION___13 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___13 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___13 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___13 = 5,
    _CS_LFS_CFLAGS___13 = 1000,
    _CS_LFS_LDFLAGS___13 = 1001,
    _CS_LFS_LIBS___13 = 1002,
    _CS_LFS_LINTFLAGS___13 = 1003,
    _CS_LFS64_CFLAGS___13 = 1004,
    _CS_LFS64_LDFLAGS___13 = 1005,
    _CS_LFS64_LIBS___13 = 1006,
    _CS_LFS64_LINTFLAGS___13 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___13 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___13 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___13 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___13 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___13 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___13 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___13 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___13 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___13 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___13 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___13 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___13 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___13 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___13 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___13 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___13 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___13 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___13 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___13 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___13 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___13 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___13 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___13 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___13 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___13 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___13 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___13 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___13 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___13 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___13 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___13 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___13 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___13 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___13 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___13 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___13 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___13 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___13 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___13 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___13 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___13 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___13 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___13 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___13 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___13 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___13 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___13 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___13 = 1147,
    _CS_V6_ENV___13 = 1148,
    _CS_V7_ENV___13 = 1149
} ;
enum __anonenum_513775621___13 {
    DT_UNKNOWN___13 = 0,
    DT_FIFO___13 = 1,
    DT_CHR___13 = 2,
    DT_DIR___13 = 4,
    DT_BLK___13 = 6,
    DT_REG___13 = 8,
    DT_LNK___13 = 10,
    DT_SOCK___13 = 12,
    DT_WHT___13 = 14
} ;
enum __anonenum_77002343___13 {
    SI_ASYNCNL___13 = -60,
    SI_TKILL___13 = -6,
    SI_SIGIO___13 = -5,
    SI_ASYNCIO___13 = -4,
    SI_MESGQ___13 = -3,
    SI_TIMER___13 = -2,
    SI_QUEUE___13 = -1,
    SI_USER___13 = 0,
    SI_KERNEL___13 = 128
} ;
enum __anonenum_131038172___13 {
    ILL_ILLOPC___13 = 1,
    ILL_ILLOPN___13 = 2,
    ILL_ILLADR___13 = 3,
    ILL_ILLTRP___13 = 4,
    ILL_PRVOPC___13 = 5,
    ILL_PRVREG___13 = 6,
    ILL_COPROC___13 = 7,
    ILL_BADSTK___13 = 8
} ;
enum __anonenum_452038093___13 {
    FPE_INTDIV___13 = 1,
    FPE_INTOVF___13 = 2,
    FPE_FLTDIV___13 = 3,
    FPE_FLTOVF___13 = 4,
    FPE_FLTUND___13 = 5,
    FPE_FLTRES___13 = 6,
    FPE_FLTINV___13 = 7,
    FPE_FLTSUB___13 = 8
} ;
enum __anonenum_30976155___13 {
    SEGV_MAPERR___13 = 1,
    SEGV_ACCERR___13 = 2,
    SEGV_BNDERR___13 = 3,
    SEGV_PKUERR___13 = 4
} ;
enum __anonenum_1036286214___13 {
    BUS_ADRALN___13 = 1,
    BUS_ADRERR___13 = 2,
    BUS_OBJERR___13 = 3,
    BUS_MCEERR_AR___13 = 4,
    BUS_MCEERR_AO___13 = 5
} ;
enum __anonenum_493465559___13 {
    TRAP_BRKPT___13 = 1,
    TRAP_TRACE___13 = 2
} ;
enum __anonenum_23175539___13 {
    CLD_EXITED___13 = 1,
    CLD_KILLED___13 = 2,
    CLD_DUMPED___13 = 3,
    CLD_TRAPPED___13 = 4,
    CLD_STOPPED___13 = 5,
    CLD_CONTINUED___13 = 6
} ;
enum __anonenum_111643124___13 {
    POLL_IN___13 = 1,
    POLL_OUT___13 = 2,
    POLL_MSG___13 = 3,
    POLL_ERR___13 = 4,
    POLL_PRI___13 = 5,
    POLL_HUP___13 = 6
} ;
enum __anonenum_852341087___13 {
    SIGEV_SIGNAL___13 = 0,
    SIGEV_NONE___13 = 1,
    SIGEV_THREAD___13 = 2,
    SIGEV_THREAD_ID___13 = 4
} ;
enum __anonenum_451154152___13 {
    REG_R8___13 = 0,
    REG_R9___13 = 1,
    REG_R10___13 = 2,
    REG_R11___13 = 3,
    REG_R12___13 = 4,
    REG_R13___13 = 5,
    REG_R14___13 = 6,
    REG_R15___13 = 7,
    REG_RDI___13 = 8,
    REG_RSI___13 = 9,
    REG_RBP___13 = 10,
    REG_RBX___13 = 11,
    REG_RDX___13 = 12,
    REG_RAX___13 = 13,
    REG_RCX___13 = 14,
    REG_RSP___13 = 15,
    REG_RIP___13 = 16,
    REG_EFL___13 = 17,
    REG_CSGSFS___13 = 18,
    REG_ERR___13 = 19,
    REG_TRAPNO___13 = 20,
    REG_OLDMASK___13 = 21,
    REG_CR2___13 = 22
} ;
enum __anonenum_57186863___13 {
    SS_ONSTACK___13 = 1,
    SS_DISABLE___13 = 2
} ;
enum __anonenum_83571709___13 {
    MSG_OOB___13 = 1,
    MSG_PEEK___13 = 2,
    MSG_DONTROUTE___13 = 4,
    MSG_TRYHARD___13 = 4,
    MSG_CTRUNC___13 = 8,
    MSG_PROXY___13 = 16,
    MSG_TRUNC___13 = 32,
    MSG_DONTWAIT___13 = 64,
    MSG_EOR___13 = 128,
    MSG_WAITALL___13 = 256,
    MSG_FIN___13 = 512,
    MSG_SYN___13 = 1024,
    MSG_CONFIRM___13 = 2048,
    MSG_RST___13 = 4096,
    MSG_ERRQUEUE___13 = 8192,
    MSG_NOSIGNAL___13 = 16384,
    MSG_MORE___13 = 32768,
    MSG_WAITFORONE___13 = 65536,
    MSG_BATCH___13 = 262144,
    MSG_ZEROCOPY___13 = 67108864,
    MSG_FASTOPEN___13 = 536870912,
    MSG_CMSG_CLOEXEC___13 = 1073741824
} ;
enum __anonenum_617082774___13 {
    SCM_RIGHTS___13 = 1,
    SCM_CREDENTIALS___13 = 2
} ;
enum __anonenum_606441560___13 {
    SHUT_RD___13 = 0,
    SHUT_WR___13 = 1,
    SHUT_RDWR___13 = 2
} ;
enum __anonenum_681669233___13 {
    IPPROTO_IP___13 = 0,
    IPPROTO_ICMP___13 = 1,
    IPPROTO_IGMP___13 = 2,
    IPPROTO_IPIP___13 = 4,
    IPPROTO_TCP___13 = 6,
    IPPROTO_EGP___13 = 8,
    IPPROTO_PUP___13 = 12,
    IPPROTO_UDP___13 = 17,
    IPPROTO_IDP___13 = 22,
    IPPROTO_TP___13 = 29,
    IPPROTO_DCCP___13 = 33,
    IPPROTO_IPV6___13 = 41,
    IPPROTO_RSVP___13 = 46,
    IPPROTO_GRE___13 = 47,
    IPPROTO_ESP___13 = 50,
    IPPROTO_AH___13 = 51,
    IPPROTO_MTP___13 = 92,
    IPPROTO_BEETPH___13 = 94,
    IPPROTO_ENCAP___13 = 98,
    IPPROTO_PIM___13 = 103,
    IPPROTO_COMP___13 = 108,
    IPPROTO_SCTP___13 = 132,
    IPPROTO_UDPLITE___13 = 136,
    IPPROTO_MPLS___13 = 137,
    IPPROTO_RAW___13 = 255,
    IPPROTO_MAX___13 = 256
} ;
enum __anonenum_218739988___13 {
    IPPROTO_HOPOPTS___13 = 0,
    IPPROTO_ROUTING___13 = 43,
    IPPROTO_FRAGMENT___13 = 44,
    IPPROTO_ICMPV6___13 = 58,
    IPPROTO_NONE___13 = 59,
    IPPROTO_DSTOPTS___13 = 60,
    IPPROTO_MH___13 = 135
} ;
enum __anonenum_662268580___13 {
    IPPORT_ECHO___13 = 7,
    IPPORT_DISCARD___13 = 9,
    IPPORT_SYSTAT___13 = 11,
    IPPORT_DAYTIME___13 = 13,
    IPPORT_NETSTAT___13 = 15,
    IPPORT_FTP___13 = 21,
    IPPORT_TELNET___13 = 23,
    IPPORT_SMTP___13 = 25,
    IPPORT_TIMESERVER___13 = 37,
    IPPORT_NAMESERVER___13 = 42,
    IPPORT_WHOIS___13 = 43,
    IPPORT_MTP___13 = 57,
    IPPORT_TFTP___13 = 69,
    IPPORT_RJE___13 = 77,
    IPPORT_FINGER___13 = 79,
    IPPORT_TTYLINK___13 = 87,
    IPPORT_SUPDUP___13 = 95,
    IPPORT_EXECSERVER___13 = 512,
    IPPORT_LOGINSERVER___13 = 513,
    IPPORT_CMDSERVER___13 = 514,
    IPPORT_EFSSERVER___13 = 520,
    IPPORT_BIFFUDP___13 = 512,
    IPPORT_WHOSERVER___13 = 513,
    IPPORT_ROUTESERVER___13 = 520,
    IPPORT_RESERVED___13 = 1024,
    IPPORT_USERRESERVED___13 = 5000
} ;
enum __anonenum_788308992___13 {
    TCP_ESTABLISHED___13 = 1,
    TCP_SYN_SENT___13 = 2,
    TCP_SYN_RECV___13 = 3,
    TCP_FIN_WAIT1___13 = 4,
    TCP_FIN_WAIT2___13 = 5,
    TCP_TIME_WAIT___13 = 6,
    TCP_CLOSE___13 = 7,
    TCP_CLOSE_WAIT___13 = 8,
    TCP_LAST_ACK___13 = 9,
    TCP_LISTEN___13 = 10,
    TCP_CLOSING___13 = 11
} ;
enum __anonenum_221125648___13 {
    TCP_NO_QUEUE___13 = 0,
    TCP_RECV_QUEUE___13 = 1,
    TCP_SEND_QUEUE___13 = 2,
    TCP_QUEUES_NR___13 = 3
} ;
enum __anonenum_34415463___13 {
    PTHREAD_CREATE_JOINABLE___13 = 0,
    PTHREAD_CREATE_DETACHED___13 = 1
} ;
enum __anonenum_303612439___13 {
    PTHREAD_MUTEX_TIMED_NP___13 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___13 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___13 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___13 = 3,
    PTHREAD_MUTEX_NORMAL___13 = 0,
    PTHREAD_MUTEX_RECURSIVE___13 = 1,
    PTHREAD_MUTEX_ERRORCHECK___13 = 2,
    PTHREAD_MUTEX_DEFAULT___13 = 0,
    PTHREAD_MUTEX_FAST_NP___13 = 0
} ;
enum __anonenum_931900394___13 {
    PTHREAD_MUTEX_STALLED___13 = 0,
    PTHREAD_MUTEX_STALLED_NP___13 = 0,
    PTHREAD_MUTEX_ROBUST___13 = 1,
    PTHREAD_MUTEX_ROBUST_NP___13 = 1
} ;
enum __anonenum_205214487___13 {
    PTHREAD_PRIO_NONE___13 = 0,
    PTHREAD_PRIO_INHERIT___13 = 1,
    PTHREAD_PRIO_PROTECT___13 = 2
} ;
enum __anonenum_25043950___13 {
    PTHREAD_RWLOCK_PREFER_READER_NP___13 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___13 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___13 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___13 = 0
} ;
enum __anonenum_436439511___13 {
    PTHREAD_INHERIT_SCHED___13 = 0,
    PTHREAD_EXPLICIT_SCHED___13 = 1
} ;
enum __anonenum_998661166___13 {
    PTHREAD_SCOPE_SYSTEM___13 = 0,
    PTHREAD_SCOPE_PROCESS___13 = 1
} ;
enum __anonenum_146137331___13 {
    PTHREAD_PROCESS_PRIVATE___13 = 0,
    PTHREAD_PROCESS_SHARED___13 = 1
} ;
enum __anonenum_53396917___13 {
    PTHREAD_CANCEL_ENABLE___13 = 0,
    PTHREAD_CANCEL_DISABLE___13 = 1
} ;
enum __anonenum_904563783___13 {
    PTHREAD_CANCEL_DEFERRED___13 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___13 = 1
} ;
enum __anonenum_672052974___13 {
    SSL_CT_VALIDATION_PERMISSIVE___13 = 0,
    SSL_CT_VALIDATION_STRICT___13 = 1
} ;
struct unpack_trees_options ;
typedef int (*merge_fn_t)(struct cache_entry  const  **src , struct unpack_trees_options *options );
enum unpack_trees_error_types {
    ERROR_WOULD_OVERWRITE = 0,
    ERROR_NOT_UPTODATE_FILE = 1,
    ERROR_NOT_UPTODATE_DIR = 2,
    ERROR_CWD_IN_THE_WAY = 3,
    ERROR_WOULD_LOSE_UNTRACKED_OVERWRITTEN = 4,
    ERROR_WOULD_LOSE_UNTRACKED_REMOVED = 5,
    ERROR_BIND_OVERLAP = 6,
    ERROR_WOULD_LOSE_SUBMODULE = 7,
    NB_UNPACK_TREES_ERROR_TYPES = 8,
    WARNING_SPARSE_NOT_UPTODATE_FILE = 9,
    WARNING_SPARSE_UNMERGED_FILE = 10,
    WARNING_SPARSE_ORPHANED_NOT_OVERWRITTEN = 11,
    NB_UNPACK_TREES_WARNING_TYPES = 12
} ;
enum unpack_trees_reset_type {
    UNPACK_RESET_NONE = 0,
    UNPACK_RESET_INVALID = 1,
    UNPACK_RESET_PROTECT_UNTRACKED = 2,
    UNPACK_RESET_OVERWRITE_UNTRACKED = 3
} ;
struct unpack_trees_options {
   unsigned int merge ;
   unsigned int update ;
   unsigned int preserve_ignored ;
   unsigned int clone ;
   unsigned int index_only ;
   unsigned int nontrivial_merge ;
   unsigned int trivial_merges_only ;
   unsigned int verbose_update ;
   unsigned int aggressive ;
   unsigned int skip_unmerged ;
   unsigned int initial_checkout ;
   unsigned int diff_index_cached ;
   unsigned int debug_unpack ;
   unsigned int skip_sparse_checkout ;
   unsigned int quiet ;
   unsigned int exiting_early ;
   unsigned int show_all_errors ;
   unsigned int dry_run ;
   enum unpack_trees_reset_type reset ;
   char const   *prefix ;
   int cache_bottom ;
   struct pathspec *pathspec ;
   int (*fn)(struct cache_entry  const  **src , struct unpack_trees_options *options ) ;
   char const   *msgs[12] ;
   struct strvec msgs_to_free ;
   struct string_list unpack_rejects[12] ;
   int head_idx ;
   int merge_size ;
   struct cache_entry *df_conflict_entry ;
   void *unpack_data ;
   struct index_state *dst_index ;
   struct index_state *src_index ;
   struct index_state result ;
   struct pattern_list *pl ;
   struct dir_struct *dir ;
   struct checkout_metadata meta ;
};
enum update_sparsity_result {
    UPDATE_SPARSITY_SUCCESS = 0,
    UPDATE_SPARSITY_WARNINGS = 1,
    UPDATE_SPARSITY_INDEX_UPDATE_FAILURES = -1,
    UPDATE_SPARSITY_WORKTREE_UPDATE_FAILURES = -2
} ;
struct directory {
   struct directory *up ;
   struct object_id oid ;
   int baselen ;
   int len ;
   unsigned int mode ;
   char path[] ;
};
struct archiver_context {
   struct archiver_args *args ;
   int (*write_entry)(struct archiver_args *args , struct object_id  const  *oid ,
                      char const   *path , size_t pathlen , unsigned int mode , void *buffer ,
                      unsigned long size ) ;
   struct directory *bottom ;
};
struct extra_file_info {
   char *base ;
   struct stat stat ;
};
struct path_exists_context {
   struct pathspec pathspec ;
   struct archiver_args *args ;
};
enum __anonenum_437032235___14 {
    _PC_LINK_MAX___14 = 0,
    _PC_MAX_CANON___14 = 1,
    _PC_MAX_INPUT___14 = 2,
    _PC_NAME_MAX___14 = 3,
    _PC_PATH_MAX___14 = 4,
    _PC_PIPE_BUF___14 = 5,
    _PC_CHOWN_RESTRICTED___14 = 6,
    _PC_NO_TRUNC___14 = 7,
    _PC_VDISABLE___14 = 8,
    _PC_SYNC_IO___14 = 9,
    _PC_ASYNC_IO___14 = 10,
    _PC_PRIO_IO___14 = 11,
    _PC_SOCK_MAXBUF___14 = 12,
    _PC_FILESIZEBITS___14 = 13,
    _PC_REC_INCR_XFER_SIZE___14 = 14,
    _PC_REC_MAX_XFER_SIZE___14 = 15,
    _PC_REC_MIN_XFER_SIZE___14 = 16,
    _PC_REC_XFER_ALIGN___14 = 17,
    _PC_ALLOC_SIZE_MIN___14 = 18,
    _PC_SYMLINK_MAX___14 = 19,
    _PC_2_SYMLINKS___14 = 20
} ;
enum __anonenum_315186338___14 {
    _SC_ARG_MAX___14 = 0,
    _SC_CHILD_MAX___14 = 1,
    _SC_CLK_TCK___14 = 2,
    _SC_NGROUPS_MAX___14 = 3,
    _SC_OPEN_MAX___14 = 4,
    _SC_STREAM_MAX___14 = 5,
    _SC_TZNAME_MAX___14 = 6,
    _SC_JOB_CONTROL___14 = 7,
    _SC_SAVED_IDS___14 = 8,
    _SC_REALTIME_SIGNALS___14 = 9,
    _SC_PRIORITY_SCHEDULING___14 = 10,
    _SC_TIMERS___14 = 11,
    _SC_ASYNCHRONOUS_IO___14 = 12,
    _SC_PRIORITIZED_IO___14 = 13,
    _SC_SYNCHRONIZED_IO___14 = 14,
    _SC_FSYNC___14 = 15,
    _SC_MAPPED_FILES___14 = 16,
    _SC_MEMLOCK___14 = 17,
    _SC_MEMLOCK_RANGE___14 = 18,
    _SC_MEMORY_PROTECTION___14 = 19,
    _SC_MESSAGE_PASSING___14 = 20,
    _SC_SEMAPHORES___14 = 21,
    _SC_SHARED_MEMORY_OBJECTS___14 = 22,
    _SC_AIO_LISTIO_MAX___14 = 23,
    _SC_AIO_MAX___14 = 24,
    _SC_AIO_PRIO_DELTA_MAX___14 = 25,
    _SC_DELAYTIMER_MAX___14 = 26,
    _SC_MQ_OPEN_MAX___14 = 27,
    _SC_MQ_PRIO_MAX___14 = 28,
    _SC_VERSION___14 = 29,
    _SC_PAGESIZE___14 = 30,
    _SC_RTSIG_MAX___14 = 31,
    _SC_SEM_NSEMS_MAX___14 = 32,
    _SC_SEM_VALUE_MAX___14 = 33,
    _SC_SIGQUEUE_MAX___14 = 34,
    _SC_TIMER_MAX___14 = 35,
    _SC_BC_BASE_MAX___14 = 36,
    _SC_BC_DIM_MAX___14 = 37,
    _SC_BC_SCALE_MAX___14 = 38,
    _SC_BC_STRING_MAX___14 = 39,
    _SC_COLL_WEIGHTS_MAX___14 = 40,
    _SC_EQUIV_CLASS_MAX___14 = 41,
    _SC_EXPR_NEST_MAX___14 = 42,
    _SC_LINE_MAX___14 = 43,
    _SC_RE_DUP_MAX___14 = 44,
    _SC_CHARCLASS_NAME_MAX___14 = 45,
    _SC_2_VERSION___14 = 46,
    _SC_2_C_BIND___14 = 47,
    _SC_2_C_DEV___14 = 48,
    _SC_2_FORT_DEV___14 = 49,
    _SC_2_FORT_RUN___14 = 50,
    _SC_2_SW_DEV___14 = 51,
    _SC_2_LOCALEDEF___14 = 52,
    _SC_PII___14 = 53,
    _SC_PII_XTI___14 = 54,
    _SC_PII_SOCKET___14 = 55,
    _SC_PII_INTERNET___14 = 56,
    _SC_PII_OSI___14 = 57,
    _SC_POLL___14 = 58,
    _SC_SELECT___14 = 59,
    _SC_UIO_MAXIOV___14 = 60,
    _SC_IOV_MAX___14 = 60,
    _SC_PII_INTERNET_STREAM___14 = 61,
    _SC_PII_INTERNET_DGRAM___14 = 62,
    _SC_PII_OSI_COTS___14 = 63,
    _SC_PII_OSI_CLTS___14 = 64,
    _SC_PII_OSI_M___14 = 65,
    _SC_T_IOV_MAX___14 = 66,
    _SC_THREADS___14 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___14 = 68,
    _SC_GETGR_R_SIZE_MAX___14 = 69,
    _SC_GETPW_R_SIZE_MAX___14 = 70,
    _SC_LOGIN_NAME_MAX___14 = 71,
    _SC_TTY_NAME_MAX___14 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___14 = 73,
    _SC_THREAD_KEYS_MAX___14 = 74,
    _SC_THREAD_STACK_MIN___14 = 75,
    _SC_THREAD_THREADS_MAX___14 = 76,
    _SC_THREAD_ATTR_STACKADDR___14 = 77,
    _SC_THREAD_ATTR_STACKSIZE___14 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___14 = 79,
    _SC_THREAD_PRIO_INHERIT___14 = 80,
    _SC_THREAD_PRIO_PROTECT___14 = 81,
    _SC_THREAD_PROCESS_SHARED___14 = 82,
    _SC_NPROCESSORS_CONF___14 = 83,
    _SC_NPROCESSORS_ONLN___14 = 84,
    _SC_PHYS_PAGES___14 = 85,
    _SC_AVPHYS_PAGES___14 = 86,
    _SC_ATEXIT_MAX___14 = 87,
    _SC_PASS_MAX___14 = 88,
    _SC_XOPEN_VERSION___14 = 89,
    _SC_XOPEN_XCU_VERSION___14 = 90,
    _SC_XOPEN_UNIX___14 = 91,
    _SC_XOPEN_CRYPT___14 = 92,
    _SC_XOPEN_ENH_I18N___14 = 93,
    _SC_XOPEN_SHM___14 = 94,
    _SC_2_CHAR_TERM___14 = 95,
    _SC_2_C_VERSION___14 = 96,
    _SC_2_UPE___14 = 97,
    _SC_XOPEN_XPG2___14 = 98,
    _SC_XOPEN_XPG3___14 = 99,
    _SC_XOPEN_XPG4___14 = 100,
    _SC_CHAR_BIT___14 = 101,
    _SC_CHAR_MAX___14 = 102,
    _SC_CHAR_MIN___14 = 103,
    _SC_INT_MAX___14 = 104,
    _SC_INT_MIN___14 = 105,
    _SC_LONG_BIT___14 = 106,
    _SC_WORD_BIT___14 = 107,
    _SC_MB_LEN_MAX___14 = 108,
    _SC_NZERO___14 = 109,
    _SC_SSIZE_MAX___14 = 110,
    _SC_SCHAR_MAX___14 = 111,
    _SC_SCHAR_MIN___14 = 112,
    _SC_SHRT_MAX___14 = 113,
    _SC_SHRT_MIN___14 = 114,
    _SC_UCHAR_MAX___14 = 115,
    _SC_UINT_MAX___14 = 116,
    _SC_ULONG_MAX___14 = 117,
    _SC_USHRT_MAX___14 = 118,
    _SC_NL_ARGMAX___14 = 119,
    _SC_NL_LANGMAX___14 = 120,
    _SC_NL_MSGMAX___14 = 121,
    _SC_NL_NMAX___14 = 122,
    _SC_NL_SETMAX___14 = 123,
    _SC_NL_TEXTMAX___14 = 124,
    _SC_XBS5_ILP32_OFF32___14 = 125,
    _SC_XBS5_ILP32_OFFBIG___14 = 126,
    _SC_XBS5_LP64_OFF64___14 = 127,
    _SC_XBS5_LPBIG_OFFBIG___14 = 128,
    _SC_XOPEN_LEGACY___14 = 129,
    _SC_XOPEN_REALTIME___14 = 130,
    _SC_XOPEN_REALTIME_THREADS___14 = 131,
    _SC_ADVISORY_INFO___14 = 132,
    _SC_BARRIERS___14 = 133,
    _SC_BASE___14 = 134,
    _SC_C_LANG_SUPPORT___14 = 135,
    _SC_C_LANG_SUPPORT_R___14 = 136,
    _SC_CLOCK_SELECTION___14 = 137,
    _SC_CPUTIME___14 = 138,
    _SC_THREAD_CPUTIME___14 = 139,
    _SC_DEVICE_IO___14 = 140,
    _SC_DEVICE_SPECIFIC___14 = 141,
    _SC_DEVICE_SPECIFIC_R___14 = 142,
    _SC_FD_MGMT___14 = 143,
    _SC_FIFO___14 = 144,
    _SC_PIPE___14 = 145,
    _SC_FILE_ATTRIBUTES___14 = 146,
    _SC_FILE_LOCKING___14 = 147,
    _SC_FILE_SYSTEM___14 = 148,
    _SC_MONOTONIC_CLOCK___14 = 149,
    _SC_MULTI_PROCESS___14 = 150,
    _SC_SINGLE_PROCESS___14 = 151,
    _SC_NETWORKING___14 = 152,
    _SC_READER_WRITER_LOCKS___14 = 153,
    _SC_SPIN_LOCKS___14 = 154,
    _SC_REGEXP___14 = 155,
    _SC_REGEX_VERSION___14 = 156,
    _SC_SHELL___14 = 157,
    _SC_SIGNALS___14 = 158,
    _SC_SPAWN___14 = 159,
    _SC_SPORADIC_SERVER___14 = 160,
    _SC_THREAD_SPORADIC_SERVER___14 = 161,
    _SC_SYSTEM_DATABASE___14 = 162,
    _SC_SYSTEM_DATABASE_R___14 = 163,
    _SC_TIMEOUTS___14 = 164,
    _SC_TYPED_MEMORY_OBJECTS___14 = 165,
    _SC_USER_GROUPS___14 = 166,
    _SC_USER_GROUPS_R___14 = 167,
    _SC_2_PBS___14 = 168,
    _SC_2_PBS_ACCOUNTING___14 = 169,
    _SC_2_PBS_LOCATE___14 = 170,
    _SC_2_PBS_MESSAGE___14 = 171,
    _SC_2_PBS_TRACK___14 = 172,
    _SC_SYMLOOP_MAX___14 = 173,
    _SC_STREAMS___14 = 174,
    _SC_2_PBS_CHECKPOINT___14 = 175,
    _SC_V6_ILP32_OFF32___14 = 176,
    _SC_V6_ILP32_OFFBIG___14 = 177,
    _SC_V6_LP64_OFF64___14 = 178,
    _SC_V6_LPBIG_OFFBIG___14 = 179,
    _SC_HOST_NAME_MAX___14 = 180,
    _SC_TRACE___14 = 181,
    _SC_TRACE_EVENT_FILTER___14 = 182,
    _SC_TRACE_INHERIT___14 = 183,
    _SC_TRACE_LOG___14 = 184,
    _SC_LEVEL1_ICACHE_SIZE___14 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___14 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___14 = 187,
    _SC_LEVEL1_DCACHE_SIZE___14 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___14 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___14 = 190,
    _SC_LEVEL2_CACHE_SIZE___14 = 191,
    _SC_LEVEL2_CACHE_ASSOC___14 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___14 = 193,
    _SC_LEVEL3_CACHE_SIZE___14 = 194,
    _SC_LEVEL3_CACHE_ASSOC___14 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___14 = 196,
    _SC_LEVEL4_CACHE_SIZE___14 = 197,
    _SC_LEVEL4_CACHE_ASSOC___14 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___14 = 199,
    _SC_IPV6___14 = 235,
    _SC_RAW_SOCKETS___14 = 236,
    _SC_V7_ILP32_OFF32___14 = 237,
    _SC_V7_ILP32_OFFBIG___14 = 238,
    _SC_V7_LP64_OFF64___14 = 239,
    _SC_V7_LPBIG_OFFBIG___14 = 240,
    _SC_SS_REPL_MAX___14 = 241,
    _SC_TRACE_EVENT_NAME_MAX___14 = 242,
    _SC_TRACE_NAME_MAX___14 = 243,
    _SC_TRACE_SYS_MAX___14 = 244,
    _SC_TRACE_USER_EVENT_MAX___14 = 245,
    _SC_XOPEN_STREAMS___14 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___14 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___14 = 248
} ;
enum __anonenum_875524036___14 {
    _CS_PATH___14 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___14 = 1,
    _CS_GNU_LIBC_VERSION___14 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___14 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___14 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___14 = 5,
    _CS_LFS_CFLAGS___14 = 1000,
    _CS_LFS_LDFLAGS___14 = 1001,
    _CS_LFS_LIBS___14 = 1002,
    _CS_LFS_LINTFLAGS___14 = 1003,
    _CS_LFS64_CFLAGS___14 = 1004,
    _CS_LFS64_LDFLAGS___14 = 1005,
    _CS_LFS64_LIBS___14 = 1006,
    _CS_LFS64_LINTFLAGS___14 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___14 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___14 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___14 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___14 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___14 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___14 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___14 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___14 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___14 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___14 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___14 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___14 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___14 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___14 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___14 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___14 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___14 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___14 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___14 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___14 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___14 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___14 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___14 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___14 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___14 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___14 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___14 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___14 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___14 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___14 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___14 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___14 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___14 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___14 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___14 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___14 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___14 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___14 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___14 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___14 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___14 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___14 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___14 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___14 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___14 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___14 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___14 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___14 = 1147,
    _CS_V6_ENV___14 = 1148,
    _CS_V7_ENV___14 = 1149
} ;
enum __anonenum_513775621___14 {
    DT_UNKNOWN___14 = 0,
    DT_FIFO___14 = 1,
    DT_CHR___14 = 2,
    DT_DIR___14 = 4,
    DT_BLK___14 = 6,
    DT_REG___14 = 8,
    DT_LNK___14 = 10,
    DT_SOCK___14 = 12,
    DT_WHT___14 = 14
} ;
enum __anonenum_77002343___14 {
    SI_ASYNCNL___14 = -60,
    SI_TKILL___14 = -6,
    SI_SIGIO___14 = -5,
    SI_ASYNCIO___14 = -4,
    SI_MESGQ___14 = -3,
    SI_TIMER___14 = -2,
    SI_QUEUE___14 = -1,
    SI_USER___14 = 0,
    SI_KERNEL___14 = 128
} ;
enum __anonenum_131038172___14 {
    ILL_ILLOPC___14 = 1,
    ILL_ILLOPN___14 = 2,
    ILL_ILLADR___14 = 3,
    ILL_ILLTRP___14 = 4,
    ILL_PRVOPC___14 = 5,
    ILL_PRVREG___14 = 6,
    ILL_COPROC___14 = 7,
    ILL_BADSTK___14 = 8
} ;
enum __anonenum_452038093___14 {
    FPE_INTDIV___14 = 1,
    FPE_INTOVF___14 = 2,
    FPE_FLTDIV___14 = 3,
    FPE_FLTOVF___14 = 4,
    FPE_FLTUND___14 = 5,
    FPE_FLTRES___14 = 6,
    FPE_FLTINV___14 = 7,
    FPE_FLTSUB___14 = 8
} ;
enum __anonenum_30976155___14 {
    SEGV_MAPERR___14 = 1,
    SEGV_ACCERR___14 = 2,
    SEGV_BNDERR___14 = 3,
    SEGV_PKUERR___14 = 4
} ;
enum __anonenum_1036286214___14 {
    BUS_ADRALN___14 = 1,
    BUS_ADRERR___14 = 2,
    BUS_OBJERR___14 = 3,
    BUS_MCEERR_AR___14 = 4,
    BUS_MCEERR_AO___14 = 5
} ;
enum __anonenum_493465559___14 {
    TRAP_BRKPT___14 = 1,
    TRAP_TRACE___14 = 2
} ;
enum __anonenum_23175539___14 {
    CLD_EXITED___14 = 1,
    CLD_KILLED___14 = 2,
    CLD_DUMPED___14 = 3,
    CLD_TRAPPED___14 = 4,
    CLD_STOPPED___14 = 5,
    CLD_CONTINUED___14 = 6
} ;
enum __anonenum_111643124___14 {
    POLL_IN___14 = 1,
    POLL_OUT___14 = 2,
    POLL_MSG___14 = 3,
    POLL_ERR___14 = 4,
    POLL_PRI___14 = 5,
    POLL_HUP___14 = 6
} ;
enum __anonenum_852341087___14 {
    SIGEV_SIGNAL___14 = 0,
    SIGEV_NONE___14 = 1,
    SIGEV_THREAD___14 = 2,
    SIGEV_THREAD_ID___14 = 4
} ;
enum __anonenum_451154152___14 {
    REG_R8___14 = 0,
    REG_R9___14 = 1,
    REG_R10___14 = 2,
    REG_R11___14 = 3,
    REG_R12___14 = 4,
    REG_R13___14 = 5,
    REG_R14___14 = 6,
    REG_R15___14 = 7,
    REG_RDI___14 = 8,
    REG_RSI___14 = 9,
    REG_RBP___14 = 10,
    REG_RBX___14 = 11,
    REG_RDX___14 = 12,
    REG_RAX___14 = 13,
    REG_RCX___14 = 14,
    REG_RSP___14 = 15,
    REG_RIP___14 = 16,
    REG_EFL___14 = 17,
    REG_CSGSFS___14 = 18,
    REG_ERR___14 = 19,
    REG_TRAPNO___14 = 20,
    REG_OLDMASK___14 = 21,
    REG_CR2___14 = 22
} ;
enum __anonenum_57186863___14 {
    SS_ONSTACK___14 = 1,
    SS_DISABLE___14 = 2
} ;
enum __anonenum_83571709___14 {
    MSG_OOB___14 = 1,
    MSG_PEEK___14 = 2,
    MSG_DONTROUTE___14 = 4,
    MSG_TRYHARD___14 = 4,
    MSG_CTRUNC___14 = 8,
    MSG_PROXY___14 = 16,
    MSG_TRUNC___14 = 32,
    MSG_DONTWAIT___14 = 64,
    MSG_EOR___14 = 128,
    MSG_WAITALL___14 = 256,
    MSG_FIN___14 = 512,
    MSG_SYN___14 = 1024,
    MSG_CONFIRM___14 = 2048,
    MSG_RST___14 = 4096,
    MSG_ERRQUEUE___14 = 8192,
    MSG_NOSIGNAL___14 = 16384,
    MSG_MORE___14 = 32768,
    MSG_WAITFORONE___14 = 65536,
    MSG_BATCH___14 = 262144,
    MSG_ZEROCOPY___14 = 67108864,
    MSG_FASTOPEN___14 = 536870912,
    MSG_CMSG_CLOEXEC___14 = 1073741824
} ;
enum __anonenum_617082774___14 {
    SCM_RIGHTS___14 = 1,
    SCM_CREDENTIALS___14 = 2
} ;
enum __anonenum_606441560___14 {
    SHUT_RD___14 = 0,
    SHUT_WR___14 = 1,
    SHUT_RDWR___14 = 2
} ;
enum __anonenum_681669233___14 {
    IPPROTO_IP___14 = 0,
    IPPROTO_ICMP___14 = 1,
    IPPROTO_IGMP___14 = 2,
    IPPROTO_IPIP___14 = 4,
    IPPROTO_TCP___14 = 6,
    IPPROTO_EGP___14 = 8,
    IPPROTO_PUP___14 = 12,
    IPPROTO_UDP___14 = 17,
    IPPROTO_IDP___14 = 22,
    IPPROTO_TP___14 = 29,
    IPPROTO_DCCP___14 = 33,
    IPPROTO_IPV6___14 = 41,
    IPPROTO_RSVP___14 = 46,
    IPPROTO_GRE___14 = 47,
    IPPROTO_ESP___14 = 50,
    IPPROTO_AH___14 = 51,
    IPPROTO_MTP___14 = 92,
    IPPROTO_BEETPH___14 = 94,
    IPPROTO_ENCAP___14 = 98,
    IPPROTO_PIM___14 = 103,
    IPPROTO_COMP___14 = 108,
    IPPROTO_SCTP___14 = 132,
    IPPROTO_UDPLITE___14 = 136,
    IPPROTO_MPLS___14 = 137,
    IPPROTO_RAW___14 = 255,
    IPPROTO_MAX___14 = 256
} ;
enum __anonenum_218739988___14 {
    IPPROTO_HOPOPTS___14 = 0,
    IPPROTO_ROUTING___14 = 43,
    IPPROTO_FRAGMENT___14 = 44,
    IPPROTO_ICMPV6___14 = 58,
    IPPROTO_NONE___14 = 59,
    IPPROTO_DSTOPTS___14 = 60,
    IPPROTO_MH___14 = 135
} ;
enum __anonenum_662268580___14 {
    IPPORT_ECHO___14 = 7,
    IPPORT_DISCARD___14 = 9,
    IPPORT_SYSTAT___14 = 11,
    IPPORT_DAYTIME___14 = 13,
    IPPORT_NETSTAT___14 = 15,
    IPPORT_FTP___14 = 21,
    IPPORT_TELNET___14 = 23,
    IPPORT_SMTP___14 = 25,
    IPPORT_TIMESERVER___14 = 37,
    IPPORT_NAMESERVER___14 = 42,
    IPPORT_WHOIS___14 = 43,
    IPPORT_MTP___14 = 57,
    IPPORT_TFTP___14 = 69,
    IPPORT_RJE___14 = 77,
    IPPORT_FINGER___14 = 79,
    IPPORT_TTYLINK___14 = 87,
    IPPORT_SUPDUP___14 = 95,
    IPPORT_EXECSERVER___14 = 512,
    IPPORT_LOGINSERVER___14 = 513,
    IPPORT_CMDSERVER___14 = 514,
    IPPORT_EFSSERVER___14 = 520,
    IPPORT_BIFFUDP___14 = 512,
    IPPORT_WHOSERVER___14 = 513,
    IPPORT_ROUTESERVER___14 = 520,
    IPPORT_RESERVED___14 = 1024,
    IPPORT_USERRESERVED___14 = 5000
} ;
enum __anonenum_788308992___14 {
    TCP_ESTABLISHED___14 = 1,
    TCP_SYN_SENT___14 = 2,
    TCP_SYN_RECV___14 = 3,
    TCP_FIN_WAIT1___14 = 4,
    TCP_FIN_WAIT2___14 = 5,
    TCP_TIME_WAIT___14 = 6,
    TCP_CLOSE___14 = 7,
    TCP_CLOSE_WAIT___14 = 8,
    TCP_LAST_ACK___14 = 9,
    TCP_LISTEN___14 = 10,
    TCP_CLOSING___14 = 11
} ;
enum __anonenum_221125648___14 {
    TCP_NO_QUEUE___14 = 0,
    TCP_RECV_QUEUE___14 = 1,
    TCP_SEND_QUEUE___14 = 2,
    TCP_QUEUES_NR___14 = 3
} ;
enum __anonenum_34415463___14 {
    PTHREAD_CREATE_JOINABLE___14 = 0,
    PTHREAD_CREATE_DETACHED___14 = 1
} ;
enum __anonenum_303612439___14 {
    PTHREAD_MUTEX_TIMED_NP___14 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___14 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___14 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___14 = 3,
    PTHREAD_MUTEX_NORMAL___14 = 0,
    PTHREAD_MUTEX_RECURSIVE___14 = 1,
    PTHREAD_MUTEX_ERRORCHECK___14 = 2,
    PTHREAD_MUTEX_DEFAULT___14 = 0,
    PTHREAD_MUTEX_FAST_NP___14 = 0
} ;
enum __anonenum_931900394___14 {
    PTHREAD_MUTEX_STALLED___14 = 0,
    PTHREAD_MUTEX_STALLED_NP___14 = 0,
    PTHREAD_MUTEX_ROBUST___14 = 1,
    PTHREAD_MUTEX_ROBUST_NP___14 = 1
} ;
enum __anonenum_205214487___14 {
    PTHREAD_PRIO_NONE___14 = 0,
    PTHREAD_PRIO_INHERIT___14 = 1,
    PTHREAD_PRIO_PROTECT___14 = 2
} ;
enum __anonenum_25043950___14 {
    PTHREAD_RWLOCK_PREFER_READER_NP___14 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___14 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___14 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___14 = 0
} ;
enum __anonenum_436439511___14 {
    PTHREAD_INHERIT_SCHED___14 = 0,
    PTHREAD_EXPLICIT_SCHED___14 = 1
} ;
enum __anonenum_998661166___14 {
    PTHREAD_SCOPE_SYSTEM___14 = 0,
    PTHREAD_SCOPE_PROCESS___14 = 1
} ;
enum __anonenum_146137331___14 {
    PTHREAD_PROCESS_PRIVATE___14 = 0,
    PTHREAD_PROCESS_SHARED___14 = 1
} ;
enum __anonenum_53396917___14 {
    PTHREAD_CANCEL_ENABLE___14 = 0,
    PTHREAD_CANCEL_DISABLE___14 = 1
} ;
enum __anonenum_904563783___14 {
    PTHREAD_CANCEL_DEFERRED___14 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___14 = 1
} ;
enum __anonenum_672052974___14 {
    SSL_CT_VALIDATION_PERMISSIVE___14 = 0,
    SSL_CT_VALIDATION_STRICT___14 = 1
} ;
struct git_attr {
   int attr_nr ;
   char name[] ;
};
struct attr_hashmap {
   struct hashmap map ;
   pthread_mutex_t mutex ;
};
struct attr_hash_entry {
   struct hashmap_entry ent ;
   char const   *key ;
   size_t keylen ;
   void *value ;
};
struct match_attr ;
struct all_attrs_item {
   struct git_attr  const  *attr ;
   char const   *value ;
   struct match_attr  const  *macro ;
};
struct attr_state {
   struct git_attr  const  *attr ;
   char const   *setto ;
};
struct pattern {
   char const   *pattern ;
   int patternlen ;
   int nowildcardlen ;
   unsigned int flags ;
};
union __anonunion_u_779587093 {
   struct pattern pat ;
   struct git_attr  const  *attr ;
};
struct match_attr {
   union __anonunion_u_779587093 u ;
   char is_macro ;
   unsigned int num_attr ;
   struct attr_state state[] ;
};
struct attr_stack {
   struct attr_stack *prev ;
   char *origin ;
   size_t originlen ;
   unsigned int num_matches ;
   unsigned int alloc ;
   struct match_attr **attrs ;
};
struct check_vector {
   size_t nr ;
   size_t alloc ;
   struct attr_check **checks ;
   pthread_mutex_t mutex ;
};
enum __anonenum_437032235___15 {
    _PC_LINK_MAX___15 = 0,
    _PC_MAX_CANON___15 = 1,
    _PC_MAX_INPUT___15 = 2,
    _PC_NAME_MAX___15 = 3,
    _PC_PATH_MAX___15 = 4,
    _PC_PIPE_BUF___15 = 5,
    _PC_CHOWN_RESTRICTED___15 = 6,
    _PC_NO_TRUNC___15 = 7,
    _PC_VDISABLE___15 = 8,
    _PC_SYNC_IO___15 = 9,
    _PC_ASYNC_IO___15 = 10,
    _PC_PRIO_IO___15 = 11,
    _PC_SOCK_MAXBUF___15 = 12,
    _PC_FILESIZEBITS___15 = 13,
    _PC_REC_INCR_XFER_SIZE___15 = 14,
    _PC_REC_MAX_XFER_SIZE___15 = 15,
    _PC_REC_MIN_XFER_SIZE___15 = 16,
    _PC_REC_XFER_ALIGN___15 = 17,
    _PC_ALLOC_SIZE_MIN___15 = 18,
    _PC_SYMLINK_MAX___15 = 19,
    _PC_2_SYMLINKS___15 = 20
} ;
enum __anonenum_315186338___15 {
    _SC_ARG_MAX___15 = 0,
    _SC_CHILD_MAX___15 = 1,
    _SC_CLK_TCK___15 = 2,
    _SC_NGROUPS_MAX___15 = 3,
    _SC_OPEN_MAX___15 = 4,
    _SC_STREAM_MAX___15 = 5,
    _SC_TZNAME_MAX___15 = 6,
    _SC_JOB_CONTROL___15 = 7,
    _SC_SAVED_IDS___15 = 8,
    _SC_REALTIME_SIGNALS___15 = 9,
    _SC_PRIORITY_SCHEDULING___15 = 10,
    _SC_TIMERS___15 = 11,
    _SC_ASYNCHRONOUS_IO___15 = 12,
    _SC_PRIORITIZED_IO___15 = 13,
    _SC_SYNCHRONIZED_IO___15 = 14,
    _SC_FSYNC___15 = 15,
    _SC_MAPPED_FILES___15 = 16,
    _SC_MEMLOCK___15 = 17,
    _SC_MEMLOCK_RANGE___15 = 18,
    _SC_MEMORY_PROTECTION___15 = 19,
    _SC_MESSAGE_PASSING___15 = 20,
    _SC_SEMAPHORES___15 = 21,
    _SC_SHARED_MEMORY_OBJECTS___15 = 22,
    _SC_AIO_LISTIO_MAX___15 = 23,
    _SC_AIO_MAX___15 = 24,
    _SC_AIO_PRIO_DELTA_MAX___15 = 25,
    _SC_DELAYTIMER_MAX___15 = 26,
    _SC_MQ_OPEN_MAX___15 = 27,
    _SC_MQ_PRIO_MAX___15 = 28,
    _SC_VERSION___15 = 29,
    _SC_PAGESIZE___15 = 30,
    _SC_RTSIG_MAX___15 = 31,
    _SC_SEM_NSEMS_MAX___15 = 32,
    _SC_SEM_VALUE_MAX___15 = 33,
    _SC_SIGQUEUE_MAX___15 = 34,
    _SC_TIMER_MAX___15 = 35,
    _SC_BC_BASE_MAX___15 = 36,
    _SC_BC_DIM_MAX___15 = 37,
    _SC_BC_SCALE_MAX___15 = 38,
    _SC_BC_STRING_MAX___15 = 39,
    _SC_COLL_WEIGHTS_MAX___15 = 40,
    _SC_EQUIV_CLASS_MAX___15 = 41,
    _SC_EXPR_NEST_MAX___15 = 42,
    _SC_LINE_MAX___15 = 43,
    _SC_RE_DUP_MAX___15 = 44,
    _SC_CHARCLASS_NAME_MAX___15 = 45,
    _SC_2_VERSION___15 = 46,
    _SC_2_C_BIND___15 = 47,
    _SC_2_C_DEV___15 = 48,
    _SC_2_FORT_DEV___15 = 49,
    _SC_2_FORT_RUN___15 = 50,
    _SC_2_SW_DEV___15 = 51,
    _SC_2_LOCALEDEF___15 = 52,
    _SC_PII___15 = 53,
    _SC_PII_XTI___15 = 54,
    _SC_PII_SOCKET___15 = 55,
    _SC_PII_INTERNET___15 = 56,
    _SC_PII_OSI___15 = 57,
    _SC_POLL___15 = 58,
    _SC_SELECT___15 = 59,
    _SC_UIO_MAXIOV___15 = 60,
    _SC_IOV_MAX___15 = 60,
    _SC_PII_INTERNET_STREAM___15 = 61,
    _SC_PII_INTERNET_DGRAM___15 = 62,
    _SC_PII_OSI_COTS___15 = 63,
    _SC_PII_OSI_CLTS___15 = 64,
    _SC_PII_OSI_M___15 = 65,
    _SC_T_IOV_MAX___15 = 66,
    _SC_THREADS___15 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___15 = 68,
    _SC_GETGR_R_SIZE_MAX___15 = 69,
    _SC_GETPW_R_SIZE_MAX___15 = 70,
    _SC_LOGIN_NAME_MAX___15 = 71,
    _SC_TTY_NAME_MAX___15 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___15 = 73,
    _SC_THREAD_KEYS_MAX___15 = 74,
    _SC_THREAD_STACK_MIN___15 = 75,
    _SC_THREAD_THREADS_MAX___15 = 76,
    _SC_THREAD_ATTR_STACKADDR___15 = 77,
    _SC_THREAD_ATTR_STACKSIZE___15 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___15 = 79,
    _SC_THREAD_PRIO_INHERIT___15 = 80,
    _SC_THREAD_PRIO_PROTECT___15 = 81,
    _SC_THREAD_PROCESS_SHARED___15 = 82,
    _SC_NPROCESSORS_CONF___15 = 83,
    _SC_NPROCESSORS_ONLN___15 = 84,
    _SC_PHYS_PAGES___15 = 85,
    _SC_AVPHYS_PAGES___15 = 86,
    _SC_ATEXIT_MAX___15 = 87,
    _SC_PASS_MAX___15 = 88,
    _SC_XOPEN_VERSION___15 = 89,
    _SC_XOPEN_XCU_VERSION___15 = 90,
    _SC_XOPEN_UNIX___15 = 91,
    _SC_XOPEN_CRYPT___15 = 92,
    _SC_XOPEN_ENH_I18N___15 = 93,
    _SC_XOPEN_SHM___15 = 94,
    _SC_2_CHAR_TERM___15 = 95,
    _SC_2_C_VERSION___15 = 96,
    _SC_2_UPE___15 = 97,
    _SC_XOPEN_XPG2___15 = 98,
    _SC_XOPEN_XPG3___15 = 99,
    _SC_XOPEN_XPG4___15 = 100,
    _SC_CHAR_BIT___15 = 101,
    _SC_CHAR_MAX___15 = 102,
    _SC_CHAR_MIN___15 = 103,
    _SC_INT_MAX___15 = 104,
    _SC_INT_MIN___15 = 105,
    _SC_LONG_BIT___15 = 106,
    _SC_WORD_BIT___15 = 107,
    _SC_MB_LEN_MAX___15 = 108,
    _SC_NZERO___15 = 109,
    _SC_SSIZE_MAX___15 = 110,
    _SC_SCHAR_MAX___15 = 111,
    _SC_SCHAR_MIN___15 = 112,
    _SC_SHRT_MAX___15 = 113,
    _SC_SHRT_MIN___15 = 114,
    _SC_UCHAR_MAX___15 = 115,
    _SC_UINT_MAX___15 = 116,
    _SC_ULONG_MAX___15 = 117,
    _SC_USHRT_MAX___15 = 118,
    _SC_NL_ARGMAX___15 = 119,
    _SC_NL_LANGMAX___15 = 120,
    _SC_NL_MSGMAX___15 = 121,
    _SC_NL_NMAX___15 = 122,
    _SC_NL_SETMAX___15 = 123,
    _SC_NL_TEXTMAX___15 = 124,
    _SC_XBS5_ILP32_OFF32___15 = 125,
    _SC_XBS5_ILP32_OFFBIG___15 = 126,
    _SC_XBS5_LP64_OFF64___15 = 127,
    _SC_XBS5_LPBIG_OFFBIG___15 = 128,
    _SC_XOPEN_LEGACY___15 = 129,
    _SC_XOPEN_REALTIME___15 = 130,
    _SC_XOPEN_REALTIME_THREADS___15 = 131,
    _SC_ADVISORY_INFO___15 = 132,
    _SC_BARRIERS___15 = 133,
    _SC_BASE___15 = 134,
    _SC_C_LANG_SUPPORT___15 = 135,
    _SC_C_LANG_SUPPORT_R___15 = 136,
    _SC_CLOCK_SELECTION___15 = 137,
    _SC_CPUTIME___15 = 138,
    _SC_THREAD_CPUTIME___15 = 139,
    _SC_DEVICE_IO___15 = 140,
    _SC_DEVICE_SPECIFIC___15 = 141,
    _SC_DEVICE_SPECIFIC_R___15 = 142,
    _SC_FD_MGMT___15 = 143,
    _SC_FIFO___15 = 144,
    _SC_PIPE___15 = 145,
    _SC_FILE_ATTRIBUTES___15 = 146,
    _SC_FILE_LOCKING___15 = 147,
    _SC_FILE_SYSTEM___15 = 148,
    _SC_MONOTONIC_CLOCK___15 = 149,
    _SC_MULTI_PROCESS___15 = 150,
    _SC_SINGLE_PROCESS___15 = 151,
    _SC_NETWORKING___15 = 152,
    _SC_READER_WRITER_LOCKS___15 = 153,
    _SC_SPIN_LOCKS___15 = 154,
    _SC_REGEXP___15 = 155,
    _SC_REGEX_VERSION___15 = 156,
    _SC_SHELL___15 = 157,
    _SC_SIGNALS___15 = 158,
    _SC_SPAWN___15 = 159,
    _SC_SPORADIC_SERVER___15 = 160,
    _SC_THREAD_SPORADIC_SERVER___15 = 161,
    _SC_SYSTEM_DATABASE___15 = 162,
    _SC_SYSTEM_DATABASE_R___15 = 163,
    _SC_TIMEOUTS___15 = 164,
    _SC_TYPED_MEMORY_OBJECTS___15 = 165,
    _SC_USER_GROUPS___15 = 166,
    _SC_USER_GROUPS_R___15 = 167,
    _SC_2_PBS___15 = 168,
    _SC_2_PBS_ACCOUNTING___15 = 169,
    _SC_2_PBS_LOCATE___15 = 170,
    _SC_2_PBS_MESSAGE___15 = 171,
    _SC_2_PBS_TRACK___15 = 172,
    _SC_SYMLOOP_MAX___15 = 173,
    _SC_STREAMS___15 = 174,
    _SC_2_PBS_CHECKPOINT___15 = 175,
    _SC_V6_ILP32_OFF32___15 = 176,
    _SC_V6_ILP32_OFFBIG___15 = 177,
    _SC_V6_LP64_OFF64___15 = 178,
    _SC_V6_LPBIG_OFFBIG___15 = 179,
    _SC_HOST_NAME_MAX___15 = 180,
    _SC_TRACE___15 = 181,
    _SC_TRACE_EVENT_FILTER___15 = 182,
    _SC_TRACE_INHERIT___15 = 183,
    _SC_TRACE_LOG___15 = 184,
    _SC_LEVEL1_ICACHE_SIZE___15 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___15 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___15 = 187,
    _SC_LEVEL1_DCACHE_SIZE___15 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___15 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___15 = 190,
    _SC_LEVEL2_CACHE_SIZE___15 = 191,
    _SC_LEVEL2_CACHE_ASSOC___15 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___15 = 193,
    _SC_LEVEL3_CACHE_SIZE___15 = 194,
    _SC_LEVEL3_CACHE_ASSOC___15 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___15 = 196,
    _SC_LEVEL4_CACHE_SIZE___15 = 197,
    _SC_LEVEL4_CACHE_ASSOC___15 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___15 = 199,
    _SC_IPV6___15 = 235,
    _SC_RAW_SOCKETS___15 = 236,
    _SC_V7_ILP32_OFF32___15 = 237,
    _SC_V7_ILP32_OFFBIG___15 = 238,
    _SC_V7_LP64_OFF64___15 = 239,
    _SC_V7_LPBIG_OFFBIG___15 = 240,
    _SC_SS_REPL_MAX___15 = 241,
    _SC_TRACE_EVENT_NAME_MAX___15 = 242,
    _SC_TRACE_NAME_MAX___15 = 243,
    _SC_TRACE_SYS_MAX___15 = 244,
    _SC_TRACE_USER_EVENT_MAX___15 = 245,
    _SC_XOPEN_STREAMS___15 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___15 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___15 = 248
} ;
enum __anonenum_875524036___15 {
    _CS_PATH___15 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___15 = 1,
    _CS_GNU_LIBC_VERSION___15 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___15 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___15 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___15 = 5,
    _CS_LFS_CFLAGS___15 = 1000,
    _CS_LFS_LDFLAGS___15 = 1001,
    _CS_LFS_LIBS___15 = 1002,
    _CS_LFS_LINTFLAGS___15 = 1003,
    _CS_LFS64_CFLAGS___15 = 1004,
    _CS_LFS64_LDFLAGS___15 = 1005,
    _CS_LFS64_LIBS___15 = 1006,
    _CS_LFS64_LINTFLAGS___15 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___15 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___15 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___15 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___15 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___15 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___15 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___15 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___15 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___15 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___15 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___15 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___15 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___15 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___15 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___15 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___15 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___15 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___15 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___15 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___15 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___15 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___15 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___15 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___15 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___15 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___15 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___15 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___15 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___15 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___15 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___15 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___15 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___15 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___15 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___15 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___15 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___15 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___15 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___15 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___15 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___15 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___15 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___15 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___15 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___15 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___15 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___15 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___15 = 1147,
    _CS_V6_ENV___15 = 1148,
    _CS_V7_ENV___15 = 1149
} ;
enum __anonenum_513775621___15 {
    DT_UNKNOWN___15 = 0,
    DT_FIFO___15 = 1,
    DT_CHR___15 = 2,
    DT_DIR___15 = 4,
    DT_BLK___15 = 6,
    DT_REG___15 = 8,
    DT_LNK___15 = 10,
    DT_SOCK___15 = 12,
    DT_WHT___15 = 14
} ;
enum __anonenum_77002343___15 {
    SI_ASYNCNL___15 = -60,
    SI_TKILL___15 = -6,
    SI_SIGIO___15 = -5,
    SI_ASYNCIO___15 = -4,
    SI_MESGQ___15 = -3,
    SI_TIMER___15 = -2,
    SI_QUEUE___15 = -1,
    SI_USER___15 = 0,
    SI_KERNEL___15 = 128
} ;
enum __anonenum_131038172___15 {
    ILL_ILLOPC___15 = 1,
    ILL_ILLOPN___15 = 2,
    ILL_ILLADR___15 = 3,
    ILL_ILLTRP___15 = 4,
    ILL_PRVOPC___15 = 5,
    ILL_PRVREG___15 = 6,
    ILL_COPROC___15 = 7,
    ILL_BADSTK___15 = 8
} ;
enum __anonenum_452038093___15 {
    FPE_INTDIV___15 = 1,
    FPE_INTOVF___15 = 2,
    FPE_FLTDIV___15 = 3,
    FPE_FLTOVF___15 = 4,
    FPE_FLTUND___15 = 5,
    FPE_FLTRES___15 = 6,
    FPE_FLTINV___15 = 7,
    FPE_FLTSUB___15 = 8
} ;
enum __anonenum_30976155___15 {
    SEGV_MAPERR___15 = 1,
    SEGV_ACCERR___15 = 2,
    SEGV_BNDERR___15 = 3,
    SEGV_PKUERR___15 = 4
} ;
enum __anonenum_1036286214___15 {
    BUS_ADRALN___15 = 1,
    BUS_ADRERR___15 = 2,
    BUS_OBJERR___15 = 3,
    BUS_MCEERR_AR___15 = 4,
    BUS_MCEERR_AO___15 = 5
} ;
enum __anonenum_493465559___15 {
    TRAP_BRKPT___15 = 1,
    TRAP_TRACE___15 = 2
} ;
enum __anonenum_23175539___15 {
    CLD_EXITED___15 = 1,
    CLD_KILLED___15 = 2,
    CLD_DUMPED___15 = 3,
    CLD_TRAPPED___15 = 4,
    CLD_STOPPED___15 = 5,
    CLD_CONTINUED___15 = 6
} ;
enum __anonenum_111643124___15 {
    POLL_IN___15 = 1,
    POLL_OUT___15 = 2,
    POLL_MSG___15 = 3,
    POLL_ERR___15 = 4,
    POLL_PRI___15 = 5,
    POLL_HUP___15 = 6
} ;
enum __anonenum_852341087___15 {
    SIGEV_SIGNAL___15 = 0,
    SIGEV_NONE___15 = 1,
    SIGEV_THREAD___15 = 2,
    SIGEV_THREAD_ID___15 = 4
} ;
enum __anonenum_451154152___15 {
    REG_R8___15 = 0,
    REG_R9___15 = 1,
    REG_R10___15 = 2,
    REG_R11___15 = 3,
    REG_R12___15 = 4,
    REG_R13___15 = 5,
    REG_R14___15 = 6,
    REG_R15___15 = 7,
    REG_RDI___15 = 8,
    REG_RSI___15 = 9,
    REG_RBP___15 = 10,
    REG_RBX___15 = 11,
    REG_RDX___15 = 12,
    REG_RAX___15 = 13,
    REG_RCX___15 = 14,
    REG_RSP___15 = 15,
    REG_RIP___15 = 16,
    REG_EFL___15 = 17,
    REG_CSGSFS___15 = 18,
    REG_ERR___15 = 19,
    REG_TRAPNO___15 = 20,
    REG_OLDMASK___15 = 21,
    REG_CR2___15 = 22
} ;
enum __anonenum_57186863___15 {
    SS_ONSTACK___15 = 1,
    SS_DISABLE___15 = 2
} ;
enum __anonenum_83571709___15 {
    MSG_OOB___15 = 1,
    MSG_PEEK___15 = 2,
    MSG_DONTROUTE___15 = 4,
    MSG_TRYHARD___15 = 4,
    MSG_CTRUNC___15 = 8,
    MSG_PROXY___15 = 16,
    MSG_TRUNC___15 = 32,
    MSG_DONTWAIT___15 = 64,
    MSG_EOR___15 = 128,
    MSG_WAITALL___15 = 256,
    MSG_FIN___15 = 512,
    MSG_SYN___15 = 1024,
    MSG_CONFIRM___15 = 2048,
    MSG_RST___15 = 4096,
    MSG_ERRQUEUE___15 = 8192,
    MSG_NOSIGNAL___15 = 16384,
    MSG_MORE___15 = 32768,
    MSG_WAITFORONE___15 = 65536,
    MSG_BATCH___15 = 262144,
    MSG_ZEROCOPY___15 = 67108864,
    MSG_FASTOPEN___15 = 536870912,
    MSG_CMSG_CLOEXEC___15 = 1073741824
} ;
enum __anonenum_617082774___15 {
    SCM_RIGHTS___15 = 1,
    SCM_CREDENTIALS___15 = 2
} ;
enum __anonenum_606441560___15 {
    SHUT_RD___15 = 0,
    SHUT_WR___15 = 1,
    SHUT_RDWR___15 = 2
} ;
enum __anonenum_681669233___15 {
    IPPROTO_IP___15 = 0,
    IPPROTO_ICMP___15 = 1,
    IPPROTO_IGMP___15 = 2,
    IPPROTO_IPIP___15 = 4,
    IPPROTO_TCP___15 = 6,
    IPPROTO_EGP___15 = 8,
    IPPROTO_PUP___15 = 12,
    IPPROTO_UDP___15 = 17,
    IPPROTO_IDP___15 = 22,
    IPPROTO_TP___15 = 29,
    IPPROTO_DCCP___15 = 33,
    IPPROTO_IPV6___15 = 41,
    IPPROTO_RSVP___15 = 46,
    IPPROTO_GRE___15 = 47,
    IPPROTO_ESP___15 = 50,
    IPPROTO_AH___15 = 51,
    IPPROTO_MTP___15 = 92,
    IPPROTO_BEETPH___15 = 94,
    IPPROTO_ENCAP___15 = 98,
    IPPROTO_PIM___15 = 103,
    IPPROTO_COMP___15 = 108,
    IPPROTO_SCTP___15 = 132,
    IPPROTO_UDPLITE___15 = 136,
    IPPROTO_MPLS___15 = 137,
    IPPROTO_RAW___15 = 255,
    IPPROTO_MAX___15 = 256
} ;
enum __anonenum_218739988___15 {
    IPPROTO_HOPOPTS___15 = 0,
    IPPROTO_ROUTING___15 = 43,
    IPPROTO_FRAGMENT___15 = 44,
    IPPROTO_ICMPV6___15 = 58,
    IPPROTO_NONE___15 = 59,
    IPPROTO_DSTOPTS___15 = 60,
    IPPROTO_MH___15 = 135
} ;
enum __anonenum_662268580___15 {
    IPPORT_ECHO___15 = 7,
    IPPORT_DISCARD___15 = 9,
    IPPORT_SYSTAT___15 = 11,
    IPPORT_DAYTIME___15 = 13,
    IPPORT_NETSTAT___15 = 15,
    IPPORT_FTP___15 = 21,
    IPPORT_TELNET___15 = 23,
    IPPORT_SMTP___15 = 25,
    IPPORT_TIMESERVER___15 = 37,
    IPPORT_NAMESERVER___15 = 42,
    IPPORT_WHOIS___15 = 43,
    IPPORT_MTP___15 = 57,
    IPPORT_TFTP___15 = 69,
    IPPORT_RJE___15 = 77,
    IPPORT_FINGER___15 = 79,
    IPPORT_TTYLINK___15 = 87,
    IPPORT_SUPDUP___15 = 95,
    IPPORT_EXECSERVER___15 = 512,
    IPPORT_LOGINSERVER___15 = 513,
    IPPORT_CMDSERVER___15 = 514,
    IPPORT_EFSSERVER___15 = 520,
    IPPORT_BIFFUDP___15 = 512,
    IPPORT_WHOSERVER___15 = 513,
    IPPORT_ROUTESERVER___15 = 520,
    IPPORT_RESERVED___15 = 1024,
    IPPORT_USERRESERVED___15 = 5000
} ;
enum __anonenum_788308992___15 {
    TCP_ESTABLISHED___15 = 1,
    TCP_SYN_SENT___15 = 2,
    TCP_SYN_RECV___15 = 3,
    TCP_FIN_WAIT1___15 = 4,
    TCP_FIN_WAIT2___15 = 5,
    TCP_TIME_WAIT___15 = 6,
    TCP_CLOSE___15 = 7,
    TCP_CLOSE_WAIT___15 = 8,
    TCP_LAST_ACK___15 = 9,
    TCP_LISTEN___15 = 10,
    TCP_CLOSING___15 = 11
} ;
enum __anonenum_221125648___15 {
    TCP_NO_QUEUE___15 = 0,
    TCP_RECV_QUEUE___15 = 1,
    TCP_SEND_QUEUE___15 = 2,
    TCP_QUEUES_NR___15 = 3
} ;
enum __anonenum_34415463___15 {
    PTHREAD_CREATE_JOINABLE___15 = 0,
    PTHREAD_CREATE_DETACHED___15 = 1
} ;
enum __anonenum_303612439___15 {
    PTHREAD_MUTEX_TIMED_NP___15 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___15 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___15 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___15 = 3,
    PTHREAD_MUTEX_NORMAL___15 = 0,
    PTHREAD_MUTEX_RECURSIVE___15 = 1,
    PTHREAD_MUTEX_ERRORCHECK___15 = 2,
    PTHREAD_MUTEX_DEFAULT___15 = 0,
    PTHREAD_MUTEX_FAST_NP___15 = 0
} ;
enum __anonenum_931900394___15 {
    PTHREAD_MUTEX_STALLED___15 = 0,
    PTHREAD_MUTEX_STALLED_NP___15 = 0,
    PTHREAD_MUTEX_ROBUST___15 = 1,
    PTHREAD_MUTEX_ROBUST_NP___15 = 1
} ;
enum __anonenum_205214487___15 {
    PTHREAD_PRIO_NONE___15 = 0,
    PTHREAD_PRIO_INHERIT___15 = 1,
    PTHREAD_PRIO_PROTECT___15 = 2
} ;
enum __anonenum_25043950___15 {
    PTHREAD_RWLOCK_PREFER_READER_NP___15 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___15 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___15 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___15 = 0
} ;
enum __anonenum_436439511___15 {
    PTHREAD_INHERIT_SCHED___15 = 0,
    PTHREAD_EXPLICIT_SCHED___15 = 1
} ;
enum __anonenum_998661166___15 {
    PTHREAD_SCOPE_SYSTEM___15 = 0,
    PTHREAD_SCOPE_PROCESS___15 = 1
} ;
enum __anonenum_146137331___15 {
    PTHREAD_PROCESS_PRIVATE___15 = 0,
    PTHREAD_PROCESS_SHARED___15 = 1
} ;
enum __anonenum_53396917___15 {
    PTHREAD_CANCEL_ENABLE___15 = 0,
    PTHREAD_CANCEL_DISABLE___15 = 1
} ;
enum __anonenum_904563783___15 {
    PTHREAD_CANCEL_DEFERRED___15 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___15 = 1
} ;
enum __anonenum_672052974___15 {
    SSL_CT_VALIDATION_PERMISSIVE___15 = 0,
    SSL_CT_VALIDATION_STRICT___15 = 1
} ;
enum __anonenum_437032235___16 {
    _PC_LINK_MAX___16 = 0,
    _PC_MAX_CANON___16 = 1,
    _PC_MAX_INPUT___16 = 2,
    _PC_NAME_MAX___16 = 3,
    _PC_PATH_MAX___16 = 4,
    _PC_PIPE_BUF___16 = 5,
    _PC_CHOWN_RESTRICTED___16 = 6,
    _PC_NO_TRUNC___16 = 7,
    _PC_VDISABLE___16 = 8,
    _PC_SYNC_IO___16 = 9,
    _PC_ASYNC_IO___16 = 10,
    _PC_PRIO_IO___16 = 11,
    _PC_SOCK_MAXBUF___16 = 12,
    _PC_FILESIZEBITS___16 = 13,
    _PC_REC_INCR_XFER_SIZE___16 = 14,
    _PC_REC_MAX_XFER_SIZE___16 = 15,
    _PC_REC_MIN_XFER_SIZE___16 = 16,
    _PC_REC_XFER_ALIGN___16 = 17,
    _PC_ALLOC_SIZE_MIN___16 = 18,
    _PC_SYMLINK_MAX___16 = 19,
    _PC_2_SYMLINKS___16 = 20
} ;
enum __anonenum_315186338___16 {
    _SC_ARG_MAX___16 = 0,
    _SC_CHILD_MAX___16 = 1,
    _SC_CLK_TCK___16 = 2,
    _SC_NGROUPS_MAX___16 = 3,
    _SC_OPEN_MAX___16 = 4,
    _SC_STREAM_MAX___16 = 5,
    _SC_TZNAME_MAX___16 = 6,
    _SC_JOB_CONTROL___16 = 7,
    _SC_SAVED_IDS___16 = 8,
    _SC_REALTIME_SIGNALS___16 = 9,
    _SC_PRIORITY_SCHEDULING___16 = 10,
    _SC_TIMERS___16 = 11,
    _SC_ASYNCHRONOUS_IO___16 = 12,
    _SC_PRIORITIZED_IO___16 = 13,
    _SC_SYNCHRONIZED_IO___16 = 14,
    _SC_FSYNC___16 = 15,
    _SC_MAPPED_FILES___16 = 16,
    _SC_MEMLOCK___16 = 17,
    _SC_MEMLOCK_RANGE___16 = 18,
    _SC_MEMORY_PROTECTION___16 = 19,
    _SC_MESSAGE_PASSING___16 = 20,
    _SC_SEMAPHORES___16 = 21,
    _SC_SHARED_MEMORY_OBJECTS___16 = 22,
    _SC_AIO_LISTIO_MAX___16 = 23,
    _SC_AIO_MAX___16 = 24,
    _SC_AIO_PRIO_DELTA_MAX___16 = 25,
    _SC_DELAYTIMER_MAX___16 = 26,
    _SC_MQ_OPEN_MAX___16 = 27,
    _SC_MQ_PRIO_MAX___16 = 28,
    _SC_VERSION___16 = 29,
    _SC_PAGESIZE___16 = 30,
    _SC_RTSIG_MAX___16 = 31,
    _SC_SEM_NSEMS_MAX___16 = 32,
    _SC_SEM_VALUE_MAX___16 = 33,
    _SC_SIGQUEUE_MAX___16 = 34,
    _SC_TIMER_MAX___16 = 35,
    _SC_BC_BASE_MAX___16 = 36,
    _SC_BC_DIM_MAX___16 = 37,
    _SC_BC_SCALE_MAX___16 = 38,
    _SC_BC_STRING_MAX___16 = 39,
    _SC_COLL_WEIGHTS_MAX___16 = 40,
    _SC_EQUIV_CLASS_MAX___16 = 41,
    _SC_EXPR_NEST_MAX___16 = 42,
    _SC_LINE_MAX___16 = 43,
    _SC_RE_DUP_MAX___16 = 44,
    _SC_CHARCLASS_NAME_MAX___16 = 45,
    _SC_2_VERSION___16 = 46,
    _SC_2_C_BIND___16 = 47,
    _SC_2_C_DEV___16 = 48,
    _SC_2_FORT_DEV___16 = 49,
    _SC_2_FORT_RUN___16 = 50,
    _SC_2_SW_DEV___16 = 51,
    _SC_2_LOCALEDEF___16 = 52,
    _SC_PII___16 = 53,
    _SC_PII_XTI___16 = 54,
    _SC_PII_SOCKET___16 = 55,
    _SC_PII_INTERNET___16 = 56,
    _SC_PII_OSI___16 = 57,
    _SC_POLL___16 = 58,
    _SC_SELECT___16 = 59,
    _SC_UIO_MAXIOV___16 = 60,
    _SC_IOV_MAX___16 = 60,
    _SC_PII_INTERNET_STREAM___16 = 61,
    _SC_PII_INTERNET_DGRAM___16 = 62,
    _SC_PII_OSI_COTS___16 = 63,
    _SC_PII_OSI_CLTS___16 = 64,
    _SC_PII_OSI_M___16 = 65,
    _SC_T_IOV_MAX___16 = 66,
    _SC_THREADS___16 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___16 = 68,
    _SC_GETGR_R_SIZE_MAX___16 = 69,
    _SC_GETPW_R_SIZE_MAX___16 = 70,
    _SC_LOGIN_NAME_MAX___16 = 71,
    _SC_TTY_NAME_MAX___16 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___16 = 73,
    _SC_THREAD_KEYS_MAX___16 = 74,
    _SC_THREAD_STACK_MIN___16 = 75,
    _SC_THREAD_THREADS_MAX___16 = 76,
    _SC_THREAD_ATTR_STACKADDR___16 = 77,
    _SC_THREAD_ATTR_STACKSIZE___16 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___16 = 79,
    _SC_THREAD_PRIO_INHERIT___16 = 80,
    _SC_THREAD_PRIO_PROTECT___16 = 81,
    _SC_THREAD_PROCESS_SHARED___16 = 82,
    _SC_NPROCESSORS_CONF___16 = 83,
    _SC_NPROCESSORS_ONLN___16 = 84,
    _SC_PHYS_PAGES___16 = 85,
    _SC_AVPHYS_PAGES___16 = 86,
    _SC_ATEXIT_MAX___16 = 87,
    _SC_PASS_MAX___16 = 88,
    _SC_XOPEN_VERSION___16 = 89,
    _SC_XOPEN_XCU_VERSION___16 = 90,
    _SC_XOPEN_UNIX___16 = 91,
    _SC_XOPEN_CRYPT___16 = 92,
    _SC_XOPEN_ENH_I18N___16 = 93,
    _SC_XOPEN_SHM___16 = 94,
    _SC_2_CHAR_TERM___16 = 95,
    _SC_2_C_VERSION___16 = 96,
    _SC_2_UPE___16 = 97,
    _SC_XOPEN_XPG2___16 = 98,
    _SC_XOPEN_XPG3___16 = 99,
    _SC_XOPEN_XPG4___16 = 100,
    _SC_CHAR_BIT___16 = 101,
    _SC_CHAR_MAX___16 = 102,
    _SC_CHAR_MIN___16 = 103,
    _SC_INT_MAX___16 = 104,
    _SC_INT_MIN___16 = 105,
    _SC_LONG_BIT___16 = 106,
    _SC_WORD_BIT___16 = 107,
    _SC_MB_LEN_MAX___16 = 108,
    _SC_NZERO___16 = 109,
    _SC_SSIZE_MAX___16 = 110,
    _SC_SCHAR_MAX___16 = 111,
    _SC_SCHAR_MIN___16 = 112,
    _SC_SHRT_MAX___16 = 113,
    _SC_SHRT_MIN___16 = 114,
    _SC_UCHAR_MAX___16 = 115,
    _SC_UINT_MAX___16 = 116,
    _SC_ULONG_MAX___16 = 117,
    _SC_USHRT_MAX___16 = 118,
    _SC_NL_ARGMAX___16 = 119,
    _SC_NL_LANGMAX___16 = 120,
    _SC_NL_MSGMAX___16 = 121,
    _SC_NL_NMAX___16 = 122,
    _SC_NL_SETMAX___16 = 123,
    _SC_NL_TEXTMAX___16 = 124,
    _SC_XBS5_ILP32_OFF32___16 = 125,
    _SC_XBS5_ILP32_OFFBIG___16 = 126,
    _SC_XBS5_LP64_OFF64___16 = 127,
    _SC_XBS5_LPBIG_OFFBIG___16 = 128,
    _SC_XOPEN_LEGACY___16 = 129,
    _SC_XOPEN_REALTIME___16 = 130,
    _SC_XOPEN_REALTIME_THREADS___16 = 131,
    _SC_ADVISORY_INFO___16 = 132,
    _SC_BARRIERS___16 = 133,
    _SC_BASE___16 = 134,
    _SC_C_LANG_SUPPORT___16 = 135,
    _SC_C_LANG_SUPPORT_R___16 = 136,
    _SC_CLOCK_SELECTION___16 = 137,
    _SC_CPUTIME___16 = 138,
    _SC_THREAD_CPUTIME___16 = 139,
    _SC_DEVICE_IO___16 = 140,
    _SC_DEVICE_SPECIFIC___16 = 141,
    _SC_DEVICE_SPECIFIC_R___16 = 142,
    _SC_FD_MGMT___16 = 143,
    _SC_FIFO___16 = 144,
    _SC_PIPE___16 = 145,
    _SC_FILE_ATTRIBUTES___16 = 146,
    _SC_FILE_LOCKING___16 = 147,
    _SC_FILE_SYSTEM___16 = 148,
    _SC_MONOTONIC_CLOCK___16 = 149,
    _SC_MULTI_PROCESS___16 = 150,
    _SC_SINGLE_PROCESS___16 = 151,
    _SC_NETWORKING___16 = 152,
    _SC_READER_WRITER_LOCKS___16 = 153,
    _SC_SPIN_LOCKS___16 = 154,
    _SC_REGEXP___16 = 155,
    _SC_REGEX_VERSION___16 = 156,
    _SC_SHELL___16 = 157,
    _SC_SIGNALS___16 = 158,
    _SC_SPAWN___16 = 159,
    _SC_SPORADIC_SERVER___16 = 160,
    _SC_THREAD_SPORADIC_SERVER___16 = 161,
    _SC_SYSTEM_DATABASE___16 = 162,
    _SC_SYSTEM_DATABASE_R___16 = 163,
    _SC_TIMEOUTS___16 = 164,
    _SC_TYPED_MEMORY_OBJECTS___16 = 165,
    _SC_USER_GROUPS___16 = 166,
    _SC_USER_GROUPS_R___16 = 167,
    _SC_2_PBS___16 = 168,
    _SC_2_PBS_ACCOUNTING___16 = 169,
    _SC_2_PBS_LOCATE___16 = 170,
    _SC_2_PBS_MESSAGE___16 = 171,
    _SC_2_PBS_TRACK___16 = 172,
    _SC_SYMLOOP_MAX___16 = 173,
    _SC_STREAMS___16 = 174,
    _SC_2_PBS_CHECKPOINT___16 = 175,
    _SC_V6_ILP32_OFF32___16 = 176,
    _SC_V6_ILP32_OFFBIG___16 = 177,
    _SC_V6_LP64_OFF64___16 = 178,
    _SC_V6_LPBIG_OFFBIG___16 = 179,
    _SC_HOST_NAME_MAX___16 = 180,
    _SC_TRACE___16 = 181,
    _SC_TRACE_EVENT_FILTER___16 = 182,
    _SC_TRACE_INHERIT___16 = 183,
    _SC_TRACE_LOG___16 = 184,
    _SC_LEVEL1_ICACHE_SIZE___16 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___16 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___16 = 187,
    _SC_LEVEL1_DCACHE_SIZE___16 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___16 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___16 = 190,
    _SC_LEVEL2_CACHE_SIZE___16 = 191,
    _SC_LEVEL2_CACHE_ASSOC___16 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___16 = 193,
    _SC_LEVEL3_CACHE_SIZE___16 = 194,
    _SC_LEVEL3_CACHE_ASSOC___16 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___16 = 196,
    _SC_LEVEL4_CACHE_SIZE___16 = 197,
    _SC_LEVEL4_CACHE_ASSOC___16 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___16 = 199,
    _SC_IPV6___16 = 235,
    _SC_RAW_SOCKETS___16 = 236,
    _SC_V7_ILP32_OFF32___16 = 237,
    _SC_V7_ILP32_OFFBIG___16 = 238,
    _SC_V7_LP64_OFF64___16 = 239,
    _SC_V7_LPBIG_OFFBIG___16 = 240,
    _SC_SS_REPL_MAX___16 = 241,
    _SC_TRACE_EVENT_NAME_MAX___16 = 242,
    _SC_TRACE_NAME_MAX___16 = 243,
    _SC_TRACE_SYS_MAX___16 = 244,
    _SC_TRACE_USER_EVENT_MAX___16 = 245,
    _SC_XOPEN_STREAMS___16 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___16 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___16 = 248
} ;
enum __anonenum_875524036___16 {
    _CS_PATH___16 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___16 = 1,
    _CS_GNU_LIBC_VERSION___16 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___16 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___16 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___16 = 5,
    _CS_LFS_CFLAGS___16 = 1000,
    _CS_LFS_LDFLAGS___16 = 1001,
    _CS_LFS_LIBS___16 = 1002,
    _CS_LFS_LINTFLAGS___16 = 1003,
    _CS_LFS64_CFLAGS___16 = 1004,
    _CS_LFS64_LDFLAGS___16 = 1005,
    _CS_LFS64_LIBS___16 = 1006,
    _CS_LFS64_LINTFLAGS___16 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___16 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___16 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___16 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___16 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___16 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___16 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___16 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___16 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___16 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___16 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___16 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___16 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___16 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___16 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___16 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___16 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___16 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___16 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___16 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___16 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___16 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___16 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___16 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___16 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___16 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___16 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___16 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___16 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___16 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___16 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___16 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___16 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___16 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___16 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___16 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___16 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___16 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___16 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___16 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___16 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___16 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___16 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___16 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___16 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___16 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___16 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___16 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___16 = 1147,
    _CS_V6_ENV___16 = 1148,
    _CS_V7_ENV___16 = 1149
} ;
enum __anonenum_513775621___16 {
    DT_UNKNOWN___16 = 0,
    DT_FIFO___16 = 1,
    DT_CHR___16 = 2,
    DT_DIR___16 = 4,
    DT_BLK___16 = 6,
    DT_REG___16 = 8,
    DT_LNK___16 = 10,
    DT_SOCK___16 = 12,
    DT_WHT___16 = 14
} ;
enum __anonenum_77002343___16 {
    SI_ASYNCNL___16 = -60,
    SI_TKILL___16 = -6,
    SI_SIGIO___16 = -5,
    SI_ASYNCIO___16 = -4,
    SI_MESGQ___16 = -3,
    SI_TIMER___16 = -2,
    SI_QUEUE___16 = -1,
    SI_USER___16 = 0,
    SI_KERNEL___16 = 128
} ;
enum __anonenum_131038172___16 {
    ILL_ILLOPC___16 = 1,
    ILL_ILLOPN___16 = 2,
    ILL_ILLADR___16 = 3,
    ILL_ILLTRP___16 = 4,
    ILL_PRVOPC___16 = 5,
    ILL_PRVREG___16 = 6,
    ILL_COPROC___16 = 7,
    ILL_BADSTK___16 = 8
} ;
enum __anonenum_452038093___16 {
    FPE_INTDIV___16 = 1,
    FPE_INTOVF___16 = 2,
    FPE_FLTDIV___16 = 3,
    FPE_FLTOVF___16 = 4,
    FPE_FLTUND___16 = 5,
    FPE_FLTRES___16 = 6,
    FPE_FLTINV___16 = 7,
    FPE_FLTSUB___16 = 8
} ;
enum __anonenum_30976155___16 {
    SEGV_MAPERR___16 = 1,
    SEGV_ACCERR___16 = 2,
    SEGV_BNDERR___16 = 3,
    SEGV_PKUERR___16 = 4
} ;
enum __anonenum_1036286214___16 {
    BUS_ADRALN___16 = 1,
    BUS_ADRERR___16 = 2,
    BUS_OBJERR___16 = 3,
    BUS_MCEERR_AR___16 = 4,
    BUS_MCEERR_AO___16 = 5
} ;
enum __anonenum_493465559___16 {
    TRAP_BRKPT___16 = 1,
    TRAP_TRACE___16 = 2
} ;
enum __anonenum_23175539___16 {
    CLD_EXITED___16 = 1,
    CLD_KILLED___16 = 2,
    CLD_DUMPED___16 = 3,
    CLD_TRAPPED___16 = 4,
    CLD_STOPPED___16 = 5,
    CLD_CONTINUED___16 = 6
} ;
enum __anonenum_111643124___16 {
    POLL_IN___16 = 1,
    POLL_OUT___16 = 2,
    POLL_MSG___16 = 3,
    POLL_ERR___16 = 4,
    POLL_PRI___16 = 5,
    POLL_HUP___16 = 6
} ;
enum __anonenum_852341087___16 {
    SIGEV_SIGNAL___16 = 0,
    SIGEV_NONE___16 = 1,
    SIGEV_THREAD___16 = 2,
    SIGEV_THREAD_ID___16 = 4
} ;
enum __anonenum_451154152___16 {
    REG_R8___16 = 0,
    REG_R9___16 = 1,
    REG_R10___16 = 2,
    REG_R11___16 = 3,
    REG_R12___16 = 4,
    REG_R13___16 = 5,
    REG_R14___16 = 6,
    REG_R15___16 = 7,
    REG_RDI___16 = 8,
    REG_RSI___16 = 9,
    REG_RBP___16 = 10,
    REG_RBX___16 = 11,
    REG_RDX___16 = 12,
    REG_RAX___16 = 13,
    REG_RCX___16 = 14,
    REG_RSP___16 = 15,
    REG_RIP___16 = 16,
    REG_EFL___16 = 17,
    REG_CSGSFS___16 = 18,
    REG_ERR___16 = 19,
    REG_TRAPNO___16 = 20,
    REG_OLDMASK___16 = 21,
    REG_CR2___16 = 22
} ;
enum __anonenum_57186863___16 {
    SS_ONSTACK___16 = 1,
    SS_DISABLE___16 = 2
} ;
enum __anonenum_83571709___16 {
    MSG_OOB___16 = 1,
    MSG_PEEK___16 = 2,
    MSG_DONTROUTE___16 = 4,
    MSG_TRYHARD___16 = 4,
    MSG_CTRUNC___16 = 8,
    MSG_PROXY___16 = 16,
    MSG_TRUNC___16 = 32,
    MSG_DONTWAIT___16 = 64,
    MSG_EOR___16 = 128,
    MSG_WAITALL___16 = 256,
    MSG_FIN___16 = 512,
    MSG_SYN___16 = 1024,
    MSG_CONFIRM___16 = 2048,
    MSG_RST___16 = 4096,
    MSG_ERRQUEUE___16 = 8192,
    MSG_NOSIGNAL___16 = 16384,
    MSG_MORE___16 = 32768,
    MSG_WAITFORONE___16 = 65536,
    MSG_BATCH___16 = 262144,
    MSG_ZEROCOPY___16 = 67108864,
    MSG_FASTOPEN___16 = 536870912,
    MSG_CMSG_CLOEXEC___16 = 1073741824
} ;
enum __anonenum_617082774___16 {
    SCM_RIGHTS___16 = 1,
    SCM_CREDENTIALS___16 = 2
} ;
enum __anonenum_606441560___16 {
    SHUT_RD___16 = 0,
    SHUT_WR___16 = 1,
    SHUT_RDWR___16 = 2
} ;
enum __anonenum_681669233___16 {
    IPPROTO_IP___16 = 0,
    IPPROTO_ICMP___16 = 1,
    IPPROTO_IGMP___16 = 2,
    IPPROTO_IPIP___16 = 4,
    IPPROTO_TCP___16 = 6,
    IPPROTO_EGP___16 = 8,
    IPPROTO_PUP___16 = 12,
    IPPROTO_UDP___16 = 17,
    IPPROTO_IDP___16 = 22,
    IPPROTO_TP___16 = 29,
    IPPROTO_DCCP___16 = 33,
    IPPROTO_IPV6___16 = 41,
    IPPROTO_RSVP___16 = 46,
    IPPROTO_GRE___16 = 47,
    IPPROTO_ESP___16 = 50,
    IPPROTO_AH___16 = 51,
    IPPROTO_MTP___16 = 92,
    IPPROTO_BEETPH___16 = 94,
    IPPROTO_ENCAP___16 = 98,
    IPPROTO_PIM___16 = 103,
    IPPROTO_COMP___16 = 108,
    IPPROTO_SCTP___16 = 132,
    IPPROTO_UDPLITE___16 = 136,
    IPPROTO_MPLS___16 = 137,
    IPPROTO_RAW___16 = 255,
    IPPROTO_MAX___16 = 256
} ;
enum __anonenum_218739988___16 {
    IPPROTO_HOPOPTS___16 = 0,
    IPPROTO_ROUTING___16 = 43,
    IPPROTO_FRAGMENT___16 = 44,
    IPPROTO_ICMPV6___16 = 58,
    IPPROTO_NONE___16 = 59,
    IPPROTO_DSTOPTS___16 = 60,
    IPPROTO_MH___16 = 135
} ;
enum __anonenum_662268580___16 {
    IPPORT_ECHO___16 = 7,
    IPPORT_DISCARD___16 = 9,
    IPPORT_SYSTAT___16 = 11,
    IPPORT_DAYTIME___16 = 13,
    IPPORT_NETSTAT___16 = 15,
    IPPORT_FTP___16 = 21,
    IPPORT_TELNET___16 = 23,
    IPPORT_SMTP___16 = 25,
    IPPORT_TIMESERVER___16 = 37,
    IPPORT_NAMESERVER___16 = 42,
    IPPORT_WHOIS___16 = 43,
    IPPORT_MTP___16 = 57,
    IPPORT_TFTP___16 = 69,
    IPPORT_RJE___16 = 77,
    IPPORT_FINGER___16 = 79,
    IPPORT_TTYLINK___16 = 87,
    IPPORT_SUPDUP___16 = 95,
    IPPORT_EXECSERVER___16 = 512,
    IPPORT_LOGINSERVER___16 = 513,
    IPPORT_CMDSERVER___16 = 514,
    IPPORT_EFSSERVER___16 = 520,
    IPPORT_BIFFUDP___16 = 512,
    IPPORT_WHOSERVER___16 = 513,
    IPPORT_ROUTESERVER___16 = 520,
    IPPORT_RESERVED___16 = 1024,
    IPPORT_USERRESERVED___16 = 5000
} ;
enum __anonenum_788308992___16 {
    TCP_ESTABLISHED___16 = 1,
    TCP_SYN_SENT___16 = 2,
    TCP_SYN_RECV___16 = 3,
    TCP_FIN_WAIT1___16 = 4,
    TCP_FIN_WAIT2___16 = 5,
    TCP_TIME_WAIT___16 = 6,
    TCP_CLOSE___16 = 7,
    TCP_CLOSE_WAIT___16 = 8,
    TCP_LAST_ACK___16 = 9,
    TCP_LISTEN___16 = 10,
    TCP_CLOSING___16 = 11
} ;
enum __anonenum_221125648___16 {
    TCP_NO_QUEUE___16 = 0,
    TCP_RECV_QUEUE___16 = 1,
    TCP_SEND_QUEUE___16 = 2,
    TCP_QUEUES_NR___16 = 3
} ;
enum __anonenum_34415463___16 {
    PTHREAD_CREATE_JOINABLE___16 = 0,
    PTHREAD_CREATE_DETACHED___16 = 1
} ;
enum __anonenum_303612439___16 {
    PTHREAD_MUTEX_TIMED_NP___16 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___16 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___16 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___16 = 3,
    PTHREAD_MUTEX_NORMAL___16 = 0,
    PTHREAD_MUTEX_RECURSIVE___16 = 1,
    PTHREAD_MUTEX_ERRORCHECK___16 = 2,
    PTHREAD_MUTEX_DEFAULT___16 = 0,
    PTHREAD_MUTEX_FAST_NP___16 = 0
} ;
enum __anonenum_931900394___16 {
    PTHREAD_MUTEX_STALLED___16 = 0,
    PTHREAD_MUTEX_STALLED_NP___16 = 0,
    PTHREAD_MUTEX_ROBUST___16 = 1,
    PTHREAD_MUTEX_ROBUST_NP___16 = 1
} ;
enum __anonenum_205214487___16 {
    PTHREAD_PRIO_NONE___16 = 0,
    PTHREAD_PRIO_INHERIT___16 = 1,
    PTHREAD_PRIO_PROTECT___16 = 2
} ;
enum __anonenum_25043950___16 {
    PTHREAD_RWLOCK_PREFER_READER_NP___16 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___16 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___16 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___16 = 0
} ;
enum __anonenum_436439511___16 {
    PTHREAD_INHERIT_SCHED___16 = 0,
    PTHREAD_EXPLICIT_SCHED___16 = 1
} ;
enum __anonenum_998661166___16 {
    PTHREAD_SCOPE_SYSTEM___16 = 0,
    PTHREAD_SCOPE_PROCESS___16 = 1
} ;
enum __anonenum_146137331___16 {
    PTHREAD_PROCESS_PRIVATE___16 = 0,
    PTHREAD_PROCESS_SHARED___16 = 1
} ;
enum __anonenum_53396917___16 {
    PTHREAD_CANCEL_ENABLE___16 = 0,
    PTHREAD_CANCEL_DISABLE___16 = 1
} ;
enum __anonenum_904563783___16 {
    PTHREAD_CANCEL_DEFERRED___16 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___16 = 1
} ;
enum __anonenum_672052974___16 {
    SSL_CT_VALIDATION_PERMISSIVE___16 = 0,
    SSL_CT_VALIDATION_STRICT___16 = 1
} ;
typedef void (*show_commit_fn)(struct commit * , void * );
typedef void (*show_object_fn)(struct object * , char const   * , void * );
typedef void (*show_edge_fn)(struct commit * );
struct list_objects_filter_options ;
typedef struct object_id  const  *oid_access_fn(size_t index , void const   *table );
struct log_info {
   struct commit *commit ;
   struct commit *parent ;
};
struct decoration_filter {
   struct string_list *include_ref_pattern ;
   struct string_list *exclude_ref_pattern ;
   struct string_list *exclude_ref_config_pattern ;
};
struct rev_list_info {
   struct rev_info *revs ;
   int flags ;
   int show_timestamp ;
   int hdr_termination ;
   char const   *header_prefix ;
};
enum bisect_error {
    BISECT_OK = 0,
    BISECT_FAILED = -1,
    BISECT_ONLY_SKIPPED_LEFT = -2,
    BISECT_MERGE_BASE_CHECK = -3,
    BISECT_NO_TESTABLE_COMMIT = -4,
    BISECT_INTERNAL_SUCCESS_1ST_BAD_FOUND = -10,
    BISECT_INTERNAL_SUCCESS_MERGE_BASE = -11
} ;
struct ref_filter ;
enum contains_result {
    CONTAINS_UNKNOWN = 0,
    CONTAINS_NO = 1,
    CONTAINS_YES = 2
} ;
struct contains_cache {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   enum contains_result **slab ;
};
struct commit_weight {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   int ***slab ;
};
struct commit_dist {
   struct commit *commit ;
   int distance ;
};
enum __anonenum_437032235___17 {
    _PC_LINK_MAX___17 = 0,
    _PC_MAX_CANON___17 = 1,
    _PC_MAX_INPUT___17 = 2,
    _PC_NAME_MAX___17 = 3,
    _PC_PATH_MAX___17 = 4,
    _PC_PIPE_BUF___17 = 5,
    _PC_CHOWN_RESTRICTED___17 = 6,
    _PC_NO_TRUNC___17 = 7,
    _PC_VDISABLE___17 = 8,
    _PC_SYNC_IO___17 = 9,
    _PC_ASYNC_IO___17 = 10,
    _PC_PRIO_IO___17 = 11,
    _PC_SOCK_MAXBUF___17 = 12,
    _PC_FILESIZEBITS___17 = 13,
    _PC_REC_INCR_XFER_SIZE___17 = 14,
    _PC_REC_MAX_XFER_SIZE___17 = 15,
    _PC_REC_MIN_XFER_SIZE___17 = 16,
    _PC_REC_XFER_ALIGN___17 = 17,
    _PC_ALLOC_SIZE_MIN___17 = 18,
    _PC_SYMLINK_MAX___17 = 19,
    _PC_2_SYMLINKS___17 = 20
} ;
enum __anonenum_315186338___17 {
    _SC_ARG_MAX___17 = 0,
    _SC_CHILD_MAX___17 = 1,
    _SC_CLK_TCK___17 = 2,
    _SC_NGROUPS_MAX___17 = 3,
    _SC_OPEN_MAX___17 = 4,
    _SC_STREAM_MAX___17 = 5,
    _SC_TZNAME_MAX___17 = 6,
    _SC_JOB_CONTROL___17 = 7,
    _SC_SAVED_IDS___17 = 8,
    _SC_REALTIME_SIGNALS___17 = 9,
    _SC_PRIORITY_SCHEDULING___17 = 10,
    _SC_TIMERS___17 = 11,
    _SC_ASYNCHRONOUS_IO___17 = 12,
    _SC_PRIORITIZED_IO___17 = 13,
    _SC_SYNCHRONIZED_IO___17 = 14,
    _SC_FSYNC___17 = 15,
    _SC_MAPPED_FILES___17 = 16,
    _SC_MEMLOCK___17 = 17,
    _SC_MEMLOCK_RANGE___17 = 18,
    _SC_MEMORY_PROTECTION___17 = 19,
    _SC_MESSAGE_PASSING___17 = 20,
    _SC_SEMAPHORES___17 = 21,
    _SC_SHARED_MEMORY_OBJECTS___17 = 22,
    _SC_AIO_LISTIO_MAX___17 = 23,
    _SC_AIO_MAX___17 = 24,
    _SC_AIO_PRIO_DELTA_MAX___17 = 25,
    _SC_DELAYTIMER_MAX___17 = 26,
    _SC_MQ_OPEN_MAX___17 = 27,
    _SC_MQ_PRIO_MAX___17 = 28,
    _SC_VERSION___17 = 29,
    _SC_PAGESIZE___17 = 30,
    _SC_RTSIG_MAX___17 = 31,
    _SC_SEM_NSEMS_MAX___17 = 32,
    _SC_SEM_VALUE_MAX___17 = 33,
    _SC_SIGQUEUE_MAX___17 = 34,
    _SC_TIMER_MAX___17 = 35,
    _SC_BC_BASE_MAX___17 = 36,
    _SC_BC_DIM_MAX___17 = 37,
    _SC_BC_SCALE_MAX___17 = 38,
    _SC_BC_STRING_MAX___17 = 39,
    _SC_COLL_WEIGHTS_MAX___17 = 40,
    _SC_EQUIV_CLASS_MAX___17 = 41,
    _SC_EXPR_NEST_MAX___17 = 42,
    _SC_LINE_MAX___17 = 43,
    _SC_RE_DUP_MAX___17 = 44,
    _SC_CHARCLASS_NAME_MAX___17 = 45,
    _SC_2_VERSION___17 = 46,
    _SC_2_C_BIND___17 = 47,
    _SC_2_C_DEV___17 = 48,
    _SC_2_FORT_DEV___17 = 49,
    _SC_2_FORT_RUN___17 = 50,
    _SC_2_SW_DEV___17 = 51,
    _SC_2_LOCALEDEF___17 = 52,
    _SC_PII___17 = 53,
    _SC_PII_XTI___17 = 54,
    _SC_PII_SOCKET___17 = 55,
    _SC_PII_INTERNET___17 = 56,
    _SC_PII_OSI___17 = 57,
    _SC_POLL___17 = 58,
    _SC_SELECT___17 = 59,
    _SC_UIO_MAXIOV___17 = 60,
    _SC_IOV_MAX___17 = 60,
    _SC_PII_INTERNET_STREAM___17 = 61,
    _SC_PII_INTERNET_DGRAM___17 = 62,
    _SC_PII_OSI_COTS___17 = 63,
    _SC_PII_OSI_CLTS___17 = 64,
    _SC_PII_OSI_M___17 = 65,
    _SC_T_IOV_MAX___17 = 66,
    _SC_THREADS___17 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___17 = 68,
    _SC_GETGR_R_SIZE_MAX___17 = 69,
    _SC_GETPW_R_SIZE_MAX___17 = 70,
    _SC_LOGIN_NAME_MAX___17 = 71,
    _SC_TTY_NAME_MAX___17 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___17 = 73,
    _SC_THREAD_KEYS_MAX___17 = 74,
    _SC_THREAD_STACK_MIN___17 = 75,
    _SC_THREAD_THREADS_MAX___17 = 76,
    _SC_THREAD_ATTR_STACKADDR___17 = 77,
    _SC_THREAD_ATTR_STACKSIZE___17 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___17 = 79,
    _SC_THREAD_PRIO_INHERIT___17 = 80,
    _SC_THREAD_PRIO_PROTECT___17 = 81,
    _SC_THREAD_PROCESS_SHARED___17 = 82,
    _SC_NPROCESSORS_CONF___17 = 83,
    _SC_NPROCESSORS_ONLN___17 = 84,
    _SC_PHYS_PAGES___17 = 85,
    _SC_AVPHYS_PAGES___17 = 86,
    _SC_ATEXIT_MAX___17 = 87,
    _SC_PASS_MAX___17 = 88,
    _SC_XOPEN_VERSION___17 = 89,
    _SC_XOPEN_XCU_VERSION___17 = 90,
    _SC_XOPEN_UNIX___17 = 91,
    _SC_XOPEN_CRYPT___17 = 92,
    _SC_XOPEN_ENH_I18N___17 = 93,
    _SC_XOPEN_SHM___17 = 94,
    _SC_2_CHAR_TERM___17 = 95,
    _SC_2_C_VERSION___17 = 96,
    _SC_2_UPE___17 = 97,
    _SC_XOPEN_XPG2___17 = 98,
    _SC_XOPEN_XPG3___17 = 99,
    _SC_XOPEN_XPG4___17 = 100,
    _SC_CHAR_BIT___17 = 101,
    _SC_CHAR_MAX___17 = 102,
    _SC_CHAR_MIN___17 = 103,
    _SC_INT_MAX___17 = 104,
    _SC_INT_MIN___17 = 105,
    _SC_LONG_BIT___17 = 106,
    _SC_WORD_BIT___17 = 107,
    _SC_MB_LEN_MAX___17 = 108,
    _SC_NZERO___17 = 109,
    _SC_SSIZE_MAX___17 = 110,
    _SC_SCHAR_MAX___17 = 111,
    _SC_SCHAR_MIN___17 = 112,
    _SC_SHRT_MAX___17 = 113,
    _SC_SHRT_MIN___17 = 114,
    _SC_UCHAR_MAX___17 = 115,
    _SC_UINT_MAX___17 = 116,
    _SC_ULONG_MAX___17 = 117,
    _SC_USHRT_MAX___17 = 118,
    _SC_NL_ARGMAX___17 = 119,
    _SC_NL_LANGMAX___17 = 120,
    _SC_NL_MSGMAX___17 = 121,
    _SC_NL_NMAX___17 = 122,
    _SC_NL_SETMAX___17 = 123,
    _SC_NL_TEXTMAX___17 = 124,
    _SC_XBS5_ILP32_OFF32___17 = 125,
    _SC_XBS5_ILP32_OFFBIG___17 = 126,
    _SC_XBS5_LP64_OFF64___17 = 127,
    _SC_XBS5_LPBIG_OFFBIG___17 = 128,
    _SC_XOPEN_LEGACY___17 = 129,
    _SC_XOPEN_REALTIME___17 = 130,
    _SC_XOPEN_REALTIME_THREADS___17 = 131,
    _SC_ADVISORY_INFO___17 = 132,
    _SC_BARRIERS___17 = 133,
    _SC_BASE___17 = 134,
    _SC_C_LANG_SUPPORT___17 = 135,
    _SC_C_LANG_SUPPORT_R___17 = 136,
    _SC_CLOCK_SELECTION___17 = 137,
    _SC_CPUTIME___17 = 138,
    _SC_THREAD_CPUTIME___17 = 139,
    _SC_DEVICE_IO___17 = 140,
    _SC_DEVICE_SPECIFIC___17 = 141,
    _SC_DEVICE_SPECIFIC_R___17 = 142,
    _SC_FD_MGMT___17 = 143,
    _SC_FIFO___17 = 144,
    _SC_PIPE___17 = 145,
    _SC_FILE_ATTRIBUTES___17 = 146,
    _SC_FILE_LOCKING___17 = 147,
    _SC_FILE_SYSTEM___17 = 148,
    _SC_MONOTONIC_CLOCK___17 = 149,
    _SC_MULTI_PROCESS___17 = 150,
    _SC_SINGLE_PROCESS___17 = 151,
    _SC_NETWORKING___17 = 152,
    _SC_READER_WRITER_LOCKS___17 = 153,
    _SC_SPIN_LOCKS___17 = 154,
    _SC_REGEXP___17 = 155,
    _SC_REGEX_VERSION___17 = 156,
    _SC_SHELL___17 = 157,
    _SC_SIGNALS___17 = 158,
    _SC_SPAWN___17 = 159,
    _SC_SPORADIC_SERVER___17 = 160,
    _SC_THREAD_SPORADIC_SERVER___17 = 161,
    _SC_SYSTEM_DATABASE___17 = 162,
    _SC_SYSTEM_DATABASE_R___17 = 163,
    _SC_TIMEOUTS___17 = 164,
    _SC_TYPED_MEMORY_OBJECTS___17 = 165,
    _SC_USER_GROUPS___17 = 166,
    _SC_USER_GROUPS_R___17 = 167,
    _SC_2_PBS___17 = 168,
    _SC_2_PBS_ACCOUNTING___17 = 169,
    _SC_2_PBS_LOCATE___17 = 170,
    _SC_2_PBS_MESSAGE___17 = 171,
    _SC_2_PBS_TRACK___17 = 172,
    _SC_SYMLOOP_MAX___17 = 173,
    _SC_STREAMS___17 = 174,
    _SC_2_PBS_CHECKPOINT___17 = 175,
    _SC_V6_ILP32_OFF32___17 = 176,
    _SC_V6_ILP32_OFFBIG___17 = 177,
    _SC_V6_LP64_OFF64___17 = 178,
    _SC_V6_LPBIG_OFFBIG___17 = 179,
    _SC_HOST_NAME_MAX___17 = 180,
    _SC_TRACE___17 = 181,
    _SC_TRACE_EVENT_FILTER___17 = 182,
    _SC_TRACE_INHERIT___17 = 183,
    _SC_TRACE_LOG___17 = 184,
    _SC_LEVEL1_ICACHE_SIZE___17 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___17 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___17 = 187,
    _SC_LEVEL1_DCACHE_SIZE___17 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___17 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___17 = 190,
    _SC_LEVEL2_CACHE_SIZE___17 = 191,
    _SC_LEVEL2_CACHE_ASSOC___17 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___17 = 193,
    _SC_LEVEL3_CACHE_SIZE___17 = 194,
    _SC_LEVEL3_CACHE_ASSOC___17 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___17 = 196,
    _SC_LEVEL4_CACHE_SIZE___17 = 197,
    _SC_LEVEL4_CACHE_ASSOC___17 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___17 = 199,
    _SC_IPV6___17 = 235,
    _SC_RAW_SOCKETS___17 = 236,
    _SC_V7_ILP32_OFF32___17 = 237,
    _SC_V7_ILP32_OFFBIG___17 = 238,
    _SC_V7_LP64_OFF64___17 = 239,
    _SC_V7_LPBIG_OFFBIG___17 = 240,
    _SC_SS_REPL_MAX___17 = 241,
    _SC_TRACE_EVENT_NAME_MAX___17 = 242,
    _SC_TRACE_NAME_MAX___17 = 243,
    _SC_TRACE_SYS_MAX___17 = 244,
    _SC_TRACE_USER_EVENT_MAX___17 = 245,
    _SC_XOPEN_STREAMS___17 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___17 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___17 = 248
} ;
enum __anonenum_875524036___17 {
    _CS_PATH___17 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___17 = 1,
    _CS_GNU_LIBC_VERSION___17 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___17 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___17 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___17 = 5,
    _CS_LFS_CFLAGS___17 = 1000,
    _CS_LFS_LDFLAGS___17 = 1001,
    _CS_LFS_LIBS___17 = 1002,
    _CS_LFS_LINTFLAGS___17 = 1003,
    _CS_LFS64_CFLAGS___17 = 1004,
    _CS_LFS64_LDFLAGS___17 = 1005,
    _CS_LFS64_LIBS___17 = 1006,
    _CS_LFS64_LINTFLAGS___17 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___17 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___17 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___17 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___17 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___17 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___17 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___17 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___17 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___17 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___17 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___17 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___17 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___17 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___17 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___17 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___17 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___17 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___17 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___17 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___17 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___17 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___17 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___17 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___17 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___17 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___17 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___17 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___17 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___17 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___17 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___17 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___17 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___17 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___17 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___17 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___17 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___17 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___17 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___17 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___17 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___17 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___17 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___17 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___17 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___17 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___17 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___17 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___17 = 1147,
    _CS_V6_ENV___17 = 1148,
    _CS_V7_ENV___17 = 1149
} ;
enum __anonenum_513775621___17 {
    DT_UNKNOWN___17 = 0,
    DT_FIFO___17 = 1,
    DT_CHR___17 = 2,
    DT_DIR___17 = 4,
    DT_BLK___17 = 6,
    DT_REG___17 = 8,
    DT_LNK___17 = 10,
    DT_SOCK___17 = 12,
    DT_WHT___17 = 14
} ;
enum __anonenum_77002343___17 {
    SI_ASYNCNL___17 = -60,
    SI_TKILL___17 = -6,
    SI_SIGIO___17 = -5,
    SI_ASYNCIO___17 = -4,
    SI_MESGQ___17 = -3,
    SI_TIMER___17 = -2,
    SI_QUEUE___17 = -1,
    SI_USER___17 = 0,
    SI_KERNEL___17 = 128
} ;
enum __anonenum_131038172___17 {
    ILL_ILLOPC___17 = 1,
    ILL_ILLOPN___17 = 2,
    ILL_ILLADR___17 = 3,
    ILL_ILLTRP___17 = 4,
    ILL_PRVOPC___17 = 5,
    ILL_PRVREG___17 = 6,
    ILL_COPROC___17 = 7,
    ILL_BADSTK___17 = 8
} ;
enum __anonenum_452038093___17 {
    FPE_INTDIV___17 = 1,
    FPE_INTOVF___17 = 2,
    FPE_FLTDIV___17 = 3,
    FPE_FLTOVF___17 = 4,
    FPE_FLTUND___17 = 5,
    FPE_FLTRES___17 = 6,
    FPE_FLTINV___17 = 7,
    FPE_FLTSUB___17 = 8
} ;
enum __anonenum_30976155___17 {
    SEGV_MAPERR___17 = 1,
    SEGV_ACCERR___17 = 2,
    SEGV_BNDERR___17 = 3,
    SEGV_PKUERR___17 = 4
} ;
enum __anonenum_1036286214___17 {
    BUS_ADRALN___17 = 1,
    BUS_ADRERR___17 = 2,
    BUS_OBJERR___17 = 3,
    BUS_MCEERR_AR___17 = 4,
    BUS_MCEERR_AO___17 = 5
} ;
enum __anonenum_493465559___17 {
    TRAP_BRKPT___17 = 1,
    TRAP_TRACE___17 = 2
} ;
enum __anonenum_23175539___17 {
    CLD_EXITED___17 = 1,
    CLD_KILLED___17 = 2,
    CLD_DUMPED___17 = 3,
    CLD_TRAPPED___17 = 4,
    CLD_STOPPED___17 = 5,
    CLD_CONTINUED___17 = 6
} ;
enum __anonenum_111643124___17 {
    POLL_IN___17 = 1,
    POLL_OUT___17 = 2,
    POLL_MSG___17 = 3,
    POLL_ERR___17 = 4,
    POLL_PRI___17 = 5,
    POLL_HUP___17 = 6
} ;
enum __anonenum_852341087___17 {
    SIGEV_SIGNAL___17 = 0,
    SIGEV_NONE___17 = 1,
    SIGEV_THREAD___17 = 2,
    SIGEV_THREAD_ID___17 = 4
} ;
enum __anonenum_451154152___17 {
    REG_R8___17 = 0,
    REG_R9___17 = 1,
    REG_R10___17 = 2,
    REG_R11___17 = 3,
    REG_R12___17 = 4,
    REG_R13___17 = 5,
    REG_R14___17 = 6,
    REG_R15___17 = 7,
    REG_RDI___17 = 8,
    REG_RSI___17 = 9,
    REG_RBP___17 = 10,
    REG_RBX___17 = 11,
    REG_RDX___17 = 12,
    REG_RAX___17 = 13,
    REG_RCX___17 = 14,
    REG_RSP___17 = 15,
    REG_RIP___17 = 16,
    REG_EFL___17 = 17,
    REG_CSGSFS___17 = 18,
    REG_ERR___17 = 19,
    REG_TRAPNO___17 = 20,
    REG_OLDMASK___17 = 21,
    REG_CR2___17 = 22
} ;
enum __anonenum_57186863___17 {
    SS_ONSTACK___17 = 1,
    SS_DISABLE___17 = 2
} ;
enum __anonenum_83571709___17 {
    MSG_OOB___17 = 1,
    MSG_PEEK___17 = 2,
    MSG_DONTROUTE___17 = 4,
    MSG_TRYHARD___17 = 4,
    MSG_CTRUNC___17 = 8,
    MSG_PROXY___17 = 16,
    MSG_TRUNC___17 = 32,
    MSG_DONTWAIT___17 = 64,
    MSG_EOR___17 = 128,
    MSG_WAITALL___17 = 256,
    MSG_FIN___17 = 512,
    MSG_SYN___17 = 1024,
    MSG_CONFIRM___17 = 2048,
    MSG_RST___17 = 4096,
    MSG_ERRQUEUE___17 = 8192,
    MSG_NOSIGNAL___17 = 16384,
    MSG_MORE___17 = 32768,
    MSG_WAITFORONE___17 = 65536,
    MSG_BATCH___17 = 262144,
    MSG_ZEROCOPY___17 = 67108864,
    MSG_FASTOPEN___17 = 536870912,
    MSG_CMSG_CLOEXEC___17 = 1073741824
} ;
enum __anonenum_617082774___17 {
    SCM_RIGHTS___17 = 1,
    SCM_CREDENTIALS___17 = 2
} ;
enum __anonenum_606441560___17 {
    SHUT_RD___17 = 0,
    SHUT_WR___17 = 1,
    SHUT_RDWR___17 = 2
} ;
enum __anonenum_681669233___17 {
    IPPROTO_IP___17 = 0,
    IPPROTO_ICMP___17 = 1,
    IPPROTO_IGMP___17 = 2,
    IPPROTO_IPIP___17 = 4,
    IPPROTO_TCP___17 = 6,
    IPPROTO_EGP___17 = 8,
    IPPROTO_PUP___17 = 12,
    IPPROTO_UDP___17 = 17,
    IPPROTO_IDP___17 = 22,
    IPPROTO_TP___17 = 29,
    IPPROTO_DCCP___17 = 33,
    IPPROTO_IPV6___17 = 41,
    IPPROTO_RSVP___17 = 46,
    IPPROTO_GRE___17 = 47,
    IPPROTO_ESP___17 = 50,
    IPPROTO_AH___17 = 51,
    IPPROTO_MTP___17 = 92,
    IPPROTO_BEETPH___17 = 94,
    IPPROTO_ENCAP___17 = 98,
    IPPROTO_PIM___17 = 103,
    IPPROTO_COMP___17 = 108,
    IPPROTO_SCTP___17 = 132,
    IPPROTO_UDPLITE___17 = 136,
    IPPROTO_MPLS___17 = 137,
    IPPROTO_RAW___17 = 255,
    IPPROTO_MAX___17 = 256
} ;
enum __anonenum_218739988___17 {
    IPPROTO_HOPOPTS___17 = 0,
    IPPROTO_ROUTING___17 = 43,
    IPPROTO_FRAGMENT___17 = 44,
    IPPROTO_ICMPV6___17 = 58,
    IPPROTO_NONE___17 = 59,
    IPPROTO_DSTOPTS___17 = 60,
    IPPROTO_MH___17 = 135
} ;
enum __anonenum_662268580___17 {
    IPPORT_ECHO___17 = 7,
    IPPORT_DISCARD___17 = 9,
    IPPORT_SYSTAT___17 = 11,
    IPPORT_DAYTIME___17 = 13,
    IPPORT_NETSTAT___17 = 15,
    IPPORT_FTP___17 = 21,
    IPPORT_TELNET___17 = 23,
    IPPORT_SMTP___17 = 25,
    IPPORT_TIMESERVER___17 = 37,
    IPPORT_NAMESERVER___17 = 42,
    IPPORT_WHOIS___17 = 43,
    IPPORT_MTP___17 = 57,
    IPPORT_TFTP___17 = 69,
    IPPORT_RJE___17 = 77,
    IPPORT_FINGER___17 = 79,
    IPPORT_TTYLINK___17 = 87,
    IPPORT_SUPDUP___17 = 95,
    IPPORT_EXECSERVER___17 = 512,
    IPPORT_LOGINSERVER___17 = 513,
    IPPORT_CMDSERVER___17 = 514,
    IPPORT_EFSSERVER___17 = 520,
    IPPORT_BIFFUDP___17 = 512,
    IPPORT_WHOSERVER___17 = 513,
    IPPORT_ROUTESERVER___17 = 520,
    IPPORT_RESERVED___17 = 1024,
    IPPORT_USERRESERVED___17 = 5000
} ;
enum __anonenum_788308992___17 {
    TCP_ESTABLISHED___17 = 1,
    TCP_SYN_SENT___17 = 2,
    TCP_SYN_RECV___17 = 3,
    TCP_FIN_WAIT1___17 = 4,
    TCP_FIN_WAIT2___17 = 5,
    TCP_TIME_WAIT___17 = 6,
    TCP_CLOSE___17 = 7,
    TCP_CLOSE_WAIT___17 = 8,
    TCP_LAST_ACK___17 = 9,
    TCP_LISTEN___17 = 10,
    TCP_CLOSING___17 = 11
} ;
enum __anonenum_221125648___17 {
    TCP_NO_QUEUE___17 = 0,
    TCP_RECV_QUEUE___17 = 1,
    TCP_SEND_QUEUE___17 = 2,
    TCP_QUEUES_NR___17 = 3
} ;
enum __anonenum_34415463___17 {
    PTHREAD_CREATE_JOINABLE___17 = 0,
    PTHREAD_CREATE_DETACHED___17 = 1
} ;
enum __anonenum_303612439___17 {
    PTHREAD_MUTEX_TIMED_NP___17 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___17 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___17 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___17 = 3,
    PTHREAD_MUTEX_NORMAL___17 = 0,
    PTHREAD_MUTEX_RECURSIVE___17 = 1,
    PTHREAD_MUTEX_ERRORCHECK___17 = 2,
    PTHREAD_MUTEX_DEFAULT___17 = 0,
    PTHREAD_MUTEX_FAST_NP___17 = 0
} ;
enum __anonenum_931900394___17 {
    PTHREAD_MUTEX_STALLED___17 = 0,
    PTHREAD_MUTEX_STALLED_NP___17 = 0,
    PTHREAD_MUTEX_ROBUST___17 = 1,
    PTHREAD_MUTEX_ROBUST_NP___17 = 1
} ;
enum __anonenum_205214487___17 {
    PTHREAD_PRIO_NONE___17 = 0,
    PTHREAD_PRIO_INHERIT___17 = 1,
    PTHREAD_PRIO_PROTECT___17 = 2
} ;
enum __anonenum_25043950___17 {
    PTHREAD_RWLOCK_PREFER_READER_NP___17 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___17 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___17 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___17 = 0
} ;
enum __anonenum_436439511___17 {
    PTHREAD_INHERIT_SCHED___17 = 0,
    PTHREAD_EXPLICIT_SCHED___17 = 1
} ;
enum __anonenum_998661166___17 {
    PTHREAD_SCOPE_SYSTEM___17 = 0,
    PTHREAD_SCOPE_PROCESS___17 = 1
} ;
enum __anonenum_146137331___17 {
    PTHREAD_PROCESS_PRIVATE___17 = 0,
    PTHREAD_PROCESS_SHARED___17 = 1
} ;
enum __anonenum_53396917___17 {
    PTHREAD_CANCEL_ENABLE___17 = 0,
    PTHREAD_CANCEL_DISABLE___17 = 1
} ;
enum __anonenum_904563783___17 {
    PTHREAD_CANCEL_DEFERRED___17 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___17 = 1
} ;
enum __anonenum_672052974___17 {
    SSL_CT_VALIDATION_PERMISSIVE___17 = 0,
    SSL_CT_VALIDATION_STRICT___17 = 1
} ;
struct cache_tree_sub {
   struct cache_tree *cache_tree ;
   int count ;
   int namelen ;
   int used ;
   char name[] ;
};
struct cache_tree {
   int entry_count ;
   struct object_id oid ;
   int subtree_nr ;
   int subtree_alloc ;
   struct cache_tree_sub **down ;
};
typedef int (*prio_queue_compare_fn)(void const   *one , void const   *two , void *cb_data );
struct prio_queue_entry {
   unsigned int ctr ;
   void *data ;
};
struct prio_queue {
   int (*compare)(void const   *one , void const   *two , void *cb_data ) ;
   unsigned int insertion_ctr ;
   void *cb_data ;
   int alloc ;
   int nr ;
   struct prio_queue_entry *array ;
};
struct fingerprint ;
struct blame_entry ;
struct blame_origin {
   int refcnt ;
   struct blame_origin *previous ;
   struct blame_origin *next ;
   struct commit *commit ;
   struct blame_entry *suspects ;
   mmfile_t file ;
   int num_lines ;
   struct fingerprint *fingerprints ;
   struct object_id blob_oid ;
   unsigned short mode ;
   char guilty ;
   char path[] ;
};
struct blame_entry {
   struct blame_entry *next ;
   int lno ;
   int num_lines ;
   struct blame_origin *suspect ;
   int s_lno ;
   unsigned int score ;
   int ignored ;
   int unblamable ;
};
struct blame_bloom_data ;
struct blame_scoreboard {
   struct commit *final ;
   struct prio_queue commits ;
   struct repository *repo ;
   struct rev_info *revs ;
   char const   *path ;
   char const   *final_buf ;
   unsigned long final_buf_size ;
   struct blame_entry *ent ;
   struct oidset ignore_list ;
   int num_lines ;
   int *lineno ;
   int num_read_blob ;
   int num_get_patch ;
   int num_commits ;
   unsigned int move_score ;
   unsigned int copy_score ;
   char const   *contents_from ;
   int reverse ;
   int show_root ;
   int xdl_opts ;
   int no_whole_file_rename ;
   int debug ;
   void (*on_sanity_fail)(struct blame_scoreboard * , int  ) ;
   void (*found_guilty_entry)(struct blame_entry * , void * ) ;
   void *found_guilty_entry_data ;
   struct blame_bloom_data *bloom_data ;
};
struct bloom_filter_settings {
   uint32_t hash_version ;
   uint32_t num_hashes ;
   uint32_t bits_per_entry ;
   uint32_t max_changed_paths ;
};
struct bloom_filter {
   unsigned char *data ;
   size_t len ;
};
struct bloom_key {
   uint32_t *hashes ;
};
enum bloom_filter_computed {
    BLOOM_NOT_COMPUTED = 1,
    BLOOM_COMPUTED = 2,
    BLOOM_TRUNC_LARGE = 4,
    BLOOM_TRUNC_EMPTY = 8
} ;
struct blame_suspects {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   struct blame_origin ***slab ;
};
struct fingerprint_entry ;
struct fingerprint {
   struct hashmap map ;
   struct fingerprint_entry *entries ;
};
struct fingerprint_entry {
   struct hashmap_entry entry ;
   int count ;
};
struct line_number_mapping {
   int destination_start ;
   int destination_length ;
   int source_start ;
   int source_length ;
};
struct blame_bloom_data {
   struct bloom_filter_settings *settings ;
   struct bloom_key **keys ;
   int nr ;
   int alloc ;
};
struct blame_line_tracker {
   int is_parent ;
   int s_lno ;
};
struct blame_chunk_cb_data {
   struct blame_origin *parent ;
   struct blame_origin *target ;
   long offset ;
   int ignore_diffs ;
   struct blame_entry **dstq ;
   struct blame_entry **srcq ;
};
struct handle_split_cb_data {
   struct blame_scoreboard *sb ;
   struct blame_entry *ent ;
   struct blame_origin *parent ;
   struct blame_entry *split ;
   long plno ;
   long tlno ;
};
struct blame_list {
   struct blame_entry *ent ;
   struct blame_entry split[3] ;
};
typedef struct blame_origin *(*blame_find_alg)(struct repository * , struct commit * ,
                                               struct blame_origin * , struct blame_bloom_data * );
enum __anonenum_437032235___18 {
    _PC_LINK_MAX___18 = 0,
    _PC_MAX_CANON___18 = 1,
    _PC_MAX_INPUT___18 = 2,
    _PC_NAME_MAX___18 = 3,
    _PC_PATH_MAX___18 = 4,
    _PC_PIPE_BUF___18 = 5,
    _PC_CHOWN_RESTRICTED___18 = 6,
    _PC_NO_TRUNC___18 = 7,
    _PC_VDISABLE___18 = 8,
    _PC_SYNC_IO___18 = 9,
    _PC_ASYNC_IO___18 = 10,
    _PC_PRIO_IO___18 = 11,
    _PC_SOCK_MAXBUF___18 = 12,
    _PC_FILESIZEBITS___18 = 13,
    _PC_REC_INCR_XFER_SIZE___18 = 14,
    _PC_REC_MAX_XFER_SIZE___18 = 15,
    _PC_REC_MIN_XFER_SIZE___18 = 16,
    _PC_REC_XFER_ALIGN___18 = 17,
    _PC_ALLOC_SIZE_MIN___18 = 18,
    _PC_SYMLINK_MAX___18 = 19,
    _PC_2_SYMLINKS___18 = 20
} ;
enum __anonenum_315186338___18 {
    _SC_ARG_MAX___18 = 0,
    _SC_CHILD_MAX___18 = 1,
    _SC_CLK_TCK___18 = 2,
    _SC_NGROUPS_MAX___18 = 3,
    _SC_OPEN_MAX___18 = 4,
    _SC_STREAM_MAX___18 = 5,
    _SC_TZNAME_MAX___18 = 6,
    _SC_JOB_CONTROL___18 = 7,
    _SC_SAVED_IDS___18 = 8,
    _SC_REALTIME_SIGNALS___18 = 9,
    _SC_PRIORITY_SCHEDULING___18 = 10,
    _SC_TIMERS___18 = 11,
    _SC_ASYNCHRONOUS_IO___18 = 12,
    _SC_PRIORITIZED_IO___18 = 13,
    _SC_SYNCHRONIZED_IO___18 = 14,
    _SC_FSYNC___18 = 15,
    _SC_MAPPED_FILES___18 = 16,
    _SC_MEMLOCK___18 = 17,
    _SC_MEMLOCK_RANGE___18 = 18,
    _SC_MEMORY_PROTECTION___18 = 19,
    _SC_MESSAGE_PASSING___18 = 20,
    _SC_SEMAPHORES___18 = 21,
    _SC_SHARED_MEMORY_OBJECTS___18 = 22,
    _SC_AIO_LISTIO_MAX___18 = 23,
    _SC_AIO_MAX___18 = 24,
    _SC_AIO_PRIO_DELTA_MAX___18 = 25,
    _SC_DELAYTIMER_MAX___18 = 26,
    _SC_MQ_OPEN_MAX___18 = 27,
    _SC_MQ_PRIO_MAX___18 = 28,
    _SC_VERSION___18 = 29,
    _SC_PAGESIZE___18 = 30,
    _SC_RTSIG_MAX___18 = 31,
    _SC_SEM_NSEMS_MAX___18 = 32,
    _SC_SEM_VALUE_MAX___18 = 33,
    _SC_SIGQUEUE_MAX___18 = 34,
    _SC_TIMER_MAX___18 = 35,
    _SC_BC_BASE_MAX___18 = 36,
    _SC_BC_DIM_MAX___18 = 37,
    _SC_BC_SCALE_MAX___18 = 38,
    _SC_BC_STRING_MAX___18 = 39,
    _SC_COLL_WEIGHTS_MAX___18 = 40,
    _SC_EQUIV_CLASS_MAX___18 = 41,
    _SC_EXPR_NEST_MAX___18 = 42,
    _SC_LINE_MAX___18 = 43,
    _SC_RE_DUP_MAX___18 = 44,
    _SC_CHARCLASS_NAME_MAX___18 = 45,
    _SC_2_VERSION___18 = 46,
    _SC_2_C_BIND___18 = 47,
    _SC_2_C_DEV___18 = 48,
    _SC_2_FORT_DEV___18 = 49,
    _SC_2_FORT_RUN___18 = 50,
    _SC_2_SW_DEV___18 = 51,
    _SC_2_LOCALEDEF___18 = 52,
    _SC_PII___18 = 53,
    _SC_PII_XTI___18 = 54,
    _SC_PII_SOCKET___18 = 55,
    _SC_PII_INTERNET___18 = 56,
    _SC_PII_OSI___18 = 57,
    _SC_POLL___18 = 58,
    _SC_SELECT___18 = 59,
    _SC_UIO_MAXIOV___18 = 60,
    _SC_IOV_MAX___18 = 60,
    _SC_PII_INTERNET_STREAM___18 = 61,
    _SC_PII_INTERNET_DGRAM___18 = 62,
    _SC_PII_OSI_COTS___18 = 63,
    _SC_PII_OSI_CLTS___18 = 64,
    _SC_PII_OSI_M___18 = 65,
    _SC_T_IOV_MAX___18 = 66,
    _SC_THREADS___18 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___18 = 68,
    _SC_GETGR_R_SIZE_MAX___18 = 69,
    _SC_GETPW_R_SIZE_MAX___18 = 70,
    _SC_LOGIN_NAME_MAX___18 = 71,
    _SC_TTY_NAME_MAX___18 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___18 = 73,
    _SC_THREAD_KEYS_MAX___18 = 74,
    _SC_THREAD_STACK_MIN___18 = 75,
    _SC_THREAD_THREADS_MAX___18 = 76,
    _SC_THREAD_ATTR_STACKADDR___18 = 77,
    _SC_THREAD_ATTR_STACKSIZE___18 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___18 = 79,
    _SC_THREAD_PRIO_INHERIT___18 = 80,
    _SC_THREAD_PRIO_PROTECT___18 = 81,
    _SC_THREAD_PROCESS_SHARED___18 = 82,
    _SC_NPROCESSORS_CONF___18 = 83,
    _SC_NPROCESSORS_ONLN___18 = 84,
    _SC_PHYS_PAGES___18 = 85,
    _SC_AVPHYS_PAGES___18 = 86,
    _SC_ATEXIT_MAX___18 = 87,
    _SC_PASS_MAX___18 = 88,
    _SC_XOPEN_VERSION___18 = 89,
    _SC_XOPEN_XCU_VERSION___18 = 90,
    _SC_XOPEN_UNIX___18 = 91,
    _SC_XOPEN_CRYPT___18 = 92,
    _SC_XOPEN_ENH_I18N___18 = 93,
    _SC_XOPEN_SHM___18 = 94,
    _SC_2_CHAR_TERM___18 = 95,
    _SC_2_C_VERSION___18 = 96,
    _SC_2_UPE___18 = 97,
    _SC_XOPEN_XPG2___18 = 98,
    _SC_XOPEN_XPG3___18 = 99,
    _SC_XOPEN_XPG4___18 = 100,
    _SC_CHAR_BIT___18 = 101,
    _SC_CHAR_MAX___18 = 102,
    _SC_CHAR_MIN___18 = 103,
    _SC_INT_MAX___18 = 104,
    _SC_INT_MIN___18 = 105,
    _SC_LONG_BIT___18 = 106,
    _SC_WORD_BIT___18 = 107,
    _SC_MB_LEN_MAX___18 = 108,
    _SC_NZERO___18 = 109,
    _SC_SSIZE_MAX___18 = 110,
    _SC_SCHAR_MAX___18 = 111,
    _SC_SCHAR_MIN___18 = 112,
    _SC_SHRT_MAX___18 = 113,
    _SC_SHRT_MIN___18 = 114,
    _SC_UCHAR_MAX___18 = 115,
    _SC_UINT_MAX___18 = 116,
    _SC_ULONG_MAX___18 = 117,
    _SC_USHRT_MAX___18 = 118,
    _SC_NL_ARGMAX___18 = 119,
    _SC_NL_LANGMAX___18 = 120,
    _SC_NL_MSGMAX___18 = 121,
    _SC_NL_NMAX___18 = 122,
    _SC_NL_SETMAX___18 = 123,
    _SC_NL_TEXTMAX___18 = 124,
    _SC_XBS5_ILP32_OFF32___18 = 125,
    _SC_XBS5_ILP32_OFFBIG___18 = 126,
    _SC_XBS5_LP64_OFF64___18 = 127,
    _SC_XBS5_LPBIG_OFFBIG___18 = 128,
    _SC_XOPEN_LEGACY___18 = 129,
    _SC_XOPEN_REALTIME___18 = 130,
    _SC_XOPEN_REALTIME_THREADS___18 = 131,
    _SC_ADVISORY_INFO___18 = 132,
    _SC_BARRIERS___18 = 133,
    _SC_BASE___18 = 134,
    _SC_C_LANG_SUPPORT___18 = 135,
    _SC_C_LANG_SUPPORT_R___18 = 136,
    _SC_CLOCK_SELECTION___18 = 137,
    _SC_CPUTIME___18 = 138,
    _SC_THREAD_CPUTIME___18 = 139,
    _SC_DEVICE_IO___18 = 140,
    _SC_DEVICE_SPECIFIC___18 = 141,
    _SC_DEVICE_SPECIFIC_R___18 = 142,
    _SC_FD_MGMT___18 = 143,
    _SC_FIFO___18 = 144,
    _SC_PIPE___18 = 145,
    _SC_FILE_ATTRIBUTES___18 = 146,
    _SC_FILE_LOCKING___18 = 147,
    _SC_FILE_SYSTEM___18 = 148,
    _SC_MONOTONIC_CLOCK___18 = 149,
    _SC_MULTI_PROCESS___18 = 150,
    _SC_SINGLE_PROCESS___18 = 151,
    _SC_NETWORKING___18 = 152,
    _SC_READER_WRITER_LOCKS___18 = 153,
    _SC_SPIN_LOCKS___18 = 154,
    _SC_REGEXP___18 = 155,
    _SC_REGEX_VERSION___18 = 156,
    _SC_SHELL___18 = 157,
    _SC_SIGNALS___18 = 158,
    _SC_SPAWN___18 = 159,
    _SC_SPORADIC_SERVER___18 = 160,
    _SC_THREAD_SPORADIC_SERVER___18 = 161,
    _SC_SYSTEM_DATABASE___18 = 162,
    _SC_SYSTEM_DATABASE_R___18 = 163,
    _SC_TIMEOUTS___18 = 164,
    _SC_TYPED_MEMORY_OBJECTS___18 = 165,
    _SC_USER_GROUPS___18 = 166,
    _SC_USER_GROUPS_R___18 = 167,
    _SC_2_PBS___18 = 168,
    _SC_2_PBS_ACCOUNTING___18 = 169,
    _SC_2_PBS_LOCATE___18 = 170,
    _SC_2_PBS_MESSAGE___18 = 171,
    _SC_2_PBS_TRACK___18 = 172,
    _SC_SYMLOOP_MAX___18 = 173,
    _SC_STREAMS___18 = 174,
    _SC_2_PBS_CHECKPOINT___18 = 175,
    _SC_V6_ILP32_OFF32___18 = 176,
    _SC_V6_ILP32_OFFBIG___18 = 177,
    _SC_V6_LP64_OFF64___18 = 178,
    _SC_V6_LPBIG_OFFBIG___18 = 179,
    _SC_HOST_NAME_MAX___18 = 180,
    _SC_TRACE___18 = 181,
    _SC_TRACE_EVENT_FILTER___18 = 182,
    _SC_TRACE_INHERIT___18 = 183,
    _SC_TRACE_LOG___18 = 184,
    _SC_LEVEL1_ICACHE_SIZE___18 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___18 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___18 = 187,
    _SC_LEVEL1_DCACHE_SIZE___18 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___18 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___18 = 190,
    _SC_LEVEL2_CACHE_SIZE___18 = 191,
    _SC_LEVEL2_CACHE_ASSOC___18 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___18 = 193,
    _SC_LEVEL3_CACHE_SIZE___18 = 194,
    _SC_LEVEL3_CACHE_ASSOC___18 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___18 = 196,
    _SC_LEVEL4_CACHE_SIZE___18 = 197,
    _SC_LEVEL4_CACHE_ASSOC___18 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___18 = 199,
    _SC_IPV6___18 = 235,
    _SC_RAW_SOCKETS___18 = 236,
    _SC_V7_ILP32_OFF32___18 = 237,
    _SC_V7_ILP32_OFFBIG___18 = 238,
    _SC_V7_LP64_OFF64___18 = 239,
    _SC_V7_LPBIG_OFFBIG___18 = 240,
    _SC_SS_REPL_MAX___18 = 241,
    _SC_TRACE_EVENT_NAME_MAX___18 = 242,
    _SC_TRACE_NAME_MAX___18 = 243,
    _SC_TRACE_SYS_MAX___18 = 244,
    _SC_TRACE_USER_EVENT_MAX___18 = 245,
    _SC_XOPEN_STREAMS___18 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___18 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___18 = 248
} ;
enum __anonenum_875524036___18 {
    _CS_PATH___18 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___18 = 1,
    _CS_GNU_LIBC_VERSION___18 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___18 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___18 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___18 = 5,
    _CS_LFS_CFLAGS___18 = 1000,
    _CS_LFS_LDFLAGS___18 = 1001,
    _CS_LFS_LIBS___18 = 1002,
    _CS_LFS_LINTFLAGS___18 = 1003,
    _CS_LFS64_CFLAGS___18 = 1004,
    _CS_LFS64_LDFLAGS___18 = 1005,
    _CS_LFS64_LIBS___18 = 1006,
    _CS_LFS64_LINTFLAGS___18 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___18 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___18 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___18 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___18 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___18 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___18 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___18 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___18 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___18 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___18 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___18 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___18 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___18 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___18 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___18 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___18 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___18 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___18 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___18 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___18 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___18 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___18 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___18 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___18 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___18 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___18 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___18 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___18 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___18 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___18 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___18 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___18 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___18 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___18 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___18 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___18 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___18 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___18 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___18 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___18 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___18 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___18 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___18 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___18 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___18 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___18 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___18 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___18 = 1147,
    _CS_V6_ENV___18 = 1148,
    _CS_V7_ENV___18 = 1149
} ;
enum __anonenum_513775621___18 {
    DT_UNKNOWN___18 = 0,
    DT_FIFO___18 = 1,
    DT_CHR___18 = 2,
    DT_DIR___18 = 4,
    DT_BLK___18 = 6,
    DT_REG___18 = 8,
    DT_LNK___18 = 10,
    DT_SOCK___18 = 12,
    DT_WHT___18 = 14
} ;
enum __anonenum_77002343___18 {
    SI_ASYNCNL___18 = -60,
    SI_TKILL___18 = -6,
    SI_SIGIO___18 = -5,
    SI_ASYNCIO___18 = -4,
    SI_MESGQ___18 = -3,
    SI_TIMER___18 = -2,
    SI_QUEUE___18 = -1,
    SI_USER___18 = 0,
    SI_KERNEL___18 = 128
} ;
enum __anonenum_131038172___18 {
    ILL_ILLOPC___18 = 1,
    ILL_ILLOPN___18 = 2,
    ILL_ILLADR___18 = 3,
    ILL_ILLTRP___18 = 4,
    ILL_PRVOPC___18 = 5,
    ILL_PRVREG___18 = 6,
    ILL_COPROC___18 = 7,
    ILL_BADSTK___18 = 8
} ;
enum __anonenum_452038093___18 {
    FPE_INTDIV___18 = 1,
    FPE_INTOVF___18 = 2,
    FPE_FLTDIV___18 = 3,
    FPE_FLTOVF___18 = 4,
    FPE_FLTUND___18 = 5,
    FPE_FLTRES___18 = 6,
    FPE_FLTINV___18 = 7,
    FPE_FLTSUB___18 = 8
} ;
enum __anonenum_30976155___18 {
    SEGV_MAPERR___18 = 1,
    SEGV_ACCERR___18 = 2,
    SEGV_BNDERR___18 = 3,
    SEGV_PKUERR___18 = 4
} ;
enum __anonenum_1036286214___18 {
    BUS_ADRALN___18 = 1,
    BUS_ADRERR___18 = 2,
    BUS_OBJERR___18 = 3,
    BUS_MCEERR_AR___18 = 4,
    BUS_MCEERR_AO___18 = 5
} ;
enum __anonenum_493465559___18 {
    TRAP_BRKPT___18 = 1,
    TRAP_TRACE___18 = 2
} ;
enum __anonenum_23175539___18 {
    CLD_EXITED___18 = 1,
    CLD_KILLED___18 = 2,
    CLD_DUMPED___18 = 3,
    CLD_TRAPPED___18 = 4,
    CLD_STOPPED___18 = 5,
    CLD_CONTINUED___18 = 6
} ;
enum __anonenum_111643124___18 {
    POLL_IN___18 = 1,
    POLL_OUT___18 = 2,
    POLL_MSG___18 = 3,
    POLL_ERR___18 = 4,
    POLL_PRI___18 = 5,
    POLL_HUP___18 = 6
} ;
enum __anonenum_852341087___18 {
    SIGEV_SIGNAL___18 = 0,
    SIGEV_NONE___18 = 1,
    SIGEV_THREAD___18 = 2,
    SIGEV_THREAD_ID___18 = 4
} ;
enum __anonenum_451154152___18 {
    REG_R8___18 = 0,
    REG_R9___18 = 1,
    REG_R10___18 = 2,
    REG_R11___18 = 3,
    REG_R12___18 = 4,
    REG_R13___18 = 5,
    REG_R14___18 = 6,
    REG_R15___18 = 7,
    REG_RDI___18 = 8,
    REG_RSI___18 = 9,
    REG_RBP___18 = 10,
    REG_RBX___18 = 11,
    REG_RDX___18 = 12,
    REG_RAX___18 = 13,
    REG_RCX___18 = 14,
    REG_RSP___18 = 15,
    REG_RIP___18 = 16,
    REG_EFL___18 = 17,
    REG_CSGSFS___18 = 18,
    REG_ERR___18 = 19,
    REG_TRAPNO___18 = 20,
    REG_OLDMASK___18 = 21,
    REG_CR2___18 = 22
} ;
enum __anonenum_57186863___18 {
    SS_ONSTACK___18 = 1,
    SS_DISABLE___18 = 2
} ;
enum __anonenum_83571709___18 {
    MSG_OOB___18 = 1,
    MSG_PEEK___18 = 2,
    MSG_DONTROUTE___18 = 4,
    MSG_TRYHARD___18 = 4,
    MSG_CTRUNC___18 = 8,
    MSG_PROXY___18 = 16,
    MSG_TRUNC___18 = 32,
    MSG_DONTWAIT___18 = 64,
    MSG_EOR___18 = 128,
    MSG_WAITALL___18 = 256,
    MSG_FIN___18 = 512,
    MSG_SYN___18 = 1024,
    MSG_CONFIRM___18 = 2048,
    MSG_RST___18 = 4096,
    MSG_ERRQUEUE___18 = 8192,
    MSG_NOSIGNAL___18 = 16384,
    MSG_MORE___18 = 32768,
    MSG_WAITFORONE___18 = 65536,
    MSG_BATCH___18 = 262144,
    MSG_ZEROCOPY___18 = 67108864,
    MSG_FASTOPEN___18 = 536870912,
    MSG_CMSG_CLOEXEC___18 = 1073741824
} ;
enum __anonenum_617082774___18 {
    SCM_RIGHTS___18 = 1,
    SCM_CREDENTIALS___18 = 2
} ;
enum __anonenum_606441560___18 {
    SHUT_RD___18 = 0,
    SHUT_WR___18 = 1,
    SHUT_RDWR___18 = 2
} ;
enum __anonenum_681669233___18 {
    IPPROTO_IP___18 = 0,
    IPPROTO_ICMP___18 = 1,
    IPPROTO_IGMP___18 = 2,
    IPPROTO_IPIP___18 = 4,
    IPPROTO_TCP___18 = 6,
    IPPROTO_EGP___18 = 8,
    IPPROTO_PUP___18 = 12,
    IPPROTO_UDP___18 = 17,
    IPPROTO_IDP___18 = 22,
    IPPROTO_TP___18 = 29,
    IPPROTO_DCCP___18 = 33,
    IPPROTO_IPV6___18 = 41,
    IPPROTO_RSVP___18 = 46,
    IPPROTO_GRE___18 = 47,
    IPPROTO_ESP___18 = 50,
    IPPROTO_AH___18 = 51,
    IPPROTO_MTP___18 = 92,
    IPPROTO_BEETPH___18 = 94,
    IPPROTO_ENCAP___18 = 98,
    IPPROTO_PIM___18 = 103,
    IPPROTO_COMP___18 = 108,
    IPPROTO_SCTP___18 = 132,
    IPPROTO_UDPLITE___18 = 136,
    IPPROTO_MPLS___18 = 137,
    IPPROTO_RAW___18 = 255,
    IPPROTO_MAX___18 = 256
} ;
enum __anonenum_218739988___18 {
    IPPROTO_HOPOPTS___18 = 0,
    IPPROTO_ROUTING___18 = 43,
    IPPROTO_FRAGMENT___18 = 44,
    IPPROTO_ICMPV6___18 = 58,
    IPPROTO_NONE___18 = 59,
    IPPROTO_DSTOPTS___18 = 60,
    IPPROTO_MH___18 = 135
} ;
enum __anonenum_662268580___18 {
    IPPORT_ECHO___18 = 7,
    IPPORT_DISCARD___18 = 9,
    IPPORT_SYSTAT___18 = 11,
    IPPORT_DAYTIME___18 = 13,
    IPPORT_NETSTAT___18 = 15,
    IPPORT_FTP___18 = 21,
    IPPORT_TELNET___18 = 23,
    IPPORT_SMTP___18 = 25,
    IPPORT_TIMESERVER___18 = 37,
    IPPORT_NAMESERVER___18 = 42,
    IPPORT_WHOIS___18 = 43,
    IPPORT_MTP___18 = 57,
    IPPORT_TFTP___18 = 69,
    IPPORT_RJE___18 = 77,
    IPPORT_FINGER___18 = 79,
    IPPORT_TTYLINK___18 = 87,
    IPPORT_SUPDUP___18 = 95,
    IPPORT_EXECSERVER___18 = 512,
    IPPORT_LOGINSERVER___18 = 513,
    IPPORT_CMDSERVER___18 = 514,
    IPPORT_EFSSERVER___18 = 520,
    IPPORT_BIFFUDP___18 = 512,
    IPPORT_WHOSERVER___18 = 513,
    IPPORT_ROUTESERVER___18 = 520,
    IPPORT_RESERVED___18 = 1024,
    IPPORT_USERRESERVED___18 = 5000
} ;
enum __anonenum_788308992___18 {
    TCP_ESTABLISHED___18 = 1,
    TCP_SYN_SENT___18 = 2,
    TCP_SYN_RECV___18 = 3,
    TCP_FIN_WAIT1___18 = 4,
    TCP_FIN_WAIT2___18 = 5,
    TCP_TIME_WAIT___18 = 6,
    TCP_CLOSE___18 = 7,
    TCP_CLOSE_WAIT___18 = 8,
    TCP_LAST_ACK___18 = 9,
    TCP_LISTEN___18 = 10,
    TCP_CLOSING___18 = 11
} ;
enum __anonenum_221125648___18 {
    TCP_NO_QUEUE___18 = 0,
    TCP_RECV_QUEUE___18 = 1,
    TCP_SEND_QUEUE___18 = 2,
    TCP_QUEUES_NR___18 = 3
} ;
enum __anonenum_34415463___18 {
    PTHREAD_CREATE_JOINABLE___18 = 0,
    PTHREAD_CREATE_DETACHED___18 = 1
} ;
enum __anonenum_303612439___18 {
    PTHREAD_MUTEX_TIMED_NP___18 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___18 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___18 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___18 = 3,
    PTHREAD_MUTEX_NORMAL___18 = 0,
    PTHREAD_MUTEX_RECURSIVE___18 = 1,
    PTHREAD_MUTEX_ERRORCHECK___18 = 2,
    PTHREAD_MUTEX_DEFAULT___18 = 0,
    PTHREAD_MUTEX_FAST_NP___18 = 0
} ;
enum __anonenum_931900394___18 {
    PTHREAD_MUTEX_STALLED___18 = 0,
    PTHREAD_MUTEX_STALLED_NP___18 = 0,
    PTHREAD_MUTEX_ROBUST___18 = 1,
    PTHREAD_MUTEX_ROBUST_NP___18 = 1
} ;
enum __anonenum_205214487___18 {
    PTHREAD_PRIO_NONE___18 = 0,
    PTHREAD_PRIO_INHERIT___18 = 1,
    PTHREAD_PRIO_PROTECT___18 = 2
} ;
enum __anonenum_25043950___18 {
    PTHREAD_RWLOCK_PREFER_READER_NP___18 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___18 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___18 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___18 = 0
} ;
enum __anonenum_436439511___18 {
    PTHREAD_INHERIT_SCHED___18 = 0,
    PTHREAD_EXPLICIT_SCHED___18 = 1
} ;
enum __anonenum_998661166___18 {
    PTHREAD_SCOPE_SYSTEM___18 = 0,
    PTHREAD_SCOPE_PROCESS___18 = 1
} ;
enum __anonenum_146137331___18 {
    PTHREAD_PROCESS_PRIVATE___18 = 0,
    PTHREAD_PROCESS_SHARED___18 = 1
} ;
enum __anonenum_53396917___18 {
    PTHREAD_CANCEL_ENABLE___18 = 0,
    PTHREAD_CANCEL_DISABLE___18 = 1
} ;
enum __anonenum_904563783___18 {
    PTHREAD_CANCEL_DEFERRED___18 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___18 = 1
} ;
enum __anonenum_672052974___18 {
    SSL_CT_VALIDATION_PERMISSIVE___18 = 0,
    SSL_CT_VALIDATION_STRICT___18 = 1
} ;
enum __anonenum_437032235___19 {
    _PC_LINK_MAX___19 = 0,
    _PC_MAX_CANON___19 = 1,
    _PC_MAX_INPUT___19 = 2,
    _PC_NAME_MAX___19 = 3,
    _PC_PATH_MAX___19 = 4,
    _PC_PIPE_BUF___19 = 5,
    _PC_CHOWN_RESTRICTED___19 = 6,
    _PC_NO_TRUNC___19 = 7,
    _PC_VDISABLE___19 = 8,
    _PC_SYNC_IO___19 = 9,
    _PC_ASYNC_IO___19 = 10,
    _PC_PRIO_IO___19 = 11,
    _PC_SOCK_MAXBUF___19 = 12,
    _PC_FILESIZEBITS___19 = 13,
    _PC_REC_INCR_XFER_SIZE___19 = 14,
    _PC_REC_MAX_XFER_SIZE___19 = 15,
    _PC_REC_MIN_XFER_SIZE___19 = 16,
    _PC_REC_XFER_ALIGN___19 = 17,
    _PC_ALLOC_SIZE_MIN___19 = 18,
    _PC_SYMLINK_MAX___19 = 19,
    _PC_2_SYMLINKS___19 = 20
} ;
enum __anonenum_315186338___19 {
    _SC_ARG_MAX___19 = 0,
    _SC_CHILD_MAX___19 = 1,
    _SC_CLK_TCK___19 = 2,
    _SC_NGROUPS_MAX___19 = 3,
    _SC_OPEN_MAX___19 = 4,
    _SC_STREAM_MAX___19 = 5,
    _SC_TZNAME_MAX___19 = 6,
    _SC_JOB_CONTROL___19 = 7,
    _SC_SAVED_IDS___19 = 8,
    _SC_REALTIME_SIGNALS___19 = 9,
    _SC_PRIORITY_SCHEDULING___19 = 10,
    _SC_TIMERS___19 = 11,
    _SC_ASYNCHRONOUS_IO___19 = 12,
    _SC_PRIORITIZED_IO___19 = 13,
    _SC_SYNCHRONIZED_IO___19 = 14,
    _SC_FSYNC___19 = 15,
    _SC_MAPPED_FILES___19 = 16,
    _SC_MEMLOCK___19 = 17,
    _SC_MEMLOCK_RANGE___19 = 18,
    _SC_MEMORY_PROTECTION___19 = 19,
    _SC_MESSAGE_PASSING___19 = 20,
    _SC_SEMAPHORES___19 = 21,
    _SC_SHARED_MEMORY_OBJECTS___19 = 22,
    _SC_AIO_LISTIO_MAX___19 = 23,
    _SC_AIO_MAX___19 = 24,
    _SC_AIO_PRIO_DELTA_MAX___19 = 25,
    _SC_DELAYTIMER_MAX___19 = 26,
    _SC_MQ_OPEN_MAX___19 = 27,
    _SC_MQ_PRIO_MAX___19 = 28,
    _SC_VERSION___19 = 29,
    _SC_PAGESIZE___19 = 30,
    _SC_RTSIG_MAX___19 = 31,
    _SC_SEM_NSEMS_MAX___19 = 32,
    _SC_SEM_VALUE_MAX___19 = 33,
    _SC_SIGQUEUE_MAX___19 = 34,
    _SC_TIMER_MAX___19 = 35,
    _SC_BC_BASE_MAX___19 = 36,
    _SC_BC_DIM_MAX___19 = 37,
    _SC_BC_SCALE_MAX___19 = 38,
    _SC_BC_STRING_MAX___19 = 39,
    _SC_COLL_WEIGHTS_MAX___19 = 40,
    _SC_EQUIV_CLASS_MAX___19 = 41,
    _SC_EXPR_NEST_MAX___19 = 42,
    _SC_LINE_MAX___19 = 43,
    _SC_RE_DUP_MAX___19 = 44,
    _SC_CHARCLASS_NAME_MAX___19 = 45,
    _SC_2_VERSION___19 = 46,
    _SC_2_C_BIND___19 = 47,
    _SC_2_C_DEV___19 = 48,
    _SC_2_FORT_DEV___19 = 49,
    _SC_2_FORT_RUN___19 = 50,
    _SC_2_SW_DEV___19 = 51,
    _SC_2_LOCALEDEF___19 = 52,
    _SC_PII___19 = 53,
    _SC_PII_XTI___19 = 54,
    _SC_PII_SOCKET___19 = 55,
    _SC_PII_INTERNET___19 = 56,
    _SC_PII_OSI___19 = 57,
    _SC_POLL___19 = 58,
    _SC_SELECT___19 = 59,
    _SC_UIO_MAXIOV___19 = 60,
    _SC_IOV_MAX___19 = 60,
    _SC_PII_INTERNET_STREAM___19 = 61,
    _SC_PII_INTERNET_DGRAM___19 = 62,
    _SC_PII_OSI_COTS___19 = 63,
    _SC_PII_OSI_CLTS___19 = 64,
    _SC_PII_OSI_M___19 = 65,
    _SC_T_IOV_MAX___19 = 66,
    _SC_THREADS___19 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___19 = 68,
    _SC_GETGR_R_SIZE_MAX___19 = 69,
    _SC_GETPW_R_SIZE_MAX___19 = 70,
    _SC_LOGIN_NAME_MAX___19 = 71,
    _SC_TTY_NAME_MAX___19 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___19 = 73,
    _SC_THREAD_KEYS_MAX___19 = 74,
    _SC_THREAD_STACK_MIN___19 = 75,
    _SC_THREAD_THREADS_MAX___19 = 76,
    _SC_THREAD_ATTR_STACKADDR___19 = 77,
    _SC_THREAD_ATTR_STACKSIZE___19 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___19 = 79,
    _SC_THREAD_PRIO_INHERIT___19 = 80,
    _SC_THREAD_PRIO_PROTECT___19 = 81,
    _SC_THREAD_PROCESS_SHARED___19 = 82,
    _SC_NPROCESSORS_CONF___19 = 83,
    _SC_NPROCESSORS_ONLN___19 = 84,
    _SC_PHYS_PAGES___19 = 85,
    _SC_AVPHYS_PAGES___19 = 86,
    _SC_ATEXIT_MAX___19 = 87,
    _SC_PASS_MAX___19 = 88,
    _SC_XOPEN_VERSION___19 = 89,
    _SC_XOPEN_XCU_VERSION___19 = 90,
    _SC_XOPEN_UNIX___19 = 91,
    _SC_XOPEN_CRYPT___19 = 92,
    _SC_XOPEN_ENH_I18N___19 = 93,
    _SC_XOPEN_SHM___19 = 94,
    _SC_2_CHAR_TERM___19 = 95,
    _SC_2_C_VERSION___19 = 96,
    _SC_2_UPE___19 = 97,
    _SC_XOPEN_XPG2___19 = 98,
    _SC_XOPEN_XPG3___19 = 99,
    _SC_XOPEN_XPG4___19 = 100,
    _SC_CHAR_BIT___19 = 101,
    _SC_CHAR_MAX___19 = 102,
    _SC_CHAR_MIN___19 = 103,
    _SC_INT_MAX___19 = 104,
    _SC_INT_MIN___19 = 105,
    _SC_LONG_BIT___19 = 106,
    _SC_WORD_BIT___19 = 107,
    _SC_MB_LEN_MAX___19 = 108,
    _SC_NZERO___19 = 109,
    _SC_SSIZE_MAX___19 = 110,
    _SC_SCHAR_MAX___19 = 111,
    _SC_SCHAR_MIN___19 = 112,
    _SC_SHRT_MAX___19 = 113,
    _SC_SHRT_MIN___19 = 114,
    _SC_UCHAR_MAX___19 = 115,
    _SC_UINT_MAX___19 = 116,
    _SC_ULONG_MAX___19 = 117,
    _SC_USHRT_MAX___19 = 118,
    _SC_NL_ARGMAX___19 = 119,
    _SC_NL_LANGMAX___19 = 120,
    _SC_NL_MSGMAX___19 = 121,
    _SC_NL_NMAX___19 = 122,
    _SC_NL_SETMAX___19 = 123,
    _SC_NL_TEXTMAX___19 = 124,
    _SC_XBS5_ILP32_OFF32___19 = 125,
    _SC_XBS5_ILP32_OFFBIG___19 = 126,
    _SC_XBS5_LP64_OFF64___19 = 127,
    _SC_XBS5_LPBIG_OFFBIG___19 = 128,
    _SC_XOPEN_LEGACY___19 = 129,
    _SC_XOPEN_REALTIME___19 = 130,
    _SC_XOPEN_REALTIME_THREADS___19 = 131,
    _SC_ADVISORY_INFO___19 = 132,
    _SC_BARRIERS___19 = 133,
    _SC_BASE___19 = 134,
    _SC_C_LANG_SUPPORT___19 = 135,
    _SC_C_LANG_SUPPORT_R___19 = 136,
    _SC_CLOCK_SELECTION___19 = 137,
    _SC_CPUTIME___19 = 138,
    _SC_THREAD_CPUTIME___19 = 139,
    _SC_DEVICE_IO___19 = 140,
    _SC_DEVICE_SPECIFIC___19 = 141,
    _SC_DEVICE_SPECIFIC_R___19 = 142,
    _SC_FD_MGMT___19 = 143,
    _SC_FIFO___19 = 144,
    _SC_PIPE___19 = 145,
    _SC_FILE_ATTRIBUTES___19 = 146,
    _SC_FILE_LOCKING___19 = 147,
    _SC_FILE_SYSTEM___19 = 148,
    _SC_MONOTONIC_CLOCK___19 = 149,
    _SC_MULTI_PROCESS___19 = 150,
    _SC_SINGLE_PROCESS___19 = 151,
    _SC_NETWORKING___19 = 152,
    _SC_READER_WRITER_LOCKS___19 = 153,
    _SC_SPIN_LOCKS___19 = 154,
    _SC_REGEXP___19 = 155,
    _SC_REGEX_VERSION___19 = 156,
    _SC_SHELL___19 = 157,
    _SC_SIGNALS___19 = 158,
    _SC_SPAWN___19 = 159,
    _SC_SPORADIC_SERVER___19 = 160,
    _SC_THREAD_SPORADIC_SERVER___19 = 161,
    _SC_SYSTEM_DATABASE___19 = 162,
    _SC_SYSTEM_DATABASE_R___19 = 163,
    _SC_TIMEOUTS___19 = 164,
    _SC_TYPED_MEMORY_OBJECTS___19 = 165,
    _SC_USER_GROUPS___19 = 166,
    _SC_USER_GROUPS_R___19 = 167,
    _SC_2_PBS___19 = 168,
    _SC_2_PBS_ACCOUNTING___19 = 169,
    _SC_2_PBS_LOCATE___19 = 170,
    _SC_2_PBS_MESSAGE___19 = 171,
    _SC_2_PBS_TRACK___19 = 172,
    _SC_SYMLOOP_MAX___19 = 173,
    _SC_STREAMS___19 = 174,
    _SC_2_PBS_CHECKPOINT___19 = 175,
    _SC_V6_ILP32_OFF32___19 = 176,
    _SC_V6_ILP32_OFFBIG___19 = 177,
    _SC_V6_LP64_OFF64___19 = 178,
    _SC_V6_LPBIG_OFFBIG___19 = 179,
    _SC_HOST_NAME_MAX___19 = 180,
    _SC_TRACE___19 = 181,
    _SC_TRACE_EVENT_FILTER___19 = 182,
    _SC_TRACE_INHERIT___19 = 183,
    _SC_TRACE_LOG___19 = 184,
    _SC_LEVEL1_ICACHE_SIZE___19 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___19 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___19 = 187,
    _SC_LEVEL1_DCACHE_SIZE___19 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___19 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___19 = 190,
    _SC_LEVEL2_CACHE_SIZE___19 = 191,
    _SC_LEVEL2_CACHE_ASSOC___19 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___19 = 193,
    _SC_LEVEL3_CACHE_SIZE___19 = 194,
    _SC_LEVEL3_CACHE_ASSOC___19 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___19 = 196,
    _SC_LEVEL4_CACHE_SIZE___19 = 197,
    _SC_LEVEL4_CACHE_ASSOC___19 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___19 = 199,
    _SC_IPV6___19 = 235,
    _SC_RAW_SOCKETS___19 = 236,
    _SC_V7_ILP32_OFF32___19 = 237,
    _SC_V7_ILP32_OFFBIG___19 = 238,
    _SC_V7_LP64_OFF64___19 = 239,
    _SC_V7_LPBIG_OFFBIG___19 = 240,
    _SC_SS_REPL_MAX___19 = 241,
    _SC_TRACE_EVENT_NAME_MAX___19 = 242,
    _SC_TRACE_NAME_MAX___19 = 243,
    _SC_TRACE_SYS_MAX___19 = 244,
    _SC_TRACE_USER_EVENT_MAX___19 = 245,
    _SC_XOPEN_STREAMS___19 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___19 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___19 = 248
} ;
enum __anonenum_875524036___19 {
    _CS_PATH___19 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___19 = 1,
    _CS_GNU_LIBC_VERSION___19 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___19 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___19 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___19 = 5,
    _CS_LFS_CFLAGS___19 = 1000,
    _CS_LFS_LDFLAGS___19 = 1001,
    _CS_LFS_LIBS___19 = 1002,
    _CS_LFS_LINTFLAGS___19 = 1003,
    _CS_LFS64_CFLAGS___19 = 1004,
    _CS_LFS64_LDFLAGS___19 = 1005,
    _CS_LFS64_LIBS___19 = 1006,
    _CS_LFS64_LINTFLAGS___19 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___19 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___19 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___19 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___19 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___19 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___19 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___19 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___19 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___19 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___19 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___19 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___19 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___19 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___19 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___19 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___19 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___19 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___19 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___19 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___19 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___19 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___19 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___19 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___19 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___19 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___19 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___19 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___19 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___19 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___19 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___19 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___19 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___19 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___19 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___19 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___19 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___19 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___19 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___19 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___19 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___19 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___19 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___19 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___19 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___19 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___19 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___19 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___19 = 1147,
    _CS_V6_ENV___19 = 1148,
    _CS_V7_ENV___19 = 1149
} ;
enum __anonenum_513775621___19 {
    DT_UNKNOWN___19 = 0,
    DT_FIFO___19 = 1,
    DT_CHR___19 = 2,
    DT_DIR___19 = 4,
    DT_BLK___19 = 6,
    DT_REG___19 = 8,
    DT_LNK___19 = 10,
    DT_SOCK___19 = 12,
    DT_WHT___19 = 14
} ;
enum __anonenum_77002343___19 {
    SI_ASYNCNL___19 = -60,
    SI_TKILL___19 = -6,
    SI_SIGIO___19 = -5,
    SI_ASYNCIO___19 = -4,
    SI_MESGQ___19 = -3,
    SI_TIMER___19 = -2,
    SI_QUEUE___19 = -1,
    SI_USER___19 = 0,
    SI_KERNEL___19 = 128
} ;
enum __anonenum_131038172___19 {
    ILL_ILLOPC___19 = 1,
    ILL_ILLOPN___19 = 2,
    ILL_ILLADR___19 = 3,
    ILL_ILLTRP___19 = 4,
    ILL_PRVOPC___19 = 5,
    ILL_PRVREG___19 = 6,
    ILL_COPROC___19 = 7,
    ILL_BADSTK___19 = 8
} ;
enum __anonenum_452038093___19 {
    FPE_INTDIV___19 = 1,
    FPE_INTOVF___19 = 2,
    FPE_FLTDIV___19 = 3,
    FPE_FLTOVF___19 = 4,
    FPE_FLTUND___19 = 5,
    FPE_FLTRES___19 = 6,
    FPE_FLTINV___19 = 7,
    FPE_FLTSUB___19 = 8
} ;
enum __anonenum_30976155___19 {
    SEGV_MAPERR___19 = 1,
    SEGV_ACCERR___19 = 2,
    SEGV_BNDERR___19 = 3,
    SEGV_PKUERR___19 = 4
} ;
enum __anonenum_1036286214___19 {
    BUS_ADRALN___19 = 1,
    BUS_ADRERR___19 = 2,
    BUS_OBJERR___19 = 3,
    BUS_MCEERR_AR___19 = 4,
    BUS_MCEERR_AO___19 = 5
} ;
enum __anonenum_493465559___19 {
    TRAP_BRKPT___19 = 1,
    TRAP_TRACE___19 = 2
} ;
enum __anonenum_23175539___19 {
    CLD_EXITED___19 = 1,
    CLD_KILLED___19 = 2,
    CLD_DUMPED___19 = 3,
    CLD_TRAPPED___19 = 4,
    CLD_STOPPED___19 = 5,
    CLD_CONTINUED___19 = 6
} ;
enum __anonenum_111643124___19 {
    POLL_IN___19 = 1,
    POLL_OUT___19 = 2,
    POLL_MSG___19 = 3,
    POLL_ERR___19 = 4,
    POLL_PRI___19 = 5,
    POLL_HUP___19 = 6
} ;
enum __anonenum_852341087___19 {
    SIGEV_SIGNAL___19 = 0,
    SIGEV_NONE___19 = 1,
    SIGEV_THREAD___19 = 2,
    SIGEV_THREAD_ID___19 = 4
} ;
enum __anonenum_451154152___19 {
    REG_R8___19 = 0,
    REG_R9___19 = 1,
    REG_R10___19 = 2,
    REG_R11___19 = 3,
    REG_R12___19 = 4,
    REG_R13___19 = 5,
    REG_R14___19 = 6,
    REG_R15___19 = 7,
    REG_RDI___19 = 8,
    REG_RSI___19 = 9,
    REG_RBP___19 = 10,
    REG_RBX___19 = 11,
    REG_RDX___19 = 12,
    REG_RAX___19 = 13,
    REG_RCX___19 = 14,
    REG_RSP___19 = 15,
    REG_RIP___19 = 16,
    REG_EFL___19 = 17,
    REG_CSGSFS___19 = 18,
    REG_ERR___19 = 19,
    REG_TRAPNO___19 = 20,
    REG_OLDMASK___19 = 21,
    REG_CR2___19 = 22
} ;
enum __anonenum_57186863___19 {
    SS_ONSTACK___19 = 1,
    SS_DISABLE___19 = 2
} ;
enum __anonenum_83571709___19 {
    MSG_OOB___19 = 1,
    MSG_PEEK___19 = 2,
    MSG_DONTROUTE___19 = 4,
    MSG_TRYHARD___19 = 4,
    MSG_CTRUNC___19 = 8,
    MSG_PROXY___19 = 16,
    MSG_TRUNC___19 = 32,
    MSG_DONTWAIT___19 = 64,
    MSG_EOR___19 = 128,
    MSG_WAITALL___19 = 256,
    MSG_FIN___19 = 512,
    MSG_SYN___19 = 1024,
    MSG_CONFIRM___19 = 2048,
    MSG_RST___19 = 4096,
    MSG_ERRQUEUE___19 = 8192,
    MSG_NOSIGNAL___19 = 16384,
    MSG_MORE___19 = 32768,
    MSG_WAITFORONE___19 = 65536,
    MSG_BATCH___19 = 262144,
    MSG_ZEROCOPY___19 = 67108864,
    MSG_FASTOPEN___19 = 536870912,
    MSG_CMSG_CLOEXEC___19 = 1073741824
} ;
enum __anonenum_617082774___19 {
    SCM_RIGHTS___19 = 1,
    SCM_CREDENTIALS___19 = 2
} ;
enum __anonenum_606441560___19 {
    SHUT_RD___19 = 0,
    SHUT_WR___19 = 1,
    SHUT_RDWR___19 = 2
} ;
enum __anonenum_681669233___19 {
    IPPROTO_IP___19 = 0,
    IPPROTO_ICMP___19 = 1,
    IPPROTO_IGMP___19 = 2,
    IPPROTO_IPIP___19 = 4,
    IPPROTO_TCP___19 = 6,
    IPPROTO_EGP___19 = 8,
    IPPROTO_PUP___19 = 12,
    IPPROTO_UDP___19 = 17,
    IPPROTO_IDP___19 = 22,
    IPPROTO_TP___19 = 29,
    IPPROTO_DCCP___19 = 33,
    IPPROTO_IPV6___19 = 41,
    IPPROTO_RSVP___19 = 46,
    IPPROTO_GRE___19 = 47,
    IPPROTO_ESP___19 = 50,
    IPPROTO_AH___19 = 51,
    IPPROTO_MTP___19 = 92,
    IPPROTO_BEETPH___19 = 94,
    IPPROTO_ENCAP___19 = 98,
    IPPROTO_PIM___19 = 103,
    IPPROTO_COMP___19 = 108,
    IPPROTO_SCTP___19 = 132,
    IPPROTO_UDPLITE___19 = 136,
    IPPROTO_MPLS___19 = 137,
    IPPROTO_RAW___19 = 255,
    IPPROTO_MAX___19 = 256
} ;
enum __anonenum_218739988___19 {
    IPPROTO_HOPOPTS___19 = 0,
    IPPROTO_ROUTING___19 = 43,
    IPPROTO_FRAGMENT___19 = 44,
    IPPROTO_ICMPV6___19 = 58,
    IPPROTO_NONE___19 = 59,
    IPPROTO_DSTOPTS___19 = 60,
    IPPROTO_MH___19 = 135
} ;
enum __anonenum_662268580___19 {
    IPPORT_ECHO___19 = 7,
    IPPORT_DISCARD___19 = 9,
    IPPORT_SYSTAT___19 = 11,
    IPPORT_DAYTIME___19 = 13,
    IPPORT_NETSTAT___19 = 15,
    IPPORT_FTP___19 = 21,
    IPPORT_TELNET___19 = 23,
    IPPORT_SMTP___19 = 25,
    IPPORT_TIMESERVER___19 = 37,
    IPPORT_NAMESERVER___19 = 42,
    IPPORT_WHOIS___19 = 43,
    IPPORT_MTP___19 = 57,
    IPPORT_TFTP___19 = 69,
    IPPORT_RJE___19 = 77,
    IPPORT_FINGER___19 = 79,
    IPPORT_TTYLINK___19 = 87,
    IPPORT_SUPDUP___19 = 95,
    IPPORT_EXECSERVER___19 = 512,
    IPPORT_LOGINSERVER___19 = 513,
    IPPORT_CMDSERVER___19 = 514,
    IPPORT_EFSSERVER___19 = 520,
    IPPORT_BIFFUDP___19 = 512,
    IPPORT_WHOSERVER___19 = 513,
    IPPORT_ROUTESERVER___19 = 520,
    IPPORT_RESERVED___19 = 1024,
    IPPORT_USERRESERVED___19 = 5000
} ;
enum __anonenum_788308992___19 {
    TCP_ESTABLISHED___19 = 1,
    TCP_SYN_SENT___19 = 2,
    TCP_SYN_RECV___19 = 3,
    TCP_FIN_WAIT1___19 = 4,
    TCP_FIN_WAIT2___19 = 5,
    TCP_TIME_WAIT___19 = 6,
    TCP_CLOSE___19 = 7,
    TCP_CLOSE_WAIT___19 = 8,
    TCP_LAST_ACK___19 = 9,
    TCP_LISTEN___19 = 10,
    TCP_CLOSING___19 = 11
} ;
enum __anonenum_221125648___19 {
    TCP_NO_QUEUE___19 = 0,
    TCP_RECV_QUEUE___19 = 1,
    TCP_SEND_QUEUE___19 = 2,
    TCP_QUEUES_NR___19 = 3
} ;
enum __anonenum_34415463___19 {
    PTHREAD_CREATE_JOINABLE___19 = 0,
    PTHREAD_CREATE_DETACHED___19 = 1
} ;
enum __anonenum_303612439___19 {
    PTHREAD_MUTEX_TIMED_NP___19 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___19 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___19 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___19 = 3,
    PTHREAD_MUTEX_NORMAL___19 = 0,
    PTHREAD_MUTEX_RECURSIVE___19 = 1,
    PTHREAD_MUTEX_ERRORCHECK___19 = 2,
    PTHREAD_MUTEX_DEFAULT___19 = 0,
    PTHREAD_MUTEX_FAST_NP___19 = 0
} ;
enum __anonenum_931900394___19 {
    PTHREAD_MUTEX_STALLED___19 = 0,
    PTHREAD_MUTEX_STALLED_NP___19 = 0,
    PTHREAD_MUTEX_ROBUST___19 = 1,
    PTHREAD_MUTEX_ROBUST_NP___19 = 1
} ;
enum __anonenum_205214487___19 {
    PTHREAD_PRIO_NONE___19 = 0,
    PTHREAD_PRIO_INHERIT___19 = 1,
    PTHREAD_PRIO_PROTECT___19 = 2
} ;
enum __anonenum_25043950___19 {
    PTHREAD_RWLOCK_PREFER_READER_NP___19 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___19 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___19 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___19 = 0
} ;
enum __anonenum_436439511___19 {
    PTHREAD_INHERIT_SCHED___19 = 0,
    PTHREAD_EXPLICIT_SCHED___19 = 1
} ;
enum __anonenum_998661166___19 {
    PTHREAD_SCOPE_SYSTEM___19 = 0,
    PTHREAD_SCOPE_PROCESS___19 = 1
} ;
enum __anonenum_146137331___19 {
    PTHREAD_PROCESS_PRIVATE___19 = 0,
    PTHREAD_PROCESS_SHARED___19 = 1
} ;
enum __anonenum_53396917___19 {
    PTHREAD_CANCEL_ENABLE___19 = 0,
    PTHREAD_CANCEL_DISABLE___19 = 1
} ;
enum __anonenum_904563783___19 {
    PTHREAD_CANCEL_DEFERRED___19 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___19 = 1
} ;
enum __anonenum_672052974___19 {
    SSL_CT_VALIDATION_PERMISSIVE___19 = 0,
    SSL_CT_VALIDATION_STRICT___19 = 1
} ;
struct bloom_filter_slab {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   struct bloom_filter **slab ;
};
struct pathmap_hash_entry {
   struct hashmap_entry entry ;
   char const   path[] ;
};
enum __anonenum_437032235___20 {
    _PC_LINK_MAX___20 = 0,
    _PC_MAX_CANON___20 = 1,
    _PC_MAX_INPUT___20 = 2,
    _PC_NAME_MAX___20 = 3,
    _PC_PATH_MAX___20 = 4,
    _PC_PIPE_BUF___20 = 5,
    _PC_CHOWN_RESTRICTED___20 = 6,
    _PC_NO_TRUNC___20 = 7,
    _PC_VDISABLE___20 = 8,
    _PC_SYNC_IO___20 = 9,
    _PC_ASYNC_IO___20 = 10,
    _PC_PRIO_IO___20 = 11,
    _PC_SOCK_MAXBUF___20 = 12,
    _PC_FILESIZEBITS___20 = 13,
    _PC_REC_INCR_XFER_SIZE___20 = 14,
    _PC_REC_MAX_XFER_SIZE___20 = 15,
    _PC_REC_MIN_XFER_SIZE___20 = 16,
    _PC_REC_XFER_ALIGN___20 = 17,
    _PC_ALLOC_SIZE_MIN___20 = 18,
    _PC_SYMLINK_MAX___20 = 19,
    _PC_2_SYMLINKS___20 = 20
} ;
enum __anonenum_315186338___20 {
    _SC_ARG_MAX___20 = 0,
    _SC_CHILD_MAX___20 = 1,
    _SC_CLK_TCK___20 = 2,
    _SC_NGROUPS_MAX___20 = 3,
    _SC_OPEN_MAX___20 = 4,
    _SC_STREAM_MAX___20 = 5,
    _SC_TZNAME_MAX___20 = 6,
    _SC_JOB_CONTROL___20 = 7,
    _SC_SAVED_IDS___20 = 8,
    _SC_REALTIME_SIGNALS___20 = 9,
    _SC_PRIORITY_SCHEDULING___20 = 10,
    _SC_TIMERS___20 = 11,
    _SC_ASYNCHRONOUS_IO___20 = 12,
    _SC_PRIORITIZED_IO___20 = 13,
    _SC_SYNCHRONIZED_IO___20 = 14,
    _SC_FSYNC___20 = 15,
    _SC_MAPPED_FILES___20 = 16,
    _SC_MEMLOCK___20 = 17,
    _SC_MEMLOCK_RANGE___20 = 18,
    _SC_MEMORY_PROTECTION___20 = 19,
    _SC_MESSAGE_PASSING___20 = 20,
    _SC_SEMAPHORES___20 = 21,
    _SC_SHARED_MEMORY_OBJECTS___20 = 22,
    _SC_AIO_LISTIO_MAX___20 = 23,
    _SC_AIO_MAX___20 = 24,
    _SC_AIO_PRIO_DELTA_MAX___20 = 25,
    _SC_DELAYTIMER_MAX___20 = 26,
    _SC_MQ_OPEN_MAX___20 = 27,
    _SC_MQ_PRIO_MAX___20 = 28,
    _SC_VERSION___20 = 29,
    _SC_PAGESIZE___20 = 30,
    _SC_RTSIG_MAX___20 = 31,
    _SC_SEM_NSEMS_MAX___20 = 32,
    _SC_SEM_VALUE_MAX___20 = 33,
    _SC_SIGQUEUE_MAX___20 = 34,
    _SC_TIMER_MAX___20 = 35,
    _SC_BC_BASE_MAX___20 = 36,
    _SC_BC_DIM_MAX___20 = 37,
    _SC_BC_SCALE_MAX___20 = 38,
    _SC_BC_STRING_MAX___20 = 39,
    _SC_COLL_WEIGHTS_MAX___20 = 40,
    _SC_EQUIV_CLASS_MAX___20 = 41,
    _SC_EXPR_NEST_MAX___20 = 42,
    _SC_LINE_MAX___20 = 43,
    _SC_RE_DUP_MAX___20 = 44,
    _SC_CHARCLASS_NAME_MAX___20 = 45,
    _SC_2_VERSION___20 = 46,
    _SC_2_C_BIND___20 = 47,
    _SC_2_C_DEV___20 = 48,
    _SC_2_FORT_DEV___20 = 49,
    _SC_2_FORT_RUN___20 = 50,
    _SC_2_SW_DEV___20 = 51,
    _SC_2_LOCALEDEF___20 = 52,
    _SC_PII___20 = 53,
    _SC_PII_XTI___20 = 54,
    _SC_PII_SOCKET___20 = 55,
    _SC_PII_INTERNET___20 = 56,
    _SC_PII_OSI___20 = 57,
    _SC_POLL___20 = 58,
    _SC_SELECT___20 = 59,
    _SC_UIO_MAXIOV___20 = 60,
    _SC_IOV_MAX___20 = 60,
    _SC_PII_INTERNET_STREAM___20 = 61,
    _SC_PII_INTERNET_DGRAM___20 = 62,
    _SC_PII_OSI_COTS___20 = 63,
    _SC_PII_OSI_CLTS___20 = 64,
    _SC_PII_OSI_M___20 = 65,
    _SC_T_IOV_MAX___20 = 66,
    _SC_THREADS___20 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___20 = 68,
    _SC_GETGR_R_SIZE_MAX___20 = 69,
    _SC_GETPW_R_SIZE_MAX___20 = 70,
    _SC_LOGIN_NAME_MAX___20 = 71,
    _SC_TTY_NAME_MAX___20 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___20 = 73,
    _SC_THREAD_KEYS_MAX___20 = 74,
    _SC_THREAD_STACK_MIN___20 = 75,
    _SC_THREAD_THREADS_MAX___20 = 76,
    _SC_THREAD_ATTR_STACKADDR___20 = 77,
    _SC_THREAD_ATTR_STACKSIZE___20 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___20 = 79,
    _SC_THREAD_PRIO_INHERIT___20 = 80,
    _SC_THREAD_PRIO_PROTECT___20 = 81,
    _SC_THREAD_PROCESS_SHARED___20 = 82,
    _SC_NPROCESSORS_CONF___20 = 83,
    _SC_NPROCESSORS_ONLN___20 = 84,
    _SC_PHYS_PAGES___20 = 85,
    _SC_AVPHYS_PAGES___20 = 86,
    _SC_ATEXIT_MAX___20 = 87,
    _SC_PASS_MAX___20 = 88,
    _SC_XOPEN_VERSION___20 = 89,
    _SC_XOPEN_XCU_VERSION___20 = 90,
    _SC_XOPEN_UNIX___20 = 91,
    _SC_XOPEN_CRYPT___20 = 92,
    _SC_XOPEN_ENH_I18N___20 = 93,
    _SC_XOPEN_SHM___20 = 94,
    _SC_2_CHAR_TERM___20 = 95,
    _SC_2_C_VERSION___20 = 96,
    _SC_2_UPE___20 = 97,
    _SC_XOPEN_XPG2___20 = 98,
    _SC_XOPEN_XPG3___20 = 99,
    _SC_XOPEN_XPG4___20 = 100,
    _SC_CHAR_BIT___20 = 101,
    _SC_CHAR_MAX___20 = 102,
    _SC_CHAR_MIN___20 = 103,
    _SC_INT_MAX___20 = 104,
    _SC_INT_MIN___20 = 105,
    _SC_LONG_BIT___20 = 106,
    _SC_WORD_BIT___20 = 107,
    _SC_MB_LEN_MAX___20 = 108,
    _SC_NZERO___20 = 109,
    _SC_SSIZE_MAX___20 = 110,
    _SC_SCHAR_MAX___20 = 111,
    _SC_SCHAR_MIN___20 = 112,
    _SC_SHRT_MAX___20 = 113,
    _SC_SHRT_MIN___20 = 114,
    _SC_UCHAR_MAX___20 = 115,
    _SC_UINT_MAX___20 = 116,
    _SC_ULONG_MAX___20 = 117,
    _SC_USHRT_MAX___20 = 118,
    _SC_NL_ARGMAX___20 = 119,
    _SC_NL_LANGMAX___20 = 120,
    _SC_NL_MSGMAX___20 = 121,
    _SC_NL_NMAX___20 = 122,
    _SC_NL_SETMAX___20 = 123,
    _SC_NL_TEXTMAX___20 = 124,
    _SC_XBS5_ILP32_OFF32___20 = 125,
    _SC_XBS5_ILP32_OFFBIG___20 = 126,
    _SC_XBS5_LP64_OFF64___20 = 127,
    _SC_XBS5_LPBIG_OFFBIG___20 = 128,
    _SC_XOPEN_LEGACY___20 = 129,
    _SC_XOPEN_REALTIME___20 = 130,
    _SC_XOPEN_REALTIME_THREADS___20 = 131,
    _SC_ADVISORY_INFO___20 = 132,
    _SC_BARRIERS___20 = 133,
    _SC_BASE___20 = 134,
    _SC_C_LANG_SUPPORT___20 = 135,
    _SC_C_LANG_SUPPORT_R___20 = 136,
    _SC_CLOCK_SELECTION___20 = 137,
    _SC_CPUTIME___20 = 138,
    _SC_THREAD_CPUTIME___20 = 139,
    _SC_DEVICE_IO___20 = 140,
    _SC_DEVICE_SPECIFIC___20 = 141,
    _SC_DEVICE_SPECIFIC_R___20 = 142,
    _SC_FD_MGMT___20 = 143,
    _SC_FIFO___20 = 144,
    _SC_PIPE___20 = 145,
    _SC_FILE_ATTRIBUTES___20 = 146,
    _SC_FILE_LOCKING___20 = 147,
    _SC_FILE_SYSTEM___20 = 148,
    _SC_MONOTONIC_CLOCK___20 = 149,
    _SC_MULTI_PROCESS___20 = 150,
    _SC_SINGLE_PROCESS___20 = 151,
    _SC_NETWORKING___20 = 152,
    _SC_READER_WRITER_LOCKS___20 = 153,
    _SC_SPIN_LOCKS___20 = 154,
    _SC_REGEXP___20 = 155,
    _SC_REGEX_VERSION___20 = 156,
    _SC_SHELL___20 = 157,
    _SC_SIGNALS___20 = 158,
    _SC_SPAWN___20 = 159,
    _SC_SPORADIC_SERVER___20 = 160,
    _SC_THREAD_SPORADIC_SERVER___20 = 161,
    _SC_SYSTEM_DATABASE___20 = 162,
    _SC_SYSTEM_DATABASE_R___20 = 163,
    _SC_TIMEOUTS___20 = 164,
    _SC_TYPED_MEMORY_OBJECTS___20 = 165,
    _SC_USER_GROUPS___20 = 166,
    _SC_USER_GROUPS_R___20 = 167,
    _SC_2_PBS___20 = 168,
    _SC_2_PBS_ACCOUNTING___20 = 169,
    _SC_2_PBS_LOCATE___20 = 170,
    _SC_2_PBS_MESSAGE___20 = 171,
    _SC_2_PBS_TRACK___20 = 172,
    _SC_SYMLOOP_MAX___20 = 173,
    _SC_STREAMS___20 = 174,
    _SC_2_PBS_CHECKPOINT___20 = 175,
    _SC_V6_ILP32_OFF32___20 = 176,
    _SC_V6_ILP32_OFFBIG___20 = 177,
    _SC_V6_LP64_OFF64___20 = 178,
    _SC_V6_LPBIG_OFFBIG___20 = 179,
    _SC_HOST_NAME_MAX___20 = 180,
    _SC_TRACE___20 = 181,
    _SC_TRACE_EVENT_FILTER___20 = 182,
    _SC_TRACE_INHERIT___20 = 183,
    _SC_TRACE_LOG___20 = 184,
    _SC_LEVEL1_ICACHE_SIZE___20 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___20 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___20 = 187,
    _SC_LEVEL1_DCACHE_SIZE___20 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___20 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___20 = 190,
    _SC_LEVEL2_CACHE_SIZE___20 = 191,
    _SC_LEVEL2_CACHE_ASSOC___20 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___20 = 193,
    _SC_LEVEL3_CACHE_SIZE___20 = 194,
    _SC_LEVEL3_CACHE_ASSOC___20 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___20 = 196,
    _SC_LEVEL4_CACHE_SIZE___20 = 197,
    _SC_LEVEL4_CACHE_ASSOC___20 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___20 = 199,
    _SC_IPV6___20 = 235,
    _SC_RAW_SOCKETS___20 = 236,
    _SC_V7_ILP32_OFF32___20 = 237,
    _SC_V7_ILP32_OFFBIG___20 = 238,
    _SC_V7_LP64_OFF64___20 = 239,
    _SC_V7_LPBIG_OFFBIG___20 = 240,
    _SC_SS_REPL_MAX___20 = 241,
    _SC_TRACE_EVENT_NAME_MAX___20 = 242,
    _SC_TRACE_NAME_MAX___20 = 243,
    _SC_TRACE_SYS_MAX___20 = 244,
    _SC_TRACE_USER_EVENT_MAX___20 = 245,
    _SC_XOPEN_STREAMS___20 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___20 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___20 = 248
} ;
enum __anonenum_875524036___20 {
    _CS_PATH___20 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___20 = 1,
    _CS_GNU_LIBC_VERSION___20 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___20 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___20 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___20 = 5,
    _CS_LFS_CFLAGS___20 = 1000,
    _CS_LFS_LDFLAGS___20 = 1001,
    _CS_LFS_LIBS___20 = 1002,
    _CS_LFS_LINTFLAGS___20 = 1003,
    _CS_LFS64_CFLAGS___20 = 1004,
    _CS_LFS64_LDFLAGS___20 = 1005,
    _CS_LFS64_LIBS___20 = 1006,
    _CS_LFS64_LINTFLAGS___20 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___20 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___20 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___20 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___20 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___20 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___20 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___20 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___20 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___20 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___20 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___20 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___20 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___20 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___20 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___20 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___20 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___20 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___20 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___20 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___20 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___20 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___20 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___20 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___20 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___20 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___20 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___20 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___20 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___20 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___20 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___20 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___20 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___20 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___20 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___20 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___20 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___20 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___20 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___20 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___20 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___20 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___20 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___20 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___20 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___20 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___20 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___20 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___20 = 1147,
    _CS_V6_ENV___20 = 1148,
    _CS_V7_ENV___20 = 1149
} ;
enum __anonenum_513775621___20 {
    DT_UNKNOWN___20 = 0,
    DT_FIFO___20 = 1,
    DT_CHR___20 = 2,
    DT_DIR___20 = 4,
    DT_BLK___20 = 6,
    DT_REG___20 = 8,
    DT_LNK___20 = 10,
    DT_SOCK___20 = 12,
    DT_WHT___20 = 14
} ;
enum __anonenum_77002343___20 {
    SI_ASYNCNL___20 = -60,
    SI_TKILL___20 = -6,
    SI_SIGIO___20 = -5,
    SI_ASYNCIO___20 = -4,
    SI_MESGQ___20 = -3,
    SI_TIMER___20 = -2,
    SI_QUEUE___20 = -1,
    SI_USER___20 = 0,
    SI_KERNEL___20 = 128
} ;
enum __anonenum_131038172___20 {
    ILL_ILLOPC___20 = 1,
    ILL_ILLOPN___20 = 2,
    ILL_ILLADR___20 = 3,
    ILL_ILLTRP___20 = 4,
    ILL_PRVOPC___20 = 5,
    ILL_PRVREG___20 = 6,
    ILL_COPROC___20 = 7,
    ILL_BADSTK___20 = 8
} ;
enum __anonenum_452038093___20 {
    FPE_INTDIV___20 = 1,
    FPE_INTOVF___20 = 2,
    FPE_FLTDIV___20 = 3,
    FPE_FLTOVF___20 = 4,
    FPE_FLTUND___20 = 5,
    FPE_FLTRES___20 = 6,
    FPE_FLTINV___20 = 7,
    FPE_FLTSUB___20 = 8
} ;
enum __anonenum_30976155___20 {
    SEGV_MAPERR___20 = 1,
    SEGV_ACCERR___20 = 2,
    SEGV_BNDERR___20 = 3,
    SEGV_PKUERR___20 = 4
} ;
enum __anonenum_1036286214___20 {
    BUS_ADRALN___20 = 1,
    BUS_ADRERR___20 = 2,
    BUS_OBJERR___20 = 3,
    BUS_MCEERR_AR___20 = 4,
    BUS_MCEERR_AO___20 = 5
} ;
enum __anonenum_493465559___20 {
    TRAP_BRKPT___20 = 1,
    TRAP_TRACE___20 = 2
} ;
enum __anonenum_23175539___20 {
    CLD_EXITED___20 = 1,
    CLD_KILLED___20 = 2,
    CLD_DUMPED___20 = 3,
    CLD_TRAPPED___20 = 4,
    CLD_STOPPED___20 = 5,
    CLD_CONTINUED___20 = 6
} ;
enum __anonenum_111643124___20 {
    POLL_IN___20 = 1,
    POLL_OUT___20 = 2,
    POLL_MSG___20 = 3,
    POLL_ERR___20 = 4,
    POLL_PRI___20 = 5,
    POLL_HUP___20 = 6
} ;
enum __anonenum_852341087___20 {
    SIGEV_SIGNAL___20 = 0,
    SIGEV_NONE___20 = 1,
    SIGEV_THREAD___20 = 2,
    SIGEV_THREAD_ID___20 = 4
} ;
enum __anonenum_451154152___20 {
    REG_R8___20 = 0,
    REG_R9___20 = 1,
    REG_R10___20 = 2,
    REG_R11___20 = 3,
    REG_R12___20 = 4,
    REG_R13___20 = 5,
    REG_R14___20 = 6,
    REG_R15___20 = 7,
    REG_RDI___20 = 8,
    REG_RSI___20 = 9,
    REG_RBP___20 = 10,
    REG_RBX___20 = 11,
    REG_RDX___20 = 12,
    REG_RAX___20 = 13,
    REG_RCX___20 = 14,
    REG_RSP___20 = 15,
    REG_RIP___20 = 16,
    REG_EFL___20 = 17,
    REG_CSGSFS___20 = 18,
    REG_ERR___20 = 19,
    REG_TRAPNO___20 = 20,
    REG_OLDMASK___20 = 21,
    REG_CR2___20 = 22
} ;
enum __anonenum_57186863___20 {
    SS_ONSTACK___20 = 1,
    SS_DISABLE___20 = 2
} ;
enum __anonenum_83571709___20 {
    MSG_OOB___20 = 1,
    MSG_PEEK___20 = 2,
    MSG_DONTROUTE___20 = 4,
    MSG_TRYHARD___20 = 4,
    MSG_CTRUNC___20 = 8,
    MSG_PROXY___20 = 16,
    MSG_TRUNC___20 = 32,
    MSG_DONTWAIT___20 = 64,
    MSG_EOR___20 = 128,
    MSG_WAITALL___20 = 256,
    MSG_FIN___20 = 512,
    MSG_SYN___20 = 1024,
    MSG_CONFIRM___20 = 2048,
    MSG_RST___20 = 4096,
    MSG_ERRQUEUE___20 = 8192,
    MSG_NOSIGNAL___20 = 16384,
    MSG_MORE___20 = 32768,
    MSG_WAITFORONE___20 = 65536,
    MSG_BATCH___20 = 262144,
    MSG_ZEROCOPY___20 = 67108864,
    MSG_FASTOPEN___20 = 536870912,
    MSG_CMSG_CLOEXEC___20 = 1073741824
} ;
enum __anonenum_617082774___20 {
    SCM_RIGHTS___20 = 1,
    SCM_CREDENTIALS___20 = 2
} ;
enum __anonenum_606441560___20 {
    SHUT_RD___20 = 0,
    SHUT_WR___20 = 1,
    SHUT_RDWR___20 = 2
} ;
enum __anonenum_681669233___20 {
    IPPROTO_IP___20 = 0,
    IPPROTO_ICMP___20 = 1,
    IPPROTO_IGMP___20 = 2,
    IPPROTO_IPIP___20 = 4,
    IPPROTO_TCP___20 = 6,
    IPPROTO_EGP___20 = 8,
    IPPROTO_PUP___20 = 12,
    IPPROTO_UDP___20 = 17,
    IPPROTO_IDP___20 = 22,
    IPPROTO_TP___20 = 29,
    IPPROTO_DCCP___20 = 33,
    IPPROTO_IPV6___20 = 41,
    IPPROTO_RSVP___20 = 46,
    IPPROTO_GRE___20 = 47,
    IPPROTO_ESP___20 = 50,
    IPPROTO_AH___20 = 51,
    IPPROTO_MTP___20 = 92,
    IPPROTO_BEETPH___20 = 94,
    IPPROTO_ENCAP___20 = 98,
    IPPROTO_PIM___20 = 103,
    IPPROTO_COMP___20 = 108,
    IPPROTO_SCTP___20 = 132,
    IPPROTO_UDPLITE___20 = 136,
    IPPROTO_MPLS___20 = 137,
    IPPROTO_RAW___20 = 255,
    IPPROTO_MAX___20 = 256
} ;
enum __anonenum_218739988___20 {
    IPPROTO_HOPOPTS___20 = 0,
    IPPROTO_ROUTING___20 = 43,
    IPPROTO_FRAGMENT___20 = 44,
    IPPROTO_ICMPV6___20 = 58,
    IPPROTO_NONE___20 = 59,
    IPPROTO_DSTOPTS___20 = 60,
    IPPROTO_MH___20 = 135
} ;
enum __anonenum_662268580___20 {
    IPPORT_ECHO___20 = 7,
    IPPORT_DISCARD___20 = 9,
    IPPORT_SYSTAT___20 = 11,
    IPPORT_DAYTIME___20 = 13,
    IPPORT_NETSTAT___20 = 15,
    IPPORT_FTP___20 = 21,
    IPPORT_TELNET___20 = 23,
    IPPORT_SMTP___20 = 25,
    IPPORT_TIMESERVER___20 = 37,
    IPPORT_NAMESERVER___20 = 42,
    IPPORT_WHOIS___20 = 43,
    IPPORT_MTP___20 = 57,
    IPPORT_TFTP___20 = 69,
    IPPORT_RJE___20 = 77,
    IPPORT_FINGER___20 = 79,
    IPPORT_TTYLINK___20 = 87,
    IPPORT_SUPDUP___20 = 95,
    IPPORT_EXECSERVER___20 = 512,
    IPPORT_LOGINSERVER___20 = 513,
    IPPORT_CMDSERVER___20 = 514,
    IPPORT_EFSSERVER___20 = 520,
    IPPORT_BIFFUDP___20 = 512,
    IPPORT_WHOSERVER___20 = 513,
    IPPORT_ROUTESERVER___20 = 520,
    IPPORT_RESERVED___20 = 1024,
    IPPORT_USERRESERVED___20 = 5000
} ;
enum __anonenum_788308992___20 {
    TCP_ESTABLISHED___20 = 1,
    TCP_SYN_SENT___20 = 2,
    TCP_SYN_RECV___20 = 3,
    TCP_FIN_WAIT1___20 = 4,
    TCP_FIN_WAIT2___20 = 5,
    TCP_TIME_WAIT___20 = 6,
    TCP_CLOSE___20 = 7,
    TCP_CLOSE_WAIT___20 = 8,
    TCP_LAST_ACK___20 = 9,
    TCP_LISTEN___20 = 10,
    TCP_CLOSING___20 = 11
} ;
enum __anonenum_221125648___20 {
    TCP_NO_QUEUE___20 = 0,
    TCP_RECV_QUEUE___20 = 1,
    TCP_SEND_QUEUE___20 = 2,
    TCP_QUEUES_NR___20 = 3
} ;
enum __anonenum_34415463___20 {
    PTHREAD_CREATE_JOINABLE___20 = 0,
    PTHREAD_CREATE_DETACHED___20 = 1
} ;
enum __anonenum_303612439___20 {
    PTHREAD_MUTEX_TIMED_NP___20 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___20 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___20 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___20 = 3,
    PTHREAD_MUTEX_NORMAL___20 = 0,
    PTHREAD_MUTEX_RECURSIVE___20 = 1,
    PTHREAD_MUTEX_ERRORCHECK___20 = 2,
    PTHREAD_MUTEX_DEFAULT___20 = 0,
    PTHREAD_MUTEX_FAST_NP___20 = 0
} ;
enum __anonenum_931900394___20 {
    PTHREAD_MUTEX_STALLED___20 = 0,
    PTHREAD_MUTEX_STALLED_NP___20 = 0,
    PTHREAD_MUTEX_ROBUST___20 = 1,
    PTHREAD_MUTEX_ROBUST_NP___20 = 1
} ;
enum __anonenum_205214487___20 {
    PTHREAD_PRIO_NONE___20 = 0,
    PTHREAD_PRIO_INHERIT___20 = 1,
    PTHREAD_PRIO_PROTECT___20 = 2
} ;
enum __anonenum_25043950___20 {
    PTHREAD_RWLOCK_PREFER_READER_NP___20 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___20 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___20 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___20 = 0
} ;
enum __anonenum_436439511___20 {
    PTHREAD_INHERIT_SCHED___20 = 0,
    PTHREAD_EXPLICIT_SCHED___20 = 1
} ;
enum __anonenum_998661166___20 {
    PTHREAD_SCOPE_SYSTEM___20 = 0,
    PTHREAD_SCOPE_PROCESS___20 = 1
} ;
enum __anonenum_146137331___20 {
    PTHREAD_PROCESS_PRIVATE___20 = 0,
    PTHREAD_PROCESS_SHARED___20 = 1
} ;
enum __anonenum_53396917___20 {
    PTHREAD_CANCEL_ENABLE___20 = 0,
    PTHREAD_CANCEL_DISABLE___20 = 1
} ;
enum __anonenum_904563783___20 {
    PTHREAD_CANCEL_DEFERRED___20 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___20 = 1
} ;
enum __anonenum_672052974___20 {
    SSL_CT_VALIDATION_PERMISSIVE___20 = 0,
    SSL_CT_VALIDATION_STRICT___20 = 1
} ;
enum branch_track {
    BRANCH_TRACK_UNSPECIFIED = -1,
    BRANCH_TRACK_NEVER = 0,
    BRANCH_TRACK_REMOTE = 1,
    BRANCH_TRACK_ALWAYS = 2,
    BRANCH_TRACK_EXPLICIT = 3,
    BRANCH_TRACK_OVERRIDE = 4,
    BRANCH_TRACK_INHERIT = 5
} ;
struct refspec_item ;
struct refspec_item {
   unsigned int force : 1 ;
   unsigned int pattern : 1 ;
   unsigned int matching : 1 ;
   unsigned int exact_sha1 : 1 ;
   unsigned int negative : 1 ;
   char *src ;
   char *dst ;
};
struct refspec {
   struct refspec_item *items ;
   int alloc ;
   int nr ;
   char const   **raw ;
   int raw_alloc ;
   int raw_nr ;
   int fetch ;
};
struct transport_ls_refs_options ;
enum __anonenum_34023289 {
    REMOTE_UNCONFIGURED = 0,
    REMOTE_CONFIG = 1,
    REMOTE_REMOTES = 2,
    REMOTE_BRANCHES = 3
} ;
struct counted_string ;
struct rewrite {
   char const   *base ;
   size_t baselen ;
   struct counted_string *instead_of ;
   int instead_of_nr ;
   int instead_of_alloc ;
};
struct rewrites {
   struct rewrite **rewrite ;
   int rewrite_alloc ;
   int rewrite_nr ;
};
struct remote ;
struct branch ;
struct remote_state {
   struct remote **remotes ;
   int remotes_alloc ;
   int remotes_nr ;
   struct hashmap remotes_hash ;
   struct hashmap branches_hash ;
   struct branch *current_branch ;
   char const   *pushremote_name ;
   struct rewrites rewrites ;
   struct rewrites rewrites_push ;
   int initialized ;
};
struct remote {
   struct hashmap_entry ent ;
   char const   *name ;
   int origin ;
   int configured_in_repo ;
   char const   *foreign_vcs ;
   char const   **url ;
   int url_nr ;
   int url_alloc ;
   char const   **pushurl ;
   int pushurl_nr ;
   int pushurl_alloc ;
   struct refspec push ;
   struct refspec fetch ;
   int fetch_tags ;
   int skip_default_update ;
   int mirror ;
   int prune ;
   int prune_tags ;
   char const   *receivepack ;
   char const   *uploadpack ;
   char *http_proxy ;
   char *http_proxy_authmethod ;
};
typedef int each_remote_fn(struct remote *remote , void *priv );
struct ref_push_report {
   char const   *ref_name ;
   struct object_id *old_oid ;
   struct object_id *new_oid ;
   unsigned int forced_update : 1 ;
   struct ref_push_report *next ;
};
enum __anonenum_match_status_4187538 {
    REF_NOT_MATCHED = 0,
    REF_MATCHED = 1,
    REF_UNADVERTISED_NOT_ALLOWED = 2
} ;
enum fetch_head_status {
    FETCH_HEAD_MERGE = -1,
    FETCH_HEAD_NOT_FOR_MERGE = 0,
    FETCH_HEAD_IGNORE = 1
} ;
enum __anonenum_status_407753297 {
    REF_STATUS_NONE = 0,
    REF_STATUS_OK = 1,
    REF_STATUS_REJECT_NONFASTFORWARD = 2,
    REF_STATUS_REJECT_ALREADY_EXISTS = 3,
    REF_STATUS_REJECT_NODELETE = 4,
    REF_STATUS_REJECT_FETCH_FIRST = 5,
    REF_STATUS_REJECT_NEEDS_FORCE = 6,
    REF_STATUS_REJECT_STALE = 7,
    REF_STATUS_REJECT_SHALLOW = 8,
    REF_STATUS_REJECT_REMOTE_UPDATED = 9,
    REF_STATUS_UPTODATE = 10,
    REF_STATUS_REMOTE_REJECT = 11,
    REF_STATUS_EXPECTING_REPORT = 12,
    REF_STATUS_ATOMIC_PUSH_FAILED = 13
} ;
struct ref {
   struct ref *next ;
   struct object_id old_oid ;
   struct object_id new_oid ;
   struct object_id old_oid_expect ;
   char *symref ;
   char *tracking_ref ;
   unsigned int force : 1 ;
   unsigned int forced_update : 1 ;
   unsigned int expect_old_sha1 : 1 ;
   unsigned int exact_oid : 1 ;
   unsigned int deletion : 1 ;
   unsigned int check_reachable : 1 ;
   unsigned int unreachable : 1 ;
   enum __anonenum_match_status_4187538 match_status ;
   enum fetch_head_status fetch_head_status ;
   enum __anonenum_status_407753297 status ;
   char *remote_status ;
   struct ref_push_report *report ;
   struct ref *peer_ref ;
   char name[] ;
};
struct branch {
   struct hashmap_entry ent ;
   char const   *name ;
   char const   *refname ;
   char const   *remote_name ;
   char const   *pushremote_name ;
   char const   **merge_name ;
   struct refspec_item **merge ;
   int merge_nr ;
   int merge_alloc ;
   char const   *push_tracking_ref ;
};
enum match_refs_flags {
    MATCH_REFS_NONE = 0,
    MATCH_REFS_ALL = 1,
    MATCH_REFS_MIRROR = 2,
    MATCH_REFS_PRUNE = 4,
    MATCH_REFS_FOLLOW_TAGS = 8
} ;
enum ahead_behind_flags {
    AHEAD_BEHIND_UNSPECIFIED = -1,
    AHEAD_BEHIND_QUICK = 0,
    AHEAD_BEHIND_FULL = 1
} ;
struct push_cas {
   struct object_id expect ;
   unsigned int use_tracking : 1 ;
   char *refname ;
};
struct push_cas_option {
   unsigned int use_tracking_for_rest : 1 ;
   unsigned int use_force_if_includes : 1 ;
   struct push_cas *entry ;
   int nr ;
   int alloc ;
};
enum color_wt_status {
    WT_STATUS_HEADER = 0,
    WT_STATUS_UPDATED = 1,
    WT_STATUS_CHANGED = 2,
    WT_STATUS_UNTRACKED = 3,
    WT_STATUS_NOBRANCH = 4,
    WT_STATUS_UNMERGED = 5,
    WT_STATUS_LOCAL_BRANCH = 6,
    WT_STATUS_REMOTE_BRANCH = 7,
    WT_STATUS_ONBRANCH = 8,
    WT_STATUS_MAXSLOT = 9
} ;
enum untracked_status_type {
    SHOW_NO_UNTRACKED_FILES = 0,
    SHOW_NORMAL_UNTRACKED_FILES = 1,
    SHOW_ALL_UNTRACKED_FILES = 2
} ;
enum show_ignored_type {
    SHOW_NO_IGNORED = 0,
    SHOW_TRADITIONAL_IGNORED = 1,
    SHOW_MATCHING_IGNORED = 2
} ;
enum commit_whence {
    FROM_COMMIT = 0,
    FROM_MERGE = 1,
    FROM_CHERRY_PICK_SINGLE = 2,
    FROM_CHERRY_PICK_MULTI = 3,
    FROM_REBASE_PICK = 4
} ;
struct wt_status_change_data {
   int worktree_status ;
   int index_status ;
   int stagemask ;
   int mode_head ;
   int mode_index ;
   int mode_worktree ;
   struct object_id oid_head ;
   struct object_id oid_index ;
   int rename_status ;
   int rename_score ;
   char *rename_source ;
   unsigned int dirty_submodule : 2 ;
   unsigned int new_submodule_commits : 1 ;
};
enum wt_status_format {
    STATUS_FORMAT_NONE = 0,
    STATUS_FORMAT_LONG = 1,
    STATUS_FORMAT_SHORT = 2,
    STATUS_FORMAT_PORCELAIN = 3,
    STATUS_FORMAT_PORCELAIN_V2 = 4,
    STATUS_FORMAT_UNSPECIFIED = 5
} ;
struct wt_status_state {
   int merge_in_progress ;
   int am_in_progress ;
   int am_empty_patch ;
   int rebase_in_progress ;
   int rebase_interactive_in_progress ;
   int cherry_pick_in_progress ;
   int bisect_in_progress ;
   int revert_in_progress ;
   int detached_at ;
   int sparse_checkout_percentage ;
   char *branch ;
   char *onto ;
   char *detached_from ;
   struct object_id detached_oid ;
   struct object_id revert_head_oid ;
   struct object_id cherry_pick_head_oid ;
};
struct wt_status {
   struct repository *repo ;
   int is_initial ;
   char *branch ;
   char const   *reference ;
   struct pathspec pathspec ;
   int verbose ;
   int amend ;
   enum commit_whence whence ;
   int nowarn ;
   int use_color ;
   int no_gettext ;
   int display_comment_prefix ;
   int relative_paths ;
   int submodule_summary ;
   enum show_ignored_type show_ignored_mode ;
   enum untracked_status_type show_untracked_files ;
   char const   *ignore_submodule_arg ;
   char color_palette[9][75] ;
   unsigned int colopts ;
   int null_termination ;
   int commit_template ;
   int show_branch ;
   int show_stash ;
   int hints ;
   enum ahead_behind_flags ahead_behind_flags ;
   int detect_rename ;
   int rename_score ;
   int rename_limit ;
   enum wt_status_format status_format ;
   struct wt_status_state state ;
   struct object_id oid_commit ;
   int committable ;
   int workdir_dirty ;
   char const   *index_file ;
   FILE *fp ;
   char const   *prefix ;
   struct string_list change ;
   struct string_list untracked ;
   struct string_list ignored ;
   uint32_t untracked_in_ms ;
};
enum replay_action {
    REPLAY_REVERT = 0,
    REPLAY_PICK = 1,
    REPLAY_INTERACTIVE_REBASE = 2
} ;
enum commit_msg_cleanup_mode {
    COMMIT_MSG_CLEANUP_SPACE = 0,
    COMMIT_MSG_CLEANUP_NONE = 1,
    COMMIT_MSG_CLEANUP_SCISSORS = 2,
    COMMIT_MSG_CLEANUP_ALL = 3
} ;
struct replay_opts {
   enum replay_action action ;
   int edit ;
   int record_origin ;
   int no_commit ;
   int signoff ;
   int allow_ff ;
   int allow_rerere_auto ;
   int allow_empty ;
   int allow_empty_message ;
   int drop_redundant_commits ;
   int keep_redundant_commits ;
   int verbose ;
   int quiet ;
   int reschedule_failed_exec ;
   int committer_date_is_author_date ;
   int ignore_date ;
   int mainline ;
   char *gpg_sign ;
   enum commit_msg_cleanup_mode default_msg_cleanup ;
   int explicit_cleanup ;
   char *default_strategy ;
   char *strategy ;
   char **xopts ;
   size_t xopts_nr ;
   size_t xopts_alloc ;
   struct strbuf current_fixups ;
   int current_fixup_count ;
   struct object_id squash_onto ;
   int have_squash_onto ;
   struct rev_info *revs ;
};
enum todo_command {
    TODO_PICK = 0,
    TODO_REVERT = 1,
    TODO_EDIT = 2,
    TODO_REWORD = 3,
    TODO_FIXUP = 4,
    TODO_SQUASH = 5,
    TODO_EXEC = 6,
    TODO_BREAK = 7,
    TODO_LABEL = 8,
    TODO_RESET = 9,
    TODO_MERGE = 10,
    TODO_NOOP = 11,
    TODO_DROP = 12,
    TODO_COMMENT = 13
} ;
struct todo_item {
   enum todo_command command ;
   struct commit *commit ;
   unsigned int flags ;
   int arg_len ;
   size_t offset_in_buf ;
   size_t arg_offset ;
};
struct todo_list {
   struct strbuf buf ;
   struct todo_item *items ;
   int nr ;
   int alloc ;
   int current ;
   int done_nr ;
   int total_nr ;
};
struct worktree {
   char *path ;
   char *id ;
   char *head_ref ;
   char *lock_reason ;
   char *prune_reason ;
   struct object_id head_oid ;
   int is_detached ;
   int is_bare ;
   int is_current ;
   int lock_reason_valid ;
   int prune_reason_valid ;
};
typedef void (*worktree_repair_fn)(int iserr , char const   *path , char const   *msg ,
                                   void *cb_data );
struct tracking {
   struct refspec_item spec ;
   struct string_list *srcs ;
   char const   *remote ;
   int matches ;
};
enum __anonenum_437032235___21 {
    _PC_LINK_MAX___21 = 0,
    _PC_MAX_CANON___21 = 1,
    _PC_MAX_INPUT___21 = 2,
    _PC_NAME_MAX___21 = 3,
    _PC_PATH_MAX___21 = 4,
    _PC_PIPE_BUF___21 = 5,
    _PC_CHOWN_RESTRICTED___21 = 6,
    _PC_NO_TRUNC___21 = 7,
    _PC_VDISABLE___21 = 8,
    _PC_SYNC_IO___21 = 9,
    _PC_ASYNC_IO___21 = 10,
    _PC_PRIO_IO___21 = 11,
    _PC_SOCK_MAXBUF___21 = 12,
    _PC_FILESIZEBITS___21 = 13,
    _PC_REC_INCR_XFER_SIZE___21 = 14,
    _PC_REC_MAX_XFER_SIZE___21 = 15,
    _PC_REC_MIN_XFER_SIZE___21 = 16,
    _PC_REC_XFER_ALIGN___21 = 17,
    _PC_ALLOC_SIZE_MIN___21 = 18,
    _PC_SYMLINK_MAX___21 = 19,
    _PC_2_SYMLINKS___21 = 20
} ;
enum __anonenum_315186338___21 {
    _SC_ARG_MAX___21 = 0,
    _SC_CHILD_MAX___21 = 1,
    _SC_CLK_TCK___21 = 2,
    _SC_NGROUPS_MAX___21 = 3,
    _SC_OPEN_MAX___21 = 4,
    _SC_STREAM_MAX___21 = 5,
    _SC_TZNAME_MAX___21 = 6,
    _SC_JOB_CONTROL___21 = 7,
    _SC_SAVED_IDS___21 = 8,
    _SC_REALTIME_SIGNALS___21 = 9,
    _SC_PRIORITY_SCHEDULING___21 = 10,
    _SC_TIMERS___21 = 11,
    _SC_ASYNCHRONOUS_IO___21 = 12,
    _SC_PRIORITIZED_IO___21 = 13,
    _SC_SYNCHRONIZED_IO___21 = 14,
    _SC_FSYNC___21 = 15,
    _SC_MAPPED_FILES___21 = 16,
    _SC_MEMLOCK___21 = 17,
    _SC_MEMLOCK_RANGE___21 = 18,
    _SC_MEMORY_PROTECTION___21 = 19,
    _SC_MESSAGE_PASSING___21 = 20,
    _SC_SEMAPHORES___21 = 21,
    _SC_SHARED_MEMORY_OBJECTS___21 = 22,
    _SC_AIO_LISTIO_MAX___21 = 23,
    _SC_AIO_MAX___21 = 24,
    _SC_AIO_PRIO_DELTA_MAX___21 = 25,
    _SC_DELAYTIMER_MAX___21 = 26,
    _SC_MQ_OPEN_MAX___21 = 27,
    _SC_MQ_PRIO_MAX___21 = 28,
    _SC_VERSION___21 = 29,
    _SC_PAGESIZE___21 = 30,
    _SC_RTSIG_MAX___21 = 31,
    _SC_SEM_NSEMS_MAX___21 = 32,
    _SC_SEM_VALUE_MAX___21 = 33,
    _SC_SIGQUEUE_MAX___21 = 34,
    _SC_TIMER_MAX___21 = 35,
    _SC_BC_BASE_MAX___21 = 36,
    _SC_BC_DIM_MAX___21 = 37,
    _SC_BC_SCALE_MAX___21 = 38,
    _SC_BC_STRING_MAX___21 = 39,
    _SC_COLL_WEIGHTS_MAX___21 = 40,
    _SC_EQUIV_CLASS_MAX___21 = 41,
    _SC_EXPR_NEST_MAX___21 = 42,
    _SC_LINE_MAX___21 = 43,
    _SC_RE_DUP_MAX___21 = 44,
    _SC_CHARCLASS_NAME_MAX___21 = 45,
    _SC_2_VERSION___21 = 46,
    _SC_2_C_BIND___21 = 47,
    _SC_2_C_DEV___21 = 48,
    _SC_2_FORT_DEV___21 = 49,
    _SC_2_FORT_RUN___21 = 50,
    _SC_2_SW_DEV___21 = 51,
    _SC_2_LOCALEDEF___21 = 52,
    _SC_PII___21 = 53,
    _SC_PII_XTI___21 = 54,
    _SC_PII_SOCKET___21 = 55,
    _SC_PII_INTERNET___21 = 56,
    _SC_PII_OSI___21 = 57,
    _SC_POLL___21 = 58,
    _SC_SELECT___21 = 59,
    _SC_UIO_MAXIOV___21 = 60,
    _SC_IOV_MAX___21 = 60,
    _SC_PII_INTERNET_STREAM___21 = 61,
    _SC_PII_INTERNET_DGRAM___21 = 62,
    _SC_PII_OSI_COTS___21 = 63,
    _SC_PII_OSI_CLTS___21 = 64,
    _SC_PII_OSI_M___21 = 65,
    _SC_T_IOV_MAX___21 = 66,
    _SC_THREADS___21 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___21 = 68,
    _SC_GETGR_R_SIZE_MAX___21 = 69,
    _SC_GETPW_R_SIZE_MAX___21 = 70,
    _SC_LOGIN_NAME_MAX___21 = 71,
    _SC_TTY_NAME_MAX___21 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___21 = 73,
    _SC_THREAD_KEYS_MAX___21 = 74,
    _SC_THREAD_STACK_MIN___21 = 75,
    _SC_THREAD_THREADS_MAX___21 = 76,
    _SC_THREAD_ATTR_STACKADDR___21 = 77,
    _SC_THREAD_ATTR_STACKSIZE___21 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___21 = 79,
    _SC_THREAD_PRIO_INHERIT___21 = 80,
    _SC_THREAD_PRIO_PROTECT___21 = 81,
    _SC_THREAD_PROCESS_SHARED___21 = 82,
    _SC_NPROCESSORS_CONF___21 = 83,
    _SC_NPROCESSORS_ONLN___21 = 84,
    _SC_PHYS_PAGES___21 = 85,
    _SC_AVPHYS_PAGES___21 = 86,
    _SC_ATEXIT_MAX___21 = 87,
    _SC_PASS_MAX___21 = 88,
    _SC_XOPEN_VERSION___21 = 89,
    _SC_XOPEN_XCU_VERSION___21 = 90,
    _SC_XOPEN_UNIX___21 = 91,
    _SC_XOPEN_CRYPT___21 = 92,
    _SC_XOPEN_ENH_I18N___21 = 93,
    _SC_XOPEN_SHM___21 = 94,
    _SC_2_CHAR_TERM___21 = 95,
    _SC_2_C_VERSION___21 = 96,
    _SC_2_UPE___21 = 97,
    _SC_XOPEN_XPG2___21 = 98,
    _SC_XOPEN_XPG3___21 = 99,
    _SC_XOPEN_XPG4___21 = 100,
    _SC_CHAR_BIT___21 = 101,
    _SC_CHAR_MAX___21 = 102,
    _SC_CHAR_MIN___21 = 103,
    _SC_INT_MAX___21 = 104,
    _SC_INT_MIN___21 = 105,
    _SC_LONG_BIT___21 = 106,
    _SC_WORD_BIT___21 = 107,
    _SC_MB_LEN_MAX___21 = 108,
    _SC_NZERO___21 = 109,
    _SC_SSIZE_MAX___21 = 110,
    _SC_SCHAR_MAX___21 = 111,
    _SC_SCHAR_MIN___21 = 112,
    _SC_SHRT_MAX___21 = 113,
    _SC_SHRT_MIN___21 = 114,
    _SC_UCHAR_MAX___21 = 115,
    _SC_UINT_MAX___21 = 116,
    _SC_ULONG_MAX___21 = 117,
    _SC_USHRT_MAX___21 = 118,
    _SC_NL_ARGMAX___21 = 119,
    _SC_NL_LANGMAX___21 = 120,
    _SC_NL_MSGMAX___21 = 121,
    _SC_NL_NMAX___21 = 122,
    _SC_NL_SETMAX___21 = 123,
    _SC_NL_TEXTMAX___21 = 124,
    _SC_XBS5_ILP32_OFF32___21 = 125,
    _SC_XBS5_ILP32_OFFBIG___21 = 126,
    _SC_XBS5_LP64_OFF64___21 = 127,
    _SC_XBS5_LPBIG_OFFBIG___21 = 128,
    _SC_XOPEN_LEGACY___21 = 129,
    _SC_XOPEN_REALTIME___21 = 130,
    _SC_XOPEN_REALTIME_THREADS___21 = 131,
    _SC_ADVISORY_INFO___21 = 132,
    _SC_BARRIERS___21 = 133,
    _SC_BASE___21 = 134,
    _SC_C_LANG_SUPPORT___21 = 135,
    _SC_C_LANG_SUPPORT_R___21 = 136,
    _SC_CLOCK_SELECTION___21 = 137,
    _SC_CPUTIME___21 = 138,
    _SC_THREAD_CPUTIME___21 = 139,
    _SC_DEVICE_IO___21 = 140,
    _SC_DEVICE_SPECIFIC___21 = 141,
    _SC_DEVICE_SPECIFIC_R___21 = 142,
    _SC_FD_MGMT___21 = 143,
    _SC_FIFO___21 = 144,
    _SC_PIPE___21 = 145,
    _SC_FILE_ATTRIBUTES___21 = 146,
    _SC_FILE_LOCKING___21 = 147,
    _SC_FILE_SYSTEM___21 = 148,
    _SC_MONOTONIC_CLOCK___21 = 149,
    _SC_MULTI_PROCESS___21 = 150,
    _SC_SINGLE_PROCESS___21 = 151,
    _SC_NETWORKING___21 = 152,
    _SC_READER_WRITER_LOCKS___21 = 153,
    _SC_SPIN_LOCKS___21 = 154,
    _SC_REGEXP___21 = 155,
    _SC_REGEX_VERSION___21 = 156,
    _SC_SHELL___21 = 157,
    _SC_SIGNALS___21 = 158,
    _SC_SPAWN___21 = 159,
    _SC_SPORADIC_SERVER___21 = 160,
    _SC_THREAD_SPORADIC_SERVER___21 = 161,
    _SC_SYSTEM_DATABASE___21 = 162,
    _SC_SYSTEM_DATABASE_R___21 = 163,
    _SC_TIMEOUTS___21 = 164,
    _SC_TYPED_MEMORY_OBJECTS___21 = 165,
    _SC_USER_GROUPS___21 = 166,
    _SC_USER_GROUPS_R___21 = 167,
    _SC_2_PBS___21 = 168,
    _SC_2_PBS_ACCOUNTING___21 = 169,
    _SC_2_PBS_LOCATE___21 = 170,
    _SC_2_PBS_MESSAGE___21 = 171,
    _SC_2_PBS_TRACK___21 = 172,
    _SC_SYMLOOP_MAX___21 = 173,
    _SC_STREAMS___21 = 174,
    _SC_2_PBS_CHECKPOINT___21 = 175,
    _SC_V6_ILP32_OFF32___21 = 176,
    _SC_V6_ILP32_OFFBIG___21 = 177,
    _SC_V6_LP64_OFF64___21 = 178,
    _SC_V6_LPBIG_OFFBIG___21 = 179,
    _SC_HOST_NAME_MAX___21 = 180,
    _SC_TRACE___21 = 181,
    _SC_TRACE_EVENT_FILTER___21 = 182,
    _SC_TRACE_INHERIT___21 = 183,
    _SC_TRACE_LOG___21 = 184,
    _SC_LEVEL1_ICACHE_SIZE___21 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___21 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___21 = 187,
    _SC_LEVEL1_DCACHE_SIZE___21 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___21 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___21 = 190,
    _SC_LEVEL2_CACHE_SIZE___21 = 191,
    _SC_LEVEL2_CACHE_ASSOC___21 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___21 = 193,
    _SC_LEVEL3_CACHE_SIZE___21 = 194,
    _SC_LEVEL3_CACHE_ASSOC___21 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___21 = 196,
    _SC_LEVEL4_CACHE_SIZE___21 = 197,
    _SC_LEVEL4_CACHE_ASSOC___21 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___21 = 199,
    _SC_IPV6___21 = 235,
    _SC_RAW_SOCKETS___21 = 236,
    _SC_V7_ILP32_OFF32___21 = 237,
    _SC_V7_ILP32_OFFBIG___21 = 238,
    _SC_V7_LP64_OFF64___21 = 239,
    _SC_V7_LPBIG_OFFBIG___21 = 240,
    _SC_SS_REPL_MAX___21 = 241,
    _SC_TRACE_EVENT_NAME_MAX___21 = 242,
    _SC_TRACE_NAME_MAX___21 = 243,
    _SC_TRACE_SYS_MAX___21 = 244,
    _SC_TRACE_USER_EVENT_MAX___21 = 245,
    _SC_XOPEN_STREAMS___21 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___21 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___21 = 248
} ;
enum __anonenum_875524036___21 {
    _CS_PATH___21 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___21 = 1,
    _CS_GNU_LIBC_VERSION___21 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___21 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___21 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___21 = 5,
    _CS_LFS_CFLAGS___21 = 1000,
    _CS_LFS_LDFLAGS___21 = 1001,
    _CS_LFS_LIBS___21 = 1002,
    _CS_LFS_LINTFLAGS___21 = 1003,
    _CS_LFS64_CFLAGS___21 = 1004,
    _CS_LFS64_LDFLAGS___21 = 1005,
    _CS_LFS64_LIBS___21 = 1006,
    _CS_LFS64_LINTFLAGS___21 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___21 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___21 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___21 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___21 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___21 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___21 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___21 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___21 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___21 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___21 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___21 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___21 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___21 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___21 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___21 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___21 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___21 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___21 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___21 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___21 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___21 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___21 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___21 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___21 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___21 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___21 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___21 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___21 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___21 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___21 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___21 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___21 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___21 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___21 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___21 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___21 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___21 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___21 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___21 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___21 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___21 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___21 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___21 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___21 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___21 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___21 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___21 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___21 = 1147,
    _CS_V6_ENV___21 = 1148,
    _CS_V7_ENV___21 = 1149
} ;
enum __anonenum_513775621___21 {
    DT_UNKNOWN___21 = 0,
    DT_FIFO___21 = 1,
    DT_CHR___21 = 2,
    DT_DIR___21 = 4,
    DT_BLK___21 = 6,
    DT_REG___21 = 8,
    DT_LNK___21 = 10,
    DT_SOCK___21 = 12,
    DT_WHT___21 = 14
} ;
enum __anonenum_77002343___21 {
    SI_ASYNCNL___21 = -60,
    SI_TKILL___21 = -6,
    SI_SIGIO___21 = -5,
    SI_ASYNCIO___21 = -4,
    SI_MESGQ___21 = -3,
    SI_TIMER___21 = -2,
    SI_QUEUE___21 = -1,
    SI_USER___21 = 0,
    SI_KERNEL___21 = 128
} ;
enum __anonenum_131038172___21 {
    ILL_ILLOPC___21 = 1,
    ILL_ILLOPN___21 = 2,
    ILL_ILLADR___21 = 3,
    ILL_ILLTRP___21 = 4,
    ILL_PRVOPC___21 = 5,
    ILL_PRVREG___21 = 6,
    ILL_COPROC___21 = 7,
    ILL_BADSTK___21 = 8
} ;
enum __anonenum_452038093___21 {
    FPE_INTDIV___21 = 1,
    FPE_INTOVF___21 = 2,
    FPE_FLTDIV___21 = 3,
    FPE_FLTOVF___21 = 4,
    FPE_FLTUND___21 = 5,
    FPE_FLTRES___21 = 6,
    FPE_FLTINV___21 = 7,
    FPE_FLTSUB___21 = 8
} ;
enum __anonenum_30976155___21 {
    SEGV_MAPERR___21 = 1,
    SEGV_ACCERR___21 = 2,
    SEGV_BNDERR___21 = 3,
    SEGV_PKUERR___21 = 4
} ;
enum __anonenum_1036286214___21 {
    BUS_ADRALN___21 = 1,
    BUS_ADRERR___21 = 2,
    BUS_OBJERR___21 = 3,
    BUS_MCEERR_AR___21 = 4,
    BUS_MCEERR_AO___21 = 5
} ;
enum __anonenum_493465559___21 {
    TRAP_BRKPT___21 = 1,
    TRAP_TRACE___21 = 2
} ;
enum __anonenum_23175539___21 {
    CLD_EXITED___21 = 1,
    CLD_KILLED___21 = 2,
    CLD_DUMPED___21 = 3,
    CLD_TRAPPED___21 = 4,
    CLD_STOPPED___21 = 5,
    CLD_CONTINUED___21 = 6
} ;
enum __anonenum_111643124___21 {
    POLL_IN___21 = 1,
    POLL_OUT___21 = 2,
    POLL_MSG___21 = 3,
    POLL_ERR___21 = 4,
    POLL_PRI___21 = 5,
    POLL_HUP___21 = 6
} ;
enum __anonenum_852341087___21 {
    SIGEV_SIGNAL___21 = 0,
    SIGEV_NONE___21 = 1,
    SIGEV_THREAD___21 = 2,
    SIGEV_THREAD_ID___21 = 4
} ;
enum __anonenum_451154152___21 {
    REG_R8___21 = 0,
    REG_R9___21 = 1,
    REG_R10___21 = 2,
    REG_R11___21 = 3,
    REG_R12___21 = 4,
    REG_R13___21 = 5,
    REG_R14___21 = 6,
    REG_R15___21 = 7,
    REG_RDI___21 = 8,
    REG_RSI___21 = 9,
    REG_RBP___21 = 10,
    REG_RBX___21 = 11,
    REG_RDX___21 = 12,
    REG_RAX___21 = 13,
    REG_RCX___21 = 14,
    REG_RSP___21 = 15,
    REG_RIP___21 = 16,
    REG_EFL___21 = 17,
    REG_CSGSFS___21 = 18,
    REG_ERR___21 = 19,
    REG_TRAPNO___21 = 20,
    REG_OLDMASK___21 = 21,
    REG_CR2___21 = 22
} ;
enum __anonenum_57186863___21 {
    SS_ONSTACK___21 = 1,
    SS_DISABLE___21 = 2
} ;
enum __anonenum_83571709___21 {
    MSG_OOB___21 = 1,
    MSG_PEEK___21 = 2,
    MSG_DONTROUTE___21 = 4,
    MSG_TRYHARD___21 = 4,
    MSG_CTRUNC___21 = 8,
    MSG_PROXY___21 = 16,
    MSG_TRUNC___21 = 32,
    MSG_DONTWAIT___21 = 64,
    MSG_EOR___21 = 128,
    MSG_WAITALL___21 = 256,
    MSG_FIN___21 = 512,
    MSG_SYN___21 = 1024,
    MSG_CONFIRM___21 = 2048,
    MSG_RST___21 = 4096,
    MSG_ERRQUEUE___21 = 8192,
    MSG_NOSIGNAL___21 = 16384,
    MSG_MORE___21 = 32768,
    MSG_WAITFORONE___21 = 65536,
    MSG_BATCH___21 = 262144,
    MSG_ZEROCOPY___21 = 67108864,
    MSG_FASTOPEN___21 = 536870912,
    MSG_CMSG_CLOEXEC___21 = 1073741824
} ;
enum __anonenum_617082774___21 {
    SCM_RIGHTS___21 = 1,
    SCM_CREDENTIALS___21 = 2
} ;
enum __anonenum_606441560___21 {
    SHUT_RD___21 = 0,
    SHUT_WR___21 = 1,
    SHUT_RDWR___21 = 2
} ;
enum __anonenum_681669233___21 {
    IPPROTO_IP___21 = 0,
    IPPROTO_ICMP___21 = 1,
    IPPROTO_IGMP___21 = 2,
    IPPROTO_IPIP___21 = 4,
    IPPROTO_TCP___21 = 6,
    IPPROTO_EGP___21 = 8,
    IPPROTO_PUP___21 = 12,
    IPPROTO_UDP___21 = 17,
    IPPROTO_IDP___21 = 22,
    IPPROTO_TP___21 = 29,
    IPPROTO_DCCP___21 = 33,
    IPPROTO_IPV6___21 = 41,
    IPPROTO_RSVP___21 = 46,
    IPPROTO_GRE___21 = 47,
    IPPROTO_ESP___21 = 50,
    IPPROTO_AH___21 = 51,
    IPPROTO_MTP___21 = 92,
    IPPROTO_BEETPH___21 = 94,
    IPPROTO_ENCAP___21 = 98,
    IPPROTO_PIM___21 = 103,
    IPPROTO_COMP___21 = 108,
    IPPROTO_SCTP___21 = 132,
    IPPROTO_UDPLITE___21 = 136,
    IPPROTO_MPLS___21 = 137,
    IPPROTO_RAW___21 = 255,
    IPPROTO_MAX___21 = 256
} ;
enum __anonenum_218739988___21 {
    IPPROTO_HOPOPTS___21 = 0,
    IPPROTO_ROUTING___21 = 43,
    IPPROTO_FRAGMENT___21 = 44,
    IPPROTO_ICMPV6___21 = 58,
    IPPROTO_NONE___21 = 59,
    IPPROTO_DSTOPTS___21 = 60,
    IPPROTO_MH___21 = 135
} ;
enum __anonenum_662268580___21 {
    IPPORT_ECHO___21 = 7,
    IPPORT_DISCARD___21 = 9,
    IPPORT_SYSTAT___21 = 11,
    IPPORT_DAYTIME___21 = 13,
    IPPORT_NETSTAT___21 = 15,
    IPPORT_FTP___21 = 21,
    IPPORT_TELNET___21 = 23,
    IPPORT_SMTP___21 = 25,
    IPPORT_TIMESERVER___21 = 37,
    IPPORT_NAMESERVER___21 = 42,
    IPPORT_WHOIS___21 = 43,
    IPPORT_MTP___21 = 57,
    IPPORT_TFTP___21 = 69,
    IPPORT_RJE___21 = 77,
    IPPORT_FINGER___21 = 79,
    IPPORT_TTYLINK___21 = 87,
    IPPORT_SUPDUP___21 = 95,
    IPPORT_EXECSERVER___21 = 512,
    IPPORT_LOGINSERVER___21 = 513,
    IPPORT_CMDSERVER___21 = 514,
    IPPORT_EFSSERVER___21 = 520,
    IPPORT_BIFFUDP___21 = 512,
    IPPORT_WHOSERVER___21 = 513,
    IPPORT_ROUTESERVER___21 = 520,
    IPPORT_RESERVED___21 = 1024,
    IPPORT_USERRESERVED___21 = 5000
} ;
enum __anonenum_788308992___21 {
    TCP_ESTABLISHED___21 = 1,
    TCP_SYN_SENT___21 = 2,
    TCP_SYN_RECV___21 = 3,
    TCP_FIN_WAIT1___21 = 4,
    TCP_FIN_WAIT2___21 = 5,
    TCP_TIME_WAIT___21 = 6,
    TCP_CLOSE___21 = 7,
    TCP_CLOSE_WAIT___21 = 8,
    TCP_LAST_ACK___21 = 9,
    TCP_LISTEN___21 = 10,
    TCP_CLOSING___21 = 11
} ;
enum __anonenum_221125648___21 {
    TCP_NO_QUEUE___21 = 0,
    TCP_RECV_QUEUE___21 = 1,
    TCP_SEND_QUEUE___21 = 2,
    TCP_QUEUES_NR___21 = 3
} ;
enum __anonenum_34415463___21 {
    PTHREAD_CREATE_JOINABLE___21 = 0,
    PTHREAD_CREATE_DETACHED___21 = 1
} ;
enum __anonenum_303612439___21 {
    PTHREAD_MUTEX_TIMED_NP___21 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___21 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___21 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___21 = 3,
    PTHREAD_MUTEX_NORMAL___21 = 0,
    PTHREAD_MUTEX_RECURSIVE___21 = 1,
    PTHREAD_MUTEX_ERRORCHECK___21 = 2,
    PTHREAD_MUTEX_DEFAULT___21 = 0,
    PTHREAD_MUTEX_FAST_NP___21 = 0
} ;
enum __anonenum_931900394___21 {
    PTHREAD_MUTEX_STALLED___21 = 0,
    PTHREAD_MUTEX_STALLED_NP___21 = 0,
    PTHREAD_MUTEX_ROBUST___21 = 1,
    PTHREAD_MUTEX_ROBUST_NP___21 = 1
} ;
enum __anonenum_205214487___21 {
    PTHREAD_PRIO_NONE___21 = 0,
    PTHREAD_PRIO_INHERIT___21 = 1,
    PTHREAD_PRIO_PROTECT___21 = 2
} ;
enum __anonenum_25043950___21 {
    PTHREAD_RWLOCK_PREFER_READER_NP___21 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___21 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___21 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___21 = 0
} ;
enum __anonenum_436439511___21 {
    PTHREAD_INHERIT_SCHED___21 = 0,
    PTHREAD_EXPLICIT_SCHED___21 = 1
} ;
enum __anonenum_998661166___21 {
    PTHREAD_SCOPE_SYSTEM___21 = 0,
    PTHREAD_SCOPE_PROCESS___21 = 1
} ;
enum __anonenum_146137331___21 {
    PTHREAD_PROCESS_PRIVATE___21 = 0,
    PTHREAD_PROCESS_SHARED___21 = 1
} ;
enum __anonenum_53396917___21 {
    PTHREAD_CANCEL_ENABLE___21 = 0,
    PTHREAD_CANCEL_DISABLE___21 = 1
} ;
enum __anonenum_904563783___21 {
    PTHREAD_CANCEL_DEFERRED___21 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___21 = 1
} ;
enum __anonenum_672052974___21 {
    SSL_CT_VALIDATION_PERMISSIVE___21 = 0,
    SSL_CT_VALIDATION_STRICT___21 = 1
} ;
struct hashfile {
   int fd ;
   int check_fd ;
   unsigned int offset ;
   git_hash_ctx ctx ;
   off_t total ;
   struct progress *tp ;
   char const   *name ;
   int do_crc ;
   uint32_t crc32 ;
   size_t buffer_len ;
   unsigned char *buffer ;
   unsigned char *check_buffer ;
};
struct hashfile_checkpoint {
   off_t offset ;
   git_hash_ctx ctx ;
};
struct pack_header {
   uint32_t hdr_signature ;
   uint32_t hdr_version ;
   uint32_t hdr_entries ;
};
struct pack_idx_option {
   unsigned int flags ;
   uint32_t version ;
   uint32_t off32_limit ;
   int anomaly_alloc ;
   int anomaly_nr ;
   uint32_t *anomaly ;
};
struct pack_idx_header {
   uint32_t idx_signature ;
   uint32_t idx_version ;
};
struct pack_idx_entry {
   struct object_id oid ;
   uint32_t crc32 ;
   off_t offset ;
};
typedef int (*verify_fn)(struct object_id  const  * , enum object_type  , unsigned long  ,
                         void * , int * );
struct bulk_checkin_state {
   unsigned int plugged : 1 ;
   char *pack_tmp_name ;
   struct hashfile *f ;
   off_t offset ;
   struct pack_idx_option pack_idx_opts ;
   struct pack_idx_entry **written ;
   uint32_t alloc_written ;
   uint32_t nr_written ;
};
enum __anonenum_437032235___22 {
    _PC_LINK_MAX___22 = 0,
    _PC_MAX_CANON___22 = 1,
    _PC_MAX_INPUT___22 = 2,
    _PC_NAME_MAX___22 = 3,
    _PC_PATH_MAX___22 = 4,
    _PC_PIPE_BUF___22 = 5,
    _PC_CHOWN_RESTRICTED___22 = 6,
    _PC_NO_TRUNC___22 = 7,
    _PC_VDISABLE___22 = 8,
    _PC_SYNC_IO___22 = 9,
    _PC_ASYNC_IO___22 = 10,
    _PC_PRIO_IO___22 = 11,
    _PC_SOCK_MAXBUF___22 = 12,
    _PC_FILESIZEBITS___22 = 13,
    _PC_REC_INCR_XFER_SIZE___22 = 14,
    _PC_REC_MAX_XFER_SIZE___22 = 15,
    _PC_REC_MIN_XFER_SIZE___22 = 16,
    _PC_REC_XFER_ALIGN___22 = 17,
    _PC_ALLOC_SIZE_MIN___22 = 18,
    _PC_SYMLINK_MAX___22 = 19,
    _PC_2_SYMLINKS___22 = 20
} ;
enum __anonenum_315186338___22 {
    _SC_ARG_MAX___22 = 0,
    _SC_CHILD_MAX___22 = 1,
    _SC_CLK_TCK___22 = 2,
    _SC_NGROUPS_MAX___22 = 3,
    _SC_OPEN_MAX___22 = 4,
    _SC_STREAM_MAX___22 = 5,
    _SC_TZNAME_MAX___22 = 6,
    _SC_JOB_CONTROL___22 = 7,
    _SC_SAVED_IDS___22 = 8,
    _SC_REALTIME_SIGNALS___22 = 9,
    _SC_PRIORITY_SCHEDULING___22 = 10,
    _SC_TIMERS___22 = 11,
    _SC_ASYNCHRONOUS_IO___22 = 12,
    _SC_PRIORITIZED_IO___22 = 13,
    _SC_SYNCHRONIZED_IO___22 = 14,
    _SC_FSYNC___22 = 15,
    _SC_MAPPED_FILES___22 = 16,
    _SC_MEMLOCK___22 = 17,
    _SC_MEMLOCK_RANGE___22 = 18,
    _SC_MEMORY_PROTECTION___22 = 19,
    _SC_MESSAGE_PASSING___22 = 20,
    _SC_SEMAPHORES___22 = 21,
    _SC_SHARED_MEMORY_OBJECTS___22 = 22,
    _SC_AIO_LISTIO_MAX___22 = 23,
    _SC_AIO_MAX___22 = 24,
    _SC_AIO_PRIO_DELTA_MAX___22 = 25,
    _SC_DELAYTIMER_MAX___22 = 26,
    _SC_MQ_OPEN_MAX___22 = 27,
    _SC_MQ_PRIO_MAX___22 = 28,
    _SC_VERSION___22 = 29,
    _SC_PAGESIZE___22 = 30,
    _SC_RTSIG_MAX___22 = 31,
    _SC_SEM_NSEMS_MAX___22 = 32,
    _SC_SEM_VALUE_MAX___22 = 33,
    _SC_SIGQUEUE_MAX___22 = 34,
    _SC_TIMER_MAX___22 = 35,
    _SC_BC_BASE_MAX___22 = 36,
    _SC_BC_DIM_MAX___22 = 37,
    _SC_BC_SCALE_MAX___22 = 38,
    _SC_BC_STRING_MAX___22 = 39,
    _SC_COLL_WEIGHTS_MAX___22 = 40,
    _SC_EQUIV_CLASS_MAX___22 = 41,
    _SC_EXPR_NEST_MAX___22 = 42,
    _SC_LINE_MAX___22 = 43,
    _SC_RE_DUP_MAX___22 = 44,
    _SC_CHARCLASS_NAME_MAX___22 = 45,
    _SC_2_VERSION___22 = 46,
    _SC_2_C_BIND___22 = 47,
    _SC_2_C_DEV___22 = 48,
    _SC_2_FORT_DEV___22 = 49,
    _SC_2_FORT_RUN___22 = 50,
    _SC_2_SW_DEV___22 = 51,
    _SC_2_LOCALEDEF___22 = 52,
    _SC_PII___22 = 53,
    _SC_PII_XTI___22 = 54,
    _SC_PII_SOCKET___22 = 55,
    _SC_PII_INTERNET___22 = 56,
    _SC_PII_OSI___22 = 57,
    _SC_POLL___22 = 58,
    _SC_SELECT___22 = 59,
    _SC_UIO_MAXIOV___22 = 60,
    _SC_IOV_MAX___22 = 60,
    _SC_PII_INTERNET_STREAM___22 = 61,
    _SC_PII_INTERNET_DGRAM___22 = 62,
    _SC_PII_OSI_COTS___22 = 63,
    _SC_PII_OSI_CLTS___22 = 64,
    _SC_PII_OSI_M___22 = 65,
    _SC_T_IOV_MAX___22 = 66,
    _SC_THREADS___22 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___22 = 68,
    _SC_GETGR_R_SIZE_MAX___22 = 69,
    _SC_GETPW_R_SIZE_MAX___22 = 70,
    _SC_LOGIN_NAME_MAX___22 = 71,
    _SC_TTY_NAME_MAX___22 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___22 = 73,
    _SC_THREAD_KEYS_MAX___22 = 74,
    _SC_THREAD_STACK_MIN___22 = 75,
    _SC_THREAD_THREADS_MAX___22 = 76,
    _SC_THREAD_ATTR_STACKADDR___22 = 77,
    _SC_THREAD_ATTR_STACKSIZE___22 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___22 = 79,
    _SC_THREAD_PRIO_INHERIT___22 = 80,
    _SC_THREAD_PRIO_PROTECT___22 = 81,
    _SC_THREAD_PROCESS_SHARED___22 = 82,
    _SC_NPROCESSORS_CONF___22 = 83,
    _SC_NPROCESSORS_ONLN___22 = 84,
    _SC_PHYS_PAGES___22 = 85,
    _SC_AVPHYS_PAGES___22 = 86,
    _SC_ATEXIT_MAX___22 = 87,
    _SC_PASS_MAX___22 = 88,
    _SC_XOPEN_VERSION___22 = 89,
    _SC_XOPEN_XCU_VERSION___22 = 90,
    _SC_XOPEN_UNIX___22 = 91,
    _SC_XOPEN_CRYPT___22 = 92,
    _SC_XOPEN_ENH_I18N___22 = 93,
    _SC_XOPEN_SHM___22 = 94,
    _SC_2_CHAR_TERM___22 = 95,
    _SC_2_C_VERSION___22 = 96,
    _SC_2_UPE___22 = 97,
    _SC_XOPEN_XPG2___22 = 98,
    _SC_XOPEN_XPG3___22 = 99,
    _SC_XOPEN_XPG4___22 = 100,
    _SC_CHAR_BIT___22 = 101,
    _SC_CHAR_MAX___22 = 102,
    _SC_CHAR_MIN___22 = 103,
    _SC_INT_MAX___22 = 104,
    _SC_INT_MIN___22 = 105,
    _SC_LONG_BIT___22 = 106,
    _SC_WORD_BIT___22 = 107,
    _SC_MB_LEN_MAX___22 = 108,
    _SC_NZERO___22 = 109,
    _SC_SSIZE_MAX___22 = 110,
    _SC_SCHAR_MAX___22 = 111,
    _SC_SCHAR_MIN___22 = 112,
    _SC_SHRT_MAX___22 = 113,
    _SC_SHRT_MIN___22 = 114,
    _SC_UCHAR_MAX___22 = 115,
    _SC_UINT_MAX___22 = 116,
    _SC_ULONG_MAX___22 = 117,
    _SC_USHRT_MAX___22 = 118,
    _SC_NL_ARGMAX___22 = 119,
    _SC_NL_LANGMAX___22 = 120,
    _SC_NL_MSGMAX___22 = 121,
    _SC_NL_NMAX___22 = 122,
    _SC_NL_SETMAX___22 = 123,
    _SC_NL_TEXTMAX___22 = 124,
    _SC_XBS5_ILP32_OFF32___22 = 125,
    _SC_XBS5_ILP32_OFFBIG___22 = 126,
    _SC_XBS5_LP64_OFF64___22 = 127,
    _SC_XBS5_LPBIG_OFFBIG___22 = 128,
    _SC_XOPEN_LEGACY___22 = 129,
    _SC_XOPEN_REALTIME___22 = 130,
    _SC_XOPEN_REALTIME_THREADS___22 = 131,
    _SC_ADVISORY_INFO___22 = 132,
    _SC_BARRIERS___22 = 133,
    _SC_BASE___22 = 134,
    _SC_C_LANG_SUPPORT___22 = 135,
    _SC_C_LANG_SUPPORT_R___22 = 136,
    _SC_CLOCK_SELECTION___22 = 137,
    _SC_CPUTIME___22 = 138,
    _SC_THREAD_CPUTIME___22 = 139,
    _SC_DEVICE_IO___22 = 140,
    _SC_DEVICE_SPECIFIC___22 = 141,
    _SC_DEVICE_SPECIFIC_R___22 = 142,
    _SC_FD_MGMT___22 = 143,
    _SC_FIFO___22 = 144,
    _SC_PIPE___22 = 145,
    _SC_FILE_ATTRIBUTES___22 = 146,
    _SC_FILE_LOCKING___22 = 147,
    _SC_FILE_SYSTEM___22 = 148,
    _SC_MONOTONIC_CLOCK___22 = 149,
    _SC_MULTI_PROCESS___22 = 150,
    _SC_SINGLE_PROCESS___22 = 151,
    _SC_NETWORKING___22 = 152,
    _SC_READER_WRITER_LOCKS___22 = 153,
    _SC_SPIN_LOCKS___22 = 154,
    _SC_REGEXP___22 = 155,
    _SC_REGEX_VERSION___22 = 156,
    _SC_SHELL___22 = 157,
    _SC_SIGNALS___22 = 158,
    _SC_SPAWN___22 = 159,
    _SC_SPORADIC_SERVER___22 = 160,
    _SC_THREAD_SPORADIC_SERVER___22 = 161,
    _SC_SYSTEM_DATABASE___22 = 162,
    _SC_SYSTEM_DATABASE_R___22 = 163,
    _SC_TIMEOUTS___22 = 164,
    _SC_TYPED_MEMORY_OBJECTS___22 = 165,
    _SC_USER_GROUPS___22 = 166,
    _SC_USER_GROUPS_R___22 = 167,
    _SC_2_PBS___22 = 168,
    _SC_2_PBS_ACCOUNTING___22 = 169,
    _SC_2_PBS_LOCATE___22 = 170,
    _SC_2_PBS_MESSAGE___22 = 171,
    _SC_2_PBS_TRACK___22 = 172,
    _SC_SYMLOOP_MAX___22 = 173,
    _SC_STREAMS___22 = 174,
    _SC_2_PBS_CHECKPOINT___22 = 175,
    _SC_V6_ILP32_OFF32___22 = 176,
    _SC_V6_ILP32_OFFBIG___22 = 177,
    _SC_V6_LP64_OFF64___22 = 178,
    _SC_V6_LPBIG_OFFBIG___22 = 179,
    _SC_HOST_NAME_MAX___22 = 180,
    _SC_TRACE___22 = 181,
    _SC_TRACE_EVENT_FILTER___22 = 182,
    _SC_TRACE_INHERIT___22 = 183,
    _SC_TRACE_LOG___22 = 184,
    _SC_LEVEL1_ICACHE_SIZE___22 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___22 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___22 = 187,
    _SC_LEVEL1_DCACHE_SIZE___22 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___22 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___22 = 190,
    _SC_LEVEL2_CACHE_SIZE___22 = 191,
    _SC_LEVEL2_CACHE_ASSOC___22 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___22 = 193,
    _SC_LEVEL3_CACHE_SIZE___22 = 194,
    _SC_LEVEL3_CACHE_ASSOC___22 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___22 = 196,
    _SC_LEVEL4_CACHE_SIZE___22 = 197,
    _SC_LEVEL4_CACHE_ASSOC___22 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___22 = 199,
    _SC_IPV6___22 = 235,
    _SC_RAW_SOCKETS___22 = 236,
    _SC_V7_ILP32_OFF32___22 = 237,
    _SC_V7_ILP32_OFFBIG___22 = 238,
    _SC_V7_LP64_OFF64___22 = 239,
    _SC_V7_LPBIG_OFFBIG___22 = 240,
    _SC_SS_REPL_MAX___22 = 241,
    _SC_TRACE_EVENT_NAME_MAX___22 = 242,
    _SC_TRACE_NAME_MAX___22 = 243,
    _SC_TRACE_SYS_MAX___22 = 244,
    _SC_TRACE_USER_EVENT_MAX___22 = 245,
    _SC_XOPEN_STREAMS___22 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___22 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___22 = 248
} ;
enum __anonenum_875524036___22 {
    _CS_PATH___22 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___22 = 1,
    _CS_GNU_LIBC_VERSION___22 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___22 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___22 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___22 = 5,
    _CS_LFS_CFLAGS___22 = 1000,
    _CS_LFS_LDFLAGS___22 = 1001,
    _CS_LFS_LIBS___22 = 1002,
    _CS_LFS_LINTFLAGS___22 = 1003,
    _CS_LFS64_CFLAGS___22 = 1004,
    _CS_LFS64_LDFLAGS___22 = 1005,
    _CS_LFS64_LIBS___22 = 1006,
    _CS_LFS64_LINTFLAGS___22 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___22 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___22 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___22 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___22 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___22 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___22 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___22 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___22 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___22 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___22 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___22 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___22 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___22 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___22 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___22 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___22 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___22 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___22 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___22 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___22 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___22 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___22 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___22 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___22 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___22 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___22 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___22 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___22 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___22 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___22 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___22 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___22 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___22 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___22 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___22 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___22 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___22 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___22 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___22 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___22 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___22 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___22 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___22 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___22 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___22 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___22 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___22 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___22 = 1147,
    _CS_V6_ENV___22 = 1148,
    _CS_V7_ENV___22 = 1149
} ;
enum __anonenum_513775621___22 {
    DT_UNKNOWN___22 = 0,
    DT_FIFO___22 = 1,
    DT_CHR___22 = 2,
    DT_DIR___22 = 4,
    DT_BLK___22 = 6,
    DT_REG___22 = 8,
    DT_LNK___22 = 10,
    DT_SOCK___22 = 12,
    DT_WHT___22 = 14
} ;
enum __anonenum_77002343___22 {
    SI_ASYNCNL___22 = -60,
    SI_TKILL___22 = -6,
    SI_SIGIO___22 = -5,
    SI_ASYNCIO___22 = -4,
    SI_MESGQ___22 = -3,
    SI_TIMER___22 = -2,
    SI_QUEUE___22 = -1,
    SI_USER___22 = 0,
    SI_KERNEL___22 = 128
} ;
enum __anonenum_131038172___22 {
    ILL_ILLOPC___22 = 1,
    ILL_ILLOPN___22 = 2,
    ILL_ILLADR___22 = 3,
    ILL_ILLTRP___22 = 4,
    ILL_PRVOPC___22 = 5,
    ILL_PRVREG___22 = 6,
    ILL_COPROC___22 = 7,
    ILL_BADSTK___22 = 8
} ;
enum __anonenum_452038093___22 {
    FPE_INTDIV___22 = 1,
    FPE_INTOVF___22 = 2,
    FPE_FLTDIV___22 = 3,
    FPE_FLTOVF___22 = 4,
    FPE_FLTUND___22 = 5,
    FPE_FLTRES___22 = 6,
    FPE_FLTINV___22 = 7,
    FPE_FLTSUB___22 = 8
} ;
enum __anonenum_30976155___22 {
    SEGV_MAPERR___22 = 1,
    SEGV_ACCERR___22 = 2,
    SEGV_BNDERR___22 = 3,
    SEGV_PKUERR___22 = 4
} ;
enum __anonenum_1036286214___22 {
    BUS_ADRALN___22 = 1,
    BUS_ADRERR___22 = 2,
    BUS_OBJERR___22 = 3,
    BUS_MCEERR_AR___22 = 4,
    BUS_MCEERR_AO___22 = 5
} ;
enum __anonenum_493465559___22 {
    TRAP_BRKPT___22 = 1,
    TRAP_TRACE___22 = 2
} ;
enum __anonenum_23175539___22 {
    CLD_EXITED___22 = 1,
    CLD_KILLED___22 = 2,
    CLD_DUMPED___22 = 3,
    CLD_TRAPPED___22 = 4,
    CLD_STOPPED___22 = 5,
    CLD_CONTINUED___22 = 6
} ;
enum __anonenum_111643124___22 {
    POLL_IN___22 = 1,
    POLL_OUT___22 = 2,
    POLL_MSG___22 = 3,
    POLL_ERR___22 = 4,
    POLL_PRI___22 = 5,
    POLL_HUP___22 = 6
} ;
enum __anonenum_852341087___22 {
    SIGEV_SIGNAL___22 = 0,
    SIGEV_NONE___22 = 1,
    SIGEV_THREAD___22 = 2,
    SIGEV_THREAD_ID___22 = 4
} ;
enum __anonenum_451154152___22 {
    REG_R8___22 = 0,
    REG_R9___22 = 1,
    REG_R10___22 = 2,
    REG_R11___22 = 3,
    REG_R12___22 = 4,
    REG_R13___22 = 5,
    REG_R14___22 = 6,
    REG_R15___22 = 7,
    REG_RDI___22 = 8,
    REG_RSI___22 = 9,
    REG_RBP___22 = 10,
    REG_RBX___22 = 11,
    REG_RDX___22 = 12,
    REG_RAX___22 = 13,
    REG_RCX___22 = 14,
    REG_RSP___22 = 15,
    REG_RIP___22 = 16,
    REG_EFL___22 = 17,
    REG_CSGSFS___22 = 18,
    REG_ERR___22 = 19,
    REG_TRAPNO___22 = 20,
    REG_OLDMASK___22 = 21,
    REG_CR2___22 = 22
} ;
enum __anonenum_57186863___22 {
    SS_ONSTACK___22 = 1,
    SS_DISABLE___22 = 2
} ;
enum __anonenum_83571709___22 {
    MSG_OOB___22 = 1,
    MSG_PEEK___22 = 2,
    MSG_DONTROUTE___22 = 4,
    MSG_TRYHARD___22 = 4,
    MSG_CTRUNC___22 = 8,
    MSG_PROXY___22 = 16,
    MSG_TRUNC___22 = 32,
    MSG_DONTWAIT___22 = 64,
    MSG_EOR___22 = 128,
    MSG_WAITALL___22 = 256,
    MSG_FIN___22 = 512,
    MSG_SYN___22 = 1024,
    MSG_CONFIRM___22 = 2048,
    MSG_RST___22 = 4096,
    MSG_ERRQUEUE___22 = 8192,
    MSG_NOSIGNAL___22 = 16384,
    MSG_MORE___22 = 32768,
    MSG_WAITFORONE___22 = 65536,
    MSG_BATCH___22 = 262144,
    MSG_ZEROCOPY___22 = 67108864,
    MSG_FASTOPEN___22 = 536870912,
    MSG_CMSG_CLOEXEC___22 = 1073741824
} ;
enum __anonenum_617082774___22 {
    SCM_RIGHTS___22 = 1,
    SCM_CREDENTIALS___22 = 2
} ;
enum __anonenum_606441560___22 {
    SHUT_RD___22 = 0,
    SHUT_WR___22 = 1,
    SHUT_RDWR___22 = 2
} ;
enum __anonenum_681669233___22 {
    IPPROTO_IP___22 = 0,
    IPPROTO_ICMP___22 = 1,
    IPPROTO_IGMP___22 = 2,
    IPPROTO_IPIP___22 = 4,
    IPPROTO_TCP___22 = 6,
    IPPROTO_EGP___22 = 8,
    IPPROTO_PUP___22 = 12,
    IPPROTO_UDP___22 = 17,
    IPPROTO_IDP___22 = 22,
    IPPROTO_TP___22 = 29,
    IPPROTO_DCCP___22 = 33,
    IPPROTO_IPV6___22 = 41,
    IPPROTO_RSVP___22 = 46,
    IPPROTO_GRE___22 = 47,
    IPPROTO_ESP___22 = 50,
    IPPROTO_AH___22 = 51,
    IPPROTO_MTP___22 = 92,
    IPPROTO_BEETPH___22 = 94,
    IPPROTO_ENCAP___22 = 98,
    IPPROTO_PIM___22 = 103,
    IPPROTO_COMP___22 = 108,
    IPPROTO_SCTP___22 = 132,
    IPPROTO_UDPLITE___22 = 136,
    IPPROTO_MPLS___22 = 137,
    IPPROTO_RAW___22 = 255,
    IPPROTO_MAX___22 = 256
} ;
enum __anonenum_218739988___22 {
    IPPROTO_HOPOPTS___22 = 0,
    IPPROTO_ROUTING___22 = 43,
    IPPROTO_FRAGMENT___22 = 44,
    IPPROTO_ICMPV6___22 = 58,
    IPPROTO_NONE___22 = 59,
    IPPROTO_DSTOPTS___22 = 60,
    IPPROTO_MH___22 = 135
} ;
enum __anonenum_662268580___22 {
    IPPORT_ECHO___22 = 7,
    IPPORT_DISCARD___22 = 9,
    IPPORT_SYSTAT___22 = 11,
    IPPORT_DAYTIME___22 = 13,
    IPPORT_NETSTAT___22 = 15,
    IPPORT_FTP___22 = 21,
    IPPORT_TELNET___22 = 23,
    IPPORT_SMTP___22 = 25,
    IPPORT_TIMESERVER___22 = 37,
    IPPORT_NAMESERVER___22 = 42,
    IPPORT_WHOIS___22 = 43,
    IPPORT_MTP___22 = 57,
    IPPORT_TFTP___22 = 69,
    IPPORT_RJE___22 = 77,
    IPPORT_FINGER___22 = 79,
    IPPORT_TTYLINK___22 = 87,
    IPPORT_SUPDUP___22 = 95,
    IPPORT_EXECSERVER___22 = 512,
    IPPORT_LOGINSERVER___22 = 513,
    IPPORT_CMDSERVER___22 = 514,
    IPPORT_EFSSERVER___22 = 520,
    IPPORT_BIFFUDP___22 = 512,
    IPPORT_WHOSERVER___22 = 513,
    IPPORT_ROUTESERVER___22 = 520,
    IPPORT_RESERVED___22 = 1024,
    IPPORT_USERRESERVED___22 = 5000
} ;
enum __anonenum_788308992___22 {
    TCP_ESTABLISHED___22 = 1,
    TCP_SYN_SENT___22 = 2,
    TCP_SYN_RECV___22 = 3,
    TCP_FIN_WAIT1___22 = 4,
    TCP_FIN_WAIT2___22 = 5,
    TCP_TIME_WAIT___22 = 6,
    TCP_CLOSE___22 = 7,
    TCP_CLOSE_WAIT___22 = 8,
    TCP_LAST_ACK___22 = 9,
    TCP_LISTEN___22 = 10,
    TCP_CLOSING___22 = 11
} ;
enum __anonenum_221125648___22 {
    TCP_NO_QUEUE___22 = 0,
    TCP_RECV_QUEUE___22 = 1,
    TCP_SEND_QUEUE___22 = 2,
    TCP_QUEUES_NR___22 = 3
} ;
enum __anonenum_34415463___22 {
    PTHREAD_CREATE_JOINABLE___22 = 0,
    PTHREAD_CREATE_DETACHED___22 = 1
} ;
enum __anonenum_303612439___22 {
    PTHREAD_MUTEX_TIMED_NP___22 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___22 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___22 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___22 = 3,
    PTHREAD_MUTEX_NORMAL___22 = 0,
    PTHREAD_MUTEX_RECURSIVE___22 = 1,
    PTHREAD_MUTEX_ERRORCHECK___22 = 2,
    PTHREAD_MUTEX_DEFAULT___22 = 0,
    PTHREAD_MUTEX_FAST_NP___22 = 0
} ;
enum __anonenum_931900394___22 {
    PTHREAD_MUTEX_STALLED___22 = 0,
    PTHREAD_MUTEX_STALLED_NP___22 = 0,
    PTHREAD_MUTEX_ROBUST___22 = 1,
    PTHREAD_MUTEX_ROBUST_NP___22 = 1
} ;
enum __anonenum_205214487___22 {
    PTHREAD_PRIO_NONE___22 = 0,
    PTHREAD_PRIO_INHERIT___22 = 1,
    PTHREAD_PRIO_PROTECT___22 = 2
} ;
enum __anonenum_25043950___22 {
    PTHREAD_RWLOCK_PREFER_READER_NP___22 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___22 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___22 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___22 = 0
} ;
enum __anonenum_436439511___22 {
    PTHREAD_INHERIT_SCHED___22 = 0,
    PTHREAD_EXPLICIT_SCHED___22 = 1
} ;
enum __anonenum_998661166___22 {
    PTHREAD_SCOPE_SYSTEM___22 = 0,
    PTHREAD_SCOPE_PROCESS___22 = 1
} ;
enum __anonenum_146137331___22 {
    PTHREAD_PROCESS_PRIVATE___22 = 0,
    PTHREAD_PROCESS_SHARED___22 = 1
} ;
enum __anonenum_53396917___22 {
    PTHREAD_CANCEL_ENABLE___22 = 0,
    PTHREAD_CANCEL_DISABLE___22 = 1
} ;
enum __anonenum_904563783___22 {
    PTHREAD_CANCEL_DEFERRED___22 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___22 = 1
} ;
enum __anonenum_672052974___22 {
    SSL_CT_VALIDATION_PERMISSIVE___22 = 0,
    SSL_CT_VALIDATION_STRICT___22 = 1
} ;
struct bundle_header {
   unsigned int version ;
   struct string_list prerequisites ;
   struct string_list references ;
   struct git_hash_algo  const  *hash_algo ;
};
struct __anonstruct_bundle_sigs_1051001068 {
   int version ;
   char const   *signature ;
};
struct bundle_prerequisites_info {
   struct object_array *pending ;
   int fd ;
};
enum __anonenum_437032235___23 {
    _PC_LINK_MAX___23 = 0,
    _PC_MAX_CANON___23 = 1,
    _PC_MAX_INPUT___23 = 2,
    _PC_NAME_MAX___23 = 3,
    _PC_PATH_MAX___23 = 4,
    _PC_PIPE_BUF___23 = 5,
    _PC_CHOWN_RESTRICTED___23 = 6,
    _PC_NO_TRUNC___23 = 7,
    _PC_VDISABLE___23 = 8,
    _PC_SYNC_IO___23 = 9,
    _PC_ASYNC_IO___23 = 10,
    _PC_PRIO_IO___23 = 11,
    _PC_SOCK_MAXBUF___23 = 12,
    _PC_FILESIZEBITS___23 = 13,
    _PC_REC_INCR_XFER_SIZE___23 = 14,
    _PC_REC_MAX_XFER_SIZE___23 = 15,
    _PC_REC_MIN_XFER_SIZE___23 = 16,
    _PC_REC_XFER_ALIGN___23 = 17,
    _PC_ALLOC_SIZE_MIN___23 = 18,
    _PC_SYMLINK_MAX___23 = 19,
    _PC_2_SYMLINKS___23 = 20
} ;
enum __anonenum_315186338___23 {
    _SC_ARG_MAX___23 = 0,
    _SC_CHILD_MAX___23 = 1,
    _SC_CLK_TCK___23 = 2,
    _SC_NGROUPS_MAX___23 = 3,
    _SC_OPEN_MAX___23 = 4,
    _SC_STREAM_MAX___23 = 5,
    _SC_TZNAME_MAX___23 = 6,
    _SC_JOB_CONTROL___23 = 7,
    _SC_SAVED_IDS___23 = 8,
    _SC_REALTIME_SIGNALS___23 = 9,
    _SC_PRIORITY_SCHEDULING___23 = 10,
    _SC_TIMERS___23 = 11,
    _SC_ASYNCHRONOUS_IO___23 = 12,
    _SC_PRIORITIZED_IO___23 = 13,
    _SC_SYNCHRONIZED_IO___23 = 14,
    _SC_FSYNC___23 = 15,
    _SC_MAPPED_FILES___23 = 16,
    _SC_MEMLOCK___23 = 17,
    _SC_MEMLOCK_RANGE___23 = 18,
    _SC_MEMORY_PROTECTION___23 = 19,
    _SC_MESSAGE_PASSING___23 = 20,
    _SC_SEMAPHORES___23 = 21,
    _SC_SHARED_MEMORY_OBJECTS___23 = 22,
    _SC_AIO_LISTIO_MAX___23 = 23,
    _SC_AIO_MAX___23 = 24,
    _SC_AIO_PRIO_DELTA_MAX___23 = 25,
    _SC_DELAYTIMER_MAX___23 = 26,
    _SC_MQ_OPEN_MAX___23 = 27,
    _SC_MQ_PRIO_MAX___23 = 28,
    _SC_VERSION___23 = 29,
    _SC_PAGESIZE___23 = 30,
    _SC_RTSIG_MAX___23 = 31,
    _SC_SEM_NSEMS_MAX___23 = 32,
    _SC_SEM_VALUE_MAX___23 = 33,
    _SC_SIGQUEUE_MAX___23 = 34,
    _SC_TIMER_MAX___23 = 35,
    _SC_BC_BASE_MAX___23 = 36,
    _SC_BC_DIM_MAX___23 = 37,
    _SC_BC_SCALE_MAX___23 = 38,
    _SC_BC_STRING_MAX___23 = 39,
    _SC_COLL_WEIGHTS_MAX___23 = 40,
    _SC_EQUIV_CLASS_MAX___23 = 41,
    _SC_EXPR_NEST_MAX___23 = 42,
    _SC_LINE_MAX___23 = 43,
    _SC_RE_DUP_MAX___23 = 44,
    _SC_CHARCLASS_NAME_MAX___23 = 45,
    _SC_2_VERSION___23 = 46,
    _SC_2_C_BIND___23 = 47,
    _SC_2_C_DEV___23 = 48,
    _SC_2_FORT_DEV___23 = 49,
    _SC_2_FORT_RUN___23 = 50,
    _SC_2_SW_DEV___23 = 51,
    _SC_2_LOCALEDEF___23 = 52,
    _SC_PII___23 = 53,
    _SC_PII_XTI___23 = 54,
    _SC_PII_SOCKET___23 = 55,
    _SC_PII_INTERNET___23 = 56,
    _SC_PII_OSI___23 = 57,
    _SC_POLL___23 = 58,
    _SC_SELECT___23 = 59,
    _SC_UIO_MAXIOV___23 = 60,
    _SC_IOV_MAX___23 = 60,
    _SC_PII_INTERNET_STREAM___23 = 61,
    _SC_PII_INTERNET_DGRAM___23 = 62,
    _SC_PII_OSI_COTS___23 = 63,
    _SC_PII_OSI_CLTS___23 = 64,
    _SC_PII_OSI_M___23 = 65,
    _SC_T_IOV_MAX___23 = 66,
    _SC_THREADS___23 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___23 = 68,
    _SC_GETGR_R_SIZE_MAX___23 = 69,
    _SC_GETPW_R_SIZE_MAX___23 = 70,
    _SC_LOGIN_NAME_MAX___23 = 71,
    _SC_TTY_NAME_MAX___23 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___23 = 73,
    _SC_THREAD_KEYS_MAX___23 = 74,
    _SC_THREAD_STACK_MIN___23 = 75,
    _SC_THREAD_THREADS_MAX___23 = 76,
    _SC_THREAD_ATTR_STACKADDR___23 = 77,
    _SC_THREAD_ATTR_STACKSIZE___23 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___23 = 79,
    _SC_THREAD_PRIO_INHERIT___23 = 80,
    _SC_THREAD_PRIO_PROTECT___23 = 81,
    _SC_THREAD_PROCESS_SHARED___23 = 82,
    _SC_NPROCESSORS_CONF___23 = 83,
    _SC_NPROCESSORS_ONLN___23 = 84,
    _SC_PHYS_PAGES___23 = 85,
    _SC_AVPHYS_PAGES___23 = 86,
    _SC_ATEXIT_MAX___23 = 87,
    _SC_PASS_MAX___23 = 88,
    _SC_XOPEN_VERSION___23 = 89,
    _SC_XOPEN_XCU_VERSION___23 = 90,
    _SC_XOPEN_UNIX___23 = 91,
    _SC_XOPEN_CRYPT___23 = 92,
    _SC_XOPEN_ENH_I18N___23 = 93,
    _SC_XOPEN_SHM___23 = 94,
    _SC_2_CHAR_TERM___23 = 95,
    _SC_2_C_VERSION___23 = 96,
    _SC_2_UPE___23 = 97,
    _SC_XOPEN_XPG2___23 = 98,
    _SC_XOPEN_XPG3___23 = 99,
    _SC_XOPEN_XPG4___23 = 100,
    _SC_CHAR_BIT___23 = 101,
    _SC_CHAR_MAX___23 = 102,
    _SC_CHAR_MIN___23 = 103,
    _SC_INT_MAX___23 = 104,
    _SC_INT_MIN___23 = 105,
    _SC_LONG_BIT___23 = 106,
    _SC_WORD_BIT___23 = 107,
    _SC_MB_LEN_MAX___23 = 108,
    _SC_NZERO___23 = 109,
    _SC_SSIZE_MAX___23 = 110,
    _SC_SCHAR_MAX___23 = 111,
    _SC_SCHAR_MIN___23 = 112,
    _SC_SHRT_MAX___23 = 113,
    _SC_SHRT_MIN___23 = 114,
    _SC_UCHAR_MAX___23 = 115,
    _SC_UINT_MAX___23 = 116,
    _SC_ULONG_MAX___23 = 117,
    _SC_USHRT_MAX___23 = 118,
    _SC_NL_ARGMAX___23 = 119,
    _SC_NL_LANGMAX___23 = 120,
    _SC_NL_MSGMAX___23 = 121,
    _SC_NL_NMAX___23 = 122,
    _SC_NL_SETMAX___23 = 123,
    _SC_NL_TEXTMAX___23 = 124,
    _SC_XBS5_ILP32_OFF32___23 = 125,
    _SC_XBS5_ILP32_OFFBIG___23 = 126,
    _SC_XBS5_LP64_OFF64___23 = 127,
    _SC_XBS5_LPBIG_OFFBIG___23 = 128,
    _SC_XOPEN_LEGACY___23 = 129,
    _SC_XOPEN_REALTIME___23 = 130,
    _SC_XOPEN_REALTIME_THREADS___23 = 131,
    _SC_ADVISORY_INFO___23 = 132,
    _SC_BARRIERS___23 = 133,
    _SC_BASE___23 = 134,
    _SC_C_LANG_SUPPORT___23 = 135,
    _SC_C_LANG_SUPPORT_R___23 = 136,
    _SC_CLOCK_SELECTION___23 = 137,
    _SC_CPUTIME___23 = 138,
    _SC_THREAD_CPUTIME___23 = 139,
    _SC_DEVICE_IO___23 = 140,
    _SC_DEVICE_SPECIFIC___23 = 141,
    _SC_DEVICE_SPECIFIC_R___23 = 142,
    _SC_FD_MGMT___23 = 143,
    _SC_FIFO___23 = 144,
    _SC_PIPE___23 = 145,
    _SC_FILE_ATTRIBUTES___23 = 146,
    _SC_FILE_LOCKING___23 = 147,
    _SC_FILE_SYSTEM___23 = 148,
    _SC_MONOTONIC_CLOCK___23 = 149,
    _SC_MULTI_PROCESS___23 = 150,
    _SC_SINGLE_PROCESS___23 = 151,
    _SC_NETWORKING___23 = 152,
    _SC_READER_WRITER_LOCKS___23 = 153,
    _SC_SPIN_LOCKS___23 = 154,
    _SC_REGEXP___23 = 155,
    _SC_REGEX_VERSION___23 = 156,
    _SC_SHELL___23 = 157,
    _SC_SIGNALS___23 = 158,
    _SC_SPAWN___23 = 159,
    _SC_SPORADIC_SERVER___23 = 160,
    _SC_THREAD_SPORADIC_SERVER___23 = 161,
    _SC_SYSTEM_DATABASE___23 = 162,
    _SC_SYSTEM_DATABASE_R___23 = 163,
    _SC_TIMEOUTS___23 = 164,
    _SC_TYPED_MEMORY_OBJECTS___23 = 165,
    _SC_USER_GROUPS___23 = 166,
    _SC_USER_GROUPS_R___23 = 167,
    _SC_2_PBS___23 = 168,
    _SC_2_PBS_ACCOUNTING___23 = 169,
    _SC_2_PBS_LOCATE___23 = 170,
    _SC_2_PBS_MESSAGE___23 = 171,
    _SC_2_PBS_TRACK___23 = 172,
    _SC_SYMLOOP_MAX___23 = 173,
    _SC_STREAMS___23 = 174,
    _SC_2_PBS_CHECKPOINT___23 = 175,
    _SC_V6_ILP32_OFF32___23 = 176,
    _SC_V6_ILP32_OFFBIG___23 = 177,
    _SC_V6_LP64_OFF64___23 = 178,
    _SC_V6_LPBIG_OFFBIG___23 = 179,
    _SC_HOST_NAME_MAX___23 = 180,
    _SC_TRACE___23 = 181,
    _SC_TRACE_EVENT_FILTER___23 = 182,
    _SC_TRACE_INHERIT___23 = 183,
    _SC_TRACE_LOG___23 = 184,
    _SC_LEVEL1_ICACHE_SIZE___23 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___23 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___23 = 187,
    _SC_LEVEL1_DCACHE_SIZE___23 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___23 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___23 = 190,
    _SC_LEVEL2_CACHE_SIZE___23 = 191,
    _SC_LEVEL2_CACHE_ASSOC___23 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___23 = 193,
    _SC_LEVEL3_CACHE_SIZE___23 = 194,
    _SC_LEVEL3_CACHE_ASSOC___23 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___23 = 196,
    _SC_LEVEL4_CACHE_SIZE___23 = 197,
    _SC_LEVEL4_CACHE_ASSOC___23 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___23 = 199,
    _SC_IPV6___23 = 235,
    _SC_RAW_SOCKETS___23 = 236,
    _SC_V7_ILP32_OFF32___23 = 237,
    _SC_V7_ILP32_OFFBIG___23 = 238,
    _SC_V7_LP64_OFF64___23 = 239,
    _SC_V7_LPBIG_OFFBIG___23 = 240,
    _SC_SS_REPL_MAX___23 = 241,
    _SC_TRACE_EVENT_NAME_MAX___23 = 242,
    _SC_TRACE_NAME_MAX___23 = 243,
    _SC_TRACE_SYS_MAX___23 = 244,
    _SC_TRACE_USER_EVENT_MAX___23 = 245,
    _SC_XOPEN_STREAMS___23 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___23 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___23 = 248
} ;
enum __anonenum_875524036___23 {
    _CS_PATH___23 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___23 = 1,
    _CS_GNU_LIBC_VERSION___23 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___23 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___23 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___23 = 5,
    _CS_LFS_CFLAGS___23 = 1000,
    _CS_LFS_LDFLAGS___23 = 1001,
    _CS_LFS_LIBS___23 = 1002,
    _CS_LFS_LINTFLAGS___23 = 1003,
    _CS_LFS64_CFLAGS___23 = 1004,
    _CS_LFS64_LDFLAGS___23 = 1005,
    _CS_LFS64_LIBS___23 = 1006,
    _CS_LFS64_LINTFLAGS___23 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___23 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___23 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___23 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___23 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___23 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___23 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___23 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___23 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___23 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___23 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___23 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___23 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___23 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___23 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___23 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___23 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___23 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___23 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___23 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___23 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___23 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___23 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___23 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___23 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___23 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___23 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___23 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___23 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___23 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___23 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___23 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___23 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___23 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___23 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___23 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___23 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___23 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___23 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___23 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___23 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___23 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___23 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___23 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___23 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___23 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___23 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___23 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___23 = 1147,
    _CS_V6_ENV___23 = 1148,
    _CS_V7_ENV___23 = 1149
} ;
enum __anonenum_513775621___23 {
    DT_UNKNOWN___23 = 0,
    DT_FIFO___23 = 1,
    DT_CHR___23 = 2,
    DT_DIR___23 = 4,
    DT_BLK___23 = 6,
    DT_REG___23 = 8,
    DT_LNK___23 = 10,
    DT_SOCK___23 = 12,
    DT_WHT___23 = 14
} ;
enum __anonenum_77002343___23 {
    SI_ASYNCNL___23 = -60,
    SI_TKILL___23 = -6,
    SI_SIGIO___23 = -5,
    SI_ASYNCIO___23 = -4,
    SI_MESGQ___23 = -3,
    SI_TIMER___23 = -2,
    SI_QUEUE___23 = -1,
    SI_USER___23 = 0,
    SI_KERNEL___23 = 128
} ;
enum __anonenum_131038172___23 {
    ILL_ILLOPC___23 = 1,
    ILL_ILLOPN___23 = 2,
    ILL_ILLADR___23 = 3,
    ILL_ILLTRP___23 = 4,
    ILL_PRVOPC___23 = 5,
    ILL_PRVREG___23 = 6,
    ILL_COPROC___23 = 7,
    ILL_BADSTK___23 = 8
} ;
enum __anonenum_452038093___23 {
    FPE_INTDIV___23 = 1,
    FPE_INTOVF___23 = 2,
    FPE_FLTDIV___23 = 3,
    FPE_FLTOVF___23 = 4,
    FPE_FLTUND___23 = 5,
    FPE_FLTRES___23 = 6,
    FPE_FLTINV___23 = 7,
    FPE_FLTSUB___23 = 8
} ;
enum __anonenum_30976155___23 {
    SEGV_MAPERR___23 = 1,
    SEGV_ACCERR___23 = 2,
    SEGV_BNDERR___23 = 3,
    SEGV_PKUERR___23 = 4
} ;
enum __anonenum_1036286214___23 {
    BUS_ADRALN___23 = 1,
    BUS_ADRERR___23 = 2,
    BUS_OBJERR___23 = 3,
    BUS_MCEERR_AR___23 = 4,
    BUS_MCEERR_AO___23 = 5
} ;
enum __anonenum_493465559___23 {
    TRAP_BRKPT___23 = 1,
    TRAP_TRACE___23 = 2
} ;
enum __anonenum_23175539___23 {
    CLD_EXITED___23 = 1,
    CLD_KILLED___23 = 2,
    CLD_DUMPED___23 = 3,
    CLD_TRAPPED___23 = 4,
    CLD_STOPPED___23 = 5,
    CLD_CONTINUED___23 = 6
} ;
enum __anonenum_111643124___23 {
    POLL_IN___23 = 1,
    POLL_OUT___23 = 2,
    POLL_MSG___23 = 3,
    POLL_ERR___23 = 4,
    POLL_PRI___23 = 5,
    POLL_HUP___23 = 6
} ;
enum __anonenum_852341087___23 {
    SIGEV_SIGNAL___23 = 0,
    SIGEV_NONE___23 = 1,
    SIGEV_THREAD___23 = 2,
    SIGEV_THREAD_ID___23 = 4
} ;
enum __anonenum_451154152___23 {
    REG_R8___23 = 0,
    REG_R9___23 = 1,
    REG_R10___23 = 2,
    REG_R11___23 = 3,
    REG_R12___23 = 4,
    REG_R13___23 = 5,
    REG_R14___23 = 6,
    REG_R15___23 = 7,
    REG_RDI___23 = 8,
    REG_RSI___23 = 9,
    REG_RBP___23 = 10,
    REG_RBX___23 = 11,
    REG_RDX___23 = 12,
    REG_RAX___23 = 13,
    REG_RCX___23 = 14,
    REG_RSP___23 = 15,
    REG_RIP___23 = 16,
    REG_EFL___23 = 17,
    REG_CSGSFS___23 = 18,
    REG_ERR___23 = 19,
    REG_TRAPNO___23 = 20,
    REG_OLDMASK___23 = 21,
    REG_CR2___23 = 22
} ;
enum __anonenum_57186863___23 {
    SS_ONSTACK___23 = 1,
    SS_DISABLE___23 = 2
} ;
enum __anonenum_83571709___23 {
    MSG_OOB___23 = 1,
    MSG_PEEK___23 = 2,
    MSG_DONTROUTE___23 = 4,
    MSG_TRYHARD___23 = 4,
    MSG_CTRUNC___23 = 8,
    MSG_PROXY___23 = 16,
    MSG_TRUNC___23 = 32,
    MSG_DONTWAIT___23 = 64,
    MSG_EOR___23 = 128,
    MSG_WAITALL___23 = 256,
    MSG_FIN___23 = 512,
    MSG_SYN___23 = 1024,
    MSG_CONFIRM___23 = 2048,
    MSG_RST___23 = 4096,
    MSG_ERRQUEUE___23 = 8192,
    MSG_NOSIGNAL___23 = 16384,
    MSG_MORE___23 = 32768,
    MSG_WAITFORONE___23 = 65536,
    MSG_BATCH___23 = 262144,
    MSG_ZEROCOPY___23 = 67108864,
    MSG_FASTOPEN___23 = 536870912,
    MSG_CMSG_CLOEXEC___23 = 1073741824
} ;
enum __anonenum_617082774___23 {
    SCM_RIGHTS___23 = 1,
    SCM_CREDENTIALS___23 = 2
} ;
enum __anonenum_606441560___23 {
    SHUT_RD___23 = 0,
    SHUT_WR___23 = 1,
    SHUT_RDWR___23 = 2
} ;
enum __anonenum_681669233___23 {
    IPPROTO_IP___23 = 0,
    IPPROTO_ICMP___23 = 1,
    IPPROTO_IGMP___23 = 2,
    IPPROTO_IPIP___23 = 4,
    IPPROTO_TCP___23 = 6,
    IPPROTO_EGP___23 = 8,
    IPPROTO_PUP___23 = 12,
    IPPROTO_UDP___23 = 17,
    IPPROTO_IDP___23 = 22,
    IPPROTO_TP___23 = 29,
    IPPROTO_DCCP___23 = 33,
    IPPROTO_IPV6___23 = 41,
    IPPROTO_RSVP___23 = 46,
    IPPROTO_GRE___23 = 47,
    IPPROTO_ESP___23 = 50,
    IPPROTO_AH___23 = 51,
    IPPROTO_MTP___23 = 92,
    IPPROTO_BEETPH___23 = 94,
    IPPROTO_ENCAP___23 = 98,
    IPPROTO_PIM___23 = 103,
    IPPROTO_COMP___23 = 108,
    IPPROTO_SCTP___23 = 132,
    IPPROTO_UDPLITE___23 = 136,
    IPPROTO_MPLS___23 = 137,
    IPPROTO_RAW___23 = 255,
    IPPROTO_MAX___23 = 256
} ;
enum __anonenum_218739988___23 {
    IPPROTO_HOPOPTS___23 = 0,
    IPPROTO_ROUTING___23 = 43,
    IPPROTO_FRAGMENT___23 = 44,
    IPPROTO_ICMPV6___23 = 58,
    IPPROTO_NONE___23 = 59,
    IPPROTO_DSTOPTS___23 = 60,
    IPPROTO_MH___23 = 135
} ;
enum __anonenum_662268580___23 {
    IPPORT_ECHO___23 = 7,
    IPPORT_DISCARD___23 = 9,
    IPPORT_SYSTAT___23 = 11,
    IPPORT_DAYTIME___23 = 13,
    IPPORT_NETSTAT___23 = 15,
    IPPORT_FTP___23 = 21,
    IPPORT_TELNET___23 = 23,
    IPPORT_SMTP___23 = 25,
    IPPORT_TIMESERVER___23 = 37,
    IPPORT_NAMESERVER___23 = 42,
    IPPORT_WHOIS___23 = 43,
    IPPORT_MTP___23 = 57,
    IPPORT_TFTP___23 = 69,
    IPPORT_RJE___23 = 77,
    IPPORT_FINGER___23 = 79,
    IPPORT_TTYLINK___23 = 87,
    IPPORT_SUPDUP___23 = 95,
    IPPORT_EXECSERVER___23 = 512,
    IPPORT_LOGINSERVER___23 = 513,
    IPPORT_CMDSERVER___23 = 514,
    IPPORT_EFSSERVER___23 = 520,
    IPPORT_BIFFUDP___23 = 512,
    IPPORT_WHOSERVER___23 = 513,
    IPPORT_ROUTESERVER___23 = 520,
    IPPORT_RESERVED___23 = 1024,
    IPPORT_USERRESERVED___23 = 5000
} ;
enum __anonenum_788308992___23 {
    TCP_ESTABLISHED___23 = 1,
    TCP_SYN_SENT___23 = 2,
    TCP_SYN_RECV___23 = 3,
    TCP_FIN_WAIT1___23 = 4,
    TCP_FIN_WAIT2___23 = 5,
    TCP_TIME_WAIT___23 = 6,
    TCP_CLOSE___23 = 7,
    TCP_CLOSE_WAIT___23 = 8,
    TCP_LAST_ACK___23 = 9,
    TCP_LISTEN___23 = 10,
    TCP_CLOSING___23 = 11
} ;
enum __anonenum_221125648___23 {
    TCP_NO_QUEUE___23 = 0,
    TCP_RECV_QUEUE___23 = 1,
    TCP_SEND_QUEUE___23 = 2,
    TCP_QUEUES_NR___23 = 3
} ;
enum __anonenum_34415463___23 {
    PTHREAD_CREATE_JOINABLE___23 = 0,
    PTHREAD_CREATE_DETACHED___23 = 1
} ;
enum __anonenum_303612439___23 {
    PTHREAD_MUTEX_TIMED_NP___23 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___23 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___23 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___23 = 3,
    PTHREAD_MUTEX_NORMAL___23 = 0,
    PTHREAD_MUTEX_RECURSIVE___23 = 1,
    PTHREAD_MUTEX_ERRORCHECK___23 = 2,
    PTHREAD_MUTEX_DEFAULT___23 = 0,
    PTHREAD_MUTEX_FAST_NP___23 = 0
} ;
enum __anonenum_931900394___23 {
    PTHREAD_MUTEX_STALLED___23 = 0,
    PTHREAD_MUTEX_STALLED_NP___23 = 0,
    PTHREAD_MUTEX_ROBUST___23 = 1,
    PTHREAD_MUTEX_ROBUST_NP___23 = 1
} ;
enum __anonenum_205214487___23 {
    PTHREAD_PRIO_NONE___23 = 0,
    PTHREAD_PRIO_INHERIT___23 = 1,
    PTHREAD_PRIO_PROTECT___23 = 2
} ;
enum __anonenum_25043950___23 {
    PTHREAD_RWLOCK_PREFER_READER_NP___23 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___23 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___23 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___23 = 0
} ;
enum __anonenum_436439511___23 {
    PTHREAD_INHERIT_SCHED___23 = 0,
    PTHREAD_EXPLICIT_SCHED___23 = 1
} ;
enum __anonenum_998661166___23 {
    PTHREAD_SCOPE_SYSTEM___23 = 0,
    PTHREAD_SCOPE_PROCESS___23 = 1
} ;
enum __anonenum_146137331___23 {
    PTHREAD_PROCESS_PRIVATE___23 = 0,
    PTHREAD_PROCESS_SHARED___23 = 1
} ;
enum __anonenum_53396917___23 {
    PTHREAD_CANCEL_ENABLE___23 = 0,
    PTHREAD_CANCEL_DISABLE___23 = 1
} ;
enum __anonenum_904563783___23 {
    PTHREAD_CANCEL_DEFERRED___23 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___23 = 1
} ;
enum __anonenum_672052974___23 {
    SSL_CT_VALIDATION_PERMISSIVE___23 = 0,
    SSL_CT_VALIDATION_STRICT___23 = 1
} ;
struct replace_object {
   struct oidmap_entry original ;
   struct object_id replacement ;
};
struct promisor_remote {
   struct promisor_remote *next ;
   char const   *partial_clone_filter ;
   char const   name[] ;
};
enum __anonenum_437032235___24 {
    _PC_LINK_MAX___24 = 0,
    _PC_MAX_CANON___24 = 1,
    _PC_MAX_INPUT___24 = 2,
    _PC_NAME_MAX___24 = 3,
    _PC_PATH_MAX___24 = 4,
    _PC_PIPE_BUF___24 = 5,
    _PC_CHOWN_RESTRICTED___24 = 6,
    _PC_NO_TRUNC___24 = 7,
    _PC_VDISABLE___24 = 8,
    _PC_SYNC_IO___24 = 9,
    _PC_ASYNC_IO___24 = 10,
    _PC_PRIO_IO___24 = 11,
    _PC_SOCK_MAXBUF___24 = 12,
    _PC_FILESIZEBITS___24 = 13,
    _PC_REC_INCR_XFER_SIZE___24 = 14,
    _PC_REC_MAX_XFER_SIZE___24 = 15,
    _PC_REC_MIN_XFER_SIZE___24 = 16,
    _PC_REC_XFER_ALIGN___24 = 17,
    _PC_ALLOC_SIZE_MIN___24 = 18,
    _PC_SYMLINK_MAX___24 = 19,
    _PC_2_SYMLINKS___24 = 20
} ;
enum __anonenum_315186338___24 {
    _SC_ARG_MAX___24 = 0,
    _SC_CHILD_MAX___24 = 1,
    _SC_CLK_TCK___24 = 2,
    _SC_NGROUPS_MAX___24 = 3,
    _SC_OPEN_MAX___24 = 4,
    _SC_STREAM_MAX___24 = 5,
    _SC_TZNAME_MAX___24 = 6,
    _SC_JOB_CONTROL___24 = 7,
    _SC_SAVED_IDS___24 = 8,
    _SC_REALTIME_SIGNALS___24 = 9,
    _SC_PRIORITY_SCHEDULING___24 = 10,
    _SC_TIMERS___24 = 11,
    _SC_ASYNCHRONOUS_IO___24 = 12,
    _SC_PRIORITIZED_IO___24 = 13,
    _SC_SYNCHRONIZED_IO___24 = 14,
    _SC_FSYNC___24 = 15,
    _SC_MAPPED_FILES___24 = 16,
    _SC_MEMLOCK___24 = 17,
    _SC_MEMLOCK_RANGE___24 = 18,
    _SC_MEMORY_PROTECTION___24 = 19,
    _SC_MESSAGE_PASSING___24 = 20,
    _SC_SEMAPHORES___24 = 21,
    _SC_SHARED_MEMORY_OBJECTS___24 = 22,
    _SC_AIO_LISTIO_MAX___24 = 23,
    _SC_AIO_MAX___24 = 24,
    _SC_AIO_PRIO_DELTA_MAX___24 = 25,
    _SC_DELAYTIMER_MAX___24 = 26,
    _SC_MQ_OPEN_MAX___24 = 27,
    _SC_MQ_PRIO_MAX___24 = 28,
    _SC_VERSION___24 = 29,
    _SC_PAGESIZE___24 = 30,
    _SC_RTSIG_MAX___24 = 31,
    _SC_SEM_NSEMS_MAX___24 = 32,
    _SC_SEM_VALUE_MAX___24 = 33,
    _SC_SIGQUEUE_MAX___24 = 34,
    _SC_TIMER_MAX___24 = 35,
    _SC_BC_BASE_MAX___24 = 36,
    _SC_BC_DIM_MAX___24 = 37,
    _SC_BC_SCALE_MAX___24 = 38,
    _SC_BC_STRING_MAX___24 = 39,
    _SC_COLL_WEIGHTS_MAX___24 = 40,
    _SC_EQUIV_CLASS_MAX___24 = 41,
    _SC_EXPR_NEST_MAX___24 = 42,
    _SC_LINE_MAX___24 = 43,
    _SC_RE_DUP_MAX___24 = 44,
    _SC_CHARCLASS_NAME_MAX___24 = 45,
    _SC_2_VERSION___24 = 46,
    _SC_2_C_BIND___24 = 47,
    _SC_2_C_DEV___24 = 48,
    _SC_2_FORT_DEV___24 = 49,
    _SC_2_FORT_RUN___24 = 50,
    _SC_2_SW_DEV___24 = 51,
    _SC_2_LOCALEDEF___24 = 52,
    _SC_PII___24 = 53,
    _SC_PII_XTI___24 = 54,
    _SC_PII_SOCKET___24 = 55,
    _SC_PII_INTERNET___24 = 56,
    _SC_PII_OSI___24 = 57,
    _SC_POLL___24 = 58,
    _SC_SELECT___24 = 59,
    _SC_UIO_MAXIOV___24 = 60,
    _SC_IOV_MAX___24 = 60,
    _SC_PII_INTERNET_STREAM___24 = 61,
    _SC_PII_INTERNET_DGRAM___24 = 62,
    _SC_PII_OSI_COTS___24 = 63,
    _SC_PII_OSI_CLTS___24 = 64,
    _SC_PII_OSI_M___24 = 65,
    _SC_T_IOV_MAX___24 = 66,
    _SC_THREADS___24 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___24 = 68,
    _SC_GETGR_R_SIZE_MAX___24 = 69,
    _SC_GETPW_R_SIZE_MAX___24 = 70,
    _SC_LOGIN_NAME_MAX___24 = 71,
    _SC_TTY_NAME_MAX___24 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___24 = 73,
    _SC_THREAD_KEYS_MAX___24 = 74,
    _SC_THREAD_STACK_MIN___24 = 75,
    _SC_THREAD_THREADS_MAX___24 = 76,
    _SC_THREAD_ATTR_STACKADDR___24 = 77,
    _SC_THREAD_ATTR_STACKSIZE___24 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___24 = 79,
    _SC_THREAD_PRIO_INHERIT___24 = 80,
    _SC_THREAD_PRIO_PROTECT___24 = 81,
    _SC_THREAD_PROCESS_SHARED___24 = 82,
    _SC_NPROCESSORS_CONF___24 = 83,
    _SC_NPROCESSORS_ONLN___24 = 84,
    _SC_PHYS_PAGES___24 = 85,
    _SC_AVPHYS_PAGES___24 = 86,
    _SC_ATEXIT_MAX___24 = 87,
    _SC_PASS_MAX___24 = 88,
    _SC_XOPEN_VERSION___24 = 89,
    _SC_XOPEN_XCU_VERSION___24 = 90,
    _SC_XOPEN_UNIX___24 = 91,
    _SC_XOPEN_CRYPT___24 = 92,
    _SC_XOPEN_ENH_I18N___24 = 93,
    _SC_XOPEN_SHM___24 = 94,
    _SC_2_CHAR_TERM___24 = 95,
    _SC_2_C_VERSION___24 = 96,
    _SC_2_UPE___24 = 97,
    _SC_XOPEN_XPG2___24 = 98,
    _SC_XOPEN_XPG3___24 = 99,
    _SC_XOPEN_XPG4___24 = 100,
    _SC_CHAR_BIT___24 = 101,
    _SC_CHAR_MAX___24 = 102,
    _SC_CHAR_MIN___24 = 103,
    _SC_INT_MAX___24 = 104,
    _SC_INT_MIN___24 = 105,
    _SC_LONG_BIT___24 = 106,
    _SC_WORD_BIT___24 = 107,
    _SC_MB_LEN_MAX___24 = 108,
    _SC_NZERO___24 = 109,
    _SC_SSIZE_MAX___24 = 110,
    _SC_SCHAR_MAX___24 = 111,
    _SC_SCHAR_MIN___24 = 112,
    _SC_SHRT_MAX___24 = 113,
    _SC_SHRT_MIN___24 = 114,
    _SC_UCHAR_MAX___24 = 115,
    _SC_UINT_MAX___24 = 116,
    _SC_ULONG_MAX___24 = 117,
    _SC_USHRT_MAX___24 = 118,
    _SC_NL_ARGMAX___24 = 119,
    _SC_NL_LANGMAX___24 = 120,
    _SC_NL_MSGMAX___24 = 121,
    _SC_NL_NMAX___24 = 122,
    _SC_NL_SETMAX___24 = 123,
    _SC_NL_TEXTMAX___24 = 124,
    _SC_XBS5_ILP32_OFF32___24 = 125,
    _SC_XBS5_ILP32_OFFBIG___24 = 126,
    _SC_XBS5_LP64_OFF64___24 = 127,
    _SC_XBS5_LPBIG_OFFBIG___24 = 128,
    _SC_XOPEN_LEGACY___24 = 129,
    _SC_XOPEN_REALTIME___24 = 130,
    _SC_XOPEN_REALTIME_THREADS___24 = 131,
    _SC_ADVISORY_INFO___24 = 132,
    _SC_BARRIERS___24 = 133,
    _SC_BASE___24 = 134,
    _SC_C_LANG_SUPPORT___24 = 135,
    _SC_C_LANG_SUPPORT_R___24 = 136,
    _SC_CLOCK_SELECTION___24 = 137,
    _SC_CPUTIME___24 = 138,
    _SC_THREAD_CPUTIME___24 = 139,
    _SC_DEVICE_IO___24 = 140,
    _SC_DEVICE_SPECIFIC___24 = 141,
    _SC_DEVICE_SPECIFIC_R___24 = 142,
    _SC_FD_MGMT___24 = 143,
    _SC_FIFO___24 = 144,
    _SC_PIPE___24 = 145,
    _SC_FILE_ATTRIBUTES___24 = 146,
    _SC_FILE_LOCKING___24 = 147,
    _SC_FILE_SYSTEM___24 = 148,
    _SC_MONOTONIC_CLOCK___24 = 149,
    _SC_MULTI_PROCESS___24 = 150,
    _SC_SINGLE_PROCESS___24 = 151,
    _SC_NETWORKING___24 = 152,
    _SC_READER_WRITER_LOCKS___24 = 153,
    _SC_SPIN_LOCKS___24 = 154,
    _SC_REGEXP___24 = 155,
    _SC_REGEX_VERSION___24 = 156,
    _SC_SHELL___24 = 157,
    _SC_SIGNALS___24 = 158,
    _SC_SPAWN___24 = 159,
    _SC_SPORADIC_SERVER___24 = 160,
    _SC_THREAD_SPORADIC_SERVER___24 = 161,
    _SC_SYSTEM_DATABASE___24 = 162,
    _SC_SYSTEM_DATABASE_R___24 = 163,
    _SC_TIMEOUTS___24 = 164,
    _SC_TYPED_MEMORY_OBJECTS___24 = 165,
    _SC_USER_GROUPS___24 = 166,
    _SC_USER_GROUPS_R___24 = 167,
    _SC_2_PBS___24 = 168,
    _SC_2_PBS_ACCOUNTING___24 = 169,
    _SC_2_PBS_LOCATE___24 = 170,
    _SC_2_PBS_MESSAGE___24 = 171,
    _SC_2_PBS_TRACK___24 = 172,
    _SC_SYMLOOP_MAX___24 = 173,
    _SC_STREAMS___24 = 174,
    _SC_2_PBS_CHECKPOINT___24 = 175,
    _SC_V6_ILP32_OFF32___24 = 176,
    _SC_V6_ILP32_OFFBIG___24 = 177,
    _SC_V6_LP64_OFF64___24 = 178,
    _SC_V6_LPBIG_OFFBIG___24 = 179,
    _SC_HOST_NAME_MAX___24 = 180,
    _SC_TRACE___24 = 181,
    _SC_TRACE_EVENT_FILTER___24 = 182,
    _SC_TRACE_INHERIT___24 = 183,
    _SC_TRACE_LOG___24 = 184,
    _SC_LEVEL1_ICACHE_SIZE___24 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___24 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___24 = 187,
    _SC_LEVEL1_DCACHE_SIZE___24 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___24 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___24 = 190,
    _SC_LEVEL2_CACHE_SIZE___24 = 191,
    _SC_LEVEL2_CACHE_ASSOC___24 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___24 = 193,
    _SC_LEVEL3_CACHE_SIZE___24 = 194,
    _SC_LEVEL3_CACHE_ASSOC___24 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___24 = 196,
    _SC_LEVEL4_CACHE_SIZE___24 = 197,
    _SC_LEVEL4_CACHE_ASSOC___24 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___24 = 199,
    _SC_IPV6___24 = 235,
    _SC_RAW_SOCKETS___24 = 236,
    _SC_V7_ILP32_OFF32___24 = 237,
    _SC_V7_ILP32_OFFBIG___24 = 238,
    _SC_V7_LP64_OFF64___24 = 239,
    _SC_V7_LPBIG_OFFBIG___24 = 240,
    _SC_SS_REPL_MAX___24 = 241,
    _SC_TRACE_EVENT_NAME_MAX___24 = 242,
    _SC_TRACE_NAME_MAX___24 = 243,
    _SC_TRACE_SYS_MAX___24 = 244,
    _SC_TRACE_USER_EVENT_MAX___24 = 245,
    _SC_XOPEN_STREAMS___24 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___24 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___24 = 248
} ;
enum __anonenum_875524036___24 {
    _CS_PATH___24 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___24 = 1,
    _CS_GNU_LIBC_VERSION___24 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___24 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___24 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___24 = 5,
    _CS_LFS_CFLAGS___24 = 1000,
    _CS_LFS_LDFLAGS___24 = 1001,
    _CS_LFS_LIBS___24 = 1002,
    _CS_LFS_LINTFLAGS___24 = 1003,
    _CS_LFS64_CFLAGS___24 = 1004,
    _CS_LFS64_LDFLAGS___24 = 1005,
    _CS_LFS64_LIBS___24 = 1006,
    _CS_LFS64_LINTFLAGS___24 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___24 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___24 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___24 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___24 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___24 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___24 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___24 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___24 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___24 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___24 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___24 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___24 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___24 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___24 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___24 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___24 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___24 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___24 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___24 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___24 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___24 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___24 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___24 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___24 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___24 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___24 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___24 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___24 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___24 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___24 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___24 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___24 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___24 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___24 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___24 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___24 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___24 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___24 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___24 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___24 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___24 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___24 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___24 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___24 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___24 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___24 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___24 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___24 = 1147,
    _CS_V6_ENV___24 = 1148,
    _CS_V7_ENV___24 = 1149
} ;
enum __anonenum_513775621___24 {
    DT_UNKNOWN___24 = 0,
    DT_FIFO___24 = 1,
    DT_CHR___24 = 2,
    DT_DIR___24 = 4,
    DT_BLK___24 = 6,
    DT_REG___24 = 8,
    DT_LNK___24 = 10,
    DT_SOCK___24 = 12,
    DT_WHT___24 = 14
} ;
enum __anonenum_77002343___24 {
    SI_ASYNCNL___24 = -60,
    SI_TKILL___24 = -6,
    SI_SIGIO___24 = -5,
    SI_ASYNCIO___24 = -4,
    SI_MESGQ___24 = -3,
    SI_TIMER___24 = -2,
    SI_QUEUE___24 = -1,
    SI_USER___24 = 0,
    SI_KERNEL___24 = 128
} ;
enum __anonenum_131038172___24 {
    ILL_ILLOPC___24 = 1,
    ILL_ILLOPN___24 = 2,
    ILL_ILLADR___24 = 3,
    ILL_ILLTRP___24 = 4,
    ILL_PRVOPC___24 = 5,
    ILL_PRVREG___24 = 6,
    ILL_COPROC___24 = 7,
    ILL_BADSTK___24 = 8
} ;
enum __anonenum_452038093___24 {
    FPE_INTDIV___24 = 1,
    FPE_INTOVF___24 = 2,
    FPE_FLTDIV___24 = 3,
    FPE_FLTOVF___24 = 4,
    FPE_FLTUND___24 = 5,
    FPE_FLTRES___24 = 6,
    FPE_FLTINV___24 = 7,
    FPE_FLTSUB___24 = 8
} ;
enum __anonenum_30976155___24 {
    SEGV_MAPERR___24 = 1,
    SEGV_ACCERR___24 = 2,
    SEGV_BNDERR___24 = 3,
    SEGV_PKUERR___24 = 4
} ;
enum __anonenum_1036286214___24 {
    BUS_ADRALN___24 = 1,
    BUS_ADRERR___24 = 2,
    BUS_OBJERR___24 = 3,
    BUS_MCEERR_AR___24 = 4,
    BUS_MCEERR_AO___24 = 5
} ;
enum __anonenum_493465559___24 {
    TRAP_BRKPT___24 = 1,
    TRAP_TRACE___24 = 2
} ;
enum __anonenum_23175539___24 {
    CLD_EXITED___24 = 1,
    CLD_KILLED___24 = 2,
    CLD_DUMPED___24 = 3,
    CLD_TRAPPED___24 = 4,
    CLD_STOPPED___24 = 5,
    CLD_CONTINUED___24 = 6
} ;
enum __anonenum_111643124___24 {
    POLL_IN___24 = 1,
    POLL_OUT___24 = 2,
    POLL_MSG___24 = 3,
    POLL_ERR___24 = 4,
    POLL_PRI___24 = 5,
    POLL_HUP___24 = 6
} ;
enum __anonenum_852341087___24 {
    SIGEV_SIGNAL___24 = 0,
    SIGEV_NONE___24 = 1,
    SIGEV_THREAD___24 = 2,
    SIGEV_THREAD_ID___24 = 4
} ;
enum __anonenum_451154152___24 {
    REG_R8___24 = 0,
    REG_R9___24 = 1,
    REG_R10___24 = 2,
    REG_R11___24 = 3,
    REG_R12___24 = 4,
    REG_R13___24 = 5,
    REG_R14___24 = 6,
    REG_R15___24 = 7,
    REG_RDI___24 = 8,
    REG_RSI___24 = 9,
    REG_RBP___24 = 10,
    REG_RBX___24 = 11,
    REG_RDX___24 = 12,
    REG_RAX___24 = 13,
    REG_RCX___24 = 14,
    REG_RSP___24 = 15,
    REG_RIP___24 = 16,
    REG_EFL___24 = 17,
    REG_CSGSFS___24 = 18,
    REG_ERR___24 = 19,
    REG_TRAPNO___24 = 20,
    REG_OLDMASK___24 = 21,
    REG_CR2___24 = 22
} ;
enum __anonenum_57186863___24 {
    SS_ONSTACK___24 = 1,
    SS_DISABLE___24 = 2
} ;
enum __anonenum_83571709___24 {
    MSG_OOB___24 = 1,
    MSG_PEEK___24 = 2,
    MSG_DONTROUTE___24 = 4,
    MSG_TRYHARD___24 = 4,
    MSG_CTRUNC___24 = 8,
    MSG_PROXY___24 = 16,
    MSG_TRUNC___24 = 32,
    MSG_DONTWAIT___24 = 64,
    MSG_EOR___24 = 128,
    MSG_WAITALL___24 = 256,
    MSG_FIN___24 = 512,
    MSG_SYN___24 = 1024,
    MSG_CONFIRM___24 = 2048,
    MSG_RST___24 = 4096,
    MSG_ERRQUEUE___24 = 8192,
    MSG_NOSIGNAL___24 = 16384,
    MSG_MORE___24 = 32768,
    MSG_WAITFORONE___24 = 65536,
    MSG_BATCH___24 = 262144,
    MSG_ZEROCOPY___24 = 67108864,
    MSG_FASTOPEN___24 = 536870912,
    MSG_CMSG_CLOEXEC___24 = 1073741824
} ;
enum __anonenum_617082774___24 {
    SCM_RIGHTS___24 = 1,
    SCM_CREDENTIALS___24 = 2
} ;
enum __anonenum_606441560___24 {
    SHUT_RD___24 = 0,
    SHUT_WR___24 = 1,
    SHUT_RDWR___24 = 2
} ;
enum __anonenum_681669233___24 {
    IPPROTO_IP___24 = 0,
    IPPROTO_ICMP___24 = 1,
    IPPROTO_IGMP___24 = 2,
    IPPROTO_IPIP___24 = 4,
    IPPROTO_TCP___24 = 6,
    IPPROTO_EGP___24 = 8,
    IPPROTO_PUP___24 = 12,
    IPPROTO_UDP___24 = 17,
    IPPROTO_IDP___24 = 22,
    IPPROTO_TP___24 = 29,
    IPPROTO_DCCP___24 = 33,
    IPPROTO_IPV6___24 = 41,
    IPPROTO_RSVP___24 = 46,
    IPPROTO_GRE___24 = 47,
    IPPROTO_ESP___24 = 50,
    IPPROTO_AH___24 = 51,
    IPPROTO_MTP___24 = 92,
    IPPROTO_BEETPH___24 = 94,
    IPPROTO_ENCAP___24 = 98,
    IPPROTO_PIM___24 = 103,
    IPPROTO_COMP___24 = 108,
    IPPROTO_SCTP___24 = 132,
    IPPROTO_UDPLITE___24 = 136,
    IPPROTO_MPLS___24 = 137,
    IPPROTO_RAW___24 = 255,
    IPPROTO_MAX___24 = 256
} ;
enum __anonenum_218739988___24 {
    IPPROTO_HOPOPTS___24 = 0,
    IPPROTO_ROUTING___24 = 43,
    IPPROTO_FRAGMENT___24 = 44,
    IPPROTO_ICMPV6___24 = 58,
    IPPROTO_NONE___24 = 59,
    IPPROTO_DSTOPTS___24 = 60,
    IPPROTO_MH___24 = 135
} ;
enum __anonenum_662268580___24 {
    IPPORT_ECHO___24 = 7,
    IPPORT_DISCARD___24 = 9,
    IPPORT_SYSTAT___24 = 11,
    IPPORT_DAYTIME___24 = 13,
    IPPORT_NETSTAT___24 = 15,
    IPPORT_FTP___24 = 21,
    IPPORT_TELNET___24 = 23,
    IPPORT_SMTP___24 = 25,
    IPPORT_TIMESERVER___24 = 37,
    IPPORT_NAMESERVER___24 = 42,
    IPPORT_WHOIS___24 = 43,
    IPPORT_MTP___24 = 57,
    IPPORT_TFTP___24 = 69,
    IPPORT_RJE___24 = 77,
    IPPORT_FINGER___24 = 79,
    IPPORT_TTYLINK___24 = 87,
    IPPORT_SUPDUP___24 = 95,
    IPPORT_EXECSERVER___24 = 512,
    IPPORT_LOGINSERVER___24 = 513,
    IPPORT_CMDSERVER___24 = 514,
    IPPORT_EFSSERVER___24 = 520,
    IPPORT_BIFFUDP___24 = 512,
    IPPORT_WHOSERVER___24 = 513,
    IPPORT_ROUTESERVER___24 = 520,
    IPPORT_RESERVED___24 = 1024,
    IPPORT_USERRESERVED___24 = 5000
} ;
enum __anonenum_788308992___24 {
    TCP_ESTABLISHED___24 = 1,
    TCP_SYN_SENT___24 = 2,
    TCP_SYN_RECV___24 = 3,
    TCP_FIN_WAIT1___24 = 4,
    TCP_FIN_WAIT2___24 = 5,
    TCP_TIME_WAIT___24 = 6,
    TCP_CLOSE___24 = 7,
    TCP_CLOSE_WAIT___24 = 8,
    TCP_LAST_ACK___24 = 9,
    TCP_LISTEN___24 = 10,
    TCP_CLOSING___24 = 11
} ;
enum __anonenum_221125648___24 {
    TCP_NO_QUEUE___24 = 0,
    TCP_RECV_QUEUE___24 = 1,
    TCP_SEND_QUEUE___24 = 2,
    TCP_QUEUES_NR___24 = 3
} ;
enum __anonenum_34415463___24 {
    PTHREAD_CREATE_JOINABLE___24 = 0,
    PTHREAD_CREATE_DETACHED___24 = 1
} ;
enum __anonenum_303612439___24 {
    PTHREAD_MUTEX_TIMED_NP___24 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___24 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___24 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___24 = 3,
    PTHREAD_MUTEX_NORMAL___24 = 0,
    PTHREAD_MUTEX_RECURSIVE___24 = 1,
    PTHREAD_MUTEX_ERRORCHECK___24 = 2,
    PTHREAD_MUTEX_DEFAULT___24 = 0,
    PTHREAD_MUTEX_FAST_NP___24 = 0
} ;
enum __anonenum_931900394___24 {
    PTHREAD_MUTEX_STALLED___24 = 0,
    PTHREAD_MUTEX_STALLED_NP___24 = 0,
    PTHREAD_MUTEX_ROBUST___24 = 1,
    PTHREAD_MUTEX_ROBUST_NP___24 = 1
} ;
enum __anonenum_205214487___24 {
    PTHREAD_PRIO_NONE___24 = 0,
    PTHREAD_PRIO_INHERIT___24 = 1,
    PTHREAD_PRIO_PROTECT___24 = 2
} ;
enum __anonenum_25043950___24 {
    PTHREAD_RWLOCK_PREFER_READER_NP___24 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___24 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___24 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___24 = 0
} ;
enum __anonenum_436439511___24 {
    PTHREAD_INHERIT_SCHED___24 = 0,
    PTHREAD_EXPLICIT_SCHED___24 = 1
} ;
enum __anonenum_998661166___24 {
    PTHREAD_SCOPE_SYSTEM___24 = 0,
    PTHREAD_SCOPE_PROCESS___24 = 1
} ;
enum __anonenum_146137331___24 {
    PTHREAD_PROCESS_PRIVATE___24 = 0,
    PTHREAD_PROCESS_SHARED___24 = 1
} ;
enum __anonenum_53396917___24 {
    PTHREAD_CANCEL_ENABLE___24 = 0,
    PTHREAD_CANCEL_DISABLE___24 = 1
} ;
enum __anonenum_904563783___24 {
    PTHREAD_CANCEL_DEFERRED___24 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___24 = 1
} ;
enum __anonenum_672052974___24 {
    SSL_CT_VALIDATION_PERMISSIVE___24 = 0,
    SSL_CT_VALIDATION_STRICT___24 = 1
} ;
enum __anonenum_437032235___25 {
    _PC_LINK_MAX___25 = 0,
    _PC_MAX_CANON___25 = 1,
    _PC_MAX_INPUT___25 = 2,
    _PC_NAME_MAX___25 = 3,
    _PC_PATH_MAX___25 = 4,
    _PC_PIPE_BUF___25 = 5,
    _PC_CHOWN_RESTRICTED___25 = 6,
    _PC_NO_TRUNC___25 = 7,
    _PC_VDISABLE___25 = 8,
    _PC_SYNC_IO___25 = 9,
    _PC_ASYNC_IO___25 = 10,
    _PC_PRIO_IO___25 = 11,
    _PC_SOCK_MAXBUF___25 = 12,
    _PC_FILESIZEBITS___25 = 13,
    _PC_REC_INCR_XFER_SIZE___25 = 14,
    _PC_REC_MAX_XFER_SIZE___25 = 15,
    _PC_REC_MIN_XFER_SIZE___25 = 16,
    _PC_REC_XFER_ALIGN___25 = 17,
    _PC_ALLOC_SIZE_MIN___25 = 18,
    _PC_SYMLINK_MAX___25 = 19,
    _PC_2_SYMLINKS___25 = 20
} ;
enum __anonenum_315186338___25 {
    _SC_ARG_MAX___25 = 0,
    _SC_CHILD_MAX___25 = 1,
    _SC_CLK_TCK___25 = 2,
    _SC_NGROUPS_MAX___25 = 3,
    _SC_OPEN_MAX___25 = 4,
    _SC_STREAM_MAX___25 = 5,
    _SC_TZNAME_MAX___25 = 6,
    _SC_JOB_CONTROL___25 = 7,
    _SC_SAVED_IDS___25 = 8,
    _SC_REALTIME_SIGNALS___25 = 9,
    _SC_PRIORITY_SCHEDULING___25 = 10,
    _SC_TIMERS___25 = 11,
    _SC_ASYNCHRONOUS_IO___25 = 12,
    _SC_PRIORITIZED_IO___25 = 13,
    _SC_SYNCHRONIZED_IO___25 = 14,
    _SC_FSYNC___25 = 15,
    _SC_MAPPED_FILES___25 = 16,
    _SC_MEMLOCK___25 = 17,
    _SC_MEMLOCK_RANGE___25 = 18,
    _SC_MEMORY_PROTECTION___25 = 19,
    _SC_MESSAGE_PASSING___25 = 20,
    _SC_SEMAPHORES___25 = 21,
    _SC_SHARED_MEMORY_OBJECTS___25 = 22,
    _SC_AIO_LISTIO_MAX___25 = 23,
    _SC_AIO_MAX___25 = 24,
    _SC_AIO_PRIO_DELTA_MAX___25 = 25,
    _SC_DELAYTIMER_MAX___25 = 26,
    _SC_MQ_OPEN_MAX___25 = 27,
    _SC_MQ_PRIO_MAX___25 = 28,
    _SC_VERSION___25 = 29,
    _SC_PAGESIZE___25 = 30,
    _SC_RTSIG_MAX___25 = 31,
    _SC_SEM_NSEMS_MAX___25 = 32,
    _SC_SEM_VALUE_MAX___25 = 33,
    _SC_SIGQUEUE_MAX___25 = 34,
    _SC_TIMER_MAX___25 = 35,
    _SC_BC_BASE_MAX___25 = 36,
    _SC_BC_DIM_MAX___25 = 37,
    _SC_BC_SCALE_MAX___25 = 38,
    _SC_BC_STRING_MAX___25 = 39,
    _SC_COLL_WEIGHTS_MAX___25 = 40,
    _SC_EQUIV_CLASS_MAX___25 = 41,
    _SC_EXPR_NEST_MAX___25 = 42,
    _SC_LINE_MAX___25 = 43,
    _SC_RE_DUP_MAX___25 = 44,
    _SC_CHARCLASS_NAME_MAX___25 = 45,
    _SC_2_VERSION___25 = 46,
    _SC_2_C_BIND___25 = 47,
    _SC_2_C_DEV___25 = 48,
    _SC_2_FORT_DEV___25 = 49,
    _SC_2_FORT_RUN___25 = 50,
    _SC_2_SW_DEV___25 = 51,
    _SC_2_LOCALEDEF___25 = 52,
    _SC_PII___25 = 53,
    _SC_PII_XTI___25 = 54,
    _SC_PII_SOCKET___25 = 55,
    _SC_PII_INTERNET___25 = 56,
    _SC_PII_OSI___25 = 57,
    _SC_POLL___25 = 58,
    _SC_SELECT___25 = 59,
    _SC_UIO_MAXIOV___25 = 60,
    _SC_IOV_MAX___25 = 60,
    _SC_PII_INTERNET_STREAM___25 = 61,
    _SC_PII_INTERNET_DGRAM___25 = 62,
    _SC_PII_OSI_COTS___25 = 63,
    _SC_PII_OSI_CLTS___25 = 64,
    _SC_PII_OSI_M___25 = 65,
    _SC_T_IOV_MAX___25 = 66,
    _SC_THREADS___25 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___25 = 68,
    _SC_GETGR_R_SIZE_MAX___25 = 69,
    _SC_GETPW_R_SIZE_MAX___25 = 70,
    _SC_LOGIN_NAME_MAX___25 = 71,
    _SC_TTY_NAME_MAX___25 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___25 = 73,
    _SC_THREAD_KEYS_MAX___25 = 74,
    _SC_THREAD_STACK_MIN___25 = 75,
    _SC_THREAD_THREADS_MAX___25 = 76,
    _SC_THREAD_ATTR_STACKADDR___25 = 77,
    _SC_THREAD_ATTR_STACKSIZE___25 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___25 = 79,
    _SC_THREAD_PRIO_INHERIT___25 = 80,
    _SC_THREAD_PRIO_PROTECT___25 = 81,
    _SC_THREAD_PROCESS_SHARED___25 = 82,
    _SC_NPROCESSORS_CONF___25 = 83,
    _SC_NPROCESSORS_ONLN___25 = 84,
    _SC_PHYS_PAGES___25 = 85,
    _SC_AVPHYS_PAGES___25 = 86,
    _SC_ATEXIT_MAX___25 = 87,
    _SC_PASS_MAX___25 = 88,
    _SC_XOPEN_VERSION___25 = 89,
    _SC_XOPEN_XCU_VERSION___25 = 90,
    _SC_XOPEN_UNIX___25 = 91,
    _SC_XOPEN_CRYPT___25 = 92,
    _SC_XOPEN_ENH_I18N___25 = 93,
    _SC_XOPEN_SHM___25 = 94,
    _SC_2_CHAR_TERM___25 = 95,
    _SC_2_C_VERSION___25 = 96,
    _SC_2_UPE___25 = 97,
    _SC_XOPEN_XPG2___25 = 98,
    _SC_XOPEN_XPG3___25 = 99,
    _SC_XOPEN_XPG4___25 = 100,
    _SC_CHAR_BIT___25 = 101,
    _SC_CHAR_MAX___25 = 102,
    _SC_CHAR_MIN___25 = 103,
    _SC_INT_MAX___25 = 104,
    _SC_INT_MIN___25 = 105,
    _SC_LONG_BIT___25 = 106,
    _SC_WORD_BIT___25 = 107,
    _SC_MB_LEN_MAX___25 = 108,
    _SC_NZERO___25 = 109,
    _SC_SSIZE_MAX___25 = 110,
    _SC_SCHAR_MAX___25 = 111,
    _SC_SCHAR_MIN___25 = 112,
    _SC_SHRT_MAX___25 = 113,
    _SC_SHRT_MIN___25 = 114,
    _SC_UCHAR_MAX___25 = 115,
    _SC_UINT_MAX___25 = 116,
    _SC_ULONG_MAX___25 = 117,
    _SC_USHRT_MAX___25 = 118,
    _SC_NL_ARGMAX___25 = 119,
    _SC_NL_LANGMAX___25 = 120,
    _SC_NL_MSGMAX___25 = 121,
    _SC_NL_NMAX___25 = 122,
    _SC_NL_SETMAX___25 = 123,
    _SC_NL_TEXTMAX___25 = 124,
    _SC_XBS5_ILP32_OFF32___25 = 125,
    _SC_XBS5_ILP32_OFFBIG___25 = 126,
    _SC_XBS5_LP64_OFF64___25 = 127,
    _SC_XBS5_LPBIG_OFFBIG___25 = 128,
    _SC_XOPEN_LEGACY___25 = 129,
    _SC_XOPEN_REALTIME___25 = 130,
    _SC_XOPEN_REALTIME_THREADS___25 = 131,
    _SC_ADVISORY_INFO___25 = 132,
    _SC_BARRIERS___25 = 133,
    _SC_BASE___25 = 134,
    _SC_C_LANG_SUPPORT___25 = 135,
    _SC_C_LANG_SUPPORT_R___25 = 136,
    _SC_CLOCK_SELECTION___25 = 137,
    _SC_CPUTIME___25 = 138,
    _SC_THREAD_CPUTIME___25 = 139,
    _SC_DEVICE_IO___25 = 140,
    _SC_DEVICE_SPECIFIC___25 = 141,
    _SC_DEVICE_SPECIFIC_R___25 = 142,
    _SC_FD_MGMT___25 = 143,
    _SC_FIFO___25 = 144,
    _SC_PIPE___25 = 145,
    _SC_FILE_ATTRIBUTES___25 = 146,
    _SC_FILE_LOCKING___25 = 147,
    _SC_FILE_SYSTEM___25 = 148,
    _SC_MONOTONIC_CLOCK___25 = 149,
    _SC_MULTI_PROCESS___25 = 150,
    _SC_SINGLE_PROCESS___25 = 151,
    _SC_NETWORKING___25 = 152,
    _SC_READER_WRITER_LOCKS___25 = 153,
    _SC_SPIN_LOCKS___25 = 154,
    _SC_REGEXP___25 = 155,
    _SC_REGEX_VERSION___25 = 156,
    _SC_SHELL___25 = 157,
    _SC_SIGNALS___25 = 158,
    _SC_SPAWN___25 = 159,
    _SC_SPORADIC_SERVER___25 = 160,
    _SC_THREAD_SPORADIC_SERVER___25 = 161,
    _SC_SYSTEM_DATABASE___25 = 162,
    _SC_SYSTEM_DATABASE_R___25 = 163,
    _SC_TIMEOUTS___25 = 164,
    _SC_TYPED_MEMORY_OBJECTS___25 = 165,
    _SC_USER_GROUPS___25 = 166,
    _SC_USER_GROUPS_R___25 = 167,
    _SC_2_PBS___25 = 168,
    _SC_2_PBS_ACCOUNTING___25 = 169,
    _SC_2_PBS_LOCATE___25 = 170,
    _SC_2_PBS_MESSAGE___25 = 171,
    _SC_2_PBS_TRACK___25 = 172,
    _SC_SYMLOOP_MAX___25 = 173,
    _SC_STREAMS___25 = 174,
    _SC_2_PBS_CHECKPOINT___25 = 175,
    _SC_V6_ILP32_OFF32___25 = 176,
    _SC_V6_ILP32_OFFBIG___25 = 177,
    _SC_V6_LP64_OFF64___25 = 178,
    _SC_V6_LPBIG_OFFBIG___25 = 179,
    _SC_HOST_NAME_MAX___25 = 180,
    _SC_TRACE___25 = 181,
    _SC_TRACE_EVENT_FILTER___25 = 182,
    _SC_TRACE_INHERIT___25 = 183,
    _SC_TRACE_LOG___25 = 184,
    _SC_LEVEL1_ICACHE_SIZE___25 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___25 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___25 = 187,
    _SC_LEVEL1_DCACHE_SIZE___25 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___25 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___25 = 190,
    _SC_LEVEL2_CACHE_SIZE___25 = 191,
    _SC_LEVEL2_CACHE_ASSOC___25 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___25 = 193,
    _SC_LEVEL3_CACHE_SIZE___25 = 194,
    _SC_LEVEL3_CACHE_ASSOC___25 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___25 = 196,
    _SC_LEVEL4_CACHE_SIZE___25 = 197,
    _SC_LEVEL4_CACHE_ASSOC___25 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___25 = 199,
    _SC_IPV6___25 = 235,
    _SC_RAW_SOCKETS___25 = 236,
    _SC_V7_ILP32_OFF32___25 = 237,
    _SC_V7_ILP32_OFFBIG___25 = 238,
    _SC_V7_LP64_OFF64___25 = 239,
    _SC_V7_LPBIG_OFFBIG___25 = 240,
    _SC_SS_REPL_MAX___25 = 241,
    _SC_TRACE_EVENT_NAME_MAX___25 = 242,
    _SC_TRACE_NAME_MAX___25 = 243,
    _SC_TRACE_SYS_MAX___25 = 244,
    _SC_TRACE_USER_EVENT_MAX___25 = 245,
    _SC_XOPEN_STREAMS___25 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___25 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___25 = 248
} ;
enum __anonenum_875524036___25 {
    _CS_PATH___25 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___25 = 1,
    _CS_GNU_LIBC_VERSION___25 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___25 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___25 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___25 = 5,
    _CS_LFS_CFLAGS___25 = 1000,
    _CS_LFS_LDFLAGS___25 = 1001,
    _CS_LFS_LIBS___25 = 1002,
    _CS_LFS_LINTFLAGS___25 = 1003,
    _CS_LFS64_CFLAGS___25 = 1004,
    _CS_LFS64_LDFLAGS___25 = 1005,
    _CS_LFS64_LIBS___25 = 1006,
    _CS_LFS64_LINTFLAGS___25 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___25 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___25 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___25 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___25 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___25 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___25 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___25 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___25 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___25 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___25 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___25 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___25 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___25 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___25 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___25 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___25 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___25 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___25 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___25 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___25 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___25 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___25 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___25 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___25 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___25 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___25 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___25 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___25 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___25 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___25 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___25 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___25 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___25 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___25 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___25 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___25 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___25 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___25 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___25 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___25 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___25 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___25 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___25 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___25 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___25 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___25 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___25 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___25 = 1147,
    _CS_V6_ENV___25 = 1148,
    _CS_V7_ENV___25 = 1149
} ;
enum __anonenum_513775621___25 {
    DT_UNKNOWN___25 = 0,
    DT_FIFO___25 = 1,
    DT_CHR___25 = 2,
    DT_DIR___25 = 4,
    DT_BLK___25 = 6,
    DT_REG___25 = 8,
    DT_LNK___25 = 10,
    DT_SOCK___25 = 12,
    DT_WHT___25 = 14
} ;
enum __anonenum_77002343___25 {
    SI_ASYNCNL___25 = -60,
    SI_TKILL___25 = -6,
    SI_SIGIO___25 = -5,
    SI_ASYNCIO___25 = -4,
    SI_MESGQ___25 = -3,
    SI_TIMER___25 = -2,
    SI_QUEUE___25 = -1,
    SI_USER___25 = 0,
    SI_KERNEL___25 = 128
} ;
enum __anonenum_131038172___25 {
    ILL_ILLOPC___25 = 1,
    ILL_ILLOPN___25 = 2,
    ILL_ILLADR___25 = 3,
    ILL_ILLTRP___25 = 4,
    ILL_PRVOPC___25 = 5,
    ILL_PRVREG___25 = 6,
    ILL_COPROC___25 = 7,
    ILL_BADSTK___25 = 8
} ;
enum __anonenum_452038093___25 {
    FPE_INTDIV___25 = 1,
    FPE_INTOVF___25 = 2,
    FPE_FLTDIV___25 = 3,
    FPE_FLTOVF___25 = 4,
    FPE_FLTUND___25 = 5,
    FPE_FLTRES___25 = 6,
    FPE_FLTINV___25 = 7,
    FPE_FLTSUB___25 = 8
} ;
enum __anonenum_30976155___25 {
    SEGV_MAPERR___25 = 1,
    SEGV_ACCERR___25 = 2,
    SEGV_BNDERR___25 = 3,
    SEGV_PKUERR___25 = 4
} ;
enum __anonenum_1036286214___25 {
    BUS_ADRALN___25 = 1,
    BUS_ADRERR___25 = 2,
    BUS_OBJERR___25 = 3,
    BUS_MCEERR_AR___25 = 4,
    BUS_MCEERR_AO___25 = 5
} ;
enum __anonenum_493465559___25 {
    TRAP_BRKPT___25 = 1,
    TRAP_TRACE___25 = 2
} ;
enum __anonenum_23175539___25 {
    CLD_EXITED___25 = 1,
    CLD_KILLED___25 = 2,
    CLD_DUMPED___25 = 3,
    CLD_TRAPPED___25 = 4,
    CLD_STOPPED___25 = 5,
    CLD_CONTINUED___25 = 6
} ;
enum __anonenum_111643124___25 {
    POLL_IN___25 = 1,
    POLL_OUT___25 = 2,
    POLL_MSG___25 = 3,
    POLL_ERR___25 = 4,
    POLL_PRI___25 = 5,
    POLL_HUP___25 = 6
} ;
enum __anonenum_852341087___25 {
    SIGEV_SIGNAL___25 = 0,
    SIGEV_NONE___25 = 1,
    SIGEV_THREAD___25 = 2,
    SIGEV_THREAD_ID___25 = 4
} ;
enum __anonenum_451154152___25 {
    REG_R8___25 = 0,
    REG_R9___25 = 1,
    REG_R10___25 = 2,
    REG_R11___25 = 3,
    REG_R12___25 = 4,
    REG_R13___25 = 5,
    REG_R14___25 = 6,
    REG_R15___25 = 7,
    REG_RDI___25 = 8,
    REG_RSI___25 = 9,
    REG_RBP___25 = 10,
    REG_RBX___25 = 11,
    REG_RDX___25 = 12,
    REG_RAX___25 = 13,
    REG_RCX___25 = 14,
    REG_RSP___25 = 15,
    REG_RIP___25 = 16,
    REG_EFL___25 = 17,
    REG_CSGSFS___25 = 18,
    REG_ERR___25 = 19,
    REG_TRAPNO___25 = 20,
    REG_OLDMASK___25 = 21,
    REG_CR2___25 = 22
} ;
enum __anonenum_57186863___25 {
    SS_ONSTACK___25 = 1,
    SS_DISABLE___25 = 2
} ;
enum __anonenum_83571709___25 {
    MSG_OOB___25 = 1,
    MSG_PEEK___25 = 2,
    MSG_DONTROUTE___25 = 4,
    MSG_TRYHARD___25 = 4,
    MSG_CTRUNC___25 = 8,
    MSG_PROXY___25 = 16,
    MSG_TRUNC___25 = 32,
    MSG_DONTWAIT___25 = 64,
    MSG_EOR___25 = 128,
    MSG_WAITALL___25 = 256,
    MSG_FIN___25 = 512,
    MSG_SYN___25 = 1024,
    MSG_CONFIRM___25 = 2048,
    MSG_RST___25 = 4096,
    MSG_ERRQUEUE___25 = 8192,
    MSG_NOSIGNAL___25 = 16384,
    MSG_MORE___25 = 32768,
    MSG_WAITFORONE___25 = 65536,
    MSG_BATCH___25 = 262144,
    MSG_ZEROCOPY___25 = 67108864,
    MSG_FASTOPEN___25 = 536870912,
    MSG_CMSG_CLOEXEC___25 = 1073741824
} ;
enum __anonenum_617082774___25 {
    SCM_RIGHTS___25 = 1,
    SCM_CREDENTIALS___25 = 2
} ;
enum __anonenum_606441560___25 {
    SHUT_RD___25 = 0,
    SHUT_WR___25 = 1,
    SHUT_RDWR___25 = 2
} ;
enum __anonenum_681669233___25 {
    IPPROTO_IP___25 = 0,
    IPPROTO_ICMP___25 = 1,
    IPPROTO_IGMP___25 = 2,
    IPPROTO_IPIP___25 = 4,
    IPPROTO_TCP___25 = 6,
    IPPROTO_EGP___25 = 8,
    IPPROTO_PUP___25 = 12,
    IPPROTO_UDP___25 = 17,
    IPPROTO_IDP___25 = 22,
    IPPROTO_TP___25 = 29,
    IPPROTO_DCCP___25 = 33,
    IPPROTO_IPV6___25 = 41,
    IPPROTO_RSVP___25 = 46,
    IPPROTO_GRE___25 = 47,
    IPPROTO_ESP___25 = 50,
    IPPROTO_AH___25 = 51,
    IPPROTO_MTP___25 = 92,
    IPPROTO_BEETPH___25 = 94,
    IPPROTO_ENCAP___25 = 98,
    IPPROTO_PIM___25 = 103,
    IPPROTO_COMP___25 = 108,
    IPPROTO_SCTP___25 = 132,
    IPPROTO_UDPLITE___25 = 136,
    IPPROTO_MPLS___25 = 137,
    IPPROTO_RAW___25 = 255,
    IPPROTO_MAX___25 = 256
} ;
enum __anonenum_218739988___25 {
    IPPROTO_HOPOPTS___25 = 0,
    IPPROTO_ROUTING___25 = 43,
    IPPROTO_FRAGMENT___25 = 44,
    IPPROTO_ICMPV6___25 = 58,
    IPPROTO_NONE___25 = 59,
    IPPROTO_DSTOPTS___25 = 60,
    IPPROTO_MH___25 = 135
} ;
enum __anonenum_662268580___25 {
    IPPORT_ECHO___25 = 7,
    IPPORT_DISCARD___25 = 9,
    IPPORT_SYSTAT___25 = 11,
    IPPORT_DAYTIME___25 = 13,
    IPPORT_NETSTAT___25 = 15,
    IPPORT_FTP___25 = 21,
    IPPORT_TELNET___25 = 23,
    IPPORT_SMTP___25 = 25,
    IPPORT_TIMESERVER___25 = 37,
    IPPORT_NAMESERVER___25 = 42,
    IPPORT_WHOIS___25 = 43,
    IPPORT_MTP___25 = 57,
    IPPORT_TFTP___25 = 69,
    IPPORT_RJE___25 = 77,
    IPPORT_FINGER___25 = 79,
    IPPORT_TTYLINK___25 = 87,
    IPPORT_SUPDUP___25 = 95,
    IPPORT_EXECSERVER___25 = 512,
    IPPORT_LOGINSERVER___25 = 513,
    IPPORT_CMDSERVER___25 = 514,
    IPPORT_EFSSERVER___25 = 520,
    IPPORT_BIFFUDP___25 = 512,
    IPPORT_WHOSERVER___25 = 513,
    IPPORT_ROUTESERVER___25 = 520,
    IPPORT_RESERVED___25 = 1024,
    IPPORT_USERRESERVED___25 = 5000
} ;
enum __anonenum_788308992___25 {
    TCP_ESTABLISHED___25 = 1,
    TCP_SYN_SENT___25 = 2,
    TCP_SYN_RECV___25 = 3,
    TCP_FIN_WAIT1___25 = 4,
    TCP_FIN_WAIT2___25 = 5,
    TCP_TIME_WAIT___25 = 6,
    TCP_CLOSE___25 = 7,
    TCP_CLOSE_WAIT___25 = 8,
    TCP_LAST_ACK___25 = 9,
    TCP_LISTEN___25 = 10,
    TCP_CLOSING___25 = 11
} ;
enum __anonenum_221125648___25 {
    TCP_NO_QUEUE___25 = 0,
    TCP_RECV_QUEUE___25 = 1,
    TCP_SEND_QUEUE___25 = 2,
    TCP_QUEUES_NR___25 = 3
} ;
enum __anonenum_34415463___25 {
    PTHREAD_CREATE_JOINABLE___25 = 0,
    PTHREAD_CREATE_DETACHED___25 = 1
} ;
enum __anonenum_303612439___25 {
    PTHREAD_MUTEX_TIMED_NP___25 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___25 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___25 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___25 = 3,
    PTHREAD_MUTEX_NORMAL___25 = 0,
    PTHREAD_MUTEX_RECURSIVE___25 = 1,
    PTHREAD_MUTEX_ERRORCHECK___25 = 2,
    PTHREAD_MUTEX_DEFAULT___25 = 0,
    PTHREAD_MUTEX_FAST_NP___25 = 0
} ;
enum __anonenum_931900394___25 {
    PTHREAD_MUTEX_STALLED___25 = 0,
    PTHREAD_MUTEX_STALLED_NP___25 = 0,
    PTHREAD_MUTEX_ROBUST___25 = 1,
    PTHREAD_MUTEX_ROBUST_NP___25 = 1
} ;
enum __anonenum_205214487___25 {
    PTHREAD_PRIO_NONE___25 = 0,
    PTHREAD_PRIO_INHERIT___25 = 1,
    PTHREAD_PRIO_PROTECT___25 = 2
} ;
enum __anonenum_25043950___25 {
    PTHREAD_RWLOCK_PREFER_READER_NP___25 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___25 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___25 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___25 = 0
} ;
enum __anonenum_436439511___25 {
    PTHREAD_INHERIT_SCHED___25 = 0,
    PTHREAD_EXPLICIT_SCHED___25 = 1
} ;
enum __anonenum_998661166___25 {
    PTHREAD_SCOPE_SYSTEM___25 = 0,
    PTHREAD_SCOPE_PROCESS___25 = 1
} ;
enum __anonenum_146137331___25 {
    PTHREAD_PROCESS_PRIVATE___25 = 0,
    PTHREAD_PROCESS_SHARED___25 = 1
} ;
enum __anonenum_53396917___25 {
    PTHREAD_CANCEL_ENABLE___25 = 0,
    PTHREAD_CANCEL_DISABLE___25 = 1
} ;
enum __anonenum_904563783___25 {
    PTHREAD_CANCEL_DEFERRED___25 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___25 = 1
} ;
enum __anonenum_672052974___25 {
    SSL_CT_VALIDATION_PERMISSIVE___25 = 0,
    SSL_CT_VALIDATION_STRICT___25 = 1
} ;
typedef void (*chdir_notify_callback)(char const   *name , char const   *old_cwd ,
                                      char const   *new_cwd , void *data );
struct chdir_notify_entry {
   char const   *name ;
   void (*cb)(char const   *name , char const   *old_cwd , char const   *new_cwd ,
              void *data ) ;
   void *data ;
   struct list_head list ;
};
enum __anonenum_437032235___26 {
    _PC_LINK_MAX___26 = 0,
    _PC_MAX_CANON___26 = 1,
    _PC_MAX_INPUT___26 = 2,
    _PC_NAME_MAX___26 = 3,
    _PC_PATH_MAX___26 = 4,
    _PC_PIPE_BUF___26 = 5,
    _PC_CHOWN_RESTRICTED___26 = 6,
    _PC_NO_TRUNC___26 = 7,
    _PC_VDISABLE___26 = 8,
    _PC_SYNC_IO___26 = 9,
    _PC_ASYNC_IO___26 = 10,
    _PC_PRIO_IO___26 = 11,
    _PC_SOCK_MAXBUF___26 = 12,
    _PC_FILESIZEBITS___26 = 13,
    _PC_REC_INCR_XFER_SIZE___26 = 14,
    _PC_REC_MAX_XFER_SIZE___26 = 15,
    _PC_REC_MIN_XFER_SIZE___26 = 16,
    _PC_REC_XFER_ALIGN___26 = 17,
    _PC_ALLOC_SIZE_MIN___26 = 18,
    _PC_SYMLINK_MAX___26 = 19,
    _PC_2_SYMLINKS___26 = 20
} ;
enum __anonenum_315186338___26 {
    _SC_ARG_MAX___26 = 0,
    _SC_CHILD_MAX___26 = 1,
    _SC_CLK_TCK___26 = 2,
    _SC_NGROUPS_MAX___26 = 3,
    _SC_OPEN_MAX___26 = 4,
    _SC_STREAM_MAX___26 = 5,
    _SC_TZNAME_MAX___26 = 6,
    _SC_JOB_CONTROL___26 = 7,
    _SC_SAVED_IDS___26 = 8,
    _SC_REALTIME_SIGNALS___26 = 9,
    _SC_PRIORITY_SCHEDULING___26 = 10,
    _SC_TIMERS___26 = 11,
    _SC_ASYNCHRONOUS_IO___26 = 12,
    _SC_PRIORITIZED_IO___26 = 13,
    _SC_SYNCHRONIZED_IO___26 = 14,
    _SC_FSYNC___26 = 15,
    _SC_MAPPED_FILES___26 = 16,
    _SC_MEMLOCK___26 = 17,
    _SC_MEMLOCK_RANGE___26 = 18,
    _SC_MEMORY_PROTECTION___26 = 19,
    _SC_MESSAGE_PASSING___26 = 20,
    _SC_SEMAPHORES___26 = 21,
    _SC_SHARED_MEMORY_OBJECTS___26 = 22,
    _SC_AIO_LISTIO_MAX___26 = 23,
    _SC_AIO_MAX___26 = 24,
    _SC_AIO_PRIO_DELTA_MAX___26 = 25,
    _SC_DELAYTIMER_MAX___26 = 26,
    _SC_MQ_OPEN_MAX___26 = 27,
    _SC_MQ_PRIO_MAX___26 = 28,
    _SC_VERSION___26 = 29,
    _SC_PAGESIZE___26 = 30,
    _SC_RTSIG_MAX___26 = 31,
    _SC_SEM_NSEMS_MAX___26 = 32,
    _SC_SEM_VALUE_MAX___26 = 33,
    _SC_SIGQUEUE_MAX___26 = 34,
    _SC_TIMER_MAX___26 = 35,
    _SC_BC_BASE_MAX___26 = 36,
    _SC_BC_DIM_MAX___26 = 37,
    _SC_BC_SCALE_MAX___26 = 38,
    _SC_BC_STRING_MAX___26 = 39,
    _SC_COLL_WEIGHTS_MAX___26 = 40,
    _SC_EQUIV_CLASS_MAX___26 = 41,
    _SC_EXPR_NEST_MAX___26 = 42,
    _SC_LINE_MAX___26 = 43,
    _SC_RE_DUP_MAX___26 = 44,
    _SC_CHARCLASS_NAME_MAX___26 = 45,
    _SC_2_VERSION___26 = 46,
    _SC_2_C_BIND___26 = 47,
    _SC_2_C_DEV___26 = 48,
    _SC_2_FORT_DEV___26 = 49,
    _SC_2_FORT_RUN___26 = 50,
    _SC_2_SW_DEV___26 = 51,
    _SC_2_LOCALEDEF___26 = 52,
    _SC_PII___26 = 53,
    _SC_PII_XTI___26 = 54,
    _SC_PII_SOCKET___26 = 55,
    _SC_PII_INTERNET___26 = 56,
    _SC_PII_OSI___26 = 57,
    _SC_POLL___26 = 58,
    _SC_SELECT___26 = 59,
    _SC_UIO_MAXIOV___26 = 60,
    _SC_IOV_MAX___26 = 60,
    _SC_PII_INTERNET_STREAM___26 = 61,
    _SC_PII_INTERNET_DGRAM___26 = 62,
    _SC_PII_OSI_COTS___26 = 63,
    _SC_PII_OSI_CLTS___26 = 64,
    _SC_PII_OSI_M___26 = 65,
    _SC_T_IOV_MAX___26 = 66,
    _SC_THREADS___26 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___26 = 68,
    _SC_GETGR_R_SIZE_MAX___26 = 69,
    _SC_GETPW_R_SIZE_MAX___26 = 70,
    _SC_LOGIN_NAME_MAX___26 = 71,
    _SC_TTY_NAME_MAX___26 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___26 = 73,
    _SC_THREAD_KEYS_MAX___26 = 74,
    _SC_THREAD_STACK_MIN___26 = 75,
    _SC_THREAD_THREADS_MAX___26 = 76,
    _SC_THREAD_ATTR_STACKADDR___26 = 77,
    _SC_THREAD_ATTR_STACKSIZE___26 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___26 = 79,
    _SC_THREAD_PRIO_INHERIT___26 = 80,
    _SC_THREAD_PRIO_PROTECT___26 = 81,
    _SC_THREAD_PROCESS_SHARED___26 = 82,
    _SC_NPROCESSORS_CONF___26 = 83,
    _SC_NPROCESSORS_ONLN___26 = 84,
    _SC_PHYS_PAGES___26 = 85,
    _SC_AVPHYS_PAGES___26 = 86,
    _SC_ATEXIT_MAX___26 = 87,
    _SC_PASS_MAX___26 = 88,
    _SC_XOPEN_VERSION___26 = 89,
    _SC_XOPEN_XCU_VERSION___26 = 90,
    _SC_XOPEN_UNIX___26 = 91,
    _SC_XOPEN_CRYPT___26 = 92,
    _SC_XOPEN_ENH_I18N___26 = 93,
    _SC_XOPEN_SHM___26 = 94,
    _SC_2_CHAR_TERM___26 = 95,
    _SC_2_C_VERSION___26 = 96,
    _SC_2_UPE___26 = 97,
    _SC_XOPEN_XPG2___26 = 98,
    _SC_XOPEN_XPG3___26 = 99,
    _SC_XOPEN_XPG4___26 = 100,
    _SC_CHAR_BIT___26 = 101,
    _SC_CHAR_MAX___26 = 102,
    _SC_CHAR_MIN___26 = 103,
    _SC_INT_MAX___26 = 104,
    _SC_INT_MIN___26 = 105,
    _SC_LONG_BIT___26 = 106,
    _SC_WORD_BIT___26 = 107,
    _SC_MB_LEN_MAX___26 = 108,
    _SC_NZERO___26 = 109,
    _SC_SSIZE_MAX___26 = 110,
    _SC_SCHAR_MAX___26 = 111,
    _SC_SCHAR_MIN___26 = 112,
    _SC_SHRT_MAX___26 = 113,
    _SC_SHRT_MIN___26 = 114,
    _SC_UCHAR_MAX___26 = 115,
    _SC_UINT_MAX___26 = 116,
    _SC_ULONG_MAX___26 = 117,
    _SC_USHRT_MAX___26 = 118,
    _SC_NL_ARGMAX___26 = 119,
    _SC_NL_LANGMAX___26 = 120,
    _SC_NL_MSGMAX___26 = 121,
    _SC_NL_NMAX___26 = 122,
    _SC_NL_SETMAX___26 = 123,
    _SC_NL_TEXTMAX___26 = 124,
    _SC_XBS5_ILP32_OFF32___26 = 125,
    _SC_XBS5_ILP32_OFFBIG___26 = 126,
    _SC_XBS5_LP64_OFF64___26 = 127,
    _SC_XBS5_LPBIG_OFFBIG___26 = 128,
    _SC_XOPEN_LEGACY___26 = 129,
    _SC_XOPEN_REALTIME___26 = 130,
    _SC_XOPEN_REALTIME_THREADS___26 = 131,
    _SC_ADVISORY_INFO___26 = 132,
    _SC_BARRIERS___26 = 133,
    _SC_BASE___26 = 134,
    _SC_C_LANG_SUPPORT___26 = 135,
    _SC_C_LANG_SUPPORT_R___26 = 136,
    _SC_CLOCK_SELECTION___26 = 137,
    _SC_CPUTIME___26 = 138,
    _SC_THREAD_CPUTIME___26 = 139,
    _SC_DEVICE_IO___26 = 140,
    _SC_DEVICE_SPECIFIC___26 = 141,
    _SC_DEVICE_SPECIFIC_R___26 = 142,
    _SC_FD_MGMT___26 = 143,
    _SC_FIFO___26 = 144,
    _SC_PIPE___26 = 145,
    _SC_FILE_ATTRIBUTES___26 = 146,
    _SC_FILE_LOCKING___26 = 147,
    _SC_FILE_SYSTEM___26 = 148,
    _SC_MONOTONIC_CLOCK___26 = 149,
    _SC_MULTI_PROCESS___26 = 150,
    _SC_SINGLE_PROCESS___26 = 151,
    _SC_NETWORKING___26 = 152,
    _SC_READER_WRITER_LOCKS___26 = 153,
    _SC_SPIN_LOCKS___26 = 154,
    _SC_REGEXP___26 = 155,
    _SC_REGEX_VERSION___26 = 156,
    _SC_SHELL___26 = 157,
    _SC_SIGNALS___26 = 158,
    _SC_SPAWN___26 = 159,
    _SC_SPORADIC_SERVER___26 = 160,
    _SC_THREAD_SPORADIC_SERVER___26 = 161,
    _SC_SYSTEM_DATABASE___26 = 162,
    _SC_SYSTEM_DATABASE_R___26 = 163,
    _SC_TIMEOUTS___26 = 164,
    _SC_TYPED_MEMORY_OBJECTS___26 = 165,
    _SC_USER_GROUPS___26 = 166,
    _SC_USER_GROUPS_R___26 = 167,
    _SC_2_PBS___26 = 168,
    _SC_2_PBS_ACCOUNTING___26 = 169,
    _SC_2_PBS_LOCATE___26 = 170,
    _SC_2_PBS_MESSAGE___26 = 171,
    _SC_2_PBS_TRACK___26 = 172,
    _SC_SYMLOOP_MAX___26 = 173,
    _SC_STREAMS___26 = 174,
    _SC_2_PBS_CHECKPOINT___26 = 175,
    _SC_V6_ILP32_OFF32___26 = 176,
    _SC_V6_ILP32_OFFBIG___26 = 177,
    _SC_V6_LP64_OFF64___26 = 178,
    _SC_V6_LPBIG_OFFBIG___26 = 179,
    _SC_HOST_NAME_MAX___26 = 180,
    _SC_TRACE___26 = 181,
    _SC_TRACE_EVENT_FILTER___26 = 182,
    _SC_TRACE_INHERIT___26 = 183,
    _SC_TRACE_LOG___26 = 184,
    _SC_LEVEL1_ICACHE_SIZE___26 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___26 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___26 = 187,
    _SC_LEVEL1_DCACHE_SIZE___26 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___26 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___26 = 190,
    _SC_LEVEL2_CACHE_SIZE___26 = 191,
    _SC_LEVEL2_CACHE_ASSOC___26 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___26 = 193,
    _SC_LEVEL3_CACHE_SIZE___26 = 194,
    _SC_LEVEL3_CACHE_ASSOC___26 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___26 = 196,
    _SC_LEVEL4_CACHE_SIZE___26 = 197,
    _SC_LEVEL4_CACHE_ASSOC___26 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___26 = 199,
    _SC_IPV6___26 = 235,
    _SC_RAW_SOCKETS___26 = 236,
    _SC_V7_ILP32_OFF32___26 = 237,
    _SC_V7_ILP32_OFFBIG___26 = 238,
    _SC_V7_LP64_OFF64___26 = 239,
    _SC_V7_LPBIG_OFFBIG___26 = 240,
    _SC_SS_REPL_MAX___26 = 241,
    _SC_TRACE_EVENT_NAME_MAX___26 = 242,
    _SC_TRACE_NAME_MAX___26 = 243,
    _SC_TRACE_SYS_MAX___26 = 244,
    _SC_TRACE_USER_EVENT_MAX___26 = 245,
    _SC_XOPEN_STREAMS___26 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___26 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___26 = 248
} ;
enum __anonenum_875524036___26 {
    _CS_PATH___26 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___26 = 1,
    _CS_GNU_LIBC_VERSION___26 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___26 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___26 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___26 = 5,
    _CS_LFS_CFLAGS___26 = 1000,
    _CS_LFS_LDFLAGS___26 = 1001,
    _CS_LFS_LIBS___26 = 1002,
    _CS_LFS_LINTFLAGS___26 = 1003,
    _CS_LFS64_CFLAGS___26 = 1004,
    _CS_LFS64_LDFLAGS___26 = 1005,
    _CS_LFS64_LIBS___26 = 1006,
    _CS_LFS64_LINTFLAGS___26 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___26 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___26 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___26 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___26 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___26 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___26 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___26 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___26 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___26 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___26 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___26 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___26 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___26 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___26 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___26 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___26 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___26 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___26 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___26 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___26 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___26 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___26 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___26 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___26 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___26 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___26 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___26 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___26 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___26 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___26 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___26 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___26 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___26 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___26 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___26 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___26 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___26 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___26 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___26 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___26 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___26 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___26 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___26 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___26 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___26 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___26 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___26 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___26 = 1147,
    _CS_V6_ENV___26 = 1148,
    _CS_V7_ENV___26 = 1149
} ;
enum __anonenum_513775621___26 {
    DT_UNKNOWN___26 = 0,
    DT_FIFO___26 = 1,
    DT_CHR___26 = 2,
    DT_DIR___26 = 4,
    DT_BLK___26 = 6,
    DT_REG___26 = 8,
    DT_LNK___26 = 10,
    DT_SOCK___26 = 12,
    DT_WHT___26 = 14
} ;
enum __anonenum_77002343___26 {
    SI_ASYNCNL___26 = -60,
    SI_TKILL___26 = -6,
    SI_SIGIO___26 = -5,
    SI_ASYNCIO___26 = -4,
    SI_MESGQ___26 = -3,
    SI_TIMER___26 = -2,
    SI_QUEUE___26 = -1,
    SI_USER___26 = 0,
    SI_KERNEL___26 = 128
} ;
enum __anonenum_131038172___26 {
    ILL_ILLOPC___26 = 1,
    ILL_ILLOPN___26 = 2,
    ILL_ILLADR___26 = 3,
    ILL_ILLTRP___26 = 4,
    ILL_PRVOPC___26 = 5,
    ILL_PRVREG___26 = 6,
    ILL_COPROC___26 = 7,
    ILL_BADSTK___26 = 8
} ;
enum __anonenum_452038093___26 {
    FPE_INTDIV___26 = 1,
    FPE_INTOVF___26 = 2,
    FPE_FLTDIV___26 = 3,
    FPE_FLTOVF___26 = 4,
    FPE_FLTUND___26 = 5,
    FPE_FLTRES___26 = 6,
    FPE_FLTINV___26 = 7,
    FPE_FLTSUB___26 = 8
} ;
enum __anonenum_30976155___26 {
    SEGV_MAPERR___26 = 1,
    SEGV_ACCERR___26 = 2,
    SEGV_BNDERR___26 = 3,
    SEGV_PKUERR___26 = 4
} ;
enum __anonenum_1036286214___26 {
    BUS_ADRALN___26 = 1,
    BUS_ADRERR___26 = 2,
    BUS_OBJERR___26 = 3,
    BUS_MCEERR_AR___26 = 4,
    BUS_MCEERR_AO___26 = 5
} ;
enum __anonenum_493465559___26 {
    TRAP_BRKPT___26 = 1,
    TRAP_TRACE___26 = 2
} ;
enum __anonenum_23175539___26 {
    CLD_EXITED___26 = 1,
    CLD_KILLED___26 = 2,
    CLD_DUMPED___26 = 3,
    CLD_TRAPPED___26 = 4,
    CLD_STOPPED___26 = 5,
    CLD_CONTINUED___26 = 6
} ;
enum __anonenum_111643124___26 {
    POLL_IN___26 = 1,
    POLL_OUT___26 = 2,
    POLL_MSG___26 = 3,
    POLL_ERR___26 = 4,
    POLL_PRI___26 = 5,
    POLL_HUP___26 = 6
} ;
enum __anonenum_852341087___26 {
    SIGEV_SIGNAL___26 = 0,
    SIGEV_NONE___26 = 1,
    SIGEV_THREAD___26 = 2,
    SIGEV_THREAD_ID___26 = 4
} ;
enum __anonenum_451154152___26 {
    REG_R8___26 = 0,
    REG_R9___26 = 1,
    REG_R10___26 = 2,
    REG_R11___26 = 3,
    REG_R12___26 = 4,
    REG_R13___26 = 5,
    REG_R14___26 = 6,
    REG_R15___26 = 7,
    REG_RDI___26 = 8,
    REG_RSI___26 = 9,
    REG_RBP___26 = 10,
    REG_RBX___26 = 11,
    REG_RDX___26 = 12,
    REG_RAX___26 = 13,
    REG_RCX___26 = 14,
    REG_RSP___26 = 15,
    REG_RIP___26 = 16,
    REG_EFL___26 = 17,
    REG_CSGSFS___26 = 18,
    REG_ERR___26 = 19,
    REG_TRAPNO___26 = 20,
    REG_OLDMASK___26 = 21,
    REG_CR2___26 = 22
} ;
enum __anonenum_57186863___26 {
    SS_ONSTACK___26 = 1,
    SS_DISABLE___26 = 2
} ;
enum __anonenum_83571709___26 {
    MSG_OOB___26 = 1,
    MSG_PEEK___26 = 2,
    MSG_DONTROUTE___26 = 4,
    MSG_TRYHARD___26 = 4,
    MSG_CTRUNC___26 = 8,
    MSG_PROXY___26 = 16,
    MSG_TRUNC___26 = 32,
    MSG_DONTWAIT___26 = 64,
    MSG_EOR___26 = 128,
    MSG_WAITALL___26 = 256,
    MSG_FIN___26 = 512,
    MSG_SYN___26 = 1024,
    MSG_CONFIRM___26 = 2048,
    MSG_RST___26 = 4096,
    MSG_ERRQUEUE___26 = 8192,
    MSG_NOSIGNAL___26 = 16384,
    MSG_MORE___26 = 32768,
    MSG_WAITFORONE___26 = 65536,
    MSG_BATCH___26 = 262144,
    MSG_ZEROCOPY___26 = 67108864,
    MSG_FASTOPEN___26 = 536870912,
    MSG_CMSG_CLOEXEC___26 = 1073741824
} ;
enum __anonenum_617082774___26 {
    SCM_RIGHTS___26 = 1,
    SCM_CREDENTIALS___26 = 2
} ;
enum __anonenum_606441560___26 {
    SHUT_RD___26 = 0,
    SHUT_WR___26 = 1,
    SHUT_RDWR___26 = 2
} ;
enum __anonenum_681669233___26 {
    IPPROTO_IP___26 = 0,
    IPPROTO_ICMP___26 = 1,
    IPPROTO_IGMP___26 = 2,
    IPPROTO_IPIP___26 = 4,
    IPPROTO_TCP___26 = 6,
    IPPROTO_EGP___26 = 8,
    IPPROTO_PUP___26 = 12,
    IPPROTO_UDP___26 = 17,
    IPPROTO_IDP___26 = 22,
    IPPROTO_TP___26 = 29,
    IPPROTO_DCCP___26 = 33,
    IPPROTO_IPV6___26 = 41,
    IPPROTO_RSVP___26 = 46,
    IPPROTO_GRE___26 = 47,
    IPPROTO_ESP___26 = 50,
    IPPROTO_AH___26 = 51,
    IPPROTO_MTP___26 = 92,
    IPPROTO_BEETPH___26 = 94,
    IPPROTO_ENCAP___26 = 98,
    IPPROTO_PIM___26 = 103,
    IPPROTO_COMP___26 = 108,
    IPPROTO_SCTP___26 = 132,
    IPPROTO_UDPLITE___26 = 136,
    IPPROTO_MPLS___26 = 137,
    IPPROTO_RAW___26 = 255,
    IPPROTO_MAX___26 = 256
} ;
enum __anonenum_218739988___26 {
    IPPROTO_HOPOPTS___26 = 0,
    IPPROTO_ROUTING___26 = 43,
    IPPROTO_FRAGMENT___26 = 44,
    IPPROTO_ICMPV6___26 = 58,
    IPPROTO_NONE___26 = 59,
    IPPROTO_DSTOPTS___26 = 60,
    IPPROTO_MH___26 = 135
} ;
enum __anonenum_662268580___26 {
    IPPORT_ECHO___26 = 7,
    IPPORT_DISCARD___26 = 9,
    IPPORT_SYSTAT___26 = 11,
    IPPORT_DAYTIME___26 = 13,
    IPPORT_NETSTAT___26 = 15,
    IPPORT_FTP___26 = 21,
    IPPORT_TELNET___26 = 23,
    IPPORT_SMTP___26 = 25,
    IPPORT_TIMESERVER___26 = 37,
    IPPORT_NAMESERVER___26 = 42,
    IPPORT_WHOIS___26 = 43,
    IPPORT_MTP___26 = 57,
    IPPORT_TFTP___26 = 69,
    IPPORT_RJE___26 = 77,
    IPPORT_FINGER___26 = 79,
    IPPORT_TTYLINK___26 = 87,
    IPPORT_SUPDUP___26 = 95,
    IPPORT_EXECSERVER___26 = 512,
    IPPORT_LOGINSERVER___26 = 513,
    IPPORT_CMDSERVER___26 = 514,
    IPPORT_EFSSERVER___26 = 520,
    IPPORT_BIFFUDP___26 = 512,
    IPPORT_WHOSERVER___26 = 513,
    IPPORT_ROUTESERVER___26 = 520,
    IPPORT_RESERVED___26 = 1024,
    IPPORT_USERRESERVED___26 = 5000
} ;
enum __anonenum_788308992___26 {
    TCP_ESTABLISHED___26 = 1,
    TCP_SYN_SENT___26 = 2,
    TCP_SYN_RECV___26 = 3,
    TCP_FIN_WAIT1___26 = 4,
    TCP_FIN_WAIT2___26 = 5,
    TCP_TIME_WAIT___26 = 6,
    TCP_CLOSE___26 = 7,
    TCP_CLOSE_WAIT___26 = 8,
    TCP_LAST_ACK___26 = 9,
    TCP_LISTEN___26 = 10,
    TCP_CLOSING___26 = 11
} ;
enum __anonenum_221125648___26 {
    TCP_NO_QUEUE___26 = 0,
    TCP_RECV_QUEUE___26 = 1,
    TCP_SEND_QUEUE___26 = 2,
    TCP_QUEUES_NR___26 = 3
} ;
enum __anonenum_34415463___26 {
    PTHREAD_CREATE_JOINABLE___26 = 0,
    PTHREAD_CREATE_DETACHED___26 = 1
} ;
enum __anonenum_303612439___26 {
    PTHREAD_MUTEX_TIMED_NP___26 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___26 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___26 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___26 = 3,
    PTHREAD_MUTEX_NORMAL___26 = 0,
    PTHREAD_MUTEX_RECURSIVE___26 = 1,
    PTHREAD_MUTEX_ERRORCHECK___26 = 2,
    PTHREAD_MUTEX_DEFAULT___26 = 0,
    PTHREAD_MUTEX_FAST_NP___26 = 0
} ;
enum __anonenum_931900394___26 {
    PTHREAD_MUTEX_STALLED___26 = 0,
    PTHREAD_MUTEX_STALLED_NP___26 = 0,
    PTHREAD_MUTEX_ROBUST___26 = 1,
    PTHREAD_MUTEX_ROBUST_NP___26 = 1
} ;
enum __anonenum_205214487___26 {
    PTHREAD_PRIO_NONE___26 = 0,
    PTHREAD_PRIO_INHERIT___26 = 1,
    PTHREAD_PRIO_PROTECT___26 = 2
} ;
enum __anonenum_25043950___26 {
    PTHREAD_RWLOCK_PREFER_READER_NP___26 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___26 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___26 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___26 = 0
} ;
enum __anonenum_436439511___26 {
    PTHREAD_INHERIT_SCHED___26 = 0,
    PTHREAD_EXPLICIT_SCHED___26 = 1
} ;
enum __anonenum_998661166___26 {
    PTHREAD_SCOPE_SYSTEM___26 = 0,
    PTHREAD_SCOPE_PROCESS___26 = 1
} ;
enum __anonenum_146137331___26 {
    PTHREAD_PROCESS_PRIVATE___26 = 0,
    PTHREAD_PROCESS_SHARED___26 = 1
} ;
enum __anonenum_53396917___26 {
    PTHREAD_CANCEL_ENABLE___26 = 0,
    PTHREAD_CANCEL_DISABLE___26 = 1
} ;
enum __anonenum_904563783___26 {
    PTHREAD_CANCEL_DEFERRED___26 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___26 = 1
} ;
enum __anonenum_672052974___26 {
    SSL_CT_VALIDATION_PERMISSIVE___26 = 0,
    SSL_CT_VALIDATION_STRICT___26 = 1
} ;
enum __anonenum_34023289___0 {
    REMOTE_UNCONFIGURED___0 = 0,
    REMOTE_CONFIG___0 = 1,
    REMOTE_REMOTES___0 = 2,
    REMOTE_BRANCHES___0 = 3
} ;
struct tracking_name_data {
   char *src_ref ;
   char *dst_ref ;
   struct object_id *dst_oid ;
   int num_matches ;
   char const   *default_remote ;
   char *default_dst_ref ;
   struct object_id *default_dst_oid ;
};
enum __anonenum_437032235___27 {
    _PC_LINK_MAX___27 = 0,
    _PC_MAX_CANON___27 = 1,
    _PC_MAX_INPUT___27 = 2,
    _PC_NAME_MAX___27 = 3,
    _PC_PATH_MAX___27 = 4,
    _PC_PIPE_BUF___27 = 5,
    _PC_CHOWN_RESTRICTED___27 = 6,
    _PC_NO_TRUNC___27 = 7,
    _PC_VDISABLE___27 = 8,
    _PC_SYNC_IO___27 = 9,
    _PC_ASYNC_IO___27 = 10,
    _PC_PRIO_IO___27 = 11,
    _PC_SOCK_MAXBUF___27 = 12,
    _PC_FILESIZEBITS___27 = 13,
    _PC_REC_INCR_XFER_SIZE___27 = 14,
    _PC_REC_MAX_XFER_SIZE___27 = 15,
    _PC_REC_MIN_XFER_SIZE___27 = 16,
    _PC_REC_XFER_ALIGN___27 = 17,
    _PC_ALLOC_SIZE_MIN___27 = 18,
    _PC_SYMLINK_MAX___27 = 19,
    _PC_2_SYMLINKS___27 = 20
} ;
enum __anonenum_315186338___27 {
    _SC_ARG_MAX___27 = 0,
    _SC_CHILD_MAX___27 = 1,
    _SC_CLK_TCK___27 = 2,
    _SC_NGROUPS_MAX___27 = 3,
    _SC_OPEN_MAX___27 = 4,
    _SC_STREAM_MAX___27 = 5,
    _SC_TZNAME_MAX___27 = 6,
    _SC_JOB_CONTROL___27 = 7,
    _SC_SAVED_IDS___27 = 8,
    _SC_REALTIME_SIGNALS___27 = 9,
    _SC_PRIORITY_SCHEDULING___27 = 10,
    _SC_TIMERS___27 = 11,
    _SC_ASYNCHRONOUS_IO___27 = 12,
    _SC_PRIORITIZED_IO___27 = 13,
    _SC_SYNCHRONIZED_IO___27 = 14,
    _SC_FSYNC___27 = 15,
    _SC_MAPPED_FILES___27 = 16,
    _SC_MEMLOCK___27 = 17,
    _SC_MEMLOCK_RANGE___27 = 18,
    _SC_MEMORY_PROTECTION___27 = 19,
    _SC_MESSAGE_PASSING___27 = 20,
    _SC_SEMAPHORES___27 = 21,
    _SC_SHARED_MEMORY_OBJECTS___27 = 22,
    _SC_AIO_LISTIO_MAX___27 = 23,
    _SC_AIO_MAX___27 = 24,
    _SC_AIO_PRIO_DELTA_MAX___27 = 25,
    _SC_DELAYTIMER_MAX___27 = 26,
    _SC_MQ_OPEN_MAX___27 = 27,
    _SC_MQ_PRIO_MAX___27 = 28,
    _SC_VERSION___27 = 29,
    _SC_PAGESIZE___27 = 30,
    _SC_RTSIG_MAX___27 = 31,
    _SC_SEM_NSEMS_MAX___27 = 32,
    _SC_SEM_VALUE_MAX___27 = 33,
    _SC_SIGQUEUE_MAX___27 = 34,
    _SC_TIMER_MAX___27 = 35,
    _SC_BC_BASE_MAX___27 = 36,
    _SC_BC_DIM_MAX___27 = 37,
    _SC_BC_SCALE_MAX___27 = 38,
    _SC_BC_STRING_MAX___27 = 39,
    _SC_COLL_WEIGHTS_MAX___27 = 40,
    _SC_EQUIV_CLASS_MAX___27 = 41,
    _SC_EXPR_NEST_MAX___27 = 42,
    _SC_LINE_MAX___27 = 43,
    _SC_RE_DUP_MAX___27 = 44,
    _SC_CHARCLASS_NAME_MAX___27 = 45,
    _SC_2_VERSION___27 = 46,
    _SC_2_C_BIND___27 = 47,
    _SC_2_C_DEV___27 = 48,
    _SC_2_FORT_DEV___27 = 49,
    _SC_2_FORT_RUN___27 = 50,
    _SC_2_SW_DEV___27 = 51,
    _SC_2_LOCALEDEF___27 = 52,
    _SC_PII___27 = 53,
    _SC_PII_XTI___27 = 54,
    _SC_PII_SOCKET___27 = 55,
    _SC_PII_INTERNET___27 = 56,
    _SC_PII_OSI___27 = 57,
    _SC_POLL___27 = 58,
    _SC_SELECT___27 = 59,
    _SC_UIO_MAXIOV___27 = 60,
    _SC_IOV_MAX___27 = 60,
    _SC_PII_INTERNET_STREAM___27 = 61,
    _SC_PII_INTERNET_DGRAM___27 = 62,
    _SC_PII_OSI_COTS___27 = 63,
    _SC_PII_OSI_CLTS___27 = 64,
    _SC_PII_OSI_M___27 = 65,
    _SC_T_IOV_MAX___27 = 66,
    _SC_THREADS___27 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___27 = 68,
    _SC_GETGR_R_SIZE_MAX___27 = 69,
    _SC_GETPW_R_SIZE_MAX___27 = 70,
    _SC_LOGIN_NAME_MAX___27 = 71,
    _SC_TTY_NAME_MAX___27 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___27 = 73,
    _SC_THREAD_KEYS_MAX___27 = 74,
    _SC_THREAD_STACK_MIN___27 = 75,
    _SC_THREAD_THREADS_MAX___27 = 76,
    _SC_THREAD_ATTR_STACKADDR___27 = 77,
    _SC_THREAD_ATTR_STACKSIZE___27 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___27 = 79,
    _SC_THREAD_PRIO_INHERIT___27 = 80,
    _SC_THREAD_PRIO_PROTECT___27 = 81,
    _SC_THREAD_PROCESS_SHARED___27 = 82,
    _SC_NPROCESSORS_CONF___27 = 83,
    _SC_NPROCESSORS_ONLN___27 = 84,
    _SC_PHYS_PAGES___27 = 85,
    _SC_AVPHYS_PAGES___27 = 86,
    _SC_ATEXIT_MAX___27 = 87,
    _SC_PASS_MAX___27 = 88,
    _SC_XOPEN_VERSION___27 = 89,
    _SC_XOPEN_XCU_VERSION___27 = 90,
    _SC_XOPEN_UNIX___27 = 91,
    _SC_XOPEN_CRYPT___27 = 92,
    _SC_XOPEN_ENH_I18N___27 = 93,
    _SC_XOPEN_SHM___27 = 94,
    _SC_2_CHAR_TERM___27 = 95,
    _SC_2_C_VERSION___27 = 96,
    _SC_2_UPE___27 = 97,
    _SC_XOPEN_XPG2___27 = 98,
    _SC_XOPEN_XPG3___27 = 99,
    _SC_XOPEN_XPG4___27 = 100,
    _SC_CHAR_BIT___27 = 101,
    _SC_CHAR_MAX___27 = 102,
    _SC_CHAR_MIN___27 = 103,
    _SC_INT_MAX___27 = 104,
    _SC_INT_MIN___27 = 105,
    _SC_LONG_BIT___27 = 106,
    _SC_WORD_BIT___27 = 107,
    _SC_MB_LEN_MAX___27 = 108,
    _SC_NZERO___27 = 109,
    _SC_SSIZE_MAX___27 = 110,
    _SC_SCHAR_MAX___27 = 111,
    _SC_SCHAR_MIN___27 = 112,
    _SC_SHRT_MAX___27 = 113,
    _SC_SHRT_MIN___27 = 114,
    _SC_UCHAR_MAX___27 = 115,
    _SC_UINT_MAX___27 = 116,
    _SC_ULONG_MAX___27 = 117,
    _SC_USHRT_MAX___27 = 118,
    _SC_NL_ARGMAX___27 = 119,
    _SC_NL_LANGMAX___27 = 120,
    _SC_NL_MSGMAX___27 = 121,
    _SC_NL_NMAX___27 = 122,
    _SC_NL_SETMAX___27 = 123,
    _SC_NL_TEXTMAX___27 = 124,
    _SC_XBS5_ILP32_OFF32___27 = 125,
    _SC_XBS5_ILP32_OFFBIG___27 = 126,
    _SC_XBS5_LP64_OFF64___27 = 127,
    _SC_XBS5_LPBIG_OFFBIG___27 = 128,
    _SC_XOPEN_LEGACY___27 = 129,
    _SC_XOPEN_REALTIME___27 = 130,
    _SC_XOPEN_REALTIME_THREADS___27 = 131,
    _SC_ADVISORY_INFO___27 = 132,
    _SC_BARRIERS___27 = 133,
    _SC_BASE___27 = 134,
    _SC_C_LANG_SUPPORT___27 = 135,
    _SC_C_LANG_SUPPORT_R___27 = 136,
    _SC_CLOCK_SELECTION___27 = 137,
    _SC_CPUTIME___27 = 138,
    _SC_THREAD_CPUTIME___27 = 139,
    _SC_DEVICE_IO___27 = 140,
    _SC_DEVICE_SPECIFIC___27 = 141,
    _SC_DEVICE_SPECIFIC_R___27 = 142,
    _SC_FD_MGMT___27 = 143,
    _SC_FIFO___27 = 144,
    _SC_PIPE___27 = 145,
    _SC_FILE_ATTRIBUTES___27 = 146,
    _SC_FILE_LOCKING___27 = 147,
    _SC_FILE_SYSTEM___27 = 148,
    _SC_MONOTONIC_CLOCK___27 = 149,
    _SC_MULTI_PROCESS___27 = 150,
    _SC_SINGLE_PROCESS___27 = 151,
    _SC_NETWORKING___27 = 152,
    _SC_READER_WRITER_LOCKS___27 = 153,
    _SC_SPIN_LOCKS___27 = 154,
    _SC_REGEXP___27 = 155,
    _SC_REGEX_VERSION___27 = 156,
    _SC_SHELL___27 = 157,
    _SC_SIGNALS___27 = 158,
    _SC_SPAWN___27 = 159,
    _SC_SPORADIC_SERVER___27 = 160,
    _SC_THREAD_SPORADIC_SERVER___27 = 161,
    _SC_SYSTEM_DATABASE___27 = 162,
    _SC_SYSTEM_DATABASE_R___27 = 163,
    _SC_TIMEOUTS___27 = 164,
    _SC_TYPED_MEMORY_OBJECTS___27 = 165,
    _SC_USER_GROUPS___27 = 166,
    _SC_USER_GROUPS_R___27 = 167,
    _SC_2_PBS___27 = 168,
    _SC_2_PBS_ACCOUNTING___27 = 169,
    _SC_2_PBS_LOCATE___27 = 170,
    _SC_2_PBS_MESSAGE___27 = 171,
    _SC_2_PBS_TRACK___27 = 172,
    _SC_SYMLOOP_MAX___27 = 173,
    _SC_STREAMS___27 = 174,
    _SC_2_PBS_CHECKPOINT___27 = 175,
    _SC_V6_ILP32_OFF32___27 = 176,
    _SC_V6_ILP32_OFFBIG___27 = 177,
    _SC_V6_LP64_OFF64___27 = 178,
    _SC_V6_LPBIG_OFFBIG___27 = 179,
    _SC_HOST_NAME_MAX___27 = 180,
    _SC_TRACE___27 = 181,
    _SC_TRACE_EVENT_FILTER___27 = 182,
    _SC_TRACE_INHERIT___27 = 183,
    _SC_TRACE_LOG___27 = 184,
    _SC_LEVEL1_ICACHE_SIZE___27 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___27 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___27 = 187,
    _SC_LEVEL1_DCACHE_SIZE___27 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___27 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___27 = 190,
    _SC_LEVEL2_CACHE_SIZE___27 = 191,
    _SC_LEVEL2_CACHE_ASSOC___27 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___27 = 193,
    _SC_LEVEL3_CACHE_SIZE___27 = 194,
    _SC_LEVEL3_CACHE_ASSOC___27 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___27 = 196,
    _SC_LEVEL4_CACHE_SIZE___27 = 197,
    _SC_LEVEL4_CACHE_ASSOC___27 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___27 = 199,
    _SC_IPV6___27 = 235,
    _SC_RAW_SOCKETS___27 = 236,
    _SC_V7_ILP32_OFF32___27 = 237,
    _SC_V7_ILP32_OFFBIG___27 = 238,
    _SC_V7_LP64_OFF64___27 = 239,
    _SC_V7_LPBIG_OFFBIG___27 = 240,
    _SC_SS_REPL_MAX___27 = 241,
    _SC_TRACE_EVENT_NAME_MAX___27 = 242,
    _SC_TRACE_NAME_MAX___27 = 243,
    _SC_TRACE_SYS_MAX___27 = 244,
    _SC_TRACE_USER_EVENT_MAX___27 = 245,
    _SC_XOPEN_STREAMS___27 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___27 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___27 = 248
} ;
enum __anonenum_875524036___27 {
    _CS_PATH___27 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___27 = 1,
    _CS_GNU_LIBC_VERSION___27 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___27 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___27 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___27 = 5,
    _CS_LFS_CFLAGS___27 = 1000,
    _CS_LFS_LDFLAGS___27 = 1001,
    _CS_LFS_LIBS___27 = 1002,
    _CS_LFS_LINTFLAGS___27 = 1003,
    _CS_LFS64_CFLAGS___27 = 1004,
    _CS_LFS64_LDFLAGS___27 = 1005,
    _CS_LFS64_LIBS___27 = 1006,
    _CS_LFS64_LINTFLAGS___27 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___27 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___27 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___27 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___27 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___27 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___27 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___27 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___27 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___27 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___27 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___27 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___27 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___27 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___27 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___27 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___27 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___27 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___27 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___27 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___27 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___27 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___27 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___27 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___27 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___27 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___27 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___27 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___27 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___27 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___27 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___27 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___27 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___27 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___27 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___27 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___27 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___27 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___27 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___27 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___27 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___27 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___27 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___27 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___27 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___27 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___27 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___27 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___27 = 1147,
    _CS_V6_ENV___27 = 1148,
    _CS_V7_ENV___27 = 1149
} ;
enum __anonenum_513775621___27 {
    DT_UNKNOWN___27 = 0,
    DT_FIFO___27 = 1,
    DT_CHR___27 = 2,
    DT_DIR___27 = 4,
    DT_BLK___27 = 6,
    DT_REG___27 = 8,
    DT_LNK___27 = 10,
    DT_SOCK___27 = 12,
    DT_WHT___27 = 14
} ;
enum __anonenum_77002343___27 {
    SI_ASYNCNL___27 = -60,
    SI_TKILL___27 = -6,
    SI_SIGIO___27 = -5,
    SI_ASYNCIO___27 = -4,
    SI_MESGQ___27 = -3,
    SI_TIMER___27 = -2,
    SI_QUEUE___27 = -1,
    SI_USER___27 = 0,
    SI_KERNEL___27 = 128
} ;
enum __anonenum_131038172___27 {
    ILL_ILLOPC___27 = 1,
    ILL_ILLOPN___27 = 2,
    ILL_ILLADR___27 = 3,
    ILL_ILLTRP___27 = 4,
    ILL_PRVOPC___27 = 5,
    ILL_PRVREG___27 = 6,
    ILL_COPROC___27 = 7,
    ILL_BADSTK___27 = 8
} ;
enum __anonenum_452038093___27 {
    FPE_INTDIV___27 = 1,
    FPE_INTOVF___27 = 2,
    FPE_FLTDIV___27 = 3,
    FPE_FLTOVF___27 = 4,
    FPE_FLTUND___27 = 5,
    FPE_FLTRES___27 = 6,
    FPE_FLTINV___27 = 7,
    FPE_FLTSUB___27 = 8
} ;
enum __anonenum_30976155___27 {
    SEGV_MAPERR___27 = 1,
    SEGV_ACCERR___27 = 2,
    SEGV_BNDERR___27 = 3,
    SEGV_PKUERR___27 = 4
} ;
enum __anonenum_1036286214___27 {
    BUS_ADRALN___27 = 1,
    BUS_ADRERR___27 = 2,
    BUS_OBJERR___27 = 3,
    BUS_MCEERR_AR___27 = 4,
    BUS_MCEERR_AO___27 = 5
} ;
enum __anonenum_493465559___27 {
    TRAP_BRKPT___27 = 1,
    TRAP_TRACE___27 = 2
} ;
enum __anonenum_23175539___27 {
    CLD_EXITED___27 = 1,
    CLD_KILLED___27 = 2,
    CLD_DUMPED___27 = 3,
    CLD_TRAPPED___27 = 4,
    CLD_STOPPED___27 = 5,
    CLD_CONTINUED___27 = 6
} ;
enum __anonenum_111643124___27 {
    POLL_IN___27 = 1,
    POLL_OUT___27 = 2,
    POLL_MSG___27 = 3,
    POLL_ERR___27 = 4,
    POLL_PRI___27 = 5,
    POLL_HUP___27 = 6
} ;
enum __anonenum_852341087___27 {
    SIGEV_SIGNAL___27 = 0,
    SIGEV_NONE___27 = 1,
    SIGEV_THREAD___27 = 2,
    SIGEV_THREAD_ID___27 = 4
} ;
enum __anonenum_451154152___27 {
    REG_R8___27 = 0,
    REG_R9___27 = 1,
    REG_R10___27 = 2,
    REG_R11___27 = 3,
    REG_R12___27 = 4,
    REG_R13___27 = 5,
    REG_R14___27 = 6,
    REG_R15___27 = 7,
    REG_RDI___27 = 8,
    REG_RSI___27 = 9,
    REG_RBP___27 = 10,
    REG_RBX___27 = 11,
    REG_RDX___27 = 12,
    REG_RAX___27 = 13,
    REG_RCX___27 = 14,
    REG_RSP___27 = 15,
    REG_RIP___27 = 16,
    REG_EFL___27 = 17,
    REG_CSGSFS___27 = 18,
    REG_ERR___27 = 19,
    REG_TRAPNO___27 = 20,
    REG_OLDMASK___27 = 21,
    REG_CR2___27 = 22
} ;
enum __anonenum_57186863___27 {
    SS_ONSTACK___27 = 1,
    SS_DISABLE___27 = 2
} ;
enum __anonenum_83571709___27 {
    MSG_OOB___27 = 1,
    MSG_PEEK___27 = 2,
    MSG_DONTROUTE___27 = 4,
    MSG_TRYHARD___27 = 4,
    MSG_CTRUNC___27 = 8,
    MSG_PROXY___27 = 16,
    MSG_TRUNC___27 = 32,
    MSG_DONTWAIT___27 = 64,
    MSG_EOR___27 = 128,
    MSG_WAITALL___27 = 256,
    MSG_FIN___27 = 512,
    MSG_SYN___27 = 1024,
    MSG_CONFIRM___27 = 2048,
    MSG_RST___27 = 4096,
    MSG_ERRQUEUE___27 = 8192,
    MSG_NOSIGNAL___27 = 16384,
    MSG_MORE___27 = 32768,
    MSG_WAITFORONE___27 = 65536,
    MSG_BATCH___27 = 262144,
    MSG_ZEROCOPY___27 = 67108864,
    MSG_FASTOPEN___27 = 536870912,
    MSG_CMSG_CLOEXEC___27 = 1073741824
} ;
enum __anonenum_617082774___27 {
    SCM_RIGHTS___27 = 1,
    SCM_CREDENTIALS___27 = 2
} ;
enum __anonenum_606441560___27 {
    SHUT_RD___27 = 0,
    SHUT_WR___27 = 1,
    SHUT_RDWR___27 = 2
} ;
enum __anonenum_681669233___27 {
    IPPROTO_IP___27 = 0,
    IPPROTO_ICMP___27 = 1,
    IPPROTO_IGMP___27 = 2,
    IPPROTO_IPIP___27 = 4,
    IPPROTO_TCP___27 = 6,
    IPPROTO_EGP___27 = 8,
    IPPROTO_PUP___27 = 12,
    IPPROTO_UDP___27 = 17,
    IPPROTO_IDP___27 = 22,
    IPPROTO_TP___27 = 29,
    IPPROTO_DCCP___27 = 33,
    IPPROTO_IPV6___27 = 41,
    IPPROTO_RSVP___27 = 46,
    IPPROTO_GRE___27 = 47,
    IPPROTO_ESP___27 = 50,
    IPPROTO_AH___27 = 51,
    IPPROTO_MTP___27 = 92,
    IPPROTO_BEETPH___27 = 94,
    IPPROTO_ENCAP___27 = 98,
    IPPROTO_PIM___27 = 103,
    IPPROTO_COMP___27 = 108,
    IPPROTO_SCTP___27 = 132,
    IPPROTO_UDPLITE___27 = 136,
    IPPROTO_MPLS___27 = 137,
    IPPROTO_RAW___27 = 255,
    IPPROTO_MAX___27 = 256
} ;
enum __anonenum_218739988___27 {
    IPPROTO_HOPOPTS___27 = 0,
    IPPROTO_ROUTING___27 = 43,
    IPPROTO_FRAGMENT___27 = 44,
    IPPROTO_ICMPV6___27 = 58,
    IPPROTO_NONE___27 = 59,
    IPPROTO_DSTOPTS___27 = 60,
    IPPROTO_MH___27 = 135
} ;
enum __anonenum_662268580___27 {
    IPPORT_ECHO___27 = 7,
    IPPORT_DISCARD___27 = 9,
    IPPORT_SYSTAT___27 = 11,
    IPPORT_DAYTIME___27 = 13,
    IPPORT_NETSTAT___27 = 15,
    IPPORT_FTP___27 = 21,
    IPPORT_TELNET___27 = 23,
    IPPORT_SMTP___27 = 25,
    IPPORT_TIMESERVER___27 = 37,
    IPPORT_NAMESERVER___27 = 42,
    IPPORT_WHOIS___27 = 43,
    IPPORT_MTP___27 = 57,
    IPPORT_TFTP___27 = 69,
    IPPORT_RJE___27 = 77,
    IPPORT_FINGER___27 = 79,
    IPPORT_TTYLINK___27 = 87,
    IPPORT_SUPDUP___27 = 95,
    IPPORT_EXECSERVER___27 = 512,
    IPPORT_LOGINSERVER___27 = 513,
    IPPORT_CMDSERVER___27 = 514,
    IPPORT_EFSSERVER___27 = 520,
    IPPORT_BIFFUDP___27 = 512,
    IPPORT_WHOSERVER___27 = 513,
    IPPORT_ROUTESERVER___27 = 520,
    IPPORT_RESERVED___27 = 1024,
    IPPORT_USERRESERVED___27 = 5000
} ;
enum __anonenum_788308992___27 {
    TCP_ESTABLISHED___27 = 1,
    TCP_SYN_SENT___27 = 2,
    TCP_SYN_RECV___27 = 3,
    TCP_FIN_WAIT1___27 = 4,
    TCP_FIN_WAIT2___27 = 5,
    TCP_TIME_WAIT___27 = 6,
    TCP_CLOSE___27 = 7,
    TCP_CLOSE_WAIT___27 = 8,
    TCP_LAST_ACK___27 = 9,
    TCP_LISTEN___27 = 10,
    TCP_CLOSING___27 = 11
} ;
enum __anonenum_221125648___27 {
    TCP_NO_QUEUE___27 = 0,
    TCP_RECV_QUEUE___27 = 1,
    TCP_SEND_QUEUE___27 = 2,
    TCP_QUEUES_NR___27 = 3
} ;
enum __anonenum_34415463___27 {
    PTHREAD_CREATE_JOINABLE___27 = 0,
    PTHREAD_CREATE_DETACHED___27 = 1
} ;
enum __anonenum_303612439___27 {
    PTHREAD_MUTEX_TIMED_NP___27 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___27 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___27 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___27 = 3,
    PTHREAD_MUTEX_NORMAL___27 = 0,
    PTHREAD_MUTEX_RECURSIVE___27 = 1,
    PTHREAD_MUTEX_ERRORCHECK___27 = 2,
    PTHREAD_MUTEX_DEFAULT___27 = 0,
    PTHREAD_MUTEX_FAST_NP___27 = 0
} ;
enum __anonenum_931900394___27 {
    PTHREAD_MUTEX_STALLED___27 = 0,
    PTHREAD_MUTEX_STALLED_NP___27 = 0,
    PTHREAD_MUTEX_ROBUST___27 = 1,
    PTHREAD_MUTEX_ROBUST_NP___27 = 1
} ;
enum __anonenum_205214487___27 {
    PTHREAD_PRIO_NONE___27 = 0,
    PTHREAD_PRIO_INHERIT___27 = 1,
    PTHREAD_PRIO_PROTECT___27 = 2
} ;
enum __anonenum_25043950___27 {
    PTHREAD_RWLOCK_PREFER_READER_NP___27 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___27 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___27 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___27 = 0
} ;
enum __anonenum_436439511___27 {
    PTHREAD_INHERIT_SCHED___27 = 0,
    PTHREAD_EXPLICIT_SCHED___27 = 1
} ;
enum __anonenum_998661166___27 {
    PTHREAD_SCOPE_SYSTEM___27 = 0,
    PTHREAD_SCOPE_PROCESS___27 = 1
} ;
enum __anonenum_146137331___27 {
    PTHREAD_PROCESS_PRIVATE___27 = 0,
    PTHREAD_PROCESS_SHARED___27 = 1
} ;
enum __anonenum_53396917___27 {
    PTHREAD_CANCEL_ENABLE___27 = 0,
    PTHREAD_CANCEL_DISABLE___27 = 1
} ;
enum __anonenum_904563783___27 {
    PTHREAD_CANCEL_DEFERRED___27 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___27 = 1
} ;
enum __anonenum_672052974___27 {
    SSL_CT_VALIDATION_PERMISSIVE___27 = 0,
    SSL_CT_VALIDATION_STRICT___27 = 1
} ;
struct chunkfile ;
typedef int (*chunk_write_fn)(struct hashfile *f , void *data );
typedef int (*chunk_read_fn)(unsigned char const   *chunk_start , size_t chunk_size ,
                             void *data );
struct chunk_info {
   uint32_t id ;
   uint64_t size ;
   int (*write_fn)(struct hashfile *f , void *data ) ;
   void const   *start ;
};
struct chunkfile {
   struct hashfile *f ;
   struct chunk_info *chunks ;
   size_t chunks_nr ;
   size_t chunks_alloc ;
};
enum __anonenum_437032235___28 {
    _PC_LINK_MAX___28 = 0,
    _PC_MAX_CANON___28 = 1,
    _PC_MAX_INPUT___28 = 2,
    _PC_NAME_MAX___28 = 3,
    _PC_PATH_MAX___28 = 4,
    _PC_PIPE_BUF___28 = 5,
    _PC_CHOWN_RESTRICTED___28 = 6,
    _PC_NO_TRUNC___28 = 7,
    _PC_VDISABLE___28 = 8,
    _PC_SYNC_IO___28 = 9,
    _PC_ASYNC_IO___28 = 10,
    _PC_PRIO_IO___28 = 11,
    _PC_SOCK_MAXBUF___28 = 12,
    _PC_FILESIZEBITS___28 = 13,
    _PC_REC_INCR_XFER_SIZE___28 = 14,
    _PC_REC_MAX_XFER_SIZE___28 = 15,
    _PC_REC_MIN_XFER_SIZE___28 = 16,
    _PC_REC_XFER_ALIGN___28 = 17,
    _PC_ALLOC_SIZE_MIN___28 = 18,
    _PC_SYMLINK_MAX___28 = 19,
    _PC_2_SYMLINKS___28 = 20
} ;
enum __anonenum_315186338___28 {
    _SC_ARG_MAX___28 = 0,
    _SC_CHILD_MAX___28 = 1,
    _SC_CLK_TCK___28 = 2,
    _SC_NGROUPS_MAX___28 = 3,
    _SC_OPEN_MAX___28 = 4,
    _SC_STREAM_MAX___28 = 5,
    _SC_TZNAME_MAX___28 = 6,
    _SC_JOB_CONTROL___28 = 7,
    _SC_SAVED_IDS___28 = 8,
    _SC_REALTIME_SIGNALS___28 = 9,
    _SC_PRIORITY_SCHEDULING___28 = 10,
    _SC_TIMERS___28 = 11,
    _SC_ASYNCHRONOUS_IO___28 = 12,
    _SC_PRIORITIZED_IO___28 = 13,
    _SC_SYNCHRONIZED_IO___28 = 14,
    _SC_FSYNC___28 = 15,
    _SC_MAPPED_FILES___28 = 16,
    _SC_MEMLOCK___28 = 17,
    _SC_MEMLOCK_RANGE___28 = 18,
    _SC_MEMORY_PROTECTION___28 = 19,
    _SC_MESSAGE_PASSING___28 = 20,
    _SC_SEMAPHORES___28 = 21,
    _SC_SHARED_MEMORY_OBJECTS___28 = 22,
    _SC_AIO_LISTIO_MAX___28 = 23,
    _SC_AIO_MAX___28 = 24,
    _SC_AIO_PRIO_DELTA_MAX___28 = 25,
    _SC_DELAYTIMER_MAX___28 = 26,
    _SC_MQ_OPEN_MAX___28 = 27,
    _SC_MQ_PRIO_MAX___28 = 28,
    _SC_VERSION___28 = 29,
    _SC_PAGESIZE___28 = 30,
    _SC_RTSIG_MAX___28 = 31,
    _SC_SEM_NSEMS_MAX___28 = 32,
    _SC_SEM_VALUE_MAX___28 = 33,
    _SC_SIGQUEUE_MAX___28 = 34,
    _SC_TIMER_MAX___28 = 35,
    _SC_BC_BASE_MAX___28 = 36,
    _SC_BC_DIM_MAX___28 = 37,
    _SC_BC_SCALE_MAX___28 = 38,
    _SC_BC_STRING_MAX___28 = 39,
    _SC_COLL_WEIGHTS_MAX___28 = 40,
    _SC_EQUIV_CLASS_MAX___28 = 41,
    _SC_EXPR_NEST_MAX___28 = 42,
    _SC_LINE_MAX___28 = 43,
    _SC_RE_DUP_MAX___28 = 44,
    _SC_CHARCLASS_NAME_MAX___28 = 45,
    _SC_2_VERSION___28 = 46,
    _SC_2_C_BIND___28 = 47,
    _SC_2_C_DEV___28 = 48,
    _SC_2_FORT_DEV___28 = 49,
    _SC_2_FORT_RUN___28 = 50,
    _SC_2_SW_DEV___28 = 51,
    _SC_2_LOCALEDEF___28 = 52,
    _SC_PII___28 = 53,
    _SC_PII_XTI___28 = 54,
    _SC_PII_SOCKET___28 = 55,
    _SC_PII_INTERNET___28 = 56,
    _SC_PII_OSI___28 = 57,
    _SC_POLL___28 = 58,
    _SC_SELECT___28 = 59,
    _SC_UIO_MAXIOV___28 = 60,
    _SC_IOV_MAX___28 = 60,
    _SC_PII_INTERNET_STREAM___28 = 61,
    _SC_PII_INTERNET_DGRAM___28 = 62,
    _SC_PII_OSI_COTS___28 = 63,
    _SC_PII_OSI_CLTS___28 = 64,
    _SC_PII_OSI_M___28 = 65,
    _SC_T_IOV_MAX___28 = 66,
    _SC_THREADS___28 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___28 = 68,
    _SC_GETGR_R_SIZE_MAX___28 = 69,
    _SC_GETPW_R_SIZE_MAX___28 = 70,
    _SC_LOGIN_NAME_MAX___28 = 71,
    _SC_TTY_NAME_MAX___28 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___28 = 73,
    _SC_THREAD_KEYS_MAX___28 = 74,
    _SC_THREAD_STACK_MIN___28 = 75,
    _SC_THREAD_THREADS_MAX___28 = 76,
    _SC_THREAD_ATTR_STACKADDR___28 = 77,
    _SC_THREAD_ATTR_STACKSIZE___28 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___28 = 79,
    _SC_THREAD_PRIO_INHERIT___28 = 80,
    _SC_THREAD_PRIO_PROTECT___28 = 81,
    _SC_THREAD_PROCESS_SHARED___28 = 82,
    _SC_NPROCESSORS_CONF___28 = 83,
    _SC_NPROCESSORS_ONLN___28 = 84,
    _SC_PHYS_PAGES___28 = 85,
    _SC_AVPHYS_PAGES___28 = 86,
    _SC_ATEXIT_MAX___28 = 87,
    _SC_PASS_MAX___28 = 88,
    _SC_XOPEN_VERSION___28 = 89,
    _SC_XOPEN_XCU_VERSION___28 = 90,
    _SC_XOPEN_UNIX___28 = 91,
    _SC_XOPEN_CRYPT___28 = 92,
    _SC_XOPEN_ENH_I18N___28 = 93,
    _SC_XOPEN_SHM___28 = 94,
    _SC_2_CHAR_TERM___28 = 95,
    _SC_2_C_VERSION___28 = 96,
    _SC_2_UPE___28 = 97,
    _SC_XOPEN_XPG2___28 = 98,
    _SC_XOPEN_XPG3___28 = 99,
    _SC_XOPEN_XPG4___28 = 100,
    _SC_CHAR_BIT___28 = 101,
    _SC_CHAR_MAX___28 = 102,
    _SC_CHAR_MIN___28 = 103,
    _SC_INT_MAX___28 = 104,
    _SC_INT_MIN___28 = 105,
    _SC_LONG_BIT___28 = 106,
    _SC_WORD_BIT___28 = 107,
    _SC_MB_LEN_MAX___28 = 108,
    _SC_NZERO___28 = 109,
    _SC_SSIZE_MAX___28 = 110,
    _SC_SCHAR_MAX___28 = 111,
    _SC_SCHAR_MIN___28 = 112,
    _SC_SHRT_MAX___28 = 113,
    _SC_SHRT_MIN___28 = 114,
    _SC_UCHAR_MAX___28 = 115,
    _SC_UINT_MAX___28 = 116,
    _SC_ULONG_MAX___28 = 117,
    _SC_USHRT_MAX___28 = 118,
    _SC_NL_ARGMAX___28 = 119,
    _SC_NL_LANGMAX___28 = 120,
    _SC_NL_MSGMAX___28 = 121,
    _SC_NL_NMAX___28 = 122,
    _SC_NL_SETMAX___28 = 123,
    _SC_NL_TEXTMAX___28 = 124,
    _SC_XBS5_ILP32_OFF32___28 = 125,
    _SC_XBS5_ILP32_OFFBIG___28 = 126,
    _SC_XBS5_LP64_OFF64___28 = 127,
    _SC_XBS5_LPBIG_OFFBIG___28 = 128,
    _SC_XOPEN_LEGACY___28 = 129,
    _SC_XOPEN_REALTIME___28 = 130,
    _SC_XOPEN_REALTIME_THREADS___28 = 131,
    _SC_ADVISORY_INFO___28 = 132,
    _SC_BARRIERS___28 = 133,
    _SC_BASE___28 = 134,
    _SC_C_LANG_SUPPORT___28 = 135,
    _SC_C_LANG_SUPPORT_R___28 = 136,
    _SC_CLOCK_SELECTION___28 = 137,
    _SC_CPUTIME___28 = 138,
    _SC_THREAD_CPUTIME___28 = 139,
    _SC_DEVICE_IO___28 = 140,
    _SC_DEVICE_SPECIFIC___28 = 141,
    _SC_DEVICE_SPECIFIC_R___28 = 142,
    _SC_FD_MGMT___28 = 143,
    _SC_FIFO___28 = 144,
    _SC_PIPE___28 = 145,
    _SC_FILE_ATTRIBUTES___28 = 146,
    _SC_FILE_LOCKING___28 = 147,
    _SC_FILE_SYSTEM___28 = 148,
    _SC_MONOTONIC_CLOCK___28 = 149,
    _SC_MULTI_PROCESS___28 = 150,
    _SC_SINGLE_PROCESS___28 = 151,
    _SC_NETWORKING___28 = 152,
    _SC_READER_WRITER_LOCKS___28 = 153,
    _SC_SPIN_LOCKS___28 = 154,
    _SC_REGEXP___28 = 155,
    _SC_REGEX_VERSION___28 = 156,
    _SC_SHELL___28 = 157,
    _SC_SIGNALS___28 = 158,
    _SC_SPAWN___28 = 159,
    _SC_SPORADIC_SERVER___28 = 160,
    _SC_THREAD_SPORADIC_SERVER___28 = 161,
    _SC_SYSTEM_DATABASE___28 = 162,
    _SC_SYSTEM_DATABASE_R___28 = 163,
    _SC_TIMEOUTS___28 = 164,
    _SC_TYPED_MEMORY_OBJECTS___28 = 165,
    _SC_USER_GROUPS___28 = 166,
    _SC_USER_GROUPS_R___28 = 167,
    _SC_2_PBS___28 = 168,
    _SC_2_PBS_ACCOUNTING___28 = 169,
    _SC_2_PBS_LOCATE___28 = 170,
    _SC_2_PBS_MESSAGE___28 = 171,
    _SC_2_PBS_TRACK___28 = 172,
    _SC_SYMLOOP_MAX___28 = 173,
    _SC_STREAMS___28 = 174,
    _SC_2_PBS_CHECKPOINT___28 = 175,
    _SC_V6_ILP32_OFF32___28 = 176,
    _SC_V6_ILP32_OFFBIG___28 = 177,
    _SC_V6_LP64_OFF64___28 = 178,
    _SC_V6_LPBIG_OFFBIG___28 = 179,
    _SC_HOST_NAME_MAX___28 = 180,
    _SC_TRACE___28 = 181,
    _SC_TRACE_EVENT_FILTER___28 = 182,
    _SC_TRACE_INHERIT___28 = 183,
    _SC_TRACE_LOG___28 = 184,
    _SC_LEVEL1_ICACHE_SIZE___28 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___28 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___28 = 187,
    _SC_LEVEL1_DCACHE_SIZE___28 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___28 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___28 = 190,
    _SC_LEVEL2_CACHE_SIZE___28 = 191,
    _SC_LEVEL2_CACHE_ASSOC___28 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___28 = 193,
    _SC_LEVEL3_CACHE_SIZE___28 = 194,
    _SC_LEVEL3_CACHE_ASSOC___28 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___28 = 196,
    _SC_LEVEL4_CACHE_SIZE___28 = 197,
    _SC_LEVEL4_CACHE_ASSOC___28 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___28 = 199,
    _SC_IPV6___28 = 235,
    _SC_RAW_SOCKETS___28 = 236,
    _SC_V7_ILP32_OFF32___28 = 237,
    _SC_V7_ILP32_OFFBIG___28 = 238,
    _SC_V7_LP64_OFF64___28 = 239,
    _SC_V7_LPBIG_OFFBIG___28 = 240,
    _SC_SS_REPL_MAX___28 = 241,
    _SC_TRACE_EVENT_NAME_MAX___28 = 242,
    _SC_TRACE_NAME_MAX___28 = 243,
    _SC_TRACE_SYS_MAX___28 = 244,
    _SC_TRACE_USER_EVENT_MAX___28 = 245,
    _SC_XOPEN_STREAMS___28 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___28 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___28 = 248
} ;
enum __anonenum_875524036___28 {
    _CS_PATH___28 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___28 = 1,
    _CS_GNU_LIBC_VERSION___28 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___28 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___28 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___28 = 5,
    _CS_LFS_CFLAGS___28 = 1000,
    _CS_LFS_LDFLAGS___28 = 1001,
    _CS_LFS_LIBS___28 = 1002,
    _CS_LFS_LINTFLAGS___28 = 1003,
    _CS_LFS64_CFLAGS___28 = 1004,
    _CS_LFS64_LDFLAGS___28 = 1005,
    _CS_LFS64_LIBS___28 = 1006,
    _CS_LFS64_LINTFLAGS___28 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___28 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___28 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___28 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___28 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___28 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___28 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___28 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___28 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___28 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___28 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___28 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___28 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___28 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___28 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___28 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___28 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___28 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___28 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___28 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___28 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___28 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___28 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___28 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___28 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___28 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___28 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___28 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___28 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___28 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___28 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___28 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___28 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___28 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___28 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___28 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___28 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___28 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___28 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___28 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___28 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___28 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___28 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___28 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___28 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___28 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___28 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___28 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___28 = 1147,
    _CS_V6_ENV___28 = 1148,
    _CS_V7_ENV___28 = 1149
} ;
enum __anonenum_513775621___28 {
    DT_UNKNOWN___28 = 0,
    DT_FIFO___28 = 1,
    DT_CHR___28 = 2,
    DT_DIR___28 = 4,
    DT_BLK___28 = 6,
    DT_REG___28 = 8,
    DT_LNK___28 = 10,
    DT_SOCK___28 = 12,
    DT_WHT___28 = 14
} ;
enum __anonenum_77002343___28 {
    SI_ASYNCNL___28 = -60,
    SI_TKILL___28 = -6,
    SI_SIGIO___28 = -5,
    SI_ASYNCIO___28 = -4,
    SI_MESGQ___28 = -3,
    SI_TIMER___28 = -2,
    SI_QUEUE___28 = -1,
    SI_USER___28 = 0,
    SI_KERNEL___28 = 128
} ;
enum __anonenum_131038172___28 {
    ILL_ILLOPC___28 = 1,
    ILL_ILLOPN___28 = 2,
    ILL_ILLADR___28 = 3,
    ILL_ILLTRP___28 = 4,
    ILL_PRVOPC___28 = 5,
    ILL_PRVREG___28 = 6,
    ILL_COPROC___28 = 7,
    ILL_BADSTK___28 = 8
} ;
enum __anonenum_452038093___28 {
    FPE_INTDIV___28 = 1,
    FPE_INTOVF___28 = 2,
    FPE_FLTDIV___28 = 3,
    FPE_FLTOVF___28 = 4,
    FPE_FLTUND___28 = 5,
    FPE_FLTRES___28 = 6,
    FPE_FLTINV___28 = 7,
    FPE_FLTSUB___28 = 8
} ;
enum __anonenum_30976155___28 {
    SEGV_MAPERR___28 = 1,
    SEGV_ACCERR___28 = 2,
    SEGV_BNDERR___28 = 3,
    SEGV_PKUERR___28 = 4
} ;
enum __anonenum_1036286214___28 {
    BUS_ADRALN___28 = 1,
    BUS_ADRERR___28 = 2,
    BUS_OBJERR___28 = 3,
    BUS_MCEERR_AR___28 = 4,
    BUS_MCEERR_AO___28 = 5
} ;
enum __anonenum_493465559___28 {
    TRAP_BRKPT___28 = 1,
    TRAP_TRACE___28 = 2
} ;
enum __anonenum_23175539___28 {
    CLD_EXITED___28 = 1,
    CLD_KILLED___28 = 2,
    CLD_DUMPED___28 = 3,
    CLD_TRAPPED___28 = 4,
    CLD_STOPPED___28 = 5,
    CLD_CONTINUED___28 = 6
} ;
enum __anonenum_111643124___28 {
    POLL_IN___28 = 1,
    POLL_OUT___28 = 2,
    POLL_MSG___28 = 3,
    POLL_ERR___28 = 4,
    POLL_PRI___28 = 5,
    POLL_HUP___28 = 6
} ;
enum __anonenum_852341087___28 {
    SIGEV_SIGNAL___28 = 0,
    SIGEV_NONE___28 = 1,
    SIGEV_THREAD___28 = 2,
    SIGEV_THREAD_ID___28 = 4
} ;
enum __anonenum_451154152___28 {
    REG_R8___28 = 0,
    REG_R9___28 = 1,
    REG_R10___28 = 2,
    REG_R11___28 = 3,
    REG_R12___28 = 4,
    REG_R13___28 = 5,
    REG_R14___28 = 6,
    REG_R15___28 = 7,
    REG_RDI___28 = 8,
    REG_RSI___28 = 9,
    REG_RBP___28 = 10,
    REG_RBX___28 = 11,
    REG_RDX___28 = 12,
    REG_RAX___28 = 13,
    REG_RCX___28 = 14,
    REG_RSP___28 = 15,
    REG_RIP___28 = 16,
    REG_EFL___28 = 17,
    REG_CSGSFS___28 = 18,
    REG_ERR___28 = 19,
    REG_TRAPNO___28 = 20,
    REG_OLDMASK___28 = 21,
    REG_CR2___28 = 22
} ;
enum __anonenum_57186863___28 {
    SS_ONSTACK___28 = 1,
    SS_DISABLE___28 = 2
} ;
enum __anonenum_83571709___28 {
    MSG_OOB___28 = 1,
    MSG_PEEK___28 = 2,
    MSG_DONTROUTE___28 = 4,
    MSG_TRYHARD___28 = 4,
    MSG_CTRUNC___28 = 8,
    MSG_PROXY___28 = 16,
    MSG_TRUNC___28 = 32,
    MSG_DONTWAIT___28 = 64,
    MSG_EOR___28 = 128,
    MSG_WAITALL___28 = 256,
    MSG_FIN___28 = 512,
    MSG_SYN___28 = 1024,
    MSG_CONFIRM___28 = 2048,
    MSG_RST___28 = 4096,
    MSG_ERRQUEUE___28 = 8192,
    MSG_NOSIGNAL___28 = 16384,
    MSG_MORE___28 = 32768,
    MSG_WAITFORONE___28 = 65536,
    MSG_BATCH___28 = 262144,
    MSG_ZEROCOPY___28 = 67108864,
    MSG_FASTOPEN___28 = 536870912,
    MSG_CMSG_CLOEXEC___28 = 1073741824
} ;
enum __anonenum_617082774___28 {
    SCM_RIGHTS___28 = 1,
    SCM_CREDENTIALS___28 = 2
} ;
enum __anonenum_606441560___28 {
    SHUT_RD___28 = 0,
    SHUT_WR___28 = 1,
    SHUT_RDWR___28 = 2
} ;
enum __anonenum_681669233___28 {
    IPPROTO_IP___28 = 0,
    IPPROTO_ICMP___28 = 1,
    IPPROTO_IGMP___28 = 2,
    IPPROTO_IPIP___28 = 4,
    IPPROTO_TCP___28 = 6,
    IPPROTO_EGP___28 = 8,
    IPPROTO_PUP___28 = 12,
    IPPROTO_UDP___28 = 17,
    IPPROTO_IDP___28 = 22,
    IPPROTO_TP___28 = 29,
    IPPROTO_DCCP___28 = 33,
    IPPROTO_IPV6___28 = 41,
    IPPROTO_RSVP___28 = 46,
    IPPROTO_GRE___28 = 47,
    IPPROTO_ESP___28 = 50,
    IPPROTO_AH___28 = 51,
    IPPROTO_MTP___28 = 92,
    IPPROTO_BEETPH___28 = 94,
    IPPROTO_ENCAP___28 = 98,
    IPPROTO_PIM___28 = 103,
    IPPROTO_COMP___28 = 108,
    IPPROTO_SCTP___28 = 132,
    IPPROTO_UDPLITE___28 = 136,
    IPPROTO_MPLS___28 = 137,
    IPPROTO_RAW___28 = 255,
    IPPROTO_MAX___28 = 256
} ;
enum __anonenum_218739988___28 {
    IPPROTO_HOPOPTS___28 = 0,
    IPPROTO_ROUTING___28 = 43,
    IPPROTO_FRAGMENT___28 = 44,
    IPPROTO_ICMPV6___28 = 58,
    IPPROTO_NONE___28 = 59,
    IPPROTO_DSTOPTS___28 = 60,
    IPPROTO_MH___28 = 135
} ;
enum __anonenum_662268580___28 {
    IPPORT_ECHO___28 = 7,
    IPPORT_DISCARD___28 = 9,
    IPPORT_SYSTAT___28 = 11,
    IPPORT_DAYTIME___28 = 13,
    IPPORT_NETSTAT___28 = 15,
    IPPORT_FTP___28 = 21,
    IPPORT_TELNET___28 = 23,
    IPPORT_SMTP___28 = 25,
    IPPORT_TIMESERVER___28 = 37,
    IPPORT_NAMESERVER___28 = 42,
    IPPORT_WHOIS___28 = 43,
    IPPORT_MTP___28 = 57,
    IPPORT_TFTP___28 = 69,
    IPPORT_RJE___28 = 77,
    IPPORT_FINGER___28 = 79,
    IPPORT_TTYLINK___28 = 87,
    IPPORT_SUPDUP___28 = 95,
    IPPORT_EXECSERVER___28 = 512,
    IPPORT_LOGINSERVER___28 = 513,
    IPPORT_CMDSERVER___28 = 514,
    IPPORT_EFSSERVER___28 = 520,
    IPPORT_BIFFUDP___28 = 512,
    IPPORT_WHOSERVER___28 = 513,
    IPPORT_ROUTESERVER___28 = 520,
    IPPORT_RESERVED___28 = 1024,
    IPPORT_USERRESERVED___28 = 5000
} ;
enum __anonenum_788308992___28 {
    TCP_ESTABLISHED___28 = 1,
    TCP_SYN_SENT___28 = 2,
    TCP_SYN_RECV___28 = 3,
    TCP_FIN_WAIT1___28 = 4,
    TCP_FIN_WAIT2___28 = 5,
    TCP_TIME_WAIT___28 = 6,
    TCP_CLOSE___28 = 7,
    TCP_CLOSE_WAIT___28 = 8,
    TCP_LAST_ACK___28 = 9,
    TCP_LISTEN___28 = 10,
    TCP_CLOSING___28 = 11
} ;
enum __anonenum_221125648___28 {
    TCP_NO_QUEUE___28 = 0,
    TCP_RECV_QUEUE___28 = 1,
    TCP_SEND_QUEUE___28 = 2,
    TCP_QUEUES_NR___28 = 3
} ;
enum __anonenum_34415463___28 {
    PTHREAD_CREATE_JOINABLE___28 = 0,
    PTHREAD_CREATE_DETACHED___28 = 1
} ;
enum __anonenum_303612439___28 {
    PTHREAD_MUTEX_TIMED_NP___28 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___28 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___28 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___28 = 3,
    PTHREAD_MUTEX_NORMAL___28 = 0,
    PTHREAD_MUTEX_RECURSIVE___28 = 1,
    PTHREAD_MUTEX_ERRORCHECK___28 = 2,
    PTHREAD_MUTEX_DEFAULT___28 = 0,
    PTHREAD_MUTEX_FAST_NP___28 = 0
} ;
enum __anonenum_931900394___28 {
    PTHREAD_MUTEX_STALLED___28 = 0,
    PTHREAD_MUTEX_STALLED_NP___28 = 0,
    PTHREAD_MUTEX_ROBUST___28 = 1,
    PTHREAD_MUTEX_ROBUST_NP___28 = 1
} ;
enum __anonenum_205214487___28 {
    PTHREAD_PRIO_NONE___28 = 0,
    PTHREAD_PRIO_INHERIT___28 = 1,
    PTHREAD_PRIO_PROTECT___28 = 2
} ;
enum __anonenum_25043950___28 {
    PTHREAD_RWLOCK_PREFER_READER_NP___28 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___28 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___28 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___28 = 0
} ;
enum __anonenum_436439511___28 {
    PTHREAD_INHERIT_SCHED___28 = 0,
    PTHREAD_EXPLICIT_SCHED___28 = 1
} ;
enum __anonenum_998661166___28 {
    PTHREAD_SCOPE_SYSTEM___28 = 0,
    PTHREAD_SCOPE_PROCESS___28 = 1
} ;
enum __anonenum_146137331___28 {
    PTHREAD_PROCESS_PRIVATE___28 = 0,
    PTHREAD_PROCESS_SHARED___28 = 1
} ;
enum __anonenum_53396917___28 {
    PTHREAD_CANCEL_ENABLE___28 = 0,
    PTHREAD_CANCEL_DISABLE___28 = 1
} ;
enum __anonenum_904563783___28 {
    PTHREAD_CANCEL_DEFERRED___28 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___28 = 1
} ;
enum __anonenum_672052974___28 {
    SSL_CT_VALIDATION_PERMISSIVE___28 = 0,
    SSL_CT_VALIDATION_STRICT___28 = 1
} ;
enum __anonenum_463534042 {
    COLOR_BACKGROUND_OFFSET = 10,
    COLOR_FOREGROUND_ANSI = 30,
    COLOR_FOREGROUND_RGB = 38,
    COLOR_FOREGROUND_256 = 38,
    COLOR_FOREGROUND_BRIGHT_ANSI = 90
} ;
enum __anonenum_type_993151045 {
    COLOR_UNSPECIFIED = 0,
    COLOR_NORMAL = 1,
    COLOR_ANSI = 2,
    COLOR_256 = 3,
    COLOR_RGB = 4
} ;
struct color {
   enum __anonenum_type_993151045 type ;
   unsigned char value ;
   unsigned char red ;
   unsigned char green ;
   unsigned char blue ;
};
struct __anonstruct_attrs_628836213 {
   char const   *name ;
   size_t len ;
   int val ;
   int neg ;
};
enum __anonenum_437032235___29 {
    _PC_LINK_MAX___29 = 0,
    _PC_MAX_CANON___29 = 1,
    _PC_MAX_INPUT___29 = 2,
    _PC_NAME_MAX___29 = 3,
    _PC_PATH_MAX___29 = 4,
    _PC_PIPE_BUF___29 = 5,
    _PC_CHOWN_RESTRICTED___29 = 6,
    _PC_NO_TRUNC___29 = 7,
    _PC_VDISABLE___29 = 8,
    _PC_SYNC_IO___29 = 9,
    _PC_ASYNC_IO___29 = 10,
    _PC_PRIO_IO___29 = 11,
    _PC_SOCK_MAXBUF___29 = 12,
    _PC_FILESIZEBITS___29 = 13,
    _PC_REC_INCR_XFER_SIZE___29 = 14,
    _PC_REC_MAX_XFER_SIZE___29 = 15,
    _PC_REC_MIN_XFER_SIZE___29 = 16,
    _PC_REC_XFER_ALIGN___29 = 17,
    _PC_ALLOC_SIZE_MIN___29 = 18,
    _PC_SYMLINK_MAX___29 = 19,
    _PC_2_SYMLINKS___29 = 20
} ;
enum __anonenum_315186338___29 {
    _SC_ARG_MAX___29 = 0,
    _SC_CHILD_MAX___29 = 1,
    _SC_CLK_TCK___29 = 2,
    _SC_NGROUPS_MAX___29 = 3,
    _SC_OPEN_MAX___29 = 4,
    _SC_STREAM_MAX___29 = 5,
    _SC_TZNAME_MAX___29 = 6,
    _SC_JOB_CONTROL___29 = 7,
    _SC_SAVED_IDS___29 = 8,
    _SC_REALTIME_SIGNALS___29 = 9,
    _SC_PRIORITY_SCHEDULING___29 = 10,
    _SC_TIMERS___29 = 11,
    _SC_ASYNCHRONOUS_IO___29 = 12,
    _SC_PRIORITIZED_IO___29 = 13,
    _SC_SYNCHRONIZED_IO___29 = 14,
    _SC_FSYNC___29 = 15,
    _SC_MAPPED_FILES___29 = 16,
    _SC_MEMLOCK___29 = 17,
    _SC_MEMLOCK_RANGE___29 = 18,
    _SC_MEMORY_PROTECTION___29 = 19,
    _SC_MESSAGE_PASSING___29 = 20,
    _SC_SEMAPHORES___29 = 21,
    _SC_SHARED_MEMORY_OBJECTS___29 = 22,
    _SC_AIO_LISTIO_MAX___29 = 23,
    _SC_AIO_MAX___29 = 24,
    _SC_AIO_PRIO_DELTA_MAX___29 = 25,
    _SC_DELAYTIMER_MAX___29 = 26,
    _SC_MQ_OPEN_MAX___29 = 27,
    _SC_MQ_PRIO_MAX___29 = 28,
    _SC_VERSION___29 = 29,
    _SC_PAGESIZE___29 = 30,
    _SC_RTSIG_MAX___29 = 31,
    _SC_SEM_NSEMS_MAX___29 = 32,
    _SC_SEM_VALUE_MAX___29 = 33,
    _SC_SIGQUEUE_MAX___29 = 34,
    _SC_TIMER_MAX___29 = 35,
    _SC_BC_BASE_MAX___29 = 36,
    _SC_BC_DIM_MAX___29 = 37,
    _SC_BC_SCALE_MAX___29 = 38,
    _SC_BC_STRING_MAX___29 = 39,
    _SC_COLL_WEIGHTS_MAX___29 = 40,
    _SC_EQUIV_CLASS_MAX___29 = 41,
    _SC_EXPR_NEST_MAX___29 = 42,
    _SC_LINE_MAX___29 = 43,
    _SC_RE_DUP_MAX___29 = 44,
    _SC_CHARCLASS_NAME_MAX___29 = 45,
    _SC_2_VERSION___29 = 46,
    _SC_2_C_BIND___29 = 47,
    _SC_2_C_DEV___29 = 48,
    _SC_2_FORT_DEV___29 = 49,
    _SC_2_FORT_RUN___29 = 50,
    _SC_2_SW_DEV___29 = 51,
    _SC_2_LOCALEDEF___29 = 52,
    _SC_PII___29 = 53,
    _SC_PII_XTI___29 = 54,
    _SC_PII_SOCKET___29 = 55,
    _SC_PII_INTERNET___29 = 56,
    _SC_PII_OSI___29 = 57,
    _SC_POLL___29 = 58,
    _SC_SELECT___29 = 59,
    _SC_UIO_MAXIOV___29 = 60,
    _SC_IOV_MAX___29 = 60,
    _SC_PII_INTERNET_STREAM___29 = 61,
    _SC_PII_INTERNET_DGRAM___29 = 62,
    _SC_PII_OSI_COTS___29 = 63,
    _SC_PII_OSI_CLTS___29 = 64,
    _SC_PII_OSI_M___29 = 65,
    _SC_T_IOV_MAX___29 = 66,
    _SC_THREADS___29 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___29 = 68,
    _SC_GETGR_R_SIZE_MAX___29 = 69,
    _SC_GETPW_R_SIZE_MAX___29 = 70,
    _SC_LOGIN_NAME_MAX___29 = 71,
    _SC_TTY_NAME_MAX___29 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___29 = 73,
    _SC_THREAD_KEYS_MAX___29 = 74,
    _SC_THREAD_STACK_MIN___29 = 75,
    _SC_THREAD_THREADS_MAX___29 = 76,
    _SC_THREAD_ATTR_STACKADDR___29 = 77,
    _SC_THREAD_ATTR_STACKSIZE___29 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___29 = 79,
    _SC_THREAD_PRIO_INHERIT___29 = 80,
    _SC_THREAD_PRIO_PROTECT___29 = 81,
    _SC_THREAD_PROCESS_SHARED___29 = 82,
    _SC_NPROCESSORS_CONF___29 = 83,
    _SC_NPROCESSORS_ONLN___29 = 84,
    _SC_PHYS_PAGES___29 = 85,
    _SC_AVPHYS_PAGES___29 = 86,
    _SC_ATEXIT_MAX___29 = 87,
    _SC_PASS_MAX___29 = 88,
    _SC_XOPEN_VERSION___29 = 89,
    _SC_XOPEN_XCU_VERSION___29 = 90,
    _SC_XOPEN_UNIX___29 = 91,
    _SC_XOPEN_CRYPT___29 = 92,
    _SC_XOPEN_ENH_I18N___29 = 93,
    _SC_XOPEN_SHM___29 = 94,
    _SC_2_CHAR_TERM___29 = 95,
    _SC_2_C_VERSION___29 = 96,
    _SC_2_UPE___29 = 97,
    _SC_XOPEN_XPG2___29 = 98,
    _SC_XOPEN_XPG3___29 = 99,
    _SC_XOPEN_XPG4___29 = 100,
    _SC_CHAR_BIT___29 = 101,
    _SC_CHAR_MAX___29 = 102,
    _SC_CHAR_MIN___29 = 103,
    _SC_INT_MAX___29 = 104,
    _SC_INT_MIN___29 = 105,
    _SC_LONG_BIT___29 = 106,
    _SC_WORD_BIT___29 = 107,
    _SC_MB_LEN_MAX___29 = 108,
    _SC_NZERO___29 = 109,
    _SC_SSIZE_MAX___29 = 110,
    _SC_SCHAR_MAX___29 = 111,
    _SC_SCHAR_MIN___29 = 112,
    _SC_SHRT_MAX___29 = 113,
    _SC_SHRT_MIN___29 = 114,
    _SC_UCHAR_MAX___29 = 115,
    _SC_UINT_MAX___29 = 116,
    _SC_ULONG_MAX___29 = 117,
    _SC_USHRT_MAX___29 = 118,
    _SC_NL_ARGMAX___29 = 119,
    _SC_NL_LANGMAX___29 = 120,
    _SC_NL_MSGMAX___29 = 121,
    _SC_NL_NMAX___29 = 122,
    _SC_NL_SETMAX___29 = 123,
    _SC_NL_TEXTMAX___29 = 124,
    _SC_XBS5_ILP32_OFF32___29 = 125,
    _SC_XBS5_ILP32_OFFBIG___29 = 126,
    _SC_XBS5_LP64_OFF64___29 = 127,
    _SC_XBS5_LPBIG_OFFBIG___29 = 128,
    _SC_XOPEN_LEGACY___29 = 129,
    _SC_XOPEN_REALTIME___29 = 130,
    _SC_XOPEN_REALTIME_THREADS___29 = 131,
    _SC_ADVISORY_INFO___29 = 132,
    _SC_BARRIERS___29 = 133,
    _SC_BASE___29 = 134,
    _SC_C_LANG_SUPPORT___29 = 135,
    _SC_C_LANG_SUPPORT_R___29 = 136,
    _SC_CLOCK_SELECTION___29 = 137,
    _SC_CPUTIME___29 = 138,
    _SC_THREAD_CPUTIME___29 = 139,
    _SC_DEVICE_IO___29 = 140,
    _SC_DEVICE_SPECIFIC___29 = 141,
    _SC_DEVICE_SPECIFIC_R___29 = 142,
    _SC_FD_MGMT___29 = 143,
    _SC_FIFO___29 = 144,
    _SC_PIPE___29 = 145,
    _SC_FILE_ATTRIBUTES___29 = 146,
    _SC_FILE_LOCKING___29 = 147,
    _SC_FILE_SYSTEM___29 = 148,
    _SC_MONOTONIC_CLOCK___29 = 149,
    _SC_MULTI_PROCESS___29 = 150,
    _SC_SINGLE_PROCESS___29 = 151,
    _SC_NETWORKING___29 = 152,
    _SC_READER_WRITER_LOCKS___29 = 153,
    _SC_SPIN_LOCKS___29 = 154,
    _SC_REGEXP___29 = 155,
    _SC_REGEX_VERSION___29 = 156,
    _SC_SHELL___29 = 157,
    _SC_SIGNALS___29 = 158,
    _SC_SPAWN___29 = 159,
    _SC_SPORADIC_SERVER___29 = 160,
    _SC_THREAD_SPORADIC_SERVER___29 = 161,
    _SC_SYSTEM_DATABASE___29 = 162,
    _SC_SYSTEM_DATABASE_R___29 = 163,
    _SC_TIMEOUTS___29 = 164,
    _SC_TYPED_MEMORY_OBJECTS___29 = 165,
    _SC_USER_GROUPS___29 = 166,
    _SC_USER_GROUPS_R___29 = 167,
    _SC_2_PBS___29 = 168,
    _SC_2_PBS_ACCOUNTING___29 = 169,
    _SC_2_PBS_LOCATE___29 = 170,
    _SC_2_PBS_MESSAGE___29 = 171,
    _SC_2_PBS_TRACK___29 = 172,
    _SC_SYMLOOP_MAX___29 = 173,
    _SC_STREAMS___29 = 174,
    _SC_2_PBS_CHECKPOINT___29 = 175,
    _SC_V6_ILP32_OFF32___29 = 176,
    _SC_V6_ILP32_OFFBIG___29 = 177,
    _SC_V6_LP64_OFF64___29 = 178,
    _SC_V6_LPBIG_OFFBIG___29 = 179,
    _SC_HOST_NAME_MAX___29 = 180,
    _SC_TRACE___29 = 181,
    _SC_TRACE_EVENT_FILTER___29 = 182,
    _SC_TRACE_INHERIT___29 = 183,
    _SC_TRACE_LOG___29 = 184,
    _SC_LEVEL1_ICACHE_SIZE___29 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___29 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___29 = 187,
    _SC_LEVEL1_DCACHE_SIZE___29 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___29 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___29 = 190,
    _SC_LEVEL2_CACHE_SIZE___29 = 191,
    _SC_LEVEL2_CACHE_ASSOC___29 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___29 = 193,
    _SC_LEVEL3_CACHE_SIZE___29 = 194,
    _SC_LEVEL3_CACHE_ASSOC___29 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___29 = 196,
    _SC_LEVEL4_CACHE_SIZE___29 = 197,
    _SC_LEVEL4_CACHE_ASSOC___29 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___29 = 199,
    _SC_IPV6___29 = 235,
    _SC_RAW_SOCKETS___29 = 236,
    _SC_V7_ILP32_OFF32___29 = 237,
    _SC_V7_ILP32_OFFBIG___29 = 238,
    _SC_V7_LP64_OFF64___29 = 239,
    _SC_V7_LPBIG_OFFBIG___29 = 240,
    _SC_SS_REPL_MAX___29 = 241,
    _SC_TRACE_EVENT_NAME_MAX___29 = 242,
    _SC_TRACE_NAME_MAX___29 = 243,
    _SC_TRACE_SYS_MAX___29 = 244,
    _SC_TRACE_USER_EVENT_MAX___29 = 245,
    _SC_XOPEN_STREAMS___29 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___29 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___29 = 248
} ;
enum __anonenum_875524036___29 {
    _CS_PATH___29 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___29 = 1,
    _CS_GNU_LIBC_VERSION___29 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___29 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___29 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___29 = 5,
    _CS_LFS_CFLAGS___29 = 1000,
    _CS_LFS_LDFLAGS___29 = 1001,
    _CS_LFS_LIBS___29 = 1002,
    _CS_LFS_LINTFLAGS___29 = 1003,
    _CS_LFS64_CFLAGS___29 = 1004,
    _CS_LFS64_LDFLAGS___29 = 1005,
    _CS_LFS64_LIBS___29 = 1006,
    _CS_LFS64_LINTFLAGS___29 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___29 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___29 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___29 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___29 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___29 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___29 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___29 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___29 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___29 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___29 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___29 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___29 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___29 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___29 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___29 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___29 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___29 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___29 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___29 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___29 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___29 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___29 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___29 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___29 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___29 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___29 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___29 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___29 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___29 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___29 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___29 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___29 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___29 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___29 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___29 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___29 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___29 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___29 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___29 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___29 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___29 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___29 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___29 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___29 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___29 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___29 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___29 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___29 = 1147,
    _CS_V6_ENV___29 = 1148,
    _CS_V7_ENV___29 = 1149
} ;
enum __anonenum_513775621___29 {
    DT_UNKNOWN___29 = 0,
    DT_FIFO___29 = 1,
    DT_CHR___29 = 2,
    DT_DIR___29 = 4,
    DT_BLK___29 = 6,
    DT_REG___29 = 8,
    DT_LNK___29 = 10,
    DT_SOCK___29 = 12,
    DT_WHT___29 = 14
} ;
enum __anonenum_77002343___29 {
    SI_ASYNCNL___29 = -60,
    SI_TKILL___29 = -6,
    SI_SIGIO___29 = -5,
    SI_ASYNCIO___29 = -4,
    SI_MESGQ___29 = -3,
    SI_TIMER___29 = -2,
    SI_QUEUE___29 = -1,
    SI_USER___29 = 0,
    SI_KERNEL___29 = 128
} ;
enum __anonenum_131038172___29 {
    ILL_ILLOPC___29 = 1,
    ILL_ILLOPN___29 = 2,
    ILL_ILLADR___29 = 3,
    ILL_ILLTRP___29 = 4,
    ILL_PRVOPC___29 = 5,
    ILL_PRVREG___29 = 6,
    ILL_COPROC___29 = 7,
    ILL_BADSTK___29 = 8
} ;
enum __anonenum_452038093___29 {
    FPE_INTDIV___29 = 1,
    FPE_INTOVF___29 = 2,
    FPE_FLTDIV___29 = 3,
    FPE_FLTOVF___29 = 4,
    FPE_FLTUND___29 = 5,
    FPE_FLTRES___29 = 6,
    FPE_FLTINV___29 = 7,
    FPE_FLTSUB___29 = 8
} ;
enum __anonenum_30976155___29 {
    SEGV_MAPERR___29 = 1,
    SEGV_ACCERR___29 = 2,
    SEGV_BNDERR___29 = 3,
    SEGV_PKUERR___29 = 4
} ;
enum __anonenum_1036286214___29 {
    BUS_ADRALN___29 = 1,
    BUS_ADRERR___29 = 2,
    BUS_OBJERR___29 = 3,
    BUS_MCEERR_AR___29 = 4,
    BUS_MCEERR_AO___29 = 5
} ;
enum __anonenum_493465559___29 {
    TRAP_BRKPT___29 = 1,
    TRAP_TRACE___29 = 2
} ;
enum __anonenum_23175539___29 {
    CLD_EXITED___29 = 1,
    CLD_KILLED___29 = 2,
    CLD_DUMPED___29 = 3,
    CLD_TRAPPED___29 = 4,
    CLD_STOPPED___29 = 5,
    CLD_CONTINUED___29 = 6
} ;
enum __anonenum_111643124___29 {
    POLL_IN___29 = 1,
    POLL_OUT___29 = 2,
    POLL_MSG___29 = 3,
    POLL_ERR___29 = 4,
    POLL_PRI___29 = 5,
    POLL_HUP___29 = 6
} ;
enum __anonenum_852341087___29 {
    SIGEV_SIGNAL___29 = 0,
    SIGEV_NONE___29 = 1,
    SIGEV_THREAD___29 = 2,
    SIGEV_THREAD_ID___29 = 4
} ;
enum __anonenum_451154152___29 {
    REG_R8___29 = 0,
    REG_R9___29 = 1,
    REG_R10___29 = 2,
    REG_R11___29 = 3,
    REG_R12___29 = 4,
    REG_R13___29 = 5,
    REG_R14___29 = 6,
    REG_R15___29 = 7,
    REG_RDI___29 = 8,
    REG_RSI___29 = 9,
    REG_RBP___29 = 10,
    REG_RBX___29 = 11,
    REG_RDX___29 = 12,
    REG_RAX___29 = 13,
    REG_RCX___29 = 14,
    REG_RSP___29 = 15,
    REG_RIP___29 = 16,
    REG_EFL___29 = 17,
    REG_CSGSFS___29 = 18,
    REG_ERR___29 = 19,
    REG_TRAPNO___29 = 20,
    REG_OLDMASK___29 = 21,
    REG_CR2___29 = 22
} ;
enum __anonenum_57186863___29 {
    SS_ONSTACK___29 = 1,
    SS_DISABLE___29 = 2
} ;
enum __anonenum_83571709___29 {
    MSG_OOB___29 = 1,
    MSG_PEEK___29 = 2,
    MSG_DONTROUTE___29 = 4,
    MSG_TRYHARD___29 = 4,
    MSG_CTRUNC___29 = 8,
    MSG_PROXY___29 = 16,
    MSG_TRUNC___29 = 32,
    MSG_DONTWAIT___29 = 64,
    MSG_EOR___29 = 128,
    MSG_WAITALL___29 = 256,
    MSG_FIN___29 = 512,
    MSG_SYN___29 = 1024,
    MSG_CONFIRM___29 = 2048,
    MSG_RST___29 = 4096,
    MSG_ERRQUEUE___29 = 8192,
    MSG_NOSIGNAL___29 = 16384,
    MSG_MORE___29 = 32768,
    MSG_WAITFORONE___29 = 65536,
    MSG_BATCH___29 = 262144,
    MSG_ZEROCOPY___29 = 67108864,
    MSG_FASTOPEN___29 = 536870912,
    MSG_CMSG_CLOEXEC___29 = 1073741824
} ;
enum __anonenum_617082774___29 {
    SCM_RIGHTS___29 = 1,
    SCM_CREDENTIALS___29 = 2
} ;
enum __anonenum_606441560___29 {
    SHUT_RD___29 = 0,
    SHUT_WR___29 = 1,
    SHUT_RDWR___29 = 2
} ;
enum __anonenum_681669233___29 {
    IPPROTO_IP___29 = 0,
    IPPROTO_ICMP___29 = 1,
    IPPROTO_IGMP___29 = 2,
    IPPROTO_IPIP___29 = 4,
    IPPROTO_TCP___29 = 6,
    IPPROTO_EGP___29 = 8,
    IPPROTO_PUP___29 = 12,
    IPPROTO_UDP___29 = 17,
    IPPROTO_IDP___29 = 22,
    IPPROTO_TP___29 = 29,
    IPPROTO_DCCP___29 = 33,
    IPPROTO_IPV6___29 = 41,
    IPPROTO_RSVP___29 = 46,
    IPPROTO_GRE___29 = 47,
    IPPROTO_ESP___29 = 50,
    IPPROTO_AH___29 = 51,
    IPPROTO_MTP___29 = 92,
    IPPROTO_BEETPH___29 = 94,
    IPPROTO_ENCAP___29 = 98,
    IPPROTO_PIM___29 = 103,
    IPPROTO_COMP___29 = 108,
    IPPROTO_SCTP___29 = 132,
    IPPROTO_UDPLITE___29 = 136,
    IPPROTO_MPLS___29 = 137,
    IPPROTO_RAW___29 = 255,
    IPPROTO_MAX___29 = 256
} ;
enum __anonenum_218739988___29 {
    IPPROTO_HOPOPTS___29 = 0,
    IPPROTO_ROUTING___29 = 43,
    IPPROTO_FRAGMENT___29 = 44,
    IPPROTO_ICMPV6___29 = 58,
    IPPROTO_NONE___29 = 59,
    IPPROTO_DSTOPTS___29 = 60,
    IPPROTO_MH___29 = 135
} ;
enum __anonenum_662268580___29 {
    IPPORT_ECHO___29 = 7,
    IPPORT_DISCARD___29 = 9,
    IPPORT_SYSTAT___29 = 11,
    IPPORT_DAYTIME___29 = 13,
    IPPORT_NETSTAT___29 = 15,
    IPPORT_FTP___29 = 21,
    IPPORT_TELNET___29 = 23,
    IPPORT_SMTP___29 = 25,
    IPPORT_TIMESERVER___29 = 37,
    IPPORT_NAMESERVER___29 = 42,
    IPPORT_WHOIS___29 = 43,
    IPPORT_MTP___29 = 57,
    IPPORT_TFTP___29 = 69,
    IPPORT_RJE___29 = 77,
    IPPORT_FINGER___29 = 79,
    IPPORT_TTYLINK___29 = 87,
    IPPORT_SUPDUP___29 = 95,
    IPPORT_EXECSERVER___29 = 512,
    IPPORT_LOGINSERVER___29 = 513,
    IPPORT_CMDSERVER___29 = 514,
    IPPORT_EFSSERVER___29 = 520,
    IPPORT_BIFFUDP___29 = 512,
    IPPORT_WHOSERVER___29 = 513,
    IPPORT_ROUTESERVER___29 = 520,
    IPPORT_RESERVED___29 = 1024,
    IPPORT_USERRESERVED___29 = 5000
} ;
enum __anonenum_788308992___29 {
    TCP_ESTABLISHED___29 = 1,
    TCP_SYN_SENT___29 = 2,
    TCP_SYN_RECV___29 = 3,
    TCP_FIN_WAIT1___29 = 4,
    TCP_FIN_WAIT2___29 = 5,
    TCP_TIME_WAIT___29 = 6,
    TCP_CLOSE___29 = 7,
    TCP_CLOSE_WAIT___29 = 8,
    TCP_LAST_ACK___29 = 9,
    TCP_LISTEN___29 = 10,
    TCP_CLOSING___29 = 11
} ;
enum __anonenum_221125648___29 {
    TCP_NO_QUEUE___29 = 0,
    TCP_RECV_QUEUE___29 = 1,
    TCP_SEND_QUEUE___29 = 2,
    TCP_QUEUES_NR___29 = 3
} ;
enum __anonenum_34415463___29 {
    PTHREAD_CREATE_JOINABLE___29 = 0,
    PTHREAD_CREATE_DETACHED___29 = 1
} ;
enum __anonenum_303612439___29 {
    PTHREAD_MUTEX_TIMED_NP___29 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___29 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___29 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___29 = 3,
    PTHREAD_MUTEX_NORMAL___29 = 0,
    PTHREAD_MUTEX_RECURSIVE___29 = 1,
    PTHREAD_MUTEX_ERRORCHECK___29 = 2,
    PTHREAD_MUTEX_DEFAULT___29 = 0,
    PTHREAD_MUTEX_FAST_NP___29 = 0
} ;
enum __anonenum_931900394___29 {
    PTHREAD_MUTEX_STALLED___29 = 0,
    PTHREAD_MUTEX_STALLED_NP___29 = 0,
    PTHREAD_MUTEX_ROBUST___29 = 1,
    PTHREAD_MUTEX_ROBUST_NP___29 = 1
} ;
enum __anonenum_205214487___29 {
    PTHREAD_PRIO_NONE___29 = 0,
    PTHREAD_PRIO_INHERIT___29 = 1,
    PTHREAD_PRIO_PROTECT___29 = 2
} ;
enum __anonenum_25043950___29 {
    PTHREAD_RWLOCK_PREFER_READER_NP___29 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___29 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___29 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___29 = 0
} ;
enum __anonenum_436439511___29 {
    PTHREAD_INHERIT_SCHED___29 = 0,
    PTHREAD_EXPLICIT_SCHED___29 = 1
} ;
enum __anonenum_998661166___29 {
    PTHREAD_SCOPE_SYSTEM___29 = 0,
    PTHREAD_SCOPE_PROCESS___29 = 1
} ;
enum __anonenum_146137331___29 {
    PTHREAD_PROCESS_PRIVATE___29 = 0,
    PTHREAD_PROCESS_SHARED___29 = 1
} ;
enum __anonenum_53396917___29 {
    PTHREAD_CANCEL_ENABLE___29 = 0,
    PTHREAD_CANCEL_DISABLE___29 = 1
} ;
enum __anonenum_904563783___29 {
    PTHREAD_CANCEL_DEFERRED___29 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___29 = 1
} ;
enum __anonenum_672052974___29 {
    SSL_CT_VALIDATION_PERMISSIVE___29 = 0,
    SSL_CT_VALIDATION_STRICT___29 = 1
} ;
struct column_options {
   int width ;
   int padding ;
   char const   *indent ;
   char const   *nl ;
};
struct column_data {
   struct string_list  const  *list ;
   unsigned int colopts ;
   struct column_options opts ;
   int rows ;
   int cols ;
   int *len ;
   int *width ;
};
struct colopt {
   char const   *name ;
   unsigned int value ;
   unsigned int mask ;
};
enum __anonenum_437032235___30 {
    _PC_LINK_MAX___30 = 0,
    _PC_MAX_CANON___30 = 1,
    _PC_MAX_INPUT___30 = 2,
    _PC_NAME_MAX___30 = 3,
    _PC_PATH_MAX___30 = 4,
    _PC_PIPE_BUF___30 = 5,
    _PC_CHOWN_RESTRICTED___30 = 6,
    _PC_NO_TRUNC___30 = 7,
    _PC_VDISABLE___30 = 8,
    _PC_SYNC_IO___30 = 9,
    _PC_ASYNC_IO___30 = 10,
    _PC_PRIO_IO___30 = 11,
    _PC_SOCK_MAXBUF___30 = 12,
    _PC_FILESIZEBITS___30 = 13,
    _PC_REC_INCR_XFER_SIZE___30 = 14,
    _PC_REC_MAX_XFER_SIZE___30 = 15,
    _PC_REC_MIN_XFER_SIZE___30 = 16,
    _PC_REC_XFER_ALIGN___30 = 17,
    _PC_ALLOC_SIZE_MIN___30 = 18,
    _PC_SYMLINK_MAX___30 = 19,
    _PC_2_SYMLINKS___30 = 20
} ;
enum __anonenum_315186338___30 {
    _SC_ARG_MAX___30 = 0,
    _SC_CHILD_MAX___30 = 1,
    _SC_CLK_TCK___30 = 2,
    _SC_NGROUPS_MAX___30 = 3,
    _SC_OPEN_MAX___30 = 4,
    _SC_STREAM_MAX___30 = 5,
    _SC_TZNAME_MAX___30 = 6,
    _SC_JOB_CONTROL___30 = 7,
    _SC_SAVED_IDS___30 = 8,
    _SC_REALTIME_SIGNALS___30 = 9,
    _SC_PRIORITY_SCHEDULING___30 = 10,
    _SC_TIMERS___30 = 11,
    _SC_ASYNCHRONOUS_IO___30 = 12,
    _SC_PRIORITIZED_IO___30 = 13,
    _SC_SYNCHRONIZED_IO___30 = 14,
    _SC_FSYNC___30 = 15,
    _SC_MAPPED_FILES___30 = 16,
    _SC_MEMLOCK___30 = 17,
    _SC_MEMLOCK_RANGE___30 = 18,
    _SC_MEMORY_PROTECTION___30 = 19,
    _SC_MESSAGE_PASSING___30 = 20,
    _SC_SEMAPHORES___30 = 21,
    _SC_SHARED_MEMORY_OBJECTS___30 = 22,
    _SC_AIO_LISTIO_MAX___30 = 23,
    _SC_AIO_MAX___30 = 24,
    _SC_AIO_PRIO_DELTA_MAX___30 = 25,
    _SC_DELAYTIMER_MAX___30 = 26,
    _SC_MQ_OPEN_MAX___30 = 27,
    _SC_MQ_PRIO_MAX___30 = 28,
    _SC_VERSION___30 = 29,
    _SC_PAGESIZE___30 = 30,
    _SC_RTSIG_MAX___30 = 31,
    _SC_SEM_NSEMS_MAX___30 = 32,
    _SC_SEM_VALUE_MAX___30 = 33,
    _SC_SIGQUEUE_MAX___30 = 34,
    _SC_TIMER_MAX___30 = 35,
    _SC_BC_BASE_MAX___30 = 36,
    _SC_BC_DIM_MAX___30 = 37,
    _SC_BC_SCALE_MAX___30 = 38,
    _SC_BC_STRING_MAX___30 = 39,
    _SC_COLL_WEIGHTS_MAX___30 = 40,
    _SC_EQUIV_CLASS_MAX___30 = 41,
    _SC_EXPR_NEST_MAX___30 = 42,
    _SC_LINE_MAX___30 = 43,
    _SC_RE_DUP_MAX___30 = 44,
    _SC_CHARCLASS_NAME_MAX___30 = 45,
    _SC_2_VERSION___30 = 46,
    _SC_2_C_BIND___30 = 47,
    _SC_2_C_DEV___30 = 48,
    _SC_2_FORT_DEV___30 = 49,
    _SC_2_FORT_RUN___30 = 50,
    _SC_2_SW_DEV___30 = 51,
    _SC_2_LOCALEDEF___30 = 52,
    _SC_PII___30 = 53,
    _SC_PII_XTI___30 = 54,
    _SC_PII_SOCKET___30 = 55,
    _SC_PII_INTERNET___30 = 56,
    _SC_PII_OSI___30 = 57,
    _SC_POLL___30 = 58,
    _SC_SELECT___30 = 59,
    _SC_UIO_MAXIOV___30 = 60,
    _SC_IOV_MAX___30 = 60,
    _SC_PII_INTERNET_STREAM___30 = 61,
    _SC_PII_INTERNET_DGRAM___30 = 62,
    _SC_PII_OSI_COTS___30 = 63,
    _SC_PII_OSI_CLTS___30 = 64,
    _SC_PII_OSI_M___30 = 65,
    _SC_T_IOV_MAX___30 = 66,
    _SC_THREADS___30 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___30 = 68,
    _SC_GETGR_R_SIZE_MAX___30 = 69,
    _SC_GETPW_R_SIZE_MAX___30 = 70,
    _SC_LOGIN_NAME_MAX___30 = 71,
    _SC_TTY_NAME_MAX___30 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___30 = 73,
    _SC_THREAD_KEYS_MAX___30 = 74,
    _SC_THREAD_STACK_MIN___30 = 75,
    _SC_THREAD_THREADS_MAX___30 = 76,
    _SC_THREAD_ATTR_STACKADDR___30 = 77,
    _SC_THREAD_ATTR_STACKSIZE___30 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___30 = 79,
    _SC_THREAD_PRIO_INHERIT___30 = 80,
    _SC_THREAD_PRIO_PROTECT___30 = 81,
    _SC_THREAD_PROCESS_SHARED___30 = 82,
    _SC_NPROCESSORS_CONF___30 = 83,
    _SC_NPROCESSORS_ONLN___30 = 84,
    _SC_PHYS_PAGES___30 = 85,
    _SC_AVPHYS_PAGES___30 = 86,
    _SC_ATEXIT_MAX___30 = 87,
    _SC_PASS_MAX___30 = 88,
    _SC_XOPEN_VERSION___30 = 89,
    _SC_XOPEN_XCU_VERSION___30 = 90,
    _SC_XOPEN_UNIX___30 = 91,
    _SC_XOPEN_CRYPT___30 = 92,
    _SC_XOPEN_ENH_I18N___30 = 93,
    _SC_XOPEN_SHM___30 = 94,
    _SC_2_CHAR_TERM___30 = 95,
    _SC_2_C_VERSION___30 = 96,
    _SC_2_UPE___30 = 97,
    _SC_XOPEN_XPG2___30 = 98,
    _SC_XOPEN_XPG3___30 = 99,
    _SC_XOPEN_XPG4___30 = 100,
    _SC_CHAR_BIT___30 = 101,
    _SC_CHAR_MAX___30 = 102,
    _SC_CHAR_MIN___30 = 103,
    _SC_INT_MAX___30 = 104,
    _SC_INT_MIN___30 = 105,
    _SC_LONG_BIT___30 = 106,
    _SC_WORD_BIT___30 = 107,
    _SC_MB_LEN_MAX___30 = 108,
    _SC_NZERO___30 = 109,
    _SC_SSIZE_MAX___30 = 110,
    _SC_SCHAR_MAX___30 = 111,
    _SC_SCHAR_MIN___30 = 112,
    _SC_SHRT_MAX___30 = 113,
    _SC_SHRT_MIN___30 = 114,
    _SC_UCHAR_MAX___30 = 115,
    _SC_UINT_MAX___30 = 116,
    _SC_ULONG_MAX___30 = 117,
    _SC_USHRT_MAX___30 = 118,
    _SC_NL_ARGMAX___30 = 119,
    _SC_NL_LANGMAX___30 = 120,
    _SC_NL_MSGMAX___30 = 121,
    _SC_NL_NMAX___30 = 122,
    _SC_NL_SETMAX___30 = 123,
    _SC_NL_TEXTMAX___30 = 124,
    _SC_XBS5_ILP32_OFF32___30 = 125,
    _SC_XBS5_ILP32_OFFBIG___30 = 126,
    _SC_XBS5_LP64_OFF64___30 = 127,
    _SC_XBS5_LPBIG_OFFBIG___30 = 128,
    _SC_XOPEN_LEGACY___30 = 129,
    _SC_XOPEN_REALTIME___30 = 130,
    _SC_XOPEN_REALTIME_THREADS___30 = 131,
    _SC_ADVISORY_INFO___30 = 132,
    _SC_BARRIERS___30 = 133,
    _SC_BASE___30 = 134,
    _SC_C_LANG_SUPPORT___30 = 135,
    _SC_C_LANG_SUPPORT_R___30 = 136,
    _SC_CLOCK_SELECTION___30 = 137,
    _SC_CPUTIME___30 = 138,
    _SC_THREAD_CPUTIME___30 = 139,
    _SC_DEVICE_IO___30 = 140,
    _SC_DEVICE_SPECIFIC___30 = 141,
    _SC_DEVICE_SPECIFIC_R___30 = 142,
    _SC_FD_MGMT___30 = 143,
    _SC_FIFO___30 = 144,
    _SC_PIPE___30 = 145,
    _SC_FILE_ATTRIBUTES___30 = 146,
    _SC_FILE_LOCKING___30 = 147,
    _SC_FILE_SYSTEM___30 = 148,
    _SC_MONOTONIC_CLOCK___30 = 149,
    _SC_MULTI_PROCESS___30 = 150,
    _SC_SINGLE_PROCESS___30 = 151,
    _SC_NETWORKING___30 = 152,
    _SC_READER_WRITER_LOCKS___30 = 153,
    _SC_SPIN_LOCKS___30 = 154,
    _SC_REGEXP___30 = 155,
    _SC_REGEX_VERSION___30 = 156,
    _SC_SHELL___30 = 157,
    _SC_SIGNALS___30 = 158,
    _SC_SPAWN___30 = 159,
    _SC_SPORADIC_SERVER___30 = 160,
    _SC_THREAD_SPORADIC_SERVER___30 = 161,
    _SC_SYSTEM_DATABASE___30 = 162,
    _SC_SYSTEM_DATABASE_R___30 = 163,
    _SC_TIMEOUTS___30 = 164,
    _SC_TYPED_MEMORY_OBJECTS___30 = 165,
    _SC_USER_GROUPS___30 = 166,
    _SC_USER_GROUPS_R___30 = 167,
    _SC_2_PBS___30 = 168,
    _SC_2_PBS_ACCOUNTING___30 = 169,
    _SC_2_PBS_LOCATE___30 = 170,
    _SC_2_PBS_MESSAGE___30 = 171,
    _SC_2_PBS_TRACK___30 = 172,
    _SC_SYMLOOP_MAX___30 = 173,
    _SC_STREAMS___30 = 174,
    _SC_2_PBS_CHECKPOINT___30 = 175,
    _SC_V6_ILP32_OFF32___30 = 176,
    _SC_V6_ILP32_OFFBIG___30 = 177,
    _SC_V6_LP64_OFF64___30 = 178,
    _SC_V6_LPBIG_OFFBIG___30 = 179,
    _SC_HOST_NAME_MAX___30 = 180,
    _SC_TRACE___30 = 181,
    _SC_TRACE_EVENT_FILTER___30 = 182,
    _SC_TRACE_INHERIT___30 = 183,
    _SC_TRACE_LOG___30 = 184,
    _SC_LEVEL1_ICACHE_SIZE___30 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___30 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___30 = 187,
    _SC_LEVEL1_DCACHE_SIZE___30 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___30 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___30 = 190,
    _SC_LEVEL2_CACHE_SIZE___30 = 191,
    _SC_LEVEL2_CACHE_ASSOC___30 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___30 = 193,
    _SC_LEVEL3_CACHE_SIZE___30 = 194,
    _SC_LEVEL3_CACHE_ASSOC___30 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___30 = 196,
    _SC_LEVEL4_CACHE_SIZE___30 = 197,
    _SC_LEVEL4_CACHE_ASSOC___30 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___30 = 199,
    _SC_IPV6___30 = 235,
    _SC_RAW_SOCKETS___30 = 236,
    _SC_V7_ILP32_OFF32___30 = 237,
    _SC_V7_ILP32_OFFBIG___30 = 238,
    _SC_V7_LP64_OFF64___30 = 239,
    _SC_V7_LPBIG_OFFBIG___30 = 240,
    _SC_SS_REPL_MAX___30 = 241,
    _SC_TRACE_EVENT_NAME_MAX___30 = 242,
    _SC_TRACE_NAME_MAX___30 = 243,
    _SC_TRACE_SYS_MAX___30 = 244,
    _SC_TRACE_USER_EVENT_MAX___30 = 245,
    _SC_XOPEN_STREAMS___30 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___30 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___30 = 248
} ;
enum __anonenum_875524036___30 {
    _CS_PATH___30 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___30 = 1,
    _CS_GNU_LIBC_VERSION___30 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___30 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___30 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___30 = 5,
    _CS_LFS_CFLAGS___30 = 1000,
    _CS_LFS_LDFLAGS___30 = 1001,
    _CS_LFS_LIBS___30 = 1002,
    _CS_LFS_LINTFLAGS___30 = 1003,
    _CS_LFS64_CFLAGS___30 = 1004,
    _CS_LFS64_LDFLAGS___30 = 1005,
    _CS_LFS64_LIBS___30 = 1006,
    _CS_LFS64_LINTFLAGS___30 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___30 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___30 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___30 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___30 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___30 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___30 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___30 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___30 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___30 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___30 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___30 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___30 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___30 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___30 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___30 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___30 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___30 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___30 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___30 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___30 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___30 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___30 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___30 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___30 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___30 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___30 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___30 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___30 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___30 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___30 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___30 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___30 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___30 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___30 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___30 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___30 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___30 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___30 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___30 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___30 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___30 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___30 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___30 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___30 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___30 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___30 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___30 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___30 = 1147,
    _CS_V6_ENV___30 = 1148,
    _CS_V7_ENV___30 = 1149
} ;
enum __anonenum_513775621___30 {
    DT_UNKNOWN___30 = 0,
    DT_FIFO___30 = 1,
    DT_CHR___30 = 2,
    DT_DIR___30 = 4,
    DT_BLK___30 = 6,
    DT_REG___30 = 8,
    DT_LNK___30 = 10,
    DT_SOCK___30 = 12,
    DT_WHT___30 = 14
} ;
enum __anonenum_77002343___30 {
    SI_ASYNCNL___30 = -60,
    SI_TKILL___30 = -6,
    SI_SIGIO___30 = -5,
    SI_ASYNCIO___30 = -4,
    SI_MESGQ___30 = -3,
    SI_TIMER___30 = -2,
    SI_QUEUE___30 = -1,
    SI_USER___30 = 0,
    SI_KERNEL___30 = 128
} ;
enum __anonenum_131038172___30 {
    ILL_ILLOPC___30 = 1,
    ILL_ILLOPN___30 = 2,
    ILL_ILLADR___30 = 3,
    ILL_ILLTRP___30 = 4,
    ILL_PRVOPC___30 = 5,
    ILL_PRVREG___30 = 6,
    ILL_COPROC___30 = 7,
    ILL_BADSTK___30 = 8
} ;
enum __anonenum_452038093___30 {
    FPE_INTDIV___30 = 1,
    FPE_INTOVF___30 = 2,
    FPE_FLTDIV___30 = 3,
    FPE_FLTOVF___30 = 4,
    FPE_FLTUND___30 = 5,
    FPE_FLTRES___30 = 6,
    FPE_FLTINV___30 = 7,
    FPE_FLTSUB___30 = 8
} ;
enum __anonenum_30976155___30 {
    SEGV_MAPERR___30 = 1,
    SEGV_ACCERR___30 = 2,
    SEGV_BNDERR___30 = 3,
    SEGV_PKUERR___30 = 4
} ;
enum __anonenum_1036286214___30 {
    BUS_ADRALN___30 = 1,
    BUS_ADRERR___30 = 2,
    BUS_OBJERR___30 = 3,
    BUS_MCEERR_AR___30 = 4,
    BUS_MCEERR_AO___30 = 5
} ;
enum __anonenum_493465559___30 {
    TRAP_BRKPT___30 = 1,
    TRAP_TRACE___30 = 2
} ;
enum __anonenum_23175539___30 {
    CLD_EXITED___30 = 1,
    CLD_KILLED___30 = 2,
    CLD_DUMPED___30 = 3,
    CLD_TRAPPED___30 = 4,
    CLD_STOPPED___30 = 5,
    CLD_CONTINUED___30 = 6
} ;
enum __anonenum_111643124___30 {
    POLL_IN___30 = 1,
    POLL_OUT___30 = 2,
    POLL_MSG___30 = 3,
    POLL_ERR___30 = 4,
    POLL_PRI___30 = 5,
    POLL_HUP___30 = 6
} ;
enum __anonenum_852341087___30 {
    SIGEV_SIGNAL___30 = 0,
    SIGEV_NONE___30 = 1,
    SIGEV_THREAD___30 = 2,
    SIGEV_THREAD_ID___30 = 4
} ;
enum __anonenum_451154152___30 {
    REG_R8___30 = 0,
    REG_R9___30 = 1,
    REG_R10___30 = 2,
    REG_R11___30 = 3,
    REG_R12___30 = 4,
    REG_R13___30 = 5,
    REG_R14___30 = 6,
    REG_R15___30 = 7,
    REG_RDI___30 = 8,
    REG_RSI___30 = 9,
    REG_RBP___30 = 10,
    REG_RBX___30 = 11,
    REG_RDX___30 = 12,
    REG_RAX___30 = 13,
    REG_RCX___30 = 14,
    REG_RSP___30 = 15,
    REG_RIP___30 = 16,
    REG_EFL___30 = 17,
    REG_CSGSFS___30 = 18,
    REG_ERR___30 = 19,
    REG_TRAPNO___30 = 20,
    REG_OLDMASK___30 = 21,
    REG_CR2___30 = 22
} ;
enum __anonenum_57186863___30 {
    SS_ONSTACK___30 = 1,
    SS_DISABLE___30 = 2
} ;
enum __anonenum_83571709___30 {
    MSG_OOB___30 = 1,
    MSG_PEEK___30 = 2,
    MSG_DONTROUTE___30 = 4,
    MSG_TRYHARD___30 = 4,
    MSG_CTRUNC___30 = 8,
    MSG_PROXY___30 = 16,
    MSG_TRUNC___30 = 32,
    MSG_DONTWAIT___30 = 64,
    MSG_EOR___30 = 128,
    MSG_WAITALL___30 = 256,
    MSG_FIN___30 = 512,
    MSG_SYN___30 = 1024,
    MSG_CONFIRM___30 = 2048,
    MSG_RST___30 = 4096,
    MSG_ERRQUEUE___30 = 8192,
    MSG_NOSIGNAL___30 = 16384,
    MSG_MORE___30 = 32768,
    MSG_WAITFORONE___30 = 65536,
    MSG_BATCH___30 = 262144,
    MSG_ZEROCOPY___30 = 67108864,
    MSG_FASTOPEN___30 = 536870912,
    MSG_CMSG_CLOEXEC___30 = 1073741824
} ;
enum __anonenum_617082774___30 {
    SCM_RIGHTS___30 = 1,
    SCM_CREDENTIALS___30 = 2
} ;
enum __anonenum_606441560___30 {
    SHUT_RD___30 = 0,
    SHUT_WR___30 = 1,
    SHUT_RDWR___30 = 2
} ;
enum __anonenum_681669233___30 {
    IPPROTO_IP___30 = 0,
    IPPROTO_ICMP___30 = 1,
    IPPROTO_IGMP___30 = 2,
    IPPROTO_IPIP___30 = 4,
    IPPROTO_TCP___30 = 6,
    IPPROTO_EGP___30 = 8,
    IPPROTO_PUP___30 = 12,
    IPPROTO_UDP___30 = 17,
    IPPROTO_IDP___30 = 22,
    IPPROTO_TP___30 = 29,
    IPPROTO_DCCP___30 = 33,
    IPPROTO_IPV6___30 = 41,
    IPPROTO_RSVP___30 = 46,
    IPPROTO_GRE___30 = 47,
    IPPROTO_ESP___30 = 50,
    IPPROTO_AH___30 = 51,
    IPPROTO_MTP___30 = 92,
    IPPROTO_BEETPH___30 = 94,
    IPPROTO_ENCAP___30 = 98,
    IPPROTO_PIM___30 = 103,
    IPPROTO_COMP___30 = 108,
    IPPROTO_SCTP___30 = 132,
    IPPROTO_UDPLITE___30 = 136,
    IPPROTO_MPLS___30 = 137,
    IPPROTO_RAW___30 = 255,
    IPPROTO_MAX___30 = 256
} ;
enum __anonenum_218739988___30 {
    IPPROTO_HOPOPTS___30 = 0,
    IPPROTO_ROUTING___30 = 43,
    IPPROTO_FRAGMENT___30 = 44,
    IPPROTO_ICMPV6___30 = 58,
    IPPROTO_NONE___30 = 59,
    IPPROTO_DSTOPTS___30 = 60,
    IPPROTO_MH___30 = 135
} ;
enum __anonenum_662268580___30 {
    IPPORT_ECHO___30 = 7,
    IPPORT_DISCARD___30 = 9,
    IPPORT_SYSTAT___30 = 11,
    IPPORT_DAYTIME___30 = 13,
    IPPORT_NETSTAT___30 = 15,
    IPPORT_FTP___30 = 21,
    IPPORT_TELNET___30 = 23,
    IPPORT_SMTP___30 = 25,
    IPPORT_TIMESERVER___30 = 37,
    IPPORT_NAMESERVER___30 = 42,
    IPPORT_WHOIS___30 = 43,
    IPPORT_MTP___30 = 57,
    IPPORT_TFTP___30 = 69,
    IPPORT_RJE___30 = 77,
    IPPORT_FINGER___30 = 79,
    IPPORT_TTYLINK___30 = 87,
    IPPORT_SUPDUP___30 = 95,
    IPPORT_EXECSERVER___30 = 512,
    IPPORT_LOGINSERVER___30 = 513,
    IPPORT_CMDSERVER___30 = 514,
    IPPORT_EFSSERVER___30 = 520,
    IPPORT_BIFFUDP___30 = 512,
    IPPORT_WHOSERVER___30 = 513,
    IPPORT_ROUTESERVER___30 = 520,
    IPPORT_RESERVED___30 = 1024,
    IPPORT_USERRESERVED___30 = 5000
} ;
enum __anonenum_788308992___30 {
    TCP_ESTABLISHED___30 = 1,
    TCP_SYN_SENT___30 = 2,
    TCP_SYN_RECV___30 = 3,
    TCP_FIN_WAIT1___30 = 4,
    TCP_FIN_WAIT2___30 = 5,
    TCP_TIME_WAIT___30 = 6,
    TCP_CLOSE___30 = 7,
    TCP_CLOSE_WAIT___30 = 8,
    TCP_LAST_ACK___30 = 9,
    TCP_LISTEN___30 = 10,
    TCP_CLOSING___30 = 11
} ;
enum __anonenum_221125648___30 {
    TCP_NO_QUEUE___30 = 0,
    TCP_RECV_QUEUE___30 = 1,
    TCP_SEND_QUEUE___30 = 2,
    TCP_QUEUES_NR___30 = 3
} ;
enum __anonenum_34415463___30 {
    PTHREAD_CREATE_JOINABLE___30 = 0,
    PTHREAD_CREATE_DETACHED___30 = 1
} ;
enum __anonenum_303612439___30 {
    PTHREAD_MUTEX_TIMED_NP___30 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___30 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___30 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___30 = 3,
    PTHREAD_MUTEX_NORMAL___30 = 0,
    PTHREAD_MUTEX_RECURSIVE___30 = 1,
    PTHREAD_MUTEX_ERRORCHECK___30 = 2,
    PTHREAD_MUTEX_DEFAULT___30 = 0,
    PTHREAD_MUTEX_FAST_NP___30 = 0
} ;
enum __anonenum_931900394___30 {
    PTHREAD_MUTEX_STALLED___30 = 0,
    PTHREAD_MUTEX_STALLED_NP___30 = 0,
    PTHREAD_MUTEX_ROBUST___30 = 1,
    PTHREAD_MUTEX_ROBUST_NP___30 = 1
} ;
enum __anonenum_205214487___30 {
    PTHREAD_PRIO_NONE___30 = 0,
    PTHREAD_PRIO_INHERIT___30 = 1,
    PTHREAD_PRIO_PROTECT___30 = 2
} ;
enum __anonenum_25043950___30 {
    PTHREAD_RWLOCK_PREFER_READER_NP___30 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___30 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___30 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___30 = 0
} ;
enum __anonenum_436439511___30 {
    PTHREAD_INHERIT_SCHED___30 = 0,
    PTHREAD_EXPLICIT_SCHED___30 = 1
} ;
enum __anonenum_998661166___30 {
    PTHREAD_SCOPE_SYSTEM___30 = 0,
    PTHREAD_SCOPE_PROCESS___30 = 1
} ;
enum __anonenum_146137331___30 {
    PTHREAD_PROCESS_PRIVATE___30 = 0,
    PTHREAD_PROCESS_SHARED___30 = 1
} ;
enum __anonenum_53396917___30 {
    PTHREAD_CANCEL_ENABLE___30 = 0,
    PTHREAD_CANCEL_DISABLE___30 = 1
} ;
enum __anonenum_904563783___30 {
    PTHREAD_CANCEL_DEFERRED___30 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___30 = 1
} ;
enum __anonenum_672052974___30 {
    SSL_CT_VALIDATION_PERMISSIVE___30 = 0,
    SSL_CT_VALIDATION_STRICT___30 = 1
} ;
struct lline {
   struct lline *next ;
   struct lline *prev ;
   int len ;
   unsigned long parent_map ;
   char line[] ;
};
struct plost {
   struct lline *lost_head ;
   struct lline *lost_tail ;
   int len ;
};
struct sline {
   struct lline *lost ;
   int lenlost ;
   struct plost plost ;
   char *bol ;
   int len ;
   unsigned long flag ;
   unsigned long *p_lno ;
};
enum coalesce_direction {
    MATCH = 0,
    BASE = 1,
    NEW = 2
} ;
struct combine_diff_state {
   unsigned int lno ;
   int ob ;
   int on ;
   int nb ;
   int nn ;
   unsigned long nmask ;
   int num_parent ;
   int n ;
   struct sline *sline ;
   struct sline *lost_bucket ;
};
enum __anonenum_437032235___31 {
    _PC_LINK_MAX___31 = 0,
    _PC_MAX_CANON___31 = 1,
    _PC_MAX_INPUT___31 = 2,
    _PC_NAME_MAX___31 = 3,
    _PC_PATH_MAX___31 = 4,
    _PC_PIPE_BUF___31 = 5,
    _PC_CHOWN_RESTRICTED___31 = 6,
    _PC_NO_TRUNC___31 = 7,
    _PC_VDISABLE___31 = 8,
    _PC_SYNC_IO___31 = 9,
    _PC_ASYNC_IO___31 = 10,
    _PC_PRIO_IO___31 = 11,
    _PC_SOCK_MAXBUF___31 = 12,
    _PC_FILESIZEBITS___31 = 13,
    _PC_REC_INCR_XFER_SIZE___31 = 14,
    _PC_REC_MAX_XFER_SIZE___31 = 15,
    _PC_REC_MIN_XFER_SIZE___31 = 16,
    _PC_REC_XFER_ALIGN___31 = 17,
    _PC_ALLOC_SIZE_MIN___31 = 18,
    _PC_SYMLINK_MAX___31 = 19,
    _PC_2_SYMLINKS___31 = 20
} ;
enum __anonenum_315186338___31 {
    _SC_ARG_MAX___31 = 0,
    _SC_CHILD_MAX___31 = 1,
    _SC_CLK_TCK___31 = 2,
    _SC_NGROUPS_MAX___31 = 3,
    _SC_OPEN_MAX___31 = 4,
    _SC_STREAM_MAX___31 = 5,
    _SC_TZNAME_MAX___31 = 6,
    _SC_JOB_CONTROL___31 = 7,
    _SC_SAVED_IDS___31 = 8,
    _SC_REALTIME_SIGNALS___31 = 9,
    _SC_PRIORITY_SCHEDULING___31 = 10,
    _SC_TIMERS___31 = 11,
    _SC_ASYNCHRONOUS_IO___31 = 12,
    _SC_PRIORITIZED_IO___31 = 13,
    _SC_SYNCHRONIZED_IO___31 = 14,
    _SC_FSYNC___31 = 15,
    _SC_MAPPED_FILES___31 = 16,
    _SC_MEMLOCK___31 = 17,
    _SC_MEMLOCK_RANGE___31 = 18,
    _SC_MEMORY_PROTECTION___31 = 19,
    _SC_MESSAGE_PASSING___31 = 20,
    _SC_SEMAPHORES___31 = 21,
    _SC_SHARED_MEMORY_OBJECTS___31 = 22,
    _SC_AIO_LISTIO_MAX___31 = 23,
    _SC_AIO_MAX___31 = 24,
    _SC_AIO_PRIO_DELTA_MAX___31 = 25,
    _SC_DELAYTIMER_MAX___31 = 26,
    _SC_MQ_OPEN_MAX___31 = 27,
    _SC_MQ_PRIO_MAX___31 = 28,
    _SC_VERSION___31 = 29,
    _SC_PAGESIZE___31 = 30,
    _SC_RTSIG_MAX___31 = 31,
    _SC_SEM_NSEMS_MAX___31 = 32,
    _SC_SEM_VALUE_MAX___31 = 33,
    _SC_SIGQUEUE_MAX___31 = 34,
    _SC_TIMER_MAX___31 = 35,
    _SC_BC_BASE_MAX___31 = 36,
    _SC_BC_DIM_MAX___31 = 37,
    _SC_BC_SCALE_MAX___31 = 38,
    _SC_BC_STRING_MAX___31 = 39,
    _SC_COLL_WEIGHTS_MAX___31 = 40,
    _SC_EQUIV_CLASS_MAX___31 = 41,
    _SC_EXPR_NEST_MAX___31 = 42,
    _SC_LINE_MAX___31 = 43,
    _SC_RE_DUP_MAX___31 = 44,
    _SC_CHARCLASS_NAME_MAX___31 = 45,
    _SC_2_VERSION___31 = 46,
    _SC_2_C_BIND___31 = 47,
    _SC_2_C_DEV___31 = 48,
    _SC_2_FORT_DEV___31 = 49,
    _SC_2_FORT_RUN___31 = 50,
    _SC_2_SW_DEV___31 = 51,
    _SC_2_LOCALEDEF___31 = 52,
    _SC_PII___31 = 53,
    _SC_PII_XTI___31 = 54,
    _SC_PII_SOCKET___31 = 55,
    _SC_PII_INTERNET___31 = 56,
    _SC_PII_OSI___31 = 57,
    _SC_POLL___31 = 58,
    _SC_SELECT___31 = 59,
    _SC_UIO_MAXIOV___31 = 60,
    _SC_IOV_MAX___31 = 60,
    _SC_PII_INTERNET_STREAM___31 = 61,
    _SC_PII_INTERNET_DGRAM___31 = 62,
    _SC_PII_OSI_COTS___31 = 63,
    _SC_PII_OSI_CLTS___31 = 64,
    _SC_PII_OSI_M___31 = 65,
    _SC_T_IOV_MAX___31 = 66,
    _SC_THREADS___31 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___31 = 68,
    _SC_GETGR_R_SIZE_MAX___31 = 69,
    _SC_GETPW_R_SIZE_MAX___31 = 70,
    _SC_LOGIN_NAME_MAX___31 = 71,
    _SC_TTY_NAME_MAX___31 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___31 = 73,
    _SC_THREAD_KEYS_MAX___31 = 74,
    _SC_THREAD_STACK_MIN___31 = 75,
    _SC_THREAD_THREADS_MAX___31 = 76,
    _SC_THREAD_ATTR_STACKADDR___31 = 77,
    _SC_THREAD_ATTR_STACKSIZE___31 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___31 = 79,
    _SC_THREAD_PRIO_INHERIT___31 = 80,
    _SC_THREAD_PRIO_PROTECT___31 = 81,
    _SC_THREAD_PROCESS_SHARED___31 = 82,
    _SC_NPROCESSORS_CONF___31 = 83,
    _SC_NPROCESSORS_ONLN___31 = 84,
    _SC_PHYS_PAGES___31 = 85,
    _SC_AVPHYS_PAGES___31 = 86,
    _SC_ATEXIT_MAX___31 = 87,
    _SC_PASS_MAX___31 = 88,
    _SC_XOPEN_VERSION___31 = 89,
    _SC_XOPEN_XCU_VERSION___31 = 90,
    _SC_XOPEN_UNIX___31 = 91,
    _SC_XOPEN_CRYPT___31 = 92,
    _SC_XOPEN_ENH_I18N___31 = 93,
    _SC_XOPEN_SHM___31 = 94,
    _SC_2_CHAR_TERM___31 = 95,
    _SC_2_C_VERSION___31 = 96,
    _SC_2_UPE___31 = 97,
    _SC_XOPEN_XPG2___31 = 98,
    _SC_XOPEN_XPG3___31 = 99,
    _SC_XOPEN_XPG4___31 = 100,
    _SC_CHAR_BIT___31 = 101,
    _SC_CHAR_MAX___31 = 102,
    _SC_CHAR_MIN___31 = 103,
    _SC_INT_MAX___31 = 104,
    _SC_INT_MIN___31 = 105,
    _SC_LONG_BIT___31 = 106,
    _SC_WORD_BIT___31 = 107,
    _SC_MB_LEN_MAX___31 = 108,
    _SC_NZERO___31 = 109,
    _SC_SSIZE_MAX___31 = 110,
    _SC_SCHAR_MAX___31 = 111,
    _SC_SCHAR_MIN___31 = 112,
    _SC_SHRT_MAX___31 = 113,
    _SC_SHRT_MIN___31 = 114,
    _SC_UCHAR_MAX___31 = 115,
    _SC_UINT_MAX___31 = 116,
    _SC_ULONG_MAX___31 = 117,
    _SC_USHRT_MAX___31 = 118,
    _SC_NL_ARGMAX___31 = 119,
    _SC_NL_LANGMAX___31 = 120,
    _SC_NL_MSGMAX___31 = 121,
    _SC_NL_NMAX___31 = 122,
    _SC_NL_SETMAX___31 = 123,
    _SC_NL_TEXTMAX___31 = 124,
    _SC_XBS5_ILP32_OFF32___31 = 125,
    _SC_XBS5_ILP32_OFFBIG___31 = 126,
    _SC_XBS5_LP64_OFF64___31 = 127,
    _SC_XBS5_LPBIG_OFFBIG___31 = 128,
    _SC_XOPEN_LEGACY___31 = 129,
    _SC_XOPEN_REALTIME___31 = 130,
    _SC_XOPEN_REALTIME_THREADS___31 = 131,
    _SC_ADVISORY_INFO___31 = 132,
    _SC_BARRIERS___31 = 133,
    _SC_BASE___31 = 134,
    _SC_C_LANG_SUPPORT___31 = 135,
    _SC_C_LANG_SUPPORT_R___31 = 136,
    _SC_CLOCK_SELECTION___31 = 137,
    _SC_CPUTIME___31 = 138,
    _SC_THREAD_CPUTIME___31 = 139,
    _SC_DEVICE_IO___31 = 140,
    _SC_DEVICE_SPECIFIC___31 = 141,
    _SC_DEVICE_SPECIFIC_R___31 = 142,
    _SC_FD_MGMT___31 = 143,
    _SC_FIFO___31 = 144,
    _SC_PIPE___31 = 145,
    _SC_FILE_ATTRIBUTES___31 = 146,
    _SC_FILE_LOCKING___31 = 147,
    _SC_FILE_SYSTEM___31 = 148,
    _SC_MONOTONIC_CLOCK___31 = 149,
    _SC_MULTI_PROCESS___31 = 150,
    _SC_SINGLE_PROCESS___31 = 151,
    _SC_NETWORKING___31 = 152,
    _SC_READER_WRITER_LOCKS___31 = 153,
    _SC_SPIN_LOCKS___31 = 154,
    _SC_REGEXP___31 = 155,
    _SC_REGEX_VERSION___31 = 156,
    _SC_SHELL___31 = 157,
    _SC_SIGNALS___31 = 158,
    _SC_SPAWN___31 = 159,
    _SC_SPORADIC_SERVER___31 = 160,
    _SC_THREAD_SPORADIC_SERVER___31 = 161,
    _SC_SYSTEM_DATABASE___31 = 162,
    _SC_SYSTEM_DATABASE_R___31 = 163,
    _SC_TIMEOUTS___31 = 164,
    _SC_TYPED_MEMORY_OBJECTS___31 = 165,
    _SC_USER_GROUPS___31 = 166,
    _SC_USER_GROUPS_R___31 = 167,
    _SC_2_PBS___31 = 168,
    _SC_2_PBS_ACCOUNTING___31 = 169,
    _SC_2_PBS_LOCATE___31 = 170,
    _SC_2_PBS_MESSAGE___31 = 171,
    _SC_2_PBS_TRACK___31 = 172,
    _SC_SYMLOOP_MAX___31 = 173,
    _SC_STREAMS___31 = 174,
    _SC_2_PBS_CHECKPOINT___31 = 175,
    _SC_V6_ILP32_OFF32___31 = 176,
    _SC_V6_ILP32_OFFBIG___31 = 177,
    _SC_V6_LP64_OFF64___31 = 178,
    _SC_V6_LPBIG_OFFBIG___31 = 179,
    _SC_HOST_NAME_MAX___31 = 180,
    _SC_TRACE___31 = 181,
    _SC_TRACE_EVENT_FILTER___31 = 182,
    _SC_TRACE_INHERIT___31 = 183,
    _SC_TRACE_LOG___31 = 184,
    _SC_LEVEL1_ICACHE_SIZE___31 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___31 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___31 = 187,
    _SC_LEVEL1_DCACHE_SIZE___31 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___31 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___31 = 190,
    _SC_LEVEL2_CACHE_SIZE___31 = 191,
    _SC_LEVEL2_CACHE_ASSOC___31 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___31 = 193,
    _SC_LEVEL3_CACHE_SIZE___31 = 194,
    _SC_LEVEL3_CACHE_ASSOC___31 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___31 = 196,
    _SC_LEVEL4_CACHE_SIZE___31 = 197,
    _SC_LEVEL4_CACHE_ASSOC___31 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___31 = 199,
    _SC_IPV6___31 = 235,
    _SC_RAW_SOCKETS___31 = 236,
    _SC_V7_ILP32_OFF32___31 = 237,
    _SC_V7_ILP32_OFFBIG___31 = 238,
    _SC_V7_LP64_OFF64___31 = 239,
    _SC_V7_LPBIG_OFFBIG___31 = 240,
    _SC_SS_REPL_MAX___31 = 241,
    _SC_TRACE_EVENT_NAME_MAX___31 = 242,
    _SC_TRACE_NAME_MAX___31 = 243,
    _SC_TRACE_SYS_MAX___31 = 244,
    _SC_TRACE_USER_EVENT_MAX___31 = 245,
    _SC_XOPEN_STREAMS___31 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___31 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___31 = 248
} ;
enum __anonenum_875524036___31 {
    _CS_PATH___31 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___31 = 1,
    _CS_GNU_LIBC_VERSION___31 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___31 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___31 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___31 = 5,
    _CS_LFS_CFLAGS___31 = 1000,
    _CS_LFS_LDFLAGS___31 = 1001,
    _CS_LFS_LIBS___31 = 1002,
    _CS_LFS_LINTFLAGS___31 = 1003,
    _CS_LFS64_CFLAGS___31 = 1004,
    _CS_LFS64_LDFLAGS___31 = 1005,
    _CS_LFS64_LIBS___31 = 1006,
    _CS_LFS64_LINTFLAGS___31 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___31 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___31 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___31 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___31 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___31 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___31 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___31 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___31 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___31 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___31 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___31 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___31 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___31 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___31 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___31 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___31 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___31 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___31 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___31 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___31 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___31 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___31 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___31 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___31 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___31 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___31 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___31 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___31 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___31 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___31 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___31 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___31 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___31 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___31 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___31 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___31 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___31 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___31 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___31 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___31 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___31 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___31 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___31 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___31 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___31 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___31 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___31 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___31 = 1147,
    _CS_V6_ENV___31 = 1148,
    _CS_V7_ENV___31 = 1149
} ;
enum __anonenum_513775621___31 {
    DT_UNKNOWN___31 = 0,
    DT_FIFO___31 = 1,
    DT_CHR___31 = 2,
    DT_DIR___31 = 4,
    DT_BLK___31 = 6,
    DT_REG___31 = 8,
    DT_LNK___31 = 10,
    DT_SOCK___31 = 12,
    DT_WHT___31 = 14
} ;
enum __anonenum_77002343___31 {
    SI_ASYNCNL___31 = -60,
    SI_TKILL___31 = -6,
    SI_SIGIO___31 = -5,
    SI_ASYNCIO___31 = -4,
    SI_MESGQ___31 = -3,
    SI_TIMER___31 = -2,
    SI_QUEUE___31 = -1,
    SI_USER___31 = 0,
    SI_KERNEL___31 = 128
} ;
enum __anonenum_131038172___31 {
    ILL_ILLOPC___31 = 1,
    ILL_ILLOPN___31 = 2,
    ILL_ILLADR___31 = 3,
    ILL_ILLTRP___31 = 4,
    ILL_PRVOPC___31 = 5,
    ILL_PRVREG___31 = 6,
    ILL_COPROC___31 = 7,
    ILL_BADSTK___31 = 8
} ;
enum __anonenum_452038093___31 {
    FPE_INTDIV___31 = 1,
    FPE_INTOVF___31 = 2,
    FPE_FLTDIV___31 = 3,
    FPE_FLTOVF___31 = 4,
    FPE_FLTUND___31 = 5,
    FPE_FLTRES___31 = 6,
    FPE_FLTINV___31 = 7,
    FPE_FLTSUB___31 = 8
} ;
enum __anonenum_30976155___31 {
    SEGV_MAPERR___31 = 1,
    SEGV_ACCERR___31 = 2,
    SEGV_BNDERR___31 = 3,
    SEGV_PKUERR___31 = 4
} ;
enum __anonenum_1036286214___31 {
    BUS_ADRALN___31 = 1,
    BUS_ADRERR___31 = 2,
    BUS_OBJERR___31 = 3,
    BUS_MCEERR_AR___31 = 4,
    BUS_MCEERR_AO___31 = 5
} ;
enum __anonenum_493465559___31 {
    TRAP_BRKPT___31 = 1,
    TRAP_TRACE___31 = 2
} ;
enum __anonenum_23175539___31 {
    CLD_EXITED___31 = 1,
    CLD_KILLED___31 = 2,
    CLD_DUMPED___31 = 3,
    CLD_TRAPPED___31 = 4,
    CLD_STOPPED___31 = 5,
    CLD_CONTINUED___31 = 6
} ;
enum __anonenum_111643124___31 {
    POLL_IN___31 = 1,
    POLL_OUT___31 = 2,
    POLL_MSG___31 = 3,
    POLL_ERR___31 = 4,
    POLL_PRI___31 = 5,
    POLL_HUP___31 = 6
} ;
enum __anonenum_852341087___31 {
    SIGEV_SIGNAL___31 = 0,
    SIGEV_NONE___31 = 1,
    SIGEV_THREAD___31 = 2,
    SIGEV_THREAD_ID___31 = 4
} ;
enum __anonenum_451154152___31 {
    REG_R8___31 = 0,
    REG_R9___31 = 1,
    REG_R10___31 = 2,
    REG_R11___31 = 3,
    REG_R12___31 = 4,
    REG_R13___31 = 5,
    REG_R14___31 = 6,
    REG_R15___31 = 7,
    REG_RDI___31 = 8,
    REG_RSI___31 = 9,
    REG_RBP___31 = 10,
    REG_RBX___31 = 11,
    REG_RDX___31 = 12,
    REG_RAX___31 = 13,
    REG_RCX___31 = 14,
    REG_RSP___31 = 15,
    REG_RIP___31 = 16,
    REG_EFL___31 = 17,
    REG_CSGSFS___31 = 18,
    REG_ERR___31 = 19,
    REG_TRAPNO___31 = 20,
    REG_OLDMASK___31 = 21,
    REG_CR2___31 = 22
} ;
enum __anonenum_57186863___31 {
    SS_ONSTACK___31 = 1,
    SS_DISABLE___31 = 2
} ;
enum __anonenum_83571709___31 {
    MSG_OOB___31 = 1,
    MSG_PEEK___31 = 2,
    MSG_DONTROUTE___31 = 4,
    MSG_TRYHARD___31 = 4,
    MSG_CTRUNC___31 = 8,
    MSG_PROXY___31 = 16,
    MSG_TRUNC___31 = 32,
    MSG_DONTWAIT___31 = 64,
    MSG_EOR___31 = 128,
    MSG_WAITALL___31 = 256,
    MSG_FIN___31 = 512,
    MSG_SYN___31 = 1024,
    MSG_CONFIRM___31 = 2048,
    MSG_RST___31 = 4096,
    MSG_ERRQUEUE___31 = 8192,
    MSG_NOSIGNAL___31 = 16384,
    MSG_MORE___31 = 32768,
    MSG_WAITFORONE___31 = 65536,
    MSG_BATCH___31 = 262144,
    MSG_ZEROCOPY___31 = 67108864,
    MSG_FASTOPEN___31 = 536870912,
    MSG_CMSG_CLOEXEC___31 = 1073741824
} ;
enum __anonenum_617082774___31 {
    SCM_RIGHTS___31 = 1,
    SCM_CREDENTIALS___31 = 2
} ;
enum __anonenum_606441560___31 {
    SHUT_RD___31 = 0,
    SHUT_WR___31 = 1,
    SHUT_RDWR___31 = 2
} ;
enum __anonenum_681669233___31 {
    IPPROTO_IP___31 = 0,
    IPPROTO_ICMP___31 = 1,
    IPPROTO_IGMP___31 = 2,
    IPPROTO_IPIP___31 = 4,
    IPPROTO_TCP___31 = 6,
    IPPROTO_EGP___31 = 8,
    IPPROTO_PUP___31 = 12,
    IPPROTO_UDP___31 = 17,
    IPPROTO_IDP___31 = 22,
    IPPROTO_TP___31 = 29,
    IPPROTO_DCCP___31 = 33,
    IPPROTO_IPV6___31 = 41,
    IPPROTO_RSVP___31 = 46,
    IPPROTO_GRE___31 = 47,
    IPPROTO_ESP___31 = 50,
    IPPROTO_AH___31 = 51,
    IPPROTO_MTP___31 = 92,
    IPPROTO_BEETPH___31 = 94,
    IPPROTO_ENCAP___31 = 98,
    IPPROTO_PIM___31 = 103,
    IPPROTO_COMP___31 = 108,
    IPPROTO_SCTP___31 = 132,
    IPPROTO_UDPLITE___31 = 136,
    IPPROTO_MPLS___31 = 137,
    IPPROTO_RAW___31 = 255,
    IPPROTO_MAX___31 = 256
} ;
enum __anonenum_218739988___31 {
    IPPROTO_HOPOPTS___31 = 0,
    IPPROTO_ROUTING___31 = 43,
    IPPROTO_FRAGMENT___31 = 44,
    IPPROTO_ICMPV6___31 = 58,
    IPPROTO_NONE___31 = 59,
    IPPROTO_DSTOPTS___31 = 60,
    IPPROTO_MH___31 = 135
} ;
enum __anonenum_662268580___31 {
    IPPORT_ECHO___31 = 7,
    IPPORT_DISCARD___31 = 9,
    IPPORT_SYSTAT___31 = 11,
    IPPORT_DAYTIME___31 = 13,
    IPPORT_NETSTAT___31 = 15,
    IPPORT_FTP___31 = 21,
    IPPORT_TELNET___31 = 23,
    IPPORT_SMTP___31 = 25,
    IPPORT_TIMESERVER___31 = 37,
    IPPORT_NAMESERVER___31 = 42,
    IPPORT_WHOIS___31 = 43,
    IPPORT_MTP___31 = 57,
    IPPORT_TFTP___31 = 69,
    IPPORT_RJE___31 = 77,
    IPPORT_FINGER___31 = 79,
    IPPORT_TTYLINK___31 = 87,
    IPPORT_SUPDUP___31 = 95,
    IPPORT_EXECSERVER___31 = 512,
    IPPORT_LOGINSERVER___31 = 513,
    IPPORT_CMDSERVER___31 = 514,
    IPPORT_EFSSERVER___31 = 520,
    IPPORT_BIFFUDP___31 = 512,
    IPPORT_WHOSERVER___31 = 513,
    IPPORT_ROUTESERVER___31 = 520,
    IPPORT_RESERVED___31 = 1024,
    IPPORT_USERRESERVED___31 = 5000
} ;
enum __anonenum_788308992___31 {
    TCP_ESTABLISHED___31 = 1,
    TCP_SYN_SENT___31 = 2,
    TCP_SYN_RECV___31 = 3,
    TCP_FIN_WAIT1___31 = 4,
    TCP_FIN_WAIT2___31 = 5,
    TCP_TIME_WAIT___31 = 6,
    TCP_CLOSE___31 = 7,
    TCP_CLOSE_WAIT___31 = 8,
    TCP_LAST_ACK___31 = 9,
    TCP_LISTEN___31 = 10,
    TCP_CLOSING___31 = 11
} ;
enum __anonenum_221125648___31 {
    TCP_NO_QUEUE___31 = 0,
    TCP_RECV_QUEUE___31 = 1,
    TCP_SEND_QUEUE___31 = 2,
    TCP_QUEUES_NR___31 = 3
} ;
enum __anonenum_34415463___31 {
    PTHREAD_CREATE_JOINABLE___31 = 0,
    PTHREAD_CREATE_DETACHED___31 = 1
} ;
enum __anonenum_303612439___31 {
    PTHREAD_MUTEX_TIMED_NP___31 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___31 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___31 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___31 = 3,
    PTHREAD_MUTEX_NORMAL___31 = 0,
    PTHREAD_MUTEX_RECURSIVE___31 = 1,
    PTHREAD_MUTEX_ERRORCHECK___31 = 2,
    PTHREAD_MUTEX_DEFAULT___31 = 0,
    PTHREAD_MUTEX_FAST_NP___31 = 0
} ;
enum __anonenum_931900394___31 {
    PTHREAD_MUTEX_STALLED___31 = 0,
    PTHREAD_MUTEX_STALLED_NP___31 = 0,
    PTHREAD_MUTEX_ROBUST___31 = 1,
    PTHREAD_MUTEX_ROBUST_NP___31 = 1
} ;
enum __anonenum_205214487___31 {
    PTHREAD_PRIO_NONE___31 = 0,
    PTHREAD_PRIO_INHERIT___31 = 1,
    PTHREAD_PRIO_PROTECT___31 = 2
} ;
enum __anonenum_25043950___31 {
    PTHREAD_RWLOCK_PREFER_READER_NP___31 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___31 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___31 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___31 = 0
} ;
enum __anonenum_436439511___31 {
    PTHREAD_INHERIT_SCHED___31 = 0,
    PTHREAD_EXPLICIT_SCHED___31 = 1
} ;
enum __anonenum_998661166___31 {
    PTHREAD_SCOPE_SYSTEM___31 = 0,
    PTHREAD_SCOPE_PROCESS___31 = 1
} ;
enum __anonenum_146137331___31 {
    PTHREAD_PROCESS_PRIVATE___31 = 0,
    PTHREAD_PROCESS_SHARED___31 = 1
} ;
enum __anonenum_53396917___31 {
    PTHREAD_CANCEL_ENABLE___31 = 0,
    PTHREAD_CANCEL_DISABLE___31 = 1
} ;
enum __anonenum_904563783___31 {
    PTHREAD_CANCEL_DEFERRED___31 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___31 = 1
} ;
enum __anonenum_672052974___31 {
    SSL_CT_VALIDATION_PERMISSIVE___31 = 0,
    SSL_CT_VALIDATION_STRICT___31 = 1
} ;
struct shallow_lock {
   struct lock_file lock ;
};
struct shallow_info {
   struct oid_array *shallow ;
   int *ours ;
   int nr_ours ;
   int *theirs ;
   int nr_theirs ;
   struct oid_array *ref ;
   uint32_t **used_shallow ;
   int *need_reachability_test ;
   int *reachable ;
   int *shallow_ref ;
   struct commit **commits ;
   int nr_commits ;
};
struct json_writer {
   struct strbuf json ;
   struct strbuf open_stack ;
   unsigned int need_comma : 1 ;
   unsigned int pretty : 1 ;
};
struct topo_level_slab {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   uint32_t **slab ;
};
struct commit_pos {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   int **slab ;
};
struct commit_graph_data_slab {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   struct commit_graph_data **slab ;
};
struct packed_commit_list {
   struct commit **list ;
   size_t nr ;
   size_t alloc ;
};
struct write_commit_graph_context {
   struct repository *r ;
   struct object_directory *odb ;
   char *graph_name ;
   struct oid_array oids ;
   struct packed_commit_list commits ;
   int num_extra_edges ;
   int num_generation_data_overflows ;
   unsigned long approx_nr_objects ;
   struct progress *progress ;
   int progress_done ;
   uint64_t progress_cnt ;
   char *base_graph_name ;
   int num_commit_graphs_before ;
   int num_commit_graphs_after ;
   char **commit_graph_filenames_before ;
   char **commit_graph_filenames_after ;
   char **commit_graph_hash_after ;
   uint32_t new_num_commits_in_base ;
   struct commit_graph *new_base_graph ;
   unsigned int append : 1 ;
   unsigned int report_progress : 1 ;
   unsigned int split : 1 ;
   unsigned int changed_paths : 1 ;
   unsigned int order_by_pack : 1 ;
   unsigned int write_generation_data : 1 ;
   unsigned int trust_generation_numbers : 1 ;
   struct topo_level_slab *topo_levels ;
   struct commit_graph_opts  const  *opts ;
   size_t total_bloom_filter_data_size ;
   struct bloom_filter_settings  const  *bloom_settings ;
   int count_bloom_filter_computed ;
   int count_bloom_filter_not_computed ;
   int count_bloom_filter_trunc_empty ;
   int count_bloom_filter_trunc_large ;
};
struct refs_cb_data {
   struct oidset *commits ;
   struct progress *progress ;
};
enum __anonenum_437032235___32 {
    _PC_LINK_MAX___32 = 0,
    _PC_MAX_CANON___32 = 1,
    _PC_MAX_INPUT___32 = 2,
    _PC_NAME_MAX___32 = 3,
    _PC_PATH_MAX___32 = 4,
    _PC_PIPE_BUF___32 = 5,
    _PC_CHOWN_RESTRICTED___32 = 6,
    _PC_NO_TRUNC___32 = 7,
    _PC_VDISABLE___32 = 8,
    _PC_SYNC_IO___32 = 9,
    _PC_ASYNC_IO___32 = 10,
    _PC_PRIO_IO___32 = 11,
    _PC_SOCK_MAXBUF___32 = 12,
    _PC_FILESIZEBITS___32 = 13,
    _PC_REC_INCR_XFER_SIZE___32 = 14,
    _PC_REC_MAX_XFER_SIZE___32 = 15,
    _PC_REC_MIN_XFER_SIZE___32 = 16,
    _PC_REC_XFER_ALIGN___32 = 17,
    _PC_ALLOC_SIZE_MIN___32 = 18,
    _PC_SYMLINK_MAX___32 = 19,
    _PC_2_SYMLINKS___32 = 20
} ;
enum __anonenum_315186338___32 {
    _SC_ARG_MAX___32 = 0,
    _SC_CHILD_MAX___32 = 1,
    _SC_CLK_TCK___32 = 2,
    _SC_NGROUPS_MAX___32 = 3,
    _SC_OPEN_MAX___32 = 4,
    _SC_STREAM_MAX___32 = 5,
    _SC_TZNAME_MAX___32 = 6,
    _SC_JOB_CONTROL___32 = 7,
    _SC_SAVED_IDS___32 = 8,
    _SC_REALTIME_SIGNALS___32 = 9,
    _SC_PRIORITY_SCHEDULING___32 = 10,
    _SC_TIMERS___32 = 11,
    _SC_ASYNCHRONOUS_IO___32 = 12,
    _SC_PRIORITIZED_IO___32 = 13,
    _SC_SYNCHRONIZED_IO___32 = 14,
    _SC_FSYNC___32 = 15,
    _SC_MAPPED_FILES___32 = 16,
    _SC_MEMLOCK___32 = 17,
    _SC_MEMLOCK_RANGE___32 = 18,
    _SC_MEMORY_PROTECTION___32 = 19,
    _SC_MESSAGE_PASSING___32 = 20,
    _SC_SEMAPHORES___32 = 21,
    _SC_SHARED_MEMORY_OBJECTS___32 = 22,
    _SC_AIO_LISTIO_MAX___32 = 23,
    _SC_AIO_MAX___32 = 24,
    _SC_AIO_PRIO_DELTA_MAX___32 = 25,
    _SC_DELAYTIMER_MAX___32 = 26,
    _SC_MQ_OPEN_MAX___32 = 27,
    _SC_MQ_PRIO_MAX___32 = 28,
    _SC_VERSION___32 = 29,
    _SC_PAGESIZE___32 = 30,
    _SC_RTSIG_MAX___32 = 31,
    _SC_SEM_NSEMS_MAX___32 = 32,
    _SC_SEM_VALUE_MAX___32 = 33,
    _SC_SIGQUEUE_MAX___32 = 34,
    _SC_TIMER_MAX___32 = 35,
    _SC_BC_BASE_MAX___32 = 36,
    _SC_BC_DIM_MAX___32 = 37,
    _SC_BC_SCALE_MAX___32 = 38,
    _SC_BC_STRING_MAX___32 = 39,
    _SC_COLL_WEIGHTS_MAX___32 = 40,
    _SC_EQUIV_CLASS_MAX___32 = 41,
    _SC_EXPR_NEST_MAX___32 = 42,
    _SC_LINE_MAX___32 = 43,
    _SC_RE_DUP_MAX___32 = 44,
    _SC_CHARCLASS_NAME_MAX___32 = 45,
    _SC_2_VERSION___32 = 46,
    _SC_2_C_BIND___32 = 47,
    _SC_2_C_DEV___32 = 48,
    _SC_2_FORT_DEV___32 = 49,
    _SC_2_FORT_RUN___32 = 50,
    _SC_2_SW_DEV___32 = 51,
    _SC_2_LOCALEDEF___32 = 52,
    _SC_PII___32 = 53,
    _SC_PII_XTI___32 = 54,
    _SC_PII_SOCKET___32 = 55,
    _SC_PII_INTERNET___32 = 56,
    _SC_PII_OSI___32 = 57,
    _SC_POLL___32 = 58,
    _SC_SELECT___32 = 59,
    _SC_UIO_MAXIOV___32 = 60,
    _SC_IOV_MAX___32 = 60,
    _SC_PII_INTERNET_STREAM___32 = 61,
    _SC_PII_INTERNET_DGRAM___32 = 62,
    _SC_PII_OSI_COTS___32 = 63,
    _SC_PII_OSI_CLTS___32 = 64,
    _SC_PII_OSI_M___32 = 65,
    _SC_T_IOV_MAX___32 = 66,
    _SC_THREADS___32 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___32 = 68,
    _SC_GETGR_R_SIZE_MAX___32 = 69,
    _SC_GETPW_R_SIZE_MAX___32 = 70,
    _SC_LOGIN_NAME_MAX___32 = 71,
    _SC_TTY_NAME_MAX___32 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___32 = 73,
    _SC_THREAD_KEYS_MAX___32 = 74,
    _SC_THREAD_STACK_MIN___32 = 75,
    _SC_THREAD_THREADS_MAX___32 = 76,
    _SC_THREAD_ATTR_STACKADDR___32 = 77,
    _SC_THREAD_ATTR_STACKSIZE___32 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___32 = 79,
    _SC_THREAD_PRIO_INHERIT___32 = 80,
    _SC_THREAD_PRIO_PROTECT___32 = 81,
    _SC_THREAD_PROCESS_SHARED___32 = 82,
    _SC_NPROCESSORS_CONF___32 = 83,
    _SC_NPROCESSORS_ONLN___32 = 84,
    _SC_PHYS_PAGES___32 = 85,
    _SC_AVPHYS_PAGES___32 = 86,
    _SC_ATEXIT_MAX___32 = 87,
    _SC_PASS_MAX___32 = 88,
    _SC_XOPEN_VERSION___32 = 89,
    _SC_XOPEN_XCU_VERSION___32 = 90,
    _SC_XOPEN_UNIX___32 = 91,
    _SC_XOPEN_CRYPT___32 = 92,
    _SC_XOPEN_ENH_I18N___32 = 93,
    _SC_XOPEN_SHM___32 = 94,
    _SC_2_CHAR_TERM___32 = 95,
    _SC_2_C_VERSION___32 = 96,
    _SC_2_UPE___32 = 97,
    _SC_XOPEN_XPG2___32 = 98,
    _SC_XOPEN_XPG3___32 = 99,
    _SC_XOPEN_XPG4___32 = 100,
    _SC_CHAR_BIT___32 = 101,
    _SC_CHAR_MAX___32 = 102,
    _SC_CHAR_MIN___32 = 103,
    _SC_INT_MAX___32 = 104,
    _SC_INT_MIN___32 = 105,
    _SC_LONG_BIT___32 = 106,
    _SC_WORD_BIT___32 = 107,
    _SC_MB_LEN_MAX___32 = 108,
    _SC_NZERO___32 = 109,
    _SC_SSIZE_MAX___32 = 110,
    _SC_SCHAR_MAX___32 = 111,
    _SC_SCHAR_MIN___32 = 112,
    _SC_SHRT_MAX___32 = 113,
    _SC_SHRT_MIN___32 = 114,
    _SC_UCHAR_MAX___32 = 115,
    _SC_UINT_MAX___32 = 116,
    _SC_ULONG_MAX___32 = 117,
    _SC_USHRT_MAX___32 = 118,
    _SC_NL_ARGMAX___32 = 119,
    _SC_NL_LANGMAX___32 = 120,
    _SC_NL_MSGMAX___32 = 121,
    _SC_NL_NMAX___32 = 122,
    _SC_NL_SETMAX___32 = 123,
    _SC_NL_TEXTMAX___32 = 124,
    _SC_XBS5_ILP32_OFF32___32 = 125,
    _SC_XBS5_ILP32_OFFBIG___32 = 126,
    _SC_XBS5_LP64_OFF64___32 = 127,
    _SC_XBS5_LPBIG_OFFBIG___32 = 128,
    _SC_XOPEN_LEGACY___32 = 129,
    _SC_XOPEN_REALTIME___32 = 130,
    _SC_XOPEN_REALTIME_THREADS___32 = 131,
    _SC_ADVISORY_INFO___32 = 132,
    _SC_BARRIERS___32 = 133,
    _SC_BASE___32 = 134,
    _SC_C_LANG_SUPPORT___32 = 135,
    _SC_C_LANG_SUPPORT_R___32 = 136,
    _SC_CLOCK_SELECTION___32 = 137,
    _SC_CPUTIME___32 = 138,
    _SC_THREAD_CPUTIME___32 = 139,
    _SC_DEVICE_IO___32 = 140,
    _SC_DEVICE_SPECIFIC___32 = 141,
    _SC_DEVICE_SPECIFIC_R___32 = 142,
    _SC_FD_MGMT___32 = 143,
    _SC_FIFO___32 = 144,
    _SC_PIPE___32 = 145,
    _SC_FILE_ATTRIBUTES___32 = 146,
    _SC_FILE_LOCKING___32 = 147,
    _SC_FILE_SYSTEM___32 = 148,
    _SC_MONOTONIC_CLOCK___32 = 149,
    _SC_MULTI_PROCESS___32 = 150,
    _SC_SINGLE_PROCESS___32 = 151,
    _SC_NETWORKING___32 = 152,
    _SC_READER_WRITER_LOCKS___32 = 153,
    _SC_SPIN_LOCKS___32 = 154,
    _SC_REGEXP___32 = 155,
    _SC_REGEX_VERSION___32 = 156,
    _SC_SHELL___32 = 157,
    _SC_SIGNALS___32 = 158,
    _SC_SPAWN___32 = 159,
    _SC_SPORADIC_SERVER___32 = 160,
    _SC_THREAD_SPORADIC_SERVER___32 = 161,
    _SC_SYSTEM_DATABASE___32 = 162,
    _SC_SYSTEM_DATABASE_R___32 = 163,
    _SC_TIMEOUTS___32 = 164,
    _SC_TYPED_MEMORY_OBJECTS___32 = 165,
    _SC_USER_GROUPS___32 = 166,
    _SC_USER_GROUPS_R___32 = 167,
    _SC_2_PBS___32 = 168,
    _SC_2_PBS_ACCOUNTING___32 = 169,
    _SC_2_PBS_LOCATE___32 = 170,
    _SC_2_PBS_MESSAGE___32 = 171,
    _SC_2_PBS_TRACK___32 = 172,
    _SC_SYMLOOP_MAX___32 = 173,
    _SC_STREAMS___32 = 174,
    _SC_2_PBS_CHECKPOINT___32 = 175,
    _SC_V6_ILP32_OFF32___32 = 176,
    _SC_V6_ILP32_OFFBIG___32 = 177,
    _SC_V6_LP64_OFF64___32 = 178,
    _SC_V6_LPBIG_OFFBIG___32 = 179,
    _SC_HOST_NAME_MAX___32 = 180,
    _SC_TRACE___32 = 181,
    _SC_TRACE_EVENT_FILTER___32 = 182,
    _SC_TRACE_INHERIT___32 = 183,
    _SC_TRACE_LOG___32 = 184,
    _SC_LEVEL1_ICACHE_SIZE___32 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___32 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___32 = 187,
    _SC_LEVEL1_DCACHE_SIZE___32 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___32 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___32 = 190,
    _SC_LEVEL2_CACHE_SIZE___32 = 191,
    _SC_LEVEL2_CACHE_ASSOC___32 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___32 = 193,
    _SC_LEVEL3_CACHE_SIZE___32 = 194,
    _SC_LEVEL3_CACHE_ASSOC___32 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___32 = 196,
    _SC_LEVEL4_CACHE_SIZE___32 = 197,
    _SC_LEVEL4_CACHE_ASSOC___32 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___32 = 199,
    _SC_IPV6___32 = 235,
    _SC_RAW_SOCKETS___32 = 236,
    _SC_V7_ILP32_OFF32___32 = 237,
    _SC_V7_ILP32_OFFBIG___32 = 238,
    _SC_V7_LP64_OFF64___32 = 239,
    _SC_V7_LPBIG_OFFBIG___32 = 240,
    _SC_SS_REPL_MAX___32 = 241,
    _SC_TRACE_EVENT_NAME_MAX___32 = 242,
    _SC_TRACE_NAME_MAX___32 = 243,
    _SC_TRACE_SYS_MAX___32 = 244,
    _SC_TRACE_USER_EVENT_MAX___32 = 245,
    _SC_XOPEN_STREAMS___32 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___32 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___32 = 248
} ;
enum __anonenum_875524036___32 {
    _CS_PATH___32 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___32 = 1,
    _CS_GNU_LIBC_VERSION___32 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___32 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___32 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___32 = 5,
    _CS_LFS_CFLAGS___32 = 1000,
    _CS_LFS_LDFLAGS___32 = 1001,
    _CS_LFS_LIBS___32 = 1002,
    _CS_LFS_LINTFLAGS___32 = 1003,
    _CS_LFS64_CFLAGS___32 = 1004,
    _CS_LFS64_LDFLAGS___32 = 1005,
    _CS_LFS64_LIBS___32 = 1006,
    _CS_LFS64_LINTFLAGS___32 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___32 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___32 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___32 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___32 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___32 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___32 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___32 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___32 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___32 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___32 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___32 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___32 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___32 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___32 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___32 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___32 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___32 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___32 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___32 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___32 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___32 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___32 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___32 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___32 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___32 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___32 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___32 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___32 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___32 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___32 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___32 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___32 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___32 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___32 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___32 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___32 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___32 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___32 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___32 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___32 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___32 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___32 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___32 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___32 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___32 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___32 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___32 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___32 = 1147,
    _CS_V6_ENV___32 = 1148,
    _CS_V7_ENV___32 = 1149
} ;
enum __anonenum_513775621___32 {
    DT_UNKNOWN___32 = 0,
    DT_FIFO___32 = 1,
    DT_CHR___32 = 2,
    DT_DIR___32 = 4,
    DT_BLK___32 = 6,
    DT_REG___32 = 8,
    DT_LNK___32 = 10,
    DT_SOCK___32 = 12,
    DT_WHT___32 = 14
} ;
enum __anonenum_77002343___32 {
    SI_ASYNCNL___32 = -60,
    SI_TKILL___32 = -6,
    SI_SIGIO___32 = -5,
    SI_ASYNCIO___32 = -4,
    SI_MESGQ___32 = -3,
    SI_TIMER___32 = -2,
    SI_QUEUE___32 = -1,
    SI_USER___32 = 0,
    SI_KERNEL___32 = 128
} ;
enum __anonenum_131038172___32 {
    ILL_ILLOPC___32 = 1,
    ILL_ILLOPN___32 = 2,
    ILL_ILLADR___32 = 3,
    ILL_ILLTRP___32 = 4,
    ILL_PRVOPC___32 = 5,
    ILL_PRVREG___32 = 6,
    ILL_COPROC___32 = 7,
    ILL_BADSTK___32 = 8
} ;
enum __anonenum_452038093___32 {
    FPE_INTDIV___32 = 1,
    FPE_INTOVF___32 = 2,
    FPE_FLTDIV___32 = 3,
    FPE_FLTOVF___32 = 4,
    FPE_FLTUND___32 = 5,
    FPE_FLTRES___32 = 6,
    FPE_FLTINV___32 = 7,
    FPE_FLTSUB___32 = 8
} ;
enum __anonenum_30976155___32 {
    SEGV_MAPERR___32 = 1,
    SEGV_ACCERR___32 = 2,
    SEGV_BNDERR___32 = 3,
    SEGV_PKUERR___32 = 4
} ;
enum __anonenum_1036286214___32 {
    BUS_ADRALN___32 = 1,
    BUS_ADRERR___32 = 2,
    BUS_OBJERR___32 = 3,
    BUS_MCEERR_AR___32 = 4,
    BUS_MCEERR_AO___32 = 5
} ;
enum __anonenum_493465559___32 {
    TRAP_BRKPT___32 = 1,
    TRAP_TRACE___32 = 2
} ;
enum __anonenum_23175539___32 {
    CLD_EXITED___32 = 1,
    CLD_KILLED___32 = 2,
    CLD_DUMPED___32 = 3,
    CLD_TRAPPED___32 = 4,
    CLD_STOPPED___32 = 5,
    CLD_CONTINUED___32 = 6
} ;
enum __anonenum_111643124___32 {
    POLL_IN___32 = 1,
    POLL_OUT___32 = 2,
    POLL_MSG___32 = 3,
    POLL_ERR___32 = 4,
    POLL_PRI___32 = 5,
    POLL_HUP___32 = 6
} ;
enum __anonenum_852341087___32 {
    SIGEV_SIGNAL___32 = 0,
    SIGEV_NONE___32 = 1,
    SIGEV_THREAD___32 = 2,
    SIGEV_THREAD_ID___32 = 4
} ;
enum __anonenum_451154152___32 {
    REG_R8___32 = 0,
    REG_R9___32 = 1,
    REG_R10___32 = 2,
    REG_R11___32 = 3,
    REG_R12___32 = 4,
    REG_R13___32 = 5,
    REG_R14___32 = 6,
    REG_R15___32 = 7,
    REG_RDI___32 = 8,
    REG_RSI___32 = 9,
    REG_RBP___32 = 10,
    REG_RBX___32 = 11,
    REG_RDX___32 = 12,
    REG_RAX___32 = 13,
    REG_RCX___32 = 14,
    REG_RSP___32 = 15,
    REG_RIP___32 = 16,
    REG_EFL___32 = 17,
    REG_CSGSFS___32 = 18,
    REG_ERR___32 = 19,
    REG_TRAPNO___32 = 20,
    REG_OLDMASK___32 = 21,
    REG_CR2___32 = 22
} ;
enum __anonenum_57186863___32 {
    SS_ONSTACK___32 = 1,
    SS_DISABLE___32 = 2
} ;
enum __anonenum_83571709___32 {
    MSG_OOB___32 = 1,
    MSG_PEEK___32 = 2,
    MSG_DONTROUTE___32 = 4,
    MSG_TRYHARD___32 = 4,
    MSG_CTRUNC___32 = 8,
    MSG_PROXY___32 = 16,
    MSG_TRUNC___32 = 32,
    MSG_DONTWAIT___32 = 64,
    MSG_EOR___32 = 128,
    MSG_WAITALL___32 = 256,
    MSG_FIN___32 = 512,
    MSG_SYN___32 = 1024,
    MSG_CONFIRM___32 = 2048,
    MSG_RST___32 = 4096,
    MSG_ERRQUEUE___32 = 8192,
    MSG_NOSIGNAL___32 = 16384,
    MSG_MORE___32 = 32768,
    MSG_WAITFORONE___32 = 65536,
    MSG_BATCH___32 = 262144,
    MSG_ZEROCOPY___32 = 67108864,
    MSG_FASTOPEN___32 = 536870912,
    MSG_CMSG_CLOEXEC___32 = 1073741824
} ;
enum __anonenum_617082774___32 {
    SCM_RIGHTS___32 = 1,
    SCM_CREDENTIALS___32 = 2
} ;
enum __anonenum_606441560___32 {
    SHUT_RD___32 = 0,
    SHUT_WR___32 = 1,
    SHUT_RDWR___32 = 2
} ;
enum __anonenum_681669233___32 {
    IPPROTO_IP___32 = 0,
    IPPROTO_ICMP___32 = 1,
    IPPROTO_IGMP___32 = 2,
    IPPROTO_IPIP___32 = 4,
    IPPROTO_TCP___32 = 6,
    IPPROTO_EGP___32 = 8,
    IPPROTO_PUP___32 = 12,
    IPPROTO_UDP___32 = 17,
    IPPROTO_IDP___32 = 22,
    IPPROTO_TP___32 = 29,
    IPPROTO_DCCP___32 = 33,
    IPPROTO_IPV6___32 = 41,
    IPPROTO_RSVP___32 = 46,
    IPPROTO_GRE___32 = 47,
    IPPROTO_ESP___32 = 50,
    IPPROTO_AH___32 = 51,
    IPPROTO_MTP___32 = 92,
    IPPROTO_BEETPH___32 = 94,
    IPPROTO_ENCAP___32 = 98,
    IPPROTO_PIM___32 = 103,
    IPPROTO_COMP___32 = 108,
    IPPROTO_SCTP___32 = 132,
    IPPROTO_UDPLITE___32 = 136,
    IPPROTO_MPLS___32 = 137,
    IPPROTO_RAW___32 = 255,
    IPPROTO_MAX___32 = 256
} ;
enum __anonenum_218739988___32 {
    IPPROTO_HOPOPTS___32 = 0,
    IPPROTO_ROUTING___32 = 43,
    IPPROTO_FRAGMENT___32 = 44,
    IPPROTO_ICMPV6___32 = 58,
    IPPROTO_NONE___32 = 59,
    IPPROTO_DSTOPTS___32 = 60,
    IPPROTO_MH___32 = 135
} ;
enum __anonenum_662268580___32 {
    IPPORT_ECHO___32 = 7,
    IPPORT_DISCARD___32 = 9,
    IPPORT_SYSTAT___32 = 11,
    IPPORT_DAYTIME___32 = 13,
    IPPORT_NETSTAT___32 = 15,
    IPPORT_FTP___32 = 21,
    IPPORT_TELNET___32 = 23,
    IPPORT_SMTP___32 = 25,
    IPPORT_TIMESERVER___32 = 37,
    IPPORT_NAMESERVER___32 = 42,
    IPPORT_WHOIS___32 = 43,
    IPPORT_MTP___32 = 57,
    IPPORT_TFTP___32 = 69,
    IPPORT_RJE___32 = 77,
    IPPORT_FINGER___32 = 79,
    IPPORT_TTYLINK___32 = 87,
    IPPORT_SUPDUP___32 = 95,
    IPPORT_EXECSERVER___32 = 512,
    IPPORT_LOGINSERVER___32 = 513,
    IPPORT_CMDSERVER___32 = 514,
    IPPORT_EFSSERVER___32 = 520,
    IPPORT_BIFFUDP___32 = 512,
    IPPORT_WHOSERVER___32 = 513,
    IPPORT_ROUTESERVER___32 = 520,
    IPPORT_RESERVED___32 = 1024,
    IPPORT_USERRESERVED___32 = 5000
} ;
enum __anonenum_788308992___32 {
    TCP_ESTABLISHED___32 = 1,
    TCP_SYN_SENT___32 = 2,
    TCP_SYN_RECV___32 = 3,
    TCP_FIN_WAIT1___32 = 4,
    TCP_FIN_WAIT2___32 = 5,
    TCP_TIME_WAIT___32 = 6,
    TCP_CLOSE___32 = 7,
    TCP_CLOSE_WAIT___32 = 8,
    TCP_LAST_ACK___32 = 9,
    TCP_LISTEN___32 = 10,
    TCP_CLOSING___32 = 11
} ;
enum __anonenum_221125648___32 {
    TCP_NO_QUEUE___32 = 0,
    TCP_RECV_QUEUE___32 = 1,
    TCP_SEND_QUEUE___32 = 2,
    TCP_QUEUES_NR___32 = 3
} ;
enum __anonenum_34415463___32 {
    PTHREAD_CREATE_JOINABLE___32 = 0,
    PTHREAD_CREATE_DETACHED___32 = 1
} ;
enum __anonenum_303612439___32 {
    PTHREAD_MUTEX_TIMED_NP___32 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___32 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___32 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___32 = 3,
    PTHREAD_MUTEX_NORMAL___32 = 0,
    PTHREAD_MUTEX_RECURSIVE___32 = 1,
    PTHREAD_MUTEX_ERRORCHECK___32 = 2,
    PTHREAD_MUTEX_DEFAULT___32 = 0,
    PTHREAD_MUTEX_FAST_NP___32 = 0
} ;
enum __anonenum_931900394___32 {
    PTHREAD_MUTEX_STALLED___32 = 0,
    PTHREAD_MUTEX_STALLED_NP___32 = 0,
    PTHREAD_MUTEX_ROBUST___32 = 1,
    PTHREAD_MUTEX_ROBUST_NP___32 = 1
} ;
enum __anonenum_205214487___32 {
    PTHREAD_PRIO_NONE___32 = 0,
    PTHREAD_PRIO_INHERIT___32 = 1,
    PTHREAD_PRIO_PROTECT___32 = 2
} ;
enum __anonenum_25043950___32 {
    PTHREAD_RWLOCK_PREFER_READER_NP___32 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___32 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___32 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___32 = 0
} ;
enum __anonenum_436439511___32 {
    PTHREAD_INHERIT_SCHED___32 = 0,
    PTHREAD_EXPLICIT_SCHED___32 = 1
} ;
enum __anonenum_998661166___32 {
    PTHREAD_SCOPE_SYSTEM___32 = 0,
    PTHREAD_SCOPE_PROCESS___32 = 1
} ;
enum __anonenum_146137331___32 {
    PTHREAD_PROCESS_PRIVATE___32 = 0,
    PTHREAD_PROCESS_SHARED___32 = 1
} ;
enum __anonenum_53396917___32 {
    PTHREAD_CANCEL_ENABLE___32 = 0,
    PTHREAD_CANCEL_DISABLE___32 = 1
} ;
enum __anonenum_904563783___32 {
    PTHREAD_CANCEL_DEFERRED___32 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___32 = 1
} ;
enum __anonenum_672052974___32 {
    SSL_CT_VALIDATION_PERMISSIVE___32 = 0,
    SSL_CT_VALIDATION_STRICT___32 = 1
} ;
struct atom_value ;
struct ref_sorting ;
enum ref_sorting_order {
    REF_SORTING_REVERSE = 1,
    REF_SORTING_ICASE = 2,
    REF_SORTING_VERSION = 4,
    REF_SORTING_DETACHED_HEAD_FIRST = 8
} ;
struct ref_array_item {
   struct object_id objectname ;
   char const   *rest ;
   int flag ;
   unsigned int kind ;
   char const   *symref ;
   struct commit *commit ;
   struct atom_value *value ;
   char refname[] ;
};
struct ref_array {
   int nr ;
   int alloc ;
   struct ref_array_item **items ;
   struct rev_info *revs ;
};
struct ref_filter {
   char const   **name_patterns ;
   struct oid_array points_at ;
   struct commit_list *with_commit ;
   struct commit_list *no_commit ;
   struct commit_list *reachable_from ;
   struct commit_list *unreachable_from ;
   unsigned int with_commit_tag_algo : 1 ;
   unsigned int match_as_path : 1 ;
   unsigned int ignore_case : 1 ;
   unsigned int detached : 1 ;
   unsigned int kind ;
   unsigned int lines ;
   int abbrev ;
   int verbose ;
};
struct ref_format {
   char const   *format ;
   char const   *rest ;
   int quote_style ;
   int use_rest ;
   int use_color ;
   int need_color_reset_at_eol ;
};
struct contains_stack_entry {
   struct commit *commit ;
   struct commit_list *parents ;
};
struct contains_stack {
   int nr ;
   int alloc ;
   struct contains_stack_entry *contains_stack ;
};
enum __anonenum_437032235___33 {
    _PC_LINK_MAX___33 = 0,
    _PC_MAX_CANON___33 = 1,
    _PC_MAX_INPUT___33 = 2,
    _PC_NAME_MAX___33 = 3,
    _PC_PATH_MAX___33 = 4,
    _PC_PIPE_BUF___33 = 5,
    _PC_CHOWN_RESTRICTED___33 = 6,
    _PC_NO_TRUNC___33 = 7,
    _PC_VDISABLE___33 = 8,
    _PC_SYNC_IO___33 = 9,
    _PC_ASYNC_IO___33 = 10,
    _PC_PRIO_IO___33 = 11,
    _PC_SOCK_MAXBUF___33 = 12,
    _PC_FILESIZEBITS___33 = 13,
    _PC_REC_INCR_XFER_SIZE___33 = 14,
    _PC_REC_MAX_XFER_SIZE___33 = 15,
    _PC_REC_MIN_XFER_SIZE___33 = 16,
    _PC_REC_XFER_ALIGN___33 = 17,
    _PC_ALLOC_SIZE_MIN___33 = 18,
    _PC_SYMLINK_MAX___33 = 19,
    _PC_2_SYMLINKS___33 = 20
} ;
enum __anonenum_315186338___33 {
    _SC_ARG_MAX___33 = 0,
    _SC_CHILD_MAX___33 = 1,
    _SC_CLK_TCK___33 = 2,
    _SC_NGROUPS_MAX___33 = 3,
    _SC_OPEN_MAX___33 = 4,
    _SC_STREAM_MAX___33 = 5,
    _SC_TZNAME_MAX___33 = 6,
    _SC_JOB_CONTROL___33 = 7,
    _SC_SAVED_IDS___33 = 8,
    _SC_REALTIME_SIGNALS___33 = 9,
    _SC_PRIORITY_SCHEDULING___33 = 10,
    _SC_TIMERS___33 = 11,
    _SC_ASYNCHRONOUS_IO___33 = 12,
    _SC_PRIORITIZED_IO___33 = 13,
    _SC_SYNCHRONIZED_IO___33 = 14,
    _SC_FSYNC___33 = 15,
    _SC_MAPPED_FILES___33 = 16,
    _SC_MEMLOCK___33 = 17,
    _SC_MEMLOCK_RANGE___33 = 18,
    _SC_MEMORY_PROTECTION___33 = 19,
    _SC_MESSAGE_PASSING___33 = 20,
    _SC_SEMAPHORES___33 = 21,
    _SC_SHARED_MEMORY_OBJECTS___33 = 22,
    _SC_AIO_LISTIO_MAX___33 = 23,
    _SC_AIO_MAX___33 = 24,
    _SC_AIO_PRIO_DELTA_MAX___33 = 25,
    _SC_DELAYTIMER_MAX___33 = 26,
    _SC_MQ_OPEN_MAX___33 = 27,
    _SC_MQ_PRIO_MAX___33 = 28,
    _SC_VERSION___33 = 29,
    _SC_PAGESIZE___33 = 30,
    _SC_RTSIG_MAX___33 = 31,
    _SC_SEM_NSEMS_MAX___33 = 32,
    _SC_SEM_VALUE_MAX___33 = 33,
    _SC_SIGQUEUE_MAX___33 = 34,
    _SC_TIMER_MAX___33 = 35,
    _SC_BC_BASE_MAX___33 = 36,
    _SC_BC_DIM_MAX___33 = 37,
    _SC_BC_SCALE_MAX___33 = 38,
    _SC_BC_STRING_MAX___33 = 39,
    _SC_COLL_WEIGHTS_MAX___33 = 40,
    _SC_EQUIV_CLASS_MAX___33 = 41,
    _SC_EXPR_NEST_MAX___33 = 42,
    _SC_LINE_MAX___33 = 43,
    _SC_RE_DUP_MAX___33 = 44,
    _SC_CHARCLASS_NAME_MAX___33 = 45,
    _SC_2_VERSION___33 = 46,
    _SC_2_C_BIND___33 = 47,
    _SC_2_C_DEV___33 = 48,
    _SC_2_FORT_DEV___33 = 49,
    _SC_2_FORT_RUN___33 = 50,
    _SC_2_SW_DEV___33 = 51,
    _SC_2_LOCALEDEF___33 = 52,
    _SC_PII___33 = 53,
    _SC_PII_XTI___33 = 54,
    _SC_PII_SOCKET___33 = 55,
    _SC_PII_INTERNET___33 = 56,
    _SC_PII_OSI___33 = 57,
    _SC_POLL___33 = 58,
    _SC_SELECT___33 = 59,
    _SC_UIO_MAXIOV___33 = 60,
    _SC_IOV_MAX___33 = 60,
    _SC_PII_INTERNET_STREAM___33 = 61,
    _SC_PII_INTERNET_DGRAM___33 = 62,
    _SC_PII_OSI_COTS___33 = 63,
    _SC_PII_OSI_CLTS___33 = 64,
    _SC_PII_OSI_M___33 = 65,
    _SC_T_IOV_MAX___33 = 66,
    _SC_THREADS___33 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___33 = 68,
    _SC_GETGR_R_SIZE_MAX___33 = 69,
    _SC_GETPW_R_SIZE_MAX___33 = 70,
    _SC_LOGIN_NAME_MAX___33 = 71,
    _SC_TTY_NAME_MAX___33 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___33 = 73,
    _SC_THREAD_KEYS_MAX___33 = 74,
    _SC_THREAD_STACK_MIN___33 = 75,
    _SC_THREAD_THREADS_MAX___33 = 76,
    _SC_THREAD_ATTR_STACKADDR___33 = 77,
    _SC_THREAD_ATTR_STACKSIZE___33 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___33 = 79,
    _SC_THREAD_PRIO_INHERIT___33 = 80,
    _SC_THREAD_PRIO_PROTECT___33 = 81,
    _SC_THREAD_PROCESS_SHARED___33 = 82,
    _SC_NPROCESSORS_CONF___33 = 83,
    _SC_NPROCESSORS_ONLN___33 = 84,
    _SC_PHYS_PAGES___33 = 85,
    _SC_AVPHYS_PAGES___33 = 86,
    _SC_ATEXIT_MAX___33 = 87,
    _SC_PASS_MAX___33 = 88,
    _SC_XOPEN_VERSION___33 = 89,
    _SC_XOPEN_XCU_VERSION___33 = 90,
    _SC_XOPEN_UNIX___33 = 91,
    _SC_XOPEN_CRYPT___33 = 92,
    _SC_XOPEN_ENH_I18N___33 = 93,
    _SC_XOPEN_SHM___33 = 94,
    _SC_2_CHAR_TERM___33 = 95,
    _SC_2_C_VERSION___33 = 96,
    _SC_2_UPE___33 = 97,
    _SC_XOPEN_XPG2___33 = 98,
    _SC_XOPEN_XPG3___33 = 99,
    _SC_XOPEN_XPG4___33 = 100,
    _SC_CHAR_BIT___33 = 101,
    _SC_CHAR_MAX___33 = 102,
    _SC_CHAR_MIN___33 = 103,
    _SC_INT_MAX___33 = 104,
    _SC_INT_MIN___33 = 105,
    _SC_LONG_BIT___33 = 106,
    _SC_WORD_BIT___33 = 107,
    _SC_MB_LEN_MAX___33 = 108,
    _SC_NZERO___33 = 109,
    _SC_SSIZE_MAX___33 = 110,
    _SC_SCHAR_MAX___33 = 111,
    _SC_SCHAR_MIN___33 = 112,
    _SC_SHRT_MAX___33 = 113,
    _SC_SHRT_MIN___33 = 114,
    _SC_UCHAR_MAX___33 = 115,
    _SC_UINT_MAX___33 = 116,
    _SC_ULONG_MAX___33 = 117,
    _SC_USHRT_MAX___33 = 118,
    _SC_NL_ARGMAX___33 = 119,
    _SC_NL_LANGMAX___33 = 120,
    _SC_NL_MSGMAX___33 = 121,
    _SC_NL_NMAX___33 = 122,
    _SC_NL_SETMAX___33 = 123,
    _SC_NL_TEXTMAX___33 = 124,
    _SC_XBS5_ILP32_OFF32___33 = 125,
    _SC_XBS5_ILP32_OFFBIG___33 = 126,
    _SC_XBS5_LP64_OFF64___33 = 127,
    _SC_XBS5_LPBIG_OFFBIG___33 = 128,
    _SC_XOPEN_LEGACY___33 = 129,
    _SC_XOPEN_REALTIME___33 = 130,
    _SC_XOPEN_REALTIME_THREADS___33 = 131,
    _SC_ADVISORY_INFO___33 = 132,
    _SC_BARRIERS___33 = 133,
    _SC_BASE___33 = 134,
    _SC_C_LANG_SUPPORT___33 = 135,
    _SC_C_LANG_SUPPORT_R___33 = 136,
    _SC_CLOCK_SELECTION___33 = 137,
    _SC_CPUTIME___33 = 138,
    _SC_THREAD_CPUTIME___33 = 139,
    _SC_DEVICE_IO___33 = 140,
    _SC_DEVICE_SPECIFIC___33 = 141,
    _SC_DEVICE_SPECIFIC_R___33 = 142,
    _SC_FD_MGMT___33 = 143,
    _SC_FIFO___33 = 144,
    _SC_PIPE___33 = 145,
    _SC_FILE_ATTRIBUTES___33 = 146,
    _SC_FILE_LOCKING___33 = 147,
    _SC_FILE_SYSTEM___33 = 148,
    _SC_MONOTONIC_CLOCK___33 = 149,
    _SC_MULTI_PROCESS___33 = 150,
    _SC_SINGLE_PROCESS___33 = 151,
    _SC_NETWORKING___33 = 152,
    _SC_READER_WRITER_LOCKS___33 = 153,
    _SC_SPIN_LOCKS___33 = 154,
    _SC_REGEXP___33 = 155,
    _SC_REGEX_VERSION___33 = 156,
    _SC_SHELL___33 = 157,
    _SC_SIGNALS___33 = 158,
    _SC_SPAWN___33 = 159,
    _SC_SPORADIC_SERVER___33 = 160,
    _SC_THREAD_SPORADIC_SERVER___33 = 161,
    _SC_SYSTEM_DATABASE___33 = 162,
    _SC_SYSTEM_DATABASE_R___33 = 163,
    _SC_TIMEOUTS___33 = 164,
    _SC_TYPED_MEMORY_OBJECTS___33 = 165,
    _SC_USER_GROUPS___33 = 166,
    _SC_USER_GROUPS_R___33 = 167,
    _SC_2_PBS___33 = 168,
    _SC_2_PBS_ACCOUNTING___33 = 169,
    _SC_2_PBS_LOCATE___33 = 170,
    _SC_2_PBS_MESSAGE___33 = 171,
    _SC_2_PBS_TRACK___33 = 172,
    _SC_SYMLOOP_MAX___33 = 173,
    _SC_STREAMS___33 = 174,
    _SC_2_PBS_CHECKPOINT___33 = 175,
    _SC_V6_ILP32_OFF32___33 = 176,
    _SC_V6_ILP32_OFFBIG___33 = 177,
    _SC_V6_LP64_OFF64___33 = 178,
    _SC_V6_LPBIG_OFFBIG___33 = 179,
    _SC_HOST_NAME_MAX___33 = 180,
    _SC_TRACE___33 = 181,
    _SC_TRACE_EVENT_FILTER___33 = 182,
    _SC_TRACE_INHERIT___33 = 183,
    _SC_TRACE_LOG___33 = 184,
    _SC_LEVEL1_ICACHE_SIZE___33 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___33 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___33 = 187,
    _SC_LEVEL1_DCACHE_SIZE___33 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___33 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___33 = 190,
    _SC_LEVEL2_CACHE_SIZE___33 = 191,
    _SC_LEVEL2_CACHE_ASSOC___33 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___33 = 193,
    _SC_LEVEL3_CACHE_SIZE___33 = 194,
    _SC_LEVEL3_CACHE_ASSOC___33 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___33 = 196,
    _SC_LEVEL4_CACHE_SIZE___33 = 197,
    _SC_LEVEL4_CACHE_ASSOC___33 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___33 = 199,
    _SC_IPV6___33 = 235,
    _SC_RAW_SOCKETS___33 = 236,
    _SC_V7_ILP32_OFF32___33 = 237,
    _SC_V7_ILP32_OFFBIG___33 = 238,
    _SC_V7_LP64_OFF64___33 = 239,
    _SC_V7_LPBIG_OFFBIG___33 = 240,
    _SC_SS_REPL_MAX___33 = 241,
    _SC_TRACE_EVENT_NAME_MAX___33 = 242,
    _SC_TRACE_NAME_MAX___33 = 243,
    _SC_TRACE_SYS_MAX___33 = 244,
    _SC_TRACE_USER_EVENT_MAX___33 = 245,
    _SC_XOPEN_STREAMS___33 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___33 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___33 = 248
} ;
enum __anonenum_875524036___33 {
    _CS_PATH___33 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___33 = 1,
    _CS_GNU_LIBC_VERSION___33 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___33 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___33 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___33 = 5,
    _CS_LFS_CFLAGS___33 = 1000,
    _CS_LFS_LDFLAGS___33 = 1001,
    _CS_LFS_LIBS___33 = 1002,
    _CS_LFS_LINTFLAGS___33 = 1003,
    _CS_LFS64_CFLAGS___33 = 1004,
    _CS_LFS64_LDFLAGS___33 = 1005,
    _CS_LFS64_LIBS___33 = 1006,
    _CS_LFS64_LINTFLAGS___33 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___33 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___33 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___33 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___33 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___33 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___33 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___33 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___33 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___33 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___33 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___33 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___33 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___33 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___33 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___33 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___33 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___33 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___33 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___33 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___33 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___33 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___33 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___33 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___33 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___33 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___33 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___33 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___33 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___33 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___33 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___33 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___33 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___33 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___33 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___33 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___33 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___33 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___33 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___33 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___33 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___33 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___33 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___33 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___33 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___33 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___33 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___33 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___33 = 1147,
    _CS_V6_ENV___33 = 1148,
    _CS_V7_ENV___33 = 1149
} ;
enum __anonenum_513775621___33 {
    DT_UNKNOWN___33 = 0,
    DT_FIFO___33 = 1,
    DT_CHR___33 = 2,
    DT_DIR___33 = 4,
    DT_BLK___33 = 6,
    DT_REG___33 = 8,
    DT_LNK___33 = 10,
    DT_SOCK___33 = 12,
    DT_WHT___33 = 14
} ;
enum __anonenum_77002343___33 {
    SI_ASYNCNL___33 = -60,
    SI_TKILL___33 = -6,
    SI_SIGIO___33 = -5,
    SI_ASYNCIO___33 = -4,
    SI_MESGQ___33 = -3,
    SI_TIMER___33 = -2,
    SI_QUEUE___33 = -1,
    SI_USER___33 = 0,
    SI_KERNEL___33 = 128
} ;
enum __anonenum_131038172___33 {
    ILL_ILLOPC___33 = 1,
    ILL_ILLOPN___33 = 2,
    ILL_ILLADR___33 = 3,
    ILL_ILLTRP___33 = 4,
    ILL_PRVOPC___33 = 5,
    ILL_PRVREG___33 = 6,
    ILL_COPROC___33 = 7,
    ILL_BADSTK___33 = 8
} ;
enum __anonenum_452038093___33 {
    FPE_INTDIV___33 = 1,
    FPE_INTOVF___33 = 2,
    FPE_FLTDIV___33 = 3,
    FPE_FLTOVF___33 = 4,
    FPE_FLTUND___33 = 5,
    FPE_FLTRES___33 = 6,
    FPE_FLTINV___33 = 7,
    FPE_FLTSUB___33 = 8
} ;
enum __anonenum_30976155___33 {
    SEGV_MAPERR___33 = 1,
    SEGV_ACCERR___33 = 2,
    SEGV_BNDERR___33 = 3,
    SEGV_PKUERR___33 = 4
} ;
enum __anonenum_1036286214___33 {
    BUS_ADRALN___33 = 1,
    BUS_ADRERR___33 = 2,
    BUS_OBJERR___33 = 3,
    BUS_MCEERR_AR___33 = 4,
    BUS_MCEERR_AO___33 = 5
} ;
enum __anonenum_493465559___33 {
    TRAP_BRKPT___33 = 1,
    TRAP_TRACE___33 = 2
} ;
enum __anonenum_23175539___33 {
    CLD_EXITED___33 = 1,
    CLD_KILLED___33 = 2,
    CLD_DUMPED___33 = 3,
    CLD_TRAPPED___33 = 4,
    CLD_STOPPED___33 = 5,
    CLD_CONTINUED___33 = 6
} ;
enum __anonenum_111643124___33 {
    POLL_IN___33 = 1,
    POLL_OUT___33 = 2,
    POLL_MSG___33 = 3,
    POLL_ERR___33 = 4,
    POLL_PRI___33 = 5,
    POLL_HUP___33 = 6
} ;
enum __anonenum_852341087___33 {
    SIGEV_SIGNAL___33 = 0,
    SIGEV_NONE___33 = 1,
    SIGEV_THREAD___33 = 2,
    SIGEV_THREAD_ID___33 = 4
} ;
enum __anonenum_451154152___33 {
    REG_R8___33 = 0,
    REG_R9___33 = 1,
    REG_R10___33 = 2,
    REG_R11___33 = 3,
    REG_R12___33 = 4,
    REG_R13___33 = 5,
    REG_R14___33 = 6,
    REG_R15___33 = 7,
    REG_RDI___33 = 8,
    REG_RSI___33 = 9,
    REG_RBP___33 = 10,
    REG_RBX___33 = 11,
    REG_RDX___33 = 12,
    REG_RAX___33 = 13,
    REG_RCX___33 = 14,
    REG_RSP___33 = 15,
    REG_RIP___33 = 16,
    REG_EFL___33 = 17,
    REG_CSGSFS___33 = 18,
    REG_ERR___33 = 19,
    REG_TRAPNO___33 = 20,
    REG_OLDMASK___33 = 21,
    REG_CR2___33 = 22
} ;
enum __anonenum_57186863___33 {
    SS_ONSTACK___33 = 1,
    SS_DISABLE___33 = 2
} ;
enum __anonenum_83571709___33 {
    MSG_OOB___33 = 1,
    MSG_PEEK___33 = 2,
    MSG_DONTROUTE___33 = 4,
    MSG_TRYHARD___33 = 4,
    MSG_CTRUNC___33 = 8,
    MSG_PROXY___33 = 16,
    MSG_TRUNC___33 = 32,
    MSG_DONTWAIT___33 = 64,
    MSG_EOR___33 = 128,
    MSG_WAITALL___33 = 256,
    MSG_FIN___33 = 512,
    MSG_SYN___33 = 1024,
    MSG_CONFIRM___33 = 2048,
    MSG_RST___33 = 4096,
    MSG_ERRQUEUE___33 = 8192,
    MSG_NOSIGNAL___33 = 16384,
    MSG_MORE___33 = 32768,
    MSG_WAITFORONE___33 = 65536,
    MSG_BATCH___33 = 262144,
    MSG_ZEROCOPY___33 = 67108864,
    MSG_FASTOPEN___33 = 536870912,
    MSG_CMSG_CLOEXEC___33 = 1073741824
} ;
enum __anonenum_617082774___33 {
    SCM_RIGHTS___33 = 1,
    SCM_CREDENTIALS___33 = 2
} ;
enum __anonenum_606441560___33 {
    SHUT_RD___33 = 0,
    SHUT_WR___33 = 1,
    SHUT_RDWR___33 = 2
} ;
enum __anonenum_681669233___33 {
    IPPROTO_IP___33 = 0,
    IPPROTO_ICMP___33 = 1,
    IPPROTO_IGMP___33 = 2,
    IPPROTO_IPIP___33 = 4,
    IPPROTO_TCP___33 = 6,
    IPPROTO_EGP___33 = 8,
    IPPROTO_PUP___33 = 12,
    IPPROTO_UDP___33 = 17,
    IPPROTO_IDP___33 = 22,
    IPPROTO_TP___33 = 29,
    IPPROTO_DCCP___33 = 33,
    IPPROTO_IPV6___33 = 41,
    IPPROTO_RSVP___33 = 46,
    IPPROTO_GRE___33 = 47,
    IPPROTO_ESP___33 = 50,
    IPPROTO_AH___33 = 51,
    IPPROTO_MTP___33 = 92,
    IPPROTO_BEETPH___33 = 94,
    IPPROTO_ENCAP___33 = 98,
    IPPROTO_PIM___33 = 103,
    IPPROTO_COMP___33 = 108,
    IPPROTO_SCTP___33 = 132,
    IPPROTO_UDPLITE___33 = 136,
    IPPROTO_MPLS___33 = 137,
    IPPROTO_RAW___33 = 255,
    IPPROTO_MAX___33 = 256
} ;
enum __anonenum_218739988___33 {
    IPPROTO_HOPOPTS___33 = 0,
    IPPROTO_ROUTING___33 = 43,
    IPPROTO_FRAGMENT___33 = 44,
    IPPROTO_ICMPV6___33 = 58,
    IPPROTO_NONE___33 = 59,
    IPPROTO_DSTOPTS___33 = 60,
    IPPROTO_MH___33 = 135
} ;
enum __anonenum_662268580___33 {
    IPPORT_ECHO___33 = 7,
    IPPORT_DISCARD___33 = 9,
    IPPORT_SYSTAT___33 = 11,
    IPPORT_DAYTIME___33 = 13,
    IPPORT_NETSTAT___33 = 15,
    IPPORT_FTP___33 = 21,
    IPPORT_TELNET___33 = 23,
    IPPORT_SMTP___33 = 25,
    IPPORT_TIMESERVER___33 = 37,
    IPPORT_NAMESERVER___33 = 42,
    IPPORT_WHOIS___33 = 43,
    IPPORT_MTP___33 = 57,
    IPPORT_TFTP___33 = 69,
    IPPORT_RJE___33 = 77,
    IPPORT_FINGER___33 = 79,
    IPPORT_TTYLINK___33 = 87,
    IPPORT_SUPDUP___33 = 95,
    IPPORT_EXECSERVER___33 = 512,
    IPPORT_LOGINSERVER___33 = 513,
    IPPORT_CMDSERVER___33 = 514,
    IPPORT_EFSSERVER___33 = 520,
    IPPORT_BIFFUDP___33 = 512,
    IPPORT_WHOSERVER___33 = 513,
    IPPORT_ROUTESERVER___33 = 520,
    IPPORT_RESERVED___33 = 1024,
    IPPORT_USERRESERVED___33 = 5000
} ;
enum __anonenum_788308992___33 {
    TCP_ESTABLISHED___33 = 1,
    TCP_SYN_SENT___33 = 2,
    TCP_SYN_RECV___33 = 3,
    TCP_FIN_WAIT1___33 = 4,
    TCP_FIN_WAIT2___33 = 5,
    TCP_TIME_WAIT___33 = 6,
    TCP_CLOSE___33 = 7,
    TCP_CLOSE_WAIT___33 = 8,
    TCP_LAST_ACK___33 = 9,
    TCP_LISTEN___33 = 10,
    TCP_CLOSING___33 = 11
} ;
enum __anonenum_221125648___33 {
    TCP_NO_QUEUE___33 = 0,
    TCP_RECV_QUEUE___33 = 1,
    TCP_SEND_QUEUE___33 = 2,
    TCP_QUEUES_NR___33 = 3
} ;
enum __anonenum_34415463___33 {
    PTHREAD_CREATE_JOINABLE___33 = 0,
    PTHREAD_CREATE_DETACHED___33 = 1
} ;
enum __anonenum_303612439___33 {
    PTHREAD_MUTEX_TIMED_NP___33 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___33 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___33 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___33 = 3,
    PTHREAD_MUTEX_NORMAL___33 = 0,
    PTHREAD_MUTEX_RECURSIVE___33 = 1,
    PTHREAD_MUTEX_ERRORCHECK___33 = 2,
    PTHREAD_MUTEX_DEFAULT___33 = 0,
    PTHREAD_MUTEX_FAST_NP___33 = 0
} ;
enum __anonenum_931900394___33 {
    PTHREAD_MUTEX_STALLED___33 = 0,
    PTHREAD_MUTEX_STALLED_NP___33 = 0,
    PTHREAD_MUTEX_ROBUST___33 = 1,
    PTHREAD_MUTEX_ROBUST_NP___33 = 1
} ;
enum __anonenum_205214487___33 {
    PTHREAD_PRIO_NONE___33 = 0,
    PTHREAD_PRIO_INHERIT___33 = 1,
    PTHREAD_PRIO_PROTECT___33 = 2
} ;
enum __anonenum_25043950___33 {
    PTHREAD_RWLOCK_PREFER_READER_NP___33 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___33 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___33 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___33 = 0
} ;
enum __anonenum_436439511___33 {
    PTHREAD_INHERIT_SCHED___33 = 0,
    PTHREAD_EXPLICIT_SCHED___33 = 1
} ;
enum __anonenum_998661166___33 {
    PTHREAD_SCOPE_SYSTEM___33 = 0,
    PTHREAD_SCOPE_PROCESS___33 = 1
} ;
enum __anonenum_146137331___33 {
    PTHREAD_PROCESS_PRIVATE___33 = 0,
    PTHREAD_PROCESS_SHARED___33 = 1
} ;
enum __anonenum_53396917___33 {
    PTHREAD_CANCEL_ENABLE___33 = 0,
    PTHREAD_CANCEL_DISABLE___33 = 1
} ;
enum __anonenum_904563783___33 {
    PTHREAD_CANCEL_DEFERRED___33 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___33 = 1
} ;
enum __anonenum_672052974___33 {
    SSL_CT_VALIDATION_PERMISSIVE___33 = 0,
    SSL_CT_VALIDATION_STRICT___33 = 1
} ;
enum __anonenum_34023289___1 {
    REMOTE_UNCONFIGURED___1 = 0,
    REMOTE_CONFIG___1 = 1,
    REMOTE_REMOTES___1 = 2,
    REMOTE_BRANCHES___1 = 3
} ;
struct commit_buffer {
   void *buffer ;
   unsigned long size ;
};
struct buffer_slab {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   struct commit_buffer **slab ;
};
struct indegree_slab {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   int **slab ;
};
struct author_date_slab {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   timestamp_t **slab ;
};
struct rev_collect {
   struct commit **commit ;
   int nr ;
   int alloc ;
   unsigned int initial : 1 ;
};
struct sigbuf {
   char const   *start ;
   char const   *end ;
};
struct merge_desc_slab {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   struct merge_remote_desc ***slab ;
};
enum __anonenum_437032235___34 {
    _PC_LINK_MAX___34 = 0,
    _PC_MAX_CANON___34 = 1,
    _PC_MAX_INPUT___34 = 2,
    _PC_NAME_MAX___34 = 3,
    _PC_PATH_MAX___34 = 4,
    _PC_PIPE_BUF___34 = 5,
    _PC_CHOWN_RESTRICTED___34 = 6,
    _PC_NO_TRUNC___34 = 7,
    _PC_VDISABLE___34 = 8,
    _PC_SYNC_IO___34 = 9,
    _PC_ASYNC_IO___34 = 10,
    _PC_PRIO_IO___34 = 11,
    _PC_SOCK_MAXBUF___34 = 12,
    _PC_FILESIZEBITS___34 = 13,
    _PC_REC_INCR_XFER_SIZE___34 = 14,
    _PC_REC_MAX_XFER_SIZE___34 = 15,
    _PC_REC_MIN_XFER_SIZE___34 = 16,
    _PC_REC_XFER_ALIGN___34 = 17,
    _PC_ALLOC_SIZE_MIN___34 = 18,
    _PC_SYMLINK_MAX___34 = 19,
    _PC_2_SYMLINKS___34 = 20
} ;
enum __anonenum_315186338___34 {
    _SC_ARG_MAX___34 = 0,
    _SC_CHILD_MAX___34 = 1,
    _SC_CLK_TCK___34 = 2,
    _SC_NGROUPS_MAX___34 = 3,
    _SC_OPEN_MAX___34 = 4,
    _SC_STREAM_MAX___34 = 5,
    _SC_TZNAME_MAX___34 = 6,
    _SC_JOB_CONTROL___34 = 7,
    _SC_SAVED_IDS___34 = 8,
    _SC_REALTIME_SIGNALS___34 = 9,
    _SC_PRIORITY_SCHEDULING___34 = 10,
    _SC_TIMERS___34 = 11,
    _SC_ASYNCHRONOUS_IO___34 = 12,
    _SC_PRIORITIZED_IO___34 = 13,
    _SC_SYNCHRONIZED_IO___34 = 14,
    _SC_FSYNC___34 = 15,
    _SC_MAPPED_FILES___34 = 16,
    _SC_MEMLOCK___34 = 17,
    _SC_MEMLOCK_RANGE___34 = 18,
    _SC_MEMORY_PROTECTION___34 = 19,
    _SC_MESSAGE_PASSING___34 = 20,
    _SC_SEMAPHORES___34 = 21,
    _SC_SHARED_MEMORY_OBJECTS___34 = 22,
    _SC_AIO_LISTIO_MAX___34 = 23,
    _SC_AIO_MAX___34 = 24,
    _SC_AIO_PRIO_DELTA_MAX___34 = 25,
    _SC_DELAYTIMER_MAX___34 = 26,
    _SC_MQ_OPEN_MAX___34 = 27,
    _SC_MQ_PRIO_MAX___34 = 28,
    _SC_VERSION___34 = 29,
    _SC_PAGESIZE___34 = 30,
    _SC_RTSIG_MAX___34 = 31,
    _SC_SEM_NSEMS_MAX___34 = 32,
    _SC_SEM_VALUE_MAX___34 = 33,
    _SC_SIGQUEUE_MAX___34 = 34,
    _SC_TIMER_MAX___34 = 35,
    _SC_BC_BASE_MAX___34 = 36,
    _SC_BC_DIM_MAX___34 = 37,
    _SC_BC_SCALE_MAX___34 = 38,
    _SC_BC_STRING_MAX___34 = 39,
    _SC_COLL_WEIGHTS_MAX___34 = 40,
    _SC_EQUIV_CLASS_MAX___34 = 41,
    _SC_EXPR_NEST_MAX___34 = 42,
    _SC_LINE_MAX___34 = 43,
    _SC_RE_DUP_MAX___34 = 44,
    _SC_CHARCLASS_NAME_MAX___34 = 45,
    _SC_2_VERSION___34 = 46,
    _SC_2_C_BIND___34 = 47,
    _SC_2_C_DEV___34 = 48,
    _SC_2_FORT_DEV___34 = 49,
    _SC_2_FORT_RUN___34 = 50,
    _SC_2_SW_DEV___34 = 51,
    _SC_2_LOCALEDEF___34 = 52,
    _SC_PII___34 = 53,
    _SC_PII_XTI___34 = 54,
    _SC_PII_SOCKET___34 = 55,
    _SC_PII_INTERNET___34 = 56,
    _SC_PII_OSI___34 = 57,
    _SC_POLL___34 = 58,
    _SC_SELECT___34 = 59,
    _SC_UIO_MAXIOV___34 = 60,
    _SC_IOV_MAX___34 = 60,
    _SC_PII_INTERNET_STREAM___34 = 61,
    _SC_PII_INTERNET_DGRAM___34 = 62,
    _SC_PII_OSI_COTS___34 = 63,
    _SC_PII_OSI_CLTS___34 = 64,
    _SC_PII_OSI_M___34 = 65,
    _SC_T_IOV_MAX___34 = 66,
    _SC_THREADS___34 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___34 = 68,
    _SC_GETGR_R_SIZE_MAX___34 = 69,
    _SC_GETPW_R_SIZE_MAX___34 = 70,
    _SC_LOGIN_NAME_MAX___34 = 71,
    _SC_TTY_NAME_MAX___34 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___34 = 73,
    _SC_THREAD_KEYS_MAX___34 = 74,
    _SC_THREAD_STACK_MIN___34 = 75,
    _SC_THREAD_THREADS_MAX___34 = 76,
    _SC_THREAD_ATTR_STACKADDR___34 = 77,
    _SC_THREAD_ATTR_STACKSIZE___34 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___34 = 79,
    _SC_THREAD_PRIO_INHERIT___34 = 80,
    _SC_THREAD_PRIO_PROTECT___34 = 81,
    _SC_THREAD_PROCESS_SHARED___34 = 82,
    _SC_NPROCESSORS_CONF___34 = 83,
    _SC_NPROCESSORS_ONLN___34 = 84,
    _SC_PHYS_PAGES___34 = 85,
    _SC_AVPHYS_PAGES___34 = 86,
    _SC_ATEXIT_MAX___34 = 87,
    _SC_PASS_MAX___34 = 88,
    _SC_XOPEN_VERSION___34 = 89,
    _SC_XOPEN_XCU_VERSION___34 = 90,
    _SC_XOPEN_UNIX___34 = 91,
    _SC_XOPEN_CRYPT___34 = 92,
    _SC_XOPEN_ENH_I18N___34 = 93,
    _SC_XOPEN_SHM___34 = 94,
    _SC_2_CHAR_TERM___34 = 95,
    _SC_2_C_VERSION___34 = 96,
    _SC_2_UPE___34 = 97,
    _SC_XOPEN_XPG2___34 = 98,
    _SC_XOPEN_XPG3___34 = 99,
    _SC_XOPEN_XPG4___34 = 100,
    _SC_CHAR_BIT___34 = 101,
    _SC_CHAR_MAX___34 = 102,
    _SC_CHAR_MIN___34 = 103,
    _SC_INT_MAX___34 = 104,
    _SC_INT_MIN___34 = 105,
    _SC_LONG_BIT___34 = 106,
    _SC_WORD_BIT___34 = 107,
    _SC_MB_LEN_MAX___34 = 108,
    _SC_NZERO___34 = 109,
    _SC_SSIZE_MAX___34 = 110,
    _SC_SCHAR_MAX___34 = 111,
    _SC_SCHAR_MIN___34 = 112,
    _SC_SHRT_MAX___34 = 113,
    _SC_SHRT_MIN___34 = 114,
    _SC_UCHAR_MAX___34 = 115,
    _SC_UINT_MAX___34 = 116,
    _SC_ULONG_MAX___34 = 117,
    _SC_USHRT_MAX___34 = 118,
    _SC_NL_ARGMAX___34 = 119,
    _SC_NL_LANGMAX___34 = 120,
    _SC_NL_MSGMAX___34 = 121,
    _SC_NL_NMAX___34 = 122,
    _SC_NL_SETMAX___34 = 123,
    _SC_NL_TEXTMAX___34 = 124,
    _SC_XBS5_ILP32_OFF32___34 = 125,
    _SC_XBS5_ILP32_OFFBIG___34 = 126,
    _SC_XBS5_LP64_OFF64___34 = 127,
    _SC_XBS5_LPBIG_OFFBIG___34 = 128,
    _SC_XOPEN_LEGACY___34 = 129,
    _SC_XOPEN_REALTIME___34 = 130,
    _SC_XOPEN_REALTIME_THREADS___34 = 131,
    _SC_ADVISORY_INFO___34 = 132,
    _SC_BARRIERS___34 = 133,
    _SC_BASE___34 = 134,
    _SC_C_LANG_SUPPORT___34 = 135,
    _SC_C_LANG_SUPPORT_R___34 = 136,
    _SC_CLOCK_SELECTION___34 = 137,
    _SC_CPUTIME___34 = 138,
    _SC_THREAD_CPUTIME___34 = 139,
    _SC_DEVICE_IO___34 = 140,
    _SC_DEVICE_SPECIFIC___34 = 141,
    _SC_DEVICE_SPECIFIC_R___34 = 142,
    _SC_FD_MGMT___34 = 143,
    _SC_FIFO___34 = 144,
    _SC_PIPE___34 = 145,
    _SC_FILE_ATTRIBUTES___34 = 146,
    _SC_FILE_LOCKING___34 = 147,
    _SC_FILE_SYSTEM___34 = 148,
    _SC_MONOTONIC_CLOCK___34 = 149,
    _SC_MULTI_PROCESS___34 = 150,
    _SC_SINGLE_PROCESS___34 = 151,
    _SC_NETWORKING___34 = 152,
    _SC_READER_WRITER_LOCKS___34 = 153,
    _SC_SPIN_LOCKS___34 = 154,
    _SC_REGEXP___34 = 155,
    _SC_REGEX_VERSION___34 = 156,
    _SC_SHELL___34 = 157,
    _SC_SIGNALS___34 = 158,
    _SC_SPAWN___34 = 159,
    _SC_SPORADIC_SERVER___34 = 160,
    _SC_THREAD_SPORADIC_SERVER___34 = 161,
    _SC_SYSTEM_DATABASE___34 = 162,
    _SC_SYSTEM_DATABASE_R___34 = 163,
    _SC_TIMEOUTS___34 = 164,
    _SC_TYPED_MEMORY_OBJECTS___34 = 165,
    _SC_USER_GROUPS___34 = 166,
    _SC_USER_GROUPS_R___34 = 167,
    _SC_2_PBS___34 = 168,
    _SC_2_PBS_ACCOUNTING___34 = 169,
    _SC_2_PBS_LOCATE___34 = 170,
    _SC_2_PBS_MESSAGE___34 = 171,
    _SC_2_PBS_TRACK___34 = 172,
    _SC_SYMLOOP_MAX___34 = 173,
    _SC_STREAMS___34 = 174,
    _SC_2_PBS_CHECKPOINT___34 = 175,
    _SC_V6_ILP32_OFF32___34 = 176,
    _SC_V6_ILP32_OFFBIG___34 = 177,
    _SC_V6_LP64_OFF64___34 = 178,
    _SC_V6_LPBIG_OFFBIG___34 = 179,
    _SC_HOST_NAME_MAX___34 = 180,
    _SC_TRACE___34 = 181,
    _SC_TRACE_EVENT_FILTER___34 = 182,
    _SC_TRACE_INHERIT___34 = 183,
    _SC_TRACE_LOG___34 = 184,
    _SC_LEVEL1_ICACHE_SIZE___34 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___34 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___34 = 187,
    _SC_LEVEL1_DCACHE_SIZE___34 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___34 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___34 = 190,
    _SC_LEVEL2_CACHE_SIZE___34 = 191,
    _SC_LEVEL2_CACHE_ASSOC___34 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___34 = 193,
    _SC_LEVEL3_CACHE_SIZE___34 = 194,
    _SC_LEVEL3_CACHE_ASSOC___34 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___34 = 196,
    _SC_LEVEL4_CACHE_SIZE___34 = 197,
    _SC_LEVEL4_CACHE_ASSOC___34 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___34 = 199,
    _SC_IPV6___34 = 235,
    _SC_RAW_SOCKETS___34 = 236,
    _SC_V7_ILP32_OFF32___34 = 237,
    _SC_V7_ILP32_OFFBIG___34 = 238,
    _SC_V7_LP64_OFF64___34 = 239,
    _SC_V7_LPBIG_OFFBIG___34 = 240,
    _SC_SS_REPL_MAX___34 = 241,
    _SC_TRACE_EVENT_NAME_MAX___34 = 242,
    _SC_TRACE_NAME_MAX___34 = 243,
    _SC_TRACE_SYS_MAX___34 = 244,
    _SC_TRACE_USER_EVENT_MAX___34 = 245,
    _SC_XOPEN_STREAMS___34 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___34 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___34 = 248
} ;
enum __anonenum_875524036___34 {
    _CS_PATH___34 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___34 = 1,
    _CS_GNU_LIBC_VERSION___34 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___34 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___34 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___34 = 5,
    _CS_LFS_CFLAGS___34 = 1000,
    _CS_LFS_LDFLAGS___34 = 1001,
    _CS_LFS_LIBS___34 = 1002,
    _CS_LFS_LINTFLAGS___34 = 1003,
    _CS_LFS64_CFLAGS___34 = 1004,
    _CS_LFS64_LDFLAGS___34 = 1005,
    _CS_LFS64_LIBS___34 = 1006,
    _CS_LFS64_LINTFLAGS___34 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___34 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___34 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___34 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___34 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___34 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___34 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___34 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___34 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___34 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___34 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___34 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___34 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___34 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___34 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___34 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___34 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___34 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___34 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___34 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___34 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___34 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___34 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___34 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___34 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___34 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___34 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___34 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___34 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___34 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___34 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___34 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___34 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___34 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___34 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___34 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___34 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___34 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___34 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___34 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___34 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___34 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___34 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___34 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___34 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___34 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___34 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___34 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___34 = 1147,
    _CS_V6_ENV___34 = 1148,
    _CS_V7_ENV___34 = 1149
} ;
enum __anonenum_513775621___34 {
    DT_UNKNOWN___34 = 0,
    DT_FIFO___34 = 1,
    DT_CHR___34 = 2,
    DT_DIR___34 = 4,
    DT_BLK___34 = 6,
    DT_REG___34 = 8,
    DT_LNK___34 = 10,
    DT_SOCK___34 = 12,
    DT_WHT___34 = 14
} ;
enum __anonenum_77002343___34 {
    SI_ASYNCNL___34 = -60,
    SI_TKILL___34 = -6,
    SI_SIGIO___34 = -5,
    SI_ASYNCIO___34 = -4,
    SI_MESGQ___34 = -3,
    SI_TIMER___34 = -2,
    SI_QUEUE___34 = -1,
    SI_USER___34 = 0,
    SI_KERNEL___34 = 128
} ;
enum __anonenum_131038172___34 {
    ILL_ILLOPC___34 = 1,
    ILL_ILLOPN___34 = 2,
    ILL_ILLADR___34 = 3,
    ILL_ILLTRP___34 = 4,
    ILL_PRVOPC___34 = 5,
    ILL_PRVREG___34 = 6,
    ILL_COPROC___34 = 7,
    ILL_BADSTK___34 = 8
} ;
enum __anonenum_452038093___34 {
    FPE_INTDIV___34 = 1,
    FPE_INTOVF___34 = 2,
    FPE_FLTDIV___34 = 3,
    FPE_FLTOVF___34 = 4,
    FPE_FLTUND___34 = 5,
    FPE_FLTRES___34 = 6,
    FPE_FLTINV___34 = 7,
    FPE_FLTSUB___34 = 8
} ;
enum __anonenum_30976155___34 {
    SEGV_MAPERR___34 = 1,
    SEGV_ACCERR___34 = 2,
    SEGV_BNDERR___34 = 3,
    SEGV_PKUERR___34 = 4
} ;
enum __anonenum_1036286214___34 {
    BUS_ADRALN___34 = 1,
    BUS_ADRERR___34 = 2,
    BUS_OBJERR___34 = 3,
    BUS_MCEERR_AR___34 = 4,
    BUS_MCEERR_AO___34 = 5
} ;
enum __anonenum_493465559___34 {
    TRAP_BRKPT___34 = 1,
    TRAP_TRACE___34 = 2
} ;
enum __anonenum_23175539___34 {
    CLD_EXITED___34 = 1,
    CLD_KILLED___34 = 2,
    CLD_DUMPED___34 = 3,
    CLD_TRAPPED___34 = 4,
    CLD_STOPPED___34 = 5,
    CLD_CONTINUED___34 = 6
} ;
enum __anonenum_111643124___34 {
    POLL_IN___34 = 1,
    POLL_OUT___34 = 2,
    POLL_MSG___34 = 3,
    POLL_ERR___34 = 4,
    POLL_PRI___34 = 5,
    POLL_HUP___34 = 6
} ;
enum __anonenum_852341087___34 {
    SIGEV_SIGNAL___34 = 0,
    SIGEV_NONE___34 = 1,
    SIGEV_THREAD___34 = 2,
    SIGEV_THREAD_ID___34 = 4
} ;
enum __anonenum_451154152___34 {
    REG_R8___34 = 0,
    REG_R9___34 = 1,
    REG_R10___34 = 2,
    REG_R11___34 = 3,
    REG_R12___34 = 4,
    REG_R13___34 = 5,
    REG_R14___34 = 6,
    REG_R15___34 = 7,
    REG_RDI___34 = 8,
    REG_RSI___34 = 9,
    REG_RBP___34 = 10,
    REG_RBX___34 = 11,
    REG_RDX___34 = 12,
    REG_RAX___34 = 13,
    REG_RCX___34 = 14,
    REG_RSP___34 = 15,
    REG_RIP___34 = 16,
    REG_EFL___34 = 17,
    REG_CSGSFS___34 = 18,
    REG_ERR___34 = 19,
    REG_TRAPNO___34 = 20,
    REG_OLDMASK___34 = 21,
    REG_CR2___34 = 22
} ;
enum __anonenum_57186863___34 {
    SS_ONSTACK___34 = 1,
    SS_DISABLE___34 = 2
} ;
enum __anonenum_83571709___34 {
    MSG_OOB___34 = 1,
    MSG_PEEK___34 = 2,
    MSG_DONTROUTE___34 = 4,
    MSG_TRYHARD___34 = 4,
    MSG_CTRUNC___34 = 8,
    MSG_PROXY___34 = 16,
    MSG_TRUNC___34 = 32,
    MSG_DONTWAIT___34 = 64,
    MSG_EOR___34 = 128,
    MSG_WAITALL___34 = 256,
    MSG_FIN___34 = 512,
    MSG_SYN___34 = 1024,
    MSG_CONFIRM___34 = 2048,
    MSG_RST___34 = 4096,
    MSG_ERRQUEUE___34 = 8192,
    MSG_NOSIGNAL___34 = 16384,
    MSG_MORE___34 = 32768,
    MSG_WAITFORONE___34 = 65536,
    MSG_BATCH___34 = 262144,
    MSG_ZEROCOPY___34 = 67108864,
    MSG_FASTOPEN___34 = 536870912,
    MSG_CMSG_CLOEXEC___34 = 1073741824
} ;
enum __anonenum_617082774___34 {
    SCM_RIGHTS___34 = 1,
    SCM_CREDENTIALS___34 = 2
} ;
enum __anonenum_606441560___34 {
    SHUT_RD___34 = 0,
    SHUT_WR___34 = 1,
    SHUT_RDWR___34 = 2
} ;
enum __anonenum_681669233___34 {
    IPPROTO_IP___34 = 0,
    IPPROTO_ICMP___34 = 1,
    IPPROTO_IGMP___34 = 2,
    IPPROTO_IPIP___34 = 4,
    IPPROTO_TCP___34 = 6,
    IPPROTO_EGP___34 = 8,
    IPPROTO_PUP___34 = 12,
    IPPROTO_UDP___34 = 17,
    IPPROTO_IDP___34 = 22,
    IPPROTO_TP___34 = 29,
    IPPROTO_DCCP___34 = 33,
    IPPROTO_IPV6___34 = 41,
    IPPROTO_RSVP___34 = 46,
    IPPROTO_GRE___34 = 47,
    IPPROTO_ESP___34 = 50,
    IPPROTO_AH___34 = 51,
    IPPROTO_MTP___34 = 92,
    IPPROTO_BEETPH___34 = 94,
    IPPROTO_ENCAP___34 = 98,
    IPPROTO_PIM___34 = 103,
    IPPROTO_COMP___34 = 108,
    IPPROTO_SCTP___34 = 132,
    IPPROTO_UDPLITE___34 = 136,
    IPPROTO_MPLS___34 = 137,
    IPPROTO_RAW___34 = 255,
    IPPROTO_MAX___34 = 256
} ;
enum __anonenum_218739988___34 {
    IPPROTO_HOPOPTS___34 = 0,
    IPPROTO_ROUTING___34 = 43,
    IPPROTO_FRAGMENT___34 = 44,
    IPPROTO_ICMPV6___34 = 58,
    IPPROTO_NONE___34 = 59,
    IPPROTO_DSTOPTS___34 = 60,
    IPPROTO_MH___34 = 135
} ;
enum __anonenum_662268580___34 {
    IPPORT_ECHO___34 = 7,
    IPPORT_DISCARD___34 = 9,
    IPPORT_SYSTAT___34 = 11,
    IPPORT_DAYTIME___34 = 13,
    IPPORT_NETSTAT___34 = 15,
    IPPORT_FTP___34 = 21,
    IPPORT_TELNET___34 = 23,
    IPPORT_SMTP___34 = 25,
    IPPORT_TIMESERVER___34 = 37,
    IPPORT_NAMESERVER___34 = 42,
    IPPORT_WHOIS___34 = 43,
    IPPORT_MTP___34 = 57,
    IPPORT_TFTP___34 = 69,
    IPPORT_RJE___34 = 77,
    IPPORT_FINGER___34 = 79,
    IPPORT_TTYLINK___34 = 87,
    IPPORT_SUPDUP___34 = 95,
    IPPORT_EXECSERVER___34 = 512,
    IPPORT_LOGINSERVER___34 = 513,
    IPPORT_CMDSERVER___34 = 514,
    IPPORT_EFSSERVER___34 = 520,
    IPPORT_BIFFUDP___34 = 512,
    IPPORT_WHOSERVER___34 = 513,
    IPPORT_ROUTESERVER___34 = 520,
    IPPORT_RESERVED___34 = 1024,
    IPPORT_USERRESERVED___34 = 5000
} ;
enum __anonenum_788308992___34 {
    TCP_ESTABLISHED___34 = 1,
    TCP_SYN_SENT___34 = 2,
    TCP_SYN_RECV___34 = 3,
    TCP_FIN_WAIT1___34 = 4,
    TCP_FIN_WAIT2___34 = 5,
    TCP_TIME_WAIT___34 = 6,
    TCP_CLOSE___34 = 7,
    TCP_CLOSE_WAIT___34 = 8,
    TCP_LAST_ACK___34 = 9,
    TCP_LISTEN___34 = 10,
    TCP_CLOSING___34 = 11
} ;
enum __anonenum_221125648___34 {
    TCP_NO_QUEUE___34 = 0,
    TCP_RECV_QUEUE___34 = 1,
    TCP_SEND_QUEUE___34 = 2,
    TCP_QUEUES_NR___34 = 3
} ;
enum __anonenum_34415463___34 {
    PTHREAD_CREATE_JOINABLE___34 = 0,
    PTHREAD_CREATE_DETACHED___34 = 1
} ;
enum __anonenum_303612439___34 {
    PTHREAD_MUTEX_TIMED_NP___34 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___34 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___34 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___34 = 3,
    PTHREAD_MUTEX_NORMAL___34 = 0,
    PTHREAD_MUTEX_RECURSIVE___34 = 1,
    PTHREAD_MUTEX_ERRORCHECK___34 = 2,
    PTHREAD_MUTEX_DEFAULT___34 = 0,
    PTHREAD_MUTEX_FAST_NP___34 = 0
} ;
enum __anonenum_931900394___34 {
    PTHREAD_MUTEX_STALLED___34 = 0,
    PTHREAD_MUTEX_STALLED_NP___34 = 0,
    PTHREAD_MUTEX_ROBUST___34 = 1,
    PTHREAD_MUTEX_ROBUST_NP___34 = 1
} ;
enum __anonenum_205214487___34 {
    PTHREAD_PRIO_NONE___34 = 0,
    PTHREAD_PRIO_INHERIT___34 = 1,
    PTHREAD_PRIO_PROTECT___34 = 2
} ;
enum __anonenum_25043950___34 {
    PTHREAD_RWLOCK_PREFER_READER_NP___34 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___34 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___34 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___34 = 0
} ;
enum __anonenum_436439511___34 {
    PTHREAD_INHERIT_SCHED___34 = 0,
    PTHREAD_EXPLICIT_SCHED___34 = 1
} ;
enum __anonenum_998661166___34 {
    PTHREAD_SCOPE_SYSTEM___34 = 0,
    PTHREAD_SCOPE_PROCESS___34 = 1
} ;
enum __anonenum_146137331___34 {
    PTHREAD_PROCESS_PRIVATE___34 = 0,
    PTHREAD_PROCESS_SHARED___34 = 1
} ;
enum __anonenum_53396917___34 {
    PTHREAD_CANCEL_ENABLE___34 = 0,
    PTHREAD_CANCEL_DISABLE___34 = 1
} ;
enum __anonenum_904563783___34 {
    PTHREAD_CANCEL_DEFERRED___34 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___34 = 1
} ;
enum __anonenum_672052974___34 {
    SSL_CT_VALIDATION_PERMISSIVE___34 = 0,
    SSL_CT_VALIDATION_STRICT___34 = 1
} ;
struct _obstack_chunk {
   char *limit ;
   struct _obstack_chunk *prev ;
   char contents[4] ;
};
union __anonunion_temp_267926141 {
   long tempint ;
   void *tempptr ;
};
union __anonunion_chunkfun_1067003303 {
   void *(*plain)(long  ) ;
   struct _obstack_chunk *(*extra)(void * , long  ) ;
};
union __anonunion_freefun_1067003304 {
   void (*plain)(void * ) ;
   void (*extra)(void * , struct _obstack_chunk * ) ;
};
struct obstack {
   long chunk_size ;
   struct _obstack_chunk *chunk ;
   char *object_base ;
   char *next_free ;
   char *chunk_limit ;
   union __anonunion_temp_267926141 temp ;
   int alignment_mask ;
   union __anonunion_chunkfun_1067003303 chunkfun ;
   union __anonunion_freefun_1067003304 freefun ;
   void *extra_arg ;
   unsigned int use_extra_arg : 1 ;
   unsigned int maybe_empty_object : 1 ;
   unsigned int alloc_failed : 1 ;
};
enum __anonenum_437032235___35 {
    _PC_LINK_MAX___35 = 0,
    _PC_MAX_CANON___35 = 1,
    _PC_MAX_INPUT___35 = 2,
    _PC_NAME_MAX___35 = 3,
    _PC_PATH_MAX___35 = 4,
    _PC_PIPE_BUF___35 = 5,
    _PC_CHOWN_RESTRICTED___35 = 6,
    _PC_NO_TRUNC___35 = 7,
    _PC_VDISABLE___35 = 8,
    _PC_SYNC_IO___35 = 9,
    _PC_ASYNC_IO___35 = 10,
    _PC_PRIO_IO___35 = 11,
    _PC_SOCK_MAXBUF___35 = 12,
    _PC_FILESIZEBITS___35 = 13,
    _PC_REC_INCR_XFER_SIZE___35 = 14,
    _PC_REC_MAX_XFER_SIZE___35 = 15,
    _PC_REC_MIN_XFER_SIZE___35 = 16,
    _PC_REC_XFER_ALIGN___35 = 17,
    _PC_ALLOC_SIZE_MIN___35 = 18,
    _PC_SYMLINK_MAX___35 = 19,
    _PC_2_SYMLINKS___35 = 20
} ;
enum __anonenum_315186338___35 {
    _SC_ARG_MAX___35 = 0,
    _SC_CHILD_MAX___35 = 1,
    _SC_CLK_TCK___35 = 2,
    _SC_NGROUPS_MAX___35 = 3,
    _SC_OPEN_MAX___35 = 4,
    _SC_STREAM_MAX___35 = 5,
    _SC_TZNAME_MAX___35 = 6,
    _SC_JOB_CONTROL___35 = 7,
    _SC_SAVED_IDS___35 = 8,
    _SC_REALTIME_SIGNALS___35 = 9,
    _SC_PRIORITY_SCHEDULING___35 = 10,
    _SC_TIMERS___35 = 11,
    _SC_ASYNCHRONOUS_IO___35 = 12,
    _SC_PRIORITIZED_IO___35 = 13,
    _SC_SYNCHRONIZED_IO___35 = 14,
    _SC_FSYNC___35 = 15,
    _SC_MAPPED_FILES___35 = 16,
    _SC_MEMLOCK___35 = 17,
    _SC_MEMLOCK_RANGE___35 = 18,
    _SC_MEMORY_PROTECTION___35 = 19,
    _SC_MESSAGE_PASSING___35 = 20,
    _SC_SEMAPHORES___35 = 21,
    _SC_SHARED_MEMORY_OBJECTS___35 = 22,
    _SC_AIO_LISTIO_MAX___35 = 23,
    _SC_AIO_MAX___35 = 24,
    _SC_AIO_PRIO_DELTA_MAX___35 = 25,
    _SC_DELAYTIMER_MAX___35 = 26,
    _SC_MQ_OPEN_MAX___35 = 27,
    _SC_MQ_PRIO_MAX___35 = 28,
    _SC_VERSION___35 = 29,
    _SC_PAGESIZE___35 = 30,
    _SC_RTSIG_MAX___35 = 31,
    _SC_SEM_NSEMS_MAX___35 = 32,
    _SC_SEM_VALUE_MAX___35 = 33,
    _SC_SIGQUEUE_MAX___35 = 34,
    _SC_TIMER_MAX___35 = 35,
    _SC_BC_BASE_MAX___35 = 36,
    _SC_BC_DIM_MAX___35 = 37,
    _SC_BC_SCALE_MAX___35 = 38,
    _SC_BC_STRING_MAX___35 = 39,
    _SC_COLL_WEIGHTS_MAX___35 = 40,
    _SC_EQUIV_CLASS_MAX___35 = 41,
    _SC_EXPR_NEST_MAX___35 = 42,
    _SC_LINE_MAX___35 = 43,
    _SC_RE_DUP_MAX___35 = 44,
    _SC_CHARCLASS_NAME_MAX___35 = 45,
    _SC_2_VERSION___35 = 46,
    _SC_2_C_BIND___35 = 47,
    _SC_2_C_DEV___35 = 48,
    _SC_2_FORT_DEV___35 = 49,
    _SC_2_FORT_RUN___35 = 50,
    _SC_2_SW_DEV___35 = 51,
    _SC_2_LOCALEDEF___35 = 52,
    _SC_PII___35 = 53,
    _SC_PII_XTI___35 = 54,
    _SC_PII_SOCKET___35 = 55,
    _SC_PII_INTERNET___35 = 56,
    _SC_PII_OSI___35 = 57,
    _SC_POLL___35 = 58,
    _SC_SELECT___35 = 59,
    _SC_UIO_MAXIOV___35 = 60,
    _SC_IOV_MAX___35 = 60,
    _SC_PII_INTERNET_STREAM___35 = 61,
    _SC_PII_INTERNET_DGRAM___35 = 62,
    _SC_PII_OSI_COTS___35 = 63,
    _SC_PII_OSI_CLTS___35 = 64,
    _SC_PII_OSI_M___35 = 65,
    _SC_T_IOV_MAX___35 = 66,
    _SC_THREADS___35 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___35 = 68,
    _SC_GETGR_R_SIZE_MAX___35 = 69,
    _SC_GETPW_R_SIZE_MAX___35 = 70,
    _SC_LOGIN_NAME_MAX___35 = 71,
    _SC_TTY_NAME_MAX___35 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___35 = 73,
    _SC_THREAD_KEYS_MAX___35 = 74,
    _SC_THREAD_STACK_MIN___35 = 75,
    _SC_THREAD_THREADS_MAX___35 = 76,
    _SC_THREAD_ATTR_STACKADDR___35 = 77,
    _SC_THREAD_ATTR_STACKSIZE___35 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___35 = 79,
    _SC_THREAD_PRIO_INHERIT___35 = 80,
    _SC_THREAD_PRIO_PROTECT___35 = 81,
    _SC_THREAD_PROCESS_SHARED___35 = 82,
    _SC_NPROCESSORS_CONF___35 = 83,
    _SC_NPROCESSORS_ONLN___35 = 84,
    _SC_PHYS_PAGES___35 = 85,
    _SC_AVPHYS_PAGES___35 = 86,
    _SC_ATEXIT_MAX___35 = 87,
    _SC_PASS_MAX___35 = 88,
    _SC_XOPEN_VERSION___35 = 89,
    _SC_XOPEN_XCU_VERSION___35 = 90,
    _SC_XOPEN_UNIX___35 = 91,
    _SC_XOPEN_CRYPT___35 = 92,
    _SC_XOPEN_ENH_I18N___35 = 93,
    _SC_XOPEN_SHM___35 = 94,
    _SC_2_CHAR_TERM___35 = 95,
    _SC_2_C_VERSION___35 = 96,
    _SC_2_UPE___35 = 97,
    _SC_XOPEN_XPG2___35 = 98,
    _SC_XOPEN_XPG3___35 = 99,
    _SC_XOPEN_XPG4___35 = 100,
    _SC_CHAR_BIT___35 = 101,
    _SC_CHAR_MAX___35 = 102,
    _SC_CHAR_MIN___35 = 103,
    _SC_INT_MAX___35 = 104,
    _SC_INT_MIN___35 = 105,
    _SC_LONG_BIT___35 = 106,
    _SC_WORD_BIT___35 = 107,
    _SC_MB_LEN_MAX___35 = 108,
    _SC_NZERO___35 = 109,
    _SC_SSIZE_MAX___35 = 110,
    _SC_SCHAR_MAX___35 = 111,
    _SC_SCHAR_MIN___35 = 112,
    _SC_SHRT_MAX___35 = 113,
    _SC_SHRT_MIN___35 = 114,
    _SC_UCHAR_MAX___35 = 115,
    _SC_UINT_MAX___35 = 116,
    _SC_ULONG_MAX___35 = 117,
    _SC_USHRT_MAX___35 = 118,
    _SC_NL_ARGMAX___35 = 119,
    _SC_NL_LANGMAX___35 = 120,
    _SC_NL_MSGMAX___35 = 121,
    _SC_NL_NMAX___35 = 122,
    _SC_NL_SETMAX___35 = 123,
    _SC_NL_TEXTMAX___35 = 124,
    _SC_XBS5_ILP32_OFF32___35 = 125,
    _SC_XBS5_ILP32_OFFBIG___35 = 126,
    _SC_XBS5_LP64_OFF64___35 = 127,
    _SC_XBS5_LPBIG_OFFBIG___35 = 128,
    _SC_XOPEN_LEGACY___35 = 129,
    _SC_XOPEN_REALTIME___35 = 130,
    _SC_XOPEN_REALTIME_THREADS___35 = 131,
    _SC_ADVISORY_INFO___35 = 132,
    _SC_BARRIERS___35 = 133,
    _SC_BASE___35 = 134,
    _SC_C_LANG_SUPPORT___35 = 135,
    _SC_C_LANG_SUPPORT_R___35 = 136,
    _SC_CLOCK_SELECTION___35 = 137,
    _SC_CPUTIME___35 = 138,
    _SC_THREAD_CPUTIME___35 = 139,
    _SC_DEVICE_IO___35 = 140,
    _SC_DEVICE_SPECIFIC___35 = 141,
    _SC_DEVICE_SPECIFIC_R___35 = 142,
    _SC_FD_MGMT___35 = 143,
    _SC_FIFO___35 = 144,
    _SC_PIPE___35 = 145,
    _SC_FILE_ATTRIBUTES___35 = 146,
    _SC_FILE_LOCKING___35 = 147,
    _SC_FILE_SYSTEM___35 = 148,
    _SC_MONOTONIC_CLOCK___35 = 149,
    _SC_MULTI_PROCESS___35 = 150,
    _SC_SINGLE_PROCESS___35 = 151,
    _SC_NETWORKING___35 = 152,
    _SC_READER_WRITER_LOCKS___35 = 153,
    _SC_SPIN_LOCKS___35 = 154,
    _SC_REGEXP___35 = 155,
    _SC_REGEX_VERSION___35 = 156,
    _SC_SHELL___35 = 157,
    _SC_SIGNALS___35 = 158,
    _SC_SPAWN___35 = 159,
    _SC_SPORADIC_SERVER___35 = 160,
    _SC_THREAD_SPORADIC_SERVER___35 = 161,
    _SC_SYSTEM_DATABASE___35 = 162,
    _SC_SYSTEM_DATABASE_R___35 = 163,
    _SC_TIMEOUTS___35 = 164,
    _SC_TYPED_MEMORY_OBJECTS___35 = 165,
    _SC_USER_GROUPS___35 = 166,
    _SC_USER_GROUPS_R___35 = 167,
    _SC_2_PBS___35 = 168,
    _SC_2_PBS_ACCOUNTING___35 = 169,
    _SC_2_PBS_LOCATE___35 = 170,
    _SC_2_PBS_MESSAGE___35 = 171,
    _SC_2_PBS_TRACK___35 = 172,
    _SC_SYMLOOP_MAX___35 = 173,
    _SC_STREAMS___35 = 174,
    _SC_2_PBS_CHECKPOINT___35 = 175,
    _SC_V6_ILP32_OFF32___35 = 176,
    _SC_V6_ILP32_OFFBIG___35 = 177,
    _SC_V6_LP64_OFF64___35 = 178,
    _SC_V6_LPBIG_OFFBIG___35 = 179,
    _SC_HOST_NAME_MAX___35 = 180,
    _SC_TRACE___35 = 181,
    _SC_TRACE_EVENT_FILTER___35 = 182,
    _SC_TRACE_INHERIT___35 = 183,
    _SC_TRACE_LOG___35 = 184,
    _SC_LEVEL1_ICACHE_SIZE___35 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___35 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___35 = 187,
    _SC_LEVEL1_DCACHE_SIZE___35 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___35 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___35 = 190,
    _SC_LEVEL2_CACHE_SIZE___35 = 191,
    _SC_LEVEL2_CACHE_ASSOC___35 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___35 = 193,
    _SC_LEVEL3_CACHE_SIZE___35 = 194,
    _SC_LEVEL3_CACHE_ASSOC___35 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___35 = 196,
    _SC_LEVEL4_CACHE_SIZE___35 = 197,
    _SC_LEVEL4_CACHE_ASSOC___35 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___35 = 199,
    _SC_IPV6___35 = 235,
    _SC_RAW_SOCKETS___35 = 236,
    _SC_V7_ILP32_OFF32___35 = 237,
    _SC_V7_ILP32_OFFBIG___35 = 238,
    _SC_V7_LP64_OFF64___35 = 239,
    _SC_V7_LPBIG_OFFBIG___35 = 240,
    _SC_SS_REPL_MAX___35 = 241,
    _SC_TRACE_EVENT_NAME_MAX___35 = 242,
    _SC_TRACE_NAME_MAX___35 = 243,
    _SC_TRACE_SYS_MAX___35 = 244,
    _SC_TRACE_USER_EVENT_MAX___35 = 245,
    _SC_XOPEN_STREAMS___35 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___35 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___35 = 248
} ;
enum __anonenum_875524036___35 {
    _CS_PATH___35 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___35 = 1,
    _CS_GNU_LIBC_VERSION___35 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___35 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___35 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___35 = 5,
    _CS_LFS_CFLAGS___35 = 1000,
    _CS_LFS_LDFLAGS___35 = 1001,
    _CS_LFS_LIBS___35 = 1002,
    _CS_LFS_LINTFLAGS___35 = 1003,
    _CS_LFS64_CFLAGS___35 = 1004,
    _CS_LFS64_LDFLAGS___35 = 1005,
    _CS_LFS64_LIBS___35 = 1006,
    _CS_LFS64_LINTFLAGS___35 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___35 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___35 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___35 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___35 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___35 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___35 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___35 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___35 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___35 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___35 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___35 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___35 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___35 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___35 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___35 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___35 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___35 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___35 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___35 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___35 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___35 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___35 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___35 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___35 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___35 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___35 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___35 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___35 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___35 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___35 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___35 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___35 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___35 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___35 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___35 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___35 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___35 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___35 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___35 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___35 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___35 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___35 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___35 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___35 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___35 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___35 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___35 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___35 = 1147,
    _CS_V6_ENV___35 = 1148,
    _CS_V7_ENV___35 = 1149
} ;
enum __anonenum_513775621___35 {
    DT_UNKNOWN___35 = 0,
    DT_FIFO___35 = 1,
    DT_CHR___35 = 2,
    DT_DIR___35 = 4,
    DT_BLK___35 = 6,
    DT_REG___35 = 8,
    DT_LNK___35 = 10,
    DT_SOCK___35 = 12,
    DT_WHT___35 = 14
} ;
enum __anonenum_77002343___35 {
    SI_ASYNCNL___35 = -60,
    SI_TKILL___35 = -6,
    SI_SIGIO___35 = -5,
    SI_ASYNCIO___35 = -4,
    SI_MESGQ___35 = -3,
    SI_TIMER___35 = -2,
    SI_QUEUE___35 = -1,
    SI_USER___35 = 0,
    SI_KERNEL___35 = 128
} ;
enum __anonenum_131038172___35 {
    ILL_ILLOPC___35 = 1,
    ILL_ILLOPN___35 = 2,
    ILL_ILLADR___35 = 3,
    ILL_ILLTRP___35 = 4,
    ILL_PRVOPC___35 = 5,
    ILL_PRVREG___35 = 6,
    ILL_COPROC___35 = 7,
    ILL_BADSTK___35 = 8
} ;
enum __anonenum_452038093___35 {
    FPE_INTDIV___35 = 1,
    FPE_INTOVF___35 = 2,
    FPE_FLTDIV___35 = 3,
    FPE_FLTOVF___35 = 4,
    FPE_FLTUND___35 = 5,
    FPE_FLTRES___35 = 6,
    FPE_FLTINV___35 = 7,
    FPE_FLTSUB___35 = 8
} ;
enum __anonenum_30976155___35 {
    SEGV_MAPERR___35 = 1,
    SEGV_ACCERR___35 = 2,
    SEGV_BNDERR___35 = 3,
    SEGV_PKUERR___35 = 4
} ;
enum __anonenum_1036286214___35 {
    BUS_ADRALN___35 = 1,
    BUS_ADRERR___35 = 2,
    BUS_OBJERR___35 = 3,
    BUS_MCEERR_AR___35 = 4,
    BUS_MCEERR_AO___35 = 5
} ;
enum __anonenum_493465559___35 {
    TRAP_BRKPT___35 = 1,
    TRAP_TRACE___35 = 2
} ;
enum __anonenum_23175539___35 {
    CLD_EXITED___35 = 1,
    CLD_KILLED___35 = 2,
    CLD_DUMPED___35 = 3,
    CLD_TRAPPED___35 = 4,
    CLD_STOPPED___35 = 5,
    CLD_CONTINUED___35 = 6
} ;
enum __anonenum_111643124___35 {
    POLL_IN___35 = 1,
    POLL_OUT___35 = 2,
    POLL_MSG___35 = 3,
    POLL_ERR___35 = 4,
    POLL_PRI___35 = 5,
    POLL_HUP___35 = 6
} ;
enum __anonenum_852341087___35 {
    SIGEV_SIGNAL___35 = 0,
    SIGEV_NONE___35 = 1,
    SIGEV_THREAD___35 = 2,
    SIGEV_THREAD_ID___35 = 4
} ;
enum __anonenum_451154152___35 {
    REG_R8___35 = 0,
    REG_R9___35 = 1,
    REG_R10___35 = 2,
    REG_R11___35 = 3,
    REG_R12___35 = 4,
    REG_R13___35 = 5,
    REG_R14___35 = 6,
    REG_R15___35 = 7,
    REG_RDI___35 = 8,
    REG_RSI___35 = 9,
    REG_RBP___35 = 10,
    REG_RBX___35 = 11,
    REG_RDX___35 = 12,
    REG_RAX___35 = 13,
    REG_RCX___35 = 14,
    REG_RSP___35 = 15,
    REG_RIP___35 = 16,
    REG_EFL___35 = 17,
    REG_CSGSFS___35 = 18,
    REG_ERR___35 = 19,
    REG_TRAPNO___35 = 20,
    REG_OLDMASK___35 = 21,
    REG_CR2___35 = 22
} ;
enum __anonenum_57186863___35 {
    SS_ONSTACK___35 = 1,
    SS_DISABLE___35 = 2
} ;
enum __anonenum_83571709___35 {
    MSG_OOB___35 = 1,
    MSG_PEEK___35 = 2,
    MSG_DONTROUTE___35 = 4,
    MSG_TRYHARD___35 = 4,
    MSG_CTRUNC___35 = 8,
    MSG_PROXY___35 = 16,
    MSG_TRUNC___35 = 32,
    MSG_DONTWAIT___35 = 64,
    MSG_EOR___35 = 128,
    MSG_WAITALL___35 = 256,
    MSG_FIN___35 = 512,
    MSG_SYN___35 = 1024,
    MSG_CONFIRM___35 = 2048,
    MSG_RST___35 = 4096,
    MSG_ERRQUEUE___35 = 8192,
    MSG_NOSIGNAL___35 = 16384,
    MSG_MORE___35 = 32768,
    MSG_WAITFORONE___35 = 65536,
    MSG_BATCH___35 = 262144,
    MSG_ZEROCOPY___35 = 67108864,
    MSG_FASTOPEN___35 = 536870912,
    MSG_CMSG_CLOEXEC___35 = 1073741824
} ;
enum __anonenum_617082774___35 {
    SCM_RIGHTS___35 = 1,
    SCM_CREDENTIALS___35 = 2
} ;
enum __anonenum_606441560___35 {
    SHUT_RD___35 = 0,
    SHUT_WR___35 = 1,
    SHUT_RDWR___35 = 2
} ;
enum __anonenum_681669233___35 {
    IPPROTO_IP___35 = 0,
    IPPROTO_ICMP___35 = 1,
    IPPROTO_IGMP___35 = 2,
    IPPROTO_IPIP___35 = 4,
    IPPROTO_TCP___35 = 6,
    IPPROTO_EGP___35 = 8,
    IPPROTO_PUP___35 = 12,
    IPPROTO_UDP___35 = 17,
    IPPROTO_IDP___35 = 22,
    IPPROTO_TP___35 = 29,
    IPPROTO_DCCP___35 = 33,
    IPPROTO_IPV6___35 = 41,
    IPPROTO_RSVP___35 = 46,
    IPPROTO_GRE___35 = 47,
    IPPROTO_ESP___35 = 50,
    IPPROTO_AH___35 = 51,
    IPPROTO_MTP___35 = 92,
    IPPROTO_BEETPH___35 = 94,
    IPPROTO_ENCAP___35 = 98,
    IPPROTO_PIM___35 = 103,
    IPPROTO_COMP___35 = 108,
    IPPROTO_SCTP___35 = 132,
    IPPROTO_UDPLITE___35 = 136,
    IPPROTO_MPLS___35 = 137,
    IPPROTO_RAW___35 = 255,
    IPPROTO_MAX___35 = 256
} ;
enum __anonenum_218739988___35 {
    IPPROTO_HOPOPTS___35 = 0,
    IPPROTO_ROUTING___35 = 43,
    IPPROTO_FRAGMENT___35 = 44,
    IPPROTO_ICMPV6___35 = 58,
    IPPROTO_NONE___35 = 59,
    IPPROTO_DSTOPTS___35 = 60,
    IPPROTO_MH___35 = 135
} ;
enum __anonenum_662268580___35 {
    IPPORT_ECHO___35 = 7,
    IPPORT_DISCARD___35 = 9,
    IPPORT_SYSTAT___35 = 11,
    IPPORT_DAYTIME___35 = 13,
    IPPORT_NETSTAT___35 = 15,
    IPPORT_FTP___35 = 21,
    IPPORT_TELNET___35 = 23,
    IPPORT_SMTP___35 = 25,
    IPPORT_TIMESERVER___35 = 37,
    IPPORT_NAMESERVER___35 = 42,
    IPPORT_WHOIS___35 = 43,
    IPPORT_MTP___35 = 57,
    IPPORT_TFTP___35 = 69,
    IPPORT_RJE___35 = 77,
    IPPORT_FINGER___35 = 79,
    IPPORT_TTYLINK___35 = 87,
    IPPORT_SUPDUP___35 = 95,
    IPPORT_EXECSERVER___35 = 512,
    IPPORT_LOGINSERVER___35 = 513,
    IPPORT_CMDSERVER___35 = 514,
    IPPORT_EFSSERVER___35 = 520,
    IPPORT_BIFFUDP___35 = 512,
    IPPORT_WHOSERVER___35 = 513,
    IPPORT_ROUTESERVER___35 = 520,
    IPPORT_RESERVED___35 = 1024,
    IPPORT_USERRESERVED___35 = 5000
} ;
enum __anonenum_788308992___35 {
    TCP_ESTABLISHED___35 = 1,
    TCP_SYN_SENT___35 = 2,
    TCP_SYN_RECV___35 = 3,
    TCP_FIN_WAIT1___35 = 4,
    TCP_FIN_WAIT2___35 = 5,
    TCP_TIME_WAIT___35 = 6,
    TCP_CLOSE___35 = 7,
    TCP_CLOSE_WAIT___35 = 8,
    TCP_LAST_ACK___35 = 9,
    TCP_LISTEN___35 = 10,
    TCP_CLOSING___35 = 11
} ;
enum __anonenum_221125648___35 {
    TCP_NO_QUEUE___35 = 0,
    TCP_RECV_QUEUE___35 = 1,
    TCP_SEND_QUEUE___35 = 2,
    TCP_QUEUES_NR___35 = 3
} ;
enum __anonenum_34415463___35 {
    PTHREAD_CREATE_JOINABLE___35 = 0,
    PTHREAD_CREATE_DETACHED___35 = 1
} ;
enum __anonenum_303612439___35 {
    PTHREAD_MUTEX_TIMED_NP___35 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___35 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___35 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___35 = 3,
    PTHREAD_MUTEX_NORMAL___35 = 0,
    PTHREAD_MUTEX_RECURSIVE___35 = 1,
    PTHREAD_MUTEX_ERRORCHECK___35 = 2,
    PTHREAD_MUTEX_DEFAULT___35 = 0,
    PTHREAD_MUTEX_FAST_NP___35 = 0
} ;
enum __anonenum_931900394___35 {
    PTHREAD_MUTEX_STALLED___35 = 0,
    PTHREAD_MUTEX_STALLED_NP___35 = 0,
    PTHREAD_MUTEX_ROBUST___35 = 1,
    PTHREAD_MUTEX_ROBUST_NP___35 = 1
} ;
enum __anonenum_205214487___35 {
    PTHREAD_PRIO_NONE___35 = 0,
    PTHREAD_PRIO_INHERIT___35 = 1,
    PTHREAD_PRIO_PROTECT___35 = 2
} ;
enum __anonenum_25043950___35 {
    PTHREAD_RWLOCK_PREFER_READER_NP___35 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___35 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___35 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___35 = 0
} ;
enum __anonenum_436439511___35 {
    PTHREAD_INHERIT_SCHED___35 = 0,
    PTHREAD_EXPLICIT_SCHED___35 = 1
} ;
enum __anonenum_998661166___35 {
    PTHREAD_SCOPE_SYSTEM___35 = 0,
    PTHREAD_SCOPE_PROCESS___35 = 1
} ;
enum __anonenum_146137331___35 {
    PTHREAD_PROCESS_PRIVATE___35 = 0,
    PTHREAD_PROCESS_SHARED___35 = 1
} ;
enum __anonenum_53396917___35 {
    PTHREAD_CANCEL_ENABLE___35 = 0,
    PTHREAD_CANCEL_DISABLE___35 = 1
} ;
enum __anonenum_904563783___35 {
    PTHREAD_CANCEL_DEFERRED___35 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___35 = 1
} ;
enum __anonenum_672052974___35 {
    SSL_CT_VALIDATION_PERMISSIVE___35 = 0,
    SSL_CT_VALIDATION_STRICT___35 = 1
} ;
typedef void (*sigchain_fun)(int  );
struct escape_sequence_entry {
   struct hashmap_entry entry ;
   char sequence[] ;
};
enum __anonenum_437032235___36 {
    _PC_LINK_MAX___36 = 0,
    _PC_MAX_CANON___36 = 1,
    _PC_MAX_INPUT___36 = 2,
    _PC_NAME_MAX___36 = 3,
    _PC_PATH_MAX___36 = 4,
    _PC_PIPE_BUF___36 = 5,
    _PC_CHOWN_RESTRICTED___36 = 6,
    _PC_NO_TRUNC___36 = 7,
    _PC_VDISABLE___36 = 8,
    _PC_SYNC_IO___36 = 9,
    _PC_ASYNC_IO___36 = 10,
    _PC_PRIO_IO___36 = 11,
    _PC_SOCK_MAXBUF___36 = 12,
    _PC_FILESIZEBITS___36 = 13,
    _PC_REC_INCR_XFER_SIZE___36 = 14,
    _PC_REC_MAX_XFER_SIZE___36 = 15,
    _PC_REC_MIN_XFER_SIZE___36 = 16,
    _PC_REC_XFER_ALIGN___36 = 17,
    _PC_ALLOC_SIZE_MIN___36 = 18,
    _PC_SYMLINK_MAX___36 = 19,
    _PC_2_SYMLINKS___36 = 20
} ;
enum __anonenum_315186338___36 {
    _SC_ARG_MAX___36 = 0,
    _SC_CHILD_MAX___36 = 1,
    _SC_CLK_TCK___36 = 2,
    _SC_NGROUPS_MAX___36 = 3,
    _SC_OPEN_MAX___36 = 4,
    _SC_STREAM_MAX___36 = 5,
    _SC_TZNAME_MAX___36 = 6,
    _SC_JOB_CONTROL___36 = 7,
    _SC_SAVED_IDS___36 = 8,
    _SC_REALTIME_SIGNALS___36 = 9,
    _SC_PRIORITY_SCHEDULING___36 = 10,
    _SC_TIMERS___36 = 11,
    _SC_ASYNCHRONOUS_IO___36 = 12,
    _SC_PRIORITIZED_IO___36 = 13,
    _SC_SYNCHRONIZED_IO___36 = 14,
    _SC_FSYNC___36 = 15,
    _SC_MAPPED_FILES___36 = 16,
    _SC_MEMLOCK___36 = 17,
    _SC_MEMLOCK_RANGE___36 = 18,
    _SC_MEMORY_PROTECTION___36 = 19,
    _SC_MESSAGE_PASSING___36 = 20,
    _SC_SEMAPHORES___36 = 21,
    _SC_SHARED_MEMORY_OBJECTS___36 = 22,
    _SC_AIO_LISTIO_MAX___36 = 23,
    _SC_AIO_MAX___36 = 24,
    _SC_AIO_PRIO_DELTA_MAX___36 = 25,
    _SC_DELAYTIMER_MAX___36 = 26,
    _SC_MQ_OPEN_MAX___36 = 27,
    _SC_MQ_PRIO_MAX___36 = 28,
    _SC_VERSION___36 = 29,
    _SC_PAGESIZE___36 = 30,
    _SC_RTSIG_MAX___36 = 31,
    _SC_SEM_NSEMS_MAX___36 = 32,
    _SC_SEM_VALUE_MAX___36 = 33,
    _SC_SIGQUEUE_MAX___36 = 34,
    _SC_TIMER_MAX___36 = 35,
    _SC_BC_BASE_MAX___36 = 36,
    _SC_BC_DIM_MAX___36 = 37,
    _SC_BC_SCALE_MAX___36 = 38,
    _SC_BC_STRING_MAX___36 = 39,
    _SC_COLL_WEIGHTS_MAX___36 = 40,
    _SC_EQUIV_CLASS_MAX___36 = 41,
    _SC_EXPR_NEST_MAX___36 = 42,
    _SC_LINE_MAX___36 = 43,
    _SC_RE_DUP_MAX___36 = 44,
    _SC_CHARCLASS_NAME_MAX___36 = 45,
    _SC_2_VERSION___36 = 46,
    _SC_2_C_BIND___36 = 47,
    _SC_2_C_DEV___36 = 48,
    _SC_2_FORT_DEV___36 = 49,
    _SC_2_FORT_RUN___36 = 50,
    _SC_2_SW_DEV___36 = 51,
    _SC_2_LOCALEDEF___36 = 52,
    _SC_PII___36 = 53,
    _SC_PII_XTI___36 = 54,
    _SC_PII_SOCKET___36 = 55,
    _SC_PII_INTERNET___36 = 56,
    _SC_PII_OSI___36 = 57,
    _SC_POLL___36 = 58,
    _SC_SELECT___36 = 59,
    _SC_UIO_MAXIOV___36 = 60,
    _SC_IOV_MAX___36 = 60,
    _SC_PII_INTERNET_STREAM___36 = 61,
    _SC_PII_INTERNET_DGRAM___36 = 62,
    _SC_PII_OSI_COTS___36 = 63,
    _SC_PII_OSI_CLTS___36 = 64,
    _SC_PII_OSI_M___36 = 65,
    _SC_T_IOV_MAX___36 = 66,
    _SC_THREADS___36 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___36 = 68,
    _SC_GETGR_R_SIZE_MAX___36 = 69,
    _SC_GETPW_R_SIZE_MAX___36 = 70,
    _SC_LOGIN_NAME_MAX___36 = 71,
    _SC_TTY_NAME_MAX___36 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___36 = 73,
    _SC_THREAD_KEYS_MAX___36 = 74,
    _SC_THREAD_STACK_MIN___36 = 75,
    _SC_THREAD_THREADS_MAX___36 = 76,
    _SC_THREAD_ATTR_STACKADDR___36 = 77,
    _SC_THREAD_ATTR_STACKSIZE___36 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___36 = 79,
    _SC_THREAD_PRIO_INHERIT___36 = 80,
    _SC_THREAD_PRIO_PROTECT___36 = 81,
    _SC_THREAD_PROCESS_SHARED___36 = 82,
    _SC_NPROCESSORS_CONF___36 = 83,
    _SC_NPROCESSORS_ONLN___36 = 84,
    _SC_PHYS_PAGES___36 = 85,
    _SC_AVPHYS_PAGES___36 = 86,
    _SC_ATEXIT_MAX___36 = 87,
    _SC_PASS_MAX___36 = 88,
    _SC_XOPEN_VERSION___36 = 89,
    _SC_XOPEN_XCU_VERSION___36 = 90,
    _SC_XOPEN_UNIX___36 = 91,
    _SC_XOPEN_CRYPT___36 = 92,
    _SC_XOPEN_ENH_I18N___36 = 93,
    _SC_XOPEN_SHM___36 = 94,
    _SC_2_CHAR_TERM___36 = 95,
    _SC_2_C_VERSION___36 = 96,
    _SC_2_UPE___36 = 97,
    _SC_XOPEN_XPG2___36 = 98,
    _SC_XOPEN_XPG3___36 = 99,
    _SC_XOPEN_XPG4___36 = 100,
    _SC_CHAR_BIT___36 = 101,
    _SC_CHAR_MAX___36 = 102,
    _SC_CHAR_MIN___36 = 103,
    _SC_INT_MAX___36 = 104,
    _SC_INT_MIN___36 = 105,
    _SC_LONG_BIT___36 = 106,
    _SC_WORD_BIT___36 = 107,
    _SC_MB_LEN_MAX___36 = 108,
    _SC_NZERO___36 = 109,
    _SC_SSIZE_MAX___36 = 110,
    _SC_SCHAR_MAX___36 = 111,
    _SC_SCHAR_MIN___36 = 112,
    _SC_SHRT_MAX___36 = 113,
    _SC_SHRT_MIN___36 = 114,
    _SC_UCHAR_MAX___36 = 115,
    _SC_UINT_MAX___36 = 116,
    _SC_ULONG_MAX___36 = 117,
    _SC_USHRT_MAX___36 = 118,
    _SC_NL_ARGMAX___36 = 119,
    _SC_NL_LANGMAX___36 = 120,
    _SC_NL_MSGMAX___36 = 121,
    _SC_NL_NMAX___36 = 122,
    _SC_NL_SETMAX___36 = 123,
    _SC_NL_TEXTMAX___36 = 124,
    _SC_XBS5_ILP32_OFF32___36 = 125,
    _SC_XBS5_ILP32_OFFBIG___36 = 126,
    _SC_XBS5_LP64_OFF64___36 = 127,
    _SC_XBS5_LPBIG_OFFBIG___36 = 128,
    _SC_XOPEN_LEGACY___36 = 129,
    _SC_XOPEN_REALTIME___36 = 130,
    _SC_XOPEN_REALTIME_THREADS___36 = 131,
    _SC_ADVISORY_INFO___36 = 132,
    _SC_BARRIERS___36 = 133,
    _SC_BASE___36 = 134,
    _SC_C_LANG_SUPPORT___36 = 135,
    _SC_C_LANG_SUPPORT_R___36 = 136,
    _SC_CLOCK_SELECTION___36 = 137,
    _SC_CPUTIME___36 = 138,
    _SC_THREAD_CPUTIME___36 = 139,
    _SC_DEVICE_IO___36 = 140,
    _SC_DEVICE_SPECIFIC___36 = 141,
    _SC_DEVICE_SPECIFIC_R___36 = 142,
    _SC_FD_MGMT___36 = 143,
    _SC_FIFO___36 = 144,
    _SC_PIPE___36 = 145,
    _SC_FILE_ATTRIBUTES___36 = 146,
    _SC_FILE_LOCKING___36 = 147,
    _SC_FILE_SYSTEM___36 = 148,
    _SC_MONOTONIC_CLOCK___36 = 149,
    _SC_MULTI_PROCESS___36 = 150,
    _SC_SINGLE_PROCESS___36 = 151,
    _SC_NETWORKING___36 = 152,
    _SC_READER_WRITER_LOCKS___36 = 153,
    _SC_SPIN_LOCKS___36 = 154,
    _SC_REGEXP___36 = 155,
    _SC_REGEX_VERSION___36 = 156,
    _SC_SHELL___36 = 157,
    _SC_SIGNALS___36 = 158,
    _SC_SPAWN___36 = 159,
    _SC_SPORADIC_SERVER___36 = 160,
    _SC_THREAD_SPORADIC_SERVER___36 = 161,
    _SC_SYSTEM_DATABASE___36 = 162,
    _SC_SYSTEM_DATABASE_R___36 = 163,
    _SC_TIMEOUTS___36 = 164,
    _SC_TYPED_MEMORY_OBJECTS___36 = 165,
    _SC_USER_GROUPS___36 = 166,
    _SC_USER_GROUPS_R___36 = 167,
    _SC_2_PBS___36 = 168,
    _SC_2_PBS_ACCOUNTING___36 = 169,
    _SC_2_PBS_LOCATE___36 = 170,
    _SC_2_PBS_MESSAGE___36 = 171,
    _SC_2_PBS_TRACK___36 = 172,
    _SC_SYMLOOP_MAX___36 = 173,
    _SC_STREAMS___36 = 174,
    _SC_2_PBS_CHECKPOINT___36 = 175,
    _SC_V6_ILP32_OFF32___36 = 176,
    _SC_V6_ILP32_OFFBIG___36 = 177,
    _SC_V6_LP64_OFF64___36 = 178,
    _SC_V6_LPBIG_OFFBIG___36 = 179,
    _SC_HOST_NAME_MAX___36 = 180,
    _SC_TRACE___36 = 181,
    _SC_TRACE_EVENT_FILTER___36 = 182,
    _SC_TRACE_INHERIT___36 = 183,
    _SC_TRACE_LOG___36 = 184,
    _SC_LEVEL1_ICACHE_SIZE___36 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___36 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___36 = 187,
    _SC_LEVEL1_DCACHE_SIZE___36 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___36 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___36 = 190,
    _SC_LEVEL2_CACHE_SIZE___36 = 191,
    _SC_LEVEL2_CACHE_ASSOC___36 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___36 = 193,
    _SC_LEVEL3_CACHE_SIZE___36 = 194,
    _SC_LEVEL3_CACHE_ASSOC___36 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___36 = 196,
    _SC_LEVEL4_CACHE_SIZE___36 = 197,
    _SC_LEVEL4_CACHE_ASSOC___36 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___36 = 199,
    _SC_IPV6___36 = 235,
    _SC_RAW_SOCKETS___36 = 236,
    _SC_V7_ILP32_OFF32___36 = 237,
    _SC_V7_ILP32_OFFBIG___36 = 238,
    _SC_V7_LP64_OFF64___36 = 239,
    _SC_V7_LPBIG_OFFBIG___36 = 240,
    _SC_SS_REPL_MAX___36 = 241,
    _SC_TRACE_EVENT_NAME_MAX___36 = 242,
    _SC_TRACE_NAME_MAX___36 = 243,
    _SC_TRACE_SYS_MAX___36 = 244,
    _SC_TRACE_USER_EVENT_MAX___36 = 245,
    _SC_XOPEN_STREAMS___36 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___36 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___36 = 248
} ;
enum __anonenum_875524036___36 {
    _CS_PATH___36 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___36 = 1,
    _CS_GNU_LIBC_VERSION___36 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___36 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___36 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___36 = 5,
    _CS_LFS_CFLAGS___36 = 1000,
    _CS_LFS_LDFLAGS___36 = 1001,
    _CS_LFS_LIBS___36 = 1002,
    _CS_LFS_LINTFLAGS___36 = 1003,
    _CS_LFS64_CFLAGS___36 = 1004,
    _CS_LFS64_LDFLAGS___36 = 1005,
    _CS_LFS64_LIBS___36 = 1006,
    _CS_LFS64_LINTFLAGS___36 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___36 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___36 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___36 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___36 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___36 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___36 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___36 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___36 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___36 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___36 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___36 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___36 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___36 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___36 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___36 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___36 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___36 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___36 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___36 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___36 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___36 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___36 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___36 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___36 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___36 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___36 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___36 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___36 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___36 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___36 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___36 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___36 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___36 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___36 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___36 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___36 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___36 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___36 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___36 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___36 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___36 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___36 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___36 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___36 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___36 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___36 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___36 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___36 = 1147,
    _CS_V6_ENV___36 = 1148,
    _CS_V7_ENV___36 = 1149
} ;
enum __anonenum_513775621___36 {
    DT_UNKNOWN___36 = 0,
    DT_FIFO___36 = 1,
    DT_CHR___36 = 2,
    DT_DIR___36 = 4,
    DT_BLK___36 = 6,
    DT_REG___36 = 8,
    DT_LNK___36 = 10,
    DT_SOCK___36 = 12,
    DT_WHT___36 = 14
} ;
enum __anonenum_77002343___36 {
    SI_ASYNCNL___36 = -60,
    SI_TKILL___36 = -6,
    SI_SIGIO___36 = -5,
    SI_ASYNCIO___36 = -4,
    SI_MESGQ___36 = -3,
    SI_TIMER___36 = -2,
    SI_QUEUE___36 = -1,
    SI_USER___36 = 0,
    SI_KERNEL___36 = 128
} ;
enum __anonenum_131038172___36 {
    ILL_ILLOPC___36 = 1,
    ILL_ILLOPN___36 = 2,
    ILL_ILLADR___36 = 3,
    ILL_ILLTRP___36 = 4,
    ILL_PRVOPC___36 = 5,
    ILL_PRVREG___36 = 6,
    ILL_COPROC___36 = 7,
    ILL_BADSTK___36 = 8
} ;
enum __anonenum_452038093___36 {
    FPE_INTDIV___36 = 1,
    FPE_INTOVF___36 = 2,
    FPE_FLTDIV___36 = 3,
    FPE_FLTOVF___36 = 4,
    FPE_FLTUND___36 = 5,
    FPE_FLTRES___36 = 6,
    FPE_FLTINV___36 = 7,
    FPE_FLTSUB___36 = 8
} ;
enum __anonenum_30976155___36 {
    SEGV_MAPERR___36 = 1,
    SEGV_ACCERR___36 = 2,
    SEGV_BNDERR___36 = 3,
    SEGV_PKUERR___36 = 4
} ;
enum __anonenum_1036286214___36 {
    BUS_ADRALN___36 = 1,
    BUS_ADRERR___36 = 2,
    BUS_OBJERR___36 = 3,
    BUS_MCEERR_AR___36 = 4,
    BUS_MCEERR_AO___36 = 5
} ;
enum __anonenum_493465559___36 {
    TRAP_BRKPT___36 = 1,
    TRAP_TRACE___36 = 2
} ;
enum __anonenum_23175539___36 {
    CLD_EXITED___36 = 1,
    CLD_KILLED___36 = 2,
    CLD_DUMPED___36 = 3,
    CLD_TRAPPED___36 = 4,
    CLD_STOPPED___36 = 5,
    CLD_CONTINUED___36 = 6
} ;
enum __anonenum_111643124___36 {
    POLL_IN___36 = 1,
    POLL_OUT___36 = 2,
    POLL_MSG___36 = 3,
    POLL_ERR___36 = 4,
    POLL_PRI___36 = 5,
    POLL_HUP___36 = 6
} ;
enum __anonenum_852341087___36 {
    SIGEV_SIGNAL___36 = 0,
    SIGEV_NONE___36 = 1,
    SIGEV_THREAD___36 = 2,
    SIGEV_THREAD_ID___36 = 4
} ;
enum __anonenum_451154152___36 {
    REG_R8___36 = 0,
    REG_R9___36 = 1,
    REG_R10___36 = 2,
    REG_R11___36 = 3,
    REG_R12___36 = 4,
    REG_R13___36 = 5,
    REG_R14___36 = 6,
    REG_R15___36 = 7,
    REG_RDI___36 = 8,
    REG_RSI___36 = 9,
    REG_RBP___36 = 10,
    REG_RBX___36 = 11,
    REG_RDX___36 = 12,
    REG_RAX___36 = 13,
    REG_RCX___36 = 14,
    REG_RSP___36 = 15,
    REG_RIP___36 = 16,
    REG_EFL___36 = 17,
    REG_CSGSFS___36 = 18,
    REG_ERR___36 = 19,
    REG_TRAPNO___36 = 20,
    REG_OLDMASK___36 = 21,
    REG_CR2___36 = 22
} ;
enum __anonenum_57186863___36 {
    SS_ONSTACK___36 = 1,
    SS_DISABLE___36 = 2
} ;
enum __anonenum_83571709___36 {
    MSG_OOB___36 = 1,
    MSG_PEEK___36 = 2,
    MSG_DONTROUTE___36 = 4,
    MSG_TRYHARD___36 = 4,
    MSG_CTRUNC___36 = 8,
    MSG_PROXY___36 = 16,
    MSG_TRUNC___36 = 32,
    MSG_DONTWAIT___36 = 64,
    MSG_EOR___36 = 128,
    MSG_WAITALL___36 = 256,
    MSG_FIN___36 = 512,
    MSG_SYN___36 = 1024,
    MSG_CONFIRM___36 = 2048,
    MSG_RST___36 = 4096,
    MSG_ERRQUEUE___36 = 8192,
    MSG_NOSIGNAL___36 = 16384,
    MSG_MORE___36 = 32768,
    MSG_WAITFORONE___36 = 65536,
    MSG_BATCH___36 = 262144,
    MSG_ZEROCOPY___36 = 67108864,
    MSG_FASTOPEN___36 = 536870912,
    MSG_CMSG_CLOEXEC___36 = 1073741824
} ;
enum __anonenum_617082774___36 {
    SCM_RIGHTS___36 = 1,
    SCM_CREDENTIALS___36 = 2
} ;
enum __anonenum_606441560___36 {
    SHUT_RD___36 = 0,
    SHUT_WR___36 = 1,
    SHUT_RDWR___36 = 2
} ;
enum __anonenum_681669233___36 {
    IPPROTO_IP___36 = 0,
    IPPROTO_ICMP___36 = 1,
    IPPROTO_IGMP___36 = 2,
    IPPROTO_IPIP___36 = 4,
    IPPROTO_TCP___36 = 6,
    IPPROTO_EGP___36 = 8,
    IPPROTO_PUP___36 = 12,
    IPPROTO_UDP___36 = 17,
    IPPROTO_IDP___36 = 22,
    IPPROTO_TP___36 = 29,
    IPPROTO_DCCP___36 = 33,
    IPPROTO_IPV6___36 = 41,
    IPPROTO_RSVP___36 = 46,
    IPPROTO_GRE___36 = 47,
    IPPROTO_ESP___36 = 50,
    IPPROTO_AH___36 = 51,
    IPPROTO_MTP___36 = 92,
    IPPROTO_BEETPH___36 = 94,
    IPPROTO_ENCAP___36 = 98,
    IPPROTO_PIM___36 = 103,
    IPPROTO_COMP___36 = 108,
    IPPROTO_SCTP___36 = 132,
    IPPROTO_UDPLITE___36 = 136,
    IPPROTO_MPLS___36 = 137,
    IPPROTO_RAW___36 = 255,
    IPPROTO_MAX___36 = 256
} ;
enum __anonenum_218739988___36 {
    IPPROTO_HOPOPTS___36 = 0,
    IPPROTO_ROUTING___36 = 43,
    IPPROTO_FRAGMENT___36 = 44,
    IPPROTO_ICMPV6___36 = 58,
    IPPROTO_NONE___36 = 59,
    IPPROTO_DSTOPTS___36 = 60,
    IPPROTO_MH___36 = 135
} ;
enum __anonenum_662268580___36 {
    IPPORT_ECHO___36 = 7,
    IPPORT_DISCARD___36 = 9,
    IPPORT_SYSTAT___36 = 11,
    IPPORT_DAYTIME___36 = 13,
    IPPORT_NETSTAT___36 = 15,
    IPPORT_FTP___36 = 21,
    IPPORT_TELNET___36 = 23,
    IPPORT_SMTP___36 = 25,
    IPPORT_TIMESERVER___36 = 37,
    IPPORT_NAMESERVER___36 = 42,
    IPPORT_WHOIS___36 = 43,
    IPPORT_MTP___36 = 57,
    IPPORT_TFTP___36 = 69,
    IPPORT_RJE___36 = 77,
    IPPORT_FINGER___36 = 79,
    IPPORT_TTYLINK___36 = 87,
    IPPORT_SUPDUP___36 = 95,
    IPPORT_EXECSERVER___36 = 512,
    IPPORT_LOGINSERVER___36 = 513,
    IPPORT_CMDSERVER___36 = 514,
    IPPORT_EFSSERVER___36 = 520,
    IPPORT_BIFFUDP___36 = 512,
    IPPORT_WHOSERVER___36 = 513,
    IPPORT_ROUTESERVER___36 = 520,
    IPPORT_RESERVED___36 = 1024,
    IPPORT_USERRESERVED___36 = 5000
} ;
enum __anonenum_788308992___36 {
    TCP_ESTABLISHED___36 = 1,
    TCP_SYN_SENT___36 = 2,
    TCP_SYN_RECV___36 = 3,
    TCP_FIN_WAIT1___36 = 4,
    TCP_FIN_WAIT2___36 = 5,
    TCP_TIME_WAIT___36 = 6,
    TCP_CLOSE___36 = 7,
    TCP_CLOSE_WAIT___36 = 8,
    TCP_LAST_ACK___36 = 9,
    TCP_LISTEN___36 = 10,
    TCP_CLOSING___36 = 11
} ;
enum __anonenum_221125648___36 {
    TCP_NO_QUEUE___36 = 0,
    TCP_RECV_QUEUE___36 = 1,
    TCP_SEND_QUEUE___36 = 2,
    TCP_QUEUES_NR___36 = 3
} ;
enum __anonenum_34415463___36 {
    PTHREAD_CREATE_JOINABLE___36 = 0,
    PTHREAD_CREATE_DETACHED___36 = 1
} ;
enum __anonenum_303612439___36 {
    PTHREAD_MUTEX_TIMED_NP___36 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___36 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___36 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___36 = 3,
    PTHREAD_MUTEX_NORMAL___36 = 0,
    PTHREAD_MUTEX_RECURSIVE___36 = 1,
    PTHREAD_MUTEX_ERRORCHECK___36 = 2,
    PTHREAD_MUTEX_DEFAULT___36 = 0,
    PTHREAD_MUTEX_FAST_NP___36 = 0
} ;
enum __anonenum_931900394___36 {
    PTHREAD_MUTEX_STALLED___36 = 0,
    PTHREAD_MUTEX_STALLED_NP___36 = 0,
    PTHREAD_MUTEX_ROBUST___36 = 1,
    PTHREAD_MUTEX_ROBUST_NP___36 = 1
} ;
enum __anonenum_205214487___36 {
    PTHREAD_PRIO_NONE___36 = 0,
    PTHREAD_PRIO_INHERIT___36 = 1,
    PTHREAD_PRIO_PROTECT___36 = 2
} ;
enum __anonenum_25043950___36 {
    PTHREAD_RWLOCK_PREFER_READER_NP___36 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___36 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___36 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___36 = 0
} ;
enum __anonenum_436439511___36 {
    PTHREAD_INHERIT_SCHED___36 = 0,
    PTHREAD_EXPLICIT_SCHED___36 = 1
} ;
enum __anonenum_998661166___36 {
    PTHREAD_SCOPE_SYSTEM___36 = 0,
    PTHREAD_SCOPE_PROCESS___36 = 1
} ;
enum __anonenum_146137331___36 {
    PTHREAD_PROCESS_PRIVATE___36 = 0,
    PTHREAD_PROCESS_SHARED___36 = 1
} ;
enum __anonenum_53396917___36 {
    PTHREAD_CANCEL_ENABLE___36 = 0,
    PTHREAD_CANCEL_DISABLE___36 = 1
} ;
enum __anonenum_904563783___36 {
    PTHREAD_CANCEL_DEFERRED___36 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___36 = 1
} ;
enum __anonenum_672052974___36 {
    SSL_CT_VALIDATION_PERMISSIVE___36 = 0,
    SSL_CT_VALIDATION_STRICT___36 = 1
} ;
struct config_buf {
   char const   *buf ;
   size_t len ;
   size_t pos ;
};
union __anonunion_u_125721779 {
   FILE *file ;
   struct config_buf buf ;
};
struct config_source {
   struct config_source *prev ;
   union __anonunion_u_125721779 u ;
   enum config_origin_type origin_type ;
   char const   *name ;
   char const   *path ;
   enum config_error_action default_error_action ;
   int linenr ;
   int eof ;
   size_t total_len ;
   struct strbuf value ;
   struct strbuf var ;
   unsigned int subsection_case_sensitive : 1 ;
   int (*do_fgetc)(struct config_source *c ) ;
   int (*do_ungetc)(int c , struct config_source *conf ) ;
   long (*do_ftell)(struct config_source *c ) ;
};
struct parse_event_data {
   enum config_event_t previous_type ;
   size_t previous_offset ;
   struct config_options  const  *opts ;
};
struct __anonstruct_parsed_70859958 {
   size_t begin ;
   size_t end ;
   enum config_event_t type ;
   int is_keys_section ;
};
struct config_store_data {
   size_t baselen ;
   char *key ;
   int do_not_match ;
   char const   *fixed_value ;
   regex_t *value_pattern ;
   int multi_replace ;
   struct __anonstruct_parsed_70859958 *parsed ;
   unsigned int parsed_nr ;
   unsigned int parsed_alloc ;
   unsigned int *seen ;
   unsigned int seen_nr ;
   unsigned int seen_alloc ;
   unsigned int key_seen : 1 ;
   unsigned int section_seen : 1 ;
   unsigned int is_keys_section : 1 ;
};
enum __anonenum_437032235___37 {
    _PC_LINK_MAX___37 = 0,
    _PC_MAX_CANON___37 = 1,
    _PC_MAX_INPUT___37 = 2,
    _PC_NAME_MAX___37 = 3,
    _PC_PATH_MAX___37 = 4,
    _PC_PIPE_BUF___37 = 5,
    _PC_CHOWN_RESTRICTED___37 = 6,
    _PC_NO_TRUNC___37 = 7,
    _PC_VDISABLE___37 = 8,
    _PC_SYNC_IO___37 = 9,
    _PC_ASYNC_IO___37 = 10,
    _PC_PRIO_IO___37 = 11,
    _PC_SOCK_MAXBUF___37 = 12,
    _PC_FILESIZEBITS___37 = 13,
    _PC_REC_INCR_XFER_SIZE___37 = 14,
    _PC_REC_MAX_XFER_SIZE___37 = 15,
    _PC_REC_MIN_XFER_SIZE___37 = 16,
    _PC_REC_XFER_ALIGN___37 = 17,
    _PC_ALLOC_SIZE_MIN___37 = 18,
    _PC_SYMLINK_MAX___37 = 19,
    _PC_2_SYMLINKS___37 = 20
} ;
enum __anonenum_315186338___37 {
    _SC_ARG_MAX___37 = 0,
    _SC_CHILD_MAX___37 = 1,
    _SC_CLK_TCK___37 = 2,
    _SC_NGROUPS_MAX___37 = 3,
    _SC_OPEN_MAX___37 = 4,
    _SC_STREAM_MAX___37 = 5,
    _SC_TZNAME_MAX___37 = 6,
    _SC_JOB_CONTROL___37 = 7,
    _SC_SAVED_IDS___37 = 8,
    _SC_REALTIME_SIGNALS___37 = 9,
    _SC_PRIORITY_SCHEDULING___37 = 10,
    _SC_TIMERS___37 = 11,
    _SC_ASYNCHRONOUS_IO___37 = 12,
    _SC_PRIORITIZED_IO___37 = 13,
    _SC_SYNCHRONIZED_IO___37 = 14,
    _SC_FSYNC___37 = 15,
    _SC_MAPPED_FILES___37 = 16,
    _SC_MEMLOCK___37 = 17,
    _SC_MEMLOCK_RANGE___37 = 18,
    _SC_MEMORY_PROTECTION___37 = 19,
    _SC_MESSAGE_PASSING___37 = 20,
    _SC_SEMAPHORES___37 = 21,
    _SC_SHARED_MEMORY_OBJECTS___37 = 22,
    _SC_AIO_LISTIO_MAX___37 = 23,
    _SC_AIO_MAX___37 = 24,
    _SC_AIO_PRIO_DELTA_MAX___37 = 25,
    _SC_DELAYTIMER_MAX___37 = 26,
    _SC_MQ_OPEN_MAX___37 = 27,
    _SC_MQ_PRIO_MAX___37 = 28,
    _SC_VERSION___37 = 29,
    _SC_PAGESIZE___37 = 30,
    _SC_RTSIG_MAX___37 = 31,
    _SC_SEM_NSEMS_MAX___37 = 32,
    _SC_SEM_VALUE_MAX___37 = 33,
    _SC_SIGQUEUE_MAX___37 = 34,
    _SC_TIMER_MAX___37 = 35,
    _SC_BC_BASE_MAX___37 = 36,
    _SC_BC_DIM_MAX___37 = 37,
    _SC_BC_SCALE_MAX___37 = 38,
    _SC_BC_STRING_MAX___37 = 39,
    _SC_COLL_WEIGHTS_MAX___37 = 40,
    _SC_EQUIV_CLASS_MAX___37 = 41,
    _SC_EXPR_NEST_MAX___37 = 42,
    _SC_LINE_MAX___37 = 43,
    _SC_RE_DUP_MAX___37 = 44,
    _SC_CHARCLASS_NAME_MAX___37 = 45,
    _SC_2_VERSION___37 = 46,
    _SC_2_C_BIND___37 = 47,
    _SC_2_C_DEV___37 = 48,
    _SC_2_FORT_DEV___37 = 49,
    _SC_2_FORT_RUN___37 = 50,
    _SC_2_SW_DEV___37 = 51,
    _SC_2_LOCALEDEF___37 = 52,
    _SC_PII___37 = 53,
    _SC_PII_XTI___37 = 54,
    _SC_PII_SOCKET___37 = 55,
    _SC_PII_INTERNET___37 = 56,
    _SC_PII_OSI___37 = 57,
    _SC_POLL___37 = 58,
    _SC_SELECT___37 = 59,
    _SC_UIO_MAXIOV___37 = 60,
    _SC_IOV_MAX___37 = 60,
    _SC_PII_INTERNET_STREAM___37 = 61,
    _SC_PII_INTERNET_DGRAM___37 = 62,
    _SC_PII_OSI_COTS___37 = 63,
    _SC_PII_OSI_CLTS___37 = 64,
    _SC_PII_OSI_M___37 = 65,
    _SC_T_IOV_MAX___37 = 66,
    _SC_THREADS___37 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___37 = 68,
    _SC_GETGR_R_SIZE_MAX___37 = 69,
    _SC_GETPW_R_SIZE_MAX___37 = 70,
    _SC_LOGIN_NAME_MAX___37 = 71,
    _SC_TTY_NAME_MAX___37 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___37 = 73,
    _SC_THREAD_KEYS_MAX___37 = 74,
    _SC_THREAD_STACK_MIN___37 = 75,
    _SC_THREAD_THREADS_MAX___37 = 76,
    _SC_THREAD_ATTR_STACKADDR___37 = 77,
    _SC_THREAD_ATTR_STACKSIZE___37 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___37 = 79,
    _SC_THREAD_PRIO_INHERIT___37 = 80,
    _SC_THREAD_PRIO_PROTECT___37 = 81,
    _SC_THREAD_PROCESS_SHARED___37 = 82,
    _SC_NPROCESSORS_CONF___37 = 83,
    _SC_NPROCESSORS_ONLN___37 = 84,
    _SC_PHYS_PAGES___37 = 85,
    _SC_AVPHYS_PAGES___37 = 86,
    _SC_ATEXIT_MAX___37 = 87,
    _SC_PASS_MAX___37 = 88,
    _SC_XOPEN_VERSION___37 = 89,
    _SC_XOPEN_XCU_VERSION___37 = 90,
    _SC_XOPEN_UNIX___37 = 91,
    _SC_XOPEN_CRYPT___37 = 92,
    _SC_XOPEN_ENH_I18N___37 = 93,
    _SC_XOPEN_SHM___37 = 94,
    _SC_2_CHAR_TERM___37 = 95,
    _SC_2_C_VERSION___37 = 96,
    _SC_2_UPE___37 = 97,
    _SC_XOPEN_XPG2___37 = 98,
    _SC_XOPEN_XPG3___37 = 99,
    _SC_XOPEN_XPG4___37 = 100,
    _SC_CHAR_BIT___37 = 101,
    _SC_CHAR_MAX___37 = 102,
    _SC_CHAR_MIN___37 = 103,
    _SC_INT_MAX___37 = 104,
    _SC_INT_MIN___37 = 105,
    _SC_LONG_BIT___37 = 106,
    _SC_WORD_BIT___37 = 107,
    _SC_MB_LEN_MAX___37 = 108,
    _SC_NZERO___37 = 109,
    _SC_SSIZE_MAX___37 = 110,
    _SC_SCHAR_MAX___37 = 111,
    _SC_SCHAR_MIN___37 = 112,
    _SC_SHRT_MAX___37 = 113,
    _SC_SHRT_MIN___37 = 114,
    _SC_UCHAR_MAX___37 = 115,
    _SC_UINT_MAX___37 = 116,
    _SC_ULONG_MAX___37 = 117,
    _SC_USHRT_MAX___37 = 118,
    _SC_NL_ARGMAX___37 = 119,
    _SC_NL_LANGMAX___37 = 120,
    _SC_NL_MSGMAX___37 = 121,
    _SC_NL_NMAX___37 = 122,
    _SC_NL_SETMAX___37 = 123,
    _SC_NL_TEXTMAX___37 = 124,
    _SC_XBS5_ILP32_OFF32___37 = 125,
    _SC_XBS5_ILP32_OFFBIG___37 = 126,
    _SC_XBS5_LP64_OFF64___37 = 127,
    _SC_XBS5_LPBIG_OFFBIG___37 = 128,
    _SC_XOPEN_LEGACY___37 = 129,
    _SC_XOPEN_REALTIME___37 = 130,
    _SC_XOPEN_REALTIME_THREADS___37 = 131,
    _SC_ADVISORY_INFO___37 = 132,
    _SC_BARRIERS___37 = 133,
    _SC_BASE___37 = 134,
    _SC_C_LANG_SUPPORT___37 = 135,
    _SC_C_LANG_SUPPORT_R___37 = 136,
    _SC_CLOCK_SELECTION___37 = 137,
    _SC_CPUTIME___37 = 138,
    _SC_THREAD_CPUTIME___37 = 139,
    _SC_DEVICE_IO___37 = 140,
    _SC_DEVICE_SPECIFIC___37 = 141,
    _SC_DEVICE_SPECIFIC_R___37 = 142,
    _SC_FD_MGMT___37 = 143,
    _SC_FIFO___37 = 144,
    _SC_PIPE___37 = 145,
    _SC_FILE_ATTRIBUTES___37 = 146,
    _SC_FILE_LOCKING___37 = 147,
    _SC_FILE_SYSTEM___37 = 148,
    _SC_MONOTONIC_CLOCK___37 = 149,
    _SC_MULTI_PROCESS___37 = 150,
    _SC_SINGLE_PROCESS___37 = 151,
    _SC_NETWORKING___37 = 152,
    _SC_READER_WRITER_LOCKS___37 = 153,
    _SC_SPIN_LOCKS___37 = 154,
    _SC_REGEXP___37 = 155,
    _SC_REGEX_VERSION___37 = 156,
    _SC_SHELL___37 = 157,
    _SC_SIGNALS___37 = 158,
    _SC_SPAWN___37 = 159,
    _SC_SPORADIC_SERVER___37 = 160,
    _SC_THREAD_SPORADIC_SERVER___37 = 161,
    _SC_SYSTEM_DATABASE___37 = 162,
    _SC_SYSTEM_DATABASE_R___37 = 163,
    _SC_TIMEOUTS___37 = 164,
    _SC_TYPED_MEMORY_OBJECTS___37 = 165,
    _SC_USER_GROUPS___37 = 166,
    _SC_USER_GROUPS_R___37 = 167,
    _SC_2_PBS___37 = 168,
    _SC_2_PBS_ACCOUNTING___37 = 169,
    _SC_2_PBS_LOCATE___37 = 170,
    _SC_2_PBS_MESSAGE___37 = 171,
    _SC_2_PBS_TRACK___37 = 172,
    _SC_SYMLOOP_MAX___37 = 173,
    _SC_STREAMS___37 = 174,
    _SC_2_PBS_CHECKPOINT___37 = 175,
    _SC_V6_ILP32_OFF32___37 = 176,
    _SC_V6_ILP32_OFFBIG___37 = 177,
    _SC_V6_LP64_OFF64___37 = 178,
    _SC_V6_LPBIG_OFFBIG___37 = 179,
    _SC_HOST_NAME_MAX___37 = 180,
    _SC_TRACE___37 = 181,
    _SC_TRACE_EVENT_FILTER___37 = 182,
    _SC_TRACE_INHERIT___37 = 183,
    _SC_TRACE_LOG___37 = 184,
    _SC_LEVEL1_ICACHE_SIZE___37 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___37 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___37 = 187,
    _SC_LEVEL1_DCACHE_SIZE___37 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___37 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___37 = 190,
    _SC_LEVEL2_CACHE_SIZE___37 = 191,
    _SC_LEVEL2_CACHE_ASSOC___37 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___37 = 193,
    _SC_LEVEL3_CACHE_SIZE___37 = 194,
    _SC_LEVEL3_CACHE_ASSOC___37 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___37 = 196,
    _SC_LEVEL4_CACHE_SIZE___37 = 197,
    _SC_LEVEL4_CACHE_ASSOC___37 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___37 = 199,
    _SC_IPV6___37 = 235,
    _SC_RAW_SOCKETS___37 = 236,
    _SC_V7_ILP32_OFF32___37 = 237,
    _SC_V7_ILP32_OFFBIG___37 = 238,
    _SC_V7_LP64_OFF64___37 = 239,
    _SC_V7_LPBIG_OFFBIG___37 = 240,
    _SC_SS_REPL_MAX___37 = 241,
    _SC_TRACE_EVENT_NAME_MAX___37 = 242,
    _SC_TRACE_NAME_MAX___37 = 243,
    _SC_TRACE_SYS_MAX___37 = 244,
    _SC_TRACE_USER_EVENT_MAX___37 = 245,
    _SC_XOPEN_STREAMS___37 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___37 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___37 = 248
} ;
enum __anonenum_875524036___37 {
    _CS_PATH___37 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___37 = 1,
    _CS_GNU_LIBC_VERSION___37 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___37 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___37 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___37 = 5,
    _CS_LFS_CFLAGS___37 = 1000,
    _CS_LFS_LDFLAGS___37 = 1001,
    _CS_LFS_LIBS___37 = 1002,
    _CS_LFS_LINTFLAGS___37 = 1003,
    _CS_LFS64_CFLAGS___37 = 1004,
    _CS_LFS64_LDFLAGS___37 = 1005,
    _CS_LFS64_LIBS___37 = 1006,
    _CS_LFS64_LINTFLAGS___37 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___37 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___37 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___37 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___37 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___37 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___37 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___37 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___37 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___37 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___37 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___37 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___37 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___37 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___37 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___37 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___37 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___37 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___37 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___37 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___37 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___37 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___37 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___37 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___37 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___37 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___37 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___37 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___37 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___37 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___37 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___37 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___37 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___37 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___37 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___37 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___37 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___37 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___37 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___37 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___37 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___37 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___37 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___37 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___37 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___37 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___37 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___37 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___37 = 1147,
    _CS_V6_ENV___37 = 1148,
    _CS_V7_ENV___37 = 1149
} ;
enum __anonenum_513775621___37 {
    DT_UNKNOWN___37 = 0,
    DT_FIFO___37 = 1,
    DT_CHR___37 = 2,
    DT_DIR___37 = 4,
    DT_BLK___37 = 6,
    DT_REG___37 = 8,
    DT_LNK___37 = 10,
    DT_SOCK___37 = 12,
    DT_WHT___37 = 14
} ;
enum __anonenum_77002343___37 {
    SI_ASYNCNL___37 = -60,
    SI_TKILL___37 = -6,
    SI_SIGIO___37 = -5,
    SI_ASYNCIO___37 = -4,
    SI_MESGQ___37 = -3,
    SI_TIMER___37 = -2,
    SI_QUEUE___37 = -1,
    SI_USER___37 = 0,
    SI_KERNEL___37 = 128
} ;
enum __anonenum_131038172___37 {
    ILL_ILLOPC___37 = 1,
    ILL_ILLOPN___37 = 2,
    ILL_ILLADR___37 = 3,
    ILL_ILLTRP___37 = 4,
    ILL_PRVOPC___37 = 5,
    ILL_PRVREG___37 = 6,
    ILL_COPROC___37 = 7,
    ILL_BADSTK___37 = 8
} ;
enum __anonenum_452038093___37 {
    FPE_INTDIV___37 = 1,
    FPE_INTOVF___37 = 2,
    FPE_FLTDIV___37 = 3,
    FPE_FLTOVF___37 = 4,
    FPE_FLTUND___37 = 5,
    FPE_FLTRES___37 = 6,
    FPE_FLTINV___37 = 7,
    FPE_FLTSUB___37 = 8
} ;
enum __anonenum_30976155___37 {
    SEGV_MAPERR___37 = 1,
    SEGV_ACCERR___37 = 2,
    SEGV_BNDERR___37 = 3,
    SEGV_PKUERR___37 = 4
} ;
enum __anonenum_1036286214___37 {
    BUS_ADRALN___37 = 1,
    BUS_ADRERR___37 = 2,
    BUS_OBJERR___37 = 3,
    BUS_MCEERR_AR___37 = 4,
    BUS_MCEERR_AO___37 = 5
} ;
enum __anonenum_493465559___37 {
    TRAP_BRKPT___37 = 1,
    TRAP_TRACE___37 = 2
} ;
enum __anonenum_23175539___37 {
    CLD_EXITED___37 = 1,
    CLD_KILLED___37 = 2,
    CLD_DUMPED___37 = 3,
    CLD_TRAPPED___37 = 4,
    CLD_STOPPED___37 = 5,
    CLD_CONTINUED___37 = 6
} ;
enum __anonenum_111643124___37 {
    POLL_IN___37 = 1,
    POLL_OUT___37 = 2,
    POLL_MSG___37 = 3,
    POLL_ERR___37 = 4,
    POLL_PRI___37 = 5,
    POLL_HUP___37 = 6
} ;
enum __anonenum_852341087___37 {
    SIGEV_SIGNAL___37 = 0,
    SIGEV_NONE___37 = 1,
    SIGEV_THREAD___37 = 2,
    SIGEV_THREAD_ID___37 = 4
} ;
enum __anonenum_451154152___37 {
    REG_R8___37 = 0,
    REG_R9___37 = 1,
    REG_R10___37 = 2,
    REG_R11___37 = 3,
    REG_R12___37 = 4,
    REG_R13___37 = 5,
    REG_R14___37 = 6,
    REG_R15___37 = 7,
    REG_RDI___37 = 8,
    REG_RSI___37 = 9,
    REG_RBP___37 = 10,
    REG_RBX___37 = 11,
    REG_RDX___37 = 12,
    REG_RAX___37 = 13,
    REG_RCX___37 = 14,
    REG_RSP___37 = 15,
    REG_RIP___37 = 16,
    REG_EFL___37 = 17,
    REG_CSGSFS___37 = 18,
    REG_ERR___37 = 19,
    REG_TRAPNO___37 = 20,
    REG_OLDMASK___37 = 21,
    REG_CR2___37 = 22
} ;
enum __anonenum_57186863___37 {
    SS_ONSTACK___37 = 1,
    SS_DISABLE___37 = 2
} ;
enum __anonenum_83571709___37 {
    MSG_OOB___37 = 1,
    MSG_PEEK___37 = 2,
    MSG_DONTROUTE___37 = 4,
    MSG_TRYHARD___37 = 4,
    MSG_CTRUNC___37 = 8,
    MSG_PROXY___37 = 16,
    MSG_TRUNC___37 = 32,
    MSG_DONTWAIT___37 = 64,
    MSG_EOR___37 = 128,
    MSG_WAITALL___37 = 256,
    MSG_FIN___37 = 512,
    MSG_SYN___37 = 1024,
    MSG_CONFIRM___37 = 2048,
    MSG_RST___37 = 4096,
    MSG_ERRQUEUE___37 = 8192,
    MSG_NOSIGNAL___37 = 16384,
    MSG_MORE___37 = 32768,
    MSG_WAITFORONE___37 = 65536,
    MSG_BATCH___37 = 262144,
    MSG_ZEROCOPY___37 = 67108864,
    MSG_FASTOPEN___37 = 536870912,
    MSG_CMSG_CLOEXEC___37 = 1073741824
} ;
enum __anonenum_617082774___37 {
    SCM_RIGHTS___37 = 1,
    SCM_CREDENTIALS___37 = 2
} ;
enum __anonenum_606441560___37 {
    SHUT_RD___37 = 0,
    SHUT_WR___37 = 1,
    SHUT_RDWR___37 = 2
} ;
enum __anonenum_681669233___37 {
    IPPROTO_IP___37 = 0,
    IPPROTO_ICMP___37 = 1,
    IPPROTO_IGMP___37 = 2,
    IPPROTO_IPIP___37 = 4,
    IPPROTO_TCP___37 = 6,
    IPPROTO_EGP___37 = 8,
    IPPROTO_PUP___37 = 12,
    IPPROTO_UDP___37 = 17,
    IPPROTO_IDP___37 = 22,
    IPPROTO_TP___37 = 29,
    IPPROTO_DCCP___37 = 33,
    IPPROTO_IPV6___37 = 41,
    IPPROTO_RSVP___37 = 46,
    IPPROTO_GRE___37 = 47,
    IPPROTO_ESP___37 = 50,
    IPPROTO_AH___37 = 51,
    IPPROTO_MTP___37 = 92,
    IPPROTO_BEETPH___37 = 94,
    IPPROTO_ENCAP___37 = 98,
    IPPROTO_PIM___37 = 103,
    IPPROTO_COMP___37 = 108,
    IPPROTO_SCTP___37 = 132,
    IPPROTO_UDPLITE___37 = 136,
    IPPROTO_MPLS___37 = 137,
    IPPROTO_RAW___37 = 255,
    IPPROTO_MAX___37 = 256
} ;
enum __anonenum_218739988___37 {
    IPPROTO_HOPOPTS___37 = 0,
    IPPROTO_ROUTING___37 = 43,
    IPPROTO_FRAGMENT___37 = 44,
    IPPROTO_ICMPV6___37 = 58,
    IPPROTO_NONE___37 = 59,
    IPPROTO_DSTOPTS___37 = 60,
    IPPROTO_MH___37 = 135
} ;
enum __anonenum_662268580___37 {
    IPPORT_ECHO___37 = 7,
    IPPORT_DISCARD___37 = 9,
    IPPORT_SYSTAT___37 = 11,
    IPPORT_DAYTIME___37 = 13,
    IPPORT_NETSTAT___37 = 15,
    IPPORT_FTP___37 = 21,
    IPPORT_TELNET___37 = 23,
    IPPORT_SMTP___37 = 25,
    IPPORT_TIMESERVER___37 = 37,
    IPPORT_NAMESERVER___37 = 42,
    IPPORT_WHOIS___37 = 43,
    IPPORT_MTP___37 = 57,
    IPPORT_TFTP___37 = 69,
    IPPORT_RJE___37 = 77,
    IPPORT_FINGER___37 = 79,
    IPPORT_TTYLINK___37 = 87,
    IPPORT_SUPDUP___37 = 95,
    IPPORT_EXECSERVER___37 = 512,
    IPPORT_LOGINSERVER___37 = 513,
    IPPORT_CMDSERVER___37 = 514,
    IPPORT_EFSSERVER___37 = 520,
    IPPORT_BIFFUDP___37 = 512,
    IPPORT_WHOSERVER___37 = 513,
    IPPORT_ROUTESERVER___37 = 520,
    IPPORT_RESERVED___37 = 1024,
    IPPORT_USERRESERVED___37 = 5000
} ;
enum __anonenum_788308992___37 {
    TCP_ESTABLISHED___37 = 1,
    TCP_SYN_SENT___37 = 2,
    TCP_SYN_RECV___37 = 3,
    TCP_FIN_WAIT1___37 = 4,
    TCP_FIN_WAIT2___37 = 5,
    TCP_TIME_WAIT___37 = 6,
    TCP_CLOSE___37 = 7,
    TCP_CLOSE_WAIT___37 = 8,
    TCP_LAST_ACK___37 = 9,
    TCP_LISTEN___37 = 10,
    TCP_CLOSING___37 = 11
} ;
enum __anonenum_221125648___37 {
    TCP_NO_QUEUE___37 = 0,
    TCP_RECV_QUEUE___37 = 1,
    TCP_SEND_QUEUE___37 = 2,
    TCP_QUEUES_NR___37 = 3
} ;
enum __anonenum_34415463___37 {
    PTHREAD_CREATE_JOINABLE___37 = 0,
    PTHREAD_CREATE_DETACHED___37 = 1
} ;
enum __anonenum_303612439___37 {
    PTHREAD_MUTEX_TIMED_NP___37 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___37 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___37 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___37 = 3,
    PTHREAD_MUTEX_NORMAL___37 = 0,
    PTHREAD_MUTEX_RECURSIVE___37 = 1,
    PTHREAD_MUTEX_ERRORCHECK___37 = 2,
    PTHREAD_MUTEX_DEFAULT___37 = 0,
    PTHREAD_MUTEX_FAST_NP___37 = 0
} ;
enum __anonenum_931900394___37 {
    PTHREAD_MUTEX_STALLED___37 = 0,
    PTHREAD_MUTEX_STALLED_NP___37 = 0,
    PTHREAD_MUTEX_ROBUST___37 = 1,
    PTHREAD_MUTEX_ROBUST_NP___37 = 1
} ;
enum __anonenum_205214487___37 {
    PTHREAD_PRIO_NONE___37 = 0,
    PTHREAD_PRIO_INHERIT___37 = 1,
    PTHREAD_PRIO_PROTECT___37 = 2
} ;
enum __anonenum_25043950___37 {
    PTHREAD_RWLOCK_PREFER_READER_NP___37 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___37 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___37 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___37 = 0
} ;
enum __anonenum_436439511___37 {
    PTHREAD_INHERIT_SCHED___37 = 0,
    PTHREAD_EXPLICIT_SCHED___37 = 1
} ;
enum __anonenum_998661166___37 {
    PTHREAD_SCOPE_SYSTEM___37 = 0,
    PTHREAD_SCOPE_PROCESS___37 = 1
} ;
enum __anonenum_146137331___37 {
    PTHREAD_PROCESS_PRIVATE___37 = 0,
    PTHREAD_PROCESS_SHARED___37 = 1
} ;
enum __anonenum_53396917___37 {
    PTHREAD_CANCEL_ENABLE___37 = 0,
    PTHREAD_CANCEL_DISABLE___37 = 1
} ;
enum __anonenum_904563783___37 {
    PTHREAD_CANCEL_DEFERRED___37 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___37 = 1
} ;
enum __anonenum_672052974___37 {
    SSL_CT_VALIDATION_PERMISSIVE___37 = 0,
    SSL_CT_VALIDATION_STRICT___37 = 1
} ;
enum __anonenum_34023289___2 {
    REMOTE_UNCONFIGURED___2 = 0,
    REMOTE_CONFIG___2 = 1,
    REMOTE_REMOTES___2 = 2,
    REMOTE_BRANCHES___2 = 3
} ;
enum protocol_version {
    protocol_unknown_version = -1,
    protocol_v0 = 0,
    protocol_v1 = 1,
    protocol_v2 = 2
} ;
enum list_objects_filter_choice {
    LOFC_DISABLED = 0,
    LOFC_BLOB_NONE = 1,
    LOFC_BLOB_LIMIT = 2,
    LOFC_TREE_DEPTH = 3,
    LOFC_SPARSE_OID = 4,
    LOFC_OBJECT_TYPE = 5,
    LOFC_COMBINE = 6,
    LOFC__COUNT = 7
} ;
struct list_objects_filter_options {
   struct string_list filter_spec ;
   enum list_objects_filter_choice choice ;
   unsigned int no_filter : 1 ;
   char *sparse_oid_name ;
   unsigned long blob_limit_value ;
   unsigned long tree_exclude_depth ;
   enum object_type object_type ;
   size_t sub_nr ;
   size_t sub_alloc ;
   struct list_objects_filter_options *sub ;
};
struct git_transport_options {
   unsigned int thin : 1 ;
   unsigned int keep : 1 ;
   unsigned int followtags : 1 ;
   unsigned int check_self_contained_and_connected : 1 ;
   unsigned int self_contained_and_connected : 1 ;
   unsigned int update_shallow : 1 ;
   unsigned int reject_shallow : 1 ;
   unsigned int deepen_relative : 1 ;
   unsigned int from_promisor : 1 ;
   unsigned int connectivity_checked : 1 ;
   int depth ;
   char const   *deepen_since ;
   struct string_list  const  *deepen_not ;
   char const   *uploadpack ;
   char const   *receivepack ;
   struct push_cas_option *cas ;
   struct list_objects_filter_options filter_options ;
   struct oid_array *negotiation_tips ;
   struct oidset *acked_commits ;
};
enum transport_family {
    TRANSPORT_FAMILY_ALL = 0,
    TRANSPORT_FAMILY_IPV4 = 1,
    TRANSPORT_FAMILY_IPV6 = 2
} ;
struct transport_vtable ;
struct transport {
   struct transport_vtable  const  *vtable ;
   struct remote *remote ;
   char const   *url ;
   void *data ;
   struct ref  const  *remote_refs ;
   unsigned int got_remote_refs : 1 ;
   unsigned int cannot_reuse : 1 ;
   unsigned int cloning : 1 ;
   unsigned int stateless_rpc : 1 ;
   struct string_list  const  *push_options ;
   struct string_list  const  *server_options ;
   struct string_list pack_lockfiles ;
   int verbose : 3 ;
   unsigned int progress : 1 ;
   struct git_transport_options *smart_options ;
   enum transport_family family ;
   struct git_hash_algo  const  *hash_algo ;
};
struct transport_ls_refs_options {
   struct strvec ref_prefixes ;
   char *unborn_head_target ;
};
enum get_remote_heads_state {
    EXPECTING_FIRST_REF = 0,
    EXPECTING_REF = 1,
    EXPECTING_SHALLOW = 2,
    EXPECTING_DONE = 3
} ;
enum protocol {
    PROTO_LOCAL = 1,
    PROTO_FILE = 2,
    PROTO_SSH = 3,
    PROTO_GIT = 4
} ;
enum ssh_variant {
    VARIANT_AUTO = 0,
    VARIANT_SIMPLE = 1,
    VARIANT_SSH = 2,
    VARIANT_PLINK = 3,
    VARIANT_PUTTY = 4,
    VARIANT_TORTOISEPLINK = 5
} ;
enum __anonenum_437032235___38 {
    _PC_LINK_MAX___38 = 0,
    _PC_MAX_CANON___38 = 1,
    _PC_MAX_INPUT___38 = 2,
    _PC_NAME_MAX___38 = 3,
    _PC_PATH_MAX___38 = 4,
    _PC_PIPE_BUF___38 = 5,
    _PC_CHOWN_RESTRICTED___38 = 6,
    _PC_NO_TRUNC___38 = 7,
    _PC_VDISABLE___38 = 8,
    _PC_SYNC_IO___38 = 9,
    _PC_ASYNC_IO___38 = 10,
    _PC_PRIO_IO___38 = 11,
    _PC_SOCK_MAXBUF___38 = 12,
    _PC_FILESIZEBITS___38 = 13,
    _PC_REC_INCR_XFER_SIZE___38 = 14,
    _PC_REC_MAX_XFER_SIZE___38 = 15,
    _PC_REC_MIN_XFER_SIZE___38 = 16,
    _PC_REC_XFER_ALIGN___38 = 17,
    _PC_ALLOC_SIZE_MIN___38 = 18,
    _PC_SYMLINK_MAX___38 = 19,
    _PC_2_SYMLINKS___38 = 20
} ;
enum __anonenum_315186338___38 {
    _SC_ARG_MAX___38 = 0,
    _SC_CHILD_MAX___38 = 1,
    _SC_CLK_TCK___38 = 2,
    _SC_NGROUPS_MAX___38 = 3,
    _SC_OPEN_MAX___38 = 4,
    _SC_STREAM_MAX___38 = 5,
    _SC_TZNAME_MAX___38 = 6,
    _SC_JOB_CONTROL___38 = 7,
    _SC_SAVED_IDS___38 = 8,
    _SC_REALTIME_SIGNALS___38 = 9,
    _SC_PRIORITY_SCHEDULING___38 = 10,
    _SC_TIMERS___38 = 11,
    _SC_ASYNCHRONOUS_IO___38 = 12,
    _SC_PRIORITIZED_IO___38 = 13,
    _SC_SYNCHRONIZED_IO___38 = 14,
    _SC_FSYNC___38 = 15,
    _SC_MAPPED_FILES___38 = 16,
    _SC_MEMLOCK___38 = 17,
    _SC_MEMLOCK_RANGE___38 = 18,
    _SC_MEMORY_PROTECTION___38 = 19,
    _SC_MESSAGE_PASSING___38 = 20,
    _SC_SEMAPHORES___38 = 21,
    _SC_SHARED_MEMORY_OBJECTS___38 = 22,
    _SC_AIO_LISTIO_MAX___38 = 23,
    _SC_AIO_MAX___38 = 24,
    _SC_AIO_PRIO_DELTA_MAX___38 = 25,
    _SC_DELAYTIMER_MAX___38 = 26,
    _SC_MQ_OPEN_MAX___38 = 27,
    _SC_MQ_PRIO_MAX___38 = 28,
    _SC_VERSION___38 = 29,
    _SC_PAGESIZE___38 = 30,
    _SC_RTSIG_MAX___38 = 31,
    _SC_SEM_NSEMS_MAX___38 = 32,
    _SC_SEM_VALUE_MAX___38 = 33,
    _SC_SIGQUEUE_MAX___38 = 34,
    _SC_TIMER_MAX___38 = 35,
    _SC_BC_BASE_MAX___38 = 36,
    _SC_BC_DIM_MAX___38 = 37,
    _SC_BC_SCALE_MAX___38 = 38,
    _SC_BC_STRING_MAX___38 = 39,
    _SC_COLL_WEIGHTS_MAX___38 = 40,
    _SC_EQUIV_CLASS_MAX___38 = 41,
    _SC_EXPR_NEST_MAX___38 = 42,
    _SC_LINE_MAX___38 = 43,
    _SC_RE_DUP_MAX___38 = 44,
    _SC_CHARCLASS_NAME_MAX___38 = 45,
    _SC_2_VERSION___38 = 46,
    _SC_2_C_BIND___38 = 47,
    _SC_2_C_DEV___38 = 48,
    _SC_2_FORT_DEV___38 = 49,
    _SC_2_FORT_RUN___38 = 50,
    _SC_2_SW_DEV___38 = 51,
    _SC_2_LOCALEDEF___38 = 52,
    _SC_PII___38 = 53,
    _SC_PII_XTI___38 = 54,
    _SC_PII_SOCKET___38 = 55,
    _SC_PII_INTERNET___38 = 56,
    _SC_PII_OSI___38 = 57,
    _SC_POLL___38 = 58,
    _SC_SELECT___38 = 59,
    _SC_UIO_MAXIOV___38 = 60,
    _SC_IOV_MAX___38 = 60,
    _SC_PII_INTERNET_STREAM___38 = 61,
    _SC_PII_INTERNET_DGRAM___38 = 62,
    _SC_PII_OSI_COTS___38 = 63,
    _SC_PII_OSI_CLTS___38 = 64,
    _SC_PII_OSI_M___38 = 65,
    _SC_T_IOV_MAX___38 = 66,
    _SC_THREADS___38 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___38 = 68,
    _SC_GETGR_R_SIZE_MAX___38 = 69,
    _SC_GETPW_R_SIZE_MAX___38 = 70,
    _SC_LOGIN_NAME_MAX___38 = 71,
    _SC_TTY_NAME_MAX___38 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___38 = 73,
    _SC_THREAD_KEYS_MAX___38 = 74,
    _SC_THREAD_STACK_MIN___38 = 75,
    _SC_THREAD_THREADS_MAX___38 = 76,
    _SC_THREAD_ATTR_STACKADDR___38 = 77,
    _SC_THREAD_ATTR_STACKSIZE___38 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___38 = 79,
    _SC_THREAD_PRIO_INHERIT___38 = 80,
    _SC_THREAD_PRIO_PROTECT___38 = 81,
    _SC_THREAD_PROCESS_SHARED___38 = 82,
    _SC_NPROCESSORS_CONF___38 = 83,
    _SC_NPROCESSORS_ONLN___38 = 84,
    _SC_PHYS_PAGES___38 = 85,
    _SC_AVPHYS_PAGES___38 = 86,
    _SC_ATEXIT_MAX___38 = 87,
    _SC_PASS_MAX___38 = 88,
    _SC_XOPEN_VERSION___38 = 89,
    _SC_XOPEN_XCU_VERSION___38 = 90,
    _SC_XOPEN_UNIX___38 = 91,
    _SC_XOPEN_CRYPT___38 = 92,
    _SC_XOPEN_ENH_I18N___38 = 93,
    _SC_XOPEN_SHM___38 = 94,
    _SC_2_CHAR_TERM___38 = 95,
    _SC_2_C_VERSION___38 = 96,
    _SC_2_UPE___38 = 97,
    _SC_XOPEN_XPG2___38 = 98,
    _SC_XOPEN_XPG3___38 = 99,
    _SC_XOPEN_XPG4___38 = 100,
    _SC_CHAR_BIT___38 = 101,
    _SC_CHAR_MAX___38 = 102,
    _SC_CHAR_MIN___38 = 103,
    _SC_INT_MAX___38 = 104,
    _SC_INT_MIN___38 = 105,
    _SC_LONG_BIT___38 = 106,
    _SC_WORD_BIT___38 = 107,
    _SC_MB_LEN_MAX___38 = 108,
    _SC_NZERO___38 = 109,
    _SC_SSIZE_MAX___38 = 110,
    _SC_SCHAR_MAX___38 = 111,
    _SC_SCHAR_MIN___38 = 112,
    _SC_SHRT_MAX___38 = 113,
    _SC_SHRT_MIN___38 = 114,
    _SC_UCHAR_MAX___38 = 115,
    _SC_UINT_MAX___38 = 116,
    _SC_ULONG_MAX___38 = 117,
    _SC_USHRT_MAX___38 = 118,
    _SC_NL_ARGMAX___38 = 119,
    _SC_NL_LANGMAX___38 = 120,
    _SC_NL_MSGMAX___38 = 121,
    _SC_NL_NMAX___38 = 122,
    _SC_NL_SETMAX___38 = 123,
    _SC_NL_TEXTMAX___38 = 124,
    _SC_XBS5_ILP32_OFF32___38 = 125,
    _SC_XBS5_ILP32_OFFBIG___38 = 126,
    _SC_XBS5_LP64_OFF64___38 = 127,
    _SC_XBS5_LPBIG_OFFBIG___38 = 128,
    _SC_XOPEN_LEGACY___38 = 129,
    _SC_XOPEN_REALTIME___38 = 130,
    _SC_XOPEN_REALTIME_THREADS___38 = 131,
    _SC_ADVISORY_INFO___38 = 132,
    _SC_BARRIERS___38 = 133,
    _SC_BASE___38 = 134,
    _SC_C_LANG_SUPPORT___38 = 135,
    _SC_C_LANG_SUPPORT_R___38 = 136,
    _SC_CLOCK_SELECTION___38 = 137,
    _SC_CPUTIME___38 = 138,
    _SC_THREAD_CPUTIME___38 = 139,
    _SC_DEVICE_IO___38 = 140,
    _SC_DEVICE_SPECIFIC___38 = 141,
    _SC_DEVICE_SPECIFIC_R___38 = 142,
    _SC_FD_MGMT___38 = 143,
    _SC_FIFO___38 = 144,
    _SC_PIPE___38 = 145,
    _SC_FILE_ATTRIBUTES___38 = 146,
    _SC_FILE_LOCKING___38 = 147,
    _SC_FILE_SYSTEM___38 = 148,
    _SC_MONOTONIC_CLOCK___38 = 149,
    _SC_MULTI_PROCESS___38 = 150,
    _SC_SINGLE_PROCESS___38 = 151,
    _SC_NETWORKING___38 = 152,
    _SC_READER_WRITER_LOCKS___38 = 153,
    _SC_SPIN_LOCKS___38 = 154,
    _SC_REGEXP___38 = 155,
    _SC_REGEX_VERSION___38 = 156,
    _SC_SHELL___38 = 157,
    _SC_SIGNALS___38 = 158,
    _SC_SPAWN___38 = 159,
    _SC_SPORADIC_SERVER___38 = 160,
    _SC_THREAD_SPORADIC_SERVER___38 = 161,
    _SC_SYSTEM_DATABASE___38 = 162,
    _SC_SYSTEM_DATABASE_R___38 = 163,
    _SC_TIMEOUTS___38 = 164,
    _SC_TYPED_MEMORY_OBJECTS___38 = 165,
    _SC_USER_GROUPS___38 = 166,
    _SC_USER_GROUPS_R___38 = 167,
    _SC_2_PBS___38 = 168,
    _SC_2_PBS_ACCOUNTING___38 = 169,
    _SC_2_PBS_LOCATE___38 = 170,
    _SC_2_PBS_MESSAGE___38 = 171,
    _SC_2_PBS_TRACK___38 = 172,
    _SC_SYMLOOP_MAX___38 = 173,
    _SC_STREAMS___38 = 174,
    _SC_2_PBS_CHECKPOINT___38 = 175,
    _SC_V6_ILP32_OFF32___38 = 176,
    _SC_V6_ILP32_OFFBIG___38 = 177,
    _SC_V6_LP64_OFF64___38 = 178,
    _SC_V6_LPBIG_OFFBIG___38 = 179,
    _SC_HOST_NAME_MAX___38 = 180,
    _SC_TRACE___38 = 181,
    _SC_TRACE_EVENT_FILTER___38 = 182,
    _SC_TRACE_INHERIT___38 = 183,
    _SC_TRACE_LOG___38 = 184,
    _SC_LEVEL1_ICACHE_SIZE___38 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___38 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___38 = 187,
    _SC_LEVEL1_DCACHE_SIZE___38 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___38 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___38 = 190,
    _SC_LEVEL2_CACHE_SIZE___38 = 191,
    _SC_LEVEL2_CACHE_ASSOC___38 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___38 = 193,
    _SC_LEVEL3_CACHE_SIZE___38 = 194,
    _SC_LEVEL3_CACHE_ASSOC___38 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___38 = 196,
    _SC_LEVEL4_CACHE_SIZE___38 = 197,
    _SC_LEVEL4_CACHE_ASSOC___38 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___38 = 199,
    _SC_IPV6___38 = 235,
    _SC_RAW_SOCKETS___38 = 236,
    _SC_V7_ILP32_OFF32___38 = 237,
    _SC_V7_ILP32_OFFBIG___38 = 238,
    _SC_V7_LP64_OFF64___38 = 239,
    _SC_V7_LPBIG_OFFBIG___38 = 240,
    _SC_SS_REPL_MAX___38 = 241,
    _SC_TRACE_EVENT_NAME_MAX___38 = 242,
    _SC_TRACE_NAME_MAX___38 = 243,
    _SC_TRACE_SYS_MAX___38 = 244,
    _SC_TRACE_USER_EVENT_MAX___38 = 245,
    _SC_XOPEN_STREAMS___38 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___38 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___38 = 248
} ;
enum __anonenum_875524036___38 {
    _CS_PATH___38 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___38 = 1,
    _CS_GNU_LIBC_VERSION___38 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___38 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___38 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___38 = 5,
    _CS_LFS_CFLAGS___38 = 1000,
    _CS_LFS_LDFLAGS___38 = 1001,
    _CS_LFS_LIBS___38 = 1002,
    _CS_LFS_LINTFLAGS___38 = 1003,
    _CS_LFS64_CFLAGS___38 = 1004,
    _CS_LFS64_LDFLAGS___38 = 1005,
    _CS_LFS64_LIBS___38 = 1006,
    _CS_LFS64_LINTFLAGS___38 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___38 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___38 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___38 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___38 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___38 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___38 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___38 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___38 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___38 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___38 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___38 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___38 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___38 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___38 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___38 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___38 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___38 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___38 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___38 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___38 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___38 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___38 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___38 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___38 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___38 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___38 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___38 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___38 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___38 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___38 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___38 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___38 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___38 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___38 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___38 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___38 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___38 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___38 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___38 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___38 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___38 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___38 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___38 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___38 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___38 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___38 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___38 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___38 = 1147,
    _CS_V6_ENV___38 = 1148,
    _CS_V7_ENV___38 = 1149
} ;
enum __anonenum_513775621___38 {
    DT_UNKNOWN___38 = 0,
    DT_FIFO___38 = 1,
    DT_CHR___38 = 2,
    DT_DIR___38 = 4,
    DT_BLK___38 = 6,
    DT_REG___38 = 8,
    DT_LNK___38 = 10,
    DT_SOCK___38 = 12,
    DT_WHT___38 = 14
} ;
enum __anonenum_77002343___38 {
    SI_ASYNCNL___38 = -60,
    SI_TKILL___38 = -6,
    SI_SIGIO___38 = -5,
    SI_ASYNCIO___38 = -4,
    SI_MESGQ___38 = -3,
    SI_TIMER___38 = -2,
    SI_QUEUE___38 = -1,
    SI_USER___38 = 0,
    SI_KERNEL___38 = 128
} ;
enum __anonenum_131038172___38 {
    ILL_ILLOPC___38 = 1,
    ILL_ILLOPN___38 = 2,
    ILL_ILLADR___38 = 3,
    ILL_ILLTRP___38 = 4,
    ILL_PRVOPC___38 = 5,
    ILL_PRVREG___38 = 6,
    ILL_COPROC___38 = 7,
    ILL_BADSTK___38 = 8
} ;
enum __anonenum_452038093___38 {
    FPE_INTDIV___38 = 1,
    FPE_INTOVF___38 = 2,
    FPE_FLTDIV___38 = 3,
    FPE_FLTOVF___38 = 4,
    FPE_FLTUND___38 = 5,
    FPE_FLTRES___38 = 6,
    FPE_FLTINV___38 = 7,
    FPE_FLTSUB___38 = 8
} ;
enum __anonenum_30976155___38 {
    SEGV_MAPERR___38 = 1,
    SEGV_ACCERR___38 = 2,
    SEGV_BNDERR___38 = 3,
    SEGV_PKUERR___38 = 4
} ;
enum __anonenum_1036286214___38 {
    BUS_ADRALN___38 = 1,
    BUS_ADRERR___38 = 2,
    BUS_OBJERR___38 = 3,
    BUS_MCEERR_AR___38 = 4,
    BUS_MCEERR_AO___38 = 5
} ;
enum __anonenum_493465559___38 {
    TRAP_BRKPT___38 = 1,
    TRAP_TRACE___38 = 2
} ;
enum __anonenum_23175539___38 {
    CLD_EXITED___38 = 1,
    CLD_KILLED___38 = 2,
    CLD_DUMPED___38 = 3,
    CLD_TRAPPED___38 = 4,
    CLD_STOPPED___38 = 5,
    CLD_CONTINUED___38 = 6
} ;
enum __anonenum_111643124___38 {
    POLL_IN___38 = 1,
    POLL_OUT___38 = 2,
    POLL_MSG___38 = 3,
    POLL_ERR___38 = 4,
    POLL_PRI___38 = 5,
    POLL_HUP___38 = 6
} ;
enum __anonenum_852341087___38 {
    SIGEV_SIGNAL___38 = 0,
    SIGEV_NONE___38 = 1,
    SIGEV_THREAD___38 = 2,
    SIGEV_THREAD_ID___38 = 4
} ;
enum __anonenum_451154152___38 {
    REG_R8___38 = 0,
    REG_R9___38 = 1,
    REG_R10___38 = 2,
    REG_R11___38 = 3,
    REG_R12___38 = 4,
    REG_R13___38 = 5,
    REG_R14___38 = 6,
    REG_R15___38 = 7,
    REG_RDI___38 = 8,
    REG_RSI___38 = 9,
    REG_RBP___38 = 10,
    REG_RBX___38 = 11,
    REG_RDX___38 = 12,
    REG_RAX___38 = 13,
    REG_RCX___38 = 14,
    REG_RSP___38 = 15,
    REG_RIP___38 = 16,
    REG_EFL___38 = 17,
    REG_CSGSFS___38 = 18,
    REG_ERR___38 = 19,
    REG_TRAPNO___38 = 20,
    REG_OLDMASK___38 = 21,
    REG_CR2___38 = 22
} ;
enum __anonenum_57186863___38 {
    SS_ONSTACK___38 = 1,
    SS_DISABLE___38 = 2
} ;
enum __anonenum_83571709___38 {
    MSG_OOB___38 = 1,
    MSG_PEEK___38 = 2,
    MSG_DONTROUTE___38 = 4,
    MSG_TRYHARD___38 = 4,
    MSG_CTRUNC___38 = 8,
    MSG_PROXY___38 = 16,
    MSG_TRUNC___38 = 32,
    MSG_DONTWAIT___38 = 64,
    MSG_EOR___38 = 128,
    MSG_WAITALL___38 = 256,
    MSG_FIN___38 = 512,
    MSG_SYN___38 = 1024,
    MSG_CONFIRM___38 = 2048,
    MSG_RST___38 = 4096,
    MSG_ERRQUEUE___38 = 8192,
    MSG_NOSIGNAL___38 = 16384,
    MSG_MORE___38 = 32768,
    MSG_WAITFORONE___38 = 65536,
    MSG_BATCH___38 = 262144,
    MSG_ZEROCOPY___38 = 67108864,
    MSG_FASTOPEN___38 = 536870912,
    MSG_CMSG_CLOEXEC___38 = 1073741824
} ;
enum __anonenum_617082774___38 {
    SCM_RIGHTS___38 = 1,
    SCM_CREDENTIALS___38 = 2
} ;
enum __anonenum_606441560___38 {
    SHUT_RD___38 = 0,
    SHUT_WR___38 = 1,
    SHUT_RDWR___38 = 2
} ;
enum __anonenum_681669233___38 {
    IPPROTO_IP___38 = 0,
    IPPROTO_ICMP___38 = 1,
    IPPROTO_IGMP___38 = 2,
    IPPROTO_IPIP___38 = 4,
    IPPROTO_TCP___38 = 6,
    IPPROTO_EGP___38 = 8,
    IPPROTO_PUP___38 = 12,
    IPPROTO_UDP___38 = 17,
    IPPROTO_IDP___38 = 22,
    IPPROTO_TP___38 = 29,
    IPPROTO_DCCP___38 = 33,
    IPPROTO_IPV6___38 = 41,
    IPPROTO_RSVP___38 = 46,
    IPPROTO_GRE___38 = 47,
    IPPROTO_ESP___38 = 50,
    IPPROTO_AH___38 = 51,
    IPPROTO_MTP___38 = 92,
    IPPROTO_BEETPH___38 = 94,
    IPPROTO_ENCAP___38 = 98,
    IPPROTO_PIM___38 = 103,
    IPPROTO_COMP___38 = 108,
    IPPROTO_SCTP___38 = 132,
    IPPROTO_UDPLITE___38 = 136,
    IPPROTO_MPLS___38 = 137,
    IPPROTO_RAW___38 = 255,
    IPPROTO_MAX___38 = 256
} ;
enum __anonenum_218739988___38 {
    IPPROTO_HOPOPTS___38 = 0,
    IPPROTO_ROUTING___38 = 43,
    IPPROTO_FRAGMENT___38 = 44,
    IPPROTO_ICMPV6___38 = 58,
    IPPROTO_NONE___38 = 59,
    IPPROTO_DSTOPTS___38 = 60,
    IPPROTO_MH___38 = 135
} ;
enum __anonenum_662268580___38 {
    IPPORT_ECHO___38 = 7,
    IPPORT_DISCARD___38 = 9,
    IPPORT_SYSTAT___38 = 11,
    IPPORT_DAYTIME___38 = 13,
    IPPORT_NETSTAT___38 = 15,
    IPPORT_FTP___38 = 21,
    IPPORT_TELNET___38 = 23,
    IPPORT_SMTP___38 = 25,
    IPPORT_TIMESERVER___38 = 37,
    IPPORT_NAMESERVER___38 = 42,
    IPPORT_WHOIS___38 = 43,
    IPPORT_MTP___38 = 57,
    IPPORT_TFTP___38 = 69,
    IPPORT_RJE___38 = 77,
    IPPORT_FINGER___38 = 79,
    IPPORT_TTYLINK___38 = 87,
    IPPORT_SUPDUP___38 = 95,
    IPPORT_EXECSERVER___38 = 512,
    IPPORT_LOGINSERVER___38 = 513,
    IPPORT_CMDSERVER___38 = 514,
    IPPORT_EFSSERVER___38 = 520,
    IPPORT_BIFFUDP___38 = 512,
    IPPORT_WHOSERVER___38 = 513,
    IPPORT_ROUTESERVER___38 = 520,
    IPPORT_RESERVED___38 = 1024,
    IPPORT_USERRESERVED___38 = 5000
} ;
enum __anonenum_788308992___38 {
    TCP_ESTABLISHED___38 = 1,
    TCP_SYN_SENT___38 = 2,
    TCP_SYN_RECV___38 = 3,
    TCP_FIN_WAIT1___38 = 4,
    TCP_FIN_WAIT2___38 = 5,
    TCP_TIME_WAIT___38 = 6,
    TCP_CLOSE___38 = 7,
    TCP_CLOSE_WAIT___38 = 8,
    TCP_LAST_ACK___38 = 9,
    TCP_LISTEN___38 = 10,
    TCP_CLOSING___38 = 11
} ;
enum __anonenum_221125648___38 {
    TCP_NO_QUEUE___38 = 0,
    TCP_RECV_QUEUE___38 = 1,
    TCP_SEND_QUEUE___38 = 2,
    TCP_QUEUES_NR___38 = 3
} ;
enum __anonenum_34415463___38 {
    PTHREAD_CREATE_JOINABLE___38 = 0,
    PTHREAD_CREATE_DETACHED___38 = 1
} ;
enum __anonenum_303612439___38 {
    PTHREAD_MUTEX_TIMED_NP___38 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___38 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___38 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___38 = 3,
    PTHREAD_MUTEX_NORMAL___38 = 0,
    PTHREAD_MUTEX_RECURSIVE___38 = 1,
    PTHREAD_MUTEX_ERRORCHECK___38 = 2,
    PTHREAD_MUTEX_DEFAULT___38 = 0,
    PTHREAD_MUTEX_FAST_NP___38 = 0
} ;
enum __anonenum_931900394___38 {
    PTHREAD_MUTEX_STALLED___38 = 0,
    PTHREAD_MUTEX_STALLED_NP___38 = 0,
    PTHREAD_MUTEX_ROBUST___38 = 1,
    PTHREAD_MUTEX_ROBUST_NP___38 = 1
} ;
enum __anonenum_205214487___38 {
    PTHREAD_PRIO_NONE___38 = 0,
    PTHREAD_PRIO_INHERIT___38 = 1,
    PTHREAD_PRIO_PROTECT___38 = 2
} ;
enum __anonenum_25043950___38 {
    PTHREAD_RWLOCK_PREFER_READER_NP___38 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___38 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___38 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___38 = 0
} ;
enum __anonenum_436439511___38 {
    PTHREAD_INHERIT_SCHED___38 = 0,
    PTHREAD_EXPLICIT_SCHED___38 = 1
} ;
enum __anonenum_998661166___38 {
    PTHREAD_SCOPE_SYSTEM___38 = 0,
    PTHREAD_SCOPE_PROCESS___38 = 1
} ;
enum __anonenum_146137331___38 {
    PTHREAD_PROCESS_PRIVATE___38 = 0,
    PTHREAD_PROCESS_SHARED___38 = 1
} ;
enum __anonenum_53396917___38 {
    PTHREAD_CANCEL_ENABLE___38 = 0,
    PTHREAD_CANCEL_DISABLE___38 = 1
} ;
enum __anonenum_904563783___38 {
    PTHREAD_CANCEL_DEFERRED___38 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___38 = 1
} ;
enum __anonenum_672052974___38 {
    SSL_CT_VALIDATION_PERMISSIVE___38 = 0,
    SSL_CT_VALIDATION_STRICT___38 = 1
} ;
typedef struct object_id  const  *(*oid_iterate_fn)(void * );
struct check_connected_options {
   int quiet ;
   char const   *shallow_file ;
   struct transport *transport ;
   int err_fd ;
   int progress ;
   char const   **env ;
   unsigned int is_deepening_fetch : 1 ;
};
enum __anonenum_34023289___3 {
    REMOTE_UNCONFIGURED___3 = 0,
    REMOTE_CONFIG___3 = 1,
    REMOTE_REMOTES___3 = 2,
    REMOTE_BRANCHES___3 = 3
} ;
enum __anonenum_437032235___39 {
    _PC_LINK_MAX___39 = 0,
    _PC_MAX_CANON___39 = 1,
    _PC_MAX_INPUT___39 = 2,
    _PC_NAME_MAX___39 = 3,
    _PC_PATH_MAX___39 = 4,
    _PC_PIPE_BUF___39 = 5,
    _PC_CHOWN_RESTRICTED___39 = 6,
    _PC_NO_TRUNC___39 = 7,
    _PC_VDISABLE___39 = 8,
    _PC_SYNC_IO___39 = 9,
    _PC_ASYNC_IO___39 = 10,
    _PC_PRIO_IO___39 = 11,
    _PC_SOCK_MAXBUF___39 = 12,
    _PC_FILESIZEBITS___39 = 13,
    _PC_REC_INCR_XFER_SIZE___39 = 14,
    _PC_REC_MAX_XFER_SIZE___39 = 15,
    _PC_REC_MIN_XFER_SIZE___39 = 16,
    _PC_REC_XFER_ALIGN___39 = 17,
    _PC_ALLOC_SIZE_MIN___39 = 18,
    _PC_SYMLINK_MAX___39 = 19,
    _PC_2_SYMLINKS___39 = 20
} ;
enum __anonenum_315186338___39 {
    _SC_ARG_MAX___39 = 0,
    _SC_CHILD_MAX___39 = 1,
    _SC_CLK_TCK___39 = 2,
    _SC_NGROUPS_MAX___39 = 3,
    _SC_OPEN_MAX___39 = 4,
    _SC_STREAM_MAX___39 = 5,
    _SC_TZNAME_MAX___39 = 6,
    _SC_JOB_CONTROL___39 = 7,
    _SC_SAVED_IDS___39 = 8,
    _SC_REALTIME_SIGNALS___39 = 9,
    _SC_PRIORITY_SCHEDULING___39 = 10,
    _SC_TIMERS___39 = 11,
    _SC_ASYNCHRONOUS_IO___39 = 12,
    _SC_PRIORITIZED_IO___39 = 13,
    _SC_SYNCHRONIZED_IO___39 = 14,
    _SC_FSYNC___39 = 15,
    _SC_MAPPED_FILES___39 = 16,
    _SC_MEMLOCK___39 = 17,
    _SC_MEMLOCK_RANGE___39 = 18,
    _SC_MEMORY_PROTECTION___39 = 19,
    _SC_MESSAGE_PASSING___39 = 20,
    _SC_SEMAPHORES___39 = 21,
    _SC_SHARED_MEMORY_OBJECTS___39 = 22,
    _SC_AIO_LISTIO_MAX___39 = 23,
    _SC_AIO_MAX___39 = 24,
    _SC_AIO_PRIO_DELTA_MAX___39 = 25,
    _SC_DELAYTIMER_MAX___39 = 26,
    _SC_MQ_OPEN_MAX___39 = 27,
    _SC_MQ_PRIO_MAX___39 = 28,
    _SC_VERSION___39 = 29,
    _SC_PAGESIZE___39 = 30,
    _SC_RTSIG_MAX___39 = 31,
    _SC_SEM_NSEMS_MAX___39 = 32,
    _SC_SEM_VALUE_MAX___39 = 33,
    _SC_SIGQUEUE_MAX___39 = 34,
    _SC_TIMER_MAX___39 = 35,
    _SC_BC_BASE_MAX___39 = 36,
    _SC_BC_DIM_MAX___39 = 37,
    _SC_BC_SCALE_MAX___39 = 38,
    _SC_BC_STRING_MAX___39 = 39,
    _SC_COLL_WEIGHTS_MAX___39 = 40,
    _SC_EQUIV_CLASS_MAX___39 = 41,
    _SC_EXPR_NEST_MAX___39 = 42,
    _SC_LINE_MAX___39 = 43,
    _SC_RE_DUP_MAX___39 = 44,
    _SC_CHARCLASS_NAME_MAX___39 = 45,
    _SC_2_VERSION___39 = 46,
    _SC_2_C_BIND___39 = 47,
    _SC_2_C_DEV___39 = 48,
    _SC_2_FORT_DEV___39 = 49,
    _SC_2_FORT_RUN___39 = 50,
    _SC_2_SW_DEV___39 = 51,
    _SC_2_LOCALEDEF___39 = 52,
    _SC_PII___39 = 53,
    _SC_PII_XTI___39 = 54,
    _SC_PII_SOCKET___39 = 55,
    _SC_PII_INTERNET___39 = 56,
    _SC_PII_OSI___39 = 57,
    _SC_POLL___39 = 58,
    _SC_SELECT___39 = 59,
    _SC_UIO_MAXIOV___39 = 60,
    _SC_IOV_MAX___39 = 60,
    _SC_PII_INTERNET_STREAM___39 = 61,
    _SC_PII_INTERNET_DGRAM___39 = 62,
    _SC_PII_OSI_COTS___39 = 63,
    _SC_PII_OSI_CLTS___39 = 64,
    _SC_PII_OSI_M___39 = 65,
    _SC_T_IOV_MAX___39 = 66,
    _SC_THREADS___39 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___39 = 68,
    _SC_GETGR_R_SIZE_MAX___39 = 69,
    _SC_GETPW_R_SIZE_MAX___39 = 70,
    _SC_LOGIN_NAME_MAX___39 = 71,
    _SC_TTY_NAME_MAX___39 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___39 = 73,
    _SC_THREAD_KEYS_MAX___39 = 74,
    _SC_THREAD_STACK_MIN___39 = 75,
    _SC_THREAD_THREADS_MAX___39 = 76,
    _SC_THREAD_ATTR_STACKADDR___39 = 77,
    _SC_THREAD_ATTR_STACKSIZE___39 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___39 = 79,
    _SC_THREAD_PRIO_INHERIT___39 = 80,
    _SC_THREAD_PRIO_PROTECT___39 = 81,
    _SC_THREAD_PROCESS_SHARED___39 = 82,
    _SC_NPROCESSORS_CONF___39 = 83,
    _SC_NPROCESSORS_ONLN___39 = 84,
    _SC_PHYS_PAGES___39 = 85,
    _SC_AVPHYS_PAGES___39 = 86,
    _SC_ATEXIT_MAX___39 = 87,
    _SC_PASS_MAX___39 = 88,
    _SC_XOPEN_VERSION___39 = 89,
    _SC_XOPEN_XCU_VERSION___39 = 90,
    _SC_XOPEN_UNIX___39 = 91,
    _SC_XOPEN_CRYPT___39 = 92,
    _SC_XOPEN_ENH_I18N___39 = 93,
    _SC_XOPEN_SHM___39 = 94,
    _SC_2_CHAR_TERM___39 = 95,
    _SC_2_C_VERSION___39 = 96,
    _SC_2_UPE___39 = 97,
    _SC_XOPEN_XPG2___39 = 98,
    _SC_XOPEN_XPG3___39 = 99,
    _SC_XOPEN_XPG4___39 = 100,
    _SC_CHAR_BIT___39 = 101,
    _SC_CHAR_MAX___39 = 102,
    _SC_CHAR_MIN___39 = 103,
    _SC_INT_MAX___39 = 104,
    _SC_INT_MIN___39 = 105,
    _SC_LONG_BIT___39 = 106,
    _SC_WORD_BIT___39 = 107,
    _SC_MB_LEN_MAX___39 = 108,
    _SC_NZERO___39 = 109,
    _SC_SSIZE_MAX___39 = 110,
    _SC_SCHAR_MAX___39 = 111,
    _SC_SCHAR_MIN___39 = 112,
    _SC_SHRT_MAX___39 = 113,
    _SC_SHRT_MIN___39 = 114,
    _SC_UCHAR_MAX___39 = 115,
    _SC_UINT_MAX___39 = 116,
    _SC_ULONG_MAX___39 = 117,
    _SC_USHRT_MAX___39 = 118,
    _SC_NL_ARGMAX___39 = 119,
    _SC_NL_LANGMAX___39 = 120,
    _SC_NL_MSGMAX___39 = 121,
    _SC_NL_NMAX___39 = 122,
    _SC_NL_SETMAX___39 = 123,
    _SC_NL_TEXTMAX___39 = 124,
    _SC_XBS5_ILP32_OFF32___39 = 125,
    _SC_XBS5_ILP32_OFFBIG___39 = 126,
    _SC_XBS5_LP64_OFF64___39 = 127,
    _SC_XBS5_LPBIG_OFFBIG___39 = 128,
    _SC_XOPEN_LEGACY___39 = 129,
    _SC_XOPEN_REALTIME___39 = 130,
    _SC_XOPEN_REALTIME_THREADS___39 = 131,
    _SC_ADVISORY_INFO___39 = 132,
    _SC_BARRIERS___39 = 133,
    _SC_BASE___39 = 134,
    _SC_C_LANG_SUPPORT___39 = 135,
    _SC_C_LANG_SUPPORT_R___39 = 136,
    _SC_CLOCK_SELECTION___39 = 137,
    _SC_CPUTIME___39 = 138,
    _SC_THREAD_CPUTIME___39 = 139,
    _SC_DEVICE_IO___39 = 140,
    _SC_DEVICE_SPECIFIC___39 = 141,
    _SC_DEVICE_SPECIFIC_R___39 = 142,
    _SC_FD_MGMT___39 = 143,
    _SC_FIFO___39 = 144,
    _SC_PIPE___39 = 145,
    _SC_FILE_ATTRIBUTES___39 = 146,
    _SC_FILE_LOCKING___39 = 147,
    _SC_FILE_SYSTEM___39 = 148,
    _SC_MONOTONIC_CLOCK___39 = 149,
    _SC_MULTI_PROCESS___39 = 150,
    _SC_SINGLE_PROCESS___39 = 151,
    _SC_NETWORKING___39 = 152,
    _SC_READER_WRITER_LOCKS___39 = 153,
    _SC_SPIN_LOCKS___39 = 154,
    _SC_REGEXP___39 = 155,
    _SC_REGEX_VERSION___39 = 156,
    _SC_SHELL___39 = 157,
    _SC_SIGNALS___39 = 158,
    _SC_SPAWN___39 = 159,
    _SC_SPORADIC_SERVER___39 = 160,
    _SC_THREAD_SPORADIC_SERVER___39 = 161,
    _SC_SYSTEM_DATABASE___39 = 162,
    _SC_SYSTEM_DATABASE_R___39 = 163,
    _SC_TIMEOUTS___39 = 164,
    _SC_TYPED_MEMORY_OBJECTS___39 = 165,
    _SC_USER_GROUPS___39 = 166,
    _SC_USER_GROUPS_R___39 = 167,
    _SC_2_PBS___39 = 168,
    _SC_2_PBS_ACCOUNTING___39 = 169,
    _SC_2_PBS_LOCATE___39 = 170,
    _SC_2_PBS_MESSAGE___39 = 171,
    _SC_2_PBS_TRACK___39 = 172,
    _SC_SYMLOOP_MAX___39 = 173,
    _SC_STREAMS___39 = 174,
    _SC_2_PBS_CHECKPOINT___39 = 175,
    _SC_V6_ILP32_OFF32___39 = 176,
    _SC_V6_ILP32_OFFBIG___39 = 177,
    _SC_V6_LP64_OFF64___39 = 178,
    _SC_V6_LPBIG_OFFBIG___39 = 179,
    _SC_HOST_NAME_MAX___39 = 180,
    _SC_TRACE___39 = 181,
    _SC_TRACE_EVENT_FILTER___39 = 182,
    _SC_TRACE_INHERIT___39 = 183,
    _SC_TRACE_LOG___39 = 184,
    _SC_LEVEL1_ICACHE_SIZE___39 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___39 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___39 = 187,
    _SC_LEVEL1_DCACHE_SIZE___39 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___39 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___39 = 190,
    _SC_LEVEL2_CACHE_SIZE___39 = 191,
    _SC_LEVEL2_CACHE_ASSOC___39 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___39 = 193,
    _SC_LEVEL3_CACHE_SIZE___39 = 194,
    _SC_LEVEL3_CACHE_ASSOC___39 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___39 = 196,
    _SC_LEVEL4_CACHE_SIZE___39 = 197,
    _SC_LEVEL4_CACHE_ASSOC___39 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___39 = 199,
    _SC_IPV6___39 = 235,
    _SC_RAW_SOCKETS___39 = 236,
    _SC_V7_ILP32_OFF32___39 = 237,
    _SC_V7_ILP32_OFFBIG___39 = 238,
    _SC_V7_LP64_OFF64___39 = 239,
    _SC_V7_LPBIG_OFFBIG___39 = 240,
    _SC_SS_REPL_MAX___39 = 241,
    _SC_TRACE_EVENT_NAME_MAX___39 = 242,
    _SC_TRACE_NAME_MAX___39 = 243,
    _SC_TRACE_SYS_MAX___39 = 244,
    _SC_TRACE_USER_EVENT_MAX___39 = 245,
    _SC_XOPEN_STREAMS___39 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___39 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___39 = 248
} ;
enum __anonenum_875524036___39 {
    _CS_PATH___39 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___39 = 1,
    _CS_GNU_LIBC_VERSION___39 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___39 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___39 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___39 = 5,
    _CS_LFS_CFLAGS___39 = 1000,
    _CS_LFS_LDFLAGS___39 = 1001,
    _CS_LFS_LIBS___39 = 1002,
    _CS_LFS_LINTFLAGS___39 = 1003,
    _CS_LFS64_CFLAGS___39 = 1004,
    _CS_LFS64_LDFLAGS___39 = 1005,
    _CS_LFS64_LIBS___39 = 1006,
    _CS_LFS64_LINTFLAGS___39 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___39 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___39 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___39 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___39 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___39 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___39 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___39 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___39 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___39 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___39 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___39 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___39 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___39 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___39 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___39 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___39 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___39 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___39 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___39 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___39 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___39 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___39 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___39 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___39 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___39 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___39 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___39 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___39 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___39 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___39 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___39 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___39 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___39 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___39 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___39 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___39 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___39 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___39 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___39 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___39 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___39 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___39 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___39 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___39 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___39 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___39 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___39 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___39 = 1147,
    _CS_V6_ENV___39 = 1148,
    _CS_V7_ENV___39 = 1149
} ;
enum __anonenum_513775621___39 {
    DT_UNKNOWN___39 = 0,
    DT_FIFO___39 = 1,
    DT_CHR___39 = 2,
    DT_DIR___39 = 4,
    DT_BLK___39 = 6,
    DT_REG___39 = 8,
    DT_LNK___39 = 10,
    DT_SOCK___39 = 12,
    DT_WHT___39 = 14
} ;
enum __anonenum_77002343___39 {
    SI_ASYNCNL___39 = -60,
    SI_TKILL___39 = -6,
    SI_SIGIO___39 = -5,
    SI_ASYNCIO___39 = -4,
    SI_MESGQ___39 = -3,
    SI_TIMER___39 = -2,
    SI_QUEUE___39 = -1,
    SI_USER___39 = 0,
    SI_KERNEL___39 = 128
} ;
enum __anonenum_131038172___39 {
    ILL_ILLOPC___39 = 1,
    ILL_ILLOPN___39 = 2,
    ILL_ILLADR___39 = 3,
    ILL_ILLTRP___39 = 4,
    ILL_PRVOPC___39 = 5,
    ILL_PRVREG___39 = 6,
    ILL_COPROC___39 = 7,
    ILL_BADSTK___39 = 8
} ;
enum __anonenum_452038093___39 {
    FPE_INTDIV___39 = 1,
    FPE_INTOVF___39 = 2,
    FPE_FLTDIV___39 = 3,
    FPE_FLTOVF___39 = 4,
    FPE_FLTUND___39 = 5,
    FPE_FLTRES___39 = 6,
    FPE_FLTINV___39 = 7,
    FPE_FLTSUB___39 = 8
} ;
enum __anonenum_30976155___39 {
    SEGV_MAPERR___39 = 1,
    SEGV_ACCERR___39 = 2,
    SEGV_BNDERR___39 = 3,
    SEGV_PKUERR___39 = 4
} ;
enum __anonenum_1036286214___39 {
    BUS_ADRALN___39 = 1,
    BUS_ADRERR___39 = 2,
    BUS_OBJERR___39 = 3,
    BUS_MCEERR_AR___39 = 4,
    BUS_MCEERR_AO___39 = 5
} ;
enum __anonenum_493465559___39 {
    TRAP_BRKPT___39 = 1,
    TRAP_TRACE___39 = 2
} ;
enum __anonenum_23175539___39 {
    CLD_EXITED___39 = 1,
    CLD_KILLED___39 = 2,
    CLD_DUMPED___39 = 3,
    CLD_TRAPPED___39 = 4,
    CLD_STOPPED___39 = 5,
    CLD_CONTINUED___39 = 6
} ;
enum __anonenum_111643124___39 {
    POLL_IN___39 = 1,
    POLL_OUT___39 = 2,
    POLL_MSG___39 = 3,
    POLL_ERR___39 = 4,
    POLL_PRI___39 = 5,
    POLL_HUP___39 = 6
} ;
enum __anonenum_852341087___39 {
    SIGEV_SIGNAL___39 = 0,
    SIGEV_NONE___39 = 1,
    SIGEV_THREAD___39 = 2,
    SIGEV_THREAD_ID___39 = 4
} ;
enum __anonenum_451154152___39 {
    REG_R8___39 = 0,
    REG_R9___39 = 1,
    REG_R10___39 = 2,
    REG_R11___39 = 3,
    REG_R12___39 = 4,
    REG_R13___39 = 5,
    REG_R14___39 = 6,
    REG_R15___39 = 7,
    REG_RDI___39 = 8,
    REG_RSI___39 = 9,
    REG_RBP___39 = 10,
    REG_RBX___39 = 11,
    REG_RDX___39 = 12,
    REG_RAX___39 = 13,
    REG_RCX___39 = 14,
    REG_RSP___39 = 15,
    REG_RIP___39 = 16,
    REG_EFL___39 = 17,
    REG_CSGSFS___39 = 18,
    REG_ERR___39 = 19,
    REG_TRAPNO___39 = 20,
    REG_OLDMASK___39 = 21,
    REG_CR2___39 = 22
} ;
enum __anonenum_57186863___39 {
    SS_ONSTACK___39 = 1,
    SS_DISABLE___39 = 2
} ;
enum __anonenum_83571709___39 {
    MSG_OOB___39 = 1,
    MSG_PEEK___39 = 2,
    MSG_DONTROUTE___39 = 4,
    MSG_TRYHARD___39 = 4,
    MSG_CTRUNC___39 = 8,
    MSG_PROXY___39 = 16,
    MSG_TRUNC___39 = 32,
    MSG_DONTWAIT___39 = 64,
    MSG_EOR___39 = 128,
    MSG_WAITALL___39 = 256,
    MSG_FIN___39 = 512,
    MSG_SYN___39 = 1024,
    MSG_CONFIRM___39 = 2048,
    MSG_RST___39 = 4096,
    MSG_ERRQUEUE___39 = 8192,
    MSG_NOSIGNAL___39 = 16384,
    MSG_MORE___39 = 32768,
    MSG_WAITFORONE___39 = 65536,
    MSG_BATCH___39 = 262144,
    MSG_ZEROCOPY___39 = 67108864,
    MSG_FASTOPEN___39 = 536870912,
    MSG_CMSG_CLOEXEC___39 = 1073741824
} ;
enum __anonenum_617082774___39 {
    SCM_RIGHTS___39 = 1,
    SCM_CREDENTIALS___39 = 2
} ;
enum __anonenum_606441560___39 {
    SHUT_RD___39 = 0,
    SHUT_WR___39 = 1,
    SHUT_RDWR___39 = 2
} ;
enum __anonenum_681669233___39 {
    IPPROTO_IP___39 = 0,
    IPPROTO_ICMP___39 = 1,
    IPPROTO_IGMP___39 = 2,
    IPPROTO_IPIP___39 = 4,
    IPPROTO_TCP___39 = 6,
    IPPROTO_EGP___39 = 8,
    IPPROTO_PUP___39 = 12,
    IPPROTO_UDP___39 = 17,
    IPPROTO_IDP___39 = 22,
    IPPROTO_TP___39 = 29,
    IPPROTO_DCCP___39 = 33,
    IPPROTO_IPV6___39 = 41,
    IPPROTO_RSVP___39 = 46,
    IPPROTO_GRE___39 = 47,
    IPPROTO_ESP___39 = 50,
    IPPROTO_AH___39 = 51,
    IPPROTO_MTP___39 = 92,
    IPPROTO_BEETPH___39 = 94,
    IPPROTO_ENCAP___39 = 98,
    IPPROTO_PIM___39 = 103,
    IPPROTO_COMP___39 = 108,
    IPPROTO_SCTP___39 = 132,
    IPPROTO_UDPLITE___39 = 136,
    IPPROTO_MPLS___39 = 137,
    IPPROTO_RAW___39 = 255,
    IPPROTO_MAX___39 = 256
} ;
enum __anonenum_218739988___39 {
    IPPROTO_HOPOPTS___39 = 0,
    IPPROTO_ROUTING___39 = 43,
    IPPROTO_FRAGMENT___39 = 44,
    IPPROTO_ICMPV6___39 = 58,
    IPPROTO_NONE___39 = 59,
    IPPROTO_DSTOPTS___39 = 60,
    IPPROTO_MH___39 = 135
} ;
enum __anonenum_662268580___39 {
    IPPORT_ECHO___39 = 7,
    IPPORT_DISCARD___39 = 9,
    IPPORT_SYSTAT___39 = 11,
    IPPORT_DAYTIME___39 = 13,
    IPPORT_NETSTAT___39 = 15,
    IPPORT_FTP___39 = 21,
    IPPORT_TELNET___39 = 23,
    IPPORT_SMTP___39 = 25,
    IPPORT_TIMESERVER___39 = 37,
    IPPORT_NAMESERVER___39 = 42,
    IPPORT_WHOIS___39 = 43,
    IPPORT_MTP___39 = 57,
    IPPORT_TFTP___39 = 69,
    IPPORT_RJE___39 = 77,
    IPPORT_FINGER___39 = 79,
    IPPORT_TTYLINK___39 = 87,
    IPPORT_SUPDUP___39 = 95,
    IPPORT_EXECSERVER___39 = 512,
    IPPORT_LOGINSERVER___39 = 513,
    IPPORT_CMDSERVER___39 = 514,
    IPPORT_EFSSERVER___39 = 520,
    IPPORT_BIFFUDP___39 = 512,
    IPPORT_WHOSERVER___39 = 513,
    IPPORT_ROUTESERVER___39 = 520,
    IPPORT_RESERVED___39 = 1024,
    IPPORT_USERRESERVED___39 = 5000
} ;
enum __anonenum_788308992___39 {
    TCP_ESTABLISHED___39 = 1,
    TCP_SYN_SENT___39 = 2,
    TCP_SYN_RECV___39 = 3,
    TCP_FIN_WAIT1___39 = 4,
    TCP_FIN_WAIT2___39 = 5,
    TCP_TIME_WAIT___39 = 6,
    TCP_CLOSE___39 = 7,
    TCP_CLOSE_WAIT___39 = 8,
    TCP_LAST_ACK___39 = 9,
    TCP_LISTEN___39 = 10,
    TCP_CLOSING___39 = 11
} ;
enum __anonenum_221125648___39 {
    TCP_NO_QUEUE___39 = 0,
    TCP_RECV_QUEUE___39 = 1,
    TCP_SEND_QUEUE___39 = 2,
    TCP_QUEUES_NR___39 = 3
} ;
enum __anonenum_34415463___39 {
    PTHREAD_CREATE_JOINABLE___39 = 0,
    PTHREAD_CREATE_DETACHED___39 = 1
} ;
enum __anonenum_303612439___39 {
    PTHREAD_MUTEX_TIMED_NP___39 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___39 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___39 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___39 = 3,
    PTHREAD_MUTEX_NORMAL___39 = 0,
    PTHREAD_MUTEX_RECURSIVE___39 = 1,
    PTHREAD_MUTEX_ERRORCHECK___39 = 2,
    PTHREAD_MUTEX_DEFAULT___39 = 0,
    PTHREAD_MUTEX_FAST_NP___39 = 0
} ;
enum __anonenum_931900394___39 {
    PTHREAD_MUTEX_STALLED___39 = 0,
    PTHREAD_MUTEX_STALLED_NP___39 = 0,
    PTHREAD_MUTEX_ROBUST___39 = 1,
    PTHREAD_MUTEX_ROBUST_NP___39 = 1
} ;
enum __anonenum_205214487___39 {
    PTHREAD_PRIO_NONE___39 = 0,
    PTHREAD_PRIO_INHERIT___39 = 1,
    PTHREAD_PRIO_PROTECT___39 = 2
} ;
enum __anonenum_25043950___39 {
    PTHREAD_RWLOCK_PREFER_READER_NP___39 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___39 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___39 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___39 = 0
} ;
enum __anonenum_436439511___39 {
    PTHREAD_INHERIT_SCHED___39 = 0,
    PTHREAD_EXPLICIT_SCHED___39 = 1
} ;
enum __anonenum_998661166___39 {
    PTHREAD_SCOPE_SYSTEM___39 = 0,
    PTHREAD_SCOPE_PROCESS___39 = 1
} ;
enum __anonenum_146137331___39 {
    PTHREAD_PROCESS_PRIVATE___39 = 0,
    PTHREAD_PROCESS_SHARED___39 = 1
} ;
enum __anonenum_53396917___39 {
    PTHREAD_CANCEL_ENABLE___39 = 0,
    PTHREAD_CANCEL_DISABLE___39 = 1
} ;
enum __anonenum_904563783___39 {
    PTHREAD_CANCEL_DEFERRED___39 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___39 = 1
} ;
enum __anonenum_672052974___39 {
    SSL_CT_VALIDATION_PERMISSIVE___39 = 0,
    SSL_CT_VALIDATION_STRICT___39 = 1
} ;
struct subprocess_entry {
   struct hashmap_entry ent ;
   char const   *cmd ;
   struct child_process process ;
};
struct subprocess_capability {
   char const   *name ;
   unsigned int flag ;
};
typedef int (*subprocess_start_fn)(struct subprocess_entry *entry );
struct text_stat {
   unsigned int nul ;
   unsigned int lonecr ;
   unsigned int lonelf ;
   unsigned int crlf ;
   unsigned int printable ;
   unsigned int nonprintable ;
};
struct filter_params {
   char const   *src ;
   size_t size ;
   int fd ;
   char const   *cmd ;
   char const   *path ;
};
struct cmd2process {
   struct subprocess_entry subprocess ;
   unsigned int supported_capabilities ;
};
struct convert_driver {
   char const   *name ;
   struct convert_driver *next ;
   char const   *smudge ;
   char const   *clean ;
   char const   *process ;
   int required ;
};
typedef int (*filter_fn)(struct stream_filter * , char const   *input , size_t *isize_p ,
                         char *output , size_t *osize_p );
typedef void (*free_fn)(struct stream_filter * );
struct stream_filter_vtbl {
   int (*filter)(struct stream_filter * , char const   *input , size_t *isize_p ,
                 char *output , size_t *osize_p ) ;
   void (*free)(struct stream_filter * ) ;
};
struct stream_filter {
   struct stream_filter_vtbl *vtbl ;
};
struct lf_to_crlf_filter {
   struct stream_filter filter ;
   unsigned int has_held : 1 ;
   char held ;
};
struct cascade_filter {
   struct stream_filter filter ;
   struct stream_filter *one ;
   struct stream_filter *two ;
   char buf[1024] ;
   int end ;
   int ptr ;
};
struct ident_filter {
   struct stream_filter filter ;
   struct strbuf left ;
   int state ;
   char ident[69] ;
};
enum __anonenum_437032235___40 {
    _PC_LINK_MAX___40 = 0,
    _PC_MAX_CANON___40 = 1,
    _PC_MAX_INPUT___40 = 2,
    _PC_NAME_MAX___40 = 3,
    _PC_PATH_MAX___40 = 4,
    _PC_PIPE_BUF___40 = 5,
    _PC_CHOWN_RESTRICTED___40 = 6,
    _PC_NO_TRUNC___40 = 7,
    _PC_VDISABLE___40 = 8,
    _PC_SYNC_IO___40 = 9,
    _PC_ASYNC_IO___40 = 10,
    _PC_PRIO_IO___40 = 11,
    _PC_SOCK_MAXBUF___40 = 12,
    _PC_FILESIZEBITS___40 = 13,
    _PC_REC_INCR_XFER_SIZE___40 = 14,
    _PC_REC_MAX_XFER_SIZE___40 = 15,
    _PC_REC_MIN_XFER_SIZE___40 = 16,
    _PC_REC_XFER_ALIGN___40 = 17,
    _PC_ALLOC_SIZE_MIN___40 = 18,
    _PC_SYMLINK_MAX___40 = 19,
    _PC_2_SYMLINKS___40 = 20
} ;
enum __anonenum_315186338___40 {
    _SC_ARG_MAX___40 = 0,
    _SC_CHILD_MAX___40 = 1,
    _SC_CLK_TCK___40 = 2,
    _SC_NGROUPS_MAX___40 = 3,
    _SC_OPEN_MAX___40 = 4,
    _SC_STREAM_MAX___40 = 5,
    _SC_TZNAME_MAX___40 = 6,
    _SC_JOB_CONTROL___40 = 7,
    _SC_SAVED_IDS___40 = 8,
    _SC_REALTIME_SIGNALS___40 = 9,
    _SC_PRIORITY_SCHEDULING___40 = 10,
    _SC_TIMERS___40 = 11,
    _SC_ASYNCHRONOUS_IO___40 = 12,
    _SC_PRIORITIZED_IO___40 = 13,
    _SC_SYNCHRONIZED_IO___40 = 14,
    _SC_FSYNC___40 = 15,
    _SC_MAPPED_FILES___40 = 16,
    _SC_MEMLOCK___40 = 17,
    _SC_MEMLOCK_RANGE___40 = 18,
    _SC_MEMORY_PROTECTION___40 = 19,
    _SC_MESSAGE_PASSING___40 = 20,
    _SC_SEMAPHORES___40 = 21,
    _SC_SHARED_MEMORY_OBJECTS___40 = 22,
    _SC_AIO_LISTIO_MAX___40 = 23,
    _SC_AIO_MAX___40 = 24,
    _SC_AIO_PRIO_DELTA_MAX___40 = 25,
    _SC_DELAYTIMER_MAX___40 = 26,
    _SC_MQ_OPEN_MAX___40 = 27,
    _SC_MQ_PRIO_MAX___40 = 28,
    _SC_VERSION___40 = 29,
    _SC_PAGESIZE___40 = 30,
    _SC_RTSIG_MAX___40 = 31,
    _SC_SEM_NSEMS_MAX___40 = 32,
    _SC_SEM_VALUE_MAX___40 = 33,
    _SC_SIGQUEUE_MAX___40 = 34,
    _SC_TIMER_MAX___40 = 35,
    _SC_BC_BASE_MAX___40 = 36,
    _SC_BC_DIM_MAX___40 = 37,
    _SC_BC_SCALE_MAX___40 = 38,
    _SC_BC_STRING_MAX___40 = 39,
    _SC_COLL_WEIGHTS_MAX___40 = 40,
    _SC_EQUIV_CLASS_MAX___40 = 41,
    _SC_EXPR_NEST_MAX___40 = 42,
    _SC_LINE_MAX___40 = 43,
    _SC_RE_DUP_MAX___40 = 44,
    _SC_CHARCLASS_NAME_MAX___40 = 45,
    _SC_2_VERSION___40 = 46,
    _SC_2_C_BIND___40 = 47,
    _SC_2_C_DEV___40 = 48,
    _SC_2_FORT_DEV___40 = 49,
    _SC_2_FORT_RUN___40 = 50,
    _SC_2_SW_DEV___40 = 51,
    _SC_2_LOCALEDEF___40 = 52,
    _SC_PII___40 = 53,
    _SC_PII_XTI___40 = 54,
    _SC_PII_SOCKET___40 = 55,
    _SC_PII_INTERNET___40 = 56,
    _SC_PII_OSI___40 = 57,
    _SC_POLL___40 = 58,
    _SC_SELECT___40 = 59,
    _SC_UIO_MAXIOV___40 = 60,
    _SC_IOV_MAX___40 = 60,
    _SC_PII_INTERNET_STREAM___40 = 61,
    _SC_PII_INTERNET_DGRAM___40 = 62,
    _SC_PII_OSI_COTS___40 = 63,
    _SC_PII_OSI_CLTS___40 = 64,
    _SC_PII_OSI_M___40 = 65,
    _SC_T_IOV_MAX___40 = 66,
    _SC_THREADS___40 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___40 = 68,
    _SC_GETGR_R_SIZE_MAX___40 = 69,
    _SC_GETPW_R_SIZE_MAX___40 = 70,
    _SC_LOGIN_NAME_MAX___40 = 71,
    _SC_TTY_NAME_MAX___40 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___40 = 73,
    _SC_THREAD_KEYS_MAX___40 = 74,
    _SC_THREAD_STACK_MIN___40 = 75,
    _SC_THREAD_THREADS_MAX___40 = 76,
    _SC_THREAD_ATTR_STACKADDR___40 = 77,
    _SC_THREAD_ATTR_STACKSIZE___40 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___40 = 79,
    _SC_THREAD_PRIO_INHERIT___40 = 80,
    _SC_THREAD_PRIO_PROTECT___40 = 81,
    _SC_THREAD_PROCESS_SHARED___40 = 82,
    _SC_NPROCESSORS_CONF___40 = 83,
    _SC_NPROCESSORS_ONLN___40 = 84,
    _SC_PHYS_PAGES___40 = 85,
    _SC_AVPHYS_PAGES___40 = 86,
    _SC_ATEXIT_MAX___40 = 87,
    _SC_PASS_MAX___40 = 88,
    _SC_XOPEN_VERSION___40 = 89,
    _SC_XOPEN_XCU_VERSION___40 = 90,
    _SC_XOPEN_UNIX___40 = 91,
    _SC_XOPEN_CRYPT___40 = 92,
    _SC_XOPEN_ENH_I18N___40 = 93,
    _SC_XOPEN_SHM___40 = 94,
    _SC_2_CHAR_TERM___40 = 95,
    _SC_2_C_VERSION___40 = 96,
    _SC_2_UPE___40 = 97,
    _SC_XOPEN_XPG2___40 = 98,
    _SC_XOPEN_XPG3___40 = 99,
    _SC_XOPEN_XPG4___40 = 100,
    _SC_CHAR_BIT___40 = 101,
    _SC_CHAR_MAX___40 = 102,
    _SC_CHAR_MIN___40 = 103,
    _SC_INT_MAX___40 = 104,
    _SC_INT_MIN___40 = 105,
    _SC_LONG_BIT___40 = 106,
    _SC_WORD_BIT___40 = 107,
    _SC_MB_LEN_MAX___40 = 108,
    _SC_NZERO___40 = 109,
    _SC_SSIZE_MAX___40 = 110,
    _SC_SCHAR_MAX___40 = 111,
    _SC_SCHAR_MIN___40 = 112,
    _SC_SHRT_MAX___40 = 113,
    _SC_SHRT_MIN___40 = 114,
    _SC_UCHAR_MAX___40 = 115,
    _SC_UINT_MAX___40 = 116,
    _SC_ULONG_MAX___40 = 117,
    _SC_USHRT_MAX___40 = 118,
    _SC_NL_ARGMAX___40 = 119,
    _SC_NL_LANGMAX___40 = 120,
    _SC_NL_MSGMAX___40 = 121,
    _SC_NL_NMAX___40 = 122,
    _SC_NL_SETMAX___40 = 123,
    _SC_NL_TEXTMAX___40 = 124,
    _SC_XBS5_ILP32_OFF32___40 = 125,
    _SC_XBS5_ILP32_OFFBIG___40 = 126,
    _SC_XBS5_LP64_OFF64___40 = 127,
    _SC_XBS5_LPBIG_OFFBIG___40 = 128,
    _SC_XOPEN_LEGACY___40 = 129,
    _SC_XOPEN_REALTIME___40 = 130,
    _SC_XOPEN_REALTIME_THREADS___40 = 131,
    _SC_ADVISORY_INFO___40 = 132,
    _SC_BARRIERS___40 = 133,
    _SC_BASE___40 = 134,
    _SC_C_LANG_SUPPORT___40 = 135,
    _SC_C_LANG_SUPPORT_R___40 = 136,
    _SC_CLOCK_SELECTION___40 = 137,
    _SC_CPUTIME___40 = 138,
    _SC_THREAD_CPUTIME___40 = 139,
    _SC_DEVICE_IO___40 = 140,
    _SC_DEVICE_SPECIFIC___40 = 141,
    _SC_DEVICE_SPECIFIC_R___40 = 142,
    _SC_FD_MGMT___40 = 143,
    _SC_FIFO___40 = 144,
    _SC_PIPE___40 = 145,
    _SC_FILE_ATTRIBUTES___40 = 146,
    _SC_FILE_LOCKING___40 = 147,
    _SC_FILE_SYSTEM___40 = 148,
    _SC_MONOTONIC_CLOCK___40 = 149,
    _SC_MULTI_PROCESS___40 = 150,
    _SC_SINGLE_PROCESS___40 = 151,
    _SC_NETWORKING___40 = 152,
    _SC_READER_WRITER_LOCKS___40 = 153,
    _SC_SPIN_LOCKS___40 = 154,
    _SC_REGEXP___40 = 155,
    _SC_REGEX_VERSION___40 = 156,
    _SC_SHELL___40 = 157,
    _SC_SIGNALS___40 = 158,
    _SC_SPAWN___40 = 159,
    _SC_SPORADIC_SERVER___40 = 160,
    _SC_THREAD_SPORADIC_SERVER___40 = 161,
    _SC_SYSTEM_DATABASE___40 = 162,
    _SC_SYSTEM_DATABASE_R___40 = 163,
    _SC_TIMEOUTS___40 = 164,
    _SC_TYPED_MEMORY_OBJECTS___40 = 165,
    _SC_USER_GROUPS___40 = 166,
    _SC_USER_GROUPS_R___40 = 167,
    _SC_2_PBS___40 = 168,
    _SC_2_PBS_ACCOUNTING___40 = 169,
    _SC_2_PBS_LOCATE___40 = 170,
    _SC_2_PBS_MESSAGE___40 = 171,
    _SC_2_PBS_TRACK___40 = 172,
    _SC_SYMLOOP_MAX___40 = 173,
    _SC_STREAMS___40 = 174,
    _SC_2_PBS_CHECKPOINT___40 = 175,
    _SC_V6_ILP32_OFF32___40 = 176,
    _SC_V6_ILP32_OFFBIG___40 = 177,
    _SC_V6_LP64_OFF64___40 = 178,
    _SC_V6_LPBIG_OFFBIG___40 = 179,
    _SC_HOST_NAME_MAX___40 = 180,
    _SC_TRACE___40 = 181,
    _SC_TRACE_EVENT_FILTER___40 = 182,
    _SC_TRACE_INHERIT___40 = 183,
    _SC_TRACE_LOG___40 = 184,
    _SC_LEVEL1_ICACHE_SIZE___40 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___40 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___40 = 187,
    _SC_LEVEL1_DCACHE_SIZE___40 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___40 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___40 = 190,
    _SC_LEVEL2_CACHE_SIZE___40 = 191,
    _SC_LEVEL2_CACHE_ASSOC___40 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___40 = 193,
    _SC_LEVEL3_CACHE_SIZE___40 = 194,
    _SC_LEVEL3_CACHE_ASSOC___40 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___40 = 196,
    _SC_LEVEL4_CACHE_SIZE___40 = 197,
    _SC_LEVEL4_CACHE_ASSOC___40 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___40 = 199,
    _SC_IPV6___40 = 235,
    _SC_RAW_SOCKETS___40 = 236,
    _SC_V7_ILP32_OFF32___40 = 237,
    _SC_V7_ILP32_OFFBIG___40 = 238,
    _SC_V7_LP64_OFF64___40 = 239,
    _SC_V7_LPBIG_OFFBIG___40 = 240,
    _SC_SS_REPL_MAX___40 = 241,
    _SC_TRACE_EVENT_NAME_MAX___40 = 242,
    _SC_TRACE_NAME_MAX___40 = 243,
    _SC_TRACE_SYS_MAX___40 = 244,
    _SC_TRACE_USER_EVENT_MAX___40 = 245,
    _SC_XOPEN_STREAMS___40 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___40 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___40 = 248
} ;
enum __anonenum_875524036___40 {
    _CS_PATH___40 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___40 = 1,
    _CS_GNU_LIBC_VERSION___40 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___40 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___40 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___40 = 5,
    _CS_LFS_CFLAGS___40 = 1000,
    _CS_LFS_LDFLAGS___40 = 1001,
    _CS_LFS_LIBS___40 = 1002,
    _CS_LFS_LINTFLAGS___40 = 1003,
    _CS_LFS64_CFLAGS___40 = 1004,
    _CS_LFS64_LDFLAGS___40 = 1005,
    _CS_LFS64_LIBS___40 = 1006,
    _CS_LFS64_LINTFLAGS___40 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___40 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___40 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___40 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___40 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___40 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___40 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___40 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___40 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___40 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___40 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___40 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___40 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___40 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___40 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___40 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___40 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___40 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___40 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___40 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___40 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___40 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___40 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___40 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___40 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___40 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___40 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___40 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___40 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___40 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___40 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___40 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___40 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___40 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___40 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___40 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___40 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___40 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___40 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___40 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___40 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___40 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___40 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___40 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___40 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___40 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___40 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___40 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___40 = 1147,
    _CS_V6_ENV___40 = 1148,
    _CS_V7_ENV___40 = 1149
} ;
enum __anonenum_513775621___40 {
    DT_UNKNOWN___40 = 0,
    DT_FIFO___40 = 1,
    DT_CHR___40 = 2,
    DT_DIR___40 = 4,
    DT_BLK___40 = 6,
    DT_REG___40 = 8,
    DT_LNK___40 = 10,
    DT_SOCK___40 = 12,
    DT_WHT___40 = 14
} ;
enum __anonenum_77002343___40 {
    SI_ASYNCNL___40 = -60,
    SI_TKILL___40 = -6,
    SI_SIGIO___40 = -5,
    SI_ASYNCIO___40 = -4,
    SI_MESGQ___40 = -3,
    SI_TIMER___40 = -2,
    SI_QUEUE___40 = -1,
    SI_USER___40 = 0,
    SI_KERNEL___40 = 128
} ;
enum __anonenum_131038172___40 {
    ILL_ILLOPC___40 = 1,
    ILL_ILLOPN___40 = 2,
    ILL_ILLADR___40 = 3,
    ILL_ILLTRP___40 = 4,
    ILL_PRVOPC___40 = 5,
    ILL_PRVREG___40 = 6,
    ILL_COPROC___40 = 7,
    ILL_BADSTK___40 = 8
} ;
enum __anonenum_452038093___40 {
    FPE_INTDIV___40 = 1,
    FPE_INTOVF___40 = 2,
    FPE_FLTDIV___40 = 3,
    FPE_FLTOVF___40 = 4,
    FPE_FLTUND___40 = 5,
    FPE_FLTRES___40 = 6,
    FPE_FLTINV___40 = 7,
    FPE_FLTSUB___40 = 8
} ;
enum __anonenum_30976155___40 {
    SEGV_MAPERR___40 = 1,
    SEGV_ACCERR___40 = 2,
    SEGV_BNDERR___40 = 3,
    SEGV_PKUERR___40 = 4
} ;
enum __anonenum_1036286214___40 {
    BUS_ADRALN___40 = 1,
    BUS_ADRERR___40 = 2,
    BUS_OBJERR___40 = 3,
    BUS_MCEERR_AR___40 = 4,
    BUS_MCEERR_AO___40 = 5
} ;
enum __anonenum_493465559___40 {
    TRAP_BRKPT___40 = 1,
    TRAP_TRACE___40 = 2
} ;
enum __anonenum_23175539___40 {
    CLD_EXITED___40 = 1,
    CLD_KILLED___40 = 2,
    CLD_DUMPED___40 = 3,
    CLD_TRAPPED___40 = 4,
    CLD_STOPPED___40 = 5,
    CLD_CONTINUED___40 = 6
} ;
enum __anonenum_111643124___40 {
    POLL_IN___40 = 1,
    POLL_OUT___40 = 2,
    POLL_MSG___40 = 3,
    POLL_ERR___40 = 4,
    POLL_PRI___40 = 5,
    POLL_HUP___40 = 6
} ;
enum __anonenum_852341087___40 {
    SIGEV_SIGNAL___40 = 0,
    SIGEV_NONE___40 = 1,
    SIGEV_THREAD___40 = 2,
    SIGEV_THREAD_ID___40 = 4
} ;
enum __anonenum_451154152___40 {
    REG_R8___40 = 0,
    REG_R9___40 = 1,
    REG_R10___40 = 2,
    REG_R11___40 = 3,
    REG_R12___40 = 4,
    REG_R13___40 = 5,
    REG_R14___40 = 6,
    REG_R15___40 = 7,
    REG_RDI___40 = 8,
    REG_RSI___40 = 9,
    REG_RBP___40 = 10,
    REG_RBX___40 = 11,
    REG_RDX___40 = 12,
    REG_RAX___40 = 13,
    REG_RCX___40 = 14,
    REG_RSP___40 = 15,
    REG_RIP___40 = 16,
    REG_EFL___40 = 17,
    REG_CSGSFS___40 = 18,
    REG_ERR___40 = 19,
    REG_TRAPNO___40 = 20,
    REG_OLDMASK___40 = 21,
    REG_CR2___40 = 22
} ;
enum __anonenum_57186863___40 {
    SS_ONSTACK___40 = 1,
    SS_DISABLE___40 = 2
} ;
enum __anonenum_83571709___40 {
    MSG_OOB___40 = 1,
    MSG_PEEK___40 = 2,
    MSG_DONTROUTE___40 = 4,
    MSG_TRYHARD___40 = 4,
    MSG_CTRUNC___40 = 8,
    MSG_PROXY___40 = 16,
    MSG_TRUNC___40 = 32,
    MSG_DONTWAIT___40 = 64,
    MSG_EOR___40 = 128,
    MSG_WAITALL___40 = 256,
    MSG_FIN___40 = 512,
    MSG_SYN___40 = 1024,
    MSG_CONFIRM___40 = 2048,
    MSG_RST___40 = 4096,
    MSG_ERRQUEUE___40 = 8192,
    MSG_NOSIGNAL___40 = 16384,
    MSG_MORE___40 = 32768,
    MSG_WAITFORONE___40 = 65536,
    MSG_BATCH___40 = 262144,
    MSG_ZEROCOPY___40 = 67108864,
    MSG_FASTOPEN___40 = 536870912,
    MSG_CMSG_CLOEXEC___40 = 1073741824
} ;
enum __anonenum_617082774___40 {
    SCM_RIGHTS___40 = 1,
    SCM_CREDENTIALS___40 = 2
} ;
enum __anonenum_606441560___40 {
    SHUT_RD___40 = 0,
    SHUT_WR___40 = 1,
    SHUT_RDWR___40 = 2
} ;
enum __anonenum_681669233___40 {
    IPPROTO_IP___40 = 0,
    IPPROTO_ICMP___40 = 1,
    IPPROTO_IGMP___40 = 2,
    IPPROTO_IPIP___40 = 4,
    IPPROTO_TCP___40 = 6,
    IPPROTO_EGP___40 = 8,
    IPPROTO_PUP___40 = 12,
    IPPROTO_UDP___40 = 17,
    IPPROTO_IDP___40 = 22,
    IPPROTO_TP___40 = 29,
    IPPROTO_DCCP___40 = 33,
    IPPROTO_IPV6___40 = 41,
    IPPROTO_RSVP___40 = 46,
    IPPROTO_GRE___40 = 47,
    IPPROTO_ESP___40 = 50,
    IPPROTO_AH___40 = 51,
    IPPROTO_MTP___40 = 92,
    IPPROTO_BEETPH___40 = 94,
    IPPROTO_ENCAP___40 = 98,
    IPPROTO_PIM___40 = 103,
    IPPROTO_COMP___40 = 108,
    IPPROTO_SCTP___40 = 132,
    IPPROTO_UDPLITE___40 = 136,
    IPPROTO_MPLS___40 = 137,
    IPPROTO_RAW___40 = 255,
    IPPROTO_MAX___40 = 256
} ;
enum __anonenum_218739988___40 {
    IPPROTO_HOPOPTS___40 = 0,
    IPPROTO_ROUTING___40 = 43,
    IPPROTO_FRAGMENT___40 = 44,
    IPPROTO_ICMPV6___40 = 58,
    IPPROTO_NONE___40 = 59,
    IPPROTO_DSTOPTS___40 = 60,
    IPPROTO_MH___40 = 135
} ;
enum __anonenum_662268580___40 {
    IPPORT_ECHO___40 = 7,
    IPPORT_DISCARD___40 = 9,
    IPPORT_SYSTAT___40 = 11,
    IPPORT_DAYTIME___40 = 13,
    IPPORT_NETSTAT___40 = 15,
    IPPORT_FTP___40 = 21,
    IPPORT_TELNET___40 = 23,
    IPPORT_SMTP___40 = 25,
    IPPORT_TIMESERVER___40 = 37,
    IPPORT_NAMESERVER___40 = 42,
    IPPORT_WHOIS___40 = 43,
    IPPORT_MTP___40 = 57,
    IPPORT_TFTP___40 = 69,
    IPPORT_RJE___40 = 77,
    IPPORT_FINGER___40 = 79,
    IPPORT_TTYLINK___40 = 87,
    IPPORT_SUPDUP___40 = 95,
    IPPORT_EXECSERVER___40 = 512,
    IPPORT_LOGINSERVER___40 = 513,
    IPPORT_CMDSERVER___40 = 514,
    IPPORT_EFSSERVER___40 = 520,
    IPPORT_BIFFUDP___40 = 512,
    IPPORT_WHOSERVER___40 = 513,
    IPPORT_ROUTESERVER___40 = 520,
    IPPORT_RESERVED___40 = 1024,
    IPPORT_USERRESERVED___40 = 5000
} ;
enum __anonenum_788308992___40 {
    TCP_ESTABLISHED___40 = 1,
    TCP_SYN_SENT___40 = 2,
    TCP_SYN_RECV___40 = 3,
    TCP_FIN_WAIT1___40 = 4,
    TCP_FIN_WAIT2___40 = 5,
    TCP_TIME_WAIT___40 = 6,
    TCP_CLOSE___40 = 7,
    TCP_CLOSE_WAIT___40 = 8,
    TCP_LAST_ACK___40 = 9,
    TCP_LISTEN___40 = 10,
    TCP_CLOSING___40 = 11
} ;
enum __anonenum_221125648___40 {
    TCP_NO_QUEUE___40 = 0,
    TCP_RECV_QUEUE___40 = 1,
    TCP_SEND_QUEUE___40 = 2,
    TCP_QUEUES_NR___40 = 3
} ;
enum __anonenum_34415463___40 {
    PTHREAD_CREATE_JOINABLE___40 = 0,
    PTHREAD_CREATE_DETACHED___40 = 1
} ;
enum __anonenum_303612439___40 {
    PTHREAD_MUTEX_TIMED_NP___40 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___40 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___40 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___40 = 3,
    PTHREAD_MUTEX_NORMAL___40 = 0,
    PTHREAD_MUTEX_RECURSIVE___40 = 1,
    PTHREAD_MUTEX_ERRORCHECK___40 = 2,
    PTHREAD_MUTEX_DEFAULT___40 = 0,
    PTHREAD_MUTEX_FAST_NP___40 = 0
} ;
enum __anonenum_931900394___40 {
    PTHREAD_MUTEX_STALLED___40 = 0,
    PTHREAD_MUTEX_STALLED_NP___40 = 0,
    PTHREAD_MUTEX_ROBUST___40 = 1,
    PTHREAD_MUTEX_ROBUST_NP___40 = 1
} ;
enum __anonenum_205214487___40 {
    PTHREAD_PRIO_NONE___40 = 0,
    PTHREAD_PRIO_INHERIT___40 = 1,
    PTHREAD_PRIO_PROTECT___40 = 2
} ;
enum __anonenum_25043950___40 {
    PTHREAD_RWLOCK_PREFER_READER_NP___40 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___40 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___40 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___40 = 0
} ;
enum __anonenum_436439511___40 {
    PTHREAD_INHERIT_SCHED___40 = 0,
    PTHREAD_EXPLICIT_SCHED___40 = 1
} ;
enum __anonenum_998661166___40 {
    PTHREAD_SCOPE_SYSTEM___40 = 0,
    PTHREAD_SCOPE_PROCESS___40 = 1
} ;
enum __anonenum_146137331___40 {
    PTHREAD_PROCESS_PRIVATE___40 = 0,
    PTHREAD_PROCESS_SHARED___40 = 1
} ;
enum __anonenum_53396917___40 {
    PTHREAD_CANCEL_ENABLE___40 = 0,
    PTHREAD_CANCEL_DISABLE___40 = 1
} ;
enum __anonenum_904563783___40 {
    PTHREAD_CANCEL_DEFERRED___40 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___40 = 1
} ;
enum __anonenum_672052974___40 {
    SSL_CT_VALIDATION_PERMISSIVE___40 = 0,
    SSL_CT_VALIDATION_STRICT___40 = 1
} ;
enum __anonenum_437032235___41 {
    _PC_LINK_MAX___41 = 0,
    _PC_MAX_CANON___41 = 1,
    _PC_MAX_INPUT___41 = 2,
    _PC_NAME_MAX___41 = 3,
    _PC_PATH_MAX___41 = 4,
    _PC_PIPE_BUF___41 = 5,
    _PC_CHOWN_RESTRICTED___41 = 6,
    _PC_NO_TRUNC___41 = 7,
    _PC_VDISABLE___41 = 8,
    _PC_SYNC_IO___41 = 9,
    _PC_ASYNC_IO___41 = 10,
    _PC_PRIO_IO___41 = 11,
    _PC_SOCK_MAXBUF___41 = 12,
    _PC_FILESIZEBITS___41 = 13,
    _PC_REC_INCR_XFER_SIZE___41 = 14,
    _PC_REC_MAX_XFER_SIZE___41 = 15,
    _PC_REC_MIN_XFER_SIZE___41 = 16,
    _PC_REC_XFER_ALIGN___41 = 17,
    _PC_ALLOC_SIZE_MIN___41 = 18,
    _PC_SYMLINK_MAX___41 = 19,
    _PC_2_SYMLINKS___41 = 20
} ;
enum __anonenum_315186338___41 {
    _SC_ARG_MAX___41 = 0,
    _SC_CHILD_MAX___41 = 1,
    _SC_CLK_TCK___41 = 2,
    _SC_NGROUPS_MAX___41 = 3,
    _SC_OPEN_MAX___41 = 4,
    _SC_STREAM_MAX___41 = 5,
    _SC_TZNAME_MAX___41 = 6,
    _SC_JOB_CONTROL___41 = 7,
    _SC_SAVED_IDS___41 = 8,
    _SC_REALTIME_SIGNALS___41 = 9,
    _SC_PRIORITY_SCHEDULING___41 = 10,
    _SC_TIMERS___41 = 11,
    _SC_ASYNCHRONOUS_IO___41 = 12,
    _SC_PRIORITIZED_IO___41 = 13,
    _SC_SYNCHRONIZED_IO___41 = 14,
    _SC_FSYNC___41 = 15,
    _SC_MAPPED_FILES___41 = 16,
    _SC_MEMLOCK___41 = 17,
    _SC_MEMLOCK_RANGE___41 = 18,
    _SC_MEMORY_PROTECTION___41 = 19,
    _SC_MESSAGE_PASSING___41 = 20,
    _SC_SEMAPHORES___41 = 21,
    _SC_SHARED_MEMORY_OBJECTS___41 = 22,
    _SC_AIO_LISTIO_MAX___41 = 23,
    _SC_AIO_MAX___41 = 24,
    _SC_AIO_PRIO_DELTA_MAX___41 = 25,
    _SC_DELAYTIMER_MAX___41 = 26,
    _SC_MQ_OPEN_MAX___41 = 27,
    _SC_MQ_PRIO_MAX___41 = 28,
    _SC_VERSION___41 = 29,
    _SC_PAGESIZE___41 = 30,
    _SC_RTSIG_MAX___41 = 31,
    _SC_SEM_NSEMS_MAX___41 = 32,
    _SC_SEM_VALUE_MAX___41 = 33,
    _SC_SIGQUEUE_MAX___41 = 34,
    _SC_TIMER_MAX___41 = 35,
    _SC_BC_BASE_MAX___41 = 36,
    _SC_BC_DIM_MAX___41 = 37,
    _SC_BC_SCALE_MAX___41 = 38,
    _SC_BC_STRING_MAX___41 = 39,
    _SC_COLL_WEIGHTS_MAX___41 = 40,
    _SC_EQUIV_CLASS_MAX___41 = 41,
    _SC_EXPR_NEST_MAX___41 = 42,
    _SC_LINE_MAX___41 = 43,
    _SC_RE_DUP_MAX___41 = 44,
    _SC_CHARCLASS_NAME_MAX___41 = 45,
    _SC_2_VERSION___41 = 46,
    _SC_2_C_BIND___41 = 47,
    _SC_2_C_DEV___41 = 48,
    _SC_2_FORT_DEV___41 = 49,
    _SC_2_FORT_RUN___41 = 50,
    _SC_2_SW_DEV___41 = 51,
    _SC_2_LOCALEDEF___41 = 52,
    _SC_PII___41 = 53,
    _SC_PII_XTI___41 = 54,
    _SC_PII_SOCKET___41 = 55,
    _SC_PII_INTERNET___41 = 56,
    _SC_PII_OSI___41 = 57,
    _SC_POLL___41 = 58,
    _SC_SELECT___41 = 59,
    _SC_UIO_MAXIOV___41 = 60,
    _SC_IOV_MAX___41 = 60,
    _SC_PII_INTERNET_STREAM___41 = 61,
    _SC_PII_INTERNET_DGRAM___41 = 62,
    _SC_PII_OSI_COTS___41 = 63,
    _SC_PII_OSI_CLTS___41 = 64,
    _SC_PII_OSI_M___41 = 65,
    _SC_T_IOV_MAX___41 = 66,
    _SC_THREADS___41 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___41 = 68,
    _SC_GETGR_R_SIZE_MAX___41 = 69,
    _SC_GETPW_R_SIZE_MAX___41 = 70,
    _SC_LOGIN_NAME_MAX___41 = 71,
    _SC_TTY_NAME_MAX___41 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___41 = 73,
    _SC_THREAD_KEYS_MAX___41 = 74,
    _SC_THREAD_STACK_MIN___41 = 75,
    _SC_THREAD_THREADS_MAX___41 = 76,
    _SC_THREAD_ATTR_STACKADDR___41 = 77,
    _SC_THREAD_ATTR_STACKSIZE___41 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___41 = 79,
    _SC_THREAD_PRIO_INHERIT___41 = 80,
    _SC_THREAD_PRIO_PROTECT___41 = 81,
    _SC_THREAD_PROCESS_SHARED___41 = 82,
    _SC_NPROCESSORS_CONF___41 = 83,
    _SC_NPROCESSORS_ONLN___41 = 84,
    _SC_PHYS_PAGES___41 = 85,
    _SC_AVPHYS_PAGES___41 = 86,
    _SC_ATEXIT_MAX___41 = 87,
    _SC_PASS_MAX___41 = 88,
    _SC_XOPEN_VERSION___41 = 89,
    _SC_XOPEN_XCU_VERSION___41 = 90,
    _SC_XOPEN_UNIX___41 = 91,
    _SC_XOPEN_CRYPT___41 = 92,
    _SC_XOPEN_ENH_I18N___41 = 93,
    _SC_XOPEN_SHM___41 = 94,
    _SC_2_CHAR_TERM___41 = 95,
    _SC_2_C_VERSION___41 = 96,
    _SC_2_UPE___41 = 97,
    _SC_XOPEN_XPG2___41 = 98,
    _SC_XOPEN_XPG3___41 = 99,
    _SC_XOPEN_XPG4___41 = 100,
    _SC_CHAR_BIT___41 = 101,
    _SC_CHAR_MAX___41 = 102,
    _SC_CHAR_MIN___41 = 103,
    _SC_INT_MAX___41 = 104,
    _SC_INT_MIN___41 = 105,
    _SC_LONG_BIT___41 = 106,
    _SC_WORD_BIT___41 = 107,
    _SC_MB_LEN_MAX___41 = 108,
    _SC_NZERO___41 = 109,
    _SC_SSIZE_MAX___41 = 110,
    _SC_SCHAR_MAX___41 = 111,
    _SC_SCHAR_MIN___41 = 112,
    _SC_SHRT_MAX___41 = 113,
    _SC_SHRT_MIN___41 = 114,
    _SC_UCHAR_MAX___41 = 115,
    _SC_UINT_MAX___41 = 116,
    _SC_ULONG_MAX___41 = 117,
    _SC_USHRT_MAX___41 = 118,
    _SC_NL_ARGMAX___41 = 119,
    _SC_NL_LANGMAX___41 = 120,
    _SC_NL_MSGMAX___41 = 121,
    _SC_NL_NMAX___41 = 122,
    _SC_NL_SETMAX___41 = 123,
    _SC_NL_TEXTMAX___41 = 124,
    _SC_XBS5_ILP32_OFF32___41 = 125,
    _SC_XBS5_ILP32_OFFBIG___41 = 126,
    _SC_XBS5_LP64_OFF64___41 = 127,
    _SC_XBS5_LPBIG_OFFBIG___41 = 128,
    _SC_XOPEN_LEGACY___41 = 129,
    _SC_XOPEN_REALTIME___41 = 130,
    _SC_XOPEN_REALTIME_THREADS___41 = 131,
    _SC_ADVISORY_INFO___41 = 132,
    _SC_BARRIERS___41 = 133,
    _SC_BASE___41 = 134,
    _SC_C_LANG_SUPPORT___41 = 135,
    _SC_C_LANG_SUPPORT_R___41 = 136,
    _SC_CLOCK_SELECTION___41 = 137,
    _SC_CPUTIME___41 = 138,
    _SC_THREAD_CPUTIME___41 = 139,
    _SC_DEVICE_IO___41 = 140,
    _SC_DEVICE_SPECIFIC___41 = 141,
    _SC_DEVICE_SPECIFIC_R___41 = 142,
    _SC_FD_MGMT___41 = 143,
    _SC_FIFO___41 = 144,
    _SC_PIPE___41 = 145,
    _SC_FILE_ATTRIBUTES___41 = 146,
    _SC_FILE_LOCKING___41 = 147,
    _SC_FILE_SYSTEM___41 = 148,
    _SC_MONOTONIC_CLOCK___41 = 149,
    _SC_MULTI_PROCESS___41 = 150,
    _SC_SINGLE_PROCESS___41 = 151,
    _SC_NETWORKING___41 = 152,
    _SC_READER_WRITER_LOCKS___41 = 153,
    _SC_SPIN_LOCKS___41 = 154,
    _SC_REGEXP___41 = 155,
    _SC_REGEX_VERSION___41 = 156,
    _SC_SHELL___41 = 157,
    _SC_SIGNALS___41 = 158,
    _SC_SPAWN___41 = 159,
    _SC_SPORADIC_SERVER___41 = 160,
    _SC_THREAD_SPORADIC_SERVER___41 = 161,
    _SC_SYSTEM_DATABASE___41 = 162,
    _SC_SYSTEM_DATABASE_R___41 = 163,
    _SC_TIMEOUTS___41 = 164,
    _SC_TYPED_MEMORY_OBJECTS___41 = 165,
    _SC_USER_GROUPS___41 = 166,
    _SC_USER_GROUPS_R___41 = 167,
    _SC_2_PBS___41 = 168,
    _SC_2_PBS_ACCOUNTING___41 = 169,
    _SC_2_PBS_LOCATE___41 = 170,
    _SC_2_PBS_MESSAGE___41 = 171,
    _SC_2_PBS_TRACK___41 = 172,
    _SC_SYMLOOP_MAX___41 = 173,
    _SC_STREAMS___41 = 174,
    _SC_2_PBS_CHECKPOINT___41 = 175,
    _SC_V6_ILP32_OFF32___41 = 176,
    _SC_V6_ILP32_OFFBIG___41 = 177,
    _SC_V6_LP64_OFF64___41 = 178,
    _SC_V6_LPBIG_OFFBIG___41 = 179,
    _SC_HOST_NAME_MAX___41 = 180,
    _SC_TRACE___41 = 181,
    _SC_TRACE_EVENT_FILTER___41 = 182,
    _SC_TRACE_INHERIT___41 = 183,
    _SC_TRACE_LOG___41 = 184,
    _SC_LEVEL1_ICACHE_SIZE___41 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___41 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___41 = 187,
    _SC_LEVEL1_DCACHE_SIZE___41 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___41 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___41 = 190,
    _SC_LEVEL2_CACHE_SIZE___41 = 191,
    _SC_LEVEL2_CACHE_ASSOC___41 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___41 = 193,
    _SC_LEVEL3_CACHE_SIZE___41 = 194,
    _SC_LEVEL3_CACHE_ASSOC___41 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___41 = 196,
    _SC_LEVEL4_CACHE_SIZE___41 = 197,
    _SC_LEVEL4_CACHE_ASSOC___41 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___41 = 199,
    _SC_IPV6___41 = 235,
    _SC_RAW_SOCKETS___41 = 236,
    _SC_V7_ILP32_OFF32___41 = 237,
    _SC_V7_ILP32_OFFBIG___41 = 238,
    _SC_V7_LP64_OFF64___41 = 239,
    _SC_V7_LPBIG_OFFBIG___41 = 240,
    _SC_SS_REPL_MAX___41 = 241,
    _SC_TRACE_EVENT_NAME_MAX___41 = 242,
    _SC_TRACE_NAME_MAX___41 = 243,
    _SC_TRACE_SYS_MAX___41 = 244,
    _SC_TRACE_USER_EVENT_MAX___41 = 245,
    _SC_XOPEN_STREAMS___41 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___41 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___41 = 248
} ;
enum __anonenum_875524036___41 {
    _CS_PATH___41 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___41 = 1,
    _CS_GNU_LIBC_VERSION___41 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___41 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___41 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___41 = 5,
    _CS_LFS_CFLAGS___41 = 1000,
    _CS_LFS_LDFLAGS___41 = 1001,
    _CS_LFS_LIBS___41 = 1002,
    _CS_LFS_LINTFLAGS___41 = 1003,
    _CS_LFS64_CFLAGS___41 = 1004,
    _CS_LFS64_LDFLAGS___41 = 1005,
    _CS_LFS64_LIBS___41 = 1006,
    _CS_LFS64_LINTFLAGS___41 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___41 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___41 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___41 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___41 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___41 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___41 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___41 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___41 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___41 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___41 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___41 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___41 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___41 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___41 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___41 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___41 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___41 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___41 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___41 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___41 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___41 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___41 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___41 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___41 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___41 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___41 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___41 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___41 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___41 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___41 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___41 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___41 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___41 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___41 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___41 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___41 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___41 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___41 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___41 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___41 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___41 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___41 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___41 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___41 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___41 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___41 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___41 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___41 = 1147,
    _CS_V6_ENV___41 = 1148,
    _CS_V7_ENV___41 = 1149
} ;
enum __anonenum_513775621___41 {
    DT_UNKNOWN___41 = 0,
    DT_FIFO___41 = 1,
    DT_CHR___41 = 2,
    DT_DIR___41 = 4,
    DT_BLK___41 = 6,
    DT_REG___41 = 8,
    DT_LNK___41 = 10,
    DT_SOCK___41 = 12,
    DT_WHT___41 = 14
} ;
enum __anonenum_77002343___41 {
    SI_ASYNCNL___41 = -60,
    SI_TKILL___41 = -6,
    SI_SIGIO___41 = -5,
    SI_ASYNCIO___41 = -4,
    SI_MESGQ___41 = -3,
    SI_TIMER___41 = -2,
    SI_QUEUE___41 = -1,
    SI_USER___41 = 0,
    SI_KERNEL___41 = 128
} ;
enum __anonenum_131038172___41 {
    ILL_ILLOPC___41 = 1,
    ILL_ILLOPN___41 = 2,
    ILL_ILLADR___41 = 3,
    ILL_ILLTRP___41 = 4,
    ILL_PRVOPC___41 = 5,
    ILL_PRVREG___41 = 6,
    ILL_COPROC___41 = 7,
    ILL_BADSTK___41 = 8
} ;
enum __anonenum_452038093___41 {
    FPE_INTDIV___41 = 1,
    FPE_INTOVF___41 = 2,
    FPE_FLTDIV___41 = 3,
    FPE_FLTOVF___41 = 4,
    FPE_FLTUND___41 = 5,
    FPE_FLTRES___41 = 6,
    FPE_FLTINV___41 = 7,
    FPE_FLTSUB___41 = 8
} ;
enum __anonenum_30976155___41 {
    SEGV_MAPERR___41 = 1,
    SEGV_ACCERR___41 = 2,
    SEGV_BNDERR___41 = 3,
    SEGV_PKUERR___41 = 4
} ;
enum __anonenum_1036286214___41 {
    BUS_ADRALN___41 = 1,
    BUS_ADRERR___41 = 2,
    BUS_OBJERR___41 = 3,
    BUS_MCEERR_AR___41 = 4,
    BUS_MCEERR_AO___41 = 5
} ;
enum __anonenum_493465559___41 {
    TRAP_BRKPT___41 = 1,
    TRAP_TRACE___41 = 2
} ;
enum __anonenum_23175539___41 {
    CLD_EXITED___41 = 1,
    CLD_KILLED___41 = 2,
    CLD_DUMPED___41 = 3,
    CLD_TRAPPED___41 = 4,
    CLD_STOPPED___41 = 5,
    CLD_CONTINUED___41 = 6
} ;
enum __anonenum_111643124___41 {
    POLL_IN___41 = 1,
    POLL_OUT___41 = 2,
    POLL_MSG___41 = 3,
    POLL_ERR___41 = 4,
    POLL_PRI___41 = 5,
    POLL_HUP___41 = 6
} ;
enum __anonenum_852341087___41 {
    SIGEV_SIGNAL___41 = 0,
    SIGEV_NONE___41 = 1,
    SIGEV_THREAD___41 = 2,
    SIGEV_THREAD_ID___41 = 4
} ;
enum __anonenum_451154152___41 {
    REG_R8___41 = 0,
    REG_R9___41 = 1,
    REG_R10___41 = 2,
    REG_R11___41 = 3,
    REG_R12___41 = 4,
    REG_R13___41 = 5,
    REG_R14___41 = 6,
    REG_R15___41 = 7,
    REG_RDI___41 = 8,
    REG_RSI___41 = 9,
    REG_RBP___41 = 10,
    REG_RBX___41 = 11,
    REG_RDX___41 = 12,
    REG_RAX___41 = 13,
    REG_RCX___41 = 14,
    REG_RSP___41 = 15,
    REG_RIP___41 = 16,
    REG_EFL___41 = 17,
    REG_CSGSFS___41 = 18,
    REG_ERR___41 = 19,
    REG_TRAPNO___41 = 20,
    REG_OLDMASK___41 = 21,
    REG_CR2___41 = 22
} ;
enum __anonenum_57186863___41 {
    SS_ONSTACK___41 = 1,
    SS_DISABLE___41 = 2
} ;
enum __anonenum_83571709___41 {
    MSG_OOB___41 = 1,
    MSG_PEEK___41 = 2,
    MSG_DONTROUTE___41 = 4,
    MSG_TRYHARD___41 = 4,
    MSG_CTRUNC___41 = 8,
    MSG_PROXY___41 = 16,
    MSG_TRUNC___41 = 32,
    MSG_DONTWAIT___41 = 64,
    MSG_EOR___41 = 128,
    MSG_WAITALL___41 = 256,
    MSG_FIN___41 = 512,
    MSG_SYN___41 = 1024,
    MSG_CONFIRM___41 = 2048,
    MSG_RST___41 = 4096,
    MSG_ERRQUEUE___41 = 8192,
    MSG_NOSIGNAL___41 = 16384,
    MSG_MORE___41 = 32768,
    MSG_WAITFORONE___41 = 65536,
    MSG_BATCH___41 = 262144,
    MSG_ZEROCOPY___41 = 67108864,
    MSG_FASTOPEN___41 = 536870912,
    MSG_CMSG_CLOEXEC___41 = 1073741824
} ;
enum __anonenum_617082774___41 {
    SCM_RIGHTS___41 = 1,
    SCM_CREDENTIALS___41 = 2
} ;
enum __anonenum_606441560___41 {
    SHUT_RD___41 = 0,
    SHUT_WR___41 = 1,
    SHUT_RDWR___41 = 2
} ;
enum __anonenum_681669233___41 {
    IPPROTO_IP___41 = 0,
    IPPROTO_ICMP___41 = 1,
    IPPROTO_IGMP___41 = 2,
    IPPROTO_IPIP___41 = 4,
    IPPROTO_TCP___41 = 6,
    IPPROTO_EGP___41 = 8,
    IPPROTO_PUP___41 = 12,
    IPPROTO_UDP___41 = 17,
    IPPROTO_IDP___41 = 22,
    IPPROTO_TP___41 = 29,
    IPPROTO_DCCP___41 = 33,
    IPPROTO_IPV6___41 = 41,
    IPPROTO_RSVP___41 = 46,
    IPPROTO_GRE___41 = 47,
    IPPROTO_ESP___41 = 50,
    IPPROTO_AH___41 = 51,
    IPPROTO_MTP___41 = 92,
    IPPROTO_BEETPH___41 = 94,
    IPPROTO_ENCAP___41 = 98,
    IPPROTO_PIM___41 = 103,
    IPPROTO_COMP___41 = 108,
    IPPROTO_SCTP___41 = 132,
    IPPROTO_UDPLITE___41 = 136,
    IPPROTO_MPLS___41 = 137,
    IPPROTO_RAW___41 = 255,
    IPPROTO_MAX___41 = 256
} ;
enum __anonenum_218739988___41 {
    IPPROTO_HOPOPTS___41 = 0,
    IPPROTO_ROUTING___41 = 43,
    IPPROTO_FRAGMENT___41 = 44,
    IPPROTO_ICMPV6___41 = 58,
    IPPROTO_NONE___41 = 59,
    IPPROTO_DSTOPTS___41 = 60,
    IPPROTO_MH___41 = 135
} ;
enum __anonenum_662268580___41 {
    IPPORT_ECHO___41 = 7,
    IPPORT_DISCARD___41 = 9,
    IPPORT_SYSTAT___41 = 11,
    IPPORT_DAYTIME___41 = 13,
    IPPORT_NETSTAT___41 = 15,
    IPPORT_FTP___41 = 21,
    IPPORT_TELNET___41 = 23,
    IPPORT_SMTP___41 = 25,
    IPPORT_TIMESERVER___41 = 37,
    IPPORT_NAMESERVER___41 = 42,
    IPPORT_WHOIS___41 = 43,
    IPPORT_MTP___41 = 57,
    IPPORT_TFTP___41 = 69,
    IPPORT_RJE___41 = 77,
    IPPORT_FINGER___41 = 79,
    IPPORT_TTYLINK___41 = 87,
    IPPORT_SUPDUP___41 = 95,
    IPPORT_EXECSERVER___41 = 512,
    IPPORT_LOGINSERVER___41 = 513,
    IPPORT_CMDSERVER___41 = 514,
    IPPORT_EFSSERVER___41 = 520,
    IPPORT_BIFFUDP___41 = 512,
    IPPORT_WHOSERVER___41 = 513,
    IPPORT_ROUTESERVER___41 = 520,
    IPPORT_RESERVED___41 = 1024,
    IPPORT_USERRESERVED___41 = 5000
} ;
enum __anonenum_788308992___41 {
    TCP_ESTABLISHED___41 = 1,
    TCP_SYN_SENT___41 = 2,
    TCP_SYN_RECV___41 = 3,
    TCP_FIN_WAIT1___41 = 4,
    TCP_FIN_WAIT2___41 = 5,
    TCP_TIME_WAIT___41 = 6,
    TCP_CLOSE___41 = 7,
    TCP_CLOSE_WAIT___41 = 8,
    TCP_LAST_ACK___41 = 9,
    TCP_LISTEN___41 = 10,
    TCP_CLOSING___41 = 11
} ;
enum __anonenum_221125648___41 {
    TCP_NO_QUEUE___41 = 0,
    TCP_RECV_QUEUE___41 = 1,
    TCP_SEND_QUEUE___41 = 2,
    TCP_QUEUES_NR___41 = 3
} ;
enum __anonenum_34415463___41 {
    PTHREAD_CREATE_JOINABLE___41 = 0,
    PTHREAD_CREATE_DETACHED___41 = 1
} ;
enum __anonenum_303612439___41 {
    PTHREAD_MUTEX_TIMED_NP___41 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___41 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___41 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___41 = 3,
    PTHREAD_MUTEX_NORMAL___41 = 0,
    PTHREAD_MUTEX_RECURSIVE___41 = 1,
    PTHREAD_MUTEX_ERRORCHECK___41 = 2,
    PTHREAD_MUTEX_DEFAULT___41 = 0,
    PTHREAD_MUTEX_FAST_NP___41 = 0
} ;
enum __anonenum_931900394___41 {
    PTHREAD_MUTEX_STALLED___41 = 0,
    PTHREAD_MUTEX_STALLED_NP___41 = 0,
    PTHREAD_MUTEX_ROBUST___41 = 1,
    PTHREAD_MUTEX_ROBUST_NP___41 = 1
} ;
enum __anonenum_205214487___41 {
    PTHREAD_PRIO_NONE___41 = 0,
    PTHREAD_PRIO_INHERIT___41 = 1,
    PTHREAD_PRIO_PROTECT___41 = 2
} ;
enum __anonenum_25043950___41 {
    PTHREAD_RWLOCK_PREFER_READER_NP___41 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___41 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___41 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___41 = 0
} ;
enum __anonenum_436439511___41 {
    PTHREAD_INHERIT_SCHED___41 = 0,
    PTHREAD_EXPLICIT_SCHED___41 = 1
} ;
enum __anonenum_998661166___41 {
    PTHREAD_SCOPE_SYSTEM___41 = 0,
    PTHREAD_SCOPE_PROCESS___41 = 1
} ;
enum __anonenum_146137331___41 {
    PTHREAD_PROCESS_PRIVATE___41 = 0,
    PTHREAD_PROCESS_SHARED___41 = 1
} ;
enum __anonenum_53396917___41 {
    PTHREAD_CANCEL_ENABLE___41 = 0,
    PTHREAD_CANCEL_DISABLE___41 = 1
} ;
enum __anonenum_904563783___41 {
    PTHREAD_CANCEL_DEFERRED___41 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___41 = 1
} ;
enum __anonenum_672052974___41 {
    SSL_CT_VALIDATION_PERMISSIVE___41 = 0,
    SSL_CT_VALIDATION_STRICT___41 = 1
} ;
struct credential {
   struct string_list helpers ;
   unsigned int approved : 1 ;
   unsigned int configured : 1 ;
   unsigned int quit : 1 ;
   unsigned int use_http_path : 1 ;
   unsigned int username_from_proto : 1 ;
   char *username ;
   char *password ;
   char *protocol ;
   char *host ;
   char *path ;
};
struct url_info {
   char *url ;
   char const   *err ;
   size_t url_len ;
   size_t scheme_len ;
   size_t user_off ;
   size_t user_len ;
   size_t passwd_off ;
   size_t passwd_len ;
   size_t host_off ;
   size_t host_len ;
   size_t port_off ;
   size_t port_len ;
   size_t path_off ;
   size_t path_len ;
};
struct urlmatch_item {
   size_t hostmatch_len ;
   size_t pathmatch_len ;
   char user_matched ;
};
struct urlmatch_config {
   struct string_list vars ;
   struct url_info url ;
   char const   *section ;
   char const   *key ;
   void *cb ;
   int (*collect_fn)(char const   *var , char const   *value , void *cb ) ;
   int (*cascade_fn)(char const   *var , char const   *value , void *cb ) ;
   int (*select_fn)(struct urlmatch_item  const  *found , struct urlmatch_item  const  *existing ) ;
   int (*fallback_match_fn)(char const   *url , void *cb ) ;
};
enum __anonenum_437032235___42 {
    _PC_LINK_MAX___42 = 0,
    _PC_MAX_CANON___42 = 1,
    _PC_MAX_INPUT___42 = 2,
    _PC_NAME_MAX___42 = 3,
    _PC_PATH_MAX___42 = 4,
    _PC_PIPE_BUF___42 = 5,
    _PC_CHOWN_RESTRICTED___42 = 6,
    _PC_NO_TRUNC___42 = 7,
    _PC_VDISABLE___42 = 8,
    _PC_SYNC_IO___42 = 9,
    _PC_ASYNC_IO___42 = 10,
    _PC_PRIO_IO___42 = 11,
    _PC_SOCK_MAXBUF___42 = 12,
    _PC_FILESIZEBITS___42 = 13,
    _PC_REC_INCR_XFER_SIZE___42 = 14,
    _PC_REC_MAX_XFER_SIZE___42 = 15,
    _PC_REC_MIN_XFER_SIZE___42 = 16,
    _PC_REC_XFER_ALIGN___42 = 17,
    _PC_ALLOC_SIZE_MIN___42 = 18,
    _PC_SYMLINK_MAX___42 = 19,
    _PC_2_SYMLINKS___42 = 20
} ;
enum __anonenum_315186338___42 {
    _SC_ARG_MAX___42 = 0,
    _SC_CHILD_MAX___42 = 1,
    _SC_CLK_TCK___42 = 2,
    _SC_NGROUPS_MAX___42 = 3,
    _SC_OPEN_MAX___42 = 4,
    _SC_STREAM_MAX___42 = 5,
    _SC_TZNAME_MAX___42 = 6,
    _SC_JOB_CONTROL___42 = 7,
    _SC_SAVED_IDS___42 = 8,
    _SC_REALTIME_SIGNALS___42 = 9,
    _SC_PRIORITY_SCHEDULING___42 = 10,
    _SC_TIMERS___42 = 11,
    _SC_ASYNCHRONOUS_IO___42 = 12,
    _SC_PRIORITIZED_IO___42 = 13,
    _SC_SYNCHRONIZED_IO___42 = 14,
    _SC_FSYNC___42 = 15,
    _SC_MAPPED_FILES___42 = 16,
    _SC_MEMLOCK___42 = 17,
    _SC_MEMLOCK_RANGE___42 = 18,
    _SC_MEMORY_PROTECTION___42 = 19,
    _SC_MESSAGE_PASSING___42 = 20,
    _SC_SEMAPHORES___42 = 21,
    _SC_SHARED_MEMORY_OBJECTS___42 = 22,
    _SC_AIO_LISTIO_MAX___42 = 23,
    _SC_AIO_MAX___42 = 24,
    _SC_AIO_PRIO_DELTA_MAX___42 = 25,
    _SC_DELAYTIMER_MAX___42 = 26,
    _SC_MQ_OPEN_MAX___42 = 27,
    _SC_MQ_PRIO_MAX___42 = 28,
    _SC_VERSION___42 = 29,
    _SC_PAGESIZE___42 = 30,
    _SC_RTSIG_MAX___42 = 31,
    _SC_SEM_NSEMS_MAX___42 = 32,
    _SC_SEM_VALUE_MAX___42 = 33,
    _SC_SIGQUEUE_MAX___42 = 34,
    _SC_TIMER_MAX___42 = 35,
    _SC_BC_BASE_MAX___42 = 36,
    _SC_BC_DIM_MAX___42 = 37,
    _SC_BC_SCALE_MAX___42 = 38,
    _SC_BC_STRING_MAX___42 = 39,
    _SC_COLL_WEIGHTS_MAX___42 = 40,
    _SC_EQUIV_CLASS_MAX___42 = 41,
    _SC_EXPR_NEST_MAX___42 = 42,
    _SC_LINE_MAX___42 = 43,
    _SC_RE_DUP_MAX___42 = 44,
    _SC_CHARCLASS_NAME_MAX___42 = 45,
    _SC_2_VERSION___42 = 46,
    _SC_2_C_BIND___42 = 47,
    _SC_2_C_DEV___42 = 48,
    _SC_2_FORT_DEV___42 = 49,
    _SC_2_FORT_RUN___42 = 50,
    _SC_2_SW_DEV___42 = 51,
    _SC_2_LOCALEDEF___42 = 52,
    _SC_PII___42 = 53,
    _SC_PII_XTI___42 = 54,
    _SC_PII_SOCKET___42 = 55,
    _SC_PII_INTERNET___42 = 56,
    _SC_PII_OSI___42 = 57,
    _SC_POLL___42 = 58,
    _SC_SELECT___42 = 59,
    _SC_UIO_MAXIOV___42 = 60,
    _SC_IOV_MAX___42 = 60,
    _SC_PII_INTERNET_STREAM___42 = 61,
    _SC_PII_INTERNET_DGRAM___42 = 62,
    _SC_PII_OSI_COTS___42 = 63,
    _SC_PII_OSI_CLTS___42 = 64,
    _SC_PII_OSI_M___42 = 65,
    _SC_T_IOV_MAX___42 = 66,
    _SC_THREADS___42 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___42 = 68,
    _SC_GETGR_R_SIZE_MAX___42 = 69,
    _SC_GETPW_R_SIZE_MAX___42 = 70,
    _SC_LOGIN_NAME_MAX___42 = 71,
    _SC_TTY_NAME_MAX___42 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___42 = 73,
    _SC_THREAD_KEYS_MAX___42 = 74,
    _SC_THREAD_STACK_MIN___42 = 75,
    _SC_THREAD_THREADS_MAX___42 = 76,
    _SC_THREAD_ATTR_STACKADDR___42 = 77,
    _SC_THREAD_ATTR_STACKSIZE___42 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___42 = 79,
    _SC_THREAD_PRIO_INHERIT___42 = 80,
    _SC_THREAD_PRIO_PROTECT___42 = 81,
    _SC_THREAD_PROCESS_SHARED___42 = 82,
    _SC_NPROCESSORS_CONF___42 = 83,
    _SC_NPROCESSORS_ONLN___42 = 84,
    _SC_PHYS_PAGES___42 = 85,
    _SC_AVPHYS_PAGES___42 = 86,
    _SC_ATEXIT_MAX___42 = 87,
    _SC_PASS_MAX___42 = 88,
    _SC_XOPEN_VERSION___42 = 89,
    _SC_XOPEN_XCU_VERSION___42 = 90,
    _SC_XOPEN_UNIX___42 = 91,
    _SC_XOPEN_CRYPT___42 = 92,
    _SC_XOPEN_ENH_I18N___42 = 93,
    _SC_XOPEN_SHM___42 = 94,
    _SC_2_CHAR_TERM___42 = 95,
    _SC_2_C_VERSION___42 = 96,
    _SC_2_UPE___42 = 97,
    _SC_XOPEN_XPG2___42 = 98,
    _SC_XOPEN_XPG3___42 = 99,
    _SC_XOPEN_XPG4___42 = 100,
    _SC_CHAR_BIT___42 = 101,
    _SC_CHAR_MAX___42 = 102,
    _SC_CHAR_MIN___42 = 103,
    _SC_INT_MAX___42 = 104,
    _SC_INT_MIN___42 = 105,
    _SC_LONG_BIT___42 = 106,
    _SC_WORD_BIT___42 = 107,
    _SC_MB_LEN_MAX___42 = 108,
    _SC_NZERO___42 = 109,
    _SC_SSIZE_MAX___42 = 110,
    _SC_SCHAR_MAX___42 = 111,
    _SC_SCHAR_MIN___42 = 112,
    _SC_SHRT_MAX___42 = 113,
    _SC_SHRT_MIN___42 = 114,
    _SC_UCHAR_MAX___42 = 115,
    _SC_UINT_MAX___42 = 116,
    _SC_ULONG_MAX___42 = 117,
    _SC_USHRT_MAX___42 = 118,
    _SC_NL_ARGMAX___42 = 119,
    _SC_NL_LANGMAX___42 = 120,
    _SC_NL_MSGMAX___42 = 121,
    _SC_NL_NMAX___42 = 122,
    _SC_NL_SETMAX___42 = 123,
    _SC_NL_TEXTMAX___42 = 124,
    _SC_XBS5_ILP32_OFF32___42 = 125,
    _SC_XBS5_ILP32_OFFBIG___42 = 126,
    _SC_XBS5_LP64_OFF64___42 = 127,
    _SC_XBS5_LPBIG_OFFBIG___42 = 128,
    _SC_XOPEN_LEGACY___42 = 129,
    _SC_XOPEN_REALTIME___42 = 130,
    _SC_XOPEN_REALTIME_THREADS___42 = 131,
    _SC_ADVISORY_INFO___42 = 132,
    _SC_BARRIERS___42 = 133,
    _SC_BASE___42 = 134,
    _SC_C_LANG_SUPPORT___42 = 135,
    _SC_C_LANG_SUPPORT_R___42 = 136,
    _SC_CLOCK_SELECTION___42 = 137,
    _SC_CPUTIME___42 = 138,
    _SC_THREAD_CPUTIME___42 = 139,
    _SC_DEVICE_IO___42 = 140,
    _SC_DEVICE_SPECIFIC___42 = 141,
    _SC_DEVICE_SPECIFIC_R___42 = 142,
    _SC_FD_MGMT___42 = 143,
    _SC_FIFO___42 = 144,
    _SC_PIPE___42 = 145,
    _SC_FILE_ATTRIBUTES___42 = 146,
    _SC_FILE_LOCKING___42 = 147,
    _SC_FILE_SYSTEM___42 = 148,
    _SC_MONOTONIC_CLOCK___42 = 149,
    _SC_MULTI_PROCESS___42 = 150,
    _SC_SINGLE_PROCESS___42 = 151,
    _SC_NETWORKING___42 = 152,
    _SC_READER_WRITER_LOCKS___42 = 153,
    _SC_SPIN_LOCKS___42 = 154,
    _SC_REGEXP___42 = 155,
    _SC_REGEX_VERSION___42 = 156,
    _SC_SHELL___42 = 157,
    _SC_SIGNALS___42 = 158,
    _SC_SPAWN___42 = 159,
    _SC_SPORADIC_SERVER___42 = 160,
    _SC_THREAD_SPORADIC_SERVER___42 = 161,
    _SC_SYSTEM_DATABASE___42 = 162,
    _SC_SYSTEM_DATABASE_R___42 = 163,
    _SC_TIMEOUTS___42 = 164,
    _SC_TYPED_MEMORY_OBJECTS___42 = 165,
    _SC_USER_GROUPS___42 = 166,
    _SC_USER_GROUPS_R___42 = 167,
    _SC_2_PBS___42 = 168,
    _SC_2_PBS_ACCOUNTING___42 = 169,
    _SC_2_PBS_LOCATE___42 = 170,
    _SC_2_PBS_MESSAGE___42 = 171,
    _SC_2_PBS_TRACK___42 = 172,
    _SC_SYMLOOP_MAX___42 = 173,
    _SC_STREAMS___42 = 174,
    _SC_2_PBS_CHECKPOINT___42 = 175,
    _SC_V6_ILP32_OFF32___42 = 176,
    _SC_V6_ILP32_OFFBIG___42 = 177,
    _SC_V6_LP64_OFF64___42 = 178,
    _SC_V6_LPBIG_OFFBIG___42 = 179,
    _SC_HOST_NAME_MAX___42 = 180,
    _SC_TRACE___42 = 181,
    _SC_TRACE_EVENT_FILTER___42 = 182,
    _SC_TRACE_INHERIT___42 = 183,
    _SC_TRACE_LOG___42 = 184,
    _SC_LEVEL1_ICACHE_SIZE___42 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___42 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___42 = 187,
    _SC_LEVEL1_DCACHE_SIZE___42 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___42 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___42 = 190,
    _SC_LEVEL2_CACHE_SIZE___42 = 191,
    _SC_LEVEL2_CACHE_ASSOC___42 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___42 = 193,
    _SC_LEVEL3_CACHE_SIZE___42 = 194,
    _SC_LEVEL3_CACHE_ASSOC___42 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___42 = 196,
    _SC_LEVEL4_CACHE_SIZE___42 = 197,
    _SC_LEVEL4_CACHE_ASSOC___42 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___42 = 199,
    _SC_IPV6___42 = 235,
    _SC_RAW_SOCKETS___42 = 236,
    _SC_V7_ILP32_OFF32___42 = 237,
    _SC_V7_ILP32_OFFBIG___42 = 238,
    _SC_V7_LP64_OFF64___42 = 239,
    _SC_V7_LPBIG_OFFBIG___42 = 240,
    _SC_SS_REPL_MAX___42 = 241,
    _SC_TRACE_EVENT_NAME_MAX___42 = 242,
    _SC_TRACE_NAME_MAX___42 = 243,
    _SC_TRACE_SYS_MAX___42 = 244,
    _SC_TRACE_USER_EVENT_MAX___42 = 245,
    _SC_XOPEN_STREAMS___42 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___42 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___42 = 248
} ;
enum __anonenum_875524036___42 {
    _CS_PATH___42 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___42 = 1,
    _CS_GNU_LIBC_VERSION___42 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___42 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___42 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___42 = 5,
    _CS_LFS_CFLAGS___42 = 1000,
    _CS_LFS_LDFLAGS___42 = 1001,
    _CS_LFS_LIBS___42 = 1002,
    _CS_LFS_LINTFLAGS___42 = 1003,
    _CS_LFS64_CFLAGS___42 = 1004,
    _CS_LFS64_LDFLAGS___42 = 1005,
    _CS_LFS64_LIBS___42 = 1006,
    _CS_LFS64_LINTFLAGS___42 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___42 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___42 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___42 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___42 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___42 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___42 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___42 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___42 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___42 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___42 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___42 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___42 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___42 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___42 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___42 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___42 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___42 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___42 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___42 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___42 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___42 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___42 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___42 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___42 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___42 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___42 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___42 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___42 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___42 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___42 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___42 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___42 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___42 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___42 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___42 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___42 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___42 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___42 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___42 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___42 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___42 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___42 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___42 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___42 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___42 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___42 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___42 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___42 = 1147,
    _CS_V6_ENV___42 = 1148,
    _CS_V7_ENV___42 = 1149
} ;
enum __anonenum_513775621___42 {
    DT_UNKNOWN___42 = 0,
    DT_FIFO___42 = 1,
    DT_CHR___42 = 2,
    DT_DIR___42 = 4,
    DT_BLK___42 = 6,
    DT_REG___42 = 8,
    DT_LNK___42 = 10,
    DT_SOCK___42 = 12,
    DT_WHT___42 = 14
} ;
enum __anonenum_77002343___42 {
    SI_ASYNCNL___42 = -60,
    SI_TKILL___42 = -6,
    SI_SIGIO___42 = -5,
    SI_ASYNCIO___42 = -4,
    SI_MESGQ___42 = -3,
    SI_TIMER___42 = -2,
    SI_QUEUE___42 = -1,
    SI_USER___42 = 0,
    SI_KERNEL___42 = 128
} ;
enum __anonenum_131038172___42 {
    ILL_ILLOPC___42 = 1,
    ILL_ILLOPN___42 = 2,
    ILL_ILLADR___42 = 3,
    ILL_ILLTRP___42 = 4,
    ILL_PRVOPC___42 = 5,
    ILL_PRVREG___42 = 6,
    ILL_COPROC___42 = 7,
    ILL_BADSTK___42 = 8
} ;
enum __anonenum_452038093___42 {
    FPE_INTDIV___42 = 1,
    FPE_INTOVF___42 = 2,
    FPE_FLTDIV___42 = 3,
    FPE_FLTOVF___42 = 4,
    FPE_FLTUND___42 = 5,
    FPE_FLTRES___42 = 6,
    FPE_FLTINV___42 = 7,
    FPE_FLTSUB___42 = 8
} ;
enum __anonenum_30976155___42 {
    SEGV_MAPERR___42 = 1,
    SEGV_ACCERR___42 = 2,
    SEGV_BNDERR___42 = 3,
    SEGV_PKUERR___42 = 4
} ;
enum __anonenum_1036286214___42 {
    BUS_ADRALN___42 = 1,
    BUS_ADRERR___42 = 2,
    BUS_OBJERR___42 = 3,
    BUS_MCEERR_AR___42 = 4,
    BUS_MCEERR_AO___42 = 5
} ;
enum __anonenum_493465559___42 {
    TRAP_BRKPT___42 = 1,
    TRAP_TRACE___42 = 2
} ;
enum __anonenum_23175539___42 {
    CLD_EXITED___42 = 1,
    CLD_KILLED___42 = 2,
    CLD_DUMPED___42 = 3,
    CLD_TRAPPED___42 = 4,
    CLD_STOPPED___42 = 5,
    CLD_CONTINUED___42 = 6
} ;
enum __anonenum_111643124___42 {
    POLL_IN___42 = 1,
    POLL_OUT___42 = 2,
    POLL_MSG___42 = 3,
    POLL_ERR___42 = 4,
    POLL_PRI___42 = 5,
    POLL_HUP___42 = 6
} ;
enum __anonenum_852341087___42 {
    SIGEV_SIGNAL___42 = 0,
    SIGEV_NONE___42 = 1,
    SIGEV_THREAD___42 = 2,
    SIGEV_THREAD_ID___42 = 4
} ;
enum __anonenum_451154152___42 {
    REG_R8___42 = 0,
    REG_R9___42 = 1,
    REG_R10___42 = 2,
    REG_R11___42 = 3,
    REG_R12___42 = 4,
    REG_R13___42 = 5,
    REG_R14___42 = 6,
    REG_R15___42 = 7,
    REG_RDI___42 = 8,
    REG_RSI___42 = 9,
    REG_RBP___42 = 10,
    REG_RBX___42 = 11,
    REG_RDX___42 = 12,
    REG_RAX___42 = 13,
    REG_RCX___42 = 14,
    REG_RSP___42 = 15,
    REG_RIP___42 = 16,
    REG_EFL___42 = 17,
    REG_CSGSFS___42 = 18,
    REG_ERR___42 = 19,
    REG_TRAPNO___42 = 20,
    REG_OLDMASK___42 = 21,
    REG_CR2___42 = 22
} ;
enum __anonenum_57186863___42 {
    SS_ONSTACK___42 = 1,
    SS_DISABLE___42 = 2
} ;
enum __anonenum_83571709___42 {
    MSG_OOB___42 = 1,
    MSG_PEEK___42 = 2,
    MSG_DONTROUTE___42 = 4,
    MSG_TRYHARD___42 = 4,
    MSG_CTRUNC___42 = 8,
    MSG_PROXY___42 = 16,
    MSG_TRUNC___42 = 32,
    MSG_DONTWAIT___42 = 64,
    MSG_EOR___42 = 128,
    MSG_WAITALL___42 = 256,
    MSG_FIN___42 = 512,
    MSG_SYN___42 = 1024,
    MSG_CONFIRM___42 = 2048,
    MSG_RST___42 = 4096,
    MSG_ERRQUEUE___42 = 8192,
    MSG_NOSIGNAL___42 = 16384,
    MSG_MORE___42 = 32768,
    MSG_WAITFORONE___42 = 65536,
    MSG_BATCH___42 = 262144,
    MSG_ZEROCOPY___42 = 67108864,
    MSG_FASTOPEN___42 = 536870912,
    MSG_CMSG_CLOEXEC___42 = 1073741824
} ;
enum __anonenum_617082774___42 {
    SCM_RIGHTS___42 = 1,
    SCM_CREDENTIALS___42 = 2
} ;
enum __anonenum_606441560___42 {
    SHUT_RD___42 = 0,
    SHUT_WR___42 = 1,
    SHUT_RDWR___42 = 2
} ;
enum __anonenum_681669233___42 {
    IPPROTO_IP___42 = 0,
    IPPROTO_ICMP___42 = 1,
    IPPROTO_IGMP___42 = 2,
    IPPROTO_IPIP___42 = 4,
    IPPROTO_TCP___42 = 6,
    IPPROTO_EGP___42 = 8,
    IPPROTO_PUP___42 = 12,
    IPPROTO_UDP___42 = 17,
    IPPROTO_IDP___42 = 22,
    IPPROTO_TP___42 = 29,
    IPPROTO_DCCP___42 = 33,
    IPPROTO_IPV6___42 = 41,
    IPPROTO_RSVP___42 = 46,
    IPPROTO_GRE___42 = 47,
    IPPROTO_ESP___42 = 50,
    IPPROTO_AH___42 = 51,
    IPPROTO_MTP___42 = 92,
    IPPROTO_BEETPH___42 = 94,
    IPPROTO_ENCAP___42 = 98,
    IPPROTO_PIM___42 = 103,
    IPPROTO_COMP___42 = 108,
    IPPROTO_SCTP___42 = 132,
    IPPROTO_UDPLITE___42 = 136,
    IPPROTO_MPLS___42 = 137,
    IPPROTO_RAW___42 = 255,
    IPPROTO_MAX___42 = 256
} ;
enum __anonenum_218739988___42 {
    IPPROTO_HOPOPTS___42 = 0,
    IPPROTO_ROUTING___42 = 43,
    IPPROTO_FRAGMENT___42 = 44,
    IPPROTO_ICMPV6___42 = 58,
    IPPROTO_NONE___42 = 59,
    IPPROTO_DSTOPTS___42 = 60,
    IPPROTO_MH___42 = 135
} ;
enum __anonenum_662268580___42 {
    IPPORT_ECHO___42 = 7,
    IPPORT_DISCARD___42 = 9,
    IPPORT_SYSTAT___42 = 11,
    IPPORT_DAYTIME___42 = 13,
    IPPORT_NETSTAT___42 = 15,
    IPPORT_FTP___42 = 21,
    IPPORT_TELNET___42 = 23,
    IPPORT_SMTP___42 = 25,
    IPPORT_TIMESERVER___42 = 37,
    IPPORT_NAMESERVER___42 = 42,
    IPPORT_WHOIS___42 = 43,
    IPPORT_MTP___42 = 57,
    IPPORT_TFTP___42 = 69,
    IPPORT_RJE___42 = 77,
    IPPORT_FINGER___42 = 79,
    IPPORT_TTYLINK___42 = 87,
    IPPORT_SUPDUP___42 = 95,
    IPPORT_EXECSERVER___42 = 512,
    IPPORT_LOGINSERVER___42 = 513,
    IPPORT_CMDSERVER___42 = 514,
    IPPORT_EFSSERVER___42 = 520,
    IPPORT_BIFFUDP___42 = 512,
    IPPORT_WHOSERVER___42 = 513,
    IPPORT_ROUTESERVER___42 = 520,
    IPPORT_RESERVED___42 = 1024,
    IPPORT_USERRESERVED___42 = 5000
} ;
enum __anonenum_788308992___42 {
    TCP_ESTABLISHED___42 = 1,
    TCP_SYN_SENT___42 = 2,
    TCP_SYN_RECV___42 = 3,
    TCP_FIN_WAIT1___42 = 4,
    TCP_FIN_WAIT2___42 = 5,
    TCP_TIME_WAIT___42 = 6,
    TCP_CLOSE___42 = 7,
    TCP_CLOSE_WAIT___42 = 8,
    TCP_LAST_ACK___42 = 9,
    TCP_LISTEN___42 = 10,
    TCP_CLOSING___42 = 11
} ;
enum __anonenum_221125648___42 {
    TCP_NO_QUEUE___42 = 0,
    TCP_RECV_QUEUE___42 = 1,
    TCP_SEND_QUEUE___42 = 2,
    TCP_QUEUES_NR___42 = 3
} ;
enum __anonenum_34415463___42 {
    PTHREAD_CREATE_JOINABLE___42 = 0,
    PTHREAD_CREATE_DETACHED___42 = 1
} ;
enum __anonenum_303612439___42 {
    PTHREAD_MUTEX_TIMED_NP___42 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___42 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___42 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___42 = 3,
    PTHREAD_MUTEX_NORMAL___42 = 0,
    PTHREAD_MUTEX_RECURSIVE___42 = 1,
    PTHREAD_MUTEX_ERRORCHECK___42 = 2,
    PTHREAD_MUTEX_DEFAULT___42 = 0,
    PTHREAD_MUTEX_FAST_NP___42 = 0
} ;
enum __anonenum_931900394___42 {
    PTHREAD_MUTEX_STALLED___42 = 0,
    PTHREAD_MUTEX_STALLED_NP___42 = 0,
    PTHREAD_MUTEX_ROBUST___42 = 1,
    PTHREAD_MUTEX_ROBUST_NP___42 = 1
} ;
enum __anonenum_205214487___42 {
    PTHREAD_PRIO_NONE___42 = 0,
    PTHREAD_PRIO_INHERIT___42 = 1,
    PTHREAD_PRIO_PROTECT___42 = 2
} ;
enum __anonenum_25043950___42 {
    PTHREAD_RWLOCK_PREFER_READER_NP___42 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___42 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___42 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___42 = 0
} ;
enum __anonenum_436439511___42 {
    PTHREAD_INHERIT_SCHED___42 = 0,
    PTHREAD_EXPLICIT_SCHED___42 = 1
} ;
enum __anonenum_998661166___42 {
    PTHREAD_SCOPE_SYSTEM___42 = 0,
    PTHREAD_SCOPE_PROCESS___42 = 1
} ;
enum __anonenum_146137331___42 {
    PTHREAD_PROCESS_PRIVATE___42 = 0,
    PTHREAD_PROCESS_SHARED___42 = 1
} ;
enum __anonenum_53396917___42 {
    PTHREAD_CANCEL_ENABLE___42 = 0,
    PTHREAD_CANCEL_DISABLE___42 = 1
} ;
enum __anonenum_904563783___42 {
    PTHREAD_CANCEL_DEFERRED___42 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___42 = 1
} ;
enum __anonenum_672052974___42 {
    SSL_CT_VALIDATION_PERMISSIVE___42 = 0,
    SSL_CT_VALIDATION_STRICT___42 = 1
} ;
enum __anonenum_437032235___43 {
    _PC_LINK_MAX___43 = 0,
    _PC_MAX_CANON___43 = 1,
    _PC_MAX_INPUT___43 = 2,
    _PC_NAME_MAX___43 = 3,
    _PC_PATH_MAX___43 = 4,
    _PC_PIPE_BUF___43 = 5,
    _PC_CHOWN_RESTRICTED___43 = 6,
    _PC_NO_TRUNC___43 = 7,
    _PC_VDISABLE___43 = 8,
    _PC_SYNC_IO___43 = 9,
    _PC_ASYNC_IO___43 = 10,
    _PC_PRIO_IO___43 = 11,
    _PC_SOCK_MAXBUF___43 = 12,
    _PC_FILESIZEBITS___43 = 13,
    _PC_REC_INCR_XFER_SIZE___43 = 14,
    _PC_REC_MAX_XFER_SIZE___43 = 15,
    _PC_REC_MIN_XFER_SIZE___43 = 16,
    _PC_REC_XFER_ALIGN___43 = 17,
    _PC_ALLOC_SIZE_MIN___43 = 18,
    _PC_SYMLINK_MAX___43 = 19,
    _PC_2_SYMLINKS___43 = 20
} ;
enum __anonenum_315186338___43 {
    _SC_ARG_MAX___43 = 0,
    _SC_CHILD_MAX___43 = 1,
    _SC_CLK_TCK___43 = 2,
    _SC_NGROUPS_MAX___43 = 3,
    _SC_OPEN_MAX___43 = 4,
    _SC_STREAM_MAX___43 = 5,
    _SC_TZNAME_MAX___43 = 6,
    _SC_JOB_CONTROL___43 = 7,
    _SC_SAVED_IDS___43 = 8,
    _SC_REALTIME_SIGNALS___43 = 9,
    _SC_PRIORITY_SCHEDULING___43 = 10,
    _SC_TIMERS___43 = 11,
    _SC_ASYNCHRONOUS_IO___43 = 12,
    _SC_PRIORITIZED_IO___43 = 13,
    _SC_SYNCHRONIZED_IO___43 = 14,
    _SC_FSYNC___43 = 15,
    _SC_MAPPED_FILES___43 = 16,
    _SC_MEMLOCK___43 = 17,
    _SC_MEMLOCK_RANGE___43 = 18,
    _SC_MEMORY_PROTECTION___43 = 19,
    _SC_MESSAGE_PASSING___43 = 20,
    _SC_SEMAPHORES___43 = 21,
    _SC_SHARED_MEMORY_OBJECTS___43 = 22,
    _SC_AIO_LISTIO_MAX___43 = 23,
    _SC_AIO_MAX___43 = 24,
    _SC_AIO_PRIO_DELTA_MAX___43 = 25,
    _SC_DELAYTIMER_MAX___43 = 26,
    _SC_MQ_OPEN_MAX___43 = 27,
    _SC_MQ_PRIO_MAX___43 = 28,
    _SC_VERSION___43 = 29,
    _SC_PAGESIZE___43 = 30,
    _SC_RTSIG_MAX___43 = 31,
    _SC_SEM_NSEMS_MAX___43 = 32,
    _SC_SEM_VALUE_MAX___43 = 33,
    _SC_SIGQUEUE_MAX___43 = 34,
    _SC_TIMER_MAX___43 = 35,
    _SC_BC_BASE_MAX___43 = 36,
    _SC_BC_DIM_MAX___43 = 37,
    _SC_BC_SCALE_MAX___43 = 38,
    _SC_BC_STRING_MAX___43 = 39,
    _SC_COLL_WEIGHTS_MAX___43 = 40,
    _SC_EQUIV_CLASS_MAX___43 = 41,
    _SC_EXPR_NEST_MAX___43 = 42,
    _SC_LINE_MAX___43 = 43,
    _SC_RE_DUP_MAX___43 = 44,
    _SC_CHARCLASS_NAME_MAX___43 = 45,
    _SC_2_VERSION___43 = 46,
    _SC_2_C_BIND___43 = 47,
    _SC_2_C_DEV___43 = 48,
    _SC_2_FORT_DEV___43 = 49,
    _SC_2_FORT_RUN___43 = 50,
    _SC_2_SW_DEV___43 = 51,
    _SC_2_LOCALEDEF___43 = 52,
    _SC_PII___43 = 53,
    _SC_PII_XTI___43 = 54,
    _SC_PII_SOCKET___43 = 55,
    _SC_PII_INTERNET___43 = 56,
    _SC_PII_OSI___43 = 57,
    _SC_POLL___43 = 58,
    _SC_SELECT___43 = 59,
    _SC_UIO_MAXIOV___43 = 60,
    _SC_IOV_MAX___43 = 60,
    _SC_PII_INTERNET_STREAM___43 = 61,
    _SC_PII_INTERNET_DGRAM___43 = 62,
    _SC_PII_OSI_COTS___43 = 63,
    _SC_PII_OSI_CLTS___43 = 64,
    _SC_PII_OSI_M___43 = 65,
    _SC_T_IOV_MAX___43 = 66,
    _SC_THREADS___43 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___43 = 68,
    _SC_GETGR_R_SIZE_MAX___43 = 69,
    _SC_GETPW_R_SIZE_MAX___43 = 70,
    _SC_LOGIN_NAME_MAX___43 = 71,
    _SC_TTY_NAME_MAX___43 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___43 = 73,
    _SC_THREAD_KEYS_MAX___43 = 74,
    _SC_THREAD_STACK_MIN___43 = 75,
    _SC_THREAD_THREADS_MAX___43 = 76,
    _SC_THREAD_ATTR_STACKADDR___43 = 77,
    _SC_THREAD_ATTR_STACKSIZE___43 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___43 = 79,
    _SC_THREAD_PRIO_INHERIT___43 = 80,
    _SC_THREAD_PRIO_PROTECT___43 = 81,
    _SC_THREAD_PROCESS_SHARED___43 = 82,
    _SC_NPROCESSORS_CONF___43 = 83,
    _SC_NPROCESSORS_ONLN___43 = 84,
    _SC_PHYS_PAGES___43 = 85,
    _SC_AVPHYS_PAGES___43 = 86,
    _SC_ATEXIT_MAX___43 = 87,
    _SC_PASS_MAX___43 = 88,
    _SC_XOPEN_VERSION___43 = 89,
    _SC_XOPEN_XCU_VERSION___43 = 90,
    _SC_XOPEN_UNIX___43 = 91,
    _SC_XOPEN_CRYPT___43 = 92,
    _SC_XOPEN_ENH_I18N___43 = 93,
    _SC_XOPEN_SHM___43 = 94,
    _SC_2_CHAR_TERM___43 = 95,
    _SC_2_C_VERSION___43 = 96,
    _SC_2_UPE___43 = 97,
    _SC_XOPEN_XPG2___43 = 98,
    _SC_XOPEN_XPG3___43 = 99,
    _SC_XOPEN_XPG4___43 = 100,
    _SC_CHAR_BIT___43 = 101,
    _SC_CHAR_MAX___43 = 102,
    _SC_CHAR_MIN___43 = 103,
    _SC_INT_MAX___43 = 104,
    _SC_INT_MIN___43 = 105,
    _SC_LONG_BIT___43 = 106,
    _SC_WORD_BIT___43 = 107,
    _SC_MB_LEN_MAX___43 = 108,
    _SC_NZERO___43 = 109,
    _SC_SSIZE_MAX___43 = 110,
    _SC_SCHAR_MAX___43 = 111,
    _SC_SCHAR_MIN___43 = 112,
    _SC_SHRT_MAX___43 = 113,
    _SC_SHRT_MIN___43 = 114,
    _SC_UCHAR_MAX___43 = 115,
    _SC_UINT_MAX___43 = 116,
    _SC_ULONG_MAX___43 = 117,
    _SC_USHRT_MAX___43 = 118,
    _SC_NL_ARGMAX___43 = 119,
    _SC_NL_LANGMAX___43 = 120,
    _SC_NL_MSGMAX___43 = 121,
    _SC_NL_NMAX___43 = 122,
    _SC_NL_SETMAX___43 = 123,
    _SC_NL_TEXTMAX___43 = 124,
    _SC_XBS5_ILP32_OFF32___43 = 125,
    _SC_XBS5_ILP32_OFFBIG___43 = 126,
    _SC_XBS5_LP64_OFF64___43 = 127,
    _SC_XBS5_LPBIG_OFFBIG___43 = 128,
    _SC_XOPEN_LEGACY___43 = 129,
    _SC_XOPEN_REALTIME___43 = 130,
    _SC_XOPEN_REALTIME_THREADS___43 = 131,
    _SC_ADVISORY_INFO___43 = 132,
    _SC_BARRIERS___43 = 133,
    _SC_BASE___43 = 134,
    _SC_C_LANG_SUPPORT___43 = 135,
    _SC_C_LANG_SUPPORT_R___43 = 136,
    _SC_CLOCK_SELECTION___43 = 137,
    _SC_CPUTIME___43 = 138,
    _SC_THREAD_CPUTIME___43 = 139,
    _SC_DEVICE_IO___43 = 140,
    _SC_DEVICE_SPECIFIC___43 = 141,
    _SC_DEVICE_SPECIFIC_R___43 = 142,
    _SC_FD_MGMT___43 = 143,
    _SC_FIFO___43 = 144,
    _SC_PIPE___43 = 145,
    _SC_FILE_ATTRIBUTES___43 = 146,
    _SC_FILE_LOCKING___43 = 147,
    _SC_FILE_SYSTEM___43 = 148,
    _SC_MONOTONIC_CLOCK___43 = 149,
    _SC_MULTI_PROCESS___43 = 150,
    _SC_SINGLE_PROCESS___43 = 151,
    _SC_NETWORKING___43 = 152,
    _SC_READER_WRITER_LOCKS___43 = 153,
    _SC_SPIN_LOCKS___43 = 154,
    _SC_REGEXP___43 = 155,
    _SC_REGEX_VERSION___43 = 156,
    _SC_SHELL___43 = 157,
    _SC_SIGNALS___43 = 158,
    _SC_SPAWN___43 = 159,
    _SC_SPORADIC_SERVER___43 = 160,
    _SC_THREAD_SPORADIC_SERVER___43 = 161,
    _SC_SYSTEM_DATABASE___43 = 162,
    _SC_SYSTEM_DATABASE_R___43 = 163,
    _SC_TIMEOUTS___43 = 164,
    _SC_TYPED_MEMORY_OBJECTS___43 = 165,
    _SC_USER_GROUPS___43 = 166,
    _SC_USER_GROUPS_R___43 = 167,
    _SC_2_PBS___43 = 168,
    _SC_2_PBS_ACCOUNTING___43 = 169,
    _SC_2_PBS_LOCATE___43 = 170,
    _SC_2_PBS_MESSAGE___43 = 171,
    _SC_2_PBS_TRACK___43 = 172,
    _SC_SYMLOOP_MAX___43 = 173,
    _SC_STREAMS___43 = 174,
    _SC_2_PBS_CHECKPOINT___43 = 175,
    _SC_V6_ILP32_OFF32___43 = 176,
    _SC_V6_ILP32_OFFBIG___43 = 177,
    _SC_V6_LP64_OFF64___43 = 178,
    _SC_V6_LPBIG_OFFBIG___43 = 179,
    _SC_HOST_NAME_MAX___43 = 180,
    _SC_TRACE___43 = 181,
    _SC_TRACE_EVENT_FILTER___43 = 182,
    _SC_TRACE_INHERIT___43 = 183,
    _SC_TRACE_LOG___43 = 184,
    _SC_LEVEL1_ICACHE_SIZE___43 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___43 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___43 = 187,
    _SC_LEVEL1_DCACHE_SIZE___43 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___43 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___43 = 190,
    _SC_LEVEL2_CACHE_SIZE___43 = 191,
    _SC_LEVEL2_CACHE_ASSOC___43 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___43 = 193,
    _SC_LEVEL3_CACHE_SIZE___43 = 194,
    _SC_LEVEL3_CACHE_ASSOC___43 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___43 = 196,
    _SC_LEVEL4_CACHE_SIZE___43 = 197,
    _SC_LEVEL4_CACHE_ASSOC___43 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___43 = 199,
    _SC_IPV6___43 = 235,
    _SC_RAW_SOCKETS___43 = 236,
    _SC_V7_ILP32_OFF32___43 = 237,
    _SC_V7_ILP32_OFFBIG___43 = 238,
    _SC_V7_LP64_OFF64___43 = 239,
    _SC_V7_LPBIG_OFFBIG___43 = 240,
    _SC_SS_REPL_MAX___43 = 241,
    _SC_TRACE_EVENT_NAME_MAX___43 = 242,
    _SC_TRACE_NAME_MAX___43 = 243,
    _SC_TRACE_SYS_MAX___43 = 244,
    _SC_TRACE_USER_EVENT_MAX___43 = 245,
    _SC_XOPEN_STREAMS___43 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___43 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___43 = 248
} ;
enum __anonenum_875524036___43 {
    _CS_PATH___43 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___43 = 1,
    _CS_GNU_LIBC_VERSION___43 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___43 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___43 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___43 = 5,
    _CS_LFS_CFLAGS___43 = 1000,
    _CS_LFS_LDFLAGS___43 = 1001,
    _CS_LFS_LIBS___43 = 1002,
    _CS_LFS_LINTFLAGS___43 = 1003,
    _CS_LFS64_CFLAGS___43 = 1004,
    _CS_LFS64_LDFLAGS___43 = 1005,
    _CS_LFS64_LIBS___43 = 1006,
    _CS_LFS64_LINTFLAGS___43 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___43 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___43 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___43 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___43 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___43 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___43 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___43 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___43 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___43 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___43 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___43 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___43 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___43 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___43 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___43 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___43 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___43 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___43 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___43 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___43 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___43 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___43 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___43 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___43 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___43 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___43 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___43 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___43 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___43 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___43 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___43 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___43 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___43 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___43 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___43 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___43 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___43 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___43 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___43 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___43 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___43 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___43 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___43 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___43 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___43 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___43 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___43 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___43 = 1147,
    _CS_V6_ENV___43 = 1148,
    _CS_V7_ENV___43 = 1149
} ;
enum __anonenum_513775621___43 {
    DT_UNKNOWN___43 = 0,
    DT_FIFO___43 = 1,
    DT_CHR___43 = 2,
    DT_DIR___43 = 4,
    DT_BLK___43 = 6,
    DT_REG___43 = 8,
    DT_LNK___43 = 10,
    DT_SOCK___43 = 12,
    DT_WHT___43 = 14
} ;
enum __anonenum_77002343___43 {
    SI_ASYNCNL___43 = -60,
    SI_TKILL___43 = -6,
    SI_SIGIO___43 = -5,
    SI_ASYNCIO___43 = -4,
    SI_MESGQ___43 = -3,
    SI_TIMER___43 = -2,
    SI_QUEUE___43 = -1,
    SI_USER___43 = 0,
    SI_KERNEL___43 = 128
} ;
enum __anonenum_131038172___43 {
    ILL_ILLOPC___43 = 1,
    ILL_ILLOPN___43 = 2,
    ILL_ILLADR___43 = 3,
    ILL_ILLTRP___43 = 4,
    ILL_PRVOPC___43 = 5,
    ILL_PRVREG___43 = 6,
    ILL_COPROC___43 = 7,
    ILL_BADSTK___43 = 8
} ;
enum __anonenum_452038093___43 {
    FPE_INTDIV___43 = 1,
    FPE_INTOVF___43 = 2,
    FPE_FLTDIV___43 = 3,
    FPE_FLTOVF___43 = 4,
    FPE_FLTUND___43 = 5,
    FPE_FLTRES___43 = 6,
    FPE_FLTINV___43 = 7,
    FPE_FLTSUB___43 = 8
} ;
enum __anonenum_30976155___43 {
    SEGV_MAPERR___43 = 1,
    SEGV_ACCERR___43 = 2,
    SEGV_BNDERR___43 = 3,
    SEGV_PKUERR___43 = 4
} ;
enum __anonenum_1036286214___43 {
    BUS_ADRALN___43 = 1,
    BUS_ADRERR___43 = 2,
    BUS_OBJERR___43 = 3,
    BUS_MCEERR_AR___43 = 4,
    BUS_MCEERR_AO___43 = 5
} ;
enum __anonenum_493465559___43 {
    TRAP_BRKPT___43 = 1,
    TRAP_TRACE___43 = 2
} ;
enum __anonenum_23175539___43 {
    CLD_EXITED___43 = 1,
    CLD_KILLED___43 = 2,
    CLD_DUMPED___43 = 3,
    CLD_TRAPPED___43 = 4,
    CLD_STOPPED___43 = 5,
    CLD_CONTINUED___43 = 6
} ;
enum __anonenum_111643124___43 {
    POLL_IN___43 = 1,
    POLL_OUT___43 = 2,
    POLL_MSG___43 = 3,
    POLL_ERR___43 = 4,
    POLL_PRI___43 = 5,
    POLL_HUP___43 = 6
} ;
enum __anonenum_852341087___43 {
    SIGEV_SIGNAL___43 = 0,
    SIGEV_NONE___43 = 1,
    SIGEV_THREAD___43 = 2,
    SIGEV_THREAD_ID___43 = 4
} ;
enum __anonenum_451154152___43 {
    REG_R8___43 = 0,
    REG_R9___43 = 1,
    REG_R10___43 = 2,
    REG_R11___43 = 3,
    REG_R12___43 = 4,
    REG_R13___43 = 5,
    REG_R14___43 = 6,
    REG_R15___43 = 7,
    REG_RDI___43 = 8,
    REG_RSI___43 = 9,
    REG_RBP___43 = 10,
    REG_RBX___43 = 11,
    REG_RDX___43 = 12,
    REG_RAX___43 = 13,
    REG_RCX___43 = 14,
    REG_RSP___43 = 15,
    REG_RIP___43 = 16,
    REG_EFL___43 = 17,
    REG_CSGSFS___43 = 18,
    REG_ERR___43 = 19,
    REG_TRAPNO___43 = 20,
    REG_OLDMASK___43 = 21,
    REG_CR2___43 = 22
} ;
enum __anonenum_57186863___43 {
    SS_ONSTACK___43 = 1,
    SS_DISABLE___43 = 2
} ;
enum __anonenum_83571709___43 {
    MSG_OOB___43 = 1,
    MSG_PEEK___43 = 2,
    MSG_DONTROUTE___43 = 4,
    MSG_TRYHARD___43 = 4,
    MSG_CTRUNC___43 = 8,
    MSG_PROXY___43 = 16,
    MSG_TRUNC___43 = 32,
    MSG_DONTWAIT___43 = 64,
    MSG_EOR___43 = 128,
    MSG_WAITALL___43 = 256,
    MSG_FIN___43 = 512,
    MSG_SYN___43 = 1024,
    MSG_CONFIRM___43 = 2048,
    MSG_RST___43 = 4096,
    MSG_ERRQUEUE___43 = 8192,
    MSG_NOSIGNAL___43 = 16384,
    MSG_MORE___43 = 32768,
    MSG_WAITFORONE___43 = 65536,
    MSG_BATCH___43 = 262144,
    MSG_ZEROCOPY___43 = 67108864,
    MSG_FASTOPEN___43 = 536870912,
    MSG_CMSG_CLOEXEC___43 = 1073741824
} ;
enum __anonenum_617082774___43 {
    SCM_RIGHTS___43 = 1,
    SCM_CREDENTIALS___43 = 2
} ;
enum __anonenum_606441560___43 {
    SHUT_RD___43 = 0,
    SHUT_WR___43 = 1,
    SHUT_RDWR___43 = 2
} ;
enum __anonenum_681669233___43 {
    IPPROTO_IP___43 = 0,
    IPPROTO_ICMP___43 = 1,
    IPPROTO_IGMP___43 = 2,
    IPPROTO_IPIP___43 = 4,
    IPPROTO_TCP___43 = 6,
    IPPROTO_EGP___43 = 8,
    IPPROTO_PUP___43 = 12,
    IPPROTO_UDP___43 = 17,
    IPPROTO_IDP___43 = 22,
    IPPROTO_TP___43 = 29,
    IPPROTO_DCCP___43 = 33,
    IPPROTO_IPV6___43 = 41,
    IPPROTO_RSVP___43 = 46,
    IPPROTO_GRE___43 = 47,
    IPPROTO_ESP___43 = 50,
    IPPROTO_AH___43 = 51,
    IPPROTO_MTP___43 = 92,
    IPPROTO_BEETPH___43 = 94,
    IPPROTO_ENCAP___43 = 98,
    IPPROTO_PIM___43 = 103,
    IPPROTO_COMP___43 = 108,
    IPPROTO_SCTP___43 = 132,
    IPPROTO_UDPLITE___43 = 136,
    IPPROTO_MPLS___43 = 137,
    IPPROTO_RAW___43 = 255,
    IPPROTO_MAX___43 = 256
} ;
enum __anonenum_218739988___43 {
    IPPROTO_HOPOPTS___43 = 0,
    IPPROTO_ROUTING___43 = 43,
    IPPROTO_FRAGMENT___43 = 44,
    IPPROTO_ICMPV6___43 = 58,
    IPPROTO_NONE___43 = 59,
    IPPROTO_DSTOPTS___43 = 60,
    IPPROTO_MH___43 = 135
} ;
enum __anonenum_662268580___43 {
    IPPORT_ECHO___43 = 7,
    IPPORT_DISCARD___43 = 9,
    IPPORT_SYSTAT___43 = 11,
    IPPORT_DAYTIME___43 = 13,
    IPPORT_NETSTAT___43 = 15,
    IPPORT_FTP___43 = 21,
    IPPORT_TELNET___43 = 23,
    IPPORT_SMTP___43 = 25,
    IPPORT_TIMESERVER___43 = 37,
    IPPORT_NAMESERVER___43 = 42,
    IPPORT_WHOIS___43 = 43,
    IPPORT_MTP___43 = 57,
    IPPORT_TFTP___43 = 69,
    IPPORT_RJE___43 = 77,
    IPPORT_FINGER___43 = 79,
    IPPORT_TTYLINK___43 = 87,
    IPPORT_SUPDUP___43 = 95,
    IPPORT_EXECSERVER___43 = 512,
    IPPORT_LOGINSERVER___43 = 513,
    IPPORT_CMDSERVER___43 = 514,
    IPPORT_EFSSERVER___43 = 520,
    IPPORT_BIFFUDP___43 = 512,
    IPPORT_WHOSERVER___43 = 513,
    IPPORT_ROUTESERVER___43 = 520,
    IPPORT_RESERVED___43 = 1024,
    IPPORT_USERRESERVED___43 = 5000
} ;
enum __anonenum_788308992___43 {
    TCP_ESTABLISHED___43 = 1,
    TCP_SYN_SENT___43 = 2,
    TCP_SYN_RECV___43 = 3,
    TCP_FIN_WAIT1___43 = 4,
    TCP_FIN_WAIT2___43 = 5,
    TCP_TIME_WAIT___43 = 6,
    TCP_CLOSE___43 = 7,
    TCP_CLOSE_WAIT___43 = 8,
    TCP_LAST_ACK___43 = 9,
    TCP_LISTEN___43 = 10,
    TCP_CLOSING___43 = 11
} ;
enum __anonenum_221125648___43 {
    TCP_NO_QUEUE___43 = 0,
    TCP_RECV_QUEUE___43 = 1,
    TCP_SEND_QUEUE___43 = 2,
    TCP_QUEUES_NR___43 = 3
} ;
enum __anonenum_34415463___43 {
    PTHREAD_CREATE_JOINABLE___43 = 0,
    PTHREAD_CREATE_DETACHED___43 = 1
} ;
enum __anonenum_303612439___43 {
    PTHREAD_MUTEX_TIMED_NP___43 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___43 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___43 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___43 = 3,
    PTHREAD_MUTEX_NORMAL___43 = 0,
    PTHREAD_MUTEX_RECURSIVE___43 = 1,
    PTHREAD_MUTEX_ERRORCHECK___43 = 2,
    PTHREAD_MUTEX_DEFAULT___43 = 0,
    PTHREAD_MUTEX_FAST_NP___43 = 0
} ;
enum __anonenum_931900394___43 {
    PTHREAD_MUTEX_STALLED___43 = 0,
    PTHREAD_MUTEX_STALLED_NP___43 = 0,
    PTHREAD_MUTEX_ROBUST___43 = 1,
    PTHREAD_MUTEX_ROBUST_NP___43 = 1
} ;
enum __anonenum_205214487___43 {
    PTHREAD_PRIO_NONE___43 = 0,
    PTHREAD_PRIO_INHERIT___43 = 1,
    PTHREAD_PRIO_PROTECT___43 = 2
} ;
enum __anonenum_25043950___43 {
    PTHREAD_RWLOCK_PREFER_READER_NP___43 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___43 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___43 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___43 = 0
} ;
enum __anonenum_436439511___43 {
    PTHREAD_INHERIT_SCHED___43 = 0,
    PTHREAD_EXPLICIT_SCHED___43 = 1
} ;
enum __anonenum_998661166___43 {
    PTHREAD_SCOPE_SYSTEM___43 = 0,
    PTHREAD_SCOPE_PROCESS___43 = 1
} ;
enum __anonenum_146137331___43 {
    PTHREAD_PROCESS_PRIVATE___43 = 0,
    PTHREAD_PROCESS_SHARED___43 = 1
} ;
enum __anonenum_53396917___43 {
    PTHREAD_CANCEL_ENABLE___43 = 0,
    PTHREAD_CANCEL_DISABLE___43 = 1
} ;
enum __anonenum_904563783___43 {
    PTHREAD_CANCEL_DEFERRED___43 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___43 = 1
} ;
enum __anonenum_672052974___43 {
    SSL_CT_VALIDATION_PERMISSIVE___43 = 0,
    SSL_CT_VALIDATION_STRICT___43 = 1
} ;
enum __anonenum_885560795 {
    S = 1,
    A = 4,
    D = 2,
    G = 8,
    R = 16,
    P = 32,
    X = 64,
    U = 128,
    Z = 65
} ;
enum __anonenum_437032235___44 {
    _PC_LINK_MAX___44 = 0,
    _PC_MAX_CANON___44 = 1,
    _PC_MAX_INPUT___44 = 2,
    _PC_NAME_MAX___44 = 3,
    _PC_PATH_MAX___44 = 4,
    _PC_PIPE_BUF___44 = 5,
    _PC_CHOWN_RESTRICTED___44 = 6,
    _PC_NO_TRUNC___44 = 7,
    _PC_VDISABLE___44 = 8,
    _PC_SYNC_IO___44 = 9,
    _PC_ASYNC_IO___44 = 10,
    _PC_PRIO_IO___44 = 11,
    _PC_SOCK_MAXBUF___44 = 12,
    _PC_FILESIZEBITS___44 = 13,
    _PC_REC_INCR_XFER_SIZE___44 = 14,
    _PC_REC_MAX_XFER_SIZE___44 = 15,
    _PC_REC_MIN_XFER_SIZE___44 = 16,
    _PC_REC_XFER_ALIGN___44 = 17,
    _PC_ALLOC_SIZE_MIN___44 = 18,
    _PC_SYMLINK_MAX___44 = 19,
    _PC_2_SYMLINKS___44 = 20
} ;
enum __anonenum_315186338___44 {
    _SC_ARG_MAX___44 = 0,
    _SC_CHILD_MAX___44 = 1,
    _SC_CLK_TCK___44 = 2,
    _SC_NGROUPS_MAX___44 = 3,
    _SC_OPEN_MAX___44 = 4,
    _SC_STREAM_MAX___44 = 5,
    _SC_TZNAME_MAX___44 = 6,
    _SC_JOB_CONTROL___44 = 7,
    _SC_SAVED_IDS___44 = 8,
    _SC_REALTIME_SIGNALS___44 = 9,
    _SC_PRIORITY_SCHEDULING___44 = 10,
    _SC_TIMERS___44 = 11,
    _SC_ASYNCHRONOUS_IO___44 = 12,
    _SC_PRIORITIZED_IO___44 = 13,
    _SC_SYNCHRONIZED_IO___44 = 14,
    _SC_FSYNC___44 = 15,
    _SC_MAPPED_FILES___44 = 16,
    _SC_MEMLOCK___44 = 17,
    _SC_MEMLOCK_RANGE___44 = 18,
    _SC_MEMORY_PROTECTION___44 = 19,
    _SC_MESSAGE_PASSING___44 = 20,
    _SC_SEMAPHORES___44 = 21,
    _SC_SHARED_MEMORY_OBJECTS___44 = 22,
    _SC_AIO_LISTIO_MAX___44 = 23,
    _SC_AIO_MAX___44 = 24,
    _SC_AIO_PRIO_DELTA_MAX___44 = 25,
    _SC_DELAYTIMER_MAX___44 = 26,
    _SC_MQ_OPEN_MAX___44 = 27,
    _SC_MQ_PRIO_MAX___44 = 28,
    _SC_VERSION___44 = 29,
    _SC_PAGESIZE___44 = 30,
    _SC_RTSIG_MAX___44 = 31,
    _SC_SEM_NSEMS_MAX___44 = 32,
    _SC_SEM_VALUE_MAX___44 = 33,
    _SC_SIGQUEUE_MAX___44 = 34,
    _SC_TIMER_MAX___44 = 35,
    _SC_BC_BASE_MAX___44 = 36,
    _SC_BC_DIM_MAX___44 = 37,
    _SC_BC_SCALE_MAX___44 = 38,
    _SC_BC_STRING_MAX___44 = 39,
    _SC_COLL_WEIGHTS_MAX___44 = 40,
    _SC_EQUIV_CLASS_MAX___44 = 41,
    _SC_EXPR_NEST_MAX___44 = 42,
    _SC_LINE_MAX___44 = 43,
    _SC_RE_DUP_MAX___44 = 44,
    _SC_CHARCLASS_NAME_MAX___44 = 45,
    _SC_2_VERSION___44 = 46,
    _SC_2_C_BIND___44 = 47,
    _SC_2_C_DEV___44 = 48,
    _SC_2_FORT_DEV___44 = 49,
    _SC_2_FORT_RUN___44 = 50,
    _SC_2_SW_DEV___44 = 51,
    _SC_2_LOCALEDEF___44 = 52,
    _SC_PII___44 = 53,
    _SC_PII_XTI___44 = 54,
    _SC_PII_SOCKET___44 = 55,
    _SC_PII_INTERNET___44 = 56,
    _SC_PII_OSI___44 = 57,
    _SC_POLL___44 = 58,
    _SC_SELECT___44 = 59,
    _SC_UIO_MAXIOV___44 = 60,
    _SC_IOV_MAX___44 = 60,
    _SC_PII_INTERNET_STREAM___44 = 61,
    _SC_PII_INTERNET_DGRAM___44 = 62,
    _SC_PII_OSI_COTS___44 = 63,
    _SC_PII_OSI_CLTS___44 = 64,
    _SC_PII_OSI_M___44 = 65,
    _SC_T_IOV_MAX___44 = 66,
    _SC_THREADS___44 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___44 = 68,
    _SC_GETGR_R_SIZE_MAX___44 = 69,
    _SC_GETPW_R_SIZE_MAX___44 = 70,
    _SC_LOGIN_NAME_MAX___44 = 71,
    _SC_TTY_NAME_MAX___44 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___44 = 73,
    _SC_THREAD_KEYS_MAX___44 = 74,
    _SC_THREAD_STACK_MIN___44 = 75,
    _SC_THREAD_THREADS_MAX___44 = 76,
    _SC_THREAD_ATTR_STACKADDR___44 = 77,
    _SC_THREAD_ATTR_STACKSIZE___44 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___44 = 79,
    _SC_THREAD_PRIO_INHERIT___44 = 80,
    _SC_THREAD_PRIO_PROTECT___44 = 81,
    _SC_THREAD_PROCESS_SHARED___44 = 82,
    _SC_NPROCESSORS_CONF___44 = 83,
    _SC_NPROCESSORS_ONLN___44 = 84,
    _SC_PHYS_PAGES___44 = 85,
    _SC_AVPHYS_PAGES___44 = 86,
    _SC_ATEXIT_MAX___44 = 87,
    _SC_PASS_MAX___44 = 88,
    _SC_XOPEN_VERSION___44 = 89,
    _SC_XOPEN_XCU_VERSION___44 = 90,
    _SC_XOPEN_UNIX___44 = 91,
    _SC_XOPEN_CRYPT___44 = 92,
    _SC_XOPEN_ENH_I18N___44 = 93,
    _SC_XOPEN_SHM___44 = 94,
    _SC_2_CHAR_TERM___44 = 95,
    _SC_2_C_VERSION___44 = 96,
    _SC_2_UPE___44 = 97,
    _SC_XOPEN_XPG2___44 = 98,
    _SC_XOPEN_XPG3___44 = 99,
    _SC_XOPEN_XPG4___44 = 100,
    _SC_CHAR_BIT___44 = 101,
    _SC_CHAR_MAX___44 = 102,
    _SC_CHAR_MIN___44 = 103,
    _SC_INT_MAX___44 = 104,
    _SC_INT_MIN___44 = 105,
    _SC_LONG_BIT___44 = 106,
    _SC_WORD_BIT___44 = 107,
    _SC_MB_LEN_MAX___44 = 108,
    _SC_NZERO___44 = 109,
    _SC_SSIZE_MAX___44 = 110,
    _SC_SCHAR_MAX___44 = 111,
    _SC_SCHAR_MIN___44 = 112,
    _SC_SHRT_MAX___44 = 113,
    _SC_SHRT_MIN___44 = 114,
    _SC_UCHAR_MAX___44 = 115,
    _SC_UINT_MAX___44 = 116,
    _SC_ULONG_MAX___44 = 117,
    _SC_USHRT_MAX___44 = 118,
    _SC_NL_ARGMAX___44 = 119,
    _SC_NL_LANGMAX___44 = 120,
    _SC_NL_MSGMAX___44 = 121,
    _SC_NL_NMAX___44 = 122,
    _SC_NL_SETMAX___44 = 123,
    _SC_NL_TEXTMAX___44 = 124,
    _SC_XBS5_ILP32_OFF32___44 = 125,
    _SC_XBS5_ILP32_OFFBIG___44 = 126,
    _SC_XBS5_LP64_OFF64___44 = 127,
    _SC_XBS5_LPBIG_OFFBIG___44 = 128,
    _SC_XOPEN_LEGACY___44 = 129,
    _SC_XOPEN_REALTIME___44 = 130,
    _SC_XOPEN_REALTIME_THREADS___44 = 131,
    _SC_ADVISORY_INFO___44 = 132,
    _SC_BARRIERS___44 = 133,
    _SC_BASE___44 = 134,
    _SC_C_LANG_SUPPORT___44 = 135,
    _SC_C_LANG_SUPPORT_R___44 = 136,
    _SC_CLOCK_SELECTION___44 = 137,
    _SC_CPUTIME___44 = 138,
    _SC_THREAD_CPUTIME___44 = 139,
    _SC_DEVICE_IO___44 = 140,
    _SC_DEVICE_SPECIFIC___44 = 141,
    _SC_DEVICE_SPECIFIC_R___44 = 142,
    _SC_FD_MGMT___44 = 143,
    _SC_FIFO___44 = 144,
    _SC_PIPE___44 = 145,
    _SC_FILE_ATTRIBUTES___44 = 146,
    _SC_FILE_LOCKING___44 = 147,
    _SC_FILE_SYSTEM___44 = 148,
    _SC_MONOTONIC_CLOCK___44 = 149,
    _SC_MULTI_PROCESS___44 = 150,
    _SC_SINGLE_PROCESS___44 = 151,
    _SC_NETWORKING___44 = 152,
    _SC_READER_WRITER_LOCKS___44 = 153,
    _SC_SPIN_LOCKS___44 = 154,
    _SC_REGEXP___44 = 155,
    _SC_REGEX_VERSION___44 = 156,
    _SC_SHELL___44 = 157,
    _SC_SIGNALS___44 = 158,
    _SC_SPAWN___44 = 159,
    _SC_SPORADIC_SERVER___44 = 160,
    _SC_THREAD_SPORADIC_SERVER___44 = 161,
    _SC_SYSTEM_DATABASE___44 = 162,
    _SC_SYSTEM_DATABASE_R___44 = 163,
    _SC_TIMEOUTS___44 = 164,
    _SC_TYPED_MEMORY_OBJECTS___44 = 165,
    _SC_USER_GROUPS___44 = 166,
    _SC_USER_GROUPS_R___44 = 167,
    _SC_2_PBS___44 = 168,
    _SC_2_PBS_ACCOUNTING___44 = 169,
    _SC_2_PBS_LOCATE___44 = 170,
    _SC_2_PBS_MESSAGE___44 = 171,
    _SC_2_PBS_TRACK___44 = 172,
    _SC_SYMLOOP_MAX___44 = 173,
    _SC_STREAMS___44 = 174,
    _SC_2_PBS_CHECKPOINT___44 = 175,
    _SC_V6_ILP32_OFF32___44 = 176,
    _SC_V6_ILP32_OFFBIG___44 = 177,
    _SC_V6_LP64_OFF64___44 = 178,
    _SC_V6_LPBIG_OFFBIG___44 = 179,
    _SC_HOST_NAME_MAX___44 = 180,
    _SC_TRACE___44 = 181,
    _SC_TRACE_EVENT_FILTER___44 = 182,
    _SC_TRACE_INHERIT___44 = 183,
    _SC_TRACE_LOG___44 = 184,
    _SC_LEVEL1_ICACHE_SIZE___44 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___44 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___44 = 187,
    _SC_LEVEL1_DCACHE_SIZE___44 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___44 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___44 = 190,
    _SC_LEVEL2_CACHE_SIZE___44 = 191,
    _SC_LEVEL2_CACHE_ASSOC___44 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___44 = 193,
    _SC_LEVEL3_CACHE_SIZE___44 = 194,
    _SC_LEVEL3_CACHE_ASSOC___44 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___44 = 196,
    _SC_LEVEL4_CACHE_SIZE___44 = 197,
    _SC_LEVEL4_CACHE_ASSOC___44 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___44 = 199,
    _SC_IPV6___44 = 235,
    _SC_RAW_SOCKETS___44 = 236,
    _SC_V7_ILP32_OFF32___44 = 237,
    _SC_V7_ILP32_OFFBIG___44 = 238,
    _SC_V7_LP64_OFF64___44 = 239,
    _SC_V7_LPBIG_OFFBIG___44 = 240,
    _SC_SS_REPL_MAX___44 = 241,
    _SC_TRACE_EVENT_NAME_MAX___44 = 242,
    _SC_TRACE_NAME_MAX___44 = 243,
    _SC_TRACE_SYS_MAX___44 = 244,
    _SC_TRACE_USER_EVENT_MAX___44 = 245,
    _SC_XOPEN_STREAMS___44 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___44 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___44 = 248
} ;
enum __anonenum_875524036___44 {
    _CS_PATH___44 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___44 = 1,
    _CS_GNU_LIBC_VERSION___44 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___44 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___44 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___44 = 5,
    _CS_LFS_CFLAGS___44 = 1000,
    _CS_LFS_LDFLAGS___44 = 1001,
    _CS_LFS_LIBS___44 = 1002,
    _CS_LFS_LINTFLAGS___44 = 1003,
    _CS_LFS64_CFLAGS___44 = 1004,
    _CS_LFS64_LDFLAGS___44 = 1005,
    _CS_LFS64_LIBS___44 = 1006,
    _CS_LFS64_LINTFLAGS___44 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___44 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___44 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___44 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___44 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___44 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___44 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___44 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___44 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___44 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___44 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___44 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___44 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___44 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___44 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___44 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___44 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___44 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___44 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___44 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___44 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___44 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___44 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___44 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___44 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___44 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___44 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___44 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___44 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___44 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___44 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___44 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___44 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___44 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___44 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___44 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___44 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___44 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___44 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___44 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___44 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___44 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___44 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___44 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___44 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___44 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___44 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___44 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___44 = 1147,
    _CS_V6_ENV___44 = 1148,
    _CS_V7_ENV___44 = 1149
} ;
enum __anonenum_513775621___44 {
    DT_UNKNOWN___44 = 0,
    DT_FIFO___44 = 1,
    DT_CHR___44 = 2,
    DT_DIR___44 = 4,
    DT_BLK___44 = 6,
    DT_REG___44 = 8,
    DT_LNK___44 = 10,
    DT_SOCK___44 = 12,
    DT_WHT___44 = 14
} ;
enum __anonenum_77002343___44 {
    SI_ASYNCNL___44 = -60,
    SI_TKILL___44 = -6,
    SI_SIGIO___44 = -5,
    SI_ASYNCIO___44 = -4,
    SI_MESGQ___44 = -3,
    SI_TIMER___44 = -2,
    SI_QUEUE___44 = -1,
    SI_USER___44 = 0,
    SI_KERNEL___44 = 128
} ;
enum __anonenum_131038172___44 {
    ILL_ILLOPC___44 = 1,
    ILL_ILLOPN___44 = 2,
    ILL_ILLADR___44 = 3,
    ILL_ILLTRP___44 = 4,
    ILL_PRVOPC___44 = 5,
    ILL_PRVREG___44 = 6,
    ILL_COPROC___44 = 7,
    ILL_BADSTK___44 = 8
} ;
enum __anonenum_452038093___44 {
    FPE_INTDIV___44 = 1,
    FPE_INTOVF___44 = 2,
    FPE_FLTDIV___44 = 3,
    FPE_FLTOVF___44 = 4,
    FPE_FLTUND___44 = 5,
    FPE_FLTRES___44 = 6,
    FPE_FLTINV___44 = 7,
    FPE_FLTSUB___44 = 8
} ;
enum __anonenum_30976155___44 {
    SEGV_MAPERR___44 = 1,
    SEGV_ACCERR___44 = 2,
    SEGV_BNDERR___44 = 3,
    SEGV_PKUERR___44 = 4
} ;
enum __anonenum_1036286214___44 {
    BUS_ADRALN___44 = 1,
    BUS_ADRERR___44 = 2,
    BUS_OBJERR___44 = 3,
    BUS_MCEERR_AR___44 = 4,
    BUS_MCEERR_AO___44 = 5
} ;
enum __anonenum_493465559___44 {
    TRAP_BRKPT___44 = 1,
    TRAP_TRACE___44 = 2
} ;
enum __anonenum_23175539___44 {
    CLD_EXITED___44 = 1,
    CLD_KILLED___44 = 2,
    CLD_DUMPED___44 = 3,
    CLD_TRAPPED___44 = 4,
    CLD_STOPPED___44 = 5,
    CLD_CONTINUED___44 = 6
} ;
enum __anonenum_111643124___44 {
    POLL_IN___44 = 1,
    POLL_OUT___44 = 2,
    POLL_MSG___44 = 3,
    POLL_ERR___44 = 4,
    POLL_PRI___44 = 5,
    POLL_HUP___44 = 6
} ;
enum __anonenum_852341087___44 {
    SIGEV_SIGNAL___44 = 0,
    SIGEV_NONE___44 = 1,
    SIGEV_THREAD___44 = 2,
    SIGEV_THREAD_ID___44 = 4
} ;
enum __anonenum_451154152___44 {
    REG_R8___44 = 0,
    REG_R9___44 = 1,
    REG_R10___44 = 2,
    REG_R11___44 = 3,
    REG_R12___44 = 4,
    REG_R13___44 = 5,
    REG_R14___44 = 6,
    REG_R15___44 = 7,
    REG_RDI___44 = 8,
    REG_RSI___44 = 9,
    REG_RBP___44 = 10,
    REG_RBX___44 = 11,
    REG_RDX___44 = 12,
    REG_RAX___44 = 13,
    REG_RCX___44 = 14,
    REG_RSP___44 = 15,
    REG_RIP___44 = 16,
    REG_EFL___44 = 17,
    REG_CSGSFS___44 = 18,
    REG_ERR___44 = 19,
    REG_TRAPNO___44 = 20,
    REG_OLDMASK___44 = 21,
    REG_CR2___44 = 22
} ;
enum __anonenum_57186863___44 {
    SS_ONSTACK___44 = 1,
    SS_DISABLE___44 = 2
} ;
enum __anonenum_83571709___44 {
    MSG_OOB___44 = 1,
    MSG_PEEK___44 = 2,
    MSG_DONTROUTE___44 = 4,
    MSG_TRYHARD___44 = 4,
    MSG_CTRUNC___44 = 8,
    MSG_PROXY___44 = 16,
    MSG_TRUNC___44 = 32,
    MSG_DONTWAIT___44 = 64,
    MSG_EOR___44 = 128,
    MSG_WAITALL___44 = 256,
    MSG_FIN___44 = 512,
    MSG_SYN___44 = 1024,
    MSG_CONFIRM___44 = 2048,
    MSG_RST___44 = 4096,
    MSG_ERRQUEUE___44 = 8192,
    MSG_NOSIGNAL___44 = 16384,
    MSG_MORE___44 = 32768,
    MSG_WAITFORONE___44 = 65536,
    MSG_BATCH___44 = 262144,
    MSG_ZEROCOPY___44 = 67108864,
    MSG_FASTOPEN___44 = 536870912,
    MSG_CMSG_CLOEXEC___44 = 1073741824
} ;
enum __anonenum_617082774___44 {
    SCM_RIGHTS___44 = 1,
    SCM_CREDENTIALS___44 = 2
} ;
enum __anonenum_606441560___44 {
    SHUT_RD___44 = 0,
    SHUT_WR___44 = 1,
    SHUT_RDWR___44 = 2
} ;
enum __anonenum_681669233___44 {
    IPPROTO_IP___44 = 0,
    IPPROTO_ICMP___44 = 1,
    IPPROTO_IGMP___44 = 2,
    IPPROTO_IPIP___44 = 4,
    IPPROTO_TCP___44 = 6,
    IPPROTO_EGP___44 = 8,
    IPPROTO_PUP___44 = 12,
    IPPROTO_UDP___44 = 17,
    IPPROTO_IDP___44 = 22,
    IPPROTO_TP___44 = 29,
    IPPROTO_DCCP___44 = 33,
    IPPROTO_IPV6___44 = 41,
    IPPROTO_RSVP___44 = 46,
    IPPROTO_GRE___44 = 47,
    IPPROTO_ESP___44 = 50,
    IPPROTO_AH___44 = 51,
    IPPROTO_MTP___44 = 92,
    IPPROTO_BEETPH___44 = 94,
    IPPROTO_ENCAP___44 = 98,
    IPPROTO_PIM___44 = 103,
    IPPROTO_COMP___44 = 108,
    IPPROTO_SCTP___44 = 132,
    IPPROTO_UDPLITE___44 = 136,
    IPPROTO_MPLS___44 = 137,
    IPPROTO_RAW___44 = 255,
    IPPROTO_MAX___44 = 256
} ;
enum __anonenum_218739988___44 {
    IPPROTO_HOPOPTS___44 = 0,
    IPPROTO_ROUTING___44 = 43,
    IPPROTO_FRAGMENT___44 = 44,
    IPPROTO_ICMPV6___44 = 58,
    IPPROTO_NONE___44 = 59,
    IPPROTO_DSTOPTS___44 = 60,
    IPPROTO_MH___44 = 135
} ;
enum __anonenum_662268580___44 {
    IPPORT_ECHO___44 = 7,
    IPPORT_DISCARD___44 = 9,
    IPPORT_SYSTAT___44 = 11,
    IPPORT_DAYTIME___44 = 13,
    IPPORT_NETSTAT___44 = 15,
    IPPORT_FTP___44 = 21,
    IPPORT_TELNET___44 = 23,
    IPPORT_SMTP___44 = 25,
    IPPORT_TIMESERVER___44 = 37,
    IPPORT_NAMESERVER___44 = 42,
    IPPORT_WHOIS___44 = 43,
    IPPORT_MTP___44 = 57,
    IPPORT_TFTP___44 = 69,
    IPPORT_RJE___44 = 77,
    IPPORT_FINGER___44 = 79,
    IPPORT_TTYLINK___44 = 87,
    IPPORT_SUPDUP___44 = 95,
    IPPORT_EXECSERVER___44 = 512,
    IPPORT_LOGINSERVER___44 = 513,
    IPPORT_CMDSERVER___44 = 514,
    IPPORT_EFSSERVER___44 = 520,
    IPPORT_BIFFUDP___44 = 512,
    IPPORT_WHOSERVER___44 = 513,
    IPPORT_ROUTESERVER___44 = 520,
    IPPORT_RESERVED___44 = 1024,
    IPPORT_USERRESERVED___44 = 5000
} ;
enum __anonenum_788308992___44 {
    TCP_ESTABLISHED___44 = 1,
    TCP_SYN_SENT___44 = 2,
    TCP_SYN_RECV___44 = 3,
    TCP_FIN_WAIT1___44 = 4,
    TCP_FIN_WAIT2___44 = 5,
    TCP_TIME_WAIT___44 = 6,
    TCP_CLOSE___44 = 7,
    TCP_CLOSE_WAIT___44 = 8,
    TCP_LAST_ACK___44 = 9,
    TCP_LISTEN___44 = 10,
    TCP_CLOSING___44 = 11
} ;
enum __anonenum_221125648___44 {
    TCP_NO_QUEUE___44 = 0,
    TCP_RECV_QUEUE___44 = 1,
    TCP_SEND_QUEUE___44 = 2,
    TCP_QUEUES_NR___44 = 3
} ;
enum __anonenum_34415463___44 {
    PTHREAD_CREATE_JOINABLE___44 = 0,
    PTHREAD_CREATE_DETACHED___44 = 1
} ;
enum __anonenum_303612439___44 {
    PTHREAD_MUTEX_TIMED_NP___44 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___44 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___44 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___44 = 3,
    PTHREAD_MUTEX_NORMAL___44 = 0,
    PTHREAD_MUTEX_RECURSIVE___44 = 1,
    PTHREAD_MUTEX_ERRORCHECK___44 = 2,
    PTHREAD_MUTEX_DEFAULT___44 = 0,
    PTHREAD_MUTEX_FAST_NP___44 = 0
} ;
enum __anonenum_931900394___44 {
    PTHREAD_MUTEX_STALLED___44 = 0,
    PTHREAD_MUTEX_STALLED_NP___44 = 0,
    PTHREAD_MUTEX_ROBUST___44 = 1,
    PTHREAD_MUTEX_ROBUST_NP___44 = 1
} ;
enum __anonenum_205214487___44 {
    PTHREAD_PRIO_NONE___44 = 0,
    PTHREAD_PRIO_INHERIT___44 = 1,
    PTHREAD_PRIO_PROTECT___44 = 2
} ;
enum __anonenum_25043950___44 {
    PTHREAD_RWLOCK_PREFER_READER_NP___44 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___44 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___44 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___44 = 0
} ;
enum __anonenum_436439511___44 {
    PTHREAD_INHERIT_SCHED___44 = 0,
    PTHREAD_EXPLICIT_SCHED___44 = 1
} ;
enum __anonenum_998661166___44 {
    PTHREAD_SCOPE_SYSTEM___44 = 0,
    PTHREAD_SCOPE_PROCESS___44 = 1
} ;
enum __anonenum_146137331___44 {
    PTHREAD_PROCESS_PRIVATE___44 = 0,
    PTHREAD_PROCESS_SHARED___44 = 1
} ;
enum __anonenum_53396917___44 {
    PTHREAD_CANCEL_ENABLE___44 = 0,
    PTHREAD_CANCEL_DISABLE___44 = 1
} ;
enum __anonenum_904563783___44 {
    PTHREAD_CANCEL_DEFERRED___44 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___44 = 1
} ;
enum __anonenum_672052974___44 {
    SSL_CT_VALIDATION_PERMISSIVE___44 = 0,
    SSL_CT_VALIDATION_STRICT___44 = 1
} ;
struct __anonstruct_hide_165001531 {
   unsigned int year : 1 ;
   unsigned int date : 1 ;
   unsigned int wday : 1 ;
   unsigned int time : 1 ;
   unsigned int seconds : 1 ;
   unsigned int tz : 1 ;
};
struct __anonstruct_timezone_names_37437826 {
   char const   *name ;
   int offset ;
   int dst ;
};
struct special {
   char const   *name ;
   void (*fn)(struct tm * , struct tm * , int * ) ;
};
struct typelen {
   char const   *type ;
   int length ;
};
enum __anonenum_437032235___45 {
    _PC_LINK_MAX___45 = 0,
    _PC_MAX_CANON___45 = 1,
    _PC_MAX_INPUT___45 = 2,
    _PC_NAME_MAX___45 = 3,
    _PC_PATH_MAX___45 = 4,
    _PC_PIPE_BUF___45 = 5,
    _PC_CHOWN_RESTRICTED___45 = 6,
    _PC_NO_TRUNC___45 = 7,
    _PC_VDISABLE___45 = 8,
    _PC_SYNC_IO___45 = 9,
    _PC_ASYNC_IO___45 = 10,
    _PC_PRIO_IO___45 = 11,
    _PC_SOCK_MAXBUF___45 = 12,
    _PC_FILESIZEBITS___45 = 13,
    _PC_REC_INCR_XFER_SIZE___45 = 14,
    _PC_REC_MAX_XFER_SIZE___45 = 15,
    _PC_REC_MIN_XFER_SIZE___45 = 16,
    _PC_REC_XFER_ALIGN___45 = 17,
    _PC_ALLOC_SIZE_MIN___45 = 18,
    _PC_SYMLINK_MAX___45 = 19,
    _PC_2_SYMLINKS___45 = 20
} ;
enum __anonenum_315186338___45 {
    _SC_ARG_MAX___45 = 0,
    _SC_CHILD_MAX___45 = 1,
    _SC_CLK_TCK___45 = 2,
    _SC_NGROUPS_MAX___45 = 3,
    _SC_OPEN_MAX___45 = 4,
    _SC_STREAM_MAX___45 = 5,
    _SC_TZNAME_MAX___45 = 6,
    _SC_JOB_CONTROL___45 = 7,
    _SC_SAVED_IDS___45 = 8,
    _SC_REALTIME_SIGNALS___45 = 9,
    _SC_PRIORITY_SCHEDULING___45 = 10,
    _SC_TIMERS___45 = 11,
    _SC_ASYNCHRONOUS_IO___45 = 12,
    _SC_PRIORITIZED_IO___45 = 13,
    _SC_SYNCHRONIZED_IO___45 = 14,
    _SC_FSYNC___45 = 15,
    _SC_MAPPED_FILES___45 = 16,
    _SC_MEMLOCK___45 = 17,
    _SC_MEMLOCK_RANGE___45 = 18,
    _SC_MEMORY_PROTECTION___45 = 19,
    _SC_MESSAGE_PASSING___45 = 20,
    _SC_SEMAPHORES___45 = 21,
    _SC_SHARED_MEMORY_OBJECTS___45 = 22,
    _SC_AIO_LISTIO_MAX___45 = 23,
    _SC_AIO_MAX___45 = 24,
    _SC_AIO_PRIO_DELTA_MAX___45 = 25,
    _SC_DELAYTIMER_MAX___45 = 26,
    _SC_MQ_OPEN_MAX___45 = 27,
    _SC_MQ_PRIO_MAX___45 = 28,
    _SC_VERSION___45 = 29,
    _SC_PAGESIZE___45 = 30,
    _SC_RTSIG_MAX___45 = 31,
    _SC_SEM_NSEMS_MAX___45 = 32,
    _SC_SEM_VALUE_MAX___45 = 33,
    _SC_SIGQUEUE_MAX___45 = 34,
    _SC_TIMER_MAX___45 = 35,
    _SC_BC_BASE_MAX___45 = 36,
    _SC_BC_DIM_MAX___45 = 37,
    _SC_BC_SCALE_MAX___45 = 38,
    _SC_BC_STRING_MAX___45 = 39,
    _SC_COLL_WEIGHTS_MAX___45 = 40,
    _SC_EQUIV_CLASS_MAX___45 = 41,
    _SC_EXPR_NEST_MAX___45 = 42,
    _SC_LINE_MAX___45 = 43,
    _SC_RE_DUP_MAX___45 = 44,
    _SC_CHARCLASS_NAME_MAX___45 = 45,
    _SC_2_VERSION___45 = 46,
    _SC_2_C_BIND___45 = 47,
    _SC_2_C_DEV___45 = 48,
    _SC_2_FORT_DEV___45 = 49,
    _SC_2_FORT_RUN___45 = 50,
    _SC_2_SW_DEV___45 = 51,
    _SC_2_LOCALEDEF___45 = 52,
    _SC_PII___45 = 53,
    _SC_PII_XTI___45 = 54,
    _SC_PII_SOCKET___45 = 55,
    _SC_PII_INTERNET___45 = 56,
    _SC_PII_OSI___45 = 57,
    _SC_POLL___45 = 58,
    _SC_SELECT___45 = 59,
    _SC_UIO_MAXIOV___45 = 60,
    _SC_IOV_MAX___45 = 60,
    _SC_PII_INTERNET_STREAM___45 = 61,
    _SC_PII_INTERNET_DGRAM___45 = 62,
    _SC_PII_OSI_COTS___45 = 63,
    _SC_PII_OSI_CLTS___45 = 64,
    _SC_PII_OSI_M___45 = 65,
    _SC_T_IOV_MAX___45 = 66,
    _SC_THREADS___45 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___45 = 68,
    _SC_GETGR_R_SIZE_MAX___45 = 69,
    _SC_GETPW_R_SIZE_MAX___45 = 70,
    _SC_LOGIN_NAME_MAX___45 = 71,
    _SC_TTY_NAME_MAX___45 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___45 = 73,
    _SC_THREAD_KEYS_MAX___45 = 74,
    _SC_THREAD_STACK_MIN___45 = 75,
    _SC_THREAD_THREADS_MAX___45 = 76,
    _SC_THREAD_ATTR_STACKADDR___45 = 77,
    _SC_THREAD_ATTR_STACKSIZE___45 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___45 = 79,
    _SC_THREAD_PRIO_INHERIT___45 = 80,
    _SC_THREAD_PRIO_PROTECT___45 = 81,
    _SC_THREAD_PROCESS_SHARED___45 = 82,
    _SC_NPROCESSORS_CONF___45 = 83,
    _SC_NPROCESSORS_ONLN___45 = 84,
    _SC_PHYS_PAGES___45 = 85,
    _SC_AVPHYS_PAGES___45 = 86,
    _SC_ATEXIT_MAX___45 = 87,
    _SC_PASS_MAX___45 = 88,
    _SC_XOPEN_VERSION___45 = 89,
    _SC_XOPEN_XCU_VERSION___45 = 90,
    _SC_XOPEN_UNIX___45 = 91,
    _SC_XOPEN_CRYPT___45 = 92,
    _SC_XOPEN_ENH_I18N___45 = 93,
    _SC_XOPEN_SHM___45 = 94,
    _SC_2_CHAR_TERM___45 = 95,
    _SC_2_C_VERSION___45 = 96,
    _SC_2_UPE___45 = 97,
    _SC_XOPEN_XPG2___45 = 98,
    _SC_XOPEN_XPG3___45 = 99,
    _SC_XOPEN_XPG4___45 = 100,
    _SC_CHAR_BIT___45 = 101,
    _SC_CHAR_MAX___45 = 102,
    _SC_CHAR_MIN___45 = 103,
    _SC_INT_MAX___45 = 104,
    _SC_INT_MIN___45 = 105,
    _SC_LONG_BIT___45 = 106,
    _SC_WORD_BIT___45 = 107,
    _SC_MB_LEN_MAX___45 = 108,
    _SC_NZERO___45 = 109,
    _SC_SSIZE_MAX___45 = 110,
    _SC_SCHAR_MAX___45 = 111,
    _SC_SCHAR_MIN___45 = 112,
    _SC_SHRT_MAX___45 = 113,
    _SC_SHRT_MIN___45 = 114,
    _SC_UCHAR_MAX___45 = 115,
    _SC_UINT_MAX___45 = 116,
    _SC_ULONG_MAX___45 = 117,
    _SC_USHRT_MAX___45 = 118,
    _SC_NL_ARGMAX___45 = 119,
    _SC_NL_LANGMAX___45 = 120,
    _SC_NL_MSGMAX___45 = 121,
    _SC_NL_NMAX___45 = 122,
    _SC_NL_SETMAX___45 = 123,
    _SC_NL_TEXTMAX___45 = 124,
    _SC_XBS5_ILP32_OFF32___45 = 125,
    _SC_XBS5_ILP32_OFFBIG___45 = 126,
    _SC_XBS5_LP64_OFF64___45 = 127,
    _SC_XBS5_LPBIG_OFFBIG___45 = 128,
    _SC_XOPEN_LEGACY___45 = 129,
    _SC_XOPEN_REALTIME___45 = 130,
    _SC_XOPEN_REALTIME_THREADS___45 = 131,
    _SC_ADVISORY_INFO___45 = 132,
    _SC_BARRIERS___45 = 133,
    _SC_BASE___45 = 134,
    _SC_C_LANG_SUPPORT___45 = 135,
    _SC_C_LANG_SUPPORT_R___45 = 136,
    _SC_CLOCK_SELECTION___45 = 137,
    _SC_CPUTIME___45 = 138,
    _SC_THREAD_CPUTIME___45 = 139,
    _SC_DEVICE_IO___45 = 140,
    _SC_DEVICE_SPECIFIC___45 = 141,
    _SC_DEVICE_SPECIFIC_R___45 = 142,
    _SC_FD_MGMT___45 = 143,
    _SC_FIFO___45 = 144,
    _SC_PIPE___45 = 145,
    _SC_FILE_ATTRIBUTES___45 = 146,
    _SC_FILE_LOCKING___45 = 147,
    _SC_FILE_SYSTEM___45 = 148,
    _SC_MONOTONIC_CLOCK___45 = 149,
    _SC_MULTI_PROCESS___45 = 150,
    _SC_SINGLE_PROCESS___45 = 151,
    _SC_NETWORKING___45 = 152,
    _SC_READER_WRITER_LOCKS___45 = 153,
    _SC_SPIN_LOCKS___45 = 154,
    _SC_REGEXP___45 = 155,
    _SC_REGEX_VERSION___45 = 156,
    _SC_SHELL___45 = 157,
    _SC_SIGNALS___45 = 158,
    _SC_SPAWN___45 = 159,
    _SC_SPORADIC_SERVER___45 = 160,
    _SC_THREAD_SPORADIC_SERVER___45 = 161,
    _SC_SYSTEM_DATABASE___45 = 162,
    _SC_SYSTEM_DATABASE_R___45 = 163,
    _SC_TIMEOUTS___45 = 164,
    _SC_TYPED_MEMORY_OBJECTS___45 = 165,
    _SC_USER_GROUPS___45 = 166,
    _SC_USER_GROUPS_R___45 = 167,
    _SC_2_PBS___45 = 168,
    _SC_2_PBS_ACCOUNTING___45 = 169,
    _SC_2_PBS_LOCATE___45 = 170,
    _SC_2_PBS_MESSAGE___45 = 171,
    _SC_2_PBS_TRACK___45 = 172,
    _SC_SYMLOOP_MAX___45 = 173,
    _SC_STREAMS___45 = 174,
    _SC_2_PBS_CHECKPOINT___45 = 175,
    _SC_V6_ILP32_OFF32___45 = 176,
    _SC_V6_ILP32_OFFBIG___45 = 177,
    _SC_V6_LP64_OFF64___45 = 178,
    _SC_V6_LPBIG_OFFBIG___45 = 179,
    _SC_HOST_NAME_MAX___45 = 180,
    _SC_TRACE___45 = 181,
    _SC_TRACE_EVENT_FILTER___45 = 182,
    _SC_TRACE_INHERIT___45 = 183,
    _SC_TRACE_LOG___45 = 184,
    _SC_LEVEL1_ICACHE_SIZE___45 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___45 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___45 = 187,
    _SC_LEVEL1_DCACHE_SIZE___45 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___45 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___45 = 190,
    _SC_LEVEL2_CACHE_SIZE___45 = 191,
    _SC_LEVEL2_CACHE_ASSOC___45 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___45 = 193,
    _SC_LEVEL3_CACHE_SIZE___45 = 194,
    _SC_LEVEL3_CACHE_ASSOC___45 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___45 = 196,
    _SC_LEVEL4_CACHE_SIZE___45 = 197,
    _SC_LEVEL4_CACHE_ASSOC___45 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___45 = 199,
    _SC_IPV6___45 = 235,
    _SC_RAW_SOCKETS___45 = 236,
    _SC_V7_ILP32_OFF32___45 = 237,
    _SC_V7_ILP32_OFFBIG___45 = 238,
    _SC_V7_LP64_OFF64___45 = 239,
    _SC_V7_LPBIG_OFFBIG___45 = 240,
    _SC_SS_REPL_MAX___45 = 241,
    _SC_TRACE_EVENT_NAME_MAX___45 = 242,
    _SC_TRACE_NAME_MAX___45 = 243,
    _SC_TRACE_SYS_MAX___45 = 244,
    _SC_TRACE_USER_EVENT_MAX___45 = 245,
    _SC_XOPEN_STREAMS___45 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___45 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___45 = 248
} ;
enum __anonenum_875524036___45 {
    _CS_PATH___45 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___45 = 1,
    _CS_GNU_LIBC_VERSION___45 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___45 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___45 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___45 = 5,
    _CS_LFS_CFLAGS___45 = 1000,
    _CS_LFS_LDFLAGS___45 = 1001,
    _CS_LFS_LIBS___45 = 1002,
    _CS_LFS_LINTFLAGS___45 = 1003,
    _CS_LFS64_CFLAGS___45 = 1004,
    _CS_LFS64_LDFLAGS___45 = 1005,
    _CS_LFS64_LIBS___45 = 1006,
    _CS_LFS64_LINTFLAGS___45 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___45 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___45 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___45 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___45 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___45 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___45 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___45 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___45 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___45 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___45 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___45 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___45 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___45 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___45 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___45 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___45 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___45 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___45 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___45 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___45 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___45 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___45 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___45 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___45 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___45 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___45 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___45 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___45 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___45 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___45 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___45 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___45 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___45 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___45 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___45 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___45 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___45 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___45 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___45 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___45 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___45 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___45 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___45 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___45 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___45 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___45 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___45 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___45 = 1147,
    _CS_V6_ENV___45 = 1148,
    _CS_V7_ENV___45 = 1149
} ;
enum __anonenum_513775621___45 {
    DT_UNKNOWN___45 = 0,
    DT_FIFO___45 = 1,
    DT_CHR___45 = 2,
    DT_DIR___45 = 4,
    DT_BLK___45 = 6,
    DT_REG___45 = 8,
    DT_LNK___45 = 10,
    DT_SOCK___45 = 12,
    DT_WHT___45 = 14
} ;
enum __anonenum_77002343___45 {
    SI_ASYNCNL___45 = -60,
    SI_TKILL___45 = -6,
    SI_SIGIO___45 = -5,
    SI_ASYNCIO___45 = -4,
    SI_MESGQ___45 = -3,
    SI_TIMER___45 = -2,
    SI_QUEUE___45 = -1,
    SI_USER___45 = 0,
    SI_KERNEL___45 = 128
} ;
enum __anonenum_131038172___45 {
    ILL_ILLOPC___45 = 1,
    ILL_ILLOPN___45 = 2,
    ILL_ILLADR___45 = 3,
    ILL_ILLTRP___45 = 4,
    ILL_PRVOPC___45 = 5,
    ILL_PRVREG___45 = 6,
    ILL_COPROC___45 = 7,
    ILL_BADSTK___45 = 8
} ;
enum __anonenum_452038093___45 {
    FPE_INTDIV___45 = 1,
    FPE_INTOVF___45 = 2,
    FPE_FLTDIV___45 = 3,
    FPE_FLTOVF___45 = 4,
    FPE_FLTUND___45 = 5,
    FPE_FLTRES___45 = 6,
    FPE_FLTINV___45 = 7,
    FPE_FLTSUB___45 = 8
} ;
enum __anonenum_30976155___45 {
    SEGV_MAPERR___45 = 1,
    SEGV_ACCERR___45 = 2,
    SEGV_BNDERR___45 = 3,
    SEGV_PKUERR___45 = 4
} ;
enum __anonenum_1036286214___45 {
    BUS_ADRALN___45 = 1,
    BUS_ADRERR___45 = 2,
    BUS_OBJERR___45 = 3,
    BUS_MCEERR_AR___45 = 4,
    BUS_MCEERR_AO___45 = 5
} ;
enum __anonenum_493465559___45 {
    TRAP_BRKPT___45 = 1,
    TRAP_TRACE___45 = 2
} ;
enum __anonenum_23175539___45 {
    CLD_EXITED___45 = 1,
    CLD_KILLED___45 = 2,
    CLD_DUMPED___45 = 3,
    CLD_TRAPPED___45 = 4,
    CLD_STOPPED___45 = 5,
    CLD_CONTINUED___45 = 6
} ;
enum __anonenum_111643124___45 {
    POLL_IN___45 = 1,
    POLL_OUT___45 = 2,
    POLL_MSG___45 = 3,
    POLL_ERR___45 = 4,
    POLL_PRI___45 = 5,
    POLL_HUP___45 = 6
} ;
enum __anonenum_852341087___45 {
    SIGEV_SIGNAL___45 = 0,
    SIGEV_NONE___45 = 1,
    SIGEV_THREAD___45 = 2,
    SIGEV_THREAD_ID___45 = 4
} ;
enum __anonenum_451154152___45 {
    REG_R8___45 = 0,
    REG_R9___45 = 1,
    REG_R10___45 = 2,
    REG_R11___45 = 3,
    REG_R12___45 = 4,
    REG_R13___45 = 5,
    REG_R14___45 = 6,
    REG_R15___45 = 7,
    REG_RDI___45 = 8,
    REG_RSI___45 = 9,
    REG_RBP___45 = 10,
    REG_RBX___45 = 11,
    REG_RDX___45 = 12,
    REG_RAX___45 = 13,
    REG_RCX___45 = 14,
    REG_RSP___45 = 15,
    REG_RIP___45 = 16,
    REG_EFL___45 = 17,
    REG_CSGSFS___45 = 18,
    REG_ERR___45 = 19,
    REG_TRAPNO___45 = 20,
    REG_OLDMASK___45 = 21,
    REG_CR2___45 = 22
} ;
enum __anonenum_57186863___45 {
    SS_ONSTACK___45 = 1,
    SS_DISABLE___45 = 2
} ;
enum __anonenum_83571709___45 {
    MSG_OOB___45 = 1,
    MSG_PEEK___45 = 2,
    MSG_DONTROUTE___45 = 4,
    MSG_TRYHARD___45 = 4,
    MSG_CTRUNC___45 = 8,
    MSG_PROXY___45 = 16,
    MSG_TRUNC___45 = 32,
    MSG_DONTWAIT___45 = 64,
    MSG_EOR___45 = 128,
    MSG_WAITALL___45 = 256,
    MSG_FIN___45 = 512,
    MSG_SYN___45 = 1024,
    MSG_CONFIRM___45 = 2048,
    MSG_RST___45 = 4096,
    MSG_ERRQUEUE___45 = 8192,
    MSG_NOSIGNAL___45 = 16384,
    MSG_MORE___45 = 32768,
    MSG_WAITFORONE___45 = 65536,
    MSG_BATCH___45 = 262144,
    MSG_ZEROCOPY___45 = 67108864,
    MSG_FASTOPEN___45 = 536870912,
    MSG_CMSG_CLOEXEC___45 = 1073741824
} ;
enum __anonenum_617082774___45 {
    SCM_RIGHTS___45 = 1,
    SCM_CREDENTIALS___45 = 2
} ;
enum __anonenum_606441560___45 {
    SHUT_RD___45 = 0,
    SHUT_WR___45 = 1,
    SHUT_RDWR___45 = 2
} ;
enum __anonenum_681669233___45 {
    IPPROTO_IP___45 = 0,
    IPPROTO_ICMP___45 = 1,
    IPPROTO_IGMP___45 = 2,
    IPPROTO_IPIP___45 = 4,
    IPPROTO_TCP___45 = 6,
    IPPROTO_EGP___45 = 8,
    IPPROTO_PUP___45 = 12,
    IPPROTO_UDP___45 = 17,
    IPPROTO_IDP___45 = 22,
    IPPROTO_TP___45 = 29,
    IPPROTO_DCCP___45 = 33,
    IPPROTO_IPV6___45 = 41,
    IPPROTO_RSVP___45 = 46,
    IPPROTO_GRE___45 = 47,
    IPPROTO_ESP___45 = 50,
    IPPROTO_AH___45 = 51,
    IPPROTO_MTP___45 = 92,
    IPPROTO_BEETPH___45 = 94,
    IPPROTO_ENCAP___45 = 98,
    IPPROTO_PIM___45 = 103,
    IPPROTO_COMP___45 = 108,
    IPPROTO_SCTP___45 = 132,
    IPPROTO_UDPLITE___45 = 136,
    IPPROTO_MPLS___45 = 137,
    IPPROTO_RAW___45 = 255,
    IPPROTO_MAX___45 = 256
} ;
enum __anonenum_218739988___45 {
    IPPROTO_HOPOPTS___45 = 0,
    IPPROTO_ROUTING___45 = 43,
    IPPROTO_FRAGMENT___45 = 44,
    IPPROTO_ICMPV6___45 = 58,
    IPPROTO_NONE___45 = 59,
    IPPROTO_DSTOPTS___45 = 60,
    IPPROTO_MH___45 = 135
} ;
enum __anonenum_662268580___45 {
    IPPORT_ECHO___45 = 7,
    IPPORT_DISCARD___45 = 9,
    IPPORT_SYSTAT___45 = 11,
    IPPORT_DAYTIME___45 = 13,
    IPPORT_NETSTAT___45 = 15,
    IPPORT_FTP___45 = 21,
    IPPORT_TELNET___45 = 23,
    IPPORT_SMTP___45 = 25,
    IPPORT_TIMESERVER___45 = 37,
    IPPORT_NAMESERVER___45 = 42,
    IPPORT_WHOIS___45 = 43,
    IPPORT_MTP___45 = 57,
    IPPORT_TFTP___45 = 69,
    IPPORT_RJE___45 = 77,
    IPPORT_FINGER___45 = 79,
    IPPORT_TTYLINK___45 = 87,
    IPPORT_SUPDUP___45 = 95,
    IPPORT_EXECSERVER___45 = 512,
    IPPORT_LOGINSERVER___45 = 513,
    IPPORT_CMDSERVER___45 = 514,
    IPPORT_EFSSERVER___45 = 520,
    IPPORT_BIFFUDP___45 = 512,
    IPPORT_WHOSERVER___45 = 513,
    IPPORT_ROUTESERVER___45 = 520,
    IPPORT_RESERVED___45 = 1024,
    IPPORT_USERRESERVED___45 = 5000
} ;
enum __anonenum_788308992___45 {
    TCP_ESTABLISHED___45 = 1,
    TCP_SYN_SENT___45 = 2,
    TCP_SYN_RECV___45 = 3,
    TCP_FIN_WAIT1___45 = 4,
    TCP_FIN_WAIT2___45 = 5,
    TCP_TIME_WAIT___45 = 6,
    TCP_CLOSE___45 = 7,
    TCP_CLOSE_WAIT___45 = 8,
    TCP_LAST_ACK___45 = 9,
    TCP_LISTEN___45 = 10,
    TCP_CLOSING___45 = 11
} ;
enum __anonenum_221125648___45 {
    TCP_NO_QUEUE___45 = 0,
    TCP_RECV_QUEUE___45 = 1,
    TCP_SEND_QUEUE___45 = 2,
    TCP_QUEUES_NR___45 = 3
} ;
enum __anonenum_34415463___45 {
    PTHREAD_CREATE_JOINABLE___45 = 0,
    PTHREAD_CREATE_DETACHED___45 = 1
} ;
enum __anonenum_303612439___45 {
    PTHREAD_MUTEX_TIMED_NP___45 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___45 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___45 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___45 = 3,
    PTHREAD_MUTEX_NORMAL___45 = 0,
    PTHREAD_MUTEX_RECURSIVE___45 = 1,
    PTHREAD_MUTEX_ERRORCHECK___45 = 2,
    PTHREAD_MUTEX_DEFAULT___45 = 0,
    PTHREAD_MUTEX_FAST_NP___45 = 0
} ;
enum __anonenum_931900394___45 {
    PTHREAD_MUTEX_STALLED___45 = 0,
    PTHREAD_MUTEX_STALLED_NP___45 = 0,
    PTHREAD_MUTEX_ROBUST___45 = 1,
    PTHREAD_MUTEX_ROBUST_NP___45 = 1
} ;
enum __anonenum_205214487___45 {
    PTHREAD_PRIO_NONE___45 = 0,
    PTHREAD_PRIO_INHERIT___45 = 1,
    PTHREAD_PRIO_PROTECT___45 = 2
} ;
enum __anonenum_25043950___45 {
    PTHREAD_RWLOCK_PREFER_READER_NP___45 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___45 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___45 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___45 = 0
} ;
enum __anonenum_436439511___45 {
    PTHREAD_INHERIT_SCHED___45 = 0,
    PTHREAD_EXPLICIT_SCHED___45 = 1
} ;
enum __anonenum_998661166___45 {
    PTHREAD_SCOPE_SYSTEM___45 = 0,
    PTHREAD_SCOPE_PROCESS___45 = 1
} ;
enum __anonenum_146137331___45 {
    PTHREAD_PROCESS_PRIVATE___45 = 0,
    PTHREAD_PROCESS_SHARED___45 = 1
} ;
enum __anonenum_53396917___45 {
    PTHREAD_CANCEL_ENABLE___45 = 0,
    PTHREAD_CANCEL_DISABLE___45 = 1
} ;
enum __anonenum_904563783___45 {
    PTHREAD_CANCEL_DEFERRED___45 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___45 = 1
} ;
enum __anonenum_672052974___45 {
    SSL_CT_VALIDATION_PERMISSIVE___45 = 0,
    SSL_CT_VALIDATION_STRICT___45 = 1
} ;
enum __anonenum_437032235___46 {
    _PC_LINK_MAX___46 = 0,
    _PC_MAX_CANON___46 = 1,
    _PC_MAX_INPUT___46 = 2,
    _PC_NAME_MAX___46 = 3,
    _PC_PATH_MAX___46 = 4,
    _PC_PIPE_BUF___46 = 5,
    _PC_CHOWN_RESTRICTED___46 = 6,
    _PC_NO_TRUNC___46 = 7,
    _PC_VDISABLE___46 = 8,
    _PC_SYNC_IO___46 = 9,
    _PC_ASYNC_IO___46 = 10,
    _PC_PRIO_IO___46 = 11,
    _PC_SOCK_MAXBUF___46 = 12,
    _PC_FILESIZEBITS___46 = 13,
    _PC_REC_INCR_XFER_SIZE___46 = 14,
    _PC_REC_MAX_XFER_SIZE___46 = 15,
    _PC_REC_MIN_XFER_SIZE___46 = 16,
    _PC_REC_XFER_ALIGN___46 = 17,
    _PC_ALLOC_SIZE_MIN___46 = 18,
    _PC_SYMLINK_MAX___46 = 19,
    _PC_2_SYMLINKS___46 = 20
} ;
enum __anonenum_315186338___46 {
    _SC_ARG_MAX___46 = 0,
    _SC_CHILD_MAX___46 = 1,
    _SC_CLK_TCK___46 = 2,
    _SC_NGROUPS_MAX___46 = 3,
    _SC_OPEN_MAX___46 = 4,
    _SC_STREAM_MAX___46 = 5,
    _SC_TZNAME_MAX___46 = 6,
    _SC_JOB_CONTROL___46 = 7,
    _SC_SAVED_IDS___46 = 8,
    _SC_REALTIME_SIGNALS___46 = 9,
    _SC_PRIORITY_SCHEDULING___46 = 10,
    _SC_TIMERS___46 = 11,
    _SC_ASYNCHRONOUS_IO___46 = 12,
    _SC_PRIORITIZED_IO___46 = 13,
    _SC_SYNCHRONIZED_IO___46 = 14,
    _SC_FSYNC___46 = 15,
    _SC_MAPPED_FILES___46 = 16,
    _SC_MEMLOCK___46 = 17,
    _SC_MEMLOCK_RANGE___46 = 18,
    _SC_MEMORY_PROTECTION___46 = 19,
    _SC_MESSAGE_PASSING___46 = 20,
    _SC_SEMAPHORES___46 = 21,
    _SC_SHARED_MEMORY_OBJECTS___46 = 22,
    _SC_AIO_LISTIO_MAX___46 = 23,
    _SC_AIO_MAX___46 = 24,
    _SC_AIO_PRIO_DELTA_MAX___46 = 25,
    _SC_DELAYTIMER_MAX___46 = 26,
    _SC_MQ_OPEN_MAX___46 = 27,
    _SC_MQ_PRIO_MAX___46 = 28,
    _SC_VERSION___46 = 29,
    _SC_PAGESIZE___46 = 30,
    _SC_RTSIG_MAX___46 = 31,
    _SC_SEM_NSEMS_MAX___46 = 32,
    _SC_SEM_VALUE_MAX___46 = 33,
    _SC_SIGQUEUE_MAX___46 = 34,
    _SC_TIMER_MAX___46 = 35,
    _SC_BC_BASE_MAX___46 = 36,
    _SC_BC_DIM_MAX___46 = 37,
    _SC_BC_SCALE_MAX___46 = 38,
    _SC_BC_STRING_MAX___46 = 39,
    _SC_COLL_WEIGHTS_MAX___46 = 40,
    _SC_EQUIV_CLASS_MAX___46 = 41,
    _SC_EXPR_NEST_MAX___46 = 42,
    _SC_LINE_MAX___46 = 43,
    _SC_RE_DUP_MAX___46 = 44,
    _SC_CHARCLASS_NAME_MAX___46 = 45,
    _SC_2_VERSION___46 = 46,
    _SC_2_C_BIND___46 = 47,
    _SC_2_C_DEV___46 = 48,
    _SC_2_FORT_DEV___46 = 49,
    _SC_2_FORT_RUN___46 = 50,
    _SC_2_SW_DEV___46 = 51,
    _SC_2_LOCALEDEF___46 = 52,
    _SC_PII___46 = 53,
    _SC_PII_XTI___46 = 54,
    _SC_PII_SOCKET___46 = 55,
    _SC_PII_INTERNET___46 = 56,
    _SC_PII_OSI___46 = 57,
    _SC_POLL___46 = 58,
    _SC_SELECT___46 = 59,
    _SC_UIO_MAXIOV___46 = 60,
    _SC_IOV_MAX___46 = 60,
    _SC_PII_INTERNET_STREAM___46 = 61,
    _SC_PII_INTERNET_DGRAM___46 = 62,
    _SC_PII_OSI_COTS___46 = 63,
    _SC_PII_OSI_CLTS___46 = 64,
    _SC_PII_OSI_M___46 = 65,
    _SC_T_IOV_MAX___46 = 66,
    _SC_THREADS___46 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___46 = 68,
    _SC_GETGR_R_SIZE_MAX___46 = 69,
    _SC_GETPW_R_SIZE_MAX___46 = 70,
    _SC_LOGIN_NAME_MAX___46 = 71,
    _SC_TTY_NAME_MAX___46 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___46 = 73,
    _SC_THREAD_KEYS_MAX___46 = 74,
    _SC_THREAD_STACK_MIN___46 = 75,
    _SC_THREAD_THREADS_MAX___46 = 76,
    _SC_THREAD_ATTR_STACKADDR___46 = 77,
    _SC_THREAD_ATTR_STACKSIZE___46 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___46 = 79,
    _SC_THREAD_PRIO_INHERIT___46 = 80,
    _SC_THREAD_PRIO_PROTECT___46 = 81,
    _SC_THREAD_PROCESS_SHARED___46 = 82,
    _SC_NPROCESSORS_CONF___46 = 83,
    _SC_NPROCESSORS_ONLN___46 = 84,
    _SC_PHYS_PAGES___46 = 85,
    _SC_AVPHYS_PAGES___46 = 86,
    _SC_ATEXIT_MAX___46 = 87,
    _SC_PASS_MAX___46 = 88,
    _SC_XOPEN_VERSION___46 = 89,
    _SC_XOPEN_XCU_VERSION___46 = 90,
    _SC_XOPEN_UNIX___46 = 91,
    _SC_XOPEN_CRYPT___46 = 92,
    _SC_XOPEN_ENH_I18N___46 = 93,
    _SC_XOPEN_SHM___46 = 94,
    _SC_2_CHAR_TERM___46 = 95,
    _SC_2_C_VERSION___46 = 96,
    _SC_2_UPE___46 = 97,
    _SC_XOPEN_XPG2___46 = 98,
    _SC_XOPEN_XPG3___46 = 99,
    _SC_XOPEN_XPG4___46 = 100,
    _SC_CHAR_BIT___46 = 101,
    _SC_CHAR_MAX___46 = 102,
    _SC_CHAR_MIN___46 = 103,
    _SC_INT_MAX___46 = 104,
    _SC_INT_MIN___46 = 105,
    _SC_LONG_BIT___46 = 106,
    _SC_WORD_BIT___46 = 107,
    _SC_MB_LEN_MAX___46 = 108,
    _SC_NZERO___46 = 109,
    _SC_SSIZE_MAX___46 = 110,
    _SC_SCHAR_MAX___46 = 111,
    _SC_SCHAR_MIN___46 = 112,
    _SC_SHRT_MAX___46 = 113,
    _SC_SHRT_MIN___46 = 114,
    _SC_UCHAR_MAX___46 = 115,
    _SC_UINT_MAX___46 = 116,
    _SC_ULONG_MAX___46 = 117,
    _SC_USHRT_MAX___46 = 118,
    _SC_NL_ARGMAX___46 = 119,
    _SC_NL_LANGMAX___46 = 120,
    _SC_NL_MSGMAX___46 = 121,
    _SC_NL_NMAX___46 = 122,
    _SC_NL_SETMAX___46 = 123,
    _SC_NL_TEXTMAX___46 = 124,
    _SC_XBS5_ILP32_OFF32___46 = 125,
    _SC_XBS5_ILP32_OFFBIG___46 = 126,
    _SC_XBS5_LP64_OFF64___46 = 127,
    _SC_XBS5_LPBIG_OFFBIG___46 = 128,
    _SC_XOPEN_LEGACY___46 = 129,
    _SC_XOPEN_REALTIME___46 = 130,
    _SC_XOPEN_REALTIME_THREADS___46 = 131,
    _SC_ADVISORY_INFO___46 = 132,
    _SC_BARRIERS___46 = 133,
    _SC_BASE___46 = 134,
    _SC_C_LANG_SUPPORT___46 = 135,
    _SC_C_LANG_SUPPORT_R___46 = 136,
    _SC_CLOCK_SELECTION___46 = 137,
    _SC_CPUTIME___46 = 138,
    _SC_THREAD_CPUTIME___46 = 139,
    _SC_DEVICE_IO___46 = 140,
    _SC_DEVICE_SPECIFIC___46 = 141,
    _SC_DEVICE_SPECIFIC_R___46 = 142,
    _SC_FD_MGMT___46 = 143,
    _SC_FIFO___46 = 144,
    _SC_PIPE___46 = 145,
    _SC_FILE_ATTRIBUTES___46 = 146,
    _SC_FILE_LOCKING___46 = 147,
    _SC_FILE_SYSTEM___46 = 148,
    _SC_MONOTONIC_CLOCK___46 = 149,
    _SC_MULTI_PROCESS___46 = 150,
    _SC_SINGLE_PROCESS___46 = 151,
    _SC_NETWORKING___46 = 152,
    _SC_READER_WRITER_LOCKS___46 = 153,
    _SC_SPIN_LOCKS___46 = 154,
    _SC_REGEXP___46 = 155,
    _SC_REGEX_VERSION___46 = 156,
    _SC_SHELL___46 = 157,
    _SC_SIGNALS___46 = 158,
    _SC_SPAWN___46 = 159,
    _SC_SPORADIC_SERVER___46 = 160,
    _SC_THREAD_SPORADIC_SERVER___46 = 161,
    _SC_SYSTEM_DATABASE___46 = 162,
    _SC_SYSTEM_DATABASE_R___46 = 163,
    _SC_TIMEOUTS___46 = 164,
    _SC_TYPED_MEMORY_OBJECTS___46 = 165,
    _SC_USER_GROUPS___46 = 166,
    _SC_USER_GROUPS_R___46 = 167,
    _SC_2_PBS___46 = 168,
    _SC_2_PBS_ACCOUNTING___46 = 169,
    _SC_2_PBS_LOCATE___46 = 170,
    _SC_2_PBS_MESSAGE___46 = 171,
    _SC_2_PBS_TRACK___46 = 172,
    _SC_SYMLOOP_MAX___46 = 173,
    _SC_STREAMS___46 = 174,
    _SC_2_PBS_CHECKPOINT___46 = 175,
    _SC_V6_ILP32_OFF32___46 = 176,
    _SC_V6_ILP32_OFFBIG___46 = 177,
    _SC_V6_LP64_OFF64___46 = 178,
    _SC_V6_LPBIG_OFFBIG___46 = 179,
    _SC_HOST_NAME_MAX___46 = 180,
    _SC_TRACE___46 = 181,
    _SC_TRACE_EVENT_FILTER___46 = 182,
    _SC_TRACE_INHERIT___46 = 183,
    _SC_TRACE_LOG___46 = 184,
    _SC_LEVEL1_ICACHE_SIZE___46 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___46 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___46 = 187,
    _SC_LEVEL1_DCACHE_SIZE___46 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___46 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___46 = 190,
    _SC_LEVEL2_CACHE_SIZE___46 = 191,
    _SC_LEVEL2_CACHE_ASSOC___46 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___46 = 193,
    _SC_LEVEL3_CACHE_SIZE___46 = 194,
    _SC_LEVEL3_CACHE_ASSOC___46 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___46 = 196,
    _SC_LEVEL4_CACHE_SIZE___46 = 197,
    _SC_LEVEL4_CACHE_ASSOC___46 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___46 = 199,
    _SC_IPV6___46 = 235,
    _SC_RAW_SOCKETS___46 = 236,
    _SC_V7_ILP32_OFF32___46 = 237,
    _SC_V7_ILP32_OFFBIG___46 = 238,
    _SC_V7_LP64_OFF64___46 = 239,
    _SC_V7_LPBIG_OFFBIG___46 = 240,
    _SC_SS_REPL_MAX___46 = 241,
    _SC_TRACE_EVENT_NAME_MAX___46 = 242,
    _SC_TRACE_NAME_MAX___46 = 243,
    _SC_TRACE_SYS_MAX___46 = 244,
    _SC_TRACE_USER_EVENT_MAX___46 = 245,
    _SC_XOPEN_STREAMS___46 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___46 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___46 = 248
} ;
enum __anonenum_875524036___46 {
    _CS_PATH___46 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___46 = 1,
    _CS_GNU_LIBC_VERSION___46 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___46 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___46 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___46 = 5,
    _CS_LFS_CFLAGS___46 = 1000,
    _CS_LFS_LDFLAGS___46 = 1001,
    _CS_LFS_LIBS___46 = 1002,
    _CS_LFS_LINTFLAGS___46 = 1003,
    _CS_LFS64_CFLAGS___46 = 1004,
    _CS_LFS64_LDFLAGS___46 = 1005,
    _CS_LFS64_LIBS___46 = 1006,
    _CS_LFS64_LINTFLAGS___46 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___46 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___46 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___46 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___46 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___46 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___46 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___46 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___46 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___46 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___46 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___46 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___46 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___46 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___46 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___46 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___46 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___46 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___46 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___46 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___46 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___46 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___46 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___46 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___46 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___46 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___46 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___46 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___46 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___46 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___46 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___46 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___46 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___46 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___46 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___46 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___46 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___46 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___46 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___46 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___46 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___46 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___46 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___46 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___46 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___46 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___46 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___46 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___46 = 1147,
    _CS_V6_ENV___46 = 1148,
    _CS_V7_ENV___46 = 1149
} ;
enum __anonenum_513775621___46 {
    DT_UNKNOWN___46 = 0,
    DT_FIFO___46 = 1,
    DT_CHR___46 = 2,
    DT_DIR___46 = 4,
    DT_BLK___46 = 6,
    DT_REG___46 = 8,
    DT_LNK___46 = 10,
    DT_SOCK___46 = 12,
    DT_WHT___46 = 14
} ;
enum __anonenum_77002343___46 {
    SI_ASYNCNL___46 = -60,
    SI_TKILL___46 = -6,
    SI_SIGIO___46 = -5,
    SI_ASYNCIO___46 = -4,
    SI_MESGQ___46 = -3,
    SI_TIMER___46 = -2,
    SI_QUEUE___46 = -1,
    SI_USER___46 = 0,
    SI_KERNEL___46 = 128
} ;
enum __anonenum_131038172___46 {
    ILL_ILLOPC___46 = 1,
    ILL_ILLOPN___46 = 2,
    ILL_ILLADR___46 = 3,
    ILL_ILLTRP___46 = 4,
    ILL_PRVOPC___46 = 5,
    ILL_PRVREG___46 = 6,
    ILL_COPROC___46 = 7,
    ILL_BADSTK___46 = 8
} ;
enum __anonenum_452038093___46 {
    FPE_INTDIV___46 = 1,
    FPE_INTOVF___46 = 2,
    FPE_FLTDIV___46 = 3,
    FPE_FLTOVF___46 = 4,
    FPE_FLTUND___46 = 5,
    FPE_FLTRES___46 = 6,
    FPE_FLTINV___46 = 7,
    FPE_FLTSUB___46 = 8
} ;
enum __anonenum_30976155___46 {
    SEGV_MAPERR___46 = 1,
    SEGV_ACCERR___46 = 2,
    SEGV_BNDERR___46 = 3,
    SEGV_PKUERR___46 = 4
} ;
enum __anonenum_1036286214___46 {
    BUS_ADRALN___46 = 1,
    BUS_ADRERR___46 = 2,
    BUS_OBJERR___46 = 3,
    BUS_MCEERR_AR___46 = 4,
    BUS_MCEERR_AO___46 = 5
} ;
enum __anonenum_493465559___46 {
    TRAP_BRKPT___46 = 1,
    TRAP_TRACE___46 = 2
} ;
enum __anonenum_23175539___46 {
    CLD_EXITED___46 = 1,
    CLD_KILLED___46 = 2,
    CLD_DUMPED___46 = 3,
    CLD_TRAPPED___46 = 4,
    CLD_STOPPED___46 = 5,
    CLD_CONTINUED___46 = 6
} ;
enum __anonenum_111643124___46 {
    POLL_IN___46 = 1,
    POLL_OUT___46 = 2,
    POLL_MSG___46 = 3,
    POLL_ERR___46 = 4,
    POLL_PRI___46 = 5,
    POLL_HUP___46 = 6
} ;
enum __anonenum_852341087___46 {
    SIGEV_SIGNAL___46 = 0,
    SIGEV_NONE___46 = 1,
    SIGEV_THREAD___46 = 2,
    SIGEV_THREAD_ID___46 = 4
} ;
enum __anonenum_451154152___46 {
    REG_R8___46 = 0,
    REG_R9___46 = 1,
    REG_R10___46 = 2,
    REG_R11___46 = 3,
    REG_R12___46 = 4,
    REG_R13___46 = 5,
    REG_R14___46 = 6,
    REG_R15___46 = 7,
    REG_RDI___46 = 8,
    REG_RSI___46 = 9,
    REG_RBP___46 = 10,
    REG_RBX___46 = 11,
    REG_RDX___46 = 12,
    REG_RAX___46 = 13,
    REG_RCX___46 = 14,
    REG_RSP___46 = 15,
    REG_RIP___46 = 16,
    REG_EFL___46 = 17,
    REG_CSGSFS___46 = 18,
    REG_ERR___46 = 19,
    REG_TRAPNO___46 = 20,
    REG_OLDMASK___46 = 21,
    REG_CR2___46 = 22
} ;
enum __anonenum_57186863___46 {
    SS_ONSTACK___46 = 1,
    SS_DISABLE___46 = 2
} ;
enum __anonenum_83571709___46 {
    MSG_OOB___46 = 1,
    MSG_PEEK___46 = 2,
    MSG_DONTROUTE___46 = 4,
    MSG_TRYHARD___46 = 4,
    MSG_CTRUNC___46 = 8,
    MSG_PROXY___46 = 16,
    MSG_TRUNC___46 = 32,
    MSG_DONTWAIT___46 = 64,
    MSG_EOR___46 = 128,
    MSG_WAITALL___46 = 256,
    MSG_FIN___46 = 512,
    MSG_SYN___46 = 1024,
    MSG_CONFIRM___46 = 2048,
    MSG_RST___46 = 4096,
    MSG_ERRQUEUE___46 = 8192,
    MSG_NOSIGNAL___46 = 16384,
    MSG_MORE___46 = 32768,
    MSG_WAITFORONE___46 = 65536,
    MSG_BATCH___46 = 262144,
    MSG_ZEROCOPY___46 = 67108864,
    MSG_FASTOPEN___46 = 536870912,
    MSG_CMSG_CLOEXEC___46 = 1073741824
} ;
enum __anonenum_617082774___46 {
    SCM_RIGHTS___46 = 1,
    SCM_CREDENTIALS___46 = 2
} ;
enum __anonenum_606441560___46 {
    SHUT_RD___46 = 0,
    SHUT_WR___46 = 1,
    SHUT_RDWR___46 = 2
} ;
enum __anonenum_681669233___46 {
    IPPROTO_IP___46 = 0,
    IPPROTO_ICMP___46 = 1,
    IPPROTO_IGMP___46 = 2,
    IPPROTO_IPIP___46 = 4,
    IPPROTO_TCP___46 = 6,
    IPPROTO_EGP___46 = 8,
    IPPROTO_PUP___46 = 12,
    IPPROTO_UDP___46 = 17,
    IPPROTO_IDP___46 = 22,
    IPPROTO_TP___46 = 29,
    IPPROTO_DCCP___46 = 33,
    IPPROTO_IPV6___46 = 41,
    IPPROTO_RSVP___46 = 46,
    IPPROTO_GRE___46 = 47,
    IPPROTO_ESP___46 = 50,
    IPPROTO_AH___46 = 51,
    IPPROTO_MTP___46 = 92,
    IPPROTO_BEETPH___46 = 94,
    IPPROTO_ENCAP___46 = 98,
    IPPROTO_PIM___46 = 103,
    IPPROTO_COMP___46 = 108,
    IPPROTO_SCTP___46 = 132,
    IPPROTO_UDPLITE___46 = 136,
    IPPROTO_MPLS___46 = 137,
    IPPROTO_RAW___46 = 255,
    IPPROTO_MAX___46 = 256
} ;
enum __anonenum_218739988___46 {
    IPPROTO_HOPOPTS___46 = 0,
    IPPROTO_ROUTING___46 = 43,
    IPPROTO_FRAGMENT___46 = 44,
    IPPROTO_ICMPV6___46 = 58,
    IPPROTO_NONE___46 = 59,
    IPPROTO_DSTOPTS___46 = 60,
    IPPROTO_MH___46 = 135
} ;
enum __anonenum_662268580___46 {
    IPPORT_ECHO___46 = 7,
    IPPORT_DISCARD___46 = 9,
    IPPORT_SYSTAT___46 = 11,
    IPPORT_DAYTIME___46 = 13,
    IPPORT_NETSTAT___46 = 15,
    IPPORT_FTP___46 = 21,
    IPPORT_TELNET___46 = 23,
    IPPORT_SMTP___46 = 25,
    IPPORT_TIMESERVER___46 = 37,
    IPPORT_NAMESERVER___46 = 42,
    IPPORT_WHOIS___46 = 43,
    IPPORT_MTP___46 = 57,
    IPPORT_TFTP___46 = 69,
    IPPORT_RJE___46 = 77,
    IPPORT_FINGER___46 = 79,
    IPPORT_TTYLINK___46 = 87,
    IPPORT_SUPDUP___46 = 95,
    IPPORT_EXECSERVER___46 = 512,
    IPPORT_LOGINSERVER___46 = 513,
    IPPORT_CMDSERVER___46 = 514,
    IPPORT_EFSSERVER___46 = 520,
    IPPORT_BIFFUDP___46 = 512,
    IPPORT_WHOSERVER___46 = 513,
    IPPORT_ROUTESERVER___46 = 520,
    IPPORT_RESERVED___46 = 1024,
    IPPORT_USERRESERVED___46 = 5000
} ;
enum __anonenum_788308992___46 {
    TCP_ESTABLISHED___46 = 1,
    TCP_SYN_SENT___46 = 2,
    TCP_SYN_RECV___46 = 3,
    TCP_FIN_WAIT1___46 = 4,
    TCP_FIN_WAIT2___46 = 5,
    TCP_TIME_WAIT___46 = 6,
    TCP_CLOSE___46 = 7,
    TCP_CLOSE_WAIT___46 = 8,
    TCP_LAST_ACK___46 = 9,
    TCP_LISTEN___46 = 10,
    TCP_CLOSING___46 = 11
} ;
enum __anonenum_221125648___46 {
    TCP_NO_QUEUE___46 = 0,
    TCP_RECV_QUEUE___46 = 1,
    TCP_SEND_QUEUE___46 = 2,
    TCP_QUEUES_NR___46 = 3
} ;
enum __anonenum_34415463___46 {
    PTHREAD_CREATE_JOINABLE___46 = 0,
    PTHREAD_CREATE_DETACHED___46 = 1
} ;
enum __anonenum_303612439___46 {
    PTHREAD_MUTEX_TIMED_NP___46 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___46 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___46 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___46 = 3,
    PTHREAD_MUTEX_NORMAL___46 = 0,
    PTHREAD_MUTEX_RECURSIVE___46 = 1,
    PTHREAD_MUTEX_ERRORCHECK___46 = 2,
    PTHREAD_MUTEX_DEFAULT___46 = 0,
    PTHREAD_MUTEX_FAST_NP___46 = 0
} ;
enum __anonenum_931900394___46 {
    PTHREAD_MUTEX_STALLED___46 = 0,
    PTHREAD_MUTEX_STALLED_NP___46 = 0,
    PTHREAD_MUTEX_ROBUST___46 = 1,
    PTHREAD_MUTEX_ROBUST_NP___46 = 1
} ;
enum __anonenum_205214487___46 {
    PTHREAD_PRIO_NONE___46 = 0,
    PTHREAD_PRIO_INHERIT___46 = 1,
    PTHREAD_PRIO_PROTECT___46 = 2
} ;
enum __anonenum_25043950___46 {
    PTHREAD_RWLOCK_PREFER_READER_NP___46 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___46 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___46 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___46 = 0
} ;
enum __anonenum_436439511___46 {
    PTHREAD_INHERIT_SCHED___46 = 0,
    PTHREAD_EXPLICIT_SCHED___46 = 1
} ;
enum __anonenum_998661166___46 {
    PTHREAD_SCOPE_SYSTEM___46 = 0,
    PTHREAD_SCOPE_PROCESS___46 = 1
} ;
enum __anonenum_146137331___46 {
    PTHREAD_PROCESS_PRIVATE___46 = 0,
    PTHREAD_PROCESS_SHARED___46 = 1
} ;
enum __anonenum_53396917___46 {
    PTHREAD_CANCEL_ENABLE___46 = 0,
    PTHREAD_CANCEL_DISABLE___46 = 1
} ;
enum __anonenum_904563783___46 {
    PTHREAD_CANCEL_DEFERRED___46 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___46 = 1
} ;
enum __anonenum_672052974___46 {
    SSL_CT_VALIDATION_PERMISSIVE___46 = 0,
    SSL_CT_VALIDATION_STRICT___46 = 1
} ;
typedef uint64_t eword_t;
struct ewah_bitmap {
   eword_t *buffer ;
   size_t buffer_size ;
   size_t alloc_size ;
   size_t bit_size ;
   eword_t *rlw ;
};
typedef void (*ewah_callback)(size_t pos , void * );
struct ewah_iterator {
   eword_t const   *buffer ;
   size_t buffer_size ;
   size_t pointer ;
   eword_t compressed ;
   eword_t literals ;
   eword_t rl ;
   eword_t lw ;
   int b ;
};
struct bitmap {
   eword_t *words ;
   size_t word_alloc ;
};
enum dfs_state {
    DFS_NONE = 0,
    DFS_ACTIVE = 1,
    DFS_DONE = 2,
    DFS_NUM_STATES = 3
} ;
struct object_entry {
   struct pack_idx_entry idx ;
   void *delta_data ;
   off_t in_pack_offset ;
   uint32_t hash ;
   unsigned int size_ : 31 ;
   unsigned int size_valid : 1 ;
   uint32_t delta_idx ;
   uint32_t delta_child_idx ;
   uint32_t delta_sibling_idx ;
   unsigned int delta_size_ : 23 ;
   unsigned int delta_size_valid : 1 ;
   unsigned char in_pack_header_size ;
   unsigned int in_pack_idx : 10 ;
   unsigned int z_delta_size : 20 ;
   unsigned int type_valid : 1 ;
   unsigned int no_try_delta : 1 ;
   unsigned int type_ : 3 ;
   unsigned int in_pack_type : 3 ;
   unsigned int preferred_base : 1 ;
   unsigned int tagged : 1 ;
   unsigned int filled : 1 ;
   unsigned int dfs_state : 2 ;
   unsigned int depth : 12 ;
   unsigned int ext_base : 1 ;
};
struct packing_data {
   struct repository *repo ;
   struct object_entry *objects ;
   uint32_t nr_objects ;
   uint32_t nr_alloc ;
   int32_t *index ;
   uint32_t index_size ;
   unsigned int *in_pack_pos ;
   unsigned long *delta_size ;
   struct packed_git **in_pack_by_idx ;
   struct packed_git **in_pack ;
   pthread_mutex_t odb_lock ;
   struct object_entry *ext_bases ;
   uint32_t nr_ext ;
   uint32_t alloc_ext ;
   uintmax_t oe_size_limit ;
   uintmax_t oe_delta_size_limit ;
   unsigned int *tree_depth ;
   unsigned char *layer ;
};
static char const   BITMAP_IDX_SIGNATURE[4] ;
static char const   BITMAP_IDX_SIGNATURE[4] ;
struct bitmap_disk_header {
   char magic[sizeof(BITMAP_IDX_SIGNATURE) / sizeof(BITMAP_IDX_SIGNATURE[0]) + (sizeof(char [1]) - 1UL)] ;
   uint16_t version ;
   uint16_t options ;
   uint32_t entry_count ;
   unsigned char checksum[32] ;
};
enum pack_bitmap_opts {
    BITMAP_OPT_FULL_DAG = 1,
    BITMAP_OPT_HASH_CACHE = 4
} ;
enum pack_bitmap_flags {
    BITMAP_FLAG_REUSE = 1
} ;
typedef int (*show_reachable_fn)(struct object_id  const  *oid , enum object_type type ,
                                 int flags , uint32_t hash , struct packed_git *found_pack ,
                                 off_t found_offset );
struct bitmap_index ;
struct __anonstruct_kh_str_t_384380402 {
   khint_t n_buckets ;
   khint_t size ;
   khint_t n_occupied ;
   khint_t upper_bound ;
   khint32_t *flags ;
   char const   **keys ;
   void **vals ;
};
typedef struct __anonstruct_kh_str_t_384380402 kh_str_t;
struct remote_island {
   uint64_t hash ;
   struct oid_array oids ;
};
struct island_bitmap {
   uint32_t refcount ;
   uint32_t bits[] ;
};
struct tree_islands_todo {
   struct object_entry *entry ;
   unsigned int depth ;
};
enum __anonenum_437032235___47 {
    _PC_LINK_MAX___47 = 0,
    _PC_MAX_CANON___47 = 1,
    _PC_MAX_INPUT___47 = 2,
    _PC_NAME_MAX___47 = 3,
    _PC_PATH_MAX___47 = 4,
    _PC_PIPE_BUF___47 = 5,
    _PC_CHOWN_RESTRICTED___47 = 6,
    _PC_NO_TRUNC___47 = 7,
    _PC_VDISABLE___47 = 8,
    _PC_SYNC_IO___47 = 9,
    _PC_ASYNC_IO___47 = 10,
    _PC_PRIO_IO___47 = 11,
    _PC_SOCK_MAXBUF___47 = 12,
    _PC_FILESIZEBITS___47 = 13,
    _PC_REC_INCR_XFER_SIZE___47 = 14,
    _PC_REC_MAX_XFER_SIZE___47 = 15,
    _PC_REC_MIN_XFER_SIZE___47 = 16,
    _PC_REC_XFER_ALIGN___47 = 17,
    _PC_ALLOC_SIZE_MIN___47 = 18,
    _PC_SYMLINK_MAX___47 = 19,
    _PC_2_SYMLINKS___47 = 20
} ;
enum __anonenum_315186338___47 {
    _SC_ARG_MAX___47 = 0,
    _SC_CHILD_MAX___47 = 1,
    _SC_CLK_TCK___47 = 2,
    _SC_NGROUPS_MAX___47 = 3,
    _SC_OPEN_MAX___47 = 4,
    _SC_STREAM_MAX___47 = 5,
    _SC_TZNAME_MAX___47 = 6,
    _SC_JOB_CONTROL___47 = 7,
    _SC_SAVED_IDS___47 = 8,
    _SC_REALTIME_SIGNALS___47 = 9,
    _SC_PRIORITY_SCHEDULING___47 = 10,
    _SC_TIMERS___47 = 11,
    _SC_ASYNCHRONOUS_IO___47 = 12,
    _SC_PRIORITIZED_IO___47 = 13,
    _SC_SYNCHRONIZED_IO___47 = 14,
    _SC_FSYNC___47 = 15,
    _SC_MAPPED_FILES___47 = 16,
    _SC_MEMLOCK___47 = 17,
    _SC_MEMLOCK_RANGE___47 = 18,
    _SC_MEMORY_PROTECTION___47 = 19,
    _SC_MESSAGE_PASSING___47 = 20,
    _SC_SEMAPHORES___47 = 21,
    _SC_SHARED_MEMORY_OBJECTS___47 = 22,
    _SC_AIO_LISTIO_MAX___47 = 23,
    _SC_AIO_MAX___47 = 24,
    _SC_AIO_PRIO_DELTA_MAX___47 = 25,
    _SC_DELAYTIMER_MAX___47 = 26,
    _SC_MQ_OPEN_MAX___47 = 27,
    _SC_MQ_PRIO_MAX___47 = 28,
    _SC_VERSION___47 = 29,
    _SC_PAGESIZE___47 = 30,
    _SC_RTSIG_MAX___47 = 31,
    _SC_SEM_NSEMS_MAX___47 = 32,
    _SC_SEM_VALUE_MAX___47 = 33,
    _SC_SIGQUEUE_MAX___47 = 34,
    _SC_TIMER_MAX___47 = 35,
    _SC_BC_BASE_MAX___47 = 36,
    _SC_BC_DIM_MAX___47 = 37,
    _SC_BC_SCALE_MAX___47 = 38,
    _SC_BC_STRING_MAX___47 = 39,
    _SC_COLL_WEIGHTS_MAX___47 = 40,
    _SC_EQUIV_CLASS_MAX___47 = 41,
    _SC_EXPR_NEST_MAX___47 = 42,
    _SC_LINE_MAX___47 = 43,
    _SC_RE_DUP_MAX___47 = 44,
    _SC_CHARCLASS_NAME_MAX___47 = 45,
    _SC_2_VERSION___47 = 46,
    _SC_2_C_BIND___47 = 47,
    _SC_2_C_DEV___47 = 48,
    _SC_2_FORT_DEV___47 = 49,
    _SC_2_FORT_RUN___47 = 50,
    _SC_2_SW_DEV___47 = 51,
    _SC_2_LOCALEDEF___47 = 52,
    _SC_PII___47 = 53,
    _SC_PII_XTI___47 = 54,
    _SC_PII_SOCKET___47 = 55,
    _SC_PII_INTERNET___47 = 56,
    _SC_PII_OSI___47 = 57,
    _SC_POLL___47 = 58,
    _SC_SELECT___47 = 59,
    _SC_UIO_MAXIOV___47 = 60,
    _SC_IOV_MAX___47 = 60,
    _SC_PII_INTERNET_STREAM___47 = 61,
    _SC_PII_INTERNET_DGRAM___47 = 62,
    _SC_PII_OSI_COTS___47 = 63,
    _SC_PII_OSI_CLTS___47 = 64,
    _SC_PII_OSI_M___47 = 65,
    _SC_T_IOV_MAX___47 = 66,
    _SC_THREADS___47 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___47 = 68,
    _SC_GETGR_R_SIZE_MAX___47 = 69,
    _SC_GETPW_R_SIZE_MAX___47 = 70,
    _SC_LOGIN_NAME_MAX___47 = 71,
    _SC_TTY_NAME_MAX___47 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___47 = 73,
    _SC_THREAD_KEYS_MAX___47 = 74,
    _SC_THREAD_STACK_MIN___47 = 75,
    _SC_THREAD_THREADS_MAX___47 = 76,
    _SC_THREAD_ATTR_STACKADDR___47 = 77,
    _SC_THREAD_ATTR_STACKSIZE___47 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___47 = 79,
    _SC_THREAD_PRIO_INHERIT___47 = 80,
    _SC_THREAD_PRIO_PROTECT___47 = 81,
    _SC_THREAD_PROCESS_SHARED___47 = 82,
    _SC_NPROCESSORS_CONF___47 = 83,
    _SC_NPROCESSORS_ONLN___47 = 84,
    _SC_PHYS_PAGES___47 = 85,
    _SC_AVPHYS_PAGES___47 = 86,
    _SC_ATEXIT_MAX___47 = 87,
    _SC_PASS_MAX___47 = 88,
    _SC_XOPEN_VERSION___47 = 89,
    _SC_XOPEN_XCU_VERSION___47 = 90,
    _SC_XOPEN_UNIX___47 = 91,
    _SC_XOPEN_CRYPT___47 = 92,
    _SC_XOPEN_ENH_I18N___47 = 93,
    _SC_XOPEN_SHM___47 = 94,
    _SC_2_CHAR_TERM___47 = 95,
    _SC_2_C_VERSION___47 = 96,
    _SC_2_UPE___47 = 97,
    _SC_XOPEN_XPG2___47 = 98,
    _SC_XOPEN_XPG3___47 = 99,
    _SC_XOPEN_XPG4___47 = 100,
    _SC_CHAR_BIT___47 = 101,
    _SC_CHAR_MAX___47 = 102,
    _SC_CHAR_MIN___47 = 103,
    _SC_INT_MAX___47 = 104,
    _SC_INT_MIN___47 = 105,
    _SC_LONG_BIT___47 = 106,
    _SC_WORD_BIT___47 = 107,
    _SC_MB_LEN_MAX___47 = 108,
    _SC_NZERO___47 = 109,
    _SC_SSIZE_MAX___47 = 110,
    _SC_SCHAR_MAX___47 = 111,
    _SC_SCHAR_MIN___47 = 112,
    _SC_SHRT_MAX___47 = 113,
    _SC_SHRT_MIN___47 = 114,
    _SC_UCHAR_MAX___47 = 115,
    _SC_UINT_MAX___47 = 116,
    _SC_ULONG_MAX___47 = 117,
    _SC_USHRT_MAX___47 = 118,
    _SC_NL_ARGMAX___47 = 119,
    _SC_NL_LANGMAX___47 = 120,
    _SC_NL_MSGMAX___47 = 121,
    _SC_NL_NMAX___47 = 122,
    _SC_NL_SETMAX___47 = 123,
    _SC_NL_TEXTMAX___47 = 124,
    _SC_XBS5_ILP32_OFF32___47 = 125,
    _SC_XBS5_ILP32_OFFBIG___47 = 126,
    _SC_XBS5_LP64_OFF64___47 = 127,
    _SC_XBS5_LPBIG_OFFBIG___47 = 128,
    _SC_XOPEN_LEGACY___47 = 129,
    _SC_XOPEN_REALTIME___47 = 130,
    _SC_XOPEN_REALTIME_THREADS___47 = 131,
    _SC_ADVISORY_INFO___47 = 132,
    _SC_BARRIERS___47 = 133,
    _SC_BASE___47 = 134,
    _SC_C_LANG_SUPPORT___47 = 135,
    _SC_C_LANG_SUPPORT_R___47 = 136,
    _SC_CLOCK_SELECTION___47 = 137,
    _SC_CPUTIME___47 = 138,
    _SC_THREAD_CPUTIME___47 = 139,
    _SC_DEVICE_IO___47 = 140,
    _SC_DEVICE_SPECIFIC___47 = 141,
    _SC_DEVICE_SPECIFIC_R___47 = 142,
    _SC_FD_MGMT___47 = 143,
    _SC_FIFO___47 = 144,
    _SC_PIPE___47 = 145,
    _SC_FILE_ATTRIBUTES___47 = 146,
    _SC_FILE_LOCKING___47 = 147,
    _SC_FILE_SYSTEM___47 = 148,
    _SC_MONOTONIC_CLOCK___47 = 149,
    _SC_MULTI_PROCESS___47 = 150,
    _SC_SINGLE_PROCESS___47 = 151,
    _SC_NETWORKING___47 = 152,
    _SC_READER_WRITER_LOCKS___47 = 153,
    _SC_SPIN_LOCKS___47 = 154,
    _SC_REGEXP___47 = 155,
    _SC_REGEX_VERSION___47 = 156,
    _SC_SHELL___47 = 157,
    _SC_SIGNALS___47 = 158,
    _SC_SPAWN___47 = 159,
    _SC_SPORADIC_SERVER___47 = 160,
    _SC_THREAD_SPORADIC_SERVER___47 = 161,
    _SC_SYSTEM_DATABASE___47 = 162,
    _SC_SYSTEM_DATABASE_R___47 = 163,
    _SC_TIMEOUTS___47 = 164,
    _SC_TYPED_MEMORY_OBJECTS___47 = 165,
    _SC_USER_GROUPS___47 = 166,
    _SC_USER_GROUPS_R___47 = 167,
    _SC_2_PBS___47 = 168,
    _SC_2_PBS_ACCOUNTING___47 = 169,
    _SC_2_PBS_LOCATE___47 = 170,
    _SC_2_PBS_MESSAGE___47 = 171,
    _SC_2_PBS_TRACK___47 = 172,
    _SC_SYMLOOP_MAX___47 = 173,
    _SC_STREAMS___47 = 174,
    _SC_2_PBS_CHECKPOINT___47 = 175,
    _SC_V6_ILP32_OFF32___47 = 176,
    _SC_V6_ILP32_OFFBIG___47 = 177,
    _SC_V6_LP64_OFF64___47 = 178,
    _SC_V6_LPBIG_OFFBIG___47 = 179,
    _SC_HOST_NAME_MAX___47 = 180,
    _SC_TRACE___47 = 181,
    _SC_TRACE_EVENT_FILTER___47 = 182,
    _SC_TRACE_INHERIT___47 = 183,
    _SC_TRACE_LOG___47 = 184,
    _SC_LEVEL1_ICACHE_SIZE___47 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___47 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___47 = 187,
    _SC_LEVEL1_DCACHE_SIZE___47 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___47 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___47 = 190,
    _SC_LEVEL2_CACHE_SIZE___47 = 191,
    _SC_LEVEL2_CACHE_ASSOC___47 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___47 = 193,
    _SC_LEVEL3_CACHE_SIZE___47 = 194,
    _SC_LEVEL3_CACHE_ASSOC___47 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___47 = 196,
    _SC_LEVEL4_CACHE_SIZE___47 = 197,
    _SC_LEVEL4_CACHE_ASSOC___47 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___47 = 199,
    _SC_IPV6___47 = 235,
    _SC_RAW_SOCKETS___47 = 236,
    _SC_V7_ILP32_OFF32___47 = 237,
    _SC_V7_ILP32_OFFBIG___47 = 238,
    _SC_V7_LP64_OFF64___47 = 239,
    _SC_V7_LPBIG_OFFBIG___47 = 240,
    _SC_SS_REPL_MAX___47 = 241,
    _SC_TRACE_EVENT_NAME_MAX___47 = 242,
    _SC_TRACE_NAME_MAX___47 = 243,
    _SC_TRACE_SYS_MAX___47 = 244,
    _SC_TRACE_USER_EVENT_MAX___47 = 245,
    _SC_XOPEN_STREAMS___47 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___47 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___47 = 248
} ;
enum __anonenum_875524036___47 {
    _CS_PATH___47 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___47 = 1,
    _CS_GNU_LIBC_VERSION___47 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___47 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___47 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___47 = 5,
    _CS_LFS_CFLAGS___47 = 1000,
    _CS_LFS_LDFLAGS___47 = 1001,
    _CS_LFS_LIBS___47 = 1002,
    _CS_LFS_LINTFLAGS___47 = 1003,
    _CS_LFS64_CFLAGS___47 = 1004,
    _CS_LFS64_LDFLAGS___47 = 1005,
    _CS_LFS64_LIBS___47 = 1006,
    _CS_LFS64_LINTFLAGS___47 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___47 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___47 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___47 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___47 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___47 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___47 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___47 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___47 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___47 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___47 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___47 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___47 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___47 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___47 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___47 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___47 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___47 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___47 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___47 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___47 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___47 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___47 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___47 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___47 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___47 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___47 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___47 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___47 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___47 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___47 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___47 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___47 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___47 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___47 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___47 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___47 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___47 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___47 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___47 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___47 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___47 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___47 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___47 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___47 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___47 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___47 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___47 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___47 = 1147,
    _CS_V6_ENV___47 = 1148,
    _CS_V7_ENV___47 = 1149
} ;
enum __anonenum_513775621___47 {
    DT_UNKNOWN___47 = 0,
    DT_FIFO___47 = 1,
    DT_CHR___47 = 2,
    DT_DIR___47 = 4,
    DT_BLK___47 = 6,
    DT_REG___47 = 8,
    DT_LNK___47 = 10,
    DT_SOCK___47 = 12,
    DT_WHT___47 = 14
} ;
enum __anonenum_77002343___47 {
    SI_ASYNCNL___47 = -60,
    SI_TKILL___47 = -6,
    SI_SIGIO___47 = -5,
    SI_ASYNCIO___47 = -4,
    SI_MESGQ___47 = -3,
    SI_TIMER___47 = -2,
    SI_QUEUE___47 = -1,
    SI_USER___47 = 0,
    SI_KERNEL___47 = 128
} ;
enum __anonenum_131038172___47 {
    ILL_ILLOPC___47 = 1,
    ILL_ILLOPN___47 = 2,
    ILL_ILLADR___47 = 3,
    ILL_ILLTRP___47 = 4,
    ILL_PRVOPC___47 = 5,
    ILL_PRVREG___47 = 6,
    ILL_COPROC___47 = 7,
    ILL_BADSTK___47 = 8
} ;
enum __anonenum_452038093___47 {
    FPE_INTDIV___47 = 1,
    FPE_INTOVF___47 = 2,
    FPE_FLTDIV___47 = 3,
    FPE_FLTOVF___47 = 4,
    FPE_FLTUND___47 = 5,
    FPE_FLTRES___47 = 6,
    FPE_FLTINV___47 = 7,
    FPE_FLTSUB___47 = 8
} ;
enum __anonenum_30976155___47 {
    SEGV_MAPERR___47 = 1,
    SEGV_ACCERR___47 = 2,
    SEGV_BNDERR___47 = 3,
    SEGV_PKUERR___47 = 4
} ;
enum __anonenum_1036286214___47 {
    BUS_ADRALN___47 = 1,
    BUS_ADRERR___47 = 2,
    BUS_OBJERR___47 = 3,
    BUS_MCEERR_AR___47 = 4,
    BUS_MCEERR_AO___47 = 5
} ;
enum __anonenum_493465559___47 {
    TRAP_BRKPT___47 = 1,
    TRAP_TRACE___47 = 2
} ;
enum __anonenum_23175539___47 {
    CLD_EXITED___47 = 1,
    CLD_KILLED___47 = 2,
    CLD_DUMPED___47 = 3,
    CLD_TRAPPED___47 = 4,
    CLD_STOPPED___47 = 5,
    CLD_CONTINUED___47 = 6
} ;
enum __anonenum_111643124___47 {
    POLL_IN___47 = 1,
    POLL_OUT___47 = 2,
    POLL_MSG___47 = 3,
    POLL_ERR___47 = 4,
    POLL_PRI___47 = 5,
    POLL_HUP___47 = 6
} ;
enum __anonenum_852341087___47 {
    SIGEV_SIGNAL___47 = 0,
    SIGEV_NONE___47 = 1,
    SIGEV_THREAD___47 = 2,
    SIGEV_THREAD_ID___47 = 4
} ;
enum __anonenum_451154152___47 {
    REG_R8___47 = 0,
    REG_R9___47 = 1,
    REG_R10___47 = 2,
    REG_R11___47 = 3,
    REG_R12___47 = 4,
    REG_R13___47 = 5,
    REG_R14___47 = 6,
    REG_R15___47 = 7,
    REG_RDI___47 = 8,
    REG_RSI___47 = 9,
    REG_RBP___47 = 10,
    REG_RBX___47 = 11,
    REG_RDX___47 = 12,
    REG_RAX___47 = 13,
    REG_RCX___47 = 14,
    REG_RSP___47 = 15,
    REG_RIP___47 = 16,
    REG_EFL___47 = 17,
    REG_CSGSFS___47 = 18,
    REG_ERR___47 = 19,
    REG_TRAPNO___47 = 20,
    REG_OLDMASK___47 = 21,
    REG_CR2___47 = 22
} ;
enum __anonenum_57186863___47 {
    SS_ONSTACK___47 = 1,
    SS_DISABLE___47 = 2
} ;
enum __anonenum_83571709___47 {
    MSG_OOB___47 = 1,
    MSG_PEEK___47 = 2,
    MSG_DONTROUTE___47 = 4,
    MSG_TRYHARD___47 = 4,
    MSG_CTRUNC___47 = 8,
    MSG_PROXY___47 = 16,
    MSG_TRUNC___47 = 32,
    MSG_DONTWAIT___47 = 64,
    MSG_EOR___47 = 128,
    MSG_WAITALL___47 = 256,
    MSG_FIN___47 = 512,
    MSG_SYN___47 = 1024,
    MSG_CONFIRM___47 = 2048,
    MSG_RST___47 = 4096,
    MSG_ERRQUEUE___47 = 8192,
    MSG_NOSIGNAL___47 = 16384,
    MSG_MORE___47 = 32768,
    MSG_WAITFORONE___47 = 65536,
    MSG_BATCH___47 = 262144,
    MSG_ZEROCOPY___47 = 67108864,
    MSG_FASTOPEN___47 = 536870912,
    MSG_CMSG_CLOEXEC___47 = 1073741824
} ;
enum __anonenum_617082774___47 {
    SCM_RIGHTS___47 = 1,
    SCM_CREDENTIALS___47 = 2
} ;
enum __anonenum_606441560___47 {
    SHUT_RD___47 = 0,
    SHUT_WR___47 = 1,
    SHUT_RDWR___47 = 2
} ;
enum __anonenum_681669233___47 {
    IPPROTO_IP___47 = 0,
    IPPROTO_ICMP___47 = 1,
    IPPROTO_IGMP___47 = 2,
    IPPROTO_IPIP___47 = 4,
    IPPROTO_TCP___47 = 6,
    IPPROTO_EGP___47 = 8,
    IPPROTO_PUP___47 = 12,
    IPPROTO_UDP___47 = 17,
    IPPROTO_IDP___47 = 22,
    IPPROTO_TP___47 = 29,
    IPPROTO_DCCP___47 = 33,
    IPPROTO_IPV6___47 = 41,
    IPPROTO_RSVP___47 = 46,
    IPPROTO_GRE___47 = 47,
    IPPROTO_ESP___47 = 50,
    IPPROTO_AH___47 = 51,
    IPPROTO_MTP___47 = 92,
    IPPROTO_BEETPH___47 = 94,
    IPPROTO_ENCAP___47 = 98,
    IPPROTO_PIM___47 = 103,
    IPPROTO_COMP___47 = 108,
    IPPROTO_SCTP___47 = 132,
    IPPROTO_UDPLITE___47 = 136,
    IPPROTO_MPLS___47 = 137,
    IPPROTO_RAW___47 = 255,
    IPPROTO_MAX___47 = 256
} ;
enum __anonenum_218739988___47 {
    IPPROTO_HOPOPTS___47 = 0,
    IPPROTO_ROUTING___47 = 43,
    IPPROTO_FRAGMENT___47 = 44,
    IPPROTO_ICMPV6___47 = 58,
    IPPROTO_NONE___47 = 59,
    IPPROTO_DSTOPTS___47 = 60,
    IPPROTO_MH___47 = 135
} ;
enum __anonenum_662268580___47 {
    IPPORT_ECHO___47 = 7,
    IPPORT_DISCARD___47 = 9,
    IPPORT_SYSTAT___47 = 11,
    IPPORT_DAYTIME___47 = 13,
    IPPORT_NETSTAT___47 = 15,
    IPPORT_FTP___47 = 21,
    IPPORT_TELNET___47 = 23,
    IPPORT_SMTP___47 = 25,
    IPPORT_TIMESERVER___47 = 37,
    IPPORT_NAMESERVER___47 = 42,
    IPPORT_WHOIS___47 = 43,
    IPPORT_MTP___47 = 57,
    IPPORT_TFTP___47 = 69,
    IPPORT_RJE___47 = 77,
    IPPORT_FINGER___47 = 79,
    IPPORT_TTYLINK___47 = 87,
    IPPORT_SUPDUP___47 = 95,
    IPPORT_EXECSERVER___47 = 512,
    IPPORT_LOGINSERVER___47 = 513,
    IPPORT_CMDSERVER___47 = 514,
    IPPORT_EFSSERVER___47 = 520,
    IPPORT_BIFFUDP___47 = 512,
    IPPORT_WHOSERVER___47 = 513,
    IPPORT_ROUTESERVER___47 = 520,
    IPPORT_RESERVED___47 = 1024,
    IPPORT_USERRESERVED___47 = 5000
} ;
enum __anonenum_788308992___47 {
    TCP_ESTABLISHED___47 = 1,
    TCP_SYN_SENT___47 = 2,
    TCP_SYN_RECV___47 = 3,
    TCP_FIN_WAIT1___47 = 4,
    TCP_FIN_WAIT2___47 = 5,
    TCP_TIME_WAIT___47 = 6,
    TCP_CLOSE___47 = 7,
    TCP_CLOSE_WAIT___47 = 8,
    TCP_LAST_ACK___47 = 9,
    TCP_LISTEN___47 = 10,
    TCP_CLOSING___47 = 11
} ;
enum __anonenum_221125648___47 {
    TCP_NO_QUEUE___47 = 0,
    TCP_RECV_QUEUE___47 = 1,
    TCP_SEND_QUEUE___47 = 2,
    TCP_QUEUES_NR___47 = 3
} ;
enum __anonenum_34415463___47 {
    PTHREAD_CREATE_JOINABLE___47 = 0,
    PTHREAD_CREATE_DETACHED___47 = 1
} ;
enum __anonenum_303612439___47 {
    PTHREAD_MUTEX_TIMED_NP___47 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___47 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___47 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___47 = 3,
    PTHREAD_MUTEX_NORMAL___47 = 0,
    PTHREAD_MUTEX_RECURSIVE___47 = 1,
    PTHREAD_MUTEX_ERRORCHECK___47 = 2,
    PTHREAD_MUTEX_DEFAULT___47 = 0,
    PTHREAD_MUTEX_FAST_NP___47 = 0
} ;
enum __anonenum_931900394___47 {
    PTHREAD_MUTEX_STALLED___47 = 0,
    PTHREAD_MUTEX_STALLED_NP___47 = 0,
    PTHREAD_MUTEX_ROBUST___47 = 1,
    PTHREAD_MUTEX_ROBUST_NP___47 = 1
} ;
enum __anonenum_205214487___47 {
    PTHREAD_PRIO_NONE___47 = 0,
    PTHREAD_PRIO_INHERIT___47 = 1,
    PTHREAD_PRIO_PROTECT___47 = 2
} ;
enum __anonenum_25043950___47 {
    PTHREAD_RWLOCK_PREFER_READER_NP___47 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___47 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___47 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___47 = 0
} ;
enum __anonenum_436439511___47 {
    PTHREAD_INHERIT_SCHED___47 = 0,
    PTHREAD_EXPLICIT_SCHED___47 = 1
} ;
enum __anonenum_998661166___47 {
    PTHREAD_SCOPE_SYSTEM___47 = 0,
    PTHREAD_SCOPE_PROCESS___47 = 1
} ;
enum __anonenum_146137331___47 {
    PTHREAD_PROCESS_PRIVATE___47 = 0,
    PTHREAD_PROCESS_SHARED___47 = 1
} ;
enum __anonenum_53396917___47 {
    PTHREAD_CANCEL_ENABLE___47 = 0,
    PTHREAD_CANCEL_DISABLE___47 = 1
} ;
enum __anonenum_904563783___47 {
    PTHREAD_CANCEL_DEFERRED___47 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___47 = 1
} ;
enum __anonenum_672052974___47 {
    SSL_CT_VALIDATION_PERMISSIVE___47 = 0,
    SSL_CT_VALIDATION_STRICT___47 = 1
} ;
struct index_entry {
   unsigned char const   *ptr ;
   unsigned int val ;
};
struct unpacked_index_entry {
   struct index_entry entry ;
   struct unpacked_index_entry *next ;
};
struct delta_index {
   unsigned long memsize ;
   void const   *src_buf ;
   unsigned long src_size ;
   unsigned int hash_mask ;
   struct index_entry *hash[] ;
};
enum __anonenum_437032235___48 {
    _PC_LINK_MAX___48 = 0,
    _PC_MAX_CANON___48 = 1,
    _PC_MAX_INPUT___48 = 2,
    _PC_NAME_MAX___48 = 3,
    _PC_PATH_MAX___48 = 4,
    _PC_PIPE_BUF___48 = 5,
    _PC_CHOWN_RESTRICTED___48 = 6,
    _PC_NO_TRUNC___48 = 7,
    _PC_VDISABLE___48 = 8,
    _PC_SYNC_IO___48 = 9,
    _PC_ASYNC_IO___48 = 10,
    _PC_PRIO_IO___48 = 11,
    _PC_SOCK_MAXBUF___48 = 12,
    _PC_FILESIZEBITS___48 = 13,
    _PC_REC_INCR_XFER_SIZE___48 = 14,
    _PC_REC_MAX_XFER_SIZE___48 = 15,
    _PC_REC_MIN_XFER_SIZE___48 = 16,
    _PC_REC_XFER_ALIGN___48 = 17,
    _PC_ALLOC_SIZE_MIN___48 = 18,
    _PC_SYMLINK_MAX___48 = 19,
    _PC_2_SYMLINKS___48 = 20
} ;
enum __anonenum_315186338___48 {
    _SC_ARG_MAX___48 = 0,
    _SC_CHILD_MAX___48 = 1,
    _SC_CLK_TCK___48 = 2,
    _SC_NGROUPS_MAX___48 = 3,
    _SC_OPEN_MAX___48 = 4,
    _SC_STREAM_MAX___48 = 5,
    _SC_TZNAME_MAX___48 = 6,
    _SC_JOB_CONTROL___48 = 7,
    _SC_SAVED_IDS___48 = 8,
    _SC_REALTIME_SIGNALS___48 = 9,
    _SC_PRIORITY_SCHEDULING___48 = 10,
    _SC_TIMERS___48 = 11,
    _SC_ASYNCHRONOUS_IO___48 = 12,
    _SC_PRIORITIZED_IO___48 = 13,
    _SC_SYNCHRONIZED_IO___48 = 14,
    _SC_FSYNC___48 = 15,
    _SC_MAPPED_FILES___48 = 16,
    _SC_MEMLOCK___48 = 17,
    _SC_MEMLOCK_RANGE___48 = 18,
    _SC_MEMORY_PROTECTION___48 = 19,
    _SC_MESSAGE_PASSING___48 = 20,
    _SC_SEMAPHORES___48 = 21,
    _SC_SHARED_MEMORY_OBJECTS___48 = 22,
    _SC_AIO_LISTIO_MAX___48 = 23,
    _SC_AIO_MAX___48 = 24,
    _SC_AIO_PRIO_DELTA_MAX___48 = 25,
    _SC_DELAYTIMER_MAX___48 = 26,
    _SC_MQ_OPEN_MAX___48 = 27,
    _SC_MQ_PRIO_MAX___48 = 28,
    _SC_VERSION___48 = 29,
    _SC_PAGESIZE___48 = 30,
    _SC_RTSIG_MAX___48 = 31,
    _SC_SEM_NSEMS_MAX___48 = 32,
    _SC_SEM_VALUE_MAX___48 = 33,
    _SC_SIGQUEUE_MAX___48 = 34,
    _SC_TIMER_MAX___48 = 35,
    _SC_BC_BASE_MAX___48 = 36,
    _SC_BC_DIM_MAX___48 = 37,
    _SC_BC_SCALE_MAX___48 = 38,
    _SC_BC_STRING_MAX___48 = 39,
    _SC_COLL_WEIGHTS_MAX___48 = 40,
    _SC_EQUIV_CLASS_MAX___48 = 41,
    _SC_EXPR_NEST_MAX___48 = 42,
    _SC_LINE_MAX___48 = 43,
    _SC_RE_DUP_MAX___48 = 44,
    _SC_CHARCLASS_NAME_MAX___48 = 45,
    _SC_2_VERSION___48 = 46,
    _SC_2_C_BIND___48 = 47,
    _SC_2_C_DEV___48 = 48,
    _SC_2_FORT_DEV___48 = 49,
    _SC_2_FORT_RUN___48 = 50,
    _SC_2_SW_DEV___48 = 51,
    _SC_2_LOCALEDEF___48 = 52,
    _SC_PII___48 = 53,
    _SC_PII_XTI___48 = 54,
    _SC_PII_SOCKET___48 = 55,
    _SC_PII_INTERNET___48 = 56,
    _SC_PII_OSI___48 = 57,
    _SC_POLL___48 = 58,
    _SC_SELECT___48 = 59,
    _SC_UIO_MAXIOV___48 = 60,
    _SC_IOV_MAX___48 = 60,
    _SC_PII_INTERNET_STREAM___48 = 61,
    _SC_PII_INTERNET_DGRAM___48 = 62,
    _SC_PII_OSI_COTS___48 = 63,
    _SC_PII_OSI_CLTS___48 = 64,
    _SC_PII_OSI_M___48 = 65,
    _SC_T_IOV_MAX___48 = 66,
    _SC_THREADS___48 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___48 = 68,
    _SC_GETGR_R_SIZE_MAX___48 = 69,
    _SC_GETPW_R_SIZE_MAX___48 = 70,
    _SC_LOGIN_NAME_MAX___48 = 71,
    _SC_TTY_NAME_MAX___48 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___48 = 73,
    _SC_THREAD_KEYS_MAX___48 = 74,
    _SC_THREAD_STACK_MIN___48 = 75,
    _SC_THREAD_THREADS_MAX___48 = 76,
    _SC_THREAD_ATTR_STACKADDR___48 = 77,
    _SC_THREAD_ATTR_STACKSIZE___48 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___48 = 79,
    _SC_THREAD_PRIO_INHERIT___48 = 80,
    _SC_THREAD_PRIO_PROTECT___48 = 81,
    _SC_THREAD_PROCESS_SHARED___48 = 82,
    _SC_NPROCESSORS_CONF___48 = 83,
    _SC_NPROCESSORS_ONLN___48 = 84,
    _SC_PHYS_PAGES___48 = 85,
    _SC_AVPHYS_PAGES___48 = 86,
    _SC_ATEXIT_MAX___48 = 87,
    _SC_PASS_MAX___48 = 88,
    _SC_XOPEN_VERSION___48 = 89,
    _SC_XOPEN_XCU_VERSION___48 = 90,
    _SC_XOPEN_UNIX___48 = 91,
    _SC_XOPEN_CRYPT___48 = 92,
    _SC_XOPEN_ENH_I18N___48 = 93,
    _SC_XOPEN_SHM___48 = 94,
    _SC_2_CHAR_TERM___48 = 95,
    _SC_2_C_VERSION___48 = 96,
    _SC_2_UPE___48 = 97,
    _SC_XOPEN_XPG2___48 = 98,
    _SC_XOPEN_XPG3___48 = 99,
    _SC_XOPEN_XPG4___48 = 100,
    _SC_CHAR_BIT___48 = 101,
    _SC_CHAR_MAX___48 = 102,
    _SC_CHAR_MIN___48 = 103,
    _SC_INT_MAX___48 = 104,
    _SC_INT_MIN___48 = 105,
    _SC_LONG_BIT___48 = 106,
    _SC_WORD_BIT___48 = 107,
    _SC_MB_LEN_MAX___48 = 108,
    _SC_NZERO___48 = 109,
    _SC_SSIZE_MAX___48 = 110,
    _SC_SCHAR_MAX___48 = 111,
    _SC_SCHAR_MIN___48 = 112,
    _SC_SHRT_MAX___48 = 113,
    _SC_SHRT_MIN___48 = 114,
    _SC_UCHAR_MAX___48 = 115,
    _SC_UINT_MAX___48 = 116,
    _SC_ULONG_MAX___48 = 117,
    _SC_USHRT_MAX___48 = 118,
    _SC_NL_ARGMAX___48 = 119,
    _SC_NL_LANGMAX___48 = 120,
    _SC_NL_MSGMAX___48 = 121,
    _SC_NL_NMAX___48 = 122,
    _SC_NL_SETMAX___48 = 123,
    _SC_NL_TEXTMAX___48 = 124,
    _SC_XBS5_ILP32_OFF32___48 = 125,
    _SC_XBS5_ILP32_OFFBIG___48 = 126,
    _SC_XBS5_LP64_OFF64___48 = 127,
    _SC_XBS5_LPBIG_OFFBIG___48 = 128,
    _SC_XOPEN_LEGACY___48 = 129,
    _SC_XOPEN_REALTIME___48 = 130,
    _SC_XOPEN_REALTIME_THREADS___48 = 131,
    _SC_ADVISORY_INFO___48 = 132,
    _SC_BARRIERS___48 = 133,
    _SC_BASE___48 = 134,
    _SC_C_LANG_SUPPORT___48 = 135,
    _SC_C_LANG_SUPPORT_R___48 = 136,
    _SC_CLOCK_SELECTION___48 = 137,
    _SC_CPUTIME___48 = 138,
    _SC_THREAD_CPUTIME___48 = 139,
    _SC_DEVICE_IO___48 = 140,
    _SC_DEVICE_SPECIFIC___48 = 141,
    _SC_DEVICE_SPECIFIC_R___48 = 142,
    _SC_FD_MGMT___48 = 143,
    _SC_FIFO___48 = 144,
    _SC_PIPE___48 = 145,
    _SC_FILE_ATTRIBUTES___48 = 146,
    _SC_FILE_LOCKING___48 = 147,
    _SC_FILE_SYSTEM___48 = 148,
    _SC_MONOTONIC_CLOCK___48 = 149,
    _SC_MULTI_PROCESS___48 = 150,
    _SC_SINGLE_PROCESS___48 = 151,
    _SC_NETWORKING___48 = 152,
    _SC_READER_WRITER_LOCKS___48 = 153,
    _SC_SPIN_LOCKS___48 = 154,
    _SC_REGEXP___48 = 155,
    _SC_REGEX_VERSION___48 = 156,
    _SC_SHELL___48 = 157,
    _SC_SIGNALS___48 = 158,
    _SC_SPAWN___48 = 159,
    _SC_SPORADIC_SERVER___48 = 160,
    _SC_THREAD_SPORADIC_SERVER___48 = 161,
    _SC_SYSTEM_DATABASE___48 = 162,
    _SC_SYSTEM_DATABASE_R___48 = 163,
    _SC_TIMEOUTS___48 = 164,
    _SC_TYPED_MEMORY_OBJECTS___48 = 165,
    _SC_USER_GROUPS___48 = 166,
    _SC_USER_GROUPS_R___48 = 167,
    _SC_2_PBS___48 = 168,
    _SC_2_PBS_ACCOUNTING___48 = 169,
    _SC_2_PBS_LOCATE___48 = 170,
    _SC_2_PBS_MESSAGE___48 = 171,
    _SC_2_PBS_TRACK___48 = 172,
    _SC_SYMLOOP_MAX___48 = 173,
    _SC_STREAMS___48 = 174,
    _SC_2_PBS_CHECKPOINT___48 = 175,
    _SC_V6_ILP32_OFF32___48 = 176,
    _SC_V6_ILP32_OFFBIG___48 = 177,
    _SC_V6_LP64_OFF64___48 = 178,
    _SC_V6_LPBIG_OFFBIG___48 = 179,
    _SC_HOST_NAME_MAX___48 = 180,
    _SC_TRACE___48 = 181,
    _SC_TRACE_EVENT_FILTER___48 = 182,
    _SC_TRACE_INHERIT___48 = 183,
    _SC_TRACE_LOG___48 = 184,
    _SC_LEVEL1_ICACHE_SIZE___48 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___48 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___48 = 187,
    _SC_LEVEL1_DCACHE_SIZE___48 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___48 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___48 = 190,
    _SC_LEVEL2_CACHE_SIZE___48 = 191,
    _SC_LEVEL2_CACHE_ASSOC___48 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___48 = 193,
    _SC_LEVEL3_CACHE_SIZE___48 = 194,
    _SC_LEVEL3_CACHE_ASSOC___48 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___48 = 196,
    _SC_LEVEL4_CACHE_SIZE___48 = 197,
    _SC_LEVEL4_CACHE_ASSOC___48 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___48 = 199,
    _SC_IPV6___48 = 235,
    _SC_RAW_SOCKETS___48 = 236,
    _SC_V7_ILP32_OFF32___48 = 237,
    _SC_V7_ILP32_OFFBIG___48 = 238,
    _SC_V7_LP64_OFF64___48 = 239,
    _SC_V7_LPBIG_OFFBIG___48 = 240,
    _SC_SS_REPL_MAX___48 = 241,
    _SC_TRACE_EVENT_NAME_MAX___48 = 242,
    _SC_TRACE_NAME_MAX___48 = 243,
    _SC_TRACE_SYS_MAX___48 = 244,
    _SC_TRACE_USER_EVENT_MAX___48 = 245,
    _SC_XOPEN_STREAMS___48 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___48 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___48 = 248
} ;
enum __anonenum_875524036___48 {
    _CS_PATH___48 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___48 = 1,
    _CS_GNU_LIBC_VERSION___48 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___48 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___48 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___48 = 5,
    _CS_LFS_CFLAGS___48 = 1000,
    _CS_LFS_LDFLAGS___48 = 1001,
    _CS_LFS_LIBS___48 = 1002,
    _CS_LFS_LINTFLAGS___48 = 1003,
    _CS_LFS64_CFLAGS___48 = 1004,
    _CS_LFS64_LDFLAGS___48 = 1005,
    _CS_LFS64_LIBS___48 = 1006,
    _CS_LFS64_LINTFLAGS___48 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___48 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___48 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___48 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___48 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___48 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___48 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___48 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___48 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___48 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___48 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___48 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___48 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___48 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___48 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___48 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___48 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___48 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___48 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___48 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___48 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___48 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___48 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___48 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___48 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___48 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___48 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___48 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___48 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___48 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___48 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___48 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___48 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___48 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___48 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___48 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___48 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___48 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___48 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___48 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___48 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___48 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___48 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___48 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___48 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___48 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___48 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___48 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___48 = 1147,
    _CS_V6_ENV___48 = 1148,
    _CS_V7_ENV___48 = 1149
} ;
enum __anonenum_513775621___48 {
    DT_UNKNOWN___48 = 0,
    DT_FIFO___48 = 1,
    DT_CHR___48 = 2,
    DT_DIR___48 = 4,
    DT_BLK___48 = 6,
    DT_REG___48 = 8,
    DT_LNK___48 = 10,
    DT_SOCK___48 = 12,
    DT_WHT___48 = 14
} ;
enum __anonenum_77002343___48 {
    SI_ASYNCNL___48 = -60,
    SI_TKILL___48 = -6,
    SI_SIGIO___48 = -5,
    SI_ASYNCIO___48 = -4,
    SI_MESGQ___48 = -3,
    SI_TIMER___48 = -2,
    SI_QUEUE___48 = -1,
    SI_USER___48 = 0,
    SI_KERNEL___48 = 128
} ;
enum __anonenum_131038172___48 {
    ILL_ILLOPC___48 = 1,
    ILL_ILLOPN___48 = 2,
    ILL_ILLADR___48 = 3,
    ILL_ILLTRP___48 = 4,
    ILL_PRVOPC___48 = 5,
    ILL_PRVREG___48 = 6,
    ILL_COPROC___48 = 7,
    ILL_BADSTK___48 = 8
} ;
enum __anonenum_452038093___48 {
    FPE_INTDIV___48 = 1,
    FPE_INTOVF___48 = 2,
    FPE_FLTDIV___48 = 3,
    FPE_FLTOVF___48 = 4,
    FPE_FLTUND___48 = 5,
    FPE_FLTRES___48 = 6,
    FPE_FLTINV___48 = 7,
    FPE_FLTSUB___48 = 8
} ;
enum __anonenum_30976155___48 {
    SEGV_MAPERR___48 = 1,
    SEGV_ACCERR___48 = 2,
    SEGV_BNDERR___48 = 3,
    SEGV_PKUERR___48 = 4
} ;
enum __anonenum_1036286214___48 {
    BUS_ADRALN___48 = 1,
    BUS_ADRERR___48 = 2,
    BUS_OBJERR___48 = 3,
    BUS_MCEERR_AR___48 = 4,
    BUS_MCEERR_AO___48 = 5
} ;
enum __anonenum_493465559___48 {
    TRAP_BRKPT___48 = 1,
    TRAP_TRACE___48 = 2
} ;
enum __anonenum_23175539___48 {
    CLD_EXITED___48 = 1,
    CLD_KILLED___48 = 2,
    CLD_DUMPED___48 = 3,
    CLD_TRAPPED___48 = 4,
    CLD_STOPPED___48 = 5,
    CLD_CONTINUED___48 = 6
} ;
enum __anonenum_111643124___48 {
    POLL_IN___48 = 1,
    POLL_OUT___48 = 2,
    POLL_MSG___48 = 3,
    POLL_ERR___48 = 4,
    POLL_PRI___48 = 5,
    POLL_HUP___48 = 6
} ;
enum __anonenum_852341087___48 {
    SIGEV_SIGNAL___48 = 0,
    SIGEV_NONE___48 = 1,
    SIGEV_THREAD___48 = 2,
    SIGEV_THREAD_ID___48 = 4
} ;
enum __anonenum_451154152___48 {
    REG_R8___48 = 0,
    REG_R9___48 = 1,
    REG_R10___48 = 2,
    REG_R11___48 = 3,
    REG_R12___48 = 4,
    REG_R13___48 = 5,
    REG_R14___48 = 6,
    REG_R15___48 = 7,
    REG_RDI___48 = 8,
    REG_RSI___48 = 9,
    REG_RBP___48 = 10,
    REG_RBX___48 = 11,
    REG_RDX___48 = 12,
    REG_RAX___48 = 13,
    REG_RCX___48 = 14,
    REG_RSP___48 = 15,
    REG_RIP___48 = 16,
    REG_EFL___48 = 17,
    REG_CSGSFS___48 = 18,
    REG_ERR___48 = 19,
    REG_TRAPNO___48 = 20,
    REG_OLDMASK___48 = 21,
    REG_CR2___48 = 22
} ;
enum __anonenum_57186863___48 {
    SS_ONSTACK___48 = 1,
    SS_DISABLE___48 = 2
} ;
enum __anonenum_83571709___48 {
    MSG_OOB___48 = 1,
    MSG_PEEK___48 = 2,
    MSG_DONTROUTE___48 = 4,
    MSG_TRYHARD___48 = 4,
    MSG_CTRUNC___48 = 8,
    MSG_PROXY___48 = 16,
    MSG_TRUNC___48 = 32,
    MSG_DONTWAIT___48 = 64,
    MSG_EOR___48 = 128,
    MSG_WAITALL___48 = 256,
    MSG_FIN___48 = 512,
    MSG_SYN___48 = 1024,
    MSG_CONFIRM___48 = 2048,
    MSG_RST___48 = 4096,
    MSG_ERRQUEUE___48 = 8192,
    MSG_NOSIGNAL___48 = 16384,
    MSG_MORE___48 = 32768,
    MSG_WAITFORONE___48 = 65536,
    MSG_BATCH___48 = 262144,
    MSG_ZEROCOPY___48 = 67108864,
    MSG_FASTOPEN___48 = 536870912,
    MSG_CMSG_CLOEXEC___48 = 1073741824
} ;
enum __anonenum_617082774___48 {
    SCM_RIGHTS___48 = 1,
    SCM_CREDENTIALS___48 = 2
} ;
enum __anonenum_606441560___48 {
    SHUT_RD___48 = 0,
    SHUT_WR___48 = 1,
    SHUT_RDWR___48 = 2
} ;
enum __anonenum_681669233___48 {
    IPPROTO_IP___48 = 0,
    IPPROTO_ICMP___48 = 1,
    IPPROTO_IGMP___48 = 2,
    IPPROTO_IPIP___48 = 4,
    IPPROTO_TCP___48 = 6,
    IPPROTO_EGP___48 = 8,
    IPPROTO_PUP___48 = 12,
    IPPROTO_UDP___48 = 17,
    IPPROTO_IDP___48 = 22,
    IPPROTO_TP___48 = 29,
    IPPROTO_DCCP___48 = 33,
    IPPROTO_IPV6___48 = 41,
    IPPROTO_RSVP___48 = 46,
    IPPROTO_GRE___48 = 47,
    IPPROTO_ESP___48 = 50,
    IPPROTO_AH___48 = 51,
    IPPROTO_MTP___48 = 92,
    IPPROTO_BEETPH___48 = 94,
    IPPROTO_ENCAP___48 = 98,
    IPPROTO_PIM___48 = 103,
    IPPROTO_COMP___48 = 108,
    IPPROTO_SCTP___48 = 132,
    IPPROTO_UDPLITE___48 = 136,
    IPPROTO_MPLS___48 = 137,
    IPPROTO_RAW___48 = 255,
    IPPROTO_MAX___48 = 256
} ;
enum __anonenum_218739988___48 {
    IPPROTO_HOPOPTS___48 = 0,
    IPPROTO_ROUTING___48 = 43,
    IPPROTO_FRAGMENT___48 = 44,
    IPPROTO_ICMPV6___48 = 58,
    IPPROTO_NONE___48 = 59,
    IPPROTO_DSTOPTS___48 = 60,
    IPPROTO_MH___48 = 135
} ;
enum __anonenum_662268580___48 {
    IPPORT_ECHO___48 = 7,
    IPPORT_DISCARD___48 = 9,
    IPPORT_SYSTAT___48 = 11,
    IPPORT_DAYTIME___48 = 13,
    IPPORT_NETSTAT___48 = 15,
    IPPORT_FTP___48 = 21,
    IPPORT_TELNET___48 = 23,
    IPPORT_SMTP___48 = 25,
    IPPORT_TIMESERVER___48 = 37,
    IPPORT_NAMESERVER___48 = 42,
    IPPORT_WHOIS___48 = 43,
    IPPORT_MTP___48 = 57,
    IPPORT_TFTP___48 = 69,
    IPPORT_RJE___48 = 77,
    IPPORT_FINGER___48 = 79,
    IPPORT_TTYLINK___48 = 87,
    IPPORT_SUPDUP___48 = 95,
    IPPORT_EXECSERVER___48 = 512,
    IPPORT_LOGINSERVER___48 = 513,
    IPPORT_CMDSERVER___48 = 514,
    IPPORT_EFSSERVER___48 = 520,
    IPPORT_BIFFUDP___48 = 512,
    IPPORT_WHOSERVER___48 = 513,
    IPPORT_ROUTESERVER___48 = 520,
    IPPORT_RESERVED___48 = 1024,
    IPPORT_USERRESERVED___48 = 5000
} ;
enum __anonenum_788308992___48 {
    TCP_ESTABLISHED___48 = 1,
    TCP_SYN_SENT___48 = 2,
    TCP_SYN_RECV___48 = 3,
    TCP_FIN_WAIT1___48 = 4,
    TCP_FIN_WAIT2___48 = 5,
    TCP_TIME_WAIT___48 = 6,
    TCP_CLOSE___48 = 7,
    TCP_CLOSE_WAIT___48 = 8,
    TCP_LAST_ACK___48 = 9,
    TCP_LISTEN___48 = 10,
    TCP_CLOSING___48 = 11
} ;
enum __anonenum_221125648___48 {
    TCP_NO_QUEUE___48 = 0,
    TCP_RECV_QUEUE___48 = 1,
    TCP_SEND_QUEUE___48 = 2,
    TCP_QUEUES_NR___48 = 3
} ;
enum __anonenum_34415463___48 {
    PTHREAD_CREATE_JOINABLE___48 = 0,
    PTHREAD_CREATE_DETACHED___48 = 1
} ;
enum __anonenum_303612439___48 {
    PTHREAD_MUTEX_TIMED_NP___48 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___48 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___48 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___48 = 3,
    PTHREAD_MUTEX_NORMAL___48 = 0,
    PTHREAD_MUTEX_RECURSIVE___48 = 1,
    PTHREAD_MUTEX_ERRORCHECK___48 = 2,
    PTHREAD_MUTEX_DEFAULT___48 = 0,
    PTHREAD_MUTEX_FAST_NP___48 = 0
} ;
enum __anonenum_931900394___48 {
    PTHREAD_MUTEX_STALLED___48 = 0,
    PTHREAD_MUTEX_STALLED_NP___48 = 0,
    PTHREAD_MUTEX_ROBUST___48 = 1,
    PTHREAD_MUTEX_ROBUST_NP___48 = 1
} ;
enum __anonenum_205214487___48 {
    PTHREAD_PRIO_NONE___48 = 0,
    PTHREAD_PRIO_INHERIT___48 = 1,
    PTHREAD_PRIO_PROTECT___48 = 2
} ;
enum __anonenum_25043950___48 {
    PTHREAD_RWLOCK_PREFER_READER_NP___48 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___48 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___48 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___48 = 0
} ;
enum __anonenum_436439511___48 {
    PTHREAD_INHERIT_SCHED___48 = 0,
    PTHREAD_EXPLICIT_SCHED___48 = 1
} ;
enum __anonenum_998661166___48 {
    PTHREAD_SCOPE_SYSTEM___48 = 0,
    PTHREAD_SCOPE_PROCESS___48 = 1
} ;
enum __anonenum_146137331___48 {
    PTHREAD_PROCESS_PRIVATE___48 = 0,
    PTHREAD_PROCESS_SHARED___48 = 1
} ;
enum __anonenum_53396917___48 {
    PTHREAD_CANCEL_ENABLE___48 = 0,
    PTHREAD_CANCEL_DISABLE___48 = 1
} ;
enum __anonenum_904563783___48 {
    PTHREAD_CANCEL_DEFERRED___48 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___48 = 1
} ;
enum __anonenum_672052974___48 {
    SSL_CT_VALIDATION_PERMISSIVE___48 = 0,
    SSL_CT_VALIDATION_STRICT___48 = 1
} ;
typedef void (*diff_merges_setup_func_t)(struct rev_info * );
enum __anonenum_437032235___49 {
    _PC_LINK_MAX___49 = 0,
    _PC_MAX_CANON___49 = 1,
    _PC_MAX_INPUT___49 = 2,
    _PC_NAME_MAX___49 = 3,
    _PC_PATH_MAX___49 = 4,
    _PC_PIPE_BUF___49 = 5,
    _PC_CHOWN_RESTRICTED___49 = 6,
    _PC_NO_TRUNC___49 = 7,
    _PC_VDISABLE___49 = 8,
    _PC_SYNC_IO___49 = 9,
    _PC_ASYNC_IO___49 = 10,
    _PC_PRIO_IO___49 = 11,
    _PC_SOCK_MAXBUF___49 = 12,
    _PC_FILESIZEBITS___49 = 13,
    _PC_REC_INCR_XFER_SIZE___49 = 14,
    _PC_REC_MAX_XFER_SIZE___49 = 15,
    _PC_REC_MIN_XFER_SIZE___49 = 16,
    _PC_REC_XFER_ALIGN___49 = 17,
    _PC_ALLOC_SIZE_MIN___49 = 18,
    _PC_SYMLINK_MAX___49 = 19,
    _PC_2_SYMLINKS___49 = 20
} ;
enum __anonenum_315186338___49 {
    _SC_ARG_MAX___49 = 0,
    _SC_CHILD_MAX___49 = 1,
    _SC_CLK_TCK___49 = 2,
    _SC_NGROUPS_MAX___49 = 3,
    _SC_OPEN_MAX___49 = 4,
    _SC_STREAM_MAX___49 = 5,
    _SC_TZNAME_MAX___49 = 6,
    _SC_JOB_CONTROL___49 = 7,
    _SC_SAVED_IDS___49 = 8,
    _SC_REALTIME_SIGNALS___49 = 9,
    _SC_PRIORITY_SCHEDULING___49 = 10,
    _SC_TIMERS___49 = 11,
    _SC_ASYNCHRONOUS_IO___49 = 12,
    _SC_PRIORITIZED_IO___49 = 13,
    _SC_SYNCHRONIZED_IO___49 = 14,
    _SC_FSYNC___49 = 15,
    _SC_MAPPED_FILES___49 = 16,
    _SC_MEMLOCK___49 = 17,
    _SC_MEMLOCK_RANGE___49 = 18,
    _SC_MEMORY_PROTECTION___49 = 19,
    _SC_MESSAGE_PASSING___49 = 20,
    _SC_SEMAPHORES___49 = 21,
    _SC_SHARED_MEMORY_OBJECTS___49 = 22,
    _SC_AIO_LISTIO_MAX___49 = 23,
    _SC_AIO_MAX___49 = 24,
    _SC_AIO_PRIO_DELTA_MAX___49 = 25,
    _SC_DELAYTIMER_MAX___49 = 26,
    _SC_MQ_OPEN_MAX___49 = 27,
    _SC_MQ_PRIO_MAX___49 = 28,
    _SC_VERSION___49 = 29,
    _SC_PAGESIZE___49 = 30,
    _SC_RTSIG_MAX___49 = 31,
    _SC_SEM_NSEMS_MAX___49 = 32,
    _SC_SEM_VALUE_MAX___49 = 33,
    _SC_SIGQUEUE_MAX___49 = 34,
    _SC_TIMER_MAX___49 = 35,
    _SC_BC_BASE_MAX___49 = 36,
    _SC_BC_DIM_MAX___49 = 37,
    _SC_BC_SCALE_MAX___49 = 38,
    _SC_BC_STRING_MAX___49 = 39,
    _SC_COLL_WEIGHTS_MAX___49 = 40,
    _SC_EQUIV_CLASS_MAX___49 = 41,
    _SC_EXPR_NEST_MAX___49 = 42,
    _SC_LINE_MAX___49 = 43,
    _SC_RE_DUP_MAX___49 = 44,
    _SC_CHARCLASS_NAME_MAX___49 = 45,
    _SC_2_VERSION___49 = 46,
    _SC_2_C_BIND___49 = 47,
    _SC_2_C_DEV___49 = 48,
    _SC_2_FORT_DEV___49 = 49,
    _SC_2_FORT_RUN___49 = 50,
    _SC_2_SW_DEV___49 = 51,
    _SC_2_LOCALEDEF___49 = 52,
    _SC_PII___49 = 53,
    _SC_PII_XTI___49 = 54,
    _SC_PII_SOCKET___49 = 55,
    _SC_PII_INTERNET___49 = 56,
    _SC_PII_OSI___49 = 57,
    _SC_POLL___49 = 58,
    _SC_SELECT___49 = 59,
    _SC_UIO_MAXIOV___49 = 60,
    _SC_IOV_MAX___49 = 60,
    _SC_PII_INTERNET_STREAM___49 = 61,
    _SC_PII_INTERNET_DGRAM___49 = 62,
    _SC_PII_OSI_COTS___49 = 63,
    _SC_PII_OSI_CLTS___49 = 64,
    _SC_PII_OSI_M___49 = 65,
    _SC_T_IOV_MAX___49 = 66,
    _SC_THREADS___49 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___49 = 68,
    _SC_GETGR_R_SIZE_MAX___49 = 69,
    _SC_GETPW_R_SIZE_MAX___49 = 70,
    _SC_LOGIN_NAME_MAX___49 = 71,
    _SC_TTY_NAME_MAX___49 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___49 = 73,
    _SC_THREAD_KEYS_MAX___49 = 74,
    _SC_THREAD_STACK_MIN___49 = 75,
    _SC_THREAD_THREADS_MAX___49 = 76,
    _SC_THREAD_ATTR_STACKADDR___49 = 77,
    _SC_THREAD_ATTR_STACKSIZE___49 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___49 = 79,
    _SC_THREAD_PRIO_INHERIT___49 = 80,
    _SC_THREAD_PRIO_PROTECT___49 = 81,
    _SC_THREAD_PROCESS_SHARED___49 = 82,
    _SC_NPROCESSORS_CONF___49 = 83,
    _SC_NPROCESSORS_ONLN___49 = 84,
    _SC_PHYS_PAGES___49 = 85,
    _SC_AVPHYS_PAGES___49 = 86,
    _SC_ATEXIT_MAX___49 = 87,
    _SC_PASS_MAX___49 = 88,
    _SC_XOPEN_VERSION___49 = 89,
    _SC_XOPEN_XCU_VERSION___49 = 90,
    _SC_XOPEN_UNIX___49 = 91,
    _SC_XOPEN_CRYPT___49 = 92,
    _SC_XOPEN_ENH_I18N___49 = 93,
    _SC_XOPEN_SHM___49 = 94,
    _SC_2_CHAR_TERM___49 = 95,
    _SC_2_C_VERSION___49 = 96,
    _SC_2_UPE___49 = 97,
    _SC_XOPEN_XPG2___49 = 98,
    _SC_XOPEN_XPG3___49 = 99,
    _SC_XOPEN_XPG4___49 = 100,
    _SC_CHAR_BIT___49 = 101,
    _SC_CHAR_MAX___49 = 102,
    _SC_CHAR_MIN___49 = 103,
    _SC_INT_MAX___49 = 104,
    _SC_INT_MIN___49 = 105,
    _SC_LONG_BIT___49 = 106,
    _SC_WORD_BIT___49 = 107,
    _SC_MB_LEN_MAX___49 = 108,
    _SC_NZERO___49 = 109,
    _SC_SSIZE_MAX___49 = 110,
    _SC_SCHAR_MAX___49 = 111,
    _SC_SCHAR_MIN___49 = 112,
    _SC_SHRT_MAX___49 = 113,
    _SC_SHRT_MIN___49 = 114,
    _SC_UCHAR_MAX___49 = 115,
    _SC_UINT_MAX___49 = 116,
    _SC_ULONG_MAX___49 = 117,
    _SC_USHRT_MAX___49 = 118,
    _SC_NL_ARGMAX___49 = 119,
    _SC_NL_LANGMAX___49 = 120,
    _SC_NL_MSGMAX___49 = 121,
    _SC_NL_NMAX___49 = 122,
    _SC_NL_SETMAX___49 = 123,
    _SC_NL_TEXTMAX___49 = 124,
    _SC_XBS5_ILP32_OFF32___49 = 125,
    _SC_XBS5_ILP32_OFFBIG___49 = 126,
    _SC_XBS5_LP64_OFF64___49 = 127,
    _SC_XBS5_LPBIG_OFFBIG___49 = 128,
    _SC_XOPEN_LEGACY___49 = 129,
    _SC_XOPEN_REALTIME___49 = 130,
    _SC_XOPEN_REALTIME_THREADS___49 = 131,
    _SC_ADVISORY_INFO___49 = 132,
    _SC_BARRIERS___49 = 133,
    _SC_BASE___49 = 134,
    _SC_C_LANG_SUPPORT___49 = 135,
    _SC_C_LANG_SUPPORT_R___49 = 136,
    _SC_CLOCK_SELECTION___49 = 137,
    _SC_CPUTIME___49 = 138,
    _SC_THREAD_CPUTIME___49 = 139,
    _SC_DEVICE_IO___49 = 140,
    _SC_DEVICE_SPECIFIC___49 = 141,
    _SC_DEVICE_SPECIFIC_R___49 = 142,
    _SC_FD_MGMT___49 = 143,
    _SC_FIFO___49 = 144,
    _SC_PIPE___49 = 145,
    _SC_FILE_ATTRIBUTES___49 = 146,
    _SC_FILE_LOCKING___49 = 147,
    _SC_FILE_SYSTEM___49 = 148,
    _SC_MONOTONIC_CLOCK___49 = 149,
    _SC_MULTI_PROCESS___49 = 150,
    _SC_SINGLE_PROCESS___49 = 151,
    _SC_NETWORKING___49 = 152,
    _SC_READER_WRITER_LOCKS___49 = 153,
    _SC_SPIN_LOCKS___49 = 154,
    _SC_REGEXP___49 = 155,
    _SC_REGEX_VERSION___49 = 156,
    _SC_SHELL___49 = 157,
    _SC_SIGNALS___49 = 158,
    _SC_SPAWN___49 = 159,
    _SC_SPORADIC_SERVER___49 = 160,
    _SC_THREAD_SPORADIC_SERVER___49 = 161,
    _SC_SYSTEM_DATABASE___49 = 162,
    _SC_SYSTEM_DATABASE_R___49 = 163,
    _SC_TIMEOUTS___49 = 164,
    _SC_TYPED_MEMORY_OBJECTS___49 = 165,
    _SC_USER_GROUPS___49 = 166,
    _SC_USER_GROUPS_R___49 = 167,
    _SC_2_PBS___49 = 168,
    _SC_2_PBS_ACCOUNTING___49 = 169,
    _SC_2_PBS_LOCATE___49 = 170,
    _SC_2_PBS_MESSAGE___49 = 171,
    _SC_2_PBS_TRACK___49 = 172,
    _SC_SYMLOOP_MAX___49 = 173,
    _SC_STREAMS___49 = 174,
    _SC_2_PBS_CHECKPOINT___49 = 175,
    _SC_V6_ILP32_OFF32___49 = 176,
    _SC_V6_ILP32_OFFBIG___49 = 177,
    _SC_V6_LP64_OFF64___49 = 178,
    _SC_V6_LPBIG_OFFBIG___49 = 179,
    _SC_HOST_NAME_MAX___49 = 180,
    _SC_TRACE___49 = 181,
    _SC_TRACE_EVENT_FILTER___49 = 182,
    _SC_TRACE_INHERIT___49 = 183,
    _SC_TRACE_LOG___49 = 184,
    _SC_LEVEL1_ICACHE_SIZE___49 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___49 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___49 = 187,
    _SC_LEVEL1_DCACHE_SIZE___49 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___49 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___49 = 190,
    _SC_LEVEL2_CACHE_SIZE___49 = 191,
    _SC_LEVEL2_CACHE_ASSOC___49 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___49 = 193,
    _SC_LEVEL3_CACHE_SIZE___49 = 194,
    _SC_LEVEL3_CACHE_ASSOC___49 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___49 = 196,
    _SC_LEVEL4_CACHE_SIZE___49 = 197,
    _SC_LEVEL4_CACHE_ASSOC___49 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___49 = 199,
    _SC_IPV6___49 = 235,
    _SC_RAW_SOCKETS___49 = 236,
    _SC_V7_ILP32_OFF32___49 = 237,
    _SC_V7_ILP32_OFFBIG___49 = 238,
    _SC_V7_LP64_OFF64___49 = 239,
    _SC_V7_LPBIG_OFFBIG___49 = 240,
    _SC_SS_REPL_MAX___49 = 241,
    _SC_TRACE_EVENT_NAME_MAX___49 = 242,
    _SC_TRACE_NAME_MAX___49 = 243,
    _SC_TRACE_SYS_MAX___49 = 244,
    _SC_TRACE_USER_EVENT_MAX___49 = 245,
    _SC_XOPEN_STREAMS___49 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___49 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___49 = 248
} ;
enum __anonenum_875524036___49 {
    _CS_PATH___49 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___49 = 1,
    _CS_GNU_LIBC_VERSION___49 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___49 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___49 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___49 = 5,
    _CS_LFS_CFLAGS___49 = 1000,
    _CS_LFS_LDFLAGS___49 = 1001,
    _CS_LFS_LIBS___49 = 1002,
    _CS_LFS_LINTFLAGS___49 = 1003,
    _CS_LFS64_CFLAGS___49 = 1004,
    _CS_LFS64_LDFLAGS___49 = 1005,
    _CS_LFS64_LIBS___49 = 1006,
    _CS_LFS64_LINTFLAGS___49 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___49 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___49 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___49 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___49 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___49 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___49 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___49 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___49 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___49 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___49 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___49 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___49 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___49 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___49 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___49 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___49 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___49 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___49 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___49 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___49 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___49 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___49 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___49 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___49 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___49 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___49 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___49 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___49 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___49 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___49 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___49 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___49 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___49 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___49 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___49 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___49 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___49 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___49 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___49 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___49 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___49 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___49 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___49 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___49 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___49 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___49 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___49 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___49 = 1147,
    _CS_V6_ENV___49 = 1148,
    _CS_V7_ENV___49 = 1149
} ;
enum __anonenum_513775621___49 {
    DT_UNKNOWN___49 = 0,
    DT_FIFO___49 = 1,
    DT_CHR___49 = 2,
    DT_DIR___49 = 4,
    DT_BLK___49 = 6,
    DT_REG___49 = 8,
    DT_LNK___49 = 10,
    DT_SOCK___49 = 12,
    DT_WHT___49 = 14
} ;
enum __anonenum_77002343___49 {
    SI_ASYNCNL___49 = -60,
    SI_TKILL___49 = -6,
    SI_SIGIO___49 = -5,
    SI_ASYNCIO___49 = -4,
    SI_MESGQ___49 = -3,
    SI_TIMER___49 = -2,
    SI_QUEUE___49 = -1,
    SI_USER___49 = 0,
    SI_KERNEL___49 = 128
} ;
enum __anonenum_131038172___49 {
    ILL_ILLOPC___49 = 1,
    ILL_ILLOPN___49 = 2,
    ILL_ILLADR___49 = 3,
    ILL_ILLTRP___49 = 4,
    ILL_PRVOPC___49 = 5,
    ILL_PRVREG___49 = 6,
    ILL_COPROC___49 = 7,
    ILL_BADSTK___49 = 8
} ;
enum __anonenum_452038093___49 {
    FPE_INTDIV___49 = 1,
    FPE_INTOVF___49 = 2,
    FPE_FLTDIV___49 = 3,
    FPE_FLTOVF___49 = 4,
    FPE_FLTUND___49 = 5,
    FPE_FLTRES___49 = 6,
    FPE_FLTINV___49 = 7,
    FPE_FLTSUB___49 = 8
} ;
enum __anonenum_30976155___49 {
    SEGV_MAPERR___49 = 1,
    SEGV_ACCERR___49 = 2,
    SEGV_BNDERR___49 = 3,
    SEGV_PKUERR___49 = 4
} ;
enum __anonenum_1036286214___49 {
    BUS_ADRALN___49 = 1,
    BUS_ADRERR___49 = 2,
    BUS_OBJERR___49 = 3,
    BUS_MCEERR_AR___49 = 4,
    BUS_MCEERR_AO___49 = 5
} ;
enum __anonenum_493465559___49 {
    TRAP_BRKPT___49 = 1,
    TRAP_TRACE___49 = 2
} ;
enum __anonenum_23175539___49 {
    CLD_EXITED___49 = 1,
    CLD_KILLED___49 = 2,
    CLD_DUMPED___49 = 3,
    CLD_TRAPPED___49 = 4,
    CLD_STOPPED___49 = 5,
    CLD_CONTINUED___49 = 6
} ;
enum __anonenum_111643124___49 {
    POLL_IN___49 = 1,
    POLL_OUT___49 = 2,
    POLL_MSG___49 = 3,
    POLL_ERR___49 = 4,
    POLL_PRI___49 = 5,
    POLL_HUP___49 = 6
} ;
enum __anonenum_852341087___49 {
    SIGEV_SIGNAL___49 = 0,
    SIGEV_NONE___49 = 1,
    SIGEV_THREAD___49 = 2,
    SIGEV_THREAD_ID___49 = 4
} ;
enum __anonenum_451154152___49 {
    REG_R8___49 = 0,
    REG_R9___49 = 1,
    REG_R10___49 = 2,
    REG_R11___49 = 3,
    REG_R12___49 = 4,
    REG_R13___49 = 5,
    REG_R14___49 = 6,
    REG_R15___49 = 7,
    REG_RDI___49 = 8,
    REG_RSI___49 = 9,
    REG_RBP___49 = 10,
    REG_RBX___49 = 11,
    REG_RDX___49 = 12,
    REG_RAX___49 = 13,
    REG_RCX___49 = 14,
    REG_RSP___49 = 15,
    REG_RIP___49 = 16,
    REG_EFL___49 = 17,
    REG_CSGSFS___49 = 18,
    REG_ERR___49 = 19,
    REG_TRAPNO___49 = 20,
    REG_OLDMASK___49 = 21,
    REG_CR2___49 = 22
} ;
enum __anonenum_57186863___49 {
    SS_ONSTACK___49 = 1,
    SS_DISABLE___49 = 2
} ;
enum __anonenum_83571709___49 {
    MSG_OOB___49 = 1,
    MSG_PEEK___49 = 2,
    MSG_DONTROUTE___49 = 4,
    MSG_TRYHARD___49 = 4,
    MSG_CTRUNC___49 = 8,
    MSG_PROXY___49 = 16,
    MSG_TRUNC___49 = 32,
    MSG_DONTWAIT___49 = 64,
    MSG_EOR___49 = 128,
    MSG_WAITALL___49 = 256,
    MSG_FIN___49 = 512,
    MSG_SYN___49 = 1024,
    MSG_CONFIRM___49 = 2048,
    MSG_RST___49 = 4096,
    MSG_ERRQUEUE___49 = 8192,
    MSG_NOSIGNAL___49 = 16384,
    MSG_MORE___49 = 32768,
    MSG_WAITFORONE___49 = 65536,
    MSG_BATCH___49 = 262144,
    MSG_ZEROCOPY___49 = 67108864,
    MSG_FASTOPEN___49 = 536870912,
    MSG_CMSG_CLOEXEC___49 = 1073741824
} ;
enum __anonenum_617082774___49 {
    SCM_RIGHTS___49 = 1,
    SCM_CREDENTIALS___49 = 2
} ;
enum __anonenum_606441560___49 {
    SHUT_RD___49 = 0,
    SHUT_WR___49 = 1,
    SHUT_RDWR___49 = 2
} ;
enum __anonenum_681669233___49 {
    IPPROTO_IP___49 = 0,
    IPPROTO_ICMP___49 = 1,
    IPPROTO_IGMP___49 = 2,
    IPPROTO_IPIP___49 = 4,
    IPPROTO_TCP___49 = 6,
    IPPROTO_EGP___49 = 8,
    IPPROTO_PUP___49 = 12,
    IPPROTO_UDP___49 = 17,
    IPPROTO_IDP___49 = 22,
    IPPROTO_TP___49 = 29,
    IPPROTO_DCCP___49 = 33,
    IPPROTO_IPV6___49 = 41,
    IPPROTO_RSVP___49 = 46,
    IPPROTO_GRE___49 = 47,
    IPPROTO_ESP___49 = 50,
    IPPROTO_AH___49 = 51,
    IPPROTO_MTP___49 = 92,
    IPPROTO_BEETPH___49 = 94,
    IPPROTO_ENCAP___49 = 98,
    IPPROTO_PIM___49 = 103,
    IPPROTO_COMP___49 = 108,
    IPPROTO_SCTP___49 = 132,
    IPPROTO_UDPLITE___49 = 136,
    IPPROTO_MPLS___49 = 137,
    IPPROTO_RAW___49 = 255,
    IPPROTO_MAX___49 = 256
} ;
enum __anonenum_218739988___49 {
    IPPROTO_HOPOPTS___49 = 0,
    IPPROTO_ROUTING___49 = 43,
    IPPROTO_FRAGMENT___49 = 44,
    IPPROTO_ICMPV6___49 = 58,
    IPPROTO_NONE___49 = 59,
    IPPROTO_DSTOPTS___49 = 60,
    IPPROTO_MH___49 = 135
} ;
enum __anonenum_662268580___49 {
    IPPORT_ECHO___49 = 7,
    IPPORT_DISCARD___49 = 9,
    IPPORT_SYSTAT___49 = 11,
    IPPORT_DAYTIME___49 = 13,
    IPPORT_NETSTAT___49 = 15,
    IPPORT_FTP___49 = 21,
    IPPORT_TELNET___49 = 23,
    IPPORT_SMTP___49 = 25,
    IPPORT_TIMESERVER___49 = 37,
    IPPORT_NAMESERVER___49 = 42,
    IPPORT_WHOIS___49 = 43,
    IPPORT_MTP___49 = 57,
    IPPORT_TFTP___49 = 69,
    IPPORT_RJE___49 = 77,
    IPPORT_FINGER___49 = 79,
    IPPORT_TTYLINK___49 = 87,
    IPPORT_SUPDUP___49 = 95,
    IPPORT_EXECSERVER___49 = 512,
    IPPORT_LOGINSERVER___49 = 513,
    IPPORT_CMDSERVER___49 = 514,
    IPPORT_EFSSERVER___49 = 520,
    IPPORT_BIFFUDP___49 = 512,
    IPPORT_WHOSERVER___49 = 513,
    IPPORT_ROUTESERVER___49 = 520,
    IPPORT_RESERVED___49 = 1024,
    IPPORT_USERRESERVED___49 = 5000
} ;
enum __anonenum_788308992___49 {
    TCP_ESTABLISHED___49 = 1,
    TCP_SYN_SENT___49 = 2,
    TCP_SYN_RECV___49 = 3,
    TCP_FIN_WAIT1___49 = 4,
    TCP_FIN_WAIT2___49 = 5,
    TCP_TIME_WAIT___49 = 6,
    TCP_CLOSE___49 = 7,
    TCP_CLOSE_WAIT___49 = 8,
    TCP_LAST_ACK___49 = 9,
    TCP_LISTEN___49 = 10,
    TCP_CLOSING___49 = 11
} ;
enum __anonenum_221125648___49 {
    TCP_NO_QUEUE___49 = 0,
    TCP_RECV_QUEUE___49 = 1,
    TCP_SEND_QUEUE___49 = 2,
    TCP_QUEUES_NR___49 = 3
} ;
enum __anonenum_34415463___49 {
    PTHREAD_CREATE_JOINABLE___49 = 0,
    PTHREAD_CREATE_DETACHED___49 = 1
} ;
enum __anonenum_303612439___49 {
    PTHREAD_MUTEX_TIMED_NP___49 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___49 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___49 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___49 = 3,
    PTHREAD_MUTEX_NORMAL___49 = 0,
    PTHREAD_MUTEX_RECURSIVE___49 = 1,
    PTHREAD_MUTEX_ERRORCHECK___49 = 2,
    PTHREAD_MUTEX_DEFAULT___49 = 0,
    PTHREAD_MUTEX_FAST_NP___49 = 0
} ;
enum __anonenum_931900394___49 {
    PTHREAD_MUTEX_STALLED___49 = 0,
    PTHREAD_MUTEX_STALLED_NP___49 = 0,
    PTHREAD_MUTEX_ROBUST___49 = 1,
    PTHREAD_MUTEX_ROBUST_NP___49 = 1
} ;
enum __anonenum_205214487___49 {
    PTHREAD_PRIO_NONE___49 = 0,
    PTHREAD_PRIO_INHERIT___49 = 1,
    PTHREAD_PRIO_PROTECT___49 = 2
} ;
enum __anonenum_25043950___49 {
    PTHREAD_RWLOCK_PREFER_READER_NP___49 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___49 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___49 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___49 = 0
} ;
enum __anonenum_436439511___49 {
    PTHREAD_INHERIT_SCHED___49 = 0,
    PTHREAD_EXPLICIT_SCHED___49 = 1
} ;
enum __anonenum_998661166___49 {
    PTHREAD_SCOPE_SYSTEM___49 = 0,
    PTHREAD_SCOPE_PROCESS___49 = 1
} ;
enum __anonenum_146137331___49 {
    PTHREAD_PROCESS_PRIVATE___49 = 0,
    PTHREAD_PROCESS_SHARED___49 = 1
} ;
enum __anonenum_53396917___49 {
    PTHREAD_CANCEL_ENABLE___49 = 0,
    PTHREAD_CANCEL_DISABLE___49 = 1
} ;
enum __anonenum_904563783___49 {
    PTHREAD_CANCEL_DEFERRED___49 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___49 = 1
} ;
enum __anonenum_672052974___49 {
    SSL_CT_VALIDATION_PERMISSIVE___49 = 0,
    SSL_CT_VALIDATION_STRICT___49 = 1
} ;
enum __anonenum_561748495 {
    RECURSE_SUBMODULES_ONLY = -5,
    RECURSE_SUBMODULES_CHECK = -4,
    RECURSE_SUBMODULES_ERROR = -3,
    RECURSE_SUBMODULES_NONE = -2,
    RECURSE_SUBMODULES_ON_DEMAND = -1,
    RECURSE_SUBMODULES_OFF = 0,
    RECURSE_SUBMODULES_DEFAULT = 1,
    RECURSE_SUBMODULES_ON = 2
} ;
enum submodule_update_type {
    SM_UPDATE_UNSPECIFIED = 0,
    SM_UPDATE_CHECKOUT = 1,
    SM_UPDATE_REBASE = 2,
    SM_UPDATE_MERGE = 3,
    SM_UPDATE_NONE = 4,
    SM_UPDATE_COMMAND = 5
} ;
struct submodule_update_strategy {
   enum submodule_update_type type ;
   char const   *command ;
};
struct submodule ;
enum __anonenum_437032235___50 {
    _PC_LINK_MAX___50 = 0,
    _PC_MAX_CANON___50 = 1,
    _PC_MAX_INPUT___50 = 2,
    _PC_NAME_MAX___50 = 3,
    _PC_PATH_MAX___50 = 4,
    _PC_PIPE_BUF___50 = 5,
    _PC_CHOWN_RESTRICTED___50 = 6,
    _PC_NO_TRUNC___50 = 7,
    _PC_VDISABLE___50 = 8,
    _PC_SYNC_IO___50 = 9,
    _PC_ASYNC_IO___50 = 10,
    _PC_PRIO_IO___50 = 11,
    _PC_SOCK_MAXBUF___50 = 12,
    _PC_FILESIZEBITS___50 = 13,
    _PC_REC_INCR_XFER_SIZE___50 = 14,
    _PC_REC_MAX_XFER_SIZE___50 = 15,
    _PC_REC_MIN_XFER_SIZE___50 = 16,
    _PC_REC_XFER_ALIGN___50 = 17,
    _PC_ALLOC_SIZE_MIN___50 = 18,
    _PC_SYMLINK_MAX___50 = 19,
    _PC_2_SYMLINKS___50 = 20
} ;
enum __anonenum_315186338___50 {
    _SC_ARG_MAX___50 = 0,
    _SC_CHILD_MAX___50 = 1,
    _SC_CLK_TCK___50 = 2,
    _SC_NGROUPS_MAX___50 = 3,
    _SC_OPEN_MAX___50 = 4,
    _SC_STREAM_MAX___50 = 5,
    _SC_TZNAME_MAX___50 = 6,
    _SC_JOB_CONTROL___50 = 7,
    _SC_SAVED_IDS___50 = 8,
    _SC_REALTIME_SIGNALS___50 = 9,
    _SC_PRIORITY_SCHEDULING___50 = 10,
    _SC_TIMERS___50 = 11,
    _SC_ASYNCHRONOUS_IO___50 = 12,
    _SC_PRIORITIZED_IO___50 = 13,
    _SC_SYNCHRONIZED_IO___50 = 14,
    _SC_FSYNC___50 = 15,
    _SC_MAPPED_FILES___50 = 16,
    _SC_MEMLOCK___50 = 17,
    _SC_MEMLOCK_RANGE___50 = 18,
    _SC_MEMORY_PROTECTION___50 = 19,
    _SC_MESSAGE_PASSING___50 = 20,
    _SC_SEMAPHORES___50 = 21,
    _SC_SHARED_MEMORY_OBJECTS___50 = 22,
    _SC_AIO_LISTIO_MAX___50 = 23,
    _SC_AIO_MAX___50 = 24,
    _SC_AIO_PRIO_DELTA_MAX___50 = 25,
    _SC_DELAYTIMER_MAX___50 = 26,
    _SC_MQ_OPEN_MAX___50 = 27,
    _SC_MQ_PRIO_MAX___50 = 28,
    _SC_VERSION___50 = 29,
    _SC_PAGESIZE___50 = 30,
    _SC_RTSIG_MAX___50 = 31,
    _SC_SEM_NSEMS_MAX___50 = 32,
    _SC_SEM_VALUE_MAX___50 = 33,
    _SC_SIGQUEUE_MAX___50 = 34,
    _SC_TIMER_MAX___50 = 35,
    _SC_BC_BASE_MAX___50 = 36,
    _SC_BC_DIM_MAX___50 = 37,
    _SC_BC_SCALE_MAX___50 = 38,
    _SC_BC_STRING_MAX___50 = 39,
    _SC_COLL_WEIGHTS_MAX___50 = 40,
    _SC_EQUIV_CLASS_MAX___50 = 41,
    _SC_EXPR_NEST_MAX___50 = 42,
    _SC_LINE_MAX___50 = 43,
    _SC_RE_DUP_MAX___50 = 44,
    _SC_CHARCLASS_NAME_MAX___50 = 45,
    _SC_2_VERSION___50 = 46,
    _SC_2_C_BIND___50 = 47,
    _SC_2_C_DEV___50 = 48,
    _SC_2_FORT_DEV___50 = 49,
    _SC_2_FORT_RUN___50 = 50,
    _SC_2_SW_DEV___50 = 51,
    _SC_2_LOCALEDEF___50 = 52,
    _SC_PII___50 = 53,
    _SC_PII_XTI___50 = 54,
    _SC_PII_SOCKET___50 = 55,
    _SC_PII_INTERNET___50 = 56,
    _SC_PII_OSI___50 = 57,
    _SC_POLL___50 = 58,
    _SC_SELECT___50 = 59,
    _SC_UIO_MAXIOV___50 = 60,
    _SC_IOV_MAX___50 = 60,
    _SC_PII_INTERNET_STREAM___50 = 61,
    _SC_PII_INTERNET_DGRAM___50 = 62,
    _SC_PII_OSI_COTS___50 = 63,
    _SC_PII_OSI_CLTS___50 = 64,
    _SC_PII_OSI_M___50 = 65,
    _SC_T_IOV_MAX___50 = 66,
    _SC_THREADS___50 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___50 = 68,
    _SC_GETGR_R_SIZE_MAX___50 = 69,
    _SC_GETPW_R_SIZE_MAX___50 = 70,
    _SC_LOGIN_NAME_MAX___50 = 71,
    _SC_TTY_NAME_MAX___50 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___50 = 73,
    _SC_THREAD_KEYS_MAX___50 = 74,
    _SC_THREAD_STACK_MIN___50 = 75,
    _SC_THREAD_THREADS_MAX___50 = 76,
    _SC_THREAD_ATTR_STACKADDR___50 = 77,
    _SC_THREAD_ATTR_STACKSIZE___50 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___50 = 79,
    _SC_THREAD_PRIO_INHERIT___50 = 80,
    _SC_THREAD_PRIO_PROTECT___50 = 81,
    _SC_THREAD_PROCESS_SHARED___50 = 82,
    _SC_NPROCESSORS_CONF___50 = 83,
    _SC_NPROCESSORS_ONLN___50 = 84,
    _SC_PHYS_PAGES___50 = 85,
    _SC_AVPHYS_PAGES___50 = 86,
    _SC_ATEXIT_MAX___50 = 87,
    _SC_PASS_MAX___50 = 88,
    _SC_XOPEN_VERSION___50 = 89,
    _SC_XOPEN_XCU_VERSION___50 = 90,
    _SC_XOPEN_UNIX___50 = 91,
    _SC_XOPEN_CRYPT___50 = 92,
    _SC_XOPEN_ENH_I18N___50 = 93,
    _SC_XOPEN_SHM___50 = 94,
    _SC_2_CHAR_TERM___50 = 95,
    _SC_2_C_VERSION___50 = 96,
    _SC_2_UPE___50 = 97,
    _SC_XOPEN_XPG2___50 = 98,
    _SC_XOPEN_XPG3___50 = 99,
    _SC_XOPEN_XPG4___50 = 100,
    _SC_CHAR_BIT___50 = 101,
    _SC_CHAR_MAX___50 = 102,
    _SC_CHAR_MIN___50 = 103,
    _SC_INT_MAX___50 = 104,
    _SC_INT_MIN___50 = 105,
    _SC_LONG_BIT___50 = 106,
    _SC_WORD_BIT___50 = 107,
    _SC_MB_LEN_MAX___50 = 108,
    _SC_NZERO___50 = 109,
    _SC_SSIZE_MAX___50 = 110,
    _SC_SCHAR_MAX___50 = 111,
    _SC_SCHAR_MIN___50 = 112,
    _SC_SHRT_MAX___50 = 113,
    _SC_SHRT_MIN___50 = 114,
    _SC_UCHAR_MAX___50 = 115,
    _SC_UINT_MAX___50 = 116,
    _SC_ULONG_MAX___50 = 117,
    _SC_USHRT_MAX___50 = 118,
    _SC_NL_ARGMAX___50 = 119,
    _SC_NL_LANGMAX___50 = 120,
    _SC_NL_MSGMAX___50 = 121,
    _SC_NL_NMAX___50 = 122,
    _SC_NL_SETMAX___50 = 123,
    _SC_NL_TEXTMAX___50 = 124,
    _SC_XBS5_ILP32_OFF32___50 = 125,
    _SC_XBS5_ILP32_OFFBIG___50 = 126,
    _SC_XBS5_LP64_OFF64___50 = 127,
    _SC_XBS5_LPBIG_OFFBIG___50 = 128,
    _SC_XOPEN_LEGACY___50 = 129,
    _SC_XOPEN_REALTIME___50 = 130,
    _SC_XOPEN_REALTIME_THREADS___50 = 131,
    _SC_ADVISORY_INFO___50 = 132,
    _SC_BARRIERS___50 = 133,
    _SC_BASE___50 = 134,
    _SC_C_LANG_SUPPORT___50 = 135,
    _SC_C_LANG_SUPPORT_R___50 = 136,
    _SC_CLOCK_SELECTION___50 = 137,
    _SC_CPUTIME___50 = 138,
    _SC_THREAD_CPUTIME___50 = 139,
    _SC_DEVICE_IO___50 = 140,
    _SC_DEVICE_SPECIFIC___50 = 141,
    _SC_DEVICE_SPECIFIC_R___50 = 142,
    _SC_FD_MGMT___50 = 143,
    _SC_FIFO___50 = 144,
    _SC_PIPE___50 = 145,
    _SC_FILE_ATTRIBUTES___50 = 146,
    _SC_FILE_LOCKING___50 = 147,
    _SC_FILE_SYSTEM___50 = 148,
    _SC_MONOTONIC_CLOCK___50 = 149,
    _SC_MULTI_PROCESS___50 = 150,
    _SC_SINGLE_PROCESS___50 = 151,
    _SC_NETWORKING___50 = 152,
    _SC_READER_WRITER_LOCKS___50 = 153,
    _SC_SPIN_LOCKS___50 = 154,
    _SC_REGEXP___50 = 155,
    _SC_REGEX_VERSION___50 = 156,
    _SC_SHELL___50 = 157,
    _SC_SIGNALS___50 = 158,
    _SC_SPAWN___50 = 159,
    _SC_SPORADIC_SERVER___50 = 160,
    _SC_THREAD_SPORADIC_SERVER___50 = 161,
    _SC_SYSTEM_DATABASE___50 = 162,
    _SC_SYSTEM_DATABASE_R___50 = 163,
    _SC_TIMEOUTS___50 = 164,
    _SC_TYPED_MEMORY_OBJECTS___50 = 165,
    _SC_USER_GROUPS___50 = 166,
    _SC_USER_GROUPS_R___50 = 167,
    _SC_2_PBS___50 = 168,
    _SC_2_PBS_ACCOUNTING___50 = 169,
    _SC_2_PBS_LOCATE___50 = 170,
    _SC_2_PBS_MESSAGE___50 = 171,
    _SC_2_PBS_TRACK___50 = 172,
    _SC_SYMLOOP_MAX___50 = 173,
    _SC_STREAMS___50 = 174,
    _SC_2_PBS_CHECKPOINT___50 = 175,
    _SC_V6_ILP32_OFF32___50 = 176,
    _SC_V6_ILP32_OFFBIG___50 = 177,
    _SC_V6_LP64_OFF64___50 = 178,
    _SC_V6_LPBIG_OFFBIG___50 = 179,
    _SC_HOST_NAME_MAX___50 = 180,
    _SC_TRACE___50 = 181,
    _SC_TRACE_EVENT_FILTER___50 = 182,
    _SC_TRACE_INHERIT___50 = 183,
    _SC_TRACE_LOG___50 = 184,
    _SC_LEVEL1_ICACHE_SIZE___50 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___50 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___50 = 187,
    _SC_LEVEL1_DCACHE_SIZE___50 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___50 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___50 = 190,
    _SC_LEVEL2_CACHE_SIZE___50 = 191,
    _SC_LEVEL2_CACHE_ASSOC___50 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___50 = 193,
    _SC_LEVEL3_CACHE_SIZE___50 = 194,
    _SC_LEVEL3_CACHE_ASSOC___50 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___50 = 196,
    _SC_LEVEL4_CACHE_SIZE___50 = 197,
    _SC_LEVEL4_CACHE_ASSOC___50 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___50 = 199,
    _SC_IPV6___50 = 235,
    _SC_RAW_SOCKETS___50 = 236,
    _SC_V7_ILP32_OFF32___50 = 237,
    _SC_V7_ILP32_OFFBIG___50 = 238,
    _SC_V7_LP64_OFF64___50 = 239,
    _SC_V7_LPBIG_OFFBIG___50 = 240,
    _SC_SS_REPL_MAX___50 = 241,
    _SC_TRACE_EVENT_NAME_MAX___50 = 242,
    _SC_TRACE_NAME_MAX___50 = 243,
    _SC_TRACE_SYS_MAX___50 = 244,
    _SC_TRACE_USER_EVENT_MAX___50 = 245,
    _SC_XOPEN_STREAMS___50 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___50 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___50 = 248
} ;
enum __anonenum_875524036___50 {
    _CS_PATH___50 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___50 = 1,
    _CS_GNU_LIBC_VERSION___50 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___50 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___50 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___50 = 5,
    _CS_LFS_CFLAGS___50 = 1000,
    _CS_LFS_LDFLAGS___50 = 1001,
    _CS_LFS_LIBS___50 = 1002,
    _CS_LFS_LINTFLAGS___50 = 1003,
    _CS_LFS64_CFLAGS___50 = 1004,
    _CS_LFS64_LDFLAGS___50 = 1005,
    _CS_LFS64_LIBS___50 = 1006,
    _CS_LFS64_LINTFLAGS___50 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___50 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___50 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___50 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___50 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___50 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___50 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___50 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___50 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___50 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___50 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___50 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___50 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___50 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___50 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___50 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___50 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___50 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___50 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___50 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___50 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___50 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___50 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___50 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___50 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___50 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___50 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___50 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___50 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___50 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___50 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___50 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___50 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___50 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___50 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___50 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___50 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___50 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___50 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___50 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___50 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___50 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___50 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___50 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___50 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___50 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___50 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___50 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___50 = 1147,
    _CS_V6_ENV___50 = 1148,
    _CS_V7_ENV___50 = 1149
} ;
enum __anonenum_513775621___50 {
    DT_UNKNOWN___50 = 0,
    DT_FIFO___50 = 1,
    DT_CHR___50 = 2,
    DT_DIR___50 = 4,
    DT_BLK___50 = 6,
    DT_REG___50 = 8,
    DT_LNK___50 = 10,
    DT_SOCK___50 = 12,
    DT_WHT___50 = 14
} ;
enum __anonenum_77002343___50 {
    SI_ASYNCNL___50 = -60,
    SI_TKILL___50 = -6,
    SI_SIGIO___50 = -5,
    SI_ASYNCIO___50 = -4,
    SI_MESGQ___50 = -3,
    SI_TIMER___50 = -2,
    SI_QUEUE___50 = -1,
    SI_USER___50 = 0,
    SI_KERNEL___50 = 128
} ;
enum __anonenum_131038172___50 {
    ILL_ILLOPC___50 = 1,
    ILL_ILLOPN___50 = 2,
    ILL_ILLADR___50 = 3,
    ILL_ILLTRP___50 = 4,
    ILL_PRVOPC___50 = 5,
    ILL_PRVREG___50 = 6,
    ILL_COPROC___50 = 7,
    ILL_BADSTK___50 = 8
} ;
enum __anonenum_452038093___50 {
    FPE_INTDIV___50 = 1,
    FPE_INTOVF___50 = 2,
    FPE_FLTDIV___50 = 3,
    FPE_FLTOVF___50 = 4,
    FPE_FLTUND___50 = 5,
    FPE_FLTRES___50 = 6,
    FPE_FLTINV___50 = 7,
    FPE_FLTSUB___50 = 8
} ;
enum __anonenum_30976155___50 {
    SEGV_MAPERR___50 = 1,
    SEGV_ACCERR___50 = 2,
    SEGV_BNDERR___50 = 3,
    SEGV_PKUERR___50 = 4
} ;
enum __anonenum_1036286214___50 {
    BUS_ADRALN___50 = 1,
    BUS_ADRERR___50 = 2,
    BUS_OBJERR___50 = 3,
    BUS_MCEERR_AR___50 = 4,
    BUS_MCEERR_AO___50 = 5
} ;
enum __anonenum_493465559___50 {
    TRAP_BRKPT___50 = 1,
    TRAP_TRACE___50 = 2
} ;
enum __anonenum_23175539___50 {
    CLD_EXITED___50 = 1,
    CLD_KILLED___50 = 2,
    CLD_DUMPED___50 = 3,
    CLD_TRAPPED___50 = 4,
    CLD_STOPPED___50 = 5,
    CLD_CONTINUED___50 = 6
} ;
enum __anonenum_111643124___50 {
    POLL_IN___50 = 1,
    POLL_OUT___50 = 2,
    POLL_MSG___50 = 3,
    POLL_ERR___50 = 4,
    POLL_PRI___50 = 5,
    POLL_HUP___50 = 6
} ;
enum __anonenum_852341087___50 {
    SIGEV_SIGNAL___50 = 0,
    SIGEV_NONE___50 = 1,
    SIGEV_THREAD___50 = 2,
    SIGEV_THREAD_ID___50 = 4
} ;
enum __anonenum_451154152___50 {
    REG_R8___50 = 0,
    REG_R9___50 = 1,
    REG_R10___50 = 2,
    REG_R11___50 = 3,
    REG_R12___50 = 4,
    REG_R13___50 = 5,
    REG_R14___50 = 6,
    REG_R15___50 = 7,
    REG_RDI___50 = 8,
    REG_RSI___50 = 9,
    REG_RBP___50 = 10,
    REG_RBX___50 = 11,
    REG_RDX___50 = 12,
    REG_RAX___50 = 13,
    REG_RCX___50 = 14,
    REG_RSP___50 = 15,
    REG_RIP___50 = 16,
    REG_EFL___50 = 17,
    REG_CSGSFS___50 = 18,
    REG_ERR___50 = 19,
    REG_TRAPNO___50 = 20,
    REG_OLDMASK___50 = 21,
    REG_CR2___50 = 22
} ;
enum __anonenum_57186863___50 {
    SS_ONSTACK___50 = 1,
    SS_DISABLE___50 = 2
} ;
enum __anonenum_83571709___50 {
    MSG_OOB___50 = 1,
    MSG_PEEK___50 = 2,
    MSG_DONTROUTE___50 = 4,
    MSG_TRYHARD___50 = 4,
    MSG_CTRUNC___50 = 8,
    MSG_PROXY___50 = 16,
    MSG_TRUNC___50 = 32,
    MSG_DONTWAIT___50 = 64,
    MSG_EOR___50 = 128,
    MSG_WAITALL___50 = 256,
    MSG_FIN___50 = 512,
    MSG_SYN___50 = 1024,
    MSG_CONFIRM___50 = 2048,
    MSG_RST___50 = 4096,
    MSG_ERRQUEUE___50 = 8192,
    MSG_NOSIGNAL___50 = 16384,
    MSG_MORE___50 = 32768,
    MSG_WAITFORONE___50 = 65536,
    MSG_BATCH___50 = 262144,
    MSG_ZEROCOPY___50 = 67108864,
    MSG_FASTOPEN___50 = 536870912,
    MSG_CMSG_CLOEXEC___50 = 1073741824
} ;
enum __anonenum_617082774___50 {
    SCM_RIGHTS___50 = 1,
    SCM_CREDENTIALS___50 = 2
} ;
enum __anonenum_606441560___50 {
    SHUT_RD___50 = 0,
    SHUT_WR___50 = 1,
    SHUT_RDWR___50 = 2
} ;
enum __anonenum_681669233___50 {
    IPPROTO_IP___50 = 0,
    IPPROTO_ICMP___50 = 1,
    IPPROTO_IGMP___50 = 2,
    IPPROTO_IPIP___50 = 4,
    IPPROTO_TCP___50 = 6,
    IPPROTO_EGP___50 = 8,
    IPPROTO_PUP___50 = 12,
    IPPROTO_UDP___50 = 17,
    IPPROTO_IDP___50 = 22,
    IPPROTO_TP___50 = 29,
    IPPROTO_DCCP___50 = 33,
    IPPROTO_IPV6___50 = 41,
    IPPROTO_RSVP___50 = 46,
    IPPROTO_GRE___50 = 47,
    IPPROTO_ESP___50 = 50,
    IPPROTO_AH___50 = 51,
    IPPROTO_MTP___50 = 92,
    IPPROTO_BEETPH___50 = 94,
    IPPROTO_ENCAP___50 = 98,
    IPPROTO_PIM___50 = 103,
    IPPROTO_COMP___50 = 108,
    IPPROTO_SCTP___50 = 132,
    IPPROTO_UDPLITE___50 = 136,
    IPPROTO_MPLS___50 = 137,
    IPPROTO_RAW___50 = 255,
    IPPROTO_MAX___50 = 256
} ;
enum __anonenum_218739988___50 {
    IPPROTO_HOPOPTS___50 = 0,
    IPPROTO_ROUTING___50 = 43,
    IPPROTO_FRAGMENT___50 = 44,
    IPPROTO_ICMPV6___50 = 58,
    IPPROTO_NONE___50 = 59,
    IPPROTO_DSTOPTS___50 = 60,
    IPPROTO_MH___50 = 135
} ;
enum __anonenum_662268580___50 {
    IPPORT_ECHO___50 = 7,
    IPPORT_DISCARD___50 = 9,
    IPPORT_SYSTAT___50 = 11,
    IPPORT_DAYTIME___50 = 13,
    IPPORT_NETSTAT___50 = 15,
    IPPORT_FTP___50 = 21,
    IPPORT_TELNET___50 = 23,
    IPPORT_SMTP___50 = 25,
    IPPORT_TIMESERVER___50 = 37,
    IPPORT_NAMESERVER___50 = 42,
    IPPORT_WHOIS___50 = 43,
    IPPORT_MTP___50 = 57,
    IPPORT_TFTP___50 = 69,
    IPPORT_RJE___50 = 77,
    IPPORT_FINGER___50 = 79,
    IPPORT_TTYLINK___50 = 87,
    IPPORT_SUPDUP___50 = 95,
    IPPORT_EXECSERVER___50 = 512,
    IPPORT_LOGINSERVER___50 = 513,
    IPPORT_CMDSERVER___50 = 514,
    IPPORT_EFSSERVER___50 = 520,
    IPPORT_BIFFUDP___50 = 512,
    IPPORT_WHOSERVER___50 = 513,
    IPPORT_ROUTESERVER___50 = 520,
    IPPORT_RESERVED___50 = 1024,
    IPPORT_USERRESERVED___50 = 5000
} ;
enum __anonenum_788308992___50 {
    TCP_ESTABLISHED___50 = 1,
    TCP_SYN_SENT___50 = 2,
    TCP_SYN_RECV___50 = 3,
    TCP_FIN_WAIT1___50 = 4,
    TCP_FIN_WAIT2___50 = 5,
    TCP_TIME_WAIT___50 = 6,
    TCP_CLOSE___50 = 7,
    TCP_CLOSE_WAIT___50 = 8,
    TCP_LAST_ACK___50 = 9,
    TCP_LISTEN___50 = 10,
    TCP_CLOSING___50 = 11
} ;
enum __anonenum_221125648___50 {
    TCP_NO_QUEUE___50 = 0,
    TCP_RECV_QUEUE___50 = 1,
    TCP_SEND_QUEUE___50 = 2,
    TCP_QUEUES_NR___50 = 3
} ;
enum __anonenum_34415463___50 {
    PTHREAD_CREATE_JOINABLE___50 = 0,
    PTHREAD_CREATE_DETACHED___50 = 1
} ;
enum __anonenum_303612439___50 {
    PTHREAD_MUTEX_TIMED_NP___50 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___50 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___50 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___50 = 3,
    PTHREAD_MUTEX_NORMAL___50 = 0,
    PTHREAD_MUTEX_RECURSIVE___50 = 1,
    PTHREAD_MUTEX_ERRORCHECK___50 = 2,
    PTHREAD_MUTEX_DEFAULT___50 = 0,
    PTHREAD_MUTEX_FAST_NP___50 = 0
} ;
enum __anonenum_931900394___50 {
    PTHREAD_MUTEX_STALLED___50 = 0,
    PTHREAD_MUTEX_STALLED_NP___50 = 0,
    PTHREAD_MUTEX_ROBUST___50 = 1,
    PTHREAD_MUTEX_ROBUST_NP___50 = 1
} ;
enum __anonenum_205214487___50 {
    PTHREAD_PRIO_NONE___50 = 0,
    PTHREAD_PRIO_INHERIT___50 = 1,
    PTHREAD_PRIO_PROTECT___50 = 2
} ;
enum __anonenum_25043950___50 {
    PTHREAD_RWLOCK_PREFER_READER_NP___50 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___50 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___50 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___50 = 0
} ;
enum __anonenum_436439511___50 {
    PTHREAD_INHERIT_SCHED___50 = 0,
    PTHREAD_EXPLICIT_SCHED___50 = 1
} ;
enum __anonenum_998661166___50 {
    PTHREAD_SCOPE_SYSTEM___50 = 0,
    PTHREAD_SCOPE_PROCESS___50 = 1
} ;
enum __anonenum_146137331___50 {
    PTHREAD_PROCESS_PRIVATE___50 = 0,
    PTHREAD_PROCESS_SHARED___50 = 1
} ;
enum __anonenum_53396917___50 {
    PTHREAD_CANCEL_ENABLE___50 = 0,
    PTHREAD_CANCEL_DISABLE___50 = 1
} ;
enum __anonenum_904563783___50 {
    PTHREAD_CANCEL_DEFERRED___50 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___50 = 1
} ;
enum __anonenum_672052974___50 {
    SSL_CT_VALIDATION_PERMISSIVE___50 = 0,
    SSL_CT_VALIDATION_STRICT___50 = 1
} ;
enum __anonenum_437032235___51 {
    _PC_LINK_MAX___51 = 0,
    _PC_MAX_CANON___51 = 1,
    _PC_MAX_INPUT___51 = 2,
    _PC_NAME_MAX___51 = 3,
    _PC_PATH_MAX___51 = 4,
    _PC_PIPE_BUF___51 = 5,
    _PC_CHOWN_RESTRICTED___51 = 6,
    _PC_NO_TRUNC___51 = 7,
    _PC_VDISABLE___51 = 8,
    _PC_SYNC_IO___51 = 9,
    _PC_ASYNC_IO___51 = 10,
    _PC_PRIO_IO___51 = 11,
    _PC_SOCK_MAXBUF___51 = 12,
    _PC_FILESIZEBITS___51 = 13,
    _PC_REC_INCR_XFER_SIZE___51 = 14,
    _PC_REC_MAX_XFER_SIZE___51 = 15,
    _PC_REC_MIN_XFER_SIZE___51 = 16,
    _PC_REC_XFER_ALIGN___51 = 17,
    _PC_ALLOC_SIZE_MIN___51 = 18,
    _PC_SYMLINK_MAX___51 = 19,
    _PC_2_SYMLINKS___51 = 20
} ;
enum __anonenum_315186338___51 {
    _SC_ARG_MAX___51 = 0,
    _SC_CHILD_MAX___51 = 1,
    _SC_CLK_TCK___51 = 2,
    _SC_NGROUPS_MAX___51 = 3,
    _SC_OPEN_MAX___51 = 4,
    _SC_STREAM_MAX___51 = 5,
    _SC_TZNAME_MAX___51 = 6,
    _SC_JOB_CONTROL___51 = 7,
    _SC_SAVED_IDS___51 = 8,
    _SC_REALTIME_SIGNALS___51 = 9,
    _SC_PRIORITY_SCHEDULING___51 = 10,
    _SC_TIMERS___51 = 11,
    _SC_ASYNCHRONOUS_IO___51 = 12,
    _SC_PRIORITIZED_IO___51 = 13,
    _SC_SYNCHRONIZED_IO___51 = 14,
    _SC_FSYNC___51 = 15,
    _SC_MAPPED_FILES___51 = 16,
    _SC_MEMLOCK___51 = 17,
    _SC_MEMLOCK_RANGE___51 = 18,
    _SC_MEMORY_PROTECTION___51 = 19,
    _SC_MESSAGE_PASSING___51 = 20,
    _SC_SEMAPHORES___51 = 21,
    _SC_SHARED_MEMORY_OBJECTS___51 = 22,
    _SC_AIO_LISTIO_MAX___51 = 23,
    _SC_AIO_MAX___51 = 24,
    _SC_AIO_PRIO_DELTA_MAX___51 = 25,
    _SC_DELAYTIMER_MAX___51 = 26,
    _SC_MQ_OPEN_MAX___51 = 27,
    _SC_MQ_PRIO_MAX___51 = 28,
    _SC_VERSION___51 = 29,
    _SC_PAGESIZE___51 = 30,
    _SC_RTSIG_MAX___51 = 31,
    _SC_SEM_NSEMS_MAX___51 = 32,
    _SC_SEM_VALUE_MAX___51 = 33,
    _SC_SIGQUEUE_MAX___51 = 34,
    _SC_TIMER_MAX___51 = 35,
    _SC_BC_BASE_MAX___51 = 36,
    _SC_BC_DIM_MAX___51 = 37,
    _SC_BC_SCALE_MAX___51 = 38,
    _SC_BC_STRING_MAX___51 = 39,
    _SC_COLL_WEIGHTS_MAX___51 = 40,
    _SC_EQUIV_CLASS_MAX___51 = 41,
    _SC_EXPR_NEST_MAX___51 = 42,
    _SC_LINE_MAX___51 = 43,
    _SC_RE_DUP_MAX___51 = 44,
    _SC_CHARCLASS_NAME_MAX___51 = 45,
    _SC_2_VERSION___51 = 46,
    _SC_2_C_BIND___51 = 47,
    _SC_2_C_DEV___51 = 48,
    _SC_2_FORT_DEV___51 = 49,
    _SC_2_FORT_RUN___51 = 50,
    _SC_2_SW_DEV___51 = 51,
    _SC_2_LOCALEDEF___51 = 52,
    _SC_PII___51 = 53,
    _SC_PII_XTI___51 = 54,
    _SC_PII_SOCKET___51 = 55,
    _SC_PII_INTERNET___51 = 56,
    _SC_PII_OSI___51 = 57,
    _SC_POLL___51 = 58,
    _SC_SELECT___51 = 59,
    _SC_UIO_MAXIOV___51 = 60,
    _SC_IOV_MAX___51 = 60,
    _SC_PII_INTERNET_STREAM___51 = 61,
    _SC_PII_INTERNET_DGRAM___51 = 62,
    _SC_PII_OSI_COTS___51 = 63,
    _SC_PII_OSI_CLTS___51 = 64,
    _SC_PII_OSI_M___51 = 65,
    _SC_T_IOV_MAX___51 = 66,
    _SC_THREADS___51 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___51 = 68,
    _SC_GETGR_R_SIZE_MAX___51 = 69,
    _SC_GETPW_R_SIZE_MAX___51 = 70,
    _SC_LOGIN_NAME_MAX___51 = 71,
    _SC_TTY_NAME_MAX___51 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___51 = 73,
    _SC_THREAD_KEYS_MAX___51 = 74,
    _SC_THREAD_STACK_MIN___51 = 75,
    _SC_THREAD_THREADS_MAX___51 = 76,
    _SC_THREAD_ATTR_STACKADDR___51 = 77,
    _SC_THREAD_ATTR_STACKSIZE___51 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___51 = 79,
    _SC_THREAD_PRIO_INHERIT___51 = 80,
    _SC_THREAD_PRIO_PROTECT___51 = 81,
    _SC_THREAD_PROCESS_SHARED___51 = 82,
    _SC_NPROCESSORS_CONF___51 = 83,
    _SC_NPROCESSORS_ONLN___51 = 84,
    _SC_PHYS_PAGES___51 = 85,
    _SC_AVPHYS_PAGES___51 = 86,
    _SC_ATEXIT_MAX___51 = 87,
    _SC_PASS_MAX___51 = 88,
    _SC_XOPEN_VERSION___51 = 89,
    _SC_XOPEN_XCU_VERSION___51 = 90,
    _SC_XOPEN_UNIX___51 = 91,
    _SC_XOPEN_CRYPT___51 = 92,
    _SC_XOPEN_ENH_I18N___51 = 93,
    _SC_XOPEN_SHM___51 = 94,
    _SC_2_CHAR_TERM___51 = 95,
    _SC_2_C_VERSION___51 = 96,
    _SC_2_UPE___51 = 97,
    _SC_XOPEN_XPG2___51 = 98,
    _SC_XOPEN_XPG3___51 = 99,
    _SC_XOPEN_XPG4___51 = 100,
    _SC_CHAR_BIT___51 = 101,
    _SC_CHAR_MAX___51 = 102,
    _SC_CHAR_MIN___51 = 103,
    _SC_INT_MAX___51 = 104,
    _SC_INT_MIN___51 = 105,
    _SC_LONG_BIT___51 = 106,
    _SC_WORD_BIT___51 = 107,
    _SC_MB_LEN_MAX___51 = 108,
    _SC_NZERO___51 = 109,
    _SC_SSIZE_MAX___51 = 110,
    _SC_SCHAR_MAX___51 = 111,
    _SC_SCHAR_MIN___51 = 112,
    _SC_SHRT_MAX___51 = 113,
    _SC_SHRT_MIN___51 = 114,
    _SC_UCHAR_MAX___51 = 115,
    _SC_UINT_MAX___51 = 116,
    _SC_ULONG_MAX___51 = 117,
    _SC_USHRT_MAX___51 = 118,
    _SC_NL_ARGMAX___51 = 119,
    _SC_NL_LANGMAX___51 = 120,
    _SC_NL_MSGMAX___51 = 121,
    _SC_NL_NMAX___51 = 122,
    _SC_NL_SETMAX___51 = 123,
    _SC_NL_TEXTMAX___51 = 124,
    _SC_XBS5_ILP32_OFF32___51 = 125,
    _SC_XBS5_ILP32_OFFBIG___51 = 126,
    _SC_XBS5_LP64_OFF64___51 = 127,
    _SC_XBS5_LPBIG_OFFBIG___51 = 128,
    _SC_XOPEN_LEGACY___51 = 129,
    _SC_XOPEN_REALTIME___51 = 130,
    _SC_XOPEN_REALTIME_THREADS___51 = 131,
    _SC_ADVISORY_INFO___51 = 132,
    _SC_BARRIERS___51 = 133,
    _SC_BASE___51 = 134,
    _SC_C_LANG_SUPPORT___51 = 135,
    _SC_C_LANG_SUPPORT_R___51 = 136,
    _SC_CLOCK_SELECTION___51 = 137,
    _SC_CPUTIME___51 = 138,
    _SC_THREAD_CPUTIME___51 = 139,
    _SC_DEVICE_IO___51 = 140,
    _SC_DEVICE_SPECIFIC___51 = 141,
    _SC_DEVICE_SPECIFIC_R___51 = 142,
    _SC_FD_MGMT___51 = 143,
    _SC_FIFO___51 = 144,
    _SC_PIPE___51 = 145,
    _SC_FILE_ATTRIBUTES___51 = 146,
    _SC_FILE_LOCKING___51 = 147,
    _SC_FILE_SYSTEM___51 = 148,
    _SC_MONOTONIC_CLOCK___51 = 149,
    _SC_MULTI_PROCESS___51 = 150,
    _SC_SINGLE_PROCESS___51 = 151,
    _SC_NETWORKING___51 = 152,
    _SC_READER_WRITER_LOCKS___51 = 153,
    _SC_SPIN_LOCKS___51 = 154,
    _SC_REGEXP___51 = 155,
    _SC_REGEX_VERSION___51 = 156,
    _SC_SHELL___51 = 157,
    _SC_SIGNALS___51 = 158,
    _SC_SPAWN___51 = 159,
    _SC_SPORADIC_SERVER___51 = 160,
    _SC_THREAD_SPORADIC_SERVER___51 = 161,
    _SC_SYSTEM_DATABASE___51 = 162,
    _SC_SYSTEM_DATABASE_R___51 = 163,
    _SC_TIMEOUTS___51 = 164,
    _SC_TYPED_MEMORY_OBJECTS___51 = 165,
    _SC_USER_GROUPS___51 = 166,
    _SC_USER_GROUPS_R___51 = 167,
    _SC_2_PBS___51 = 168,
    _SC_2_PBS_ACCOUNTING___51 = 169,
    _SC_2_PBS_LOCATE___51 = 170,
    _SC_2_PBS_MESSAGE___51 = 171,
    _SC_2_PBS_TRACK___51 = 172,
    _SC_SYMLOOP_MAX___51 = 173,
    _SC_STREAMS___51 = 174,
    _SC_2_PBS_CHECKPOINT___51 = 175,
    _SC_V6_ILP32_OFF32___51 = 176,
    _SC_V6_ILP32_OFFBIG___51 = 177,
    _SC_V6_LP64_OFF64___51 = 178,
    _SC_V6_LPBIG_OFFBIG___51 = 179,
    _SC_HOST_NAME_MAX___51 = 180,
    _SC_TRACE___51 = 181,
    _SC_TRACE_EVENT_FILTER___51 = 182,
    _SC_TRACE_INHERIT___51 = 183,
    _SC_TRACE_LOG___51 = 184,
    _SC_LEVEL1_ICACHE_SIZE___51 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___51 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___51 = 187,
    _SC_LEVEL1_DCACHE_SIZE___51 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___51 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___51 = 190,
    _SC_LEVEL2_CACHE_SIZE___51 = 191,
    _SC_LEVEL2_CACHE_ASSOC___51 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___51 = 193,
    _SC_LEVEL3_CACHE_SIZE___51 = 194,
    _SC_LEVEL3_CACHE_ASSOC___51 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___51 = 196,
    _SC_LEVEL4_CACHE_SIZE___51 = 197,
    _SC_LEVEL4_CACHE_ASSOC___51 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___51 = 199,
    _SC_IPV6___51 = 235,
    _SC_RAW_SOCKETS___51 = 236,
    _SC_V7_ILP32_OFF32___51 = 237,
    _SC_V7_ILP32_OFFBIG___51 = 238,
    _SC_V7_LP64_OFF64___51 = 239,
    _SC_V7_LPBIG_OFFBIG___51 = 240,
    _SC_SS_REPL_MAX___51 = 241,
    _SC_TRACE_EVENT_NAME_MAX___51 = 242,
    _SC_TRACE_NAME_MAX___51 = 243,
    _SC_TRACE_SYS_MAX___51 = 244,
    _SC_TRACE_USER_EVENT_MAX___51 = 245,
    _SC_XOPEN_STREAMS___51 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___51 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___51 = 248
} ;
enum __anonenum_875524036___51 {
    _CS_PATH___51 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___51 = 1,
    _CS_GNU_LIBC_VERSION___51 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___51 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___51 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___51 = 5,
    _CS_LFS_CFLAGS___51 = 1000,
    _CS_LFS_LDFLAGS___51 = 1001,
    _CS_LFS_LIBS___51 = 1002,
    _CS_LFS_LINTFLAGS___51 = 1003,
    _CS_LFS64_CFLAGS___51 = 1004,
    _CS_LFS64_LDFLAGS___51 = 1005,
    _CS_LFS64_LIBS___51 = 1006,
    _CS_LFS64_LINTFLAGS___51 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___51 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___51 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___51 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___51 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___51 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___51 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___51 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___51 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___51 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___51 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___51 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___51 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___51 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___51 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___51 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___51 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___51 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___51 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___51 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___51 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___51 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___51 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___51 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___51 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___51 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___51 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___51 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___51 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___51 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___51 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___51 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___51 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___51 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___51 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___51 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___51 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___51 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___51 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___51 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___51 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___51 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___51 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___51 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___51 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___51 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___51 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___51 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___51 = 1147,
    _CS_V6_ENV___51 = 1148,
    _CS_V7_ENV___51 = 1149
} ;
enum __anonenum_513775621___51 {
    DT_UNKNOWN___51 = 0,
    DT_FIFO___51 = 1,
    DT_CHR___51 = 2,
    DT_DIR___51 = 4,
    DT_BLK___51 = 6,
    DT_REG___51 = 8,
    DT_LNK___51 = 10,
    DT_SOCK___51 = 12,
    DT_WHT___51 = 14
} ;
enum __anonenum_77002343___51 {
    SI_ASYNCNL___51 = -60,
    SI_TKILL___51 = -6,
    SI_SIGIO___51 = -5,
    SI_ASYNCIO___51 = -4,
    SI_MESGQ___51 = -3,
    SI_TIMER___51 = -2,
    SI_QUEUE___51 = -1,
    SI_USER___51 = 0,
    SI_KERNEL___51 = 128
} ;
enum __anonenum_131038172___51 {
    ILL_ILLOPC___51 = 1,
    ILL_ILLOPN___51 = 2,
    ILL_ILLADR___51 = 3,
    ILL_ILLTRP___51 = 4,
    ILL_PRVOPC___51 = 5,
    ILL_PRVREG___51 = 6,
    ILL_COPROC___51 = 7,
    ILL_BADSTK___51 = 8
} ;
enum __anonenum_452038093___51 {
    FPE_INTDIV___51 = 1,
    FPE_INTOVF___51 = 2,
    FPE_FLTDIV___51 = 3,
    FPE_FLTOVF___51 = 4,
    FPE_FLTUND___51 = 5,
    FPE_FLTRES___51 = 6,
    FPE_FLTINV___51 = 7,
    FPE_FLTSUB___51 = 8
} ;
enum __anonenum_30976155___51 {
    SEGV_MAPERR___51 = 1,
    SEGV_ACCERR___51 = 2,
    SEGV_BNDERR___51 = 3,
    SEGV_PKUERR___51 = 4
} ;
enum __anonenum_1036286214___51 {
    BUS_ADRALN___51 = 1,
    BUS_ADRERR___51 = 2,
    BUS_OBJERR___51 = 3,
    BUS_MCEERR_AR___51 = 4,
    BUS_MCEERR_AO___51 = 5
} ;
enum __anonenum_493465559___51 {
    TRAP_BRKPT___51 = 1,
    TRAP_TRACE___51 = 2
} ;
enum __anonenum_23175539___51 {
    CLD_EXITED___51 = 1,
    CLD_KILLED___51 = 2,
    CLD_DUMPED___51 = 3,
    CLD_TRAPPED___51 = 4,
    CLD_STOPPED___51 = 5,
    CLD_CONTINUED___51 = 6
} ;
enum __anonenum_111643124___51 {
    POLL_IN___51 = 1,
    POLL_OUT___51 = 2,
    POLL_MSG___51 = 3,
    POLL_ERR___51 = 4,
    POLL_PRI___51 = 5,
    POLL_HUP___51 = 6
} ;
enum __anonenum_852341087___51 {
    SIGEV_SIGNAL___51 = 0,
    SIGEV_NONE___51 = 1,
    SIGEV_THREAD___51 = 2,
    SIGEV_THREAD_ID___51 = 4
} ;
enum __anonenum_451154152___51 {
    REG_R8___51 = 0,
    REG_R9___51 = 1,
    REG_R10___51 = 2,
    REG_R11___51 = 3,
    REG_R12___51 = 4,
    REG_R13___51 = 5,
    REG_R14___51 = 6,
    REG_R15___51 = 7,
    REG_RDI___51 = 8,
    REG_RSI___51 = 9,
    REG_RBP___51 = 10,
    REG_RBX___51 = 11,
    REG_RDX___51 = 12,
    REG_RAX___51 = 13,
    REG_RCX___51 = 14,
    REG_RSP___51 = 15,
    REG_RIP___51 = 16,
    REG_EFL___51 = 17,
    REG_CSGSFS___51 = 18,
    REG_ERR___51 = 19,
    REG_TRAPNO___51 = 20,
    REG_OLDMASK___51 = 21,
    REG_CR2___51 = 22
} ;
enum __anonenum_57186863___51 {
    SS_ONSTACK___51 = 1,
    SS_DISABLE___51 = 2
} ;
enum __anonenum_83571709___51 {
    MSG_OOB___51 = 1,
    MSG_PEEK___51 = 2,
    MSG_DONTROUTE___51 = 4,
    MSG_TRYHARD___51 = 4,
    MSG_CTRUNC___51 = 8,
    MSG_PROXY___51 = 16,
    MSG_TRUNC___51 = 32,
    MSG_DONTWAIT___51 = 64,
    MSG_EOR___51 = 128,
    MSG_WAITALL___51 = 256,
    MSG_FIN___51 = 512,
    MSG_SYN___51 = 1024,
    MSG_CONFIRM___51 = 2048,
    MSG_RST___51 = 4096,
    MSG_ERRQUEUE___51 = 8192,
    MSG_NOSIGNAL___51 = 16384,
    MSG_MORE___51 = 32768,
    MSG_WAITFORONE___51 = 65536,
    MSG_BATCH___51 = 262144,
    MSG_ZEROCOPY___51 = 67108864,
    MSG_FASTOPEN___51 = 536870912,
    MSG_CMSG_CLOEXEC___51 = 1073741824
} ;
enum __anonenum_617082774___51 {
    SCM_RIGHTS___51 = 1,
    SCM_CREDENTIALS___51 = 2
} ;
enum __anonenum_606441560___51 {
    SHUT_RD___51 = 0,
    SHUT_WR___51 = 1,
    SHUT_RDWR___51 = 2
} ;
enum __anonenum_681669233___51 {
    IPPROTO_IP___51 = 0,
    IPPROTO_ICMP___51 = 1,
    IPPROTO_IGMP___51 = 2,
    IPPROTO_IPIP___51 = 4,
    IPPROTO_TCP___51 = 6,
    IPPROTO_EGP___51 = 8,
    IPPROTO_PUP___51 = 12,
    IPPROTO_UDP___51 = 17,
    IPPROTO_IDP___51 = 22,
    IPPROTO_TP___51 = 29,
    IPPROTO_DCCP___51 = 33,
    IPPROTO_IPV6___51 = 41,
    IPPROTO_RSVP___51 = 46,
    IPPROTO_GRE___51 = 47,
    IPPROTO_ESP___51 = 50,
    IPPROTO_AH___51 = 51,
    IPPROTO_MTP___51 = 92,
    IPPROTO_BEETPH___51 = 94,
    IPPROTO_ENCAP___51 = 98,
    IPPROTO_PIM___51 = 103,
    IPPROTO_COMP___51 = 108,
    IPPROTO_SCTP___51 = 132,
    IPPROTO_UDPLITE___51 = 136,
    IPPROTO_MPLS___51 = 137,
    IPPROTO_RAW___51 = 255,
    IPPROTO_MAX___51 = 256
} ;
enum __anonenum_218739988___51 {
    IPPROTO_HOPOPTS___51 = 0,
    IPPROTO_ROUTING___51 = 43,
    IPPROTO_FRAGMENT___51 = 44,
    IPPROTO_ICMPV6___51 = 58,
    IPPROTO_NONE___51 = 59,
    IPPROTO_DSTOPTS___51 = 60,
    IPPROTO_MH___51 = 135
} ;
enum __anonenum_662268580___51 {
    IPPORT_ECHO___51 = 7,
    IPPORT_DISCARD___51 = 9,
    IPPORT_SYSTAT___51 = 11,
    IPPORT_DAYTIME___51 = 13,
    IPPORT_NETSTAT___51 = 15,
    IPPORT_FTP___51 = 21,
    IPPORT_TELNET___51 = 23,
    IPPORT_SMTP___51 = 25,
    IPPORT_TIMESERVER___51 = 37,
    IPPORT_NAMESERVER___51 = 42,
    IPPORT_WHOIS___51 = 43,
    IPPORT_MTP___51 = 57,
    IPPORT_TFTP___51 = 69,
    IPPORT_RJE___51 = 77,
    IPPORT_FINGER___51 = 79,
    IPPORT_TTYLINK___51 = 87,
    IPPORT_SUPDUP___51 = 95,
    IPPORT_EXECSERVER___51 = 512,
    IPPORT_LOGINSERVER___51 = 513,
    IPPORT_CMDSERVER___51 = 514,
    IPPORT_EFSSERVER___51 = 520,
    IPPORT_BIFFUDP___51 = 512,
    IPPORT_WHOSERVER___51 = 513,
    IPPORT_ROUTESERVER___51 = 520,
    IPPORT_RESERVED___51 = 1024,
    IPPORT_USERRESERVED___51 = 5000
} ;
enum __anonenum_788308992___51 {
    TCP_ESTABLISHED___51 = 1,
    TCP_SYN_SENT___51 = 2,
    TCP_SYN_RECV___51 = 3,
    TCP_FIN_WAIT1___51 = 4,
    TCP_FIN_WAIT2___51 = 5,
    TCP_TIME_WAIT___51 = 6,
    TCP_CLOSE___51 = 7,
    TCP_CLOSE_WAIT___51 = 8,
    TCP_LAST_ACK___51 = 9,
    TCP_LISTEN___51 = 10,
    TCP_CLOSING___51 = 11
} ;
enum __anonenum_221125648___51 {
    TCP_NO_QUEUE___51 = 0,
    TCP_RECV_QUEUE___51 = 1,
    TCP_SEND_QUEUE___51 = 2,
    TCP_QUEUES_NR___51 = 3
} ;
enum __anonenum_34415463___51 {
    PTHREAD_CREATE_JOINABLE___51 = 0,
    PTHREAD_CREATE_DETACHED___51 = 1
} ;
enum __anonenum_303612439___51 {
    PTHREAD_MUTEX_TIMED_NP___51 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___51 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___51 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___51 = 3,
    PTHREAD_MUTEX_NORMAL___51 = 0,
    PTHREAD_MUTEX_RECURSIVE___51 = 1,
    PTHREAD_MUTEX_ERRORCHECK___51 = 2,
    PTHREAD_MUTEX_DEFAULT___51 = 0,
    PTHREAD_MUTEX_FAST_NP___51 = 0
} ;
enum __anonenum_931900394___51 {
    PTHREAD_MUTEX_STALLED___51 = 0,
    PTHREAD_MUTEX_STALLED_NP___51 = 0,
    PTHREAD_MUTEX_ROBUST___51 = 1,
    PTHREAD_MUTEX_ROBUST_NP___51 = 1
} ;
enum __anonenum_205214487___51 {
    PTHREAD_PRIO_NONE___51 = 0,
    PTHREAD_PRIO_INHERIT___51 = 1,
    PTHREAD_PRIO_PROTECT___51 = 2
} ;
enum __anonenum_25043950___51 {
    PTHREAD_RWLOCK_PREFER_READER_NP___51 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___51 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___51 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___51 = 0
} ;
enum __anonenum_436439511___51 {
    PTHREAD_INHERIT_SCHED___51 = 0,
    PTHREAD_EXPLICIT_SCHED___51 = 1
} ;
enum __anonenum_998661166___51 {
    PTHREAD_SCOPE_SYSTEM___51 = 0,
    PTHREAD_SCOPE_PROCESS___51 = 1
} ;
enum __anonenum_146137331___51 {
    PTHREAD_PROCESS_PRIVATE___51 = 0,
    PTHREAD_PROCESS_SHARED___51 = 1
} ;
enum __anonenum_53396917___51 {
    PTHREAD_CANCEL_ENABLE___51 = 0,
    PTHREAD_CANCEL_DISABLE___51 = 1
} ;
enum __anonenum_904563783___51 {
    PTHREAD_CANCEL_DEFERRED___51 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___51 = 1
} ;
enum __anonenum_672052974___51 {
    SSL_CT_VALIDATION_PERMISSIVE___51 = 0,
    SSL_CT_VALIDATION_STRICT___51 = 1
} ;
enum __anonenum_561748495___0 {
    RECURSE_SUBMODULES_ONLY___0 = -5,
    RECURSE_SUBMODULES_CHECK___0 = -4,
    RECURSE_SUBMODULES_ERROR___0 = -3,
    RECURSE_SUBMODULES_NONE___0 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___0 = -1,
    RECURSE_SUBMODULES_OFF___0 = 0,
    RECURSE_SUBMODULES_DEFAULT___0 = 1,
    RECURSE_SUBMODULES_ON___0 = 2
} ;
struct submodule {
   char const   *path ;
   char const   *name ;
   char const   *url ;
   int fetch_recurse ;
   char const   *ignore ;
   char const   *branch ;
   struct submodule_update_strategy update_strategy ;
   struct object_id gitmodules_oid ;
   int recommend_shallow ;
};
struct diff_tempfile {
   char const   *name ;
   char hex[65] ;
   char mode[10] ;
   struct tempfile *tempfile ;
};
struct diff_words_data ;
struct emit_callback {
   int color_diff ;
   unsigned int ws_rule ;
   int blank_at_eof_in_preimage ;
   int blank_at_eof_in_postimage ;
   int lno_in_preimage ;
   int lno_in_postimage ;
   char const   **label_path ;
   struct diff_words_data *diff_words ;
   struct diff_options *opt ;
   struct strbuf *header ;
};
enum diff_symbol {
    DIFF_SYMBOL_BINARY_DIFF_HEADER = 0,
    DIFF_SYMBOL_BINARY_DIFF_HEADER_DELTA = 1,
    DIFF_SYMBOL_BINARY_DIFF_HEADER_LITERAL = 2,
    DIFF_SYMBOL_BINARY_DIFF_BODY = 3,
    DIFF_SYMBOL_BINARY_DIFF_FOOTER = 4,
    DIFF_SYMBOL_STATS_SUMMARY_NO_FILES = 5,
    DIFF_SYMBOL_STATS_SUMMARY_ABBREV = 6,
    DIFF_SYMBOL_STATS_SUMMARY_INSERTS_DELETES = 7,
    DIFF_SYMBOL_STATS_LINE = 8,
    DIFF_SYMBOL_WORD_DIFF = 9,
    DIFF_SYMBOL_STAT_SEP = 10,
    DIFF_SYMBOL_SUMMARY = 11,
    DIFF_SYMBOL_SUBMODULE_ADD = 12,
    DIFF_SYMBOL_SUBMODULE_DEL = 13,
    DIFF_SYMBOL_SUBMODULE_UNTRACKED = 14,
    DIFF_SYMBOL_SUBMODULE_MODIFIED = 15,
    DIFF_SYMBOL_SUBMODULE_HEADER = 16,
    DIFF_SYMBOL_SUBMODULE_ERROR = 17,
    DIFF_SYMBOL_SUBMODULE_PIPETHROUGH = 18,
    DIFF_SYMBOL_REWRITE_DIFF = 19,
    DIFF_SYMBOL_BINARY_FILES = 20,
    DIFF_SYMBOL_HEADER = 21,
    DIFF_SYMBOL_FILEPAIR_PLUS = 22,
    DIFF_SYMBOL_FILEPAIR_MINUS = 23,
    DIFF_SYMBOL_WORDS_PORCELAIN = 24,
    DIFF_SYMBOL_WORDS = 25,
    DIFF_SYMBOL_CONTEXT = 26,
    DIFF_SYMBOL_CONTEXT_INCOMPLETE = 27,
    DIFF_SYMBOL_PLUS = 28,
    DIFF_SYMBOL_MINUS = 29,
    DIFF_SYMBOL_NO_LF_EOF = 30,
    DIFF_SYMBOL_CONTEXT_FRAGINFO = 31,
    DIFF_SYMBOL_CONTEXT_MARKER = 32,
    DIFF_SYMBOL_SEPARATOR = 33
} ;
struct emitted_diff_symbol {
   char const   *line ;
   int len ;
   int flags ;
   int indent_off ;
   int indent_width ;
   unsigned int id ;
   enum diff_symbol s ;
};
struct emitted_diff_symbols {
   struct emitted_diff_symbol *buf ;
   int nr ;
   int alloc ;
};
struct moved_entry {
   struct emitted_diff_symbol  const  *es ;
   struct moved_entry *next_line ;
   struct moved_entry *next_match ;
};
struct moved_block {
   struct moved_entry *match ;
   int wsd ;
};
struct interned_diff_symbol {
   struct hashmap_entry ent ;
   struct emitted_diff_symbol *es ;
};
struct moved_entry_list {
   struct moved_entry *add ;
   struct moved_entry *del ;
};
struct diff_words_orig {
   char const   *begin ;
   char const   *end ;
};
struct diff_words_buffer {
   mmfile_t text ;
   unsigned long alloc ;
   struct diff_words_orig *orig ;
   int orig_nr ;
   int orig_alloc ;
};
struct diff_words_style_elem {
   char const   *prefix ;
   char const   *suffix ;
   char const   *color ;
};
struct diff_words_style {
   enum diff_words_type type ;
   struct diff_words_style_elem new_word ;
   struct diff_words_style_elem old_word ;
   struct diff_words_style_elem ctx ;
   char const   *newline ;
};
struct diff_words_data {
   struct diff_words_buffer minus ;
   struct diff_words_buffer plus ;
   char const   *current_plus ;
   int last_minus ;
   struct diff_options *opt ;
   regex_t *word_regex ;
   enum diff_words_type type ;
   struct diff_words_style *style ;
};
struct dirstat_file {
   char const   *name ;
   unsigned long changed ;
};
struct dirstat_dir {
   struct dirstat_file *files ;
   int alloc ;
   int nr ;
   int permille ;
   int cumulative ;
};
struct checkdiff_t {
   char const   *filename ;
   int lineno ;
   int conflict_marker_size ;
   struct diff_options *o ;
   unsigned int ws_rule ;
   unsigned int status ;
};
struct patch_id_t {
   git_hash_ctx *ctx ;
   int patchlen ;
};
enum __anonenum_437032235___52 {
    _PC_LINK_MAX___52 = 0,
    _PC_MAX_CANON___52 = 1,
    _PC_MAX_INPUT___52 = 2,
    _PC_NAME_MAX___52 = 3,
    _PC_PATH_MAX___52 = 4,
    _PC_PIPE_BUF___52 = 5,
    _PC_CHOWN_RESTRICTED___52 = 6,
    _PC_NO_TRUNC___52 = 7,
    _PC_VDISABLE___52 = 8,
    _PC_SYNC_IO___52 = 9,
    _PC_ASYNC_IO___52 = 10,
    _PC_PRIO_IO___52 = 11,
    _PC_SOCK_MAXBUF___52 = 12,
    _PC_FILESIZEBITS___52 = 13,
    _PC_REC_INCR_XFER_SIZE___52 = 14,
    _PC_REC_MAX_XFER_SIZE___52 = 15,
    _PC_REC_MIN_XFER_SIZE___52 = 16,
    _PC_REC_XFER_ALIGN___52 = 17,
    _PC_ALLOC_SIZE_MIN___52 = 18,
    _PC_SYMLINK_MAX___52 = 19,
    _PC_2_SYMLINKS___52 = 20
} ;
enum __anonenum_315186338___52 {
    _SC_ARG_MAX___52 = 0,
    _SC_CHILD_MAX___52 = 1,
    _SC_CLK_TCK___52 = 2,
    _SC_NGROUPS_MAX___52 = 3,
    _SC_OPEN_MAX___52 = 4,
    _SC_STREAM_MAX___52 = 5,
    _SC_TZNAME_MAX___52 = 6,
    _SC_JOB_CONTROL___52 = 7,
    _SC_SAVED_IDS___52 = 8,
    _SC_REALTIME_SIGNALS___52 = 9,
    _SC_PRIORITY_SCHEDULING___52 = 10,
    _SC_TIMERS___52 = 11,
    _SC_ASYNCHRONOUS_IO___52 = 12,
    _SC_PRIORITIZED_IO___52 = 13,
    _SC_SYNCHRONIZED_IO___52 = 14,
    _SC_FSYNC___52 = 15,
    _SC_MAPPED_FILES___52 = 16,
    _SC_MEMLOCK___52 = 17,
    _SC_MEMLOCK_RANGE___52 = 18,
    _SC_MEMORY_PROTECTION___52 = 19,
    _SC_MESSAGE_PASSING___52 = 20,
    _SC_SEMAPHORES___52 = 21,
    _SC_SHARED_MEMORY_OBJECTS___52 = 22,
    _SC_AIO_LISTIO_MAX___52 = 23,
    _SC_AIO_MAX___52 = 24,
    _SC_AIO_PRIO_DELTA_MAX___52 = 25,
    _SC_DELAYTIMER_MAX___52 = 26,
    _SC_MQ_OPEN_MAX___52 = 27,
    _SC_MQ_PRIO_MAX___52 = 28,
    _SC_VERSION___52 = 29,
    _SC_PAGESIZE___52 = 30,
    _SC_RTSIG_MAX___52 = 31,
    _SC_SEM_NSEMS_MAX___52 = 32,
    _SC_SEM_VALUE_MAX___52 = 33,
    _SC_SIGQUEUE_MAX___52 = 34,
    _SC_TIMER_MAX___52 = 35,
    _SC_BC_BASE_MAX___52 = 36,
    _SC_BC_DIM_MAX___52 = 37,
    _SC_BC_SCALE_MAX___52 = 38,
    _SC_BC_STRING_MAX___52 = 39,
    _SC_COLL_WEIGHTS_MAX___52 = 40,
    _SC_EQUIV_CLASS_MAX___52 = 41,
    _SC_EXPR_NEST_MAX___52 = 42,
    _SC_LINE_MAX___52 = 43,
    _SC_RE_DUP_MAX___52 = 44,
    _SC_CHARCLASS_NAME_MAX___52 = 45,
    _SC_2_VERSION___52 = 46,
    _SC_2_C_BIND___52 = 47,
    _SC_2_C_DEV___52 = 48,
    _SC_2_FORT_DEV___52 = 49,
    _SC_2_FORT_RUN___52 = 50,
    _SC_2_SW_DEV___52 = 51,
    _SC_2_LOCALEDEF___52 = 52,
    _SC_PII___52 = 53,
    _SC_PII_XTI___52 = 54,
    _SC_PII_SOCKET___52 = 55,
    _SC_PII_INTERNET___52 = 56,
    _SC_PII_OSI___52 = 57,
    _SC_POLL___52 = 58,
    _SC_SELECT___52 = 59,
    _SC_UIO_MAXIOV___52 = 60,
    _SC_IOV_MAX___52 = 60,
    _SC_PII_INTERNET_STREAM___52 = 61,
    _SC_PII_INTERNET_DGRAM___52 = 62,
    _SC_PII_OSI_COTS___52 = 63,
    _SC_PII_OSI_CLTS___52 = 64,
    _SC_PII_OSI_M___52 = 65,
    _SC_T_IOV_MAX___52 = 66,
    _SC_THREADS___52 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___52 = 68,
    _SC_GETGR_R_SIZE_MAX___52 = 69,
    _SC_GETPW_R_SIZE_MAX___52 = 70,
    _SC_LOGIN_NAME_MAX___52 = 71,
    _SC_TTY_NAME_MAX___52 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___52 = 73,
    _SC_THREAD_KEYS_MAX___52 = 74,
    _SC_THREAD_STACK_MIN___52 = 75,
    _SC_THREAD_THREADS_MAX___52 = 76,
    _SC_THREAD_ATTR_STACKADDR___52 = 77,
    _SC_THREAD_ATTR_STACKSIZE___52 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___52 = 79,
    _SC_THREAD_PRIO_INHERIT___52 = 80,
    _SC_THREAD_PRIO_PROTECT___52 = 81,
    _SC_THREAD_PROCESS_SHARED___52 = 82,
    _SC_NPROCESSORS_CONF___52 = 83,
    _SC_NPROCESSORS_ONLN___52 = 84,
    _SC_PHYS_PAGES___52 = 85,
    _SC_AVPHYS_PAGES___52 = 86,
    _SC_ATEXIT_MAX___52 = 87,
    _SC_PASS_MAX___52 = 88,
    _SC_XOPEN_VERSION___52 = 89,
    _SC_XOPEN_XCU_VERSION___52 = 90,
    _SC_XOPEN_UNIX___52 = 91,
    _SC_XOPEN_CRYPT___52 = 92,
    _SC_XOPEN_ENH_I18N___52 = 93,
    _SC_XOPEN_SHM___52 = 94,
    _SC_2_CHAR_TERM___52 = 95,
    _SC_2_C_VERSION___52 = 96,
    _SC_2_UPE___52 = 97,
    _SC_XOPEN_XPG2___52 = 98,
    _SC_XOPEN_XPG3___52 = 99,
    _SC_XOPEN_XPG4___52 = 100,
    _SC_CHAR_BIT___52 = 101,
    _SC_CHAR_MAX___52 = 102,
    _SC_CHAR_MIN___52 = 103,
    _SC_INT_MAX___52 = 104,
    _SC_INT_MIN___52 = 105,
    _SC_LONG_BIT___52 = 106,
    _SC_WORD_BIT___52 = 107,
    _SC_MB_LEN_MAX___52 = 108,
    _SC_NZERO___52 = 109,
    _SC_SSIZE_MAX___52 = 110,
    _SC_SCHAR_MAX___52 = 111,
    _SC_SCHAR_MIN___52 = 112,
    _SC_SHRT_MAX___52 = 113,
    _SC_SHRT_MIN___52 = 114,
    _SC_UCHAR_MAX___52 = 115,
    _SC_UINT_MAX___52 = 116,
    _SC_ULONG_MAX___52 = 117,
    _SC_USHRT_MAX___52 = 118,
    _SC_NL_ARGMAX___52 = 119,
    _SC_NL_LANGMAX___52 = 120,
    _SC_NL_MSGMAX___52 = 121,
    _SC_NL_NMAX___52 = 122,
    _SC_NL_SETMAX___52 = 123,
    _SC_NL_TEXTMAX___52 = 124,
    _SC_XBS5_ILP32_OFF32___52 = 125,
    _SC_XBS5_ILP32_OFFBIG___52 = 126,
    _SC_XBS5_LP64_OFF64___52 = 127,
    _SC_XBS5_LPBIG_OFFBIG___52 = 128,
    _SC_XOPEN_LEGACY___52 = 129,
    _SC_XOPEN_REALTIME___52 = 130,
    _SC_XOPEN_REALTIME_THREADS___52 = 131,
    _SC_ADVISORY_INFO___52 = 132,
    _SC_BARRIERS___52 = 133,
    _SC_BASE___52 = 134,
    _SC_C_LANG_SUPPORT___52 = 135,
    _SC_C_LANG_SUPPORT_R___52 = 136,
    _SC_CLOCK_SELECTION___52 = 137,
    _SC_CPUTIME___52 = 138,
    _SC_THREAD_CPUTIME___52 = 139,
    _SC_DEVICE_IO___52 = 140,
    _SC_DEVICE_SPECIFIC___52 = 141,
    _SC_DEVICE_SPECIFIC_R___52 = 142,
    _SC_FD_MGMT___52 = 143,
    _SC_FIFO___52 = 144,
    _SC_PIPE___52 = 145,
    _SC_FILE_ATTRIBUTES___52 = 146,
    _SC_FILE_LOCKING___52 = 147,
    _SC_FILE_SYSTEM___52 = 148,
    _SC_MONOTONIC_CLOCK___52 = 149,
    _SC_MULTI_PROCESS___52 = 150,
    _SC_SINGLE_PROCESS___52 = 151,
    _SC_NETWORKING___52 = 152,
    _SC_READER_WRITER_LOCKS___52 = 153,
    _SC_SPIN_LOCKS___52 = 154,
    _SC_REGEXP___52 = 155,
    _SC_REGEX_VERSION___52 = 156,
    _SC_SHELL___52 = 157,
    _SC_SIGNALS___52 = 158,
    _SC_SPAWN___52 = 159,
    _SC_SPORADIC_SERVER___52 = 160,
    _SC_THREAD_SPORADIC_SERVER___52 = 161,
    _SC_SYSTEM_DATABASE___52 = 162,
    _SC_SYSTEM_DATABASE_R___52 = 163,
    _SC_TIMEOUTS___52 = 164,
    _SC_TYPED_MEMORY_OBJECTS___52 = 165,
    _SC_USER_GROUPS___52 = 166,
    _SC_USER_GROUPS_R___52 = 167,
    _SC_2_PBS___52 = 168,
    _SC_2_PBS_ACCOUNTING___52 = 169,
    _SC_2_PBS_LOCATE___52 = 170,
    _SC_2_PBS_MESSAGE___52 = 171,
    _SC_2_PBS_TRACK___52 = 172,
    _SC_SYMLOOP_MAX___52 = 173,
    _SC_STREAMS___52 = 174,
    _SC_2_PBS_CHECKPOINT___52 = 175,
    _SC_V6_ILP32_OFF32___52 = 176,
    _SC_V6_ILP32_OFFBIG___52 = 177,
    _SC_V6_LP64_OFF64___52 = 178,
    _SC_V6_LPBIG_OFFBIG___52 = 179,
    _SC_HOST_NAME_MAX___52 = 180,
    _SC_TRACE___52 = 181,
    _SC_TRACE_EVENT_FILTER___52 = 182,
    _SC_TRACE_INHERIT___52 = 183,
    _SC_TRACE_LOG___52 = 184,
    _SC_LEVEL1_ICACHE_SIZE___52 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___52 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___52 = 187,
    _SC_LEVEL1_DCACHE_SIZE___52 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___52 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___52 = 190,
    _SC_LEVEL2_CACHE_SIZE___52 = 191,
    _SC_LEVEL2_CACHE_ASSOC___52 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___52 = 193,
    _SC_LEVEL3_CACHE_SIZE___52 = 194,
    _SC_LEVEL3_CACHE_ASSOC___52 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___52 = 196,
    _SC_LEVEL4_CACHE_SIZE___52 = 197,
    _SC_LEVEL4_CACHE_ASSOC___52 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___52 = 199,
    _SC_IPV6___52 = 235,
    _SC_RAW_SOCKETS___52 = 236,
    _SC_V7_ILP32_OFF32___52 = 237,
    _SC_V7_ILP32_OFFBIG___52 = 238,
    _SC_V7_LP64_OFF64___52 = 239,
    _SC_V7_LPBIG_OFFBIG___52 = 240,
    _SC_SS_REPL_MAX___52 = 241,
    _SC_TRACE_EVENT_NAME_MAX___52 = 242,
    _SC_TRACE_NAME_MAX___52 = 243,
    _SC_TRACE_SYS_MAX___52 = 244,
    _SC_TRACE_USER_EVENT_MAX___52 = 245,
    _SC_XOPEN_STREAMS___52 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___52 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___52 = 248
} ;
enum __anonenum_875524036___52 {
    _CS_PATH___52 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___52 = 1,
    _CS_GNU_LIBC_VERSION___52 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___52 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___52 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___52 = 5,
    _CS_LFS_CFLAGS___52 = 1000,
    _CS_LFS_LDFLAGS___52 = 1001,
    _CS_LFS_LIBS___52 = 1002,
    _CS_LFS_LINTFLAGS___52 = 1003,
    _CS_LFS64_CFLAGS___52 = 1004,
    _CS_LFS64_LDFLAGS___52 = 1005,
    _CS_LFS64_LIBS___52 = 1006,
    _CS_LFS64_LINTFLAGS___52 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___52 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___52 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___52 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___52 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___52 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___52 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___52 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___52 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___52 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___52 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___52 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___52 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___52 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___52 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___52 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___52 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___52 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___52 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___52 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___52 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___52 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___52 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___52 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___52 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___52 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___52 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___52 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___52 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___52 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___52 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___52 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___52 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___52 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___52 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___52 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___52 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___52 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___52 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___52 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___52 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___52 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___52 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___52 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___52 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___52 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___52 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___52 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___52 = 1147,
    _CS_V6_ENV___52 = 1148,
    _CS_V7_ENV___52 = 1149
} ;
enum __anonenum_513775621___52 {
    DT_UNKNOWN___52 = 0,
    DT_FIFO___52 = 1,
    DT_CHR___52 = 2,
    DT_DIR___52 = 4,
    DT_BLK___52 = 6,
    DT_REG___52 = 8,
    DT_LNK___52 = 10,
    DT_SOCK___52 = 12,
    DT_WHT___52 = 14
} ;
enum __anonenum_77002343___52 {
    SI_ASYNCNL___52 = -60,
    SI_TKILL___52 = -6,
    SI_SIGIO___52 = -5,
    SI_ASYNCIO___52 = -4,
    SI_MESGQ___52 = -3,
    SI_TIMER___52 = -2,
    SI_QUEUE___52 = -1,
    SI_USER___52 = 0,
    SI_KERNEL___52 = 128
} ;
enum __anonenum_131038172___52 {
    ILL_ILLOPC___52 = 1,
    ILL_ILLOPN___52 = 2,
    ILL_ILLADR___52 = 3,
    ILL_ILLTRP___52 = 4,
    ILL_PRVOPC___52 = 5,
    ILL_PRVREG___52 = 6,
    ILL_COPROC___52 = 7,
    ILL_BADSTK___52 = 8
} ;
enum __anonenum_452038093___52 {
    FPE_INTDIV___52 = 1,
    FPE_INTOVF___52 = 2,
    FPE_FLTDIV___52 = 3,
    FPE_FLTOVF___52 = 4,
    FPE_FLTUND___52 = 5,
    FPE_FLTRES___52 = 6,
    FPE_FLTINV___52 = 7,
    FPE_FLTSUB___52 = 8
} ;
enum __anonenum_30976155___52 {
    SEGV_MAPERR___52 = 1,
    SEGV_ACCERR___52 = 2,
    SEGV_BNDERR___52 = 3,
    SEGV_PKUERR___52 = 4
} ;
enum __anonenum_1036286214___52 {
    BUS_ADRALN___52 = 1,
    BUS_ADRERR___52 = 2,
    BUS_OBJERR___52 = 3,
    BUS_MCEERR_AR___52 = 4,
    BUS_MCEERR_AO___52 = 5
} ;
enum __anonenum_493465559___52 {
    TRAP_BRKPT___52 = 1,
    TRAP_TRACE___52 = 2
} ;
enum __anonenum_23175539___52 {
    CLD_EXITED___52 = 1,
    CLD_KILLED___52 = 2,
    CLD_DUMPED___52 = 3,
    CLD_TRAPPED___52 = 4,
    CLD_STOPPED___52 = 5,
    CLD_CONTINUED___52 = 6
} ;
enum __anonenum_111643124___52 {
    POLL_IN___52 = 1,
    POLL_OUT___52 = 2,
    POLL_MSG___52 = 3,
    POLL_ERR___52 = 4,
    POLL_PRI___52 = 5,
    POLL_HUP___52 = 6
} ;
enum __anonenum_852341087___52 {
    SIGEV_SIGNAL___52 = 0,
    SIGEV_NONE___52 = 1,
    SIGEV_THREAD___52 = 2,
    SIGEV_THREAD_ID___52 = 4
} ;
enum __anonenum_451154152___52 {
    REG_R8___52 = 0,
    REG_R9___52 = 1,
    REG_R10___52 = 2,
    REG_R11___52 = 3,
    REG_R12___52 = 4,
    REG_R13___52 = 5,
    REG_R14___52 = 6,
    REG_R15___52 = 7,
    REG_RDI___52 = 8,
    REG_RSI___52 = 9,
    REG_RBP___52 = 10,
    REG_RBX___52 = 11,
    REG_RDX___52 = 12,
    REG_RAX___52 = 13,
    REG_RCX___52 = 14,
    REG_RSP___52 = 15,
    REG_RIP___52 = 16,
    REG_EFL___52 = 17,
    REG_CSGSFS___52 = 18,
    REG_ERR___52 = 19,
    REG_TRAPNO___52 = 20,
    REG_OLDMASK___52 = 21,
    REG_CR2___52 = 22
} ;
enum __anonenum_57186863___52 {
    SS_ONSTACK___52 = 1,
    SS_DISABLE___52 = 2
} ;
enum __anonenum_83571709___52 {
    MSG_OOB___52 = 1,
    MSG_PEEK___52 = 2,
    MSG_DONTROUTE___52 = 4,
    MSG_TRYHARD___52 = 4,
    MSG_CTRUNC___52 = 8,
    MSG_PROXY___52 = 16,
    MSG_TRUNC___52 = 32,
    MSG_DONTWAIT___52 = 64,
    MSG_EOR___52 = 128,
    MSG_WAITALL___52 = 256,
    MSG_FIN___52 = 512,
    MSG_SYN___52 = 1024,
    MSG_CONFIRM___52 = 2048,
    MSG_RST___52 = 4096,
    MSG_ERRQUEUE___52 = 8192,
    MSG_NOSIGNAL___52 = 16384,
    MSG_MORE___52 = 32768,
    MSG_WAITFORONE___52 = 65536,
    MSG_BATCH___52 = 262144,
    MSG_ZEROCOPY___52 = 67108864,
    MSG_FASTOPEN___52 = 536870912,
    MSG_CMSG_CLOEXEC___52 = 1073741824
} ;
enum __anonenum_617082774___52 {
    SCM_RIGHTS___52 = 1,
    SCM_CREDENTIALS___52 = 2
} ;
enum __anonenum_606441560___52 {
    SHUT_RD___52 = 0,
    SHUT_WR___52 = 1,
    SHUT_RDWR___52 = 2
} ;
enum __anonenum_681669233___52 {
    IPPROTO_IP___52 = 0,
    IPPROTO_ICMP___52 = 1,
    IPPROTO_IGMP___52 = 2,
    IPPROTO_IPIP___52 = 4,
    IPPROTO_TCP___52 = 6,
    IPPROTO_EGP___52 = 8,
    IPPROTO_PUP___52 = 12,
    IPPROTO_UDP___52 = 17,
    IPPROTO_IDP___52 = 22,
    IPPROTO_TP___52 = 29,
    IPPROTO_DCCP___52 = 33,
    IPPROTO_IPV6___52 = 41,
    IPPROTO_RSVP___52 = 46,
    IPPROTO_GRE___52 = 47,
    IPPROTO_ESP___52 = 50,
    IPPROTO_AH___52 = 51,
    IPPROTO_MTP___52 = 92,
    IPPROTO_BEETPH___52 = 94,
    IPPROTO_ENCAP___52 = 98,
    IPPROTO_PIM___52 = 103,
    IPPROTO_COMP___52 = 108,
    IPPROTO_SCTP___52 = 132,
    IPPROTO_UDPLITE___52 = 136,
    IPPROTO_MPLS___52 = 137,
    IPPROTO_RAW___52 = 255,
    IPPROTO_MAX___52 = 256
} ;
enum __anonenum_218739988___52 {
    IPPROTO_HOPOPTS___52 = 0,
    IPPROTO_ROUTING___52 = 43,
    IPPROTO_FRAGMENT___52 = 44,
    IPPROTO_ICMPV6___52 = 58,
    IPPROTO_NONE___52 = 59,
    IPPROTO_DSTOPTS___52 = 60,
    IPPROTO_MH___52 = 135
} ;
enum __anonenum_662268580___52 {
    IPPORT_ECHO___52 = 7,
    IPPORT_DISCARD___52 = 9,
    IPPORT_SYSTAT___52 = 11,
    IPPORT_DAYTIME___52 = 13,
    IPPORT_NETSTAT___52 = 15,
    IPPORT_FTP___52 = 21,
    IPPORT_TELNET___52 = 23,
    IPPORT_SMTP___52 = 25,
    IPPORT_TIMESERVER___52 = 37,
    IPPORT_NAMESERVER___52 = 42,
    IPPORT_WHOIS___52 = 43,
    IPPORT_MTP___52 = 57,
    IPPORT_TFTP___52 = 69,
    IPPORT_RJE___52 = 77,
    IPPORT_FINGER___52 = 79,
    IPPORT_TTYLINK___52 = 87,
    IPPORT_SUPDUP___52 = 95,
    IPPORT_EXECSERVER___52 = 512,
    IPPORT_LOGINSERVER___52 = 513,
    IPPORT_CMDSERVER___52 = 514,
    IPPORT_EFSSERVER___52 = 520,
    IPPORT_BIFFUDP___52 = 512,
    IPPORT_WHOSERVER___52 = 513,
    IPPORT_ROUTESERVER___52 = 520,
    IPPORT_RESERVED___52 = 1024,
    IPPORT_USERRESERVED___52 = 5000
} ;
enum __anonenum_788308992___52 {
    TCP_ESTABLISHED___52 = 1,
    TCP_SYN_SENT___52 = 2,
    TCP_SYN_RECV___52 = 3,
    TCP_FIN_WAIT1___52 = 4,
    TCP_FIN_WAIT2___52 = 5,
    TCP_TIME_WAIT___52 = 6,
    TCP_CLOSE___52 = 7,
    TCP_CLOSE_WAIT___52 = 8,
    TCP_LAST_ACK___52 = 9,
    TCP_LISTEN___52 = 10,
    TCP_CLOSING___52 = 11
} ;
enum __anonenum_221125648___52 {
    TCP_NO_QUEUE___52 = 0,
    TCP_RECV_QUEUE___52 = 1,
    TCP_SEND_QUEUE___52 = 2,
    TCP_QUEUES_NR___52 = 3
} ;
enum __anonenum_34415463___52 {
    PTHREAD_CREATE_JOINABLE___52 = 0,
    PTHREAD_CREATE_DETACHED___52 = 1
} ;
enum __anonenum_303612439___52 {
    PTHREAD_MUTEX_TIMED_NP___52 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___52 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___52 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___52 = 3,
    PTHREAD_MUTEX_NORMAL___52 = 0,
    PTHREAD_MUTEX_RECURSIVE___52 = 1,
    PTHREAD_MUTEX_ERRORCHECK___52 = 2,
    PTHREAD_MUTEX_DEFAULT___52 = 0,
    PTHREAD_MUTEX_FAST_NP___52 = 0
} ;
enum __anonenum_931900394___52 {
    PTHREAD_MUTEX_STALLED___52 = 0,
    PTHREAD_MUTEX_STALLED_NP___52 = 0,
    PTHREAD_MUTEX_ROBUST___52 = 1,
    PTHREAD_MUTEX_ROBUST_NP___52 = 1
} ;
enum __anonenum_205214487___52 {
    PTHREAD_PRIO_NONE___52 = 0,
    PTHREAD_PRIO_INHERIT___52 = 1,
    PTHREAD_PRIO_PROTECT___52 = 2
} ;
enum __anonenum_25043950___52 {
    PTHREAD_RWLOCK_PREFER_READER_NP___52 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___52 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___52 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___52 = 0
} ;
enum __anonenum_436439511___52 {
    PTHREAD_INHERIT_SCHED___52 = 0,
    PTHREAD_EXPLICIT_SCHED___52 = 1
} ;
enum __anonenum_998661166___52 {
    PTHREAD_SCOPE_SYSTEM___52 = 0,
    PTHREAD_SCOPE_PROCESS___52 = 1
} ;
enum __anonenum_146137331___52 {
    PTHREAD_PROCESS_PRIVATE___52 = 0,
    PTHREAD_PROCESS_SHARED___52 = 1
} ;
enum __anonenum_53396917___52 {
    PTHREAD_CANCEL_ENABLE___52 = 0,
    PTHREAD_CANCEL_DISABLE___52 = 1
} ;
enum __anonenum_904563783___52 {
    PTHREAD_CANCEL_DEFERRED___52 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___52 = 1
} ;
enum __anonenum_672052974___52 {
    SSL_CT_VALIDATION_PERMISSIVE___52 = 0,
    SSL_CT_VALIDATION_STRICT___52 = 1
} ;
enum __anonenum_437032235___53 {
    _PC_LINK_MAX___53 = 0,
    _PC_MAX_CANON___53 = 1,
    _PC_MAX_INPUT___53 = 2,
    _PC_NAME_MAX___53 = 3,
    _PC_PATH_MAX___53 = 4,
    _PC_PIPE_BUF___53 = 5,
    _PC_CHOWN_RESTRICTED___53 = 6,
    _PC_NO_TRUNC___53 = 7,
    _PC_VDISABLE___53 = 8,
    _PC_SYNC_IO___53 = 9,
    _PC_ASYNC_IO___53 = 10,
    _PC_PRIO_IO___53 = 11,
    _PC_SOCK_MAXBUF___53 = 12,
    _PC_FILESIZEBITS___53 = 13,
    _PC_REC_INCR_XFER_SIZE___53 = 14,
    _PC_REC_MAX_XFER_SIZE___53 = 15,
    _PC_REC_MIN_XFER_SIZE___53 = 16,
    _PC_REC_XFER_ALIGN___53 = 17,
    _PC_ALLOC_SIZE_MIN___53 = 18,
    _PC_SYMLINK_MAX___53 = 19,
    _PC_2_SYMLINKS___53 = 20
} ;
enum __anonenum_315186338___53 {
    _SC_ARG_MAX___53 = 0,
    _SC_CHILD_MAX___53 = 1,
    _SC_CLK_TCK___53 = 2,
    _SC_NGROUPS_MAX___53 = 3,
    _SC_OPEN_MAX___53 = 4,
    _SC_STREAM_MAX___53 = 5,
    _SC_TZNAME_MAX___53 = 6,
    _SC_JOB_CONTROL___53 = 7,
    _SC_SAVED_IDS___53 = 8,
    _SC_REALTIME_SIGNALS___53 = 9,
    _SC_PRIORITY_SCHEDULING___53 = 10,
    _SC_TIMERS___53 = 11,
    _SC_ASYNCHRONOUS_IO___53 = 12,
    _SC_PRIORITIZED_IO___53 = 13,
    _SC_SYNCHRONIZED_IO___53 = 14,
    _SC_FSYNC___53 = 15,
    _SC_MAPPED_FILES___53 = 16,
    _SC_MEMLOCK___53 = 17,
    _SC_MEMLOCK_RANGE___53 = 18,
    _SC_MEMORY_PROTECTION___53 = 19,
    _SC_MESSAGE_PASSING___53 = 20,
    _SC_SEMAPHORES___53 = 21,
    _SC_SHARED_MEMORY_OBJECTS___53 = 22,
    _SC_AIO_LISTIO_MAX___53 = 23,
    _SC_AIO_MAX___53 = 24,
    _SC_AIO_PRIO_DELTA_MAX___53 = 25,
    _SC_DELAYTIMER_MAX___53 = 26,
    _SC_MQ_OPEN_MAX___53 = 27,
    _SC_MQ_PRIO_MAX___53 = 28,
    _SC_VERSION___53 = 29,
    _SC_PAGESIZE___53 = 30,
    _SC_RTSIG_MAX___53 = 31,
    _SC_SEM_NSEMS_MAX___53 = 32,
    _SC_SEM_VALUE_MAX___53 = 33,
    _SC_SIGQUEUE_MAX___53 = 34,
    _SC_TIMER_MAX___53 = 35,
    _SC_BC_BASE_MAX___53 = 36,
    _SC_BC_DIM_MAX___53 = 37,
    _SC_BC_SCALE_MAX___53 = 38,
    _SC_BC_STRING_MAX___53 = 39,
    _SC_COLL_WEIGHTS_MAX___53 = 40,
    _SC_EQUIV_CLASS_MAX___53 = 41,
    _SC_EXPR_NEST_MAX___53 = 42,
    _SC_LINE_MAX___53 = 43,
    _SC_RE_DUP_MAX___53 = 44,
    _SC_CHARCLASS_NAME_MAX___53 = 45,
    _SC_2_VERSION___53 = 46,
    _SC_2_C_BIND___53 = 47,
    _SC_2_C_DEV___53 = 48,
    _SC_2_FORT_DEV___53 = 49,
    _SC_2_FORT_RUN___53 = 50,
    _SC_2_SW_DEV___53 = 51,
    _SC_2_LOCALEDEF___53 = 52,
    _SC_PII___53 = 53,
    _SC_PII_XTI___53 = 54,
    _SC_PII_SOCKET___53 = 55,
    _SC_PII_INTERNET___53 = 56,
    _SC_PII_OSI___53 = 57,
    _SC_POLL___53 = 58,
    _SC_SELECT___53 = 59,
    _SC_UIO_MAXIOV___53 = 60,
    _SC_IOV_MAX___53 = 60,
    _SC_PII_INTERNET_STREAM___53 = 61,
    _SC_PII_INTERNET_DGRAM___53 = 62,
    _SC_PII_OSI_COTS___53 = 63,
    _SC_PII_OSI_CLTS___53 = 64,
    _SC_PII_OSI_M___53 = 65,
    _SC_T_IOV_MAX___53 = 66,
    _SC_THREADS___53 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___53 = 68,
    _SC_GETGR_R_SIZE_MAX___53 = 69,
    _SC_GETPW_R_SIZE_MAX___53 = 70,
    _SC_LOGIN_NAME_MAX___53 = 71,
    _SC_TTY_NAME_MAX___53 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___53 = 73,
    _SC_THREAD_KEYS_MAX___53 = 74,
    _SC_THREAD_STACK_MIN___53 = 75,
    _SC_THREAD_THREADS_MAX___53 = 76,
    _SC_THREAD_ATTR_STACKADDR___53 = 77,
    _SC_THREAD_ATTR_STACKSIZE___53 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___53 = 79,
    _SC_THREAD_PRIO_INHERIT___53 = 80,
    _SC_THREAD_PRIO_PROTECT___53 = 81,
    _SC_THREAD_PROCESS_SHARED___53 = 82,
    _SC_NPROCESSORS_CONF___53 = 83,
    _SC_NPROCESSORS_ONLN___53 = 84,
    _SC_PHYS_PAGES___53 = 85,
    _SC_AVPHYS_PAGES___53 = 86,
    _SC_ATEXIT_MAX___53 = 87,
    _SC_PASS_MAX___53 = 88,
    _SC_XOPEN_VERSION___53 = 89,
    _SC_XOPEN_XCU_VERSION___53 = 90,
    _SC_XOPEN_UNIX___53 = 91,
    _SC_XOPEN_CRYPT___53 = 92,
    _SC_XOPEN_ENH_I18N___53 = 93,
    _SC_XOPEN_SHM___53 = 94,
    _SC_2_CHAR_TERM___53 = 95,
    _SC_2_C_VERSION___53 = 96,
    _SC_2_UPE___53 = 97,
    _SC_XOPEN_XPG2___53 = 98,
    _SC_XOPEN_XPG3___53 = 99,
    _SC_XOPEN_XPG4___53 = 100,
    _SC_CHAR_BIT___53 = 101,
    _SC_CHAR_MAX___53 = 102,
    _SC_CHAR_MIN___53 = 103,
    _SC_INT_MAX___53 = 104,
    _SC_INT_MIN___53 = 105,
    _SC_LONG_BIT___53 = 106,
    _SC_WORD_BIT___53 = 107,
    _SC_MB_LEN_MAX___53 = 108,
    _SC_NZERO___53 = 109,
    _SC_SSIZE_MAX___53 = 110,
    _SC_SCHAR_MAX___53 = 111,
    _SC_SCHAR_MIN___53 = 112,
    _SC_SHRT_MAX___53 = 113,
    _SC_SHRT_MIN___53 = 114,
    _SC_UCHAR_MAX___53 = 115,
    _SC_UINT_MAX___53 = 116,
    _SC_ULONG_MAX___53 = 117,
    _SC_USHRT_MAX___53 = 118,
    _SC_NL_ARGMAX___53 = 119,
    _SC_NL_LANGMAX___53 = 120,
    _SC_NL_MSGMAX___53 = 121,
    _SC_NL_NMAX___53 = 122,
    _SC_NL_SETMAX___53 = 123,
    _SC_NL_TEXTMAX___53 = 124,
    _SC_XBS5_ILP32_OFF32___53 = 125,
    _SC_XBS5_ILP32_OFFBIG___53 = 126,
    _SC_XBS5_LP64_OFF64___53 = 127,
    _SC_XBS5_LPBIG_OFFBIG___53 = 128,
    _SC_XOPEN_LEGACY___53 = 129,
    _SC_XOPEN_REALTIME___53 = 130,
    _SC_XOPEN_REALTIME_THREADS___53 = 131,
    _SC_ADVISORY_INFO___53 = 132,
    _SC_BARRIERS___53 = 133,
    _SC_BASE___53 = 134,
    _SC_C_LANG_SUPPORT___53 = 135,
    _SC_C_LANG_SUPPORT_R___53 = 136,
    _SC_CLOCK_SELECTION___53 = 137,
    _SC_CPUTIME___53 = 138,
    _SC_THREAD_CPUTIME___53 = 139,
    _SC_DEVICE_IO___53 = 140,
    _SC_DEVICE_SPECIFIC___53 = 141,
    _SC_DEVICE_SPECIFIC_R___53 = 142,
    _SC_FD_MGMT___53 = 143,
    _SC_FIFO___53 = 144,
    _SC_PIPE___53 = 145,
    _SC_FILE_ATTRIBUTES___53 = 146,
    _SC_FILE_LOCKING___53 = 147,
    _SC_FILE_SYSTEM___53 = 148,
    _SC_MONOTONIC_CLOCK___53 = 149,
    _SC_MULTI_PROCESS___53 = 150,
    _SC_SINGLE_PROCESS___53 = 151,
    _SC_NETWORKING___53 = 152,
    _SC_READER_WRITER_LOCKS___53 = 153,
    _SC_SPIN_LOCKS___53 = 154,
    _SC_REGEXP___53 = 155,
    _SC_REGEX_VERSION___53 = 156,
    _SC_SHELL___53 = 157,
    _SC_SIGNALS___53 = 158,
    _SC_SPAWN___53 = 159,
    _SC_SPORADIC_SERVER___53 = 160,
    _SC_THREAD_SPORADIC_SERVER___53 = 161,
    _SC_SYSTEM_DATABASE___53 = 162,
    _SC_SYSTEM_DATABASE_R___53 = 163,
    _SC_TIMEOUTS___53 = 164,
    _SC_TYPED_MEMORY_OBJECTS___53 = 165,
    _SC_USER_GROUPS___53 = 166,
    _SC_USER_GROUPS_R___53 = 167,
    _SC_2_PBS___53 = 168,
    _SC_2_PBS_ACCOUNTING___53 = 169,
    _SC_2_PBS_LOCATE___53 = 170,
    _SC_2_PBS_MESSAGE___53 = 171,
    _SC_2_PBS_TRACK___53 = 172,
    _SC_SYMLOOP_MAX___53 = 173,
    _SC_STREAMS___53 = 174,
    _SC_2_PBS_CHECKPOINT___53 = 175,
    _SC_V6_ILP32_OFF32___53 = 176,
    _SC_V6_ILP32_OFFBIG___53 = 177,
    _SC_V6_LP64_OFF64___53 = 178,
    _SC_V6_LPBIG_OFFBIG___53 = 179,
    _SC_HOST_NAME_MAX___53 = 180,
    _SC_TRACE___53 = 181,
    _SC_TRACE_EVENT_FILTER___53 = 182,
    _SC_TRACE_INHERIT___53 = 183,
    _SC_TRACE_LOG___53 = 184,
    _SC_LEVEL1_ICACHE_SIZE___53 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___53 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___53 = 187,
    _SC_LEVEL1_DCACHE_SIZE___53 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___53 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___53 = 190,
    _SC_LEVEL2_CACHE_SIZE___53 = 191,
    _SC_LEVEL2_CACHE_ASSOC___53 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___53 = 193,
    _SC_LEVEL3_CACHE_SIZE___53 = 194,
    _SC_LEVEL3_CACHE_ASSOC___53 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___53 = 196,
    _SC_LEVEL4_CACHE_SIZE___53 = 197,
    _SC_LEVEL4_CACHE_ASSOC___53 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___53 = 199,
    _SC_IPV6___53 = 235,
    _SC_RAW_SOCKETS___53 = 236,
    _SC_V7_ILP32_OFF32___53 = 237,
    _SC_V7_ILP32_OFFBIG___53 = 238,
    _SC_V7_LP64_OFF64___53 = 239,
    _SC_V7_LPBIG_OFFBIG___53 = 240,
    _SC_SS_REPL_MAX___53 = 241,
    _SC_TRACE_EVENT_NAME_MAX___53 = 242,
    _SC_TRACE_NAME_MAX___53 = 243,
    _SC_TRACE_SYS_MAX___53 = 244,
    _SC_TRACE_USER_EVENT_MAX___53 = 245,
    _SC_XOPEN_STREAMS___53 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___53 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___53 = 248
} ;
enum __anonenum_875524036___53 {
    _CS_PATH___53 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___53 = 1,
    _CS_GNU_LIBC_VERSION___53 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___53 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___53 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___53 = 5,
    _CS_LFS_CFLAGS___53 = 1000,
    _CS_LFS_LDFLAGS___53 = 1001,
    _CS_LFS_LIBS___53 = 1002,
    _CS_LFS_LINTFLAGS___53 = 1003,
    _CS_LFS64_CFLAGS___53 = 1004,
    _CS_LFS64_LDFLAGS___53 = 1005,
    _CS_LFS64_LIBS___53 = 1006,
    _CS_LFS64_LINTFLAGS___53 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___53 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___53 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___53 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___53 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___53 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___53 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___53 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___53 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___53 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___53 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___53 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___53 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___53 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___53 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___53 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___53 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___53 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___53 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___53 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___53 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___53 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___53 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___53 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___53 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___53 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___53 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___53 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___53 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___53 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___53 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___53 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___53 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___53 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___53 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___53 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___53 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___53 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___53 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___53 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___53 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___53 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___53 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___53 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___53 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___53 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___53 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___53 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___53 = 1147,
    _CS_V6_ENV___53 = 1148,
    _CS_V7_ENV___53 = 1149
} ;
enum __anonenum_513775621___53 {
    DT_UNKNOWN___53 = 0,
    DT_FIFO___53 = 1,
    DT_CHR___53 = 2,
    DT_DIR___53 = 4,
    DT_BLK___53 = 6,
    DT_REG___53 = 8,
    DT_LNK___53 = 10,
    DT_SOCK___53 = 12,
    DT_WHT___53 = 14
} ;
enum __anonenum_77002343___53 {
    SI_ASYNCNL___53 = -60,
    SI_TKILL___53 = -6,
    SI_SIGIO___53 = -5,
    SI_ASYNCIO___53 = -4,
    SI_MESGQ___53 = -3,
    SI_TIMER___53 = -2,
    SI_QUEUE___53 = -1,
    SI_USER___53 = 0,
    SI_KERNEL___53 = 128
} ;
enum __anonenum_131038172___53 {
    ILL_ILLOPC___53 = 1,
    ILL_ILLOPN___53 = 2,
    ILL_ILLADR___53 = 3,
    ILL_ILLTRP___53 = 4,
    ILL_PRVOPC___53 = 5,
    ILL_PRVREG___53 = 6,
    ILL_COPROC___53 = 7,
    ILL_BADSTK___53 = 8
} ;
enum __anonenum_452038093___53 {
    FPE_INTDIV___53 = 1,
    FPE_INTOVF___53 = 2,
    FPE_FLTDIV___53 = 3,
    FPE_FLTOVF___53 = 4,
    FPE_FLTUND___53 = 5,
    FPE_FLTRES___53 = 6,
    FPE_FLTINV___53 = 7,
    FPE_FLTSUB___53 = 8
} ;
enum __anonenum_30976155___53 {
    SEGV_MAPERR___53 = 1,
    SEGV_ACCERR___53 = 2,
    SEGV_BNDERR___53 = 3,
    SEGV_PKUERR___53 = 4
} ;
enum __anonenum_1036286214___53 {
    BUS_ADRALN___53 = 1,
    BUS_ADRERR___53 = 2,
    BUS_OBJERR___53 = 3,
    BUS_MCEERR_AR___53 = 4,
    BUS_MCEERR_AO___53 = 5
} ;
enum __anonenum_493465559___53 {
    TRAP_BRKPT___53 = 1,
    TRAP_TRACE___53 = 2
} ;
enum __anonenum_23175539___53 {
    CLD_EXITED___53 = 1,
    CLD_KILLED___53 = 2,
    CLD_DUMPED___53 = 3,
    CLD_TRAPPED___53 = 4,
    CLD_STOPPED___53 = 5,
    CLD_CONTINUED___53 = 6
} ;
enum __anonenum_111643124___53 {
    POLL_IN___53 = 1,
    POLL_OUT___53 = 2,
    POLL_MSG___53 = 3,
    POLL_ERR___53 = 4,
    POLL_PRI___53 = 5,
    POLL_HUP___53 = 6
} ;
enum __anonenum_852341087___53 {
    SIGEV_SIGNAL___53 = 0,
    SIGEV_NONE___53 = 1,
    SIGEV_THREAD___53 = 2,
    SIGEV_THREAD_ID___53 = 4
} ;
enum __anonenum_451154152___53 {
    REG_R8___53 = 0,
    REG_R9___53 = 1,
    REG_R10___53 = 2,
    REG_R11___53 = 3,
    REG_R12___53 = 4,
    REG_R13___53 = 5,
    REG_R14___53 = 6,
    REG_R15___53 = 7,
    REG_RDI___53 = 8,
    REG_RSI___53 = 9,
    REG_RBP___53 = 10,
    REG_RBX___53 = 11,
    REG_RDX___53 = 12,
    REG_RAX___53 = 13,
    REG_RCX___53 = 14,
    REG_RSP___53 = 15,
    REG_RIP___53 = 16,
    REG_EFL___53 = 17,
    REG_CSGSFS___53 = 18,
    REG_ERR___53 = 19,
    REG_TRAPNO___53 = 20,
    REG_OLDMASK___53 = 21,
    REG_CR2___53 = 22
} ;
enum __anonenum_57186863___53 {
    SS_ONSTACK___53 = 1,
    SS_DISABLE___53 = 2
} ;
enum __anonenum_83571709___53 {
    MSG_OOB___53 = 1,
    MSG_PEEK___53 = 2,
    MSG_DONTROUTE___53 = 4,
    MSG_TRYHARD___53 = 4,
    MSG_CTRUNC___53 = 8,
    MSG_PROXY___53 = 16,
    MSG_TRUNC___53 = 32,
    MSG_DONTWAIT___53 = 64,
    MSG_EOR___53 = 128,
    MSG_WAITALL___53 = 256,
    MSG_FIN___53 = 512,
    MSG_SYN___53 = 1024,
    MSG_CONFIRM___53 = 2048,
    MSG_RST___53 = 4096,
    MSG_ERRQUEUE___53 = 8192,
    MSG_NOSIGNAL___53 = 16384,
    MSG_MORE___53 = 32768,
    MSG_WAITFORONE___53 = 65536,
    MSG_BATCH___53 = 262144,
    MSG_ZEROCOPY___53 = 67108864,
    MSG_FASTOPEN___53 = 536870912,
    MSG_CMSG_CLOEXEC___53 = 1073741824
} ;
enum __anonenum_617082774___53 {
    SCM_RIGHTS___53 = 1,
    SCM_CREDENTIALS___53 = 2
} ;
enum __anonenum_606441560___53 {
    SHUT_RD___53 = 0,
    SHUT_WR___53 = 1,
    SHUT_RDWR___53 = 2
} ;
enum __anonenum_681669233___53 {
    IPPROTO_IP___53 = 0,
    IPPROTO_ICMP___53 = 1,
    IPPROTO_IGMP___53 = 2,
    IPPROTO_IPIP___53 = 4,
    IPPROTO_TCP___53 = 6,
    IPPROTO_EGP___53 = 8,
    IPPROTO_PUP___53 = 12,
    IPPROTO_UDP___53 = 17,
    IPPROTO_IDP___53 = 22,
    IPPROTO_TP___53 = 29,
    IPPROTO_DCCP___53 = 33,
    IPPROTO_IPV6___53 = 41,
    IPPROTO_RSVP___53 = 46,
    IPPROTO_GRE___53 = 47,
    IPPROTO_ESP___53 = 50,
    IPPROTO_AH___53 = 51,
    IPPROTO_MTP___53 = 92,
    IPPROTO_BEETPH___53 = 94,
    IPPROTO_ENCAP___53 = 98,
    IPPROTO_PIM___53 = 103,
    IPPROTO_COMP___53 = 108,
    IPPROTO_SCTP___53 = 132,
    IPPROTO_UDPLITE___53 = 136,
    IPPROTO_MPLS___53 = 137,
    IPPROTO_RAW___53 = 255,
    IPPROTO_MAX___53 = 256
} ;
enum __anonenum_218739988___53 {
    IPPROTO_HOPOPTS___53 = 0,
    IPPROTO_ROUTING___53 = 43,
    IPPROTO_FRAGMENT___53 = 44,
    IPPROTO_ICMPV6___53 = 58,
    IPPROTO_NONE___53 = 59,
    IPPROTO_DSTOPTS___53 = 60,
    IPPROTO_MH___53 = 135
} ;
enum __anonenum_662268580___53 {
    IPPORT_ECHO___53 = 7,
    IPPORT_DISCARD___53 = 9,
    IPPORT_SYSTAT___53 = 11,
    IPPORT_DAYTIME___53 = 13,
    IPPORT_NETSTAT___53 = 15,
    IPPORT_FTP___53 = 21,
    IPPORT_TELNET___53 = 23,
    IPPORT_SMTP___53 = 25,
    IPPORT_TIMESERVER___53 = 37,
    IPPORT_NAMESERVER___53 = 42,
    IPPORT_WHOIS___53 = 43,
    IPPORT_MTP___53 = 57,
    IPPORT_TFTP___53 = 69,
    IPPORT_RJE___53 = 77,
    IPPORT_FINGER___53 = 79,
    IPPORT_TTYLINK___53 = 87,
    IPPORT_SUPDUP___53 = 95,
    IPPORT_EXECSERVER___53 = 512,
    IPPORT_LOGINSERVER___53 = 513,
    IPPORT_CMDSERVER___53 = 514,
    IPPORT_EFSSERVER___53 = 520,
    IPPORT_BIFFUDP___53 = 512,
    IPPORT_WHOSERVER___53 = 513,
    IPPORT_ROUTESERVER___53 = 520,
    IPPORT_RESERVED___53 = 1024,
    IPPORT_USERRESERVED___53 = 5000
} ;
enum __anonenum_788308992___53 {
    TCP_ESTABLISHED___53 = 1,
    TCP_SYN_SENT___53 = 2,
    TCP_SYN_RECV___53 = 3,
    TCP_FIN_WAIT1___53 = 4,
    TCP_FIN_WAIT2___53 = 5,
    TCP_TIME_WAIT___53 = 6,
    TCP_CLOSE___53 = 7,
    TCP_CLOSE_WAIT___53 = 8,
    TCP_LAST_ACK___53 = 9,
    TCP_LISTEN___53 = 10,
    TCP_CLOSING___53 = 11
} ;
enum __anonenum_221125648___53 {
    TCP_NO_QUEUE___53 = 0,
    TCP_RECV_QUEUE___53 = 1,
    TCP_SEND_QUEUE___53 = 2,
    TCP_QUEUES_NR___53 = 3
} ;
enum __anonenum_34415463___53 {
    PTHREAD_CREATE_JOINABLE___53 = 0,
    PTHREAD_CREATE_DETACHED___53 = 1
} ;
enum __anonenum_303612439___53 {
    PTHREAD_MUTEX_TIMED_NP___53 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___53 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___53 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___53 = 3,
    PTHREAD_MUTEX_NORMAL___53 = 0,
    PTHREAD_MUTEX_RECURSIVE___53 = 1,
    PTHREAD_MUTEX_ERRORCHECK___53 = 2,
    PTHREAD_MUTEX_DEFAULT___53 = 0,
    PTHREAD_MUTEX_FAST_NP___53 = 0
} ;
enum __anonenum_931900394___53 {
    PTHREAD_MUTEX_STALLED___53 = 0,
    PTHREAD_MUTEX_STALLED_NP___53 = 0,
    PTHREAD_MUTEX_ROBUST___53 = 1,
    PTHREAD_MUTEX_ROBUST_NP___53 = 1
} ;
enum __anonenum_205214487___53 {
    PTHREAD_PRIO_NONE___53 = 0,
    PTHREAD_PRIO_INHERIT___53 = 1,
    PTHREAD_PRIO_PROTECT___53 = 2
} ;
enum __anonenum_25043950___53 {
    PTHREAD_RWLOCK_PREFER_READER_NP___53 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___53 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___53 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___53 = 0
} ;
enum __anonenum_436439511___53 {
    PTHREAD_INHERIT_SCHED___53 = 0,
    PTHREAD_EXPLICIT_SCHED___53 = 1
} ;
enum __anonenum_998661166___53 {
    PTHREAD_SCOPE_SYSTEM___53 = 0,
    PTHREAD_SCOPE_PROCESS___53 = 1
} ;
enum __anonenum_146137331___53 {
    PTHREAD_PROCESS_PRIVATE___53 = 0,
    PTHREAD_PROCESS_SHARED___53 = 1
} ;
enum __anonenum_53396917___53 {
    PTHREAD_CANCEL_ENABLE___53 = 0,
    PTHREAD_CANCEL_DISABLE___53 = 1
} ;
enum __anonenum_904563783___53 {
    PTHREAD_CANCEL_DEFERRED___53 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___53 = 1
} ;
enum __anonenum_672052974___53 {
    SSL_CT_VALIDATION_PERMISSIVE___53 = 0,
    SSL_CT_VALIDATION_STRICT___53 = 1
} ;
struct spanhash {
   unsigned int hashval ;
   unsigned int cnt ;
};
struct spanhash_top {
   int alloc_log2 ;
   int free ;
   struct spanhash data[] ;
};
enum __anonenum_437032235___54 {
    _PC_LINK_MAX___54 = 0,
    _PC_MAX_CANON___54 = 1,
    _PC_MAX_INPUT___54 = 2,
    _PC_NAME_MAX___54 = 3,
    _PC_PATH_MAX___54 = 4,
    _PC_PIPE_BUF___54 = 5,
    _PC_CHOWN_RESTRICTED___54 = 6,
    _PC_NO_TRUNC___54 = 7,
    _PC_VDISABLE___54 = 8,
    _PC_SYNC_IO___54 = 9,
    _PC_ASYNC_IO___54 = 10,
    _PC_PRIO_IO___54 = 11,
    _PC_SOCK_MAXBUF___54 = 12,
    _PC_FILESIZEBITS___54 = 13,
    _PC_REC_INCR_XFER_SIZE___54 = 14,
    _PC_REC_MAX_XFER_SIZE___54 = 15,
    _PC_REC_MIN_XFER_SIZE___54 = 16,
    _PC_REC_XFER_ALIGN___54 = 17,
    _PC_ALLOC_SIZE_MIN___54 = 18,
    _PC_SYMLINK_MAX___54 = 19,
    _PC_2_SYMLINKS___54 = 20
} ;
enum __anonenum_315186338___54 {
    _SC_ARG_MAX___54 = 0,
    _SC_CHILD_MAX___54 = 1,
    _SC_CLK_TCK___54 = 2,
    _SC_NGROUPS_MAX___54 = 3,
    _SC_OPEN_MAX___54 = 4,
    _SC_STREAM_MAX___54 = 5,
    _SC_TZNAME_MAX___54 = 6,
    _SC_JOB_CONTROL___54 = 7,
    _SC_SAVED_IDS___54 = 8,
    _SC_REALTIME_SIGNALS___54 = 9,
    _SC_PRIORITY_SCHEDULING___54 = 10,
    _SC_TIMERS___54 = 11,
    _SC_ASYNCHRONOUS_IO___54 = 12,
    _SC_PRIORITIZED_IO___54 = 13,
    _SC_SYNCHRONIZED_IO___54 = 14,
    _SC_FSYNC___54 = 15,
    _SC_MAPPED_FILES___54 = 16,
    _SC_MEMLOCK___54 = 17,
    _SC_MEMLOCK_RANGE___54 = 18,
    _SC_MEMORY_PROTECTION___54 = 19,
    _SC_MESSAGE_PASSING___54 = 20,
    _SC_SEMAPHORES___54 = 21,
    _SC_SHARED_MEMORY_OBJECTS___54 = 22,
    _SC_AIO_LISTIO_MAX___54 = 23,
    _SC_AIO_MAX___54 = 24,
    _SC_AIO_PRIO_DELTA_MAX___54 = 25,
    _SC_DELAYTIMER_MAX___54 = 26,
    _SC_MQ_OPEN_MAX___54 = 27,
    _SC_MQ_PRIO_MAX___54 = 28,
    _SC_VERSION___54 = 29,
    _SC_PAGESIZE___54 = 30,
    _SC_RTSIG_MAX___54 = 31,
    _SC_SEM_NSEMS_MAX___54 = 32,
    _SC_SEM_VALUE_MAX___54 = 33,
    _SC_SIGQUEUE_MAX___54 = 34,
    _SC_TIMER_MAX___54 = 35,
    _SC_BC_BASE_MAX___54 = 36,
    _SC_BC_DIM_MAX___54 = 37,
    _SC_BC_SCALE_MAX___54 = 38,
    _SC_BC_STRING_MAX___54 = 39,
    _SC_COLL_WEIGHTS_MAX___54 = 40,
    _SC_EQUIV_CLASS_MAX___54 = 41,
    _SC_EXPR_NEST_MAX___54 = 42,
    _SC_LINE_MAX___54 = 43,
    _SC_RE_DUP_MAX___54 = 44,
    _SC_CHARCLASS_NAME_MAX___54 = 45,
    _SC_2_VERSION___54 = 46,
    _SC_2_C_BIND___54 = 47,
    _SC_2_C_DEV___54 = 48,
    _SC_2_FORT_DEV___54 = 49,
    _SC_2_FORT_RUN___54 = 50,
    _SC_2_SW_DEV___54 = 51,
    _SC_2_LOCALEDEF___54 = 52,
    _SC_PII___54 = 53,
    _SC_PII_XTI___54 = 54,
    _SC_PII_SOCKET___54 = 55,
    _SC_PII_INTERNET___54 = 56,
    _SC_PII_OSI___54 = 57,
    _SC_POLL___54 = 58,
    _SC_SELECT___54 = 59,
    _SC_UIO_MAXIOV___54 = 60,
    _SC_IOV_MAX___54 = 60,
    _SC_PII_INTERNET_STREAM___54 = 61,
    _SC_PII_INTERNET_DGRAM___54 = 62,
    _SC_PII_OSI_COTS___54 = 63,
    _SC_PII_OSI_CLTS___54 = 64,
    _SC_PII_OSI_M___54 = 65,
    _SC_T_IOV_MAX___54 = 66,
    _SC_THREADS___54 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___54 = 68,
    _SC_GETGR_R_SIZE_MAX___54 = 69,
    _SC_GETPW_R_SIZE_MAX___54 = 70,
    _SC_LOGIN_NAME_MAX___54 = 71,
    _SC_TTY_NAME_MAX___54 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___54 = 73,
    _SC_THREAD_KEYS_MAX___54 = 74,
    _SC_THREAD_STACK_MIN___54 = 75,
    _SC_THREAD_THREADS_MAX___54 = 76,
    _SC_THREAD_ATTR_STACKADDR___54 = 77,
    _SC_THREAD_ATTR_STACKSIZE___54 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___54 = 79,
    _SC_THREAD_PRIO_INHERIT___54 = 80,
    _SC_THREAD_PRIO_PROTECT___54 = 81,
    _SC_THREAD_PROCESS_SHARED___54 = 82,
    _SC_NPROCESSORS_CONF___54 = 83,
    _SC_NPROCESSORS_ONLN___54 = 84,
    _SC_PHYS_PAGES___54 = 85,
    _SC_AVPHYS_PAGES___54 = 86,
    _SC_ATEXIT_MAX___54 = 87,
    _SC_PASS_MAX___54 = 88,
    _SC_XOPEN_VERSION___54 = 89,
    _SC_XOPEN_XCU_VERSION___54 = 90,
    _SC_XOPEN_UNIX___54 = 91,
    _SC_XOPEN_CRYPT___54 = 92,
    _SC_XOPEN_ENH_I18N___54 = 93,
    _SC_XOPEN_SHM___54 = 94,
    _SC_2_CHAR_TERM___54 = 95,
    _SC_2_C_VERSION___54 = 96,
    _SC_2_UPE___54 = 97,
    _SC_XOPEN_XPG2___54 = 98,
    _SC_XOPEN_XPG3___54 = 99,
    _SC_XOPEN_XPG4___54 = 100,
    _SC_CHAR_BIT___54 = 101,
    _SC_CHAR_MAX___54 = 102,
    _SC_CHAR_MIN___54 = 103,
    _SC_INT_MAX___54 = 104,
    _SC_INT_MIN___54 = 105,
    _SC_LONG_BIT___54 = 106,
    _SC_WORD_BIT___54 = 107,
    _SC_MB_LEN_MAX___54 = 108,
    _SC_NZERO___54 = 109,
    _SC_SSIZE_MAX___54 = 110,
    _SC_SCHAR_MAX___54 = 111,
    _SC_SCHAR_MIN___54 = 112,
    _SC_SHRT_MAX___54 = 113,
    _SC_SHRT_MIN___54 = 114,
    _SC_UCHAR_MAX___54 = 115,
    _SC_UINT_MAX___54 = 116,
    _SC_ULONG_MAX___54 = 117,
    _SC_USHRT_MAX___54 = 118,
    _SC_NL_ARGMAX___54 = 119,
    _SC_NL_LANGMAX___54 = 120,
    _SC_NL_MSGMAX___54 = 121,
    _SC_NL_NMAX___54 = 122,
    _SC_NL_SETMAX___54 = 123,
    _SC_NL_TEXTMAX___54 = 124,
    _SC_XBS5_ILP32_OFF32___54 = 125,
    _SC_XBS5_ILP32_OFFBIG___54 = 126,
    _SC_XBS5_LP64_OFF64___54 = 127,
    _SC_XBS5_LPBIG_OFFBIG___54 = 128,
    _SC_XOPEN_LEGACY___54 = 129,
    _SC_XOPEN_REALTIME___54 = 130,
    _SC_XOPEN_REALTIME_THREADS___54 = 131,
    _SC_ADVISORY_INFO___54 = 132,
    _SC_BARRIERS___54 = 133,
    _SC_BASE___54 = 134,
    _SC_C_LANG_SUPPORT___54 = 135,
    _SC_C_LANG_SUPPORT_R___54 = 136,
    _SC_CLOCK_SELECTION___54 = 137,
    _SC_CPUTIME___54 = 138,
    _SC_THREAD_CPUTIME___54 = 139,
    _SC_DEVICE_IO___54 = 140,
    _SC_DEVICE_SPECIFIC___54 = 141,
    _SC_DEVICE_SPECIFIC_R___54 = 142,
    _SC_FD_MGMT___54 = 143,
    _SC_FIFO___54 = 144,
    _SC_PIPE___54 = 145,
    _SC_FILE_ATTRIBUTES___54 = 146,
    _SC_FILE_LOCKING___54 = 147,
    _SC_FILE_SYSTEM___54 = 148,
    _SC_MONOTONIC_CLOCK___54 = 149,
    _SC_MULTI_PROCESS___54 = 150,
    _SC_SINGLE_PROCESS___54 = 151,
    _SC_NETWORKING___54 = 152,
    _SC_READER_WRITER_LOCKS___54 = 153,
    _SC_SPIN_LOCKS___54 = 154,
    _SC_REGEXP___54 = 155,
    _SC_REGEX_VERSION___54 = 156,
    _SC_SHELL___54 = 157,
    _SC_SIGNALS___54 = 158,
    _SC_SPAWN___54 = 159,
    _SC_SPORADIC_SERVER___54 = 160,
    _SC_THREAD_SPORADIC_SERVER___54 = 161,
    _SC_SYSTEM_DATABASE___54 = 162,
    _SC_SYSTEM_DATABASE_R___54 = 163,
    _SC_TIMEOUTS___54 = 164,
    _SC_TYPED_MEMORY_OBJECTS___54 = 165,
    _SC_USER_GROUPS___54 = 166,
    _SC_USER_GROUPS_R___54 = 167,
    _SC_2_PBS___54 = 168,
    _SC_2_PBS_ACCOUNTING___54 = 169,
    _SC_2_PBS_LOCATE___54 = 170,
    _SC_2_PBS_MESSAGE___54 = 171,
    _SC_2_PBS_TRACK___54 = 172,
    _SC_SYMLOOP_MAX___54 = 173,
    _SC_STREAMS___54 = 174,
    _SC_2_PBS_CHECKPOINT___54 = 175,
    _SC_V6_ILP32_OFF32___54 = 176,
    _SC_V6_ILP32_OFFBIG___54 = 177,
    _SC_V6_LP64_OFF64___54 = 178,
    _SC_V6_LPBIG_OFFBIG___54 = 179,
    _SC_HOST_NAME_MAX___54 = 180,
    _SC_TRACE___54 = 181,
    _SC_TRACE_EVENT_FILTER___54 = 182,
    _SC_TRACE_INHERIT___54 = 183,
    _SC_TRACE_LOG___54 = 184,
    _SC_LEVEL1_ICACHE_SIZE___54 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___54 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___54 = 187,
    _SC_LEVEL1_DCACHE_SIZE___54 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___54 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___54 = 190,
    _SC_LEVEL2_CACHE_SIZE___54 = 191,
    _SC_LEVEL2_CACHE_ASSOC___54 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___54 = 193,
    _SC_LEVEL3_CACHE_SIZE___54 = 194,
    _SC_LEVEL3_CACHE_ASSOC___54 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___54 = 196,
    _SC_LEVEL4_CACHE_SIZE___54 = 197,
    _SC_LEVEL4_CACHE_ASSOC___54 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___54 = 199,
    _SC_IPV6___54 = 235,
    _SC_RAW_SOCKETS___54 = 236,
    _SC_V7_ILP32_OFF32___54 = 237,
    _SC_V7_ILP32_OFFBIG___54 = 238,
    _SC_V7_LP64_OFF64___54 = 239,
    _SC_V7_LPBIG_OFFBIG___54 = 240,
    _SC_SS_REPL_MAX___54 = 241,
    _SC_TRACE_EVENT_NAME_MAX___54 = 242,
    _SC_TRACE_NAME_MAX___54 = 243,
    _SC_TRACE_SYS_MAX___54 = 244,
    _SC_TRACE_USER_EVENT_MAX___54 = 245,
    _SC_XOPEN_STREAMS___54 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___54 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___54 = 248
} ;
enum __anonenum_875524036___54 {
    _CS_PATH___54 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___54 = 1,
    _CS_GNU_LIBC_VERSION___54 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___54 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___54 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___54 = 5,
    _CS_LFS_CFLAGS___54 = 1000,
    _CS_LFS_LDFLAGS___54 = 1001,
    _CS_LFS_LIBS___54 = 1002,
    _CS_LFS_LINTFLAGS___54 = 1003,
    _CS_LFS64_CFLAGS___54 = 1004,
    _CS_LFS64_LDFLAGS___54 = 1005,
    _CS_LFS64_LIBS___54 = 1006,
    _CS_LFS64_LINTFLAGS___54 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___54 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___54 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___54 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___54 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___54 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___54 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___54 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___54 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___54 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___54 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___54 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___54 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___54 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___54 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___54 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___54 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___54 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___54 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___54 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___54 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___54 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___54 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___54 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___54 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___54 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___54 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___54 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___54 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___54 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___54 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___54 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___54 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___54 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___54 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___54 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___54 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___54 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___54 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___54 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___54 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___54 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___54 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___54 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___54 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___54 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___54 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___54 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___54 = 1147,
    _CS_V6_ENV___54 = 1148,
    _CS_V7_ENV___54 = 1149
} ;
enum __anonenum_513775621___54 {
    DT_UNKNOWN___54 = 0,
    DT_FIFO___54 = 1,
    DT_CHR___54 = 2,
    DT_DIR___54 = 4,
    DT_BLK___54 = 6,
    DT_REG___54 = 8,
    DT_LNK___54 = 10,
    DT_SOCK___54 = 12,
    DT_WHT___54 = 14
} ;
enum __anonenum_77002343___54 {
    SI_ASYNCNL___54 = -60,
    SI_TKILL___54 = -6,
    SI_SIGIO___54 = -5,
    SI_ASYNCIO___54 = -4,
    SI_MESGQ___54 = -3,
    SI_TIMER___54 = -2,
    SI_QUEUE___54 = -1,
    SI_USER___54 = 0,
    SI_KERNEL___54 = 128
} ;
enum __anonenum_131038172___54 {
    ILL_ILLOPC___54 = 1,
    ILL_ILLOPN___54 = 2,
    ILL_ILLADR___54 = 3,
    ILL_ILLTRP___54 = 4,
    ILL_PRVOPC___54 = 5,
    ILL_PRVREG___54 = 6,
    ILL_COPROC___54 = 7,
    ILL_BADSTK___54 = 8
} ;
enum __anonenum_452038093___54 {
    FPE_INTDIV___54 = 1,
    FPE_INTOVF___54 = 2,
    FPE_FLTDIV___54 = 3,
    FPE_FLTOVF___54 = 4,
    FPE_FLTUND___54 = 5,
    FPE_FLTRES___54 = 6,
    FPE_FLTINV___54 = 7,
    FPE_FLTSUB___54 = 8
} ;
enum __anonenum_30976155___54 {
    SEGV_MAPERR___54 = 1,
    SEGV_ACCERR___54 = 2,
    SEGV_BNDERR___54 = 3,
    SEGV_PKUERR___54 = 4
} ;
enum __anonenum_1036286214___54 {
    BUS_ADRALN___54 = 1,
    BUS_ADRERR___54 = 2,
    BUS_OBJERR___54 = 3,
    BUS_MCEERR_AR___54 = 4,
    BUS_MCEERR_AO___54 = 5
} ;
enum __anonenum_493465559___54 {
    TRAP_BRKPT___54 = 1,
    TRAP_TRACE___54 = 2
} ;
enum __anonenum_23175539___54 {
    CLD_EXITED___54 = 1,
    CLD_KILLED___54 = 2,
    CLD_DUMPED___54 = 3,
    CLD_TRAPPED___54 = 4,
    CLD_STOPPED___54 = 5,
    CLD_CONTINUED___54 = 6
} ;
enum __anonenum_111643124___54 {
    POLL_IN___54 = 1,
    POLL_OUT___54 = 2,
    POLL_MSG___54 = 3,
    POLL_ERR___54 = 4,
    POLL_PRI___54 = 5,
    POLL_HUP___54 = 6
} ;
enum __anonenum_852341087___54 {
    SIGEV_SIGNAL___54 = 0,
    SIGEV_NONE___54 = 1,
    SIGEV_THREAD___54 = 2,
    SIGEV_THREAD_ID___54 = 4
} ;
enum __anonenum_451154152___54 {
    REG_R8___54 = 0,
    REG_R9___54 = 1,
    REG_R10___54 = 2,
    REG_R11___54 = 3,
    REG_R12___54 = 4,
    REG_R13___54 = 5,
    REG_R14___54 = 6,
    REG_R15___54 = 7,
    REG_RDI___54 = 8,
    REG_RSI___54 = 9,
    REG_RBP___54 = 10,
    REG_RBX___54 = 11,
    REG_RDX___54 = 12,
    REG_RAX___54 = 13,
    REG_RCX___54 = 14,
    REG_RSP___54 = 15,
    REG_RIP___54 = 16,
    REG_EFL___54 = 17,
    REG_CSGSFS___54 = 18,
    REG_ERR___54 = 19,
    REG_TRAPNO___54 = 20,
    REG_OLDMASK___54 = 21,
    REG_CR2___54 = 22
} ;
enum __anonenum_57186863___54 {
    SS_ONSTACK___54 = 1,
    SS_DISABLE___54 = 2
} ;
enum __anonenum_83571709___54 {
    MSG_OOB___54 = 1,
    MSG_PEEK___54 = 2,
    MSG_DONTROUTE___54 = 4,
    MSG_TRYHARD___54 = 4,
    MSG_CTRUNC___54 = 8,
    MSG_PROXY___54 = 16,
    MSG_TRUNC___54 = 32,
    MSG_DONTWAIT___54 = 64,
    MSG_EOR___54 = 128,
    MSG_WAITALL___54 = 256,
    MSG_FIN___54 = 512,
    MSG_SYN___54 = 1024,
    MSG_CONFIRM___54 = 2048,
    MSG_RST___54 = 4096,
    MSG_ERRQUEUE___54 = 8192,
    MSG_NOSIGNAL___54 = 16384,
    MSG_MORE___54 = 32768,
    MSG_WAITFORONE___54 = 65536,
    MSG_BATCH___54 = 262144,
    MSG_ZEROCOPY___54 = 67108864,
    MSG_FASTOPEN___54 = 536870912,
    MSG_CMSG_CLOEXEC___54 = 1073741824
} ;
enum __anonenum_617082774___54 {
    SCM_RIGHTS___54 = 1,
    SCM_CREDENTIALS___54 = 2
} ;
enum __anonenum_606441560___54 {
    SHUT_RD___54 = 0,
    SHUT_WR___54 = 1,
    SHUT_RDWR___54 = 2
} ;
enum __anonenum_681669233___54 {
    IPPROTO_IP___54 = 0,
    IPPROTO_ICMP___54 = 1,
    IPPROTO_IGMP___54 = 2,
    IPPROTO_IPIP___54 = 4,
    IPPROTO_TCP___54 = 6,
    IPPROTO_EGP___54 = 8,
    IPPROTO_PUP___54 = 12,
    IPPROTO_UDP___54 = 17,
    IPPROTO_IDP___54 = 22,
    IPPROTO_TP___54 = 29,
    IPPROTO_DCCP___54 = 33,
    IPPROTO_IPV6___54 = 41,
    IPPROTO_RSVP___54 = 46,
    IPPROTO_GRE___54 = 47,
    IPPROTO_ESP___54 = 50,
    IPPROTO_AH___54 = 51,
    IPPROTO_MTP___54 = 92,
    IPPROTO_BEETPH___54 = 94,
    IPPROTO_ENCAP___54 = 98,
    IPPROTO_PIM___54 = 103,
    IPPROTO_COMP___54 = 108,
    IPPROTO_SCTP___54 = 132,
    IPPROTO_UDPLITE___54 = 136,
    IPPROTO_MPLS___54 = 137,
    IPPROTO_RAW___54 = 255,
    IPPROTO_MAX___54 = 256
} ;
enum __anonenum_218739988___54 {
    IPPROTO_HOPOPTS___54 = 0,
    IPPROTO_ROUTING___54 = 43,
    IPPROTO_FRAGMENT___54 = 44,
    IPPROTO_ICMPV6___54 = 58,
    IPPROTO_NONE___54 = 59,
    IPPROTO_DSTOPTS___54 = 60,
    IPPROTO_MH___54 = 135
} ;
enum __anonenum_662268580___54 {
    IPPORT_ECHO___54 = 7,
    IPPORT_DISCARD___54 = 9,
    IPPORT_SYSTAT___54 = 11,
    IPPORT_DAYTIME___54 = 13,
    IPPORT_NETSTAT___54 = 15,
    IPPORT_FTP___54 = 21,
    IPPORT_TELNET___54 = 23,
    IPPORT_SMTP___54 = 25,
    IPPORT_TIMESERVER___54 = 37,
    IPPORT_NAMESERVER___54 = 42,
    IPPORT_WHOIS___54 = 43,
    IPPORT_MTP___54 = 57,
    IPPORT_TFTP___54 = 69,
    IPPORT_RJE___54 = 77,
    IPPORT_FINGER___54 = 79,
    IPPORT_TTYLINK___54 = 87,
    IPPORT_SUPDUP___54 = 95,
    IPPORT_EXECSERVER___54 = 512,
    IPPORT_LOGINSERVER___54 = 513,
    IPPORT_CMDSERVER___54 = 514,
    IPPORT_EFSSERVER___54 = 520,
    IPPORT_BIFFUDP___54 = 512,
    IPPORT_WHOSERVER___54 = 513,
    IPPORT_ROUTESERVER___54 = 520,
    IPPORT_RESERVED___54 = 1024,
    IPPORT_USERRESERVED___54 = 5000
} ;
enum __anonenum_788308992___54 {
    TCP_ESTABLISHED___54 = 1,
    TCP_SYN_SENT___54 = 2,
    TCP_SYN_RECV___54 = 3,
    TCP_FIN_WAIT1___54 = 4,
    TCP_FIN_WAIT2___54 = 5,
    TCP_TIME_WAIT___54 = 6,
    TCP_CLOSE___54 = 7,
    TCP_CLOSE_WAIT___54 = 8,
    TCP_LAST_ACK___54 = 9,
    TCP_LISTEN___54 = 10,
    TCP_CLOSING___54 = 11
} ;
enum __anonenum_221125648___54 {
    TCP_NO_QUEUE___54 = 0,
    TCP_RECV_QUEUE___54 = 1,
    TCP_SEND_QUEUE___54 = 2,
    TCP_QUEUES_NR___54 = 3
} ;
enum __anonenum_34415463___54 {
    PTHREAD_CREATE_JOINABLE___54 = 0,
    PTHREAD_CREATE_DETACHED___54 = 1
} ;
enum __anonenum_303612439___54 {
    PTHREAD_MUTEX_TIMED_NP___54 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___54 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___54 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___54 = 3,
    PTHREAD_MUTEX_NORMAL___54 = 0,
    PTHREAD_MUTEX_RECURSIVE___54 = 1,
    PTHREAD_MUTEX_ERRORCHECK___54 = 2,
    PTHREAD_MUTEX_DEFAULT___54 = 0,
    PTHREAD_MUTEX_FAST_NP___54 = 0
} ;
enum __anonenum_931900394___54 {
    PTHREAD_MUTEX_STALLED___54 = 0,
    PTHREAD_MUTEX_STALLED_NP___54 = 0,
    PTHREAD_MUTEX_ROBUST___54 = 1,
    PTHREAD_MUTEX_ROBUST_NP___54 = 1
} ;
enum __anonenum_205214487___54 {
    PTHREAD_PRIO_NONE___54 = 0,
    PTHREAD_PRIO_INHERIT___54 = 1,
    PTHREAD_PRIO_PROTECT___54 = 2
} ;
enum __anonenum_25043950___54 {
    PTHREAD_RWLOCK_PREFER_READER_NP___54 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___54 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___54 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___54 = 0
} ;
enum __anonenum_436439511___54 {
    PTHREAD_INHERIT_SCHED___54 = 0,
    PTHREAD_EXPLICIT_SCHED___54 = 1
} ;
enum __anonenum_998661166___54 {
    PTHREAD_SCOPE_SYSTEM___54 = 0,
    PTHREAD_SCOPE_PROCESS___54 = 1
} ;
enum __anonenum_146137331___54 {
    PTHREAD_PROCESS_PRIVATE___54 = 0,
    PTHREAD_PROCESS_SHARED___54 = 1
} ;
enum __anonenum_53396917___54 {
    PTHREAD_CANCEL_ENABLE___54 = 0,
    PTHREAD_CANCEL_DISABLE___54 = 1
} ;
enum __anonenum_904563783___54 {
    PTHREAD_CANCEL_DEFERRED___54 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___54 = 1
} ;
enum __anonenum_672052974___54 {
    SSL_CT_VALIDATION_PERMISSIVE___54 = 0,
    SSL_CT_VALIDATION_STRICT___54 = 1
} ;
enum __anonenum_437032235___55 {
    _PC_LINK_MAX___55 = 0,
    _PC_MAX_CANON___55 = 1,
    _PC_MAX_INPUT___55 = 2,
    _PC_NAME_MAX___55 = 3,
    _PC_PATH_MAX___55 = 4,
    _PC_PIPE_BUF___55 = 5,
    _PC_CHOWN_RESTRICTED___55 = 6,
    _PC_NO_TRUNC___55 = 7,
    _PC_VDISABLE___55 = 8,
    _PC_SYNC_IO___55 = 9,
    _PC_ASYNC_IO___55 = 10,
    _PC_PRIO_IO___55 = 11,
    _PC_SOCK_MAXBUF___55 = 12,
    _PC_FILESIZEBITS___55 = 13,
    _PC_REC_INCR_XFER_SIZE___55 = 14,
    _PC_REC_MAX_XFER_SIZE___55 = 15,
    _PC_REC_MIN_XFER_SIZE___55 = 16,
    _PC_REC_XFER_ALIGN___55 = 17,
    _PC_ALLOC_SIZE_MIN___55 = 18,
    _PC_SYMLINK_MAX___55 = 19,
    _PC_2_SYMLINKS___55 = 20
} ;
enum __anonenum_315186338___55 {
    _SC_ARG_MAX___55 = 0,
    _SC_CHILD_MAX___55 = 1,
    _SC_CLK_TCK___55 = 2,
    _SC_NGROUPS_MAX___55 = 3,
    _SC_OPEN_MAX___55 = 4,
    _SC_STREAM_MAX___55 = 5,
    _SC_TZNAME_MAX___55 = 6,
    _SC_JOB_CONTROL___55 = 7,
    _SC_SAVED_IDS___55 = 8,
    _SC_REALTIME_SIGNALS___55 = 9,
    _SC_PRIORITY_SCHEDULING___55 = 10,
    _SC_TIMERS___55 = 11,
    _SC_ASYNCHRONOUS_IO___55 = 12,
    _SC_PRIORITIZED_IO___55 = 13,
    _SC_SYNCHRONIZED_IO___55 = 14,
    _SC_FSYNC___55 = 15,
    _SC_MAPPED_FILES___55 = 16,
    _SC_MEMLOCK___55 = 17,
    _SC_MEMLOCK_RANGE___55 = 18,
    _SC_MEMORY_PROTECTION___55 = 19,
    _SC_MESSAGE_PASSING___55 = 20,
    _SC_SEMAPHORES___55 = 21,
    _SC_SHARED_MEMORY_OBJECTS___55 = 22,
    _SC_AIO_LISTIO_MAX___55 = 23,
    _SC_AIO_MAX___55 = 24,
    _SC_AIO_PRIO_DELTA_MAX___55 = 25,
    _SC_DELAYTIMER_MAX___55 = 26,
    _SC_MQ_OPEN_MAX___55 = 27,
    _SC_MQ_PRIO_MAX___55 = 28,
    _SC_VERSION___55 = 29,
    _SC_PAGESIZE___55 = 30,
    _SC_RTSIG_MAX___55 = 31,
    _SC_SEM_NSEMS_MAX___55 = 32,
    _SC_SEM_VALUE_MAX___55 = 33,
    _SC_SIGQUEUE_MAX___55 = 34,
    _SC_TIMER_MAX___55 = 35,
    _SC_BC_BASE_MAX___55 = 36,
    _SC_BC_DIM_MAX___55 = 37,
    _SC_BC_SCALE_MAX___55 = 38,
    _SC_BC_STRING_MAX___55 = 39,
    _SC_COLL_WEIGHTS_MAX___55 = 40,
    _SC_EQUIV_CLASS_MAX___55 = 41,
    _SC_EXPR_NEST_MAX___55 = 42,
    _SC_LINE_MAX___55 = 43,
    _SC_RE_DUP_MAX___55 = 44,
    _SC_CHARCLASS_NAME_MAX___55 = 45,
    _SC_2_VERSION___55 = 46,
    _SC_2_C_BIND___55 = 47,
    _SC_2_C_DEV___55 = 48,
    _SC_2_FORT_DEV___55 = 49,
    _SC_2_FORT_RUN___55 = 50,
    _SC_2_SW_DEV___55 = 51,
    _SC_2_LOCALEDEF___55 = 52,
    _SC_PII___55 = 53,
    _SC_PII_XTI___55 = 54,
    _SC_PII_SOCKET___55 = 55,
    _SC_PII_INTERNET___55 = 56,
    _SC_PII_OSI___55 = 57,
    _SC_POLL___55 = 58,
    _SC_SELECT___55 = 59,
    _SC_UIO_MAXIOV___55 = 60,
    _SC_IOV_MAX___55 = 60,
    _SC_PII_INTERNET_STREAM___55 = 61,
    _SC_PII_INTERNET_DGRAM___55 = 62,
    _SC_PII_OSI_COTS___55 = 63,
    _SC_PII_OSI_CLTS___55 = 64,
    _SC_PII_OSI_M___55 = 65,
    _SC_T_IOV_MAX___55 = 66,
    _SC_THREADS___55 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___55 = 68,
    _SC_GETGR_R_SIZE_MAX___55 = 69,
    _SC_GETPW_R_SIZE_MAX___55 = 70,
    _SC_LOGIN_NAME_MAX___55 = 71,
    _SC_TTY_NAME_MAX___55 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___55 = 73,
    _SC_THREAD_KEYS_MAX___55 = 74,
    _SC_THREAD_STACK_MIN___55 = 75,
    _SC_THREAD_THREADS_MAX___55 = 76,
    _SC_THREAD_ATTR_STACKADDR___55 = 77,
    _SC_THREAD_ATTR_STACKSIZE___55 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___55 = 79,
    _SC_THREAD_PRIO_INHERIT___55 = 80,
    _SC_THREAD_PRIO_PROTECT___55 = 81,
    _SC_THREAD_PROCESS_SHARED___55 = 82,
    _SC_NPROCESSORS_CONF___55 = 83,
    _SC_NPROCESSORS_ONLN___55 = 84,
    _SC_PHYS_PAGES___55 = 85,
    _SC_AVPHYS_PAGES___55 = 86,
    _SC_ATEXIT_MAX___55 = 87,
    _SC_PASS_MAX___55 = 88,
    _SC_XOPEN_VERSION___55 = 89,
    _SC_XOPEN_XCU_VERSION___55 = 90,
    _SC_XOPEN_UNIX___55 = 91,
    _SC_XOPEN_CRYPT___55 = 92,
    _SC_XOPEN_ENH_I18N___55 = 93,
    _SC_XOPEN_SHM___55 = 94,
    _SC_2_CHAR_TERM___55 = 95,
    _SC_2_C_VERSION___55 = 96,
    _SC_2_UPE___55 = 97,
    _SC_XOPEN_XPG2___55 = 98,
    _SC_XOPEN_XPG3___55 = 99,
    _SC_XOPEN_XPG4___55 = 100,
    _SC_CHAR_BIT___55 = 101,
    _SC_CHAR_MAX___55 = 102,
    _SC_CHAR_MIN___55 = 103,
    _SC_INT_MAX___55 = 104,
    _SC_INT_MIN___55 = 105,
    _SC_LONG_BIT___55 = 106,
    _SC_WORD_BIT___55 = 107,
    _SC_MB_LEN_MAX___55 = 108,
    _SC_NZERO___55 = 109,
    _SC_SSIZE_MAX___55 = 110,
    _SC_SCHAR_MAX___55 = 111,
    _SC_SCHAR_MIN___55 = 112,
    _SC_SHRT_MAX___55 = 113,
    _SC_SHRT_MIN___55 = 114,
    _SC_UCHAR_MAX___55 = 115,
    _SC_UINT_MAX___55 = 116,
    _SC_ULONG_MAX___55 = 117,
    _SC_USHRT_MAX___55 = 118,
    _SC_NL_ARGMAX___55 = 119,
    _SC_NL_LANGMAX___55 = 120,
    _SC_NL_MSGMAX___55 = 121,
    _SC_NL_NMAX___55 = 122,
    _SC_NL_SETMAX___55 = 123,
    _SC_NL_TEXTMAX___55 = 124,
    _SC_XBS5_ILP32_OFF32___55 = 125,
    _SC_XBS5_ILP32_OFFBIG___55 = 126,
    _SC_XBS5_LP64_OFF64___55 = 127,
    _SC_XBS5_LPBIG_OFFBIG___55 = 128,
    _SC_XOPEN_LEGACY___55 = 129,
    _SC_XOPEN_REALTIME___55 = 130,
    _SC_XOPEN_REALTIME_THREADS___55 = 131,
    _SC_ADVISORY_INFO___55 = 132,
    _SC_BARRIERS___55 = 133,
    _SC_BASE___55 = 134,
    _SC_C_LANG_SUPPORT___55 = 135,
    _SC_C_LANG_SUPPORT_R___55 = 136,
    _SC_CLOCK_SELECTION___55 = 137,
    _SC_CPUTIME___55 = 138,
    _SC_THREAD_CPUTIME___55 = 139,
    _SC_DEVICE_IO___55 = 140,
    _SC_DEVICE_SPECIFIC___55 = 141,
    _SC_DEVICE_SPECIFIC_R___55 = 142,
    _SC_FD_MGMT___55 = 143,
    _SC_FIFO___55 = 144,
    _SC_PIPE___55 = 145,
    _SC_FILE_ATTRIBUTES___55 = 146,
    _SC_FILE_LOCKING___55 = 147,
    _SC_FILE_SYSTEM___55 = 148,
    _SC_MONOTONIC_CLOCK___55 = 149,
    _SC_MULTI_PROCESS___55 = 150,
    _SC_SINGLE_PROCESS___55 = 151,
    _SC_NETWORKING___55 = 152,
    _SC_READER_WRITER_LOCKS___55 = 153,
    _SC_SPIN_LOCKS___55 = 154,
    _SC_REGEXP___55 = 155,
    _SC_REGEX_VERSION___55 = 156,
    _SC_SHELL___55 = 157,
    _SC_SIGNALS___55 = 158,
    _SC_SPAWN___55 = 159,
    _SC_SPORADIC_SERVER___55 = 160,
    _SC_THREAD_SPORADIC_SERVER___55 = 161,
    _SC_SYSTEM_DATABASE___55 = 162,
    _SC_SYSTEM_DATABASE_R___55 = 163,
    _SC_TIMEOUTS___55 = 164,
    _SC_TYPED_MEMORY_OBJECTS___55 = 165,
    _SC_USER_GROUPS___55 = 166,
    _SC_USER_GROUPS_R___55 = 167,
    _SC_2_PBS___55 = 168,
    _SC_2_PBS_ACCOUNTING___55 = 169,
    _SC_2_PBS_LOCATE___55 = 170,
    _SC_2_PBS_MESSAGE___55 = 171,
    _SC_2_PBS_TRACK___55 = 172,
    _SC_SYMLOOP_MAX___55 = 173,
    _SC_STREAMS___55 = 174,
    _SC_2_PBS_CHECKPOINT___55 = 175,
    _SC_V6_ILP32_OFF32___55 = 176,
    _SC_V6_ILP32_OFFBIG___55 = 177,
    _SC_V6_LP64_OFF64___55 = 178,
    _SC_V6_LPBIG_OFFBIG___55 = 179,
    _SC_HOST_NAME_MAX___55 = 180,
    _SC_TRACE___55 = 181,
    _SC_TRACE_EVENT_FILTER___55 = 182,
    _SC_TRACE_INHERIT___55 = 183,
    _SC_TRACE_LOG___55 = 184,
    _SC_LEVEL1_ICACHE_SIZE___55 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___55 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___55 = 187,
    _SC_LEVEL1_DCACHE_SIZE___55 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___55 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___55 = 190,
    _SC_LEVEL2_CACHE_SIZE___55 = 191,
    _SC_LEVEL2_CACHE_ASSOC___55 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___55 = 193,
    _SC_LEVEL3_CACHE_SIZE___55 = 194,
    _SC_LEVEL3_CACHE_ASSOC___55 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___55 = 196,
    _SC_LEVEL4_CACHE_SIZE___55 = 197,
    _SC_LEVEL4_CACHE_ASSOC___55 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___55 = 199,
    _SC_IPV6___55 = 235,
    _SC_RAW_SOCKETS___55 = 236,
    _SC_V7_ILP32_OFF32___55 = 237,
    _SC_V7_ILP32_OFFBIG___55 = 238,
    _SC_V7_LP64_OFF64___55 = 239,
    _SC_V7_LPBIG_OFFBIG___55 = 240,
    _SC_SS_REPL_MAX___55 = 241,
    _SC_TRACE_EVENT_NAME_MAX___55 = 242,
    _SC_TRACE_NAME_MAX___55 = 243,
    _SC_TRACE_SYS_MAX___55 = 244,
    _SC_TRACE_USER_EVENT_MAX___55 = 245,
    _SC_XOPEN_STREAMS___55 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___55 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___55 = 248
} ;
enum __anonenum_875524036___55 {
    _CS_PATH___55 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___55 = 1,
    _CS_GNU_LIBC_VERSION___55 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___55 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___55 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___55 = 5,
    _CS_LFS_CFLAGS___55 = 1000,
    _CS_LFS_LDFLAGS___55 = 1001,
    _CS_LFS_LIBS___55 = 1002,
    _CS_LFS_LINTFLAGS___55 = 1003,
    _CS_LFS64_CFLAGS___55 = 1004,
    _CS_LFS64_LDFLAGS___55 = 1005,
    _CS_LFS64_LIBS___55 = 1006,
    _CS_LFS64_LINTFLAGS___55 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___55 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___55 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___55 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___55 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___55 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___55 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___55 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___55 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___55 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___55 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___55 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___55 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___55 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___55 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___55 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___55 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___55 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___55 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___55 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___55 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___55 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___55 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___55 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___55 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___55 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___55 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___55 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___55 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___55 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___55 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___55 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___55 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___55 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___55 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___55 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___55 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___55 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___55 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___55 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___55 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___55 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___55 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___55 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___55 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___55 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___55 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___55 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___55 = 1147,
    _CS_V6_ENV___55 = 1148,
    _CS_V7_ENV___55 = 1149
} ;
enum __anonenum_513775621___55 {
    DT_UNKNOWN___55 = 0,
    DT_FIFO___55 = 1,
    DT_CHR___55 = 2,
    DT_DIR___55 = 4,
    DT_BLK___55 = 6,
    DT_REG___55 = 8,
    DT_LNK___55 = 10,
    DT_SOCK___55 = 12,
    DT_WHT___55 = 14
} ;
enum __anonenum_77002343___55 {
    SI_ASYNCNL___55 = -60,
    SI_TKILL___55 = -6,
    SI_SIGIO___55 = -5,
    SI_ASYNCIO___55 = -4,
    SI_MESGQ___55 = -3,
    SI_TIMER___55 = -2,
    SI_QUEUE___55 = -1,
    SI_USER___55 = 0,
    SI_KERNEL___55 = 128
} ;
enum __anonenum_131038172___55 {
    ILL_ILLOPC___55 = 1,
    ILL_ILLOPN___55 = 2,
    ILL_ILLADR___55 = 3,
    ILL_ILLTRP___55 = 4,
    ILL_PRVOPC___55 = 5,
    ILL_PRVREG___55 = 6,
    ILL_COPROC___55 = 7,
    ILL_BADSTK___55 = 8
} ;
enum __anonenum_452038093___55 {
    FPE_INTDIV___55 = 1,
    FPE_INTOVF___55 = 2,
    FPE_FLTDIV___55 = 3,
    FPE_FLTOVF___55 = 4,
    FPE_FLTUND___55 = 5,
    FPE_FLTRES___55 = 6,
    FPE_FLTINV___55 = 7,
    FPE_FLTSUB___55 = 8
} ;
enum __anonenum_30976155___55 {
    SEGV_MAPERR___55 = 1,
    SEGV_ACCERR___55 = 2,
    SEGV_BNDERR___55 = 3,
    SEGV_PKUERR___55 = 4
} ;
enum __anonenum_1036286214___55 {
    BUS_ADRALN___55 = 1,
    BUS_ADRERR___55 = 2,
    BUS_OBJERR___55 = 3,
    BUS_MCEERR_AR___55 = 4,
    BUS_MCEERR_AO___55 = 5
} ;
enum __anonenum_493465559___55 {
    TRAP_BRKPT___55 = 1,
    TRAP_TRACE___55 = 2
} ;
enum __anonenum_23175539___55 {
    CLD_EXITED___55 = 1,
    CLD_KILLED___55 = 2,
    CLD_DUMPED___55 = 3,
    CLD_TRAPPED___55 = 4,
    CLD_STOPPED___55 = 5,
    CLD_CONTINUED___55 = 6
} ;
enum __anonenum_111643124___55 {
    POLL_IN___55 = 1,
    POLL_OUT___55 = 2,
    POLL_MSG___55 = 3,
    POLL_ERR___55 = 4,
    POLL_PRI___55 = 5,
    POLL_HUP___55 = 6
} ;
enum __anonenum_852341087___55 {
    SIGEV_SIGNAL___55 = 0,
    SIGEV_NONE___55 = 1,
    SIGEV_THREAD___55 = 2,
    SIGEV_THREAD_ID___55 = 4
} ;
enum __anonenum_451154152___55 {
    REG_R8___55 = 0,
    REG_R9___55 = 1,
    REG_R10___55 = 2,
    REG_R11___55 = 3,
    REG_R12___55 = 4,
    REG_R13___55 = 5,
    REG_R14___55 = 6,
    REG_R15___55 = 7,
    REG_RDI___55 = 8,
    REG_RSI___55 = 9,
    REG_RBP___55 = 10,
    REG_RBX___55 = 11,
    REG_RDX___55 = 12,
    REG_RAX___55 = 13,
    REG_RCX___55 = 14,
    REG_RSP___55 = 15,
    REG_RIP___55 = 16,
    REG_EFL___55 = 17,
    REG_CSGSFS___55 = 18,
    REG_ERR___55 = 19,
    REG_TRAPNO___55 = 20,
    REG_OLDMASK___55 = 21,
    REG_CR2___55 = 22
} ;
enum __anonenum_57186863___55 {
    SS_ONSTACK___55 = 1,
    SS_DISABLE___55 = 2
} ;
enum __anonenum_83571709___55 {
    MSG_OOB___55 = 1,
    MSG_PEEK___55 = 2,
    MSG_DONTROUTE___55 = 4,
    MSG_TRYHARD___55 = 4,
    MSG_CTRUNC___55 = 8,
    MSG_PROXY___55 = 16,
    MSG_TRUNC___55 = 32,
    MSG_DONTWAIT___55 = 64,
    MSG_EOR___55 = 128,
    MSG_WAITALL___55 = 256,
    MSG_FIN___55 = 512,
    MSG_SYN___55 = 1024,
    MSG_CONFIRM___55 = 2048,
    MSG_RST___55 = 4096,
    MSG_ERRQUEUE___55 = 8192,
    MSG_NOSIGNAL___55 = 16384,
    MSG_MORE___55 = 32768,
    MSG_WAITFORONE___55 = 65536,
    MSG_BATCH___55 = 262144,
    MSG_ZEROCOPY___55 = 67108864,
    MSG_FASTOPEN___55 = 536870912,
    MSG_CMSG_CLOEXEC___55 = 1073741824
} ;
enum __anonenum_617082774___55 {
    SCM_RIGHTS___55 = 1,
    SCM_CREDENTIALS___55 = 2
} ;
enum __anonenum_606441560___55 {
    SHUT_RD___55 = 0,
    SHUT_WR___55 = 1,
    SHUT_RDWR___55 = 2
} ;
enum __anonenum_681669233___55 {
    IPPROTO_IP___55 = 0,
    IPPROTO_ICMP___55 = 1,
    IPPROTO_IGMP___55 = 2,
    IPPROTO_IPIP___55 = 4,
    IPPROTO_TCP___55 = 6,
    IPPROTO_EGP___55 = 8,
    IPPROTO_PUP___55 = 12,
    IPPROTO_UDP___55 = 17,
    IPPROTO_IDP___55 = 22,
    IPPROTO_TP___55 = 29,
    IPPROTO_DCCP___55 = 33,
    IPPROTO_IPV6___55 = 41,
    IPPROTO_RSVP___55 = 46,
    IPPROTO_GRE___55 = 47,
    IPPROTO_ESP___55 = 50,
    IPPROTO_AH___55 = 51,
    IPPROTO_MTP___55 = 92,
    IPPROTO_BEETPH___55 = 94,
    IPPROTO_ENCAP___55 = 98,
    IPPROTO_PIM___55 = 103,
    IPPROTO_COMP___55 = 108,
    IPPROTO_SCTP___55 = 132,
    IPPROTO_UDPLITE___55 = 136,
    IPPROTO_MPLS___55 = 137,
    IPPROTO_RAW___55 = 255,
    IPPROTO_MAX___55 = 256
} ;
enum __anonenum_218739988___55 {
    IPPROTO_HOPOPTS___55 = 0,
    IPPROTO_ROUTING___55 = 43,
    IPPROTO_FRAGMENT___55 = 44,
    IPPROTO_ICMPV6___55 = 58,
    IPPROTO_NONE___55 = 59,
    IPPROTO_DSTOPTS___55 = 60,
    IPPROTO_MH___55 = 135
} ;
enum __anonenum_662268580___55 {
    IPPORT_ECHO___55 = 7,
    IPPORT_DISCARD___55 = 9,
    IPPORT_SYSTAT___55 = 11,
    IPPORT_DAYTIME___55 = 13,
    IPPORT_NETSTAT___55 = 15,
    IPPORT_FTP___55 = 21,
    IPPORT_TELNET___55 = 23,
    IPPORT_SMTP___55 = 25,
    IPPORT_TIMESERVER___55 = 37,
    IPPORT_NAMESERVER___55 = 42,
    IPPORT_WHOIS___55 = 43,
    IPPORT_MTP___55 = 57,
    IPPORT_TFTP___55 = 69,
    IPPORT_RJE___55 = 77,
    IPPORT_FINGER___55 = 79,
    IPPORT_TTYLINK___55 = 87,
    IPPORT_SUPDUP___55 = 95,
    IPPORT_EXECSERVER___55 = 512,
    IPPORT_LOGINSERVER___55 = 513,
    IPPORT_CMDSERVER___55 = 514,
    IPPORT_EFSSERVER___55 = 520,
    IPPORT_BIFFUDP___55 = 512,
    IPPORT_WHOSERVER___55 = 513,
    IPPORT_ROUTESERVER___55 = 520,
    IPPORT_RESERVED___55 = 1024,
    IPPORT_USERRESERVED___55 = 5000
} ;
enum __anonenum_788308992___55 {
    TCP_ESTABLISHED___55 = 1,
    TCP_SYN_SENT___55 = 2,
    TCP_SYN_RECV___55 = 3,
    TCP_FIN_WAIT1___55 = 4,
    TCP_FIN_WAIT2___55 = 5,
    TCP_TIME_WAIT___55 = 6,
    TCP_CLOSE___55 = 7,
    TCP_CLOSE_WAIT___55 = 8,
    TCP_LAST_ACK___55 = 9,
    TCP_LISTEN___55 = 10,
    TCP_CLOSING___55 = 11
} ;
enum __anonenum_221125648___55 {
    TCP_NO_QUEUE___55 = 0,
    TCP_RECV_QUEUE___55 = 1,
    TCP_SEND_QUEUE___55 = 2,
    TCP_QUEUES_NR___55 = 3
} ;
enum __anonenum_34415463___55 {
    PTHREAD_CREATE_JOINABLE___55 = 0,
    PTHREAD_CREATE_DETACHED___55 = 1
} ;
enum __anonenum_303612439___55 {
    PTHREAD_MUTEX_TIMED_NP___55 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___55 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___55 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___55 = 3,
    PTHREAD_MUTEX_NORMAL___55 = 0,
    PTHREAD_MUTEX_RECURSIVE___55 = 1,
    PTHREAD_MUTEX_ERRORCHECK___55 = 2,
    PTHREAD_MUTEX_DEFAULT___55 = 0,
    PTHREAD_MUTEX_FAST_NP___55 = 0
} ;
enum __anonenum_931900394___55 {
    PTHREAD_MUTEX_STALLED___55 = 0,
    PTHREAD_MUTEX_STALLED_NP___55 = 0,
    PTHREAD_MUTEX_ROBUST___55 = 1,
    PTHREAD_MUTEX_ROBUST_NP___55 = 1
} ;
enum __anonenum_205214487___55 {
    PTHREAD_PRIO_NONE___55 = 0,
    PTHREAD_PRIO_INHERIT___55 = 1,
    PTHREAD_PRIO_PROTECT___55 = 2
} ;
enum __anonenum_25043950___55 {
    PTHREAD_RWLOCK_PREFER_READER_NP___55 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___55 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___55 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___55 = 0
} ;
enum __anonenum_436439511___55 {
    PTHREAD_INHERIT_SCHED___55 = 0,
    PTHREAD_EXPLICIT_SCHED___55 = 1
} ;
enum __anonenum_998661166___55 {
    PTHREAD_SCOPE_SYSTEM___55 = 0,
    PTHREAD_SCOPE_PROCESS___55 = 1
} ;
enum __anonenum_146137331___55 {
    PTHREAD_PROCESS_PRIVATE___55 = 0,
    PTHREAD_PROCESS_SHARED___55 = 1
} ;
enum __anonenum_53396917___55 {
    PTHREAD_CANCEL_ENABLE___55 = 0,
    PTHREAD_CANCEL_DISABLE___55 = 1
} ;
enum __anonenum_904563783___55 {
    PTHREAD_CANCEL_DEFERRED___55 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___55 = 1
} ;
enum __anonenum_672052974___55 {
    SSL_CT_VALIDATION_PERMISSIVE___55 = 0,
    SSL_CT_VALIDATION_STRICT___55 = 1
} ;
struct kwsmatch {
   int index ;
   size_t offset[1] ;
   size_t size[1] ;
};
struct kwset_t ;
typedef struct kwset_t *kwset_t;
typedef int (*pickaxe_fn)(mmfile_t *one , mmfile_t *two , struct diff_options *o ,
                          regex_t *regexp , kwset_t kws );
struct diffgrep_cb {
   regex_t *regexp ;
   int hit ;
};
enum __anonenum_437032235___56 {
    _PC_LINK_MAX___56 = 0,
    _PC_MAX_CANON___56 = 1,
    _PC_MAX_INPUT___56 = 2,
    _PC_NAME_MAX___56 = 3,
    _PC_PATH_MAX___56 = 4,
    _PC_PIPE_BUF___56 = 5,
    _PC_CHOWN_RESTRICTED___56 = 6,
    _PC_NO_TRUNC___56 = 7,
    _PC_VDISABLE___56 = 8,
    _PC_SYNC_IO___56 = 9,
    _PC_ASYNC_IO___56 = 10,
    _PC_PRIO_IO___56 = 11,
    _PC_SOCK_MAXBUF___56 = 12,
    _PC_FILESIZEBITS___56 = 13,
    _PC_REC_INCR_XFER_SIZE___56 = 14,
    _PC_REC_MAX_XFER_SIZE___56 = 15,
    _PC_REC_MIN_XFER_SIZE___56 = 16,
    _PC_REC_XFER_ALIGN___56 = 17,
    _PC_ALLOC_SIZE_MIN___56 = 18,
    _PC_SYMLINK_MAX___56 = 19,
    _PC_2_SYMLINKS___56 = 20
} ;
enum __anonenum_315186338___56 {
    _SC_ARG_MAX___56 = 0,
    _SC_CHILD_MAX___56 = 1,
    _SC_CLK_TCK___56 = 2,
    _SC_NGROUPS_MAX___56 = 3,
    _SC_OPEN_MAX___56 = 4,
    _SC_STREAM_MAX___56 = 5,
    _SC_TZNAME_MAX___56 = 6,
    _SC_JOB_CONTROL___56 = 7,
    _SC_SAVED_IDS___56 = 8,
    _SC_REALTIME_SIGNALS___56 = 9,
    _SC_PRIORITY_SCHEDULING___56 = 10,
    _SC_TIMERS___56 = 11,
    _SC_ASYNCHRONOUS_IO___56 = 12,
    _SC_PRIORITIZED_IO___56 = 13,
    _SC_SYNCHRONIZED_IO___56 = 14,
    _SC_FSYNC___56 = 15,
    _SC_MAPPED_FILES___56 = 16,
    _SC_MEMLOCK___56 = 17,
    _SC_MEMLOCK_RANGE___56 = 18,
    _SC_MEMORY_PROTECTION___56 = 19,
    _SC_MESSAGE_PASSING___56 = 20,
    _SC_SEMAPHORES___56 = 21,
    _SC_SHARED_MEMORY_OBJECTS___56 = 22,
    _SC_AIO_LISTIO_MAX___56 = 23,
    _SC_AIO_MAX___56 = 24,
    _SC_AIO_PRIO_DELTA_MAX___56 = 25,
    _SC_DELAYTIMER_MAX___56 = 26,
    _SC_MQ_OPEN_MAX___56 = 27,
    _SC_MQ_PRIO_MAX___56 = 28,
    _SC_VERSION___56 = 29,
    _SC_PAGESIZE___56 = 30,
    _SC_RTSIG_MAX___56 = 31,
    _SC_SEM_NSEMS_MAX___56 = 32,
    _SC_SEM_VALUE_MAX___56 = 33,
    _SC_SIGQUEUE_MAX___56 = 34,
    _SC_TIMER_MAX___56 = 35,
    _SC_BC_BASE_MAX___56 = 36,
    _SC_BC_DIM_MAX___56 = 37,
    _SC_BC_SCALE_MAX___56 = 38,
    _SC_BC_STRING_MAX___56 = 39,
    _SC_COLL_WEIGHTS_MAX___56 = 40,
    _SC_EQUIV_CLASS_MAX___56 = 41,
    _SC_EXPR_NEST_MAX___56 = 42,
    _SC_LINE_MAX___56 = 43,
    _SC_RE_DUP_MAX___56 = 44,
    _SC_CHARCLASS_NAME_MAX___56 = 45,
    _SC_2_VERSION___56 = 46,
    _SC_2_C_BIND___56 = 47,
    _SC_2_C_DEV___56 = 48,
    _SC_2_FORT_DEV___56 = 49,
    _SC_2_FORT_RUN___56 = 50,
    _SC_2_SW_DEV___56 = 51,
    _SC_2_LOCALEDEF___56 = 52,
    _SC_PII___56 = 53,
    _SC_PII_XTI___56 = 54,
    _SC_PII_SOCKET___56 = 55,
    _SC_PII_INTERNET___56 = 56,
    _SC_PII_OSI___56 = 57,
    _SC_POLL___56 = 58,
    _SC_SELECT___56 = 59,
    _SC_UIO_MAXIOV___56 = 60,
    _SC_IOV_MAX___56 = 60,
    _SC_PII_INTERNET_STREAM___56 = 61,
    _SC_PII_INTERNET_DGRAM___56 = 62,
    _SC_PII_OSI_COTS___56 = 63,
    _SC_PII_OSI_CLTS___56 = 64,
    _SC_PII_OSI_M___56 = 65,
    _SC_T_IOV_MAX___56 = 66,
    _SC_THREADS___56 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___56 = 68,
    _SC_GETGR_R_SIZE_MAX___56 = 69,
    _SC_GETPW_R_SIZE_MAX___56 = 70,
    _SC_LOGIN_NAME_MAX___56 = 71,
    _SC_TTY_NAME_MAX___56 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___56 = 73,
    _SC_THREAD_KEYS_MAX___56 = 74,
    _SC_THREAD_STACK_MIN___56 = 75,
    _SC_THREAD_THREADS_MAX___56 = 76,
    _SC_THREAD_ATTR_STACKADDR___56 = 77,
    _SC_THREAD_ATTR_STACKSIZE___56 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___56 = 79,
    _SC_THREAD_PRIO_INHERIT___56 = 80,
    _SC_THREAD_PRIO_PROTECT___56 = 81,
    _SC_THREAD_PROCESS_SHARED___56 = 82,
    _SC_NPROCESSORS_CONF___56 = 83,
    _SC_NPROCESSORS_ONLN___56 = 84,
    _SC_PHYS_PAGES___56 = 85,
    _SC_AVPHYS_PAGES___56 = 86,
    _SC_ATEXIT_MAX___56 = 87,
    _SC_PASS_MAX___56 = 88,
    _SC_XOPEN_VERSION___56 = 89,
    _SC_XOPEN_XCU_VERSION___56 = 90,
    _SC_XOPEN_UNIX___56 = 91,
    _SC_XOPEN_CRYPT___56 = 92,
    _SC_XOPEN_ENH_I18N___56 = 93,
    _SC_XOPEN_SHM___56 = 94,
    _SC_2_CHAR_TERM___56 = 95,
    _SC_2_C_VERSION___56 = 96,
    _SC_2_UPE___56 = 97,
    _SC_XOPEN_XPG2___56 = 98,
    _SC_XOPEN_XPG3___56 = 99,
    _SC_XOPEN_XPG4___56 = 100,
    _SC_CHAR_BIT___56 = 101,
    _SC_CHAR_MAX___56 = 102,
    _SC_CHAR_MIN___56 = 103,
    _SC_INT_MAX___56 = 104,
    _SC_INT_MIN___56 = 105,
    _SC_LONG_BIT___56 = 106,
    _SC_WORD_BIT___56 = 107,
    _SC_MB_LEN_MAX___56 = 108,
    _SC_NZERO___56 = 109,
    _SC_SSIZE_MAX___56 = 110,
    _SC_SCHAR_MAX___56 = 111,
    _SC_SCHAR_MIN___56 = 112,
    _SC_SHRT_MAX___56 = 113,
    _SC_SHRT_MIN___56 = 114,
    _SC_UCHAR_MAX___56 = 115,
    _SC_UINT_MAX___56 = 116,
    _SC_ULONG_MAX___56 = 117,
    _SC_USHRT_MAX___56 = 118,
    _SC_NL_ARGMAX___56 = 119,
    _SC_NL_LANGMAX___56 = 120,
    _SC_NL_MSGMAX___56 = 121,
    _SC_NL_NMAX___56 = 122,
    _SC_NL_SETMAX___56 = 123,
    _SC_NL_TEXTMAX___56 = 124,
    _SC_XBS5_ILP32_OFF32___56 = 125,
    _SC_XBS5_ILP32_OFFBIG___56 = 126,
    _SC_XBS5_LP64_OFF64___56 = 127,
    _SC_XBS5_LPBIG_OFFBIG___56 = 128,
    _SC_XOPEN_LEGACY___56 = 129,
    _SC_XOPEN_REALTIME___56 = 130,
    _SC_XOPEN_REALTIME_THREADS___56 = 131,
    _SC_ADVISORY_INFO___56 = 132,
    _SC_BARRIERS___56 = 133,
    _SC_BASE___56 = 134,
    _SC_C_LANG_SUPPORT___56 = 135,
    _SC_C_LANG_SUPPORT_R___56 = 136,
    _SC_CLOCK_SELECTION___56 = 137,
    _SC_CPUTIME___56 = 138,
    _SC_THREAD_CPUTIME___56 = 139,
    _SC_DEVICE_IO___56 = 140,
    _SC_DEVICE_SPECIFIC___56 = 141,
    _SC_DEVICE_SPECIFIC_R___56 = 142,
    _SC_FD_MGMT___56 = 143,
    _SC_FIFO___56 = 144,
    _SC_PIPE___56 = 145,
    _SC_FILE_ATTRIBUTES___56 = 146,
    _SC_FILE_LOCKING___56 = 147,
    _SC_FILE_SYSTEM___56 = 148,
    _SC_MONOTONIC_CLOCK___56 = 149,
    _SC_MULTI_PROCESS___56 = 150,
    _SC_SINGLE_PROCESS___56 = 151,
    _SC_NETWORKING___56 = 152,
    _SC_READER_WRITER_LOCKS___56 = 153,
    _SC_SPIN_LOCKS___56 = 154,
    _SC_REGEXP___56 = 155,
    _SC_REGEX_VERSION___56 = 156,
    _SC_SHELL___56 = 157,
    _SC_SIGNALS___56 = 158,
    _SC_SPAWN___56 = 159,
    _SC_SPORADIC_SERVER___56 = 160,
    _SC_THREAD_SPORADIC_SERVER___56 = 161,
    _SC_SYSTEM_DATABASE___56 = 162,
    _SC_SYSTEM_DATABASE_R___56 = 163,
    _SC_TIMEOUTS___56 = 164,
    _SC_TYPED_MEMORY_OBJECTS___56 = 165,
    _SC_USER_GROUPS___56 = 166,
    _SC_USER_GROUPS_R___56 = 167,
    _SC_2_PBS___56 = 168,
    _SC_2_PBS_ACCOUNTING___56 = 169,
    _SC_2_PBS_LOCATE___56 = 170,
    _SC_2_PBS_MESSAGE___56 = 171,
    _SC_2_PBS_TRACK___56 = 172,
    _SC_SYMLOOP_MAX___56 = 173,
    _SC_STREAMS___56 = 174,
    _SC_2_PBS_CHECKPOINT___56 = 175,
    _SC_V6_ILP32_OFF32___56 = 176,
    _SC_V6_ILP32_OFFBIG___56 = 177,
    _SC_V6_LP64_OFF64___56 = 178,
    _SC_V6_LPBIG_OFFBIG___56 = 179,
    _SC_HOST_NAME_MAX___56 = 180,
    _SC_TRACE___56 = 181,
    _SC_TRACE_EVENT_FILTER___56 = 182,
    _SC_TRACE_INHERIT___56 = 183,
    _SC_TRACE_LOG___56 = 184,
    _SC_LEVEL1_ICACHE_SIZE___56 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___56 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___56 = 187,
    _SC_LEVEL1_DCACHE_SIZE___56 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___56 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___56 = 190,
    _SC_LEVEL2_CACHE_SIZE___56 = 191,
    _SC_LEVEL2_CACHE_ASSOC___56 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___56 = 193,
    _SC_LEVEL3_CACHE_SIZE___56 = 194,
    _SC_LEVEL3_CACHE_ASSOC___56 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___56 = 196,
    _SC_LEVEL4_CACHE_SIZE___56 = 197,
    _SC_LEVEL4_CACHE_ASSOC___56 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___56 = 199,
    _SC_IPV6___56 = 235,
    _SC_RAW_SOCKETS___56 = 236,
    _SC_V7_ILP32_OFF32___56 = 237,
    _SC_V7_ILP32_OFFBIG___56 = 238,
    _SC_V7_LP64_OFF64___56 = 239,
    _SC_V7_LPBIG_OFFBIG___56 = 240,
    _SC_SS_REPL_MAX___56 = 241,
    _SC_TRACE_EVENT_NAME_MAX___56 = 242,
    _SC_TRACE_NAME_MAX___56 = 243,
    _SC_TRACE_SYS_MAX___56 = 244,
    _SC_TRACE_USER_EVENT_MAX___56 = 245,
    _SC_XOPEN_STREAMS___56 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___56 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___56 = 248
} ;
enum __anonenum_875524036___56 {
    _CS_PATH___56 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___56 = 1,
    _CS_GNU_LIBC_VERSION___56 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___56 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___56 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___56 = 5,
    _CS_LFS_CFLAGS___56 = 1000,
    _CS_LFS_LDFLAGS___56 = 1001,
    _CS_LFS_LIBS___56 = 1002,
    _CS_LFS_LINTFLAGS___56 = 1003,
    _CS_LFS64_CFLAGS___56 = 1004,
    _CS_LFS64_LDFLAGS___56 = 1005,
    _CS_LFS64_LIBS___56 = 1006,
    _CS_LFS64_LINTFLAGS___56 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___56 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___56 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___56 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___56 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___56 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___56 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___56 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___56 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___56 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___56 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___56 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___56 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___56 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___56 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___56 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___56 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___56 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___56 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___56 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___56 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___56 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___56 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___56 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___56 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___56 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___56 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___56 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___56 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___56 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___56 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___56 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___56 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___56 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___56 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___56 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___56 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___56 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___56 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___56 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___56 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___56 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___56 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___56 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___56 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___56 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___56 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___56 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___56 = 1147,
    _CS_V6_ENV___56 = 1148,
    _CS_V7_ENV___56 = 1149
} ;
enum __anonenum_513775621___56 {
    DT_UNKNOWN___56 = 0,
    DT_FIFO___56 = 1,
    DT_CHR___56 = 2,
    DT_DIR___56 = 4,
    DT_BLK___56 = 6,
    DT_REG___56 = 8,
    DT_LNK___56 = 10,
    DT_SOCK___56 = 12,
    DT_WHT___56 = 14
} ;
enum __anonenum_77002343___56 {
    SI_ASYNCNL___56 = -60,
    SI_TKILL___56 = -6,
    SI_SIGIO___56 = -5,
    SI_ASYNCIO___56 = -4,
    SI_MESGQ___56 = -3,
    SI_TIMER___56 = -2,
    SI_QUEUE___56 = -1,
    SI_USER___56 = 0,
    SI_KERNEL___56 = 128
} ;
enum __anonenum_131038172___56 {
    ILL_ILLOPC___56 = 1,
    ILL_ILLOPN___56 = 2,
    ILL_ILLADR___56 = 3,
    ILL_ILLTRP___56 = 4,
    ILL_PRVOPC___56 = 5,
    ILL_PRVREG___56 = 6,
    ILL_COPROC___56 = 7,
    ILL_BADSTK___56 = 8
} ;
enum __anonenum_452038093___56 {
    FPE_INTDIV___56 = 1,
    FPE_INTOVF___56 = 2,
    FPE_FLTDIV___56 = 3,
    FPE_FLTOVF___56 = 4,
    FPE_FLTUND___56 = 5,
    FPE_FLTRES___56 = 6,
    FPE_FLTINV___56 = 7,
    FPE_FLTSUB___56 = 8
} ;
enum __anonenum_30976155___56 {
    SEGV_MAPERR___56 = 1,
    SEGV_ACCERR___56 = 2,
    SEGV_BNDERR___56 = 3,
    SEGV_PKUERR___56 = 4
} ;
enum __anonenum_1036286214___56 {
    BUS_ADRALN___56 = 1,
    BUS_ADRERR___56 = 2,
    BUS_OBJERR___56 = 3,
    BUS_MCEERR_AR___56 = 4,
    BUS_MCEERR_AO___56 = 5
} ;
enum __anonenum_493465559___56 {
    TRAP_BRKPT___56 = 1,
    TRAP_TRACE___56 = 2
} ;
enum __anonenum_23175539___56 {
    CLD_EXITED___56 = 1,
    CLD_KILLED___56 = 2,
    CLD_DUMPED___56 = 3,
    CLD_TRAPPED___56 = 4,
    CLD_STOPPED___56 = 5,
    CLD_CONTINUED___56 = 6
} ;
enum __anonenum_111643124___56 {
    POLL_IN___56 = 1,
    POLL_OUT___56 = 2,
    POLL_MSG___56 = 3,
    POLL_ERR___56 = 4,
    POLL_PRI___56 = 5,
    POLL_HUP___56 = 6
} ;
enum __anonenum_852341087___56 {
    SIGEV_SIGNAL___56 = 0,
    SIGEV_NONE___56 = 1,
    SIGEV_THREAD___56 = 2,
    SIGEV_THREAD_ID___56 = 4
} ;
enum __anonenum_451154152___56 {
    REG_R8___56 = 0,
    REG_R9___56 = 1,
    REG_R10___56 = 2,
    REG_R11___56 = 3,
    REG_R12___56 = 4,
    REG_R13___56 = 5,
    REG_R14___56 = 6,
    REG_R15___56 = 7,
    REG_RDI___56 = 8,
    REG_RSI___56 = 9,
    REG_RBP___56 = 10,
    REG_RBX___56 = 11,
    REG_RDX___56 = 12,
    REG_RAX___56 = 13,
    REG_RCX___56 = 14,
    REG_RSP___56 = 15,
    REG_RIP___56 = 16,
    REG_EFL___56 = 17,
    REG_CSGSFS___56 = 18,
    REG_ERR___56 = 19,
    REG_TRAPNO___56 = 20,
    REG_OLDMASK___56 = 21,
    REG_CR2___56 = 22
} ;
enum __anonenum_57186863___56 {
    SS_ONSTACK___56 = 1,
    SS_DISABLE___56 = 2
} ;
enum __anonenum_83571709___56 {
    MSG_OOB___56 = 1,
    MSG_PEEK___56 = 2,
    MSG_DONTROUTE___56 = 4,
    MSG_TRYHARD___56 = 4,
    MSG_CTRUNC___56 = 8,
    MSG_PROXY___56 = 16,
    MSG_TRUNC___56 = 32,
    MSG_DONTWAIT___56 = 64,
    MSG_EOR___56 = 128,
    MSG_WAITALL___56 = 256,
    MSG_FIN___56 = 512,
    MSG_SYN___56 = 1024,
    MSG_CONFIRM___56 = 2048,
    MSG_RST___56 = 4096,
    MSG_ERRQUEUE___56 = 8192,
    MSG_NOSIGNAL___56 = 16384,
    MSG_MORE___56 = 32768,
    MSG_WAITFORONE___56 = 65536,
    MSG_BATCH___56 = 262144,
    MSG_ZEROCOPY___56 = 67108864,
    MSG_FASTOPEN___56 = 536870912,
    MSG_CMSG_CLOEXEC___56 = 1073741824
} ;
enum __anonenum_617082774___56 {
    SCM_RIGHTS___56 = 1,
    SCM_CREDENTIALS___56 = 2
} ;
enum __anonenum_606441560___56 {
    SHUT_RD___56 = 0,
    SHUT_WR___56 = 1,
    SHUT_RDWR___56 = 2
} ;
enum __anonenum_681669233___56 {
    IPPROTO_IP___56 = 0,
    IPPROTO_ICMP___56 = 1,
    IPPROTO_IGMP___56 = 2,
    IPPROTO_IPIP___56 = 4,
    IPPROTO_TCP___56 = 6,
    IPPROTO_EGP___56 = 8,
    IPPROTO_PUP___56 = 12,
    IPPROTO_UDP___56 = 17,
    IPPROTO_IDP___56 = 22,
    IPPROTO_TP___56 = 29,
    IPPROTO_DCCP___56 = 33,
    IPPROTO_IPV6___56 = 41,
    IPPROTO_RSVP___56 = 46,
    IPPROTO_GRE___56 = 47,
    IPPROTO_ESP___56 = 50,
    IPPROTO_AH___56 = 51,
    IPPROTO_MTP___56 = 92,
    IPPROTO_BEETPH___56 = 94,
    IPPROTO_ENCAP___56 = 98,
    IPPROTO_PIM___56 = 103,
    IPPROTO_COMP___56 = 108,
    IPPROTO_SCTP___56 = 132,
    IPPROTO_UDPLITE___56 = 136,
    IPPROTO_MPLS___56 = 137,
    IPPROTO_RAW___56 = 255,
    IPPROTO_MAX___56 = 256
} ;
enum __anonenum_218739988___56 {
    IPPROTO_HOPOPTS___56 = 0,
    IPPROTO_ROUTING___56 = 43,
    IPPROTO_FRAGMENT___56 = 44,
    IPPROTO_ICMPV6___56 = 58,
    IPPROTO_NONE___56 = 59,
    IPPROTO_DSTOPTS___56 = 60,
    IPPROTO_MH___56 = 135
} ;
enum __anonenum_662268580___56 {
    IPPORT_ECHO___56 = 7,
    IPPORT_DISCARD___56 = 9,
    IPPORT_SYSTAT___56 = 11,
    IPPORT_DAYTIME___56 = 13,
    IPPORT_NETSTAT___56 = 15,
    IPPORT_FTP___56 = 21,
    IPPORT_TELNET___56 = 23,
    IPPORT_SMTP___56 = 25,
    IPPORT_TIMESERVER___56 = 37,
    IPPORT_NAMESERVER___56 = 42,
    IPPORT_WHOIS___56 = 43,
    IPPORT_MTP___56 = 57,
    IPPORT_TFTP___56 = 69,
    IPPORT_RJE___56 = 77,
    IPPORT_FINGER___56 = 79,
    IPPORT_TTYLINK___56 = 87,
    IPPORT_SUPDUP___56 = 95,
    IPPORT_EXECSERVER___56 = 512,
    IPPORT_LOGINSERVER___56 = 513,
    IPPORT_CMDSERVER___56 = 514,
    IPPORT_EFSSERVER___56 = 520,
    IPPORT_BIFFUDP___56 = 512,
    IPPORT_WHOSERVER___56 = 513,
    IPPORT_ROUTESERVER___56 = 520,
    IPPORT_RESERVED___56 = 1024,
    IPPORT_USERRESERVED___56 = 5000
} ;
enum __anonenum_788308992___56 {
    TCP_ESTABLISHED___56 = 1,
    TCP_SYN_SENT___56 = 2,
    TCP_SYN_RECV___56 = 3,
    TCP_FIN_WAIT1___56 = 4,
    TCP_FIN_WAIT2___56 = 5,
    TCP_TIME_WAIT___56 = 6,
    TCP_CLOSE___56 = 7,
    TCP_CLOSE_WAIT___56 = 8,
    TCP_LAST_ACK___56 = 9,
    TCP_LISTEN___56 = 10,
    TCP_CLOSING___56 = 11
} ;
enum __anonenum_221125648___56 {
    TCP_NO_QUEUE___56 = 0,
    TCP_RECV_QUEUE___56 = 1,
    TCP_SEND_QUEUE___56 = 2,
    TCP_QUEUES_NR___56 = 3
} ;
enum __anonenum_34415463___56 {
    PTHREAD_CREATE_JOINABLE___56 = 0,
    PTHREAD_CREATE_DETACHED___56 = 1
} ;
enum __anonenum_303612439___56 {
    PTHREAD_MUTEX_TIMED_NP___56 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___56 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___56 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___56 = 3,
    PTHREAD_MUTEX_NORMAL___56 = 0,
    PTHREAD_MUTEX_RECURSIVE___56 = 1,
    PTHREAD_MUTEX_ERRORCHECK___56 = 2,
    PTHREAD_MUTEX_DEFAULT___56 = 0,
    PTHREAD_MUTEX_FAST_NP___56 = 0
} ;
enum __anonenum_931900394___56 {
    PTHREAD_MUTEX_STALLED___56 = 0,
    PTHREAD_MUTEX_STALLED_NP___56 = 0,
    PTHREAD_MUTEX_ROBUST___56 = 1,
    PTHREAD_MUTEX_ROBUST_NP___56 = 1
} ;
enum __anonenum_205214487___56 {
    PTHREAD_PRIO_NONE___56 = 0,
    PTHREAD_PRIO_INHERIT___56 = 1,
    PTHREAD_PRIO_PROTECT___56 = 2
} ;
enum __anonenum_25043950___56 {
    PTHREAD_RWLOCK_PREFER_READER_NP___56 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___56 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___56 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___56 = 0
} ;
enum __anonenum_436439511___56 {
    PTHREAD_INHERIT_SCHED___56 = 0,
    PTHREAD_EXPLICIT_SCHED___56 = 1
} ;
enum __anonenum_998661166___56 {
    PTHREAD_SCOPE_SYSTEM___56 = 0,
    PTHREAD_SCOPE_PROCESS___56 = 1
} ;
enum __anonenum_146137331___56 {
    PTHREAD_PROCESS_PRIVATE___56 = 0,
    PTHREAD_PROCESS_SHARED___56 = 1
} ;
enum __anonenum_53396917___56 {
    PTHREAD_CANCEL_ENABLE___56 = 0,
    PTHREAD_CANCEL_DISABLE___56 = 1
} ;
enum __anonenum_904563783___56 {
    PTHREAD_CANCEL_DEFERRED___56 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___56 = 1
} ;
enum __anonenum_672052974___56 {
    SSL_CT_VALIDATION_PERMISSIVE___56 = 0,
    SSL_CT_VALIDATION_STRICT___56 = 1
} ;
struct strmap {
   struct hashmap map ;
   struct mem_pool *pool ;
   unsigned int strdup_strings : 1 ;
};
struct strmap_entry {
   struct hashmap_entry ent ;
   char const   *key ;
   void *value ;
};
struct strintmap {
   struct strmap map ;
   int default_value ;
};
struct strset {
   struct strmap map ;
};
struct diff_rename_dst {
   struct diff_filepair *p ;
   struct diff_filespec *filespec_to_free ;
   int is_rename ;
};
struct diff_rename_src {
   struct diff_filepair *p ;
   unsigned short score ;
};
struct diff_score {
   int src ;
   int dst ;
   unsigned short score ;
   short name_score ;
};
struct inexact_prefetch_options {
   struct repository *repo ;
   int skip_unmodified ;
};
struct file_similarity {
   struct hashmap_entry entry ;
   int index ;
   struct diff_filespec *filespec ;
};
struct dir_rename_info {
   struct strintmap idx_map ;
   struct strmap dir_rename_guess ;
   struct strmap *dir_rename_count ;
   struct strintmap *relevant_source_dirs ;
   unsigned int setup ;
};
struct basename_prefetch_options {
   struct repository *repo ;
   struct strintmap *relevant_sources ;
   struct strintmap *sources ;
   struct strintmap *dests ;
   struct dir_rename_info *info ;
};
enum __anonenum_437032235___57 {
    _PC_LINK_MAX___57 = 0,
    _PC_MAX_CANON___57 = 1,
    _PC_MAX_INPUT___57 = 2,
    _PC_NAME_MAX___57 = 3,
    _PC_PATH_MAX___57 = 4,
    _PC_PIPE_BUF___57 = 5,
    _PC_CHOWN_RESTRICTED___57 = 6,
    _PC_NO_TRUNC___57 = 7,
    _PC_VDISABLE___57 = 8,
    _PC_SYNC_IO___57 = 9,
    _PC_ASYNC_IO___57 = 10,
    _PC_PRIO_IO___57 = 11,
    _PC_SOCK_MAXBUF___57 = 12,
    _PC_FILESIZEBITS___57 = 13,
    _PC_REC_INCR_XFER_SIZE___57 = 14,
    _PC_REC_MAX_XFER_SIZE___57 = 15,
    _PC_REC_MIN_XFER_SIZE___57 = 16,
    _PC_REC_XFER_ALIGN___57 = 17,
    _PC_ALLOC_SIZE_MIN___57 = 18,
    _PC_SYMLINK_MAX___57 = 19,
    _PC_2_SYMLINKS___57 = 20
} ;
enum __anonenum_315186338___57 {
    _SC_ARG_MAX___57 = 0,
    _SC_CHILD_MAX___57 = 1,
    _SC_CLK_TCK___57 = 2,
    _SC_NGROUPS_MAX___57 = 3,
    _SC_OPEN_MAX___57 = 4,
    _SC_STREAM_MAX___57 = 5,
    _SC_TZNAME_MAX___57 = 6,
    _SC_JOB_CONTROL___57 = 7,
    _SC_SAVED_IDS___57 = 8,
    _SC_REALTIME_SIGNALS___57 = 9,
    _SC_PRIORITY_SCHEDULING___57 = 10,
    _SC_TIMERS___57 = 11,
    _SC_ASYNCHRONOUS_IO___57 = 12,
    _SC_PRIORITIZED_IO___57 = 13,
    _SC_SYNCHRONIZED_IO___57 = 14,
    _SC_FSYNC___57 = 15,
    _SC_MAPPED_FILES___57 = 16,
    _SC_MEMLOCK___57 = 17,
    _SC_MEMLOCK_RANGE___57 = 18,
    _SC_MEMORY_PROTECTION___57 = 19,
    _SC_MESSAGE_PASSING___57 = 20,
    _SC_SEMAPHORES___57 = 21,
    _SC_SHARED_MEMORY_OBJECTS___57 = 22,
    _SC_AIO_LISTIO_MAX___57 = 23,
    _SC_AIO_MAX___57 = 24,
    _SC_AIO_PRIO_DELTA_MAX___57 = 25,
    _SC_DELAYTIMER_MAX___57 = 26,
    _SC_MQ_OPEN_MAX___57 = 27,
    _SC_MQ_PRIO_MAX___57 = 28,
    _SC_VERSION___57 = 29,
    _SC_PAGESIZE___57 = 30,
    _SC_RTSIG_MAX___57 = 31,
    _SC_SEM_NSEMS_MAX___57 = 32,
    _SC_SEM_VALUE_MAX___57 = 33,
    _SC_SIGQUEUE_MAX___57 = 34,
    _SC_TIMER_MAX___57 = 35,
    _SC_BC_BASE_MAX___57 = 36,
    _SC_BC_DIM_MAX___57 = 37,
    _SC_BC_SCALE_MAX___57 = 38,
    _SC_BC_STRING_MAX___57 = 39,
    _SC_COLL_WEIGHTS_MAX___57 = 40,
    _SC_EQUIV_CLASS_MAX___57 = 41,
    _SC_EXPR_NEST_MAX___57 = 42,
    _SC_LINE_MAX___57 = 43,
    _SC_RE_DUP_MAX___57 = 44,
    _SC_CHARCLASS_NAME_MAX___57 = 45,
    _SC_2_VERSION___57 = 46,
    _SC_2_C_BIND___57 = 47,
    _SC_2_C_DEV___57 = 48,
    _SC_2_FORT_DEV___57 = 49,
    _SC_2_FORT_RUN___57 = 50,
    _SC_2_SW_DEV___57 = 51,
    _SC_2_LOCALEDEF___57 = 52,
    _SC_PII___57 = 53,
    _SC_PII_XTI___57 = 54,
    _SC_PII_SOCKET___57 = 55,
    _SC_PII_INTERNET___57 = 56,
    _SC_PII_OSI___57 = 57,
    _SC_POLL___57 = 58,
    _SC_SELECT___57 = 59,
    _SC_UIO_MAXIOV___57 = 60,
    _SC_IOV_MAX___57 = 60,
    _SC_PII_INTERNET_STREAM___57 = 61,
    _SC_PII_INTERNET_DGRAM___57 = 62,
    _SC_PII_OSI_COTS___57 = 63,
    _SC_PII_OSI_CLTS___57 = 64,
    _SC_PII_OSI_M___57 = 65,
    _SC_T_IOV_MAX___57 = 66,
    _SC_THREADS___57 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___57 = 68,
    _SC_GETGR_R_SIZE_MAX___57 = 69,
    _SC_GETPW_R_SIZE_MAX___57 = 70,
    _SC_LOGIN_NAME_MAX___57 = 71,
    _SC_TTY_NAME_MAX___57 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___57 = 73,
    _SC_THREAD_KEYS_MAX___57 = 74,
    _SC_THREAD_STACK_MIN___57 = 75,
    _SC_THREAD_THREADS_MAX___57 = 76,
    _SC_THREAD_ATTR_STACKADDR___57 = 77,
    _SC_THREAD_ATTR_STACKSIZE___57 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___57 = 79,
    _SC_THREAD_PRIO_INHERIT___57 = 80,
    _SC_THREAD_PRIO_PROTECT___57 = 81,
    _SC_THREAD_PROCESS_SHARED___57 = 82,
    _SC_NPROCESSORS_CONF___57 = 83,
    _SC_NPROCESSORS_ONLN___57 = 84,
    _SC_PHYS_PAGES___57 = 85,
    _SC_AVPHYS_PAGES___57 = 86,
    _SC_ATEXIT_MAX___57 = 87,
    _SC_PASS_MAX___57 = 88,
    _SC_XOPEN_VERSION___57 = 89,
    _SC_XOPEN_XCU_VERSION___57 = 90,
    _SC_XOPEN_UNIX___57 = 91,
    _SC_XOPEN_CRYPT___57 = 92,
    _SC_XOPEN_ENH_I18N___57 = 93,
    _SC_XOPEN_SHM___57 = 94,
    _SC_2_CHAR_TERM___57 = 95,
    _SC_2_C_VERSION___57 = 96,
    _SC_2_UPE___57 = 97,
    _SC_XOPEN_XPG2___57 = 98,
    _SC_XOPEN_XPG3___57 = 99,
    _SC_XOPEN_XPG4___57 = 100,
    _SC_CHAR_BIT___57 = 101,
    _SC_CHAR_MAX___57 = 102,
    _SC_CHAR_MIN___57 = 103,
    _SC_INT_MAX___57 = 104,
    _SC_INT_MIN___57 = 105,
    _SC_LONG_BIT___57 = 106,
    _SC_WORD_BIT___57 = 107,
    _SC_MB_LEN_MAX___57 = 108,
    _SC_NZERO___57 = 109,
    _SC_SSIZE_MAX___57 = 110,
    _SC_SCHAR_MAX___57 = 111,
    _SC_SCHAR_MIN___57 = 112,
    _SC_SHRT_MAX___57 = 113,
    _SC_SHRT_MIN___57 = 114,
    _SC_UCHAR_MAX___57 = 115,
    _SC_UINT_MAX___57 = 116,
    _SC_ULONG_MAX___57 = 117,
    _SC_USHRT_MAX___57 = 118,
    _SC_NL_ARGMAX___57 = 119,
    _SC_NL_LANGMAX___57 = 120,
    _SC_NL_MSGMAX___57 = 121,
    _SC_NL_NMAX___57 = 122,
    _SC_NL_SETMAX___57 = 123,
    _SC_NL_TEXTMAX___57 = 124,
    _SC_XBS5_ILP32_OFF32___57 = 125,
    _SC_XBS5_ILP32_OFFBIG___57 = 126,
    _SC_XBS5_LP64_OFF64___57 = 127,
    _SC_XBS5_LPBIG_OFFBIG___57 = 128,
    _SC_XOPEN_LEGACY___57 = 129,
    _SC_XOPEN_REALTIME___57 = 130,
    _SC_XOPEN_REALTIME_THREADS___57 = 131,
    _SC_ADVISORY_INFO___57 = 132,
    _SC_BARRIERS___57 = 133,
    _SC_BASE___57 = 134,
    _SC_C_LANG_SUPPORT___57 = 135,
    _SC_C_LANG_SUPPORT_R___57 = 136,
    _SC_CLOCK_SELECTION___57 = 137,
    _SC_CPUTIME___57 = 138,
    _SC_THREAD_CPUTIME___57 = 139,
    _SC_DEVICE_IO___57 = 140,
    _SC_DEVICE_SPECIFIC___57 = 141,
    _SC_DEVICE_SPECIFIC_R___57 = 142,
    _SC_FD_MGMT___57 = 143,
    _SC_FIFO___57 = 144,
    _SC_PIPE___57 = 145,
    _SC_FILE_ATTRIBUTES___57 = 146,
    _SC_FILE_LOCKING___57 = 147,
    _SC_FILE_SYSTEM___57 = 148,
    _SC_MONOTONIC_CLOCK___57 = 149,
    _SC_MULTI_PROCESS___57 = 150,
    _SC_SINGLE_PROCESS___57 = 151,
    _SC_NETWORKING___57 = 152,
    _SC_READER_WRITER_LOCKS___57 = 153,
    _SC_SPIN_LOCKS___57 = 154,
    _SC_REGEXP___57 = 155,
    _SC_REGEX_VERSION___57 = 156,
    _SC_SHELL___57 = 157,
    _SC_SIGNALS___57 = 158,
    _SC_SPAWN___57 = 159,
    _SC_SPORADIC_SERVER___57 = 160,
    _SC_THREAD_SPORADIC_SERVER___57 = 161,
    _SC_SYSTEM_DATABASE___57 = 162,
    _SC_SYSTEM_DATABASE_R___57 = 163,
    _SC_TIMEOUTS___57 = 164,
    _SC_TYPED_MEMORY_OBJECTS___57 = 165,
    _SC_USER_GROUPS___57 = 166,
    _SC_USER_GROUPS_R___57 = 167,
    _SC_2_PBS___57 = 168,
    _SC_2_PBS_ACCOUNTING___57 = 169,
    _SC_2_PBS_LOCATE___57 = 170,
    _SC_2_PBS_MESSAGE___57 = 171,
    _SC_2_PBS_TRACK___57 = 172,
    _SC_SYMLOOP_MAX___57 = 173,
    _SC_STREAMS___57 = 174,
    _SC_2_PBS_CHECKPOINT___57 = 175,
    _SC_V6_ILP32_OFF32___57 = 176,
    _SC_V6_ILP32_OFFBIG___57 = 177,
    _SC_V6_LP64_OFF64___57 = 178,
    _SC_V6_LPBIG_OFFBIG___57 = 179,
    _SC_HOST_NAME_MAX___57 = 180,
    _SC_TRACE___57 = 181,
    _SC_TRACE_EVENT_FILTER___57 = 182,
    _SC_TRACE_INHERIT___57 = 183,
    _SC_TRACE_LOG___57 = 184,
    _SC_LEVEL1_ICACHE_SIZE___57 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___57 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___57 = 187,
    _SC_LEVEL1_DCACHE_SIZE___57 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___57 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___57 = 190,
    _SC_LEVEL2_CACHE_SIZE___57 = 191,
    _SC_LEVEL2_CACHE_ASSOC___57 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___57 = 193,
    _SC_LEVEL3_CACHE_SIZE___57 = 194,
    _SC_LEVEL3_CACHE_ASSOC___57 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___57 = 196,
    _SC_LEVEL4_CACHE_SIZE___57 = 197,
    _SC_LEVEL4_CACHE_ASSOC___57 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___57 = 199,
    _SC_IPV6___57 = 235,
    _SC_RAW_SOCKETS___57 = 236,
    _SC_V7_ILP32_OFF32___57 = 237,
    _SC_V7_ILP32_OFFBIG___57 = 238,
    _SC_V7_LP64_OFF64___57 = 239,
    _SC_V7_LPBIG_OFFBIG___57 = 240,
    _SC_SS_REPL_MAX___57 = 241,
    _SC_TRACE_EVENT_NAME_MAX___57 = 242,
    _SC_TRACE_NAME_MAX___57 = 243,
    _SC_TRACE_SYS_MAX___57 = 244,
    _SC_TRACE_USER_EVENT_MAX___57 = 245,
    _SC_XOPEN_STREAMS___57 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___57 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___57 = 248
} ;
enum __anonenum_875524036___57 {
    _CS_PATH___57 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___57 = 1,
    _CS_GNU_LIBC_VERSION___57 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___57 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___57 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___57 = 5,
    _CS_LFS_CFLAGS___57 = 1000,
    _CS_LFS_LDFLAGS___57 = 1001,
    _CS_LFS_LIBS___57 = 1002,
    _CS_LFS_LINTFLAGS___57 = 1003,
    _CS_LFS64_CFLAGS___57 = 1004,
    _CS_LFS64_LDFLAGS___57 = 1005,
    _CS_LFS64_LIBS___57 = 1006,
    _CS_LFS64_LINTFLAGS___57 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___57 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___57 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___57 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___57 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___57 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___57 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___57 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___57 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___57 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___57 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___57 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___57 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___57 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___57 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___57 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___57 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___57 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___57 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___57 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___57 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___57 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___57 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___57 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___57 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___57 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___57 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___57 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___57 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___57 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___57 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___57 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___57 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___57 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___57 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___57 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___57 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___57 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___57 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___57 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___57 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___57 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___57 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___57 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___57 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___57 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___57 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___57 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___57 = 1147,
    _CS_V6_ENV___57 = 1148,
    _CS_V7_ENV___57 = 1149
} ;
enum __anonenum_513775621___57 {
    DT_UNKNOWN___57 = 0,
    DT_FIFO___57 = 1,
    DT_CHR___57 = 2,
    DT_DIR___57 = 4,
    DT_BLK___57 = 6,
    DT_REG___57 = 8,
    DT_LNK___57 = 10,
    DT_SOCK___57 = 12,
    DT_WHT___57 = 14
} ;
enum __anonenum_77002343___57 {
    SI_ASYNCNL___57 = -60,
    SI_TKILL___57 = -6,
    SI_SIGIO___57 = -5,
    SI_ASYNCIO___57 = -4,
    SI_MESGQ___57 = -3,
    SI_TIMER___57 = -2,
    SI_QUEUE___57 = -1,
    SI_USER___57 = 0,
    SI_KERNEL___57 = 128
} ;
enum __anonenum_131038172___57 {
    ILL_ILLOPC___57 = 1,
    ILL_ILLOPN___57 = 2,
    ILL_ILLADR___57 = 3,
    ILL_ILLTRP___57 = 4,
    ILL_PRVOPC___57 = 5,
    ILL_PRVREG___57 = 6,
    ILL_COPROC___57 = 7,
    ILL_BADSTK___57 = 8
} ;
enum __anonenum_452038093___57 {
    FPE_INTDIV___57 = 1,
    FPE_INTOVF___57 = 2,
    FPE_FLTDIV___57 = 3,
    FPE_FLTOVF___57 = 4,
    FPE_FLTUND___57 = 5,
    FPE_FLTRES___57 = 6,
    FPE_FLTINV___57 = 7,
    FPE_FLTSUB___57 = 8
} ;
enum __anonenum_30976155___57 {
    SEGV_MAPERR___57 = 1,
    SEGV_ACCERR___57 = 2,
    SEGV_BNDERR___57 = 3,
    SEGV_PKUERR___57 = 4
} ;
enum __anonenum_1036286214___57 {
    BUS_ADRALN___57 = 1,
    BUS_ADRERR___57 = 2,
    BUS_OBJERR___57 = 3,
    BUS_MCEERR_AR___57 = 4,
    BUS_MCEERR_AO___57 = 5
} ;
enum __anonenum_493465559___57 {
    TRAP_BRKPT___57 = 1,
    TRAP_TRACE___57 = 2
} ;
enum __anonenum_23175539___57 {
    CLD_EXITED___57 = 1,
    CLD_KILLED___57 = 2,
    CLD_DUMPED___57 = 3,
    CLD_TRAPPED___57 = 4,
    CLD_STOPPED___57 = 5,
    CLD_CONTINUED___57 = 6
} ;
enum __anonenum_111643124___57 {
    POLL_IN___57 = 1,
    POLL_OUT___57 = 2,
    POLL_MSG___57 = 3,
    POLL_ERR___57 = 4,
    POLL_PRI___57 = 5,
    POLL_HUP___57 = 6
} ;
enum __anonenum_852341087___57 {
    SIGEV_SIGNAL___57 = 0,
    SIGEV_NONE___57 = 1,
    SIGEV_THREAD___57 = 2,
    SIGEV_THREAD_ID___57 = 4
} ;
enum __anonenum_451154152___57 {
    REG_R8___57 = 0,
    REG_R9___57 = 1,
    REG_R10___57 = 2,
    REG_R11___57 = 3,
    REG_R12___57 = 4,
    REG_R13___57 = 5,
    REG_R14___57 = 6,
    REG_R15___57 = 7,
    REG_RDI___57 = 8,
    REG_RSI___57 = 9,
    REG_RBP___57 = 10,
    REG_RBX___57 = 11,
    REG_RDX___57 = 12,
    REG_RAX___57 = 13,
    REG_RCX___57 = 14,
    REG_RSP___57 = 15,
    REG_RIP___57 = 16,
    REG_EFL___57 = 17,
    REG_CSGSFS___57 = 18,
    REG_ERR___57 = 19,
    REG_TRAPNO___57 = 20,
    REG_OLDMASK___57 = 21,
    REG_CR2___57 = 22
} ;
enum __anonenum_57186863___57 {
    SS_ONSTACK___57 = 1,
    SS_DISABLE___57 = 2
} ;
enum __anonenum_83571709___57 {
    MSG_OOB___57 = 1,
    MSG_PEEK___57 = 2,
    MSG_DONTROUTE___57 = 4,
    MSG_TRYHARD___57 = 4,
    MSG_CTRUNC___57 = 8,
    MSG_PROXY___57 = 16,
    MSG_TRUNC___57 = 32,
    MSG_DONTWAIT___57 = 64,
    MSG_EOR___57 = 128,
    MSG_WAITALL___57 = 256,
    MSG_FIN___57 = 512,
    MSG_SYN___57 = 1024,
    MSG_CONFIRM___57 = 2048,
    MSG_RST___57 = 4096,
    MSG_ERRQUEUE___57 = 8192,
    MSG_NOSIGNAL___57 = 16384,
    MSG_MORE___57 = 32768,
    MSG_WAITFORONE___57 = 65536,
    MSG_BATCH___57 = 262144,
    MSG_ZEROCOPY___57 = 67108864,
    MSG_FASTOPEN___57 = 536870912,
    MSG_CMSG_CLOEXEC___57 = 1073741824
} ;
enum __anonenum_617082774___57 {
    SCM_RIGHTS___57 = 1,
    SCM_CREDENTIALS___57 = 2
} ;
enum __anonenum_606441560___57 {
    SHUT_RD___57 = 0,
    SHUT_WR___57 = 1,
    SHUT_RDWR___57 = 2
} ;
enum __anonenum_681669233___57 {
    IPPROTO_IP___57 = 0,
    IPPROTO_ICMP___57 = 1,
    IPPROTO_IGMP___57 = 2,
    IPPROTO_IPIP___57 = 4,
    IPPROTO_TCP___57 = 6,
    IPPROTO_EGP___57 = 8,
    IPPROTO_PUP___57 = 12,
    IPPROTO_UDP___57 = 17,
    IPPROTO_IDP___57 = 22,
    IPPROTO_TP___57 = 29,
    IPPROTO_DCCP___57 = 33,
    IPPROTO_IPV6___57 = 41,
    IPPROTO_RSVP___57 = 46,
    IPPROTO_GRE___57 = 47,
    IPPROTO_ESP___57 = 50,
    IPPROTO_AH___57 = 51,
    IPPROTO_MTP___57 = 92,
    IPPROTO_BEETPH___57 = 94,
    IPPROTO_ENCAP___57 = 98,
    IPPROTO_PIM___57 = 103,
    IPPROTO_COMP___57 = 108,
    IPPROTO_SCTP___57 = 132,
    IPPROTO_UDPLITE___57 = 136,
    IPPROTO_MPLS___57 = 137,
    IPPROTO_RAW___57 = 255,
    IPPROTO_MAX___57 = 256
} ;
enum __anonenum_218739988___57 {
    IPPROTO_HOPOPTS___57 = 0,
    IPPROTO_ROUTING___57 = 43,
    IPPROTO_FRAGMENT___57 = 44,
    IPPROTO_ICMPV6___57 = 58,
    IPPROTO_NONE___57 = 59,
    IPPROTO_DSTOPTS___57 = 60,
    IPPROTO_MH___57 = 135
} ;
enum __anonenum_662268580___57 {
    IPPORT_ECHO___57 = 7,
    IPPORT_DISCARD___57 = 9,
    IPPORT_SYSTAT___57 = 11,
    IPPORT_DAYTIME___57 = 13,
    IPPORT_NETSTAT___57 = 15,
    IPPORT_FTP___57 = 21,
    IPPORT_TELNET___57 = 23,
    IPPORT_SMTP___57 = 25,
    IPPORT_TIMESERVER___57 = 37,
    IPPORT_NAMESERVER___57 = 42,
    IPPORT_WHOIS___57 = 43,
    IPPORT_MTP___57 = 57,
    IPPORT_TFTP___57 = 69,
    IPPORT_RJE___57 = 77,
    IPPORT_FINGER___57 = 79,
    IPPORT_TTYLINK___57 = 87,
    IPPORT_SUPDUP___57 = 95,
    IPPORT_EXECSERVER___57 = 512,
    IPPORT_LOGINSERVER___57 = 513,
    IPPORT_CMDSERVER___57 = 514,
    IPPORT_EFSSERVER___57 = 520,
    IPPORT_BIFFUDP___57 = 512,
    IPPORT_WHOSERVER___57 = 513,
    IPPORT_ROUTESERVER___57 = 520,
    IPPORT_RESERVED___57 = 1024,
    IPPORT_USERRESERVED___57 = 5000
} ;
enum __anonenum_788308992___57 {
    TCP_ESTABLISHED___57 = 1,
    TCP_SYN_SENT___57 = 2,
    TCP_SYN_RECV___57 = 3,
    TCP_FIN_WAIT1___57 = 4,
    TCP_FIN_WAIT2___57 = 5,
    TCP_TIME_WAIT___57 = 6,
    TCP_CLOSE___57 = 7,
    TCP_CLOSE_WAIT___57 = 8,
    TCP_LAST_ACK___57 = 9,
    TCP_LISTEN___57 = 10,
    TCP_CLOSING___57 = 11
} ;
enum __anonenum_221125648___57 {
    TCP_NO_QUEUE___57 = 0,
    TCP_RECV_QUEUE___57 = 1,
    TCP_SEND_QUEUE___57 = 2,
    TCP_QUEUES_NR___57 = 3
} ;
enum __anonenum_34415463___57 {
    PTHREAD_CREATE_JOINABLE___57 = 0,
    PTHREAD_CREATE_DETACHED___57 = 1
} ;
enum __anonenum_303612439___57 {
    PTHREAD_MUTEX_TIMED_NP___57 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___57 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___57 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___57 = 3,
    PTHREAD_MUTEX_NORMAL___57 = 0,
    PTHREAD_MUTEX_RECURSIVE___57 = 1,
    PTHREAD_MUTEX_ERRORCHECK___57 = 2,
    PTHREAD_MUTEX_DEFAULT___57 = 0,
    PTHREAD_MUTEX_FAST_NP___57 = 0
} ;
enum __anonenum_931900394___57 {
    PTHREAD_MUTEX_STALLED___57 = 0,
    PTHREAD_MUTEX_STALLED_NP___57 = 0,
    PTHREAD_MUTEX_ROBUST___57 = 1,
    PTHREAD_MUTEX_ROBUST_NP___57 = 1
} ;
enum __anonenum_205214487___57 {
    PTHREAD_PRIO_NONE___57 = 0,
    PTHREAD_PRIO_INHERIT___57 = 1,
    PTHREAD_PRIO_PROTECT___57 = 2
} ;
enum __anonenum_25043950___57 {
    PTHREAD_RWLOCK_PREFER_READER_NP___57 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___57 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___57 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___57 = 0
} ;
enum __anonenum_436439511___57 {
    PTHREAD_INHERIT_SCHED___57 = 0,
    PTHREAD_EXPLICIT_SCHED___57 = 1
} ;
enum __anonenum_998661166___57 {
    PTHREAD_SCOPE_SYSTEM___57 = 0,
    PTHREAD_SCOPE_PROCESS___57 = 1
} ;
enum __anonenum_146137331___57 {
    PTHREAD_PROCESS_PRIVATE___57 = 0,
    PTHREAD_PROCESS_SHARED___57 = 1
} ;
enum __anonenum_53396917___57 {
    PTHREAD_CANCEL_ENABLE___57 = 0,
    PTHREAD_CANCEL_DISABLE___57 = 1
} ;
enum __anonenum_904563783___57 {
    PTHREAD_CANCEL_DEFERRED___57 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___57 = 1
} ;
enum __anonenum_672052974___57 {
    SSL_CT_VALIDATION_PERMISSIVE___57 = 0,
    SSL_CT_VALIDATION_STRICT___57 = 1
} ;
enum __anonenum_437032235___58 {
    _PC_LINK_MAX___58 = 0,
    _PC_MAX_CANON___58 = 1,
    _PC_MAX_INPUT___58 = 2,
    _PC_NAME_MAX___58 = 3,
    _PC_PATH_MAX___58 = 4,
    _PC_PIPE_BUF___58 = 5,
    _PC_CHOWN_RESTRICTED___58 = 6,
    _PC_NO_TRUNC___58 = 7,
    _PC_VDISABLE___58 = 8,
    _PC_SYNC_IO___58 = 9,
    _PC_ASYNC_IO___58 = 10,
    _PC_PRIO_IO___58 = 11,
    _PC_SOCK_MAXBUF___58 = 12,
    _PC_FILESIZEBITS___58 = 13,
    _PC_REC_INCR_XFER_SIZE___58 = 14,
    _PC_REC_MAX_XFER_SIZE___58 = 15,
    _PC_REC_MIN_XFER_SIZE___58 = 16,
    _PC_REC_XFER_ALIGN___58 = 17,
    _PC_ALLOC_SIZE_MIN___58 = 18,
    _PC_SYMLINK_MAX___58 = 19,
    _PC_2_SYMLINKS___58 = 20
} ;
enum __anonenum_315186338___58 {
    _SC_ARG_MAX___58 = 0,
    _SC_CHILD_MAX___58 = 1,
    _SC_CLK_TCK___58 = 2,
    _SC_NGROUPS_MAX___58 = 3,
    _SC_OPEN_MAX___58 = 4,
    _SC_STREAM_MAX___58 = 5,
    _SC_TZNAME_MAX___58 = 6,
    _SC_JOB_CONTROL___58 = 7,
    _SC_SAVED_IDS___58 = 8,
    _SC_REALTIME_SIGNALS___58 = 9,
    _SC_PRIORITY_SCHEDULING___58 = 10,
    _SC_TIMERS___58 = 11,
    _SC_ASYNCHRONOUS_IO___58 = 12,
    _SC_PRIORITIZED_IO___58 = 13,
    _SC_SYNCHRONIZED_IO___58 = 14,
    _SC_FSYNC___58 = 15,
    _SC_MAPPED_FILES___58 = 16,
    _SC_MEMLOCK___58 = 17,
    _SC_MEMLOCK_RANGE___58 = 18,
    _SC_MEMORY_PROTECTION___58 = 19,
    _SC_MESSAGE_PASSING___58 = 20,
    _SC_SEMAPHORES___58 = 21,
    _SC_SHARED_MEMORY_OBJECTS___58 = 22,
    _SC_AIO_LISTIO_MAX___58 = 23,
    _SC_AIO_MAX___58 = 24,
    _SC_AIO_PRIO_DELTA_MAX___58 = 25,
    _SC_DELAYTIMER_MAX___58 = 26,
    _SC_MQ_OPEN_MAX___58 = 27,
    _SC_MQ_PRIO_MAX___58 = 28,
    _SC_VERSION___58 = 29,
    _SC_PAGESIZE___58 = 30,
    _SC_RTSIG_MAX___58 = 31,
    _SC_SEM_NSEMS_MAX___58 = 32,
    _SC_SEM_VALUE_MAX___58 = 33,
    _SC_SIGQUEUE_MAX___58 = 34,
    _SC_TIMER_MAX___58 = 35,
    _SC_BC_BASE_MAX___58 = 36,
    _SC_BC_DIM_MAX___58 = 37,
    _SC_BC_SCALE_MAX___58 = 38,
    _SC_BC_STRING_MAX___58 = 39,
    _SC_COLL_WEIGHTS_MAX___58 = 40,
    _SC_EQUIV_CLASS_MAX___58 = 41,
    _SC_EXPR_NEST_MAX___58 = 42,
    _SC_LINE_MAX___58 = 43,
    _SC_RE_DUP_MAX___58 = 44,
    _SC_CHARCLASS_NAME_MAX___58 = 45,
    _SC_2_VERSION___58 = 46,
    _SC_2_C_BIND___58 = 47,
    _SC_2_C_DEV___58 = 48,
    _SC_2_FORT_DEV___58 = 49,
    _SC_2_FORT_RUN___58 = 50,
    _SC_2_SW_DEV___58 = 51,
    _SC_2_LOCALEDEF___58 = 52,
    _SC_PII___58 = 53,
    _SC_PII_XTI___58 = 54,
    _SC_PII_SOCKET___58 = 55,
    _SC_PII_INTERNET___58 = 56,
    _SC_PII_OSI___58 = 57,
    _SC_POLL___58 = 58,
    _SC_SELECT___58 = 59,
    _SC_UIO_MAXIOV___58 = 60,
    _SC_IOV_MAX___58 = 60,
    _SC_PII_INTERNET_STREAM___58 = 61,
    _SC_PII_INTERNET_DGRAM___58 = 62,
    _SC_PII_OSI_COTS___58 = 63,
    _SC_PII_OSI_CLTS___58 = 64,
    _SC_PII_OSI_M___58 = 65,
    _SC_T_IOV_MAX___58 = 66,
    _SC_THREADS___58 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___58 = 68,
    _SC_GETGR_R_SIZE_MAX___58 = 69,
    _SC_GETPW_R_SIZE_MAX___58 = 70,
    _SC_LOGIN_NAME_MAX___58 = 71,
    _SC_TTY_NAME_MAX___58 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___58 = 73,
    _SC_THREAD_KEYS_MAX___58 = 74,
    _SC_THREAD_STACK_MIN___58 = 75,
    _SC_THREAD_THREADS_MAX___58 = 76,
    _SC_THREAD_ATTR_STACKADDR___58 = 77,
    _SC_THREAD_ATTR_STACKSIZE___58 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___58 = 79,
    _SC_THREAD_PRIO_INHERIT___58 = 80,
    _SC_THREAD_PRIO_PROTECT___58 = 81,
    _SC_THREAD_PROCESS_SHARED___58 = 82,
    _SC_NPROCESSORS_CONF___58 = 83,
    _SC_NPROCESSORS_ONLN___58 = 84,
    _SC_PHYS_PAGES___58 = 85,
    _SC_AVPHYS_PAGES___58 = 86,
    _SC_ATEXIT_MAX___58 = 87,
    _SC_PASS_MAX___58 = 88,
    _SC_XOPEN_VERSION___58 = 89,
    _SC_XOPEN_XCU_VERSION___58 = 90,
    _SC_XOPEN_UNIX___58 = 91,
    _SC_XOPEN_CRYPT___58 = 92,
    _SC_XOPEN_ENH_I18N___58 = 93,
    _SC_XOPEN_SHM___58 = 94,
    _SC_2_CHAR_TERM___58 = 95,
    _SC_2_C_VERSION___58 = 96,
    _SC_2_UPE___58 = 97,
    _SC_XOPEN_XPG2___58 = 98,
    _SC_XOPEN_XPG3___58 = 99,
    _SC_XOPEN_XPG4___58 = 100,
    _SC_CHAR_BIT___58 = 101,
    _SC_CHAR_MAX___58 = 102,
    _SC_CHAR_MIN___58 = 103,
    _SC_INT_MAX___58 = 104,
    _SC_INT_MIN___58 = 105,
    _SC_LONG_BIT___58 = 106,
    _SC_WORD_BIT___58 = 107,
    _SC_MB_LEN_MAX___58 = 108,
    _SC_NZERO___58 = 109,
    _SC_SSIZE_MAX___58 = 110,
    _SC_SCHAR_MAX___58 = 111,
    _SC_SCHAR_MIN___58 = 112,
    _SC_SHRT_MAX___58 = 113,
    _SC_SHRT_MIN___58 = 114,
    _SC_UCHAR_MAX___58 = 115,
    _SC_UINT_MAX___58 = 116,
    _SC_ULONG_MAX___58 = 117,
    _SC_USHRT_MAX___58 = 118,
    _SC_NL_ARGMAX___58 = 119,
    _SC_NL_LANGMAX___58 = 120,
    _SC_NL_MSGMAX___58 = 121,
    _SC_NL_NMAX___58 = 122,
    _SC_NL_SETMAX___58 = 123,
    _SC_NL_TEXTMAX___58 = 124,
    _SC_XBS5_ILP32_OFF32___58 = 125,
    _SC_XBS5_ILP32_OFFBIG___58 = 126,
    _SC_XBS5_LP64_OFF64___58 = 127,
    _SC_XBS5_LPBIG_OFFBIG___58 = 128,
    _SC_XOPEN_LEGACY___58 = 129,
    _SC_XOPEN_REALTIME___58 = 130,
    _SC_XOPEN_REALTIME_THREADS___58 = 131,
    _SC_ADVISORY_INFO___58 = 132,
    _SC_BARRIERS___58 = 133,
    _SC_BASE___58 = 134,
    _SC_C_LANG_SUPPORT___58 = 135,
    _SC_C_LANG_SUPPORT_R___58 = 136,
    _SC_CLOCK_SELECTION___58 = 137,
    _SC_CPUTIME___58 = 138,
    _SC_THREAD_CPUTIME___58 = 139,
    _SC_DEVICE_IO___58 = 140,
    _SC_DEVICE_SPECIFIC___58 = 141,
    _SC_DEVICE_SPECIFIC_R___58 = 142,
    _SC_FD_MGMT___58 = 143,
    _SC_FIFO___58 = 144,
    _SC_PIPE___58 = 145,
    _SC_FILE_ATTRIBUTES___58 = 146,
    _SC_FILE_LOCKING___58 = 147,
    _SC_FILE_SYSTEM___58 = 148,
    _SC_MONOTONIC_CLOCK___58 = 149,
    _SC_MULTI_PROCESS___58 = 150,
    _SC_SINGLE_PROCESS___58 = 151,
    _SC_NETWORKING___58 = 152,
    _SC_READER_WRITER_LOCKS___58 = 153,
    _SC_SPIN_LOCKS___58 = 154,
    _SC_REGEXP___58 = 155,
    _SC_REGEX_VERSION___58 = 156,
    _SC_SHELL___58 = 157,
    _SC_SIGNALS___58 = 158,
    _SC_SPAWN___58 = 159,
    _SC_SPORADIC_SERVER___58 = 160,
    _SC_THREAD_SPORADIC_SERVER___58 = 161,
    _SC_SYSTEM_DATABASE___58 = 162,
    _SC_SYSTEM_DATABASE_R___58 = 163,
    _SC_TIMEOUTS___58 = 164,
    _SC_TYPED_MEMORY_OBJECTS___58 = 165,
    _SC_USER_GROUPS___58 = 166,
    _SC_USER_GROUPS_R___58 = 167,
    _SC_2_PBS___58 = 168,
    _SC_2_PBS_ACCOUNTING___58 = 169,
    _SC_2_PBS_LOCATE___58 = 170,
    _SC_2_PBS_MESSAGE___58 = 171,
    _SC_2_PBS_TRACK___58 = 172,
    _SC_SYMLOOP_MAX___58 = 173,
    _SC_STREAMS___58 = 174,
    _SC_2_PBS_CHECKPOINT___58 = 175,
    _SC_V6_ILP32_OFF32___58 = 176,
    _SC_V6_ILP32_OFFBIG___58 = 177,
    _SC_V6_LP64_OFF64___58 = 178,
    _SC_V6_LPBIG_OFFBIG___58 = 179,
    _SC_HOST_NAME_MAX___58 = 180,
    _SC_TRACE___58 = 181,
    _SC_TRACE_EVENT_FILTER___58 = 182,
    _SC_TRACE_INHERIT___58 = 183,
    _SC_TRACE_LOG___58 = 184,
    _SC_LEVEL1_ICACHE_SIZE___58 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___58 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___58 = 187,
    _SC_LEVEL1_DCACHE_SIZE___58 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___58 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___58 = 190,
    _SC_LEVEL2_CACHE_SIZE___58 = 191,
    _SC_LEVEL2_CACHE_ASSOC___58 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___58 = 193,
    _SC_LEVEL3_CACHE_SIZE___58 = 194,
    _SC_LEVEL3_CACHE_ASSOC___58 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___58 = 196,
    _SC_LEVEL4_CACHE_SIZE___58 = 197,
    _SC_LEVEL4_CACHE_ASSOC___58 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___58 = 199,
    _SC_IPV6___58 = 235,
    _SC_RAW_SOCKETS___58 = 236,
    _SC_V7_ILP32_OFF32___58 = 237,
    _SC_V7_ILP32_OFFBIG___58 = 238,
    _SC_V7_LP64_OFF64___58 = 239,
    _SC_V7_LPBIG_OFFBIG___58 = 240,
    _SC_SS_REPL_MAX___58 = 241,
    _SC_TRACE_EVENT_NAME_MAX___58 = 242,
    _SC_TRACE_NAME_MAX___58 = 243,
    _SC_TRACE_SYS_MAX___58 = 244,
    _SC_TRACE_USER_EVENT_MAX___58 = 245,
    _SC_XOPEN_STREAMS___58 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___58 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___58 = 248
} ;
enum __anonenum_875524036___58 {
    _CS_PATH___58 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___58 = 1,
    _CS_GNU_LIBC_VERSION___58 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___58 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___58 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___58 = 5,
    _CS_LFS_CFLAGS___58 = 1000,
    _CS_LFS_LDFLAGS___58 = 1001,
    _CS_LFS_LIBS___58 = 1002,
    _CS_LFS_LINTFLAGS___58 = 1003,
    _CS_LFS64_CFLAGS___58 = 1004,
    _CS_LFS64_LDFLAGS___58 = 1005,
    _CS_LFS64_LIBS___58 = 1006,
    _CS_LFS64_LINTFLAGS___58 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___58 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___58 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___58 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___58 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___58 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___58 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___58 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___58 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___58 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___58 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___58 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___58 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___58 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___58 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___58 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___58 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___58 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___58 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___58 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___58 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___58 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___58 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___58 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___58 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___58 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___58 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___58 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___58 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___58 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___58 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___58 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___58 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___58 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___58 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___58 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___58 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___58 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___58 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___58 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___58 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___58 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___58 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___58 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___58 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___58 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___58 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___58 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___58 = 1147,
    _CS_V6_ENV___58 = 1148,
    _CS_V7_ENV___58 = 1149
} ;
enum __anonenum_513775621___58 {
    DT_UNKNOWN___58 = 0,
    DT_FIFO___58 = 1,
    DT_CHR___58 = 2,
    DT_DIR___58 = 4,
    DT_BLK___58 = 6,
    DT_REG___58 = 8,
    DT_LNK___58 = 10,
    DT_SOCK___58 = 12,
    DT_WHT___58 = 14
} ;
enum __anonenum_77002343___58 {
    SI_ASYNCNL___58 = -60,
    SI_TKILL___58 = -6,
    SI_SIGIO___58 = -5,
    SI_ASYNCIO___58 = -4,
    SI_MESGQ___58 = -3,
    SI_TIMER___58 = -2,
    SI_QUEUE___58 = -1,
    SI_USER___58 = 0,
    SI_KERNEL___58 = 128
} ;
enum __anonenum_131038172___58 {
    ILL_ILLOPC___58 = 1,
    ILL_ILLOPN___58 = 2,
    ILL_ILLADR___58 = 3,
    ILL_ILLTRP___58 = 4,
    ILL_PRVOPC___58 = 5,
    ILL_PRVREG___58 = 6,
    ILL_COPROC___58 = 7,
    ILL_BADSTK___58 = 8
} ;
enum __anonenum_452038093___58 {
    FPE_INTDIV___58 = 1,
    FPE_INTOVF___58 = 2,
    FPE_FLTDIV___58 = 3,
    FPE_FLTOVF___58 = 4,
    FPE_FLTUND___58 = 5,
    FPE_FLTRES___58 = 6,
    FPE_FLTINV___58 = 7,
    FPE_FLTSUB___58 = 8
} ;
enum __anonenum_30976155___58 {
    SEGV_MAPERR___58 = 1,
    SEGV_ACCERR___58 = 2,
    SEGV_BNDERR___58 = 3,
    SEGV_PKUERR___58 = 4
} ;
enum __anonenum_1036286214___58 {
    BUS_ADRALN___58 = 1,
    BUS_ADRERR___58 = 2,
    BUS_OBJERR___58 = 3,
    BUS_MCEERR_AR___58 = 4,
    BUS_MCEERR_AO___58 = 5
} ;
enum __anonenum_493465559___58 {
    TRAP_BRKPT___58 = 1,
    TRAP_TRACE___58 = 2
} ;
enum __anonenum_23175539___58 {
    CLD_EXITED___58 = 1,
    CLD_KILLED___58 = 2,
    CLD_DUMPED___58 = 3,
    CLD_TRAPPED___58 = 4,
    CLD_STOPPED___58 = 5,
    CLD_CONTINUED___58 = 6
} ;
enum __anonenum_111643124___58 {
    POLL_IN___58 = 1,
    POLL_OUT___58 = 2,
    POLL_MSG___58 = 3,
    POLL_ERR___58 = 4,
    POLL_PRI___58 = 5,
    POLL_HUP___58 = 6
} ;
enum __anonenum_852341087___58 {
    SIGEV_SIGNAL___58 = 0,
    SIGEV_NONE___58 = 1,
    SIGEV_THREAD___58 = 2,
    SIGEV_THREAD_ID___58 = 4
} ;
enum __anonenum_451154152___58 {
    REG_R8___58 = 0,
    REG_R9___58 = 1,
    REG_R10___58 = 2,
    REG_R11___58 = 3,
    REG_R12___58 = 4,
    REG_R13___58 = 5,
    REG_R14___58 = 6,
    REG_R15___58 = 7,
    REG_RDI___58 = 8,
    REG_RSI___58 = 9,
    REG_RBP___58 = 10,
    REG_RBX___58 = 11,
    REG_RDX___58 = 12,
    REG_RAX___58 = 13,
    REG_RCX___58 = 14,
    REG_RSP___58 = 15,
    REG_RIP___58 = 16,
    REG_EFL___58 = 17,
    REG_CSGSFS___58 = 18,
    REG_ERR___58 = 19,
    REG_TRAPNO___58 = 20,
    REG_OLDMASK___58 = 21,
    REG_CR2___58 = 22
} ;
enum __anonenum_57186863___58 {
    SS_ONSTACK___58 = 1,
    SS_DISABLE___58 = 2
} ;
enum __anonenum_83571709___58 {
    MSG_OOB___58 = 1,
    MSG_PEEK___58 = 2,
    MSG_DONTROUTE___58 = 4,
    MSG_TRYHARD___58 = 4,
    MSG_CTRUNC___58 = 8,
    MSG_PROXY___58 = 16,
    MSG_TRUNC___58 = 32,
    MSG_DONTWAIT___58 = 64,
    MSG_EOR___58 = 128,
    MSG_WAITALL___58 = 256,
    MSG_FIN___58 = 512,
    MSG_SYN___58 = 1024,
    MSG_CONFIRM___58 = 2048,
    MSG_RST___58 = 4096,
    MSG_ERRQUEUE___58 = 8192,
    MSG_NOSIGNAL___58 = 16384,
    MSG_MORE___58 = 32768,
    MSG_WAITFORONE___58 = 65536,
    MSG_BATCH___58 = 262144,
    MSG_ZEROCOPY___58 = 67108864,
    MSG_FASTOPEN___58 = 536870912,
    MSG_CMSG_CLOEXEC___58 = 1073741824
} ;
enum __anonenum_617082774___58 {
    SCM_RIGHTS___58 = 1,
    SCM_CREDENTIALS___58 = 2
} ;
enum __anonenum_606441560___58 {
    SHUT_RD___58 = 0,
    SHUT_WR___58 = 1,
    SHUT_RDWR___58 = 2
} ;
enum __anonenum_681669233___58 {
    IPPROTO_IP___58 = 0,
    IPPROTO_ICMP___58 = 1,
    IPPROTO_IGMP___58 = 2,
    IPPROTO_IPIP___58 = 4,
    IPPROTO_TCP___58 = 6,
    IPPROTO_EGP___58 = 8,
    IPPROTO_PUP___58 = 12,
    IPPROTO_UDP___58 = 17,
    IPPROTO_IDP___58 = 22,
    IPPROTO_TP___58 = 29,
    IPPROTO_DCCP___58 = 33,
    IPPROTO_IPV6___58 = 41,
    IPPROTO_RSVP___58 = 46,
    IPPROTO_GRE___58 = 47,
    IPPROTO_ESP___58 = 50,
    IPPROTO_AH___58 = 51,
    IPPROTO_MTP___58 = 92,
    IPPROTO_BEETPH___58 = 94,
    IPPROTO_ENCAP___58 = 98,
    IPPROTO_PIM___58 = 103,
    IPPROTO_COMP___58 = 108,
    IPPROTO_SCTP___58 = 132,
    IPPROTO_UDPLITE___58 = 136,
    IPPROTO_MPLS___58 = 137,
    IPPROTO_RAW___58 = 255,
    IPPROTO_MAX___58 = 256
} ;
enum __anonenum_218739988___58 {
    IPPROTO_HOPOPTS___58 = 0,
    IPPROTO_ROUTING___58 = 43,
    IPPROTO_FRAGMENT___58 = 44,
    IPPROTO_ICMPV6___58 = 58,
    IPPROTO_NONE___58 = 59,
    IPPROTO_DSTOPTS___58 = 60,
    IPPROTO_MH___58 = 135
} ;
enum __anonenum_662268580___58 {
    IPPORT_ECHO___58 = 7,
    IPPORT_DISCARD___58 = 9,
    IPPORT_SYSTAT___58 = 11,
    IPPORT_DAYTIME___58 = 13,
    IPPORT_NETSTAT___58 = 15,
    IPPORT_FTP___58 = 21,
    IPPORT_TELNET___58 = 23,
    IPPORT_SMTP___58 = 25,
    IPPORT_TIMESERVER___58 = 37,
    IPPORT_NAMESERVER___58 = 42,
    IPPORT_WHOIS___58 = 43,
    IPPORT_MTP___58 = 57,
    IPPORT_TFTP___58 = 69,
    IPPORT_RJE___58 = 77,
    IPPORT_FINGER___58 = 79,
    IPPORT_TTYLINK___58 = 87,
    IPPORT_SUPDUP___58 = 95,
    IPPORT_EXECSERVER___58 = 512,
    IPPORT_LOGINSERVER___58 = 513,
    IPPORT_CMDSERVER___58 = 514,
    IPPORT_EFSSERVER___58 = 520,
    IPPORT_BIFFUDP___58 = 512,
    IPPORT_WHOSERVER___58 = 513,
    IPPORT_ROUTESERVER___58 = 520,
    IPPORT_RESERVED___58 = 1024,
    IPPORT_USERRESERVED___58 = 5000
} ;
enum __anonenum_788308992___58 {
    TCP_ESTABLISHED___58 = 1,
    TCP_SYN_SENT___58 = 2,
    TCP_SYN_RECV___58 = 3,
    TCP_FIN_WAIT1___58 = 4,
    TCP_FIN_WAIT2___58 = 5,
    TCP_TIME_WAIT___58 = 6,
    TCP_CLOSE___58 = 7,
    TCP_CLOSE_WAIT___58 = 8,
    TCP_LAST_ACK___58 = 9,
    TCP_LISTEN___58 = 10,
    TCP_CLOSING___58 = 11
} ;
enum __anonenum_221125648___58 {
    TCP_NO_QUEUE___58 = 0,
    TCP_RECV_QUEUE___58 = 1,
    TCP_SEND_QUEUE___58 = 2,
    TCP_QUEUES_NR___58 = 3
} ;
enum __anonenum_34415463___58 {
    PTHREAD_CREATE_JOINABLE___58 = 0,
    PTHREAD_CREATE_DETACHED___58 = 1
} ;
enum __anonenum_303612439___58 {
    PTHREAD_MUTEX_TIMED_NP___58 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___58 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___58 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___58 = 3,
    PTHREAD_MUTEX_NORMAL___58 = 0,
    PTHREAD_MUTEX_RECURSIVE___58 = 1,
    PTHREAD_MUTEX_ERRORCHECK___58 = 2,
    PTHREAD_MUTEX_DEFAULT___58 = 0,
    PTHREAD_MUTEX_FAST_NP___58 = 0
} ;
enum __anonenum_931900394___58 {
    PTHREAD_MUTEX_STALLED___58 = 0,
    PTHREAD_MUTEX_STALLED_NP___58 = 0,
    PTHREAD_MUTEX_ROBUST___58 = 1,
    PTHREAD_MUTEX_ROBUST_NP___58 = 1
} ;
enum __anonenum_205214487___58 {
    PTHREAD_PRIO_NONE___58 = 0,
    PTHREAD_PRIO_INHERIT___58 = 1,
    PTHREAD_PRIO_PROTECT___58 = 2
} ;
enum __anonenum_25043950___58 {
    PTHREAD_RWLOCK_PREFER_READER_NP___58 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___58 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___58 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___58 = 0
} ;
enum __anonenum_436439511___58 {
    PTHREAD_INHERIT_SCHED___58 = 0,
    PTHREAD_EXPLICIT_SCHED___58 = 1
} ;
enum __anonenum_998661166___58 {
    PTHREAD_SCOPE_SYSTEM___58 = 0,
    PTHREAD_SCOPE_PROCESS___58 = 1
} ;
enum __anonenum_146137331___58 {
    PTHREAD_PROCESS_PRIVATE___58 = 0,
    PTHREAD_PROCESS_SHARED___58 = 1
} ;
enum __anonenum_53396917___58 {
    PTHREAD_CANCEL_ENABLE___58 = 0,
    PTHREAD_CANCEL_DISABLE___58 = 1
} ;
enum __anonenum_904563783___58 {
    PTHREAD_CANCEL_DEFERRED___58 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___58 = 1
} ;
enum __anonenum_672052974___58 {
    SSL_CT_VALIDATION_PERMISSIVE___58 = 0,
    SSL_CT_VALIDATION_STRICT___58 = 1
} ;
enum iterator_selection {
    ITER_SELECT_DONE = -1,
    ITER_SELECT_ERROR = -2,
    ITER_CURRENT_SELECTION_MASK = 1,
    ITER_CURRENT_SELECTION_0 = 0,
    ITER_CURRENT_SELECTION_1 = 1,
    ITER_YIELD_CURRENT = 2,
    ITER_SKIP_SECONDARY = 4,
    ITER_SELECT_0 = 2,
    ITER_SELECT_0_SKIP_1 = 6,
    ITER_SKIP_0 = 5,
    ITER_SELECT_1 = 3,
    ITER_SELECT_1_SKIP_0 = 7,
    ITER_SKIP_1 = 4
} ;
struct dir_iterator {
   struct strbuf path ;
   char const   *relative_path ;
   char const   *__xpg_basename ;
   struct stat st ;
};
struct dir_iterator_level {
   DIR *dir ;
   size_t prefix_len ;
};
struct dir_iterator_int {
   struct dir_iterator base ;
   size_t levels_nr ;
   size_t levels_alloc ;
   struct dir_iterator_level *levels ;
   unsigned int flags ;
};
enum __anonenum_437032235___59 {
    _PC_LINK_MAX___59 = 0,
    _PC_MAX_CANON___59 = 1,
    _PC_MAX_INPUT___59 = 2,
    _PC_NAME_MAX___59 = 3,
    _PC_PATH_MAX___59 = 4,
    _PC_PIPE_BUF___59 = 5,
    _PC_CHOWN_RESTRICTED___59 = 6,
    _PC_NO_TRUNC___59 = 7,
    _PC_VDISABLE___59 = 8,
    _PC_SYNC_IO___59 = 9,
    _PC_ASYNC_IO___59 = 10,
    _PC_PRIO_IO___59 = 11,
    _PC_SOCK_MAXBUF___59 = 12,
    _PC_FILESIZEBITS___59 = 13,
    _PC_REC_INCR_XFER_SIZE___59 = 14,
    _PC_REC_MAX_XFER_SIZE___59 = 15,
    _PC_REC_MIN_XFER_SIZE___59 = 16,
    _PC_REC_XFER_ALIGN___59 = 17,
    _PC_ALLOC_SIZE_MIN___59 = 18,
    _PC_SYMLINK_MAX___59 = 19,
    _PC_2_SYMLINKS___59 = 20
} ;
enum __anonenum_315186338___59 {
    _SC_ARG_MAX___59 = 0,
    _SC_CHILD_MAX___59 = 1,
    _SC_CLK_TCK___59 = 2,
    _SC_NGROUPS_MAX___59 = 3,
    _SC_OPEN_MAX___59 = 4,
    _SC_STREAM_MAX___59 = 5,
    _SC_TZNAME_MAX___59 = 6,
    _SC_JOB_CONTROL___59 = 7,
    _SC_SAVED_IDS___59 = 8,
    _SC_REALTIME_SIGNALS___59 = 9,
    _SC_PRIORITY_SCHEDULING___59 = 10,
    _SC_TIMERS___59 = 11,
    _SC_ASYNCHRONOUS_IO___59 = 12,
    _SC_PRIORITIZED_IO___59 = 13,
    _SC_SYNCHRONIZED_IO___59 = 14,
    _SC_FSYNC___59 = 15,
    _SC_MAPPED_FILES___59 = 16,
    _SC_MEMLOCK___59 = 17,
    _SC_MEMLOCK_RANGE___59 = 18,
    _SC_MEMORY_PROTECTION___59 = 19,
    _SC_MESSAGE_PASSING___59 = 20,
    _SC_SEMAPHORES___59 = 21,
    _SC_SHARED_MEMORY_OBJECTS___59 = 22,
    _SC_AIO_LISTIO_MAX___59 = 23,
    _SC_AIO_MAX___59 = 24,
    _SC_AIO_PRIO_DELTA_MAX___59 = 25,
    _SC_DELAYTIMER_MAX___59 = 26,
    _SC_MQ_OPEN_MAX___59 = 27,
    _SC_MQ_PRIO_MAX___59 = 28,
    _SC_VERSION___59 = 29,
    _SC_PAGESIZE___59 = 30,
    _SC_RTSIG_MAX___59 = 31,
    _SC_SEM_NSEMS_MAX___59 = 32,
    _SC_SEM_VALUE_MAX___59 = 33,
    _SC_SIGQUEUE_MAX___59 = 34,
    _SC_TIMER_MAX___59 = 35,
    _SC_BC_BASE_MAX___59 = 36,
    _SC_BC_DIM_MAX___59 = 37,
    _SC_BC_SCALE_MAX___59 = 38,
    _SC_BC_STRING_MAX___59 = 39,
    _SC_COLL_WEIGHTS_MAX___59 = 40,
    _SC_EQUIV_CLASS_MAX___59 = 41,
    _SC_EXPR_NEST_MAX___59 = 42,
    _SC_LINE_MAX___59 = 43,
    _SC_RE_DUP_MAX___59 = 44,
    _SC_CHARCLASS_NAME_MAX___59 = 45,
    _SC_2_VERSION___59 = 46,
    _SC_2_C_BIND___59 = 47,
    _SC_2_C_DEV___59 = 48,
    _SC_2_FORT_DEV___59 = 49,
    _SC_2_FORT_RUN___59 = 50,
    _SC_2_SW_DEV___59 = 51,
    _SC_2_LOCALEDEF___59 = 52,
    _SC_PII___59 = 53,
    _SC_PII_XTI___59 = 54,
    _SC_PII_SOCKET___59 = 55,
    _SC_PII_INTERNET___59 = 56,
    _SC_PII_OSI___59 = 57,
    _SC_POLL___59 = 58,
    _SC_SELECT___59 = 59,
    _SC_UIO_MAXIOV___59 = 60,
    _SC_IOV_MAX___59 = 60,
    _SC_PII_INTERNET_STREAM___59 = 61,
    _SC_PII_INTERNET_DGRAM___59 = 62,
    _SC_PII_OSI_COTS___59 = 63,
    _SC_PII_OSI_CLTS___59 = 64,
    _SC_PII_OSI_M___59 = 65,
    _SC_T_IOV_MAX___59 = 66,
    _SC_THREADS___59 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___59 = 68,
    _SC_GETGR_R_SIZE_MAX___59 = 69,
    _SC_GETPW_R_SIZE_MAX___59 = 70,
    _SC_LOGIN_NAME_MAX___59 = 71,
    _SC_TTY_NAME_MAX___59 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___59 = 73,
    _SC_THREAD_KEYS_MAX___59 = 74,
    _SC_THREAD_STACK_MIN___59 = 75,
    _SC_THREAD_THREADS_MAX___59 = 76,
    _SC_THREAD_ATTR_STACKADDR___59 = 77,
    _SC_THREAD_ATTR_STACKSIZE___59 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___59 = 79,
    _SC_THREAD_PRIO_INHERIT___59 = 80,
    _SC_THREAD_PRIO_PROTECT___59 = 81,
    _SC_THREAD_PROCESS_SHARED___59 = 82,
    _SC_NPROCESSORS_CONF___59 = 83,
    _SC_NPROCESSORS_ONLN___59 = 84,
    _SC_PHYS_PAGES___59 = 85,
    _SC_AVPHYS_PAGES___59 = 86,
    _SC_ATEXIT_MAX___59 = 87,
    _SC_PASS_MAX___59 = 88,
    _SC_XOPEN_VERSION___59 = 89,
    _SC_XOPEN_XCU_VERSION___59 = 90,
    _SC_XOPEN_UNIX___59 = 91,
    _SC_XOPEN_CRYPT___59 = 92,
    _SC_XOPEN_ENH_I18N___59 = 93,
    _SC_XOPEN_SHM___59 = 94,
    _SC_2_CHAR_TERM___59 = 95,
    _SC_2_C_VERSION___59 = 96,
    _SC_2_UPE___59 = 97,
    _SC_XOPEN_XPG2___59 = 98,
    _SC_XOPEN_XPG3___59 = 99,
    _SC_XOPEN_XPG4___59 = 100,
    _SC_CHAR_BIT___59 = 101,
    _SC_CHAR_MAX___59 = 102,
    _SC_CHAR_MIN___59 = 103,
    _SC_INT_MAX___59 = 104,
    _SC_INT_MIN___59 = 105,
    _SC_LONG_BIT___59 = 106,
    _SC_WORD_BIT___59 = 107,
    _SC_MB_LEN_MAX___59 = 108,
    _SC_NZERO___59 = 109,
    _SC_SSIZE_MAX___59 = 110,
    _SC_SCHAR_MAX___59 = 111,
    _SC_SCHAR_MIN___59 = 112,
    _SC_SHRT_MAX___59 = 113,
    _SC_SHRT_MIN___59 = 114,
    _SC_UCHAR_MAX___59 = 115,
    _SC_UINT_MAX___59 = 116,
    _SC_ULONG_MAX___59 = 117,
    _SC_USHRT_MAX___59 = 118,
    _SC_NL_ARGMAX___59 = 119,
    _SC_NL_LANGMAX___59 = 120,
    _SC_NL_MSGMAX___59 = 121,
    _SC_NL_NMAX___59 = 122,
    _SC_NL_SETMAX___59 = 123,
    _SC_NL_TEXTMAX___59 = 124,
    _SC_XBS5_ILP32_OFF32___59 = 125,
    _SC_XBS5_ILP32_OFFBIG___59 = 126,
    _SC_XBS5_LP64_OFF64___59 = 127,
    _SC_XBS5_LPBIG_OFFBIG___59 = 128,
    _SC_XOPEN_LEGACY___59 = 129,
    _SC_XOPEN_REALTIME___59 = 130,
    _SC_XOPEN_REALTIME_THREADS___59 = 131,
    _SC_ADVISORY_INFO___59 = 132,
    _SC_BARRIERS___59 = 133,
    _SC_BASE___59 = 134,
    _SC_C_LANG_SUPPORT___59 = 135,
    _SC_C_LANG_SUPPORT_R___59 = 136,
    _SC_CLOCK_SELECTION___59 = 137,
    _SC_CPUTIME___59 = 138,
    _SC_THREAD_CPUTIME___59 = 139,
    _SC_DEVICE_IO___59 = 140,
    _SC_DEVICE_SPECIFIC___59 = 141,
    _SC_DEVICE_SPECIFIC_R___59 = 142,
    _SC_FD_MGMT___59 = 143,
    _SC_FIFO___59 = 144,
    _SC_PIPE___59 = 145,
    _SC_FILE_ATTRIBUTES___59 = 146,
    _SC_FILE_LOCKING___59 = 147,
    _SC_FILE_SYSTEM___59 = 148,
    _SC_MONOTONIC_CLOCK___59 = 149,
    _SC_MULTI_PROCESS___59 = 150,
    _SC_SINGLE_PROCESS___59 = 151,
    _SC_NETWORKING___59 = 152,
    _SC_READER_WRITER_LOCKS___59 = 153,
    _SC_SPIN_LOCKS___59 = 154,
    _SC_REGEXP___59 = 155,
    _SC_REGEX_VERSION___59 = 156,
    _SC_SHELL___59 = 157,
    _SC_SIGNALS___59 = 158,
    _SC_SPAWN___59 = 159,
    _SC_SPORADIC_SERVER___59 = 160,
    _SC_THREAD_SPORADIC_SERVER___59 = 161,
    _SC_SYSTEM_DATABASE___59 = 162,
    _SC_SYSTEM_DATABASE_R___59 = 163,
    _SC_TIMEOUTS___59 = 164,
    _SC_TYPED_MEMORY_OBJECTS___59 = 165,
    _SC_USER_GROUPS___59 = 166,
    _SC_USER_GROUPS_R___59 = 167,
    _SC_2_PBS___59 = 168,
    _SC_2_PBS_ACCOUNTING___59 = 169,
    _SC_2_PBS_LOCATE___59 = 170,
    _SC_2_PBS_MESSAGE___59 = 171,
    _SC_2_PBS_TRACK___59 = 172,
    _SC_SYMLOOP_MAX___59 = 173,
    _SC_STREAMS___59 = 174,
    _SC_2_PBS_CHECKPOINT___59 = 175,
    _SC_V6_ILP32_OFF32___59 = 176,
    _SC_V6_ILP32_OFFBIG___59 = 177,
    _SC_V6_LP64_OFF64___59 = 178,
    _SC_V6_LPBIG_OFFBIG___59 = 179,
    _SC_HOST_NAME_MAX___59 = 180,
    _SC_TRACE___59 = 181,
    _SC_TRACE_EVENT_FILTER___59 = 182,
    _SC_TRACE_INHERIT___59 = 183,
    _SC_TRACE_LOG___59 = 184,
    _SC_LEVEL1_ICACHE_SIZE___59 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___59 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___59 = 187,
    _SC_LEVEL1_DCACHE_SIZE___59 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___59 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___59 = 190,
    _SC_LEVEL2_CACHE_SIZE___59 = 191,
    _SC_LEVEL2_CACHE_ASSOC___59 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___59 = 193,
    _SC_LEVEL3_CACHE_SIZE___59 = 194,
    _SC_LEVEL3_CACHE_ASSOC___59 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___59 = 196,
    _SC_LEVEL4_CACHE_SIZE___59 = 197,
    _SC_LEVEL4_CACHE_ASSOC___59 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___59 = 199,
    _SC_IPV6___59 = 235,
    _SC_RAW_SOCKETS___59 = 236,
    _SC_V7_ILP32_OFF32___59 = 237,
    _SC_V7_ILP32_OFFBIG___59 = 238,
    _SC_V7_LP64_OFF64___59 = 239,
    _SC_V7_LPBIG_OFFBIG___59 = 240,
    _SC_SS_REPL_MAX___59 = 241,
    _SC_TRACE_EVENT_NAME_MAX___59 = 242,
    _SC_TRACE_NAME_MAX___59 = 243,
    _SC_TRACE_SYS_MAX___59 = 244,
    _SC_TRACE_USER_EVENT_MAX___59 = 245,
    _SC_XOPEN_STREAMS___59 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___59 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___59 = 248
} ;
enum __anonenum_875524036___59 {
    _CS_PATH___59 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___59 = 1,
    _CS_GNU_LIBC_VERSION___59 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___59 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___59 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___59 = 5,
    _CS_LFS_CFLAGS___59 = 1000,
    _CS_LFS_LDFLAGS___59 = 1001,
    _CS_LFS_LIBS___59 = 1002,
    _CS_LFS_LINTFLAGS___59 = 1003,
    _CS_LFS64_CFLAGS___59 = 1004,
    _CS_LFS64_LDFLAGS___59 = 1005,
    _CS_LFS64_LIBS___59 = 1006,
    _CS_LFS64_LINTFLAGS___59 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___59 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___59 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___59 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___59 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___59 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___59 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___59 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___59 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___59 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___59 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___59 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___59 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___59 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___59 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___59 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___59 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___59 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___59 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___59 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___59 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___59 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___59 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___59 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___59 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___59 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___59 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___59 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___59 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___59 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___59 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___59 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___59 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___59 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___59 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___59 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___59 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___59 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___59 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___59 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___59 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___59 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___59 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___59 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___59 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___59 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___59 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___59 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___59 = 1147,
    _CS_V6_ENV___59 = 1148,
    _CS_V7_ENV___59 = 1149
} ;
enum __anonenum_513775621___59 {
    DT_UNKNOWN___59 = 0,
    DT_FIFO___59 = 1,
    DT_CHR___59 = 2,
    DT_DIR___59 = 4,
    DT_BLK___59 = 6,
    DT_REG___59 = 8,
    DT_LNK___59 = 10,
    DT_SOCK___59 = 12,
    DT_WHT___59 = 14
} ;
enum __anonenum_77002343___59 {
    SI_ASYNCNL___59 = -60,
    SI_TKILL___59 = -6,
    SI_SIGIO___59 = -5,
    SI_ASYNCIO___59 = -4,
    SI_MESGQ___59 = -3,
    SI_TIMER___59 = -2,
    SI_QUEUE___59 = -1,
    SI_USER___59 = 0,
    SI_KERNEL___59 = 128
} ;
enum __anonenum_131038172___59 {
    ILL_ILLOPC___59 = 1,
    ILL_ILLOPN___59 = 2,
    ILL_ILLADR___59 = 3,
    ILL_ILLTRP___59 = 4,
    ILL_PRVOPC___59 = 5,
    ILL_PRVREG___59 = 6,
    ILL_COPROC___59 = 7,
    ILL_BADSTK___59 = 8
} ;
enum __anonenum_452038093___59 {
    FPE_INTDIV___59 = 1,
    FPE_INTOVF___59 = 2,
    FPE_FLTDIV___59 = 3,
    FPE_FLTOVF___59 = 4,
    FPE_FLTUND___59 = 5,
    FPE_FLTRES___59 = 6,
    FPE_FLTINV___59 = 7,
    FPE_FLTSUB___59 = 8
} ;
enum __anonenum_30976155___59 {
    SEGV_MAPERR___59 = 1,
    SEGV_ACCERR___59 = 2,
    SEGV_BNDERR___59 = 3,
    SEGV_PKUERR___59 = 4
} ;
enum __anonenum_1036286214___59 {
    BUS_ADRALN___59 = 1,
    BUS_ADRERR___59 = 2,
    BUS_OBJERR___59 = 3,
    BUS_MCEERR_AR___59 = 4,
    BUS_MCEERR_AO___59 = 5
} ;
enum __anonenum_493465559___59 {
    TRAP_BRKPT___59 = 1,
    TRAP_TRACE___59 = 2
} ;
enum __anonenum_23175539___59 {
    CLD_EXITED___59 = 1,
    CLD_KILLED___59 = 2,
    CLD_DUMPED___59 = 3,
    CLD_TRAPPED___59 = 4,
    CLD_STOPPED___59 = 5,
    CLD_CONTINUED___59 = 6
} ;
enum __anonenum_111643124___59 {
    POLL_IN___59 = 1,
    POLL_OUT___59 = 2,
    POLL_MSG___59 = 3,
    POLL_ERR___59 = 4,
    POLL_PRI___59 = 5,
    POLL_HUP___59 = 6
} ;
enum __anonenum_852341087___59 {
    SIGEV_SIGNAL___59 = 0,
    SIGEV_NONE___59 = 1,
    SIGEV_THREAD___59 = 2,
    SIGEV_THREAD_ID___59 = 4
} ;
enum __anonenum_451154152___59 {
    REG_R8___59 = 0,
    REG_R9___59 = 1,
    REG_R10___59 = 2,
    REG_R11___59 = 3,
    REG_R12___59 = 4,
    REG_R13___59 = 5,
    REG_R14___59 = 6,
    REG_R15___59 = 7,
    REG_RDI___59 = 8,
    REG_RSI___59 = 9,
    REG_RBP___59 = 10,
    REG_RBX___59 = 11,
    REG_RDX___59 = 12,
    REG_RAX___59 = 13,
    REG_RCX___59 = 14,
    REG_RSP___59 = 15,
    REG_RIP___59 = 16,
    REG_EFL___59 = 17,
    REG_CSGSFS___59 = 18,
    REG_ERR___59 = 19,
    REG_TRAPNO___59 = 20,
    REG_OLDMASK___59 = 21,
    REG_CR2___59 = 22
} ;
enum __anonenum_57186863___59 {
    SS_ONSTACK___59 = 1,
    SS_DISABLE___59 = 2
} ;
enum __anonenum_83571709___59 {
    MSG_OOB___59 = 1,
    MSG_PEEK___59 = 2,
    MSG_DONTROUTE___59 = 4,
    MSG_TRYHARD___59 = 4,
    MSG_CTRUNC___59 = 8,
    MSG_PROXY___59 = 16,
    MSG_TRUNC___59 = 32,
    MSG_DONTWAIT___59 = 64,
    MSG_EOR___59 = 128,
    MSG_WAITALL___59 = 256,
    MSG_FIN___59 = 512,
    MSG_SYN___59 = 1024,
    MSG_CONFIRM___59 = 2048,
    MSG_RST___59 = 4096,
    MSG_ERRQUEUE___59 = 8192,
    MSG_NOSIGNAL___59 = 16384,
    MSG_MORE___59 = 32768,
    MSG_WAITFORONE___59 = 65536,
    MSG_BATCH___59 = 262144,
    MSG_ZEROCOPY___59 = 67108864,
    MSG_FASTOPEN___59 = 536870912,
    MSG_CMSG_CLOEXEC___59 = 1073741824
} ;
enum __anonenum_617082774___59 {
    SCM_RIGHTS___59 = 1,
    SCM_CREDENTIALS___59 = 2
} ;
enum __anonenum_606441560___59 {
    SHUT_RD___59 = 0,
    SHUT_WR___59 = 1,
    SHUT_RDWR___59 = 2
} ;
enum __anonenum_681669233___59 {
    IPPROTO_IP___59 = 0,
    IPPROTO_ICMP___59 = 1,
    IPPROTO_IGMP___59 = 2,
    IPPROTO_IPIP___59 = 4,
    IPPROTO_TCP___59 = 6,
    IPPROTO_EGP___59 = 8,
    IPPROTO_PUP___59 = 12,
    IPPROTO_UDP___59 = 17,
    IPPROTO_IDP___59 = 22,
    IPPROTO_TP___59 = 29,
    IPPROTO_DCCP___59 = 33,
    IPPROTO_IPV6___59 = 41,
    IPPROTO_RSVP___59 = 46,
    IPPROTO_GRE___59 = 47,
    IPPROTO_ESP___59 = 50,
    IPPROTO_AH___59 = 51,
    IPPROTO_MTP___59 = 92,
    IPPROTO_BEETPH___59 = 94,
    IPPROTO_ENCAP___59 = 98,
    IPPROTO_PIM___59 = 103,
    IPPROTO_COMP___59 = 108,
    IPPROTO_SCTP___59 = 132,
    IPPROTO_UDPLITE___59 = 136,
    IPPROTO_MPLS___59 = 137,
    IPPROTO_RAW___59 = 255,
    IPPROTO_MAX___59 = 256
} ;
enum __anonenum_218739988___59 {
    IPPROTO_HOPOPTS___59 = 0,
    IPPROTO_ROUTING___59 = 43,
    IPPROTO_FRAGMENT___59 = 44,
    IPPROTO_ICMPV6___59 = 58,
    IPPROTO_NONE___59 = 59,
    IPPROTO_DSTOPTS___59 = 60,
    IPPROTO_MH___59 = 135
} ;
enum __anonenum_662268580___59 {
    IPPORT_ECHO___59 = 7,
    IPPORT_DISCARD___59 = 9,
    IPPORT_SYSTAT___59 = 11,
    IPPORT_DAYTIME___59 = 13,
    IPPORT_NETSTAT___59 = 15,
    IPPORT_FTP___59 = 21,
    IPPORT_TELNET___59 = 23,
    IPPORT_SMTP___59 = 25,
    IPPORT_TIMESERVER___59 = 37,
    IPPORT_NAMESERVER___59 = 42,
    IPPORT_WHOIS___59 = 43,
    IPPORT_MTP___59 = 57,
    IPPORT_TFTP___59 = 69,
    IPPORT_RJE___59 = 77,
    IPPORT_FINGER___59 = 79,
    IPPORT_TTYLINK___59 = 87,
    IPPORT_SUPDUP___59 = 95,
    IPPORT_EXECSERVER___59 = 512,
    IPPORT_LOGINSERVER___59 = 513,
    IPPORT_CMDSERVER___59 = 514,
    IPPORT_EFSSERVER___59 = 520,
    IPPORT_BIFFUDP___59 = 512,
    IPPORT_WHOSERVER___59 = 513,
    IPPORT_ROUTESERVER___59 = 520,
    IPPORT_RESERVED___59 = 1024,
    IPPORT_USERRESERVED___59 = 5000
} ;
enum __anonenum_788308992___59 {
    TCP_ESTABLISHED___59 = 1,
    TCP_SYN_SENT___59 = 2,
    TCP_SYN_RECV___59 = 3,
    TCP_FIN_WAIT1___59 = 4,
    TCP_FIN_WAIT2___59 = 5,
    TCP_TIME_WAIT___59 = 6,
    TCP_CLOSE___59 = 7,
    TCP_CLOSE_WAIT___59 = 8,
    TCP_LAST_ACK___59 = 9,
    TCP_LISTEN___59 = 10,
    TCP_CLOSING___59 = 11
} ;
enum __anonenum_221125648___59 {
    TCP_NO_QUEUE___59 = 0,
    TCP_RECV_QUEUE___59 = 1,
    TCP_SEND_QUEUE___59 = 2,
    TCP_QUEUES_NR___59 = 3
} ;
enum __anonenum_34415463___59 {
    PTHREAD_CREATE_JOINABLE___59 = 0,
    PTHREAD_CREATE_DETACHED___59 = 1
} ;
enum __anonenum_303612439___59 {
    PTHREAD_MUTEX_TIMED_NP___59 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___59 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___59 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___59 = 3,
    PTHREAD_MUTEX_NORMAL___59 = 0,
    PTHREAD_MUTEX_RECURSIVE___59 = 1,
    PTHREAD_MUTEX_ERRORCHECK___59 = 2,
    PTHREAD_MUTEX_DEFAULT___59 = 0,
    PTHREAD_MUTEX_FAST_NP___59 = 0
} ;
enum __anonenum_931900394___59 {
    PTHREAD_MUTEX_STALLED___59 = 0,
    PTHREAD_MUTEX_STALLED_NP___59 = 0,
    PTHREAD_MUTEX_ROBUST___59 = 1,
    PTHREAD_MUTEX_ROBUST_NP___59 = 1
} ;
enum __anonenum_205214487___59 {
    PTHREAD_PRIO_NONE___59 = 0,
    PTHREAD_PRIO_INHERIT___59 = 1,
    PTHREAD_PRIO_PROTECT___59 = 2
} ;
enum __anonenum_25043950___59 {
    PTHREAD_RWLOCK_PREFER_READER_NP___59 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___59 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___59 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___59 = 0
} ;
enum __anonenum_436439511___59 {
    PTHREAD_INHERIT_SCHED___59 = 0,
    PTHREAD_EXPLICIT_SCHED___59 = 1
} ;
enum __anonenum_998661166___59 {
    PTHREAD_SCOPE_SYSTEM___59 = 0,
    PTHREAD_SCOPE_PROCESS___59 = 1
} ;
enum __anonenum_146137331___59 {
    PTHREAD_PROCESS_PRIVATE___59 = 0,
    PTHREAD_PROCESS_SHARED___59 = 1
} ;
enum __anonenum_53396917___59 {
    PTHREAD_CANCEL_ENABLE___59 = 0,
    PTHREAD_CANCEL_DISABLE___59 = 1
} ;
enum __anonenum_904563783___59 {
    PTHREAD_CANCEL_DEFERRED___59 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___59 = 1
} ;
enum __anonenum_672052974___59 {
    SSL_CT_VALIDATION_PERMISSIVE___59 = 0,
    SSL_CT_VALIDATION_STRICT___59 = 1
} ;
enum __anonenum_561748495___1 {
    RECURSE_SUBMODULES_ONLY___1 = -5,
    RECURSE_SUBMODULES_CHECK___1 = -4,
    RECURSE_SUBMODULES_ERROR___1 = -3,
    RECURSE_SUBMODULES_NONE___1 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___1 = -1,
    RECURSE_SUBMODULES_OFF___1 = 0,
    RECURSE_SUBMODULES_DEFAULT___1 = 1,
    RECURSE_SUBMODULES_ON___1 = 2
} ;
enum path_treatment {
    path_none = 0,
    path_recurse = 1,
    path_excluded = 2,
    path_untracked = 3
} ;
struct cached_dir {
   DIR *fdir ;
   struct untracked_cache_dir *untracked ;
   int nr_files ;
   int nr_dirs ;
   char const   *d_name ;
   int d_type ;
   char const   *file ;
   struct untracked_cache_dir *ucd ;
};
enum exist_status {
    index_nonexistent = 0,
    index_directory = 1,
    index_gitdir = 2
} ;
struct ondisk_untracked_cache {
   struct stat_data info_exclude_stat ;
   struct stat_data excludes_file_stat ;
   uint32_t dir_flags ;
};
struct write_data {
   int index ;
   struct ewah_bitmap *check_only ;
   struct ewah_bitmap *valid ;
   struct ewah_bitmap *sha1_valid ;
   struct strbuf out ;
   struct strbuf sb_stat ;
   struct strbuf sb_sha1 ;
};
struct read_data {
   int index ;
   struct untracked_cache_dir **ucd ;
   struct ewah_bitmap *check_only ;
   struct ewah_bitmap *valid ;
   struct ewah_bitmap *sha1_valid ;
   unsigned char const   *data ;
   unsigned char const   *end ;
};
enum __anonenum_437032235___60 {
    _PC_LINK_MAX___60 = 0,
    _PC_MAX_CANON___60 = 1,
    _PC_MAX_INPUT___60 = 2,
    _PC_NAME_MAX___60 = 3,
    _PC_PATH_MAX___60 = 4,
    _PC_PIPE_BUF___60 = 5,
    _PC_CHOWN_RESTRICTED___60 = 6,
    _PC_NO_TRUNC___60 = 7,
    _PC_VDISABLE___60 = 8,
    _PC_SYNC_IO___60 = 9,
    _PC_ASYNC_IO___60 = 10,
    _PC_PRIO_IO___60 = 11,
    _PC_SOCK_MAXBUF___60 = 12,
    _PC_FILESIZEBITS___60 = 13,
    _PC_REC_INCR_XFER_SIZE___60 = 14,
    _PC_REC_MAX_XFER_SIZE___60 = 15,
    _PC_REC_MIN_XFER_SIZE___60 = 16,
    _PC_REC_XFER_ALIGN___60 = 17,
    _PC_ALLOC_SIZE_MIN___60 = 18,
    _PC_SYMLINK_MAX___60 = 19,
    _PC_2_SYMLINKS___60 = 20
} ;
enum __anonenum_315186338___60 {
    _SC_ARG_MAX___60 = 0,
    _SC_CHILD_MAX___60 = 1,
    _SC_CLK_TCK___60 = 2,
    _SC_NGROUPS_MAX___60 = 3,
    _SC_OPEN_MAX___60 = 4,
    _SC_STREAM_MAX___60 = 5,
    _SC_TZNAME_MAX___60 = 6,
    _SC_JOB_CONTROL___60 = 7,
    _SC_SAVED_IDS___60 = 8,
    _SC_REALTIME_SIGNALS___60 = 9,
    _SC_PRIORITY_SCHEDULING___60 = 10,
    _SC_TIMERS___60 = 11,
    _SC_ASYNCHRONOUS_IO___60 = 12,
    _SC_PRIORITIZED_IO___60 = 13,
    _SC_SYNCHRONIZED_IO___60 = 14,
    _SC_FSYNC___60 = 15,
    _SC_MAPPED_FILES___60 = 16,
    _SC_MEMLOCK___60 = 17,
    _SC_MEMLOCK_RANGE___60 = 18,
    _SC_MEMORY_PROTECTION___60 = 19,
    _SC_MESSAGE_PASSING___60 = 20,
    _SC_SEMAPHORES___60 = 21,
    _SC_SHARED_MEMORY_OBJECTS___60 = 22,
    _SC_AIO_LISTIO_MAX___60 = 23,
    _SC_AIO_MAX___60 = 24,
    _SC_AIO_PRIO_DELTA_MAX___60 = 25,
    _SC_DELAYTIMER_MAX___60 = 26,
    _SC_MQ_OPEN_MAX___60 = 27,
    _SC_MQ_PRIO_MAX___60 = 28,
    _SC_VERSION___60 = 29,
    _SC_PAGESIZE___60 = 30,
    _SC_RTSIG_MAX___60 = 31,
    _SC_SEM_NSEMS_MAX___60 = 32,
    _SC_SEM_VALUE_MAX___60 = 33,
    _SC_SIGQUEUE_MAX___60 = 34,
    _SC_TIMER_MAX___60 = 35,
    _SC_BC_BASE_MAX___60 = 36,
    _SC_BC_DIM_MAX___60 = 37,
    _SC_BC_SCALE_MAX___60 = 38,
    _SC_BC_STRING_MAX___60 = 39,
    _SC_COLL_WEIGHTS_MAX___60 = 40,
    _SC_EQUIV_CLASS_MAX___60 = 41,
    _SC_EXPR_NEST_MAX___60 = 42,
    _SC_LINE_MAX___60 = 43,
    _SC_RE_DUP_MAX___60 = 44,
    _SC_CHARCLASS_NAME_MAX___60 = 45,
    _SC_2_VERSION___60 = 46,
    _SC_2_C_BIND___60 = 47,
    _SC_2_C_DEV___60 = 48,
    _SC_2_FORT_DEV___60 = 49,
    _SC_2_FORT_RUN___60 = 50,
    _SC_2_SW_DEV___60 = 51,
    _SC_2_LOCALEDEF___60 = 52,
    _SC_PII___60 = 53,
    _SC_PII_XTI___60 = 54,
    _SC_PII_SOCKET___60 = 55,
    _SC_PII_INTERNET___60 = 56,
    _SC_PII_OSI___60 = 57,
    _SC_POLL___60 = 58,
    _SC_SELECT___60 = 59,
    _SC_UIO_MAXIOV___60 = 60,
    _SC_IOV_MAX___60 = 60,
    _SC_PII_INTERNET_STREAM___60 = 61,
    _SC_PII_INTERNET_DGRAM___60 = 62,
    _SC_PII_OSI_COTS___60 = 63,
    _SC_PII_OSI_CLTS___60 = 64,
    _SC_PII_OSI_M___60 = 65,
    _SC_T_IOV_MAX___60 = 66,
    _SC_THREADS___60 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___60 = 68,
    _SC_GETGR_R_SIZE_MAX___60 = 69,
    _SC_GETPW_R_SIZE_MAX___60 = 70,
    _SC_LOGIN_NAME_MAX___60 = 71,
    _SC_TTY_NAME_MAX___60 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___60 = 73,
    _SC_THREAD_KEYS_MAX___60 = 74,
    _SC_THREAD_STACK_MIN___60 = 75,
    _SC_THREAD_THREADS_MAX___60 = 76,
    _SC_THREAD_ATTR_STACKADDR___60 = 77,
    _SC_THREAD_ATTR_STACKSIZE___60 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___60 = 79,
    _SC_THREAD_PRIO_INHERIT___60 = 80,
    _SC_THREAD_PRIO_PROTECT___60 = 81,
    _SC_THREAD_PROCESS_SHARED___60 = 82,
    _SC_NPROCESSORS_CONF___60 = 83,
    _SC_NPROCESSORS_ONLN___60 = 84,
    _SC_PHYS_PAGES___60 = 85,
    _SC_AVPHYS_PAGES___60 = 86,
    _SC_ATEXIT_MAX___60 = 87,
    _SC_PASS_MAX___60 = 88,
    _SC_XOPEN_VERSION___60 = 89,
    _SC_XOPEN_XCU_VERSION___60 = 90,
    _SC_XOPEN_UNIX___60 = 91,
    _SC_XOPEN_CRYPT___60 = 92,
    _SC_XOPEN_ENH_I18N___60 = 93,
    _SC_XOPEN_SHM___60 = 94,
    _SC_2_CHAR_TERM___60 = 95,
    _SC_2_C_VERSION___60 = 96,
    _SC_2_UPE___60 = 97,
    _SC_XOPEN_XPG2___60 = 98,
    _SC_XOPEN_XPG3___60 = 99,
    _SC_XOPEN_XPG4___60 = 100,
    _SC_CHAR_BIT___60 = 101,
    _SC_CHAR_MAX___60 = 102,
    _SC_CHAR_MIN___60 = 103,
    _SC_INT_MAX___60 = 104,
    _SC_INT_MIN___60 = 105,
    _SC_LONG_BIT___60 = 106,
    _SC_WORD_BIT___60 = 107,
    _SC_MB_LEN_MAX___60 = 108,
    _SC_NZERO___60 = 109,
    _SC_SSIZE_MAX___60 = 110,
    _SC_SCHAR_MAX___60 = 111,
    _SC_SCHAR_MIN___60 = 112,
    _SC_SHRT_MAX___60 = 113,
    _SC_SHRT_MIN___60 = 114,
    _SC_UCHAR_MAX___60 = 115,
    _SC_UINT_MAX___60 = 116,
    _SC_ULONG_MAX___60 = 117,
    _SC_USHRT_MAX___60 = 118,
    _SC_NL_ARGMAX___60 = 119,
    _SC_NL_LANGMAX___60 = 120,
    _SC_NL_MSGMAX___60 = 121,
    _SC_NL_NMAX___60 = 122,
    _SC_NL_SETMAX___60 = 123,
    _SC_NL_TEXTMAX___60 = 124,
    _SC_XBS5_ILP32_OFF32___60 = 125,
    _SC_XBS5_ILP32_OFFBIG___60 = 126,
    _SC_XBS5_LP64_OFF64___60 = 127,
    _SC_XBS5_LPBIG_OFFBIG___60 = 128,
    _SC_XOPEN_LEGACY___60 = 129,
    _SC_XOPEN_REALTIME___60 = 130,
    _SC_XOPEN_REALTIME_THREADS___60 = 131,
    _SC_ADVISORY_INFO___60 = 132,
    _SC_BARRIERS___60 = 133,
    _SC_BASE___60 = 134,
    _SC_C_LANG_SUPPORT___60 = 135,
    _SC_C_LANG_SUPPORT_R___60 = 136,
    _SC_CLOCK_SELECTION___60 = 137,
    _SC_CPUTIME___60 = 138,
    _SC_THREAD_CPUTIME___60 = 139,
    _SC_DEVICE_IO___60 = 140,
    _SC_DEVICE_SPECIFIC___60 = 141,
    _SC_DEVICE_SPECIFIC_R___60 = 142,
    _SC_FD_MGMT___60 = 143,
    _SC_FIFO___60 = 144,
    _SC_PIPE___60 = 145,
    _SC_FILE_ATTRIBUTES___60 = 146,
    _SC_FILE_LOCKING___60 = 147,
    _SC_FILE_SYSTEM___60 = 148,
    _SC_MONOTONIC_CLOCK___60 = 149,
    _SC_MULTI_PROCESS___60 = 150,
    _SC_SINGLE_PROCESS___60 = 151,
    _SC_NETWORKING___60 = 152,
    _SC_READER_WRITER_LOCKS___60 = 153,
    _SC_SPIN_LOCKS___60 = 154,
    _SC_REGEXP___60 = 155,
    _SC_REGEX_VERSION___60 = 156,
    _SC_SHELL___60 = 157,
    _SC_SIGNALS___60 = 158,
    _SC_SPAWN___60 = 159,
    _SC_SPORADIC_SERVER___60 = 160,
    _SC_THREAD_SPORADIC_SERVER___60 = 161,
    _SC_SYSTEM_DATABASE___60 = 162,
    _SC_SYSTEM_DATABASE_R___60 = 163,
    _SC_TIMEOUTS___60 = 164,
    _SC_TYPED_MEMORY_OBJECTS___60 = 165,
    _SC_USER_GROUPS___60 = 166,
    _SC_USER_GROUPS_R___60 = 167,
    _SC_2_PBS___60 = 168,
    _SC_2_PBS_ACCOUNTING___60 = 169,
    _SC_2_PBS_LOCATE___60 = 170,
    _SC_2_PBS_MESSAGE___60 = 171,
    _SC_2_PBS_TRACK___60 = 172,
    _SC_SYMLOOP_MAX___60 = 173,
    _SC_STREAMS___60 = 174,
    _SC_2_PBS_CHECKPOINT___60 = 175,
    _SC_V6_ILP32_OFF32___60 = 176,
    _SC_V6_ILP32_OFFBIG___60 = 177,
    _SC_V6_LP64_OFF64___60 = 178,
    _SC_V6_LPBIG_OFFBIG___60 = 179,
    _SC_HOST_NAME_MAX___60 = 180,
    _SC_TRACE___60 = 181,
    _SC_TRACE_EVENT_FILTER___60 = 182,
    _SC_TRACE_INHERIT___60 = 183,
    _SC_TRACE_LOG___60 = 184,
    _SC_LEVEL1_ICACHE_SIZE___60 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___60 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___60 = 187,
    _SC_LEVEL1_DCACHE_SIZE___60 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___60 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___60 = 190,
    _SC_LEVEL2_CACHE_SIZE___60 = 191,
    _SC_LEVEL2_CACHE_ASSOC___60 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___60 = 193,
    _SC_LEVEL3_CACHE_SIZE___60 = 194,
    _SC_LEVEL3_CACHE_ASSOC___60 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___60 = 196,
    _SC_LEVEL4_CACHE_SIZE___60 = 197,
    _SC_LEVEL4_CACHE_ASSOC___60 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___60 = 199,
    _SC_IPV6___60 = 235,
    _SC_RAW_SOCKETS___60 = 236,
    _SC_V7_ILP32_OFF32___60 = 237,
    _SC_V7_ILP32_OFFBIG___60 = 238,
    _SC_V7_LP64_OFF64___60 = 239,
    _SC_V7_LPBIG_OFFBIG___60 = 240,
    _SC_SS_REPL_MAX___60 = 241,
    _SC_TRACE_EVENT_NAME_MAX___60 = 242,
    _SC_TRACE_NAME_MAX___60 = 243,
    _SC_TRACE_SYS_MAX___60 = 244,
    _SC_TRACE_USER_EVENT_MAX___60 = 245,
    _SC_XOPEN_STREAMS___60 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___60 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___60 = 248
} ;
enum __anonenum_875524036___60 {
    _CS_PATH___60 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___60 = 1,
    _CS_GNU_LIBC_VERSION___60 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___60 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___60 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___60 = 5,
    _CS_LFS_CFLAGS___60 = 1000,
    _CS_LFS_LDFLAGS___60 = 1001,
    _CS_LFS_LIBS___60 = 1002,
    _CS_LFS_LINTFLAGS___60 = 1003,
    _CS_LFS64_CFLAGS___60 = 1004,
    _CS_LFS64_LDFLAGS___60 = 1005,
    _CS_LFS64_LIBS___60 = 1006,
    _CS_LFS64_LINTFLAGS___60 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___60 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___60 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___60 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___60 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___60 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___60 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___60 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___60 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___60 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___60 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___60 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___60 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___60 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___60 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___60 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___60 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___60 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___60 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___60 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___60 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___60 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___60 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___60 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___60 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___60 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___60 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___60 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___60 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___60 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___60 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___60 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___60 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___60 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___60 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___60 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___60 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___60 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___60 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___60 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___60 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___60 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___60 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___60 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___60 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___60 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___60 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___60 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___60 = 1147,
    _CS_V6_ENV___60 = 1148,
    _CS_V7_ENV___60 = 1149
} ;
enum __anonenum_513775621___60 {
    DT_UNKNOWN___60 = 0,
    DT_FIFO___60 = 1,
    DT_CHR___60 = 2,
    DT_DIR___60 = 4,
    DT_BLK___60 = 6,
    DT_REG___60 = 8,
    DT_LNK___60 = 10,
    DT_SOCK___60 = 12,
    DT_WHT___60 = 14
} ;
enum __anonenum_77002343___60 {
    SI_ASYNCNL___60 = -60,
    SI_TKILL___60 = -6,
    SI_SIGIO___60 = -5,
    SI_ASYNCIO___60 = -4,
    SI_MESGQ___60 = -3,
    SI_TIMER___60 = -2,
    SI_QUEUE___60 = -1,
    SI_USER___60 = 0,
    SI_KERNEL___60 = 128
} ;
enum __anonenum_131038172___60 {
    ILL_ILLOPC___60 = 1,
    ILL_ILLOPN___60 = 2,
    ILL_ILLADR___60 = 3,
    ILL_ILLTRP___60 = 4,
    ILL_PRVOPC___60 = 5,
    ILL_PRVREG___60 = 6,
    ILL_COPROC___60 = 7,
    ILL_BADSTK___60 = 8
} ;
enum __anonenum_452038093___60 {
    FPE_INTDIV___60 = 1,
    FPE_INTOVF___60 = 2,
    FPE_FLTDIV___60 = 3,
    FPE_FLTOVF___60 = 4,
    FPE_FLTUND___60 = 5,
    FPE_FLTRES___60 = 6,
    FPE_FLTINV___60 = 7,
    FPE_FLTSUB___60 = 8
} ;
enum __anonenum_30976155___60 {
    SEGV_MAPERR___60 = 1,
    SEGV_ACCERR___60 = 2,
    SEGV_BNDERR___60 = 3,
    SEGV_PKUERR___60 = 4
} ;
enum __anonenum_1036286214___60 {
    BUS_ADRALN___60 = 1,
    BUS_ADRERR___60 = 2,
    BUS_OBJERR___60 = 3,
    BUS_MCEERR_AR___60 = 4,
    BUS_MCEERR_AO___60 = 5
} ;
enum __anonenum_493465559___60 {
    TRAP_BRKPT___60 = 1,
    TRAP_TRACE___60 = 2
} ;
enum __anonenum_23175539___60 {
    CLD_EXITED___60 = 1,
    CLD_KILLED___60 = 2,
    CLD_DUMPED___60 = 3,
    CLD_TRAPPED___60 = 4,
    CLD_STOPPED___60 = 5,
    CLD_CONTINUED___60 = 6
} ;
enum __anonenum_111643124___60 {
    POLL_IN___60 = 1,
    POLL_OUT___60 = 2,
    POLL_MSG___60 = 3,
    POLL_ERR___60 = 4,
    POLL_PRI___60 = 5,
    POLL_HUP___60 = 6
} ;
enum __anonenum_852341087___60 {
    SIGEV_SIGNAL___60 = 0,
    SIGEV_NONE___60 = 1,
    SIGEV_THREAD___60 = 2,
    SIGEV_THREAD_ID___60 = 4
} ;
enum __anonenum_451154152___60 {
    REG_R8___60 = 0,
    REG_R9___60 = 1,
    REG_R10___60 = 2,
    REG_R11___60 = 3,
    REG_R12___60 = 4,
    REG_R13___60 = 5,
    REG_R14___60 = 6,
    REG_R15___60 = 7,
    REG_RDI___60 = 8,
    REG_RSI___60 = 9,
    REG_RBP___60 = 10,
    REG_RBX___60 = 11,
    REG_RDX___60 = 12,
    REG_RAX___60 = 13,
    REG_RCX___60 = 14,
    REG_RSP___60 = 15,
    REG_RIP___60 = 16,
    REG_EFL___60 = 17,
    REG_CSGSFS___60 = 18,
    REG_ERR___60 = 19,
    REG_TRAPNO___60 = 20,
    REG_OLDMASK___60 = 21,
    REG_CR2___60 = 22
} ;
enum __anonenum_57186863___60 {
    SS_ONSTACK___60 = 1,
    SS_DISABLE___60 = 2
} ;
enum __anonenum_83571709___60 {
    MSG_OOB___60 = 1,
    MSG_PEEK___60 = 2,
    MSG_DONTROUTE___60 = 4,
    MSG_TRYHARD___60 = 4,
    MSG_CTRUNC___60 = 8,
    MSG_PROXY___60 = 16,
    MSG_TRUNC___60 = 32,
    MSG_DONTWAIT___60 = 64,
    MSG_EOR___60 = 128,
    MSG_WAITALL___60 = 256,
    MSG_FIN___60 = 512,
    MSG_SYN___60 = 1024,
    MSG_CONFIRM___60 = 2048,
    MSG_RST___60 = 4096,
    MSG_ERRQUEUE___60 = 8192,
    MSG_NOSIGNAL___60 = 16384,
    MSG_MORE___60 = 32768,
    MSG_WAITFORONE___60 = 65536,
    MSG_BATCH___60 = 262144,
    MSG_ZEROCOPY___60 = 67108864,
    MSG_FASTOPEN___60 = 536870912,
    MSG_CMSG_CLOEXEC___60 = 1073741824
} ;
enum __anonenum_617082774___60 {
    SCM_RIGHTS___60 = 1,
    SCM_CREDENTIALS___60 = 2
} ;
enum __anonenum_606441560___60 {
    SHUT_RD___60 = 0,
    SHUT_WR___60 = 1,
    SHUT_RDWR___60 = 2
} ;
enum __anonenum_681669233___60 {
    IPPROTO_IP___60 = 0,
    IPPROTO_ICMP___60 = 1,
    IPPROTO_IGMP___60 = 2,
    IPPROTO_IPIP___60 = 4,
    IPPROTO_TCP___60 = 6,
    IPPROTO_EGP___60 = 8,
    IPPROTO_PUP___60 = 12,
    IPPROTO_UDP___60 = 17,
    IPPROTO_IDP___60 = 22,
    IPPROTO_TP___60 = 29,
    IPPROTO_DCCP___60 = 33,
    IPPROTO_IPV6___60 = 41,
    IPPROTO_RSVP___60 = 46,
    IPPROTO_GRE___60 = 47,
    IPPROTO_ESP___60 = 50,
    IPPROTO_AH___60 = 51,
    IPPROTO_MTP___60 = 92,
    IPPROTO_BEETPH___60 = 94,
    IPPROTO_ENCAP___60 = 98,
    IPPROTO_PIM___60 = 103,
    IPPROTO_COMP___60 = 108,
    IPPROTO_SCTP___60 = 132,
    IPPROTO_UDPLITE___60 = 136,
    IPPROTO_MPLS___60 = 137,
    IPPROTO_RAW___60 = 255,
    IPPROTO_MAX___60 = 256
} ;
enum __anonenum_218739988___60 {
    IPPROTO_HOPOPTS___60 = 0,
    IPPROTO_ROUTING___60 = 43,
    IPPROTO_FRAGMENT___60 = 44,
    IPPROTO_ICMPV6___60 = 58,
    IPPROTO_NONE___60 = 59,
    IPPROTO_DSTOPTS___60 = 60,
    IPPROTO_MH___60 = 135
} ;
enum __anonenum_662268580___60 {
    IPPORT_ECHO___60 = 7,
    IPPORT_DISCARD___60 = 9,
    IPPORT_SYSTAT___60 = 11,
    IPPORT_DAYTIME___60 = 13,
    IPPORT_NETSTAT___60 = 15,
    IPPORT_FTP___60 = 21,
    IPPORT_TELNET___60 = 23,
    IPPORT_SMTP___60 = 25,
    IPPORT_TIMESERVER___60 = 37,
    IPPORT_NAMESERVER___60 = 42,
    IPPORT_WHOIS___60 = 43,
    IPPORT_MTP___60 = 57,
    IPPORT_TFTP___60 = 69,
    IPPORT_RJE___60 = 77,
    IPPORT_FINGER___60 = 79,
    IPPORT_TTYLINK___60 = 87,
    IPPORT_SUPDUP___60 = 95,
    IPPORT_EXECSERVER___60 = 512,
    IPPORT_LOGINSERVER___60 = 513,
    IPPORT_CMDSERVER___60 = 514,
    IPPORT_EFSSERVER___60 = 520,
    IPPORT_BIFFUDP___60 = 512,
    IPPORT_WHOSERVER___60 = 513,
    IPPORT_ROUTESERVER___60 = 520,
    IPPORT_RESERVED___60 = 1024,
    IPPORT_USERRESERVED___60 = 5000
} ;
enum __anonenum_788308992___60 {
    TCP_ESTABLISHED___60 = 1,
    TCP_SYN_SENT___60 = 2,
    TCP_SYN_RECV___60 = 3,
    TCP_FIN_WAIT1___60 = 4,
    TCP_FIN_WAIT2___60 = 5,
    TCP_TIME_WAIT___60 = 6,
    TCP_CLOSE___60 = 7,
    TCP_CLOSE_WAIT___60 = 8,
    TCP_LAST_ACK___60 = 9,
    TCP_LISTEN___60 = 10,
    TCP_CLOSING___60 = 11
} ;
enum __anonenum_221125648___60 {
    TCP_NO_QUEUE___60 = 0,
    TCP_RECV_QUEUE___60 = 1,
    TCP_SEND_QUEUE___60 = 2,
    TCP_QUEUES_NR___60 = 3
} ;
enum __anonenum_34415463___60 {
    PTHREAD_CREATE_JOINABLE___60 = 0,
    PTHREAD_CREATE_DETACHED___60 = 1
} ;
enum __anonenum_303612439___60 {
    PTHREAD_MUTEX_TIMED_NP___60 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___60 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___60 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___60 = 3,
    PTHREAD_MUTEX_NORMAL___60 = 0,
    PTHREAD_MUTEX_RECURSIVE___60 = 1,
    PTHREAD_MUTEX_ERRORCHECK___60 = 2,
    PTHREAD_MUTEX_DEFAULT___60 = 0,
    PTHREAD_MUTEX_FAST_NP___60 = 0
} ;
enum __anonenum_931900394___60 {
    PTHREAD_MUTEX_STALLED___60 = 0,
    PTHREAD_MUTEX_STALLED_NP___60 = 0,
    PTHREAD_MUTEX_ROBUST___60 = 1,
    PTHREAD_MUTEX_ROBUST_NP___60 = 1
} ;
enum __anonenum_205214487___60 {
    PTHREAD_PRIO_NONE___60 = 0,
    PTHREAD_PRIO_INHERIT___60 = 1,
    PTHREAD_PRIO_PROTECT___60 = 2
} ;
enum __anonenum_25043950___60 {
    PTHREAD_RWLOCK_PREFER_READER_NP___60 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___60 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___60 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___60 = 0
} ;
enum __anonenum_436439511___60 {
    PTHREAD_INHERIT_SCHED___60 = 0,
    PTHREAD_EXPLICIT_SCHED___60 = 1
} ;
enum __anonenum_998661166___60 {
    PTHREAD_SCOPE_SYSTEM___60 = 0,
    PTHREAD_SCOPE_PROCESS___60 = 1
} ;
enum __anonenum_146137331___60 {
    PTHREAD_PROCESS_PRIVATE___60 = 0,
    PTHREAD_PROCESS_SHARED___60 = 1
} ;
enum __anonenum_53396917___60 {
    PTHREAD_CANCEL_ENABLE___60 = 0,
    PTHREAD_CANCEL_DISABLE___60 = 1
} ;
enum __anonenum_904563783___60 {
    PTHREAD_CANCEL_DEFERRED___60 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___60 = 1
} ;
enum __anonenum_672052974___60 {
    SSL_CT_VALIDATION_PERMISSIVE___60 = 0,
    SSL_CT_VALIDATION_STRICT___60 = 1
} ;
enum __anonenum_437032235___61 {
    _PC_LINK_MAX___61 = 0,
    _PC_MAX_CANON___61 = 1,
    _PC_MAX_INPUT___61 = 2,
    _PC_NAME_MAX___61 = 3,
    _PC_PATH_MAX___61 = 4,
    _PC_PIPE_BUF___61 = 5,
    _PC_CHOWN_RESTRICTED___61 = 6,
    _PC_NO_TRUNC___61 = 7,
    _PC_VDISABLE___61 = 8,
    _PC_SYNC_IO___61 = 9,
    _PC_ASYNC_IO___61 = 10,
    _PC_PRIO_IO___61 = 11,
    _PC_SOCK_MAXBUF___61 = 12,
    _PC_FILESIZEBITS___61 = 13,
    _PC_REC_INCR_XFER_SIZE___61 = 14,
    _PC_REC_MAX_XFER_SIZE___61 = 15,
    _PC_REC_MIN_XFER_SIZE___61 = 16,
    _PC_REC_XFER_ALIGN___61 = 17,
    _PC_ALLOC_SIZE_MIN___61 = 18,
    _PC_SYMLINK_MAX___61 = 19,
    _PC_2_SYMLINKS___61 = 20
} ;
enum __anonenum_315186338___61 {
    _SC_ARG_MAX___61 = 0,
    _SC_CHILD_MAX___61 = 1,
    _SC_CLK_TCK___61 = 2,
    _SC_NGROUPS_MAX___61 = 3,
    _SC_OPEN_MAX___61 = 4,
    _SC_STREAM_MAX___61 = 5,
    _SC_TZNAME_MAX___61 = 6,
    _SC_JOB_CONTROL___61 = 7,
    _SC_SAVED_IDS___61 = 8,
    _SC_REALTIME_SIGNALS___61 = 9,
    _SC_PRIORITY_SCHEDULING___61 = 10,
    _SC_TIMERS___61 = 11,
    _SC_ASYNCHRONOUS_IO___61 = 12,
    _SC_PRIORITIZED_IO___61 = 13,
    _SC_SYNCHRONIZED_IO___61 = 14,
    _SC_FSYNC___61 = 15,
    _SC_MAPPED_FILES___61 = 16,
    _SC_MEMLOCK___61 = 17,
    _SC_MEMLOCK_RANGE___61 = 18,
    _SC_MEMORY_PROTECTION___61 = 19,
    _SC_MESSAGE_PASSING___61 = 20,
    _SC_SEMAPHORES___61 = 21,
    _SC_SHARED_MEMORY_OBJECTS___61 = 22,
    _SC_AIO_LISTIO_MAX___61 = 23,
    _SC_AIO_MAX___61 = 24,
    _SC_AIO_PRIO_DELTA_MAX___61 = 25,
    _SC_DELAYTIMER_MAX___61 = 26,
    _SC_MQ_OPEN_MAX___61 = 27,
    _SC_MQ_PRIO_MAX___61 = 28,
    _SC_VERSION___61 = 29,
    _SC_PAGESIZE___61 = 30,
    _SC_RTSIG_MAX___61 = 31,
    _SC_SEM_NSEMS_MAX___61 = 32,
    _SC_SEM_VALUE_MAX___61 = 33,
    _SC_SIGQUEUE_MAX___61 = 34,
    _SC_TIMER_MAX___61 = 35,
    _SC_BC_BASE_MAX___61 = 36,
    _SC_BC_DIM_MAX___61 = 37,
    _SC_BC_SCALE_MAX___61 = 38,
    _SC_BC_STRING_MAX___61 = 39,
    _SC_COLL_WEIGHTS_MAX___61 = 40,
    _SC_EQUIV_CLASS_MAX___61 = 41,
    _SC_EXPR_NEST_MAX___61 = 42,
    _SC_LINE_MAX___61 = 43,
    _SC_RE_DUP_MAX___61 = 44,
    _SC_CHARCLASS_NAME_MAX___61 = 45,
    _SC_2_VERSION___61 = 46,
    _SC_2_C_BIND___61 = 47,
    _SC_2_C_DEV___61 = 48,
    _SC_2_FORT_DEV___61 = 49,
    _SC_2_FORT_RUN___61 = 50,
    _SC_2_SW_DEV___61 = 51,
    _SC_2_LOCALEDEF___61 = 52,
    _SC_PII___61 = 53,
    _SC_PII_XTI___61 = 54,
    _SC_PII_SOCKET___61 = 55,
    _SC_PII_INTERNET___61 = 56,
    _SC_PII_OSI___61 = 57,
    _SC_POLL___61 = 58,
    _SC_SELECT___61 = 59,
    _SC_UIO_MAXIOV___61 = 60,
    _SC_IOV_MAX___61 = 60,
    _SC_PII_INTERNET_STREAM___61 = 61,
    _SC_PII_INTERNET_DGRAM___61 = 62,
    _SC_PII_OSI_COTS___61 = 63,
    _SC_PII_OSI_CLTS___61 = 64,
    _SC_PII_OSI_M___61 = 65,
    _SC_T_IOV_MAX___61 = 66,
    _SC_THREADS___61 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___61 = 68,
    _SC_GETGR_R_SIZE_MAX___61 = 69,
    _SC_GETPW_R_SIZE_MAX___61 = 70,
    _SC_LOGIN_NAME_MAX___61 = 71,
    _SC_TTY_NAME_MAX___61 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___61 = 73,
    _SC_THREAD_KEYS_MAX___61 = 74,
    _SC_THREAD_STACK_MIN___61 = 75,
    _SC_THREAD_THREADS_MAX___61 = 76,
    _SC_THREAD_ATTR_STACKADDR___61 = 77,
    _SC_THREAD_ATTR_STACKSIZE___61 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___61 = 79,
    _SC_THREAD_PRIO_INHERIT___61 = 80,
    _SC_THREAD_PRIO_PROTECT___61 = 81,
    _SC_THREAD_PROCESS_SHARED___61 = 82,
    _SC_NPROCESSORS_CONF___61 = 83,
    _SC_NPROCESSORS_ONLN___61 = 84,
    _SC_PHYS_PAGES___61 = 85,
    _SC_AVPHYS_PAGES___61 = 86,
    _SC_ATEXIT_MAX___61 = 87,
    _SC_PASS_MAX___61 = 88,
    _SC_XOPEN_VERSION___61 = 89,
    _SC_XOPEN_XCU_VERSION___61 = 90,
    _SC_XOPEN_UNIX___61 = 91,
    _SC_XOPEN_CRYPT___61 = 92,
    _SC_XOPEN_ENH_I18N___61 = 93,
    _SC_XOPEN_SHM___61 = 94,
    _SC_2_CHAR_TERM___61 = 95,
    _SC_2_C_VERSION___61 = 96,
    _SC_2_UPE___61 = 97,
    _SC_XOPEN_XPG2___61 = 98,
    _SC_XOPEN_XPG3___61 = 99,
    _SC_XOPEN_XPG4___61 = 100,
    _SC_CHAR_BIT___61 = 101,
    _SC_CHAR_MAX___61 = 102,
    _SC_CHAR_MIN___61 = 103,
    _SC_INT_MAX___61 = 104,
    _SC_INT_MIN___61 = 105,
    _SC_LONG_BIT___61 = 106,
    _SC_WORD_BIT___61 = 107,
    _SC_MB_LEN_MAX___61 = 108,
    _SC_NZERO___61 = 109,
    _SC_SSIZE_MAX___61 = 110,
    _SC_SCHAR_MAX___61 = 111,
    _SC_SCHAR_MIN___61 = 112,
    _SC_SHRT_MAX___61 = 113,
    _SC_SHRT_MIN___61 = 114,
    _SC_UCHAR_MAX___61 = 115,
    _SC_UINT_MAX___61 = 116,
    _SC_ULONG_MAX___61 = 117,
    _SC_USHRT_MAX___61 = 118,
    _SC_NL_ARGMAX___61 = 119,
    _SC_NL_LANGMAX___61 = 120,
    _SC_NL_MSGMAX___61 = 121,
    _SC_NL_NMAX___61 = 122,
    _SC_NL_SETMAX___61 = 123,
    _SC_NL_TEXTMAX___61 = 124,
    _SC_XBS5_ILP32_OFF32___61 = 125,
    _SC_XBS5_ILP32_OFFBIG___61 = 126,
    _SC_XBS5_LP64_OFF64___61 = 127,
    _SC_XBS5_LPBIG_OFFBIG___61 = 128,
    _SC_XOPEN_LEGACY___61 = 129,
    _SC_XOPEN_REALTIME___61 = 130,
    _SC_XOPEN_REALTIME_THREADS___61 = 131,
    _SC_ADVISORY_INFO___61 = 132,
    _SC_BARRIERS___61 = 133,
    _SC_BASE___61 = 134,
    _SC_C_LANG_SUPPORT___61 = 135,
    _SC_C_LANG_SUPPORT_R___61 = 136,
    _SC_CLOCK_SELECTION___61 = 137,
    _SC_CPUTIME___61 = 138,
    _SC_THREAD_CPUTIME___61 = 139,
    _SC_DEVICE_IO___61 = 140,
    _SC_DEVICE_SPECIFIC___61 = 141,
    _SC_DEVICE_SPECIFIC_R___61 = 142,
    _SC_FD_MGMT___61 = 143,
    _SC_FIFO___61 = 144,
    _SC_PIPE___61 = 145,
    _SC_FILE_ATTRIBUTES___61 = 146,
    _SC_FILE_LOCKING___61 = 147,
    _SC_FILE_SYSTEM___61 = 148,
    _SC_MONOTONIC_CLOCK___61 = 149,
    _SC_MULTI_PROCESS___61 = 150,
    _SC_SINGLE_PROCESS___61 = 151,
    _SC_NETWORKING___61 = 152,
    _SC_READER_WRITER_LOCKS___61 = 153,
    _SC_SPIN_LOCKS___61 = 154,
    _SC_REGEXP___61 = 155,
    _SC_REGEX_VERSION___61 = 156,
    _SC_SHELL___61 = 157,
    _SC_SIGNALS___61 = 158,
    _SC_SPAWN___61 = 159,
    _SC_SPORADIC_SERVER___61 = 160,
    _SC_THREAD_SPORADIC_SERVER___61 = 161,
    _SC_SYSTEM_DATABASE___61 = 162,
    _SC_SYSTEM_DATABASE_R___61 = 163,
    _SC_TIMEOUTS___61 = 164,
    _SC_TYPED_MEMORY_OBJECTS___61 = 165,
    _SC_USER_GROUPS___61 = 166,
    _SC_USER_GROUPS_R___61 = 167,
    _SC_2_PBS___61 = 168,
    _SC_2_PBS_ACCOUNTING___61 = 169,
    _SC_2_PBS_LOCATE___61 = 170,
    _SC_2_PBS_MESSAGE___61 = 171,
    _SC_2_PBS_TRACK___61 = 172,
    _SC_SYMLOOP_MAX___61 = 173,
    _SC_STREAMS___61 = 174,
    _SC_2_PBS_CHECKPOINT___61 = 175,
    _SC_V6_ILP32_OFF32___61 = 176,
    _SC_V6_ILP32_OFFBIG___61 = 177,
    _SC_V6_LP64_OFF64___61 = 178,
    _SC_V6_LPBIG_OFFBIG___61 = 179,
    _SC_HOST_NAME_MAX___61 = 180,
    _SC_TRACE___61 = 181,
    _SC_TRACE_EVENT_FILTER___61 = 182,
    _SC_TRACE_INHERIT___61 = 183,
    _SC_TRACE_LOG___61 = 184,
    _SC_LEVEL1_ICACHE_SIZE___61 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___61 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___61 = 187,
    _SC_LEVEL1_DCACHE_SIZE___61 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___61 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___61 = 190,
    _SC_LEVEL2_CACHE_SIZE___61 = 191,
    _SC_LEVEL2_CACHE_ASSOC___61 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___61 = 193,
    _SC_LEVEL3_CACHE_SIZE___61 = 194,
    _SC_LEVEL3_CACHE_ASSOC___61 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___61 = 196,
    _SC_LEVEL4_CACHE_SIZE___61 = 197,
    _SC_LEVEL4_CACHE_ASSOC___61 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___61 = 199,
    _SC_IPV6___61 = 235,
    _SC_RAW_SOCKETS___61 = 236,
    _SC_V7_ILP32_OFF32___61 = 237,
    _SC_V7_ILP32_OFFBIG___61 = 238,
    _SC_V7_LP64_OFF64___61 = 239,
    _SC_V7_LPBIG_OFFBIG___61 = 240,
    _SC_SS_REPL_MAX___61 = 241,
    _SC_TRACE_EVENT_NAME_MAX___61 = 242,
    _SC_TRACE_NAME_MAX___61 = 243,
    _SC_TRACE_SYS_MAX___61 = 244,
    _SC_TRACE_USER_EVENT_MAX___61 = 245,
    _SC_XOPEN_STREAMS___61 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___61 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___61 = 248
} ;
enum __anonenum_875524036___61 {
    _CS_PATH___61 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___61 = 1,
    _CS_GNU_LIBC_VERSION___61 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___61 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___61 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___61 = 5,
    _CS_LFS_CFLAGS___61 = 1000,
    _CS_LFS_LDFLAGS___61 = 1001,
    _CS_LFS_LIBS___61 = 1002,
    _CS_LFS_LINTFLAGS___61 = 1003,
    _CS_LFS64_CFLAGS___61 = 1004,
    _CS_LFS64_LDFLAGS___61 = 1005,
    _CS_LFS64_LIBS___61 = 1006,
    _CS_LFS64_LINTFLAGS___61 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___61 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___61 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___61 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___61 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___61 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___61 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___61 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___61 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___61 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___61 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___61 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___61 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___61 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___61 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___61 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___61 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___61 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___61 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___61 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___61 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___61 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___61 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___61 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___61 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___61 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___61 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___61 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___61 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___61 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___61 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___61 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___61 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___61 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___61 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___61 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___61 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___61 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___61 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___61 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___61 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___61 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___61 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___61 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___61 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___61 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___61 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___61 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___61 = 1147,
    _CS_V6_ENV___61 = 1148,
    _CS_V7_ENV___61 = 1149
} ;
enum __anonenum_513775621___61 {
    DT_UNKNOWN___61 = 0,
    DT_FIFO___61 = 1,
    DT_CHR___61 = 2,
    DT_DIR___61 = 4,
    DT_BLK___61 = 6,
    DT_REG___61 = 8,
    DT_LNK___61 = 10,
    DT_SOCK___61 = 12,
    DT_WHT___61 = 14
} ;
enum __anonenum_77002343___61 {
    SI_ASYNCNL___61 = -60,
    SI_TKILL___61 = -6,
    SI_SIGIO___61 = -5,
    SI_ASYNCIO___61 = -4,
    SI_MESGQ___61 = -3,
    SI_TIMER___61 = -2,
    SI_QUEUE___61 = -1,
    SI_USER___61 = 0,
    SI_KERNEL___61 = 128
} ;
enum __anonenum_131038172___61 {
    ILL_ILLOPC___61 = 1,
    ILL_ILLOPN___61 = 2,
    ILL_ILLADR___61 = 3,
    ILL_ILLTRP___61 = 4,
    ILL_PRVOPC___61 = 5,
    ILL_PRVREG___61 = 6,
    ILL_COPROC___61 = 7,
    ILL_BADSTK___61 = 8
} ;
enum __anonenum_452038093___61 {
    FPE_INTDIV___61 = 1,
    FPE_INTOVF___61 = 2,
    FPE_FLTDIV___61 = 3,
    FPE_FLTOVF___61 = 4,
    FPE_FLTUND___61 = 5,
    FPE_FLTRES___61 = 6,
    FPE_FLTINV___61 = 7,
    FPE_FLTSUB___61 = 8
} ;
enum __anonenum_30976155___61 {
    SEGV_MAPERR___61 = 1,
    SEGV_ACCERR___61 = 2,
    SEGV_BNDERR___61 = 3,
    SEGV_PKUERR___61 = 4
} ;
enum __anonenum_1036286214___61 {
    BUS_ADRALN___61 = 1,
    BUS_ADRERR___61 = 2,
    BUS_OBJERR___61 = 3,
    BUS_MCEERR_AR___61 = 4,
    BUS_MCEERR_AO___61 = 5
} ;
enum __anonenum_493465559___61 {
    TRAP_BRKPT___61 = 1,
    TRAP_TRACE___61 = 2
} ;
enum __anonenum_23175539___61 {
    CLD_EXITED___61 = 1,
    CLD_KILLED___61 = 2,
    CLD_DUMPED___61 = 3,
    CLD_TRAPPED___61 = 4,
    CLD_STOPPED___61 = 5,
    CLD_CONTINUED___61 = 6
} ;
enum __anonenum_111643124___61 {
    POLL_IN___61 = 1,
    POLL_OUT___61 = 2,
    POLL_MSG___61 = 3,
    POLL_ERR___61 = 4,
    POLL_PRI___61 = 5,
    POLL_HUP___61 = 6
} ;
enum __anonenum_852341087___61 {
    SIGEV_SIGNAL___61 = 0,
    SIGEV_NONE___61 = 1,
    SIGEV_THREAD___61 = 2,
    SIGEV_THREAD_ID___61 = 4
} ;
enum __anonenum_451154152___61 {
    REG_R8___61 = 0,
    REG_R9___61 = 1,
    REG_R10___61 = 2,
    REG_R11___61 = 3,
    REG_R12___61 = 4,
    REG_R13___61 = 5,
    REG_R14___61 = 6,
    REG_R15___61 = 7,
    REG_RDI___61 = 8,
    REG_RSI___61 = 9,
    REG_RBP___61 = 10,
    REG_RBX___61 = 11,
    REG_RDX___61 = 12,
    REG_RAX___61 = 13,
    REG_RCX___61 = 14,
    REG_RSP___61 = 15,
    REG_RIP___61 = 16,
    REG_EFL___61 = 17,
    REG_CSGSFS___61 = 18,
    REG_ERR___61 = 19,
    REG_TRAPNO___61 = 20,
    REG_OLDMASK___61 = 21,
    REG_CR2___61 = 22
} ;
enum __anonenum_57186863___61 {
    SS_ONSTACK___61 = 1,
    SS_DISABLE___61 = 2
} ;
enum __anonenum_83571709___61 {
    MSG_OOB___61 = 1,
    MSG_PEEK___61 = 2,
    MSG_DONTROUTE___61 = 4,
    MSG_TRYHARD___61 = 4,
    MSG_CTRUNC___61 = 8,
    MSG_PROXY___61 = 16,
    MSG_TRUNC___61 = 32,
    MSG_DONTWAIT___61 = 64,
    MSG_EOR___61 = 128,
    MSG_WAITALL___61 = 256,
    MSG_FIN___61 = 512,
    MSG_SYN___61 = 1024,
    MSG_CONFIRM___61 = 2048,
    MSG_RST___61 = 4096,
    MSG_ERRQUEUE___61 = 8192,
    MSG_NOSIGNAL___61 = 16384,
    MSG_MORE___61 = 32768,
    MSG_WAITFORONE___61 = 65536,
    MSG_BATCH___61 = 262144,
    MSG_ZEROCOPY___61 = 67108864,
    MSG_FASTOPEN___61 = 536870912,
    MSG_CMSG_CLOEXEC___61 = 1073741824
} ;
enum __anonenum_617082774___61 {
    SCM_RIGHTS___61 = 1,
    SCM_CREDENTIALS___61 = 2
} ;
enum __anonenum_606441560___61 {
    SHUT_RD___61 = 0,
    SHUT_WR___61 = 1,
    SHUT_RDWR___61 = 2
} ;
enum __anonenum_681669233___61 {
    IPPROTO_IP___61 = 0,
    IPPROTO_ICMP___61 = 1,
    IPPROTO_IGMP___61 = 2,
    IPPROTO_IPIP___61 = 4,
    IPPROTO_TCP___61 = 6,
    IPPROTO_EGP___61 = 8,
    IPPROTO_PUP___61 = 12,
    IPPROTO_UDP___61 = 17,
    IPPROTO_IDP___61 = 22,
    IPPROTO_TP___61 = 29,
    IPPROTO_DCCP___61 = 33,
    IPPROTO_IPV6___61 = 41,
    IPPROTO_RSVP___61 = 46,
    IPPROTO_GRE___61 = 47,
    IPPROTO_ESP___61 = 50,
    IPPROTO_AH___61 = 51,
    IPPROTO_MTP___61 = 92,
    IPPROTO_BEETPH___61 = 94,
    IPPROTO_ENCAP___61 = 98,
    IPPROTO_PIM___61 = 103,
    IPPROTO_COMP___61 = 108,
    IPPROTO_SCTP___61 = 132,
    IPPROTO_UDPLITE___61 = 136,
    IPPROTO_MPLS___61 = 137,
    IPPROTO_RAW___61 = 255,
    IPPROTO_MAX___61 = 256
} ;
enum __anonenum_218739988___61 {
    IPPROTO_HOPOPTS___61 = 0,
    IPPROTO_ROUTING___61 = 43,
    IPPROTO_FRAGMENT___61 = 44,
    IPPROTO_ICMPV6___61 = 58,
    IPPROTO_NONE___61 = 59,
    IPPROTO_DSTOPTS___61 = 60,
    IPPROTO_MH___61 = 135
} ;
enum __anonenum_662268580___61 {
    IPPORT_ECHO___61 = 7,
    IPPORT_DISCARD___61 = 9,
    IPPORT_SYSTAT___61 = 11,
    IPPORT_DAYTIME___61 = 13,
    IPPORT_NETSTAT___61 = 15,
    IPPORT_FTP___61 = 21,
    IPPORT_TELNET___61 = 23,
    IPPORT_SMTP___61 = 25,
    IPPORT_TIMESERVER___61 = 37,
    IPPORT_NAMESERVER___61 = 42,
    IPPORT_WHOIS___61 = 43,
    IPPORT_MTP___61 = 57,
    IPPORT_TFTP___61 = 69,
    IPPORT_RJE___61 = 77,
    IPPORT_FINGER___61 = 79,
    IPPORT_TTYLINK___61 = 87,
    IPPORT_SUPDUP___61 = 95,
    IPPORT_EXECSERVER___61 = 512,
    IPPORT_LOGINSERVER___61 = 513,
    IPPORT_CMDSERVER___61 = 514,
    IPPORT_EFSSERVER___61 = 520,
    IPPORT_BIFFUDP___61 = 512,
    IPPORT_WHOSERVER___61 = 513,
    IPPORT_ROUTESERVER___61 = 520,
    IPPORT_RESERVED___61 = 1024,
    IPPORT_USERRESERVED___61 = 5000
} ;
enum __anonenum_788308992___61 {
    TCP_ESTABLISHED___61 = 1,
    TCP_SYN_SENT___61 = 2,
    TCP_SYN_RECV___61 = 3,
    TCP_FIN_WAIT1___61 = 4,
    TCP_FIN_WAIT2___61 = 5,
    TCP_TIME_WAIT___61 = 6,
    TCP_CLOSE___61 = 7,
    TCP_CLOSE_WAIT___61 = 8,
    TCP_LAST_ACK___61 = 9,
    TCP_LISTEN___61 = 10,
    TCP_CLOSING___61 = 11
} ;
enum __anonenum_221125648___61 {
    TCP_NO_QUEUE___61 = 0,
    TCP_RECV_QUEUE___61 = 1,
    TCP_SEND_QUEUE___61 = 2,
    TCP_QUEUES_NR___61 = 3
} ;
enum __anonenum_34415463___61 {
    PTHREAD_CREATE_JOINABLE___61 = 0,
    PTHREAD_CREATE_DETACHED___61 = 1
} ;
enum __anonenum_303612439___61 {
    PTHREAD_MUTEX_TIMED_NP___61 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___61 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___61 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___61 = 3,
    PTHREAD_MUTEX_NORMAL___61 = 0,
    PTHREAD_MUTEX_RECURSIVE___61 = 1,
    PTHREAD_MUTEX_ERRORCHECK___61 = 2,
    PTHREAD_MUTEX_DEFAULT___61 = 0,
    PTHREAD_MUTEX_FAST_NP___61 = 0
} ;
enum __anonenum_931900394___61 {
    PTHREAD_MUTEX_STALLED___61 = 0,
    PTHREAD_MUTEX_STALLED_NP___61 = 0,
    PTHREAD_MUTEX_ROBUST___61 = 1,
    PTHREAD_MUTEX_ROBUST_NP___61 = 1
} ;
enum __anonenum_205214487___61 {
    PTHREAD_PRIO_NONE___61 = 0,
    PTHREAD_PRIO_INHERIT___61 = 1,
    PTHREAD_PRIO_PROTECT___61 = 2
} ;
enum __anonenum_25043950___61 {
    PTHREAD_RWLOCK_PREFER_READER_NP___61 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___61 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___61 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___61 = 0
} ;
enum __anonenum_436439511___61 {
    PTHREAD_INHERIT_SCHED___61 = 0,
    PTHREAD_EXPLICIT_SCHED___61 = 1
} ;
enum __anonenum_998661166___61 {
    PTHREAD_SCOPE_SYSTEM___61 = 0,
    PTHREAD_SCOPE_PROCESS___61 = 1
} ;
enum __anonenum_146137331___61 {
    PTHREAD_PROCESS_PRIVATE___61 = 0,
    PTHREAD_PROCESS_SHARED___61 = 1
} ;
enum __anonenum_53396917___61 {
    PTHREAD_CANCEL_ENABLE___61 = 0,
    PTHREAD_CANCEL_DISABLE___61 = 1
} ;
enum __anonenum_904563783___61 {
    PTHREAD_CANCEL_DEFERRED___61 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___61 = 1
} ;
enum __anonenum_672052974___61 {
    SSL_CT_VALIDATION_PERMISSIVE___61 = 0,
    SSL_CT_VALIDATION_STRICT___61 = 1
} ;
enum __anonenum_561748495___2 {
    RECURSE_SUBMODULES_ONLY___2 = -5,
    RECURSE_SUBMODULES_CHECK___2 = -4,
    RECURSE_SUBMODULES_ERROR___2 = -3,
    RECURSE_SUBMODULES_NONE___2 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___2 = -1,
    RECURSE_SUBMODULES_OFF___2 = 0,
    RECURSE_SUBMODULES_DEFAULT___2 = 1,
    RECURSE_SUBMODULES_ON___2 = 2
} ;
enum pc_status {
    PC_UNINITIALIZED = 0,
    PC_ACCEPTING_ENTRIES = 1,
    PC_RUNNING = 2
} ;
enum pc_item_status {
    PC_ITEM_PENDING = 0,
    PC_ITEM_WRITTEN = 1,
    PC_ITEM_COLLIDED = 2,
    PC_ITEM_FAILED = 3
} ;
struct parallel_checkout_item {
   struct cache_entry *ce ;
   struct conv_attrs ca ;
   size_t id ;
   enum pc_item_status status ;
   struct stat st ;
};
struct pc_item_fixed_portion {
   size_t id ;
   struct object_id oid ;
   unsigned int ce_mode ;
   enum convert_crlf_action crlf_action ;
   int ident ;
   size_t working_tree_encoding_len ;
   size_t name_len ;
};
struct pc_item_result {
   size_t id ;
   enum pc_item_status status ;
   struct stat st ;
};
enum __anonenum_437032235___62 {
    _PC_LINK_MAX___62 = 0,
    _PC_MAX_CANON___62 = 1,
    _PC_MAX_INPUT___62 = 2,
    _PC_NAME_MAX___62 = 3,
    _PC_PATH_MAX___62 = 4,
    _PC_PIPE_BUF___62 = 5,
    _PC_CHOWN_RESTRICTED___62 = 6,
    _PC_NO_TRUNC___62 = 7,
    _PC_VDISABLE___62 = 8,
    _PC_SYNC_IO___62 = 9,
    _PC_ASYNC_IO___62 = 10,
    _PC_PRIO_IO___62 = 11,
    _PC_SOCK_MAXBUF___62 = 12,
    _PC_FILESIZEBITS___62 = 13,
    _PC_REC_INCR_XFER_SIZE___62 = 14,
    _PC_REC_MAX_XFER_SIZE___62 = 15,
    _PC_REC_MIN_XFER_SIZE___62 = 16,
    _PC_REC_XFER_ALIGN___62 = 17,
    _PC_ALLOC_SIZE_MIN___62 = 18,
    _PC_SYMLINK_MAX___62 = 19,
    _PC_2_SYMLINKS___62 = 20
} ;
enum __anonenum_315186338___62 {
    _SC_ARG_MAX___62 = 0,
    _SC_CHILD_MAX___62 = 1,
    _SC_CLK_TCK___62 = 2,
    _SC_NGROUPS_MAX___62 = 3,
    _SC_OPEN_MAX___62 = 4,
    _SC_STREAM_MAX___62 = 5,
    _SC_TZNAME_MAX___62 = 6,
    _SC_JOB_CONTROL___62 = 7,
    _SC_SAVED_IDS___62 = 8,
    _SC_REALTIME_SIGNALS___62 = 9,
    _SC_PRIORITY_SCHEDULING___62 = 10,
    _SC_TIMERS___62 = 11,
    _SC_ASYNCHRONOUS_IO___62 = 12,
    _SC_PRIORITIZED_IO___62 = 13,
    _SC_SYNCHRONIZED_IO___62 = 14,
    _SC_FSYNC___62 = 15,
    _SC_MAPPED_FILES___62 = 16,
    _SC_MEMLOCK___62 = 17,
    _SC_MEMLOCK_RANGE___62 = 18,
    _SC_MEMORY_PROTECTION___62 = 19,
    _SC_MESSAGE_PASSING___62 = 20,
    _SC_SEMAPHORES___62 = 21,
    _SC_SHARED_MEMORY_OBJECTS___62 = 22,
    _SC_AIO_LISTIO_MAX___62 = 23,
    _SC_AIO_MAX___62 = 24,
    _SC_AIO_PRIO_DELTA_MAX___62 = 25,
    _SC_DELAYTIMER_MAX___62 = 26,
    _SC_MQ_OPEN_MAX___62 = 27,
    _SC_MQ_PRIO_MAX___62 = 28,
    _SC_VERSION___62 = 29,
    _SC_PAGESIZE___62 = 30,
    _SC_RTSIG_MAX___62 = 31,
    _SC_SEM_NSEMS_MAX___62 = 32,
    _SC_SEM_VALUE_MAX___62 = 33,
    _SC_SIGQUEUE_MAX___62 = 34,
    _SC_TIMER_MAX___62 = 35,
    _SC_BC_BASE_MAX___62 = 36,
    _SC_BC_DIM_MAX___62 = 37,
    _SC_BC_SCALE_MAX___62 = 38,
    _SC_BC_STRING_MAX___62 = 39,
    _SC_COLL_WEIGHTS_MAX___62 = 40,
    _SC_EQUIV_CLASS_MAX___62 = 41,
    _SC_EXPR_NEST_MAX___62 = 42,
    _SC_LINE_MAX___62 = 43,
    _SC_RE_DUP_MAX___62 = 44,
    _SC_CHARCLASS_NAME_MAX___62 = 45,
    _SC_2_VERSION___62 = 46,
    _SC_2_C_BIND___62 = 47,
    _SC_2_C_DEV___62 = 48,
    _SC_2_FORT_DEV___62 = 49,
    _SC_2_FORT_RUN___62 = 50,
    _SC_2_SW_DEV___62 = 51,
    _SC_2_LOCALEDEF___62 = 52,
    _SC_PII___62 = 53,
    _SC_PII_XTI___62 = 54,
    _SC_PII_SOCKET___62 = 55,
    _SC_PII_INTERNET___62 = 56,
    _SC_PII_OSI___62 = 57,
    _SC_POLL___62 = 58,
    _SC_SELECT___62 = 59,
    _SC_UIO_MAXIOV___62 = 60,
    _SC_IOV_MAX___62 = 60,
    _SC_PII_INTERNET_STREAM___62 = 61,
    _SC_PII_INTERNET_DGRAM___62 = 62,
    _SC_PII_OSI_COTS___62 = 63,
    _SC_PII_OSI_CLTS___62 = 64,
    _SC_PII_OSI_M___62 = 65,
    _SC_T_IOV_MAX___62 = 66,
    _SC_THREADS___62 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___62 = 68,
    _SC_GETGR_R_SIZE_MAX___62 = 69,
    _SC_GETPW_R_SIZE_MAX___62 = 70,
    _SC_LOGIN_NAME_MAX___62 = 71,
    _SC_TTY_NAME_MAX___62 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___62 = 73,
    _SC_THREAD_KEYS_MAX___62 = 74,
    _SC_THREAD_STACK_MIN___62 = 75,
    _SC_THREAD_THREADS_MAX___62 = 76,
    _SC_THREAD_ATTR_STACKADDR___62 = 77,
    _SC_THREAD_ATTR_STACKSIZE___62 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___62 = 79,
    _SC_THREAD_PRIO_INHERIT___62 = 80,
    _SC_THREAD_PRIO_PROTECT___62 = 81,
    _SC_THREAD_PROCESS_SHARED___62 = 82,
    _SC_NPROCESSORS_CONF___62 = 83,
    _SC_NPROCESSORS_ONLN___62 = 84,
    _SC_PHYS_PAGES___62 = 85,
    _SC_AVPHYS_PAGES___62 = 86,
    _SC_ATEXIT_MAX___62 = 87,
    _SC_PASS_MAX___62 = 88,
    _SC_XOPEN_VERSION___62 = 89,
    _SC_XOPEN_XCU_VERSION___62 = 90,
    _SC_XOPEN_UNIX___62 = 91,
    _SC_XOPEN_CRYPT___62 = 92,
    _SC_XOPEN_ENH_I18N___62 = 93,
    _SC_XOPEN_SHM___62 = 94,
    _SC_2_CHAR_TERM___62 = 95,
    _SC_2_C_VERSION___62 = 96,
    _SC_2_UPE___62 = 97,
    _SC_XOPEN_XPG2___62 = 98,
    _SC_XOPEN_XPG3___62 = 99,
    _SC_XOPEN_XPG4___62 = 100,
    _SC_CHAR_BIT___62 = 101,
    _SC_CHAR_MAX___62 = 102,
    _SC_CHAR_MIN___62 = 103,
    _SC_INT_MAX___62 = 104,
    _SC_INT_MIN___62 = 105,
    _SC_LONG_BIT___62 = 106,
    _SC_WORD_BIT___62 = 107,
    _SC_MB_LEN_MAX___62 = 108,
    _SC_NZERO___62 = 109,
    _SC_SSIZE_MAX___62 = 110,
    _SC_SCHAR_MAX___62 = 111,
    _SC_SCHAR_MIN___62 = 112,
    _SC_SHRT_MAX___62 = 113,
    _SC_SHRT_MIN___62 = 114,
    _SC_UCHAR_MAX___62 = 115,
    _SC_UINT_MAX___62 = 116,
    _SC_ULONG_MAX___62 = 117,
    _SC_USHRT_MAX___62 = 118,
    _SC_NL_ARGMAX___62 = 119,
    _SC_NL_LANGMAX___62 = 120,
    _SC_NL_MSGMAX___62 = 121,
    _SC_NL_NMAX___62 = 122,
    _SC_NL_SETMAX___62 = 123,
    _SC_NL_TEXTMAX___62 = 124,
    _SC_XBS5_ILP32_OFF32___62 = 125,
    _SC_XBS5_ILP32_OFFBIG___62 = 126,
    _SC_XBS5_LP64_OFF64___62 = 127,
    _SC_XBS5_LPBIG_OFFBIG___62 = 128,
    _SC_XOPEN_LEGACY___62 = 129,
    _SC_XOPEN_REALTIME___62 = 130,
    _SC_XOPEN_REALTIME_THREADS___62 = 131,
    _SC_ADVISORY_INFO___62 = 132,
    _SC_BARRIERS___62 = 133,
    _SC_BASE___62 = 134,
    _SC_C_LANG_SUPPORT___62 = 135,
    _SC_C_LANG_SUPPORT_R___62 = 136,
    _SC_CLOCK_SELECTION___62 = 137,
    _SC_CPUTIME___62 = 138,
    _SC_THREAD_CPUTIME___62 = 139,
    _SC_DEVICE_IO___62 = 140,
    _SC_DEVICE_SPECIFIC___62 = 141,
    _SC_DEVICE_SPECIFIC_R___62 = 142,
    _SC_FD_MGMT___62 = 143,
    _SC_FIFO___62 = 144,
    _SC_PIPE___62 = 145,
    _SC_FILE_ATTRIBUTES___62 = 146,
    _SC_FILE_LOCKING___62 = 147,
    _SC_FILE_SYSTEM___62 = 148,
    _SC_MONOTONIC_CLOCK___62 = 149,
    _SC_MULTI_PROCESS___62 = 150,
    _SC_SINGLE_PROCESS___62 = 151,
    _SC_NETWORKING___62 = 152,
    _SC_READER_WRITER_LOCKS___62 = 153,
    _SC_SPIN_LOCKS___62 = 154,
    _SC_REGEXP___62 = 155,
    _SC_REGEX_VERSION___62 = 156,
    _SC_SHELL___62 = 157,
    _SC_SIGNALS___62 = 158,
    _SC_SPAWN___62 = 159,
    _SC_SPORADIC_SERVER___62 = 160,
    _SC_THREAD_SPORADIC_SERVER___62 = 161,
    _SC_SYSTEM_DATABASE___62 = 162,
    _SC_SYSTEM_DATABASE_R___62 = 163,
    _SC_TIMEOUTS___62 = 164,
    _SC_TYPED_MEMORY_OBJECTS___62 = 165,
    _SC_USER_GROUPS___62 = 166,
    _SC_USER_GROUPS_R___62 = 167,
    _SC_2_PBS___62 = 168,
    _SC_2_PBS_ACCOUNTING___62 = 169,
    _SC_2_PBS_LOCATE___62 = 170,
    _SC_2_PBS_MESSAGE___62 = 171,
    _SC_2_PBS_TRACK___62 = 172,
    _SC_SYMLOOP_MAX___62 = 173,
    _SC_STREAMS___62 = 174,
    _SC_2_PBS_CHECKPOINT___62 = 175,
    _SC_V6_ILP32_OFF32___62 = 176,
    _SC_V6_ILP32_OFFBIG___62 = 177,
    _SC_V6_LP64_OFF64___62 = 178,
    _SC_V6_LPBIG_OFFBIG___62 = 179,
    _SC_HOST_NAME_MAX___62 = 180,
    _SC_TRACE___62 = 181,
    _SC_TRACE_EVENT_FILTER___62 = 182,
    _SC_TRACE_INHERIT___62 = 183,
    _SC_TRACE_LOG___62 = 184,
    _SC_LEVEL1_ICACHE_SIZE___62 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___62 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___62 = 187,
    _SC_LEVEL1_DCACHE_SIZE___62 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___62 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___62 = 190,
    _SC_LEVEL2_CACHE_SIZE___62 = 191,
    _SC_LEVEL2_CACHE_ASSOC___62 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___62 = 193,
    _SC_LEVEL3_CACHE_SIZE___62 = 194,
    _SC_LEVEL3_CACHE_ASSOC___62 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___62 = 196,
    _SC_LEVEL4_CACHE_SIZE___62 = 197,
    _SC_LEVEL4_CACHE_ASSOC___62 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___62 = 199,
    _SC_IPV6___62 = 235,
    _SC_RAW_SOCKETS___62 = 236,
    _SC_V7_ILP32_OFF32___62 = 237,
    _SC_V7_ILP32_OFFBIG___62 = 238,
    _SC_V7_LP64_OFF64___62 = 239,
    _SC_V7_LPBIG_OFFBIG___62 = 240,
    _SC_SS_REPL_MAX___62 = 241,
    _SC_TRACE_EVENT_NAME_MAX___62 = 242,
    _SC_TRACE_NAME_MAX___62 = 243,
    _SC_TRACE_SYS_MAX___62 = 244,
    _SC_TRACE_USER_EVENT_MAX___62 = 245,
    _SC_XOPEN_STREAMS___62 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___62 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___62 = 248
} ;
enum __anonenum_875524036___62 {
    _CS_PATH___62 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___62 = 1,
    _CS_GNU_LIBC_VERSION___62 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___62 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___62 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___62 = 5,
    _CS_LFS_CFLAGS___62 = 1000,
    _CS_LFS_LDFLAGS___62 = 1001,
    _CS_LFS_LIBS___62 = 1002,
    _CS_LFS_LINTFLAGS___62 = 1003,
    _CS_LFS64_CFLAGS___62 = 1004,
    _CS_LFS64_LDFLAGS___62 = 1005,
    _CS_LFS64_LIBS___62 = 1006,
    _CS_LFS64_LINTFLAGS___62 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___62 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___62 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___62 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___62 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___62 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___62 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___62 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___62 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___62 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___62 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___62 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___62 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___62 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___62 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___62 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___62 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___62 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___62 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___62 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___62 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___62 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___62 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___62 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___62 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___62 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___62 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___62 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___62 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___62 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___62 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___62 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___62 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___62 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___62 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___62 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___62 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___62 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___62 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___62 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___62 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___62 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___62 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___62 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___62 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___62 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___62 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___62 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___62 = 1147,
    _CS_V6_ENV___62 = 1148,
    _CS_V7_ENV___62 = 1149
} ;
enum __anonenum_513775621___62 {
    DT_UNKNOWN___62 = 0,
    DT_FIFO___62 = 1,
    DT_CHR___62 = 2,
    DT_DIR___62 = 4,
    DT_BLK___62 = 6,
    DT_REG___62 = 8,
    DT_LNK___62 = 10,
    DT_SOCK___62 = 12,
    DT_WHT___62 = 14
} ;
enum __anonenum_77002343___62 {
    SI_ASYNCNL___62 = -60,
    SI_TKILL___62 = -6,
    SI_SIGIO___62 = -5,
    SI_ASYNCIO___62 = -4,
    SI_MESGQ___62 = -3,
    SI_TIMER___62 = -2,
    SI_QUEUE___62 = -1,
    SI_USER___62 = 0,
    SI_KERNEL___62 = 128
} ;
enum __anonenum_131038172___62 {
    ILL_ILLOPC___62 = 1,
    ILL_ILLOPN___62 = 2,
    ILL_ILLADR___62 = 3,
    ILL_ILLTRP___62 = 4,
    ILL_PRVOPC___62 = 5,
    ILL_PRVREG___62 = 6,
    ILL_COPROC___62 = 7,
    ILL_BADSTK___62 = 8
} ;
enum __anonenum_452038093___62 {
    FPE_INTDIV___62 = 1,
    FPE_INTOVF___62 = 2,
    FPE_FLTDIV___62 = 3,
    FPE_FLTOVF___62 = 4,
    FPE_FLTUND___62 = 5,
    FPE_FLTRES___62 = 6,
    FPE_FLTINV___62 = 7,
    FPE_FLTSUB___62 = 8
} ;
enum __anonenum_30976155___62 {
    SEGV_MAPERR___62 = 1,
    SEGV_ACCERR___62 = 2,
    SEGV_BNDERR___62 = 3,
    SEGV_PKUERR___62 = 4
} ;
enum __anonenum_1036286214___62 {
    BUS_ADRALN___62 = 1,
    BUS_ADRERR___62 = 2,
    BUS_OBJERR___62 = 3,
    BUS_MCEERR_AR___62 = 4,
    BUS_MCEERR_AO___62 = 5
} ;
enum __anonenum_493465559___62 {
    TRAP_BRKPT___62 = 1,
    TRAP_TRACE___62 = 2
} ;
enum __anonenum_23175539___62 {
    CLD_EXITED___62 = 1,
    CLD_KILLED___62 = 2,
    CLD_DUMPED___62 = 3,
    CLD_TRAPPED___62 = 4,
    CLD_STOPPED___62 = 5,
    CLD_CONTINUED___62 = 6
} ;
enum __anonenum_111643124___62 {
    POLL_IN___62 = 1,
    POLL_OUT___62 = 2,
    POLL_MSG___62 = 3,
    POLL_ERR___62 = 4,
    POLL_PRI___62 = 5,
    POLL_HUP___62 = 6
} ;
enum __anonenum_852341087___62 {
    SIGEV_SIGNAL___62 = 0,
    SIGEV_NONE___62 = 1,
    SIGEV_THREAD___62 = 2,
    SIGEV_THREAD_ID___62 = 4
} ;
enum __anonenum_451154152___62 {
    REG_R8___62 = 0,
    REG_R9___62 = 1,
    REG_R10___62 = 2,
    REG_R11___62 = 3,
    REG_R12___62 = 4,
    REG_R13___62 = 5,
    REG_R14___62 = 6,
    REG_R15___62 = 7,
    REG_RDI___62 = 8,
    REG_RSI___62 = 9,
    REG_RBP___62 = 10,
    REG_RBX___62 = 11,
    REG_RDX___62 = 12,
    REG_RAX___62 = 13,
    REG_RCX___62 = 14,
    REG_RSP___62 = 15,
    REG_RIP___62 = 16,
    REG_EFL___62 = 17,
    REG_CSGSFS___62 = 18,
    REG_ERR___62 = 19,
    REG_TRAPNO___62 = 20,
    REG_OLDMASK___62 = 21,
    REG_CR2___62 = 22
} ;
enum __anonenum_57186863___62 {
    SS_ONSTACK___62 = 1,
    SS_DISABLE___62 = 2
} ;
enum __anonenum_83571709___62 {
    MSG_OOB___62 = 1,
    MSG_PEEK___62 = 2,
    MSG_DONTROUTE___62 = 4,
    MSG_TRYHARD___62 = 4,
    MSG_CTRUNC___62 = 8,
    MSG_PROXY___62 = 16,
    MSG_TRUNC___62 = 32,
    MSG_DONTWAIT___62 = 64,
    MSG_EOR___62 = 128,
    MSG_WAITALL___62 = 256,
    MSG_FIN___62 = 512,
    MSG_SYN___62 = 1024,
    MSG_CONFIRM___62 = 2048,
    MSG_RST___62 = 4096,
    MSG_ERRQUEUE___62 = 8192,
    MSG_NOSIGNAL___62 = 16384,
    MSG_MORE___62 = 32768,
    MSG_WAITFORONE___62 = 65536,
    MSG_BATCH___62 = 262144,
    MSG_ZEROCOPY___62 = 67108864,
    MSG_FASTOPEN___62 = 536870912,
    MSG_CMSG_CLOEXEC___62 = 1073741824
} ;
enum __anonenum_617082774___62 {
    SCM_RIGHTS___62 = 1,
    SCM_CREDENTIALS___62 = 2
} ;
enum __anonenum_606441560___62 {
    SHUT_RD___62 = 0,
    SHUT_WR___62 = 1,
    SHUT_RDWR___62 = 2
} ;
enum __anonenum_681669233___62 {
    IPPROTO_IP___62 = 0,
    IPPROTO_ICMP___62 = 1,
    IPPROTO_IGMP___62 = 2,
    IPPROTO_IPIP___62 = 4,
    IPPROTO_TCP___62 = 6,
    IPPROTO_EGP___62 = 8,
    IPPROTO_PUP___62 = 12,
    IPPROTO_UDP___62 = 17,
    IPPROTO_IDP___62 = 22,
    IPPROTO_TP___62 = 29,
    IPPROTO_DCCP___62 = 33,
    IPPROTO_IPV6___62 = 41,
    IPPROTO_RSVP___62 = 46,
    IPPROTO_GRE___62 = 47,
    IPPROTO_ESP___62 = 50,
    IPPROTO_AH___62 = 51,
    IPPROTO_MTP___62 = 92,
    IPPROTO_BEETPH___62 = 94,
    IPPROTO_ENCAP___62 = 98,
    IPPROTO_PIM___62 = 103,
    IPPROTO_COMP___62 = 108,
    IPPROTO_SCTP___62 = 132,
    IPPROTO_UDPLITE___62 = 136,
    IPPROTO_MPLS___62 = 137,
    IPPROTO_RAW___62 = 255,
    IPPROTO_MAX___62 = 256
} ;
enum __anonenum_218739988___62 {
    IPPROTO_HOPOPTS___62 = 0,
    IPPROTO_ROUTING___62 = 43,
    IPPROTO_FRAGMENT___62 = 44,
    IPPROTO_ICMPV6___62 = 58,
    IPPROTO_NONE___62 = 59,
    IPPROTO_DSTOPTS___62 = 60,
    IPPROTO_MH___62 = 135
} ;
enum __anonenum_662268580___62 {
    IPPORT_ECHO___62 = 7,
    IPPORT_DISCARD___62 = 9,
    IPPORT_SYSTAT___62 = 11,
    IPPORT_DAYTIME___62 = 13,
    IPPORT_NETSTAT___62 = 15,
    IPPORT_FTP___62 = 21,
    IPPORT_TELNET___62 = 23,
    IPPORT_SMTP___62 = 25,
    IPPORT_TIMESERVER___62 = 37,
    IPPORT_NAMESERVER___62 = 42,
    IPPORT_WHOIS___62 = 43,
    IPPORT_MTP___62 = 57,
    IPPORT_TFTP___62 = 69,
    IPPORT_RJE___62 = 77,
    IPPORT_FINGER___62 = 79,
    IPPORT_TTYLINK___62 = 87,
    IPPORT_SUPDUP___62 = 95,
    IPPORT_EXECSERVER___62 = 512,
    IPPORT_LOGINSERVER___62 = 513,
    IPPORT_CMDSERVER___62 = 514,
    IPPORT_EFSSERVER___62 = 520,
    IPPORT_BIFFUDP___62 = 512,
    IPPORT_WHOSERVER___62 = 513,
    IPPORT_ROUTESERVER___62 = 520,
    IPPORT_RESERVED___62 = 1024,
    IPPORT_USERRESERVED___62 = 5000
} ;
enum __anonenum_788308992___62 {
    TCP_ESTABLISHED___62 = 1,
    TCP_SYN_SENT___62 = 2,
    TCP_SYN_RECV___62 = 3,
    TCP_FIN_WAIT1___62 = 4,
    TCP_FIN_WAIT2___62 = 5,
    TCP_TIME_WAIT___62 = 6,
    TCP_CLOSE___62 = 7,
    TCP_CLOSE_WAIT___62 = 8,
    TCP_LAST_ACK___62 = 9,
    TCP_LISTEN___62 = 10,
    TCP_CLOSING___62 = 11
} ;
enum __anonenum_221125648___62 {
    TCP_NO_QUEUE___62 = 0,
    TCP_RECV_QUEUE___62 = 1,
    TCP_SEND_QUEUE___62 = 2,
    TCP_QUEUES_NR___62 = 3
} ;
enum __anonenum_34415463___62 {
    PTHREAD_CREATE_JOINABLE___62 = 0,
    PTHREAD_CREATE_DETACHED___62 = 1
} ;
enum __anonenum_303612439___62 {
    PTHREAD_MUTEX_TIMED_NP___62 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___62 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___62 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___62 = 3,
    PTHREAD_MUTEX_NORMAL___62 = 0,
    PTHREAD_MUTEX_RECURSIVE___62 = 1,
    PTHREAD_MUTEX_ERRORCHECK___62 = 2,
    PTHREAD_MUTEX_DEFAULT___62 = 0,
    PTHREAD_MUTEX_FAST_NP___62 = 0
} ;
enum __anonenum_931900394___62 {
    PTHREAD_MUTEX_STALLED___62 = 0,
    PTHREAD_MUTEX_STALLED_NP___62 = 0,
    PTHREAD_MUTEX_ROBUST___62 = 1,
    PTHREAD_MUTEX_ROBUST_NP___62 = 1
} ;
enum __anonenum_205214487___62 {
    PTHREAD_PRIO_NONE___62 = 0,
    PTHREAD_PRIO_INHERIT___62 = 1,
    PTHREAD_PRIO_PROTECT___62 = 2
} ;
enum __anonenum_25043950___62 {
    PTHREAD_RWLOCK_PREFER_READER_NP___62 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___62 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___62 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___62 = 0
} ;
enum __anonenum_436439511___62 {
    PTHREAD_INHERIT_SCHED___62 = 0,
    PTHREAD_EXPLICIT_SCHED___62 = 1
} ;
enum __anonenum_998661166___62 {
    PTHREAD_SCOPE_SYSTEM___62 = 0,
    PTHREAD_SCOPE_PROCESS___62 = 1
} ;
enum __anonenum_146137331___62 {
    PTHREAD_PROCESS_PRIVATE___62 = 0,
    PTHREAD_PROCESS_SHARED___62 = 1
} ;
enum __anonenum_53396917___62 {
    PTHREAD_CANCEL_ENABLE___62 = 0,
    PTHREAD_CANCEL_DISABLE___62 = 1
} ;
enum __anonenum_904563783___62 {
    PTHREAD_CANCEL_DEFERRED___62 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___62 = 1
} ;
enum __anonenum_672052974___62 {
    SSL_CT_VALIDATION_PERMISSIVE___62 = 0,
    SSL_CT_VALIDATION_STRICT___62 = 1
} ;
struct fmt_merge_msg_opts {
   unsigned int add_title : 1 ;
   unsigned int credit_people : 1 ;
   int shortlog_len ;
   char const   *into_name ;
};
struct tmp_objdir ;
enum __anonenum_437032235___63 {
    _PC_LINK_MAX___63 = 0,
    _PC_MAX_CANON___63 = 1,
    _PC_MAX_INPUT___63 = 2,
    _PC_NAME_MAX___63 = 3,
    _PC_PATH_MAX___63 = 4,
    _PC_PIPE_BUF___63 = 5,
    _PC_CHOWN_RESTRICTED___63 = 6,
    _PC_NO_TRUNC___63 = 7,
    _PC_VDISABLE___63 = 8,
    _PC_SYNC_IO___63 = 9,
    _PC_ASYNC_IO___63 = 10,
    _PC_PRIO_IO___63 = 11,
    _PC_SOCK_MAXBUF___63 = 12,
    _PC_FILESIZEBITS___63 = 13,
    _PC_REC_INCR_XFER_SIZE___63 = 14,
    _PC_REC_MAX_XFER_SIZE___63 = 15,
    _PC_REC_MIN_XFER_SIZE___63 = 16,
    _PC_REC_XFER_ALIGN___63 = 17,
    _PC_ALLOC_SIZE_MIN___63 = 18,
    _PC_SYMLINK_MAX___63 = 19,
    _PC_2_SYMLINKS___63 = 20
} ;
enum __anonenum_315186338___63 {
    _SC_ARG_MAX___63 = 0,
    _SC_CHILD_MAX___63 = 1,
    _SC_CLK_TCK___63 = 2,
    _SC_NGROUPS_MAX___63 = 3,
    _SC_OPEN_MAX___63 = 4,
    _SC_STREAM_MAX___63 = 5,
    _SC_TZNAME_MAX___63 = 6,
    _SC_JOB_CONTROL___63 = 7,
    _SC_SAVED_IDS___63 = 8,
    _SC_REALTIME_SIGNALS___63 = 9,
    _SC_PRIORITY_SCHEDULING___63 = 10,
    _SC_TIMERS___63 = 11,
    _SC_ASYNCHRONOUS_IO___63 = 12,
    _SC_PRIORITIZED_IO___63 = 13,
    _SC_SYNCHRONIZED_IO___63 = 14,
    _SC_FSYNC___63 = 15,
    _SC_MAPPED_FILES___63 = 16,
    _SC_MEMLOCK___63 = 17,
    _SC_MEMLOCK_RANGE___63 = 18,
    _SC_MEMORY_PROTECTION___63 = 19,
    _SC_MESSAGE_PASSING___63 = 20,
    _SC_SEMAPHORES___63 = 21,
    _SC_SHARED_MEMORY_OBJECTS___63 = 22,
    _SC_AIO_LISTIO_MAX___63 = 23,
    _SC_AIO_MAX___63 = 24,
    _SC_AIO_PRIO_DELTA_MAX___63 = 25,
    _SC_DELAYTIMER_MAX___63 = 26,
    _SC_MQ_OPEN_MAX___63 = 27,
    _SC_MQ_PRIO_MAX___63 = 28,
    _SC_VERSION___63 = 29,
    _SC_PAGESIZE___63 = 30,
    _SC_RTSIG_MAX___63 = 31,
    _SC_SEM_NSEMS_MAX___63 = 32,
    _SC_SEM_VALUE_MAX___63 = 33,
    _SC_SIGQUEUE_MAX___63 = 34,
    _SC_TIMER_MAX___63 = 35,
    _SC_BC_BASE_MAX___63 = 36,
    _SC_BC_DIM_MAX___63 = 37,
    _SC_BC_SCALE_MAX___63 = 38,
    _SC_BC_STRING_MAX___63 = 39,
    _SC_COLL_WEIGHTS_MAX___63 = 40,
    _SC_EQUIV_CLASS_MAX___63 = 41,
    _SC_EXPR_NEST_MAX___63 = 42,
    _SC_LINE_MAX___63 = 43,
    _SC_RE_DUP_MAX___63 = 44,
    _SC_CHARCLASS_NAME_MAX___63 = 45,
    _SC_2_VERSION___63 = 46,
    _SC_2_C_BIND___63 = 47,
    _SC_2_C_DEV___63 = 48,
    _SC_2_FORT_DEV___63 = 49,
    _SC_2_FORT_RUN___63 = 50,
    _SC_2_SW_DEV___63 = 51,
    _SC_2_LOCALEDEF___63 = 52,
    _SC_PII___63 = 53,
    _SC_PII_XTI___63 = 54,
    _SC_PII_SOCKET___63 = 55,
    _SC_PII_INTERNET___63 = 56,
    _SC_PII_OSI___63 = 57,
    _SC_POLL___63 = 58,
    _SC_SELECT___63 = 59,
    _SC_UIO_MAXIOV___63 = 60,
    _SC_IOV_MAX___63 = 60,
    _SC_PII_INTERNET_STREAM___63 = 61,
    _SC_PII_INTERNET_DGRAM___63 = 62,
    _SC_PII_OSI_COTS___63 = 63,
    _SC_PII_OSI_CLTS___63 = 64,
    _SC_PII_OSI_M___63 = 65,
    _SC_T_IOV_MAX___63 = 66,
    _SC_THREADS___63 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___63 = 68,
    _SC_GETGR_R_SIZE_MAX___63 = 69,
    _SC_GETPW_R_SIZE_MAX___63 = 70,
    _SC_LOGIN_NAME_MAX___63 = 71,
    _SC_TTY_NAME_MAX___63 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___63 = 73,
    _SC_THREAD_KEYS_MAX___63 = 74,
    _SC_THREAD_STACK_MIN___63 = 75,
    _SC_THREAD_THREADS_MAX___63 = 76,
    _SC_THREAD_ATTR_STACKADDR___63 = 77,
    _SC_THREAD_ATTR_STACKSIZE___63 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___63 = 79,
    _SC_THREAD_PRIO_INHERIT___63 = 80,
    _SC_THREAD_PRIO_PROTECT___63 = 81,
    _SC_THREAD_PROCESS_SHARED___63 = 82,
    _SC_NPROCESSORS_CONF___63 = 83,
    _SC_NPROCESSORS_ONLN___63 = 84,
    _SC_PHYS_PAGES___63 = 85,
    _SC_AVPHYS_PAGES___63 = 86,
    _SC_ATEXIT_MAX___63 = 87,
    _SC_PASS_MAX___63 = 88,
    _SC_XOPEN_VERSION___63 = 89,
    _SC_XOPEN_XCU_VERSION___63 = 90,
    _SC_XOPEN_UNIX___63 = 91,
    _SC_XOPEN_CRYPT___63 = 92,
    _SC_XOPEN_ENH_I18N___63 = 93,
    _SC_XOPEN_SHM___63 = 94,
    _SC_2_CHAR_TERM___63 = 95,
    _SC_2_C_VERSION___63 = 96,
    _SC_2_UPE___63 = 97,
    _SC_XOPEN_XPG2___63 = 98,
    _SC_XOPEN_XPG3___63 = 99,
    _SC_XOPEN_XPG4___63 = 100,
    _SC_CHAR_BIT___63 = 101,
    _SC_CHAR_MAX___63 = 102,
    _SC_CHAR_MIN___63 = 103,
    _SC_INT_MAX___63 = 104,
    _SC_INT_MIN___63 = 105,
    _SC_LONG_BIT___63 = 106,
    _SC_WORD_BIT___63 = 107,
    _SC_MB_LEN_MAX___63 = 108,
    _SC_NZERO___63 = 109,
    _SC_SSIZE_MAX___63 = 110,
    _SC_SCHAR_MAX___63 = 111,
    _SC_SCHAR_MIN___63 = 112,
    _SC_SHRT_MAX___63 = 113,
    _SC_SHRT_MIN___63 = 114,
    _SC_UCHAR_MAX___63 = 115,
    _SC_UINT_MAX___63 = 116,
    _SC_ULONG_MAX___63 = 117,
    _SC_USHRT_MAX___63 = 118,
    _SC_NL_ARGMAX___63 = 119,
    _SC_NL_LANGMAX___63 = 120,
    _SC_NL_MSGMAX___63 = 121,
    _SC_NL_NMAX___63 = 122,
    _SC_NL_SETMAX___63 = 123,
    _SC_NL_TEXTMAX___63 = 124,
    _SC_XBS5_ILP32_OFF32___63 = 125,
    _SC_XBS5_ILP32_OFFBIG___63 = 126,
    _SC_XBS5_LP64_OFF64___63 = 127,
    _SC_XBS5_LPBIG_OFFBIG___63 = 128,
    _SC_XOPEN_LEGACY___63 = 129,
    _SC_XOPEN_REALTIME___63 = 130,
    _SC_XOPEN_REALTIME_THREADS___63 = 131,
    _SC_ADVISORY_INFO___63 = 132,
    _SC_BARRIERS___63 = 133,
    _SC_BASE___63 = 134,
    _SC_C_LANG_SUPPORT___63 = 135,
    _SC_C_LANG_SUPPORT_R___63 = 136,
    _SC_CLOCK_SELECTION___63 = 137,
    _SC_CPUTIME___63 = 138,
    _SC_THREAD_CPUTIME___63 = 139,
    _SC_DEVICE_IO___63 = 140,
    _SC_DEVICE_SPECIFIC___63 = 141,
    _SC_DEVICE_SPECIFIC_R___63 = 142,
    _SC_FD_MGMT___63 = 143,
    _SC_FIFO___63 = 144,
    _SC_PIPE___63 = 145,
    _SC_FILE_ATTRIBUTES___63 = 146,
    _SC_FILE_LOCKING___63 = 147,
    _SC_FILE_SYSTEM___63 = 148,
    _SC_MONOTONIC_CLOCK___63 = 149,
    _SC_MULTI_PROCESS___63 = 150,
    _SC_SINGLE_PROCESS___63 = 151,
    _SC_NETWORKING___63 = 152,
    _SC_READER_WRITER_LOCKS___63 = 153,
    _SC_SPIN_LOCKS___63 = 154,
    _SC_REGEXP___63 = 155,
    _SC_REGEX_VERSION___63 = 156,
    _SC_SHELL___63 = 157,
    _SC_SIGNALS___63 = 158,
    _SC_SPAWN___63 = 159,
    _SC_SPORADIC_SERVER___63 = 160,
    _SC_THREAD_SPORADIC_SERVER___63 = 161,
    _SC_SYSTEM_DATABASE___63 = 162,
    _SC_SYSTEM_DATABASE_R___63 = 163,
    _SC_TIMEOUTS___63 = 164,
    _SC_TYPED_MEMORY_OBJECTS___63 = 165,
    _SC_USER_GROUPS___63 = 166,
    _SC_USER_GROUPS_R___63 = 167,
    _SC_2_PBS___63 = 168,
    _SC_2_PBS_ACCOUNTING___63 = 169,
    _SC_2_PBS_LOCATE___63 = 170,
    _SC_2_PBS_MESSAGE___63 = 171,
    _SC_2_PBS_TRACK___63 = 172,
    _SC_SYMLOOP_MAX___63 = 173,
    _SC_STREAMS___63 = 174,
    _SC_2_PBS_CHECKPOINT___63 = 175,
    _SC_V6_ILP32_OFF32___63 = 176,
    _SC_V6_ILP32_OFFBIG___63 = 177,
    _SC_V6_LP64_OFF64___63 = 178,
    _SC_V6_LPBIG_OFFBIG___63 = 179,
    _SC_HOST_NAME_MAX___63 = 180,
    _SC_TRACE___63 = 181,
    _SC_TRACE_EVENT_FILTER___63 = 182,
    _SC_TRACE_INHERIT___63 = 183,
    _SC_TRACE_LOG___63 = 184,
    _SC_LEVEL1_ICACHE_SIZE___63 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___63 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___63 = 187,
    _SC_LEVEL1_DCACHE_SIZE___63 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___63 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___63 = 190,
    _SC_LEVEL2_CACHE_SIZE___63 = 191,
    _SC_LEVEL2_CACHE_ASSOC___63 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___63 = 193,
    _SC_LEVEL3_CACHE_SIZE___63 = 194,
    _SC_LEVEL3_CACHE_ASSOC___63 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___63 = 196,
    _SC_LEVEL4_CACHE_SIZE___63 = 197,
    _SC_LEVEL4_CACHE_ASSOC___63 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___63 = 199,
    _SC_IPV6___63 = 235,
    _SC_RAW_SOCKETS___63 = 236,
    _SC_V7_ILP32_OFF32___63 = 237,
    _SC_V7_ILP32_OFFBIG___63 = 238,
    _SC_V7_LP64_OFF64___63 = 239,
    _SC_V7_LPBIG_OFFBIG___63 = 240,
    _SC_SS_REPL_MAX___63 = 241,
    _SC_TRACE_EVENT_NAME_MAX___63 = 242,
    _SC_TRACE_NAME_MAX___63 = 243,
    _SC_TRACE_SYS_MAX___63 = 244,
    _SC_TRACE_USER_EVENT_MAX___63 = 245,
    _SC_XOPEN_STREAMS___63 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___63 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___63 = 248
} ;
enum __anonenum_875524036___63 {
    _CS_PATH___63 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___63 = 1,
    _CS_GNU_LIBC_VERSION___63 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___63 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___63 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___63 = 5,
    _CS_LFS_CFLAGS___63 = 1000,
    _CS_LFS_LDFLAGS___63 = 1001,
    _CS_LFS_LIBS___63 = 1002,
    _CS_LFS_LINTFLAGS___63 = 1003,
    _CS_LFS64_CFLAGS___63 = 1004,
    _CS_LFS64_LDFLAGS___63 = 1005,
    _CS_LFS64_LIBS___63 = 1006,
    _CS_LFS64_LINTFLAGS___63 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___63 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___63 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___63 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___63 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___63 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___63 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___63 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___63 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___63 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___63 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___63 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___63 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___63 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___63 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___63 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___63 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___63 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___63 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___63 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___63 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___63 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___63 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___63 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___63 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___63 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___63 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___63 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___63 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___63 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___63 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___63 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___63 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___63 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___63 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___63 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___63 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___63 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___63 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___63 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___63 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___63 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___63 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___63 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___63 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___63 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___63 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___63 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___63 = 1147,
    _CS_V6_ENV___63 = 1148,
    _CS_V7_ENV___63 = 1149
} ;
enum __anonenum_513775621___63 {
    DT_UNKNOWN___63 = 0,
    DT_FIFO___63 = 1,
    DT_CHR___63 = 2,
    DT_DIR___63 = 4,
    DT_BLK___63 = 6,
    DT_REG___63 = 8,
    DT_LNK___63 = 10,
    DT_SOCK___63 = 12,
    DT_WHT___63 = 14
} ;
enum __anonenum_77002343___63 {
    SI_ASYNCNL___63 = -60,
    SI_TKILL___63 = -6,
    SI_SIGIO___63 = -5,
    SI_ASYNCIO___63 = -4,
    SI_MESGQ___63 = -3,
    SI_TIMER___63 = -2,
    SI_QUEUE___63 = -1,
    SI_USER___63 = 0,
    SI_KERNEL___63 = 128
} ;
enum __anonenum_131038172___63 {
    ILL_ILLOPC___63 = 1,
    ILL_ILLOPN___63 = 2,
    ILL_ILLADR___63 = 3,
    ILL_ILLTRP___63 = 4,
    ILL_PRVOPC___63 = 5,
    ILL_PRVREG___63 = 6,
    ILL_COPROC___63 = 7,
    ILL_BADSTK___63 = 8
} ;
enum __anonenum_452038093___63 {
    FPE_INTDIV___63 = 1,
    FPE_INTOVF___63 = 2,
    FPE_FLTDIV___63 = 3,
    FPE_FLTOVF___63 = 4,
    FPE_FLTUND___63 = 5,
    FPE_FLTRES___63 = 6,
    FPE_FLTINV___63 = 7,
    FPE_FLTSUB___63 = 8
} ;
enum __anonenum_30976155___63 {
    SEGV_MAPERR___63 = 1,
    SEGV_ACCERR___63 = 2,
    SEGV_BNDERR___63 = 3,
    SEGV_PKUERR___63 = 4
} ;
enum __anonenum_1036286214___63 {
    BUS_ADRALN___63 = 1,
    BUS_ADRERR___63 = 2,
    BUS_OBJERR___63 = 3,
    BUS_MCEERR_AR___63 = 4,
    BUS_MCEERR_AO___63 = 5
} ;
enum __anonenum_493465559___63 {
    TRAP_BRKPT___63 = 1,
    TRAP_TRACE___63 = 2
} ;
enum __anonenum_23175539___63 {
    CLD_EXITED___63 = 1,
    CLD_KILLED___63 = 2,
    CLD_DUMPED___63 = 3,
    CLD_TRAPPED___63 = 4,
    CLD_STOPPED___63 = 5,
    CLD_CONTINUED___63 = 6
} ;
enum __anonenum_111643124___63 {
    POLL_IN___63 = 1,
    POLL_OUT___63 = 2,
    POLL_MSG___63 = 3,
    POLL_ERR___63 = 4,
    POLL_PRI___63 = 5,
    POLL_HUP___63 = 6
} ;
enum __anonenum_852341087___63 {
    SIGEV_SIGNAL___63 = 0,
    SIGEV_NONE___63 = 1,
    SIGEV_THREAD___63 = 2,
    SIGEV_THREAD_ID___63 = 4
} ;
enum __anonenum_451154152___63 {
    REG_R8___63 = 0,
    REG_R9___63 = 1,
    REG_R10___63 = 2,
    REG_R11___63 = 3,
    REG_R12___63 = 4,
    REG_R13___63 = 5,
    REG_R14___63 = 6,
    REG_R15___63 = 7,
    REG_RDI___63 = 8,
    REG_RSI___63 = 9,
    REG_RBP___63 = 10,
    REG_RBX___63 = 11,
    REG_RDX___63 = 12,
    REG_RAX___63 = 13,
    REG_RCX___63 = 14,
    REG_RSP___63 = 15,
    REG_RIP___63 = 16,
    REG_EFL___63 = 17,
    REG_CSGSFS___63 = 18,
    REG_ERR___63 = 19,
    REG_TRAPNO___63 = 20,
    REG_OLDMASK___63 = 21,
    REG_CR2___63 = 22
} ;
enum __anonenum_57186863___63 {
    SS_ONSTACK___63 = 1,
    SS_DISABLE___63 = 2
} ;
enum __anonenum_83571709___63 {
    MSG_OOB___63 = 1,
    MSG_PEEK___63 = 2,
    MSG_DONTROUTE___63 = 4,
    MSG_TRYHARD___63 = 4,
    MSG_CTRUNC___63 = 8,
    MSG_PROXY___63 = 16,
    MSG_TRUNC___63 = 32,
    MSG_DONTWAIT___63 = 64,
    MSG_EOR___63 = 128,
    MSG_WAITALL___63 = 256,
    MSG_FIN___63 = 512,
    MSG_SYN___63 = 1024,
    MSG_CONFIRM___63 = 2048,
    MSG_RST___63 = 4096,
    MSG_ERRQUEUE___63 = 8192,
    MSG_NOSIGNAL___63 = 16384,
    MSG_MORE___63 = 32768,
    MSG_WAITFORONE___63 = 65536,
    MSG_BATCH___63 = 262144,
    MSG_ZEROCOPY___63 = 67108864,
    MSG_FASTOPEN___63 = 536870912,
    MSG_CMSG_CLOEXEC___63 = 1073741824
} ;
enum __anonenum_617082774___63 {
    SCM_RIGHTS___63 = 1,
    SCM_CREDENTIALS___63 = 2
} ;
enum __anonenum_606441560___63 {
    SHUT_RD___63 = 0,
    SHUT_WR___63 = 1,
    SHUT_RDWR___63 = 2
} ;
enum __anonenum_681669233___63 {
    IPPROTO_IP___63 = 0,
    IPPROTO_ICMP___63 = 1,
    IPPROTO_IGMP___63 = 2,
    IPPROTO_IPIP___63 = 4,
    IPPROTO_TCP___63 = 6,
    IPPROTO_EGP___63 = 8,
    IPPROTO_PUP___63 = 12,
    IPPROTO_UDP___63 = 17,
    IPPROTO_IDP___63 = 22,
    IPPROTO_TP___63 = 29,
    IPPROTO_DCCP___63 = 33,
    IPPROTO_IPV6___63 = 41,
    IPPROTO_RSVP___63 = 46,
    IPPROTO_GRE___63 = 47,
    IPPROTO_ESP___63 = 50,
    IPPROTO_AH___63 = 51,
    IPPROTO_MTP___63 = 92,
    IPPROTO_BEETPH___63 = 94,
    IPPROTO_ENCAP___63 = 98,
    IPPROTO_PIM___63 = 103,
    IPPROTO_COMP___63 = 108,
    IPPROTO_SCTP___63 = 132,
    IPPROTO_UDPLITE___63 = 136,
    IPPROTO_MPLS___63 = 137,
    IPPROTO_RAW___63 = 255,
    IPPROTO_MAX___63 = 256
} ;
enum __anonenum_218739988___63 {
    IPPROTO_HOPOPTS___63 = 0,
    IPPROTO_ROUTING___63 = 43,
    IPPROTO_FRAGMENT___63 = 44,
    IPPROTO_ICMPV6___63 = 58,
    IPPROTO_NONE___63 = 59,
    IPPROTO_DSTOPTS___63 = 60,
    IPPROTO_MH___63 = 135
} ;
enum __anonenum_662268580___63 {
    IPPORT_ECHO___63 = 7,
    IPPORT_DISCARD___63 = 9,
    IPPORT_SYSTAT___63 = 11,
    IPPORT_DAYTIME___63 = 13,
    IPPORT_NETSTAT___63 = 15,
    IPPORT_FTP___63 = 21,
    IPPORT_TELNET___63 = 23,
    IPPORT_SMTP___63 = 25,
    IPPORT_TIMESERVER___63 = 37,
    IPPORT_NAMESERVER___63 = 42,
    IPPORT_WHOIS___63 = 43,
    IPPORT_MTP___63 = 57,
    IPPORT_TFTP___63 = 69,
    IPPORT_RJE___63 = 77,
    IPPORT_FINGER___63 = 79,
    IPPORT_TTYLINK___63 = 87,
    IPPORT_SUPDUP___63 = 95,
    IPPORT_EXECSERVER___63 = 512,
    IPPORT_LOGINSERVER___63 = 513,
    IPPORT_CMDSERVER___63 = 514,
    IPPORT_EFSSERVER___63 = 520,
    IPPORT_BIFFUDP___63 = 512,
    IPPORT_WHOSERVER___63 = 513,
    IPPORT_ROUTESERVER___63 = 520,
    IPPORT_RESERVED___63 = 1024,
    IPPORT_USERRESERVED___63 = 5000
} ;
enum __anonenum_788308992___63 {
    TCP_ESTABLISHED___63 = 1,
    TCP_SYN_SENT___63 = 2,
    TCP_SYN_RECV___63 = 3,
    TCP_FIN_WAIT1___63 = 4,
    TCP_FIN_WAIT2___63 = 5,
    TCP_TIME_WAIT___63 = 6,
    TCP_CLOSE___63 = 7,
    TCP_CLOSE_WAIT___63 = 8,
    TCP_LAST_ACK___63 = 9,
    TCP_LISTEN___63 = 10,
    TCP_CLOSING___63 = 11
} ;
enum __anonenum_221125648___63 {
    TCP_NO_QUEUE___63 = 0,
    TCP_RECV_QUEUE___63 = 1,
    TCP_SEND_QUEUE___63 = 2,
    TCP_QUEUES_NR___63 = 3
} ;
enum __anonenum_34415463___63 {
    PTHREAD_CREATE_JOINABLE___63 = 0,
    PTHREAD_CREATE_DETACHED___63 = 1
} ;
enum __anonenum_303612439___63 {
    PTHREAD_MUTEX_TIMED_NP___63 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___63 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___63 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___63 = 3,
    PTHREAD_MUTEX_NORMAL___63 = 0,
    PTHREAD_MUTEX_RECURSIVE___63 = 1,
    PTHREAD_MUTEX_ERRORCHECK___63 = 2,
    PTHREAD_MUTEX_DEFAULT___63 = 0,
    PTHREAD_MUTEX_FAST_NP___63 = 0
} ;
enum __anonenum_931900394___63 {
    PTHREAD_MUTEX_STALLED___63 = 0,
    PTHREAD_MUTEX_STALLED_NP___63 = 0,
    PTHREAD_MUTEX_ROBUST___63 = 1,
    PTHREAD_MUTEX_ROBUST_NP___63 = 1
} ;
enum __anonenum_205214487___63 {
    PTHREAD_PRIO_NONE___63 = 0,
    PTHREAD_PRIO_INHERIT___63 = 1,
    PTHREAD_PRIO_PROTECT___63 = 2
} ;
enum __anonenum_25043950___63 {
    PTHREAD_RWLOCK_PREFER_READER_NP___63 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___63 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___63 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___63 = 0
} ;
enum __anonenum_436439511___63 {
    PTHREAD_INHERIT_SCHED___63 = 0,
    PTHREAD_EXPLICIT_SCHED___63 = 1
} ;
enum __anonenum_998661166___63 {
    PTHREAD_SCOPE_SYSTEM___63 = 0,
    PTHREAD_SCOPE_PROCESS___63 = 1
} ;
enum __anonenum_146137331___63 {
    PTHREAD_PROCESS_PRIVATE___63 = 0,
    PTHREAD_PROCESS_SHARED___63 = 1
} ;
enum __anonenum_53396917___63 {
    PTHREAD_CANCEL_ENABLE___63 = 0,
    PTHREAD_CANCEL_DISABLE___63 = 1
} ;
enum __anonenum_904563783___63 {
    PTHREAD_CANCEL_DEFERRED___63 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___63 = 1
} ;
enum __anonenum_672052974___63 {
    SSL_CT_VALIDATION_PERMISSIVE___63 = 0,
    SSL_CT_VALIDATION_STRICT___63 = 1
} ;
enum __anonenum_437032235___64 {
    _PC_LINK_MAX___64 = 0,
    _PC_MAX_CANON___64 = 1,
    _PC_MAX_INPUT___64 = 2,
    _PC_NAME_MAX___64 = 3,
    _PC_PATH_MAX___64 = 4,
    _PC_PIPE_BUF___64 = 5,
    _PC_CHOWN_RESTRICTED___64 = 6,
    _PC_NO_TRUNC___64 = 7,
    _PC_VDISABLE___64 = 8,
    _PC_SYNC_IO___64 = 9,
    _PC_ASYNC_IO___64 = 10,
    _PC_PRIO_IO___64 = 11,
    _PC_SOCK_MAXBUF___64 = 12,
    _PC_FILESIZEBITS___64 = 13,
    _PC_REC_INCR_XFER_SIZE___64 = 14,
    _PC_REC_MAX_XFER_SIZE___64 = 15,
    _PC_REC_MIN_XFER_SIZE___64 = 16,
    _PC_REC_XFER_ALIGN___64 = 17,
    _PC_ALLOC_SIZE_MIN___64 = 18,
    _PC_SYMLINK_MAX___64 = 19,
    _PC_2_SYMLINKS___64 = 20
} ;
enum __anonenum_315186338___64 {
    _SC_ARG_MAX___64 = 0,
    _SC_CHILD_MAX___64 = 1,
    _SC_CLK_TCK___64 = 2,
    _SC_NGROUPS_MAX___64 = 3,
    _SC_OPEN_MAX___64 = 4,
    _SC_STREAM_MAX___64 = 5,
    _SC_TZNAME_MAX___64 = 6,
    _SC_JOB_CONTROL___64 = 7,
    _SC_SAVED_IDS___64 = 8,
    _SC_REALTIME_SIGNALS___64 = 9,
    _SC_PRIORITY_SCHEDULING___64 = 10,
    _SC_TIMERS___64 = 11,
    _SC_ASYNCHRONOUS_IO___64 = 12,
    _SC_PRIORITIZED_IO___64 = 13,
    _SC_SYNCHRONIZED_IO___64 = 14,
    _SC_FSYNC___64 = 15,
    _SC_MAPPED_FILES___64 = 16,
    _SC_MEMLOCK___64 = 17,
    _SC_MEMLOCK_RANGE___64 = 18,
    _SC_MEMORY_PROTECTION___64 = 19,
    _SC_MESSAGE_PASSING___64 = 20,
    _SC_SEMAPHORES___64 = 21,
    _SC_SHARED_MEMORY_OBJECTS___64 = 22,
    _SC_AIO_LISTIO_MAX___64 = 23,
    _SC_AIO_MAX___64 = 24,
    _SC_AIO_PRIO_DELTA_MAX___64 = 25,
    _SC_DELAYTIMER_MAX___64 = 26,
    _SC_MQ_OPEN_MAX___64 = 27,
    _SC_MQ_PRIO_MAX___64 = 28,
    _SC_VERSION___64 = 29,
    _SC_PAGESIZE___64 = 30,
    _SC_RTSIG_MAX___64 = 31,
    _SC_SEM_NSEMS_MAX___64 = 32,
    _SC_SEM_VALUE_MAX___64 = 33,
    _SC_SIGQUEUE_MAX___64 = 34,
    _SC_TIMER_MAX___64 = 35,
    _SC_BC_BASE_MAX___64 = 36,
    _SC_BC_DIM_MAX___64 = 37,
    _SC_BC_SCALE_MAX___64 = 38,
    _SC_BC_STRING_MAX___64 = 39,
    _SC_COLL_WEIGHTS_MAX___64 = 40,
    _SC_EQUIV_CLASS_MAX___64 = 41,
    _SC_EXPR_NEST_MAX___64 = 42,
    _SC_LINE_MAX___64 = 43,
    _SC_RE_DUP_MAX___64 = 44,
    _SC_CHARCLASS_NAME_MAX___64 = 45,
    _SC_2_VERSION___64 = 46,
    _SC_2_C_BIND___64 = 47,
    _SC_2_C_DEV___64 = 48,
    _SC_2_FORT_DEV___64 = 49,
    _SC_2_FORT_RUN___64 = 50,
    _SC_2_SW_DEV___64 = 51,
    _SC_2_LOCALEDEF___64 = 52,
    _SC_PII___64 = 53,
    _SC_PII_XTI___64 = 54,
    _SC_PII_SOCKET___64 = 55,
    _SC_PII_INTERNET___64 = 56,
    _SC_PII_OSI___64 = 57,
    _SC_POLL___64 = 58,
    _SC_SELECT___64 = 59,
    _SC_UIO_MAXIOV___64 = 60,
    _SC_IOV_MAX___64 = 60,
    _SC_PII_INTERNET_STREAM___64 = 61,
    _SC_PII_INTERNET_DGRAM___64 = 62,
    _SC_PII_OSI_COTS___64 = 63,
    _SC_PII_OSI_CLTS___64 = 64,
    _SC_PII_OSI_M___64 = 65,
    _SC_T_IOV_MAX___64 = 66,
    _SC_THREADS___64 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___64 = 68,
    _SC_GETGR_R_SIZE_MAX___64 = 69,
    _SC_GETPW_R_SIZE_MAX___64 = 70,
    _SC_LOGIN_NAME_MAX___64 = 71,
    _SC_TTY_NAME_MAX___64 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___64 = 73,
    _SC_THREAD_KEYS_MAX___64 = 74,
    _SC_THREAD_STACK_MIN___64 = 75,
    _SC_THREAD_THREADS_MAX___64 = 76,
    _SC_THREAD_ATTR_STACKADDR___64 = 77,
    _SC_THREAD_ATTR_STACKSIZE___64 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___64 = 79,
    _SC_THREAD_PRIO_INHERIT___64 = 80,
    _SC_THREAD_PRIO_PROTECT___64 = 81,
    _SC_THREAD_PROCESS_SHARED___64 = 82,
    _SC_NPROCESSORS_CONF___64 = 83,
    _SC_NPROCESSORS_ONLN___64 = 84,
    _SC_PHYS_PAGES___64 = 85,
    _SC_AVPHYS_PAGES___64 = 86,
    _SC_ATEXIT_MAX___64 = 87,
    _SC_PASS_MAX___64 = 88,
    _SC_XOPEN_VERSION___64 = 89,
    _SC_XOPEN_XCU_VERSION___64 = 90,
    _SC_XOPEN_UNIX___64 = 91,
    _SC_XOPEN_CRYPT___64 = 92,
    _SC_XOPEN_ENH_I18N___64 = 93,
    _SC_XOPEN_SHM___64 = 94,
    _SC_2_CHAR_TERM___64 = 95,
    _SC_2_C_VERSION___64 = 96,
    _SC_2_UPE___64 = 97,
    _SC_XOPEN_XPG2___64 = 98,
    _SC_XOPEN_XPG3___64 = 99,
    _SC_XOPEN_XPG4___64 = 100,
    _SC_CHAR_BIT___64 = 101,
    _SC_CHAR_MAX___64 = 102,
    _SC_CHAR_MIN___64 = 103,
    _SC_INT_MAX___64 = 104,
    _SC_INT_MIN___64 = 105,
    _SC_LONG_BIT___64 = 106,
    _SC_WORD_BIT___64 = 107,
    _SC_MB_LEN_MAX___64 = 108,
    _SC_NZERO___64 = 109,
    _SC_SSIZE_MAX___64 = 110,
    _SC_SCHAR_MAX___64 = 111,
    _SC_SCHAR_MIN___64 = 112,
    _SC_SHRT_MAX___64 = 113,
    _SC_SHRT_MIN___64 = 114,
    _SC_UCHAR_MAX___64 = 115,
    _SC_UINT_MAX___64 = 116,
    _SC_ULONG_MAX___64 = 117,
    _SC_USHRT_MAX___64 = 118,
    _SC_NL_ARGMAX___64 = 119,
    _SC_NL_LANGMAX___64 = 120,
    _SC_NL_MSGMAX___64 = 121,
    _SC_NL_NMAX___64 = 122,
    _SC_NL_SETMAX___64 = 123,
    _SC_NL_TEXTMAX___64 = 124,
    _SC_XBS5_ILP32_OFF32___64 = 125,
    _SC_XBS5_ILP32_OFFBIG___64 = 126,
    _SC_XBS5_LP64_OFF64___64 = 127,
    _SC_XBS5_LPBIG_OFFBIG___64 = 128,
    _SC_XOPEN_LEGACY___64 = 129,
    _SC_XOPEN_REALTIME___64 = 130,
    _SC_XOPEN_REALTIME_THREADS___64 = 131,
    _SC_ADVISORY_INFO___64 = 132,
    _SC_BARRIERS___64 = 133,
    _SC_BASE___64 = 134,
    _SC_C_LANG_SUPPORT___64 = 135,
    _SC_C_LANG_SUPPORT_R___64 = 136,
    _SC_CLOCK_SELECTION___64 = 137,
    _SC_CPUTIME___64 = 138,
    _SC_THREAD_CPUTIME___64 = 139,
    _SC_DEVICE_IO___64 = 140,
    _SC_DEVICE_SPECIFIC___64 = 141,
    _SC_DEVICE_SPECIFIC_R___64 = 142,
    _SC_FD_MGMT___64 = 143,
    _SC_FIFO___64 = 144,
    _SC_PIPE___64 = 145,
    _SC_FILE_ATTRIBUTES___64 = 146,
    _SC_FILE_LOCKING___64 = 147,
    _SC_FILE_SYSTEM___64 = 148,
    _SC_MONOTONIC_CLOCK___64 = 149,
    _SC_MULTI_PROCESS___64 = 150,
    _SC_SINGLE_PROCESS___64 = 151,
    _SC_NETWORKING___64 = 152,
    _SC_READER_WRITER_LOCKS___64 = 153,
    _SC_SPIN_LOCKS___64 = 154,
    _SC_REGEXP___64 = 155,
    _SC_REGEX_VERSION___64 = 156,
    _SC_SHELL___64 = 157,
    _SC_SIGNALS___64 = 158,
    _SC_SPAWN___64 = 159,
    _SC_SPORADIC_SERVER___64 = 160,
    _SC_THREAD_SPORADIC_SERVER___64 = 161,
    _SC_SYSTEM_DATABASE___64 = 162,
    _SC_SYSTEM_DATABASE_R___64 = 163,
    _SC_TIMEOUTS___64 = 164,
    _SC_TYPED_MEMORY_OBJECTS___64 = 165,
    _SC_USER_GROUPS___64 = 166,
    _SC_USER_GROUPS_R___64 = 167,
    _SC_2_PBS___64 = 168,
    _SC_2_PBS_ACCOUNTING___64 = 169,
    _SC_2_PBS_LOCATE___64 = 170,
    _SC_2_PBS_MESSAGE___64 = 171,
    _SC_2_PBS_TRACK___64 = 172,
    _SC_SYMLOOP_MAX___64 = 173,
    _SC_STREAMS___64 = 174,
    _SC_2_PBS_CHECKPOINT___64 = 175,
    _SC_V6_ILP32_OFF32___64 = 176,
    _SC_V6_ILP32_OFFBIG___64 = 177,
    _SC_V6_LP64_OFF64___64 = 178,
    _SC_V6_LPBIG_OFFBIG___64 = 179,
    _SC_HOST_NAME_MAX___64 = 180,
    _SC_TRACE___64 = 181,
    _SC_TRACE_EVENT_FILTER___64 = 182,
    _SC_TRACE_INHERIT___64 = 183,
    _SC_TRACE_LOG___64 = 184,
    _SC_LEVEL1_ICACHE_SIZE___64 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___64 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___64 = 187,
    _SC_LEVEL1_DCACHE_SIZE___64 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___64 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___64 = 190,
    _SC_LEVEL2_CACHE_SIZE___64 = 191,
    _SC_LEVEL2_CACHE_ASSOC___64 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___64 = 193,
    _SC_LEVEL3_CACHE_SIZE___64 = 194,
    _SC_LEVEL3_CACHE_ASSOC___64 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___64 = 196,
    _SC_LEVEL4_CACHE_SIZE___64 = 197,
    _SC_LEVEL4_CACHE_ASSOC___64 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___64 = 199,
    _SC_IPV6___64 = 235,
    _SC_RAW_SOCKETS___64 = 236,
    _SC_V7_ILP32_OFF32___64 = 237,
    _SC_V7_ILP32_OFFBIG___64 = 238,
    _SC_V7_LP64_OFF64___64 = 239,
    _SC_V7_LPBIG_OFFBIG___64 = 240,
    _SC_SS_REPL_MAX___64 = 241,
    _SC_TRACE_EVENT_NAME_MAX___64 = 242,
    _SC_TRACE_NAME_MAX___64 = 243,
    _SC_TRACE_SYS_MAX___64 = 244,
    _SC_TRACE_USER_EVENT_MAX___64 = 245,
    _SC_XOPEN_STREAMS___64 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___64 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___64 = 248
} ;
enum __anonenum_875524036___64 {
    _CS_PATH___64 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___64 = 1,
    _CS_GNU_LIBC_VERSION___64 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___64 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___64 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___64 = 5,
    _CS_LFS_CFLAGS___64 = 1000,
    _CS_LFS_LDFLAGS___64 = 1001,
    _CS_LFS_LIBS___64 = 1002,
    _CS_LFS_LINTFLAGS___64 = 1003,
    _CS_LFS64_CFLAGS___64 = 1004,
    _CS_LFS64_LDFLAGS___64 = 1005,
    _CS_LFS64_LIBS___64 = 1006,
    _CS_LFS64_LINTFLAGS___64 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___64 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___64 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___64 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___64 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___64 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___64 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___64 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___64 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___64 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___64 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___64 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___64 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___64 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___64 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___64 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___64 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___64 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___64 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___64 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___64 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___64 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___64 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___64 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___64 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___64 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___64 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___64 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___64 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___64 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___64 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___64 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___64 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___64 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___64 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___64 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___64 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___64 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___64 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___64 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___64 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___64 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___64 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___64 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___64 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___64 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___64 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___64 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___64 = 1147,
    _CS_V6_ENV___64 = 1148,
    _CS_V7_ENV___64 = 1149
} ;
enum __anonenum_513775621___64 {
    DT_UNKNOWN___64 = 0,
    DT_FIFO___64 = 1,
    DT_CHR___64 = 2,
    DT_DIR___64 = 4,
    DT_BLK___64 = 6,
    DT_REG___64 = 8,
    DT_LNK___64 = 10,
    DT_SOCK___64 = 12,
    DT_WHT___64 = 14
} ;
enum __anonenum_77002343___64 {
    SI_ASYNCNL___64 = -60,
    SI_TKILL___64 = -6,
    SI_SIGIO___64 = -5,
    SI_ASYNCIO___64 = -4,
    SI_MESGQ___64 = -3,
    SI_TIMER___64 = -2,
    SI_QUEUE___64 = -1,
    SI_USER___64 = 0,
    SI_KERNEL___64 = 128
} ;
enum __anonenum_131038172___64 {
    ILL_ILLOPC___64 = 1,
    ILL_ILLOPN___64 = 2,
    ILL_ILLADR___64 = 3,
    ILL_ILLTRP___64 = 4,
    ILL_PRVOPC___64 = 5,
    ILL_PRVREG___64 = 6,
    ILL_COPROC___64 = 7,
    ILL_BADSTK___64 = 8
} ;
enum __anonenum_452038093___64 {
    FPE_INTDIV___64 = 1,
    FPE_INTOVF___64 = 2,
    FPE_FLTDIV___64 = 3,
    FPE_FLTOVF___64 = 4,
    FPE_FLTUND___64 = 5,
    FPE_FLTRES___64 = 6,
    FPE_FLTINV___64 = 7,
    FPE_FLTSUB___64 = 8
} ;
enum __anonenum_30976155___64 {
    SEGV_MAPERR___64 = 1,
    SEGV_ACCERR___64 = 2,
    SEGV_BNDERR___64 = 3,
    SEGV_PKUERR___64 = 4
} ;
enum __anonenum_1036286214___64 {
    BUS_ADRALN___64 = 1,
    BUS_ADRERR___64 = 2,
    BUS_OBJERR___64 = 3,
    BUS_MCEERR_AR___64 = 4,
    BUS_MCEERR_AO___64 = 5
} ;
enum __anonenum_493465559___64 {
    TRAP_BRKPT___64 = 1,
    TRAP_TRACE___64 = 2
} ;
enum __anonenum_23175539___64 {
    CLD_EXITED___64 = 1,
    CLD_KILLED___64 = 2,
    CLD_DUMPED___64 = 3,
    CLD_TRAPPED___64 = 4,
    CLD_STOPPED___64 = 5,
    CLD_CONTINUED___64 = 6
} ;
enum __anonenum_111643124___64 {
    POLL_IN___64 = 1,
    POLL_OUT___64 = 2,
    POLL_MSG___64 = 3,
    POLL_ERR___64 = 4,
    POLL_PRI___64 = 5,
    POLL_HUP___64 = 6
} ;
enum __anonenum_852341087___64 {
    SIGEV_SIGNAL___64 = 0,
    SIGEV_NONE___64 = 1,
    SIGEV_THREAD___64 = 2,
    SIGEV_THREAD_ID___64 = 4
} ;
enum __anonenum_451154152___64 {
    REG_R8___64 = 0,
    REG_R9___64 = 1,
    REG_R10___64 = 2,
    REG_R11___64 = 3,
    REG_R12___64 = 4,
    REG_R13___64 = 5,
    REG_R14___64 = 6,
    REG_R15___64 = 7,
    REG_RDI___64 = 8,
    REG_RSI___64 = 9,
    REG_RBP___64 = 10,
    REG_RBX___64 = 11,
    REG_RDX___64 = 12,
    REG_RAX___64 = 13,
    REG_RCX___64 = 14,
    REG_RSP___64 = 15,
    REG_RIP___64 = 16,
    REG_EFL___64 = 17,
    REG_CSGSFS___64 = 18,
    REG_ERR___64 = 19,
    REG_TRAPNO___64 = 20,
    REG_OLDMASK___64 = 21,
    REG_CR2___64 = 22
} ;
enum __anonenum_57186863___64 {
    SS_ONSTACK___64 = 1,
    SS_DISABLE___64 = 2
} ;
enum __anonenum_83571709___64 {
    MSG_OOB___64 = 1,
    MSG_PEEK___64 = 2,
    MSG_DONTROUTE___64 = 4,
    MSG_TRYHARD___64 = 4,
    MSG_CTRUNC___64 = 8,
    MSG_PROXY___64 = 16,
    MSG_TRUNC___64 = 32,
    MSG_DONTWAIT___64 = 64,
    MSG_EOR___64 = 128,
    MSG_WAITALL___64 = 256,
    MSG_FIN___64 = 512,
    MSG_SYN___64 = 1024,
    MSG_CONFIRM___64 = 2048,
    MSG_RST___64 = 4096,
    MSG_ERRQUEUE___64 = 8192,
    MSG_NOSIGNAL___64 = 16384,
    MSG_MORE___64 = 32768,
    MSG_WAITFORONE___64 = 65536,
    MSG_BATCH___64 = 262144,
    MSG_ZEROCOPY___64 = 67108864,
    MSG_FASTOPEN___64 = 536870912,
    MSG_CMSG_CLOEXEC___64 = 1073741824
} ;
enum __anonenum_617082774___64 {
    SCM_RIGHTS___64 = 1,
    SCM_CREDENTIALS___64 = 2
} ;
enum __anonenum_606441560___64 {
    SHUT_RD___64 = 0,
    SHUT_WR___64 = 1,
    SHUT_RDWR___64 = 2
} ;
enum __anonenum_681669233___64 {
    IPPROTO_IP___64 = 0,
    IPPROTO_ICMP___64 = 1,
    IPPROTO_IGMP___64 = 2,
    IPPROTO_IPIP___64 = 4,
    IPPROTO_TCP___64 = 6,
    IPPROTO_EGP___64 = 8,
    IPPROTO_PUP___64 = 12,
    IPPROTO_UDP___64 = 17,
    IPPROTO_IDP___64 = 22,
    IPPROTO_TP___64 = 29,
    IPPROTO_DCCP___64 = 33,
    IPPROTO_IPV6___64 = 41,
    IPPROTO_RSVP___64 = 46,
    IPPROTO_GRE___64 = 47,
    IPPROTO_ESP___64 = 50,
    IPPROTO_AH___64 = 51,
    IPPROTO_MTP___64 = 92,
    IPPROTO_BEETPH___64 = 94,
    IPPROTO_ENCAP___64 = 98,
    IPPROTO_PIM___64 = 103,
    IPPROTO_COMP___64 = 108,
    IPPROTO_SCTP___64 = 132,
    IPPROTO_UDPLITE___64 = 136,
    IPPROTO_MPLS___64 = 137,
    IPPROTO_RAW___64 = 255,
    IPPROTO_MAX___64 = 256
} ;
enum __anonenum_218739988___64 {
    IPPROTO_HOPOPTS___64 = 0,
    IPPROTO_ROUTING___64 = 43,
    IPPROTO_FRAGMENT___64 = 44,
    IPPROTO_ICMPV6___64 = 58,
    IPPROTO_NONE___64 = 59,
    IPPROTO_DSTOPTS___64 = 60,
    IPPROTO_MH___64 = 135
} ;
enum __anonenum_662268580___64 {
    IPPORT_ECHO___64 = 7,
    IPPORT_DISCARD___64 = 9,
    IPPORT_SYSTAT___64 = 11,
    IPPORT_DAYTIME___64 = 13,
    IPPORT_NETSTAT___64 = 15,
    IPPORT_FTP___64 = 21,
    IPPORT_TELNET___64 = 23,
    IPPORT_SMTP___64 = 25,
    IPPORT_TIMESERVER___64 = 37,
    IPPORT_NAMESERVER___64 = 42,
    IPPORT_WHOIS___64 = 43,
    IPPORT_MTP___64 = 57,
    IPPORT_TFTP___64 = 69,
    IPPORT_RJE___64 = 77,
    IPPORT_FINGER___64 = 79,
    IPPORT_TTYLINK___64 = 87,
    IPPORT_SUPDUP___64 = 95,
    IPPORT_EXECSERVER___64 = 512,
    IPPORT_LOGINSERVER___64 = 513,
    IPPORT_CMDSERVER___64 = 514,
    IPPORT_EFSSERVER___64 = 520,
    IPPORT_BIFFUDP___64 = 512,
    IPPORT_WHOSERVER___64 = 513,
    IPPORT_ROUTESERVER___64 = 520,
    IPPORT_RESERVED___64 = 1024,
    IPPORT_USERRESERVED___64 = 5000
} ;
enum __anonenum_788308992___64 {
    TCP_ESTABLISHED___64 = 1,
    TCP_SYN_SENT___64 = 2,
    TCP_SYN_RECV___64 = 3,
    TCP_FIN_WAIT1___64 = 4,
    TCP_FIN_WAIT2___64 = 5,
    TCP_TIME_WAIT___64 = 6,
    TCP_CLOSE___64 = 7,
    TCP_CLOSE_WAIT___64 = 8,
    TCP_LAST_ACK___64 = 9,
    TCP_LISTEN___64 = 10,
    TCP_CLOSING___64 = 11
} ;
enum __anonenum_221125648___64 {
    TCP_NO_QUEUE___64 = 0,
    TCP_RECV_QUEUE___64 = 1,
    TCP_SEND_QUEUE___64 = 2,
    TCP_QUEUES_NR___64 = 3
} ;
enum __anonenum_34415463___64 {
    PTHREAD_CREATE_JOINABLE___64 = 0,
    PTHREAD_CREATE_DETACHED___64 = 1
} ;
enum __anonenum_303612439___64 {
    PTHREAD_MUTEX_TIMED_NP___64 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___64 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___64 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___64 = 3,
    PTHREAD_MUTEX_NORMAL___64 = 0,
    PTHREAD_MUTEX_RECURSIVE___64 = 1,
    PTHREAD_MUTEX_ERRORCHECK___64 = 2,
    PTHREAD_MUTEX_DEFAULT___64 = 0,
    PTHREAD_MUTEX_FAST_NP___64 = 0
} ;
enum __anonenum_931900394___64 {
    PTHREAD_MUTEX_STALLED___64 = 0,
    PTHREAD_MUTEX_STALLED_NP___64 = 0,
    PTHREAD_MUTEX_ROBUST___64 = 1,
    PTHREAD_MUTEX_ROBUST_NP___64 = 1
} ;
enum __anonenum_205214487___64 {
    PTHREAD_PRIO_NONE___64 = 0,
    PTHREAD_PRIO_INHERIT___64 = 1,
    PTHREAD_PRIO_PROTECT___64 = 2
} ;
enum __anonenum_25043950___64 {
    PTHREAD_RWLOCK_PREFER_READER_NP___64 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___64 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___64 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___64 = 0
} ;
enum __anonenum_436439511___64 {
    PTHREAD_INHERIT_SCHED___64 = 0,
    PTHREAD_EXPLICIT_SCHED___64 = 1
} ;
enum __anonenum_998661166___64 {
    PTHREAD_SCOPE_SYSTEM___64 = 0,
    PTHREAD_SCOPE_PROCESS___64 = 1
} ;
enum __anonenum_146137331___64 {
    PTHREAD_PROCESS_PRIVATE___64 = 0,
    PTHREAD_PROCESS_SHARED___64 = 1
} ;
enum __anonenum_53396917___64 {
    PTHREAD_CANCEL_ENABLE___64 = 0,
    PTHREAD_CANCEL_DISABLE___64 = 1
} ;
enum __anonenum_904563783___64 {
    PTHREAD_CANCEL_DEFERRED___64 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___64 = 1
} ;
enum __anonenum_672052974___64 {
    SSL_CT_VALIDATION_PERMISSIVE___64 = 0,
    SSL_CT_VALIDATION_STRICT___64 = 1
} ;
struct __anonstruct_rlw_291130064 {
   eword_t const   *word ;
   int literal_words ;
   int running_len ;
   int literal_word_offset ;
   int running_bit ;
};
struct rlw_iterator {
   eword_t const   *buffer ;
   size_t size ;
   size_t pointer ;
   size_t literal_word_start ;
   struct __anonstruct_rlw_291130064 rlw ;
};
enum __anonenum_437032235___65 {
    _PC_LINK_MAX___65 = 0,
    _PC_MAX_CANON___65 = 1,
    _PC_MAX_INPUT___65 = 2,
    _PC_NAME_MAX___65 = 3,
    _PC_PATH_MAX___65 = 4,
    _PC_PIPE_BUF___65 = 5,
    _PC_CHOWN_RESTRICTED___65 = 6,
    _PC_NO_TRUNC___65 = 7,
    _PC_VDISABLE___65 = 8,
    _PC_SYNC_IO___65 = 9,
    _PC_ASYNC_IO___65 = 10,
    _PC_PRIO_IO___65 = 11,
    _PC_SOCK_MAXBUF___65 = 12,
    _PC_FILESIZEBITS___65 = 13,
    _PC_REC_INCR_XFER_SIZE___65 = 14,
    _PC_REC_MAX_XFER_SIZE___65 = 15,
    _PC_REC_MIN_XFER_SIZE___65 = 16,
    _PC_REC_XFER_ALIGN___65 = 17,
    _PC_ALLOC_SIZE_MIN___65 = 18,
    _PC_SYMLINK_MAX___65 = 19,
    _PC_2_SYMLINKS___65 = 20
} ;
enum __anonenum_315186338___65 {
    _SC_ARG_MAX___65 = 0,
    _SC_CHILD_MAX___65 = 1,
    _SC_CLK_TCK___65 = 2,
    _SC_NGROUPS_MAX___65 = 3,
    _SC_OPEN_MAX___65 = 4,
    _SC_STREAM_MAX___65 = 5,
    _SC_TZNAME_MAX___65 = 6,
    _SC_JOB_CONTROL___65 = 7,
    _SC_SAVED_IDS___65 = 8,
    _SC_REALTIME_SIGNALS___65 = 9,
    _SC_PRIORITY_SCHEDULING___65 = 10,
    _SC_TIMERS___65 = 11,
    _SC_ASYNCHRONOUS_IO___65 = 12,
    _SC_PRIORITIZED_IO___65 = 13,
    _SC_SYNCHRONIZED_IO___65 = 14,
    _SC_FSYNC___65 = 15,
    _SC_MAPPED_FILES___65 = 16,
    _SC_MEMLOCK___65 = 17,
    _SC_MEMLOCK_RANGE___65 = 18,
    _SC_MEMORY_PROTECTION___65 = 19,
    _SC_MESSAGE_PASSING___65 = 20,
    _SC_SEMAPHORES___65 = 21,
    _SC_SHARED_MEMORY_OBJECTS___65 = 22,
    _SC_AIO_LISTIO_MAX___65 = 23,
    _SC_AIO_MAX___65 = 24,
    _SC_AIO_PRIO_DELTA_MAX___65 = 25,
    _SC_DELAYTIMER_MAX___65 = 26,
    _SC_MQ_OPEN_MAX___65 = 27,
    _SC_MQ_PRIO_MAX___65 = 28,
    _SC_VERSION___65 = 29,
    _SC_PAGESIZE___65 = 30,
    _SC_RTSIG_MAX___65 = 31,
    _SC_SEM_NSEMS_MAX___65 = 32,
    _SC_SEM_VALUE_MAX___65 = 33,
    _SC_SIGQUEUE_MAX___65 = 34,
    _SC_TIMER_MAX___65 = 35,
    _SC_BC_BASE_MAX___65 = 36,
    _SC_BC_DIM_MAX___65 = 37,
    _SC_BC_SCALE_MAX___65 = 38,
    _SC_BC_STRING_MAX___65 = 39,
    _SC_COLL_WEIGHTS_MAX___65 = 40,
    _SC_EQUIV_CLASS_MAX___65 = 41,
    _SC_EXPR_NEST_MAX___65 = 42,
    _SC_LINE_MAX___65 = 43,
    _SC_RE_DUP_MAX___65 = 44,
    _SC_CHARCLASS_NAME_MAX___65 = 45,
    _SC_2_VERSION___65 = 46,
    _SC_2_C_BIND___65 = 47,
    _SC_2_C_DEV___65 = 48,
    _SC_2_FORT_DEV___65 = 49,
    _SC_2_FORT_RUN___65 = 50,
    _SC_2_SW_DEV___65 = 51,
    _SC_2_LOCALEDEF___65 = 52,
    _SC_PII___65 = 53,
    _SC_PII_XTI___65 = 54,
    _SC_PII_SOCKET___65 = 55,
    _SC_PII_INTERNET___65 = 56,
    _SC_PII_OSI___65 = 57,
    _SC_POLL___65 = 58,
    _SC_SELECT___65 = 59,
    _SC_UIO_MAXIOV___65 = 60,
    _SC_IOV_MAX___65 = 60,
    _SC_PII_INTERNET_STREAM___65 = 61,
    _SC_PII_INTERNET_DGRAM___65 = 62,
    _SC_PII_OSI_COTS___65 = 63,
    _SC_PII_OSI_CLTS___65 = 64,
    _SC_PII_OSI_M___65 = 65,
    _SC_T_IOV_MAX___65 = 66,
    _SC_THREADS___65 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___65 = 68,
    _SC_GETGR_R_SIZE_MAX___65 = 69,
    _SC_GETPW_R_SIZE_MAX___65 = 70,
    _SC_LOGIN_NAME_MAX___65 = 71,
    _SC_TTY_NAME_MAX___65 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___65 = 73,
    _SC_THREAD_KEYS_MAX___65 = 74,
    _SC_THREAD_STACK_MIN___65 = 75,
    _SC_THREAD_THREADS_MAX___65 = 76,
    _SC_THREAD_ATTR_STACKADDR___65 = 77,
    _SC_THREAD_ATTR_STACKSIZE___65 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___65 = 79,
    _SC_THREAD_PRIO_INHERIT___65 = 80,
    _SC_THREAD_PRIO_PROTECT___65 = 81,
    _SC_THREAD_PROCESS_SHARED___65 = 82,
    _SC_NPROCESSORS_CONF___65 = 83,
    _SC_NPROCESSORS_ONLN___65 = 84,
    _SC_PHYS_PAGES___65 = 85,
    _SC_AVPHYS_PAGES___65 = 86,
    _SC_ATEXIT_MAX___65 = 87,
    _SC_PASS_MAX___65 = 88,
    _SC_XOPEN_VERSION___65 = 89,
    _SC_XOPEN_XCU_VERSION___65 = 90,
    _SC_XOPEN_UNIX___65 = 91,
    _SC_XOPEN_CRYPT___65 = 92,
    _SC_XOPEN_ENH_I18N___65 = 93,
    _SC_XOPEN_SHM___65 = 94,
    _SC_2_CHAR_TERM___65 = 95,
    _SC_2_C_VERSION___65 = 96,
    _SC_2_UPE___65 = 97,
    _SC_XOPEN_XPG2___65 = 98,
    _SC_XOPEN_XPG3___65 = 99,
    _SC_XOPEN_XPG4___65 = 100,
    _SC_CHAR_BIT___65 = 101,
    _SC_CHAR_MAX___65 = 102,
    _SC_CHAR_MIN___65 = 103,
    _SC_INT_MAX___65 = 104,
    _SC_INT_MIN___65 = 105,
    _SC_LONG_BIT___65 = 106,
    _SC_WORD_BIT___65 = 107,
    _SC_MB_LEN_MAX___65 = 108,
    _SC_NZERO___65 = 109,
    _SC_SSIZE_MAX___65 = 110,
    _SC_SCHAR_MAX___65 = 111,
    _SC_SCHAR_MIN___65 = 112,
    _SC_SHRT_MAX___65 = 113,
    _SC_SHRT_MIN___65 = 114,
    _SC_UCHAR_MAX___65 = 115,
    _SC_UINT_MAX___65 = 116,
    _SC_ULONG_MAX___65 = 117,
    _SC_USHRT_MAX___65 = 118,
    _SC_NL_ARGMAX___65 = 119,
    _SC_NL_LANGMAX___65 = 120,
    _SC_NL_MSGMAX___65 = 121,
    _SC_NL_NMAX___65 = 122,
    _SC_NL_SETMAX___65 = 123,
    _SC_NL_TEXTMAX___65 = 124,
    _SC_XBS5_ILP32_OFF32___65 = 125,
    _SC_XBS5_ILP32_OFFBIG___65 = 126,
    _SC_XBS5_LP64_OFF64___65 = 127,
    _SC_XBS5_LPBIG_OFFBIG___65 = 128,
    _SC_XOPEN_LEGACY___65 = 129,
    _SC_XOPEN_REALTIME___65 = 130,
    _SC_XOPEN_REALTIME_THREADS___65 = 131,
    _SC_ADVISORY_INFO___65 = 132,
    _SC_BARRIERS___65 = 133,
    _SC_BASE___65 = 134,
    _SC_C_LANG_SUPPORT___65 = 135,
    _SC_C_LANG_SUPPORT_R___65 = 136,
    _SC_CLOCK_SELECTION___65 = 137,
    _SC_CPUTIME___65 = 138,
    _SC_THREAD_CPUTIME___65 = 139,
    _SC_DEVICE_IO___65 = 140,
    _SC_DEVICE_SPECIFIC___65 = 141,
    _SC_DEVICE_SPECIFIC_R___65 = 142,
    _SC_FD_MGMT___65 = 143,
    _SC_FIFO___65 = 144,
    _SC_PIPE___65 = 145,
    _SC_FILE_ATTRIBUTES___65 = 146,
    _SC_FILE_LOCKING___65 = 147,
    _SC_FILE_SYSTEM___65 = 148,
    _SC_MONOTONIC_CLOCK___65 = 149,
    _SC_MULTI_PROCESS___65 = 150,
    _SC_SINGLE_PROCESS___65 = 151,
    _SC_NETWORKING___65 = 152,
    _SC_READER_WRITER_LOCKS___65 = 153,
    _SC_SPIN_LOCKS___65 = 154,
    _SC_REGEXP___65 = 155,
    _SC_REGEX_VERSION___65 = 156,
    _SC_SHELL___65 = 157,
    _SC_SIGNALS___65 = 158,
    _SC_SPAWN___65 = 159,
    _SC_SPORADIC_SERVER___65 = 160,
    _SC_THREAD_SPORADIC_SERVER___65 = 161,
    _SC_SYSTEM_DATABASE___65 = 162,
    _SC_SYSTEM_DATABASE_R___65 = 163,
    _SC_TIMEOUTS___65 = 164,
    _SC_TYPED_MEMORY_OBJECTS___65 = 165,
    _SC_USER_GROUPS___65 = 166,
    _SC_USER_GROUPS_R___65 = 167,
    _SC_2_PBS___65 = 168,
    _SC_2_PBS_ACCOUNTING___65 = 169,
    _SC_2_PBS_LOCATE___65 = 170,
    _SC_2_PBS_MESSAGE___65 = 171,
    _SC_2_PBS_TRACK___65 = 172,
    _SC_SYMLOOP_MAX___65 = 173,
    _SC_STREAMS___65 = 174,
    _SC_2_PBS_CHECKPOINT___65 = 175,
    _SC_V6_ILP32_OFF32___65 = 176,
    _SC_V6_ILP32_OFFBIG___65 = 177,
    _SC_V6_LP64_OFF64___65 = 178,
    _SC_V6_LPBIG_OFFBIG___65 = 179,
    _SC_HOST_NAME_MAX___65 = 180,
    _SC_TRACE___65 = 181,
    _SC_TRACE_EVENT_FILTER___65 = 182,
    _SC_TRACE_INHERIT___65 = 183,
    _SC_TRACE_LOG___65 = 184,
    _SC_LEVEL1_ICACHE_SIZE___65 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___65 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___65 = 187,
    _SC_LEVEL1_DCACHE_SIZE___65 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___65 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___65 = 190,
    _SC_LEVEL2_CACHE_SIZE___65 = 191,
    _SC_LEVEL2_CACHE_ASSOC___65 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___65 = 193,
    _SC_LEVEL3_CACHE_SIZE___65 = 194,
    _SC_LEVEL3_CACHE_ASSOC___65 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___65 = 196,
    _SC_LEVEL4_CACHE_SIZE___65 = 197,
    _SC_LEVEL4_CACHE_ASSOC___65 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___65 = 199,
    _SC_IPV6___65 = 235,
    _SC_RAW_SOCKETS___65 = 236,
    _SC_V7_ILP32_OFF32___65 = 237,
    _SC_V7_ILP32_OFFBIG___65 = 238,
    _SC_V7_LP64_OFF64___65 = 239,
    _SC_V7_LPBIG_OFFBIG___65 = 240,
    _SC_SS_REPL_MAX___65 = 241,
    _SC_TRACE_EVENT_NAME_MAX___65 = 242,
    _SC_TRACE_NAME_MAX___65 = 243,
    _SC_TRACE_SYS_MAX___65 = 244,
    _SC_TRACE_USER_EVENT_MAX___65 = 245,
    _SC_XOPEN_STREAMS___65 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___65 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___65 = 248
} ;
enum __anonenum_875524036___65 {
    _CS_PATH___65 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___65 = 1,
    _CS_GNU_LIBC_VERSION___65 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___65 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___65 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___65 = 5,
    _CS_LFS_CFLAGS___65 = 1000,
    _CS_LFS_LDFLAGS___65 = 1001,
    _CS_LFS_LIBS___65 = 1002,
    _CS_LFS_LINTFLAGS___65 = 1003,
    _CS_LFS64_CFLAGS___65 = 1004,
    _CS_LFS64_LDFLAGS___65 = 1005,
    _CS_LFS64_LIBS___65 = 1006,
    _CS_LFS64_LINTFLAGS___65 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___65 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___65 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___65 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___65 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___65 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___65 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___65 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___65 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___65 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___65 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___65 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___65 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___65 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___65 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___65 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___65 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___65 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___65 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___65 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___65 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___65 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___65 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___65 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___65 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___65 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___65 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___65 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___65 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___65 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___65 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___65 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___65 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___65 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___65 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___65 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___65 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___65 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___65 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___65 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___65 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___65 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___65 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___65 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___65 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___65 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___65 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___65 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___65 = 1147,
    _CS_V6_ENV___65 = 1148,
    _CS_V7_ENV___65 = 1149
} ;
enum __anonenum_513775621___65 {
    DT_UNKNOWN___65 = 0,
    DT_FIFO___65 = 1,
    DT_CHR___65 = 2,
    DT_DIR___65 = 4,
    DT_BLK___65 = 6,
    DT_REG___65 = 8,
    DT_LNK___65 = 10,
    DT_SOCK___65 = 12,
    DT_WHT___65 = 14
} ;
enum __anonenum_77002343___65 {
    SI_ASYNCNL___65 = -60,
    SI_TKILL___65 = -6,
    SI_SIGIO___65 = -5,
    SI_ASYNCIO___65 = -4,
    SI_MESGQ___65 = -3,
    SI_TIMER___65 = -2,
    SI_QUEUE___65 = -1,
    SI_USER___65 = 0,
    SI_KERNEL___65 = 128
} ;
enum __anonenum_131038172___65 {
    ILL_ILLOPC___65 = 1,
    ILL_ILLOPN___65 = 2,
    ILL_ILLADR___65 = 3,
    ILL_ILLTRP___65 = 4,
    ILL_PRVOPC___65 = 5,
    ILL_PRVREG___65 = 6,
    ILL_COPROC___65 = 7,
    ILL_BADSTK___65 = 8
} ;
enum __anonenum_452038093___65 {
    FPE_INTDIV___65 = 1,
    FPE_INTOVF___65 = 2,
    FPE_FLTDIV___65 = 3,
    FPE_FLTOVF___65 = 4,
    FPE_FLTUND___65 = 5,
    FPE_FLTRES___65 = 6,
    FPE_FLTINV___65 = 7,
    FPE_FLTSUB___65 = 8
} ;
enum __anonenum_30976155___65 {
    SEGV_MAPERR___65 = 1,
    SEGV_ACCERR___65 = 2,
    SEGV_BNDERR___65 = 3,
    SEGV_PKUERR___65 = 4
} ;
enum __anonenum_1036286214___65 {
    BUS_ADRALN___65 = 1,
    BUS_ADRERR___65 = 2,
    BUS_OBJERR___65 = 3,
    BUS_MCEERR_AR___65 = 4,
    BUS_MCEERR_AO___65 = 5
} ;
enum __anonenum_493465559___65 {
    TRAP_BRKPT___65 = 1,
    TRAP_TRACE___65 = 2
} ;
enum __anonenum_23175539___65 {
    CLD_EXITED___65 = 1,
    CLD_KILLED___65 = 2,
    CLD_DUMPED___65 = 3,
    CLD_TRAPPED___65 = 4,
    CLD_STOPPED___65 = 5,
    CLD_CONTINUED___65 = 6
} ;
enum __anonenum_111643124___65 {
    POLL_IN___65 = 1,
    POLL_OUT___65 = 2,
    POLL_MSG___65 = 3,
    POLL_ERR___65 = 4,
    POLL_PRI___65 = 5,
    POLL_HUP___65 = 6
} ;
enum __anonenum_852341087___65 {
    SIGEV_SIGNAL___65 = 0,
    SIGEV_NONE___65 = 1,
    SIGEV_THREAD___65 = 2,
    SIGEV_THREAD_ID___65 = 4
} ;
enum __anonenum_451154152___65 {
    REG_R8___65 = 0,
    REG_R9___65 = 1,
    REG_R10___65 = 2,
    REG_R11___65 = 3,
    REG_R12___65 = 4,
    REG_R13___65 = 5,
    REG_R14___65 = 6,
    REG_R15___65 = 7,
    REG_RDI___65 = 8,
    REG_RSI___65 = 9,
    REG_RBP___65 = 10,
    REG_RBX___65 = 11,
    REG_RDX___65 = 12,
    REG_RAX___65 = 13,
    REG_RCX___65 = 14,
    REG_RSP___65 = 15,
    REG_RIP___65 = 16,
    REG_EFL___65 = 17,
    REG_CSGSFS___65 = 18,
    REG_ERR___65 = 19,
    REG_TRAPNO___65 = 20,
    REG_OLDMASK___65 = 21,
    REG_CR2___65 = 22
} ;
enum __anonenum_57186863___65 {
    SS_ONSTACK___65 = 1,
    SS_DISABLE___65 = 2
} ;
enum __anonenum_83571709___65 {
    MSG_OOB___65 = 1,
    MSG_PEEK___65 = 2,
    MSG_DONTROUTE___65 = 4,
    MSG_TRYHARD___65 = 4,
    MSG_CTRUNC___65 = 8,
    MSG_PROXY___65 = 16,
    MSG_TRUNC___65 = 32,
    MSG_DONTWAIT___65 = 64,
    MSG_EOR___65 = 128,
    MSG_WAITALL___65 = 256,
    MSG_FIN___65 = 512,
    MSG_SYN___65 = 1024,
    MSG_CONFIRM___65 = 2048,
    MSG_RST___65 = 4096,
    MSG_ERRQUEUE___65 = 8192,
    MSG_NOSIGNAL___65 = 16384,
    MSG_MORE___65 = 32768,
    MSG_WAITFORONE___65 = 65536,
    MSG_BATCH___65 = 262144,
    MSG_ZEROCOPY___65 = 67108864,
    MSG_FASTOPEN___65 = 536870912,
    MSG_CMSG_CLOEXEC___65 = 1073741824
} ;
enum __anonenum_617082774___65 {
    SCM_RIGHTS___65 = 1,
    SCM_CREDENTIALS___65 = 2
} ;
enum __anonenum_606441560___65 {
    SHUT_RD___65 = 0,
    SHUT_WR___65 = 1,
    SHUT_RDWR___65 = 2
} ;
enum __anonenum_681669233___65 {
    IPPROTO_IP___65 = 0,
    IPPROTO_ICMP___65 = 1,
    IPPROTO_IGMP___65 = 2,
    IPPROTO_IPIP___65 = 4,
    IPPROTO_TCP___65 = 6,
    IPPROTO_EGP___65 = 8,
    IPPROTO_PUP___65 = 12,
    IPPROTO_UDP___65 = 17,
    IPPROTO_IDP___65 = 22,
    IPPROTO_TP___65 = 29,
    IPPROTO_DCCP___65 = 33,
    IPPROTO_IPV6___65 = 41,
    IPPROTO_RSVP___65 = 46,
    IPPROTO_GRE___65 = 47,
    IPPROTO_ESP___65 = 50,
    IPPROTO_AH___65 = 51,
    IPPROTO_MTP___65 = 92,
    IPPROTO_BEETPH___65 = 94,
    IPPROTO_ENCAP___65 = 98,
    IPPROTO_PIM___65 = 103,
    IPPROTO_COMP___65 = 108,
    IPPROTO_SCTP___65 = 132,
    IPPROTO_UDPLITE___65 = 136,
    IPPROTO_MPLS___65 = 137,
    IPPROTO_RAW___65 = 255,
    IPPROTO_MAX___65 = 256
} ;
enum __anonenum_218739988___65 {
    IPPROTO_HOPOPTS___65 = 0,
    IPPROTO_ROUTING___65 = 43,
    IPPROTO_FRAGMENT___65 = 44,
    IPPROTO_ICMPV6___65 = 58,
    IPPROTO_NONE___65 = 59,
    IPPROTO_DSTOPTS___65 = 60,
    IPPROTO_MH___65 = 135
} ;
enum __anonenum_662268580___65 {
    IPPORT_ECHO___65 = 7,
    IPPORT_DISCARD___65 = 9,
    IPPORT_SYSTAT___65 = 11,
    IPPORT_DAYTIME___65 = 13,
    IPPORT_NETSTAT___65 = 15,
    IPPORT_FTP___65 = 21,
    IPPORT_TELNET___65 = 23,
    IPPORT_SMTP___65 = 25,
    IPPORT_TIMESERVER___65 = 37,
    IPPORT_NAMESERVER___65 = 42,
    IPPORT_WHOIS___65 = 43,
    IPPORT_MTP___65 = 57,
    IPPORT_TFTP___65 = 69,
    IPPORT_RJE___65 = 77,
    IPPORT_FINGER___65 = 79,
    IPPORT_TTYLINK___65 = 87,
    IPPORT_SUPDUP___65 = 95,
    IPPORT_EXECSERVER___65 = 512,
    IPPORT_LOGINSERVER___65 = 513,
    IPPORT_CMDSERVER___65 = 514,
    IPPORT_EFSSERVER___65 = 520,
    IPPORT_BIFFUDP___65 = 512,
    IPPORT_WHOSERVER___65 = 513,
    IPPORT_ROUTESERVER___65 = 520,
    IPPORT_RESERVED___65 = 1024,
    IPPORT_USERRESERVED___65 = 5000
} ;
enum __anonenum_788308992___65 {
    TCP_ESTABLISHED___65 = 1,
    TCP_SYN_SENT___65 = 2,
    TCP_SYN_RECV___65 = 3,
    TCP_FIN_WAIT1___65 = 4,
    TCP_FIN_WAIT2___65 = 5,
    TCP_TIME_WAIT___65 = 6,
    TCP_CLOSE___65 = 7,
    TCP_CLOSE_WAIT___65 = 8,
    TCP_LAST_ACK___65 = 9,
    TCP_LISTEN___65 = 10,
    TCP_CLOSING___65 = 11
} ;
enum __anonenum_221125648___65 {
    TCP_NO_QUEUE___65 = 0,
    TCP_RECV_QUEUE___65 = 1,
    TCP_SEND_QUEUE___65 = 2,
    TCP_QUEUES_NR___65 = 3
} ;
enum __anonenum_34415463___65 {
    PTHREAD_CREATE_JOINABLE___65 = 0,
    PTHREAD_CREATE_DETACHED___65 = 1
} ;
enum __anonenum_303612439___65 {
    PTHREAD_MUTEX_TIMED_NP___65 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___65 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___65 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___65 = 3,
    PTHREAD_MUTEX_NORMAL___65 = 0,
    PTHREAD_MUTEX_RECURSIVE___65 = 1,
    PTHREAD_MUTEX_ERRORCHECK___65 = 2,
    PTHREAD_MUTEX_DEFAULT___65 = 0,
    PTHREAD_MUTEX_FAST_NP___65 = 0
} ;
enum __anonenum_931900394___65 {
    PTHREAD_MUTEX_STALLED___65 = 0,
    PTHREAD_MUTEX_STALLED_NP___65 = 0,
    PTHREAD_MUTEX_ROBUST___65 = 1,
    PTHREAD_MUTEX_ROBUST_NP___65 = 1
} ;
enum __anonenum_205214487___65 {
    PTHREAD_PRIO_NONE___65 = 0,
    PTHREAD_PRIO_INHERIT___65 = 1,
    PTHREAD_PRIO_PROTECT___65 = 2
} ;
enum __anonenum_25043950___65 {
    PTHREAD_RWLOCK_PREFER_READER_NP___65 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___65 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___65 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___65 = 0
} ;
enum __anonenum_436439511___65 {
    PTHREAD_INHERIT_SCHED___65 = 0,
    PTHREAD_EXPLICIT_SCHED___65 = 1
} ;
enum __anonenum_998661166___65 {
    PTHREAD_SCOPE_SYSTEM___65 = 0,
    PTHREAD_SCOPE_PROCESS___65 = 1
} ;
enum __anonenum_146137331___65 {
    PTHREAD_PROCESS_PRIVATE___65 = 0,
    PTHREAD_PROCESS_SHARED___65 = 1
} ;
enum __anonenum_53396917___65 {
    PTHREAD_CANCEL_ENABLE___65 = 0,
    PTHREAD_CANCEL_DISABLE___65 = 1
} ;
enum __anonenum_904563783___65 {
    PTHREAD_CANCEL_DEFERRED___65 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___65 = 1
} ;
enum __anonenum_672052974___65 {
    SSL_CT_VALIDATION_PERMISSIVE___65 = 0,
    SSL_CT_VALIDATION_STRICT___65 = 1
} ;
enum __anonenum_437032235___66 {
    _PC_LINK_MAX___66 = 0,
    _PC_MAX_CANON___66 = 1,
    _PC_MAX_INPUT___66 = 2,
    _PC_NAME_MAX___66 = 3,
    _PC_PATH_MAX___66 = 4,
    _PC_PIPE_BUF___66 = 5,
    _PC_CHOWN_RESTRICTED___66 = 6,
    _PC_NO_TRUNC___66 = 7,
    _PC_VDISABLE___66 = 8,
    _PC_SYNC_IO___66 = 9,
    _PC_ASYNC_IO___66 = 10,
    _PC_PRIO_IO___66 = 11,
    _PC_SOCK_MAXBUF___66 = 12,
    _PC_FILESIZEBITS___66 = 13,
    _PC_REC_INCR_XFER_SIZE___66 = 14,
    _PC_REC_MAX_XFER_SIZE___66 = 15,
    _PC_REC_MIN_XFER_SIZE___66 = 16,
    _PC_REC_XFER_ALIGN___66 = 17,
    _PC_ALLOC_SIZE_MIN___66 = 18,
    _PC_SYMLINK_MAX___66 = 19,
    _PC_2_SYMLINKS___66 = 20
} ;
enum __anonenum_315186338___66 {
    _SC_ARG_MAX___66 = 0,
    _SC_CHILD_MAX___66 = 1,
    _SC_CLK_TCK___66 = 2,
    _SC_NGROUPS_MAX___66 = 3,
    _SC_OPEN_MAX___66 = 4,
    _SC_STREAM_MAX___66 = 5,
    _SC_TZNAME_MAX___66 = 6,
    _SC_JOB_CONTROL___66 = 7,
    _SC_SAVED_IDS___66 = 8,
    _SC_REALTIME_SIGNALS___66 = 9,
    _SC_PRIORITY_SCHEDULING___66 = 10,
    _SC_TIMERS___66 = 11,
    _SC_ASYNCHRONOUS_IO___66 = 12,
    _SC_PRIORITIZED_IO___66 = 13,
    _SC_SYNCHRONIZED_IO___66 = 14,
    _SC_FSYNC___66 = 15,
    _SC_MAPPED_FILES___66 = 16,
    _SC_MEMLOCK___66 = 17,
    _SC_MEMLOCK_RANGE___66 = 18,
    _SC_MEMORY_PROTECTION___66 = 19,
    _SC_MESSAGE_PASSING___66 = 20,
    _SC_SEMAPHORES___66 = 21,
    _SC_SHARED_MEMORY_OBJECTS___66 = 22,
    _SC_AIO_LISTIO_MAX___66 = 23,
    _SC_AIO_MAX___66 = 24,
    _SC_AIO_PRIO_DELTA_MAX___66 = 25,
    _SC_DELAYTIMER_MAX___66 = 26,
    _SC_MQ_OPEN_MAX___66 = 27,
    _SC_MQ_PRIO_MAX___66 = 28,
    _SC_VERSION___66 = 29,
    _SC_PAGESIZE___66 = 30,
    _SC_RTSIG_MAX___66 = 31,
    _SC_SEM_NSEMS_MAX___66 = 32,
    _SC_SEM_VALUE_MAX___66 = 33,
    _SC_SIGQUEUE_MAX___66 = 34,
    _SC_TIMER_MAX___66 = 35,
    _SC_BC_BASE_MAX___66 = 36,
    _SC_BC_DIM_MAX___66 = 37,
    _SC_BC_SCALE_MAX___66 = 38,
    _SC_BC_STRING_MAX___66 = 39,
    _SC_COLL_WEIGHTS_MAX___66 = 40,
    _SC_EQUIV_CLASS_MAX___66 = 41,
    _SC_EXPR_NEST_MAX___66 = 42,
    _SC_LINE_MAX___66 = 43,
    _SC_RE_DUP_MAX___66 = 44,
    _SC_CHARCLASS_NAME_MAX___66 = 45,
    _SC_2_VERSION___66 = 46,
    _SC_2_C_BIND___66 = 47,
    _SC_2_C_DEV___66 = 48,
    _SC_2_FORT_DEV___66 = 49,
    _SC_2_FORT_RUN___66 = 50,
    _SC_2_SW_DEV___66 = 51,
    _SC_2_LOCALEDEF___66 = 52,
    _SC_PII___66 = 53,
    _SC_PII_XTI___66 = 54,
    _SC_PII_SOCKET___66 = 55,
    _SC_PII_INTERNET___66 = 56,
    _SC_PII_OSI___66 = 57,
    _SC_POLL___66 = 58,
    _SC_SELECT___66 = 59,
    _SC_UIO_MAXIOV___66 = 60,
    _SC_IOV_MAX___66 = 60,
    _SC_PII_INTERNET_STREAM___66 = 61,
    _SC_PII_INTERNET_DGRAM___66 = 62,
    _SC_PII_OSI_COTS___66 = 63,
    _SC_PII_OSI_CLTS___66 = 64,
    _SC_PII_OSI_M___66 = 65,
    _SC_T_IOV_MAX___66 = 66,
    _SC_THREADS___66 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___66 = 68,
    _SC_GETGR_R_SIZE_MAX___66 = 69,
    _SC_GETPW_R_SIZE_MAX___66 = 70,
    _SC_LOGIN_NAME_MAX___66 = 71,
    _SC_TTY_NAME_MAX___66 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___66 = 73,
    _SC_THREAD_KEYS_MAX___66 = 74,
    _SC_THREAD_STACK_MIN___66 = 75,
    _SC_THREAD_THREADS_MAX___66 = 76,
    _SC_THREAD_ATTR_STACKADDR___66 = 77,
    _SC_THREAD_ATTR_STACKSIZE___66 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___66 = 79,
    _SC_THREAD_PRIO_INHERIT___66 = 80,
    _SC_THREAD_PRIO_PROTECT___66 = 81,
    _SC_THREAD_PROCESS_SHARED___66 = 82,
    _SC_NPROCESSORS_CONF___66 = 83,
    _SC_NPROCESSORS_ONLN___66 = 84,
    _SC_PHYS_PAGES___66 = 85,
    _SC_AVPHYS_PAGES___66 = 86,
    _SC_ATEXIT_MAX___66 = 87,
    _SC_PASS_MAX___66 = 88,
    _SC_XOPEN_VERSION___66 = 89,
    _SC_XOPEN_XCU_VERSION___66 = 90,
    _SC_XOPEN_UNIX___66 = 91,
    _SC_XOPEN_CRYPT___66 = 92,
    _SC_XOPEN_ENH_I18N___66 = 93,
    _SC_XOPEN_SHM___66 = 94,
    _SC_2_CHAR_TERM___66 = 95,
    _SC_2_C_VERSION___66 = 96,
    _SC_2_UPE___66 = 97,
    _SC_XOPEN_XPG2___66 = 98,
    _SC_XOPEN_XPG3___66 = 99,
    _SC_XOPEN_XPG4___66 = 100,
    _SC_CHAR_BIT___66 = 101,
    _SC_CHAR_MAX___66 = 102,
    _SC_CHAR_MIN___66 = 103,
    _SC_INT_MAX___66 = 104,
    _SC_INT_MIN___66 = 105,
    _SC_LONG_BIT___66 = 106,
    _SC_WORD_BIT___66 = 107,
    _SC_MB_LEN_MAX___66 = 108,
    _SC_NZERO___66 = 109,
    _SC_SSIZE_MAX___66 = 110,
    _SC_SCHAR_MAX___66 = 111,
    _SC_SCHAR_MIN___66 = 112,
    _SC_SHRT_MAX___66 = 113,
    _SC_SHRT_MIN___66 = 114,
    _SC_UCHAR_MAX___66 = 115,
    _SC_UINT_MAX___66 = 116,
    _SC_ULONG_MAX___66 = 117,
    _SC_USHRT_MAX___66 = 118,
    _SC_NL_ARGMAX___66 = 119,
    _SC_NL_LANGMAX___66 = 120,
    _SC_NL_MSGMAX___66 = 121,
    _SC_NL_NMAX___66 = 122,
    _SC_NL_SETMAX___66 = 123,
    _SC_NL_TEXTMAX___66 = 124,
    _SC_XBS5_ILP32_OFF32___66 = 125,
    _SC_XBS5_ILP32_OFFBIG___66 = 126,
    _SC_XBS5_LP64_OFF64___66 = 127,
    _SC_XBS5_LPBIG_OFFBIG___66 = 128,
    _SC_XOPEN_LEGACY___66 = 129,
    _SC_XOPEN_REALTIME___66 = 130,
    _SC_XOPEN_REALTIME_THREADS___66 = 131,
    _SC_ADVISORY_INFO___66 = 132,
    _SC_BARRIERS___66 = 133,
    _SC_BASE___66 = 134,
    _SC_C_LANG_SUPPORT___66 = 135,
    _SC_C_LANG_SUPPORT_R___66 = 136,
    _SC_CLOCK_SELECTION___66 = 137,
    _SC_CPUTIME___66 = 138,
    _SC_THREAD_CPUTIME___66 = 139,
    _SC_DEVICE_IO___66 = 140,
    _SC_DEVICE_SPECIFIC___66 = 141,
    _SC_DEVICE_SPECIFIC_R___66 = 142,
    _SC_FD_MGMT___66 = 143,
    _SC_FIFO___66 = 144,
    _SC_PIPE___66 = 145,
    _SC_FILE_ATTRIBUTES___66 = 146,
    _SC_FILE_LOCKING___66 = 147,
    _SC_FILE_SYSTEM___66 = 148,
    _SC_MONOTONIC_CLOCK___66 = 149,
    _SC_MULTI_PROCESS___66 = 150,
    _SC_SINGLE_PROCESS___66 = 151,
    _SC_NETWORKING___66 = 152,
    _SC_READER_WRITER_LOCKS___66 = 153,
    _SC_SPIN_LOCKS___66 = 154,
    _SC_REGEXP___66 = 155,
    _SC_REGEX_VERSION___66 = 156,
    _SC_SHELL___66 = 157,
    _SC_SIGNALS___66 = 158,
    _SC_SPAWN___66 = 159,
    _SC_SPORADIC_SERVER___66 = 160,
    _SC_THREAD_SPORADIC_SERVER___66 = 161,
    _SC_SYSTEM_DATABASE___66 = 162,
    _SC_SYSTEM_DATABASE_R___66 = 163,
    _SC_TIMEOUTS___66 = 164,
    _SC_TYPED_MEMORY_OBJECTS___66 = 165,
    _SC_USER_GROUPS___66 = 166,
    _SC_USER_GROUPS_R___66 = 167,
    _SC_2_PBS___66 = 168,
    _SC_2_PBS_ACCOUNTING___66 = 169,
    _SC_2_PBS_LOCATE___66 = 170,
    _SC_2_PBS_MESSAGE___66 = 171,
    _SC_2_PBS_TRACK___66 = 172,
    _SC_SYMLOOP_MAX___66 = 173,
    _SC_STREAMS___66 = 174,
    _SC_2_PBS_CHECKPOINT___66 = 175,
    _SC_V6_ILP32_OFF32___66 = 176,
    _SC_V6_ILP32_OFFBIG___66 = 177,
    _SC_V6_LP64_OFF64___66 = 178,
    _SC_V6_LPBIG_OFFBIG___66 = 179,
    _SC_HOST_NAME_MAX___66 = 180,
    _SC_TRACE___66 = 181,
    _SC_TRACE_EVENT_FILTER___66 = 182,
    _SC_TRACE_INHERIT___66 = 183,
    _SC_TRACE_LOG___66 = 184,
    _SC_LEVEL1_ICACHE_SIZE___66 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___66 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___66 = 187,
    _SC_LEVEL1_DCACHE_SIZE___66 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___66 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___66 = 190,
    _SC_LEVEL2_CACHE_SIZE___66 = 191,
    _SC_LEVEL2_CACHE_ASSOC___66 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___66 = 193,
    _SC_LEVEL3_CACHE_SIZE___66 = 194,
    _SC_LEVEL3_CACHE_ASSOC___66 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___66 = 196,
    _SC_LEVEL4_CACHE_SIZE___66 = 197,
    _SC_LEVEL4_CACHE_ASSOC___66 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___66 = 199,
    _SC_IPV6___66 = 235,
    _SC_RAW_SOCKETS___66 = 236,
    _SC_V7_ILP32_OFF32___66 = 237,
    _SC_V7_ILP32_OFFBIG___66 = 238,
    _SC_V7_LP64_OFF64___66 = 239,
    _SC_V7_LPBIG_OFFBIG___66 = 240,
    _SC_SS_REPL_MAX___66 = 241,
    _SC_TRACE_EVENT_NAME_MAX___66 = 242,
    _SC_TRACE_NAME_MAX___66 = 243,
    _SC_TRACE_SYS_MAX___66 = 244,
    _SC_TRACE_USER_EVENT_MAX___66 = 245,
    _SC_XOPEN_STREAMS___66 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___66 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___66 = 248
} ;
enum __anonenum_875524036___66 {
    _CS_PATH___66 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___66 = 1,
    _CS_GNU_LIBC_VERSION___66 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___66 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___66 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___66 = 5,
    _CS_LFS_CFLAGS___66 = 1000,
    _CS_LFS_LDFLAGS___66 = 1001,
    _CS_LFS_LIBS___66 = 1002,
    _CS_LFS_LINTFLAGS___66 = 1003,
    _CS_LFS64_CFLAGS___66 = 1004,
    _CS_LFS64_LDFLAGS___66 = 1005,
    _CS_LFS64_LIBS___66 = 1006,
    _CS_LFS64_LINTFLAGS___66 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___66 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___66 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___66 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___66 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___66 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___66 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___66 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___66 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___66 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___66 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___66 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___66 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___66 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___66 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___66 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___66 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___66 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___66 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___66 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___66 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___66 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___66 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___66 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___66 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___66 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___66 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___66 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___66 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___66 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___66 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___66 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___66 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___66 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___66 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___66 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___66 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___66 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___66 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___66 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___66 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___66 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___66 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___66 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___66 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___66 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___66 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___66 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___66 = 1147,
    _CS_V6_ENV___66 = 1148,
    _CS_V7_ENV___66 = 1149
} ;
enum __anonenum_513775621___66 {
    DT_UNKNOWN___66 = 0,
    DT_FIFO___66 = 1,
    DT_CHR___66 = 2,
    DT_DIR___66 = 4,
    DT_BLK___66 = 6,
    DT_REG___66 = 8,
    DT_LNK___66 = 10,
    DT_SOCK___66 = 12,
    DT_WHT___66 = 14
} ;
enum __anonenum_77002343___66 {
    SI_ASYNCNL___66 = -60,
    SI_TKILL___66 = -6,
    SI_SIGIO___66 = -5,
    SI_ASYNCIO___66 = -4,
    SI_MESGQ___66 = -3,
    SI_TIMER___66 = -2,
    SI_QUEUE___66 = -1,
    SI_USER___66 = 0,
    SI_KERNEL___66 = 128
} ;
enum __anonenum_131038172___66 {
    ILL_ILLOPC___66 = 1,
    ILL_ILLOPN___66 = 2,
    ILL_ILLADR___66 = 3,
    ILL_ILLTRP___66 = 4,
    ILL_PRVOPC___66 = 5,
    ILL_PRVREG___66 = 6,
    ILL_COPROC___66 = 7,
    ILL_BADSTK___66 = 8
} ;
enum __anonenum_452038093___66 {
    FPE_INTDIV___66 = 1,
    FPE_INTOVF___66 = 2,
    FPE_FLTDIV___66 = 3,
    FPE_FLTOVF___66 = 4,
    FPE_FLTUND___66 = 5,
    FPE_FLTRES___66 = 6,
    FPE_FLTINV___66 = 7,
    FPE_FLTSUB___66 = 8
} ;
enum __anonenum_30976155___66 {
    SEGV_MAPERR___66 = 1,
    SEGV_ACCERR___66 = 2,
    SEGV_BNDERR___66 = 3,
    SEGV_PKUERR___66 = 4
} ;
enum __anonenum_1036286214___66 {
    BUS_ADRALN___66 = 1,
    BUS_ADRERR___66 = 2,
    BUS_OBJERR___66 = 3,
    BUS_MCEERR_AR___66 = 4,
    BUS_MCEERR_AO___66 = 5
} ;
enum __anonenum_493465559___66 {
    TRAP_BRKPT___66 = 1,
    TRAP_TRACE___66 = 2
} ;
enum __anonenum_23175539___66 {
    CLD_EXITED___66 = 1,
    CLD_KILLED___66 = 2,
    CLD_DUMPED___66 = 3,
    CLD_TRAPPED___66 = 4,
    CLD_STOPPED___66 = 5,
    CLD_CONTINUED___66 = 6
} ;
enum __anonenum_111643124___66 {
    POLL_IN___66 = 1,
    POLL_OUT___66 = 2,
    POLL_MSG___66 = 3,
    POLL_ERR___66 = 4,
    POLL_PRI___66 = 5,
    POLL_HUP___66 = 6
} ;
enum __anonenum_852341087___66 {
    SIGEV_SIGNAL___66 = 0,
    SIGEV_NONE___66 = 1,
    SIGEV_THREAD___66 = 2,
    SIGEV_THREAD_ID___66 = 4
} ;
enum __anonenum_451154152___66 {
    REG_R8___66 = 0,
    REG_R9___66 = 1,
    REG_R10___66 = 2,
    REG_R11___66 = 3,
    REG_R12___66 = 4,
    REG_R13___66 = 5,
    REG_R14___66 = 6,
    REG_R15___66 = 7,
    REG_RDI___66 = 8,
    REG_RSI___66 = 9,
    REG_RBP___66 = 10,
    REG_RBX___66 = 11,
    REG_RDX___66 = 12,
    REG_RAX___66 = 13,
    REG_RCX___66 = 14,
    REG_RSP___66 = 15,
    REG_RIP___66 = 16,
    REG_EFL___66 = 17,
    REG_CSGSFS___66 = 18,
    REG_ERR___66 = 19,
    REG_TRAPNO___66 = 20,
    REG_OLDMASK___66 = 21,
    REG_CR2___66 = 22
} ;
enum __anonenum_57186863___66 {
    SS_ONSTACK___66 = 1,
    SS_DISABLE___66 = 2
} ;
enum __anonenum_83571709___66 {
    MSG_OOB___66 = 1,
    MSG_PEEK___66 = 2,
    MSG_DONTROUTE___66 = 4,
    MSG_TRYHARD___66 = 4,
    MSG_CTRUNC___66 = 8,
    MSG_PROXY___66 = 16,
    MSG_TRUNC___66 = 32,
    MSG_DONTWAIT___66 = 64,
    MSG_EOR___66 = 128,
    MSG_WAITALL___66 = 256,
    MSG_FIN___66 = 512,
    MSG_SYN___66 = 1024,
    MSG_CONFIRM___66 = 2048,
    MSG_RST___66 = 4096,
    MSG_ERRQUEUE___66 = 8192,
    MSG_NOSIGNAL___66 = 16384,
    MSG_MORE___66 = 32768,
    MSG_WAITFORONE___66 = 65536,
    MSG_BATCH___66 = 262144,
    MSG_ZEROCOPY___66 = 67108864,
    MSG_FASTOPEN___66 = 536870912,
    MSG_CMSG_CLOEXEC___66 = 1073741824
} ;
enum __anonenum_617082774___66 {
    SCM_RIGHTS___66 = 1,
    SCM_CREDENTIALS___66 = 2
} ;
enum __anonenum_606441560___66 {
    SHUT_RD___66 = 0,
    SHUT_WR___66 = 1,
    SHUT_RDWR___66 = 2
} ;
enum __anonenum_681669233___66 {
    IPPROTO_IP___66 = 0,
    IPPROTO_ICMP___66 = 1,
    IPPROTO_IGMP___66 = 2,
    IPPROTO_IPIP___66 = 4,
    IPPROTO_TCP___66 = 6,
    IPPROTO_EGP___66 = 8,
    IPPROTO_PUP___66 = 12,
    IPPROTO_UDP___66 = 17,
    IPPROTO_IDP___66 = 22,
    IPPROTO_TP___66 = 29,
    IPPROTO_DCCP___66 = 33,
    IPPROTO_IPV6___66 = 41,
    IPPROTO_RSVP___66 = 46,
    IPPROTO_GRE___66 = 47,
    IPPROTO_ESP___66 = 50,
    IPPROTO_AH___66 = 51,
    IPPROTO_MTP___66 = 92,
    IPPROTO_BEETPH___66 = 94,
    IPPROTO_ENCAP___66 = 98,
    IPPROTO_PIM___66 = 103,
    IPPROTO_COMP___66 = 108,
    IPPROTO_SCTP___66 = 132,
    IPPROTO_UDPLITE___66 = 136,
    IPPROTO_MPLS___66 = 137,
    IPPROTO_RAW___66 = 255,
    IPPROTO_MAX___66 = 256
} ;
enum __anonenum_218739988___66 {
    IPPROTO_HOPOPTS___66 = 0,
    IPPROTO_ROUTING___66 = 43,
    IPPROTO_FRAGMENT___66 = 44,
    IPPROTO_ICMPV6___66 = 58,
    IPPROTO_NONE___66 = 59,
    IPPROTO_DSTOPTS___66 = 60,
    IPPROTO_MH___66 = 135
} ;
enum __anonenum_662268580___66 {
    IPPORT_ECHO___66 = 7,
    IPPORT_DISCARD___66 = 9,
    IPPORT_SYSTAT___66 = 11,
    IPPORT_DAYTIME___66 = 13,
    IPPORT_NETSTAT___66 = 15,
    IPPORT_FTP___66 = 21,
    IPPORT_TELNET___66 = 23,
    IPPORT_SMTP___66 = 25,
    IPPORT_TIMESERVER___66 = 37,
    IPPORT_NAMESERVER___66 = 42,
    IPPORT_WHOIS___66 = 43,
    IPPORT_MTP___66 = 57,
    IPPORT_TFTP___66 = 69,
    IPPORT_RJE___66 = 77,
    IPPORT_FINGER___66 = 79,
    IPPORT_TTYLINK___66 = 87,
    IPPORT_SUPDUP___66 = 95,
    IPPORT_EXECSERVER___66 = 512,
    IPPORT_LOGINSERVER___66 = 513,
    IPPORT_CMDSERVER___66 = 514,
    IPPORT_EFSSERVER___66 = 520,
    IPPORT_BIFFUDP___66 = 512,
    IPPORT_WHOSERVER___66 = 513,
    IPPORT_ROUTESERVER___66 = 520,
    IPPORT_RESERVED___66 = 1024,
    IPPORT_USERRESERVED___66 = 5000
} ;
enum __anonenum_788308992___66 {
    TCP_ESTABLISHED___66 = 1,
    TCP_SYN_SENT___66 = 2,
    TCP_SYN_RECV___66 = 3,
    TCP_FIN_WAIT1___66 = 4,
    TCP_FIN_WAIT2___66 = 5,
    TCP_TIME_WAIT___66 = 6,
    TCP_CLOSE___66 = 7,
    TCP_CLOSE_WAIT___66 = 8,
    TCP_LAST_ACK___66 = 9,
    TCP_LISTEN___66 = 10,
    TCP_CLOSING___66 = 11
} ;
enum __anonenum_221125648___66 {
    TCP_NO_QUEUE___66 = 0,
    TCP_RECV_QUEUE___66 = 1,
    TCP_SEND_QUEUE___66 = 2,
    TCP_QUEUES_NR___66 = 3
} ;
enum __anonenum_34415463___66 {
    PTHREAD_CREATE_JOINABLE___66 = 0,
    PTHREAD_CREATE_DETACHED___66 = 1
} ;
enum __anonenum_303612439___66 {
    PTHREAD_MUTEX_TIMED_NP___66 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___66 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___66 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___66 = 3,
    PTHREAD_MUTEX_NORMAL___66 = 0,
    PTHREAD_MUTEX_RECURSIVE___66 = 1,
    PTHREAD_MUTEX_ERRORCHECK___66 = 2,
    PTHREAD_MUTEX_DEFAULT___66 = 0,
    PTHREAD_MUTEX_FAST_NP___66 = 0
} ;
enum __anonenum_931900394___66 {
    PTHREAD_MUTEX_STALLED___66 = 0,
    PTHREAD_MUTEX_STALLED_NP___66 = 0,
    PTHREAD_MUTEX_ROBUST___66 = 1,
    PTHREAD_MUTEX_ROBUST_NP___66 = 1
} ;
enum __anonenum_205214487___66 {
    PTHREAD_PRIO_NONE___66 = 0,
    PTHREAD_PRIO_INHERIT___66 = 1,
    PTHREAD_PRIO_PROTECT___66 = 2
} ;
enum __anonenum_25043950___66 {
    PTHREAD_RWLOCK_PREFER_READER_NP___66 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___66 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___66 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___66 = 0
} ;
enum __anonenum_436439511___66 {
    PTHREAD_INHERIT_SCHED___66 = 0,
    PTHREAD_EXPLICIT_SCHED___66 = 1
} ;
enum __anonenum_998661166___66 {
    PTHREAD_SCOPE_SYSTEM___66 = 0,
    PTHREAD_SCOPE_PROCESS___66 = 1
} ;
enum __anonenum_146137331___66 {
    PTHREAD_PROCESS_PRIVATE___66 = 0,
    PTHREAD_PROCESS_SHARED___66 = 1
} ;
enum __anonenum_53396917___66 {
    PTHREAD_CANCEL_ENABLE___66 = 0,
    PTHREAD_CANCEL_DISABLE___66 = 1
} ;
enum __anonenum_904563783___66 {
    PTHREAD_CANCEL_DEFERRED___66 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___66 = 1
} ;
enum __anonenum_672052974___66 {
    SSL_CT_VALIDATION_PERMISSIVE___66 = 0,
    SSL_CT_VALIDATION_STRICT___66 = 1
} ;
enum __anonenum_437032235___67 {
    _PC_LINK_MAX___67 = 0,
    _PC_MAX_CANON___67 = 1,
    _PC_MAX_INPUT___67 = 2,
    _PC_NAME_MAX___67 = 3,
    _PC_PATH_MAX___67 = 4,
    _PC_PIPE_BUF___67 = 5,
    _PC_CHOWN_RESTRICTED___67 = 6,
    _PC_NO_TRUNC___67 = 7,
    _PC_VDISABLE___67 = 8,
    _PC_SYNC_IO___67 = 9,
    _PC_ASYNC_IO___67 = 10,
    _PC_PRIO_IO___67 = 11,
    _PC_SOCK_MAXBUF___67 = 12,
    _PC_FILESIZEBITS___67 = 13,
    _PC_REC_INCR_XFER_SIZE___67 = 14,
    _PC_REC_MAX_XFER_SIZE___67 = 15,
    _PC_REC_MIN_XFER_SIZE___67 = 16,
    _PC_REC_XFER_ALIGN___67 = 17,
    _PC_ALLOC_SIZE_MIN___67 = 18,
    _PC_SYMLINK_MAX___67 = 19,
    _PC_2_SYMLINKS___67 = 20
} ;
enum __anonenum_315186338___67 {
    _SC_ARG_MAX___67 = 0,
    _SC_CHILD_MAX___67 = 1,
    _SC_CLK_TCK___67 = 2,
    _SC_NGROUPS_MAX___67 = 3,
    _SC_OPEN_MAX___67 = 4,
    _SC_STREAM_MAX___67 = 5,
    _SC_TZNAME_MAX___67 = 6,
    _SC_JOB_CONTROL___67 = 7,
    _SC_SAVED_IDS___67 = 8,
    _SC_REALTIME_SIGNALS___67 = 9,
    _SC_PRIORITY_SCHEDULING___67 = 10,
    _SC_TIMERS___67 = 11,
    _SC_ASYNCHRONOUS_IO___67 = 12,
    _SC_PRIORITIZED_IO___67 = 13,
    _SC_SYNCHRONIZED_IO___67 = 14,
    _SC_FSYNC___67 = 15,
    _SC_MAPPED_FILES___67 = 16,
    _SC_MEMLOCK___67 = 17,
    _SC_MEMLOCK_RANGE___67 = 18,
    _SC_MEMORY_PROTECTION___67 = 19,
    _SC_MESSAGE_PASSING___67 = 20,
    _SC_SEMAPHORES___67 = 21,
    _SC_SHARED_MEMORY_OBJECTS___67 = 22,
    _SC_AIO_LISTIO_MAX___67 = 23,
    _SC_AIO_MAX___67 = 24,
    _SC_AIO_PRIO_DELTA_MAX___67 = 25,
    _SC_DELAYTIMER_MAX___67 = 26,
    _SC_MQ_OPEN_MAX___67 = 27,
    _SC_MQ_PRIO_MAX___67 = 28,
    _SC_VERSION___67 = 29,
    _SC_PAGESIZE___67 = 30,
    _SC_RTSIG_MAX___67 = 31,
    _SC_SEM_NSEMS_MAX___67 = 32,
    _SC_SEM_VALUE_MAX___67 = 33,
    _SC_SIGQUEUE_MAX___67 = 34,
    _SC_TIMER_MAX___67 = 35,
    _SC_BC_BASE_MAX___67 = 36,
    _SC_BC_DIM_MAX___67 = 37,
    _SC_BC_SCALE_MAX___67 = 38,
    _SC_BC_STRING_MAX___67 = 39,
    _SC_COLL_WEIGHTS_MAX___67 = 40,
    _SC_EQUIV_CLASS_MAX___67 = 41,
    _SC_EXPR_NEST_MAX___67 = 42,
    _SC_LINE_MAX___67 = 43,
    _SC_RE_DUP_MAX___67 = 44,
    _SC_CHARCLASS_NAME_MAX___67 = 45,
    _SC_2_VERSION___67 = 46,
    _SC_2_C_BIND___67 = 47,
    _SC_2_C_DEV___67 = 48,
    _SC_2_FORT_DEV___67 = 49,
    _SC_2_FORT_RUN___67 = 50,
    _SC_2_SW_DEV___67 = 51,
    _SC_2_LOCALEDEF___67 = 52,
    _SC_PII___67 = 53,
    _SC_PII_XTI___67 = 54,
    _SC_PII_SOCKET___67 = 55,
    _SC_PII_INTERNET___67 = 56,
    _SC_PII_OSI___67 = 57,
    _SC_POLL___67 = 58,
    _SC_SELECT___67 = 59,
    _SC_UIO_MAXIOV___67 = 60,
    _SC_IOV_MAX___67 = 60,
    _SC_PII_INTERNET_STREAM___67 = 61,
    _SC_PII_INTERNET_DGRAM___67 = 62,
    _SC_PII_OSI_COTS___67 = 63,
    _SC_PII_OSI_CLTS___67 = 64,
    _SC_PII_OSI_M___67 = 65,
    _SC_T_IOV_MAX___67 = 66,
    _SC_THREADS___67 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___67 = 68,
    _SC_GETGR_R_SIZE_MAX___67 = 69,
    _SC_GETPW_R_SIZE_MAX___67 = 70,
    _SC_LOGIN_NAME_MAX___67 = 71,
    _SC_TTY_NAME_MAX___67 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___67 = 73,
    _SC_THREAD_KEYS_MAX___67 = 74,
    _SC_THREAD_STACK_MIN___67 = 75,
    _SC_THREAD_THREADS_MAX___67 = 76,
    _SC_THREAD_ATTR_STACKADDR___67 = 77,
    _SC_THREAD_ATTR_STACKSIZE___67 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___67 = 79,
    _SC_THREAD_PRIO_INHERIT___67 = 80,
    _SC_THREAD_PRIO_PROTECT___67 = 81,
    _SC_THREAD_PROCESS_SHARED___67 = 82,
    _SC_NPROCESSORS_CONF___67 = 83,
    _SC_NPROCESSORS_ONLN___67 = 84,
    _SC_PHYS_PAGES___67 = 85,
    _SC_AVPHYS_PAGES___67 = 86,
    _SC_ATEXIT_MAX___67 = 87,
    _SC_PASS_MAX___67 = 88,
    _SC_XOPEN_VERSION___67 = 89,
    _SC_XOPEN_XCU_VERSION___67 = 90,
    _SC_XOPEN_UNIX___67 = 91,
    _SC_XOPEN_CRYPT___67 = 92,
    _SC_XOPEN_ENH_I18N___67 = 93,
    _SC_XOPEN_SHM___67 = 94,
    _SC_2_CHAR_TERM___67 = 95,
    _SC_2_C_VERSION___67 = 96,
    _SC_2_UPE___67 = 97,
    _SC_XOPEN_XPG2___67 = 98,
    _SC_XOPEN_XPG3___67 = 99,
    _SC_XOPEN_XPG4___67 = 100,
    _SC_CHAR_BIT___67 = 101,
    _SC_CHAR_MAX___67 = 102,
    _SC_CHAR_MIN___67 = 103,
    _SC_INT_MAX___67 = 104,
    _SC_INT_MIN___67 = 105,
    _SC_LONG_BIT___67 = 106,
    _SC_WORD_BIT___67 = 107,
    _SC_MB_LEN_MAX___67 = 108,
    _SC_NZERO___67 = 109,
    _SC_SSIZE_MAX___67 = 110,
    _SC_SCHAR_MAX___67 = 111,
    _SC_SCHAR_MIN___67 = 112,
    _SC_SHRT_MAX___67 = 113,
    _SC_SHRT_MIN___67 = 114,
    _SC_UCHAR_MAX___67 = 115,
    _SC_UINT_MAX___67 = 116,
    _SC_ULONG_MAX___67 = 117,
    _SC_USHRT_MAX___67 = 118,
    _SC_NL_ARGMAX___67 = 119,
    _SC_NL_LANGMAX___67 = 120,
    _SC_NL_MSGMAX___67 = 121,
    _SC_NL_NMAX___67 = 122,
    _SC_NL_SETMAX___67 = 123,
    _SC_NL_TEXTMAX___67 = 124,
    _SC_XBS5_ILP32_OFF32___67 = 125,
    _SC_XBS5_ILP32_OFFBIG___67 = 126,
    _SC_XBS5_LP64_OFF64___67 = 127,
    _SC_XBS5_LPBIG_OFFBIG___67 = 128,
    _SC_XOPEN_LEGACY___67 = 129,
    _SC_XOPEN_REALTIME___67 = 130,
    _SC_XOPEN_REALTIME_THREADS___67 = 131,
    _SC_ADVISORY_INFO___67 = 132,
    _SC_BARRIERS___67 = 133,
    _SC_BASE___67 = 134,
    _SC_C_LANG_SUPPORT___67 = 135,
    _SC_C_LANG_SUPPORT_R___67 = 136,
    _SC_CLOCK_SELECTION___67 = 137,
    _SC_CPUTIME___67 = 138,
    _SC_THREAD_CPUTIME___67 = 139,
    _SC_DEVICE_IO___67 = 140,
    _SC_DEVICE_SPECIFIC___67 = 141,
    _SC_DEVICE_SPECIFIC_R___67 = 142,
    _SC_FD_MGMT___67 = 143,
    _SC_FIFO___67 = 144,
    _SC_PIPE___67 = 145,
    _SC_FILE_ATTRIBUTES___67 = 146,
    _SC_FILE_LOCKING___67 = 147,
    _SC_FILE_SYSTEM___67 = 148,
    _SC_MONOTONIC_CLOCK___67 = 149,
    _SC_MULTI_PROCESS___67 = 150,
    _SC_SINGLE_PROCESS___67 = 151,
    _SC_NETWORKING___67 = 152,
    _SC_READER_WRITER_LOCKS___67 = 153,
    _SC_SPIN_LOCKS___67 = 154,
    _SC_REGEXP___67 = 155,
    _SC_REGEX_VERSION___67 = 156,
    _SC_SHELL___67 = 157,
    _SC_SIGNALS___67 = 158,
    _SC_SPAWN___67 = 159,
    _SC_SPORADIC_SERVER___67 = 160,
    _SC_THREAD_SPORADIC_SERVER___67 = 161,
    _SC_SYSTEM_DATABASE___67 = 162,
    _SC_SYSTEM_DATABASE_R___67 = 163,
    _SC_TIMEOUTS___67 = 164,
    _SC_TYPED_MEMORY_OBJECTS___67 = 165,
    _SC_USER_GROUPS___67 = 166,
    _SC_USER_GROUPS_R___67 = 167,
    _SC_2_PBS___67 = 168,
    _SC_2_PBS_ACCOUNTING___67 = 169,
    _SC_2_PBS_LOCATE___67 = 170,
    _SC_2_PBS_MESSAGE___67 = 171,
    _SC_2_PBS_TRACK___67 = 172,
    _SC_SYMLOOP_MAX___67 = 173,
    _SC_STREAMS___67 = 174,
    _SC_2_PBS_CHECKPOINT___67 = 175,
    _SC_V6_ILP32_OFF32___67 = 176,
    _SC_V6_ILP32_OFFBIG___67 = 177,
    _SC_V6_LP64_OFF64___67 = 178,
    _SC_V6_LPBIG_OFFBIG___67 = 179,
    _SC_HOST_NAME_MAX___67 = 180,
    _SC_TRACE___67 = 181,
    _SC_TRACE_EVENT_FILTER___67 = 182,
    _SC_TRACE_INHERIT___67 = 183,
    _SC_TRACE_LOG___67 = 184,
    _SC_LEVEL1_ICACHE_SIZE___67 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___67 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___67 = 187,
    _SC_LEVEL1_DCACHE_SIZE___67 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___67 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___67 = 190,
    _SC_LEVEL2_CACHE_SIZE___67 = 191,
    _SC_LEVEL2_CACHE_ASSOC___67 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___67 = 193,
    _SC_LEVEL3_CACHE_SIZE___67 = 194,
    _SC_LEVEL3_CACHE_ASSOC___67 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___67 = 196,
    _SC_LEVEL4_CACHE_SIZE___67 = 197,
    _SC_LEVEL4_CACHE_ASSOC___67 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___67 = 199,
    _SC_IPV6___67 = 235,
    _SC_RAW_SOCKETS___67 = 236,
    _SC_V7_ILP32_OFF32___67 = 237,
    _SC_V7_ILP32_OFFBIG___67 = 238,
    _SC_V7_LP64_OFF64___67 = 239,
    _SC_V7_LPBIG_OFFBIG___67 = 240,
    _SC_SS_REPL_MAX___67 = 241,
    _SC_TRACE_EVENT_NAME_MAX___67 = 242,
    _SC_TRACE_NAME_MAX___67 = 243,
    _SC_TRACE_SYS_MAX___67 = 244,
    _SC_TRACE_USER_EVENT_MAX___67 = 245,
    _SC_XOPEN_STREAMS___67 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___67 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___67 = 248
} ;
enum __anonenum_875524036___67 {
    _CS_PATH___67 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___67 = 1,
    _CS_GNU_LIBC_VERSION___67 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___67 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___67 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___67 = 5,
    _CS_LFS_CFLAGS___67 = 1000,
    _CS_LFS_LDFLAGS___67 = 1001,
    _CS_LFS_LIBS___67 = 1002,
    _CS_LFS_LINTFLAGS___67 = 1003,
    _CS_LFS64_CFLAGS___67 = 1004,
    _CS_LFS64_LDFLAGS___67 = 1005,
    _CS_LFS64_LIBS___67 = 1006,
    _CS_LFS64_LINTFLAGS___67 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___67 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___67 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___67 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___67 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___67 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___67 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___67 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___67 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___67 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___67 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___67 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___67 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___67 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___67 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___67 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___67 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___67 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___67 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___67 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___67 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___67 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___67 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___67 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___67 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___67 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___67 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___67 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___67 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___67 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___67 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___67 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___67 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___67 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___67 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___67 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___67 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___67 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___67 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___67 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___67 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___67 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___67 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___67 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___67 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___67 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___67 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___67 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___67 = 1147,
    _CS_V6_ENV___67 = 1148,
    _CS_V7_ENV___67 = 1149
} ;
enum __anonenum_513775621___67 {
    DT_UNKNOWN___67 = 0,
    DT_FIFO___67 = 1,
    DT_CHR___67 = 2,
    DT_DIR___67 = 4,
    DT_BLK___67 = 6,
    DT_REG___67 = 8,
    DT_LNK___67 = 10,
    DT_SOCK___67 = 12,
    DT_WHT___67 = 14
} ;
enum __anonenum_77002343___67 {
    SI_ASYNCNL___67 = -60,
    SI_TKILL___67 = -6,
    SI_SIGIO___67 = -5,
    SI_ASYNCIO___67 = -4,
    SI_MESGQ___67 = -3,
    SI_TIMER___67 = -2,
    SI_QUEUE___67 = -1,
    SI_USER___67 = 0,
    SI_KERNEL___67 = 128
} ;
enum __anonenum_131038172___67 {
    ILL_ILLOPC___67 = 1,
    ILL_ILLOPN___67 = 2,
    ILL_ILLADR___67 = 3,
    ILL_ILLTRP___67 = 4,
    ILL_PRVOPC___67 = 5,
    ILL_PRVREG___67 = 6,
    ILL_COPROC___67 = 7,
    ILL_BADSTK___67 = 8
} ;
enum __anonenum_452038093___67 {
    FPE_INTDIV___67 = 1,
    FPE_INTOVF___67 = 2,
    FPE_FLTDIV___67 = 3,
    FPE_FLTOVF___67 = 4,
    FPE_FLTUND___67 = 5,
    FPE_FLTRES___67 = 6,
    FPE_FLTINV___67 = 7,
    FPE_FLTSUB___67 = 8
} ;
enum __anonenum_30976155___67 {
    SEGV_MAPERR___67 = 1,
    SEGV_ACCERR___67 = 2,
    SEGV_BNDERR___67 = 3,
    SEGV_PKUERR___67 = 4
} ;
enum __anonenum_1036286214___67 {
    BUS_ADRALN___67 = 1,
    BUS_ADRERR___67 = 2,
    BUS_OBJERR___67 = 3,
    BUS_MCEERR_AR___67 = 4,
    BUS_MCEERR_AO___67 = 5
} ;
enum __anonenum_493465559___67 {
    TRAP_BRKPT___67 = 1,
    TRAP_TRACE___67 = 2
} ;
enum __anonenum_23175539___67 {
    CLD_EXITED___67 = 1,
    CLD_KILLED___67 = 2,
    CLD_DUMPED___67 = 3,
    CLD_TRAPPED___67 = 4,
    CLD_STOPPED___67 = 5,
    CLD_CONTINUED___67 = 6
} ;
enum __anonenum_111643124___67 {
    POLL_IN___67 = 1,
    POLL_OUT___67 = 2,
    POLL_MSG___67 = 3,
    POLL_ERR___67 = 4,
    POLL_PRI___67 = 5,
    POLL_HUP___67 = 6
} ;
enum __anonenum_852341087___67 {
    SIGEV_SIGNAL___67 = 0,
    SIGEV_NONE___67 = 1,
    SIGEV_THREAD___67 = 2,
    SIGEV_THREAD_ID___67 = 4
} ;
enum __anonenum_451154152___67 {
    REG_R8___67 = 0,
    REG_R9___67 = 1,
    REG_R10___67 = 2,
    REG_R11___67 = 3,
    REG_R12___67 = 4,
    REG_R13___67 = 5,
    REG_R14___67 = 6,
    REG_R15___67 = 7,
    REG_RDI___67 = 8,
    REG_RSI___67 = 9,
    REG_RBP___67 = 10,
    REG_RBX___67 = 11,
    REG_RDX___67 = 12,
    REG_RAX___67 = 13,
    REG_RCX___67 = 14,
    REG_RSP___67 = 15,
    REG_RIP___67 = 16,
    REG_EFL___67 = 17,
    REG_CSGSFS___67 = 18,
    REG_ERR___67 = 19,
    REG_TRAPNO___67 = 20,
    REG_OLDMASK___67 = 21,
    REG_CR2___67 = 22
} ;
enum __anonenum_57186863___67 {
    SS_ONSTACK___67 = 1,
    SS_DISABLE___67 = 2
} ;
enum __anonenum_83571709___67 {
    MSG_OOB___67 = 1,
    MSG_PEEK___67 = 2,
    MSG_DONTROUTE___67 = 4,
    MSG_TRYHARD___67 = 4,
    MSG_CTRUNC___67 = 8,
    MSG_PROXY___67 = 16,
    MSG_TRUNC___67 = 32,
    MSG_DONTWAIT___67 = 64,
    MSG_EOR___67 = 128,
    MSG_WAITALL___67 = 256,
    MSG_FIN___67 = 512,
    MSG_SYN___67 = 1024,
    MSG_CONFIRM___67 = 2048,
    MSG_RST___67 = 4096,
    MSG_ERRQUEUE___67 = 8192,
    MSG_NOSIGNAL___67 = 16384,
    MSG_MORE___67 = 32768,
    MSG_WAITFORONE___67 = 65536,
    MSG_BATCH___67 = 262144,
    MSG_ZEROCOPY___67 = 67108864,
    MSG_FASTOPEN___67 = 536870912,
    MSG_CMSG_CLOEXEC___67 = 1073741824
} ;
enum __anonenum_617082774___67 {
    SCM_RIGHTS___67 = 1,
    SCM_CREDENTIALS___67 = 2
} ;
enum __anonenum_606441560___67 {
    SHUT_RD___67 = 0,
    SHUT_WR___67 = 1,
    SHUT_RDWR___67 = 2
} ;
enum __anonenum_681669233___67 {
    IPPROTO_IP___67 = 0,
    IPPROTO_ICMP___67 = 1,
    IPPROTO_IGMP___67 = 2,
    IPPROTO_IPIP___67 = 4,
    IPPROTO_TCP___67 = 6,
    IPPROTO_EGP___67 = 8,
    IPPROTO_PUP___67 = 12,
    IPPROTO_UDP___67 = 17,
    IPPROTO_IDP___67 = 22,
    IPPROTO_TP___67 = 29,
    IPPROTO_DCCP___67 = 33,
    IPPROTO_IPV6___67 = 41,
    IPPROTO_RSVP___67 = 46,
    IPPROTO_GRE___67 = 47,
    IPPROTO_ESP___67 = 50,
    IPPROTO_AH___67 = 51,
    IPPROTO_MTP___67 = 92,
    IPPROTO_BEETPH___67 = 94,
    IPPROTO_ENCAP___67 = 98,
    IPPROTO_PIM___67 = 103,
    IPPROTO_COMP___67 = 108,
    IPPROTO_SCTP___67 = 132,
    IPPROTO_UDPLITE___67 = 136,
    IPPROTO_MPLS___67 = 137,
    IPPROTO_RAW___67 = 255,
    IPPROTO_MAX___67 = 256
} ;
enum __anonenum_218739988___67 {
    IPPROTO_HOPOPTS___67 = 0,
    IPPROTO_ROUTING___67 = 43,
    IPPROTO_FRAGMENT___67 = 44,
    IPPROTO_ICMPV6___67 = 58,
    IPPROTO_NONE___67 = 59,
    IPPROTO_DSTOPTS___67 = 60,
    IPPROTO_MH___67 = 135
} ;
enum __anonenum_662268580___67 {
    IPPORT_ECHO___67 = 7,
    IPPORT_DISCARD___67 = 9,
    IPPORT_SYSTAT___67 = 11,
    IPPORT_DAYTIME___67 = 13,
    IPPORT_NETSTAT___67 = 15,
    IPPORT_FTP___67 = 21,
    IPPORT_TELNET___67 = 23,
    IPPORT_SMTP___67 = 25,
    IPPORT_TIMESERVER___67 = 37,
    IPPORT_NAMESERVER___67 = 42,
    IPPORT_WHOIS___67 = 43,
    IPPORT_MTP___67 = 57,
    IPPORT_TFTP___67 = 69,
    IPPORT_RJE___67 = 77,
    IPPORT_FINGER___67 = 79,
    IPPORT_TTYLINK___67 = 87,
    IPPORT_SUPDUP___67 = 95,
    IPPORT_EXECSERVER___67 = 512,
    IPPORT_LOGINSERVER___67 = 513,
    IPPORT_CMDSERVER___67 = 514,
    IPPORT_EFSSERVER___67 = 520,
    IPPORT_BIFFUDP___67 = 512,
    IPPORT_WHOSERVER___67 = 513,
    IPPORT_ROUTESERVER___67 = 520,
    IPPORT_RESERVED___67 = 1024,
    IPPORT_USERRESERVED___67 = 5000
} ;
enum __anonenum_788308992___67 {
    TCP_ESTABLISHED___67 = 1,
    TCP_SYN_SENT___67 = 2,
    TCP_SYN_RECV___67 = 3,
    TCP_FIN_WAIT1___67 = 4,
    TCP_FIN_WAIT2___67 = 5,
    TCP_TIME_WAIT___67 = 6,
    TCP_CLOSE___67 = 7,
    TCP_CLOSE_WAIT___67 = 8,
    TCP_LAST_ACK___67 = 9,
    TCP_LISTEN___67 = 10,
    TCP_CLOSING___67 = 11
} ;
enum __anonenum_221125648___67 {
    TCP_NO_QUEUE___67 = 0,
    TCP_RECV_QUEUE___67 = 1,
    TCP_SEND_QUEUE___67 = 2,
    TCP_QUEUES_NR___67 = 3
} ;
enum __anonenum_34415463___67 {
    PTHREAD_CREATE_JOINABLE___67 = 0,
    PTHREAD_CREATE_DETACHED___67 = 1
} ;
enum __anonenum_303612439___67 {
    PTHREAD_MUTEX_TIMED_NP___67 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___67 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___67 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___67 = 3,
    PTHREAD_MUTEX_NORMAL___67 = 0,
    PTHREAD_MUTEX_RECURSIVE___67 = 1,
    PTHREAD_MUTEX_ERRORCHECK___67 = 2,
    PTHREAD_MUTEX_DEFAULT___67 = 0,
    PTHREAD_MUTEX_FAST_NP___67 = 0
} ;
enum __anonenum_931900394___67 {
    PTHREAD_MUTEX_STALLED___67 = 0,
    PTHREAD_MUTEX_STALLED_NP___67 = 0,
    PTHREAD_MUTEX_ROBUST___67 = 1,
    PTHREAD_MUTEX_ROBUST_NP___67 = 1
} ;
enum __anonenum_205214487___67 {
    PTHREAD_PRIO_NONE___67 = 0,
    PTHREAD_PRIO_INHERIT___67 = 1,
    PTHREAD_PRIO_PROTECT___67 = 2
} ;
enum __anonenum_25043950___67 {
    PTHREAD_RWLOCK_PREFER_READER_NP___67 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___67 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___67 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___67 = 0
} ;
enum __anonenum_436439511___67 {
    PTHREAD_INHERIT_SCHED___67 = 0,
    PTHREAD_EXPLICIT_SCHED___67 = 1
} ;
enum __anonenum_998661166___67 {
    PTHREAD_SCOPE_SYSTEM___67 = 0,
    PTHREAD_SCOPE_PROCESS___67 = 1
} ;
enum __anonenum_146137331___67 {
    PTHREAD_PROCESS_PRIVATE___67 = 0,
    PTHREAD_PROCESS_SHARED___67 = 1
} ;
enum __anonenum_53396917___67 {
    PTHREAD_CANCEL_ENABLE___67 = 0,
    PTHREAD_CANCEL_DISABLE___67 = 1
} ;
enum __anonenum_904563783___67 {
    PTHREAD_CANCEL_DEFERRED___67 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___67 = 1
} ;
enum __anonenum_672052974___67 {
    SSL_CT_VALIDATION_PERMISSIVE___67 = 0,
    SSL_CT_VALIDATION_STRICT___67 = 1
} ;
enum __anonenum_437032235___68 {
    _PC_LINK_MAX___68 = 0,
    _PC_MAX_CANON___68 = 1,
    _PC_MAX_INPUT___68 = 2,
    _PC_NAME_MAX___68 = 3,
    _PC_PATH_MAX___68 = 4,
    _PC_PIPE_BUF___68 = 5,
    _PC_CHOWN_RESTRICTED___68 = 6,
    _PC_NO_TRUNC___68 = 7,
    _PC_VDISABLE___68 = 8,
    _PC_SYNC_IO___68 = 9,
    _PC_ASYNC_IO___68 = 10,
    _PC_PRIO_IO___68 = 11,
    _PC_SOCK_MAXBUF___68 = 12,
    _PC_FILESIZEBITS___68 = 13,
    _PC_REC_INCR_XFER_SIZE___68 = 14,
    _PC_REC_MAX_XFER_SIZE___68 = 15,
    _PC_REC_MIN_XFER_SIZE___68 = 16,
    _PC_REC_XFER_ALIGN___68 = 17,
    _PC_ALLOC_SIZE_MIN___68 = 18,
    _PC_SYMLINK_MAX___68 = 19,
    _PC_2_SYMLINKS___68 = 20
} ;
enum __anonenum_315186338___68 {
    _SC_ARG_MAX___68 = 0,
    _SC_CHILD_MAX___68 = 1,
    _SC_CLK_TCK___68 = 2,
    _SC_NGROUPS_MAX___68 = 3,
    _SC_OPEN_MAX___68 = 4,
    _SC_STREAM_MAX___68 = 5,
    _SC_TZNAME_MAX___68 = 6,
    _SC_JOB_CONTROL___68 = 7,
    _SC_SAVED_IDS___68 = 8,
    _SC_REALTIME_SIGNALS___68 = 9,
    _SC_PRIORITY_SCHEDULING___68 = 10,
    _SC_TIMERS___68 = 11,
    _SC_ASYNCHRONOUS_IO___68 = 12,
    _SC_PRIORITIZED_IO___68 = 13,
    _SC_SYNCHRONIZED_IO___68 = 14,
    _SC_FSYNC___68 = 15,
    _SC_MAPPED_FILES___68 = 16,
    _SC_MEMLOCK___68 = 17,
    _SC_MEMLOCK_RANGE___68 = 18,
    _SC_MEMORY_PROTECTION___68 = 19,
    _SC_MESSAGE_PASSING___68 = 20,
    _SC_SEMAPHORES___68 = 21,
    _SC_SHARED_MEMORY_OBJECTS___68 = 22,
    _SC_AIO_LISTIO_MAX___68 = 23,
    _SC_AIO_MAX___68 = 24,
    _SC_AIO_PRIO_DELTA_MAX___68 = 25,
    _SC_DELAYTIMER_MAX___68 = 26,
    _SC_MQ_OPEN_MAX___68 = 27,
    _SC_MQ_PRIO_MAX___68 = 28,
    _SC_VERSION___68 = 29,
    _SC_PAGESIZE___68 = 30,
    _SC_RTSIG_MAX___68 = 31,
    _SC_SEM_NSEMS_MAX___68 = 32,
    _SC_SEM_VALUE_MAX___68 = 33,
    _SC_SIGQUEUE_MAX___68 = 34,
    _SC_TIMER_MAX___68 = 35,
    _SC_BC_BASE_MAX___68 = 36,
    _SC_BC_DIM_MAX___68 = 37,
    _SC_BC_SCALE_MAX___68 = 38,
    _SC_BC_STRING_MAX___68 = 39,
    _SC_COLL_WEIGHTS_MAX___68 = 40,
    _SC_EQUIV_CLASS_MAX___68 = 41,
    _SC_EXPR_NEST_MAX___68 = 42,
    _SC_LINE_MAX___68 = 43,
    _SC_RE_DUP_MAX___68 = 44,
    _SC_CHARCLASS_NAME_MAX___68 = 45,
    _SC_2_VERSION___68 = 46,
    _SC_2_C_BIND___68 = 47,
    _SC_2_C_DEV___68 = 48,
    _SC_2_FORT_DEV___68 = 49,
    _SC_2_FORT_RUN___68 = 50,
    _SC_2_SW_DEV___68 = 51,
    _SC_2_LOCALEDEF___68 = 52,
    _SC_PII___68 = 53,
    _SC_PII_XTI___68 = 54,
    _SC_PII_SOCKET___68 = 55,
    _SC_PII_INTERNET___68 = 56,
    _SC_PII_OSI___68 = 57,
    _SC_POLL___68 = 58,
    _SC_SELECT___68 = 59,
    _SC_UIO_MAXIOV___68 = 60,
    _SC_IOV_MAX___68 = 60,
    _SC_PII_INTERNET_STREAM___68 = 61,
    _SC_PII_INTERNET_DGRAM___68 = 62,
    _SC_PII_OSI_COTS___68 = 63,
    _SC_PII_OSI_CLTS___68 = 64,
    _SC_PII_OSI_M___68 = 65,
    _SC_T_IOV_MAX___68 = 66,
    _SC_THREADS___68 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___68 = 68,
    _SC_GETGR_R_SIZE_MAX___68 = 69,
    _SC_GETPW_R_SIZE_MAX___68 = 70,
    _SC_LOGIN_NAME_MAX___68 = 71,
    _SC_TTY_NAME_MAX___68 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___68 = 73,
    _SC_THREAD_KEYS_MAX___68 = 74,
    _SC_THREAD_STACK_MIN___68 = 75,
    _SC_THREAD_THREADS_MAX___68 = 76,
    _SC_THREAD_ATTR_STACKADDR___68 = 77,
    _SC_THREAD_ATTR_STACKSIZE___68 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___68 = 79,
    _SC_THREAD_PRIO_INHERIT___68 = 80,
    _SC_THREAD_PRIO_PROTECT___68 = 81,
    _SC_THREAD_PROCESS_SHARED___68 = 82,
    _SC_NPROCESSORS_CONF___68 = 83,
    _SC_NPROCESSORS_ONLN___68 = 84,
    _SC_PHYS_PAGES___68 = 85,
    _SC_AVPHYS_PAGES___68 = 86,
    _SC_ATEXIT_MAX___68 = 87,
    _SC_PASS_MAX___68 = 88,
    _SC_XOPEN_VERSION___68 = 89,
    _SC_XOPEN_XCU_VERSION___68 = 90,
    _SC_XOPEN_UNIX___68 = 91,
    _SC_XOPEN_CRYPT___68 = 92,
    _SC_XOPEN_ENH_I18N___68 = 93,
    _SC_XOPEN_SHM___68 = 94,
    _SC_2_CHAR_TERM___68 = 95,
    _SC_2_C_VERSION___68 = 96,
    _SC_2_UPE___68 = 97,
    _SC_XOPEN_XPG2___68 = 98,
    _SC_XOPEN_XPG3___68 = 99,
    _SC_XOPEN_XPG4___68 = 100,
    _SC_CHAR_BIT___68 = 101,
    _SC_CHAR_MAX___68 = 102,
    _SC_CHAR_MIN___68 = 103,
    _SC_INT_MAX___68 = 104,
    _SC_INT_MIN___68 = 105,
    _SC_LONG_BIT___68 = 106,
    _SC_WORD_BIT___68 = 107,
    _SC_MB_LEN_MAX___68 = 108,
    _SC_NZERO___68 = 109,
    _SC_SSIZE_MAX___68 = 110,
    _SC_SCHAR_MAX___68 = 111,
    _SC_SCHAR_MIN___68 = 112,
    _SC_SHRT_MAX___68 = 113,
    _SC_SHRT_MIN___68 = 114,
    _SC_UCHAR_MAX___68 = 115,
    _SC_UINT_MAX___68 = 116,
    _SC_ULONG_MAX___68 = 117,
    _SC_USHRT_MAX___68 = 118,
    _SC_NL_ARGMAX___68 = 119,
    _SC_NL_LANGMAX___68 = 120,
    _SC_NL_MSGMAX___68 = 121,
    _SC_NL_NMAX___68 = 122,
    _SC_NL_SETMAX___68 = 123,
    _SC_NL_TEXTMAX___68 = 124,
    _SC_XBS5_ILP32_OFF32___68 = 125,
    _SC_XBS5_ILP32_OFFBIG___68 = 126,
    _SC_XBS5_LP64_OFF64___68 = 127,
    _SC_XBS5_LPBIG_OFFBIG___68 = 128,
    _SC_XOPEN_LEGACY___68 = 129,
    _SC_XOPEN_REALTIME___68 = 130,
    _SC_XOPEN_REALTIME_THREADS___68 = 131,
    _SC_ADVISORY_INFO___68 = 132,
    _SC_BARRIERS___68 = 133,
    _SC_BASE___68 = 134,
    _SC_C_LANG_SUPPORT___68 = 135,
    _SC_C_LANG_SUPPORT_R___68 = 136,
    _SC_CLOCK_SELECTION___68 = 137,
    _SC_CPUTIME___68 = 138,
    _SC_THREAD_CPUTIME___68 = 139,
    _SC_DEVICE_IO___68 = 140,
    _SC_DEVICE_SPECIFIC___68 = 141,
    _SC_DEVICE_SPECIFIC_R___68 = 142,
    _SC_FD_MGMT___68 = 143,
    _SC_FIFO___68 = 144,
    _SC_PIPE___68 = 145,
    _SC_FILE_ATTRIBUTES___68 = 146,
    _SC_FILE_LOCKING___68 = 147,
    _SC_FILE_SYSTEM___68 = 148,
    _SC_MONOTONIC_CLOCK___68 = 149,
    _SC_MULTI_PROCESS___68 = 150,
    _SC_SINGLE_PROCESS___68 = 151,
    _SC_NETWORKING___68 = 152,
    _SC_READER_WRITER_LOCKS___68 = 153,
    _SC_SPIN_LOCKS___68 = 154,
    _SC_REGEXP___68 = 155,
    _SC_REGEX_VERSION___68 = 156,
    _SC_SHELL___68 = 157,
    _SC_SIGNALS___68 = 158,
    _SC_SPAWN___68 = 159,
    _SC_SPORADIC_SERVER___68 = 160,
    _SC_THREAD_SPORADIC_SERVER___68 = 161,
    _SC_SYSTEM_DATABASE___68 = 162,
    _SC_SYSTEM_DATABASE_R___68 = 163,
    _SC_TIMEOUTS___68 = 164,
    _SC_TYPED_MEMORY_OBJECTS___68 = 165,
    _SC_USER_GROUPS___68 = 166,
    _SC_USER_GROUPS_R___68 = 167,
    _SC_2_PBS___68 = 168,
    _SC_2_PBS_ACCOUNTING___68 = 169,
    _SC_2_PBS_LOCATE___68 = 170,
    _SC_2_PBS_MESSAGE___68 = 171,
    _SC_2_PBS_TRACK___68 = 172,
    _SC_SYMLOOP_MAX___68 = 173,
    _SC_STREAMS___68 = 174,
    _SC_2_PBS_CHECKPOINT___68 = 175,
    _SC_V6_ILP32_OFF32___68 = 176,
    _SC_V6_ILP32_OFFBIG___68 = 177,
    _SC_V6_LP64_OFF64___68 = 178,
    _SC_V6_LPBIG_OFFBIG___68 = 179,
    _SC_HOST_NAME_MAX___68 = 180,
    _SC_TRACE___68 = 181,
    _SC_TRACE_EVENT_FILTER___68 = 182,
    _SC_TRACE_INHERIT___68 = 183,
    _SC_TRACE_LOG___68 = 184,
    _SC_LEVEL1_ICACHE_SIZE___68 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___68 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___68 = 187,
    _SC_LEVEL1_DCACHE_SIZE___68 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___68 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___68 = 190,
    _SC_LEVEL2_CACHE_SIZE___68 = 191,
    _SC_LEVEL2_CACHE_ASSOC___68 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___68 = 193,
    _SC_LEVEL3_CACHE_SIZE___68 = 194,
    _SC_LEVEL3_CACHE_ASSOC___68 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___68 = 196,
    _SC_LEVEL4_CACHE_SIZE___68 = 197,
    _SC_LEVEL4_CACHE_ASSOC___68 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___68 = 199,
    _SC_IPV6___68 = 235,
    _SC_RAW_SOCKETS___68 = 236,
    _SC_V7_ILP32_OFF32___68 = 237,
    _SC_V7_ILP32_OFFBIG___68 = 238,
    _SC_V7_LP64_OFF64___68 = 239,
    _SC_V7_LPBIG_OFFBIG___68 = 240,
    _SC_SS_REPL_MAX___68 = 241,
    _SC_TRACE_EVENT_NAME_MAX___68 = 242,
    _SC_TRACE_NAME_MAX___68 = 243,
    _SC_TRACE_SYS_MAX___68 = 244,
    _SC_TRACE_USER_EVENT_MAX___68 = 245,
    _SC_XOPEN_STREAMS___68 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___68 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___68 = 248
} ;
enum __anonenum_875524036___68 {
    _CS_PATH___68 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___68 = 1,
    _CS_GNU_LIBC_VERSION___68 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___68 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___68 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___68 = 5,
    _CS_LFS_CFLAGS___68 = 1000,
    _CS_LFS_LDFLAGS___68 = 1001,
    _CS_LFS_LIBS___68 = 1002,
    _CS_LFS_LINTFLAGS___68 = 1003,
    _CS_LFS64_CFLAGS___68 = 1004,
    _CS_LFS64_LDFLAGS___68 = 1005,
    _CS_LFS64_LIBS___68 = 1006,
    _CS_LFS64_LINTFLAGS___68 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___68 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___68 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___68 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___68 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___68 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___68 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___68 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___68 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___68 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___68 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___68 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___68 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___68 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___68 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___68 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___68 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___68 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___68 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___68 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___68 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___68 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___68 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___68 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___68 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___68 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___68 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___68 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___68 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___68 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___68 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___68 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___68 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___68 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___68 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___68 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___68 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___68 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___68 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___68 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___68 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___68 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___68 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___68 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___68 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___68 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___68 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___68 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___68 = 1147,
    _CS_V6_ENV___68 = 1148,
    _CS_V7_ENV___68 = 1149
} ;
enum __anonenum_513775621___68 {
    DT_UNKNOWN___68 = 0,
    DT_FIFO___68 = 1,
    DT_CHR___68 = 2,
    DT_DIR___68 = 4,
    DT_BLK___68 = 6,
    DT_REG___68 = 8,
    DT_LNK___68 = 10,
    DT_SOCK___68 = 12,
    DT_WHT___68 = 14
} ;
enum __anonenum_77002343___68 {
    SI_ASYNCNL___68 = -60,
    SI_TKILL___68 = -6,
    SI_SIGIO___68 = -5,
    SI_ASYNCIO___68 = -4,
    SI_MESGQ___68 = -3,
    SI_TIMER___68 = -2,
    SI_QUEUE___68 = -1,
    SI_USER___68 = 0,
    SI_KERNEL___68 = 128
} ;
enum __anonenum_131038172___68 {
    ILL_ILLOPC___68 = 1,
    ILL_ILLOPN___68 = 2,
    ILL_ILLADR___68 = 3,
    ILL_ILLTRP___68 = 4,
    ILL_PRVOPC___68 = 5,
    ILL_PRVREG___68 = 6,
    ILL_COPROC___68 = 7,
    ILL_BADSTK___68 = 8
} ;
enum __anonenum_452038093___68 {
    FPE_INTDIV___68 = 1,
    FPE_INTOVF___68 = 2,
    FPE_FLTDIV___68 = 3,
    FPE_FLTOVF___68 = 4,
    FPE_FLTUND___68 = 5,
    FPE_FLTRES___68 = 6,
    FPE_FLTINV___68 = 7,
    FPE_FLTSUB___68 = 8
} ;
enum __anonenum_30976155___68 {
    SEGV_MAPERR___68 = 1,
    SEGV_ACCERR___68 = 2,
    SEGV_BNDERR___68 = 3,
    SEGV_PKUERR___68 = 4
} ;
enum __anonenum_1036286214___68 {
    BUS_ADRALN___68 = 1,
    BUS_ADRERR___68 = 2,
    BUS_OBJERR___68 = 3,
    BUS_MCEERR_AR___68 = 4,
    BUS_MCEERR_AO___68 = 5
} ;
enum __anonenum_493465559___68 {
    TRAP_BRKPT___68 = 1,
    TRAP_TRACE___68 = 2
} ;
enum __anonenum_23175539___68 {
    CLD_EXITED___68 = 1,
    CLD_KILLED___68 = 2,
    CLD_DUMPED___68 = 3,
    CLD_TRAPPED___68 = 4,
    CLD_STOPPED___68 = 5,
    CLD_CONTINUED___68 = 6
} ;
enum __anonenum_111643124___68 {
    POLL_IN___68 = 1,
    POLL_OUT___68 = 2,
    POLL_MSG___68 = 3,
    POLL_ERR___68 = 4,
    POLL_PRI___68 = 5,
    POLL_HUP___68 = 6
} ;
enum __anonenum_852341087___68 {
    SIGEV_SIGNAL___68 = 0,
    SIGEV_NONE___68 = 1,
    SIGEV_THREAD___68 = 2,
    SIGEV_THREAD_ID___68 = 4
} ;
enum __anonenum_451154152___68 {
    REG_R8___68 = 0,
    REG_R9___68 = 1,
    REG_R10___68 = 2,
    REG_R11___68 = 3,
    REG_R12___68 = 4,
    REG_R13___68 = 5,
    REG_R14___68 = 6,
    REG_R15___68 = 7,
    REG_RDI___68 = 8,
    REG_RSI___68 = 9,
    REG_RBP___68 = 10,
    REG_RBX___68 = 11,
    REG_RDX___68 = 12,
    REG_RAX___68 = 13,
    REG_RCX___68 = 14,
    REG_RSP___68 = 15,
    REG_RIP___68 = 16,
    REG_EFL___68 = 17,
    REG_CSGSFS___68 = 18,
    REG_ERR___68 = 19,
    REG_TRAPNO___68 = 20,
    REG_OLDMASK___68 = 21,
    REG_CR2___68 = 22
} ;
enum __anonenum_57186863___68 {
    SS_ONSTACK___68 = 1,
    SS_DISABLE___68 = 2
} ;
enum __anonenum_83571709___68 {
    MSG_OOB___68 = 1,
    MSG_PEEK___68 = 2,
    MSG_DONTROUTE___68 = 4,
    MSG_TRYHARD___68 = 4,
    MSG_CTRUNC___68 = 8,
    MSG_PROXY___68 = 16,
    MSG_TRUNC___68 = 32,
    MSG_DONTWAIT___68 = 64,
    MSG_EOR___68 = 128,
    MSG_WAITALL___68 = 256,
    MSG_FIN___68 = 512,
    MSG_SYN___68 = 1024,
    MSG_CONFIRM___68 = 2048,
    MSG_RST___68 = 4096,
    MSG_ERRQUEUE___68 = 8192,
    MSG_NOSIGNAL___68 = 16384,
    MSG_MORE___68 = 32768,
    MSG_WAITFORONE___68 = 65536,
    MSG_BATCH___68 = 262144,
    MSG_ZEROCOPY___68 = 67108864,
    MSG_FASTOPEN___68 = 536870912,
    MSG_CMSG_CLOEXEC___68 = 1073741824
} ;
enum __anonenum_617082774___68 {
    SCM_RIGHTS___68 = 1,
    SCM_CREDENTIALS___68 = 2
} ;
enum __anonenum_606441560___68 {
    SHUT_RD___68 = 0,
    SHUT_WR___68 = 1,
    SHUT_RDWR___68 = 2
} ;
enum __anonenum_681669233___68 {
    IPPROTO_IP___68 = 0,
    IPPROTO_ICMP___68 = 1,
    IPPROTO_IGMP___68 = 2,
    IPPROTO_IPIP___68 = 4,
    IPPROTO_TCP___68 = 6,
    IPPROTO_EGP___68 = 8,
    IPPROTO_PUP___68 = 12,
    IPPROTO_UDP___68 = 17,
    IPPROTO_IDP___68 = 22,
    IPPROTO_TP___68 = 29,
    IPPROTO_DCCP___68 = 33,
    IPPROTO_IPV6___68 = 41,
    IPPROTO_RSVP___68 = 46,
    IPPROTO_GRE___68 = 47,
    IPPROTO_ESP___68 = 50,
    IPPROTO_AH___68 = 51,
    IPPROTO_MTP___68 = 92,
    IPPROTO_BEETPH___68 = 94,
    IPPROTO_ENCAP___68 = 98,
    IPPROTO_PIM___68 = 103,
    IPPROTO_COMP___68 = 108,
    IPPROTO_SCTP___68 = 132,
    IPPROTO_UDPLITE___68 = 136,
    IPPROTO_MPLS___68 = 137,
    IPPROTO_RAW___68 = 255,
    IPPROTO_MAX___68 = 256
} ;
enum __anonenum_218739988___68 {
    IPPROTO_HOPOPTS___68 = 0,
    IPPROTO_ROUTING___68 = 43,
    IPPROTO_FRAGMENT___68 = 44,
    IPPROTO_ICMPV6___68 = 58,
    IPPROTO_NONE___68 = 59,
    IPPROTO_DSTOPTS___68 = 60,
    IPPROTO_MH___68 = 135
} ;
enum __anonenum_662268580___68 {
    IPPORT_ECHO___68 = 7,
    IPPORT_DISCARD___68 = 9,
    IPPORT_SYSTAT___68 = 11,
    IPPORT_DAYTIME___68 = 13,
    IPPORT_NETSTAT___68 = 15,
    IPPORT_FTP___68 = 21,
    IPPORT_TELNET___68 = 23,
    IPPORT_SMTP___68 = 25,
    IPPORT_TIMESERVER___68 = 37,
    IPPORT_NAMESERVER___68 = 42,
    IPPORT_WHOIS___68 = 43,
    IPPORT_MTP___68 = 57,
    IPPORT_TFTP___68 = 69,
    IPPORT_RJE___68 = 77,
    IPPORT_FINGER___68 = 79,
    IPPORT_TTYLINK___68 = 87,
    IPPORT_SUPDUP___68 = 95,
    IPPORT_EXECSERVER___68 = 512,
    IPPORT_LOGINSERVER___68 = 513,
    IPPORT_CMDSERVER___68 = 514,
    IPPORT_EFSSERVER___68 = 520,
    IPPORT_BIFFUDP___68 = 512,
    IPPORT_WHOSERVER___68 = 513,
    IPPORT_ROUTESERVER___68 = 520,
    IPPORT_RESERVED___68 = 1024,
    IPPORT_USERRESERVED___68 = 5000
} ;
enum __anonenum_788308992___68 {
    TCP_ESTABLISHED___68 = 1,
    TCP_SYN_SENT___68 = 2,
    TCP_SYN_RECV___68 = 3,
    TCP_FIN_WAIT1___68 = 4,
    TCP_FIN_WAIT2___68 = 5,
    TCP_TIME_WAIT___68 = 6,
    TCP_CLOSE___68 = 7,
    TCP_CLOSE_WAIT___68 = 8,
    TCP_LAST_ACK___68 = 9,
    TCP_LISTEN___68 = 10,
    TCP_CLOSING___68 = 11
} ;
enum __anonenum_221125648___68 {
    TCP_NO_QUEUE___68 = 0,
    TCP_RECV_QUEUE___68 = 1,
    TCP_SEND_QUEUE___68 = 2,
    TCP_QUEUES_NR___68 = 3
} ;
enum __anonenum_34415463___68 {
    PTHREAD_CREATE_JOINABLE___68 = 0,
    PTHREAD_CREATE_DETACHED___68 = 1
} ;
enum __anonenum_303612439___68 {
    PTHREAD_MUTEX_TIMED_NP___68 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___68 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___68 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___68 = 3,
    PTHREAD_MUTEX_NORMAL___68 = 0,
    PTHREAD_MUTEX_RECURSIVE___68 = 1,
    PTHREAD_MUTEX_ERRORCHECK___68 = 2,
    PTHREAD_MUTEX_DEFAULT___68 = 0,
    PTHREAD_MUTEX_FAST_NP___68 = 0
} ;
enum __anonenum_931900394___68 {
    PTHREAD_MUTEX_STALLED___68 = 0,
    PTHREAD_MUTEX_STALLED_NP___68 = 0,
    PTHREAD_MUTEX_ROBUST___68 = 1,
    PTHREAD_MUTEX_ROBUST_NP___68 = 1
} ;
enum __anonenum_205214487___68 {
    PTHREAD_PRIO_NONE___68 = 0,
    PTHREAD_PRIO_INHERIT___68 = 1,
    PTHREAD_PRIO_PROTECT___68 = 2
} ;
enum __anonenum_25043950___68 {
    PTHREAD_RWLOCK_PREFER_READER_NP___68 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___68 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___68 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___68 = 0
} ;
enum __anonenum_436439511___68 {
    PTHREAD_INHERIT_SCHED___68 = 0,
    PTHREAD_EXPLICIT_SCHED___68 = 1
} ;
enum __anonenum_998661166___68 {
    PTHREAD_SCOPE_SYSTEM___68 = 0,
    PTHREAD_SCOPE_PROCESS___68 = 1
} ;
enum __anonenum_146137331___68 {
    PTHREAD_PROCESS_PRIVATE___68 = 0,
    PTHREAD_PROCESS_SHARED___68 = 1
} ;
enum __anonenum_53396917___68 {
    PTHREAD_CANCEL_ENABLE___68 = 0,
    PTHREAD_CANCEL_DISABLE___68 = 1
} ;
enum __anonenum_904563783___68 {
    PTHREAD_CANCEL_DEFERRED___68 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___68 = 1
} ;
enum __anonenum_672052974___68 {
    SSL_CT_VALIDATION_PERMISSIVE___68 = 0,
    SSL_CT_VALIDATION_STRICT___68 = 1
} ;
struct fetch_negotiator {
   void (*known_common)(struct fetch_negotiator * , struct commit * ) ;
   void (*add_tip)(struct fetch_negotiator * , struct commit * ) ;
   struct object_id  const  *(*next)(struct fetch_negotiator * ) ;
   int (*ack)(struct fetch_negotiator * , struct commit * ) ;
   void (*release)(struct fetch_negotiator * ) ;
   void *data ;
};
enum __anonenum_437032235___69 {
    _PC_LINK_MAX___69 = 0,
    _PC_MAX_CANON___69 = 1,
    _PC_MAX_INPUT___69 = 2,
    _PC_NAME_MAX___69 = 3,
    _PC_PATH_MAX___69 = 4,
    _PC_PIPE_BUF___69 = 5,
    _PC_CHOWN_RESTRICTED___69 = 6,
    _PC_NO_TRUNC___69 = 7,
    _PC_VDISABLE___69 = 8,
    _PC_SYNC_IO___69 = 9,
    _PC_ASYNC_IO___69 = 10,
    _PC_PRIO_IO___69 = 11,
    _PC_SOCK_MAXBUF___69 = 12,
    _PC_FILESIZEBITS___69 = 13,
    _PC_REC_INCR_XFER_SIZE___69 = 14,
    _PC_REC_MAX_XFER_SIZE___69 = 15,
    _PC_REC_MIN_XFER_SIZE___69 = 16,
    _PC_REC_XFER_ALIGN___69 = 17,
    _PC_ALLOC_SIZE_MIN___69 = 18,
    _PC_SYMLINK_MAX___69 = 19,
    _PC_2_SYMLINKS___69 = 20
} ;
enum __anonenum_315186338___69 {
    _SC_ARG_MAX___69 = 0,
    _SC_CHILD_MAX___69 = 1,
    _SC_CLK_TCK___69 = 2,
    _SC_NGROUPS_MAX___69 = 3,
    _SC_OPEN_MAX___69 = 4,
    _SC_STREAM_MAX___69 = 5,
    _SC_TZNAME_MAX___69 = 6,
    _SC_JOB_CONTROL___69 = 7,
    _SC_SAVED_IDS___69 = 8,
    _SC_REALTIME_SIGNALS___69 = 9,
    _SC_PRIORITY_SCHEDULING___69 = 10,
    _SC_TIMERS___69 = 11,
    _SC_ASYNCHRONOUS_IO___69 = 12,
    _SC_PRIORITIZED_IO___69 = 13,
    _SC_SYNCHRONIZED_IO___69 = 14,
    _SC_FSYNC___69 = 15,
    _SC_MAPPED_FILES___69 = 16,
    _SC_MEMLOCK___69 = 17,
    _SC_MEMLOCK_RANGE___69 = 18,
    _SC_MEMORY_PROTECTION___69 = 19,
    _SC_MESSAGE_PASSING___69 = 20,
    _SC_SEMAPHORES___69 = 21,
    _SC_SHARED_MEMORY_OBJECTS___69 = 22,
    _SC_AIO_LISTIO_MAX___69 = 23,
    _SC_AIO_MAX___69 = 24,
    _SC_AIO_PRIO_DELTA_MAX___69 = 25,
    _SC_DELAYTIMER_MAX___69 = 26,
    _SC_MQ_OPEN_MAX___69 = 27,
    _SC_MQ_PRIO_MAX___69 = 28,
    _SC_VERSION___69 = 29,
    _SC_PAGESIZE___69 = 30,
    _SC_RTSIG_MAX___69 = 31,
    _SC_SEM_NSEMS_MAX___69 = 32,
    _SC_SEM_VALUE_MAX___69 = 33,
    _SC_SIGQUEUE_MAX___69 = 34,
    _SC_TIMER_MAX___69 = 35,
    _SC_BC_BASE_MAX___69 = 36,
    _SC_BC_DIM_MAX___69 = 37,
    _SC_BC_SCALE_MAX___69 = 38,
    _SC_BC_STRING_MAX___69 = 39,
    _SC_COLL_WEIGHTS_MAX___69 = 40,
    _SC_EQUIV_CLASS_MAX___69 = 41,
    _SC_EXPR_NEST_MAX___69 = 42,
    _SC_LINE_MAX___69 = 43,
    _SC_RE_DUP_MAX___69 = 44,
    _SC_CHARCLASS_NAME_MAX___69 = 45,
    _SC_2_VERSION___69 = 46,
    _SC_2_C_BIND___69 = 47,
    _SC_2_C_DEV___69 = 48,
    _SC_2_FORT_DEV___69 = 49,
    _SC_2_FORT_RUN___69 = 50,
    _SC_2_SW_DEV___69 = 51,
    _SC_2_LOCALEDEF___69 = 52,
    _SC_PII___69 = 53,
    _SC_PII_XTI___69 = 54,
    _SC_PII_SOCKET___69 = 55,
    _SC_PII_INTERNET___69 = 56,
    _SC_PII_OSI___69 = 57,
    _SC_POLL___69 = 58,
    _SC_SELECT___69 = 59,
    _SC_UIO_MAXIOV___69 = 60,
    _SC_IOV_MAX___69 = 60,
    _SC_PII_INTERNET_STREAM___69 = 61,
    _SC_PII_INTERNET_DGRAM___69 = 62,
    _SC_PII_OSI_COTS___69 = 63,
    _SC_PII_OSI_CLTS___69 = 64,
    _SC_PII_OSI_M___69 = 65,
    _SC_T_IOV_MAX___69 = 66,
    _SC_THREADS___69 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___69 = 68,
    _SC_GETGR_R_SIZE_MAX___69 = 69,
    _SC_GETPW_R_SIZE_MAX___69 = 70,
    _SC_LOGIN_NAME_MAX___69 = 71,
    _SC_TTY_NAME_MAX___69 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___69 = 73,
    _SC_THREAD_KEYS_MAX___69 = 74,
    _SC_THREAD_STACK_MIN___69 = 75,
    _SC_THREAD_THREADS_MAX___69 = 76,
    _SC_THREAD_ATTR_STACKADDR___69 = 77,
    _SC_THREAD_ATTR_STACKSIZE___69 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___69 = 79,
    _SC_THREAD_PRIO_INHERIT___69 = 80,
    _SC_THREAD_PRIO_PROTECT___69 = 81,
    _SC_THREAD_PROCESS_SHARED___69 = 82,
    _SC_NPROCESSORS_CONF___69 = 83,
    _SC_NPROCESSORS_ONLN___69 = 84,
    _SC_PHYS_PAGES___69 = 85,
    _SC_AVPHYS_PAGES___69 = 86,
    _SC_ATEXIT_MAX___69 = 87,
    _SC_PASS_MAX___69 = 88,
    _SC_XOPEN_VERSION___69 = 89,
    _SC_XOPEN_XCU_VERSION___69 = 90,
    _SC_XOPEN_UNIX___69 = 91,
    _SC_XOPEN_CRYPT___69 = 92,
    _SC_XOPEN_ENH_I18N___69 = 93,
    _SC_XOPEN_SHM___69 = 94,
    _SC_2_CHAR_TERM___69 = 95,
    _SC_2_C_VERSION___69 = 96,
    _SC_2_UPE___69 = 97,
    _SC_XOPEN_XPG2___69 = 98,
    _SC_XOPEN_XPG3___69 = 99,
    _SC_XOPEN_XPG4___69 = 100,
    _SC_CHAR_BIT___69 = 101,
    _SC_CHAR_MAX___69 = 102,
    _SC_CHAR_MIN___69 = 103,
    _SC_INT_MAX___69 = 104,
    _SC_INT_MIN___69 = 105,
    _SC_LONG_BIT___69 = 106,
    _SC_WORD_BIT___69 = 107,
    _SC_MB_LEN_MAX___69 = 108,
    _SC_NZERO___69 = 109,
    _SC_SSIZE_MAX___69 = 110,
    _SC_SCHAR_MAX___69 = 111,
    _SC_SCHAR_MIN___69 = 112,
    _SC_SHRT_MAX___69 = 113,
    _SC_SHRT_MIN___69 = 114,
    _SC_UCHAR_MAX___69 = 115,
    _SC_UINT_MAX___69 = 116,
    _SC_ULONG_MAX___69 = 117,
    _SC_USHRT_MAX___69 = 118,
    _SC_NL_ARGMAX___69 = 119,
    _SC_NL_LANGMAX___69 = 120,
    _SC_NL_MSGMAX___69 = 121,
    _SC_NL_NMAX___69 = 122,
    _SC_NL_SETMAX___69 = 123,
    _SC_NL_TEXTMAX___69 = 124,
    _SC_XBS5_ILP32_OFF32___69 = 125,
    _SC_XBS5_ILP32_OFFBIG___69 = 126,
    _SC_XBS5_LP64_OFF64___69 = 127,
    _SC_XBS5_LPBIG_OFFBIG___69 = 128,
    _SC_XOPEN_LEGACY___69 = 129,
    _SC_XOPEN_REALTIME___69 = 130,
    _SC_XOPEN_REALTIME_THREADS___69 = 131,
    _SC_ADVISORY_INFO___69 = 132,
    _SC_BARRIERS___69 = 133,
    _SC_BASE___69 = 134,
    _SC_C_LANG_SUPPORT___69 = 135,
    _SC_C_LANG_SUPPORT_R___69 = 136,
    _SC_CLOCK_SELECTION___69 = 137,
    _SC_CPUTIME___69 = 138,
    _SC_THREAD_CPUTIME___69 = 139,
    _SC_DEVICE_IO___69 = 140,
    _SC_DEVICE_SPECIFIC___69 = 141,
    _SC_DEVICE_SPECIFIC_R___69 = 142,
    _SC_FD_MGMT___69 = 143,
    _SC_FIFO___69 = 144,
    _SC_PIPE___69 = 145,
    _SC_FILE_ATTRIBUTES___69 = 146,
    _SC_FILE_LOCKING___69 = 147,
    _SC_FILE_SYSTEM___69 = 148,
    _SC_MONOTONIC_CLOCK___69 = 149,
    _SC_MULTI_PROCESS___69 = 150,
    _SC_SINGLE_PROCESS___69 = 151,
    _SC_NETWORKING___69 = 152,
    _SC_READER_WRITER_LOCKS___69 = 153,
    _SC_SPIN_LOCKS___69 = 154,
    _SC_REGEXP___69 = 155,
    _SC_REGEX_VERSION___69 = 156,
    _SC_SHELL___69 = 157,
    _SC_SIGNALS___69 = 158,
    _SC_SPAWN___69 = 159,
    _SC_SPORADIC_SERVER___69 = 160,
    _SC_THREAD_SPORADIC_SERVER___69 = 161,
    _SC_SYSTEM_DATABASE___69 = 162,
    _SC_SYSTEM_DATABASE_R___69 = 163,
    _SC_TIMEOUTS___69 = 164,
    _SC_TYPED_MEMORY_OBJECTS___69 = 165,
    _SC_USER_GROUPS___69 = 166,
    _SC_USER_GROUPS_R___69 = 167,
    _SC_2_PBS___69 = 168,
    _SC_2_PBS_ACCOUNTING___69 = 169,
    _SC_2_PBS_LOCATE___69 = 170,
    _SC_2_PBS_MESSAGE___69 = 171,
    _SC_2_PBS_TRACK___69 = 172,
    _SC_SYMLOOP_MAX___69 = 173,
    _SC_STREAMS___69 = 174,
    _SC_2_PBS_CHECKPOINT___69 = 175,
    _SC_V6_ILP32_OFF32___69 = 176,
    _SC_V6_ILP32_OFFBIG___69 = 177,
    _SC_V6_LP64_OFF64___69 = 178,
    _SC_V6_LPBIG_OFFBIG___69 = 179,
    _SC_HOST_NAME_MAX___69 = 180,
    _SC_TRACE___69 = 181,
    _SC_TRACE_EVENT_FILTER___69 = 182,
    _SC_TRACE_INHERIT___69 = 183,
    _SC_TRACE_LOG___69 = 184,
    _SC_LEVEL1_ICACHE_SIZE___69 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___69 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___69 = 187,
    _SC_LEVEL1_DCACHE_SIZE___69 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___69 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___69 = 190,
    _SC_LEVEL2_CACHE_SIZE___69 = 191,
    _SC_LEVEL2_CACHE_ASSOC___69 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___69 = 193,
    _SC_LEVEL3_CACHE_SIZE___69 = 194,
    _SC_LEVEL3_CACHE_ASSOC___69 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___69 = 196,
    _SC_LEVEL4_CACHE_SIZE___69 = 197,
    _SC_LEVEL4_CACHE_ASSOC___69 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___69 = 199,
    _SC_IPV6___69 = 235,
    _SC_RAW_SOCKETS___69 = 236,
    _SC_V7_ILP32_OFF32___69 = 237,
    _SC_V7_ILP32_OFFBIG___69 = 238,
    _SC_V7_LP64_OFF64___69 = 239,
    _SC_V7_LPBIG_OFFBIG___69 = 240,
    _SC_SS_REPL_MAX___69 = 241,
    _SC_TRACE_EVENT_NAME_MAX___69 = 242,
    _SC_TRACE_NAME_MAX___69 = 243,
    _SC_TRACE_SYS_MAX___69 = 244,
    _SC_TRACE_USER_EVENT_MAX___69 = 245,
    _SC_XOPEN_STREAMS___69 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___69 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___69 = 248
} ;
enum __anonenum_875524036___69 {
    _CS_PATH___69 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___69 = 1,
    _CS_GNU_LIBC_VERSION___69 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___69 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___69 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___69 = 5,
    _CS_LFS_CFLAGS___69 = 1000,
    _CS_LFS_LDFLAGS___69 = 1001,
    _CS_LFS_LIBS___69 = 1002,
    _CS_LFS_LINTFLAGS___69 = 1003,
    _CS_LFS64_CFLAGS___69 = 1004,
    _CS_LFS64_LDFLAGS___69 = 1005,
    _CS_LFS64_LIBS___69 = 1006,
    _CS_LFS64_LINTFLAGS___69 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___69 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___69 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___69 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___69 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___69 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___69 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___69 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___69 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___69 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___69 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___69 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___69 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___69 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___69 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___69 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___69 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___69 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___69 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___69 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___69 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___69 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___69 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___69 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___69 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___69 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___69 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___69 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___69 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___69 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___69 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___69 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___69 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___69 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___69 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___69 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___69 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___69 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___69 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___69 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___69 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___69 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___69 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___69 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___69 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___69 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___69 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___69 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___69 = 1147,
    _CS_V6_ENV___69 = 1148,
    _CS_V7_ENV___69 = 1149
} ;
enum __anonenum_513775621___69 {
    DT_UNKNOWN___69 = 0,
    DT_FIFO___69 = 1,
    DT_CHR___69 = 2,
    DT_DIR___69 = 4,
    DT_BLK___69 = 6,
    DT_REG___69 = 8,
    DT_LNK___69 = 10,
    DT_SOCK___69 = 12,
    DT_WHT___69 = 14
} ;
enum __anonenum_77002343___69 {
    SI_ASYNCNL___69 = -60,
    SI_TKILL___69 = -6,
    SI_SIGIO___69 = -5,
    SI_ASYNCIO___69 = -4,
    SI_MESGQ___69 = -3,
    SI_TIMER___69 = -2,
    SI_QUEUE___69 = -1,
    SI_USER___69 = 0,
    SI_KERNEL___69 = 128
} ;
enum __anonenum_131038172___69 {
    ILL_ILLOPC___69 = 1,
    ILL_ILLOPN___69 = 2,
    ILL_ILLADR___69 = 3,
    ILL_ILLTRP___69 = 4,
    ILL_PRVOPC___69 = 5,
    ILL_PRVREG___69 = 6,
    ILL_COPROC___69 = 7,
    ILL_BADSTK___69 = 8
} ;
enum __anonenum_452038093___69 {
    FPE_INTDIV___69 = 1,
    FPE_INTOVF___69 = 2,
    FPE_FLTDIV___69 = 3,
    FPE_FLTOVF___69 = 4,
    FPE_FLTUND___69 = 5,
    FPE_FLTRES___69 = 6,
    FPE_FLTINV___69 = 7,
    FPE_FLTSUB___69 = 8
} ;
enum __anonenum_30976155___69 {
    SEGV_MAPERR___69 = 1,
    SEGV_ACCERR___69 = 2,
    SEGV_BNDERR___69 = 3,
    SEGV_PKUERR___69 = 4
} ;
enum __anonenum_1036286214___69 {
    BUS_ADRALN___69 = 1,
    BUS_ADRERR___69 = 2,
    BUS_OBJERR___69 = 3,
    BUS_MCEERR_AR___69 = 4,
    BUS_MCEERR_AO___69 = 5
} ;
enum __anonenum_493465559___69 {
    TRAP_BRKPT___69 = 1,
    TRAP_TRACE___69 = 2
} ;
enum __anonenum_23175539___69 {
    CLD_EXITED___69 = 1,
    CLD_KILLED___69 = 2,
    CLD_DUMPED___69 = 3,
    CLD_TRAPPED___69 = 4,
    CLD_STOPPED___69 = 5,
    CLD_CONTINUED___69 = 6
} ;
enum __anonenum_111643124___69 {
    POLL_IN___69 = 1,
    POLL_OUT___69 = 2,
    POLL_MSG___69 = 3,
    POLL_ERR___69 = 4,
    POLL_PRI___69 = 5,
    POLL_HUP___69 = 6
} ;
enum __anonenum_852341087___69 {
    SIGEV_SIGNAL___69 = 0,
    SIGEV_NONE___69 = 1,
    SIGEV_THREAD___69 = 2,
    SIGEV_THREAD_ID___69 = 4
} ;
enum __anonenum_451154152___69 {
    REG_R8___69 = 0,
    REG_R9___69 = 1,
    REG_R10___69 = 2,
    REG_R11___69 = 3,
    REG_R12___69 = 4,
    REG_R13___69 = 5,
    REG_R14___69 = 6,
    REG_R15___69 = 7,
    REG_RDI___69 = 8,
    REG_RSI___69 = 9,
    REG_RBP___69 = 10,
    REG_RBX___69 = 11,
    REG_RDX___69 = 12,
    REG_RAX___69 = 13,
    REG_RCX___69 = 14,
    REG_RSP___69 = 15,
    REG_RIP___69 = 16,
    REG_EFL___69 = 17,
    REG_CSGSFS___69 = 18,
    REG_ERR___69 = 19,
    REG_TRAPNO___69 = 20,
    REG_OLDMASK___69 = 21,
    REG_CR2___69 = 22
} ;
enum __anonenum_57186863___69 {
    SS_ONSTACK___69 = 1,
    SS_DISABLE___69 = 2
} ;
enum __anonenum_83571709___69 {
    MSG_OOB___69 = 1,
    MSG_PEEK___69 = 2,
    MSG_DONTROUTE___69 = 4,
    MSG_TRYHARD___69 = 4,
    MSG_CTRUNC___69 = 8,
    MSG_PROXY___69 = 16,
    MSG_TRUNC___69 = 32,
    MSG_DONTWAIT___69 = 64,
    MSG_EOR___69 = 128,
    MSG_WAITALL___69 = 256,
    MSG_FIN___69 = 512,
    MSG_SYN___69 = 1024,
    MSG_CONFIRM___69 = 2048,
    MSG_RST___69 = 4096,
    MSG_ERRQUEUE___69 = 8192,
    MSG_NOSIGNAL___69 = 16384,
    MSG_MORE___69 = 32768,
    MSG_WAITFORONE___69 = 65536,
    MSG_BATCH___69 = 262144,
    MSG_ZEROCOPY___69 = 67108864,
    MSG_FASTOPEN___69 = 536870912,
    MSG_CMSG_CLOEXEC___69 = 1073741824
} ;
enum __anonenum_617082774___69 {
    SCM_RIGHTS___69 = 1,
    SCM_CREDENTIALS___69 = 2
} ;
enum __anonenum_606441560___69 {
    SHUT_RD___69 = 0,
    SHUT_WR___69 = 1,
    SHUT_RDWR___69 = 2
} ;
enum __anonenum_681669233___69 {
    IPPROTO_IP___69 = 0,
    IPPROTO_ICMP___69 = 1,
    IPPROTO_IGMP___69 = 2,
    IPPROTO_IPIP___69 = 4,
    IPPROTO_TCP___69 = 6,
    IPPROTO_EGP___69 = 8,
    IPPROTO_PUP___69 = 12,
    IPPROTO_UDP___69 = 17,
    IPPROTO_IDP___69 = 22,
    IPPROTO_TP___69 = 29,
    IPPROTO_DCCP___69 = 33,
    IPPROTO_IPV6___69 = 41,
    IPPROTO_RSVP___69 = 46,
    IPPROTO_GRE___69 = 47,
    IPPROTO_ESP___69 = 50,
    IPPROTO_AH___69 = 51,
    IPPROTO_MTP___69 = 92,
    IPPROTO_BEETPH___69 = 94,
    IPPROTO_ENCAP___69 = 98,
    IPPROTO_PIM___69 = 103,
    IPPROTO_COMP___69 = 108,
    IPPROTO_SCTP___69 = 132,
    IPPROTO_UDPLITE___69 = 136,
    IPPROTO_MPLS___69 = 137,
    IPPROTO_RAW___69 = 255,
    IPPROTO_MAX___69 = 256
} ;
enum __anonenum_218739988___69 {
    IPPROTO_HOPOPTS___69 = 0,
    IPPROTO_ROUTING___69 = 43,
    IPPROTO_FRAGMENT___69 = 44,
    IPPROTO_ICMPV6___69 = 58,
    IPPROTO_NONE___69 = 59,
    IPPROTO_DSTOPTS___69 = 60,
    IPPROTO_MH___69 = 135
} ;
enum __anonenum_662268580___69 {
    IPPORT_ECHO___69 = 7,
    IPPORT_DISCARD___69 = 9,
    IPPORT_SYSTAT___69 = 11,
    IPPORT_DAYTIME___69 = 13,
    IPPORT_NETSTAT___69 = 15,
    IPPORT_FTP___69 = 21,
    IPPORT_TELNET___69 = 23,
    IPPORT_SMTP___69 = 25,
    IPPORT_TIMESERVER___69 = 37,
    IPPORT_NAMESERVER___69 = 42,
    IPPORT_WHOIS___69 = 43,
    IPPORT_MTP___69 = 57,
    IPPORT_TFTP___69 = 69,
    IPPORT_RJE___69 = 77,
    IPPORT_FINGER___69 = 79,
    IPPORT_TTYLINK___69 = 87,
    IPPORT_SUPDUP___69 = 95,
    IPPORT_EXECSERVER___69 = 512,
    IPPORT_LOGINSERVER___69 = 513,
    IPPORT_CMDSERVER___69 = 514,
    IPPORT_EFSSERVER___69 = 520,
    IPPORT_BIFFUDP___69 = 512,
    IPPORT_WHOSERVER___69 = 513,
    IPPORT_ROUTESERVER___69 = 520,
    IPPORT_RESERVED___69 = 1024,
    IPPORT_USERRESERVED___69 = 5000
} ;
enum __anonenum_788308992___69 {
    TCP_ESTABLISHED___69 = 1,
    TCP_SYN_SENT___69 = 2,
    TCP_SYN_RECV___69 = 3,
    TCP_FIN_WAIT1___69 = 4,
    TCP_FIN_WAIT2___69 = 5,
    TCP_TIME_WAIT___69 = 6,
    TCP_CLOSE___69 = 7,
    TCP_CLOSE_WAIT___69 = 8,
    TCP_LAST_ACK___69 = 9,
    TCP_LISTEN___69 = 10,
    TCP_CLOSING___69 = 11
} ;
enum __anonenum_221125648___69 {
    TCP_NO_QUEUE___69 = 0,
    TCP_RECV_QUEUE___69 = 1,
    TCP_SEND_QUEUE___69 = 2,
    TCP_QUEUES_NR___69 = 3
} ;
enum __anonenum_34415463___69 {
    PTHREAD_CREATE_JOINABLE___69 = 0,
    PTHREAD_CREATE_DETACHED___69 = 1
} ;
enum __anonenum_303612439___69 {
    PTHREAD_MUTEX_TIMED_NP___69 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___69 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___69 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___69 = 3,
    PTHREAD_MUTEX_NORMAL___69 = 0,
    PTHREAD_MUTEX_RECURSIVE___69 = 1,
    PTHREAD_MUTEX_ERRORCHECK___69 = 2,
    PTHREAD_MUTEX_DEFAULT___69 = 0,
    PTHREAD_MUTEX_FAST_NP___69 = 0
} ;
enum __anonenum_931900394___69 {
    PTHREAD_MUTEX_STALLED___69 = 0,
    PTHREAD_MUTEX_STALLED_NP___69 = 0,
    PTHREAD_MUTEX_ROBUST___69 = 1,
    PTHREAD_MUTEX_ROBUST_NP___69 = 1
} ;
enum __anonenum_205214487___69 {
    PTHREAD_PRIO_NONE___69 = 0,
    PTHREAD_PRIO_INHERIT___69 = 1,
    PTHREAD_PRIO_PROTECT___69 = 2
} ;
enum __anonenum_25043950___69 {
    PTHREAD_RWLOCK_PREFER_READER_NP___69 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___69 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___69 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___69 = 0
} ;
enum __anonenum_436439511___69 {
    PTHREAD_INHERIT_SCHED___69 = 0,
    PTHREAD_EXPLICIT_SCHED___69 = 1
} ;
enum __anonenum_998661166___69 {
    PTHREAD_SCOPE_SYSTEM___69 = 0,
    PTHREAD_SCOPE_PROCESS___69 = 1
} ;
enum __anonenum_146137331___69 {
    PTHREAD_PROCESS_PRIVATE___69 = 0,
    PTHREAD_PROCESS_SHARED___69 = 1
} ;
enum __anonenum_53396917___69 {
    PTHREAD_CANCEL_ENABLE___69 = 0,
    PTHREAD_CANCEL_DISABLE___69 = 1
} ;
enum __anonenum_904563783___69 {
    PTHREAD_CANCEL_DEFERRED___69 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___69 = 1
} ;
enum __anonenum_672052974___69 {
    SSL_CT_VALIDATION_PERMISSIVE___69 = 0,
    SSL_CT_VALIDATION_STRICT___69 = 1
} ;
struct fetch_pack_args {
   char const   *uploadpack ;
   int unpacklimit ;
   int depth ;
   char const   *deepen_since ;
   struct string_list  const  *deepen_not ;
   struct list_objects_filter_options filter_options ;
   struct string_list  const  *server_options ;
   struct oid_array  const  *negotiation_tips ;
   unsigned int deepen_relative : 1 ;
   unsigned int quiet : 1 ;
   unsigned int keep_pack : 1 ;
   unsigned int lock_pack : 1 ;
   unsigned int use_thin_pack : 1 ;
   unsigned int fetch_all : 1 ;
   unsigned int stdin_refs : 1 ;
   unsigned int diag_url : 1 ;
   unsigned int verbose : 1 ;
   unsigned int no_progress : 1 ;
   unsigned int include_tag : 1 ;
   unsigned int stateless_rpc : 1 ;
   unsigned int check_self_contained_and_connected : 1 ;
   unsigned int self_contained_and_connected : 1 ;
   unsigned int cloning : 1 ;
   unsigned int update_shallow : 1 ;
   unsigned int reject_shallow_remote : 1 ;
   unsigned int deepen : 1 ;
   unsigned int from_promisor : 1 ;
   unsigned int connectivity_checked : 1 ;
};
enum __anonenum_34023289___4 {
    REMOTE_UNCONFIGURED___4 = 0,
    REMOTE_CONFIG___4 = 1,
    REMOTE_REMOTES___4 = 2,
    REMOTE_BRANCHES___4 = 3
} ;
enum fsck_msg_type {
    FSCK_IGNORE = 0,
    FSCK_INFO = 1,
    FSCK_FATAL = 2,
    FSCK_ERROR = 3,
    FSCK_WARN = 4
} ;
enum fsck_msg_id {
    FSCK_MSG_NUL_IN_HEADER = 0,
    FSCK_MSG_UNTERMINATED_HEADER = 1,
    FSCK_MSG_BAD_DATE = 2,
    FSCK_MSG_BAD_DATE_OVERFLOW = 3,
    FSCK_MSG_BAD_EMAIL = 4,
    FSCK_MSG_BAD_NAME = 5,
    FSCK_MSG_BAD_OBJECT_SHA1 = 6,
    FSCK_MSG_BAD_PARENT_SHA1 = 7,
    FSCK_MSG_BAD_TAG_OBJECT = 8,
    FSCK_MSG_BAD_TIMEZONE = 9,
    FSCK_MSG_BAD_TREE = 10,
    FSCK_MSG_BAD_TREE_SHA1 = 11,
    FSCK_MSG_BAD_TYPE = 12,
    FSCK_MSG_DUPLICATE_ENTRIES = 13,
    FSCK_MSG_MISSING_AUTHOR = 14,
    FSCK_MSG_MISSING_COMMITTER = 15,
    FSCK_MSG_MISSING_EMAIL = 16,
    FSCK_MSG_MISSING_NAME_BEFORE_EMAIL = 17,
    FSCK_MSG_MISSING_OBJECT = 18,
    FSCK_MSG_MISSING_SPACE_BEFORE_DATE = 19,
    FSCK_MSG_MISSING_SPACE_BEFORE_EMAIL = 20,
    FSCK_MSG_MISSING_TAG = 21,
    FSCK_MSG_MISSING_TAG_ENTRY = 22,
    FSCK_MSG_MISSING_TREE = 23,
    FSCK_MSG_MISSING_TREE_OBJECT = 24,
    FSCK_MSG_MISSING_TYPE = 25,
    FSCK_MSG_MISSING_TYPE_ENTRY = 26,
    FSCK_MSG_MULTIPLE_AUTHORS = 27,
    FSCK_MSG_TREE_NOT_SORTED = 28,
    FSCK_MSG_UNKNOWN_TYPE = 29,
    FSCK_MSG_ZERO_PADDED_DATE = 30,
    FSCK_MSG_GITMODULES_MISSING = 31,
    FSCK_MSG_GITMODULES_BLOB = 32,
    FSCK_MSG_GITMODULES_LARGE = 33,
    FSCK_MSG_GITMODULES_NAME = 34,
    FSCK_MSG_GITMODULES_SYMLINK = 35,
    FSCK_MSG_GITMODULES_URL = 36,
    FSCK_MSG_GITMODULES_PATH = 37,
    FSCK_MSG_GITMODULES_UPDATE = 38,
    FSCK_MSG_BAD_FILEMODE = 39,
    FSCK_MSG_EMPTY_NAME = 40,
    FSCK_MSG_FULL_PATHNAME = 41,
    FSCK_MSG_HAS_DOT = 42,
    FSCK_MSG_HAS_DOTDOT = 43,
    FSCK_MSG_HAS_DOTGIT = 44,
    FSCK_MSG_NULL_SHA1 = 45,
    FSCK_MSG_ZERO_PADDED_FILEMODE = 46,
    FSCK_MSG_NUL_IN_COMMIT = 47,
    FSCK_MSG_GITMODULES_PARSE = 48,
    FSCK_MSG_GITIGNORE_SYMLINK = 49,
    FSCK_MSG_GITATTRIBUTES_SYMLINK = 50,
    FSCK_MSG_MAILMAP_SYMLINK = 51,
    FSCK_MSG_BAD_TAG_NAME = 52,
    FSCK_MSG_MISSING_TAGGER_ENTRY = 53,
    FSCK_MSG_EXTRA_HEADER_ENTRY = 54,
    FSCK_MSG_MAX = 55
} ;
struct fsck_options ;
typedef int (*fsck_walk_func)(struct object *obj , enum object_type object_type ,
                              void *data , struct fsck_options *options );
typedef int (*fsck_error)(struct fsck_options *o , struct object_id  const  *oid ,
                          enum object_type object_type , enum fsck_msg_type msg_type ,
                          enum fsck_msg_id msg_id , char const   *message );
struct fsck_options {
   int (*walk)(struct object *obj , enum object_type object_type , void *data , struct fsck_options *options ) ;
   int (*error_func)(struct fsck_options *o , struct object_id  const  *oid , enum object_type object_type ,
                     enum fsck_msg_type msg_type , enum fsck_msg_id msg_id , char const   *message ) ;
   unsigned int strict : 1 ;
   enum fsck_msg_type *msg_type ;
   struct oidset skiplist ;
   struct oidset gitmodules_found ;
   struct oidset gitmodules_done ;
   kh_oid_map_t *object_names ;
};
struct alternate_object_cache {
   struct object **items ;
   size_t nr ;
   size_t alloc ;
};
enum ack_type {
    NAK = 0,
    ACK = 1,
    ACK_continue = 2,
    ACK_common = 3,
    ACK_ready = 4
} ;
struct loose_object_iter {
   struct oidset *loose_object_set ;
   struct ref *refs ;
};
enum __anonenum_437032235___70 {
    _PC_LINK_MAX___70 = 0,
    _PC_MAX_CANON___70 = 1,
    _PC_MAX_INPUT___70 = 2,
    _PC_NAME_MAX___70 = 3,
    _PC_PATH_MAX___70 = 4,
    _PC_PIPE_BUF___70 = 5,
    _PC_CHOWN_RESTRICTED___70 = 6,
    _PC_NO_TRUNC___70 = 7,
    _PC_VDISABLE___70 = 8,
    _PC_SYNC_IO___70 = 9,
    _PC_ASYNC_IO___70 = 10,
    _PC_PRIO_IO___70 = 11,
    _PC_SOCK_MAXBUF___70 = 12,
    _PC_FILESIZEBITS___70 = 13,
    _PC_REC_INCR_XFER_SIZE___70 = 14,
    _PC_REC_MAX_XFER_SIZE___70 = 15,
    _PC_REC_MIN_XFER_SIZE___70 = 16,
    _PC_REC_XFER_ALIGN___70 = 17,
    _PC_ALLOC_SIZE_MIN___70 = 18,
    _PC_SYMLINK_MAX___70 = 19,
    _PC_2_SYMLINKS___70 = 20
} ;
enum __anonenum_315186338___70 {
    _SC_ARG_MAX___70 = 0,
    _SC_CHILD_MAX___70 = 1,
    _SC_CLK_TCK___70 = 2,
    _SC_NGROUPS_MAX___70 = 3,
    _SC_OPEN_MAX___70 = 4,
    _SC_STREAM_MAX___70 = 5,
    _SC_TZNAME_MAX___70 = 6,
    _SC_JOB_CONTROL___70 = 7,
    _SC_SAVED_IDS___70 = 8,
    _SC_REALTIME_SIGNALS___70 = 9,
    _SC_PRIORITY_SCHEDULING___70 = 10,
    _SC_TIMERS___70 = 11,
    _SC_ASYNCHRONOUS_IO___70 = 12,
    _SC_PRIORITIZED_IO___70 = 13,
    _SC_SYNCHRONIZED_IO___70 = 14,
    _SC_FSYNC___70 = 15,
    _SC_MAPPED_FILES___70 = 16,
    _SC_MEMLOCK___70 = 17,
    _SC_MEMLOCK_RANGE___70 = 18,
    _SC_MEMORY_PROTECTION___70 = 19,
    _SC_MESSAGE_PASSING___70 = 20,
    _SC_SEMAPHORES___70 = 21,
    _SC_SHARED_MEMORY_OBJECTS___70 = 22,
    _SC_AIO_LISTIO_MAX___70 = 23,
    _SC_AIO_MAX___70 = 24,
    _SC_AIO_PRIO_DELTA_MAX___70 = 25,
    _SC_DELAYTIMER_MAX___70 = 26,
    _SC_MQ_OPEN_MAX___70 = 27,
    _SC_MQ_PRIO_MAX___70 = 28,
    _SC_VERSION___70 = 29,
    _SC_PAGESIZE___70 = 30,
    _SC_RTSIG_MAX___70 = 31,
    _SC_SEM_NSEMS_MAX___70 = 32,
    _SC_SEM_VALUE_MAX___70 = 33,
    _SC_SIGQUEUE_MAX___70 = 34,
    _SC_TIMER_MAX___70 = 35,
    _SC_BC_BASE_MAX___70 = 36,
    _SC_BC_DIM_MAX___70 = 37,
    _SC_BC_SCALE_MAX___70 = 38,
    _SC_BC_STRING_MAX___70 = 39,
    _SC_COLL_WEIGHTS_MAX___70 = 40,
    _SC_EQUIV_CLASS_MAX___70 = 41,
    _SC_EXPR_NEST_MAX___70 = 42,
    _SC_LINE_MAX___70 = 43,
    _SC_RE_DUP_MAX___70 = 44,
    _SC_CHARCLASS_NAME_MAX___70 = 45,
    _SC_2_VERSION___70 = 46,
    _SC_2_C_BIND___70 = 47,
    _SC_2_C_DEV___70 = 48,
    _SC_2_FORT_DEV___70 = 49,
    _SC_2_FORT_RUN___70 = 50,
    _SC_2_SW_DEV___70 = 51,
    _SC_2_LOCALEDEF___70 = 52,
    _SC_PII___70 = 53,
    _SC_PII_XTI___70 = 54,
    _SC_PII_SOCKET___70 = 55,
    _SC_PII_INTERNET___70 = 56,
    _SC_PII_OSI___70 = 57,
    _SC_POLL___70 = 58,
    _SC_SELECT___70 = 59,
    _SC_UIO_MAXIOV___70 = 60,
    _SC_IOV_MAX___70 = 60,
    _SC_PII_INTERNET_STREAM___70 = 61,
    _SC_PII_INTERNET_DGRAM___70 = 62,
    _SC_PII_OSI_COTS___70 = 63,
    _SC_PII_OSI_CLTS___70 = 64,
    _SC_PII_OSI_M___70 = 65,
    _SC_T_IOV_MAX___70 = 66,
    _SC_THREADS___70 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___70 = 68,
    _SC_GETGR_R_SIZE_MAX___70 = 69,
    _SC_GETPW_R_SIZE_MAX___70 = 70,
    _SC_LOGIN_NAME_MAX___70 = 71,
    _SC_TTY_NAME_MAX___70 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___70 = 73,
    _SC_THREAD_KEYS_MAX___70 = 74,
    _SC_THREAD_STACK_MIN___70 = 75,
    _SC_THREAD_THREADS_MAX___70 = 76,
    _SC_THREAD_ATTR_STACKADDR___70 = 77,
    _SC_THREAD_ATTR_STACKSIZE___70 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___70 = 79,
    _SC_THREAD_PRIO_INHERIT___70 = 80,
    _SC_THREAD_PRIO_PROTECT___70 = 81,
    _SC_THREAD_PROCESS_SHARED___70 = 82,
    _SC_NPROCESSORS_CONF___70 = 83,
    _SC_NPROCESSORS_ONLN___70 = 84,
    _SC_PHYS_PAGES___70 = 85,
    _SC_AVPHYS_PAGES___70 = 86,
    _SC_ATEXIT_MAX___70 = 87,
    _SC_PASS_MAX___70 = 88,
    _SC_XOPEN_VERSION___70 = 89,
    _SC_XOPEN_XCU_VERSION___70 = 90,
    _SC_XOPEN_UNIX___70 = 91,
    _SC_XOPEN_CRYPT___70 = 92,
    _SC_XOPEN_ENH_I18N___70 = 93,
    _SC_XOPEN_SHM___70 = 94,
    _SC_2_CHAR_TERM___70 = 95,
    _SC_2_C_VERSION___70 = 96,
    _SC_2_UPE___70 = 97,
    _SC_XOPEN_XPG2___70 = 98,
    _SC_XOPEN_XPG3___70 = 99,
    _SC_XOPEN_XPG4___70 = 100,
    _SC_CHAR_BIT___70 = 101,
    _SC_CHAR_MAX___70 = 102,
    _SC_CHAR_MIN___70 = 103,
    _SC_INT_MAX___70 = 104,
    _SC_INT_MIN___70 = 105,
    _SC_LONG_BIT___70 = 106,
    _SC_WORD_BIT___70 = 107,
    _SC_MB_LEN_MAX___70 = 108,
    _SC_NZERO___70 = 109,
    _SC_SSIZE_MAX___70 = 110,
    _SC_SCHAR_MAX___70 = 111,
    _SC_SCHAR_MIN___70 = 112,
    _SC_SHRT_MAX___70 = 113,
    _SC_SHRT_MIN___70 = 114,
    _SC_UCHAR_MAX___70 = 115,
    _SC_UINT_MAX___70 = 116,
    _SC_ULONG_MAX___70 = 117,
    _SC_USHRT_MAX___70 = 118,
    _SC_NL_ARGMAX___70 = 119,
    _SC_NL_LANGMAX___70 = 120,
    _SC_NL_MSGMAX___70 = 121,
    _SC_NL_NMAX___70 = 122,
    _SC_NL_SETMAX___70 = 123,
    _SC_NL_TEXTMAX___70 = 124,
    _SC_XBS5_ILP32_OFF32___70 = 125,
    _SC_XBS5_ILP32_OFFBIG___70 = 126,
    _SC_XBS5_LP64_OFF64___70 = 127,
    _SC_XBS5_LPBIG_OFFBIG___70 = 128,
    _SC_XOPEN_LEGACY___70 = 129,
    _SC_XOPEN_REALTIME___70 = 130,
    _SC_XOPEN_REALTIME_THREADS___70 = 131,
    _SC_ADVISORY_INFO___70 = 132,
    _SC_BARRIERS___70 = 133,
    _SC_BASE___70 = 134,
    _SC_C_LANG_SUPPORT___70 = 135,
    _SC_C_LANG_SUPPORT_R___70 = 136,
    _SC_CLOCK_SELECTION___70 = 137,
    _SC_CPUTIME___70 = 138,
    _SC_THREAD_CPUTIME___70 = 139,
    _SC_DEVICE_IO___70 = 140,
    _SC_DEVICE_SPECIFIC___70 = 141,
    _SC_DEVICE_SPECIFIC_R___70 = 142,
    _SC_FD_MGMT___70 = 143,
    _SC_FIFO___70 = 144,
    _SC_PIPE___70 = 145,
    _SC_FILE_ATTRIBUTES___70 = 146,
    _SC_FILE_LOCKING___70 = 147,
    _SC_FILE_SYSTEM___70 = 148,
    _SC_MONOTONIC_CLOCK___70 = 149,
    _SC_MULTI_PROCESS___70 = 150,
    _SC_SINGLE_PROCESS___70 = 151,
    _SC_NETWORKING___70 = 152,
    _SC_READER_WRITER_LOCKS___70 = 153,
    _SC_SPIN_LOCKS___70 = 154,
    _SC_REGEXP___70 = 155,
    _SC_REGEX_VERSION___70 = 156,
    _SC_SHELL___70 = 157,
    _SC_SIGNALS___70 = 158,
    _SC_SPAWN___70 = 159,
    _SC_SPORADIC_SERVER___70 = 160,
    _SC_THREAD_SPORADIC_SERVER___70 = 161,
    _SC_SYSTEM_DATABASE___70 = 162,
    _SC_SYSTEM_DATABASE_R___70 = 163,
    _SC_TIMEOUTS___70 = 164,
    _SC_TYPED_MEMORY_OBJECTS___70 = 165,
    _SC_USER_GROUPS___70 = 166,
    _SC_USER_GROUPS_R___70 = 167,
    _SC_2_PBS___70 = 168,
    _SC_2_PBS_ACCOUNTING___70 = 169,
    _SC_2_PBS_LOCATE___70 = 170,
    _SC_2_PBS_MESSAGE___70 = 171,
    _SC_2_PBS_TRACK___70 = 172,
    _SC_SYMLOOP_MAX___70 = 173,
    _SC_STREAMS___70 = 174,
    _SC_2_PBS_CHECKPOINT___70 = 175,
    _SC_V6_ILP32_OFF32___70 = 176,
    _SC_V6_ILP32_OFFBIG___70 = 177,
    _SC_V6_LP64_OFF64___70 = 178,
    _SC_V6_LPBIG_OFFBIG___70 = 179,
    _SC_HOST_NAME_MAX___70 = 180,
    _SC_TRACE___70 = 181,
    _SC_TRACE_EVENT_FILTER___70 = 182,
    _SC_TRACE_INHERIT___70 = 183,
    _SC_TRACE_LOG___70 = 184,
    _SC_LEVEL1_ICACHE_SIZE___70 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___70 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___70 = 187,
    _SC_LEVEL1_DCACHE_SIZE___70 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___70 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___70 = 190,
    _SC_LEVEL2_CACHE_SIZE___70 = 191,
    _SC_LEVEL2_CACHE_ASSOC___70 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___70 = 193,
    _SC_LEVEL3_CACHE_SIZE___70 = 194,
    _SC_LEVEL3_CACHE_ASSOC___70 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___70 = 196,
    _SC_LEVEL4_CACHE_SIZE___70 = 197,
    _SC_LEVEL4_CACHE_ASSOC___70 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___70 = 199,
    _SC_IPV6___70 = 235,
    _SC_RAW_SOCKETS___70 = 236,
    _SC_V7_ILP32_OFF32___70 = 237,
    _SC_V7_ILP32_OFFBIG___70 = 238,
    _SC_V7_LP64_OFF64___70 = 239,
    _SC_V7_LPBIG_OFFBIG___70 = 240,
    _SC_SS_REPL_MAX___70 = 241,
    _SC_TRACE_EVENT_NAME_MAX___70 = 242,
    _SC_TRACE_NAME_MAX___70 = 243,
    _SC_TRACE_SYS_MAX___70 = 244,
    _SC_TRACE_USER_EVENT_MAX___70 = 245,
    _SC_XOPEN_STREAMS___70 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___70 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___70 = 248
} ;
enum __anonenum_875524036___70 {
    _CS_PATH___70 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___70 = 1,
    _CS_GNU_LIBC_VERSION___70 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___70 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___70 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___70 = 5,
    _CS_LFS_CFLAGS___70 = 1000,
    _CS_LFS_LDFLAGS___70 = 1001,
    _CS_LFS_LIBS___70 = 1002,
    _CS_LFS_LINTFLAGS___70 = 1003,
    _CS_LFS64_CFLAGS___70 = 1004,
    _CS_LFS64_LDFLAGS___70 = 1005,
    _CS_LFS64_LIBS___70 = 1006,
    _CS_LFS64_LINTFLAGS___70 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___70 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___70 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___70 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___70 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___70 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___70 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___70 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___70 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___70 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___70 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___70 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___70 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___70 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___70 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___70 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___70 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___70 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___70 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___70 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___70 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___70 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___70 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___70 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___70 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___70 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___70 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___70 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___70 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___70 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___70 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___70 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___70 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___70 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___70 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___70 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___70 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___70 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___70 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___70 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___70 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___70 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___70 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___70 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___70 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___70 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___70 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___70 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___70 = 1147,
    _CS_V6_ENV___70 = 1148,
    _CS_V7_ENV___70 = 1149
} ;
enum __anonenum_513775621___70 {
    DT_UNKNOWN___70 = 0,
    DT_FIFO___70 = 1,
    DT_CHR___70 = 2,
    DT_DIR___70 = 4,
    DT_BLK___70 = 6,
    DT_REG___70 = 8,
    DT_LNK___70 = 10,
    DT_SOCK___70 = 12,
    DT_WHT___70 = 14
} ;
enum __anonenum_77002343___70 {
    SI_ASYNCNL___70 = -60,
    SI_TKILL___70 = -6,
    SI_SIGIO___70 = -5,
    SI_ASYNCIO___70 = -4,
    SI_MESGQ___70 = -3,
    SI_TIMER___70 = -2,
    SI_QUEUE___70 = -1,
    SI_USER___70 = 0,
    SI_KERNEL___70 = 128
} ;
enum __anonenum_131038172___70 {
    ILL_ILLOPC___70 = 1,
    ILL_ILLOPN___70 = 2,
    ILL_ILLADR___70 = 3,
    ILL_ILLTRP___70 = 4,
    ILL_PRVOPC___70 = 5,
    ILL_PRVREG___70 = 6,
    ILL_COPROC___70 = 7,
    ILL_BADSTK___70 = 8
} ;
enum __anonenum_452038093___70 {
    FPE_INTDIV___70 = 1,
    FPE_INTOVF___70 = 2,
    FPE_FLTDIV___70 = 3,
    FPE_FLTOVF___70 = 4,
    FPE_FLTUND___70 = 5,
    FPE_FLTRES___70 = 6,
    FPE_FLTINV___70 = 7,
    FPE_FLTSUB___70 = 8
} ;
enum __anonenum_30976155___70 {
    SEGV_MAPERR___70 = 1,
    SEGV_ACCERR___70 = 2,
    SEGV_BNDERR___70 = 3,
    SEGV_PKUERR___70 = 4
} ;
enum __anonenum_1036286214___70 {
    BUS_ADRALN___70 = 1,
    BUS_ADRERR___70 = 2,
    BUS_OBJERR___70 = 3,
    BUS_MCEERR_AR___70 = 4,
    BUS_MCEERR_AO___70 = 5
} ;
enum __anonenum_493465559___70 {
    TRAP_BRKPT___70 = 1,
    TRAP_TRACE___70 = 2
} ;
enum __anonenum_23175539___70 {
    CLD_EXITED___70 = 1,
    CLD_KILLED___70 = 2,
    CLD_DUMPED___70 = 3,
    CLD_TRAPPED___70 = 4,
    CLD_STOPPED___70 = 5,
    CLD_CONTINUED___70 = 6
} ;
enum __anonenum_111643124___70 {
    POLL_IN___70 = 1,
    POLL_OUT___70 = 2,
    POLL_MSG___70 = 3,
    POLL_ERR___70 = 4,
    POLL_PRI___70 = 5,
    POLL_HUP___70 = 6
} ;
enum __anonenum_852341087___70 {
    SIGEV_SIGNAL___70 = 0,
    SIGEV_NONE___70 = 1,
    SIGEV_THREAD___70 = 2,
    SIGEV_THREAD_ID___70 = 4
} ;
enum __anonenum_451154152___70 {
    REG_R8___70 = 0,
    REG_R9___70 = 1,
    REG_R10___70 = 2,
    REG_R11___70 = 3,
    REG_R12___70 = 4,
    REG_R13___70 = 5,
    REG_R14___70 = 6,
    REG_R15___70 = 7,
    REG_RDI___70 = 8,
    REG_RSI___70 = 9,
    REG_RBP___70 = 10,
    REG_RBX___70 = 11,
    REG_RDX___70 = 12,
    REG_RAX___70 = 13,
    REG_RCX___70 = 14,
    REG_RSP___70 = 15,
    REG_RIP___70 = 16,
    REG_EFL___70 = 17,
    REG_CSGSFS___70 = 18,
    REG_ERR___70 = 19,
    REG_TRAPNO___70 = 20,
    REG_OLDMASK___70 = 21,
    REG_CR2___70 = 22
} ;
enum __anonenum_57186863___70 {
    SS_ONSTACK___70 = 1,
    SS_DISABLE___70 = 2
} ;
enum __anonenum_83571709___70 {
    MSG_OOB___70 = 1,
    MSG_PEEK___70 = 2,
    MSG_DONTROUTE___70 = 4,
    MSG_TRYHARD___70 = 4,
    MSG_CTRUNC___70 = 8,
    MSG_PROXY___70 = 16,
    MSG_TRUNC___70 = 32,
    MSG_DONTWAIT___70 = 64,
    MSG_EOR___70 = 128,
    MSG_WAITALL___70 = 256,
    MSG_FIN___70 = 512,
    MSG_SYN___70 = 1024,
    MSG_CONFIRM___70 = 2048,
    MSG_RST___70 = 4096,
    MSG_ERRQUEUE___70 = 8192,
    MSG_NOSIGNAL___70 = 16384,
    MSG_MORE___70 = 32768,
    MSG_WAITFORONE___70 = 65536,
    MSG_BATCH___70 = 262144,
    MSG_ZEROCOPY___70 = 67108864,
    MSG_FASTOPEN___70 = 536870912,
    MSG_CMSG_CLOEXEC___70 = 1073741824
} ;
enum __anonenum_617082774___70 {
    SCM_RIGHTS___70 = 1,
    SCM_CREDENTIALS___70 = 2
} ;
enum __anonenum_606441560___70 {
    SHUT_RD___70 = 0,
    SHUT_WR___70 = 1,
    SHUT_RDWR___70 = 2
} ;
enum __anonenum_681669233___70 {
    IPPROTO_IP___70 = 0,
    IPPROTO_ICMP___70 = 1,
    IPPROTO_IGMP___70 = 2,
    IPPROTO_IPIP___70 = 4,
    IPPROTO_TCP___70 = 6,
    IPPROTO_EGP___70 = 8,
    IPPROTO_PUP___70 = 12,
    IPPROTO_UDP___70 = 17,
    IPPROTO_IDP___70 = 22,
    IPPROTO_TP___70 = 29,
    IPPROTO_DCCP___70 = 33,
    IPPROTO_IPV6___70 = 41,
    IPPROTO_RSVP___70 = 46,
    IPPROTO_GRE___70 = 47,
    IPPROTO_ESP___70 = 50,
    IPPROTO_AH___70 = 51,
    IPPROTO_MTP___70 = 92,
    IPPROTO_BEETPH___70 = 94,
    IPPROTO_ENCAP___70 = 98,
    IPPROTO_PIM___70 = 103,
    IPPROTO_COMP___70 = 108,
    IPPROTO_SCTP___70 = 132,
    IPPROTO_UDPLITE___70 = 136,
    IPPROTO_MPLS___70 = 137,
    IPPROTO_RAW___70 = 255,
    IPPROTO_MAX___70 = 256
} ;
enum __anonenum_218739988___70 {
    IPPROTO_HOPOPTS___70 = 0,
    IPPROTO_ROUTING___70 = 43,
    IPPROTO_FRAGMENT___70 = 44,
    IPPROTO_ICMPV6___70 = 58,
    IPPROTO_NONE___70 = 59,
    IPPROTO_DSTOPTS___70 = 60,
    IPPROTO_MH___70 = 135
} ;
enum __anonenum_662268580___70 {
    IPPORT_ECHO___70 = 7,
    IPPORT_DISCARD___70 = 9,
    IPPORT_SYSTAT___70 = 11,
    IPPORT_DAYTIME___70 = 13,
    IPPORT_NETSTAT___70 = 15,
    IPPORT_FTP___70 = 21,
    IPPORT_TELNET___70 = 23,
    IPPORT_SMTP___70 = 25,
    IPPORT_TIMESERVER___70 = 37,
    IPPORT_NAMESERVER___70 = 42,
    IPPORT_WHOIS___70 = 43,
    IPPORT_MTP___70 = 57,
    IPPORT_TFTP___70 = 69,
    IPPORT_RJE___70 = 77,
    IPPORT_FINGER___70 = 79,
    IPPORT_TTYLINK___70 = 87,
    IPPORT_SUPDUP___70 = 95,
    IPPORT_EXECSERVER___70 = 512,
    IPPORT_LOGINSERVER___70 = 513,
    IPPORT_CMDSERVER___70 = 514,
    IPPORT_EFSSERVER___70 = 520,
    IPPORT_BIFFUDP___70 = 512,
    IPPORT_WHOSERVER___70 = 513,
    IPPORT_ROUTESERVER___70 = 520,
    IPPORT_RESERVED___70 = 1024,
    IPPORT_USERRESERVED___70 = 5000
} ;
enum __anonenum_788308992___70 {
    TCP_ESTABLISHED___70 = 1,
    TCP_SYN_SENT___70 = 2,
    TCP_SYN_RECV___70 = 3,
    TCP_FIN_WAIT1___70 = 4,
    TCP_FIN_WAIT2___70 = 5,
    TCP_TIME_WAIT___70 = 6,
    TCP_CLOSE___70 = 7,
    TCP_CLOSE_WAIT___70 = 8,
    TCP_LAST_ACK___70 = 9,
    TCP_LISTEN___70 = 10,
    TCP_CLOSING___70 = 11
} ;
enum __anonenum_221125648___70 {
    TCP_NO_QUEUE___70 = 0,
    TCP_RECV_QUEUE___70 = 1,
    TCP_SEND_QUEUE___70 = 2,
    TCP_QUEUES_NR___70 = 3
} ;
enum __anonenum_34415463___70 {
    PTHREAD_CREATE_JOINABLE___70 = 0,
    PTHREAD_CREATE_DETACHED___70 = 1
} ;
enum __anonenum_303612439___70 {
    PTHREAD_MUTEX_TIMED_NP___70 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___70 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___70 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___70 = 3,
    PTHREAD_MUTEX_NORMAL___70 = 0,
    PTHREAD_MUTEX_RECURSIVE___70 = 1,
    PTHREAD_MUTEX_ERRORCHECK___70 = 2,
    PTHREAD_MUTEX_DEFAULT___70 = 0,
    PTHREAD_MUTEX_FAST_NP___70 = 0
} ;
enum __anonenum_931900394___70 {
    PTHREAD_MUTEX_STALLED___70 = 0,
    PTHREAD_MUTEX_STALLED_NP___70 = 0,
    PTHREAD_MUTEX_ROBUST___70 = 1,
    PTHREAD_MUTEX_ROBUST_NP___70 = 1
} ;
enum __anonenum_205214487___70 {
    PTHREAD_PRIO_NONE___70 = 0,
    PTHREAD_PRIO_INHERIT___70 = 1,
    PTHREAD_PRIO_PROTECT___70 = 2
} ;
enum __anonenum_25043950___70 {
    PTHREAD_RWLOCK_PREFER_READER_NP___70 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___70 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___70 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___70 = 0
} ;
enum __anonenum_436439511___70 {
    PTHREAD_INHERIT_SCHED___70 = 0,
    PTHREAD_EXPLICIT_SCHED___70 = 1
} ;
enum __anonenum_998661166___70 {
    PTHREAD_SCOPE_SYSTEM___70 = 0,
    PTHREAD_SCOPE_PROCESS___70 = 1
} ;
enum __anonenum_146137331___70 {
    PTHREAD_PROCESS_PRIVATE___70 = 0,
    PTHREAD_PROCESS_SHARED___70 = 1
} ;
enum __anonenum_53396917___70 {
    PTHREAD_CANCEL_ENABLE___70 = 0,
    PTHREAD_CANCEL_DISABLE___70 = 1
} ;
enum __anonenum_904563783___70 {
    PTHREAD_CANCEL_DEFERRED___70 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___70 = 1
} ;
enum __anonenum_672052974___70 {
    SSL_CT_VALIDATION_PERMISSIVE___70 = 0,
    SSL_CT_VALIDATION_STRICT___70 = 1
} ;
struct src_data {
   struct string_list branch ;
   struct string_list tag ;
   struct string_list r_branch ;
   struct string_list generic ;
   int head_status ;
};
struct origin_data {
   struct object_id oid ;
   unsigned int is_local_branch : 1 ;
};
struct merge_parent {
   struct object_id given ;
   struct object_id commit ;
   unsigned char used ;
};
struct merge_parents {
   int alloc ;
   int nr ;
   struct merge_parent *item ;
};
enum __anonenum_437032235___71 {
    _PC_LINK_MAX___71 = 0,
    _PC_MAX_CANON___71 = 1,
    _PC_MAX_INPUT___71 = 2,
    _PC_NAME_MAX___71 = 3,
    _PC_PATH_MAX___71 = 4,
    _PC_PIPE_BUF___71 = 5,
    _PC_CHOWN_RESTRICTED___71 = 6,
    _PC_NO_TRUNC___71 = 7,
    _PC_VDISABLE___71 = 8,
    _PC_SYNC_IO___71 = 9,
    _PC_ASYNC_IO___71 = 10,
    _PC_PRIO_IO___71 = 11,
    _PC_SOCK_MAXBUF___71 = 12,
    _PC_FILESIZEBITS___71 = 13,
    _PC_REC_INCR_XFER_SIZE___71 = 14,
    _PC_REC_MAX_XFER_SIZE___71 = 15,
    _PC_REC_MIN_XFER_SIZE___71 = 16,
    _PC_REC_XFER_ALIGN___71 = 17,
    _PC_ALLOC_SIZE_MIN___71 = 18,
    _PC_SYMLINK_MAX___71 = 19,
    _PC_2_SYMLINKS___71 = 20
} ;
enum __anonenum_315186338___71 {
    _SC_ARG_MAX___71 = 0,
    _SC_CHILD_MAX___71 = 1,
    _SC_CLK_TCK___71 = 2,
    _SC_NGROUPS_MAX___71 = 3,
    _SC_OPEN_MAX___71 = 4,
    _SC_STREAM_MAX___71 = 5,
    _SC_TZNAME_MAX___71 = 6,
    _SC_JOB_CONTROL___71 = 7,
    _SC_SAVED_IDS___71 = 8,
    _SC_REALTIME_SIGNALS___71 = 9,
    _SC_PRIORITY_SCHEDULING___71 = 10,
    _SC_TIMERS___71 = 11,
    _SC_ASYNCHRONOUS_IO___71 = 12,
    _SC_PRIORITIZED_IO___71 = 13,
    _SC_SYNCHRONIZED_IO___71 = 14,
    _SC_FSYNC___71 = 15,
    _SC_MAPPED_FILES___71 = 16,
    _SC_MEMLOCK___71 = 17,
    _SC_MEMLOCK_RANGE___71 = 18,
    _SC_MEMORY_PROTECTION___71 = 19,
    _SC_MESSAGE_PASSING___71 = 20,
    _SC_SEMAPHORES___71 = 21,
    _SC_SHARED_MEMORY_OBJECTS___71 = 22,
    _SC_AIO_LISTIO_MAX___71 = 23,
    _SC_AIO_MAX___71 = 24,
    _SC_AIO_PRIO_DELTA_MAX___71 = 25,
    _SC_DELAYTIMER_MAX___71 = 26,
    _SC_MQ_OPEN_MAX___71 = 27,
    _SC_MQ_PRIO_MAX___71 = 28,
    _SC_VERSION___71 = 29,
    _SC_PAGESIZE___71 = 30,
    _SC_RTSIG_MAX___71 = 31,
    _SC_SEM_NSEMS_MAX___71 = 32,
    _SC_SEM_VALUE_MAX___71 = 33,
    _SC_SIGQUEUE_MAX___71 = 34,
    _SC_TIMER_MAX___71 = 35,
    _SC_BC_BASE_MAX___71 = 36,
    _SC_BC_DIM_MAX___71 = 37,
    _SC_BC_SCALE_MAX___71 = 38,
    _SC_BC_STRING_MAX___71 = 39,
    _SC_COLL_WEIGHTS_MAX___71 = 40,
    _SC_EQUIV_CLASS_MAX___71 = 41,
    _SC_EXPR_NEST_MAX___71 = 42,
    _SC_LINE_MAX___71 = 43,
    _SC_RE_DUP_MAX___71 = 44,
    _SC_CHARCLASS_NAME_MAX___71 = 45,
    _SC_2_VERSION___71 = 46,
    _SC_2_C_BIND___71 = 47,
    _SC_2_C_DEV___71 = 48,
    _SC_2_FORT_DEV___71 = 49,
    _SC_2_FORT_RUN___71 = 50,
    _SC_2_SW_DEV___71 = 51,
    _SC_2_LOCALEDEF___71 = 52,
    _SC_PII___71 = 53,
    _SC_PII_XTI___71 = 54,
    _SC_PII_SOCKET___71 = 55,
    _SC_PII_INTERNET___71 = 56,
    _SC_PII_OSI___71 = 57,
    _SC_POLL___71 = 58,
    _SC_SELECT___71 = 59,
    _SC_UIO_MAXIOV___71 = 60,
    _SC_IOV_MAX___71 = 60,
    _SC_PII_INTERNET_STREAM___71 = 61,
    _SC_PII_INTERNET_DGRAM___71 = 62,
    _SC_PII_OSI_COTS___71 = 63,
    _SC_PII_OSI_CLTS___71 = 64,
    _SC_PII_OSI_M___71 = 65,
    _SC_T_IOV_MAX___71 = 66,
    _SC_THREADS___71 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___71 = 68,
    _SC_GETGR_R_SIZE_MAX___71 = 69,
    _SC_GETPW_R_SIZE_MAX___71 = 70,
    _SC_LOGIN_NAME_MAX___71 = 71,
    _SC_TTY_NAME_MAX___71 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___71 = 73,
    _SC_THREAD_KEYS_MAX___71 = 74,
    _SC_THREAD_STACK_MIN___71 = 75,
    _SC_THREAD_THREADS_MAX___71 = 76,
    _SC_THREAD_ATTR_STACKADDR___71 = 77,
    _SC_THREAD_ATTR_STACKSIZE___71 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___71 = 79,
    _SC_THREAD_PRIO_INHERIT___71 = 80,
    _SC_THREAD_PRIO_PROTECT___71 = 81,
    _SC_THREAD_PROCESS_SHARED___71 = 82,
    _SC_NPROCESSORS_CONF___71 = 83,
    _SC_NPROCESSORS_ONLN___71 = 84,
    _SC_PHYS_PAGES___71 = 85,
    _SC_AVPHYS_PAGES___71 = 86,
    _SC_ATEXIT_MAX___71 = 87,
    _SC_PASS_MAX___71 = 88,
    _SC_XOPEN_VERSION___71 = 89,
    _SC_XOPEN_XCU_VERSION___71 = 90,
    _SC_XOPEN_UNIX___71 = 91,
    _SC_XOPEN_CRYPT___71 = 92,
    _SC_XOPEN_ENH_I18N___71 = 93,
    _SC_XOPEN_SHM___71 = 94,
    _SC_2_CHAR_TERM___71 = 95,
    _SC_2_C_VERSION___71 = 96,
    _SC_2_UPE___71 = 97,
    _SC_XOPEN_XPG2___71 = 98,
    _SC_XOPEN_XPG3___71 = 99,
    _SC_XOPEN_XPG4___71 = 100,
    _SC_CHAR_BIT___71 = 101,
    _SC_CHAR_MAX___71 = 102,
    _SC_CHAR_MIN___71 = 103,
    _SC_INT_MAX___71 = 104,
    _SC_INT_MIN___71 = 105,
    _SC_LONG_BIT___71 = 106,
    _SC_WORD_BIT___71 = 107,
    _SC_MB_LEN_MAX___71 = 108,
    _SC_NZERO___71 = 109,
    _SC_SSIZE_MAX___71 = 110,
    _SC_SCHAR_MAX___71 = 111,
    _SC_SCHAR_MIN___71 = 112,
    _SC_SHRT_MAX___71 = 113,
    _SC_SHRT_MIN___71 = 114,
    _SC_UCHAR_MAX___71 = 115,
    _SC_UINT_MAX___71 = 116,
    _SC_ULONG_MAX___71 = 117,
    _SC_USHRT_MAX___71 = 118,
    _SC_NL_ARGMAX___71 = 119,
    _SC_NL_LANGMAX___71 = 120,
    _SC_NL_MSGMAX___71 = 121,
    _SC_NL_NMAX___71 = 122,
    _SC_NL_SETMAX___71 = 123,
    _SC_NL_TEXTMAX___71 = 124,
    _SC_XBS5_ILP32_OFF32___71 = 125,
    _SC_XBS5_ILP32_OFFBIG___71 = 126,
    _SC_XBS5_LP64_OFF64___71 = 127,
    _SC_XBS5_LPBIG_OFFBIG___71 = 128,
    _SC_XOPEN_LEGACY___71 = 129,
    _SC_XOPEN_REALTIME___71 = 130,
    _SC_XOPEN_REALTIME_THREADS___71 = 131,
    _SC_ADVISORY_INFO___71 = 132,
    _SC_BARRIERS___71 = 133,
    _SC_BASE___71 = 134,
    _SC_C_LANG_SUPPORT___71 = 135,
    _SC_C_LANG_SUPPORT_R___71 = 136,
    _SC_CLOCK_SELECTION___71 = 137,
    _SC_CPUTIME___71 = 138,
    _SC_THREAD_CPUTIME___71 = 139,
    _SC_DEVICE_IO___71 = 140,
    _SC_DEVICE_SPECIFIC___71 = 141,
    _SC_DEVICE_SPECIFIC_R___71 = 142,
    _SC_FD_MGMT___71 = 143,
    _SC_FIFO___71 = 144,
    _SC_PIPE___71 = 145,
    _SC_FILE_ATTRIBUTES___71 = 146,
    _SC_FILE_LOCKING___71 = 147,
    _SC_FILE_SYSTEM___71 = 148,
    _SC_MONOTONIC_CLOCK___71 = 149,
    _SC_MULTI_PROCESS___71 = 150,
    _SC_SINGLE_PROCESS___71 = 151,
    _SC_NETWORKING___71 = 152,
    _SC_READER_WRITER_LOCKS___71 = 153,
    _SC_SPIN_LOCKS___71 = 154,
    _SC_REGEXP___71 = 155,
    _SC_REGEX_VERSION___71 = 156,
    _SC_SHELL___71 = 157,
    _SC_SIGNALS___71 = 158,
    _SC_SPAWN___71 = 159,
    _SC_SPORADIC_SERVER___71 = 160,
    _SC_THREAD_SPORADIC_SERVER___71 = 161,
    _SC_SYSTEM_DATABASE___71 = 162,
    _SC_SYSTEM_DATABASE_R___71 = 163,
    _SC_TIMEOUTS___71 = 164,
    _SC_TYPED_MEMORY_OBJECTS___71 = 165,
    _SC_USER_GROUPS___71 = 166,
    _SC_USER_GROUPS_R___71 = 167,
    _SC_2_PBS___71 = 168,
    _SC_2_PBS_ACCOUNTING___71 = 169,
    _SC_2_PBS_LOCATE___71 = 170,
    _SC_2_PBS_MESSAGE___71 = 171,
    _SC_2_PBS_TRACK___71 = 172,
    _SC_SYMLOOP_MAX___71 = 173,
    _SC_STREAMS___71 = 174,
    _SC_2_PBS_CHECKPOINT___71 = 175,
    _SC_V6_ILP32_OFF32___71 = 176,
    _SC_V6_ILP32_OFFBIG___71 = 177,
    _SC_V6_LP64_OFF64___71 = 178,
    _SC_V6_LPBIG_OFFBIG___71 = 179,
    _SC_HOST_NAME_MAX___71 = 180,
    _SC_TRACE___71 = 181,
    _SC_TRACE_EVENT_FILTER___71 = 182,
    _SC_TRACE_INHERIT___71 = 183,
    _SC_TRACE_LOG___71 = 184,
    _SC_LEVEL1_ICACHE_SIZE___71 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___71 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___71 = 187,
    _SC_LEVEL1_DCACHE_SIZE___71 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___71 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___71 = 190,
    _SC_LEVEL2_CACHE_SIZE___71 = 191,
    _SC_LEVEL2_CACHE_ASSOC___71 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___71 = 193,
    _SC_LEVEL3_CACHE_SIZE___71 = 194,
    _SC_LEVEL3_CACHE_ASSOC___71 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___71 = 196,
    _SC_LEVEL4_CACHE_SIZE___71 = 197,
    _SC_LEVEL4_CACHE_ASSOC___71 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___71 = 199,
    _SC_IPV6___71 = 235,
    _SC_RAW_SOCKETS___71 = 236,
    _SC_V7_ILP32_OFF32___71 = 237,
    _SC_V7_ILP32_OFFBIG___71 = 238,
    _SC_V7_LP64_OFF64___71 = 239,
    _SC_V7_LPBIG_OFFBIG___71 = 240,
    _SC_SS_REPL_MAX___71 = 241,
    _SC_TRACE_EVENT_NAME_MAX___71 = 242,
    _SC_TRACE_NAME_MAX___71 = 243,
    _SC_TRACE_SYS_MAX___71 = 244,
    _SC_TRACE_USER_EVENT_MAX___71 = 245,
    _SC_XOPEN_STREAMS___71 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___71 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___71 = 248
} ;
enum __anonenum_875524036___71 {
    _CS_PATH___71 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___71 = 1,
    _CS_GNU_LIBC_VERSION___71 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___71 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___71 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___71 = 5,
    _CS_LFS_CFLAGS___71 = 1000,
    _CS_LFS_LDFLAGS___71 = 1001,
    _CS_LFS_LIBS___71 = 1002,
    _CS_LFS_LINTFLAGS___71 = 1003,
    _CS_LFS64_CFLAGS___71 = 1004,
    _CS_LFS64_LDFLAGS___71 = 1005,
    _CS_LFS64_LIBS___71 = 1006,
    _CS_LFS64_LINTFLAGS___71 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___71 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___71 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___71 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___71 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___71 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___71 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___71 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___71 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___71 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___71 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___71 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___71 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___71 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___71 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___71 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___71 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___71 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___71 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___71 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___71 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___71 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___71 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___71 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___71 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___71 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___71 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___71 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___71 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___71 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___71 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___71 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___71 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___71 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___71 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___71 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___71 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___71 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___71 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___71 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___71 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___71 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___71 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___71 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___71 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___71 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___71 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___71 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___71 = 1147,
    _CS_V6_ENV___71 = 1148,
    _CS_V7_ENV___71 = 1149
} ;
enum __anonenum_513775621___71 {
    DT_UNKNOWN___71 = 0,
    DT_FIFO___71 = 1,
    DT_CHR___71 = 2,
    DT_DIR___71 = 4,
    DT_BLK___71 = 6,
    DT_REG___71 = 8,
    DT_LNK___71 = 10,
    DT_SOCK___71 = 12,
    DT_WHT___71 = 14
} ;
enum __anonenum_77002343___71 {
    SI_ASYNCNL___71 = -60,
    SI_TKILL___71 = -6,
    SI_SIGIO___71 = -5,
    SI_ASYNCIO___71 = -4,
    SI_MESGQ___71 = -3,
    SI_TIMER___71 = -2,
    SI_QUEUE___71 = -1,
    SI_USER___71 = 0,
    SI_KERNEL___71 = 128
} ;
enum __anonenum_131038172___71 {
    ILL_ILLOPC___71 = 1,
    ILL_ILLOPN___71 = 2,
    ILL_ILLADR___71 = 3,
    ILL_ILLTRP___71 = 4,
    ILL_PRVOPC___71 = 5,
    ILL_PRVREG___71 = 6,
    ILL_COPROC___71 = 7,
    ILL_BADSTK___71 = 8
} ;
enum __anonenum_452038093___71 {
    FPE_INTDIV___71 = 1,
    FPE_INTOVF___71 = 2,
    FPE_FLTDIV___71 = 3,
    FPE_FLTOVF___71 = 4,
    FPE_FLTUND___71 = 5,
    FPE_FLTRES___71 = 6,
    FPE_FLTINV___71 = 7,
    FPE_FLTSUB___71 = 8
} ;
enum __anonenum_30976155___71 {
    SEGV_MAPERR___71 = 1,
    SEGV_ACCERR___71 = 2,
    SEGV_BNDERR___71 = 3,
    SEGV_PKUERR___71 = 4
} ;
enum __anonenum_1036286214___71 {
    BUS_ADRALN___71 = 1,
    BUS_ADRERR___71 = 2,
    BUS_OBJERR___71 = 3,
    BUS_MCEERR_AR___71 = 4,
    BUS_MCEERR_AO___71 = 5
} ;
enum __anonenum_493465559___71 {
    TRAP_BRKPT___71 = 1,
    TRAP_TRACE___71 = 2
} ;
enum __anonenum_23175539___71 {
    CLD_EXITED___71 = 1,
    CLD_KILLED___71 = 2,
    CLD_DUMPED___71 = 3,
    CLD_TRAPPED___71 = 4,
    CLD_STOPPED___71 = 5,
    CLD_CONTINUED___71 = 6
} ;
enum __anonenum_111643124___71 {
    POLL_IN___71 = 1,
    POLL_OUT___71 = 2,
    POLL_MSG___71 = 3,
    POLL_ERR___71 = 4,
    POLL_PRI___71 = 5,
    POLL_HUP___71 = 6
} ;
enum __anonenum_852341087___71 {
    SIGEV_SIGNAL___71 = 0,
    SIGEV_NONE___71 = 1,
    SIGEV_THREAD___71 = 2,
    SIGEV_THREAD_ID___71 = 4
} ;
enum __anonenum_451154152___71 {
    REG_R8___71 = 0,
    REG_R9___71 = 1,
    REG_R10___71 = 2,
    REG_R11___71 = 3,
    REG_R12___71 = 4,
    REG_R13___71 = 5,
    REG_R14___71 = 6,
    REG_R15___71 = 7,
    REG_RDI___71 = 8,
    REG_RSI___71 = 9,
    REG_RBP___71 = 10,
    REG_RBX___71 = 11,
    REG_RDX___71 = 12,
    REG_RAX___71 = 13,
    REG_RCX___71 = 14,
    REG_RSP___71 = 15,
    REG_RIP___71 = 16,
    REG_EFL___71 = 17,
    REG_CSGSFS___71 = 18,
    REG_ERR___71 = 19,
    REG_TRAPNO___71 = 20,
    REG_OLDMASK___71 = 21,
    REG_CR2___71 = 22
} ;
enum __anonenum_57186863___71 {
    SS_ONSTACK___71 = 1,
    SS_DISABLE___71 = 2
} ;
enum __anonenum_83571709___71 {
    MSG_OOB___71 = 1,
    MSG_PEEK___71 = 2,
    MSG_DONTROUTE___71 = 4,
    MSG_TRYHARD___71 = 4,
    MSG_CTRUNC___71 = 8,
    MSG_PROXY___71 = 16,
    MSG_TRUNC___71 = 32,
    MSG_DONTWAIT___71 = 64,
    MSG_EOR___71 = 128,
    MSG_WAITALL___71 = 256,
    MSG_FIN___71 = 512,
    MSG_SYN___71 = 1024,
    MSG_CONFIRM___71 = 2048,
    MSG_RST___71 = 4096,
    MSG_ERRQUEUE___71 = 8192,
    MSG_NOSIGNAL___71 = 16384,
    MSG_MORE___71 = 32768,
    MSG_WAITFORONE___71 = 65536,
    MSG_BATCH___71 = 262144,
    MSG_ZEROCOPY___71 = 67108864,
    MSG_FASTOPEN___71 = 536870912,
    MSG_CMSG_CLOEXEC___71 = 1073741824
} ;
enum __anonenum_617082774___71 {
    SCM_RIGHTS___71 = 1,
    SCM_CREDENTIALS___71 = 2
} ;
enum __anonenum_606441560___71 {
    SHUT_RD___71 = 0,
    SHUT_WR___71 = 1,
    SHUT_RDWR___71 = 2
} ;
enum __anonenum_681669233___71 {
    IPPROTO_IP___71 = 0,
    IPPROTO_ICMP___71 = 1,
    IPPROTO_IGMP___71 = 2,
    IPPROTO_IPIP___71 = 4,
    IPPROTO_TCP___71 = 6,
    IPPROTO_EGP___71 = 8,
    IPPROTO_PUP___71 = 12,
    IPPROTO_UDP___71 = 17,
    IPPROTO_IDP___71 = 22,
    IPPROTO_TP___71 = 29,
    IPPROTO_DCCP___71 = 33,
    IPPROTO_IPV6___71 = 41,
    IPPROTO_RSVP___71 = 46,
    IPPROTO_GRE___71 = 47,
    IPPROTO_ESP___71 = 50,
    IPPROTO_AH___71 = 51,
    IPPROTO_MTP___71 = 92,
    IPPROTO_BEETPH___71 = 94,
    IPPROTO_ENCAP___71 = 98,
    IPPROTO_PIM___71 = 103,
    IPPROTO_COMP___71 = 108,
    IPPROTO_SCTP___71 = 132,
    IPPROTO_UDPLITE___71 = 136,
    IPPROTO_MPLS___71 = 137,
    IPPROTO_RAW___71 = 255,
    IPPROTO_MAX___71 = 256
} ;
enum __anonenum_218739988___71 {
    IPPROTO_HOPOPTS___71 = 0,
    IPPROTO_ROUTING___71 = 43,
    IPPROTO_FRAGMENT___71 = 44,
    IPPROTO_ICMPV6___71 = 58,
    IPPROTO_NONE___71 = 59,
    IPPROTO_DSTOPTS___71 = 60,
    IPPROTO_MH___71 = 135
} ;
enum __anonenum_662268580___71 {
    IPPORT_ECHO___71 = 7,
    IPPORT_DISCARD___71 = 9,
    IPPORT_SYSTAT___71 = 11,
    IPPORT_DAYTIME___71 = 13,
    IPPORT_NETSTAT___71 = 15,
    IPPORT_FTP___71 = 21,
    IPPORT_TELNET___71 = 23,
    IPPORT_SMTP___71 = 25,
    IPPORT_TIMESERVER___71 = 37,
    IPPORT_NAMESERVER___71 = 42,
    IPPORT_WHOIS___71 = 43,
    IPPORT_MTP___71 = 57,
    IPPORT_TFTP___71 = 69,
    IPPORT_RJE___71 = 77,
    IPPORT_FINGER___71 = 79,
    IPPORT_TTYLINK___71 = 87,
    IPPORT_SUPDUP___71 = 95,
    IPPORT_EXECSERVER___71 = 512,
    IPPORT_LOGINSERVER___71 = 513,
    IPPORT_CMDSERVER___71 = 514,
    IPPORT_EFSSERVER___71 = 520,
    IPPORT_BIFFUDP___71 = 512,
    IPPORT_WHOSERVER___71 = 513,
    IPPORT_ROUTESERVER___71 = 520,
    IPPORT_RESERVED___71 = 1024,
    IPPORT_USERRESERVED___71 = 5000
} ;
enum __anonenum_788308992___71 {
    TCP_ESTABLISHED___71 = 1,
    TCP_SYN_SENT___71 = 2,
    TCP_SYN_RECV___71 = 3,
    TCP_FIN_WAIT1___71 = 4,
    TCP_FIN_WAIT2___71 = 5,
    TCP_TIME_WAIT___71 = 6,
    TCP_CLOSE___71 = 7,
    TCP_CLOSE_WAIT___71 = 8,
    TCP_LAST_ACK___71 = 9,
    TCP_LISTEN___71 = 10,
    TCP_CLOSING___71 = 11
} ;
enum __anonenum_221125648___71 {
    TCP_NO_QUEUE___71 = 0,
    TCP_RECV_QUEUE___71 = 1,
    TCP_SEND_QUEUE___71 = 2,
    TCP_QUEUES_NR___71 = 3
} ;
enum __anonenum_34415463___71 {
    PTHREAD_CREATE_JOINABLE___71 = 0,
    PTHREAD_CREATE_DETACHED___71 = 1
} ;
enum __anonenum_303612439___71 {
    PTHREAD_MUTEX_TIMED_NP___71 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___71 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___71 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___71 = 3,
    PTHREAD_MUTEX_NORMAL___71 = 0,
    PTHREAD_MUTEX_RECURSIVE___71 = 1,
    PTHREAD_MUTEX_ERRORCHECK___71 = 2,
    PTHREAD_MUTEX_DEFAULT___71 = 0,
    PTHREAD_MUTEX_FAST_NP___71 = 0
} ;
enum __anonenum_931900394___71 {
    PTHREAD_MUTEX_STALLED___71 = 0,
    PTHREAD_MUTEX_STALLED_NP___71 = 0,
    PTHREAD_MUTEX_ROBUST___71 = 1,
    PTHREAD_MUTEX_ROBUST_NP___71 = 1
} ;
enum __anonenum_205214487___71 {
    PTHREAD_PRIO_NONE___71 = 0,
    PTHREAD_PRIO_INHERIT___71 = 1,
    PTHREAD_PRIO_PROTECT___71 = 2
} ;
enum __anonenum_25043950___71 {
    PTHREAD_RWLOCK_PREFER_READER_NP___71 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___71 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___71 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___71 = 0
} ;
enum __anonenum_436439511___71 {
    PTHREAD_INHERIT_SCHED___71 = 0,
    PTHREAD_EXPLICIT_SCHED___71 = 1
} ;
enum __anonenum_998661166___71 {
    PTHREAD_SCOPE_SYSTEM___71 = 0,
    PTHREAD_SCOPE_PROCESS___71 = 1
} ;
enum __anonenum_146137331___71 {
    PTHREAD_PROCESS_PRIVATE___71 = 0,
    PTHREAD_PROCESS_SHARED___71 = 1
} ;
enum __anonenum_53396917___71 {
    PTHREAD_CANCEL_ENABLE___71 = 0,
    PTHREAD_CANCEL_DISABLE___71 = 1
} ;
enum __anonenum_904563783___71 {
    PTHREAD_CANCEL_DEFERRED___71 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___71 = 1
} ;
enum __anonenum_672052974___71 {
    SSL_CT_VALIDATION_PERMISSIVE___71 = 0,
    SSL_CT_VALIDATION_STRICT___71 = 1
} ;
enum __anonenum_561748495___3 {
    RECURSE_SUBMODULES_ONLY___3 = -5,
    RECURSE_SUBMODULES_CHECK___3 = -4,
    RECURSE_SUBMODULES_ERROR___3 = -3,
    RECURSE_SUBMODULES_NONE___3 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___3 = -1,
    RECURSE_SUBMODULES_OFF___3 = 0,
    RECURSE_SUBMODULES_DEFAULT___3 = 1,
    RECURSE_SUBMODULES_ON___3 = 2
} ;
struct __anonstruct_msg_id_info_745191059 {
   char const   *id_string ;
   char const   *downcased ;
   char const   *camelcased ;
   enum fsck_msg_type msg_type ;
};
struct name_stack {
   char const   **names ;
   size_t nr ;
   size_t alloc ;
};
struct fsck_gitmodules_data {
   struct object_id  const  *oid ;
   struct fsck_options *options ;
   int ret ;
};
enum __anonenum_437032235___72 {
    _PC_LINK_MAX___72 = 0,
    _PC_MAX_CANON___72 = 1,
    _PC_MAX_INPUT___72 = 2,
    _PC_NAME_MAX___72 = 3,
    _PC_PATH_MAX___72 = 4,
    _PC_PIPE_BUF___72 = 5,
    _PC_CHOWN_RESTRICTED___72 = 6,
    _PC_NO_TRUNC___72 = 7,
    _PC_VDISABLE___72 = 8,
    _PC_SYNC_IO___72 = 9,
    _PC_ASYNC_IO___72 = 10,
    _PC_PRIO_IO___72 = 11,
    _PC_SOCK_MAXBUF___72 = 12,
    _PC_FILESIZEBITS___72 = 13,
    _PC_REC_INCR_XFER_SIZE___72 = 14,
    _PC_REC_MAX_XFER_SIZE___72 = 15,
    _PC_REC_MIN_XFER_SIZE___72 = 16,
    _PC_REC_XFER_ALIGN___72 = 17,
    _PC_ALLOC_SIZE_MIN___72 = 18,
    _PC_SYMLINK_MAX___72 = 19,
    _PC_2_SYMLINKS___72 = 20
} ;
enum __anonenum_315186338___72 {
    _SC_ARG_MAX___72 = 0,
    _SC_CHILD_MAX___72 = 1,
    _SC_CLK_TCK___72 = 2,
    _SC_NGROUPS_MAX___72 = 3,
    _SC_OPEN_MAX___72 = 4,
    _SC_STREAM_MAX___72 = 5,
    _SC_TZNAME_MAX___72 = 6,
    _SC_JOB_CONTROL___72 = 7,
    _SC_SAVED_IDS___72 = 8,
    _SC_REALTIME_SIGNALS___72 = 9,
    _SC_PRIORITY_SCHEDULING___72 = 10,
    _SC_TIMERS___72 = 11,
    _SC_ASYNCHRONOUS_IO___72 = 12,
    _SC_PRIORITIZED_IO___72 = 13,
    _SC_SYNCHRONIZED_IO___72 = 14,
    _SC_FSYNC___72 = 15,
    _SC_MAPPED_FILES___72 = 16,
    _SC_MEMLOCK___72 = 17,
    _SC_MEMLOCK_RANGE___72 = 18,
    _SC_MEMORY_PROTECTION___72 = 19,
    _SC_MESSAGE_PASSING___72 = 20,
    _SC_SEMAPHORES___72 = 21,
    _SC_SHARED_MEMORY_OBJECTS___72 = 22,
    _SC_AIO_LISTIO_MAX___72 = 23,
    _SC_AIO_MAX___72 = 24,
    _SC_AIO_PRIO_DELTA_MAX___72 = 25,
    _SC_DELAYTIMER_MAX___72 = 26,
    _SC_MQ_OPEN_MAX___72 = 27,
    _SC_MQ_PRIO_MAX___72 = 28,
    _SC_VERSION___72 = 29,
    _SC_PAGESIZE___72 = 30,
    _SC_RTSIG_MAX___72 = 31,
    _SC_SEM_NSEMS_MAX___72 = 32,
    _SC_SEM_VALUE_MAX___72 = 33,
    _SC_SIGQUEUE_MAX___72 = 34,
    _SC_TIMER_MAX___72 = 35,
    _SC_BC_BASE_MAX___72 = 36,
    _SC_BC_DIM_MAX___72 = 37,
    _SC_BC_SCALE_MAX___72 = 38,
    _SC_BC_STRING_MAX___72 = 39,
    _SC_COLL_WEIGHTS_MAX___72 = 40,
    _SC_EQUIV_CLASS_MAX___72 = 41,
    _SC_EXPR_NEST_MAX___72 = 42,
    _SC_LINE_MAX___72 = 43,
    _SC_RE_DUP_MAX___72 = 44,
    _SC_CHARCLASS_NAME_MAX___72 = 45,
    _SC_2_VERSION___72 = 46,
    _SC_2_C_BIND___72 = 47,
    _SC_2_C_DEV___72 = 48,
    _SC_2_FORT_DEV___72 = 49,
    _SC_2_FORT_RUN___72 = 50,
    _SC_2_SW_DEV___72 = 51,
    _SC_2_LOCALEDEF___72 = 52,
    _SC_PII___72 = 53,
    _SC_PII_XTI___72 = 54,
    _SC_PII_SOCKET___72 = 55,
    _SC_PII_INTERNET___72 = 56,
    _SC_PII_OSI___72 = 57,
    _SC_POLL___72 = 58,
    _SC_SELECT___72 = 59,
    _SC_UIO_MAXIOV___72 = 60,
    _SC_IOV_MAX___72 = 60,
    _SC_PII_INTERNET_STREAM___72 = 61,
    _SC_PII_INTERNET_DGRAM___72 = 62,
    _SC_PII_OSI_COTS___72 = 63,
    _SC_PII_OSI_CLTS___72 = 64,
    _SC_PII_OSI_M___72 = 65,
    _SC_T_IOV_MAX___72 = 66,
    _SC_THREADS___72 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___72 = 68,
    _SC_GETGR_R_SIZE_MAX___72 = 69,
    _SC_GETPW_R_SIZE_MAX___72 = 70,
    _SC_LOGIN_NAME_MAX___72 = 71,
    _SC_TTY_NAME_MAX___72 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___72 = 73,
    _SC_THREAD_KEYS_MAX___72 = 74,
    _SC_THREAD_STACK_MIN___72 = 75,
    _SC_THREAD_THREADS_MAX___72 = 76,
    _SC_THREAD_ATTR_STACKADDR___72 = 77,
    _SC_THREAD_ATTR_STACKSIZE___72 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___72 = 79,
    _SC_THREAD_PRIO_INHERIT___72 = 80,
    _SC_THREAD_PRIO_PROTECT___72 = 81,
    _SC_THREAD_PROCESS_SHARED___72 = 82,
    _SC_NPROCESSORS_CONF___72 = 83,
    _SC_NPROCESSORS_ONLN___72 = 84,
    _SC_PHYS_PAGES___72 = 85,
    _SC_AVPHYS_PAGES___72 = 86,
    _SC_ATEXIT_MAX___72 = 87,
    _SC_PASS_MAX___72 = 88,
    _SC_XOPEN_VERSION___72 = 89,
    _SC_XOPEN_XCU_VERSION___72 = 90,
    _SC_XOPEN_UNIX___72 = 91,
    _SC_XOPEN_CRYPT___72 = 92,
    _SC_XOPEN_ENH_I18N___72 = 93,
    _SC_XOPEN_SHM___72 = 94,
    _SC_2_CHAR_TERM___72 = 95,
    _SC_2_C_VERSION___72 = 96,
    _SC_2_UPE___72 = 97,
    _SC_XOPEN_XPG2___72 = 98,
    _SC_XOPEN_XPG3___72 = 99,
    _SC_XOPEN_XPG4___72 = 100,
    _SC_CHAR_BIT___72 = 101,
    _SC_CHAR_MAX___72 = 102,
    _SC_CHAR_MIN___72 = 103,
    _SC_INT_MAX___72 = 104,
    _SC_INT_MIN___72 = 105,
    _SC_LONG_BIT___72 = 106,
    _SC_WORD_BIT___72 = 107,
    _SC_MB_LEN_MAX___72 = 108,
    _SC_NZERO___72 = 109,
    _SC_SSIZE_MAX___72 = 110,
    _SC_SCHAR_MAX___72 = 111,
    _SC_SCHAR_MIN___72 = 112,
    _SC_SHRT_MAX___72 = 113,
    _SC_SHRT_MIN___72 = 114,
    _SC_UCHAR_MAX___72 = 115,
    _SC_UINT_MAX___72 = 116,
    _SC_ULONG_MAX___72 = 117,
    _SC_USHRT_MAX___72 = 118,
    _SC_NL_ARGMAX___72 = 119,
    _SC_NL_LANGMAX___72 = 120,
    _SC_NL_MSGMAX___72 = 121,
    _SC_NL_NMAX___72 = 122,
    _SC_NL_SETMAX___72 = 123,
    _SC_NL_TEXTMAX___72 = 124,
    _SC_XBS5_ILP32_OFF32___72 = 125,
    _SC_XBS5_ILP32_OFFBIG___72 = 126,
    _SC_XBS5_LP64_OFF64___72 = 127,
    _SC_XBS5_LPBIG_OFFBIG___72 = 128,
    _SC_XOPEN_LEGACY___72 = 129,
    _SC_XOPEN_REALTIME___72 = 130,
    _SC_XOPEN_REALTIME_THREADS___72 = 131,
    _SC_ADVISORY_INFO___72 = 132,
    _SC_BARRIERS___72 = 133,
    _SC_BASE___72 = 134,
    _SC_C_LANG_SUPPORT___72 = 135,
    _SC_C_LANG_SUPPORT_R___72 = 136,
    _SC_CLOCK_SELECTION___72 = 137,
    _SC_CPUTIME___72 = 138,
    _SC_THREAD_CPUTIME___72 = 139,
    _SC_DEVICE_IO___72 = 140,
    _SC_DEVICE_SPECIFIC___72 = 141,
    _SC_DEVICE_SPECIFIC_R___72 = 142,
    _SC_FD_MGMT___72 = 143,
    _SC_FIFO___72 = 144,
    _SC_PIPE___72 = 145,
    _SC_FILE_ATTRIBUTES___72 = 146,
    _SC_FILE_LOCKING___72 = 147,
    _SC_FILE_SYSTEM___72 = 148,
    _SC_MONOTONIC_CLOCK___72 = 149,
    _SC_MULTI_PROCESS___72 = 150,
    _SC_SINGLE_PROCESS___72 = 151,
    _SC_NETWORKING___72 = 152,
    _SC_READER_WRITER_LOCKS___72 = 153,
    _SC_SPIN_LOCKS___72 = 154,
    _SC_REGEXP___72 = 155,
    _SC_REGEX_VERSION___72 = 156,
    _SC_SHELL___72 = 157,
    _SC_SIGNALS___72 = 158,
    _SC_SPAWN___72 = 159,
    _SC_SPORADIC_SERVER___72 = 160,
    _SC_THREAD_SPORADIC_SERVER___72 = 161,
    _SC_SYSTEM_DATABASE___72 = 162,
    _SC_SYSTEM_DATABASE_R___72 = 163,
    _SC_TIMEOUTS___72 = 164,
    _SC_TYPED_MEMORY_OBJECTS___72 = 165,
    _SC_USER_GROUPS___72 = 166,
    _SC_USER_GROUPS_R___72 = 167,
    _SC_2_PBS___72 = 168,
    _SC_2_PBS_ACCOUNTING___72 = 169,
    _SC_2_PBS_LOCATE___72 = 170,
    _SC_2_PBS_MESSAGE___72 = 171,
    _SC_2_PBS_TRACK___72 = 172,
    _SC_SYMLOOP_MAX___72 = 173,
    _SC_STREAMS___72 = 174,
    _SC_2_PBS_CHECKPOINT___72 = 175,
    _SC_V6_ILP32_OFF32___72 = 176,
    _SC_V6_ILP32_OFFBIG___72 = 177,
    _SC_V6_LP64_OFF64___72 = 178,
    _SC_V6_LPBIG_OFFBIG___72 = 179,
    _SC_HOST_NAME_MAX___72 = 180,
    _SC_TRACE___72 = 181,
    _SC_TRACE_EVENT_FILTER___72 = 182,
    _SC_TRACE_INHERIT___72 = 183,
    _SC_TRACE_LOG___72 = 184,
    _SC_LEVEL1_ICACHE_SIZE___72 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___72 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___72 = 187,
    _SC_LEVEL1_DCACHE_SIZE___72 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___72 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___72 = 190,
    _SC_LEVEL2_CACHE_SIZE___72 = 191,
    _SC_LEVEL2_CACHE_ASSOC___72 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___72 = 193,
    _SC_LEVEL3_CACHE_SIZE___72 = 194,
    _SC_LEVEL3_CACHE_ASSOC___72 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___72 = 196,
    _SC_LEVEL4_CACHE_SIZE___72 = 197,
    _SC_LEVEL4_CACHE_ASSOC___72 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___72 = 199,
    _SC_IPV6___72 = 235,
    _SC_RAW_SOCKETS___72 = 236,
    _SC_V7_ILP32_OFF32___72 = 237,
    _SC_V7_ILP32_OFFBIG___72 = 238,
    _SC_V7_LP64_OFF64___72 = 239,
    _SC_V7_LPBIG_OFFBIG___72 = 240,
    _SC_SS_REPL_MAX___72 = 241,
    _SC_TRACE_EVENT_NAME_MAX___72 = 242,
    _SC_TRACE_NAME_MAX___72 = 243,
    _SC_TRACE_SYS_MAX___72 = 244,
    _SC_TRACE_USER_EVENT_MAX___72 = 245,
    _SC_XOPEN_STREAMS___72 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___72 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___72 = 248
} ;
enum __anonenum_875524036___72 {
    _CS_PATH___72 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___72 = 1,
    _CS_GNU_LIBC_VERSION___72 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___72 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___72 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___72 = 5,
    _CS_LFS_CFLAGS___72 = 1000,
    _CS_LFS_LDFLAGS___72 = 1001,
    _CS_LFS_LIBS___72 = 1002,
    _CS_LFS_LINTFLAGS___72 = 1003,
    _CS_LFS64_CFLAGS___72 = 1004,
    _CS_LFS64_LDFLAGS___72 = 1005,
    _CS_LFS64_LIBS___72 = 1006,
    _CS_LFS64_LINTFLAGS___72 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___72 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___72 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___72 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___72 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___72 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___72 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___72 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___72 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___72 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___72 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___72 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___72 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___72 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___72 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___72 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___72 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___72 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___72 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___72 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___72 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___72 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___72 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___72 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___72 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___72 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___72 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___72 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___72 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___72 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___72 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___72 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___72 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___72 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___72 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___72 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___72 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___72 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___72 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___72 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___72 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___72 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___72 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___72 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___72 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___72 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___72 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___72 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___72 = 1147,
    _CS_V6_ENV___72 = 1148,
    _CS_V7_ENV___72 = 1149
} ;
enum __anonenum_513775621___72 {
    DT_UNKNOWN___72 = 0,
    DT_FIFO___72 = 1,
    DT_CHR___72 = 2,
    DT_DIR___72 = 4,
    DT_BLK___72 = 6,
    DT_REG___72 = 8,
    DT_LNK___72 = 10,
    DT_SOCK___72 = 12,
    DT_WHT___72 = 14
} ;
enum __anonenum_77002343___72 {
    SI_ASYNCNL___72 = -60,
    SI_TKILL___72 = -6,
    SI_SIGIO___72 = -5,
    SI_ASYNCIO___72 = -4,
    SI_MESGQ___72 = -3,
    SI_TIMER___72 = -2,
    SI_QUEUE___72 = -1,
    SI_USER___72 = 0,
    SI_KERNEL___72 = 128
} ;
enum __anonenum_131038172___72 {
    ILL_ILLOPC___72 = 1,
    ILL_ILLOPN___72 = 2,
    ILL_ILLADR___72 = 3,
    ILL_ILLTRP___72 = 4,
    ILL_PRVOPC___72 = 5,
    ILL_PRVREG___72 = 6,
    ILL_COPROC___72 = 7,
    ILL_BADSTK___72 = 8
} ;
enum __anonenum_452038093___72 {
    FPE_INTDIV___72 = 1,
    FPE_INTOVF___72 = 2,
    FPE_FLTDIV___72 = 3,
    FPE_FLTOVF___72 = 4,
    FPE_FLTUND___72 = 5,
    FPE_FLTRES___72 = 6,
    FPE_FLTINV___72 = 7,
    FPE_FLTSUB___72 = 8
} ;
enum __anonenum_30976155___72 {
    SEGV_MAPERR___72 = 1,
    SEGV_ACCERR___72 = 2,
    SEGV_BNDERR___72 = 3,
    SEGV_PKUERR___72 = 4
} ;
enum __anonenum_1036286214___72 {
    BUS_ADRALN___72 = 1,
    BUS_ADRERR___72 = 2,
    BUS_OBJERR___72 = 3,
    BUS_MCEERR_AR___72 = 4,
    BUS_MCEERR_AO___72 = 5
} ;
enum __anonenum_493465559___72 {
    TRAP_BRKPT___72 = 1,
    TRAP_TRACE___72 = 2
} ;
enum __anonenum_23175539___72 {
    CLD_EXITED___72 = 1,
    CLD_KILLED___72 = 2,
    CLD_DUMPED___72 = 3,
    CLD_TRAPPED___72 = 4,
    CLD_STOPPED___72 = 5,
    CLD_CONTINUED___72 = 6
} ;
enum __anonenum_111643124___72 {
    POLL_IN___72 = 1,
    POLL_OUT___72 = 2,
    POLL_MSG___72 = 3,
    POLL_ERR___72 = 4,
    POLL_PRI___72 = 5,
    POLL_HUP___72 = 6
} ;
enum __anonenum_852341087___72 {
    SIGEV_SIGNAL___72 = 0,
    SIGEV_NONE___72 = 1,
    SIGEV_THREAD___72 = 2,
    SIGEV_THREAD_ID___72 = 4
} ;
enum __anonenum_451154152___72 {
    REG_R8___72 = 0,
    REG_R9___72 = 1,
    REG_R10___72 = 2,
    REG_R11___72 = 3,
    REG_R12___72 = 4,
    REG_R13___72 = 5,
    REG_R14___72 = 6,
    REG_R15___72 = 7,
    REG_RDI___72 = 8,
    REG_RSI___72 = 9,
    REG_RBP___72 = 10,
    REG_RBX___72 = 11,
    REG_RDX___72 = 12,
    REG_RAX___72 = 13,
    REG_RCX___72 = 14,
    REG_RSP___72 = 15,
    REG_RIP___72 = 16,
    REG_EFL___72 = 17,
    REG_CSGSFS___72 = 18,
    REG_ERR___72 = 19,
    REG_TRAPNO___72 = 20,
    REG_OLDMASK___72 = 21,
    REG_CR2___72 = 22
} ;
enum __anonenum_57186863___72 {
    SS_ONSTACK___72 = 1,
    SS_DISABLE___72 = 2
} ;
enum __anonenum_83571709___72 {
    MSG_OOB___72 = 1,
    MSG_PEEK___72 = 2,
    MSG_DONTROUTE___72 = 4,
    MSG_TRYHARD___72 = 4,
    MSG_CTRUNC___72 = 8,
    MSG_PROXY___72 = 16,
    MSG_TRUNC___72 = 32,
    MSG_DONTWAIT___72 = 64,
    MSG_EOR___72 = 128,
    MSG_WAITALL___72 = 256,
    MSG_FIN___72 = 512,
    MSG_SYN___72 = 1024,
    MSG_CONFIRM___72 = 2048,
    MSG_RST___72 = 4096,
    MSG_ERRQUEUE___72 = 8192,
    MSG_NOSIGNAL___72 = 16384,
    MSG_MORE___72 = 32768,
    MSG_WAITFORONE___72 = 65536,
    MSG_BATCH___72 = 262144,
    MSG_ZEROCOPY___72 = 67108864,
    MSG_FASTOPEN___72 = 536870912,
    MSG_CMSG_CLOEXEC___72 = 1073741824
} ;
enum __anonenum_617082774___72 {
    SCM_RIGHTS___72 = 1,
    SCM_CREDENTIALS___72 = 2
} ;
enum __anonenum_606441560___72 {
    SHUT_RD___72 = 0,
    SHUT_WR___72 = 1,
    SHUT_RDWR___72 = 2
} ;
enum __anonenum_681669233___72 {
    IPPROTO_IP___72 = 0,
    IPPROTO_ICMP___72 = 1,
    IPPROTO_IGMP___72 = 2,
    IPPROTO_IPIP___72 = 4,
    IPPROTO_TCP___72 = 6,
    IPPROTO_EGP___72 = 8,
    IPPROTO_PUP___72 = 12,
    IPPROTO_UDP___72 = 17,
    IPPROTO_IDP___72 = 22,
    IPPROTO_TP___72 = 29,
    IPPROTO_DCCP___72 = 33,
    IPPROTO_IPV6___72 = 41,
    IPPROTO_RSVP___72 = 46,
    IPPROTO_GRE___72 = 47,
    IPPROTO_ESP___72 = 50,
    IPPROTO_AH___72 = 51,
    IPPROTO_MTP___72 = 92,
    IPPROTO_BEETPH___72 = 94,
    IPPROTO_ENCAP___72 = 98,
    IPPROTO_PIM___72 = 103,
    IPPROTO_COMP___72 = 108,
    IPPROTO_SCTP___72 = 132,
    IPPROTO_UDPLITE___72 = 136,
    IPPROTO_MPLS___72 = 137,
    IPPROTO_RAW___72 = 255,
    IPPROTO_MAX___72 = 256
} ;
enum __anonenum_218739988___72 {
    IPPROTO_HOPOPTS___72 = 0,
    IPPROTO_ROUTING___72 = 43,
    IPPROTO_FRAGMENT___72 = 44,
    IPPROTO_ICMPV6___72 = 58,
    IPPROTO_NONE___72 = 59,
    IPPROTO_DSTOPTS___72 = 60,
    IPPROTO_MH___72 = 135
} ;
enum __anonenum_662268580___72 {
    IPPORT_ECHO___72 = 7,
    IPPORT_DISCARD___72 = 9,
    IPPORT_SYSTAT___72 = 11,
    IPPORT_DAYTIME___72 = 13,
    IPPORT_NETSTAT___72 = 15,
    IPPORT_FTP___72 = 21,
    IPPORT_TELNET___72 = 23,
    IPPORT_SMTP___72 = 25,
    IPPORT_TIMESERVER___72 = 37,
    IPPORT_NAMESERVER___72 = 42,
    IPPORT_WHOIS___72 = 43,
    IPPORT_MTP___72 = 57,
    IPPORT_TFTP___72 = 69,
    IPPORT_RJE___72 = 77,
    IPPORT_FINGER___72 = 79,
    IPPORT_TTYLINK___72 = 87,
    IPPORT_SUPDUP___72 = 95,
    IPPORT_EXECSERVER___72 = 512,
    IPPORT_LOGINSERVER___72 = 513,
    IPPORT_CMDSERVER___72 = 514,
    IPPORT_EFSSERVER___72 = 520,
    IPPORT_BIFFUDP___72 = 512,
    IPPORT_WHOSERVER___72 = 513,
    IPPORT_ROUTESERVER___72 = 520,
    IPPORT_RESERVED___72 = 1024,
    IPPORT_USERRESERVED___72 = 5000
} ;
enum __anonenum_788308992___72 {
    TCP_ESTABLISHED___72 = 1,
    TCP_SYN_SENT___72 = 2,
    TCP_SYN_RECV___72 = 3,
    TCP_FIN_WAIT1___72 = 4,
    TCP_FIN_WAIT2___72 = 5,
    TCP_TIME_WAIT___72 = 6,
    TCP_CLOSE___72 = 7,
    TCP_CLOSE_WAIT___72 = 8,
    TCP_LAST_ACK___72 = 9,
    TCP_LISTEN___72 = 10,
    TCP_CLOSING___72 = 11
} ;
enum __anonenum_221125648___72 {
    TCP_NO_QUEUE___72 = 0,
    TCP_RECV_QUEUE___72 = 1,
    TCP_SEND_QUEUE___72 = 2,
    TCP_QUEUES_NR___72 = 3
} ;
enum __anonenum_34415463___72 {
    PTHREAD_CREATE_JOINABLE___72 = 0,
    PTHREAD_CREATE_DETACHED___72 = 1
} ;
enum __anonenum_303612439___72 {
    PTHREAD_MUTEX_TIMED_NP___72 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___72 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___72 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___72 = 3,
    PTHREAD_MUTEX_NORMAL___72 = 0,
    PTHREAD_MUTEX_RECURSIVE___72 = 1,
    PTHREAD_MUTEX_ERRORCHECK___72 = 2,
    PTHREAD_MUTEX_DEFAULT___72 = 0,
    PTHREAD_MUTEX_FAST_NP___72 = 0
} ;
enum __anonenum_931900394___72 {
    PTHREAD_MUTEX_STALLED___72 = 0,
    PTHREAD_MUTEX_STALLED_NP___72 = 0,
    PTHREAD_MUTEX_ROBUST___72 = 1,
    PTHREAD_MUTEX_ROBUST_NP___72 = 1
} ;
enum __anonenum_205214487___72 {
    PTHREAD_PRIO_NONE___72 = 0,
    PTHREAD_PRIO_INHERIT___72 = 1,
    PTHREAD_PRIO_PROTECT___72 = 2
} ;
enum __anonenum_25043950___72 {
    PTHREAD_RWLOCK_PREFER_READER_NP___72 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___72 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___72 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___72 = 0
} ;
enum __anonenum_436439511___72 {
    PTHREAD_INHERIT_SCHED___72 = 0,
    PTHREAD_EXPLICIT_SCHED___72 = 1
} ;
enum __anonenum_998661166___72 {
    PTHREAD_SCOPE_SYSTEM___72 = 0,
    PTHREAD_SCOPE_PROCESS___72 = 1
} ;
enum __anonenum_146137331___72 {
    PTHREAD_PROCESS_PRIVATE___72 = 0,
    PTHREAD_PROCESS_SHARED___72 = 1
} ;
enum __anonenum_53396917___72 {
    PTHREAD_CANCEL_ENABLE___72 = 0,
    PTHREAD_CANCEL_DISABLE___72 = 1
} ;
enum __anonenum_904563783___72 {
    PTHREAD_CANCEL_DEFERRED___72 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___72 = 1
} ;
enum __anonenum_672052974___72 {
    SSL_CT_VALIDATION_PERMISSIVE___72 = 0,
    SSL_CT_VALIDATION_STRICT___72 = 1
} ;
enum __anonenum_437032235___73 {
    _PC_LINK_MAX___73 = 0,
    _PC_MAX_CANON___73 = 1,
    _PC_MAX_INPUT___73 = 2,
    _PC_NAME_MAX___73 = 3,
    _PC_PATH_MAX___73 = 4,
    _PC_PIPE_BUF___73 = 5,
    _PC_CHOWN_RESTRICTED___73 = 6,
    _PC_NO_TRUNC___73 = 7,
    _PC_VDISABLE___73 = 8,
    _PC_SYNC_IO___73 = 9,
    _PC_ASYNC_IO___73 = 10,
    _PC_PRIO_IO___73 = 11,
    _PC_SOCK_MAXBUF___73 = 12,
    _PC_FILESIZEBITS___73 = 13,
    _PC_REC_INCR_XFER_SIZE___73 = 14,
    _PC_REC_MAX_XFER_SIZE___73 = 15,
    _PC_REC_MIN_XFER_SIZE___73 = 16,
    _PC_REC_XFER_ALIGN___73 = 17,
    _PC_ALLOC_SIZE_MIN___73 = 18,
    _PC_SYMLINK_MAX___73 = 19,
    _PC_2_SYMLINKS___73 = 20
} ;
enum __anonenum_315186338___73 {
    _SC_ARG_MAX___73 = 0,
    _SC_CHILD_MAX___73 = 1,
    _SC_CLK_TCK___73 = 2,
    _SC_NGROUPS_MAX___73 = 3,
    _SC_OPEN_MAX___73 = 4,
    _SC_STREAM_MAX___73 = 5,
    _SC_TZNAME_MAX___73 = 6,
    _SC_JOB_CONTROL___73 = 7,
    _SC_SAVED_IDS___73 = 8,
    _SC_REALTIME_SIGNALS___73 = 9,
    _SC_PRIORITY_SCHEDULING___73 = 10,
    _SC_TIMERS___73 = 11,
    _SC_ASYNCHRONOUS_IO___73 = 12,
    _SC_PRIORITIZED_IO___73 = 13,
    _SC_SYNCHRONIZED_IO___73 = 14,
    _SC_FSYNC___73 = 15,
    _SC_MAPPED_FILES___73 = 16,
    _SC_MEMLOCK___73 = 17,
    _SC_MEMLOCK_RANGE___73 = 18,
    _SC_MEMORY_PROTECTION___73 = 19,
    _SC_MESSAGE_PASSING___73 = 20,
    _SC_SEMAPHORES___73 = 21,
    _SC_SHARED_MEMORY_OBJECTS___73 = 22,
    _SC_AIO_LISTIO_MAX___73 = 23,
    _SC_AIO_MAX___73 = 24,
    _SC_AIO_PRIO_DELTA_MAX___73 = 25,
    _SC_DELAYTIMER_MAX___73 = 26,
    _SC_MQ_OPEN_MAX___73 = 27,
    _SC_MQ_PRIO_MAX___73 = 28,
    _SC_VERSION___73 = 29,
    _SC_PAGESIZE___73 = 30,
    _SC_RTSIG_MAX___73 = 31,
    _SC_SEM_NSEMS_MAX___73 = 32,
    _SC_SEM_VALUE_MAX___73 = 33,
    _SC_SIGQUEUE_MAX___73 = 34,
    _SC_TIMER_MAX___73 = 35,
    _SC_BC_BASE_MAX___73 = 36,
    _SC_BC_DIM_MAX___73 = 37,
    _SC_BC_SCALE_MAX___73 = 38,
    _SC_BC_STRING_MAX___73 = 39,
    _SC_COLL_WEIGHTS_MAX___73 = 40,
    _SC_EQUIV_CLASS_MAX___73 = 41,
    _SC_EXPR_NEST_MAX___73 = 42,
    _SC_LINE_MAX___73 = 43,
    _SC_RE_DUP_MAX___73 = 44,
    _SC_CHARCLASS_NAME_MAX___73 = 45,
    _SC_2_VERSION___73 = 46,
    _SC_2_C_BIND___73 = 47,
    _SC_2_C_DEV___73 = 48,
    _SC_2_FORT_DEV___73 = 49,
    _SC_2_FORT_RUN___73 = 50,
    _SC_2_SW_DEV___73 = 51,
    _SC_2_LOCALEDEF___73 = 52,
    _SC_PII___73 = 53,
    _SC_PII_XTI___73 = 54,
    _SC_PII_SOCKET___73 = 55,
    _SC_PII_INTERNET___73 = 56,
    _SC_PII_OSI___73 = 57,
    _SC_POLL___73 = 58,
    _SC_SELECT___73 = 59,
    _SC_UIO_MAXIOV___73 = 60,
    _SC_IOV_MAX___73 = 60,
    _SC_PII_INTERNET_STREAM___73 = 61,
    _SC_PII_INTERNET_DGRAM___73 = 62,
    _SC_PII_OSI_COTS___73 = 63,
    _SC_PII_OSI_CLTS___73 = 64,
    _SC_PII_OSI_M___73 = 65,
    _SC_T_IOV_MAX___73 = 66,
    _SC_THREADS___73 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___73 = 68,
    _SC_GETGR_R_SIZE_MAX___73 = 69,
    _SC_GETPW_R_SIZE_MAX___73 = 70,
    _SC_LOGIN_NAME_MAX___73 = 71,
    _SC_TTY_NAME_MAX___73 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___73 = 73,
    _SC_THREAD_KEYS_MAX___73 = 74,
    _SC_THREAD_STACK_MIN___73 = 75,
    _SC_THREAD_THREADS_MAX___73 = 76,
    _SC_THREAD_ATTR_STACKADDR___73 = 77,
    _SC_THREAD_ATTR_STACKSIZE___73 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___73 = 79,
    _SC_THREAD_PRIO_INHERIT___73 = 80,
    _SC_THREAD_PRIO_PROTECT___73 = 81,
    _SC_THREAD_PROCESS_SHARED___73 = 82,
    _SC_NPROCESSORS_CONF___73 = 83,
    _SC_NPROCESSORS_ONLN___73 = 84,
    _SC_PHYS_PAGES___73 = 85,
    _SC_AVPHYS_PAGES___73 = 86,
    _SC_ATEXIT_MAX___73 = 87,
    _SC_PASS_MAX___73 = 88,
    _SC_XOPEN_VERSION___73 = 89,
    _SC_XOPEN_XCU_VERSION___73 = 90,
    _SC_XOPEN_UNIX___73 = 91,
    _SC_XOPEN_CRYPT___73 = 92,
    _SC_XOPEN_ENH_I18N___73 = 93,
    _SC_XOPEN_SHM___73 = 94,
    _SC_2_CHAR_TERM___73 = 95,
    _SC_2_C_VERSION___73 = 96,
    _SC_2_UPE___73 = 97,
    _SC_XOPEN_XPG2___73 = 98,
    _SC_XOPEN_XPG3___73 = 99,
    _SC_XOPEN_XPG4___73 = 100,
    _SC_CHAR_BIT___73 = 101,
    _SC_CHAR_MAX___73 = 102,
    _SC_CHAR_MIN___73 = 103,
    _SC_INT_MAX___73 = 104,
    _SC_INT_MIN___73 = 105,
    _SC_LONG_BIT___73 = 106,
    _SC_WORD_BIT___73 = 107,
    _SC_MB_LEN_MAX___73 = 108,
    _SC_NZERO___73 = 109,
    _SC_SSIZE_MAX___73 = 110,
    _SC_SCHAR_MAX___73 = 111,
    _SC_SCHAR_MIN___73 = 112,
    _SC_SHRT_MAX___73 = 113,
    _SC_SHRT_MIN___73 = 114,
    _SC_UCHAR_MAX___73 = 115,
    _SC_UINT_MAX___73 = 116,
    _SC_ULONG_MAX___73 = 117,
    _SC_USHRT_MAX___73 = 118,
    _SC_NL_ARGMAX___73 = 119,
    _SC_NL_LANGMAX___73 = 120,
    _SC_NL_MSGMAX___73 = 121,
    _SC_NL_NMAX___73 = 122,
    _SC_NL_SETMAX___73 = 123,
    _SC_NL_TEXTMAX___73 = 124,
    _SC_XBS5_ILP32_OFF32___73 = 125,
    _SC_XBS5_ILP32_OFFBIG___73 = 126,
    _SC_XBS5_LP64_OFF64___73 = 127,
    _SC_XBS5_LPBIG_OFFBIG___73 = 128,
    _SC_XOPEN_LEGACY___73 = 129,
    _SC_XOPEN_REALTIME___73 = 130,
    _SC_XOPEN_REALTIME_THREADS___73 = 131,
    _SC_ADVISORY_INFO___73 = 132,
    _SC_BARRIERS___73 = 133,
    _SC_BASE___73 = 134,
    _SC_C_LANG_SUPPORT___73 = 135,
    _SC_C_LANG_SUPPORT_R___73 = 136,
    _SC_CLOCK_SELECTION___73 = 137,
    _SC_CPUTIME___73 = 138,
    _SC_THREAD_CPUTIME___73 = 139,
    _SC_DEVICE_IO___73 = 140,
    _SC_DEVICE_SPECIFIC___73 = 141,
    _SC_DEVICE_SPECIFIC_R___73 = 142,
    _SC_FD_MGMT___73 = 143,
    _SC_FIFO___73 = 144,
    _SC_PIPE___73 = 145,
    _SC_FILE_ATTRIBUTES___73 = 146,
    _SC_FILE_LOCKING___73 = 147,
    _SC_FILE_SYSTEM___73 = 148,
    _SC_MONOTONIC_CLOCK___73 = 149,
    _SC_MULTI_PROCESS___73 = 150,
    _SC_SINGLE_PROCESS___73 = 151,
    _SC_NETWORKING___73 = 152,
    _SC_READER_WRITER_LOCKS___73 = 153,
    _SC_SPIN_LOCKS___73 = 154,
    _SC_REGEXP___73 = 155,
    _SC_REGEX_VERSION___73 = 156,
    _SC_SHELL___73 = 157,
    _SC_SIGNALS___73 = 158,
    _SC_SPAWN___73 = 159,
    _SC_SPORADIC_SERVER___73 = 160,
    _SC_THREAD_SPORADIC_SERVER___73 = 161,
    _SC_SYSTEM_DATABASE___73 = 162,
    _SC_SYSTEM_DATABASE_R___73 = 163,
    _SC_TIMEOUTS___73 = 164,
    _SC_TYPED_MEMORY_OBJECTS___73 = 165,
    _SC_USER_GROUPS___73 = 166,
    _SC_USER_GROUPS_R___73 = 167,
    _SC_2_PBS___73 = 168,
    _SC_2_PBS_ACCOUNTING___73 = 169,
    _SC_2_PBS_LOCATE___73 = 170,
    _SC_2_PBS_MESSAGE___73 = 171,
    _SC_2_PBS_TRACK___73 = 172,
    _SC_SYMLOOP_MAX___73 = 173,
    _SC_STREAMS___73 = 174,
    _SC_2_PBS_CHECKPOINT___73 = 175,
    _SC_V6_ILP32_OFF32___73 = 176,
    _SC_V6_ILP32_OFFBIG___73 = 177,
    _SC_V6_LP64_OFF64___73 = 178,
    _SC_V6_LPBIG_OFFBIG___73 = 179,
    _SC_HOST_NAME_MAX___73 = 180,
    _SC_TRACE___73 = 181,
    _SC_TRACE_EVENT_FILTER___73 = 182,
    _SC_TRACE_INHERIT___73 = 183,
    _SC_TRACE_LOG___73 = 184,
    _SC_LEVEL1_ICACHE_SIZE___73 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___73 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___73 = 187,
    _SC_LEVEL1_DCACHE_SIZE___73 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___73 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___73 = 190,
    _SC_LEVEL2_CACHE_SIZE___73 = 191,
    _SC_LEVEL2_CACHE_ASSOC___73 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___73 = 193,
    _SC_LEVEL3_CACHE_SIZE___73 = 194,
    _SC_LEVEL3_CACHE_ASSOC___73 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___73 = 196,
    _SC_LEVEL4_CACHE_SIZE___73 = 197,
    _SC_LEVEL4_CACHE_ASSOC___73 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___73 = 199,
    _SC_IPV6___73 = 235,
    _SC_RAW_SOCKETS___73 = 236,
    _SC_V7_ILP32_OFF32___73 = 237,
    _SC_V7_ILP32_OFFBIG___73 = 238,
    _SC_V7_LP64_OFF64___73 = 239,
    _SC_V7_LPBIG_OFFBIG___73 = 240,
    _SC_SS_REPL_MAX___73 = 241,
    _SC_TRACE_EVENT_NAME_MAX___73 = 242,
    _SC_TRACE_NAME_MAX___73 = 243,
    _SC_TRACE_SYS_MAX___73 = 244,
    _SC_TRACE_USER_EVENT_MAX___73 = 245,
    _SC_XOPEN_STREAMS___73 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___73 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___73 = 248
} ;
enum __anonenum_875524036___73 {
    _CS_PATH___73 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___73 = 1,
    _CS_GNU_LIBC_VERSION___73 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___73 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___73 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___73 = 5,
    _CS_LFS_CFLAGS___73 = 1000,
    _CS_LFS_LDFLAGS___73 = 1001,
    _CS_LFS_LIBS___73 = 1002,
    _CS_LFS_LINTFLAGS___73 = 1003,
    _CS_LFS64_CFLAGS___73 = 1004,
    _CS_LFS64_LDFLAGS___73 = 1005,
    _CS_LFS64_LIBS___73 = 1006,
    _CS_LFS64_LINTFLAGS___73 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___73 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___73 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___73 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___73 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___73 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___73 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___73 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___73 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___73 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___73 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___73 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___73 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___73 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___73 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___73 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___73 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___73 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___73 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___73 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___73 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___73 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___73 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___73 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___73 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___73 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___73 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___73 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___73 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___73 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___73 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___73 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___73 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___73 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___73 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___73 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___73 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___73 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___73 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___73 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___73 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___73 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___73 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___73 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___73 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___73 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___73 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___73 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___73 = 1147,
    _CS_V6_ENV___73 = 1148,
    _CS_V7_ENV___73 = 1149
} ;
enum __anonenum_513775621___73 {
    DT_UNKNOWN___73 = 0,
    DT_FIFO___73 = 1,
    DT_CHR___73 = 2,
    DT_DIR___73 = 4,
    DT_BLK___73 = 6,
    DT_REG___73 = 8,
    DT_LNK___73 = 10,
    DT_SOCK___73 = 12,
    DT_WHT___73 = 14
} ;
enum __anonenum_77002343___73 {
    SI_ASYNCNL___73 = -60,
    SI_TKILL___73 = -6,
    SI_SIGIO___73 = -5,
    SI_ASYNCIO___73 = -4,
    SI_MESGQ___73 = -3,
    SI_TIMER___73 = -2,
    SI_QUEUE___73 = -1,
    SI_USER___73 = 0,
    SI_KERNEL___73 = 128
} ;
enum __anonenum_131038172___73 {
    ILL_ILLOPC___73 = 1,
    ILL_ILLOPN___73 = 2,
    ILL_ILLADR___73 = 3,
    ILL_ILLTRP___73 = 4,
    ILL_PRVOPC___73 = 5,
    ILL_PRVREG___73 = 6,
    ILL_COPROC___73 = 7,
    ILL_BADSTK___73 = 8
} ;
enum __anonenum_452038093___73 {
    FPE_INTDIV___73 = 1,
    FPE_INTOVF___73 = 2,
    FPE_FLTDIV___73 = 3,
    FPE_FLTOVF___73 = 4,
    FPE_FLTUND___73 = 5,
    FPE_FLTRES___73 = 6,
    FPE_FLTINV___73 = 7,
    FPE_FLTSUB___73 = 8
} ;
enum __anonenum_30976155___73 {
    SEGV_MAPERR___73 = 1,
    SEGV_ACCERR___73 = 2,
    SEGV_BNDERR___73 = 3,
    SEGV_PKUERR___73 = 4
} ;
enum __anonenum_1036286214___73 {
    BUS_ADRALN___73 = 1,
    BUS_ADRERR___73 = 2,
    BUS_OBJERR___73 = 3,
    BUS_MCEERR_AR___73 = 4,
    BUS_MCEERR_AO___73 = 5
} ;
enum __anonenum_493465559___73 {
    TRAP_BRKPT___73 = 1,
    TRAP_TRACE___73 = 2
} ;
enum __anonenum_23175539___73 {
    CLD_EXITED___73 = 1,
    CLD_KILLED___73 = 2,
    CLD_DUMPED___73 = 3,
    CLD_TRAPPED___73 = 4,
    CLD_STOPPED___73 = 5,
    CLD_CONTINUED___73 = 6
} ;
enum __anonenum_111643124___73 {
    POLL_IN___73 = 1,
    POLL_OUT___73 = 2,
    POLL_MSG___73 = 3,
    POLL_ERR___73 = 4,
    POLL_PRI___73 = 5,
    POLL_HUP___73 = 6
} ;
enum __anonenum_852341087___73 {
    SIGEV_SIGNAL___73 = 0,
    SIGEV_NONE___73 = 1,
    SIGEV_THREAD___73 = 2,
    SIGEV_THREAD_ID___73 = 4
} ;
enum __anonenum_451154152___73 {
    REG_R8___73 = 0,
    REG_R9___73 = 1,
    REG_R10___73 = 2,
    REG_R11___73 = 3,
    REG_R12___73 = 4,
    REG_R13___73 = 5,
    REG_R14___73 = 6,
    REG_R15___73 = 7,
    REG_RDI___73 = 8,
    REG_RSI___73 = 9,
    REG_RBP___73 = 10,
    REG_RBX___73 = 11,
    REG_RDX___73 = 12,
    REG_RAX___73 = 13,
    REG_RCX___73 = 14,
    REG_RSP___73 = 15,
    REG_RIP___73 = 16,
    REG_EFL___73 = 17,
    REG_CSGSFS___73 = 18,
    REG_ERR___73 = 19,
    REG_TRAPNO___73 = 20,
    REG_OLDMASK___73 = 21,
    REG_CR2___73 = 22
} ;
enum __anonenum_57186863___73 {
    SS_ONSTACK___73 = 1,
    SS_DISABLE___73 = 2
} ;
enum __anonenum_83571709___73 {
    MSG_OOB___73 = 1,
    MSG_PEEK___73 = 2,
    MSG_DONTROUTE___73 = 4,
    MSG_TRYHARD___73 = 4,
    MSG_CTRUNC___73 = 8,
    MSG_PROXY___73 = 16,
    MSG_TRUNC___73 = 32,
    MSG_DONTWAIT___73 = 64,
    MSG_EOR___73 = 128,
    MSG_WAITALL___73 = 256,
    MSG_FIN___73 = 512,
    MSG_SYN___73 = 1024,
    MSG_CONFIRM___73 = 2048,
    MSG_RST___73 = 4096,
    MSG_ERRQUEUE___73 = 8192,
    MSG_NOSIGNAL___73 = 16384,
    MSG_MORE___73 = 32768,
    MSG_WAITFORONE___73 = 65536,
    MSG_BATCH___73 = 262144,
    MSG_ZEROCOPY___73 = 67108864,
    MSG_FASTOPEN___73 = 536870912,
    MSG_CMSG_CLOEXEC___73 = 1073741824
} ;
enum __anonenum_617082774___73 {
    SCM_RIGHTS___73 = 1,
    SCM_CREDENTIALS___73 = 2
} ;
enum __anonenum_606441560___73 {
    SHUT_RD___73 = 0,
    SHUT_WR___73 = 1,
    SHUT_RDWR___73 = 2
} ;
enum __anonenum_681669233___73 {
    IPPROTO_IP___73 = 0,
    IPPROTO_ICMP___73 = 1,
    IPPROTO_IGMP___73 = 2,
    IPPROTO_IPIP___73 = 4,
    IPPROTO_TCP___73 = 6,
    IPPROTO_EGP___73 = 8,
    IPPROTO_PUP___73 = 12,
    IPPROTO_UDP___73 = 17,
    IPPROTO_IDP___73 = 22,
    IPPROTO_TP___73 = 29,
    IPPROTO_DCCP___73 = 33,
    IPPROTO_IPV6___73 = 41,
    IPPROTO_RSVP___73 = 46,
    IPPROTO_GRE___73 = 47,
    IPPROTO_ESP___73 = 50,
    IPPROTO_AH___73 = 51,
    IPPROTO_MTP___73 = 92,
    IPPROTO_BEETPH___73 = 94,
    IPPROTO_ENCAP___73 = 98,
    IPPROTO_PIM___73 = 103,
    IPPROTO_COMP___73 = 108,
    IPPROTO_SCTP___73 = 132,
    IPPROTO_UDPLITE___73 = 136,
    IPPROTO_MPLS___73 = 137,
    IPPROTO_RAW___73 = 255,
    IPPROTO_MAX___73 = 256
} ;
enum __anonenum_218739988___73 {
    IPPROTO_HOPOPTS___73 = 0,
    IPPROTO_ROUTING___73 = 43,
    IPPROTO_FRAGMENT___73 = 44,
    IPPROTO_ICMPV6___73 = 58,
    IPPROTO_NONE___73 = 59,
    IPPROTO_DSTOPTS___73 = 60,
    IPPROTO_MH___73 = 135
} ;
enum __anonenum_662268580___73 {
    IPPORT_ECHO___73 = 7,
    IPPORT_DISCARD___73 = 9,
    IPPORT_SYSTAT___73 = 11,
    IPPORT_DAYTIME___73 = 13,
    IPPORT_NETSTAT___73 = 15,
    IPPORT_FTP___73 = 21,
    IPPORT_TELNET___73 = 23,
    IPPORT_SMTP___73 = 25,
    IPPORT_TIMESERVER___73 = 37,
    IPPORT_NAMESERVER___73 = 42,
    IPPORT_WHOIS___73 = 43,
    IPPORT_MTP___73 = 57,
    IPPORT_TFTP___73 = 69,
    IPPORT_RJE___73 = 77,
    IPPORT_FINGER___73 = 79,
    IPPORT_TTYLINK___73 = 87,
    IPPORT_SUPDUP___73 = 95,
    IPPORT_EXECSERVER___73 = 512,
    IPPORT_LOGINSERVER___73 = 513,
    IPPORT_CMDSERVER___73 = 514,
    IPPORT_EFSSERVER___73 = 520,
    IPPORT_BIFFUDP___73 = 512,
    IPPORT_WHOSERVER___73 = 513,
    IPPORT_ROUTESERVER___73 = 520,
    IPPORT_RESERVED___73 = 1024,
    IPPORT_USERRESERVED___73 = 5000
} ;
enum __anonenum_788308992___73 {
    TCP_ESTABLISHED___73 = 1,
    TCP_SYN_SENT___73 = 2,
    TCP_SYN_RECV___73 = 3,
    TCP_FIN_WAIT1___73 = 4,
    TCP_FIN_WAIT2___73 = 5,
    TCP_TIME_WAIT___73 = 6,
    TCP_CLOSE___73 = 7,
    TCP_CLOSE_WAIT___73 = 8,
    TCP_LAST_ACK___73 = 9,
    TCP_LISTEN___73 = 10,
    TCP_CLOSING___73 = 11
} ;
enum __anonenum_221125648___73 {
    TCP_NO_QUEUE___73 = 0,
    TCP_RECV_QUEUE___73 = 1,
    TCP_SEND_QUEUE___73 = 2,
    TCP_QUEUES_NR___73 = 3
} ;
enum __anonenum_34415463___73 {
    PTHREAD_CREATE_JOINABLE___73 = 0,
    PTHREAD_CREATE_DETACHED___73 = 1
} ;
enum __anonenum_303612439___73 {
    PTHREAD_MUTEX_TIMED_NP___73 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___73 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___73 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___73 = 3,
    PTHREAD_MUTEX_NORMAL___73 = 0,
    PTHREAD_MUTEX_RECURSIVE___73 = 1,
    PTHREAD_MUTEX_ERRORCHECK___73 = 2,
    PTHREAD_MUTEX_DEFAULT___73 = 0,
    PTHREAD_MUTEX_FAST_NP___73 = 0
} ;
enum __anonenum_931900394___73 {
    PTHREAD_MUTEX_STALLED___73 = 0,
    PTHREAD_MUTEX_STALLED_NP___73 = 0,
    PTHREAD_MUTEX_ROBUST___73 = 1,
    PTHREAD_MUTEX_ROBUST_NP___73 = 1
} ;
enum __anonenum_205214487___73 {
    PTHREAD_PRIO_NONE___73 = 0,
    PTHREAD_PRIO_INHERIT___73 = 1,
    PTHREAD_PRIO_PROTECT___73 = 2
} ;
enum __anonenum_25043950___73 {
    PTHREAD_RWLOCK_PREFER_READER_NP___73 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___73 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___73 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___73 = 0
} ;
enum __anonenum_436439511___73 {
    PTHREAD_INHERIT_SCHED___73 = 0,
    PTHREAD_EXPLICIT_SCHED___73 = 1
} ;
enum __anonenum_998661166___73 {
    PTHREAD_SCOPE_SYSTEM___73 = 0,
    PTHREAD_SCOPE_PROCESS___73 = 1
} ;
enum __anonenum_146137331___73 {
    PTHREAD_PROCESS_PRIVATE___73 = 0,
    PTHREAD_PROCESS_SHARED___73 = 1
} ;
enum __anonenum_53396917___73 {
    PTHREAD_CANCEL_ENABLE___73 = 0,
    PTHREAD_CANCEL_DISABLE___73 = 1
} ;
enum __anonenum_904563783___73 {
    PTHREAD_CANCEL_DEFERRED___73 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___73 = 1
} ;
enum __anonenum_672052974___73 {
    SSL_CT_VALIDATION_PERMISSIVE___73 = 0,
    SSL_CT_VALIDATION_STRICT___73 = 1
} ;
typedef void *nl_catd;
typedef int nl_item;
enum __anonenum_104127066 {
    ABDAY_1 = 131072,
    ABDAY_2 = 131073,
    ABDAY_3 = 131074,
    ABDAY_4 = 131075,
    ABDAY_5 = 131076,
    ABDAY_6 = 131077,
    ABDAY_7 = 131078,
    DAY_1 = 131079,
    DAY_2 = 131080,
    DAY_3 = 131081,
    DAY_4 = 131082,
    DAY_5 = 131083,
    DAY_6 = 131084,
    DAY_7 = 131085,
    ABMON_1 = 131086,
    ABMON_2 = 131087,
    ABMON_3 = 131088,
    ABMON_4 = 131089,
    ABMON_5 = 131090,
    ABMON_6 = 131091,
    ABMON_7 = 131092,
    ABMON_8 = 131093,
    ABMON_9 = 131094,
    ABMON_10 = 131095,
    ABMON_11 = 131096,
    ABMON_12 = 131097,
    MON_1 = 131098,
    MON_2 = 131099,
    MON_3 = 131100,
    MON_4 = 131101,
    MON_5 = 131102,
    MON_6 = 131103,
    MON_7 = 131104,
    MON_8 = 131105,
    MON_9 = 131106,
    MON_10 = 131107,
    MON_11 = 131108,
    MON_12 = 131109,
    AM_STR = 131110,
    PM_STR = 131111,
    D_T_FMT = 131112,
    D_FMT = 131113,
    T_FMT = 131114,
    T_FMT_AMPM = 131115,
    ERA = 131116,
    __ERA_YEAR = 131117,
    ERA_D_FMT = 131118,
    ALT_DIGITS = 131119,
    ERA_D_T_FMT = 131120,
    ERA_T_FMT = 131121,
    _NL_TIME_ERA_NUM_ENTRIES = 131122,
    _NL_TIME_ERA_ENTRIES = 131123,
    _NL_WABDAY_1 = 131124,
    _NL_WABDAY_2 = 131125,
    _NL_WABDAY_3 = 131126,
    _NL_WABDAY_4 = 131127,
    _NL_WABDAY_5 = 131128,
    _NL_WABDAY_6 = 131129,
    _NL_WABDAY_7 = 131130,
    _NL_WDAY_1 = 131131,
    _NL_WDAY_2 = 131132,
    _NL_WDAY_3 = 131133,
    _NL_WDAY_4 = 131134,
    _NL_WDAY_5 = 131135,
    _NL_WDAY_6 = 131136,
    _NL_WDAY_7 = 131137,
    _NL_WABMON_1 = 131138,
    _NL_WABMON_2 = 131139,
    _NL_WABMON_3 = 131140,
    _NL_WABMON_4 = 131141,
    _NL_WABMON_5 = 131142,
    _NL_WABMON_6 = 131143,
    _NL_WABMON_7 = 131144,
    _NL_WABMON_8 = 131145,
    _NL_WABMON_9 = 131146,
    _NL_WABMON_10 = 131147,
    _NL_WABMON_11 = 131148,
    _NL_WABMON_12 = 131149,
    _NL_WMON_1 = 131150,
    _NL_WMON_2 = 131151,
    _NL_WMON_3 = 131152,
    _NL_WMON_4 = 131153,
    _NL_WMON_5 = 131154,
    _NL_WMON_6 = 131155,
    _NL_WMON_7 = 131156,
    _NL_WMON_8 = 131157,
    _NL_WMON_9 = 131158,
    _NL_WMON_10 = 131159,
    _NL_WMON_11 = 131160,
    _NL_WMON_12 = 131161,
    _NL_WAM_STR = 131162,
    _NL_WPM_STR = 131163,
    _NL_WD_T_FMT = 131164,
    _NL_WD_FMT = 131165,
    _NL_WT_FMT = 131166,
    _NL_WT_FMT_AMPM = 131167,
    _NL_WERA_YEAR = 131168,
    _NL_WERA_D_FMT = 131169,
    _NL_WALT_DIGITS = 131170,
    _NL_WERA_D_T_FMT = 131171,
    _NL_WERA_T_FMT = 131172,
    _NL_TIME_WEEK_NDAYS = 131173,
    _NL_TIME_WEEK_1STDAY = 131174,
    _NL_TIME_WEEK_1STWEEK = 131175,
    _NL_TIME_FIRST_WEEKDAY = 131176,
    _NL_TIME_FIRST_WORKDAY = 131177,
    _NL_TIME_CAL_DIRECTION = 131178,
    _NL_TIME_TIMEZONE = 131179,
    _DATE_FMT = 131180,
    _NL_W_DATE_FMT = 131181,
    _NL_TIME_CODESET = 131182,
    __ALTMON_1 = 131183,
    __ALTMON_2 = 131184,
    __ALTMON_3 = 131185,
    __ALTMON_4 = 131186,
    __ALTMON_5 = 131187,
    __ALTMON_6 = 131188,
    __ALTMON_7 = 131189,
    __ALTMON_8 = 131190,
    __ALTMON_9 = 131191,
    __ALTMON_10 = 131192,
    __ALTMON_11 = 131193,
    __ALTMON_12 = 131194,
    _NL_WALTMON_1 = 131195,
    _NL_WALTMON_2 = 131196,
    _NL_WALTMON_3 = 131197,
    _NL_WALTMON_4 = 131198,
    _NL_WALTMON_5 = 131199,
    _NL_WALTMON_6 = 131200,
    _NL_WALTMON_7 = 131201,
    _NL_WALTMON_8 = 131202,
    _NL_WALTMON_9 = 131203,
    _NL_WALTMON_10 = 131204,
    _NL_WALTMON_11 = 131205,
    _NL_WALTMON_12 = 131206,
    _NL_ABALTMON_1 = 131207,
    _NL_ABALTMON_2 = 131208,
    _NL_ABALTMON_3 = 131209,
    _NL_ABALTMON_4 = 131210,
    _NL_ABALTMON_5 = 131211,
    _NL_ABALTMON_6 = 131212,
    _NL_ABALTMON_7 = 131213,
    _NL_ABALTMON_8 = 131214,
    _NL_ABALTMON_9 = 131215,
    _NL_ABALTMON_10 = 131216,
    _NL_ABALTMON_11 = 131217,
    _NL_ABALTMON_12 = 131218,
    _NL_WABALTMON_1 = 131219,
    _NL_WABALTMON_2 = 131220,
    _NL_WABALTMON_3 = 131221,
    _NL_WABALTMON_4 = 131222,
    _NL_WABALTMON_5 = 131223,
    _NL_WABALTMON_6 = 131224,
    _NL_WABALTMON_7 = 131225,
    _NL_WABALTMON_8 = 131226,
    _NL_WABALTMON_9 = 131227,
    _NL_WABALTMON_10 = 131228,
    _NL_WABALTMON_11 = 131229,
    _NL_WABALTMON_12 = 131230,
    _NL_NUM_LC_TIME = 131231,
    _NL_COLLATE_NRULES = 196608,
    _NL_COLLATE_RULESETS = 196609,
    _NL_COLLATE_TABLEMB = 196610,
    _NL_COLLATE_WEIGHTMB = 196611,
    _NL_COLLATE_EXTRAMB = 196612,
    _NL_COLLATE_INDIRECTMB = 196613,
    _NL_COLLATE_GAP1 = 196614,
    _NL_COLLATE_GAP2 = 196615,
    _NL_COLLATE_GAP3 = 196616,
    _NL_COLLATE_TABLEWC = 196617,
    _NL_COLLATE_WEIGHTWC = 196618,
    _NL_COLLATE_EXTRAWC = 196619,
    _NL_COLLATE_INDIRECTWC = 196620,
    _NL_COLLATE_SYMB_HASH_SIZEMB = 196621,
    _NL_COLLATE_SYMB_TABLEMB = 196622,
    _NL_COLLATE_SYMB_EXTRAMB = 196623,
    _NL_COLLATE_COLLSEQMB = 196624,
    _NL_COLLATE_COLLSEQWC = 196625,
    _NL_COLLATE_CODESET = 196626,
    _NL_NUM_LC_COLLATE = 196627,
    _NL_CTYPE_CLASS = 0,
    _NL_CTYPE_TOUPPER = 1,
    _NL_CTYPE_GAP1 = 2,
    _NL_CTYPE_TOLOWER = 3,
    _NL_CTYPE_GAP2 = 4,
    _NL_CTYPE_CLASS32 = 5,
    _NL_CTYPE_GAP3 = 6,
    _NL_CTYPE_GAP4 = 7,
    _NL_CTYPE_GAP5 = 8,
    _NL_CTYPE_GAP6 = 9,
    _NL_CTYPE_CLASS_NAMES = 10,
    _NL_CTYPE_MAP_NAMES = 11,
    _NL_CTYPE_WIDTH = 12,
    _NL_CTYPE_MB_CUR_MAX = 13,
    _NL_CTYPE_CODESET_NAME = 14,
    CODESET = 14,
    _NL_CTYPE_TOUPPER32 = 15,
    _NL_CTYPE_TOLOWER32 = 16,
    _NL_CTYPE_CLASS_OFFSET = 17,
    _NL_CTYPE_MAP_OFFSET = 18,
    _NL_CTYPE_INDIGITS_MB_LEN = 19,
    _NL_CTYPE_INDIGITS0_MB = 20,
    _NL_CTYPE_INDIGITS1_MB = 21,
    _NL_CTYPE_INDIGITS2_MB = 22,
    _NL_CTYPE_INDIGITS3_MB = 23,
    _NL_CTYPE_INDIGITS4_MB = 24,
    _NL_CTYPE_INDIGITS5_MB = 25,
    _NL_CTYPE_INDIGITS6_MB = 26,
    _NL_CTYPE_INDIGITS7_MB = 27,
    _NL_CTYPE_INDIGITS8_MB = 28,
    _NL_CTYPE_INDIGITS9_MB = 29,
    _NL_CTYPE_INDIGITS_WC_LEN = 30,
    _NL_CTYPE_INDIGITS0_WC = 31,
    _NL_CTYPE_INDIGITS1_WC = 32,
    _NL_CTYPE_INDIGITS2_WC = 33,
    _NL_CTYPE_INDIGITS3_WC = 34,
    _NL_CTYPE_INDIGITS4_WC = 35,
    _NL_CTYPE_INDIGITS5_WC = 36,
    _NL_CTYPE_INDIGITS6_WC = 37,
    _NL_CTYPE_INDIGITS7_WC = 38,
    _NL_CTYPE_INDIGITS8_WC = 39,
    _NL_CTYPE_INDIGITS9_WC = 40,
    _NL_CTYPE_OUTDIGIT0_MB = 41,
    _NL_CTYPE_OUTDIGIT1_MB = 42,
    _NL_CTYPE_OUTDIGIT2_MB = 43,
    _NL_CTYPE_OUTDIGIT3_MB = 44,
    _NL_CTYPE_OUTDIGIT4_MB = 45,
    _NL_CTYPE_OUTDIGIT5_MB = 46,
    _NL_CTYPE_OUTDIGIT6_MB = 47,
    _NL_CTYPE_OUTDIGIT7_MB = 48,
    _NL_CTYPE_OUTDIGIT8_MB = 49,
    _NL_CTYPE_OUTDIGIT9_MB = 50,
    _NL_CTYPE_OUTDIGIT0_WC = 51,
    _NL_CTYPE_OUTDIGIT1_WC = 52,
    _NL_CTYPE_OUTDIGIT2_WC = 53,
    _NL_CTYPE_OUTDIGIT3_WC = 54,
    _NL_CTYPE_OUTDIGIT4_WC = 55,
    _NL_CTYPE_OUTDIGIT5_WC = 56,
    _NL_CTYPE_OUTDIGIT6_WC = 57,
    _NL_CTYPE_OUTDIGIT7_WC = 58,
    _NL_CTYPE_OUTDIGIT8_WC = 59,
    _NL_CTYPE_OUTDIGIT9_WC = 60,
    _NL_CTYPE_TRANSLIT_TAB_SIZE = 61,
    _NL_CTYPE_TRANSLIT_FROM_IDX = 62,
    _NL_CTYPE_TRANSLIT_FROM_TBL = 63,
    _NL_CTYPE_TRANSLIT_TO_IDX = 64,
    _NL_CTYPE_TRANSLIT_TO_TBL = 65,
    _NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN = 66,
    _NL_CTYPE_TRANSLIT_DEFAULT_MISSING = 67,
    _NL_CTYPE_TRANSLIT_IGNORE_LEN = 68,
    _NL_CTYPE_TRANSLIT_IGNORE = 69,
    _NL_CTYPE_MAP_TO_NONASCII = 70,
    _NL_CTYPE_NONASCII_CASE = 71,
    _NL_CTYPE_EXTRA_MAP_1 = 72,
    _NL_CTYPE_EXTRA_MAP_2 = 73,
    _NL_CTYPE_EXTRA_MAP_3 = 74,
    _NL_CTYPE_EXTRA_MAP_4 = 75,
    _NL_CTYPE_EXTRA_MAP_5 = 76,
    _NL_CTYPE_EXTRA_MAP_6 = 77,
    _NL_CTYPE_EXTRA_MAP_7 = 78,
    _NL_CTYPE_EXTRA_MAP_8 = 79,
    _NL_CTYPE_EXTRA_MAP_9 = 80,
    _NL_CTYPE_EXTRA_MAP_10 = 81,
    _NL_CTYPE_EXTRA_MAP_11 = 82,
    _NL_CTYPE_EXTRA_MAP_12 = 83,
    _NL_CTYPE_EXTRA_MAP_13 = 84,
    _NL_CTYPE_EXTRA_MAP_14 = 85,
    _NL_NUM_LC_CTYPE = 86,
    __INT_CURR_SYMBOL = 262144,
    __CURRENCY_SYMBOL = 262145,
    __MON_DECIMAL_POINT = 262146,
    __MON_THOUSANDS_SEP = 262147,
    __MON_GROUPING = 262148,
    __POSITIVE_SIGN = 262149,
    __NEGATIVE_SIGN = 262150,
    __INT_FRAC_DIGITS = 262151,
    __FRAC_DIGITS = 262152,
    __P_CS_PRECEDES = 262153,
    __P_SEP_BY_SPACE = 262154,
    __N_CS_PRECEDES = 262155,
    __N_SEP_BY_SPACE = 262156,
    __P_SIGN_POSN = 262157,
    __N_SIGN_POSN = 262158,
    _NL_MONETARY_CRNCYSTR = 262159,
    __INT_P_CS_PRECEDES = 262160,
    __INT_P_SEP_BY_SPACE = 262161,
    __INT_N_CS_PRECEDES = 262162,
    __INT_N_SEP_BY_SPACE = 262163,
    __INT_P_SIGN_POSN = 262164,
    __INT_N_SIGN_POSN = 262165,
    _NL_MONETARY_DUO_INT_CURR_SYMBOL = 262166,
    _NL_MONETARY_DUO_CURRENCY_SYMBOL = 262167,
    _NL_MONETARY_DUO_INT_FRAC_DIGITS = 262168,
    _NL_MONETARY_DUO_FRAC_DIGITS = 262169,
    _NL_MONETARY_DUO_P_CS_PRECEDES = 262170,
    _NL_MONETARY_DUO_P_SEP_BY_SPACE = 262171,
    _NL_MONETARY_DUO_N_CS_PRECEDES = 262172,
    _NL_MONETARY_DUO_N_SEP_BY_SPACE = 262173,
    _NL_MONETARY_DUO_INT_P_CS_PRECEDES = 262174,
    _NL_MONETARY_DUO_INT_P_SEP_BY_SPACE = 262175,
    _NL_MONETARY_DUO_INT_N_CS_PRECEDES = 262176,
    _NL_MONETARY_DUO_INT_N_SEP_BY_SPACE = 262177,
    _NL_MONETARY_DUO_P_SIGN_POSN = 262178,
    _NL_MONETARY_DUO_N_SIGN_POSN = 262179,
    _NL_MONETARY_DUO_INT_P_SIGN_POSN = 262180,
    _NL_MONETARY_DUO_INT_N_SIGN_POSN = 262181,
    _NL_MONETARY_UNO_VALID_FROM = 262182,
    _NL_MONETARY_UNO_VALID_TO = 262183,
    _NL_MONETARY_DUO_VALID_FROM = 262184,
    _NL_MONETARY_DUO_VALID_TO = 262185,
    _NL_MONETARY_CONVERSION_RATE = 262186,
    _NL_MONETARY_DECIMAL_POINT_WC = 262187,
    _NL_MONETARY_THOUSANDS_SEP_WC = 262188,
    _NL_MONETARY_CODESET = 262189,
    _NL_NUM_LC_MONETARY = 262190,
    __DECIMAL_POINT = 65536,
    RADIXCHAR = 65536,
    __THOUSANDS_SEP = 65537,
    THOUSEP = 65537,
    __GROUPING = 65538,
    _NL_NUMERIC_DECIMAL_POINT_WC = 65539,
    _NL_NUMERIC_THOUSANDS_SEP_WC = 65540,
    _NL_NUMERIC_CODESET = 65541,
    _NL_NUM_LC_NUMERIC = 65542,
    __YESEXPR = 327680,
    __NOEXPR = 327681,
    __YESSTR = 327682,
    __NOSTR = 327683,
    _NL_MESSAGES_CODESET = 327684,
    _NL_NUM_LC_MESSAGES = 327685,
    _NL_PAPER_HEIGHT = 458752,
    _NL_PAPER_WIDTH = 458753,
    _NL_PAPER_CODESET = 458754,
    _NL_NUM_LC_PAPER = 458755,
    _NL_NAME_NAME_FMT = 524288,
    _NL_NAME_NAME_GEN = 524289,
    _NL_NAME_NAME_MR = 524290,
    _NL_NAME_NAME_MRS = 524291,
    _NL_NAME_NAME_MISS = 524292,
    _NL_NAME_NAME_MS = 524293,
    _NL_NAME_CODESET = 524294,
    _NL_NUM_LC_NAME = 524295,
    _NL_ADDRESS_POSTAL_FMT = 589824,
    _NL_ADDRESS_COUNTRY_NAME = 589825,
    _NL_ADDRESS_COUNTRY_POST = 589826,
    _NL_ADDRESS_COUNTRY_AB2 = 589827,
    _NL_ADDRESS_COUNTRY_AB3 = 589828,
    _NL_ADDRESS_COUNTRY_CAR = 589829,
    _NL_ADDRESS_COUNTRY_NUM = 589830,
    _NL_ADDRESS_COUNTRY_ISBN = 589831,
    _NL_ADDRESS_LANG_NAME = 589832,
    _NL_ADDRESS_LANG_AB = 589833,
    _NL_ADDRESS_LANG_TERM = 589834,
    _NL_ADDRESS_LANG_LIB = 589835,
    _NL_ADDRESS_CODESET = 589836,
    _NL_NUM_LC_ADDRESS = 589837,
    _NL_TELEPHONE_TEL_INT_FMT = 655360,
    _NL_TELEPHONE_TEL_DOM_FMT = 655361,
    _NL_TELEPHONE_INT_SELECT = 655362,
    _NL_TELEPHONE_INT_PREFIX = 655363,
    _NL_TELEPHONE_CODESET = 655364,
    _NL_NUM_LC_TELEPHONE = 655365,
    _NL_MEASUREMENT_MEASUREMENT = 720896,
    _NL_MEASUREMENT_CODESET = 720897,
    _NL_NUM_LC_MEASUREMENT = 720898,
    _NL_IDENTIFICATION_TITLE = 786432,
    _NL_IDENTIFICATION_SOURCE = 786433,
    _NL_IDENTIFICATION_ADDRESS = 786434,
    _NL_IDENTIFICATION_CONTACT = 786435,
    _NL_IDENTIFICATION_EMAIL = 786436,
    _NL_IDENTIFICATION_TEL = 786437,
    _NL_IDENTIFICATION_FAX = 786438,
    _NL_IDENTIFICATION_LANGUAGE = 786439,
    _NL_IDENTIFICATION_TERRITORY = 786440,
    _NL_IDENTIFICATION_AUDIENCE = 786441,
    _NL_IDENTIFICATION_APPLICATION = 786442,
    _NL_IDENTIFICATION_ABBREVIATION = 786443,
    _NL_IDENTIFICATION_REVISION = 786444,
    _NL_IDENTIFICATION_DATE = 786445,
    _NL_IDENTIFICATION_CATEGORY = 786446,
    _NL_IDENTIFICATION_CODESET = 786447,
    _NL_NUM_LC_IDENTIFICATION = 786448,
    _NL_NUM = 786449
} ;
enum __anonenum_437032235___74 {
    _PC_LINK_MAX___74 = 0,
    _PC_MAX_CANON___74 = 1,
    _PC_MAX_INPUT___74 = 2,
    _PC_NAME_MAX___74 = 3,
    _PC_PATH_MAX___74 = 4,
    _PC_PIPE_BUF___74 = 5,
    _PC_CHOWN_RESTRICTED___74 = 6,
    _PC_NO_TRUNC___74 = 7,
    _PC_VDISABLE___74 = 8,
    _PC_SYNC_IO___74 = 9,
    _PC_ASYNC_IO___74 = 10,
    _PC_PRIO_IO___74 = 11,
    _PC_SOCK_MAXBUF___74 = 12,
    _PC_FILESIZEBITS___74 = 13,
    _PC_REC_INCR_XFER_SIZE___74 = 14,
    _PC_REC_MAX_XFER_SIZE___74 = 15,
    _PC_REC_MIN_XFER_SIZE___74 = 16,
    _PC_REC_XFER_ALIGN___74 = 17,
    _PC_ALLOC_SIZE_MIN___74 = 18,
    _PC_SYMLINK_MAX___74 = 19,
    _PC_2_SYMLINKS___74 = 20
} ;
enum __anonenum_315186338___74 {
    _SC_ARG_MAX___74 = 0,
    _SC_CHILD_MAX___74 = 1,
    _SC_CLK_TCK___74 = 2,
    _SC_NGROUPS_MAX___74 = 3,
    _SC_OPEN_MAX___74 = 4,
    _SC_STREAM_MAX___74 = 5,
    _SC_TZNAME_MAX___74 = 6,
    _SC_JOB_CONTROL___74 = 7,
    _SC_SAVED_IDS___74 = 8,
    _SC_REALTIME_SIGNALS___74 = 9,
    _SC_PRIORITY_SCHEDULING___74 = 10,
    _SC_TIMERS___74 = 11,
    _SC_ASYNCHRONOUS_IO___74 = 12,
    _SC_PRIORITIZED_IO___74 = 13,
    _SC_SYNCHRONIZED_IO___74 = 14,
    _SC_FSYNC___74 = 15,
    _SC_MAPPED_FILES___74 = 16,
    _SC_MEMLOCK___74 = 17,
    _SC_MEMLOCK_RANGE___74 = 18,
    _SC_MEMORY_PROTECTION___74 = 19,
    _SC_MESSAGE_PASSING___74 = 20,
    _SC_SEMAPHORES___74 = 21,
    _SC_SHARED_MEMORY_OBJECTS___74 = 22,
    _SC_AIO_LISTIO_MAX___74 = 23,
    _SC_AIO_MAX___74 = 24,
    _SC_AIO_PRIO_DELTA_MAX___74 = 25,
    _SC_DELAYTIMER_MAX___74 = 26,
    _SC_MQ_OPEN_MAX___74 = 27,
    _SC_MQ_PRIO_MAX___74 = 28,
    _SC_VERSION___74 = 29,
    _SC_PAGESIZE___74 = 30,
    _SC_RTSIG_MAX___74 = 31,
    _SC_SEM_NSEMS_MAX___74 = 32,
    _SC_SEM_VALUE_MAX___74 = 33,
    _SC_SIGQUEUE_MAX___74 = 34,
    _SC_TIMER_MAX___74 = 35,
    _SC_BC_BASE_MAX___74 = 36,
    _SC_BC_DIM_MAX___74 = 37,
    _SC_BC_SCALE_MAX___74 = 38,
    _SC_BC_STRING_MAX___74 = 39,
    _SC_COLL_WEIGHTS_MAX___74 = 40,
    _SC_EQUIV_CLASS_MAX___74 = 41,
    _SC_EXPR_NEST_MAX___74 = 42,
    _SC_LINE_MAX___74 = 43,
    _SC_RE_DUP_MAX___74 = 44,
    _SC_CHARCLASS_NAME_MAX___74 = 45,
    _SC_2_VERSION___74 = 46,
    _SC_2_C_BIND___74 = 47,
    _SC_2_C_DEV___74 = 48,
    _SC_2_FORT_DEV___74 = 49,
    _SC_2_FORT_RUN___74 = 50,
    _SC_2_SW_DEV___74 = 51,
    _SC_2_LOCALEDEF___74 = 52,
    _SC_PII___74 = 53,
    _SC_PII_XTI___74 = 54,
    _SC_PII_SOCKET___74 = 55,
    _SC_PII_INTERNET___74 = 56,
    _SC_PII_OSI___74 = 57,
    _SC_POLL___74 = 58,
    _SC_SELECT___74 = 59,
    _SC_UIO_MAXIOV___74 = 60,
    _SC_IOV_MAX___74 = 60,
    _SC_PII_INTERNET_STREAM___74 = 61,
    _SC_PII_INTERNET_DGRAM___74 = 62,
    _SC_PII_OSI_COTS___74 = 63,
    _SC_PII_OSI_CLTS___74 = 64,
    _SC_PII_OSI_M___74 = 65,
    _SC_T_IOV_MAX___74 = 66,
    _SC_THREADS___74 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___74 = 68,
    _SC_GETGR_R_SIZE_MAX___74 = 69,
    _SC_GETPW_R_SIZE_MAX___74 = 70,
    _SC_LOGIN_NAME_MAX___74 = 71,
    _SC_TTY_NAME_MAX___74 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___74 = 73,
    _SC_THREAD_KEYS_MAX___74 = 74,
    _SC_THREAD_STACK_MIN___74 = 75,
    _SC_THREAD_THREADS_MAX___74 = 76,
    _SC_THREAD_ATTR_STACKADDR___74 = 77,
    _SC_THREAD_ATTR_STACKSIZE___74 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___74 = 79,
    _SC_THREAD_PRIO_INHERIT___74 = 80,
    _SC_THREAD_PRIO_PROTECT___74 = 81,
    _SC_THREAD_PROCESS_SHARED___74 = 82,
    _SC_NPROCESSORS_CONF___74 = 83,
    _SC_NPROCESSORS_ONLN___74 = 84,
    _SC_PHYS_PAGES___74 = 85,
    _SC_AVPHYS_PAGES___74 = 86,
    _SC_ATEXIT_MAX___74 = 87,
    _SC_PASS_MAX___74 = 88,
    _SC_XOPEN_VERSION___74 = 89,
    _SC_XOPEN_XCU_VERSION___74 = 90,
    _SC_XOPEN_UNIX___74 = 91,
    _SC_XOPEN_CRYPT___74 = 92,
    _SC_XOPEN_ENH_I18N___74 = 93,
    _SC_XOPEN_SHM___74 = 94,
    _SC_2_CHAR_TERM___74 = 95,
    _SC_2_C_VERSION___74 = 96,
    _SC_2_UPE___74 = 97,
    _SC_XOPEN_XPG2___74 = 98,
    _SC_XOPEN_XPG3___74 = 99,
    _SC_XOPEN_XPG4___74 = 100,
    _SC_CHAR_BIT___74 = 101,
    _SC_CHAR_MAX___74 = 102,
    _SC_CHAR_MIN___74 = 103,
    _SC_INT_MAX___74 = 104,
    _SC_INT_MIN___74 = 105,
    _SC_LONG_BIT___74 = 106,
    _SC_WORD_BIT___74 = 107,
    _SC_MB_LEN_MAX___74 = 108,
    _SC_NZERO___74 = 109,
    _SC_SSIZE_MAX___74 = 110,
    _SC_SCHAR_MAX___74 = 111,
    _SC_SCHAR_MIN___74 = 112,
    _SC_SHRT_MAX___74 = 113,
    _SC_SHRT_MIN___74 = 114,
    _SC_UCHAR_MAX___74 = 115,
    _SC_UINT_MAX___74 = 116,
    _SC_ULONG_MAX___74 = 117,
    _SC_USHRT_MAX___74 = 118,
    _SC_NL_ARGMAX___74 = 119,
    _SC_NL_LANGMAX___74 = 120,
    _SC_NL_MSGMAX___74 = 121,
    _SC_NL_NMAX___74 = 122,
    _SC_NL_SETMAX___74 = 123,
    _SC_NL_TEXTMAX___74 = 124,
    _SC_XBS5_ILP32_OFF32___74 = 125,
    _SC_XBS5_ILP32_OFFBIG___74 = 126,
    _SC_XBS5_LP64_OFF64___74 = 127,
    _SC_XBS5_LPBIG_OFFBIG___74 = 128,
    _SC_XOPEN_LEGACY___74 = 129,
    _SC_XOPEN_REALTIME___74 = 130,
    _SC_XOPEN_REALTIME_THREADS___74 = 131,
    _SC_ADVISORY_INFO___74 = 132,
    _SC_BARRIERS___74 = 133,
    _SC_BASE___74 = 134,
    _SC_C_LANG_SUPPORT___74 = 135,
    _SC_C_LANG_SUPPORT_R___74 = 136,
    _SC_CLOCK_SELECTION___74 = 137,
    _SC_CPUTIME___74 = 138,
    _SC_THREAD_CPUTIME___74 = 139,
    _SC_DEVICE_IO___74 = 140,
    _SC_DEVICE_SPECIFIC___74 = 141,
    _SC_DEVICE_SPECIFIC_R___74 = 142,
    _SC_FD_MGMT___74 = 143,
    _SC_FIFO___74 = 144,
    _SC_PIPE___74 = 145,
    _SC_FILE_ATTRIBUTES___74 = 146,
    _SC_FILE_LOCKING___74 = 147,
    _SC_FILE_SYSTEM___74 = 148,
    _SC_MONOTONIC_CLOCK___74 = 149,
    _SC_MULTI_PROCESS___74 = 150,
    _SC_SINGLE_PROCESS___74 = 151,
    _SC_NETWORKING___74 = 152,
    _SC_READER_WRITER_LOCKS___74 = 153,
    _SC_SPIN_LOCKS___74 = 154,
    _SC_REGEXP___74 = 155,
    _SC_REGEX_VERSION___74 = 156,
    _SC_SHELL___74 = 157,
    _SC_SIGNALS___74 = 158,
    _SC_SPAWN___74 = 159,
    _SC_SPORADIC_SERVER___74 = 160,
    _SC_THREAD_SPORADIC_SERVER___74 = 161,
    _SC_SYSTEM_DATABASE___74 = 162,
    _SC_SYSTEM_DATABASE_R___74 = 163,
    _SC_TIMEOUTS___74 = 164,
    _SC_TYPED_MEMORY_OBJECTS___74 = 165,
    _SC_USER_GROUPS___74 = 166,
    _SC_USER_GROUPS_R___74 = 167,
    _SC_2_PBS___74 = 168,
    _SC_2_PBS_ACCOUNTING___74 = 169,
    _SC_2_PBS_LOCATE___74 = 170,
    _SC_2_PBS_MESSAGE___74 = 171,
    _SC_2_PBS_TRACK___74 = 172,
    _SC_SYMLOOP_MAX___74 = 173,
    _SC_STREAMS___74 = 174,
    _SC_2_PBS_CHECKPOINT___74 = 175,
    _SC_V6_ILP32_OFF32___74 = 176,
    _SC_V6_ILP32_OFFBIG___74 = 177,
    _SC_V6_LP64_OFF64___74 = 178,
    _SC_V6_LPBIG_OFFBIG___74 = 179,
    _SC_HOST_NAME_MAX___74 = 180,
    _SC_TRACE___74 = 181,
    _SC_TRACE_EVENT_FILTER___74 = 182,
    _SC_TRACE_INHERIT___74 = 183,
    _SC_TRACE_LOG___74 = 184,
    _SC_LEVEL1_ICACHE_SIZE___74 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___74 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___74 = 187,
    _SC_LEVEL1_DCACHE_SIZE___74 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___74 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___74 = 190,
    _SC_LEVEL2_CACHE_SIZE___74 = 191,
    _SC_LEVEL2_CACHE_ASSOC___74 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___74 = 193,
    _SC_LEVEL3_CACHE_SIZE___74 = 194,
    _SC_LEVEL3_CACHE_ASSOC___74 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___74 = 196,
    _SC_LEVEL4_CACHE_SIZE___74 = 197,
    _SC_LEVEL4_CACHE_ASSOC___74 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___74 = 199,
    _SC_IPV6___74 = 235,
    _SC_RAW_SOCKETS___74 = 236,
    _SC_V7_ILP32_OFF32___74 = 237,
    _SC_V7_ILP32_OFFBIG___74 = 238,
    _SC_V7_LP64_OFF64___74 = 239,
    _SC_V7_LPBIG_OFFBIG___74 = 240,
    _SC_SS_REPL_MAX___74 = 241,
    _SC_TRACE_EVENT_NAME_MAX___74 = 242,
    _SC_TRACE_NAME_MAX___74 = 243,
    _SC_TRACE_SYS_MAX___74 = 244,
    _SC_TRACE_USER_EVENT_MAX___74 = 245,
    _SC_XOPEN_STREAMS___74 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___74 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___74 = 248
} ;
enum __anonenum_875524036___74 {
    _CS_PATH___74 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___74 = 1,
    _CS_GNU_LIBC_VERSION___74 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___74 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___74 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___74 = 5,
    _CS_LFS_CFLAGS___74 = 1000,
    _CS_LFS_LDFLAGS___74 = 1001,
    _CS_LFS_LIBS___74 = 1002,
    _CS_LFS_LINTFLAGS___74 = 1003,
    _CS_LFS64_CFLAGS___74 = 1004,
    _CS_LFS64_LDFLAGS___74 = 1005,
    _CS_LFS64_LIBS___74 = 1006,
    _CS_LFS64_LINTFLAGS___74 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___74 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___74 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___74 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___74 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___74 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___74 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___74 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___74 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___74 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___74 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___74 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___74 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___74 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___74 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___74 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___74 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___74 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___74 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___74 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___74 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___74 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___74 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___74 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___74 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___74 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___74 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___74 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___74 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___74 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___74 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___74 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___74 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___74 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___74 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___74 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___74 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___74 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___74 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___74 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___74 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___74 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___74 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___74 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___74 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___74 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___74 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___74 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___74 = 1147,
    _CS_V6_ENV___74 = 1148,
    _CS_V7_ENV___74 = 1149
} ;
enum __anonenum_513775621___74 {
    DT_UNKNOWN___74 = 0,
    DT_FIFO___74 = 1,
    DT_CHR___74 = 2,
    DT_DIR___74 = 4,
    DT_BLK___74 = 6,
    DT_REG___74 = 8,
    DT_LNK___74 = 10,
    DT_SOCK___74 = 12,
    DT_WHT___74 = 14
} ;
enum __anonenum_77002343___74 {
    SI_ASYNCNL___74 = -60,
    SI_TKILL___74 = -6,
    SI_SIGIO___74 = -5,
    SI_ASYNCIO___74 = -4,
    SI_MESGQ___74 = -3,
    SI_TIMER___74 = -2,
    SI_QUEUE___74 = -1,
    SI_USER___74 = 0,
    SI_KERNEL___74 = 128
} ;
enum __anonenum_131038172___74 {
    ILL_ILLOPC___74 = 1,
    ILL_ILLOPN___74 = 2,
    ILL_ILLADR___74 = 3,
    ILL_ILLTRP___74 = 4,
    ILL_PRVOPC___74 = 5,
    ILL_PRVREG___74 = 6,
    ILL_COPROC___74 = 7,
    ILL_BADSTK___74 = 8
} ;
enum __anonenum_452038093___74 {
    FPE_INTDIV___74 = 1,
    FPE_INTOVF___74 = 2,
    FPE_FLTDIV___74 = 3,
    FPE_FLTOVF___74 = 4,
    FPE_FLTUND___74 = 5,
    FPE_FLTRES___74 = 6,
    FPE_FLTINV___74 = 7,
    FPE_FLTSUB___74 = 8
} ;
enum __anonenum_30976155___74 {
    SEGV_MAPERR___74 = 1,
    SEGV_ACCERR___74 = 2,
    SEGV_BNDERR___74 = 3,
    SEGV_PKUERR___74 = 4
} ;
enum __anonenum_1036286214___74 {
    BUS_ADRALN___74 = 1,
    BUS_ADRERR___74 = 2,
    BUS_OBJERR___74 = 3,
    BUS_MCEERR_AR___74 = 4,
    BUS_MCEERR_AO___74 = 5
} ;
enum __anonenum_493465559___74 {
    TRAP_BRKPT___74 = 1,
    TRAP_TRACE___74 = 2
} ;
enum __anonenum_23175539___74 {
    CLD_EXITED___74 = 1,
    CLD_KILLED___74 = 2,
    CLD_DUMPED___74 = 3,
    CLD_TRAPPED___74 = 4,
    CLD_STOPPED___74 = 5,
    CLD_CONTINUED___74 = 6
} ;
enum __anonenum_111643124___74 {
    POLL_IN___74 = 1,
    POLL_OUT___74 = 2,
    POLL_MSG___74 = 3,
    POLL_ERR___74 = 4,
    POLL_PRI___74 = 5,
    POLL_HUP___74 = 6
} ;
enum __anonenum_852341087___74 {
    SIGEV_SIGNAL___74 = 0,
    SIGEV_NONE___74 = 1,
    SIGEV_THREAD___74 = 2,
    SIGEV_THREAD_ID___74 = 4
} ;
enum __anonenum_451154152___74 {
    REG_R8___74 = 0,
    REG_R9___74 = 1,
    REG_R10___74 = 2,
    REG_R11___74 = 3,
    REG_R12___74 = 4,
    REG_R13___74 = 5,
    REG_R14___74 = 6,
    REG_R15___74 = 7,
    REG_RDI___74 = 8,
    REG_RSI___74 = 9,
    REG_RBP___74 = 10,
    REG_RBX___74 = 11,
    REG_RDX___74 = 12,
    REG_RAX___74 = 13,
    REG_RCX___74 = 14,
    REG_RSP___74 = 15,
    REG_RIP___74 = 16,
    REG_EFL___74 = 17,
    REG_CSGSFS___74 = 18,
    REG_ERR___74 = 19,
    REG_TRAPNO___74 = 20,
    REG_OLDMASK___74 = 21,
    REG_CR2___74 = 22
} ;
enum __anonenum_57186863___74 {
    SS_ONSTACK___74 = 1,
    SS_DISABLE___74 = 2
} ;
enum __anonenum_83571709___74 {
    MSG_OOB___74 = 1,
    MSG_PEEK___74 = 2,
    MSG_DONTROUTE___74 = 4,
    MSG_TRYHARD___74 = 4,
    MSG_CTRUNC___74 = 8,
    MSG_PROXY___74 = 16,
    MSG_TRUNC___74 = 32,
    MSG_DONTWAIT___74 = 64,
    MSG_EOR___74 = 128,
    MSG_WAITALL___74 = 256,
    MSG_FIN___74 = 512,
    MSG_SYN___74 = 1024,
    MSG_CONFIRM___74 = 2048,
    MSG_RST___74 = 4096,
    MSG_ERRQUEUE___74 = 8192,
    MSG_NOSIGNAL___74 = 16384,
    MSG_MORE___74 = 32768,
    MSG_WAITFORONE___74 = 65536,
    MSG_BATCH___74 = 262144,
    MSG_ZEROCOPY___74 = 67108864,
    MSG_FASTOPEN___74 = 536870912,
    MSG_CMSG_CLOEXEC___74 = 1073741824
} ;
enum __anonenum_617082774___74 {
    SCM_RIGHTS___74 = 1,
    SCM_CREDENTIALS___74 = 2
} ;
enum __anonenum_606441560___74 {
    SHUT_RD___74 = 0,
    SHUT_WR___74 = 1,
    SHUT_RDWR___74 = 2
} ;
enum __anonenum_681669233___74 {
    IPPROTO_IP___74 = 0,
    IPPROTO_ICMP___74 = 1,
    IPPROTO_IGMP___74 = 2,
    IPPROTO_IPIP___74 = 4,
    IPPROTO_TCP___74 = 6,
    IPPROTO_EGP___74 = 8,
    IPPROTO_PUP___74 = 12,
    IPPROTO_UDP___74 = 17,
    IPPROTO_IDP___74 = 22,
    IPPROTO_TP___74 = 29,
    IPPROTO_DCCP___74 = 33,
    IPPROTO_IPV6___74 = 41,
    IPPROTO_RSVP___74 = 46,
    IPPROTO_GRE___74 = 47,
    IPPROTO_ESP___74 = 50,
    IPPROTO_AH___74 = 51,
    IPPROTO_MTP___74 = 92,
    IPPROTO_BEETPH___74 = 94,
    IPPROTO_ENCAP___74 = 98,
    IPPROTO_PIM___74 = 103,
    IPPROTO_COMP___74 = 108,
    IPPROTO_SCTP___74 = 132,
    IPPROTO_UDPLITE___74 = 136,
    IPPROTO_MPLS___74 = 137,
    IPPROTO_RAW___74 = 255,
    IPPROTO_MAX___74 = 256
} ;
enum __anonenum_218739988___74 {
    IPPROTO_HOPOPTS___74 = 0,
    IPPROTO_ROUTING___74 = 43,
    IPPROTO_FRAGMENT___74 = 44,
    IPPROTO_ICMPV6___74 = 58,
    IPPROTO_NONE___74 = 59,
    IPPROTO_DSTOPTS___74 = 60,
    IPPROTO_MH___74 = 135
} ;
enum __anonenum_662268580___74 {
    IPPORT_ECHO___74 = 7,
    IPPORT_DISCARD___74 = 9,
    IPPORT_SYSTAT___74 = 11,
    IPPORT_DAYTIME___74 = 13,
    IPPORT_NETSTAT___74 = 15,
    IPPORT_FTP___74 = 21,
    IPPORT_TELNET___74 = 23,
    IPPORT_SMTP___74 = 25,
    IPPORT_TIMESERVER___74 = 37,
    IPPORT_NAMESERVER___74 = 42,
    IPPORT_WHOIS___74 = 43,
    IPPORT_MTP___74 = 57,
    IPPORT_TFTP___74 = 69,
    IPPORT_RJE___74 = 77,
    IPPORT_FINGER___74 = 79,
    IPPORT_TTYLINK___74 = 87,
    IPPORT_SUPDUP___74 = 95,
    IPPORT_EXECSERVER___74 = 512,
    IPPORT_LOGINSERVER___74 = 513,
    IPPORT_CMDSERVER___74 = 514,
    IPPORT_EFSSERVER___74 = 520,
    IPPORT_BIFFUDP___74 = 512,
    IPPORT_WHOSERVER___74 = 513,
    IPPORT_ROUTESERVER___74 = 520,
    IPPORT_RESERVED___74 = 1024,
    IPPORT_USERRESERVED___74 = 5000
} ;
enum __anonenum_788308992___74 {
    TCP_ESTABLISHED___74 = 1,
    TCP_SYN_SENT___74 = 2,
    TCP_SYN_RECV___74 = 3,
    TCP_FIN_WAIT1___74 = 4,
    TCP_FIN_WAIT2___74 = 5,
    TCP_TIME_WAIT___74 = 6,
    TCP_CLOSE___74 = 7,
    TCP_CLOSE_WAIT___74 = 8,
    TCP_LAST_ACK___74 = 9,
    TCP_LISTEN___74 = 10,
    TCP_CLOSING___74 = 11
} ;
enum __anonenum_221125648___74 {
    TCP_NO_QUEUE___74 = 0,
    TCP_RECV_QUEUE___74 = 1,
    TCP_SEND_QUEUE___74 = 2,
    TCP_QUEUES_NR___74 = 3
} ;
enum __anonenum_34415463___74 {
    PTHREAD_CREATE_JOINABLE___74 = 0,
    PTHREAD_CREATE_DETACHED___74 = 1
} ;
enum __anonenum_303612439___74 {
    PTHREAD_MUTEX_TIMED_NP___74 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___74 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___74 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___74 = 3,
    PTHREAD_MUTEX_NORMAL___74 = 0,
    PTHREAD_MUTEX_RECURSIVE___74 = 1,
    PTHREAD_MUTEX_ERRORCHECK___74 = 2,
    PTHREAD_MUTEX_DEFAULT___74 = 0,
    PTHREAD_MUTEX_FAST_NP___74 = 0
} ;
enum __anonenum_931900394___74 {
    PTHREAD_MUTEX_STALLED___74 = 0,
    PTHREAD_MUTEX_STALLED_NP___74 = 0,
    PTHREAD_MUTEX_ROBUST___74 = 1,
    PTHREAD_MUTEX_ROBUST_NP___74 = 1
} ;
enum __anonenum_205214487___74 {
    PTHREAD_PRIO_NONE___74 = 0,
    PTHREAD_PRIO_INHERIT___74 = 1,
    PTHREAD_PRIO_PROTECT___74 = 2
} ;
enum __anonenum_25043950___74 {
    PTHREAD_RWLOCK_PREFER_READER_NP___74 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___74 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___74 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___74 = 0
} ;
enum __anonenum_436439511___74 {
    PTHREAD_INHERIT_SCHED___74 = 0,
    PTHREAD_EXPLICIT_SCHED___74 = 1
} ;
enum __anonenum_998661166___74 {
    PTHREAD_SCOPE_SYSTEM___74 = 0,
    PTHREAD_SCOPE_PROCESS___74 = 1
} ;
enum __anonenum_146137331___74 {
    PTHREAD_PROCESS_PRIVATE___74 = 0,
    PTHREAD_PROCESS_SHARED___74 = 1
} ;
enum __anonenum_53396917___74 {
    PTHREAD_CANCEL_ENABLE___74 = 0,
    PTHREAD_CANCEL_DISABLE___74 = 1
} ;
enum __anonenum_904563783___74 {
    PTHREAD_CANCEL_DEFERRED___74 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___74 = 1
} ;
enum __anonenum_672052974___74 {
    SSL_CT_VALIDATION_PERMISSIVE___74 = 0,
    SSL_CT_VALIDATION_STRICT___74 = 1
} ;
struct gpg_format {
   char const   *name ;
   char const   *program ;
   char const   **verify_args ;
   char const   **sigs ;
   int (*verify_signed_buffer)(struct signature_check *sigc , struct gpg_format *fmt ,
                               char const   *signature , size_t signature_size ) ;
   int (*sign_buffer)(struct strbuf *buffer , struct strbuf *signature , char const   *signing_key ) ;
   char const   *(*get_default_key)(void) ;
   char const   *(*get_key_id)(void) ;
};
struct __anonstruct_sigcheck_gpg_status_963783585 {
   char result ;
   char const   *check ;
   unsigned int flags ;
};
struct __anonstruct_sigcheck_gpg_trust_level_78706636 {
   char const   *key ;
   enum signature_trust_level value ;
};
enum __anonenum_437032235___75 {
    _PC_LINK_MAX___75 = 0,
    _PC_MAX_CANON___75 = 1,
    _PC_MAX_INPUT___75 = 2,
    _PC_NAME_MAX___75 = 3,
    _PC_PATH_MAX___75 = 4,
    _PC_PIPE_BUF___75 = 5,
    _PC_CHOWN_RESTRICTED___75 = 6,
    _PC_NO_TRUNC___75 = 7,
    _PC_VDISABLE___75 = 8,
    _PC_SYNC_IO___75 = 9,
    _PC_ASYNC_IO___75 = 10,
    _PC_PRIO_IO___75 = 11,
    _PC_SOCK_MAXBUF___75 = 12,
    _PC_FILESIZEBITS___75 = 13,
    _PC_REC_INCR_XFER_SIZE___75 = 14,
    _PC_REC_MAX_XFER_SIZE___75 = 15,
    _PC_REC_MIN_XFER_SIZE___75 = 16,
    _PC_REC_XFER_ALIGN___75 = 17,
    _PC_ALLOC_SIZE_MIN___75 = 18,
    _PC_SYMLINK_MAX___75 = 19,
    _PC_2_SYMLINKS___75 = 20
} ;
enum __anonenum_315186338___75 {
    _SC_ARG_MAX___75 = 0,
    _SC_CHILD_MAX___75 = 1,
    _SC_CLK_TCK___75 = 2,
    _SC_NGROUPS_MAX___75 = 3,
    _SC_OPEN_MAX___75 = 4,
    _SC_STREAM_MAX___75 = 5,
    _SC_TZNAME_MAX___75 = 6,
    _SC_JOB_CONTROL___75 = 7,
    _SC_SAVED_IDS___75 = 8,
    _SC_REALTIME_SIGNALS___75 = 9,
    _SC_PRIORITY_SCHEDULING___75 = 10,
    _SC_TIMERS___75 = 11,
    _SC_ASYNCHRONOUS_IO___75 = 12,
    _SC_PRIORITIZED_IO___75 = 13,
    _SC_SYNCHRONIZED_IO___75 = 14,
    _SC_FSYNC___75 = 15,
    _SC_MAPPED_FILES___75 = 16,
    _SC_MEMLOCK___75 = 17,
    _SC_MEMLOCK_RANGE___75 = 18,
    _SC_MEMORY_PROTECTION___75 = 19,
    _SC_MESSAGE_PASSING___75 = 20,
    _SC_SEMAPHORES___75 = 21,
    _SC_SHARED_MEMORY_OBJECTS___75 = 22,
    _SC_AIO_LISTIO_MAX___75 = 23,
    _SC_AIO_MAX___75 = 24,
    _SC_AIO_PRIO_DELTA_MAX___75 = 25,
    _SC_DELAYTIMER_MAX___75 = 26,
    _SC_MQ_OPEN_MAX___75 = 27,
    _SC_MQ_PRIO_MAX___75 = 28,
    _SC_VERSION___75 = 29,
    _SC_PAGESIZE___75 = 30,
    _SC_RTSIG_MAX___75 = 31,
    _SC_SEM_NSEMS_MAX___75 = 32,
    _SC_SEM_VALUE_MAX___75 = 33,
    _SC_SIGQUEUE_MAX___75 = 34,
    _SC_TIMER_MAX___75 = 35,
    _SC_BC_BASE_MAX___75 = 36,
    _SC_BC_DIM_MAX___75 = 37,
    _SC_BC_SCALE_MAX___75 = 38,
    _SC_BC_STRING_MAX___75 = 39,
    _SC_COLL_WEIGHTS_MAX___75 = 40,
    _SC_EQUIV_CLASS_MAX___75 = 41,
    _SC_EXPR_NEST_MAX___75 = 42,
    _SC_LINE_MAX___75 = 43,
    _SC_RE_DUP_MAX___75 = 44,
    _SC_CHARCLASS_NAME_MAX___75 = 45,
    _SC_2_VERSION___75 = 46,
    _SC_2_C_BIND___75 = 47,
    _SC_2_C_DEV___75 = 48,
    _SC_2_FORT_DEV___75 = 49,
    _SC_2_FORT_RUN___75 = 50,
    _SC_2_SW_DEV___75 = 51,
    _SC_2_LOCALEDEF___75 = 52,
    _SC_PII___75 = 53,
    _SC_PII_XTI___75 = 54,
    _SC_PII_SOCKET___75 = 55,
    _SC_PII_INTERNET___75 = 56,
    _SC_PII_OSI___75 = 57,
    _SC_POLL___75 = 58,
    _SC_SELECT___75 = 59,
    _SC_UIO_MAXIOV___75 = 60,
    _SC_IOV_MAX___75 = 60,
    _SC_PII_INTERNET_STREAM___75 = 61,
    _SC_PII_INTERNET_DGRAM___75 = 62,
    _SC_PII_OSI_COTS___75 = 63,
    _SC_PII_OSI_CLTS___75 = 64,
    _SC_PII_OSI_M___75 = 65,
    _SC_T_IOV_MAX___75 = 66,
    _SC_THREADS___75 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___75 = 68,
    _SC_GETGR_R_SIZE_MAX___75 = 69,
    _SC_GETPW_R_SIZE_MAX___75 = 70,
    _SC_LOGIN_NAME_MAX___75 = 71,
    _SC_TTY_NAME_MAX___75 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___75 = 73,
    _SC_THREAD_KEYS_MAX___75 = 74,
    _SC_THREAD_STACK_MIN___75 = 75,
    _SC_THREAD_THREADS_MAX___75 = 76,
    _SC_THREAD_ATTR_STACKADDR___75 = 77,
    _SC_THREAD_ATTR_STACKSIZE___75 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___75 = 79,
    _SC_THREAD_PRIO_INHERIT___75 = 80,
    _SC_THREAD_PRIO_PROTECT___75 = 81,
    _SC_THREAD_PROCESS_SHARED___75 = 82,
    _SC_NPROCESSORS_CONF___75 = 83,
    _SC_NPROCESSORS_ONLN___75 = 84,
    _SC_PHYS_PAGES___75 = 85,
    _SC_AVPHYS_PAGES___75 = 86,
    _SC_ATEXIT_MAX___75 = 87,
    _SC_PASS_MAX___75 = 88,
    _SC_XOPEN_VERSION___75 = 89,
    _SC_XOPEN_XCU_VERSION___75 = 90,
    _SC_XOPEN_UNIX___75 = 91,
    _SC_XOPEN_CRYPT___75 = 92,
    _SC_XOPEN_ENH_I18N___75 = 93,
    _SC_XOPEN_SHM___75 = 94,
    _SC_2_CHAR_TERM___75 = 95,
    _SC_2_C_VERSION___75 = 96,
    _SC_2_UPE___75 = 97,
    _SC_XOPEN_XPG2___75 = 98,
    _SC_XOPEN_XPG3___75 = 99,
    _SC_XOPEN_XPG4___75 = 100,
    _SC_CHAR_BIT___75 = 101,
    _SC_CHAR_MAX___75 = 102,
    _SC_CHAR_MIN___75 = 103,
    _SC_INT_MAX___75 = 104,
    _SC_INT_MIN___75 = 105,
    _SC_LONG_BIT___75 = 106,
    _SC_WORD_BIT___75 = 107,
    _SC_MB_LEN_MAX___75 = 108,
    _SC_NZERO___75 = 109,
    _SC_SSIZE_MAX___75 = 110,
    _SC_SCHAR_MAX___75 = 111,
    _SC_SCHAR_MIN___75 = 112,
    _SC_SHRT_MAX___75 = 113,
    _SC_SHRT_MIN___75 = 114,
    _SC_UCHAR_MAX___75 = 115,
    _SC_UINT_MAX___75 = 116,
    _SC_ULONG_MAX___75 = 117,
    _SC_USHRT_MAX___75 = 118,
    _SC_NL_ARGMAX___75 = 119,
    _SC_NL_LANGMAX___75 = 120,
    _SC_NL_MSGMAX___75 = 121,
    _SC_NL_NMAX___75 = 122,
    _SC_NL_SETMAX___75 = 123,
    _SC_NL_TEXTMAX___75 = 124,
    _SC_XBS5_ILP32_OFF32___75 = 125,
    _SC_XBS5_ILP32_OFFBIG___75 = 126,
    _SC_XBS5_LP64_OFF64___75 = 127,
    _SC_XBS5_LPBIG_OFFBIG___75 = 128,
    _SC_XOPEN_LEGACY___75 = 129,
    _SC_XOPEN_REALTIME___75 = 130,
    _SC_XOPEN_REALTIME_THREADS___75 = 131,
    _SC_ADVISORY_INFO___75 = 132,
    _SC_BARRIERS___75 = 133,
    _SC_BASE___75 = 134,
    _SC_C_LANG_SUPPORT___75 = 135,
    _SC_C_LANG_SUPPORT_R___75 = 136,
    _SC_CLOCK_SELECTION___75 = 137,
    _SC_CPUTIME___75 = 138,
    _SC_THREAD_CPUTIME___75 = 139,
    _SC_DEVICE_IO___75 = 140,
    _SC_DEVICE_SPECIFIC___75 = 141,
    _SC_DEVICE_SPECIFIC_R___75 = 142,
    _SC_FD_MGMT___75 = 143,
    _SC_FIFO___75 = 144,
    _SC_PIPE___75 = 145,
    _SC_FILE_ATTRIBUTES___75 = 146,
    _SC_FILE_LOCKING___75 = 147,
    _SC_FILE_SYSTEM___75 = 148,
    _SC_MONOTONIC_CLOCK___75 = 149,
    _SC_MULTI_PROCESS___75 = 150,
    _SC_SINGLE_PROCESS___75 = 151,
    _SC_NETWORKING___75 = 152,
    _SC_READER_WRITER_LOCKS___75 = 153,
    _SC_SPIN_LOCKS___75 = 154,
    _SC_REGEXP___75 = 155,
    _SC_REGEX_VERSION___75 = 156,
    _SC_SHELL___75 = 157,
    _SC_SIGNALS___75 = 158,
    _SC_SPAWN___75 = 159,
    _SC_SPORADIC_SERVER___75 = 160,
    _SC_THREAD_SPORADIC_SERVER___75 = 161,
    _SC_SYSTEM_DATABASE___75 = 162,
    _SC_SYSTEM_DATABASE_R___75 = 163,
    _SC_TIMEOUTS___75 = 164,
    _SC_TYPED_MEMORY_OBJECTS___75 = 165,
    _SC_USER_GROUPS___75 = 166,
    _SC_USER_GROUPS_R___75 = 167,
    _SC_2_PBS___75 = 168,
    _SC_2_PBS_ACCOUNTING___75 = 169,
    _SC_2_PBS_LOCATE___75 = 170,
    _SC_2_PBS_MESSAGE___75 = 171,
    _SC_2_PBS_TRACK___75 = 172,
    _SC_SYMLOOP_MAX___75 = 173,
    _SC_STREAMS___75 = 174,
    _SC_2_PBS_CHECKPOINT___75 = 175,
    _SC_V6_ILP32_OFF32___75 = 176,
    _SC_V6_ILP32_OFFBIG___75 = 177,
    _SC_V6_LP64_OFF64___75 = 178,
    _SC_V6_LPBIG_OFFBIG___75 = 179,
    _SC_HOST_NAME_MAX___75 = 180,
    _SC_TRACE___75 = 181,
    _SC_TRACE_EVENT_FILTER___75 = 182,
    _SC_TRACE_INHERIT___75 = 183,
    _SC_TRACE_LOG___75 = 184,
    _SC_LEVEL1_ICACHE_SIZE___75 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___75 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___75 = 187,
    _SC_LEVEL1_DCACHE_SIZE___75 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___75 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___75 = 190,
    _SC_LEVEL2_CACHE_SIZE___75 = 191,
    _SC_LEVEL2_CACHE_ASSOC___75 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___75 = 193,
    _SC_LEVEL3_CACHE_SIZE___75 = 194,
    _SC_LEVEL3_CACHE_ASSOC___75 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___75 = 196,
    _SC_LEVEL4_CACHE_SIZE___75 = 197,
    _SC_LEVEL4_CACHE_ASSOC___75 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___75 = 199,
    _SC_IPV6___75 = 235,
    _SC_RAW_SOCKETS___75 = 236,
    _SC_V7_ILP32_OFF32___75 = 237,
    _SC_V7_ILP32_OFFBIG___75 = 238,
    _SC_V7_LP64_OFF64___75 = 239,
    _SC_V7_LPBIG_OFFBIG___75 = 240,
    _SC_SS_REPL_MAX___75 = 241,
    _SC_TRACE_EVENT_NAME_MAX___75 = 242,
    _SC_TRACE_NAME_MAX___75 = 243,
    _SC_TRACE_SYS_MAX___75 = 244,
    _SC_TRACE_USER_EVENT_MAX___75 = 245,
    _SC_XOPEN_STREAMS___75 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___75 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___75 = 248
} ;
enum __anonenum_875524036___75 {
    _CS_PATH___75 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___75 = 1,
    _CS_GNU_LIBC_VERSION___75 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___75 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___75 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___75 = 5,
    _CS_LFS_CFLAGS___75 = 1000,
    _CS_LFS_LDFLAGS___75 = 1001,
    _CS_LFS_LIBS___75 = 1002,
    _CS_LFS_LINTFLAGS___75 = 1003,
    _CS_LFS64_CFLAGS___75 = 1004,
    _CS_LFS64_LDFLAGS___75 = 1005,
    _CS_LFS64_LIBS___75 = 1006,
    _CS_LFS64_LINTFLAGS___75 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___75 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___75 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___75 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___75 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___75 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___75 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___75 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___75 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___75 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___75 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___75 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___75 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___75 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___75 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___75 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___75 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___75 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___75 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___75 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___75 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___75 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___75 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___75 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___75 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___75 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___75 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___75 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___75 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___75 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___75 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___75 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___75 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___75 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___75 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___75 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___75 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___75 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___75 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___75 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___75 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___75 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___75 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___75 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___75 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___75 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___75 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___75 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___75 = 1147,
    _CS_V6_ENV___75 = 1148,
    _CS_V7_ENV___75 = 1149
} ;
enum __anonenum_513775621___75 {
    DT_UNKNOWN___75 = 0,
    DT_FIFO___75 = 1,
    DT_CHR___75 = 2,
    DT_DIR___75 = 4,
    DT_BLK___75 = 6,
    DT_REG___75 = 8,
    DT_LNK___75 = 10,
    DT_SOCK___75 = 12,
    DT_WHT___75 = 14
} ;
enum __anonenum_77002343___75 {
    SI_ASYNCNL___75 = -60,
    SI_TKILL___75 = -6,
    SI_SIGIO___75 = -5,
    SI_ASYNCIO___75 = -4,
    SI_MESGQ___75 = -3,
    SI_TIMER___75 = -2,
    SI_QUEUE___75 = -1,
    SI_USER___75 = 0,
    SI_KERNEL___75 = 128
} ;
enum __anonenum_131038172___75 {
    ILL_ILLOPC___75 = 1,
    ILL_ILLOPN___75 = 2,
    ILL_ILLADR___75 = 3,
    ILL_ILLTRP___75 = 4,
    ILL_PRVOPC___75 = 5,
    ILL_PRVREG___75 = 6,
    ILL_COPROC___75 = 7,
    ILL_BADSTK___75 = 8
} ;
enum __anonenum_452038093___75 {
    FPE_INTDIV___75 = 1,
    FPE_INTOVF___75 = 2,
    FPE_FLTDIV___75 = 3,
    FPE_FLTOVF___75 = 4,
    FPE_FLTUND___75 = 5,
    FPE_FLTRES___75 = 6,
    FPE_FLTINV___75 = 7,
    FPE_FLTSUB___75 = 8
} ;
enum __anonenum_30976155___75 {
    SEGV_MAPERR___75 = 1,
    SEGV_ACCERR___75 = 2,
    SEGV_BNDERR___75 = 3,
    SEGV_PKUERR___75 = 4
} ;
enum __anonenum_1036286214___75 {
    BUS_ADRALN___75 = 1,
    BUS_ADRERR___75 = 2,
    BUS_OBJERR___75 = 3,
    BUS_MCEERR_AR___75 = 4,
    BUS_MCEERR_AO___75 = 5
} ;
enum __anonenum_493465559___75 {
    TRAP_BRKPT___75 = 1,
    TRAP_TRACE___75 = 2
} ;
enum __anonenum_23175539___75 {
    CLD_EXITED___75 = 1,
    CLD_KILLED___75 = 2,
    CLD_DUMPED___75 = 3,
    CLD_TRAPPED___75 = 4,
    CLD_STOPPED___75 = 5,
    CLD_CONTINUED___75 = 6
} ;
enum __anonenum_111643124___75 {
    POLL_IN___75 = 1,
    POLL_OUT___75 = 2,
    POLL_MSG___75 = 3,
    POLL_ERR___75 = 4,
    POLL_PRI___75 = 5,
    POLL_HUP___75 = 6
} ;
enum __anonenum_852341087___75 {
    SIGEV_SIGNAL___75 = 0,
    SIGEV_NONE___75 = 1,
    SIGEV_THREAD___75 = 2,
    SIGEV_THREAD_ID___75 = 4
} ;
enum __anonenum_451154152___75 {
    REG_R8___75 = 0,
    REG_R9___75 = 1,
    REG_R10___75 = 2,
    REG_R11___75 = 3,
    REG_R12___75 = 4,
    REG_R13___75 = 5,
    REG_R14___75 = 6,
    REG_R15___75 = 7,
    REG_RDI___75 = 8,
    REG_RSI___75 = 9,
    REG_RBP___75 = 10,
    REG_RBX___75 = 11,
    REG_RDX___75 = 12,
    REG_RAX___75 = 13,
    REG_RCX___75 = 14,
    REG_RSP___75 = 15,
    REG_RIP___75 = 16,
    REG_EFL___75 = 17,
    REG_CSGSFS___75 = 18,
    REG_ERR___75 = 19,
    REG_TRAPNO___75 = 20,
    REG_OLDMASK___75 = 21,
    REG_CR2___75 = 22
} ;
enum __anonenum_57186863___75 {
    SS_ONSTACK___75 = 1,
    SS_DISABLE___75 = 2
} ;
enum __anonenum_83571709___75 {
    MSG_OOB___75 = 1,
    MSG_PEEK___75 = 2,
    MSG_DONTROUTE___75 = 4,
    MSG_TRYHARD___75 = 4,
    MSG_CTRUNC___75 = 8,
    MSG_PROXY___75 = 16,
    MSG_TRUNC___75 = 32,
    MSG_DONTWAIT___75 = 64,
    MSG_EOR___75 = 128,
    MSG_WAITALL___75 = 256,
    MSG_FIN___75 = 512,
    MSG_SYN___75 = 1024,
    MSG_CONFIRM___75 = 2048,
    MSG_RST___75 = 4096,
    MSG_ERRQUEUE___75 = 8192,
    MSG_NOSIGNAL___75 = 16384,
    MSG_MORE___75 = 32768,
    MSG_WAITFORONE___75 = 65536,
    MSG_BATCH___75 = 262144,
    MSG_ZEROCOPY___75 = 67108864,
    MSG_FASTOPEN___75 = 536870912,
    MSG_CMSG_CLOEXEC___75 = 1073741824
} ;
enum __anonenum_617082774___75 {
    SCM_RIGHTS___75 = 1,
    SCM_CREDENTIALS___75 = 2
} ;
enum __anonenum_606441560___75 {
    SHUT_RD___75 = 0,
    SHUT_WR___75 = 1,
    SHUT_RDWR___75 = 2
} ;
enum __anonenum_681669233___75 {
    IPPROTO_IP___75 = 0,
    IPPROTO_ICMP___75 = 1,
    IPPROTO_IGMP___75 = 2,
    IPPROTO_IPIP___75 = 4,
    IPPROTO_TCP___75 = 6,
    IPPROTO_EGP___75 = 8,
    IPPROTO_PUP___75 = 12,
    IPPROTO_UDP___75 = 17,
    IPPROTO_IDP___75 = 22,
    IPPROTO_TP___75 = 29,
    IPPROTO_DCCP___75 = 33,
    IPPROTO_IPV6___75 = 41,
    IPPROTO_RSVP___75 = 46,
    IPPROTO_GRE___75 = 47,
    IPPROTO_ESP___75 = 50,
    IPPROTO_AH___75 = 51,
    IPPROTO_MTP___75 = 92,
    IPPROTO_BEETPH___75 = 94,
    IPPROTO_ENCAP___75 = 98,
    IPPROTO_PIM___75 = 103,
    IPPROTO_COMP___75 = 108,
    IPPROTO_SCTP___75 = 132,
    IPPROTO_UDPLITE___75 = 136,
    IPPROTO_MPLS___75 = 137,
    IPPROTO_RAW___75 = 255,
    IPPROTO_MAX___75 = 256
} ;
enum __anonenum_218739988___75 {
    IPPROTO_HOPOPTS___75 = 0,
    IPPROTO_ROUTING___75 = 43,
    IPPROTO_FRAGMENT___75 = 44,
    IPPROTO_ICMPV6___75 = 58,
    IPPROTO_NONE___75 = 59,
    IPPROTO_DSTOPTS___75 = 60,
    IPPROTO_MH___75 = 135
} ;
enum __anonenum_662268580___75 {
    IPPORT_ECHO___75 = 7,
    IPPORT_DISCARD___75 = 9,
    IPPORT_SYSTAT___75 = 11,
    IPPORT_DAYTIME___75 = 13,
    IPPORT_NETSTAT___75 = 15,
    IPPORT_FTP___75 = 21,
    IPPORT_TELNET___75 = 23,
    IPPORT_SMTP___75 = 25,
    IPPORT_TIMESERVER___75 = 37,
    IPPORT_NAMESERVER___75 = 42,
    IPPORT_WHOIS___75 = 43,
    IPPORT_MTP___75 = 57,
    IPPORT_TFTP___75 = 69,
    IPPORT_RJE___75 = 77,
    IPPORT_FINGER___75 = 79,
    IPPORT_TTYLINK___75 = 87,
    IPPORT_SUPDUP___75 = 95,
    IPPORT_EXECSERVER___75 = 512,
    IPPORT_LOGINSERVER___75 = 513,
    IPPORT_CMDSERVER___75 = 514,
    IPPORT_EFSSERVER___75 = 520,
    IPPORT_BIFFUDP___75 = 512,
    IPPORT_WHOSERVER___75 = 513,
    IPPORT_ROUTESERVER___75 = 520,
    IPPORT_RESERVED___75 = 1024,
    IPPORT_USERRESERVED___75 = 5000
} ;
enum __anonenum_788308992___75 {
    TCP_ESTABLISHED___75 = 1,
    TCP_SYN_SENT___75 = 2,
    TCP_SYN_RECV___75 = 3,
    TCP_FIN_WAIT1___75 = 4,
    TCP_FIN_WAIT2___75 = 5,
    TCP_TIME_WAIT___75 = 6,
    TCP_CLOSE___75 = 7,
    TCP_CLOSE_WAIT___75 = 8,
    TCP_LAST_ACK___75 = 9,
    TCP_LISTEN___75 = 10,
    TCP_CLOSING___75 = 11
} ;
enum __anonenum_221125648___75 {
    TCP_NO_QUEUE___75 = 0,
    TCP_RECV_QUEUE___75 = 1,
    TCP_SEND_QUEUE___75 = 2,
    TCP_QUEUES_NR___75 = 3
} ;
enum __anonenum_34415463___75 {
    PTHREAD_CREATE_JOINABLE___75 = 0,
    PTHREAD_CREATE_DETACHED___75 = 1
} ;
enum __anonenum_303612439___75 {
    PTHREAD_MUTEX_TIMED_NP___75 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___75 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___75 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___75 = 3,
    PTHREAD_MUTEX_NORMAL___75 = 0,
    PTHREAD_MUTEX_RECURSIVE___75 = 1,
    PTHREAD_MUTEX_ERRORCHECK___75 = 2,
    PTHREAD_MUTEX_DEFAULT___75 = 0,
    PTHREAD_MUTEX_FAST_NP___75 = 0
} ;
enum __anonenum_931900394___75 {
    PTHREAD_MUTEX_STALLED___75 = 0,
    PTHREAD_MUTEX_STALLED_NP___75 = 0,
    PTHREAD_MUTEX_ROBUST___75 = 1,
    PTHREAD_MUTEX_ROBUST_NP___75 = 1
} ;
enum __anonenum_205214487___75 {
    PTHREAD_PRIO_NONE___75 = 0,
    PTHREAD_PRIO_INHERIT___75 = 1,
    PTHREAD_PRIO_PROTECT___75 = 2
} ;
enum __anonenum_25043950___75 {
    PTHREAD_RWLOCK_PREFER_READER_NP___75 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___75 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___75 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___75 = 0
} ;
enum __anonenum_436439511___75 {
    PTHREAD_INHERIT_SCHED___75 = 0,
    PTHREAD_EXPLICIT_SCHED___75 = 1
} ;
enum __anonenum_998661166___75 {
    PTHREAD_SCOPE_SYSTEM___75 = 0,
    PTHREAD_SCOPE_PROCESS___75 = 1
} ;
enum __anonenum_146137331___75 {
    PTHREAD_PROCESS_PRIVATE___75 = 0,
    PTHREAD_PROCESS_SHARED___75 = 1
} ;
enum __anonenum_53396917___75 {
    PTHREAD_CANCEL_ENABLE___75 = 0,
    PTHREAD_CANCEL_DISABLE___75 = 1
} ;
enum __anonenum_904563783___75 {
    PTHREAD_CANCEL_DEFERRED___75 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___75 = 1
} ;
enum __anonenum_672052974___75 {
    SSL_CT_VALIDATION_PERMISSIVE___75 = 0,
    SSL_CT_VALIDATION_STRICT___75 = 1
} ;
struct column {
   struct commit *commit ;
   unsigned short color ;
};
enum graph_state {
    GRAPH_PADDING = 0,
    GRAPH_SKIP = 1,
    GRAPH_PRE_COMMIT = 2,
    GRAPH_COMMIT = 3,
    GRAPH_POST_MERGE = 4,
    GRAPH_COLLAPSING = 5
} ;
struct graph_line {
   struct strbuf *buf ;
   size_t width ;
};
struct git_graph {
   struct commit *commit ;
   struct rev_info *revs ;
   int num_parents ;
   int width ;
   int expansion_row ;
   enum graph_state state ;
   enum graph_state prev_state ;
   int commit_index ;
   int prev_commit_index ;
   int merge_layout ;
   int edges_added ;
   int prev_edges_added ;
   int column_capacity ;
   int num_columns ;
   int num_new_columns ;
   int mapping_size ;
   struct column *columns ;
   struct column *new_columns ;
   int *mapping ;
   int *old_mapping ;
   unsigned short default_column_color ;
};
enum __anonenum_437032235___76 {
    _PC_LINK_MAX___76 = 0,
    _PC_MAX_CANON___76 = 1,
    _PC_MAX_INPUT___76 = 2,
    _PC_NAME_MAX___76 = 3,
    _PC_PATH_MAX___76 = 4,
    _PC_PIPE_BUF___76 = 5,
    _PC_CHOWN_RESTRICTED___76 = 6,
    _PC_NO_TRUNC___76 = 7,
    _PC_VDISABLE___76 = 8,
    _PC_SYNC_IO___76 = 9,
    _PC_ASYNC_IO___76 = 10,
    _PC_PRIO_IO___76 = 11,
    _PC_SOCK_MAXBUF___76 = 12,
    _PC_FILESIZEBITS___76 = 13,
    _PC_REC_INCR_XFER_SIZE___76 = 14,
    _PC_REC_MAX_XFER_SIZE___76 = 15,
    _PC_REC_MIN_XFER_SIZE___76 = 16,
    _PC_REC_XFER_ALIGN___76 = 17,
    _PC_ALLOC_SIZE_MIN___76 = 18,
    _PC_SYMLINK_MAX___76 = 19,
    _PC_2_SYMLINKS___76 = 20
} ;
enum __anonenum_315186338___76 {
    _SC_ARG_MAX___76 = 0,
    _SC_CHILD_MAX___76 = 1,
    _SC_CLK_TCK___76 = 2,
    _SC_NGROUPS_MAX___76 = 3,
    _SC_OPEN_MAX___76 = 4,
    _SC_STREAM_MAX___76 = 5,
    _SC_TZNAME_MAX___76 = 6,
    _SC_JOB_CONTROL___76 = 7,
    _SC_SAVED_IDS___76 = 8,
    _SC_REALTIME_SIGNALS___76 = 9,
    _SC_PRIORITY_SCHEDULING___76 = 10,
    _SC_TIMERS___76 = 11,
    _SC_ASYNCHRONOUS_IO___76 = 12,
    _SC_PRIORITIZED_IO___76 = 13,
    _SC_SYNCHRONIZED_IO___76 = 14,
    _SC_FSYNC___76 = 15,
    _SC_MAPPED_FILES___76 = 16,
    _SC_MEMLOCK___76 = 17,
    _SC_MEMLOCK_RANGE___76 = 18,
    _SC_MEMORY_PROTECTION___76 = 19,
    _SC_MESSAGE_PASSING___76 = 20,
    _SC_SEMAPHORES___76 = 21,
    _SC_SHARED_MEMORY_OBJECTS___76 = 22,
    _SC_AIO_LISTIO_MAX___76 = 23,
    _SC_AIO_MAX___76 = 24,
    _SC_AIO_PRIO_DELTA_MAX___76 = 25,
    _SC_DELAYTIMER_MAX___76 = 26,
    _SC_MQ_OPEN_MAX___76 = 27,
    _SC_MQ_PRIO_MAX___76 = 28,
    _SC_VERSION___76 = 29,
    _SC_PAGESIZE___76 = 30,
    _SC_RTSIG_MAX___76 = 31,
    _SC_SEM_NSEMS_MAX___76 = 32,
    _SC_SEM_VALUE_MAX___76 = 33,
    _SC_SIGQUEUE_MAX___76 = 34,
    _SC_TIMER_MAX___76 = 35,
    _SC_BC_BASE_MAX___76 = 36,
    _SC_BC_DIM_MAX___76 = 37,
    _SC_BC_SCALE_MAX___76 = 38,
    _SC_BC_STRING_MAX___76 = 39,
    _SC_COLL_WEIGHTS_MAX___76 = 40,
    _SC_EQUIV_CLASS_MAX___76 = 41,
    _SC_EXPR_NEST_MAX___76 = 42,
    _SC_LINE_MAX___76 = 43,
    _SC_RE_DUP_MAX___76 = 44,
    _SC_CHARCLASS_NAME_MAX___76 = 45,
    _SC_2_VERSION___76 = 46,
    _SC_2_C_BIND___76 = 47,
    _SC_2_C_DEV___76 = 48,
    _SC_2_FORT_DEV___76 = 49,
    _SC_2_FORT_RUN___76 = 50,
    _SC_2_SW_DEV___76 = 51,
    _SC_2_LOCALEDEF___76 = 52,
    _SC_PII___76 = 53,
    _SC_PII_XTI___76 = 54,
    _SC_PII_SOCKET___76 = 55,
    _SC_PII_INTERNET___76 = 56,
    _SC_PII_OSI___76 = 57,
    _SC_POLL___76 = 58,
    _SC_SELECT___76 = 59,
    _SC_UIO_MAXIOV___76 = 60,
    _SC_IOV_MAX___76 = 60,
    _SC_PII_INTERNET_STREAM___76 = 61,
    _SC_PII_INTERNET_DGRAM___76 = 62,
    _SC_PII_OSI_COTS___76 = 63,
    _SC_PII_OSI_CLTS___76 = 64,
    _SC_PII_OSI_M___76 = 65,
    _SC_T_IOV_MAX___76 = 66,
    _SC_THREADS___76 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___76 = 68,
    _SC_GETGR_R_SIZE_MAX___76 = 69,
    _SC_GETPW_R_SIZE_MAX___76 = 70,
    _SC_LOGIN_NAME_MAX___76 = 71,
    _SC_TTY_NAME_MAX___76 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___76 = 73,
    _SC_THREAD_KEYS_MAX___76 = 74,
    _SC_THREAD_STACK_MIN___76 = 75,
    _SC_THREAD_THREADS_MAX___76 = 76,
    _SC_THREAD_ATTR_STACKADDR___76 = 77,
    _SC_THREAD_ATTR_STACKSIZE___76 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___76 = 79,
    _SC_THREAD_PRIO_INHERIT___76 = 80,
    _SC_THREAD_PRIO_PROTECT___76 = 81,
    _SC_THREAD_PROCESS_SHARED___76 = 82,
    _SC_NPROCESSORS_CONF___76 = 83,
    _SC_NPROCESSORS_ONLN___76 = 84,
    _SC_PHYS_PAGES___76 = 85,
    _SC_AVPHYS_PAGES___76 = 86,
    _SC_ATEXIT_MAX___76 = 87,
    _SC_PASS_MAX___76 = 88,
    _SC_XOPEN_VERSION___76 = 89,
    _SC_XOPEN_XCU_VERSION___76 = 90,
    _SC_XOPEN_UNIX___76 = 91,
    _SC_XOPEN_CRYPT___76 = 92,
    _SC_XOPEN_ENH_I18N___76 = 93,
    _SC_XOPEN_SHM___76 = 94,
    _SC_2_CHAR_TERM___76 = 95,
    _SC_2_C_VERSION___76 = 96,
    _SC_2_UPE___76 = 97,
    _SC_XOPEN_XPG2___76 = 98,
    _SC_XOPEN_XPG3___76 = 99,
    _SC_XOPEN_XPG4___76 = 100,
    _SC_CHAR_BIT___76 = 101,
    _SC_CHAR_MAX___76 = 102,
    _SC_CHAR_MIN___76 = 103,
    _SC_INT_MAX___76 = 104,
    _SC_INT_MIN___76 = 105,
    _SC_LONG_BIT___76 = 106,
    _SC_WORD_BIT___76 = 107,
    _SC_MB_LEN_MAX___76 = 108,
    _SC_NZERO___76 = 109,
    _SC_SSIZE_MAX___76 = 110,
    _SC_SCHAR_MAX___76 = 111,
    _SC_SCHAR_MIN___76 = 112,
    _SC_SHRT_MAX___76 = 113,
    _SC_SHRT_MIN___76 = 114,
    _SC_UCHAR_MAX___76 = 115,
    _SC_UINT_MAX___76 = 116,
    _SC_ULONG_MAX___76 = 117,
    _SC_USHRT_MAX___76 = 118,
    _SC_NL_ARGMAX___76 = 119,
    _SC_NL_LANGMAX___76 = 120,
    _SC_NL_MSGMAX___76 = 121,
    _SC_NL_NMAX___76 = 122,
    _SC_NL_SETMAX___76 = 123,
    _SC_NL_TEXTMAX___76 = 124,
    _SC_XBS5_ILP32_OFF32___76 = 125,
    _SC_XBS5_ILP32_OFFBIG___76 = 126,
    _SC_XBS5_LP64_OFF64___76 = 127,
    _SC_XBS5_LPBIG_OFFBIG___76 = 128,
    _SC_XOPEN_LEGACY___76 = 129,
    _SC_XOPEN_REALTIME___76 = 130,
    _SC_XOPEN_REALTIME_THREADS___76 = 131,
    _SC_ADVISORY_INFO___76 = 132,
    _SC_BARRIERS___76 = 133,
    _SC_BASE___76 = 134,
    _SC_C_LANG_SUPPORT___76 = 135,
    _SC_C_LANG_SUPPORT_R___76 = 136,
    _SC_CLOCK_SELECTION___76 = 137,
    _SC_CPUTIME___76 = 138,
    _SC_THREAD_CPUTIME___76 = 139,
    _SC_DEVICE_IO___76 = 140,
    _SC_DEVICE_SPECIFIC___76 = 141,
    _SC_DEVICE_SPECIFIC_R___76 = 142,
    _SC_FD_MGMT___76 = 143,
    _SC_FIFO___76 = 144,
    _SC_PIPE___76 = 145,
    _SC_FILE_ATTRIBUTES___76 = 146,
    _SC_FILE_LOCKING___76 = 147,
    _SC_FILE_SYSTEM___76 = 148,
    _SC_MONOTONIC_CLOCK___76 = 149,
    _SC_MULTI_PROCESS___76 = 150,
    _SC_SINGLE_PROCESS___76 = 151,
    _SC_NETWORKING___76 = 152,
    _SC_READER_WRITER_LOCKS___76 = 153,
    _SC_SPIN_LOCKS___76 = 154,
    _SC_REGEXP___76 = 155,
    _SC_REGEX_VERSION___76 = 156,
    _SC_SHELL___76 = 157,
    _SC_SIGNALS___76 = 158,
    _SC_SPAWN___76 = 159,
    _SC_SPORADIC_SERVER___76 = 160,
    _SC_THREAD_SPORADIC_SERVER___76 = 161,
    _SC_SYSTEM_DATABASE___76 = 162,
    _SC_SYSTEM_DATABASE_R___76 = 163,
    _SC_TIMEOUTS___76 = 164,
    _SC_TYPED_MEMORY_OBJECTS___76 = 165,
    _SC_USER_GROUPS___76 = 166,
    _SC_USER_GROUPS_R___76 = 167,
    _SC_2_PBS___76 = 168,
    _SC_2_PBS_ACCOUNTING___76 = 169,
    _SC_2_PBS_LOCATE___76 = 170,
    _SC_2_PBS_MESSAGE___76 = 171,
    _SC_2_PBS_TRACK___76 = 172,
    _SC_SYMLOOP_MAX___76 = 173,
    _SC_STREAMS___76 = 174,
    _SC_2_PBS_CHECKPOINT___76 = 175,
    _SC_V6_ILP32_OFF32___76 = 176,
    _SC_V6_ILP32_OFFBIG___76 = 177,
    _SC_V6_LP64_OFF64___76 = 178,
    _SC_V6_LPBIG_OFFBIG___76 = 179,
    _SC_HOST_NAME_MAX___76 = 180,
    _SC_TRACE___76 = 181,
    _SC_TRACE_EVENT_FILTER___76 = 182,
    _SC_TRACE_INHERIT___76 = 183,
    _SC_TRACE_LOG___76 = 184,
    _SC_LEVEL1_ICACHE_SIZE___76 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___76 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___76 = 187,
    _SC_LEVEL1_DCACHE_SIZE___76 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___76 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___76 = 190,
    _SC_LEVEL2_CACHE_SIZE___76 = 191,
    _SC_LEVEL2_CACHE_ASSOC___76 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___76 = 193,
    _SC_LEVEL3_CACHE_SIZE___76 = 194,
    _SC_LEVEL3_CACHE_ASSOC___76 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___76 = 196,
    _SC_LEVEL4_CACHE_SIZE___76 = 197,
    _SC_LEVEL4_CACHE_ASSOC___76 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___76 = 199,
    _SC_IPV6___76 = 235,
    _SC_RAW_SOCKETS___76 = 236,
    _SC_V7_ILP32_OFF32___76 = 237,
    _SC_V7_ILP32_OFFBIG___76 = 238,
    _SC_V7_LP64_OFF64___76 = 239,
    _SC_V7_LPBIG_OFFBIG___76 = 240,
    _SC_SS_REPL_MAX___76 = 241,
    _SC_TRACE_EVENT_NAME_MAX___76 = 242,
    _SC_TRACE_NAME_MAX___76 = 243,
    _SC_TRACE_SYS_MAX___76 = 244,
    _SC_TRACE_USER_EVENT_MAX___76 = 245,
    _SC_XOPEN_STREAMS___76 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___76 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___76 = 248
} ;
enum __anonenum_875524036___76 {
    _CS_PATH___76 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___76 = 1,
    _CS_GNU_LIBC_VERSION___76 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___76 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___76 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___76 = 5,
    _CS_LFS_CFLAGS___76 = 1000,
    _CS_LFS_LDFLAGS___76 = 1001,
    _CS_LFS_LIBS___76 = 1002,
    _CS_LFS_LINTFLAGS___76 = 1003,
    _CS_LFS64_CFLAGS___76 = 1004,
    _CS_LFS64_LDFLAGS___76 = 1005,
    _CS_LFS64_LIBS___76 = 1006,
    _CS_LFS64_LINTFLAGS___76 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___76 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___76 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___76 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___76 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___76 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___76 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___76 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___76 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___76 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___76 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___76 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___76 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___76 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___76 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___76 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___76 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___76 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___76 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___76 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___76 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___76 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___76 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___76 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___76 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___76 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___76 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___76 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___76 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___76 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___76 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___76 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___76 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___76 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___76 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___76 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___76 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___76 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___76 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___76 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___76 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___76 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___76 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___76 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___76 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___76 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___76 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___76 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___76 = 1147,
    _CS_V6_ENV___76 = 1148,
    _CS_V7_ENV___76 = 1149
} ;
enum __anonenum_513775621___76 {
    DT_UNKNOWN___76 = 0,
    DT_FIFO___76 = 1,
    DT_CHR___76 = 2,
    DT_DIR___76 = 4,
    DT_BLK___76 = 6,
    DT_REG___76 = 8,
    DT_LNK___76 = 10,
    DT_SOCK___76 = 12,
    DT_WHT___76 = 14
} ;
enum __anonenum_77002343___76 {
    SI_ASYNCNL___76 = -60,
    SI_TKILL___76 = -6,
    SI_SIGIO___76 = -5,
    SI_ASYNCIO___76 = -4,
    SI_MESGQ___76 = -3,
    SI_TIMER___76 = -2,
    SI_QUEUE___76 = -1,
    SI_USER___76 = 0,
    SI_KERNEL___76 = 128
} ;
enum __anonenum_131038172___76 {
    ILL_ILLOPC___76 = 1,
    ILL_ILLOPN___76 = 2,
    ILL_ILLADR___76 = 3,
    ILL_ILLTRP___76 = 4,
    ILL_PRVOPC___76 = 5,
    ILL_PRVREG___76 = 6,
    ILL_COPROC___76 = 7,
    ILL_BADSTK___76 = 8
} ;
enum __anonenum_452038093___76 {
    FPE_INTDIV___76 = 1,
    FPE_INTOVF___76 = 2,
    FPE_FLTDIV___76 = 3,
    FPE_FLTOVF___76 = 4,
    FPE_FLTUND___76 = 5,
    FPE_FLTRES___76 = 6,
    FPE_FLTINV___76 = 7,
    FPE_FLTSUB___76 = 8
} ;
enum __anonenum_30976155___76 {
    SEGV_MAPERR___76 = 1,
    SEGV_ACCERR___76 = 2,
    SEGV_BNDERR___76 = 3,
    SEGV_PKUERR___76 = 4
} ;
enum __anonenum_1036286214___76 {
    BUS_ADRALN___76 = 1,
    BUS_ADRERR___76 = 2,
    BUS_OBJERR___76 = 3,
    BUS_MCEERR_AR___76 = 4,
    BUS_MCEERR_AO___76 = 5
} ;
enum __anonenum_493465559___76 {
    TRAP_BRKPT___76 = 1,
    TRAP_TRACE___76 = 2
} ;
enum __anonenum_23175539___76 {
    CLD_EXITED___76 = 1,
    CLD_KILLED___76 = 2,
    CLD_DUMPED___76 = 3,
    CLD_TRAPPED___76 = 4,
    CLD_STOPPED___76 = 5,
    CLD_CONTINUED___76 = 6
} ;
enum __anonenum_111643124___76 {
    POLL_IN___76 = 1,
    POLL_OUT___76 = 2,
    POLL_MSG___76 = 3,
    POLL_ERR___76 = 4,
    POLL_PRI___76 = 5,
    POLL_HUP___76 = 6
} ;
enum __anonenum_852341087___76 {
    SIGEV_SIGNAL___76 = 0,
    SIGEV_NONE___76 = 1,
    SIGEV_THREAD___76 = 2,
    SIGEV_THREAD_ID___76 = 4
} ;
enum __anonenum_451154152___76 {
    REG_R8___76 = 0,
    REG_R9___76 = 1,
    REG_R10___76 = 2,
    REG_R11___76 = 3,
    REG_R12___76 = 4,
    REG_R13___76 = 5,
    REG_R14___76 = 6,
    REG_R15___76 = 7,
    REG_RDI___76 = 8,
    REG_RSI___76 = 9,
    REG_RBP___76 = 10,
    REG_RBX___76 = 11,
    REG_RDX___76 = 12,
    REG_RAX___76 = 13,
    REG_RCX___76 = 14,
    REG_RSP___76 = 15,
    REG_RIP___76 = 16,
    REG_EFL___76 = 17,
    REG_CSGSFS___76 = 18,
    REG_ERR___76 = 19,
    REG_TRAPNO___76 = 20,
    REG_OLDMASK___76 = 21,
    REG_CR2___76 = 22
} ;
enum __anonenum_57186863___76 {
    SS_ONSTACK___76 = 1,
    SS_DISABLE___76 = 2
} ;
enum __anonenum_83571709___76 {
    MSG_OOB___76 = 1,
    MSG_PEEK___76 = 2,
    MSG_DONTROUTE___76 = 4,
    MSG_TRYHARD___76 = 4,
    MSG_CTRUNC___76 = 8,
    MSG_PROXY___76 = 16,
    MSG_TRUNC___76 = 32,
    MSG_DONTWAIT___76 = 64,
    MSG_EOR___76 = 128,
    MSG_WAITALL___76 = 256,
    MSG_FIN___76 = 512,
    MSG_SYN___76 = 1024,
    MSG_CONFIRM___76 = 2048,
    MSG_RST___76 = 4096,
    MSG_ERRQUEUE___76 = 8192,
    MSG_NOSIGNAL___76 = 16384,
    MSG_MORE___76 = 32768,
    MSG_WAITFORONE___76 = 65536,
    MSG_BATCH___76 = 262144,
    MSG_ZEROCOPY___76 = 67108864,
    MSG_FASTOPEN___76 = 536870912,
    MSG_CMSG_CLOEXEC___76 = 1073741824
} ;
enum __anonenum_617082774___76 {
    SCM_RIGHTS___76 = 1,
    SCM_CREDENTIALS___76 = 2
} ;
enum __anonenum_606441560___76 {
    SHUT_RD___76 = 0,
    SHUT_WR___76 = 1,
    SHUT_RDWR___76 = 2
} ;
enum __anonenum_681669233___76 {
    IPPROTO_IP___76 = 0,
    IPPROTO_ICMP___76 = 1,
    IPPROTO_IGMP___76 = 2,
    IPPROTO_IPIP___76 = 4,
    IPPROTO_TCP___76 = 6,
    IPPROTO_EGP___76 = 8,
    IPPROTO_PUP___76 = 12,
    IPPROTO_UDP___76 = 17,
    IPPROTO_IDP___76 = 22,
    IPPROTO_TP___76 = 29,
    IPPROTO_DCCP___76 = 33,
    IPPROTO_IPV6___76 = 41,
    IPPROTO_RSVP___76 = 46,
    IPPROTO_GRE___76 = 47,
    IPPROTO_ESP___76 = 50,
    IPPROTO_AH___76 = 51,
    IPPROTO_MTP___76 = 92,
    IPPROTO_BEETPH___76 = 94,
    IPPROTO_ENCAP___76 = 98,
    IPPROTO_PIM___76 = 103,
    IPPROTO_COMP___76 = 108,
    IPPROTO_SCTP___76 = 132,
    IPPROTO_UDPLITE___76 = 136,
    IPPROTO_MPLS___76 = 137,
    IPPROTO_RAW___76 = 255,
    IPPROTO_MAX___76 = 256
} ;
enum __anonenum_218739988___76 {
    IPPROTO_HOPOPTS___76 = 0,
    IPPROTO_ROUTING___76 = 43,
    IPPROTO_FRAGMENT___76 = 44,
    IPPROTO_ICMPV6___76 = 58,
    IPPROTO_NONE___76 = 59,
    IPPROTO_DSTOPTS___76 = 60,
    IPPROTO_MH___76 = 135
} ;
enum __anonenum_662268580___76 {
    IPPORT_ECHO___76 = 7,
    IPPORT_DISCARD___76 = 9,
    IPPORT_SYSTAT___76 = 11,
    IPPORT_DAYTIME___76 = 13,
    IPPORT_NETSTAT___76 = 15,
    IPPORT_FTP___76 = 21,
    IPPORT_TELNET___76 = 23,
    IPPORT_SMTP___76 = 25,
    IPPORT_TIMESERVER___76 = 37,
    IPPORT_NAMESERVER___76 = 42,
    IPPORT_WHOIS___76 = 43,
    IPPORT_MTP___76 = 57,
    IPPORT_TFTP___76 = 69,
    IPPORT_RJE___76 = 77,
    IPPORT_FINGER___76 = 79,
    IPPORT_TTYLINK___76 = 87,
    IPPORT_SUPDUP___76 = 95,
    IPPORT_EXECSERVER___76 = 512,
    IPPORT_LOGINSERVER___76 = 513,
    IPPORT_CMDSERVER___76 = 514,
    IPPORT_EFSSERVER___76 = 520,
    IPPORT_BIFFUDP___76 = 512,
    IPPORT_WHOSERVER___76 = 513,
    IPPORT_ROUTESERVER___76 = 520,
    IPPORT_RESERVED___76 = 1024,
    IPPORT_USERRESERVED___76 = 5000
} ;
enum __anonenum_788308992___76 {
    TCP_ESTABLISHED___76 = 1,
    TCP_SYN_SENT___76 = 2,
    TCP_SYN_RECV___76 = 3,
    TCP_FIN_WAIT1___76 = 4,
    TCP_FIN_WAIT2___76 = 5,
    TCP_TIME_WAIT___76 = 6,
    TCP_CLOSE___76 = 7,
    TCP_CLOSE_WAIT___76 = 8,
    TCP_LAST_ACK___76 = 9,
    TCP_LISTEN___76 = 10,
    TCP_CLOSING___76 = 11
} ;
enum __anonenum_221125648___76 {
    TCP_NO_QUEUE___76 = 0,
    TCP_RECV_QUEUE___76 = 1,
    TCP_SEND_QUEUE___76 = 2,
    TCP_QUEUES_NR___76 = 3
} ;
enum __anonenum_34415463___76 {
    PTHREAD_CREATE_JOINABLE___76 = 0,
    PTHREAD_CREATE_DETACHED___76 = 1
} ;
enum __anonenum_303612439___76 {
    PTHREAD_MUTEX_TIMED_NP___76 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___76 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___76 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___76 = 3,
    PTHREAD_MUTEX_NORMAL___76 = 0,
    PTHREAD_MUTEX_RECURSIVE___76 = 1,
    PTHREAD_MUTEX_ERRORCHECK___76 = 2,
    PTHREAD_MUTEX_DEFAULT___76 = 0,
    PTHREAD_MUTEX_FAST_NP___76 = 0
} ;
enum __anonenum_931900394___76 {
    PTHREAD_MUTEX_STALLED___76 = 0,
    PTHREAD_MUTEX_STALLED_NP___76 = 0,
    PTHREAD_MUTEX_ROBUST___76 = 1,
    PTHREAD_MUTEX_ROBUST_NP___76 = 1
} ;
enum __anonenum_205214487___76 {
    PTHREAD_PRIO_NONE___76 = 0,
    PTHREAD_PRIO_INHERIT___76 = 1,
    PTHREAD_PRIO_PROTECT___76 = 2
} ;
enum __anonenum_25043950___76 {
    PTHREAD_RWLOCK_PREFER_READER_NP___76 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___76 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___76 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___76 = 0
} ;
enum __anonenum_436439511___76 {
    PTHREAD_INHERIT_SCHED___76 = 0,
    PTHREAD_EXPLICIT_SCHED___76 = 1
} ;
enum __anonenum_998661166___76 {
    PTHREAD_SCOPE_SYSTEM___76 = 0,
    PTHREAD_SCOPE_PROCESS___76 = 1
} ;
enum __anonenum_146137331___76 {
    PTHREAD_PROCESS_PRIVATE___76 = 0,
    PTHREAD_PROCESS_SHARED___76 = 1
} ;
enum __anonenum_53396917___76 {
    PTHREAD_CANCEL_ENABLE___76 = 0,
    PTHREAD_CANCEL_DISABLE___76 = 1
} ;
enum __anonenum_904563783___76 {
    PTHREAD_CANCEL_DEFERRED___76 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___76 = 1
} ;
enum __anonenum_672052974___76 {
    SSL_CT_VALIDATION_PERMISSIVE___76 = 0,
    SSL_CT_VALIDATION_STRICT___76 = 1
} ;
struct __anonstruct_header_field_673951369 {
   char const   *field ;
   size_t len ;
};
enum __anonenum_437032235___77 {
    _PC_LINK_MAX___77 = 0,
    _PC_MAX_CANON___77 = 1,
    _PC_MAX_INPUT___77 = 2,
    _PC_NAME_MAX___77 = 3,
    _PC_PATH_MAX___77 = 4,
    _PC_PIPE_BUF___77 = 5,
    _PC_CHOWN_RESTRICTED___77 = 6,
    _PC_NO_TRUNC___77 = 7,
    _PC_VDISABLE___77 = 8,
    _PC_SYNC_IO___77 = 9,
    _PC_ASYNC_IO___77 = 10,
    _PC_PRIO_IO___77 = 11,
    _PC_SOCK_MAXBUF___77 = 12,
    _PC_FILESIZEBITS___77 = 13,
    _PC_REC_INCR_XFER_SIZE___77 = 14,
    _PC_REC_MAX_XFER_SIZE___77 = 15,
    _PC_REC_MIN_XFER_SIZE___77 = 16,
    _PC_REC_XFER_ALIGN___77 = 17,
    _PC_ALLOC_SIZE_MIN___77 = 18,
    _PC_SYMLINK_MAX___77 = 19,
    _PC_2_SYMLINKS___77 = 20
} ;
enum __anonenum_315186338___77 {
    _SC_ARG_MAX___77 = 0,
    _SC_CHILD_MAX___77 = 1,
    _SC_CLK_TCK___77 = 2,
    _SC_NGROUPS_MAX___77 = 3,
    _SC_OPEN_MAX___77 = 4,
    _SC_STREAM_MAX___77 = 5,
    _SC_TZNAME_MAX___77 = 6,
    _SC_JOB_CONTROL___77 = 7,
    _SC_SAVED_IDS___77 = 8,
    _SC_REALTIME_SIGNALS___77 = 9,
    _SC_PRIORITY_SCHEDULING___77 = 10,
    _SC_TIMERS___77 = 11,
    _SC_ASYNCHRONOUS_IO___77 = 12,
    _SC_PRIORITIZED_IO___77 = 13,
    _SC_SYNCHRONIZED_IO___77 = 14,
    _SC_FSYNC___77 = 15,
    _SC_MAPPED_FILES___77 = 16,
    _SC_MEMLOCK___77 = 17,
    _SC_MEMLOCK_RANGE___77 = 18,
    _SC_MEMORY_PROTECTION___77 = 19,
    _SC_MESSAGE_PASSING___77 = 20,
    _SC_SEMAPHORES___77 = 21,
    _SC_SHARED_MEMORY_OBJECTS___77 = 22,
    _SC_AIO_LISTIO_MAX___77 = 23,
    _SC_AIO_MAX___77 = 24,
    _SC_AIO_PRIO_DELTA_MAX___77 = 25,
    _SC_DELAYTIMER_MAX___77 = 26,
    _SC_MQ_OPEN_MAX___77 = 27,
    _SC_MQ_PRIO_MAX___77 = 28,
    _SC_VERSION___77 = 29,
    _SC_PAGESIZE___77 = 30,
    _SC_RTSIG_MAX___77 = 31,
    _SC_SEM_NSEMS_MAX___77 = 32,
    _SC_SEM_VALUE_MAX___77 = 33,
    _SC_SIGQUEUE_MAX___77 = 34,
    _SC_TIMER_MAX___77 = 35,
    _SC_BC_BASE_MAX___77 = 36,
    _SC_BC_DIM_MAX___77 = 37,
    _SC_BC_SCALE_MAX___77 = 38,
    _SC_BC_STRING_MAX___77 = 39,
    _SC_COLL_WEIGHTS_MAX___77 = 40,
    _SC_EQUIV_CLASS_MAX___77 = 41,
    _SC_EXPR_NEST_MAX___77 = 42,
    _SC_LINE_MAX___77 = 43,
    _SC_RE_DUP_MAX___77 = 44,
    _SC_CHARCLASS_NAME_MAX___77 = 45,
    _SC_2_VERSION___77 = 46,
    _SC_2_C_BIND___77 = 47,
    _SC_2_C_DEV___77 = 48,
    _SC_2_FORT_DEV___77 = 49,
    _SC_2_FORT_RUN___77 = 50,
    _SC_2_SW_DEV___77 = 51,
    _SC_2_LOCALEDEF___77 = 52,
    _SC_PII___77 = 53,
    _SC_PII_XTI___77 = 54,
    _SC_PII_SOCKET___77 = 55,
    _SC_PII_INTERNET___77 = 56,
    _SC_PII_OSI___77 = 57,
    _SC_POLL___77 = 58,
    _SC_SELECT___77 = 59,
    _SC_UIO_MAXIOV___77 = 60,
    _SC_IOV_MAX___77 = 60,
    _SC_PII_INTERNET_STREAM___77 = 61,
    _SC_PII_INTERNET_DGRAM___77 = 62,
    _SC_PII_OSI_COTS___77 = 63,
    _SC_PII_OSI_CLTS___77 = 64,
    _SC_PII_OSI_M___77 = 65,
    _SC_T_IOV_MAX___77 = 66,
    _SC_THREADS___77 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___77 = 68,
    _SC_GETGR_R_SIZE_MAX___77 = 69,
    _SC_GETPW_R_SIZE_MAX___77 = 70,
    _SC_LOGIN_NAME_MAX___77 = 71,
    _SC_TTY_NAME_MAX___77 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___77 = 73,
    _SC_THREAD_KEYS_MAX___77 = 74,
    _SC_THREAD_STACK_MIN___77 = 75,
    _SC_THREAD_THREADS_MAX___77 = 76,
    _SC_THREAD_ATTR_STACKADDR___77 = 77,
    _SC_THREAD_ATTR_STACKSIZE___77 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___77 = 79,
    _SC_THREAD_PRIO_INHERIT___77 = 80,
    _SC_THREAD_PRIO_PROTECT___77 = 81,
    _SC_THREAD_PROCESS_SHARED___77 = 82,
    _SC_NPROCESSORS_CONF___77 = 83,
    _SC_NPROCESSORS_ONLN___77 = 84,
    _SC_PHYS_PAGES___77 = 85,
    _SC_AVPHYS_PAGES___77 = 86,
    _SC_ATEXIT_MAX___77 = 87,
    _SC_PASS_MAX___77 = 88,
    _SC_XOPEN_VERSION___77 = 89,
    _SC_XOPEN_XCU_VERSION___77 = 90,
    _SC_XOPEN_UNIX___77 = 91,
    _SC_XOPEN_CRYPT___77 = 92,
    _SC_XOPEN_ENH_I18N___77 = 93,
    _SC_XOPEN_SHM___77 = 94,
    _SC_2_CHAR_TERM___77 = 95,
    _SC_2_C_VERSION___77 = 96,
    _SC_2_UPE___77 = 97,
    _SC_XOPEN_XPG2___77 = 98,
    _SC_XOPEN_XPG3___77 = 99,
    _SC_XOPEN_XPG4___77 = 100,
    _SC_CHAR_BIT___77 = 101,
    _SC_CHAR_MAX___77 = 102,
    _SC_CHAR_MIN___77 = 103,
    _SC_INT_MAX___77 = 104,
    _SC_INT_MIN___77 = 105,
    _SC_LONG_BIT___77 = 106,
    _SC_WORD_BIT___77 = 107,
    _SC_MB_LEN_MAX___77 = 108,
    _SC_NZERO___77 = 109,
    _SC_SSIZE_MAX___77 = 110,
    _SC_SCHAR_MAX___77 = 111,
    _SC_SCHAR_MIN___77 = 112,
    _SC_SHRT_MAX___77 = 113,
    _SC_SHRT_MIN___77 = 114,
    _SC_UCHAR_MAX___77 = 115,
    _SC_UINT_MAX___77 = 116,
    _SC_ULONG_MAX___77 = 117,
    _SC_USHRT_MAX___77 = 118,
    _SC_NL_ARGMAX___77 = 119,
    _SC_NL_LANGMAX___77 = 120,
    _SC_NL_MSGMAX___77 = 121,
    _SC_NL_NMAX___77 = 122,
    _SC_NL_SETMAX___77 = 123,
    _SC_NL_TEXTMAX___77 = 124,
    _SC_XBS5_ILP32_OFF32___77 = 125,
    _SC_XBS5_ILP32_OFFBIG___77 = 126,
    _SC_XBS5_LP64_OFF64___77 = 127,
    _SC_XBS5_LPBIG_OFFBIG___77 = 128,
    _SC_XOPEN_LEGACY___77 = 129,
    _SC_XOPEN_REALTIME___77 = 130,
    _SC_XOPEN_REALTIME_THREADS___77 = 131,
    _SC_ADVISORY_INFO___77 = 132,
    _SC_BARRIERS___77 = 133,
    _SC_BASE___77 = 134,
    _SC_C_LANG_SUPPORT___77 = 135,
    _SC_C_LANG_SUPPORT_R___77 = 136,
    _SC_CLOCK_SELECTION___77 = 137,
    _SC_CPUTIME___77 = 138,
    _SC_THREAD_CPUTIME___77 = 139,
    _SC_DEVICE_IO___77 = 140,
    _SC_DEVICE_SPECIFIC___77 = 141,
    _SC_DEVICE_SPECIFIC_R___77 = 142,
    _SC_FD_MGMT___77 = 143,
    _SC_FIFO___77 = 144,
    _SC_PIPE___77 = 145,
    _SC_FILE_ATTRIBUTES___77 = 146,
    _SC_FILE_LOCKING___77 = 147,
    _SC_FILE_SYSTEM___77 = 148,
    _SC_MONOTONIC_CLOCK___77 = 149,
    _SC_MULTI_PROCESS___77 = 150,
    _SC_SINGLE_PROCESS___77 = 151,
    _SC_NETWORKING___77 = 152,
    _SC_READER_WRITER_LOCKS___77 = 153,
    _SC_SPIN_LOCKS___77 = 154,
    _SC_REGEXP___77 = 155,
    _SC_REGEX_VERSION___77 = 156,
    _SC_SHELL___77 = 157,
    _SC_SIGNALS___77 = 158,
    _SC_SPAWN___77 = 159,
    _SC_SPORADIC_SERVER___77 = 160,
    _SC_THREAD_SPORADIC_SERVER___77 = 161,
    _SC_SYSTEM_DATABASE___77 = 162,
    _SC_SYSTEM_DATABASE_R___77 = 163,
    _SC_TIMEOUTS___77 = 164,
    _SC_TYPED_MEMORY_OBJECTS___77 = 165,
    _SC_USER_GROUPS___77 = 166,
    _SC_USER_GROUPS_R___77 = 167,
    _SC_2_PBS___77 = 168,
    _SC_2_PBS_ACCOUNTING___77 = 169,
    _SC_2_PBS_LOCATE___77 = 170,
    _SC_2_PBS_MESSAGE___77 = 171,
    _SC_2_PBS_TRACK___77 = 172,
    _SC_SYMLOOP_MAX___77 = 173,
    _SC_STREAMS___77 = 174,
    _SC_2_PBS_CHECKPOINT___77 = 175,
    _SC_V6_ILP32_OFF32___77 = 176,
    _SC_V6_ILP32_OFFBIG___77 = 177,
    _SC_V6_LP64_OFF64___77 = 178,
    _SC_V6_LPBIG_OFFBIG___77 = 179,
    _SC_HOST_NAME_MAX___77 = 180,
    _SC_TRACE___77 = 181,
    _SC_TRACE_EVENT_FILTER___77 = 182,
    _SC_TRACE_INHERIT___77 = 183,
    _SC_TRACE_LOG___77 = 184,
    _SC_LEVEL1_ICACHE_SIZE___77 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___77 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___77 = 187,
    _SC_LEVEL1_DCACHE_SIZE___77 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___77 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___77 = 190,
    _SC_LEVEL2_CACHE_SIZE___77 = 191,
    _SC_LEVEL2_CACHE_ASSOC___77 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___77 = 193,
    _SC_LEVEL3_CACHE_SIZE___77 = 194,
    _SC_LEVEL3_CACHE_ASSOC___77 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___77 = 196,
    _SC_LEVEL4_CACHE_SIZE___77 = 197,
    _SC_LEVEL4_CACHE_ASSOC___77 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___77 = 199,
    _SC_IPV6___77 = 235,
    _SC_RAW_SOCKETS___77 = 236,
    _SC_V7_ILP32_OFF32___77 = 237,
    _SC_V7_ILP32_OFFBIG___77 = 238,
    _SC_V7_LP64_OFF64___77 = 239,
    _SC_V7_LPBIG_OFFBIG___77 = 240,
    _SC_SS_REPL_MAX___77 = 241,
    _SC_TRACE_EVENT_NAME_MAX___77 = 242,
    _SC_TRACE_NAME_MAX___77 = 243,
    _SC_TRACE_SYS_MAX___77 = 244,
    _SC_TRACE_USER_EVENT_MAX___77 = 245,
    _SC_XOPEN_STREAMS___77 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___77 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___77 = 248
} ;
enum __anonenum_875524036___77 {
    _CS_PATH___77 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___77 = 1,
    _CS_GNU_LIBC_VERSION___77 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___77 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___77 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___77 = 5,
    _CS_LFS_CFLAGS___77 = 1000,
    _CS_LFS_LDFLAGS___77 = 1001,
    _CS_LFS_LIBS___77 = 1002,
    _CS_LFS_LINTFLAGS___77 = 1003,
    _CS_LFS64_CFLAGS___77 = 1004,
    _CS_LFS64_LDFLAGS___77 = 1005,
    _CS_LFS64_LIBS___77 = 1006,
    _CS_LFS64_LINTFLAGS___77 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___77 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___77 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___77 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___77 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___77 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___77 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___77 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___77 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___77 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___77 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___77 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___77 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___77 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___77 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___77 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___77 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___77 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___77 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___77 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___77 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___77 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___77 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___77 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___77 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___77 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___77 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___77 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___77 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___77 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___77 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___77 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___77 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___77 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___77 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___77 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___77 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___77 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___77 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___77 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___77 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___77 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___77 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___77 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___77 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___77 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___77 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___77 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___77 = 1147,
    _CS_V6_ENV___77 = 1148,
    _CS_V7_ENV___77 = 1149
} ;
enum __anonenum_513775621___77 {
    DT_UNKNOWN___77 = 0,
    DT_FIFO___77 = 1,
    DT_CHR___77 = 2,
    DT_DIR___77 = 4,
    DT_BLK___77 = 6,
    DT_REG___77 = 8,
    DT_LNK___77 = 10,
    DT_SOCK___77 = 12,
    DT_WHT___77 = 14
} ;
enum __anonenum_77002343___77 {
    SI_ASYNCNL___77 = -60,
    SI_TKILL___77 = -6,
    SI_SIGIO___77 = -5,
    SI_ASYNCIO___77 = -4,
    SI_MESGQ___77 = -3,
    SI_TIMER___77 = -2,
    SI_QUEUE___77 = -1,
    SI_USER___77 = 0,
    SI_KERNEL___77 = 128
} ;
enum __anonenum_131038172___77 {
    ILL_ILLOPC___77 = 1,
    ILL_ILLOPN___77 = 2,
    ILL_ILLADR___77 = 3,
    ILL_ILLTRP___77 = 4,
    ILL_PRVOPC___77 = 5,
    ILL_PRVREG___77 = 6,
    ILL_COPROC___77 = 7,
    ILL_BADSTK___77 = 8
} ;
enum __anonenum_452038093___77 {
    FPE_INTDIV___77 = 1,
    FPE_INTOVF___77 = 2,
    FPE_FLTDIV___77 = 3,
    FPE_FLTOVF___77 = 4,
    FPE_FLTUND___77 = 5,
    FPE_FLTRES___77 = 6,
    FPE_FLTINV___77 = 7,
    FPE_FLTSUB___77 = 8
} ;
enum __anonenum_30976155___77 {
    SEGV_MAPERR___77 = 1,
    SEGV_ACCERR___77 = 2,
    SEGV_BNDERR___77 = 3,
    SEGV_PKUERR___77 = 4
} ;
enum __anonenum_1036286214___77 {
    BUS_ADRALN___77 = 1,
    BUS_ADRERR___77 = 2,
    BUS_OBJERR___77 = 3,
    BUS_MCEERR_AR___77 = 4,
    BUS_MCEERR_AO___77 = 5
} ;
enum __anonenum_493465559___77 {
    TRAP_BRKPT___77 = 1,
    TRAP_TRACE___77 = 2
} ;
enum __anonenum_23175539___77 {
    CLD_EXITED___77 = 1,
    CLD_KILLED___77 = 2,
    CLD_DUMPED___77 = 3,
    CLD_TRAPPED___77 = 4,
    CLD_STOPPED___77 = 5,
    CLD_CONTINUED___77 = 6
} ;
enum __anonenum_111643124___77 {
    POLL_IN___77 = 1,
    POLL_OUT___77 = 2,
    POLL_MSG___77 = 3,
    POLL_ERR___77 = 4,
    POLL_PRI___77 = 5,
    POLL_HUP___77 = 6
} ;
enum __anonenum_852341087___77 {
    SIGEV_SIGNAL___77 = 0,
    SIGEV_NONE___77 = 1,
    SIGEV_THREAD___77 = 2,
    SIGEV_THREAD_ID___77 = 4
} ;
enum __anonenum_451154152___77 {
    REG_R8___77 = 0,
    REG_R9___77 = 1,
    REG_R10___77 = 2,
    REG_R11___77 = 3,
    REG_R12___77 = 4,
    REG_R13___77 = 5,
    REG_R14___77 = 6,
    REG_R15___77 = 7,
    REG_RDI___77 = 8,
    REG_RSI___77 = 9,
    REG_RBP___77 = 10,
    REG_RBX___77 = 11,
    REG_RDX___77 = 12,
    REG_RAX___77 = 13,
    REG_RCX___77 = 14,
    REG_RSP___77 = 15,
    REG_RIP___77 = 16,
    REG_EFL___77 = 17,
    REG_CSGSFS___77 = 18,
    REG_ERR___77 = 19,
    REG_TRAPNO___77 = 20,
    REG_OLDMASK___77 = 21,
    REG_CR2___77 = 22
} ;
enum __anonenum_57186863___77 {
    SS_ONSTACK___77 = 1,
    SS_DISABLE___77 = 2
} ;
enum __anonenum_83571709___77 {
    MSG_OOB___77 = 1,
    MSG_PEEK___77 = 2,
    MSG_DONTROUTE___77 = 4,
    MSG_TRYHARD___77 = 4,
    MSG_CTRUNC___77 = 8,
    MSG_PROXY___77 = 16,
    MSG_TRUNC___77 = 32,
    MSG_DONTWAIT___77 = 64,
    MSG_EOR___77 = 128,
    MSG_WAITALL___77 = 256,
    MSG_FIN___77 = 512,
    MSG_SYN___77 = 1024,
    MSG_CONFIRM___77 = 2048,
    MSG_RST___77 = 4096,
    MSG_ERRQUEUE___77 = 8192,
    MSG_NOSIGNAL___77 = 16384,
    MSG_MORE___77 = 32768,
    MSG_WAITFORONE___77 = 65536,
    MSG_BATCH___77 = 262144,
    MSG_ZEROCOPY___77 = 67108864,
    MSG_FASTOPEN___77 = 536870912,
    MSG_CMSG_CLOEXEC___77 = 1073741824
} ;
enum __anonenum_617082774___77 {
    SCM_RIGHTS___77 = 1,
    SCM_CREDENTIALS___77 = 2
} ;
enum __anonenum_606441560___77 {
    SHUT_RD___77 = 0,
    SHUT_WR___77 = 1,
    SHUT_RDWR___77 = 2
} ;
enum __anonenum_681669233___77 {
    IPPROTO_IP___77 = 0,
    IPPROTO_ICMP___77 = 1,
    IPPROTO_IGMP___77 = 2,
    IPPROTO_IPIP___77 = 4,
    IPPROTO_TCP___77 = 6,
    IPPROTO_EGP___77 = 8,
    IPPROTO_PUP___77 = 12,
    IPPROTO_UDP___77 = 17,
    IPPROTO_IDP___77 = 22,
    IPPROTO_TP___77 = 29,
    IPPROTO_DCCP___77 = 33,
    IPPROTO_IPV6___77 = 41,
    IPPROTO_RSVP___77 = 46,
    IPPROTO_GRE___77 = 47,
    IPPROTO_ESP___77 = 50,
    IPPROTO_AH___77 = 51,
    IPPROTO_MTP___77 = 92,
    IPPROTO_BEETPH___77 = 94,
    IPPROTO_ENCAP___77 = 98,
    IPPROTO_PIM___77 = 103,
    IPPROTO_COMP___77 = 108,
    IPPROTO_SCTP___77 = 132,
    IPPROTO_UDPLITE___77 = 136,
    IPPROTO_MPLS___77 = 137,
    IPPROTO_RAW___77 = 255,
    IPPROTO_MAX___77 = 256
} ;
enum __anonenum_218739988___77 {
    IPPROTO_HOPOPTS___77 = 0,
    IPPROTO_ROUTING___77 = 43,
    IPPROTO_FRAGMENT___77 = 44,
    IPPROTO_ICMPV6___77 = 58,
    IPPROTO_NONE___77 = 59,
    IPPROTO_DSTOPTS___77 = 60,
    IPPROTO_MH___77 = 135
} ;
enum __anonenum_662268580___77 {
    IPPORT_ECHO___77 = 7,
    IPPORT_DISCARD___77 = 9,
    IPPORT_SYSTAT___77 = 11,
    IPPORT_DAYTIME___77 = 13,
    IPPORT_NETSTAT___77 = 15,
    IPPORT_FTP___77 = 21,
    IPPORT_TELNET___77 = 23,
    IPPORT_SMTP___77 = 25,
    IPPORT_TIMESERVER___77 = 37,
    IPPORT_NAMESERVER___77 = 42,
    IPPORT_WHOIS___77 = 43,
    IPPORT_MTP___77 = 57,
    IPPORT_TFTP___77 = 69,
    IPPORT_RJE___77 = 77,
    IPPORT_FINGER___77 = 79,
    IPPORT_TTYLINK___77 = 87,
    IPPORT_SUPDUP___77 = 95,
    IPPORT_EXECSERVER___77 = 512,
    IPPORT_LOGINSERVER___77 = 513,
    IPPORT_CMDSERVER___77 = 514,
    IPPORT_EFSSERVER___77 = 520,
    IPPORT_BIFFUDP___77 = 512,
    IPPORT_WHOSERVER___77 = 513,
    IPPORT_ROUTESERVER___77 = 520,
    IPPORT_RESERVED___77 = 1024,
    IPPORT_USERRESERVED___77 = 5000
} ;
enum __anonenum_788308992___77 {
    TCP_ESTABLISHED___77 = 1,
    TCP_SYN_SENT___77 = 2,
    TCP_SYN_RECV___77 = 3,
    TCP_FIN_WAIT1___77 = 4,
    TCP_FIN_WAIT2___77 = 5,
    TCP_TIME_WAIT___77 = 6,
    TCP_CLOSE___77 = 7,
    TCP_CLOSE_WAIT___77 = 8,
    TCP_LAST_ACK___77 = 9,
    TCP_LISTEN___77 = 10,
    TCP_CLOSING___77 = 11
} ;
enum __anonenum_221125648___77 {
    TCP_NO_QUEUE___77 = 0,
    TCP_RECV_QUEUE___77 = 1,
    TCP_SEND_QUEUE___77 = 2,
    TCP_QUEUES_NR___77 = 3
} ;
enum __anonenum_34415463___77 {
    PTHREAD_CREATE_JOINABLE___77 = 0,
    PTHREAD_CREATE_DETACHED___77 = 1
} ;
enum __anonenum_303612439___77 {
    PTHREAD_MUTEX_TIMED_NP___77 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___77 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___77 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___77 = 3,
    PTHREAD_MUTEX_NORMAL___77 = 0,
    PTHREAD_MUTEX_RECURSIVE___77 = 1,
    PTHREAD_MUTEX_ERRORCHECK___77 = 2,
    PTHREAD_MUTEX_DEFAULT___77 = 0,
    PTHREAD_MUTEX_FAST_NP___77 = 0
} ;
enum __anonenum_931900394___77 {
    PTHREAD_MUTEX_STALLED___77 = 0,
    PTHREAD_MUTEX_STALLED_NP___77 = 0,
    PTHREAD_MUTEX_ROBUST___77 = 1,
    PTHREAD_MUTEX_ROBUST_NP___77 = 1
} ;
enum __anonenum_205214487___77 {
    PTHREAD_PRIO_NONE___77 = 0,
    PTHREAD_PRIO_INHERIT___77 = 1,
    PTHREAD_PRIO_PROTECT___77 = 2
} ;
enum __anonenum_25043950___77 {
    PTHREAD_RWLOCK_PREFER_READER_NP___77 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___77 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___77 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___77 = 0
} ;
enum __anonenum_436439511___77 {
    PTHREAD_INHERIT_SCHED___77 = 0,
    PTHREAD_EXPLICIT_SCHED___77 = 1
} ;
enum __anonenum_998661166___77 {
    PTHREAD_SCOPE_SYSTEM___77 = 0,
    PTHREAD_SCOPE_PROCESS___77 = 1
} ;
enum __anonenum_146137331___77 {
    PTHREAD_PROCESS_PRIVATE___77 = 0,
    PTHREAD_PROCESS_SHARED___77 = 1
} ;
enum __anonenum_53396917___77 {
    PTHREAD_CANCEL_ENABLE___77 = 0,
    PTHREAD_CANCEL_DISABLE___77 = 1
} ;
enum __anonenum_904563783___77 {
    PTHREAD_CANCEL_DEFERRED___77 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___77 = 1
} ;
enum __anonenum_672052974___77 {
    SSL_CT_VALIDATION_PERMISSIVE___77 = 0,
    SSL_CT_VALIDATION_STRICT___77 = 1
} ;
enum __anonenum_437032235___78 {
    _PC_LINK_MAX___78 = 0,
    _PC_MAX_CANON___78 = 1,
    _PC_MAX_INPUT___78 = 2,
    _PC_NAME_MAX___78 = 3,
    _PC_PATH_MAX___78 = 4,
    _PC_PIPE_BUF___78 = 5,
    _PC_CHOWN_RESTRICTED___78 = 6,
    _PC_NO_TRUNC___78 = 7,
    _PC_VDISABLE___78 = 8,
    _PC_SYNC_IO___78 = 9,
    _PC_ASYNC_IO___78 = 10,
    _PC_PRIO_IO___78 = 11,
    _PC_SOCK_MAXBUF___78 = 12,
    _PC_FILESIZEBITS___78 = 13,
    _PC_REC_INCR_XFER_SIZE___78 = 14,
    _PC_REC_MAX_XFER_SIZE___78 = 15,
    _PC_REC_MIN_XFER_SIZE___78 = 16,
    _PC_REC_XFER_ALIGN___78 = 17,
    _PC_ALLOC_SIZE_MIN___78 = 18,
    _PC_SYMLINK_MAX___78 = 19,
    _PC_2_SYMLINKS___78 = 20
} ;
enum __anonenum_315186338___78 {
    _SC_ARG_MAX___78 = 0,
    _SC_CHILD_MAX___78 = 1,
    _SC_CLK_TCK___78 = 2,
    _SC_NGROUPS_MAX___78 = 3,
    _SC_OPEN_MAX___78 = 4,
    _SC_STREAM_MAX___78 = 5,
    _SC_TZNAME_MAX___78 = 6,
    _SC_JOB_CONTROL___78 = 7,
    _SC_SAVED_IDS___78 = 8,
    _SC_REALTIME_SIGNALS___78 = 9,
    _SC_PRIORITY_SCHEDULING___78 = 10,
    _SC_TIMERS___78 = 11,
    _SC_ASYNCHRONOUS_IO___78 = 12,
    _SC_PRIORITIZED_IO___78 = 13,
    _SC_SYNCHRONIZED_IO___78 = 14,
    _SC_FSYNC___78 = 15,
    _SC_MAPPED_FILES___78 = 16,
    _SC_MEMLOCK___78 = 17,
    _SC_MEMLOCK_RANGE___78 = 18,
    _SC_MEMORY_PROTECTION___78 = 19,
    _SC_MESSAGE_PASSING___78 = 20,
    _SC_SEMAPHORES___78 = 21,
    _SC_SHARED_MEMORY_OBJECTS___78 = 22,
    _SC_AIO_LISTIO_MAX___78 = 23,
    _SC_AIO_MAX___78 = 24,
    _SC_AIO_PRIO_DELTA_MAX___78 = 25,
    _SC_DELAYTIMER_MAX___78 = 26,
    _SC_MQ_OPEN_MAX___78 = 27,
    _SC_MQ_PRIO_MAX___78 = 28,
    _SC_VERSION___78 = 29,
    _SC_PAGESIZE___78 = 30,
    _SC_RTSIG_MAX___78 = 31,
    _SC_SEM_NSEMS_MAX___78 = 32,
    _SC_SEM_VALUE_MAX___78 = 33,
    _SC_SIGQUEUE_MAX___78 = 34,
    _SC_TIMER_MAX___78 = 35,
    _SC_BC_BASE_MAX___78 = 36,
    _SC_BC_DIM_MAX___78 = 37,
    _SC_BC_SCALE_MAX___78 = 38,
    _SC_BC_STRING_MAX___78 = 39,
    _SC_COLL_WEIGHTS_MAX___78 = 40,
    _SC_EQUIV_CLASS_MAX___78 = 41,
    _SC_EXPR_NEST_MAX___78 = 42,
    _SC_LINE_MAX___78 = 43,
    _SC_RE_DUP_MAX___78 = 44,
    _SC_CHARCLASS_NAME_MAX___78 = 45,
    _SC_2_VERSION___78 = 46,
    _SC_2_C_BIND___78 = 47,
    _SC_2_C_DEV___78 = 48,
    _SC_2_FORT_DEV___78 = 49,
    _SC_2_FORT_RUN___78 = 50,
    _SC_2_SW_DEV___78 = 51,
    _SC_2_LOCALEDEF___78 = 52,
    _SC_PII___78 = 53,
    _SC_PII_XTI___78 = 54,
    _SC_PII_SOCKET___78 = 55,
    _SC_PII_INTERNET___78 = 56,
    _SC_PII_OSI___78 = 57,
    _SC_POLL___78 = 58,
    _SC_SELECT___78 = 59,
    _SC_UIO_MAXIOV___78 = 60,
    _SC_IOV_MAX___78 = 60,
    _SC_PII_INTERNET_STREAM___78 = 61,
    _SC_PII_INTERNET_DGRAM___78 = 62,
    _SC_PII_OSI_COTS___78 = 63,
    _SC_PII_OSI_CLTS___78 = 64,
    _SC_PII_OSI_M___78 = 65,
    _SC_T_IOV_MAX___78 = 66,
    _SC_THREADS___78 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___78 = 68,
    _SC_GETGR_R_SIZE_MAX___78 = 69,
    _SC_GETPW_R_SIZE_MAX___78 = 70,
    _SC_LOGIN_NAME_MAX___78 = 71,
    _SC_TTY_NAME_MAX___78 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___78 = 73,
    _SC_THREAD_KEYS_MAX___78 = 74,
    _SC_THREAD_STACK_MIN___78 = 75,
    _SC_THREAD_THREADS_MAX___78 = 76,
    _SC_THREAD_ATTR_STACKADDR___78 = 77,
    _SC_THREAD_ATTR_STACKSIZE___78 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___78 = 79,
    _SC_THREAD_PRIO_INHERIT___78 = 80,
    _SC_THREAD_PRIO_PROTECT___78 = 81,
    _SC_THREAD_PROCESS_SHARED___78 = 82,
    _SC_NPROCESSORS_CONF___78 = 83,
    _SC_NPROCESSORS_ONLN___78 = 84,
    _SC_PHYS_PAGES___78 = 85,
    _SC_AVPHYS_PAGES___78 = 86,
    _SC_ATEXIT_MAX___78 = 87,
    _SC_PASS_MAX___78 = 88,
    _SC_XOPEN_VERSION___78 = 89,
    _SC_XOPEN_XCU_VERSION___78 = 90,
    _SC_XOPEN_UNIX___78 = 91,
    _SC_XOPEN_CRYPT___78 = 92,
    _SC_XOPEN_ENH_I18N___78 = 93,
    _SC_XOPEN_SHM___78 = 94,
    _SC_2_CHAR_TERM___78 = 95,
    _SC_2_C_VERSION___78 = 96,
    _SC_2_UPE___78 = 97,
    _SC_XOPEN_XPG2___78 = 98,
    _SC_XOPEN_XPG3___78 = 99,
    _SC_XOPEN_XPG4___78 = 100,
    _SC_CHAR_BIT___78 = 101,
    _SC_CHAR_MAX___78 = 102,
    _SC_CHAR_MIN___78 = 103,
    _SC_INT_MAX___78 = 104,
    _SC_INT_MIN___78 = 105,
    _SC_LONG_BIT___78 = 106,
    _SC_WORD_BIT___78 = 107,
    _SC_MB_LEN_MAX___78 = 108,
    _SC_NZERO___78 = 109,
    _SC_SSIZE_MAX___78 = 110,
    _SC_SCHAR_MAX___78 = 111,
    _SC_SCHAR_MIN___78 = 112,
    _SC_SHRT_MAX___78 = 113,
    _SC_SHRT_MIN___78 = 114,
    _SC_UCHAR_MAX___78 = 115,
    _SC_UINT_MAX___78 = 116,
    _SC_ULONG_MAX___78 = 117,
    _SC_USHRT_MAX___78 = 118,
    _SC_NL_ARGMAX___78 = 119,
    _SC_NL_LANGMAX___78 = 120,
    _SC_NL_MSGMAX___78 = 121,
    _SC_NL_NMAX___78 = 122,
    _SC_NL_SETMAX___78 = 123,
    _SC_NL_TEXTMAX___78 = 124,
    _SC_XBS5_ILP32_OFF32___78 = 125,
    _SC_XBS5_ILP32_OFFBIG___78 = 126,
    _SC_XBS5_LP64_OFF64___78 = 127,
    _SC_XBS5_LPBIG_OFFBIG___78 = 128,
    _SC_XOPEN_LEGACY___78 = 129,
    _SC_XOPEN_REALTIME___78 = 130,
    _SC_XOPEN_REALTIME_THREADS___78 = 131,
    _SC_ADVISORY_INFO___78 = 132,
    _SC_BARRIERS___78 = 133,
    _SC_BASE___78 = 134,
    _SC_C_LANG_SUPPORT___78 = 135,
    _SC_C_LANG_SUPPORT_R___78 = 136,
    _SC_CLOCK_SELECTION___78 = 137,
    _SC_CPUTIME___78 = 138,
    _SC_THREAD_CPUTIME___78 = 139,
    _SC_DEVICE_IO___78 = 140,
    _SC_DEVICE_SPECIFIC___78 = 141,
    _SC_DEVICE_SPECIFIC_R___78 = 142,
    _SC_FD_MGMT___78 = 143,
    _SC_FIFO___78 = 144,
    _SC_PIPE___78 = 145,
    _SC_FILE_ATTRIBUTES___78 = 146,
    _SC_FILE_LOCKING___78 = 147,
    _SC_FILE_SYSTEM___78 = 148,
    _SC_MONOTONIC_CLOCK___78 = 149,
    _SC_MULTI_PROCESS___78 = 150,
    _SC_SINGLE_PROCESS___78 = 151,
    _SC_NETWORKING___78 = 152,
    _SC_READER_WRITER_LOCKS___78 = 153,
    _SC_SPIN_LOCKS___78 = 154,
    _SC_REGEXP___78 = 155,
    _SC_REGEX_VERSION___78 = 156,
    _SC_SHELL___78 = 157,
    _SC_SIGNALS___78 = 158,
    _SC_SPAWN___78 = 159,
    _SC_SPORADIC_SERVER___78 = 160,
    _SC_THREAD_SPORADIC_SERVER___78 = 161,
    _SC_SYSTEM_DATABASE___78 = 162,
    _SC_SYSTEM_DATABASE_R___78 = 163,
    _SC_TIMEOUTS___78 = 164,
    _SC_TYPED_MEMORY_OBJECTS___78 = 165,
    _SC_USER_GROUPS___78 = 166,
    _SC_USER_GROUPS_R___78 = 167,
    _SC_2_PBS___78 = 168,
    _SC_2_PBS_ACCOUNTING___78 = 169,
    _SC_2_PBS_LOCATE___78 = 170,
    _SC_2_PBS_MESSAGE___78 = 171,
    _SC_2_PBS_TRACK___78 = 172,
    _SC_SYMLOOP_MAX___78 = 173,
    _SC_STREAMS___78 = 174,
    _SC_2_PBS_CHECKPOINT___78 = 175,
    _SC_V6_ILP32_OFF32___78 = 176,
    _SC_V6_ILP32_OFFBIG___78 = 177,
    _SC_V6_LP64_OFF64___78 = 178,
    _SC_V6_LPBIG_OFFBIG___78 = 179,
    _SC_HOST_NAME_MAX___78 = 180,
    _SC_TRACE___78 = 181,
    _SC_TRACE_EVENT_FILTER___78 = 182,
    _SC_TRACE_INHERIT___78 = 183,
    _SC_TRACE_LOG___78 = 184,
    _SC_LEVEL1_ICACHE_SIZE___78 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___78 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___78 = 187,
    _SC_LEVEL1_DCACHE_SIZE___78 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___78 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___78 = 190,
    _SC_LEVEL2_CACHE_SIZE___78 = 191,
    _SC_LEVEL2_CACHE_ASSOC___78 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___78 = 193,
    _SC_LEVEL3_CACHE_SIZE___78 = 194,
    _SC_LEVEL3_CACHE_ASSOC___78 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___78 = 196,
    _SC_LEVEL4_CACHE_SIZE___78 = 197,
    _SC_LEVEL4_CACHE_ASSOC___78 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___78 = 199,
    _SC_IPV6___78 = 235,
    _SC_RAW_SOCKETS___78 = 236,
    _SC_V7_ILP32_OFF32___78 = 237,
    _SC_V7_ILP32_OFFBIG___78 = 238,
    _SC_V7_LP64_OFF64___78 = 239,
    _SC_V7_LPBIG_OFFBIG___78 = 240,
    _SC_SS_REPL_MAX___78 = 241,
    _SC_TRACE_EVENT_NAME_MAX___78 = 242,
    _SC_TRACE_NAME_MAX___78 = 243,
    _SC_TRACE_SYS_MAX___78 = 244,
    _SC_TRACE_USER_EVENT_MAX___78 = 245,
    _SC_XOPEN_STREAMS___78 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___78 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___78 = 248
} ;
enum __anonenum_875524036___78 {
    _CS_PATH___78 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___78 = 1,
    _CS_GNU_LIBC_VERSION___78 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___78 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___78 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___78 = 5,
    _CS_LFS_CFLAGS___78 = 1000,
    _CS_LFS_LDFLAGS___78 = 1001,
    _CS_LFS_LIBS___78 = 1002,
    _CS_LFS_LINTFLAGS___78 = 1003,
    _CS_LFS64_CFLAGS___78 = 1004,
    _CS_LFS64_LDFLAGS___78 = 1005,
    _CS_LFS64_LIBS___78 = 1006,
    _CS_LFS64_LINTFLAGS___78 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___78 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___78 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___78 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___78 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___78 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___78 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___78 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___78 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___78 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___78 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___78 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___78 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___78 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___78 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___78 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___78 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___78 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___78 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___78 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___78 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___78 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___78 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___78 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___78 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___78 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___78 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___78 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___78 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___78 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___78 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___78 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___78 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___78 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___78 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___78 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___78 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___78 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___78 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___78 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___78 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___78 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___78 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___78 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___78 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___78 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___78 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___78 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___78 = 1147,
    _CS_V6_ENV___78 = 1148,
    _CS_V7_ENV___78 = 1149
} ;
enum __anonenum_513775621___78 {
    DT_UNKNOWN___78 = 0,
    DT_FIFO___78 = 1,
    DT_CHR___78 = 2,
    DT_DIR___78 = 4,
    DT_BLK___78 = 6,
    DT_REG___78 = 8,
    DT_LNK___78 = 10,
    DT_SOCK___78 = 12,
    DT_WHT___78 = 14
} ;
enum __anonenum_77002343___78 {
    SI_ASYNCNL___78 = -60,
    SI_TKILL___78 = -6,
    SI_SIGIO___78 = -5,
    SI_ASYNCIO___78 = -4,
    SI_MESGQ___78 = -3,
    SI_TIMER___78 = -2,
    SI_QUEUE___78 = -1,
    SI_USER___78 = 0,
    SI_KERNEL___78 = 128
} ;
enum __anonenum_131038172___78 {
    ILL_ILLOPC___78 = 1,
    ILL_ILLOPN___78 = 2,
    ILL_ILLADR___78 = 3,
    ILL_ILLTRP___78 = 4,
    ILL_PRVOPC___78 = 5,
    ILL_PRVREG___78 = 6,
    ILL_COPROC___78 = 7,
    ILL_BADSTK___78 = 8
} ;
enum __anonenum_452038093___78 {
    FPE_INTDIV___78 = 1,
    FPE_INTOVF___78 = 2,
    FPE_FLTDIV___78 = 3,
    FPE_FLTOVF___78 = 4,
    FPE_FLTUND___78 = 5,
    FPE_FLTRES___78 = 6,
    FPE_FLTINV___78 = 7,
    FPE_FLTSUB___78 = 8
} ;
enum __anonenum_30976155___78 {
    SEGV_MAPERR___78 = 1,
    SEGV_ACCERR___78 = 2,
    SEGV_BNDERR___78 = 3,
    SEGV_PKUERR___78 = 4
} ;
enum __anonenum_1036286214___78 {
    BUS_ADRALN___78 = 1,
    BUS_ADRERR___78 = 2,
    BUS_OBJERR___78 = 3,
    BUS_MCEERR_AR___78 = 4,
    BUS_MCEERR_AO___78 = 5
} ;
enum __anonenum_493465559___78 {
    TRAP_BRKPT___78 = 1,
    TRAP_TRACE___78 = 2
} ;
enum __anonenum_23175539___78 {
    CLD_EXITED___78 = 1,
    CLD_KILLED___78 = 2,
    CLD_DUMPED___78 = 3,
    CLD_TRAPPED___78 = 4,
    CLD_STOPPED___78 = 5,
    CLD_CONTINUED___78 = 6
} ;
enum __anonenum_111643124___78 {
    POLL_IN___78 = 1,
    POLL_OUT___78 = 2,
    POLL_MSG___78 = 3,
    POLL_ERR___78 = 4,
    POLL_PRI___78 = 5,
    POLL_HUP___78 = 6
} ;
enum __anonenum_852341087___78 {
    SIGEV_SIGNAL___78 = 0,
    SIGEV_NONE___78 = 1,
    SIGEV_THREAD___78 = 2,
    SIGEV_THREAD_ID___78 = 4
} ;
enum __anonenum_451154152___78 {
    REG_R8___78 = 0,
    REG_R9___78 = 1,
    REG_R10___78 = 2,
    REG_R11___78 = 3,
    REG_R12___78 = 4,
    REG_R13___78 = 5,
    REG_R14___78 = 6,
    REG_R15___78 = 7,
    REG_RDI___78 = 8,
    REG_RSI___78 = 9,
    REG_RBP___78 = 10,
    REG_RBX___78 = 11,
    REG_RDX___78 = 12,
    REG_RAX___78 = 13,
    REG_RCX___78 = 14,
    REG_RSP___78 = 15,
    REG_RIP___78 = 16,
    REG_EFL___78 = 17,
    REG_CSGSFS___78 = 18,
    REG_ERR___78 = 19,
    REG_TRAPNO___78 = 20,
    REG_OLDMASK___78 = 21,
    REG_CR2___78 = 22
} ;
enum __anonenum_57186863___78 {
    SS_ONSTACK___78 = 1,
    SS_DISABLE___78 = 2
} ;
enum __anonenum_83571709___78 {
    MSG_OOB___78 = 1,
    MSG_PEEK___78 = 2,
    MSG_DONTROUTE___78 = 4,
    MSG_TRYHARD___78 = 4,
    MSG_CTRUNC___78 = 8,
    MSG_PROXY___78 = 16,
    MSG_TRUNC___78 = 32,
    MSG_DONTWAIT___78 = 64,
    MSG_EOR___78 = 128,
    MSG_WAITALL___78 = 256,
    MSG_FIN___78 = 512,
    MSG_SYN___78 = 1024,
    MSG_CONFIRM___78 = 2048,
    MSG_RST___78 = 4096,
    MSG_ERRQUEUE___78 = 8192,
    MSG_NOSIGNAL___78 = 16384,
    MSG_MORE___78 = 32768,
    MSG_WAITFORONE___78 = 65536,
    MSG_BATCH___78 = 262144,
    MSG_ZEROCOPY___78 = 67108864,
    MSG_FASTOPEN___78 = 536870912,
    MSG_CMSG_CLOEXEC___78 = 1073741824
} ;
enum __anonenum_617082774___78 {
    SCM_RIGHTS___78 = 1,
    SCM_CREDENTIALS___78 = 2
} ;
enum __anonenum_606441560___78 {
    SHUT_RD___78 = 0,
    SHUT_WR___78 = 1,
    SHUT_RDWR___78 = 2
} ;
enum __anonenum_681669233___78 {
    IPPROTO_IP___78 = 0,
    IPPROTO_ICMP___78 = 1,
    IPPROTO_IGMP___78 = 2,
    IPPROTO_IPIP___78 = 4,
    IPPROTO_TCP___78 = 6,
    IPPROTO_EGP___78 = 8,
    IPPROTO_PUP___78 = 12,
    IPPROTO_UDP___78 = 17,
    IPPROTO_IDP___78 = 22,
    IPPROTO_TP___78 = 29,
    IPPROTO_DCCP___78 = 33,
    IPPROTO_IPV6___78 = 41,
    IPPROTO_RSVP___78 = 46,
    IPPROTO_GRE___78 = 47,
    IPPROTO_ESP___78 = 50,
    IPPROTO_AH___78 = 51,
    IPPROTO_MTP___78 = 92,
    IPPROTO_BEETPH___78 = 94,
    IPPROTO_ENCAP___78 = 98,
    IPPROTO_PIM___78 = 103,
    IPPROTO_COMP___78 = 108,
    IPPROTO_SCTP___78 = 132,
    IPPROTO_UDPLITE___78 = 136,
    IPPROTO_MPLS___78 = 137,
    IPPROTO_RAW___78 = 255,
    IPPROTO_MAX___78 = 256
} ;
enum __anonenum_218739988___78 {
    IPPROTO_HOPOPTS___78 = 0,
    IPPROTO_ROUTING___78 = 43,
    IPPROTO_FRAGMENT___78 = 44,
    IPPROTO_ICMPV6___78 = 58,
    IPPROTO_NONE___78 = 59,
    IPPROTO_DSTOPTS___78 = 60,
    IPPROTO_MH___78 = 135
} ;
enum __anonenum_662268580___78 {
    IPPORT_ECHO___78 = 7,
    IPPORT_DISCARD___78 = 9,
    IPPORT_SYSTAT___78 = 11,
    IPPORT_DAYTIME___78 = 13,
    IPPORT_NETSTAT___78 = 15,
    IPPORT_FTP___78 = 21,
    IPPORT_TELNET___78 = 23,
    IPPORT_SMTP___78 = 25,
    IPPORT_TIMESERVER___78 = 37,
    IPPORT_NAMESERVER___78 = 42,
    IPPORT_WHOIS___78 = 43,
    IPPORT_MTP___78 = 57,
    IPPORT_TFTP___78 = 69,
    IPPORT_RJE___78 = 77,
    IPPORT_FINGER___78 = 79,
    IPPORT_TTYLINK___78 = 87,
    IPPORT_SUPDUP___78 = 95,
    IPPORT_EXECSERVER___78 = 512,
    IPPORT_LOGINSERVER___78 = 513,
    IPPORT_CMDSERVER___78 = 514,
    IPPORT_EFSSERVER___78 = 520,
    IPPORT_BIFFUDP___78 = 512,
    IPPORT_WHOSERVER___78 = 513,
    IPPORT_ROUTESERVER___78 = 520,
    IPPORT_RESERVED___78 = 1024,
    IPPORT_USERRESERVED___78 = 5000
} ;
enum __anonenum_788308992___78 {
    TCP_ESTABLISHED___78 = 1,
    TCP_SYN_SENT___78 = 2,
    TCP_SYN_RECV___78 = 3,
    TCP_FIN_WAIT1___78 = 4,
    TCP_FIN_WAIT2___78 = 5,
    TCP_TIME_WAIT___78 = 6,
    TCP_CLOSE___78 = 7,
    TCP_CLOSE_WAIT___78 = 8,
    TCP_LAST_ACK___78 = 9,
    TCP_LISTEN___78 = 10,
    TCP_CLOSING___78 = 11
} ;
enum __anonenum_221125648___78 {
    TCP_NO_QUEUE___78 = 0,
    TCP_RECV_QUEUE___78 = 1,
    TCP_SEND_QUEUE___78 = 2,
    TCP_QUEUES_NR___78 = 3
} ;
enum __anonenum_34415463___78 {
    PTHREAD_CREATE_JOINABLE___78 = 0,
    PTHREAD_CREATE_DETACHED___78 = 1
} ;
enum __anonenum_303612439___78 {
    PTHREAD_MUTEX_TIMED_NP___78 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___78 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___78 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___78 = 3,
    PTHREAD_MUTEX_NORMAL___78 = 0,
    PTHREAD_MUTEX_RECURSIVE___78 = 1,
    PTHREAD_MUTEX_ERRORCHECK___78 = 2,
    PTHREAD_MUTEX_DEFAULT___78 = 0,
    PTHREAD_MUTEX_FAST_NP___78 = 0
} ;
enum __anonenum_931900394___78 {
    PTHREAD_MUTEX_STALLED___78 = 0,
    PTHREAD_MUTEX_STALLED_NP___78 = 0,
    PTHREAD_MUTEX_ROBUST___78 = 1,
    PTHREAD_MUTEX_ROBUST_NP___78 = 1
} ;
enum __anonenum_205214487___78 {
    PTHREAD_PRIO_NONE___78 = 0,
    PTHREAD_PRIO_INHERIT___78 = 1,
    PTHREAD_PRIO_PROTECT___78 = 2
} ;
enum __anonenum_25043950___78 {
    PTHREAD_RWLOCK_PREFER_READER_NP___78 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___78 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___78 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___78 = 0
} ;
enum __anonenum_436439511___78 {
    PTHREAD_INHERIT_SCHED___78 = 0,
    PTHREAD_EXPLICIT_SCHED___78 = 1
} ;
enum __anonenum_998661166___78 {
    PTHREAD_SCOPE_SYSTEM___78 = 0,
    PTHREAD_SCOPE_PROCESS___78 = 1
} ;
enum __anonenum_146137331___78 {
    PTHREAD_PROCESS_PRIVATE___78 = 0,
    PTHREAD_PROCESS_SHARED___78 = 1
} ;
enum __anonenum_53396917___78 {
    PTHREAD_CANCEL_ENABLE___78 = 0,
    PTHREAD_CANCEL_DISABLE___78 = 1
} ;
enum __anonenum_904563783___78 {
    PTHREAD_CANCEL_DEFERRED___78 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___78 = 1
} ;
enum __anonenum_672052974___78 {
    SSL_CT_VALIDATION_PERMISSIVE___78 = 0,
    SSL_CT_VALIDATION_STRICT___78 = 1
} ;
struct pool_entry {
   struct hashmap_entry ent ;
   size_t len ;
   unsigned char data[] ;
};
enum __anonenum_437032235___79 {
    _PC_LINK_MAX___79 = 0,
    _PC_MAX_CANON___79 = 1,
    _PC_MAX_INPUT___79 = 2,
    _PC_NAME_MAX___79 = 3,
    _PC_PATH_MAX___79 = 4,
    _PC_PIPE_BUF___79 = 5,
    _PC_CHOWN_RESTRICTED___79 = 6,
    _PC_NO_TRUNC___79 = 7,
    _PC_VDISABLE___79 = 8,
    _PC_SYNC_IO___79 = 9,
    _PC_ASYNC_IO___79 = 10,
    _PC_PRIO_IO___79 = 11,
    _PC_SOCK_MAXBUF___79 = 12,
    _PC_FILESIZEBITS___79 = 13,
    _PC_REC_INCR_XFER_SIZE___79 = 14,
    _PC_REC_MAX_XFER_SIZE___79 = 15,
    _PC_REC_MIN_XFER_SIZE___79 = 16,
    _PC_REC_XFER_ALIGN___79 = 17,
    _PC_ALLOC_SIZE_MIN___79 = 18,
    _PC_SYMLINK_MAX___79 = 19,
    _PC_2_SYMLINKS___79 = 20
} ;
enum __anonenum_315186338___79 {
    _SC_ARG_MAX___79 = 0,
    _SC_CHILD_MAX___79 = 1,
    _SC_CLK_TCK___79 = 2,
    _SC_NGROUPS_MAX___79 = 3,
    _SC_OPEN_MAX___79 = 4,
    _SC_STREAM_MAX___79 = 5,
    _SC_TZNAME_MAX___79 = 6,
    _SC_JOB_CONTROL___79 = 7,
    _SC_SAVED_IDS___79 = 8,
    _SC_REALTIME_SIGNALS___79 = 9,
    _SC_PRIORITY_SCHEDULING___79 = 10,
    _SC_TIMERS___79 = 11,
    _SC_ASYNCHRONOUS_IO___79 = 12,
    _SC_PRIORITIZED_IO___79 = 13,
    _SC_SYNCHRONIZED_IO___79 = 14,
    _SC_FSYNC___79 = 15,
    _SC_MAPPED_FILES___79 = 16,
    _SC_MEMLOCK___79 = 17,
    _SC_MEMLOCK_RANGE___79 = 18,
    _SC_MEMORY_PROTECTION___79 = 19,
    _SC_MESSAGE_PASSING___79 = 20,
    _SC_SEMAPHORES___79 = 21,
    _SC_SHARED_MEMORY_OBJECTS___79 = 22,
    _SC_AIO_LISTIO_MAX___79 = 23,
    _SC_AIO_MAX___79 = 24,
    _SC_AIO_PRIO_DELTA_MAX___79 = 25,
    _SC_DELAYTIMER_MAX___79 = 26,
    _SC_MQ_OPEN_MAX___79 = 27,
    _SC_MQ_PRIO_MAX___79 = 28,
    _SC_VERSION___79 = 29,
    _SC_PAGESIZE___79 = 30,
    _SC_RTSIG_MAX___79 = 31,
    _SC_SEM_NSEMS_MAX___79 = 32,
    _SC_SEM_VALUE_MAX___79 = 33,
    _SC_SIGQUEUE_MAX___79 = 34,
    _SC_TIMER_MAX___79 = 35,
    _SC_BC_BASE_MAX___79 = 36,
    _SC_BC_DIM_MAX___79 = 37,
    _SC_BC_SCALE_MAX___79 = 38,
    _SC_BC_STRING_MAX___79 = 39,
    _SC_COLL_WEIGHTS_MAX___79 = 40,
    _SC_EQUIV_CLASS_MAX___79 = 41,
    _SC_EXPR_NEST_MAX___79 = 42,
    _SC_LINE_MAX___79 = 43,
    _SC_RE_DUP_MAX___79 = 44,
    _SC_CHARCLASS_NAME_MAX___79 = 45,
    _SC_2_VERSION___79 = 46,
    _SC_2_C_BIND___79 = 47,
    _SC_2_C_DEV___79 = 48,
    _SC_2_FORT_DEV___79 = 49,
    _SC_2_FORT_RUN___79 = 50,
    _SC_2_SW_DEV___79 = 51,
    _SC_2_LOCALEDEF___79 = 52,
    _SC_PII___79 = 53,
    _SC_PII_XTI___79 = 54,
    _SC_PII_SOCKET___79 = 55,
    _SC_PII_INTERNET___79 = 56,
    _SC_PII_OSI___79 = 57,
    _SC_POLL___79 = 58,
    _SC_SELECT___79 = 59,
    _SC_UIO_MAXIOV___79 = 60,
    _SC_IOV_MAX___79 = 60,
    _SC_PII_INTERNET_STREAM___79 = 61,
    _SC_PII_INTERNET_DGRAM___79 = 62,
    _SC_PII_OSI_COTS___79 = 63,
    _SC_PII_OSI_CLTS___79 = 64,
    _SC_PII_OSI_M___79 = 65,
    _SC_T_IOV_MAX___79 = 66,
    _SC_THREADS___79 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___79 = 68,
    _SC_GETGR_R_SIZE_MAX___79 = 69,
    _SC_GETPW_R_SIZE_MAX___79 = 70,
    _SC_LOGIN_NAME_MAX___79 = 71,
    _SC_TTY_NAME_MAX___79 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___79 = 73,
    _SC_THREAD_KEYS_MAX___79 = 74,
    _SC_THREAD_STACK_MIN___79 = 75,
    _SC_THREAD_THREADS_MAX___79 = 76,
    _SC_THREAD_ATTR_STACKADDR___79 = 77,
    _SC_THREAD_ATTR_STACKSIZE___79 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___79 = 79,
    _SC_THREAD_PRIO_INHERIT___79 = 80,
    _SC_THREAD_PRIO_PROTECT___79 = 81,
    _SC_THREAD_PROCESS_SHARED___79 = 82,
    _SC_NPROCESSORS_CONF___79 = 83,
    _SC_NPROCESSORS_ONLN___79 = 84,
    _SC_PHYS_PAGES___79 = 85,
    _SC_AVPHYS_PAGES___79 = 86,
    _SC_ATEXIT_MAX___79 = 87,
    _SC_PASS_MAX___79 = 88,
    _SC_XOPEN_VERSION___79 = 89,
    _SC_XOPEN_XCU_VERSION___79 = 90,
    _SC_XOPEN_UNIX___79 = 91,
    _SC_XOPEN_CRYPT___79 = 92,
    _SC_XOPEN_ENH_I18N___79 = 93,
    _SC_XOPEN_SHM___79 = 94,
    _SC_2_CHAR_TERM___79 = 95,
    _SC_2_C_VERSION___79 = 96,
    _SC_2_UPE___79 = 97,
    _SC_XOPEN_XPG2___79 = 98,
    _SC_XOPEN_XPG3___79 = 99,
    _SC_XOPEN_XPG4___79 = 100,
    _SC_CHAR_BIT___79 = 101,
    _SC_CHAR_MAX___79 = 102,
    _SC_CHAR_MIN___79 = 103,
    _SC_INT_MAX___79 = 104,
    _SC_INT_MIN___79 = 105,
    _SC_LONG_BIT___79 = 106,
    _SC_WORD_BIT___79 = 107,
    _SC_MB_LEN_MAX___79 = 108,
    _SC_NZERO___79 = 109,
    _SC_SSIZE_MAX___79 = 110,
    _SC_SCHAR_MAX___79 = 111,
    _SC_SCHAR_MIN___79 = 112,
    _SC_SHRT_MAX___79 = 113,
    _SC_SHRT_MIN___79 = 114,
    _SC_UCHAR_MAX___79 = 115,
    _SC_UINT_MAX___79 = 116,
    _SC_ULONG_MAX___79 = 117,
    _SC_USHRT_MAX___79 = 118,
    _SC_NL_ARGMAX___79 = 119,
    _SC_NL_LANGMAX___79 = 120,
    _SC_NL_MSGMAX___79 = 121,
    _SC_NL_NMAX___79 = 122,
    _SC_NL_SETMAX___79 = 123,
    _SC_NL_TEXTMAX___79 = 124,
    _SC_XBS5_ILP32_OFF32___79 = 125,
    _SC_XBS5_ILP32_OFFBIG___79 = 126,
    _SC_XBS5_LP64_OFF64___79 = 127,
    _SC_XBS5_LPBIG_OFFBIG___79 = 128,
    _SC_XOPEN_LEGACY___79 = 129,
    _SC_XOPEN_REALTIME___79 = 130,
    _SC_XOPEN_REALTIME_THREADS___79 = 131,
    _SC_ADVISORY_INFO___79 = 132,
    _SC_BARRIERS___79 = 133,
    _SC_BASE___79 = 134,
    _SC_C_LANG_SUPPORT___79 = 135,
    _SC_C_LANG_SUPPORT_R___79 = 136,
    _SC_CLOCK_SELECTION___79 = 137,
    _SC_CPUTIME___79 = 138,
    _SC_THREAD_CPUTIME___79 = 139,
    _SC_DEVICE_IO___79 = 140,
    _SC_DEVICE_SPECIFIC___79 = 141,
    _SC_DEVICE_SPECIFIC_R___79 = 142,
    _SC_FD_MGMT___79 = 143,
    _SC_FIFO___79 = 144,
    _SC_PIPE___79 = 145,
    _SC_FILE_ATTRIBUTES___79 = 146,
    _SC_FILE_LOCKING___79 = 147,
    _SC_FILE_SYSTEM___79 = 148,
    _SC_MONOTONIC_CLOCK___79 = 149,
    _SC_MULTI_PROCESS___79 = 150,
    _SC_SINGLE_PROCESS___79 = 151,
    _SC_NETWORKING___79 = 152,
    _SC_READER_WRITER_LOCKS___79 = 153,
    _SC_SPIN_LOCKS___79 = 154,
    _SC_REGEXP___79 = 155,
    _SC_REGEX_VERSION___79 = 156,
    _SC_SHELL___79 = 157,
    _SC_SIGNALS___79 = 158,
    _SC_SPAWN___79 = 159,
    _SC_SPORADIC_SERVER___79 = 160,
    _SC_THREAD_SPORADIC_SERVER___79 = 161,
    _SC_SYSTEM_DATABASE___79 = 162,
    _SC_SYSTEM_DATABASE_R___79 = 163,
    _SC_TIMEOUTS___79 = 164,
    _SC_TYPED_MEMORY_OBJECTS___79 = 165,
    _SC_USER_GROUPS___79 = 166,
    _SC_USER_GROUPS_R___79 = 167,
    _SC_2_PBS___79 = 168,
    _SC_2_PBS_ACCOUNTING___79 = 169,
    _SC_2_PBS_LOCATE___79 = 170,
    _SC_2_PBS_MESSAGE___79 = 171,
    _SC_2_PBS_TRACK___79 = 172,
    _SC_SYMLOOP_MAX___79 = 173,
    _SC_STREAMS___79 = 174,
    _SC_2_PBS_CHECKPOINT___79 = 175,
    _SC_V6_ILP32_OFF32___79 = 176,
    _SC_V6_ILP32_OFFBIG___79 = 177,
    _SC_V6_LP64_OFF64___79 = 178,
    _SC_V6_LPBIG_OFFBIG___79 = 179,
    _SC_HOST_NAME_MAX___79 = 180,
    _SC_TRACE___79 = 181,
    _SC_TRACE_EVENT_FILTER___79 = 182,
    _SC_TRACE_INHERIT___79 = 183,
    _SC_TRACE_LOG___79 = 184,
    _SC_LEVEL1_ICACHE_SIZE___79 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___79 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___79 = 187,
    _SC_LEVEL1_DCACHE_SIZE___79 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___79 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___79 = 190,
    _SC_LEVEL2_CACHE_SIZE___79 = 191,
    _SC_LEVEL2_CACHE_ASSOC___79 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___79 = 193,
    _SC_LEVEL3_CACHE_SIZE___79 = 194,
    _SC_LEVEL3_CACHE_ASSOC___79 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___79 = 196,
    _SC_LEVEL4_CACHE_SIZE___79 = 197,
    _SC_LEVEL4_CACHE_ASSOC___79 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___79 = 199,
    _SC_IPV6___79 = 235,
    _SC_RAW_SOCKETS___79 = 236,
    _SC_V7_ILP32_OFF32___79 = 237,
    _SC_V7_ILP32_OFFBIG___79 = 238,
    _SC_V7_LP64_OFF64___79 = 239,
    _SC_V7_LPBIG_OFFBIG___79 = 240,
    _SC_SS_REPL_MAX___79 = 241,
    _SC_TRACE_EVENT_NAME_MAX___79 = 242,
    _SC_TRACE_NAME_MAX___79 = 243,
    _SC_TRACE_SYS_MAX___79 = 244,
    _SC_TRACE_USER_EVENT_MAX___79 = 245,
    _SC_XOPEN_STREAMS___79 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___79 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___79 = 248
} ;
enum __anonenum_875524036___79 {
    _CS_PATH___79 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___79 = 1,
    _CS_GNU_LIBC_VERSION___79 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___79 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___79 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___79 = 5,
    _CS_LFS_CFLAGS___79 = 1000,
    _CS_LFS_LDFLAGS___79 = 1001,
    _CS_LFS_LIBS___79 = 1002,
    _CS_LFS_LINTFLAGS___79 = 1003,
    _CS_LFS64_CFLAGS___79 = 1004,
    _CS_LFS64_LDFLAGS___79 = 1005,
    _CS_LFS64_LIBS___79 = 1006,
    _CS_LFS64_LINTFLAGS___79 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___79 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___79 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___79 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___79 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___79 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___79 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___79 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___79 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___79 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___79 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___79 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___79 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___79 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___79 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___79 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___79 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___79 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___79 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___79 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___79 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___79 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___79 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___79 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___79 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___79 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___79 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___79 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___79 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___79 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___79 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___79 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___79 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___79 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___79 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___79 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___79 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___79 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___79 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___79 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___79 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___79 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___79 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___79 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___79 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___79 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___79 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___79 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___79 = 1147,
    _CS_V6_ENV___79 = 1148,
    _CS_V7_ENV___79 = 1149
} ;
enum __anonenum_513775621___79 {
    DT_UNKNOWN___79 = 0,
    DT_FIFO___79 = 1,
    DT_CHR___79 = 2,
    DT_DIR___79 = 4,
    DT_BLK___79 = 6,
    DT_REG___79 = 8,
    DT_LNK___79 = 10,
    DT_SOCK___79 = 12,
    DT_WHT___79 = 14
} ;
enum __anonenum_77002343___79 {
    SI_ASYNCNL___79 = -60,
    SI_TKILL___79 = -6,
    SI_SIGIO___79 = -5,
    SI_ASYNCIO___79 = -4,
    SI_MESGQ___79 = -3,
    SI_TIMER___79 = -2,
    SI_QUEUE___79 = -1,
    SI_USER___79 = 0,
    SI_KERNEL___79 = 128
} ;
enum __anonenum_131038172___79 {
    ILL_ILLOPC___79 = 1,
    ILL_ILLOPN___79 = 2,
    ILL_ILLADR___79 = 3,
    ILL_ILLTRP___79 = 4,
    ILL_PRVOPC___79 = 5,
    ILL_PRVREG___79 = 6,
    ILL_COPROC___79 = 7,
    ILL_BADSTK___79 = 8
} ;
enum __anonenum_452038093___79 {
    FPE_INTDIV___79 = 1,
    FPE_INTOVF___79 = 2,
    FPE_FLTDIV___79 = 3,
    FPE_FLTOVF___79 = 4,
    FPE_FLTUND___79 = 5,
    FPE_FLTRES___79 = 6,
    FPE_FLTINV___79 = 7,
    FPE_FLTSUB___79 = 8
} ;
enum __anonenum_30976155___79 {
    SEGV_MAPERR___79 = 1,
    SEGV_ACCERR___79 = 2,
    SEGV_BNDERR___79 = 3,
    SEGV_PKUERR___79 = 4
} ;
enum __anonenum_1036286214___79 {
    BUS_ADRALN___79 = 1,
    BUS_ADRERR___79 = 2,
    BUS_OBJERR___79 = 3,
    BUS_MCEERR_AR___79 = 4,
    BUS_MCEERR_AO___79 = 5
} ;
enum __anonenum_493465559___79 {
    TRAP_BRKPT___79 = 1,
    TRAP_TRACE___79 = 2
} ;
enum __anonenum_23175539___79 {
    CLD_EXITED___79 = 1,
    CLD_KILLED___79 = 2,
    CLD_DUMPED___79 = 3,
    CLD_TRAPPED___79 = 4,
    CLD_STOPPED___79 = 5,
    CLD_CONTINUED___79 = 6
} ;
enum __anonenum_111643124___79 {
    POLL_IN___79 = 1,
    POLL_OUT___79 = 2,
    POLL_MSG___79 = 3,
    POLL_ERR___79 = 4,
    POLL_PRI___79 = 5,
    POLL_HUP___79 = 6
} ;
enum __anonenum_852341087___79 {
    SIGEV_SIGNAL___79 = 0,
    SIGEV_NONE___79 = 1,
    SIGEV_THREAD___79 = 2,
    SIGEV_THREAD_ID___79 = 4
} ;
enum __anonenum_451154152___79 {
    REG_R8___79 = 0,
    REG_R9___79 = 1,
    REG_R10___79 = 2,
    REG_R11___79 = 3,
    REG_R12___79 = 4,
    REG_R13___79 = 5,
    REG_R14___79 = 6,
    REG_R15___79 = 7,
    REG_RDI___79 = 8,
    REG_RSI___79 = 9,
    REG_RBP___79 = 10,
    REG_RBX___79 = 11,
    REG_RDX___79 = 12,
    REG_RAX___79 = 13,
    REG_RCX___79 = 14,
    REG_RSP___79 = 15,
    REG_RIP___79 = 16,
    REG_EFL___79 = 17,
    REG_CSGSFS___79 = 18,
    REG_ERR___79 = 19,
    REG_TRAPNO___79 = 20,
    REG_OLDMASK___79 = 21,
    REG_CR2___79 = 22
} ;
enum __anonenum_57186863___79 {
    SS_ONSTACK___79 = 1,
    SS_DISABLE___79 = 2
} ;
enum __anonenum_83571709___79 {
    MSG_OOB___79 = 1,
    MSG_PEEK___79 = 2,
    MSG_DONTROUTE___79 = 4,
    MSG_TRYHARD___79 = 4,
    MSG_CTRUNC___79 = 8,
    MSG_PROXY___79 = 16,
    MSG_TRUNC___79 = 32,
    MSG_DONTWAIT___79 = 64,
    MSG_EOR___79 = 128,
    MSG_WAITALL___79 = 256,
    MSG_FIN___79 = 512,
    MSG_SYN___79 = 1024,
    MSG_CONFIRM___79 = 2048,
    MSG_RST___79 = 4096,
    MSG_ERRQUEUE___79 = 8192,
    MSG_NOSIGNAL___79 = 16384,
    MSG_MORE___79 = 32768,
    MSG_WAITFORONE___79 = 65536,
    MSG_BATCH___79 = 262144,
    MSG_ZEROCOPY___79 = 67108864,
    MSG_FASTOPEN___79 = 536870912,
    MSG_CMSG_CLOEXEC___79 = 1073741824
} ;
enum __anonenum_617082774___79 {
    SCM_RIGHTS___79 = 1,
    SCM_CREDENTIALS___79 = 2
} ;
enum __anonenum_606441560___79 {
    SHUT_RD___79 = 0,
    SHUT_WR___79 = 1,
    SHUT_RDWR___79 = 2
} ;
enum __anonenum_681669233___79 {
    IPPROTO_IP___79 = 0,
    IPPROTO_ICMP___79 = 1,
    IPPROTO_IGMP___79 = 2,
    IPPROTO_IPIP___79 = 4,
    IPPROTO_TCP___79 = 6,
    IPPROTO_EGP___79 = 8,
    IPPROTO_PUP___79 = 12,
    IPPROTO_UDP___79 = 17,
    IPPROTO_IDP___79 = 22,
    IPPROTO_TP___79 = 29,
    IPPROTO_DCCP___79 = 33,
    IPPROTO_IPV6___79 = 41,
    IPPROTO_RSVP___79 = 46,
    IPPROTO_GRE___79 = 47,
    IPPROTO_ESP___79 = 50,
    IPPROTO_AH___79 = 51,
    IPPROTO_MTP___79 = 92,
    IPPROTO_BEETPH___79 = 94,
    IPPROTO_ENCAP___79 = 98,
    IPPROTO_PIM___79 = 103,
    IPPROTO_COMP___79 = 108,
    IPPROTO_SCTP___79 = 132,
    IPPROTO_UDPLITE___79 = 136,
    IPPROTO_MPLS___79 = 137,
    IPPROTO_RAW___79 = 255,
    IPPROTO_MAX___79 = 256
} ;
enum __anonenum_218739988___79 {
    IPPROTO_HOPOPTS___79 = 0,
    IPPROTO_ROUTING___79 = 43,
    IPPROTO_FRAGMENT___79 = 44,
    IPPROTO_ICMPV6___79 = 58,
    IPPROTO_NONE___79 = 59,
    IPPROTO_DSTOPTS___79 = 60,
    IPPROTO_MH___79 = 135
} ;
enum __anonenum_662268580___79 {
    IPPORT_ECHO___79 = 7,
    IPPORT_DISCARD___79 = 9,
    IPPORT_SYSTAT___79 = 11,
    IPPORT_DAYTIME___79 = 13,
    IPPORT_NETSTAT___79 = 15,
    IPPORT_FTP___79 = 21,
    IPPORT_TELNET___79 = 23,
    IPPORT_SMTP___79 = 25,
    IPPORT_TIMESERVER___79 = 37,
    IPPORT_NAMESERVER___79 = 42,
    IPPORT_WHOIS___79 = 43,
    IPPORT_MTP___79 = 57,
    IPPORT_TFTP___79 = 69,
    IPPORT_RJE___79 = 77,
    IPPORT_FINGER___79 = 79,
    IPPORT_TTYLINK___79 = 87,
    IPPORT_SUPDUP___79 = 95,
    IPPORT_EXECSERVER___79 = 512,
    IPPORT_LOGINSERVER___79 = 513,
    IPPORT_CMDSERVER___79 = 514,
    IPPORT_EFSSERVER___79 = 520,
    IPPORT_BIFFUDP___79 = 512,
    IPPORT_WHOSERVER___79 = 513,
    IPPORT_ROUTESERVER___79 = 520,
    IPPORT_RESERVED___79 = 1024,
    IPPORT_USERRESERVED___79 = 5000
} ;
enum __anonenum_788308992___79 {
    TCP_ESTABLISHED___79 = 1,
    TCP_SYN_SENT___79 = 2,
    TCP_SYN_RECV___79 = 3,
    TCP_FIN_WAIT1___79 = 4,
    TCP_FIN_WAIT2___79 = 5,
    TCP_TIME_WAIT___79 = 6,
    TCP_CLOSE___79 = 7,
    TCP_CLOSE_WAIT___79 = 8,
    TCP_LAST_ACK___79 = 9,
    TCP_LISTEN___79 = 10,
    TCP_CLOSING___79 = 11
} ;
enum __anonenum_221125648___79 {
    TCP_NO_QUEUE___79 = 0,
    TCP_RECV_QUEUE___79 = 1,
    TCP_SEND_QUEUE___79 = 2,
    TCP_QUEUES_NR___79 = 3
} ;
enum __anonenum_34415463___79 {
    PTHREAD_CREATE_JOINABLE___79 = 0,
    PTHREAD_CREATE_DETACHED___79 = 1
} ;
enum __anonenum_303612439___79 {
    PTHREAD_MUTEX_TIMED_NP___79 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___79 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___79 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___79 = 3,
    PTHREAD_MUTEX_NORMAL___79 = 0,
    PTHREAD_MUTEX_RECURSIVE___79 = 1,
    PTHREAD_MUTEX_ERRORCHECK___79 = 2,
    PTHREAD_MUTEX_DEFAULT___79 = 0,
    PTHREAD_MUTEX_FAST_NP___79 = 0
} ;
enum __anonenum_931900394___79 {
    PTHREAD_MUTEX_STALLED___79 = 0,
    PTHREAD_MUTEX_STALLED_NP___79 = 0,
    PTHREAD_MUTEX_ROBUST___79 = 1,
    PTHREAD_MUTEX_ROBUST_NP___79 = 1
} ;
enum __anonenum_205214487___79 {
    PTHREAD_PRIO_NONE___79 = 0,
    PTHREAD_PRIO_INHERIT___79 = 1,
    PTHREAD_PRIO_PROTECT___79 = 2
} ;
enum __anonenum_25043950___79 {
    PTHREAD_RWLOCK_PREFER_READER_NP___79 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___79 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___79 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___79 = 0
} ;
enum __anonenum_436439511___79 {
    PTHREAD_INHERIT_SCHED___79 = 0,
    PTHREAD_EXPLICIT_SCHED___79 = 1
} ;
enum __anonenum_998661166___79 {
    PTHREAD_SCOPE_SYSTEM___79 = 0,
    PTHREAD_SCOPE_PROCESS___79 = 1
} ;
enum __anonenum_146137331___79 {
    PTHREAD_PROCESS_PRIVATE___79 = 0,
    PTHREAD_PROCESS_SHARED___79 = 1
} ;
enum __anonenum_53396917___79 {
    PTHREAD_CANCEL_ENABLE___79 = 0,
    PTHREAD_CANCEL_DISABLE___79 = 1
} ;
enum __anonenum_904563783___79 {
    PTHREAD_CANCEL_DEFERRED___79 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___79 = 1
} ;
enum __anonenum_672052974___79 {
    SSL_CT_VALIDATION_PERMISSIVE___79 = 0,
    SSL_CT_VALIDATION_STRICT___79 = 1
} ;
struct cmdname_help {
   char const   *name ;
   char const   *help ;
   uint32_t category ;
};
struct category_description {
   uint32_t category ;
   char const   *desc ;
};
struct similar_ref_cb {
   char const   *base_ref ;
   struct string_list *similar_refs ;
};
enum __anonenum_437032235___80 {
    _PC_LINK_MAX___80 = 0,
    _PC_MAX_CANON___80 = 1,
    _PC_MAX_INPUT___80 = 2,
    _PC_NAME_MAX___80 = 3,
    _PC_PATH_MAX___80 = 4,
    _PC_PIPE_BUF___80 = 5,
    _PC_CHOWN_RESTRICTED___80 = 6,
    _PC_NO_TRUNC___80 = 7,
    _PC_VDISABLE___80 = 8,
    _PC_SYNC_IO___80 = 9,
    _PC_ASYNC_IO___80 = 10,
    _PC_PRIO_IO___80 = 11,
    _PC_SOCK_MAXBUF___80 = 12,
    _PC_FILESIZEBITS___80 = 13,
    _PC_REC_INCR_XFER_SIZE___80 = 14,
    _PC_REC_MAX_XFER_SIZE___80 = 15,
    _PC_REC_MIN_XFER_SIZE___80 = 16,
    _PC_REC_XFER_ALIGN___80 = 17,
    _PC_ALLOC_SIZE_MIN___80 = 18,
    _PC_SYMLINK_MAX___80 = 19,
    _PC_2_SYMLINKS___80 = 20
} ;
enum __anonenum_315186338___80 {
    _SC_ARG_MAX___80 = 0,
    _SC_CHILD_MAX___80 = 1,
    _SC_CLK_TCK___80 = 2,
    _SC_NGROUPS_MAX___80 = 3,
    _SC_OPEN_MAX___80 = 4,
    _SC_STREAM_MAX___80 = 5,
    _SC_TZNAME_MAX___80 = 6,
    _SC_JOB_CONTROL___80 = 7,
    _SC_SAVED_IDS___80 = 8,
    _SC_REALTIME_SIGNALS___80 = 9,
    _SC_PRIORITY_SCHEDULING___80 = 10,
    _SC_TIMERS___80 = 11,
    _SC_ASYNCHRONOUS_IO___80 = 12,
    _SC_PRIORITIZED_IO___80 = 13,
    _SC_SYNCHRONIZED_IO___80 = 14,
    _SC_FSYNC___80 = 15,
    _SC_MAPPED_FILES___80 = 16,
    _SC_MEMLOCK___80 = 17,
    _SC_MEMLOCK_RANGE___80 = 18,
    _SC_MEMORY_PROTECTION___80 = 19,
    _SC_MESSAGE_PASSING___80 = 20,
    _SC_SEMAPHORES___80 = 21,
    _SC_SHARED_MEMORY_OBJECTS___80 = 22,
    _SC_AIO_LISTIO_MAX___80 = 23,
    _SC_AIO_MAX___80 = 24,
    _SC_AIO_PRIO_DELTA_MAX___80 = 25,
    _SC_DELAYTIMER_MAX___80 = 26,
    _SC_MQ_OPEN_MAX___80 = 27,
    _SC_MQ_PRIO_MAX___80 = 28,
    _SC_VERSION___80 = 29,
    _SC_PAGESIZE___80 = 30,
    _SC_RTSIG_MAX___80 = 31,
    _SC_SEM_NSEMS_MAX___80 = 32,
    _SC_SEM_VALUE_MAX___80 = 33,
    _SC_SIGQUEUE_MAX___80 = 34,
    _SC_TIMER_MAX___80 = 35,
    _SC_BC_BASE_MAX___80 = 36,
    _SC_BC_DIM_MAX___80 = 37,
    _SC_BC_SCALE_MAX___80 = 38,
    _SC_BC_STRING_MAX___80 = 39,
    _SC_COLL_WEIGHTS_MAX___80 = 40,
    _SC_EQUIV_CLASS_MAX___80 = 41,
    _SC_EXPR_NEST_MAX___80 = 42,
    _SC_LINE_MAX___80 = 43,
    _SC_RE_DUP_MAX___80 = 44,
    _SC_CHARCLASS_NAME_MAX___80 = 45,
    _SC_2_VERSION___80 = 46,
    _SC_2_C_BIND___80 = 47,
    _SC_2_C_DEV___80 = 48,
    _SC_2_FORT_DEV___80 = 49,
    _SC_2_FORT_RUN___80 = 50,
    _SC_2_SW_DEV___80 = 51,
    _SC_2_LOCALEDEF___80 = 52,
    _SC_PII___80 = 53,
    _SC_PII_XTI___80 = 54,
    _SC_PII_SOCKET___80 = 55,
    _SC_PII_INTERNET___80 = 56,
    _SC_PII_OSI___80 = 57,
    _SC_POLL___80 = 58,
    _SC_SELECT___80 = 59,
    _SC_UIO_MAXIOV___80 = 60,
    _SC_IOV_MAX___80 = 60,
    _SC_PII_INTERNET_STREAM___80 = 61,
    _SC_PII_INTERNET_DGRAM___80 = 62,
    _SC_PII_OSI_COTS___80 = 63,
    _SC_PII_OSI_CLTS___80 = 64,
    _SC_PII_OSI_M___80 = 65,
    _SC_T_IOV_MAX___80 = 66,
    _SC_THREADS___80 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___80 = 68,
    _SC_GETGR_R_SIZE_MAX___80 = 69,
    _SC_GETPW_R_SIZE_MAX___80 = 70,
    _SC_LOGIN_NAME_MAX___80 = 71,
    _SC_TTY_NAME_MAX___80 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___80 = 73,
    _SC_THREAD_KEYS_MAX___80 = 74,
    _SC_THREAD_STACK_MIN___80 = 75,
    _SC_THREAD_THREADS_MAX___80 = 76,
    _SC_THREAD_ATTR_STACKADDR___80 = 77,
    _SC_THREAD_ATTR_STACKSIZE___80 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___80 = 79,
    _SC_THREAD_PRIO_INHERIT___80 = 80,
    _SC_THREAD_PRIO_PROTECT___80 = 81,
    _SC_THREAD_PROCESS_SHARED___80 = 82,
    _SC_NPROCESSORS_CONF___80 = 83,
    _SC_NPROCESSORS_ONLN___80 = 84,
    _SC_PHYS_PAGES___80 = 85,
    _SC_AVPHYS_PAGES___80 = 86,
    _SC_ATEXIT_MAX___80 = 87,
    _SC_PASS_MAX___80 = 88,
    _SC_XOPEN_VERSION___80 = 89,
    _SC_XOPEN_XCU_VERSION___80 = 90,
    _SC_XOPEN_UNIX___80 = 91,
    _SC_XOPEN_CRYPT___80 = 92,
    _SC_XOPEN_ENH_I18N___80 = 93,
    _SC_XOPEN_SHM___80 = 94,
    _SC_2_CHAR_TERM___80 = 95,
    _SC_2_C_VERSION___80 = 96,
    _SC_2_UPE___80 = 97,
    _SC_XOPEN_XPG2___80 = 98,
    _SC_XOPEN_XPG3___80 = 99,
    _SC_XOPEN_XPG4___80 = 100,
    _SC_CHAR_BIT___80 = 101,
    _SC_CHAR_MAX___80 = 102,
    _SC_CHAR_MIN___80 = 103,
    _SC_INT_MAX___80 = 104,
    _SC_INT_MIN___80 = 105,
    _SC_LONG_BIT___80 = 106,
    _SC_WORD_BIT___80 = 107,
    _SC_MB_LEN_MAX___80 = 108,
    _SC_NZERO___80 = 109,
    _SC_SSIZE_MAX___80 = 110,
    _SC_SCHAR_MAX___80 = 111,
    _SC_SCHAR_MIN___80 = 112,
    _SC_SHRT_MAX___80 = 113,
    _SC_SHRT_MIN___80 = 114,
    _SC_UCHAR_MAX___80 = 115,
    _SC_UINT_MAX___80 = 116,
    _SC_ULONG_MAX___80 = 117,
    _SC_USHRT_MAX___80 = 118,
    _SC_NL_ARGMAX___80 = 119,
    _SC_NL_LANGMAX___80 = 120,
    _SC_NL_MSGMAX___80 = 121,
    _SC_NL_NMAX___80 = 122,
    _SC_NL_SETMAX___80 = 123,
    _SC_NL_TEXTMAX___80 = 124,
    _SC_XBS5_ILP32_OFF32___80 = 125,
    _SC_XBS5_ILP32_OFFBIG___80 = 126,
    _SC_XBS5_LP64_OFF64___80 = 127,
    _SC_XBS5_LPBIG_OFFBIG___80 = 128,
    _SC_XOPEN_LEGACY___80 = 129,
    _SC_XOPEN_REALTIME___80 = 130,
    _SC_XOPEN_REALTIME_THREADS___80 = 131,
    _SC_ADVISORY_INFO___80 = 132,
    _SC_BARRIERS___80 = 133,
    _SC_BASE___80 = 134,
    _SC_C_LANG_SUPPORT___80 = 135,
    _SC_C_LANG_SUPPORT_R___80 = 136,
    _SC_CLOCK_SELECTION___80 = 137,
    _SC_CPUTIME___80 = 138,
    _SC_THREAD_CPUTIME___80 = 139,
    _SC_DEVICE_IO___80 = 140,
    _SC_DEVICE_SPECIFIC___80 = 141,
    _SC_DEVICE_SPECIFIC_R___80 = 142,
    _SC_FD_MGMT___80 = 143,
    _SC_FIFO___80 = 144,
    _SC_PIPE___80 = 145,
    _SC_FILE_ATTRIBUTES___80 = 146,
    _SC_FILE_LOCKING___80 = 147,
    _SC_FILE_SYSTEM___80 = 148,
    _SC_MONOTONIC_CLOCK___80 = 149,
    _SC_MULTI_PROCESS___80 = 150,
    _SC_SINGLE_PROCESS___80 = 151,
    _SC_NETWORKING___80 = 152,
    _SC_READER_WRITER_LOCKS___80 = 153,
    _SC_SPIN_LOCKS___80 = 154,
    _SC_REGEXP___80 = 155,
    _SC_REGEX_VERSION___80 = 156,
    _SC_SHELL___80 = 157,
    _SC_SIGNALS___80 = 158,
    _SC_SPAWN___80 = 159,
    _SC_SPORADIC_SERVER___80 = 160,
    _SC_THREAD_SPORADIC_SERVER___80 = 161,
    _SC_SYSTEM_DATABASE___80 = 162,
    _SC_SYSTEM_DATABASE_R___80 = 163,
    _SC_TIMEOUTS___80 = 164,
    _SC_TYPED_MEMORY_OBJECTS___80 = 165,
    _SC_USER_GROUPS___80 = 166,
    _SC_USER_GROUPS_R___80 = 167,
    _SC_2_PBS___80 = 168,
    _SC_2_PBS_ACCOUNTING___80 = 169,
    _SC_2_PBS_LOCATE___80 = 170,
    _SC_2_PBS_MESSAGE___80 = 171,
    _SC_2_PBS_TRACK___80 = 172,
    _SC_SYMLOOP_MAX___80 = 173,
    _SC_STREAMS___80 = 174,
    _SC_2_PBS_CHECKPOINT___80 = 175,
    _SC_V6_ILP32_OFF32___80 = 176,
    _SC_V6_ILP32_OFFBIG___80 = 177,
    _SC_V6_LP64_OFF64___80 = 178,
    _SC_V6_LPBIG_OFFBIG___80 = 179,
    _SC_HOST_NAME_MAX___80 = 180,
    _SC_TRACE___80 = 181,
    _SC_TRACE_EVENT_FILTER___80 = 182,
    _SC_TRACE_INHERIT___80 = 183,
    _SC_TRACE_LOG___80 = 184,
    _SC_LEVEL1_ICACHE_SIZE___80 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___80 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___80 = 187,
    _SC_LEVEL1_DCACHE_SIZE___80 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___80 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___80 = 190,
    _SC_LEVEL2_CACHE_SIZE___80 = 191,
    _SC_LEVEL2_CACHE_ASSOC___80 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___80 = 193,
    _SC_LEVEL3_CACHE_SIZE___80 = 194,
    _SC_LEVEL3_CACHE_ASSOC___80 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___80 = 196,
    _SC_LEVEL4_CACHE_SIZE___80 = 197,
    _SC_LEVEL4_CACHE_ASSOC___80 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___80 = 199,
    _SC_IPV6___80 = 235,
    _SC_RAW_SOCKETS___80 = 236,
    _SC_V7_ILP32_OFF32___80 = 237,
    _SC_V7_ILP32_OFFBIG___80 = 238,
    _SC_V7_LP64_OFF64___80 = 239,
    _SC_V7_LPBIG_OFFBIG___80 = 240,
    _SC_SS_REPL_MAX___80 = 241,
    _SC_TRACE_EVENT_NAME_MAX___80 = 242,
    _SC_TRACE_NAME_MAX___80 = 243,
    _SC_TRACE_SYS_MAX___80 = 244,
    _SC_TRACE_USER_EVENT_MAX___80 = 245,
    _SC_XOPEN_STREAMS___80 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___80 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___80 = 248
} ;
enum __anonenum_875524036___80 {
    _CS_PATH___80 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___80 = 1,
    _CS_GNU_LIBC_VERSION___80 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___80 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___80 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___80 = 5,
    _CS_LFS_CFLAGS___80 = 1000,
    _CS_LFS_LDFLAGS___80 = 1001,
    _CS_LFS_LIBS___80 = 1002,
    _CS_LFS_LINTFLAGS___80 = 1003,
    _CS_LFS64_CFLAGS___80 = 1004,
    _CS_LFS64_LDFLAGS___80 = 1005,
    _CS_LFS64_LIBS___80 = 1006,
    _CS_LFS64_LINTFLAGS___80 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___80 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___80 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___80 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___80 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___80 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___80 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___80 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___80 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___80 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___80 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___80 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___80 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___80 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___80 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___80 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___80 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___80 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___80 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___80 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___80 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___80 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___80 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___80 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___80 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___80 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___80 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___80 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___80 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___80 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___80 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___80 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___80 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___80 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___80 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___80 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___80 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___80 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___80 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___80 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___80 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___80 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___80 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___80 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___80 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___80 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___80 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___80 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___80 = 1147,
    _CS_V6_ENV___80 = 1148,
    _CS_V7_ENV___80 = 1149
} ;
enum __anonenum_513775621___80 {
    DT_UNKNOWN___80 = 0,
    DT_FIFO___80 = 1,
    DT_CHR___80 = 2,
    DT_DIR___80 = 4,
    DT_BLK___80 = 6,
    DT_REG___80 = 8,
    DT_LNK___80 = 10,
    DT_SOCK___80 = 12,
    DT_WHT___80 = 14
} ;
enum __anonenum_77002343___80 {
    SI_ASYNCNL___80 = -60,
    SI_TKILL___80 = -6,
    SI_SIGIO___80 = -5,
    SI_ASYNCIO___80 = -4,
    SI_MESGQ___80 = -3,
    SI_TIMER___80 = -2,
    SI_QUEUE___80 = -1,
    SI_USER___80 = 0,
    SI_KERNEL___80 = 128
} ;
enum __anonenum_131038172___80 {
    ILL_ILLOPC___80 = 1,
    ILL_ILLOPN___80 = 2,
    ILL_ILLADR___80 = 3,
    ILL_ILLTRP___80 = 4,
    ILL_PRVOPC___80 = 5,
    ILL_PRVREG___80 = 6,
    ILL_COPROC___80 = 7,
    ILL_BADSTK___80 = 8
} ;
enum __anonenum_452038093___80 {
    FPE_INTDIV___80 = 1,
    FPE_INTOVF___80 = 2,
    FPE_FLTDIV___80 = 3,
    FPE_FLTOVF___80 = 4,
    FPE_FLTUND___80 = 5,
    FPE_FLTRES___80 = 6,
    FPE_FLTINV___80 = 7,
    FPE_FLTSUB___80 = 8
} ;
enum __anonenum_30976155___80 {
    SEGV_MAPERR___80 = 1,
    SEGV_ACCERR___80 = 2,
    SEGV_BNDERR___80 = 3,
    SEGV_PKUERR___80 = 4
} ;
enum __anonenum_1036286214___80 {
    BUS_ADRALN___80 = 1,
    BUS_ADRERR___80 = 2,
    BUS_OBJERR___80 = 3,
    BUS_MCEERR_AR___80 = 4,
    BUS_MCEERR_AO___80 = 5
} ;
enum __anonenum_493465559___80 {
    TRAP_BRKPT___80 = 1,
    TRAP_TRACE___80 = 2
} ;
enum __anonenum_23175539___80 {
    CLD_EXITED___80 = 1,
    CLD_KILLED___80 = 2,
    CLD_DUMPED___80 = 3,
    CLD_TRAPPED___80 = 4,
    CLD_STOPPED___80 = 5,
    CLD_CONTINUED___80 = 6
} ;
enum __anonenum_111643124___80 {
    POLL_IN___80 = 1,
    POLL_OUT___80 = 2,
    POLL_MSG___80 = 3,
    POLL_ERR___80 = 4,
    POLL_PRI___80 = 5,
    POLL_HUP___80 = 6
} ;
enum __anonenum_852341087___80 {
    SIGEV_SIGNAL___80 = 0,
    SIGEV_NONE___80 = 1,
    SIGEV_THREAD___80 = 2,
    SIGEV_THREAD_ID___80 = 4
} ;
enum __anonenum_451154152___80 {
    REG_R8___80 = 0,
    REG_R9___80 = 1,
    REG_R10___80 = 2,
    REG_R11___80 = 3,
    REG_R12___80 = 4,
    REG_R13___80 = 5,
    REG_R14___80 = 6,
    REG_R15___80 = 7,
    REG_RDI___80 = 8,
    REG_RSI___80 = 9,
    REG_RBP___80 = 10,
    REG_RBX___80 = 11,
    REG_RDX___80 = 12,
    REG_RAX___80 = 13,
    REG_RCX___80 = 14,
    REG_RSP___80 = 15,
    REG_RIP___80 = 16,
    REG_EFL___80 = 17,
    REG_CSGSFS___80 = 18,
    REG_ERR___80 = 19,
    REG_TRAPNO___80 = 20,
    REG_OLDMASK___80 = 21,
    REG_CR2___80 = 22
} ;
enum __anonenum_57186863___80 {
    SS_ONSTACK___80 = 1,
    SS_DISABLE___80 = 2
} ;
enum __anonenum_83571709___80 {
    MSG_OOB___80 = 1,
    MSG_PEEK___80 = 2,
    MSG_DONTROUTE___80 = 4,
    MSG_TRYHARD___80 = 4,
    MSG_CTRUNC___80 = 8,
    MSG_PROXY___80 = 16,
    MSG_TRUNC___80 = 32,
    MSG_DONTWAIT___80 = 64,
    MSG_EOR___80 = 128,
    MSG_WAITALL___80 = 256,
    MSG_FIN___80 = 512,
    MSG_SYN___80 = 1024,
    MSG_CONFIRM___80 = 2048,
    MSG_RST___80 = 4096,
    MSG_ERRQUEUE___80 = 8192,
    MSG_NOSIGNAL___80 = 16384,
    MSG_MORE___80 = 32768,
    MSG_WAITFORONE___80 = 65536,
    MSG_BATCH___80 = 262144,
    MSG_ZEROCOPY___80 = 67108864,
    MSG_FASTOPEN___80 = 536870912,
    MSG_CMSG_CLOEXEC___80 = 1073741824
} ;
enum __anonenum_617082774___80 {
    SCM_RIGHTS___80 = 1,
    SCM_CREDENTIALS___80 = 2
} ;
enum __anonenum_606441560___80 {
    SHUT_RD___80 = 0,
    SHUT_WR___80 = 1,
    SHUT_RDWR___80 = 2
} ;
enum __anonenum_681669233___80 {
    IPPROTO_IP___80 = 0,
    IPPROTO_ICMP___80 = 1,
    IPPROTO_IGMP___80 = 2,
    IPPROTO_IPIP___80 = 4,
    IPPROTO_TCP___80 = 6,
    IPPROTO_EGP___80 = 8,
    IPPROTO_PUP___80 = 12,
    IPPROTO_UDP___80 = 17,
    IPPROTO_IDP___80 = 22,
    IPPROTO_TP___80 = 29,
    IPPROTO_DCCP___80 = 33,
    IPPROTO_IPV6___80 = 41,
    IPPROTO_RSVP___80 = 46,
    IPPROTO_GRE___80 = 47,
    IPPROTO_ESP___80 = 50,
    IPPROTO_AH___80 = 51,
    IPPROTO_MTP___80 = 92,
    IPPROTO_BEETPH___80 = 94,
    IPPROTO_ENCAP___80 = 98,
    IPPROTO_PIM___80 = 103,
    IPPROTO_COMP___80 = 108,
    IPPROTO_SCTP___80 = 132,
    IPPROTO_UDPLITE___80 = 136,
    IPPROTO_MPLS___80 = 137,
    IPPROTO_RAW___80 = 255,
    IPPROTO_MAX___80 = 256
} ;
enum __anonenum_218739988___80 {
    IPPROTO_HOPOPTS___80 = 0,
    IPPROTO_ROUTING___80 = 43,
    IPPROTO_FRAGMENT___80 = 44,
    IPPROTO_ICMPV6___80 = 58,
    IPPROTO_NONE___80 = 59,
    IPPROTO_DSTOPTS___80 = 60,
    IPPROTO_MH___80 = 135
} ;
enum __anonenum_662268580___80 {
    IPPORT_ECHO___80 = 7,
    IPPORT_DISCARD___80 = 9,
    IPPORT_SYSTAT___80 = 11,
    IPPORT_DAYTIME___80 = 13,
    IPPORT_NETSTAT___80 = 15,
    IPPORT_FTP___80 = 21,
    IPPORT_TELNET___80 = 23,
    IPPORT_SMTP___80 = 25,
    IPPORT_TIMESERVER___80 = 37,
    IPPORT_NAMESERVER___80 = 42,
    IPPORT_WHOIS___80 = 43,
    IPPORT_MTP___80 = 57,
    IPPORT_TFTP___80 = 69,
    IPPORT_RJE___80 = 77,
    IPPORT_FINGER___80 = 79,
    IPPORT_TTYLINK___80 = 87,
    IPPORT_SUPDUP___80 = 95,
    IPPORT_EXECSERVER___80 = 512,
    IPPORT_LOGINSERVER___80 = 513,
    IPPORT_CMDSERVER___80 = 514,
    IPPORT_EFSSERVER___80 = 520,
    IPPORT_BIFFUDP___80 = 512,
    IPPORT_WHOSERVER___80 = 513,
    IPPORT_ROUTESERVER___80 = 520,
    IPPORT_RESERVED___80 = 1024,
    IPPORT_USERRESERVED___80 = 5000
} ;
enum __anonenum_788308992___80 {
    TCP_ESTABLISHED___80 = 1,
    TCP_SYN_SENT___80 = 2,
    TCP_SYN_RECV___80 = 3,
    TCP_FIN_WAIT1___80 = 4,
    TCP_FIN_WAIT2___80 = 5,
    TCP_TIME_WAIT___80 = 6,
    TCP_CLOSE___80 = 7,
    TCP_CLOSE_WAIT___80 = 8,
    TCP_LAST_ACK___80 = 9,
    TCP_LISTEN___80 = 10,
    TCP_CLOSING___80 = 11
} ;
enum __anonenum_221125648___80 {
    TCP_NO_QUEUE___80 = 0,
    TCP_RECV_QUEUE___80 = 1,
    TCP_SEND_QUEUE___80 = 2,
    TCP_QUEUES_NR___80 = 3
} ;
enum __anonenum_34415463___80 {
    PTHREAD_CREATE_JOINABLE___80 = 0,
    PTHREAD_CREATE_DETACHED___80 = 1
} ;
enum __anonenum_303612439___80 {
    PTHREAD_MUTEX_TIMED_NP___80 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___80 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___80 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___80 = 3,
    PTHREAD_MUTEX_NORMAL___80 = 0,
    PTHREAD_MUTEX_RECURSIVE___80 = 1,
    PTHREAD_MUTEX_ERRORCHECK___80 = 2,
    PTHREAD_MUTEX_DEFAULT___80 = 0,
    PTHREAD_MUTEX_FAST_NP___80 = 0
} ;
enum __anonenum_931900394___80 {
    PTHREAD_MUTEX_STALLED___80 = 0,
    PTHREAD_MUTEX_STALLED_NP___80 = 0,
    PTHREAD_MUTEX_ROBUST___80 = 1,
    PTHREAD_MUTEX_ROBUST_NP___80 = 1
} ;
enum __anonenum_205214487___80 {
    PTHREAD_PRIO_NONE___80 = 0,
    PTHREAD_PRIO_INHERIT___80 = 1,
    PTHREAD_PRIO_PROTECT___80 = 2
} ;
enum __anonenum_25043950___80 {
    PTHREAD_RWLOCK_PREFER_READER_NP___80 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___80 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___80 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___80 = 0
} ;
enum __anonenum_436439511___80 {
    PTHREAD_INHERIT_SCHED___80 = 0,
    PTHREAD_EXPLICIT_SCHED___80 = 1
} ;
enum __anonenum_998661166___80 {
    PTHREAD_SCOPE_SYSTEM___80 = 0,
    PTHREAD_SCOPE_PROCESS___80 = 1
} ;
enum __anonenum_146137331___80 {
    PTHREAD_PROCESS_PRIVATE___80 = 0,
    PTHREAD_PROCESS_SHARED___80 = 1
} ;
enum __anonenum_53396917___80 {
    PTHREAD_CANCEL_ENABLE___80 = 0,
    PTHREAD_CANCEL_DISABLE___80 = 1
} ;
enum __anonenum_904563783___80 {
    PTHREAD_CANCEL_DEFERRED___80 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___80 = 1
} ;
enum __anonenum_672052974___80 {
    SSL_CT_VALIDATION_PERMISSIVE___80 = 0,
    SSL_CT_VALIDATION_STRICT___80 = 1
} ;
enum __anonenum_437032235___81 {
    _PC_LINK_MAX___81 = 0,
    _PC_MAX_CANON___81 = 1,
    _PC_MAX_INPUT___81 = 2,
    _PC_NAME_MAX___81 = 3,
    _PC_PATH_MAX___81 = 4,
    _PC_PIPE_BUF___81 = 5,
    _PC_CHOWN_RESTRICTED___81 = 6,
    _PC_NO_TRUNC___81 = 7,
    _PC_VDISABLE___81 = 8,
    _PC_SYNC_IO___81 = 9,
    _PC_ASYNC_IO___81 = 10,
    _PC_PRIO_IO___81 = 11,
    _PC_SOCK_MAXBUF___81 = 12,
    _PC_FILESIZEBITS___81 = 13,
    _PC_REC_INCR_XFER_SIZE___81 = 14,
    _PC_REC_MAX_XFER_SIZE___81 = 15,
    _PC_REC_MIN_XFER_SIZE___81 = 16,
    _PC_REC_XFER_ALIGN___81 = 17,
    _PC_ALLOC_SIZE_MIN___81 = 18,
    _PC_SYMLINK_MAX___81 = 19,
    _PC_2_SYMLINKS___81 = 20
} ;
enum __anonenum_315186338___81 {
    _SC_ARG_MAX___81 = 0,
    _SC_CHILD_MAX___81 = 1,
    _SC_CLK_TCK___81 = 2,
    _SC_NGROUPS_MAX___81 = 3,
    _SC_OPEN_MAX___81 = 4,
    _SC_STREAM_MAX___81 = 5,
    _SC_TZNAME_MAX___81 = 6,
    _SC_JOB_CONTROL___81 = 7,
    _SC_SAVED_IDS___81 = 8,
    _SC_REALTIME_SIGNALS___81 = 9,
    _SC_PRIORITY_SCHEDULING___81 = 10,
    _SC_TIMERS___81 = 11,
    _SC_ASYNCHRONOUS_IO___81 = 12,
    _SC_PRIORITIZED_IO___81 = 13,
    _SC_SYNCHRONIZED_IO___81 = 14,
    _SC_FSYNC___81 = 15,
    _SC_MAPPED_FILES___81 = 16,
    _SC_MEMLOCK___81 = 17,
    _SC_MEMLOCK_RANGE___81 = 18,
    _SC_MEMORY_PROTECTION___81 = 19,
    _SC_MESSAGE_PASSING___81 = 20,
    _SC_SEMAPHORES___81 = 21,
    _SC_SHARED_MEMORY_OBJECTS___81 = 22,
    _SC_AIO_LISTIO_MAX___81 = 23,
    _SC_AIO_MAX___81 = 24,
    _SC_AIO_PRIO_DELTA_MAX___81 = 25,
    _SC_DELAYTIMER_MAX___81 = 26,
    _SC_MQ_OPEN_MAX___81 = 27,
    _SC_MQ_PRIO_MAX___81 = 28,
    _SC_VERSION___81 = 29,
    _SC_PAGESIZE___81 = 30,
    _SC_RTSIG_MAX___81 = 31,
    _SC_SEM_NSEMS_MAX___81 = 32,
    _SC_SEM_VALUE_MAX___81 = 33,
    _SC_SIGQUEUE_MAX___81 = 34,
    _SC_TIMER_MAX___81 = 35,
    _SC_BC_BASE_MAX___81 = 36,
    _SC_BC_DIM_MAX___81 = 37,
    _SC_BC_SCALE_MAX___81 = 38,
    _SC_BC_STRING_MAX___81 = 39,
    _SC_COLL_WEIGHTS_MAX___81 = 40,
    _SC_EQUIV_CLASS_MAX___81 = 41,
    _SC_EXPR_NEST_MAX___81 = 42,
    _SC_LINE_MAX___81 = 43,
    _SC_RE_DUP_MAX___81 = 44,
    _SC_CHARCLASS_NAME_MAX___81 = 45,
    _SC_2_VERSION___81 = 46,
    _SC_2_C_BIND___81 = 47,
    _SC_2_C_DEV___81 = 48,
    _SC_2_FORT_DEV___81 = 49,
    _SC_2_FORT_RUN___81 = 50,
    _SC_2_SW_DEV___81 = 51,
    _SC_2_LOCALEDEF___81 = 52,
    _SC_PII___81 = 53,
    _SC_PII_XTI___81 = 54,
    _SC_PII_SOCKET___81 = 55,
    _SC_PII_INTERNET___81 = 56,
    _SC_PII_OSI___81 = 57,
    _SC_POLL___81 = 58,
    _SC_SELECT___81 = 59,
    _SC_UIO_MAXIOV___81 = 60,
    _SC_IOV_MAX___81 = 60,
    _SC_PII_INTERNET_STREAM___81 = 61,
    _SC_PII_INTERNET_DGRAM___81 = 62,
    _SC_PII_OSI_COTS___81 = 63,
    _SC_PII_OSI_CLTS___81 = 64,
    _SC_PII_OSI_M___81 = 65,
    _SC_T_IOV_MAX___81 = 66,
    _SC_THREADS___81 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___81 = 68,
    _SC_GETGR_R_SIZE_MAX___81 = 69,
    _SC_GETPW_R_SIZE_MAX___81 = 70,
    _SC_LOGIN_NAME_MAX___81 = 71,
    _SC_TTY_NAME_MAX___81 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___81 = 73,
    _SC_THREAD_KEYS_MAX___81 = 74,
    _SC_THREAD_STACK_MIN___81 = 75,
    _SC_THREAD_THREADS_MAX___81 = 76,
    _SC_THREAD_ATTR_STACKADDR___81 = 77,
    _SC_THREAD_ATTR_STACKSIZE___81 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___81 = 79,
    _SC_THREAD_PRIO_INHERIT___81 = 80,
    _SC_THREAD_PRIO_PROTECT___81 = 81,
    _SC_THREAD_PROCESS_SHARED___81 = 82,
    _SC_NPROCESSORS_CONF___81 = 83,
    _SC_NPROCESSORS_ONLN___81 = 84,
    _SC_PHYS_PAGES___81 = 85,
    _SC_AVPHYS_PAGES___81 = 86,
    _SC_ATEXIT_MAX___81 = 87,
    _SC_PASS_MAX___81 = 88,
    _SC_XOPEN_VERSION___81 = 89,
    _SC_XOPEN_XCU_VERSION___81 = 90,
    _SC_XOPEN_UNIX___81 = 91,
    _SC_XOPEN_CRYPT___81 = 92,
    _SC_XOPEN_ENH_I18N___81 = 93,
    _SC_XOPEN_SHM___81 = 94,
    _SC_2_CHAR_TERM___81 = 95,
    _SC_2_C_VERSION___81 = 96,
    _SC_2_UPE___81 = 97,
    _SC_XOPEN_XPG2___81 = 98,
    _SC_XOPEN_XPG3___81 = 99,
    _SC_XOPEN_XPG4___81 = 100,
    _SC_CHAR_BIT___81 = 101,
    _SC_CHAR_MAX___81 = 102,
    _SC_CHAR_MIN___81 = 103,
    _SC_INT_MAX___81 = 104,
    _SC_INT_MIN___81 = 105,
    _SC_LONG_BIT___81 = 106,
    _SC_WORD_BIT___81 = 107,
    _SC_MB_LEN_MAX___81 = 108,
    _SC_NZERO___81 = 109,
    _SC_SSIZE_MAX___81 = 110,
    _SC_SCHAR_MAX___81 = 111,
    _SC_SCHAR_MIN___81 = 112,
    _SC_SHRT_MAX___81 = 113,
    _SC_SHRT_MIN___81 = 114,
    _SC_UCHAR_MAX___81 = 115,
    _SC_UINT_MAX___81 = 116,
    _SC_ULONG_MAX___81 = 117,
    _SC_USHRT_MAX___81 = 118,
    _SC_NL_ARGMAX___81 = 119,
    _SC_NL_LANGMAX___81 = 120,
    _SC_NL_MSGMAX___81 = 121,
    _SC_NL_NMAX___81 = 122,
    _SC_NL_SETMAX___81 = 123,
    _SC_NL_TEXTMAX___81 = 124,
    _SC_XBS5_ILP32_OFF32___81 = 125,
    _SC_XBS5_ILP32_OFFBIG___81 = 126,
    _SC_XBS5_LP64_OFF64___81 = 127,
    _SC_XBS5_LPBIG_OFFBIG___81 = 128,
    _SC_XOPEN_LEGACY___81 = 129,
    _SC_XOPEN_REALTIME___81 = 130,
    _SC_XOPEN_REALTIME_THREADS___81 = 131,
    _SC_ADVISORY_INFO___81 = 132,
    _SC_BARRIERS___81 = 133,
    _SC_BASE___81 = 134,
    _SC_C_LANG_SUPPORT___81 = 135,
    _SC_C_LANG_SUPPORT_R___81 = 136,
    _SC_CLOCK_SELECTION___81 = 137,
    _SC_CPUTIME___81 = 138,
    _SC_THREAD_CPUTIME___81 = 139,
    _SC_DEVICE_IO___81 = 140,
    _SC_DEVICE_SPECIFIC___81 = 141,
    _SC_DEVICE_SPECIFIC_R___81 = 142,
    _SC_FD_MGMT___81 = 143,
    _SC_FIFO___81 = 144,
    _SC_PIPE___81 = 145,
    _SC_FILE_ATTRIBUTES___81 = 146,
    _SC_FILE_LOCKING___81 = 147,
    _SC_FILE_SYSTEM___81 = 148,
    _SC_MONOTONIC_CLOCK___81 = 149,
    _SC_MULTI_PROCESS___81 = 150,
    _SC_SINGLE_PROCESS___81 = 151,
    _SC_NETWORKING___81 = 152,
    _SC_READER_WRITER_LOCKS___81 = 153,
    _SC_SPIN_LOCKS___81 = 154,
    _SC_REGEXP___81 = 155,
    _SC_REGEX_VERSION___81 = 156,
    _SC_SHELL___81 = 157,
    _SC_SIGNALS___81 = 158,
    _SC_SPAWN___81 = 159,
    _SC_SPORADIC_SERVER___81 = 160,
    _SC_THREAD_SPORADIC_SERVER___81 = 161,
    _SC_SYSTEM_DATABASE___81 = 162,
    _SC_SYSTEM_DATABASE_R___81 = 163,
    _SC_TIMEOUTS___81 = 164,
    _SC_TYPED_MEMORY_OBJECTS___81 = 165,
    _SC_USER_GROUPS___81 = 166,
    _SC_USER_GROUPS_R___81 = 167,
    _SC_2_PBS___81 = 168,
    _SC_2_PBS_ACCOUNTING___81 = 169,
    _SC_2_PBS_LOCATE___81 = 170,
    _SC_2_PBS_MESSAGE___81 = 171,
    _SC_2_PBS_TRACK___81 = 172,
    _SC_SYMLOOP_MAX___81 = 173,
    _SC_STREAMS___81 = 174,
    _SC_2_PBS_CHECKPOINT___81 = 175,
    _SC_V6_ILP32_OFF32___81 = 176,
    _SC_V6_ILP32_OFFBIG___81 = 177,
    _SC_V6_LP64_OFF64___81 = 178,
    _SC_V6_LPBIG_OFFBIG___81 = 179,
    _SC_HOST_NAME_MAX___81 = 180,
    _SC_TRACE___81 = 181,
    _SC_TRACE_EVENT_FILTER___81 = 182,
    _SC_TRACE_INHERIT___81 = 183,
    _SC_TRACE_LOG___81 = 184,
    _SC_LEVEL1_ICACHE_SIZE___81 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___81 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___81 = 187,
    _SC_LEVEL1_DCACHE_SIZE___81 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___81 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___81 = 190,
    _SC_LEVEL2_CACHE_SIZE___81 = 191,
    _SC_LEVEL2_CACHE_ASSOC___81 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___81 = 193,
    _SC_LEVEL3_CACHE_SIZE___81 = 194,
    _SC_LEVEL3_CACHE_ASSOC___81 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___81 = 196,
    _SC_LEVEL4_CACHE_SIZE___81 = 197,
    _SC_LEVEL4_CACHE_ASSOC___81 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___81 = 199,
    _SC_IPV6___81 = 235,
    _SC_RAW_SOCKETS___81 = 236,
    _SC_V7_ILP32_OFF32___81 = 237,
    _SC_V7_ILP32_OFFBIG___81 = 238,
    _SC_V7_LP64_OFF64___81 = 239,
    _SC_V7_LPBIG_OFFBIG___81 = 240,
    _SC_SS_REPL_MAX___81 = 241,
    _SC_TRACE_EVENT_NAME_MAX___81 = 242,
    _SC_TRACE_NAME_MAX___81 = 243,
    _SC_TRACE_SYS_MAX___81 = 244,
    _SC_TRACE_USER_EVENT_MAX___81 = 245,
    _SC_XOPEN_STREAMS___81 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___81 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___81 = 248
} ;
enum __anonenum_875524036___81 {
    _CS_PATH___81 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___81 = 1,
    _CS_GNU_LIBC_VERSION___81 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___81 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___81 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___81 = 5,
    _CS_LFS_CFLAGS___81 = 1000,
    _CS_LFS_LDFLAGS___81 = 1001,
    _CS_LFS_LIBS___81 = 1002,
    _CS_LFS_LINTFLAGS___81 = 1003,
    _CS_LFS64_CFLAGS___81 = 1004,
    _CS_LFS64_LDFLAGS___81 = 1005,
    _CS_LFS64_LIBS___81 = 1006,
    _CS_LFS64_LINTFLAGS___81 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___81 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___81 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___81 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___81 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___81 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___81 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___81 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___81 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___81 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___81 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___81 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___81 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___81 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___81 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___81 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___81 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___81 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___81 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___81 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___81 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___81 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___81 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___81 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___81 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___81 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___81 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___81 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___81 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___81 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___81 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___81 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___81 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___81 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___81 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___81 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___81 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___81 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___81 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___81 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___81 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___81 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___81 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___81 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___81 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___81 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___81 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___81 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___81 = 1147,
    _CS_V6_ENV___81 = 1148,
    _CS_V7_ENV___81 = 1149
} ;
enum __anonenum_513775621___81 {
    DT_UNKNOWN___81 = 0,
    DT_FIFO___81 = 1,
    DT_CHR___81 = 2,
    DT_DIR___81 = 4,
    DT_BLK___81 = 6,
    DT_REG___81 = 8,
    DT_LNK___81 = 10,
    DT_SOCK___81 = 12,
    DT_WHT___81 = 14
} ;
enum __anonenum_77002343___81 {
    SI_ASYNCNL___81 = -60,
    SI_TKILL___81 = -6,
    SI_SIGIO___81 = -5,
    SI_ASYNCIO___81 = -4,
    SI_MESGQ___81 = -3,
    SI_TIMER___81 = -2,
    SI_QUEUE___81 = -1,
    SI_USER___81 = 0,
    SI_KERNEL___81 = 128
} ;
enum __anonenum_131038172___81 {
    ILL_ILLOPC___81 = 1,
    ILL_ILLOPN___81 = 2,
    ILL_ILLADR___81 = 3,
    ILL_ILLTRP___81 = 4,
    ILL_PRVOPC___81 = 5,
    ILL_PRVREG___81 = 6,
    ILL_COPROC___81 = 7,
    ILL_BADSTK___81 = 8
} ;
enum __anonenum_452038093___81 {
    FPE_INTDIV___81 = 1,
    FPE_INTOVF___81 = 2,
    FPE_FLTDIV___81 = 3,
    FPE_FLTOVF___81 = 4,
    FPE_FLTUND___81 = 5,
    FPE_FLTRES___81 = 6,
    FPE_FLTINV___81 = 7,
    FPE_FLTSUB___81 = 8
} ;
enum __anonenum_30976155___81 {
    SEGV_MAPERR___81 = 1,
    SEGV_ACCERR___81 = 2,
    SEGV_BNDERR___81 = 3,
    SEGV_PKUERR___81 = 4
} ;
enum __anonenum_1036286214___81 {
    BUS_ADRALN___81 = 1,
    BUS_ADRERR___81 = 2,
    BUS_OBJERR___81 = 3,
    BUS_MCEERR_AR___81 = 4,
    BUS_MCEERR_AO___81 = 5
} ;
enum __anonenum_493465559___81 {
    TRAP_BRKPT___81 = 1,
    TRAP_TRACE___81 = 2
} ;
enum __anonenum_23175539___81 {
    CLD_EXITED___81 = 1,
    CLD_KILLED___81 = 2,
    CLD_DUMPED___81 = 3,
    CLD_TRAPPED___81 = 4,
    CLD_STOPPED___81 = 5,
    CLD_CONTINUED___81 = 6
} ;
enum __anonenum_111643124___81 {
    POLL_IN___81 = 1,
    POLL_OUT___81 = 2,
    POLL_MSG___81 = 3,
    POLL_ERR___81 = 4,
    POLL_PRI___81 = 5,
    POLL_HUP___81 = 6
} ;
enum __anonenum_852341087___81 {
    SIGEV_SIGNAL___81 = 0,
    SIGEV_NONE___81 = 1,
    SIGEV_THREAD___81 = 2,
    SIGEV_THREAD_ID___81 = 4
} ;
enum __anonenum_451154152___81 {
    REG_R8___81 = 0,
    REG_R9___81 = 1,
    REG_R10___81 = 2,
    REG_R11___81 = 3,
    REG_R12___81 = 4,
    REG_R13___81 = 5,
    REG_R14___81 = 6,
    REG_R15___81 = 7,
    REG_RDI___81 = 8,
    REG_RSI___81 = 9,
    REG_RBP___81 = 10,
    REG_RBX___81 = 11,
    REG_RDX___81 = 12,
    REG_RAX___81 = 13,
    REG_RCX___81 = 14,
    REG_RSP___81 = 15,
    REG_RIP___81 = 16,
    REG_EFL___81 = 17,
    REG_CSGSFS___81 = 18,
    REG_ERR___81 = 19,
    REG_TRAPNO___81 = 20,
    REG_OLDMASK___81 = 21,
    REG_CR2___81 = 22
} ;
enum __anonenum_57186863___81 {
    SS_ONSTACK___81 = 1,
    SS_DISABLE___81 = 2
} ;
enum __anonenum_83571709___81 {
    MSG_OOB___81 = 1,
    MSG_PEEK___81 = 2,
    MSG_DONTROUTE___81 = 4,
    MSG_TRYHARD___81 = 4,
    MSG_CTRUNC___81 = 8,
    MSG_PROXY___81 = 16,
    MSG_TRUNC___81 = 32,
    MSG_DONTWAIT___81 = 64,
    MSG_EOR___81 = 128,
    MSG_WAITALL___81 = 256,
    MSG_FIN___81 = 512,
    MSG_SYN___81 = 1024,
    MSG_CONFIRM___81 = 2048,
    MSG_RST___81 = 4096,
    MSG_ERRQUEUE___81 = 8192,
    MSG_NOSIGNAL___81 = 16384,
    MSG_MORE___81 = 32768,
    MSG_WAITFORONE___81 = 65536,
    MSG_BATCH___81 = 262144,
    MSG_ZEROCOPY___81 = 67108864,
    MSG_FASTOPEN___81 = 536870912,
    MSG_CMSG_CLOEXEC___81 = 1073741824
} ;
enum __anonenum_617082774___81 {
    SCM_RIGHTS___81 = 1,
    SCM_CREDENTIALS___81 = 2
} ;
enum __anonenum_606441560___81 {
    SHUT_RD___81 = 0,
    SHUT_WR___81 = 1,
    SHUT_RDWR___81 = 2
} ;
enum __anonenum_681669233___81 {
    IPPROTO_IP___81 = 0,
    IPPROTO_ICMP___81 = 1,
    IPPROTO_IGMP___81 = 2,
    IPPROTO_IPIP___81 = 4,
    IPPROTO_TCP___81 = 6,
    IPPROTO_EGP___81 = 8,
    IPPROTO_PUP___81 = 12,
    IPPROTO_UDP___81 = 17,
    IPPROTO_IDP___81 = 22,
    IPPROTO_TP___81 = 29,
    IPPROTO_DCCP___81 = 33,
    IPPROTO_IPV6___81 = 41,
    IPPROTO_RSVP___81 = 46,
    IPPROTO_GRE___81 = 47,
    IPPROTO_ESP___81 = 50,
    IPPROTO_AH___81 = 51,
    IPPROTO_MTP___81 = 92,
    IPPROTO_BEETPH___81 = 94,
    IPPROTO_ENCAP___81 = 98,
    IPPROTO_PIM___81 = 103,
    IPPROTO_COMP___81 = 108,
    IPPROTO_SCTP___81 = 132,
    IPPROTO_UDPLITE___81 = 136,
    IPPROTO_MPLS___81 = 137,
    IPPROTO_RAW___81 = 255,
    IPPROTO_MAX___81 = 256
} ;
enum __anonenum_218739988___81 {
    IPPROTO_HOPOPTS___81 = 0,
    IPPROTO_ROUTING___81 = 43,
    IPPROTO_FRAGMENT___81 = 44,
    IPPROTO_ICMPV6___81 = 58,
    IPPROTO_NONE___81 = 59,
    IPPROTO_DSTOPTS___81 = 60,
    IPPROTO_MH___81 = 135
} ;
enum __anonenum_662268580___81 {
    IPPORT_ECHO___81 = 7,
    IPPORT_DISCARD___81 = 9,
    IPPORT_SYSTAT___81 = 11,
    IPPORT_DAYTIME___81 = 13,
    IPPORT_NETSTAT___81 = 15,
    IPPORT_FTP___81 = 21,
    IPPORT_TELNET___81 = 23,
    IPPORT_SMTP___81 = 25,
    IPPORT_TIMESERVER___81 = 37,
    IPPORT_NAMESERVER___81 = 42,
    IPPORT_WHOIS___81 = 43,
    IPPORT_MTP___81 = 57,
    IPPORT_TFTP___81 = 69,
    IPPORT_RJE___81 = 77,
    IPPORT_FINGER___81 = 79,
    IPPORT_TTYLINK___81 = 87,
    IPPORT_SUPDUP___81 = 95,
    IPPORT_EXECSERVER___81 = 512,
    IPPORT_LOGINSERVER___81 = 513,
    IPPORT_CMDSERVER___81 = 514,
    IPPORT_EFSSERVER___81 = 520,
    IPPORT_BIFFUDP___81 = 512,
    IPPORT_WHOSERVER___81 = 513,
    IPPORT_ROUTESERVER___81 = 520,
    IPPORT_RESERVED___81 = 1024,
    IPPORT_USERRESERVED___81 = 5000
} ;
enum __anonenum_788308992___81 {
    TCP_ESTABLISHED___81 = 1,
    TCP_SYN_SENT___81 = 2,
    TCP_SYN_RECV___81 = 3,
    TCP_FIN_WAIT1___81 = 4,
    TCP_FIN_WAIT2___81 = 5,
    TCP_TIME_WAIT___81 = 6,
    TCP_CLOSE___81 = 7,
    TCP_CLOSE_WAIT___81 = 8,
    TCP_LAST_ACK___81 = 9,
    TCP_LISTEN___81 = 10,
    TCP_CLOSING___81 = 11
} ;
enum __anonenum_221125648___81 {
    TCP_NO_QUEUE___81 = 0,
    TCP_RECV_QUEUE___81 = 1,
    TCP_SEND_QUEUE___81 = 2,
    TCP_QUEUES_NR___81 = 3
} ;
enum __anonenum_34415463___81 {
    PTHREAD_CREATE_JOINABLE___81 = 0,
    PTHREAD_CREATE_DETACHED___81 = 1
} ;
enum __anonenum_303612439___81 {
    PTHREAD_MUTEX_TIMED_NP___81 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___81 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___81 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___81 = 3,
    PTHREAD_MUTEX_NORMAL___81 = 0,
    PTHREAD_MUTEX_RECURSIVE___81 = 1,
    PTHREAD_MUTEX_ERRORCHECK___81 = 2,
    PTHREAD_MUTEX_DEFAULT___81 = 0,
    PTHREAD_MUTEX_FAST_NP___81 = 0
} ;
enum __anonenum_931900394___81 {
    PTHREAD_MUTEX_STALLED___81 = 0,
    PTHREAD_MUTEX_STALLED_NP___81 = 0,
    PTHREAD_MUTEX_ROBUST___81 = 1,
    PTHREAD_MUTEX_ROBUST_NP___81 = 1
} ;
enum __anonenum_205214487___81 {
    PTHREAD_PRIO_NONE___81 = 0,
    PTHREAD_PRIO_INHERIT___81 = 1,
    PTHREAD_PRIO_PROTECT___81 = 2
} ;
enum __anonenum_25043950___81 {
    PTHREAD_RWLOCK_PREFER_READER_NP___81 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___81 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___81 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___81 = 0
} ;
enum __anonenum_436439511___81 {
    PTHREAD_INHERIT_SCHED___81 = 0,
    PTHREAD_EXPLICIT_SCHED___81 = 1
} ;
enum __anonenum_998661166___81 {
    PTHREAD_SCOPE_SYSTEM___81 = 0,
    PTHREAD_SCOPE_PROCESS___81 = 1
} ;
enum __anonenum_146137331___81 {
    PTHREAD_PROCESS_PRIVATE___81 = 0,
    PTHREAD_PROCESS_SHARED___81 = 1
} ;
enum __anonenum_53396917___81 {
    PTHREAD_CANCEL_ENABLE___81 = 0,
    PTHREAD_CANCEL_DISABLE___81 = 1
} ;
enum __anonenum_904563783___81 {
    PTHREAD_CANCEL_DEFERRED___81 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___81 = 1
} ;
enum __anonenum_672052974___81 {
    SSL_CT_VALIDATION_PERMISSIVE___81 = 0,
    SSL_CT_VALIDATION_STRICT___81 = 1
} ;
enum __anonenum_437032235___82 {
    _PC_LINK_MAX___82 = 0,
    _PC_MAX_CANON___82 = 1,
    _PC_MAX_INPUT___82 = 2,
    _PC_NAME_MAX___82 = 3,
    _PC_PATH_MAX___82 = 4,
    _PC_PIPE_BUF___82 = 5,
    _PC_CHOWN_RESTRICTED___82 = 6,
    _PC_NO_TRUNC___82 = 7,
    _PC_VDISABLE___82 = 8,
    _PC_SYNC_IO___82 = 9,
    _PC_ASYNC_IO___82 = 10,
    _PC_PRIO_IO___82 = 11,
    _PC_SOCK_MAXBUF___82 = 12,
    _PC_FILESIZEBITS___82 = 13,
    _PC_REC_INCR_XFER_SIZE___82 = 14,
    _PC_REC_MAX_XFER_SIZE___82 = 15,
    _PC_REC_MIN_XFER_SIZE___82 = 16,
    _PC_REC_XFER_ALIGN___82 = 17,
    _PC_ALLOC_SIZE_MIN___82 = 18,
    _PC_SYMLINK_MAX___82 = 19,
    _PC_2_SYMLINKS___82 = 20
} ;
enum __anonenum_315186338___82 {
    _SC_ARG_MAX___82 = 0,
    _SC_CHILD_MAX___82 = 1,
    _SC_CLK_TCK___82 = 2,
    _SC_NGROUPS_MAX___82 = 3,
    _SC_OPEN_MAX___82 = 4,
    _SC_STREAM_MAX___82 = 5,
    _SC_TZNAME_MAX___82 = 6,
    _SC_JOB_CONTROL___82 = 7,
    _SC_SAVED_IDS___82 = 8,
    _SC_REALTIME_SIGNALS___82 = 9,
    _SC_PRIORITY_SCHEDULING___82 = 10,
    _SC_TIMERS___82 = 11,
    _SC_ASYNCHRONOUS_IO___82 = 12,
    _SC_PRIORITIZED_IO___82 = 13,
    _SC_SYNCHRONIZED_IO___82 = 14,
    _SC_FSYNC___82 = 15,
    _SC_MAPPED_FILES___82 = 16,
    _SC_MEMLOCK___82 = 17,
    _SC_MEMLOCK_RANGE___82 = 18,
    _SC_MEMORY_PROTECTION___82 = 19,
    _SC_MESSAGE_PASSING___82 = 20,
    _SC_SEMAPHORES___82 = 21,
    _SC_SHARED_MEMORY_OBJECTS___82 = 22,
    _SC_AIO_LISTIO_MAX___82 = 23,
    _SC_AIO_MAX___82 = 24,
    _SC_AIO_PRIO_DELTA_MAX___82 = 25,
    _SC_DELAYTIMER_MAX___82 = 26,
    _SC_MQ_OPEN_MAX___82 = 27,
    _SC_MQ_PRIO_MAX___82 = 28,
    _SC_VERSION___82 = 29,
    _SC_PAGESIZE___82 = 30,
    _SC_RTSIG_MAX___82 = 31,
    _SC_SEM_NSEMS_MAX___82 = 32,
    _SC_SEM_VALUE_MAX___82 = 33,
    _SC_SIGQUEUE_MAX___82 = 34,
    _SC_TIMER_MAX___82 = 35,
    _SC_BC_BASE_MAX___82 = 36,
    _SC_BC_DIM_MAX___82 = 37,
    _SC_BC_SCALE_MAX___82 = 38,
    _SC_BC_STRING_MAX___82 = 39,
    _SC_COLL_WEIGHTS_MAX___82 = 40,
    _SC_EQUIV_CLASS_MAX___82 = 41,
    _SC_EXPR_NEST_MAX___82 = 42,
    _SC_LINE_MAX___82 = 43,
    _SC_RE_DUP_MAX___82 = 44,
    _SC_CHARCLASS_NAME_MAX___82 = 45,
    _SC_2_VERSION___82 = 46,
    _SC_2_C_BIND___82 = 47,
    _SC_2_C_DEV___82 = 48,
    _SC_2_FORT_DEV___82 = 49,
    _SC_2_FORT_RUN___82 = 50,
    _SC_2_SW_DEV___82 = 51,
    _SC_2_LOCALEDEF___82 = 52,
    _SC_PII___82 = 53,
    _SC_PII_XTI___82 = 54,
    _SC_PII_SOCKET___82 = 55,
    _SC_PII_INTERNET___82 = 56,
    _SC_PII_OSI___82 = 57,
    _SC_POLL___82 = 58,
    _SC_SELECT___82 = 59,
    _SC_UIO_MAXIOV___82 = 60,
    _SC_IOV_MAX___82 = 60,
    _SC_PII_INTERNET_STREAM___82 = 61,
    _SC_PII_INTERNET_DGRAM___82 = 62,
    _SC_PII_OSI_COTS___82 = 63,
    _SC_PII_OSI_CLTS___82 = 64,
    _SC_PII_OSI_M___82 = 65,
    _SC_T_IOV_MAX___82 = 66,
    _SC_THREADS___82 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___82 = 68,
    _SC_GETGR_R_SIZE_MAX___82 = 69,
    _SC_GETPW_R_SIZE_MAX___82 = 70,
    _SC_LOGIN_NAME_MAX___82 = 71,
    _SC_TTY_NAME_MAX___82 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___82 = 73,
    _SC_THREAD_KEYS_MAX___82 = 74,
    _SC_THREAD_STACK_MIN___82 = 75,
    _SC_THREAD_THREADS_MAX___82 = 76,
    _SC_THREAD_ATTR_STACKADDR___82 = 77,
    _SC_THREAD_ATTR_STACKSIZE___82 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___82 = 79,
    _SC_THREAD_PRIO_INHERIT___82 = 80,
    _SC_THREAD_PRIO_PROTECT___82 = 81,
    _SC_THREAD_PROCESS_SHARED___82 = 82,
    _SC_NPROCESSORS_CONF___82 = 83,
    _SC_NPROCESSORS_ONLN___82 = 84,
    _SC_PHYS_PAGES___82 = 85,
    _SC_AVPHYS_PAGES___82 = 86,
    _SC_ATEXIT_MAX___82 = 87,
    _SC_PASS_MAX___82 = 88,
    _SC_XOPEN_VERSION___82 = 89,
    _SC_XOPEN_XCU_VERSION___82 = 90,
    _SC_XOPEN_UNIX___82 = 91,
    _SC_XOPEN_CRYPT___82 = 92,
    _SC_XOPEN_ENH_I18N___82 = 93,
    _SC_XOPEN_SHM___82 = 94,
    _SC_2_CHAR_TERM___82 = 95,
    _SC_2_C_VERSION___82 = 96,
    _SC_2_UPE___82 = 97,
    _SC_XOPEN_XPG2___82 = 98,
    _SC_XOPEN_XPG3___82 = 99,
    _SC_XOPEN_XPG4___82 = 100,
    _SC_CHAR_BIT___82 = 101,
    _SC_CHAR_MAX___82 = 102,
    _SC_CHAR_MIN___82 = 103,
    _SC_INT_MAX___82 = 104,
    _SC_INT_MIN___82 = 105,
    _SC_LONG_BIT___82 = 106,
    _SC_WORD_BIT___82 = 107,
    _SC_MB_LEN_MAX___82 = 108,
    _SC_NZERO___82 = 109,
    _SC_SSIZE_MAX___82 = 110,
    _SC_SCHAR_MAX___82 = 111,
    _SC_SCHAR_MIN___82 = 112,
    _SC_SHRT_MAX___82 = 113,
    _SC_SHRT_MIN___82 = 114,
    _SC_UCHAR_MAX___82 = 115,
    _SC_UINT_MAX___82 = 116,
    _SC_ULONG_MAX___82 = 117,
    _SC_USHRT_MAX___82 = 118,
    _SC_NL_ARGMAX___82 = 119,
    _SC_NL_LANGMAX___82 = 120,
    _SC_NL_MSGMAX___82 = 121,
    _SC_NL_NMAX___82 = 122,
    _SC_NL_SETMAX___82 = 123,
    _SC_NL_TEXTMAX___82 = 124,
    _SC_XBS5_ILP32_OFF32___82 = 125,
    _SC_XBS5_ILP32_OFFBIG___82 = 126,
    _SC_XBS5_LP64_OFF64___82 = 127,
    _SC_XBS5_LPBIG_OFFBIG___82 = 128,
    _SC_XOPEN_LEGACY___82 = 129,
    _SC_XOPEN_REALTIME___82 = 130,
    _SC_XOPEN_REALTIME_THREADS___82 = 131,
    _SC_ADVISORY_INFO___82 = 132,
    _SC_BARRIERS___82 = 133,
    _SC_BASE___82 = 134,
    _SC_C_LANG_SUPPORT___82 = 135,
    _SC_C_LANG_SUPPORT_R___82 = 136,
    _SC_CLOCK_SELECTION___82 = 137,
    _SC_CPUTIME___82 = 138,
    _SC_THREAD_CPUTIME___82 = 139,
    _SC_DEVICE_IO___82 = 140,
    _SC_DEVICE_SPECIFIC___82 = 141,
    _SC_DEVICE_SPECIFIC_R___82 = 142,
    _SC_FD_MGMT___82 = 143,
    _SC_FIFO___82 = 144,
    _SC_PIPE___82 = 145,
    _SC_FILE_ATTRIBUTES___82 = 146,
    _SC_FILE_LOCKING___82 = 147,
    _SC_FILE_SYSTEM___82 = 148,
    _SC_MONOTONIC_CLOCK___82 = 149,
    _SC_MULTI_PROCESS___82 = 150,
    _SC_SINGLE_PROCESS___82 = 151,
    _SC_NETWORKING___82 = 152,
    _SC_READER_WRITER_LOCKS___82 = 153,
    _SC_SPIN_LOCKS___82 = 154,
    _SC_REGEXP___82 = 155,
    _SC_REGEX_VERSION___82 = 156,
    _SC_SHELL___82 = 157,
    _SC_SIGNALS___82 = 158,
    _SC_SPAWN___82 = 159,
    _SC_SPORADIC_SERVER___82 = 160,
    _SC_THREAD_SPORADIC_SERVER___82 = 161,
    _SC_SYSTEM_DATABASE___82 = 162,
    _SC_SYSTEM_DATABASE_R___82 = 163,
    _SC_TIMEOUTS___82 = 164,
    _SC_TYPED_MEMORY_OBJECTS___82 = 165,
    _SC_USER_GROUPS___82 = 166,
    _SC_USER_GROUPS_R___82 = 167,
    _SC_2_PBS___82 = 168,
    _SC_2_PBS_ACCOUNTING___82 = 169,
    _SC_2_PBS_LOCATE___82 = 170,
    _SC_2_PBS_MESSAGE___82 = 171,
    _SC_2_PBS_TRACK___82 = 172,
    _SC_SYMLOOP_MAX___82 = 173,
    _SC_STREAMS___82 = 174,
    _SC_2_PBS_CHECKPOINT___82 = 175,
    _SC_V6_ILP32_OFF32___82 = 176,
    _SC_V6_ILP32_OFFBIG___82 = 177,
    _SC_V6_LP64_OFF64___82 = 178,
    _SC_V6_LPBIG_OFFBIG___82 = 179,
    _SC_HOST_NAME_MAX___82 = 180,
    _SC_TRACE___82 = 181,
    _SC_TRACE_EVENT_FILTER___82 = 182,
    _SC_TRACE_INHERIT___82 = 183,
    _SC_TRACE_LOG___82 = 184,
    _SC_LEVEL1_ICACHE_SIZE___82 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___82 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___82 = 187,
    _SC_LEVEL1_DCACHE_SIZE___82 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___82 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___82 = 190,
    _SC_LEVEL2_CACHE_SIZE___82 = 191,
    _SC_LEVEL2_CACHE_ASSOC___82 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___82 = 193,
    _SC_LEVEL3_CACHE_SIZE___82 = 194,
    _SC_LEVEL3_CACHE_ASSOC___82 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___82 = 196,
    _SC_LEVEL4_CACHE_SIZE___82 = 197,
    _SC_LEVEL4_CACHE_ASSOC___82 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___82 = 199,
    _SC_IPV6___82 = 235,
    _SC_RAW_SOCKETS___82 = 236,
    _SC_V7_ILP32_OFF32___82 = 237,
    _SC_V7_ILP32_OFFBIG___82 = 238,
    _SC_V7_LP64_OFF64___82 = 239,
    _SC_V7_LPBIG_OFFBIG___82 = 240,
    _SC_SS_REPL_MAX___82 = 241,
    _SC_TRACE_EVENT_NAME_MAX___82 = 242,
    _SC_TRACE_NAME_MAX___82 = 243,
    _SC_TRACE_SYS_MAX___82 = 244,
    _SC_TRACE_USER_EVENT_MAX___82 = 245,
    _SC_XOPEN_STREAMS___82 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___82 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___82 = 248
} ;
enum __anonenum_875524036___82 {
    _CS_PATH___82 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___82 = 1,
    _CS_GNU_LIBC_VERSION___82 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___82 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___82 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___82 = 5,
    _CS_LFS_CFLAGS___82 = 1000,
    _CS_LFS_LDFLAGS___82 = 1001,
    _CS_LFS_LIBS___82 = 1002,
    _CS_LFS_LINTFLAGS___82 = 1003,
    _CS_LFS64_CFLAGS___82 = 1004,
    _CS_LFS64_LDFLAGS___82 = 1005,
    _CS_LFS64_LIBS___82 = 1006,
    _CS_LFS64_LINTFLAGS___82 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___82 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___82 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___82 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___82 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___82 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___82 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___82 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___82 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___82 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___82 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___82 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___82 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___82 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___82 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___82 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___82 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___82 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___82 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___82 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___82 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___82 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___82 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___82 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___82 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___82 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___82 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___82 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___82 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___82 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___82 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___82 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___82 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___82 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___82 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___82 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___82 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___82 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___82 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___82 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___82 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___82 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___82 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___82 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___82 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___82 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___82 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___82 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___82 = 1147,
    _CS_V6_ENV___82 = 1148,
    _CS_V7_ENV___82 = 1149
} ;
enum __anonenum_513775621___82 {
    DT_UNKNOWN___82 = 0,
    DT_FIFO___82 = 1,
    DT_CHR___82 = 2,
    DT_DIR___82 = 4,
    DT_BLK___82 = 6,
    DT_REG___82 = 8,
    DT_LNK___82 = 10,
    DT_SOCK___82 = 12,
    DT_WHT___82 = 14
} ;
enum __anonenum_77002343___82 {
    SI_ASYNCNL___82 = -60,
    SI_TKILL___82 = -6,
    SI_SIGIO___82 = -5,
    SI_ASYNCIO___82 = -4,
    SI_MESGQ___82 = -3,
    SI_TIMER___82 = -2,
    SI_QUEUE___82 = -1,
    SI_USER___82 = 0,
    SI_KERNEL___82 = 128
} ;
enum __anonenum_131038172___82 {
    ILL_ILLOPC___82 = 1,
    ILL_ILLOPN___82 = 2,
    ILL_ILLADR___82 = 3,
    ILL_ILLTRP___82 = 4,
    ILL_PRVOPC___82 = 5,
    ILL_PRVREG___82 = 6,
    ILL_COPROC___82 = 7,
    ILL_BADSTK___82 = 8
} ;
enum __anonenum_452038093___82 {
    FPE_INTDIV___82 = 1,
    FPE_INTOVF___82 = 2,
    FPE_FLTDIV___82 = 3,
    FPE_FLTOVF___82 = 4,
    FPE_FLTUND___82 = 5,
    FPE_FLTRES___82 = 6,
    FPE_FLTINV___82 = 7,
    FPE_FLTSUB___82 = 8
} ;
enum __anonenum_30976155___82 {
    SEGV_MAPERR___82 = 1,
    SEGV_ACCERR___82 = 2,
    SEGV_BNDERR___82 = 3,
    SEGV_PKUERR___82 = 4
} ;
enum __anonenum_1036286214___82 {
    BUS_ADRALN___82 = 1,
    BUS_ADRERR___82 = 2,
    BUS_OBJERR___82 = 3,
    BUS_MCEERR_AR___82 = 4,
    BUS_MCEERR_AO___82 = 5
} ;
enum __anonenum_493465559___82 {
    TRAP_BRKPT___82 = 1,
    TRAP_TRACE___82 = 2
} ;
enum __anonenum_23175539___82 {
    CLD_EXITED___82 = 1,
    CLD_KILLED___82 = 2,
    CLD_DUMPED___82 = 3,
    CLD_TRAPPED___82 = 4,
    CLD_STOPPED___82 = 5,
    CLD_CONTINUED___82 = 6
} ;
enum __anonenum_111643124___82 {
    POLL_IN___82 = 1,
    POLL_OUT___82 = 2,
    POLL_MSG___82 = 3,
    POLL_ERR___82 = 4,
    POLL_PRI___82 = 5,
    POLL_HUP___82 = 6
} ;
enum __anonenum_852341087___82 {
    SIGEV_SIGNAL___82 = 0,
    SIGEV_NONE___82 = 1,
    SIGEV_THREAD___82 = 2,
    SIGEV_THREAD_ID___82 = 4
} ;
enum __anonenum_451154152___82 {
    REG_R8___82 = 0,
    REG_R9___82 = 1,
    REG_R10___82 = 2,
    REG_R11___82 = 3,
    REG_R12___82 = 4,
    REG_R13___82 = 5,
    REG_R14___82 = 6,
    REG_R15___82 = 7,
    REG_RDI___82 = 8,
    REG_RSI___82 = 9,
    REG_RBP___82 = 10,
    REG_RBX___82 = 11,
    REG_RDX___82 = 12,
    REG_RAX___82 = 13,
    REG_RCX___82 = 14,
    REG_RSP___82 = 15,
    REG_RIP___82 = 16,
    REG_EFL___82 = 17,
    REG_CSGSFS___82 = 18,
    REG_ERR___82 = 19,
    REG_TRAPNO___82 = 20,
    REG_OLDMASK___82 = 21,
    REG_CR2___82 = 22
} ;
enum __anonenum_57186863___82 {
    SS_ONSTACK___82 = 1,
    SS_DISABLE___82 = 2
} ;
enum __anonenum_83571709___82 {
    MSG_OOB___82 = 1,
    MSG_PEEK___82 = 2,
    MSG_DONTROUTE___82 = 4,
    MSG_TRYHARD___82 = 4,
    MSG_CTRUNC___82 = 8,
    MSG_PROXY___82 = 16,
    MSG_TRUNC___82 = 32,
    MSG_DONTWAIT___82 = 64,
    MSG_EOR___82 = 128,
    MSG_WAITALL___82 = 256,
    MSG_FIN___82 = 512,
    MSG_SYN___82 = 1024,
    MSG_CONFIRM___82 = 2048,
    MSG_RST___82 = 4096,
    MSG_ERRQUEUE___82 = 8192,
    MSG_NOSIGNAL___82 = 16384,
    MSG_MORE___82 = 32768,
    MSG_WAITFORONE___82 = 65536,
    MSG_BATCH___82 = 262144,
    MSG_ZEROCOPY___82 = 67108864,
    MSG_FASTOPEN___82 = 536870912,
    MSG_CMSG_CLOEXEC___82 = 1073741824
} ;
enum __anonenum_617082774___82 {
    SCM_RIGHTS___82 = 1,
    SCM_CREDENTIALS___82 = 2
} ;
enum __anonenum_606441560___82 {
    SHUT_RD___82 = 0,
    SHUT_WR___82 = 1,
    SHUT_RDWR___82 = 2
} ;
enum __anonenum_681669233___82 {
    IPPROTO_IP___82 = 0,
    IPPROTO_ICMP___82 = 1,
    IPPROTO_IGMP___82 = 2,
    IPPROTO_IPIP___82 = 4,
    IPPROTO_TCP___82 = 6,
    IPPROTO_EGP___82 = 8,
    IPPROTO_PUP___82 = 12,
    IPPROTO_UDP___82 = 17,
    IPPROTO_IDP___82 = 22,
    IPPROTO_TP___82 = 29,
    IPPROTO_DCCP___82 = 33,
    IPPROTO_IPV6___82 = 41,
    IPPROTO_RSVP___82 = 46,
    IPPROTO_GRE___82 = 47,
    IPPROTO_ESP___82 = 50,
    IPPROTO_AH___82 = 51,
    IPPROTO_MTP___82 = 92,
    IPPROTO_BEETPH___82 = 94,
    IPPROTO_ENCAP___82 = 98,
    IPPROTO_PIM___82 = 103,
    IPPROTO_COMP___82 = 108,
    IPPROTO_SCTP___82 = 132,
    IPPROTO_UDPLITE___82 = 136,
    IPPROTO_MPLS___82 = 137,
    IPPROTO_RAW___82 = 255,
    IPPROTO_MAX___82 = 256
} ;
enum __anonenum_218739988___82 {
    IPPROTO_HOPOPTS___82 = 0,
    IPPROTO_ROUTING___82 = 43,
    IPPROTO_FRAGMENT___82 = 44,
    IPPROTO_ICMPV6___82 = 58,
    IPPROTO_NONE___82 = 59,
    IPPROTO_DSTOPTS___82 = 60,
    IPPROTO_MH___82 = 135
} ;
enum __anonenum_662268580___82 {
    IPPORT_ECHO___82 = 7,
    IPPORT_DISCARD___82 = 9,
    IPPORT_SYSTAT___82 = 11,
    IPPORT_DAYTIME___82 = 13,
    IPPORT_NETSTAT___82 = 15,
    IPPORT_FTP___82 = 21,
    IPPORT_TELNET___82 = 23,
    IPPORT_SMTP___82 = 25,
    IPPORT_TIMESERVER___82 = 37,
    IPPORT_NAMESERVER___82 = 42,
    IPPORT_WHOIS___82 = 43,
    IPPORT_MTP___82 = 57,
    IPPORT_TFTP___82 = 69,
    IPPORT_RJE___82 = 77,
    IPPORT_FINGER___82 = 79,
    IPPORT_TTYLINK___82 = 87,
    IPPORT_SUPDUP___82 = 95,
    IPPORT_EXECSERVER___82 = 512,
    IPPORT_LOGINSERVER___82 = 513,
    IPPORT_CMDSERVER___82 = 514,
    IPPORT_EFSSERVER___82 = 520,
    IPPORT_BIFFUDP___82 = 512,
    IPPORT_WHOSERVER___82 = 513,
    IPPORT_ROUTESERVER___82 = 520,
    IPPORT_RESERVED___82 = 1024,
    IPPORT_USERRESERVED___82 = 5000
} ;
enum __anonenum_788308992___82 {
    TCP_ESTABLISHED___82 = 1,
    TCP_SYN_SENT___82 = 2,
    TCP_SYN_RECV___82 = 3,
    TCP_FIN_WAIT1___82 = 4,
    TCP_FIN_WAIT2___82 = 5,
    TCP_TIME_WAIT___82 = 6,
    TCP_CLOSE___82 = 7,
    TCP_CLOSE_WAIT___82 = 8,
    TCP_LAST_ACK___82 = 9,
    TCP_LISTEN___82 = 10,
    TCP_CLOSING___82 = 11
} ;
enum __anonenum_221125648___82 {
    TCP_NO_QUEUE___82 = 0,
    TCP_RECV_QUEUE___82 = 1,
    TCP_SEND_QUEUE___82 = 2,
    TCP_QUEUES_NR___82 = 3
} ;
enum __anonenum_34415463___82 {
    PTHREAD_CREATE_JOINABLE___82 = 0,
    PTHREAD_CREATE_DETACHED___82 = 1
} ;
enum __anonenum_303612439___82 {
    PTHREAD_MUTEX_TIMED_NP___82 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___82 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___82 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___82 = 3,
    PTHREAD_MUTEX_NORMAL___82 = 0,
    PTHREAD_MUTEX_RECURSIVE___82 = 1,
    PTHREAD_MUTEX_ERRORCHECK___82 = 2,
    PTHREAD_MUTEX_DEFAULT___82 = 0,
    PTHREAD_MUTEX_FAST_NP___82 = 0
} ;
enum __anonenum_931900394___82 {
    PTHREAD_MUTEX_STALLED___82 = 0,
    PTHREAD_MUTEX_STALLED_NP___82 = 0,
    PTHREAD_MUTEX_ROBUST___82 = 1,
    PTHREAD_MUTEX_ROBUST_NP___82 = 1
} ;
enum __anonenum_205214487___82 {
    PTHREAD_PRIO_NONE___82 = 0,
    PTHREAD_PRIO_INHERIT___82 = 1,
    PTHREAD_PRIO_PROTECT___82 = 2
} ;
enum __anonenum_25043950___82 {
    PTHREAD_RWLOCK_PREFER_READER_NP___82 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___82 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___82 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___82 = 0
} ;
enum __anonenum_436439511___82 {
    PTHREAD_INHERIT_SCHED___82 = 0,
    PTHREAD_EXPLICIT_SCHED___82 = 1
} ;
enum __anonenum_998661166___82 {
    PTHREAD_SCOPE_SYSTEM___82 = 0,
    PTHREAD_SCOPE_PROCESS___82 = 1
} ;
enum __anonenum_146137331___82 {
    PTHREAD_PROCESS_PRIVATE___82 = 0,
    PTHREAD_PROCESS_SHARED___82 = 1
} ;
enum __anonenum_53396917___82 {
    PTHREAD_CANCEL_ENABLE___82 = 0,
    PTHREAD_CANCEL_DISABLE___82 = 1
} ;
enum __anonenum_904563783___82 {
    PTHREAD_CANCEL_DEFERRED___82 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___82 = 1
} ;
enum __anonenum_672052974___82 {
    SSL_CT_VALIDATION_PERMISSIVE___82 = 0,
    SSL_CT_VALIDATION_STRICT___82 = 1
} ;
enum __anonenum_437032235___83 {
    _PC_LINK_MAX___83 = 0,
    _PC_MAX_CANON___83 = 1,
    _PC_MAX_INPUT___83 = 2,
    _PC_NAME_MAX___83 = 3,
    _PC_PATH_MAX___83 = 4,
    _PC_PIPE_BUF___83 = 5,
    _PC_CHOWN_RESTRICTED___83 = 6,
    _PC_NO_TRUNC___83 = 7,
    _PC_VDISABLE___83 = 8,
    _PC_SYNC_IO___83 = 9,
    _PC_ASYNC_IO___83 = 10,
    _PC_PRIO_IO___83 = 11,
    _PC_SOCK_MAXBUF___83 = 12,
    _PC_FILESIZEBITS___83 = 13,
    _PC_REC_INCR_XFER_SIZE___83 = 14,
    _PC_REC_MAX_XFER_SIZE___83 = 15,
    _PC_REC_MIN_XFER_SIZE___83 = 16,
    _PC_REC_XFER_ALIGN___83 = 17,
    _PC_ALLOC_SIZE_MIN___83 = 18,
    _PC_SYMLINK_MAX___83 = 19,
    _PC_2_SYMLINKS___83 = 20
} ;
enum __anonenum_315186338___83 {
    _SC_ARG_MAX___83 = 0,
    _SC_CHILD_MAX___83 = 1,
    _SC_CLK_TCK___83 = 2,
    _SC_NGROUPS_MAX___83 = 3,
    _SC_OPEN_MAX___83 = 4,
    _SC_STREAM_MAX___83 = 5,
    _SC_TZNAME_MAX___83 = 6,
    _SC_JOB_CONTROL___83 = 7,
    _SC_SAVED_IDS___83 = 8,
    _SC_REALTIME_SIGNALS___83 = 9,
    _SC_PRIORITY_SCHEDULING___83 = 10,
    _SC_TIMERS___83 = 11,
    _SC_ASYNCHRONOUS_IO___83 = 12,
    _SC_PRIORITIZED_IO___83 = 13,
    _SC_SYNCHRONIZED_IO___83 = 14,
    _SC_FSYNC___83 = 15,
    _SC_MAPPED_FILES___83 = 16,
    _SC_MEMLOCK___83 = 17,
    _SC_MEMLOCK_RANGE___83 = 18,
    _SC_MEMORY_PROTECTION___83 = 19,
    _SC_MESSAGE_PASSING___83 = 20,
    _SC_SEMAPHORES___83 = 21,
    _SC_SHARED_MEMORY_OBJECTS___83 = 22,
    _SC_AIO_LISTIO_MAX___83 = 23,
    _SC_AIO_MAX___83 = 24,
    _SC_AIO_PRIO_DELTA_MAX___83 = 25,
    _SC_DELAYTIMER_MAX___83 = 26,
    _SC_MQ_OPEN_MAX___83 = 27,
    _SC_MQ_PRIO_MAX___83 = 28,
    _SC_VERSION___83 = 29,
    _SC_PAGESIZE___83 = 30,
    _SC_RTSIG_MAX___83 = 31,
    _SC_SEM_NSEMS_MAX___83 = 32,
    _SC_SEM_VALUE_MAX___83 = 33,
    _SC_SIGQUEUE_MAX___83 = 34,
    _SC_TIMER_MAX___83 = 35,
    _SC_BC_BASE_MAX___83 = 36,
    _SC_BC_DIM_MAX___83 = 37,
    _SC_BC_SCALE_MAX___83 = 38,
    _SC_BC_STRING_MAX___83 = 39,
    _SC_COLL_WEIGHTS_MAX___83 = 40,
    _SC_EQUIV_CLASS_MAX___83 = 41,
    _SC_EXPR_NEST_MAX___83 = 42,
    _SC_LINE_MAX___83 = 43,
    _SC_RE_DUP_MAX___83 = 44,
    _SC_CHARCLASS_NAME_MAX___83 = 45,
    _SC_2_VERSION___83 = 46,
    _SC_2_C_BIND___83 = 47,
    _SC_2_C_DEV___83 = 48,
    _SC_2_FORT_DEV___83 = 49,
    _SC_2_FORT_RUN___83 = 50,
    _SC_2_SW_DEV___83 = 51,
    _SC_2_LOCALEDEF___83 = 52,
    _SC_PII___83 = 53,
    _SC_PII_XTI___83 = 54,
    _SC_PII_SOCKET___83 = 55,
    _SC_PII_INTERNET___83 = 56,
    _SC_PII_OSI___83 = 57,
    _SC_POLL___83 = 58,
    _SC_SELECT___83 = 59,
    _SC_UIO_MAXIOV___83 = 60,
    _SC_IOV_MAX___83 = 60,
    _SC_PII_INTERNET_STREAM___83 = 61,
    _SC_PII_INTERNET_DGRAM___83 = 62,
    _SC_PII_OSI_COTS___83 = 63,
    _SC_PII_OSI_CLTS___83 = 64,
    _SC_PII_OSI_M___83 = 65,
    _SC_T_IOV_MAX___83 = 66,
    _SC_THREADS___83 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___83 = 68,
    _SC_GETGR_R_SIZE_MAX___83 = 69,
    _SC_GETPW_R_SIZE_MAX___83 = 70,
    _SC_LOGIN_NAME_MAX___83 = 71,
    _SC_TTY_NAME_MAX___83 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___83 = 73,
    _SC_THREAD_KEYS_MAX___83 = 74,
    _SC_THREAD_STACK_MIN___83 = 75,
    _SC_THREAD_THREADS_MAX___83 = 76,
    _SC_THREAD_ATTR_STACKADDR___83 = 77,
    _SC_THREAD_ATTR_STACKSIZE___83 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___83 = 79,
    _SC_THREAD_PRIO_INHERIT___83 = 80,
    _SC_THREAD_PRIO_PROTECT___83 = 81,
    _SC_THREAD_PROCESS_SHARED___83 = 82,
    _SC_NPROCESSORS_CONF___83 = 83,
    _SC_NPROCESSORS_ONLN___83 = 84,
    _SC_PHYS_PAGES___83 = 85,
    _SC_AVPHYS_PAGES___83 = 86,
    _SC_ATEXIT_MAX___83 = 87,
    _SC_PASS_MAX___83 = 88,
    _SC_XOPEN_VERSION___83 = 89,
    _SC_XOPEN_XCU_VERSION___83 = 90,
    _SC_XOPEN_UNIX___83 = 91,
    _SC_XOPEN_CRYPT___83 = 92,
    _SC_XOPEN_ENH_I18N___83 = 93,
    _SC_XOPEN_SHM___83 = 94,
    _SC_2_CHAR_TERM___83 = 95,
    _SC_2_C_VERSION___83 = 96,
    _SC_2_UPE___83 = 97,
    _SC_XOPEN_XPG2___83 = 98,
    _SC_XOPEN_XPG3___83 = 99,
    _SC_XOPEN_XPG4___83 = 100,
    _SC_CHAR_BIT___83 = 101,
    _SC_CHAR_MAX___83 = 102,
    _SC_CHAR_MIN___83 = 103,
    _SC_INT_MAX___83 = 104,
    _SC_INT_MIN___83 = 105,
    _SC_LONG_BIT___83 = 106,
    _SC_WORD_BIT___83 = 107,
    _SC_MB_LEN_MAX___83 = 108,
    _SC_NZERO___83 = 109,
    _SC_SSIZE_MAX___83 = 110,
    _SC_SCHAR_MAX___83 = 111,
    _SC_SCHAR_MIN___83 = 112,
    _SC_SHRT_MAX___83 = 113,
    _SC_SHRT_MIN___83 = 114,
    _SC_UCHAR_MAX___83 = 115,
    _SC_UINT_MAX___83 = 116,
    _SC_ULONG_MAX___83 = 117,
    _SC_USHRT_MAX___83 = 118,
    _SC_NL_ARGMAX___83 = 119,
    _SC_NL_LANGMAX___83 = 120,
    _SC_NL_MSGMAX___83 = 121,
    _SC_NL_NMAX___83 = 122,
    _SC_NL_SETMAX___83 = 123,
    _SC_NL_TEXTMAX___83 = 124,
    _SC_XBS5_ILP32_OFF32___83 = 125,
    _SC_XBS5_ILP32_OFFBIG___83 = 126,
    _SC_XBS5_LP64_OFF64___83 = 127,
    _SC_XBS5_LPBIG_OFFBIG___83 = 128,
    _SC_XOPEN_LEGACY___83 = 129,
    _SC_XOPEN_REALTIME___83 = 130,
    _SC_XOPEN_REALTIME_THREADS___83 = 131,
    _SC_ADVISORY_INFO___83 = 132,
    _SC_BARRIERS___83 = 133,
    _SC_BASE___83 = 134,
    _SC_C_LANG_SUPPORT___83 = 135,
    _SC_C_LANG_SUPPORT_R___83 = 136,
    _SC_CLOCK_SELECTION___83 = 137,
    _SC_CPUTIME___83 = 138,
    _SC_THREAD_CPUTIME___83 = 139,
    _SC_DEVICE_IO___83 = 140,
    _SC_DEVICE_SPECIFIC___83 = 141,
    _SC_DEVICE_SPECIFIC_R___83 = 142,
    _SC_FD_MGMT___83 = 143,
    _SC_FIFO___83 = 144,
    _SC_PIPE___83 = 145,
    _SC_FILE_ATTRIBUTES___83 = 146,
    _SC_FILE_LOCKING___83 = 147,
    _SC_FILE_SYSTEM___83 = 148,
    _SC_MONOTONIC_CLOCK___83 = 149,
    _SC_MULTI_PROCESS___83 = 150,
    _SC_SINGLE_PROCESS___83 = 151,
    _SC_NETWORKING___83 = 152,
    _SC_READER_WRITER_LOCKS___83 = 153,
    _SC_SPIN_LOCKS___83 = 154,
    _SC_REGEXP___83 = 155,
    _SC_REGEX_VERSION___83 = 156,
    _SC_SHELL___83 = 157,
    _SC_SIGNALS___83 = 158,
    _SC_SPAWN___83 = 159,
    _SC_SPORADIC_SERVER___83 = 160,
    _SC_THREAD_SPORADIC_SERVER___83 = 161,
    _SC_SYSTEM_DATABASE___83 = 162,
    _SC_SYSTEM_DATABASE_R___83 = 163,
    _SC_TIMEOUTS___83 = 164,
    _SC_TYPED_MEMORY_OBJECTS___83 = 165,
    _SC_USER_GROUPS___83 = 166,
    _SC_USER_GROUPS_R___83 = 167,
    _SC_2_PBS___83 = 168,
    _SC_2_PBS_ACCOUNTING___83 = 169,
    _SC_2_PBS_LOCATE___83 = 170,
    _SC_2_PBS_MESSAGE___83 = 171,
    _SC_2_PBS_TRACK___83 = 172,
    _SC_SYMLOOP_MAX___83 = 173,
    _SC_STREAMS___83 = 174,
    _SC_2_PBS_CHECKPOINT___83 = 175,
    _SC_V6_ILP32_OFF32___83 = 176,
    _SC_V6_ILP32_OFFBIG___83 = 177,
    _SC_V6_LP64_OFF64___83 = 178,
    _SC_V6_LPBIG_OFFBIG___83 = 179,
    _SC_HOST_NAME_MAX___83 = 180,
    _SC_TRACE___83 = 181,
    _SC_TRACE_EVENT_FILTER___83 = 182,
    _SC_TRACE_INHERIT___83 = 183,
    _SC_TRACE_LOG___83 = 184,
    _SC_LEVEL1_ICACHE_SIZE___83 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___83 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___83 = 187,
    _SC_LEVEL1_DCACHE_SIZE___83 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___83 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___83 = 190,
    _SC_LEVEL2_CACHE_SIZE___83 = 191,
    _SC_LEVEL2_CACHE_ASSOC___83 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___83 = 193,
    _SC_LEVEL3_CACHE_SIZE___83 = 194,
    _SC_LEVEL3_CACHE_ASSOC___83 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___83 = 196,
    _SC_LEVEL4_CACHE_SIZE___83 = 197,
    _SC_LEVEL4_CACHE_ASSOC___83 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___83 = 199,
    _SC_IPV6___83 = 235,
    _SC_RAW_SOCKETS___83 = 236,
    _SC_V7_ILP32_OFF32___83 = 237,
    _SC_V7_ILP32_OFFBIG___83 = 238,
    _SC_V7_LP64_OFF64___83 = 239,
    _SC_V7_LPBIG_OFFBIG___83 = 240,
    _SC_SS_REPL_MAX___83 = 241,
    _SC_TRACE_EVENT_NAME_MAX___83 = 242,
    _SC_TRACE_NAME_MAX___83 = 243,
    _SC_TRACE_SYS_MAX___83 = 244,
    _SC_TRACE_USER_EVENT_MAX___83 = 245,
    _SC_XOPEN_STREAMS___83 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___83 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___83 = 248
} ;
enum __anonenum_875524036___83 {
    _CS_PATH___83 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___83 = 1,
    _CS_GNU_LIBC_VERSION___83 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___83 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___83 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___83 = 5,
    _CS_LFS_CFLAGS___83 = 1000,
    _CS_LFS_LDFLAGS___83 = 1001,
    _CS_LFS_LIBS___83 = 1002,
    _CS_LFS_LINTFLAGS___83 = 1003,
    _CS_LFS64_CFLAGS___83 = 1004,
    _CS_LFS64_LDFLAGS___83 = 1005,
    _CS_LFS64_LIBS___83 = 1006,
    _CS_LFS64_LINTFLAGS___83 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___83 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___83 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___83 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___83 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___83 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___83 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___83 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___83 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___83 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___83 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___83 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___83 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___83 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___83 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___83 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___83 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___83 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___83 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___83 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___83 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___83 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___83 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___83 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___83 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___83 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___83 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___83 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___83 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___83 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___83 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___83 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___83 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___83 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___83 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___83 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___83 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___83 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___83 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___83 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___83 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___83 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___83 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___83 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___83 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___83 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___83 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___83 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___83 = 1147,
    _CS_V6_ENV___83 = 1148,
    _CS_V7_ENV___83 = 1149
} ;
enum __anonenum_513775621___83 {
    DT_UNKNOWN___83 = 0,
    DT_FIFO___83 = 1,
    DT_CHR___83 = 2,
    DT_DIR___83 = 4,
    DT_BLK___83 = 6,
    DT_REG___83 = 8,
    DT_LNK___83 = 10,
    DT_SOCK___83 = 12,
    DT_WHT___83 = 14
} ;
enum __anonenum_77002343___83 {
    SI_ASYNCNL___83 = -60,
    SI_TKILL___83 = -6,
    SI_SIGIO___83 = -5,
    SI_ASYNCIO___83 = -4,
    SI_MESGQ___83 = -3,
    SI_TIMER___83 = -2,
    SI_QUEUE___83 = -1,
    SI_USER___83 = 0,
    SI_KERNEL___83 = 128
} ;
enum __anonenum_131038172___83 {
    ILL_ILLOPC___83 = 1,
    ILL_ILLOPN___83 = 2,
    ILL_ILLADR___83 = 3,
    ILL_ILLTRP___83 = 4,
    ILL_PRVOPC___83 = 5,
    ILL_PRVREG___83 = 6,
    ILL_COPROC___83 = 7,
    ILL_BADSTK___83 = 8
} ;
enum __anonenum_452038093___83 {
    FPE_INTDIV___83 = 1,
    FPE_INTOVF___83 = 2,
    FPE_FLTDIV___83 = 3,
    FPE_FLTOVF___83 = 4,
    FPE_FLTUND___83 = 5,
    FPE_FLTRES___83 = 6,
    FPE_FLTINV___83 = 7,
    FPE_FLTSUB___83 = 8
} ;
enum __anonenum_30976155___83 {
    SEGV_MAPERR___83 = 1,
    SEGV_ACCERR___83 = 2,
    SEGV_BNDERR___83 = 3,
    SEGV_PKUERR___83 = 4
} ;
enum __anonenum_1036286214___83 {
    BUS_ADRALN___83 = 1,
    BUS_ADRERR___83 = 2,
    BUS_OBJERR___83 = 3,
    BUS_MCEERR_AR___83 = 4,
    BUS_MCEERR_AO___83 = 5
} ;
enum __anonenum_493465559___83 {
    TRAP_BRKPT___83 = 1,
    TRAP_TRACE___83 = 2
} ;
enum __anonenum_23175539___83 {
    CLD_EXITED___83 = 1,
    CLD_KILLED___83 = 2,
    CLD_DUMPED___83 = 3,
    CLD_TRAPPED___83 = 4,
    CLD_STOPPED___83 = 5,
    CLD_CONTINUED___83 = 6
} ;
enum __anonenum_111643124___83 {
    POLL_IN___83 = 1,
    POLL_OUT___83 = 2,
    POLL_MSG___83 = 3,
    POLL_ERR___83 = 4,
    POLL_PRI___83 = 5,
    POLL_HUP___83 = 6
} ;
enum __anonenum_852341087___83 {
    SIGEV_SIGNAL___83 = 0,
    SIGEV_NONE___83 = 1,
    SIGEV_THREAD___83 = 2,
    SIGEV_THREAD_ID___83 = 4
} ;
enum __anonenum_451154152___83 {
    REG_R8___83 = 0,
    REG_R9___83 = 1,
    REG_R10___83 = 2,
    REG_R11___83 = 3,
    REG_R12___83 = 4,
    REG_R13___83 = 5,
    REG_R14___83 = 6,
    REG_R15___83 = 7,
    REG_RDI___83 = 8,
    REG_RSI___83 = 9,
    REG_RBP___83 = 10,
    REG_RBX___83 = 11,
    REG_RDX___83 = 12,
    REG_RAX___83 = 13,
    REG_RCX___83 = 14,
    REG_RSP___83 = 15,
    REG_RIP___83 = 16,
    REG_EFL___83 = 17,
    REG_CSGSFS___83 = 18,
    REG_ERR___83 = 19,
    REG_TRAPNO___83 = 20,
    REG_OLDMASK___83 = 21,
    REG_CR2___83 = 22
} ;
enum __anonenum_57186863___83 {
    SS_ONSTACK___83 = 1,
    SS_DISABLE___83 = 2
} ;
enum __anonenum_83571709___83 {
    MSG_OOB___83 = 1,
    MSG_PEEK___83 = 2,
    MSG_DONTROUTE___83 = 4,
    MSG_TRYHARD___83 = 4,
    MSG_CTRUNC___83 = 8,
    MSG_PROXY___83 = 16,
    MSG_TRUNC___83 = 32,
    MSG_DONTWAIT___83 = 64,
    MSG_EOR___83 = 128,
    MSG_WAITALL___83 = 256,
    MSG_FIN___83 = 512,
    MSG_SYN___83 = 1024,
    MSG_CONFIRM___83 = 2048,
    MSG_RST___83 = 4096,
    MSG_ERRQUEUE___83 = 8192,
    MSG_NOSIGNAL___83 = 16384,
    MSG_MORE___83 = 32768,
    MSG_WAITFORONE___83 = 65536,
    MSG_BATCH___83 = 262144,
    MSG_ZEROCOPY___83 = 67108864,
    MSG_FASTOPEN___83 = 536870912,
    MSG_CMSG_CLOEXEC___83 = 1073741824
} ;
enum __anonenum_617082774___83 {
    SCM_RIGHTS___83 = 1,
    SCM_CREDENTIALS___83 = 2
} ;
enum __anonenum_606441560___83 {
    SHUT_RD___83 = 0,
    SHUT_WR___83 = 1,
    SHUT_RDWR___83 = 2
} ;
enum __anonenum_681669233___83 {
    IPPROTO_IP___83 = 0,
    IPPROTO_ICMP___83 = 1,
    IPPROTO_IGMP___83 = 2,
    IPPROTO_IPIP___83 = 4,
    IPPROTO_TCP___83 = 6,
    IPPROTO_EGP___83 = 8,
    IPPROTO_PUP___83 = 12,
    IPPROTO_UDP___83 = 17,
    IPPROTO_IDP___83 = 22,
    IPPROTO_TP___83 = 29,
    IPPROTO_DCCP___83 = 33,
    IPPROTO_IPV6___83 = 41,
    IPPROTO_RSVP___83 = 46,
    IPPROTO_GRE___83 = 47,
    IPPROTO_ESP___83 = 50,
    IPPROTO_AH___83 = 51,
    IPPROTO_MTP___83 = 92,
    IPPROTO_BEETPH___83 = 94,
    IPPROTO_ENCAP___83 = 98,
    IPPROTO_PIM___83 = 103,
    IPPROTO_COMP___83 = 108,
    IPPROTO_SCTP___83 = 132,
    IPPROTO_UDPLITE___83 = 136,
    IPPROTO_MPLS___83 = 137,
    IPPROTO_RAW___83 = 255,
    IPPROTO_MAX___83 = 256
} ;
enum __anonenum_218739988___83 {
    IPPROTO_HOPOPTS___83 = 0,
    IPPROTO_ROUTING___83 = 43,
    IPPROTO_FRAGMENT___83 = 44,
    IPPROTO_ICMPV6___83 = 58,
    IPPROTO_NONE___83 = 59,
    IPPROTO_DSTOPTS___83 = 60,
    IPPROTO_MH___83 = 135
} ;
enum __anonenum_662268580___83 {
    IPPORT_ECHO___83 = 7,
    IPPORT_DISCARD___83 = 9,
    IPPORT_SYSTAT___83 = 11,
    IPPORT_DAYTIME___83 = 13,
    IPPORT_NETSTAT___83 = 15,
    IPPORT_FTP___83 = 21,
    IPPORT_TELNET___83 = 23,
    IPPORT_SMTP___83 = 25,
    IPPORT_TIMESERVER___83 = 37,
    IPPORT_NAMESERVER___83 = 42,
    IPPORT_WHOIS___83 = 43,
    IPPORT_MTP___83 = 57,
    IPPORT_TFTP___83 = 69,
    IPPORT_RJE___83 = 77,
    IPPORT_FINGER___83 = 79,
    IPPORT_TTYLINK___83 = 87,
    IPPORT_SUPDUP___83 = 95,
    IPPORT_EXECSERVER___83 = 512,
    IPPORT_LOGINSERVER___83 = 513,
    IPPORT_CMDSERVER___83 = 514,
    IPPORT_EFSSERVER___83 = 520,
    IPPORT_BIFFUDP___83 = 512,
    IPPORT_WHOSERVER___83 = 513,
    IPPORT_ROUTESERVER___83 = 520,
    IPPORT_RESERVED___83 = 1024,
    IPPORT_USERRESERVED___83 = 5000
} ;
enum __anonenum_788308992___83 {
    TCP_ESTABLISHED___83 = 1,
    TCP_SYN_SENT___83 = 2,
    TCP_SYN_RECV___83 = 3,
    TCP_FIN_WAIT1___83 = 4,
    TCP_FIN_WAIT2___83 = 5,
    TCP_TIME_WAIT___83 = 6,
    TCP_CLOSE___83 = 7,
    TCP_CLOSE_WAIT___83 = 8,
    TCP_LAST_ACK___83 = 9,
    TCP_LISTEN___83 = 10,
    TCP_CLOSING___83 = 11
} ;
enum __anonenum_221125648___83 {
    TCP_NO_QUEUE___83 = 0,
    TCP_RECV_QUEUE___83 = 1,
    TCP_SEND_QUEUE___83 = 2,
    TCP_QUEUES_NR___83 = 3
} ;
enum __anonenum_34415463___83 {
    PTHREAD_CREATE_JOINABLE___83 = 0,
    PTHREAD_CREATE_DETACHED___83 = 1
} ;
enum __anonenum_303612439___83 {
    PTHREAD_MUTEX_TIMED_NP___83 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___83 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___83 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___83 = 3,
    PTHREAD_MUTEX_NORMAL___83 = 0,
    PTHREAD_MUTEX_RECURSIVE___83 = 1,
    PTHREAD_MUTEX_ERRORCHECK___83 = 2,
    PTHREAD_MUTEX_DEFAULT___83 = 0,
    PTHREAD_MUTEX_FAST_NP___83 = 0
} ;
enum __anonenum_931900394___83 {
    PTHREAD_MUTEX_STALLED___83 = 0,
    PTHREAD_MUTEX_STALLED_NP___83 = 0,
    PTHREAD_MUTEX_ROBUST___83 = 1,
    PTHREAD_MUTEX_ROBUST_NP___83 = 1
} ;
enum __anonenum_205214487___83 {
    PTHREAD_PRIO_NONE___83 = 0,
    PTHREAD_PRIO_INHERIT___83 = 1,
    PTHREAD_PRIO_PROTECT___83 = 2
} ;
enum __anonenum_25043950___83 {
    PTHREAD_RWLOCK_PREFER_READER_NP___83 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___83 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___83 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___83 = 0
} ;
enum __anonenum_436439511___83 {
    PTHREAD_INHERIT_SCHED___83 = 0,
    PTHREAD_EXPLICIT_SCHED___83 = 1
} ;
enum __anonenum_998661166___83 {
    PTHREAD_SCOPE_SYSTEM___83 = 0,
    PTHREAD_SCOPE_PROCESS___83 = 1
} ;
enum __anonenum_146137331___83 {
    PTHREAD_PROCESS_PRIVATE___83 = 0,
    PTHREAD_PROCESS_SHARED___83 = 1
} ;
enum __anonenum_53396917___83 {
    PTHREAD_CANCEL_ENABLE___83 = 0,
    PTHREAD_CANCEL_DISABLE___83 = 1
} ;
enum __anonenum_904563783___83 {
    PTHREAD_CANCEL_DEFERRED___83 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___83 = 1
} ;
enum __anonenum_672052974___83 {
    SSL_CT_VALIDATION_PERMISSIVE___83 = 0,
    SSL_CT_VALIDATION_STRICT___83 = 1
} ;
enum __anonenum_437032235___84 {
    _PC_LINK_MAX___84 = 0,
    _PC_MAX_CANON___84 = 1,
    _PC_MAX_INPUT___84 = 2,
    _PC_NAME_MAX___84 = 3,
    _PC_PATH_MAX___84 = 4,
    _PC_PIPE_BUF___84 = 5,
    _PC_CHOWN_RESTRICTED___84 = 6,
    _PC_NO_TRUNC___84 = 7,
    _PC_VDISABLE___84 = 8,
    _PC_SYNC_IO___84 = 9,
    _PC_ASYNC_IO___84 = 10,
    _PC_PRIO_IO___84 = 11,
    _PC_SOCK_MAXBUF___84 = 12,
    _PC_FILESIZEBITS___84 = 13,
    _PC_REC_INCR_XFER_SIZE___84 = 14,
    _PC_REC_MAX_XFER_SIZE___84 = 15,
    _PC_REC_MIN_XFER_SIZE___84 = 16,
    _PC_REC_XFER_ALIGN___84 = 17,
    _PC_ALLOC_SIZE_MIN___84 = 18,
    _PC_SYMLINK_MAX___84 = 19,
    _PC_2_SYMLINKS___84 = 20
} ;
enum __anonenum_315186338___84 {
    _SC_ARG_MAX___84 = 0,
    _SC_CHILD_MAX___84 = 1,
    _SC_CLK_TCK___84 = 2,
    _SC_NGROUPS_MAX___84 = 3,
    _SC_OPEN_MAX___84 = 4,
    _SC_STREAM_MAX___84 = 5,
    _SC_TZNAME_MAX___84 = 6,
    _SC_JOB_CONTROL___84 = 7,
    _SC_SAVED_IDS___84 = 8,
    _SC_REALTIME_SIGNALS___84 = 9,
    _SC_PRIORITY_SCHEDULING___84 = 10,
    _SC_TIMERS___84 = 11,
    _SC_ASYNCHRONOUS_IO___84 = 12,
    _SC_PRIORITIZED_IO___84 = 13,
    _SC_SYNCHRONIZED_IO___84 = 14,
    _SC_FSYNC___84 = 15,
    _SC_MAPPED_FILES___84 = 16,
    _SC_MEMLOCK___84 = 17,
    _SC_MEMLOCK_RANGE___84 = 18,
    _SC_MEMORY_PROTECTION___84 = 19,
    _SC_MESSAGE_PASSING___84 = 20,
    _SC_SEMAPHORES___84 = 21,
    _SC_SHARED_MEMORY_OBJECTS___84 = 22,
    _SC_AIO_LISTIO_MAX___84 = 23,
    _SC_AIO_MAX___84 = 24,
    _SC_AIO_PRIO_DELTA_MAX___84 = 25,
    _SC_DELAYTIMER_MAX___84 = 26,
    _SC_MQ_OPEN_MAX___84 = 27,
    _SC_MQ_PRIO_MAX___84 = 28,
    _SC_VERSION___84 = 29,
    _SC_PAGESIZE___84 = 30,
    _SC_RTSIG_MAX___84 = 31,
    _SC_SEM_NSEMS_MAX___84 = 32,
    _SC_SEM_VALUE_MAX___84 = 33,
    _SC_SIGQUEUE_MAX___84 = 34,
    _SC_TIMER_MAX___84 = 35,
    _SC_BC_BASE_MAX___84 = 36,
    _SC_BC_DIM_MAX___84 = 37,
    _SC_BC_SCALE_MAX___84 = 38,
    _SC_BC_STRING_MAX___84 = 39,
    _SC_COLL_WEIGHTS_MAX___84 = 40,
    _SC_EQUIV_CLASS_MAX___84 = 41,
    _SC_EXPR_NEST_MAX___84 = 42,
    _SC_LINE_MAX___84 = 43,
    _SC_RE_DUP_MAX___84 = 44,
    _SC_CHARCLASS_NAME_MAX___84 = 45,
    _SC_2_VERSION___84 = 46,
    _SC_2_C_BIND___84 = 47,
    _SC_2_C_DEV___84 = 48,
    _SC_2_FORT_DEV___84 = 49,
    _SC_2_FORT_RUN___84 = 50,
    _SC_2_SW_DEV___84 = 51,
    _SC_2_LOCALEDEF___84 = 52,
    _SC_PII___84 = 53,
    _SC_PII_XTI___84 = 54,
    _SC_PII_SOCKET___84 = 55,
    _SC_PII_INTERNET___84 = 56,
    _SC_PII_OSI___84 = 57,
    _SC_POLL___84 = 58,
    _SC_SELECT___84 = 59,
    _SC_UIO_MAXIOV___84 = 60,
    _SC_IOV_MAX___84 = 60,
    _SC_PII_INTERNET_STREAM___84 = 61,
    _SC_PII_INTERNET_DGRAM___84 = 62,
    _SC_PII_OSI_COTS___84 = 63,
    _SC_PII_OSI_CLTS___84 = 64,
    _SC_PII_OSI_M___84 = 65,
    _SC_T_IOV_MAX___84 = 66,
    _SC_THREADS___84 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___84 = 68,
    _SC_GETGR_R_SIZE_MAX___84 = 69,
    _SC_GETPW_R_SIZE_MAX___84 = 70,
    _SC_LOGIN_NAME_MAX___84 = 71,
    _SC_TTY_NAME_MAX___84 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___84 = 73,
    _SC_THREAD_KEYS_MAX___84 = 74,
    _SC_THREAD_STACK_MIN___84 = 75,
    _SC_THREAD_THREADS_MAX___84 = 76,
    _SC_THREAD_ATTR_STACKADDR___84 = 77,
    _SC_THREAD_ATTR_STACKSIZE___84 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___84 = 79,
    _SC_THREAD_PRIO_INHERIT___84 = 80,
    _SC_THREAD_PRIO_PROTECT___84 = 81,
    _SC_THREAD_PROCESS_SHARED___84 = 82,
    _SC_NPROCESSORS_CONF___84 = 83,
    _SC_NPROCESSORS_ONLN___84 = 84,
    _SC_PHYS_PAGES___84 = 85,
    _SC_AVPHYS_PAGES___84 = 86,
    _SC_ATEXIT_MAX___84 = 87,
    _SC_PASS_MAX___84 = 88,
    _SC_XOPEN_VERSION___84 = 89,
    _SC_XOPEN_XCU_VERSION___84 = 90,
    _SC_XOPEN_UNIX___84 = 91,
    _SC_XOPEN_CRYPT___84 = 92,
    _SC_XOPEN_ENH_I18N___84 = 93,
    _SC_XOPEN_SHM___84 = 94,
    _SC_2_CHAR_TERM___84 = 95,
    _SC_2_C_VERSION___84 = 96,
    _SC_2_UPE___84 = 97,
    _SC_XOPEN_XPG2___84 = 98,
    _SC_XOPEN_XPG3___84 = 99,
    _SC_XOPEN_XPG4___84 = 100,
    _SC_CHAR_BIT___84 = 101,
    _SC_CHAR_MAX___84 = 102,
    _SC_CHAR_MIN___84 = 103,
    _SC_INT_MAX___84 = 104,
    _SC_INT_MIN___84 = 105,
    _SC_LONG_BIT___84 = 106,
    _SC_WORD_BIT___84 = 107,
    _SC_MB_LEN_MAX___84 = 108,
    _SC_NZERO___84 = 109,
    _SC_SSIZE_MAX___84 = 110,
    _SC_SCHAR_MAX___84 = 111,
    _SC_SCHAR_MIN___84 = 112,
    _SC_SHRT_MAX___84 = 113,
    _SC_SHRT_MIN___84 = 114,
    _SC_UCHAR_MAX___84 = 115,
    _SC_UINT_MAX___84 = 116,
    _SC_ULONG_MAX___84 = 117,
    _SC_USHRT_MAX___84 = 118,
    _SC_NL_ARGMAX___84 = 119,
    _SC_NL_LANGMAX___84 = 120,
    _SC_NL_MSGMAX___84 = 121,
    _SC_NL_NMAX___84 = 122,
    _SC_NL_SETMAX___84 = 123,
    _SC_NL_TEXTMAX___84 = 124,
    _SC_XBS5_ILP32_OFF32___84 = 125,
    _SC_XBS5_ILP32_OFFBIG___84 = 126,
    _SC_XBS5_LP64_OFF64___84 = 127,
    _SC_XBS5_LPBIG_OFFBIG___84 = 128,
    _SC_XOPEN_LEGACY___84 = 129,
    _SC_XOPEN_REALTIME___84 = 130,
    _SC_XOPEN_REALTIME_THREADS___84 = 131,
    _SC_ADVISORY_INFO___84 = 132,
    _SC_BARRIERS___84 = 133,
    _SC_BASE___84 = 134,
    _SC_C_LANG_SUPPORT___84 = 135,
    _SC_C_LANG_SUPPORT_R___84 = 136,
    _SC_CLOCK_SELECTION___84 = 137,
    _SC_CPUTIME___84 = 138,
    _SC_THREAD_CPUTIME___84 = 139,
    _SC_DEVICE_IO___84 = 140,
    _SC_DEVICE_SPECIFIC___84 = 141,
    _SC_DEVICE_SPECIFIC_R___84 = 142,
    _SC_FD_MGMT___84 = 143,
    _SC_FIFO___84 = 144,
    _SC_PIPE___84 = 145,
    _SC_FILE_ATTRIBUTES___84 = 146,
    _SC_FILE_LOCKING___84 = 147,
    _SC_FILE_SYSTEM___84 = 148,
    _SC_MONOTONIC_CLOCK___84 = 149,
    _SC_MULTI_PROCESS___84 = 150,
    _SC_SINGLE_PROCESS___84 = 151,
    _SC_NETWORKING___84 = 152,
    _SC_READER_WRITER_LOCKS___84 = 153,
    _SC_SPIN_LOCKS___84 = 154,
    _SC_REGEXP___84 = 155,
    _SC_REGEX_VERSION___84 = 156,
    _SC_SHELL___84 = 157,
    _SC_SIGNALS___84 = 158,
    _SC_SPAWN___84 = 159,
    _SC_SPORADIC_SERVER___84 = 160,
    _SC_THREAD_SPORADIC_SERVER___84 = 161,
    _SC_SYSTEM_DATABASE___84 = 162,
    _SC_SYSTEM_DATABASE_R___84 = 163,
    _SC_TIMEOUTS___84 = 164,
    _SC_TYPED_MEMORY_OBJECTS___84 = 165,
    _SC_USER_GROUPS___84 = 166,
    _SC_USER_GROUPS_R___84 = 167,
    _SC_2_PBS___84 = 168,
    _SC_2_PBS_ACCOUNTING___84 = 169,
    _SC_2_PBS_LOCATE___84 = 170,
    _SC_2_PBS_MESSAGE___84 = 171,
    _SC_2_PBS_TRACK___84 = 172,
    _SC_SYMLOOP_MAX___84 = 173,
    _SC_STREAMS___84 = 174,
    _SC_2_PBS_CHECKPOINT___84 = 175,
    _SC_V6_ILP32_OFF32___84 = 176,
    _SC_V6_ILP32_OFFBIG___84 = 177,
    _SC_V6_LP64_OFF64___84 = 178,
    _SC_V6_LPBIG_OFFBIG___84 = 179,
    _SC_HOST_NAME_MAX___84 = 180,
    _SC_TRACE___84 = 181,
    _SC_TRACE_EVENT_FILTER___84 = 182,
    _SC_TRACE_INHERIT___84 = 183,
    _SC_TRACE_LOG___84 = 184,
    _SC_LEVEL1_ICACHE_SIZE___84 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___84 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___84 = 187,
    _SC_LEVEL1_DCACHE_SIZE___84 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___84 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___84 = 190,
    _SC_LEVEL2_CACHE_SIZE___84 = 191,
    _SC_LEVEL2_CACHE_ASSOC___84 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___84 = 193,
    _SC_LEVEL3_CACHE_SIZE___84 = 194,
    _SC_LEVEL3_CACHE_ASSOC___84 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___84 = 196,
    _SC_LEVEL4_CACHE_SIZE___84 = 197,
    _SC_LEVEL4_CACHE_ASSOC___84 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___84 = 199,
    _SC_IPV6___84 = 235,
    _SC_RAW_SOCKETS___84 = 236,
    _SC_V7_ILP32_OFF32___84 = 237,
    _SC_V7_ILP32_OFFBIG___84 = 238,
    _SC_V7_LP64_OFF64___84 = 239,
    _SC_V7_LPBIG_OFFBIG___84 = 240,
    _SC_SS_REPL_MAX___84 = 241,
    _SC_TRACE_EVENT_NAME_MAX___84 = 242,
    _SC_TRACE_NAME_MAX___84 = 243,
    _SC_TRACE_SYS_MAX___84 = 244,
    _SC_TRACE_USER_EVENT_MAX___84 = 245,
    _SC_XOPEN_STREAMS___84 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___84 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___84 = 248
} ;
enum __anonenum_875524036___84 {
    _CS_PATH___84 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___84 = 1,
    _CS_GNU_LIBC_VERSION___84 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___84 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___84 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___84 = 5,
    _CS_LFS_CFLAGS___84 = 1000,
    _CS_LFS_LDFLAGS___84 = 1001,
    _CS_LFS_LIBS___84 = 1002,
    _CS_LFS_LINTFLAGS___84 = 1003,
    _CS_LFS64_CFLAGS___84 = 1004,
    _CS_LFS64_LDFLAGS___84 = 1005,
    _CS_LFS64_LIBS___84 = 1006,
    _CS_LFS64_LINTFLAGS___84 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___84 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___84 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___84 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___84 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___84 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___84 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___84 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___84 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___84 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___84 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___84 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___84 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___84 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___84 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___84 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___84 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___84 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___84 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___84 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___84 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___84 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___84 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___84 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___84 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___84 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___84 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___84 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___84 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___84 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___84 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___84 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___84 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___84 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___84 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___84 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___84 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___84 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___84 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___84 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___84 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___84 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___84 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___84 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___84 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___84 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___84 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___84 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___84 = 1147,
    _CS_V6_ENV___84 = 1148,
    _CS_V7_ENV___84 = 1149
} ;
enum __anonenum_513775621___84 {
    DT_UNKNOWN___84 = 0,
    DT_FIFO___84 = 1,
    DT_CHR___84 = 2,
    DT_DIR___84 = 4,
    DT_BLK___84 = 6,
    DT_REG___84 = 8,
    DT_LNK___84 = 10,
    DT_SOCK___84 = 12,
    DT_WHT___84 = 14
} ;
enum __anonenum_77002343___84 {
    SI_ASYNCNL___84 = -60,
    SI_TKILL___84 = -6,
    SI_SIGIO___84 = -5,
    SI_ASYNCIO___84 = -4,
    SI_MESGQ___84 = -3,
    SI_TIMER___84 = -2,
    SI_QUEUE___84 = -1,
    SI_USER___84 = 0,
    SI_KERNEL___84 = 128
} ;
enum __anonenum_131038172___84 {
    ILL_ILLOPC___84 = 1,
    ILL_ILLOPN___84 = 2,
    ILL_ILLADR___84 = 3,
    ILL_ILLTRP___84 = 4,
    ILL_PRVOPC___84 = 5,
    ILL_PRVREG___84 = 6,
    ILL_COPROC___84 = 7,
    ILL_BADSTK___84 = 8
} ;
enum __anonenum_452038093___84 {
    FPE_INTDIV___84 = 1,
    FPE_INTOVF___84 = 2,
    FPE_FLTDIV___84 = 3,
    FPE_FLTOVF___84 = 4,
    FPE_FLTUND___84 = 5,
    FPE_FLTRES___84 = 6,
    FPE_FLTINV___84 = 7,
    FPE_FLTSUB___84 = 8
} ;
enum __anonenum_30976155___84 {
    SEGV_MAPERR___84 = 1,
    SEGV_ACCERR___84 = 2,
    SEGV_BNDERR___84 = 3,
    SEGV_PKUERR___84 = 4
} ;
enum __anonenum_1036286214___84 {
    BUS_ADRALN___84 = 1,
    BUS_ADRERR___84 = 2,
    BUS_OBJERR___84 = 3,
    BUS_MCEERR_AR___84 = 4,
    BUS_MCEERR_AO___84 = 5
} ;
enum __anonenum_493465559___84 {
    TRAP_BRKPT___84 = 1,
    TRAP_TRACE___84 = 2
} ;
enum __anonenum_23175539___84 {
    CLD_EXITED___84 = 1,
    CLD_KILLED___84 = 2,
    CLD_DUMPED___84 = 3,
    CLD_TRAPPED___84 = 4,
    CLD_STOPPED___84 = 5,
    CLD_CONTINUED___84 = 6
} ;
enum __anonenum_111643124___84 {
    POLL_IN___84 = 1,
    POLL_OUT___84 = 2,
    POLL_MSG___84 = 3,
    POLL_ERR___84 = 4,
    POLL_PRI___84 = 5,
    POLL_HUP___84 = 6
} ;
enum __anonenum_852341087___84 {
    SIGEV_SIGNAL___84 = 0,
    SIGEV_NONE___84 = 1,
    SIGEV_THREAD___84 = 2,
    SIGEV_THREAD_ID___84 = 4
} ;
enum __anonenum_451154152___84 {
    REG_R8___84 = 0,
    REG_R9___84 = 1,
    REG_R10___84 = 2,
    REG_R11___84 = 3,
    REG_R12___84 = 4,
    REG_R13___84 = 5,
    REG_R14___84 = 6,
    REG_R15___84 = 7,
    REG_RDI___84 = 8,
    REG_RSI___84 = 9,
    REG_RBP___84 = 10,
    REG_RBX___84 = 11,
    REG_RDX___84 = 12,
    REG_RAX___84 = 13,
    REG_RCX___84 = 14,
    REG_RSP___84 = 15,
    REG_RIP___84 = 16,
    REG_EFL___84 = 17,
    REG_CSGSFS___84 = 18,
    REG_ERR___84 = 19,
    REG_TRAPNO___84 = 20,
    REG_OLDMASK___84 = 21,
    REG_CR2___84 = 22
} ;
enum __anonenum_57186863___84 {
    SS_ONSTACK___84 = 1,
    SS_DISABLE___84 = 2
} ;
enum __anonenum_83571709___84 {
    MSG_OOB___84 = 1,
    MSG_PEEK___84 = 2,
    MSG_DONTROUTE___84 = 4,
    MSG_TRYHARD___84 = 4,
    MSG_CTRUNC___84 = 8,
    MSG_PROXY___84 = 16,
    MSG_TRUNC___84 = 32,
    MSG_DONTWAIT___84 = 64,
    MSG_EOR___84 = 128,
    MSG_WAITALL___84 = 256,
    MSG_FIN___84 = 512,
    MSG_SYN___84 = 1024,
    MSG_CONFIRM___84 = 2048,
    MSG_RST___84 = 4096,
    MSG_ERRQUEUE___84 = 8192,
    MSG_NOSIGNAL___84 = 16384,
    MSG_MORE___84 = 32768,
    MSG_WAITFORONE___84 = 65536,
    MSG_BATCH___84 = 262144,
    MSG_ZEROCOPY___84 = 67108864,
    MSG_FASTOPEN___84 = 536870912,
    MSG_CMSG_CLOEXEC___84 = 1073741824
} ;
enum __anonenum_617082774___84 {
    SCM_RIGHTS___84 = 1,
    SCM_CREDENTIALS___84 = 2
} ;
enum __anonenum_606441560___84 {
    SHUT_RD___84 = 0,
    SHUT_WR___84 = 1,
    SHUT_RDWR___84 = 2
} ;
enum __anonenum_681669233___84 {
    IPPROTO_IP___84 = 0,
    IPPROTO_ICMP___84 = 1,
    IPPROTO_IGMP___84 = 2,
    IPPROTO_IPIP___84 = 4,
    IPPROTO_TCP___84 = 6,
    IPPROTO_EGP___84 = 8,
    IPPROTO_PUP___84 = 12,
    IPPROTO_UDP___84 = 17,
    IPPROTO_IDP___84 = 22,
    IPPROTO_TP___84 = 29,
    IPPROTO_DCCP___84 = 33,
    IPPROTO_IPV6___84 = 41,
    IPPROTO_RSVP___84 = 46,
    IPPROTO_GRE___84 = 47,
    IPPROTO_ESP___84 = 50,
    IPPROTO_AH___84 = 51,
    IPPROTO_MTP___84 = 92,
    IPPROTO_BEETPH___84 = 94,
    IPPROTO_ENCAP___84 = 98,
    IPPROTO_PIM___84 = 103,
    IPPROTO_COMP___84 = 108,
    IPPROTO_SCTP___84 = 132,
    IPPROTO_UDPLITE___84 = 136,
    IPPROTO_MPLS___84 = 137,
    IPPROTO_RAW___84 = 255,
    IPPROTO_MAX___84 = 256
} ;
enum __anonenum_218739988___84 {
    IPPROTO_HOPOPTS___84 = 0,
    IPPROTO_ROUTING___84 = 43,
    IPPROTO_FRAGMENT___84 = 44,
    IPPROTO_ICMPV6___84 = 58,
    IPPROTO_NONE___84 = 59,
    IPPROTO_DSTOPTS___84 = 60,
    IPPROTO_MH___84 = 135
} ;
enum __anonenum_662268580___84 {
    IPPORT_ECHO___84 = 7,
    IPPORT_DISCARD___84 = 9,
    IPPORT_SYSTAT___84 = 11,
    IPPORT_DAYTIME___84 = 13,
    IPPORT_NETSTAT___84 = 15,
    IPPORT_FTP___84 = 21,
    IPPORT_TELNET___84 = 23,
    IPPORT_SMTP___84 = 25,
    IPPORT_TIMESERVER___84 = 37,
    IPPORT_NAMESERVER___84 = 42,
    IPPORT_WHOIS___84 = 43,
    IPPORT_MTP___84 = 57,
    IPPORT_TFTP___84 = 69,
    IPPORT_RJE___84 = 77,
    IPPORT_FINGER___84 = 79,
    IPPORT_TTYLINK___84 = 87,
    IPPORT_SUPDUP___84 = 95,
    IPPORT_EXECSERVER___84 = 512,
    IPPORT_LOGINSERVER___84 = 513,
    IPPORT_CMDSERVER___84 = 514,
    IPPORT_EFSSERVER___84 = 520,
    IPPORT_BIFFUDP___84 = 512,
    IPPORT_WHOSERVER___84 = 513,
    IPPORT_ROUTESERVER___84 = 520,
    IPPORT_RESERVED___84 = 1024,
    IPPORT_USERRESERVED___84 = 5000
} ;
enum __anonenum_788308992___84 {
    TCP_ESTABLISHED___84 = 1,
    TCP_SYN_SENT___84 = 2,
    TCP_SYN_RECV___84 = 3,
    TCP_FIN_WAIT1___84 = 4,
    TCP_FIN_WAIT2___84 = 5,
    TCP_TIME_WAIT___84 = 6,
    TCP_CLOSE___84 = 7,
    TCP_CLOSE_WAIT___84 = 8,
    TCP_LAST_ACK___84 = 9,
    TCP_LISTEN___84 = 10,
    TCP_CLOSING___84 = 11
} ;
enum __anonenum_221125648___84 {
    TCP_NO_QUEUE___84 = 0,
    TCP_RECV_QUEUE___84 = 1,
    TCP_SEND_QUEUE___84 = 2,
    TCP_QUEUES_NR___84 = 3
} ;
enum __anonenum_34415463___84 {
    PTHREAD_CREATE_JOINABLE___84 = 0,
    PTHREAD_CREATE_DETACHED___84 = 1
} ;
enum __anonenum_303612439___84 {
    PTHREAD_MUTEX_TIMED_NP___84 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___84 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___84 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___84 = 3,
    PTHREAD_MUTEX_NORMAL___84 = 0,
    PTHREAD_MUTEX_RECURSIVE___84 = 1,
    PTHREAD_MUTEX_ERRORCHECK___84 = 2,
    PTHREAD_MUTEX_DEFAULT___84 = 0,
    PTHREAD_MUTEX_FAST_NP___84 = 0
} ;
enum __anonenum_931900394___84 {
    PTHREAD_MUTEX_STALLED___84 = 0,
    PTHREAD_MUTEX_STALLED_NP___84 = 0,
    PTHREAD_MUTEX_ROBUST___84 = 1,
    PTHREAD_MUTEX_ROBUST_NP___84 = 1
} ;
enum __anonenum_205214487___84 {
    PTHREAD_PRIO_NONE___84 = 0,
    PTHREAD_PRIO_INHERIT___84 = 1,
    PTHREAD_PRIO_PROTECT___84 = 2
} ;
enum __anonenum_25043950___84 {
    PTHREAD_RWLOCK_PREFER_READER_NP___84 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___84 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___84 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___84 = 0
} ;
enum __anonenum_436439511___84 {
    PTHREAD_INHERIT_SCHED___84 = 0,
    PTHREAD_EXPLICIT_SCHED___84 = 1
} ;
enum __anonenum_998661166___84 {
    PTHREAD_SCOPE_SYSTEM___84 = 0,
    PTHREAD_SCOPE_PROCESS___84 = 1
} ;
enum __anonenum_146137331___84 {
    PTHREAD_PROCESS_PRIVATE___84 = 0,
    PTHREAD_PROCESS_SHARED___84 = 1
} ;
enum __anonenum_53396917___84 {
    PTHREAD_CANCEL_ENABLE___84 = 0,
    PTHREAD_CANCEL_DISABLE___84 = 1
} ;
enum __anonenum_904563783___84 {
    PTHREAD_CANCEL_DEFERRED___84 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___84 = 1
} ;
enum __anonenum_672052974___84 {
    SSL_CT_VALIDATION_PERMISSIVE___84 = 0,
    SSL_CT_VALIDATION_STRICT___84 = 1
} ;
struct trie ;
struct tree___0 {
   struct tree___0 *llink ;
   struct tree___0 *rlink ;
   struct trie *trie ;
   unsigned char label ;
   char balance ;
};
struct trie {
   unsigned int accepting ;
   struct tree___0 *links ;
   struct trie *parent ;
   struct trie *next ;
   struct trie *fail ;
   int depth ;
   int shift ;
   int maxshift ;
};
struct kwset {
   struct obstack obstack ;
   int words ;
   struct trie *trie ;
   int mind ;
   int maxd ;
   unsigned char delta[256] ;
   struct trie *next[256] ;
   char *target ;
   int mind2 ;
   unsigned char const   *trans ;
};
enum __anonenum_dirs_744895363 {
    L = 0,
    R___0 = 1
} ;
enum __anonenum_437032235___85 {
    _PC_LINK_MAX___85 = 0,
    _PC_MAX_CANON___85 = 1,
    _PC_MAX_INPUT___85 = 2,
    _PC_NAME_MAX___85 = 3,
    _PC_PATH_MAX___85 = 4,
    _PC_PIPE_BUF___85 = 5,
    _PC_CHOWN_RESTRICTED___85 = 6,
    _PC_NO_TRUNC___85 = 7,
    _PC_VDISABLE___85 = 8,
    _PC_SYNC_IO___85 = 9,
    _PC_ASYNC_IO___85 = 10,
    _PC_PRIO_IO___85 = 11,
    _PC_SOCK_MAXBUF___85 = 12,
    _PC_FILESIZEBITS___85 = 13,
    _PC_REC_INCR_XFER_SIZE___85 = 14,
    _PC_REC_MAX_XFER_SIZE___85 = 15,
    _PC_REC_MIN_XFER_SIZE___85 = 16,
    _PC_REC_XFER_ALIGN___85 = 17,
    _PC_ALLOC_SIZE_MIN___85 = 18,
    _PC_SYMLINK_MAX___85 = 19,
    _PC_2_SYMLINKS___85 = 20
} ;
enum __anonenum_315186338___85 {
    _SC_ARG_MAX___85 = 0,
    _SC_CHILD_MAX___85 = 1,
    _SC_CLK_TCK___85 = 2,
    _SC_NGROUPS_MAX___85 = 3,
    _SC_OPEN_MAX___85 = 4,
    _SC_STREAM_MAX___85 = 5,
    _SC_TZNAME_MAX___85 = 6,
    _SC_JOB_CONTROL___85 = 7,
    _SC_SAVED_IDS___85 = 8,
    _SC_REALTIME_SIGNALS___85 = 9,
    _SC_PRIORITY_SCHEDULING___85 = 10,
    _SC_TIMERS___85 = 11,
    _SC_ASYNCHRONOUS_IO___85 = 12,
    _SC_PRIORITIZED_IO___85 = 13,
    _SC_SYNCHRONIZED_IO___85 = 14,
    _SC_FSYNC___85 = 15,
    _SC_MAPPED_FILES___85 = 16,
    _SC_MEMLOCK___85 = 17,
    _SC_MEMLOCK_RANGE___85 = 18,
    _SC_MEMORY_PROTECTION___85 = 19,
    _SC_MESSAGE_PASSING___85 = 20,
    _SC_SEMAPHORES___85 = 21,
    _SC_SHARED_MEMORY_OBJECTS___85 = 22,
    _SC_AIO_LISTIO_MAX___85 = 23,
    _SC_AIO_MAX___85 = 24,
    _SC_AIO_PRIO_DELTA_MAX___85 = 25,
    _SC_DELAYTIMER_MAX___85 = 26,
    _SC_MQ_OPEN_MAX___85 = 27,
    _SC_MQ_PRIO_MAX___85 = 28,
    _SC_VERSION___85 = 29,
    _SC_PAGESIZE___85 = 30,
    _SC_RTSIG_MAX___85 = 31,
    _SC_SEM_NSEMS_MAX___85 = 32,
    _SC_SEM_VALUE_MAX___85 = 33,
    _SC_SIGQUEUE_MAX___85 = 34,
    _SC_TIMER_MAX___85 = 35,
    _SC_BC_BASE_MAX___85 = 36,
    _SC_BC_DIM_MAX___85 = 37,
    _SC_BC_SCALE_MAX___85 = 38,
    _SC_BC_STRING_MAX___85 = 39,
    _SC_COLL_WEIGHTS_MAX___85 = 40,
    _SC_EQUIV_CLASS_MAX___85 = 41,
    _SC_EXPR_NEST_MAX___85 = 42,
    _SC_LINE_MAX___85 = 43,
    _SC_RE_DUP_MAX___85 = 44,
    _SC_CHARCLASS_NAME_MAX___85 = 45,
    _SC_2_VERSION___85 = 46,
    _SC_2_C_BIND___85 = 47,
    _SC_2_C_DEV___85 = 48,
    _SC_2_FORT_DEV___85 = 49,
    _SC_2_FORT_RUN___85 = 50,
    _SC_2_SW_DEV___85 = 51,
    _SC_2_LOCALEDEF___85 = 52,
    _SC_PII___85 = 53,
    _SC_PII_XTI___85 = 54,
    _SC_PII_SOCKET___85 = 55,
    _SC_PII_INTERNET___85 = 56,
    _SC_PII_OSI___85 = 57,
    _SC_POLL___85 = 58,
    _SC_SELECT___85 = 59,
    _SC_UIO_MAXIOV___85 = 60,
    _SC_IOV_MAX___85 = 60,
    _SC_PII_INTERNET_STREAM___85 = 61,
    _SC_PII_INTERNET_DGRAM___85 = 62,
    _SC_PII_OSI_COTS___85 = 63,
    _SC_PII_OSI_CLTS___85 = 64,
    _SC_PII_OSI_M___85 = 65,
    _SC_T_IOV_MAX___85 = 66,
    _SC_THREADS___85 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___85 = 68,
    _SC_GETGR_R_SIZE_MAX___85 = 69,
    _SC_GETPW_R_SIZE_MAX___85 = 70,
    _SC_LOGIN_NAME_MAX___85 = 71,
    _SC_TTY_NAME_MAX___85 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___85 = 73,
    _SC_THREAD_KEYS_MAX___85 = 74,
    _SC_THREAD_STACK_MIN___85 = 75,
    _SC_THREAD_THREADS_MAX___85 = 76,
    _SC_THREAD_ATTR_STACKADDR___85 = 77,
    _SC_THREAD_ATTR_STACKSIZE___85 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___85 = 79,
    _SC_THREAD_PRIO_INHERIT___85 = 80,
    _SC_THREAD_PRIO_PROTECT___85 = 81,
    _SC_THREAD_PROCESS_SHARED___85 = 82,
    _SC_NPROCESSORS_CONF___85 = 83,
    _SC_NPROCESSORS_ONLN___85 = 84,
    _SC_PHYS_PAGES___85 = 85,
    _SC_AVPHYS_PAGES___85 = 86,
    _SC_ATEXIT_MAX___85 = 87,
    _SC_PASS_MAX___85 = 88,
    _SC_XOPEN_VERSION___85 = 89,
    _SC_XOPEN_XCU_VERSION___85 = 90,
    _SC_XOPEN_UNIX___85 = 91,
    _SC_XOPEN_CRYPT___85 = 92,
    _SC_XOPEN_ENH_I18N___85 = 93,
    _SC_XOPEN_SHM___85 = 94,
    _SC_2_CHAR_TERM___85 = 95,
    _SC_2_C_VERSION___85 = 96,
    _SC_2_UPE___85 = 97,
    _SC_XOPEN_XPG2___85 = 98,
    _SC_XOPEN_XPG3___85 = 99,
    _SC_XOPEN_XPG4___85 = 100,
    _SC_CHAR_BIT___85 = 101,
    _SC_CHAR_MAX___85 = 102,
    _SC_CHAR_MIN___85 = 103,
    _SC_INT_MAX___85 = 104,
    _SC_INT_MIN___85 = 105,
    _SC_LONG_BIT___85 = 106,
    _SC_WORD_BIT___85 = 107,
    _SC_MB_LEN_MAX___85 = 108,
    _SC_NZERO___85 = 109,
    _SC_SSIZE_MAX___85 = 110,
    _SC_SCHAR_MAX___85 = 111,
    _SC_SCHAR_MIN___85 = 112,
    _SC_SHRT_MAX___85 = 113,
    _SC_SHRT_MIN___85 = 114,
    _SC_UCHAR_MAX___85 = 115,
    _SC_UINT_MAX___85 = 116,
    _SC_ULONG_MAX___85 = 117,
    _SC_USHRT_MAX___85 = 118,
    _SC_NL_ARGMAX___85 = 119,
    _SC_NL_LANGMAX___85 = 120,
    _SC_NL_MSGMAX___85 = 121,
    _SC_NL_NMAX___85 = 122,
    _SC_NL_SETMAX___85 = 123,
    _SC_NL_TEXTMAX___85 = 124,
    _SC_XBS5_ILP32_OFF32___85 = 125,
    _SC_XBS5_ILP32_OFFBIG___85 = 126,
    _SC_XBS5_LP64_OFF64___85 = 127,
    _SC_XBS5_LPBIG_OFFBIG___85 = 128,
    _SC_XOPEN_LEGACY___85 = 129,
    _SC_XOPEN_REALTIME___85 = 130,
    _SC_XOPEN_REALTIME_THREADS___85 = 131,
    _SC_ADVISORY_INFO___85 = 132,
    _SC_BARRIERS___85 = 133,
    _SC_BASE___85 = 134,
    _SC_C_LANG_SUPPORT___85 = 135,
    _SC_C_LANG_SUPPORT_R___85 = 136,
    _SC_CLOCK_SELECTION___85 = 137,
    _SC_CPUTIME___85 = 138,
    _SC_THREAD_CPUTIME___85 = 139,
    _SC_DEVICE_IO___85 = 140,
    _SC_DEVICE_SPECIFIC___85 = 141,
    _SC_DEVICE_SPECIFIC_R___85 = 142,
    _SC_FD_MGMT___85 = 143,
    _SC_FIFO___85 = 144,
    _SC_PIPE___85 = 145,
    _SC_FILE_ATTRIBUTES___85 = 146,
    _SC_FILE_LOCKING___85 = 147,
    _SC_FILE_SYSTEM___85 = 148,
    _SC_MONOTONIC_CLOCK___85 = 149,
    _SC_MULTI_PROCESS___85 = 150,
    _SC_SINGLE_PROCESS___85 = 151,
    _SC_NETWORKING___85 = 152,
    _SC_READER_WRITER_LOCKS___85 = 153,
    _SC_SPIN_LOCKS___85 = 154,
    _SC_REGEXP___85 = 155,
    _SC_REGEX_VERSION___85 = 156,
    _SC_SHELL___85 = 157,
    _SC_SIGNALS___85 = 158,
    _SC_SPAWN___85 = 159,
    _SC_SPORADIC_SERVER___85 = 160,
    _SC_THREAD_SPORADIC_SERVER___85 = 161,
    _SC_SYSTEM_DATABASE___85 = 162,
    _SC_SYSTEM_DATABASE_R___85 = 163,
    _SC_TIMEOUTS___85 = 164,
    _SC_TYPED_MEMORY_OBJECTS___85 = 165,
    _SC_USER_GROUPS___85 = 166,
    _SC_USER_GROUPS_R___85 = 167,
    _SC_2_PBS___85 = 168,
    _SC_2_PBS_ACCOUNTING___85 = 169,
    _SC_2_PBS_LOCATE___85 = 170,
    _SC_2_PBS_MESSAGE___85 = 171,
    _SC_2_PBS_TRACK___85 = 172,
    _SC_SYMLOOP_MAX___85 = 173,
    _SC_STREAMS___85 = 174,
    _SC_2_PBS_CHECKPOINT___85 = 175,
    _SC_V6_ILP32_OFF32___85 = 176,
    _SC_V6_ILP32_OFFBIG___85 = 177,
    _SC_V6_LP64_OFF64___85 = 178,
    _SC_V6_LPBIG_OFFBIG___85 = 179,
    _SC_HOST_NAME_MAX___85 = 180,
    _SC_TRACE___85 = 181,
    _SC_TRACE_EVENT_FILTER___85 = 182,
    _SC_TRACE_INHERIT___85 = 183,
    _SC_TRACE_LOG___85 = 184,
    _SC_LEVEL1_ICACHE_SIZE___85 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___85 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___85 = 187,
    _SC_LEVEL1_DCACHE_SIZE___85 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___85 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___85 = 190,
    _SC_LEVEL2_CACHE_SIZE___85 = 191,
    _SC_LEVEL2_CACHE_ASSOC___85 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___85 = 193,
    _SC_LEVEL3_CACHE_SIZE___85 = 194,
    _SC_LEVEL3_CACHE_ASSOC___85 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___85 = 196,
    _SC_LEVEL4_CACHE_SIZE___85 = 197,
    _SC_LEVEL4_CACHE_ASSOC___85 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___85 = 199,
    _SC_IPV6___85 = 235,
    _SC_RAW_SOCKETS___85 = 236,
    _SC_V7_ILP32_OFF32___85 = 237,
    _SC_V7_ILP32_OFFBIG___85 = 238,
    _SC_V7_LP64_OFF64___85 = 239,
    _SC_V7_LPBIG_OFFBIG___85 = 240,
    _SC_SS_REPL_MAX___85 = 241,
    _SC_TRACE_EVENT_NAME_MAX___85 = 242,
    _SC_TRACE_NAME_MAX___85 = 243,
    _SC_TRACE_SYS_MAX___85 = 244,
    _SC_TRACE_USER_EVENT_MAX___85 = 245,
    _SC_XOPEN_STREAMS___85 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___85 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___85 = 248
} ;
enum __anonenum_875524036___85 {
    _CS_PATH___85 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___85 = 1,
    _CS_GNU_LIBC_VERSION___85 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___85 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___85 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___85 = 5,
    _CS_LFS_CFLAGS___85 = 1000,
    _CS_LFS_LDFLAGS___85 = 1001,
    _CS_LFS_LIBS___85 = 1002,
    _CS_LFS_LINTFLAGS___85 = 1003,
    _CS_LFS64_CFLAGS___85 = 1004,
    _CS_LFS64_LDFLAGS___85 = 1005,
    _CS_LFS64_LIBS___85 = 1006,
    _CS_LFS64_LINTFLAGS___85 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___85 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___85 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___85 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___85 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___85 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___85 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___85 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___85 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___85 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___85 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___85 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___85 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___85 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___85 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___85 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___85 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___85 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___85 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___85 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___85 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___85 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___85 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___85 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___85 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___85 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___85 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___85 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___85 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___85 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___85 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___85 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___85 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___85 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___85 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___85 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___85 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___85 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___85 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___85 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___85 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___85 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___85 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___85 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___85 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___85 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___85 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___85 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___85 = 1147,
    _CS_V6_ENV___85 = 1148,
    _CS_V7_ENV___85 = 1149
} ;
enum __anonenum_513775621___85 {
    DT_UNKNOWN___85 = 0,
    DT_FIFO___85 = 1,
    DT_CHR___85 = 2,
    DT_DIR___85 = 4,
    DT_BLK___85 = 6,
    DT_REG___85 = 8,
    DT_LNK___85 = 10,
    DT_SOCK___85 = 12,
    DT_WHT___85 = 14
} ;
enum __anonenum_77002343___85 {
    SI_ASYNCNL___85 = -60,
    SI_TKILL___85 = -6,
    SI_SIGIO___85 = -5,
    SI_ASYNCIO___85 = -4,
    SI_MESGQ___85 = -3,
    SI_TIMER___85 = -2,
    SI_QUEUE___85 = -1,
    SI_USER___85 = 0,
    SI_KERNEL___85 = 128
} ;
enum __anonenum_131038172___85 {
    ILL_ILLOPC___85 = 1,
    ILL_ILLOPN___85 = 2,
    ILL_ILLADR___85 = 3,
    ILL_ILLTRP___85 = 4,
    ILL_PRVOPC___85 = 5,
    ILL_PRVREG___85 = 6,
    ILL_COPROC___85 = 7,
    ILL_BADSTK___85 = 8
} ;
enum __anonenum_452038093___85 {
    FPE_INTDIV___85 = 1,
    FPE_INTOVF___85 = 2,
    FPE_FLTDIV___85 = 3,
    FPE_FLTOVF___85 = 4,
    FPE_FLTUND___85 = 5,
    FPE_FLTRES___85 = 6,
    FPE_FLTINV___85 = 7,
    FPE_FLTSUB___85 = 8
} ;
enum __anonenum_30976155___85 {
    SEGV_MAPERR___85 = 1,
    SEGV_ACCERR___85 = 2,
    SEGV_BNDERR___85 = 3,
    SEGV_PKUERR___85 = 4
} ;
enum __anonenum_1036286214___85 {
    BUS_ADRALN___85 = 1,
    BUS_ADRERR___85 = 2,
    BUS_OBJERR___85 = 3,
    BUS_MCEERR_AR___85 = 4,
    BUS_MCEERR_AO___85 = 5
} ;
enum __anonenum_493465559___85 {
    TRAP_BRKPT___85 = 1,
    TRAP_TRACE___85 = 2
} ;
enum __anonenum_23175539___85 {
    CLD_EXITED___85 = 1,
    CLD_KILLED___85 = 2,
    CLD_DUMPED___85 = 3,
    CLD_TRAPPED___85 = 4,
    CLD_STOPPED___85 = 5,
    CLD_CONTINUED___85 = 6
} ;
enum __anonenum_111643124___85 {
    POLL_IN___85 = 1,
    POLL_OUT___85 = 2,
    POLL_MSG___85 = 3,
    POLL_ERR___85 = 4,
    POLL_PRI___85 = 5,
    POLL_HUP___85 = 6
} ;
enum __anonenum_852341087___85 {
    SIGEV_SIGNAL___85 = 0,
    SIGEV_NONE___85 = 1,
    SIGEV_THREAD___85 = 2,
    SIGEV_THREAD_ID___85 = 4
} ;
enum __anonenum_451154152___85 {
    REG_R8___85 = 0,
    REG_R9___85 = 1,
    REG_R10___85 = 2,
    REG_R11___85 = 3,
    REG_R12___85 = 4,
    REG_R13___85 = 5,
    REG_R14___85 = 6,
    REG_R15___85 = 7,
    REG_RDI___85 = 8,
    REG_RSI___85 = 9,
    REG_RBP___85 = 10,
    REG_RBX___85 = 11,
    REG_RDX___85 = 12,
    REG_RAX___85 = 13,
    REG_RCX___85 = 14,
    REG_RSP___85 = 15,
    REG_RIP___85 = 16,
    REG_EFL___85 = 17,
    REG_CSGSFS___85 = 18,
    REG_ERR___85 = 19,
    REG_TRAPNO___85 = 20,
    REG_OLDMASK___85 = 21,
    REG_CR2___85 = 22
} ;
enum __anonenum_57186863___85 {
    SS_ONSTACK___85 = 1,
    SS_DISABLE___85 = 2
} ;
enum __anonenum_83571709___85 {
    MSG_OOB___85 = 1,
    MSG_PEEK___85 = 2,
    MSG_DONTROUTE___85 = 4,
    MSG_TRYHARD___85 = 4,
    MSG_CTRUNC___85 = 8,
    MSG_PROXY___85 = 16,
    MSG_TRUNC___85 = 32,
    MSG_DONTWAIT___85 = 64,
    MSG_EOR___85 = 128,
    MSG_WAITALL___85 = 256,
    MSG_FIN___85 = 512,
    MSG_SYN___85 = 1024,
    MSG_CONFIRM___85 = 2048,
    MSG_RST___85 = 4096,
    MSG_ERRQUEUE___85 = 8192,
    MSG_NOSIGNAL___85 = 16384,
    MSG_MORE___85 = 32768,
    MSG_WAITFORONE___85 = 65536,
    MSG_BATCH___85 = 262144,
    MSG_ZEROCOPY___85 = 67108864,
    MSG_FASTOPEN___85 = 536870912,
    MSG_CMSG_CLOEXEC___85 = 1073741824
} ;
enum __anonenum_617082774___85 {
    SCM_RIGHTS___85 = 1,
    SCM_CREDENTIALS___85 = 2
} ;
enum __anonenum_606441560___85 {
    SHUT_RD___85 = 0,
    SHUT_WR___85 = 1,
    SHUT_RDWR___85 = 2
} ;
enum __anonenum_681669233___85 {
    IPPROTO_IP___85 = 0,
    IPPROTO_ICMP___85 = 1,
    IPPROTO_IGMP___85 = 2,
    IPPROTO_IPIP___85 = 4,
    IPPROTO_TCP___85 = 6,
    IPPROTO_EGP___85 = 8,
    IPPROTO_PUP___85 = 12,
    IPPROTO_UDP___85 = 17,
    IPPROTO_IDP___85 = 22,
    IPPROTO_TP___85 = 29,
    IPPROTO_DCCP___85 = 33,
    IPPROTO_IPV6___85 = 41,
    IPPROTO_RSVP___85 = 46,
    IPPROTO_GRE___85 = 47,
    IPPROTO_ESP___85 = 50,
    IPPROTO_AH___85 = 51,
    IPPROTO_MTP___85 = 92,
    IPPROTO_BEETPH___85 = 94,
    IPPROTO_ENCAP___85 = 98,
    IPPROTO_PIM___85 = 103,
    IPPROTO_COMP___85 = 108,
    IPPROTO_SCTP___85 = 132,
    IPPROTO_UDPLITE___85 = 136,
    IPPROTO_MPLS___85 = 137,
    IPPROTO_RAW___85 = 255,
    IPPROTO_MAX___85 = 256
} ;
enum __anonenum_218739988___85 {
    IPPROTO_HOPOPTS___85 = 0,
    IPPROTO_ROUTING___85 = 43,
    IPPROTO_FRAGMENT___85 = 44,
    IPPROTO_ICMPV6___85 = 58,
    IPPROTO_NONE___85 = 59,
    IPPROTO_DSTOPTS___85 = 60,
    IPPROTO_MH___85 = 135
} ;
enum __anonenum_662268580___85 {
    IPPORT_ECHO___85 = 7,
    IPPORT_DISCARD___85 = 9,
    IPPORT_SYSTAT___85 = 11,
    IPPORT_DAYTIME___85 = 13,
    IPPORT_NETSTAT___85 = 15,
    IPPORT_FTP___85 = 21,
    IPPORT_TELNET___85 = 23,
    IPPORT_SMTP___85 = 25,
    IPPORT_TIMESERVER___85 = 37,
    IPPORT_NAMESERVER___85 = 42,
    IPPORT_WHOIS___85 = 43,
    IPPORT_MTP___85 = 57,
    IPPORT_TFTP___85 = 69,
    IPPORT_RJE___85 = 77,
    IPPORT_FINGER___85 = 79,
    IPPORT_TTYLINK___85 = 87,
    IPPORT_SUPDUP___85 = 95,
    IPPORT_EXECSERVER___85 = 512,
    IPPORT_LOGINSERVER___85 = 513,
    IPPORT_CMDSERVER___85 = 514,
    IPPORT_EFSSERVER___85 = 520,
    IPPORT_BIFFUDP___85 = 512,
    IPPORT_WHOSERVER___85 = 513,
    IPPORT_ROUTESERVER___85 = 520,
    IPPORT_RESERVED___85 = 1024,
    IPPORT_USERRESERVED___85 = 5000
} ;
enum __anonenum_788308992___85 {
    TCP_ESTABLISHED___85 = 1,
    TCP_SYN_SENT___85 = 2,
    TCP_SYN_RECV___85 = 3,
    TCP_FIN_WAIT1___85 = 4,
    TCP_FIN_WAIT2___85 = 5,
    TCP_TIME_WAIT___85 = 6,
    TCP_CLOSE___85 = 7,
    TCP_CLOSE_WAIT___85 = 8,
    TCP_LAST_ACK___85 = 9,
    TCP_LISTEN___85 = 10,
    TCP_CLOSING___85 = 11
} ;
enum __anonenum_221125648___85 {
    TCP_NO_QUEUE___85 = 0,
    TCP_RECV_QUEUE___85 = 1,
    TCP_SEND_QUEUE___85 = 2,
    TCP_QUEUES_NR___85 = 3
} ;
enum __anonenum_34415463___85 {
    PTHREAD_CREATE_JOINABLE___85 = 0,
    PTHREAD_CREATE_DETACHED___85 = 1
} ;
enum __anonenum_303612439___85 {
    PTHREAD_MUTEX_TIMED_NP___85 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___85 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___85 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___85 = 3,
    PTHREAD_MUTEX_NORMAL___85 = 0,
    PTHREAD_MUTEX_RECURSIVE___85 = 1,
    PTHREAD_MUTEX_ERRORCHECK___85 = 2,
    PTHREAD_MUTEX_DEFAULT___85 = 0,
    PTHREAD_MUTEX_FAST_NP___85 = 0
} ;
enum __anonenum_931900394___85 {
    PTHREAD_MUTEX_STALLED___85 = 0,
    PTHREAD_MUTEX_STALLED_NP___85 = 0,
    PTHREAD_MUTEX_ROBUST___85 = 1,
    PTHREAD_MUTEX_ROBUST_NP___85 = 1
} ;
enum __anonenum_205214487___85 {
    PTHREAD_PRIO_NONE___85 = 0,
    PTHREAD_PRIO_INHERIT___85 = 1,
    PTHREAD_PRIO_PROTECT___85 = 2
} ;
enum __anonenum_25043950___85 {
    PTHREAD_RWLOCK_PREFER_READER_NP___85 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___85 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___85 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___85 = 0
} ;
enum __anonenum_436439511___85 {
    PTHREAD_INHERIT_SCHED___85 = 0,
    PTHREAD_EXPLICIT_SCHED___85 = 1
} ;
enum __anonenum_998661166___85 {
    PTHREAD_SCOPE_SYSTEM___85 = 0,
    PTHREAD_SCOPE_PROCESS___85 = 1
} ;
enum __anonenum_146137331___85 {
    PTHREAD_PROCESS_PRIVATE___85 = 0,
    PTHREAD_PROCESS_SHARED___85 = 1
} ;
enum __anonenum_53396917___85 {
    PTHREAD_CANCEL_ENABLE___85 = 0,
    PTHREAD_CANCEL_DISABLE___85 = 1
} ;
enum __anonenum_904563783___85 {
    PTHREAD_CANCEL_DEFERRED___85 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___85 = 1
} ;
enum __anonenum_672052974___85 {
    SSL_CT_VALIDATION_PERMISSIVE___85 = 0,
    SSL_CT_VALIDATION_STRICT___85 = 1
} ;
enum __anonenum_437032235___86 {
    _PC_LINK_MAX___86 = 0,
    _PC_MAX_CANON___86 = 1,
    _PC_MAX_INPUT___86 = 2,
    _PC_NAME_MAX___86 = 3,
    _PC_PATH_MAX___86 = 4,
    _PC_PIPE_BUF___86 = 5,
    _PC_CHOWN_RESTRICTED___86 = 6,
    _PC_NO_TRUNC___86 = 7,
    _PC_VDISABLE___86 = 8,
    _PC_SYNC_IO___86 = 9,
    _PC_ASYNC_IO___86 = 10,
    _PC_PRIO_IO___86 = 11,
    _PC_SOCK_MAXBUF___86 = 12,
    _PC_FILESIZEBITS___86 = 13,
    _PC_REC_INCR_XFER_SIZE___86 = 14,
    _PC_REC_MAX_XFER_SIZE___86 = 15,
    _PC_REC_MIN_XFER_SIZE___86 = 16,
    _PC_REC_XFER_ALIGN___86 = 17,
    _PC_ALLOC_SIZE_MIN___86 = 18,
    _PC_SYMLINK_MAX___86 = 19,
    _PC_2_SYMLINKS___86 = 20
} ;
enum __anonenum_315186338___86 {
    _SC_ARG_MAX___86 = 0,
    _SC_CHILD_MAX___86 = 1,
    _SC_CLK_TCK___86 = 2,
    _SC_NGROUPS_MAX___86 = 3,
    _SC_OPEN_MAX___86 = 4,
    _SC_STREAM_MAX___86 = 5,
    _SC_TZNAME_MAX___86 = 6,
    _SC_JOB_CONTROL___86 = 7,
    _SC_SAVED_IDS___86 = 8,
    _SC_REALTIME_SIGNALS___86 = 9,
    _SC_PRIORITY_SCHEDULING___86 = 10,
    _SC_TIMERS___86 = 11,
    _SC_ASYNCHRONOUS_IO___86 = 12,
    _SC_PRIORITIZED_IO___86 = 13,
    _SC_SYNCHRONIZED_IO___86 = 14,
    _SC_FSYNC___86 = 15,
    _SC_MAPPED_FILES___86 = 16,
    _SC_MEMLOCK___86 = 17,
    _SC_MEMLOCK_RANGE___86 = 18,
    _SC_MEMORY_PROTECTION___86 = 19,
    _SC_MESSAGE_PASSING___86 = 20,
    _SC_SEMAPHORES___86 = 21,
    _SC_SHARED_MEMORY_OBJECTS___86 = 22,
    _SC_AIO_LISTIO_MAX___86 = 23,
    _SC_AIO_MAX___86 = 24,
    _SC_AIO_PRIO_DELTA_MAX___86 = 25,
    _SC_DELAYTIMER_MAX___86 = 26,
    _SC_MQ_OPEN_MAX___86 = 27,
    _SC_MQ_PRIO_MAX___86 = 28,
    _SC_VERSION___86 = 29,
    _SC_PAGESIZE___86 = 30,
    _SC_RTSIG_MAX___86 = 31,
    _SC_SEM_NSEMS_MAX___86 = 32,
    _SC_SEM_VALUE_MAX___86 = 33,
    _SC_SIGQUEUE_MAX___86 = 34,
    _SC_TIMER_MAX___86 = 35,
    _SC_BC_BASE_MAX___86 = 36,
    _SC_BC_DIM_MAX___86 = 37,
    _SC_BC_SCALE_MAX___86 = 38,
    _SC_BC_STRING_MAX___86 = 39,
    _SC_COLL_WEIGHTS_MAX___86 = 40,
    _SC_EQUIV_CLASS_MAX___86 = 41,
    _SC_EXPR_NEST_MAX___86 = 42,
    _SC_LINE_MAX___86 = 43,
    _SC_RE_DUP_MAX___86 = 44,
    _SC_CHARCLASS_NAME_MAX___86 = 45,
    _SC_2_VERSION___86 = 46,
    _SC_2_C_BIND___86 = 47,
    _SC_2_C_DEV___86 = 48,
    _SC_2_FORT_DEV___86 = 49,
    _SC_2_FORT_RUN___86 = 50,
    _SC_2_SW_DEV___86 = 51,
    _SC_2_LOCALEDEF___86 = 52,
    _SC_PII___86 = 53,
    _SC_PII_XTI___86 = 54,
    _SC_PII_SOCKET___86 = 55,
    _SC_PII_INTERNET___86 = 56,
    _SC_PII_OSI___86 = 57,
    _SC_POLL___86 = 58,
    _SC_SELECT___86 = 59,
    _SC_UIO_MAXIOV___86 = 60,
    _SC_IOV_MAX___86 = 60,
    _SC_PII_INTERNET_STREAM___86 = 61,
    _SC_PII_INTERNET_DGRAM___86 = 62,
    _SC_PII_OSI_COTS___86 = 63,
    _SC_PII_OSI_CLTS___86 = 64,
    _SC_PII_OSI_M___86 = 65,
    _SC_T_IOV_MAX___86 = 66,
    _SC_THREADS___86 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___86 = 68,
    _SC_GETGR_R_SIZE_MAX___86 = 69,
    _SC_GETPW_R_SIZE_MAX___86 = 70,
    _SC_LOGIN_NAME_MAX___86 = 71,
    _SC_TTY_NAME_MAX___86 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___86 = 73,
    _SC_THREAD_KEYS_MAX___86 = 74,
    _SC_THREAD_STACK_MIN___86 = 75,
    _SC_THREAD_THREADS_MAX___86 = 76,
    _SC_THREAD_ATTR_STACKADDR___86 = 77,
    _SC_THREAD_ATTR_STACKSIZE___86 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___86 = 79,
    _SC_THREAD_PRIO_INHERIT___86 = 80,
    _SC_THREAD_PRIO_PROTECT___86 = 81,
    _SC_THREAD_PROCESS_SHARED___86 = 82,
    _SC_NPROCESSORS_CONF___86 = 83,
    _SC_NPROCESSORS_ONLN___86 = 84,
    _SC_PHYS_PAGES___86 = 85,
    _SC_AVPHYS_PAGES___86 = 86,
    _SC_ATEXIT_MAX___86 = 87,
    _SC_PASS_MAX___86 = 88,
    _SC_XOPEN_VERSION___86 = 89,
    _SC_XOPEN_XCU_VERSION___86 = 90,
    _SC_XOPEN_UNIX___86 = 91,
    _SC_XOPEN_CRYPT___86 = 92,
    _SC_XOPEN_ENH_I18N___86 = 93,
    _SC_XOPEN_SHM___86 = 94,
    _SC_2_CHAR_TERM___86 = 95,
    _SC_2_C_VERSION___86 = 96,
    _SC_2_UPE___86 = 97,
    _SC_XOPEN_XPG2___86 = 98,
    _SC_XOPEN_XPG3___86 = 99,
    _SC_XOPEN_XPG4___86 = 100,
    _SC_CHAR_BIT___86 = 101,
    _SC_CHAR_MAX___86 = 102,
    _SC_CHAR_MIN___86 = 103,
    _SC_INT_MAX___86 = 104,
    _SC_INT_MIN___86 = 105,
    _SC_LONG_BIT___86 = 106,
    _SC_WORD_BIT___86 = 107,
    _SC_MB_LEN_MAX___86 = 108,
    _SC_NZERO___86 = 109,
    _SC_SSIZE_MAX___86 = 110,
    _SC_SCHAR_MAX___86 = 111,
    _SC_SCHAR_MIN___86 = 112,
    _SC_SHRT_MAX___86 = 113,
    _SC_SHRT_MIN___86 = 114,
    _SC_UCHAR_MAX___86 = 115,
    _SC_UINT_MAX___86 = 116,
    _SC_ULONG_MAX___86 = 117,
    _SC_USHRT_MAX___86 = 118,
    _SC_NL_ARGMAX___86 = 119,
    _SC_NL_LANGMAX___86 = 120,
    _SC_NL_MSGMAX___86 = 121,
    _SC_NL_NMAX___86 = 122,
    _SC_NL_SETMAX___86 = 123,
    _SC_NL_TEXTMAX___86 = 124,
    _SC_XBS5_ILP32_OFF32___86 = 125,
    _SC_XBS5_ILP32_OFFBIG___86 = 126,
    _SC_XBS5_LP64_OFF64___86 = 127,
    _SC_XBS5_LPBIG_OFFBIG___86 = 128,
    _SC_XOPEN_LEGACY___86 = 129,
    _SC_XOPEN_REALTIME___86 = 130,
    _SC_XOPEN_REALTIME_THREADS___86 = 131,
    _SC_ADVISORY_INFO___86 = 132,
    _SC_BARRIERS___86 = 133,
    _SC_BASE___86 = 134,
    _SC_C_LANG_SUPPORT___86 = 135,
    _SC_C_LANG_SUPPORT_R___86 = 136,
    _SC_CLOCK_SELECTION___86 = 137,
    _SC_CPUTIME___86 = 138,
    _SC_THREAD_CPUTIME___86 = 139,
    _SC_DEVICE_IO___86 = 140,
    _SC_DEVICE_SPECIFIC___86 = 141,
    _SC_DEVICE_SPECIFIC_R___86 = 142,
    _SC_FD_MGMT___86 = 143,
    _SC_FIFO___86 = 144,
    _SC_PIPE___86 = 145,
    _SC_FILE_ATTRIBUTES___86 = 146,
    _SC_FILE_LOCKING___86 = 147,
    _SC_FILE_SYSTEM___86 = 148,
    _SC_MONOTONIC_CLOCK___86 = 149,
    _SC_MULTI_PROCESS___86 = 150,
    _SC_SINGLE_PROCESS___86 = 151,
    _SC_NETWORKING___86 = 152,
    _SC_READER_WRITER_LOCKS___86 = 153,
    _SC_SPIN_LOCKS___86 = 154,
    _SC_REGEXP___86 = 155,
    _SC_REGEX_VERSION___86 = 156,
    _SC_SHELL___86 = 157,
    _SC_SIGNALS___86 = 158,
    _SC_SPAWN___86 = 159,
    _SC_SPORADIC_SERVER___86 = 160,
    _SC_THREAD_SPORADIC_SERVER___86 = 161,
    _SC_SYSTEM_DATABASE___86 = 162,
    _SC_SYSTEM_DATABASE_R___86 = 163,
    _SC_TIMEOUTS___86 = 164,
    _SC_TYPED_MEMORY_OBJECTS___86 = 165,
    _SC_USER_GROUPS___86 = 166,
    _SC_USER_GROUPS_R___86 = 167,
    _SC_2_PBS___86 = 168,
    _SC_2_PBS_ACCOUNTING___86 = 169,
    _SC_2_PBS_LOCATE___86 = 170,
    _SC_2_PBS_MESSAGE___86 = 171,
    _SC_2_PBS_TRACK___86 = 172,
    _SC_SYMLOOP_MAX___86 = 173,
    _SC_STREAMS___86 = 174,
    _SC_2_PBS_CHECKPOINT___86 = 175,
    _SC_V6_ILP32_OFF32___86 = 176,
    _SC_V6_ILP32_OFFBIG___86 = 177,
    _SC_V6_LP64_OFF64___86 = 178,
    _SC_V6_LPBIG_OFFBIG___86 = 179,
    _SC_HOST_NAME_MAX___86 = 180,
    _SC_TRACE___86 = 181,
    _SC_TRACE_EVENT_FILTER___86 = 182,
    _SC_TRACE_INHERIT___86 = 183,
    _SC_TRACE_LOG___86 = 184,
    _SC_LEVEL1_ICACHE_SIZE___86 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___86 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___86 = 187,
    _SC_LEVEL1_DCACHE_SIZE___86 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___86 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___86 = 190,
    _SC_LEVEL2_CACHE_SIZE___86 = 191,
    _SC_LEVEL2_CACHE_ASSOC___86 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___86 = 193,
    _SC_LEVEL3_CACHE_SIZE___86 = 194,
    _SC_LEVEL3_CACHE_ASSOC___86 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___86 = 196,
    _SC_LEVEL4_CACHE_SIZE___86 = 197,
    _SC_LEVEL4_CACHE_ASSOC___86 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___86 = 199,
    _SC_IPV6___86 = 235,
    _SC_RAW_SOCKETS___86 = 236,
    _SC_V7_ILP32_OFF32___86 = 237,
    _SC_V7_ILP32_OFFBIG___86 = 238,
    _SC_V7_LP64_OFF64___86 = 239,
    _SC_V7_LPBIG_OFFBIG___86 = 240,
    _SC_SS_REPL_MAX___86 = 241,
    _SC_TRACE_EVENT_NAME_MAX___86 = 242,
    _SC_TRACE_NAME_MAX___86 = 243,
    _SC_TRACE_SYS_MAX___86 = 244,
    _SC_TRACE_USER_EVENT_MAX___86 = 245,
    _SC_XOPEN_STREAMS___86 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___86 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___86 = 248
} ;
enum __anonenum_875524036___86 {
    _CS_PATH___86 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___86 = 1,
    _CS_GNU_LIBC_VERSION___86 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___86 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___86 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___86 = 5,
    _CS_LFS_CFLAGS___86 = 1000,
    _CS_LFS_LDFLAGS___86 = 1001,
    _CS_LFS_LIBS___86 = 1002,
    _CS_LFS_LINTFLAGS___86 = 1003,
    _CS_LFS64_CFLAGS___86 = 1004,
    _CS_LFS64_LDFLAGS___86 = 1005,
    _CS_LFS64_LIBS___86 = 1006,
    _CS_LFS64_LINTFLAGS___86 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___86 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___86 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___86 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___86 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___86 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___86 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___86 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___86 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___86 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___86 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___86 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___86 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___86 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___86 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___86 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___86 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___86 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___86 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___86 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___86 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___86 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___86 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___86 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___86 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___86 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___86 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___86 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___86 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___86 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___86 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___86 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___86 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___86 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___86 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___86 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___86 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___86 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___86 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___86 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___86 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___86 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___86 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___86 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___86 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___86 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___86 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___86 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___86 = 1147,
    _CS_V6_ENV___86 = 1148,
    _CS_V7_ENV___86 = 1149
} ;
enum __anonenum_513775621___86 {
    DT_UNKNOWN___86 = 0,
    DT_FIFO___86 = 1,
    DT_CHR___86 = 2,
    DT_DIR___86 = 4,
    DT_BLK___86 = 6,
    DT_REG___86 = 8,
    DT_LNK___86 = 10,
    DT_SOCK___86 = 12,
    DT_WHT___86 = 14
} ;
enum __anonenum_77002343___86 {
    SI_ASYNCNL___86 = -60,
    SI_TKILL___86 = -6,
    SI_SIGIO___86 = -5,
    SI_ASYNCIO___86 = -4,
    SI_MESGQ___86 = -3,
    SI_TIMER___86 = -2,
    SI_QUEUE___86 = -1,
    SI_USER___86 = 0,
    SI_KERNEL___86 = 128
} ;
enum __anonenum_131038172___86 {
    ILL_ILLOPC___86 = 1,
    ILL_ILLOPN___86 = 2,
    ILL_ILLADR___86 = 3,
    ILL_ILLTRP___86 = 4,
    ILL_PRVOPC___86 = 5,
    ILL_PRVREG___86 = 6,
    ILL_COPROC___86 = 7,
    ILL_BADSTK___86 = 8
} ;
enum __anonenum_452038093___86 {
    FPE_INTDIV___86 = 1,
    FPE_INTOVF___86 = 2,
    FPE_FLTDIV___86 = 3,
    FPE_FLTOVF___86 = 4,
    FPE_FLTUND___86 = 5,
    FPE_FLTRES___86 = 6,
    FPE_FLTINV___86 = 7,
    FPE_FLTSUB___86 = 8
} ;
enum __anonenum_30976155___86 {
    SEGV_MAPERR___86 = 1,
    SEGV_ACCERR___86 = 2,
    SEGV_BNDERR___86 = 3,
    SEGV_PKUERR___86 = 4
} ;
enum __anonenum_1036286214___86 {
    BUS_ADRALN___86 = 1,
    BUS_ADRERR___86 = 2,
    BUS_OBJERR___86 = 3,
    BUS_MCEERR_AR___86 = 4,
    BUS_MCEERR_AO___86 = 5
} ;
enum __anonenum_493465559___86 {
    TRAP_BRKPT___86 = 1,
    TRAP_TRACE___86 = 2
} ;
enum __anonenum_23175539___86 {
    CLD_EXITED___86 = 1,
    CLD_KILLED___86 = 2,
    CLD_DUMPED___86 = 3,
    CLD_TRAPPED___86 = 4,
    CLD_STOPPED___86 = 5,
    CLD_CONTINUED___86 = 6
} ;
enum __anonenum_111643124___86 {
    POLL_IN___86 = 1,
    POLL_OUT___86 = 2,
    POLL_MSG___86 = 3,
    POLL_ERR___86 = 4,
    POLL_PRI___86 = 5,
    POLL_HUP___86 = 6
} ;
enum __anonenum_852341087___86 {
    SIGEV_SIGNAL___86 = 0,
    SIGEV_NONE___86 = 1,
    SIGEV_THREAD___86 = 2,
    SIGEV_THREAD_ID___86 = 4
} ;
enum __anonenum_451154152___86 {
    REG_R8___86 = 0,
    REG_R9___86 = 1,
    REG_R10___86 = 2,
    REG_R11___86 = 3,
    REG_R12___86 = 4,
    REG_R13___86 = 5,
    REG_R14___86 = 6,
    REG_R15___86 = 7,
    REG_RDI___86 = 8,
    REG_RSI___86 = 9,
    REG_RBP___86 = 10,
    REG_RBX___86 = 11,
    REG_RDX___86 = 12,
    REG_RAX___86 = 13,
    REG_RCX___86 = 14,
    REG_RSP___86 = 15,
    REG_RIP___86 = 16,
    REG_EFL___86 = 17,
    REG_CSGSFS___86 = 18,
    REG_ERR___86 = 19,
    REG_TRAPNO___86 = 20,
    REG_OLDMASK___86 = 21,
    REG_CR2___86 = 22
} ;
enum __anonenum_57186863___86 {
    SS_ONSTACK___86 = 1,
    SS_DISABLE___86 = 2
} ;
enum __anonenum_83571709___86 {
    MSG_OOB___86 = 1,
    MSG_PEEK___86 = 2,
    MSG_DONTROUTE___86 = 4,
    MSG_TRYHARD___86 = 4,
    MSG_CTRUNC___86 = 8,
    MSG_PROXY___86 = 16,
    MSG_TRUNC___86 = 32,
    MSG_DONTWAIT___86 = 64,
    MSG_EOR___86 = 128,
    MSG_WAITALL___86 = 256,
    MSG_FIN___86 = 512,
    MSG_SYN___86 = 1024,
    MSG_CONFIRM___86 = 2048,
    MSG_RST___86 = 4096,
    MSG_ERRQUEUE___86 = 8192,
    MSG_NOSIGNAL___86 = 16384,
    MSG_MORE___86 = 32768,
    MSG_WAITFORONE___86 = 65536,
    MSG_BATCH___86 = 262144,
    MSG_ZEROCOPY___86 = 67108864,
    MSG_FASTOPEN___86 = 536870912,
    MSG_CMSG_CLOEXEC___86 = 1073741824
} ;
enum __anonenum_617082774___86 {
    SCM_RIGHTS___86 = 1,
    SCM_CREDENTIALS___86 = 2
} ;
enum __anonenum_606441560___86 {
    SHUT_RD___86 = 0,
    SHUT_WR___86 = 1,
    SHUT_RDWR___86 = 2
} ;
enum __anonenum_681669233___86 {
    IPPROTO_IP___86 = 0,
    IPPROTO_ICMP___86 = 1,
    IPPROTO_IGMP___86 = 2,
    IPPROTO_IPIP___86 = 4,
    IPPROTO_TCP___86 = 6,
    IPPROTO_EGP___86 = 8,
    IPPROTO_PUP___86 = 12,
    IPPROTO_UDP___86 = 17,
    IPPROTO_IDP___86 = 22,
    IPPROTO_TP___86 = 29,
    IPPROTO_DCCP___86 = 33,
    IPPROTO_IPV6___86 = 41,
    IPPROTO_RSVP___86 = 46,
    IPPROTO_GRE___86 = 47,
    IPPROTO_ESP___86 = 50,
    IPPROTO_AH___86 = 51,
    IPPROTO_MTP___86 = 92,
    IPPROTO_BEETPH___86 = 94,
    IPPROTO_ENCAP___86 = 98,
    IPPROTO_PIM___86 = 103,
    IPPROTO_COMP___86 = 108,
    IPPROTO_SCTP___86 = 132,
    IPPROTO_UDPLITE___86 = 136,
    IPPROTO_MPLS___86 = 137,
    IPPROTO_RAW___86 = 255,
    IPPROTO_MAX___86 = 256
} ;
enum __anonenum_218739988___86 {
    IPPROTO_HOPOPTS___86 = 0,
    IPPROTO_ROUTING___86 = 43,
    IPPROTO_FRAGMENT___86 = 44,
    IPPROTO_ICMPV6___86 = 58,
    IPPROTO_NONE___86 = 59,
    IPPROTO_DSTOPTS___86 = 60,
    IPPROTO_MH___86 = 135
} ;
enum __anonenum_662268580___86 {
    IPPORT_ECHO___86 = 7,
    IPPORT_DISCARD___86 = 9,
    IPPORT_SYSTAT___86 = 11,
    IPPORT_DAYTIME___86 = 13,
    IPPORT_NETSTAT___86 = 15,
    IPPORT_FTP___86 = 21,
    IPPORT_TELNET___86 = 23,
    IPPORT_SMTP___86 = 25,
    IPPORT_TIMESERVER___86 = 37,
    IPPORT_NAMESERVER___86 = 42,
    IPPORT_WHOIS___86 = 43,
    IPPORT_MTP___86 = 57,
    IPPORT_TFTP___86 = 69,
    IPPORT_RJE___86 = 77,
    IPPORT_FINGER___86 = 79,
    IPPORT_TTYLINK___86 = 87,
    IPPORT_SUPDUP___86 = 95,
    IPPORT_EXECSERVER___86 = 512,
    IPPORT_LOGINSERVER___86 = 513,
    IPPORT_CMDSERVER___86 = 514,
    IPPORT_EFSSERVER___86 = 520,
    IPPORT_BIFFUDP___86 = 512,
    IPPORT_WHOSERVER___86 = 513,
    IPPORT_ROUTESERVER___86 = 520,
    IPPORT_RESERVED___86 = 1024,
    IPPORT_USERRESERVED___86 = 5000
} ;
enum __anonenum_788308992___86 {
    TCP_ESTABLISHED___86 = 1,
    TCP_SYN_SENT___86 = 2,
    TCP_SYN_RECV___86 = 3,
    TCP_FIN_WAIT1___86 = 4,
    TCP_FIN_WAIT2___86 = 5,
    TCP_TIME_WAIT___86 = 6,
    TCP_CLOSE___86 = 7,
    TCP_CLOSE_WAIT___86 = 8,
    TCP_LAST_ACK___86 = 9,
    TCP_LISTEN___86 = 10,
    TCP_CLOSING___86 = 11
} ;
enum __anonenum_221125648___86 {
    TCP_NO_QUEUE___86 = 0,
    TCP_RECV_QUEUE___86 = 1,
    TCP_SEND_QUEUE___86 = 2,
    TCP_QUEUES_NR___86 = 3
} ;
enum __anonenum_34415463___86 {
    PTHREAD_CREATE_JOINABLE___86 = 0,
    PTHREAD_CREATE_DETACHED___86 = 1
} ;
enum __anonenum_303612439___86 {
    PTHREAD_MUTEX_TIMED_NP___86 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___86 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___86 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___86 = 3,
    PTHREAD_MUTEX_NORMAL___86 = 0,
    PTHREAD_MUTEX_RECURSIVE___86 = 1,
    PTHREAD_MUTEX_ERRORCHECK___86 = 2,
    PTHREAD_MUTEX_DEFAULT___86 = 0,
    PTHREAD_MUTEX_FAST_NP___86 = 0
} ;
enum __anonenum_931900394___86 {
    PTHREAD_MUTEX_STALLED___86 = 0,
    PTHREAD_MUTEX_STALLED_NP___86 = 0,
    PTHREAD_MUTEX_ROBUST___86 = 1,
    PTHREAD_MUTEX_ROBUST_NP___86 = 1
} ;
enum __anonenum_205214487___86 {
    PTHREAD_PRIO_NONE___86 = 0,
    PTHREAD_PRIO_INHERIT___86 = 1,
    PTHREAD_PRIO_PROTECT___86 = 2
} ;
enum __anonenum_25043950___86 {
    PTHREAD_RWLOCK_PREFER_READER_NP___86 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___86 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___86 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___86 = 0
} ;
enum __anonenum_436439511___86 {
    PTHREAD_INHERIT_SCHED___86 = 0,
    PTHREAD_EXPLICIT_SCHED___86 = 1
} ;
enum __anonenum_998661166___86 {
    PTHREAD_SCOPE_SYSTEM___86 = 0,
    PTHREAD_SCOPE_PROCESS___86 = 1
} ;
enum __anonenum_146137331___86 {
    PTHREAD_PROCESS_PRIVATE___86 = 0,
    PTHREAD_PROCESS_SHARED___86 = 1
} ;
enum __anonenum_53396917___86 {
    PTHREAD_CANCEL_ENABLE___86 = 0,
    PTHREAD_CANCEL_DISABLE___86 = 1
} ;
enum __anonenum_904563783___86 {
    PTHREAD_CANCEL_DEFERRED___86 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___86 = 1
} ;
enum __anonenum_672052974___86 {
    SSL_CT_VALIDATION_PERMISSIVE___86 = 0,
    SSL_CT_VALIDATION_STRICT___86 = 1
} ;
typedef char const   *(*nth_line_fn_t)(void *data , long lno );
struct range {
   long start ;
   long end ;
};
struct range_set {
   unsigned int alloc ;
   unsigned int nr ;
   struct range *ranges ;
};
struct diff_ranges {
   struct range_set parent ;
   struct range_set target ;
};
struct line_log_data {
   struct line_log_data *next ;
   char *path ;
   struct range_set ranges ;
   struct diff_filepair *pair ;
   struct diff_ranges diff ;
};
struct collect_diff_cbdata {
   struct diff_ranges *diff ;
};
struct nth_line_cb {
   struct diff_filespec *spec ;
   long lines ;
   unsigned long *line_ends ;
};
enum __anonenum_437032235___87 {
    _PC_LINK_MAX___87 = 0,
    _PC_MAX_CANON___87 = 1,
    _PC_MAX_INPUT___87 = 2,
    _PC_NAME_MAX___87 = 3,
    _PC_PATH_MAX___87 = 4,
    _PC_PIPE_BUF___87 = 5,
    _PC_CHOWN_RESTRICTED___87 = 6,
    _PC_NO_TRUNC___87 = 7,
    _PC_VDISABLE___87 = 8,
    _PC_SYNC_IO___87 = 9,
    _PC_ASYNC_IO___87 = 10,
    _PC_PRIO_IO___87 = 11,
    _PC_SOCK_MAXBUF___87 = 12,
    _PC_FILESIZEBITS___87 = 13,
    _PC_REC_INCR_XFER_SIZE___87 = 14,
    _PC_REC_MAX_XFER_SIZE___87 = 15,
    _PC_REC_MIN_XFER_SIZE___87 = 16,
    _PC_REC_XFER_ALIGN___87 = 17,
    _PC_ALLOC_SIZE_MIN___87 = 18,
    _PC_SYMLINK_MAX___87 = 19,
    _PC_2_SYMLINKS___87 = 20
} ;
enum __anonenum_315186338___87 {
    _SC_ARG_MAX___87 = 0,
    _SC_CHILD_MAX___87 = 1,
    _SC_CLK_TCK___87 = 2,
    _SC_NGROUPS_MAX___87 = 3,
    _SC_OPEN_MAX___87 = 4,
    _SC_STREAM_MAX___87 = 5,
    _SC_TZNAME_MAX___87 = 6,
    _SC_JOB_CONTROL___87 = 7,
    _SC_SAVED_IDS___87 = 8,
    _SC_REALTIME_SIGNALS___87 = 9,
    _SC_PRIORITY_SCHEDULING___87 = 10,
    _SC_TIMERS___87 = 11,
    _SC_ASYNCHRONOUS_IO___87 = 12,
    _SC_PRIORITIZED_IO___87 = 13,
    _SC_SYNCHRONIZED_IO___87 = 14,
    _SC_FSYNC___87 = 15,
    _SC_MAPPED_FILES___87 = 16,
    _SC_MEMLOCK___87 = 17,
    _SC_MEMLOCK_RANGE___87 = 18,
    _SC_MEMORY_PROTECTION___87 = 19,
    _SC_MESSAGE_PASSING___87 = 20,
    _SC_SEMAPHORES___87 = 21,
    _SC_SHARED_MEMORY_OBJECTS___87 = 22,
    _SC_AIO_LISTIO_MAX___87 = 23,
    _SC_AIO_MAX___87 = 24,
    _SC_AIO_PRIO_DELTA_MAX___87 = 25,
    _SC_DELAYTIMER_MAX___87 = 26,
    _SC_MQ_OPEN_MAX___87 = 27,
    _SC_MQ_PRIO_MAX___87 = 28,
    _SC_VERSION___87 = 29,
    _SC_PAGESIZE___87 = 30,
    _SC_RTSIG_MAX___87 = 31,
    _SC_SEM_NSEMS_MAX___87 = 32,
    _SC_SEM_VALUE_MAX___87 = 33,
    _SC_SIGQUEUE_MAX___87 = 34,
    _SC_TIMER_MAX___87 = 35,
    _SC_BC_BASE_MAX___87 = 36,
    _SC_BC_DIM_MAX___87 = 37,
    _SC_BC_SCALE_MAX___87 = 38,
    _SC_BC_STRING_MAX___87 = 39,
    _SC_COLL_WEIGHTS_MAX___87 = 40,
    _SC_EQUIV_CLASS_MAX___87 = 41,
    _SC_EXPR_NEST_MAX___87 = 42,
    _SC_LINE_MAX___87 = 43,
    _SC_RE_DUP_MAX___87 = 44,
    _SC_CHARCLASS_NAME_MAX___87 = 45,
    _SC_2_VERSION___87 = 46,
    _SC_2_C_BIND___87 = 47,
    _SC_2_C_DEV___87 = 48,
    _SC_2_FORT_DEV___87 = 49,
    _SC_2_FORT_RUN___87 = 50,
    _SC_2_SW_DEV___87 = 51,
    _SC_2_LOCALEDEF___87 = 52,
    _SC_PII___87 = 53,
    _SC_PII_XTI___87 = 54,
    _SC_PII_SOCKET___87 = 55,
    _SC_PII_INTERNET___87 = 56,
    _SC_PII_OSI___87 = 57,
    _SC_POLL___87 = 58,
    _SC_SELECT___87 = 59,
    _SC_UIO_MAXIOV___87 = 60,
    _SC_IOV_MAX___87 = 60,
    _SC_PII_INTERNET_STREAM___87 = 61,
    _SC_PII_INTERNET_DGRAM___87 = 62,
    _SC_PII_OSI_COTS___87 = 63,
    _SC_PII_OSI_CLTS___87 = 64,
    _SC_PII_OSI_M___87 = 65,
    _SC_T_IOV_MAX___87 = 66,
    _SC_THREADS___87 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___87 = 68,
    _SC_GETGR_R_SIZE_MAX___87 = 69,
    _SC_GETPW_R_SIZE_MAX___87 = 70,
    _SC_LOGIN_NAME_MAX___87 = 71,
    _SC_TTY_NAME_MAX___87 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___87 = 73,
    _SC_THREAD_KEYS_MAX___87 = 74,
    _SC_THREAD_STACK_MIN___87 = 75,
    _SC_THREAD_THREADS_MAX___87 = 76,
    _SC_THREAD_ATTR_STACKADDR___87 = 77,
    _SC_THREAD_ATTR_STACKSIZE___87 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___87 = 79,
    _SC_THREAD_PRIO_INHERIT___87 = 80,
    _SC_THREAD_PRIO_PROTECT___87 = 81,
    _SC_THREAD_PROCESS_SHARED___87 = 82,
    _SC_NPROCESSORS_CONF___87 = 83,
    _SC_NPROCESSORS_ONLN___87 = 84,
    _SC_PHYS_PAGES___87 = 85,
    _SC_AVPHYS_PAGES___87 = 86,
    _SC_ATEXIT_MAX___87 = 87,
    _SC_PASS_MAX___87 = 88,
    _SC_XOPEN_VERSION___87 = 89,
    _SC_XOPEN_XCU_VERSION___87 = 90,
    _SC_XOPEN_UNIX___87 = 91,
    _SC_XOPEN_CRYPT___87 = 92,
    _SC_XOPEN_ENH_I18N___87 = 93,
    _SC_XOPEN_SHM___87 = 94,
    _SC_2_CHAR_TERM___87 = 95,
    _SC_2_C_VERSION___87 = 96,
    _SC_2_UPE___87 = 97,
    _SC_XOPEN_XPG2___87 = 98,
    _SC_XOPEN_XPG3___87 = 99,
    _SC_XOPEN_XPG4___87 = 100,
    _SC_CHAR_BIT___87 = 101,
    _SC_CHAR_MAX___87 = 102,
    _SC_CHAR_MIN___87 = 103,
    _SC_INT_MAX___87 = 104,
    _SC_INT_MIN___87 = 105,
    _SC_LONG_BIT___87 = 106,
    _SC_WORD_BIT___87 = 107,
    _SC_MB_LEN_MAX___87 = 108,
    _SC_NZERO___87 = 109,
    _SC_SSIZE_MAX___87 = 110,
    _SC_SCHAR_MAX___87 = 111,
    _SC_SCHAR_MIN___87 = 112,
    _SC_SHRT_MAX___87 = 113,
    _SC_SHRT_MIN___87 = 114,
    _SC_UCHAR_MAX___87 = 115,
    _SC_UINT_MAX___87 = 116,
    _SC_ULONG_MAX___87 = 117,
    _SC_USHRT_MAX___87 = 118,
    _SC_NL_ARGMAX___87 = 119,
    _SC_NL_LANGMAX___87 = 120,
    _SC_NL_MSGMAX___87 = 121,
    _SC_NL_NMAX___87 = 122,
    _SC_NL_SETMAX___87 = 123,
    _SC_NL_TEXTMAX___87 = 124,
    _SC_XBS5_ILP32_OFF32___87 = 125,
    _SC_XBS5_ILP32_OFFBIG___87 = 126,
    _SC_XBS5_LP64_OFF64___87 = 127,
    _SC_XBS5_LPBIG_OFFBIG___87 = 128,
    _SC_XOPEN_LEGACY___87 = 129,
    _SC_XOPEN_REALTIME___87 = 130,
    _SC_XOPEN_REALTIME_THREADS___87 = 131,
    _SC_ADVISORY_INFO___87 = 132,
    _SC_BARRIERS___87 = 133,
    _SC_BASE___87 = 134,
    _SC_C_LANG_SUPPORT___87 = 135,
    _SC_C_LANG_SUPPORT_R___87 = 136,
    _SC_CLOCK_SELECTION___87 = 137,
    _SC_CPUTIME___87 = 138,
    _SC_THREAD_CPUTIME___87 = 139,
    _SC_DEVICE_IO___87 = 140,
    _SC_DEVICE_SPECIFIC___87 = 141,
    _SC_DEVICE_SPECIFIC_R___87 = 142,
    _SC_FD_MGMT___87 = 143,
    _SC_FIFO___87 = 144,
    _SC_PIPE___87 = 145,
    _SC_FILE_ATTRIBUTES___87 = 146,
    _SC_FILE_LOCKING___87 = 147,
    _SC_FILE_SYSTEM___87 = 148,
    _SC_MONOTONIC_CLOCK___87 = 149,
    _SC_MULTI_PROCESS___87 = 150,
    _SC_SINGLE_PROCESS___87 = 151,
    _SC_NETWORKING___87 = 152,
    _SC_READER_WRITER_LOCKS___87 = 153,
    _SC_SPIN_LOCKS___87 = 154,
    _SC_REGEXP___87 = 155,
    _SC_REGEX_VERSION___87 = 156,
    _SC_SHELL___87 = 157,
    _SC_SIGNALS___87 = 158,
    _SC_SPAWN___87 = 159,
    _SC_SPORADIC_SERVER___87 = 160,
    _SC_THREAD_SPORADIC_SERVER___87 = 161,
    _SC_SYSTEM_DATABASE___87 = 162,
    _SC_SYSTEM_DATABASE_R___87 = 163,
    _SC_TIMEOUTS___87 = 164,
    _SC_TYPED_MEMORY_OBJECTS___87 = 165,
    _SC_USER_GROUPS___87 = 166,
    _SC_USER_GROUPS_R___87 = 167,
    _SC_2_PBS___87 = 168,
    _SC_2_PBS_ACCOUNTING___87 = 169,
    _SC_2_PBS_LOCATE___87 = 170,
    _SC_2_PBS_MESSAGE___87 = 171,
    _SC_2_PBS_TRACK___87 = 172,
    _SC_SYMLOOP_MAX___87 = 173,
    _SC_STREAMS___87 = 174,
    _SC_2_PBS_CHECKPOINT___87 = 175,
    _SC_V6_ILP32_OFF32___87 = 176,
    _SC_V6_ILP32_OFFBIG___87 = 177,
    _SC_V6_LP64_OFF64___87 = 178,
    _SC_V6_LPBIG_OFFBIG___87 = 179,
    _SC_HOST_NAME_MAX___87 = 180,
    _SC_TRACE___87 = 181,
    _SC_TRACE_EVENT_FILTER___87 = 182,
    _SC_TRACE_INHERIT___87 = 183,
    _SC_TRACE_LOG___87 = 184,
    _SC_LEVEL1_ICACHE_SIZE___87 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___87 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___87 = 187,
    _SC_LEVEL1_DCACHE_SIZE___87 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___87 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___87 = 190,
    _SC_LEVEL2_CACHE_SIZE___87 = 191,
    _SC_LEVEL2_CACHE_ASSOC___87 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___87 = 193,
    _SC_LEVEL3_CACHE_SIZE___87 = 194,
    _SC_LEVEL3_CACHE_ASSOC___87 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___87 = 196,
    _SC_LEVEL4_CACHE_SIZE___87 = 197,
    _SC_LEVEL4_CACHE_ASSOC___87 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___87 = 199,
    _SC_IPV6___87 = 235,
    _SC_RAW_SOCKETS___87 = 236,
    _SC_V7_ILP32_OFF32___87 = 237,
    _SC_V7_ILP32_OFFBIG___87 = 238,
    _SC_V7_LP64_OFF64___87 = 239,
    _SC_V7_LPBIG_OFFBIG___87 = 240,
    _SC_SS_REPL_MAX___87 = 241,
    _SC_TRACE_EVENT_NAME_MAX___87 = 242,
    _SC_TRACE_NAME_MAX___87 = 243,
    _SC_TRACE_SYS_MAX___87 = 244,
    _SC_TRACE_USER_EVENT_MAX___87 = 245,
    _SC_XOPEN_STREAMS___87 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___87 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___87 = 248
} ;
enum __anonenum_875524036___87 {
    _CS_PATH___87 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___87 = 1,
    _CS_GNU_LIBC_VERSION___87 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___87 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___87 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___87 = 5,
    _CS_LFS_CFLAGS___87 = 1000,
    _CS_LFS_LDFLAGS___87 = 1001,
    _CS_LFS_LIBS___87 = 1002,
    _CS_LFS_LINTFLAGS___87 = 1003,
    _CS_LFS64_CFLAGS___87 = 1004,
    _CS_LFS64_LDFLAGS___87 = 1005,
    _CS_LFS64_LIBS___87 = 1006,
    _CS_LFS64_LINTFLAGS___87 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___87 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___87 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___87 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___87 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___87 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___87 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___87 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___87 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___87 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___87 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___87 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___87 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___87 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___87 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___87 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___87 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___87 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___87 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___87 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___87 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___87 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___87 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___87 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___87 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___87 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___87 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___87 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___87 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___87 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___87 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___87 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___87 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___87 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___87 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___87 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___87 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___87 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___87 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___87 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___87 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___87 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___87 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___87 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___87 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___87 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___87 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___87 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___87 = 1147,
    _CS_V6_ENV___87 = 1148,
    _CS_V7_ENV___87 = 1149
} ;
enum __anonenum_513775621___87 {
    DT_UNKNOWN___87 = 0,
    DT_FIFO___87 = 1,
    DT_CHR___87 = 2,
    DT_DIR___87 = 4,
    DT_BLK___87 = 6,
    DT_REG___87 = 8,
    DT_LNK___87 = 10,
    DT_SOCK___87 = 12,
    DT_WHT___87 = 14
} ;
enum __anonenum_77002343___87 {
    SI_ASYNCNL___87 = -60,
    SI_TKILL___87 = -6,
    SI_SIGIO___87 = -5,
    SI_ASYNCIO___87 = -4,
    SI_MESGQ___87 = -3,
    SI_TIMER___87 = -2,
    SI_QUEUE___87 = -1,
    SI_USER___87 = 0,
    SI_KERNEL___87 = 128
} ;
enum __anonenum_131038172___87 {
    ILL_ILLOPC___87 = 1,
    ILL_ILLOPN___87 = 2,
    ILL_ILLADR___87 = 3,
    ILL_ILLTRP___87 = 4,
    ILL_PRVOPC___87 = 5,
    ILL_PRVREG___87 = 6,
    ILL_COPROC___87 = 7,
    ILL_BADSTK___87 = 8
} ;
enum __anonenum_452038093___87 {
    FPE_INTDIV___87 = 1,
    FPE_INTOVF___87 = 2,
    FPE_FLTDIV___87 = 3,
    FPE_FLTOVF___87 = 4,
    FPE_FLTUND___87 = 5,
    FPE_FLTRES___87 = 6,
    FPE_FLTINV___87 = 7,
    FPE_FLTSUB___87 = 8
} ;
enum __anonenum_30976155___87 {
    SEGV_MAPERR___87 = 1,
    SEGV_ACCERR___87 = 2,
    SEGV_BNDERR___87 = 3,
    SEGV_PKUERR___87 = 4
} ;
enum __anonenum_1036286214___87 {
    BUS_ADRALN___87 = 1,
    BUS_ADRERR___87 = 2,
    BUS_OBJERR___87 = 3,
    BUS_MCEERR_AR___87 = 4,
    BUS_MCEERR_AO___87 = 5
} ;
enum __anonenum_493465559___87 {
    TRAP_BRKPT___87 = 1,
    TRAP_TRACE___87 = 2
} ;
enum __anonenum_23175539___87 {
    CLD_EXITED___87 = 1,
    CLD_KILLED___87 = 2,
    CLD_DUMPED___87 = 3,
    CLD_TRAPPED___87 = 4,
    CLD_STOPPED___87 = 5,
    CLD_CONTINUED___87 = 6
} ;
enum __anonenum_111643124___87 {
    POLL_IN___87 = 1,
    POLL_OUT___87 = 2,
    POLL_MSG___87 = 3,
    POLL_ERR___87 = 4,
    POLL_PRI___87 = 5,
    POLL_HUP___87 = 6
} ;
enum __anonenum_852341087___87 {
    SIGEV_SIGNAL___87 = 0,
    SIGEV_NONE___87 = 1,
    SIGEV_THREAD___87 = 2,
    SIGEV_THREAD_ID___87 = 4
} ;
enum __anonenum_451154152___87 {
    REG_R8___87 = 0,
    REG_R9___87 = 1,
    REG_R10___87 = 2,
    REG_R11___87 = 3,
    REG_R12___87 = 4,
    REG_R13___87 = 5,
    REG_R14___87 = 6,
    REG_R15___87 = 7,
    REG_RDI___87 = 8,
    REG_RSI___87 = 9,
    REG_RBP___87 = 10,
    REG_RBX___87 = 11,
    REG_RDX___87 = 12,
    REG_RAX___87 = 13,
    REG_RCX___87 = 14,
    REG_RSP___87 = 15,
    REG_RIP___87 = 16,
    REG_EFL___87 = 17,
    REG_CSGSFS___87 = 18,
    REG_ERR___87 = 19,
    REG_TRAPNO___87 = 20,
    REG_OLDMASK___87 = 21,
    REG_CR2___87 = 22
} ;
enum __anonenum_57186863___87 {
    SS_ONSTACK___87 = 1,
    SS_DISABLE___87 = 2
} ;
enum __anonenum_83571709___87 {
    MSG_OOB___87 = 1,
    MSG_PEEK___87 = 2,
    MSG_DONTROUTE___87 = 4,
    MSG_TRYHARD___87 = 4,
    MSG_CTRUNC___87 = 8,
    MSG_PROXY___87 = 16,
    MSG_TRUNC___87 = 32,
    MSG_DONTWAIT___87 = 64,
    MSG_EOR___87 = 128,
    MSG_WAITALL___87 = 256,
    MSG_FIN___87 = 512,
    MSG_SYN___87 = 1024,
    MSG_CONFIRM___87 = 2048,
    MSG_RST___87 = 4096,
    MSG_ERRQUEUE___87 = 8192,
    MSG_NOSIGNAL___87 = 16384,
    MSG_MORE___87 = 32768,
    MSG_WAITFORONE___87 = 65536,
    MSG_BATCH___87 = 262144,
    MSG_ZEROCOPY___87 = 67108864,
    MSG_FASTOPEN___87 = 536870912,
    MSG_CMSG_CLOEXEC___87 = 1073741824
} ;
enum __anonenum_617082774___87 {
    SCM_RIGHTS___87 = 1,
    SCM_CREDENTIALS___87 = 2
} ;
enum __anonenum_606441560___87 {
    SHUT_RD___87 = 0,
    SHUT_WR___87 = 1,
    SHUT_RDWR___87 = 2
} ;
enum __anonenum_681669233___87 {
    IPPROTO_IP___87 = 0,
    IPPROTO_ICMP___87 = 1,
    IPPROTO_IGMP___87 = 2,
    IPPROTO_IPIP___87 = 4,
    IPPROTO_TCP___87 = 6,
    IPPROTO_EGP___87 = 8,
    IPPROTO_PUP___87 = 12,
    IPPROTO_UDP___87 = 17,
    IPPROTO_IDP___87 = 22,
    IPPROTO_TP___87 = 29,
    IPPROTO_DCCP___87 = 33,
    IPPROTO_IPV6___87 = 41,
    IPPROTO_RSVP___87 = 46,
    IPPROTO_GRE___87 = 47,
    IPPROTO_ESP___87 = 50,
    IPPROTO_AH___87 = 51,
    IPPROTO_MTP___87 = 92,
    IPPROTO_BEETPH___87 = 94,
    IPPROTO_ENCAP___87 = 98,
    IPPROTO_PIM___87 = 103,
    IPPROTO_COMP___87 = 108,
    IPPROTO_SCTP___87 = 132,
    IPPROTO_UDPLITE___87 = 136,
    IPPROTO_MPLS___87 = 137,
    IPPROTO_RAW___87 = 255,
    IPPROTO_MAX___87 = 256
} ;
enum __anonenum_218739988___87 {
    IPPROTO_HOPOPTS___87 = 0,
    IPPROTO_ROUTING___87 = 43,
    IPPROTO_FRAGMENT___87 = 44,
    IPPROTO_ICMPV6___87 = 58,
    IPPROTO_NONE___87 = 59,
    IPPROTO_DSTOPTS___87 = 60,
    IPPROTO_MH___87 = 135
} ;
enum __anonenum_662268580___87 {
    IPPORT_ECHO___87 = 7,
    IPPORT_DISCARD___87 = 9,
    IPPORT_SYSTAT___87 = 11,
    IPPORT_DAYTIME___87 = 13,
    IPPORT_NETSTAT___87 = 15,
    IPPORT_FTP___87 = 21,
    IPPORT_TELNET___87 = 23,
    IPPORT_SMTP___87 = 25,
    IPPORT_TIMESERVER___87 = 37,
    IPPORT_NAMESERVER___87 = 42,
    IPPORT_WHOIS___87 = 43,
    IPPORT_MTP___87 = 57,
    IPPORT_TFTP___87 = 69,
    IPPORT_RJE___87 = 77,
    IPPORT_FINGER___87 = 79,
    IPPORT_TTYLINK___87 = 87,
    IPPORT_SUPDUP___87 = 95,
    IPPORT_EXECSERVER___87 = 512,
    IPPORT_LOGINSERVER___87 = 513,
    IPPORT_CMDSERVER___87 = 514,
    IPPORT_EFSSERVER___87 = 520,
    IPPORT_BIFFUDP___87 = 512,
    IPPORT_WHOSERVER___87 = 513,
    IPPORT_ROUTESERVER___87 = 520,
    IPPORT_RESERVED___87 = 1024,
    IPPORT_USERRESERVED___87 = 5000
} ;
enum __anonenum_788308992___87 {
    TCP_ESTABLISHED___87 = 1,
    TCP_SYN_SENT___87 = 2,
    TCP_SYN_RECV___87 = 3,
    TCP_FIN_WAIT1___87 = 4,
    TCP_FIN_WAIT2___87 = 5,
    TCP_TIME_WAIT___87 = 6,
    TCP_CLOSE___87 = 7,
    TCP_CLOSE_WAIT___87 = 8,
    TCP_LAST_ACK___87 = 9,
    TCP_LISTEN___87 = 10,
    TCP_CLOSING___87 = 11
} ;
enum __anonenum_221125648___87 {
    TCP_NO_QUEUE___87 = 0,
    TCP_RECV_QUEUE___87 = 1,
    TCP_SEND_QUEUE___87 = 2,
    TCP_QUEUES_NR___87 = 3
} ;
enum __anonenum_34415463___87 {
    PTHREAD_CREATE_JOINABLE___87 = 0,
    PTHREAD_CREATE_DETACHED___87 = 1
} ;
enum __anonenum_303612439___87 {
    PTHREAD_MUTEX_TIMED_NP___87 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___87 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___87 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___87 = 3,
    PTHREAD_MUTEX_NORMAL___87 = 0,
    PTHREAD_MUTEX_RECURSIVE___87 = 1,
    PTHREAD_MUTEX_ERRORCHECK___87 = 2,
    PTHREAD_MUTEX_DEFAULT___87 = 0,
    PTHREAD_MUTEX_FAST_NP___87 = 0
} ;
enum __anonenum_931900394___87 {
    PTHREAD_MUTEX_STALLED___87 = 0,
    PTHREAD_MUTEX_STALLED_NP___87 = 0,
    PTHREAD_MUTEX_ROBUST___87 = 1,
    PTHREAD_MUTEX_ROBUST_NP___87 = 1
} ;
enum __anonenum_205214487___87 {
    PTHREAD_PRIO_NONE___87 = 0,
    PTHREAD_PRIO_INHERIT___87 = 1,
    PTHREAD_PRIO_PROTECT___87 = 2
} ;
enum __anonenum_25043950___87 {
    PTHREAD_RWLOCK_PREFER_READER_NP___87 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___87 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___87 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___87 = 0
} ;
enum __anonenum_436439511___87 {
    PTHREAD_INHERIT_SCHED___87 = 0,
    PTHREAD_EXPLICIT_SCHED___87 = 1
} ;
enum __anonenum_998661166___87 {
    PTHREAD_SCOPE_SYSTEM___87 = 0,
    PTHREAD_SCOPE_PROCESS___87 = 1
} ;
enum __anonenum_146137331___87 {
    PTHREAD_PROCESS_PRIVATE___87 = 0,
    PTHREAD_PROCESS_SHARED___87 = 1
} ;
enum __anonenum_53396917___87 {
    PTHREAD_CANCEL_ENABLE___87 = 0,
    PTHREAD_CANCEL_DISABLE___87 = 1
} ;
enum __anonenum_904563783___87 {
    PTHREAD_CANCEL_DEFERRED___87 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___87 = 1
} ;
enum __anonenum_672052974___87 {
    SSL_CT_VALIDATION_PERMISSIVE___87 = 0,
    SSL_CT_VALIDATION_STRICT___87 = 1
} ;
enum __anonenum_437032235___88 {
    _PC_LINK_MAX___88 = 0,
    _PC_MAX_CANON___88 = 1,
    _PC_MAX_INPUT___88 = 2,
    _PC_NAME_MAX___88 = 3,
    _PC_PATH_MAX___88 = 4,
    _PC_PIPE_BUF___88 = 5,
    _PC_CHOWN_RESTRICTED___88 = 6,
    _PC_NO_TRUNC___88 = 7,
    _PC_VDISABLE___88 = 8,
    _PC_SYNC_IO___88 = 9,
    _PC_ASYNC_IO___88 = 10,
    _PC_PRIO_IO___88 = 11,
    _PC_SOCK_MAXBUF___88 = 12,
    _PC_FILESIZEBITS___88 = 13,
    _PC_REC_INCR_XFER_SIZE___88 = 14,
    _PC_REC_MAX_XFER_SIZE___88 = 15,
    _PC_REC_MIN_XFER_SIZE___88 = 16,
    _PC_REC_XFER_ALIGN___88 = 17,
    _PC_ALLOC_SIZE_MIN___88 = 18,
    _PC_SYMLINK_MAX___88 = 19,
    _PC_2_SYMLINKS___88 = 20
} ;
enum __anonenum_315186338___88 {
    _SC_ARG_MAX___88 = 0,
    _SC_CHILD_MAX___88 = 1,
    _SC_CLK_TCK___88 = 2,
    _SC_NGROUPS_MAX___88 = 3,
    _SC_OPEN_MAX___88 = 4,
    _SC_STREAM_MAX___88 = 5,
    _SC_TZNAME_MAX___88 = 6,
    _SC_JOB_CONTROL___88 = 7,
    _SC_SAVED_IDS___88 = 8,
    _SC_REALTIME_SIGNALS___88 = 9,
    _SC_PRIORITY_SCHEDULING___88 = 10,
    _SC_TIMERS___88 = 11,
    _SC_ASYNCHRONOUS_IO___88 = 12,
    _SC_PRIORITIZED_IO___88 = 13,
    _SC_SYNCHRONIZED_IO___88 = 14,
    _SC_FSYNC___88 = 15,
    _SC_MAPPED_FILES___88 = 16,
    _SC_MEMLOCK___88 = 17,
    _SC_MEMLOCK_RANGE___88 = 18,
    _SC_MEMORY_PROTECTION___88 = 19,
    _SC_MESSAGE_PASSING___88 = 20,
    _SC_SEMAPHORES___88 = 21,
    _SC_SHARED_MEMORY_OBJECTS___88 = 22,
    _SC_AIO_LISTIO_MAX___88 = 23,
    _SC_AIO_MAX___88 = 24,
    _SC_AIO_PRIO_DELTA_MAX___88 = 25,
    _SC_DELAYTIMER_MAX___88 = 26,
    _SC_MQ_OPEN_MAX___88 = 27,
    _SC_MQ_PRIO_MAX___88 = 28,
    _SC_VERSION___88 = 29,
    _SC_PAGESIZE___88 = 30,
    _SC_RTSIG_MAX___88 = 31,
    _SC_SEM_NSEMS_MAX___88 = 32,
    _SC_SEM_VALUE_MAX___88 = 33,
    _SC_SIGQUEUE_MAX___88 = 34,
    _SC_TIMER_MAX___88 = 35,
    _SC_BC_BASE_MAX___88 = 36,
    _SC_BC_DIM_MAX___88 = 37,
    _SC_BC_SCALE_MAX___88 = 38,
    _SC_BC_STRING_MAX___88 = 39,
    _SC_COLL_WEIGHTS_MAX___88 = 40,
    _SC_EQUIV_CLASS_MAX___88 = 41,
    _SC_EXPR_NEST_MAX___88 = 42,
    _SC_LINE_MAX___88 = 43,
    _SC_RE_DUP_MAX___88 = 44,
    _SC_CHARCLASS_NAME_MAX___88 = 45,
    _SC_2_VERSION___88 = 46,
    _SC_2_C_BIND___88 = 47,
    _SC_2_C_DEV___88 = 48,
    _SC_2_FORT_DEV___88 = 49,
    _SC_2_FORT_RUN___88 = 50,
    _SC_2_SW_DEV___88 = 51,
    _SC_2_LOCALEDEF___88 = 52,
    _SC_PII___88 = 53,
    _SC_PII_XTI___88 = 54,
    _SC_PII_SOCKET___88 = 55,
    _SC_PII_INTERNET___88 = 56,
    _SC_PII_OSI___88 = 57,
    _SC_POLL___88 = 58,
    _SC_SELECT___88 = 59,
    _SC_UIO_MAXIOV___88 = 60,
    _SC_IOV_MAX___88 = 60,
    _SC_PII_INTERNET_STREAM___88 = 61,
    _SC_PII_INTERNET_DGRAM___88 = 62,
    _SC_PII_OSI_COTS___88 = 63,
    _SC_PII_OSI_CLTS___88 = 64,
    _SC_PII_OSI_M___88 = 65,
    _SC_T_IOV_MAX___88 = 66,
    _SC_THREADS___88 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___88 = 68,
    _SC_GETGR_R_SIZE_MAX___88 = 69,
    _SC_GETPW_R_SIZE_MAX___88 = 70,
    _SC_LOGIN_NAME_MAX___88 = 71,
    _SC_TTY_NAME_MAX___88 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___88 = 73,
    _SC_THREAD_KEYS_MAX___88 = 74,
    _SC_THREAD_STACK_MIN___88 = 75,
    _SC_THREAD_THREADS_MAX___88 = 76,
    _SC_THREAD_ATTR_STACKADDR___88 = 77,
    _SC_THREAD_ATTR_STACKSIZE___88 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___88 = 79,
    _SC_THREAD_PRIO_INHERIT___88 = 80,
    _SC_THREAD_PRIO_PROTECT___88 = 81,
    _SC_THREAD_PROCESS_SHARED___88 = 82,
    _SC_NPROCESSORS_CONF___88 = 83,
    _SC_NPROCESSORS_ONLN___88 = 84,
    _SC_PHYS_PAGES___88 = 85,
    _SC_AVPHYS_PAGES___88 = 86,
    _SC_ATEXIT_MAX___88 = 87,
    _SC_PASS_MAX___88 = 88,
    _SC_XOPEN_VERSION___88 = 89,
    _SC_XOPEN_XCU_VERSION___88 = 90,
    _SC_XOPEN_UNIX___88 = 91,
    _SC_XOPEN_CRYPT___88 = 92,
    _SC_XOPEN_ENH_I18N___88 = 93,
    _SC_XOPEN_SHM___88 = 94,
    _SC_2_CHAR_TERM___88 = 95,
    _SC_2_C_VERSION___88 = 96,
    _SC_2_UPE___88 = 97,
    _SC_XOPEN_XPG2___88 = 98,
    _SC_XOPEN_XPG3___88 = 99,
    _SC_XOPEN_XPG4___88 = 100,
    _SC_CHAR_BIT___88 = 101,
    _SC_CHAR_MAX___88 = 102,
    _SC_CHAR_MIN___88 = 103,
    _SC_INT_MAX___88 = 104,
    _SC_INT_MIN___88 = 105,
    _SC_LONG_BIT___88 = 106,
    _SC_WORD_BIT___88 = 107,
    _SC_MB_LEN_MAX___88 = 108,
    _SC_NZERO___88 = 109,
    _SC_SSIZE_MAX___88 = 110,
    _SC_SCHAR_MAX___88 = 111,
    _SC_SCHAR_MIN___88 = 112,
    _SC_SHRT_MAX___88 = 113,
    _SC_SHRT_MIN___88 = 114,
    _SC_UCHAR_MAX___88 = 115,
    _SC_UINT_MAX___88 = 116,
    _SC_ULONG_MAX___88 = 117,
    _SC_USHRT_MAX___88 = 118,
    _SC_NL_ARGMAX___88 = 119,
    _SC_NL_LANGMAX___88 = 120,
    _SC_NL_MSGMAX___88 = 121,
    _SC_NL_NMAX___88 = 122,
    _SC_NL_SETMAX___88 = 123,
    _SC_NL_TEXTMAX___88 = 124,
    _SC_XBS5_ILP32_OFF32___88 = 125,
    _SC_XBS5_ILP32_OFFBIG___88 = 126,
    _SC_XBS5_LP64_OFF64___88 = 127,
    _SC_XBS5_LPBIG_OFFBIG___88 = 128,
    _SC_XOPEN_LEGACY___88 = 129,
    _SC_XOPEN_REALTIME___88 = 130,
    _SC_XOPEN_REALTIME_THREADS___88 = 131,
    _SC_ADVISORY_INFO___88 = 132,
    _SC_BARRIERS___88 = 133,
    _SC_BASE___88 = 134,
    _SC_C_LANG_SUPPORT___88 = 135,
    _SC_C_LANG_SUPPORT_R___88 = 136,
    _SC_CLOCK_SELECTION___88 = 137,
    _SC_CPUTIME___88 = 138,
    _SC_THREAD_CPUTIME___88 = 139,
    _SC_DEVICE_IO___88 = 140,
    _SC_DEVICE_SPECIFIC___88 = 141,
    _SC_DEVICE_SPECIFIC_R___88 = 142,
    _SC_FD_MGMT___88 = 143,
    _SC_FIFO___88 = 144,
    _SC_PIPE___88 = 145,
    _SC_FILE_ATTRIBUTES___88 = 146,
    _SC_FILE_LOCKING___88 = 147,
    _SC_FILE_SYSTEM___88 = 148,
    _SC_MONOTONIC_CLOCK___88 = 149,
    _SC_MULTI_PROCESS___88 = 150,
    _SC_SINGLE_PROCESS___88 = 151,
    _SC_NETWORKING___88 = 152,
    _SC_READER_WRITER_LOCKS___88 = 153,
    _SC_SPIN_LOCKS___88 = 154,
    _SC_REGEXP___88 = 155,
    _SC_REGEX_VERSION___88 = 156,
    _SC_SHELL___88 = 157,
    _SC_SIGNALS___88 = 158,
    _SC_SPAWN___88 = 159,
    _SC_SPORADIC_SERVER___88 = 160,
    _SC_THREAD_SPORADIC_SERVER___88 = 161,
    _SC_SYSTEM_DATABASE___88 = 162,
    _SC_SYSTEM_DATABASE_R___88 = 163,
    _SC_TIMEOUTS___88 = 164,
    _SC_TYPED_MEMORY_OBJECTS___88 = 165,
    _SC_USER_GROUPS___88 = 166,
    _SC_USER_GROUPS_R___88 = 167,
    _SC_2_PBS___88 = 168,
    _SC_2_PBS_ACCOUNTING___88 = 169,
    _SC_2_PBS_LOCATE___88 = 170,
    _SC_2_PBS_MESSAGE___88 = 171,
    _SC_2_PBS_TRACK___88 = 172,
    _SC_SYMLOOP_MAX___88 = 173,
    _SC_STREAMS___88 = 174,
    _SC_2_PBS_CHECKPOINT___88 = 175,
    _SC_V6_ILP32_OFF32___88 = 176,
    _SC_V6_ILP32_OFFBIG___88 = 177,
    _SC_V6_LP64_OFF64___88 = 178,
    _SC_V6_LPBIG_OFFBIG___88 = 179,
    _SC_HOST_NAME_MAX___88 = 180,
    _SC_TRACE___88 = 181,
    _SC_TRACE_EVENT_FILTER___88 = 182,
    _SC_TRACE_INHERIT___88 = 183,
    _SC_TRACE_LOG___88 = 184,
    _SC_LEVEL1_ICACHE_SIZE___88 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___88 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___88 = 187,
    _SC_LEVEL1_DCACHE_SIZE___88 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___88 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___88 = 190,
    _SC_LEVEL2_CACHE_SIZE___88 = 191,
    _SC_LEVEL2_CACHE_ASSOC___88 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___88 = 193,
    _SC_LEVEL3_CACHE_SIZE___88 = 194,
    _SC_LEVEL3_CACHE_ASSOC___88 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___88 = 196,
    _SC_LEVEL4_CACHE_SIZE___88 = 197,
    _SC_LEVEL4_CACHE_ASSOC___88 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___88 = 199,
    _SC_IPV6___88 = 235,
    _SC_RAW_SOCKETS___88 = 236,
    _SC_V7_ILP32_OFF32___88 = 237,
    _SC_V7_ILP32_OFFBIG___88 = 238,
    _SC_V7_LP64_OFF64___88 = 239,
    _SC_V7_LPBIG_OFFBIG___88 = 240,
    _SC_SS_REPL_MAX___88 = 241,
    _SC_TRACE_EVENT_NAME_MAX___88 = 242,
    _SC_TRACE_NAME_MAX___88 = 243,
    _SC_TRACE_SYS_MAX___88 = 244,
    _SC_TRACE_USER_EVENT_MAX___88 = 245,
    _SC_XOPEN_STREAMS___88 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___88 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___88 = 248
} ;
enum __anonenum_875524036___88 {
    _CS_PATH___88 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___88 = 1,
    _CS_GNU_LIBC_VERSION___88 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___88 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___88 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___88 = 5,
    _CS_LFS_CFLAGS___88 = 1000,
    _CS_LFS_LDFLAGS___88 = 1001,
    _CS_LFS_LIBS___88 = 1002,
    _CS_LFS_LINTFLAGS___88 = 1003,
    _CS_LFS64_CFLAGS___88 = 1004,
    _CS_LFS64_LDFLAGS___88 = 1005,
    _CS_LFS64_LIBS___88 = 1006,
    _CS_LFS64_LINTFLAGS___88 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___88 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___88 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___88 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___88 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___88 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___88 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___88 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___88 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___88 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___88 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___88 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___88 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___88 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___88 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___88 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___88 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___88 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___88 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___88 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___88 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___88 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___88 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___88 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___88 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___88 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___88 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___88 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___88 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___88 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___88 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___88 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___88 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___88 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___88 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___88 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___88 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___88 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___88 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___88 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___88 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___88 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___88 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___88 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___88 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___88 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___88 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___88 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___88 = 1147,
    _CS_V6_ENV___88 = 1148,
    _CS_V7_ENV___88 = 1149
} ;
enum __anonenum_513775621___88 {
    DT_UNKNOWN___88 = 0,
    DT_FIFO___88 = 1,
    DT_CHR___88 = 2,
    DT_DIR___88 = 4,
    DT_BLK___88 = 6,
    DT_REG___88 = 8,
    DT_LNK___88 = 10,
    DT_SOCK___88 = 12,
    DT_WHT___88 = 14
} ;
enum __anonenum_77002343___88 {
    SI_ASYNCNL___88 = -60,
    SI_TKILL___88 = -6,
    SI_SIGIO___88 = -5,
    SI_ASYNCIO___88 = -4,
    SI_MESGQ___88 = -3,
    SI_TIMER___88 = -2,
    SI_QUEUE___88 = -1,
    SI_USER___88 = 0,
    SI_KERNEL___88 = 128
} ;
enum __anonenum_131038172___88 {
    ILL_ILLOPC___88 = 1,
    ILL_ILLOPN___88 = 2,
    ILL_ILLADR___88 = 3,
    ILL_ILLTRP___88 = 4,
    ILL_PRVOPC___88 = 5,
    ILL_PRVREG___88 = 6,
    ILL_COPROC___88 = 7,
    ILL_BADSTK___88 = 8
} ;
enum __anonenum_452038093___88 {
    FPE_INTDIV___88 = 1,
    FPE_INTOVF___88 = 2,
    FPE_FLTDIV___88 = 3,
    FPE_FLTOVF___88 = 4,
    FPE_FLTUND___88 = 5,
    FPE_FLTRES___88 = 6,
    FPE_FLTINV___88 = 7,
    FPE_FLTSUB___88 = 8
} ;
enum __anonenum_30976155___88 {
    SEGV_MAPERR___88 = 1,
    SEGV_ACCERR___88 = 2,
    SEGV_BNDERR___88 = 3,
    SEGV_PKUERR___88 = 4
} ;
enum __anonenum_1036286214___88 {
    BUS_ADRALN___88 = 1,
    BUS_ADRERR___88 = 2,
    BUS_OBJERR___88 = 3,
    BUS_MCEERR_AR___88 = 4,
    BUS_MCEERR_AO___88 = 5
} ;
enum __anonenum_493465559___88 {
    TRAP_BRKPT___88 = 1,
    TRAP_TRACE___88 = 2
} ;
enum __anonenum_23175539___88 {
    CLD_EXITED___88 = 1,
    CLD_KILLED___88 = 2,
    CLD_DUMPED___88 = 3,
    CLD_TRAPPED___88 = 4,
    CLD_STOPPED___88 = 5,
    CLD_CONTINUED___88 = 6
} ;
enum __anonenum_111643124___88 {
    POLL_IN___88 = 1,
    POLL_OUT___88 = 2,
    POLL_MSG___88 = 3,
    POLL_ERR___88 = 4,
    POLL_PRI___88 = 5,
    POLL_HUP___88 = 6
} ;
enum __anonenum_852341087___88 {
    SIGEV_SIGNAL___88 = 0,
    SIGEV_NONE___88 = 1,
    SIGEV_THREAD___88 = 2,
    SIGEV_THREAD_ID___88 = 4
} ;
enum __anonenum_451154152___88 {
    REG_R8___88 = 0,
    REG_R9___88 = 1,
    REG_R10___88 = 2,
    REG_R11___88 = 3,
    REG_R12___88 = 4,
    REG_R13___88 = 5,
    REG_R14___88 = 6,
    REG_R15___88 = 7,
    REG_RDI___88 = 8,
    REG_RSI___88 = 9,
    REG_RBP___88 = 10,
    REG_RBX___88 = 11,
    REG_RDX___88 = 12,
    REG_RAX___88 = 13,
    REG_RCX___88 = 14,
    REG_RSP___88 = 15,
    REG_RIP___88 = 16,
    REG_EFL___88 = 17,
    REG_CSGSFS___88 = 18,
    REG_ERR___88 = 19,
    REG_TRAPNO___88 = 20,
    REG_OLDMASK___88 = 21,
    REG_CR2___88 = 22
} ;
enum __anonenum_57186863___88 {
    SS_ONSTACK___88 = 1,
    SS_DISABLE___88 = 2
} ;
enum __anonenum_83571709___88 {
    MSG_OOB___88 = 1,
    MSG_PEEK___88 = 2,
    MSG_DONTROUTE___88 = 4,
    MSG_TRYHARD___88 = 4,
    MSG_CTRUNC___88 = 8,
    MSG_PROXY___88 = 16,
    MSG_TRUNC___88 = 32,
    MSG_DONTWAIT___88 = 64,
    MSG_EOR___88 = 128,
    MSG_WAITALL___88 = 256,
    MSG_FIN___88 = 512,
    MSG_SYN___88 = 1024,
    MSG_CONFIRM___88 = 2048,
    MSG_RST___88 = 4096,
    MSG_ERRQUEUE___88 = 8192,
    MSG_NOSIGNAL___88 = 16384,
    MSG_MORE___88 = 32768,
    MSG_WAITFORONE___88 = 65536,
    MSG_BATCH___88 = 262144,
    MSG_ZEROCOPY___88 = 67108864,
    MSG_FASTOPEN___88 = 536870912,
    MSG_CMSG_CLOEXEC___88 = 1073741824
} ;
enum __anonenum_617082774___88 {
    SCM_RIGHTS___88 = 1,
    SCM_CREDENTIALS___88 = 2
} ;
enum __anonenum_606441560___88 {
    SHUT_RD___88 = 0,
    SHUT_WR___88 = 1,
    SHUT_RDWR___88 = 2
} ;
enum __anonenum_681669233___88 {
    IPPROTO_IP___88 = 0,
    IPPROTO_ICMP___88 = 1,
    IPPROTO_IGMP___88 = 2,
    IPPROTO_IPIP___88 = 4,
    IPPROTO_TCP___88 = 6,
    IPPROTO_EGP___88 = 8,
    IPPROTO_PUP___88 = 12,
    IPPROTO_UDP___88 = 17,
    IPPROTO_IDP___88 = 22,
    IPPROTO_TP___88 = 29,
    IPPROTO_DCCP___88 = 33,
    IPPROTO_IPV6___88 = 41,
    IPPROTO_RSVP___88 = 46,
    IPPROTO_GRE___88 = 47,
    IPPROTO_ESP___88 = 50,
    IPPROTO_AH___88 = 51,
    IPPROTO_MTP___88 = 92,
    IPPROTO_BEETPH___88 = 94,
    IPPROTO_ENCAP___88 = 98,
    IPPROTO_PIM___88 = 103,
    IPPROTO_COMP___88 = 108,
    IPPROTO_SCTP___88 = 132,
    IPPROTO_UDPLITE___88 = 136,
    IPPROTO_MPLS___88 = 137,
    IPPROTO_RAW___88 = 255,
    IPPROTO_MAX___88 = 256
} ;
enum __anonenum_218739988___88 {
    IPPROTO_HOPOPTS___88 = 0,
    IPPROTO_ROUTING___88 = 43,
    IPPROTO_FRAGMENT___88 = 44,
    IPPROTO_ICMPV6___88 = 58,
    IPPROTO_NONE___88 = 59,
    IPPROTO_DSTOPTS___88 = 60,
    IPPROTO_MH___88 = 135
} ;
enum __anonenum_662268580___88 {
    IPPORT_ECHO___88 = 7,
    IPPORT_DISCARD___88 = 9,
    IPPORT_SYSTAT___88 = 11,
    IPPORT_DAYTIME___88 = 13,
    IPPORT_NETSTAT___88 = 15,
    IPPORT_FTP___88 = 21,
    IPPORT_TELNET___88 = 23,
    IPPORT_SMTP___88 = 25,
    IPPORT_TIMESERVER___88 = 37,
    IPPORT_NAMESERVER___88 = 42,
    IPPORT_WHOIS___88 = 43,
    IPPORT_MTP___88 = 57,
    IPPORT_TFTP___88 = 69,
    IPPORT_RJE___88 = 77,
    IPPORT_FINGER___88 = 79,
    IPPORT_TTYLINK___88 = 87,
    IPPORT_SUPDUP___88 = 95,
    IPPORT_EXECSERVER___88 = 512,
    IPPORT_LOGINSERVER___88 = 513,
    IPPORT_CMDSERVER___88 = 514,
    IPPORT_EFSSERVER___88 = 520,
    IPPORT_BIFFUDP___88 = 512,
    IPPORT_WHOSERVER___88 = 513,
    IPPORT_ROUTESERVER___88 = 520,
    IPPORT_RESERVED___88 = 1024,
    IPPORT_USERRESERVED___88 = 5000
} ;
enum __anonenum_788308992___88 {
    TCP_ESTABLISHED___88 = 1,
    TCP_SYN_SENT___88 = 2,
    TCP_SYN_RECV___88 = 3,
    TCP_FIN_WAIT1___88 = 4,
    TCP_FIN_WAIT2___88 = 5,
    TCP_TIME_WAIT___88 = 6,
    TCP_CLOSE___88 = 7,
    TCP_CLOSE_WAIT___88 = 8,
    TCP_LAST_ACK___88 = 9,
    TCP_LISTEN___88 = 10,
    TCP_CLOSING___88 = 11
} ;
enum __anonenum_221125648___88 {
    TCP_NO_QUEUE___88 = 0,
    TCP_RECV_QUEUE___88 = 1,
    TCP_SEND_QUEUE___88 = 2,
    TCP_QUEUES_NR___88 = 3
} ;
enum __anonenum_34415463___88 {
    PTHREAD_CREATE_JOINABLE___88 = 0,
    PTHREAD_CREATE_DETACHED___88 = 1
} ;
enum __anonenum_303612439___88 {
    PTHREAD_MUTEX_TIMED_NP___88 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___88 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___88 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___88 = 3,
    PTHREAD_MUTEX_NORMAL___88 = 0,
    PTHREAD_MUTEX_RECURSIVE___88 = 1,
    PTHREAD_MUTEX_ERRORCHECK___88 = 2,
    PTHREAD_MUTEX_DEFAULT___88 = 0,
    PTHREAD_MUTEX_FAST_NP___88 = 0
} ;
enum __anonenum_931900394___88 {
    PTHREAD_MUTEX_STALLED___88 = 0,
    PTHREAD_MUTEX_STALLED_NP___88 = 0,
    PTHREAD_MUTEX_ROBUST___88 = 1,
    PTHREAD_MUTEX_ROBUST_NP___88 = 1
} ;
enum __anonenum_205214487___88 {
    PTHREAD_PRIO_NONE___88 = 0,
    PTHREAD_PRIO_INHERIT___88 = 1,
    PTHREAD_PRIO_PROTECT___88 = 2
} ;
enum __anonenum_25043950___88 {
    PTHREAD_RWLOCK_PREFER_READER_NP___88 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___88 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___88 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___88 = 0
} ;
enum __anonenum_436439511___88 {
    PTHREAD_INHERIT_SCHED___88 = 0,
    PTHREAD_EXPLICIT_SCHED___88 = 1
} ;
enum __anonenum_998661166___88 {
    PTHREAD_SCOPE_SYSTEM___88 = 0,
    PTHREAD_SCOPE_PROCESS___88 = 1
} ;
enum __anonenum_146137331___88 {
    PTHREAD_PROCESS_PRIVATE___88 = 0,
    PTHREAD_PROCESS_SHARED___88 = 1
} ;
enum __anonenum_53396917___88 {
    PTHREAD_CANCEL_ENABLE___88 = 0,
    PTHREAD_CANCEL_DISABLE___88 = 1
} ;
enum __anonenum_904563783___88 {
    PTHREAD_CANCEL_DEFERRED___88 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___88 = 1
} ;
enum __anonenum_672052974___88 {
    SSL_CT_VALIDATION_PERMISSIVE___88 = 0,
    SSL_CT_VALIDATION_STRICT___88 = 1
} ;
enum __anonenum_437032235___89 {
    _PC_LINK_MAX___89 = 0,
    _PC_MAX_CANON___89 = 1,
    _PC_MAX_INPUT___89 = 2,
    _PC_NAME_MAX___89 = 3,
    _PC_PATH_MAX___89 = 4,
    _PC_PIPE_BUF___89 = 5,
    _PC_CHOWN_RESTRICTED___89 = 6,
    _PC_NO_TRUNC___89 = 7,
    _PC_VDISABLE___89 = 8,
    _PC_SYNC_IO___89 = 9,
    _PC_ASYNC_IO___89 = 10,
    _PC_PRIO_IO___89 = 11,
    _PC_SOCK_MAXBUF___89 = 12,
    _PC_FILESIZEBITS___89 = 13,
    _PC_REC_INCR_XFER_SIZE___89 = 14,
    _PC_REC_MAX_XFER_SIZE___89 = 15,
    _PC_REC_MIN_XFER_SIZE___89 = 16,
    _PC_REC_XFER_ALIGN___89 = 17,
    _PC_ALLOC_SIZE_MIN___89 = 18,
    _PC_SYMLINK_MAX___89 = 19,
    _PC_2_SYMLINKS___89 = 20
} ;
enum __anonenum_315186338___89 {
    _SC_ARG_MAX___89 = 0,
    _SC_CHILD_MAX___89 = 1,
    _SC_CLK_TCK___89 = 2,
    _SC_NGROUPS_MAX___89 = 3,
    _SC_OPEN_MAX___89 = 4,
    _SC_STREAM_MAX___89 = 5,
    _SC_TZNAME_MAX___89 = 6,
    _SC_JOB_CONTROL___89 = 7,
    _SC_SAVED_IDS___89 = 8,
    _SC_REALTIME_SIGNALS___89 = 9,
    _SC_PRIORITY_SCHEDULING___89 = 10,
    _SC_TIMERS___89 = 11,
    _SC_ASYNCHRONOUS_IO___89 = 12,
    _SC_PRIORITIZED_IO___89 = 13,
    _SC_SYNCHRONIZED_IO___89 = 14,
    _SC_FSYNC___89 = 15,
    _SC_MAPPED_FILES___89 = 16,
    _SC_MEMLOCK___89 = 17,
    _SC_MEMLOCK_RANGE___89 = 18,
    _SC_MEMORY_PROTECTION___89 = 19,
    _SC_MESSAGE_PASSING___89 = 20,
    _SC_SEMAPHORES___89 = 21,
    _SC_SHARED_MEMORY_OBJECTS___89 = 22,
    _SC_AIO_LISTIO_MAX___89 = 23,
    _SC_AIO_MAX___89 = 24,
    _SC_AIO_PRIO_DELTA_MAX___89 = 25,
    _SC_DELAYTIMER_MAX___89 = 26,
    _SC_MQ_OPEN_MAX___89 = 27,
    _SC_MQ_PRIO_MAX___89 = 28,
    _SC_VERSION___89 = 29,
    _SC_PAGESIZE___89 = 30,
    _SC_RTSIG_MAX___89 = 31,
    _SC_SEM_NSEMS_MAX___89 = 32,
    _SC_SEM_VALUE_MAX___89 = 33,
    _SC_SIGQUEUE_MAX___89 = 34,
    _SC_TIMER_MAX___89 = 35,
    _SC_BC_BASE_MAX___89 = 36,
    _SC_BC_DIM_MAX___89 = 37,
    _SC_BC_SCALE_MAX___89 = 38,
    _SC_BC_STRING_MAX___89 = 39,
    _SC_COLL_WEIGHTS_MAX___89 = 40,
    _SC_EQUIV_CLASS_MAX___89 = 41,
    _SC_EXPR_NEST_MAX___89 = 42,
    _SC_LINE_MAX___89 = 43,
    _SC_RE_DUP_MAX___89 = 44,
    _SC_CHARCLASS_NAME_MAX___89 = 45,
    _SC_2_VERSION___89 = 46,
    _SC_2_C_BIND___89 = 47,
    _SC_2_C_DEV___89 = 48,
    _SC_2_FORT_DEV___89 = 49,
    _SC_2_FORT_RUN___89 = 50,
    _SC_2_SW_DEV___89 = 51,
    _SC_2_LOCALEDEF___89 = 52,
    _SC_PII___89 = 53,
    _SC_PII_XTI___89 = 54,
    _SC_PII_SOCKET___89 = 55,
    _SC_PII_INTERNET___89 = 56,
    _SC_PII_OSI___89 = 57,
    _SC_POLL___89 = 58,
    _SC_SELECT___89 = 59,
    _SC_UIO_MAXIOV___89 = 60,
    _SC_IOV_MAX___89 = 60,
    _SC_PII_INTERNET_STREAM___89 = 61,
    _SC_PII_INTERNET_DGRAM___89 = 62,
    _SC_PII_OSI_COTS___89 = 63,
    _SC_PII_OSI_CLTS___89 = 64,
    _SC_PII_OSI_M___89 = 65,
    _SC_T_IOV_MAX___89 = 66,
    _SC_THREADS___89 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___89 = 68,
    _SC_GETGR_R_SIZE_MAX___89 = 69,
    _SC_GETPW_R_SIZE_MAX___89 = 70,
    _SC_LOGIN_NAME_MAX___89 = 71,
    _SC_TTY_NAME_MAX___89 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___89 = 73,
    _SC_THREAD_KEYS_MAX___89 = 74,
    _SC_THREAD_STACK_MIN___89 = 75,
    _SC_THREAD_THREADS_MAX___89 = 76,
    _SC_THREAD_ATTR_STACKADDR___89 = 77,
    _SC_THREAD_ATTR_STACKSIZE___89 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___89 = 79,
    _SC_THREAD_PRIO_INHERIT___89 = 80,
    _SC_THREAD_PRIO_PROTECT___89 = 81,
    _SC_THREAD_PROCESS_SHARED___89 = 82,
    _SC_NPROCESSORS_CONF___89 = 83,
    _SC_NPROCESSORS_ONLN___89 = 84,
    _SC_PHYS_PAGES___89 = 85,
    _SC_AVPHYS_PAGES___89 = 86,
    _SC_ATEXIT_MAX___89 = 87,
    _SC_PASS_MAX___89 = 88,
    _SC_XOPEN_VERSION___89 = 89,
    _SC_XOPEN_XCU_VERSION___89 = 90,
    _SC_XOPEN_UNIX___89 = 91,
    _SC_XOPEN_CRYPT___89 = 92,
    _SC_XOPEN_ENH_I18N___89 = 93,
    _SC_XOPEN_SHM___89 = 94,
    _SC_2_CHAR_TERM___89 = 95,
    _SC_2_C_VERSION___89 = 96,
    _SC_2_UPE___89 = 97,
    _SC_XOPEN_XPG2___89 = 98,
    _SC_XOPEN_XPG3___89 = 99,
    _SC_XOPEN_XPG4___89 = 100,
    _SC_CHAR_BIT___89 = 101,
    _SC_CHAR_MAX___89 = 102,
    _SC_CHAR_MIN___89 = 103,
    _SC_INT_MAX___89 = 104,
    _SC_INT_MIN___89 = 105,
    _SC_LONG_BIT___89 = 106,
    _SC_WORD_BIT___89 = 107,
    _SC_MB_LEN_MAX___89 = 108,
    _SC_NZERO___89 = 109,
    _SC_SSIZE_MAX___89 = 110,
    _SC_SCHAR_MAX___89 = 111,
    _SC_SCHAR_MIN___89 = 112,
    _SC_SHRT_MAX___89 = 113,
    _SC_SHRT_MIN___89 = 114,
    _SC_UCHAR_MAX___89 = 115,
    _SC_UINT_MAX___89 = 116,
    _SC_ULONG_MAX___89 = 117,
    _SC_USHRT_MAX___89 = 118,
    _SC_NL_ARGMAX___89 = 119,
    _SC_NL_LANGMAX___89 = 120,
    _SC_NL_MSGMAX___89 = 121,
    _SC_NL_NMAX___89 = 122,
    _SC_NL_SETMAX___89 = 123,
    _SC_NL_TEXTMAX___89 = 124,
    _SC_XBS5_ILP32_OFF32___89 = 125,
    _SC_XBS5_ILP32_OFFBIG___89 = 126,
    _SC_XBS5_LP64_OFF64___89 = 127,
    _SC_XBS5_LPBIG_OFFBIG___89 = 128,
    _SC_XOPEN_LEGACY___89 = 129,
    _SC_XOPEN_REALTIME___89 = 130,
    _SC_XOPEN_REALTIME_THREADS___89 = 131,
    _SC_ADVISORY_INFO___89 = 132,
    _SC_BARRIERS___89 = 133,
    _SC_BASE___89 = 134,
    _SC_C_LANG_SUPPORT___89 = 135,
    _SC_C_LANG_SUPPORT_R___89 = 136,
    _SC_CLOCK_SELECTION___89 = 137,
    _SC_CPUTIME___89 = 138,
    _SC_THREAD_CPUTIME___89 = 139,
    _SC_DEVICE_IO___89 = 140,
    _SC_DEVICE_SPECIFIC___89 = 141,
    _SC_DEVICE_SPECIFIC_R___89 = 142,
    _SC_FD_MGMT___89 = 143,
    _SC_FIFO___89 = 144,
    _SC_PIPE___89 = 145,
    _SC_FILE_ATTRIBUTES___89 = 146,
    _SC_FILE_LOCKING___89 = 147,
    _SC_FILE_SYSTEM___89 = 148,
    _SC_MONOTONIC_CLOCK___89 = 149,
    _SC_MULTI_PROCESS___89 = 150,
    _SC_SINGLE_PROCESS___89 = 151,
    _SC_NETWORKING___89 = 152,
    _SC_READER_WRITER_LOCKS___89 = 153,
    _SC_SPIN_LOCKS___89 = 154,
    _SC_REGEXP___89 = 155,
    _SC_REGEX_VERSION___89 = 156,
    _SC_SHELL___89 = 157,
    _SC_SIGNALS___89 = 158,
    _SC_SPAWN___89 = 159,
    _SC_SPORADIC_SERVER___89 = 160,
    _SC_THREAD_SPORADIC_SERVER___89 = 161,
    _SC_SYSTEM_DATABASE___89 = 162,
    _SC_SYSTEM_DATABASE_R___89 = 163,
    _SC_TIMEOUTS___89 = 164,
    _SC_TYPED_MEMORY_OBJECTS___89 = 165,
    _SC_USER_GROUPS___89 = 166,
    _SC_USER_GROUPS_R___89 = 167,
    _SC_2_PBS___89 = 168,
    _SC_2_PBS_ACCOUNTING___89 = 169,
    _SC_2_PBS_LOCATE___89 = 170,
    _SC_2_PBS_MESSAGE___89 = 171,
    _SC_2_PBS_TRACK___89 = 172,
    _SC_SYMLOOP_MAX___89 = 173,
    _SC_STREAMS___89 = 174,
    _SC_2_PBS_CHECKPOINT___89 = 175,
    _SC_V6_ILP32_OFF32___89 = 176,
    _SC_V6_ILP32_OFFBIG___89 = 177,
    _SC_V6_LP64_OFF64___89 = 178,
    _SC_V6_LPBIG_OFFBIG___89 = 179,
    _SC_HOST_NAME_MAX___89 = 180,
    _SC_TRACE___89 = 181,
    _SC_TRACE_EVENT_FILTER___89 = 182,
    _SC_TRACE_INHERIT___89 = 183,
    _SC_TRACE_LOG___89 = 184,
    _SC_LEVEL1_ICACHE_SIZE___89 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___89 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___89 = 187,
    _SC_LEVEL1_DCACHE_SIZE___89 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___89 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___89 = 190,
    _SC_LEVEL2_CACHE_SIZE___89 = 191,
    _SC_LEVEL2_CACHE_ASSOC___89 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___89 = 193,
    _SC_LEVEL3_CACHE_SIZE___89 = 194,
    _SC_LEVEL3_CACHE_ASSOC___89 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___89 = 196,
    _SC_LEVEL4_CACHE_SIZE___89 = 197,
    _SC_LEVEL4_CACHE_ASSOC___89 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___89 = 199,
    _SC_IPV6___89 = 235,
    _SC_RAW_SOCKETS___89 = 236,
    _SC_V7_ILP32_OFF32___89 = 237,
    _SC_V7_ILP32_OFFBIG___89 = 238,
    _SC_V7_LP64_OFF64___89 = 239,
    _SC_V7_LPBIG_OFFBIG___89 = 240,
    _SC_SS_REPL_MAX___89 = 241,
    _SC_TRACE_EVENT_NAME_MAX___89 = 242,
    _SC_TRACE_NAME_MAX___89 = 243,
    _SC_TRACE_SYS_MAX___89 = 244,
    _SC_TRACE_USER_EVENT_MAX___89 = 245,
    _SC_XOPEN_STREAMS___89 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___89 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___89 = 248
} ;
enum __anonenum_875524036___89 {
    _CS_PATH___89 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___89 = 1,
    _CS_GNU_LIBC_VERSION___89 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___89 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___89 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___89 = 5,
    _CS_LFS_CFLAGS___89 = 1000,
    _CS_LFS_LDFLAGS___89 = 1001,
    _CS_LFS_LIBS___89 = 1002,
    _CS_LFS_LINTFLAGS___89 = 1003,
    _CS_LFS64_CFLAGS___89 = 1004,
    _CS_LFS64_LDFLAGS___89 = 1005,
    _CS_LFS64_LIBS___89 = 1006,
    _CS_LFS64_LINTFLAGS___89 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___89 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___89 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___89 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___89 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___89 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___89 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___89 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___89 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___89 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___89 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___89 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___89 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___89 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___89 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___89 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___89 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___89 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___89 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___89 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___89 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___89 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___89 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___89 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___89 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___89 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___89 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___89 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___89 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___89 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___89 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___89 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___89 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___89 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___89 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___89 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___89 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___89 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___89 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___89 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___89 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___89 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___89 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___89 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___89 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___89 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___89 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___89 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___89 = 1147,
    _CS_V6_ENV___89 = 1148,
    _CS_V7_ENV___89 = 1149
} ;
enum __anonenum_513775621___89 {
    DT_UNKNOWN___89 = 0,
    DT_FIFO___89 = 1,
    DT_CHR___89 = 2,
    DT_DIR___89 = 4,
    DT_BLK___89 = 6,
    DT_REG___89 = 8,
    DT_LNK___89 = 10,
    DT_SOCK___89 = 12,
    DT_WHT___89 = 14
} ;
enum __anonenum_77002343___89 {
    SI_ASYNCNL___89 = -60,
    SI_TKILL___89 = -6,
    SI_SIGIO___89 = -5,
    SI_ASYNCIO___89 = -4,
    SI_MESGQ___89 = -3,
    SI_TIMER___89 = -2,
    SI_QUEUE___89 = -1,
    SI_USER___89 = 0,
    SI_KERNEL___89 = 128
} ;
enum __anonenum_131038172___89 {
    ILL_ILLOPC___89 = 1,
    ILL_ILLOPN___89 = 2,
    ILL_ILLADR___89 = 3,
    ILL_ILLTRP___89 = 4,
    ILL_PRVOPC___89 = 5,
    ILL_PRVREG___89 = 6,
    ILL_COPROC___89 = 7,
    ILL_BADSTK___89 = 8
} ;
enum __anonenum_452038093___89 {
    FPE_INTDIV___89 = 1,
    FPE_INTOVF___89 = 2,
    FPE_FLTDIV___89 = 3,
    FPE_FLTOVF___89 = 4,
    FPE_FLTUND___89 = 5,
    FPE_FLTRES___89 = 6,
    FPE_FLTINV___89 = 7,
    FPE_FLTSUB___89 = 8
} ;
enum __anonenum_30976155___89 {
    SEGV_MAPERR___89 = 1,
    SEGV_ACCERR___89 = 2,
    SEGV_BNDERR___89 = 3,
    SEGV_PKUERR___89 = 4
} ;
enum __anonenum_1036286214___89 {
    BUS_ADRALN___89 = 1,
    BUS_ADRERR___89 = 2,
    BUS_OBJERR___89 = 3,
    BUS_MCEERR_AR___89 = 4,
    BUS_MCEERR_AO___89 = 5
} ;
enum __anonenum_493465559___89 {
    TRAP_BRKPT___89 = 1,
    TRAP_TRACE___89 = 2
} ;
enum __anonenum_23175539___89 {
    CLD_EXITED___89 = 1,
    CLD_KILLED___89 = 2,
    CLD_DUMPED___89 = 3,
    CLD_TRAPPED___89 = 4,
    CLD_STOPPED___89 = 5,
    CLD_CONTINUED___89 = 6
} ;
enum __anonenum_111643124___89 {
    POLL_IN___89 = 1,
    POLL_OUT___89 = 2,
    POLL_MSG___89 = 3,
    POLL_ERR___89 = 4,
    POLL_PRI___89 = 5,
    POLL_HUP___89 = 6
} ;
enum __anonenum_852341087___89 {
    SIGEV_SIGNAL___89 = 0,
    SIGEV_NONE___89 = 1,
    SIGEV_THREAD___89 = 2,
    SIGEV_THREAD_ID___89 = 4
} ;
enum __anonenum_451154152___89 {
    REG_R8___89 = 0,
    REG_R9___89 = 1,
    REG_R10___89 = 2,
    REG_R11___89 = 3,
    REG_R12___89 = 4,
    REG_R13___89 = 5,
    REG_R14___89 = 6,
    REG_R15___89 = 7,
    REG_RDI___89 = 8,
    REG_RSI___89 = 9,
    REG_RBP___89 = 10,
    REG_RBX___89 = 11,
    REG_RDX___89 = 12,
    REG_RAX___89 = 13,
    REG_RCX___89 = 14,
    REG_RSP___89 = 15,
    REG_RIP___89 = 16,
    REG_EFL___89 = 17,
    REG_CSGSFS___89 = 18,
    REG_ERR___89 = 19,
    REG_TRAPNO___89 = 20,
    REG_OLDMASK___89 = 21,
    REG_CR2___89 = 22
} ;
enum __anonenum_57186863___89 {
    SS_ONSTACK___89 = 1,
    SS_DISABLE___89 = 2
} ;
enum __anonenum_83571709___89 {
    MSG_OOB___89 = 1,
    MSG_PEEK___89 = 2,
    MSG_DONTROUTE___89 = 4,
    MSG_TRYHARD___89 = 4,
    MSG_CTRUNC___89 = 8,
    MSG_PROXY___89 = 16,
    MSG_TRUNC___89 = 32,
    MSG_DONTWAIT___89 = 64,
    MSG_EOR___89 = 128,
    MSG_WAITALL___89 = 256,
    MSG_FIN___89 = 512,
    MSG_SYN___89 = 1024,
    MSG_CONFIRM___89 = 2048,
    MSG_RST___89 = 4096,
    MSG_ERRQUEUE___89 = 8192,
    MSG_NOSIGNAL___89 = 16384,
    MSG_MORE___89 = 32768,
    MSG_WAITFORONE___89 = 65536,
    MSG_BATCH___89 = 262144,
    MSG_ZEROCOPY___89 = 67108864,
    MSG_FASTOPEN___89 = 536870912,
    MSG_CMSG_CLOEXEC___89 = 1073741824
} ;
enum __anonenum_617082774___89 {
    SCM_RIGHTS___89 = 1,
    SCM_CREDENTIALS___89 = 2
} ;
enum __anonenum_606441560___89 {
    SHUT_RD___89 = 0,
    SHUT_WR___89 = 1,
    SHUT_RDWR___89 = 2
} ;
enum __anonenum_681669233___89 {
    IPPROTO_IP___89 = 0,
    IPPROTO_ICMP___89 = 1,
    IPPROTO_IGMP___89 = 2,
    IPPROTO_IPIP___89 = 4,
    IPPROTO_TCP___89 = 6,
    IPPROTO_EGP___89 = 8,
    IPPROTO_PUP___89 = 12,
    IPPROTO_UDP___89 = 17,
    IPPROTO_IDP___89 = 22,
    IPPROTO_TP___89 = 29,
    IPPROTO_DCCP___89 = 33,
    IPPROTO_IPV6___89 = 41,
    IPPROTO_RSVP___89 = 46,
    IPPROTO_GRE___89 = 47,
    IPPROTO_ESP___89 = 50,
    IPPROTO_AH___89 = 51,
    IPPROTO_MTP___89 = 92,
    IPPROTO_BEETPH___89 = 94,
    IPPROTO_ENCAP___89 = 98,
    IPPROTO_PIM___89 = 103,
    IPPROTO_COMP___89 = 108,
    IPPROTO_SCTP___89 = 132,
    IPPROTO_UDPLITE___89 = 136,
    IPPROTO_MPLS___89 = 137,
    IPPROTO_RAW___89 = 255,
    IPPROTO_MAX___89 = 256
} ;
enum __anonenum_218739988___89 {
    IPPROTO_HOPOPTS___89 = 0,
    IPPROTO_ROUTING___89 = 43,
    IPPROTO_FRAGMENT___89 = 44,
    IPPROTO_ICMPV6___89 = 58,
    IPPROTO_NONE___89 = 59,
    IPPROTO_DSTOPTS___89 = 60,
    IPPROTO_MH___89 = 135
} ;
enum __anonenum_662268580___89 {
    IPPORT_ECHO___89 = 7,
    IPPORT_DISCARD___89 = 9,
    IPPORT_SYSTAT___89 = 11,
    IPPORT_DAYTIME___89 = 13,
    IPPORT_NETSTAT___89 = 15,
    IPPORT_FTP___89 = 21,
    IPPORT_TELNET___89 = 23,
    IPPORT_SMTP___89 = 25,
    IPPORT_TIMESERVER___89 = 37,
    IPPORT_NAMESERVER___89 = 42,
    IPPORT_WHOIS___89 = 43,
    IPPORT_MTP___89 = 57,
    IPPORT_TFTP___89 = 69,
    IPPORT_RJE___89 = 77,
    IPPORT_FINGER___89 = 79,
    IPPORT_TTYLINK___89 = 87,
    IPPORT_SUPDUP___89 = 95,
    IPPORT_EXECSERVER___89 = 512,
    IPPORT_LOGINSERVER___89 = 513,
    IPPORT_CMDSERVER___89 = 514,
    IPPORT_EFSSERVER___89 = 520,
    IPPORT_BIFFUDP___89 = 512,
    IPPORT_WHOSERVER___89 = 513,
    IPPORT_ROUTESERVER___89 = 520,
    IPPORT_RESERVED___89 = 1024,
    IPPORT_USERRESERVED___89 = 5000
} ;
enum __anonenum_788308992___89 {
    TCP_ESTABLISHED___89 = 1,
    TCP_SYN_SENT___89 = 2,
    TCP_SYN_RECV___89 = 3,
    TCP_FIN_WAIT1___89 = 4,
    TCP_FIN_WAIT2___89 = 5,
    TCP_TIME_WAIT___89 = 6,
    TCP_CLOSE___89 = 7,
    TCP_CLOSE_WAIT___89 = 8,
    TCP_LAST_ACK___89 = 9,
    TCP_LISTEN___89 = 10,
    TCP_CLOSING___89 = 11
} ;
enum __anonenum_221125648___89 {
    TCP_NO_QUEUE___89 = 0,
    TCP_RECV_QUEUE___89 = 1,
    TCP_SEND_QUEUE___89 = 2,
    TCP_QUEUES_NR___89 = 3
} ;
enum __anonenum_34415463___89 {
    PTHREAD_CREATE_JOINABLE___89 = 0,
    PTHREAD_CREATE_DETACHED___89 = 1
} ;
enum __anonenum_303612439___89 {
    PTHREAD_MUTEX_TIMED_NP___89 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___89 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___89 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___89 = 3,
    PTHREAD_MUTEX_NORMAL___89 = 0,
    PTHREAD_MUTEX_RECURSIVE___89 = 1,
    PTHREAD_MUTEX_ERRORCHECK___89 = 2,
    PTHREAD_MUTEX_DEFAULT___89 = 0,
    PTHREAD_MUTEX_FAST_NP___89 = 0
} ;
enum __anonenum_931900394___89 {
    PTHREAD_MUTEX_STALLED___89 = 0,
    PTHREAD_MUTEX_STALLED_NP___89 = 0,
    PTHREAD_MUTEX_ROBUST___89 = 1,
    PTHREAD_MUTEX_ROBUST_NP___89 = 1
} ;
enum __anonenum_205214487___89 {
    PTHREAD_PRIO_NONE___89 = 0,
    PTHREAD_PRIO_INHERIT___89 = 1,
    PTHREAD_PRIO_PROTECT___89 = 2
} ;
enum __anonenum_25043950___89 {
    PTHREAD_RWLOCK_PREFER_READER_NP___89 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___89 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___89 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___89 = 0
} ;
enum __anonenum_436439511___89 {
    PTHREAD_INHERIT_SCHED___89 = 0,
    PTHREAD_EXPLICIT_SCHED___89 = 1
} ;
enum __anonenum_998661166___89 {
    PTHREAD_SCOPE_SYSTEM___89 = 0,
    PTHREAD_SCOPE_PROCESS___89 = 1
} ;
enum __anonenum_146137331___89 {
    PTHREAD_PROCESS_PRIVATE___89 = 0,
    PTHREAD_PROCESS_SHARED___89 = 1
} ;
enum __anonenum_53396917___89 {
    PTHREAD_CANCEL_ENABLE___89 = 0,
    PTHREAD_CANCEL_DISABLE___89 = 1
} ;
enum __anonenum_904563783___89 {
    PTHREAD_CANCEL_DEFERRED___89 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___89 = 1
} ;
enum __anonenum_672052974___89 {
    SSL_CT_VALIDATION_PERMISSIVE___89 = 0,
    SSL_CT_VALIDATION_STRICT___89 = 1
} ;
enum list_objects_filter_result {
    LOFR_ZERO = 0,
    LOFR_MARK_SEEN = 1,
    LOFR_DO_SHOW = 2,
    LOFR_SKIP_TREE = 4
} ;
enum list_objects_filter_situation {
    LOFS_COMMIT = 0,
    LOFS_TAG = 1,
    LOFS_BEGIN_TREE = 2,
    LOFS_END_TREE = 3,
    LOFS_BLOB = 4
} ;
struct filter ;
enum __anonenum_437032235___90 {
    _PC_LINK_MAX___90 = 0,
    _PC_MAX_CANON___90 = 1,
    _PC_MAX_INPUT___90 = 2,
    _PC_NAME_MAX___90 = 3,
    _PC_PATH_MAX___90 = 4,
    _PC_PIPE_BUF___90 = 5,
    _PC_CHOWN_RESTRICTED___90 = 6,
    _PC_NO_TRUNC___90 = 7,
    _PC_VDISABLE___90 = 8,
    _PC_SYNC_IO___90 = 9,
    _PC_ASYNC_IO___90 = 10,
    _PC_PRIO_IO___90 = 11,
    _PC_SOCK_MAXBUF___90 = 12,
    _PC_FILESIZEBITS___90 = 13,
    _PC_REC_INCR_XFER_SIZE___90 = 14,
    _PC_REC_MAX_XFER_SIZE___90 = 15,
    _PC_REC_MIN_XFER_SIZE___90 = 16,
    _PC_REC_XFER_ALIGN___90 = 17,
    _PC_ALLOC_SIZE_MIN___90 = 18,
    _PC_SYMLINK_MAX___90 = 19,
    _PC_2_SYMLINKS___90 = 20
} ;
enum __anonenum_315186338___90 {
    _SC_ARG_MAX___90 = 0,
    _SC_CHILD_MAX___90 = 1,
    _SC_CLK_TCK___90 = 2,
    _SC_NGROUPS_MAX___90 = 3,
    _SC_OPEN_MAX___90 = 4,
    _SC_STREAM_MAX___90 = 5,
    _SC_TZNAME_MAX___90 = 6,
    _SC_JOB_CONTROL___90 = 7,
    _SC_SAVED_IDS___90 = 8,
    _SC_REALTIME_SIGNALS___90 = 9,
    _SC_PRIORITY_SCHEDULING___90 = 10,
    _SC_TIMERS___90 = 11,
    _SC_ASYNCHRONOUS_IO___90 = 12,
    _SC_PRIORITIZED_IO___90 = 13,
    _SC_SYNCHRONIZED_IO___90 = 14,
    _SC_FSYNC___90 = 15,
    _SC_MAPPED_FILES___90 = 16,
    _SC_MEMLOCK___90 = 17,
    _SC_MEMLOCK_RANGE___90 = 18,
    _SC_MEMORY_PROTECTION___90 = 19,
    _SC_MESSAGE_PASSING___90 = 20,
    _SC_SEMAPHORES___90 = 21,
    _SC_SHARED_MEMORY_OBJECTS___90 = 22,
    _SC_AIO_LISTIO_MAX___90 = 23,
    _SC_AIO_MAX___90 = 24,
    _SC_AIO_PRIO_DELTA_MAX___90 = 25,
    _SC_DELAYTIMER_MAX___90 = 26,
    _SC_MQ_OPEN_MAX___90 = 27,
    _SC_MQ_PRIO_MAX___90 = 28,
    _SC_VERSION___90 = 29,
    _SC_PAGESIZE___90 = 30,
    _SC_RTSIG_MAX___90 = 31,
    _SC_SEM_NSEMS_MAX___90 = 32,
    _SC_SEM_VALUE_MAX___90 = 33,
    _SC_SIGQUEUE_MAX___90 = 34,
    _SC_TIMER_MAX___90 = 35,
    _SC_BC_BASE_MAX___90 = 36,
    _SC_BC_DIM_MAX___90 = 37,
    _SC_BC_SCALE_MAX___90 = 38,
    _SC_BC_STRING_MAX___90 = 39,
    _SC_COLL_WEIGHTS_MAX___90 = 40,
    _SC_EQUIV_CLASS_MAX___90 = 41,
    _SC_EXPR_NEST_MAX___90 = 42,
    _SC_LINE_MAX___90 = 43,
    _SC_RE_DUP_MAX___90 = 44,
    _SC_CHARCLASS_NAME_MAX___90 = 45,
    _SC_2_VERSION___90 = 46,
    _SC_2_C_BIND___90 = 47,
    _SC_2_C_DEV___90 = 48,
    _SC_2_FORT_DEV___90 = 49,
    _SC_2_FORT_RUN___90 = 50,
    _SC_2_SW_DEV___90 = 51,
    _SC_2_LOCALEDEF___90 = 52,
    _SC_PII___90 = 53,
    _SC_PII_XTI___90 = 54,
    _SC_PII_SOCKET___90 = 55,
    _SC_PII_INTERNET___90 = 56,
    _SC_PII_OSI___90 = 57,
    _SC_POLL___90 = 58,
    _SC_SELECT___90 = 59,
    _SC_UIO_MAXIOV___90 = 60,
    _SC_IOV_MAX___90 = 60,
    _SC_PII_INTERNET_STREAM___90 = 61,
    _SC_PII_INTERNET_DGRAM___90 = 62,
    _SC_PII_OSI_COTS___90 = 63,
    _SC_PII_OSI_CLTS___90 = 64,
    _SC_PII_OSI_M___90 = 65,
    _SC_T_IOV_MAX___90 = 66,
    _SC_THREADS___90 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___90 = 68,
    _SC_GETGR_R_SIZE_MAX___90 = 69,
    _SC_GETPW_R_SIZE_MAX___90 = 70,
    _SC_LOGIN_NAME_MAX___90 = 71,
    _SC_TTY_NAME_MAX___90 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___90 = 73,
    _SC_THREAD_KEYS_MAX___90 = 74,
    _SC_THREAD_STACK_MIN___90 = 75,
    _SC_THREAD_THREADS_MAX___90 = 76,
    _SC_THREAD_ATTR_STACKADDR___90 = 77,
    _SC_THREAD_ATTR_STACKSIZE___90 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___90 = 79,
    _SC_THREAD_PRIO_INHERIT___90 = 80,
    _SC_THREAD_PRIO_PROTECT___90 = 81,
    _SC_THREAD_PROCESS_SHARED___90 = 82,
    _SC_NPROCESSORS_CONF___90 = 83,
    _SC_NPROCESSORS_ONLN___90 = 84,
    _SC_PHYS_PAGES___90 = 85,
    _SC_AVPHYS_PAGES___90 = 86,
    _SC_ATEXIT_MAX___90 = 87,
    _SC_PASS_MAX___90 = 88,
    _SC_XOPEN_VERSION___90 = 89,
    _SC_XOPEN_XCU_VERSION___90 = 90,
    _SC_XOPEN_UNIX___90 = 91,
    _SC_XOPEN_CRYPT___90 = 92,
    _SC_XOPEN_ENH_I18N___90 = 93,
    _SC_XOPEN_SHM___90 = 94,
    _SC_2_CHAR_TERM___90 = 95,
    _SC_2_C_VERSION___90 = 96,
    _SC_2_UPE___90 = 97,
    _SC_XOPEN_XPG2___90 = 98,
    _SC_XOPEN_XPG3___90 = 99,
    _SC_XOPEN_XPG4___90 = 100,
    _SC_CHAR_BIT___90 = 101,
    _SC_CHAR_MAX___90 = 102,
    _SC_CHAR_MIN___90 = 103,
    _SC_INT_MAX___90 = 104,
    _SC_INT_MIN___90 = 105,
    _SC_LONG_BIT___90 = 106,
    _SC_WORD_BIT___90 = 107,
    _SC_MB_LEN_MAX___90 = 108,
    _SC_NZERO___90 = 109,
    _SC_SSIZE_MAX___90 = 110,
    _SC_SCHAR_MAX___90 = 111,
    _SC_SCHAR_MIN___90 = 112,
    _SC_SHRT_MAX___90 = 113,
    _SC_SHRT_MIN___90 = 114,
    _SC_UCHAR_MAX___90 = 115,
    _SC_UINT_MAX___90 = 116,
    _SC_ULONG_MAX___90 = 117,
    _SC_USHRT_MAX___90 = 118,
    _SC_NL_ARGMAX___90 = 119,
    _SC_NL_LANGMAX___90 = 120,
    _SC_NL_MSGMAX___90 = 121,
    _SC_NL_NMAX___90 = 122,
    _SC_NL_SETMAX___90 = 123,
    _SC_NL_TEXTMAX___90 = 124,
    _SC_XBS5_ILP32_OFF32___90 = 125,
    _SC_XBS5_ILP32_OFFBIG___90 = 126,
    _SC_XBS5_LP64_OFF64___90 = 127,
    _SC_XBS5_LPBIG_OFFBIG___90 = 128,
    _SC_XOPEN_LEGACY___90 = 129,
    _SC_XOPEN_REALTIME___90 = 130,
    _SC_XOPEN_REALTIME_THREADS___90 = 131,
    _SC_ADVISORY_INFO___90 = 132,
    _SC_BARRIERS___90 = 133,
    _SC_BASE___90 = 134,
    _SC_C_LANG_SUPPORT___90 = 135,
    _SC_C_LANG_SUPPORT_R___90 = 136,
    _SC_CLOCK_SELECTION___90 = 137,
    _SC_CPUTIME___90 = 138,
    _SC_THREAD_CPUTIME___90 = 139,
    _SC_DEVICE_IO___90 = 140,
    _SC_DEVICE_SPECIFIC___90 = 141,
    _SC_DEVICE_SPECIFIC_R___90 = 142,
    _SC_FD_MGMT___90 = 143,
    _SC_FIFO___90 = 144,
    _SC_PIPE___90 = 145,
    _SC_FILE_ATTRIBUTES___90 = 146,
    _SC_FILE_LOCKING___90 = 147,
    _SC_FILE_SYSTEM___90 = 148,
    _SC_MONOTONIC_CLOCK___90 = 149,
    _SC_MULTI_PROCESS___90 = 150,
    _SC_SINGLE_PROCESS___90 = 151,
    _SC_NETWORKING___90 = 152,
    _SC_READER_WRITER_LOCKS___90 = 153,
    _SC_SPIN_LOCKS___90 = 154,
    _SC_REGEXP___90 = 155,
    _SC_REGEX_VERSION___90 = 156,
    _SC_SHELL___90 = 157,
    _SC_SIGNALS___90 = 158,
    _SC_SPAWN___90 = 159,
    _SC_SPORADIC_SERVER___90 = 160,
    _SC_THREAD_SPORADIC_SERVER___90 = 161,
    _SC_SYSTEM_DATABASE___90 = 162,
    _SC_SYSTEM_DATABASE_R___90 = 163,
    _SC_TIMEOUTS___90 = 164,
    _SC_TYPED_MEMORY_OBJECTS___90 = 165,
    _SC_USER_GROUPS___90 = 166,
    _SC_USER_GROUPS_R___90 = 167,
    _SC_2_PBS___90 = 168,
    _SC_2_PBS_ACCOUNTING___90 = 169,
    _SC_2_PBS_LOCATE___90 = 170,
    _SC_2_PBS_MESSAGE___90 = 171,
    _SC_2_PBS_TRACK___90 = 172,
    _SC_SYMLOOP_MAX___90 = 173,
    _SC_STREAMS___90 = 174,
    _SC_2_PBS_CHECKPOINT___90 = 175,
    _SC_V6_ILP32_OFF32___90 = 176,
    _SC_V6_ILP32_OFFBIG___90 = 177,
    _SC_V6_LP64_OFF64___90 = 178,
    _SC_V6_LPBIG_OFFBIG___90 = 179,
    _SC_HOST_NAME_MAX___90 = 180,
    _SC_TRACE___90 = 181,
    _SC_TRACE_EVENT_FILTER___90 = 182,
    _SC_TRACE_INHERIT___90 = 183,
    _SC_TRACE_LOG___90 = 184,
    _SC_LEVEL1_ICACHE_SIZE___90 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___90 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___90 = 187,
    _SC_LEVEL1_DCACHE_SIZE___90 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___90 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___90 = 190,
    _SC_LEVEL2_CACHE_SIZE___90 = 191,
    _SC_LEVEL2_CACHE_ASSOC___90 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___90 = 193,
    _SC_LEVEL3_CACHE_SIZE___90 = 194,
    _SC_LEVEL3_CACHE_ASSOC___90 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___90 = 196,
    _SC_LEVEL4_CACHE_SIZE___90 = 197,
    _SC_LEVEL4_CACHE_ASSOC___90 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___90 = 199,
    _SC_IPV6___90 = 235,
    _SC_RAW_SOCKETS___90 = 236,
    _SC_V7_ILP32_OFF32___90 = 237,
    _SC_V7_ILP32_OFFBIG___90 = 238,
    _SC_V7_LP64_OFF64___90 = 239,
    _SC_V7_LPBIG_OFFBIG___90 = 240,
    _SC_SS_REPL_MAX___90 = 241,
    _SC_TRACE_EVENT_NAME_MAX___90 = 242,
    _SC_TRACE_NAME_MAX___90 = 243,
    _SC_TRACE_SYS_MAX___90 = 244,
    _SC_TRACE_USER_EVENT_MAX___90 = 245,
    _SC_XOPEN_STREAMS___90 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___90 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___90 = 248
} ;
enum __anonenum_875524036___90 {
    _CS_PATH___90 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___90 = 1,
    _CS_GNU_LIBC_VERSION___90 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___90 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___90 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___90 = 5,
    _CS_LFS_CFLAGS___90 = 1000,
    _CS_LFS_LDFLAGS___90 = 1001,
    _CS_LFS_LIBS___90 = 1002,
    _CS_LFS_LINTFLAGS___90 = 1003,
    _CS_LFS64_CFLAGS___90 = 1004,
    _CS_LFS64_LDFLAGS___90 = 1005,
    _CS_LFS64_LIBS___90 = 1006,
    _CS_LFS64_LINTFLAGS___90 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___90 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___90 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___90 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___90 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___90 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___90 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___90 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___90 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___90 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___90 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___90 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___90 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___90 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___90 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___90 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___90 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___90 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___90 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___90 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___90 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___90 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___90 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___90 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___90 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___90 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___90 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___90 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___90 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___90 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___90 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___90 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___90 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___90 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___90 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___90 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___90 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___90 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___90 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___90 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___90 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___90 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___90 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___90 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___90 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___90 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___90 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___90 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___90 = 1147,
    _CS_V6_ENV___90 = 1148,
    _CS_V7_ENV___90 = 1149
} ;
enum __anonenum_513775621___90 {
    DT_UNKNOWN___90 = 0,
    DT_FIFO___90 = 1,
    DT_CHR___90 = 2,
    DT_DIR___90 = 4,
    DT_BLK___90 = 6,
    DT_REG___90 = 8,
    DT_LNK___90 = 10,
    DT_SOCK___90 = 12,
    DT_WHT___90 = 14
} ;
enum __anonenum_77002343___90 {
    SI_ASYNCNL___90 = -60,
    SI_TKILL___90 = -6,
    SI_SIGIO___90 = -5,
    SI_ASYNCIO___90 = -4,
    SI_MESGQ___90 = -3,
    SI_TIMER___90 = -2,
    SI_QUEUE___90 = -1,
    SI_USER___90 = 0,
    SI_KERNEL___90 = 128
} ;
enum __anonenum_131038172___90 {
    ILL_ILLOPC___90 = 1,
    ILL_ILLOPN___90 = 2,
    ILL_ILLADR___90 = 3,
    ILL_ILLTRP___90 = 4,
    ILL_PRVOPC___90 = 5,
    ILL_PRVREG___90 = 6,
    ILL_COPROC___90 = 7,
    ILL_BADSTK___90 = 8
} ;
enum __anonenum_452038093___90 {
    FPE_INTDIV___90 = 1,
    FPE_INTOVF___90 = 2,
    FPE_FLTDIV___90 = 3,
    FPE_FLTOVF___90 = 4,
    FPE_FLTUND___90 = 5,
    FPE_FLTRES___90 = 6,
    FPE_FLTINV___90 = 7,
    FPE_FLTSUB___90 = 8
} ;
enum __anonenum_30976155___90 {
    SEGV_MAPERR___90 = 1,
    SEGV_ACCERR___90 = 2,
    SEGV_BNDERR___90 = 3,
    SEGV_PKUERR___90 = 4
} ;
enum __anonenum_1036286214___90 {
    BUS_ADRALN___90 = 1,
    BUS_ADRERR___90 = 2,
    BUS_OBJERR___90 = 3,
    BUS_MCEERR_AR___90 = 4,
    BUS_MCEERR_AO___90 = 5
} ;
enum __anonenum_493465559___90 {
    TRAP_BRKPT___90 = 1,
    TRAP_TRACE___90 = 2
} ;
enum __anonenum_23175539___90 {
    CLD_EXITED___90 = 1,
    CLD_KILLED___90 = 2,
    CLD_DUMPED___90 = 3,
    CLD_TRAPPED___90 = 4,
    CLD_STOPPED___90 = 5,
    CLD_CONTINUED___90 = 6
} ;
enum __anonenum_111643124___90 {
    POLL_IN___90 = 1,
    POLL_OUT___90 = 2,
    POLL_MSG___90 = 3,
    POLL_ERR___90 = 4,
    POLL_PRI___90 = 5,
    POLL_HUP___90 = 6
} ;
enum __anonenum_852341087___90 {
    SIGEV_SIGNAL___90 = 0,
    SIGEV_NONE___90 = 1,
    SIGEV_THREAD___90 = 2,
    SIGEV_THREAD_ID___90 = 4
} ;
enum __anonenum_451154152___90 {
    REG_R8___90 = 0,
    REG_R9___90 = 1,
    REG_R10___90 = 2,
    REG_R11___90 = 3,
    REG_R12___90 = 4,
    REG_R13___90 = 5,
    REG_R14___90 = 6,
    REG_R15___90 = 7,
    REG_RDI___90 = 8,
    REG_RSI___90 = 9,
    REG_RBP___90 = 10,
    REG_RBX___90 = 11,
    REG_RDX___90 = 12,
    REG_RAX___90 = 13,
    REG_RCX___90 = 14,
    REG_RSP___90 = 15,
    REG_RIP___90 = 16,
    REG_EFL___90 = 17,
    REG_CSGSFS___90 = 18,
    REG_ERR___90 = 19,
    REG_TRAPNO___90 = 20,
    REG_OLDMASK___90 = 21,
    REG_CR2___90 = 22
} ;
enum __anonenum_57186863___90 {
    SS_ONSTACK___90 = 1,
    SS_DISABLE___90 = 2
} ;
enum __anonenum_83571709___90 {
    MSG_OOB___90 = 1,
    MSG_PEEK___90 = 2,
    MSG_DONTROUTE___90 = 4,
    MSG_TRYHARD___90 = 4,
    MSG_CTRUNC___90 = 8,
    MSG_PROXY___90 = 16,
    MSG_TRUNC___90 = 32,
    MSG_DONTWAIT___90 = 64,
    MSG_EOR___90 = 128,
    MSG_WAITALL___90 = 256,
    MSG_FIN___90 = 512,
    MSG_SYN___90 = 1024,
    MSG_CONFIRM___90 = 2048,
    MSG_RST___90 = 4096,
    MSG_ERRQUEUE___90 = 8192,
    MSG_NOSIGNAL___90 = 16384,
    MSG_MORE___90 = 32768,
    MSG_WAITFORONE___90 = 65536,
    MSG_BATCH___90 = 262144,
    MSG_ZEROCOPY___90 = 67108864,
    MSG_FASTOPEN___90 = 536870912,
    MSG_CMSG_CLOEXEC___90 = 1073741824
} ;
enum __anonenum_617082774___90 {
    SCM_RIGHTS___90 = 1,
    SCM_CREDENTIALS___90 = 2
} ;
enum __anonenum_606441560___90 {
    SHUT_RD___90 = 0,
    SHUT_WR___90 = 1,
    SHUT_RDWR___90 = 2
} ;
enum __anonenum_681669233___90 {
    IPPROTO_IP___90 = 0,
    IPPROTO_ICMP___90 = 1,
    IPPROTO_IGMP___90 = 2,
    IPPROTO_IPIP___90 = 4,
    IPPROTO_TCP___90 = 6,
    IPPROTO_EGP___90 = 8,
    IPPROTO_PUP___90 = 12,
    IPPROTO_UDP___90 = 17,
    IPPROTO_IDP___90 = 22,
    IPPROTO_TP___90 = 29,
    IPPROTO_DCCP___90 = 33,
    IPPROTO_IPV6___90 = 41,
    IPPROTO_RSVP___90 = 46,
    IPPROTO_GRE___90 = 47,
    IPPROTO_ESP___90 = 50,
    IPPROTO_AH___90 = 51,
    IPPROTO_MTP___90 = 92,
    IPPROTO_BEETPH___90 = 94,
    IPPROTO_ENCAP___90 = 98,
    IPPROTO_PIM___90 = 103,
    IPPROTO_COMP___90 = 108,
    IPPROTO_SCTP___90 = 132,
    IPPROTO_UDPLITE___90 = 136,
    IPPROTO_MPLS___90 = 137,
    IPPROTO_RAW___90 = 255,
    IPPROTO_MAX___90 = 256
} ;
enum __anonenum_218739988___90 {
    IPPROTO_HOPOPTS___90 = 0,
    IPPROTO_ROUTING___90 = 43,
    IPPROTO_FRAGMENT___90 = 44,
    IPPROTO_ICMPV6___90 = 58,
    IPPROTO_NONE___90 = 59,
    IPPROTO_DSTOPTS___90 = 60,
    IPPROTO_MH___90 = 135
} ;
enum __anonenum_662268580___90 {
    IPPORT_ECHO___90 = 7,
    IPPORT_DISCARD___90 = 9,
    IPPORT_SYSTAT___90 = 11,
    IPPORT_DAYTIME___90 = 13,
    IPPORT_NETSTAT___90 = 15,
    IPPORT_FTP___90 = 21,
    IPPORT_TELNET___90 = 23,
    IPPORT_SMTP___90 = 25,
    IPPORT_TIMESERVER___90 = 37,
    IPPORT_NAMESERVER___90 = 42,
    IPPORT_WHOIS___90 = 43,
    IPPORT_MTP___90 = 57,
    IPPORT_TFTP___90 = 69,
    IPPORT_RJE___90 = 77,
    IPPORT_FINGER___90 = 79,
    IPPORT_TTYLINK___90 = 87,
    IPPORT_SUPDUP___90 = 95,
    IPPORT_EXECSERVER___90 = 512,
    IPPORT_LOGINSERVER___90 = 513,
    IPPORT_CMDSERVER___90 = 514,
    IPPORT_EFSSERVER___90 = 520,
    IPPORT_BIFFUDP___90 = 512,
    IPPORT_WHOSERVER___90 = 513,
    IPPORT_ROUTESERVER___90 = 520,
    IPPORT_RESERVED___90 = 1024,
    IPPORT_USERRESERVED___90 = 5000
} ;
enum __anonenum_788308992___90 {
    TCP_ESTABLISHED___90 = 1,
    TCP_SYN_SENT___90 = 2,
    TCP_SYN_RECV___90 = 3,
    TCP_FIN_WAIT1___90 = 4,
    TCP_FIN_WAIT2___90 = 5,
    TCP_TIME_WAIT___90 = 6,
    TCP_CLOSE___90 = 7,
    TCP_CLOSE_WAIT___90 = 8,
    TCP_LAST_ACK___90 = 9,
    TCP_LISTEN___90 = 10,
    TCP_CLOSING___90 = 11
} ;
enum __anonenum_221125648___90 {
    TCP_NO_QUEUE___90 = 0,
    TCP_RECV_QUEUE___90 = 1,
    TCP_SEND_QUEUE___90 = 2,
    TCP_QUEUES_NR___90 = 3
} ;
enum __anonenum_34415463___90 {
    PTHREAD_CREATE_JOINABLE___90 = 0,
    PTHREAD_CREATE_DETACHED___90 = 1
} ;
enum __anonenum_303612439___90 {
    PTHREAD_MUTEX_TIMED_NP___90 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___90 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___90 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___90 = 3,
    PTHREAD_MUTEX_NORMAL___90 = 0,
    PTHREAD_MUTEX_RECURSIVE___90 = 1,
    PTHREAD_MUTEX_ERRORCHECK___90 = 2,
    PTHREAD_MUTEX_DEFAULT___90 = 0,
    PTHREAD_MUTEX_FAST_NP___90 = 0
} ;
enum __anonenum_931900394___90 {
    PTHREAD_MUTEX_STALLED___90 = 0,
    PTHREAD_MUTEX_STALLED_NP___90 = 0,
    PTHREAD_MUTEX_ROBUST___90 = 1,
    PTHREAD_MUTEX_ROBUST_NP___90 = 1
} ;
enum __anonenum_205214487___90 {
    PTHREAD_PRIO_NONE___90 = 0,
    PTHREAD_PRIO_INHERIT___90 = 1,
    PTHREAD_PRIO_PROTECT___90 = 2
} ;
enum __anonenum_25043950___90 {
    PTHREAD_RWLOCK_PREFER_READER_NP___90 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___90 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___90 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___90 = 0
} ;
enum __anonenum_436439511___90 {
    PTHREAD_INHERIT_SCHED___90 = 0,
    PTHREAD_EXPLICIT_SCHED___90 = 1
} ;
enum __anonenum_998661166___90 {
    PTHREAD_SCOPE_SYSTEM___90 = 0,
    PTHREAD_SCOPE_PROCESS___90 = 1
} ;
enum __anonenum_146137331___90 {
    PTHREAD_PROCESS_PRIVATE___90 = 0,
    PTHREAD_PROCESS_SHARED___90 = 1
} ;
enum __anonenum_53396917___90 {
    PTHREAD_CANCEL_ENABLE___90 = 0,
    PTHREAD_CANCEL_DISABLE___90 = 1
} ;
enum __anonenum_904563783___90 {
    PTHREAD_CANCEL_DEFERRED___90 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___90 = 1
} ;
enum __anonenum_672052974___90 {
    SSL_CT_VALIDATION_PERMISSIVE___90 = 0,
    SSL_CT_VALIDATION_STRICT___90 = 1
} ;
struct subfilter {
   struct filter *filter ;
   struct oidset seen ;
   struct oidset omits ;
   struct object_id skip_tree ;
   unsigned int is_skipping_tree : 1 ;
};
struct filter {
   enum list_objects_filter_result (*filter_object_fn)(struct repository *r , enum list_objects_filter_situation filter_situation ,
                                                       struct object *obj , char const   *pathname ,
                                                       char const   *filename , struct oidset *omits ,
                                                       void *filter_data ) ;
   void (*finalize_omits_fn)(struct oidset *omits , void *filter_data ) ;
   void (*free_fn)(void *filter_data ) ;
   void *filter_data ;
   struct oidset *omits ;
};
struct filter_trees_depth_data {
   struct oidmap seen_at_depth ;
   unsigned long exclude_depth ;
   unsigned long current_depth ;
};
struct seen_map_entry {
   struct oidmap_entry base ;
   size_t depth ;
};
struct filter_blobs_limit_data {
   unsigned long max_bytes ;
};
struct frame {
   enum pattern_match_result default_match ;
   unsigned int child_prov_omit : 1 ;
};
struct filter_sparse_data {
   struct pattern_list pl ;
   size_t nr ;
   size_t alloc ;
   struct frame *array_frame ;
};
struct filter_object_type_data {
   enum object_type object_type ;
};
struct combine_filter_data {
   struct subfilter *sub ;
   size_t nr ;
};
typedef void (*filter_init_fn)(struct list_objects_filter_options *filter_options ,
                               struct filter *filter );
enum __anonenum_437032235___91 {
    _PC_LINK_MAX___91 = 0,
    _PC_MAX_CANON___91 = 1,
    _PC_MAX_INPUT___91 = 2,
    _PC_NAME_MAX___91 = 3,
    _PC_PATH_MAX___91 = 4,
    _PC_PIPE_BUF___91 = 5,
    _PC_CHOWN_RESTRICTED___91 = 6,
    _PC_NO_TRUNC___91 = 7,
    _PC_VDISABLE___91 = 8,
    _PC_SYNC_IO___91 = 9,
    _PC_ASYNC_IO___91 = 10,
    _PC_PRIO_IO___91 = 11,
    _PC_SOCK_MAXBUF___91 = 12,
    _PC_FILESIZEBITS___91 = 13,
    _PC_REC_INCR_XFER_SIZE___91 = 14,
    _PC_REC_MAX_XFER_SIZE___91 = 15,
    _PC_REC_MIN_XFER_SIZE___91 = 16,
    _PC_REC_XFER_ALIGN___91 = 17,
    _PC_ALLOC_SIZE_MIN___91 = 18,
    _PC_SYMLINK_MAX___91 = 19,
    _PC_2_SYMLINKS___91 = 20
} ;
enum __anonenum_315186338___91 {
    _SC_ARG_MAX___91 = 0,
    _SC_CHILD_MAX___91 = 1,
    _SC_CLK_TCK___91 = 2,
    _SC_NGROUPS_MAX___91 = 3,
    _SC_OPEN_MAX___91 = 4,
    _SC_STREAM_MAX___91 = 5,
    _SC_TZNAME_MAX___91 = 6,
    _SC_JOB_CONTROL___91 = 7,
    _SC_SAVED_IDS___91 = 8,
    _SC_REALTIME_SIGNALS___91 = 9,
    _SC_PRIORITY_SCHEDULING___91 = 10,
    _SC_TIMERS___91 = 11,
    _SC_ASYNCHRONOUS_IO___91 = 12,
    _SC_PRIORITIZED_IO___91 = 13,
    _SC_SYNCHRONIZED_IO___91 = 14,
    _SC_FSYNC___91 = 15,
    _SC_MAPPED_FILES___91 = 16,
    _SC_MEMLOCK___91 = 17,
    _SC_MEMLOCK_RANGE___91 = 18,
    _SC_MEMORY_PROTECTION___91 = 19,
    _SC_MESSAGE_PASSING___91 = 20,
    _SC_SEMAPHORES___91 = 21,
    _SC_SHARED_MEMORY_OBJECTS___91 = 22,
    _SC_AIO_LISTIO_MAX___91 = 23,
    _SC_AIO_MAX___91 = 24,
    _SC_AIO_PRIO_DELTA_MAX___91 = 25,
    _SC_DELAYTIMER_MAX___91 = 26,
    _SC_MQ_OPEN_MAX___91 = 27,
    _SC_MQ_PRIO_MAX___91 = 28,
    _SC_VERSION___91 = 29,
    _SC_PAGESIZE___91 = 30,
    _SC_RTSIG_MAX___91 = 31,
    _SC_SEM_NSEMS_MAX___91 = 32,
    _SC_SEM_VALUE_MAX___91 = 33,
    _SC_SIGQUEUE_MAX___91 = 34,
    _SC_TIMER_MAX___91 = 35,
    _SC_BC_BASE_MAX___91 = 36,
    _SC_BC_DIM_MAX___91 = 37,
    _SC_BC_SCALE_MAX___91 = 38,
    _SC_BC_STRING_MAX___91 = 39,
    _SC_COLL_WEIGHTS_MAX___91 = 40,
    _SC_EQUIV_CLASS_MAX___91 = 41,
    _SC_EXPR_NEST_MAX___91 = 42,
    _SC_LINE_MAX___91 = 43,
    _SC_RE_DUP_MAX___91 = 44,
    _SC_CHARCLASS_NAME_MAX___91 = 45,
    _SC_2_VERSION___91 = 46,
    _SC_2_C_BIND___91 = 47,
    _SC_2_C_DEV___91 = 48,
    _SC_2_FORT_DEV___91 = 49,
    _SC_2_FORT_RUN___91 = 50,
    _SC_2_SW_DEV___91 = 51,
    _SC_2_LOCALEDEF___91 = 52,
    _SC_PII___91 = 53,
    _SC_PII_XTI___91 = 54,
    _SC_PII_SOCKET___91 = 55,
    _SC_PII_INTERNET___91 = 56,
    _SC_PII_OSI___91 = 57,
    _SC_POLL___91 = 58,
    _SC_SELECT___91 = 59,
    _SC_UIO_MAXIOV___91 = 60,
    _SC_IOV_MAX___91 = 60,
    _SC_PII_INTERNET_STREAM___91 = 61,
    _SC_PII_INTERNET_DGRAM___91 = 62,
    _SC_PII_OSI_COTS___91 = 63,
    _SC_PII_OSI_CLTS___91 = 64,
    _SC_PII_OSI_M___91 = 65,
    _SC_T_IOV_MAX___91 = 66,
    _SC_THREADS___91 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___91 = 68,
    _SC_GETGR_R_SIZE_MAX___91 = 69,
    _SC_GETPW_R_SIZE_MAX___91 = 70,
    _SC_LOGIN_NAME_MAX___91 = 71,
    _SC_TTY_NAME_MAX___91 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___91 = 73,
    _SC_THREAD_KEYS_MAX___91 = 74,
    _SC_THREAD_STACK_MIN___91 = 75,
    _SC_THREAD_THREADS_MAX___91 = 76,
    _SC_THREAD_ATTR_STACKADDR___91 = 77,
    _SC_THREAD_ATTR_STACKSIZE___91 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___91 = 79,
    _SC_THREAD_PRIO_INHERIT___91 = 80,
    _SC_THREAD_PRIO_PROTECT___91 = 81,
    _SC_THREAD_PROCESS_SHARED___91 = 82,
    _SC_NPROCESSORS_CONF___91 = 83,
    _SC_NPROCESSORS_ONLN___91 = 84,
    _SC_PHYS_PAGES___91 = 85,
    _SC_AVPHYS_PAGES___91 = 86,
    _SC_ATEXIT_MAX___91 = 87,
    _SC_PASS_MAX___91 = 88,
    _SC_XOPEN_VERSION___91 = 89,
    _SC_XOPEN_XCU_VERSION___91 = 90,
    _SC_XOPEN_UNIX___91 = 91,
    _SC_XOPEN_CRYPT___91 = 92,
    _SC_XOPEN_ENH_I18N___91 = 93,
    _SC_XOPEN_SHM___91 = 94,
    _SC_2_CHAR_TERM___91 = 95,
    _SC_2_C_VERSION___91 = 96,
    _SC_2_UPE___91 = 97,
    _SC_XOPEN_XPG2___91 = 98,
    _SC_XOPEN_XPG3___91 = 99,
    _SC_XOPEN_XPG4___91 = 100,
    _SC_CHAR_BIT___91 = 101,
    _SC_CHAR_MAX___91 = 102,
    _SC_CHAR_MIN___91 = 103,
    _SC_INT_MAX___91 = 104,
    _SC_INT_MIN___91 = 105,
    _SC_LONG_BIT___91 = 106,
    _SC_WORD_BIT___91 = 107,
    _SC_MB_LEN_MAX___91 = 108,
    _SC_NZERO___91 = 109,
    _SC_SSIZE_MAX___91 = 110,
    _SC_SCHAR_MAX___91 = 111,
    _SC_SCHAR_MIN___91 = 112,
    _SC_SHRT_MAX___91 = 113,
    _SC_SHRT_MIN___91 = 114,
    _SC_UCHAR_MAX___91 = 115,
    _SC_UINT_MAX___91 = 116,
    _SC_ULONG_MAX___91 = 117,
    _SC_USHRT_MAX___91 = 118,
    _SC_NL_ARGMAX___91 = 119,
    _SC_NL_LANGMAX___91 = 120,
    _SC_NL_MSGMAX___91 = 121,
    _SC_NL_NMAX___91 = 122,
    _SC_NL_SETMAX___91 = 123,
    _SC_NL_TEXTMAX___91 = 124,
    _SC_XBS5_ILP32_OFF32___91 = 125,
    _SC_XBS5_ILP32_OFFBIG___91 = 126,
    _SC_XBS5_LP64_OFF64___91 = 127,
    _SC_XBS5_LPBIG_OFFBIG___91 = 128,
    _SC_XOPEN_LEGACY___91 = 129,
    _SC_XOPEN_REALTIME___91 = 130,
    _SC_XOPEN_REALTIME_THREADS___91 = 131,
    _SC_ADVISORY_INFO___91 = 132,
    _SC_BARRIERS___91 = 133,
    _SC_BASE___91 = 134,
    _SC_C_LANG_SUPPORT___91 = 135,
    _SC_C_LANG_SUPPORT_R___91 = 136,
    _SC_CLOCK_SELECTION___91 = 137,
    _SC_CPUTIME___91 = 138,
    _SC_THREAD_CPUTIME___91 = 139,
    _SC_DEVICE_IO___91 = 140,
    _SC_DEVICE_SPECIFIC___91 = 141,
    _SC_DEVICE_SPECIFIC_R___91 = 142,
    _SC_FD_MGMT___91 = 143,
    _SC_FIFO___91 = 144,
    _SC_PIPE___91 = 145,
    _SC_FILE_ATTRIBUTES___91 = 146,
    _SC_FILE_LOCKING___91 = 147,
    _SC_FILE_SYSTEM___91 = 148,
    _SC_MONOTONIC_CLOCK___91 = 149,
    _SC_MULTI_PROCESS___91 = 150,
    _SC_SINGLE_PROCESS___91 = 151,
    _SC_NETWORKING___91 = 152,
    _SC_READER_WRITER_LOCKS___91 = 153,
    _SC_SPIN_LOCKS___91 = 154,
    _SC_REGEXP___91 = 155,
    _SC_REGEX_VERSION___91 = 156,
    _SC_SHELL___91 = 157,
    _SC_SIGNALS___91 = 158,
    _SC_SPAWN___91 = 159,
    _SC_SPORADIC_SERVER___91 = 160,
    _SC_THREAD_SPORADIC_SERVER___91 = 161,
    _SC_SYSTEM_DATABASE___91 = 162,
    _SC_SYSTEM_DATABASE_R___91 = 163,
    _SC_TIMEOUTS___91 = 164,
    _SC_TYPED_MEMORY_OBJECTS___91 = 165,
    _SC_USER_GROUPS___91 = 166,
    _SC_USER_GROUPS_R___91 = 167,
    _SC_2_PBS___91 = 168,
    _SC_2_PBS_ACCOUNTING___91 = 169,
    _SC_2_PBS_LOCATE___91 = 170,
    _SC_2_PBS_MESSAGE___91 = 171,
    _SC_2_PBS_TRACK___91 = 172,
    _SC_SYMLOOP_MAX___91 = 173,
    _SC_STREAMS___91 = 174,
    _SC_2_PBS_CHECKPOINT___91 = 175,
    _SC_V6_ILP32_OFF32___91 = 176,
    _SC_V6_ILP32_OFFBIG___91 = 177,
    _SC_V6_LP64_OFF64___91 = 178,
    _SC_V6_LPBIG_OFFBIG___91 = 179,
    _SC_HOST_NAME_MAX___91 = 180,
    _SC_TRACE___91 = 181,
    _SC_TRACE_EVENT_FILTER___91 = 182,
    _SC_TRACE_INHERIT___91 = 183,
    _SC_TRACE_LOG___91 = 184,
    _SC_LEVEL1_ICACHE_SIZE___91 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___91 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___91 = 187,
    _SC_LEVEL1_DCACHE_SIZE___91 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___91 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___91 = 190,
    _SC_LEVEL2_CACHE_SIZE___91 = 191,
    _SC_LEVEL2_CACHE_ASSOC___91 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___91 = 193,
    _SC_LEVEL3_CACHE_SIZE___91 = 194,
    _SC_LEVEL3_CACHE_ASSOC___91 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___91 = 196,
    _SC_LEVEL4_CACHE_SIZE___91 = 197,
    _SC_LEVEL4_CACHE_ASSOC___91 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___91 = 199,
    _SC_IPV6___91 = 235,
    _SC_RAW_SOCKETS___91 = 236,
    _SC_V7_ILP32_OFF32___91 = 237,
    _SC_V7_ILP32_OFFBIG___91 = 238,
    _SC_V7_LP64_OFF64___91 = 239,
    _SC_V7_LPBIG_OFFBIG___91 = 240,
    _SC_SS_REPL_MAX___91 = 241,
    _SC_TRACE_EVENT_NAME_MAX___91 = 242,
    _SC_TRACE_NAME_MAX___91 = 243,
    _SC_TRACE_SYS_MAX___91 = 244,
    _SC_TRACE_USER_EVENT_MAX___91 = 245,
    _SC_XOPEN_STREAMS___91 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___91 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___91 = 248
} ;
enum __anonenum_875524036___91 {
    _CS_PATH___91 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___91 = 1,
    _CS_GNU_LIBC_VERSION___91 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___91 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___91 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___91 = 5,
    _CS_LFS_CFLAGS___91 = 1000,
    _CS_LFS_LDFLAGS___91 = 1001,
    _CS_LFS_LIBS___91 = 1002,
    _CS_LFS_LINTFLAGS___91 = 1003,
    _CS_LFS64_CFLAGS___91 = 1004,
    _CS_LFS64_LDFLAGS___91 = 1005,
    _CS_LFS64_LIBS___91 = 1006,
    _CS_LFS64_LINTFLAGS___91 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___91 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___91 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___91 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___91 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___91 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___91 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___91 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___91 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___91 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___91 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___91 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___91 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___91 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___91 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___91 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___91 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___91 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___91 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___91 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___91 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___91 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___91 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___91 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___91 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___91 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___91 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___91 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___91 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___91 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___91 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___91 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___91 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___91 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___91 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___91 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___91 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___91 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___91 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___91 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___91 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___91 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___91 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___91 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___91 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___91 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___91 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___91 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___91 = 1147,
    _CS_V6_ENV___91 = 1148,
    _CS_V7_ENV___91 = 1149
} ;
enum __anonenum_513775621___91 {
    DT_UNKNOWN___91 = 0,
    DT_FIFO___91 = 1,
    DT_CHR___91 = 2,
    DT_DIR___91 = 4,
    DT_BLK___91 = 6,
    DT_REG___91 = 8,
    DT_LNK___91 = 10,
    DT_SOCK___91 = 12,
    DT_WHT___91 = 14
} ;
enum __anonenum_77002343___91 {
    SI_ASYNCNL___91 = -60,
    SI_TKILL___91 = -6,
    SI_SIGIO___91 = -5,
    SI_ASYNCIO___91 = -4,
    SI_MESGQ___91 = -3,
    SI_TIMER___91 = -2,
    SI_QUEUE___91 = -1,
    SI_USER___91 = 0,
    SI_KERNEL___91 = 128
} ;
enum __anonenum_131038172___91 {
    ILL_ILLOPC___91 = 1,
    ILL_ILLOPN___91 = 2,
    ILL_ILLADR___91 = 3,
    ILL_ILLTRP___91 = 4,
    ILL_PRVOPC___91 = 5,
    ILL_PRVREG___91 = 6,
    ILL_COPROC___91 = 7,
    ILL_BADSTK___91 = 8
} ;
enum __anonenum_452038093___91 {
    FPE_INTDIV___91 = 1,
    FPE_INTOVF___91 = 2,
    FPE_FLTDIV___91 = 3,
    FPE_FLTOVF___91 = 4,
    FPE_FLTUND___91 = 5,
    FPE_FLTRES___91 = 6,
    FPE_FLTINV___91 = 7,
    FPE_FLTSUB___91 = 8
} ;
enum __anonenum_30976155___91 {
    SEGV_MAPERR___91 = 1,
    SEGV_ACCERR___91 = 2,
    SEGV_BNDERR___91 = 3,
    SEGV_PKUERR___91 = 4
} ;
enum __anonenum_1036286214___91 {
    BUS_ADRALN___91 = 1,
    BUS_ADRERR___91 = 2,
    BUS_OBJERR___91 = 3,
    BUS_MCEERR_AR___91 = 4,
    BUS_MCEERR_AO___91 = 5
} ;
enum __anonenum_493465559___91 {
    TRAP_BRKPT___91 = 1,
    TRAP_TRACE___91 = 2
} ;
enum __anonenum_23175539___91 {
    CLD_EXITED___91 = 1,
    CLD_KILLED___91 = 2,
    CLD_DUMPED___91 = 3,
    CLD_TRAPPED___91 = 4,
    CLD_STOPPED___91 = 5,
    CLD_CONTINUED___91 = 6
} ;
enum __anonenum_111643124___91 {
    POLL_IN___91 = 1,
    POLL_OUT___91 = 2,
    POLL_MSG___91 = 3,
    POLL_ERR___91 = 4,
    POLL_PRI___91 = 5,
    POLL_HUP___91 = 6
} ;
enum __anonenum_852341087___91 {
    SIGEV_SIGNAL___91 = 0,
    SIGEV_NONE___91 = 1,
    SIGEV_THREAD___91 = 2,
    SIGEV_THREAD_ID___91 = 4
} ;
enum __anonenum_451154152___91 {
    REG_R8___91 = 0,
    REG_R9___91 = 1,
    REG_R10___91 = 2,
    REG_R11___91 = 3,
    REG_R12___91 = 4,
    REG_R13___91 = 5,
    REG_R14___91 = 6,
    REG_R15___91 = 7,
    REG_RDI___91 = 8,
    REG_RSI___91 = 9,
    REG_RBP___91 = 10,
    REG_RBX___91 = 11,
    REG_RDX___91 = 12,
    REG_RAX___91 = 13,
    REG_RCX___91 = 14,
    REG_RSP___91 = 15,
    REG_RIP___91 = 16,
    REG_EFL___91 = 17,
    REG_CSGSFS___91 = 18,
    REG_ERR___91 = 19,
    REG_TRAPNO___91 = 20,
    REG_OLDMASK___91 = 21,
    REG_CR2___91 = 22
} ;
enum __anonenum_57186863___91 {
    SS_ONSTACK___91 = 1,
    SS_DISABLE___91 = 2
} ;
enum __anonenum_83571709___91 {
    MSG_OOB___91 = 1,
    MSG_PEEK___91 = 2,
    MSG_DONTROUTE___91 = 4,
    MSG_TRYHARD___91 = 4,
    MSG_CTRUNC___91 = 8,
    MSG_PROXY___91 = 16,
    MSG_TRUNC___91 = 32,
    MSG_DONTWAIT___91 = 64,
    MSG_EOR___91 = 128,
    MSG_WAITALL___91 = 256,
    MSG_FIN___91 = 512,
    MSG_SYN___91 = 1024,
    MSG_CONFIRM___91 = 2048,
    MSG_RST___91 = 4096,
    MSG_ERRQUEUE___91 = 8192,
    MSG_NOSIGNAL___91 = 16384,
    MSG_MORE___91 = 32768,
    MSG_WAITFORONE___91 = 65536,
    MSG_BATCH___91 = 262144,
    MSG_ZEROCOPY___91 = 67108864,
    MSG_FASTOPEN___91 = 536870912,
    MSG_CMSG_CLOEXEC___91 = 1073741824
} ;
enum __anonenum_617082774___91 {
    SCM_RIGHTS___91 = 1,
    SCM_CREDENTIALS___91 = 2
} ;
enum __anonenum_606441560___91 {
    SHUT_RD___91 = 0,
    SHUT_WR___91 = 1,
    SHUT_RDWR___91 = 2
} ;
enum __anonenum_681669233___91 {
    IPPROTO_IP___91 = 0,
    IPPROTO_ICMP___91 = 1,
    IPPROTO_IGMP___91 = 2,
    IPPROTO_IPIP___91 = 4,
    IPPROTO_TCP___91 = 6,
    IPPROTO_EGP___91 = 8,
    IPPROTO_PUP___91 = 12,
    IPPROTO_UDP___91 = 17,
    IPPROTO_IDP___91 = 22,
    IPPROTO_TP___91 = 29,
    IPPROTO_DCCP___91 = 33,
    IPPROTO_IPV6___91 = 41,
    IPPROTO_RSVP___91 = 46,
    IPPROTO_GRE___91 = 47,
    IPPROTO_ESP___91 = 50,
    IPPROTO_AH___91 = 51,
    IPPROTO_MTP___91 = 92,
    IPPROTO_BEETPH___91 = 94,
    IPPROTO_ENCAP___91 = 98,
    IPPROTO_PIM___91 = 103,
    IPPROTO_COMP___91 = 108,
    IPPROTO_SCTP___91 = 132,
    IPPROTO_UDPLITE___91 = 136,
    IPPROTO_MPLS___91 = 137,
    IPPROTO_RAW___91 = 255,
    IPPROTO_MAX___91 = 256
} ;
enum __anonenum_218739988___91 {
    IPPROTO_HOPOPTS___91 = 0,
    IPPROTO_ROUTING___91 = 43,
    IPPROTO_FRAGMENT___91 = 44,
    IPPROTO_ICMPV6___91 = 58,
    IPPROTO_NONE___91 = 59,
    IPPROTO_DSTOPTS___91 = 60,
    IPPROTO_MH___91 = 135
} ;
enum __anonenum_662268580___91 {
    IPPORT_ECHO___91 = 7,
    IPPORT_DISCARD___91 = 9,
    IPPORT_SYSTAT___91 = 11,
    IPPORT_DAYTIME___91 = 13,
    IPPORT_NETSTAT___91 = 15,
    IPPORT_FTP___91 = 21,
    IPPORT_TELNET___91 = 23,
    IPPORT_SMTP___91 = 25,
    IPPORT_TIMESERVER___91 = 37,
    IPPORT_NAMESERVER___91 = 42,
    IPPORT_WHOIS___91 = 43,
    IPPORT_MTP___91 = 57,
    IPPORT_TFTP___91 = 69,
    IPPORT_RJE___91 = 77,
    IPPORT_FINGER___91 = 79,
    IPPORT_TTYLINK___91 = 87,
    IPPORT_SUPDUP___91 = 95,
    IPPORT_EXECSERVER___91 = 512,
    IPPORT_LOGINSERVER___91 = 513,
    IPPORT_CMDSERVER___91 = 514,
    IPPORT_EFSSERVER___91 = 520,
    IPPORT_BIFFUDP___91 = 512,
    IPPORT_WHOSERVER___91 = 513,
    IPPORT_ROUTESERVER___91 = 520,
    IPPORT_RESERVED___91 = 1024,
    IPPORT_USERRESERVED___91 = 5000
} ;
enum __anonenum_788308992___91 {
    TCP_ESTABLISHED___91 = 1,
    TCP_SYN_SENT___91 = 2,
    TCP_SYN_RECV___91 = 3,
    TCP_FIN_WAIT1___91 = 4,
    TCP_FIN_WAIT2___91 = 5,
    TCP_TIME_WAIT___91 = 6,
    TCP_CLOSE___91 = 7,
    TCP_CLOSE_WAIT___91 = 8,
    TCP_LAST_ACK___91 = 9,
    TCP_LISTEN___91 = 10,
    TCP_CLOSING___91 = 11
} ;
enum __anonenum_221125648___91 {
    TCP_NO_QUEUE___91 = 0,
    TCP_RECV_QUEUE___91 = 1,
    TCP_SEND_QUEUE___91 = 2,
    TCP_QUEUES_NR___91 = 3
} ;
enum __anonenum_34415463___91 {
    PTHREAD_CREATE_JOINABLE___91 = 0,
    PTHREAD_CREATE_DETACHED___91 = 1
} ;
enum __anonenum_303612439___91 {
    PTHREAD_MUTEX_TIMED_NP___91 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___91 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___91 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___91 = 3,
    PTHREAD_MUTEX_NORMAL___91 = 0,
    PTHREAD_MUTEX_RECURSIVE___91 = 1,
    PTHREAD_MUTEX_ERRORCHECK___91 = 2,
    PTHREAD_MUTEX_DEFAULT___91 = 0,
    PTHREAD_MUTEX_FAST_NP___91 = 0
} ;
enum __anonenum_931900394___91 {
    PTHREAD_MUTEX_STALLED___91 = 0,
    PTHREAD_MUTEX_STALLED_NP___91 = 0,
    PTHREAD_MUTEX_ROBUST___91 = 1,
    PTHREAD_MUTEX_ROBUST_NP___91 = 1
} ;
enum __anonenum_205214487___91 {
    PTHREAD_PRIO_NONE___91 = 0,
    PTHREAD_PRIO_INHERIT___91 = 1,
    PTHREAD_PRIO_PROTECT___91 = 2
} ;
enum __anonenum_25043950___91 {
    PTHREAD_RWLOCK_PREFER_READER_NP___91 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___91 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___91 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___91 = 0
} ;
enum __anonenum_436439511___91 {
    PTHREAD_INHERIT_SCHED___91 = 0,
    PTHREAD_EXPLICIT_SCHED___91 = 1
} ;
enum __anonenum_998661166___91 {
    PTHREAD_SCOPE_SYSTEM___91 = 0,
    PTHREAD_SCOPE_PROCESS___91 = 1
} ;
enum __anonenum_146137331___91 {
    PTHREAD_PROCESS_PRIVATE___91 = 0,
    PTHREAD_PROCESS_SHARED___91 = 1
} ;
enum __anonenum_53396917___91 {
    PTHREAD_CANCEL_ENABLE___91 = 0,
    PTHREAD_CANCEL_DISABLE___91 = 1
} ;
enum __anonenum_904563783___91 {
    PTHREAD_CANCEL_DEFERRED___91 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___91 = 1
} ;
enum __anonenum_672052974___91 {
    SSL_CT_VALIDATION_PERMISSIVE___91 = 0,
    SSL_CT_VALIDATION_STRICT___91 = 1
} ;
struct traversal_context {
   struct rev_info *revs ;
   void (*show_object)(struct object * , char const   * , void * ) ;
   void (*show_commit)(struct commit * , void * ) ;
   void *show_data ;
   struct filter *filter ;
};
enum __anonenum_437032235___92 {
    _PC_LINK_MAX___92 = 0,
    _PC_MAX_CANON___92 = 1,
    _PC_MAX_INPUT___92 = 2,
    _PC_NAME_MAX___92 = 3,
    _PC_PATH_MAX___92 = 4,
    _PC_PIPE_BUF___92 = 5,
    _PC_CHOWN_RESTRICTED___92 = 6,
    _PC_NO_TRUNC___92 = 7,
    _PC_VDISABLE___92 = 8,
    _PC_SYNC_IO___92 = 9,
    _PC_ASYNC_IO___92 = 10,
    _PC_PRIO_IO___92 = 11,
    _PC_SOCK_MAXBUF___92 = 12,
    _PC_FILESIZEBITS___92 = 13,
    _PC_REC_INCR_XFER_SIZE___92 = 14,
    _PC_REC_MAX_XFER_SIZE___92 = 15,
    _PC_REC_MIN_XFER_SIZE___92 = 16,
    _PC_REC_XFER_ALIGN___92 = 17,
    _PC_ALLOC_SIZE_MIN___92 = 18,
    _PC_SYMLINK_MAX___92 = 19,
    _PC_2_SYMLINKS___92 = 20
} ;
enum __anonenum_315186338___92 {
    _SC_ARG_MAX___92 = 0,
    _SC_CHILD_MAX___92 = 1,
    _SC_CLK_TCK___92 = 2,
    _SC_NGROUPS_MAX___92 = 3,
    _SC_OPEN_MAX___92 = 4,
    _SC_STREAM_MAX___92 = 5,
    _SC_TZNAME_MAX___92 = 6,
    _SC_JOB_CONTROL___92 = 7,
    _SC_SAVED_IDS___92 = 8,
    _SC_REALTIME_SIGNALS___92 = 9,
    _SC_PRIORITY_SCHEDULING___92 = 10,
    _SC_TIMERS___92 = 11,
    _SC_ASYNCHRONOUS_IO___92 = 12,
    _SC_PRIORITIZED_IO___92 = 13,
    _SC_SYNCHRONIZED_IO___92 = 14,
    _SC_FSYNC___92 = 15,
    _SC_MAPPED_FILES___92 = 16,
    _SC_MEMLOCK___92 = 17,
    _SC_MEMLOCK_RANGE___92 = 18,
    _SC_MEMORY_PROTECTION___92 = 19,
    _SC_MESSAGE_PASSING___92 = 20,
    _SC_SEMAPHORES___92 = 21,
    _SC_SHARED_MEMORY_OBJECTS___92 = 22,
    _SC_AIO_LISTIO_MAX___92 = 23,
    _SC_AIO_MAX___92 = 24,
    _SC_AIO_PRIO_DELTA_MAX___92 = 25,
    _SC_DELAYTIMER_MAX___92 = 26,
    _SC_MQ_OPEN_MAX___92 = 27,
    _SC_MQ_PRIO_MAX___92 = 28,
    _SC_VERSION___92 = 29,
    _SC_PAGESIZE___92 = 30,
    _SC_RTSIG_MAX___92 = 31,
    _SC_SEM_NSEMS_MAX___92 = 32,
    _SC_SEM_VALUE_MAX___92 = 33,
    _SC_SIGQUEUE_MAX___92 = 34,
    _SC_TIMER_MAX___92 = 35,
    _SC_BC_BASE_MAX___92 = 36,
    _SC_BC_DIM_MAX___92 = 37,
    _SC_BC_SCALE_MAX___92 = 38,
    _SC_BC_STRING_MAX___92 = 39,
    _SC_COLL_WEIGHTS_MAX___92 = 40,
    _SC_EQUIV_CLASS_MAX___92 = 41,
    _SC_EXPR_NEST_MAX___92 = 42,
    _SC_LINE_MAX___92 = 43,
    _SC_RE_DUP_MAX___92 = 44,
    _SC_CHARCLASS_NAME_MAX___92 = 45,
    _SC_2_VERSION___92 = 46,
    _SC_2_C_BIND___92 = 47,
    _SC_2_C_DEV___92 = 48,
    _SC_2_FORT_DEV___92 = 49,
    _SC_2_FORT_RUN___92 = 50,
    _SC_2_SW_DEV___92 = 51,
    _SC_2_LOCALEDEF___92 = 52,
    _SC_PII___92 = 53,
    _SC_PII_XTI___92 = 54,
    _SC_PII_SOCKET___92 = 55,
    _SC_PII_INTERNET___92 = 56,
    _SC_PII_OSI___92 = 57,
    _SC_POLL___92 = 58,
    _SC_SELECT___92 = 59,
    _SC_UIO_MAXIOV___92 = 60,
    _SC_IOV_MAX___92 = 60,
    _SC_PII_INTERNET_STREAM___92 = 61,
    _SC_PII_INTERNET_DGRAM___92 = 62,
    _SC_PII_OSI_COTS___92 = 63,
    _SC_PII_OSI_CLTS___92 = 64,
    _SC_PII_OSI_M___92 = 65,
    _SC_T_IOV_MAX___92 = 66,
    _SC_THREADS___92 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___92 = 68,
    _SC_GETGR_R_SIZE_MAX___92 = 69,
    _SC_GETPW_R_SIZE_MAX___92 = 70,
    _SC_LOGIN_NAME_MAX___92 = 71,
    _SC_TTY_NAME_MAX___92 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___92 = 73,
    _SC_THREAD_KEYS_MAX___92 = 74,
    _SC_THREAD_STACK_MIN___92 = 75,
    _SC_THREAD_THREADS_MAX___92 = 76,
    _SC_THREAD_ATTR_STACKADDR___92 = 77,
    _SC_THREAD_ATTR_STACKSIZE___92 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___92 = 79,
    _SC_THREAD_PRIO_INHERIT___92 = 80,
    _SC_THREAD_PRIO_PROTECT___92 = 81,
    _SC_THREAD_PROCESS_SHARED___92 = 82,
    _SC_NPROCESSORS_CONF___92 = 83,
    _SC_NPROCESSORS_ONLN___92 = 84,
    _SC_PHYS_PAGES___92 = 85,
    _SC_AVPHYS_PAGES___92 = 86,
    _SC_ATEXIT_MAX___92 = 87,
    _SC_PASS_MAX___92 = 88,
    _SC_XOPEN_VERSION___92 = 89,
    _SC_XOPEN_XCU_VERSION___92 = 90,
    _SC_XOPEN_UNIX___92 = 91,
    _SC_XOPEN_CRYPT___92 = 92,
    _SC_XOPEN_ENH_I18N___92 = 93,
    _SC_XOPEN_SHM___92 = 94,
    _SC_2_CHAR_TERM___92 = 95,
    _SC_2_C_VERSION___92 = 96,
    _SC_2_UPE___92 = 97,
    _SC_XOPEN_XPG2___92 = 98,
    _SC_XOPEN_XPG3___92 = 99,
    _SC_XOPEN_XPG4___92 = 100,
    _SC_CHAR_BIT___92 = 101,
    _SC_CHAR_MAX___92 = 102,
    _SC_CHAR_MIN___92 = 103,
    _SC_INT_MAX___92 = 104,
    _SC_INT_MIN___92 = 105,
    _SC_LONG_BIT___92 = 106,
    _SC_WORD_BIT___92 = 107,
    _SC_MB_LEN_MAX___92 = 108,
    _SC_NZERO___92 = 109,
    _SC_SSIZE_MAX___92 = 110,
    _SC_SCHAR_MAX___92 = 111,
    _SC_SCHAR_MIN___92 = 112,
    _SC_SHRT_MAX___92 = 113,
    _SC_SHRT_MIN___92 = 114,
    _SC_UCHAR_MAX___92 = 115,
    _SC_UINT_MAX___92 = 116,
    _SC_ULONG_MAX___92 = 117,
    _SC_USHRT_MAX___92 = 118,
    _SC_NL_ARGMAX___92 = 119,
    _SC_NL_LANGMAX___92 = 120,
    _SC_NL_MSGMAX___92 = 121,
    _SC_NL_NMAX___92 = 122,
    _SC_NL_SETMAX___92 = 123,
    _SC_NL_TEXTMAX___92 = 124,
    _SC_XBS5_ILP32_OFF32___92 = 125,
    _SC_XBS5_ILP32_OFFBIG___92 = 126,
    _SC_XBS5_LP64_OFF64___92 = 127,
    _SC_XBS5_LPBIG_OFFBIG___92 = 128,
    _SC_XOPEN_LEGACY___92 = 129,
    _SC_XOPEN_REALTIME___92 = 130,
    _SC_XOPEN_REALTIME_THREADS___92 = 131,
    _SC_ADVISORY_INFO___92 = 132,
    _SC_BARRIERS___92 = 133,
    _SC_BASE___92 = 134,
    _SC_C_LANG_SUPPORT___92 = 135,
    _SC_C_LANG_SUPPORT_R___92 = 136,
    _SC_CLOCK_SELECTION___92 = 137,
    _SC_CPUTIME___92 = 138,
    _SC_THREAD_CPUTIME___92 = 139,
    _SC_DEVICE_IO___92 = 140,
    _SC_DEVICE_SPECIFIC___92 = 141,
    _SC_DEVICE_SPECIFIC_R___92 = 142,
    _SC_FD_MGMT___92 = 143,
    _SC_FIFO___92 = 144,
    _SC_PIPE___92 = 145,
    _SC_FILE_ATTRIBUTES___92 = 146,
    _SC_FILE_LOCKING___92 = 147,
    _SC_FILE_SYSTEM___92 = 148,
    _SC_MONOTONIC_CLOCK___92 = 149,
    _SC_MULTI_PROCESS___92 = 150,
    _SC_SINGLE_PROCESS___92 = 151,
    _SC_NETWORKING___92 = 152,
    _SC_READER_WRITER_LOCKS___92 = 153,
    _SC_SPIN_LOCKS___92 = 154,
    _SC_REGEXP___92 = 155,
    _SC_REGEX_VERSION___92 = 156,
    _SC_SHELL___92 = 157,
    _SC_SIGNALS___92 = 158,
    _SC_SPAWN___92 = 159,
    _SC_SPORADIC_SERVER___92 = 160,
    _SC_THREAD_SPORADIC_SERVER___92 = 161,
    _SC_SYSTEM_DATABASE___92 = 162,
    _SC_SYSTEM_DATABASE_R___92 = 163,
    _SC_TIMEOUTS___92 = 164,
    _SC_TYPED_MEMORY_OBJECTS___92 = 165,
    _SC_USER_GROUPS___92 = 166,
    _SC_USER_GROUPS_R___92 = 167,
    _SC_2_PBS___92 = 168,
    _SC_2_PBS_ACCOUNTING___92 = 169,
    _SC_2_PBS_LOCATE___92 = 170,
    _SC_2_PBS_MESSAGE___92 = 171,
    _SC_2_PBS_TRACK___92 = 172,
    _SC_SYMLOOP_MAX___92 = 173,
    _SC_STREAMS___92 = 174,
    _SC_2_PBS_CHECKPOINT___92 = 175,
    _SC_V6_ILP32_OFF32___92 = 176,
    _SC_V6_ILP32_OFFBIG___92 = 177,
    _SC_V6_LP64_OFF64___92 = 178,
    _SC_V6_LPBIG_OFFBIG___92 = 179,
    _SC_HOST_NAME_MAX___92 = 180,
    _SC_TRACE___92 = 181,
    _SC_TRACE_EVENT_FILTER___92 = 182,
    _SC_TRACE_INHERIT___92 = 183,
    _SC_TRACE_LOG___92 = 184,
    _SC_LEVEL1_ICACHE_SIZE___92 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___92 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___92 = 187,
    _SC_LEVEL1_DCACHE_SIZE___92 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___92 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___92 = 190,
    _SC_LEVEL2_CACHE_SIZE___92 = 191,
    _SC_LEVEL2_CACHE_ASSOC___92 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___92 = 193,
    _SC_LEVEL3_CACHE_SIZE___92 = 194,
    _SC_LEVEL3_CACHE_ASSOC___92 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___92 = 196,
    _SC_LEVEL4_CACHE_SIZE___92 = 197,
    _SC_LEVEL4_CACHE_ASSOC___92 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___92 = 199,
    _SC_IPV6___92 = 235,
    _SC_RAW_SOCKETS___92 = 236,
    _SC_V7_ILP32_OFF32___92 = 237,
    _SC_V7_ILP32_OFFBIG___92 = 238,
    _SC_V7_LP64_OFF64___92 = 239,
    _SC_V7_LPBIG_OFFBIG___92 = 240,
    _SC_SS_REPL_MAX___92 = 241,
    _SC_TRACE_EVENT_NAME_MAX___92 = 242,
    _SC_TRACE_NAME_MAX___92 = 243,
    _SC_TRACE_SYS_MAX___92 = 244,
    _SC_TRACE_USER_EVENT_MAX___92 = 245,
    _SC_XOPEN_STREAMS___92 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___92 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___92 = 248
} ;
enum __anonenum_875524036___92 {
    _CS_PATH___92 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___92 = 1,
    _CS_GNU_LIBC_VERSION___92 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___92 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___92 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___92 = 5,
    _CS_LFS_CFLAGS___92 = 1000,
    _CS_LFS_LDFLAGS___92 = 1001,
    _CS_LFS_LIBS___92 = 1002,
    _CS_LFS_LINTFLAGS___92 = 1003,
    _CS_LFS64_CFLAGS___92 = 1004,
    _CS_LFS64_LDFLAGS___92 = 1005,
    _CS_LFS64_LIBS___92 = 1006,
    _CS_LFS64_LINTFLAGS___92 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___92 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___92 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___92 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___92 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___92 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___92 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___92 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___92 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___92 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___92 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___92 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___92 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___92 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___92 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___92 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___92 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___92 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___92 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___92 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___92 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___92 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___92 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___92 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___92 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___92 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___92 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___92 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___92 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___92 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___92 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___92 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___92 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___92 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___92 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___92 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___92 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___92 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___92 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___92 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___92 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___92 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___92 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___92 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___92 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___92 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___92 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___92 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___92 = 1147,
    _CS_V6_ENV___92 = 1148,
    _CS_V7_ENV___92 = 1149
} ;
enum __anonenum_513775621___92 {
    DT_UNKNOWN___92 = 0,
    DT_FIFO___92 = 1,
    DT_CHR___92 = 2,
    DT_DIR___92 = 4,
    DT_BLK___92 = 6,
    DT_REG___92 = 8,
    DT_LNK___92 = 10,
    DT_SOCK___92 = 12,
    DT_WHT___92 = 14
} ;
enum __anonenum_77002343___92 {
    SI_ASYNCNL___92 = -60,
    SI_TKILL___92 = -6,
    SI_SIGIO___92 = -5,
    SI_ASYNCIO___92 = -4,
    SI_MESGQ___92 = -3,
    SI_TIMER___92 = -2,
    SI_QUEUE___92 = -1,
    SI_USER___92 = 0,
    SI_KERNEL___92 = 128
} ;
enum __anonenum_131038172___92 {
    ILL_ILLOPC___92 = 1,
    ILL_ILLOPN___92 = 2,
    ILL_ILLADR___92 = 3,
    ILL_ILLTRP___92 = 4,
    ILL_PRVOPC___92 = 5,
    ILL_PRVREG___92 = 6,
    ILL_COPROC___92 = 7,
    ILL_BADSTK___92 = 8
} ;
enum __anonenum_452038093___92 {
    FPE_INTDIV___92 = 1,
    FPE_INTOVF___92 = 2,
    FPE_FLTDIV___92 = 3,
    FPE_FLTOVF___92 = 4,
    FPE_FLTUND___92 = 5,
    FPE_FLTRES___92 = 6,
    FPE_FLTINV___92 = 7,
    FPE_FLTSUB___92 = 8
} ;
enum __anonenum_30976155___92 {
    SEGV_MAPERR___92 = 1,
    SEGV_ACCERR___92 = 2,
    SEGV_BNDERR___92 = 3,
    SEGV_PKUERR___92 = 4
} ;
enum __anonenum_1036286214___92 {
    BUS_ADRALN___92 = 1,
    BUS_ADRERR___92 = 2,
    BUS_OBJERR___92 = 3,
    BUS_MCEERR_AR___92 = 4,
    BUS_MCEERR_AO___92 = 5
} ;
enum __anonenum_493465559___92 {
    TRAP_BRKPT___92 = 1,
    TRAP_TRACE___92 = 2
} ;
enum __anonenum_23175539___92 {
    CLD_EXITED___92 = 1,
    CLD_KILLED___92 = 2,
    CLD_DUMPED___92 = 3,
    CLD_TRAPPED___92 = 4,
    CLD_STOPPED___92 = 5,
    CLD_CONTINUED___92 = 6
} ;
enum __anonenum_111643124___92 {
    POLL_IN___92 = 1,
    POLL_OUT___92 = 2,
    POLL_MSG___92 = 3,
    POLL_ERR___92 = 4,
    POLL_PRI___92 = 5,
    POLL_HUP___92 = 6
} ;
enum __anonenum_852341087___92 {
    SIGEV_SIGNAL___92 = 0,
    SIGEV_NONE___92 = 1,
    SIGEV_THREAD___92 = 2,
    SIGEV_THREAD_ID___92 = 4
} ;
enum __anonenum_451154152___92 {
    REG_R8___92 = 0,
    REG_R9___92 = 1,
    REG_R10___92 = 2,
    REG_R11___92 = 3,
    REG_R12___92 = 4,
    REG_R13___92 = 5,
    REG_R14___92 = 6,
    REG_R15___92 = 7,
    REG_RDI___92 = 8,
    REG_RSI___92 = 9,
    REG_RBP___92 = 10,
    REG_RBX___92 = 11,
    REG_RDX___92 = 12,
    REG_RAX___92 = 13,
    REG_RCX___92 = 14,
    REG_RSP___92 = 15,
    REG_RIP___92 = 16,
    REG_EFL___92 = 17,
    REG_CSGSFS___92 = 18,
    REG_ERR___92 = 19,
    REG_TRAPNO___92 = 20,
    REG_OLDMASK___92 = 21,
    REG_CR2___92 = 22
} ;
enum __anonenum_57186863___92 {
    SS_ONSTACK___92 = 1,
    SS_DISABLE___92 = 2
} ;
enum __anonenum_83571709___92 {
    MSG_OOB___92 = 1,
    MSG_PEEK___92 = 2,
    MSG_DONTROUTE___92 = 4,
    MSG_TRYHARD___92 = 4,
    MSG_CTRUNC___92 = 8,
    MSG_PROXY___92 = 16,
    MSG_TRUNC___92 = 32,
    MSG_DONTWAIT___92 = 64,
    MSG_EOR___92 = 128,
    MSG_WAITALL___92 = 256,
    MSG_FIN___92 = 512,
    MSG_SYN___92 = 1024,
    MSG_CONFIRM___92 = 2048,
    MSG_RST___92 = 4096,
    MSG_ERRQUEUE___92 = 8192,
    MSG_NOSIGNAL___92 = 16384,
    MSG_MORE___92 = 32768,
    MSG_WAITFORONE___92 = 65536,
    MSG_BATCH___92 = 262144,
    MSG_ZEROCOPY___92 = 67108864,
    MSG_FASTOPEN___92 = 536870912,
    MSG_CMSG_CLOEXEC___92 = 1073741824
} ;
enum __anonenum_617082774___92 {
    SCM_RIGHTS___92 = 1,
    SCM_CREDENTIALS___92 = 2
} ;
enum __anonenum_606441560___92 {
    SHUT_RD___92 = 0,
    SHUT_WR___92 = 1,
    SHUT_RDWR___92 = 2
} ;
enum __anonenum_681669233___92 {
    IPPROTO_IP___92 = 0,
    IPPROTO_ICMP___92 = 1,
    IPPROTO_IGMP___92 = 2,
    IPPROTO_IPIP___92 = 4,
    IPPROTO_TCP___92 = 6,
    IPPROTO_EGP___92 = 8,
    IPPROTO_PUP___92 = 12,
    IPPROTO_UDP___92 = 17,
    IPPROTO_IDP___92 = 22,
    IPPROTO_TP___92 = 29,
    IPPROTO_DCCP___92 = 33,
    IPPROTO_IPV6___92 = 41,
    IPPROTO_RSVP___92 = 46,
    IPPROTO_GRE___92 = 47,
    IPPROTO_ESP___92 = 50,
    IPPROTO_AH___92 = 51,
    IPPROTO_MTP___92 = 92,
    IPPROTO_BEETPH___92 = 94,
    IPPROTO_ENCAP___92 = 98,
    IPPROTO_PIM___92 = 103,
    IPPROTO_COMP___92 = 108,
    IPPROTO_SCTP___92 = 132,
    IPPROTO_UDPLITE___92 = 136,
    IPPROTO_MPLS___92 = 137,
    IPPROTO_RAW___92 = 255,
    IPPROTO_MAX___92 = 256
} ;
enum __anonenum_218739988___92 {
    IPPROTO_HOPOPTS___92 = 0,
    IPPROTO_ROUTING___92 = 43,
    IPPROTO_FRAGMENT___92 = 44,
    IPPROTO_ICMPV6___92 = 58,
    IPPROTO_NONE___92 = 59,
    IPPROTO_DSTOPTS___92 = 60,
    IPPROTO_MH___92 = 135
} ;
enum __anonenum_662268580___92 {
    IPPORT_ECHO___92 = 7,
    IPPORT_DISCARD___92 = 9,
    IPPORT_SYSTAT___92 = 11,
    IPPORT_DAYTIME___92 = 13,
    IPPORT_NETSTAT___92 = 15,
    IPPORT_FTP___92 = 21,
    IPPORT_TELNET___92 = 23,
    IPPORT_SMTP___92 = 25,
    IPPORT_TIMESERVER___92 = 37,
    IPPORT_NAMESERVER___92 = 42,
    IPPORT_WHOIS___92 = 43,
    IPPORT_MTP___92 = 57,
    IPPORT_TFTP___92 = 69,
    IPPORT_RJE___92 = 77,
    IPPORT_FINGER___92 = 79,
    IPPORT_TTYLINK___92 = 87,
    IPPORT_SUPDUP___92 = 95,
    IPPORT_EXECSERVER___92 = 512,
    IPPORT_LOGINSERVER___92 = 513,
    IPPORT_CMDSERVER___92 = 514,
    IPPORT_EFSSERVER___92 = 520,
    IPPORT_BIFFUDP___92 = 512,
    IPPORT_WHOSERVER___92 = 513,
    IPPORT_ROUTESERVER___92 = 520,
    IPPORT_RESERVED___92 = 1024,
    IPPORT_USERRESERVED___92 = 5000
} ;
enum __anonenum_788308992___92 {
    TCP_ESTABLISHED___92 = 1,
    TCP_SYN_SENT___92 = 2,
    TCP_SYN_RECV___92 = 3,
    TCP_FIN_WAIT1___92 = 4,
    TCP_FIN_WAIT2___92 = 5,
    TCP_TIME_WAIT___92 = 6,
    TCP_CLOSE___92 = 7,
    TCP_CLOSE_WAIT___92 = 8,
    TCP_LAST_ACK___92 = 9,
    TCP_LISTEN___92 = 10,
    TCP_CLOSING___92 = 11
} ;
enum __anonenum_221125648___92 {
    TCP_NO_QUEUE___92 = 0,
    TCP_RECV_QUEUE___92 = 1,
    TCP_SEND_QUEUE___92 = 2,
    TCP_QUEUES_NR___92 = 3
} ;
enum __anonenum_34415463___92 {
    PTHREAD_CREATE_JOINABLE___92 = 0,
    PTHREAD_CREATE_DETACHED___92 = 1
} ;
enum __anonenum_303612439___92 {
    PTHREAD_MUTEX_TIMED_NP___92 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___92 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___92 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___92 = 3,
    PTHREAD_MUTEX_NORMAL___92 = 0,
    PTHREAD_MUTEX_RECURSIVE___92 = 1,
    PTHREAD_MUTEX_ERRORCHECK___92 = 2,
    PTHREAD_MUTEX_DEFAULT___92 = 0,
    PTHREAD_MUTEX_FAST_NP___92 = 0
} ;
enum __anonenum_931900394___92 {
    PTHREAD_MUTEX_STALLED___92 = 0,
    PTHREAD_MUTEX_STALLED_NP___92 = 0,
    PTHREAD_MUTEX_ROBUST___92 = 1,
    PTHREAD_MUTEX_ROBUST_NP___92 = 1
} ;
enum __anonenum_205214487___92 {
    PTHREAD_PRIO_NONE___92 = 0,
    PTHREAD_PRIO_INHERIT___92 = 1,
    PTHREAD_PRIO_PROTECT___92 = 2
} ;
enum __anonenum_25043950___92 {
    PTHREAD_RWLOCK_PREFER_READER_NP___92 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___92 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___92 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___92 = 0
} ;
enum __anonenum_436439511___92 {
    PTHREAD_INHERIT_SCHED___92 = 0,
    PTHREAD_EXPLICIT_SCHED___92 = 1
} ;
enum __anonenum_998661166___92 {
    PTHREAD_SCOPE_SYSTEM___92 = 0,
    PTHREAD_SCOPE_PROCESS___92 = 1
} ;
enum __anonenum_146137331___92 {
    PTHREAD_PROCESS_PRIVATE___92 = 0,
    PTHREAD_PROCESS_SHARED___92 = 1
} ;
enum __anonenum_53396917___92 {
    PTHREAD_CANCEL_ENABLE___92 = 0,
    PTHREAD_CANCEL_DISABLE___92 = 1
} ;
enum __anonenum_904563783___92 {
    PTHREAD_CANCEL_DEFERRED___92 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___92 = 1
} ;
enum __anonenum_672052974___92 {
    SSL_CT_VALIDATION_PERMISSIVE___92 = 0,
    SSL_CT_VALIDATION_STRICT___92 = 1
} ;
struct ll_merge_driver ;
typedef int (*ll_merge_fn)(struct ll_merge_driver  const  * , mmbuffer_t *result ,
                           char const   *path , mmfile_t *orig , char const   *orig_name ,
                           mmfile_t *src1 , char const   *name1 , mmfile_t *src2 ,
                           char const   *name2 , struct ll_merge_options  const  *opts ,
                           int marker_size );
struct ll_merge_driver {
   char const   *name ;
   char const   *description ;
   int (*fn)(struct ll_merge_driver  const  * , mmbuffer_t *result , char const   *path ,
             mmfile_t *orig , char const   *orig_name , mmfile_t *src1 , char const   *name1 ,
             mmfile_t *src2 , char const   *name2 , struct ll_merge_options  const  *opts ,
             int marker_size ) ;
   char const   *recursive ;
   struct ll_merge_driver *next ;
   char *cmdline ;
};
enum __anonenum_437032235___93 {
    _PC_LINK_MAX___93 = 0,
    _PC_MAX_CANON___93 = 1,
    _PC_MAX_INPUT___93 = 2,
    _PC_NAME_MAX___93 = 3,
    _PC_PATH_MAX___93 = 4,
    _PC_PIPE_BUF___93 = 5,
    _PC_CHOWN_RESTRICTED___93 = 6,
    _PC_NO_TRUNC___93 = 7,
    _PC_VDISABLE___93 = 8,
    _PC_SYNC_IO___93 = 9,
    _PC_ASYNC_IO___93 = 10,
    _PC_PRIO_IO___93 = 11,
    _PC_SOCK_MAXBUF___93 = 12,
    _PC_FILESIZEBITS___93 = 13,
    _PC_REC_INCR_XFER_SIZE___93 = 14,
    _PC_REC_MAX_XFER_SIZE___93 = 15,
    _PC_REC_MIN_XFER_SIZE___93 = 16,
    _PC_REC_XFER_ALIGN___93 = 17,
    _PC_ALLOC_SIZE_MIN___93 = 18,
    _PC_SYMLINK_MAX___93 = 19,
    _PC_2_SYMLINKS___93 = 20
} ;
enum __anonenum_315186338___93 {
    _SC_ARG_MAX___93 = 0,
    _SC_CHILD_MAX___93 = 1,
    _SC_CLK_TCK___93 = 2,
    _SC_NGROUPS_MAX___93 = 3,
    _SC_OPEN_MAX___93 = 4,
    _SC_STREAM_MAX___93 = 5,
    _SC_TZNAME_MAX___93 = 6,
    _SC_JOB_CONTROL___93 = 7,
    _SC_SAVED_IDS___93 = 8,
    _SC_REALTIME_SIGNALS___93 = 9,
    _SC_PRIORITY_SCHEDULING___93 = 10,
    _SC_TIMERS___93 = 11,
    _SC_ASYNCHRONOUS_IO___93 = 12,
    _SC_PRIORITIZED_IO___93 = 13,
    _SC_SYNCHRONIZED_IO___93 = 14,
    _SC_FSYNC___93 = 15,
    _SC_MAPPED_FILES___93 = 16,
    _SC_MEMLOCK___93 = 17,
    _SC_MEMLOCK_RANGE___93 = 18,
    _SC_MEMORY_PROTECTION___93 = 19,
    _SC_MESSAGE_PASSING___93 = 20,
    _SC_SEMAPHORES___93 = 21,
    _SC_SHARED_MEMORY_OBJECTS___93 = 22,
    _SC_AIO_LISTIO_MAX___93 = 23,
    _SC_AIO_MAX___93 = 24,
    _SC_AIO_PRIO_DELTA_MAX___93 = 25,
    _SC_DELAYTIMER_MAX___93 = 26,
    _SC_MQ_OPEN_MAX___93 = 27,
    _SC_MQ_PRIO_MAX___93 = 28,
    _SC_VERSION___93 = 29,
    _SC_PAGESIZE___93 = 30,
    _SC_RTSIG_MAX___93 = 31,
    _SC_SEM_NSEMS_MAX___93 = 32,
    _SC_SEM_VALUE_MAX___93 = 33,
    _SC_SIGQUEUE_MAX___93 = 34,
    _SC_TIMER_MAX___93 = 35,
    _SC_BC_BASE_MAX___93 = 36,
    _SC_BC_DIM_MAX___93 = 37,
    _SC_BC_SCALE_MAX___93 = 38,
    _SC_BC_STRING_MAX___93 = 39,
    _SC_COLL_WEIGHTS_MAX___93 = 40,
    _SC_EQUIV_CLASS_MAX___93 = 41,
    _SC_EXPR_NEST_MAX___93 = 42,
    _SC_LINE_MAX___93 = 43,
    _SC_RE_DUP_MAX___93 = 44,
    _SC_CHARCLASS_NAME_MAX___93 = 45,
    _SC_2_VERSION___93 = 46,
    _SC_2_C_BIND___93 = 47,
    _SC_2_C_DEV___93 = 48,
    _SC_2_FORT_DEV___93 = 49,
    _SC_2_FORT_RUN___93 = 50,
    _SC_2_SW_DEV___93 = 51,
    _SC_2_LOCALEDEF___93 = 52,
    _SC_PII___93 = 53,
    _SC_PII_XTI___93 = 54,
    _SC_PII_SOCKET___93 = 55,
    _SC_PII_INTERNET___93 = 56,
    _SC_PII_OSI___93 = 57,
    _SC_POLL___93 = 58,
    _SC_SELECT___93 = 59,
    _SC_UIO_MAXIOV___93 = 60,
    _SC_IOV_MAX___93 = 60,
    _SC_PII_INTERNET_STREAM___93 = 61,
    _SC_PII_INTERNET_DGRAM___93 = 62,
    _SC_PII_OSI_COTS___93 = 63,
    _SC_PII_OSI_CLTS___93 = 64,
    _SC_PII_OSI_M___93 = 65,
    _SC_T_IOV_MAX___93 = 66,
    _SC_THREADS___93 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___93 = 68,
    _SC_GETGR_R_SIZE_MAX___93 = 69,
    _SC_GETPW_R_SIZE_MAX___93 = 70,
    _SC_LOGIN_NAME_MAX___93 = 71,
    _SC_TTY_NAME_MAX___93 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___93 = 73,
    _SC_THREAD_KEYS_MAX___93 = 74,
    _SC_THREAD_STACK_MIN___93 = 75,
    _SC_THREAD_THREADS_MAX___93 = 76,
    _SC_THREAD_ATTR_STACKADDR___93 = 77,
    _SC_THREAD_ATTR_STACKSIZE___93 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___93 = 79,
    _SC_THREAD_PRIO_INHERIT___93 = 80,
    _SC_THREAD_PRIO_PROTECT___93 = 81,
    _SC_THREAD_PROCESS_SHARED___93 = 82,
    _SC_NPROCESSORS_CONF___93 = 83,
    _SC_NPROCESSORS_ONLN___93 = 84,
    _SC_PHYS_PAGES___93 = 85,
    _SC_AVPHYS_PAGES___93 = 86,
    _SC_ATEXIT_MAX___93 = 87,
    _SC_PASS_MAX___93 = 88,
    _SC_XOPEN_VERSION___93 = 89,
    _SC_XOPEN_XCU_VERSION___93 = 90,
    _SC_XOPEN_UNIX___93 = 91,
    _SC_XOPEN_CRYPT___93 = 92,
    _SC_XOPEN_ENH_I18N___93 = 93,
    _SC_XOPEN_SHM___93 = 94,
    _SC_2_CHAR_TERM___93 = 95,
    _SC_2_C_VERSION___93 = 96,
    _SC_2_UPE___93 = 97,
    _SC_XOPEN_XPG2___93 = 98,
    _SC_XOPEN_XPG3___93 = 99,
    _SC_XOPEN_XPG4___93 = 100,
    _SC_CHAR_BIT___93 = 101,
    _SC_CHAR_MAX___93 = 102,
    _SC_CHAR_MIN___93 = 103,
    _SC_INT_MAX___93 = 104,
    _SC_INT_MIN___93 = 105,
    _SC_LONG_BIT___93 = 106,
    _SC_WORD_BIT___93 = 107,
    _SC_MB_LEN_MAX___93 = 108,
    _SC_NZERO___93 = 109,
    _SC_SSIZE_MAX___93 = 110,
    _SC_SCHAR_MAX___93 = 111,
    _SC_SCHAR_MIN___93 = 112,
    _SC_SHRT_MAX___93 = 113,
    _SC_SHRT_MIN___93 = 114,
    _SC_UCHAR_MAX___93 = 115,
    _SC_UINT_MAX___93 = 116,
    _SC_ULONG_MAX___93 = 117,
    _SC_USHRT_MAX___93 = 118,
    _SC_NL_ARGMAX___93 = 119,
    _SC_NL_LANGMAX___93 = 120,
    _SC_NL_MSGMAX___93 = 121,
    _SC_NL_NMAX___93 = 122,
    _SC_NL_SETMAX___93 = 123,
    _SC_NL_TEXTMAX___93 = 124,
    _SC_XBS5_ILP32_OFF32___93 = 125,
    _SC_XBS5_ILP32_OFFBIG___93 = 126,
    _SC_XBS5_LP64_OFF64___93 = 127,
    _SC_XBS5_LPBIG_OFFBIG___93 = 128,
    _SC_XOPEN_LEGACY___93 = 129,
    _SC_XOPEN_REALTIME___93 = 130,
    _SC_XOPEN_REALTIME_THREADS___93 = 131,
    _SC_ADVISORY_INFO___93 = 132,
    _SC_BARRIERS___93 = 133,
    _SC_BASE___93 = 134,
    _SC_C_LANG_SUPPORT___93 = 135,
    _SC_C_LANG_SUPPORT_R___93 = 136,
    _SC_CLOCK_SELECTION___93 = 137,
    _SC_CPUTIME___93 = 138,
    _SC_THREAD_CPUTIME___93 = 139,
    _SC_DEVICE_IO___93 = 140,
    _SC_DEVICE_SPECIFIC___93 = 141,
    _SC_DEVICE_SPECIFIC_R___93 = 142,
    _SC_FD_MGMT___93 = 143,
    _SC_FIFO___93 = 144,
    _SC_PIPE___93 = 145,
    _SC_FILE_ATTRIBUTES___93 = 146,
    _SC_FILE_LOCKING___93 = 147,
    _SC_FILE_SYSTEM___93 = 148,
    _SC_MONOTONIC_CLOCK___93 = 149,
    _SC_MULTI_PROCESS___93 = 150,
    _SC_SINGLE_PROCESS___93 = 151,
    _SC_NETWORKING___93 = 152,
    _SC_READER_WRITER_LOCKS___93 = 153,
    _SC_SPIN_LOCKS___93 = 154,
    _SC_REGEXP___93 = 155,
    _SC_REGEX_VERSION___93 = 156,
    _SC_SHELL___93 = 157,
    _SC_SIGNALS___93 = 158,
    _SC_SPAWN___93 = 159,
    _SC_SPORADIC_SERVER___93 = 160,
    _SC_THREAD_SPORADIC_SERVER___93 = 161,
    _SC_SYSTEM_DATABASE___93 = 162,
    _SC_SYSTEM_DATABASE_R___93 = 163,
    _SC_TIMEOUTS___93 = 164,
    _SC_TYPED_MEMORY_OBJECTS___93 = 165,
    _SC_USER_GROUPS___93 = 166,
    _SC_USER_GROUPS_R___93 = 167,
    _SC_2_PBS___93 = 168,
    _SC_2_PBS_ACCOUNTING___93 = 169,
    _SC_2_PBS_LOCATE___93 = 170,
    _SC_2_PBS_MESSAGE___93 = 171,
    _SC_2_PBS_TRACK___93 = 172,
    _SC_SYMLOOP_MAX___93 = 173,
    _SC_STREAMS___93 = 174,
    _SC_2_PBS_CHECKPOINT___93 = 175,
    _SC_V6_ILP32_OFF32___93 = 176,
    _SC_V6_ILP32_OFFBIG___93 = 177,
    _SC_V6_LP64_OFF64___93 = 178,
    _SC_V6_LPBIG_OFFBIG___93 = 179,
    _SC_HOST_NAME_MAX___93 = 180,
    _SC_TRACE___93 = 181,
    _SC_TRACE_EVENT_FILTER___93 = 182,
    _SC_TRACE_INHERIT___93 = 183,
    _SC_TRACE_LOG___93 = 184,
    _SC_LEVEL1_ICACHE_SIZE___93 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___93 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___93 = 187,
    _SC_LEVEL1_DCACHE_SIZE___93 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___93 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___93 = 190,
    _SC_LEVEL2_CACHE_SIZE___93 = 191,
    _SC_LEVEL2_CACHE_ASSOC___93 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___93 = 193,
    _SC_LEVEL3_CACHE_SIZE___93 = 194,
    _SC_LEVEL3_CACHE_ASSOC___93 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___93 = 196,
    _SC_LEVEL4_CACHE_SIZE___93 = 197,
    _SC_LEVEL4_CACHE_ASSOC___93 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___93 = 199,
    _SC_IPV6___93 = 235,
    _SC_RAW_SOCKETS___93 = 236,
    _SC_V7_ILP32_OFF32___93 = 237,
    _SC_V7_ILP32_OFFBIG___93 = 238,
    _SC_V7_LP64_OFF64___93 = 239,
    _SC_V7_LPBIG_OFFBIG___93 = 240,
    _SC_SS_REPL_MAX___93 = 241,
    _SC_TRACE_EVENT_NAME_MAX___93 = 242,
    _SC_TRACE_NAME_MAX___93 = 243,
    _SC_TRACE_SYS_MAX___93 = 244,
    _SC_TRACE_USER_EVENT_MAX___93 = 245,
    _SC_XOPEN_STREAMS___93 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___93 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___93 = 248
} ;
enum __anonenum_875524036___93 {
    _CS_PATH___93 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___93 = 1,
    _CS_GNU_LIBC_VERSION___93 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___93 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___93 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___93 = 5,
    _CS_LFS_CFLAGS___93 = 1000,
    _CS_LFS_LDFLAGS___93 = 1001,
    _CS_LFS_LIBS___93 = 1002,
    _CS_LFS_LINTFLAGS___93 = 1003,
    _CS_LFS64_CFLAGS___93 = 1004,
    _CS_LFS64_LDFLAGS___93 = 1005,
    _CS_LFS64_LIBS___93 = 1006,
    _CS_LFS64_LINTFLAGS___93 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___93 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___93 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___93 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___93 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___93 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___93 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___93 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___93 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___93 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___93 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___93 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___93 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___93 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___93 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___93 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___93 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___93 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___93 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___93 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___93 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___93 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___93 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___93 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___93 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___93 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___93 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___93 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___93 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___93 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___93 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___93 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___93 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___93 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___93 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___93 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___93 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___93 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___93 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___93 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___93 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___93 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___93 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___93 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___93 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___93 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___93 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___93 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___93 = 1147,
    _CS_V6_ENV___93 = 1148,
    _CS_V7_ENV___93 = 1149
} ;
enum __anonenum_513775621___93 {
    DT_UNKNOWN___93 = 0,
    DT_FIFO___93 = 1,
    DT_CHR___93 = 2,
    DT_DIR___93 = 4,
    DT_BLK___93 = 6,
    DT_REG___93 = 8,
    DT_LNK___93 = 10,
    DT_SOCK___93 = 12,
    DT_WHT___93 = 14
} ;
enum __anonenum_77002343___93 {
    SI_ASYNCNL___93 = -60,
    SI_TKILL___93 = -6,
    SI_SIGIO___93 = -5,
    SI_ASYNCIO___93 = -4,
    SI_MESGQ___93 = -3,
    SI_TIMER___93 = -2,
    SI_QUEUE___93 = -1,
    SI_USER___93 = 0,
    SI_KERNEL___93 = 128
} ;
enum __anonenum_131038172___93 {
    ILL_ILLOPC___93 = 1,
    ILL_ILLOPN___93 = 2,
    ILL_ILLADR___93 = 3,
    ILL_ILLTRP___93 = 4,
    ILL_PRVOPC___93 = 5,
    ILL_PRVREG___93 = 6,
    ILL_COPROC___93 = 7,
    ILL_BADSTK___93 = 8
} ;
enum __anonenum_452038093___93 {
    FPE_INTDIV___93 = 1,
    FPE_INTOVF___93 = 2,
    FPE_FLTDIV___93 = 3,
    FPE_FLTOVF___93 = 4,
    FPE_FLTUND___93 = 5,
    FPE_FLTRES___93 = 6,
    FPE_FLTINV___93 = 7,
    FPE_FLTSUB___93 = 8
} ;
enum __anonenum_30976155___93 {
    SEGV_MAPERR___93 = 1,
    SEGV_ACCERR___93 = 2,
    SEGV_BNDERR___93 = 3,
    SEGV_PKUERR___93 = 4
} ;
enum __anonenum_1036286214___93 {
    BUS_ADRALN___93 = 1,
    BUS_ADRERR___93 = 2,
    BUS_OBJERR___93 = 3,
    BUS_MCEERR_AR___93 = 4,
    BUS_MCEERR_AO___93 = 5
} ;
enum __anonenum_493465559___93 {
    TRAP_BRKPT___93 = 1,
    TRAP_TRACE___93 = 2
} ;
enum __anonenum_23175539___93 {
    CLD_EXITED___93 = 1,
    CLD_KILLED___93 = 2,
    CLD_DUMPED___93 = 3,
    CLD_TRAPPED___93 = 4,
    CLD_STOPPED___93 = 5,
    CLD_CONTINUED___93 = 6
} ;
enum __anonenum_111643124___93 {
    POLL_IN___93 = 1,
    POLL_OUT___93 = 2,
    POLL_MSG___93 = 3,
    POLL_ERR___93 = 4,
    POLL_PRI___93 = 5,
    POLL_HUP___93 = 6
} ;
enum __anonenum_852341087___93 {
    SIGEV_SIGNAL___93 = 0,
    SIGEV_NONE___93 = 1,
    SIGEV_THREAD___93 = 2,
    SIGEV_THREAD_ID___93 = 4
} ;
enum __anonenum_451154152___93 {
    REG_R8___93 = 0,
    REG_R9___93 = 1,
    REG_R10___93 = 2,
    REG_R11___93 = 3,
    REG_R12___93 = 4,
    REG_R13___93 = 5,
    REG_R14___93 = 6,
    REG_R15___93 = 7,
    REG_RDI___93 = 8,
    REG_RSI___93 = 9,
    REG_RBP___93 = 10,
    REG_RBX___93 = 11,
    REG_RDX___93 = 12,
    REG_RAX___93 = 13,
    REG_RCX___93 = 14,
    REG_RSP___93 = 15,
    REG_RIP___93 = 16,
    REG_EFL___93 = 17,
    REG_CSGSFS___93 = 18,
    REG_ERR___93 = 19,
    REG_TRAPNO___93 = 20,
    REG_OLDMASK___93 = 21,
    REG_CR2___93 = 22
} ;
enum __anonenum_57186863___93 {
    SS_ONSTACK___93 = 1,
    SS_DISABLE___93 = 2
} ;
enum __anonenum_83571709___93 {
    MSG_OOB___93 = 1,
    MSG_PEEK___93 = 2,
    MSG_DONTROUTE___93 = 4,
    MSG_TRYHARD___93 = 4,
    MSG_CTRUNC___93 = 8,
    MSG_PROXY___93 = 16,
    MSG_TRUNC___93 = 32,
    MSG_DONTWAIT___93 = 64,
    MSG_EOR___93 = 128,
    MSG_WAITALL___93 = 256,
    MSG_FIN___93 = 512,
    MSG_SYN___93 = 1024,
    MSG_CONFIRM___93 = 2048,
    MSG_RST___93 = 4096,
    MSG_ERRQUEUE___93 = 8192,
    MSG_NOSIGNAL___93 = 16384,
    MSG_MORE___93 = 32768,
    MSG_WAITFORONE___93 = 65536,
    MSG_BATCH___93 = 262144,
    MSG_ZEROCOPY___93 = 67108864,
    MSG_FASTOPEN___93 = 536870912,
    MSG_CMSG_CLOEXEC___93 = 1073741824
} ;
enum __anonenum_617082774___93 {
    SCM_RIGHTS___93 = 1,
    SCM_CREDENTIALS___93 = 2
} ;
enum __anonenum_606441560___93 {
    SHUT_RD___93 = 0,
    SHUT_WR___93 = 1,
    SHUT_RDWR___93 = 2
} ;
enum __anonenum_681669233___93 {
    IPPROTO_IP___93 = 0,
    IPPROTO_ICMP___93 = 1,
    IPPROTO_IGMP___93 = 2,
    IPPROTO_IPIP___93 = 4,
    IPPROTO_TCP___93 = 6,
    IPPROTO_EGP___93 = 8,
    IPPROTO_PUP___93 = 12,
    IPPROTO_UDP___93 = 17,
    IPPROTO_IDP___93 = 22,
    IPPROTO_TP___93 = 29,
    IPPROTO_DCCP___93 = 33,
    IPPROTO_IPV6___93 = 41,
    IPPROTO_RSVP___93 = 46,
    IPPROTO_GRE___93 = 47,
    IPPROTO_ESP___93 = 50,
    IPPROTO_AH___93 = 51,
    IPPROTO_MTP___93 = 92,
    IPPROTO_BEETPH___93 = 94,
    IPPROTO_ENCAP___93 = 98,
    IPPROTO_PIM___93 = 103,
    IPPROTO_COMP___93 = 108,
    IPPROTO_SCTP___93 = 132,
    IPPROTO_UDPLITE___93 = 136,
    IPPROTO_MPLS___93 = 137,
    IPPROTO_RAW___93 = 255,
    IPPROTO_MAX___93 = 256
} ;
enum __anonenum_218739988___93 {
    IPPROTO_HOPOPTS___93 = 0,
    IPPROTO_ROUTING___93 = 43,
    IPPROTO_FRAGMENT___93 = 44,
    IPPROTO_ICMPV6___93 = 58,
    IPPROTO_NONE___93 = 59,
    IPPROTO_DSTOPTS___93 = 60,
    IPPROTO_MH___93 = 135
} ;
enum __anonenum_662268580___93 {
    IPPORT_ECHO___93 = 7,
    IPPORT_DISCARD___93 = 9,
    IPPORT_SYSTAT___93 = 11,
    IPPORT_DAYTIME___93 = 13,
    IPPORT_NETSTAT___93 = 15,
    IPPORT_FTP___93 = 21,
    IPPORT_TELNET___93 = 23,
    IPPORT_SMTP___93 = 25,
    IPPORT_TIMESERVER___93 = 37,
    IPPORT_NAMESERVER___93 = 42,
    IPPORT_WHOIS___93 = 43,
    IPPORT_MTP___93 = 57,
    IPPORT_TFTP___93 = 69,
    IPPORT_RJE___93 = 77,
    IPPORT_FINGER___93 = 79,
    IPPORT_TTYLINK___93 = 87,
    IPPORT_SUPDUP___93 = 95,
    IPPORT_EXECSERVER___93 = 512,
    IPPORT_LOGINSERVER___93 = 513,
    IPPORT_CMDSERVER___93 = 514,
    IPPORT_EFSSERVER___93 = 520,
    IPPORT_BIFFUDP___93 = 512,
    IPPORT_WHOSERVER___93 = 513,
    IPPORT_ROUTESERVER___93 = 520,
    IPPORT_RESERVED___93 = 1024,
    IPPORT_USERRESERVED___93 = 5000
} ;
enum __anonenum_788308992___93 {
    TCP_ESTABLISHED___93 = 1,
    TCP_SYN_SENT___93 = 2,
    TCP_SYN_RECV___93 = 3,
    TCP_FIN_WAIT1___93 = 4,
    TCP_FIN_WAIT2___93 = 5,
    TCP_TIME_WAIT___93 = 6,
    TCP_CLOSE___93 = 7,
    TCP_CLOSE_WAIT___93 = 8,
    TCP_LAST_ACK___93 = 9,
    TCP_LISTEN___93 = 10,
    TCP_CLOSING___93 = 11
} ;
enum __anonenum_221125648___93 {
    TCP_NO_QUEUE___93 = 0,
    TCP_RECV_QUEUE___93 = 1,
    TCP_SEND_QUEUE___93 = 2,
    TCP_QUEUES_NR___93 = 3
} ;
enum __anonenum_34415463___93 {
    PTHREAD_CREATE_JOINABLE___93 = 0,
    PTHREAD_CREATE_DETACHED___93 = 1
} ;
enum __anonenum_303612439___93 {
    PTHREAD_MUTEX_TIMED_NP___93 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___93 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___93 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___93 = 3,
    PTHREAD_MUTEX_NORMAL___93 = 0,
    PTHREAD_MUTEX_RECURSIVE___93 = 1,
    PTHREAD_MUTEX_ERRORCHECK___93 = 2,
    PTHREAD_MUTEX_DEFAULT___93 = 0,
    PTHREAD_MUTEX_FAST_NP___93 = 0
} ;
enum __anonenum_931900394___93 {
    PTHREAD_MUTEX_STALLED___93 = 0,
    PTHREAD_MUTEX_STALLED_NP___93 = 0,
    PTHREAD_MUTEX_ROBUST___93 = 1,
    PTHREAD_MUTEX_ROBUST_NP___93 = 1
} ;
enum __anonenum_205214487___93 {
    PTHREAD_PRIO_NONE___93 = 0,
    PTHREAD_PRIO_INHERIT___93 = 1,
    PTHREAD_PRIO_PROTECT___93 = 2
} ;
enum __anonenum_25043950___93 {
    PTHREAD_RWLOCK_PREFER_READER_NP___93 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___93 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___93 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___93 = 0
} ;
enum __anonenum_436439511___93 {
    PTHREAD_INHERIT_SCHED___93 = 0,
    PTHREAD_EXPLICIT_SCHED___93 = 1
} ;
enum __anonenum_998661166___93 {
    PTHREAD_SCOPE_SYSTEM___93 = 0,
    PTHREAD_SCOPE_PROCESS___93 = 1
} ;
enum __anonenum_146137331___93 {
    PTHREAD_PROCESS_PRIVATE___93 = 0,
    PTHREAD_PROCESS_SHARED___93 = 1
} ;
enum __anonenum_53396917___93 {
    PTHREAD_CANCEL_ENABLE___93 = 0,
    PTHREAD_CANCEL_DISABLE___93 = 1
} ;
enum __anonenum_904563783___93 {
    PTHREAD_CANCEL_DEFERRED___93 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___93 = 1
} ;
enum __anonenum_672052974___93 {
    SSL_CT_VALIDATION_PERMISSIVE___93 = 0,
    SSL_CT_VALIDATION_STRICT___93 = 1
} ;
enum __anonenum_437032235___94 {
    _PC_LINK_MAX___94 = 0,
    _PC_MAX_CANON___94 = 1,
    _PC_MAX_INPUT___94 = 2,
    _PC_NAME_MAX___94 = 3,
    _PC_PATH_MAX___94 = 4,
    _PC_PIPE_BUF___94 = 5,
    _PC_CHOWN_RESTRICTED___94 = 6,
    _PC_NO_TRUNC___94 = 7,
    _PC_VDISABLE___94 = 8,
    _PC_SYNC_IO___94 = 9,
    _PC_ASYNC_IO___94 = 10,
    _PC_PRIO_IO___94 = 11,
    _PC_SOCK_MAXBUF___94 = 12,
    _PC_FILESIZEBITS___94 = 13,
    _PC_REC_INCR_XFER_SIZE___94 = 14,
    _PC_REC_MAX_XFER_SIZE___94 = 15,
    _PC_REC_MIN_XFER_SIZE___94 = 16,
    _PC_REC_XFER_ALIGN___94 = 17,
    _PC_ALLOC_SIZE_MIN___94 = 18,
    _PC_SYMLINK_MAX___94 = 19,
    _PC_2_SYMLINKS___94 = 20
} ;
enum __anonenum_315186338___94 {
    _SC_ARG_MAX___94 = 0,
    _SC_CHILD_MAX___94 = 1,
    _SC_CLK_TCK___94 = 2,
    _SC_NGROUPS_MAX___94 = 3,
    _SC_OPEN_MAX___94 = 4,
    _SC_STREAM_MAX___94 = 5,
    _SC_TZNAME_MAX___94 = 6,
    _SC_JOB_CONTROL___94 = 7,
    _SC_SAVED_IDS___94 = 8,
    _SC_REALTIME_SIGNALS___94 = 9,
    _SC_PRIORITY_SCHEDULING___94 = 10,
    _SC_TIMERS___94 = 11,
    _SC_ASYNCHRONOUS_IO___94 = 12,
    _SC_PRIORITIZED_IO___94 = 13,
    _SC_SYNCHRONIZED_IO___94 = 14,
    _SC_FSYNC___94 = 15,
    _SC_MAPPED_FILES___94 = 16,
    _SC_MEMLOCK___94 = 17,
    _SC_MEMLOCK_RANGE___94 = 18,
    _SC_MEMORY_PROTECTION___94 = 19,
    _SC_MESSAGE_PASSING___94 = 20,
    _SC_SEMAPHORES___94 = 21,
    _SC_SHARED_MEMORY_OBJECTS___94 = 22,
    _SC_AIO_LISTIO_MAX___94 = 23,
    _SC_AIO_MAX___94 = 24,
    _SC_AIO_PRIO_DELTA_MAX___94 = 25,
    _SC_DELAYTIMER_MAX___94 = 26,
    _SC_MQ_OPEN_MAX___94 = 27,
    _SC_MQ_PRIO_MAX___94 = 28,
    _SC_VERSION___94 = 29,
    _SC_PAGESIZE___94 = 30,
    _SC_RTSIG_MAX___94 = 31,
    _SC_SEM_NSEMS_MAX___94 = 32,
    _SC_SEM_VALUE_MAX___94 = 33,
    _SC_SIGQUEUE_MAX___94 = 34,
    _SC_TIMER_MAX___94 = 35,
    _SC_BC_BASE_MAX___94 = 36,
    _SC_BC_DIM_MAX___94 = 37,
    _SC_BC_SCALE_MAX___94 = 38,
    _SC_BC_STRING_MAX___94 = 39,
    _SC_COLL_WEIGHTS_MAX___94 = 40,
    _SC_EQUIV_CLASS_MAX___94 = 41,
    _SC_EXPR_NEST_MAX___94 = 42,
    _SC_LINE_MAX___94 = 43,
    _SC_RE_DUP_MAX___94 = 44,
    _SC_CHARCLASS_NAME_MAX___94 = 45,
    _SC_2_VERSION___94 = 46,
    _SC_2_C_BIND___94 = 47,
    _SC_2_C_DEV___94 = 48,
    _SC_2_FORT_DEV___94 = 49,
    _SC_2_FORT_RUN___94 = 50,
    _SC_2_SW_DEV___94 = 51,
    _SC_2_LOCALEDEF___94 = 52,
    _SC_PII___94 = 53,
    _SC_PII_XTI___94 = 54,
    _SC_PII_SOCKET___94 = 55,
    _SC_PII_INTERNET___94 = 56,
    _SC_PII_OSI___94 = 57,
    _SC_POLL___94 = 58,
    _SC_SELECT___94 = 59,
    _SC_UIO_MAXIOV___94 = 60,
    _SC_IOV_MAX___94 = 60,
    _SC_PII_INTERNET_STREAM___94 = 61,
    _SC_PII_INTERNET_DGRAM___94 = 62,
    _SC_PII_OSI_COTS___94 = 63,
    _SC_PII_OSI_CLTS___94 = 64,
    _SC_PII_OSI_M___94 = 65,
    _SC_T_IOV_MAX___94 = 66,
    _SC_THREADS___94 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___94 = 68,
    _SC_GETGR_R_SIZE_MAX___94 = 69,
    _SC_GETPW_R_SIZE_MAX___94 = 70,
    _SC_LOGIN_NAME_MAX___94 = 71,
    _SC_TTY_NAME_MAX___94 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___94 = 73,
    _SC_THREAD_KEYS_MAX___94 = 74,
    _SC_THREAD_STACK_MIN___94 = 75,
    _SC_THREAD_THREADS_MAX___94 = 76,
    _SC_THREAD_ATTR_STACKADDR___94 = 77,
    _SC_THREAD_ATTR_STACKSIZE___94 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___94 = 79,
    _SC_THREAD_PRIO_INHERIT___94 = 80,
    _SC_THREAD_PRIO_PROTECT___94 = 81,
    _SC_THREAD_PROCESS_SHARED___94 = 82,
    _SC_NPROCESSORS_CONF___94 = 83,
    _SC_NPROCESSORS_ONLN___94 = 84,
    _SC_PHYS_PAGES___94 = 85,
    _SC_AVPHYS_PAGES___94 = 86,
    _SC_ATEXIT_MAX___94 = 87,
    _SC_PASS_MAX___94 = 88,
    _SC_XOPEN_VERSION___94 = 89,
    _SC_XOPEN_XCU_VERSION___94 = 90,
    _SC_XOPEN_UNIX___94 = 91,
    _SC_XOPEN_CRYPT___94 = 92,
    _SC_XOPEN_ENH_I18N___94 = 93,
    _SC_XOPEN_SHM___94 = 94,
    _SC_2_CHAR_TERM___94 = 95,
    _SC_2_C_VERSION___94 = 96,
    _SC_2_UPE___94 = 97,
    _SC_XOPEN_XPG2___94 = 98,
    _SC_XOPEN_XPG3___94 = 99,
    _SC_XOPEN_XPG4___94 = 100,
    _SC_CHAR_BIT___94 = 101,
    _SC_CHAR_MAX___94 = 102,
    _SC_CHAR_MIN___94 = 103,
    _SC_INT_MAX___94 = 104,
    _SC_INT_MIN___94 = 105,
    _SC_LONG_BIT___94 = 106,
    _SC_WORD_BIT___94 = 107,
    _SC_MB_LEN_MAX___94 = 108,
    _SC_NZERO___94 = 109,
    _SC_SSIZE_MAX___94 = 110,
    _SC_SCHAR_MAX___94 = 111,
    _SC_SCHAR_MIN___94 = 112,
    _SC_SHRT_MAX___94 = 113,
    _SC_SHRT_MIN___94 = 114,
    _SC_UCHAR_MAX___94 = 115,
    _SC_UINT_MAX___94 = 116,
    _SC_ULONG_MAX___94 = 117,
    _SC_USHRT_MAX___94 = 118,
    _SC_NL_ARGMAX___94 = 119,
    _SC_NL_LANGMAX___94 = 120,
    _SC_NL_MSGMAX___94 = 121,
    _SC_NL_NMAX___94 = 122,
    _SC_NL_SETMAX___94 = 123,
    _SC_NL_TEXTMAX___94 = 124,
    _SC_XBS5_ILP32_OFF32___94 = 125,
    _SC_XBS5_ILP32_OFFBIG___94 = 126,
    _SC_XBS5_LP64_OFF64___94 = 127,
    _SC_XBS5_LPBIG_OFFBIG___94 = 128,
    _SC_XOPEN_LEGACY___94 = 129,
    _SC_XOPEN_REALTIME___94 = 130,
    _SC_XOPEN_REALTIME_THREADS___94 = 131,
    _SC_ADVISORY_INFO___94 = 132,
    _SC_BARRIERS___94 = 133,
    _SC_BASE___94 = 134,
    _SC_C_LANG_SUPPORT___94 = 135,
    _SC_C_LANG_SUPPORT_R___94 = 136,
    _SC_CLOCK_SELECTION___94 = 137,
    _SC_CPUTIME___94 = 138,
    _SC_THREAD_CPUTIME___94 = 139,
    _SC_DEVICE_IO___94 = 140,
    _SC_DEVICE_SPECIFIC___94 = 141,
    _SC_DEVICE_SPECIFIC_R___94 = 142,
    _SC_FD_MGMT___94 = 143,
    _SC_FIFO___94 = 144,
    _SC_PIPE___94 = 145,
    _SC_FILE_ATTRIBUTES___94 = 146,
    _SC_FILE_LOCKING___94 = 147,
    _SC_FILE_SYSTEM___94 = 148,
    _SC_MONOTONIC_CLOCK___94 = 149,
    _SC_MULTI_PROCESS___94 = 150,
    _SC_SINGLE_PROCESS___94 = 151,
    _SC_NETWORKING___94 = 152,
    _SC_READER_WRITER_LOCKS___94 = 153,
    _SC_SPIN_LOCKS___94 = 154,
    _SC_REGEXP___94 = 155,
    _SC_REGEX_VERSION___94 = 156,
    _SC_SHELL___94 = 157,
    _SC_SIGNALS___94 = 158,
    _SC_SPAWN___94 = 159,
    _SC_SPORADIC_SERVER___94 = 160,
    _SC_THREAD_SPORADIC_SERVER___94 = 161,
    _SC_SYSTEM_DATABASE___94 = 162,
    _SC_SYSTEM_DATABASE_R___94 = 163,
    _SC_TIMEOUTS___94 = 164,
    _SC_TYPED_MEMORY_OBJECTS___94 = 165,
    _SC_USER_GROUPS___94 = 166,
    _SC_USER_GROUPS_R___94 = 167,
    _SC_2_PBS___94 = 168,
    _SC_2_PBS_ACCOUNTING___94 = 169,
    _SC_2_PBS_LOCATE___94 = 170,
    _SC_2_PBS_MESSAGE___94 = 171,
    _SC_2_PBS_TRACK___94 = 172,
    _SC_SYMLOOP_MAX___94 = 173,
    _SC_STREAMS___94 = 174,
    _SC_2_PBS_CHECKPOINT___94 = 175,
    _SC_V6_ILP32_OFF32___94 = 176,
    _SC_V6_ILP32_OFFBIG___94 = 177,
    _SC_V6_LP64_OFF64___94 = 178,
    _SC_V6_LPBIG_OFFBIG___94 = 179,
    _SC_HOST_NAME_MAX___94 = 180,
    _SC_TRACE___94 = 181,
    _SC_TRACE_EVENT_FILTER___94 = 182,
    _SC_TRACE_INHERIT___94 = 183,
    _SC_TRACE_LOG___94 = 184,
    _SC_LEVEL1_ICACHE_SIZE___94 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___94 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___94 = 187,
    _SC_LEVEL1_DCACHE_SIZE___94 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___94 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___94 = 190,
    _SC_LEVEL2_CACHE_SIZE___94 = 191,
    _SC_LEVEL2_CACHE_ASSOC___94 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___94 = 193,
    _SC_LEVEL3_CACHE_SIZE___94 = 194,
    _SC_LEVEL3_CACHE_ASSOC___94 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___94 = 196,
    _SC_LEVEL4_CACHE_SIZE___94 = 197,
    _SC_LEVEL4_CACHE_ASSOC___94 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___94 = 199,
    _SC_IPV6___94 = 235,
    _SC_RAW_SOCKETS___94 = 236,
    _SC_V7_ILP32_OFF32___94 = 237,
    _SC_V7_ILP32_OFFBIG___94 = 238,
    _SC_V7_LP64_OFF64___94 = 239,
    _SC_V7_LPBIG_OFFBIG___94 = 240,
    _SC_SS_REPL_MAX___94 = 241,
    _SC_TRACE_EVENT_NAME_MAX___94 = 242,
    _SC_TRACE_NAME_MAX___94 = 243,
    _SC_TRACE_SYS_MAX___94 = 244,
    _SC_TRACE_USER_EVENT_MAX___94 = 245,
    _SC_XOPEN_STREAMS___94 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___94 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___94 = 248
} ;
enum __anonenum_875524036___94 {
    _CS_PATH___94 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___94 = 1,
    _CS_GNU_LIBC_VERSION___94 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___94 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___94 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___94 = 5,
    _CS_LFS_CFLAGS___94 = 1000,
    _CS_LFS_LDFLAGS___94 = 1001,
    _CS_LFS_LIBS___94 = 1002,
    _CS_LFS_LINTFLAGS___94 = 1003,
    _CS_LFS64_CFLAGS___94 = 1004,
    _CS_LFS64_LDFLAGS___94 = 1005,
    _CS_LFS64_LIBS___94 = 1006,
    _CS_LFS64_LINTFLAGS___94 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___94 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___94 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___94 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___94 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___94 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___94 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___94 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___94 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___94 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___94 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___94 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___94 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___94 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___94 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___94 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___94 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___94 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___94 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___94 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___94 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___94 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___94 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___94 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___94 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___94 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___94 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___94 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___94 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___94 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___94 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___94 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___94 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___94 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___94 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___94 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___94 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___94 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___94 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___94 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___94 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___94 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___94 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___94 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___94 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___94 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___94 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___94 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___94 = 1147,
    _CS_V6_ENV___94 = 1148,
    _CS_V7_ENV___94 = 1149
} ;
enum __anonenum_513775621___94 {
    DT_UNKNOWN___94 = 0,
    DT_FIFO___94 = 1,
    DT_CHR___94 = 2,
    DT_DIR___94 = 4,
    DT_BLK___94 = 6,
    DT_REG___94 = 8,
    DT_LNK___94 = 10,
    DT_SOCK___94 = 12,
    DT_WHT___94 = 14
} ;
enum __anonenum_77002343___94 {
    SI_ASYNCNL___94 = -60,
    SI_TKILL___94 = -6,
    SI_SIGIO___94 = -5,
    SI_ASYNCIO___94 = -4,
    SI_MESGQ___94 = -3,
    SI_TIMER___94 = -2,
    SI_QUEUE___94 = -1,
    SI_USER___94 = 0,
    SI_KERNEL___94 = 128
} ;
enum __anonenum_131038172___94 {
    ILL_ILLOPC___94 = 1,
    ILL_ILLOPN___94 = 2,
    ILL_ILLADR___94 = 3,
    ILL_ILLTRP___94 = 4,
    ILL_PRVOPC___94 = 5,
    ILL_PRVREG___94 = 6,
    ILL_COPROC___94 = 7,
    ILL_BADSTK___94 = 8
} ;
enum __anonenum_452038093___94 {
    FPE_INTDIV___94 = 1,
    FPE_INTOVF___94 = 2,
    FPE_FLTDIV___94 = 3,
    FPE_FLTOVF___94 = 4,
    FPE_FLTUND___94 = 5,
    FPE_FLTRES___94 = 6,
    FPE_FLTINV___94 = 7,
    FPE_FLTSUB___94 = 8
} ;
enum __anonenum_30976155___94 {
    SEGV_MAPERR___94 = 1,
    SEGV_ACCERR___94 = 2,
    SEGV_BNDERR___94 = 3,
    SEGV_PKUERR___94 = 4
} ;
enum __anonenum_1036286214___94 {
    BUS_ADRALN___94 = 1,
    BUS_ADRERR___94 = 2,
    BUS_OBJERR___94 = 3,
    BUS_MCEERR_AR___94 = 4,
    BUS_MCEERR_AO___94 = 5
} ;
enum __anonenum_493465559___94 {
    TRAP_BRKPT___94 = 1,
    TRAP_TRACE___94 = 2
} ;
enum __anonenum_23175539___94 {
    CLD_EXITED___94 = 1,
    CLD_KILLED___94 = 2,
    CLD_DUMPED___94 = 3,
    CLD_TRAPPED___94 = 4,
    CLD_STOPPED___94 = 5,
    CLD_CONTINUED___94 = 6
} ;
enum __anonenum_111643124___94 {
    POLL_IN___94 = 1,
    POLL_OUT___94 = 2,
    POLL_MSG___94 = 3,
    POLL_ERR___94 = 4,
    POLL_PRI___94 = 5,
    POLL_HUP___94 = 6
} ;
enum __anonenum_852341087___94 {
    SIGEV_SIGNAL___94 = 0,
    SIGEV_NONE___94 = 1,
    SIGEV_THREAD___94 = 2,
    SIGEV_THREAD_ID___94 = 4
} ;
enum __anonenum_451154152___94 {
    REG_R8___94 = 0,
    REG_R9___94 = 1,
    REG_R10___94 = 2,
    REG_R11___94 = 3,
    REG_R12___94 = 4,
    REG_R13___94 = 5,
    REG_R14___94 = 6,
    REG_R15___94 = 7,
    REG_RDI___94 = 8,
    REG_RSI___94 = 9,
    REG_RBP___94 = 10,
    REG_RBX___94 = 11,
    REG_RDX___94 = 12,
    REG_RAX___94 = 13,
    REG_RCX___94 = 14,
    REG_RSP___94 = 15,
    REG_RIP___94 = 16,
    REG_EFL___94 = 17,
    REG_CSGSFS___94 = 18,
    REG_ERR___94 = 19,
    REG_TRAPNO___94 = 20,
    REG_OLDMASK___94 = 21,
    REG_CR2___94 = 22
} ;
enum __anonenum_57186863___94 {
    SS_ONSTACK___94 = 1,
    SS_DISABLE___94 = 2
} ;
enum __anonenum_83571709___94 {
    MSG_OOB___94 = 1,
    MSG_PEEK___94 = 2,
    MSG_DONTROUTE___94 = 4,
    MSG_TRYHARD___94 = 4,
    MSG_CTRUNC___94 = 8,
    MSG_PROXY___94 = 16,
    MSG_TRUNC___94 = 32,
    MSG_DONTWAIT___94 = 64,
    MSG_EOR___94 = 128,
    MSG_WAITALL___94 = 256,
    MSG_FIN___94 = 512,
    MSG_SYN___94 = 1024,
    MSG_CONFIRM___94 = 2048,
    MSG_RST___94 = 4096,
    MSG_ERRQUEUE___94 = 8192,
    MSG_NOSIGNAL___94 = 16384,
    MSG_MORE___94 = 32768,
    MSG_WAITFORONE___94 = 65536,
    MSG_BATCH___94 = 262144,
    MSG_ZEROCOPY___94 = 67108864,
    MSG_FASTOPEN___94 = 536870912,
    MSG_CMSG_CLOEXEC___94 = 1073741824
} ;
enum __anonenum_617082774___94 {
    SCM_RIGHTS___94 = 1,
    SCM_CREDENTIALS___94 = 2
} ;
enum __anonenum_606441560___94 {
    SHUT_RD___94 = 0,
    SHUT_WR___94 = 1,
    SHUT_RDWR___94 = 2
} ;
enum __anonenum_681669233___94 {
    IPPROTO_IP___94 = 0,
    IPPROTO_ICMP___94 = 1,
    IPPROTO_IGMP___94 = 2,
    IPPROTO_IPIP___94 = 4,
    IPPROTO_TCP___94 = 6,
    IPPROTO_EGP___94 = 8,
    IPPROTO_PUP___94 = 12,
    IPPROTO_UDP___94 = 17,
    IPPROTO_IDP___94 = 22,
    IPPROTO_TP___94 = 29,
    IPPROTO_DCCP___94 = 33,
    IPPROTO_IPV6___94 = 41,
    IPPROTO_RSVP___94 = 46,
    IPPROTO_GRE___94 = 47,
    IPPROTO_ESP___94 = 50,
    IPPROTO_AH___94 = 51,
    IPPROTO_MTP___94 = 92,
    IPPROTO_BEETPH___94 = 94,
    IPPROTO_ENCAP___94 = 98,
    IPPROTO_PIM___94 = 103,
    IPPROTO_COMP___94 = 108,
    IPPROTO_SCTP___94 = 132,
    IPPROTO_UDPLITE___94 = 136,
    IPPROTO_MPLS___94 = 137,
    IPPROTO_RAW___94 = 255,
    IPPROTO_MAX___94 = 256
} ;
enum __anonenum_218739988___94 {
    IPPROTO_HOPOPTS___94 = 0,
    IPPROTO_ROUTING___94 = 43,
    IPPROTO_FRAGMENT___94 = 44,
    IPPROTO_ICMPV6___94 = 58,
    IPPROTO_NONE___94 = 59,
    IPPROTO_DSTOPTS___94 = 60,
    IPPROTO_MH___94 = 135
} ;
enum __anonenum_662268580___94 {
    IPPORT_ECHO___94 = 7,
    IPPORT_DISCARD___94 = 9,
    IPPORT_SYSTAT___94 = 11,
    IPPORT_DAYTIME___94 = 13,
    IPPORT_NETSTAT___94 = 15,
    IPPORT_FTP___94 = 21,
    IPPORT_TELNET___94 = 23,
    IPPORT_SMTP___94 = 25,
    IPPORT_TIMESERVER___94 = 37,
    IPPORT_NAMESERVER___94 = 42,
    IPPORT_WHOIS___94 = 43,
    IPPORT_MTP___94 = 57,
    IPPORT_TFTP___94 = 69,
    IPPORT_RJE___94 = 77,
    IPPORT_FINGER___94 = 79,
    IPPORT_TTYLINK___94 = 87,
    IPPORT_SUPDUP___94 = 95,
    IPPORT_EXECSERVER___94 = 512,
    IPPORT_LOGINSERVER___94 = 513,
    IPPORT_CMDSERVER___94 = 514,
    IPPORT_EFSSERVER___94 = 520,
    IPPORT_BIFFUDP___94 = 512,
    IPPORT_WHOSERVER___94 = 513,
    IPPORT_ROUTESERVER___94 = 520,
    IPPORT_RESERVED___94 = 1024,
    IPPORT_USERRESERVED___94 = 5000
} ;
enum __anonenum_788308992___94 {
    TCP_ESTABLISHED___94 = 1,
    TCP_SYN_SENT___94 = 2,
    TCP_SYN_RECV___94 = 3,
    TCP_FIN_WAIT1___94 = 4,
    TCP_FIN_WAIT2___94 = 5,
    TCP_TIME_WAIT___94 = 6,
    TCP_CLOSE___94 = 7,
    TCP_CLOSE_WAIT___94 = 8,
    TCP_LAST_ACK___94 = 9,
    TCP_LISTEN___94 = 10,
    TCP_CLOSING___94 = 11
} ;
enum __anonenum_221125648___94 {
    TCP_NO_QUEUE___94 = 0,
    TCP_RECV_QUEUE___94 = 1,
    TCP_SEND_QUEUE___94 = 2,
    TCP_QUEUES_NR___94 = 3
} ;
enum __anonenum_34415463___94 {
    PTHREAD_CREATE_JOINABLE___94 = 0,
    PTHREAD_CREATE_DETACHED___94 = 1
} ;
enum __anonenum_303612439___94 {
    PTHREAD_MUTEX_TIMED_NP___94 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___94 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___94 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___94 = 3,
    PTHREAD_MUTEX_NORMAL___94 = 0,
    PTHREAD_MUTEX_RECURSIVE___94 = 1,
    PTHREAD_MUTEX_ERRORCHECK___94 = 2,
    PTHREAD_MUTEX_DEFAULT___94 = 0,
    PTHREAD_MUTEX_FAST_NP___94 = 0
} ;
enum __anonenum_931900394___94 {
    PTHREAD_MUTEX_STALLED___94 = 0,
    PTHREAD_MUTEX_STALLED_NP___94 = 0,
    PTHREAD_MUTEX_ROBUST___94 = 1,
    PTHREAD_MUTEX_ROBUST_NP___94 = 1
} ;
enum __anonenum_205214487___94 {
    PTHREAD_PRIO_NONE___94 = 0,
    PTHREAD_PRIO_INHERIT___94 = 1,
    PTHREAD_PRIO_PROTECT___94 = 2
} ;
enum __anonenum_25043950___94 {
    PTHREAD_RWLOCK_PREFER_READER_NP___94 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___94 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___94 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___94 = 0
} ;
enum __anonenum_436439511___94 {
    PTHREAD_INHERIT_SCHED___94 = 0,
    PTHREAD_EXPLICIT_SCHED___94 = 1
} ;
enum __anonenum_998661166___94 {
    PTHREAD_SCOPE_SYSTEM___94 = 0,
    PTHREAD_SCOPE_PROCESS___94 = 1
} ;
enum __anonenum_146137331___94 {
    PTHREAD_PROCESS_PRIVATE___94 = 0,
    PTHREAD_PROCESS_SHARED___94 = 1
} ;
enum __anonenum_53396917___94 {
    PTHREAD_CANCEL_ENABLE___94 = 0,
    PTHREAD_CANCEL_DISABLE___94 = 1
} ;
enum __anonenum_904563783___94 {
    PTHREAD_CANCEL_DEFERRED___94 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___94 = 1
} ;
enum __anonenum_672052974___94 {
    SSL_CT_VALIDATION_PERMISSIVE___94 = 0,
    SSL_CT_VALIDATION_STRICT___94 = 1
} ;
enum __anonenum_34023289___5 {
    REMOTE_UNCONFIGURED___5 = 0,
    REMOTE_CONFIG___5 = 1,
    REMOTE_REMOTES___5 = 2,
    REMOTE_BRANCHES___5 = 3
} ;
struct range_diff_options {
   int creation_factor ;
   unsigned int dual_color : 1 ;
   unsigned int left_only : 1 ;
   unsigned int right_only : 1 ;
   struct diff_options  const  *diffopt ;
   struct strvec  const  *other_arg ;
};
enum __anonenum_437032235___95 {
    _PC_LINK_MAX___95 = 0,
    _PC_MAX_CANON___95 = 1,
    _PC_MAX_INPUT___95 = 2,
    _PC_NAME_MAX___95 = 3,
    _PC_PATH_MAX___95 = 4,
    _PC_PIPE_BUF___95 = 5,
    _PC_CHOWN_RESTRICTED___95 = 6,
    _PC_NO_TRUNC___95 = 7,
    _PC_VDISABLE___95 = 8,
    _PC_SYNC_IO___95 = 9,
    _PC_ASYNC_IO___95 = 10,
    _PC_PRIO_IO___95 = 11,
    _PC_SOCK_MAXBUF___95 = 12,
    _PC_FILESIZEBITS___95 = 13,
    _PC_REC_INCR_XFER_SIZE___95 = 14,
    _PC_REC_MAX_XFER_SIZE___95 = 15,
    _PC_REC_MIN_XFER_SIZE___95 = 16,
    _PC_REC_XFER_ALIGN___95 = 17,
    _PC_ALLOC_SIZE_MIN___95 = 18,
    _PC_SYMLINK_MAX___95 = 19,
    _PC_2_SYMLINKS___95 = 20
} ;
enum __anonenum_315186338___95 {
    _SC_ARG_MAX___95 = 0,
    _SC_CHILD_MAX___95 = 1,
    _SC_CLK_TCK___95 = 2,
    _SC_NGROUPS_MAX___95 = 3,
    _SC_OPEN_MAX___95 = 4,
    _SC_STREAM_MAX___95 = 5,
    _SC_TZNAME_MAX___95 = 6,
    _SC_JOB_CONTROL___95 = 7,
    _SC_SAVED_IDS___95 = 8,
    _SC_REALTIME_SIGNALS___95 = 9,
    _SC_PRIORITY_SCHEDULING___95 = 10,
    _SC_TIMERS___95 = 11,
    _SC_ASYNCHRONOUS_IO___95 = 12,
    _SC_PRIORITIZED_IO___95 = 13,
    _SC_SYNCHRONIZED_IO___95 = 14,
    _SC_FSYNC___95 = 15,
    _SC_MAPPED_FILES___95 = 16,
    _SC_MEMLOCK___95 = 17,
    _SC_MEMLOCK_RANGE___95 = 18,
    _SC_MEMORY_PROTECTION___95 = 19,
    _SC_MESSAGE_PASSING___95 = 20,
    _SC_SEMAPHORES___95 = 21,
    _SC_SHARED_MEMORY_OBJECTS___95 = 22,
    _SC_AIO_LISTIO_MAX___95 = 23,
    _SC_AIO_MAX___95 = 24,
    _SC_AIO_PRIO_DELTA_MAX___95 = 25,
    _SC_DELAYTIMER_MAX___95 = 26,
    _SC_MQ_OPEN_MAX___95 = 27,
    _SC_MQ_PRIO_MAX___95 = 28,
    _SC_VERSION___95 = 29,
    _SC_PAGESIZE___95 = 30,
    _SC_RTSIG_MAX___95 = 31,
    _SC_SEM_NSEMS_MAX___95 = 32,
    _SC_SEM_VALUE_MAX___95 = 33,
    _SC_SIGQUEUE_MAX___95 = 34,
    _SC_TIMER_MAX___95 = 35,
    _SC_BC_BASE_MAX___95 = 36,
    _SC_BC_DIM_MAX___95 = 37,
    _SC_BC_SCALE_MAX___95 = 38,
    _SC_BC_STRING_MAX___95 = 39,
    _SC_COLL_WEIGHTS_MAX___95 = 40,
    _SC_EQUIV_CLASS_MAX___95 = 41,
    _SC_EXPR_NEST_MAX___95 = 42,
    _SC_LINE_MAX___95 = 43,
    _SC_RE_DUP_MAX___95 = 44,
    _SC_CHARCLASS_NAME_MAX___95 = 45,
    _SC_2_VERSION___95 = 46,
    _SC_2_C_BIND___95 = 47,
    _SC_2_C_DEV___95 = 48,
    _SC_2_FORT_DEV___95 = 49,
    _SC_2_FORT_RUN___95 = 50,
    _SC_2_SW_DEV___95 = 51,
    _SC_2_LOCALEDEF___95 = 52,
    _SC_PII___95 = 53,
    _SC_PII_XTI___95 = 54,
    _SC_PII_SOCKET___95 = 55,
    _SC_PII_INTERNET___95 = 56,
    _SC_PII_OSI___95 = 57,
    _SC_POLL___95 = 58,
    _SC_SELECT___95 = 59,
    _SC_UIO_MAXIOV___95 = 60,
    _SC_IOV_MAX___95 = 60,
    _SC_PII_INTERNET_STREAM___95 = 61,
    _SC_PII_INTERNET_DGRAM___95 = 62,
    _SC_PII_OSI_COTS___95 = 63,
    _SC_PII_OSI_CLTS___95 = 64,
    _SC_PII_OSI_M___95 = 65,
    _SC_T_IOV_MAX___95 = 66,
    _SC_THREADS___95 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___95 = 68,
    _SC_GETGR_R_SIZE_MAX___95 = 69,
    _SC_GETPW_R_SIZE_MAX___95 = 70,
    _SC_LOGIN_NAME_MAX___95 = 71,
    _SC_TTY_NAME_MAX___95 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___95 = 73,
    _SC_THREAD_KEYS_MAX___95 = 74,
    _SC_THREAD_STACK_MIN___95 = 75,
    _SC_THREAD_THREADS_MAX___95 = 76,
    _SC_THREAD_ATTR_STACKADDR___95 = 77,
    _SC_THREAD_ATTR_STACKSIZE___95 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___95 = 79,
    _SC_THREAD_PRIO_INHERIT___95 = 80,
    _SC_THREAD_PRIO_PROTECT___95 = 81,
    _SC_THREAD_PROCESS_SHARED___95 = 82,
    _SC_NPROCESSORS_CONF___95 = 83,
    _SC_NPROCESSORS_ONLN___95 = 84,
    _SC_PHYS_PAGES___95 = 85,
    _SC_AVPHYS_PAGES___95 = 86,
    _SC_ATEXIT_MAX___95 = 87,
    _SC_PASS_MAX___95 = 88,
    _SC_XOPEN_VERSION___95 = 89,
    _SC_XOPEN_XCU_VERSION___95 = 90,
    _SC_XOPEN_UNIX___95 = 91,
    _SC_XOPEN_CRYPT___95 = 92,
    _SC_XOPEN_ENH_I18N___95 = 93,
    _SC_XOPEN_SHM___95 = 94,
    _SC_2_CHAR_TERM___95 = 95,
    _SC_2_C_VERSION___95 = 96,
    _SC_2_UPE___95 = 97,
    _SC_XOPEN_XPG2___95 = 98,
    _SC_XOPEN_XPG3___95 = 99,
    _SC_XOPEN_XPG4___95 = 100,
    _SC_CHAR_BIT___95 = 101,
    _SC_CHAR_MAX___95 = 102,
    _SC_CHAR_MIN___95 = 103,
    _SC_INT_MAX___95 = 104,
    _SC_INT_MIN___95 = 105,
    _SC_LONG_BIT___95 = 106,
    _SC_WORD_BIT___95 = 107,
    _SC_MB_LEN_MAX___95 = 108,
    _SC_NZERO___95 = 109,
    _SC_SSIZE_MAX___95 = 110,
    _SC_SCHAR_MAX___95 = 111,
    _SC_SCHAR_MIN___95 = 112,
    _SC_SHRT_MAX___95 = 113,
    _SC_SHRT_MIN___95 = 114,
    _SC_UCHAR_MAX___95 = 115,
    _SC_UINT_MAX___95 = 116,
    _SC_ULONG_MAX___95 = 117,
    _SC_USHRT_MAX___95 = 118,
    _SC_NL_ARGMAX___95 = 119,
    _SC_NL_LANGMAX___95 = 120,
    _SC_NL_MSGMAX___95 = 121,
    _SC_NL_NMAX___95 = 122,
    _SC_NL_SETMAX___95 = 123,
    _SC_NL_TEXTMAX___95 = 124,
    _SC_XBS5_ILP32_OFF32___95 = 125,
    _SC_XBS5_ILP32_OFFBIG___95 = 126,
    _SC_XBS5_LP64_OFF64___95 = 127,
    _SC_XBS5_LPBIG_OFFBIG___95 = 128,
    _SC_XOPEN_LEGACY___95 = 129,
    _SC_XOPEN_REALTIME___95 = 130,
    _SC_XOPEN_REALTIME_THREADS___95 = 131,
    _SC_ADVISORY_INFO___95 = 132,
    _SC_BARRIERS___95 = 133,
    _SC_BASE___95 = 134,
    _SC_C_LANG_SUPPORT___95 = 135,
    _SC_C_LANG_SUPPORT_R___95 = 136,
    _SC_CLOCK_SELECTION___95 = 137,
    _SC_CPUTIME___95 = 138,
    _SC_THREAD_CPUTIME___95 = 139,
    _SC_DEVICE_IO___95 = 140,
    _SC_DEVICE_SPECIFIC___95 = 141,
    _SC_DEVICE_SPECIFIC_R___95 = 142,
    _SC_FD_MGMT___95 = 143,
    _SC_FIFO___95 = 144,
    _SC_PIPE___95 = 145,
    _SC_FILE_ATTRIBUTES___95 = 146,
    _SC_FILE_LOCKING___95 = 147,
    _SC_FILE_SYSTEM___95 = 148,
    _SC_MONOTONIC_CLOCK___95 = 149,
    _SC_MULTI_PROCESS___95 = 150,
    _SC_SINGLE_PROCESS___95 = 151,
    _SC_NETWORKING___95 = 152,
    _SC_READER_WRITER_LOCKS___95 = 153,
    _SC_SPIN_LOCKS___95 = 154,
    _SC_REGEXP___95 = 155,
    _SC_REGEX_VERSION___95 = 156,
    _SC_SHELL___95 = 157,
    _SC_SIGNALS___95 = 158,
    _SC_SPAWN___95 = 159,
    _SC_SPORADIC_SERVER___95 = 160,
    _SC_THREAD_SPORADIC_SERVER___95 = 161,
    _SC_SYSTEM_DATABASE___95 = 162,
    _SC_SYSTEM_DATABASE_R___95 = 163,
    _SC_TIMEOUTS___95 = 164,
    _SC_TYPED_MEMORY_OBJECTS___95 = 165,
    _SC_USER_GROUPS___95 = 166,
    _SC_USER_GROUPS_R___95 = 167,
    _SC_2_PBS___95 = 168,
    _SC_2_PBS_ACCOUNTING___95 = 169,
    _SC_2_PBS_LOCATE___95 = 170,
    _SC_2_PBS_MESSAGE___95 = 171,
    _SC_2_PBS_TRACK___95 = 172,
    _SC_SYMLOOP_MAX___95 = 173,
    _SC_STREAMS___95 = 174,
    _SC_2_PBS_CHECKPOINT___95 = 175,
    _SC_V6_ILP32_OFF32___95 = 176,
    _SC_V6_ILP32_OFFBIG___95 = 177,
    _SC_V6_LP64_OFF64___95 = 178,
    _SC_V6_LPBIG_OFFBIG___95 = 179,
    _SC_HOST_NAME_MAX___95 = 180,
    _SC_TRACE___95 = 181,
    _SC_TRACE_EVENT_FILTER___95 = 182,
    _SC_TRACE_INHERIT___95 = 183,
    _SC_TRACE_LOG___95 = 184,
    _SC_LEVEL1_ICACHE_SIZE___95 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___95 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___95 = 187,
    _SC_LEVEL1_DCACHE_SIZE___95 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___95 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___95 = 190,
    _SC_LEVEL2_CACHE_SIZE___95 = 191,
    _SC_LEVEL2_CACHE_ASSOC___95 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___95 = 193,
    _SC_LEVEL3_CACHE_SIZE___95 = 194,
    _SC_LEVEL3_CACHE_ASSOC___95 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___95 = 196,
    _SC_LEVEL4_CACHE_SIZE___95 = 197,
    _SC_LEVEL4_CACHE_ASSOC___95 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___95 = 199,
    _SC_IPV6___95 = 235,
    _SC_RAW_SOCKETS___95 = 236,
    _SC_V7_ILP32_OFF32___95 = 237,
    _SC_V7_ILP32_OFFBIG___95 = 238,
    _SC_V7_LP64_OFF64___95 = 239,
    _SC_V7_LPBIG_OFFBIG___95 = 240,
    _SC_SS_REPL_MAX___95 = 241,
    _SC_TRACE_EVENT_NAME_MAX___95 = 242,
    _SC_TRACE_NAME_MAX___95 = 243,
    _SC_TRACE_SYS_MAX___95 = 244,
    _SC_TRACE_USER_EVENT_MAX___95 = 245,
    _SC_XOPEN_STREAMS___95 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___95 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___95 = 248
} ;
enum __anonenum_875524036___95 {
    _CS_PATH___95 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___95 = 1,
    _CS_GNU_LIBC_VERSION___95 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___95 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___95 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___95 = 5,
    _CS_LFS_CFLAGS___95 = 1000,
    _CS_LFS_LDFLAGS___95 = 1001,
    _CS_LFS_LIBS___95 = 1002,
    _CS_LFS_LINTFLAGS___95 = 1003,
    _CS_LFS64_CFLAGS___95 = 1004,
    _CS_LFS64_LDFLAGS___95 = 1005,
    _CS_LFS64_LIBS___95 = 1006,
    _CS_LFS64_LINTFLAGS___95 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___95 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___95 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___95 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___95 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___95 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___95 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___95 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___95 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___95 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___95 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___95 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___95 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___95 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___95 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___95 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___95 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___95 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___95 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___95 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___95 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___95 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___95 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___95 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___95 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___95 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___95 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___95 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___95 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___95 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___95 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___95 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___95 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___95 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___95 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___95 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___95 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___95 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___95 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___95 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___95 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___95 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___95 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___95 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___95 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___95 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___95 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___95 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___95 = 1147,
    _CS_V6_ENV___95 = 1148,
    _CS_V7_ENV___95 = 1149
} ;
enum __anonenum_513775621___95 {
    DT_UNKNOWN___95 = 0,
    DT_FIFO___95 = 1,
    DT_CHR___95 = 2,
    DT_DIR___95 = 4,
    DT_BLK___95 = 6,
    DT_REG___95 = 8,
    DT_LNK___95 = 10,
    DT_SOCK___95 = 12,
    DT_WHT___95 = 14
} ;
enum __anonenum_77002343___95 {
    SI_ASYNCNL___95 = -60,
    SI_TKILL___95 = -6,
    SI_SIGIO___95 = -5,
    SI_ASYNCIO___95 = -4,
    SI_MESGQ___95 = -3,
    SI_TIMER___95 = -2,
    SI_QUEUE___95 = -1,
    SI_USER___95 = 0,
    SI_KERNEL___95 = 128
} ;
enum __anonenum_131038172___95 {
    ILL_ILLOPC___95 = 1,
    ILL_ILLOPN___95 = 2,
    ILL_ILLADR___95 = 3,
    ILL_ILLTRP___95 = 4,
    ILL_PRVOPC___95 = 5,
    ILL_PRVREG___95 = 6,
    ILL_COPROC___95 = 7,
    ILL_BADSTK___95 = 8
} ;
enum __anonenum_452038093___95 {
    FPE_INTDIV___95 = 1,
    FPE_INTOVF___95 = 2,
    FPE_FLTDIV___95 = 3,
    FPE_FLTOVF___95 = 4,
    FPE_FLTUND___95 = 5,
    FPE_FLTRES___95 = 6,
    FPE_FLTINV___95 = 7,
    FPE_FLTSUB___95 = 8
} ;
enum __anonenum_30976155___95 {
    SEGV_MAPERR___95 = 1,
    SEGV_ACCERR___95 = 2,
    SEGV_BNDERR___95 = 3,
    SEGV_PKUERR___95 = 4
} ;
enum __anonenum_1036286214___95 {
    BUS_ADRALN___95 = 1,
    BUS_ADRERR___95 = 2,
    BUS_OBJERR___95 = 3,
    BUS_MCEERR_AR___95 = 4,
    BUS_MCEERR_AO___95 = 5
} ;
enum __anonenum_493465559___95 {
    TRAP_BRKPT___95 = 1,
    TRAP_TRACE___95 = 2
} ;
enum __anonenum_23175539___95 {
    CLD_EXITED___95 = 1,
    CLD_KILLED___95 = 2,
    CLD_DUMPED___95 = 3,
    CLD_TRAPPED___95 = 4,
    CLD_STOPPED___95 = 5,
    CLD_CONTINUED___95 = 6
} ;
enum __anonenum_111643124___95 {
    POLL_IN___95 = 1,
    POLL_OUT___95 = 2,
    POLL_MSG___95 = 3,
    POLL_ERR___95 = 4,
    POLL_PRI___95 = 5,
    POLL_HUP___95 = 6
} ;
enum __anonenum_852341087___95 {
    SIGEV_SIGNAL___95 = 0,
    SIGEV_NONE___95 = 1,
    SIGEV_THREAD___95 = 2,
    SIGEV_THREAD_ID___95 = 4
} ;
enum __anonenum_451154152___95 {
    REG_R8___95 = 0,
    REG_R9___95 = 1,
    REG_R10___95 = 2,
    REG_R11___95 = 3,
    REG_R12___95 = 4,
    REG_R13___95 = 5,
    REG_R14___95 = 6,
    REG_R15___95 = 7,
    REG_RDI___95 = 8,
    REG_RSI___95 = 9,
    REG_RBP___95 = 10,
    REG_RBX___95 = 11,
    REG_RDX___95 = 12,
    REG_RAX___95 = 13,
    REG_RCX___95 = 14,
    REG_RSP___95 = 15,
    REG_RIP___95 = 16,
    REG_EFL___95 = 17,
    REG_CSGSFS___95 = 18,
    REG_ERR___95 = 19,
    REG_TRAPNO___95 = 20,
    REG_OLDMASK___95 = 21,
    REG_CR2___95 = 22
} ;
enum __anonenum_57186863___95 {
    SS_ONSTACK___95 = 1,
    SS_DISABLE___95 = 2
} ;
enum __anonenum_83571709___95 {
    MSG_OOB___95 = 1,
    MSG_PEEK___95 = 2,
    MSG_DONTROUTE___95 = 4,
    MSG_TRYHARD___95 = 4,
    MSG_CTRUNC___95 = 8,
    MSG_PROXY___95 = 16,
    MSG_TRUNC___95 = 32,
    MSG_DONTWAIT___95 = 64,
    MSG_EOR___95 = 128,
    MSG_WAITALL___95 = 256,
    MSG_FIN___95 = 512,
    MSG_SYN___95 = 1024,
    MSG_CONFIRM___95 = 2048,
    MSG_RST___95 = 4096,
    MSG_ERRQUEUE___95 = 8192,
    MSG_NOSIGNAL___95 = 16384,
    MSG_MORE___95 = 32768,
    MSG_WAITFORONE___95 = 65536,
    MSG_BATCH___95 = 262144,
    MSG_ZEROCOPY___95 = 67108864,
    MSG_FASTOPEN___95 = 536870912,
    MSG_CMSG_CLOEXEC___95 = 1073741824
} ;
enum __anonenum_617082774___95 {
    SCM_RIGHTS___95 = 1,
    SCM_CREDENTIALS___95 = 2
} ;
enum __anonenum_606441560___95 {
    SHUT_RD___95 = 0,
    SHUT_WR___95 = 1,
    SHUT_RDWR___95 = 2
} ;
enum __anonenum_681669233___95 {
    IPPROTO_IP___95 = 0,
    IPPROTO_ICMP___95 = 1,
    IPPROTO_IGMP___95 = 2,
    IPPROTO_IPIP___95 = 4,
    IPPROTO_TCP___95 = 6,
    IPPROTO_EGP___95 = 8,
    IPPROTO_PUP___95 = 12,
    IPPROTO_UDP___95 = 17,
    IPPROTO_IDP___95 = 22,
    IPPROTO_TP___95 = 29,
    IPPROTO_DCCP___95 = 33,
    IPPROTO_IPV6___95 = 41,
    IPPROTO_RSVP___95 = 46,
    IPPROTO_GRE___95 = 47,
    IPPROTO_ESP___95 = 50,
    IPPROTO_AH___95 = 51,
    IPPROTO_MTP___95 = 92,
    IPPROTO_BEETPH___95 = 94,
    IPPROTO_ENCAP___95 = 98,
    IPPROTO_PIM___95 = 103,
    IPPROTO_COMP___95 = 108,
    IPPROTO_SCTP___95 = 132,
    IPPROTO_UDPLITE___95 = 136,
    IPPROTO_MPLS___95 = 137,
    IPPROTO_RAW___95 = 255,
    IPPROTO_MAX___95 = 256
} ;
enum __anonenum_218739988___95 {
    IPPROTO_HOPOPTS___95 = 0,
    IPPROTO_ROUTING___95 = 43,
    IPPROTO_FRAGMENT___95 = 44,
    IPPROTO_ICMPV6___95 = 58,
    IPPROTO_NONE___95 = 59,
    IPPROTO_DSTOPTS___95 = 60,
    IPPROTO_MH___95 = 135
} ;
enum __anonenum_662268580___95 {
    IPPORT_ECHO___95 = 7,
    IPPORT_DISCARD___95 = 9,
    IPPORT_SYSTAT___95 = 11,
    IPPORT_DAYTIME___95 = 13,
    IPPORT_NETSTAT___95 = 15,
    IPPORT_FTP___95 = 21,
    IPPORT_TELNET___95 = 23,
    IPPORT_SMTP___95 = 25,
    IPPORT_TIMESERVER___95 = 37,
    IPPORT_NAMESERVER___95 = 42,
    IPPORT_WHOIS___95 = 43,
    IPPORT_MTP___95 = 57,
    IPPORT_TFTP___95 = 69,
    IPPORT_RJE___95 = 77,
    IPPORT_FINGER___95 = 79,
    IPPORT_TTYLINK___95 = 87,
    IPPORT_SUPDUP___95 = 95,
    IPPORT_EXECSERVER___95 = 512,
    IPPORT_LOGINSERVER___95 = 513,
    IPPORT_CMDSERVER___95 = 514,
    IPPORT_EFSSERVER___95 = 520,
    IPPORT_BIFFUDP___95 = 512,
    IPPORT_WHOSERVER___95 = 513,
    IPPORT_ROUTESERVER___95 = 520,
    IPPORT_RESERVED___95 = 1024,
    IPPORT_USERRESERVED___95 = 5000
} ;
enum __anonenum_788308992___95 {
    TCP_ESTABLISHED___95 = 1,
    TCP_SYN_SENT___95 = 2,
    TCP_SYN_RECV___95 = 3,
    TCP_FIN_WAIT1___95 = 4,
    TCP_FIN_WAIT2___95 = 5,
    TCP_TIME_WAIT___95 = 6,
    TCP_CLOSE___95 = 7,
    TCP_CLOSE_WAIT___95 = 8,
    TCP_LAST_ACK___95 = 9,
    TCP_LISTEN___95 = 10,
    TCP_CLOSING___95 = 11
} ;
enum __anonenum_221125648___95 {
    TCP_NO_QUEUE___95 = 0,
    TCP_RECV_QUEUE___95 = 1,
    TCP_SEND_QUEUE___95 = 2,
    TCP_QUEUES_NR___95 = 3
} ;
enum __anonenum_34415463___95 {
    PTHREAD_CREATE_JOINABLE___95 = 0,
    PTHREAD_CREATE_DETACHED___95 = 1
} ;
enum __anonenum_303612439___95 {
    PTHREAD_MUTEX_TIMED_NP___95 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___95 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___95 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___95 = 3,
    PTHREAD_MUTEX_NORMAL___95 = 0,
    PTHREAD_MUTEX_RECURSIVE___95 = 1,
    PTHREAD_MUTEX_ERRORCHECK___95 = 2,
    PTHREAD_MUTEX_DEFAULT___95 = 0,
    PTHREAD_MUTEX_FAST_NP___95 = 0
} ;
enum __anonenum_931900394___95 {
    PTHREAD_MUTEX_STALLED___95 = 0,
    PTHREAD_MUTEX_STALLED_NP___95 = 0,
    PTHREAD_MUTEX_ROBUST___95 = 1,
    PTHREAD_MUTEX_ROBUST_NP___95 = 1
} ;
enum __anonenum_205214487___95 {
    PTHREAD_PRIO_NONE___95 = 0,
    PTHREAD_PRIO_INHERIT___95 = 1,
    PTHREAD_PRIO_PROTECT___95 = 2
} ;
enum __anonenum_25043950___95 {
    PTHREAD_RWLOCK_PREFER_READER_NP___95 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___95 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___95 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___95 = 0
} ;
enum __anonenum_436439511___95 {
    PTHREAD_INHERIT_SCHED___95 = 0,
    PTHREAD_EXPLICIT_SCHED___95 = 1
} ;
enum __anonenum_998661166___95 {
    PTHREAD_SCOPE_SYSTEM___95 = 0,
    PTHREAD_SCOPE_PROCESS___95 = 1
} ;
enum __anonenum_146137331___95 {
    PTHREAD_PROCESS_PRIVATE___95 = 0,
    PTHREAD_PROCESS_SHARED___95 = 1
} ;
enum __anonenum_53396917___95 {
    PTHREAD_CANCEL_ENABLE___95 = 0,
    PTHREAD_CANCEL_DISABLE___95 = 1
} ;
enum __anonenum_904563783___95 {
    PTHREAD_CANCEL_DEFERRED___95 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___95 = 1
} ;
enum __anonenum_672052974___95 {
    SSL_CT_VALIDATION_PERMISSIVE___95 = 0,
    SSL_CT_VALIDATION_STRICT___95 = 1
} ;
enum __anonenum_34023289___6 {
    REMOTE_UNCONFIGURED___6 = 0,
    REMOTE_CONFIG___6 = 1,
    REMOTE_REMOTES___6 = 2,
    REMOTE_BRANCHES___6 = 3
} ;
struct ls_refs_data {
   unsigned int peel ;
   unsigned int symrefs ;
   struct strvec prefixes ;
   struct strbuf buf ;
   unsigned int unborn : 1 ;
};
enum __anonenum_437032235___96 {
    _PC_LINK_MAX___96 = 0,
    _PC_MAX_CANON___96 = 1,
    _PC_MAX_INPUT___96 = 2,
    _PC_NAME_MAX___96 = 3,
    _PC_PATH_MAX___96 = 4,
    _PC_PIPE_BUF___96 = 5,
    _PC_CHOWN_RESTRICTED___96 = 6,
    _PC_NO_TRUNC___96 = 7,
    _PC_VDISABLE___96 = 8,
    _PC_SYNC_IO___96 = 9,
    _PC_ASYNC_IO___96 = 10,
    _PC_PRIO_IO___96 = 11,
    _PC_SOCK_MAXBUF___96 = 12,
    _PC_FILESIZEBITS___96 = 13,
    _PC_REC_INCR_XFER_SIZE___96 = 14,
    _PC_REC_MAX_XFER_SIZE___96 = 15,
    _PC_REC_MIN_XFER_SIZE___96 = 16,
    _PC_REC_XFER_ALIGN___96 = 17,
    _PC_ALLOC_SIZE_MIN___96 = 18,
    _PC_SYMLINK_MAX___96 = 19,
    _PC_2_SYMLINKS___96 = 20
} ;
enum __anonenum_315186338___96 {
    _SC_ARG_MAX___96 = 0,
    _SC_CHILD_MAX___96 = 1,
    _SC_CLK_TCK___96 = 2,
    _SC_NGROUPS_MAX___96 = 3,
    _SC_OPEN_MAX___96 = 4,
    _SC_STREAM_MAX___96 = 5,
    _SC_TZNAME_MAX___96 = 6,
    _SC_JOB_CONTROL___96 = 7,
    _SC_SAVED_IDS___96 = 8,
    _SC_REALTIME_SIGNALS___96 = 9,
    _SC_PRIORITY_SCHEDULING___96 = 10,
    _SC_TIMERS___96 = 11,
    _SC_ASYNCHRONOUS_IO___96 = 12,
    _SC_PRIORITIZED_IO___96 = 13,
    _SC_SYNCHRONIZED_IO___96 = 14,
    _SC_FSYNC___96 = 15,
    _SC_MAPPED_FILES___96 = 16,
    _SC_MEMLOCK___96 = 17,
    _SC_MEMLOCK_RANGE___96 = 18,
    _SC_MEMORY_PROTECTION___96 = 19,
    _SC_MESSAGE_PASSING___96 = 20,
    _SC_SEMAPHORES___96 = 21,
    _SC_SHARED_MEMORY_OBJECTS___96 = 22,
    _SC_AIO_LISTIO_MAX___96 = 23,
    _SC_AIO_MAX___96 = 24,
    _SC_AIO_PRIO_DELTA_MAX___96 = 25,
    _SC_DELAYTIMER_MAX___96 = 26,
    _SC_MQ_OPEN_MAX___96 = 27,
    _SC_MQ_PRIO_MAX___96 = 28,
    _SC_VERSION___96 = 29,
    _SC_PAGESIZE___96 = 30,
    _SC_RTSIG_MAX___96 = 31,
    _SC_SEM_NSEMS_MAX___96 = 32,
    _SC_SEM_VALUE_MAX___96 = 33,
    _SC_SIGQUEUE_MAX___96 = 34,
    _SC_TIMER_MAX___96 = 35,
    _SC_BC_BASE_MAX___96 = 36,
    _SC_BC_DIM_MAX___96 = 37,
    _SC_BC_SCALE_MAX___96 = 38,
    _SC_BC_STRING_MAX___96 = 39,
    _SC_COLL_WEIGHTS_MAX___96 = 40,
    _SC_EQUIV_CLASS_MAX___96 = 41,
    _SC_EXPR_NEST_MAX___96 = 42,
    _SC_LINE_MAX___96 = 43,
    _SC_RE_DUP_MAX___96 = 44,
    _SC_CHARCLASS_NAME_MAX___96 = 45,
    _SC_2_VERSION___96 = 46,
    _SC_2_C_BIND___96 = 47,
    _SC_2_C_DEV___96 = 48,
    _SC_2_FORT_DEV___96 = 49,
    _SC_2_FORT_RUN___96 = 50,
    _SC_2_SW_DEV___96 = 51,
    _SC_2_LOCALEDEF___96 = 52,
    _SC_PII___96 = 53,
    _SC_PII_XTI___96 = 54,
    _SC_PII_SOCKET___96 = 55,
    _SC_PII_INTERNET___96 = 56,
    _SC_PII_OSI___96 = 57,
    _SC_POLL___96 = 58,
    _SC_SELECT___96 = 59,
    _SC_UIO_MAXIOV___96 = 60,
    _SC_IOV_MAX___96 = 60,
    _SC_PII_INTERNET_STREAM___96 = 61,
    _SC_PII_INTERNET_DGRAM___96 = 62,
    _SC_PII_OSI_COTS___96 = 63,
    _SC_PII_OSI_CLTS___96 = 64,
    _SC_PII_OSI_M___96 = 65,
    _SC_T_IOV_MAX___96 = 66,
    _SC_THREADS___96 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___96 = 68,
    _SC_GETGR_R_SIZE_MAX___96 = 69,
    _SC_GETPW_R_SIZE_MAX___96 = 70,
    _SC_LOGIN_NAME_MAX___96 = 71,
    _SC_TTY_NAME_MAX___96 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___96 = 73,
    _SC_THREAD_KEYS_MAX___96 = 74,
    _SC_THREAD_STACK_MIN___96 = 75,
    _SC_THREAD_THREADS_MAX___96 = 76,
    _SC_THREAD_ATTR_STACKADDR___96 = 77,
    _SC_THREAD_ATTR_STACKSIZE___96 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___96 = 79,
    _SC_THREAD_PRIO_INHERIT___96 = 80,
    _SC_THREAD_PRIO_PROTECT___96 = 81,
    _SC_THREAD_PROCESS_SHARED___96 = 82,
    _SC_NPROCESSORS_CONF___96 = 83,
    _SC_NPROCESSORS_ONLN___96 = 84,
    _SC_PHYS_PAGES___96 = 85,
    _SC_AVPHYS_PAGES___96 = 86,
    _SC_ATEXIT_MAX___96 = 87,
    _SC_PASS_MAX___96 = 88,
    _SC_XOPEN_VERSION___96 = 89,
    _SC_XOPEN_XCU_VERSION___96 = 90,
    _SC_XOPEN_UNIX___96 = 91,
    _SC_XOPEN_CRYPT___96 = 92,
    _SC_XOPEN_ENH_I18N___96 = 93,
    _SC_XOPEN_SHM___96 = 94,
    _SC_2_CHAR_TERM___96 = 95,
    _SC_2_C_VERSION___96 = 96,
    _SC_2_UPE___96 = 97,
    _SC_XOPEN_XPG2___96 = 98,
    _SC_XOPEN_XPG3___96 = 99,
    _SC_XOPEN_XPG4___96 = 100,
    _SC_CHAR_BIT___96 = 101,
    _SC_CHAR_MAX___96 = 102,
    _SC_CHAR_MIN___96 = 103,
    _SC_INT_MAX___96 = 104,
    _SC_INT_MIN___96 = 105,
    _SC_LONG_BIT___96 = 106,
    _SC_WORD_BIT___96 = 107,
    _SC_MB_LEN_MAX___96 = 108,
    _SC_NZERO___96 = 109,
    _SC_SSIZE_MAX___96 = 110,
    _SC_SCHAR_MAX___96 = 111,
    _SC_SCHAR_MIN___96 = 112,
    _SC_SHRT_MAX___96 = 113,
    _SC_SHRT_MIN___96 = 114,
    _SC_UCHAR_MAX___96 = 115,
    _SC_UINT_MAX___96 = 116,
    _SC_ULONG_MAX___96 = 117,
    _SC_USHRT_MAX___96 = 118,
    _SC_NL_ARGMAX___96 = 119,
    _SC_NL_LANGMAX___96 = 120,
    _SC_NL_MSGMAX___96 = 121,
    _SC_NL_NMAX___96 = 122,
    _SC_NL_SETMAX___96 = 123,
    _SC_NL_TEXTMAX___96 = 124,
    _SC_XBS5_ILP32_OFF32___96 = 125,
    _SC_XBS5_ILP32_OFFBIG___96 = 126,
    _SC_XBS5_LP64_OFF64___96 = 127,
    _SC_XBS5_LPBIG_OFFBIG___96 = 128,
    _SC_XOPEN_LEGACY___96 = 129,
    _SC_XOPEN_REALTIME___96 = 130,
    _SC_XOPEN_REALTIME_THREADS___96 = 131,
    _SC_ADVISORY_INFO___96 = 132,
    _SC_BARRIERS___96 = 133,
    _SC_BASE___96 = 134,
    _SC_C_LANG_SUPPORT___96 = 135,
    _SC_C_LANG_SUPPORT_R___96 = 136,
    _SC_CLOCK_SELECTION___96 = 137,
    _SC_CPUTIME___96 = 138,
    _SC_THREAD_CPUTIME___96 = 139,
    _SC_DEVICE_IO___96 = 140,
    _SC_DEVICE_SPECIFIC___96 = 141,
    _SC_DEVICE_SPECIFIC_R___96 = 142,
    _SC_FD_MGMT___96 = 143,
    _SC_FIFO___96 = 144,
    _SC_PIPE___96 = 145,
    _SC_FILE_ATTRIBUTES___96 = 146,
    _SC_FILE_LOCKING___96 = 147,
    _SC_FILE_SYSTEM___96 = 148,
    _SC_MONOTONIC_CLOCK___96 = 149,
    _SC_MULTI_PROCESS___96 = 150,
    _SC_SINGLE_PROCESS___96 = 151,
    _SC_NETWORKING___96 = 152,
    _SC_READER_WRITER_LOCKS___96 = 153,
    _SC_SPIN_LOCKS___96 = 154,
    _SC_REGEXP___96 = 155,
    _SC_REGEX_VERSION___96 = 156,
    _SC_SHELL___96 = 157,
    _SC_SIGNALS___96 = 158,
    _SC_SPAWN___96 = 159,
    _SC_SPORADIC_SERVER___96 = 160,
    _SC_THREAD_SPORADIC_SERVER___96 = 161,
    _SC_SYSTEM_DATABASE___96 = 162,
    _SC_SYSTEM_DATABASE_R___96 = 163,
    _SC_TIMEOUTS___96 = 164,
    _SC_TYPED_MEMORY_OBJECTS___96 = 165,
    _SC_USER_GROUPS___96 = 166,
    _SC_USER_GROUPS_R___96 = 167,
    _SC_2_PBS___96 = 168,
    _SC_2_PBS_ACCOUNTING___96 = 169,
    _SC_2_PBS_LOCATE___96 = 170,
    _SC_2_PBS_MESSAGE___96 = 171,
    _SC_2_PBS_TRACK___96 = 172,
    _SC_SYMLOOP_MAX___96 = 173,
    _SC_STREAMS___96 = 174,
    _SC_2_PBS_CHECKPOINT___96 = 175,
    _SC_V6_ILP32_OFF32___96 = 176,
    _SC_V6_ILP32_OFFBIG___96 = 177,
    _SC_V6_LP64_OFF64___96 = 178,
    _SC_V6_LPBIG_OFFBIG___96 = 179,
    _SC_HOST_NAME_MAX___96 = 180,
    _SC_TRACE___96 = 181,
    _SC_TRACE_EVENT_FILTER___96 = 182,
    _SC_TRACE_INHERIT___96 = 183,
    _SC_TRACE_LOG___96 = 184,
    _SC_LEVEL1_ICACHE_SIZE___96 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___96 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___96 = 187,
    _SC_LEVEL1_DCACHE_SIZE___96 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___96 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___96 = 190,
    _SC_LEVEL2_CACHE_SIZE___96 = 191,
    _SC_LEVEL2_CACHE_ASSOC___96 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___96 = 193,
    _SC_LEVEL3_CACHE_SIZE___96 = 194,
    _SC_LEVEL3_CACHE_ASSOC___96 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___96 = 196,
    _SC_LEVEL4_CACHE_SIZE___96 = 197,
    _SC_LEVEL4_CACHE_ASSOC___96 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___96 = 199,
    _SC_IPV6___96 = 235,
    _SC_RAW_SOCKETS___96 = 236,
    _SC_V7_ILP32_OFF32___96 = 237,
    _SC_V7_ILP32_OFFBIG___96 = 238,
    _SC_V7_LP64_OFF64___96 = 239,
    _SC_V7_LPBIG_OFFBIG___96 = 240,
    _SC_SS_REPL_MAX___96 = 241,
    _SC_TRACE_EVENT_NAME_MAX___96 = 242,
    _SC_TRACE_NAME_MAX___96 = 243,
    _SC_TRACE_SYS_MAX___96 = 244,
    _SC_TRACE_USER_EVENT_MAX___96 = 245,
    _SC_XOPEN_STREAMS___96 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___96 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___96 = 248
} ;
enum __anonenum_875524036___96 {
    _CS_PATH___96 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___96 = 1,
    _CS_GNU_LIBC_VERSION___96 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___96 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___96 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___96 = 5,
    _CS_LFS_CFLAGS___96 = 1000,
    _CS_LFS_LDFLAGS___96 = 1001,
    _CS_LFS_LIBS___96 = 1002,
    _CS_LFS_LINTFLAGS___96 = 1003,
    _CS_LFS64_CFLAGS___96 = 1004,
    _CS_LFS64_LDFLAGS___96 = 1005,
    _CS_LFS64_LIBS___96 = 1006,
    _CS_LFS64_LINTFLAGS___96 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___96 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___96 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___96 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___96 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___96 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___96 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___96 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___96 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___96 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___96 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___96 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___96 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___96 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___96 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___96 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___96 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___96 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___96 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___96 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___96 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___96 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___96 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___96 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___96 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___96 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___96 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___96 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___96 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___96 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___96 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___96 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___96 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___96 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___96 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___96 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___96 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___96 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___96 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___96 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___96 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___96 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___96 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___96 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___96 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___96 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___96 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___96 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___96 = 1147,
    _CS_V6_ENV___96 = 1148,
    _CS_V7_ENV___96 = 1149
} ;
enum __anonenum_513775621___96 {
    DT_UNKNOWN___96 = 0,
    DT_FIFO___96 = 1,
    DT_CHR___96 = 2,
    DT_DIR___96 = 4,
    DT_BLK___96 = 6,
    DT_REG___96 = 8,
    DT_LNK___96 = 10,
    DT_SOCK___96 = 12,
    DT_WHT___96 = 14
} ;
enum __anonenum_77002343___96 {
    SI_ASYNCNL___96 = -60,
    SI_TKILL___96 = -6,
    SI_SIGIO___96 = -5,
    SI_ASYNCIO___96 = -4,
    SI_MESGQ___96 = -3,
    SI_TIMER___96 = -2,
    SI_QUEUE___96 = -1,
    SI_USER___96 = 0,
    SI_KERNEL___96 = 128
} ;
enum __anonenum_131038172___96 {
    ILL_ILLOPC___96 = 1,
    ILL_ILLOPN___96 = 2,
    ILL_ILLADR___96 = 3,
    ILL_ILLTRP___96 = 4,
    ILL_PRVOPC___96 = 5,
    ILL_PRVREG___96 = 6,
    ILL_COPROC___96 = 7,
    ILL_BADSTK___96 = 8
} ;
enum __anonenum_452038093___96 {
    FPE_INTDIV___96 = 1,
    FPE_INTOVF___96 = 2,
    FPE_FLTDIV___96 = 3,
    FPE_FLTOVF___96 = 4,
    FPE_FLTUND___96 = 5,
    FPE_FLTRES___96 = 6,
    FPE_FLTINV___96 = 7,
    FPE_FLTSUB___96 = 8
} ;
enum __anonenum_30976155___96 {
    SEGV_MAPERR___96 = 1,
    SEGV_ACCERR___96 = 2,
    SEGV_BNDERR___96 = 3,
    SEGV_PKUERR___96 = 4
} ;
enum __anonenum_1036286214___96 {
    BUS_ADRALN___96 = 1,
    BUS_ADRERR___96 = 2,
    BUS_OBJERR___96 = 3,
    BUS_MCEERR_AR___96 = 4,
    BUS_MCEERR_AO___96 = 5
} ;
enum __anonenum_493465559___96 {
    TRAP_BRKPT___96 = 1,
    TRAP_TRACE___96 = 2
} ;
enum __anonenum_23175539___96 {
    CLD_EXITED___96 = 1,
    CLD_KILLED___96 = 2,
    CLD_DUMPED___96 = 3,
    CLD_TRAPPED___96 = 4,
    CLD_STOPPED___96 = 5,
    CLD_CONTINUED___96 = 6
} ;
enum __anonenum_111643124___96 {
    POLL_IN___96 = 1,
    POLL_OUT___96 = 2,
    POLL_MSG___96 = 3,
    POLL_ERR___96 = 4,
    POLL_PRI___96 = 5,
    POLL_HUP___96 = 6
} ;
enum __anonenum_852341087___96 {
    SIGEV_SIGNAL___96 = 0,
    SIGEV_NONE___96 = 1,
    SIGEV_THREAD___96 = 2,
    SIGEV_THREAD_ID___96 = 4
} ;
enum __anonenum_451154152___96 {
    REG_R8___96 = 0,
    REG_R9___96 = 1,
    REG_R10___96 = 2,
    REG_R11___96 = 3,
    REG_R12___96 = 4,
    REG_R13___96 = 5,
    REG_R14___96 = 6,
    REG_R15___96 = 7,
    REG_RDI___96 = 8,
    REG_RSI___96 = 9,
    REG_RBP___96 = 10,
    REG_RBX___96 = 11,
    REG_RDX___96 = 12,
    REG_RAX___96 = 13,
    REG_RCX___96 = 14,
    REG_RSP___96 = 15,
    REG_RIP___96 = 16,
    REG_EFL___96 = 17,
    REG_CSGSFS___96 = 18,
    REG_ERR___96 = 19,
    REG_TRAPNO___96 = 20,
    REG_OLDMASK___96 = 21,
    REG_CR2___96 = 22
} ;
enum __anonenum_57186863___96 {
    SS_ONSTACK___96 = 1,
    SS_DISABLE___96 = 2
} ;
enum __anonenum_83571709___96 {
    MSG_OOB___96 = 1,
    MSG_PEEK___96 = 2,
    MSG_DONTROUTE___96 = 4,
    MSG_TRYHARD___96 = 4,
    MSG_CTRUNC___96 = 8,
    MSG_PROXY___96 = 16,
    MSG_TRUNC___96 = 32,
    MSG_DONTWAIT___96 = 64,
    MSG_EOR___96 = 128,
    MSG_WAITALL___96 = 256,
    MSG_FIN___96 = 512,
    MSG_SYN___96 = 1024,
    MSG_CONFIRM___96 = 2048,
    MSG_RST___96 = 4096,
    MSG_ERRQUEUE___96 = 8192,
    MSG_NOSIGNAL___96 = 16384,
    MSG_MORE___96 = 32768,
    MSG_WAITFORONE___96 = 65536,
    MSG_BATCH___96 = 262144,
    MSG_ZEROCOPY___96 = 67108864,
    MSG_FASTOPEN___96 = 536870912,
    MSG_CMSG_CLOEXEC___96 = 1073741824
} ;
enum __anonenum_617082774___96 {
    SCM_RIGHTS___96 = 1,
    SCM_CREDENTIALS___96 = 2
} ;
enum __anonenum_606441560___96 {
    SHUT_RD___96 = 0,
    SHUT_WR___96 = 1,
    SHUT_RDWR___96 = 2
} ;
enum __anonenum_681669233___96 {
    IPPROTO_IP___96 = 0,
    IPPROTO_ICMP___96 = 1,
    IPPROTO_IGMP___96 = 2,
    IPPROTO_IPIP___96 = 4,
    IPPROTO_TCP___96 = 6,
    IPPROTO_EGP___96 = 8,
    IPPROTO_PUP___96 = 12,
    IPPROTO_UDP___96 = 17,
    IPPROTO_IDP___96 = 22,
    IPPROTO_TP___96 = 29,
    IPPROTO_DCCP___96 = 33,
    IPPROTO_IPV6___96 = 41,
    IPPROTO_RSVP___96 = 46,
    IPPROTO_GRE___96 = 47,
    IPPROTO_ESP___96 = 50,
    IPPROTO_AH___96 = 51,
    IPPROTO_MTP___96 = 92,
    IPPROTO_BEETPH___96 = 94,
    IPPROTO_ENCAP___96 = 98,
    IPPROTO_PIM___96 = 103,
    IPPROTO_COMP___96 = 108,
    IPPROTO_SCTP___96 = 132,
    IPPROTO_UDPLITE___96 = 136,
    IPPROTO_MPLS___96 = 137,
    IPPROTO_RAW___96 = 255,
    IPPROTO_MAX___96 = 256
} ;
enum __anonenum_218739988___96 {
    IPPROTO_HOPOPTS___96 = 0,
    IPPROTO_ROUTING___96 = 43,
    IPPROTO_FRAGMENT___96 = 44,
    IPPROTO_ICMPV6___96 = 58,
    IPPROTO_NONE___96 = 59,
    IPPROTO_DSTOPTS___96 = 60,
    IPPROTO_MH___96 = 135
} ;
enum __anonenum_662268580___96 {
    IPPORT_ECHO___96 = 7,
    IPPORT_DISCARD___96 = 9,
    IPPORT_SYSTAT___96 = 11,
    IPPORT_DAYTIME___96 = 13,
    IPPORT_NETSTAT___96 = 15,
    IPPORT_FTP___96 = 21,
    IPPORT_TELNET___96 = 23,
    IPPORT_SMTP___96 = 25,
    IPPORT_TIMESERVER___96 = 37,
    IPPORT_NAMESERVER___96 = 42,
    IPPORT_WHOIS___96 = 43,
    IPPORT_MTP___96 = 57,
    IPPORT_TFTP___96 = 69,
    IPPORT_RJE___96 = 77,
    IPPORT_FINGER___96 = 79,
    IPPORT_TTYLINK___96 = 87,
    IPPORT_SUPDUP___96 = 95,
    IPPORT_EXECSERVER___96 = 512,
    IPPORT_LOGINSERVER___96 = 513,
    IPPORT_CMDSERVER___96 = 514,
    IPPORT_EFSSERVER___96 = 520,
    IPPORT_BIFFUDP___96 = 512,
    IPPORT_WHOSERVER___96 = 513,
    IPPORT_ROUTESERVER___96 = 520,
    IPPORT_RESERVED___96 = 1024,
    IPPORT_USERRESERVED___96 = 5000
} ;
enum __anonenum_788308992___96 {
    TCP_ESTABLISHED___96 = 1,
    TCP_SYN_SENT___96 = 2,
    TCP_SYN_RECV___96 = 3,
    TCP_FIN_WAIT1___96 = 4,
    TCP_FIN_WAIT2___96 = 5,
    TCP_TIME_WAIT___96 = 6,
    TCP_CLOSE___96 = 7,
    TCP_CLOSE_WAIT___96 = 8,
    TCP_LAST_ACK___96 = 9,
    TCP_LISTEN___96 = 10,
    TCP_CLOSING___96 = 11
} ;
enum __anonenum_221125648___96 {
    TCP_NO_QUEUE___96 = 0,
    TCP_RECV_QUEUE___96 = 1,
    TCP_SEND_QUEUE___96 = 2,
    TCP_QUEUES_NR___96 = 3
} ;
enum __anonenum_34415463___96 {
    PTHREAD_CREATE_JOINABLE___96 = 0,
    PTHREAD_CREATE_DETACHED___96 = 1
} ;
enum __anonenum_303612439___96 {
    PTHREAD_MUTEX_TIMED_NP___96 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___96 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___96 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___96 = 3,
    PTHREAD_MUTEX_NORMAL___96 = 0,
    PTHREAD_MUTEX_RECURSIVE___96 = 1,
    PTHREAD_MUTEX_ERRORCHECK___96 = 2,
    PTHREAD_MUTEX_DEFAULT___96 = 0,
    PTHREAD_MUTEX_FAST_NP___96 = 0
} ;
enum __anonenum_931900394___96 {
    PTHREAD_MUTEX_STALLED___96 = 0,
    PTHREAD_MUTEX_STALLED_NP___96 = 0,
    PTHREAD_MUTEX_ROBUST___96 = 1,
    PTHREAD_MUTEX_ROBUST_NP___96 = 1
} ;
enum __anonenum_205214487___96 {
    PTHREAD_PRIO_NONE___96 = 0,
    PTHREAD_PRIO_INHERIT___96 = 1,
    PTHREAD_PRIO_PROTECT___96 = 2
} ;
enum __anonenum_25043950___96 {
    PTHREAD_RWLOCK_PREFER_READER_NP___96 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___96 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___96 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___96 = 0
} ;
enum __anonenum_436439511___96 {
    PTHREAD_INHERIT_SCHED___96 = 0,
    PTHREAD_EXPLICIT_SCHED___96 = 1
} ;
enum __anonenum_998661166___96 {
    PTHREAD_SCOPE_SYSTEM___96 = 0,
    PTHREAD_SCOPE_PROCESS___96 = 1
} ;
enum __anonenum_146137331___96 {
    PTHREAD_PROCESS_PRIVATE___96 = 0,
    PTHREAD_PROCESS_SHARED___96 = 1
} ;
enum __anonenum_53396917___96 {
    PTHREAD_CANCEL_ENABLE___96 = 0,
    PTHREAD_CANCEL_DISABLE___96 = 1
} ;
enum __anonenum_904563783___96 {
    PTHREAD_CANCEL_DEFERRED___96 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___96 = 1
} ;
enum __anonenum_672052974___96 {
    SSL_CT_VALIDATION_PERMISSIVE___96 = 0,
    SSL_CT_VALIDATION_STRICT___96 = 1
} ;
enum quoted_cr_action {
    quoted_cr_unset = -1,
    quoted_cr_nowarn = 0,
    quoted_cr_warn = 1,
    quoted_cr_strip = 2
} ;
enum __anonenum_transfer_encoding_992119343 {
    TE_DONTCARE = 0,
    TE_QP = 1,
    TE_BASE64 = 2
} ;
struct mailinfo {
   FILE *input ;
   FILE *output ;
   FILE *patchfile ;
   struct strbuf name ;
   struct strbuf email ;
   int keep_subject ;
   int keep_non_patch_brackets_in_subject ;
   int quoted_cr ;
   int add_message_id ;
   int use_scissors ;
   int use_inbody_headers ;
   char const   *metainfo_charset ;
   struct strbuf *content[5] ;
   struct strbuf **content_top ;
   struct strbuf charset ;
   unsigned int format_flowed : 1 ;
   unsigned int delsp : 1 ;
   unsigned int have_quoted_cr : 1 ;
   char *message_id ;
   enum __anonenum_transfer_encoding_992119343 transfer_encoding ;
   int patch_lines ;
   int filter_stage ;
   int header_stage ;
   struct strbuf inbody_header_accum ;
   struct strbuf **p_hdr_data ;
   struct strbuf **s_hdr_data ;
   struct strbuf log_message ;
   int input_error ;
};
enum __anonenum_437032235___97 {
    _PC_LINK_MAX___97 = 0,
    _PC_MAX_CANON___97 = 1,
    _PC_MAX_INPUT___97 = 2,
    _PC_NAME_MAX___97 = 3,
    _PC_PATH_MAX___97 = 4,
    _PC_PIPE_BUF___97 = 5,
    _PC_CHOWN_RESTRICTED___97 = 6,
    _PC_NO_TRUNC___97 = 7,
    _PC_VDISABLE___97 = 8,
    _PC_SYNC_IO___97 = 9,
    _PC_ASYNC_IO___97 = 10,
    _PC_PRIO_IO___97 = 11,
    _PC_SOCK_MAXBUF___97 = 12,
    _PC_FILESIZEBITS___97 = 13,
    _PC_REC_INCR_XFER_SIZE___97 = 14,
    _PC_REC_MAX_XFER_SIZE___97 = 15,
    _PC_REC_MIN_XFER_SIZE___97 = 16,
    _PC_REC_XFER_ALIGN___97 = 17,
    _PC_ALLOC_SIZE_MIN___97 = 18,
    _PC_SYMLINK_MAX___97 = 19,
    _PC_2_SYMLINKS___97 = 20
} ;
enum __anonenum_315186338___97 {
    _SC_ARG_MAX___97 = 0,
    _SC_CHILD_MAX___97 = 1,
    _SC_CLK_TCK___97 = 2,
    _SC_NGROUPS_MAX___97 = 3,
    _SC_OPEN_MAX___97 = 4,
    _SC_STREAM_MAX___97 = 5,
    _SC_TZNAME_MAX___97 = 6,
    _SC_JOB_CONTROL___97 = 7,
    _SC_SAVED_IDS___97 = 8,
    _SC_REALTIME_SIGNALS___97 = 9,
    _SC_PRIORITY_SCHEDULING___97 = 10,
    _SC_TIMERS___97 = 11,
    _SC_ASYNCHRONOUS_IO___97 = 12,
    _SC_PRIORITIZED_IO___97 = 13,
    _SC_SYNCHRONIZED_IO___97 = 14,
    _SC_FSYNC___97 = 15,
    _SC_MAPPED_FILES___97 = 16,
    _SC_MEMLOCK___97 = 17,
    _SC_MEMLOCK_RANGE___97 = 18,
    _SC_MEMORY_PROTECTION___97 = 19,
    _SC_MESSAGE_PASSING___97 = 20,
    _SC_SEMAPHORES___97 = 21,
    _SC_SHARED_MEMORY_OBJECTS___97 = 22,
    _SC_AIO_LISTIO_MAX___97 = 23,
    _SC_AIO_MAX___97 = 24,
    _SC_AIO_PRIO_DELTA_MAX___97 = 25,
    _SC_DELAYTIMER_MAX___97 = 26,
    _SC_MQ_OPEN_MAX___97 = 27,
    _SC_MQ_PRIO_MAX___97 = 28,
    _SC_VERSION___97 = 29,
    _SC_PAGESIZE___97 = 30,
    _SC_RTSIG_MAX___97 = 31,
    _SC_SEM_NSEMS_MAX___97 = 32,
    _SC_SEM_VALUE_MAX___97 = 33,
    _SC_SIGQUEUE_MAX___97 = 34,
    _SC_TIMER_MAX___97 = 35,
    _SC_BC_BASE_MAX___97 = 36,
    _SC_BC_DIM_MAX___97 = 37,
    _SC_BC_SCALE_MAX___97 = 38,
    _SC_BC_STRING_MAX___97 = 39,
    _SC_COLL_WEIGHTS_MAX___97 = 40,
    _SC_EQUIV_CLASS_MAX___97 = 41,
    _SC_EXPR_NEST_MAX___97 = 42,
    _SC_LINE_MAX___97 = 43,
    _SC_RE_DUP_MAX___97 = 44,
    _SC_CHARCLASS_NAME_MAX___97 = 45,
    _SC_2_VERSION___97 = 46,
    _SC_2_C_BIND___97 = 47,
    _SC_2_C_DEV___97 = 48,
    _SC_2_FORT_DEV___97 = 49,
    _SC_2_FORT_RUN___97 = 50,
    _SC_2_SW_DEV___97 = 51,
    _SC_2_LOCALEDEF___97 = 52,
    _SC_PII___97 = 53,
    _SC_PII_XTI___97 = 54,
    _SC_PII_SOCKET___97 = 55,
    _SC_PII_INTERNET___97 = 56,
    _SC_PII_OSI___97 = 57,
    _SC_POLL___97 = 58,
    _SC_SELECT___97 = 59,
    _SC_UIO_MAXIOV___97 = 60,
    _SC_IOV_MAX___97 = 60,
    _SC_PII_INTERNET_STREAM___97 = 61,
    _SC_PII_INTERNET_DGRAM___97 = 62,
    _SC_PII_OSI_COTS___97 = 63,
    _SC_PII_OSI_CLTS___97 = 64,
    _SC_PII_OSI_M___97 = 65,
    _SC_T_IOV_MAX___97 = 66,
    _SC_THREADS___97 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___97 = 68,
    _SC_GETGR_R_SIZE_MAX___97 = 69,
    _SC_GETPW_R_SIZE_MAX___97 = 70,
    _SC_LOGIN_NAME_MAX___97 = 71,
    _SC_TTY_NAME_MAX___97 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___97 = 73,
    _SC_THREAD_KEYS_MAX___97 = 74,
    _SC_THREAD_STACK_MIN___97 = 75,
    _SC_THREAD_THREADS_MAX___97 = 76,
    _SC_THREAD_ATTR_STACKADDR___97 = 77,
    _SC_THREAD_ATTR_STACKSIZE___97 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___97 = 79,
    _SC_THREAD_PRIO_INHERIT___97 = 80,
    _SC_THREAD_PRIO_PROTECT___97 = 81,
    _SC_THREAD_PROCESS_SHARED___97 = 82,
    _SC_NPROCESSORS_CONF___97 = 83,
    _SC_NPROCESSORS_ONLN___97 = 84,
    _SC_PHYS_PAGES___97 = 85,
    _SC_AVPHYS_PAGES___97 = 86,
    _SC_ATEXIT_MAX___97 = 87,
    _SC_PASS_MAX___97 = 88,
    _SC_XOPEN_VERSION___97 = 89,
    _SC_XOPEN_XCU_VERSION___97 = 90,
    _SC_XOPEN_UNIX___97 = 91,
    _SC_XOPEN_CRYPT___97 = 92,
    _SC_XOPEN_ENH_I18N___97 = 93,
    _SC_XOPEN_SHM___97 = 94,
    _SC_2_CHAR_TERM___97 = 95,
    _SC_2_C_VERSION___97 = 96,
    _SC_2_UPE___97 = 97,
    _SC_XOPEN_XPG2___97 = 98,
    _SC_XOPEN_XPG3___97 = 99,
    _SC_XOPEN_XPG4___97 = 100,
    _SC_CHAR_BIT___97 = 101,
    _SC_CHAR_MAX___97 = 102,
    _SC_CHAR_MIN___97 = 103,
    _SC_INT_MAX___97 = 104,
    _SC_INT_MIN___97 = 105,
    _SC_LONG_BIT___97 = 106,
    _SC_WORD_BIT___97 = 107,
    _SC_MB_LEN_MAX___97 = 108,
    _SC_NZERO___97 = 109,
    _SC_SSIZE_MAX___97 = 110,
    _SC_SCHAR_MAX___97 = 111,
    _SC_SCHAR_MIN___97 = 112,
    _SC_SHRT_MAX___97 = 113,
    _SC_SHRT_MIN___97 = 114,
    _SC_UCHAR_MAX___97 = 115,
    _SC_UINT_MAX___97 = 116,
    _SC_ULONG_MAX___97 = 117,
    _SC_USHRT_MAX___97 = 118,
    _SC_NL_ARGMAX___97 = 119,
    _SC_NL_LANGMAX___97 = 120,
    _SC_NL_MSGMAX___97 = 121,
    _SC_NL_NMAX___97 = 122,
    _SC_NL_SETMAX___97 = 123,
    _SC_NL_TEXTMAX___97 = 124,
    _SC_XBS5_ILP32_OFF32___97 = 125,
    _SC_XBS5_ILP32_OFFBIG___97 = 126,
    _SC_XBS5_LP64_OFF64___97 = 127,
    _SC_XBS5_LPBIG_OFFBIG___97 = 128,
    _SC_XOPEN_LEGACY___97 = 129,
    _SC_XOPEN_REALTIME___97 = 130,
    _SC_XOPEN_REALTIME_THREADS___97 = 131,
    _SC_ADVISORY_INFO___97 = 132,
    _SC_BARRIERS___97 = 133,
    _SC_BASE___97 = 134,
    _SC_C_LANG_SUPPORT___97 = 135,
    _SC_C_LANG_SUPPORT_R___97 = 136,
    _SC_CLOCK_SELECTION___97 = 137,
    _SC_CPUTIME___97 = 138,
    _SC_THREAD_CPUTIME___97 = 139,
    _SC_DEVICE_IO___97 = 140,
    _SC_DEVICE_SPECIFIC___97 = 141,
    _SC_DEVICE_SPECIFIC_R___97 = 142,
    _SC_FD_MGMT___97 = 143,
    _SC_FIFO___97 = 144,
    _SC_PIPE___97 = 145,
    _SC_FILE_ATTRIBUTES___97 = 146,
    _SC_FILE_LOCKING___97 = 147,
    _SC_FILE_SYSTEM___97 = 148,
    _SC_MONOTONIC_CLOCK___97 = 149,
    _SC_MULTI_PROCESS___97 = 150,
    _SC_SINGLE_PROCESS___97 = 151,
    _SC_NETWORKING___97 = 152,
    _SC_READER_WRITER_LOCKS___97 = 153,
    _SC_SPIN_LOCKS___97 = 154,
    _SC_REGEXP___97 = 155,
    _SC_REGEX_VERSION___97 = 156,
    _SC_SHELL___97 = 157,
    _SC_SIGNALS___97 = 158,
    _SC_SPAWN___97 = 159,
    _SC_SPORADIC_SERVER___97 = 160,
    _SC_THREAD_SPORADIC_SERVER___97 = 161,
    _SC_SYSTEM_DATABASE___97 = 162,
    _SC_SYSTEM_DATABASE_R___97 = 163,
    _SC_TIMEOUTS___97 = 164,
    _SC_TYPED_MEMORY_OBJECTS___97 = 165,
    _SC_USER_GROUPS___97 = 166,
    _SC_USER_GROUPS_R___97 = 167,
    _SC_2_PBS___97 = 168,
    _SC_2_PBS_ACCOUNTING___97 = 169,
    _SC_2_PBS_LOCATE___97 = 170,
    _SC_2_PBS_MESSAGE___97 = 171,
    _SC_2_PBS_TRACK___97 = 172,
    _SC_SYMLOOP_MAX___97 = 173,
    _SC_STREAMS___97 = 174,
    _SC_2_PBS_CHECKPOINT___97 = 175,
    _SC_V6_ILP32_OFF32___97 = 176,
    _SC_V6_ILP32_OFFBIG___97 = 177,
    _SC_V6_LP64_OFF64___97 = 178,
    _SC_V6_LPBIG_OFFBIG___97 = 179,
    _SC_HOST_NAME_MAX___97 = 180,
    _SC_TRACE___97 = 181,
    _SC_TRACE_EVENT_FILTER___97 = 182,
    _SC_TRACE_INHERIT___97 = 183,
    _SC_TRACE_LOG___97 = 184,
    _SC_LEVEL1_ICACHE_SIZE___97 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___97 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___97 = 187,
    _SC_LEVEL1_DCACHE_SIZE___97 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___97 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___97 = 190,
    _SC_LEVEL2_CACHE_SIZE___97 = 191,
    _SC_LEVEL2_CACHE_ASSOC___97 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___97 = 193,
    _SC_LEVEL3_CACHE_SIZE___97 = 194,
    _SC_LEVEL3_CACHE_ASSOC___97 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___97 = 196,
    _SC_LEVEL4_CACHE_SIZE___97 = 197,
    _SC_LEVEL4_CACHE_ASSOC___97 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___97 = 199,
    _SC_IPV6___97 = 235,
    _SC_RAW_SOCKETS___97 = 236,
    _SC_V7_ILP32_OFF32___97 = 237,
    _SC_V7_ILP32_OFFBIG___97 = 238,
    _SC_V7_LP64_OFF64___97 = 239,
    _SC_V7_LPBIG_OFFBIG___97 = 240,
    _SC_SS_REPL_MAX___97 = 241,
    _SC_TRACE_EVENT_NAME_MAX___97 = 242,
    _SC_TRACE_NAME_MAX___97 = 243,
    _SC_TRACE_SYS_MAX___97 = 244,
    _SC_TRACE_USER_EVENT_MAX___97 = 245,
    _SC_XOPEN_STREAMS___97 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___97 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___97 = 248
} ;
enum __anonenum_875524036___97 {
    _CS_PATH___97 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___97 = 1,
    _CS_GNU_LIBC_VERSION___97 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___97 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___97 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___97 = 5,
    _CS_LFS_CFLAGS___97 = 1000,
    _CS_LFS_LDFLAGS___97 = 1001,
    _CS_LFS_LIBS___97 = 1002,
    _CS_LFS_LINTFLAGS___97 = 1003,
    _CS_LFS64_CFLAGS___97 = 1004,
    _CS_LFS64_LDFLAGS___97 = 1005,
    _CS_LFS64_LIBS___97 = 1006,
    _CS_LFS64_LINTFLAGS___97 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___97 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___97 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___97 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___97 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___97 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___97 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___97 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___97 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___97 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___97 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___97 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___97 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___97 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___97 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___97 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___97 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___97 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___97 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___97 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___97 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___97 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___97 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___97 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___97 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___97 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___97 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___97 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___97 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___97 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___97 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___97 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___97 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___97 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___97 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___97 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___97 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___97 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___97 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___97 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___97 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___97 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___97 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___97 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___97 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___97 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___97 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___97 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___97 = 1147,
    _CS_V6_ENV___97 = 1148,
    _CS_V7_ENV___97 = 1149
} ;
enum __anonenum_513775621___97 {
    DT_UNKNOWN___97 = 0,
    DT_FIFO___97 = 1,
    DT_CHR___97 = 2,
    DT_DIR___97 = 4,
    DT_BLK___97 = 6,
    DT_REG___97 = 8,
    DT_LNK___97 = 10,
    DT_SOCK___97 = 12,
    DT_WHT___97 = 14
} ;
enum __anonenum_77002343___97 {
    SI_ASYNCNL___97 = -60,
    SI_TKILL___97 = -6,
    SI_SIGIO___97 = -5,
    SI_ASYNCIO___97 = -4,
    SI_MESGQ___97 = -3,
    SI_TIMER___97 = -2,
    SI_QUEUE___97 = -1,
    SI_USER___97 = 0,
    SI_KERNEL___97 = 128
} ;
enum __anonenum_131038172___97 {
    ILL_ILLOPC___97 = 1,
    ILL_ILLOPN___97 = 2,
    ILL_ILLADR___97 = 3,
    ILL_ILLTRP___97 = 4,
    ILL_PRVOPC___97 = 5,
    ILL_PRVREG___97 = 6,
    ILL_COPROC___97 = 7,
    ILL_BADSTK___97 = 8
} ;
enum __anonenum_452038093___97 {
    FPE_INTDIV___97 = 1,
    FPE_INTOVF___97 = 2,
    FPE_FLTDIV___97 = 3,
    FPE_FLTOVF___97 = 4,
    FPE_FLTUND___97 = 5,
    FPE_FLTRES___97 = 6,
    FPE_FLTINV___97 = 7,
    FPE_FLTSUB___97 = 8
} ;
enum __anonenum_30976155___97 {
    SEGV_MAPERR___97 = 1,
    SEGV_ACCERR___97 = 2,
    SEGV_BNDERR___97 = 3,
    SEGV_PKUERR___97 = 4
} ;
enum __anonenum_1036286214___97 {
    BUS_ADRALN___97 = 1,
    BUS_ADRERR___97 = 2,
    BUS_OBJERR___97 = 3,
    BUS_MCEERR_AR___97 = 4,
    BUS_MCEERR_AO___97 = 5
} ;
enum __anonenum_493465559___97 {
    TRAP_BRKPT___97 = 1,
    TRAP_TRACE___97 = 2
} ;
enum __anonenum_23175539___97 {
    CLD_EXITED___97 = 1,
    CLD_KILLED___97 = 2,
    CLD_DUMPED___97 = 3,
    CLD_TRAPPED___97 = 4,
    CLD_STOPPED___97 = 5,
    CLD_CONTINUED___97 = 6
} ;
enum __anonenum_111643124___97 {
    POLL_IN___97 = 1,
    POLL_OUT___97 = 2,
    POLL_MSG___97 = 3,
    POLL_ERR___97 = 4,
    POLL_PRI___97 = 5,
    POLL_HUP___97 = 6
} ;
enum __anonenum_852341087___97 {
    SIGEV_SIGNAL___97 = 0,
    SIGEV_NONE___97 = 1,
    SIGEV_THREAD___97 = 2,
    SIGEV_THREAD_ID___97 = 4
} ;
enum __anonenum_451154152___97 {
    REG_R8___97 = 0,
    REG_R9___97 = 1,
    REG_R10___97 = 2,
    REG_R11___97 = 3,
    REG_R12___97 = 4,
    REG_R13___97 = 5,
    REG_R14___97 = 6,
    REG_R15___97 = 7,
    REG_RDI___97 = 8,
    REG_RSI___97 = 9,
    REG_RBP___97 = 10,
    REG_RBX___97 = 11,
    REG_RDX___97 = 12,
    REG_RAX___97 = 13,
    REG_RCX___97 = 14,
    REG_RSP___97 = 15,
    REG_RIP___97 = 16,
    REG_EFL___97 = 17,
    REG_CSGSFS___97 = 18,
    REG_ERR___97 = 19,
    REG_TRAPNO___97 = 20,
    REG_OLDMASK___97 = 21,
    REG_CR2___97 = 22
} ;
enum __anonenum_57186863___97 {
    SS_ONSTACK___97 = 1,
    SS_DISABLE___97 = 2
} ;
enum __anonenum_83571709___97 {
    MSG_OOB___97 = 1,
    MSG_PEEK___97 = 2,
    MSG_DONTROUTE___97 = 4,
    MSG_TRYHARD___97 = 4,
    MSG_CTRUNC___97 = 8,
    MSG_PROXY___97 = 16,
    MSG_TRUNC___97 = 32,
    MSG_DONTWAIT___97 = 64,
    MSG_EOR___97 = 128,
    MSG_WAITALL___97 = 256,
    MSG_FIN___97 = 512,
    MSG_SYN___97 = 1024,
    MSG_CONFIRM___97 = 2048,
    MSG_RST___97 = 4096,
    MSG_ERRQUEUE___97 = 8192,
    MSG_NOSIGNAL___97 = 16384,
    MSG_MORE___97 = 32768,
    MSG_WAITFORONE___97 = 65536,
    MSG_BATCH___97 = 262144,
    MSG_ZEROCOPY___97 = 67108864,
    MSG_FASTOPEN___97 = 536870912,
    MSG_CMSG_CLOEXEC___97 = 1073741824
} ;
enum __anonenum_617082774___97 {
    SCM_RIGHTS___97 = 1,
    SCM_CREDENTIALS___97 = 2
} ;
enum __anonenum_606441560___97 {
    SHUT_RD___97 = 0,
    SHUT_WR___97 = 1,
    SHUT_RDWR___97 = 2
} ;
enum __anonenum_681669233___97 {
    IPPROTO_IP___97 = 0,
    IPPROTO_ICMP___97 = 1,
    IPPROTO_IGMP___97 = 2,
    IPPROTO_IPIP___97 = 4,
    IPPROTO_TCP___97 = 6,
    IPPROTO_EGP___97 = 8,
    IPPROTO_PUP___97 = 12,
    IPPROTO_UDP___97 = 17,
    IPPROTO_IDP___97 = 22,
    IPPROTO_TP___97 = 29,
    IPPROTO_DCCP___97 = 33,
    IPPROTO_IPV6___97 = 41,
    IPPROTO_RSVP___97 = 46,
    IPPROTO_GRE___97 = 47,
    IPPROTO_ESP___97 = 50,
    IPPROTO_AH___97 = 51,
    IPPROTO_MTP___97 = 92,
    IPPROTO_BEETPH___97 = 94,
    IPPROTO_ENCAP___97 = 98,
    IPPROTO_PIM___97 = 103,
    IPPROTO_COMP___97 = 108,
    IPPROTO_SCTP___97 = 132,
    IPPROTO_UDPLITE___97 = 136,
    IPPROTO_MPLS___97 = 137,
    IPPROTO_RAW___97 = 255,
    IPPROTO_MAX___97 = 256
} ;
enum __anonenum_218739988___97 {
    IPPROTO_HOPOPTS___97 = 0,
    IPPROTO_ROUTING___97 = 43,
    IPPROTO_FRAGMENT___97 = 44,
    IPPROTO_ICMPV6___97 = 58,
    IPPROTO_NONE___97 = 59,
    IPPROTO_DSTOPTS___97 = 60,
    IPPROTO_MH___97 = 135
} ;
enum __anonenum_662268580___97 {
    IPPORT_ECHO___97 = 7,
    IPPORT_DISCARD___97 = 9,
    IPPORT_SYSTAT___97 = 11,
    IPPORT_DAYTIME___97 = 13,
    IPPORT_NETSTAT___97 = 15,
    IPPORT_FTP___97 = 21,
    IPPORT_TELNET___97 = 23,
    IPPORT_SMTP___97 = 25,
    IPPORT_TIMESERVER___97 = 37,
    IPPORT_NAMESERVER___97 = 42,
    IPPORT_WHOIS___97 = 43,
    IPPORT_MTP___97 = 57,
    IPPORT_TFTP___97 = 69,
    IPPORT_RJE___97 = 77,
    IPPORT_FINGER___97 = 79,
    IPPORT_TTYLINK___97 = 87,
    IPPORT_SUPDUP___97 = 95,
    IPPORT_EXECSERVER___97 = 512,
    IPPORT_LOGINSERVER___97 = 513,
    IPPORT_CMDSERVER___97 = 514,
    IPPORT_EFSSERVER___97 = 520,
    IPPORT_BIFFUDP___97 = 512,
    IPPORT_WHOSERVER___97 = 513,
    IPPORT_ROUTESERVER___97 = 520,
    IPPORT_RESERVED___97 = 1024,
    IPPORT_USERRESERVED___97 = 5000
} ;
enum __anonenum_788308992___97 {
    TCP_ESTABLISHED___97 = 1,
    TCP_SYN_SENT___97 = 2,
    TCP_SYN_RECV___97 = 3,
    TCP_FIN_WAIT1___97 = 4,
    TCP_FIN_WAIT2___97 = 5,
    TCP_TIME_WAIT___97 = 6,
    TCP_CLOSE___97 = 7,
    TCP_CLOSE_WAIT___97 = 8,
    TCP_LAST_ACK___97 = 9,
    TCP_LISTEN___97 = 10,
    TCP_CLOSING___97 = 11
} ;
enum __anonenum_221125648___97 {
    TCP_NO_QUEUE___97 = 0,
    TCP_RECV_QUEUE___97 = 1,
    TCP_SEND_QUEUE___97 = 2,
    TCP_QUEUES_NR___97 = 3
} ;
enum __anonenum_34415463___97 {
    PTHREAD_CREATE_JOINABLE___97 = 0,
    PTHREAD_CREATE_DETACHED___97 = 1
} ;
enum __anonenum_303612439___97 {
    PTHREAD_MUTEX_TIMED_NP___97 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___97 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___97 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___97 = 3,
    PTHREAD_MUTEX_NORMAL___97 = 0,
    PTHREAD_MUTEX_RECURSIVE___97 = 1,
    PTHREAD_MUTEX_ERRORCHECK___97 = 2,
    PTHREAD_MUTEX_DEFAULT___97 = 0,
    PTHREAD_MUTEX_FAST_NP___97 = 0
} ;
enum __anonenum_931900394___97 {
    PTHREAD_MUTEX_STALLED___97 = 0,
    PTHREAD_MUTEX_STALLED_NP___97 = 0,
    PTHREAD_MUTEX_ROBUST___97 = 1,
    PTHREAD_MUTEX_ROBUST_NP___97 = 1
} ;
enum __anonenum_205214487___97 {
    PTHREAD_PRIO_NONE___97 = 0,
    PTHREAD_PRIO_INHERIT___97 = 1,
    PTHREAD_PRIO_PROTECT___97 = 2
} ;
enum __anonenum_25043950___97 {
    PTHREAD_RWLOCK_PREFER_READER_NP___97 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___97 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___97 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___97 = 0
} ;
enum __anonenum_436439511___97 {
    PTHREAD_INHERIT_SCHED___97 = 0,
    PTHREAD_EXPLICIT_SCHED___97 = 1
} ;
enum __anonenum_998661166___97 {
    PTHREAD_SCOPE_SYSTEM___97 = 0,
    PTHREAD_SCOPE_PROCESS___97 = 1
} ;
enum __anonenum_146137331___97 {
    PTHREAD_PROCESS_PRIVATE___97 = 0,
    PTHREAD_PROCESS_SHARED___97 = 1
} ;
enum __anonenum_53396917___97 {
    PTHREAD_CANCEL_ENABLE___97 = 0,
    PTHREAD_CANCEL_DISABLE___97 = 1
} ;
enum __anonenum_904563783___97 {
    PTHREAD_CANCEL_DEFERRED___97 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___97 = 1
} ;
enum __anonenum_672052974___97 {
    SSL_CT_VALIDATION_PERMISSIVE___97 = 0,
    SSL_CT_VALIDATION_STRICT___97 = 1
} ;
struct mailmap_info {
   char *name ;
   char *email ;
};
struct mailmap_entry {
   char *name ;
   char *email ;
   struct string_list namemap ;
};
enum __anonenum_437032235___98 {
    _PC_LINK_MAX___98 = 0,
    _PC_MAX_CANON___98 = 1,
    _PC_MAX_INPUT___98 = 2,
    _PC_NAME_MAX___98 = 3,
    _PC_PATH_MAX___98 = 4,
    _PC_PIPE_BUF___98 = 5,
    _PC_CHOWN_RESTRICTED___98 = 6,
    _PC_NO_TRUNC___98 = 7,
    _PC_VDISABLE___98 = 8,
    _PC_SYNC_IO___98 = 9,
    _PC_ASYNC_IO___98 = 10,
    _PC_PRIO_IO___98 = 11,
    _PC_SOCK_MAXBUF___98 = 12,
    _PC_FILESIZEBITS___98 = 13,
    _PC_REC_INCR_XFER_SIZE___98 = 14,
    _PC_REC_MAX_XFER_SIZE___98 = 15,
    _PC_REC_MIN_XFER_SIZE___98 = 16,
    _PC_REC_XFER_ALIGN___98 = 17,
    _PC_ALLOC_SIZE_MIN___98 = 18,
    _PC_SYMLINK_MAX___98 = 19,
    _PC_2_SYMLINKS___98 = 20
} ;
enum __anonenum_315186338___98 {
    _SC_ARG_MAX___98 = 0,
    _SC_CHILD_MAX___98 = 1,
    _SC_CLK_TCK___98 = 2,
    _SC_NGROUPS_MAX___98 = 3,
    _SC_OPEN_MAX___98 = 4,
    _SC_STREAM_MAX___98 = 5,
    _SC_TZNAME_MAX___98 = 6,
    _SC_JOB_CONTROL___98 = 7,
    _SC_SAVED_IDS___98 = 8,
    _SC_REALTIME_SIGNALS___98 = 9,
    _SC_PRIORITY_SCHEDULING___98 = 10,
    _SC_TIMERS___98 = 11,
    _SC_ASYNCHRONOUS_IO___98 = 12,
    _SC_PRIORITIZED_IO___98 = 13,
    _SC_SYNCHRONIZED_IO___98 = 14,
    _SC_FSYNC___98 = 15,
    _SC_MAPPED_FILES___98 = 16,
    _SC_MEMLOCK___98 = 17,
    _SC_MEMLOCK_RANGE___98 = 18,
    _SC_MEMORY_PROTECTION___98 = 19,
    _SC_MESSAGE_PASSING___98 = 20,
    _SC_SEMAPHORES___98 = 21,
    _SC_SHARED_MEMORY_OBJECTS___98 = 22,
    _SC_AIO_LISTIO_MAX___98 = 23,
    _SC_AIO_MAX___98 = 24,
    _SC_AIO_PRIO_DELTA_MAX___98 = 25,
    _SC_DELAYTIMER_MAX___98 = 26,
    _SC_MQ_OPEN_MAX___98 = 27,
    _SC_MQ_PRIO_MAX___98 = 28,
    _SC_VERSION___98 = 29,
    _SC_PAGESIZE___98 = 30,
    _SC_RTSIG_MAX___98 = 31,
    _SC_SEM_NSEMS_MAX___98 = 32,
    _SC_SEM_VALUE_MAX___98 = 33,
    _SC_SIGQUEUE_MAX___98 = 34,
    _SC_TIMER_MAX___98 = 35,
    _SC_BC_BASE_MAX___98 = 36,
    _SC_BC_DIM_MAX___98 = 37,
    _SC_BC_SCALE_MAX___98 = 38,
    _SC_BC_STRING_MAX___98 = 39,
    _SC_COLL_WEIGHTS_MAX___98 = 40,
    _SC_EQUIV_CLASS_MAX___98 = 41,
    _SC_EXPR_NEST_MAX___98 = 42,
    _SC_LINE_MAX___98 = 43,
    _SC_RE_DUP_MAX___98 = 44,
    _SC_CHARCLASS_NAME_MAX___98 = 45,
    _SC_2_VERSION___98 = 46,
    _SC_2_C_BIND___98 = 47,
    _SC_2_C_DEV___98 = 48,
    _SC_2_FORT_DEV___98 = 49,
    _SC_2_FORT_RUN___98 = 50,
    _SC_2_SW_DEV___98 = 51,
    _SC_2_LOCALEDEF___98 = 52,
    _SC_PII___98 = 53,
    _SC_PII_XTI___98 = 54,
    _SC_PII_SOCKET___98 = 55,
    _SC_PII_INTERNET___98 = 56,
    _SC_PII_OSI___98 = 57,
    _SC_POLL___98 = 58,
    _SC_SELECT___98 = 59,
    _SC_UIO_MAXIOV___98 = 60,
    _SC_IOV_MAX___98 = 60,
    _SC_PII_INTERNET_STREAM___98 = 61,
    _SC_PII_INTERNET_DGRAM___98 = 62,
    _SC_PII_OSI_COTS___98 = 63,
    _SC_PII_OSI_CLTS___98 = 64,
    _SC_PII_OSI_M___98 = 65,
    _SC_T_IOV_MAX___98 = 66,
    _SC_THREADS___98 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___98 = 68,
    _SC_GETGR_R_SIZE_MAX___98 = 69,
    _SC_GETPW_R_SIZE_MAX___98 = 70,
    _SC_LOGIN_NAME_MAX___98 = 71,
    _SC_TTY_NAME_MAX___98 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___98 = 73,
    _SC_THREAD_KEYS_MAX___98 = 74,
    _SC_THREAD_STACK_MIN___98 = 75,
    _SC_THREAD_THREADS_MAX___98 = 76,
    _SC_THREAD_ATTR_STACKADDR___98 = 77,
    _SC_THREAD_ATTR_STACKSIZE___98 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___98 = 79,
    _SC_THREAD_PRIO_INHERIT___98 = 80,
    _SC_THREAD_PRIO_PROTECT___98 = 81,
    _SC_THREAD_PROCESS_SHARED___98 = 82,
    _SC_NPROCESSORS_CONF___98 = 83,
    _SC_NPROCESSORS_ONLN___98 = 84,
    _SC_PHYS_PAGES___98 = 85,
    _SC_AVPHYS_PAGES___98 = 86,
    _SC_ATEXIT_MAX___98 = 87,
    _SC_PASS_MAX___98 = 88,
    _SC_XOPEN_VERSION___98 = 89,
    _SC_XOPEN_XCU_VERSION___98 = 90,
    _SC_XOPEN_UNIX___98 = 91,
    _SC_XOPEN_CRYPT___98 = 92,
    _SC_XOPEN_ENH_I18N___98 = 93,
    _SC_XOPEN_SHM___98 = 94,
    _SC_2_CHAR_TERM___98 = 95,
    _SC_2_C_VERSION___98 = 96,
    _SC_2_UPE___98 = 97,
    _SC_XOPEN_XPG2___98 = 98,
    _SC_XOPEN_XPG3___98 = 99,
    _SC_XOPEN_XPG4___98 = 100,
    _SC_CHAR_BIT___98 = 101,
    _SC_CHAR_MAX___98 = 102,
    _SC_CHAR_MIN___98 = 103,
    _SC_INT_MAX___98 = 104,
    _SC_INT_MIN___98 = 105,
    _SC_LONG_BIT___98 = 106,
    _SC_WORD_BIT___98 = 107,
    _SC_MB_LEN_MAX___98 = 108,
    _SC_NZERO___98 = 109,
    _SC_SSIZE_MAX___98 = 110,
    _SC_SCHAR_MAX___98 = 111,
    _SC_SCHAR_MIN___98 = 112,
    _SC_SHRT_MAX___98 = 113,
    _SC_SHRT_MIN___98 = 114,
    _SC_UCHAR_MAX___98 = 115,
    _SC_UINT_MAX___98 = 116,
    _SC_ULONG_MAX___98 = 117,
    _SC_USHRT_MAX___98 = 118,
    _SC_NL_ARGMAX___98 = 119,
    _SC_NL_LANGMAX___98 = 120,
    _SC_NL_MSGMAX___98 = 121,
    _SC_NL_NMAX___98 = 122,
    _SC_NL_SETMAX___98 = 123,
    _SC_NL_TEXTMAX___98 = 124,
    _SC_XBS5_ILP32_OFF32___98 = 125,
    _SC_XBS5_ILP32_OFFBIG___98 = 126,
    _SC_XBS5_LP64_OFF64___98 = 127,
    _SC_XBS5_LPBIG_OFFBIG___98 = 128,
    _SC_XOPEN_LEGACY___98 = 129,
    _SC_XOPEN_REALTIME___98 = 130,
    _SC_XOPEN_REALTIME_THREADS___98 = 131,
    _SC_ADVISORY_INFO___98 = 132,
    _SC_BARRIERS___98 = 133,
    _SC_BASE___98 = 134,
    _SC_C_LANG_SUPPORT___98 = 135,
    _SC_C_LANG_SUPPORT_R___98 = 136,
    _SC_CLOCK_SELECTION___98 = 137,
    _SC_CPUTIME___98 = 138,
    _SC_THREAD_CPUTIME___98 = 139,
    _SC_DEVICE_IO___98 = 140,
    _SC_DEVICE_SPECIFIC___98 = 141,
    _SC_DEVICE_SPECIFIC_R___98 = 142,
    _SC_FD_MGMT___98 = 143,
    _SC_FIFO___98 = 144,
    _SC_PIPE___98 = 145,
    _SC_FILE_ATTRIBUTES___98 = 146,
    _SC_FILE_LOCKING___98 = 147,
    _SC_FILE_SYSTEM___98 = 148,
    _SC_MONOTONIC_CLOCK___98 = 149,
    _SC_MULTI_PROCESS___98 = 150,
    _SC_SINGLE_PROCESS___98 = 151,
    _SC_NETWORKING___98 = 152,
    _SC_READER_WRITER_LOCKS___98 = 153,
    _SC_SPIN_LOCKS___98 = 154,
    _SC_REGEXP___98 = 155,
    _SC_REGEX_VERSION___98 = 156,
    _SC_SHELL___98 = 157,
    _SC_SIGNALS___98 = 158,
    _SC_SPAWN___98 = 159,
    _SC_SPORADIC_SERVER___98 = 160,
    _SC_THREAD_SPORADIC_SERVER___98 = 161,
    _SC_SYSTEM_DATABASE___98 = 162,
    _SC_SYSTEM_DATABASE_R___98 = 163,
    _SC_TIMEOUTS___98 = 164,
    _SC_TYPED_MEMORY_OBJECTS___98 = 165,
    _SC_USER_GROUPS___98 = 166,
    _SC_USER_GROUPS_R___98 = 167,
    _SC_2_PBS___98 = 168,
    _SC_2_PBS_ACCOUNTING___98 = 169,
    _SC_2_PBS_LOCATE___98 = 170,
    _SC_2_PBS_MESSAGE___98 = 171,
    _SC_2_PBS_TRACK___98 = 172,
    _SC_SYMLOOP_MAX___98 = 173,
    _SC_STREAMS___98 = 174,
    _SC_2_PBS_CHECKPOINT___98 = 175,
    _SC_V6_ILP32_OFF32___98 = 176,
    _SC_V6_ILP32_OFFBIG___98 = 177,
    _SC_V6_LP64_OFF64___98 = 178,
    _SC_V6_LPBIG_OFFBIG___98 = 179,
    _SC_HOST_NAME_MAX___98 = 180,
    _SC_TRACE___98 = 181,
    _SC_TRACE_EVENT_FILTER___98 = 182,
    _SC_TRACE_INHERIT___98 = 183,
    _SC_TRACE_LOG___98 = 184,
    _SC_LEVEL1_ICACHE_SIZE___98 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___98 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___98 = 187,
    _SC_LEVEL1_DCACHE_SIZE___98 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___98 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___98 = 190,
    _SC_LEVEL2_CACHE_SIZE___98 = 191,
    _SC_LEVEL2_CACHE_ASSOC___98 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___98 = 193,
    _SC_LEVEL3_CACHE_SIZE___98 = 194,
    _SC_LEVEL3_CACHE_ASSOC___98 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___98 = 196,
    _SC_LEVEL4_CACHE_SIZE___98 = 197,
    _SC_LEVEL4_CACHE_ASSOC___98 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___98 = 199,
    _SC_IPV6___98 = 235,
    _SC_RAW_SOCKETS___98 = 236,
    _SC_V7_ILP32_OFF32___98 = 237,
    _SC_V7_ILP32_OFFBIG___98 = 238,
    _SC_V7_LP64_OFF64___98 = 239,
    _SC_V7_LPBIG_OFFBIG___98 = 240,
    _SC_SS_REPL_MAX___98 = 241,
    _SC_TRACE_EVENT_NAME_MAX___98 = 242,
    _SC_TRACE_NAME_MAX___98 = 243,
    _SC_TRACE_SYS_MAX___98 = 244,
    _SC_TRACE_USER_EVENT_MAX___98 = 245,
    _SC_XOPEN_STREAMS___98 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___98 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___98 = 248
} ;
enum __anonenum_875524036___98 {
    _CS_PATH___98 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___98 = 1,
    _CS_GNU_LIBC_VERSION___98 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___98 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___98 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___98 = 5,
    _CS_LFS_CFLAGS___98 = 1000,
    _CS_LFS_LDFLAGS___98 = 1001,
    _CS_LFS_LIBS___98 = 1002,
    _CS_LFS_LINTFLAGS___98 = 1003,
    _CS_LFS64_CFLAGS___98 = 1004,
    _CS_LFS64_LDFLAGS___98 = 1005,
    _CS_LFS64_LIBS___98 = 1006,
    _CS_LFS64_LINTFLAGS___98 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___98 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___98 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___98 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___98 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___98 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___98 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___98 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___98 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___98 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___98 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___98 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___98 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___98 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___98 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___98 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___98 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___98 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___98 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___98 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___98 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___98 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___98 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___98 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___98 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___98 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___98 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___98 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___98 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___98 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___98 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___98 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___98 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___98 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___98 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___98 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___98 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___98 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___98 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___98 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___98 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___98 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___98 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___98 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___98 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___98 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___98 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___98 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___98 = 1147,
    _CS_V6_ENV___98 = 1148,
    _CS_V7_ENV___98 = 1149
} ;
enum __anonenum_513775621___98 {
    DT_UNKNOWN___98 = 0,
    DT_FIFO___98 = 1,
    DT_CHR___98 = 2,
    DT_DIR___98 = 4,
    DT_BLK___98 = 6,
    DT_REG___98 = 8,
    DT_LNK___98 = 10,
    DT_SOCK___98 = 12,
    DT_WHT___98 = 14
} ;
enum __anonenum_77002343___98 {
    SI_ASYNCNL___98 = -60,
    SI_TKILL___98 = -6,
    SI_SIGIO___98 = -5,
    SI_ASYNCIO___98 = -4,
    SI_MESGQ___98 = -3,
    SI_TIMER___98 = -2,
    SI_QUEUE___98 = -1,
    SI_USER___98 = 0,
    SI_KERNEL___98 = 128
} ;
enum __anonenum_131038172___98 {
    ILL_ILLOPC___98 = 1,
    ILL_ILLOPN___98 = 2,
    ILL_ILLADR___98 = 3,
    ILL_ILLTRP___98 = 4,
    ILL_PRVOPC___98 = 5,
    ILL_PRVREG___98 = 6,
    ILL_COPROC___98 = 7,
    ILL_BADSTK___98 = 8
} ;
enum __anonenum_452038093___98 {
    FPE_INTDIV___98 = 1,
    FPE_INTOVF___98 = 2,
    FPE_FLTDIV___98 = 3,
    FPE_FLTOVF___98 = 4,
    FPE_FLTUND___98 = 5,
    FPE_FLTRES___98 = 6,
    FPE_FLTINV___98 = 7,
    FPE_FLTSUB___98 = 8
} ;
enum __anonenum_30976155___98 {
    SEGV_MAPERR___98 = 1,
    SEGV_ACCERR___98 = 2,
    SEGV_BNDERR___98 = 3,
    SEGV_PKUERR___98 = 4
} ;
enum __anonenum_1036286214___98 {
    BUS_ADRALN___98 = 1,
    BUS_ADRERR___98 = 2,
    BUS_OBJERR___98 = 3,
    BUS_MCEERR_AR___98 = 4,
    BUS_MCEERR_AO___98 = 5
} ;
enum __anonenum_493465559___98 {
    TRAP_BRKPT___98 = 1,
    TRAP_TRACE___98 = 2
} ;
enum __anonenum_23175539___98 {
    CLD_EXITED___98 = 1,
    CLD_KILLED___98 = 2,
    CLD_DUMPED___98 = 3,
    CLD_TRAPPED___98 = 4,
    CLD_STOPPED___98 = 5,
    CLD_CONTINUED___98 = 6
} ;
enum __anonenum_111643124___98 {
    POLL_IN___98 = 1,
    POLL_OUT___98 = 2,
    POLL_MSG___98 = 3,
    POLL_ERR___98 = 4,
    POLL_PRI___98 = 5,
    POLL_HUP___98 = 6
} ;
enum __anonenum_852341087___98 {
    SIGEV_SIGNAL___98 = 0,
    SIGEV_NONE___98 = 1,
    SIGEV_THREAD___98 = 2,
    SIGEV_THREAD_ID___98 = 4
} ;
enum __anonenum_451154152___98 {
    REG_R8___98 = 0,
    REG_R9___98 = 1,
    REG_R10___98 = 2,
    REG_R11___98 = 3,
    REG_R12___98 = 4,
    REG_R13___98 = 5,
    REG_R14___98 = 6,
    REG_R15___98 = 7,
    REG_RDI___98 = 8,
    REG_RSI___98 = 9,
    REG_RBP___98 = 10,
    REG_RBX___98 = 11,
    REG_RDX___98 = 12,
    REG_RAX___98 = 13,
    REG_RCX___98 = 14,
    REG_RSP___98 = 15,
    REG_RIP___98 = 16,
    REG_EFL___98 = 17,
    REG_CSGSFS___98 = 18,
    REG_ERR___98 = 19,
    REG_TRAPNO___98 = 20,
    REG_OLDMASK___98 = 21,
    REG_CR2___98 = 22
} ;
enum __anonenum_57186863___98 {
    SS_ONSTACK___98 = 1,
    SS_DISABLE___98 = 2
} ;
enum __anonenum_83571709___98 {
    MSG_OOB___98 = 1,
    MSG_PEEK___98 = 2,
    MSG_DONTROUTE___98 = 4,
    MSG_TRYHARD___98 = 4,
    MSG_CTRUNC___98 = 8,
    MSG_PROXY___98 = 16,
    MSG_TRUNC___98 = 32,
    MSG_DONTWAIT___98 = 64,
    MSG_EOR___98 = 128,
    MSG_WAITALL___98 = 256,
    MSG_FIN___98 = 512,
    MSG_SYN___98 = 1024,
    MSG_CONFIRM___98 = 2048,
    MSG_RST___98 = 4096,
    MSG_ERRQUEUE___98 = 8192,
    MSG_NOSIGNAL___98 = 16384,
    MSG_MORE___98 = 32768,
    MSG_WAITFORONE___98 = 65536,
    MSG_BATCH___98 = 262144,
    MSG_ZEROCOPY___98 = 67108864,
    MSG_FASTOPEN___98 = 536870912,
    MSG_CMSG_CLOEXEC___98 = 1073741824
} ;
enum __anonenum_617082774___98 {
    SCM_RIGHTS___98 = 1,
    SCM_CREDENTIALS___98 = 2
} ;
enum __anonenum_606441560___98 {
    SHUT_RD___98 = 0,
    SHUT_WR___98 = 1,
    SHUT_RDWR___98 = 2
} ;
enum __anonenum_681669233___98 {
    IPPROTO_IP___98 = 0,
    IPPROTO_ICMP___98 = 1,
    IPPROTO_IGMP___98 = 2,
    IPPROTO_IPIP___98 = 4,
    IPPROTO_TCP___98 = 6,
    IPPROTO_EGP___98 = 8,
    IPPROTO_PUP___98 = 12,
    IPPROTO_UDP___98 = 17,
    IPPROTO_IDP___98 = 22,
    IPPROTO_TP___98 = 29,
    IPPROTO_DCCP___98 = 33,
    IPPROTO_IPV6___98 = 41,
    IPPROTO_RSVP___98 = 46,
    IPPROTO_GRE___98 = 47,
    IPPROTO_ESP___98 = 50,
    IPPROTO_AH___98 = 51,
    IPPROTO_MTP___98 = 92,
    IPPROTO_BEETPH___98 = 94,
    IPPROTO_ENCAP___98 = 98,
    IPPROTO_PIM___98 = 103,
    IPPROTO_COMP___98 = 108,
    IPPROTO_SCTP___98 = 132,
    IPPROTO_UDPLITE___98 = 136,
    IPPROTO_MPLS___98 = 137,
    IPPROTO_RAW___98 = 255,
    IPPROTO_MAX___98 = 256
} ;
enum __anonenum_218739988___98 {
    IPPROTO_HOPOPTS___98 = 0,
    IPPROTO_ROUTING___98 = 43,
    IPPROTO_FRAGMENT___98 = 44,
    IPPROTO_ICMPV6___98 = 58,
    IPPROTO_NONE___98 = 59,
    IPPROTO_DSTOPTS___98 = 60,
    IPPROTO_MH___98 = 135
} ;
enum __anonenum_662268580___98 {
    IPPORT_ECHO___98 = 7,
    IPPORT_DISCARD___98 = 9,
    IPPORT_SYSTAT___98 = 11,
    IPPORT_DAYTIME___98 = 13,
    IPPORT_NETSTAT___98 = 15,
    IPPORT_FTP___98 = 21,
    IPPORT_TELNET___98 = 23,
    IPPORT_SMTP___98 = 25,
    IPPORT_TIMESERVER___98 = 37,
    IPPORT_NAMESERVER___98 = 42,
    IPPORT_WHOIS___98 = 43,
    IPPORT_MTP___98 = 57,
    IPPORT_TFTP___98 = 69,
    IPPORT_RJE___98 = 77,
    IPPORT_FINGER___98 = 79,
    IPPORT_TTYLINK___98 = 87,
    IPPORT_SUPDUP___98 = 95,
    IPPORT_EXECSERVER___98 = 512,
    IPPORT_LOGINSERVER___98 = 513,
    IPPORT_CMDSERVER___98 = 514,
    IPPORT_EFSSERVER___98 = 520,
    IPPORT_BIFFUDP___98 = 512,
    IPPORT_WHOSERVER___98 = 513,
    IPPORT_ROUTESERVER___98 = 520,
    IPPORT_RESERVED___98 = 1024,
    IPPORT_USERRESERVED___98 = 5000
} ;
enum __anonenum_788308992___98 {
    TCP_ESTABLISHED___98 = 1,
    TCP_SYN_SENT___98 = 2,
    TCP_SYN_RECV___98 = 3,
    TCP_FIN_WAIT1___98 = 4,
    TCP_FIN_WAIT2___98 = 5,
    TCP_TIME_WAIT___98 = 6,
    TCP_CLOSE___98 = 7,
    TCP_CLOSE_WAIT___98 = 8,
    TCP_LAST_ACK___98 = 9,
    TCP_LISTEN___98 = 10,
    TCP_CLOSING___98 = 11
} ;
enum __anonenum_221125648___98 {
    TCP_NO_QUEUE___98 = 0,
    TCP_RECV_QUEUE___98 = 1,
    TCP_SEND_QUEUE___98 = 2,
    TCP_QUEUES_NR___98 = 3
} ;
enum __anonenum_34415463___98 {
    PTHREAD_CREATE_JOINABLE___98 = 0,
    PTHREAD_CREATE_DETACHED___98 = 1
} ;
enum __anonenum_303612439___98 {
    PTHREAD_MUTEX_TIMED_NP___98 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___98 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___98 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___98 = 3,
    PTHREAD_MUTEX_NORMAL___98 = 0,
    PTHREAD_MUTEX_RECURSIVE___98 = 1,
    PTHREAD_MUTEX_ERRORCHECK___98 = 2,
    PTHREAD_MUTEX_DEFAULT___98 = 0,
    PTHREAD_MUTEX_FAST_NP___98 = 0
} ;
enum __anonenum_931900394___98 {
    PTHREAD_MUTEX_STALLED___98 = 0,
    PTHREAD_MUTEX_STALLED_NP___98 = 0,
    PTHREAD_MUTEX_ROBUST___98 = 1,
    PTHREAD_MUTEX_ROBUST_NP___98 = 1
} ;
enum __anonenum_205214487___98 {
    PTHREAD_PRIO_NONE___98 = 0,
    PTHREAD_PRIO_INHERIT___98 = 1,
    PTHREAD_PRIO_PROTECT___98 = 2
} ;
enum __anonenum_25043950___98 {
    PTHREAD_RWLOCK_PREFER_READER_NP___98 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___98 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___98 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___98 = 0
} ;
enum __anonenum_436439511___98 {
    PTHREAD_INHERIT_SCHED___98 = 0,
    PTHREAD_EXPLICIT_SCHED___98 = 1
} ;
enum __anonenum_998661166___98 {
    PTHREAD_SCOPE_SYSTEM___98 = 0,
    PTHREAD_SCOPE_PROCESS___98 = 1
} ;
enum __anonenum_146137331___98 {
    PTHREAD_PROCESS_PRIVATE___98 = 0,
    PTHREAD_PROCESS_SHARED___98 = 1
} ;
enum __anonenum_53396917___98 {
    PTHREAD_CANCEL_ENABLE___98 = 0,
    PTHREAD_CANCEL_DISABLE___98 = 1
} ;
enum __anonenum_904563783___98 {
    PTHREAD_CANCEL_DEFERRED___98 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___98 = 1
} ;
enum __anonenum_672052974___98 {
    SSL_CT_VALIDATION_PERMISSIVE___98 = 0,
    SSL_CT_VALIDATION_STRICT___98 = 1
} ;
enum __anonenum_437032235___99 {
    _PC_LINK_MAX___99 = 0,
    _PC_MAX_CANON___99 = 1,
    _PC_MAX_INPUT___99 = 2,
    _PC_NAME_MAX___99 = 3,
    _PC_PATH_MAX___99 = 4,
    _PC_PIPE_BUF___99 = 5,
    _PC_CHOWN_RESTRICTED___99 = 6,
    _PC_NO_TRUNC___99 = 7,
    _PC_VDISABLE___99 = 8,
    _PC_SYNC_IO___99 = 9,
    _PC_ASYNC_IO___99 = 10,
    _PC_PRIO_IO___99 = 11,
    _PC_SOCK_MAXBUF___99 = 12,
    _PC_FILESIZEBITS___99 = 13,
    _PC_REC_INCR_XFER_SIZE___99 = 14,
    _PC_REC_MAX_XFER_SIZE___99 = 15,
    _PC_REC_MIN_XFER_SIZE___99 = 16,
    _PC_REC_XFER_ALIGN___99 = 17,
    _PC_ALLOC_SIZE_MIN___99 = 18,
    _PC_SYMLINK_MAX___99 = 19,
    _PC_2_SYMLINKS___99 = 20
} ;
enum __anonenum_315186338___99 {
    _SC_ARG_MAX___99 = 0,
    _SC_CHILD_MAX___99 = 1,
    _SC_CLK_TCK___99 = 2,
    _SC_NGROUPS_MAX___99 = 3,
    _SC_OPEN_MAX___99 = 4,
    _SC_STREAM_MAX___99 = 5,
    _SC_TZNAME_MAX___99 = 6,
    _SC_JOB_CONTROL___99 = 7,
    _SC_SAVED_IDS___99 = 8,
    _SC_REALTIME_SIGNALS___99 = 9,
    _SC_PRIORITY_SCHEDULING___99 = 10,
    _SC_TIMERS___99 = 11,
    _SC_ASYNCHRONOUS_IO___99 = 12,
    _SC_PRIORITIZED_IO___99 = 13,
    _SC_SYNCHRONIZED_IO___99 = 14,
    _SC_FSYNC___99 = 15,
    _SC_MAPPED_FILES___99 = 16,
    _SC_MEMLOCK___99 = 17,
    _SC_MEMLOCK_RANGE___99 = 18,
    _SC_MEMORY_PROTECTION___99 = 19,
    _SC_MESSAGE_PASSING___99 = 20,
    _SC_SEMAPHORES___99 = 21,
    _SC_SHARED_MEMORY_OBJECTS___99 = 22,
    _SC_AIO_LISTIO_MAX___99 = 23,
    _SC_AIO_MAX___99 = 24,
    _SC_AIO_PRIO_DELTA_MAX___99 = 25,
    _SC_DELAYTIMER_MAX___99 = 26,
    _SC_MQ_OPEN_MAX___99 = 27,
    _SC_MQ_PRIO_MAX___99 = 28,
    _SC_VERSION___99 = 29,
    _SC_PAGESIZE___99 = 30,
    _SC_RTSIG_MAX___99 = 31,
    _SC_SEM_NSEMS_MAX___99 = 32,
    _SC_SEM_VALUE_MAX___99 = 33,
    _SC_SIGQUEUE_MAX___99 = 34,
    _SC_TIMER_MAX___99 = 35,
    _SC_BC_BASE_MAX___99 = 36,
    _SC_BC_DIM_MAX___99 = 37,
    _SC_BC_SCALE_MAX___99 = 38,
    _SC_BC_STRING_MAX___99 = 39,
    _SC_COLL_WEIGHTS_MAX___99 = 40,
    _SC_EQUIV_CLASS_MAX___99 = 41,
    _SC_EXPR_NEST_MAX___99 = 42,
    _SC_LINE_MAX___99 = 43,
    _SC_RE_DUP_MAX___99 = 44,
    _SC_CHARCLASS_NAME_MAX___99 = 45,
    _SC_2_VERSION___99 = 46,
    _SC_2_C_BIND___99 = 47,
    _SC_2_C_DEV___99 = 48,
    _SC_2_FORT_DEV___99 = 49,
    _SC_2_FORT_RUN___99 = 50,
    _SC_2_SW_DEV___99 = 51,
    _SC_2_LOCALEDEF___99 = 52,
    _SC_PII___99 = 53,
    _SC_PII_XTI___99 = 54,
    _SC_PII_SOCKET___99 = 55,
    _SC_PII_INTERNET___99 = 56,
    _SC_PII_OSI___99 = 57,
    _SC_POLL___99 = 58,
    _SC_SELECT___99 = 59,
    _SC_UIO_MAXIOV___99 = 60,
    _SC_IOV_MAX___99 = 60,
    _SC_PII_INTERNET_STREAM___99 = 61,
    _SC_PII_INTERNET_DGRAM___99 = 62,
    _SC_PII_OSI_COTS___99 = 63,
    _SC_PII_OSI_CLTS___99 = 64,
    _SC_PII_OSI_M___99 = 65,
    _SC_T_IOV_MAX___99 = 66,
    _SC_THREADS___99 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___99 = 68,
    _SC_GETGR_R_SIZE_MAX___99 = 69,
    _SC_GETPW_R_SIZE_MAX___99 = 70,
    _SC_LOGIN_NAME_MAX___99 = 71,
    _SC_TTY_NAME_MAX___99 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___99 = 73,
    _SC_THREAD_KEYS_MAX___99 = 74,
    _SC_THREAD_STACK_MIN___99 = 75,
    _SC_THREAD_THREADS_MAX___99 = 76,
    _SC_THREAD_ATTR_STACKADDR___99 = 77,
    _SC_THREAD_ATTR_STACKSIZE___99 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___99 = 79,
    _SC_THREAD_PRIO_INHERIT___99 = 80,
    _SC_THREAD_PRIO_PROTECT___99 = 81,
    _SC_THREAD_PROCESS_SHARED___99 = 82,
    _SC_NPROCESSORS_CONF___99 = 83,
    _SC_NPROCESSORS_ONLN___99 = 84,
    _SC_PHYS_PAGES___99 = 85,
    _SC_AVPHYS_PAGES___99 = 86,
    _SC_ATEXIT_MAX___99 = 87,
    _SC_PASS_MAX___99 = 88,
    _SC_XOPEN_VERSION___99 = 89,
    _SC_XOPEN_XCU_VERSION___99 = 90,
    _SC_XOPEN_UNIX___99 = 91,
    _SC_XOPEN_CRYPT___99 = 92,
    _SC_XOPEN_ENH_I18N___99 = 93,
    _SC_XOPEN_SHM___99 = 94,
    _SC_2_CHAR_TERM___99 = 95,
    _SC_2_C_VERSION___99 = 96,
    _SC_2_UPE___99 = 97,
    _SC_XOPEN_XPG2___99 = 98,
    _SC_XOPEN_XPG3___99 = 99,
    _SC_XOPEN_XPG4___99 = 100,
    _SC_CHAR_BIT___99 = 101,
    _SC_CHAR_MAX___99 = 102,
    _SC_CHAR_MIN___99 = 103,
    _SC_INT_MAX___99 = 104,
    _SC_INT_MIN___99 = 105,
    _SC_LONG_BIT___99 = 106,
    _SC_WORD_BIT___99 = 107,
    _SC_MB_LEN_MAX___99 = 108,
    _SC_NZERO___99 = 109,
    _SC_SSIZE_MAX___99 = 110,
    _SC_SCHAR_MAX___99 = 111,
    _SC_SCHAR_MIN___99 = 112,
    _SC_SHRT_MAX___99 = 113,
    _SC_SHRT_MIN___99 = 114,
    _SC_UCHAR_MAX___99 = 115,
    _SC_UINT_MAX___99 = 116,
    _SC_ULONG_MAX___99 = 117,
    _SC_USHRT_MAX___99 = 118,
    _SC_NL_ARGMAX___99 = 119,
    _SC_NL_LANGMAX___99 = 120,
    _SC_NL_MSGMAX___99 = 121,
    _SC_NL_NMAX___99 = 122,
    _SC_NL_SETMAX___99 = 123,
    _SC_NL_TEXTMAX___99 = 124,
    _SC_XBS5_ILP32_OFF32___99 = 125,
    _SC_XBS5_ILP32_OFFBIG___99 = 126,
    _SC_XBS5_LP64_OFF64___99 = 127,
    _SC_XBS5_LPBIG_OFFBIG___99 = 128,
    _SC_XOPEN_LEGACY___99 = 129,
    _SC_XOPEN_REALTIME___99 = 130,
    _SC_XOPEN_REALTIME_THREADS___99 = 131,
    _SC_ADVISORY_INFO___99 = 132,
    _SC_BARRIERS___99 = 133,
    _SC_BASE___99 = 134,
    _SC_C_LANG_SUPPORT___99 = 135,
    _SC_C_LANG_SUPPORT_R___99 = 136,
    _SC_CLOCK_SELECTION___99 = 137,
    _SC_CPUTIME___99 = 138,
    _SC_THREAD_CPUTIME___99 = 139,
    _SC_DEVICE_IO___99 = 140,
    _SC_DEVICE_SPECIFIC___99 = 141,
    _SC_DEVICE_SPECIFIC_R___99 = 142,
    _SC_FD_MGMT___99 = 143,
    _SC_FIFO___99 = 144,
    _SC_PIPE___99 = 145,
    _SC_FILE_ATTRIBUTES___99 = 146,
    _SC_FILE_LOCKING___99 = 147,
    _SC_FILE_SYSTEM___99 = 148,
    _SC_MONOTONIC_CLOCK___99 = 149,
    _SC_MULTI_PROCESS___99 = 150,
    _SC_SINGLE_PROCESS___99 = 151,
    _SC_NETWORKING___99 = 152,
    _SC_READER_WRITER_LOCKS___99 = 153,
    _SC_SPIN_LOCKS___99 = 154,
    _SC_REGEXP___99 = 155,
    _SC_REGEX_VERSION___99 = 156,
    _SC_SHELL___99 = 157,
    _SC_SIGNALS___99 = 158,
    _SC_SPAWN___99 = 159,
    _SC_SPORADIC_SERVER___99 = 160,
    _SC_THREAD_SPORADIC_SERVER___99 = 161,
    _SC_SYSTEM_DATABASE___99 = 162,
    _SC_SYSTEM_DATABASE_R___99 = 163,
    _SC_TIMEOUTS___99 = 164,
    _SC_TYPED_MEMORY_OBJECTS___99 = 165,
    _SC_USER_GROUPS___99 = 166,
    _SC_USER_GROUPS_R___99 = 167,
    _SC_2_PBS___99 = 168,
    _SC_2_PBS_ACCOUNTING___99 = 169,
    _SC_2_PBS_LOCATE___99 = 170,
    _SC_2_PBS_MESSAGE___99 = 171,
    _SC_2_PBS_TRACK___99 = 172,
    _SC_SYMLOOP_MAX___99 = 173,
    _SC_STREAMS___99 = 174,
    _SC_2_PBS_CHECKPOINT___99 = 175,
    _SC_V6_ILP32_OFF32___99 = 176,
    _SC_V6_ILP32_OFFBIG___99 = 177,
    _SC_V6_LP64_OFF64___99 = 178,
    _SC_V6_LPBIG_OFFBIG___99 = 179,
    _SC_HOST_NAME_MAX___99 = 180,
    _SC_TRACE___99 = 181,
    _SC_TRACE_EVENT_FILTER___99 = 182,
    _SC_TRACE_INHERIT___99 = 183,
    _SC_TRACE_LOG___99 = 184,
    _SC_LEVEL1_ICACHE_SIZE___99 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___99 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___99 = 187,
    _SC_LEVEL1_DCACHE_SIZE___99 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___99 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___99 = 190,
    _SC_LEVEL2_CACHE_SIZE___99 = 191,
    _SC_LEVEL2_CACHE_ASSOC___99 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___99 = 193,
    _SC_LEVEL3_CACHE_SIZE___99 = 194,
    _SC_LEVEL3_CACHE_ASSOC___99 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___99 = 196,
    _SC_LEVEL4_CACHE_SIZE___99 = 197,
    _SC_LEVEL4_CACHE_ASSOC___99 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___99 = 199,
    _SC_IPV6___99 = 235,
    _SC_RAW_SOCKETS___99 = 236,
    _SC_V7_ILP32_OFF32___99 = 237,
    _SC_V7_ILP32_OFFBIG___99 = 238,
    _SC_V7_LP64_OFF64___99 = 239,
    _SC_V7_LPBIG_OFFBIG___99 = 240,
    _SC_SS_REPL_MAX___99 = 241,
    _SC_TRACE_EVENT_NAME_MAX___99 = 242,
    _SC_TRACE_NAME_MAX___99 = 243,
    _SC_TRACE_SYS_MAX___99 = 244,
    _SC_TRACE_USER_EVENT_MAX___99 = 245,
    _SC_XOPEN_STREAMS___99 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___99 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___99 = 248
} ;
enum __anonenum_875524036___99 {
    _CS_PATH___99 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___99 = 1,
    _CS_GNU_LIBC_VERSION___99 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___99 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___99 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___99 = 5,
    _CS_LFS_CFLAGS___99 = 1000,
    _CS_LFS_LDFLAGS___99 = 1001,
    _CS_LFS_LIBS___99 = 1002,
    _CS_LFS_LINTFLAGS___99 = 1003,
    _CS_LFS64_CFLAGS___99 = 1004,
    _CS_LFS64_LDFLAGS___99 = 1005,
    _CS_LFS64_LIBS___99 = 1006,
    _CS_LFS64_LINTFLAGS___99 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___99 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___99 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___99 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___99 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___99 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___99 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___99 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___99 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___99 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___99 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___99 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___99 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___99 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___99 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___99 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___99 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___99 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___99 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___99 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___99 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___99 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___99 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___99 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___99 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___99 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___99 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___99 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___99 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___99 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___99 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___99 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___99 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___99 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___99 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___99 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___99 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___99 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___99 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___99 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___99 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___99 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___99 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___99 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___99 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___99 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___99 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___99 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___99 = 1147,
    _CS_V6_ENV___99 = 1148,
    _CS_V7_ENV___99 = 1149
} ;
enum __anonenum_513775621___99 {
    DT_UNKNOWN___99 = 0,
    DT_FIFO___99 = 1,
    DT_CHR___99 = 2,
    DT_DIR___99 = 4,
    DT_BLK___99 = 6,
    DT_REG___99 = 8,
    DT_LNK___99 = 10,
    DT_SOCK___99 = 12,
    DT_WHT___99 = 14
} ;
enum __anonenum_77002343___99 {
    SI_ASYNCNL___99 = -60,
    SI_TKILL___99 = -6,
    SI_SIGIO___99 = -5,
    SI_ASYNCIO___99 = -4,
    SI_MESGQ___99 = -3,
    SI_TIMER___99 = -2,
    SI_QUEUE___99 = -1,
    SI_USER___99 = 0,
    SI_KERNEL___99 = 128
} ;
enum __anonenum_131038172___99 {
    ILL_ILLOPC___99 = 1,
    ILL_ILLOPN___99 = 2,
    ILL_ILLADR___99 = 3,
    ILL_ILLTRP___99 = 4,
    ILL_PRVOPC___99 = 5,
    ILL_PRVREG___99 = 6,
    ILL_COPROC___99 = 7,
    ILL_BADSTK___99 = 8
} ;
enum __anonenum_452038093___99 {
    FPE_INTDIV___99 = 1,
    FPE_INTOVF___99 = 2,
    FPE_FLTDIV___99 = 3,
    FPE_FLTOVF___99 = 4,
    FPE_FLTUND___99 = 5,
    FPE_FLTRES___99 = 6,
    FPE_FLTINV___99 = 7,
    FPE_FLTSUB___99 = 8
} ;
enum __anonenum_30976155___99 {
    SEGV_MAPERR___99 = 1,
    SEGV_ACCERR___99 = 2,
    SEGV_BNDERR___99 = 3,
    SEGV_PKUERR___99 = 4
} ;
enum __anonenum_1036286214___99 {
    BUS_ADRALN___99 = 1,
    BUS_ADRERR___99 = 2,
    BUS_OBJERR___99 = 3,
    BUS_MCEERR_AR___99 = 4,
    BUS_MCEERR_AO___99 = 5
} ;
enum __anonenum_493465559___99 {
    TRAP_BRKPT___99 = 1,
    TRAP_TRACE___99 = 2
} ;
enum __anonenum_23175539___99 {
    CLD_EXITED___99 = 1,
    CLD_KILLED___99 = 2,
    CLD_DUMPED___99 = 3,
    CLD_TRAPPED___99 = 4,
    CLD_STOPPED___99 = 5,
    CLD_CONTINUED___99 = 6
} ;
enum __anonenum_111643124___99 {
    POLL_IN___99 = 1,
    POLL_OUT___99 = 2,
    POLL_MSG___99 = 3,
    POLL_ERR___99 = 4,
    POLL_PRI___99 = 5,
    POLL_HUP___99 = 6
} ;
enum __anonenum_852341087___99 {
    SIGEV_SIGNAL___99 = 0,
    SIGEV_NONE___99 = 1,
    SIGEV_THREAD___99 = 2,
    SIGEV_THREAD_ID___99 = 4
} ;
enum __anonenum_451154152___99 {
    REG_R8___99 = 0,
    REG_R9___99 = 1,
    REG_R10___99 = 2,
    REG_R11___99 = 3,
    REG_R12___99 = 4,
    REG_R13___99 = 5,
    REG_R14___99 = 6,
    REG_R15___99 = 7,
    REG_RDI___99 = 8,
    REG_RSI___99 = 9,
    REG_RBP___99 = 10,
    REG_RBX___99 = 11,
    REG_RDX___99 = 12,
    REG_RAX___99 = 13,
    REG_RCX___99 = 14,
    REG_RSP___99 = 15,
    REG_RIP___99 = 16,
    REG_EFL___99 = 17,
    REG_CSGSFS___99 = 18,
    REG_ERR___99 = 19,
    REG_TRAPNO___99 = 20,
    REG_OLDMASK___99 = 21,
    REG_CR2___99 = 22
} ;
enum __anonenum_57186863___99 {
    SS_ONSTACK___99 = 1,
    SS_DISABLE___99 = 2
} ;
enum __anonenum_83571709___99 {
    MSG_OOB___99 = 1,
    MSG_PEEK___99 = 2,
    MSG_DONTROUTE___99 = 4,
    MSG_TRYHARD___99 = 4,
    MSG_CTRUNC___99 = 8,
    MSG_PROXY___99 = 16,
    MSG_TRUNC___99 = 32,
    MSG_DONTWAIT___99 = 64,
    MSG_EOR___99 = 128,
    MSG_WAITALL___99 = 256,
    MSG_FIN___99 = 512,
    MSG_SYN___99 = 1024,
    MSG_CONFIRM___99 = 2048,
    MSG_RST___99 = 4096,
    MSG_ERRQUEUE___99 = 8192,
    MSG_NOSIGNAL___99 = 16384,
    MSG_MORE___99 = 32768,
    MSG_WAITFORONE___99 = 65536,
    MSG_BATCH___99 = 262144,
    MSG_ZEROCOPY___99 = 67108864,
    MSG_FASTOPEN___99 = 536870912,
    MSG_CMSG_CLOEXEC___99 = 1073741824
} ;
enum __anonenum_617082774___99 {
    SCM_RIGHTS___99 = 1,
    SCM_CREDENTIALS___99 = 2
} ;
enum __anonenum_606441560___99 {
    SHUT_RD___99 = 0,
    SHUT_WR___99 = 1,
    SHUT_RDWR___99 = 2
} ;
enum __anonenum_681669233___99 {
    IPPROTO_IP___99 = 0,
    IPPROTO_ICMP___99 = 1,
    IPPROTO_IGMP___99 = 2,
    IPPROTO_IPIP___99 = 4,
    IPPROTO_TCP___99 = 6,
    IPPROTO_EGP___99 = 8,
    IPPROTO_PUP___99 = 12,
    IPPROTO_UDP___99 = 17,
    IPPROTO_IDP___99 = 22,
    IPPROTO_TP___99 = 29,
    IPPROTO_DCCP___99 = 33,
    IPPROTO_IPV6___99 = 41,
    IPPROTO_RSVP___99 = 46,
    IPPROTO_GRE___99 = 47,
    IPPROTO_ESP___99 = 50,
    IPPROTO_AH___99 = 51,
    IPPROTO_MTP___99 = 92,
    IPPROTO_BEETPH___99 = 94,
    IPPROTO_ENCAP___99 = 98,
    IPPROTO_PIM___99 = 103,
    IPPROTO_COMP___99 = 108,
    IPPROTO_SCTP___99 = 132,
    IPPROTO_UDPLITE___99 = 136,
    IPPROTO_MPLS___99 = 137,
    IPPROTO_RAW___99 = 255,
    IPPROTO_MAX___99 = 256
} ;
enum __anonenum_218739988___99 {
    IPPROTO_HOPOPTS___99 = 0,
    IPPROTO_ROUTING___99 = 43,
    IPPROTO_FRAGMENT___99 = 44,
    IPPROTO_ICMPV6___99 = 58,
    IPPROTO_NONE___99 = 59,
    IPPROTO_DSTOPTS___99 = 60,
    IPPROTO_MH___99 = 135
} ;
enum __anonenum_662268580___99 {
    IPPORT_ECHO___99 = 7,
    IPPORT_DISCARD___99 = 9,
    IPPORT_SYSTAT___99 = 11,
    IPPORT_DAYTIME___99 = 13,
    IPPORT_NETSTAT___99 = 15,
    IPPORT_FTP___99 = 21,
    IPPORT_TELNET___99 = 23,
    IPPORT_SMTP___99 = 25,
    IPPORT_TIMESERVER___99 = 37,
    IPPORT_NAMESERVER___99 = 42,
    IPPORT_WHOIS___99 = 43,
    IPPORT_MTP___99 = 57,
    IPPORT_TFTP___99 = 69,
    IPPORT_RJE___99 = 77,
    IPPORT_FINGER___99 = 79,
    IPPORT_TTYLINK___99 = 87,
    IPPORT_SUPDUP___99 = 95,
    IPPORT_EXECSERVER___99 = 512,
    IPPORT_LOGINSERVER___99 = 513,
    IPPORT_CMDSERVER___99 = 514,
    IPPORT_EFSSERVER___99 = 520,
    IPPORT_BIFFUDP___99 = 512,
    IPPORT_WHOSERVER___99 = 513,
    IPPORT_ROUTESERVER___99 = 520,
    IPPORT_RESERVED___99 = 1024,
    IPPORT_USERRESERVED___99 = 5000
} ;
enum __anonenum_788308992___99 {
    TCP_ESTABLISHED___99 = 1,
    TCP_SYN_SENT___99 = 2,
    TCP_SYN_RECV___99 = 3,
    TCP_FIN_WAIT1___99 = 4,
    TCP_FIN_WAIT2___99 = 5,
    TCP_TIME_WAIT___99 = 6,
    TCP_CLOSE___99 = 7,
    TCP_CLOSE_WAIT___99 = 8,
    TCP_LAST_ACK___99 = 9,
    TCP_LISTEN___99 = 10,
    TCP_CLOSING___99 = 11
} ;
enum __anonenum_221125648___99 {
    TCP_NO_QUEUE___99 = 0,
    TCP_RECV_QUEUE___99 = 1,
    TCP_SEND_QUEUE___99 = 2,
    TCP_QUEUES_NR___99 = 3
} ;
enum __anonenum_34415463___99 {
    PTHREAD_CREATE_JOINABLE___99 = 0,
    PTHREAD_CREATE_DETACHED___99 = 1
} ;
enum __anonenum_303612439___99 {
    PTHREAD_MUTEX_TIMED_NP___99 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___99 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___99 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___99 = 3,
    PTHREAD_MUTEX_NORMAL___99 = 0,
    PTHREAD_MUTEX_RECURSIVE___99 = 1,
    PTHREAD_MUTEX_ERRORCHECK___99 = 2,
    PTHREAD_MUTEX_DEFAULT___99 = 0,
    PTHREAD_MUTEX_FAST_NP___99 = 0
} ;
enum __anonenum_931900394___99 {
    PTHREAD_MUTEX_STALLED___99 = 0,
    PTHREAD_MUTEX_STALLED_NP___99 = 0,
    PTHREAD_MUTEX_ROBUST___99 = 1,
    PTHREAD_MUTEX_ROBUST_NP___99 = 1
} ;
enum __anonenum_205214487___99 {
    PTHREAD_PRIO_NONE___99 = 0,
    PTHREAD_PRIO_INHERIT___99 = 1,
    PTHREAD_PRIO_PROTECT___99 = 2
} ;
enum __anonenum_25043950___99 {
    PTHREAD_RWLOCK_PREFER_READER_NP___99 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___99 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___99 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___99 = 0
} ;
enum __anonenum_436439511___99 {
    PTHREAD_INHERIT_SCHED___99 = 0,
    PTHREAD_EXPLICIT_SCHED___99 = 1
} ;
enum __anonenum_998661166___99 {
    PTHREAD_SCOPE_SYSTEM___99 = 0,
    PTHREAD_SCOPE_PROCESS___99 = 1
} ;
enum __anonenum_146137331___99 {
    PTHREAD_PROCESS_PRIVATE___99 = 0,
    PTHREAD_PROCESS_SHARED___99 = 1
} ;
enum __anonenum_53396917___99 {
    PTHREAD_CANCEL_ENABLE___99 = 0,
    PTHREAD_CANCEL_DISABLE___99 = 1
} ;
enum __anonenum_904563783___99 {
    PTHREAD_CANCEL_DEFERRED___99 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___99 = 1
} ;
enum __anonenum_672052974___99 {
    SSL_CT_VALIDATION_PERMISSIVE___99 = 0,
    SSL_CT_VALIDATION_STRICT___99 = 1
} ;
enum __anonenum_437032235___100 {
    _PC_LINK_MAX___100 = 0,
    _PC_MAX_CANON___100 = 1,
    _PC_MAX_INPUT___100 = 2,
    _PC_NAME_MAX___100 = 3,
    _PC_PATH_MAX___100 = 4,
    _PC_PIPE_BUF___100 = 5,
    _PC_CHOWN_RESTRICTED___100 = 6,
    _PC_NO_TRUNC___100 = 7,
    _PC_VDISABLE___100 = 8,
    _PC_SYNC_IO___100 = 9,
    _PC_ASYNC_IO___100 = 10,
    _PC_PRIO_IO___100 = 11,
    _PC_SOCK_MAXBUF___100 = 12,
    _PC_FILESIZEBITS___100 = 13,
    _PC_REC_INCR_XFER_SIZE___100 = 14,
    _PC_REC_MAX_XFER_SIZE___100 = 15,
    _PC_REC_MIN_XFER_SIZE___100 = 16,
    _PC_REC_XFER_ALIGN___100 = 17,
    _PC_ALLOC_SIZE_MIN___100 = 18,
    _PC_SYMLINK_MAX___100 = 19,
    _PC_2_SYMLINKS___100 = 20
} ;
enum __anonenum_315186338___100 {
    _SC_ARG_MAX___100 = 0,
    _SC_CHILD_MAX___100 = 1,
    _SC_CLK_TCK___100 = 2,
    _SC_NGROUPS_MAX___100 = 3,
    _SC_OPEN_MAX___100 = 4,
    _SC_STREAM_MAX___100 = 5,
    _SC_TZNAME_MAX___100 = 6,
    _SC_JOB_CONTROL___100 = 7,
    _SC_SAVED_IDS___100 = 8,
    _SC_REALTIME_SIGNALS___100 = 9,
    _SC_PRIORITY_SCHEDULING___100 = 10,
    _SC_TIMERS___100 = 11,
    _SC_ASYNCHRONOUS_IO___100 = 12,
    _SC_PRIORITIZED_IO___100 = 13,
    _SC_SYNCHRONIZED_IO___100 = 14,
    _SC_FSYNC___100 = 15,
    _SC_MAPPED_FILES___100 = 16,
    _SC_MEMLOCK___100 = 17,
    _SC_MEMLOCK_RANGE___100 = 18,
    _SC_MEMORY_PROTECTION___100 = 19,
    _SC_MESSAGE_PASSING___100 = 20,
    _SC_SEMAPHORES___100 = 21,
    _SC_SHARED_MEMORY_OBJECTS___100 = 22,
    _SC_AIO_LISTIO_MAX___100 = 23,
    _SC_AIO_MAX___100 = 24,
    _SC_AIO_PRIO_DELTA_MAX___100 = 25,
    _SC_DELAYTIMER_MAX___100 = 26,
    _SC_MQ_OPEN_MAX___100 = 27,
    _SC_MQ_PRIO_MAX___100 = 28,
    _SC_VERSION___100 = 29,
    _SC_PAGESIZE___100 = 30,
    _SC_RTSIG_MAX___100 = 31,
    _SC_SEM_NSEMS_MAX___100 = 32,
    _SC_SEM_VALUE_MAX___100 = 33,
    _SC_SIGQUEUE_MAX___100 = 34,
    _SC_TIMER_MAX___100 = 35,
    _SC_BC_BASE_MAX___100 = 36,
    _SC_BC_DIM_MAX___100 = 37,
    _SC_BC_SCALE_MAX___100 = 38,
    _SC_BC_STRING_MAX___100 = 39,
    _SC_COLL_WEIGHTS_MAX___100 = 40,
    _SC_EQUIV_CLASS_MAX___100 = 41,
    _SC_EXPR_NEST_MAX___100 = 42,
    _SC_LINE_MAX___100 = 43,
    _SC_RE_DUP_MAX___100 = 44,
    _SC_CHARCLASS_NAME_MAX___100 = 45,
    _SC_2_VERSION___100 = 46,
    _SC_2_C_BIND___100 = 47,
    _SC_2_C_DEV___100 = 48,
    _SC_2_FORT_DEV___100 = 49,
    _SC_2_FORT_RUN___100 = 50,
    _SC_2_SW_DEV___100 = 51,
    _SC_2_LOCALEDEF___100 = 52,
    _SC_PII___100 = 53,
    _SC_PII_XTI___100 = 54,
    _SC_PII_SOCKET___100 = 55,
    _SC_PII_INTERNET___100 = 56,
    _SC_PII_OSI___100 = 57,
    _SC_POLL___100 = 58,
    _SC_SELECT___100 = 59,
    _SC_UIO_MAXIOV___100 = 60,
    _SC_IOV_MAX___100 = 60,
    _SC_PII_INTERNET_STREAM___100 = 61,
    _SC_PII_INTERNET_DGRAM___100 = 62,
    _SC_PII_OSI_COTS___100 = 63,
    _SC_PII_OSI_CLTS___100 = 64,
    _SC_PII_OSI_M___100 = 65,
    _SC_T_IOV_MAX___100 = 66,
    _SC_THREADS___100 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___100 = 68,
    _SC_GETGR_R_SIZE_MAX___100 = 69,
    _SC_GETPW_R_SIZE_MAX___100 = 70,
    _SC_LOGIN_NAME_MAX___100 = 71,
    _SC_TTY_NAME_MAX___100 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___100 = 73,
    _SC_THREAD_KEYS_MAX___100 = 74,
    _SC_THREAD_STACK_MIN___100 = 75,
    _SC_THREAD_THREADS_MAX___100 = 76,
    _SC_THREAD_ATTR_STACKADDR___100 = 77,
    _SC_THREAD_ATTR_STACKSIZE___100 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___100 = 79,
    _SC_THREAD_PRIO_INHERIT___100 = 80,
    _SC_THREAD_PRIO_PROTECT___100 = 81,
    _SC_THREAD_PROCESS_SHARED___100 = 82,
    _SC_NPROCESSORS_CONF___100 = 83,
    _SC_NPROCESSORS_ONLN___100 = 84,
    _SC_PHYS_PAGES___100 = 85,
    _SC_AVPHYS_PAGES___100 = 86,
    _SC_ATEXIT_MAX___100 = 87,
    _SC_PASS_MAX___100 = 88,
    _SC_XOPEN_VERSION___100 = 89,
    _SC_XOPEN_XCU_VERSION___100 = 90,
    _SC_XOPEN_UNIX___100 = 91,
    _SC_XOPEN_CRYPT___100 = 92,
    _SC_XOPEN_ENH_I18N___100 = 93,
    _SC_XOPEN_SHM___100 = 94,
    _SC_2_CHAR_TERM___100 = 95,
    _SC_2_C_VERSION___100 = 96,
    _SC_2_UPE___100 = 97,
    _SC_XOPEN_XPG2___100 = 98,
    _SC_XOPEN_XPG3___100 = 99,
    _SC_XOPEN_XPG4___100 = 100,
    _SC_CHAR_BIT___100 = 101,
    _SC_CHAR_MAX___100 = 102,
    _SC_CHAR_MIN___100 = 103,
    _SC_INT_MAX___100 = 104,
    _SC_INT_MIN___100 = 105,
    _SC_LONG_BIT___100 = 106,
    _SC_WORD_BIT___100 = 107,
    _SC_MB_LEN_MAX___100 = 108,
    _SC_NZERO___100 = 109,
    _SC_SSIZE_MAX___100 = 110,
    _SC_SCHAR_MAX___100 = 111,
    _SC_SCHAR_MIN___100 = 112,
    _SC_SHRT_MAX___100 = 113,
    _SC_SHRT_MIN___100 = 114,
    _SC_UCHAR_MAX___100 = 115,
    _SC_UINT_MAX___100 = 116,
    _SC_ULONG_MAX___100 = 117,
    _SC_USHRT_MAX___100 = 118,
    _SC_NL_ARGMAX___100 = 119,
    _SC_NL_LANGMAX___100 = 120,
    _SC_NL_MSGMAX___100 = 121,
    _SC_NL_NMAX___100 = 122,
    _SC_NL_SETMAX___100 = 123,
    _SC_NL_TEXTMAX___100 = 124,
    _SC_XBS5_ILP32_OFF32___100 = 125,
    _SC_XBS5_ILP32_OFFBIG___100 = 126,
    _SC_XBS5_LP64_OFF64___100 = 127,
    _SC_XBS5_LPBIG_OFFBIG___100 = 128,
    _SC_XOPEN_LEGACY___100 = 129,
    _SC_XOPEN_REALTIME___100 = 130,
    _SC_XOPEN_REALTIME_THREADS___100 = 131,
    _SC_ADVISORY_INFO___100 = 132,
    _SC_BARRIERS___100 = 133,
    _SC_BASE___100 = 134,
    _SC_C_LANG_SUPPORT___100 = 135,
    _SC_C_LANG_SUPPORT_R___100 = 136,
    _SC_CLOCK_SELECTION___100 = 137,
    _SC_CPUTIME___100 = 138,
    _SC_THREAD_CPUTIME___100 = 139,
    _SC_DEVICE_IO___100 = 140,
    _SC_DEVICE_SPECIFIC___100 = 141,
    _SC_DEVICE_SPECIFIC_R___100 = 142,
    _SC_FD_MGMT___100 = 143,
    _SC_FIFO___100 = 144,
    _SC_PIPE___100 = 145,
    _SC_FILE_ATTRIBUTES___100 = 146,
    _SC_FILE_LOCKING___100 = 147,
    _SC_FILE_SYSTEM___100 = 148,
    _SC_MONOTONIC_CLOCK___100 = 149,
    _SC_MULTI_PROCESS___100 = 150,
    _SC_SINGLE_PROCESS___100 = 151,
    _SC_NETWORKING___100 = 152,
    _SC_READER_WRITER_LOCKS___100 = 153,
    _SC_SPIN_LOCKS___100 = 154,
    _SC_REGEXP___100 = 155,
    _SC_REGEX_VERSION___100 = 156,
    _SC_SHELL___100 = 157,
    _SC_SIGNALS___100 = 158,
    _SC_SPAWN___100 = 159,
    _SC_SPORADIC_SERVER___100 = 160,
    _SC_THREAD_SPORADIC_SERVER___100 = 161,
    _SC_SYSTEM_DATABASE___100 = 162,
    _SC_SYSTEM_DATABASE_R___100 = 163,
    _SC_TIMEOUTS___100 = 164,
    _SC_TYPED_MEMORY_OBJECTS___100 = 165,
    _SC_USER_GROUPS___100 = 166,
    _SC_USER_GROUPS_R___100 = 167,
    _SC_2_PBS___100 = 168,
    _SC_2_PBS_ACCOUNTING___100 = 169,
    _SC_2_PBS_LOCATE___100 = 170,
    _SC_2_PBS_MESSAGE___100 = 171,
    _SC_2_PBS_TRACK___100 = 172,
    _SC_SYMLOOP_MAX___100 = 173,
    _SC_STREAMS___100 = 174,
    _SC_2_PBS_CHECKPOINT___100 = 175,
    _SC_V6_ILP32_OFF32___100 = 176,
    _SC_V6_ILP32_OFFBIG___100 = 177,
    _SC_V6_LP64_OFF64___100 = 178,
    _SC_V6_LPBIG_OFFBIG___100 = 179,
    _SC_HOST_NAME_MAX___100 = 180,
    _SC_TRACE___100 = 181,
    _SC_TRACE_EVENT_FILTER___100 = 182,
    _SC_TRACE_INHERIT___100 = 183,
    _SC_TRACE_LOG___100 = 184,
    _SC_LEVEL1_ICACHE_SIZE___100 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___100 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___100 = 187,
    _SC_LEVEL1_DCACHE_SIZE___100 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___100 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___100 = 190,
    _SC_LEVEL2_CACHE_SIZE___100 = 191,
    _SC_LEVEL2_CACHE_ASSOC___100 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___100 = 193,
    _SC_LEVEL3_CACHE_SIZE___100 = 194,
    _SC_LEVEL3_CACHE_ASSOC___100 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___100 = 196,
    _SC_LEVEL4_CACHE_SIZE___100 = 197,
    _SC_LEVEL4_CACHE_ASSOC___100 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___100 = 199,
    _SC_IPV6___100 = 235,
    _SC_RAW_SOCKETS___100 = 236,
    _SC_V7_ILP32_OFF32___100 = 237,
    _SC_V7_ILP32_OFFBIG___100 = 238,
    _SC_V7_LP64_OFF64___100 = 239,
    _SC_V7_LPBIG_OFFBIG___100 = 240,
    _SC_SS_REPL_MAX___100 = 241,
    _SC_TRACE_EVENT_NAME_MAX___100 = 242,
    _SC_TRACE_NAME_MAX___100 = 243,
    _SC_TRACE_SYS_MAX___100 = 244,
    _SC_TRACE_USER_EVENT_MAX___100 = 245,
    _SC_XOPEN_STREAMS___100 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___100 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___100 = 248
} ;
enum __anonenum_875524036___100 {
    _CS_PATH___100 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___100 = 1,
    _CS_GNU_LIBC_VERSION___100 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___100 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___100 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___100 = 5,
    _CS_LFS_CFLAGS___100 = 1000,
    _CS_LFS_LDFLAGS___100 = 1001,
    _CS_LFS_LIBS___100 = 1002,
    _CS_LFS_LINTFLAGS___100 = 1003,
    _CS_LFS64_CFLAGS___100 = 1004,
    _CS_LFS64_LDFLAGS___100 = 1005,
    _CS_LFS64_LIBS___100 = 1006,
    _CS_LFS64_LINTFLAGS___100 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___100 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___100 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___100 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___100 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___100 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___100 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___100 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___100 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___100 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___100 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___100 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___100 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___100 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___100 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___100 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___100 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___100 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___100 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___100 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___100 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___100 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___100 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___100 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___100 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___100 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___100 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___100 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___100 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___100 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___100 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___100 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___100 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___100 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___100 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___100 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___100 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___100 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___100 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___100 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___100 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___100 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___100 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___100 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___100 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___100 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___100 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___100 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___100 = 1147,
    _CS_V6_ENV___100 = 1148,
    _CS_V7_ENV___100 = 1149
} ;
enum __anonenum_513775621___100 {
    DT_UNKNOWN___100 = 0,
    DT_FIFO___100 = 1,
    DT_CHR___100 = 2,
    DT_DIR___100 = 4,
    DT_BLK___100 = 6,
    DT_REG___100 = 8,
    DT_LNK___100 = 10,
    DT_SOCK___100 = 12,
    DT_WHT___100 = 14
} ;
enum __anonenum_77002343___100 {
    SI_ASYNCNL___100 = -60,
    SI_TKILL___100 = -6,
    SI_SIGIO___100 = -5,
    SI_ASYNCIO___100 = -4,
    SI_MESGQ___100 = -3,
    SI_TIMER___100 = -2,
    SI_QUEUE___100 = -1,
    SI_USER___100 = 0,
    SI_KERNEL___100 = 128
} ;
enum __anonenum_131038172___100 {
    ILL_ILLOPC___100 = 1,
    ILL_ILLOPN___100 = 2,
    ILL_ILLADR___100 = 3,
    ILL_ILLTRP___100 = 4,
    ILL_PRVOPC___100 = 5,
    ILL_PRVREG___100 = 6,
    ILL_COPROC___100 = 7,
    ILL_BADSTK___100 = 8
} ;
enum __anonenum_452038093___100 {
    FPE_INTDIV___100 = 1,
    FPE_INTOVF___100 = 2,
    FPE_FLTDIV___100 = 3,
    FPE_FLTOVF___100 = 4,
    FPE_FLTUND___100 = 5,
    FPE_FLTRES___100 = 6,
    FPE_FLTINV___100 = 7,
    FPE_FLTSUB___100 = 8
} ;
enum __anonenum_30976155___100 {
    SEGV_MAPERR___100 = 1,
    SEGV_ACCERR___100 = 2,
    SEGV_BNDERR___100 = 3,
    SEGV_PKUERR___100 = 4
} ;
enum __anonenum_1036286214___100 {
    BUS_ADRALN___100 = 1,
    BUS_ADRERR___100 = 2,
    BUS_OBJERR___100 = 3,
    BUS_MCEERR_AR___100 = 4,
    BUS_MCEERR_AO___100 = 5
} ;
enum __anonenum_493465559___100 {
    TRAP_BRKPT___100 = 1,
    TRAP_TRACE___100 = 2
} ;
enum __anonenum_23175539___100 {
    CLD_EXITED___100 = 1,
    CLD_KILLED___100 = 2,
    CLD_DUMPED___100 = 3,
    CLD_TRAPPED___100 = 4,
    CLD_STOPPED___100 = 5,
    CLD_CONTINUED___100 = 6
} ;
enum __anonenum_111643124___100 {
    POLL_IN___100 = 1,
    POLL_OUT___100 = 2,
    POLL_MSG___100 = 3,
    POLL_ERR___100 = 4,
    POLL_PRI___100 = 5,
    POLL_HUP___100 = 6
} ;
enum __anonenum_852341087___100 {
    SIGEV_SIGNAL___100 = 0,
    SIGEV_NONE___100 = 1,
    SIGEV_THREAD___100 = 2,
    SIGEV_THREAD_ID___100 = 4
} ;
enum __anonenum_451154152___100 {
    REG_R8___100 = 0,
    REG_R9___100 = 1,
    REG_R10___100 = 2,
    REG_R11___100 = 3,
    REG_R12___100 = 4,
    REG_R13___100 = 5,
    REG_R14___100 = 6,
    REG_R15___100 = 7,
    REG_RDI___100 = 8,
    REG_RSI___100 = 9,
    REG_RBP___100 = 10,
    REG_RBX___100 = 11,
    REG_RDX___100 = 12,
    REG_RAX___100 = 13,
    REG_RCX___100 = 14,
    REG_RSP___100 = 15,
    REG_RIP___100 = 16,
    REG_EFL___100 = 17,
    REG_CSGSFS___100 = 18,
    REG_ERR___100 = 19,
    REG_TRAPNO___100 = 20,
    REG_OLDMASK___100 = 21,
    REG_CR2___100 = 22
} ;
enum __anonenum_57186863___100 {
    SS_ONSTACK___100 = 1,
    SS_DISABLE___100 = 2
} ;
enum __anonenum_83571709___100 {
    MSG_OOB___100 = 1,
    MSG_PEEK___100 = 2,
    MSG_DONTROUTE___100 = 4,
    MSG_TRYHARD___100 = 4,
    MSG_CTRUNC___100 = 8,
    MSG_PROXY___100 = 16,
    MSG_TRUNC___100 = 32,
    MSG_DONTWAIT___100 = 64,
    MSG_EOR___100 = 128,
    MSG_WAITALL___100 = 256,
    MSG_FIN___100 = 512,
    MSG_SYN___100 = 1024,
    MSG_CONFIRM___100 = 2048,
    MSG_RST___100 = 4096,
    MSG_ERRQUEUE___100 = 8192,
    MSG_NOSIGNAL___100 = 16384,
    MSG_MORE___100 = 32768,
    MSG_WAITFORONE___100 = 65536,
    MSG_BATCH___100 = 262144,
    MSG_ZEROCOPY___100 = 67108864,
    MSG_FASTOPEN___100 = 536870912,
    MSG_CMSG_CLOEXEC___100 = 1073741824
} ;
enum __anonenum_617082774___100 {
    SCM_RIGHTS___100 = 1,
    SCM_CREDENTIALS___100 = 2
} ;
enum __anonenum_606441560___100 {
    SHUT_RD___100 = 0,
    SHUT_WR___100 = 1,
    SHUT_RDWR___100 = 2
} ;
enum __anonenum_681669233___100 {
    IPPROTO_IP___100 = 0,
    IPPROTO_ICMP___100 = 1,
    IPPROTO_IGMP___100 = 2,
    IPPROTO_IPIP___100 = 4,
    IPPROTO_TCP___100 = 6,
    IPPROTO_EGP___100 = 8,
    IPPROTO_PUP___100 = 12,
    IPPROTO_UDP___100 = 17,
    IPPROTO_IDP___100 = 22,
    IPPROTO_TP___100 = 29,
    IPPROTO_DCCP___100 = 33,
    IPPROTO_IPV6___100 = 41,
    IPPROTO_RSVP___100 = 46,
    IPPROTO_GRE___100 = 47,
    IPPROTO_ESP___100 = 50,
    IPPROTO_AH___100 = 51,
    IPPROTO_MTP___100 = 92,
    IPPROTO_BEETPH___100 = 94,
    IPPROTO_ENCAP___100 = 98,
    IPPROTO_PIM___100 = 103,
    IPPROTO_COMP___100 = 108,
    IPPROTO_SCTP___100 = 132,
    IPPROTO_UDPLITE___100 = 136,
    IPPROTO_MPLS___100 = 137,
    IPPROTO_RAW___100 = 255,
    IPPROTO_MAX___100 = 256
} ;
enum __anonenum_218739988___100 {
    IPPROTO_HOPOPTS___100 = 0,
    IPPROTO_ROUTING___100 = 43,
    IPPROTO_FRAGMENT___100 = 44,
    IPPROTO_ICMPV6___100 = 58,
    IPPROTO_NONE___100 = 59,
    IPPROTO_DSTOPTS___100 = 60,
    IPPROTO_MH___100 = 135
} ;
enum __anonenum_662268580___100 {
    IPPORT_ECHO___100 = 7,
    IPPORT_DISCARD___100 = 9,
    IPPORT_SYSTAT___100 = 11,
    IPPORT_DAYTIME___100 = 13,
    IPPORT_NETSTAT___100 = 15,
    IPPORT_FTP___100 = 21,
    IPPORT_TELNET___100 = 23,
    IPPORT_SMTP___100 = 25,
    IPPORT_TIMESERVER___100 = 37,
    IPPORT_NAMESERVER___100 = 42,
    IPPORT_WHOIS___100 = 43,
    IPPORT_MTP___100 = 57,
    IPPORT_TFTP___100 = 69,
    IPPORT_RJE___100 = 77,
    IPPORT_FINGER___100 = 79,
    IPPORT_TTYLINK___100 = 87,
    IPPORT_SUPDUP___100 = 95,
    IPPORT_EXECSERVER___100 = 512,
    IPPORT_LOGINSERVER___100 = 513,
    IPPORT_CMDSERVER___100 = 514,
    IPPORT_EFSSERVER___100 = 520,
    IPPORT_BIFFUDP___100 = 512,
    IPPORT_WHOSERVER___100 = 513,
    IPPORT_ROUTESERVER___100 = 520,
    IPPORT_RESERVED___100 = 1024,
    IPPORT_USERRESERVED___100 = 5000
} ;
enum __anonenum_788308992___100 {
    TCP_ESTABLISHED___100 = 1,
    TCP_SYN_SENT___100 = 2,
    TCP_SYN_RECV___100 = 3,
    TCP_FIN_WAIT1___100 = 4,
    TCP_FIN_WAIT2___100 = 5,
    TCP_TIME_WAIT___100 = 6,
    TCP_CLOSE___100 = 7,
    TCP_CLOSE_WAIT___100 = 8,
    TCP_LAST_ACK___100 = 9,
    TCP_LISTEN___100 = 10,
    TCP_CLOSING___100 = 11
} ;
enum __anonenum_221125648___100 {
    TCP_NO_QUEUE___100 = 0,
    TCP_RECV_QUEUE___100 = 1,
    TCP_SEND_QUEUE___100 = 2,
    TCP_QUEUES_NR___100 = 3
} ;
enum __anonenum_34415463___100 {
    PTHREAD_CREATE_JOINABLE___100 = 0,
    PTHREAD_CREATE_DETACHED___100 = 1
} ;
enum __anonenum_303612439___100 {
    PTHREAD_MUTEX_TIMED_NP___100 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___100 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___100 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___100 = 3,
    PTHREAD_MUTEX_NORMAL___100 = 0,
    PTHREAD_MUTEX_RECURSIVE___100 = 1,
    PTHREAD_MUTEX_ERRORCHECK___100 = 2,
    PTHREAD_MUTEX_DEFAULT___100 = 0,
    PTHREAD_MUTEX_FAST_NP___100 = 0
} ;
enum __anonenum_931900394___100 {
    PTHREAD_MUTEX_STALLED___100 = 0,
    PTHREAD_MUTEX_STALLED_NP___100 = 0,
    PTHREAD_MUTEX_ROBUST___100 = 1,
    PTHREAD_MUTEX_ROBUST_NP___100 = 1
} ;
enum __anonenum_205214487___100 {
    PTHREAD_PRIO_NONE___100 = 0,
    PTHREAD_PRIO_INHERIT___100 = 1,
    PTHREAD_PRIO_PROTECT___100 = 2
} ;
enum __anonenum_25043950___100 {
    PTHREAD_RWLOCK_PREFER_READER_NP___100 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___100 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___100 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___100 = 0
} ;
enum __anonenum_436439511___100 {
    PTHREAD_INHERIT_SCHED___100 = 0,
    PTHREAD_EXPLICIT_SCHED___100 = 1
} ;
enum __anonenum_998661166___100 {
    PTHREAD_SCOPE_SYSTEM___100 = 0,
    PTHREAD_SCOPE_PROCESS___100 = 1
} ;
enum __anonenum_146137331___100 {
    PTHREAD_PROCESS_PRIVATE___100 = 0,
    PTHREAD_PROCESS_SHARED___100 = 1
} ;
enum __anonenum_53396917___100 {
    PTHREAD_CANCEL_ENABLE___100 = 0,
    PTHREAD_CANCEL_DISABLE___100 = 1
} ;
enum __anonenum_904563783___100 {
    PTHREAD_CANCEL_DEFERRED___100 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___100 = 1
} ;
enum __anonenum_672052974___100 {
    SSL_CT_VALIDATION_PERMISSIVE___100 = 0,
    SSL_CT_VALIDATION_STRICT___100 = 1
} ;
enum __anonenum_437032235___101 {
    _PC_LINK_MAX___101 = 0,
    _PC_MAX_CANON___101 = 1,
    _PC_MAX_INPUT___101 = 2,
    _PC_NAME_MAX___101 = 3,
    _PC_PATH_MAX___101 = 4,
    _PC_PIPE_BUF___101 = 5,
    _PC_CHOWN_RESTRICTED___101 = 6,
    _PC_NO_TRUNC___101 = 7,
    _PC_VDISABLE___101 = 8,
    _PC_SYNC_IO___101 = 9,
    _PC_ASYNC_IO___101 = 10,
    _PC_PRIO_IO___101 = 11,
    _PC_SOCK_MAXBUF___101 = 12,
    _PC_FILESIZEBITS___101 = 13,
    _PC_REC_INCR_XFER_SIZE___101 = 14,
    _PC_REC_MAX_XFER_SIZE___101 = 15,
    _PC_REC_MIN_XFER_SIZE___101 = 16,
    _PC_REC_XFER_ALIGN___101 = 17,
    _PC_ALLOC_SIZE_MIN___101 = 18,
    _PC_SYMLINK_MAX___101 = 19,
    _PC_2_SYMLINKS___101 = 20
} ;
enum __anonenum_315186338___101 {
    _SC_ARG_MAX___101 = 0,
    _SC_CHILD_MAX___101 = 1,
    _SC_CLK_TCK___101 = 2,
    _SC_NGROUPS_MAX___101 = 3,
    _SC_OPEN_MAX___101 = 4,
    _SC_STREAM_MAX___101 = 5,
    _SC_TZNAME_MAX___101 = 6,
    _SC_JOB_CONTROL___101 = 7,
    _SC_SAVED_IDS___101 = 8,
    _SC_REALTIME_SIGNALS___101 = 9,
    _SC_PRIORITY_SCHEDULING___101 = 10,
    _SC_TIMERS___101 = 11,
    _SC_ASYNCHRONOUS_IO___101 = 12,
    _SC_PRIORITIZED_IO___101 = 13,
    _SC_SYNCHRONIZED_IO___101 = 14,
    _SC_FSYNC___101 = 15,
    _SC_MAPPED_FILES___101 = 16,
    _SC_MEMLOCK___101 = 17,
    _SC_MEMLOCK_RANGE___101 = 18,
    _SC_MEMORY_PROTECTION___101 = 19,
    _SC_MESSAGE_PASSING___101 = 20,
    _SC_SEMAPHORES___101 = 21,
    _SC_SHARED_MEMORY_OBJECTS___101 = 22,
    _SC_AIO_LISTIO_MAX___101 = 23,
    _SC_AIO_MAX___101 = 24,
    _SC_AIO_PRIO_DELTA_MAX___101 = 25,
    _SC_DELAYTIMER_MAX___101 = 26,
    _SC_MQ_OPEN_MAX___101 = 27,
    _SC_MQ_PRIO_MAX___101 = 28,
    _SC_VERSION___101 = 29,
    _SC_PAGESIZE___101 = 30,
    _SC_RTSIG_MAX___101 = 31,
    _SC_SEM_NSEMS_MAX___101 = 32,
    _SC_SEM_VALUE_MAX___101 = 33,
    _SC_SIGQUEUE_MAX___101 = 34,
    _SC_TIMER_MAX___101 = 35,
    _SC_BC_BASE_MAX___101 = 36,
    _SC_BC_DIM_MAX___101 = 37,
    _SC_BC_SCALE_MAX___101 = 38,
    _SC_BC_STRING_MAX___101 = 39,
    _SC_COLL_WEIGHTS_MAX___101 = 40,
    _SC_EQUIV_CLASS_MAX___101 = 41,
    _SC_EXPR_NEST_MAX___101 = 42,
    _SC_LINE_MAX___101 = 43,
    _SC_RE_DUP_MAX___101 = 44,
    _SC_CHARCLASS_NAME_MAX___101 = 45,
    _SC_2_VERSION___101 = 46,
    _SC_2_C_BIND___101 = 47,
    _SC_2_C_DEV___101 = 48,
    _SC_2_FORT_DEV___101 = 49,
    _SC_2_FORT_RUN___101 = 50,
    _SC_2_SW_DEV___101 = 51,
    _SC_2_LOCALEDEF___101 = 52,
    _SC_PII___101 = 53,
    _SC_PII_XTI___101 = 54,
    _SC_PII_SOCKET___101 = 55,
    _SC_PII_INTERNET___101 = 56,
    _SC_PII_OSI___101 = 57,
    _SC_POLL___101 = 58,
    _SC_SELECT___101 = 59,
    _SC_UIO_MAXIOV___101 = 60,
    _SC_IOV_MAX___101 = 60,
    _SC_PII_INTERNET_STREAM___101 = 61,
    _SC_PII_INTERNET_DGRAM___101 = 62,
    _SC_PII_OSI_COTS___101 = 63,
    _SC_PII_OSI_CLTS___101 = 64,
    _SC_PII_OSI_M___101 = 65,
    _SC_T_IOV_MAX___101 = 66,
    _SC_THREADS___101 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___101 = 68,
    _SC_GETGR_R_SIZE_MAX___101 = 69,
    _SC_GETPW_R_SIZE_MAX___101 = 70,
    _SC_LOGIN_NAME_MAX___101 = 71,
    _SC_TTY_NAME_MAX___101 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___101 = 73,
    _SC_THREAD_KEYS_MAX___101 = 74,
    _SC_THREAD_STACK_MIN___101 = 75,
    _SC_THREAD_THREADS_MAX___101 = 76,
    _SC_THREAD_ATTR_STACKADDR___101 = 77,
    _SC_THREAD_ATTR_STACKSIZE___101 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___101 = 79,
    _SC_THREAD_PRIO_INHERIT___101 = 80,
    _SC_THREAD_PRIO_PROTECT___101 = 81,
    _SC_THREAD_PROCESS_SHARED___101 = 82,
    _SC_NPROCESSORS_CONF___101 = 83,
    _SC_NPROCESSORS_ONLN___101 = 84,
    _SC_PHYS_PAGES___101 = 85,
    _SC_AVPHYS_PAGES___101 = 86,
    _SC_ATEXIT_MAX___101 = 87,
    _SC_PASS_MAX___101 = 88,
    _SC_XOPEN_VERSION___101 = 89,
    _SC_XOPEN_XCU_VERSION___101 = 90,
    _SC_XOPEN_UNIX___101 = 91,
    _SC_XOPEN_CRYPT___101 = 92,
    _SC_XOPEN_ENH_I18N___101 = 93,
    _SC_XOPEN_SHM___101 = 94,
    _SC_2_CHAR_TERM___101 = 95,
    _SC_2_C_VERSION___101 = 96,
    _SC_2_UPE___101 = 97,
    _SC_XOPEN_XPG2___101 = 98,
    _SC_XOPEN_XPG3___101 = 99,
    _SC_XOPEN_XPG4___101 = 100,
    _SC_CHAR_BIT___101 = 101,
    _SC_CHAR_MAX___101 = 102,
    _SC_CHAR_MIN___101 = 103,
    _SC_INT_MAX___101 = 104,
    _SC_INT_MIN___101 = 105,
    _SC_LONG_BIT___101 = 106,
    _SC_WORD_BIT___101 = 107,
    _SC_MB_LEN_MAX___101 = 108,
    _SC_NZERO___101 = 109,
    _SC_SSIZE_MAX___101 = 110,
    _SC_SCHAR_MAX___101 = 111,
    _SC_SCHAR_MIN___101 = 112,
    _SC_SHRT_MAX___101 = 113,
    _SC_SHRT_MIN___101 = 114,
    _SC_UCHAR_MAX___101 = 115,
    _SC_UINT_MAX___101 = 116,
    _SC_ULONG_MAX___101 = 117,
    _SC_USHRT_MAX___101 = 118,
    _SC_NL_ARGMAX___101 = 119,
    _SC_NL_LANGMAX___101 = 120,
    _SC_NL_MSGMAX___101 = 121,
    _SC_NL_NMAX___101 = 122,
    _SC_NL_SETMAX___101 = 123,
    _SC_NL_TEXTMAX___101 = 124,
    _SC_XBS5_ILP32_OFF32___101 = 125,
    _SC_XBS5_ILP32_OFFBIG___101 = 126,
    _SC_XBS5_LP64_OFF64___101 = 127,
    _SC_XBS5_LPBIG_OFFBIG___101 = 128,
    _SC_XOPEN_LEGACY___101 = 129,
    _SC_XOPEN_REALTIME___101 = 130,
    _SC_XOPEN_REALTIME_THREADS___101 = 131,
    _SC_ADVISORY_INFO___101 = 132,
    _SC_BARRIERS___101 = 133,
    _SC_BASE___101 = 134,
    _SC_C_LANG_SUPPORT___101 = 135,
    _SC_C_LANG_SUPPORT_R___101 = 136,
    _SC_CLOCK_SELECTION___101 = 137,
    _SC_CPUTIME___101 = 138,
    _SC_THREAD_CPUTIME___101 = 139,
    _SC_DEVICE_IO___101 = 140,
    _SC_DEVICE_SPECIFIC___101 = 141,
    _SC_DEVICE_SPECIFIC_R___101 = 142,
    _SC_FD_MGMT___101 = 143,
    _SC_FIFO___101 = 144,
    _SC_PIPE___101 = 145,
    _SC_FILE_ATTRIBUTES___101 = 146,
    _SC_FILE_LOCKING___101 = 147,
    _SC_FILE_SYSTEM___101 = 148,
    _SC_MONOTONIC_CLOCK___101 = 149,
    _SC_MULTI_PROCESS___101 = 150,
    _SC_SINGLE_PROCESS___101 = 151,
    _SC_NETWORKING___101 = 152,
    _SC_READER_WRITER_LOCKS___101 = 153,
    _SC_SPIN_LOCKS___101 = 154,
    _SC_REGEXP___101 = 155,
    _SC_REGEX_VERSION___101 = 156,
    _SC_SHELL___101 = 157,
    _SC_SIGNALS___101 = 158,
    _SC_SPAWN___101 = 159,
    _SC_SPORADIC_SERVER___101 = 160,
    _SC_THREAD_SPORADIC_SERVER___101 = 161,
    _SC_SYSTEM_DATABASE___101 = 162,
    _SC_SYSTEM_DATABASE_R___101 = 163,
    _SC_TIMEOUTS___101 = 164,
    _SC_TYPED_MEMORY_OBJECTS___101 = 165,
    _SC_USER_GROUPS___101 = 166,
    _SC_USER_GROUPS_R___101 = 167,
    _SC_2_PBS___101 = 168,
    _SC_2_PBS_ACCOUNTING___101 = 169,
    _SC_2_PBS_LOCATE___101 = 170,
    _SC_2_PBS_MESSAGE___101 = 171,
    _SC_2_PBS_TRACK___101 = 172,
    _SC_SYMLOOP_MAX___101 = 173,
    _SC_STREAMS___101 = 174,
    _SC_2_PBS_CHECKPOINT___101 = 175,
    _SC_V6_ILP32_OFF32___101 = 176,
    _SC_V6_ILP32_OFFBIG___101 = 177,
    _SC_V6_LP64_OFF64___101 = 178,
    _SC_V6_LPBIG_OFFBIG___101 = 179,
    _SC_HOST_NAME_MAX___101 = 180,
    _SC_TRACE___101 = 181,
    _SC_TRACE_EVENT_FILTER___101 = 182,
    _SC_TRACE_INHERIT___101 = 183,
    _SC_TRACE_LOG___101 = 184,
    _SC_LEVEL1_ICACHE_SIZE___101 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___101 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___101 = 187,
    _SC_LEVEL1_DCACHE_SIZE___101 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___101 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___101 = 190,
    _SC_LEVEL2_CACHE_SIZE___101 = 191,
    _SC_LEVEL2_CACHE_ASSOC___101 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___101 = 193,
    _SC_LEVEL3_CACHE_SIZE___101 = 194,
    _SC_LEVEL3_CACHE_ASSOC___101 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___101 = 196,
    _SC_LEVEL4_CACHE_SIZE___101 = 197,
    _SC_LEVEL4_CACHE_ASSOC___101 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___101 = 199,
    _SC_IPV6___101 = 235,
    _SC_RAW_SOCKETS___101 = 236,
    _SC_V7_ILP32_OFF32___101 = 237,
    _SC_V7_ILP32_OFFBIG___101 = 238,
    _SC_V7_LP64_OFF64___101 = 239,
    _SC_V7_LPBIG_OFFBIG___101 = 240,
    _SC_SS_REPL_MAX___101 = 241,
    _SC_TRACE_EVENT_NAME_MAX___101 = 242,
    _SC_TRACE_NAME_MAX___101 = 243,
    _SC_TRACE_SYS_MAX___101 = 244,
    _SC_TRACE_USER_EVENT_MAX___101 = 245,
    _SC_XOPEN_STREAMS___101 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___101 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___101 = 248
} ;
enum __anonenum_875524036___101 {
    _CS_PATH___101 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___101 = 1,
    _CS_GNU_LIBC_VERSION___101 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___101 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___101 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___101 = 5,
    _CS_LFS_CFLAGS___101 = 1000,
    _CS_LFS_LDFLAGS___101 = 1001,
    _CS_LFS_LIBS___101 = 1002,
    _CS_LFS_LINTFLAGS___101 = 1003,
    _CS_LFS64_CFLAGS___101 = 1004,
    _CS_LFS64_LDFLAGS___101 = 1005,
    _CS_LFS64_LIBS___101 = 1006,
    _CS_LFS64_LINTFLAGS___101 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___101 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___101 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___101 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___101 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___101 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___101 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___101 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___101 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___101 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___101 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___101 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___101 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___101 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___101 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___101 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___101 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___101 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___101 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___101 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___101 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___101 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___101 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___101 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___101 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___101 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___101 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___101 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___101 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___101 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___101 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___101 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___101 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___101 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___101 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___101 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___101 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___101 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___101 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___101 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___101 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___101 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___101 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___101 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___101 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___101 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___101 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___101 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___101 = 1147,
    _CS_V6_ENV___101 = 1148,
    _CS_V7_ENV___101 = 1149
} ;
enum __anonenum_513775621___101 {
    DT_UNKNOWN___101 = 0,
    DT_FIFO___101 = 1,
    DT_CHR___101 = 2,
    DT_DIR___101 = 4,
    DT_BLK___101 = 6,
    DT_REG___101 = 8,
    DT_LNK___101 = 10,
    DT_SOCK___101 = 12,
    DT_WHT___101 = 14
} ;
enum __anonenum_77002343___101 {
    SI_ASYNCNL___101 = -60,
    SI_TKILL___101 = -6,
    SI_SIGIO___101 = -5,
    SI_ASYNCIO___101 = -4,
    SI_MESGQ___101 = -3,
    SI_TIMER___101 = -2,
    SI_QUEUE___101 = -1,
    SI_USER___101 = 0,
    SI_KERNEL___101 = 128
} ;
enum __anonenum_131038172___101 {
    ILL_ILLOPC___101 = 1,
    ILL_ILLOPN___101 = 2,
    ILL_ILLADR___101 = 3,
    ILL_ILLTRP___101 = 4,
    ILL_PRVOPC___101 = 5,
    ILL_PRVREG___101 = 6,
    ILL_COPROC___101 = 7,
    ILL_BADSTK___101 = 8
} ;
enum __anonenum_452038093___101 {
    FPE_INTDIV___101 = 1,
    FPE_INTOVF___101 = 2,
    FPE_FLTDIV___101 = 3,
    FPE_FLTOVF___101 = 4,
    FPE_FLTUND___101 = 5,
    FPE_FLTRES___101 = 6,
    FPE_FLTINV___101 = 7,
    FPE_FLTSUB___101 = 8
} ;
enum __anonenum_30976155___101 {
    SEGV_MAPERR___101 = 1,
    SEGV_ACCERR___101 = 2,
    SEGV_BNDERR___101 = 3,
    SEGV_PKUERR___101 = 4
} ;
enum __anonenum_1036286214___101 {
    BUS_ADRALN___101 = 1,
    BUS_ADRERR___101 = 2,
    BUS_OBJERR___101 = 3,
    BUS_MCEERR_AR___101 = 4,
    BUS_MCEERR_AO___101 = 5
} ;
enum __anonenum_493465559___101 {
    TRAP_BRKPT___101 = 1,
    TRAP_TRACE___101 = 2
} ;
enum __anonenum_23175539___101 {
    CLD_EXITED___101 = 1,
    CLD_KILLED___101 = 2,
    CLD_DUMPED___101 = 3,
    CLD_TRAPPED___101 = 4,
    CLD_STOPPED___101 = 5,
    CLD_CONTINUED___101 = 6
} ;
enum __anonenum_111643124___101 {
    POLL_IN___101 = 1,
    POLL_OUT___101 = 2,
    POLL_MSG___101 = 3,
    POLL_ERR___101 = 4,
    POLL_PRI___101 = 5,
    POLL_HUP___101 = 6
} ;
enum __anonenum_852341087___101 {
    SIGEV_SIGNAL___101 = 0,
    SIGEV_NONE___101 = 1,
    SIGEV_THREAD___101 = 2,
    SIGEV_THREAD_ID___101 = 4
} ;
enum __anonenum_451154152___101 {
    REG_R8___101 = 0,
    REG_R9___101 = 1,
    REG_R10___101 = 2,
    REG_R11___101 = 3,
    REG_R12___101 = 4,
    REG_R13___101 = 5,
    REG_R14___101 = 6,
    REG_R15___101 = 7,
    REG_RDI___101 = 8,
    REG_RSI___101 = 9,
    REG_RBP___101 = 10,
    REG_RBX___101 = 11,
    REG_RDX___101 = 12,
    REG_RAX___101 = 13,
    REG_RCX___101 = 14,
    REG_RSP___101 = 15,
    REG_RIP___101 = 16,
    REG_EFL___101 = 17,
    REG_CSGSFS___101 = 18,
    REG_ERR___101 = 19,
    REG_TRAPNO___101 = 20,
    REG_OLDMASK___101 = 21,
    REG_CR2___101 = 22
} ;
enum __anonenum_57186863___101 {
    SS_ONSTACK___101 = 1,
    SS_DISABLE___101 = 2
} ;
enum __anonenum_83571709___101 {
    MSG_OOB___101 = 1,
    MSG_PEEK___101 = 2,
    MSG_DONTROUTE___101 = 4,
    MSG_TRYHARD___101 = 4,
    MSG_CTRUNC___101 = 8,
    MSG_PROXY___101 = 16,
    MSG_TRUNC___101 = 32,
    MSG_DONTWAIT___101 = 64,
    MSG_EOR___101 = 128,
    MSG_WAITALL___101 = 256,
    MSG_FIN___101 = 512,
    MSG_SYN___101 = 1024,
    MSG_CONFIRM___101 = 2048,
    MSG_RST___101 = 4096,
    MSG_ERRQUEUE___101 = 8192,
    MSG_NOSIGNAL___101 = 16384,
    MSG_MORE___101 = 32768,
    MSG_WAITFORONE___101 = 65536,
    MSG_BATCH___101 = 262144,
    MSG_ZEROCOPY___101 = 67108864,
    MSG_FASTOPEN___101 = 536870912,
    MSG_CMSG_CLOEXEC___101 = 1073741824
} ;
enum __anonenum_617082774___101 {
    SCM_RIGHTS___101 = 1,
    SCM_CREDENTIALS___101 = 2
} ;
enum __anonenum_606441560___101 {
    SHUT_RD___101 = 0,
    SHUT_WR___101 = 1,
    SHUT_RDWR___101 = 2
} ;
enum __anonenum_681669233___101 {
    IPPROTO_IP___101 = 0,
    IPPROTO_ICMP___101 = 1,
    IPPROTO_IGMP___101 = 2,
    IPPROTO_IPIP___101 = 4,
    IPPROTO_TCP___101 = 6,
    IPPROTO_EGP___101 = 8,
    IPPROTO_PUP___101 = 12,
    IPPROTO_UDP___101 = 17,
    IPPROTO_IDP___101 = 22,
    IPPROTO_TP___101 = 29,
    IPPROTO_DCCP___101 = 33,
    IPPROTO_IPV6___101 = 41,
    IPPROTO_RSVP___101 = 46,
    IPPROTO_GRE___101 = 47,
    IPPROTO_ESP___101 = 50,
    IPPROTO_AH___101 = 51,
    IPPROTO_MTP___101 = 92,
    IPPROTO_BEETPH___101 = 94,
    IPPROTO_ENCAP___101 = 98,
    IPPROTO_PIM___101 = 103,
    IPPROTO_COMP___101 = 108,
    IPPROTO_SCTP___101 = 132,
    IPPROTO_UDPLITE___101 = 136,
    IPPROTO_MPLS___101 = 137,
    IPPROTO_RAW___101 = 255,
    IPPROTO_MAX___101 = 256
} ;
enum __anonenum_218739988___101 {
    IPPROTO_HOPOPTS___101 = 0,
    IPPROTO_ROUTING___101 = 43,
    IPPROTO_FRAGMENT___101 = 44,
    IPPROTO_ICMPV6___101 = 58,
    IPPROTO_NONE___101 = 59,
    IPPROTO_DSTOPTS___101 = 60,
    IPPROTO_MH___101 = 135
} ;
enum __anonenum_662268580___101 {
    IPPORT_ECHO___101 = 7,
    IPPORT_DISCARD___101 = 9,
    IPPORT_SYSTAT___101 = 11,
    IPPORT_DAYTIME___101 = 13,
    IPPORT_NETSTAT___101 = 15,
    IPPORT_FTP___101 = 21,
    IPPORT_TELNET___101 = 23,
    IPPORT_SMTP___101 = 25,
    IPPORT_TIMESERVER___101 = 37,
    IPPORT_NAMESERVER___101 = 42,
    IPPORT_WHOIS___101 = 43,
    IPPORT_MTP___101 = 57,
    IPPORT_TFTP___101 = 69,
    IPPORT_RJE___101 = 77,
    IPPORT_FINGER___101 = 79,
    IPPORT_TTYLINK___101 = 87,
    IPPORT_SUPDUP___101 = 95,
    IPPORT_EXECSERVER___101 = 512,
    IPPORT_LOGINSERVER___101 = 513,
    IPPORT_CMDSERVER___101 = 514,
    IPPORT_EFSSERVER___101 = 520,
    IPPORT_BIFFUDP___101 = 512,
    IPPORT_WHOSERVER___101 = 513,
    IPPORT_ROUTESERVER___101 = 520,
    IPPORT_RESERVED___101 = 1024,
    IPPORT_USERRESERVED___101 = 5000
} ;
enum __anonenum_788308992___101 {
    TCP_ESTABLISHED___101 = 1,
    TCP_SYN_SENT___101 = 2,
    TCP_SYN_RECV___101 = 3,
    TCP_FIN_WAIT1___101 = 4,
    TCP_FIN_WAIT2___101 = 5,
    TCP_TIME_WAIT___101 = 6,
    TCP_CLOSE___101 = 7,
    TCP_CLOSE_WAIT___101 = 8,
    TCP_LAST_ACK___101 = 9,
    TCP_LISTEN___101 = 10,
    TCP_CLOSING___101 = 11
} ;
enum __anonenum_221125648___101 {
    TCP_NO_QUEUE___101 = 0,
    TCP_RECV_QUEUE___101 = 1,
    TCP_SEND_QUEUE___101 = 2,
    TCP_QUEUES_NR___101 = 3
} ;
enum __anonenum_34415463___101 {
    PTHREAD_CREATE_JOINABLE___101 = 0,
    PTHREAD_CREATE_DETACHED___101 = 1
} ;
enum __anonenum_303612439___101 {
    PTHREAD_MUTEX_TIMED_NP___101 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___101 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___101 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___101 = 3,
    PTHREAD_MUTEX_NORMAL___101 = 0,
    PTHREAD_MUTEX_RECURSIVE___101 = 1,
    PTHREAD_MUTEX_ERRORCHECK___101 = 2,
    PTHREAD_MUTEX_DEFAULT___101 = 0,
    PTHREAD_MUTEX_FAST_NP___101 = 0
} ;
enum __anonenum_931900394___101 {
    PTHREAD_MUTEX_STALLED___101 = 0,
    PTHREAD_MUTEX_STALLED_NP___101 = 0,
    PTHREAD_MUTEX_ROBUST___101 = 1,
    PTHREAD_MUTEX_ROBUST_NP___101 = 1
} ;
enum __anonenum_205214487___101 {
    PTHREAD_PRIO_NONE___101 = 0,
    PTHREAD_PRIO_INHERIT___101 = 1,
    PTHREAD_PRIO_PROTECT___101 = 2
} ;
enum __anonenum_25043950___101 {
    PTHREAD_RWLOCK_PREFER_READER_NP___101 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___101 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___101 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___101 = 0
} ;
enum __anonenum_436439511___101 {
    PTHREAD_INHERIT_SCHED___101 = 0,
    PTHREAD_EXPLICIT_SCHED___101 = 1
} ;
enum __anonenum_998661166___101 {
    PTHREAD_SCOPE_SYSTEM___101 = 0,
    PTHREAD_SCOPE_PROCESS___101 = 1
} ;
enum __anonenum_146137331___101 {
    PTHREAD_PROCESS_PRIVATE___101 = 0,
    PTHREAD_PROCESS_SHARED___101 = 1
} ;
enum __anonenum_53396917___101 {
    PTHREAD_CANCEL_ENABLE___101 = 0,
    PTHREAD_CANCEL_DISABLE___101 = 1
} ;
enum __anonenum_904563783___101 {
    PTHREAD_CANCEL_DEFERRED___101 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___101 = 1
} ;
enum __anonenum_672052974___101 {
    SSL_CT_VALIDATION_PERMISSIVE___101 = 0,
    SSL_CT_VALIDATION_STRICT___101 = 1
} ;
struct merge_options_internal ;
enum __anonenum_detect_directory_renames_652368180 {
    MERGE_DIRECTORY_RENAMES_NONE = 0,
    MERGE_DIRECTORY_RENAMES_CONFLICT = 1,
    MERGE_DIRECTORY_RENAMES_TRUE = 2
} ;
enum __anonenum_recursive_variant_585442255 {
    MERGE_VARIANT_NORMAL = 0,
    MERGE_VARIANT_OURS = 1,
    MERGE_VARIANT_THEIRS = 2
} ;
struct merge_options {
   struct repository *repo ;
   char const   *ancestor ;
   char const   *branch1 ;
   char const   *branch2 ;
   int detect_renames ;
   enum __anonenum_detect_directory_renames_652368180 detect_directory_renames ;
   int rename_limit ;
   int rename_score ;
   int show_rename_progress ;
   long xdl_opts ;
   enum __anonenum_recursive_variant_585442255 recursive_variant ;
   int verbosity ;
   unsigned int buffer_output ;
   struct strbuf obuf ;
   char const   *subtree_shift ;
   unsigned int renormalize : 1 ;
   struct merge_options_internal *priv ;
};
struct merge_result {
   int clean ;
   struct tree *tree ;
   void *priv ;
   unsigned int _properly_initialized ;
};
enum __anonenum_561748495___4 {
    RECURSE_SUBMODULES_ONLY___4 = -5,
    RECURSE_SUBMODULES_CHECK___4 = -4,
    RECURSE_SUBMODULES_ERROR___4 = -3,
    RECURSE_SUBMODULES_NONE___4 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___4 = -1,
    RECURSE_SUBMODULES_OFF___4 = 0,
    RECURSE_SUBMODULES_DEFAULT___4 = 1,
    RECURSE_SUBMODULES_ON___4 = 2
} ;
enum merge_side {
    MERGE_BASE = 0,
    MERGE_SIDE1 = 1,
    MERGE_SIDE2 = 2
} ;
struct traversal_callback_data {
   unsigned long mask ;
   unsigned long dirmask ;
   struct name_entry names[3] ;
};
struct deferred_traversal_data {
   struct strintmap possible_trivial_merges ;
   unsigned int trivial_merges_okay ;
   struct strset target_dirs ;
};
struct rename_info {
   struct diff_queue_struct pairs[3] ;
   struct strintmap dirs_removed[3] ;
   struct strmap dir_rename_count[3] ;
   struct strmap dir_renames[3] ;
   struct strintmap relevant_sources[3] ;
   struct deferred_traversal_data deferred[3] ;
   unsigned int dir_rename_mask : 3 ;
   struct traversal_callback_data *callback_data ;
   int callback_data_nr ;
   int callback_data_alloc ;
   char *callback_data_traverse_path ;
   struct tree *merge_trees[3] ;
   int cached_pairs_valid_side ;
   struct strmap cached_pairs[3] ;
   struct strset cached_target_names[3] ;
   struct strset cached_irrelevant[3] ;
   unsigned int redo_after_renames ;
   int needed_limit ;
};
struct merge_options_internal {
   struct strmap paths ;
   struct strmap conflicted ;
   struct mem_pool pool ;
   struct strmap output ;
   struct rename_info renames ;
   struct index_state attr_index ;
   char const   *current_dir_name ;
   char const   *toplevel_dir ;
   int call_depth ;
};
struct version_info {
   struct object_id oid ;
   unsigned short mode ;
};
struct merged_info {
   struct version_info result ;
   unsigned int is_null : 1 ;
   unsigned int clean : 1 ;
   size_t basename_offset ;
   char const   *directory_name ;
};
struct conflict_info {
   struct merged_info merged ;
   struct version_info stages[3] ;
   char const   *pathnames[3] ;
   unsigned int df_conflict : 1 ;
   unsigned int path_conflict : 1 ;
   unsigned int filemask : 3 ;
   unsigned int dirmask : 3 ;
   unsigned int match_mask : 3 ;
};
struct collision_info {
   struct string_list source_files ;
   unsigned int reported_already : 1 ;
};
struct directory_versions {
   struct string_list versions ;
   struct string_list offsets ;
   char const   *last_directory ;
   unsigned int last_directory_len ;
};
enum __anonenum_437032235___102 {
    _PC_LINK_MAX___102 = 0,
    _PC_MAX_CANON___102 = 1,
    _PC_MAX_INPUT___102 = 2,
    _PC_NAME_MAX___102 = 3,
    _PC_PATH_MAX___102 = 4,
    _PC_PIPE_BUF___102 = 5,
    _PC_CHOWN_RESTRICTED___102 = 6,
    _PC_NO_TRUNC___102 = 7,
    _PC_VDISABLE___102 = 8,
    _PC_SYNC_IO___102 = 9,
    _PC_ASYNC_IO___102 = 10,
    _PC_PRIO_IO___102 = 11,
    _PC_SOCK_MAXBUF___102 = 12,
    _PC_FILESIZEBITS___102 = 13,
    _PC_REC_INCR_XFER_SIZE___102 = 14,
    _PC_REC_MAX_XFER_SIZE___102 = 15,
    _PC_REC_MIN_XFER_SIZE___102 = 16,
    _PC_REC_XFER_ALIGN___102 = 17,
    _PC_ALLOC_SIZE_MIN___102 = 18,
    _PC_SYMLINK_MAX___102 = 19,
    _PC_2_SYMLINKS___102 = 20
} ;
enum __anonenum_315186338___102 {
    _SC_ARG_MAX___102 = 0,
    _SC_CHILD_MAX___102 = 1,
    _SC_CLK_TCK___102 = 2,
    _SC_NGROUPS_MAX___102 = 3,
    _SC_OPEN_MAX___102 = 4,
    _SC_STREAM_MAX___102 = 5,
    _SC_TZNAME_MAX___102 = 6,
    _SC_JOB_CONTROL___102 = 7,
    _SC_SAVED_IDS___102 = 8,
    _SC_REALTIME_SIGNALS___102 = 9,
    _SC_PRIORITY_SCHEDULING___102 = 10,
    _SC_TIMERS___102 = 11,
    _SC_ASYNCHRONOUS_IO___102 = 12,
    _SC_PRIORITIZED_IO___102 = 13,
    _SC_SYNCHRONIZED_IO___102 = 14,
    _SC_FSYNC___102 = 15,
    _SC_MAPPED_FILES___102 = 16,
    _SC_MEMLOCK___102 = 17,
    _SC_MEMLOCK_RANGE___102 = 18,
    _SC_MEMORY_PROTECTION___102 = 19,
    _SC_MESSAGE_PASSING___102 = 20,
    _SC_SEMAPHORES___102 = 21,
    _SC_SHARED_MEMORY_OBJECTS___102 = 22,
    _SC_AIO_LISTIO_MAX___102 = 23,
    _SC_AIO_MAX___102 = 24,
    _SC_AIO_PRIO_DELTA_MAX___102 = 25,
    _SC_DELAYTIMER_MAX___102 = 26,
    _SC_MQ_OPEN_MAX___102 = 27,
    _SC_MQ_PRIO_MAX___102 = 28,
    _SC_VERSION___102 = 29,
    _SC_PAGESIZE___102 = 30,
    _SC_RTSIG_MAX___102 = 31,
    _SC_SEM_NSEMS_MAX___102 = 32,
    _SC_SEM_VALUE_MAX___102 = 33,
    _SC_SIGQUEUE_MAX___102 = 34,
    _SC_TIMER_MAX___102 = 35,
    _SC_BC_BASE_MAX___102 = 36,
    _SC_BC_DIM_MAX___102 = 37,
    _SC_BC_SCALE_MAX___102 = 38,
    _SC_BC_STRING_MAX___102 = 39,
    _SC_COLL_WEIGHTS_MAX___102 = 40,
    _SC_EQUIV_CLASS_MAX___102 = 41,
    _SC_EXPR_NEST_MAX___102 = 42,
    _SC_LINE_MAX___102 = 43,
    _SC_RE_DUP_MAX___102 = 44,
    _SC_CHARCLASS_NAME_MAX___102 = 45,
    _SC_2_VERSION___102 = 46,
    _SC_2_C_BIND___102 = 47,
    _SC_2_C_DEV___102 = 48,
    _SC_2_FORT_DEV___102 = 49,
    _SC_2_FORT_RUN___102 = 50,
    _SC_2_SW_DEV___102 = 51,
    _SC_2_LOCALEDEF___102 = 52,
    _SC_PII___102 = 53,
    _SC_PII_XTI___102 = 54,
    _SC_PII_SOCKET___102 = 55,
    _SC_PII_INTERNET___102 = 56,
    _SC_PII_OSI___102 = 57,
    _SC_POLL___102 = 58,
    _SC_SELECT___102 = 59,
    _SC_UIO_MAXIOV___102 = 60,
    _SC_IOV_MAX___102 = 60,
    _SC_PII_INTERNET_STREAM___102 = 61,
    _SC_PII_INTERNET_DGRAM___102 = 62,
    _SC_PII_OSI_COTS___102 = 63,
    _SC_PII_OSI_CLTS___102 = 64,
    _SC_PII_OSI_M___102 = 65,
    _SC_T_IOV_MAX___102 = 66,
    _SC_THREADS___102 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___102 = 68,
    _SC_GETGR_R_SIZE_MAX___102 = 69,
    _SC_GETPW_R_SIZE_MAX___102 = 70,
    _SC_LOGIN_NAME_MAX___102 = 71,
    _SC_TTY_NAME_MAX___102 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___102 = 73,
    _SC_THREAD_KEYS_MAX___102 = 74,
    _SC_THREAD_STACK_MIN___102 = 75,
    _SC_THREAD_THREADS_MAX___102 = 76,
    _SC_THREAD_ATTR_STACKADDR___102 = 77,
    _SC_THREAD_ATTR_STACKSIZE___102 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___102 = 79,
    _SC_THREAD_PRIO_INHERIT___102 = 80,
    _SC_THREAD_PRIO_PROTECT___102 = 81,
    _SC_THREAD_PROCESS_SHARED___102 = 82,
    _SC_NPROCESSORS_CONF___102 = 83,
    _SC_NPROCESSORS_ONLN___102 = 84,
    _SC_PHYS_PAGES___102 = 85,
    _SC_AVPHYS_PAGES___102 = 86,
    _SC_ATEXIT_MAX___102 = 87,
    _SC_PASS_MAX___102 = 88,
    _SC_XOPEN_VERSION___102 = 89,
    _SC_XOPEN_XCU_VERSION___102 = 90,
    _SC_XOPEN_UNIX___102 = 91,
    _SC_XOPEN_CRYPT___102 = 92,
    _SC_XOPEN_ENH_I18N___102 = 93,
    _SC_XOPEN_SHM___102 = 94,
    _SC_2_CHAR_TERM___102 = 95,
    _SC_2_C_VERSION___102 = 96,
    _SC_2_UPE___102 = 97,
    _SC_XOPEN_XPG2___102 = 98,
    _SC_XOPEN_XPG3___102 = 99,
    _SC_XOPEN_XPG4___102 = 100,
    _SC_CHAR_BIT___102 = 101,
    _SC_CHAR_MAX___102 = 102,
    _SC_CHAR_MIN___102 = 103,
    _SC_INT_MAX___102 = 104,
    _SC_INT_MIN___102 = 105,
    _SC_LONG_BIT___102 = 106,
    _SC_WORD_BIT___102 = 107,
    _SC_MB_LEN_MAX___102 = 108,
    _SC_NZERO___102 = 109,
    _SC_SSIZE_MAX___102 = 110,
    _SC_SCHAR_MAX___102 = 111,
    _SC_SCHAR_MIN___102 = 112,
    _SC_SHRT_MAX___102 = 113,
    _SC_SHRT_MIN___102 = 114,
    _SC_UCHAR_MAX___102 = 115,
    _SC_UINT_MAX___102 = 116,
    _SC_ULONG_MAX___102 = 117,
    _SC_USHRT_MAX___102 = 118,
    _SC_NL_ARGMAX___102 = 119,
    _SC_NL_LANGMAX___102 = 120,
    _SC_NL_MSGMAX___102 = 121,
    _SC_NL_NMAX___102 = 122,
    _SC_NL_SETMAX___102 = 123,
    _SC_NL_TEXTMAX___102 = 124,
    _SC_XBS5_ILP32_OFF32___102 = 125,
    _SC_XBS5_ILP32_OFFBIG___102 = 126,
    _SC_XBS5_LP64_OFF64___102 = 127,
    _SC_XBS5_LPBIG_OFFBIG___102 = 128,
    _SC_XOPEN_LEGACY___102 = 129,
    _SC_XOPEN_REALTIME___102 = 130,
    _SC_XOPEN_REALTIME_THREADS___102 = 131,
    _SC_ADVISORY_INFO___102 = 132,
    _SC_BARRIERS___102 = 133,
    _SC_BASE___102 = 134,
    _SC_C_LANG_SUPPORT___102 = 135,
    _SC_C_LANG_SUPPORT_R___102 = 136,
    _SC_CLOCK_SELECTION___102 = 137,
    _SC_CPUTIME___102 = 138,
    _SC_THREAD_CPUTIME___102 = 139,
    _SC_DEVICE_IO___102 = 140,
    _SC_DEVICE_SPECIFIC___102 = 141,
    _SC_DEVICE_SPECIFIC_R___102 = 142,
    _SC_FD_MGMT___102 = 143,
    _SC_FIFO___102 = 144,
    _SC_PIPE___102 = 145,
    _SC_FILE_ATTRIBUTES___102 = 146,
    _SC_FILE_LOCKING___102 = 147,
    _SC_FILE_SYSTEM___102 = 148,
    _SC_MONOTONIC_CLOCK___102 = 149,
    _SC_MULTI_PROCESS___102 = 150,
    _SC_SINGLE_PROCESS___102 = 151,
    _SC_NETWORKING___102 = 152,
    _SC_READER_WRITER_LOCKS___102 = 153,
    _SC_SPIN_LOCKS___102 = 154,
    _SC_REGEXP___102 = 155,
    _SC_REGEX_VERSION___102 = 156,
    _SC_SHELL___102 = 157,
    _SC_SIGNALS___102 = 158,
    _SC_SPAWN___102 = 159,
    _SC_SPORADIC_SERVER___102 = 160,
    _SC_THREAD_SPORADIC_SERVER___102 = 161,
    _SC_SYSTEM_DATABASE___102 = 162,
    _SC_SYSTEM_DATABASE_R___102 = 163,
    _SC_TIMEOUTS___102 = 164,
    _SC_TYPED_MEMORY_OBJECTS___102 = 165,
    _SC_USER_GROUPS___102 = 166,
    _SC_USER_GROUPS_R___102 = 167,
    _SC_2_PBS___102 = 168,
    _SC_2_PBS_ACCOUNTING___102 = 169,
    _SC_2_PBS_LOCATE___102 = 170,
    _SC_2_PBS_MESSAGE___102 = 171,
    _SC_2_PBS_TRACK___102 = 172,
    _SC_SYMLOOP_MAX___102 = 173,
    _SC_STREAMS___102 = 174,
    _SC_2_PBS_CHECKPOINT___102 = 175,
    _SC_V6_ILP32_OFF32___102 = 176,
    _SC_V6_ILP32_OFFBIG___102 = 177,
    _SC_V6_LP64_OFF64___102 = 178,
    _SC_V6_LPBIG_OFFBIG___102 = 179,
    _SC_HOST_NAME_MAX___102 = 180,
    _SC_TRACE___102 = 181,
    _SC_TRACE_EVENT_FILTER___102 = 182,
    _SC_TRACE_INHERIT___102 = 183,
    _SC_TRACE_LOG___102 = 184,
    _SC_LEVEL1_ICACHE_SIZE___102 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___102 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___102 = 187,
    _SC_LEVEL1_DCACHE_SIZE___102 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___102 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___102 = 190,
    _SC_LEVEL2_CACHE_SIZE___102 = 191,
    _SC_LEVEL2_CACHE_ASSOC___102 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___102 = 193,
    _SC_LEVEL3_CACHE_SIZE___102 = 194,
    _SC_LEVEL3_CACHE_ASSOC___102 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___102 = 196,
    _SC_LEVEL4_CACHE_SIZE___102 = 197,
    _SC_LEVEL4_CACHE_ASSOC___102 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___102 = 199,
    _SC_IPV6___102 = 235,
    _SC_RAW_SOCKETS___102 = 236,
    _SC_V7_ILP32_OFF32___102 = 237,
    _SC_V7_ILP32_OFFBIG___102 = 238,
    _SC_V7_LP64_OFF64___102 = 239,
    _SC_V7_LPBIG_OFFBIG___102 = 240,
    _SC_SS_REPL_MAX___102 = 241,
    _SC_TRACE_EVENT_NAME_MAX___102 = 242,
    _SC_TRACE_NAME_MAX___102 = 243,
    _SC_TRACE_SYS_MAX___102 = 244,
    _SC_TRACE_USER_EVENT_MAX___102 = 245,
    _SC_XOPEN_STREAMS___102 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___102 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___102 = 248
} ;
enum __anonenum_875524036___102 {
    _CS_PATH___102 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___102 = 1,
    _CS_GNU_LIBC_VERSION___102 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___102 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___102 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___102 = 5,
    _CS_LFS_CFLAGS___102 = 1000,
    _CS_LFS_LDFLAGS___102 = 1001,
    _CS_LFS_LIBS___102 = 1002,
    _CS_LFS_LINTFLAGS___102 = 1003,
    _CS_LFS64_CFLAGS___102 = 1004,
    _CS_LFS64_LDFLAGS___102 = 1005,
    _CS_LFS64_LIBS___102 = 1006,
    _CS_LFS64_LINTFLAGS___102 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___102 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___102 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___102 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___102 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___102 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___102 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___102 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___102 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___102 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___102 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___102 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___102 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___102 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___102 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___102 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___102 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___102 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___102 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___102 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___102 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___102 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___102 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___102 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___102 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___102 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___102 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___102 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___102 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___102 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___102 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___102 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___102 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___102 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___102 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___102 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___102 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___102 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___102 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___102 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___102 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___102 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___102 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___102 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___102 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___102 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___102 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___102 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___102 = 1147,
    _CS_V6_ENV___102 = 1148,
    _CS_V7_ENV___102 = 1149
} ;
enum __anonenum_513775621___102 {
    DT_UNKNOWN___102 = 0,
    DT_FIFO___102 = 1,
    DT_CHR___102 = 2,
    DT_DIR___102 = 4,
    DT_BLK___102 = 6,
    DT_REG___102 = 8,
    DT_LNK___102 = 10,
    DT_SOCK___102 = 12,
    DT_WHT___102 = 14
} ;
enum __anonenum_77002343___102 {
    SI_ASYNCNL___102 = -60,
    SI_TKILL___102 = -6,
    SI_SIGIO___102 = -5,
    SI_ASYNCIO___102 = -4,
    SI_MESGQ___102 = -3,
    SI_TIMER___102 = -2,
    SI_QUEUE___102 = -1,
    SI_USER___102 = 0,
    SI_KERNEL___102 = 128
} ;
enum __anonenum_131038172___102 {
    ILL_ILLOPC___102 = 1,
    ILL_ILLOPN___102 = 2,
    ILL_ILLADR___102 = 3,
    ILL_ILLTRP___102 = 4,
    ILL_PRVOPC___102 = 5,
    ILL_PRVREG___102 = 6,
    ILL_COPROC___102 = 7,
    ILL_BADSTK___102 = 8
} ;
enum __anonenum_452038093___102 {
    FPE_INTDIV___102 = 1,
    FPE_INTOVF___102 = 2,
    FPE_FLTDIV___102 = 3,
    FPE_FLTOVF___102 = 4,
    FPE_FLTUND___102 = 5,
    FPE_FLTRES___102 = 6,
    FPE_FLTINV___102 = 7,
    FPE_FLTSUB___102 = 8
} ;
enum __anonenum_30976155___102 {
    SEGV_MAPERR___102 = 1,
    SEGV_ACCERR___102 = 2,
    SEGV_BNDERR___102 = 3,
    SEGV_PKUERR___102 = 4
} ;
enum __anonenum_1036286214___102 {
    BUS_ADRALN___102 = 1,
    BUS_ADRERR___102 = 2,
    BUS_OBJERR___102 = 3,
    BUS_MCEERR_AR___102 = 4,
    BUS_MCEERR_AO___102 = 5
} ;
enum __anonenum_493465559___102 {
    TRAP_BRKPT___102 = 1,
    TRAP_TRACE___102 = 2
} ;
enum __anonenum_23175539___102 {
    CLD_EXITED___102 = 1,
    CLD_KILLED___102 = 2,
    CLD_DUMPED___102 = 3,
    CLD_TRAPPED___102 = 4,
    CLD_STOPPED___102 = 5,
    CLD_CONTINUED___102 = 6
} ;
enum __anonenum_111643124___102 {
    POLL_IN___102 = 1,
    POLL_OUT___102 = 2,
    POLL_MSG___102 = 3,
    POLL_ERR___102 = 4,
    POLL_PRI___102 = 5,
    POLL_HUP___102 = 6
} ;
enum __anonenum_852341087___102 {
    SIGEV_SIGNAL___102 = 0,
    SIGEV_NONE___102 = 1,
    SIGEV_THREAD___102 = 2,
    SIGEV_THREAD_ID___102 = 4
} ;
enum __anonenum_451154152___102 {
    REG_R8___102 = 0,
    REG_R9___102 = 1,
    REG_R10___102 = 2,
    REG_R11___102 = 3,
    REG_R12___102 = 4,
    REG_R13___102 = 5,
    REG_R14___102 = 6,
    REG_R15___102 = 7,
    REG_RDI___102 = 8,
    REG_RSI___102 = 9,
    REG_RBP___102 = 10,
    REG_RBX___102 = 11,
    REG_RDX___102 = 12,
    REG_RAX___102 = 13,
    REG_RCX___102 = 14,
    REG_RSP___102 = 15,
    REG_RIP___102 = 16,
    REG_EFL___102 = 17,
    REG_CSGSFS___102 = 18,
    REG_ERR___102 = 19,
    REG_TRAPNO___102 = 20,
    REG_OLDMASK___102 = 21,
    REG_CR2___102 = 22
} ;
enum __anonenum_57186863___102 {
    SS_ONSTACK___102 = 1,
    SS_DISABLE___102 = 2
} ;
enum __anonenum_83571709___102 {
    MSG_OOB___102 = 1,
    MSG_PEEK___102 = 2,
    MSG_DONTROUTE___102 = 4,
    MSG_TRYHARD___102 = 4,
    MSG_CTRUNC___102 = 8,
    MSG_PROXY___102 = 16,
    MSG_TRUNC___102 = 32,
    MSG_DONTWAIT___102 = 64,
    MSG_EOR___102 = 128,
    MSG_WAITALL___102 = 256,
    MSG_FIN___102 = 512,
    MSG_SYN___102 = 1024,
    MSG_CONFIRM___102 = 2048,
    MSG_RST___102 = 4096,
    MSG_ERRQUEUE___102 = 8192,
    MSG_NOSIGNAL___102 = 16384,
    MSG_MORE___102 = 32768,
    MSG_WAITFORONE___102 = 65536,
    MSG_BATCH___102 = 262144,
    MSG_ZEROCOPY___102 = 67108864,
    MSG_FASTOPEN___102 = 536870912,
    MSG_CMSG_CLOEXEC___102 = 1073741824
} ;
enum __anonenum_617082774___102 {
    SCM_RIGHTS___102 = 1,
    SCM_CREDENTIALS___102 = 2
} ;
enum __anonenum_606441560___102 {
    SHUT_RD___102 = 0,
    SHUT_WR___102 = 1,
    SHUT_RDWR___102 = 2
} ;
enum __anonenum_681669233___102 {
    IPPROTO_IP___102 = 0,
    IPPROTO_ICMP___102 = 1,
    IPPROTO_IGMP___102 = 2,
    IPPROTO_IPIP___102 = 4,
    IPPROTO_TCP___102 = 6,
    IPPROTO_EGP___102 = 8,
    IPPROTO_PUP___102 = 12,
    IPPROTO_UDP___102 = 17,
    IPPROTO_IDP___102 = 22,
    IPPROTO_TP___102 = 29,
    IPPROTO_DCCP___102 = 33,
    IPPROTO_IPV6___102 = 41,
    IPPROTO_RSVP___102 = 46,
    IPPROTO_GRE___102 = 47,
    IPPROTO_ESP___102 = 50,
    IPPROTO_AH___102 = 51,
    IPPROTO_MTP___102 = 92,
    IPPROTO_BEETPH___102 = 94,
    IPPROTO_ENCAP___102 = 98,
    IPPROTO_PIM___102 = 103,
    IPPROTO_COMP___102 = 108,
    IPPROTO_SCTP___102 = 132,
    IPPROTO_UDPLITE___102 = 136,
    IPPROTO_MPLS___102 = 137,
    IPPROTO_RAW___102 = 255,
    IPPROTO_MAX___102 = 256
} ;
enum __anonenum_218739988___102 {
    IPPROTO_HOPOPTS___102 = 0,
    IPPROTO_ROUTING___102 = 43,
    IPPROTO_FRAGMENT___102 = 44,
    IPPROTO_ICMPV6___102 = 58,
    IPPROTO_NONE___102 = 59,
    IPPROTO_DSTOPTS___102 = 60,
    IPPROTO_MH___102 = 135
} ;
enum __anonenum_662268580___102 {
    IPPORT_ECHO___102 = 7,
    IPPORT_DISCARD___102 = 9,
    IPPORT_SYSTAT___102 = 11,
    IPPORT_DAYTIME___102 = 13,
    IPPORT_NETSTAT___102 = 15,
    IPPORT_FTP___102 = 21,
    IPPORT_TELNET___102 = 23,
    IPPORT_SMTP___102 = 25,
    IPPORT_TIMESERVER___102 = 37,
    IPPORT_NAMESERVER___102 = 42,
    IPPORT_WHOIS___102 = 43,
    IPPORT_MTP___102 = 57,
    IPPORT_TFTP___102 = 69,
    IPPORT_RJE___102 = 77,
    IPPORT_FINGER___102 = 79,
    IPPORT_TTYLINK___102 = 87,
    IPPORT_SUPDUP___102 = 95,
    IPPORT_EXECSERVER___102 = 512,
    IPPORT_LOGINSERVER___102 = 513,
    IPPORT_CMDSERVER___102 = 514,
    IPPORT_EFSSERVER___102 = 520,
    IPPORT_BIFFUDP___102 = 512,
    IPPORT_WHOSERVER___102 = 513,
    IPPORT_ROUTESERVER___102 = 520,
    IPPORT_RESERVED___102 = 1024,
    IPPORT_USERRESERVED___102 = 5000
} ;
enum __anonenum_788308992___102 {
    TCP_ESTABLISHED___102 = 1,
    TCP_SYN_SENT___102 = 2,
    TCP_SYN_RECV___102 = 3,
    TCP_FIN_WAIT1___102 = 4,
    TCP_FIN_WAIT2___102 = 5,
    TCP_TIME_WAIT___102 = 6,
    TCP_CLOSE___102 = 7,
    TCP_CLOSE_WAIT___102 = 8,
    TCP_LAST_ACK___102 = 9,
    TCP_LISTEN___102 = 10,
    TCP_CLOSING___102 = 11
} ;
enum __anonenum_221125648___102 {
    TCP_NO_QUEUE___102 = 0,
    TCP_RECV_QUEUE___102 = 1,
    TCP_SEND_QUEUE___102 = 2,
    TCP_QUEUES_NR___102 = 3
} ;
enum __anonenum_34415463___102 {
    PTHREAD_CREATE_JOINABLE___102 = 0,
    PTHREAD_CREATE_DETACHED___102 = 1
} ;
enum __anonenum_303612439___102 {
    PTHREAD_MUTEX_TIMED_NP___102 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___102 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___102 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___102 = 3,
    PTHREAD_MUTEX_NORMAL___102 = 0,
    PTHREAD_MUTEX_RECURSIVE___102 = 1,
    PTHREAD_MUTEX_ERRORCHECK___102 = 2,
    PTHREAD_MUTEX_DEFAULT___102 = 0,
    PTHREAD_MUTEX_FAST_NP___102 = 0
} ;
enum __anonenum_931900394___102 {
    PTHREAD_MUTEX_STALLED___102 = 0,
    PTHREAD_MUTEX_STALLED_NP___102 = 0,
    PTHREAD_MUTEX_ROBUST___102 = 1,
    PTHREAD_MUTEX_ROBUST_NP___102 = 1
} ;
enum __anonenum_205214487___102 {
    PTHREAD_PRIO_NONE___102 = 0,
    PTHREAD_PRIO_INHERIT___102 = 1,
    PTHREAD_PRIO_PROTECT___102 = 2
} ;
enum __anonenum_25043950___102 {
    PTHREAD_RWLOCK_PREFER_READER_NP___102 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___102 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___102 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___102 = 0
} ;
enum __anonenum_436439511___102 {
    PTHREAD_INHERIT_SCHED___102 = 0,
    PTHREAD_EXPLICIT_SCHED___102 = 1
} ;
enum __anonenum_998661166___102 {
    PTHREAD_SCOPE_SYSTEM___102 = 0,
    PTHREAD_SCOPE_PROCESS___102 = 1
} ;
enum __anonenum_146137331___102 {
    PTHREAD_PROCESS_PRIVATE___102 = 0,
    PTHREAD_PROCESS_SHARED___102 = 1
} ;
enum __anonenum_53396917___102 {
    PTHREAD_CANCEL_ENABLE___102 = 0,
    PTHREAD_CANCEL_DISABLE___102 = 1
} ;
enum __anonenum_904563783___102 {
    PTHREAD_CANCEL_DEFERRED___102 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___102 = 1
} ;
enum __anonenum_672052974___102 {
    SSL_CT_VALIDATION_PERMISSIVE___102 = 0,
    SSL_CT_VALIDATION_STRICT___102 = 1
} ;
enum __anonenum_437032235___103 {
    _PC_LINK_MAX___103 = 0,
    _PC_MAX_CANON___103 = 1,
    _PC_MAX_INPUT___103 = 2,
    _PC_NAME_MAX___103 = 3,
    _PC_PATH_MAX___103 = 4,
    _PC_PIPE_BUF___103 = 5,
    _PC_CHOWN_RESTRICTED___103 = 6,
    _PC_NO_TRUNC___103 = 7,
    _PC_VDISABLE___103 = 8,
    _PC_SYNC_IO___103 = 9,
    _PC_ASYNC_IO___103 = 10,
    _PC_PRIO_IO___103 = 11,
    _PC_SOCK_MAXBUF___103 = 12,
    _PC_FILESIZEBITS___103 = 13,
    _PC_REC_INCR_XFER_SIZE___103 = 14,
    _PC_REC_MAX_XFER_SIZE___103 = 15,
    _PC_REC_MIN_XFER_SIZE___103 = 16,
    _PC_REC_XFER_ALIGN___103 = 17,
    _PC_ALLOC_SIZE_MIN___103 = 18,
    _PC_SYMLINK_MAX___103 = 19,
    _PC_2_SYMLINKS___103 = 20
} ;
enum __anonenum_315186338___103 {
    _SC_ARG_MAX___103 = 0,
    _SC_CHILD_MAX___103 = 1,
    _SC_CLK_TCK___103 = 2,
    _SC_NGROUPS_MAX___103 = 3,
    _SC_OPEN_MAX___103 = 4,
    _SC_STREAM_MAX___103 = 5,
    _SC_TZNAME_MAX___103 = 6,
    _SC_JOB_CONTROL___103 = 7,
    _SC_SAVED_IDS___103 = 8,
    _SC_REALTIME_SIGNALS___103 = 9,
    _SC_PRIORITY_SCHEDULING___103 = 10,
    _SC_TIMERS___103 = 11,
    _SC_ASYNCHRONOUS_IO___103 = 12,
    _SC_PRIORITIZED_IO___103 = 13,
    _SC_SYNCHRONIZED_IO___103 = 14,
    _SC_FSYNC___103 = 15,
    _SC_MAPPED_FILES___103 = 16,
    _SC_MEMLOCK___103 = 17,
    _SC_MEMLOCK_RANGE___103 = 18,
    _SC_MEMORY_PROTECTION___103 = 19,
    _SC_MESSAGE_PASSING___103 = 20,
    _SC_SEMAPHORES___103 = 21,
    _SC_SHARED_MEMORY_OBJECTS___103 = 22,
    _SC_AIO_LISTIO_MAX___103 = 23,
    _SC_AIO_MAX___103 = 24,
    _SC_AIO_PRIO_DELTA_MAX___103 = 25,
    _SC_DELAYTIMER_MAX___103 = 26,
    _SC_MQ_OPEN_MAX___103 = 27,
    _SC_MQ_PRIO_MAX___103 = 28,
    _SC_VERSION___103 = 29,
    _SC_PAGESIZE___103 = 30,
    _SC_RTSIG_MAX___103 = 31,
    _SC_SEM_NSEMS_MAX___103 = 32,
    _SC_SEM_VALUE_MAX___103 = 33,
    _SC_SIGQUEUE_MAX___103 = 34,
    _SC_TIMER_MAX___103 = 35,
    _SC_BC_BASE_MAX___103 = 36,
    _SC_BC_DIM_MAX___103 = 37,
    _SC_BC_SCALE_MAX___103 = 38,
    _SC_BC_STRING_MAX___103 = 39,
    _SC_COLL_WEIGHTS_MAX___103 = 40,
    _SC_EQUIV_CLASS_MAX___103 = 41,
    _SC_EXPR_NEST_MAX___103 = 42,
    _SC_LINE_MAX___103 = 43,
    _SC_RE_DUP_MAX___103 = 44,
    _SC_CHARCLASS_NAME_MAX___103 = 45,
    _SC_2_VERSION___103 = 46,
    _SC_2_C_BIND___103 = 47,
    _SC_2_C_DEV___103 = 48,
    _SC_2_FORT_DEV___103 = 49,
    _SC_2_FORT_RUN___103 = 50,
    _SC_2_SW_DEV___103 = 51,
    _SC_2_LOCALEDEF___103 = 52,
    _SC_PII___103 = 53,
    _SC_PII_XTI___103 = 54,
    _SC_PII_SOCKET___103 = 55,
    _SC_PII_INTERNET___103 = 56,
    _SC_PII_OSI___103 = 57,
    _SC_POLL___103 = 58,
    _SC_SELECT___103 = 59,
    _SC_UIO_MAXIOV___103 = 60,
    _SC_IOV_MAX___103 = 60,
    _SC_PII_INTERNET_STREAM___103 = 61,
    _SC_PII_INTERNET_DGRAM___103 = 62,
    _SC_PII_OSI_COTS___103 = 63,
    _SC_PII_OSI_CLTS___103 = 64,
    _SC_PII_OSI_M___103 = 65,
    _SC_T_IOV_MAX___103 = 66,
    _SC_THREADS___103 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___103 = 68,
    _SC_GETGR_R_SIZE_MAX___103 = 69,
    _SC_GETPW_R_SIZE_MAX___103 = 70,
    _SC_LOGIN_NAME_MAX___103 = 71,
    _SC_TTY_NAME_MAX___103 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___103 = 73,
    _SC_THREAD_KEYS_MAX___103 = 74,
    _SC_THREAD_STACK_MIN___103 = 75,
    _SC_THREAD_THREADS_MAX___103 = 76,
    _SC_THREAD_ATTR_STACKADDR___103 = 77,
    _SC_THREAD_ATTR_STACKSIZE___103 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___103 = 79,
    _SC_THREAD_PRIO_INHERIT___103 = 80,
    _SC_THREAD_PRIO_PROTECT___103 = 81,
    _SC_THREAD_PROCESS_SHARED___103 = 82,
    _SC_NPROCESSORS_CONF___103 = 83,
    _SC_NPROCESSORS_ONLN___103 = 84,
    _SC_PHYS_PAGES___103 = 85,
    _SC_AVPHYS_PAGES___103 = 86,
    _SC_ATEXIT_MAX___103 = 87,
    _SC_PASS_MAX___103 = 88,
    _SC_XOPEN_VERSION___103 = 89,
    _SC_XOPEN_XCU_VERSION___103 = 90,
    _SC_XOPEN_UNIX___103 = 91,
    _SC_XOPEN_CRYPT___103 = 92,
    _SC_XOPEN_ENH_I18N___103 = 93,
    _SC_XOPEN_SHM___103 = 94,
    _SC_2_CHAR_TERM___103 = 95,
    _SC_2_C_VERSION___103 = 96,
    _SC_2_UPE___103 = 97,
    _SC_XOPEN_XPG2___103 = 98,
    _SC_XOPEN_XPG3___103 = 99,
    _SC_XOPEN_XPG4___103 = 100,
    _SC_CHAR_BIT___103 = 101,
    _SC_CHAR_MAX___103 = 102,
    _SC_CHAR_MIN___103 = 103,
    _SC_INT_MAX___103 = 104,
    _SC_INT_MIN___103 = 105,
    _SC_LONG_BIT___103 = 106,
    _SC_WORD_BIT___103 = 107,
    _SC_MB_LEN_MAX___103 = 108,
    _SC_NZERO___103 = 109,
    _SC_SSIZE_MAX___103 = 110,
    _SC_SCHAR_MAX___103 = 111,
    _SC_SCHAR_MIN___103 = 112,
    _SC_SHRT_MAX___103 = 113,
    _SC_SHRT_MIN___103 = 114,
    _SC_UCHAR_MAX___103 = 115,
    _SC_UINT_MAX___103 = 116,
    _SC_ULONG_MAX___103 = 117,
    _SC_USHRT_MAX___103 = 118,
    _SC_NL_ARGMAX___103 = 119,
    _SC_NL_LANGMAX___103 = 120,
    _SC_NL_MSGMAX___103 = 121,
    _SC_NL_NMAX___103 = 122,
    _SC_NL_SETMAX___103 = 123,
    _SC_NL_TEXTMAX___103 = 124,
    _SC_XBS5_ILP32_OFF32___103 = 125,
    _SC_XBS5_ILP32_OFFBIG___103 = 126,
    _SC_XBS5_LP64_OFF64___103 = 127,
    _SC_XBS5_LPBIG_OFFBIG___103 = 128,
    _SC_XOPEN_LEGACY___103 = 129,
    _SC_XOPEN_REALTIME___103 = 130,
    _SC_XOPEN_REALTIME_THREADS___103 = 131,
    _SC_ADVISORY_INFO___103 = 132,
    _SC_BARRIERS___103 = 133,
    _SC_BASE___103 = 134,
    _SC_C_LANG_SUPPORT___103 = 135,
    _SC_C_LANG_SUPPORT_R___103 = 136,
    _SC_CLOCK_SELECTION___103 = 137,
    _SC_CPUTIME___103 = 138,
    _SC_THREAD_CPUTIME___103 = 139,
    _SC_DEVICE_IO___103 = 140,
    _SC_DEVICE_SPECIFIC___103 = 141,
    _SC_DEVICE_SPECIFIC_R___103 = 142,
    _SC_FD_MGMT___103 = 143,
    _SC_FIFO___103 = 144,
    _SC_PIPE___103 = 145,
    _SC_FILE_ATTRIBUTES___103 = 146,
    _SC_FILE_LOCKING___103 = 147,
    _SC_FILE_SYSTEM___103 = 148,
    _SC_MONOTONIC_CLOCK___103 = 149,
    _SC_MULTI_PROCESS___103 = 150,
    _SC_SINGLE_PROCESS___103 = 151,
    _SC_NETWORKING___103 = 152,
    _SC_READER_WRITER_LOCKS___103 = 153,
    _SC_SPIN_LOCKS___103 = 154,
    _SC_REGEXP___103 = 155,
    _SC_REGEX_VERSION___103 = 156,
    _SC_SHELL___103 = 157,
    _SC_SIGNALS___103 = 158,
    _SC_SPAWN___103 = 159,
    _SC_SPORADIC_SERVER___103 = 160,
    _SC_THREAD_SPORADIC_SERVER___103 = 161,
    _SC_SYSTEM_DATABASE___103 = 162,
    _SC_SYSTEM_DATABASE_R___103 = 163,
    _SC_TIMEOUTS___103 = 164,
    _SC_TYPED_MEMORY_OBJECTS___103 = 165,
    _SC_USER_GROUPS___103 = 166,
    _SC_USER_GROUPS_R___103 = 167,
    _SC_2_PBS___103 = 168,
    _SC_2_PBS_ACCOUNTING___103 = 169,
    _SC_2_PBS_LOCATE___103 = 170,
    _SC_2_PBS_MESSAGE___103 = 171,
    _SC_2_PBS_TRACK___103 = 172,
    _SC_SYMLOOP_MAX___103 = 173,
    _SC_STREAMS___103 = 174,
    _SC_2_PBS_CHECKPOINT___103 = 175,
    _SC_V6_ILP32_OFF32___103 = 176,
    _SC_V6_ILP32_OFFBIG___103 = 177,
    _SC_V6_LP64_OFF64___103 = 178,
    _SC_V6_LPBIG_OFFBIG___103 = 179,
    _SC_HOST_NAME_MAX___103 = 180,
    _SC_TRACE___103 = 181,
    _SC_TRACE_EVENT_FILTER___103 = 182,
    _SC_TRACE_INHERIT___103 = 183,
    _SC_TRACE_LOG___103 = 184,
    _SC_LEVEL1_ICACHE_SIZE___103 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___103 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___103 = 187,
    _SC_LEVEL1_DCACHE_SIZE___103 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___103 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___103 = 190,
    _SC_LEVEL2_CACHE_SIZE___103 = 191,
    _SC_LEVEL2_CACHE_ASSOC___103 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___103 = 193,
    _SC_LEVEL3_CACHE_SIZE___103 = 194,
    _SC_LEVEL3_CACHE_ASSOC___103 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___103 = 196,
    _SC_LEVEL4_CACHE_SIZE___103 = 197,
    _SC_LEVEL4_CACHE_ASSOC___103 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___103 = 199,
    _SC_IPV6___103 = 235,
    _SC_RAW_SOCKETS___103 = 236,
    _SC_V7_ILP32_OFF32___103 = 237,
    _SC_V7_ILP32_OFFBIG___103 = 238,
    _SC_V7_LP64_OFF64___103 = 239,
    _SC_V7_LPBIG_OFFBIG___103 = 240,
    _SC_SS_REPL_MAX___103 = 241,
    _SC_TRACE_EVENT_NAME_MAX___103 = 242,
    _SC_TRACE_NAME_MAX___103 = 243,
    _SC_TRACE_SYS_MAX___103 = 244,
    _SC_TRACE_USER_EVENT_MAX___103 = 245,
    _SC_XOPEN_STREAMS___103 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___103 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___103 = 248
} ;
enum __anonenum_875524036___103 {
    _CS_PATH___103 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___103 = 1,
    _CS_GNU_LIBC_VERSION___103 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___103 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___103 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___103 = 5,
    _CS_LFS_CFLAGS___103 = 1000,
    _CS_LFS_LDFLAGS___103 = 1001,
    _CS_LFS_LIBS___103 = 1002,
    _CS_LFS_LINTFLAGS___103 = 1003,
    _CS_LFS64_CFLAGS___103 = 1004,
    _CS_LFS64_LDFLAGS___103 = 1005,
    _CS_LFS64_LIBS___103 = 1006,
    _CS_LFS64_LINTFLAGS___103 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___103 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___103 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___103 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___103 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___103 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___103 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___103 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___103 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___103 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___103 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___103 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___103 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___103 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___103 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___103 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___103 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___103 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___103 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___103 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___103 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___103 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___103 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___103 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___103 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___103 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___103 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___103 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___103 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___103 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___103 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___103 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___103 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___103 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___103 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___103 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___103 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___103 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___103 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___103 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___103 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___103 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___103 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___103 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___103 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___103 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___103 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___103 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___103 = 1147,
    _CS_V6_ENV___103 = 1148,
    _CS_V7_ENV___103 = 1149
} ;
enum __anonenum_513775621___103 {
    DT_UNKNOWN___103 = 0,
    DT_FIFO___103 = 1,
    DT_CHR___103 = 2,
    DT_DIR___103 = 4,
    DT_BLK___103 = 6,
    DT_REG___103 = 8,
    DT_LNK___103 = 10,
    DT_SOCK___103 = 12,
    DT_WHT___103 = 14
} ;
enum __anonenum_77002343___103 {
    SI_ASYNCNL___103 = -60,
    SI_TKILL___103 = -6,
    SI_SIGIO___103 = -5,
    SI_ASYNCIO___103 = -4,
    SI_MESGQ___103 = -3,
    SI_TIMER___103 = -2,
    SI_QUEUE___103 = -1,
    SI_USER___103 = 0,
    SI_KERNEL___103 = 128
} ;
enum __anonenum_131038172___103 {
    ILL_ILLOPC___103 = 1,
    ILL_ILLOPN___103 = 2,
    ILL_ILLADR___103 = 3,
    ILL_ILLTRP___103 = 4,
    ILL_PRVOPC___103 = 5,
    ILL_PRVREG___103 = 6,
    ILL_COPROC___103 = 7,
    ILL_BADSTK___103 = 8
} ;
enum __anonenum_452038093___103 {
    FPE_INTDIV___103 = 1,
    FPE_INTOVF___103 = 2,
    FPE_FLTDIV___103 = 3,
    FPE_FLTOVF___103 = 4,
    FPE_FLTUND___103 = 5,
    FPE_FLTRES___103 = 6,
    FPE_FLTINV___103 = 7,
    FPE_FLTSUB___103 = 8
} ;
enum __anonenum_30976155___103 {
    SEGV_MAPERR___103 = 1,
    SEGV_ACCERR___103 = 2,
    SEGV_BNDERR___103 = 3,
    SEGV_PKUERR___103 = 4
} ;
enum __anonenum_1036286214___103 {
    BUS_ADRALN___103 = 1,
    BUS_ADRERR___103 = 2,
    BUS_OBJERR___103 = 3,
    BUS_MCEERR_AR___103 = 4,
    BUS_MCEERR_AO___103 = 5
} ;
enum __anonenum_493465559___103 {
    TRAP_BRKPT___103 = 1,
    TRAP_TRACE___103 = 2
} ;
enum __anonenum_23175539___103 {
    CLD_EXITED___103 = 1,
    CLD_KILLED___103 = 2,
    CLD_DUMPED___103 = 3,
    CLD_TRAPPED___103 = 4,
    CLD_STOPPED___103 = 5,
    CLD_CONTINUED___103 = 6
} ;
enum __anonenum_111643124___103 {
    POLL_IN___103 = 1,
    POLL_OUT___103 = 2,
    POLL_MSG___103 = 3,
    POLL_ERR___103 = 4,
    POLL_PRI___103 = 5,
    POLL_HUP___103 = 6
} ;
enum __anonenum_852341087___103 {
    SIGEV_SIGNAL___103 = 0,
    SIGEV_NONE___103 = 1,
    SIGEV_THREAD___103 = 2,
    SIGEV_THREAD_ID___103 = 4
} ;
enum __anonenum_451154152___103 {
    REG_R8___103 = 0,
    REG_R9___103 = 1,
    REG_R10___103 = 2,
    REG_R11___103 = 3,
    REG_R12___103 = 4,
    REG_R13___103 = 5,
    REG_R14___103 = 6,
    REG_R15___103 = 7,
    REG_RDI___103 = 8,
    REG_RSI___103 = 9,
    REG_RBP___103 = 10,
    REG_RBX___103 = 11,
    REG_RDX___103 = 12,
    REG_RAX___103 = 13,
    REG_RCX___103 = 14,
    REG_RSP___103 = 15,
    REG_RIP___103 = 16,
    REG_EFL___103 = 17,
    REG_CSGSFS___103 = 18,
    REG_ERR___103 = 19,
    REG_TRAPNO___103 = 20,
    REG_OLDMASK___103 = 21,
    REG_CR2___103 = 22
} ;
enum __anonenum_57186863___103 {
    SS_ONSTACK___103 = 1,
    SS_DISABLE___103 = 2
} ;
enum __anonenum_83571709___103 {
    MSG_OOB___103 = 1,
    MSG_PEEK___103 = 2,
    MSG_DONTROUTE___103 = 4,
    MSG_TRYHARD___103 = 4,
    MSG_CTRUNC___103 = 8,
    MSG_PROXY___103 = 16,
    MSG_TRUNC___103 = 32,
    MSG_DONTWAIT___103 = 64,
    MSG_EOR___103 = 128,
    MSG_WAITALL___103 = 256,
    MSG_FIN___103 = 512,
    MSG_SYN___103 = 1024,
    MSG_CONFIRM___103 = 2048,
    MSG_RST___103 = 4096,
    MSG_ERRQUEUE___103 = 8192,
    MSG_NOSIGNAL___103 = 16384,
    MSG_MORE___103 = 32768,
    MSG_WAITFORONE___103 = 65536,
    MSG_BATCH___103 = 262144,
    MSG_ZEROCOPY___103 = 67108864,
    MSG_FASTOPEN___103 = 536870912,
    MSG_CMSG_CLOEXEC___103 = 1073741824
} ;
enum __anonenum_617082774___103 {
    SCM_RIGHTS___103 = 1,
    SCM_CREDENTIALS___103 = 2
} ;
enum __anonenum_606441560___103 {
    SHUT_RD___103 = 0,
    SHUT_WR___103 = 1,
    SHUT_RDWR___103 = 2
} ;
enum __anonenum_681669233___103 {
    IPPROTO_IP___103 = 0,
    IPPROTO_ICMP___103 = 1,
    IPPROTO_IGMP___103 = 2,
    IPPROTO_IPIP___103 = 4,
    IPPROTO_TCP___103 = 6,
    IPPROTO_EGP___103 = 8,
    IPPROTO_PUP___103 = 12,
    IPPROTO_UDP___103 = 17,
    IPPROTO_IDP___103 = 22,
    IPPROTO_TP___103 = 29,
    IPPROTO_DCCP___103 = 33,
    IPPROTO_IPV6___103 = 41,
    IPPROTO_RSVP___103 = 46,
    IPPROTO_GRE___103 = 47,
    IPPROTO_ESP___103 = 50,
    IPPROTO_AH___103 = 51,
    IPPROTO_MTP___103 = 92,
    IPPROTO_BEETPH___103 = 94,
    IPPROTO_ENCAP___103 = 98,
    IPPROTO_PIM___103 = 103,
    IPPROTO_COMP___103 = 108,
    IPPROTO_SCTP___103 = 132,
    IPPROTO_UDPLITE___103 = 136,
    IPPROTO_MPLS___103 = 137,
    IPPROTO_RAW___103 = 255,
    IPPROTO_MAX___103 = 256
} ;
enum __anonenum_218739988___103 {
    IPPROTO_HOPOPTS___103 = 0,
    IPPROTO_ROUTING___103 = 43,
    IPPROTO_FRAGMENT___103 = 44,
    IPPROTO_ICMPV6___103 = 58,
    IPPROTO_NONE___103 = 59,
    IPPROTO_DSTOPTS___103 = 60,
    IPPROTO_MH___103 = 135
} ;
enum __anonenum_662268580___103 {
    IPPORT_ECHO___103 = 7,
    IPPORT_DISCARD___103 = 9,
    IPPORT_SYSTAT___103 = 11,
    IPPORT_DAYTIME___103 = 13,
    IPPORT_NETSTAT___103 = 15,
    IPPORT_FTP___103 = 21,
    IPPORT_TELNET___103 = 23,
    IPPORT_SMTP___103 = 25,
    IPPORT_TIMESERVER___103 = 37,
    IPPORT_NAMESERVER___103 = 42,
    IPPORT_WHOIS___103 = 43,
    IPPORT_MTP___103 = 57,
    IPPORT_TFTP___103 = 69,
    IPPORT_RJE___103 = 77,
    IPPORT_FINGER___103 = 79,
    IPPORT_TTYLINK___103 = 87,
    IPPORT_SUPDUP___103 = 95,
    IPPORT_EXECSERVER___103 = 512,
    IPPORT_LOGINSERVER___103 = 513,
    IPPORT_CMDSERVER___103 = 514,
    IPPORT_EFSSERVER___103 = 520,
    IPPORT_BIFFUDP___103 = 512,
    IPPORT_WHOSERVER___103 = 513,
    IPPORT_ROUTESERVER___103 = 520,
    IPPORT_RESERVED___103 = 1024,
    IPPORT_USERRESERVED___103 = 5000
} ;
enum __anonenum_788308992___103 {
    TCP_ESTABLISHED___103 = 1,
    TCP_SYN_SENT___103 = 2,
    TCP_SYN_RECV___103 = 3,
    TCP_FIN_WAIT1___103 = 4,
    TCP_FIN_WAIT2___103 = 5,
    TCP_TIME_WAIT___103 = 6,
    TCP_CLOSE___103 = 7,
    TCP_CLOSE_WAIT___103 = 8,
    TCP_LAST_ACK___103 = 9,
    TCP_LISTEN___103 = 10,
    TCP_CLOSING___103 = 11
} ;
enum __anonenum_221125648___103 {
    TCP_NO_QUEUE___103 = 0,
    TCP_RECV_QUEUE___103 = 1,
    TCP_SEND_QUEUE___103 = 2,
    TCP_QUEUES_NR___103 = 3
} ;
enum __anonenum_34415463___103 {
    PTHREAD_CREATE_JOINABLE___103 = 0,
    PTHREAD_CREATE_DETACHED___103 = 1
} ;
enum __anonenum_303612439___103 {
    PTHREAD_MUTEX_TIMED_NP___103 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___103 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___103 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___103 = 3,
    PTHREAD_MUTEX_NORMAL___103 = 0,
    PTHREAD_MUTEX_RECURSIVE___103 = 1,
    PTHREAD_MUTEX_ERRORCHECK___103 = 2,
    PTHREAD_MUTEX_DEFAULT___103 = 0,
    PTHREAD_MUTEX_FAST_NP___103 = 0
} ;
enum __anonenum_931900394___103 {
    PTHREAD_MUTEX_STALLED___103 = 0,
    PTHREAD_MUTEX_STALLED_NP___103 = 0,
    PTHREAD_MUTEX_ROBUST___103 = 1,
    PTHREAD_MUTEX_ROBUST_NP___103 = 1
} ;
enum __anonenum_205214487___103 {
    PTHREAD_PRIO_NONE___103 = 0,
    PTHREAD_PRIO_INHERIT___103 = 1,
    PTHREAD_PRIO_PROTECT___103 = 2
} ;
enum __anonenum_25043950___103 {
    PTHREAD_RWLOCK_PREFER_READER_NP___103 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___103 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___103 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___103 = 0
} ;
enum __anonenum_436439511___103 {
    PTHREAD_INHERIT_SCHED___103 = 0,
    PTHREAD_EXPLICIT_SCHED___103 = 1
} ;
enum __anonenum_998661166___103 {
    PTHREAD_SCOPE_SYSTEM___103 = 0,
    PTHREAD_SCOPE_PROCESS___103 = 1
} ;
enum __anonenum_146137331___103 {
    PTHREAD_PROCESS_PRIVATE___103 = 0,
    PTHREAD_PROCESS_SHARED___103 = 1
} ;
enum __anonenum_53396917___103 {
    PTHREAD_CANCEL_ENABLE___103 = 0,
    PTHREAD_CANCEL_DISABLE___103 = 1
} ;
enum __anonenum_904563783___103 {
    PTHREAD_CANCEL_DEFERRED___103 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___103 = 1
} ;
enum __anonenum_672052974___103 {
    SSL_CT_VALIDATION_PERMISSIVE___103 = 0,
    SSL_CT_VALIDATION_STRICT___103 = 1
} ;
struct merge_options___0 {
   struct repository *repo ;
   char const   *ancestor ;
   char const   *branch1 ;
   char const   *branch2 ;
   int detect_renames ;
   enum __anonenum_detect_directory_renames_652368180 detect_directory_renames ;
   int rename_limit ;
   int rename_score ;
   int show_rename_progress ;
   long xdl_opts ;
   enum __anonenum_recursive_variant_585442255 recursive_variant ;
   int verbosity ;
   unsigned int buffer_output ;
   struct strbuf obuf ;
   char const   *subtree_shift ;
   unsigned int renormalize : 1 ;
   struct merge_options_internal___0 *priv ;
};
enum __anonenum_561748495___5 {
    RECURSE_SUBMODULES_ONLY___5 = -5,
    RECURSE_SUBMODULES_CHECK___5 = -4,
    RECURSE_SUBMODULES_ERROR___5 = -3,
    RECURSE_SUBMODULES_NONE___5 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___5 = -1,
    RECURSE_SUBMODULES_OFF___5 = 0,
    RECURSE_SUBMODULES_DEFAULT___5 = 1,
    RECURSE_SUBMODULES_ON___5 = 2
} ;
struct merge_options_internal___0 {
   int call_depth ;
   int needed_rename_limit ;
   struct hashmap current_file_dir_set ;
   struct string_list df_conflict_file_set ;
   struct unpack_trees_options unpack_opts ;
   struct index_state orig_index ;
};
struct path_hashmap_entry {
   struct hashmap_entry e ;
   char path[] ;
};
struct dir_rename_entry {
   struct hashmap_entry ent ;
   char *dir ;
   unsigned int non_unique_new_dir : 1 ;
   struct strbuf new_dir ;
   struct string_list possible_new_dirs ;
};
struct collision_entry {
   struct hashmap_entry ent ;
   char *target_file ;
   struct string_list source_files ;
   unsigned int reported_already : 1 ;
};
enum rename_type {
    RENAME_NORMAL = 0,
    RENAME_VIA_DIR = 1,
    RENAME_ADD = 2,
    RENAME_DELETE = 3,
    RENAME_ONE_FILE_TO_ONE = 4,
    RENAME_ONE_FILE_TO_TWO = 5,
    RENAME_TWO_FILES_TO_ONE = 6
} ;
struct rename_conflict_info ;
struct stage_data {
   struct diff_filespec stages[4] ;
   struct rename_conflict_info *rename_conflict_info ;
   unsigned int processed : 1 ;
};
struct rename {
   unsigned int processed : 1 ;
   struct diff_filepair *pair ;
   char const   *branch ;
   char dir_rename_original_type ;
   char *dir_rename_original_dest ;
   struct stage_data *src_entry ;
   struct stage_data *dst_entry ;
};
struct rename_conflict_info {
   enum rename_type rename_type ;
   struct rename *ren1 ;
   struct rename *ren2 ;
};
struct merge_file_info {
   struct diff_filespec blob ;
   unsigned int clean : 1 ;
   unsigned int merge : 1 ;
};
struct rename_info___0 {
   struct string_list *head_renames ;
   struct string_list *merge_renames ;
};
enum __anonenum_437032235___104 {
    _PC_LINK_MAX___104 = 0,
    _PC_MAX_CANON___104 = 1,
    _PC_MAX_INPUT___104 = 2,
    _PC_NAME_MAX___104 = 3,
    _PC_PATH_MAX___104 = 4,
    _PC_PIPE_BUF___104 = 5,
    _PC_CHOWN_RESTRICTED___104 = 6,
    _PC_NO_TRUNC___104 = 7,
    _PC_VDISABLE___104 = 8,
    _PC_SYNC_IO___104 = 9,
    _PC_ASYNC_IO___104 = 10,
    _PC_PRIO_IO___104 = 11,
    _PC_SOCK_MAXBUF___104 = 12,
    _PC_FILESIZEBITS___104 = 13,
    _PC_REC_INCR_XFER_SIZE___104 = 14,
    _PC_REC_MAX_XFER_SIZE___104 = 15,
    _PC_REC_MIN_XFER_SIZE___104 = 16,
    _PC_REC_XFER_ALIGN___104 = 17,
    _PC_ALLOC_SIZE_MIN___104 = 18,
    _PC_SYMLINK_MAX___104 = 19,
    _PC_2_SYMLINKS___104 = 20
} ;
enum __anonenum_315186338___104 {
    _SC_ARG_MAX___104 = 0,
    _SC_CHILD_MAX___104 = 1,
    _SC_CLK_TCK___104 = 2,
    _SC_NGROUPS_MAX___104 = 3,
    _SC_OPEN_MAX___104 = 4,
    _SC_STREAM_MAX___104 = 5,
    _SC_TZNAME_MAX___104 = 6,
    _SC_JOB_CONTROL___104 = 7,
    _SC_SAVED_IDS___104 = 8,
    _SC_REALTIME_SIGNALS___104 = 9,
    _SC_PRIORITY_SCHEDULING___104 = 10,
    _SC_TIMERS___104 = 11,
    _SC_ASYNCHRONOUS_IO___104 = 12,
    _SC_PRIORITIZED_IO___104 = 13,
    _SC_SYNCHRONIZED_IO___104 = 14,
    _SC_FSYNC___104 = 15,
    _SC_MAPPED_FILES___104 = 16,
    _SC_MEMLOCK___104 = 17,
    _SC_MEMLOCK_RANGE___104 = 18,
    _SC_MEMORY_PROTECTION___104 = 19,
    _SC_MESSAGE_PASSING___104 = 20,
    _SC_SEMAPHORES___104 = 21,
    _SC_SHARED_MEMORY_OBJECTS___104 = 22,
    _SC_AIO_LISTIO_MAX___104 = 23,
    _SC_AIO_MAX___104 = 24,
    _SC_AIO_PRIO_DELTA_MAX___104 = 25,
    _SC_DELAYTIMER_MAX___104 = 26,
    _SC_MQ_OPEN_MAX___104 = 27,
    _SC_MQ_PRIO_MAX___104 = 28,
    _SC_VERSION___104 = 29,
    _SC_PAGESIZE___104 = 30,
    _SC_RTSIG_MAX___104 = 31,
    _SC_SEM_NSEMS_MAX___104 = 32,
    _SC_SEM_VALUE_MAX___104 = 33,
    _SC_SIGQUEUE_MAX___104 = 34,
    _SC_TIMER_MAX___104 = 35,
    _SC_BC_BASE_MAX___104 = 36,
    _SC_BC_DIM_MAX___104 = 37,
    _SC_BC_SCALE_MAX___104 = 38,
    _SC_BC_STRING_MAX___104 = 39,
    _SC_COLL_WEIGHTS_MAX___104 = 40,
    _SC_EQUIV_CLASS_MAX___104 = 41,
    _SC_EXPR_NEST_MAX___104 = 42,
    _SC_LINE_MAX___104 = 43,
    _SC_RE_DUP_MAX___104 = 44,
    _SC_CHARCLASS_NAME_MAX___104 = 45,
    _SC_2_VERSION___104 = 46,
    _SC_2_C_BIND___104 = 47,
    _SC_2_C_DEV___104 = 48,
    _SC_2_FORT_DEV___104 = 49,
    _SC_2_FORT_RUN___104 = 50,
    _SC_2_SW_DEV___104 = 51,
    _SC_2_LOCALEDEF___104 = 52,
    _SC_PII___104 = 53,
    _SC_PII_XTI___104 = 54,
    _SC_PII_SOCKET___104 = 55,
    _SC_PII_INTERNET___104 = 56,
    _SC_PII_OSI___104 = 57,
    _SC_POLL___104 = 58,
    _SC_SELECT___104 = 59,
    _SC_UIO_MAXIOV___104 = 60,
    _SC_IOV_MAX___104 = 60,
    _SC_PII_INTERNET_STREAM___104 = 61,
    _SC_PII_INTERNET_DGRAM___104 = 62,
    _SC_PII_OSI_COTS___104 = 63,
    _SC_PII_OSI_CLTS___104 = 64,
    _SC_PII_OSI_M___104 = 65,
    _SC_T_IOV_MAX___104 = 66,
    _SC_THREADS___104 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___104 = 68,
    _SC_GETGR_R_SIZE_MAX___104 = 69,
    _SC_GETPW_R_SIZE_MAX___104 = 70,
    _SC_LOGIN_NAME_MAX___104 = 71,
    _SC_TTY_NAME_MAX___104 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___104 = 73,
    _SC_THREAD_KEYS_MAX___104 = 74,
    _SC_THREAD_STACK_MIN___104 = 75,
    _SC_THREAD_THREADS_MAX___104 = 76,
    _SC_THREAD_ATTR_STACKADDR___104 = 77,
    _SC_THREAD_ATTR_STACKSIZE___104 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___104 = 79,
    _SC_THREAD_PRIO_INHERIT___104 = 80,
    _SC_THREAD_PRIO_PROTECT___104 = 81,
    _SC_THREAD_PROCESS_SHARED___104 = 82,
    _SC_NPROCESSORS_CONF___104 = 83,
    _SC_NPROCESSORS_ONLN___104 = 84,
    _SC_PHYS_PAGES___104 = 85,
    _SC_AVPHYS_PAGES___104 = 86,
    _SC_ATEXIT_MAX___104 = 87,
    _SC_PASS_MAX___104 = 88,
    _SC_XOPEN_VERSION___104 = 89,
    _SC_XOPEN_XCU_VERSION___104 = 90,
    _SC_XOPEN_UNIX___104 = 91,
    _SC_XOPEN_CRYPT___104 = 92,
    _SC_XOPEN_ENH_I18N___104 = 93,
    _SC_XOPEN_SHM___104 = 94,
    _SC_2_CHAR_TERM___104 = 95,
    _SC_2_C_VERSION___104 = 96,
    _SC_2_UPE___104 = 97,
    _SC_XOPEN_XPG2___104 = 98,
    _SC_XOPEN_XPG3___104 = 99,
    _SC_XOPEN_XPG4___104 = 100,
    _SC_CHAR_BIT___104 = 101,
    _SC_CHAR_MAX___104 = 102,
    _SC_CHAR_MIN___104 = 103,
    _SC_INT_MAX___104 = 104,
    _SC_INT_MIN___104 = 105,
    _SC_LONG_BIT___104 = 106,
    _SC_WORD_BIT___104 = 107,
    _SC_MB_LEN_MAX___104 = 108,
    _SC_NZERO___104 = 109,
    _SC_SSIZE_MAX___104 = 110,
    _SC_SCHAR_MAX___104 = 111,
    _SC_SCHAR_MIN___104 = 112,
    _SC_SHRT_MAX___104 = 113,
    _SC_SHRT_MIN___104 = 114,
    _SC_UCHAR_MAX___104 = 115,
    _SC_UINT_MAX___104 = 116,
    _SC_ULONG_MAX___104 = 117,
    _SC_USHRT_MAX___104 = 118,
    _SC_NL_ARGMAX___104 = 119,
    _SC_NL_LANGMAX___104 = 120,
    _SC_NL_MSGMAX___104 = 121,
    _SC_NL_NMAX___104 = 122,
    _SC_NL_SETMAX___104 = 123,
    _SC_NL_TEXTMAX___104 = 124,
    _SC_XBS5_ILP32_OFF32___104 = 125,
    _SC_XBS5_ILP32_OFFBIG___104 = 126,
    _SC_XBS5_LP64_OFF64___104 = 127,
    _SC_XBS5_LPBIG_OFFBIG___104 = 128,
    _SC_XOPEN_LEGACY___104 = 129,
    _SC_XOPEN_REALTIME___104 = 130,
    _SC_XOPEN_REALTIME_THREADS___104 = 131,
    _SC_ADVISORY_INFO___104 = 132,
    _SC_BARRIERS___104 = 133,
    _SC_BASE___104 = 134,
    _SC_C_LANG_SUPPORT___104 = 135,
    _SC_C_LANG_SUPPORT_R___104 = 136,
    _SC_CLOCK_SELECTION___104 = 137,
    _SC_CPUTIME___104 = 138,
    _SC_THREAD_CPUTIME___104 = 139,
    _SC_DEVICE_IO___104 = 140,
    _SC_DEVICE_SPECIFIC___104 = 141,
    _SC_DEVICE_SPECIFIC_R___104 = 142,
    _SC_FD_MGMT___104 = 143,
    _SC_FIFO___104 = 144,
    _SC_PIPE___104 = 145,
    _SC_FILE_ATTRIBUTES___104 = 146,
    _SC_FILE_LOCKING___104 = 147,
    _SC_FILE_SYSTEM___104 = 148,
    _SC_MONOTONIC_CLOCK___104 = 149,
    _SC_MULTI_PROCESS___104 = 150,
    _SC_SINGLE_PROCESS___104 = 151,
    _SC_NETWORKING___104 = 152,
    _SC_READER_WRITER_LOCKS___104 = 153,
    _SC_SPIN_LOCKS___104 = 154,
    _SC_REGEXP___104 = 155,
    _SC_REGEX_VERSION___104 = 156,
    _SC_SHELL___104 = 157,
    _SC_SIGNALS___104 = 158,
    _SC_SPAWN___104 = 159,
    _SC_SPORADIC_SERVER___104 = 160,
    _SC_THREAD_SPORADIC_SERVER___104 = 161,
    _SC_SYSTEM_DATABASE___104 = 162,
    _SC_SYSTEM_DATABASE_R___104 = 163,
    _SC_TIMEOUTS___104 = 164,
    _SC_TYPED_MEMORY_OBJECTS___104 = 165,
    _SC_USER_GROUPS___104 = 166,
    _SC_USER_GROUPS_R___104 = 167,
    _SC_2_PBS___104 = 168,
    _SC_2_PBS_ACCOUNTING___104 = 169,
    _SC_2_PBS_LOCATE___104 = 170,
    _SC_2_PBS_MESSAGE___104 = 171,
    _SC_2_PBS_TRACK___104 = 172,
    _SC_SYMLOOP_MAX___104 = 173,
    _SC_STREAMS___104 = 174,
    _SC_2_PBS_CHECKPOINT___104 = 175,
    _SC_V6_ILP32_OFF32___104 = 176,
    _SC_V6_ILP32_OFFBIG___104 = 177,
    _SC_V6_LP64_OFF64___104 = 178,
    _SC_V6_LPBIG_OFFBIG___104 = 179,
    _SC_HOST_NAME_MAX___104 = 180,
    _SC_TRACE___104 = 181,
    _SC_TRACE_EVENT_FILTER___104 = 182,
    _SC_TRACE_INHERIT___104 = 183,
    _SC_TRACE_LOG___104 = 184,
    _SC_LEVEL1_ICACHE_SIZE___104 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___104 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___104 = 187,
    _SC_LEVEL1_DCACHE_SIZE___104 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___104 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___104 = 190,
    _SC_LEVEL2_CACHE_SIZE___104 = 191,
    _SC_LEVEL2_CACHE_ASSOC___104 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___104 = 193,
    _SC_LEVEL3_CACHE_SIZE___104 = 194,
    _SC_LEVEL3_CACHE_ASSOC___104 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___104 = 196,
    _SC_LEVEL4_CACHE_SIZE___104 = 197,
    _SC_LEVEL4_CACHE_ASSOC___104 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___104 = 199,
    _SC_IPV6___104 = 235,
    _SC_RAW_SOCKETS___104 = 236,
    _SC_V7_ILP32_OFF32___104 = 237,
    _SC_V7_ILP32_OFFBIG___104 = 238,
    _SC_V7_LP64_OFF64___104 = 239,
    _SC_V7_LPBIG_OFFBIG___104 = 240,
    _SC_SS_REPL_MAX___104 = 241,
    _SC_TRACE_EVENT_NAME_MAX___104 = 242,
    _SC_TRACE_NAME_MAX___104 = 243,
    _SC_TRACE_SYS_MAX___104 = 244,
    _SC_TRACE_USER_EVENT_MAX___104 = 245,
    _SC_XOPEN_STREAMS___104 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___104 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___104 = 248
} ;
enum __anonenum_875524036___104 {
    _CS_PATH___104 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___104 = 1,
    _CS_GNU_LIBC_VERSION___104 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___104 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___104 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___104 = 5,
    _CS_LFS_CFLAGS___104 = 1000,
    _CS_LFS_LDFLAGS___104 = 1001,
    _CS_LFS_LIBS___104 = 1002,
    _CS_LFS_LINTFLAGS___104 = 1003,
    _CS_LFS64_CFLAGS___104 = 1004,
    _CS_LFS64_LDFLAGS___104 = 1005,
    _CS_LFS64_LIBS___104 = 1006,
    _CS_LFS64_LINTFLAGS___104 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___104 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___104 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___104 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___104 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___104 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___104 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___104 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___104 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___104 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___104 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___104 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___104 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___104 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___104 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___104 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___104 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___104 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___104 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___104 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___104 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___104 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___104 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___104 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___104 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___104 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___104 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___104 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___104 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___104 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___104 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___104 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___104 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___104 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___104 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___104 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___104 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___104 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___104 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___104 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___104 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___104 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___104 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___104 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___104 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___104 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___104 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___104 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___104 = 1147,
    _CS_V6_ENV___104 = 1148,
    _CS_V7_ENV___104 = 1149
} ;
enum __anonenum_513775621___104 {
    DT_UNKNOWN___104 = 0,
    DT_FIFO___104 = 1,
    DT_CHR___104 = 2,
    DT_DIR___104 = 4,
    DT_BLK___104 = 6,
    DT_REG___104 = 8,
    DT_LNK___104 = 10,
    DT_SOCK___104 = 12,
    DT_WHT___104 = 14
} ;
enum __anonenum_77002343___104 {
    SI_ASYNCNL___104 = -60,
    SI_TKILL___104 = -6,
    SI_SIGIO___104 = -5,
    SI_ASYNCIO___104 = -4,
    SI_MESGQ___104 = -3,
    SI_TIMER___104 = -2,
    SI_QUEUE___104 = -1,
    SI_USER___104 = 0,
    SI_KERNEL___104 = 128
} ;
enum __anonenum_131038172___104 {
    ILL_ILLOPC___104 = 1,
    ILL_ILLOPN___104 = 2,
    ILL_ILLADR___104 = 3,
    ILL_ILLTRP___104 = 4,
    ILL_PRVOPC___104 = 5,
    ILL_PRVREG___104 = 6,
    ILL_COPROC___104 = 7,
    ILL_BADSTK___104 = 8
} ;
enum __anonenum_452038093___104 {
    FPE_INTDIV___104 = 1,
    FPE_INTOVF___104 = 2,
    FPE_FLTDIV___104 = 3,
    FPE_FLTOVF___104 = 4,
    FPE_FLTUND___104 = 5,
    FPE_FLTRES___104 = 6,
    FPE_FLTINV___104 = 7,
    FPE_FLTSUB___104 = 8
} ;
enum __anonenum_30976155___104 {
    SEGV_MAPERR___104 = 1,
    SEGV_ACCERR___104 = 2,
    SEGV_BNDERR___104 = 3,
    SEGV_PKUERR___104 = 4
} ;
enum __anonenum_1036286214___104 {
    BUS_ADRALN___104 = 1,
    BUS_ADRERR___104 = 2,
    BUS_OBJERR___104 = 3,
    BUS_MCEERR_AR___104 = 4,
    BUS_MCEERR_AO___104 = 5
} ;
enum __anonenum_493465559___104 {
    TRAP_BRKPT___104 = 1,
    TRAP_TRACE___104 = 2
} ;
enum __anonenum_23175539___104 {
    CLD_EXITED___104 = 1,
    CLD_KILLED___104 = 2,
    CLD_DUMPED___104 = 3,
    CLD_TRAPPED___104 = 4,
    CLD_STOPPED___104 = 5,
    CLD_CONTINUED___104 = 6
} ;
enum __anonenum_111643124___104 {
    POLL_IN___104 = 1,
    POLL_OUT___104 = 2,
    POLL_MSG___104 = 3,
    POLL_ERR___104 = 4,
    POLL_PRI___104 = 5,
    POLL_HUP___104 = 6
} ;
enum __anonenum_852341087___104 {
    SIGEV_SIGNAL___104 = 0,
    SIGEV_NONE___104 = 1,
    SIGEV_THREAD___104 = 2,
    SIGEV_THREAD_ID___104 = 4
} ;
enum __anonenum_451154152___104 {
    REG_R8___104 = 0,
    REG_R9___104 = 1,
    REG_R10___104 = 2,
    REG_R11___104 = 3,
    REG_R12___104 = 4,
    REG_R13___104 = 5,
    REG_R14___104 = 6,
    REG_R15___104 = 7,
    REG_RDI___104 = 8,
    REG_RSI___104 = 9,
    REG_RBP___104 = 10,
    REG_RBX___104 = 11,
    REG_RDX___104 = 12,
    REG_RAX___104 = 13,
    REG_RCX___104 = 14,
    REG_RSP___104 = 15,
    REG_RIP___104 = 16,
    REG_EFL___104 = 17,
    REG_CSGSFS___104 = 18,
    REG_ERR___104 = 19,
    REG_TRAPNO___104 = 20,
    REG_OLDMASK___104 = 21,
    REG_CR2___104 = 22
} ;
enum __anonenum_57186863___104 {
    SS_ONSTACK___104 = 1,
    SS_DISABLE___104 = 2
} ;
enum __anonenum_83571709___104 {
    MSG_OOB___104 = 1,
    MSG_PEEK___104 = 2,
    MSG_DONTROUTE___104 = 4,
    MSG_TRYHARD___104 = 4,
    MSG_CTRUNC___104 = 8,
    MSG_PROXY___104 = 16,
    MSG_TRUNC___104 = 32,
    MSG_DONTWAIT___104 = 64,
    MSG_EOR___104 = 128,
    MSG_WAITALL___104 = 256,
    MSG_FIN___104 = 512,
    MSG_SYN___104 = 1024,
    MSG_CONFIRM___104 = 2048,
    MSG_RST___104 = 4096,
    MSG_ERRQUEUE___104 = 8192,
    MSG_NOSIGNAL___104 = 16384,
    MSG_MORE___104 = 32768,
    MSG_WAITFORONE___104 = 65536,
    MSG_BATCH___104 = 262144,
    MSG_ZEROCOPY___104 = 67108864,
    MSG_FASTOPEN___104 = 536870912,
    MSG_CMSG_CLOEXEC___104 = 1073741824
} ;
enum __anonenum_617082774___104 {
    SCM_RIGHTS___104 = 1,
    SCM_CREDENTIALS___104 = 2
} ;
enum __anonenum_606441560___104 {
    SHUT_RD___104 = 0,
    SHUT_WR___104 = 1,
    SHUT_RDWR___104 = 2
} ;
enum __anonenum_681669233___104 {
    IPPROTO_IP___104 = 0,
    IPPROTO_ICMP___104 = 1,
    IPPROTO_IGMP___104 = 2,
    IPPROTO_IPIP___104 = 4,
    IPPROTO_TCP___104 = 6,
    IPPROTO_EGP___104 = 8,
    IPPROTO_PUP___104 = 12,
    IPPROTO_UDP___104 = 17,
    IPPROTO_IDP___104 = 22,
    IPPROTO_TP___104 = 29,
    IPPROTO_DCCP___104 = 33,
    IPPROTO_IPV6___104 = 41,
    IPPROTO_RSVP___104 = 46,
    IPPROTO_GRE___104 = 47,
    IPPROTO_ESP___104 = 50,
    IPPROTO_AH___104 = 51,
    IPPROTO_MTP___104 = 92,
    IPPROTO_BEETPH___104 = 94,
    IPPROTO_ENCAP___104 = 98,
    IPPROTO_PIM___104 = 103,
    IPPROTO_COMP___104 = 108,
    IPPROTO_SCTP___104 = 132,
    IPPROTO_UDPLITE___104 = 136,
    IPPROTO_MPLS___104 = 137,
    IPPROTO_RAW___104 = 255,
    IPPROTO_MAX___104 = 256
} ;
enum __anonenum_218739988___104 {
    IPPROTO_HOPOPTS___104 = 0,
    IPPROTO_ROUTING___104 = 43,
    IPPROTO_FRAGMENT___104 = 44,
    IPPROTO_ICMPV6___104 = 58,
    IPPROTO_NONE___104 = 59,
    IPPROTO_DSTOPTS___104 = 60,
    IPPROTO_MH___104 = 135
} ;
enum __anonenum_662268580___104 {
    IPPORT_ECHO___104 = 7,
    IPPORT_DISCARD___104 = 9,
    IPPORT_SYSTAT___104 = 11,
    IPPORT_DAYTIME___104 = 13,
    IPPORT_NETSTAT___104 = 15,
    IPPORT_FTP___104 = 21,
    IPPORT_TELNET___104 = 23,
    IPPORT_SMTP___104 = 25,
    IPPORT_TIMESERVER___104 = 37,
    IPPORT_NAMESERVER___104 = 42,
    IPPORT_WHOIS___104 = 43,
    IPPORT_MTP___104 = 57,
    IPPORT_TFTP___104 = 69,
    IPPORT_RJE___104 = 77,
    IPPORT_FINGER___104 = 79,
    IPPORT_TTYLINK___104 = 87,
    IPPORT_SUPDUP___104 = 95,
    IPPORT_EXECSERVER___104 = 512,
    IPPORT_LOGINSERVER___104 = 513,
    IPPORT_CMDSERVER___104 = 514,
    IPPORT_EFSSERVER___104 = 520,
    IPPORT_BIFFUDP___104 = 512,
    IPPORT_WHOSERVER___104 = 513,
    IPPORT_ROUTESERVER___104 = 520,
    IPPORT_RESERVED___104 = 1024,
    IPPORT_USERRESERVED___104 = 5000
} ;
enum __anonenum_788308992___104 {
    TCP_ESTABLISHED___104 = 1,
    TCP_SYN_SENT___104 = 2,
    TCP_SYN_RECV___104 = 3,
    TCP_FIN_WAIT1___104 = 4,
    TCP_FIN_WAIT2___104 = 5,
    TCP_TIME_WAIT___104 = 6,
    TCP_CLOSE___104 = 7,
    TCP_CLOSE_WAIT___104 = 8,
    TCP_LAST_ACK___104 = 9,
    TCP_LISTEN___104 = 10,
    TCP_CLOSING___104 = 11
} ;
enum __anonenum_221125648___104 {
    TCP_NO_QUEUE___104 = 0,
    TCP_RECV_QUEUE___104 = 1,
    TCP_SEND_QUEUE___104 = 2,
    TCP_QUEUES_NR___104 = 3
} ;
enum __anonenum_34415463___104 {
    PTHREAD_CREATE_JOINABLE___104 = 0,
    PTHREAD_CREATE_DETACHED___104 = 1
} ;
enum __anonenum_303612439___104 {
    PTHREAD_MUTEX_TIMED_NP___104 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___104 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___104 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___104 = 3,
    PTHREAD_MUTEX_NORMAL___104 = 0,
    PTHREAD_MUTEX_RECURSIVE___104 = 1,
    PTHREAD_MUTEX_ERRORCHECK___104 = 2,
    PTHREAD_MUTEX_DEFAULT___104 = 0,
    PTHREAD_MUTEX_FAST_NP___104 = 0
} ;
enum __anonenum_931900394___104 {
    PTHREAD_MUTEX_STALLED___104 = 0,
    PTHREAD_MUTEX_STALLED_NP___104 = 0,
    PTHREAD_MUTEX_ROBUST___104 = 1,
    PTHREAD_MUTEX_ROBUST_NP___104 = 1
} ;
enum __anonenum_205214487___104 {
    PTHREAD_PRIO_NONE___104 = 0,
    PTHREAD_PRIO_INHERIT___104 = 1,
    PTHREAD_PRIO_PROTECT___104 = 2
} ;
enum __anonenum_25043950___104 {
    PTHREAD_RWLOCK_PREFER_READER_NP___104 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___104 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___104 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___104 = 0
} ;
enum __anonenum_436439511___104 {
    PTHREAD_INHERIT_SCHED___104 = 0,
    PTHREAD_EXPLICIT_SCHED___104 = 1
} ;
enum __anonenum_998661166___104 {
    PTHREAD_SCOPE_SYSTEM___104 = 0,
    PTHREAD_SCOPE_PROCESS___104 = 1
} ;
enum __anonenum_146137331___104 {
    PTHREAD_PROCESS_PRIVATE___104 = 0,
    PTHREAD_PROCESS_SHARED___104 = 1
} ;
enum __anonenum_53396917___104 {
    PTHREAD_CANCEL_ENABLE___104 = 0,
    PTHREAD_CANCEL_DISABLE___104 = 1
} ;
enum __anonenum_904563783___104 {
    PTHREAD_CANCEL_DEFERRED___104 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___104 = 1
} ;
enum __anonenum_672052974___104 {
    SSL_CT_VALIDATION_PERMISSIVE___104 = 0,
    SSL_CT_VALIDATION_STRICT___104 = 1
} ;
struct resolve_undo_info {
   unsigned int mode[3] ;
   struct object_id oid[3] ;
};
enum __anonenum_437032235___105 {
    _PC_LINK_MAX___105 = 0,
    _PC_MAX_CANON___105 = 1,
    _PC_MAX_INPUT___105 = 2,
    _PC_NAME_MAX___105 = 3,
    _PC_PATH_MAX___105 = 4,
    _PC_PIPE_BUF___105 = 5,
    _PC_CHOWN_RESTRICTED___105 = 6,
    _PC_NO_TRUNC___105 = 7,
    _PC_VDISABLE___105 = 8,
    _PC_SYNC_IO___105 = 9,
    _PC_ASYNC_IO___105 = 10,
    _PC_PRIO_IO___105 = 11,
    _PC_SOCK_MAXBUF___105 = 12,
    _PC_FILESIZEBITS___105 = 13,
    _PC_REC_INCR_XFER_SIZE___105 = 14,
    _PC_REC_MAX_XFER_SIZE___105 = 15,
    _PC_REC_MIN_XFER_SIZE___105 = 16,
    _PC_REC_XFER_ALIGN___105 = 17,
    _PC_ALLOC_SIZE_MIN___105 = 18,
    _PC_SYMLINK_MAX___105 = 19,
    _PC_2_SYMLINKS___105 = 20
} ;
enum __anonenum_315186338___105 {
    _SC_ARG_MAX___105 = 0,
    _SC_CHILD_MAX___105 = 1,
    _SC_CLK_TCK___105 = 2,
    _SC_NGROUPS_MAX___105 = 3,
    _SC_OPEN_MAX___105 = 4,
    _SC_STREAM_MAX___105 = 5,
    _SC_TZNAME_MAX___105 = 6,
    _SC_JOB_CONTROL___105 = 7,
    _SC_SAVED_IDS___105 = 8,
    _SC_REALTIME_SIGNALS___105 = 9,
    _SC_PRIORITY_SCHEDULING___105 = 10,
    _SC_TIMERS___105 = 11,
    _SC_ASYNCHRONOUS_IO___105 = 12,
    _SC_PRIORITIZED_IO___105 = 13,
    _SC_SYNCHRONIZED_IO___105 = 14,
    _SC_FSYNC___105 = 15,
    _SC_MAPPED_FILES___105 = 16,
    _SC_MEMLOCK___105 = 17,
    _SC_MEMLOCK_RANGE___105 = 18,
    _SC_MEMORY_PROTECTION___105 = 19,
    _SC_MESSAGE_PASSING___105 = 20,
    _SC_SEMAPHORES___105 = 21,
    _SC_SHARED_MEMORY_OBJECTS___105 = 22,
    _SC_AIO_LISTIO_MAX___105 = 23,
    _SC_AIO_MAX___105 = 24,
    _SC_AIO_PRIO_DELTA_MAX___105 = 25,
    _SC_DELAYTIMER_MAX___105 = 26,
    _SC_MQ_OPEN_MAX___105 = 27,
    _SC_MQ_PRIO_MAX___105 = 28,
    _SC_VERSION___105 = 29,
    _SC_PAGESIZE___105 = 30,
    _SC_RTSIG_MAX___105 = 31,
    _SC_SEM_NSEMS_MAX___105 = 32,
    _SC_SEM_VALUE_MAX___105 = 33,
    _SC_SIGQUEUE_MAX___105 = 34,
    _SC_TIMER_MAX___105 = 35,
    _SC_BC_BASE_MAX___105 = 36,
    _SC_BC_DIM_MAX___105 = 37,
    _SC_BC_SCALE_MAX___105 = 38,
    _SC_BC_STRING_MAX___105 = 39,
    _SC_COLL_WEIGHTS_MAX___105 = 40,
    _SC_EQUIV_CLASS_MAX___105 = 41,
    _SC_EXPR_NEST_MAX___105 = 42,
    _SC_LINE_MAX___105 = 43,
    _SC_RE_DUP_MAX___105 = 44,
    _SC_CHARCLASS_NAME_MAX___105 = 45,
    _SC_2_VERSION___105 = 46,
    _SC_2_C_BIND___105 = 47,
    _SC_2_C_DEV___105 = 48,
    _SC_2_FORT_DEV___105 = 49,
    _SC_2_FORT_RUN___105 = 50,
    _SC_2_SW_DEV___105 = 51,
    _SC_2_LOCALEDEF___105 = 52,
    _SC_PII___105 = 53,
    _SC_PII_XTI___105 = 54,
    _SC_PII_SOCKET___105 = 55,
    _SC_PII_INTERNET___105 = 56,
    _SC_PII_OSI___105 = 57,
    _SC_POLL___105 = 58,
    _SC_SELECT___105 = 59,
    _SC_UIO_MAXIOV___105 = 60,
    _SC_IOV_MAX___105 = 60,
    _SC_PII_INTERNET_STREAM___105 = 61,
    _SC_PII_INTERNET_DGRAM___105 = 62,
    _SC_PII_OSI_COTS___105 = 63,
    _SC_PII_OSI_CLTS___105 = 64,
    _SC_PII_OSI_M___105 = 65,
    _SC_T_IOV_MAX___105 = 66,
    _SC_THREADS___105 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___105 = 68,
    _SC_GETGR_R_SIZE_MAX___105 = 69,
    _SC_GETPW_R_SIZE_MAX___105 = 70,
    _SC_LOGIN_NAME_MAX___105 = 71,
    _SC_TTY_NAME_MAX___105 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___105 = 73,
    _SC_THREAD_KEYS_MAX___105 = 74,
    _SC_THREAD_STACK_MIN___105 = 75,
    _SC_THREAD_THREADS_MAX___105 = 76,
    _SC_THREAD_ATTR_STACKADDR___105 = 77,
    _SC_THREAD_ATTR_STACKSIZE___105 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___105 = 79,
    _SC_THREAD_PRIO_INHERIT___105 = 80,
    _SC_THREAD_PRIO_PROTECT___105 = 81,
    _SC_THREAD_PROCESS_SHARED___105 = 82,
    _SC_NPROCESSORS_CONF___105 = 83,
    _SC_NPROCESSORS_ONLN___105 = 84,
    _SC_PHYS_PAGES___105 = 85,
    _SC_AVPHYS_PAGES___105 = 86,
    _SC_ATEXIT_MAX___105 = 87,
    _SC_PASS_MAX___105 = 88,
    _SC_XOPEN_VERSION___105 = 89,
    _SC_XOPEN_XCU_VERSION___105 = 90,
    _SC_XOPEN_UNIX___105 = 91,
    _SC_XOPEN_CRYPT___105 = 92,
    _SC_XOPEN_ENH_I18N___105 = 93,
    _SC_XOPEN_SHM___105 = 94,
    _SC_2_CHAR_TERM___105 = 95,
    _SC_2_C_VERSION___105 = 96,
    _SC_2_UPE___105 = 97,
    _SC_XOPEN_XPG2___105 = 98,
    _SC_XOPEN_XPG3___105 = 99,
    _SC_XOPEN_XPG4___105 = 100,
    _SC_CHAR_BIT___105 = 101,
    _SC_CHAR_MAX___105 = 102,
    _SC_CHAR_MIN___105 = 103,
    _SC_INT_MAX___105 = 104,
    _SC_INT_MIN___105 = 105,
    _SC_LONG_BIT___105 = 106,
    _SC_WORD_BIT___105 = 107,
    _SC_MB_LEN_MAX___105 = 108,
    _SC_NZERO___105 = 109,
    _SC_SSIZE_MAX___105 = 110,
    _SC_SCHAR_MAX___105 = 111,
    _SC_SCHAR_MIN___105 = 112,
    _SC_SHRT_MAX___105 = 113,
    _SC_SHRT_MIN___105 = 114,
    _SC_UCHAR_MAX___105 = 115,
    _SC_UINT_MAX___105 = 116,
    _SC_ULONG_MAX___105 = 117,
    _SC_USHRT_MAX___105 = 118,
    _SC_NL_ARGMAX___105 = 119,
    _SC_NL_LANGMAX___105 = 120,
    _SC_NL_MSGMAX___105 = 121,
    _SC_NL_NMAX___105 = 122,
    _SC_NL_SETMAX___105 = 123,
    _SC_NL_TEXTMAX___105 = 124,
    _SC_XBS5_ILP32_OFF32___105 = 125,
    _SC_XBS5_ILP32_OFFBIG___105 = 126,
    _SC_XBS5_LP64_OFF64___105 = 127,
    _SC_XBS5_LPBIG_OFFBIG___105 = 128,
    _SC_XOPEN_LEGACY___105 = 129,
    _SC_XOPEN_REALTIME___105 = 130,
    _SC_XOPEN_REALTIME_THREADS___105 = 131,
    _SC_ADVISORY_INFO___105 = 132,
    _SC_BARRIERS___105 = 133,
    _SC_BASE___105 = 134,
    _SC_C_LANG_SUPPORT___105 = 135,
    _SC_C_LANG_SUPPORT_R___105 = 136,
    _SC_CLOCK_SELECTION___105 = 137,
    _SC_CPUTIME___105 = 138,
    _SC_THREAD_CPUTIME___105 = 139,
    _SC_DEVICE_IO___105 = 140,
    _SC_DEVICE_SPECIFIC___105 = 141,
    _SC_DEVICE_SPECIFIC_R___105 = 142,
    _SC_FD_MGMT___105 = 143,
    _SC_FIFO___105 = 144,
    _SC_PIPE___105 = 145,
    _SC_FILE_ATTRIBUTES___105 = 146,
    _SC_FILE_LOCKING___105 = 147,
    _SC_FILE_SYSTEM___105 = 148,
    _SC_MONOTONIC_CLOCK___105 = 149,
    _SC_MULTI_PROCESS___105 = 150,
    _SC_SINGLE_PROCESS___105 = 151,
    _SC_NETWORKING___105 = 152,
    _SC_READER_WRITER_LOCKS___105 = 153,
    _SC_SPIN_LOCKS___105 = 154,
    _SC_REGEXP___105 = 155,
    _SC_REGEX_VERSION___105 = 156,
    _SC_SHELL___105 = 157,
    _SC_SIGNALS___105 = 158,
    _SC_SPAWN___105 = 159,
    _SC_SPORADIC_SERVER___105 = 160,
    _SC_THREAD_SPORADIC_SERVER___105 = 161,
    _SC_SYSTEM_DATABASE___105 = 162,
    _SC_SYSTEM_DATABASE_R___105 = 163,
    _SC_TIMEOUTS___105 = 164,
    _SC_TYPED_MEMORY_OBJECTS___105 = 165,
    _SC_USER_GROUPS___105 = 166,
    _SC_USER_GROUPS_R___105 = 167,
    _SC_2_PBS___105 = 168,
    _SC_2_PBS_ACCOUNTING___105 = 169,
    _SC_2_PBS_LOCATE___105 = 170,
    _SC_2_PBS_MESSAGE___105 = 171,
    _SC_2_PBS_TRACK___105 = 172,
    _SC_SYMLOOP_MAX___105 = 173,
    _SC_STREAMS___105 = 174,
    _SC_2_PBS_CHECKPOINT___105 = 175,
    _SC_V6_ILP32_OFF32___105 = 176,
    _SC_V6_ILP32_OFFBIG___105 = 177,
    _SC_V6_LP64_OFF64___105 = 178,
    _SC_V6_LPBIG_OFFBIG___105 = 179,
    _SC_HOST_NAME_MAX___105 = 180,
    _SC_TRACE___105 = 181,
    _SC_TRACE_EVENT_FILTER___105 = 182,
    _SC_TRACE_INHERIT___105 = 183,
    _SC_TRACE_LOG___105 = 184,
    _SC_LEVEL1_ICACHE_SIZE___105 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___105 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___105 = 187,
    _SC_LEVEL1_DCACHE_SIZE___105 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___105 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___105 = 190,
    _SC_LEVEL2_CACHE_SIZE___105 = 191,
    _SC_LEVEL2_CACHE_ASSOC___105 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___105 = 193,
    _SC_LEVEL3_CACHE_SIZE___105 = 194,
    _SC_LEVEL3_CACHE_ASSOC___105 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___105 = 196,
    _SC_LEVEL4_CACHE_SIZE___105 = 197,
    _SC_LEVEL4_CACHE_ASSOC___105 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___105 = 199,
    _SC_IPV6___105 = 235,
    _SC_RAW_SOCKETS___105 = 236,
    _SC_V7_ILP32_OFF32___105 = 237,
    _SC_V7_ILP32_OFFBIG___105 = 238,
    _SC_V7_LP64_OFF64___105 = 239,
    _SC_V7_LPBIG_OFFBIG___105 = 240,
    _SC_SS_REPL_MAX___105 = 241,
    _SC_TRACE_EVENT_NAME_MAX___105 = 242,
    _SC_TRACE_NAME_MAX___105 = 243,
    _SC_TRACE_SYS_MAX___105 = 244,
    _SC_TRACE_USER_EVENT_MAX___105 = 245,
    _SC_XOPEN_STREAMS___105 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___105 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___105 = 248
} ;
enum __anonenum_875524036___105 {
    _CS_PATH___105 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___105 = 1,
    _CS_GNU_LIBC_VERSION___105 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___105 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___105 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___105 = 5,
    _CS_LFS_CFLAGS___105 = 1000,
    _CS_LFS_LDFLAGS___105 = 1001,
    _CS_LFS_LIBS___105 = 1002,
    _CS_LFS_LINTFLAGS___105 = 1003,
    _CS_LFS64_CFLAGS___105 = 1004,
    _CS_LFS64_LDFLAGS___105 = 1005,
    _CS_LFS64_LIBS___105 = 1006,
    _CS_LFS64_LINTFLAGS___105 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___105 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___105 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___105 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___105 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___105 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___105 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___105 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___105 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___105 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___105 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___105 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___105 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___105 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___105 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___105 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___105 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___105 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___105 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___105 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___105 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___105 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___105 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___105 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___105 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___105 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___105 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___105 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___105 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___105 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___105 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___105 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___105 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___105 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___105 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___105 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___105 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___105 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___105 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___105 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___105 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___105 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___105 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___105 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___105 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___105 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___105 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___105 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___105 = 1147,
    _CS_V6_ENV___105 = 1148,
    _CS_V7_ENV___105 = 1149
} ;
enum __anonenum_513775621___105 {
    DT_UNKNOWN___105 = 0,
    DT_FIFO___105 = 1,
    DT_CHR___105 = 2,
    DT_DIR___105 = 4,
    DT_BLK___105 = 6,
    DT_REG___105 = 8,
    DT_LNK___105 = 10,
    DT_SOCK___105 = 12,
    DT_WHT___105 = 14
} ;
enum __anonenum_77002343___105 {
    SI_ASYNCNL___105 = -60,
    SI_TKILL___105 = -6,
    SI_SIGIO___105 = -5,
    SI_ASYNCIO___105 = -4,
    SI_MESGQ___105 = -3,
    SI_TIMER___105 = -2,
    SI_QUEUE___105 = -1,
    SI_USER___105 = 0,
    SI_KERNEL___105 = 128
} ;
enum __anonenum_131038172___105 {
    ILL_ILLOPC___105 = 1,
    ILL_ILLOPN___105 = 2,
    ILL_ILLADR___105 = 3,
    ILL_ILLTRP___105 = 4,
    ILL_PRVOPC___105 = 5,
    ILL_PRVREG___105 = 6,
    ILL_COPROC___105 = 7,
    ILL_BADSTK___105 = 8
} ;
enum __anonenum_452038093___105 {
    FPE_INTDIV___105 = 1,
    FPE_INTOVF___105 = 2,
    FPE_FLTDIV___105 = 3,
    FPE_FLTOVF___105 = 4,
    FPE_FLTUND___105 = 5,
    FPE_FLTRES___105 = 6,
    FPE_FLTINV___105 = 7,
    FPE_FLTSUB___105 = 8
} ;
enum __anonenum_30976155___105 {
    SEGV_MAPERR___105 = 1,
    SEGV_ACCERR___105 = 2,
    SEGV_BNDERR___105 = 3,
    SEGV_PKUERR___105 = 4
} ;
enum __anonenum_1036286214___105 {
    BUS_ADRALN___105 = 1,
    BUS_ADRERR___105 = 2,
    BUS_OBJERR___105 = 3,
    BUS_MCEERR_AR___105 = 4,
    BUS_MCEERR_AO___105 = 5
} ;
enum __anonenum_493465559___105 {
    TRAP_BRKPT___105 = 1,
    TRAP_TRACE___105 = 2
} ;
enum __anonenum_23175539___105 {
    CLD_EXITED___105 = 1,
    CLD_KILLED___105 = 2,
    CLD_DUMPED___105 = 3,
    CLD_TRAPPED___105 = 4,
    CLD_STOPPED___105 = 5,
    CLD_CONTINUED___105 = 6
} ;
enum __anonenum_111643124___105 {
    POLL_IN___105 = 1,
    POLL_OUT___105 = 2,
    POLL_MSG___105 = 3,
    POLL_ERR___105 = 4,
    POLL_PRI___105 = 5,
    POLL_HUP___105 = 6
} ;
enum __anonenum_852341087___105 {
    SIGEV_SIGNAL___105 = 0,
    SIGEV_NONE___105 = 1,
    SIGEV_THREAD___105 = 2,
    SIGEV_THREAD_ID___105 = 4
} ;
enum __anonenum_451154152___105 {
    REG_R8___105 = 0,
    REG_R9___105 = 1,
    REG_R10___105 = 2,
    REG_R11___105 = 3,
    REG_R12___105 = 4,
    REG_R13___105 = 5,
    REG_R14___105 = 6,
    REG_R15___105 = 7,
    REG_RDI___105 = 8,
    REG_RSI___105 = 9,
    REG_RBP___105 = 10,
    REG_RBX___105 = 11,
    REG_RDX___105 = 12,
    REG_RAX___105 = 13,
    REG_RCX___105 = 14,
    REG_RSP___105 = 15,
    REG_RIP___105 = 16,
    REG_EFL___105 = 17,
    REG_CSGSFS___105 = 18,
    REG_ERR___105 = 19,
    REG_TRAPNO___105 = 20,
    REG_OLDMASK___105 = 21,
    REG_CR2___105 = 22
} ;
enum __anonenum_57186863___105 {
    SS_ONSTACK___105 = 1,
    SS_DISABLE___105 = 2
} ;
enum __anonenum_83571709___105 {
    MSG_OOB___105 = 1,
    MSG_PEEK___105 = 2,
    MSG_DONTROUTE___105 = 4,
    MSG_TRYHARD___105 = 4,
    MSG_CTRUNC___105 = 8,
    MSG_PROXY___105 = 16,
    MSG_TRUNC___105 = 32,
    MSG_DONTWAIT___105 = 64,
    MSG_EOR___105 = 128,
    MSG_WAITALL___105 = 256,
    MSG_FIN___105 = 512,
    MSG_SYN___105 = 1024,
    MSG_CONFIRM___105 = 2048,
    MSG_RST___105 = 4096,
    MSG_ERRQUEUE___105 = 8192,
    MSG_NOSIGNAL___105 = 16384,
    MSG_MORE___105 = 32768,
    MSG_WAITFORONE___105 = 65536,
    MSG_BATCH___105 = 262144,
    MSG_ZEROCOPY___105 = 67108864,
    MSG_FASTOPEN___105 = 536870912,
    MSG_CMSG_CLOEXEC___105 = 1073741824
} ;
enum __anonenum_617082774___105 {
    SCM_RIGHTS___105 = 1,
    SCM_CREDENTIALS___105 = 2
} ;
enum __anonenum_606441560___105 {
    SHUT_RD___105 = 0,
    SHUT_WR___105 = 1,
    SHUT_RDWR___105 = 2
} ;
enum __anonenum_681669233___105 {
    IPPROTO_IP___105 = 0,
    IPPROTO_ICMP___105 = 1,
    IPPROTO_IGMP___105 = 2,
    IPPROTO_IPIP___105 = 4,
    IPPROTO_TCP___105 = 6,
    IPPROTO_EGP___105 = 8,
    IPPROTO_PUP___105 = 12,
    IPPROTO_UDP___105 = 17,
    IPPROTO_IDP___105 = 22,
    IPPROTO_TP___105 = 29,
    IPPROTO_DCCP___105 = 33,
    IPPROTO_IPV6___105 = 41,
    IPPROTO_RSVP___105 = 46,
    IPPROTO_GRE___105 = 47,
    IPPROTO_ESP___105 = 50,
    IPPROTO_AH___105 = 51,
    IPPROTO_MTP___105 = 92,
    IPPROTO_BEETPH___105 = 94,
    IPPROTO_ENCAP___105 = 98,
    IPPROTO_PIM___105 = 103,
    IPPROTO_COMP___105 = 108,
    IPPROTO_SCTP___105 = 132,
    IPPROTO_UDPLITE___105 = 136,
    IPPROTO_MPLS___105 = 137,
    IPPROTO_RAW___105 = 255,
    IPPROTO_MAX___105 = 256
} ;
enum __anonenum_218739988___105 {
    IPPROTO_HOPOPTS___105 = 0,
    IPPROTO_ROUTING___105 = 43,
    IPPROTO_FRAGMENT___105 = 44,
    IPPROTO_ICMPV6___105 = 58,
    IPPROTO_NONE___105 = 59,
    IPPROTO_DSTOPTS___105 = 60,
    IPPROTO_MH___105 = 135
} ;
enum __anonenum_662268580___105 {
    IPPORT_ECHO___105 = 7,
    IPPORT_DISCARD___105 = 9,
    IPPORT_SYSTAT___105 = 11,
    IPPORT_DAYTIME___105 = 13,
    IPPORT_NETSTAT___105 = 15,
    IPPORT_FTP___105 = 21,
    IPPORT_TELNET___105 = 23,
    IPPORT_SMTP___105 = 25,
    IPPORT_TIMESERVER___105 = 37,
    IPPORT_NAMESERVER___105 = 42,
    IPPORT_WHOIS___105 = 43,
    IPPORT_MTP___105 = 57,
    IPPORT_TFTP___105 = 69,
    IPPORT_RJE___105 = 77,
    IPPORT_FINGER___105 = 79,
    IPPORT_TTYLINK___105 = 87,
    IPPORT_SUPDUP___105 = 95,
    IPPORT_EXECSERVER___105 = 512,
    IPPORT_LOGINSERVER___105 = 513,
    IPPORT_CMDSERVER___105 = 514,
    IPPORT_EFSSERVER___105 = 520,
    IPPORT_BIFFUDP___105 = 512,
    IPPORT_WHOSERVER___105 = 513,
    IPPORT_ROUTESERVER___105 = 520,
    IPPORT_RESERVED___105 = 1024,
    IPPORT_USERRESERVED___105 = 5000
} ;
enum __anonenum_788308992___105 {
    TCP_ESTABLISHED___105 = 1,
    TCP_SYN_SENT___105 = 2,
    TCP_SYN_RECV___105 = 3,
    TCP_FIN_WAIT1___105 = 4,
    TCP_FIN_WAIT2___105 = 5,
    TCP_TIME_WAIT___105 = 6,
    TCP_CLOSE___105 = 7,
    TCP_CLOSE_WAIT___105 = 8,
    TCP_LAST_ACK___105 = 9,
    TCP_LISTEN___105 = 10,
    TCP_CLOSING___105 = 11
} ;
enum __anonenum_221125648___105 {
    TCP_NO_QUEUE___105 = 0,
    TCP_RECV_QUEUE___105 = 1,
    TCP_SEND_QUEUE___105 = 2,
    TCP_QUEUES_NR___105 = 3
} ;
enum __anonenum_34415463___105 {
    PTHREAD_CREATE_JOINABLE___105 = 0,
    PTHREAD_CREATE_DETACHED___105 = 1
} ;
enum __anonenum_303612439___105 {
    PTHREAD_MUTEX_TIMED_NP___105 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___105 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___105 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___105 = 3,
    PTHREAD_MUTEX_NORMAL___105 = 0,
    PTHREAD_MUTEX_RECURSIVE___105 = 1,
    PTHREAD_MUTEX_ERRORCHECK___105 = 2,
    PTHREAD_MUTEX_DEFAULT___105 = 0,
    PTHREAD_MUTEX_FAST_NP___105 = 0
} ;
enum __anonenum_931900394___105 {
    PTHREAD_MUTEX_STALLED___105 = 0,
    PTHREAD_MUTEX_STALLED_NP___105 = 0,
    PTHREAD_MUTEX_ROBUST___105 = 1,
    PTHREAD_MUTEX_ROBUST_NP___105 = 1
} ;
enum __anonenum_205214487___105 {
    PTHREAD_PRIO_NONE___105 = 0,
    PTHREAD_PRIO_INHERIT___105 = 1,
    PTHREAD_PRIO_PROTECT___105 = 2
} ;
enum __anonenum_25043950___105 {
    PTHREAD_RWLOCK_PREFER_READER_NP___105 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___105 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___105 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___105 = 0
} ;
enum __anonenum_436439511___105 {
    PTHREAD_INHERIT_SCHED___105 = 0,
    PTHREAD_EXPLICIT_SCHED___105 = 1
} ;
enum __anonenum_998661166___105 {
    PTHREAD_SCOPE_SYSTEM___105 = 0,
    PTHREAD_SCOPE_PROCESS___105 = 1
} ;
enum __anonenum_146137331___105 {
    PTHREAD_PROCESS_PRIVATE___105 = 0,
    PTHREAD_PROCESS_SHARED___105 = 1
} ;
enum __anonenum_53396917___105 {
    PTHREAD_CANCEL_ENABLE___105 = 0,
    PTHREAD_CANCEL_DISABLE___105 = 1
} ;
enum __anonenum_904563783___105 {
    PTHREAD_CANCEL_DEFERRED___105 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___105 = 1
} ;
enum __anonenum_672052974___105 {
    SSL_CT_VALIDATION_PERMISSIVE___105 = 0,
    SSL_CT_VALIDATION_STRICT___105 = 1
} ;
enum __anonenum_437032235___106 {
    _PC_LINK_MAX___106 = 0,
    _PC_MAX_CANON___106 = 1,
    _PC_MAX_INPUT___106 = 2,
    _PC_NAME_MAX___106 = 3,
    _PC_PATH_MAX___106 = 4,
    _PC_PIPE_BUF___106 = 5,
    _PC_CHOWN_RESTRICTED___106 = 6,
    _PC_NO_TRUNC___106 = 7,
    _PC_VDISABLE___106 = 8,
    _PC_SYNC_IO___106 = 9,
    _PC_ASYNC_IO___106 = 10,
    _PC_PRIO_IO___106 = 11,
    _PC_SOCK_MAXBUF___106 = 12,
    _PC_FILESIZEBITS___106 = 13,
    _PC_REC_INCR_XFER_SIZE___106 = 14,
    _PC_REC_MAX_XFER_SIZE___106 = 15,
    _PC_REC_MIN_XFER_SIZE___106 = 16,
    _PC_REC_XFER_ALIGN___106 = 17,
    _PC_ALLOC_SIZE_MIN___106 = 18,
    _PC_SYMLINK_MAX___106 = 19,
    _PC_2_SYMLINKS___106 = 20
} ;
enum __anonenum_315186338___106 {
    _SC_ARG_MAX___106 = 0,
    _SC_CHILD_MAX___106 = 1,
    _SC_CLK_TCK___106 = 2,
    _SC_NGROUPS_MAX___106 = 3,
    _SC_OPEN_MAX___106 = 4,
    _SC_STREAM_MAX___106 = 5,
    _SC_TZNAME_MAX___106 = 6,
    _SC_JOB_CONTROL___106 = 7,
    _SC_SAVED_IDS___106 = 8,
    _SC_REALTIME_SIGNALS___106 = 9,
    _SC_PRIORITY_SCHEDULING___106 = 10,
    _SC_TIMERS___106 = 11,
    _SC_ASYNCHRONOUS_IO___106 = 12,
    _SC_PRIORITIZED_IO___106 = 13,
    _SC_SYNCHRONIZED_IO___106 = 14,
    _SC_FSYNC___106 = 15,
    _SC_MAPPED_FILES___106 = 16,
    _SC_MEMLOCK___106 = 17,
    _SC_MEMLOCK_RANGE___106 = 18,
    _SC_MEMORY_PROTECTION___106 = 19,
    _SC_MESSAGE_PASSING___106 = 20,
    _SC_SEMAPHORES___106 = 21,
    _SC_SHARED_MEMORY_OBJECTS___106 = 22,
    _SC_AIO_LISTIO_MAX___106 = 23,
    _SC_AIO_MAX___106 = 24,
    _SC_AIO_PRIO_DELTA_MAX___106 = 25,
    _SC_DELAYTIMER_MAX___106 = 26,
    _SC_MQ_OPEN_MAX___106 = 27,
    _SC_MQ_PRIO_MAX___106 = 28,
    _SC_VERSION___106 = 29,
    _SC_PAGESIZE___106 = 30,
    _SC_RTSIG_MAX___106 = 31,
    _SC_SEM_NSEMS_MAX___106 = 32,
    _SC_SEM_VALUE_MAX___106 = 33,
    _SC_SIGQUEUE_MAX___106 = 34,
    _SC_TIMER_MAX___106 = 35,
    _SC_BC_BASE_MAX___106 = 36,
    _SC_BC_DIM_MAX___106 = 37,
    _SC_BC_SCALE_MAX___106 = 38,
    _SC_BC_STRING_MAX___106 = 39,
    _SC_COLL_WEIGHTS_MAX___106 = 40,
    _SC_EQUIV_CLASS_MAX___106 = 41,
    _SC_EXPR_NEST_MAX___106 = 42,
    _SC_LINE_MAX___106 = 43,
    _SC_RE_DUP_MAX___106 = 44,
    _SC_CHARCLASS_NAME_MAX___106 = 45,
    _SC_2_VERSION___106 = 46,
    _SC_2_C_BIND___106 = 47,
    _SC_2_C_DEV___106 = 48,
    _SC_2_FORT_DEV___106 = 49,
    _SC_2_FORT_RUN___106 = 50,
    _SC_2_SW_DEV___106 = 51,
    _SC_2_LOCALEDEF___106 = 52,
    _SC_PII___106 = 53,
    _SC_PII_XTI___106 = 54,
    _SC_PII_SOCKET___106 = 55,
    _SC_PII_INTERNET___106 = 56,
    _SC_PII_OSI___106 = 57,
    _SC_POLL___106 = 58,
    _SC_SELECT___106 = 59,
    _SC_UIO_MAXIOV___106 = 60,
    _SC_IOV_MAX___106 = 60,
    _SC_PII_INTERNET_STREAM___106 = 61,
    _SC_PII_INTERNET_DGRAM___106 = 62,
    _SC_PII_OSI_COTS___106 = 63,
    _SC_PII_OSI_CLTS___106 = 64,
    _SC_PII_OSI_M___106 = 65,
    _SC_T_IOV_MAX___106 = 66,
    _SC_THREADS___106 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___106 = 68,
    _SC_GETGR_R_SIZE_MAX___106 = 69,
    _SC_GETPW_R_SIZE_MAX___106 = 70,
    _SC_LOGIN_NAME_MAX___106 = 71,
    _SC_TTY_NAME_MAX___106 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___106 = 73,
    _SC_THREAD_KEYS_MAX___106 = 74,
    _SC_THREAD_STACK_MIN___106 = 75,
    _SC_THREAD_THREADS_MAX___106 = 76,
    _SC_THREAD_ATTR_STACKADDR___106 = 77,
    _SC_THREAD_ATTR_STACKSIZE___106 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___106 = 79,
    _SC_THREAD_PRIO_INHERIT___106 = 80,
    _SC_THREAD_PRIO_PROTECT___106 = 81,
    _SC_THREAD_PROCESS_SHARED___106 = 82,
    _SC_NPROCESSORS_CONF___106 = 83,
    _SC_NPROCESSORS_ONLN___106 = 84,
    _SC_PHYS_PAGES___106 = 85,
    _SC_AVPHYS_PAGES___106 = 86,
    _SC_ATEXIT_MAX___106 = 87,
    _SC_PASS_MAX___106 = 88,
    _SC_XOPEN_VERSION___106 = 89,
    _SC_XOPEN_XCU_VERSION___106 = 90,
    _SC_XOPEN_UNIX___106 = 91,
    _SC_XOPEN_CRYPT___106 = 92,
    _SC_XOPEN_ENH_I18N___106 = 93,
    _SC_XOPEN_SHM___106 = 94,
    _SC_2_CHAR_TERM___106 = 95,
    _SC_2_C_VERSION___106 = 96,
    _SC_2_UPE___106 = 97,
    _SC_XOPEN_XPG2___106 = 98,
    _SC_XOPEN_XPG3___106 = 99,
    _SC_XOPEN_XPG4___106 = 100,
    _SC_CHAR_BIT___106 = 101,
    _SC_CHAR_MAX___106 = 102,
    _SC_CHAR_MIN___106 = 103,
    _SC_INT_MAX___106 = 104,
    _SC_INT_MIN___106 = 105,
    _SC_LONG_BIT___106 = 106,
    _SC_WORD_BIT___106 = 107,
    _SC_MB_LEN_MAX___106 = 108,
    _SC_NZERO___106 = 109,
    _SC_SSIZE_MAX___106 = 110,
    _SC_SCHAR_MAX___106 = 111,
    _SC_SCHAR_MIN___106 = 112,
    _SC_SHRT_MAX___106 = 113,
    _SC_SHRT_MIN___106 = 114,
    _SC_UCHAR_MAX___106 = 115,
    _SC_UINT_MAX___106 = 116,
    _SC_ULONG_MAX___106 = 117,
    _SC_USHRT_MAX___106 = 118,
    _SC_NL_ARGMAX___106 = 119,
    _SC_NL_LANGMAX___106 = 120,
    _SC_NL_MSGMAX___106 = 121,
    _SC_NL_NMAX___106 = 122,
    _SC_NL_SETMAX___106 = 123,
    _SC_NL_TEXTMAX___106 = 124,
    _SC_XBS5_ILP32_OFF32___106 = 125,
    _SC_XBS5_ILP32_OFFBIG___106 = 126,
    _SC_XBS5_LP64_OFF64___106 = 127,
    _SC_XBS5_LPBIG_OFFBIG___106 = 128,
    _SC_XOPEN_LEGACY___106 = 129,
    _SC_XOPEN_REALTIME___106 = 130,
    _SC_XOPEN_REALTIME_THREADS___106 = 131,
    _SC_ADVISORY_INFO___106 = 132,
    _SC_BARRIERS___106 = 133,
    _SC_BASE___106 = 134,
    _SC_C_LANG_SUPPORT___106 = 135,
    _SC_C_LANG_SUPPORT_R___106 = 136,
    _SC_CLOCK_SELECTION___106 = 137,
    _SC_CPUTIME___106 = 138,
    _SC_THREAD_CPUTIME___106 = 139,
    _SC_DEVICE_IO___106 = 140,
    _SC_DEVICE_SPECIFIC___106 = 141,
    _SC_DEVICE_SPECIFIC_R___106 = 142,
    _SC_FD_MGMT___106 = 143,
    _SC_FIFO___106 = 144,
    _SC_PIPE___106 = 145,
    _SC_FILE_ATTRIBUTES___106 = 146,
    _SC_FILE_LOCKING___106 = 147,
    _SC_FILE_SYSTEM___106 = 148,
    _SC_MONOTONIC_CLOCK___106 = 149,
    _SC_MULTI_PROCESS___106 = 150,
    _SC_SINGLE_PROCESS___106 = 151,
    _SC_NETWORKING___106 = 152,
    _SC_READER_WRITER_LOCKS___106 = 153,
    _SC_SPIN_LOCKS___106 = 154,
    _SC_REGEXP___106 = 155,
    _SC_REGEX_VERSION___106 = 156,
    _SC_SHELL___106 = 157,
    _SC_SIGNALS___106 = 158,
    _SC_SPAWN___106 = 159,
    _SC_SPORADIC_SERVER___106 = 160,
    _SC_THREAD_SPORADIC_SERVER___106 = 161,
    _SC_SYSTEM_DATABASE___106 = 162,
    _SC_SYSTEM_DATABASE_R___106 = 163,
    _SC_TIMEOUTS___106 = 164,
    _SC_TYPED_MEMORY_OBJECTS___106 = 165,
    _SC_USER_GROUPS___106 = 166,
    _SC_USER_GROUPS_R___106 = 167,
    _SC_2_PBS___106 = 168,
    _SC_2_PBS_ACCOUNTING___106 = 169,
    _SC_2_PBS_LOCATE___106 = 170,
    _SC_2_PBS_MESSAGE___106 = 171,
    _SC_2_PBS_TRACK___106 = 172,
    _SC_SYMLOOP_MAX___106 = 173,
    _SC_STREAMS___106 = 174,
    _SC_2_PBS_CHECKPOINT___106 = 175,
    _SC_V6_ILP32_OFF32___106 = 176,
    _SC_V6_ILP32_OFFBIG___106 = 177,
    _SC_V6_LP64_OFF64___106 = 178,
    _SC_V6_LPBIG_OFFBIG___106 = 179,
    _SC_HOST_NAME_MAX___106 = 180,
    _SC_TRACE___106 = 181,
    _SC_TRACE_EVENT_FILTER___106 = 182,
    _SC_TRACE_INHERIT___106 = 183,
    _SC_TRACE_LOG___106 = 184,
    _SC_LEVEL1_ICACHE_SIZE___106 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___106 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___106 = 187,
    _SC_LEVEL1_DCACHE_SIZE___106 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___106 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___106 = 190,
    _SC_LEVEL2_CACHE_SIZE___106 = 191,
    _SC_LEVEL2_CACHE_ASSOC___106 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___106 = 193,
    _SC_LEVEL3_CACHE_SIZE___106 = 194,
    _SC_LEVEL3_CACHE_ASSOC___106 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___106 = 196,
    _SC_LEVEL4_CACHE_SIZE___106 = 197,
    _SC_LEVEL4_CACHE_ASSOC___106 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___106 = 199,
    _SC_IPV6___106 = 235,
    _SC_RAW_SOCKETS___106 = 236,
    _SC_V7_ILP32_OFF32___106 = 237,
    _SC_V7_ILP32_OFFBIG___106 = 238,
    _SC_V7_LP64_OFF64___106 = 239,
    _SC_V7_LPBIG_OFFBIG___106 = 240,
    _SC_SS_REPL_MAX___106 = 241,
    _SC_TRACE_EVENT_NAME_MAX___106 = 242,
    _SC_TRACE_NAME_MAX___106 = 243,
    _SC_TRACE_SYS_MAX___106 = 244,
    _SC_TRACE_USER_EVENT_MAX___106 = 245,
    _SC_XOPEN_STREAMS___106 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___106 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___106 = 248
} ;
enum __anonenum_875524036___106 {
    _CS_PATH___106 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___106 = 1,
    _CS_GNU_LIBC_VERSION___106 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___106 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___106 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___106 = 5,
    _CS_LFS_CFLAGS___106 = 1000,
    _CS_LFS_LDFLAGS___106 = 1001,
    _CS_LFS_LIBS___106 = 1002,
    _CS_LFS_LINTFLAGS___106 = 1003,
    _CS_LFS64_CFLAGS___106 = 1004,
    _CS_LFS64_LDFLAGS___106 = 1005,
    _CS_LFS64_LIBS___106 = 1006,
    _CS_LFS64_LINTFLAGS___106 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___106 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___106 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___106 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___106 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___106 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___106 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___106 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___106 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___106 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___106 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___106 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___106 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___106 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___106 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___106 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___106 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___106 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___106 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___106 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___106 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___106 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___106 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___106 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___106 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___106 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___106 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___106 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___106 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___106 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___106 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___106 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___106 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___106 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___106 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___106 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___106 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___106 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___106 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___106 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___106 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___106 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___106 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___106 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___106 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___106 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___106 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___106 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___106 = 1147,
    _CS_V6_ENV___106 = 1148,
    _CS_V7_ENV___106 = 1149
} ;
enum __anonenum_513775621___106 {
    DT_UNKNOWN___106 = 0,
    DT_FIFO___106 = 1,
    DT_CHR___106 = 2,
    DT_DIR___106 = 4,
    DT_BLK___106 = 6,
    DT_REG___106 = 8,
    DT_LNK___106 = 10,
    DT_SOCK___106 = 12,
    DT_WHT___106 = 14
} ;
enum __anonenum_77002343___106 {
    SI_ASYNCNL___106 = -60,
    SI_TKILL___106 = -6,
    SI_SIGIO___106 = -5,
    SI_ASYNCIO___106 = -4,
    SI_MESGQ___106 = -3,
    SI_TIMER___106 = -2,
    SI_QUEUE___106 = -1,
    SI_USER___106 = 0,
    SI_KERNEL___106 = 128
} ;
enum __anonenum_131038172___106 {
    ILL_ILLOPC___106 = 1,
    ILL_ILLOPN___106 = 2,
    ILL_ILLADR___106 = 3,
    ILL_ILLTRP___106 = 4,
    ILL_PRVOPC___106 = 5,
    ILL_PRVREG___106 = 6,
    ILL_COPROC___106 = 7,
    ILL_BADSTK___106 = 8
} ;
enum __anonenum_452038093___106 {
    FPE_INTDIV___106 = 1,
    FPE_INTOVF___106 = 2,
    FPE_FLTDIV___106 = 3,
    FPE_FLTOVF___106 = 4,
    FPE_FLTUND___106 = 5,
    FPE_FLTRES___106 = 6,
    FPE_FLTINV___106 = 7,
    FPE_FLTSUB___106 = 8
} ;
enum __anonenum_30976155___106 {
    SEGV_MAPERR___106 = 1,
    SEGV_ACCERR___106 = 2,
    SEGV_BNDERR___106 = 3,
    SEGV_PKUERR___106 = 4
} ;
enum __anonenum_1036286214___106 {
    BUS_ADRALN___106 = 1,
    BUS_ADRERR___106 = 2,
    BUS_OBJERR___106 = 3,
    BUS_MCEERR_AR___106 = 4,
    BUS_MCEERR_AO___106 = 5
} ;
enum __anonenum_493465559___106 {
    TRAP_BRKPT___106 = 1,
    TRAP_TRACE___106 = 2
} ;
enum __anonenum_23175539___106 {
    CLD_EXITED___106 = 1,
    CLD_KILLED___106 = 2,
    CLD_DUMPED___106 = 3,
    CLD_TRAPPED___106 = 4,
    CLD_STOPPED___106 = 5,
    CLD_CONTINUED___106 = 6
} ;
enum __anonenum_111643124___106 {
    POLL_IN___106 = 1,
    POLL_OUT___106 = 2,
    POLL_MSG___106 = 3,
    POLL_ERR___106 = 4,
    POLL_PRI___106 = 5,
    POLL_HUP___106 = 6
} ;
enum __anonenum_852341087___106 {
    SIGEV_SIGNAL___106 = 0,
    SIGEV_NONE___106 = 1,
    SIGEV_THREAD___106 = 2,
    SIGEV_THREAD_ID___106 = 4
} ;
enum __anonenum_451154152___106 {
    REG_R8___106 = 0,
    REG_R9___106 = 1,
    REG_R10___106 = 2,
    REG_R11___106 = 3,
    REG_R12___106 = 4,
    REG_R13___106 = 5,
    REG_R14___106 = 6,
    REG_R15___106 = 7,
    REG_RDI___106 = 8,
    REG_RSI___106 = 9,
    REG_RBP___106 = 10,
    REG_RBX___106 = 11,
    REG_RDX___106 = 12,
    REG_RAX___106 = 13,
    REG_RCX___106 = 14,
    REG_RSP___106 = 15,
    REG_RIP___106 = 16,
    REG_EFL___106 = 17,
    REG_CSGSFS___106 = 18,
    REG_ERR___106 = 19,
    REG_TRAPNO___106 = 20,
    REG_OLDMASK___106 = 21,
    REG_CR2___106 = 22
} ;
enum __anonenum_57186863___106 {
    SS_ONSTACK___106 = 1,
    SS_DISABLE___106 = 2
} ;
enum __anonenum_83571709___106 {
    MSG_OOB___106 = 1,
    MSG_PEEK___106 = 2,
    MSG_DONTROUTE___106 = 4,
    MSG_TRYHARD___106 = 4,
    MSG_CTRUNC___106 = 8,
    MSG_PROXY___106 = 16,
    MSG_TRUNC___106 = 32,
    MSG_DONTWAIT___106 = 64,
    MSG_EOR___106 = 128,
    MSG_WAITALL___106 = 256,
    MSG_FIN___106 = 512,
    MSG_SYN___106 = 1024,
    MSG_CONFIRM___106 = 2048,
    MSG_RST___106 = 4096,
    MSG_ERRQUEUE___106 = 8192,
    MSG_NOSIGNAL___106 = 16384,
    MSG_MORE___106 = 32768,
    MSG_WAITFORONE___106 = 65536,
    MSG_BATCH___106 = 262144,
    MSG_ZEROCOPY___106 = 67108864,
    MSG_FASTOPEN___106 = 536870912,
    MSG_CMSG_CLOEXEC___106 = 1073741824
} ;
enum __anonenum_617082774___106 {
    SCM_RIGHTS___106 = 1,
    SCM_CREDENTIALS___106 = 2
} ;
enum __anonenum_606441560___106 {
    SHUT_RD___106 = 0,
    SHUT_WR___106 = 1,
    SHUT_RDWR___106 = 2
} ;
enum __anonenum_681669233___106 {
    IPPROTO_IP___106 = 0,
    IPPROTO_ICMP___106 = 1,
    IPPROTO_IGMP___106 = 2,
    IPPROTO_IPIP___106 = 4,
    IPPROTO_TCP___106 = 6,
    IPPROTO_EGP___106 = 8,
    IPPROTO_PUP___106 = 12,
    IPPROTO_UDP___106 = 17,
    IPPROTO_IDP___106 = 22,
    IPPROTO_TP___106 = 29,
    IPPROTO_DCCP___106 = 33,
    IPPROTO_IPV6___106 = 41,
    IPPROTO_RSVP___106 = 46,
    IPPROTO_GRE___106 = 47,
    IPPROTO_ESP___106 = 50,
    IPPROTO_AH___106 = 51,
    IPPROTO_MTP___106 = 92,
    IPPROTO_BEETPH___106 = 94,
    IPPROTO_ENCAP___106 = 98,
    IPPROTO_PIM___106 = 103,
    IPPROTO_COMP___106 = 108,
    IPPROTO_SCTP___106 = 132,
    IPPROTO_UDPLITE___106 = 136,
    IPPROTO_MPLS___106 = 137,
    IPPROTO_RAW___106 = 255,
    IPPROTO_MAX___106 = 256
} ;
enum __anonenum_218739988___106 {
    IPPROTO_HOPOPTS___106 = 0,
    IPPROTO_ROUTING___106 = 43,
    IPPROTO_FRAGMENT___106 = 44,
    IPPROTO_ICMPV6___106 = 58,
    IPPROTO_NONE___106 = 59,
    IPPROTO_DSTOPTS___106 = 60,
    IPPROTO_MH___106 = 135
} ;
enum __anonenum_662268580___106 {
    IPPORT_ECHO___106 = 7,
    IPPORT_DISCARD___106 = 9,
    IPPORT_SYSTAT___106 = 11,
    IPPORT_DAYTIME___106 = 13,
    IPPORT_NETSTAT___106 = 15,
    IPPORT_FTP___106 = 21,
    IPPORT_TELNET___106 = 23,
    IPPORT_SMTP___106 = 25,
    IPPORT_TIMESERVER___106 = 37,
    IPPORT_NAMESERVER___106 = 42,
    IPPORT_WHOIS___106 = 43,
    IPPORT_MTP___106 = 57,
    IPPORT_TFTP___106 = 69,
    IPPORT_RJE___106 = 77,
    IPPORT_FINGER___106 = 79,
    IPPORT_TTYLINK___106 = 87,
    IPPORT_SUPDUP___106 = 95,
    IPPORT_EXECSERVER___106 = 512,
    IPPORT_LOGINSERVER___106 = 513,
    IPPORT_CMDSERVER___106 = 514,
    IPPORT_EFSSERVER___106 = 520,
    IPPORT_BIFFUDP___106 = 512,
    IPPORT_WHOSERVER___106 = 513,
    IPPORT_ROUTESERVER___106 = 520,
    IPPORT_RESERVED___106 = 1024,
    IPPORT_USERRESERVED___106 = 5000
} ;
enum __anonenum_788308992___106 {
    TCP_ESTABLISHED___106 = 1,
    TCP_SYN_SENT___106 = 2,
    TCP_SYN_RECV___106 = 3,
    TCP_FIN_WAIT1___106 = 4,
    TCP_FIN_WAIT2___106 = 5,
    TCP_TIME_WAIT___106 = 6,
    TCP_CLOSE___106 = 7,
    TCP_CLOSE_WAIT___106 = 8,
    TCP_LAST_ACK___106 = 9,
    TCP_LISTEN___106 = 10,
    TCP_CLOSING___106 = 11
} ;
enum __anonenum_221125648___106 {
    TCP_NO_QUEUE___106 = 0,
    TCP_RECV_QUEUE___106 = 1,
    TCP_SEND_QUEUE___106 = 2,
    TCP_QUEUES_NR___106 = 3
} ;
enum __anonenum_34415463___106 {
    PTHREAD_CREATE_JOINABLE___106 = 0,
    PTHREAD_CREATE_DETACHED___106 = 1
} ;
enum __anonenum_303612439___106 {
    PTHREAD_MUTEX_TIMED_NP___106 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___106 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___106 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___106 = 3,
    PTHREAD_MUTEX_NORMAL___106 = 0,
    PTHREAD_MUTEX_RECURSIVE___106 = 1,
    PTHREAD_MUTEX_ERRORCHECK___106 = 2,
    PTHREAD_MUTEX_DEFAULT___106 = 0,
    PTHREAD_MUTEX_FAST_NP___106 = 0
} ;
enum __anonenum_931900394___106 {
    PTHREAD_MUTEX_STALLED___106 = 0,
    PTHREAD_MUTEX_STALLED_NP___106 = 0,
    PTHREAD_MUTEX_ROBUST___106 = 1,
    PTHREAD_MUTEX_ROBUST_NP___106 = 1
} ;
enum __anonenum_205214487___106 {
    PTHREAD_PRIO_NONE___106 = 0,
    PTHREAD_PRIO_INHERIT___106 = 1,
    PTHREAD_PRIO_PROTECT___106 = 2
} ;
enum __anonenum_25043950___106 {
    PTHREAD_RWLOCK_PREFER_READER_NP___106 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___106 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___106 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___106 = 0
} ;
enum __anonenum_436439511___106 {
    PTHREAD_INHERIT_SCHED___106 = 0,
    PTHREAD_EXPLICIT_SCHED___106 = 1
} ;
enum __anonenum_998661166___106 {
    PTHREAD_SCOPE_SYSTEM___106 = 0,
    PTHREAD_SCOPE_PROCESS___106 = 1
} ;
enum __anonenum_146137331___106 {
    PTHREAD_PROCESS_PRIVATE___106 = 0,
    PTHREAD_PROCESS_SHARED___106 = 1
} ;
enum __anonenum_53396917___106 {
    PTHREAD_CANCEL_ENABLE___106 = 0,
    PTHREAD_CANCEL_DISABLE___106 = 1
} ;
enum __anonenum_904563783___106 {
    PTHREAD_CANCEL_DEFERRED___106 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___106 = 1
} ;
enum __anonenum_672052974___106 {
    SSL_CT_VALIDATION_PERMISSIVE___106 = 0,
    SSL_CT_VALIDATION_STRICT___106 = 1
} ;
struct multi_pack_index {
   struct multi_pack_index *next ;
   unsigned char const   *data ;
   size_t data_len ;
   uint32_t const   *revindex_data ;
   uint32_t const   *revindex_map ;
   size_t revindex_len ;
   uint32_t signature ;
   unsigned char version ;
   unsigned char hash_len ;
   unsigned char num_chunks ;
   uint32_t num_packs ;
   uint32_t num_objects ;
   int local ;
   unsigned char const   *chunk_pack_names ;
   uint32_t const   *chunk_oid_fanout ;
   unsigned char const   *chunk_oid_lookup ;
   unsigned char const   *chunk_object_offsets ;
   unsigned char const   *chunk_large_offsets ;
   char const   **pack_names ;
   struct packed_git **packs ;
   char object_dir[] ;
};
struct pack_info {
   uint32_t orig_pack_int_id ;
   char *pack_name ;
   struct packed_git *p ;
   unsigned int expired : 1 ;
};
struct pack_midx_entry ;
struct write_midx_context {
   struct pack_info *info ;
   uint32_t nr ;
   uint32_t alloc ;
   struct multi_pack_index *m ;
   struct progress *progress ;
   unsigned int pack_paths_checked ;
   struct pack_midx_entry *entries ;
   uint32_t entries_nr ;
   uint32_t *pack_perm ;
   uint32_t *pack_order ;
   unsigned int large_offsets_needed : 1 ;
   uint32_t num_large_offsets ;
   int preferred_pack_idx ;
   struct string_list *to_include ;
};
struct pack_midx_entry {
   struct object_id oid ;
   uint32_t pack_int_id ;
   time_t pack_mtime ;
   uint64_t offset ;
   unsigned int preferred : 1 ;
};
struct midx_pack_order_data {
   uint32_t nr ;
   uint32_t pack ;
   off_t offset ;
};
struct bitmap_commit_cb {
   struct commit **commits ;
   size_t commits_nr ;
   size_t commits_alloc ;
   struct write_midx_context *ctx ;
};
struct clear_midx_data {
   char *keep ;
   char const   *ext ;
};
struct pair_pos_vs_id {
   uint32_t pos ;
   uint32_t pack_int_id ;
};
struct repack_info {
   timestamp_t mtime ;
   uint32_t referenced_objects ;
   uint32_t pack_int_id ;
};
enum __anonenum_437032235___107 {
    _PC_LINK_MAX___107 = 0,
    _PC_MAX_CANON___107 = 1,
    _PC_MAX_INPUT___107 = 2,
    _PC_NAME_MAX___107 = 3,
    _PC_PATH_MAX___107 = 4,
    _PC_PIPE_BUF___107 = 5,
    _PC_CHOWN_RESTRICTED___107 = 6,
    _PC_NO_TRUNC___107 = 7,
    _PC_VDISABLE___107 = 8,
    _PC_SYNC_IO___107 = 9,
    _PC_ASYNC_IO___107 = 10,
    _PC_PRIO_IO___107 = 11,
    _PC_SOCK_MAXBUF___107 = 12,
    _PC_FILESIZEBITS___107 = 13,
    _PC_REC_INCR_XFER_SIZE___107 = 14,
    _PC_REC_MAX_XFER_SIZE___107 = 15,
    _PC_REC_MIN_XFER_SIZE___107 = 16,
    _PC_REC_XFER_ALIGN___107 = 17,
    _PC_ALLOC_SIZE_MIN___107 = 18,
    _PC_SYMLINK_MAX___107 = 19,
    _PC_2_SYMLINKS___107 = 20
} ;
enum __anonenum_315186338___107 {
    _SC_ARG_MAX___107 = 0,
    _SC_CHILD_MAX___107 = 1,
    _SC_CLK_TCK___107 = 2,
    _SC_NGROUPS_MAX___107 = 3,
    _SC_OPEN_MAX___107 = 4,
    _SC_STREAM_MAX___107 = 5,
    _SC_TZNAME_MAX___107 = 6,
    _SC_JOB_CONTROL___107 = 7,
    _SC_SAVED_IDS___107 = 8,
    _SC_REALTIME_SIGNALS___107 = 9,
    _SC_PRIORITY_SCHEDULING___107 = 10,
    _SC_TIMERS___107 = 11,
    _SC_ASYNCHRONOUS_IO___107 = 12,
    _SC_PRIORITIZED_IO___107 = 13,
    _SC_SYNCHRONIZED_IO___107 = 14,
    _SC_FSYNC___107 = 15,
    _SC_MAPPED_FILES___107 = 16,
    _SC_MEMLOCK___107 = 17,
    _SC_MEMLOCK_RANGE___107 = 18,
    _SC_MEMORY_PROTECTION___107 = 19,
    _SC_MESSAGE_PASSING___107 = 20,
    _SC_SEMAPHORES___107 = 21,
    _SC_SHARED_MEMORY_OBJECTS___107 = 22,
    _SC_AIO_LISTIO_MAX___107 = 23,
    _SC_AIO_MAX___107 = 24,
    _SC_AIO_PRIO_DELTA_MAX___107 = 25,
    _SC_DELAYTIMER_MAX___107 = 26,
    _SC_MQ_OPEN_MAX___107 = 27,
    _SC_MQ_PRIO_MAX___107 = 28,
    _SC_VERSION___107 = 29,
    _SC_PAGESIZE___107 = 30,
    _SC_RTSIG_MAX___107 = 31,
    _SC_SEM_NSEMS_MAX___107 = 32,
    _SC_SEM_VALUE_MAX___107 = 33,
    _SC_SIGQUEUE_MAX___107 = 34,
    _SC_TIMER_MAX___107 = 35,
    _SC_BC_BASE_MAX___107 = 36,
    _SC_BC_DIM_MAX___107 = 37,
    _SC_BC_SCALE_MAX___107 = 38,
    _SC_BC_STRING_MAX___107 = 39,
    _SC_COLL_WEIGHTS_MAX___107 = 40,
    _SC_EQUIV_CLASS_MAX___107 = 41,
    _SC_EXPR_NEST_MAX___107 = 42,
    _SC_LINE_MAX___107 = 43,
    _SC_RE_DUP_MAX___107 = 44,
    _SC_CHARCLASS_NAME_MAX___107 = 45,
    _SC_2_VERSION___107 = 46,
    _SC_2_C_BIND___107 = 47,
    _SC_2_C_DEV___107 = 48,
    _SC_2_FORT_DEV___107 = 49,
    _SC_2_FORT_RUN___107 = 50,
    _SC_2_SW_DEV___107 = 51,
    _SC_2_LOCALEDEF___107 = 52,
    _SC_PII___107 = 53,
    _SC_PII_XTI___107 = 54,
    _SC_PII_SOCKET___107 = 55,
    _SC_PII_INTERNET___107 = 56,
    _SC_PII_OSI___107 = 57,
    _SC_POLL___107 = 58,
    _SC_SELECT___107 = 59,
    _SC_UIO_MAXIOV___107 = 60,
    _SC_IOV_MAX___107 = 60,
    _SC_PII_INTERNET_STREAM___107 = 61,
    _SC_PII_INTERNET_DGRAM___107 = 62,
    _SC_PII_OSI_COTS___107 = 63,
    _SC_PII_OSI_CLTS___107 = 64,
    _SC_PII_OSI_M___107 = 65,
    _SC_T_IOV_MAX___107 = 66,
    _SC_THREADS___107 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___107 = 68,
    _SC_GETGR_R_SIZE_MAX___107 = 69,
    _SC_GETPW_R_SIZE_MAX___107 = 70,
    _SC_LOGIN_NAME_MAX___107 = 71,
    _SC_TTY_NAME_MAX___107 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___107 = 73,
    _SC_THREAD_KEYS_MAX___107 = 74,
    _SC_THREAD_STACK_MIN___107 = 75,
    _SC_THREAD_THREADS_MAX___107 = 76,
    _SC_THREAD_ATTR_STACKADDR___107 = 77,
    _SC_THREAD_ATTR_STACKSIZE___107 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___107 = 79,
    _SC_THREAD_PRIO_INHERIT___107 = 80,
    _SC_THREAD_PRIO_PROTECT___107 = 81,
    _SC_THREAD_PROCESS_SHARED___107 = 82,
    _SC_NPROCESSORS_CONF___107 = 83,
    _SC_NPROCESSORS_ONLN___107 = 84,
    _SC_PHYS_PAGES___107 = 85,
    _SC_AVPHYS_PAGES___107 = 86,
    _SC_ATEXIT_MAX___107 = 87,
    _SC_PASS_MAX___107 = 88,
    _SC_XOPEN_VERSION___107 = 89,
    _SC_XOPEN_XCU_VERSION___107 = 90,
    _SC_XOPEN_UNIX___107 = 91,
    _SC_XOPEN_CRYPT___107 = 92,
    _SC_XOPEN_ENH_I18N___107 = 93,
    _SC_XOPEN_SHM___107 = 94,
    _SC_2_CHAR_TERM___107 = 95,
    _SC_2_C_VERSION___107 = 96,
    _SC_2_UPE___107 = 97,
    _SC_XOPEN_XPG2___107 = 98,
    _SC_XOPEN_XPG3___107 = 99,
    _SC_XOPEN_XPG4___107 = 100,
    _SC_CHAR_BIT___107 = 101,
    _SC_CHAR_MAX___107 = 102,
    _SC_CHAR_MIN___107 = 103,
    _SC_INT_MAX___107 = 104,
    _SC_INT_MIN___107 = 105,
    _SC_LONG_BIT___107 = 106,
    _SC_WORD_BIT___107 = 107,
    _SC_MB_LEN_MAX___107 = 108,
    _SC_NZERO___107 = 109,
    _SC_SSIZE_MAX___107 = 110,
    _SC_SCHAR_MAX___107 = 111,
    _SC_SCHAR_MIN___107 = 112,
    _SC_SHRT_MAX___107 = 113,
    _SC_SHRT_MIN___107 = 114,
    _SC_UCHAR_MAX___107 = 115,
    _SC_UINT_MAX___107 = 116,
    _SC_ULONG_MAX___107 = 117,
    _SC_USHRT_MAX___107 = 118,
    _SC_NL_ARGMAX___107 = 119,
    _SC_NL_LANGMAX___107 = 120,
    _SC_NL_MSGMAX___107 = 121,
    _SC_NL_NMAX___107 = 122,
    _SC_NL_SETMAX___107 = 123,
    _SC_NL_TEXTMAX___107 = 124,
    _SC_XBS5_ILP32_OFF32___107 = 125,
    _SC_XBS5_ILP32_OFFBIG___107 = 126,
    _SC_XBS5_LP64_OFF64___107 = 127,
    _SC_XBS5_LPBIG_OFFBIG___107 = 128,
    _SC_XOPEN_LEGACY___107 = 129,
    _SC_XOPEN_REALTIME___107 = 130,
    _SC_XOPEN_REALTIME_THREADS___107 = 131,
    _SC_ADVISORY_INFO___107 = 132,
    _SC_BARRIERS___107 = 133,
    _SC_BASE___107 = 134,
    _SC_C_LANG_SUPPORT___107 = 135,
    _SC_C_LANG_SUPPORT_R___107 = 136,
    _SC_CLOCK_SELECTION___107 = 137,
    _SC_CPUTIME___107 = 138,
    _SC_THREAD_CPUTIME___107 = 139,
    _SC_DEVICE_IO___107 = 140,
    _SC_DEVICE_SPECIFIC___107 = 141,
    _SC_DEVICE_SPECIFIC_R___107 = 142,
    _SC_FD_MGMT___107 = 143,
    _SC_FIFO___107 = 144,
    _SC_PIPE___107 = 145,
    _SC_FILE_ATTRIBUTES___107 = 146,
    _SC_FILE_LOCKING___107 = 147,
    _SC_FILE_SYSTEM___107 = 148,
    _SC_MONOTONIC_CLOCK___107 = 149,
    _SC_MULTI_PROCESS___107 = 150,
    _SC_SINGLE_PROCESS___107 = 151,
    _SC_NETWORKING___107 = 152,
    _SC_READER_WRITER_LOCKS___107 = 153,
    _SC_SPIN_LOCKS___107 = 154,
    _SC_REGEXP___107 = 155,
    _SC_REGEX_VERSION___107 = 156,
    _SC_SHELL___107 = 157,
    _SC_SIGNALS___107 = 158,
    _SC_SPAWN___107 = 159,
    _SC_SPORADIC_SERVER___107 = 160,
    _SC_THREAD_SPORADIC_SERVER___107 = 161,
    _SC_SYSTEM_DATABASE___107 = 162,
    _SC_SYSTEM_DATABASE_R___107 = 163,
    _SC_TIMEOUTS___107 = 164,
    _SC_TYPED_MEMORY_OBJECTS___107 = 165,
    _SC_USER_GROUPS___107 = 166,
    _SC_USER_GROUPS_R___107 = 167,
    _SC_2_PBS___107 = 168,
    _SC_2_PBS_ACCOUNTING___107 = 169,
    _SC_2_PBS_LOCATE___107 = 170,
    _SC_2_PBS_MESSAGE___107 = 171,
    _SC_2_PBS_TRACK___107 = 172,
    _SC_SYMLOOP_MAX___107 = 173,
    _SC_STREAMS___107 = 174,
    _SC_2_PBS_CHECKPOINT___107 = 175,
    _SC_V6_ILP32_OFF32___107 = 176,
    _SC_V6_ILP32_OFFBIG___107 = 177,
    _SC_V6_LP64_OFF64___107 = 178,
    _SC_V6_LPBIG_OFFBIG___107 = 179,
    _SC_HOST_NAME_MAX___107 = 180,
    _SC_TRACE___107 = 181,
    _SC_TRACE_EVENT_FILTER___107 = 182,
    _SC_TRACE_INHERIT___107 = 183,
    _SC_TRACE_LOG___107 = 184,
    _SC_LEVEL1_ICACHE_SIZE___107 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___107 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___107 = 187,
    _SC_LEVEL1_DCACHE_SIZE___107 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___107 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___107 = 190,
    _SC_LEVEL2_CACHE_SIZE___107 = 191,
    _SC_LEVEL2_CACHE_ASSOC___107 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___107 = 193,
    _SC_LEVEL3_CACHE_SIZE___107 = 194,
    _SC_LEVEL3_CACHE_ASSOC___107 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___107 = 196,
    _SC_LEVEL4_CACHE_SIZE___107 = 197,
    _SC_LEVEL4_CACHE_ASSOC___107 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___107 = 199,
    _SC_IPV6___107 = 235,
    _SC_RAW_SOCKETS___107 = 236,
    _SC_V7_ILP32_OFF32___107 = 237,
    _SC_V7_ILP32_OFFBIG___107 = 238,
    _SC_V7_LP64_OFF64___107 = 239,
    _SC_V7_LPBIG_OFFBIG___107 = 240,
    _SC_SS_REPL_MAX___107 = 241,
    _SC_TRACE_EVENT_NAME_MAX___107 = 242,
    _SC_TRACE_NAME_MAX___107 = 243,
    _SC_TRACE_SYS_MAX___107 = 244,
    _SC_TRACE_USER_EVENT_MAX___107 = 245,
    _SC_XOPEN_STREAMS___107 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___107 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___107 = 248
} ;
enum __anonenum_875524036___107 {
    _CS_PATH___107 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___107 = 1,
    _CS_GNU_LIBC_VERSION___107 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___107 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___107 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___107 = 5,
    _CS_LFS_CFLAGS___107 = 1000,
    _CS_LFS_LDFLAGS___107 = 1001,
    _CS_LFS_LIBS___107 = 1002,
    _CS_LFS_LINTFLAGS___107 = 1003,
    _CS_LFS64_CFLAGS___107 = 1004,
    _CS_LFS64_LDFLAGS___107 = 1005,
    _CS_LFS64_LIBS___107 = 1006,
    _CS_LFS64_LINTFLAGS___107 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___107 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___107 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___107 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___107 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___107 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___107 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___107 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___107 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___107 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___107 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___107 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___107 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___107 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___107 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___107 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___107 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___107 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___107 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___107 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___107 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___107 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___107 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___107 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___107 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___107 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___107 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___107 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___107 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___107 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___107 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___107 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___107 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___107 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___107 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___107 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___107 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___107 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___107 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___107 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___107 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___107 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___107 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___107 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___107 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___107 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___107 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___107 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___107 = 1147,
    _CS_V6_ENV___107 = 1148,
    _CS_V7_ENV___107 = 1149
} ;
enum __anonenum_513775621___107 {
    DT_UNKNOWN___107 = 0,
    DT_FIFO___107 = 1,
    DT_CHR___107 = 2,
    DT_DIR___107 = 4,
    DT_BLK___107 = 6,
    DT_REG___107 = 8,
    DT_LNK___107 = 10,
    DT_SOCK___107 = 12,
    DT_WHT___107 = 14
} ;
enum __anonenum_77002343___107 {
    SI_ASYNCNL___107 = -60,
    SI_TKILL___107 = -6,
    SI_SIGIO___107 = -5,
    SI_ASYNCIO___107 = -4,
    SI_MESGQ___107 = -3,
    SI_TIMER___107 = -2,
    SI_QUEUE___107 = -1,
    SI_USER___107 = 0,
    SI_KERNEL___107 = 128
} ;
enum __anonenum_131038172___107 {
    ILL_ILLOPC___107 = 1,
    ILL_ILLOPN___107 = 2,
    ILL_ILLADR___107 = 3,
    ILL_ILLTRP___107 = 4,
    ILL_PRVOPC___107 = 5,
    ILL_PRVREG___107 = 6,
    ILL_COPROC___107 = 7,
    ILL_BADSTK___107 = 8
} ;
enum __anonenum_452038093___107 {
    FPE_INTDIV___107 = 1,
    FPE_INTOVF___107 = 2,
    FPE_FLTDIV___107 = 3,
    FPE_FLTOVF___107 = 4,
    FPE_FLTUND___107 = 5,
    FPE_FLTRES___107 = 6,
    FPE_FLTINV___107 = 7,
    FPE_FLTSUB___107 = 8
} ;
enum __anonenum_30976155___107 {
    SEGV_MAPERR___107 = 1,
    SEGV_ACCERR___107 = 2,
    SEGV_BNDERR___107 = 3,
    SEGV_PKUERR___107 = 4
} ;
enum __anonenum_1036286214___107 {
    BUS_ADRALN___107 = 1,
    BUS_ADRERR___107 = 2,
    BUS_OBJERR___107 = 3,
    BUS_MCEERR_AR___107 = 4,
    BUS_MCEERR_AO___107 = 5
} ;
enum __anonenum_493465559___107 {
    TRAP_BRKPT___107 = 1,
    TRAP_TRACE___107 = 2
} ;
enum __anonenum_23175539___107 {
    CLD_EXITED___107 = 1,
    CLD_KILLED___107 = 2,
    CLD_DUMPED___107 = 3,
    CLD_TRAPPED___107 = 4,
    CLD_STOPPED___107 = 5,
    CLD_CONTINUED___107 = 6
} ;
enum __anonenum_111643124___107 {
    POLL_IN___107 = 1,
    POLL_OUT___107 = 2,
    POLL_MSG___107 = 3,
    POLL_ERR___107 = 4,
    POLL_PRI___107 = 5,
    POLL_HUP___107 = 6
} ;
enum __anonenum_852341087___107 {
    SIGEV_SIGNAL___107 = 0,
    SIGEV_NONE___107 = 1,
    SIGEV_THREAD___107 = 2,
    SIGEV_THREAD_ID___107 = 4
} ;
enum __anonenum_451154152___107 {
    REG_R8___107 = 0,
    REG_R9___107 = 1,
    REG_R10___107 = 2,
    REG_R11___107 = 3,
    REG_R12___107 = 4,
    REG_R13___107 = 5,
    REG_R14___107 = 6,
    REG_R15___107 = 7,
    REG_RDI___107 = 8,
    REG_RSI___107 = 9,
    REG_RBP___107 = 10,
    REG_RBX___107 = 11,
    REG_RDX___107 = 12,
    REG_RAX___107 = 13,
    REG_RCX___107 = 14,
    REG_RSP___107 = 15,
    REG_RIP___107 = 16,
    REG_EFL___107 = 17,
    REG_CSGSFS___107 = 18,
    REG_ERR___107 = 19,
    REG_TRAPNO___107 = 20,
    REG_OLDMASK___107 = 21,
    REG_CR2___107 = 22
} ;
enum __anonenum_57186863___107 {
    SS_ONSTACK___107 = 1,
    SS_DISABLE___107 = 2
} ;
enum __anonenum_83571709___107 {
    MSG_OOB___107 = 1,
    MSG_PEEK___107 = 2,
    MSG_DONTROUTE___107 = 4,
    MSG_TRYHARD___107 = 4,
    MSG_CTRUNC___107 = 8,
    MSG_PROXY___107 = 16,
    MSG_TRUNC___107 = 32,
    MSG_DONTWAIT___107 = 64,
    MSG_EOR___107 = 128,
    MSG_WAITALL___107 = 256,
    MSG_FIN___107 = 512,
    MSG_SYN___107 = 1024,
    MSG_CONFIRM___107 = 2048,
    MSG_RST___107 = 4096,
    MSG_ERRQUEUE___107 = 8192,
    MSG_NOSIGNAL___107 = 16384,
    MSG_MORE___107 = 32768,
    MSG_WAITFORONE___107 = 65536,
    MSG_BATCH___107 = 262144,
    MSG_ZEROCOPY___107 = 67108864,
    MSG_FASTOPEN___107 = 536870912,
    MSG_CMSG_CLOEXEC___107 = 1073741824
} ;
enum __anonenum_617082774___107 {
    SCM_RIGHTS___107 = 1,
    SCM_CREDENTIALS___107 = 2
} ;
enum __anonenum_606441560___107 {
    SHUT_RD___107 = 0,
    SHUT_WR___107 = 1,
    SHUT_RDWR___107 = 2
} ;
enum __anonenum_681669233___107 {
    IPPROTO_IP___107 = 0,
    IPPROTO_ICMP___107 = 1,
    IPPROTO_IGMP___107 = 2,
    IPPROTO_IPIP___107 = 4,
    IPPROTO_TCP___107 = 6,
    IPPROTO_EGP___107 = 8,
    IPPROTO_PUP___107 = 12,
    IPPROTO_UDP___107 = 17,
    IPPROTO_IDP___107 = 22,
    IPPROTO_TP___107 = 29,
    IPPROTO_DCCP___107 = 33,
    IPPROTO_IPV6___107 = 41,
    IPPROTO_RSVP___107 = 46,
    IPPROTO_GRE___107 = 47,
    IPPROTO_ESP___107 = 50,
    IPPROTO_AH___107 = 51,
    IPPROTO_MTP___107 = 92,
    IPPROTO_BEETPH___107 = 94,
    IPPROTO_ENCAP___107 = 98,
    IPPROTO_PIM___107 = 103,
    IPPROTO_COMP___107 = 108,
    IPPROTO_SCTP___107 = 132,
    IPPROTO_UDPLITE___107 = 136,
    IPPROTO_MPLS___107 = 137,
    IPPROTO_RAW___107 = 255,
    IPPROTO_MAX___107 = 256
} ;
enum __anonenum_218739988___107 {
    IPPROTO_HOPOPTS___107 = 0,
    IPPROTO_ROUTING___107 = 43,
    IPPROTO_FRAGMENT___107 = 44,
    IPPROTO_ICMPV6___107 = 58,
    IPPROTO_NONE___107 = 59,
    IPPROTO_DSTOPTS___107 = 60,
    IPPROTO_MH___107 = 135
} ;
enum __anonenum_662268580___107 {
    IPPORT_ECHO___107 = 7,
    IPPORT_DISCARD___107 = 9,
    IPPORT_SYSTAT___107 = 11,
    IPPORT_DAYTIME___107 = 13,
    IPPORT_NETSTAT___107 = 15,
    IPPORT_FTP___107 = 21,
    IPPORT_TELNET___107 = 23,
    IPPORT_SMTP___107 = 25,
    IPPORT_TIMESERVER___107 = 37,
    IPPORT_NAMESERVER___107 = 42,
    IPPORT_WHOIS___107 = 43,
    IPPORT_MTP___107 = 57,
    IPPORT_TFTP___107 = 69,
    IPPORT_RJE___107 = 77,
    IPPORT_FINGER___107 = 79,
    IPPORT_TTYLINK___107 = 87,
    IPPORT_SUPDUP___107 = 95,
    IPPORT_EXECSERVER___107 = 512,
    IPPORT_LOGINSERVER___107 = 513,
    IPPORT_CMDSERVER___107 = 514,
    IPPORT_EFSSERVER___107 = 520,
    IPPORT_BIFFUDP___107 = 512,
    IPPORT_WHOSERVER___107 = 513,
    IPPORT_ROUTESERVER___107 = 520,
    IPPORT_RESERVED___107 = 1024,
    IPPORT_USERRESERVED___107 = 5000
} ;
enum __anonenum_788308992___107 {
    TCP_ESTABLISHED___107 = 1,
    TCP_SYN_SENT___107 = 2,
    TCP_SYN_RECV___107 = 3,
    TCP_FIN_WAIT1___107 = 4,
    TCP_FIN_WAIT2___107 = 5,
    TCP_TIME_WAIT___107 = 6,
    TCP_CLOSE___107 = 7,
    TCP_CLOSE_WAIT___107 = 8,
    TCP_LAST_ACK___107 = 9,
    TCP_LISTEN___107 = 10,
    TCP_CLOSING___107 = 11
} ;
enum __anonenum_221125648___107 {
    TCP_NO_QUEUE___107 = 0,
    TCP_RECV_QUEUE___107 = 1,
    TCP_SEND_QUEUE___107 = 2,
    TCP_QUEUES_NR___107 = 3
} ;
enum __anonenum_34415463___107 {
    PTHREAD_CREATE_JOINABLE___107 = 0,
    PTHREAD_CREATE_DETACHED___107 = 1
} ;
enum __anonenum_303612439___107 {
    PTHREAD_MUTEX_TIMED_NP___107 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___107 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___107 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___107 = 3,
    PTHREAD_MUTEX_NORMAL___107 = 0,
    PTHREAD_MUTEX_RECURSIVE___107 = 1,
    PTHREAD_MUTEX_ERRORCHECK___107 = 2,
    PTHREAD_MUTEX_DEFAULT___107 = 0,
    PTHREAD_MUTEX_FAST_NP___107 = 0
} ;
enum __anonenum_931900394___107 {
    PTHREAD_MUTEX_STALLED___107 = 0,
    PTHREAD_MUTEX_STALLED_NP___107 = 0,
    PTHREAD_MUTEX_ROBUST___107 = 1,
    PTHREAD_MUTEX_ROBUST_NP___107 = 1
} ;
enum __anonenum_205214487___107 {
    PTHREAD_PRIO_NONE___107 = 0,
    PTHREAD_PRIO_INHERIT___107 = 1,
    PTHREAD_PRIO_PROTECT___107 = 2
} ;
enum __anonenum_25043950___107 {
    PTHREAD_RWLOCK_PREFER_READER_NP___107 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___107 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___107 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___107 = 0
} ;
enum __anonenum_436439511___107 {
    PTHREAD_INHERIT_SCHED___107 = 0,
    PTHREAD_EXPLICIT_SCHED___107 = 1
} ;
enum __anonenum_998661166___107 {
    PTHREAD_SCOPE_SYSTEM___107 = 0,
    PTHREAD_SCOPE_PROCESS___107 = 1
} ;
enum __anonenum_146137331___107 {
    PTHREAD_PROCESS_PRIVATE___107 = 0,
    PTHREAD_PROCESS_SHARED___107 = 1
} ;
enum __anonenum_53396917___107 {
    PTHREAD_CANCEL_ENABLE___107 = 0,
    PTHREAD_CANCEL_DISABLE___107 = 1
} ;
enum __anonenum_904563783___107 {
    PTHREAD_CANCEL_DEFERRED___107 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___107 = 1
} ;
enum __anonenum_672052974___107 {
    SSL_CT_VALIDATION_PERMISSIVE___107 = 0,
    SSL_CT_VALIDATION_STRICT___107 = 1
} ;
struct dir_entry___0 {
   struct hashmap_entry ent ;
   struct dir_entry___0 *parent ;
   int nr ;
   unsigned int namelen ;
   char name[] ;
};
struct lazy_entry {
   struct dir_entry___0 *dir ;
   unsigned int hash_dir ;
   unsigned int hash_name ;
};
struct lazy_dir_thread_data {
   pthread_t pthread ;
   struct index_state *istate ;
   struct lazy_entry *lazy_entries ;
   int k_start ;
   int k_end ;
};
struct lazy_name_thread_data {
   pthread_t pthread ;
   struct index_state *istate ;
   struct lazy_entry *lazy_entries ;
};
enum __anonenum_437032235___108 {
    _PC_LINK_MAX___108 = 0,
    _PC_MAX_CANON___108 = 1,
    _PC_MAX_INPUT___108 = 2,
    _PC_NAME_MAX___108 = 3,
    _PC_PATH_MAX___108 = 4,
    _PC_PIPE_BUF___108 = 5,
    _PC_CHOWN_RESTRICTED___108 = 6,
    _PC_NO_TRUNC___108 = 7,
    _PC_VDISABLE___108 = 8,
    _PC_SYNC_IO___108 = 9,
    _PC_ASYNC_IO___108 = 10,
    _PC_PRIO_IO___108 = 11,
    _PC_SOCK_MAXBUF___108 = 12,
    _PC_FILESIZEBITS___108 = 13,
    _PC_REC_INCR_XFER_SIZE___108 = 14,
    _PC_REC_MAX_XFER_SIZE___108 = 15,
    _PC_REC_MIN_XFER_SIZE___108 = 16,
    _PC_REC_XFER_ALIGN___108 = 17,
    _PC_ALLOC_SIZE_MIN___108 = 18,
    _PC_SYMLINK_MAX___108 = 19,
    _PC_2_SYMLINKS___108 = 20
} ;
enum __anonenum_315186338___108 {
    _SC_ARG_MAX___108 = 0,
    _SC_CHILD_MAX___108 = 1,
    _SC_CLK_TCK___108 = 2,
    _SC_NGROUPS_MAX___108 = 3,
    _SC_OPEN_MAX___108 = 4,
    _SC_STREAM_MAX___108 = 5,
    _SC_TZNAME_MAX___108 = 6,
    _SC_JOB_CONTROL___108 = 7,
    _SC_SAVED_IDS___108 = 8,
    _SC_REALTIME_SIGNALS___108 = 9,
    _SC_PRIORITY_SCHEDULING___108 = 10,
    _SC_TIMERS___108 = 11,
    _SC_ASYNCHRONOUS_IO___108 = 12,
    _SC_PRIORITIZED_IO___108 = 13,
    _SC_SYNCHRONIZED_IO___108 = 14,
    _SC_FSYNC___108 = 15,
    _SC_MAPPED_FILES___108 = 16,
    _SC_MEMLOCK___108 = 17,
    _SC_MEMLOCK_RANGE___108 = 18,
    _SC_MEMORY_PROTECTION___108 = 19,
    _SC_MESSAGE_PASSING___108 = 20,
    _SC_SEMAPHORES___108 = 21,
    _SC_SHARED_MEMORY_OBJECTS___108 = 22,
    _SC_AIO_LISTIO_MAX___108 = 23,
    _SC_AIO_MAX___108 = 24,
    _SC_AIO_PRIO_DELTA_MAX___108 = 25,
    _SC_DELAYTIMER_MAX___108 = 26,
    _SC_MQ_OPEN_MAX___108 = 27,
    _SC_MQ_PRIO_MAX___108 = 28,
    _SC_VERSION___108 = 29,
    _SC_PAGESIZE___108 = 30,
    _SC_RTSIG_MAX___108 = 31,
    _SC_SEM_NSEMS_MAX___108 = 32,
    _SC_SEM_VALUE_MAX___108 = 33,
    _SC_SIGQUEUE_MAX___108 = 34,
    _SC_TIMER_MAX___108 = 35,
    _SC_BC_BASE_MAX___108 = 36,
    _SC_BC_DIM_MAX___108 = 37,
    _SC_BC_SCALE_MAX___108 = 38,
    _SC_BC_STRING_MAX___108 = 39,
    _SC_COLL_WEIGHTS_MAX___108 = 40,
    _SC_EQUIV_CLASS_MAX___108 = 41,
    _SC_EXPR_NEST_MAX___108 = 42,
    _SC_LINE_MAX___108 = 43,
    _SC_RE_DUP_MAX___108 = 44,
    _SC_CHARCLASS_NAME_MAX___108 = 45,
    _SC_2_VERSION___108 = 46,
    _SC_2_C_BIND___108 = 47,
    _SC_2_C_DEV___108 = 48,
    _SC_2_FORT_DEV___108 = 49,
    _SC_2_FORT_RUN___108 = 50,
    _SC_2_SW_DEV___108 = 51,
    _SC_2_LOCALEDEF___108 = 52,
    _SC_PII___108 = 53,
    _SC_PII_XTI___108 = 54,
    _SC_PII_SOCKET___108 = 55,
    _SC_PII_INTERNET___108 = 56,
    _SC_PII_OSI___108 = 57,
    _SC_POLL___108 = 58,
    _SC_SELECT___108 = 59,
    _SC_UIO_MAXIOV___108 = 60,
    _SC_IOV_MAX___108 = 60,
    _SC_PII_INTERNET_STREAM___108 = 61,
    _SC_PII_INTERNET_DGRAM___108 = 62,
    _SC_PII_OSI_COTS___108 = 63,
    _SC_PII_OSI_CLTS___108 = 64,
    _SC_PII_OSI_M___108 = 65,
    _SC_T_IOV_MAX___108 = 66,
    _SC_THREADS___108 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___108 = 68,
    _SC_GETGR_R_SIZE_MAX___108 = 69,
    _SC_GETPW_R_SIZE_MAX___108 = 70,
    _SC_LOGIN_NAME_MAX___108 = 71,
    _SC_TTY_NAME_MAX___108 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___108 = 73,
    _SC_THREAD_KEYS_MAX___108 = 74,
    _SC_THREAD_STACK_MIN___108 = 75,
    _SC_THREAD_THREADS_MAX___108 = 76,
    _SC_THREAD_ATTR_STACKADDR___108 = 77,
    _SC_THREAD_ATTR_STACKSIZE___108 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___108 = 79,
    _SC_THREAD_PRIO_INHERIT___108 = 80,
    _SC_THREAD_PRIO_PROTECT___108 = 81,
    _SC_THREAD_PROCESS_SHARED___108 = 82,
    _SC_NPROCESSORS_CONF___108 = 83,
    _SC_NPROCESSORS_ONLN___108 = 84,
    _SC_PHYS_PAGES___108 = 85,
    _SC_AVPHYS_PAGES___108 = 86,
    _SC_ATEXIT_MAX___108 = 87,
    _SC_PASS_MAX___108 = 88,
    _SC_XOPEN_VERSION___108 = 89,
    _SC_XOPEN_XCU_VERSION___108 = 90,
    _SC_XOPEN_UNIX___108 = 91,
    _SC_XOPEN_CRYPT___108 = 92,
    _SC_XOPEN_ENH_I18N___108 = 93,
    _SC_XOPEN_SHM___108 = 94,
    _SC_2_CHAR_TERM___108 = 95,
    _SC_2_C_VERSION___108 = 96,
    _SC_2_UPE___108 = 97,
    _SC_XOPEN_XPG2___108 = 98,
    _SC_XOPEN_XPG3___108 = 99,
    _SC_XOPEN_XPG4___108 = 100,
    _SC_CHAR_BIT___108 = 101,
    _SC_CHAR_MAX___108 = 102,
    _SC_CHAR_MIN___108 = 103,
    _SC_INT_MAX___108 = 104,
    _SC_INT_MIN___108 = 105,
    _SC_LONG_BIT___108 = 106,
    _SC_WORD_BIT___108 = 107,
    _SC_MB_LEN_MAX___108 = 108,
    _SC_NZERO___108 = 109,
    _SC_SSIZE_MAX___108 = 110,
    _SC_SCHAR_MAX___108 = 111,
    _SC_SCHAR_MIN___108 = 112,
    _SC_SHRT_MAX___108 = 113,
    _SC_SHRT_MIN___108 = 114,
    _SC_UCHAR_MAX___108 = 115,
    _SC_UINT_MAX___108 = 116,
    _SC_ULONG_MAX___108 = 117,
    _SC_USHRT_MAX___108 = 118,
    _SC_NL_ARGMAX___108 = 119,
    _SC_NL_LANGMAX___108 = 120,
    _SC_NL_MSGMAX___108 = 121,
    _SC_NL_NMAX___108 = 122,
    _SC_NL_SETMAX___108 = 123,
    _SC_NL_TEXTMAX___108 = 124,
    _SC_XBS5_ILP32_OFF32___108 = 125,
    _SC_XBS5_ILP32_OFFBIG___108 = 126,
    _SC_XBS5_LP64_OFF64___108 = 127,
    _SC_XBS5_LPBIG_OFFBIG___108 = 128,
    _SC_XOPEN_LEGACY___108 = 129,
    _SC_XOPEN_REALTIME___108 = 130,
    _SC_XOPEN_REALTIME_THREADS___108 = 131,
    _SC_ADVISORY_INFO___108 = 132,
    _SC_BARRIERS___108 = 133,
    _SC_BASE___108 = 134,
    _SC_C_LANG_SUPPORT___108 = 135,
    _SC_C_LANG_SUPPORT_R___108 = 136,
    _SC_CLOCK_SELECTION___108 = 137,
    _SC_CPUTIME___108 = 138,
    _SC_THREAD_CPUTIME___108 = 139,
    _SC_DEVICE_IO___108 = 140,
    _SC_DEVICE_SPECIFIC___108 = 141,
    _SC_DEVICE_SPECIFIC_R___108 = 142,
    _SC_FD_MGMT___108 = 143,
    _SC_FIFO___108 = 144,
    _SC_PIPE___108 = 145,
    _SC_FILE_ATTRIBUTES___108 = 146,
    _SC_FILE_LOCKING___108 = 147,
    _SC_FILE_SYSTEM___108 = 148,
    _SC_MONOTONIC_CLOCK___108 = 149,
    _SC_MULTI_PROCESS___108 = 150,
    _SC_SINGLE_PROCESS___108 = 151,
    _SC_NETWORKING___108 = 152,
    _SC_READER_WRITER_LOCKS___108 = 153,
    _SC_SPIN_LOCKS___108 = 154,
    _SC_REGEXP___108 = 155,
    _SC_REGEX_VERSION___108 = 156,
    _SC_SHELL___108 = 157,
    _SC_SIGNALS___108 = 158,
    _SC_SPAWN___108 = 159,
    _SC_SPORADIC_SERVER___108 = 160,
    _SC_THREAD_SPORADIC_SERVER___108 = 161,
    _SC_SYSTEM_DATABASE___108 = 162,
    _SC_SYSTEM_DATABASE_R___108 = 163,
    _SC_TIMEOUTS___108 = 164,
    _SC_TYPED_MEMORY_OBJECTS___108 = 165,
    _SC_USER_GROUPS___108 = 166,
    _SC_USER_GROUPS_R___108 = 167,
    _SC_2_PBS___108 = 168,
    _SC_2_PBS_ACCOUNTING___108 = 169,
    _SC_2_PBS_LOCATE___108 = 170,
    _SC_2_PBS_MESSAGE___108 = 171,
    _SC_2_PBS_TRACK___108 = 172,
    _SC_SYMLOOP_MAX___108 = 173,
    _SC_STREAMS___108 = 174,
    _SC_2_PBS_CHECKPOINT___108 = 175,
    _SC_V6_ILP32_OFF32___108 = 176,
    _SC_V6_ILP32_OFFBIG___108 = 177,
    _SC_V6_LP64_OFF64___108 = 178,
    _SC_V6_LPBIG_OFFBIG___108 = 179,
    _SC_HOST_NAME_MAX___108 = 180,
    _SC_TRACE___108 = 181,
    _SC_TRACE_EVENT_FILTER___108 = 182,
    _SC_TRACE_INHERIT___108 = 183,
    _SC_TRACE_LOG___108 = 184,
    _SC_LEVEL1_ICACHE_SIZE___108 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___108 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___108 = 187,
    _SC_LEVEL1_DCACHE_SIZE___108 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___108 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___108 = 190,
    _SC_LEVEL2_CACHE_SIZE___108 = 191,
    _SC_LEVEL2_CACHE_ASSOC___108 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___108 = 193,
    _SC_LEVEL3_CACHE_SIZE___108 = 194,
    _SC_LEVEL3_CACHE_ASSOC___108 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___108 = 196,
    _SC_LEVEL4_CACHE_SIZE___108 = 197,
    _SC_LEVEL4_CACHE_ASSOC___108 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___108 = 199,
    _SC_IPV6___108 = 235,
    _SC_RAW_SOCKETS___108 = 236,
    _SC_V7_ILP32_OFF32___108 = 237,
    _SC_V7_ILP32_OFFBIG___108 = 238,
    _SC_V7_LP64_OFF64___108 = 239,
    _SC_V7_LPBIG_OFFBIG___108 = 240,
    _SC_SS_REPL_MAX___108 = 241,
    _SC_TRACE_EVENT_NAME_MAX___108 = 242,
    _SC_TRACE_NAME_MAX___108 = 243,
    _SC_TRACE_SYS_MAX___108 = 244,
    _SC_TRACE_USER_EVENT_MAX___108 = 245,
    _SC_XOPEN_STREAMS___108 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___108 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___108 = 248
} ;
enum __anonenum_875524036___108 {
    _CS_PATH___108 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___108 = 1,
    _CS_GNU_LIBC_VERSION___108 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___108 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___108 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___108 = 5,
    _CS_LFS_CFLAGS___108 = 1000,
    _CS_LFS_LDFLAGS___108 = 1001,
    _CS_LFS_LIBS___108 = 1002,
    _CS_LFS_LINTFLAGS___108 = 1003,
    _CS_LFS64_CFLAGS___108 = 1004,
    _CS_LFS64_LDFLAGS___108 = 1005,
    _CS_LFS64_LIBS___108 = 1006,
    _CS_LFS64_LINTFLAGS___108 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___108 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___108 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___108 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___108 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___108 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___108 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___108 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___108 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___108 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___108 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___108 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___108 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___108 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___108 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___108 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___108 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___108 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___108 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___108 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___108 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___108 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___108 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___108 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___108 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___108 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___108 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___108 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___108 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___108 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___108 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___108 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___108 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___108 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___108 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___108 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___108 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___108 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___108 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___108 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___108 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___108 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___108 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___108 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___108 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___108 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___108 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___108 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___108 = 1147,
    _CS_V6_ENV___108 = 1148,
    _CS_V7_ENV___108 = 1149
} ;
enum __anonenum_513775621___108 {
    DT_UNKNOWN___108 = 0,
    DT_FIFO___108 = 1,
    DT_CHR___108 = 2,
    DT_DIR___108 = 4,
    DT_BLK___108 = 6,
    DT_REG___108 = 8,
    DT_LNK___108 = 10,
    DT_SOCK___108 = 12,
    DT_WHT___108 = 14
} ;
enum __anonenum_77002343___108 {
    SI_ASYNCNL___108 = -60,
    SI_TKILL___108 = -6,
    SI_SIGIO___108 = -5,
    SI_ASYNCIO___108 = -4,
    SI_MESGQ___108 = -3,
    SI_TIMER___108 = -2,
    SI_QUEUE___108 = -1,
    SI_USER___108 = 0,
    SI_KERNEL___108 = 128
} ;
enum __anonenum_131038172___108 {
    ILL_ILLOPC___108 = 1,
    ILL_ILLOPN___108 = 2,
    ILL_ILLADR___108 = 3,
    ILL_ILLTRP___108 = 4,
    ILL_PRVOPC___108 = 5,
    ILL_PRVREG___108 = 6,
    ILL_COPROC___108 = 7,
    ILL_BADSTK___108 = 8
} ;
enum __anonenum_452038093___108 {
    FPE_INTDIV___108 = 1,
    FPE_INTOVF___108 = 2,
    FPE_FLTDIV___108 = 3,
    FPE_FLTOVF___108 = 4,
    FPE_FLTUND___108 = 5,
    FPE_FLTRES___108 = 6,
    FPE_FLTINV___108 = 7,
    FPE_FLTSUB___108 = 8
} ;
enum __anonenum_30976155___108 {
    SEGV_MAPERR___108 = 1,
    SEGV_ACCERR___108 = 2,
    SEGV_BNDERR___108 = 3,
    SEGV_PKUERR___108 = 4
} ;
enum __anonenum_1036286214___108 {
    BUS_ADRALN___108 = 1,
    BUS_ADRERR___108 = 2,
    BUS_OBJERR___108 = 3,
    BUS_MCEERR_AR___108 = 4,
    BUS_MCEERR_AO___108 = 5
} ;
enum __anonenum_493465559___108 {
    TRAP_BRKPT___108 = 1,
    TRAP_TRACE___108 = 2
} ;
enum __anonenum_23175539___108 {
    CLD_EXITED___108 = 1,
    CLD_KILLED___108 = 2,
    CLD_DUMPED___108 = 3,
    CLD_TRAPPED___108 = 4,
    CLD_STOPPED___108 = 5,
    CLD_CONTINUED___108 = 6
} ;
enum __anonenum_111643124___108 {
    POLL_IN___108 = 1,
    POLL_OUT___108 = 2,
    POLL_MSG___108 = 3,
    POLL_ERR___108 = 4,
    POLL_PRI___108 = 5,
    POLL_HUP___108 = 6
} ;
enum __anonenum_852341087___108 {
    SIGEV_SIGNAL___108 = 0,
    SIGEV_NONE___108 = 1,
    SIGEV_THREAD___108 = 2,
    SIGEV_THREAD_ID___108 = 4
} ;
enum __anonenum_451154152___108 {
    REG_R8___108 = 0,
    REG_R9___108 = 1,
    REG_R10___108 = 2,
    REG_R11___108 = 3,
    REG_R12___108 = 4,
    REG_R13___108 = 5,
    REG_R14___108 = 6,
    REG_R15___108 = 7,
    REG_RDI___108 = 8,
    REG_RSI___108 = 9,
    REG_RBP___108 = 10,
    REG_RBX___108 = 11,
    REG_RDX___108 = 12,
    REG_RAX___108 = 13,
    REG_RCX___108 = 14,
    REG_RSP___108 = 15,
    REG_RIP___108 = 16,
    REG_EFL___108 = 17,
    REG_CSGSFS___108 = 18,
    REG_ERR___108 = 19,
    REG_TRAPNO___108 = 20,
    REG_OLDMASK___108 = 21,
    REG_CR2___108 = 22
} ;
enum __anonenum_57186863___108 {
    SS_ONSTACK___108 = 1,
    SS_DISABLE___108 = 2
} ;
enum __anonenum_83571709___108 {
    MSG_OOB___108 = 1,
    MSG_PEEK___108 = 2,
    MSG_DONTROUTE___108 = 4,
    MSG_TRYHARD___108 = 4,
    MSG_CTRUNC___108 = 8,
    MSG_PROXY___108 = 16,
    MSG_TRUNC___108 = 32,
    MSG_DONTWAIT___108 = 64,
    MSG_EOR___108 = 128,
    MSG_WAITALL___108 = 256,
    MSG_FIN___108 = 512,
    MSG_SYN___108 = 1024,
    MSG_CONFIRM___108 = 2048,
    MSG_RST___108 = 4096,
    MSG_ERRQUEUE___108 = 8192,
    MSG_NOSIGNAL___108 = 16384,
    MSG_MORE___108 = 32768,
    MSG_WAITFORONE___108 = 65536,
    MSG_BATCH___108 = 262144,
    MSG_ZEROCOPY___108 = 67108864,
    MSG_FASTOPEN___108 = 536870912,
    MSG_CMSG_CLOEXEC___108 = 1073741824
} ;
enum __anonenum_617082774___108 {
    SCM_RIGHTS___108 = 1,
    SCM_CREDENTIALS___108 = 2
} ;
enum __anonenum_606441560___108 {
    SHUT_RD___108 = 0,
    SHUT_WR___108 = 1,
    SHUT_RDWR___108 = 2
} ;
enum __anonenum_681669233___108 {
    IPPROTO_IP___108 = 0,
    IPPROTO_ICMP___108 = 1,
    IPPROTO_IGMP___108 = 2,
    IPPROTO_IPIP___108 = 4,
    IPPROTO_TCP___108 = 6,
    IPPROTO_EGP___108 = 8,
    IPPROTO_PUP___108 = 12,
    IPPROTO_UDP___108 = 17,
    IPPROTO_IDP___108 = 22,
    IPPROTO_TP___108 = 29,
    IPPROTO_DCCP___108 = 33,
    IPPROTO_IPV6___108 = 41,
    IPPROTO_RSVP___108 = 46,
    IPPROTO_GRE___108 = 47,
    IPPROTO_ESP___108 = 50,
    IPPROTO_AH___108 = 51,
    IPPROTO_MTP___108 = 92,
    IPPROTO_BEETPH___108 = 94,
    IPPROTO_ENCAP___108 = 98,
    IPPROTO_PIM___108 = 103,
    IPPROTO_COMP___108 = 108,
    IPPROTO_SCTP___108 = 132,
    IPPROTO_UDPLITE___108 = 136,
    IPPROTO_MPLS___108 = 137,
    IPPROTO_RAW___108 = 255,
    IPPROTO_MAX___108 = 256
} ;
enum __anonenum_218739988___108 {
    IPPROTO_HOPOPTS___108 = 0,
    IPPROTO_ROUTING___108 = 43,
    IPPROTO_FRAGMENT___108 = 44,
    IPPROTO_ICMPV6___108 = 58,
    IPPROTO_NONE___108 = 59,
    IPPROTO_DSTOPTS___108 = 60,
    IPPROTO_MH___108 = 135
} ;
enum __anonenum_662268580___108 {
    IPPORT_ECHO___108 = 7,
    IPPORT_DISCARD___108 = 9,
    IPPORT_SYSTAT___108 = 11,
    IPPORT_DAYTIME___108 = 13,
    IPPORT_NETSTAT___108 = 15,
    IPPORT_FTP___108 = 21,
    IPPORT_TELNET___108 = 23,
    IPPORT_SMTP___108 = 25,
    IPPORT_TIMESERVER___108 = 37,
    IPPORT_NAMESERVER___108 = 42,
    IPPORT_WHOIS___108 = 43,
    IPPORT_MTP___108 = 57,
    IPPORT_TFTP___108 = 69,
    IPPORT_RJE___108 = 77,
    IPPORT_FINGER___108 = 79,
    IPPORT_TTYLINK___108 = 87,
    IPPORT_SUPDUP___108 = 95,
    IPPORT_EXECSERVER___108 = 512,
    IPPORT_LOGINSERVER___108 = 513,
    IPPORT_CMDSERVER___108 = 514,
    IPPORT_EFSSERVER___108 = 520,
    IPPORT_BIFFUDP___108 = 512,
    IPPORT_WHOSERVER___108 = 513,
    IPPORT_ROUTESERVER___108 = 520,
    IPPORT_RESERVED___108 = 1024,
    IPPORT_USERRESERVED___108 = 5000
} ;
enum __anonenum_788308992___108 {
    TCP_ESTABLISHED___108 = 1,
    TCP_SYN_SENT___108 = 2,
    TCP_SYN_RECV___108 = 3,
    TCP_FIN_WAIT1___108 = 4,
    TCP_FIN_WAIT2___108 = 5,
    TCP_TIME_WAIT___108 = 6,
    TCP_CLOSE___108 = 7,
    TCP_CLOSE_WAIT___108 = 8,
    TCP_LAST_ACK___108 = 9,
    TCP_LISTEN___108 = 10,
    TCP_CLOSING___108 = 11
} ;
enum __anonenum_221125648___108 {
    TCP_NO_QUEUE___108 = 0,
    TCP_RECV_QUEUE___108 = 1,
    TCP_SEND_QUEUE___108 = 2,
    TCP_QUEUES_NR___108 = 3
} ;
enum __anonenum_34415463___108 {
    PTHREAD_CREATE_JOINABLE___108 = 0,
    PTHREAD_CREATE_DETACHED___108 = 1
} ;
enum __anonenum_303612439___108 {
    PTHREAD_MUTEX_TIMED_NP___108 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___108 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___108 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___108 = 3,
    PTHREAD_MUTEX_NORMAL___108 = 0,
    PTHREAD_MUTEX_RECURSIVE___108 = 1,
    PTHREAD_MUTEX_ERRORCHECK___108 = 2,
    PTHREAD_MUTEX_DEFAULT___108 = 0,
    PTHREAD_MUTEX_FAST_NP___108 = 0
} ;
enum __anonenum_931900394___108 {
    PTHREAD_MUTEX_STALLED___108 = 0,
    PTHREAD_MUTEX_STALLED_NP___108 = 0,
    PTHREAD_MUTEX_ROBUST___108 = 1,
    PTHREAD_MUTEX_ROBUST_NP___108 = 1
} ;
enum __anonenum_205214487___108 {
    PTHREAD_PRIO_NONE___108 = 0,
    PTHREAD_PRIO_INHERIT___108 = 1,
    PTHREAD_PRIO_PROTECT___108 = 2
} ;
enum __anonenum_25043950___108 {
    PTHREAD_RWLOCK_PREFER_READER_NP___108 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___108 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___108 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___108 = 0
} ;
enum __anonenum_436439511___108 {
    PTHREAD_INHERIT_SCHED___108 = 0,
    PTHREAD_EXPLICIT_SCHED___108 = 1
} ;
enum __anonenum_998661166___108 {
    PTHREAD_SCOPE_SYSTEM___108 = 0,
    PTHREAD_SCOPE_PROCESS___108 = 1
} ;
enum __anonenum_146137331___108 {
    PTHREAD_PROCESS_PRIVATE___108 = 0,
    PTHREAD_PROCESS_SHARED___108 = 1
} ;
enum __anonenum_53396917___108 {
    PTHREAD_CANCEL_ENABLE___108 = 0,
    PTHREAD_CANCEL_DISABLE___108 = 1
} ;
enum __anonenum_904563783___108 {
    PTHREAD_CANCEL_DEFERRED___108 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___108 = 1
} ;
enum __anonenum_672052974___108 {
    SSL_CT_VALIDATION_PERMISSIVE___108 = 0,
    SSL_CT_VALIDATION_STRICT___108 = 1
} ;
struct negotiation_state {
   struct prio_queue rev_list ;
   int non_common_revs ;
};
enum __anonenum_437032235___109 {
    _PC_LINK_MAX___109 = 0,
    _PC_MAX_CANON___109 = 1,
    _PC_MAX_INPUT___109 = 2,
    _PC_NAME_MAX___109 = 3,
    _PC_PATH_MAX___109 = 4,
    _PC_PIPE_BUF___109 = 5,
    _PC_CHOWN_RESTRICTED___109 = 6,
    _PC_NO_TRUNC___109 = 7,
    _PC_VDISABLE___109 = 8,
    _PC_SYNC_IO___109 = 9,
    _PC_ASYNC_IO___109 = 10,
    _PC_PRIO_IO___109 = 11,
    _PC_SOCK_MAXBUF___109 = 12,
    _PC_FILESIZEBITS___109 = 13,
    _PC_REC_INCR_XFER_SIZE___109 = 14,
    _PC_REC_MAX_XFER_SIZE___109 = 15,
    _PC_REC_MIN_XFER_SIZE___109 = 16,
    _PC_REC_XFER_ALIGN___109 = 17,
    _PC_ALLOC_SIZE_MIN___109 = 18,
    _PC_SYMLINK_MAX___109 = 19,
    _PC_2_SYMLINKS___109 = 20
} ;
enum __anonenum_315186338___109 {
    _SC_ARG_MAX___109 = 0,
    _SC_CHILD_MAX___109 = 1,
    _SC_CLK_TCK___109 = 2,
    _SC_NGROUPS_MAX___109 = 3,
    _SC_OPEN_MAX___109 = 4,
    _SC_STREAM_MAX___109 = 5,
    _SC_TZNAME_MAX___109 = 6,
    _SC_JOB_CONTROL___109 = 7,
    _SC_SAVED_IDS___109 = 8,
    _SC_REALTIME_SIGNALS___109 = 9,
    _SC_PRIORITY_SCHEDULING___109 = 10,
    _SC_TIMERS___109 = 11,
    _SC_ASYNCHRONOUS_IO___109 = 12,
    _SC_PRIORITIZED_IO___109 = 13,
    _SC_SYNCHRONIZED_IO___109 = 14,
    _SC_FSYNC___109 = 15,
    _SC_MAPPED_FILES___109 = 16,
    _SC_MEMLOCK___109 = 17,
    _SC_MEMLOCK_RANGE___109 = 18,
    _SC_MEMORY_PROTECTION___109 = 19,
    _SC_MESSAGE_PASSING___109 = 20,
    _SC_SEMAPHORES___109 = 21,
    _SC_SHARED_MEMORY_OBJECTS___109 = 22,
    _SC_AIO_LISTIO_MAX___109 = 23,
    _SC_AIO_MAX___109 = 24,
    _SC_AIO_PRIO_DELTA_MAX___109 = 25,
    _SC_DELAYTIMER_MAX___109 = 26,
    _SC_MQ_OPEN_MAX___109 = 27,
    _SC_MQ_PRIO_MAX___109 = 28,
    _SC_VERSION___109 = 29,
    _SC_PAGESIZE___109 = 30,
    _SC_RTSIG_MAX___109 = 31,
    _SC_SEM_NSEMS_MAX___109 = 32,
    _SC_SEM_VALUE_MAX___109 = 33,
    _SC_SIGQUEUE_MAX___109 = 34,
    _SC_TIMER_MAX___109 = 35,
    _SC_BC_BASE_MAX___109 = 36,
    _SC_BC_DIM_MAX___109 = 37,
    _SC_BC_SCALE_MAX___109 = 38,
    _SC_BC_STRING_MAX___109 = 39,
    _SC_COLL_WEIGHTS_MAX___109 = 40,
    _SC_EQUIV_CLASS_MAX___109 = 41,
    _SC_EXPR_NEST_MAX___109 = 42,
    _SC_LINE_MAX___109 = 43,
    _SC_RE_DUP_MAX___109 = 44,
    _SC_CHARCLASS_NAME_MAX___109 = 45,
    _SC_2_VERSION___109 = 46,
    _SC_2_C_BIND___109 = 47,
    _SC_2_C_DEV___109 = 48,
    _SC_2_FORT_DEV___109 = 49,
    _SC_2_FORT_RUN___109 = 50,
    _SC_2_SW_DEV___109 = 51,
    _SC_2_LOCALEDEF___109 = 52,
    _SC_PII___109 = 53,
    _SC_PII_XTI___109 = 54,
    _SC_PII_SOCKET___109 = 55,
    _SC_PII_INTERNET___109 = 56,
    _SC_PII_OSI___109 = 57,
    _SC_POLL___109 = 58,
    _SC_SELECT___109 = 59,
    _SC_UIO_MAXIOV___109 = 60,
    _SC_IOV_MAX___109 = 60,
    _SC_PII_INTERNET_STREAM___109 = 61,
    _SC_PII_INTERNET_DGRAM___109 = 62,
    _SC_PII_OSI_COTS___109 = 63,
    _SC_PII_OSI_CLTS___109 = 64,
    _SC_PII_OSI_M___109 = 65,
    _SC_T_IOV_MAX___109 = 66,
    _SC_THREADS___109 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___109 = 68,
    _SC_GETGR_R_SIZE_MAX___109 = 69,
    _SC_GETPW_R_SIZE_MAX___109 = 70,
    _SC_LOGIN_NAME_MAX___109 = 71,
    _SC_TTY_NAME_MAX___109 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___109 = 73,
    _SC_THREAD_KEYS_MAX___109 = 74,
    _SC_THREAD_STACK_MIN___109 = 75,
    _SC_THREAD_THREADS_MAX___109 = 76,
    _SC_THREAD_ATTR_STACKADDR___109 = 77,
    _SC_THREAD_ATTR_STACKSIZE___109 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___109 = 79,
    _SC_THREAD_PRIO_INHERIT___109 = 80,
    _SC_THREAD_PRIO_PROTECT___109 = 81,
    _SC_THREAD_PROCESS_SHARED___109 = 82,
    _SC_NPROCESSORS_CONF___109 = 83,
    _SC_NPROCESSORS_ONLN___109 = 84,
    _SC_PHYS_PAGES___109 = 85,
    _SC_AVPHYS_PAGES___109 = 86,
    _SC_ATEXIT_MAX___109 = 87,
    _SC_PASS_MAX___109 = 88,
    _SC_XOPEN_VERSION___109 = 89,
    _SC_XOPEN_XCU_VERSION___109 = 90,
    _SC_XOPEN_UNIX___109 = 91,
    _SC_XOPEN_CRYPT___109 = 92,
    _SC_XOPEN_ENH_I18N___109 = 93,
    _SC_XOPEN_SHM___109 = 94,
    _SC_2_CHAR_TERM___109 = 95,
    _SC_2_C_VERSION___109 = 96,
    _SC_2_UPE___109 = 97,
    _SC_XOPEN_XPG2___109 = 98,
    _SC_XOPEN_XPG3___109 = 99,
    _SC_XOPEN_XPG4___109 = 100,
    _SC_CHAR_BIT___109 = 101,
    _SC_CHAR_MAX___109 = 102,
    _SC_CHAR_MIN___109 = 103,
    _SC_INT_MAX___109 = 104,
    _SC_INT_MIN___109 = 105,
    _SC_LONG_BIT___109 = 106,
    _SC_WORD_BIT___109 = 107,
    _SC_MB_LEN_MAX___109 = 108,
    _SC_NZERO___109 = 109,
    _SC_SSIZE_MAX___109 = 110,
    _SC_SCHAR_MAX___109 = 111,
    _SC_SCHAR_MIN___109 = 112,
    _SC_SHRT_MAX___109 = 113,
    _SC_SHRT_MIN___109 = 114,
    _SC_UCHAR_MAX___109 = 115,
    _SC_UINT_MAX___109 = 116,
    _SC_ULONG_MAX___109 = 117,
    _SC_USHRT_MAX___109 = 118,
    _SC_NL_ARGMAX___109 = 119,
    _SC_NL_LANGMAX___109 = 120,
    _SC_NL_MSGMAX___109 = 121,
    _SC_NL_NMAX___109 = 122,
    _SC_NL_SETMAX___109 = 123,
    _SC_NL_TEXTMAX___109 = 124,
    _SC_XBS5_ILP32_OFF32___109 = 125,
    _SC_XBS5_ILP32_OFFBIG___109 = 126,
    _SC_XBS5_LP64_OFF64___109 = 127,
    _SC_XBS5_LPBIG_OFFBIG___109 = 128,
    _SC_XOPEN_LEGACY___109 = 129,
    _SC_XOPEN_REALTIME___109 = 130,
    _SC_XOPEN_REALTIME_THREADS___109 = 131,
    _SC_ADVISORY_INFO___109 = 132,
    _SC_BARRIERS___109 = 133,
    _SC_BASE___109 = 134,
    _SC_C_LANG_SUPPORT___109 = 135,
    _SC_C_LANG_SUPPORT_R___109 = 136,
    _SC_CLOCK_SELECTION___109 = 137,
    _SC_CPUTIME___109 = 138,
    _SC_THREAD_CPUTIME___109 = 139,
    _SC_DEVICE_IO___109 = 140,
    _SC_DEVICE_SPECIFIC___109 = 141,
    _SC_DEVICE_SPECIFIC_R___109 = 142,
    _SC_FD_MGMT___109 = 143,
    _SC_FIFO___109 = 144,
    _SC_PIPE___109 = 145,
    _SC_FILE_ATTRIBUTES___109 = 146,
    _SC_FILE_LOCKING___109 = 147,
    _SC_FILE_SYSTEM___109 = 148,
    _SC_MONOTONIC_CLOCK___109 = 149,
    _SC_MULTI_PROCESS___109 = 150,
    _SC_SINGLE_PROCESS___109 = 151,
    _SC_NETWORKING___109 = 152,
    _SC_READER_WRITER_LOCKS___109 = 153,
    _SC_SPIN_LOCKS___109 = 154,
    _SC_REGEXP___109 = 155,
    _SC_REGEX_VERSION___109 = 156,
    _SC_SHELL___109 = 157,
    _SC_SIGNALS___109 = 158,
    _SC_SPAWN___109 = 159,
    _SC_SPORADIC_SERVER___109 = 160,
    _SC_THREAD_SPORADIC_SERVER___109 = 161,
    _SC_SYSTEM_DATABASE___109 = 162,
    _SC_SYSTEM_DATABASE_R___109 = 163,
    _SC_TIMEOUTS___109 = 164,
    _SC_TYPED_MEMORY_OBJECTS___109 = 165,
    _SC_USER_GROUPS___109 = 166,
    _SC_USER_GROUPS_R___109 = 167,
    _SC_2_PBS___109 = 168,
    _SC_2_PBS_ACCOUNTING___109 = 169,
    _SC_2_PBS_LOCATE___109 = 170,
    _SC_2_PBS_MESSAGE___109 = 171,
    _SC_2_PBS_TRACK___109 = 172,
    _SC_SYMLOOP_MAX___109 = 173,
    _SC_STREAMS___109 = 174,
    _SC_2_PBS_CHECKPOINT___109 = 175,
    _SC_V6_ILP32_OFF32___109 = 176,
    _SC_V6_ILP32_OFFBIG___109 = 177,
    _SC_V6_LP64_OFF64___109 = 178,
    _SC_V6_LPBIG_OFFBIG___109 = 179,
    _SC_HOST_NAME_MAX___109 = 180,
    _SC_TRACE___109 = 181,
    _SC_TRACE_EVENT_FILTER___109 = 182,
    _SC_TRACE_INHERIT___109 = 183,
    _SC_TRACE_LOG___109 = 184,
    _SC_LEVEL1_ICACHE_SIZE___109 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___109 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___109 = 187,
    _SC_LEVEL1_DCACHE_SIZE___109 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___109 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___109 = 190,
    _SC_LEVEL2_CACHE_SIZE___109 = 191,
    _SC_LEVEL2_CACHE_ASSOC___109 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___109 = 193,
    _SC_LEVEL3_CACHE_SIZE___109 = 194,
    _SC_LEVEL3_CACHE_ASSOC___109 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___109 = 196,
    _SC_LEVEL4_CACHE_SIZE___109 = 197,
    _SC_LEVEL4_CACHE_ASSOC___109 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___109 = 199,
    _SC_IPV6___109 = 235,
    _SC_RAW_SOCKETS___109 = 236,
    _SC_V7_ILP32_OFF32___109 = 237,
    _SC_V7_ILP32_OFFBIG___109 = 238,
    _SC_V7_LP64_OFF64___109 = 239,
    _SC_V7_LPBIG_OFFBIG___109 = 240,
    _SC_SS_REPL_MAX___109 = 241,
    _SC_TRACE_EVENT_NAME_MAX___109 = 242,
    _SC_TRACE_NAME_MAX___109 = 243,
    _SC_TRACE_SYS_MAX___109 = 244,
    _SC_TRACE_USER_EVENT_MAX___109 = 245,
    _SC_XOPEN_STREAMS___109 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___109 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___109 = 248
} ;
enum __anonenum_875524036___109 {
    _CS_PATH___109 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___109 = 1,
    _CS_GNU_LIBC_VERSION___109 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___109 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___109 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___109 = 5,
    _CS_LFS_CFLAGS___109 = 1000,
    _CS_LFS_LDFLAGS___109 = 1001,
    _CS_LFS_LIBS___109 = 1002,
    _CS_LFS_LINTFLAGS___109 = 1003,
    _CS_LFS64_CFLAGS___109 = 1004,
    _CS_LFS64_LDFLAGS___109 = 1005,
    _CS_LFS64_LIBS___109 = 1006,
    _CS_LFS64_LINTFLAGS___109 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___109 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___109 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___109 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___109 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___109 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___109 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___109 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___109 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___109 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___109 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___109 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___109 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___109 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___109 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___109 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___109 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___109 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___109 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___109 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___109 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___109 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___109 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___109 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___109 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___109 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___109 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___109 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___109 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___109 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___109 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___109 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___109 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___109 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___109 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___109 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___109 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___109 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___109 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___109 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___109 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___109 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___109 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___109 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___109 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___109 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___109 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___109 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___109 = 1147,
    _CS_V6_ENV___109 = 1148,
    _CS_V7_ENV___109 = 1149
} ;
enum __anonenum_513775621___109 {
    DT_UNKNOWN___109 = 0,
    DT_FIFO___109 = 1,
    DT_CHR___109 = 2,
    DT_DIR___109 = 4,
    DT_BLK___109 = 6,
    DT_REG___109 = 8,
    DT_LNK___109 = 10,
    DT_SOCK___109 = 12,
    DT_WHT___109 = 14
} ;
enum __anonenum_77002343___109 {
    SI_ASYNCNL___109 = -60,
    SI_TKILL___109 = -6,
    SI_SIGIO___109 = -5,
    SI_ASYNCIO___109 = -4,
    SI_MESGQ___109 = -3,
    SI_TIMER___109 = -2,
    SI_QUEUE___109 = -1,
    SI_USER___109 = 0,
    SI_KERNEL___109 = 128
} ;
enum __anonenum_131038172___109 {
    ILL_ILLOPC___109 = 1,
    ILL_ILLOPN___109 = 2,
    ILL_ILLADR___109 = 3,
    ILL_ILLTRP___109 = 4,
    ILL_PRVOPC___109 = 5,
    ILL_PRVREG___109 = 6,
    ILL_COPROC___109 = 7,
    ILL_BADSTK___109 = 8
} ;
enum __anonenum_452038093___109 {
    FPE_INTDIV___109 = 1,
    FPE_INTOVF___109 = 2,
    FPE_FLTDIV___109 = 3,
    FPE_FLTOVF___109 = 4,
    FPE_FLTUND___109 = 5,
    FPE_FLTRES___109 = 6,
    FPE_FLTINV___109 = 7,
    FPE_FLTSUB___109 = 8
} ;
enum __anonenum_30976155___109 {
    SEGV_MAPERR___109 = 1,
    SEGV_ACCERR___109 = 2,
    SEGV_BNDERR___109 = 3,
    SEGV_PKUERR___109 = 4
} ;
enum __anonenum_1036286214___109 {
    BUS_ADRALN___109 = 1,
    BUS_ADRERR___109 = 2,
    BUS_OBJERR___109 = 3,
    BUS_MCEERR_AR___109 = 4,
    BUS_MCEERR_AO___109 = 5
} ;
enum __anonenum_493465559___109 {
    TRAP_BRKPT___109 = 1,
    TRAP_TRACE___109 = 2
} ;
enum __anonenum_23175539___109 {
    CLD_EXITED___109 = 1,
    CLD_KILLED___109 = 2,
    CLD_DUMPED___109 = 3,
    CLD_TRAPPED___109 = 4,
    CLD_STOPPED___109 = 5,
    CLD_CONTINUED___109 = 6
} ;
enum __anonenum_111643124___109 {
    POLL_IN___109 = 1,
    POLL_OUT___109 = 2,
    POLL_MSG___109 = 3,
    POLL_ERR___109 = 4,
    POLL_PRI___109 = 5,
    POLL_HUP___109 = 6
} ;
enum __anonenum_852341087___109 {
    SIGEV_SIGNAL___109 = 0,
    SIGEV_NONE___109 = 1,
    SIGEV_THREAD___109 = 2,
    SIGEV_THREAD_ID___109 = 4
} ;
enum __anonenum_451154152___109 {
    REG_R8___109 = 0,
    REG_R9___109 = 1,
    REG_R10___109 = 2,
    REG_R11___109 = 3,
    REG_R12___109 = 4,
    REG_R13___109 = 5,
    REG_R14___109 = 6,
    REG_R15___109 = 7,
    REG_RDI___109 = 8,
    REG_RSI___109 = 9,
    REG_RBP___109 = 10,
    REG_RBX___109 = 11,
    REG_RDX___109 = 12,
    REG_RAX___109 = 13,
    REG_RCX___109 = 14,
    REG_RSP___109 = 15,
    REG_RIP___109 = 16,
    REG_EFL___109 = 17,
    REG_CSGSFS___109 = 18,
    REG_ERR___109 = 19,
    REG_TRAPNO___109 = 20,
    REG_OLDMASK___109 = 21,
    REG_CR2___109 = 22
} ;
enum __anonenum_57186863___109 {
    SS_ONSTACK___109 = 1,
    SS_DISABLE___109 = 2
} ;
enum __anonenum_83571709___109 {
    MSG_OOB___109 = 1,
    MSG_PEEK___109 = 2,
    MSG_DONTROUTE___109 = 4,
    MSG_TRYHARD___109 = 4,
    MSG_CTRUNC___109 = 8,
    MSG_PROXY___109 = 16,
    MSG_TRUNC___109 = 32,
    MSG_DONTWAIT___109 = 64,
    MSG_EOR___109 = 128,
    MSG_WAITALL___109 = 256,
    MSG_FIN___109 = 512,
    MSG_SYN___109 = 1024,
    MSG_CONFIRM___109 = 2048,
    MSG_RST___109 = 4096,
    MSG_ERRQUEUE___109 = 8192,
    MSG_NOSIGNAL___109 = 16384,
    MSG_MORE___109 = 32768,
    MSG_WAITFORONE___109 = 65536,
    MSG_BATCH___109 = 262144,
    MSG_ZEROCOPY___109 = 67108864,
    MSG_FASTOPEN___109 = 536870912,
    MSG_CMSG_CLOEXEC___109 = 1073741824
} ;
enum __anonenum_617082774___109 {
    SCM_RIGHTS___109 = 1,
    SCM_CREDENTIALS___109 = 2
} ;
enum __anonenum_606441560___109 {
    SHUT_RD___109 = 0,
    SHUT_WR___109 = 1,
    SHUT_RDWR___109 = 2
} ;
enum __anonenum_681669233___109 {
    IPPROTO_IP___109 = 0,
    IPPROTO_ICMP___109 = 1,
    IPPROTO_IGMP___109 = 2,
    IPPROTO_IPIP___109 = 4,
    IPPROTO_TCP___109 = 6,
    IPPROTO_EGP___109 = 8,
    IPPROTO_PUP___109 = 12,
    IPPROTO_UDP___109 = 17,
    IPPROTO_IDP___109 = 22,
    IPPROTO_TP___109 = 29,
    IPPROTO_DCCP___109 = 33,
    IPPROTO_IPV6___109 = 41,
    IPPROTO_RSVP___109 = 46,
    IPPROTO_GRE___109 = 47,
    IPPROTO_ESP___109 = 50,
    IPPROTO_AH___109 = 51,
    IPPROTO_MTP___109 = 92,
    IPPROTO_BEETPH___109 = 94,
    IPPROTO_ENCAP___109 = 98,
    IPPROTO_PIM___109 = 103,
    IPPROTO_COMP___109 = 108,
    IPPROTO_SCTP___109 = 132,
    IPPROTO_UDPLITE___109 = 136,
    IPPROTO_MPLS___109 = 137,
    IPPROTO_RAW___109 = 255,
    IPPROTO_MAX___109 = 256
} ;
enum __anonenum_218739988___109 {
    IPPROTO_HOPOPTS___109 = 0,
    IPPROTO_ROUTING___109 = 43,
    IPPROTO_FRAGMENT___109 = 44,
    IPPROTO_ICMPV6___109 = 58,
    IPPROTO_NONE___109 = 59,
    IPPROTO_DSTOPTS___109 = 60,
    IPPROTO_MH___109 = 135
} ;
enum __anonenum_662268580___109 {
    IPPORT_ECHO___109 = 7,
    IPPORT_DISCARD___109 = 9,
    IPPORT_SYSTAT___109 = 11,
    IPPORT_DAYTIME___109 = 13,
    IPPORT_NETSTAT___109 = 15,
    IPPORT_FTP___109 = 21,
    IPPORT_TELNET___109 = 23,
    IPPORT_SMTP___109 = 25,
    IPPORT_TIMESERVER___109 = 37,
    IPPORT_NAMESERVER___109 = 42,
    IPPORT_WHOIS___109 = 43,
    IPPORT_MTP___109 = 57,
    IPPORT_TFTP___109 = 69,
    IPPORT_RJE___109 = 77,
    IPPORT_FINGER___109 = 79,
    IPPORT_TTYLINK___109 = 87,
    IPPORT_SUPDUP___109 = 95,
    IPPORT_EXECSERVER___109 = 512,
    IPPORT_LOGINSERVER___109 = 513,
    IPPORT_CMDSERVER___109 = 514,
    IPPORT_EFSSERVER___109 = 520,
    IPPORT_BIFFUDP___109 = 512,
    IPPORT_WHOSERVER___109 = 513,
    IPPORT_ROUTESERVER___109 = 520,
    IPPORT_RESERVED___109 = 1024,
    IPPORT_USERRESERVED___109 = 5000
} ;
enum __anonenum_788308992___109 {
    TCP_ESTABLISHED___109 = 1,
    TCP_SYN_SENT___109 = 2,
    TCP_SYN_RECV___109 = 3,
    TCP_FIN_WAIT1___109 = 4,
    TCP_FIN_WAIT2___109 = 5,
    TCP_TIME_WAIT___109 = 6,
    TCP_CLOSE___109 = 7,
    TCP_CLOSE_WAIT___109 = 8,
    TCP_LAST_ACK___109 = 9,
    TCP_LISTEN___109 = 10,
    TCP_CLOSING___109 = 11
} ;
enum __anonenum_221125648___109 {
    TCP_NO_QUEUE___109 = 0,
    TCP_RECV_QUEUE___109 = 1,
    TCP_SEND_QUEUE___109 = 2,
    TCP_QUEUES_NR___109 = 3
} ;
enum __anonenum_34415463___109 {
    PTHREAD_CREATE_JOINABLE___109 = 0,
    PTHREAD_CREATE_DETACHED___109 = 1
} ;
enum __anonenum_303612439___109 {
    PTHREAD_MUTEX_TIMED_NP___109 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___109 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___109 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___109 = 3,
    PTHREAD_MUTEX_NORMAL___109 = 0,
    PTHREAD_MUTEX_RECURSIVE___109 = 1,
    PTHREAD_MUTEX_ERRORCHECK___109 = 2,
    PTHREAD_MUTEX_DEFAULT___109 = 0,
    PTHREAD_MUTEX_FAST_NP___109 = 0
} ;
enum __anonenum_931900394___109 {
    PTHREAD_MUTEX_STALLED___109 = 0,
    PTHREAD_MUTEX_STALLED_NP___109 = 0,
    PTHREAD_MUTEX_ROBUST___109 = 1,
    PTHREAD_MUTEX_ROBUST_NP___109 = 1
} ;
enum __anonenum_205214487___109 {
    PTHREAD_PRIO_NONE___109 = 0,
    PTHREAD_PRIO_INHERIT___109 = 1,
    PTHREAD_PRIO_PROTECT___109 = 2
} ;
enum __anonenum_25043950___109 {
    PTHREAD_RWLOCK_PREFER_READER_NP___109 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___109 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___109 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___109 = 0
} ;
enum __anonenum_436439511___109 {
    PTHREAD_INHERIT_SCHED___109 = 0,
    PTHREAD_EXPLICIT_SCHED___109 = 1
} ;
enum __anonenum_998661166___109 {
    PTHREAD_SCOPE_SYSTEM___109 = 0,
    PTHREAD_SCOPE_PROCESS___109 = 1
} ;
enum __anonenum_146137331___109 {
    PTHREAD_PROCESS_PRIVATE___109 = 0,
    PTHREAD_PROCESS_SHARED___109 = 1
} ;
enum __anonenum_53396917___109 {
    PTHREAD_CANCEL_ENABLE___109 = 0,
    PTHREAD_CANCEL_DISABLE___109 = 1
} ;
enum __anonenum_904563783___109 {
    PTHREAD_CANCEL_DEFERRED___109 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___109 = 1
} ;
enum __anonenum_672052974___109 {
    SSL_CT_VALIDATION_PERMISSIVE___109 = 0,
    SSL_CT_VALIDATION_STRICT___109 = 1
} ;
enum __anonenum_437032235___110 {
    _PC_LINK_MAX___110 = 0,
    _PC_MAX_CANON___110 = 1,
    _PC_MAX_INPUT___110 = 2,
    _PC_NAME_MAX___110 = 3,
    _PC_PATH_MAX___110 = 4,
    _PC_PIPE_BUF___110 = 5,
    _PC_CHOWN_RESTRICTED___110 = 6,
    _PC_NO_TRUNC___110 = 7,
    _PC_VDISABLE___110 = 8,
    _PC_SYNC_IO___110 = 9,
    _PC_ASYNC_IO___110 = 10,
    _PC_PRIO_IO___110 = 11,
    _PC_SOCK_MAXBUF___110 = 12,
    _PC_FILESIZEBITS___110 = 13,
    _PC_REC_INCR_XFER_SIZE___110 = 14,
    _PC_REC_MAX_XFER_SIZE___110 = 15,
    _PC_REC_MIN_XFER_SIZE___110 = 16,
    _PC_REC_XFER_ALIGN___110 = 17,
    _PC_ALLOC_SIZE_MIN___110 = 18,
    _PC_SYMLINK_MAX___110 = 19,
    _PC_2_SYMLINKS___110 = 20
} ;
enum __anonenum_315186338___110 {
    _SC_ARG_MAX___110 = 0,
    _SC_CHILD_MAX___110 = 1,
    _SC_CLK_TCK___110 = 2,
    _SC_NGROUPS_MAX___110 = 3,
    _SC_OPEN_MAX___110 = 4,
    _SC_STREAM_MAX___110 = 5,
    _SC_TZNAME_MAX___110 = 6,
    _SC_JOB_CONTROL___110 = 7,
    _SC_SAVED_IDS___110 = 8,
    _SC_REALTIME_SIGNALS___110 = 9,
    _SC_PRIORITY_SCHEDULING___110 = 10,
    _SC_TIMERS___110 = 11,
    _SC_ASYNCHRONOUS_IO___110 = 12,
    _SC_PRIORITIZED_IO___110 = 13,
    _SC_SYNCHRONIZED_IO___110 = 14,
    _SC_FSYNC___110 = 15,
    _SC_MAPPED_FILES___110 = 16,
    _SC_MEMLOCK___110 = 17,
    _SC_MEMLOCK_RANGE___110 = 18,
    _SC_MEMORY_PROTECTION___110 = 19,
    _SC_MESSAGE_PASSING___110 = 20,
    _SC_SEMAPHORES___110 = 21,
    _SC_SHARED_MEMORY_OBJECTS___110 = 22,
    _SC_AIO_LISTIO_MAX___110 = 23,
    _SC_AIO_MAX___110 = 24,
    _SC_AIO_PRIO_DELTA_MAX___110 = 25,
    _SC_DELAYTIMER_MAX___110 = 26,
    _SC_MQ_OPEN_MAX___110 = 27,
    _SC_MQ_PRIO_MAX___110 = 28,
    _SC_VERSION___110 = 29,
    _SC_PAGESIZE___110 = 30,
    _SC_RTSIG_MAX___110 = 31,
    _SC_SEM_NSEMS_MAX___110 = 32,
    _SC_SEM_VALUE_MAX___110 = 33,
    _SC_SIGQUEUE_MAX___110 = 34,
    _SC_TIMER_MAX___110 = 35,
    _SC_BC_BASE_MAX___110 = 36,
    _SC_BC_DIM_MAX___110 = 37,
    _SC_BC_SCALE_MAX___110 = 38,
    _SC_BC_STRING_MAX___110 = 39,
    _SC_COLL_WEIGHTS_MAX___110 = 40,
    _SC_EQUIV_CLASS_MAX___110 = 41,
    _SC_EXPR_NEST_MAX___110 = 42,
    _SC_LINE_MAX___110 = 43,
    _SC_RE_DUP_MAX___110 = 44,
    _SC_CHARCLASS_NAME_MAX___110 = 45,
    _SC_2_VERSION___110 = 46,
    _SC_2_C_BIND___110 = 47,
    _SC_2_C_DEV___110 = 48,
    _SC_2_FORT_DEV___110 = 49,
    _SC_2_FORT_RUN___110 = 50,
    _SC_2_SW_DEV___110 = 51,
    _SC_2_LOCALEDEF___110 = 52,
    _SC_PII___110 = 53,
    _SC_PII_XTI___110 = 54,
    _SC_PII_SOCKET___110 = 55,
    _SC_PII_INTERNET___110 = 56,
    _SC_PII_OSI___110 = 57,
    _SC_POLL___110 = 58,
    _SC_SELECT___110 = 59,
    _SC_UIO_MAXIOV___110 = 60,
    _SC_IOV_MAX___110 = 60,
    _SC_PII_INTERNET_STREAM___110 = 61,
    _SC_PII_INTERNET_DGRAM___110 = 62,
    _SC_PII_OSI_COTS___110 = 63,
    _SC_PII_OSI_CLTS___110 = 64,
    _SC_PII_OSI_M___110 = 65,
    _SC_T_IOV_MAX___110 = 66,
    _SC_THREADS___110 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___110 = 68,
    _SC_GETGR_R_SIZE_MAX___110 = 69,
    _SC_GETPW_R_SIZE_MAX___110 = 70,
    _SC_LOGIN_NAME_MAX___110 = 71,
    _SC_TTY_NAME_MAX___110 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___110 = 73,
    _SC_THREAD_KEYS_MAX___110 = 74,
    _SC_THREAD_STACK_MIN___110 = 75,
    _SC_THREAD_THREADS_MAX___110 = 76,
    _SC_THREAD_ATTR_STACKADDR___110 = 77,
    _SC_THREAD_ATTR_STACKSIZE___110 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___110 = 79,
    _SC_THREAD_PRIO_INHERIT___110 = 80,
    _SC_THREAD_PRIO_PROTECT___110 = 81,
    _SC_THREAD_PROCESS_SHARED___110 = 82,
    _SC_NPROCESSORS_CONF___110 = 83,
    _SC_NPROCESSORS_ONLN___110 = 84,
    _SC_PHYS_PAGES___110 = 85,
    _SC_AVPHYS_PAGES___110 = 86,
    _SC_ATEXIT_MAX___110 = 87,
    _SC_PASS_MAX___110 = 88,
    _SC_XOPEN_VERSION___110 = 89,
    _SC_XOPEN_XCU_VERSION___110 = 90,
    _SC_XOPEN_UNIX___110 = 91,
    _SC_XOPEN_CRYPT___110 = 92,
    _SC_XOPEN_ENH_I18N___110 = 93,
    _SC_XOPEN_SHM___110 = 94,
    _SC_2_CHAR_TERM___110 = 95,
    _SC_2_C_VERSION___110 = 96,
    _SC_2_UPE___110 = 97,
    _SC_XOPEN_XPG2___110 = 98,
    _SC_XOPEN_XPG3___110 = 99,
    _SC_XOPEN_XPG4___110 = 100,
    _SC_CHAR_BIT___110 = 101,
    _SC_CHAR_MAX___110 = 102,
    _SC_CHAR_MIN___110 = 103,
    _SC_INT_MAX___110 = 104,
    _SC_INT_MIN___110 = 105,
    _SC_LONG_BIT___110 = 106,
    _SC_WORD_BIT___110 = 107,
    _SC_MB_LEN_MAX___110 = 108,
    _SC_NZERO___110 = 109,
    _SC_SSIZE_MAX___110 = 110,
    _SC_SCHAR_MAX___110 = 111,
    _SC_SCHAR_MIN___110 = 112,
    _SC_SHRT_MAX___110 = 113,
    _SC_SHRT_MIN___110 = 114,
    _SC_UCHAR_MAX___110 = 115,
    _SC_UINT_MAX___110 = 116,
    _SC_ULONG_MAX___110 = 117,
    _SC_USHRT_MAX___110 = 118,
    _SC_NL_ARGMAX___110 = 119,
    _SC_NL_LANGMAX___110 = 120,
    _SC_NL_MSGMAX___110 = 121,
    _SC_NL_NMAX___110 = 122,
    _SC_NL_SETMAX___110 = 123,
    _SC_NL_TEXTMAX___110 = 124,
    _SC_XBS5_ILP32_OFF32___110 = 125,
    _SC_XBS5_ILP32_OFFBIG___110 = 126,
    _SC_XBS5_LP64_OFF64___110 = 127,
    _SC_XBS5_LPBIG_OFFBIG___110 = 128,
    _SC_XOPEN_LEGACY___110 = 129,
    _SC_XOPEN_REALTIME___110 = 130,
    _SC_XOPEN_REALTIME_THREADS___110 = 131,
    _SC_ADVISORY_INFO___110 = 132,
    _SC_BARRIERS___110 = 133,
    _SC_BASE___110 = 134,
    _SC_C_LANG_SUPPORT___110 = 135,
    _SC_C_LANG_SUPPORT_R___110 = 136,
    _SC_CLOCK_SELECTION___110 = 137,
    _SC_CPUTIME___110 = 138,
    _SC_THREAD_CPUTIME___110 = 139,
    _SC_DEVICE_IO___110 = 140,
    _SC_DEVICE_SPECIFIC___110 = 141,
    _SC_DEVICE_SPECIFIC_R___110 = 142,
    _SC_FD_MGMT___110 = 143,
    _SC_FIFO___110 = 144,
    _SC_PIPE___110 = 145,
    _SC_FILE_ATTRIBUTES___110 = 146,
    _SC_FILE_LOCKING___110 = 147,
    _SC_FILE_SYSTEM___110 = 148,
    _SC_MONOTONIC_CLOCK___110 = 149,
    _SC_MULTI_PROCESS___110 = 150,
    _SC_SINGLE_PROCESS___110 = 151,
    _SC_NETWORKING___110 = 152,
    _SC_READER_WRITER_LOCKS___110 = 153,
    _SC_SPIN_LOCKS___110 = 154,
    _SC_REGEXP___110 = 155,
    _SC_REGEX_VERSION___110 = 156,
    _SC_SHELL___110 = 157,
    _SC_SIGNALS___110 = 158,
    _SC_SPAWN___110 = 159,
    _SC_SPORADIC_SERVER___110 = 160,
    _SC_THREAD_SPORADIC_SERVER___110 = 161,
    _SC_SYSTEM_DATABASE___110 = 162,
    _SC_SYSTEM_DATABASE_R___110 = 163,
    _SC_TIMEOUTS___110 = 164,
    _SC_TYPED_MEMORY_OBJECTS___110 = 165,
    _SC_USER_GROUPS___110 = 166,
    _SC_USER_GROUPS_R___110 = 167,
    _SC_2_PBS___110 = 168,
    _SC_2_PBS_ACCOUNTING___110 = 169,
    _SC_2_PBS_LOCATE___110 = 170,
    _SC_2_PBS_MESSAGE___110 = 171,
    _SC_2_PBS_TRACK___110 = 172,
    _SC_SYMLOOP_MAX___110 = 173,
    _SC_STREAMS___110 = 174,
    _SC_2_PBS_CHECKPOINT___110 = 175,
    _SC_V6_ILP32_OFF32___110 = 176,
    _SC_V6_ILP32_OFFBIG___110 = 177,
    _SC_V6_LP64_OFF64___110 = 178,
    _SC_V6_LPBIG_OFFBIG___110 = 179,
    _SC_HOST_NAME_MAX___110 = 180,
    _SC_TRACE___110 = 181,
    _SC_TRACE_EVENT_FILTER___110 = 182,
    _SC_TRACE_INHERIT___110 = 183,
    _SC_TRACE_LOG___110 = 184,
    _SC_LEVEL1_ICACHE_SIZE___110 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___110 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___110 = 187,
    _SC_LEVEL1_DCACHE_SIZE___110 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___110 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___110 = 190,
    _SC_LEVEL2_CACHE_SIZE___110 = 191,
    _SC_LEVEL2_CACHE_ASSOC___110 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___110 = 193,
    _SC_LEVEL3_CACHE_SIZE___110 = 194,
    _SC_LEVEL3_CACHE_ASSOC___110 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___110 = 196,
    _SC_LEVEL4_CACHE_SIZE___110 = 197,
    _SC_LEVEL4_CACHE_ASSOC___110 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___110 = 199,
    _SC_IPV6___110 = 235,
    _SC_RAW_SOCKETS___110 = 236,
    _SC_V7_ILP32_OFF32___110 = 237,
    _SC_V7_ILP32_OFFBIG___110 = 238,
    _SC_V7_LP64_OFF64___110 = 239,
    _SC_V7_LPBIG_OFFBIG___110 = 240,
    _SC_SS_REPL_MAX___110 = 241,
    _SC_TRACE_EVENT_NAME_MAX___110 = 242,
    _SC_TRACE_NAME_MAX___110 = 243,
    _SC_TRACE_SYS_MAX___110 = 244,
    _SC_TRACE_USER_EVENT_MAX___110 = 245,
    _SC_XOPEN_STREAMS___110 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___110 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___110 = 248
} ;
enum __anonenum_875524036___110 {
    _CS_PATH___110 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___110 = 1,
    _CS_GNU_LIBC_VERSION___110 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___110 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___110 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___110 = 5,
    _CS_LFS_CFLAGS___110 = 1000,
    _CS_LFS_LDFLAGS___110 = 1001,
    _CS_LFS_LIBS___110 = 1002,
    _CS_LFS_LINTFLAGS___110 = 1003,
    _CS_LFS64_CFLAGS___110 = 1004,
    _CS_LFS64_LDFLAGS___110 = 1005,
    _CS_LFS64_LIBS___110 = 1006,
    _CS_LFS64_LINTFLAGS___110 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___110 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___110 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___110 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___110 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___110 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___110 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___110 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___110 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___110 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___110 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___110 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___110 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___110 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___110 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___110 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___110 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___110 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___110 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___110 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___110 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___110 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___110 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___110 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___110 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___110 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___110 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___110 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___110 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___110 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___110 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___110 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___110 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___110 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___110 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___110 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___110 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___110 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___110 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___110 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___110 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___110 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___110 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___110 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___110 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___110 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___110 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___110 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___110 = 1147,
    _CS_V6_ENV___110 = 1148,
    _CS_V7_ENV___110 = 1149
} ;
enum __anonenum_513775621___110 {
    DT_UNKNOWN___110 = 0,
    DT_FIFO___110 = 1,
    DT_CHR___110 = 2,
    DT_DIR___110 = 4,
    DT_BLK___110 = 6,
    DT_REG___110 = 8,
    DT_LNK___110 = 10,
    DT_SOCK___110 = 12,
    DT_WHT___110 = 14
} ;
enum __anonenum_77002343___110 {
    SI_ASYNCNL___110 = -60,
    SI_TKILL___110 = -6,
    SI_SIGIO___110 = -5,
    SI_ASYNCIO___110 = -4,
    SI_MESGQ___110 = -3,
    SI_TIMER___110 = -2,
    SI_QUEUE___110 = -1,
    SI_USER___110 = 0,
    SI_KERNEL___110 = 128
} ;
enum __anonenum_131038172___110 {
    ILL_ILLOPC___110 = 1,
    ILL_ILLOPN___110 = 2,
    ILL_ILLADR___110 = 3,
    ILL_ILLTRP___110 = 4,
    ILL_PRVOPC___110 = 5,
    ILL_PRVREG___110 = 6,
    ILL_COPROC___110 = 7,
    ILL_BADSTK___110 = 8
} ;
enum __anonenum_452038093___110 {
    FPE_INTDIV___110 = 1,
    FPE_INTOVF___110 = 2,
    FPE_FLTDIV___110 = 3,
    FPE_FLTOVF___110 = 4,
    FPE_FLTUND___110 = 5,
    FPE_FLTRES___110 = 6,
    FPE_FLTINV___110 = 7,
    FPE_FLTSUB___110 = 8
} ;
enum __anonenum_30976155___110 {
    SEGV_MAPERR___110 = 1,
    SEGV_ACCERR___110 = 2,
    SEGV_BNDERR___110 = 3,
    SEGV_PKUERR___110 = 4
} ;
enum __anonenum_1036286214___110 {
    BUS_ADRALN___110 = 1,
    BUS_ADRERR___110 = 2,
    BUS_OBJERR___110 = 3,
    BUS_MCEERR_AR___110 = 4,
    BUS_MCEERR_AO___110 = 5
} ;
enum __anonenum_493465559___110 {
    TRAP_BRKPT___110 = 1,
    TRAP_TRACE___110 = 2
} ;
enum __anonenum_23175539___110 {
    CLD_EXITED___110 = 1,
    CLD_KILLED___110 = 2,
    CLD_DUMPED___110 = 3,
    CLD_TRAPPED___110 = 4,
    CLD_STOPPED___110 = 5,
    CLD_CONTINUED___110 = 6
} ;
enum __anonenum_111643124___110 {
    POLL_IN___110 = 1,
    POLL_OUT___110 = 2,
    POLL_MSG___110 = 3,
    POLL_ERR___110 = 4,
    POLL_PRI___110 = 5,
    POLL_HUP___110 = 6
} ;
enum __anonenum_852341087___110 {
    SIGEV_SIGNAL___110 = 0,
    SIGEV_NONE___110 = 1,
    SIGEV_THREAD___110 = 2,
    SIGEV_THREAD_ID___110 = 4
} ;
enum __anonenum_451154152___110 {
    REG_R8___110 = 0,
    REG_R9___110 = 1,
    REG_R10___110 = 2,
    REG_R11___110 = 3,
    REG_R12___110 = 4,
    REG_R13___110 = 5,
    REG_R14___110 = 6,
    REG_R15___110 = 7,
    REG_RDI___110 = 8,
    REG_RSI___110 = 9,
    REG_RBP___110 = 10,
    REG_RBX___110 = 11,
    REG_RDX___110 = 12,
    REG_RAX___110 = 13,
    REG_RCX___110 = 14,
    REG_RSP___110 = 15,
    REG_RIP___110 = 16,
    REG_EFL___110 = 17,
    REG_CSGSFS___110 = 18,
    REG_ERR___110 = 19,
    REG_TRAPNO___110 = 20,
    REG_OLDMASK___110 = 21,
    REG_CR2___110 = 22
} ;
enum __anonenum_57186863___110 {
    SS_ONSTACK___110 = 1,
    SS_DISABLE___110 = 2
} ;
enum __anonenum_83571709___110 {
    MSG_OOB___110 = 1,
    MSG_PEEK___110 = 2,
    MSG_DONTROUTE___110 = 4,
    MSG_TRYHARD___110 = 4,
    MSG_CTRUNC___110 = 8,
    MSG_PROXY___110 = 16,
    MSG_TRUNC___110 = 32,
    MSG_DONTWAIT___110 = 64,
    MSG_EOR___110 = 128,
    MSG_WAITALL___110 = 256,
    MSG_FIN___110 = 512,
    MSG_SYN___110 = 1024,
    MSG_CONFIRM___110 = 2048,
    MSG_RST___110 = 4096,
    MSG_ERRQUEUE___110 = 8192,
    MSG_NOSIGNAL___110 = 16384,
    MSG_MORE___110 = 32768,
    MSG_WAITFORONE___110 = 65536,
    MSG_BATCH___110 = 262144,
    MSG_ZEROCOPY___110 = 67108864,
    MSG_FASTOPEN___110 = 536870912,
    MSG_CMSG_CLOEXEC___110 = 1073741824
} ;
enum __anonenum_617082774___110 {
    SCM_RIGHTS___110 = 1,
    SCM_CREDENTIALS___110 = 2
} ;
enum __anonenum_606441560___110 {
    SHUT_RD___110 = 0,
    SHUT_WR___110 = 1,
    SHUT_RDWR___110 = 2
} ;
enum __anonenum_681669233___110 {
    IPPROTO_IP___110 = 0,
    IPPROTO_ICMP___110 = 1,
    IPPROTO_IGMP___110 = 2,
    IPPROTO_IPIP___110 = 4,
    IPPROTO_TCP___110 = 6,
    IPPROTO_EGP___110 = 8,
    IPPROTO_PUP___110 = 12,
    IPPROTO_UDP___110 = 17,
    IPPROTO_IDP___110 = 22,
    IPPROTO_TP___110 = 29,
    IPPROTO_DCCP___110 = 33,
    IPPROTO_IPV6___110 = 41,
    IPPROTO_RSVP___110 = 46,
    IPPROTO_GRE___110 = 47,
    IPPROTO_ESP___110 = 50,
    IPPROTO_AH___110 = 51,
    IPPROTO_MTP___110 = 92,
    IPPROTO_BEETPH___110 = 94,
    IPPROTO_ENCAP___110 = 98,
    IPPROTO_PIM___110 = 103,
    IPPROTO_COMP___110 = 108,
    IPPROTO_SCTP___110 = 132,
    IPPROTO_UDPLITE___110 = 136,
    IPPROTO_MPLS___110 = 137,
    IPPROTO_RAW___110 = 255,
    IPPROTO_MAX___110 = 256
} ;
enum __anonenum_218739988___110 {
    IPPROTO_HOPOPTS___110 = 0,
    IPPROTO_ROUTING___110 = 43,
    IPPROTO_FRAGMENT___110 = 44,
    IPPROTO_ICMPV6___110 = 58,
    IPPROTO_NONE___110 = 59,
    IPPROTO_DSTOPTS___110 = 60,
    IPPROTO_MH___110 = 135
} ;
enum __anonenum_662268580___110 {
    IPPORT_ECHO___110 = 7,
    IPPORT_DISCARD___110 = 9,
    IPPORT_SYSTAT___110 = 11,
    IPPORT_DAYTIME___110 = 13,
    IPPORT_NETSTAT___110 = 15,
    IPPORT_FTP___110 = 21,
    IPPORT_TELNET___110 = 23,
    IPPORT_SMTP___110 = 25,
    IPPORT_TIMESERVER___110 = 37,
    IPPORT_NAMESERVER___110 = 42,
    IPPORT_WHOIS___110 = 43,
    IPPORT_MTP___110 = 57,
    IPPORT_TFTP___110 = 69,
    IPPORT_RJE___110 = 77,
    IPPORT_FINGER___110 = 79,
    IPPORT_TTYLINK___110 = 87,
    IPPORT_SUPDUP___110 = 95,
    IPPORT_EXECSERVER___110 = 512,
    IPPORT_LOGINSERVER___110 = 513,
    IPPORT_CMDSERVER___110 = 514,
    IPPORT_EFSSERVER___110 = 520,
    IPPORT_BIFFUDP___110 = 512,
    IPPORT_WHOSERVER___110 = 513,
    IPPORT_ROUTESERVER___110 = 520,
    IPPORT_RESERVED___110 = 1024,
    IPPORT_USERRESERVED___110 = 5000
} ;
enum __anonenum_788308992___110 {
    TCP_ESTABLISHED___110 = 1,
    TCP_SYN_SENT___110 = 2,
    TCP_SYN_RECV___110 = 3,
    TCP_FIN_WAIT1___110 = 4,
    TCP_FIN_WAIT2___110 = 5,
    TCP_TIME_WAIT___110 = 6,
    TCP_CLOSE___110 = 7,
    TCP_CLOSE_WAIT___110 = 8,
    TCP_LAST_ACK___110 = 9,
    TCP_LISTEN___110 = 10,
    TCP_CLOSING___110 = 11
} ;
enum __anonenum_221125648___110 {
    TCP_NO_QUEUE___110 = 0,
    TCP_RECV_QUEUE___110 = 1,
    TCP_SEND_QUEUE___110 = 2,
    TCP_QUEUES_NR___110 = 3
} ;
enum __anonenum_34415463___110 {
    PTHREAD_CREATE_JOINABLE___110 = 0,
    PTHREAD_CREATE_DETACHED___110 = 1
} ;
enum __anonenum_303612439___110 {
    PTHREAD_MUTEX_TIMED_NP___110 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___110 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___110 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___110 = 3,
    PTHREAD_MUTEX_NORMAL___110 = 0,
    PTHREAD_MUTEX_RECURSIVE___110 = 1,
    PTHREAD_MUTEX_ERRORCHECK___110 = 2,
    PTHREAD_MUTEX_DEFAULT___110 = 0,
    PTHREAD_MUTEX_FAST_NP___110 = 0
} ;
enum __anonenum_931900394___110 {
    PTHREAD_MUTEX_STALLED___110 = 0,
    PTHREAD_MUTEX_STALLED_NP___110 = 0,
    PTHREAD_MUTEX_ROBUST___110 = 1,
    PTHREAD_MUTEX_ROBUST_NP___110 = 1
} ;
enum __anonenum_205214487___110 {
    PTHREAD_PRIO_NONE___110 = 0,
    PTHREAD_PRIO_INHERIT___110 = 1,
    PTHREAD_PRIO_PROTECT___110 = 2
} ;
enum __anonenum_25043950___110 {
    PTHREAD_RWLOCK_PREFER_READER_NP___110 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___110 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___110 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___110 = 0
} ;
enum __anonenum_436439511___110 {
    PTHREAD_INHERIT_SCHED___110 = 0,
    PTHREAD_EXPLICIT_SCHED___110 = 1
} ;
enum __anonenum_998661166___110 {
    PTHREAD_SCOPE_SYSTEM___110 = 0,
    PTHREAD_SCOPE_PROCESS___110 = 1
} ;
enum __anonenum_146137331___110 {
    PTHREAD_PROCESS_PRIVATE___110 = 0,
    PTHREAD_PROCESS_SHARED___110 = 1
} ;
enum __anonenum_53396917___110 {
    PTHREAD_CANCEL_ENABLE___110 = 0,
    PTHREAD_CANCEL_DISABLE___110 = 1
} ;
enum __anonenum_904563783___110 {
    PTHREAD_CANCEL_DEFERRED___110 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___110 = 1
} ;
enum __anonenum_672052974___110 {
    SSL_CT_VALIDATION_PERMISSIVE___110 = 0,
    SSL_CT_VALIDATION_STRICT___110 = 1
} ;
struct entry {
   struct commit *commit ;
   uint16_t original_ttl ;
   uint16_t ttl ;
};
struct data {
   struct prio_queue rev_list ;
   int non_common_revs ;
};
enum __anonenum_437032235___111 {
    _PC_LINK_MAX___111 = 0,
    _PC_MAX_CANON___111 = 1,
    _PC_MAX_INPUT___111 = 2,
    _PC_NAME_MAX___111 = 3,
    _PC_PATH_MAX___111 = 4,
    _PC_PIPE_BUF___111 = 5,
    _PC_CHOWN_RESTRICTED___111 = 6,
    _PC_NO_TRUNC___111 = 7,
    _PC_VDISABLE___111 = 8,
    _PC_SYNC_IO___111 = 9,
    _PC_ASYNC_IO___111 = 10,
    _PC_PRIO_IO___111 = 11,
    _PC_SOCK_MAXBUF___111 = 12,
    _PC_FILESIZEBITS___111 = 13,
    _PC_REC_INCR_XFER_SIZE___111 = 14,
    _PC_REC_MAX_XFER_SIZE___111 = 15,
    _PC_REC_MIN_XFER_SIZE___111 = 16,
    _PC_REC_XFER_ALIGN___111 = 17,
    _PC_ALLOC_SIZE_MIN___111 = 18,
    _PC_SYMLINK_MAX___111 = 19,
    _PC_2_SYMLINKS___111 = 20
} ;
enum __anonenum_315186338___111 {
    _SC_ARG_MAX___111 = 0,
    _SC_CHILD_MAX___111 = 1,
    _SC_CLK_TCK___111 = 2,
    _SC_NGROUPS_MAX___111 = 3,
    _SC_OPEN_MAX___111 = 4,
    _SC_STREAM_MAX___111 = 5,
    _SC_TZNAME_MAX___111 = 6,
    _SC_JOB_CONTROL___111 = 7,
    _SC_SAVED_IDS___111 = 8,
    _SC_REALTIME_SIGNALS___111 = 9,
    _SC_PRIORITY_SCHEDULING___111 = 10,
    _SC_TIMERS___111 = 11,
    _SC_ASYNCHRONOUS_IO___111 = 12,
    _SC_PRIORITIZED_IO___111 = 13,
    _SC_SYNCHRONIZED_IO___111 = 14,
    _SC_FSYNC___111 = 15,
    _SC_MAPPED_FILES___111 = 16,
    _SC_MEMLOCK___111 = 17,
    _SC_MEMLOCK_RANGE___111 = 18,
    _SC_MEMORY_PROTECTION___111 = 19,
    _SC_MESSAGE_PASSING___111 = 20,
    _SC_SEMAPHORES___111 = 21,
    _SC_SHARED_MEMORY_OBJECTS___111 = 22,
    _SC_AIO_LISTIO_MAX___111 = 23,
    _SC_AIO_MAX___111 = 24,
    _SC_AIO_PRIO_DELTA_MAX___111 = 25,
    _SC_DELAYTIMER_MAX___111 = 26,
    _SC_MQ_OPEN_MAX___111 = 27,
    _SC_MQ_PRIO_MAX___111 = 28,
    _SC_VERSION___111 = 29,
    _SC_PAGESIZE___111 = 30,
    _SC_RTSIG_MAX___111 = 31,
    _SC_SEM_NSEMS_MAX___111 = 32,
    _SC_SEM_VALUE_MAX___111 = 33,
    _SC_SIGQUEUE_MAX___111 = 34,
    _SC_TIMER_MAX___111 = 35,
    _SC_BC_BASE_MAX___111 = 36,
    _SC_BC_DIM_MAX___111 = 37,
    _SC_BC_SCALE_MAX___111 = 38,
    _SC_BC_STRING_MAX___111 = 39,
    _SC_COLL_WEIGHTS_MAX___111 = 40,
    _SC_EQUIV_CLASS_MAX___111 = 41,
    _SC_EXPR_NEST_MAX___111 = 42,
    _SC_LINE_MAX___111 = 43,
    _SC_RE_DUP_MAX___111 = 44,
    _SC_CHARCLASS_NAME_MAX___111 = 45,
    _SC_2_VERSION___111 = 46,
    _SC_2_C_BIND___111 = 47,
    _SC_2_C_DEV___111 = 48,
    _SC_2_FORT_DEV___111 = 49,
    _SC_2_FORT_RUN___111 = 50,
    _SC_2_SW_DEV___111 = 51,
    _SC_2_LOCALEDEF___111 = 52,
    _SC_PII___111 = 53,
    _SC_PII_XTI___111 = 54,
    _SC_PII_SOCKET___111 = 55,
    _SC_PII_INTERNET___111 = 56,
    _SC_PII_OSI___111 = 57,
    _SC_POLL___111 = 58,
    _SC_SELECT___111 = 59,
    _SC_UIO_MAXIOV___111 = 60,
    _SC_IOV_MAX___111 = 60,
    _SC_PII_INTERNET_STREAM___111 = 61,
    _SC_PII_INTERNET_DGRAM___111 = 62,
    _SC_PII_OSI_COTS___111 = 63,
    _SC_PII_OSI_CLTS___111 = 64,
    _SC_PII_OSI_M___111 = 65,
    _SC_T_IOV_MAX___111 = 66,
    _SC_THREADS___111 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___111 = 68,
    _SC_GETGR_R_SIZE_MAX___111 = 69,
    _SC_GETPW_R_SIZE_MAX___111 = 70,
    _SC_LOGIN_NAME_MAX___111 = 71,
    _SC_TTY_NAME_MAX___111 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___111 = 73,
    _SC_THREAD_KEYS_MAX___111 = 74,
    _SC_THREAD_STACK_MIN___111 = 75,
    _SC_THREAD_THREADS_MAX___111 = 76,
    _SC_THREAD_ATTR_STACKADDR___111 = 77,
    _SC_THREAD_ATTR_STACKSIZE___111 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___111 = 79,
    _SC_THREAD_PRIO_INHERIT___111 = 80,
    _SC_THREAD_PRIO_PROTECT___111 = 81,
    _SC_THREAD_PROCESS_SHARED___111 = 82,
    _SC_NPROCESSORS_CONF___111 = 83,
    _SC_NPROCESSORS_ONLN___111 = 84,
    _SC_PHYS_PAGES___111 = 85,
    _SC_AVPHYS_PAGES___111 = 86,
    _SC_ATEXIT_MAX___111 = 87,
    _SC_PASS_MAX___111 = 88,
    _SC_XOPEN_VERSION___111 = 89,
    _SC_XOPEN_XCU_VERSION___111 = 90,
    _SC_XOPEN_UNIX___111 = 91,
    _SC_XOPEN_CRYPT___111 = 92,
    _SC_XOPEN_ENH_I18N___111 = 93,
    _SC_XOPEN_SHM___111 = 94,
    _SC_2_CHAR_TERM___111 = 95,
    _SC_2_C_VERSION___111 = 96,
    _SC_2_UPE___111 = 97,
    _SC_XOPEN_XPG2___111 = 98,
    _SC_XOPEN_XPG3___111 = 99,
    _SC_XOPEN_XPG4___111 = 100,
    _SC_CHAR_BIT___111 = 101,
    _SC_CHAR_MAX___111 = 102,
    _SC_CHAR_MIN___111 = 103,
    _SC_INT_MAX___111 = 104,
    _SC_INT_MIN___111 = 105,
    _SC_LONG_BIT___111 = 106,
    _SC_WORD_BIT___111 = 107,
    _SC_MB_LEN_MAX___111 = 108,
    _SC_NZERO___111 = 109,
    _SC_SSIZE_MAX___111 = 110,
    _SC_SCHAR_MAX___111 = 111,
    _SC_SCHAR_MIN___111 = 112,
    _SC_SHRT_MAX___111 = 113,
    _SC_SHRT_MIN___111 = 114,
    _SC_UCHAR_MAX___111 = 115,
    _SC_UINT_MAX___111 = 116,
    _SC_ULONG_MAX___111 = 117,
    _SC_USHRT_MAX___111 = 118,
    _SC_NL_ARGMAX___111 = 119,
    _SC_NL_LANGMAX___111 = 120,
    _SC_NL_MSGMAX___111 = 121,
    _SC_NL_NMAX___111 = 122,
    _SC_NL_SETMAX___111 = 123,
    _SC_NL_TEXTMAX___111 = 124,
    _SC_XBS5_ILP32_OFF32___111 = 125,
    _SC_XBS5_ILP32_OFFBIG___111 = 126,
    _SC_XBS5_LP64_OFF64___111 = 127,
    _SC_XBS5_LPBIG_OFFBIG___111 = 128,
    _SC_XOPEN_LEGACY___111 = 129,
    _SC_XOPEN_REALTIME___111 = 130,
    _SC_XOPEN_REALTIME_THREADS___111 = 131,
    _SC_ADVISORY_INFO___111 = 132,
    _SC_BARRIERS___111 = 133,
    _SC_BASE___111 = 134,
    _SC_C_LANG_SUPPORT___111 = 135,
    _SC_C_LANG_SUPPORT_R___111 = 136,
    _SC_CLOCK_SELECTION___111 = 137,
    _SC_CPUTIME___111 = 138,
    _SC_THREAD_CPUTIME___111 = 139,
    _SC_DEVICE_IO___111 = 140,
    _SC_DEVICE_SPECIFIC___111 = 141,
    _SC_DEVICE_SPECIFIC_R___111 = 142,
    _SC_FD_MGMT___111 = 143,
    _SC_FIFO___111 = 144,
    _SC_PIPE___111 = 145,
    _SC_FILE_ATTRIBUTES___111 = 146,
    _SC_FILE_LOCKING___111 = 147,
    _SC_FILE_SYSTEM___111 = 148,
    _SC_MONOTONIC_CLOCK___111 = 149,
    _SC_MULTI_PROCESS___111 = 150,
    _SC_SINGLE_PROCESS___111 = 151,
    _SC_NETWORKING___111 = 152,
    _SC_READER_WRITER_LOCKS___111 = 153,
    _SC_SPIN_LOCKS___111 = 154,
    _SC_REGEXP___111 = 155,
    _SC_REGEX_VERSION___111 = 156,
    _SC_SHELL___111 = 157,
    _SC_SIGNALS___111 = 158,
    _SC_SPAWN___111 = 159,
    _SC_SPORADIC_SERVER___111 = 160,
    _SC_THREAD_SPORADIC_SERVER___111 = 161,
    _SC_SYSTEM_DATABASE___111 = 162,
    _SC_SYSTEM_DATABASE_R___111 = 163,
    _SC_TIMEOUTS___111 = 164,
    _SC_TYPED_MEMORY_OBJECTS___111 = 165,
    _SC_USER_GROUPS___111 = 166,
    _SC_USER_GROUPS_R___111 = 167,
    _SC_2_PBS___111 = 168,
    _SC_2_PBS_ACCOUNTING___111 = 169,
    _SC_2_PBS_LOCATE___111 = 170,
    _SC_2_PBS_MESSAGE___111 = 171,
    _SC_2_PBS_TRACK___111 = 172,
    _SC_SYMLOOP_MAX___111 = 173,
    _SC_STREAMS___111 = 174,
    _SC_2_PBS_CHECKPOINT___111 = 175,
    _SC_V6_ILP32_OFF32___111 = 176,
    _SC_V6_ILP32_OFFBIG___111 = 177,
    _SC_V6_LP64_OFF64___111 = 178,
    _SC_V6_LPBIG_OFFBIG___111 = 179,
    _SC_HOST_NAME_MAX___111 = 180,
    _SC_TRACE___111 = 181,
    _SC_TRACE_EVENT_FILTER___111 = 182,
    _SC_TRACE_INHERIT___111 = 183,
    _SC_TRACE_LOG___111 = 184,
    _SC_LEVEL1_ICACHE_SIZE___111 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___111 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___111 = 187,
    _SC_LEVEL1_DCACHE_SIZE___111 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___111 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___111 = 190,
    _SC_LEVEL2_CACHE_SIZE___111 = 191,
    _SC_LEVEL2_CACHE_ASSOC___111 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___111 = 193,
    _SC_LEVEL3_CACHE_SIZE___111 = 194,
    _SC_LEVEL3_CACHE_ASSOC___111 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___111 = 196,
    _SC_LEVEL4_CACHE_SIZE___111 = 197,
    _SC_LEVEL4_CACHE_ASSOC___111 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___111 = 199,
    _SC_IPV6___111 = 235,
    _SC_RAW_SOCKETS___111 = 236,
    _SC_V7_ILP32_OFF32___111 = 237,
    _SC_V7_ILP32_OFFBIG___111 = 238,
    _SC_V7_LP64_OFF64___111 = 239,
    _SC_V7_LPBIG_OFFBIG___111 = 240,
    _SC_SS_REPL_MAX___111 = 241,
    _SC_TRACE_EVENT_NAME_MAX___111 = 242,
    _SC_TRACE_NAME_MAX___111 = 243,
    _SC_TRACE_SYS_MAX___111 = 244,
    _SC_TRACE_USER_EVENT_MAX___111 = 245,
    _SC_XOPEN_STREAMS___111 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___111 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___111 = 248
} ;
enum __anonenum_875524036___111 {
    _CS_PATH___111 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___111 = 1,
    _CS_GNU_LIBC_VERSION___111 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___111 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___111 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___111 = 5,
    _CS_LFS_CFLAGS___111 = 1000,
    _CS_LFS_LDFLAGS___111 = 1001,
    _CS_LFS_LIBS___111 = 1002,
    _CS_LFS_LINTFLAGS___111 = 1003,
    _CS_LFS64_CFLAGS___111 = 1004,
    _CS_LFS64_LDFLAGS___111 = 1005,
    _CS_LFS64_LIBS___111 = 1006,
    _CS_LFS64_LINTFLAGS___111 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___111 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___111 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___111 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___111 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___111 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___111 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___111 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___111 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___111 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___111 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___111 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___111 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___111 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___111 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___111 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___111 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___111 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___111 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___111 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___111 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___111 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___111 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___111 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___111 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___111 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___111 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___111 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___111 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___111 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___111 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___111 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___111 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___111 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___111 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___111 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___111 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___111 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___111 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___111 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___111 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___111 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___111 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___111 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___111 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___111 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___111 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___111 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___111 = 1147,
    _CS_V6_ENV___111 = 1148,
    _CS_V7_ENV___111 = 1149
} ;
enum __anonenum_513775621___111 {
    DT_UNKNOWN___111 = 0,
    DT_FIFO___111 = 1,
    DT_CHR___111 = 2,
    DT_DIR___111 = 4,
    DT_BLK___111 = 6,
    DT_REG___111 = 8,
    DT_LNK___111 = 10,
    DT_SOCK___111 = 12,
    DT_WHT___111 = 14
} ;
enum __anonenum_77002343___111 {
    SI_ASYNCNL___111 = -60,
    SI_TKILL___111 = -6,
    SI_SIGIO___111 = -5,
    SI_ASYNCIO___111 = -4,
    SI_MESGQ___111 = -3,
    SI_TIMER___111 = -2,
    SI_QUEUE___111 = -1,
    SI_USER___111 = 0,
    SI_KERNEL___111 = 128
} ;
enum __anonenum_131038172___111 {
    ILL_ILLOPC___111 = 1,
    ILL_ILLOPN___111 = 2,
    ILL_ILLADR___111 = 3,
    ILL_ILLTRP___111 = 4,
    ILL_PRVOPC___111 = 5,
    ILL_PRVREG___111 = 6,
    ILL_COPROC___111 = 7,
    ILL_BADSTK___111 = 8
} ;
enum __anonenum_452038093___111 {
    FPE_INTDIV___111 = 1,
    FPE_INTOVF___111 = 2,
    FPE_FLTDIV___111 = 3,
    FPE_FLTOVF___111 = 4,
    FPE_FLTUND___111 = 5,
    FPE_FLTRES___111 = 6,
    FPE_FLTINV___111 = 7,
    FPE_FLTSUB___111 = 8
} ;
enum __anonenum_30976155___111 {
    SEGV_MAPERR___111 = 1,
    SEGV_ACCERR___111 = 2,
    SEGV_BNDERR___111 = 3,
    SEGV_PKUERR___111 = 4
} ;
enum __anonenum_1036286214___111 {
    BUS_ADRALN___111 = 1,
    BUS_ADRERR___111 = 2,
    BUS_OBJERR___111 = 3,
    BUS_MCEERR_AR___111 = 4,
    BUS_MCEERR_AO___111 = 5
} ;
enum __anonenum_493465559___111 {
    TRAP_BRKPT___111 = 1,
    TRAP_TRACE___111 = 2
} ;
enum __anonenum_23175539___111 {
    CLD_EXITED___111 = 1,
    CLD_KILLED___111 = 2,
    CLD_DUMPED___111 = 3,
    CLD_TRAPPED___111 = 4,
    CLD_STOPPED___111 = 5,
    CLD_CONTINUED___111 = 6
} ;
enum __anonenum_111643124___111 {
    POLL_IN___111 = 1,
    POLL_OUT___111 = 2,
    POLL_MSG___111 = 3,
    POLL_ERR___111 = 4,
    POLL_PRI___111 = 5,
    POLL_HUP___111 = 6
} ;
enum __anonenum_852341087___111 {
    SIGEV_SIGNAL___111 = 0,
    SIGEV_NONE___111 = 1,
    SIGEV_THREAD___111 = 2,
    SIGEV_THREAD_ID___111 = 4
} ;
enum __anonenum_451154152___111 {
    REG_R8___111 = 0,
    REG_R9___111 = 1,
    REG_R10___111 = 2,
    REG_R11___111 = 3,
    REG_R12___111 = 4,
    REG_R13___111 = 5,
    REG_R14___111 = 6,
    REG_R15___111 = 7,
    REG_RDI___111 = 8,
    REG_RSI___111 = 9,
    REG_RBP___111 = 10,
    REG_RBX___111 = 11,
    REG_RDX___111 = 12,
    REG_RAX___111 = 13,
    REG_RCX___111 = 14,
    REG_RSP___111 = 15,
    REG_RIP___111 = 16,
    REG_EFL___111 = 17,
    REG_CSGSFS___111 = 18,
    REG_ERR___111 = 19,
    REG_TRAPNO___111 = 20,
    REG_OLDMASK___111 = 21,
    REG_CR2___111 = 22
} ;
enum __anonenum_57186863___111 {
    SS_ONSTACK___111 = 1,
    SS_DISABLE___111 = 2
} ;
enum __anonenum_83571709___111 {
    MSG_OOB___111 = 1,
    MSG_PEEK___111 = 2,
    MSG_DONTROUTE___111 = 4,
    MSG_TRYHARD___111 = 4,
    MSG_CTRUNC___111 = 8,
    MSG_PROXY___111 = 16,
    MSG_TRUNC___111 = 32,
    MSG_DONTWAIT___111 = 64,
    MSG_EOR___111 = 128,
    MSG_WAITALL___111 = 256,
    MSG_FIN___111 = 512,
    MSG_SYN___111 = 1024,
    MSG_CONFIRM___111 = 2048,
    MSG_RST___111 = 4096,
    MSG_ERRQUEUE___111 = 8192,
    MSG_NOSIGNAL___111 = 16384,
    MSG_MORE___111 = 32768,
    MSG_WAITFORONE___111 = 65536,
    MSG_BATCH___111 = 262144,
    MSG_ZEROCOPY___111 = 67108864,
    MSG_FASTOPEN___111 = 536870912,
    MSG_CMSG_CLOEXEC___111 = 1073741824
} ;
enum __anonenum_617082774___111 {
    SCM_RIGHTS___111 = 1,
    SCM_CREDENTIALS___111 = 2
} ;
enum __anonenum_606441560___111 {
    SHUT_RD___111 = 0,
    SHUT_WR___111 = 1,
    SHUT_RDWR___111 = 2
} ;
enum __anonenum_681669233___111 {
    IPPROTO_IP___111 = 0,
    IPPROTO_ICMP___111 = 1,
    IPPROTO_IGMP___111 = 2,
    IPPROTO_IPIP___111 = 4,
    IPPROTO_TCP___111 = 6,
    IPPROTO_EGP___111 = 8,
    IPPROTO_PUP___111 = 12,
    IPPROTO_UDP___111 = 17,
    IPPROTO_IDP___111 = 22,
    IPPROTO_TP___111 = 29,
    IPPROTO_DCCP___111 = 33,
    IPPROTO_IPV6___111 = 41,
    IPPROTO_RSVP___111 = 46,
    IPPROTO_GRE___111 = 47,
    IPPROTO_ESP___111 = 50,
    IPPROTO_AH___111 = 51,
    IPPROTO_MTP___111 = 92,
    IPPROTO_BEETPH___111 = 94,
    IPPROTO_ENCAP___111 = 98,
    IPPROTO_PIM___111 = 103,
    IPPROTO_COMP___111 = 108,
    IPPROTO_SCTP___111 = 132,
    IPPROTO_UDPLITE___111 = 136,
    IPPROTO_MPLS___111 = 137,
    IPPROTO_RAW___111 = 255,
    IPPROTO_MAX___111 = 256
} ;
enum __anonenum_218739988___111 {
    IPPROTO_HOPOPTS___111 = 0,
    IPPROTO_ROUTING___111 = 43,
    IPPROTO_FRAGMENT___111 = 44,
    IPPROTO_ICMPV6___111 = 58,
    IPPROTO_NONE___111 = 59,
    IPPROTO_DSTOPTS___111 = 60,
    IPPROTO_MH___111 = 135
} ;
enum __anonenum_662268580___111 {
    IPPORT_ECHO___111 = 7,
    IPPORT_DISCARD___111 = 9,
    IPPORT_SYSTAT___111 = 11,
    IPPORT_DAYTIME___111 = 13,
    IPPORT_NETSTAT___111 = 15,
    IPPORT_FTP___111 = 21,
    IPPORT_TELNET___111 = 23,
    IPPORT_SMTP___111 = 25,
    IPPORT_TIMESERVER___111 = 37,
    IPPORT_NAMESERVER___111 = 42,
    IPPORT_WHOIS___111 = 43,
    IPPORT_MTP___111 = 57,
    IPPORT_TFTP___111 = 69,
    IPPORT_RJE___111 = 77,
    IPPORT_FINGER___111 = 79,
    IPPORT_TTYLINK___111 = 87,
    IPPORT_SUPDUP___111 = 95,
    IPPORT_EXECSERVER___111 = 512,
    IPPORT_LOGINSERVER___111 = 513,
    IPPORT_CMDSERVER___111 = 514,
    IPPORT_EFSSERVER___111 = 520,
    IPPORT_BIFFUDP___111 = 512,
    IPPORT_WHOSERVER___111 = 513,
    IPPORT_ROUTESERVER___111 = 520,
    IPPORT_RESERVED___111 = 1024,
    IPPORT_USERRESERVED___111 = 5000
} ;
enum __anonenum_788308992___111 {
    TCP_ESTABLISHED___111 = 1,
    TCP_SYN_SENT___111 = 2,
    TCP_SYN_RECV___111 = 3,
    TCP_FIN_WAIT1___111 = 4,
    TCP_FIN_WAIT2___111 = 5,
    TCP_TIME_WAIT___111 = 6,
    TCP_CLOSE___111 = 7,
    TCP_CLOSE_WAIT___111 = 8,
    TCP_LAST_ACK___111 = 9,
    TCP_LISTEN___111 = 10,
    TCP_CLOSING___111 = 11
} ;
enum __anonenum_221125648___111 {
    TCP_NO_QUEUE___111 = 0,
    TCP_RECV_QUEUE___111 = 1,
    TCP_SEND_QUEUE___111 = 2,
    TCP_QUEUES_NR___111 = 3
} ;
enum __anonenum_34415463___111 {
    PTHREAD_CREATE_JOINABLE___111 = 0,
    PTHREAD_CREATE_DETACHED___111 = 1
} ;
enum __anonenum_303612439___111 {
    PTHREAD_MUTEX_TIMED_NP___111 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___111 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___111 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___111 = 3,
    PTHREAD_MUTEX_NORMAL___111 = 0,
    PTHREAD_MUTEX_RECURSIVE___111 = 1,
    PTHREAD_MUTEX_ERRORCHECK___111 = 2,
    PTHREAD_MUTEX_DEFAULT___111 = 0,
    PTHREAD_MUTEX_FAST_NP___111 = 0
} ;
enum __anonenum_931900394___111 {
    PTHREAD_MUTEX_STALLED___111 = 0,
    PTHREAD_MUTEX_STALLED_NP___111 = 0,
    PTHREAD_MUTEX_ROBUST___111 = 1,
    PTHREAD_MUTEX_ROBUST_NP___111 = 1
} ;
enum __anonenum_205214487___111 {
    PTHREAD_PRIO_NONE___111 = 0,
    PTHREAD_PRIO_INHERIT___111 = 1,
    PTHREAD_PRIO_PROTECT___111 = 2
} ;
enum __anonenum_25043950___111 {
    PTHREAD_RWLOCK_PREFER_READER_NP___111 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___111 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___111 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___111 = 0
} ;
enum __anonenum_436439511___111 {
    PTHREAD_INHERIT_SCHED___111 = 0,
    PTHREAD_EXPLICIT_SCHED___111 = 1
} ;
enum __anonenum_998661166___111 {
    PTHREAD_SCOPE_SYSTEM___111 = 0,
    PTHREAD_SCOPE_PROCESS___111 = 1
} ;
enum __anonenum_146137331___111 {
    PTHREAD_PROCESS_PRIVATE___111 = 0,
    PTHREAD_PROCESS_SHARED___111 = 1
} ;
enum __anonenum_53396917___111 {
    PTHREAD_CANCEL_ENABLE___111 = 0,
    PTHREAD_CANCEL_DISABLE___111 = 1
} ;
enum __anonenum_904563783___111 {
    PTHREAD_CANCEL_DEFERRED___111 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___111 = 1
} ;
enum __anonenum_672052974___111 {
    SSL_CT_VALIDATION_PERMISSIVE___111 = 0,
    SSL_CT_VALIDATION_STRICT___111 = 1
} ;
enum __anonenum_437032235___112 {
    _PC_LINK_MAX___112 = 0,
    _PC_MAX_CANON___112 = 1,
    _PC_MAX_INPUT___112 = 2,
    _PC_NAME_MAX___112 = 3,
    _PC_PATH_MAX___112 = 4,
    _PC_PIPE_BUF___112 = 5,
    _PC_CHOWN_RESTRICTED___112 = 6,
    _PC_NO_TRUNC___112 = 7,
    _PC_VDISABLE___112 = 8,
    _PC_SYNC_IO___112 = 9,
    _PC_ASYNC_IO___112 = 10,
    _PC_PRIO_IO___112 = 11,
    _PC_SOCK_MAXBUF___112 = 12,
    _PC_FILESIZEBITS___112 = 13,
    _PC_REC_INCR_XFER_SIZE___112 = 14,
    _PC_REC_MAX_XFER_SIZE___112 = 15,
    _PC_REC_MIN_XFER_SIZE___112 = 16,
    _PC_REC_XFER_ALIGN___112 = 17,
    _PC_ALLOC_SIZE_MIN___112 = 18,
    _PC_SYMLINK_MAX___112 = 19,
    _PC_2_SYMLINKS___112 = 20
} ;
enum __anonenum_315186338___112 {
    _SC_ARG_MAX___112 = 0,
    _SC_CHILD_MAX___112 = 1,
    _SC_CLK_TCK___112 = 2,
    _SC_NGROUPS_MAX___112 = 3,
    _SC_OPEN_MAX___112 = 4,
    _SC_STREAM_MAX___112 = 5,
    _SC_TZNAME_MAX___112 = 6,
    _SC_JOB_CONTROL___112 = 7,
    _SC_SAVED_IDS___112 = 8,
    _SC_REALTIME_SIGNALS___112 = 9,
    _SC_PRIORITY_SCHEDULING___112 = 10,
    _SC_TIMERS___112 = 11,
    _SC_ASYNCHRONOUS_IO___112 = 12,
    _SC_PRIORITIZED_IO___112 = 13,
    _SC_SYNCHRONIZED_IO___112 = 14,
    _SC_FSYNC___112 = 15,
    _SC_MAPPED_FILES___112 = 16,
    _SC_MEMLOCK___112 = 17,
    _SC_MEMLOCK_RANGE___112 = 18,
    _SC_MEMORY_PROTECTION___112 = 19,
    _SC_MESSAGE_PASSING___112 = 20,
    _SC_SEMAPHORES___112 = 21,
    _SC_SHARED_MEMORY_OBJECTS___112 = 22,
    _SC_AIO_LISTIO_MAX___112 = 23,
    _SC_AIO_MAX___112 = 24,
    _SC_AIO_PRIO_DELTA_MAX___112 = 25,
    _SC_DELAYTIMER_MAX___112 = 26,
    _SC_MQ_OPEN_MAX___112 = 27,
    _SC_MQ_PRIO_MAX___112 = 28,
    _SC_VERSION___112 = 29,
    _SC_PAGESIZE___112 = 30,
    _SC_RTSIG_MAX___112 = 31,
    _SC_SEM_NSEMS_MAX___112 = 32,
    _SC_SEM_VALUE_MAX___112 = 33,
    _SC_SIGQUEUE_MAX___112 = 34,
    _SC_TIMER_MAX___112 = 35,
    _SC_BC_BASE_MAX___112 = 36,
    _SC_BC_DIM_MAX___112 = 37,
    _SC_BC_SCALE_MAX___112 = 38,
    _SC_BC_STRING_MAX___112 = 39,
    _SC_COLL_WEIGHTS_MAX___112 = 40,
    _SC_EQUIV_CLASS_MAX___112 = 41,
    _SC_EXPR_NEST_MAX___112 = 42,
    _SC_LINE_MAX___112 = 43,
    _SC_RE_DUP_MAX___112 = 44,
    _SC_CHARCLASS_NAME_MAX___112 = 45,
    _SC_2_VERSION___112 = 46,
    _SC_2_C_BIND___112 = 47,
    _SC_2_C_DEV___112 = 48,
    _SC_2_FORT_DEV___112 = 49,
    _SC_2_FORT_RUN___112 = 50,
    _SC_2_SW_DEV___112 = 51,
    _SC_2_LOCALEDEF___112 = 52,
    _SC_PII___112 = 53,
    _SC_PII_XTI___112 = 54,
    _SC_PII_SOCKET___112 = 55,
    _SC_PII_INTERNET___112 = 56,
    _SC_PII_OSI___112 = 57,
    _SC_POLL___112 = 58,
    _SC_SELECT___112 = 59,
    _SC_UIO_MAXIOV___112 = 60,
    _SC_IOV_MAX___112 = 60,
    _SC_PII_INTERNET_STREAM___112 = 61,
    _SC_PII_INTERNET_DGRAM___112 = 62,
    _SC_PII_OSI_COTS___112 = 63,
    _SC_PII_OSI_CLTS___112 = 64,
    _SC_PII_OSI_M___112 = 65,
    _SC_T_IOV_MAX___112 = 66,
    _SC_THREADS___112 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___112 = 68,
    _SC_GETGR_R_SIZE_MAX___112 = 69,
    _SC_GETPW_R_SIZE_MAX___112 = 70,
    _SC_LOGIN_NAME_MAX___112 = 71,
    _SC_TTY_NAME_MAX___112 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___112 = 73,
    _SC_THREAD_KEYS_MAX___112 = 74,
    _SC_THREAD_STACK_MIN___112 = 75,
    _SC_THREAD_THREADS_MAX___112 = 76,
    _SC_THREAD_ATTR_STACKADDR___112 = 77,
    _SC_THREAD_ATTR_STACKSIZE___112 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___112 = 79,
    _SC_THREAD_PRIO_INHERIT___112 = 80,
    _SC_THREAD_PRIO_PROTECT___112 = 81,
    _SC_THREAD_PROCESS_SHARED___112 = 82,
    _SC_NPROCESSORS_CONF___112 = 83,
    _SC_NPROCESSORS_ONLN___112 = 84,
    _SC_PHYS_PAGES___112 = 85,
    _SC_AVPHYS_PAGES___112 = 86,
    _SC_ATEXIT_MAX___112 = 87,
    _SC_PASS_MAX___112 = 88,
    _SC_XOPEN_VERSION___112 = 89,
    _SC_XOPEN_XCU_VERSION___112 = 90,
    _SC_XOPEN_UNIX___112 = 91,
    _SC_XOPEN_CRYPT___112 = 92,
    _SC_XOPEN_ENH_I18N___112 = 93,
    _SC_XOPEN_SHM___112 = 94,
    _SC_2_CHAR_TERM___112 = 95,
    _SC_2_C_VERSION___112 = 96,
    _SC_2_UPE___112 = 97,
    _SC_XOPEN_XPG2___112 = 98,
    _SC_XOPEN_XPG3___112 = 99,
    _SC_XOPEN_XPG4___112 = 100,
    _SC_CHAR_BIT___112 = 101,
    _SC_CHAR_MAX___112 = 102,
    _SC_CHAR_MIN___112 = 103,
    _SC_INT_MAX___112 = 104,
    _SC_INT_MIN___112 = 105,
    _SC_LONG_BIT___112 = 106,
    _SC_WORD_BIT___112 = 107,
    _SC_MB_LEN_MAX___112 = 108,
    _SC_NZERO___112 = 109,
    _SC_SSIZE_MAX___112 = 110,
    _SC_SCHAR_MAX___112 = 111,
    _SC_SCHAR_MIN___112 = 112,
    _SC_SHRT_MAX___112 = 113,
    _SC_SHRT_MIN___112 = 114,
    _SC_UCHAR_MAX___112 = 115,
    _SC_UINT_MAX___112 = 116,
    _SC_ULONG_MAX___112 = 117,
    _SC_USHRT_MAX___112 = 118,
    _SC_NL_ARGMAX___112 = 119,
    _SC_NL_LANGMAX___112 = 120,
    _SC_NL_MSGMAX___112 = 121,
    _SC_NL_NMAX___112 = 122,
    _SC_NL_SETMAX___112 = 123,
    _SC_NL_TEXTMAX___112 = 124,
    _SC_XBS5_ILP32_OFF32___112 = 125,
    _SC_XBS5_ILP32_OFFBIG___112 = 126,
    _SC_XBS5_LP64_OFF64___112 = 127,
    _SC_XBS5_LPBIG_OFFBIG___112 = 128,
    _SC_XOPEN_LEGACY___112 = 129,
    _SC_XOPEN_REALTIME___112 = 130,
    _SC_XOPEN_REALTIME_THREADS___112 = 131,
    _SC_ADVISORY_INFO___112 = 132,
    _SC_BARRIERS___112 = 133,
    _SC_BASE___112 = 134,
    _SC_C_LANG_SUPPORT___112 = 135,
    _SC_C_LANG_SUPPORT_R___112 = 136,
    _SC_CLOCK_SELECTION___112 = 137,
    _SC_CPUTIME___112 = 138,
    _SC_THREAD_CPUTIME___112 = 139,
    _SC_DEVICE_IO___112 = 140,
    _SC_DEVICE_SPECIFIC___112 = 141,
    _SC_DEVICE_SPECIFIC_R___112 = 142,
    _SC_FD_MGMT___112 = 143,
    _SC_FIFO___112 = 144,
    _SC_PIPE___112 = 145,
    _SC_FILE_ATTRIBUTES___112 = 146,
    _SC_FILE_LOCKING___112 = 147,
    _SC_FILE_SYSTEM___112 = 148,
    _SC_MONOTONIC_CLOCK___112 = 149,
    _SC_MULTI_PROCESS___112 = 150,
    _SC_SINGLE_PROCESS___112 = 151,
    _SC_NETWORKING___112 = 152,
    _SC_READER_WRITER_LOCKS___112 = 153,
    _SC_SPIN_LOCKS___112 = 154,
    _SC_REGEXP___112 = 155,
    _SC_REGEX_VERSION___112 = 156,
    _SC_SHELL___112 = 157,
    _SC_SIGNALS___112 = 158,
    _SC_SPAWN___112 = 159,
    _SC_SPORADIC_SERVER___112 = 160,
    _SC_THREAD_SPORADIC_SERVER___112 = 161,
    _SC_SYSTEM_DATABASE___112 = 162,
    _SC_SYSTEM_DATABASE_R___112 = 163,
    _SC_TIMEOUTS___112 = 164,
    _SC_TYPED_MEMORY_OBJECTS___112 = 165,
    _SC_USER_GROUPS___112 = 166,
    _SC_USER_GROUPS_R___112 = 167,
    _SC_2_PBS___112 = 168,
    _SC_2_PBS_ACCOUNTING___112 = 169,
    _SC_2_PBS_LOCATE___112 = 170,
    _SC_2_PBS_MESSAGE___112 = 171,
    _SC_2_PBS_TRACK___112 = 172,
    _SC_SYMLOOP_MAX___112 = 173,
    _SC_STREAMS___112 = 174,
    _SC_2_PBS_CHECKPOINT___112 = 175,
    _SC_V6_ILP32_OFF32___112 = 176,
    _SC_V6_ILP32_OFFBIG___112 = 177,
    _SC_V6_LP64_OFF64___112 = 178,
    _SC_V6_LPBIG_OFFBIG___112 = 179,
    _SC_HOST_NAME_MAX___112 = 180,
    _SC_TRACE___112 = 181,
    _SC_TRACE_EVENT_FILTER___112 = 182,
    _SC_TRACE_INHERIT___112 = 183,
    _SC_TRACE_LOG___112 = 184,
    _SC_LEVEL1_ICACHE_SIZE___112 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___112 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___112 = 187,
    _SC_LEVEL1_DCACHE_SIZE___112 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___112 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___112 = 190,
    _SC_LEVEL2_CACHE_SIZE___112 = 191,
    _SC_LEVEL2_CACHE_ASSOC___112 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___112 = 193,
    _SC_LEVEL3_CACHE_SIZE___112 = 194,
    _SC_LEVEL3_CACHE_ASSOC___112 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___112 = 196,
    _SC_LEVEL4_CACHE_SIZE___112 = 197,
    _SC_LEVEL4_CACHE_ASSOC___112 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___112 = 199,
    _SC_IPV6___112 = 235,
    _SC_RAW_SOCKETS___112 = 236,
    _SC_V7_ILP32_OFF32___112 = 237,
    _SC_V7_ILP32_OFFBIG___112 = 238,
    _SC_V7_LP64_OFF64___112 = 239,
    _SC_V7_LPBIG_OFFBIG___112 = 240,
    _SC_SS_REPL_MAX___112 = 241,
    _SC_TRACE_EVENT_NAME_MAX___112 = 242,
    _SC_TRACE_NAME_MAX___112 = 243,
    _SC_TRACE_SYS_MAX___112 = 244,
    _SC_TRACE_USER_EVENT_MAX___112 = 245,
    _SC_XOPEN_STREAMS___112 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___112 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___112 = 248
} ;
enum __anonenum_875524036___112 {
    _CS_PATH___112 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___112 = 1,
    _CS_GNU_LIBC_VERSION___112 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___112 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___112 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___112 = 5,
    _CS_LFS_CFLAGS___112 = 1000,
    _CS_LFS_LDFLAGS___112 = 1001,
    _CS_LFS_LIBS___112 = 1002,
    _CS_LFS_LINTFLAGS___112 = 1003,
    _CS_LFS64_CFLAGS___112 = 1004,
    _CS_LFS64_LDFLAGS___112 = 1005,
    _CS_LFS64_LIBS___112 = 1006,
    _CS_LFS64_LINTFLAGS___112 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___112 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___112 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___112 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___112 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___112 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___112 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___112 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___112 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___112 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___112 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___112 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___112 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___112 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___112 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___112 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___112 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___112 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___112 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___112 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___112 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___112 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___112 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___112 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___112 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___112 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___112 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___112 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___112 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___112 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___112 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___112 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___112 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___112 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___112 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___112 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___112 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___112 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___112 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___112 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___112 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___112 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___112 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___112 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___112 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___112 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___112 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___112 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___112 = 1147,
    _CS_V6_ENV___112 = 1148,
    _CS_V7_ENV___112 = 1149
} ;
enum __anonenum_513775621___112 {
    DT_UNKNOWN___112 = 0,
    DT_FIFO___112 = 1,
    DT_CHR___112 = 2,
    DT_DIR___112 = 4,
    DT_BLK___112 = 6,
    DT_REG___112 = 8,
    DT_LNK___112 = 10,
    DT_SOCK___112 = 12,
    DT_WHT___112 = 14
} ;
enum __anonenum_77002343___112 {
    SI_ASYNCNL___112 = -60,
    SI_TKILL___112 = -6,
    SI_SIGIO___112 = -5,
    SI_ASYNCIO___112 = -4,
    SI_MESGQ___112 = -3,
    SI_TIMER___112 = -2,
    SI_QUEUE___112 = -1,
    SI_USER___112 = 0,
    SI_KERNEL___112 = 128
} ;
enum __anonenum_131038172___112 {
    ILL_ILLOPC___112 = 1,
    ILL_ILLOPN___112 = 2,
    ILL_ILLADR___112 = 3,
    ILL_ILLTRP___112 = 4,
    ILL_PRVOPC___112 = 5,
    ILL_PRVREG___112 = 6,
    ILL_COPROC___112 = 7,
    ILL_BADSTK___112 = 8
} ;
enum __anonenum_452038093___112 {
    FPE_INTDIV___112 = 1,
    FPE_INTOVF___112 = 2,
    FPE_FLTDIV___112 = 3,
    FPE_FLTOVF___112 = 4,
    FPE_FLTUND___112 = 5,
    FPE_FLTRES___112 = 6,
    FPE_FLTINV___112 = 7,
    FPE_FLTSUB___112 = 8
} ;
enum __anonenum_30976155___112 {
    SEGV_MAPERR___112 = 1,
    SEGV_ACCERR___112 = 2,
    SEGV_BNDERR___112 = 3,
    SEGV_PKUERR___112 = 4
} ;
enum __anonenum_1036286214___112 {
    BUS_ADRALN___112 = 1,
    BUS_ADRERR___112 = 2,
    BUS_OBJERR___112 = 3,
    BUS_MCEERR_AR___112 = 4,
    BUS_MCEERR_AO___112 = 5
} ;
enum __anonenum_493465559___112 {
    TRAP_BRKPT___112 = 1,
    TRAP_TRACE___112 = 2
} ;
enum __anonenum_23175539___112 {
    CLD_EXITED___112 = 1,
    CLD_KILLED___112 = 2,
    CLD_DUMPED___112 = 3,
    CLD_TRAPPED___112 = 4,
    CLD_STOPPED___112 = 5,
    CLD_CONTINUED___112 = 6
} ;
enum __anonenum_111643124___112 {
    POLL_IN___112 = 1,
    POLL_OUT___112 = 2,
    POLL_MSG___112 = 3,
    POLL_ERR___112 = 4,
    POLL_PRI___112 = 5,
    POLL_HUP___112 = 6
} ;
enum __anonenum_852341087___112 {
    SIGEV_SIGNAL___112 = 0,
    SIGEV_NONE___112 = 1,
    SIGEV_THREAD___112 = 2,
    SIGEV_THREAD_ID___112 = 4
} ;
enum __anonenum_451154152___112 {
    REG_R8___112 = 0,
    REG_R9___112 = 1,
    REG_R10___112 = 2,
    REG_R11___112 = 3,
    REG_R12___112 = 4,
    REG_R13___112 = 5,
    REG_R14___112 = 6,
    REG_R15___112 = 7,
    REG_RDI___112 = 8,
    REG_RSI___112 = 9,
    REG_RBP___112 = 10,
    REG_RBX___112 = 11,
    REG_RDX___112 = 12,
    REG_RAX___112 = 13,
    REG_RCX___112 = 14,
    REG_RSP___112 = 15,
    REG_RIP___112 = 16,
    REG_EFL___112 = 17,
    REG_CSGSFS___112 = 18,
    REG_ERR___112 = 19,
    REG_TRAPNO___112 = 20,
    REG_OLDMASK___112 = 21,
    REG_CR2___112 = 22
} ;
enum __anonenum_57186863___112 {
    SS_ONSTACK___112 = 1,
    SS_DISABLE___112 = 2
} ;
enum __anonenum_83571709___112 {
    MSG_OOB___112 = 1,
    MSG_PEEK___112 = 2,
    MSG_DONTROUTE___112 = 4,
    MSG_TRYHARD___112 = 4,
    MSG_CTRUNC___112 = 8,
    MSG_PROXY___112 = 16,
    MSG_TRUNC___112 = 32,
    MSG_DONTWAIT___112 = 64,
    MSG_EOR___112 = 128,
    MSG_WAITALL___112 = 256,
    MSG_FIN___112 = 512,
    MSG_SYN___112 = 1024,
    MSG_CONFIRM___112 = 2048,
    MSG_RST___112 = 4096,
    MSG_ERRQUEUE___112 = 8192,
    MSG_NOSIGNAL___112 = 16384,
    MSG_MORE___112 = 32768,
    MSG_WAITFORONE___112 = 65536,
    MSG_BATCH___112 = 262144,
    MSG_ZEROCOPY___112 = 67108864,
    MSG_FASTOPEN___112 = 536870912,
    MSG_CMSG_CLOEXEC___112 = 1073741824
} ;
enum __anonenum_617082774___112 {
    SCM_RIGHTS___112 = 1,
    SCM_CREDENTIALS___112 = 2
} ;
enum __anonenum_606441560___112 {
    SHUT_RD___112 = 0,
    SHUT_WR___112 = 1,
    SHUT_RDWR___112 = 2
} ;
enum __anonenum_681669233___112 {
    IPPROTO_IP___112 = 0,
    IPPROTO_ICMP___112 = 1,
    IPPROTO_IGMP___112 = 2,
    IPPROTO_IPIP___112 = 4,
    IPPROTO_TCP___112 = 6,
    IPPROTO_EGP___112 = 8,
    IPPROTO_PUP___112 = 12,
    IPPROTO_UDP___112 = 17,
    IPPROTO_IDP___112 = 22,
    IPPROTO_TP___112 = 29,
    IPPROTO_DCCP___112 = 33,
    IPPROTO_IPV6___112 = 41,
    IPPROTO_RSVP___112 = 46,
    IPPROTO_GRE___112 = 47,
    IPPROTO_ESP___112 = 50,
    IPPROTO_AH___112 = 51,
    IPPROTO_MTP___112 = 92,
    IPPROTO_BEETPH___112 = 94,
    IPPROTO_ENCAP___112 = 98,
    IPPROTO_PIM___112 = 103,
    IPPROTO_COMP___112 = 108,
    IPPROTO_SCTP___112 = 132,
    IPPROTO_UDPLITE___112 = 136,
    IPPROTO_MPLS___112 = 137,
    IPPROTO_RAW___112 = 255,
    IPPROTO_MAX___112 = 256
} ;
enum __anonenum_218739988___112 {
    IPPROTO_HOPOPTS___112 = 0,
    IPPROTO_ROUTING___112 = 43,
    IPPROTO_FRAGMENT___112 = 44,
    IPPROTO_ICMPV6___112 = 58,
    IPPROTO_NONE___112 = 59,
    IPPROTO_DSTOPTS___112 = 60,
    IPPROTO_MH___112 = 135
} ;
enum __anonenum_662268580___112 {
    IPPORT_ECHO___112 = 7,
    IPPORT_DISCARD___112 = 9,
    IPPORT_SYSTAT___112 = 11,
    IPPORT_DAYTIME___112 = 13,
    IPPORT_NETSTAT___112 = 15,
    IPPORT_FTP___112 = 21,
    IPPORT_TELNET___112 = 23,
    IPPORT_SMTP___112 = 25,
    IPPORT_TIMESERVER___112 = 37,
    IPPORT_NAMESERVER___112 = 42,
    IPPORT_WHOIS___112 = 43,
    IPPORT_MTP___112 = 57,
    IPPORT_TFTP___112 = 69,
    IPPORT_RJE___112 = 77,
    IPPORT_FINGER___112 = 79,
    IPPORT_TTYLINK___112 = 87,
    IPPORT_SUPDUP___112 = 95,
    IPPORT_EXECSERVER___112 = 512,
    IPPORT_LOGINSERVER___112 = 513,
    IPPORT_CMDSERVER___112 = 514,
    IPPORT_EFSSERVER___112 = 520,
    IPPORT_BIFFUDP___112 = 512,
    IPPORT_WHOSERVER___112 = 513,
    IPPORT_ROUTESERVER___112 = 520,
    IPPORT_RESERVED___112 = 1024,
    IPPORT_USERRESERVED___112 = 5000
} ;
enum __anonenum_788308992___112 {
    TCP_ESTABLISHED___112 = 1,
    TCP_SYN_SENT___112 = 2,
    TCP_SYN_RECV___112 = 3,
    TCP_FIN_WAIT1___112 = 4,
    TCP_FIN_WAIT2___112 = 5,
    TCP_TIME_WAIT___112 = 6,
    TCP_CLOSE___112 = 7,
    TCP_CLOSE_WAIT___112 = 8,
    TCP_LAST_ACK___112 = 9,
    TCP_LISTEN___112 = 10,
    TCP_CLOSING___112 = 11
} ;
enum __anonenum_221125648___112 {
    TCP_NO_QUEUE___112 = 0,
    TCP_RECV_QUEUE___112 = 1,
    TCP_SEND_QUEUE___112 = 2,
    TCP_QUEUES_NR___112 = 3
} ;
enum __anonenum_34415463___112 {
    PTHREAD_CREATE_JOINABLE___112 = 0,
    PTHREAD_CREATE_DETACHED___112 = 1
} ;
enum __anonenum_303612439___112 {
    PTHREAD_MUTEX_TIMED_NP___112 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___112 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___112 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___112 = 3,
    PTHREAD_MUTEX_NORMAL___112 = 0,
    PTHREAD_MUTEX_RECURSIVE___112 = 1,
    PTHREAD_MUTEX_ERRORCHECK___112 = 2,
    PTHREAD_MUTEX_DEFAULT___112 = 0,
    PTHREAD_MUTEX_FAST_NP___112 = 0
} ;
enum __anonenum_931900394___112 {
    PTHREAD_MUTEX_STALLED___112 = 0,
    PTHREAD_MUTEX_STALLED_NP___112 = 0,
    PTHREAD_MUTEX_ROBUST___112 = 1,
    PTHREAD_MUTEX_ROBUST_NP___112 = 1
} ;
enum __anonenum_205214487___112 {
    PTHREAD_PRIO_NONE___112 = 0,
    PTHREAD_PRIO_INHERIT___112 = 1,
    PTHREAD_PRIO_PROTECT___112 = 2
} ;
enum __anonenum_25043950___112 {
    PTHREAD_RWLOCK_PREFER_READER_NP___112 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___112 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___112 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___112 = 0
} ;
enum __anonenum_436439511___112 {
    PTHREAD_INHERIT_SCHED___112 = 0,
    PTHREAD_EXPLICIT_SCHED___112 = 1
} ;
enum __anonenum_998661166___112 {
    PTHREAD_SCOPE_SYSTEM___112 = 0,
    PTHREAD_SCOPE_PROCESS___112 = 1
} ;
enum __anonenum_146137331___112 {
    PTHREAD_PROCESS_PRIVATE___112 = 0,
    PTHREAD_PROCESS_SHARED___112 = 1
} ;
enum __anonenum_53396917___112 {
    PTHREAD_CANCEL_ENABLE___112 = 0,
    PTHREAD_CANCEL_DISABLE___112 = 1
} ;
enum __anonenum_904563783___112 {
    PTHREAD_CANCEL_DEFERRED___112 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___112 = 1
} ;
enum __anonenum_672052974___112 {
    SSL_CT_VALIDATION_PERMISSIVE___112 = 0,
    SSL_CT_VALIDATION_STRICT___112 = 1
} ;
enum notes_merge_strategy {
    NOTES_MERGE_RESOLVE_MANUAL = 0,
    NOTES_MERGE_RESOLVE_OURS = 1,
    NOTES_MERGE_RESOLVE_THEIRS = 2,
    NOTES_MERGE_RESOLVE_UNION = 3,
    NOTES_MERGE_RESOLVE_CAT_SORT_UNIQ = 4
} ;
struct notes_rewrite_cfg {
   struct notes_tree **trees ;
   char const   *cmd ;
   int enabled ;
   int (*combine)(struct object_id *cur_oid , struct object_id  const  *new_oid ) ;
   struct string_list *refs ;
   int refs_from_env ;
   int mode_from_env ;
};
enum notes_merge_verbosity {
    NOTES_MERGE_VERBOSITY_DEFAULT = 2,
    NOTES_MERGE_VERBOSITY_MAX = 5
} ;
struct notes_merge_options {
   struct repository *repo ;
   char const   *local_ref ;
   char const   *remote_ref ;
   struct strbuf commit_msg ;
   int verbosity ;
   enum notes_merge_strategy strategy ;
   unsigned int has_worktree : 1 ;
};
struct notes_merge_pair {
   struct object_id obj ;
   struct object_id base ;
   struct object_id local ;
   struct object_id remote ;
};
enum __anonenum_437032235___113 {
    _PC_LINK_MAX___113 = 0,
    _PC_MAX_CANON___113 = 1,
    _PC_MAX_INPUT___113 = 2,
    _PC_NAME_MAX___113 = 3,
    _PC_PATH_MAX___113 = 4,
    _PC_PIPE_BUF___113 = 5,
    _PC_CHOWN_RESTRICTED___113 = 6,
    _PC_NO_TRUNC___113 = 7,
    _PC_VDISABLE___113 = 8,
    _PC_SYNC_IO___113 = 9,
    _PC_ASYNC_IO___113 = 10,
    _PC_PRIO_IO___113 = 11,
    _PC_SOCK_MAXBUF___113 = 12,
    _PC_FILESIZEBITS___113 = 13,
    _PC_REC_INCR_XFER_SIZE___113 = 14,
    _PC_REC_MAX_XFER_SIZE___113 = 15,
    _PC_REC_MIN_XFER_SIZE___113 = 16,
    _PC_REC_XFER_ALIGN___113 = 17,
    _PC_ALLOC_SIZE_MIN___113 = 18,
    _PC_SYMLINK_MAX___113 = 19,
    _PC_2_SYMLINKS___113 = 20
} ;
enum __anonenum_315186338___113 {
    _SC_ARG_MAX___113 = 0,
    _SC_CHILD_MAX___113 = 1,
    _SC_CLK_TCK___113 = 2,
    _SC_NGROUPS_MAX___113 = 3,
    _SC_OPEN_MAX___113 = 4,
    _SC_STREAM_MAX___113 = 5,
    _SC_TZNAME_MAX___113 = 6,
    _SC_JOB_CONTROL___113 = 7,
    _SC_SAVED_IDS___113 = 8,
    _SC_REALTIME_SIGNALS___113 = 9,
    _SC_PRIORITY_SCHEDULING___113 = 10,
    _SC_TIMERS___113 = 11,
    _SC_ASYNCHRONOUS_IO___113 = 12,
    _SC_PRIORITIZED_IO___113 = 13,
    _SC_SYNCHRONIZED_IO___113 = 14,
    _SC_FSYNC___113 = 15,
    _SC_MAPPED_FILES___113 = 16,
    _SC_MEMLOCK___113 = 17,
    _SC_MEMLOCK_RANGE___113 = 18,
    _SC_MEMORY_PROTECTION___113 = 19,
    _SC_MESSAGE_PASSING___113 = 20,
    _SC_SEMAPHORES___113 = 21,
    _SC_SHARED_MEMORY_OBJECTS___113 = 22,
    _SC_AIO_LISTIO_MAX___113 = 23,
    _SC_AIO_MAX___113 = 24,
    _SC_AIO_PRIO_DELTA_MAX___113 = 25,
    _SC_DELAYTIMER_MAX___113 = 26,
    _SC_MQ_OPEN_MAX___113 = 27,
    _SC_MQ_PRIO_MAX___113 = 28,
    _SC_VERSION___113 = 29,
    _SC_PAGESIZE___113 = 30,
    _SC_RTSIG_MAX___113 = 31,
    _SC_SEM_NSEMS_MAX___113 = 32,
    _SC_SEM_VALUE_MAX___113 = 33,
    _SC_SIGQUEUE_MAX___113 = 34,
    _SC_TIMER_MAX___113 = 35,
    _SC_BC_BASE_MAX___113 = 36,
    _SC_BC_DIM_MAX___113 = 37,
    _SC_BC_SCALE_MAX___113 = 38,
    _SC_BC_STRING_MAX___113 = 39,
    _SC_COLL_WEIGHTS_MAX___113 = 40,
    _SC_EQUIV_CLASS_MAX___113 = 41,
    _SC_EXPR_NEST_MAX___113 = 42,
    _SC_LINE_MAX___113 = 43,
    _SC_RE_DUP_MAX___113 = 44,
    _SC_CHARCLASS_NAME_MAX___113 = 45,
    _SC_2_VERSION___113 = 46,
    _SC_2_C_BIND___113 = 47,
    _SC_2_C_DEV___113 = 48,
    _SC_2_FORT_DEV___113 = 49,
    _SC_2_FORT_RUN___113 = 50,
    _SC_2_SW_DEV___113 = 51,
    _SC_2_LOCALEDEF___113 = 52,
    _SC_PII___113 = 53,
    _SC_PII_XTI___113 = 54,
    _SC_PII_SOCKET___113 = 55,
    _SC_PII_INTERNET___113 = 56,
    _SC_PII_OSI___113 = 57,
    _SC_POLL___113 = 58,
    _SC_SELECT___113 = 59,
    _SC_UIO_MAXIOV___113 = 60,
    _SC_IOV_MAX___113 = 60,
    _SC_PII_INTERNET_STREAM___113 = 61,
    _SC_PII_INTERNET_DGRAM___113 = 62,
    _SC_PII_OSI_COTS___113 = 63,
    _SC_PII_OSI_CLTS___113 = 64,
    _SC_PII_OSI_M___113 = 65,
    _SC_T_IOV_MAX___113 = 66,
    _SC_THREADS___113 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___113 = 68,
    _SC_GETGR_R_SIZE_MAX___113 = 69,
    _SC_GETPW_R_SIZE_MAX___113 = 70,
    _SC_LOGIN_NAME_MAX___113 = 71,
    _SC_TTY_NAME_MAX___113 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___113 = 73,
    _SC_THREAD_KEYS_MAX___113 = 74,
    _SC_THREAD_STACK_MIN___113 = 75,
    _SC_THREAD_THREADS_MAX___113 = 76,
    _SC_THREAD_ATTR_STACKADDR___113 = 77,
    _SC_THREAD_ATTR_STACKSIZE___113 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___113 = 79,
    _SC_THREAD_PRIO_INHERIT___113 = 80,
    _SC_THREAD_PRIO_PROTECT___113 = 81,
    _SC_THREAD_PROCESS_SHARED___113 = 82,
    _SC_NPROCESSORS_CONF___113 = 83,
    _SC_NPROCESSORS_ONLN___113 = 84,
    _SC_PHYS_PAGES___113 = 85,
    _SC_AVPHYS_PAGES___113 = 86,
    _SC_ATEXIT_MAX___113 = 87,
    _SC_PASS_MAX___113 = 88,
    _SC_XOPEN_VERSION___113 = 89,
    _SC_XOPEN_XCU_VERSION___113 = 90,
    _SC_XOPEN_UNIX___113 = 91,
    _SC_XOPEN_CRYPT___113 = 92,
    _SC_XOPEN_ENH_I18N___113 = 93,
    _SC_XOPEN_SHM___113 = 94,
    _SC_2_CHAR_TERM___113 = 95,
    _SC_2_C_VERSION___113 = 96,
    _SC_2_UPE___113 = 97,
    _SC_XOPEN_XPG2___113 = 98,
    _SC_XOPEN_XPG3___113 = 99,
    _SC_XOPEN_XPG4___113 = 100,
    _SC_CHAR_BIT___113 = 101,
    _SC_CHAR_MAX___113 = 102,
    _SC_CHAR_MIN___113 = 103,
    _SC_INT_MAX___113 = 104,
    _SC_INT_MIN___113 = 105,
    _SC_LONG_BIT___113 = 106,
    _SC_WORD_BIT___113 = 107,
    _SC_MB_LEN_MAX___113 = 108,
    _SC_NZERO___113 = 109,
    _SC_SSIZE_MAX___113 = 110,
    _SC_SCHAR_MAX___113 = 111,
    _SC_SCHAR_MIN___113 = 112,
    _SC_SHRT_MAX___113 = 113,
    _SC_SHRT_MIN___113 = 114,
    _SC_UCHAR_MAX___113 = 115,
    _SC_UINT_MAX___113 = 116,
    _SC_ULONG_MAX___113 = 117,
    _SC_USHRT_MAX___113 = 118,
    _SC_NL_ARGMAX___113 = 119,
    _SC_NL_LANGMAX___113 = 120,
    _SC_NL_MSGMAX___113 = 121,
    _SC_NL_NMAX___113 = 122,
    _SC_NL_SETMAX___113 = 123,
    _SC_NL_TEXTMAX___113 = 124,
    _SC_XBS5_ILP32_OFF32___113 = 125,
    _SC_XBS5_ILP32_OFFBIG___113 = 126,
    _SC_XBS5_LP64_OFF64___113 = 127,
    _SC_XBS5_LPBIG_OFFBIG___113 = 128,
    _SC_XOPEN_LEGACY___113 = 129,
    _SC_XOPEN_REALTIME___113 = 130,
    _SC_XOPEN_REALTIME_THREADS___113 = 131,
    _SC_ADVISORY_INFO___113 = 132,
    _SC_BARRIERS___113 = 133,
    _SC_BASE___113 = 134,
    _SC_C_LANG_SUPPORT___113 = 135,
    _SC_C_LANG_SUPPORT_R___113 = 136,
    _SC_CLOCK_SELECTION___113 = 137,
    _SC_CPUTIME___113 = 138,
    _SC_THREAD_CPUTIME___113 = 139,
    _SC_DEVICE_IO___113 = 140,
    _SC_DEVICE_SPECIFIC___113 = 141,
    _SC_DEVICE_SPECIFIC_R___113 = 142,
    _SC_FD_MGMT___113 = 143,
    _SC_FIFO___113 = 144,
    _SC_PIPE___113 = 145,
    _SC_FILE_ATTRIBUTES___113 = 146,
    _SC_FILE_LOCKING___113 = 147,
    _SC_FILE_SYSTEM___113 = 148,
    _SC_MONOTONIC_CLOCK___113 = 149,
    _SC_MULTI_PROCESS___113 = 150,
    _SC_SINGLE_PROCESS___113 = 151,
    _SC_NETWORKING___113 = 152,
    _SC_READER_WRITER_LOCKS___113 = 153,
    _SC_SPIN_LOCKS___113 = 154,
    _SC_REGEXP___113 = 155,
    _SC_REGEX_VERSION___113 = 156,
    _SC_SHELL___113 = 157,
    _SC_SIGNALS___113 = 158,
    _SC_SPAWN___113 = 159,
    _SC_SPORADIC_SERVER___113 = 160,
    _SC_THREAD_SPORADIC_SERVER___113 = 161,
    _SC_SYSTEM_DATABASE___113 = 162,
    _SC_SYSTEM_DATABASE_R___113 = 163,
    _SC_TIMEOUTS___113 = 164,
    _SC_TYPED_MEMORY_OBJECTS___113 = 165,
    _SC_USER_GROUPS___113 = 166,
    _SC_USER_GROUPS_R___113 = 167,
    _SC_2_PBS___113 = 168,
    _SC_2_PBS_ACCOUNTING___113 = 169,
    _SC_2_PBS_LOCATE___113 = 170,
    _SC_2_PBS_MESSAGE___113 = 171,
    _SC_2_PBS_TRACK___113 = 172,
    _SC_SYMLOOP_MAX___113 = 173,
    _SC_STREAMS___113 = 174,
    _SC_2_PBS_CHECKPOINT___113 = 175,
    _SC_V6_ILP32_OFF32___113 = 176,
    _SC_V6_ILP32_OFFBIG___113 = 177,
    _SC_V6_LP64_OFF64___113 = 178,
    _SC_V6_LPBIG_OFFBIG___113 = 179,
    _SC_HOST_NAME_MAX___113 = 180,
    _SC_TRACE___113 = 181,
    _SC_TRACE_EVENT_FILTER___113 = 182,
    _SC_TRACE_INHERIT___113 = 183,
    _SC_TRACE_LOG___113 = 184,
    _SC_LEVEL1_ICACHE_SIZE___113 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___113 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___113 = 187,
    _SC_LEVEL1_DCACHE_SIZE___113 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___113 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___113 = 190,
    _SC_LEVEL2_CACHE_SIZE___113 = 191,
    _SC_LEVEL2_CACHE_ASSOC___113 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___113 = 193,
    _SC_LEVEL3_CACHE_SIZE___113 = 194,
    _SC_LEVEL3_CACHE_ASSOC___113 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___113 = 196,
    _SC_LEVEL4_CACHE_SIZE___113 = 197,
    _SC_LEVEL4_CACHE_ASSOC___113 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___113 = 199,
    _SC_IPV6___113 = 235,
    _SC_RAW_SOCKETS___113 = 236,
    _SC_V7_ILP32_OFF32___113 = 237,
    _SC_V7_ILP32_OFFBIG___113 = 238,
    _SC_V7_LP64_OFF64___113 = 239,
    _SC_V7_LPBIG_OFFBIG___113 = 240,
    _SC_SS_REPL_MAX___113 = 241,
    _SC_TRACE_EVENT_NAME_MAX___113 = 242,
    _SC_TRACE_NAME_MAX___113 = 243,
    _SC_TRACE_SYS_MAX___113 = 244,
    _SC_TRACE_USER_EVENT_MAX___113 = 245,
    _SC_XOPEN_STREAMS___113 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___113 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___113 = 248
} ;
enum __anonenum_875524036___113 {
    _CS_PATH___113 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___113 = 1,
    _CS_GNU_LIBC_VERSION___113 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___113 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___113 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___113 = 5,
    _CS_LFS_CFLAGS___113 = 1000,
    _CS_LFS_LDFLAGS___113 = 1001,
    _CS_LFS_LIBS___113 = 1002,
    _CS_LFS_LINTFLAGS___113 = 1003,
    _CS_LFS64_CFLAGS___113 = 1004,
    _CS_LFS64_LDFLAGS___113 = 1005,
    _CS_LFS64_LIBS___113 = 1006,
    _CS_LFS64_LINTFLAGS___113 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___113 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___113 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___113 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___113 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___113 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___113 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___113 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___113 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___113 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___113 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___113 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___113 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___113 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___113 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___113 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___113 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___113 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___113 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___113 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___113 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___113 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___113 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___113 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___113 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___113 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___113 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___113 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___113 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___113 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___113 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___113 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___113 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___113 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___113 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___113 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___113 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___113 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___113 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___113 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___113 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___113 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___113 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___113 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___113 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___113 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___113 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___113 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___113 = 1147,
    _CS_V6_ENV___113 = 1148,
    _CS_V7_ENV___113 = 1149
} ;
enum __anonenum_513775621___113 {
    DT_UNKNOWN___113 = 0,
    DT_FIFO___113 = 1,
    DT_CHR___113 = 2,
    DT_DIR___113 = 4,
    DT_BLK___113 = 6,
    DT_REG___113 = 8,
    DT_LNK___113 = 10,
    DT_SOCK___113 = 12,
    DT_WHT___113 = 14
} ;
enum __anonenum_77002343___113 {
    SI_ASYNCNL___113 = -60,
    SI_TKILL___113 = -6,
    SI_SIGIO___113 = -5,
    SI_ASYNCIO___113 = -4,
    SI_MESGQ___113 = -3,
    SI_TIMER___113 = -2,
    SI_QUEUE___113 = -1,
    SI_USER___113 = 0,
    SI_KERNEL___113 = 128
} ;
enum __anonenum_131038172___113 {
    ILL_ILLOPC___113 = 1,
    ILL_ILLOPN___113 = 2,
    ILL_ILLADR___113 = 3,
    ILL_ILLTRP___113 = 4,
    ILL_PRVOPC___113 = 5,
    ILL_PRVREG___113 = 6,
    ILL_COPROC___113 = 7,
    ILL_BADSTK___113 = 8
} ;
enum __anonenum_452038093___113 {
    FPE_INTDIV___113 = 1,
    FPE_INTOVF___113 = 2,
    FPE_FLTDIV___113 = 3,
    FPE_FLTOVF___113 = 4,
    FPE_FLTUND___113 = 5,
    FPE_FLTRES___113 = 6,
    FPE_FLTINV___113 = 7,
    FPE_FLTSUB___113 = 8
} ;
enum __anonenum_30976155___113 {
    SEGV_MAPERR___113 = 1,
    SEGV_ACCERR___113 = 2,
    SEGV_BNDERR___113 = 3,
    SEGV_PKUERR___113 = 4
} ;
enum __anonenum_1036286214___113 {
    BUS_ADRALN___113 = 1,
    BUS_ADRERR___113 = 2,
    BUS_OBJERR___113 = 3,
    BUS_MCEERR_AR___113 = 4,
    BUS_MCEERR_AO___113 = 5
} ;
enum __anonenum_493465559___113 {
    TRAP_BRKPT___113 = 1,
    TRAP_TRACE___113 = 2
} ;
enum __anonenum_23175539___113 {
    CLD_EXITED___113 = 1,
    CLD_KILLED___113 = 2,
    CLD_DUMPED___113 = 3,
    CLD_TRAPPED___113 = 4,
    CLD_STOPPED___113 = 5,
    CLD_CONTINUED___113 = 6
} ;
enum __anonenum_111643124___113 {
    POLL_IN___113 = 1,
    POLL_OUT___113 = 2,
    POLL_MSG___113 = 3,
    POLL_ERR___113 = 4,
    POLL_PRI___113 = 5,
    POLL_HUP___113 = 6
} ;
enum __anonenum_852341087___113 {
    SIGEV_SIGNAL___113 = 0,
    SIGEV_NONE___113 = 1,
    SIGEV_THREAD___113 = 2,
    SIGEV_THREAD_ID___113 = 4
} ;
enum __anonenum_451154152___113 {
    REG_R8___113 = 0,
    REG_R9___113 = 1,
    REG_R10___113 = 2,
    REG_R11___113 = 3,
    REG_R12___113 = 4,
    REG_R13___113 = 5,
    REG_R14___113 = 6,
    REG_R15___113 = 7,
    REG_RDI___113 = 8,
    REG_RSI___113 = 9,
    REG_RBP___113 = 10,
    REG_RBX___113 = 11,
    REG_RDX___113 = 12,
    REG_RAX___113 = 13,
    REG_RCX___113 = 14,
    REG_RSP___113 = 15,
    REG_RIP___113 = 16,
    REG_EFL___113 = 17,
    REG_CSGSFS___113 = 18,
    REG_ERR___113 = 19,
    REG_TRAPNO___113 = 20,
    REG_OLDMASK___113 = 21,
    REG_CR2___113 = 22
} ;
enum __anonenum_57186863___113 {
    SS_ONSTACK___113 = 1,
    SS_DISABLE___113 = 2
} ;
enum __anonenum_83571709___113 {
    MSG_OOB___113 = 1,
    MSG_PEEK___113 = 2,
    MSG_DONTROUTE___113 = 4,
    MSG_TRYHARD___113 = 4,
    MSG_CTRUNC___113 = 8,
    MSG_PROXY___113 = 16,
    MSG_TRUNC___113 = 32,
    MSG_DONTWAIT___113 = 64,
    MSG_EOR___113 = 128,
    MSG_WAITALL___113 = 256,
    MSG_FIN___113 = 512,
    MSG_SYN___113 = 1024,
    MSG_CONFIRM___113 = 2048,
    MSG_RST___113 = 4096,
    MSG_ERRQUEUE___113 = 8192,
    MSG_NOSIGNAL___113 = 16384,
    MSG_MORE___113 = 32768,
    MSG_WAITFORONE___113 = 65536,
    MSG_BATCH___113 = 262144,
    MSG_ZEROCOPY___113 = 67108864,
    MSG_FASTOPEN___113 = 536870912,
    MSG_CMSG_CLOEXEC___113 = 1073741824
} ;
enum __anonenum_617082774___113 {
    SCM_RIGHTS___113 = 1,
    SCM_CREDENTIALS___113 = 2
} ;
enum __anonenum_606441560___113 {
    SHUT_RD___113 = 0,
    SHUT_WR___113 = 1,
    SHUT_RDWR___113 = 2
} ;
enum __anonenum_681669233___113 {
    IPPROTO_IP___113 = 0,
    IPPROTO_ICMP___113 = 1,
    IPPROTO_IGMP___113 = 2,
    IPPROTO_IPIP___113 = 4,
    IPPROTO_TCP___113 = 6,
    IPPROTO_EGP___113 = 8,
    IPPROTO_PUP___113 = 12,
    IPPROTO_UDP___113 = 17,
    IPPROTO_IDP___113 = 22,
    IPPROTO_TP___113 = 29,
    IPPROTO_DCCP___113 = 33,
    IPPROTO_IPV6___113 = 41,
    IPPROTO_RSVP___113 = 46,
    IPPROTO_GRE___113 = 47,
    IPPROTO_ESP___113 = 50,
    IPPROTO_AH___113 = 51,
    IPPROTO_MTP___113 = 92,
    IPPROTO_BEETPH___113 = 94,
    IPPROTO_ENCAP___113 = 98,
    IPPROTO_PIM___113 = 103,
    IPPROTO_COMP___113 = 108,
    IPPROTO_SCTP___113 = 132,
    IPPROTO_UDPLITE___113 = 136,
    IPPROTO_MPLS___113 = 137,
    IPPROTO_RAW___113 = 255,
    IPPROTO_MAX___113 = 256
} ;
enum __anonenum_218739988___113 {
    IPPROTO_HOPOPTS___113 = 0,
    IPPROTO_ROUTING___113 = 43,
    IPPROTO_FRAGMENT___113 = 44,
    IPPROTO_ICMPV6___113 = 58,
    IPPROTO_NONE___113 = 59,
    IPPROTO_DSTOPTS___113 = 60,
    IPPROTO_MH___113 = 135
} ;
enum __anonenum_662268580___113 {
    IPPORT_ECHO___113 = 7,
    IPPORT_DISCARD___113 = 9,
    IPPORT_SYSTAT___113 = 11,
    IPPORT_DAYTIME___113 = 13,
    IPPORT_NETSTAT___113 = 15,
    IPPORT_FTP___113 = 21,
    IPPORT_TELNET___113 = 23,
    IPPORT_SMTP___113 = 25,
    IPPORT_TIMESERVER___113 = 37,
    IPPORT_NAMESERVER___113 = 42,
    IPPORT_WHOIS___113 = 43,
    IPPORT_MTP___113 = 57,
    IPPORT_TFTP___113 = 69,
    IPPORT_RJE___113 = 77,
    IPPORT_FINGER___113 = 79,
    IPPORT_TTYLINK___113 = 87,
    IPPORT_SUPDUP___113 = 95,
    IPPORT_EXECSERVER___113 = 512,
    IPPORT_LOGINSERVER___113 = 513,
    IPPORT_CMDSERVER___113 = 514,
    IPPORT_EFSSERVER___113 = 520,
    IPPORT_BIFFUDP___113 = 512,
    IPPORT_WHOSERVER___113 = 513,
    IPPORT_ROUTESERVER___113 = 520,
    IPPORT_RESERVED___113 = 1024,
    IPPORT_USERRESERVED___113 = 5000
} ;
enum __anonenum_788308992___113 {
    TCP_ESTABLISHED___113 = 1,
    TCP_SYN_SENT___113 = 2,
    TCP_SYN_RECV___113 = 3,
    TCP_FIN_WAIT1___113 = 4,
    TCP_FIN_WAIT2___113 = 5,
    TCP_TIME_WAIT___113 = 6,
    TCP_CLOSE___113 = 7,
    TCP_CLOSE_WAIT___113 = 8,
    TCP_LAST_ACK___113 = 9,
    TCP_LISTEN___113 = 10,
    TCP_CLOSING___113 = 11
} ;
enum __anonenum_221125648___113 {
    TCP_NO_QUEUE___113 = 0,
    TCP_RECV_QUEUE___113 = 1,
    TCP_SEND_QUEUE___113 = 2,
    TCP_QUEUES_NR___113 = 3
} ;
enum __anonenum_34415463___113 {
    PTHREAD_CREATE_JOINABLE___113 = 0,
    PTHREAD_CREATE_DETACHED___113 = 1
} ;
enum __anonenum_303612439___113 {
    PTHREAD_MUTEX_TIMED_NP___113 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___113 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___113 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___113 = 3,
    PTHREAD_MUTEX_NORMAL___113 = 0,
    PTHREAD_MUTEX_RECURSIVE___113 = 1,
    PTHREAD_MUTEX_ERRORCHECK___113 = 2,
    PTHREAD_MUTEX_DEFAULT___113 = 0,
    PTHREAD_MUTEX_FAST_NP___113 = 0
} ;
enum __anonenum_931900394___113 {
    PTHREAD_MUTEX_STALLED___113 = 0,
    PTHREAD_MUTEX_STALLED_NP___113 = 0,
    PTHREAD_MUTEX_ROBUST___113 = 1,
    PTHREAD_MUTEX_ROBUST_NP___113 = 1
} ;
enum __anonenum_205214487___113 {
    PTHREAD_PRIO_NONE___113 = 0,
    PTHREAD_PRIO_INHERIT___113 = 1,
    PTHREAD_PRIO_PROTECT___113 = 2
} ;
enum __anonenum_25043950___113 {
    PTHREAD_RWLOCK_PREFER_READER_NP___113 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___113 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___113 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___113 = 0
} ;
enum __anonenum_436439511___113 {
    PTHREAD_INHERIT_SCHED___113 = 0,
    PTHREAD_EXPLICIT_SCHED___113 = 1
} ;
enum __anonenum_998661166___113 {
    PTHREAD_SCOPE_SYSTEM___113 = 0,
    PTHREAD_SCOPE_PROCESS___113 = 1
} ;
enum __anonenum_146137331___113 {
    PTHREAD_PROCESS_PRIVATE___113 = 0,
    PTHREAD_PROCESS_SHARED___113 = 1
} ;
enum __anonenum_53396917___113 {
    PTHREAD_CANCEL_ENABLE___113 = 0,
    PTHREAD_CANCEL_DISABLE___113 = 1
} ;
enum __anonenum_904563783___113 {
    PTHREAD_CANCEL_DEFERRED___113 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___113 = 1
} ;
enum __anonenum_672052974___113 {
    SSL_CT_VALIDATION_PERMISSIVE___113 = 0,
    SSL_CT_VALIDATION_STRICT___113 = 1
} ;
enum __anonenum_437032235___114 {
    _PC_LINK_MAX___114 = 0,
    _PC_MAX_CANON___114 = 1,
    _PC_MAX_INPUT___114 = 2,
    _PC_NAME_MAX___114 = 3,
    _PC_PATH_MAX___114 = 4,
    _PC_PIPE_BUF___114 = 5,
    _PC_CHOWN_RESTRICTED___114 = 6,
    _PC_NO_TRUNC___114 = 7,
    _PC_VDISABLE___114 = 8,
    _PC_SYNC_IO___114 = 9,
    _PC_ASYNC_IO___114 = 10,
    _PC_PRIO_IO___114 = 11,
    _PC_SOCK_MAXBUF___114 = 12,
    _PC_FILESIZEBITS___114 = 13,
    _PC_REC_INCR_XFER_SIZE___114 = 14,
    _PC_REC_MAX_XFER_SIZE___114 = 15,
    _PC_REC_MIN_XFER_SIZE___114 = 16,
    _PC_REC_XFER_ALIGN___114 = 17,
    _PC_ALLOC_SIZE_MIN___114 = 18,
    _PC_SYMLINK_MAX___114 = 19,
    _PC_2_SYMLINKS___114 = 20
} ;
enum __anonenum_315186338___114 {
    _SC_ARG_MAX___114 = 0,
    _SC_CHILD_MAX___114 = 1,
    _SC_CLK_TCK___114 = 2,
    _SC_NGROUPS_MAX___114 = 3,
    _SC_OPEN_MAX___114 = 4,
    _SC_STREAM_MAX___114 = 5,
    _SC_TZNAME_MAX___114 = 6,
    _SC_JOB_CONTROL___114 = 7,
    _SC_SAVED_IDS___114 = 8,
    _SC_REALTIME_SIGNALS___114 = 9,
    _SC_PRIORITY_SCHEDULING___114 = 10,
    _SC_TIMERS___114 = 11,
    _SC_ASYNCHRONOUS_IO___114 = 12,
    _SC_PRIORITIZED_IO___114 = 13,
    _SC_SYNCHRONIZED_IO___114 = 14,
    _SC_FSYNC___114 = 15,
    _SC_MAPPED_FILES___114 = 16,
    _SC_MEMLOCK___114 = 17,
    _SC_MEMLOCK_RANGE___114 = 18,
    _SC_MEMORY_PROTECTION___114 = 19,
    _SC_MESSAGE_PASSING___114 = 20,
    _SC_SEMAPHORES___114 = 21,
    _SC_SHARED_MEMORY_OBJECTS___114 = 22,
    _SC_AIO_LISTIO_MAX___114 = 23,
    _SC_AIO_MAX___114 = 24,
    _SC_AIO_PRIO_DELTA_MAX___114 = 25,
    _SC_DELAYTIMER_MAX___114 = 26,
    _SC_MQ_OPEN_MAX___114 = 27,
    _SC_MQ_PRIO_MAX___114 = 28,
    _SC_VERSION___114 = 29,
    _SC_PAGESIZE___114 = 30,
    _SC_RTSIG_MAX___114 = 31,
    _SC_SEM_NSEMS_MAX___114 = 32,
    _SC_SEM_VALUE_MAX___114 = 33,
    _SC_SIGQUEUE_MAX___114 = 34,
    _SC_TIMER_MAX___114 = 35,
    _SC_BC_BASE_MAX___114 = 36,
    _SC_BC_DIM_MAX___114 = 37,
    _SC_BC_SCALE_MAX___114 = 38,
    _SC_BC_STRING_MAX___114 = 39,
    _SC_COLL_WEIGHTS_MAX___114 = 40,
    _SC_EQUIV_CLASS_MAX___114 = 41,
    _SC_EXPR_NEST_MAX___114 = 42,
    _SC_LINE_MAX___114 = 43,
    _SC_RE_DUP_MAX___114 = 44,
    _SC_CHARCLASS_NAME_MAX___114 = 45,
    _SC_2_VERSION___114 = 46,
    _SC_2_C_BIND___114 = 47,
    _SC_2_C_DEV___114 = 48,
    _SC_2_FORT_DEV___114 = 49,
    _SC_2_FORT_RUN___114 = 50,
    _SC_2_SW_DEV___114 = 51,
    _SC_2_LOCALEDEF___114 = 52,
    _SC_PII___114 = 53,
    _SC_PII_XTI___114 = 54,
    _SC_PII_SOCKET___114 = 55,
    _SC_PII_INTERNET___114 = 56,
    _SC_PII_OSI___114 = 57,
    _SC_POLL___114 = 58,
    _SC_SELECT___114 = 59,
    _SC_UIO_MAXIOV___114 = 60,
    _SC_IOV_MAX___114 = 60,
    _SC_PII_INTERNET_STREAM___114 = 61,
    _SC_PII_INTERNET_DGRAM___114 = 62,
    _SC_PII_OSI_COTS___114 = 63,
    _SC_PII_OSI_CLTS___114 = 64,
    _SC_PII_OSI_M___114 = 65,
    _SC_T_IOV_MAX___114 = 66,
    _SC_THREADS___114 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___114 = 68,
    _SC_GETGR_R_SIZE_MAX___114 = 69,
    _SC_GETPW_R_SIZE_MAX___114 = 70,
    _SC_LOGIN_NAME_MAX___114 = 71,
    _SC_TTY_NAME_MAX___114 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___114 = 73,
    _SC_THREAD_KEYS_MAX___114 = 74,
    _SC_THREAD_STACK_MIN___114 = 75,
    _SC_THREAD_THREADS_MAX___114 = 76,
    _SC_THREAD_ATTR_STACKADDR___114 = 77,
    _SC_THREAD_ATTR_STACKSIZE___114 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___114 = 79,
    _SC_THREAD_PRIO_INHERIT___114 = 80,
    _SC_THREAD_PRIO_PROTECT___114 = 81,
    _SC_THREAD_PROCESS_SHARED___114 = 82,
    _SC_NPROCESSORS_CONF___114 = 83,
    _SC_NPROCESSORS_ONLN___114 = 84,
    _SC_PHYS_PAGES___114 = 85,
    _SC_AVPHYS_PAGES___114 = 86,
    _SC_ATEXIT_MAX___114 = 87,
    _SC_PASS_MAX___114 = 88,
    _SC_XOPEN_VERSION___114 = 89,
    _SC_XOPEN_XCU_VERSION___114 = 90,
    _SC_XOPEN_UNIX___114 = 91,
    _SC_XOPEN_CRYPT___114 = 92,
    _SC_XOPEN_ENH_I18N___114 = 93,
    _SC_XOPEN_SHM___114 = 94,
    _SC_2_CHAR_TERM___114 = 95,
    _SC_2_C_VERSION___114 = 96,
    _SC_2_UPE___114 = 97,
    _SC_XOPEN_XPG2___114 = 98,
    _SC_XOPEN_XPG3___114 = 99,
    _SC_XOPEN_XPG4___114 = 100,
    _SC_CHAR_BIT___114 = 101,
    _SC_CHAR_MAX___114 = 102,
    _SC_CHAR_MIN___114 = 103,
    _SC_INT_MAX___114 = 104,
    _SC_INT_MIN___114 = 105,
    _SC_LONG_BIT___114 = 106,
    _SC_WORD_BIT___114 = 107,
    _SC_MB_LEN_MAX___114 = 108,
    _SC_NZERO___114 = 109,
    _SC_SSIZE_MAX___114 = 110,
    _SC_SCHAR_MAX___114 = 111,
    _SC_SCHAR_MIN___114 = 112,
    _SC_SHRT_MAX___114 = 113,
    _SC_SHRT_MIN___114 = 114,
    _SC_UCHAR_MAX___114 = 115,
    _SC_UINT_MAX___114 = 116,
    _SC_ULONG_MAX___114 = 117,
    _SC_USHRT_MAX___114 = 118,
    _SC_NL_ARGMAX___114 = 119,
    _SC_NL_LANGMAX___114 = 120,
    _SC_NL_MSGMAX___114 = 121,
    _SC_NL_NMAX___114 = 122,
    _SC_NL_SETMAX___114 = 123,
    _SC_NL_TEXTMAX___114 = 124,
    _SC_XBS5_ILP32_OFF32___114 = 125,
    _SC_XBS5_ILP32_OFFBIG___114 = 126,
    _SC_XBS5_LP64_OFF64___114 = 127,
    _SC_XBS5_LPBIG_OFFBIG___114 = 128,
    _SC_XOPEN_LEGACY___114 = 129,
    _SC_XOPEN_REALTIME___114 = 130,
    _SC_XOPEN_REALTIME_THREADS___114 = 131,
    _SC_ADVISORY_INFO___114 = 132,
    _SC_BARRIERS___114 = 133,
    _SC_BASE___114 = 134,
    _SC_C_LANG_SUPPORT___114 = 135,
    _SC_C_LANG_SUPPORT_R___114 = 136,
    _SC_CLOCK_SELECTION___114 = 137,
    _SC_CPUTIME___114 = 138,
    _SC_THREAD_CPUTIME___114 = 139,
    _SC_DEVICE_IO___114 = 140,
    _SC_DEVICE_SPECIFIC___114 = 141,
    _SC_DEVICE_SPECIFIC_R___114 = 142,
    _SC_FD_MGMT___114 = 143,
    _SC_FIFO___114 = 144,
    _SC_PIPE___114 = 145,
    _SC_FILE_ATTRIBUTES___114 = 146,
    _SC_FILE_LOCKING___114 = 147,
    _SC_FILE_SYSTEM___114 = 148,
    _SC_MONOTONIC_CLOCK___114 = 149,
    _SC_MULTI_PROCESS___114 = 150,
    _SC_SINGLE_PROCESS___114 = 151,
    _SC_NETWORKING___114 = 152,
    _SC_READER_WRITER_LOCKS___114 = 153,
    _SC_SPIN_LOCKS___114 = 154,
    _SC_REGEXP___114 = 155,
    _SC_REGEX_VERSION___114 = 156,
    _SC_SHELL___114 = 157,
    _SC_SIGNALS___114 = 158,
    _SC_SPAWN___114 = 159,
    _SC_SPORADIC_SERVER___114 = 160,
    _SC_THREAD_SPORADIC_SERVER___114 = 161,
    _SC_SYSTEM_DATABASE___114 = 162,
    _SC_SYSTEM_DATABASE_R___114 = 163,
    _SC_TIMEOUTS___114 = 164,
    _SC_TYPED_MEMORY_OBJECTS___114 = 165,
    _SC_USER_GROUPS___114 = 166,
    _SC_USER_GROUPS_R___114 = 167,
    _SC_2_PBS___114 = 168,
    _SC_2_PBS_ACCOUNTING___114 = 169,
    _SC_2_PBS_LOCATE___114 = 170,
    _SC_2_PBS_MESSAGE___114 = 171,
    _SC_2_PBS_TRACK___114 = 172,
    _SC_SYMLOOP_MAX___114 = 173,
    _SC_STREAMS___114 = 174,
    _SC_2_PBS_CHECKPOINT___114 = 175,
    _SC_V6_ILP32_OFF32___114 = 176,
    _SC_V6_ILP32_OFFBIG___114 = 177,
    _SC_V6_LP64_OFF64___114 = 178,
    _SC_V6_LPBIG_OFFBIG___114 = 179,
    _SC_HOST_NAME_MAX___114 = 180,
    _SC_TRACE___114 = 181,
    _SC_TRACE_EVENT_FILTER___114 = 182,
    _SC_TRACE_INHERIT___114 = 183,
    _SC_TRACE_LOG___114 = 184,
    _SC_LEVEL1_ICACHE_SIZE___114 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___114 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___114 = 187,
    _SC_LEVEL1_DCACHE_SIZE___114 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___114 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___114 = 190,
    _SC_LEVEL2_CACHE_SIZE___114 = 191,
    _SC_LEVEL2_CACHE_ASSOC___114 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___114 = 193,
    _SC_LEVEL3_CACHE_SIZE___114 = 194,
    _SC_LEVEL3_CACHE_ASSOC___114 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___114 = 196,
    _SC_LEVEL4_CACHE_SIZE___114 = 197,
    _SC_LEVEL4_CACHE_ASSOC___114 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___114 = 199,
    _SC_IPV6___114 = 235,
    _SC_RAW_SOCKETS___114 = 236,
    _SC_V7_ILP32_OFF32___114 = 237,
    _SC_V7_ILP32_OFFBIG___114 = 238,
    _SC_V7_LP64_OFF64___114 = 239,
    _SC_V7_LPBIG_OFFBIG___114 = 240,
    _SC_SS_REPL_MAX___114 = 241,
    _SC_TRACE_EVENT_NAME_MAX___114 = 242,
    _SC_TRACE_NAME_MAX___114 = 243,
    _SC_TRACE_SYS_MAX___114 = 244,
    _SC_TRACE_USER_EVENT_MAX___114 = 245,
    _SC_XOPEN_STREAMS___114 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___114 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___114 = 248
} ;
enum __anonenum_875524036___114 {
    _CS_PATH___114 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___114 = 1,
    _CS_GNU_LIBC_VERSION___114 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___114 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___114 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___114 = 5,
    _CS_LFS_CFLAGS___114 = 1000,
    _CS_LFS_LDFLAGS___114 = 1001,
    _CS_LFS_LIBS___114 = 1002,
    _CS_LFS_LINTFLAGS___114 = 1003,
    _CS_LFS64_CFLAGS___114 = 1004,
    _CS_LFS64_LDFLAGS___114 = 1005,
    _CS_LFS64_LIBS___114 = 1006,
    _CS_LFS64_LINTFLAGS___114 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___114 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___114 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___114 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___114 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___114 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___114 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___114 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___114 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___114 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___114 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___114 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___114 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___114 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___114 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___114 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___114 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___114 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___114 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___114 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___114 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___114 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___114 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___114 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___114 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___114 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___114 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___114 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___114 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___114 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___114 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___114 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___114 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___114 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___114 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___114 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___114 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___114 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___114 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___114 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___114 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___114 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___114 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___114 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___114 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___114 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___114 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___114 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___114 = 1147,
    _CS_V6_ENV___114 = 1148,
    _CS_V7_ENV___114 = 1149
} ;
enum __anonenum_513775621___114 {
    DT_UNKNOWN___114 = 0,
    DT_FIFO___114 = 1,
    DT_CHR___114 = 2,
    DT_DIR___114 = 4,
    DT_BLK___114 = 6,
    DT_REG___114 = 8,
    DT_LNK___114 = 10,
    DT_SOCK___114 = 12,
    DT_WHT___114 = 14
} ;
enum __anonenum_77002343___114 {
    SI_ASYNCNL___114 = -60,
    SI_TKILL___114 = -6,
    SI_SIGIO___114 = -5,
    SI_ASYNCIO___114 = -4,
    SI_MESGQ___114 = -3,
    SI_TIMER___114 = -2,
    SI_QUEUE___114 = -1,
    SI_USER___114 = 0,
    SI_KERNEL___114 = 128
} ;
enum __anonenum_131038172___114 {
    ILL_ILLOPC___114 = 1,
    ILL_ILLOPN___114 = 2,
    ILL_ILLADR___114 = 3,
    ILL_ILLTRP___114 = 4,
    ILL_PRVOPC___114 = 5,
    ILL_PRVREG___114 = 6,
    ILL_COPROC___114 = 7,
    ILL_BADSTK___114 = 8
} ;
enum __anonenum_452038093___114 {
    FPE_INTDIV___114 = 1,
    FPE_INTOVF___114 = 2,
    FPE_FLTDIV___114 = 3,
    FPE_FLTOVF___114 = 4,
    FPE_FLTUND___114 = 5,
    FPE_FLTRES___114 = 6,
    FPE_FLTINV___114 = 7,
    FPE_FLTSUB___114 = 8
} ;
enum __anonenum_30976155___114 {
    SEGV_MAPERR___114 = 1,
    SEGV_ACCERR___114 = 2,
    SEGV_BNDERR___114 = 3,
    SEGV_PKUERR___114 = 4
} ;
enum __anonenum_1036286214___114 {
    BUS_ADRALN___114 = 1,
    BUS_ADRERR___114 = 2,
    BUS_OBJERR___114 = 3,
    BUS_MCEERR_AR___114 = 4,
    BUS_MCEERR_AO___114 = 5
} ;
enum __anonenum_493465559___114 {
    TRAP_BRKPT___114 = 1,
    TRAP_TRACE___114 = 2
} ;
enum __anonenum_23175539___114 {
    CLD_EXITED___114 = 1,
    CLD_KILLED___114 = 2,
    CLD_DUMPED___114 = 3,
    CLD_TRAPPED___114 = 4,
    CLD_STOPPED___114 = 5,
    CLD_CONTINUED___114 = 6
} ;
enum __anonenum_111643124___114 {
    POLL_IN___114 = 1,
    POLL_OUT___114 = 2,
    POLL_MSG___114 = 3,
    POLL_ERR___114 = 4,
    POLL_PRI___114 = 5,
    POLL_HUP___114 = 6
} ;
enum __anonenum_852341087___114 {
    SIGEV_SIGNAL___114 = 0,
    SIGEV_NONE___114 = 1,
    SIGEV_THREAD___114 = 2,
    SIGEV_THREAD_ID___114 = 4
} ;
enum __anonenum_451154152___114 {
    REG_R8___114 = 0,
    REG_R9___114 = 1,
    REG_R10___114 = 2,
    REG_R11___114 = 3,
    REG_R12___114 = 4,
    REG_R13___114 = 5,
    REG_R14___114 = 6,
    REG_R15___114 = 7,
    REG_RDI___114 = 8,
    REG_RSI___114 = 9,
    REG_RBP___114 = 10,
    REG_RBX___114 = 11,
    REG_RDX___114 = 12,
    REG_RAX___114 = 13,
    REG_RCX___114 = 14,
    REG_RSP___114 = 15,
    REG_RIP___114 = 16,
    REG_EFL___114 = 17,
    REG_CSGSFS___114 = 18,
    REG_ERR___114 = 19,
    REG_TRAPNO___114 = 20,
    REG_OLDMASK___114 = 21,
    REG_CR2___114 = 22
} ;
enum __anonenum_57186863___114 {
    SS_ONSTACK___114 = 1,
    SS_DISABLE___114 = 2
} ;
enum __anonenum_83571709___114 {
    MSG_OOB___114 = 1,
    MSG_PEEK___114 = 2,
    MSG_DONTROUTE___114 = 4,
    MSG_TRYHARD___114 = 4,
    MSG_CTRUNC___114 = 8,
    MSG_PROXY___114 = 16,
    MSG_TRUNC___114 = 32,
    MSG_DONTWAIT___114 = 64,
    MSG_EOR___114 = 128,
    MSG_WAITALL___114 = 256,
    MSG_FIN___114 = 512,
    MSG_SYN___114 = 1024,
    MSG_CONFIRM___114 = 2048,
    MSG_RST___114 = 4096,
    MSG_ERRQUEUE___114 = 8192,
    MSG_NOSIGNAL___114 = 16384,
    MSG_MORE___114 = 32768,
    MSG_WAITFORONE___114 = 65536,
    MSG_BATCH___114 = 262144,
    MSG_ZEROCOPY___114 = 67108864,
    MSG_FASTOPEN___114 = 536870912,
    MSG_CMSG_CLOEXEC___114 = 1073741824
} ;
enum __anonenum_617082774___114 {
    SCM_RIGHTS___114 = 1,
    SCM_CREDENTIALS___114 = 2
} ;
enum __anonenum_606441560___114 {
    SHUT_RD___114 = 0,
    SHUT_WR___114 = 1,
    SHUT_RDWR___114 = 2
} ;
enum __anonenum_681669233___114 {
    IPPROTO_IP___114 = 0,
    IPPROTO_ICMP___114 = 1,
    IPPROTO_IGMP___114 = 2,
    IPPROTO_IPIP___114 = 4,
    IPPROTO_TCP___114 = 6,
    IPPROTO_EGP___114 = 8,
    IPPROTO_PUP___114 = 12,
    IPPROTO_UDP___114 = 17,
    IPPROTO_IDP___114 = 22,
    IPPROTO_TP___114 = 29,
    IPPROTO_DCCP___114 = 33,
    IPPROTO_IPV6___114 = 41,
    IPPROTO_RSVP___114 = 46,
    IPPROTO_GRE___114 = 47,
    IPPROTO_ESP___114 = 50,
    IPPROTO_AH___114 = 51,
    IPPROTO_MTP___114 = 92,
    IPPROTO_BEETPH___114 = 94,
    IPPROTO_ENCAP___114 = 98,
    IPPROTO_PIM___114 = 103,
    IPPROTO_COMP___114 = 108,
    IPPROTO_SCTP___114 = 132,
    IPPROTO_UDPLITE___114 = 136,
    IPPROTO_MPLS___114 = 137,
    IPPROTO_RAW___114 = 255,
    IPPROTO_MAX___114 = 256
} ;
enum __anonenum_218739988___114 {
    IPPROTO_HOPOPTS___114 = 0,
    IPPROTO_ROUTING___114 = 43,
    IPPROTO_FRAGMENT___114 = 44,
    IPPROTO_ICMPV6___114 = 58,
    IPPROTO_NONE___114 = 59,
    IPPROTO_DSTOPTS___114 = 60,
    IPPROTO_MH___114 = 135
} ;
enum __anonenum_662268580___114 {
    IPPORT_ECHO___114 = 7,
    IPPORT_DISCARD___114 = 9,
    IPPORT_SYSTAT___114 = 11,
    IPPORT_DAYTIME___114 = 13,
    IPPORT_NETSTAT___114 = 15,
    IPPORT_FTP___114 = 21,
    IPPORT_TELNET___114 = 23,
    IPPORT_SMTP___114 = 25,
    IPPORT_TIMESERVER___114 = 37,
    IPPORT_NAMESERVER___114 = 42,
    IPPORT_WHOIS___114 = 43,
    IPPORT_MTP___114 = 57,
    IPPORT_TFTP___114 = 69,
    IPPORT_RJE___114 = 77,
    IPPORT_FINGER___114 = 79,
    IPPORT_TTYLINK___114 = 87,
    IPPORT_SUPDUP___114 = 95,
    IPPORT_EXECSERVER___114 = 512,
    IPPORT_LOGINSERVER___114 = 513,
    IPPORT_CMDSERVER___114 = 514,
    IPPORT_EFSSERVER___114 = 520,
    IPPORT_BIFFUDP___114 = 512,
    IPPORT_WHOSERVER___114 = 513,
    IPPORT_ROUTESERVER___114 = 520,
    IPPORT_RESERVED___114 = 1024,
    IPPORT_USERRESERVED___114 = 5000
} ;
enum __anonenum_788308992___114 {
    TCP_ESTABLISHED___114 = 1,
    TCP_SYN_SENT___114 = 2,
    TCP_SYN_RECV___114 = 3,
    TCP_FIN_WAIT1___114 = 4,
    TCP_FIN_WAIT2___114 = 5,
    TCP_TIME_WAIT___114 = 6,
    TCP_CLOSE___114 = 7,
    TCP_CLOSE_WAIT___114 = 8,
    TCP_LAST_ACK___114 = 9,
    TCP_LISTEN___114 = 10,
    TCP_CLOSING___114 = 11
} ;
enum __anonenum_221125648___114 {
    TCP_NO_QUEUE___114 = 0,
    TCP_RECV_QUEUE___114 = 1,
    TCP_SEND_QUEUE___114 = 2,
    TCP_QUEUES_NR___114 = 3
} ;
enum __anonenum_34415463___114 {
    PTHREAD_CREATE_JOINABLE___114 = 0,
    PTHREAD_CREATE_DETACHED___114 = 1
} ;
enum __anonenum_303612439___114 {
    PTHREAD_MUTEX_TIMED_NP___114 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___114 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___114 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___114 = 3,
    PTHREAD_MUTEX_NORMAL___114 = 0,
    PTHREAD_MUTEX_RECURSIVE___114 = 1,
    PTHREAD_MUTEX_ERRORCHECK___114 = 2,
    PTHREAD_MUTEX_DEFAULT___114 = 0,
    PTHREAD_MUTEX_FAST_NP___114 = 0
} ;
enum __anonenum_931900394___114 {
    PTHREAD_MUTEX_STALLED___114 = 0,
    PTHREAD_MUTEX_STALLED_NP___114 = 0,
    PTHREAD_MUTEX_ROBUST___114 = 1,
    PTHREAD_MUTEX_ROBUST_NP___114 = 1
} ;
enum __anonenum_205214487___114 {
    PTHREAD_PRIO_NONE___114 = 0,
    PTHREAD_PRIO_INHERIT___114 = 1,
    PTHREAD_PRIO_PROTECT___114 = 2
} ;
enum __anonenum_25043950___114 {
    PTHREAD_RWLOCK_PREFER_READER_NP___114 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___114 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___114 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___114 = 0
} ;
enum __anonenum_436439511___114 {
    PTHREAD_INHERIT_SCHED___114 = 0,
    PTHREAD_EXPLICIT_SCHED___114 = 1
} ;
enum __anonenum_998661166___114 {
    PTHREAD_SCOPE_SYSTEM___114 = 0,
    PTHREAD_SCOPE_PROCESS___114 = 1
} ;
enum __anonenum_146137331___114 {
    PTHREAD_PROCESS_PRIVATE___114 = 0,
    PTHREAD_PROCESS_SHARED___114 = 1
} ;
enum __anonenum_53396917___114 {
    PTHREAD_CANCEL_ENABLE___114 = 0,
    PTHREAD_CANCEL_DISABLE___114 = 1
} ;
enum __anonenum_904563783___114 {
    PTHREAD_CANCEL_DEFERRED___114 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___114 = 1
} ;
enum __anonenum_672052974___114 {
    SSL_CT_VALIDATION_PERMISSIVE___114 = 0,
    SSL_CT_VALIDATION_STRICT___114 = 1
} ;
struct int_node {
   void *a[16] ;
};
struct leaf_node {
   struct object_id key_oid ;
   struct object_id val_oid ;
};
struct non_note {
   struct non_note *next ;
   char *path ;
   unsigned int mode ;
   struct object_id oid ;
};
struct tree_write_stack {
   struct tree_write_stack *next ;
   struct strbuf buf ;
   char path[2] ;
};
struct write_each_note_data {
   struct tree_write_stack *root ;
   struct non_note **nn_list ;
   struct non_note *nn_prev ;
};
struct note_delete_list {
   struct note_delete_list *next ;
   unsigned char const   *sha1 ;
};
enum __anonenum_437032235___115 {
    _PC_LINK_MAX___115 = 0,
    _PC_MAX_CANON___115 = 1,
    _PC_MAX_INPUT___115 = 2,
    _PC_NAME_MAX___115 = 3,
    _PC_PATH_MAX___115 = 4,
    _PC_PIPE_BUF___115 = 5,
    _PC_CHOWN_RESTRICTED___115 = 6,
    _PC_NO_TRUNC___115 = 7,
    _PC_VDISABLE___115 = 8,
    _PC_SYNC_IO___115 = 9,
    _PC_ASYNC_IO___115 = 10,
    _PC_PRIO_IO___115 = 11,
    _PC_SOCK_MAXBUF___115 = 12,
    _PC_FILESIZEBITS___115 = 13,
    _PC_REC_INCR_XFER_SIZE___115 = 14,
    _PC_REC_MAX_XFER_SIZE___115 = 15,
    _PC_REC_MIN_XFER_SIZE___115 = 16,
    _PC_REC_XFER_ALIGN___115 = 17,
    _PC_ALLOC_SIZE_MIN___115 = 18,
    _PC_SYMLINK_MAX___115 = 19,
    _PC_2_SYMLINKS___115 = 20
} ;
enum __anonenum_315186338___115 {
    _SC_ARG_MAX___115 = 0,
    _SC_CHILD_MAX___115 = 1,
    _SC_CLK_TCK___115 = 2,
    _SC_NGROUPS_MAX___115 = 3,
    _SC_OPEN_MAX___115 = 4,
    _SC_STREAM_MAX___115 = 5,
    _SC_TZNAME_MAX___115 = 6,
    _SC_JOB_CONTROL___115 = 7,
    _SC_SAVED_IDS___115 = 8,
    _SC_REALTIME_SIGNALS___115 = 9,
    _SC_PRIORITY_SCHEDULING___115 = 10,
    _SC_TIMERS___115 = 11,
    _SC_ASYNCHRONOUS_IO___115 = 12,
    _SC_PRIORITIZED_IO___115 = 13,
    _SC_SYNCHRONIZED_IO___115 = 14,
    _SC_FSYNC___115 = 15,
    _SC_MAPPED_FILES___115 = 16,
    _SC_MEMLOCK___115 = 17,
    _SC_MEMLOCK_RANGE___115 = 18,
    _SC_MEMORY_PROTECTION___115 = 19,
    _SC_MESSAGE_PASSING___115 = 20,
    _SC_SEMAPHORES___115 = 21,
    _SC_SHARED_MEMORY_OBJECTS___115 = 22,
    _SC_AIO_LISTIO_MAX___115 = 23,
    _SC_AIO_MAX___115 = 24,
    _SC_AIO_PRIO_DELTA_MAX___115 = 25,
    _SC_DELAYTIMER_MAX___115 = 26,
    _SC_MQ_OPEN_MAX___115 = 27,
    _SC_MQ_PRIO_MAX___115 = 28,
    _SC_VERSION___115 = 29,
    _SC_PAGESIZE___115 = 30,
    _SC_RTSIG_MAX___115 = 31,
    _SC_SEM_NSEMS_MAX___115 = 32,
    _SC_SEM_VALUE_MAX___115 = 33,
    _SC_SIGQUEUE_MAX___115 = 34,
    _SC_TIMER_MAX___115 = 35,
    _SC_BC_BASE_MAX___115 = 36,
    _SC_BC_DIM_MAX___115 = 37,
    _SC_BC_SCALE_MAX___115 = 38,
    _SC_BC_STRING_MAX___115 = 39,
    _SC_COLL_WEIGHTS_MAX___115 = 40,
    _SC_EQUIV_CLASS_MAX___115 = 41,
    _SC_EXPR_NEST_MAX___115 = 42,
    _SC_LINE_MAX___115 = 43,
    _SC_RE_DUP_MAX___115 = 44,
    _SC_CHARCLASS_NAME_MAX___115 = 45,
    _SC_2_VERSION___115 = 46,
    _SC_2_C_BIND___115 = 47,
    _SC_2_C_DEV___115 = 48,
    _SC_2_FORT_DEV___115 = 49,
    _SC_2_FORT_RUN___115 = 50,
    _SC_2_SW_DEV___115 = 51,
    _SC_2_LOCALEDEF___115 = 52,
    _SC_PII___115 = 53,
    _SC_PII_XTI___115 = 54,
    _SC_PII_SOCKET___115 = 55,
    _SC_PII_INTERNET___115 = 56,
    _SC_PII_OSI___115 = 57,
    _SC_POLL___115 = 58,
    _SC_SELECT___115 = 59,
    _SC_UIO_MAXIOV___115 = 60,
    _SC_IOV_MAX___115 = 60,
    _SC_PII_INTERNET_STREAM___115 = 61,
    _SC_PII_INTERNET_DGRAM___115 = 62,
    _SC_PII_OSI_COTS___115 = 63,
    _SC_PII_OSI_CLTS___115 = 64,
    _SC_PII_OSI_M___115 = 65,
    _SC_T_IOV_MAX___115 = 66,
    _SC_THREADS___115 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___115 = 68,
    _SC_GETGR_R_SIZE_MAX___115 = 69,
    _SC_GETPW_R_SIZE_MAX___115 = 70,
    _SC_LOGIN_NAME_MAX___115 = 71,
    _SC_TTY_NAME_MAX___115 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___115 = 73,
    _SC_THREAD_KEYS_MAX___115 = 74,
    _SC_THREAD_STACK_MIN___115 = 75,
    _SC_THREAD_THREADS_MAX___115 = 76,
    _SC_THREAD_ATTR_STACKADDR___115 = 77,
    _SC_THREAD_ATTR_STACKSIZE___115 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___115 = 79,
    _SC_THREAD_PRIO_INHERIT___115 = 80,
    _SC_THREAD_PRIO_PROTECT___115 = 81,
    _SC_THREAD_PROCESS_SHARED___115 = 82,
    _SC_NPROCESSORS_CONF___115 = 83,
    _SC_NPROCESSORS_ONLN___115 = 84,
    _SC_PHYS_PAGES___115 = 85,
    _SC_AVPHYS_PAGES___115 = 86,
    _SC_ATEXIT_MAX___115 = 87,
    _SC_PASS_MAX___115 = 88,
    _SC_XOPEN_VERSION___115 = 89,
    _SC_XOPEN_XCU_VERSION___115 = 90,
    _SC_XOPEN_UNIX___115 = 91,
    _SC_XOPEN_CRYPT___115 = 92,
    _SC_XOPEN_ENH_I18N___115 = 93,
    _SC_XOPEN_SHM___115 = 94,
    _SC_2_CHAR_TERM___115 = 95,
    _SC_2_C_VERSION___115 = 96,
    _SC_2_UPE___115 = 97,
    _SC_XOPEN_XPG2___115 = 98,
    _SC_XOPEN_XPG3___115 = 99,
    _SC_XOPEN_XPG4___115 = 100,
    _SC_CHAR_BIT___115 = 101,
    _SC_CHAR_MAX___115 = 102,
    _SC_CHAR_MIN___115 = 103,
    _SC_INT_MAX___115 = 104,
    _SC_INT_MIN___115 = 105,
    _SC_LONG_BIT___115 = 106,
    _SC_WORD_BIT___115 = 107,
    _SC_MB_LEN_MAX___115 = 108,
    _SC_NZERO___115 = 109,
    _SC_SSIZE_MAX___115 = 110,
    _SC_SCHAR_MAX___115 = 111,
    _SC_SCHAR_MIN___115 = 112,
    _SC_SHRT_MAX___115 = 113,
    _SC_SHRT_MIN___115 = 114,
    _SC_UCHAR_MAX___115 = 115,
    _SC_UINT_MAX___115 = 116,
    _SC_ULONG_MAX___115 = 117,
    _SC_USHRT_MAX___115 = 118,
    _SC_NL_ARGMAX___115 = 119,
    _SC_NL_LANGMAX___115 = 120,
    _SC_NL_MSGMAX___115 = 121,
    _SC_NL_NMAX___115 = 122,
    _SC_NL_SETMAX___115 = 123,
    _SC_NL_TEXTMAX___115 = 124,
    _SC_XBS5_ILP32_OFF32___115 = 125,
    _SC_XBS5_ILP32_OFFBIG___115 = 126,
    _SC_XBS5_LP64_OFF64___115 = 127,
    _SC_XBS5_LPBIG_OFFBIG___115 = 128,
    _SC_XOPEN_LEGACY___115 = 129,
    _SC_XOPEN_REALTIME___115 = 130,
    _SC_XOPEN_REALTIME_THREADS___115 = 131,
    _SC_ADVISORY_INFO___115 = 132,
    _SC_BARRIERS___115 = 133,
    _SC_BASE___115 = 134,
    _SC_C_LANG_SUPPORT___115 = 135,
    _SC_C_LANG_SUPPORT_R___115 = 136,
    _SC_CLOCK_SELECTION___115 = 137,
    _SC_CPUTIME___115 = 138,
    _SC_THREAD_CPUTIME___115 = 139,
    _SC_DEVICE_IO___115 = 140,
    _SC_DEVICE_SPECIFIC___115 = 141,
    _SC_DEVICE_SPECIFIC_R___115 = 142,
    _SC_FD_MGMT___115 = 143,
    _SC_FIFO___115 = 144,
    _SC_PIPE___115 = 145,
    _SC_FILE_ATTRIBUTES___115 = 146,
    _SC_FILE_LOCKING___115 = 147,
    _SC_FILE_SYSTEM___115 = 148,
    _SC_MONOTONIC_CLOCK___115 = 149,
    _SC_MULTI_PROCESS___115 = 150,
    _SC_SINGLE_PROCESS___115 = 151,
    _SC_NETWORKING___115 = 152,
    _SC_READER_WRITER_LOCKS___115 = 153,
    _SC_SPIN_LOCKS___115 = 154,
    _SC_REGEXP___115 = 155,
    _SC_REGEX_VERSION___115 = 156,
    _SC_SHELL___115 = 157,
    _SC_SIGNALS___115 = 158,
    _SC_SPAWN___115 = 159,
    _SC_SPORADIC_SERVER___115 = 160,
    _SC_THREAD_SPORADIC_SERVER___115 = 161,
    _SC_SYSTEM_DATABASE___115 = 162,
    _SC_SYSTEM_DATABASE_R___115 = 163,
    _SC_TIMEOUTS___115 = 164,
    _SC_TYPED_MEMORY_OBJECTS___115 = 165,
    _SC_USER_GROUPS___115 = 166,
    _SC_USER_GROUPS_R___115 = 167,
    _SC_2_PBS___115 = 168,
    _SC_2_PBS_ACCOUNTING___115 = 169,
    _SC_2_PBS_LOCATE___115 = 170,
    _SC_2_PBS_MESSAGE___115 = 171,
    _SC_2_PBS_TRACK___115 = 172,
    _SC_SYMLOOP_MAX___115 = 173,
    _SC_STREAMS___115 = 174,
    _SC_2_PBS_CHECKPOINT___115 = 175,
    _SC_V6_ILP32_OFF32___115 = 176,
    _SC_V6_ILP32_OFFBIG___115 = 177,
    _SC_V6_LP64_OFF64___115 = 178,
    _SC_V6_LPBIG_OFFBIG___115 = 179,
    _SC_HOST_NAME_MAX___115 = 180,
    _SC_TRACE___115 = 181,
    _SC_TRACE_EVENT_FILTER___115 = 182,
    _SC_TRACE_INHERIT___115 = 183,
    _SC_TRACE_LOG___115 = 184,
    _SC_LEVEL1_ICACHE_SIZE___115 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___115 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___115 = 187,
    _SC_LEVEL1_DCACHE_SIZE___115 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___115 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___115 = 190,
    _SC_LEVEL2_CACHE_SIZE___115 = 191,
    _SC_LEVEL2_CACHE_ASSOC___115 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___115 = 193,
    _SC_LEVEL3_CACHE_SIZE___115 = 194,
    _SC_LEVEL3_CACHE_ASSOC___115 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___115 = 196,
    _SC_LEVEL4_CACHE_SIZE___115 = 197,
    _SC_LEVEL4_CACHE_ASSOC___115 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___115 = 199,
    _SC_IPV6___115 = 235,
    _SC_RAW_SOCKETS___115 = 236,
    _SC_V7_ILP32_OFF32___115 = 237,
    _SC_V7_ILP32_OFFBIG___115 = 238,
    _SC_V7_LP64_OFF64___115 = 239,
    _SC_V7_LPBIG_OFFBIG___115 = 240,
    _SC_SS_REPL_MAX___115 = 241,
    _SC_TRACE_EVENT_NAME_MAX___115 = 242,
    _SC_TRACE_NAME_MAX___115 = 243,
    _SC_TRACE_SYS_MAX___115 = 244,
    _SC_TRACE_USER_EVENT_MAX___115 = 245,
    _SC_XOPEN_STREAMS___115 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___115 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___115 = 248
} ;
enum __anonenum_875524036___115 {
    _CS_PATH___115 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___115 = 1,
    _CS_GNU_LIBC_VERSION___115 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___115 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___115 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___115 = 5,
    _CS_LFS_CFLAGS___115 = 1000,
    _CS_LFS_LDFLAGS___115 = 1001,
    _CS_LFS_LIBS___115 = 1002,
    _CS_LFS_LINTFLAGS___115 = 1003,
    _CS_LFS64_CFLAGS___115 = 1004,
    _CS_LFS64_LDFLAGS___115 = 1005,
    _CS_LFS64_LIBS___115 = 1006,
    _CS_LFS64_LINTFLAGS___115 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___115 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___115 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___115 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___115 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___115 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___115 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___115 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___115 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___115 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___115 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___115 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___115 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___115 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___115 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___115 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___115 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___115 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___115 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___115 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___115 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___115 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___115 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___115 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___115 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___115 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___115 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___115 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___115 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___115 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___115 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___115 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___115 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___115 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___115 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___115 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___115 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___115 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___115 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___115 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___115 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___115 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___115 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___115 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___115 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___115 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___115 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___115 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___115 = 1147,
    _CS_V6_ENV___115 = 1148,
    _CS_V7_ENV___115 = 1149
} ;
enum __anonenum_513775621___115 {
    DT_UNKNOWN___115 = 0,
    DT_FIFO___115 = 1,
    DT_CHR___115 = 2,
    DT_DIR___115 = 4,
    DT_BLK___115 = 6,
    DT_REG___115 = 8,
    DT_LNK___115 = 10,
    DT_SOCK___115 = 12,
    DT_WHT___115 = 14
} ;
enum __anonenum_77002343___115 {
    SI_ASYNCNL___115 = -60,
    SI_TKILL___115 = -6,
    SI_SIGIO___115 = -5,
    SI_ASYNCIO___115 = -4,
    SI_MESGQ___115 = -3,
    SI_TIMER___115 = -2,
    SI_QUEUE___115 = -1,
    SI_USER___115 = 0,
    SI_KERNEL___115 = 128
} ;
enum __anonenum_131038172___115 {
    ILL_ILLOPC___115 = 1,
    ILL_ILLOPN___115 = 2,
    ILL_ILLADR___115 = 3,
    ILL_ILLTRP___115 = 4,
    ILL_PRVOPC___115 = 5,
    ILL_PRVREG___115 = 6,
    ILL_COPROC___115 = 7,
    ILL_BADSTK___115 = 8
} ;
enum __anonenum_452038093___115 {
    FPE_INTDIV___115 = 1,
    FPE_INTOVF___115 = 2,
    FPE_FLTDIV___115 = 3,
    FPE_FLTOVF___115 = 4,
    FPE_FLTUND___115 = 5,
    FPE_FLTRES___115 = 6,
    FPE_FLTINV___115 = 7,
    FPE_FLTSUB___115 = 8
} ;
enum __anonenum_30976155___115 {
    SEGV_MAPERR___115 = 1,
    SEGV_ACCERR___115 = 2,
    SEGV_BNDERR___115 = 3,
    SEGV_PKUERR___115 = 4
} ;
enum __anonenum_1036286214___115 {
    BUS_ADRALN___115 = 1,
    BUS_ADRERR___115 = 2,
    BUS_OBJERR___115 = 3,
    BUS_MCEERR_AR___115 = 4,
    BUS_MCEERR_AO___115 = 5
} ;
enum __anonenum_493465559___115 {
    TRAP_BRKPT___115 = 1,
    TRAP_TRACE___115 = 2
} ;
enum __anonenum_23175539___115 {
    CLD_EXITED___115 = 1,
    CLD_KILLED___115 = 2,
    CLD_DUMPED___115 = 3,
    CLD_TRAPPED___115 = 4,
    CLD_STOPPED___115 = 5,
    CLD_CONTINUED___115 = 6
} ;
enum __anonenum_111643124___115 {
    POLL_IN___115 = 1,
    POLL_OUT___115 = 2,
    POLL_MSG___115 = 3,
    POLL_ERR___115 = 4,
    POLL_PRI___115 = 5,
    POLL_HUP___115 = 6
} ;
enum __anonenum_852341087___115 {
    SIGEV_SIGNAL___115 = 0,
    SIGEV_NONE___115 = 1,
    SIGEV_THREAD___115 = 2,
    SIGEV_THREAD_ID___115 = 4
} ;
enum __anonenum_451154152___115 {
    REG_R8___115 = 0,
    REG_R9___115 = 1,
    REG_R10___115 = 2,
    REG_R11___115 = 3,
    REG_R12___115 = 4,
    REG_R13___115 = 5,
    REG_R14___115 = 6,
    REG_R15___115 = 7,
    REG_RDI___115 = 8,
    REG_RSI___115 = 9,
    REG_RBP___115 = 10,
    REG_RBX___115 = 11,
    REG_RDX___115 = 12,
    REG_RAX___115 = 13,
    REG_RCX___115 = 14,
    REG_RSP___115 = 15,
    REG_RIP___115 = 16,
    REG_EFL___115 = 17,
    REG_CSGSFS___115 = 18,
    REG_ERR___115 = 19,
    REG_TRAPNO___115 = 20,
    REG_OLDMASK___115 = 21,
    REG_CR2___115 = 22
} ;
enum __anonenum_57186863___115 {
    SS_ONSTACK___115 = 1,
    SS_DISABLE___115 = 2
} ;
enum __anonenum_83571709___115 {
    MSG_OOB___115 = 1,
    MSG_PEEK___115 = 2,
    MSG_DONTROUTE___115 = 4,
    MSG_TRYHARD___115 = 4,
    MSG_CTRUNC___115 = 8,
    MSG_PROXY___115 = 16,
    MSG_TRUNC___115 = 32,
    MSG_DONTWAIT___115 = 64,
    MSG_EOR___115 = 128,
    MSG_WAITALL___115 = 256,
    MSG_FIN___115 = 512,
    MSG_SYN___115 = 1024,
    MSG_CONFIRM___115 = 2048,
    MSG_RST___115 = 4096,
    MSG_ERRQUEUE___115 = 8192,
    MSG_NOSIGNAL___115 = 16384,
    MSG_MORE___115 = 32768,
    MSG_WAITFORONE___115 = 65536,
    MSG_BATCH___115 = 262144,
    MSG_ZEROCOPY___115 = 67108864,
    MSG_FASTOPEN___115 = 536870912,
    MSG_CMSG_CLOEXEC___115 = 1073741824
} ;
enum __anonenum_617082774___115 {
    SCM_RIGHTS___115 = 1,
    SCM_CREDENTIALS___115 = 2
} ;
enum __anonenum_606441560___115 {
    SHUT_RD___115 = 0,
    SHUT_WR___115 = 1,
    SHUT_RDWR___115 = 2
} ;
enum __anonenum_681669233___115 {
    IPPROTO_IP___115 = 0,
    IPPROTO_ICMP___115 = 1,
    IPPROTO_IGMP___115 = 2,
    IPPROTO_IPIP___115 = 4,
    IPPROTO_TCP___115 = 6,
    IPPROTO_EGP___115 = 8,
    IPPROTO_PUP___115 = 12,
    IPPROTO_UDP___115 = 17,
    IPPROTO_IDP___115 = 22,
    IPPROTO_TP___115 = 29,
    IPPROTO_DCCP___115 = 33,
    IPPROTO_IPV6___115 = 41,
    IPPROTO_RSVP___115 = 46,
    IPPROTO_GRE___115 = 47,
    IPPROTO_ESP___115 = 50,
    IPPROTO_AH___115 = 51,
    IPPROTO_MTP___115 = 92,
    IPPROTO_BEETPH___115 = 94,
    IPPROTO_ENCAP___115 = 98,
    IPPROTO_PIM___115 = 103,
    IPPROTO_COMP___115 = 108,
    IPPROTO_SCTP___115 = 132,
    IPPROTO_UDPLITE___115 = 136,
    IPPROTO_MPLS___115 = 137,
    IPPROTO_RAW___115 = 255,
    IPPROTO_MAX___115 = 256
} ;
enum __anonenum_218739988___115 {
    IPPROTO_HOPOPTS___115 = 0,
    IPPROTO_ROUTING___115 = 43,
    IPPROTO_FRAGMENT___115 = 44,
    IPPROTO_ICMPV6___115 = 58,
    IPPROTO_NONE___115 = 59,
    IPPROTO_DSTOPTS___115 = 60,
    IPPROTO_MH___115 = 135
} ;
enum __anonenum_662268580___115 {
    IPPORT_ECHO___115 = 7,
    IPPORT_DISCARD___115 = 9,
    IPPORT_SYSTAT___115 = 11,
    IPPORT_DAYTIME___115 = 13,
    IPPORT_NETSTAT___115 = 15,
    IPPORT_FTP___115 = 21,
    IPPORT_TELNET___115 = 23,
    IPPORT_SMTP___115 = 25,
    IPPORT_TIMESERVER___115 = 37,
    IPPORT_NAMESERVER___115 = 42,
    IPPORT_WHOIS___115 = 43,
    IPPORT_MTP___115 = 57,
    IPPORT_TFTP___115 = 69,
    IPPORT_RJE___115 = 77,
    IPPORT_FINGER___115 = 79,
    IPPORT_TTYLINK___115 = 87,
    IPPORT_SUPDUP___115 = 95,
    IPPORT_EXECSERVER___115 = 512,
    IPPORT_LOGINSERVER___115 = 513,
    IPPORT_CMDSERVER___115 = 514,
    IPPORT_EFSSERVER___115 = 520,
    IPPORT_BIFFUDP___115 = 512,
    IPPORT_WHOSERVER___115 = 513,
    IPPORT_ROUTESERVER___115 = 520,
    IPPORT_RESERVED___115 = 1024,
    IPPORT_USERRESERVED___115 = 5000
} ;
enum __anonenum_788308992___115 {
    TCP_ESTABLISHED___115 = 1,
    TCP_SYN_SENT___115 = 2,
    TCP_SYN_RECV___115 = 3,
    TCP_FIN_WAIT1___115 = 4,
    TCP_FIN_WAIT2___115 = 5,
    TCP_TIME_WAIT___115 = 6,
    TCP_CLOSE___115 = 7,
    TCP_CLOSE_WAIT___115 = 8,
    TCP_LAST_ACK___115 = 9,
    TCP_LISTEN___115 = 10,
    TCP_CLOSING___115 = 11
} ;
enum __anonenum_221125648___115 {
    TCP_NO_QUEUE___115 = 0,
    TCP_RECV_QUEUE___115 = 1,
    TCP_SEND_QUEUE___115 = 2,
    TCP_QUEUES_NR___115 = 3
} ;
enum __anonenum_34415463___115 {
    PTHREAD_CREATE_JOINABLE___115 = 0,
    PTHREAD_CREATE_DETACHED___115 = 1
} ;
enum __anonenum_303612439___115 {
    PTHREAD_MUTEX_TIMED_NP___115 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___115 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___115 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___115 = 3,
    PTHREAD_MUTEX_NORMAL___115 = 0,
    PTHREAD_MUTEX_RECURSIVE___115 = 1,
    PTHREAD_MUTEX_ERRORCHECK___115 = 2,
    PTHREAD_MUTEX_DEFAULT___115 = 0,
    PTHREAD_MUTEX_FAST_NP___115 = 0
} ;
enum __anonenum_931900394___115 {
    PTHREAD_MUTEX_STALLED___115 = 0,
    PTHREAD_MUTEX_STALLED_NP___115 = 0,
    PTHREAD_MUTEX_ROBUST___115 = 1,
    PTHREAD_MUTEX_ROBUST_NP___115 = 1
} ;
enum __anonenum_205214487___115 {
    PTHREAD_PRIO_NONE___115 = 0,
    PTHREAD_PRIO_INHERIT___115 = 1,
    PTHREAD_PRIO_PROTECT___115 = 2
} ;
enum __anonenum_25043950___115 {
    PTHREAD_RWLOCK_PREFER_READER_NP___115 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___115 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___115 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___115 = 0
} ;
enum __anonenum_436439511___115 {
    PTHREAD_INHERIT_SCHED___115 = 0,
    PTHREAD_EXPLICIT_SCHED___115 = 1
} ;
enum __anonenum_998661166___115 {
    PTHREAD_SCOPE_SYSTEM___115 = 0,
    PTHREAD_SCOPE_PROCESS___115 = 1
} ;
enum __anonenum_146137331___115 {
    PTHREAD_PROCESS_PRIVATE___115 = 0,
    PTHREAD_PROCESS_SHARED___115 = 1
} ;
enum __anonenum_53396917___115 {
    PTHREAD_CANCEL_ENABLE___115 = 0,
    PTHREAD_CANCEL_DISABLE___115 = 1
} ;
enum __anonenum_904563783___115 {
    PTHREAD_CANCEL_DEFERRED___115 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___115 = 1
} ;
enum __anonenum_672052974___115 {
    SSL_CT_VALIDATION_PERMISSIVE___115 = 0,
    SSL_CT_VALIDATION_STRICT___115 = 1
} ;
enum __anonenum_561748495___6 {
    RECURSE_SUBMODULES_ONLY___6 = -5,
    RECURSE_SUBMODULES_CHECK___6 = -4,
    RECURSE_SUBMODULES_ERROR___6 = -3,
    RECURSE_SUBMODULES_NONE___6 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___6 = -1,
    RECURSE_SUBMODULES_OFF___6 = 0,
    RECURSE_SUBMODULES_DEFAULT___6 = 1,
    RECURSE_SUBMODULES_ON___6 = 2
} ;
struct cached_object {
   struct object_id oid ;
   enum object_type type ;
   void *buf ;
   unsigned long size ;
};
struct alternate_refs_data {
   alternate_ref_fn *fn ;
   void *data ;
};
enum __anonenum_437032235___116 {
    _PC_LINK_MAX___116 = 0,
    _PC_MAX_CANON___116 = 1,
    _PC_MAX_INPUT___116 = 2,
    _PC_NAME_MAX___116 = 3,
    _PC_PATH_MAX___116 = 4,
    _PC_PIPE_BUF___116 = 5,
    _PC_CHOWN_RESTRICTED___116 = 6,
    _PC_NO_TRUNC___116 = 7,
    _PC_VDISABLE___116 = 8,
    _PC_SYNC_IO___116 = 9,
    _PC_ASYNC_IO___116 = 10,
    _PC_PRIO_IO___116 = 11,
    _PC_SOCK_MAXBUF___116 = 12,
    _PC_FILESIZEBITS___116 = 13,
    _PC_REC_INCR_XFER_SIZE___116 = 14,
    _PC_REC_MAX_XFER_SIZE___116 = 15,
    _PC_REC_MIN_XFER_SIZE___116 = 16,
    _PC_REC_XFER_ALIGN___116 = 17,
    _PC_ALLOC_SIZE_MIN___116 = 18,
    _PC_SYMLINK_MAX___116 = 19,
    _PC_2_SYMLINKS___116 = 20
} ;
enum __anonenum_315186338___116 {
    _SC_ARG_MAX___116 = 0,
    _SC_CHILD_MAX___116 = 1,
    _SC_CLK_TCK___116 = 2,
    _SC_NGROUPS_MAX___116 = 3,
    _SC_OPEN_MAX___116 = 4,
    _SC_STREAM_MAX___116 = 5,
    _SC_TZNAME_MAX___116 = 6,
    _SC_JOB_CONTROL___116 = 7,
    _SC_SAVED_IDS___116 = 8,
    _SC_REALTIME_SIGNALS___116 = 9,
    _SC_PRIORITY_SCHEDULING___116 = 10,
    _SC_TIMERS___116 = 11,
    _SC_ASYNCHRONOUS_IO___116 = 12,
    _SC_PRIORITIZED_IO___116 = 13,
    _SC_SYNCHRONIZED_IO___116 = 14,
    _SC_FSYNC___116 = 15,
    _SC_MAPPED_FILES___116 = 16,
    _SC_MEMLOCK___116 = 17,
    _SC_MEMLOCK_RANGE___116 = 18,
    _SC_MEMORY_PROTECTION___116 = 19,
    _SC_MESSAGE_PASSING___116 = 20,
    _SC_SEMAPHORES___116 = 21,
    _SC_SHARED_MEMORY_OBJECTS___116 = 22,
    _SC_AIO_LISTIO_MAX___116 = 23,
    _SC_AIO_MAX___116 = 24,
    _SC_AIO_PRIO_DELTA_MAX___116 = 25,
    _SC_DELAYTIMER_MAX___116 = 26,
    _SC_MQ_OPEN_MAX___116 = 27,
    _SC_MQ_PRIO_MAX___116 = 28,
    _SC_VERSION___116 = 29,
    _SC_PAGESIZE___116 = 30,
    _SC_RTSIG_MAX___116 = 31,
    _SC_SEM_NSEMS_MAX___116 = 32,
    _SC_SEM_VALUE_MAX___116 = 33,
    _SC_SIGQUEUE_MAX___116 = 34,
    _SC_TIMER_MAX___116 = 35,
    _SC_BC_BASE_MAX___116 = 36,
    _SC_BC_DIM_MAX___116 = 37,
    _SC_BC_SCALE_MAX___116 = 38,
    _SC_BC_STRING_MAX___116 = 39,
    _SC_COLL_WEIGHTS_MAX___116 = 40,
    _SC_EQUIV_CLASS_MAX___116 = 41,
    _SC_EXPR_NEST_MAX___116 = 42,
    _SC_LINE_MAX___116 = 43,
    _SC_RE_DUP_MAX___116 = 44,
    _SC_CHARCLASS_NAME_MAX___116 = 45,
    _SC_2_VERSION___116 = 46,
    _SC_2_C_BIND___116 = 47,
    _SC_2_C_DEV___116 = 48,
    _SC_2_FORT_DEV___116 = 49,
    _SC_2_FORT_RUN___116 = 50,
    _SC_2_SW_DEV___116 = 51,
    _SC_2_LOCALEDEF___116 = 52,
    _SC_PII___116 = 53,
    _SC_PII_XTI___116 = 54,
    _SC_PII_SOCKET___116 = 55,
    _SC_PII_INTERNET___116 = 56,
    _SC_PII_OSI___116 = 57,
    _SC_POLL___116 = 58,
    _SC_SELECT___116 = 59,
    _SC_UIO_MAXIOV___116 = 60,
    _SC_IOV_MAX___116 = 60,
    _SC_PII_INTERNET_STREAM___116 = 61,
    _SC_PII_INTERNET_DGRAM___116 = 62,
    _SC_PII_OSI_COTS___116 = 63,
    _SC_PII_OSI_CLTS___116 = 64,
    _SC_PII_OSI_M___116 = 65,
    _SC_T_IOV_MAX___116 = 66,
    _SC_THREADS___116 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___116 = 68,
    _SC_GETGR_R_SIZE_MAX___116 = 69,
    _SC_GETPW_R_SIZE_MAX___116 = 70,
    _SC_LOGIN_NAME_MAX___116 = 71,
    _SC_TTY_NAME_MAX___116 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___116 = 73,
    _SC_THREAD_KEYS_MAX___116 = 74,
    _SC_THREAD_STACK_MIN___116 = 75,
    _SC_THREAD_THREADS_MAX___116 = 76,
    _SC_THREAD_ATTR_STACKADDR___116 = 77,
    _SC_THREAD_ATTR_STACKSIZE___116 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___116 = 79,
    _SC_THREAD_PRIO_INHERIT___116 = 80,
    _SC_THREAD_PRIO_PROTECT___116 = 81,
    _SC_THREAD_PROCESS_SHARED___116 = 82,
    _SC_NPROCESSORS_CONF___116 = 83,
    _SC_NPROCESSORS_ONLN___116 = 84,
    _SC_PHYS_PAGES___116 = 85,
    _SC_AVPHYS_PAGES___116 = 86,
    _SC_ATEXIT_MAX___116 = 87,
    _SC_PASS_MAX___116 = 88,
    _SC_XOPEN_VERSION___116 = 89,
    _SC_XOPEN_XCU_VERSION___116 = 90,
    _SC_XOPEN_UNIX___116 = 91,
    _SC_XOPEN_CRYPT___116 = 92,
    _SC_XOPEN_ENH_I18N___116 = 93,
    _SC_XOPEN_SHM___116 = 94,
    _SC_2_CHAR_TERM___116 = 95,
    _SC_2_C_VERSION___116 = 96,
    _SC_2_UPE___116 = 97,
    _SC_XOPEN_XPG2___116 = 98,
    _SC_XOPEN_XPG3___116 = 99,
    _SC_XOPEN_XPG4___116 = 100,
    _SC_CHAR_BIT___116 = 101,
    _SC_CHAR_MAX___116 = 102,
    _SC_CHAR_MIN___116 = 103,
    _SC_INT_MAX___116 = 104,
    _SC_INT_MIN___116 = 105,
    _SC_LONG_BIT___116 = 106,
    _SC_WORD_BIT___116 = 107,
    _SC_MB_LEN_MAX___116 = 108,
    _SC_NZERO___116 = 109,
    _SC_SSIZE_MAX___116 = 110,
    _SC_SCHAR_MAX___116 = 111,
    _SC_SCHAR_MIN___116 = 112,
    _SC_SHRT_MAX___116 = 113,
    _SC_SHRT_MIN___116 = 114,
    _SC_UCHAR_MAX___116 = 115,
    _SC_UINT_MAX___116 = 116,
    _SC_ULONG_MAX___116 = 117,
    _SC_USHRT_MAX___116 = 118,
    _SC_NL_ARGMAX___116 = 119,
    _SC_NL_LANGMAX___116 = 120,
    _SC_NL_MSGMAX___116 = 121,
    _SC_NL_NMAX___116 = 122,
    _SC_NL_SETMAX___116 = 123,
    _SC_NL_TEXTMAX___116 = 124,
    _SC_XBS5_ILP32_OFF32___116 = 125,
    _SC_XBS5_ILP32_OFFBIG___116 = 126,
    _SC_XBS5_LP64_OFF64___116 = 127,
    _SC_XBS5_LPBIG_OFFBIG___116 = 128,
    _SC_XOPEN_LEGACY___116 = 129,
    _SC_XOPEN_REALTIME___116 = 130,
    _SC_XOPEN_REALTIME_THREADS___116 = 131,
    _SC_ADVISORY_INFO___116 = 132,
    _SC_BARRIERS___116 = 133,
    _SC_BASE___116 = 134,
    _SC_C_LANG_SUPPORT___116 = 135,
    _SC_C_LANG_SUPPORT_R___116 = 136,
    _SC_CLOCK_SELECTION___116 = 137,
    _SC_CPUTIME___116 = 138,
    _SC_THREAD_CPUTIME___116 = 139,
    _SC_DEVICE_IO___116 = 140,
    _SC_DEVICE_SPECIFIC___116 = 141,
    _SC_DEVICE_SPECIFIC_R___116 = 142,
    _SC_FD_MGMT___116 = 143,
    _SC_FIFO___116 = 144,
    _SC_PIPE___116 = 145,
    _SC_FILE_ATTRIBUTES___116 = 146,
    _SC_FILE_LOCKING___116 = 147,
    _SC_FILE_SYSTEM___116 = 148,
    _SC_MONOTONIC_CLOCK___116 = 149,
    _SC_MULTI_PROCESS___116 = 150,
    _SC_SINGLE_PROCESS___116 = 151,
    _SC_NETWORKING___116 = 152,
    _SC_READER_WRITER_LOCKS___116 = 153,
    _SC_SPIN_LOCKS___116 = 154,
    _SC_REGEXP___116 = 155,
    _SC_REGEX_VERSION___116 = 156,
    _SC_SHELL___116 = 157,
    _SC_SIGNALS___116 = 158,
    _SC_SPAWN___116 = 159,
    _SC_SPORADIC_SERVER___116 = 160,
    _SC_THREAD_SPORADIC_SERVER___116 = 161,
    _SC_SYSTEM_DATABASE___116 = 162,
    _SC_SYSTEM_DATABASE_R___116 = 163,
    _SC_TIMEOUTS___116 = 164,
    _SC_TYPED_MEMORY_OBJECTS___116 = 165,
    _SC_USER_GROUPS___116 = 166,
    _SC_USER_GROUPS_R___116 = 167,
    _SC_2_PBS___116 = 168,
    _SC_2_PBS_ACCOUNTING___116 = 169,
    _SC_2_PBS_LOCATE___116 = 170,
    _SC_2_PBS_MESSAGE___116 = 171,
    _SC_2_PBS_TRACK___116 = 172,
    _SC_SYMLOOP_MAX___116 = 173,
    _SC_STREAMS___116 = 174,
    _SC_2_PBS_CHECKPOINT___116 = 175,
    _SC_V6_ILP32_OFF32___116 = 176,
    _SC_V6_ILP32_OFFBIG___116 = 177,
    _SC_V6_LP64_OFF64___116 = 178,
    _SC_V6_LPBIG_OFFBIG___116 = 179,
    _SC_HOST_NAME_MAX___116 = 180,
    _SC_TRACE___116 = 181,
    _SC_TRACE_EVENT_FILTER___116 = 182,
    _SC_TRACE_INHERIT___116 = 183,
    _SC_TRACE_LOG___116 = 184,
    _SC_LEVEL1_ICACHE_SIZE___116 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___116 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___116 = 187,
    _SC_LEVEL1_DCACHE_SIZE___116 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___116 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___116 = 190,
    _SC_LEVEL2_CACHE_SIZE___116 = 191,
    _SC_LEVEL2_CACHE_ASSOC___116 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___116 = 193,
    _SC_LEVEL3_CACHE_SIZE___116 = 194,
    _SC_LEVEL3_CACHE_ASSOC___116 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___116 = 196,
    _SC_LEVEL4_CACHE_SIZE___116 = 197,
    _SC_LEVEL4_CACHE_ASSOC___116 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___116 = 199,
    _SC_IPV6___116 = 235,
    _SC_RAW_SOCKETS___116 = 236,
    _SC_V7_ILP32_OFF32___116 = 237,
    _SC_V7_ILP32_OFFBIG___116 = 238,
    _SC_V7_LP64_OFF64___116 = 239,
    _SC_V7_LPBIG_OFFBIG___116 = 240,
    _SC_SS_REPL_MAX___116 = 241,
    _SC_TRACE_EVENT_NAME_MAX___116 = 242,
    _SC_TRACE_NAME_MAX___116 = 243,
    _SC_TRACE_SYS_MAX___116 = 244,
    _SC_TRACE_USER_EVENT_MAX___116 = 245,
    _SC_XOPEN_STREAMS___116 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___116 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___116 = 248
} ;
enum __anonenum_875524036___116 {
    _CS_PATH___116 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___116 = 1,
    _CS_GNU_LIBC_VERSION___116 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___116 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___116 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___116 = 5,
    _CS_LFS_CFLAGS___116 = 1000,
    _CS_LFS_LDFLAGS___116 = 1001,
    _CS_LFS_LIBS___116 = 1002,
    _CS_LFS_LINTFLAGS___116 = 1003,
    _CS_LFS64_CFLAGS___116 = 1004,
    _CS_LFS64_LDFLAGS___116 = 1005,
    _CS_LFS64_LIBS___116 = 1006,
    _CS_LFS64_LINTFLAGS___116 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___116 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___116 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___116 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___116 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___116 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___116 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___116 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___116 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___116 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___116 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___116 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___116 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___116 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___116 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___116 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___116 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___116 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___116 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___116 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___116 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___116 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___116 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___116 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___116 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___116 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___116 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___116 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___116 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___116 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___116 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___116 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___116 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___116 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___116 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___116 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___116 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___116 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___116 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___116 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___116 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___116 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___116 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___116 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___116 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___116 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___116 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___116 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___116 = 1147,
    _CS_V6_ENV___116 = 1148,
    _CS_V7_ENV___116 = 1149
} ;
enum __anonenum_513775621___116 {
    DT_UNKNOWN___116 = 0,
    DT_FIFO___116 = 1,
    DT_CHR___116 = 2,
    DT_DIR___116 = 4,
    DT_BLK___116 = 6,
    DT_REG___116 = 8,
    DT_LNK___116 = 10,
    DT_SOCK___116 = 12,
    DT_WHT___116 = 14
} ;
enum __anonenum_77002343___116 {
    SI_ASYNCNL___116 = -60,
    SI_TKILL___116 = -6,
    SI_SIGIO___116 = -5,
    SI_ASYNCIO___116 = -4,
    SI_MESGQ___116 = -3,
    SI_TIMER___116 = -2,
    SI_QUEUE___116 = -1,
    SI_USER___116 = 0,
    SI_KERNEL___116 = 128
} ;
enum __anonenum_131038172___116 {
    ILL_ILLOPC___116 = 1,
    ILL_ILLOPN___116 = 2,
    ILL_ILLADR___116 = 3,
    ILL_ILLTRP___116 = 4,
    ILL_PRVOPC___116 = 5,
    ILL_PRVREG___116 = 6,
    ILL_COPROC___116 = 7,
    ILL_BADSTK___116 = 8
} ;
enum __anonenum_452038093___116 {
    FPE_INTDIV___116 = 1,
    FPE_INTOVF___116 = 2,
    FPE_FLTDIV___116 = 3,
    FPE_FLTOVF___116 = 4,
    FPE_FLTUND___116 = 5,
    FPE_FLTRES___116 = 6,
    FPE_FLTINV___116 = 7,
    FPE_FLTSUB___116 = 8
} ;
enum __anonenum_30976155___116 {
    SEGV_MAPERR___116 = 1,
    SEGV_ACCERR___116 = 2,
    SEGV_BNDERR___116 = 3,
    SEGV_PKUERR___116 = 4
} ;
enum __anonenum_1036286214___116 {
    BUS_ADRALN___116 = 1,
    BUS_ADRERR___116 = 2,
    BUS_OBJERR___116 = 3,
    BUS_MCEERR_AR___116 = 4,
    BUS_MCEERR_AO___116 = 5
} ;
enum __anonenum_493465559___116 {
    TRAP_BRKPT___116 = 1,
    TRAP_TRACE___116 = 2
} ;
enum __anonenum_23175539___116 {
    CLD_EXITED___116 = 1,
    CLD_KILLED___116 = 2,
    CLD_DUMPED___116 = 3,
    CLD_TRAPPED___116 = 4,
    CLD_STOPPED___116 = 5,
    CLD_CONTINUED___116 = 6
} ;
enum __anonenum_111643124___116 {
    POLL_IN___116 = 1,
    POLL_OUT___116 = 2,
    POLL_MSG___116 = 3,
    POLL_ERR___116 = 4,
    POLL_PRI___116 = 5,
    POLL_HUP___116 = 6
} ;
enum __anonenum_852341087___116 {
    SIGEV_SIGNAL___116 = 0,
    SIGEV_NONE___116 = 1,
    SIGEV_THREAD___116 = 2,
    SIGEV_THREAD_ID___116 = 4
} ;
enum __anonenum_451154152___116 {
    REG_R8___116 = 0,
    REG_R9___116 = 1,
    REG_R10___116 = 2,
    REG_R11___116 = 3,
    REG_R12___116 = 4,
    REG_R13___116 = 5,
    REG_R14___116 = 6,
    REG_R15___116 = 7,
    REG_RDI___116 = 8,
    REG_RSI___116 = 9,
    REG_RBP___116 = 10,
    REG_RBX___116 = 11,
    REG_RDX___116 = 12,
    REG_RAX___116 = 13,
    REG_RCX___116 = 14,
    REG_RSP___116 = 15,
    REG_RIP___116 = 16,
    REG_EFL___116 = 17,
    REG_CSGSFS___116 = 18,
    REG_ERR___116 = 19,
    REG_TRAPNO___116 = 20,
    REG_OLDMASK___116 = 21,
    REG_CR2___116 = 22
} ;
enum __anonenum_57186863___116 {
    SS_ONSTACK___116 = 1,
    SS_DISABLE___116 = 2
} ;
enum __anonenum_83571709___116 {
    MSG_OOB___116 = 1,
    MSG_PEEK___116 = 2,
    MSG_DONTROUTE___116 = 4,
    MSG_TRYHARD___116 = 4,
    MSG_CTRUNC___116 = 8,
    MSG_PROXY___116 = 16,
    MSG_TRUNC___116 = 32,
    MSG_DONTWAIT___116 = 64,
    MSG_EOR___116 = 128,
    MSG_WAITALL___116 = 256,
    MSG_FIN___116 = 512,
    MSG_SYN___116 = 1024,
    MSG_CONFIRM___116 = 2048,
    MSG_RST___116 = 4096,
    MSG_ERRQUEUE___116 = 8192,
    MSG_NOSIGNAL___116 = 16384,
    MSG_MORE___116 = 32768,
    MSG_WAITFORONE___116 = 65536,
    MSG_BATCH___116 = 262144,
    MSG_ZEROCOPY___116 = 67108864,
    MSG_FASTOPEN___116 = 536870912,
    MSG_CMSG_CLOEXEC___116 = 1073741824
} ;
enum __anonenum_617082774___116 {
    SCM_RIGHTS___116 = 1,
    SCM_CREDENTIALS___116 = 2
} ;
enum __anonenum_606441560___116 {
    SHUT_RD___116 = 0,
    SHUT_WR___116 = 1,
    SHUT_RDWR___116 = 2
} ;
enum __anonenum_681669233___116 {
    IPPROTO_IP___116 = 0,
    IPPROTO_ICMP___116 = 1,
    IPPROTO_IGMP___116 = 2,
    IPPROTO_IPIP___116 = 4,
    IPPROTO_TCP___116 = 6,
    IPPROTO_EGP___116 = 8,
    IPPROTO_PUP___116 = 12,
    IPPROTO_UDP___116 = 17,
    IPPROTO_IDP___116 = 22,
    IPPROTO_TP___116 = 29,
    IPPROTO_DCCP___116 = 33,
    IPPROTO_IPV6___116 = 41,
    IPPROTO_RSVP___116 = 46,
    IPPROTO_GRE___116 = 47,
    IPPROTO_ESP___116 = 50,
    IPPROTO_AH___116 = 51,
    IPPROTO_MTP___116 = 92,
    IPPROTO_BEETPH___116 = 94,
    IPPROTO_ENCAP___116 = 98,
    IPPROTO_PIM___116 = 103,
    IPPROTO_COMP___116 = 108,
    IPPROTO_SCTP___116 = 132,
    IPPROTO_UDPLITE___116 = 136,
    IPPROTO_MPLS___116 = 137,
    IPPROTO_RAW___116 = 255,
    IPPROTO_MAX___116 = 256
} ;
enum __anonenum_218739988___116 {
    IPPROTO_HOPOPTS___116 = 0,
    IPPROTO_ROUTING___116 = 43,
    IPPROTO_FRAGMENT___116 = 44,
    IPPROTO_ICMPV6___116 = 58,
    IPPROTO_NONE___116 = 59,
    IPPROTO_DSTOPTS___116 = 60,
    IPPROTO_MH___116 = 135
} ;
enum __anonenum_662268580___116 {
    IPPORT_ECHO___116 = 7,
    IPPORT_DISCARD___116 = 9,
    IPPORT_SYSTAT___116 = 11,
    IPPORT_DAYTIME___116 = 13,
    IPPORT_NETSTAT___116 = 15,
    IPPORT_FTP___116 = 21,
    IPPORT_TELNET___116 = 23,
    IPPORT_SMTP___116 = 25,
    IPPORT_TIMESERVER___116 = 37,
    IPPORT_NAMESERVER___116 = 42,
    IPPORT_WHOIS___116 = 43,
    IPPORT_MTP___116 = 57,
    IPPORT_TFTP___116 = 69,
    IPPORT_RJE___116 = 77,
    IPPORT_FINGER___116 = 79,
    IPPORT_TTYLINK___116 = 87,
    IPPORT_SUPDUP___116 = 95,
    IPPORT_EXECSERVER___116 = 512,
    IPPORT_LOGINSERVER___116 = 513,
    IPPORT_CMDSERVER___116 = 514,
    IPPORT_EFSSERVER___116 = 520,
    IPPORT_BIFFUDP___116 = 512,
    IPPORT_WHOSERVER___116 = 513,
    IPPORT_ROUTESERVER___116 = 520,
    IPPORT_RESERVED___116 = 1024,
    IPPORT_USERRESERVED___116 = 5000
} ;
enum __anonenum_788308992___116 {
    TCP_ESTABLISHED___116 = 1,
    TCP_SYN_SENT___116 = 2,
    TCP_SYN_RECV___116 = 3,
    TCP_FIN_WAIT1___116 = 4,
    TCP_FIN_WAIT2___116 = 5,
    TCP_TIME_WAIT___116 = 6,
    TCP_CLOSE___116 = 7,
    TCP_CLOSE_WAIT___116 = 8,
    TCP_LAST_ACK___116 = 9,
    TCP_LISTEN___116 = 10,
    TCP_CLOSING___116 = 11
} ;
enum __anonenum_221125648___116 {
    TCP_NO_QUEUE___116 = 0,
    TCP_RECV_QUEUE___116 = 1,
    TCP_SEND_QUEUE___116 = 2,
    TCP_QUEUES_NR___116 = 3
} ;
enum __anonenum_34415463___116 {
    PTHREAD_CREATE_JOINABLE___116 = 0,
    PTHREAD_CREATE_DETACHED___116 = 1
} ;
enum __anonenum_303612439___116 {
    PTHREAD_MUTEX_TIMED_NP___116 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___116 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___116 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___116 = 3,
    PTHREAD_MUTEX_NORMAL___116 = 0,
    PTHREAD_MUTEX_RECURSIVE___116 = 1,
    PTHREAD_MUTEX_ERRORCHECK___116 = 2,
    PTHREAD_MUTEX_DEFAULT___116 = 0,
    PTHREAD_MUTEX_FAST_NP___116 = 0
} ;
enum __anonenum_931900394___116 {
    PTHREAD_MUTEX_STALLED___116 = 0,
    PTHREAD_MUTEX_STALLED_NP___116 = 0,
    PTHREAD_MUTEX_ROBUST___116 = 1,
    PTHREAD_MUTEX_ROBUST_NP___116 = 1
} ;
enum __anonenum_205214487___116 {
    PTHREAD_PRIO_NONE___116 = 0,
    PTHREAD_PRIO_INHERIT___116 = 1,
    PTHREAD_PRIO_PROTECT___116 = 2
} ;
enum __anonenum_25043950___116 {
    PTHREAD_RWLOCK_PREFER_READER_NP___116 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___116 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___116 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___116 = 0
} ;
enum __anonenum_436439511___116 {
    PTHREAD_INHERIT_SCHED___116 = 0,
    PTHREAD_EXPLICIT_SCHED___116 = 1
} ;
enum __anonenum_998661166___116 {
    PTHREAD_SCOPE_SYSTEM___116 = 0,
    PTHREAD_SCOPE_PROCESS___116 = 1
} ;
enum __anonenum_146137331___116 {
    PTHREAD_PROCESS_PRIVATE___116 = 0,
    PTHREAD_PROCESS_SHARED___116 = 1
} ;
enum __anonenum_53396917___116 {
    PTHREAD_CANCEL_ENABLE___116 = 0,
    PTHREAD_CANCEL_DISABLE___116 = 1
} ;
enum __anonenum_904563783___116 {
    PTHREAD_CANCEL_DEFERRED___116 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___116 = 1
} ;
enum __anonenum_672052974___116 {
    SSL_CT_VALIDATION_PERMISSIVE___116 = 0,
    SSL_CT_VALIDATION_STRICT___116 = 1
} ;
enum __anonenum_34023289___7 {
    REMOTE_UNCONFIGURED___7 = 0,
    REMOTE_CONFIG___7 = 1,
    REMOTE_REMOTES___7 = 2,
    REMOTE_BRANCHES___7 = 3
} ;
enum __anonenum_561748495___7 {
    RECURSE_SUBMODULES_ONLY___7 = -5,
    RECURSE_SUBMODULES_CHECK___7 = -4,
    RECURSE_SUBMODULES_ERROR___7 = -3,
    RECURSE_SUBMODULES_NONE___7 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___7 = -1,
    RECURSE_SUBMODULES_OFF___7 = 0,
    RECURSE_SUBMODULES_DEFAULT___7 = 1,
    RECURSE_SUBMODULES_ON___7 = 2
} ;
typedef int (*disambiguate_hint_fn)(struct repository * , struct object_id  const  * ,
                                    void * );
struct disambiguate_state {
   int len ;
   char hex_pfx[65] ;
   struct object_id bin_pfx ;
   struct repository *repo ;
   int (*fn)(struct repository * , struct object_id  const  * , void * ) ;
   void *cb_data ;
   struct object_id candidate ;
   unsigned int candidate_exists : 1 ;
   unsigned int candidate_checked : 1 ;
   unsigned int candidate_ok : 1 ;
   unsigned int disambiguate_fn_used : 1 ;
   unsigned int ambiguous : 1 ;
   unsigned int always_call_fn : 1 ;
};
struct __anonstruct_hints_582753941 {
   char const   *name ;
   int (*fn)(struct repository * , struct object_id  const  * , void * ) ;
};
struct min_abbrev_data {
   unsigned int init_len ;
   unsigned int cur_len ;
   char *hex ;
   struct repository *repo ;
   struct object_id  const  *oid ;
};
struct handle_one_ref_cb {
   struct repository *repo ;
   struct commit_list **list ;
};
struct grab_nth_branch_switch_cbdata {
   int remaining ;
   struct strbuf *sb ;
};
enum __anonenum_437032235___117 {
    _PC_LINK_MAX___117 = 0,
    _PC_MAX_CANON___117 = 1,
    _PC_MAX_INPUT___117 = 2,
    _PC_NAME_MAX___117 = 3,
    _PC_PATH_MAX___117 = 4,
    _PC_PIPE_BUF___117 = 5,
    _PC_CHOWN_RESTRICTED___117 = 6,
    _PC_NO_TRUNC___117 = 7,
    _PC_VDISABLE___117 = 8,
    _PC_SYNC_IO___117 = 9,
    _PC_ASYNC_IO___117 = 10,
    _PC_PRIO_IO___117 = 11,
    _PC_SOCK_MAXBUF___117 = 12,
    _PC_FILESIZEBITS___117 = 13,
    _PC_REC_INCR_XFER_SIZE___117 = 14,
    _PC_REC_MAX_XFER_SIZE___117 = 15,
    _PC_REC_MIN_XFER_SIZE___117 = 16,
    _PC_REC_XFER_ALIGN___117 = 17,
    _PC_ALLOC_SIZE_MIN___117 = 18,
    _PC_SYMLINK_MAX___117 = 19,
    _PC_2_SYMLINKS___117 = 20
} ;
enum __anonenum_315186338___117 {
    _SC_ARG_MAX___117 = 0,
    _SC_CHILD_MAX___117 = 1,
    _SC_CLK_TCK___117 = 2,
    _SC_NGROUPS_MAX___117 = 3,
    _SC_OPEN_MAX___117 = 4,
    _SC_STREAM_MAX___117 = 5,
    _SC_TZNAME_MAX___117 = 6,
    _SC_JOB_CONTROL___117 = 7,
    _SC_SAVED_IDS___117 = 8,
    _SC_REALTIME_SIGNALS___117 = 9,
    _SC_PRIORITY_SCHEDULING___117 = 10,
    _SC_TIMERS___117 = 11,
    _SC_ASYNCHRONOUS_IO___117 = 12,
    _SC_PRIORITIZED_IO___117 = 13,
    _SC_SYNCHRONIZED_IO___117 = 14,
    _SC_FSYNC___117 = 15,
    _SC_MAPPED_FILES___117 = 16,
    _SC_MEMLOCK___117 = 17,
    _SC_MEMLOCK_RANGE___117 = 18,
    _SC_MEMORY_PROTECTION___117 = 19,
    _SC_MESSAGE_PASSING___117 = 20,
    _SC_SEMAPHORES___117 = 21,
    _SC_SHARED_MEMORY_OBJECTS___117 = 22,
    _SC_AIO_LISTIO_MAX___117 = 23,
    _SC_AIO_MAX___117 = 24,
    _SC_AIO_PRIO_DELTA_MAX___117 = 25,
    _SC_DELAYTIMER_MAX___117 = 26,
    _SC_MQ_OPEN_MAX___117 = 27,
    _SC_MQ_PRIO_MAX___117 = 28,
    _SC_VERSION___117 = 29,
    _SC_PAGESIZE___117 = 30,
    _SC_RTSIG_MAX___117 = 31,
    _SC_SEM_NSEMS_MAX___117 = 32,
    _SC_SEM_VALUE_MAX___117 = 33,
    _SC_SIGQUEUE_MAX___117 = 34,
    _SC_TIMER_MAX___117 = 35,
    _SC_BC_BASE_MAX___117 = 36,
    _SC_BC_DIM_MAX___117 = 37,
    _SC_BC_SCALE_MAX___117 = 38,
    _SC_BC_STRING_MAX___117 = 39,
    _SC_COLL_WEIGHTS_MAX___117 = 40,
    _SC_EQUIV_CLASS_MAX___117 = 41,
    _SC_EXPR_NEST_MAX___117 = 42,
    _SC_LINE_MAX___117 = 43,
    _SC_RE_DUP_MAX___117 = 44,
    _SC_CHARCLASS_NAME_MAX___117 = 45,
    _SC_2_VERSION___117 = 46,
    _SC_2_C_BIND___117 = 47,
    _SC_2_C_DEV___117 = 48,
    _SC_2_FORT_DEV___117 = 49,
    _SC_2_FORT_RUN___117 = 50,
    _SC_2_SW_DEV___117 = 51,
    _SC_2_LOCALEDEF___117 = 52,
    _SC_PII___117 = 53,
    _SC_PII_XTI___117 = 54,
    _SC_PII_SOCKET___117 = 55,
    _SC_PII_INTERNET___117 = 56,
    _SC_PII_OSI___117 = 57,
    _SC_POLL___117 = 58,
    _SC_SELECT___117 = 59,
    _SC_UIO_MAXIOV___117 = 60,
    _SC_IOV_MAX___117 = 60,
    _SC_PII_INTERNET_STREAM___117 = 61,
    _SC_PII_INTERNET_DGRAM___117 = 62,
    _SC_PII_OSI_COTS___117 = 63,
    _SC_PII_OSI_CLTS___117 = 64,
    _SC_PII_OSI_M___117 = 65,
    _SC_T_IOV_MAX___117 = 66,
    _SC_THREADS___117 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___117 = 68,
    _SC_GETGR_R_SIZE_MAX___117 = 69,
    _SC_GETPW_R_SIZE_MAX___117 = 70,
    _SC_LOGIN_NAME_MAX___117 = 71,
    _SC_TTY_NAME_MAX___117 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___117 = 73,
    _SC_THREAD_KEYS_MAX___117 = 74,
    _SC_THREAD_STACK_MIN___117 = 75,
    _SC_THREAD_THREADS_MAX___117 = 76,
    _SC_THREAD_ATTR_STACKADDR___117 = 77,
    _SC_THREAD_ATTR_STACKSIZE___117 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___117 = 79,
    _SC_THREAD_PRIO_INHERIT___117 = 80,
    _SC_THREAD_PRIO_PROTECT___117 = 81,
    _SC_THREAD_PROCESS_SHARED___117 = 82,
    _SC_NPROCESSORS_CONF___117 = 83,
    _SC_NPROCESSORS_ONLN___117 = 84,
    _SC_PHYS_PAGES___117 = 85,
    _SC_AVPHYS_PAGES___117 = 86,
    _SC_ATEXIT_MAX___117 = 87,
    _SC_PASS_MAX___117 = 88,
    _SC_XOPEN_VERSION___117 = 89,
    _SC_XOPEN_XCU_VERSION___117 = 90,
    _SC_XOPEN_UNIX___117 = 91,
    _SC_XOPEN_CRYPT___117 = 92,
    _SC_XOPEN_ENH_I18N___117 = 93,
    _SC_XOPEN_SHM___117 = 94,
    _SC_2_CHAR_TERM___117 = 95,
    _SC_2_C_VERSION___117 = 96,
    _SC_2_UPE___117 = 97,
    _SC_XOPEN_XPG2___117 = 98,
    _SC_XOPEN_XPG3___117 = 99,
    _SC_XOPEN_XPG4___117 = 100,
    _SC_CHAR_BIT___117 = 101,
    _SC_CHAR_MAX___117 = 102,
    _SC_CHAR_MIN___117 = 103,
    _SC_INT_MAX___117 = 104,
    _SC_INT_MIN___117 = 105,
    _SC_LONG_BIT___117 = 106,
    _SC_WORD_BIT___117 = 107,
    _SC_MB_LEN_MAX___117 = 108,
    _SC_NZERO___117 = 109,
    _SC_SSIZE_MAX___117 = 110,
    _SC_SCHAR_MAX___117 = 111,
    _SC_SCHAR_MIN___117 = 112,
    _SC_SHRT_MAX___117 = 113,
    _SC_SHRT_MIN___117 = 114,
    _SC_UCHAR_MAX___117 = 115,
    _SC_UINT_MAX___117 = 116,
    _SC_ULONG_MAX___117 = 117,
    _SC_USHRT_MAX___117 = 118,
    _SC_NL_ARGMAX___117 = 119,
    _SC_NL_LANGMAX___117 = 120,
    _SC_NL_MSGMAX___117 = 121,
    _SC_NL_NMAX___117 = 122,
    _SC_NL_SETMAX___117 = 123,
    _SC_NL_TEXTMAX___117 = 124,
    _SC_XBS5_ILP32_OFF32___117 = 125,
    _SC_XBS5_ILP32_OFFBIG___117 = 126,
    _SC_XBS5_LP64_OFF64___117 = 127,
    _SC_XBS5_LPBIG_OFFBIG___117 = 128,
    _SC_XOPEN_LEGACY___117 = 129,
    _SC_XOPEN_REALTIME___117 = 130,
    _SC_XOPEN_REALTIME_THREADS___117 = 131,
    _SC_ADVISORY_INFO___117 = 132,
    _SC_BARRIERS___117 = 133,
    _SC_BASE___117 = 134,
    _SC_C_LANG_SUPPORT___117 = 135,
    _SC_C_LANG_SUPPORT_R___117 = 136,
    _SC_CLOCK_SELECTION___117 = 137,
    _SC_CPUTIME___117 = 138,
    _SC_THREAD_CPUTIME___117 = 139,
    _SC_DEVICE_IO___117 = 140,
    _SC_DEVICE_SPECIFIC___117 = 141,
    _SC_DEVICE_SPECIFIC_R___117 = 142,
    _SC_FD_MGMT___117 = 143,
    _SC_FIFO___117 = 144,
    _SC_PIPE___117 = 145,
    _SC_FILE_ATTRIBUTES___117 = 146,
    _SC_FILE_LOCKING___117 = 147,
    _SC_FILE_SYSTEM___117 = 148,
    _SC_MONOTONIC_CLOCK___117 = 149,
    _SC_MULTI_PROCESS___117 = 150,
    _SC_SINGLE_PROCESS___117 = 151,
    _SC_NETWORKING___117 = 152,
    _SC_READER_WRITER_LOCKS___117 = 153,
    _SC_SPIN_LOCKS___117 = 154,
    _SC_REGEXP___117 = 155,
    _SC_REGEX_VERSION___117 = 156,
    _SC_SHELL___117 = 157,
    _SC_SIGNALS___117 = 158,
    _SC_SPAWN___117 = 159,
    _SC_SPORADIC_SERVER___117 = 160,
    _SC_THREAD_SPORADIC_SERVER___117 = 161,
    _SC_SYSTEM_DATABASE___117 = 162,
    _SC_SYSTEM_DATABASE_R___117 = 163,
    _SC_TIMEOUTS___117 = 164,
    _SC_TYPED_MEMORY_OBJECTS___117 = 165,
    _SC_USER_GROUPS___117 = 166,
    _SC_USER_GROUPS_R___117 = 167,
    _SC_2_PBS___117 = 168,
    _SC_2_PBS_ACCOUNTING___117 = 169,
    _SC_2_PBS_LOCATE___117 = 170,
    _SC_2_PBS_MESSAGE___117 = 171,
    _SC_2_PBS_TRACK___117 = 172,
    _SC_SYMLOOP_MAX___117 = 173,
    _SC_STREAMS___117 = 174,
    _SC_2_PBS_CHECKPOINT___117 = 175,
    _SC_V6_ILP32_OFF32___117 = 176,
    _SC_V6_ILP32_OFFBIG___117 = 177,
    _SC_V6_LP64_OFF64___117 = 178,
    _SC_V6_LPBIG_OFFBIG___117 = 179,
    _SC_HOST_NAME_MAX___117 = 180,
    _SC_TRACE___117 = 181,
    _SC_TRACE_EVENT_FILTER___117 = 182,
    _SC_TRACE_INHERIT___117 = 183,
    _SC_TRACE_LOG___117 = 184,
    _SC_LEVEL1_ICACHE_SIZE___117 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___117 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___117 = 187,
    _SC_LEVEL1_DCACHE_SIZE___117 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___117 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___117 = 190,
    _SC_LEVEL2_CACHE_SIZE___117 = 191,
    _SC_LEVEL2_CACHE_ASSOC___117 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___117 = 193,
    _SC_LEVEL3_CACHE_SIZE___117 = 194,
    _SC_LEVEL3_CACHE_ASSOC___117 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___117 = 196,
    _SC_LEVEL4_CACHE_SIZE___117 = 197,
    _SC_LEVEL4_CACHE_ASSOC___117 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___117 = 199,
    _SC_IPV6___117 = 235,
    _SC_RAW_SOCKETS___117 = 236,
    _SC_V7_ILP32_OFF32___117 = 237,
    _SC_V7_ILP32_OFFBIG___117 = 238,
    _SC_V7_LP64_OFF64___117 = 239,
    _SC_V7_LPBIG_OFFBIG___117 = 240,
    _SC_SS_REPL_MAX___117 = 241,
    _SC_TRACE_EVENT_NAME_MAX___117 = 242,
    _SC_TRACE_NAME_MAX___117 = 243,
    _SC_TRACE_SYS_MAX___117 = 244,
    _SC_TRACE_USER_EVENT_MAX___117 = 245,
    _SC_XOPEN_STREAMS___117 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___117 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___117 = 248
} ;
enum __anonenum_875524036___117 {
    _CS_PATH___117 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___117 = 1,
    _CS_GNU_LIBC_VERSION___117 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___117 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___117 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___117 = 5,
    _CS_LFS_CFLAGS___117 = 1000,
    _CS_LFS_LDFLAGS___117 = 1001,
    _CS_LFS_LIBS___117 = 1002,
    _CS_LFS_LINTFLAGS___117 = 1003,
    _CS_LFS64_CFLAGS___117 = 1004,
    _CS_LFS64_LDFLAGS___117 = 1005,
    _CS_LFS64_LIBS___117 = 1006,
    _CS_LFS64_LINTFLAGS___117 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___117 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___117 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___117 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___117 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___117 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___117 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___117 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___117 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___117 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___117 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___117 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___117 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___117 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___117 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___117 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___117 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___117 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___117 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___117 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___117 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___117 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___117 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___117 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___117 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___117 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___117 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___117 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___117 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___117 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___117 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___117 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___117 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___117 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___117 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___117 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___117 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___117 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___117 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___117 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___117 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___117 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___117 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___117 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___117 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___117 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___117 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___117 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___117 = 1147,
    _CS_V6_ENV___117 = 1148,
    _CS_V7_ENV___117 = 1149
} ;
enum __anonenum_513775621___117 {
    DT_UNKNOWN___117 = 0,
    DT_FIFO___117 = 1,
    DT_CHR___117 = 2,
    DT_DIR___117 = 4,
    DT_BLK___117 = 6,
    DT_REG___117 = 8,
    DT_LNK___117 = 10,
    DT_SOCK___117 = 12,
    DT_WHT___117 = 14
} ;
enum __anonenum_77002343___117 {
    SI_ASYNCNL___117 = -60,
    SI_TKILL___117 = -6,
    SI_SIGIO___117 = -5,
    SI_ASYNCIO___117 = -4,
    SI_MESGQ___117 = -3,
    SI_TIMER___117 = -2,
    SI_QUEUE___117 = -1,
    SI_USER___117 = 0,
    SI_KERNEL___117 = 128
} ;
enum __anonenum_131038172___117 {
    ILL_ILLOPC___117 = 1,
    ILL_ILLOPN___117 = 2,
    ILL_ILLADR___117 = 3,
    ILL_ILLTRP___117 = 4,
    ILL_PRVOPC___117 = 5,
    ILL_PRVREG___117 = 6,
    ILL_COPROC___117 = 7,
    ILL_BADSTK___117 = 8
} ;
enum __anonenum_452038093___117 {
    FPE_INTDIV___117 = 1,
    FPE_INTOVF___117 = 2,
    FPE_FLTDIV___117 = 3,
    FPE_FLTOVF___117 = 4,
    FPE_FLTUND___117 = 5,
    FPE_FLTRES___117 = 6,
    FPE_FLTINV___117 = 7,
    FPE_FLTSUB___117 = 8
} ;
enum __anonenum_30976155___117 {
    SEGV_MAPERR___117 = 1,
    SEGV_ACCERR___117 = 2,
    SEGV_BNDERR___117 = 3,
    SEGV_PKUERR___117 = 4
} ;
enum __anonenum_1036286214___117 {
    BUS_ADRALN___117 = 1,
    BUS_ADRERR___117 = 2,
    BUS_OBJERR___117 = 3,
    BUS_MCEERR_AR___117 = 4,
    BUS_MCEERR_AO___117 = 5
} ;
enum __anonenum_493465559___117 {
    TRAP_BRKPT___117 = 1,
    TRAP_TRACE___117 = 2
} ;
enum __anonenum_23175539___117 {
    CLD_EXITED___117 = 1,
    CLD_KILLED___117 = 2,
    CLD_DUMPED___117 = 3,
    CLD_TRAPPED___117 = 4,
    CLD_STOPPED___117 = 5,
    CLD_CONTINUED___117 = 6
} ;
enum __anonenum_111643124___117 {
    POLL_IN___117 = 1,
    POLL_OUT___117 = 2,
    POLL_MSG___117 = 3,
    POLL_ERR___117 = 4,
    POLL_PRI___117 = 5,
    POLL_HUP___117 = 6
} ;
enum __anonenum_852341087___117 {
    SIGEV_SIGNAL___117 = 0,
    SIGEV_NONE___117 = 1,
    SIGEV_THREAD___117 = 2,
    SIGEV_THREAD_ID___117 = 4
} ;
enum __anonenum_451154152___117 {
    REG_R8___117 = 0,
    REG_R9___117 = 1,
    REG_R10___117 = 2,
    REG_R11___117 = 3,
    REG_R12___117 = 4,
    REG_R13___117 = 5,
    REG_R14___117 = 6,
    REG_R15___117 = 7,
    REG_RDI___117 = 8,
    REG_RSI___117 = 9,
    REG_RBP___117 = 10,
    REG_RBX___117 = 11,
    REG_RDX___117 = 12,
    REG_RAX___117 = 13,
    REG_RCX___117 = 14,
    REG_RSP___117 = 15,
    REG_RIP___117 = 16,
    REG_EFL___117 = 17,
    REG_CSGSFS___117 = 18,
    REG_ERR___117 = 19,
    REG_TRAPNO___117 = 20,
    REG_OLDMASK___117 = 21,
    REG_CR2___117 = 22
} ;
enum __anonenum_57186863___117 {
    SS_ONSTACK___117 = 1,
    SS_DISABLE___117 = 2
} ;
enum __anonenum_83571709___117 {
    MSG_OOB___117 = 1,
    MSG_PEEK___117 = 2,
    MSG_DONTROUTE___117 = 4,
    MSG_TRYHARD___117 = 4,
    MSG_CTRUNC___117 = 8,
    MSG_PROXY___117 = 16,
    MSG_TRUNC___117 = 32,
    MSG_DONTWAIT___117 = 64,
    MSG_EOR___117 = 128,
    MSG_WAITALL___117 = 256,
    MSG_FIN___117 = 512,
    MSG_SYN___117 = 1024,
    MSG_CONFIRM___117 = 2048,
    MSG_RST___117 = 4096,
    MSG_ERRQUEUE___117 = 8192,
    MSG_NOSIGNAL___117 = 16384,
    MSG_MORE___117 = 32768,
    MSG_WAITFORONE___117 = 65536,
    MSG_BATCH___117 = 262144,
    MSG_ZEROCOPY___117 = 67108864,
    MSG_FASTOPEN___117 = 536870912,
    MSG_CMSG_CLOEXEC___117 = 1073741824
} ;
enum __anonenum_617082774___117 {
    SCM_RIGHTS___117 = 1,
    SCM_CREDENTIALS___117 = 2
} ;
enum __anonenum_606441560___117 {
    SHUT_RD___117 = 0,
    SHUT_WR___117 = 1,
    SHUT_RDWR___117 = 2
} ;
enum __anonenum_681669233___117 {
    IPPROTO_IP___117 = 0,
    IPPROTO_ICMP___117 = 1,
    IPPROTO_IGMP___117 = 2,
    IPPROTO_IPIP___117 = 4,
    IPPROTO_TCP___117 = 6,
    IPPROTO_EGP___117 = 8,
    IPPROTO_PUP___117 = 12,
    IPPROTO_UDP___117 = 17,
    IPPROTO_IDP___117 = 22,
    IPPROTO_TP___117 = 29,
    IPPROTO_DCCP___117 = 33,
    IPPROTO_IPV6___117 = 41,
    IPPROTO_RSVP___117 = 46,
    IPPROTO_GRE___117 = 47,
    IPPROTO_ESP___117 = 50,
    IPPROTO_AH___117 = 51,
    IPPROTO_MTP___117 = 92,
    IPPROTO_BEETPH___117 = 94,
    IPPROTO_ENCAP___117 = 98,
    IPPROTO_PIM___117 = 103,
    IPPROTO_COMP___117 = 108,
    IPPROTO_SCTP___117 = 132,
    IPPROTO_UDPLITE___117 = 136,
    IPPROTO_MPLS___117 = 137,
    IPPROTO_RAW___117 = 255,
    IPPROTO_MAX___117 = 256
} ;
enum __anonenum_218739988___117 {
    IPPROTO_HOPOPTS___117 = 0,
    IPPROTO_ROUTING___117 = 43,
    IPPROTO_FRAGMENT___117 = 44,
    IPPROTO_ICMPV6___117 = 58,
    IPPROTO_NONE___117 = 59,
    IPPROTO_DSTOPTS___117 = 60,
    IPPROTO_MH___117 = 135
} ;
enum __anonenum_662268580___117 {
    IPPORT_ECHO___117 = 7,
    IPPORT_DISCARD___117 = 9,
    IPPORT_SYSTAT___117 = 11,
    IPPORT_DAYTIME___117 = 13,
    IPPORT_NETSTAT___117 = 15,
    IPPORT_FTP___117 = 21,
    IPPORT_TELNET___117 = 23,
    IPPORT_SMTP___117 = 25,
    IPPORT_TIMESERVER___117 = 37,
    IPPORT_NAMESERVER___117 = 42,
    IPPORT_WHOIS___117 = 43,
    IPPORT_MTP___117 = 57,
    IPPORT_TFTP___117 = 69,
    IPPORT_RJE___117 = 77,
    IPPORT_FINGER___117 = 79,
    IPPORT_TTYLINK___117 = 87,
    IPPORT_SUPDUP___117 = 95,
    IPPORT_EXECSERVER___117 = 512,
    IPPORT_LOGINSERVER___117 = 513,
    IPPORT_CMDSERVER___117 = 514,
    IPPORT_EFSSERVER___117 = 520,
    IPPORT_BIFFUDP___117 = 512,
    IPPORT_WHOSERVER___117 = 513,
    IPPORT_ROUTESERVER___117 = 520,
    IPPORT_RESERVED___117 = 1024,
    IPPORT_USERRESERVED___117 = 5000
} ;
enum __anonenum_788308992___117 {
    TCP_ESTABLISHED___117 = 1,
    TCP_SYN_SENT___117 = 2,
    TCP_SYN_RECV___117 = 3,
    TCP_FIN_WAIT1___117 = 4,
    TCP_FIN_WAIT2___117 = 5,
    TCP_TIME_WAIT___117 = 6,
    TCP_CLOSE___117 = 7,
    TCP_CLOSE_WAIT___117 = 8,
    TCP_LAST_ACK___117 = 9,
    TCP_LISTEN___117 = 10,
    TCP_CLOSING___117 = 11
} ;
enum __anonenum_221125648___117 {
    TCP_NO_QUEUE___117 = 0,
    TCP_RECV_QUEUE___117 = 1,
    TCP_SEND_QUEUE___117 = 2,
    TCP_QUEUES_NR___117 = 3
} ;
enum __anonenum_34415463___117 {
    PTHREAD_CREATE_JOINABLE___117 = 0,
    PTHREAD_CREATE_DETACHED___117 = 1
} ;
enum __anonenum_303612439___117 {
    PTHREAD_MUTEX_TIMED_NP___117 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___117 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___117 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___117 = 3,
    PTHREAD_MUTEX_NORMAL___117 = 0,
    PTHREAD_MUTEX_RECURSIVE___117 = 1,
    PTHREAD_MUTEX_ERRORCHECK___117 = 2,
    PTHREAD_MUTEX_DEFAULT___117 = 0,
    PTHREAD_MUTEX_FAST_NP___117 = 0
} ;
enum __anonenum_931900394___117 {
    PTHREAD_MUTEX_STALLED___117 = 0,
    PTHREAD_MUTEX_STALLED_NP___117 = 0,
    PTHREAD_MUTEX_ROBUST___117 = 1,
    PTHREAD_MUTEX_ROBUST_NP___117 = 1
} ;
enum __anonenum_205214487___117 {
    PTHREAD_PRIO_NONE___117 = 0,
    PTHREAD_PRIO_INHERIT___117 = 1,
    PTHREAD_PRIO_PROTECT___117 = 2
} ;
enum __anonenum_25043950___117 {
    PTHREAD_RWLOCK_PREFER_READER_NP___117 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___117 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___117 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___117 = 0
} ;
enum __anonenum_436439511___117 {
    PTHREAD_INHERIT_SCHED___117 = 0,
    PTHREAD_EXPLICIT_SCHED___117 = 1
} ;
enum __anonenum_998661166___117 {
    PTHREAD_SCOPE_SYSTEM___117 = 0,
    PTHREAD_SCOPE_PROCESS___117 = 1
} ;
enum __anonenum_146137331___117 {
    PTHREAD_PROCESS_PRIVATE___117 = 0,
    PTHREAD_PROCESS_SHARED___117 = 1
} ;
enum __anonenum_53396917___117 {
    PTHREAD_CANCEL_ENABLE___117 = 0,
    PTHREAD_CANCEL_DISABLE___117 = 1
} ;
enum __anonenum_904563783___117 {
    PTHREAD_CANCEL_DEFERRED___117 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___117 = 1
} ;
enum __anonenum_672052974___117 {
    SSL_CT_VALIDATION_PERMISSIVE___117 = 0,
    SSL_CT_VALIDATION_STRICT___117 = 1
} ;
enum __anonenum_437032235___118 {
    _PC_LINK_MAX___118 = 0,
    _PC_MAX_CANON___118 = 1,
    _PC_MAX_INPUT___118 = 2,
    _PC_NAME_MAX___118 = 3,
    _PC_PATH_MAX___118 = 4,
    _PC_PIPE_BUF___118 = 5,
    _PC_CHOWN_RESTRICTED___118 = 6,
    _PC_NO_TRUNC___118 = 7,
    _PC_VDISABLE___118 = 8,
    _PC_SYNC_IO___118 = 9,
    _PC_ASYNC_IO___118 = 10,
    _PC_PRIO_IO___118 = 11,
    _PC_SOCK_MAXBUF___118 = 12,
    _PC_FILESIZEBITS___118 = 13,
    _PC_REC_INCR_XFER_SIZE___118 = 14,
    _PC_REC_MAX_XFER_SIZE___118 = 15,
    _PC_REC_MIN_XFER_SIZE___118 = 16,
    _PC_REC_XFER_ALIGN___118 = 17,
    _PC_ALLOC_SIZE_MIN___118 = 18,
    _PC_SYMLINK_MAX___118 = 19,
    _PC_2_SYMLINKS___118 = 20
} ;
enum __anonenum_315186338___118 {
    _SC_ARG_MAX___118 = 0,
    _SC_CHILD_MAX___118 = 1,
    _SC_CLK_TCK___118 = 2,
    _SC_NGROUPS_MAX___118 = 3,
    _SC_OPEN_MAX___118 = 4,
    _SC_STREAM_MAX___118 = 5,
    _SC_TZNAME_MAX___118 = 6,
    _SC_JOB_CONTROL___118 = 7,
    _SC_SAVED_IDS___118 = 8,
    _SC_REALTIME_SIGNALS___118 = 9,
    _SC_PRIORITY_SCHEDULING___118 = 10,
    _SC_TIMERS___118 = 11,
    _SC_ASYNCHRONOUS_IO___118 = 12,
    _SC_PRIORITIZED_IO___118 = 13,
    _SC_SYNCHRONIZED_IO___118 = 14,
    _SC_FSYNC___118 = 15,
    _SC_MAPPED_FILES___118 = 16,
    _SC_MEMLOCK___118 = 17,
    _SC_MEMLOCK_RANGE___118 = 18,
    _SC_MEMORY_PROTECTION___118 = 19,
    _SC_MESSAGE_PASSING___118 = 20,
    _SC_SEMAPHORES___118 = 21,
    _SC_SHARED_MEMORY_OBJECTS___118 = 22,
    _SC_AIO_LISTIO_MAX___118 = 23,
    _SC_AIO_MAX___118 = 24,
    _SC_AIO_PRIO_DELTA_MAX___118 = 25,
    _SC_DELAYTIMER_MAX___118 = 26,
    _SC_MQ_OPEN_MAX___118 = 27,
    _SC_MQ_PRIO_MAX___118 = 28,
    _SC_VERSION___118 = 29,
    _SC_PAGESIZE___118 = 30,
    _SC_RTSIG_MAX___118 = 31,
    _SC_SEM_NSEMS_MAX___118 = 32,
    _SC_SEM_VALUE_MAX___118 = 33,
    _SC_SIGQUEUE_MAX___118 = 34,
    _SC_TIMER_MAX___118 = 35,
    _SC_BC_BASE_MAX___118 = 36,
    _SC_BC_DIM_MAX___118 = 37,
    _SC_BC_SCALE_MAX___118 = 38,
    _SC_BC_STRING_MAX___118 = 39,
    _SC_COLL_WEIGHTS_MAX___118 = 40,
    _SC_EQUIV_CLASS_MAX___118 = 41,
    _SC_EXPR_NEST_MAX___118 = 42,
    _SC_LINE_MAX___118 = 43,
    _SC_RE_DUP_MAX___118 = 44,
    _SC_CHARCLASS_NAME_MAX___118 = 45,
    _SC_2_VERSION___118 = 46,
    _SC_2_C_BIND___118 = 47,
    _SC_2_C_DEV___118 = 48,
    _SC_2_FORT_DEV___118 = 49,
    _SC_2_FORT_RUN___118 = 50,
    _SC_2_SW_DEV___118 = 51,
    _SC_2_LOCALEDEF___118 = 52,
    _SC_PII___118 = 53,
    _SC_PII_XTI___118 = 54,
    _SC_PII_SOCKET___118 = 55,
    _SC_PII_INTERNET___118 = 56,
    _SC_PII_OSI___118 = 57,
    _SC_POLL___118 = 58,
    _SC_SELECT___118 = 59,
    _SC_UIO_MAXIOV___118 = 60,
    _SC_IOV_MAX___118 = 60,
    _SC_PII_INTERNET_STREAM___118 = 61,
    _SC_PII_INTERNET_DGRAM___118 = 62,
    _SC_PII_OSI_COTS___118 = 63,
    _SC_PII_OSI_CLTS___118 = 64,
    _SC_PII_OSI_M___118 = 65,
    _SC_T_IOV_MAX___118 = 66,
    _SC_THREADS___118 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___118 = 68,
    _SC_GETGR_R_SIZE_MAX___118 = 69,
    _SC_GETPW_R_SIZE_MAX___118 = 70,
    _SC_LOGIN_NAME_MAX___118 = 71,
    _SC_TTY_NAME_MAX___118 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___118 = 73,
    _SC_THREAD_KEYS_MAX___118 = 74,
    _SC_THREAD_STACK_MIN___118 = 75,
    _SC_THREAD_THREADS_MAX___118 = 76,
    _SC_THREAD_ATTR_STACKADDR___118 = 77,
    _SC_THREAD_ATTR_STACKSIZE___118 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___118 = 79,
    _SC_THREAD_PRIO_INHERIT___118 = 80,
    _SC_THREAD_PRIO_PROTECT___118 = 81,
    _SC_THREAD_PROCESS_SHARED___118 = 82,
    _SC_NPROCESSORS_CONF___118 = 83,
    _SC_NPROCESSORS_ONLN___118 = 84,
    _SC_PHYS_PAGES___118 = 85,
    _SC_AVPHYS_PAGES___118 = 86,
    _SC_ATEXIT_MAX___118 = 87,
    _SC_PASS_MAX___118 = 88,
    _SC_XOPEN_VERSION___118 = 89,
    _SC_XOPEN_XCU_VERSION___118 = 90,
    _SC_XOPEN_UNIX___118 = 91,
    _SC_XOPEN_CRYPT___118 = 92,
    _SC_XOPEN_ENH_I18N___118 = 93,
    _SC_XOPEN_SHM___118 = 94,
    _SC_2_CHAR_TERM___118 = 95,
    _SC_2_C_VERSION___118 = 96,
    _SC_2_UPE___118 = 97,
    _SC_XOPEN_XPG2___118 = 98,
    _SC_XOPEN_XPG3___118 = 99,
    _SC_XOPEN_XPG4___118 = 100,
    _SC_CHAR_BIT___118 = 101,
    _SC_CHAR_MAX___118 = 102,
    _SC_CHAR_MIN___118 = 103,
    _SC_INT_MAX___118 = 104,
    _SC_INT_MIN___118 = 105,
    _SC_LONG_BIT___118 = 106,
    _SC_WORD_BIT___118 = 107,
    _SC_MB_LEN_MAX___118 = 108,
    _SC_NZERO___118 = 109,
    _SC_SSIZE_MAX___118 = 110,
    _SC_SCHAR_MAX___118 = 111,
    _SC_SCHAR_MIN___118 = 112,
    _SC_SHRT_MAX___118 = 113,
    _SC_SHRT_MIN___118 = 114,
    _SC_UCHAR_MAX___118 = 115,
    _SC_UINT_MAX___118 = 116,
    _SC_ULONG_MAX___118 = 117,
    _SC_USHRT_MAX___118 = 118,
    _SC_NL_ARGMAX___118 = 119,
    _SC_NL_LANGMAX___118 = 120,
    _SC_NL_MSGMAX___118 = 121,
    _SC_NL_NMAX___118 = 122,
    _SC_NL_SETMAX___118 = 123,
    _SC_NL_TEXTMAX___118 = 124,
    _SC_XBS5_ILP32_OFF32___118 = 125,
    _SC_XBS5_ILP32_OFFBIG___118 = 126,
    _SC_XBS5_LP64_OFF64___118 = 127,
    _SC_XBS5_LPBIG_OFFBIG___118 = 128,
    _SC_XOPEN_LEGACY___118 = 129,
    _SC_XOPEN_REALTIME___118 = 130,
    _SC_XOPEN_REALTIME_THREADS___118 = 131,
    _SC_ADVISORY_INFO___118 = 132,
    _SC_BARRIERS___118 = 133,
    _SC_BASE___118 = 134,
    _SC_C_LANG_SUPPORT___118 = 135,
    _SC_C_LANG_SUPPORT_R___118 = 136,
    _SC_CLOCK_SELECTION___118 = 137,
    _SC_CPUTIME___118 = 138,
    _SC_THREAD_CPUTIME___118 = 139,
    _SC_DEVICE_IO___118 = 140,
    _SC_DEVICE_SPECIFIC___118 = 141,
    _SC_DEVICE_SPECIFIC_R___118 = 142,
    _SC_FD_MGMT___118 = 143,
    _SC_FIFO___118 = 144,
    _SC_PIPE___118 = 145,
    _SC_FILE_ATTRIBUTES___118 = 146,
    _SC_FILE_LOCKING___118 = 147,
    _SC_FILE_SYSTEM___118 = 148,
    _SC_MONOTONIC_CLOCK___118 = 149,
    _SC_MULTI_PROCESS___118 = 150,
    _SC_SINGLE_PROCESS___118 = 151,
    _SC_NETWORKING___118 = 152,
    _SC_READER_WRITER_LOCKS___118 = 153,
    _SC_SPIN_LOCKS___118 = 154,
    _SC_REGEXP___118 = 155,
    _SC_REGEX_VERSION___118 = 156,
    _SC_SHELL___118 = 157,
    _SC_SIGNALS___118 = 158,
    _SC_SPAWN___118 = 159,
    _SC_SPORADIC_SERVER___118 = 160,
    _SC_THREAD_SPORADIC_SERVER___118 = 161,
    _SC_SYSTEM_DATABASE___118 = 162,
    _SC_SYSTEM_DATABASE_R___118 = 163,
    _SC_TIMEOUTS___118 = 164,
    _SC_TYPED_MEMORY_OBJECTS___118 = 165,
    _SC_USER_GROUPS___118 = 166,
    _SC_USER_GROUPS_R___118 = 167,
    _SC_2_PBS___118 = 168,
    _SC_2_PBS_ACCOUNTING___118 = 169,
    _SC_2_PBS_LOCATE___118 = 170,
    _SC_2_PBS_MESSAGE___118 = 171,
    _SC_2_PBS_TRACK___118 = 172,
    _SC_SYMLOOP_MAX___118 = 173,
    _SC_STREAMS___118 = 174,
    _SC_2_PBS_CHECKPOINT___118 = 175,
    _SC_V6_ILP32_OFF32___118 = 176,
    _SC_V6_ILP32_OFFBIG___118 = 177,
    _SC_V6_LP64_OFF64___118 = 178,
    _SC_V6_LPBIG_OFFBIG___118 = 179,
    _SC_HOST_NAME_MAX___118 = 180,
    _SC_TRACE___118 = 181,
    _SC_TRACE_EVENT_FILTER___118 = 182,
    _SC_TRACE_INHERIT___118 = 183,
    _SC_TRACE_LOG___118 = 184,
    _SC_LEVEL1_ICACHE_SIZE___118 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___118 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___118 = 187,
    _SC_LEVEL1_DCACHE_SIZE___118 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___118 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___118 = 190,
    _SC_LEVEL2_CACHE_SIZE___118 = 191,
    _SC_LEVEL2_CACHE_ASSOC___118 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___118 = 193,
    _SC_LEVEL3_CACHE_SIZE___118 = 194,
    _SC_LEVEL3_CACHE_ASSOC___118 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___118 = 196,
    _SC_LEVEL4_CACHE_SIZE___118 = 197,
    _SC_LEVEL4_CACHE_ASSOC___118 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___118 = 199,
    _SC_IPV6___118 = 235,
    _SC_RAW_SOCKETS___118 = 236,
    _SC_V7_ILP32_OFF32___118 = 237,
    _SC_V7_ILP32_OFFBIG___118 = 238,
    _SC_V7_LP64_OFF64___118 = 239,
    _SC_V7_LPBIG_OFFBIG___118 = 240,
    _SC_SS_REPL_MAX___118 = 241,
    _SC_TRACE_EVENT_NAME_MAX___118 = 242,
    _SC_TRACE_NAME_MAX___118 = 243,
    _SC_TRACE_SYS_MAX___118 = 244,
    _SC_TRACE_USER_EVENT_MAX___118 = 245,
    _SC_XOPEN_STREAMS___118 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___118 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___118 = 248
} ;
enum __anonenum_875524036___118 {
    _CS_PATH___118 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___118 = 1,
    _CS_GNU_LIBC_VERSION___118 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___118 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___118 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___118 = 5,
    _CS_LFS_CFLAGS___118 = 1000,
    _CS_LFS_LDFLAGS___118 = 1001,
    _CS_LFS_LIBS___118 = 1002,
    _CS_LFS_LINTFLAGS___118 = 1003,
    _CS_LFS64_CFLAGS___118 = 1004,
    _CS_LFS64_LDFLAGS___118 = 1005,
    _CS_LFS64_LIBS___118 = 1006,
    _CS_LFS64_LINTFLAGS___118 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___118 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___118 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___118 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___118 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___118 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___118 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___118 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___118 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___118 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___118 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___118 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___118 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___118 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___118 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___118 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___118 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___118 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___118 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___118 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___118 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___118 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___118 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___118 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___118 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___118 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___118 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___118 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___118 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___118 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___118 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___118 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___118 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___118 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___118 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___118 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___118 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___118 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___118 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___118 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___118 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___118 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___118 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___118 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___118 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___118 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___118 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___118 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___118 = 1147,
    _CS_V6_ENV___118 = 1148,
    _CS_V7_ENV___118 = 1149
} ;
enum __anonenum_513775621___118 {
    DT_UNKNOWN___118 = 0,
    DT_FIFO___118 = 1,
    DT_CHR___118 = 2,
    DT_DIR___118 = 4,
    DT_BLK___118 = 6,
    DT_REG___118 = 8,
    DT_LNK___118 = 10,
    DT_SOCK___118 = 12,
    DT_WHT___118 = 14
} ;
enum __anonenum_77002343___118 {
    SI_ASYNCNL___118 = -60,
    SI_TKILL___118 = -6,
    SI_SIGIO___118 = -5,
    SI_ASYNCIO___118 = -4,
    SI_MESGQ___118 = -3,
    SI_TIMER___118 = -2,
    SI_QUEUE___118 = -1,
    SI_USER___118 = 0,
    SI_KERNEL___118 = 128
} ;
enum __anonenum_131038172___118 {
    ILL_ILLOPC___118 = 1,
    ILL_ILLOPN___118 = 2,
    ILL_ILLADR___118 = 3,
    ILL_ILLTRP___118 = 4,
    ILL_PRVOPC___118 = 5,
    ILL_PRVREG___118 = 6,
    ILL_COPROC___118 = 7,
    ILL_BADSTK___118 = 8
} ;
enum __anonenum_452038093___118 {
    FPE_INTDIV___118 = 1,
    FPE_INTOVF___118 = 2,
    FPE_FLTDIV___118 = 3,
    FPE_FLTOVF___118 = 4,
    FPE_FLTUND___118 = 5,
    FPE_FLTRES___118 = 6,
    FPE_FLTINV___118 = 7,
    FPE_FLTSUB___118 = 8
} ;
enum __anonenum_30976155___118 {
    SEGV_MAPERR___118 = 1,
    SEGV_ACCERR___118 = 2,
    SEGV_BNDERR___118 = 3,
    SEGV_PKUERR___118 = 4
} ;
enum __anonenum_1036286214___118 {
    BUS_ADRALN___118 = 1,
    BUS_ADRERR___118 = 2,
    BUS_OBJERR___118 = 3,
    BUS_MCEERR_AR___118 = 4,
    BUS_MCEERR_AO___118 = 5
} ;
enum __anonenum_493465559___118 {
    TRAP_BRKPT___118 = 1,
    TRAP_TRACE___118 = 2
} ;
enum __anonenum_23175539___118 {
    CLD_EXITED___118 = 1,
    CLD_KILLED___118 = 2,
    CLD_DUMPED___118 = 3,
    CLD_TRAPPED___118 = 4,
    CLD_STOPPED___118 = 5,
    CLD_CONTINUED___118 = 6
} ;
enum __anonenum_111643124___118 {
    POLL_IN___118 = 1,
    POLL_OUT___118 = 2,
    POLL_MSG___118 = 3,
    POLL_ERR___118 = 4,
    POLL_PRI___118 = 5,
    POLL_HUP___118 = 6
} ;
enum __anonenum_852341087___118 {
    SIGEV_SIGNAL___118 = 0,
    SIGEV_NONE___118 = 1,
    SIGEV_THREAD___118 = 2,
    SIGEV_THREAD_ID___118 = 4
} ;
enum __anonenum_451154152___118 {
    REG_R8___118 = 0,
    REG_R9___118 = 1,
    REG_R10___118 = 2,
    REG_R11___118 = 3,
    REG_R12___118 = 4,
    REG_R13___118 = 5,
    REG_R14___118 = 6,
    REG_R15___118 = 7,
    REG_RDI___118 = 8,
    REG_RSI___118 = 9,
    REG_RBP___118 = 10,
    REG_RBX___118 = 11,
    REG_RDX___118 = 12,
    REG_RAX___118 = 13,
    REG_RCX___118 = 14,
    REG_RSP___118 = 15,
    REG_RIP___118 = 16,
    REG_EFL___118 = 17,
    REG_CSGSFS___118 = 18,
    REG_ERR___118 = 19,
    REG_TRAPNO___118 = 20,
    REG_OLDMASK___118 = 21,
    REG_CR2___118 = 22
} ;
enum __anonenum_57186863___118 {
    SS_ONSTACK___118 = 1,
    SS_DISABLE___118 = 2
} ;
enum __anonenum_83571709___118 {
    MSG_OOB___118 = 1,
    MSG_PEEK___118 = 2,
    MSG_DONTROUTE___118 = 4,
    MSG_TRYHARD___118 = 4,
    MSG_CTRUNC___118 = 8,
    MSG_PROXY___118 = 16,
    MSG_TRUNC___118 = 32,
    MSG_DONTWAIT___118 = 64,
    MSG_EOR___118 = 128,
    MSG_WAITALL___118 = 256,
    MSG_FIN___118 = 512,
    MSG_SYN___118 = 1024,
    MSG_CONFIRM___118 = 2048,
    MSG_RST___118 = 4096,
    MSG_ERRQUEUE___118 = 8192,
    MSG_NOSIGNAL___118 = 16384,
    MSG_MORE___118 = 32768,
    MSG_WAITFORONE___118 = 65536,
    MSG_BATCH___118 = 262144,
    MSG_ZEROCOPY___118 = 67108864,
    MSG_FASTOPEN___118 = 536870912,
    MSG_CMSG_CLOEXEC___118 = 1073741824
} ;
enum __anonenum_617082774___118 {
    SCM_RIGHTS___118 = 1,
    SCM_CREDENTIALS___118 = 2
} ;
enum __anonenum_606441560___118 {
    SHUT_RD___118 = 0,
    SHUT_WR___118 = 1,
    SHUT_RDWR___118 = 2
} ;
enum __anonenum_681669233___118 {
    IPPROTO_IP___118 = 0,
    IPPROTO_ICMP___118 = 1,
    IPPROTO_IGMP___118 = 2,
    IPPROTO_IPIP___118 = 4,
    IPPROTO_TCP___118 = 6,
    IPPROTO_EGP___118 = 8,
    IPPROTO_PUP___118 = 12,
    IPPROTO_UDP___118 = 17,
    IPPROTO_IDP___118 = 22,
    IPPROTO_TP___118 = 29,
    IPPROTO_DCCP___118 = 33,
    IPPROTO_IPV6___118 = 41,
    IPPROTO_RSVP___118 = 46,
    IPPROTO_GRE___118 = 47,
    IPPROTO_ESP___118 = 50,
    IPPROTO_AH___118 = 51,
    IPPROTO_MTP___118 = 92,
    IPPROTO_BEETPH___118 = 94,
    IPPROTO_ENCAP___118 = 98,
    IPPROTO_PIM___118 = 103,
    IPPROTO_COMP___118 = 108,
    IPPROTO_SCTP___118 = 132,
    IPPROTO_UDPLITE___118 = 136,
    IPPROTO_MPLS___118 = 137,
    IPPROTO_RAW___118 = 255,
    IPPROTO_MAX___118 = 256
} ;
enum __anonenum_218739988___118 {
    IPPROTO_HOPOPTS___118 = 0,
    IPPROTO_ROUTING___118 = 43,
    IPPROTO_FRAGMENT___118 = 44,
    IPPROTO_ICMPV6___118 = 58,
    IPPROTO_NONE___118 = 59,
    IPPROTO_DSTOPTS___118 = 60,
    IPPROTO_MH___118 = 135
} ;
enum __anonenum_662268580___118 {
    IPPORT_ECHO___118 = 7,
    IPPORT_DISCARD___118 = 9,
    IPPORT_SYSTAT___118 = 11,
    IPPORT_DAYTIME___118 = 13,
    IPPORT_NETSTAT___118 = 15,
    IPPORT_FTP___118 = 21,
    IPPORT_TELNET___118 = 23,
    IPPORT_SMTP___118 = 25,
    IPPORT_TIMESERVER___118 = 37,
    IPPORT_NAMESERVER___118 = 42,
    IPPORT_WHOIS___118 = 43,
    IPPORT_MTP___118 = 57,
    IPPORT_TFTP___118 = 69,
    IPPORT_RJE___118 = 77,
    IPPORT_FINGER___118 = 79,
    IPPORT_TTYLINK___118 = 87,
    IPPORT_SUPDUP___118 = 95,
    IPPORT_EXECSERVER___118 = 512,
    IPPORT_LOGINSERVER___118 = 513,
    IPPORT_CMDSERVER___118 = 514,
    IPPORT_EFSSERVER___118 = 520,
    IPPORT_BIFFUDP___118 = 512,
    IPPORT_WHOSERVER___118 = 513,
    IPPORT_ROUTESERVER___118 = 520,
    IPPORT_RESERVED___118 = 1024,
    IPPORT_USERRESERVED___118 = 5000
} ;
enum __anonenum_788308992___118 {
    TCP_ESTABLISHED___118 = 1,
    TCP_SYN_SENT___118 = 2,
    TCP_SYN_RECV___118 = 3,
    TCP_FIN_WAIT1___118 = 4,
    TCP_FIN_WAIT2___118 = 5,
    TCP_TIME_WAIT___118 = 6,
    TCP_CLOSE___118 = 7,
    TCP_CLOSE_WAIT___118 = 8,
    TCP_LAST_ACK___118 = 9,
    TCP_LISTEN___118 = 10,
    TCP_CLOSING___118 = 11
} ;
enum __anonenum_221125648___118 {
    TCP_NO_QUEUE___118 = 0,
    TCP_RECV_QUEUE___118 = 1,
    TCP_SEND_QUEUE___118 = 2,
    TCP_QUEUES_NR___118 = 3
} ;
enum __anonenum_34415463___118 {
    PTHREAD_CREATE_JOINABLE___118 = 0,
    PTHREAD_CREATE_DETACHED___118 = 1
} ;
enum __anonenum_303612439___118 {
    PTHREAD_MUTEX_TIMED_NP___118 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___118 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___118 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___118 = 3,
    PTHREAD_MUTEX_NORMAL___118 = 0,
    PTHREAD_MUTEX_RECURSIVE___118 = 1,
    PTHREAD_MUTEX_ERRORCHECK___118 = 2,
    PTHREAD_MUTEX_DEFAULT___118 = 0,
    PTHREAD_MUTEX_FAST_NP___118 = 0
} ;
enum __anonenum_931900394___118 {
    PTHREAD_MUTEX_STALLED___118 = 0,
    PTHREAD_MUTEX_STALLED_NP___118 = 0,
    PTHREAD_MUTEX_ROBUST___118 = 1,
    PTHREAD_MUTEX_ROBUST_NP___118 = 1
} ;
enum __anonenum_205214487___118 {
    PTHREAD_PRIO_NONE___118 = 0,
    PTHREAD_PRIO_INHERIT___118 = 1,
    PTHREAD_PRIO_PROTECT___118 = 2
} ;
enum __anonenum_25043950___118 {
    PTHREAD_RWLOCK_PREFER_READER_NP___118 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___118 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___118 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___118 = 0
} ;
enum __anonenum_436439511___118 {
    PTHREAD_INHERIT_SCHED___118 = 0,
    PTHREAD_EXPLICIT_SCHED___118 = 1
} ;
enum __anonenum_998661166___118 {
    PTHREAD_SCOPE_SYSTEM___118 = 0,
    PTHREAD_SCOPE_PROCESS___118 = 1
} ;
enum __anonenum_146137331___118 {
    PTHREAD_PROCESS_PRIVATE___118 = 0,
    PTHREAD_PROCESS_SHARED___118 = 1
} ;
enum __anonenum_53396917___118 {
    PTHREAD_CANCEL_ENABLE___118 = 0,
    PTHREAD_CANCEL_DISABLE___118 = 1
} ;
enum __anonenum_904563783___118 {
    PTHREAD_CANCEL_DEFERRED___118 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___118 = 1
} ;
enum __anonenum_672052974___118 {
    SSL_CT_VALIDATION_PERMISSIVE___118 = 0,
    SSL_CT_VALIDATION_STRICT___118 = 1
} ;
enum __anonenum_437032235___119 {
    _PC_LINK_MAX___119 = 0,
    _PC_MAX_CANON___119 = 1,
    _PC_MAX_INPUT___119 = 2,
    _PC_NAME_MAX___119 = 3,
    _PC_PATH_MAX___119 = 4,
    _PC_PIPE_BUF___119 = 5,
    _PC_CHOWN_RESTRICTED___119 = 6,
    _PC_NO_TRUNC___119 = 7,
    _PC_VDISABLE___119 = 8,
    _PC_SYNC_IO___119 = 9,
    _PC_ASYNC_IO___119 = 10,
    _PC_PRIO_IO___119 = 11,
    _PC_SOCK_MAXBUF___119 = 12,
    _PC_FILESIZEBITS___119 = 13,
    _PC_REC_INCR_XFER_SIZE___119 = 14,
    _PC_REC_MAX_XFER_SIZE___119 = 15,
    _PC_REC_MIN_XFER_SIZE___119 = 16,
    _PC_REC_XFER_ALIGN___119 = 17,
    _PC_ALLOC_SIZE_MIN___119 = 18,
    _PC_SYMLINK_MAX___119 = 19,
    _PC_2_SYMLINKS___119 = 20
} ;
enum __anonenum_315186338___119 {
    _SC_ARG_MAX___119 = 0,
    _SC_CHILD_MAX___119 = 1,
    _SC_CLK_TCK___119 = 2,
    _SC_NGROUPS_MAX___119 = 3,
    _SC_OPEN_MAX___119 = 4,
    _SC_STREAM_MAX___119 = 5,
    _SC_TZNAME_MAX___119 = 6,
    _SC_JOB_CONTROL___119 = 7,
    _SC_SAVED_IDS___119 = 8,
    _SC_REALTIME_SIGNALS___119 = 9,
    _SC_PRIORITY_SCHEDULING___119 = 10,
    _SC_TIMERS___119 = 11,
    _SC_ASYNCHRONOUS_IO___119 = 12,
    _SC_PRIORITIZED_IO___119 = 13,
    _SC_SYNCHRONIZED_IO___119 = 14,
    _SC_FSYNC___119 = 15,
    _SC_MAPPED_FILES___119 = 16,
    _SC_MEMLOCK___119 = 17,
    _SC_MEMLOCK_RANGE___119 = 18,
    _SC_MEMORY_PROTECTION___119 = 19,
    _SC_MESSAGE_PASSING___119 = 20,
    _SC_SEMAPHORES___119 = 21,
    _SC_SHARED_MEMORY_OBJECTS___119 = 22,
    _SC_AIO_LISTIO_MAX___119 = 23,
    _SC_AIO_MAX___119 = 24,
    _SC_AIO_PRIO_DELTA_MAX___119 = 25,
    _SC_DELAYTIMER_MAX___119 = 26,
    _SC_MQ_OPEN_MAX___119 = 27,
    _SC_MQ_PRIO_MAX___119 = 28,
    _SC_VERSION___119 = 29,
    _SC_PAGESIZE___119 = 30,
    _SC_RTSIG_MAX___119 = 31,
    _SC_SEM_NSEMS_MAX___119 = 32,
    _SC_SEM_VALUE_MAX___119 = 33,
    _SC_SIGQUEUE_MAX___119 = 34,
    _SC_TIMER_MAX___119 = 35,
    _SC_BC_BASE_MAX___119 = 36,
    _SC_BC_DIM_MAX___119 = 37,
    _SC_BC_SCALE_MAX___119 = 38,
    _SC_BC_STRING_MAX___119 = 39,
    _SC_COLL_WEIGHTS_MAX___119 = 40,
    _SC_EQUIV_CLASS_MAX___119 = 41,
    _SC_EXPR_NEST_MAX___119 = 42,
    _SC_LINE_MAX___119 = 43,
    _SC_RE_DUP_MAX___119 = 44,
    _SC_CHARCLASS_NAME_MAX___119 = 45,
    _SC_2_VERSION___119 = 46,
    _SC_2_C_BIND___119 = 47,
    _SC_2_C_DEV___119 = 48,
    _SC_2_FORT_DEV___119 = 49,
    _SC_2_FORT_RUN___119 = 50,
    _SC_2_SW_DEV___119 = 51,
    _SC_2_LOCALEDEF___119 = 52,
    _SC_PII___119 = 53,
    _SC_PII_XTI___119 = 54,
    _SC_PII_SOCKET___119 = 55,
    _SC_PII_INTERNET___119 = 56,
    _SC_PII_OSI___119 = 57,
    _SC_POLL___119 = 58,
    _SC_SELECT___119 = 59,
    _SC_UIO_MAXIOV___119 = 60,
    _SC_IOV_MAX___119 = 60,
    _SC_PII_INTERNET_STREAM___119 = 61,
    _SC_PII_INTERNET_DGRAM___119 = 62,
    _SC_PII_OSI_COTS___119 = 63,
    _SC_PII_OSI_CLTS___119 = 64,
    _SC_PII_OSI_M___119 = 65,
    _SC_T_IOV_MAX___119 = 66,
    _SC_THREADS___119 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___119 = 68,
    _SC_GETGR_R_SIZE_MAX___119 = 69,
    _SC_GETPW_R_SIZE_MAX___119 = 70,
    _SC_LOGIN_NAME_MAX___119 = 71,
    _SC_TTY_NAME_MAX___119 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___119 = 73,
    _SC_THREAD_KEYS_MAX___119 = 74,
    _SC_THREAD_STACK_MIN___119 = 75,
    _SC_THREAD_THREADS_MAX___119 = 76,
    _SC_THREAD_ATTR_STACKADDR___119 = 77,
    _SC_THREAD_ATTR_STACKSIZE___119 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___119 = 79,
    _SC_THREAD_PRIO_INHERIT___119 = 80,
    _SC_THREAD_PRIO_PROTECT___119 = 81,
    _SC_THREAD_PROCESS_SHARED___119 = 82,
    _SC_NPROCESSORS_CONF___119 = 83,
    _SC_NPROCESSORS_ONLN___119 = 84,
    _SC_PHYS_PAGES___119 = 85,
    _SC_AVPHYS_PAGES___119 = 86,
    _SC_ATEXIT_MAX___119 = 87,
    _SC_PASS_MAX___119 = 88,
    _SC_XOPEN_VERSION___119 = 89,
    _SC_XOPEN_XCU_VERSION___119 = 90,
    _SC_XOPEN_UNIX___119 = 91,
    _SC_XOPEN_CRYPT___119 = 92,
    _SC_XOPEN_ENH_I18N___119 = 93,
    _SC_XOPEN_SHM___119 = 94,
    _SC_2_CHAR_TERM___119 = 95,
    _SC_2_C_VERSION___119 = 96,
    _SC_2_UPE___119 = 97,
    _SC_XOPEN_XPG2___119 = 98,
    _SC_XOPEN_XPG3___119 = 99,
    _SC_XOPEN_XPG4___119 = 100,
    _SC_CHAR_BIT___119 = 101,
    _SC_CHAR_MAX___119 = 102,
    _SC_CHAR_MIN___119 = 103,
    _SC_INT_MAX___119 = 104,
    _SC_INT_MIN___119 = 105,
    _SC_LONG_BIT___119 = 106,
    _SC_WORD_BIT___119 = 107,
    _SC_MB_LEN_MAX___119 = 108,
    _SC_NZERO___119 = 109,
    _SC_SSIZE_MAX___119 = 110,
    _SC_SCHAR_MAX___119 = 111,
    _SC_SCHAR_MIN___119 = 112,
    _SC_SHRT_MAX___119 = 113,
    _SC_SHRT_MIN___119 = 114,
    _SC_UCHAR_MAX___119 = 115,
    _SC_UINT_MAX___119 = 116,
    _SC_ULONG_MAX___119 = 117,
    _SC_USHRT_MAX___119 = 118,
    _SC_NL_ARGMAX___119 = 119,
    _SC_NL_LANGMAX___119 = 120,
    _SC_NL_MSGMAX___119 = 121,
    _SC_NL_NMAX___119 = 122,
    _SC_NL_SETMAX___119 = 123,
    _SC_NL_TEXTMAX___119 = 124,
    _SC_XBS5_ILP32_OFF32___119 = 125,
    _SC_XBS5_ILP32_OFFBIG___119 = 126,
    _SC_XBS5_LP64_OFF64___119 = 127,
    _SC_XBS5_LPBIG_OFFBIG___119 = 128,
    _SC_XOPEN_LEGACY___119 = 129,
    _SC_XOPEN_REALTIME___119 = 130,
    _SC_XOPEN_REALTIME_THREADS___119 = 131,
    _SC_ADVISORY_INFO___119 = 132,
    _SC_BARRIERS___119 = 133,
    _SC_BASE___119 = 134,
    _SC_C_LANG_SUPPORT___119 = 135,
    _SC_C_LANG_SUPPORT_R___119 = 136,
    _SC_CLOCK_SELECTION___119 = 137,
    _SC_CPUTIME___119 = 138,
    _SC_THREAD_CPUTIME___119 = 139,
    _SC_DEVICE_IO___119 = 140,
    _SC_DEVICE_SPECIFIC___119 = 141,
    _SC_DEVICE_SPECIFIC_R___119 = 142,
    _SC_FD_MGMT___119 = 143,
    _SC_FIFO___119 = 144,
    _SC_PIPE___119 = 145,
    _SC_FILE_ATTRIBUTES___119 = 146,
    _SC_FILE_LOCKING___119 = 147,
    _SC_FILE_SYSTEM___119 = 148,
    _SC_MONOTONIC_CLOCK___119 = 149,
    _SC_MULTI_PROCESS___119 = 150,
    _SC_SINGLE_PROCESS___119 = 151,
    _SC_NETWORKING___119 = 152,
    _SC_READER_WRITER_LOCKS___119 = 153,
    _SC_SPIN_LOCKS___119 = 154,
    _SC_REGEXP___119 = 155,
    _SC_REGEX_VERSION___119 = 156,
    _SC_SHELL___119 = 157,
    _SC_SIGNALS___119 = 158,
    _SC_SPAWN___119 = 159,
    _SC_SPORADIC_SERVER___119 = 160,
    _SC_THREAD_SPORADIC_SERVER___119 = 161,
    _SC_SYSTEM_DATABASE___119 = 162,
    _SC_SYSTEM_DATABASE_R___119 = 163,
    _SC_TIMEOUTS___119 = 164,
    _SC_TYPED_MEMORY_OBJECTS___119 = 165,
    _SC_USER_GROUPS___119 = 166,
    _SC_USER_GROUPS_R___119 = 167,
    _SC_2_PBS___119 = 168,
    _SC_2_PBS_ACCOUNTING___119 = 169,
    _SC_2_PBS_LOCATE___119 = 170,
    _SC_2_PBS_MESSAGE___119 = 171,
    _SC_2_PBS_TRACK___119 = 172,
    _SC_SYMLOOP_MAX___119 = 173,
    _SC_STREAMS___119 = 174,
    _SC_2_PBS_CHECKPOINT___119 = 175,
    _SC_V6_ILP32_OFF32___119 = 176,
    _SC_V6_ILP32_OFFBIG___119 = 177,
    _SC_V6_LP64_OFF64___119 = 178,
    _SC_V6_LPBIG_OFFBIG___119 = 179,
    _SC_HOST_NAME_MAX___119 = 180,
    _SC_TRACE___119 = 181,
    _SC_TRACE_EVENT_FILTER___119 = 182,
    _SC_TRACE_INHERIT___119 = 183,
    _SC_TRACE_LOG___119 = 184,
    _SC_LEVEL1_ICACHE_SIZE___119 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___119 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___119 = 187,
    _SC_LEVEL1_DCACHE_SIZE___119 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___119 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___119 = 190,
    _SC_LEVEL2_CACHE_SIZE___119 = 191,
    _SC_LEVEL2_CACHE_ASSOC___119 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___119 = 193,
    _SC_LEVEL3_CACHE_SIZE___119 = 194,
    _SC_LEVEL3_CACHE_ASSOC___119 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___119 = 196,
    _SC_LEVEL4_CACHE_SIZE___119 = 197,
    _SC_LEVEL4_CACHE_ASSOC___119 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___119 = 199,
    _SC_IPV6___119 = 235,
    _SC_RAW_SOCKETS___119 = 236,
    _SC_V7_ILP32_OFF32___119 = 237,
    _SC_V7_ILP32_OFFBIG___119 = 238,
    _SC_V7_LP64_OFF64___119 = 239,
    _SC_V7_LPBIG_OFFBIG___119 = 240,
    _SC_SS_REPL_MAX___119 = 241,
    _SC_TRACE_EVENT_NAME_MAX___119 = 242,
    _SC_TRACE_NAME_MAX___119 = 243,
    _SC_TRACE_SYS_MAX___119 = 244,
    _SC_TRACE_USER_EVENT_MAX___119 = 245,
    _SC_XOPEN_STREAMS___119 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___119 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___119 = 248
} ;
enum __anonenum_875524036___119 {
    _CS_PATH___119 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___119 = 1,
    _CS_GNU_LIBC_VERSION___119 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___119 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___119 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___119 = 5,
    _CS_LFS_CFLAGS___119 = 1000,
    _CS_LFS_LDFLAGS___119 = 1001,
    _CS_LFS_LIBS___119 = 1002,
    _CS_LFS_LINTFLAGS___119 = 1003,
    _CS_LFS64_CFLAGS___119 = 1004,
    _CS_LFS64_LDFLAGS___119 = 1005,
    _CS_LFS64_LIBS___119 = 1006,
    _CS_LFS64_LINTFLAGS___119 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___119 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___119 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___119 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___119 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___119 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___119 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___119 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___119 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___119 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___119 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___119 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___119 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___119 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___119 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___119 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___119 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___119 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___119 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___119 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___119 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___119 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___119 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___119 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___119 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___119 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___119 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___119 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___119 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___119 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___119 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___119 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___119 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___119 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___119 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___119 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___119 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___119 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___119 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___119 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___119 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___119 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___119 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___119 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___119 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___119 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___119 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___119 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___119 = 1147,
    _CS_V6_ENV___119 = 1148,
    _CS_V7_ENV___119 = 1149
} ;
enum __anonenum_513775621___119 {
    DT_UNKNOWN___119 = 0,
    DT_FIFO___119 = 1,
    DT_CHR___119 = 2,
    DT_DIR___119 = 4,
    DT_BLK___119 = 6,
    DT_REG___119 = 8,
    DT_LNK___119 = 10,
    DT_SOCK___119 = 12,
    DT_WHT___119 = 14
} ;
enum __anonenum_77002343___119 {
    SI_ASYNCNL___119 = -60,
    SI_TKILL___119 = -6,
    SI_SIGIO___119 = -5,
    SI_ASYNCIO___119 = -4,
    SI_MESGQ___119 = -3,
    SI_TIMER___119 = -2,
    SI_QUEUE___119 = -1,
    SI_USER___119 = 0,
    SI_KERNEL___119 = 128
} ;
enum __anonenum_131038172___119 {
    ILL_ILLOPC___119 = 1,
    ILL_ILLOPN___119 = 2,
    ILL_ILLADR___119 = 3,
    ILL_ILLTRP___119 = 4,
    ILL_PRVOPC___119 = 5,
    ILL_PRVREG___119 = 6,
    ILL_COPROC___119 = 7,
    ILL_BADSTK___119 = 8
} ;
enum __anonenum_452038093___119 {
    FPE_INTDIV___119 = 1,
    FPE_INTOVF___119 = 2,
    FPE_FLTDIV___119 = 3,
    FPE_FLTOVF___119 = 4,
    FPE_FLTUND___119 = 5,
    FPE_FLTRES___119 = 6,
    FPE_FLTINV___119 = 7,
    FPE_FLTSUB___119 = 8
} ;
enum __anonenum_30976155___119 {
    SEGV_MAPERR___119 = 1,
    SEGV_ACCERR___119 = 2,
    SEGV_BNDERR___119 = 3,
    SEGV_PKUERR___119 = 4
} ;
enum __anonenum_1036286214___119 {
    BUS_ADRALN___119 = 1,
    BUS_ADRERR___119 = 2,
    BUS_OBJERR___119 = 3,
    BUS_MCEERR_AR___119 = 4,
    BUS_MCEERR_AO___119 = 5
} ;
enum __anonenum_493465559___119 {
    TRAP_BRKPT___119 = 1,
    TRAP_TRACE___119 = 2
} ;
enum __anonenum_23175539___119 {
    CLD_EXITED___119 = 1,
    CLD_KILLED___119 = 2,
    CLD_DUMPED___119 = 3,
    CLD_TRAPPED___119 = 4,
    CLD_STOPPED___119 = 5,
    CLD_CONTINUED___119 = 6
} ;
enum __anonenum_111643124___119 {
    POLL_IN___119 = 1,
    POLL_OUT___119 = 2,
    POLL_MSG___119 = 3,
    POLL_ERR___119 = 4,
    POLL_PRI___119 = 5,
    POLL_HUP___119 = 6
} ;
enum __anonenum_852341087___119 {
    SIGEV_SIGNAL___119 = 0,
    SIGEV_NONE___119 = 1,
    SIGEV_THREAD___119 = 2,
    SIGEV_THREAD_ID___119 = 4
} ;
enum __anonenum_451154152___119 {
    REG_R8___119 = 0,
    REG_R9___119 = 1,
    REG_R10___119 = 2,
    REG_R11___119 = 3,
    REG_R12___119 = 4,
    REG_R13___119 = 5,
    REG_R14___119 = 6,
    REG_R15___119 = 7,
    REG_RDI___119 = 8,
    REG_RSI___119 = 9,
    REG_RBP___119 = 10,
    REG_RBX___119 = 11,
    REG_RDX___119 = 12,
    REG_RAX___119 = 13,
    REG_RCX___119 = 14,
    REG_RSP___119 = 15,
    REG_RIP___119 = 16,
    REG_EFL___119 = 17,
    REG_CSGSFS___119 = 18,
    REG_ERR___119 = 19,
    REG_TRAPNO___119 = 20,
    REG_OLDMASK___119 = 21,
    REG_CR2___119 = 22
} ;
enum __anonenum_57186863___119 {
    SS_ONSTACK___119 = 1,
    SS_DISABLE___119 = 2
} ;
enum __anonenum_83571709___119 {
    MSG_OOB___119 = 1,
    MSG_PEEK___119 = 2,
    MSG_DONTROUTE___119 = 4,
    MSG_TRYHARD___119 = 4,
    MSG_CTRUNC___119 = 8,
    MSG_PROXY___119 = 16,
    MSG_TRUNC___119 = 32,
    MSG_DONTWAIT___119 = 64,
    MSG_EOR___119 = 128,
    MSG_WAITALL___119 = 256,
    MSG_FIN___119 = 512,
    MSG_SYN___119 = 1024,
    MSG_CONFIRM___119 = 2048,
    MSG_RST___119 = 4096,
    MSG_ERRQUEUE___119 = 8192,
    MSG_NOSIGNAL___119 = 16384,
    MSG_MORE___119 = 32768,
    MSG_WAITFORONE___119 = 65536,
    MSG_BATCH___119 = 262144,
    MSG_ZEROCOPY___119 = 67108864,
    MSG_FASTOPEN___119 = 536870912,
    MSG_CMSG_CLOEXEC___119 = 1073741824
} ;
enum __anonenum_617082774___119 {
    SCM_RIGHTS___119 = 1,
    SCM_CREDENTIALS___119 = 2
} ;
enum __anonenum_606441560___119 {
    SHUT_RD___119 = 0,
    SHUT_WR___119 = 1,
    SHUT_RDWR___119 = 2
} ;
enum __anonenum_681669233___119 {
    IPPROTO_IP___119 = 0,
    IPPROTO_ICMP___119 = 1,
    IPPROTO_IGMP___119 = 2,
    IPPROTO_IPIP___119 = 4,
    IPPROTO_TCP___119 = 6,
    IPPROTO_EGP___119 = 8,
    IPPROTO_PUP___119 = 12,
    IPPROTO_UDP___119 = 17,
    IPPROTO_IDP___119 = 22,
    IPPROTO_TP___119 = 29,
    IPPROTO_DCCP___119 = 33,
    IPPROTO_IPV6___119 = 41,
    IPPROTO_RSVP___119 = 46,
    IPPROTO_GRE___119 = 47,
    IPPROTO_ESP___119 = 50,
    IPPROTO_AH___119 = 51,
    IPPROTO_MTP___119 = 92,
    IPPROTO_BEETPH___119 = 94,
    IPPROTO_ENCAP___119 = 98,
    IPPROTO_PIM___119 = 103,
    IPPROTO_COMP___119 = 108,
    IPPROTO_SCTP___119 = 132,
    IPPROTO_UDPLITE___119 = 136,
    IPPROTO_MPLS___119 = 137,
    IPPROTO_RAW___119 = 255,
    IPPROTO_MAX___119 = 256
} ;
enum __anonenum_218739988___119 {
    IPPROTO_HOPOPTS___119 = 0,
    IPPROTO_ROUTING___119 = 43,
    IPPROTO_FRAGMENT___119 = 44,
    IPPROTO_ICMPV6___119 = 58,
    IPPROTO_NONE___119 = 59,
    IPPROTO_DSTOPTS___119 = 60,
    IPPROTO_MH___119 = 135
} ;
enum __anonenum_662268580___119 {
    IPPORT_ECHO___119 = 7,
    IPPORT_DISCARD___119 = 9,
    IPPORT_SYSTAT___119 = 11,
    IPPORT_DAYTIME___119 = 13,
    IPPORT_NETSTAT___119 = 15,
    IPPORT_FTP___119 = 21,
    IPPORT_TELNET___119 = 23,
    IPPORT_SMTP___119 = 25,
    IPPORT_TIMESERVER___119 = 37,
    IPPORT_NAMESERVER___119 = 42,
    IPPORT_WHOIS___119 = 43,
    IPPORT_MTP___119 = 57,
    IPPORT_TFTP___119 = 69,
    IPPORT_RJE___119 = 77,
    IPPORT_FINGER___119 = 79,
    IPPORT_TTYLINK___119 = 87,
    IPPORT_SUPDUP___119 = 95,
    IPPORT_EXECSERVER___119 = 512,
    IPPORT_LOGINSERVER___119 = 513,
    IPPORT_CMDSERVER___119 = 514,
    IPPORT_EFSSERVER___119 = 520,
    IPPORT_BIFFUDP___119 = 512,
    IPPORT_WHOSERVER___119 = 513,
    IPPORT_ROUTESERVER___119 = 520,
    IPPORT_RESERVED___119 = 1024,
    IPPORT_USERRESERVED___119 = 5000
} ;
enum __anonenum_788308992___119 {
    TCP_ESTABLISHED___119 = 1,
    TCP_SYN_SENT___119 = 2,
    TCP_SYN_RECV___119 = 3,
    TCP_FIN_WAIT1___119 = 4,
    TCP_FIN_WAIT2___119 = 5,
    TCP_TIME_WAIT___119 = 6,
    TCP_CLOSE___119 = 7,
    TCP_CLOSE_WAIT___119 = 8,
    TCP_LAST_ACK___119 = 9,
    TCP_LISTEN___119 = 10,
    TCP_CLOSING___119 = 11
} ;
enum __anonenum_221125648___119 {
    TCP_NO_QUEUE___119 = 0,
    TCP_RECV_QUEUE___119 = 1,
    TCP_SEND_QUEUE___119 = 2,
    TCP_QUEUES_NR___119 = 3
} ;
enum __anonenum_34415463___119 {
    PTHREAD_CREATE_JOINABLE___119 = 0,
    PTHREAD_CREATE_DETACHED___119 = 1
} ;
enum __anonenum_303612439___119 {
    PTHREAD_MUTEX_TIMED_NP___119 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___119 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___119 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___119 = 3,
    PTHREAD_MUTEX_NORMAL___119 = 0,
    PTHREAD_MUTEX_RECURSIVE___119 = 1,
    PTHREAD_MUTEX_ERRORCHECK___119 = 2,
    PTHREAD_MUTEX_DEFAULT___119 = 0,
    PTHREAD_MUTEX_FAST_NP___119 = 0
} ;
enum __anonenum_931900394___119 {
    PTHREAD_MUTEX_STALLED___119 = 0,
    PTHREAD_MUTEX_STALLED_NP___119 = 0,
    PTHREAD_MUTEX_ROBUST___119 = 1,
    PTHREAD_MUTEX_ROBUST_NP___119 = 1
} ;
enum __anonenum_205214487___119 {
    PTHREAD_PRIO_NONE___119 = 0,
    PTHREAD_PRIO_INHERIT___119 = 1,
    PTHREAD_PRIO_PROTECT___119 = 2
} ;
enum __anonenum_25043950___119 {
    PTHREAD_RWLOCK_PREFER_READER_NP___119 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___119 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___119 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___119 = 0
} ;
enum __anonenum_436439511___119 {
    PTHREAD_INHERIT_SCHED___119 = 0,
    PTHREAD_EXPLICIT_SCHED___119 = 1
} ;
enum __anonenum_998661166___119 {
    PTHREAD_SCOPE_SYSTEM___119 = 0,
    PTHREAD_SCOPE_PROCESS___119 = 1
} ;
enum __anonenum_146137331___119 {
    PTHREAD_PROCESS_PRIVATE___119 = 0,
    PTHREAD_PROCESS_SHARED___119 = 1
} ;
enum __anonenum_53396917___119 {
    PTHREAD_CANCEL_ENABLE___119 = 0,
    PTHREAD_CANCEL_DISABLE___119 = 1
} ;
enum __anonenum_904563783___119 {
    PTHREAD_CANCEL_DEFERRED___119 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___119 = 1
} ;
enum __anonenum_672052974___119 {
    SSL_CT_VALIDATION_PERMISSIVE___119 = 0,
    SSL_CT_VALIDATION_STRICT___119 = 1
} ;
enum __anonenum_437032235___120 {
    _PC_LINK_MAX___120 = 0,
    _PC_MAX_CANON___120 = 1,
    _PC_MAX_INPUT___120 = 2,
    _PC_NAME_MAX___120 = 3,
    _PC_PATH_MAX___120 = 4,
    _PC_PIPE_BUF___120 = 5,
    _PC_CHOWN_RESTRICTED___120 = 6,
    _PC_NO_TRUNC___120 = 7,
    _PC_VDISABLE___120 = 8,
    _PC_SYNC_IO___120 = 9,
    _PC_ASYNC_IO___120 = 10,
    _PC_PRIO_IO___120 = 11,
    _PC_SOCK_MAXBUF___120 = 12,
    _PC_FILESIZEBITS___120 = 13,
    _PC_REC_INCR_XFER_SIZE___120 = 14,
    _PC_REC_MAX_XFER_SIZE___120 = 15,
    _PC_REC_MIN_XFER_SIZE___120 = 16,
    _PC_REC_XFER_ALIGN___120 = 17,
    _PC_ALLOC_SIZE_MIN___120 = 18,
    _PC_SYMLINK_MAX___120 = 19,
    _PC_2_SYMLINKS___120 = 20
} ;
enum __anonenum_315186338___120 {
    _SC_ARG_MAX___120 = 0,
    _SC_CHILD_MAX___120 = 1,
    _SC_CLK_TCK___120 = 2,
    _SC_NGROUPS_MAX___120 = 3,
    _SC_OPEN_MAX___120 = 4,
    _SC_STREAM_MAX___120 = 5,
    _SC_TZNAME_MAX___120 = 6,
    _SC_JOB_CONTROL___120 = 7,
    _SC_SAVED_IDS___120 = 8,
    _SC_REALTIME_SIGNALS___120 = 9,
    _SC_PRIORITY_SCHEDULING___120 = 10,
    _SC_TIMERS___120 = 11,
    _SC_ASYNCHRONOUS_IO___120 = 12,
    _SC_PRIORITIZED_IO___120 = 13,
    _SC_SYNCHRONIZED_IO___120 = 14,
    _SC_FSYNC___120 = 15,
    _SC_MAPPED_FILES___120 = 16,
    _SC_MEMLOCK___120 = 17,
    _SC_MEMLOCK_RANGE___120 = 18,
    _SC_MEMORY_PROTECTION___120 = 19,
    _SC_MESSAGE_PASSING___120 = 20,
    _SC_SEMAPHORES___120 = 21,
    _SC_SHARED_MEMORY_OBJECTS___120 = 22,
    _SC_AIO_LISTIO_MAX___120 = 23,
    _SC_AIO_MAX___120 = 24,
    _SC_AIO_PRIO_DELTA_MAX___120 = 25,
    _SC_DELAYTIMER_MAX___120 = 26,
    _SC_MQ_OPEN_MAX___120 = 27,
    _SC_MQ_PRIO_MAX___120 = 28,
    _SC_VERSION___120 = 29,
    _SC_PAGESIZE___120 = 30,
    _SC_RTSIG_MAX___120 = 31,
    _SC_SEM_NSEMS_MAX___120 = 32,
    _SC_SEM_VALUE_MAX___120 = 33,
    _SC_SIGQUEUE_MAX___120 = 34,
    _SC_TIMER_MAX___120 = 35,
    _SC_BC_BASE_MAX___120 = 36,
    _SC_BC_DIM_MAX___120 = 37,
    _SC_BC_SCALE_MAX___120 = 38,
    _SC_BC_STRING_MAX___120 = 39,
    _SC_COLL_WEIGHTS_MAX___120 = 40,
    _SC_EQUIV_CLASS_MAX___120 = 41,
    _SC_EXPR_NEST_MAX___120 = 42,
    _SC_LINE_MAX___120 = 43,
    _SC_RE_DUP_MAX___120 = 44,
    _SC_CHARCLASS_NAME_MAX___120 = 45,
    _SC_2_VERSION___120 = 46,
    _SC_2_C_BIND___120 = 47,
    _SC_2_C_DEV___120 = 48,
    _SC_2_FORT_DEV___120 = 49,
    _SC_2_FORT_RUN___120 = 50,
    _SC_2_SW_DEV___120 = 51,
    _SC_2_LOCALEDEF___120 = 52,
    _SC_PII___120 = 53,
    _SC_PII_XTI___120 = 54,
    _SC_PII_SOCKET___120 = 55,
    _SC_PII_INTERNET___120 = 56,
    _SC_PII_OSI___120 = 57,
    _SC_POLL___120 = 58,
    _SC_SELECT___120 = 59,
    _SC_UIO_MAXIOV___120 = 60,
    _SC_IOV_MAX___120 = 60,
    _SC_PII_INTERNET_STREAM___120 = 61,
    _SC_PII_INTERNET_DGRAM___120 = 62,
    _SC_PII_OSI_COTS___120 = 63,
    _SC_PII_OSI_CLTS___120 = 64,
    _SC_PII_OSI_M___120 = 65,
    _SC_T_IOV_MAX___120 = 66,
    _SC_THREADS___120 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___120 = 68,
    _SC_GETGR_R_SIZE_MAX___120 = 69,
    _SC_GETPW_R_SIZE_MAX___120 = 70,
    _SC_LOGIN_NAME_MAX___120 = 71,
    _SC_TTY_NAME_MAX___120 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___120 = 73,
    _SC_THREAD_KEYS_MAX___120 = 74,
    _SC_THREAD_STACK_MIN___120 = 75,
    _SC_THREAD_THREADS_MAX___120 = 76,
    _SC_THREAD_ATTR_STACKADDR___120 = 77,
    _SC_THREAD_ATTR_STACKSIZE___120 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___120 = 79,
    _SC_THREAD_PRIO_INHERIT___120 = 80,
    _SC_THREAD_PRIO_PROTECT___120 = 81,
    _SC_THREAD_PROCESS_SHARED___120 = 82,
    _SC_NPROCESSORS_CONF___120 = 83,
    _SC_NPROCESSORS_ONLN___120 = 84,
    _SC_PHYS_PAGES___120 = 85,
    _SC_AVPHYS_PAGES___120 = 86,
    _SC_ATEXIT_MAX___120 = 87,
    _SC_PASS_MAX___120 = 88,
    _SC_XOPEN_VERSION___120 = 89,
    _SC_XOPEN_XCU_VERSION___120 = 90,
    _SC_XOPEN_UNIX___120 = 91,
    _SC_XOPEN_CRYPT___120 = 92,
    _SC_XOPEN_ENH_I18N___120 = 93,
    _SC_XOPEN_SHM___120 = 94,
    _SC_2_CHAR_TERM___120 = 95,
    _SC_2_C_VERSION___120 = 96,
    _SC_2_UPE___120 = 97,
    _SC_XOPEN_XPG2___120 = 98,
    _SC_XOPEN_XPG3___120 = 99,
    _SC_XOPEN_XPG4___120 = 100,
    _SC_CHAR_BIT___120 = 101,
    _SC_CHAR_MAX___120 = 102,
    _SC_CHAR_MIN___120 = 103,
    _SC_INT_MAX___120 = 104,
    _SC_INT_MIN___120 = 105,
    _SC_LONG_BIT___120 = 106,
    _SC_WORD_BIT___120 = 107,
    _SC_MB_LEN_MAX___120 = 108,
    _SC_NZERO___120 = 109,
    _SC_SSIZE_MAX___120 = 110,
    _SC_SCHAR_MAX___120 = 111,
    _SC_SCHAR_MIN___120 = 112,
    _SC_SHRT_MAX___120 = 113,
    _SC_SHRT_MIN___120 = 114,
    _SC_UCHAR_MAX___120 = 115,
    _SC_UINT_MAX___120 = 116,
    _SC_ULONG_MAX___120 = 117,
    _SC_USHRT_MAX___120 = 118,
    _SC_NL_ARGMAX___120 = 119,
    _SC_NL_LANGMAX___120 = 120,
    _SC_NL_MSGMAX___120 = 121,
    _SC_NL_NMAX___120 = 122,
    _SC_NL_SETMAX___120 = 123,
    _SC_NL_TEXTMAX___120 = 124,
    _SC_XBS5_ILP32_OFF32___120 = 125,
    _SC_XBS5_ILP32_OFFBIG___120 = 126,
    _SC_XBS5_LP64_OFF64___120 = 127,
    _SC_XBS5_LPBIG_OFFBIG___120 = 128,
    _SC_XOPEN_LEGACY___120 = 129,
    _SC_XOPEN_REALTIME___120 = 130,
    _SC_XOPEN_REALTIME_THREADS___120 = 131,
    _SC_ADVISORY_INFO___120 = 132,
    _SC_BARRIERS___120 = 133,
    _SC_BASE___120 = 134,
    _SC_C_LANG_SUPPORT___120 = 135,
    _SC_C_LANG_SUPPORT_R___120 = 136,
    _SC_CLOCK_SELECTION___120 = 137,
    _SC_CPUTIME___120 = 138,
    _SC_THREAD_CPUTIME___120 = 139,
    _SC_DEVICE_IO___120 = 140,
    _SC_DEVICE_SPECIFIC___120 = 141,
    _SC_DEVICE_SPECIFIC_R___120 = 142,
    _SC_FD_MGMT___120 = 143,
    _SC_FIFO___120 = 144,
    _SC_PIPE___120 = 145,
    _SC_FILE_ATTRIBUTES___120 = 146,
    _SC_FILE_LOCKING___120 = 147,
    _SC_FILE_SYSTEM___120 = 148,
    _SC_MONOTONIC_CLOCK___120 = 149,
    _SC_MULTI_PROCESS___120 = 150,
    _SC_SINGLE_PROCESS___120 = 151,
    _SC_NETWORKING___120 = 152,
    _SC_READER_WRITER_LOCKS___120 = 153,
    _SC_SPIN_LOCKS___120 = 154,
    _SC_REGEXP___120 = 155,
    _SC_REGEX_VERSION___120 = 156,
    _SC_SHELL___120 = 157,
    _SC_SIGNALS___120 = 158,
    _SC_SPAWN___120 = 159,
    _SC_SPORADIC_SERVER___120 = 160,
    _SC_THREAD_SPORADIC_SERVER___120 = 161,
    _SC_SYSTEM_DATABASE___120 = 162,
    _SC_SYSTEM_DATABASE_R___120 = 163,
    _SC_TIMEOUTS___120 = 164,
    _SC_TYPED_MEMORY_OBJECTS___120 = 165,
    _SC_USER_GROUPS___120 = 166,
    _SC_USER_GROUPS_R___120 = 167,
    _SC_2_PBS___120 = 168,
    _SC_2_PBS_ACCOUNTING___120 = 169,
    _SC_2_PBS_LOCATE___120 = 170,
    _SC_2_PBS_MESSAGE___120 = 171,
    _SC_2_PBS_TRACK___120 = 172,
    _SC_SYMLOOP_MAX___120 = 173,
    _SC_STREAMS___120 = 174,
    _SC_2_PBS_CHECKPOINT___120 = 175,
    _SC_V6_ILP32_OFF32___120 = 176,
    _SC_V6_ILP32_OFFBIG___120 = 177,
    _SC_V6_LP64_OFF64___120 = 178,
    _SC_V6_LPBIG_OFFBIG___120 = 179,
    _SC_HOST_NAME_MAX___120 = 180,
    _SC_TRACE___120 = 181,
    _SC_TRACE_EVENT_FILTER___120 = 182,
    _SC_TRACE_INHERIT___120 = 183,
    _SC_TRACE_LOG___120 = 184,
    _SC_LEVEL1_ICACHE_SIZE___120 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___120 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___120 = 187,
    _SC_LEVEL1_DCACHE_SIZE___120 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___120 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___120 = 190,
    _SC_LEVEL2_CACHE_SIZE___120 = 191,
    _SC_LEVEL2_CACHE_ASSOC___120 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___120 = 193,
    _SC_LEVEL3_CACHE_SIZE___120 = 194,
    _SC_LEVEL3_CACHE_ASSOC___120 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___120 = 196,
    _SC_LEVEL4_CACHE_SIZE___120 = 197,
    _SC_LEVEL4_CACHE_ASSOC___120 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___120 = 199,
    _SC_IPV6___120 = 235,
    _SC_RAW_SOCKETS___120 = 236,
    _SC_V7_ILP32_OFF32___120 = 237,
    _SC_V7_ILP32_OFFBIG___120 = 238,
    _SC_V7_LP64_OFF64___120 = 239,
    _SC_V7_LPBIG_OFFBIG___120 = 240,
    _SC_SS_REPL_MAX___120 = 241,
    _SC_TRACE_EVENT_NAME_MAX___120 = 242,
    _SC_TRACE_NAME_MAX___120 = 243,
    _SC_TRACE_SYS_MAX___120 = 244,
    _SC_TRACE_USER_EVENT_MAX___120 = 245,
    _SC_XOPEN_STREAMS___120 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___120 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___120 = 248
} ;
enum __anonenum_875524036___120 {
    _CS_PATH___120 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___120 = 1,
    _CS_GNU_LIBC_VERSION___120 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___120 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___120 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___120 = 5,
    _CS_LFS_CFLAGS___120 = 1000,
    _CS_LFS_LDFLAGS___120 = 1001,
    _CS_LFS_LIBS___120 = 1002,
    _CS_LFS_LINTFLAGS___120 = 1003,
    _CS_LFS64_CFLAGS___120 = 1004,
    _CS_LFS64_LDFLAGS___120 = 1005,
    _CS_LFS64_LIBS___120 = 1006,
    _CS_LFS64_LINTFLAGS___120 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___120 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___120 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___120 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___120 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___120 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___120 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___120 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___120 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___120 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___120 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___120 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___120 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___120 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___120 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___120 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___120 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___120 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___120 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___120 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___120 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___120 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___120 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___120 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___120 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___120 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___120 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___120 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___120 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___120 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___120 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___120 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___120 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___120 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___120 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___120 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___120 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___120 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___120 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___120 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___120 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___120 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___120 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___120 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___120 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___120 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___120 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___120 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___120 = 1147,
    _CS_V6_ENV___120 = 1148,
    _CS_V7_ENV___120 = 1149
} ;
enum __anonenum_513775621___120 {
    DT_UNKNOWN___120 = 0,
    DT_FIFO___120 = 1,
    DT_CHR___120 = 2,
    DT_DIR___120 = 4,
    DT_BLK___120 = 6,
    DT_REG___120 = 8,
    DT_LNK___120 = 10,
    DT_SOCK___120 = 12,
    DT_WHT___120 = 14
} ;
enum __anonenum_77002343___120 {
    SI_ASYNCNL___120 = -60,
    SI_TKILL___120 = -6,
    SI_SIGIO___120 = -5,
    SI_ASYNCIO___120 = -4,
    SI_MESGQ___120 = -3,
    SI_TIMER___120 = -2,
    SI_QUEUE___120 = -1,
    SI_USER___120 = 0,
    SI_KERNEL___120 = 128
} ;
enum __anonenum_131038172___120 {
    ILL_ILLOPC___120 = 1,
    ILL_ILLOPN___120 = 2,
    ILL_ILLADR___120 = 3,
    ILL_ILLTRP___120 = 4,
    ILL_PRVOPC___120 = 5,
    ILL_PRVREG___120 = 6,
    ILL_COPROC___120 = 7,
    ILL_BADSTK___120 = 8
} ;
enum __anonenum_452038093___120 {
    FPE_INTDIV___120 = 1,
    FPE_INTOVF___120 = 2,
    FPE_FLTDIV___120 = 3,
    FPE_FLTOVF___120 = 4,
    FPE_FLTUND___120 = 5,
    FPE_FLTRES___120 = 6,
    FPE_FLTINV___120 = 7,
    FPE_FLTSUB___120 = 8
} ;
enum __anonenum_30976155___120 {
    SEGV_MAPERR___120 = 1,
    SEGV_ACCERR___120 = 2,
    SEGV_BNDERR___120 = 3,
    SEGV_PKUERR___120 = 4
} ;
enum __anonenum_1036286214___120 {
    BUS_ADRALN___120 = 1,
    BUS_ADRERR___120 = 2,
    BUS_OBJERR___120 = 3,
    BUS_MCEERR_AR___120 = 4,
    BUS_MCEERR_AO___120 = 5
} ;
enum __anonenum_493465559___120 {
    TRAP_BRKPT___120 = 1,
    TRAP_TRACE___120 = 2
} ;
enum __anonenum_23175539___120 {
    CLD_EXITED___120 = 1,
    CLD_KILLED___120 = 2,
    CLD_DUMPED___120 = 3,
    CLD_TRAPPED___120 = 4,
    CLD_STOPPED___120 = 5,
    CLD_CONTINUED___120 = 6
} ;
enum __anonenum_111643124___120 {
    POLL_IN___120 = 1,
    POLL_OUT___120 = 2,
    POLL_MSG___120 = 3,
    POLL_ERR___120 = 4,
    POLL_PRI___120 = 5,
    POLL_HUP___120 = 6
} ;
enum __anonenum_852341087___120 {
    SIGEV_SIGNAL___120 = 0,
    SIGEV_NONE___120 = 1,
    SIGEV_THREAD___120 = 2,
    SIGEV_THREAD_ID___120 = 4
} ;
enum __anonenum_451154152___120 {
    REG_R8___120 = 0,
    REG_R9___120 = 1,
    REG_R10___120 = 2,
    REG_R11___120 = 3,
    REG_R12___120 = 4,
    REG_R13___120 = 5,
    REG_R14___120 = 6,
    REG_R15___120 = 7,
    REG_RDI___120 = 8,
    REG_RSI___120 = 9,
    REG_RBP___120 = 10,
    REG_RBX___120 = 11,
    REG_RDX___120 = 12,
    REG_RAX___120 = 13,
    REG_RCX___120 = 14,
    REG_RSP___120 = 15,
    REG_RIP___120 = 16,
    REG_EFL___120 = 17,
    REG_CSGSFS___120 = 18,
    REG_ERR___120 = 19,
    REG_TRAPNO___120 = 20,
    REG_OLDMASK___120 = 21,
    REG_CR2___120 = 22
} ;
enum __anonenum_57186863___120 {
    SS_ONSTACK___120 = 1,
    SS_DISABLE___120 = 2
} ;
enum __anonenum_83571709___120 {
    MSG_OOB___120 = 1,
    MSG_PEEK___120 = 2,
    MSG_DONTROUTE___120 = 4,
    MSG_TRYHARD___120 = 4,
    MSG_CTRUNC___120 = 8,
    MSG_PROXY___120 = 16,
    MSG_TRUNC___120 = 32,
    MSG_DONTWAIT___120 = 64,
    MSG_EOR___120 = 128,
    MSG_WAITALL___120 = 256,
    MSG_FIN___120 = 512,
    MSG_SYN___120 = 1024,
    MSG_CONFIRM___120 = 2048,
    MSG_RST___120 = 4096,
    MSG_ERRQUEUE___120 = 8192,
    MSG_NOSIGNAL___120 = 16384,
    MSG_MORE___120 = 32768,
    MSG_WAITFORONE___120 = 65536,
    MSG_BATCH___120 = 262144,
    MSG_ZEROCOPY___120 = 67108864,
    MSG_FASTOPEN___120 = 536870912,
    MSG_CMSG_CLOEXEC___120 = 1073741824
} ;
enum __anonenum_617082774___120 {
    SCM_RIGHTS___120 = 1,
    SCM_CREDENTIALS___120 = 2
} ;
enum __anonenum_606441560___120 {
    SHUT_RD___120 = 0,
    SHUT_WR___120 = 1,
    SHUT_RDWR___120 = 2
} ;
enum __anonenum_681669233___120 {
    IPPROTO_IP___120 = 0,
    IPPROTO_ICMP___120 = 1,
    IPPROTO_IGMP___120 = 2,
    IPPROTO_IPIP___120 = 4,
    IPPROTO_TCP___120 = 6,
    IPPROTO_EGP___120 = 8,
    IPPROTO_PUP___120 = 12,
    IPPROTO_UDP___120 = 17,
    IPPROTO_IDP___120 = 22,
    IPPROTO_TP___120 = 29,
    IPPROTO_DCCP___120 = 33,
    IPPROTO_IPV6___120 = 41,
    IPPROTO_RSVP___120 = 46,
    IPPROTO_GRE___120 = 47,
    IPPROTO_ESP___120 = 50,
    IPPROTO_AH___120 = 51,
    IPPROTO_MTP___120 = 92,
    IPPROTO_BEETPH___120 = 94,
    IPPROTO_ENCAP___120 = 98,
    IPPROTO_PIM___120 = 103,
    IPPROTO_COMP___120 = 108,
    IPPROTO_SCTP___120 = 132,
    IPPROTO_UDPLITE___120 = 136,
    IPPROTO_MPLS___120 = 137,
    IPPROTO_RAW___120 = 255,
    IPPROTO_MAX___120 = 256
} ;
enum __anonenum_218739988___120 {
    IPPROTO_HOPOPTS___120 = 0,
    IPPROTO_ROUTING___120 = 43,
    IPPROTO_FRAGMENT___120 = 44,
    IPPROTO_ICMPV6___120 = 58,
    IPPROTO_NONE___120 = 59,
    IPPROTO_DSTOPTS___120 = 60,
    IPPROTO_MH___120 = 135
} ;
enum __anonenum_662268580___120 {
    IPPORT_ECHO___120 = 7,
    IPPORT_DISCARD___120 = 9,
    IPPORT_SYSTAT___120 = 11,
    IPPORT_DAYTIME___120 = 13,
    IPPORT_NETSTAT___120 = 15,
    IPPORT_FTP___120 = 21,
    IPPORT_TELNET___120 = 23,
    IPPORT_SMTP___120 = 25,
    IPPORT_TIMESERVER___120 = 37,
    IPPORT_NAMESERVER___120 = 42,
    IPPORT_WHOIS___120 = 43,
    IPPORT_MTP___120 = 57,
    IPPORT_TFTP___120 = 69,
    IPPORT_RJE___120 = 77,
    IPPORT_FINGER___120 = 79,
    IPPORT_TTYLINK___120 = 87,
    IPPORT_SUPDUP___120 = 95,
    IPPORT_EXECSERVER___120 = 512,
    IPPORT_LOGINSERVER___120 = 513,
    IPPORT_CMDSERVER___120 = 514,
    IPPORT_EFSSERVER___120 = 520,
    IPPORT_BIFFUDP___120 = 512,
    IPPORT_WHOSERVER___120 = 513,
    IPPORT_ROUTESERVER___120 = 520,
    IPPORT_RESERVED___120 = 1024,
    IPPORT_USERRESERVED___120 = 5000
} ;
enum __anonenum_788308992___120 {
    TCP_ESTABLISHED___120 = 1,
    TCP_SYN_SENT___120 = 2,
    TCP_SYN_RECV___120 = 3,
    TCP_FIN_WAIT1___120 = 4,
    TCP_FIN_WAIT2___120 = 5,
    TCP_TIME_WAIT___120 = 6,
    TCP_CLOSE___120 = 7,
    TCP_CLOSE_WAIT___120 = 8,
    TCP_LAST_ACK___120 = 9,
    TCP_LISTEN___120 = 10,
    TCP_CLOSING___120 = 11
} ;
enum __anonenum_221125648___120 {
    TCP_NO_QUEUE___120 = 0,
    TCP_RECV_QUEUE___120 = 1,
    TCP_SEND_QUEUE___120 = 2,
    TCP_QUEUES_NR___120 = 3
} ;
enum __anonenum_34415463___120 {
    PTHREAD_CREATE_JOINABLE___120 = 0,
    PTHREAD_CREATE_DETACHED___120 = 1
} ;
enum __anonenum_303612439___120 {
    PTHREAD_MUTEX_TIMED_NP___120 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___120 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___120 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___120 = 3,
    PTHREAD_MUTEX_NORMAL___120 = 0,
    PTHREAD_MUTEX_RECURSIVE___120 = 1,
    PTHREAD_MUTEX_ERRORCHECK___120 = 2,
    PTHREAD_MUTEX_DEFAULT___120 = 0,
    PTHREAD_MUTEX_FAST_NP___120 = 0
} ;
enum __anonenum_931900394___120 {
    PTHREAD_MUTEX_STALLED___120 = 0,
    PTHREAD_MUTEX_STALLED_NP___120 = 0,
    PTHREAD_MUTEX_ROBUST___120 = 1,
    PTHREAD_MUTEX_ROBUST_NP___120 = 1
} ;
enum __anonenum_205214487___120 {
    PTHREAD_PRIO_NONE___120 = 0,
    PTHREAD_PRIO_INHERIT___120 = 1,
    PTHREAD_PRIO_PROTECT___120 = 2
} ;
enum __anonenum_25043950___120 {
    PTHREAD_RWLOCK_PREFER_READER_NP___120 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___120 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___120 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___120 = 0
} ;
enum __anonenum_436439511___120 {
    PTHREAD_INHERIT_SCHED___120 = 0,
    PTHREAD_EXPLICIT_SCHED___120 = 1
} ;
enum __anonenum_998661166___120 {
    PTHREAD_SCOPE_SYSTEM___120 = 0,
    PTHREAD_SCOPE_PROCESS___120 = 1
} ;
enum __anonenum_146137331___120 {
    PTHREAD_PROCESS_PRIVATE___120 = 0,
    PTHREAD_PROCESS_SHARED___120 = 1
} ;
enum __anonenum_53396917___120 {
    PTHREAD_CANCEL_ENABLE___120 = 0,
    PTHREAD_CANCEL_DISABLE___120 = 1
} ;
enum __anonenum_904563783___120 {
    PTHREAD_CANCEL_DEFERRED___120 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___120 = 1
} ;
enum __anonenum_672052974___120 {
    SSL_CT_VALIDATION_PERMISSIVE___120 = 0,
    SSL_CT_VALIDATION_STRICT___120 = 1
} ;
enum __anonenum_437032235___121 {
    _PC_LINK_MAX___121 = 0,
    _PC_MAX_CANON___121 = 1,
    _PC_MAX_INPUT___121 = 2,
    _PC_NAME_MAX___121 = 3,
    _PC_PATH_MAX___121 = 4,
    _PC_PIPE_BUF___121 = 5,
    _PC_CHOWN_RESTRICTED___121 = 6,
    _PC_NO_TRUNC___121 = 7,
    _PC_VDISABLE___121 = 8,
    _PC_SYNC_IO___121 = 9,
    _PC_ASYNC_IO___121 = 10,
    _PC_PRIO_IO___121 = 11,
    _PC_SOCK_MAXBUF___121 = 12,
    _PC_FILESIZEBITS___121 = 13,
    _PC_REC_INCR_XFER_SIZE___121 = 14,
    _PC_REC_MAX_XFER_SIZE___121 = 15,
    _PC_REC_MIN_XFER_SIZE___121 = 16,
    _PC_REC_XFER_ALIGN___121 = 17,
    _PC_ALLOC_SIZE_MIN___121 = 18,
    _PC_SYMLINK_MAX___121 = 19,
    _PC_2_SYMLINKS___121 = 20
} ;
enum __anonenum_315186338___121 {
    _SC_ARG_MAX___121 = 0,
    _SC_CHILD_MAX___121 = 1,
    _SC_CLK_TCK___121 = 2,
    _SC_NGROUPS_MAX___121 = 3,
    _SC_OPEN_MAX___121 = 4,
    _SC_STREAM_MAX___121 = 5,
    _SC_TZNAME_MAX___121 = 6,
    _SC_JOB_CONTROL___121 = 7,
    _SC_SAVED_IDS___121 = 8,
    _SC_REALTIME_SIGNALS___121 = 9,
    _SC_PRIORITY_SCHEDULING___121 = 10,
    _SC_TIMERS___121 = 11,
    _SC_ASYNCHRONOUS_IO___121 = 12,
    _SC_PRIORITIZED_IO___121 = 13,
    _SC_SYNCHRONIZED_IO___121 = 14,
    _SC_FSYNC___121 = 15,
    _SC_MAPPED_FILES___121 = 16,
    _SC_MEMLOCK___121 = 17,
    _SC_MEMLOCK_RANGE___121 = 18,
    _SC_MEMORY_PROTECTION___121 = 19,
    _SC_MESSAGE_PASSING___121 = 20,
    _SC_SEMAPHORES___121 = 21,
    _SC_SHARED_MEMORY_OBJECTS___121 = 22,
    _SC_AIO_LISTIO_MAX___121 = 23,
    _SC_AIO_MAX___121 = 24,
    _SC_AIO_PRIO_DELTA_MAX___121 = 25,
    _SC_DELAYTIMER_MAX___121 = 26,
    _SC_MQ_OPEN_MAX___121 = 27,
    _SC_MQ_PRIO_MAX___121 = 28,
    _SC_VERSION___121 = 29,
    _SC_PAGESIZE___121 = 30,
    _SC_RTSIG_MAX___121 = 31,
    _SC_SEM_NSEMS_MAX___121 = 32,
    _SC_SEM_VALUE_MAX___121 = 33,
    _SC_SIGQUEUE_MAX___121 = 34,
    _SC_TIMER_MAX___121 = 35,
    _SC_BC_BASE_MAX___121 = 36,
    _SC_BC_DIM_MAX___121 = 37,
    _SC_BC_SCALE_MAX___121 = 38,
    _SC_BC_STRING_MAX___121 = 39,
    _SC_COLL_WEIGHTS_MAX___121 = 40,
    _SC_EQUIV_CLASS_MAX___121 = 41,
    _SC_EXPR_NEST_MAX___121 = 42,
    _SC_LINE_MAX___121 = 43,
    _SC_RE_DUP_MAX___121 = 44,
    _SC_CHARCLASS_NAME_MAX___121 = 45,
    _SC_2_VERSION___121 = 46,
    _SC_2_C_BIND___121 = 47,
    _SC_2_C_DEV___121 = 48,
    _SC_2_FORT_DEV___121 = 49,
    _SC_2_FORT_RUN___121 = 50,
    _SC_2_SW_DEV___121 = 51,
    _SC_2_LOCALEDEF___121 = 52,
    _SC_PII___121 = 53,
    _SC_PII_XTI___121 = 54,
    _SC_PII_SOCKET___121 = 55,
    _SC_PII_INTERNET___121 = 56,
    _SC_PII_OSI___121 = 57,
    _SC_POLL___121 = 58,
    _SC_SELECT___121 = 59,
    _SC_UIO_MAXIOV___121 = 60,
    _SC_IOV_MAX___121 = 60,
    _SC_PII_INTERNET_STREAM___121 = 61,
    _SC_PII_INTERNET_DGRAM___121 = 62,
    _SC_PII_OSI_COTS___121 = 63,
    _SC_PII_OSI_CLTS___121 = 64,
    _SC_PII_OSI_M___121 = 65,
    _SC_T_IOV_MAX___121 = 66,
    _SC_THREADS___121 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___121 = 68,
    _SC_GETGR_R_SIZE_MAX___121 = 69,
    _SC_GETPW_R_SIZE_MAX___121 = 70,
    _SC_LOGIN_NAME_MAX___121 = 71,
    _SC_TTY_NAME_MAX___121 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___121 = 73,
    _SC_THREAD_KEYS_MAX___121 = 74,
    _SC_THREAD_STACK_MIN___121 = 75,
    _SC_THREAD_THREADS_MAX___121 = 76,
    _SC_THREAD_ATTR_STACKADDR___121 = 77,
    _SC_THREAD_ATTR_STACKSIZE___121 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___121 = 79,
    _SC_THREAD_PRIO_INHERIT___121 = 80,
    _SC_THREAD_PRIO_PROTECT___121 = 81,
    _SC_THREAD_PROCESS_SHARED___121 = 82,
    _SC_NPROCESSORS_CONF___121 = 83,
    _SC_NPROCESSORS_ONLN___121 = 84,
    _SC_PHYS_PAGES___121 = 85,
    _SC_AVPHYS_PAGES___121 = 86,
    _SC_ATEXIT_MAX___121 = 87,
    _SC_PASS_MAX___121 = 88,
    _SC_XOPEN_VERSION___121 = 89,
    _SC_XOPEN_XCU_VERSION___121 = 90,
    _SC_XOPEN_UNIX___121 = 91,
    _SC_XOPEN_CRYPT___121 = 92,
    _SC_XOPEN_ENH_I18N___121 = 93,
    _SC_XOPEN_SHM___121 = 94,
    _SC_2_CHAR_TERM___121 = 95,
    _SC_2_C_VERSION___121 = 96,
    _SC_2_UPE___121 = 97,
    _SC_XOPEN_XPG2___121 = 98,
    _SC_XOPEN_XPG3___121 = 99,
    _SC_XOPEN_XPG4___121 = 100,
    _SC_CHAR_BIT___121 = 101,
    _SC_CHAR_MAX___121 = 102,
    _SC_CHAR_MIN___121 = 103,
    _SC_INT_MAX___121 = 104,
    _SC_INT_MIN___121 = 105,
    _SC_LONG_BIT___121 = 106,
    _SC_WORD_BIT___121 = 107,
    _SC_MB_LEN_MAX___121 = 108,
    _SC_NZERO___121 = 109,
    _SC_SSIZE_MAX___121 = 110,
    _SC_SCHAR_MAX___121 = 111,
    _SC_SCHAR_MIN___121 = 112,
    _SC_SHRT_MAX___121 = 113,
    _SC_SHRT_MIN___121 = 114,
    _SC_UCHAR_MAX___121 = 115,
    _SC_UINT_MAX___121 = 116,
    _SC_ULONG_MAX___121 = 117,
    _SC_USHRT_MAX___121 = 118,
    _SC_NL_ARGMAX___121 = 119,
    _SC_NL_LANGMAX___121 = 120,
    _SC_NL_MSGMAX___121 = 121,
    _SC_NL_NMAX___121 = 122,
    _SC_NL_SETMAX___121 = 123,
    _SC_NL_TEXTMAX___121 = 124,
    _SC_XBS5_ILP32_OFF32___121 = 125,
    _SC_XBS5_ILP32_OFFBIG___121 = 126,
    _SC_XBS5_LP64_OFF64___121 = 127,
    _SC_XBS5_LPBIG_OFFBIG___121 = 128,
    _SC_XOPEN_LEGACY___121 = 129,
    _SC_XOPEN_REALTIME___121 = 130,
    _SC_XOPEN_REALTIME_THREADS___121 = 131,
    _SC_ADVISORY_INFO___121 = 132,
    _SC_BARRIERS___121 = 133,
    _SC_BASE___121 = 134,
    _SC_C_LANG_SUPPORT___121 = 135,
    _SC_C_LANG_SUPPORT_R___121 = 136,
    _SC_CLOCK_SELECTION___121 = 137,
    _SC_CPUTIME___121 = 138,
    _SC_THREAD_CPUTIME___121 = 139,
    _SC_DEVICE_IO___121 = 140,
    _SC_DEVICE_SPECIFIC___121 = 141,
    _SC_DEVICE_SPECIFIC_R___121 = 142,
    _SC_FD_MGMT___121 = 143,
    _SC_FIFO___121 = 144,
    _SC_PIPE___121 = 145,
    _SC_FILE_ATTRIBUTES___121 = 146,
    _SC_FILE_LOCKING___121 = 147,
    _SC_FILE_SYSTEM___121 = 148,
    _SC_MONOTONIC_CLOCK___121 = 149,
    _SC_MULTI_PROCESS___121 = 150,
    _SC_SINGLE_PROCESS___121 = 151,
    _SC_NETWORKING___121 = 152,
    _SC_READER_WRITER_LOCKS___121 = 153,
    _SC_SPIN_LOCKS___121 = 154,
    _SC_REGEXP___121 = 155,
    _SC_REGEX_VERSION___121 = 156,
    _SC_SHELL___121 = 157,
    _SC_SIGNALS___121 = 158,
    _SC_SPAWN___121 = 159,
    _SC_SPORADIC_SERVER___121 = 160,
    _SC_THREAD_SPORADIC_SERVER___121 = 161,
    _SC_SYSTEM_DATABASE___121 = 162,
    _SC_SYSTEM_DATABASE_R___121 = 163,
    _SC_TIMEOUTS___121 = 164,
    _SC_TYPED_MEMORY_OBJECTS___121 = 165,
    _SC_USER_GROUPS___121 = 166,
    _SC_USER_GROUPS_R___121 = 167,
    _SC_2_PBS___121 = 168,
    _SC_2_PBS_ACCOUNTING___121 = 169,
    _SC_2_PBS_LOCATE___121 = 170,
    _SC_2_PBS_MESSAGE___121 = 171,
    _SC_2_PBS_TRACK___121 = 172,
    _SC_SYMLOOP_MAX___121 = 173,
    _SC_STREAMS___121 = 174,
    _SC_2_PBS_CHECKPOINT___121 = 175,
    _SC_V6_ILP32_OFF32___121 = 176,
    _SC_V6_ILP32_OFFBIG___121 = 177,
    _SC_V6_LP64_OFF64___121 = 178,
    _SC_V6_LPBIG_OFFBIG___121 = 179,
    _SC_HOST_NAME_MAX___121 = 180,
    _SC_TRACE___121 = 181,
    _SC_TRACE_EVENT_FILTER___121 = 182,
    _SC_TRACE_INHERIT___121 = 183,
    _SC_TRACE_LOG___121 = 184,
    _SC_LEVEL1_ICACHE_SIZE___121 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___121 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___121 = 187,
    _SC_LEVEL1_DCACHE_SIZE___121 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___121 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___121 = 190,
    _SC_LEVEL2_CACHE_SIZE___121 = 191,
    _SC_LEVEL2_CACHE_ASSOC___121 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___121 = 193,
    _SC_LEVEL3_CACHE_SIZE___121 = 194,
    _SC_LEVEL3_CACHE_ASSOC___121 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___121 = 196,
    _SC_LEVEL4_CACHE_SIZE___121 = 197,
    _SC_LEVEL4_CACHE_ASSOC___121 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___121 = 199,
    _SC_IPV6___121 = 235,
    _SC_RAW_SOCKETS___121 = 236,
    _SC_V7_ILP32_OFF32___121 = 237,
    _SC_V7_ILP32_OFFBIG___121 = 238,
    _SC_V7_LP64_OFF64___121 = 239,
    _SC_V7_LPBIG_OFFBIG___121 = 240,
    _SC_SS_REPL_MAX___121 = 241,
    _SC_TRACE_EVENT_NAME_MAX___121 = 242,
    _SC_TRACE_NAME_MAX___121 = 243,
    _SC_TRACE_SYS_MAX___121 = 244,
    _SC_TRACE_USER_EVENT_MAX___121 = 245,
    _SC_XOPEN_STREAMS___121 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___121 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___121 = 248
} ;
enum __anonenum_875524036___121 {
    _CS_PATH___121 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___121 = 1,
    _CS_GNU_LIBC_VERSION___121 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___121 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___121 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___121 = 5,
    _CS_LFS_CFLAGS___121 = 1000,
    _CS_LFS_LDFLAGS___121 = 1001,
    _CS_LFS_LIBS___121 = 1002,
    _CS_LFS_LINTFLAGS___121 = 1003,
    _CS_LFS64_CFLAGS___121 = 1004,
    _CS_LFS64_LDFLAGS___121 = 1005,
    _CS_LFS64_LIBS___121 = 1006,
    _CS_LFS64_LINTFLAGS___121 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___121 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___121 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___121 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___121 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___121 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___121 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___121 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___121 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___121 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___121 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___121 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___121 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___121 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___121 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___121 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___121 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___121 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___121 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___121 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___121 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___121 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___121 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___121 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___121 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___121 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___121 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___121 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___121 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___121 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___121 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___121 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___121 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___121 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___121 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___121 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___121 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___121 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___121 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___121 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___121 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___121 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___121 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___121 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___121 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___121 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___121 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___121 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___121 = 1147,
    _CS_V6_ENV___121 = 1148,
    _CS_V7_ENV___121 = 1149
} ;
enum __anonenum_513775621___121 {
    DT_UNKNOWN___121 = 0,
    DT_FIFO___121 = 1,
    DT_CHR___121 = 2,
    DT_DIR___121 = 4,
    DT_BLK___121 = 6,
    DT_REG___121 = 8,
    DT_LNK___121 = 10,
    DT_SOCK___121 = 12,
    DT_WHT___121 = 14
} ;
enum __anonenum_77002343___121 {
    SI_ASYNCNL___121 = -60,
    SI_TKILL___121 = -6,
    SI_SIGIO___121 = -5,
    SI_ASYNCIO___121 = -4,
    SI_MESGQ___121 = -3,
    SI_TIMER___121 = -2,
    SI_QUEUE___121 = -1,
    SI_USER___121 = 0,
    SI_KERNEL___121 = 128
} ;
enum __anonenum_131038172___121 {
    ILL_ILLOPC___121 = 1,
    ILL_ILLOPN___121 = 2,
    ILL_ILLADR___121 = 3,
    ILL_ILLTRP___121 = 4,
    ILL_PRVOPC___121 = 5,
    ILL_PRVREG___121 = 6,
    ILL_COPROC___121 = 7,
    ILL_BADSTK___121 = 8
} ;
enum __anonenum_452038093___121 {
    FPE_INTDIV___121 = 1,
    FPE_INTOVF___121 = 2,
    FPE_FLTDIV___121 = 3,
    FPE_FLTOVF___121 = 4,
    FPE_FLTUND___121 = 5,
    FPE_FLTRES___121 = 6,
    FPE_FLTINV___121 = 7,
    FPE_FLTSUB___121 = 8
} ;
enum __anonenum_30976155___121 {
    SEGV_MAPERR___121 = 1,
    SEGV_ACCERR___121 = 2,
    SEGV_BNDERR___121 = 3,
    SEGV_PKUERR___121 = 4
} ;
enum __anonenum_1036286214___121 {
    BUS_ADRALN___121 = 1,
    BUS_ADRERR___121 = 2,
    BUS_OBJERR___121 = 3,
    BUS_MCEERR_AR___121 = 4,
    BUS_MCEERR_AO___121 = 5
} ;
enum __anonenum_493465559___121 {
    TRAP_BRKPT___121 = 1,
    TRAP_TRACE___121 = 2
} ;
enum __anonenum_23175539___121 {
    CLD_EXITED___121 = 1,
    CLD_KILLED___121 = 2,
    CLD_DUMPED___121 = 3,
    CLD_TRAPPED___121 = 4,
    CLD_STOPPED___121 = 5,
    CLD_CONTINUED___121 = 6
} ;
enum __anonenum_111643124___121 {
    POLL_IN___121 = 1,
    POLL_OUT___121 = 2,
    POLL_MSG___121 = 3,
    POLL_ERR___121 = 4,
    POLL_PRI___121 = 5,
    POLL_HUP___121 = 6
} ;
enum __anonenum_852341087___121 {
    SIGEV_SIGNAL___121 = 0,
    SIGEV_NONE___121 = 1,
    SIGEV_THREAD___121 = 2,
    SIGEV_THREAD_ID___121 = 4
} ;
enum __anonenum_451154152___121 {
    REG_R8___121 = 0,
    REG_R9___121 = 1,
    REG_R10___121 = 2,
    REG_R11___121 = 3,
    REG_R12___121 = 4,
    REG_R13___121 = 5,
    REG_R14___121 = 6,
    REG_R15___121 = 7,
    REG_RDI___121 = 8,
    REG_RSI___121 = 9,
    REG_RBP___121 = 10,
    REG_RBX___121 = 11,
    REG_RDX___121 = 12,
    REG_RAX___121 = 13,
    REG_RCX___121 = 14,
    REG_RSP___121 = 15,
    REG_RIP___121 = 16,
    REG_EFL___121 = 17,
    REG_CSGSFS___121 = 18,
    REG_ERR___121 = 19,
    REG_TRAPNO___121 = 20,
    REG_OLDMASK___121 = 21,
    REG_CR2___121 = 22
} ;
enum __anonenum_57186863___121 {
    SS_ONSTACK___121 = 1,
    SS_DISABLE___121 = 2
} ;
enum __anonenum_83571709___121 {
    MSG_OOB___121 = 1,
    MSG_PEEK___121 = 2,
    MSG_DONTROUTE___121 = 4,
    MSG_TRYHARD___121 = 4,
    MSG_CTRUNC___121 = 8,
    MSG_PROXY___121 = 16,
    MSG_TRUNC___121 = 32,
    MSG_DONTWAIT___121 = 64,
    MSG_EOR___121 = 128,
    MSG_WAITALL___121 = 256,
    MSG_FIN___121 = 512,
    MSG_SYN___121 = 1024,
    MSG_CONFIRM___121 = 2048,
    MSG_RST___121 = 4096,
    MSG_ERRQUEUE___121 = 8192,
    MSG_NOSIGNAL___121 = 16384,
    MSG_MORE___121 = 32768,
    MSG_WAITFORONE___121 = 65536,
    MSG_BATCH___121 = 262144,
    MSG_ZEROCOPY___121 = 67108864,
    MSG_FASTOPEN___121 = 536870912,
    MSG_CMSG_CLOEXEC___121 = 1073741824
} ;
enum __anonenum_617082774___121 {
    SCM_RIGHTS___121 = 1,
    SCM_CREDENTIALS___121 = 2
} ;
enum __anonenum_606441560___121 {
    SHUT_RD___121 = 0,
    SHUT_WR___121 = 1,
    SHUT_RDWR___121 = 2
} ;
enum __anonenum_681669233___121 {
    IPPROTO_IP___121 = 0,
    IPPROTO_ICMP___121 = 1,
    IPPROTO_IGMP___121 = 2,
    IPPROTO_IPIP___121 = 4,
    IPPROTO_TCP___121 = 6,
    IPPROTO_EGP___121 = 8,
    IPPROTO_PUP___121 = 12,
    IPPROTO_UDP___121 = 17,
    IPPROTO_IDP___121 = 22,
    IPPROTO_TP___121 = 29,
    IPPROTO_DCCP___121 = 33,
    IPPROTO_IPV6___121 = 41,
    IPPROTO_RSVP___121 = 46,
    IPPROTO_GRE___121 = 47,
    IPPROTO_ESP___121 = 50,
    IPPROTO_AH___121 = 51,
    IPPROTO_MTP___121 = 92,
    IPPROTO_BEETPH___121 = 94,
    IPPROTO_ENCAP___121 = 98,
    IPPROTO_PIM___121 = 103,
    IPPROTO_COMP___121 = 108,
    IPPROTO_SCTP___121 = 132,
    IPPROTO_UDPLITE___121 = 136,
    IPPROTO_MPLS___121 = 137,
    IPPROTO_RAW___121 = 255,
    IPPROTO_MAX___121 = 256
} ;
enum __anonenum_218739988___121 {
    IPPROTO_HOPOPTS___121 = 0,
    IPPROTO_ROUTING___121 = 43,
    IPPROTO_FRAGMENT___121 = 44,
    IPPROTO_ICMPV6___121 = 58,
    IPPROTO_NONE___121 = 59,
    IPPROTO_DSTOPTS___121 = 60,
    IPPROTO_MH___121 = 135
} ;
enum __anonenum_662268580___121 {
    IPPORT_ECHO___121 = 7,
    IPPORT_DISCARD___121 = 9,
    IPPORT_SYSTAT___121 = 11,
    IPPORT_DAYTIME___121 = 13,
    IPPORT_NETSTAT___121 = 15,
    IPPORT_FTP___121 = 21,
    IPPORT_TELNET___121 = 23,
    IPPORT_SMTP___121 = 25,
    IPPORT_TIMESERVER___121 = 37,
    IPPORT_NAMESERVER___121 = 42,
    IPPORT_WHOIS___121 = 43,
    IPPORT_MTP___121 = 57,
    IPPORT_TFTP___121 = 69,
    IPPORT_RJE___121 = 77,
    IPPORT_FINGER___121 = 79,
    IPPORT_TTYLINK___121 = 87,
    IPPORT_SUPDUP___121 = 95,
    IPPORT_EXECSERVER___121 = 512,
    IPPORT_LOGINSERVER___121 = 513,
    IPPORT_CMDSERVER___121 = 514,
    IPPORT_EFSSERVER___121 = 520,
    IPPORT_BIFFUDP___121 = 512,
    IPPORT_WHOSERVER___121 = 513,
    IPPORT_ROUTESERVER___121 = 520,
    IPPORT_RESERVED___121 = 1024,
    IPPORT_USERRESERVED___121 = 5000
} ;
enum __anonenum_788308992___121 {
    TCP_ESTABLISHED___121 = 1,
    TCP_SYN_SENT___121 = 2,
    TCP_SYN_RECV___121 = 3,
    TCP_FIN_WAIT1___121 = 4,
    TCP_FIN_WAIT2___121 = 5,
    TCP_TIME_WAIT___121 = 6,
    TCP_CLOSE___121 = 7,
    TCP_CLOSE_WAIT___121 = 8,
    TCP_LAST_ACK___121 = 9,
    TCP_LISTEN___121 = 10,
    TCP_CLOSING___121 = 11
} ;
enum __anonenum_221125648___121 {
    TCP_NO_QUEUE___121 = 0,
    TCP_RECV_QUEUE___121 = 1,
    TCP_SEND_QUEUE___121 = 2,
    TCP_QUEUES_NR___121 = 3
} ;
enum __anonenum_34415463___121 {
    PTHREAD_CREATE_JOINABLE___121 = 0,
    PTHREAD_CREATE_DETACHED___121 = 1
} ;
enum __anonenum_303612439___121 {
    PTHREAD_MUTEX_TIMED_NP___121 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___121 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___121 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___121 = 3,
    PTHREAD_MUTEX_NORMAL___121 = 0,
    PTHREAD_MUTEX_RECURSIVE___121 = 1,
    PTHREAD_MUTEX_ERRORCHECK___121 = 2,
    PTHREAD_MUTEX_DEFAULT___121 = 0,
    PTHREAD_MUTEX_FAST_NP___121 = 0
} ;
enum __anonenum_931900394___121 {
    PTHREAD_MUTEX_STALLED___121 = 0,
    PTHREAD_MUTEX_STALLED_NP___121 = 0,
    PTHREAD_MUTEX_ROBUST___121 = 1,
    PTHREAD_MUTEX_ROBUST_NP___121 = 1
} ;
enum __anonenum_205214487___121 {
    PTHREAD_PRIO_NONE___121 = 0,
    PTHREAD_PRIO_INHERIT___121 = 1,
    PTHREAD_PRIO_PROTECT___121 = 2
} ;
enum __anonenum_25043950___121 {
    PTHREAD_RWLOCK_PREFER_READER_NP___121 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___121 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___121 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___121 = 0
} ;
enum __anonenum_436439511___121 {
    PTHREAD_INHERIT_SCHED___121 = 0,
    PTHREAD_EXPLICIT_SCHED___121 = 1
} ;
enum __anonenum_998661166___121 {
    PTHREAD_SCOPE_SYSTEM___121 = 0,
    PTHREAD_SCOPE_PROCESS___121 = 1
} ;
enum __anonenum_146137331___121 {
    PTHREAD_PROCESS_PRIVATE___121 = 0,
    PTHREAD_PROCESS_SHARED___121 = 1
} ;
enum __anonenum_53396917___121 {
    PTHREAD_CANCEL_ENABLE___121 = 0,
    PTHREAD_CANCEL_DISABLE___121 = 1
} ;
enum __anonenum_904563783___121 {
    PTHREAD_CANCEL_DEFERRED___121 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___121 = 1
} ;
enum __anonenum_672052974___121 {
    SSL_CT_VALIDATION_PERMISSIVE___121 = 0,
    SSL_CT_VALIDATION_STRICT___121 = 1
} ;
struct oidtree_iter_data {
   enum cb_next (*fn)(struct object_id  const  * , void *data ) ;
   void *arg ;
   size_t *last_nibble_at ;
   int algo ;
   uint8_t last_byte ;
};
enum __anonenum_437032235___122 {
    _PC_LINK_MAX___122 = 0,
    _PC_MAX_CANON___122 = 1,
    _PC_MAX_INPUT___122 = 2,
    _PC_NAME_MAX___122 = 3,
    _PC_PATH_MAX___122 = 4,
    _PC_PIPE_BUF___122 = 5,
    _PC_CHOWN_RESTRICTED___122 = 6,
    _PC_NO_TRUNC___122 = 7,
    _PC_VDISABLE___122 = 8,
    _PC_SYNC_IO___122 = 9,
    _PC_ASYNC_IO___122 = 10,
    _PC_PRIO_IO___122 = 11,
    _PC_SOCK_MAXBUF___122 = 12,
    _PC_FILESIZEBITS___122 = 13,
    _PC_REC_INCR_XFER_SIZE___122 = 14,
    _PC_REC_MAX_XFER_SIZE___122 = 15,
    _PC_REC_MIN_XFER_SIZE___122 = 16,
    _PC_REC_XFER_ALIGN___122 = 17,
    _PC_ALLOC_SIZE_MIN___122 = 18,
    _PC_SYMLINK_MAX___122 = 19,
    _PC_2_SYMLINKS___122 = 20
} ;
enum __anonenum_315186338___122 {
    _SC_ARG_MAX___122 = 0,
    _SC_CHILD_MAX___122 = 1,
    _SC_CLK_TCK___122 = 2,
    _SC_NGROUPS_MAX___122 = 3,
    _SC_OPEN_MAX___122 = 4,
    _SC_STREAM_MAX___122 = 5,
    _SC_TZNAME_MAX___122 = 6,
    _SC_JOB_CONTROL___122 = 7,
    _SC_SAVED_IDS___122 = 8,
    _SC_REALTIME_SIGNALS___122 = 9,
    _SC_PRIORITY_SCHEDULING___122 = 10,
    _SC_TIMERS___122 = 11,
    _SC_ASYNCHRONOUS_IO___122 = 12,
    _SC_PRIORITIZED_IO___122 = 13,
    _SC_SYNCHRONIZED_IO___122 = 14,
    _SC_FSYNC___122 = 15,
    _SC_MAPPED_FILES___122 = 16,
    _SC_MEMLOCK___122 = 17,
    _SC_MEMLOCK_RANGE___122 = 18,
    _SC_MEMORY_PROTECTION___122 = 19,
    _SC_MESSAGE_PASSING___122 = 20,
    _SC_SEMAPHORES___122 = 21,
    _SC_SHARED_MEMORY_OBJECTS___122 = 22,
    _SC_AIO_LISTIO_MAX___122 = 23,
    _SC_AIO_MAX___122 = 24,
    _SC_AIO_PRIO_DELTA_MAX___122 = 25,
    _SC_DELAYTIMER_MAX___122 = 26,
    _SC_MQ_OPEN_MAX___122 = 27,
    _SC_MQ_PRIO_MAX___122 = 28,
    _SC_VERSION___122 = 29,
    _SC_PAGESIZE___122 = 30,
    _SC_RTSIG_MAX___122 = 31,
    _SC_SEM_NSEMS_MAX___122 = 32,
    _SC_SEM_VALUE_MAX___122 = 33,
    _SC_SIGQUEUE_MAX___122 = 34,
    _SC_TIMER_MAX___122 = 35,
    _SC_BC_BASE_MAX___122 = 36,
    _SC_BC_DIM_MAX___122 = 37,
    _SC_BC_SCALE_MAX___122 = 38,
    _SC_BC_STRING_MAX___122 = 39,
    _SC_COLL_WEIGHTS_MAX___122 = 40,
    _SC_EQUIV_CLASS_MAX___122 = 41,
    _SC_EXPR_NEST_MAX___122 = 42,
    _SC_LINE_MAX___122 = 43,
    _SC_RE_DUP_MAX___122 = 44,
    _SC_CHARCLASS_NAME_MAX___122 = 45,
    _SC_2_VERSION___122 = 46,
    _SC_2_C_BIND___122 = 47,
    _SC_2_C_DEV___122 = 48,
    _SC_2_FORT_DEV___122 = 49,
    _SC_2_FORT_RUN___122 = 50,
    _SC_2_SW_DEV___122 = 51,
    _SC_2_LOCALEDEF___122 = 52,
    _SC_PII___122 = 53,
    _SC_PII_XTI___122 = 54,
    _SC_PII_SOCKET___122 = 55,
    _SC_PII_INTERNET___122 = 56,
    _SC_PII_OSI___122 = 57,
    _SC_POLL___122 = 58,
    _SC_SELECT___122 = 59,
    _SC_UIO_MAXIOV___122 = 60,
    _SC_IOV_MAX___122 = 60,
    _SC_PII_INTERNET_STREAM___122 = 61,
    _SC_PII_INTERNET_DGRAM___122 = 62,
    _SC_PII_OSI_COTS___122 = 63,
    _SC_PII_OSI_CLTS___122 = 64,
    _SC_PII_OSI_M___122 = 65,
    _SC_T_IOV_MAX___122 = 66,
    _SC_THREADS___122 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___122 = 68,
    _SC_GETGR_R_SIZE_MAX___122 = 69,
    _SC_GETPW_R_SIZE_MAX___122 = 70,
    _SC_LOGIN_NAME_MAX___122 = 71,
    _SC_TTY_NAME_MAX___122 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___122 = 73,
    _SC_THREAD_KEYS_MAX___122 = 74,
    _SC_THREAD_STACK_MIN___122 = 75,
    _SC_THREAD_THREADS_MAX___122 = 76,
    _SC_THREAD_ATTR_STACKADDR___122 = 77,
    _SC_THREAD_ATTR_STACKSIZE___122 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___122 = 79,
    _SC_THREAD_PRIO_INHERIT___122 = 80,
    _SC_THREAD_PRIO_PROTECT___122 = 81,
    _SC_THREAD_PROCESS_SHARED___122 = 82,
    _SC_NPROCESSORS_CONF___122 = 83,
    _SC_NPROCESSORS_ONLN___122 = 84,
    _SC_PHYS_PAGES___122 = 85,
    _SC_AVPHYS_PAGES___122 = 86,
    _SC_ATEXIT_MAX___122 = 87,
    _SC_PASS_MAX___122 = 88,
    _SC_XOPEN_VERSION___122 = 89,
    _SC_XOPEN_XCU_VERSION___122 = 90,
    _SC_XOPEN_UNIX___122 = 91,
    _SC_XOPEN_CRYPT___122 = 92,
    _SC_XOPEN_ENH_I18N___122 = 93,
    _SC_XOPEN_SHM___122 = 94,
    _SC_2_CHAR_TERM___122 = 95,
    _SC_2_C_VERSION___122 = 96,
    _SC_2_UPE___122 = 97,
    _SC_XOPEN_XPG2___122 = 98,
    _SC_XOPEN_XPG3___122 = 99,
    _SC_XOPEN_XPG4___122 = 100,
    _SC_CHAR_BIT___122 = 101,
    _SC_CHAR_MAX___122 = 102,
    _SC_CHAR_MIN___122 = 103,
    _SC_INT_MAX___122 = 104,
    _SC_INT_MIN___122 = 105,
    _SC_LONG_BIT___122 = 106,
    _SC_WORD_BIT___122 = 107,
    _SC_MB_LEN_MAX___122 = 108,
    _SC_NZERO___122 = 109,
    _SC_SSIZE_MAX___122 = 110,
    _SC_SCHAR_MAX___122 = 111,
    _SC_SCHAR_MIN___122 = 112,
    _SC_SHRT_MAX___122 = 113,
    _SC_SHRT_MIN___122 = 114,
    _SC_UCHAR_MAX___122 = 115,
    _SC_UINT_MAX___122 = 116,
    _SC_ULONG_MAX___122 = 117,
    _SC_USHRT_MAX___122 = 118,
    _SC_NL_ARGMAX___122 = 119,
    _SC_NL_LANGMAX___122 = 120,
    _SC_NL_MSGMAX___122 = 121,
    _SC_NL_NMAX___122 = 122,
    _SC_NL_SETMAX___122 = 123,
    _SC_NL_TEXTMAX___122 = 124,
    _SC_XBS5_ILP32_OFF32___122 = 125,
    _SC_XBS5_ILP32_OFFBIG___122 = 126,
    _SC_XBS5_LP64_OFF64___122 = 127,
    _SC_XBS5_LPBIG_OFFBIG___122 = 128,
    _SC_XOPEN_LEGACY___122 = 129,
    _SC_XOPEN_REALTIME___122 = 130,
    _SC_XOPEN_REALTIME_THREADS___122 = 131,
    _SC_ADVISORY_INFO___122 = 132,
    _SC_BARRIERS___122 = 133,
    _SC_BASE___122 = 134,
    _SC_C_LANG_SUPPORT___122 = 135,
    _SC_C_LANG_SUPPORT_R___122 = 136,
    _SC_CLOCK_SELECTION___122 = 137,
    _SC_CPUTIME___122 = 138,
    _SC_THREAD_CPUTIME___122 = 139,
    _SC_DEVICE_IO___122 = 140,
    _SC_DEVICE_SPECIFIC___122 = 141,
    _SC_DEVICE_SPECIFIC_R___122 = 142,
    _SC_FD_MGMT___122 = 143,
    _SC_FIFO___122 = 144,
    _SC_PIPE___122 = 145,
    _SC_FILE_ATTRIBUTES___122 = 146,
    _SC_FILE_LOCKING___122 = 147,
    _SC_FILE_SYSTEM___122 = 148,
    _SC_MONOTONIC_CLOCK___122 = 149,
    _SC_MULTI_PROCESS___122 = 150,
    _SC_SINGLE_PROCESS___122 = 151,
    _SC_NETWORKING___122 = 152,
    _SC_READER_WRITER_LOCKS___122 = 153,
    _SC_SPIN_LOCKS___122 = 154,
    _SC_REGEXP___122 = 155,
    _SC_REGEX_VERSION___122 = 156,
    _SC_SHELL___122 = 157,
    _SC_SIGNALS___122 = 158,
    _SC_SPAWN___122 = 159,
    _SC_SPORADIC_SERVER___122 = 160,
    _SC_THREAD_SPORADIC_SERVER___122 = 161,
    _SC_SYSTEM_DATABASE___122 = 162,
    _SC_SYSTEM_DATABASE_R___122 = 163,
    _SC_TIMEOUTS___122 = 164,
    _SC_TYPED_MEMORY_OBJECTS___122 = 165,
    _SC_USER_GROUPS___122 = 166,
    _SC_USER_GROUPS_R___122 = 167,
    _SC_2_PBS___122 = 168,
    _SC_2_PBS_ACCOUNTING___122 = 169,
    _SC_2_PBS_LOCATE___122 = 170,
    _SC_2_PBS_MESSAGE___122 = 171,
    _SC_2_PBS_TRACK___122 = 172,
    _SC_SYMLOOP_MAX___122 = 173,
    _SC_STREAMS___122 = 174,
    _SC_2_PBS_CHECKPOINT___122 = 175,
    _SC_V6_ILP32_OFF32___122 = 176,
    _SC_V6_ILP32_OFFBIG___122 = 177,
    _SC_V6_LP64_OFF64___122 = 178,
    _SC_V6_LPBIG_OFFBIG___122 = 179,
    _SC_HOST_NAME_MAX___122 = 180,
    _SC_TRACE___122 = 181,
    _SC_TRACE_EVENT_FILTER___122 = 182,
    _SC_TRACE_INHERIT___122 = 183,
    _SC_TRACE_LOG___122 = 184,
    _SC_LEVEL1_ICACHE_SIZE___122 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___122 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___122 = 187,
    _SC_LEVEL1_DCACHE_SIZE___122 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___122 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___122 = 190,
    _SC_LEVEL2_CACHE_SIZE___122 = 191,
    _SC_LEVEL2_CACHE_ASSOC___122 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___122 = 193,
    _SC_LEVEL3_CACHE_SIZE___122 = 194,
    _SC_LEVEL3_CACHE_ASSOC___122 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___122 = 196,
    _SC_LEVEL4_CACHE_SIZE___122 = 197,
    _SC_LEVEL4_CACHE_ASSOC___122 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___122 = 199,
    _SC_IPV6___122 = 235,
    _SC_RAW_SOCKETS___122 = 236,
    _SC_V7_ILP32_OFF32___122 = 237,
    _SC_V7_ILP32_OFFBIG___122 = 238,
    _SC_V7_LP64_OFF64___122 = 239,
    _SC_V7_LPBIG_OFFBIG___122 = 240,
    _SC_SS_REPL_MAX___122 = 241,
    _SC_TRACE_EVENT_NAME_MAX___122 = 242,
    _SC_TRACE_NAME_MAX___122 = 243,
    _SC_TRACE_SYS_MAX___122 = 244,
    _SC_TRACE_USER_EVENT_MAX___122 = 245,
    _SC_XOPEN_STREAMS___122 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___122 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___122 = 248
} ;
enum __anonenum_875524036___122 {
    _CS_PATH___122 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___122 = 1,
    _CS_GNU_LIBC_VERSION___122 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___122 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___122 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___122 = 5,
    _CS_LFS_CFLAGS___122 = 1000,
    _CS_LFS_LDFLAGS___122 = 1001,
    _CS_LFS_LIBS___122 = 1002,
    _CS_LFS_LINTFLAGS___122 = 1003,
    _CS_LFS64_CFLAGS___122 = 1004,
    _CS_LFS64_LDFLAGS___122 = 1005,
    _CS_LFS64_LIBS___122 = 1006,
    _CS_LFS64_LINTFLAGS___122 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___122 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___122 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___122 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___122 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___122 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___122 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___122 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___122 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___122 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___122 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___122 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___122 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___122 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___122 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___122 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___122 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___122 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___122 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___122 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___122 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___122 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___122 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___122 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___122 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___122 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___122 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___122 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___122 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___122 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___122 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___122 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___122 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___122 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___122 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___122 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___122 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___122 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___122 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___122 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___122 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___122 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___122 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___122 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___122 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___122 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___122 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___122 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___122 = 1147,
    _CS_V6_ENV___122 = 1148,
    _CS_V7_ENV___122 = 1149
} ;
enum __anonenum_513775621___122 {
    DT_UNKNOWN___122 = 0,
    DT_FIFO___122 = 1,
    DT_CHR___122 = 2,
    DT_DIR___122 = 4,
    DT_BLK___122 = 6,
    DT_REG___122 = 8,
    DT_LNK___122 = 10,
    DT_SOCK___122 = 12,
    DT_WHT___122 = 14
} ;
enum __anonenum_77002343___122 {
    SI_ASYNCNL___122 = -60,
    SI_TKILL___122 = -6,
    SI_SIGIO___122 = -5,
    SI_ASYNCIO___122 = -4,
    SI_MESGQ___122 = -3,
    SI_TIMER___122 = -2,
    SI_QUEUE___122 = -1,
    SI_USER___122 = 0,
    SI_KERNEL___122 = 128
} ;
enum __anonenum_131038172___122 {
    ILL_ILLOPC___122 = 1,
    ILL_ILLOPN___122 = 2,
    ILL_ILLADR___122 = 3,
    ILL_ILLTRP___122 = 4,
    ILL_PRVOPC___122 = 5,
    ILL_PRVREG___122 = 6,
    ILL_COPROC___122 = 7,
    ILL_BADSTK___122 = 8
} ;
enum __anonenum_452038093___122 {
    FPE_INTDIV___122 = 1,
    FPE_INTOVF___122 = 2,
    FPE_FLTDIV___122 = 3,
    FPE_FLTOVF___122 = 4,
    FPE_FLTUND___122 = 5,
    FPE_FLTRES___122 = 6,
    FPE_FLTINV___122 = 7,
    FPE_FLTSUB___122 = 8
} ;
enum __anonenum_30976155___122 {
    SEGV_MAPERR___122 = 1,
    SEGV_ACCERR___122 = 2,
    SEGV_BNDERR___122 = 3,
    SEGV_PKUERR___122 = 4
} ;
enum __anonenum_1036286214___122 {
    BUS_ADRALN___122 = 1,
    BUS_ADRERR___122 = 2,
    BUS_OBJERR___122 = 3,
    BUS_MCEERR_AR___122 = 4,
    BUS_MCEERR_AO___122 = 5
} ;
enum __anonenum_493465559___122 {
    TRAP_BRKPT___122 = 1,
    TRAP_TRACE___122 = 2
} ;
enum __anonenum_23175539___122 {
    CLD_EXITED___122 = 1,
    CLD_KILLED___122 = 2,
    CLD_DUMPED___122 = 3,
    CLD_TRAPPED___122 = 4,
    CLD_STOPPED___122 = 5,
    CLD_CONTINUED___122 = 6
} ;
enum __anonenum_111643124___122 {
    POLL_IN___122 = 1,
    POLL_OUT___122 = 2,
    POLL_MSG___122 = 3,
    POLL_ERR___122 = 4,
    POLL_PRI___122 = 5,
    POLL_HUP___122 = 6
} ;
enum __anonenum_852341087___122 {
    SIGEV_SIGNAL___122 = 0,
    SIGEV_NONE___122 = 1,
    SIGEV_THREAD___122 = 2,
    SIGEV_THREAD_ID___122 = 4
} ;
enum __anonenum_451154152___122 {
    REG_R8___122 = 0,
    REG_R9___122 = 1,
    REG_R10___122 = 2,
    REG_R11___122 = 3,
    REG_R12___122 = 4,
    REG_R13___122 = 5,
    REG_R14___122 = 6,
    REG_R15___122 = 7,
    REG_RDI___122 = 8,
    REG_RSI___122 = 9,
    REG_RBP___122 = 10,
    REG_RBX___122 = 11,
    REG_RDX___122 = 12,
    REG_RAX___122 = 13,
    REG_RCX___122 = 14,
    REG_RSP___122 = 15,
    REG_RIP___122 = 16,
    REG_EFL___122 = 17,
    REG_CSGSFS___122 = 18,
    REG_ERR___122 = 19,
    REG_TRAPNO___122 = 20,
    REG_OLDMASK___122 = 21,
    REG_CR2___122 = 22
} ;
enum __anonenum_57186863___122 {
    SS_ONSTACK___122 = 1,
    SS_DISABLE___122 = 2
} ;
enum __anonenum_83571709___122 {
    MSG_OOB___122 = 1,
    MSG_PEEK___122 = 2,
    MSG_DONTROUTE___122 = 4,
    MSG_TRYHARD___122 = 4,
    MSG_CTRUNC___122 = 8,
    MSG_PROXY___122 = 16,
    MSG_TRUNC___122 = 32,
    MSG_DONTWAIT___122 = 64,
    MSG_EOR___122 = 128,
    MSG_WAITALL___122 = 256,
    MSG_FIN___122 = 512,
    MSG_SYN___122 = 1024,
    MSG_CONFIRM___122 = 2048,
    MSG_RST___122 = 4096,
    MSG_ERRQUEUE___122 = 8192,
    MSG_NOSIGNAL___122 = 16384,
    MSG_MORE___122 = 32768,
    MSG_WAITFORONE___122 = 65536,
    MSG_BATCH___122 = 262144,
    MSG_ZEROCOPY___122 = 67108864,
    MSG_FASTOPEN___122 = 536870912,
    MSG_CMSG_CLOEXEC___122 = 1073741824
} ;
enum __anonenum_617082774___122 {
    SCM_RIGHTS___122 = 1,
    SCM_CREDENTIALS___122 = 2
} ;
enum __anonenum_606441560___122 {
    SHUT_RD___122 = 0,
    SHUT_WR___122 = 1,
    SHUT_RDWR___122 = 2
} ;
enum __anonenum_681669233___122 {
    IPPROTO_IP___122 = 0,
    IPPROTO_ICMP___122 = 1,
    IPPROTO_IGMP___122 = 2,
    IPPROTO_IPIP___122 = 4,
    IPPROTO_TCP___122 = 6,
    IPPROTO_EGP___122 = 8,
    IPPROTO_PUP___122 = 12,
    IPPROTO_UDP___122 = 17,
    IPPROTO_IDP___122 = 22,
    IPPROTO_TP___122 = 29,
    IPPROTO_DCCP___122 = 33,
    IPPROTO_IPV6___122 = 41,
    IPPROTO_RSVP___122 = 46,
    IPPROTO_GRE___122 = 47,
    IPPROTO_ESP___122 = 50,
    IPPROTO_AH___122 = 51,
    IPPROTO_MTP___122 = 92,
    IPPROTO_BEETPH___122 = 94,
    IPPROTO_ENCAP___122 = 98,
    IPPROTO_PIM___122 = 103,
    IPPROTO_COMP___122 = 108,
    IPPROTO_SCTP___122 = 132,
    IPPROTO_UDPLITE___122 = 136,
    IPPROTO_MPLS___122 = 137,
    IPPROTO_RAW___122 = 255,
    IPPROTO_MAX___122 = 256
} ;
enum __anonenum_218739988___122 {
    IPPROTO_HOPOPTS___122 = 0,
    IPPROTO_ROUTING___122 = 43,
    IPPROTO_FRAGMENT___122 = 44,
    IPPROTO_ICMPV6___122 = 58,
    IPPROTO_NONE___122 = 59,
    IPPROTO_DSTOPTS___122 = 60,
    IPPROTO_MH___122 = 135
} ;
enum __anonenum_662268580___122 {
    IPPORT_ECHO___122 = 7,
    IPPORT_DISCARD___122 = 9,
    IPPORT_SYSTAT___122 = 11,
    IPPORT_DAYTIME___122 = 13,
    IPPORT_NETSTAT___122 = 15,
    IPPORT_FTP___122 = 21,
    IPPORT_TELNET___122 = 23,
    IPPORT_SMTP___122 = 25,
    IPPORT_TIMESERVER___122 = 37,
    IPPORT_NAMESERVER___122 = 42,
    IPPORT_WHOIS___122 = 43,
    IPPORT_MTP___122 = 57,
    IPPORT_TFTP___122 = 69,
    IPPORT_RJE___122 = 77,
    IPPORT_FINGER___122 = 79,
    IPPORT_TTYLINK___122 = 87,
    IPPORT_SUPDUP___122 = 95,
    IPPORT_EXECSERVER___122 = 512,
    IPPORT_LOGINSERVER___122 = 513,
    IPPORT_CMDSERVER___122 = 514,
    IPPORT_EFSSERVER___122 = 520,
    IPPORT_BIFFUDP___122 = 512,
    IPPORT_WHOSERVER___122 = 513,
    IPPORT_ROUTESERVER___122 = 520,
    IPPORT_RESERVED___122 = 1024,
    IPPORT_USERRESERVED___122 = 5000
} ;
enum __anonenum_788308992___122 {
    TCP_ESTABLISHED___122 = 1,
    TCP_SYN_SENT___122 = 2,
    TCP_SYN_RECV___122 = 3,
    TCP_FIN_WAIT1___122 = 4,
    TCP_FIN_WAIT2___122 = 5,
    TCP_TIME_WAIT___122 = 6,
    TCP_CLOSE___122 = 7,
    TCP_CLOSE_WAIT___122 = 8,
    TCP_LAST_ACK___122 = 9,
    TCP_LISTEN___122 = 10,
    TCP_CLOSING___122 = 11
} ;
enum __anonenum_221125648___122 {
    TCP_NO_QUEUE___122 = 0,
    TCP_RECV_QUEUE___122 = 1,
    TCP_SEND_QUEUE___122 = 2,
    TCP_QUEUES_NR___122 = 3
} ;
enum __anonenum_34415463___122 {
    PTHREAD_CREATE_JOINABLE___122 = 0,
    PTHREAD_CREATE_DETACHED___122 = 1
} ;
enum __anonenum_303612439___122 {
    PTHREAD_MUTEX_TIMED_NP___122 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___122 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___122 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___122 = 3,
    PTHREAD_MUTEX_NORMAL___122 = 0,
    PTHREAD_MUTEX_RECURSIVE___122 = 1,
    PTHREAD_MUTEX_ERRORCHECK___122 = 2,
    PTHREAD_MUTEX_DEFAULT___122 = 0,
    PTHREAD_MUTEX_FAST_NP___122 = 0
} ;
enum __anonenum_931900394___122 {
    PTHREAD_MUTEX_STALLED___122 = 0,
    PTHREAD_MUTEX_STALLED_NP___122 = 0,
    PTHREAD_MUTEX_ROBUST___122 = 1,
    PTHREAD_MUTEX_ROBUST_NP___122 = 1
} ;
enum __anonenum_205214487___122 {
    PTHREAD_PRIO_NONE___122 = 0,
    PTHREAD_PRIO_INHERIT___122 = 1,
    PTHREAD_PRIO_PROTECT___122 = 2
} ;
enum __anonenum_25043950___122 {
    PTHREAD_RWLOCK_PREFER_READER_NP___122 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___122 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___122 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___122 = 0
} ;
enum __anonenum_436439511___122 {
    PTHREAD_INHERIT_SCHED___122 = 0,
    PTHREAD_EXPLICIT_SCHED___122 = 1
} ;
enum __anonenum_998661166___122 {
    PTHREAD_SCOPE_SYSTEM___122 = 0,
    PTHREAD_SCOPE_PROCESS___122 = 1
} ;
enum __anonenum_146137331___122 {
    PTHREAD_PROCESS_PRIVATE___122 = 0,
    PTHREAD_PROCESS_SHARED___122 = 1
} ;
enum __anonenum_53396917___122 {
    PTHREAD_CANCEL_ENABLE___122 = 0,
    PTHREAD_CANCEL_DISABLE___122 = 1
} ;
enum __anonenum_904563783___122 {
    PTHREAD_CANCEL_DEFERRED___122 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___122 = 1
} ;
enum __anonenum_672052974___122 {
    SSL_CT_VALIDATION_PERMISSIVE___122 = 0,
    SSL_CT_VALIDATION_STRICT___122 = 1
} ;
struct bitmapped_commit {
   struct commit *commit ;
   struct ewah_bitmap *bitmap ;
   struct ewah_bitmap *write_as ;
   int flags ;
   int xor_offset ;
   uint32_t commit_pos ;
};
struct bitmap_writer {
   struct ewah_bitmap *commits ;
   struct ewah_bitmap *trees ;
   struct ewah_bitmap *blobs ;
   struct ewah_bitmap *tags ;
   kh_oid_map_t *bitmaps ;
   struct packing_data *to_pack ;
   struct bitmapped_commit *selected ;
   unsigned int selected_nr ;
   unsigned int selected_alloc ;
   struct progress *progress ;
   int show_progress ;
   unsigned char pack_checksum[32] ;
};
struct bb_commit {
   struct commit_list *reverse_edges ;
   struct bitmap *commit_mask ;
   struct bitmap *bitmap ;
   unsigned int selected : 1 ;
   unsigned int maximal : 1 ;
   unsigned int idx ;
};
struct bb_data {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   struct bb_commit **slab ;
};
struct bitmap_builder {
   struct bb_data data ;
   struct commit **commits ;
   size_t commits_nr ;
   size_t commits_alloc ;
};
enum __anonenum_437032235___123 {
    _PC_LINK_MAX___123 = 0,
    _PC_MAX_CANON___123 = 1,
    _PC_MAX_INPUT___123 = 2,
    _PC_NAME_MAX___123 = 3,
    _PC_PATH_MAX___123 = 4,
    _PC_PIPE_BUF___123 = 5,
    _PC_CHOWN_RESTRICTED___123 = 6,
    _PC_NO_TRUNC___123 = 7,
    _PC_VDISABLE___123 = 8,
    _PC_SYNC_IO___123 = 9,
    _PC_ASYNC_IO___123 = 10,
    _PC_PRIO_IO___123 = 11,
    _PC_SOCK_MAXBUF___123 = 12,
    _PC_FILESIZEBITS___123 = 13,
    _PC_REC_INCR_XFER_SIZE___123 = 14,
    _PC_REC_MAX_XFER_SIZE___123 = 15,
    _PC_REC_MIN_XFER_SIZE___123 = 16,
    _PC_REC_XFER_ALIGN___123 = 17,
    _PC_ALLOC_SIZE_MIN___123 = 18,
    _PC_SYMLINK_MAX___123 = 19,
    _PC_2_SYMLINKS___123 = 20
} ;
enum __anonenum_315186338___123 {
    _SC_ARG_MAX___123 = 0,
    _SC_CHILD_MAX___123 = 1,
    _SC_CLK_TCK___123 = 2,
    _SC_NGROUPS_MAX___123 = 3,
    _SC_OPEN_MAX___123 = 4,
    _SC_STREAM_MAX___123 = 5,
    _SC_TZNAME_MAX___123 = 6,
    _SC_JOB_CONTROL___123 = 7,
    _SC_SAVED_IDS___123 = 8,
    _SC_REALTIME_SIGNALS___123 = 9,
    _SC_PRIORITY_SCHEDULING___123 = 10,
    _SC_TIMERS___123 = 11,
    _SC_ASYNCHRONOUS_IO___123 = 12,
    _SC_PRIORITIZED_IO___123 = 13,
    _SC_SYNCHRONIZED_IO___123 = 14,
    _SC_FSYNC___123 = 15,
    _SC_MAPPED_FILES___123 = 16,
    _SC_MEMLOCK___123 = 17,
    _SC_MEMLOCK_RANGE___123 = 18,
    _SC_MEMORY_PROTECTION___123 = 19,
    _SC_MESSAGE_PASSING___123 = 20,
    _SC_SEMAPHORES___123 = 21,
    _SC_SHARED_MEMORY_OBJECTS___123 = 22,
    _SC_AIO_LISTIO_MAX___123 = 23,
    _SC_AIO_MAX___123 = 24,
    _SC_AIO_PRIO_DELTA_MAX___123 = 25,
    _SC_DELAYTIMER_MAX___123 = 26,
    _SC_MQ_OPEN_MAX___123 = 27,
    _SC_MQ_PRIO_MAX___123 = 28,
    _SC_VERSION___123 = 29,
    _SC_PAGESIZE___123 = 30,
    _SC_RTSIG_MAX___123 = 31,
    _SC_SEM_NSEMS_MAX___123 = 32,
    _SC_SEM_VALUE_MAX___123 = 33,
    _SC_SIGQUEUE_MAX___123 = 34,
    _SC_TIMER_MAX___123 = 35,
    _SC_BC_BASE_MAX___123 = 36,
    _SC_BC_DIM_MAX___123 = 37,
    _SC_BC_SCALE_MAX___123 = 38,
    _SC_BC_STRING_MAX___123 = 39,
    _SC_COLL_WEIGHTS_MAX___123 = 40,
    _SC_EQUIV_CLASS_MAX___123 = 41,
    _SC_EXPR_NEST_MAX___123 = 42,
    _SC_LINE_MAX___123 = 43,
    _SC_RE_DUP_MAX___123 = 44,
    _SC_CHARCLASS_NAME_MAX___123 = 45,
    _SC_2_VERSION___123 = 46,
    _SC_2_C_BIND___123 = 47,
    _SC_2_C_DEV___123 = 48,
    _SC_2_FORT_DEV___123 = 49,
    _SC_2_FORT_RUN___123 = 50,
    _SC_2_SW_DEV___123 = 51,
    _SC_2_LOCALEDEF___123 = 52,
    _SC_PII___123 = 53,
    _SC_PII_XTI___123 = 54,
    _SC_PII_SOCKET___123 = 55,
    _SC_PII_INTERNET___123 = 56,
    _SC_PII_OSI___123 = 57,
    _SC_POLL___123 = 58,
    _SC_SELECT___123 = 59,
    _SC_UIO_MAXIOV___123 = 60,
    _SC_IOV_MAX___123 = 60,
    _SC_PII_INTERNET_STREAM___123 = 61,
    _SC_PII_INTERNET_DGRAM___123 = 62,
    _SC_PII_OSI_COTS___123 = 63,
    _SC_PII_OSI_CLTS___123 = 64,
    _SC_PII_OSI_M___123 = 65,
    _SC_T_IOV_MAX___123 = 66,
    _SC_THREADS___123 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___123 = 68,
    _SC_GETGR_R_SIZE_MAX___123 = 69,
    _SC_GETPW_R_SIZE_MAX___123 = 70,
    _SC_LOGIN_NAME_MAX___123 = 71,
    _SC_TTY_NAME_MAX___123 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___123 = 73,
    _SC_THREAD_KEYS_MAX___123 = 74,
    _SC_THREAD_STACK_MIN___123 = 75,
    _SC_THREAD_THREADS_MAX___123 = 76,
    _SC_THREAD_ATTR_STACKADDR___123 = 77,
    _SC_THREAD_ATTR_STACKSIZE___123 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___123 = 79,
    _SC_THREAD_PRIO_INHERIT___123 = 80,
    _SC_THREAD_PRIO_PROTECT___123 = 81,
    _SC_THREAD_PROCESS_SHARED___123 = 82,
    _SC_NPROCESSORS_CONF___123 = 83,
    _SC_NPROCESSORS_ONLN___123 = 84,
    _SC_PHYS_PAGES___123 = 85,
    _SC_AVPHYS_PAGES___123 = 86,
    _SC_ATEXIT_MAX___123 = 87,
    _SC_PASS_MAX___123 = 88,
    _SC_XOPEN_VERSION___123 = 89,
    _SC_XOPEN_XCU_VERSION___123 = 90,
    _SC_XOPEN_UNIX___123 = 91,
    _SC_XOPEN_CRYPT___123 = 92,
    _SC_XOPEN_ENH_I18N___123 = 93,
    _SC_XOPEN_SHM___123 = 94,
    _SC_2_CHAR_TERM___123 = 95,
    _SC_2_C_VERSION___123 = 96,
    _SC_2_UPE___123 = 97,
    _SC_XOPEN_XPG2___123 = 98,
    _SC_XOPEN_XPG3___123 = 99,
    _SC_XOPEN_XPG4___123 = 100,
    _SC_CHAR_BIT___123 = 101,
    _SC_CHAR_MAX___123 = 102,
    _SC_CHAR_MIN___123 = 103,
    _SC_INT_MAX___123 = 104,
    _SC_INT_MIN___123 = 105,
    _SC_LONG_BIT___123 = 106,
    _SC_WORD_BIT___123 = 107,
    _SC_MB_LEN_MAX___123 = 108,
    _SC_NZERO___123 = 109,
    _SC_SSIZE_MAX___123 = 110,
    _SC_SCHAR_MAX___123 = 111,
    _SC_SCHAR_MIN___123 = 112,
    _SC_SHRT_MAX___123 = 113,
    _SC_SHRT_MIN___123 = 114,
    _SC_UCHAR_MAX___123 = 115,
    _SC_UINT_MAX___123 = 116,
    _SC_ULONG_MAX___123 = 117,
    _SC_USHRT_MAX___123 = 118,
    _SC_NL_ARGMAX___123 = 119,
    _SC_NL_LANGMAX___123 = 120,
    _SC_NL_MSGMAX___123 = 121,
    _SC_NL_NMAX___123 = 122,
    _SC_NL_SETMAX___123 = 123,
    _SC_NL_TEXTMAX___123 = 124,
    _SC_XBS5_ILP32_OFF32___123 = 125,
    _SC_XBS5_ILP32_OFFBIG___123 = 126,
    _SC_XBS5_LP64_OFF64___123 = 127,
    _SC_XBS5_LPBIG_OFFBIG___123 = 128,
    _SC_XOPEN_LEGACY___123 = 129,
    _SC_XOPEN_REALTIME___123 = 130,
    _SC_XOPEN_REALTIME_THREADS___123 = 131,
    _SC_ADVISORY_INFO___123 = 132,
    _SC_BARRIERS___123 = 133,
    _SC_BASE___123 = 134,
    _SC_C_LANG_SUPPORT___123 = 135,
    _SC_C_LANG_SUPPORT_R___123 = 136,
    _SC_CLOCK_SELECTION___123 = 137,
    _SC_CPUTIME___123 = 138,
    _SC_THREAD_CPUTIME___123 = 139,
    _SC_DEVICE_IO___123 = 140,
    _SC_DEVICE_SPECIFIC___123 = 141,
    _SC_DEVICE_SPECIFIC_R___123 = 142,
    _SC_FD_MGMT___123 = 143,
    _SC_FIFO___123 = 144,
    _SC_PIPE___123 = 145,
    _SC_FILE_ATTRIBUTES___123 = 146,
    _SC_FILE_LOCKING___123 = 147,
    _SC_FILE_SYSTEM___123 = 148,
    _SC_MONOTONIC_CLOCK___123 = 149,
    _SC_MULTI_PROCESS___123 = 150,
    _SC_SINGLE_PROCESS___123 = 151,
    _SC_NETWORKING___123 = 152,
    _SC_READER_WRITER_LOCKS___123 = 153,
    _SC_SPIN_LOCKS___123 = 154,
    _SC_REGEXP___123 = 155,
    _SC_REGEX_VERSION___123 = 156,
    _SC_SHELL___123 = 157,
    _SC_SIGNALS___123 = 158,
    _SC_SPAWN___123 = 159,
    _SC_SPORADIC_SERVER___123 = 160,
    _SC_THREAD_SPORADIC_SERVER___123 = 161,
    _SC_SYSTEM_DATABASE___123 = 162,
    _SC_SYSTEM_DATABASE_R___123 = 163,
    _SC_TIMEOUTS___123 = 164,
    _SC_TYPED_MEMORY_OBJECTS___123 = 165,
    _SC_USER_GROUPS___123 = 166,
    _SC_USER_GROUPS_R___123 = 167,
    _SC_2_PBS___123 = 168,
    _SC_2_PBS_ACCOUNTING___123 = 169,
    _SC_2_PBS_LOCATE___123 = 170,
    _SC_2_PBS_MESSAGE___123 = 171,
    _SC_2_PBS_TRACK___123 = 172,
    _SC_SYMLOOP_MAX___123 = 173,
    _SC_STREAMS___123 = 174,
    _SC_2_PBS_CHECKPOINT___123 = 175,
    _SC_V6_ILP32_OFF32___123 = 176,
    _SC_V6_ILP32_OFFBIG___123 = 177,
    _SC_V6_LP64_OFF64___123 = 178,
    _SC_V6_LPBIG_OFFBIG___123 = 179,
    _SC_HOST_NAME_MAX___123 = 180,
    _SC_TRACE___123 = 181,
    _SC_TRACE_EVENT_FILTER___123 = 182,
    _SC_TRACE_INHERIT___123 = 183,
    _SC_TRACE_LOG___123 = 184,
    _SC_LEVEL1_ICACHE_SIZE___123 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___123 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___123 = 187,
    _SC_LEVEL1_DCACHE_SIZE___123 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___123 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___123 = 190,
    _SC_LEVEL2_CACHE_SIZE___123 = 191,
    _SC_LEVEL2_CACHE_ASSOC___123 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___123 = 193,
    _SC_LEVEL3_CACHE_SIZE___123 = 194,
    _SC_LEVEL3_CACHE_ASSOC___123 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___123 = 196,
    _SC_LEVEL4_CACHE_SIZE___123 = 197,
    _SC_LEVEL4_CACHE_ASSOC___123 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___123 = 199,
    _SC_IPV6___123 = 235,
    _SC_RAW_SOCKETS___123 = 236,
    _SC_V7_ILP32_OFF32___123 = 237,
    _SC_V7_ILP32_OFFBIG___123 = 238,
    _SC_V7_LP64_OFF64___123 = 239,
    _SC_V7_LPBIG_OFFBIG___123 = 240,
    _SC_SS_REPL_MAX___123 = 241,
    _SC_TRACE_EVENT_NAME_MAX___123 = 242,
    _SC_TRACE_NAME_MAX___123 = 243,
    _SC_TRACE_SYS_MAX___123 = 244,
    _SC_TRACE_USER_EVENT_MAX___123 = 245,
    _SC_XOPEN_STREAMS___123 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___123 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___123 = 248
} ;
enum __anonenum_875524036___123 {
    _CS_PATH___123 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___123 = 1,
    _CS_GNU_LIBC_VERSION___123 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___123 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___123 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___123 = 5,
    _CS_LFS_CFLAGS___123 = 1000,
    _CS_LFS_LDFLAGS___123 = 1001,
    _CS_LFS_LIBS___123 = 1002,
    _CS_LFS_LINTFLAGS___123 = 1003,
    _CS_LFS64_CFLAGS___123 = 1004,
    _CS_LFS64_LDFLAGS___123 = 1005,
    _CS_LFS64_LIBS___123 = 1006,
    _CS_LFS64_LINTFLAGS___123 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___123 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___123 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___123 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___123 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___123 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___123 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___123 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___123 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___123 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___123 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___123 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___123 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___123 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___123 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___123 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___123 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___123 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___123 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___123 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___123 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___123 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___123 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___123 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___123 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___123 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___123 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___123 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___123 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___123 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___123 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___123 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___123 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___123 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___123 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___123 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___123 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___123 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___123 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___123 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___123 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___123 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___123 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___123 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___123 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___123 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___123 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___123 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___123 = 1147,
    _CS_V6_ENV___123 = 1148,
    _CS_V7_ENV___123 = 1149
} ;
enum __anonenum_513775621___123 {
    DT_UNKNOWN___123 = 0,
    DT_FIFO___123 = 1,
    DT_CHR___123 = 2,
    DT_DIR___123 = 4,
    DT_BLK___123 = 6,
    DT_REG___123 = 8,
    DT_LNK___123 = 10,
    DT_SOCK___123 = 12,
    DT_WHT___123 = 14
} ;
enum __anonenum_77002343___123 {
    SI_ASYNCNL___123 = -60,
    SI_TKILL___123 = -6,
    SI_SIGIO___123 = -5,
    SI_ASYNCIO___123 = -4,
    SI_MESGQ___123 = -3,
    SI_TIMER___123 = -2,
    SI_QUEUE___123 = -1,
    SI_USER___123 = 0,
    SI_KERNEL___123 = 128
} ;
enum __anonenum_131038172___123 {
    ILL_ILLOPC___123 = 1,
    ILL_ILLOPN___123 = 2,
    ILL_ILLADR___123 = 3,
    ILL_ILLTRP___123 = 4,
    ILL_PRVOPC___123 = 5,
    ILL_PRVREG___123 = 6,
    ILL_COPROC___123 = 7,
    ILL_BADSTK___123 = 8
} ;
enum __anonenum_452038093___123 {
    FPE_INTDIV___123 = 1,
    FPE_INTOVF___123 = 2,
    FPE_FLTDIV___123 = 3,
    FPE_FLTOVF___123 = 4,
    FPE_FLTUND___123 = 5,
    FPE_FLTRES___123 = 6,
    FPE_FLTINV___123 = 7,
    FPE_FLTSUB___123 = 8
} ;
enum __anonenum_30976155___123 {
    SEGV_MAPERR___123 = 1,
    SEGV_ACCERR___123 = 2,
    SEGV_BNDERR___123 = 3,
    SEGV_PKUERR___123 = 4
} ;
enum __anonenum_1036286214___123 {
    BUS_ADRALN___123 = 1,
    BUS_ADRERR___123 = 2,
    BUS_OBJERR___123 = 3,
    BUS_MCEERR_AR___123 = 4,
    BUS_MCEERR_AO___123 = 5
} ;
enum __anonenum_493465559___123 {
    TRAP_BRKPT___123 = 1,
    TRAP_TRACE___123 = 2
} ;
enum __anonenum_23175539___123 {
    CLD_EXITED___123 = 1,
    CLD_KILLED___123 = 2,
    CLD_DUMPED___123 = 3,
    CLD_TRAPPED___123 = 4,
    CLD_STOPPED___123 = 5,
    CLD_CONTINUED___123 = 6
} ;
enum __anonenum_111643124___123 {
    POLL_IN___123 = 1,
    POLL_OUT___123 = 2,
    POLL_MSG___123 = 3,
    POLL_ERR___123 = 4,
    POLL_PRI___123 = 5,
    POLL_HUP___123 = 6
} ;
enum __anonenum_852341087___123 {
    SIGEV_SIGNAL___123 = 0,
    SIGEV_NONE___123 = 1,
    SIGEV_THREAD___123 = 2,
    SIGEV_THREAD_ID___123 = 4
} ;
enum __anonenum_451154152___123 {
    REG_R8___123 = 0,
    REG_R9___123 = 1,
    REG_R10___123 = 2,
    REG_R11___123 = 3,
    REG_R12___123 = 4,
    REG_R13___123 = 5,
    REG_R14___123 = 6,
    REG_R15___123 = 7,
    REG_RDI___123 = 8,
    REG_RSI___123 = 9,
    REG_RBP___123 = 10,
    REG_RBX___123 = 11,
    REG_RDX___123 = 12,
    REG_RAX___123 = 13,
    REG_RCX___123 = 14,
    REG_RSP___123 = 15,
    REG_RIP___123 = 16,
    REG_EFL___123 = 17,
    REG_CSGSFS___123 = 18,
    REG_ERR___123 = 19,
    REG_TRAPNO___123 = 20,
    REG_OLDMASK___123 = 21,
    REG_CR2___123 = 22
} ;
enum __anonenum_57186863___123 {
    SS_ONSTACK___123 = 1,
    SS_DISABLE___123 = 2
} ;
enum __anonenum_83571709___123 {
    MSG_OOB___123 = 1,
    MSG_PEEK___123 = 2,
    MSG_DONTROUTE___123 = 4,
    MSG_TRYHARD___123 = 4,
    MSG_CTRUNC___123 = 8,
    MSG_PROXY___123 = 16,
    MSG_TRUNC___123 = 32,
    MSG_DONTWAIT___123 = 64,
    MSG_EOR___123 = 128,
    MSG_WAITALL___123 = 256,
    MSG_FIN___123 = 512,
    MSG_SYN___123 = 1024,
    MSG_CONFIRM___123 = 2048,
    MSG_RST___123 = 4096,
    MSG_ERRQUEUE___123 = 8192,
    MSG_NOSIGNAL___123 = 16384,
    MSG_MORE___123 = 32768,
    MSG_WAITFORONE___123 = 65536,
    MSG_BATCH___123 = 262144,
    MSG_ZEROCOPY___123 = 67108864,
    MSG_FASTOPEN___123 = 536870912,
    MSG_CMSG_CLOEXEC___123 = 1073741824
} ;
enum __anonenum_617082774___123 {
    SCM_RIGHTS___123 = 1,
    SCM_CREDENTIALS___123 = 2
} ;
enum __anonenum_606441560___123 {
    SHUT_RD___123 = 0,
    SHUT_WR___123 = 1,
    SHUT_RDWR___123 = 2
} ;
enum __anonenum_681669233___123 {
    IPPROTO_IP___123 = 0,
    IPPROTO_ICMP___123 = 1,
    IPPROTO_IGMP___123 = 2,
    IPPROTO_IPIP___123 = 4,
    IPPROTO_TCP___123 = 6,
    IPPROTO_EGP___123 = 8,
    IPPROTO_PUP___123 = 12,
    IPPROTO_UDP___123 = 17,
    IPPROTO_IDP___123 = 22,
    IPPROTO_TP___123 = 29,
    IPPROTO_DCCP___123 = 33,
    IPPROTO_IPV6___123 = 41,
    IPPROTO_RSVP___123 = 46,
    IPPROTO_GRE___123 = 47,
    IPPROTO_ESP___123 = 50,
    IPPROTO_AH___123 = 51,
    IPPROTO_MTP___123 = 92,
    IPPROTO_BEETPH___123 = 94,
    IPPROTO_ENCAP___123 = 98,
    IPPROTO_PIM___123 = 103,
    IPPROTO_COMP___123 = 108,
    IPPROTO_SCTP___123 = 132,
    IPPROTO_UDPLITE___123 = 136,
    IPPROTO_MPLS___123 = 137,
    IPPROTO_RAW___123 = 255,
    IPPROTO_MAX___123 = 256
} ;
enum __anonenum_218739988___123 {
    IPPROTO_HOPOPTS___123 = 0,
    IPPROTO_ROUTING___123 = 43,
    IPPROTO_FRAGMENT___123 = 44,
    IPPROTO_ICMPV6___123 = 58,
    IPPROTO_NONE___123 = 59,
    IPPROTO_DSTOPTS___123 = 60,
    IPPROTO_MH___123 = 135
} ;
enum __anonenum_662268580___123 {
    IPPORT_ECHO___123 = 7,
    IPPORT_DISCARD___123 = 9,
    IPPORT_SYSTAT___123 = 11,
    IPPORT_DAYTIME___123 = 13,
    IPPORT_NETSTAT___123 = 15,
    IPPORT_FTP___123 = 21,
    IPPORT_TELNET___123 = 23,
    IPPORT_SMTP___123 = 25,
    IPPORT_TIMESERVER___123 = 37,
    IPPORT_NAMESERVER___123 = 42,
    IPPORT_WHOIS___123 = 43,
    IPPORT_MTP___123 = 57,
    IPPORT_TFTP___123 = 69,
    IPPORT_RJE___123 = 77,
    IPPORT_FINGER___123 = 79,
    IPPORT_TTYLINK___123 = 87,
    IPPORT_SUPDUP___123 = 95,
    IPPORT_EXECSERVER___123 = 512,
    IPPORT_LOGINSERVER___123 = 513,
    IPPORT_CMDSERVER___123 = 514,
    IPPORT_EFSSERVER___123 = 520,
    IPPORT_BIFFUDP___123 = 512,
    IPPORT_WHOSERVER___123 = 513,
    IPPORT_ROUTESERVER___123 = 520,
    IPPORT_RESERVED___123 = 1024,
    IPPORT_USERRESERVED___123 = 5000
} ;
enum __anonenum_788308992___123 {
    TCP_ESTABLISHED___123 = 1,
    TCP_SYN_SENT___123 = 2,
    TCP_SYN_RECV___123 = 3,
    TCP_FIN_WAIT1___123 = 4,
    TCP_FIN_WAIT2___123 = 5,
    TCP_TIME_WAIT___123 = 6,
    TCP_CLOSE___123 = 7,
    TCP_CLOSE_WAIT___123 = 8,
    TCP_LAST_ACK___123 = 9,
    TCP_LISTEN___123 = 10,
    TCP_CLOSING___123 = 11
} ;
enum __anonenum_221125648___123 {
    TCP_NO_QUEUE___123 = 0,
    TCP_RECV_QUEUE___123 = 1,
    TCP_SEND_QUEUE___123 = 2,
    TCP_QUEUES_NR___123 = 3
} ;
enum __anonenum_34415463___123 {
    PTHREAD_CREATE_JOINABLE___123 = 0,
    PTHREAD_CREATE_DETACHED___123 = 1
} ;
enum __anonenum_303612439___123 {
    PTHREAD_MUTEX_TIMED_NP___123 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___123 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___123 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___123 = 3,
    PTHREAD_MUTEX_NORMAL___123 = 0,
    PTHREAD_MUTEX_RECURSIVE___123 = 1,
    PTHREAD_MUTEX_ERRORCHECK___123 = 2,
    PTHREAD_MUTEX_DEFAULT___123 = 0,
    PTHREAD_MUTEX_FAST_NP___123 = 0
} ;
enum __anonenum_931900394___123 {
    PTHREAD_MUTEX_STALLED___123 = 0,
    PTHREAD_MUTEX_STALLED_NP___123 = 0,
    PTHREAD_MUTEX_ROBUST___123 = 1,
    PTHREAD_MUTEX_ROBUST_NP___123 = 1
} ;
enum __anonenum_205214487___123 {
    PTHREAD_PRIO_NONE___123 = 0,
    PTHREAD_PRIO_INHERIT___123 = 1,
    PTHREAD_PRIO_PROTECT___123 = 2
} ;
enum __anonenum_25043950___123 {
    PTHREAD_RWLOCK_PREFER_READER_NP___123 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___123 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___123 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___123 = 0
} ;
enum __anonenum_436439511___123 {
    PTHREAD_INHERIT_SCHED___123 = 0,
    PTHREAD_EXPLICIT_SCHED___123 = 1
} ;
enum __anonenum_998661166___123 {
    PTHREAD_SCOPE_SYSTEM___123 = 0,
    PTHREAD_SCOPE_PROCESS___123 = 1
} ;
enum __anonenum_146137331___123 {
    PTHREAD_PROCESS_PRIVATE___123 = 0,
    PTHREAD_PROCESS_SHARED___123 = 1
} ;
enum __anonenum_53396917___123 {
    PTHREAD_CANCEL_ENABLE___123 = 0,
    PTHREAD_CANCEL_DISABLE___123 = 1
} ;
enum __anonenum_904563783___123 {
    PTHREAD_CANCEL_DEFERRED___123 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___123 = 1
} ;
enum __anonenum_672052974___123 {
    SSL_CT_VALIDATION_PERMISSIVE___123 = 0,
    SSL_CT_VALIDATION_STRICT___123 = 1
} ;
struct stored_bitmap {
   struct object_id oid ;
   struct ewah_bitmap *root ;
   struct stored_bitmap *xor ;
   int flags ;
};
struct eindex {
   struct object **objects ;
   uint32_t *hashes ;
   uint32_t count ;
   uint32_t alloc ;
   kh_oid_pos_t *positions ;
};
struct bitmap_index {
   struct packed_git *pack ;
   struct multi_pack_index *midx ;
   uint32_t reuse_objects ;
   unsigned char *map ;
   size_t map_size ;
   size_t map_pos ;
   struct ewah_bitmap *commits ;
   struct ewah_bitmap *trees ;
   struct ewah_bitmap *blobs ;
   struct ewah_bitmap *tags ;
   kh_oid_map_t *bitmaps ;
   uint32_t entry_count ;
   uint32_t *hashes ;
   unsigned char const   *checksum ;
   struct eindex ext_index ;
   struct bitmap *result ;
   struct bitmap *haves ;
   unsigned int version ;
};
struct include_data {
   struct bitmap_index *bitmap_git ;
   struct bitmap *base ;
   struct bitmap *seen ;
};
struct bitmap_show_data {
   struct bitmap_index *bitmap_git ;
   struct bitmap *base ;
};
struct bitmap_test_data {
   struct bitmap_index *bitmap_git ;
   struct bitmap *base ;
   struct bitmap *commits ;
   struct bitmap *trees ;
   struct bitmap *blobs ;
   struct bitmap *tags ;
   struct progress *prg ;
   size_t seen ;
};
enum __anonenum_437032235___124 {
    _PC_LINK_MAX___124 = 0,
    _PC_MAX_CANON___124 = 1,
    _PC_MAX_INPUT___124 = 2,
    _PC_NAME_MAX___124 = 3,
    _PC_PATH_MAX___124 = 4,
    _PC_PIPE_BUF___124 = 5,
    _PC_CHOWN_RESTRICTED___124 = 6,
    _PC_NO_TRUNC___124 = 7,
    _PC_VDISABLE___124 = 8,
    _PC_SYNC_IO___124 = 9,
    _PC_ASYNC_IO___124 = 10,
    _PC_PRIO_IO___124 = 11,
    _PC_SOCK_MAXBUF___124 = 12,
    _PC_FILESIZEBITS___124 = 13,
    _PC_REC_INCR_XFER_SIZE___124 = 14,
    _PC_REC_MAX_XFER_SIZE___124 = 15,
    _PC_REC_MIN_XFER_SIZE___124 = 16,
    _PC_REC_XFER_ALIGN___124 = 17,
    _PC_ALLOC_SIZE_MIN___124 = 18,
    _PC_SYMLINK_MAX___124 = 19,
    _PC_2_SYMLINKS___124 = 20
} ;
enum __anonenum_315186338___124 {
    _SC_ARG_MAX___124 = 0,
    _SC_CHILD_MAX___124 = 1,
    _SC_CLK_TCK___124 = 2,
    _SC_NGROUPS_MAX___124 = 3,
    _SC_OPEN_MAX___124 = 4,
    _SC_STREAM_MAX___124 = 5,
    _SC_TZNAME_MAX___124 = 6,
    _SC_JOB_CONTROL___124 = 7,
    _SC_SAVED_IDS___124 = 8,
    _SC_REALTIME_SIGNALS___124 = 9,
    _SC_PRIORITY_SCHEDULING___124 = 10,
    _SC_TIMERS___124 = 11,
    _SC_ASYNCHRONOUS_IO___124 = 12,
    _SC_PRIORITIZED_IO___124 = 13,
    _SC_SYNCHRONIZED_IO___124 = 14,
    _SC_FSYNC___124 = 15,
    _SC_MAPPED_FILES___124 = 16,
    _SC_MEMLOCK___124 = 17,
    _SC_MEMLOCK_RANGE___124 = 18,
    _SC_MEMORY_PROTECTION___124 = 19,
    _SC_MESSAGE_PASSING___124 = 20,
    _SC_SEMAPHORES___124 = 21,
    _SC_SHARED_MEMORY_OBJECTS___124 = 22,
    _SC_AIO_LISTIO_MAX___124 = 23,
    _SC_AIO_MAX___124 = 24,
    _SC_AIO_PRIO_DELTA_MAX___124 = 25,
    _SC_DELAYTIMER_MAX___124 = 26,
    _SC_MQ_OPEN_MAX___124 = 27,
    _SC_MQ_PRIO_MAX___124 = 28,
    _SC_VERSION___124 = 29,
    _SC_PAGESIZE___124 = 30,
    _SC_RTSIG_MAX___124 = 31,
    _SC_SEM_NSEMS_MAX___124 = 32,
    _SC_SEM_VALUE_MAX___124 = 33,
    _SC_SIGQUEUE_MAX___124 = 34,
    _SC_TIMER_MAX___124 = 35,
    _SC_BC_BASE_MAX___124 = 36,
    _SC_BC_DIM_MAX___124 = 37,
    _SC_BC_SCALE_MAX___124 = 38,
    _SC_BC_STRING_MAX___124 = 39,
    _SC_COLL_WEIGHTS_MAX___124 = 40,
    _SC_EQUIV_CLASS_MAX___124 = 41,
    _SC_EXPR_NEST_MAX___124 = 42,
    _SC_LINE_MAX___124 = 43,
    _SC_RE_DUP_MAX___124 = 44,
    _SC_CHARCLASS_NAME_MAX___124 = 45,
    _SC_2_VERSION___124 = 46,
    _SC_2_C_BIND___124 = 47,
    _SC_2_C_DEV___124 = 48,
    _SC_2_FORT_DEV___124 = 49,
    _SC_2_FORT_RUN___124 = 50,
    _SC_2_SW_DEV___124 = 51,
    _SC_2_LOCALEDEF___124 = 52,
    _SC_PII___124 = 53,
    _SC_PII_XTI___124 = 54,
    _SC_PII_SOCKET___124 = 55,
    _SC_PII_INTERNET___124 = 56,
    _SC_PII_OSI___124 = 57,
    _SC_POLL___124 = 58,
    _SC_SELECT___124 = 59,
    _SC_UIO_MAXIOV___124 = 60,
    _SC_IOV_MAX___124 = 60,
    _SC_PII_INTERNET_STREAM___124 = 61,
    _SC_PII_INTERNET_DGRAM___124 = 62,
    _SC_PII_OSI_COTS___124 = 63,
    _SC_PII_OSI_CLTS___124 = 64,
    _SC_PII_OSI_M___124 = 65,
    _SC_T_IOV_MAX___124 = 66,
    _SC_THREADS___124 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___124 = 68,
    _SC_GETGR_R_SIZE_MAX___124 = 69,
    _SC_GETPW_R_SIZE_MAX___124 = 70,
    _SC_LOGIN_NAME_MAX___124 = 71,
    _SC_TTY_NAME_MAX___124 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___124 = 73,
    _SC_THREAD_KEYS_MAX___124 = 74,
    _SC_THREAD_STACK_MIN___124 = 75,
    _SC_THREAD_THREADS_MAX___124 = 76,
    _SC_THREAD_ATTR_STACKADDR___124 = 77,
    _SC_THREAD_ATTR_STACKSIZE___124 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___124 = 79,
    _SC_THREAD_PRIO_INHERIT___124 = 80,
    _SC_THREAD_PRIO_PROTECT___124 = 81,
    _SC_THREAD_PROCESS_SHARED___124 = 82,
    _SC_NPROCESSORS_CONF___124 = 83,
    _SC_NPROCESSORS_ONLN___124 = 84,
    _SC_PHYS_PAGES___124 = 85,
    _SC_AVPHYS_PAGES___124 = 86,
    _SC_ATEXIT_MAX___124 = 87,
    _SC_PASS_MAX___124 = 88,
    _SC_XOPEN_VERSION___124 = 89,
    _SC_XOPEN_XCU_VERSION___124 = 90,
    _SC_XOPEN_UNIX___124 = 91,
    _SC_XOPEN_CRYPT___124 = 92,
    _SC_XOPEN_ENH_I18N___124 = 93,
    _SC_XOPEN_SHM___124 = 94,
    _SC_2_CHAR_TERM___124 = 95,
    _SC_2_C_VERSION___124 = 96,
    _SC_2_UPE___124 = 97,
    _SC_XOPEN_XPG2___124 = 98,
    _SC_XOPEN_XPG3___124 = 99,
    _SC_XOPEN_XPG4___124 = 100,
    _SC_CHAR_BIT___124 = 101,
    _SC_CHAR_MAX___124 = 102,
    _SC_CHAR_MIN___124 = 103,
    _SC_INT_MAX___124 = 104,
    _SC_INT_MIN___124 = 105,
    _SC_LONG_BIT___124 = 106,
    _SC_WORD_BIT___124 = 107,
    _SC_MB_LEN_MAX___124 = 108,
    _SC_NZERO___124 = 109,
    _SC_SSIZE_MAX___124 = 110,
    _SC_SCHAR_MAX___124 = 111,
    _SC_SCHAR_MIN___124 = 112,
    _SC_SHRT_MAX___124 = 113,
    _SC_SHRT_MIN___124 = 114,
    _SC_UCHAR_MAX___124 = 115,
    _SC_UINT_MAX___124 = 116,
    _SC_ULONG_MAX___124 = 117,
    _SC_USHRT_MAX___124 = 118,
    _SC_NL_ARGMAX___124 = 119,
    _SC_NL_LANGMAX___124 = 120,
    _SC_NL_MSGMAX___124 = 121,
    _SC_NL_NMAX___124 = 122,
    _SC_NL_SETMAX___124 = 123,
    _SC_NL_TEXTMAX___124 = 124,
    _SC_XBS5_ILP32_OFF32___124 = 125,
    _SC_XBS5_ILP32_OFFBIG___124 = 126,
    _SC_XBS5_LP64_OFF64___124 = 127,
    _SC_XBS5_LPBIG_OFFBIG___124 = 128,
    _SC_XOPEN_LEGACY___124 = 129,
    _SC_XOPEN_REALTIME___124 = 130,
    _SC_XOPEN_REALTIME_THREADS___124 = 131,
    _SC_ADVISORY_INFO___124 = 132,
    _SC_BARRIERS___124 = 133,
    _SC_BASE___124 = 134,
    _SC_C_LANG_SUPPORT___124 = 135,
    _SC_C_LANG_SUPPORT_R___124 = 136,
    _SC_CLOCK_SELECTION___124 = 137,
    _SC_CPUTIME___124 = 138,
    _SC_THREAD_CPUTIME___124 = 139,
    _SC_DEVICE_IO___124 = 140,
    _SC_DEVICE_SPECIFIC___124 = 141,
    _SC_DEVICE_SPECIFIC_R___124 = 142,
    _SC_FD_MGMT___124 = 143,
    _SC_FIFO___124 = 144,
    _SC_PIPE___124 = 145,
    _SC_FILE_ATTRIBUTES___124 = 146,
    _SC_FILE_LOCKING___124 = 147,
    _SC_FILE_SYSTEM___124 = 148,
    _SC_MONOTONIC_CLOCK___124 = 149,
    _SC_MULTI_PROCESS___124 = 150,
    _SC_SINGLE_PROCESS___124 = 151,
    _SC_NETWORKING___124 = 152,
    _SC_READER_WRITER_LOCKS___124 = 153,
    _SC_SPIN_LOCKS___124 = 154,
    _SC_REGEXP___124 = 155,
    _SC_REGEX_VERSION___124 = 156,
    _SC_SHELL___124 = 157,
    _SC_SIGNALS___124 = 158,
    _SC_SPAWN___124 = 159,
    _SC_SPORADIC_SERVER___124 = 160,
    _SC_THREAD_SPORADIC_SERVER___124 = 161,
    _SC_SYSTEM_DATABASE___124 = 162,
    _SC_SYSTEM_DATABASE_R___124 = 163,
    _SC_TIMEOUTS___124 = 164,
    _SC_TYPED_MEMORY_OBJECTS___124 = 165,
    _SC_USER_GROUPS___124 = 166,
    _SC_USER_GROUPS_R___124 = 167,
    _SC_2_PBS___124 = 168,
    _SC_2_PBS_ACCOUNTING___124 = 169,
    _SC_2_PBS_LOCATE___124 = 170,
    _SC_2_PBS_MESSAGE___124 = 171,
    _SC_2_PBS_TRACK___124 = 172,
    _SC_SYMLOOP_MAX___124 = 173,
    _SC_STREAMS___124 = 174,
    _SC_2_PBS_CHECKPOINT___124 = 175,
    _SC_V6_ILP32_OFF32___124 = 176,
    _SC_V6_ILP32_OFFBIG___124 = 177,
    _SC_V6_LP64_OFF64___124 = 178,
    _SC_V6_LPBIG_OFFBIG___124 = 179,
    _SC_HOST_NAME_MAX___124 = 180,
    _SC_TRACE___124 = 181,
    _SC_TRACE_EVENT_FILTER___124 = 182,
    _SC_TRACE_INHERIT___124 = 183,
    _SC_TRACE_LOG___124 = 184,
    _SC_LEVEL1_ICACHE_SIZE___124 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___124 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___124 = 187,
    _SC_LEVEL1_DCACHE_SIZE___124 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___124 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___124 = 190,
    _SC_LEVEL2_CACHE_SIZE___124 = 191,
    _SC_LEVEL2_CACHE_ASSOC___124 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___124 = 193,
    _SC_LEVEL3_CACHE_SIZE___124 = 194,
    _SC_LEVEL3_CACHE_ASSOC___124 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___124 = 196,
    _SC_LEVEL4_CACHE_SIZE___124 = 197,
    _SC_LEVEL4_CACHE_ASSOC___124 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___124 = 199,
    _SC_IPV6___124 = 235,
    _SC_RAW_SOCKETS___124 = 236,
    _SC_V7_ILP32_OFF32___124 = 237,
    _SC_V7_ILP32_OFFBIG___124 = 238,
    _SC_V7_LP64_OFF64___124 = 239,
    _SC_V7_LPBIG_OFFBIG___124 = 240,
    _SC_SS_REPL_MAX___124 = 241,
    _SC_TRACE_EVENT_NAME_MAX___124 = 242,
    _SC_TRACE_NAME_MAX___124 = 243,
    _SC_TRACE_SYS_MAX___124 = 244,
    _SC_TRACE_USER_EVENT_MAX___124 = 245,
    _SC_XOPEN_STREAMS___124 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___124 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___124 = 248
} ;
enum __anonenum_875524036___124 {
    _CS_PATH___124 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___124 = 1,
    _CS_GNU_LIBC_VERSION___124 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___124 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___124 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___124 = 5,
    _CS_LFS_CFLAGS___124 = 1000,
    _CS_LFS_LDFLAGS___124 = 1001,
    _CS_LFS_LIBS___124 = 1002,
    _CS_LFS_LINTFLAGS___124 = 1003,
    _CS_LFS64_CFLAGS___124 = 1004,
    _CS_LFS64_LDFLAGS___124 = 1005,
    _CS_LFS64_LIBS___124 = 1006,
    _CS_LFS64_LINTFLAGS___124 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___124 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___124 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___124 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___124 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___124 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___124 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___124 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___124 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___124 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___124 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___124 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___124 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___124 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___124 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___124 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___124 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___124 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___124 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___124 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___124 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___124 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___124 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___124 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___124 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___124 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___124 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___124 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___124 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___124 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___124 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___124 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___124 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___124 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___124 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___124 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___124 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___124 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___124 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___124 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___124 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___124 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___124 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___124 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___124 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___124 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___124 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___124 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___124 = 1147,
    _CS_V6_ENV___124 = 1148,
    _CS_V7_ENV___124 = 1149
} ;
enum __anonenum_513775621___124 {
    DT_UNKNOWN___124 = 0,
    DT_FIFO___124 = 1,
    DT_CHR___124 = 2,
    DT_DIR___124 = 4,
    DT_BLK___124 = 6,
    DT_REG___124 = 8,
    DT_LNK___124 = 10,
    DT_SOCK___124 = 12,
    DT_WHT___124 = 14
} ;
enum __anonenum_77002343___124 {
    SI_ASYNCNL___124 = -60,
    SI_TKILL___124 = -6,
    SI_SIGIO___124 = -5,
    SI_ASYNCIO___124 = -4,
    SI_MESGQ___124 = -3,
    SI_TIMER___124 = -2,
    SI_QUEUE___124 = -1,
    SI_USER___124 = 0,
    SI_KERNEL___124 = 128
} ;
enum __anonenum_131038172___124 {
    ILL_ILLOPC___124 = 1,
    ILL_ILLOPN___124 = 2,
    ILL_ILLADR___124 = 3,
    ILL_ILLTRP___124 = 4,
    ILL_PRVOPC___124 = 5,
    ILL_PRVREG___124 = 6,
    ILL_COPROC___124 = 7,
    ILL_BADSTK___124 = 8
} ;
enum __anonenum_452038093___124 {
    FPE_INTDIV___124 = 1,
    FPE_INTOVF___124 = 2,
    FPE_FLTDIV___124 = 3,
    FPE_FLTOVF___124 = 4,
    FPE_FLTUND___124 = 5,
    FPE_FLTRES___124 = 6,
    FPE_FLTINV___124 = 7,
    FPE_FLTSUB___124 = 8
} ;
enum __anonenum_30976155___124 {
    SEGV_MAPERR___124 = 1,
    SEGV_ACCERR___124 = 2,
    SEGV_BNDERR___124 = 3,
    SEGV_PKUERR___124 = 4
} ;
enum __anonenum_1036286214___124 {
    BUS_ADRALN___124 = 1,
    BUS_ADRERR___124 = 2,
    BUS_OBJERR___124 = 3,
    BUS_MCEERR_AR___124 = 4,
    BUS_MCEERR_AO___124 = 5
} ;
enum __anonenum_493465559___124 {
    TRAP_BRKPT___124 = 1,
    TRAP_TRACE___124 = 2
} ;
enum __anonenum_23175539___124 {
    CLD_EXITED___124 = 1,
    CLD_KILLED___124 = 2,
    CLD_DUMPED___124 = 3,
    CLD_TRAPPED___124 = 4,
    CLD_STOPPED___124 = 5,
    CLD_CONTINUED___124 = 6
} ;
enum __anonenum_111643124___124 {
    POLL_IN___124 = 1,
    POLL_OUT___124 = 2,
    POLL_MSG___124 = 3,
    POLL_ERR___124 = 4,
    POLL_PRI___124 = 5,
    POLL_HUP___124 = 6
} ;
enum __anonenum_852341087___124 {
    SIGEV_SIGNAL___124 = 0,
    SIGEV_NONE___124 = 1,
    SIGEV_THREAD___124 = 2,
    SIGEV_THREAD_ID___124 = 4
} ;
enum __anonenum_451154152___124 {
    REG_R8___124 = 0,
    REG_R9___124 = 1,
    REG_R10___124 = 2,
    REG_R11___124 = 3,
    REG_R12___124 = 4,
    REG_R13___124 = 5,
    REG_R14___124 = 6,
    REG_R15___124 = 7,
    REG_RDI___124 = 8,
    REG_RSI___124 = 9,
    REG_RBP___124 = 10,
    REG_RBX___124 = 11,
    REG_RDX___124 = 12,
    REG_RAX___124 = 13,
    REG_RCX___124 = 14,
    REG_RSP___124 = 15,
    REG_RIP___124 = 16,
    REG_EFL___124 = 17,
    REG_CSGSFS___124 = 18,
    REG_ERR___124 = 19,
    REG_TRAPNO___124 = 20,
    REG_OLDMASK___124 = 21,
    REG_CR2___124 = 22
} ;
enum __anonenum_57186863___124 {
    SS_ONSTACK___124 = 1,
    SS_DISABLE___124 = 2
} ;
enum __anonenum_83571709___124 {
    MSG_OOB___124 = 1,
    MSG_PEEK___124 = 2,
    MSG_DONTROUTE___124 = 4,
    MSG_TRYHARD___124 = 4,
    MSG_CTRUNC___124 = 8,
    MSG_PROXY___124 = 16,
    MSG_TRUNC___124 = 32,
    MSG_DONTWAIT___124 = 64,
    MSG_EOR___124 = 128,
    MSG_WAITALL___124 = 256,
    MSG_FIN___124 = 512,
    MSG_SYN___124 = 1024,
    MSG_CONFIRM___124 = 2048,
    MSG_RST___124 = 4096,
    MSG_ERRQUEUE___124 = 8192,
    MSG_NOSIGNAL___124 = 16384,
    MSG_MORE___124 = 32768,
    MSG_WAITFORONE___124 = 65536,
    MSG_BATCH___124 = 262144,
    MSG_ZEROCOPY___124 = 67108864,
    MSG_FASTOPEN___124 = 536870912,
    MSG_CMSG_CLOEXEC___124 = 1073741824
} ;
enum __anonenum_617082774___124 {
    SCM_RIGHTS___124 = 1,
    SCM_CREDENTIALS___124 = 2
} ;
enum __anonenum_606441560___124 {
    SHUT_RD___124 = 0,
    SHUT_WR___124 = 1,
    SHUT_RDWR___124 = 2
} ;
enum __anonenum_681669233___124 {
    IPPROTO_IP___124 = 0,
    IPPROTO_ICMP___124 = 1,
    IPPROTO_IGMP___124 = 2,
    IPPROTO_IPIP___124 = 4,
    IPPROTO_TCP___124 = 6,
    IPPROTO_EGP___124 = 8,
    IPPROTO_PUP___124 = 12,
    IPPROTO_UDP___124 = 17,
    IPPROTO_IDP___124 = 22,
    IPPROTO_TP___124 = 29,
    IPPROTO_DCCP___124 = 33,
    IPPROTO_IPV6___124 = 41,
    IPPROTO_RSVP___124 = 46,
    IPPROTO_GRE___124 = 47,
    IPPROTO_ESP___124 = 50,
    IPPROTO_AH___124 = 51,
    IPPROTO_MTP___124 = 92,
    IPPROTO_BEETPH___124 = 94,
    IPPROTO_ENCAP___124 = 98,
    IPPROTO_PIM___124 = 103,
    IPPROTO_COMP___124 = 108,
    IPPROTO_SCTP___124 = 132,
    IPPROTO_UDPLITE___124 = 136,
    IPPROTO_MPLS___124 = 137,
    IPPROTO_RAW___124 = 255,
    IPPROTO_MAX___124 = 256
} ;
enum __anonenum_218739988___124 {
    IPPROTO_HOPOPTS___124 = 0,
    IPPROTO_ROUTING___124 = 43,
    IPPROTO_FRAGMENT___124 = 44,
    IPPROTO_ICMPV6___124 = 58,
    IPPROTO_NONE___124 = 59,
    IPPROTO_DSTOPTS___124 = 60,
    IPPROTO_MH___124 = 135
} ;
enum __anonenum_662268580___124 {
    IPPORT_ECHO___124 = 7,
    IPPORT_DISCARD___124 = 9,
    IPPORT_SYSTAT___124 = 11,
    IPPORT_DAYTIME___124 = 13,
    IPPORT_NETSTAT___124 = 15,
    IPPORT_FTP___124 = 21,
    IPPORT_TELNET___124 = 23,
    IPPORT_SMTP___124 = 25,
    IPPORT_TIMESERVER___124 = 37,
    IPPORT_NAMESERVER___124 = 42,
    IPPORT_WHOIS___124 = 43,
    IPPORT_MTP___124 = 57,
    IPPORT_TFTP___124 = 69,
    IPPORT_RJE___124 = 77,
    IPPORT_FINGER___124 = 79,
    IPPORT_TTYLINK___124 = 87,
    IPPORT_SUPDUP___124 = 95,
    IPPORT_EXECSERVER___124 = 512,
    IPPORT_LOGINSERVER___124 = 513,
    IPPORT_CMDSERVER___124 = 514,
    IPPORT_EFSSERVER___124 = 520,
    IPPORT_BIFFUDP___124 = 512,
    IPPORT_WHOSERVER___124 = 513,
    IPPORT_ROUTESERVER___124 = 520,
    IPPORT_RESERVED___124 = 1024,
    IPPORT_USERRESERVED___124 = 5000
} ;
enum __anonenum_788308992___124 {
    TCP_ESTABLISHED___124 = 1,
    TCP_SYN_SENT___124 = 2,
    TCP_SYN_RECV___124 = 3,
    TCP_FIN_WAIT1___124 = 4,
    TCP_FIN_WAIT2___124 = 5,
    TCP_TIME_WAIT___124 = 6,
    TCP_CLOSE___124 = 7,
    TCP_CLOSE_WAIT___124 = 8,
    TCP_LAST_ACK___124 = 9,
    TCP_LISTEN___124 = 10,
    TCP_CLOSING___124 = 11
} ;
enum __anonenum_221125648___124 {
    TCP_NO_QUEUE___124 = 0,
    TCP_RECV_QUEUE___124 = 1,
    TCP_SEND_QUEUE___124 = 2,
    TCP_QUEUES_NR___124 = 3
} ;
enum __anonenum_34415463___124 {
    PTHREAD_CREATE_JOINABLE___124 = 0,
    PTHREAD_CREATE_DETACHED___124 = 1
} ;
enum __anonenum_303612439___124 {
    PTHREAD_MUTEX_TIMED_NP___124 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___124 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___124 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___124 = 3,
    PTHREAD_MUTEX_NORMAL___124 = 0,
    PTHREAD_MUTEX_RECURSIVE___124 = 1,
    PTHREAD_MUTEX_ERRORCHECK___124 = 2,
    PTHREAD_MUTEX_DEFAULT___124 = 0,
    PTHREAD_MUTEX_FAST_NP___124 = 0
} ;
enum __anonenum_931900394___124 {
    PTHREAD_MUTEX_STALLED___124 = 0,
    PTHREAD_MUTEX_STALLED_NP___124 = 0,
    PTHREAD_MUTEX_ROBUST___124 = 1,
    PTHREAD_MUTEX_ROBUST_NP___124 = 1
} ;
enum __anonenum_205214487___124 {
    PTHREAD_PRIO_NONE___124 = 0,
    PTHREAD_PRIO_INHERIT___124 = 1,
    PTHREAD_PRIO_PROTECT___124 = 2
} ;
enum __anonenum_25043950___124 {
    PTHREAD_RWLOCK_PREFER_READER_NP___124 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___124 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___124 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___124 = 0
} ;
enum __anonenum_436439511___124 {
    PTHREAD_INHERIT_SCHED___124 = 0,
    PTHREAD_EXPLICIT_SCHED___124 = 1
} ;
enum __anonenum_998661166___124 {
    PTHREAD_SCOPE_SYSTEM___124 = 0,
    PTHREAD_SCOPE_PROCESS___124 = 1
} ;
enum __anonenum_146137331___124 {
    PTHREAD_PROCESS_PRIVATE___124 = 0,
    PTHREAD_PROCESS_SHARED___124 = 1
} ;
enum __anonenum_53396917___124 {
    PTHREAD_CANCEL_ENABLE___124 = 0,
    PTHREAD_CANCEL_DISABLE___124 = 1
} ;
enum __anonenum_904563783___124 {
    PTHREAD_CANCEL_DEFERRED___124 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___124 = 1
} ;
enum __anonenum_672052974___124 {
    SSL_CT_VALIDATION_PERMISSIVE___124 = 0,
    SSL_CT_VALIDATION_STRICT___124 = 1
} ;
struct idx_entry {
   off_t offset ;
   unsigned int nr ;
};
enum __anonenum_437032235___125 {
    _PC_LINK_MAX___125 = 0,
    _PC_MAX_CANON___125 = 1,
    _PC_MAX_INPUT___125 = 2,
    _PC_NAME_MAX___125 = 3,
    _PC_PATH_MAX___125 = 4,
    _PC_PIPE_BUF___125 = 5,
    _PC_CHOWN_RESTRICTED___125 = 6,
    _PC_NO_TRUNC___125 = 7,
    _PC_VDISABLE___125 = 8,
    _PC_SYNC_IO___125 = 9,
    _PC_ASYNC_IO___125 = 10,
    _PC_PRIO_IO___125 = 11,
    _PC_SOCK_MAXBUF___125 = 12,
    _PC_FILESIZEBITS___125 = 13,
    _PC_REC_INCR_XFER_SIZE___125 = 14,
    _PC_REC_MAX_XFER_SIZE___125 = 15,
    _PC_REC_MIN_XFER_SIZE___125 = 16,
    _PC_REC_XFER_ALIGN___125 = 17,
    _PC_ALLOC_SIZE_MIN___125 = 18,
    _PC_SYMLINK_MAX___125 = 19,
    _PC_2_SYMLINKS___125 = 20
} ;
enum __anonenum_315186338___125 {
    _SC_ARG_MAX___125 = 0,
    _SC_CHILD_MAX___125 = 1,
    _SC_CLK_TCK___125 = 2,
    _SC_NGROUPS_MAX___125 = 3,
    _SC_OPEN_MAX___125 = 4,
    _SC_STREAM_MAX___125 = 5,
    _SC_TZNAME_MAX___125 = 6,
    _SC_JOB_CONTROL___125 = 7,
    _SC_SAVED_IDS___125 = 8,
    _SC_REALTIME_SIGNALS___125 = 9,
    _SC_PRIORITY_SCHEDULING___125 = 10,
    _SC_TIMERS___125 = 11,
    _SC_ASYNCHRONOUS_IO___125 = 12,
    _SC_PRIORITIZED_IO___125 = 13,
    _SC_SYNCHRONIZED_IO___125 = 14,
    _SC_FSYNC___125 = 15,
    _SC_MAPPED_FILES___125 = 16,
    _SC_MEMLOCK___125 = 17,
    _SC_MEMLOCK_RANGE___125 = 18,
    _SC_MEMORY_PROTECTION___125 = 19,
    _SC_MESSAGE_PASSING___125 = 20,
    _SC_SEMAPHORES___125 = 21,
    _SC_SHARED_MEMORY_OBJECTS___125 = 22,
    _SC_AIO_LISTIO_MAX___125 = 23,
    _SC_AIO_MAX___125 = 24,
    _SC_AIO_PRIO_DELTA_MAX___125 = 25,
    _SC_DELAYTIMER_MAX___125 = 26,
    _SC_MQ_OPEN_MAX___125 = 27,
    _SC_MQ_PRIO_MAX___125 = 28,
    _SC_VERSION___125 = 29,
    _SC_PAGESIZE___125 = 30,
    _SC_RTSIG_MAX___125 = 31,
    _SC_SEM_NSEMS_MAX___125 = 32,
    _SC_SEM_VALUE_MAX___125 = 33,
    _SC_SIGQUEUE_MAX___125 = 34,
    _SC_TIMER_MAX___125 = 35,
    _SC_BC_BASE_MAX___125 = 36,
    _SC_BC_DIM_MAX___125 = 37,
    _SC_BC_SCALE_MAX___125 = 38,
    _SC_BC_STRING_MAX___125 = 39,
    _SC_COLL_WEIGHTS_MAX___125 = 40,
    _SC_EQUIV_CLASS_MAX___125 = 41,
    _SC_EXPR_NEST_MAX___125 = 42,
    _SC_LINE_MAX___125 = 43,
    _SC_RE_DUP_MAX___125 = 44,
    _SC_CHARCLASS_NAME_MAX___125 = 45,
    _SC_2_VERSION___125 = 46,
    _SC_2_C_BIND___125 = 47,
    _SC_2_C_DEV___125 = 48,
    _SC_2_FORT_DEV___125 = 49,
    _SC_2_FORT_RUN___125 = 50,
    _SC_2_SW_DEV___125 = 51,
    _SC_2_LOCALEDEF___125 = 52,
    _SC_PII___125 = 53,
    _SC_PII_XTI___125 = 54,
    _SC_PII_SOCKET___125 = 55,
    _SC_PII_INTERNET___125 = 56,
    _SC_PII_OSI___125 = 57,
    _SC_POLL___125 = 58,
    _SC_SELECT___125 = 59,
    _SC_UIO_MAXIOV___125 = 60,
    _SC_IOV_MAX___125 = 60,
    _SC_PII_INTERNET_STREAM___125 = 61,
    _SC_PII_INTERNET_DGRAM___125 = 62,
    _SC_PII_OSI_COTS___125 = 63,
    _SC_PII_OSI_CLTS___125 = 64,
    _SC_PII_OSI_M___125 = 65,
    _SC_T_IOV_MAX___125 = 66,
    _SC_THREADS___125 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___125 = 68,
    _SC_GETGR_R_SIZE_MAX___125 = 69,
    _SC_GETPW_R_SIZE_MAX___125 = 70,
    _SC_LOGIN_NAME_MAX___125 = 71,
    _SC_TTY_NAME_MAX___125 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___125 = 73,
    _SC_THREAD_KEYS_MAX___125 = 74,
    _SC_THREAD_STACK_MIN___125 = 75,
    _SC_THREAD_THREADS_MAX___125 = 76,
    _SC_THREAD_ATTR_STACKADDR___125 = 77,
    _SC_THREAD_ATTR_STACKSIZE___125 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___125 = 79,
    _SC_THREAD_PRIO_INHERIT___125 = 80,
    _SC_THREAD_PRIO_PROTECT___125 = 81,
    _SC_THREAD_PROCESS_SHARED___125 = 82,
    _SC_NPROCESSORS_CONF___125 = 83,
    _SC_NPROCESSORS_ONLN___125 = 84,
    _SC_PHYS_PAGES___125 = 85,
    _SC_AVPHYS_PAGES___125 = 86,
    _SC_ATEXIT_MAX___125 = 87,
    _SC_PASS_MAX___125 = 88,
    _SC_XOPEN_VERSION___125 = 89,
    _SC_XOPEN_XCU_VERSION___125 = 90,
    _SC_XOPEN_UNIX___125 = 91,
    _SC_XOPEN_CRYPT___125 = 92,
    _SC_XOPEN_ENH_I18N___125 = 93,
    _SC_XOPEN_SHM___125 = 94,
    _SC_2_CHAR_TERM___125 = 95,
    _SC_2_C_VERSION___125 = 96,
    _SC_2_UPE___125 = 97,
    _SC_XOPEN_XPG2___125 = 98,
    _SC_XOPEN_XPG3___125 = 99,
    _SC_XOPEN_XPG4___125 = 100,
    _SC_CHAR_BIT___125 = 101,
    _SC_CHAR_MAX___125 = 102,
    _SC_CHAR_MIN___125 = 103,
    _SC_INT_MAX___125 = 104,
    _SC_INT_MIN___125 = 105,
    _SC_LONG_BIT___125 = 106,
    _SC_WORD_BIT___125 = 107,
    _SC_MB_LEN_MAX___125 = 108,
    _SC_NZERO___125 = 109,
    _SC_SSIZE_MAX___125 = 110,
    _SC_SCHAR_MAX___125 = 111,
    _SC_SCHAR_MIN___125 = 112,
    _SC_SHRT_MAX___125 = 113,
    _SC_SHRT_MIN___125 = 114,
    _SC_UCHAR_MAX___125 = 115,
    _SC_UINT_MAX___125 = 116,
    _SC_ULONG_MAX___125 = 117,
    _SC_USHRT_MAX___125 = 118,
    _SC_NL_ARGMAX___125 = 119,
    _SC_NL_LANGMAX___125 = 120,
    _SC_NL_MSGMAX___125 = 121,
    _SC_NL_NMAX___125 = 122,
    _SC_NL_SETMAX___125 = 123,
    _SC_NL_TEXTMAX___125 = 124,
    _SC_XBS5_ILP32_OFF32___125 = 125,
    _SC_XBS5_ILP32_OFFBIG___125 = 126,
    _SC_XBS5_LP64_OFF64___125 = 127,
    _SC_XBS5_LPBIG_OFFBIG___125 = 128,
    _SC_XOPEN_LEGACY___125 = 129,
    _SC_XOPEN_REALTIME___125 = 130,
    _SC_XOPEN_REALTIME_THREADS___125 = 131,
    _SC_ADVISORY_INFO___125 = 132,
    _SC_BARRIERS___125 = 133,
    _SC_BASE___125 = 134,
    _SC_C_LANG_SUPPORT___125 = 135,
    _SC_C_LANG_SUPPORT_R___125 = 136,
    _SC_CLOCK_SELECTION___125 = 137,
    _SC_CPUTIME___125 = 138,
    _SC_THREAD_CPUTIME___125 = 139,
    _SC_DEVICE_IO___125 = 140,
    _SC_DEVICE_SPECIFIC___125 = 141,
    _SC_DEVICE_SPECIFIC_R___125 = 142,
    _SC_FD_MGMT___125 = 143,
    _SC_FIFO___125 = 144,
    _SC_PIPE___125 = 145,
    _SC_FILE_ATTRIBUTES___125 = 146,
    _SC_FILE_LOCKING___125 = 147,
    _SC_FILE_SYSTEM___125 = 148,
    _SC_MONOTONIC_CLOCK___125 = 149,
    _SC_MULTI_PROCESS___125 = 150,
    _SC_SINGLE_PROCESS___125 = 151,
    _SC_NETWORKING___125 = 152,
    _SC_READER_WRITER_LOCKS___125 = 153,
    _SC_SPIN_LOCKS___125 = 154,
    _SC_REGEXP___125 = 155,
    _SC_REGEX_VERSION___125 = 156,
    _SC_SHELL___125 = 157,
    _SC_SIGNALS___125 = 158,
    _SC_SPAWN___125 = 159,
    _SC_SPORADIC_SERVER___125 = 160,
    _SC_THREAD_SPORADIC_SERVER___125 = 161,
    _SC_SYSTEM_DATABASE___125 = 162,
    _SC_SYSTEM_DATABASE_R___125 = 163,
    _SC_TIMEOUTS___125 = 164,
    _SC_TYPED_MEMORY_OBJECTS___125 = 165,
    _SC_USER_GROUPS___125 = 166,
    _SC_USER_GROUPS_R___125 = 167,
    _SC_2_PBS___125 = 168,
    _SC_2_PBS_ACCOUNTING___125 = 169,
    _SC_2_PBS_LOCATE___125 = 170,
    _SC_2_PBS_MESSAGE___125 = 171,
    _SC_2_PBS_TRACK___125 = 172,
    _SC_SYMLOOP_MAX___125 = 173,
    _SC_STREAMS___125 = 174,
    _SC_2_PBS_CHECKPOINT___125 = 175,
    _SC_V6_ILP32_OFF32___125 = 176,
    _SC_V6_ILP32_OFFBIG___125 = 177,
    _SC_V6_LP64_OFF64___125 = 178,
    _SC_V6_LPBIG_OFFBIG___125 = 179,
    _SC_HOST_NAME_MAX___125 = 180,
    _SC_TRACE___125 = 181,
    _SC_TRACE_EVENT_FILTER___125 = 182,
    _SC_TRACE_INHERIT___125 = 183,
    _SC_TRACE_LOG___125 = 184,
    _SC_LEVEL1_ICACHE_SIZE___125 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___125 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___125 = 187,
    _SC_LEVEL1_DCACHE_SIZE___125 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___125 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___125 = 190,
    _SC_LEVEL2_CACHE_SIZE___125 = 191,
    _SC_LEVEL2_CACHE_ASSOC___125 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___125 = 193,
    _SC_LEVEL3_CACHE_SIZE___125 = 194,
    _SC_LEVEL3_CACHE_ASSOC___125 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___125 = 196,
    _SC_LEVEL4_CACHE_SIZE___125 = 197,
    _SC_LEVEL4_CACHE_ASSOC___125 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___125 = 199,
    _SC_IPV6___125 = 235,
    _SC_RAW_SOCKETS___125 = 236,
    _SC_V7_ILP32_OFF32___125 = 237,
    _SC_V7_ILP32_OFFBIG___125 = 238,
    _SC_V7_LP64_OFF64___125 = 239,
    _SC_V7_LPBIG_OFFBIG___125 = 240,
    _SC_SS_REPL_MAX___125 = 241,
    _SC_TRACE_EVENT_NAME_MAX___125 = 242,
    _SC_TRACE_NAME_MAX___125 = 243,
    _SC_TRACE_SYS_MAX___125 = 244,
    _SC_TRACE_USER_EVENT_MAX___125 = 245,
    _SC_XOPEN_STREAMS___125 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___125 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___125 = 248
} ;
enum __anonenum_875524036___125 {
    _CS_PATH___125 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___125 = 1,
    _CS_GNU_LIBC_VERSION___125 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___125 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___125 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___125 = 5,
    _CS_LFS_CFLAGS___125 = 1000,
    _CS_LFS_LDFLAGS___125 = 1001,
    _CS_LFS_LIBS___125 = 1002,
    _CS_LFS_LINTFLAGS___125 = 1003,
    _CS_LFS64_CFLAGS___125 = 1004,
    _CS_LFS64_LDFLAGS___125 = 1005,
    _CS_LFS64_LIBS___125 = 1006,
    _CS_LFS64_LINTFLAGS___125 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___125 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___125 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___125 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___125 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___125 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___125 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___125 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___125 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___125 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___125 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___125 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___125 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___125 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___125 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___125 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___125 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___125 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___125 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___125 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___125 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___125 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___125 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___125 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___125 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___125 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___125 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___125 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___125 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___125 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___125 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___125 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___125 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___125 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___125 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___125 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___125 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___125 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___125 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___125 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___125 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___125 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___125 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___125 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___125 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___125 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___125 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___125 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___125 = 1147,
    _CS_V6_ENV___125 = 1148,
    _CS_V7_ENV___125 = 1149
} ;
enum __anonenum_513775621___125 {
    DT_UNKNOWN___125 = 0,
    DT_FIFO___125 = 1,
    DT_CHR___125 = 2,
    DT_DIR___125 = 4,
    DT_BLK___125 = 6,
    DT_REG___125 = 8,
    DT_LNK___125 = 10,
    DT_SOCK___125 = 12,
    DT_WHT___125 = 14
} ;
enum __anonenum_77002343___125 {
    SI_ASYNCNL___125 = -60,
    SI_TKILL___125 = -6,
    SI_SIGIO___125 = -5,
    SI_ASYNCIO___125 = -4,
    SI_MESGQ___125 = -3,
    SI_TIMER___125 = -2,
    SI_QUEUE___125 = -1,
    SI_USER___125 = 0,
    SI_KERNEL___125 = 128
} ;
enum __anonenum_131038172___125 {
    ILL_ILLOPC___125 = 1,
    ILL_ILLOPN___125 = 2,
    ILL_ILLADR___125 = 3,
    ILL_ILLTRP___125 = 4,
    ILL_PRVOPC___125 = 5,
    ILL_PRVREG___125 = 6,
    ILL_COPROC___125 = 7,
    ILL_BADSTK___125 = 8
} ;
enum __anonenum_452038093___125 {
    FPE_INTDIV___125 = 1,
    FPE_INTOVF___125 = 2,
    FPE_FLTDIV___125 = 3,
    FPE_FLTOVF___125 = 4,
    FPE_FLTUND___125 = 5,
    FPE_FLTRES___125 = 6,
    FPE_FLTINV___125 = 7,
    FPE_FLTSUB___125 = 8
} ;
enum __anonenum_30976155___125 {
    SEGV_MAPERR___125 = 1,
    SEGV_ACCERR___125 = 2,
    SEGV_BNDERR___125 = 3,
    SEGV_PKUERR___125 = 4
} ;
enum __anonenum_1036286214___125 {
    BUS_ADRALN___125 = 1,
    BUS_ADRERR___125 = 2,
    BUS_OBJERR___125 = 3,
    BUS_MCEERR_AR___125 = 4,
    BUS_MCEERR_AO___125 = 5
} ;
enum __anonenum_493465559___125 {
    TRAP_BRKPT___125 = 1,
    TRAP_TRACE___125 = 2
} ;
enum __anonenum_23175539___125 {
    CLD_EXITED___125 = 1,
    CLD_KILLED___125 = 2,
    CLD_DUMPED___125 = 3,
    CLD_TRAPPED___125 = 4,
    CLD_STOPPED___125 = 5,
    CLD_CONTINUED___125 = 6
} ;
enum __anonenum_111643124___125 {
    POLL_IN___125 = 1,
    POLL_OUT___125 = 2,
    POLL_MSG___125 = 3,
    POLL_ERR___125 = 4,
    POLL_PRI___125 = 5,
    POLL_HUP___125 = 6
} ;
enum __anonenum_852341087___125 {
    SIGEV_SIGNAL___125 = 0,
    SIGEV_NONE___125 = 1,
    SIGEV_THREAD___125 = 2,
    SIGEV_THREAD_ID___125 = 4
} ;
enum __anonenum_451154152___125 {
    REG_R8___125 = 0,
    REG_R9___125 = 1,
    REG_R10___125 = 2,
    REG_R11___125 = 3,
    REG_R12___125 = 4,
    REG_R13___125 = 5,
    REG_R14___125 = 6,
    REG_R15___125 = 7,
    REG_RDI___125 = 8,
    REG_RSI___125 = 9,
    REG_RBP___125 = 10,
    REG_RBX___125 = 11,
    REG_RDX___125 = 12,
    REG_RAX___125 = 13,
    REG_RCX___125 = 14,
    REG_RSP___125 = 15,
    REG_RIP___125 = 16,
    REG_EFL___125 = 17,
    REG_CSGSFS___125 = 18,
    REG_ERR___125 = 19,
    REG_TRAPNO___125 = 20,
    REG_OLDMASK___125 = 21,
    REG_CR2___125 = 22
} ;
enum __anonenum_57186863___125 {
    SS_ONSTACK___125 = 1,
    SS_DISABLE___125 = 2
} ;
enum __anonenum_83571709___125 {
    MSG_OOB___125 = 1,
    MSG_PEEK___125 = 2,
    MSG_DONTROUTE___125 = 4,
    MSG_TRYHARD___125 = 4,
    MSG_CTRUNC___125 = 8,
    MSG_PROXY___125 = 16,
    MSG_TRUNC___125 = 32,
    MSG_DONTWAIT___125 = 64,
    MSG_EOR___125 = 128,
    MSG_WAITALL___125 = 256,
    MSG_FIN___125 = 512,
    MSG_SYN___125 = 1024,
    MSG_CONFIRM___125 = 2048,
    MSG_RST___125 = 4096,
    MSG_ERRQUEUE___125 = 8192,
    MSG_NOSIGNAL___125 = 16384,
    MSG_MORE___125 = 32768,
    MSG_WAITFORONE___125 = 65536,
    MSG_BATCH___125 = 262144,
    MSG_ZEROCOPY___125 = 67108864,
    MSG_FASTOPEN___125 = 536870912,
    MSG_CMSG_CLOEXEC___125 = 1073741824
} ;
enum __anonenum_617082774___125 {
    SCM_RIGHTS___125 = 1,
    SCM_CREDENTIALS___125 = 2
} ;
enum __anonenum_606441560___125 {
    SHUT_RD___125 = 0,
    SHUT_WR___125 = 1,
    SHUT_RDWR___125 = 2
} ;
enum __anonenum_681669233___125 {
    IPPROTO_IP___125 = 0,
    IPPROTO_ICMP___125 = 1,
    IPPROTO_IGMP___125 = 2,
    IPPROTO_IPIP___125 = 4,
    IPPROTO_TCP___125 = 6,
    IPPROTO_EGP___125 = 8,
    IPPROTO_PUP___125 = 12,
    IPPROTO_UDP___125 = 17,
    IPPROTO_IDP___125 = 22,
    IPPROTO_TP___125 = 29,
    IPPROTO_DCCP___125 = 33,
    IPPROTO_IPV6___125 = 41,
    IPPROTO_RSVP___125 = 46,
    IPPROTO_GRE___125 = 47,
    IPPROTO_ESP___125 = 50,
    IPPROTO_AH___125 = 51,
    IPPROTO_MTP___125 = 92,
    IPPROTO_BEETPH___125 = 94,
    IPPROTO_ENCAP___125 = 98,
    IPPROTO_PIM___125 = 103,
    IPPROTO_COMP___125 = 108,
    IPPROTO_SCTP___125 = 132,
    IPPROTO_UDPLITE___125 = 136,
    IPPROTO_MPLS___125 = 137,
    IPPROTO_RAW___125 = 255,
    IPPROTO_MAX___125 = 256
} ;
enum __anonenum_218739988___125 {
    IPPROTO_HOPOPTS___125 = 0,
    IPPROTO_ROUTING___125 = 43,
    IPPROTO_FRAGMENT___125 = 44,
    IPPROTO_ICMPV6___125 = 58,
    IPPROTO_NONE___125 = 59,
    IPPROTO_DSTOPTS___125 = 60,
    IPPROTO_MH___125 = 135
} ;
enum __anonenum_662268580___125 {
    IPPORT_ECHO___125 = 7,
    IPPORT_DISCARD___125 = 9,
    IPPORT_SYSTAT___125 = 11,
    IPPORT_DAYTIME___125 = 13,
    IPPORT_NETSTAT___125 = 15,
    IPPORT_FTP___125 = 21,
    IPPORT_TELNET___125 = 23,
    IPPORT_SMTP___125 = 25,
    IPPORT_TIMESERVER___125 = 37,
    IPPORT_NAMESERVER___125 = 42,
    IPPORT_WHOIS___125 = 43,
    IPPORT_MTP___125 = 57,
    IPPORT_TFTP___125 = 69,
    IPPORT_RJE___125 = 77,
    IPPORT_FINGER___125 = 79,
    IPPORT_TTYLINK___125 = 87,
    IPPORT_SUPDUP___125 = 95,
    IPPORT_EXECSERVER___125 = 512,
    IPPORT_LOGINSERVER___125 = 513,
    IPPORT_CMDSERVER___125 = 514,
    IPPORT_EFSSERVER___125 = 520,
    IPPORT_BIFFUDP___125 = 512,
    IPPORT_WHOSERVER___125 = 513,
    IPPORT_ROUTESERVER___125 = 520,
    IPPORT_RESERVED___125 = 1024,
    IPPORT_USERRESERVED___125 = 5000
} ;
enum __anonenum_788308992___125 {
    TCP_ESTABLISHED___125 = 1,
    TCP_SYN_SENT___125 = 2,
    TCP_SYN_RECV___125 = 3,
    TCP_FIN_WAIT1___125 = 4,
    TCP_FIN_WAIT2___125 = 5,
    TCP_TIME_WAIT___125 = 6,
    TCP_CLOSE___125 = 7,
    TCP_CLOSE_WAIT___125 = 8,
    TCP_LAST_ACK___125 = 9,
    TCP_LISTEN___125 = 10,
    TCP_CLOSING___125 = 11
} ;
enum __anonenum_221125648___125 {
    TCP_NO_QUEUE___125 = 0,
    TCP_RECV_QUEUE___125 = 1,
    TCP_SEND_QUEUE___125 = 2,
    TCP_QUEUES_NR___125 = 3
} ;
enum __anonenum_34415463___125 {
    PTHREAD_CREATE_JOINABLE___125 = 0,
    PTHREAD_CREATE_DETACHED___125 = 1
} ;
enum __anonenum_303612439___125 {
    PTHREAD_MUTEX_TIMED_NP___125 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___125 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___125 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___125 = 3,
    PTHREAD_MUTEX_NORMAL___125 = 0,
    PTHREAD_MUTEX_RECURSIVE___125 = 1,
    PTHREAD_MUTEX_ERRORCHECK___125 = 2,
    PTHREAD_MUTEX_DEFAULT___125 = 0,
    PTHREAD_MUTEX_FAST_NP___125 = 0
} ;
enum __anonenum_931900394___125 {
    PTHREAD_MUTEX_STALLED___125 = 0,
    PTHREAD_MUTEX_STALLED_NP___125 = 0,
    PTHREAD_MUTEX_ROBUST___125 = 1,
    PTHREAD_MUTEX_ROBUST_NP___125 = 1
} ;
enum __anonenum_205214487___125 {
    PTHREAD_PRIO_NONE___125 = 0,
    PTHREAD_PRIO_INHERIT___125 = 1,
    PTHREAD_PRIO_PROTECT___125 = 2
} ;
enum __anonenum_25043950___125 {
    PTHREAD_RWLOCK_PREFER_READER_NP___125 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___125 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___125 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___125 = 0
} ;
enum __anonenum_436439511___125 {
    PTHREAD_INHERIT_SCHED___125 = 0,
    PTHREAD_EXPLICIT_SCHED___125 = 1
} ;
enum __anonenum_998661166___125 {
    PTHREAD_SCOPE_SYSTEM___125 = 0,
    PTHREAD_SCOPE_PROCESS___125 = 1
} ;
enum __anonenum_146137331___125 {
    PTHREAD_PROCESS_PRIVATE___125 = 0,
    PTHREAD_PROCESS_SHARED___125 = 1
} ;
enum __anonenum_53396917___125 {
    PTHREAD_CANCEL_ENABLE___125 = 0,
    PTHREAD_CANCEL_DISABLE___125 = 1
} ;
enum __anonenum_904563783___125 {
    PTHREAD_CANCEL_DEFERRED___125 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___125 = 1
} ;
enum __anonenum_672052974___125 {
    SSL_CT_VALIDATION_PERMISSIVE___125 = 0,
    SSL_CT_VALIDATION_STRICT___125 = 1
} ;
enum __anonenum_437032235___126 {
    _PC_LINK_MAX___126 = 0,
    _PC_MAX_CANON___126 = 1,
    _PC_MAX_INPUT___126 = 2,
    _PC_NAME_MAX___126 = 3,
    _PC_PATH_MAX___126 = 4,
    _PC_PIPE_BUF___126 = 5,
    _PC_CHOWN_RESTRICTED___126 = 6,
    _PC_NO_TRUNC___126 = 7,
    _PC_VDISABLE___126 = 8,
    _PC_SYNC_IO___126 = 9,
    _PC_ASYNC_IO___126 = 10,
    _PC_PRIO_IO___126 = 11,
    _PC_SOCK_MAXBUF___126 = 12,
    _PC_FILESIZEBITS___126 = 13,
    _PC_REC_INCR_XFER_SIZE___126 = 14,
    _PC_REC_MAX_XFER_SIZE___126 = 15,
    _PC_REC_MIN_XFER_SIZE___126 = 16,
    _PC_REC_XFER_ALIGN___126 = 17,
    _PC_ALLOC_SIZE_MIN___126 = 18,
    _PC_SYMLINK_MAX___126 = 19,
    _PC_2_SYMLINKS___126 = 20
} ;
enum __anonenum_315186338___126 {
    _SC_ARG_MAX___126 = 0,
    _SC_CHILD_MAX___126 = 1,
    _SC_CLK_TCK___126 = 2,
    _SC_NGROUPS_MAX___126 = 3,
    _SC_OPEN_MAX___126 = 4,
    _SC_STREAM_MAX___126 = 5,
    _SC_TZNAME_MAX___126 = 6,
    _SC_JOB_CONTROL___126 = 7,
    _SC_SAVED_IDS___126 = 8,
    _SC_REALTIME_SIGNALS___126 = 9,
    _SC_PRIORITY_SCHEDULING___126 = 10,
    _SC_TIMERS___126 = 11,
    _SC_ASYNCHRONOUS_IO___126 = 12,
    _SC_PRIORITIZED_IO___126 = 13,
    _SC_SYNCHRONIZED_IO___126 = 14,
    _SC_FSYNC___126 = 15,
    _SC_MAPPED_FILES___126 = 16,
    _SC_MEMLOCK___126 = 17,
    _SC_MEMLOCK_RANGE___126 = 18,
    _SC_MEMORY_PROTECTION___126 = 19,
    _SC_MESSAGE_PASSING___126 = 20,
    _SC_SEMAPHORES___126 = 21,
    _SC_SHARED_MEMORY_OBJECTS___126 = 22,
    _SC_AIO_LISTIO_MAX___126 = 23,
    _SC_AIO_MAX___126 = 24,
    _SC_AIO_PRIO_DELTA_MAX___126 = 25,
    _SC_DELAYTIMER_MAX___126 = 26,
    _SC_MQ_OPEN_MAX___126 = 27,
    _SC_MQ_PRIO_MAX___126 = 28,
    _SC_VERSION___126 = 29,
    _SC_PAGESIZE___126 = 30,
    _SC_RTSIG_MAX___126 = 31,
    _SC_SEM_NSEMS_MAX___126 = 32,
    _SC_SEM_VALUE_MAX___126 = 33,
    _SC_SIGQUEUE_MAX___126 = 34,
    _SC_TIMER_MAX___126 = 35,
    _SC_BC_BASE_MAX___126 = 36,
    _SC_BC_DIM_MAX___126 = 37,
    _SC_BC_SCALE_MAX___126 = 38,
    _SC_BC_STRING_MAX___126 = 39,
    _SC_COLL_WEIGHTS_MAX___126 = 40,
    _SC_EQUIV_CLASS_MAX___126 = 41,
    _SC_EXPR_NEST_MAX___126 = 42,
    _SC_LINE_MAX___126 = 43,
    _SC_RE_DUP_MAX___126 = 44,
    _SC_CHARCLASS_NAME_MAX___126 = 45,
    _SC_2_VERSION___126 = 46,
    _SC_2_C_BIND___126 = 47,
    _SC_2_C_DEV___126 = 48,
    _SC_2_FORT_DEV___126 = 49,
    _SC_2_FORT_RUN___126 = 50,
    _SC_2_SW_DEV___126 = 51,
    _SC_2_LOCALEDEF___126 = 52,
    _SC_PII___126 = 53,
    _SC_PII_XTI___126 = 54,
    _SC_PII_SOCKET___126 = 55,
    _SC_PII_INTERNET___126 = 56,
    _SC_PII_OSI___126 = 57,
    _SC_POLL___126 = 58,
    _SC_SELECT___126 = 59,
    _SC_UIO_MAXIOV___126 = 60,
    _SC_IOV_MAX___126 = 60,
    _SC_PII_INTERNET_STREAM___126 = 61,
    _SC_PII_INTERNET_DGRAM___126 = 62,
    _SC_PII_OSI_COTS___126 = 63,
    _SC_PII_OSI_CLTS___126 = 64,
    _SC_PII_OSI_M___126 = 65,
    _SC_T_IOV_MAX___126 = 66,
    _SC_THREADS___126 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___126 = 68,
    _SC_GETGR_R_SIZE_MAX___126 = 69,
    _SC_GETPW_R_SIZE_MAX___126 = 70,
    _SC_LOGIN_NAME_MAX___126 = 71,
    _SC_TTY_NAME_MAX___126 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___126 = 73,
    _SC_THREAD_KEYS_MAX___126 = 74,
    _SC_THREAD_STACK_MIN___126 = 75,
    _SC_THREAD_THREADS_MAX___126 = 76,
    _SC_THREAD_ATTR_STACKADDR___126 = 77,
    _SC_THREAD_ATTR_STACKSIZE___126 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___126 = 79,
    _SC_THREAD_PRIO_INHERIT___126 = 80,
    _SC_THREAD_PRIO_PROTECT___126 = 81,
    _SC_THREAD_PROCESS_SHARED___126 = 82,
    _SC_NPROCESSORS_CONF___126 = 83,
    _SC_NPROCESSORS_ONLN___126 = 84,
    _SC_PHYS_PAGES___126 = 85,
    _SC_AVPHYS_PAGES___126 = 86,
    _SC_ATEXIT_MAX___126 = 87,
    _SC_PASS_MAX___126 = 88,
    _SC_XOPEN_VERSION___126 = 89,
    _SC_XOPEN_XCU_VERSION___126 = 90,
    _SC_XOPEN_UNIX___126 = 91,
    _SC_XOPEN_CRYPT___126 = 92,
    _SC_XOPEN_ENH_I18N___126 = 93,
    _SC_XOPEN_SHM___126 = 94,
    _SC_2_CHAR_TERM___126 = 95,
    _SC_2_C_VERSION___126 = 96,
    _SC_2_UPE___126 = 97,
    _SC_XOPEN_XPG2___126 = 98,
    _SC_XOPEN_XPG3___126 = 99,
    _SC_XOPEN_XPG4___126 = 100,
    _SC_CHAR_BIT___126 = 101,
    _SC_CHAR_MAX___126 = 102,
    _SC_CHAR_MIN___126 = 103,
    _SC_INT_MAX___126 = 104,
    _SC_INT_MIN___126 = 105,
    _SC_LONG_BIT___126 = 106,
    _SC_WORD_BIT___126 = 107,
    _SC_MB_LEN_MAX___126 = 108,
    _SC_NZERO___126 = 109,
    _SC_SSIZE_MAX___126 = 110,
    _SC_SCHAR_MAX___126 = 111,
    _SC_SCHAR_MIN___126 = 112,
    _SC_SHRT_MAX___126 = 113,
    _SC_SHRT_MIN___126 = 114,
    _SC_UCHAR_MAX___126 = 115,
    _SC_UINT_MAX___126 = 116,
    _SC_ULONG_MAX___126 = 117,
    _SC_USHRT_MAX___126 = 118,
    _SC_NL_ARGMAX___126 = 119,
    _SC_NL_LANGMAX___126 = 120,
    _SC_NL_MSGMAX___126 = 121,
    _SC_NL_NMAX___126 = 122,
    _SC_NL_SETMAX___126 = 123,
    _SC_NL_TEXTMAX___126 = 124,
    _SC_XBS5_ILP32_OFF32___126 = 125,
    _SC_XBS5_ILP32_OFFBIG___126 = 126,
    _SC_XBS5_LP64_OFF64___126 = 127,
    _SC_XBS5_LPBIG_OFFBIG___126 = 128,
    _SC_XOPEN_LEGACY___126 = 129,
    _SC_XOPEN_REALTIME___126 = 130,
    _SC_XOPEN_REALTIME_THREADS___126 = 131,
    _SC_ADVISORY_INFO___126 = 132,
    _SC_BARRIERS___126 = 133,
    _SC_BASE___126 = 134,
    _SC_C_LANG_SUPPORT___126 = 135,
    _SC_C_LANG_SUPPORT_R___126 = 136,
    _SC_CLOCK_SELECTION___126 = 137,
    _SC_CPUTIME___126 = 138,
    _SC_THREAD_CPUTIME___126 = 139,
    _SC_DEVICE_IO___126 = 140,
    _SC_DEVICE_SPECIFIC___126 = 141,
    _SC_DEVICE_SPECIFIC_R___126 = 142,
    _SC_FD_MGMT___126 = 143,
    _SC_FIFO___126 = 144,
    _SC_PIPE___126 = 145,
    _SC_FILE_ATTRIBUTES___126 = 146,
    _SC_FILE_LOCKING___126 = 147,
    _SC_FILE_SYSTEM___126 = 148,
    _SC_MONOTONIC_CLOCK___126 = 149,
    _SC_MULTI_PROCESS___126 = 150,
    _SC_SINGLE_PROCESS___126 = 151,
    _SC_NETWORKING___126 = 152,
    _SC_READER_WRITER_LOCKS___126 = 153,
    _SC_SPIN_LOCKS___126 = 154,
    _SC_REGEXP___126 = 155,
    _SC_REGEX_VERSION___126 = 156,
    _SC_SHELL___126 = 157,
    _SC_SIGNALS___126 = 158,
    _SC_SPAWN___126 = 159,
    _SC_SPORADIC_SERVER___126 = 160,
    _SC_THREAD_SPORADIC_SERVER___126 = 161,
    _SC_SYSTEM_DATABASE___126 = 162,
    _SC_SYSTEM_DATABASE_R___126 = 163,
    _SC_TIMEOUTS___126 = 164,
    _SC_TYPED_MEMORY_OBJECTS___126 = 165,
    _SC_USER_GROUPS___126 = 166,
    _SC_USER_GROUPS_R___126 = 167,
    _SC_2_PBS___126 = 168,
    _SC_2_PBS_ACCOUNTING___126 = 169,
    _SC_2_PBS_LOCATE___126 = 170,
    _SC_2_PBS_MESSAGE___126 = 171,
    _SC_2_PBS_TRACK___126 = 172,
    _SC_SYMLOOP_MAX___126 = 173,
    _SC_STREAMS___126 = 174,
    _SC_2_PBS_CHECKPOINT___126 = 175,
    _SC_V6_ILP32_OFF32___126 = 176,
    _SC_V6_ILP32_OFFBIG___126 = 177,
    _SC_V6_LP64_OFF64___126 = 178,
    _SC_V6_LPBIG_OFFBIG___126 = 179,
    _SC_HOST_NAME_MAX___126 = 180,
    _SC_TRACE___126 = 181,
    _SC_TRACE_EVENT_FILTER___126 = 182,
    _SC_TRACE_INHERIT___126 = 183,
    _SC_TRACE_LOG___126 = 184,
    _SC_LEVEL1_ICACHE_SIZE___126 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___126 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___126 = 187,
    _SC_LEVEL1_DCACHE_SIZE___126 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___126 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___126 = 190,
    _SC_LEVEL2_CACHE_SIZE___126 = 191,
    _SC_LEVEL2_CACHE_ASSOC___126 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___126 = 193,
    _SC_LEVEL3_CACHE_SIZE___126 = 194,
    _SC_LEVEL3_CACHE_ASSOC___126 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___126 = 196,
    _SC_LEVEL4_CACHE_SIZE___126 = 197,
    _SC_LEVEL4_CACHE_ASSOC___126 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___126 = 199,
    _SC_IPV6___126 = 235,
    _SC_RAW_SOCKETS___126 = 236,
    _SC_V7_ILP32_OFF32___126 = 237,
    _SC_V7_ILP32_OFFBIG___126 = 238,
    _SC_V7_LP64_OFF64___126 = 239,
    _SC_V7_LPBIG_OFFBIG___126 = 240,
    _SC_SS_REPL_MAX___126 = 241,
    _SC_TRACE_EVENT_NAME_MAX___126 = 242,
    _SC_TRACE_NAME_MAX___126 = 243,
    _SC_TRACE_SYS_MAX___126 = 244,
    _SC_TRACE_USER_EVENT_MAX___126 = 245,
    _SC_XOPEN_STREAMS___126 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___126 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___126 = 248
} ;
enum __anonenum_875524036___126 {
    _CS_PATH___126 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___126 = 1,
    _CS_GNU_LIBC_VERSION___126 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___126 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___126 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___126 = 5,
    _CS_LFS_CFLAGS___126 = 1000,
    _CS_LFS_LDFLAGS___126 = 1001,
    _CS_LFS_LIBS___126 = 1002,
    _CS_LFS_LINTFLAGS___126 = 1003,
    _CS_LFS64_CFLAGS___126 = 1004,
    _CS_LFS64_LDFLAGS___126 = 1005,
    _CS_LFS64_LIBS___126 = 1006,
    _CS_LFS64_LINTFLAGS___126 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___126 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___126 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___126 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___126 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___126 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___126 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___126 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___126 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___126 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___126 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___126 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___126 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___126 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___126 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___126 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___126 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___126 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___126 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___126 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___126 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___126 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___126 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___126 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___126 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___126 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___126 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___126 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___126 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___126 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___126 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___126 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___126 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___126 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___126 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___126 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___126 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___126 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___126 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___126 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___126 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___126 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___126 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___126 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___126 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___126 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___126 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___126 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___126 = 1147,
    _CS_V6_ENV___126 = 1148,
    _CS_V7_ENV___126 = 1149
} ;
enum __anonenum_513775621___126 {
    DT_UNKNOWN___126 = 0,
    DT_FIFO___126 = 1,
    DT_CHR___126 = 2,
    DT_DIR___126 = 4,
    DT_BLK___126 = 6,
    DT_REG___126 = 8,
    DT_LNK___126 = 10,
    DT_SOCK___126 = 12,
    DT_WHT___126 = 14
} ;
enum __anonenum_77002343___126 {
    SI_ASYNCNL___126 = -60,
    SI_TKILL___126 = -6,
    SI_SIGIO___126 = -5,
    SI_ASYNCIO___126 = -4,
    SI_MESGQ___126 = -3,
    SI_TIMER___126 = -2,
    SI_QUEUE___126 = -1,
    SI_USER___126 = 0,
    SI_KERNEL___126 = 128
} ;
enum __anonenum_131038172___126 {
    ILL_ILLOPC___126 = 1,
    ILL_ILLOPN___126 = 2,
    ILL_ILLADR___126 = 3,
    ILL_ILLTRP___126 = 4,
    ILL_PRVOPC___126 = 5,
    ILL_PRVREG___126 = 6,
    ILL_COPROC___126 = 7,
    ILL_BADSTK___126 = 8
} ;
enum __anonenum_452038093___126 {
    FPE_INTDIV___126 = 1,
    FPE_INTOVF___126 = 2,
    FPE_FLTDIV___126 = 3,
    FPE_FLTOVF___126 = 4,
    FPE_FLTUND___126 = 5,
    FPE_FLTRES___126 = 6,
    FPE_FLTINV___126 = 7,
    FPE_FLTSUB___126 = 8
} ;
enum __anonenum_30976155___126 {
    SEGV_MAPERR___126 = 1,
    SEGV_ACCERR___126 = 2,
    SEGV_BNDERR___126 = 3,
    SEGV_PKUERR___126 = 4
} ;
enum __anonenum_1036286214___126 {
    BUS_ADRALN___126 = 1,
    BUS_ADRERR___126 = 2,
    BUS_OBJERR___126 = 3,
    BUS_MCEERR_AR___126 = 4,
    BUS_MCEERR_AO___126 = 5
} ;
enum __anonenum_493465559___126 {
    TRAP_BRKPT___126 = 1,
    TRAP_TRACE___126 = 2
} ;
enum __anonenum_23175539___126 {
    CLD_EXITED___126 = 1,
    CLD_KILLED___126 = 2,
    CLD_DUMPED___126 = 3,
    CLD_TRAPPED___126 = 4,
    CLD_STOPPED___126 = 5,
    CLD_CONTINUED___126 = 6
} ;
enum __anonenum_111643124___126 {
    POLL_IN___126 = 1,
    POLL_OUT___126 = 2,
    POLL_MSG___126 = 3,
    POLL_ERR___126 = 4,
    POLL_PRI___126 = 5,
    POLL_HUP___126 = 6
} ;
enum __anonenum_852341087___126 {
    SIGEV_SIGNAL___126 = 0,
    SIGEV_NONE___126 = 1,
    SIGEV_THREAD___126 = 2,
    SIGEV_THREAD_ID___126 = 4
} ;
enum __anonenum_451154152___126 {
    REG_R8___126 = 0,
    REG_R9___126 = 1,
    REG_R10___126 = 2,
    REG_R11___126 = 3,
    REG_R12___126 = 4,
    REG_R13___126 = 5,
    REG_R14___126 = 6,
    REG_R15___126 = 7,
    REG_RDI___126 = 8,
    REG_RSI___126 = 9,
    REG_RBP___126 = 10,
    REG_RBX___126 = 11,
    REG_RDX___126 = 12,
    REG_RAX___126 = 13,
    REG_RCX___126 = 14,
    REG_RSP___126 = 15,
    REG_RIP___126 = 16,
    REG_EFL___126 = 17,
    REG_CSGSFS___126 = 18,
    REG_ERR___126 = 19,
    REG_TRAPNO___126 = 20,
    REG_OLDMASK___126 = 21,
    REG_CR2___126 = 22
} ;
enum __anonenum_57186863___126 {
    SS_ONSTACK___126 = 1,
    SS_DISABLE___126 = 2
} ;
enum __anonenum_83571709___126 {
    MSG_OOB___126 = 1,
    MSG_PEEK___126 = 2,
    MSG_DONTROUTE___126 = 4,
    MSG_TRYHARD___126 = 4,
    MSG_CTRUNC___126 = 8,
    MSG_PROXY___126 = 16,
    MSG_TRUNC___126 = 32,
    MSG_DONTWAIT___126 = 64,
    MSG_EOR___126 = 128,
    MSG_WAITALL___126 = 256,
    MSG_FIN___126 = 512,
    MSG_SYN___126 = 1024,
    MSG_CONFIRM___126 = 2048,
    MSG_RST___126 = 4096,
    MSG_ERRQUEUE___126 = 8192,
    MSG_NOSIGNAL___126 = 16384,
    MSG_MORE___126 = 32768,
    MSG_WAITFORONE___126 = 65536,
    MSG_BATCH___126 = 262144,
    MSG_ZEROCOPY___126 = 67108864,
    MSG_FASTOPEN___126 = 536870912,
    MSG_CMSG_CLOEXEC___126 = 1073741824
} ;
enum __anonenum_617082774___126 {
    SCM_RIGHTS___126 = 1,
    SCM_CREDENTIALS___126 = 2
} ;
enum __anonenum_606441560___126 {
    SHUT_RD___126 = 0,
    SHUT_WR___126 = 1,
    SHUT_RDWR___126 = 2
} ;
enum __anonenum_681669233___126 {
    IPPROTO_IP___126 = 0,
    IPPROTO_ICMP___126 = 1,
    IPPROTO_IGMP___126 = 2,
    IPPROTO_IPIP___126 = 4,
    IPPROTO_TCP___126 = 6,
    IPPROTO_EGP___126 = 8,
    IPPROTO_PUP___126 = 12,
    IPPROTO_UDP___126 = 17,
    IPPROTO_IDP___126 = 22,
    IPPROTO_TP___126 = 29,
    IPPROTO_DCCP___126 = 33,
    IPPROTO_IPV6___126 = 41,
    IPPROTO_RSVP___126 = 46,
    IPPROTO_GRE___126 = 47,
    IPPROTO_ESP___126 = 50,
    IPPROTO_AH___126 = 51,
    IPPROTO_MTP___126 = 92,
    IPPROTO_BEETPH___126 = 94,
    IPPROTO_ENCAP___126 = 98,
    IPPROTO_PIM___126 = 103,
    IPPROTO_COMP___126 = 108,
    IPPROTO_SCTP___126 = 132,
    IPPROTO_UDPLITE___126 = 136,
    IPPROTO_MPLS___126 = 137,
    IPPROTO_RAW___126 = 255,
    IPPROTO_MAX___126 = 256
} ;
enum __anonenum_218739988___126 {
    IPPROTO_HOPOPTS___126 = 0,
    IPPROTO_ROUTING___126 = 43,
    IPPROTO_FRAGMENT___126 = 44,
    IPPROTO_ICMPV6___126 = 58,
    IPPROTO_NONE___126 = 59,
    IPPROTO_DSTOPTS___126 = 60,
    IPPROTO_MH___126 = 135
} ;
enum __anonenum_662268580___126 {
    IPPORT_ECHO___126 = 7,
    IPPORT_DISCARD___126 = 9,
    IPPORT_SYSTAT___126 = 11,
    IPPORT_DAYTIME___126 = 13,
    IPPORT_NETSTAT___126 = 15,
    IPPORT_FTP___126 = 21,
    IPPORT_TELNET___126 = 23,
    IPPORT_SMTP___126 = 25,
    IPPORT_TIMESERVER___126 = 37,
    IPPORT_NAMESERVER___126 = 42,
    IPPORT_WHOIS___126 = 43,
    IPPORT_MTP___126 = 57,
    IPPORT_TFTP___126 = 69,
    IPPORT_RJE___126 = 77,
    IPPORT_FINGER___126 = 79,
    IPPORT_TTYLINK___126 = 87,
    IPPORT_SUPDUP___126 = 95,
    IPPORT_EXECSERVER___126 = 512,
    IPPORT_LOGINSERVER___126 = 513,
    IPPORT_CMDSERVER___126 = 514,
    IPPORT_EFSSERVER___126 = 520,
    IPPORT_BIFFUDP___126 = 512,
    IPPORT_WHOSERVER___126 = 513,
    IPPORT_ROUTESERVER___126 = 520,
    IPPORT_RESERVED___126 = 1024,
    IPPORT_USERRESERVED___126 = 5000
} ;
enum __anonenum_788308992___126 {
    TCP_ESTABLISHED___126 = 1,
    TCP_SYN_SENT___126 = 2,
    TCP_SYN_RECV___126 = 3,
    TCP_FIN_WAIT1___126 = 4,
    TCP_FIN_WAIT2___126 = 5,
    TCP_TIME_WAIT___126 = 6,
    TCP_CLOSE___126 = 7,
    TCP_CLOSE_WAIT___126 = 8,
    TCP_LAST_ACK___126 = 9,
    TCP_LISTEN___126 = 10,
    TCP_CLOSING___126 = 11
} ;
enum __anonenum_221125648___126 {
    TCP_NO_QUEUE___126 = 0,
    TCP_RECV_QUEUE___126 = 1,
    TCP_SEND_QUEUE___126 = 2,
    TCP_QUEUES_NR___126 = 3
} ;
enum __anonenum_34415463___126 {
    PTHREAD_CREATE_JOINABLE___126 = 0,
    PTHREAD_CREATE_DETACHED___126 = 1
} ;
enum __anonenum_303612439___126 {
    PTHREAD_MUTEX_TIMED_NP___126 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___126 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___126 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___126 = 3,
    PTHREAD_MUTEX_NORMAL___126 = 0,
    PTHREAD_MUTEX_RECURSIVE___126 = 1,
    PTHREAD_MUTEX_ERRORCHECK___126 = 2,
    PTHREAD_MUTEX_DEFAULT___126 = 0,
    PTHREAD_MUTEX_FAST_NP___126 = 0
} ;
enum __anonenum_931900394___126 {
    PTHREAD_MUTEX_STALLED___126 = 0,
    PTHREAD_MUTEX_STALLED_NP___126 = 0,
    PTHREAD_MUTEX_ROBUST___126 = 1,
    PTHREAD_MUTEX_ROBUST_NP___126 = 1
} ;
enum __anonenum_205214487___126 {
    PTHREAD_PRIO_NONE___126 = 0,
    PTHREAD_PRIO_INHERIT___126 = 1,
    PTHREAD_PRIO_PROTECT___126 = 2
} ;
enum __anonenum_25043950___126 {
    PTHREAD_RWLOCK_PREFER_READER_NP___126 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___126 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___126 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___126 = 0
} ;
enum __anonenum_436439511___126 {
    PTHREAD_INHERIT_SCHED___126 = 0,
    PTHREAD_EXPLICIT_SCHED___126 = 1
} ;
enum __anonenum_998661166___126 {
    PTHREAD_SCOPE_SYSTEM___126 = 0,
    PTHREAD_SCOPE_PROCESS___126 = 1
} ;
enum __anonenum_146137331___126 {
    PTHREAD_PROCESS_PRIVATE___126 = 0,
    PTHREAD_PROCESS_SHARED___126 = 1
} ;
enum __anonenum_53396917___126 {
    PTHREAD_CANCEL_ENABLE___126 = 0,
    PTHREAD_CANCEL_DISABLE___126 = 1
} ;
enum __anonenum_904563783___126 {
    PTHREAD_CANCEL_DEFERRED___126 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___126 = 1
} ;
enum __anonenum_672052974___126 {
    SSL_CT_VALIDATION_PERMISSIVE___126 = 0,
    SSL_CT_VALIDATION_STRICT___126 = 1
} ;
struct revindex_entry {
   off_t offset ;
   unsigned int nr ;
};
struct revindex_header {
   uint32_t signature ;
   uint32_t version ;
   uint32_t hash_id ;
};
struct midx_pack_key {
   uint32_t pack ;
   off_t offset ;
   uint32_t preferred_pack ;
   struct multi_pack_index *midx ;
};
enum __anonenum_437032235___127 {
    _PC_LINK_MAX___127 = 0,
    _PC_MAX_CANON___127 = 1,
    _PC_MAX_INPUT___127 = 2,
    _PC_NAME_MAX___127 = 3,
    _PC_PATH_MAX___127 = 4,
    _PC_PIPE_BUF___127 = 5,
    _PC_CHOWN_RESTRICTED___127 = 6,
    _PC_NO_TRUNC___127 = 7,
    _PC_VDISABLE___127 = 8,
    _PC_SYNC_IO___127 = 9,
    _PC_ASYNC_IO___127 = 10,
    _PC_PRIO_IO___127 = 11,
    _PC_SOCK_MAXBUF___127 = 12,
    _PC_FILESIZEBITS___127 = 13,
    _PC_REC_INCR_XFER_SIZE___127 = 14,
    _PC_REC_MAX_XFER_SIZE___127 = 15,
    _PC_REC_MIN_XFER_SIZE___127 = 16,
    _PC_REC_XFER_ALIGN___127 = 17,
    _PC_ALLOC_SIZE_MIN___127 = 18,
    _PC_SYMLINK_MAX___127 = 19,
    _PC_2_SYMLINKS___127 = 20
} ;
enum __anonenum_315186338___127 {
    _SC_ARG_MAX___127 = 0,
    _SC_CHILD_MAX___127 = 1,
    _SC_CLK_TCK___127 = 2,
    _SC_NGROUPS_MAX___127 = 3,
    _SC_OPEN_MAX___127 = 4,
    _SC_STREAM_MAX___127 = 5,
    _SC_TZNAME_MAX___127 = 6,
    _SC_JOB_CONTROL___127 = 7,
    _SC_SAVED_IDS___127 = 8,
    _SC_REALTIME_SIGNALS___127 = 9,
    _SC_PRIORITY_SCHEDULING___127 = 10,
    _SC_TIMERS___127 = 11,
    _SC_ASYNCHRONOUS_IO___127 = 12,
    _SC_PRIORITIZED_IO___127 = 13,
    _SC_SYNCHRONIZED_IO___127 = 14,
    _SC_FSYNC___127 = 15,
    _SC_MAPPED_FILES___127 = 16,
    _SC_MEMLOCK___127 = 17,
    _SC_MEMLOCK_RANGE___127 = 18,
    _SC_MEMORY_PROTECTION___127 = 19,
    _SC_MESSAGE_PASSING___127 = 20,
    _SC_SEMAPHORES___127 = 21,
    _SC_SHARED_MEMORY_OBJECTS___127 = 22,
    _SC_AIO_LISTIO_MAX___127 = 23,
    _SC_AIO_MAX___127 = 24,
    _SC_AIO_PRIO_DELTA_MAX___127 = 25,
    _SC_DELAYTIMER_MAX___127 = 26,
    _SC_MQ_OPEN_MAX___127 = 27,
    _SC_MQ_PRIO_MAX___127 = 28,
    _SC_VERSION___127 = 29,
    _SC_PAGESIZE___127 = 30,
    _SC_RTSIG_MAX___127 = 31,
    _SC_SEM_NSEMS_MAX___127 = 32,
    _SC_SEM_VALUE_MAX___127 = 33,
    _SC_SIGQUEUE_MAX___127 = 34,
    _SC_TIMER_MAX___127 = 35,
    _SC_BC_BASE_MAX___127 = 36,
    _SC_BC_DIM_MAX___127 = 37,
    _SC_BC_SCALE_MAX___127 = 38,
    _SC_BC_STRING_MAX___127 = 39,
    _SC_COLL_WEIGHTS_MAX___127 = 40,
    _SC_EQUIV_CLASS_MAX___127 = 41,
    _SC_EXPR_NEST_MAX___127 = 42,
    _SC_LINE_MAX___127 = 43,
    _SC_RE_DUP_MAX___127 = 44,
    _SC_CHARCLASS_NAME_MAX___127 = 45,
    _SC_2_VERSION___127 = 46,
    _SC_2_C_BIND___127 = 47,
    _SC_2_C_DEV___127 = 48,
    _SC_2_FORT_DEV___127 = 49,
    _SC_2_FORT_RUN___127 = 50,
    _SC_2_SW_DEV___127 = 51,
    _SC_2_LOCALEDEF___127 = 52,
    _SC_PII___127 = 53,
    _SC_PII_XTI___127 = 54,
    _SC_PII_SOCKET___127 = 55,
    _SC_PII_INTERNET___127 = 56,
    _SC_PII_OSI___127 = 57,
    _SC_POLL___127 = 58,
    _SC_SELECT___127 = 59,
    _SC_UIO_MAXIOV___127 = 60,
    _SC_IOV_MAX___127 = 60,
    _SC_PII_INTERNET_STREAM___127 = 61,
    _SC_PII_INTERNET_DGRAM___127 = 62,
    _SC_PII_OSI_COTS___127 = 63,
    _SC_PII_OSI_CLTS___127 = 64,
    _SC_PII_OSI_M___127 = 65,
    _SC_T_IOV_MAX___127 = 66,
    _SC_THREADS___127 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___127 = 68,
    _SC_GETGR_R_SIZE_MAX___127 = 69,
    _SC_GETPW_R_SIZE_MAX___127 = 70,
    _SC_LOGIN_NAME_MAX___127 = 71,
    _SC_TTY_NAME_MAX___127 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___127 = 73,
    _SC_THREAD_KEYS_MAX___127 = 74,
    _SC_THREAD_STACK_MIN___127 = 75,
    _SC_THREAD_THREADS_MAX___127 = 76,
    _SC_THREAD_ATTR_STACKADDR___127 = 77,
    _SC_THREAD_ATTR_STACKSIZE___127 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___127 = 79,
    _SC_THREAD_PRIO_INHERIT___127 = 80,
    _SC_THREAD_PRIO_PROTECT___127 = 81,
    _SC_THREAD_PROCESS_SHARED___127 = 82,
    _SC_NPROCESSORS_CONF___127 = 83,
    _SC_NPROCESSORS_ONLN___127 = 84,
    _SC_PHYS_PAGES___127 = 85,
    _SC_AVPHYS_PAGES___127 = 86,
    _SC_ATEXIT_MAX___127 = 87,
    _SC_PASS_MAX___127 = 88,
    _SC_XOPEN_VERSION___127 = 89,
    _SC_XOPEN_XCU_VERSION___127 = 90,
    _SC_XOPEN_UNIX___127 = 91,
    _SC_XOPEN_CRYPT___127 = 92,
    _SC_XOPEN_ENH_I18N___127 = 93,
    _SC_XOPEN_SHM___127 = 94,
    _SC_2_CHAR_TERM___127 = 95,
    _SC_2_C_VERSION___127 = 96,
    _SC_2_UPE___127 = 97,
    _SC_XOPEN_XPG2___127 = 98,
    _SC_XOPEN_XPG3___127 = 99,
    _SC_XOPEN_XPG4___127 = 100,
    _SC_CHAR_BIT___127 = 101,
    _SC_CHAR_MAX___127 = 102,
    _SC_CHAR_MIN___127 = 103,
    _SC_INT_MAX___127 = 104,
    _SC_INT_MIN___127 = 105,
    _SC_LONG_BIT___127 = 106,
    _SC_WORD_BIT___127 = 107,
    _SC_MB_LEN_MAX___127 = 108,
    _SC_NZERO___127 = 109,
    _SC_SSIZE_MAX___127 = 110,
    _SC_SCHAR_MAX___127 = 111,
    _SC_SCHAR_MIN___127 = 112,
    _SC_SHRT_MAX___127 = 113,
    _SC_SHRT_MIN___127 = 114,
    _SC_UCHAR_MAX___127 = 115,
    _SC_UINT_MAX___127 = 116,
    _SC_ULONG_MAX___127 = 117,
    _SC_USHRT_MAX___127 = 118,
    _SC_NL_ARGMAX___127 = 119,
    _SC_NL_LANGMAX___127 = 120,
    _SC_NL_MSGMAX___127 = 121,
    _SC_NL_NMAX___127 = 122,
    _SC_NL_SETMAX___127 = 123,
    _SC_NL_TEXTMAX___127 = 124,
    _SC_XBS5_ILP32_OFF32___127 = 125,
    _SC_XBS5_ILP32_OFFBIG___127 = 126,
    _SC_XBS5_LP64_OFF64___127 = 127,
    _SC_XBS5_LPBIG_OFFBIG___127 = 128,
    _SC_XOPEN_LEGACY___127 = 129,
    _SC_XOPEN_REALTIME___127 = 130,
    _SC_XOPEN_REALTIME_THREADS___127 = 131,
    _SC_ADVISORY_INFO___127 = 132,
    _SC_BARRIERS___127 = 133,
    _SC_BASE___127 = 134,
    _SC_C_LANG_SUPPORT___127 = 135,
    _SC_C_LANG_SUPPORT_R___127 = 136,
    _SC_CLOCK_SELECTION___127 = 137,
    _SC_CPUTIME___127 = 138,
    _SC_THREAD_CPUTIME___127 = 139,
    _SC_DEVICE_IO___127 = 140,
    _SC_DEVICE_SPECIFIC___127 = 141,
    _SC_DEVICE_SPECIFIC_R___127 = 142,
    _SC_FD_MGMT___127 = 143,
    _SC_FIFO___127 = 144,
    _SC_PIPE___127 = 145,
    _SC_FILE_ATTRIBUTES___127 = 146,
    _SC_FILE_LOCKING___127 = 147,
    _SC_FILE_SYSTEM___127 = 148,
    _SC_MONOTONIC_CLOCK___127 = 149,
    _SC_MULTI_PROCESS___127 = 150,
    _SC_SINGLE_PROCESS___127 = 151,
    _SC_NETWORKING___127 = 152,
    _SC_READER_WRITER_LOCKS___127 = 153,
    _SC_SPIN_LOCKS___127 = 154,
    _SC_REGEXP___127 = 155,
    _SC_REGEX_VERSION___127 = 156,
    _SC_SHELL___127 = 157,
    _SC_SIGNALS___127 = 158,
    _SC_SPAWN___127 = 159,
    _SC_SPORADIC_SERVER___127 = 160,
    _SC_THREAD_SPORADIC_SERVER___127 = 161,
    _SC_SYSTEM_DATABASE___127 = 162,
    _SC_SYSTEM_DATABASE_R___127 = 163,
    _SC_TIMEOUTS___127 = 164,
    _SC_TYPED_MEMORY_OBJECTS___127 = 165,
    _SC_USER_GROUPS___127 = 166,
    _SC_USER_GROUPS_R___127 = 167,
    _SC_2_PBS___127 = 168,
    _SC_2_PBS_ACCOUNTING___127 = 169,
    _SC_2_PBS_LOCATE___127 = 170,
    _SC_2_PBS_MESSAGE___127 = 171,
    _SC_2_PBS_TRACK___127 = 172,
    _SC_SYMLOOP_MAX___127 = 173,
    _SC_STREAMS___127 = 174,
    _SC_2_PBS_CHECKPOINT___127 = 175,
    _SC_V6_ILP32_OFF32___127 = 176,
    _SC_V6_ILP32_OFFBIG___127 = 177,
    _SC_V6_LP64_OFF64___127 = 178,
    _SC_V6_LPBIG_OFFBIG___127 = 179,
    _SC_HOST_NAME_MAX___127 = 180,
    _SC_TRACE___127 = 181,
    _SC_TRACE_EVENT_FILTER___127 = 182,
    _SC_TRACE_INHERIT___127 = 183,
    _SC_TRACE_LOG___127 = 184,
    _SC_LEVEL1_ICACHE_SIZE___127 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___127 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___127 = 187,
    _SC_LEVEL1_DCACHE_SIZE___127 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___127 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___127 = 190,
    _SC_LEVEL2_CACHE_SIZE___127 = 191,
    _SC_LEVEL2_CACHE_ASSOC___127 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___127 = 193,
    _SC_LEVEL3_CACHE_SIZE___127 = 194,
    _SC_LEVEL3_CACHE_ASSOC___127 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___127 = 196,
    _SC_LEVEL4_CACHE_SIZE___127 = 197,
    _SC_LEVEL4_CACHE_ASSOC___127 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___127 = 199,
    _SC_IPV6___127 = 235,
    _SC_RAW_SOCKETS___127 = 236,
    _SC_V7_ILP32_OFF32___127 = 237,
    _SC_V7_ILP32_OFFBIG___127 = 238,
    _SC_V7_LP64_OFF64___127 = 239,
    _SC_V7_LPBIG_OFFBIG___127 = 240,
    _SC_SS_REPL_MAX___127 = 241,
    _SC_TRACE_EVENT_NAME_MAX___127 = 242,
    _SC_TRACE_NAME_MAX___127 = 243,
    _SC_TRACE_SYS_MAX___127 = 244,
    _SC_TRACE_USER_EVENT_MAX___127 = 245,
    _SC_XOPEN_STREAMS___127 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___127 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___127 = 248
} ;
enum __anonenum_875524036___127 {
    _CS_PATH___127 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___127 = 1,
    _CS_GNU_LIBC_VERSION___127 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___127 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___127 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___127 = 5,
    _CS_LFS_CFLAGS___127 = 1000,
    _CS_LFS_LDFLAGS___127 = 1001,
    _CS_LFS_LIBS___127 = 1002,
    _CS_LFS_LINTFLAGS___127 = 1003,
    _CS_LFS64_CFLAGS___127 = 1004,
    _CS_LFS64_LDFLAGS___127 = 1005,
    _CS_LFS64_LIBS___127 = 1006,
    _CS_LFS64_LINTFLAGS___127 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___127 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___127 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___127 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___127 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___127 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___127 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___127 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___127 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___127 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___127 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___127 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___127 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___127 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___127 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___127 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___127 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___127 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___127 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___127 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___127 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___127 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___127 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___127 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___127 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___127 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___127 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___127 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___127 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___127 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___127 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___127 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___127 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___127 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___127 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___127 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___127 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___127 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___127 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___127 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___127 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___127 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___127 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___127 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___127 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___127 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___127 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___127 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___127 = 1147,
    _CS_V6_ENV___127 = 1148,
    _CS_V7_ENV___127 = 1149
} ;
enum __anonenum_513775621___127 {
    DT_UNKNOWN___127 = 0,
    DT_FIFO___127 = 1,
    DT_CHR___127 = 2,
    DT_DIR___127 = 4,
    DT_BLK___127 = 6,
    DT_REG___127 = 8,
    DT_LNK___127 = 10,
    DT_SOCK___127 = 12,
    DT_WHT___127 = 14
} ;
enum __anonenum_77002343___127 {
    SI_ASYNCNL___127 = -60,
    SI_TKILL___127 = -6,
    SI_SIGIO___127 = -5,
    SI_ASYNCIO___127 = -4,
    SI_MESGQ___127 = -3,
    SI_TIMER___127 = -2,
    SI_QUEUE___127 = -1,
    SI_USER___127 = 0,
    SI_KERNEL___127 = 128
} ;
enum __anonenum_131038172___127 {
    ILL_ILLOPC___127 = 1,
    ILL_ILLOPN___127 = 2,
    ILL_ILLADR___127 = 3,
    ILL_ILLTRP___127 = 4,
    ILL_PRVOPC___127 = 5,
    ILL_PRVREG___127 = 6,
    ILL_COPROC___127 = 7,
    ILL_BADSTK___127 = 8
} ;
enum __anonenum_452038093___127 {
    FPE_INTDIV___127 = 1,
    FPE_INTOVF___127 = 2,
    FPE_FLTDIV___127 = 3,
    FPE_FLTOVF___127 = 4,
    FPE_FLTUND___127 = 5,
    FPE_FLTRES___127 = 6,
    FPE_FLTINV___127 = 7,
    FPE_FLTSUB___127 = 8
} ;
enum __anonenum_30976155___127 {
    SEGV_MAPERR___127 = 1,
    SEGV_ACCERR___127 = 2,
    SEGV_BNDERR___127 = 3,
    SEGV_PKUERR___127 = 4
} ;
enum __anonenum_1036286214___127 {
    BUS_ADRALN___127 = 1,
    BUS_ADRERR___127 = 2,
    BUS_OBJERR___127 = 3,
    BUS_MCEERR_AR___127 = 4,
    BUS_MCEERR_AO___127 = 5
} ;
enum __anonenum_493465559___127 {
    TRAP_BRKPT___127 = 1,
    TRAP_TRACE___127 = 2
} ;
enum __anonenum_23175539___127 {
    CLD_EXITED___127 = 1,
    CLD_KILLED___127 = 2,
    CLD_DUMPED___127 = 3,
    CLD_TRAPPED___127 = 4,
    CLD_STOPPED___127 = 5,
    CLD_CONTINUED___127 = 6
} ;
enum __anonenum_111643124___127 {
    POLL_IN___127 = 1,
    POLL_OUT___127 = 2,
    POLL_MSG___127 = 3,
    POLL_ERR___127 = 4,
    POLL_PRI___127 = 5,
    POLL_HUP___127 = 6
} ;
enum __anonenum_852341087___127 {
    SIGEV_SIGNAL___127 = 0,
    SIGEV_NONE___127 = 1,
    SIGEV_THREAD___127 = 2,
    SIGEV_THREAD_ID___127 = 4
} ;
enum __anonenum_451154152___127 {
    REG_R8___127 = 0,
    REG_R9___127 = 1,
    REG_R10___127 = 2,
    REG_R11___127 = 3,
    REG_R12___127 = 4,
    REG_R13___127 = 5,
    REG_R14___127 = 6,
    REG_R15___127 = 7,
    REG_RDI___127 = 8,
    REG_RSI___127 = 9,
    REG_RBP___127 = 10,
    REG_RBX___127 = 11,
    REG_RDX___127 = 12,
    REG_RAX___127 = 13,
    REG_RCX___127 = 14,
    REG_RSP___127 = 15,
    REG_RIP___127 = 16,
    REG_EFL___127 = 17,
    REG_CSGSFS___127 = 18,
    REG_ERR___127 = 19,
    REG_TRAPNO___127 = 20,
    REG_OLDMASK___127 = 21,
    REG_CR2___127 = 22
} ;
enum __anonenum_57186863___127 {
    SS_ONSTACK___127 = 1,
    SS_DISABLE___127 = 2
} ;
enum __anonenum_83571709___127 {
    MSG_OOB___127 = 1,
    MSG_PEEK___127 = 2,
    MSG_DONTROUTE___127 = 4,
    MSG_TRYHARD___127 = 4,
    MSG_CTRUNC___127 = 8,
    MSG_PROXY___127 = 16,
    MSG_TRUNC___127 = 32,
    MSG_DONTWAIT___127 = 64,
    MSG_EOR___127 = 128,
    MSG_WAITALL___127 = 256,
    MSG_FIN___127 = 512,
    MSG_SYN___127 = 1024,
    MSG_CONFIRM___127 = 2048,
    MSG_RST___127 = 4096,
    MSG_ERRQUEUE___127 = 8192,
    MSG_NOSIGNAL___127 = 16384,
    MSG_MORE___127 = 32768,
    MSG_WAITFORONE___127 = 65536,
    MSG_BATCH___127 = 262144,
    MSG_ZEROCOPY___127 = 67108864,
    MSG_FASTOPEN___127 = 536870912,
    MSG_CMSG_CLOEXEC___127 = 1073741824
} ;
enum __anonenum_617082774___127 {
    SCM_RIGHTS___127 = 1,
    SCM_CREDENTIALS___127 = 2
} ;
enum __anonenum_606441560___127 {
    SHUT_RD___127 = 0,
    SHUT_WR___127 = 1,
    SHUT_RDWR___127 = 2
} ;
enum __anonenum_681669233___127 {
    IPPROTO_IP___127 = 0,
    IPPROTO_ICMP___127 = 1,
    IPPROTO_IGMP___127 = 2,
    IPPROTO_IPIP___127 = 4,
    IPPROTO_TCP___127 = 6,
    IPPROTO_EGP___127 = 8,
    IPPROTO_PUP___127 = 12,
    IPPROTO_UDP___127 = 17,
    IPPROTO_IDP___127 = 22,
    IPPROTO_TP___127 = 29,
    IPPROTO_DCCP___127 = 33,
    IPPROTO_IPV6___127 = 41,
    IPPROTO_RSVP___127 = 46,
    IPPROTO_GRE___127 = 47,
    IPPROTO_ESP___127 = 50,
    IPPROTO_AH___127 = 51,
    IPPROTO_MTP___127 = 92,
    IPPROTO_BEETPH___127 = 94,
    IPPROTO_ENCAP___127 = 98,
    IPPROTO_PIM___127 = 103,
    IPPROTO_COMP___127 = 108,
    IPPROTO_SCTP___127 = 132,
    IPPROTO_UDPLITE___127 = 136,
    IPPROTO_MPLS___127 = 137,
    IPPROTO_RAW___127 = 255,
    IPPROTO_MAX___127 = 256
} ;
enum __anonenum_218739988___127 {
    IPPROTO_HOPOPTS___127 = 0,
    IPPROTO_ROUTING___127 = 43,
    IPPROTO_FRAGMENT___127 = 44,
    IPPROTO_ICMPV6___127 = 58,
    IPPROTO_NONE___127 = 59,
    IPPROTO_DSTOPTS___127 = 60,
    IPPROTO_MH___127 = 135
} ;
enum __anonenum_662268580___127 {
    IPPORT_ECHO___127 = 7,
    IPPORT_DISCARD___127 = 9,
    IPPORT_SYSTAT___127 = 11,
    IPPORT_DAYTIME___127 = 13,
    IPPORT_NETSTAT___127 = 15,
    IPPORT_FTP___127 = 21,
    IPPORT_TELNET___127 = 23,
    IPPORT_SMTP___127 = 25,
    IPPORT_TIMESERVER___127 = 37,
    IPPORT_NAMESERVER___127 = 42,
    IPPORT_WHOIS___127 = 43,
    IPPORT_MTP___127 = 57,
    IPPORT_TFTP___127 = 69,
    IPPORT_RJE___127 = 77,
    IPPORT_FINGER___127 = 79,
    IPPORT_TTYLINK___127 = 87,
    IPPORT_SUPDUP___127 = 95,
    IPPORT_EXECSERVER___127 = 512,
    IPPORT_LOGINSERVER___127 = 513,
    IPPORT_CMDSERVER___127 = 514,
    IPPORT_EFSSERVER___127 = 520,
    IPPORT_BIFFUDP___127 = 512,
    IPPORT_WHOSERVER___127 = 513,
    IPPORT_ROUTESERVER___127 = 520,
    IPPORT_RESERVED___127 = 1024,
    IPPORT_USERRESERVED___127 = 5000
} ;
enum __anonenum_788308992___127 {
    TCP_ESTABLISHED___127 = 1,
    TCP_SYN_SENT___127 = 2,
    TCP_SYN_RECV___127 = 3,
    TCP_FIN_WAIT1___127 = 4,
    TCP_FIN_WAIT2___127 = 5,
    TCP_TIME_WAIT___127 = 6,
    TCP_CLOSE___127 = 7,
    TCP_CLOSE_WAIT___127 = 8,
    TCP_LAST_ACK___127 = 9,
    TCP_LISTEN___127 = 10,
    TCP_CLOSING___127 = 11
} ;
enum __anonenum_221125648___127 {
    TCP_NO_QUEUE___127 = 0,
    TCP_RECV_QUEUE___127 = 1,
    TCP_SEND_QUEUE___127 = 2,
    TCP_QUEUES_NR___127 = 3
} ;
enum __anonenum_34415463___127 {
    PTHREAD_CREATE_JOINABLE___127 = 0,
    PTHREAD_CREATE_DETACHED___127 = 1
} ;
enum __anonenum_303612439___127 {
    PTHREAD_MUTEX_TIMED_NP___127 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___127 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___127 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___127 = 3,
    PTHREAD_MUTEX_NORMAL___127 = 0,
    PTHREAD_MUTEX_RECURSIVE___127 = 1,
    PTHREAD_MUTEX_ERRORCHECK___127 = 2,
    PTHREAD_MUTEX_DEFAULT___127 = 0,
    PTHREAD_MUTEX_FAST_NP___127 = 0
} ;
enum __anonenum_931900394___127 {
    PTHREAD_MUTEX_STALLED___127 = 0,
    PTHREAD_MUTEX_STALLED_NP___127 = 0,
    PTHREAD_MUTEX_ROBUST___127 = 1,
    PTHREAD_MUTEX_ROBUST_NP___127 = 1
} ;
enum __anonenum_205214487___127 {
    PTHREAD_PRIO_NONE___127 = 0,
    PTHREAD_PRIO_INHERIT___127 = 1,
    PTHREAD_PRIO_PROTECT___127 = 2
} ;
enum __anonenum_25043950___127 {
    PTHREAD_RWLOCK_PREFER_READER_NP___127 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___127 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___127 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___127 = 0
} ;
enum __anonenum_436439511___127 {
    PTHREAD_INHERIT_SCHED___127 = 0,
    PTHREAD_EXPLICIT_SCHED___127 = 1
} ;
enum __anonenum_998661166___127 {
    PTHREAD_SCOPE_SYSTEM___127 = 0,
    PTHREAD_SCOPE_PROCESS___127 = 1
} ;
enum __anonenum_146137331___127 {
    PTHREAD_PROCESS_PRIVATE___127 = 0,
    PTHREAD_PROCESS_SHARED___127 = 1
} ;
enum __anonenum_53396917___127 {
    PTHREAD_CANCEL_ENABLE___127 = 0,
    PTHREAD_CANCEL_DISABLE___127 = 1
} ;
enum __anonenum_904563783___127 {
    PTHREAD_CANCEL_DEFERRED___127 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___127 = 1
} ;
enum __anonenum_672052974___127 {
    SSL_CT_VALIDATION_PERMISSIVE___127 = 0,
    SSL_CT_VALIDATION_STRICT___127 = 1
} ;
enum __anonenum_34023289___8 {
    REMOTE_UNCONFIGURED___8 = 0,
    REMOTE_CONFIG___8 = 1,
    REMOTE_REMOTES___8 = 2,
    REMOTE_BRANCHES___8 = 3
} ;
enum __anonenum_437032235___128 {
    _PC_LINK_MAX___128 = 0,
    _PC_MAX_CANON___128 = 1,
    _PC_MAX_INPUT___128 = 2,
    _PC_NAME_MAX___128 = 3,
    _PC_PATH_MAX___128 = 4,
    _PC_PIPE_BUF___128 = 5,
    _PC_CHOWN_RESTRICTED___128 = 6,
    _PC_NO_TRUNC___128 = 7,
    _PC_VDISABLE___128 = 8,
    _PC_SYNC_IO___128 = 9,
    _PC_ASYNC_IO___128 = 10,
    _PC_PRIO_IO___128 = 11,
    _PC_SOCK_MAXBUF___128 = 12,
    _PC_FILESIZEBITS___128 = 13,
    _PC_REC_INCR_XFER_SIZE___128 = 14,
    _PC_REC_MAX_XFER_SIZE___128 = 15,
    _PC_REC_MIN_XFER_SIZE___128 = 16,
    _PC_REC_XFER_ALIGN___128 = 17,
    _PC_ALLOC_SIZE_MIN___128 = 18,
    _PC_SYMLINK_MAX___128 = 19,
    _PC_2_SYMLINKS___128 = 20
} ;
enum __anonenum_315186338___128 {
    _SC_ARG_MAX___128 = 0,
    _SC_CHILD_MAX___128 = 1,
    _SC_CLK_TCK___128 = 2,
    _SC_NGROUPS_MAX___128 = 3,
    _SC_OPEN_MAX___128 = 4,
    _SC_STREAM_MAX___128 = 5,
    _SC_TZNAME_MAX___128 = 6,
    _SC_JOB_CONTROL___128 = 7,
    _SC_SAVED_IDS___128 = 8,
    _SC_REALTIME_SIGNALS___128 = 9,
    _SC_PRIORITY_SCHEDULING___128 = 10,
    _SC_TIMERS___128 = 11,
    _SC_ASYNCHRONOUS_IO___128 = 12,
    _SC_PRIORITIZED_IO___128 = 13,
    _SC_SYNCHRONIZED_IO___128 = 14,
    _SC_FSYNC___128 = 15,
    _SC_MAPPED_FILES___128 = 16,
    _SC_MEMLOCK___128 = 17,
    _SC_MEMLOCK_RANGE___128 = 18,
    _SC_MEMORY_PROTECTION___128 = 19,
    _SC_MESSAGE_PASSING___128 = 20,
    _SC_SEMAPHORES___128 = 21,
    _SC_SHARED_MEMORY_OBJECTS___128 = 22,
    _SC_AIO_LISTIO_MAX___128 = 23,
    _SC_AIO_MAX___128 = 24,
    _SC_AIO_PRIO_DELTA_MAX___128 = 25,
    _SC_DELAYTIMER_MAX___128 = 26,
    _SC_MQ_OPEN_MAX___128 = 27,
    _SC_MQ_PRIO_MAX___128 = 28,
    _SC_VERSION___128 = 29,
    _SC_PAGESIZE___128 = 30,
    _SC_RTSIG_MAX___128 = 31,
    _SC_SEM_NSEMS_MAX___128 = 32,
    _SC_SEM_VALUE_MAX___128 = 33,
    _SC_SIGQUEUE_MAX___128 = 34,
    _SC_TIMER_MAX___128 = 35,
    _SC_BC_BASE_MAX___128 = 36,
    _SC_BC_DIM_MAX___128 = 37,
    _SC_BC_SCALE_MAX___128 = 38,
    _SC_BC_STRING_MAX___128 = 39,
    _SC_COLL_WEIGHTS_MAX___128 = 40,
    _SC_EQUIV_CLASS_MAX___128 = 41,
    _SC_EXPR_NEST_MAX___128 = 42,
    _SC_LINE_MAX___128 = 43,
    _SC_RE_DUP_MAX___128 = 44,
    _SC_CHARCLASS_NAME_MAX___128 = 45,
    _SC_2_VERSION___128 = 46,
    _SC_2_C_BIND___128 = 47,
    _SC_2_C_DEV___128 = 48,
    _SC_2_FORT_DEV___128 = 49,
    _SC_2_FORT_RUN___128 = 50,
    _SC_2_SW_DEV___128 = 51,
    _SC_2_LOCALEDEF___128 = 52,
    _SC_PII___128 = 53,
    _SC_PII_XTI___128 = 54,
    _SC_PII_SOCKET___128 = 55,
    _SC_PII_INTERNET___128 = 56,
    _SC_PII_OSI___128 = 57,
    _SC_POLL___128 = 58,
    _SC_SELECT___128 = 59,
    _SC_UIO_MAXIOV___128 = 60,
    _SC_IOV_MAX___128 = 60,
    _SC_PII_INTERNET_STREAM___128 = 61,
    _SC_PII_INTERNET_DGRAM___128 = 62,
    _SC_PII_OSI_COTS___128 = 63,
    _SC_PII_OSI_CLTS___128 = 64,
    _SC_PII_OSI_M___128 = 65,
    _SC_T_IOV_MAX___128 = 66,
    _SC_THREADS___128 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___128 = 68,
    _SC_GETGR_R_SIZE_MAX___128 = 69,
    _SC_GETPW_R_SIZE_MAX___128 = 70,
    _SC_LOGIN_NAME_MAX___128 = 71,
    _SC_TTY_NAME_MAX___128 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___128 = 73,
    _SC_THREAD_KEYS_MAX___128 = 74,
    _SC_THREAD_STACK_MIN___128 = 75,
    _SC_THREAD_THREADS_MAX___128 = 76,
    _SC_THREAD_ATTR_STACKADDR___128 = 77,
    _SC_THREAD_ATTR_STACKSIZE___128 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___128 = 79,
    _SC_THREAD_PRIO_INHERIT___128 = 80,
    _SC_THREAD_PRIO_PROTECT___128 = 81,
    _SC_THREAD_PROCESS_SHARED___128 = 82,
    _SC_NPROCESSORS_CONF___128 = 83,
    _SC_NPROCESSORS_ONLN___128 = 84,
    _SC_PHYS_PAGES___128 = 85,
    _SC_AVPHYS_PAGES___128 = 86,
    _SC_ATEXIT_MAX___128 = 87,
    _SC_PASS_MAX___128 = 88,
    _SC_XOPEN_VERSION___128 = 89,
    _SC_XOPEN_XCU_VERSION___128 = 90,
    _SC_XOPEN_UNIX___128 = 91,
    _SC_XOPEN_CRYPT___128 = 92,
    _SC_XOPEN_ENH_I18N___128 = 93,
    _SC_XOPEN_SHM___128 = 94,
    _SC_2_CHAR_TERM___128 = 95,
    _SC_2_C_VERSION___128 = 96,
    _SC_2_UPE___128 = 97,
    _SC_XOPEN_XPG2___128 = 98,
    _SC_XOPEN_XPG3___128 = 99,
    _SC_XOPEN_XPG4___128 = 100,
    _SC_CHAR_BIT___128 = 101,
    _SC_CHAR_MAX___128 = 102,
    _SC_CHAR_MIN___128 = 103,
    _SC_INT_MAX___128 = 104,
    _SC_INT_MIN___128 = 105,
    _SC_LONG_BIT___128 = 106,
    _SC_WORD_BIT___128 = 107,
    _SC_MB_LEN_MAX___128 = 108,
    _SC_NZERO___128 = 109,
    _SC_SSIZE_MAX___128 = 110,
    _SC_SCHAR_MAX___128 = 111,
    _SC_SCHAR_MIN___128 = 112,
    _SC_SHRT_MAX___128 = 113,
    _SC_SHRT_MIN___128 = 114,
    _SC_UCHAR_MAX___128 = 115,
    _SC_UINT_MAX___128 = 116,
    _SC_ULONG_MAX___128 = 117,
    _SC_USHRT_MAX___128 = 118,
    _SC_NL_ARGMAX___128 = 119,
    _SC_NL_LANGMAX___128 = 120,
    _SC_NL_MSGMAX___128 = 121,
    _SC_NL_NMAX___128 = 122,
    _SC_NL_SETMAX___128 = 123,
    _SC_NL_TEXTMAX___128 = 124,
    _SC_XBS5_ILP32_OFF32___128 = 125,
    _SC_XBS5_ILP32_OFFBIG___128 = 126,
    _SC_XBS5_LP64_OFF64___128 = 127,
    _SC_XBS5_LPBIG_OFFBIG___128 = 128,
    _SC_XOPEN_LEGACY___128 = 129,
    _SC_XOPEN_REALTIME___128 = 130,
    _SC_XOPEN_REALTIME_THREADS___128 = 131,
    _SC_ADVISORY_INFO___128 = 132,
    _SC_BARRIERS___128 = 133,
    _SC_BASE___128 = 134,
    _SC_C_LANG_SUPPORT___128 = 135,
    _SC_C_LANG_SUPPORT_R___128 = 136,
    _SC_CLOCK_SELECTION___128 = 137,
    _SC_CPUTIME___128 = 138,
    _SC_THREAD_CPUTIME___128 = 139,
    _SC_DEVICE_IO___128 = 140,
    _SC_DEVICE_SPECIFIC___128 = 141,
    _SC_DEVICE_SPECIFIC_R___128 = 142,
    _SC_FD_MGMT___128 = 143,
    _SC_FIFO___128 = 144,
    _SC_PIPE___128 = 145,
    _SC_FILE_ATTRIBUTES___128 = 146,
    _SC_FILE_LOCKING___128 = 147,
    _SC_FILE_SYSTEM___128 = 148,
    _SC_MONOTONIC_CLOCK___128 = 149,
    _SC_MULTI_PROCESS___128 = 150,
    _SC_SINGLE_PROCESS___128 = 151,
    _SC_NETWORKING___128 = 152,
    _SC_READER_WRITER_LOCKS___128 = 153,
    _SC_SPIN_LOCKS___128 = 154,
    _SC_REGEXP___128 = 155,
    _SC_REGEX_VERSION___128 = 156,
    _SC_SHELL___128 = 157,
    _SC_SIGNALS___128 = 158,
    _SC_SPAWN___128 = 159,
    _SC_SPORADIC_SERVER___128 = 160,
    _SC_THREAD_SPORADIC_SERVER___128 = 161,
    _SC_SYSTEM_DATABASE___128 = 162,
    _SC_SYSTEM_DATABASE_R___128 = 163,
    _SC_TIMEOUTS___128 = 164,
    _SC_TYPED_MEMORY_OBJECTS___128 = 165,
    _SC_USER_GROUPS___128 = 166,
    _SC_USER_GROUPS_R___128 = 167,
    _SC_2_PBS___128 = 168,
    _SC_2_PBS_ACCOUNTING___128 = 169,
    _SC_2_PBS_LOCATE___128 = 170,
    _SC_2_PBS_MESSAGE___128 = 171,
    _SC_2_PBS_TRACK___128 = 172,
    _SC_SYMLOOP_MAX___128 = 173,
    _SC_STREAMS___128 = 174,
    _SC_2_PBS_CHECKPOINT___128 = 175,
    _SC_V6_ILP32_OFF32___128 = 176,
    _SC_V6_ILP32_OFFBIG___128 = 177,
    _SC_V6_LP64_OFF64___128 = 178,
    _SC_V6_LPBIG_OFFBIG___128 = 179,
    _SC_HOST_NAME_MAX___128 = 180,
    _SC_TRACE___128 = 181,
    _SC_TRACE_EVENT_FILTER___128 = 182,
    _SC_TRACE_INHERIT___128 = 183,
    _SC_TRACE_LOG___128 = 184,
    _SC_LEVEL1_ICACHE_SIZE___128 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___128 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___128 = 187,
    _SC_LEVEL1_DCACHE_SIZE___128 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___128 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___128 = 190,
    _SC_LEVEL2_CACHE_SIZE___128 = 191,
    _SC_LEVEL2_CACHE_ASSOC___128 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___128 = 193,
    _SC_LEVEL3_CACHE_SIZE___128 = 194,
    _SC_LEVEL3_CACHE_ASSOC___128 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___128 = 196,
    _SC_LEVEL4_CACHE_SIZE___128 = 197,
    _SC_LEVEL4_CACHE_ASSOC___128 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___128 = 199,
    _SC_IPV6___128 = 235,
    _SC_RAW_SOCKETS___128 = 236,
    _SC_V7_ILP32_OFF32___128 = 237,
    _SC_V7_ILP32_OFFBIG___128 = 238,
    _SC_V7_LP64_OFF64___128 = 239,
    _SC_V7_LPBIG_OFFBIG___128 = 240,
    _SC_SS_REPL_MAX___128 = 241,
    _SC_TRACE_EVENT_NAME_MAX___128 = 242,
    _SC_TRACE_NAME_MAX___128 = 243,
    _SC_TRACE_SYS_MAX___128 = 244,
    _SC_TRACE_USER_EVENT_MAX___128 = 245,
    _SC_XOPEN_STREAMS___128 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___128 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___128 = 248
} ;
enum __anonenum_875524036___128 {
    _CS_PATH___128 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___128 = 1,
    _CS_GNU_LIBC_VERSION___128 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___128 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___128 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___128 = 5,
    _CS_LFS_CFLAGS___128 = 1000,
    _CS_LFS_LDFLAGS___128 = 1001,
    _CS_LFS_LIBS___128 = 1002,
    _CS_LFS_LINTFLAGS___128 = 1003,
    _CS_LFS64_CFLAGS___128 = 1004,
    _CS_LFS64_LDFLAGS___128 = 1005,
    _CS_LFS64_LIBS___128 = 1006,
    _CS_LFS64_LINTFLAGS___128 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___128 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___128 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___128 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___128 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___128 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___128 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___128 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___128 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___128 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___128 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___128 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___128 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___128 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___128 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___128 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___128 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___128 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___128 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___128 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___128 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___128 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___128 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___128 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___128 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___128 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___128 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___128 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___128 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___128 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___128 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___128 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___128 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___128 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___128 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___128 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___128 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___128 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___128 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___128 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___128 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___128 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___128 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___128 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___128 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___128 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___128 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___128 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___128 = 1147,
    _CS_V6_ENV___128 = 1148,
    _CS_V7_ENV___128 = 1149
} ;
enum __anonenum_513775621___128 {
    DT_UNKNOWN___128 = 0,
    DT_FIFO___128 = 1,
    DT_CHR___128 = 2,
    DT_DIR___128 = 4,
    DT_BLK___128 = 6,
    DT_REG___128 = 8,
    DT_LNK___128 = 10,
    DT_SOCK___128 = 12,
    DT_WHT___128 = 14
} ;
enum __anonenum_77002343___128 {
    SI_ASYNCNL___128 = -60,
    SI_TKILL___128 = -6,
    SI_SIGIO___128 = -5,
    SI_ASYNCIO___128 = -4,
    SI_MESGQ___128 = -3,
    SI_TIMER___128 = -2,
    SI_QUEUE___128 = -1,
    SI_USER___128 = 0,
    SI_KERNEL___128 = 128
} ;
enum __anonenum_131038172___128 {
    ILL_ILLOPC___128 = 1,
    ILL_ILLOPN___128 = 2,
    ILL_ILLADR___128 = 3,
    ILL_ILLTRP___128 = 4,
    ILL_PRVOPC___128 = 5,
    ILL_PRVREG___128 = 6,
    ILL_COPROC___128 = 7,
    ILL_BADSTK___128 = 8
} ;
enum __anonenum_452038093___128 {
    FPE_INTDIV___128 = 1,
    FPE_INTOVF___128 = 2,
    FPE_FLTDIV___128 = 3,
    FPE_FLTOVF___128 = 4,
    FPE_FLTUND___128 = 5,
    FPE_FLTRES___128 = 6,
    FPE_FLTINV___128 = 7,
    FPE_FLTSUB___128 = 8
} ;
enum __anonenum_30976155___128 {
    SEGV_MAPERR___128 = 1,
    SEGV_ACCERR___128 = 2,
    SEGV_BNDERR___128 = 3,
    SEGV_PKUERR___128 = 4
} ;
enum __anonenum_1036286214___128 {
    BUS_ADRALN___128 = 1,
    BUS_ADRERR___128 = 2,
    BUS_OBJERR___128 = 3,
    BUS_MCEERR_AR___128 = 4,
    BUS_MCEERR_AO___128 = 5
} ;
enum __anonenum_493465559___128 {
    TRAP_BRKPT___128 = 1,
    TRAP_TRACE___128 = 2
} ;
enum __anonenum_23175539___128 {
    CLD_EXITED___128 = 1,
    CLD_KILLED___128 = 2,
    CLD_DUMPED___128 = 3,
    CLD_TRAPPED___128 = 4,
    CLD_STOPPED___128 = 5,
    CLD_CONTINUED___128 = 6
} ;
enum __anonenum_111643124___128 {
    POLL_IN___128 = 1,
    POLL_OUT___128 = 2,
    POLL_MSG___128 = 3,
    POLL_ERR___128 = 4,
    POLL_PRI___128 = 5,
    POLL_HUP___128 = 6
} ;
enum __anonenum_852341087___128 {
    SIGEV_SIGNAL___128 = 0,
    SIGEV_NONE___128 = 1,
    SIGEV_THREAD___128 = 2,
    SIGEV_THREAD_ID___128 = 4
} ;
enum __anonenum_451154152___128 {
    REG_R8___128 = 0,
    REG_R9___128 = 1,
    REG_R10___128 = 2,
    REG_R11___128 = 3,
    REG_R12___128 = 4,
    REG_R13___128 = 5,
    REG_R14___128 = 6,
    REG_R15___128 = 7,
    REG_RDI___128 = 8,
    REG_RSI___128 = 9,
    REG_RBP___128 = 10,
    REG_RBX___128 = 11,
    REG_RDX___128 = 12,
    REG_RAX___128 = 13,
    REG_RCX___128 = 14,
    REG_RSP___128 = 15,
    REG_RIP___128 = 16,
    REG_EFL___128 = 17,
    REG_CSGSFS___128 = 18,
    REG_ERR___128 = 19,
    REG_TRAPNO___128 = 20,
    REG_OLDMASK___128 = 21,
    REG_CR2___128 = 22
} ;
enum __anonenum_57186863___128 {
    SS_ONSTACK___128 = 1,
    SS_DISABLE___128 = 2
} ;
enum __anonenum_83571709___128 {
    MSG_OOB___128 = 1,
    MSG_PEEK___128 = 2,
    MSG_DONTROUTE___128 = 4,
    MSG_TRYHARD___128 = 4,
    MSG_CTRUNC___128 = 8,
    MSG_PROXY___128 = 16,
    MSG_TRUNC___128 = 32,
    MSG_DONTWAIT___128 = 64,
    MSG_EOR___128 = 128,
    MSG_WAITALL___128 = 256,
    MSG_FIN___128 = 512,
    MSG_SYN___128 = 1024,
    MSG_CONFIRM___128 = 2048,
    MSG_RST___128 = 4096,
    MSG_ERRQUEUE___128 = 8192,
    MSG_NOSIGNAL___128 = 16384,
    MSG_MORE___128 = 32768,
    MSG_WAITFORONE___128 = 65536,
    MSG_BATCH___128 = 262144,
    MSG_ZEROCOPY___128 = 67108864,
    MSG_FASTOPEN___128 = 536870912,
    MSG_CMSG_CLOEXEC___128 = 1073741824
} ;
enum __anonenum_617082774___128 {
    SCM_RIGHTS___128 = 1,
    SCM_CREDENTIALS___128 = 2
} ;
enum __anonenum_606441560___128 {
    SHUT_RD___128 = 0,
    SHUT_WR___128 = 1,
    SHUT_RDWR___128 = 2
} ;
enum __anonenum_681669233___128 {
    IPPROTO_IP___128 = 0,
    IPPROTO_ICMP___128 = 1,
    IPPROTO_IGMP___128 = 2,
    IPPROTO_IPIP___128 = 4,
    IPPROTO_TCP___128 = 6,
    IPPROTO_EGP___128 = 8,
    IPPROTO_PUP___128 = 12,
    IPPROTO_UDP___128 = 17,
    IPPROTO_IDP___128 = 22,
    IPPROTO_TP___128 = 29,
    IPPROTO_DCCP___128 = 33,
    IPPROTO_IPV6___128 = 41,
    IPPROTO_RSVP___128 = 46,
    IPPROTO_GRE___128 = 47,
    IPPROTO_ESP___128 = 50,
    IPPROTO_AH___128 = 51,
    IPPROTO_MTP___128 = 92,
    IPPROTO_BEETPH___128 = 94,
    IPPROTO_ENCAP___128 = 98,
    IPPROTO_PIM___128 = 103,
    IPPROTO_COMP___128 = 108,
    IPPROTO_SCTP___128 = 132,
    IPPROTO_UDPLITE___128 = 136,
    IPPROTO_MPLS___128 = 137,
    IPPROTO_RAW___128 = 255,
    IPPROTO_MAX___128 = 256
} ;
enum __anonenum_218739988___128 {
    IPPROTO_HOPOPTS___128 = 0,
    IPPROTO_ROUTING___128 = 43,
    IPPROTO_FRAGMENT___128 = 44,
    IPPROTO_ICMPV6___128 = 58,
    IPPROTO_NONE___128 = 59,
    IPPROTO_DSTOPTS___128 = 60,
    IPPROTO_MH___128 = 135
} ;
enum __anonenum_662268580___128 {
    IPPORT_ECHO___128 = 7,
    IPPORT_DISCARD___128 = 9,
    IPPORT_SYSTAT___128 = 11,
    IPPORT_DAYTIME___128 = 13,
    IPPORT_NETSTAT___128 = 15,
    IPPORT_FTP___128 = 21,
    IPPORT_TELNET___128 = 23,
    IPPORT_SMTP___128 = 25,
    IPPORT_TIMESERVER___128 = 37,
    IPPORT_NAMESERVER___128 = 42,
    IPPORT_WHOIS___128 = 43,
    IPPORT_MTP___128 = 57,
    IPPORT_TFTP___128 = 69,
    IPPORT_RJE___128 = 77,
    IPPORT_FINGER___128 = 79,
    IPPORT_TTYLINK___128 = 87,
    IPPORT_SUPDUP___128 = 95,
    IPPORT_EXECSERVER___128 = 512,
    IPPORT_LOGINSERVER___128 = 513,
    IPPORT_CMDSERVER___128 = 514,
    IPPORT_EFSSERVER___128 = 520,
    IPPORT_BIFFUDP___128 = 512,
    IPPORT_WHOSERVER___128 = 513,
    IPPORT_ROUTESERVER___128 = 520,
    IPPORT_RESERVED___128 = 1024,
    IPPORT_USERRESERVED___128 = 5000
} ;
enum __anonenum_788308992___128 {
    TCP_ESTABLISHED___128 = 1,
    TCP_SYN_SENT___128 = 2,
    TCP_SYN_RECV___128 = 3,
    TCP_FIN_WAIT1___128 = 4,
    TCP_FIN_WAIT2___128 = 5,
    TCP_TIME_WAIT___128 = 6,
    TCP_CLOSE___128 = 7,
    TCP_CLOSE_WAIT___128 = 8,
    TCP_LAST_ACK___128 = 9,
    TCP_LISTEN___128 = 10,
    TCP_CLOSING___128 = 11
} ;
enum __anonenum_221125648___128 {
    TCP_NO_QUEUE___128 = 0,
    TCP_RECV_QUEUE___128 = 1,
    TCP_SEND_QUEUE___128 = 2,
    TCP_QUEUES_NR___128 = 3
} ;
enum __anonenum_34415463___128 {
    PTHREAD_CREATE_JOINABLE___128 = 0,
    PTHREAD_CREATE_DETACHED___128 = 1
} ;
enum __anonenum_303612439___128 {
    PTHREAD_MUTEX_TIMED_NP___128 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___128 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___128 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___128 = 3,
    PTHREAD_MUTEX_NORMAL___128 = 0,
    PTHREAD_MUTEX_RECURSIVE___128 = 1,
    PTHREAD_MUTEX_ERRORCHECK___128 = 2,
    PTHREAD_MUTEX_DEFAULT___128 = 0,
    PTHREAD_MUTEX_FAST_NP___128 = 0
} ;
enum __anonenum_931900394___128 {
    PTHREAD_MUTEX_STALLED___128 = 0,
    PTHREAD_MUTEX_STALLED_NP___128 = 0,
    PTHREAD_MUTEX_ROBUST___128 = 1,
    PTHREAD_MUTEX_ROBUST_NP___128 = 1
} ;
enum __anonenum_205214487___128 {
    PTHREAD_PRIO_NONE___128 = 0,
    PTHREAD_PRIO_INHERIT___128 = 1,
    PTHREAD_PRIO_PROTECT___128 = 2
} ;
enum __anonenum_25043950___128 {
    PTHREAD_RWLOCK_PREFER_READER_NP___128 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___128 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___128 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___128 = 0
} ;
enum __anonenum_436439511___128 {
    PTHREAD_INHERIT_SCHED___128 = 0,
    PTHREAD_EXPLICIT_SCHED___128 = 1
} ;
enum __anonenum_998661166___128 {
    PTHREAD_SCOPE_SYSTEM___128 = 0,
    PTHREAD_SCOPE_PROCESS___128 = 1
} ;
enum __anonenum_146137331___128 {
    PTHREAD_PROCESS_PRIVATE___128 = 0,
    PTHREAD_PROCESS_SHARED___128 = 1
} ;
enum __anonenum_53396917___128 {
    PTHREAD_CANCEL_ENABLE___128 = 0,
    PTHREAD_CANCEL_DISABLE___128 = 1
} ;
enum __anonenum_904563783___128 {
    PTHREAD_CANCEL_DEFERRED___128 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___128 = 1
} ;
enum __anonenum_672052974___128 {
    SSL_CT_VALIDATION_PERMISSIVE___128 = 0,
    SSL_CT_VALIDATION_STRICT___128 = 1
} ;
struct prepare_pack_data {
   struct repository *r ;
   struct string_list *garbage ;
   int local ;
   struct multi_pack_index *m ;
};
struct delta_base_cache_key {
   struct packed_git *p ;
   off_t base_offset ;
};
struct delta_base_cache_entry {
   struct hashmap_entry ent ;
   struct delta_base_cache_key key ;
   struct list_head lru ;
   void *data ;
   unsigned long size ;
   enum object_type type ;
};
struct unpack_entry_stack_ent {
   off_t obj_offset ;
   off_t curpos ;
   unsigned long size ;
};
enum __anonenum_437032235___129 {
    _PC_LINK_MAX___129 = 0,
    _PC_MAX_CANON___129 = 1,
    _PC_MAX_INPUT___129 = 2,
    _PC_NAME_MAX___129 = 3,
    _PC_PATH_MAX___129 = 4,
    _PC_PIPE_BUF___129 = 5,
    _PC_CHOWN_RESTRICTED___129 = 6,
    _PC_NO_TRUNC___129 = 7,
    _PC_VDISABLE___129 = 8,
    _PC_SYNC_IO___129 = 9,
    _PC_ASYNC_IO___129 = 10,
    _PC_PRIO_IO___129 = 11,
    _PC_SOCK_MAXBUF___129 = 12,
    _PC_FILESIZEBITS___129 = 13,
    _PC_REC_INCR_XFER_SIZE___129 = 14,
    _PC_REC_MAX_XFER_SIZE___129 = 15,
    _PC_REC_MIN_XFER_SIZE___129 = 16,
    _PC_REC_XFER_ALIGN___129 = 17,
    _PC_ALLOC_SIZE_MIN___129 = 18,
    _PC_SYMLINK_MAX___129 = 19,
    _PC_2_SYMLINKS___129 = 20
} ;
enum __anonenum_315186338___129 {
    _SC_ARG_MAX___129 = 0,
    _SC_CHILD_MAX___129 = 1,
    _SC_CLK_TCK___129 = 2,
    _SC_NGROUPS_MAX___129 = 3,
    _SC_OPEN_MAX___129 = 4,
    _SC_STREAM_MAX___129 = 5,
    _SC_TZNAME_MAX___129 = 6,
    _SC_JOB_CONTROL___129 = 7,
    _SC_SAVED_IDS___129 = 8,
    _SC_REALTIME_SIGNALS___129 = 9,
    _SC_PRIORITY_SCHEDULING___129 = 10,
    _SC_TIMERS___129 = 11,
    _SC_ASYNCHRONOUS_IO___129 = 12,
    _SC_PRIORITIZED_IO___129 = 13,
    _SC_SYNCHRONIZED_IO___129 = 14,
    _SC_FSYNC___129 = 15,
    _SC_MAPPED_FILES___129 = 16,
    _SC_MEMLOCK___129 = 17,
    _SC_MEMLOCK_RANGE___129 = 18,
    _SC_MEMORY_PROTECTION___129 = 19,
    _SC_MESSAGE_PASSING___129 = 20,
    _SC_SEMAPHORES___129 = 21,
    _SC_SHARED_MEMORY_OBJECTS___129 = 22,
    _SC_AIO_LISTIO_MAX___129 = 23,
    _SC_AIO_MAX___129 = 24,
    _SC_AIO_PRIO_DELTA_MAX___129 = 25,
    _SC_DELAYTIMER_MAX___129 = 26,
    _SC_MQ_OPEN_MAX___129 = 27,
    _SC_MQ_PRIO_MAX___129 = 28,
    _SC_VERSION___129 = 29,
    _SC_PAGESIZE___129 = 30,
    _SC_RTSIG_MAX___129 = 31,
    _SC_SEM_NSEMS_MAX___129 = 32,
    _SC_SEM_VALUE_MAX___129 = 33,
    _SC_SIGQUEUE_MAX___129 = 34,
    _SC_TIMER_MAX___129 = 35,
    _SC_BC_BASE_MAX___129 = 36,
    _SC_BC_DIM_MAX___129 = 37,
    _SC_BC_SCALE_MAX___129 = 38,
    _SC_BC_STRING_MAX___129 = 39,
    _SC_COLL_WEIGHTS_MAX___129 = 40,
    _SC_EQUIV_CLASS_MAX___129 = 41,
    _SC_EXPR_NEST_MAX___129 = 42,
    _SC_LINE_MAX___129 = 43,
    _SC_RE_DUP_MAX___129 = 44,
    _SC_CHARCLASS_NAME_MAX___129 = 45,
    _SC_2_VERSION___129 = 46,
    _SC_2_C_BIND___129 = 47,
    _SC_2_C_DEV___129 = 48,
    _SC_2_FORT_DEV___129 = 49,
    _SC_2_FORT_RUN___129 = 50,
    _SC_2_SW_DEV___129 = 51,
    _SC_2_LOCALEDEF___129 = 52,
    _SC_PII___129 = 53,
    _SC_PII_XTI___129 = 54,
    _SC_PII_SOCKET___129 = 55,
    _SC_PII_INTERNET___129 = 56,
    _SC_PII_OSI___129 = 57,
    _SC_POLL___129 = 58,
    _SC_SELECT___129 = 59,
    _SC_UIO_MAXIOV___129 = 60,
    _SC_IOV_MAX___129 = 60,
    _SC_PII_INTERNET_STREAM___129 = 61,
    _SC_PII_INTERNET_DGRAM___129 = 62,
    _SC_PII_OSI_COTS___129 = 63,
    _SC_PII_OSI_CLTS___129 = 64,
    _SC_PII_OSI_M___129 = 65,
    _SC_T_IOV_MAX___129 = 66,
    _SC_THREADS___129 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___129 = 68,
    _SC_GETGR_R_SIZE_MAX___129 = 69,
    _SC_GETPW_R_SIZE_MAX___129 = 70,
    _SC_LOGIN_NAME_MAX___129 = 71,
    _SC_TTY_NAME_MAX___129 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___129 = 73,
    _SC_THREAD_KEYS_MAX___129 = 74,
    _SC_THREAD_STACK_MIN___129 = 75,
    _SC_THREAD_THREADS_MAX___129 = 76,
    _SC_THREAD_ATTR_STACKADDR___129 = 77,
    _SC_THREAD_ATTR_STACKSIZE___129 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___129 = 79,
    _SC_THREAD_PRIO_INHERIT___129 = 80,
    _SC_THREAD_PRIO_PROTECT___129 = 81,
    _SC_THREAD_PROCESS_SHARED___129 = 82,
    _SC_NPROCESSORS_CONF___129 = 83,
    _SC_NPROCESSORS_ONLN___129 = 84,
    _SC_PHYS_PAGES___129 = 85,
    _SC_AVPHYS_PAGES___129 = 86,
    _SC_ATEXIT_MAX___129 = 87,
    _SC_PASS_MAX___129 = 88,
    _SC_XOPEN_VERSION___129 = 89,
    _SC_XOPEN_XCU_VERSION___129 = 90,
    _SC_XOPEN_UNIX___129 = 91,
    _SC_XOPEN_CRYPT___129 = 92,
    _SC_XOPEN_ENH_I18N___129 = 93,
    _SC_XOPEN_SHM___129 = 94,
    _SC_2_CHAR_TERM___129 = 95,
    _SC_2_C_VERSION___129 = 96,
    _SC_2_UPE___129 = 97,
    _SC_XOPEN_XPG2___129 = 98,
    _SC_XOPEN_XPG3___129 = 99,
    _SC_XOPEN_XPG4___129 = 100,
    _SC_CHAR_BIT___129 = 101,
    _SC_CHAR_MAX___129 = 102,
    _SC_CHAR_MIN___129 = 103,
    _SC_INT_MAX___129 = 104,
    _SC_INT_MIN___129 = 105,
    _SC_LONG_BIT___129 = 106,
    _SC_WORD_BIT___129 = 107,
    _SC_MB_LEN_MAX___129 = 108,
    _SC_NZERO___129 = 109,
    _SC_SSIZE_MAX___129 = 110,
    _SC_SCHAR_MAX___129 = 111,
    _SC_SCHAR_MIN___129 = 112,
    _SC_SHRT_MAX___129 = 113,
    _SC_SHRT_MIN___129 = 114,
    _SC_UCHAR_MAX___129 = 115,
    _SC_UINT_MAX___129 = 116,
    _SC_ULONG_MAX___129 = 117,
    _SC_USHRT_MAX___129 = 118,
    _SC_NL_ARGMAX___129 = 119,
    _SC_NL_LANGMAX___129 = 120,
    _SC_NL_MSGMAX___129 = 121,
    _SC_NL_NMAX___129 = 122,
    _SC_NL_SETMAX___129 = 123,
    _SC_NL_TEXTMAX___129 = 124,
    _SC_XBS5_ILP32_OFF32___129 = 125,
    _SC_XBS5_ILP32_OFFBIG___129 = 126,
    _SC_XBS5_LP64_OFF64___129 = 127,
    _SC_XBS5_LPBIG_OFFBIG___129 = 128,
    _SC_XOPEN_LEGACY___129 = 129,
    _SC_XOPEN_REALTIME___129 = 130,
    _SC_XOPEN_REALTIME_THREADS___129 = 131,
    _SC_ADVISORY_INFO___129 = 132,
    _SC_BARRIERS___129 = 133,
    _SC_BASE___129 = 134,
    _SC_C_LANG_SUPPORT___129 = 135,
    _SC_C_LANG_SUPPORT_R___129 = 136,
    _SC_CLOCK_SELECTION___129 = 137,
    _SC_CPUTIME___129 = 138,
    _SC_THREAD_CPUTIME___129 = 139,
    _SC_DEVICE_IO___129 = 140,
    _SC_DEVICE_SPECIFIC___129 = 141,
    _SC_DEVICE_SPECIFIC_R___129 = 142,
    _SC_FD_MGMT___129 = 143,
    _SC_FIFO___129 = 144,
    _SC_PIPE___129 = 145,
    _SC_FILE_ATTRIBUTES___129 = 146,
    _SC_FILE_LOCKING___129 = 147,
    _SC_FILE_SYSTEM___129 = 148,
    _SC_MONOTONIC_CLOCK___129 = 149,
    _SC_MULTI_PROCESS___129 = 150,
    _SC_SINGLE_PROCESS___129 = 151,
    _SC_NETWORKING___129 = 152,
    _SC_READER_WRITER_LOCKS___129 = 153,
    _SC_SPIN_LOCKS___129 = 154,
    _SC_REGEXP___129 = 155,
    _SC_REGEX_VERSION___129 = 156,
    _SC_SHELL___129 = 157,
    _SC_SIGNALS___129 = 158,
    _SC_SPAWN___129 = 159,
    _SC_SPORADIC_SERVER___129 = 160,
    _SC_THREAD_SPORADIC_SERVER___129 = 161,
    _SC_SYSTEM_DATABASE___129 = 162,
    _SC_SYSTEM_DATABASE_R___129 = 163,
    _SC_TIMEOUTS___129 = 164,
    _SC_TYPED_MEMORY_OBJECTS___129 = 165,
    _SC_USER_GROUPS___129 = 166,
    _SC_USER_GROUPS_R___129 = 167,
    _SC_2_PBS___129 = 168,
    _SC_2_PBS_ACCOUNTING___129 = 169,
    _SC_2_PBS_LOCATE___129 = 170,
    _SC_2_PBS_MESSAGE___129 = 171,
    _SC_2_PBS_TRACK___129 = 172,
    _SC_SYMLOOP_MAX___129 = 173,
    _SC_STREAMS___129 = 174,
    _SC_2_PBS_CHECKPOINT___129 = 175,
    _SC_V6_ILP32_OFF32___129 = 176,
    _SC_V6_ILP32_OFFBIG___129 = 177,
    _SC_V6_LP64_OFF64___129 = 178,
    _SC_V6_LPBIG_OFFBIG___129 = 179,
    _SC_HOST_NAME_MAX___129 = 180,
    _SC_TRACE___129 = 181,
    _SC_TRACE_EVENT_FILTER___129 = 182,
    _SC_TRACE_INHERIT___129 = 183,
    _SC_TRACE_LOG___129 = 184,
    _SC_LEVEL1_ICACHE_SIZE___129 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___129 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___129 = 187,
    _SC_LEVEL1_DCACHE_SIZE___129 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___129 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___129 = 190,
    _SC_LEVEL2_CACHE_SIZE___129 = 191,
    _SC_LEVEL2_CACHE_ASSOC___129 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___129 = 193,
    _SC_LEVEL3_CACHE_SIZE___129 = 194,
    _SC_LEVEL3_CACHE_ASSOC___129 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___129 = 196,
    _SC_LEVEL4_CACHE_SIZE___129 = 197,
    _SC_LEVEL4_CACHE_ASSOC___129 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___129 = 199,
    _SC_IPV6___129 = 235,
    _SC_RAW_SOCKETS___129 = 236,
    _SC_V7_ILP32_OFF32___129 = 237,
    _SC_V7_ILP32_OFFBIG___129 = 238,
    _SC_V7_LP64_OFF64___129 = 239,
    _SC_V7_LPBIG_OFFBIG___129 = 240,
    _SC_SS_REPL_MAX___129 = 241,
    _SC_TRACE_EVENT_NAME_MAX___129 = 242,
    _SC_TRACE_NAME_MAX___129 = 243,
    _SC_TRACE_SYS_MAX___129 = 244,
    _SC_TRACE_USER_EVENT_MAX___129 = 245,
    _SC_XOPEN_STREAMS___129 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___129 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___129 = 248
} ;
enum __anonenum_875524036___129 {
    _CS_PATH___129 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___129 = 1,
    _CS_GNU_LIBC_VERSION___129 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___129 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___129 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___129 = 5,
    _CS_LFS_CFLAGS___129 = 1000,
    _CS_LFS_LDFLAGS___129 = 1001,
    _CS_LFS_LIBS___129 = 1002,
    _CS_LFS_LINTFLAGS___129 = 1003,
    _CS_LFS64_CFLAGS___129 = 1004,
    _CS_LFS64_LDFLAGS___129 = 1005,
    _CS_LFS64_LIBS___129 = 1006,
    _CS_LFS64_LINTFLAGS___129 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___129 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___129 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___129 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___129 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___129 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___129 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___129 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___129 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___129 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___129 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___129 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___129 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___129 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___129 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___129 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___129 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___129 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___129 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___129 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___129 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___129 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___129 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___129 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___129 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___129 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___129 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___129 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___129 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___129 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___129 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___129 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___129 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___129 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___129 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___129 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___129 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___129 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___129 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___129 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___129 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___129 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___129 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___129 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___129 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___129 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___129 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___129 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___129 = 1147,
    _CS_V6_ENV___129 = 1148,
    _CS_V7_ENV___129 = 1149
} ;
enum __anonenum_513775621___129 {
    DT_UNKNOWN___129 = 0,
    DT_FIFO___129 = 1,
    DT_CHR___129 = 2,
    DT_DIR___129 = 4,
    DT_BLK___129 = 6,
    DT_REG___129 = 8,
    DT_LNK___129 = 10,
    DT_SOCK___129 = 12,
    DT_WHT___129 = 14
} ;
enum __anonenum_77002343___129 {
    SI_ASYNCNL___129 = -60,
    SI_TKILL___129 = -6,
    SI_SIGIO___129 = -5,
    SI_ASYNCIO___129 = -4,
    SI_MESGQ___129 = -3,
    SI_TIMER___129 = -2,
    SI_QUEUE___129 = -1,
    SI_USER___129 = 0,
    SI_KERNEL___129 = 128
} ;
enum __anonenum_131038172___129 {
    ILL_ILLOPC___129 = 1,
    ILL_ILLOPN___129 = 2,
    ILL_ILLADR___129 = 3,
    ILL_ILLTRP___129 = 4,
    ILL_PRVOPC___129 = 5,
    ILL_PRVREG___129 = 6,
    ILL_COPROC___129 = 7,
    ILL_BADSTK___129 = 8
} ;
enum __anonenum_452038093___129 {
    FPE_INTDIV___129 = 1,
    FPE_INTOVF___129 = 2,
    FPE_FLTDIV___129 = 3,
    FPE_FLTOVF___129 = 4,
    FPE_FLTUND___129 = 5,
    FPE_FLTRES___129 = 6,
    FPE_FLTINV___129 = 7,
    FPE_FLTSUB___129 = 8
} ;
enum __anonenum_30976155___129 {
    SEGV_MAPERR___129 = 1,
    SEGV_ACCERR___129 = 2,
    SEGV_BNDERR___129 = 3,
    SEGV_PKUERR___129 = 4
} ;
enum __anonenum_1036286214___129 {
    BUS_ADRALN___129 = 1,
    BUS_ADRERR___129 = 2,
    BUS_OBJERR___129 = 3,
    BUS_MCEERR_AR___129 = 4,
    BUS_MCEERR_AO___129 = 5
} ;
enum __anonenum_493465559___129 {
    TRAP_BRKPT___129 = 1,
    TRAP_TRACE___129 = 2
} ;
enum __anonenum_23175539___129 {
    CLD_EXITED___129 = 1,
    CLD_KILLED___129 = 2,
    CLD_DUMPED___129 = 3,
    CLD_TRAPPED___129 = 4,
    CLD_STOPPED___129 = 5,
    CLD_CONTINUED___129 = 6
} ;
enum __anonenum_111643124___129 {
    POLL_IN___129 = 1,
    POLL_OUT___129 = 2,
    POLL_MSG___129 = 3,
    POLL_ERR___129 = 4,
    POLL_PRI___129 = 5,
    POLL_HUP___129 = 6
} ;
enum __anonenum_852341087___129 {
    SIGEV_SIGNAL___129 = 0,
    SIGEV_NONE___129 = 1,
    SIGEV_THREAD___129 = 2,
    SIGEV_THREAD_ID___129 = 4
} ;
enum __anonenum_451154152___129 {
    REG_R8___129 = 0,
    REG_R9___129 = 1,
    REG_R10___129 = 2,
    REG_R11___129 = 3,
    REG_R12___129 = 4,
    REG_R13___129 = 5,
    REG_R14___129 = 6,
    REG_R15___129 = 7,
    REG_RDI___129 = 8,
    REG_RSI___129 = 9,
    REG_RBP___129 = 10,
    REG_RBX___129 = 11,
    REG_RDX___129 = 12,
    REG_RAX___129 = 13,
    REG_RCX___129 = 14,
    REG_RSP___129 = 15,
    REG_RIP___129 = 16,
    REG_EFL___129 = 17,
    REG_CSGSFS___129 = 18,
    REG_ERR___129 = 19,
    REG_TRAPNO___129 = 20,
    REG_OLDMASK___129 = 21,
    REG_CR2___129 = 22
} ;
enum __anonenum_57186863___129 {
    SS_ONSTACK___129 = 1,
    SS_DISABLE___129 = 2
} ;
enum __anonenum_83571709___129 {
    MSG_OOB___129 = 1,
    MSG_PEEK___129 = 2,
    MSG_DONTROUTE___129 = 4,
    MSG_TRYHARD___129 = 4,
    MSG_CTRUNC___129 = 8,
    MSG_PROXY___129 = 16,
    MSG_TRUNC___129 = 32,
    MSG_DONTWAIT___129 = 64,
    MSG_EOR___129 = 128,
    MSG_WAITALL___129 = 256,
    MSG_FIN___129 = 512,
    MSG_SYN___129 = 1024,
    MSG_CONFIRM___129 = 2048,
    MSG_RST___129 = 4096,
    MSG_ERRQUEUE___129 = 8192,
    MSG_NOSIGNAL___129 = 16384,
    MSG_MORE___129 = 32768,
    MSG_WAITFORONE___129 = 65536,
    MSG_BATCH___129 = 262144,
    MSG_ZEROCOPY___129 = 67108864,
    MSG_FASTOPEN___129 = 536870912,
    MSG_CMSG_CLOEXEC___129 = 1073741824
} ;
enum __anonenum_617082774___129 {
    SCM_RIGHTS___129 = 1,
    SCM_CREDENTIALS___129 = 2
} ;
enum __anonenum_606441560___129 {
    SHUT_RD___129 = 0,
    SHUT_WR___129 = 1,
    SHUT_RDWR___129 = 2
} ;
enum __anonenum_681669233___129 {
    IPPROTO_IP___129 = 0,
    IPPROTO_ICMP___129 = 1,
    IPPROTO_IGMP___129 = 2,
    IPPROTO_IPIP___129 = 4,
    IPPROTO_TCP___129 = 6,
    IPPROTO_EGP___129 = 8,
    IPPROTO_PUP___129 = 12,
    IPPROTO_UDP___129 = 17,
    IPPROTO_IDP___129 = 22,
    IPPROTO_TP___129 = 29,
    IPPROTO_DCCP___129 = 33,
    IPPROTO_IPV6___129 = 41,
    IPPROTO_RSVP___129 = 46,
    IPPROTO_GRE___129 = 47,
    IPPROTO_ESP___129 = 50,
    IPPROTO_AH___129 = 51,
    IPPROTO_MTP___129 = 92,
    IPPROTO_BEETPH___129 = 94,
    IPPROTO_ENCAP___129 = 98,
    IPPROTO_PIM___129 = 103,
    IPPROTO_COMP___129 = 108,
    IPPROTO_SCTP___129 = 132,
    IPPROTO_UDPLITE___129 = 136,
    IPPROTO_MPLS___129 = 137,
    IPPROTO_RAW___129 = 255,
    IPPROTO_MAX___129 = 256
} ;
enum __anonenum_218739988___129 {
    IPPROTO_HOPOPTS___129 = 0,
    IPPROTO_ROUTING___129 = 43,
    IPPROTO_FRAGMENT___129 = 44,
    IPPROTO_ICMPV6___129 = 58,
    IPPROTO_NONE___129 = 59,
    IPPROTO_DSTOPTS___129 = 60,
    IPPROTO_MH___129 = 135
} ;
enum __anonenum_662268580___129 {
    IPPORT_ECHO___129 = 7,
    IPPORT_DISCARD___129 = 9,
    IPPORT_SYSTAT___129 = 11,
    IPPORT_DAYTIME___129 = 13,
    IPPORT_NETSTAT___129 = 15,
    IPPORT_FTP___129 = 21,
    IPPORT_TELNET___129 = 23,
    IPPORT_SMTP___129 = 25,
    IPPORT_TIMESERVER___129 = 37,
    IPPORT_NAMESERVER___129 = 42,
    IPPORT_WHOIS___129 = 43,
    IPPORT_MTP___129 = 57,
    IPPORT_TFTP___129 = 69,
    IPPORT_RJE___129 = 77,
    IPPORT_FINGER___129 = 79,
    IPPORT_TTYLINK___129 = 87,
    IPPORT_SUPDUP___129 = 95,
    IPPORT_EXECSERVER___129 = 512,
    IPPORT_LOGINSERVER___129 = 513,
    IPPORT_CMDSERVER___129 = 514,
    IPPORT_EFSSERVER___129 = 520,
    IPPORT_BIFFUDP___129 = 512,
    IPPORT_WHOSERVER___129 = 513,
    IPPORT_ROUTESERVER___129 = 520,
    IPPORT_RESERVED___129 = 1024,
    IPPORT_USERRESERVED___129 = 5000
} ;
enum __anonenum_788308992___129 {
    TCP_ESTABLISHED___129 = 1,
    TCP_SYN_SENT___129 = 2,
    TCP_SYN_RECV___129 = 3,
    TCP_FIN_WAIT1___129 = 4,
    TCP_FIN_WAIT2___129 = 5,
    TCP_TIME_WAIT___129 = 6,
    TCP_CLOSE___129 = 7,
    TCP_CLOSE_WAIT___129 = 8,
    TCP_LAST_ACK___129 = 9,
    TCP_LISTEN___129 = 10,
    TCP_CLOSING___129 = 11
} ;
enum __anonenum_221125648___129 {
    TCP_NO_QUEUE___129 = 0,
    TCP_RECV_QUEUE___129 = 1,
    TCP_SEND_QUEUE___129 = 2,
    TCP_QUEUES_NR___129 = 3
} ;
enum __anonenum_34415463___129 {
    PTHREAD_CREATE_JOINABLE___129 = 0,
    PTHREAD_CREATE_DETACHED___129 = 1
} ;
enum __anonenum_303612439___129 {
    PTHREAD_MUTEX_TIMED_NP___129 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___129 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___129 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___129 = 3,
    PTHREAD_MUTEX_NORMAL___129 = 0,
    PTHREAD_MUTEX_RECURSIVE___129 = 1,
    PTHREAD_MUTEX_ERRORCHECK___129 = 2,
    PTHREAD_MUTEX_DEFAULT___129 = 0,
    PTHREAD_MUTEX_FAST_NP___129 = 0
} ;
enum __anonenum_931900394___129 {
    PTHREAD_MUTEX_STALLED___129 = 0,
    PTHREAD_MUTEX_STALLED_NP___129 = 0,
    PTHREAD_MUTEX_ROBUST___129 = 1,
    PTHREAD_MUTEX_ROBUST_NP___129 = 1
} ;
enum __anonenum_205214487___129 {
    PTHREAD_PRIO_NONE___129 = 0,
    PTHREAD_PRIO_INHERIT___129 = 1,
    PTHREAD_PRIO_PROTECT___129 = 2
} ;
enum __anonenum_25043950___129 {
    PTHREAD_RWLOCK_PREFER_READER_NP___129 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___129 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___129 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___129 = 0
} ;
enum __anonenum_436439511___129 {
    PTHREAD_INHERIT_SCHED___129 = 0,
    PTHREAD_EXPLICIT_SCHED___129 = 1
} ;
enum __anonenum_998661166___129 {
    PTHREAD_SCOPE_SYSTEM___129 = 0,
    PTHREAD_SCOPE_PROCESS___129 = 1
} ;
enum __anonenum_146137331___129 {
    PTHREAD_PROCESS_PRIVATE___129 = 0,
    PTHREAD_PROCESS_SHARED___129 = 1
} ;
enum __anonenum_53396917___129 {
    PTHREAD_CANCEL_ENABLE___129 = 0,
    PTHREAD_CANCEL_DISABLE___129 = 1
} ;
enum __anonenum_904563783___129 {
    PTHREAD_CANCEL_DEFERRED___129 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___129 = 1
} ;
enum __anonenum_672052974___129 {
    SSL_CT_VALIDATION_PERMISSIVE___129 = 0,
    SSL_CT_VALIDATION_STRICT___129 = 1
} ;
struct pager_command_config_data {
   char const   *cmd ;
   int want ;
   char *value ;
};
enum __anonenum_437032235___130 {
    _PC_LINK_MAX___130 = 0,
    _PC_MAX_CANON___130 = 1,
    _PC_MAX_INPUT___130 = 2,
    _PC_NAME_MAX___130 = 3,
    _PC_PATH_MAX___130 = 4,
    _PC_PIPE_BUF___130 = 5,
    _PC_CHOWN_RESTRICTED___130 = 6,
    _PC_NO_TRUNC___130 = 7,
    _PC_VDISABLE___130 = 8,
    _PC_SYNC_IO___130 = 9,
    _PC_ASYNC_IO___130 = 10,
    _PC_PRIO_IO___130 = 11,
    _PC_SOCK_MAXBUF___130 = 12,
    _PC_FILESIZEBITS___130 = 13,
    _PC_REC_INCR_XFER_SIZE___130 = 14,
    _PC_REC_MAX_XFER_SIZE___130 = 15,
    _PC_REC_MIN_XFER_SIZE___130 = 16,
    _PC_REC_XFER_ALIGN___130 = 17,
    _PC_ALLOC_SIZE_MIN___130 = 18,
    _PC_SYMLINK_MAX___130 = 19,
    _PC_2_SYMLINKS___130 = 20
} ;
enum __anonenum_315186338___130 {
    _SC_ARG_MAX___130 = 0,
    _SC_CHILD_MAX___130 = 1,
    _SC_CLK_TCK___130 = 2,
    _SC_NGROUPS_MAX___130 = 3,
    _SC_OPEN_MAX___130 = 4,
    _SC_STREAM_MAX___130 = 5,
    _SC_TZNAME_MAX___130 = 6,
    _SC_JOB_CONTROL___130 = 7,
    _SC_SAVED_IDS___130 = 8,
    _SC_REALTIME_SIGNALS___130 = 9,
    _SC_PRIORITY_SCHEDULING___130 = 10,
    _SC_TIMERS___130 = 11,
    _SC_ASYNCHRONOUS_IO___130 = 12,
    _SC_PRIORITIZED_IO___130 = 13,
    _SC_SYNCHRONIZED_IO___130 = 14,
    _SC_FSYNC___130 = 15,
    _SC_MAPPED_FILES___130 = 16,
    _SC_MEMLOCK___130 = 17,
    _SC_MEMLOCK_RANGE___130 = 18,
    _SC_MEMORY_PROTECTION___130 = 19,
    _SC_MESSAGE_PASSING___130 = 20,
    _SC_SEMAPHORES___130 = 21,
    _SC_SHARED_MEMORY_OBJECTS___130 = 22,
    _SC_AIO_LISTIO_MAX___130 = 23,
    _SC_AIO_MAX___130 = 24,
    _SC_AIO_PRIO_DELTA_MAX___130 = 25,
    _SC_DELAYTIMER_MAX___130 = 26,
    _SC_MQ_OPEN_MAX___130 = 27,
    _SC_MQ_PRIO_MAX___130 = 28,
    _SC_VERSION___130 = 29,
    _SC_PAGESIZE___130 = 30,
    _SC_RTSIG_MAX___130 = 31,
    _SC_SEM_NSEMS_MAX___130 = 32,
    _SC_SEM_VALUE_MAX___130 = 33,
    _SC_SIGQUEUE_MAX___130 = 34,
    _SC_TIMER_MAX___130 = 35,
    _SC_BC_BASE_MAX___130 = 36,
    _SC_BC_DIM_MAX___130 = 37,
    _SC_BC_SCALE_MAX___130 = 38,
    _SC_BC_STRING_MAX___130 = 39,
    _SC_COLL_WEIGHTS_MAX___130 = 40,
    _SC_EQUIV_CLASS_MAX___130 = 41,
    _SC_EXPR_NEST_MAX___130 = 42,
    _SC_LINE_MAX___130 = 43,
    _SC_RE_DUP_MAX___130 = 44,
    _SC_CHARCLASS_NAME_MAX___130 = 45,
    _SC_2_VERSION___130 = 46,
    _SC_2_C_BIND___130 = 47,
    _SC_2_C_DEV___130 = 48,
    _SC_2_FORT_DEV___130 = 49,
    _SC_2_FORT_RUN___130 = 50,
    _SC_2_SW_DEV___130 = 51,
    _SC_2_LOCALEDEF___130 = 52,
    _SC_PII___130 = 53,
    _SC_PII_XTI___130 = 54,
    _SC_PII_SOCKET___130 = 55,
    _SC_PII_INTERNET___130 = 56,
    _SC_PII_OSI___130 = 57,
    _SC_POLL___130 = 58,
    _SC_SELECT___130 = 59,
    _SC_UIO_MAXIOV___130 = 60,
    _SC_IOV_MAX___130 = 60,
    _SC_PII_INTERNET_STREAM___130 = 61,
    _SC_PII_INTERNET_DGRAM___130 = 62,
    _SC_PII_OSI_COTS___130 = 63,
    _SC_PII_OSI_CLTS___130 = 64,
    _SC_PII_OSI_M___130 = 65,
    _SC_T_IOV_MAX___130 = 66,
    _SC_THREADS___130 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___130 = 68,
    _SC_GETGR_R_SIZE_MAX___130 = 69,
    _SC_GETPW_R_SIZE_MAX___130 = 70,
    _SC_LOGIN_NAME_MAX___130 = 71,
    _SC_TTY_NAME_MAX___130 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___130 = 73,
    _SC_THREAD_KEYS_MAX___130 = 74,
    _SC_THREAD_STACK_MIN___130 = 75,
    _SC_THREAD_THREADS_MAX___130 = 76,
    _SC_THREAD_ATTR_STACKADDR___130 = 77,
    _SC_THREAD_ATTR_STACKSIZE___130 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___130 = 79,
    _SC_THREAD_PRIO_INHERIT___130 = 80,
    _SC_THREAD_PRIO_PROTECT___130 = 81,
    _SC_THREAD_PROCESS_SHARED___130 = 82,
    _SC_NPROCESSORS_CONF___130 = 83,
    _SC_NPROCESSORS_ONLN___130 = 84,
    _SC_PHYS_PAGES___130 = 85,
    _SC_AVPHYS_PAGES___130 = 86,
    _SC_ATEXIT_MAX___130 = 87,
    _SC_PASS_MAX___130 = 88,
    _SC_XOPEN_VERSION___130 = 89,
    _SC_XOPEN_XCU_VERSION___130 = 90,
    _SC_XOPEN_UNIX___130 = 91,
    _SC_XOPEN_CRYPT___130 = 92,
    _SC_XOPEN_ENH_I18N___130 = 93,
    _SC_XOPEN_SHM___130 = 94,
    _SC_2_CHAR_TERM___130 = 95,
    _SC_2_C_VERSION___130 = 96,
    _SC_2_UPE___130 = 97,
    _SC_XOPEN_XPG2___130 = 98,
    _SC_XOPEN_XPG3___130 = 99,
    _SC_XOPEN_XPG4___130 = 100,
    _SC_CHAR_BIT___130 = 101,
    _SC_CHAR_MAX___130 = 102,
    _SC_CHAR_MIN___130 = 103,
    _SC_INT_MAX___130 = 104,
    _SC_INT_MIN___130 = 105,
    _SC_LONG_BIT___130 = 106,
    _SC_WORD_BIT___130 = 107,
    _SC_MB_LEN_MAX___130 = 108,
    _SC_NZERO___130 = 109,
    _SC_SSIZE_MAX___130 = 110,
    _SC_SCHAR_MAX___130 = 111,
    _SC_SCHAR_MIN___130 = 112,
    _SC_SHRT_MAX___130 = 113,
    _SC_SHRT_MIN___130 = 114,
    _SC_UCHAR_MAX___130 = 115,
    _SC_UINT_MAX___130 = 116,
    _SC_ULONG_MAX___130 = 117,
    _SC_USHRT_MAX___130 = 118,
    _SC_NL_ARGMAX___130 = 119,
    _SC_NL_LANGMAX___130 = 120,
    _SC_NL_MSGMAX___130 = 121,
    _SC_NL_NMAX___130 = 122,
    _SC_NL_SETMAX___130 = 123,
    _SC_NL_TEXTMAX___130 = 124,
    _SC_XBS5_ILP32_OFF32___130 = 125,
    _SC_XBS5_ILP32_OFFBIG___130 = 126,
    _SC_XBS5_LP64_OFF64___130 = 127,
    _SC_XBS5_LPBIG_OFFBIG___130 = 128,
    _SC_XOPEN_LEGACY___130 = 129,
    _SC_XOPEN_REALTIME___130 = 130,
    _SC_XOPEN_REALTIME_THREADS___130 = 131,
    _SC_ADVISORY_INFO___130 = 132,
    _SC_BARRIERS___130 = 133,
    _SC_BASE___130 = 134,
    _SC_C_LANG_SUPPORT___130 = 135,
    _SC_C_LANG_SUPPORT_R___130 = 136,
    _SC_CLOCK_SELECTION___130 = 137,
    _SC_CPUTIME___130 = 138,
    _SC_THREAD_CPUTIME___130 = 139,
    _SC_DEVICE_IO___130 = 140,
    _SC_DEVICE_SPECIFIC___130 = 141,
    _SC_DEVICE_SPECIFIC_R___130 = 142,
    _SC_FD_MGMT___130 = 143,
    _SC_FIFO___130 = 144,
    _SC_PIPE___130 = 145,
    _SC_FILE_ATTRIBUTES___130 = 146,
    _SC_FILE_LOCKING___130 = 147,
    _SC_FILE_SYSTEM___130 = 148,
    _SC_MONOTONIC_CLOCK___130 = 149,
    _SC_MULTI_PROCESS___130 = 150,
    _SC_SINGLE_PROCESS___130 = 151,
    _SC_NETWORKING___130 = 152,
    _SC_READER_WRITER_LOCKS___130 = 153,
    _SC_SPIN_LOCKS___130 = 154,
    _SC_REGEXP___130 = 155,
    _SC_REGEX_VERSION___130 = 156,
    _SC_SHELL___130 = 157,
    _SC_SIGNALS___130 = 158,
    _SC_SPAWN___130 = 159,
    _SC_SPORADIC_SERVER___130 = 160,
    _SC_THREAD_SPORADIC_SERVER___130 = 161,
    _SC_SYSTEM_DATABASE___130 = 162,
    _SC_SYSTEM_DATABASE_R___130 = 163,
    _SC_TIMEOUTS___130 = 164,
    _SC_TYPED_MEMORY_OBJECTS___130 = 165,
    _SC_USER_GROUPS___130 = 166,
    _SC_USER_GROUPS_R___130 = 167,
    _SC_2_PBS___130 = 168,
    _SC_2_PBS_ACCOUNTING___130 = 169,
    _SC_2_PBS_LOCATE___130 = 170,
    _SC_2_PBS_MESSAGE___130 = 171,
    _SC_2_PBS_TRACK___130 = 172,
    _SC_SYMLOOP_MAX___130 = 173,
    _SC_STREAMS___130 = 174,
    _SC_2_PBS_CHECKPOINT___130 = 175,
    _SC_V6_ILP32_OFF32___130 = 176,
    _SC_V6_ILP32_OFFBIG___130 = 177,
    _SC_V6_LP64_OFF64___130 = 178,
    _SC_V6_LPBIG_OFFBIG___130 = 179,
    _SC_HOST_NAME_MAX___130 = 180,
    _SC_TRACE___130 = 181,
    _SC_TRACE_EVENT_FILTER___130 = 182,
    _SC_TRACE_INHERIT___130 = 183,
    _SC_TRACE_LOG___130 = 184,
    _SC_LEVEL1_ICACHE_SIZE___130 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___130 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___130 = 187,
    _SC_LEVEL1_DCACHE_SIZE___130 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___130 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___130 = 190,
    _SC_LEVEL2_CACHE_SIZE___130 = 191,
    _SC_LEVEL2_CACHE_ASSOC___130 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___130 = 193,
    _SC_LEVEL3_CACHE_SIZE___130 = 194,
    _SC_LEVEL3_CACHE_ASSOC___130 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___130 = 196,
    _SC_LEVEL4_CACHE_SIZE___130 = 197,
    _SC_LEVEL4_CACHE_ASSOC___130 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___130 = 199,
    _SC_IPV6___130 = 235,
    _SC_RAW_SOCKETS___130 = 236,
    _SC_V7_ILP32_OFF32___130 = 237,
    _SC_V7_ILP32_OFFBIG___130 = 238,
    _SC_V7_LP64_OFF64___130 = 239,
    _SC_V7_LPBIG_OFFBIG___130 = 240,
    _SC_SS_REPL_MAX___130 = 241,
    _SC_TRACE_EVENT_NAME_MAX___130 = 242,
    _SC_TRACE_NAME_MAX___130 = 243,
    _SC_TRACE_SYS_MAX___130 = 244,
    _SC_TRACE_USER_EVENT_MAX___130 = 245,
    _SC_XOPEN_STREAMS___130 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___130 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___130 = 248
} ;
enum __anonenum_875524036___130 {
    _CS_PATH___130 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___130 = 1,
    _CS_GNU_LIBC_VERSION___130 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___130 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___130 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___130 = 5,
    _CS_LFS_CFLAGS___130 = 1000,
    _CS_LFS_LDFLAGS___130 = 1001,
    _CS_LFS_LIBS___130 = 1002,
    _CS_LFS_LINTFLAGS___130 = 1003,
    _CS_LFS64_CFLAGS___130 = 1004,
    _CS_LFS64_LDFLAGS___130 = 1005,
    _CS_LFS64_LIBS___130 = 1006,
    _CS_LFS64_LINTFLAGS___130 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___130 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___130 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___130 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___130 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___130 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___130 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___130 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___130 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___130 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___130 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___130 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___130 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___130 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___130 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___130 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___130 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___130 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___130 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___130 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___130 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___130 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___130 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___130 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___130 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___130 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___130 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___130 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___130 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___130 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___130 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___130 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___130 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___130 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___130 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___130 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___130 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___130 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___130 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___130 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___130 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___130 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___130 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___130 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___130 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___130 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___130 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___130 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___130 = 1147,
    _CS_V6_ENV___130 = 1148,
    _CS_V7_ENV___130 = 1149
} ;
enum __anonenum_513775621___130 {
    DT_UNKNOWN___130 = 0,
    DT_FIFO___130 = 1,
    DT_CHR___130 = 2,
    DT_DIR___130 = 4,
    DT_BLK___130 = 6,
    DT_REG___130 = 8,
    DT_LNK___130 = 10,
    DT_SOCK___130 = 12,
    DT_WHT___130 = 14
} ;
enum __anonenum_77002343___130 {
    SI_ASYNCNL___130 = -60,
    SI_TKILL___130 = -6,
    SI_SIGIO___130 = -5,
    SI_ASYNCIO___130 = -4,
    SI_MESGQ___130 = -3,
    SI_TIMER___130 = -2,
    SI_QUEUE___130 = -1,
    SI_USER___130 = 0,
    SI_KERNEL___130 = 128
} ;
enum __anonenum_131038172___130 {
    ILL_ILLOPC___130 = 1,
    ILL_ILLOPN___130 = 2,
    ILL_ILLADR___130 = 3,
    ILL_ILLTRP___130 = 4,
    ILL_PRVOPC___130 = 5,
    ILL_PRVREG___130 = 6,
    ILL_COPROC___130 = 7,
    ILL_BADSTK___130 = 8
} ;
enum __anonenum_452038093___130 {
    FPE_INTDIV___130 = 1,
    FPE_INTOVF___130 = 2,
    FPE_FLTDIV___130 = 3,
    FPE_FLTOVF___130 = 4,
    FPE_FLTUND___130 = 5,
    FPE_FLTRES___130 = 6,
    FPE_FLTINV___130 = 7,
    FPE_FLTSUB___130 = 8
} ;
enum __anonenum_30976155___130 {
    SEGV_MAPERR___130 = 1,
    SEGV_ACCERR___130 = 2,
    SEGV_BNDERR___130 = 3,
    SEGV_PKUERR___130 = 4
} ;
enum __anonenum_1036286214___130 {
    BUS_ADRALN___130 = 1,
    BUS_ADRERR___130 = 2,
    BUS_OBJERR___130 = 3,
    BUS_MCEERR_AR___130 = 4,
    BUS_MCEERR_AO___130 = 5
} ;
enum __anonenum_493465559___130 {
    TRAP_BRKPT___130 = 1,
    TRAP_TRACE___130 = 2
} ;
enum __anonenum_23175539___130 {
    CLD_EXITED___130 = 1,
    CLD_KILLED___130 = 2,
    CLD_DUMPED___130 = 3,
    CLD_TRAPPED___130 = 4,
    CLD_STOPPED___130 = 5,
    CLD_CONTINUED___130 = 6
} ;
enum __anonenum_111643124___130 {
    POLL_IN___130 = 1,
    POLL_OUT___130 = 2,
    POLL_MSG___130 = 3,
    POLL_ERR___130 = 4,
    POLL_PRI___130 = 5,
    POLL_HUP___130 = 6
} ;
enum __anonenum_852341087___130 {
    SIGEV_SIGNAL___130 = 0,
    SIGEV_NONE___130 = 1,
    SIGEV_THREAD___130 = 2,
    SIGEV_THREAD_ID___130 = 4
} ;
enum __anonenum_451154152___130 {
    REG_R8___130 = 0,
    REG_R9___130 = 1,
    REG_R10___130 = 2,
    REG_R11___130 = 3,
    REG_R12___130 = 4,
    REG_R13___130 = 5,
    REG_R14___130 = 6,
    REG_R15___130 = 7,
    REG_RDI___130 = 8,
    REG_RSI___130 = 9,
    REG_RBP___130 = 10,
    REG_RBX___130 = 11,
    REG_RDX___130 = 12,
    REG_RAX___130 = 13,
    REG_RCX___130 = 14,
    REG_RSP___130 = 15,
    REG_RIP___130 = 16,
    REG_EFL___130 = 17,
    REG_CSGSFS___130 = 18,
    REG_ERR___130 = 19,
    REG_TRAPNO___130 = 20,
    REG_OLDMASK___130 = 21,
    REG_CR2___130 = 22
} ;
enum __anonenum_57186863___130 {
    SS_ONSTACK___130 = 1,
    SS_DISABLE___130 = 2
} ;
enum __anonenum_83571709___130 {
    MSG_OOB___130 = 1,
    MSG_PEEK___130 = 2,
    MSG_DONTROUTE___130 = 4,
    MSG_TRYHARD___130 = 4,
    MSG_CTRUNC___130 = 8,
    MSG_PROXY___130 = 16,
    MSG_TRUNC___130 = 32,
    MSG_DONTWAIT___130 = 64,
    MSG_EOR___130 = 128,
    MSG_WAITALL___130 = 256,
    MSG_FIN___130 = 512,
    MSG_SYN___130 = 1024,
    MSG_CONFIRM___130 = 2048,
    MSG_RST___130 = 4096,
    MSG_ERRQUEUE___130 = 8192,
    MSG_NOSIGNAL___130 = 16384,
    MSG_MORE___130 = 32768,
    MSG_WAITFORONE___130 = 65536,
    MSG_BATCH___130 = 262144,
    MSG_ZEROCOPY___130 = 67108864,
    MSG_FASTOPEN___130 = 536870912,
    MSG_CMSG_CLOEXEC___130 = 1073741824
} ;
enum __anonenum_617082774___130 {
    SCM_RIGHTS___130 = 1,
    SCM_CREDENTIALS___130 = 2
} ;
enum __anonenum_606441560___130 {
    SHUT_RD___130 = 0,
    SHUT_WR___130 = 1,
    SHUT_RDWR___130 = 2
} ;
enum __anonenum_681669233___130 {
    IPPROTO_IP___130 = 0,
    IPPROTO_ICMP___130 = 1,
    IPPROTO_IGMP___130 = 2,
    IPPROTO_IPIP___130 = 4,
    IPPROTO_TCP___130 = 6,
    IPPROTO_EGP___130 = 8,
    IPPROTO_PUP___130 = 12,
    IPPROTO_UDP___130 = 17,
    IPPROTO_IDP___130 = 22,
    IPPROTO_TP___130 = 29,
    IPPROTO_DCCP___130 = 33,
    IPPROTO_IPV6___130 = 41,
    IPPROTO_RSVP___130 = 46,
    IPPROTO_GRE___130 = 47,
    IPPROTO_ESP___130 = 50,
    IPPROTO_AH___130 = 51,
    IPPROTO_MTP___130 = 92,
    IPPROTO_BEETPH___130 = 94,
    IPPROTO_ENCAP___130 = 98,
    IPPROTO_PIM___130 = 103,
    IPPROTO_COMP___130 = 108,
    IPPROTO_SCTP___130 = 132,
    IPPROTO_UDPLITE___130 = 136,
    IPPROTO_MPLS___130 = 137,
    IPPROTO_RAW___130 = 255,
    IPPROTO_MAX___130 = 256
} ;
enum __anonenum_218739988___130 {
    IPPROTO_HOPOPTS___130 = 0,
    IPPROTO_ROUTING___130 = 43,
    IPPROTO_FRAGMENT___130 = 44,
    IPPROTO_ICMPV6___130 = 58,
    IPPROTO_NONE___130 = 59,
    IPPROTO_DSTOPTS___130 = 60,
    IPPROTO_MH___130 = 135
} ;
enum __anonenum_662268580___130 {
    IPPORT_ECHO___130 = 7,
    IPPORT_DISCARD___130 = 9,
    IPPORT_SYSTAT___130 = 11,
    IPPORT_DAYTIME___130 = 13,
    IPPORT_NETSTAT___130 = 15,
    IPPORT_FTP___130 = 21,
    IPPORT_TELNET___130 = 23,
    IPPORT_SMTP___130 = 25,
    IPPORT_TIMESERVER___130 = 37,
    IPPORT_NAMESERVER___130 = 42,
    IPPORT_WHOIS___130 = 43,
    IPPORT_MTP___130 = 57,
    IPPORT_TFTP___130 = 69,
    IPPORT_RJE___130 = 77,
    IPPORT_FINGER___130 = 79,
    IPPORT_TTYLINK___130 = 87,
    IPPORT_SUPDUP___130 = 95,
    IPPORT_EXECSERVER___130 = 512,
    IPPORT_LOGINSERVER___130 = 513,
    IPPORT_CMDSERVER___130 = 514,
    IPPORT_EFSSERVER___130 = 520,
    IPPORT_BIFFUDP___130 = 512,
    IPPORT_WHOSERVER___130 = 513,
    IPPORT_ROUTESERVER___130 = 520,
    IPPORT_RESERVED___130 = 1024,
    IPPORT_USERRESERVED___130 = 5000
} ;
enum __anonenum_788308992___130 {
    TCP_ESTABLISHED___130 = 1,
    TCP_SYN_SENT___130 = 2,
    TCP_SYN_RECV___130 = 3,
    TCP_FIN_WAIT1___130 = 4,
    TCP_FIN_WAIT2___130 = 5,
    TCP_TIME_WAIT___130 = 6,
    TCP_CLOSE___130 = 7,
    TCP_CLOSE_WAIT___130 = 8,
    TCP_LAST_ACK___130 = 9,
    TCP_LISTEN___130 = 10,
    TCP_CLOSING___130 = 11
} ;
enum __anonenum_221125648___130 {
    TCP_NO_QUEUE___130 = 0,
    TCP_RECV_QUEUE___130 = 1,
    TCP_SEND_QUEUE___130 = 2,
    TCP_QUEUES_NR___130 = 3
} ;
enum __anonenum_34415463___130 {
    PTHREAD_CREATE_JOINABLE___130 = 0,
    PTHREAD_CREATE_DETACHED___130 = 1
} ;
enum __anonenum_303612439___130 {
    PTHREAD_MUTEX_TIMED_NP___130 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___130 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___130 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___130 = 3,
    PTHREAD_MUTEX_NORMAL___130 = 0,
    PTHREAD_MUTEX_RECURSIVE___130 = 1,
    PTHREAD_MUTEX_ERRORCHECK___130 = 2,
    PTHREAD_MUTEX_DEFAULT___130 = 0,
    PTHREAD_MUTEX_FAST_NP___130 = 0
} ;
enum __anonenum_931900394___130 {
    PTHREAD_MUTEX_STALLED___130 = 0,
    PTHREAD_MUTEX_STALLED_NP___130 = 0,
    PTHREAD_MUTEX_ROBUST___130 = 1,
    PTHREAD_MUTEX_ROBUST_NP___130 = 1
} ;
enum __anonenum_205214487___130 {
    PTHREAD_PRIO_NONE___130 = 0,
    PTHREAD_PRIO_INHERIT___130 = 1,
    PTHREAD_PRIO_PROTECT___130 = 2
} ;
enum __anonenum_25043950___130 {
    PTHREAD_RWLOCK_PREFER_READER_NP___130 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___130 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___130 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___130 = 0
} ;
enum __anonenum_436439511___130 {
    PTHREAD_INHERIT_SCHED___130 = 0,
    PTHREAD_EXPLICIT_SCHED___130 = 1
} ;
enum __anonenum_998661166___130 {
    PTHREAD_SCOPE_SYSTEM___130 = 0,
    PTHREAD_SCOPE_PROCESS___130 = 1
} ;
enum __anonenum_146137331___130 {
    PTHREAD_PROCESS_PRIVATE___130 = 0,
    PTHREAD_PROCESS_SHARED___130 = 1
} ;
enum __anonenum_53396917___130 {
    PTHREAD_CANCEL_ENABLE___130 = 0,
    PTHREAD_CANCEL_DISABLE___130 = 1
} ;
enum __anonenum_904563783___130 {
    PTHREAD_CANCEL_DEFERRED___130 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___130 = 1
} ;
enum __anonenum_672052974___130 {
    SSL_CT_VALIDATION_PERMISSIVE___130 = 0,
    SSL_CT_VALIDATION_STRICT___130 = 1
} ;
struct pc_worker {
   struct child_process cp ;
   size_t next_item_to_complete ;
   size_t nr_items_to_complete ;
};
struct parallel_checkout {
   enum pc_status status ;
   struct parallel_checkout_item *items ;
   size_t nr ;
   size_t alloc ;
   struct progress *progress ;
   unsigned int *progress_cnt ;
};
enum __anonenum_437032235___131 {
    _PC_LINK_MAX___131 = 0,
    _PC_MAX_CANON___131 = 1,
    _PC_MAX_INPUT___131 = 2,
    _PC_NAME_MAX___131 = 3,
    _PC_PATH_MAX___131 = 4,
    _PC_PIPE_BUF___131 = 5,
    _PC_CHOWN_RESTRICTED___131 = 6,
    _PC_NO_TRUNC___131 = 7,
    _PC_VDISABLE___131 = 8,
    _PC_SYNC_IO___131 = 9,
    _PC_ASYNC_IO___131 = 10,
    _PC_PRIO_IO___131 = 11,
    _PC_SOCK_MAXBUF___131 = 12,
    _PC_FILESIZEBITS___131 = 13,
    _PC_REC_INCR_XFER_SIZE___131 = 14,
    _PC_REC_MAX_XFER_SIZE___131 = 15,
    _PC_REC_MIN_XFER_SIZE___131 = 16,
    _PC_REC_XFER_ALIGN___131 = 17,
    _PC_ALLOC_SIZE_MIN___131 = 18,
    _PC_SYMLINK_MAX___131 = 19,
    _PC_2_SYMLINKS___131 = 20
} ;
enum __anonenum_315186338___131 {
    _SC_ARG_MAX___131 = 0,
    _SC_CHILD_MAX___131 = 1,
    _SC_CLK_TCK___131 = 2,
    _SC_NGROUPS_MAX___131 = 3,
    _SC_OPEN_MAX___131 = 4,
    _SC_STREAM_MAX___131 = 5,
    _SC_TZNAME_MAX___131 = 6,
    _SC_JOB_CONTROL___131 = 7,
    _SC_SAVED_IDS___131 = 8,
    _SC_REALTIME_SIGNALS___131 = 9,
    _SC_PRIORITY_SCHEDULING___131 = 10,
    _SC_TIMERS___131 = 11,
    _SC_ASYNCHRONOUS_IO___131 = 12,
    _SC_PRIORITIZED_IO___131 = 13,
    _SC_SYNCHRONIZED_IO___131 = 14,
    _SC_FSYNC___131 = 15,
    _SC_MAPPED_FILES___131 = 16,
    _SC_MEMLOCK___131 = 17,
    _SC_MEMLOCK_RANGE___131 = 18,
    _SC_MEMORY_PROTECTION___131 = 19,
    _SC_MESSAGE_PASSING___131 = 20,
    _SC_SEMAPHORES___131 = 21,
    _SC_SHARED_MEMORY_OBJECTS___131 = 22,
    _SC_AIO_LISTIO_MAX___131 = 23,
    _SC_AIO_MAX___131 = 24,
    _SC_AIO_PRIO_DELTA_MAX___131 = 25,
    _SC_DELAYTIMER_MAX___131 = 26,
    _SC_MQ_OPEN_MAX___131 = 27,
    _SC_MQ_PRIO_MAX___131 = 28,
    _SC_VERSION___131 = 29,
    _SC_PAGESIZE___131 = 30,
    _SC_RTSIG_MAX___131 = 31,
    _SC_SEM_NSEMS_MAX___131 = 32,
    _SC_SEM_VALUE_MAX___131 = 33,
    _SC_SIGQUEUE_MAX___131 = 34,
    _SC_TIMER_MAX___131 = 35,
    _SC_BC_BASE_MAX___131 = 36,
    _SC_BC_DIM_MAX___131 = 37,
    _SC_BC_SCALE_MAX___131 = 38,
    _SC_BC_STRING_MAX___131 = 39,
    _SC_COLL_WEIGHTS_MAX___131 = 40,
    _SC_EQUIV_CLASS_MAX___131 = 41,
    _SC_EXPR_NEST_MAX___131 = 42,
    _SC_LINE_MAX___131 = 43,
    _SC_RE_DUP_MAX___131 = 44,
    _SC_CHARCLASS_NAME_MAX___131 = 45,
    _SC_2_VERSION___131 = 46,
    _SC_2_C_BIND___131 = 47,
    _SC_2_C_DEV___131 = 48,
    _SC_2_FORT_DEV___131 = 49,
    _SC_2_FORT_RUN___131 = 50,
    _SC_2_SW_DEV___131 = 51,
    _SC_2_LOCALEDEF___131 = 52,
    _SC_PII___131 = 53,
    _SC_PII_XTI___131 = 54,
    _SC_PII_SOCKET___131 = 55,
    _SC_PII_INTERNET___131 = 56,
    _SC_PII_OSI___131 = 57,
    _SC_POLL___131 = 58,
    _SC_SELECT___131 = 59,
    _SC_UIO_MAXIOV___131 = 60,
    _SC_IOV_MAX___131 = 60,
    _SC_PII_INTERNET_STREAM___131 = 61,
    _SC_PII_INTERNET_DGRAM___131 = 62,
    _SC_PII_OSI_COTS___131 = 63,
    _SC_PII_OSI_CLTS___131 = 64,
    _SC_PII_OSI_M___131 = 65,
    _SC_T_IOV_MAX___131 = 66,
    _SC_THREADS___131 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___131 = 68,
    _SC_GETGR_R_SIZE_MAX___131 = 69,
    _SC_GETPW_R_SIZE_MAX___131 = 70,
    _SC_LOGIN_NAME_MAX___131 = 71,
    _SC_TTY_NAME_MAX___131 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___131 = 73,
    _SC_THREAD_KEYS_MAX___131 = 74,
    _SC_THREAD_STACK_MIN___131 = 75,
    _SC_THREAD_THREADS_MAX___131 = 76,
    _SC_THREAD_ATTR_STACKADDR___131 = 77,
    _SC_THREAD_ATTR_STACKSIZE___131 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___131 = 79,
    _SC_THREAD_PRIO_INHERIT___131 = 80,
    _SC_THREAD_PRIO_PROTECT___131 = 81,
    _SC_THREAD_PROCESS_SHARED___131 = 82,
    _SC_NPROCESSORS_CONF___131 = 83,
    _SC_NPROCESSORS_ONLN___131 = 84,
    _SC_PHYS_PAGES___131 = 85,
    _SC_AVPHYS_PAGES___131 = 86,
    _SC_ATEXIT_MAX___131 = 87,
    _SC_PASS_MAX___131 = 88,
    _SC_XOPEN_VERSION___131 = 89,
    _SC_XOPEN_XCU_VERSION___131 = 90,
    _SC_XOPEN_UNIX___131 = 91,
    _SC_XOPEN_CRYPT___131 = 92,
    _SC_XOPEN_ENH_I18N___131 = 93,
    _SC_XOPEN_SHM___131 = 94,
    _SC_2_CHAR_TERM___131 = 95,
    _SC_2_C_VERSION___131 = 96,
    _SC_2_UPE___131 = 97,
    _SC_XOPEN_XPG2___131 = 98,
    _SC_XOPEN_XPG3___131 = 99,
    _SC_XOPEN_XPG4___131 = 100,
    _SC_CHAR_BIT___131 = 101,
    _SC_CHAR_MAX___131 = 102,
    _SC_CHAR_MIN___131 = 103,
    _SC_INT_MAX___131 = 104,
    _SC_INT_MIN___131 = 105,
    _SC_LONG_BIT___131 = 106,
    _SC_WORD_BIT___131 = 107,
    _SC_MB_LEN_MAX___131 = 108,
    _SC_NZERO___131 = 109,
    _SC_SSIZE_MAX___131 = 110,
    _SC_SCHAR_MAX___131 = 111,
    _SC_SCHAR_MIN___131 = 112,
    _SC_SHRT_MAX___131 = 113,
    _SC_SHRT_MIN___131 = 114,
    _SC_UCHAR_MAX___131 = 115,
    _SC_UINT_MAX___131 = 116,
    _SC_ULONG_MAX___131 = 117,
    _SC_USHRT_MAX___131 = 118,
    _SC_NL_ARGMAX___131 = 119,
    _SC_NL_LANGMAX___131 = 120,
    _SC_NL_MSGMAX___131 = 121,
    _SC_NL_NMAX___131 = 122,
    _SC_NL_SETMAX___131 = 123,
    _SC_NL_TEXTMAX___131 = 124,
    _SC_XBS5_ILP32_OFF32___131 = 125,
    _SC_XBS5_ILP32_OFFBIG___131 = 126,
    _SC_XBS5_LP64_OFF64___131 = 127,
    _SC_XBS5_LPBIG_OFFBIG___131 = 128,
    _SC_XOPEN_LEGACY___131 = 129,
    _SC_XOPEN_REALTIME___131 = 130,
    _SC_XOPEN_REALTIME_THREADS___131 = 131,
    _SC_ADVISORY_INFO___131 = 132,
    _SC_BARRIERS___131 = 133,
    _SC_BASE___131 = 134,
    _SC_C_LANG_SUPPORT___131 = 135,
    _SC_C_LANG_SUPPORT_R___131 = 136,
    _SC_CLOCK_SELECTION___131 = 137,
    _SC_CPUTIME___131 = 138,
    _SC_THREAD_CPUTIME___131 = 139,
    _SC_DEVICE_IO___131 = 140,
    _SC_DEVICE_SPECIFIC___131 = 141,
    _SC_DEVICE_SPECIFIC_R___131 = 142,
    _SC_FD_MGMT___131 = 143,
    _SC_FIFO___131 = 144,
    _SC_PIPE___131 = 145,
    _SC_FILE_ATTRIBUTES___131 = 146,
    _SC_FILE_LOCKING___131 = 147,
    _SC_FILE_SYSTEM___131 = 148,
    _SC_MONOTONIC_CLOCK___131 = 149,
    _SC_MULTI_PROCESS___131 = 150,
    _SC_SINGLE_PROCESS___131 = 151,
    _SC_NETWORKING___131 = 152,
    _SC_READER_WRITER_LOCKS___131 = 153,
    _SC_SPIN_LOCKS___131 = 154,
    _SC_REGEXP___131 = 155,
    _SC_REGEX_VERSION___131 = 156,
    _SC_SHELL___131 = 157,
    _SC_SIGNALS___131 = 158,
    _SC_SPAWN___131 = 159,
    _SC_SPORADIC_SERVER___131 = 160,
    _SC_THREAD_SPORADIC_SERVER___131 = 161,
    _SC_SYSTEM_DATABASE___131 = 162,
    _SC_SYSTEM_DATABASE_R___131 = 163,
    _SC_TIMEOUTS___131 = 164,
    _SC_TYPED_MEMORY_OBJECTS___131 = 165,
    _SC_USER_GROUPS___131 = 166,
    _SC_USER_GROUPS_R___131 = 167,
    _SC_2_PBS___131 = 168,
    _SC_2_PBS_ACCOUNTING___131 = 169,
    _SC_2_PBS_LOCATE___131 = 170,
    _SC_2_PBS_MESSAGE___131 = 171,
    _SC_2_PBS_TRACK___131 = 172,
    _SC_SYMLOOP_MAX___131 = 173,
    _SC_STREAMS___131 = 174,
    _SC_2_PBS_CHECKPOINT___131 = 175,
    _SC_V6_ILP32_OFF32___131 = 176,
    _SC_V6_ILP32_OFFBIG___131 = 177,
    _SC_V6_LP64_OFF64___131 = 178,
    _SC_V6_LPBIG_OFFBIG___131 = 179,
    _SC_HOST_NAME_MAX___131 = 180,
    _SC_TRACE___131 = 181,
    _SC_TRACE_EVENT_FILTER___131 = 182,
    _SC_TRACE_INHERIT___131 = 183,
    _SC_TRACE_LOG___131 = 184,
    _SC_LEVEL1_ICACHE_SIZE___131 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___131 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___131 = 187,
    _SC_LEVEL1_DCACHE_SIZE___131 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___131 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___131 = 190,
    _SC_LEVEL2_CACHE_SIZE___131 = 191,
    _SC_LEVEL2_CACHE_ASSOC___131 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___131 = 193,
    _SC_LEVEL3_CACHE_SIZE___131 = 194,
    _SC_LEVEL3_CACHE_ASSOC___131 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___131 = 196,
    _SC_LEVEL4_CACHE_SIZE___131 = 197,
    _SC_LEVEL4_CACHE_ASSOC___131 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___131 = 199,
    _SC_IPV6___131 = 235,
    _SC_RAW_SOCKETS___131 = 236,
    _SC_V7_ILP32_OFF32___131 = 237,
    _SC_V7_ILP32_OFFBIG___131 = 238,
    _SC_V7_LP64_OFF64___131 = 239,
    _SC_V7_LPBIG_OFFBIG___131 = 240,
    _SC_SS_REPL_MAX___131 = 241,
    _SC_TRACE_EVENT_NAME_MAX___131 = 242,
    _SC_TRACE_NAME_MAX___131 = 243,
    _SC_TRACE_SYS_MAX___131 = 244,
    _SC_TRACE_USER_EVENT_MAX___131 = 245,
    _SC_XOPEN_STREAMS___131 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___131 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___131 = 248
} ;
enum __anonenum_875524036___131 {
    _CS_PATH___131 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___131 = 1,
    _CS_GNU_LIBC_VERSION___131 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___131 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___131 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___131 = 5,
    _CS_LFS_CFLAGS___131 = 1000,
    _CS_LFS_LDFLAGS___131 = 1001,
    _CS_LFS_LIBS___131 = 1002,
    _CS_LFS_LINTFLAGS___131 = 1003,
    _CS_LFS64_CFLAGS___131 = 1004,
    _CS_LFS64_LDFLAGS___131 = 1005,
    _CS_LFS64_LIBS___131 = 1006,
    _CS_LFS64_LINTFLAGS___131 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___131 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___131 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___131 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___131 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___131 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___131 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___131 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___131 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___131 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___131 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___131 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___131 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___131 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___131 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___131 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___131 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___131 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___131 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___131 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___131 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___131 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___131 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___131 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___131 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___131 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___131 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___131 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___131 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___131 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___131 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___131 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___131 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___131 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___131 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___131 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___131 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___131 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___131 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___131 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___131 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___131 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___131 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___131 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___131 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___131 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___131 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___131 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___131 = 1147,
    _CS_V6_ENV___131 = 1148,
    _CS_V7_ENV___131 = 1149
} ;
enum __anonenum_513775621___131 {
    DT_UNKNOWN___131 = 0,
    DT_FIFO___131 = 1,
    DT_CHR___131 = 2,
    DT_DIR___131 = 4,
    DT_BLK___131 = 6,
    DT_REG___131 = 8,
    DT_LNK___131 = 10,
    DT_SOCK___131 = 12,
    DT_WHT___131 = 14
} ;
enum __anonenum_77002343___131 {
    SI_ASYNCNL___131 = -60,
    SI_TKILL___131 = -6,
    SI_SIGIO___131 = -5,
    SI_ASYNCIO___131 = -4,
    SI_MESGQ___131 = -3,
    SI_TIMER___131 = -2,
    SI_QUEUE___131 = -1,
    SI_USER___131 = 0,
    SI_KERNEL___131 = 128
} ;
enum __anonenum_131038172___131 {
    ILL_ILLOPC___131 = 1,
    ILL_ILLOPN___131 = 2,
    ILL_ILLADR___131 = 3,
    ILL_ILLTRP___131 = 4,
    ILL_PRVOPC___131 = 5,
    ILL_PRVREG___131 = 6,
    ILL_COPROC___131 = 7,
    ILL_BADSTK___131 = 8
} ;
enum __anonenum_452038093___131 {
    FPE_INTDIV___131 = 1,
    FPE_INTOVF___131 = 2,
    FPE_FLTDIV___131 = 3,
    FPE_FLTOVF___131 = 4,
    FPE_FLTUND___131 = 5,
    FPE_FLTRES___131 = 6,
    FPE_FLTINV___131 = 7,
    FPE_FLTSUB___131 = 8
} ;
enum __anonenum_30976155___131 {
    SEGV_MAPERR___131 = 1,
    SEGV_ACCERR___131 = 2,
    SEGV_BNDERR___131 = 3,
    SEGV_PKUERR___131 = 4
} ;
enum __anonenum_1036286214___131 {
    BUS_ADRALN___131 = 1,
    BUS_ADRERR___131 = 2,
    BUS_OBJERR___131 = 3,
    BUS_MCEERR_AR___131 = 4,
    BUS_MCEERR_AO___131 = 5
} ;
enum __anonenum_493465559___131 {
    TRAP_BRKPT___131 = 1,
    TRAP_TRACE___131 = 2
} ;
enum __anonenum_23175539___131 {
    CLD_EXITED___131 = 1,
    CLD_KILLED___131 = 2,
    CLD_DUMPED___131 = 3,
    CLD_TRAPPED___131 = 4,
    CLD_STOPPED___131 = 5,
    CLD_CONTINUED___131 = 6
} ;
enum __anonenum_111643124___131 {
    POLL_IN___131 = 1,
    POLL_OUT___131 = 2,
    POLL_MSG___131 = 3,
    POLL_ERR___131 = 4,
    POLL_PRI___131 = 5,
    POLL_HUP___131 = 6
} ;
enum __anonenum_852341087___131 {
    SIGEV_SIGNAL___131 = 0,
    SIGEV_NONE___131 = 1,
    SIGEV_THREAD___131 = 2,
    SIGEV_THREAD_ID___131 = 4
} ;
enum __anonenum_451154152___131 {
    REG_R8___131 = 0,
    REG_R9___131 = 1,
    REG_R10___131 = 2,
    REG_R11___131 = 3,
    REG_R12___131 = 4,
    REG_R13___131 = 5,
    REG_R14___131 = 6,
    REG_R15___131 = 7,
    REG_RDI___131 = 8,
    REG_RSI___131 = 9,
    REG_RBP___131 = 10,
    REG_RBX___131 = 11,
    REG_RDX___131 = 12,
    REG_RAX___131 = 13,
    REG_RCX___131 = 14,
    REG_RSP___131 = 15,
    REG_RIP___131 = 16,
    REG_EFL___131 = 17,
    REG_CSGSFS___131 = 18,
    REG_ERR___131 = 19,
    REG_TRAPNO___131 = 20,
    REG_OLDMASK___131 = 21,
    REG_CR2___131 = 22
} ;
enum __anonenum_57186863___131 {
    SS_ONSTACK___131 = 1,
    SS_DISABLE___131 = 2
} ;
enum __anonenum_83571709___131 {
    MSG_OOB___131 = 1,
    MSG_PEEK___131 = 2,
    MSG_DONTROUTE___131 = 4,
    MSG_TRYHARD___131 = 4,
    MSG_CTRUNC___131 = 8,
    MSG_PROXY___131 = 16,
    MSG_TRUNC___131 = 32,
    MSG_DONTWAIT___131 = 64,
    MSG_EOR___131 = 128,
    MSG_WAITALL___131 = 256,
    MSG_FIN___131 = 512,
    MSG_SYN___131 = 1024,
    MSG_CONFIRM___131 = 2048,
    MSG_RST___131 = 4096,
    MSG_ERRQUEUE___131 = 8192,
    MSG_NOSIGNAL___131 = 16384,
    MSG_MORE___131 = 32768,
    MSG_WAITFORONE___131 = 65536,
    MSG_BATCH___131 = 262144,
    MSG_ZEROCOPY___131 = 67108864,
    MSG_FASTOPEN___131 = 536870912,
    MSG_CMSG_CLOEXEC___131 = 1073741824
} ;
enum __anonenum_617082774___131 {
    SCM_RIGHTS___131 = 1,
    SCM_CREDENTIALS___131 = 2
} ;
enum __anonenum_606441560___131 {
    SHUT_RD___131 = 0,
    SHUT_WR___131 = 1,
    SHUT_RDWR___131 = 2
} ;
enum __anonenum_681669233___131 {
    IPPROTO_IP___131 = 0,
    IPPROTO_ICMP___131 = 1,
    IPPROTO_IGMP___131 = 2,
    IPPROTO_IPIP___131 = 4,
    IPPROTO_TCP___131 = 6,
    IPPROTO_EGP___131 = 8,
    IPPROTO_PUP___131 = 12,
    IPPROTO_UDP___131 = 17,
    IPPROTO_IDP___131 = 22,
    IPPROTO_TP___131 = 29,
    IPPROTO_DCCP___131 = 33,
    IPPROTO_IPV6___131 = 41,
    IPPROTO_RSVP___131 = 46,
    IPPROTO_GRE___131 = 47,
    IPPROTO_ESP___131 = 50,
    IPPROTO_AH___131 = 51,
    IPPROTO_MTP___131 = 92,
    IPPROTO_BEETPH___131 = 94,
    IPPROTO_ENCAP___131 = 98,
    IPPROTO_PIM___131 = 103,
    IPPROTO_COMP___131 = 108,
    IPPROTO_SCTP___131 = 132,
    IPPROTO_UDPLITE___131 = 136,
    IPPROTO_MPLS___131 = 137,
    IPPROTO_RAW___131 = 255,
    IPPROTO_MAX___131 = 256
} ;
enum __anonenum_218739988___131 {
    IPPROTO_HOPOPTS___131 = 0,
    IPPROTO_ROUTING___131 = 43,
    IPPROTO_FRAGMENT___131 = 44,
    IPPROTO_ICMPV6___131 = 58,
    IPPROTO_NONE___131 = 59,
    IPPROTO_DSTOPTS___131 = 60,
    IPPROTO_MH___131 = 135
} ;
enum __anonenum_662268580___131 {
    IPPORT_ECHO___131 = 7,
    IPPORT_DISCARD___131 = 9,
    IPPORT_SYSTAT___131 = 11,
    IPPORT_DAYTIME___131 = 13,
    IPPORT_NETSTAT___131 = 15,
    IPPORT_FTP___131 = 21,
    IPPORT_TELNET___131 = 23,
    IPPORT_SMTP___131 = 25,
    IPPORT_TIMESERVER___131 = 37,
    IPPORT_NAMESERVER___131 = 42,
    IPPORT_WHOIS___131 = 43,
    IPPORT_MTP___131 = 57,
    IPPORT_TFTP___131 = 69,
    IPPORT_RJE___131 = 77,
    IPPORT_FINGER___131 = 79,
    IPPORT_TTYLINK___131 = 87,
    IPPORT_SUPDUP___131 = 95,
    IPPORT_EXECSERVER___131 = 512,
    IPPORT_LOGINSERVER___131 = 513,
    IPPORT_CMDSERVER___131 = 514,
    IPPORT_EFSSERVER___131 = 520,
    IPPORT_BIFFUDP___131 = 512,
    IPPORT_WHOSERVER___131 = 513,
    IPPORT_ROUTESERVER___131 = 520,
    IPPORT_RESERVED___131 = 1024,
    IPPORT_USERRESERVED___131 = 5000
} ;
enum __anonenum_788308992___131 {
    TCP_ESTABLISHED___131 = 1,
    TCP_SYN_SENT___131 = 2,
    TCP_SYN_RECV___131 = 3,
    TCP_FIN_WAIT1___131 = 4,
    TCP_FIN_WAIT2___131 = 5,
    TCP_TIME_WAIT___131 = 6,
    TCP_CLOSE___131 = 7,
    TCP_CLOSE_WAIT___131 = 8,
    TCP_LAST_ACK___131 = 9,
    TCP_LISTEN___131 = 10,
    TCP_CLOSING___131 = 11
} ;
enum __anonenum_221125648___131 {
    TCP_NO_QUEUE___131 = 0,
    TCP_RECV_QUEUE___131 = 1,
    TCP_SEND_QUEUE___131 = 2,
    TCP_QUEUES_NR___131 = 3
} ;
enum __anonenum_34415463___131 {
    PTHREAD_CREATE_JOINABLE___131 = 0,
    PTHREAD_CREATE_DETACHED___131 = 1
} ;
enum __anonenum_303612439___131 {
    PTHREAD_MUTEX_TIMED_NP___131 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___131 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___131 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___131 = 3,
    PTHREAD_MUTEX_NORMAL___131 = 0,
    PTHREAD_MUTEX_RECURSIVE___131 = 1,
    PTHREAD_MUTEX_ERRORCHECK___131 = 2,
    PTHREAD_MUTEX_DEFAULT___131 = 0,
    PTHREAD_MUTEX_FAST_NP___131 = 0
} ;
enum __anonenum_931900394___131 {
    PTHREAD_MUTEX_STALLED___131 = 0,
    PTHREAD_MUTEX_STALLED_NP___131 = 0,
    PTHREAD_MUTEX_ROBUST___131 = 1,
    PTHREAD_MUTEX_ROBUST_NP___131 = 1
} ;
enum __anonenum_205214487___131 {
    PTHREAD_PRIO_NONE___131 = 0,
    PTHREAD_PRIO_INHERIT___131 = 1,
    PTHREAD_PRIO_PROTECT___131 = 2
} ;
enum __anonenum_25043950___131 {
    PTHREAD_RWLOCK_PREFER_READER_NP___131 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___131 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___131 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___131 = 0
} ;
enum __anonenum_436439511___131 {
    PTHREAD_INHERIT_SCHED___131 = 0,
    PTHREAD_EXPLICIT_SCHED___131 = 1
} ;
enum __anonenum_998661166___131 {
    PTHREAD_SCOPE_SYSTEM___131 = 0,
    PTHREAD_SCOPE_PROCESS___131 = 1
} ;
enum __anonenum_146137331___131 {
    PTHREAD_PROCESS_PRIVATE___131 = 0,
    PTHREAD_PROCESS_SHARED___131 = 1
} ;
enum __anonenum_53396917___131 {
    PTHREAD_CANCEL_ENABLE___131 = 0,
    PTHREAD_CANCEL_DISABLE___131 = 1
} ;
enum __anonenum_904563783___131 {
    PTHREAD_CANCEL_DEFERRED___131 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___131 = 1
} ;
enum __anonenum_672052974___131 {
    SSL_CT_VALIDATION_PERMISSIVE___131 = 0,
    SSL_CT_VALIDATION_STRICT___131 = 1
} ;
enum __anonenum_437032235___132 {
    _PC_LINK_MAX___132 = 0,
    _PC_MAX_CANON___132 = 1,
    _PC_MAX_INPUT___132 = 2,
    _PC_NAME_MAX___132 = 3,
    _PC_PATH_MAX___132 = 4,
    _PC_PIPE_BUF___132 = 5,
    _PC_CHOWN_RESTRICTED___132 = 6,
    _PC_NO_TRUNC___132 = 7,
    _PC_VDISABLE___132 = 8,
    _PC_SYNC_IO___132 = 9,
    _PC_ASYNC_IO___132 = 10,
    _PC_PRIO_IO___132 = 11,
    _PC_SOCK_MAXBUF___132 = 12,
    _PC_FILESIZEBITS___132 = 13,
    _PC_REC_INCR_XFER_SIZE___132 = 14,
    _PC_REC_MAX_XFER_SIZE___132 = 15,
    _PC_REC_MIN_XFER_SIZE___132 = 16,
    _PC_REC_XFER_ALIGN___132 = 17,
    _PC_ALLOC_SIZE_MIN___132 = 18,
    _PC_SYMLINK_MAX___132 = 19,
    _PC_2_SYMLINKS___132 = 20
} ;
enum __anonenum_315186338___132 {
    _SC_ARG_MAX___132 = 0,
    _SC_CHILD_MAX___132 = 1,
    _SC_CLK_TCK___132 = 2,
    _SC_NGROUPS_MAX___132 = 3,
    _SC_OPEN_MAX___132 = 4,
    _SC_STREAM_MAX___132 = 5,
    _SC_TZNAME_MAX___132 = 6,
    _SC_JOB_CONTROL___132 = 7,
    _SC_SAVED_IDS___132 = 8,
    _SC_REALTIME_SIGNALS___132 = 9,
    _SC_PRIORITY_SCHEDULING___132 = 10,
    _SC_TIMERS___132 = 11,
    _SC_ASYNCHRONOUS_IO___132 = 12,
    _SC_PRIORITIZED_IO___132 = 13,
    _SC_SYNCHRONIZED_IO___132 = 14,
    _SC_FSYNC___132 = 15,
    _SC_MAPPED_FILES___132 = 16,
    _SC_MEMLOCK___132 = 17,
    _SC_MEMLOCK_RANGE___132 = 18,
    _SC_MEMORY_PROTECTION___132 = 19,
    _SC_MESSAGE_PASSING___132 = 20,
    _SC_SEMAPHORES___132 = 21,
    _SC_SHARED_MEMORY_OBJECTS___132 = 22,
    _SC_AIO_LISTIO_MAX___132 = 23,
    _SC_AIO_MAX___132 = 24,
    _SC_AIO_PRIO_DELTA_MAX___132 = 25,
    _SC_DELAYTIMER_MAX___132 = 26,
    _SC_MQ_OPEN_MAX___132 = 27,
    _SC_MQ_PRIO_MAX___132 = 28,
    _SC_VERSION___132 = 29,
    _SC_PAGESIZE___132 = 30,
    _SC_RTSIG_MAX___132 = 31,
    _SC_SEM_NSEMS_MAX___132 = 32,
    _SC_SEM_VALUE_MAX___132 = 33,
    _SC_SIGQUEUE_MAX___132 = 34,
    _SC_TIMER_MAX___132 = 35,
    _SC_BC_BASE_MAX___132 = 36,
    _SC_BC_DIM_MAX___132 = 37,
    _SC_BC_SCALE_MAX___132 = 38,
    _SC_BC_STRING_MAX___132 = 39,
    _SC_COLL_WEIGHTS_MAX___132 = 40,
    _SC_EQUIV_CLASS_MAX___132 = 41,
    _SC_EXPR_NEST_MAX___132 = 42,
    _SC_LINE_MAX___132 = 43,
    _SC_RE_DUP_MAX___132 = 44,
    _SC_CHARCLASS_NAME_MAX___132 = 45,
    _SC_2_VERSION___132 = 46,
    _SC_2_C_BIND___132 = 47,
    _SC_2_C_DEV___132 = 48,
    _SC_2_FORT_DEV___132 = 49,
    _SC_2_FORT_RUN___132 = 50,
    _SC_2_SW_DEV___132 = 51,
    _SC_2_LOCALEDEF___132 = 52,
    _SC_PII___132 = 53,
    _SC_PII_XTI___132 = 54,
    _SC_PII_SOCKET___132 = 55,
    _SC_PII_INTERNET___132 = 56,
    _SC_PII_OSI___132 = 57,
    _SC_POLL___132 = 58,
    _SC_SELECT___132 = 59,
    _SC_UIO_MAXIOV___132 = 60,
    _SC_IOV_MAX___132 = 60,
    _SC_PII_INTERNET_STREAM___132 = 61,
    _SC_PII_INTERNET_DGRAM___132 = 62,
    _SC_PII_OSI_COTS___132 = 63,
    _SC_PII_OSI_CLTS___132 = 64,
    _SC_PII_OSI_M___132 = 65,
    _SC_T_IOV_MAX___132 = 66,
    _SC_THREADS___132 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___132 = 68,
    _SC_GETGR_R_SIZE_MAX___132 = 69,
    _SC_GETPW_R_SIZE_MAX___132 = 70,
    _SC_LOGIN_NAME_MAX___132 = 71,
    _SC_TTY_NAME_MAX___132 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___132 = 73,
    _SC_THREAD_KEYS_MAX___132 = 74,
    _SC_THREAD_STACK_MIN___132 = 75,
    _SC_THREAD_THREADS_MAX___132 = 76,
    _SC_THREAD_ATTR_STACKADDR___132 = 77,
    _SC_THREAD_ATTR_STACKSIZE___132 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___132 = 79,
    _SC_THREAD_PRIO_INHERIT___132 = 80,
    _SC_THREAD_PRIO_PROTECT___132 = 81,
    _SC_THREAD_PROCESS_SHARED___132 = 82,
    _SC_NPROCESSORS_CONF___132 = 83,
    _SC_NPROCESSORS_ONLN___132 = 84,
    _SC_PHYS_PAGES___132 = 85,
    _SC_AVPHYS_PAGES___132 = 86,
    _SC_ATEXIT_MAX___132 = 87,
    _SC_PASS_MAX___132 = 88,
    _SC_XOPEN_VERSION___132 = 89,
    _SC_XOPEN_XCU_VERSION___132 = 90,
    _SC_XOPEN_UNIX___132 = 91,
    _SC_XOPEN_CRYPT___132 = 92,
    _SC_XOPEN_ENH_I18N___132 = 93,
    _SC_XOPEN_SHM___132 = 94,
    _SC_2_CHAR_TERM___132 = 95,
    _SC_2_C_VERSION___132 = 96,
    _SC_2_UPE___132 = 97,
    _SC_XOPEN_XPG2___132 = 98,
    _SC_XOPEN_XPG3___132 = 99,
    _SC_XOPEN_XPG4___132 = 100,
    _SC_CHAR_BIT___132 = 101,
    _SC_CHAR_MAX___132 = 102,
    _SC_CHAR_MIN___132 = 103,
    _SC_INT_MAX___132 = 104,
    _SC_INT_MIN___132 = 105,
    _SC_LONG_BIT___132 = 106,
    _SC_WORD_BIT___132 = 107,
    _SC_MB_LEN_MAX___132 = 108,
    _SC_NZERO___132 = 109,
    _SC_SSIZE_MAX___132 = 110,
    _SC_SCHAR_MAX___132 = 111,
    _SC_SCHAR_MIN___132 = 112,
    _SC_SHRT_MAX___132 = 113,
    _SC_SHRT_MIN___132 = 114,
    _SC_UCHAR_MAX___132 = 115,
    _SC_UINT_MAX___132 = 116,
    _SC_ULONG_MAX___132 = 117,
    _SC_USHRT_MAX___132 = 118,
    _SC_NL_ARGMAX___132 = 119,
    _SC_NL_LANGMAX___132 = 120,
    _SC_NL_MSGMAX___132 = 121,
    _SC_NL_NMAX___132 = 122,
    _SC_NL_SETMAX___132 = 123,
    _SC_NL_TEXTMAX___132 = 124,
    _SC_XBS5_ILP32_OFF32___132 = 125,
    _SC_XBS5_ILP32_OFFBIG___132 = 126,
    _SC_XBS5_LP64_OFF64___132 = 127,
    _SC_XBS5_LPBIG_OFFBIG___132 = 128,
    _SC_XOPEN_LEGACY___132 = 129,
    _SC_XOPEN_REALTIME___132 = 130,
    _SC_XOPEN_REALTIME_THREADS___132 = 131,
    _SC_ADVISORY_INFO___132 = 132,
    _SC_BARRIERS___132 = 133,
    _SC_BASE___132 = 134,
    _SC_C_LANG_SUPPORT___132 = 135,
    _SC_C_LANG_SUPPORT_R___132 = 136,
    _SC_CLOCK_SELECTION___132 = 137,
    _SC_CPUTIME___132 = 138,
    _SC_THREAD_CPUTIME___132 = 139,
    _SC_DEVICE_IO___132 = 140,
    _SC_DEVICE_SPECIFIC___132 = 141,
    _SC_DEVICE_SPECIFIC_R___132 = 142,
    _SC_FD_MGMT___132 = 143,
    _SC_FIFO___132 = 144,
    _SC_PIPE___132 = 145,
    _SC_FILE_ATTRIBUTES___132 = 146,
    _SC_FILE_LOCKING___132 = 147,
    _SC_FILE_SYSTEM___132 = 148,
    _SC_MONOTONIC_CLOCK___132 = 149,
    _SC_MULTI_PROCESS___132 = 150,
    _SC_SINGLE_PROCESS___132 = 151,
    _SC_NETWORKING___132 = 152,
    _SC_READER_WRITER_LOCKS___132 = 153,
    _SC_SPIN_LOCKS___132 = 154,
    _SC_REGEXP___132 = 155,
    _SC_REGEX_VERSION___132 = 156,
    _SC_SHELL___132 = 157,
    _SC_SIGNALS___132 = 158,
    _SC_SPAWN___132 = 159,
    _SC_SPORADIC_SERVER___132 = 160,
    _SC_THREAD_SPORADIC_SERVER___132 = 161,
    _SC_SYSTEM_DATABASE___132 = 162,
    _SC_SYSTEM_DATABASE_R___132 = 163,
    _SC_TIMEOUTS___132 = 164,
    _SC_TYPED_MEMORY_OBJECTS___132 = 165,
    _SC_USER_GROUPS___132 = 166,
    _SC_USER_GROUPS_R___132 = 167,
    _SC_2_PBS___132 = 168,
    _SC_2_PBS_ACCOUNTING___132 = 169,
    _SC_2_PBS_LOCATE___132 = 170,
    _SC_2_PBS_MESSAGE___132 = 171,
    _SC_2_PBS_TRACK___132 = 172,
    _SC_SYMLOOP_MAX___132 = 173,
    _SC_STREAMS___132 = 174,
    _SC_2_PBS_CHECKPOINT___132 = 175,
    _SC_V6_ILP32_OFF32___132 = 176,
    _SC_V6_ILP32_OFFBIG___132 = 177,
    _SC_V6_LP64_OFF64___132 = 178,
    _SC_V6_LPBIG_OFFBIG___132 = 179,
    _SC_HOST_NAME_MAX___132 = 180,
    _SC_TRACE___132 = 181,
    _SC_TRACE_EVENT_FILTER___132 = 182,
    _SC_TRACE_INHERIT___132 = 183,
    _SC_TRACE_LOG___132 = 184,
    _SC_LEVEL1_ICACHE_SIZE___132 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___132 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___132 = 187,
    _SC_LEVEL1_DCACHE_SIZE___132 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___132 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___132 = 190,
    _SC_LEVEL2_CACHE_SIZE___132 = 191,
    _SC_LEVEL2_CACHE_ASSOC___132 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___132 = 193,
    _SC_LEVEL3_CACHE_SIZE___132 = 194,
    _SC_LEVEL3_CACHE_ASSOC___132 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___132 = 196,
    _SC_LEVEL4_CACHE_SIZE___132 = 197,
    _SC_LEVEL4_CACHE_ASSOC___132 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___132 = 199,
    _SC_IPV6___132 = 235,
    _SC_RAW_SOCKETS___132 = 236,
    _SC_V7_ILP32_OFF32___132 = 237,
    _SC_V7_ILP32_OFFBIG___132 = 238,
    _SC_V7_LP64_OFF64___132 = 239,
    _SC_V7_LPBIG_OFFBIG___132 = 240,
    _SC_SS_REPL_MAX___132 = 241,
    _SC_TRACE_EVENT_NAME_MAX___132 = 242,
    _SC_TRACE_NAME_MAX___132 = 243,
    _SC_TRACE_SYS_MAX___132 = 244,
    _SC_TRACE_USER_EVENT_MAX___132 = 245,
    _SC_XOPEN_STREAMS___132 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___132 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___132 = 248
} ;
enum __anonenum_875524036___132 {
    _CS_PATH___132 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___132 = 1,
    _CS_GNU_LIBC_VERSION___132 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___132 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___132 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___132 = 5,
    _CS_LFS_CFLAGS___132 = 1000,
    _CS_LFS_LDFLAGS___132 = 1001,
    _CS_LFS_LIBS___132 = 1002,
    _CS_LFS_LINTFLAGS___132 = 1003,
    _CS_LFS64_CFLAGS___132 = 1004,
    _CS_LFS64_LDFLAGS___132 = 1005,
    _CS_LFS64_LIBS___132 = 1006,
    _CS_LFS64_LINTFLAGS___132 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___132 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___132 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___132 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___132 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___132 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___132 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___132 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___132 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___132 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___132 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___132 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___132 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___132 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___132 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___132 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___132 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___132 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___132 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___132 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___132 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___132 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___132 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___132 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___132 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___132 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___132 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___132 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___132 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___132 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___132 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___132 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___132 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___132 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___132 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___132 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___132 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___132 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___132 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___132 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___132 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___132 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___132 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___132 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___132 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___132 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___132 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___132 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___132 = 1147,
    _CS_V6_ENV___132 = 1148,
    _CS_V7_ENV___132 = 1149
} ;
enum __anonenum_513775621___132 {
    DT_UNKNOWN___132 = 0,
    DT_FIFO___132 = 1,
    DT_CHR___132 = 2,
    DT_DIR___132 = 4,
    DT_BLK___132 = 6,
    DT_REG___132 = 8,
    DT_LNK___132 = 10,
    DT_SOCK___132 = 12,
    DT_WHT___132 = 14
} ;
enum __anonenum_77002343___132 {
    SI_ASYNCNL___132 = -60,
    SI_TKILL___132 = -6,
    SI_SIGIO___132 = -5,
    SI_ASYNCIO___132 = -4,
    SI_MESGQ___132 = -3,
    SI_TIMER___132 = -2,
    SI_QUEUE___132 = -1,
    SI_USER___132 = 0,
    SI_KERNEL___132 = 128
} ;
enum __anonenum_131038172___132 {
    ILL_ILLOPC___132 = 1,
    ILL_ILLOPN___132 = 2,
    ILL_ILLADR___132 = 3,
    ILL_ILLTRP___132 = 4,
    ILL_PRVOPC___132 = 5,
    ILL_PRVREG___132 = 6,
    ILL_COPROC___132 = 7,
    ILL_BADSTK___132 = 8
} ;
enum __anonenum_452038093___132 {
    FPE_INTDIV___132 = 1,
    FPE_INTOVF___132 = 2,
    FPE_FLTDIV___132 = 3,
    FPE_FLTOVF___132 = 4,
    FPE_FLTUND___132 = 5,
    FPE_FLTRES___132 = 6,
    FPE_FLTINV___132 = 7,
    FPE_FLTSUB___132 = 8
} ;
enum __anonenum_30976155___132 {
    SEGV_MAPERR___132 = 1,
    SEGV_ACCERR___132 = 2,
    SEGV_BNDERR___132 = 3,
    SEGV_PKUERR___132 = 4
} ;
enum __anonenum_1036286214___132 {
    BUS_ADRALN___132 = 1,
    BUS_ADRERR___132 = 2,
    BUS_OBJERR___132 = 3,
    BUS_MCEERR_AR___132 = 4,
    BUS_MCEERR_AO___132 = 5
} ;
enum __anonenum_493465559___132 {
    TRAP_BRKPT___132 = 1,
    TRAP_TRACE___132 = 2
} ;
enum __anonenum_23175539___132 {
    CLD_EXITED___132 = 1,
    CLD_KILLED___132 = 2,
    CLD_DUMPED___132 = 3,
    CLD_TRAPPED___132 = 4,
    CLD_STOPPED___132 = 5,
    CLD_CONTINUED___132 = 6
} ;
enum __anonenum_111643124___132 {
    POLL_IN___132 = 1,
    POLL_OUT___132 = 2,
    POLL_MSG___132 = 3,
    POLL_ERR___132 = 4,
    POLL_PRI___132 = 5,
    POLL_HUP___132 = 6
} ;
enum __anonenum_852341087___132 {
    SIGEV_SIGNAL___132 = 0,
    SIGEV_NONE___132 = 1,
    SIGEV_THREAD___132 = 2,
    SIGEV_THREAD_ID___132 = 4
} ;
enum __anonenum_451154152___132 {
    REG_R8___132 = 0,
    REG_R9___132 = 1,
    REG_R10___132 = 2,
    REG_R11___132 = 3,
    REG_R12___132 = 4,
    REG_R13___132 = 5,
    REG_R14___132 = 6,
    REG_R15___132 = 7,
    REG_RDI___132 = 8,
    REG_RSI___132 = 9,
    REG_RBP___132 = 10,
    REG_RBX___132 = 11,
    REG_RDX___132 = 12,
    REG_RAX___132 = 13,
    REG_RCX___132 = 14,
    REG_RSP___132 = 15,
    REG_RIP___132 = 16,
    REG_EFL___132 = 17,
    REG_CSGSFS___132 = 18,
    REG_ERR___132 = 19,
    REG_TRAPNO___132 = 20,
    REG_OLDMASK___132 = 21,
    REG_CR2___132 = 22
} ;
enum __anonenum_57186863___132 {
    SS_ONSTACK___132 = 1,
    SS_DISABLE___132 = 2
} ;
enum __anonenum_83571709___132 {
    MSG_OOB___132 = 1,
    MSG_PEEK___132 = 2,
    MSG_DONTROUTE___132 = 4,
    MSG_TRYHARD___132 = 4,
    MSG_CTRUNC___132 = 8,
    MSG_PROXY___132 = 16,
    MSG_TRUNC___132 = 32,
    MSG_DONTWAIT___132 = 64,
    MSG_EOR___132 = 128,
    MSG_WAITALL___132 = 256,
    MSG_FIN___132 = 512,
    MSG_SYN___132 = 1024,
    MSG_CONFIRM___132 = 2048,
    MSG_RST___132 = 4096,
    MSG_ERRQUEUE___132 = 8192,
    MSG_NOSIGNAL___132 = 16384,
    MSG_MORE___132 = 32768,
    MSG_WAITFORONE___132 = 65536,
    MSG_BATCH___132 = 262144,
    MSG_ZEROCOPY___132 = 67108864,
    MSG_FASTOPEN___132 = 536870912,
    MSG_CMSG_CLOEXEC___132 = 1073741824
} ;
enum __anonenum_617082774___132 {
    SCM_RIGHTS___132 = 1,
    SCM_CREDENTIALS___132 = 2
} ;
enum __anonenum_606441560___132 {
    SHUT_RD___132 = 0,
    SHUT_WR___132 = 1,
    SHUT_RDWR___132 = 2
} ;
enum __anonenum_681669233___132 {
    IPPROTO_IP___132 = 0,
    IPPROTO_ICMP___132 = 1,
    IPPROTO_IGMP___132 = 2,
    IPPROTO_IPIP___132 = 4,
    IPPROTO_TCP___132 = 6,
    IPPROTO_EGP___132 = 8,
    IPPROTO_PUP___132 = 12,
    IPPROTO_UDP___132 = 17,
    IPPROTO_IDP___132 = 22,
    IPPROTO_TP___132 = 29,
    IPPROTO_DCCP___132 = 33,
    IPPROTO_IPV6___132 = 41,
    IPPROTO_RSVP___132 = 46,
    IPPROTO_GRE___132 = 47,
    IPPROTO_ESP___132 = 50,
    IPPROTO_AH___132 = 51,
    IPPROTO_MTP___132 = 92,
    IPPROTO_BEETPH___132 = 94,
    IPPROTO_ENCAP___132 = 98,
    IPPROTO_PIM___132 = 103,
    IPPROTO_COMP___132 = 108,
    IPPROTO_SCTP___132 = 132,
    IPPROTO_UDPLITE___132 = 136,
    IPPROTO_MPLS___132 = 137,
    IPPROTO_RAW___132 = 255,
    IPPROTO_MAX___132 = 256
} ;
enum __anonenum_218739988___132 {
    IPPROTO_HOPOPTS___132 = 0,
    IPPROTO_ROUTING___132 = 43,
    IPPROTO_FRAGMENT___132 = 44,
    IPPROTO_ICMPV6___132 = 58,
    IPPROTO_NONE___132 = 59,
    IPPROTO_DSTOPTS___132 = 60,
    IPPROTO_MH___132 = 135
} ;
enum __anonenum_662268580___132 {
    IPPORT_ECHO___132 = 7,
    IPPORT_DISCARD___132 = 9,
    IPPORT_SYSTAT___132 = 11,
    IPPORT_DAYTIME___132 = 13,
    IPPORT_NETSTAT___132 = 15,
    IPPORT_FTP___132 = 21,
    IPPORT_TELNET___132 = 23,
    IPPORT_SMTP___132 = 25,
    IPPORT_TIMESERVER___132 = 37,
    IPPORT_NAMESERVER___132 = 42,
    IPPORT_WHOIS___132 = 43,
    IPPORT_MTP___132 = 57,
    IPPORT_TFTP___132 = 69,
    IPPORT_RJE___132 = 77,
    IPPORT_FINGER___132 = 79,
    IPPORT_TTYLINK___132 = 87,
    IPPORT_SUPDUP___132 = 95,
    IPPORT_EXECSERVER___132 = 512,
    IPPORT_LOGINSERVER___132 = 513,
    IPPORT_CMDSERVER___132 = 514,
    IPPORT_EFSSERVER___132 = 520,
    IPPORT_BIFFUDP___132 = 512,
    IPPORT_WHOSERVER___132 = 513,
    IPPORT_ROUTESERVER___132 = 520,
    IPPORT_RESERVED___132 = 1024,
    IPPORT_USERRESERVED___132 = 5000
} ;
enum __anonenum_788308992___132 {
    TCP_ESTABLISHED___132 = 1,
    TCP_SYN_SENT___132 = 2,
    TCP_SYN_RECV___132 = 3,
    TCP_FIN_WAIT1___132 = 4,
    TCP_FIN_WAIT2___132 = 5,
    TCP_TIME_WAIT___132 = 6,
    TCP_CLOSE___132 = 7,
    TCP_CLOSE_WAIT___132 = 8,
    TCP_LAST_ACK___132 = 9,
    TCP_LISTEN___132 = 10,
    TCP_CLOSING___132 = 11
} ;
enum __anonenum_221125648___132 {
    TCP_NO_QUEUE___132 = 0,
    TCP_RECV_QUEUE___132 = 1,
    TCP_SEND_QUEUE___132 = 2,
    TCP_QUEUES_NR___132 = 3
} ;
enum __anonenum_34415463___132 {
    PTHREAD_CREATE_JOINABLE___132 = 0,
    PTHREAD_CREATE_DETACHED___132 = 1
} ;
enum __anonenum_303612439___132 {
    PTHREAD_MUTEX_TIMED_NP___132 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___132 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___132 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___132 = 3,
    PTHREAD_MUTEX_NORMAL___132 = 0,
    PTHREAD_MUTEX_RECURSIVE___132 = 1,
    PTHREAD_MUTEX_ERRORCHECK___132 = 2,
    PTHREAD_MUTEX_DEFAULT___132 = 0,
    PTHREAD_MUTEX_FAST_NP___132 = 0
} ;
enum __anonenum_931900394___132 {
    PTHREAD_MUTEX_STALLED___132 = 0,
    PTHREAD_MUTEX_STALLED_NP___132 = 0,
    PTHREAD_MUTEX_ROBUST___132 = 1,
    PTHREAD_MUTEX_ROBUST_NP___132 = 1
} ;
enum __anonenum_205214487___132 {
    PTHREAD_PRIO_NONE___132 = 0,
    PTHREAD_PRIO_INHERIT___132 = 1,
    PTHREAD_PRIO_PROTECT___132 = 2
} ;
enum __anonenum_25043950___132 {
    PTHREAD_RWLOCK_PREFER_READER_NP___132 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___132 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___132 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___132 = 0
} ;
enum __anonenum_436439511___132 {
    PTHREAD_INHERIT_SCHED___132 = 0,
    PTHREAD_EXPLICIT_SCHED___132 = 1
} ;
enum __anonenum_998661166___132 {
    PTHREAD_SCOPE_SYSTEM___132 = 0,
    PTHREAD_SCOPE_PROCESS___132 = 1
} ;
enum __anonenum_146137331___132 {
    PTHREAD_PROCESS_PRIVATE___132 = 0,
    PTHREAD_PROCESS_SHARED___132 = 1
} ;
enum __anonenum_53396917___132 {
    PTHREAD_CANCEL_ENABLE___132 = 0,
    PTHREAD_CANCEL_DISABLE___132 = 1
} ;
enum __anonenum_904563783___132 {
    PTHREAD_CANCEL_DEFERRED___132 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___132 = 1
} ;
enum __anonenum_672052974___132 {
    SSL_CT_VALIDATION_PERMISSIVE___132 = 0,
    SSL_CT_VALIDATION_STRICT___132 = 1
} ;
enum opt_parsed {
    OPT_LONG = 0,
    OPT_SHORT = 1,
    OPT_UNSET = 2
} ;
enum __anonenum_437032235___133 {
    _PC_LINK_MAX___133 = 0,
    _PC_MAX_CANON___133 = 1,
    _PC_MAX_INPUT___133 = 2,
    _PC_NAME_MAX___133 = 3,
    _PC_PATH_MAX___133 = 4,
    _PC_PIPE_BUF___133 = 5,
    _PC_CHOWN_RESTRICTED___133 = 6,
    _PC_NO_TRUNC___133 = 7,
    _PC_VDISABLE___133 = 8,
    _PC_SYNC_IO___133 = 9,
    _PC_ASYNC_IO___133 = 10,
    _PC_PRIO_IO___133 = 11,
    _PC_SOCK_MAXBUF___133 = 12,
    _PC_FILESIZEBITS___133 = 13,
    _PC_REC_INCR_XFER_SIZE___133 = 14,
    _PC_REC_MAX_XFER_SIZE___133 = 15,
    _PC_REC_MIN_XFER_SIZE___133 = 16,
    _PC_REC_XFER_ALIGN___133 = 17,
    _PC_ALLOC_SIZE_MIN___133 = 18,
    _PC_SYMLINK_MAX___133 = 19,
    _PC_2_SYMLINKS___133 = 20
} ;
enum __anonenum_315186338___133 {
    _SC_ARG_MAX___133 = 0,
    _SC_CHILD_MAX___133 = 1,
    _SC_CLK_TCK___133 = 2,
    _SC_NGROUPS_MAX___133 = 3,
    _SC_OPEN_MAX___133 = 4,
    _SC_STREAM_MAX___133 = 5,
    _SC_TZNAME_MAX___133 = 6,
    _SC_JOB_CONTROL___133 = 7,
    _SC_SAVED_IDS___133 = 8,
    _SC_REALTIME_SIGNALS___133 = 9,
    _SC_PRIORITY_SCHEDULING___133 = 10,
    _SC_TIMERS___133 = 11,
    _SC_ASYNCHRONOUS_IO___133 = 12,
    _SC_PRIORITIZED_IO___133 = 13,
    _SC_SYNCHRONIZED_IO___133 = 14,
    _SC_FSYNC___133 = 15,
    _SC_MAPPED_FILES___133 = 16,
    _SC_MEMLOCK___133 = 17,
    _SC_MEMLOCK_RANGE___133 = 18,
    _SC_MEMORY_PROTECTION___133 = 19,
    _SC_MESSAGE_PASSING___133 = 20,
    _SC_SEMAPHORES___133 = 21,
    _SC_SHARED_MEMORY_OBJECTS___133 = 22,
    _SC_AIO_LISTIO_MAX___133 = 23,
    _SC_AIO_MAX___133 = 24,
    _SC_AIO_PRIO_DELTA_MAX___133 = 25,
    _SC_DELAYTIMER_MAX___133 = 26,
    _SC_MQ_OPEN_MAX___133 = 27,
    _SC_MQ_PRIO_MAX___133 = 28,
    _SC_VERSION___133 = 29,
    _SC_PAGESIZE___133 = 30,
    _SC_RTSIG_MAX___133 = 31,
    _SC_SEM_NSEMS_MAX___133 = 32,
    _SC_SEM_VALUE_MAX___133 = 33,
    _SC_SIGQUEUE_MAX___133 = 34,
    _SC_TIMER_MAX___133 = 35,
    _SC_BC_BASE_MAX___133 = 36,
    _SC_BC_DIM_MAX___133 = 37,
    _SC_BC_SCALE_MAX___133 = 38,
    _SC_BC_STRING_MAX___133 = 39,
    _SC_COLL_WEIGHTS_MAX___133 = 40,
    _SC_EQUIV_CLASS_MAX___133 = 41,
    _SC_EXPR_NEST_MAX___133 = 42,
    _SC_LINE_MAX___133 = 43,
    _SC_RE_DUP_MAX___133 = 44,
    _SC_CHARCLASS_NAME_MAX___133 = 45,
    _SC_2_VERSION___133 = 46,
    _SC_2_C_BIND___133 = 47,
    _SC_2_C_DEV___133 = 48,
    _SC_2_FORT_DEV___133 = 49,
    _SC_2_FORT_RUN___133 = 50,
    _SC_2_SW_DEV___133 = 51,
    _SC_2_LOCALEDEF___133 = 52,
    _SC_PII___133 = 53,
    _SC_PII_XTI___133 = 54,
    _SC_PII_SOCKET___133 = 55,
    _SC_PII_INTERNET___133 = 56,
    _SC_PII_OSI___133 = 57,
    _SC_POLL___133 = 58,
    _SC_SELECT___133 = 59,
    _SC_UIO_MAXIOV___133 = 60,
    _SC_IOV_MAX___133 = 60,
    _SC_PII_INTERNET_STREAM___133 = 61,
    _SC_PII_INTERNET_DGRAM___133 = 62,
    _SC_PII_OSI_COTS___133 = 63,
    _SC_PII_OSI_CLTS___133 = 64,
    _SC_PII_OSI_M___133 = 65,
    _SC_T_IOV_MAX___133 = 66,
    _SC_THREADS___133 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___133 = 68,
    _SC_GETGR_R_SIZE_MAX___133 = 69,
    _SC_GETPW_R_SIZE_MAX___133 = 70,
    _SC_LOGIN_NAME_MAX___133 = 71,
    _SC_TTY_NAME_MAX___133 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___133 = 73,
    _SC_THREAD_KEYS_MAX___133 = 74,
    _SC_THREAD_STACK_MIN___133 = 75,
    _SC_THREAD_THREADS_MAX___133 = 76,
    _SC_THREAD_ATTR_STACKADDR___133 = 77,
    _SC_THREAD_ATTR_STACKSIZE___133 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___133 = 79,
    _SC_THREAD_PRIO_INHERIT___133 = 80,
    _SC_THREAD_PRIO_PROTECT___133 = 81,
    _SC_THREAD_PROCESS_SHARED___133 = 82,
    _SC_NPROCESSORS_CONF___133 = 83,
    _SC_NPROCESSORS_ONLN___133 = 84,
    _SC_PHYS_PAGES___133 = 85,
    _SC_AVPHYS_PAGES___133 = 86,
    _SC_ATEXIT_MAX___133 = 87,
    _SC_PASS_MAX___133 = 88,
    _SC_XOPEN_VERSION___133 = 89,
    _SC_XOPEN_XCU_VERSION___133 = 90,
    _SC_XOPEN_UNIX___133 = 91,
    _SC_XOPEN_CRYPT___133 = 92,
    _SC_XOPEN_ENH_I18N___133 = 93,
    _SC_XOPEN_SHM___133 = 94,
    _SC_2_CHAR_TERM___133 = 95,
    _SC_2_C_VERSION___133 = 96,
    _SC_2_UPE___133 = 97,
    _SC_XOPEN_XPG2___133 = 98,
    _SC_XOPEN_XPG3___133 = 99,
    _SC_XOPEN_XPG4___133 = 100,
    _SC_CHAR_BIT___133 = 101,
    _SC_CHAR_MAX___133 = 102,
    _SC_CHAR_MIN___133 = 103,
    _SC_INT_MAX___133 = 104,
    _SC_INT_MIN___133 = 105,
    _SC_LONG_BIT___133 = 106,
    _SC_WORD_BIT___133 = 107,
    _SC_MB_LEN_MAX___133 = 108,
    _SC_NZERO___133 = 109,
    _SC_SSIZE_MAX___133 = 110,
    _SC_SCHAR_MAX___133 = 111,
    _SC_SCHAR_MIN___133 = 112,
    _SC_SHRT_MAX___133 = 113,
    _SC_SHRT_MIN___133 = 114,
    _SC_UCHAR_MAX___133 = 115,
    _SC_UINT_MAX___133 = 116,
    _SC_ULONG_MAX___133 = 117,
    _SC_USHRT_MAX___133 = 118,
    _SC_NL_ARGMAX___133 = 119,
    _SC_NL_LANGMAX___133 = 120,
    _SC_NL_MSGMAX___133 = 121,
    _SC_NL_NMAX___133 = 122,
    _SC_NL_SETMAX___133 = 123,
    _SC_NL_TEXTMAX___133 = 124,
    _SC_XBS5_ILP32_OFF32___133 = 125,
    _SC_XBS5_ILP32_OFFBIG___133 = 126,
    _SC_XBS5_LP64_OFF64___133 = 127,
    _SC_XBS5_LPBIG_OFFBIG___133 = 128,
    _SC_XOPEN_LEGACY___133 = 129,
    _SC_XOPEN_REALTIME___133 = 130,
    _SC_XOPEN_REALTIME_THREADS___133 = 131,
    _SC_ADVISORY_INFO___133 = 132,
    _SC_BARRIERS___133 = 133,
    _SC_BASE___133 = 134,
    _SC_C_LANG_SUPPORT___133 = 135,
    _SC_C_LANG_SUPPORT_R___133 = 136,
    _SC_CLOCK_SELECTION___133 = 137,
    _SC_CPUTIME___133 = 138,
    _SC_THREAD_CPUTIME___133 = 139,
    _SC_DEVICE_IO___133 = 140,
    _SC_DEVICE_SPECIFIC___133 = 141,
    _SC_DEVICE_SPECIFIC_R___133 = 142,
    _SC_FD_MGMT___133 = 143,
    _SC_FIFO___133 = 144,
    _SC_PIPE___133 = 145,
    _SC_FILE_ATTRIBUTES___133 = 146,
    _SC_FILE_LOCKING___133 = 147,
    _SC_FILE_SYSTEM___133 = 148,
    _SC_MONOTONIC_CLOCK___133 = 149,
    _SC_MULTI_PROCESS___133 = 150,
    _SC_SINGLE_PROCESS___133 = 151,
    _SC_NETWORKING___133 = 152,
    _SC_READER_WRITER_LOCKS___133 = 153,
    _SC_SPIN_LOCKS___133 = 154,
    _SC_REGEXP___133 = 155,
    _SC_REGEX_VERSION___133 = 156,
    _SC_SHELL___133 = 157,
    _SC_SIGNALS___133 = 158,
    _SC_SPAWN___133 = 159,
    _SC_SPORADIC_SERVER___133 = 160,
    _SC_THREAD_SPORADIC_SERVER___133 = 161,
    _SC_SYSTEM_DATABASE___133 = 162,
    _SC_SYSTEM_DATABASE_R___133 = 163,
    _SC_TIMEOUTS___133 = 164,
    _SC_TYPED_MEMORY_OBJECTS___133 = 165,
    _SC_USER_GROUPS___133 = 166,
    _SC_USER_GROUPS_R___133 = 167,
    _SC_2_PBS___133 = 168,
    _SC_2_PBS_ACCOUNTING___133 = 169,
    _SC_2_PBS_LOCATE___133 = 170,
    _SC_2_PBS_MESSAGE___133 = 171,
    _SC_2_PBS_TRACK___133 = 172,
    _SC_SYMLOOP_MAX___133 = 173,
    _SC_STREAMS___133 = 174,
    _SC_2_PBS_CHECKPOINT___133 = 175,
    _SC_V6_ILP32_OFF32___133 = 176,
    _SC_V6_ILP32_OFFBIG___133 = 177,
    _SC_V6_LP64_OFF64___133 = 178,
    _SC_V6_LPBIG_OFFBIG___133 = 179,
    _SC_HOST_NAME_MAX___133 = 180,
    _SC_TRACE___133 = 181,
    _SC_TRACE_EVENT_FILTER___133 = 182,
    _SC_TRACE_INHERIT___133 = 183,
    _SC_TRACE_LOG___133 = 184,
    _SC_LEVEL1_ICACHE_SIZE___133 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___133 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___133 = 187,
    _SC_LEVEL1_DCACHE_SIZE___133 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___133 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___133 = 190,
    _SC_LEVEL2_CACHE_SIZE___133 = 191,
    _SC_LEVEL2_CACHE_ASSOC___133 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___133 = 193,
    _SC_LEVEL3_CACHE_SIZE___133 = 194,
    _SC_LEVEL3_CACHE_ASSOC___133 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___133 = 196,
    _SC_LEVEL4_CACHE_SIZE___133 = 197,
    _SC_LEVEL4_CACHE_ASSOC___133 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___133 = 199,
    _SC_IPV6___133 = 235,
    _SC_RAW_SOCKETS___133 = 236,
    _SC_V7_ILP32_OFF32___133 = 237,
    _SC_V7_ILP32_OFFBIG___133 = 238,
    _SC_V7_LP64_OFF64___133 = 239,
    _SC_V7_LPBIG_OFFBIG___133 = 240,
    _SC_SS_REPL_MAX___133 = 241,
    _SC_TRACE_EVENT_NAME_MAX___133 = 242,
    _SC_TRACE_NAME_MAX___133 = 243,
    _SC_TRACE_SYS_MAX___133 = 244,
    _SC_TRACE_USER_EVENT_MAX___133 = 245,
    _SC_XOPEN_STREAMS___133 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___133 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___133 = 248
} ;
enum __anonenum_875524036___133 {
    _CS_PATH___133 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___133 = 1,
    _CS_GNU_LIBC_VERSION___133 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___133 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___133 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___133 = 5,
    _CS_LFS_CFLAGS___133 = 1000,
    _CS_LFS_LDFLAGS___133 = 1001,
    _CS_LFS_LIBS___133 = 1002,
    _CS_LFS_LINTFLAGS___133 = 1003,
    _CS_LFS64_CFLAGS___133 = 1004,
    _CS_LFS64_LDFLAGS___133 = 1005,
    _CS_LFS64_LIBS___133 = 1006,
    _CS_LFS64_LINTFLAGS___133 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___133 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___133 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___133 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___133 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___133 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___133 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___133 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___133 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___133 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___133 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___133 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___133 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___133 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___133 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___133 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___133 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___133 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___133 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___133 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___133 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___133 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___133 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___133 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___133 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___133 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___133 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___133 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___133 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___133 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___133 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___133 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___133 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___133 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___133 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___133 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___133 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___133 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___133 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___133 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___133 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___133 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___133 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___133 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___133 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___133 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___133 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___133 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___133 = 1147,
    _CS_V6_ENV___133 = 1148,
    _CS_V7_ENV___133 = 1149
} ;
enum __anonenum_513775621___133 {
    DT_UNKNOWN___133 = 0,
    DT_FIFO___133 = 1,
    DT_CHR___133 = 2,
    DT_DIR___133 = 4,
    DT_BLK___133 = 6,
    DT_REG___133 = 8,
    DT_LNK___133 = 10,
    DT_SOCK___133 = 12,
    DT_WHT___133 = 14
} ;
enum __anonenum_77002343___133 {
    SI_ASYNCNL___133 = -60,
    SI_TKILL___133 = -6,
    SI_SIGIO___133 = -5,
    SI_ASYNCIO___133 = -4,
    SI_MESGQ___133 = -3,
    SI_TIMER___133 = -2,
    SI_QUEUE___133 = -1,
    SI_USER___133 = 0,
    SI_KERNEL___133 = 128
} ;
enum __anonenum_131038172___133 {
    ILL_ILLOPC___133 = 1,
    ILL_ILLOPN___133 = 2,
    ILL_ILLADR___133 = 3,
    ILL_ILLTRP___133 = 4,
    ILL_PRVOPC___133 = 5,
    ILL_PRVREG___133 = 6,
    ILL_COPROC___133 = 7,
    ILL_BADSTK___133 = 8
} ;
enum __anonenum_452038093___133 {
    FPE_INTDIV___133 = 1,
    FPE_INTOVF___133 = 2,
    FPE_FLTDIV___133 = 3,
    FPE_FLTOVF___133 = 4,
    FPE_FLTUND___133 = 5,
    FPE_FLTRES___133 = 6,
    FPE_FLTINV___133 = 7,
    FPE_FLTSUB___133 = 8
} ;
enum __anonenum_30976155___133 {
    SEGV_MAPERR___133 = 1,
    SEGV_ACCERR___133 = 2,
    SEGV_BNDERR___133 = 3,
    SEGV_PKUERR___133 = 4
} ;
enum __anonenum_1036286214___133 {
    BUS_ADRALN___133 = 1,
    BUS_ADRERR___133 = 2,
    BUS_OBJERR___133 = 3,
    BUS_MCEERR_AR___133 = 4,
    BUS_MCEERR_AO___133 = 5
} ;
enum __anonenum_493465559___133 {
    TRAP_BRKPT___133 = 1,
    TRAP_TRACE___133 = 2
} ;
enum __anonenum_23175539___133 {
    CLD_EXITED___133 = 1,
    CLD_KILLED___133 = 2,
    CLD_DUMPED___133 = 3,
    CLD_TRAPPED___133 = 4,
    CLD_STOPPED___133 = 5,
    CLD_CONTINUED___133 = 6
} ;
enum __anonenum_111643124___133 {
    POLL_IN___133 = 1,
    POLL_OUT___133 = 2,
    POLL_MSG___133 = 3,
    POLL_ERR___133 = 4,
    POLL_PRI___133 = 5,
    POLL_HUP___133 = 6
} ;
enum __anonenum_852341087___133 {
    SIGEV_SIGNAL___133 = 0,
    SIGEV_NONE___133 = 1,
    SIGEV_THREAD___133 = 2,
    SIGEV_THREAD_ID___133 = 4
} ;
enum __anonenum_451154152___133 {
    REG_R8___133 = 0,
    REG_R9___133 = 1,
    REG_R10___133 = 2,
    REG_R11___133 = 3,
    REG_R12___133 = 4,
    REG_R13___133 = 5,
    REG_R14___133 = 6,
    REG_R15___133 = 7,
    REG_RDI___133 = 8,
    REG_RSI___133 = 9,
    REG_RBP___133 = 10,
    REG_RBX___133 = 11,
    REG_RDX___133 = 12,
    REG_RAX___133 = 13,
    REG_RCX___133 = 14,
    REG_RSP___133 = 15,
    REG_RIP___133 = 16,
    REG_EFL___133 = 17,
    REG_CSGSFS___133 = 18,
    REG_ERR___133 = 19,
    REG_TRAPNO___133 = 20,
    REG_OLDMASK___133 = 21,
    REG_CR2___133 = 22
} ;
enum __anonenum_57186863___133 {
    SS_ONSTACK___133 = 1,
    SS_DISABLE___133 = 2
} ;
enum __anonenum_83571709___133 {
    MSG_OOB___133 = 1,
    MSG_PEEK___133 = 2,
    MSG_DONTROUTE___133 = 4,
    MSG_TRYHARD___133 = 4,
    MSG_CTRUNC___133 = 8,
    MSG_PROXY___133 = 16,
    MSG_TRUNC___133 = 32,
    MSG_DONTWAIT___133 = 64,
    MSG_EOR___133 = 128,
    MSG_WAITALL___133 = 256,
    MSG_FIN___133 = 512,
    MSG_SYN___133 = 1024,
    MSG_CONFIRM___133 = 2048,
    MSG_RST___133 = 4096,
    MSG_ERRQUEUE___133 = 8192,
    MSG_NOSIGNAL___133 = 16384,
    MSG_MORE___133 = 32768,
    MSG_WAITFORONE___133 = 65536,
    MSG_BATCH___133 = 262144,
    MSG_ZEROCOPY___133 = 67108864,
    MSG_FASTOPEN___133 = 536870912,
    MSG_CMSG_CLOEXEC___133 = 1073741824
} ;
enum __anonenum_617082774___133 {
    SCM_RIGHTS___133 = 1,
    SCM_CREDENTIALS___133 = 2
} ;
enum __anonenum_606441560___133 {
    SHUT_RD___133 = 0,
    SHUT_WR___133 = 1,
    SHUT_RDWR___133 = 2
} ;
enum __anonenum_681669233___133 {
    IPPROTO_IP___133 = 0,
    IPPROTO_ICMP___133 = 1,
    IPPROTO_IGMP___133 = 2,
    IPPROTO_IPIP___133 = 4,
    IPPROTO_TCP___133 = 6,
    IPPROTO_EGP___133 = 8,
    IPPROTO_PUP___133 = 12,
    IPPROTO_UDP___133 = 17,
    IPPROTO_IDP___133 = 22,
    IPPROTO_TP___133 = 29,
    IPPROTO_DCCP___133 = 33,
    IPPROTO_IPV6___133 = 41,
    IPPROTO_RSVP___133 = 46,
    IPPROTO_GRE___133 = 47,
    IPPROTO_ESP___133 = 50,
    IPPROTO_AH___133 = 51,
    IPPROTO_MTP___133 = 92,
    IPPROTO_BEETPH___133 = 94,
    IPPROTO_ENCAP___133 = 98,
    IPPROTO_PIM___133 = 103,
    IPPROTO_COMP___133 = 108,
    IPPROTO_SCTP___133 = 132,
    IPPROTO_UDPLITE___133 = 136,
    IPPROTO_MPLS___133 = 137,
    IPPROTO_RAW___133 = 255,
    IPPROTO_MAX___133 = 256
} ;
enum __anonenum_218739988___133 {
    IPPROTO_HOPOPTS___133 = 0,
    IPPROTO_ROUTING___133 = 43,
    IPPROTO_FRAGMENT___133 = 44,
    IPPROTO_ICMPV6___133 = 58,
    IPPROTO_NONE___133 = 59,
    IPPROTO_DSTOPTS___133 = 60,
    IPPROTO_MH___133 = 135
} ;
enum __anonenum_662268580___133 {
    IPPORT_ECHO___133 = 7,
    IPPORT_DISCARD___133 = 9,
    IPPORT_SYSTAT___133 = 11,
    IPPORT_DAYTIME___133 = 13,
    IPPORT_NETSTAT___133 = 15,
    IPPORT_FTP___133 = 21,
    IPPORT_TELNET___133 = 23,
    IPPORT_SMTP___133 = 25,
    IPPORT_TIMESERVER___133 = 37,
    IPPORT_NAMESERVER___133 = 42,
    IPPORT_WHOIS___133 = 43,
    IPPORT_MTP___133 = 57,
    IPPORT_TFTP___133 = 69,
    IPPORT_RJE___133 = 77,
    IPPORT_FINGER___133 = 79,
    IPPORT_TTYLINK___133 = 87,
    IPPORT_SUPDUP___133 = 95,
    IPPORT_EXECSERVER___133 = 512,
    IPPORT_LOGINSERVER___133 = 513,
    IPPORT_CMDSERVER___133 = 514,
    IPPORT_EFSSERVER___133 = 520,
    IPPORT_BIFFUDP___133 = 512,
    IPPORT_WHOSERVER___133 = 513,
    IPPORT_ROUTESERVER___133 = 520,
    IPPORT_RESERVED___133 = 1024,
    IPPORT_USERRESERVED___133 = 5000
} ;
enum __anonenum_788308992___133 {
    TCP_ESTABLISHED___133 = 1,
    TCP_SYN_SENT___133 = 2,
    TCP_SYN_RECV___133 = 3,
    TCP_FIN_WAIT1___133 = 4,
    TCP_FIN_WAIT2___133 = 5,
    TCP_TIME_WAIT___133 = 6,
    TCP_CLOSE___133 = 7,
    TCP_CLOSE_WAIT___133 = 8,
    TCP_LAST_ACK___133 = 9,
    TCP_LISTEN___133 = 10,
    TCP_CLOSING___133 = 11
} ;
enum __anonenum_221125648___133 {
    TCP_NO_QUEUE___133 = 0,
    TCP_RECV_QUEUE___133 = 1,
    TCP_SEND_QUEUE___133 = 2,
    TCP_QUEUES_NR___133 = 3
} ;
enum __anonenum_34415463___133 {
    PTHREAD_CREATE_JOINABLE___133 = 0,
    PTHREAD_CREATE_DETACHED___133 = 1
} ;
enum __anonenum_303612439___133 {
    PTHREAD_MUTEX_TIMED_NP___133 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___133 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___133 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___133 = 3,
    PTHREAD_MUTEX_NORMAL___133 = 0,
    PTHREAD_MUTEX_RECURSIVE___133 = 1,
    PTHREAD_MUTEX_ERRORCHECK___133 = 2,
    PTHREAD_MUTEX_DEFAULT___133 = 0,
    PTHREAD_MUTEX_FAST_NP___133 = 0
} ;
enum __anonenum_931900394___133 {
    PTHREAD_MUTEX_STALLED___133 = 0,
    PTHREAD_MUTEX_STALLED_NP___133 = 0,
    PTHREAD_MUTEX_ROBUST___133 = 1,
    PTHREAD_MUTEX_ROBUST_NP___133 = 1
} ;
enum __anonenum_205214487___133 {
    PTHREAD_PRIO_NONE___133 = 0,
    PTHREAD_PRIO_INHERIT___133 = 1,
    PTHREAD_PRIO_PROTECT___133 = 2
} ;
enum __anonenum_25043950___133 {
    PTHREAD_RWLOCK_PREFER_READER_NP___133 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___133 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___133 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___133 = 0
} ;
enum __anonenum_436439511___133 {
    PTHREAD_INHERIT_SCHED___133 = 0,
    PTHREAD_EXPLICIT_SCHED___133 = 1
} ;
enum __anonenum_998661166___133 {
    PTHREAD_SCOPE_SYSTEM___133 = 0,
    PTHREAD_SCOPE_PROCESS___133 = 1
} ;
enum __anonenum_146137331___133 {
    PTHREAD_PROCESS_PRIVATE___133 = 0,
    PTHREAD_PROCESS_SHARED___133 = 1
} ;
enum __anonenum_53396917___133 {
    PTHREAD_CANCEL_ENABLE___133 = 0,
    PTHREAD_CANCEL_DISABLE___133 = 1
} ;
enum __anonenum_904563783___133 {
    PTHREAD_CANCEL_DEFERRED___133 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___133 = 1
} ;
enum __anonenum_672052974___133 {
    SSL_CT_VALIDATION_PERMISSIVE___133 = 0,
    SSL_CT_VALIDATION_STRICT___133 = 1
} ;
enum __anonenum_437032235___134 {
    _PC_LINK_MAX___134 = 0,
    _PC_MAX_CANON___134 = 1,
    _PC_MAX_INPUT___134 = 2,
    _PC_NAME_MAX___134 = 3,
    _PC_PATH_MAX___134 = 4,
    _PC_PIPE_BUF___134 = 5,
    _PC_CHOWN_RESTRICTED___134 = 6,
    _PC_NO_TRUNC___134 = 7,
    _PC_VDISABLE___134 = 8,
    _PC_SYNC_IO___134 = 9,
    _PC_ASYNC_IO___134 = 10,
    _PC_PRIO_IO___134 = 11,
    _PC_SOCK_MAXBUF___134 = 12,
    _PC_FILESIZEBITS___134 = 13,
    _PC_REC_INCR_XFER_SIZE___134 = 14,
    _PC_REC_MAX_XFER_SIZE___134 = 15,
    _PC_REC_MIN_XFER_SIZE___134 = 16,
    _PC_REC_XFER_ALIGN___134 = 17,
    _PC_ALLOC_SIZE_MIN___134 = 18,
    _PC_SYMLINK_MAX___134 = 19,
    _PC_2_SYMLINKS___134 = 20
} ;
enum __anonenum_315186338___134 {
    _SC_ARG_MAX___134 = 0,
    _SC_CHILD_MAX___134 = 1,
    _SC_CLK_TCK___134 = 2,
    _SC_NGROUPS_MAX___134 = 3,
    _SC_OPEN_MAX___134 = 4,
    _SC_STREAM_MAX___134 = 5,
    _SC_TZNAME_MAX___134 = 6,
    _SC_JOB_CONTROL___134 = 7,
    _SC_SAVED_IDS___134 = 8,
    _SC_REALTIME_SIGNALS___134 = 9,
    _SC_PRIORITY_SCHEDULING___134 = 10,
    _SC_TIMERS___134 = 11,
    _SC_ASYNCHRONOUS_IO___134 = 12,
    _SC_PRIORITIZED_IO___134 = 13,
    _SC_SYNCHRONIZED_IO___134 = 14,
    _SC_FSYNC___134 = 15,
    _SC_MAPPED_FILES___134 = 16,
    _SC_MEMLOCK___134 = 17,
    _SC_MEMLOCK_RANGE___134 = 18,
    _SC_MEMORY_PROTECTION___134 = 19,
    _SC_MESSAGE_PASSING___134 = 20,
    _SC_SEMAPHORES___134 = 21,
    _SC_SHARED_MEMORY_OBJECTS___134 = 22,
    _SC_AIO_LISTIO_MAX___134 = 23,
    _SC_AIO_MAX___134 = 24,
    _SC_AIO_PRIO_DELTA_MAX___134 = 25,
    _SC_DELAYTIMER_MAX___134 = 26,
    _SC_MQ_OPEN_MAX___134 = 27,
    _SC_MQ_PRIO_MAX___134 = 28,
    _SC_VERSION___134 = 29,
    _SC_PAGESIZE___134 = 30,
    _SC_RTSIG_MAX___134 = 31,
    _SC_SEM_NSEMS_MAX___134 = 32,
    _SC_SEM_VALUE_MAX___134 = 33,
    _SC_SIGQUEUE_MAX___134 = 34,
    _SC_TIMER_MAX___134 = 35,
    _SC_BC_BASE_MAX___134 = 36,
    _SC_BC_DIM_MAX___134 = 37,
    _SC_BC_SCALE_MAX___134 = 38,
    _SC_BC_STRING_MAX___134 = 39,
    _SC_COLL_WEIGHTS_MAX___134 = 40,
    _SC_EQUIV_CLASS_MAX___134 = 41,
    _SC_EXPR_NEST_MAX___134 = 42,
    _SC_LINE_MAX___134 = 43,
    _SC_RE_DUP_MAX___134 = 44,
    _SC_CHARCLASS_NAME_MAX___134 = 45,
    _SC_2_VERSION___134 = 46,
    _SC_2_C_BIND___134 = 47,
    _SC_2_C_DEV___134 = 48,
    _SC_2_FORT_DEV___134 = 49,
    _SC_2_FORT_RUN___134 = 50,
    _SC_2_SW_DEV___134 = 51,
    _SC_2_LOCALEDEF___134 = 52,
    _SC_PII___134 = 53,
    _SC_PII_XTI___134 = 54,
    _SC_PII_SOCKET___134 = 55,
    _SC_PII_INTERNET___134 = 56,
    _SC_PII_OSI___134 = 57,
    _SC_POLL___134 = 58,
    _SC_SELECT___134 = 59,
    _SC_UIO_MAXIOV___134 = 60,
    _SC_IOV_MAX___134 = 60,
    _SC_PII_INTERNET_STREAM___134 = 61,
    _SC_PII_INTERNET_DGRAM___134 = 62,
    _SC_PII_OSI_COTS___134 = 63,
    _SC_PII_OSI_CLTS___134 = 64,
    _SC_PII_OSI_M___134 = 65,
    _SC_T_IOV_MAX___134 = 66,
    _SC_THREADS___134 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___134 = 68,
    _SC_GETGR_R_SIZE_MAX___134 = 69,
    _SC_GETPW_R_SIZE_MAX___134 = 70,
    _SC_LOGIN_NAME_MAX___134 = 71,
    _SC_TTY_NAME_MAX___134 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___134 = 73,
    _SC_THREAD_KEYS_MAX___134 = 74,
    _SC_THREAD_STACK_MIN___134 = 75,
    _SC_THREAD_THREADS_MAX___134 = 76,
    _SC_THREAD_ATTR_STACKADDR___134 = 77,
    _SC_THREAD_ATTR_STACKSIZE___134 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___134 = 79,
    _SC_THREAD_PRIO_INHERIT___134 = 80,
    _SC_THREAD_PRIO_PROTECT___134 = 81,
    _SC_THREAD_PROCESS_SHARED___134 = 82,
    _SC_NPROCESSORS_CONF___134 = 83,
    _SC_NPROCESSORS_ONLN___134 = 84,
    _SC_PHYS_PAGES___134 = 85,
    _SC_AVPHYS_PAGES___134 = 86,
    _SC_ATEXIT_MAX___134 = 87,
    _SC_PASS_MAX___134 = 88,
    _SC_XOPEN_VERSION___134 = 89,
    _SC_XOPEN_XCU_VERSION___134 = 90,
    _SC_XOPEN_UNIX___134 = 91,
    _SC_XOPEN_CRYPT___134 = 92,
    _SC_XOPEN_ENH_I18N___134 = 93,
    _SC_XOPEN_SHM___134 = 94,
    _SC_2_CHAR_TERM___134 = 95,
    _SC_2_C_VERSION___134 = 96,
    _SC_2_UPE___134 = 97,
    _SC_XOPEN_XPG2___134 = 98,
    _SC_XOPEN_XPG3___134 = 99,
    _SC_XOPEN_XPG4___134 = 100,
    _SC_CHAR_BIT___134 = 101,
    _SC_CHAR_MAX___134 = 102,
    _SC_CHAR_MIN___134 = 103,
    _SC_INT_MAX___134 = 104,
    _SC_INT_MIN___134 = 105,
    _SC_LONG_BIT___134 = 106,
    _SC_WORD_BIT___134 = 107,
    _SC_MB_LEN_MAX___134 = 108,
    _SC_NZERO___134 = 109,
    _SC_SSIZE_MAX___134 = 110,
    _SC_SCHAR_MAX___134 = 111,
    _SC_SCHAR_MIN___134 = 112,
    _SC_SHRT_MAX___134 = 113,
    _SC_SHRT_MIN___134 = 114,
    _SC_UCHAR_MAX___134 = 115,
    _SC_UINT_MAX___134 = 116,
    _SC_ULONG_MAX___134 = 117,
    _SC_USHRT_MAX___134 = 118,
    _SC_NL_ARGMAX___134 = 119,
    _SC_NL_LANGMAX___134 = 120,
    _SC_NL_MSGMAX___134 = 121,
    _SC_NL_NMAX___134 = 122,
    _SC_NL_SETMAX___134 = 123,
    _SC_NL_TEXTMAX___134 = 124,
    _SC_XBS5_ILP32_OFF32___134 = 125,
    _SC_XBS5_ILP32_OFFBIG___134 = 126,
    _SC_XBS5_LP64_OFF64___134 = 127,
    _SC_XBS5_LPBIG_OFFBIG___134 = 128,
    _SC_XOPEN_LEGACY___134 = 129,
    _SC_XOPEN_REALTIME___134 = 130,
    _SC_XOPEN_REALTIME_THREADS___134 = 131,
    _SC_ADVISORY_INFO___134 = 132,
    _SC_BARRIERS___134 = 133,
    _SC_BASE___134 = 134,
    _SC_C_LANG_SUPPORT___134 = 135,
    _SC_C_LANG_SUPPORT_R___134 = 136,
    _SC_CLOCK_SELECTION___134 = 137,
    _SC_CPUTIME___134 = 138,
    _SC_THREAD_CPUTIME___134 = 139,
    _SC_DEVICE_IO___134 = 140,
    _SC_DEVICE_SPECIFIC___134 = 141,
    _SC_DEVICE_SPECIFIC_R___134 = 142,
    _SC_FD_MGMT___134 = 143,
    _SC_FIFO___134 = 144,
    _SC_PIPE___134 = 145,
    _SC_FILE_ATTRIBUTES___134 = 146,
    _SC_FILE_LOCKING___134 = 147,
    _SC_FILE_SYSTEM___134 = 148,
    _SC_MONOTONIC_CLOCK___134 = 149,
    _SC_MULTI_PROCESS___134 = 150,
    _SC_SINGLE_PROCESS___134 = 151,
    _SC_NETWORKING___134 = 152,
    _SC_READER_WRITER_LOCKS___134 = 153,
    _SC_SPIN_LOCKS___134 = 154,
    _SC_REGEXP___134 = 155,
    _SC_REGEX_VERSION___134 = 156,
    _SC_SHELL___134 = 157,
    _SC_SIGNALS___134 = 158,
    _SC_SPAWN___134 = 159,
    _SC_SPORADIC_SERVER___134 = 160,
    _SC_THREAD_SPORADIC_SERVER___134 = 161,
    _SC_SYSTEM_DATABASE___134 = 162,
    _SC_SYSTEM_DATABASE_R___134 = 163,
    _SC_TIMEOUTS___134 = 164,
    _SC_TYPED_MEMORY_OBJECTS___134 = 165,
    _SC_USER_GROUPS___134 = 166,
    _SC_USER_GROUPS_R___134 = 167,
    _SC_2_PBS___134 = 168,
    _SC_2_PBS_ACCOUNTING___134 = 169,
    _SC_2_PBS_LOCATE___134 = 170,
    _SC_2_PBS_MESSAGE___134 = 171,
    _SC_2_PBS_TRACK___134 = 172,
    _SC_SYMLOOP_MAX___134 = 173,
    _SC_STREAMS___134 = 174,
    _SC_2_PBS_CHECKPOINT___134 = 175,
    _SC_V6_ILP32_OFF32___134 = 176,
    _SC_V6_ILP32_OFFBIG___134 = 177,
    _SC_V6_LP64_OFF64___134 = 178,
    _SC_V6_LPBIG_OFFBIG___134 = 179,
    _SC_HOST_NAME_MAX___134 = 180,
    _SC_TRACE___134 = 181,
    _SC_TRACE_EVENT_FILTER___134 = 182,
    _SC_TRACE_INHERIT___134 = 183,
    _SC_TRACE_LOG___134 = 184,
    _SC_LEVEL1_ICACHE_SIZE___134 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___134 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___134 = 187,
    _SC_LEVEL1_DCACHE_SIZE___134 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___134 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___134 = 190,
    _SC_LEVEL2_CACHE_SIZE___134 = 191,
    _SC_LEVEL2_CACHE_ASSOC___134 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___134 = 193,
    _SC_LEVEL3_CACHE_SIZE___134 = 194,
    _SC_LEVEL3_CACHE_ASSOC___134 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___134 = 196,
    _SC_LEVEL4_CACHE_SIZE___134 = 197,
    _SC_LEVEL4_CACHE_ASSOC___134 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___134 = 199,
    _SC_IPV6___134 = 235,
    _SC_RAW_SOCKETS___134 = 236,
    _SC_V7_ILP32_OFF32___134 = 237,
    _SC_V7_ILP32_OFFBIG___134 = 238,
    _SC_V7_LP64_OFF64___134 = 239,
    _SC_V7_LPBIG_OFFBIG___134 = 240,
    _SC_SS_REPL_MAX___134 = 241,
    _SC_TRACE_EVENT_NAME_MAX___134 = 242,
    _SC_TRACE_NAME_MAX___134 = 243,
    _SC_TRACE_SYS_MAX___134 = 244,
    _SC_TRACE_USER_EVENT_MAX___134 = 245,
    _SC_XOPEN_STREAMS___134 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___134 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___134 = 248
} ;
enum __anonenum_875524036___134 {
    _CS_PATH___134 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___134 = 1,
    _CS_GNU_LIBC_VERSION___134 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___134 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___134 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___134 = 5,
    _CS_LFS_CFLAGS___134 = 1000,
    _CS_LFS_LDFLAGS___134 = 1001,
    _CS_LFS_LIBS___134 = 1002,
    _CS_LFS_LINTFLAGS___134 = 1003,
    _CS_LFS64_CFLAGS___134 = 1004,
    _CS_LFS64_LDFLAGS___134 = 1005,
    _CS_LFS64_LIBS___134 = 1006,
    _CS_LFS64_LINTFLAGS___134 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___134 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___134 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___134 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___134 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___134 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___134 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___134 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___134 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___134 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___134 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___134 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___134 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___134 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___134 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___134 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___134 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___134 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___134 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___134 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___134 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___134 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___134 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___134 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___134 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___134 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___134 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___134 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___134 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___134 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___134 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___134 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___134 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___134 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___134 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___134 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___134 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___134 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___134 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___134 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___134 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___134 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___134 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___134 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___134 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___134 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___134 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___134 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___134 = 1147,
    _CS_V6_ENV___134 = 1148,
    _CS_V7_ENV___134 = 1149
} ;
enum __anonenum_513775621___134 {
    DT_UNKNOWN___134 = 0,
    DT_FIFO___134 = 1,
    DT_CHR___134 = 2,
    DT_DIR___134 = 4,
    DT_BLK___134 = 6,
    DT_REG___134 = 8,
    DT_LNK___134 = 10,
    DT_SOCK___134 = 12,
    DT_WHT___134 = 14
} ;
enum __anonenum_77002343___134 {
    SI_ASYNCNL___134 = -60,
    SI_TKILL___134 = -6,
    SI_SIGIO___134 = -5,
    SI_ASYNCIO___134 = -4,
    SI_MESGQ___134 = -3,
    SI_TIMER___134 = -2,
    SI_QUEUE___134 = -1,
    SI_USER___134 = 0,
    SI_KERNEL___134 = 128
} ;
enum __anonenum_131038172___134 {
    ILL_ILLOPC___134 = 1,
    ILL_ILLOPN___134 = 2,
    ILL_ILLADR___134 = 3,
    ILL_ILLTRP___134 = 4,
    ILL_PRVOPC___134 = 5,
    ILL_PRVREG___134 = 6,
    ILL_COPROC___134 = 7,
    ILL_BADSTK___134 = 8
} ;
enum __anonenum_452038093___134 {
    FPE_INTDIV___134 = 1,
    FPE_INTOVF___134 = 2,
    FPE_FLTDIV___134 = 3,
    FPE_FLTOVF___134 = 4,
    FPE_FLTUND___134 = 5,
    FPE_FLTRES___134 = 6,
    FPE_FLTINV___134 = 7,
    FPE_FLTSUB___134 = 8
} ;
enum __anonenum_30976155___134 {
    SEGV_MAPERR___134 = 1,
    SEGV_ACCERR___134 = 2,
    SEGV_BNDERR___134 = 3,
    SEGV_PKUERR___134 = 4
} ;
enum __anonenum_1036286214___134 {
    BUS_ADRALN___134 = 1,
    BUS_ADRERR___134 = 2,
    BUS_OBJERR___134 = 3,
    BUS_MCEERR_AR___134 = 4,
    BUS_MCEERR_AO___134 = 5
} ;
enum __anonenum_493465559___134 {
    TRAP_BRKPT___134 = 1,
    TRAP_TRACE___134 = 2
} ;
enum __anonenum_23175539___134 {
    CLD_EXITED___134 = 1,
    CLD_KILLED___134 = 2,
    CLD_DUMPED___134 = 3,
    CLD_TRAPPED___134 = 4,
    CLD_STOPPED___134 = 5,
    CLD_CONTINUED___134 = 6
} ;
enum __anonenum_111643124___134 {
    POLL_IN___134 = 1,
    POLL_OUT___134 = 2,
    POLL_MSG___134 = 3,
    POLL_ERR___134 = 4,
    POLL_PRI___134 = 5,
    POLL_HUP___134 = 6
} ;
enum __anonenum_852341087___134 {
    SIGEV_SIGNAL___134 = 0,
    SIGEV_NONE___134 = 1,
    SIGEV_THREAD___134 = 2,
    SIGEV_THREAD_ID___134 = 4
} ;
enum __anonenum_451154152___134 {
    REG_R8___134 = 0,
    REG_R9___134 = 1,
    REG_R10___134 = 2,
    REG_R11___134 = 3,
    REG_R12___134 = 4,
    REG_R13___134 = 5,
    REG_R14___134 = 6,
    REG_R15___134 = 7,
    REG_RDI___134 = 8,
    REG_RSI___134 = 9,
    REG_RBP___134 = 10,
    REG_RBX___134 = 11,
    REG_RDX___134 = 12,
    REG_RAX___134 = 13,
    REG_RCX___134 = 14,
    REG_RSP___134 = 15,
    REG_RIP___134 = 16,
    REG_EFL___134 = 17,
    REG_CSGSFS___134 = 18,
    REG_ERR___134 = 19,
    REG_TRAPNO___134 = 20,
    REG_OLDMASK___134 = 21,
    REG_CR2___134 = 22
} ;
enum __anonenum_57186863___134 {
    SS_ONSTACK___134 = 1,
    SS_DISABLE___134 = 2
} ;
enum __anonenum_83571709___134 {
    MSG_OOB___134 = 1,
    MSG_PEEK___134 = 2,
    MSG_DONTROUTE___134 = 4,
    MSG_TRYHARD___134 = 4,
    MSG_CTRUNC___134 = 8,
    MSG_PROXY___134 = 16,
    MSG_TRUNC___134 = 32,
    MSG_DONTWAIT___134 = 64,
    MSG_EOR___134 = 128,
    MSG_WAITALL___134 = 256,
    MSG_FIN___134 = 512,
    MSG_SYN___134 = 1024,
    MSG_CONFIRM___134 = 2048,
    MSG_RST___134 = 4096,
    MSG_ERRQUEUE___134 = 8192,
    MSG_NOSIGNAL___134 = 16384,
    MSG_MORE___134 = 32768,
    MSG_WAITFORONE___134 = 65536,
    MSG_BATCH___134 = 262144,
    MSG_ZEROCOPY___134 = 67108864,
    MSG_FASTOPEN___134 = 536870912,
    MSG_CMSG_CLOEXEC___134 = 1073741824
} ;
enum __anonenum_617082774___134 {
    SCM_RIGHTS___134 = 1,
    SCM_CREDENTIALS___134 = 2
} ;
enum __anonenum_606441560___134 {
    SHUT_RD___134 = 0,
    SHUT_WR___134 = 1,
    SHUT_RDWR___134 = 2
} ;
enum __anonenum_681669233___134 {
    IPPROTO_IP___134 = 0,
    IPPROTO_ICMP___134 = 1,
    IPPROTO_IGMP___134 = 2,
    IPPROTO_IPIP___134 = 4,
    IPPROTO_TCP___134 = 6,
    IPPROTO_EGP___134 = 8,
    IPPROTO_PUP___134 = 12,
    IPPROTO_UDP___134 = 17,
    IPPROTO_IDP___134 = 22,
    IPPROTO_TP___134 = 29,
    IPPROTO_DCCP___134 = 33,
    IPPROTO_IPV6___134 = 41,
    IPPROTO_RSVP___134 = 46,
    IPPROTO_GRE___134 = 47,
    IPPROTO_ESP___134 = 50,
    IPPROTO_AH___134 = 51,
    IPPROTO_MTP___134 = 92,
    IPPROTO_BEETPH___134 = 94,
    IPPROTO_ENCAP___134 = 98,
    IPPROTO_PIM___134 = 103,
    IPPROTO_COMP___134 = 108,
    IPPROTO_SCTP___134 = 132,
    IPPROTO_UDPLITE___134 = 136,
    IPPROTO_MPLS___134 = 137,
    IPPROTO_RAW___134 = 255,
    IPPROTO_MAX___134 = 256
} ;
enum __anonenum_218739988___134 {
    IPPROTO_HOPOPTS___134 = 0,
    IPPROTO_ROUTING___134 = 43,
    IPPROTO_FRAGMENT___134 = 44,
    IPPROTO_ICMPV6___134 = 58,
    IPPROTO_NONE___134 = 59,
    IPPROTO_DSTOPTS___134 = 60,
    IPPROTO_MH___134 = 135
} ;
enum __anonenum_662268580___134 {
    IPPORT_ECHO___134 = 7,
    IPPORT_DISCARD___134 = 9,
    IPPORT_SYSTAT___134 = 11,
    IPPORT_DAYTIME___134 = 13,
    IPPORT_NETSTAT___134 = 15,
    IPPORT_FTP___134 = 21,
    IPPORT_TELNET___134 = 23,
    IPPORT_SMTP___134 = 25,
    IPPORT_TIMESERVER___134 = 37,
    IPPORT_NAMESERVER___134 = 42,
    IPPORT_WHOIS___134 = 43,
    IPPORT_MTP___134 = 57,
    IPPORT_TFTP___134 = 69,
    IPPORT_RJE___134 = 77,
    IPPORT_FINGER___134 = 79,
    IPPORT_TTYLINK___134 = 87,
    IPPORT_SUPDUP___134 = 95,
    IPPORT_EXECSERVER___134 = 512,
    IPPORT_LOGINSERVER___134 = 513,
    IPPORT_CMDSERVER___134 = 514,
    IPPORT_EFSSERVER___134 = 520,
    IPPORT_BIFFUDP___134 = 512,
    IPPORT_WHOSERVER___134 = 513,
    IPPORT_ROUTESERVER___134 = 520,
    IPPORT_RESERVED___134 = 1024,
    IPPORT_USERRESERVED___134 = 5000
} ;
enum __anonenum_788308992___134 {
    TCP_ESTABLISHED___134 = 1,
    TCP_SYN_SENT___134 = 2,
    TCP_SYN_RECV___134 = 3,
    TCP_FIN_WAIT1___134 = 4,
    TCP_FIN_WAIT2___134 = 5,
    TCP_TIME_WAIT___134 = 6,
    TCP_CLOSE___134 = 7,
    TCP_CLOSE_WAIT___134 = 8,
    TCP_LAST_ACK___134 = 9,
    TCP_LISTEN___134 = 10,
    TCP_CLOSING___134 = 11
} ;
enum __anonenum_221125648___134 {
    TCP_NO_QUEUE___134 = 0,
    TCP_RECV_QUEUE___134 = 1,
    TCP_SEND_QUEUE___134 = 2,
    TCP_QUEUES_NR___134 = 3
} ;
enum __anonenum_34415463___134 {
    PTHREAD_CREATE_JOINABLE___134 = 0,
    PTHREAD_CREATE_DETACHED___134 = 1
} ;
enum __anonenum_303612439___134 {
    PTHREAD_MUTEX_TIMED_NP___134 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___134 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___134 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___134 = 3,
    PTHREAD_MUTEX_NORMAL___134 = 0,
    PTHREAD_MUTEX_RECURSIVE___134 = 1,
    PTHREAD_MUTEX_ERRORCHECK___134 = 2,
    PTHREAD_MUTEX_DEFAULT___134 = 0,
    PTHREAD_MUTEX_FAST_NP___134 = 0
} ;
enum __anonenum_931900394___134 {
    PTHREAD_MUTEX_STALLED___134 = 0,
    PTHREAD_MUTEX_STALLED_NP___134 = 0,
    PTHREAD_MUTEX_ROBUST___134 = 1,
    PTHREAD_MUTEX_ROBUST_NP___134 = 1
} ;
enum __anonenum_205214487___134 {
    PTHREAD_PRIO_NONE___134 = 0,
    PTHREAD_PRIO_INHERIT___134 = 1,
    PTHREAD_PRIO_PROTECT___134 = 2
} ;
enum __anonenum_25043950___134 {
    PTHREAD_RWLOCK_PREFER_READER_NP___134 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___134 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___134 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___134 = 0
} ;
enum __anonenum_436439511___134 {
    PTHREAD_INHERIT_SCHED___134 = 0,
    PTHREAD_EXPLICIT_SCHED___134 = 1
} ;
enum __anonenum_998661166___134 {
    PTHREAD_SCOPE_SYSTEM___134 = 0,
    PTHREAD_SCOPE_PROCESS___134 = 1
} ;
enum __anonenum_146137331___134 {
    PTHREAD_PROCESS_PRIVATE___134 = 0,
    PTHREAD_PROCESS_SHARED___134 = 1
} ;
enum __anonenum_53396917___134 {
    PTHREAD_CANCEL_ENABLE___134 = 0,
    PTHREAD_CANCEL_DISABLE___134 = 1
} ;
enum __anonenum_904563783___134 {
    PTHREAD_CANCEL_DEFERRED___134 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___134 = 1
} ;
enum __anonenum_672052974___134 {
    SSL_CT_VALIDATION_PERMISSIVE___134 = 0,
    SSL_CT_VALIDATION_STRICT___134 = 1
} ;
struct patch_id {
   struct hashmap_entry ent ;
   struct object_id patch_id ;
   struct commit *commit ;
};
struct patch_ids {
   struct hashmap patches ;
   struct diff_options diffopts ;
};
enum __anonenum_437032235___135 {
    _PC_LINK_MAX___135 = 0,
    _PC_MAX_CANON___135 = 1,
    _PC_MAX_INPUT___135 = 2,
    _PC_NAME_MAX___135 = 3,
    _PC_PATH_MAX___135 = 4,
    _PC_PIPE_BUF___135 = 5,
    _PC_CHOWN_RESTRICTED___135 = 6,
    _PC_NO_TRUNC___135 = 7,
    _PC_VDISABLE___135 = 8,
    _PC_SYNC_IO___135 = 9,
    _PC_ASYNC_IO___135 = 10,
    _PC_PRIO_IO___135 = 11,
    _PC_SOCK_MAXBUF___135 = 12,
    _PC_FILESIZEBITS___135 = 13,
    _PC_REC_INCR_XFER_SIZE___135 = 14,
    _PC_REC_MAX_XFER_SIZE___135 = 15,
    _PC_REC_MIN_XFER_SIZE___135 = 16,
    _PC_REC_XFER_ALIGN___135 = 17,
    _PC_ALLOC_SIZE_MIN___135 = 18,
    _PC_SYMLINK_MAX___135 = 19,
    _PC_2_SYMLINKS___135 = 20
} ;
enum __anonenum_315186338___135 {
    _SC_ARG_MAX___135 = 0,
    _SC_CHILD_MAX___135 = 1,
    _SC_CLK_TCK___135 = 2,
    _SC_NGROUPS_MAX___135 = 3,
    _SC_OPEN_MAX___135 = 4,
    _SC_STREAM_MAX___135 = 5,
    _SC_TZNAME_MAX___135 = 6,
    _SC_JOB_CONTROL___135 = 7,
    _SC_SAVED_IDS___135 = 8,
    _SC_REALTIME_SIGNALS___135 = 9,
    _SC_PRIORITY_SCHEDULING___135 = 10,
    _SC_TIMERS___135 = 11,
    _SC_ASYNCHRONOUS_IO___135 = 12,
    _SC_PRIORITIZED_IO___135 = 13,
    _SC_SYNCHRONIZED_IO___135 = 14,
    _SC_FSYNC___135 = 15,
    _SC_MAPPED_FILES___135 = 16,
    _SC_MEMLOCK___135 = 17,
    _SC_MEMLOCK_RANGE___135 = 18,
    _SC_MEMORY_PROTECTION___135 = 19,
    _SC_MESSAGE_PASSING___135 = 20,
    _SC_SEMAPHORES___135 = 21,
    _SC_SHARED_MEMORY_OBJECTS___135 = 22,
    _SC_AIO_LISTIO_MAX___135 = 23,
    _SC_AIO_MAX___135 = 24,
    _SC_AIO_PRIO_DELTA_MAX___135 = 25,
    _SC_DELAYTIMER_MAX___135 = 26,
    _SC_MQ_OPEN_MAX___135 = 27,
    _SC_MQ_PRIO_MAX___135 = 28,
    _SC_VERSION___135 = 29,
    _SC_PAGESIZE___135 = 30,
    _SC_RTSIG_MAX___135 = 31,
    _SC_SEM_NSEMS_MAX___135 = 32,
    _SC_SEM_VALUE_MAX___135 = 33,
    _SC_SIGQUEUE_MAX___135 = 34,
    _SC_TIMER_MAX___135 = 35,
    _SC_BC_BASE_MAX___135 = 36,
    _SC_BC_DIM_MAX___135 = 37,
    _SC_BC_SCALE_MAX___135 = 38,
    _SC_BC_STRING_MAX___135 = 39,
    _SC_COLL_WEIGHTS_MAX___135 = 40,
    _SC_EQUIV_CLASS_MAX___135 = 41,
    _SC_EXPR_NEST_MAX___135 = 42,
    _SC_LINE_MAX___135 = 43,
    _SC_RE_DUP_MAX___135 = 44,
    _SC_CHARCLASS_NAME_MAX___135 = 45,
    _SC_2_VERSION___135 = 46,
    _SC_2_C_BIND___135 = 47,
    _SC_2_C_DEV___135 = 48,
    _SC_2_FORT_DEV___135 = 49,
    _SC_2_FORT_RUN___135 = 50,
    _SC_2_SW_DEV___135 = 51,
    _SC_2_LOCALEDEF___135 = 52,
    _SC_PII___135 = 53,
    _SC_PII_XTI___135 = 54,
    _SC_PII_SOCKET___135 = 55,
    _SC_PII_INTERNET___135 = 56,
    _SC_PII_OSI___135 = 57,
    _SC_POLL___135 = 58,
    _SC_SELECT___135 = 59,
    _SC_UIO_MAXIOV___135 = 60,
    _SC_IOV_MAX___135 = 60,
    _SC_PII_INTERNET_STREAM___135 = 61,
    _SC_PII_INTERNET_DGRAM___135 = 62,
    _SC_PII_OSI_COTS___135 = 63,
    _SC_PII_OSI_CLTS___135 = 64,
    _SC_PII_OSI_M___135 = 65,
    _SC_T_IOV_MAX___135 = 66,
    _SC_THREADS___135 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___135 = 68,
    _SC_GETGR_R_SIZE_MAX___135 = 69,
    _SC_GETPW_R_SIZE_MAX___135 = 70,
    _SC_LOGIN_NAME_MAX___135 = 71,
    _SC_TTY_NAME_MAX___135 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___135 = 73,
    _SC_THREAD_KEYS_MAX___135 = 74,
    _SC_THREAD_STACK_MIN___135 = 75,
    _SC_THREAD_THREADS_MAX___135 = 76,
    _SC_THREAD_ATTR_STACKADDR___135 = 77,
    _SC_THREAD_ATTR_STACKSIZE___135 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___135 = 79,
    _SC_THREAD_PRIO_INHERIT___135 = 80,
    _SC_THREAD_PRIO_PROTECT___135 = 81,
    _SC_THREAD_PROCESS_SHARED___135 = 82,
    _SC_NPROCESSORS_CONF___135 = 83,
    _SC_NPROCESSORS_ONLN___135 = 84,
    _SC_PHYS_PAGES___135 = 85,
    _SC_AVPHYS_PAGES___135 = 86,
    _SC_ATEXIT_MAX___135 = 87,
    _SC_PASS_MAX___135 = 88,
    _SC_XOPEN_VERSION___135 = 89,
    _SC_XOPEN_XCU_VERSION___135 = 90,
    _SC_XOPEN_UNIX___135 = 91,
    _SC_XOPEN_CRYPT___135 = 92,
    _SC_XOPEN_ENH_I18N___135 = 93,
    _SC_XOPEN_SHM___135 = 94,
    _SC_2_CHAR_TERM___135 = 95,
    _SC_2_C_VERSION___135 = 96,
    _SC_2_UPE___135 = 97,
    _SC_XOPEN_XPG2___135 = 98,
    _SC_XOPEN_XPG3___135 = 99,
    _SC_XOPEN_XPG4___135 = 100,
    _SC_CHAR_BIT___135 = 101,
    _SC_CHAR_MAX___135 = 102,
    _SC_CHAR_MIN___135 = 103,
    _SC_INT_MAX___135 = 104,
    _SC_INT_MIN___135 = 105,
    _SC_LONG_BIT___135 = 106,
    _SC_WORD_BIT___135 = 107,
    _SC_MB_LEN_MAX___135 = 108,
    _SC_NZERO___135 = 109,
    _SC_SSIZE_MAX___135 = 110,
    _SC_SCHAR_MAX___135 = 111,
    _SC_SCHAR_MIN___135 = 112,
    _SC_SHRT_MAX___135 = 113,
    _SC_SHRT_MIN___135 = 114,
    _SC_UCHAR_MAX___135 = 115,
    _SC_UINT_MAX___135 = 116,
    _SC_ULONG_MAX___135 = 117,
    _SC_USHRT_MAX___135 = 118,
    _SC_NL_ARGMAX___135 = 119,
    _SC_NL_LANGMAX___135 = 120,
    _SC_NL_MSGMAX___135 = 121,
    _SC_NL_NMAX___135 = 122,
    _SC_NL_SETMAX___135 = 123,
    _SC_NL_TEXTMAX___135 = 124,
    _SC_XBS5_ILP32_OFF32___135 = 125,
    _SC_XBS5_ILP32_OFFBIG___135 = 126,
    _SC_XBS5_LP64_OFF64___135 = 127,
    _SC_XBS5_LPBIG_OFFBIG___135 = 128,
    _SC_XOPEN_LEGACY___135 = 129,
    _SC_XOPEN_REALTIME___135 = 130,
    _SC_XOPEN_REALTIME_THREADS___135 = 131,
    _SC_ADVISORY_INFO___135 = 132,
    _SC_BARRIERS___135 = 133,
    _SC_BASE___135 = 134,
    _SC_C_LANG_SUPPORT___135 = 135,
    _SC_C_LANG_SUPPORT_R___135 = 136,
    _SC_CLOCK_SELECTION___135 = 137,
    _SC_CPUTIME___135 = 138,
    _SC_THREAD_CPUTIME___135 = 139,
    _SC_DEVICE_IO___135 = 140,
    _SC_DEVICE_SPECIFIC___135 = 141,
    _SC_DEVICE_SPECIFIC_R___135 = 142,
    _SC_FD_MGMT___135 = 143,
    _SC_FIFO___135 = 144,
    _SC_PIPE___135 = 145,
    _SC_FILE_ATTRIBUTES___135 = 146,
    _SC_FILE_LOCKING___135 = 147,
    _SC_FILE_SYSTEM___135 = 148,
    _SC_MONOTONIC_CLOCK___135 = 149,
    _SC_MULTI_PROCESS___135 = 150,
    _SC_SINGLE_PROCESS___135 = 151,
    _SC_NETWORKING___135 = 152,
    _SC_READER_WRITER_LOCKS___135 = 153,
    _SC_SPIN_LOCKS___135 = 154,
    _SC_REGEXP___135 = 155,
    _SC_REGEX_VERSION___135 = 156,
    _SC_SHELL___135 = 157,
    _SC_SIGNALS___135 = 158,
    _SC_SPAWN___135 = 159,
    _SC_SPORADIC_SERVER___135 = 160,
    _SC_THREAD_SPORADIC_SERVER___135 = 161,
    _SC_SYSTEM_DATABASE___135 = 162,
    _SC_SYSTEM_DATABASE_R___135 = 163,
    _SC_TIMEOUTS___135 = 164,
    _SC_TYPED_MEMORY_OBJECTS___135 = 165,
    _SC_USER_GROUPS___135 = 166,
    _SC_USER_GROUPS_R___135 = 167,
    _SC_2_PBS___135 = 168,
    _SC_2_PBS_ACCOUNTING___135 = 169,
    _SC_2_PBS_LOCATE___135 = 170,
    _SC_2_PBS_MESSAGE___135 = 171,
    _SC_2_PBS_TRACK___135 = 172,
    _SC_SYMLOOP_MAX___135 = 173,
    _SC_STREAMS___135 = 174,
    _SC_2_PBS_CHECKPOINT___135 = 175,
    _SC_V6_ILP32_OFF32___135 = 176,
    _SC_V6_ILP32_OFFBIG___135 = 177,
    _SC_V6_LP64_OFF64___135 = 178,
    _SC_V6_LPBIG_OFFBIG___135 = 179,
    _SC_HOST_NAME_MAX___135 = 180,
    _SC_TRACE___135 = 181,
    _SC_TRACE_EVENT_FILTER___135 = 182,
    _SC_TRACE_INHERIT___135 = 183,
    _SC_TRACE_LOG___135 = 184,
    _SC_LEVEL1_ICACHE_SIZE___135 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___135 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___135 = 187,
    _SC_LEVEL1_DCACHE_SIZE___135 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___135 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___135 = 190,
    _SC_LEVEL2_CACHE_SIZE___135 = 191,
    _SC_LEVEL2_CACHE_ASSOC___135 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___135 = 193,
    _SC_LEVEL3_CACHE_SIZE___135 = 194,
    _SC_LEVEL3_CACHE_ASSOC___135 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___135 = 196,
    _SC_LEVEL4_CACHE_SIZE___135 = 197,
    _SC_LEVEL4_CACHE_ASSOC___135 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___135 = 199,
    _SC_IPV6___135 = 235,
    _SC_RAW_SOCKETS___135 = 236,
    _SC_V7_ILP32_OFF32___135 = 237,
    _SC_V7_ILP32_OFFBIG___135 = 238,
    _SC_V7_LP64_OFF64___135 = 239,
    _SC_V7_LPBIG_OFFBIG___135 = 240,
    _SC_SS_REPL_MAX___135 = 241,
    _SC_TRACE_EVENT_NAME_MAX___135 = 242,
    _SC_TRACE_NAME_MAX___135 = 243,
    _SC_TRACE_SYS_MAX___135 = 244,
    _SC_TRACE_USER_EVENT_MAX___135 = 245,
    _SC_XOPEN_STREAMS___135 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___135 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___135 = 248
} ;
enum __anonenum_875524036___135 {
    _CS_PATH___135 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___135 = 1,
    _CS_GNU_LIBC_VERSION___135 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___135 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___135 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___135 = 5,
    _CS_LFS_CFLAGS___135 = 1000,
    _CS_LFS_LDFLAGS___135 = 1001,
    _CS_LFS_LIBS___135 = 1002,
    _CS_LFS_LINTFLAGS___135 = 1003,
    _CS_LFS64_CFLAGS___135 = 1004,
    _CS_LFS64_LDFLAGS___135 = 1005,
    _CS_LFS64_LIBS___135 = 1006,
    _CS_LFS64_LINTFLAGS___135 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___135 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___135 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___135 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___135 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___135 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___135 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___135 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___135 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___135 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___135 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___135 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___135 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___135 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___135 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___135 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___135 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___135 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___135 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___135 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___135 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___135 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___135 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___135 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___135 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___135 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___135 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___135 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___135 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___135 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___135 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___135 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___135 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___135 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___135 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___135 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___135 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___135 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___135 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___135 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___135 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___135 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___135 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___135 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___135 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___135 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___135 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___135 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___135 = 1147,
    _CS_V6_ENV___135 = 1148,
    _CS_V7_ENV___135 = 1149
} ;
enum __anonenum_513775621___135 {
    DT_UNKNOWN___135 = 0,
    DT_FIFO___135 = 1,
    DT_CHR___135 = 2,
    DT_DIR___135 = 4,
    DT_BLK___135 = 6,
    DT_REG___135 = 8,
    DT_LNK___135 = 10,
    DT_SOCK___135 = 12,
    DT_WHT___135 = 14
} ;
enum __anonenum_77002343___135 {
    SI_ASYNCNL___135 = -60,
    SI_TKILL___135 = -6,
    SI_SIGIO___135 = -5,
    SI_ASYNCIO___135 = -4,
    SI_MESGQ___135 = -3,
    SI_TIMER___135 = -2,
    SI_QUEUE___135 = -1,
    SI_USER___135 = 0,
    SI_KERNEL___135 = 128
} ;
enum __anonenum_131038172___135 {
    ILL_ILLOPC___135 = 1,
    ILL_ILLOPN___135 = 2,
    ILL_ILLADR___135 = 3,
    ILL_ILLTRP___135 = 4,
    ILL_PRVOPC___135 = 5,
    ILL_PRVREG___135 = 6,
    ILL_COPROC___135 = 7,
    ILL_BADSTK___135 = 8
} ;
enum __anonenum_452038093___135 {
    FPE_INTDIV___135 = 1,
    FPE_INTOVF___135 = 2,
    FPE_FLTDIV___135 = 3,
    FPE_FLTOVF___135 = 4,
    FPE_FLTUND___135 = 5,
    FPE_FLTRES___135 = 6,
    FPE_FLTINV___135 = 7,
    FPE_FLTSUB___135 = 8
} ;
enum __anonenum_30976155___135 {
    SEGV_MAPERR___135 = 1,
    SEGV_ACCERR___135 = 2,
    SEGV_BNDERR___135 = 3,
    SEGV_PKUERR___135 = 4
} ;
enum __anonenum_1036286214___135 {
    BUS_ADRALN___135 = 1,
    BUS_ADRERR___135 = 2,
    BUS_OBJERR___135 = 3,
    BUS_MCEERR_AR___135 = 4,
    BUS_MCEERR_AO___135 = 5
} ;
enum __anonenum_493465559___135 {
    TRAP_BRKPT___135 = 1,
    TRAP_TRACE___135 = 2
} ;
enum __anonenum_23175539___135 {
    CLD_EXITED___135 = 1,
    CLD_KILLED___135 = 2,
    CLD_DUMPED___135 = 3,
    CLD_TRAPPED___135 = 4,
    CLD_STOPPED___135 = 5,
    CLD_CONTINUED___135 = 6
} ;
enum __anonenum_111643124___135 {
    POLL_IN___135 = 1,
    POLL_OUT___135 = 2,
    POLL_MSG___135 = 3,
    POLL_ERR___135 = 4,
    POLL_PRI___135 = 5,
    POLL_HUP___135 = 6
} ;
enum __anonenum_852341087___135 {
    SIGEV_SIGNAL___135 = 0,
    SIGEV_NONE___135 = 1,
    SIGEV_THREAD___135 = 2,
    SIGEV_THREAD_ID___135 = 4
} ;
enum __anonenum_451154152___135 {
    REG_R8___135 = 0,
    REG_R9___135 = 1,
    REG_R10___135 = 2,
    REG_R11___135 = 3,
    REG_R12___135 = 4,
    REG_R13___135 = 5,
    REG_R14___135 = 6,
    REG_R15___135 = 7,
    REG_RDI___135 = 8,
    REG_RSI___135 = 9,
    REG_RBP___135 = 10,
    REG_RBX___135 = 11,
    REG_RDX___135 = 12,
    REG_RAX___135 = 13,
    REG_RCX___135 = 14,
    REG_RSP___135 = 15,
    REG_RIP___135 = 16,
    REG_EFL___135 = 17,
    REG_CSGSFS___135 = 18,
    REG_ERR___135 = 19,
    REG_TRAPNO___135 = 20,
    REG_OLDMASK___135 = 21,
    REG_CR2___135 = 22
} ;
enum __anonenum_57186863___135 {
    SS_ONSTACK___135 = 1,
    SS_DISABLE___135 = 2
} ;
enum __anonenum_83571709___135 {
    MSG_OOB___135 = 1,
    MSG_PEEK___135 = 2,
    MSG_DONTROUTE___135 = 4,
    MSG_TRYHARD___135 = 4,
    MSG_CTRUNC___135 = 8,
    MSG_PROXY___135 = 16,
    MSG_TRUNC___135 = 32,
    MSG_DONTWAIT___135 = 64,
    MSG_EOR___135 = 128,
    MSG_WAITALL___135 = 256,
    MSG_FIN___135 = 512,
    MSG_SYN___135 = 1024,
    MSG_CONFIRM___135 = 2048,
    MSG_RST___135 = 4096,
    MSG_ERRQUEUE___135 = 8192,
    MSG_NOSIGNAL___135 = 16384,
    MSG_MORE___135 = 32768,
    MSG_WAITFORONE___135 = 65536,
    MSG_BATCH___135 = 262144,
    MSG_ZEROCOPY___135 = 67108864,
    MSG_FASTOPEN___135 = 536870912,
    MSG_CMSG_CLOEXEC___135 = 1073741824
} ;
enum __anonenum_617082774___135 {
    SCM_RIGHTS___135 = 1,
    SCM_CREDENTIALS___135 = 2
} ;
enum __anonenum_606441560___135 {
    SHUT_RD___135 = 0,
    SHUT_WR___135 = 1,
    SHUT_RDWR___135 = 2
} ;
enum __anonenum_681669233___135 {
    IPPROTO_IP___135 = 0,
    IPPROTO_ICMP___135 = 1,
    IPPROTO_IGMP___135 = 2,
    IPPROTO_IPIP___135 = 4,
    IPPROTO_TCP___135 = 6,
    IPPROTO_EGP___135 = 8,
    IPPROTO_PUP___135 = 12,
    IPPROTO_UDP___135 = 17,
    IPPROTO_IDP___135 = 22,
    IPPROTO_TP___135 = 29,
    IPPROTO_DCCP___135 = 33,
    IPPROTO_IPV6___135 = 41,
    IPPROTO_RSVP___135 = 46,
    IPPROTO_GRE___135 = 47,
    IPPROTO_ESP___135 = 50,
    IPPROTO_AH___135 = 51,
    IPPROTO_MTP___135 = 92,
    IPPROTO_BEETPH___135 = 94,
    IPPROTO_ENCAP___135 = 98,
    IPPROTO_PIM___135 = 103,
    IPPROTO_COMP___135 = 108,
    IPPROTO_SCTP___135 = 132,
    IPPROTO_UDPLITE___135 = 136,
    IPPROTO_MPLS___135 = 137,
    IPPROTO_RAW___135 = 255,
    IPPROTO_MAX___135 = 256
} ;
enum __anonenum_218739988___135 {
    IPPROTO_HOPOPTS___135 = 0,
    IPPROTO_ROUTING___135 = 43,
    IPPROTO_FRAGMENT___135 = 44,
    IPPROTO_ICMPV6___135 = 58,
    IPPROTO_NONE___135 = 59,
    IPPROTO_DSTOPTS___135 = 60,
    IPPROTO_MH___135 = 135
} ;
enum __anonenum_662268580___135 {
    IPPORT_ECHO___135 = 7,
    IPPORT_DISCARD___135 = 9,
    IPPORT_SYSTAT___135 = 11,
    IPPORT_DAYTIME___135 = 13,
    IPPORT_NETSTAT___135 = 15,
    IPPORT_FTP___135 = 21,
    IPPORT_TELNET___135 = 23,
    IPPORT_SMTP___135 = 25,
    IPPORT_TIMESERVER___135 = 37,
    IPPORT_NAMESERVER___135 = 42,
    IPPORT_WHOIS___135 = 43,
    IPPORT_MTP___135 = 57,
    IPPORT_TFTP___135 = 69,
    IPPORT_RJE___135 = 77,
    IPPORT_FINGER___135 = 79,
    IPPORT_TTYLINK___135 = 87,
    IPPORT_SUPDUP___135 = 95,
    IPPORT_EXECSERVER___135 = 512,
    IPPORT_LOGINSERVER___135 = 513,
    IPPORT_CMDSERVER___135 = 514,
    IPPORT_EFSSERVER___135 = 520,
    IPPORT_BIFFUDP___135 = 512,
    IPPORT_WHOSERVER___135 = 513,
    IPPORT_ROUTESERVER___135 = 520,
    IPPORT_RESERVED___135 = 1024,
    IPPORT_USERRESERVED___135 = 5000
} ;
enum __anonenum_788308992___135 {
    TCP_ESTABLISHED___135 = 1,
    TCP_SYN_SENT___135 = 2,
    TCP_SYN_RECV___135 = 3,
    TCP_FIN_WAIT1___135 = 4,
    TCP_FIN_WAIT2___135 = 5,
    TCP_TIME_WAIT___135 = 6,
    TCP_CLOSE___135 = 7,
    TCP_CLOSE_WAIT___135 = 8,
    TCP_LAST_ACK___135 = 9,
    TCP_LISTEN___135 = 10,
    TCP_CLOSING___135 = 11
} ;
enum __anonenum_221125648___135 {
    TCP_NO_QUEUE___135 = 0,
    TCP_RECV_QUEUE___135 = 1,
    TCP_SEND_QUEUE___135 = 2,
    TCP_QUEUES_NR___135 = 3
} ;
enum __anonenum_34415463___135 {
    PTHREAD_CREATE_JOINABLE___135 = 0,
    PTHREAD_CREATE_DETACHED___135 = 1
} ;
enum __anonenum_303612439___135 {
    PTHREAD_MUTEX_TIMED_NP___135 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___135 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___135 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___135 = 3,
    PTHREAD_MUTEX_NORMAL___135 = 0,
    PTHREAD_MUTEX_RECURSIVE___135 = 1,
    PTHREAD_MUTEX_ERRORCHECK___135 = 2,
    PTHREAD_MUTEX_DEFAULT___135 = 0,
    PTHREAD_MUTEX_FAST_NP___135 = 0
} ;
enum __anonenum_931900394___135 {
    PTHREAD_MUTEX_STALLED___135 = 0,
    PTHREAD_MUTEX_STALLED_NP___135 = 0,
    PTHREAD_MUTEX_ROBUST___135 = 1,
    PTHREAD_MUTEX_ROBUST_NP___135 = 1
} ;
enum __anonenum_205214487___135 {
    PTHREAD_PRIO_NONE___135 = 0,
    PTHREAD_PRIO_INHERIT___135 = 1,
    PTHREAD_PRIO_PROTECT___135 = 2
} ;
enum __anonenum_25043950___135 {
    PTHREAD_RWLOCK_PREFER_READER_NP___135 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___135 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___135 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___135 = 0
} ;
enum __anonenum_436439511___135 {
    PTHREAD_INHERIT_SCHED___135 = 0,
    PTHREAD_EXPLICIT_SCHED___135 = 1
} ;
enum __anonenum_998661166___135 {
    PTHREAD_SCOPE_SYSTEM___135 = 0,
    PTHREAD_SCOPE_PROCESS___135 = 1
} ;
enum __anonenum_146137331___135 {
    PTHREAD_PROCESS_PRIVATE___135 = 0,
    PTHREAD_PROCESS_SHARED___135 = 1
} ;
enum __anonenum_53396917___135 {
    PTHREAD_CANCEL_ENABLE___135 = 0,
    PTHREAD_CANCEL_DISABLE___135 = 1
} ;
enum __anonenum_904563783___135 {
    PTHREAD_CANCEL_DEFERRED___135 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___135 = 1
} ;
enum __anonenum_672052974___135 {
    SSL_CT_VALIDATION_PERMISSIVE___135 = 0,
    SSL_CT_VALIDATION_STRICT___135 = 1
} ;
enum __anonenum_561748495___8 {
    RECURSE_SUBMODULES_ONLY___8 = -5,
    RECURSE_SUBMODULES_CHECK___8 = -4,
    RECURSE_SUBMODULES_ERROR___8 = -3,
    RECURSE_SUBMODULES_NONE___8 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___8 = -1,
    RECURSE_SUBMODULES_OFF___8 = 0,
    RECURSE_SUBMODULES_DEFAULT___8 = 1,
    RECURSE_SUBMODULES_ON___8 = 2
} ;
struct common_dir {
   unsigned int ignore_garbage : 1 ;
   unsigned int is_dir : 1 ;
   unsigned int is_common : 1 ;
   char const   *path ;
};
struct trie___0 {
   struct trie___0 *children[256] ;
   int len ;
   char *contents ;
   void *value ;
};
typedef int (*match_fn)(char const   *unmatched , void *value , void *baton );
enum __anonenum_437032235___136 {
    _PC_LINK_MAX___136 = 0,
    _PC_MAX_CANON___136 = 1,
    _PC_MAX_INPUT___136 = 2,
    _PC_NAME_MAX___136 = 3,
    _PC_PATH_MAX___136 = 4,
    _PC_PIPE_BUF___136 = 5,
    _PC_CHOWN_RESTRICTED___136 = 6,
    _PC_NO_TRUNC___136 = 7,
    _PC_VDISABLE___136 = 8,
    _PC_SYNC_IO___136 = 9,
    _PC_ASYNC_IO___136 = 10,
    _PC_PRIO_IO___136 = 11,
    _PC_SOCK_MAXBUF___136 = 12,
    _PC_FILESIZEBITS___136 = 13,
    _PC_REC_INCR_XFER_SIZE___136 = 14,
    _PC_REC_MAX_XFER_SIZE___136 = 15,
    _PC_REC_MIN_XFER_SIZE___136 = 16,
    _PC_REC_XFER_ALIGN___136 = 17,
    _PC_ALLOC_SIZE_MIN___136 = 18,
    _PC_SYMLINK_MAX___136 = 19,
    _PC_2_SYMLINKS___136 = 20
} ;
enum __anonenum_315186338___136 {
    _SC_ARG_MAX___136 = 0,
    _SC_CHILD_MAX___136 = 1,
    _SC_CLK_TCK___136 = 2,
    _SC_NGROUPS_MAX___136 = 3,
    _SC_OPEN_MAX___136 = 4,
    _SC_STREAM_MAX___136 = 5,
    _SC_TZNAME_MAX___136 = 6,
    _SC_JOB_CONTROL___136 = 7,
    _SC_SAVED_IDS___136 = 8,
    _SC_REALTIME_SIGNALS___136 = 9,
    _SC_PRIORITY_SCHEDULING___136 = 10,
    _SC_TIMERS___136 = 11,
    _SC_ASYNCHRONOUS_IO___136 = 12,
    _SC_PRIORITIZED_IO___136 = 13,
    _SC_SYNCHRONIZED_IO___136 = 14,
    _SC_FSYNC___136 = 15,
    _SC_MAPPED_FILES___136 = 16,
    _SC_MEMLOCK___136 = 17,
    _SC_MEMLOCK_RANGE___136 = 18,
    _SC_MEMORY_PROTECTION___136 = 19,
    _SC_MESSAGE_PASSING___136 = 20,
    _SC_SEMAPHORES___136 = 21,
    _SC_SHARED_MEMORY_OBJECTS___136 = 22,
    _SC_AIO_LISTIO_MAX___136 = 23,
    _SC_AIO_MAX___136 = 24,
    _SC_AIO_PRIO_DELTA_MAX___136 = 25,
    _SC_DELAYTIMER_MAX___136 = 26,
    _SC_MQ_OPEN_MAX___136 = 27,
    _SC_MQ_PRIO_MAX___136 = 28,
    _SC_VERSION___136 = 29,
    _SC_PAGESIZE___136 = 30,
    _SC_RTSIG_MAX___136 = 31,
    _SC_SEM_NSEMS_MAX___136 = 32,
    _SC_SEM_VALUE_MAX___136 = 33,
    _SC_SIGQUEUE_MAX___136 = 34,
    _SC_TIMER_MAX___136 = 35,
    _SC_BC_BASE_MAX___136 = 36,
    _SC_BC_DIM_MAX___136 = 37,
    _SC_BC_SCALE_MAX___136 = 38,
    _SC_BC_STRING_MAX___136 = 39,
    _SC_COLL_WEIGHTS_MAX___136 = 40,
    _SC_EQUIV_CLASS_MAX___136 = 41,
    _SC_EXPR_NEST_MAX___136 = 42,
    _SC_LINE_MAX___136 = 43,
    _SC_RE_DUP_MAX___136 = 44,
    _SC_CHARCLASS_NAME_MAX___136 = 45,
    _SC_2_VERSION___136 = 46,
    _SC_2_C_BIND___136 = 47,
    _SC_2_C_DEV___136 = 48,
    _SC_2_FORT_DEV___136 = 49,
    _SC_2_FORT_RUN___136 = 50,
    _SC_2_SW_DEV___136 = 51,
    _SC_2_LOCALEDEF___136 = 52,
    _SC_PII___136 = 53,
    _SC_PII_XTI___136 = 54,
    _SC_PII_SOCKET___136 = 55,
    _SC_PII_INTERNET___136 = 56,
    _SC_PII_OSI___136 = 57,
    _SC_POLL___136 = 58,
    _SC_SELECT___136 = 59,
    _SC_UIO_MAXIOV___136 = 60,
    _SC_IOV_MAX___136 = 60,
    _SC_PII_INTERNET_STREAM___136 = 61,
    _SC_PII_INTERNET_DGRAM___136 = 62,
    _SC_PII_OSI_COTS___136 = 63,
    _SC_PII_OSI_CLTS___136 = 64,
    _SC_PII_OSI_M___136 = 65,
    _SC_T_IOV_MAX___136 = 66,
    _SC_THREADS___136 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___136 = 68,
    _SC_GETGR_R_SIZE_MAX___136 = 69,
    _SC_GETPW_R_SIZE_MAX___136 = 70,
    _SC_LOGIN_NAME_MAX___136 = 71,
    _SC_TTY_NAME_MAX___136 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___136 = 73,
    _SC_THREAD_KEYS_MAX___136 = 74,
    _SC_THREAD_STACK_MIN___136 = 75,
    _SC_THREAD_THREADS_MAX___136 = 76,
    _SC_THREAD_ATTR_STACKADDR___136 = 77,
    _SC_THREAD_ATTR_STACKSIZE___136 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___136 = 79,
    _SC_THREAD_PRIO_INHERIT___136 = 80,
    _SC_THREAD_PRIO_PROTECT___136 = 81,
    _SC_THREAD_PROCESS_SHARED___136 = 82,
    _SC_NPROCESSORS_CONF___136 = 83,
    _SC_NPROCESSORS_ONLN___136 = 84,
    _SC_PHYS_PAGES___136 = 85,
    _SC_AVPHYS_PAGES___136 = 86,
    _SC_ATEXIT_MAX___136 = 87,
    _SC_PASS_MAX___136 = 88,
    _SC_XOPEN_VERSION___136 = 89,
    _SC_XOPEN_XCU_VERSION___136 = 90,
    _SC_XOPEN_UNIX___136 = 91,
    _SC_XOPEN_CRYPT___136 = 92,
    _SC_XOPEN_ENH_I18N___136 = 93,
    _SC_XOPEN_SHM___136 = 94,
    _SC_2_CHAR_TERM___136 = 95,
    _SC_2_C_VERSION___136 = 96,
    _SC_2_UPE___136 = 97,
    _SC_XOPEN_XPG2___136 = 98,
    _SC_XOPEN_XPG3___136 = 99,
    _SC_XOPEN_XPG4___136 = 100,
    _SC_CHAR_BIT___136 = 101,
    _SC_CHAR_MAX___136 = 102,
    _SC_CHAR_MIN___136 = 103,
    _SC_INT_MAX___136 = 104,
    _SC_INT_MIN___136 = 105,
    _SC_LONG_BIT___136 = 106,
    _SC_WORD_BIT___136 = 107,
    _SC_MB_LEN_MAX___136 = 108,
    _SC_NZERO___136 = 109,
    _SC_SSIZE_MAX___136 = 110,
    _SC_SCHAR_MAX___136 = 111,
    _SC_SCHAR_MIN___136 = 112,
    _SC_SHRT_MAX___136 = 113,
    _SC_SHRT_MIN___136 = 114,
    _SC_UCHAR_MAX___136 = 115,
    _SC_UINT_MAX___136 = 116,
    _SC_ULONG_MAX___136 = 117,
    _SC_USHRT_MAX___136 = 118,
    _SC_NL_ARGMAX___136 = 119,
    _SC_NL_LANGMAX___136 = 120,
    _SC_NL_MSGMAX___136 = 121,
    _SC_NL_NMAX___136 = 122,
    _SC_NL_SETMAX___136 = 123,
    _SC_NL_TEXTMAX___136 = 124,
    _SC_XBS5_ILP32_OFF32___136 = 125,
    _SC_XBS5_ILP32_OFFBIG___136 = 126,
    _SC_XBS5_LP64_OFF64___136 = 127,
    _SC_XBS5_LPBIG_OFFBIG___136 = 128,
    _SC_XOPEN_LEGACY___136 = 129,
    _SC_XOPEN_REALTIME___136 = 130,
    _SC_XOPEN_REALTIME_THREADS___136 = 131,
    _SC_ADVISORY_INFO___136 = 132,
    _SC_BARRIERS___136 = 133,
    _SC_BASE___136 = 134,
    _SC_C_LANG_SUPPORT___136 = 135,
    _SC_C_LANG_SUPPORT_R___136 = 136,
    _SC_CLOCK_SELECTION___136 = 137,
    _SC_CPUTIME___136 = 138,
    _SC_THREAD_CPUTIME___136 = 139,
    _SC_DEVICE_IO___136 = 140,
    _SC_DEVICE_SPECIFIC___136 = 141,
    _SC_DEVICE_SPECIFIC_R___136 = 142,
    _SC_FD_MGMT___136 = 143,
    _SC_FIFO___136 = 144,
    _SC_PIPE___136 = 145,
    _SC_FILE_ATTRIBUTES___136 = 146,
    _SC_FILE_LOCKING___136 = 147,
    _SC_FILE_SYSTEM___136 = 148,
    _SC_MONOTONIC_CLOCK___136 = 149,
    _SC_MULTI_PROCESS___136 = 150,
    _SC_SINGLE_PROCESS___136 = 151,
    _SC_NETWORKING___136 = 152,
    _SC_READER_WRITER_LOCKS___136 = 153,
    _SC_SPIN_LOCKS___136 = 154,
    _SC_REGEXP___136 = 155,
    _SC_REGEX_VERSION___136 = 156,
    _SC_SHELL___136 = 157,
    _SC_SIGNALS___136 = 158,
    _SC_SPAWN___136 = 159,
    _SC_SPORADIC_SERVER___136 = 160,
    _SC_THREAD_SPORADIC_SERVER___136 = 161,
    _SC_SYSTEM_DATABASE___136 = 162,
    _SC_SYSTEM_DATABASE_R___136 = 163,
    _SC_TIMEOUTS___136 = 164,
    _SC_TYPED_MEMORY_OBJECTS___136 = 165,
    _SC_USER_GROUPS___136 = 166,
    _SC_USER_GROUPS_R___136 = 167,
    _SC_2_PBS___136 = 168,
    _SC_2_PBS_ACCOUNTING___136 = 169,
    _SC_2_PBS_LOCATE___136 = 170,
    _SC_2_PBS_MESSAGE___136 = 171,
    _SC_2_PBS_TRACK___136 = 172,
    _SC_SYMLOOP_MAX___136 = 173,
    _SC_STREAMS___136 = 174,
    _SC_2_PBS_CHECKPOINT___136 = 175,
    _SC_V6_ILP32_OFF32___136 = 176,
    _SC_V6_ILP32_OFFBIG___136 = 177,
    _SC_V6_LP64_OFF64___136 = 178,
    _SC_V6_LPBIG_OFFBIG___136 = 179,
    _SC_HOST_NAME_MAX___136 = 180,
    _SC_TRACE___136 = 181,
    _SC_TRACE_EVENT_FILTER___136 = 182,
    _SC_TRACE_INHERIT___136 = 183,
    _SC_TRACE_LOG___136 = 184,
    _SC_LEVEL1_ICACHE_SIZE___136 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___136 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___136 = 187,
    _SC_LEVEL1_DCACHE_SIZE___136 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___136 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___136 = 190,
    _SC_LEVEL2_CACHE_SIZE___136 = 191,
    _SC_LEVEL2_CACHE_ASSOC___136 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___136 = 193,
    _SC_LEVEL3_CACHE_SIZE___136 = 194,
    _SC_LEVEL3_CACHE_ASSOC___136 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___136 = 196,
    _SC_LEVEL4_CACHE_SIZE___136 = 197,
    _SC_LEVEL4_CACHE_ASSOC___136 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___136 = 199,
    _SC_IPV6___136 = 235,
    _SC_RAW_SOCKETS___136 = 236,
    _SC_V7_ILP32_OFF32___136 = 237,
    _SC_V7_ILP32_OFFBIG___136 = 238,
    _SC_V7_LP64_OFF64___136 = 239,
    _SC_V7_LPBIG_OFFBIG___136 = 240,
    _SC_SS_REPL_MAX___136 = 241,
    _SC_TRACE_EVENT_NAME_MAX___136 = 242,
    _SC_TRACE_NAME_MAX___136 = 243,
    _SC_TRACE_SYS_MAX___136 = 244,
    _SC_TRACE_USER_EVENT_MAX___136 = 245,
    _SC_XOPEN_STREAMS___136 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___136 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___136 = 248
} ;
enum __anonenum_875524036___136 {
    _CS_PATH___136 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___136 = 1,
    _CS_GNU_LIBC_VERSION___136 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___136 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___136 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___136 = 5,
    _CS_LFS_CFLAGS___136 = 1000,
    _CS_LFS_LDFLAGS___136 = 1001,
    _CS_LFS_LIBS___136 = 1002,
    _CS_LFS_LINTFLAGS___136 = 1003,
    _CS_LFS64_CFLAGS___136 = 1004,
    _CS_LFS64_LDFLAGS___136 = 1005,
    _CS_LFS64_LIBS___136 = 1006,
    _CS_LFS64_LINTFLAGS___136 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___136 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___136 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___136 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___136 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___136 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___136 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___136 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___136 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___136 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___136 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___136 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___136 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___136 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___136 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___136 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___136 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___136 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___136 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___136 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___136 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___136 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___136 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___136 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___136 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___136 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___136 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___136 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___136 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___136 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___136 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___136 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___136 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___136 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___136 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___136 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___136 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___136 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___136 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___136 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___136 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___136 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___136 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___136 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___136 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___136 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___136 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___136 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___136 = 1147,
    _CS_V6_ENV___136 = 1148,
    _CS_V7_ENV___136 = 1149
} ;
enum __anonenum_513775621___136 {
    DT_UNKNOWN___136 = 0,
    DT_FIFO___136 = 1,
    DT_CHR___136 = 2,
    DT_DIR___136 = 4,
    DT_BLK___136 = 6,
    DT_REG___136 = 8,
    DT_LNK___136 = 10,
    DT_SOCK___136 = 12,
    DT_WHT___136 = 14
} ;
enum __anonenum_77002343___136 {
    SI_ASYNCNL___136 = -60,
    SI_TKILL___136 = -6,
    SI_SIGIO___136 = -5,
    SI_ASYNCIO___136 = -4,
    SI_MESGQ___136 = -3,
    SI_TIMER___136 = -2,
    SI_QUEUE___136 = -1,
    SI_USER___136 = 0,
    SI_KERNEL___136 = 128
} ;
enum __anonenum_131038172___136 {
    ILL_ILLOPC___136 = 1,
    ILL_ILLOPN___136 = 2,
    ILL_ILLADR___136 = 3,
    ILL_ILLTRP___136 = 4,
    ILL_PRVOPC___136 = 5,
    ILL_PRVREG___136 = 6,
    ILL_COPROC___136 = 7,
    ILL_BADSTK___136 = 8
} ;
enum __anonenum_452038093___136 {
    FPE_INTDIV___136 = 1,
    FPE_INTOVF___136 = 2,
    FPE_FLTDIV___136 = 3,
    FPE_FLTOVF___136 = 4,
    FPE_FLTUND___136 = 5,
    FPE_FLTRES___136 = 6,
    FPE_FLTINV___136 = 7,
    FPE_FLTSUB___136 = 8
} ;
enum __anonenum_30976155___136 {
    SEGV_MAPERR___136 = 1,
    SEGV_ACCERR___136 = 2,
    SEGV_BNDERR___136 = 3,
    SEGV_PKUERR___136 = 4
} ;
enum __anonenum_1036286214___136 {
    BUS_ADRALN___136 = 1,
    BUS_ADRERR___136 = 2,
    BUS_OBJERR___136 = 3,
    BUS_MCEERR_AR___136 = 4,
    BUS_MCEERR_AO___136 = 5
} ;
enum __anonenum_493465559___136 {
    TRAP_BRKPT___136 = 1,
    TRAP_TRACE___136 = 2
} ;
enum __anonenum_23175539___136 {
    CLD_EXITED___136 = 1,
    CLD_KILLED___136 = 2,
    CLD_DUMPED___136 = 3,
    CLD_TRAPPED___136 = 4,
    CLD_STOPPED___136 = 5,
    CLD_CONTINUED___136 = 6
} ;
enum __anonenum_111643124___136 {
    POLL_IN___136 = 1,
    POLL_OUT___136 = 2,
    POLL_MSG___136 = 3,
    POLL_ERR___136 = 4,
    POLL_PRI___136 = 5,
    POLL_HUP___136 = 6
} ;
enum __anonenum_852341087___136 {
    SIGEV_SIGNAL___136 = 0,
    SIGEV_NONE___136 = 1,
    SIGEV_THREAD___136 = 2,
    SIGEV_THREAD_ID___136 = 4
} ;
enum __anonenum_451154152___136 {
    REG_R8___136 = 0,
    REG_R9___136 = 1,
    REG_R10___136 = 2,
    REG_R11___136 = 3,
    REG_R12___136 = 4,
    REG_R13___136 = 5,
    REG_R14___136 = 6,
    REG_R15___136 = 7,
    REG_RDI___136 = 8,
    REG_RSI___136 = 9,
    REG_RBP___136 = 10,
    REG_RBX___136 = 11,
    REG_RDX___136 = 12,
    REG_RAX___136 = 13,
    REG_RCX___136 = 14,
    REG_RSP___136 = 15,
    REG_RIP___136 = 16,
    REG_EFL___136 = 17,
    REG_CSGSFS___136 = 18,
    REG_ERR___136 = 19,
    REG_TRAPNO___136 = 20,
    REG_OLDMASK___136 = 21,
    REG_CR2___136 = 22
} ;
enum __anonenum_57186863___136 {
    SS_ONSTACK___136 = 1,
    SS_DISABLE___136 = 2
} ;
enum __anonenum_83571709___136 {
    MSG_OOB___136 = 1,
    MSG_PEEK___136 = 2,
    MSG_DONTROUTE___136 = 4,
    MSG_TRYHARD___136 = 4,
    MSG_CTRUNC___136 = 8,
    MSG_PROXY___136 = 16,
    MSG_TRUNC___136 = 32,
    MSG_DONTWAIT___136 = 64,
    MSG_EOR___136 = 128,
    MSG_WAITALL___136 = 256,
    MSG_FIN___136 = 512,
    MSG_SYN___136 = 1024,
    MSG_CONFIRM___136 = 2048,
    MSG_RST___136 = 4096,
    MSG_ERRQUEUE___136 = 8192,
    MSG_NOSIGNAL___136 = 16384,
    MSG_MORE___136 = 32768,
    MSG_WAITFORONE___136 = 65536,
    MSG_BATCH___136 = 262144,
    MSG_ZEROCOPY___136 = 67108864,
    MSG_FASTOPEN___136 = 536870912,
    MSG_CMSG_CLOEXEC___136 = 1073741824
} ;
enum __anonenum_617082774___136 {
    SCM_RIGHTS___136 = 1,
    SCM_CREDENTIALS___136 = 2
} ;
enum __anonenum_606441560___136 {
    SHUT_RD___136 = 0,
    SHUT_WR___136 = 1,
    SHUT_RDWR___136 = 2
} ;
enum __anonenum_681669233___136 {
    IPPROTO_IP___136 = 0,
    IPPROTO_ICMP___136 = 1,
    IPPROTO_IGMP___136 = 2,
    IPPROTO_IPIP___136 = 4,
    IPPROTO_TCP___136 = 6,
    IPPROTO_EGP___136 = 8,
    IPPROTO_PUP___136 = 12,
    IPPROTO_UDP___136 = 17,
    IPPROTO_IDP___136 = 22,
    IPPROTO_TP___136 = 29,
    IPPROTO_DCCP___136 = 33,
    IPPROTO_IPV6___136 = 41,
    IPPROTO_RSVP___136 = 46,
    IPPROTO_GRE___136 = 47,
    IPPROTO_ESP___136 = 50,
    IPPROTO_AH___136 = 51,
    IPPROTO_MTP___136 = 92,
    IPPROTO_BEETPH___136 = 94,
    IPPROTO_ENCAP___136 = 98,
    IPPROTO_PIM___136 = 103,
    IPPROTO_COMP___136 = 108,
    IPPROTO_SCTP___136 = 132,
    IPPROTO_UDPLITE___136 = 136,
    IPPROTO_MPLS___136 = 137,
    IPPROTO_RAW___136 = 255,
    IPPROTO_MAX___136 = 256
} ;
enum __anonenum_218739988___136 {
    IPPROTO_HOPOPTS___136 = 0,
    IPPROTO_ROUTING___136 = 43,
    IPPROTO_FRAGMENT___136 = 44,
    IPPROTO_ICMPV6___136 = 58,
    IPPROTO_NONE___136 = 59,
    IPPROTO_DSTOPTS___136 = 60,
    IPPROTO_MH___136 = 135
} ;
enum __anonenum_662268580___136 {
    IPPORT_ECHO___136 = 7,
    IPPORT_DISCARD___136 = 9,
    IPPORT_SYSTAT___136 = 11,
    IPPORT_DAYTIME___136 = 13,
    IPPORT_NETSTAT___136 = 15,
    IPPORT_FTP___136 = 21,
    IPPORT_TELNET___136 = 23,
    IPPORT_SMTP___136 = 25,
    IPPORT_TIMESERVER___136 = 37,
    IPPORT_NAMESERVER___136 = 42,
    IPPORT_WHOIS___136 = 43,
    IPPORT_MTP___136 = 57,
    IPPORT_TFTP___136 = 69,
    IPPORT_RJE___136 = 77,
    IPPORT_FINGER___136 = 79,
    IPPORT_TTYLINK___136 = 87,
    IPPORT_SUPDUP___136 = 95,
    IPPORT_EXECSERVER___136 = 512,
    IPPORT_LOGINSERVER___136 = 513,
    IPPORT_CMDSERVER___136 = 514,
    IPPORT_EFSSERVER___136 = 520,
    IPPORT_BIFFUDP___136 = 512,
    IPPORT_WHOSERVER___136 = 513,
    IPPORT_ROUTESERVER___136 = 520,
    IPPORT_RESERVED___136 = 1024,
    IPPORT_USERRESERVED___136 = 5000
} ;
enum __anonenum_788308992___136 {
    TCP_ESTABLISHED___136 = 1,
    TCP_SYN_SENT___136 = 2,
    TCP_SYN_RECV___136 = 3,
    TCP_FIN_WAIT1___136 = 4,
    TCP_FIN_WAIT2___136 = 5,
    TCP_TIME_WAIT___136 = 6,
    TCP_CLOSE___136 = 7,
    TCP_CLOSE_WAIT___136 = 8,
    TCP_LAST_ACK___136 = 9,
    TCP_LISTEN___136 = 10,
    TCP_CLOSING___136 = 11
} ;
enum __anonenum_221125648___136 {
    TCP_NO_QUEUE___136 = 0,
    TCP_RECV_QUEUE___136 = 1,
    TCP_SEND_QUEUE___136 = 2,
    TCP_QUEUES_NR___136 = 3
} ;
enum __anonenum_34415463___136 {
    PTHREAD_CREATE_JOINABLE___136 = 0,
    PTHREAD_CREATE_DETACHED___136 = 1
} ;
enum __anonenum_303612439___136 {
    PTHREAD_MUTEX_TIMED_NP___136 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___136 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___136 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___136 = 3,
    PTHREAD_MUTEX_NORMAL___136 = 0,
    PTHREAD_MUTEX_RECURSIVE___136 = 1,
    PTHREAD_MUTEX_ERRORCHECK___136 = 2,
    PTHREAD_MUTEX_DEFAULT___136 = 0,
    PTHREAD_MUTEX_FAST_NP___136 = 0
} ;
enum __anonenum_931900394___136 {
    PTHREAD_MUTEX_STALLED___136 = 0,
    PTHREAD_MUTEX_STALLED_NP___136 = 0,
    PTHREAD_MUTEX_ROBUST___136 = 1,
    PTHREAD_MUTEX_ROBUST_NP___136 = 1
} ;
enum __anonenum_205214487___136 {
    PTHREAD_PRIO_NONE___136 = 0,
    PTHREAD_PRIO_INHERIT___136 = 1,
    PTHREAD_PRIO_PROTECT___136 = 2
} ;
enum __anonenum_25043950___136 {
    PTHREAD_RWLOCK_PREFER_READER_NP___136 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___136 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___136 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___136 = 0
} ;
enum __anonenum_436439511___136 {
    PTHREAD_INHERIT_SCHED___136 = 0,
    PTHREAD_EXPLICIT_SCHED___136 = 1
} ;
enum __anonenum_998661166___136 {
    PTHREAD_SCOPE_SYSTEM___136 = 0,
    PTHREAD_SCOPE_PROCESS___136 = 1
} ;
enum __anonenum_146137331___136 {
    PTHREAD_PROCESS_PRIVATE___136 = 0,
    PTHREAD_PROCESS_SHARED___136 = 1
} ;
enum __anonenum_53396917___136 {
    PTHREAD_CANCEL_ENABLE___136 = 0,
    PTHREAD_CANCEL_DISABLE___136 = 1
} ;
enum __anonenum_904563783___136 {
    PTHREAD_CANCEL_DEFERRED___136 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___136 = 1
} ;
enum __anonenum_672052974___136 {
    SSL_CT_VALIDATION_PERMISSIVE___136 = 0,
    SSL_CT_VALIDATION_STRICT___136 = 1
} ;
struct pathspec_magic {
   unsigned int bit ;
   char mnemonic ;
   char const   *name ;
};
enum __anonenum_437032235___137 {
    _PC_LINK_MAX___137 = 0,
    _PC_MAX_CANON___137 = 1,
    _PC_MAX_INPUT___137 = 2,
    _PC_NAME_MAX___137 = 3,
    _PC_PATH_MAX___137 = 4,
    _PC_PIPE_BUF___137 = 5,
    _PC_CHOWN_RESTRICTED___137 = 6,
    _PC_NO_TRUNC___137 = 7,
    _PC_VDISABLE___137 = 8,
    _PC_SYNC_IO___137 = 9,
    _PC_ASYNC_IO___137 = 10,
    _PC_PRIO_IO___137 = 11,
    _PC_SOCK_MAXBUF___137 = 12,
    _PC_FILESIZEBITS___137 = 13,
    _PC_REC_INCR_XFER_SIZE___137 = 14,
    _PC_REC_MAX_XFER_SIZE___137 = 15,
    _PC_REC_MIN_XFER_SIZE___137 = 16,
    _PC_REC_XFER_ALIGN___137 = 17,
    _PC_ALLOC_SIZE_MIN___137 = 18,
    _PC_SYMLINK_MAX___137 = 19,
    _PC_2_SYMLINKS___137 = 20
} ;
enum __anonenum_315186338___137 {
    _SC_ARG_MAX___137 = 0,
    _SC_CHILD_MAX___137 = 1,
    _SC_CLK_TCK___137 = 2,
    _SC_NGROUPS_MAX___137 = 3,
    _SC_OPEN_MAX___137 = 4,
    _SC_STREAM_MAX___137 = 5,
    _SC_TZNAME_MAX___137 = 6,
    _SC_JOB_CONTROL___137 = 7,
    _SC_SAVED_IDS___137 = 8,
    _SC_REALTIME_SIGNALS___137 = 9,
    _SC_PRIORITY_SCHEDULING___137 = 10,
    _SC_TIMERS___137 = 11,
    _SC_ASYNCHRONOUS_IO___137 = 12,
    _SC_PRIORITIZED_IO___137 = 13,
    _SC_SYNCHRONIZED_IO___137 = 14,
    _SC_FSYNC___137 = 15,
    _SC_MAPPED_FILES___137 = 16,
    _SC_MEMLOCK___137 = 17,
    _SC_MEMLOCK_RANGE___137 = 18,
    _SC_MEMORY_PROTECTION___137 = 19,
    _SC_MESSAGE_PASSING___137 = 20,
    _SC_SEMAPHORES___137 = 21,
    _SC_SHARED_MEMORY_OBJECTS___137 = 22,
    _SC_AIO_LISTIO_MAX___137 = 23,
    _SC_AIO_MAX___137 = 24,
    _SC_AIO_PRIO_DELTA_MAX___137 = 25,
    _SC_DELAYTIMER_MAX___137 = 26,
    _SC_MQ_OPEN_MAX___137 = 27,
    _SC_MQ_PRIO_MAX___137 = 28,
    _SC_VERSION___137 = 29,
    _SC_PAGESIZE___137 = 30,
    _SC_RTSIG_MAX___137 = 31,
    _SC_SEM_NSEMS_MAX___137 = 32,
    _SC_SEM_VALUE_MAX___137 = 33,
    _SC_SIGQUEUE_MAX___137 = 34,
    _SC_TIMER_MAX___137 = 35,
    _SC_BC_BASE_MAX___137 = 36,
    _SC_BC_DIM_MAX___137 = 37,
    _SC_BC_SCALE_MAX___137 = 38,
    _SC_BC_STRING_MAX___137 = 39,
    _SC_COLL_WEIGHTS_MAX___137 = 40,
    _SC_EQUIV_CLASS_MAX___137 = 41,
    _SC_EXPR_NEST_MAX___137 = 42,
    _SC_LINE_MAX___137 = 43,
    _SC_RE_DUP_MAX___137 = 44,
    _SC_CHARCLASS_NAME_MAX___137 = 45,
    _SC_2_VERSION___137 = 46,
    _SC_2_C_BIND___137 = 47,
    _SC_2_C_DEV___137 = 48,
    _SC_2_FORT_DEV___137 = 49,
    _SC_2_FORT_RUN___137 = 50,
    _SC_2_SW_DEV___137 = 51,
    _SC_2_LOCALEDEF___137 = 52,
    _SC_PII___137 = 53,
    _SC_PII_XTI___137 = 54,
    _SC_PII_SOCKET___137 = 55,
    _SC_PII_INTERNET___137 = 56,
    _SC_PII_OSI___137 = 57,
    _SC_POLL___137 = 58,
    _SC_SELECT___137 = 59,
    _SC_UIO_MAXIOV___137 = 60,
    _SC_IOV_MAX___137 = 60,
    _SC_PII_INTERNET_STREAM___137 = 61,
    _SC_PII_INTERNET_DGRAM___137 = 62,
    _SC_PII_OSI_COTS___137 = 63,
    _SC_PII_OSI_CLTS___137 = 64,
    _SC_PII_OSI_M___137 = 65,
    _SC_T_IOV_MAX___137 = 66,
    _SC_THREADS___137 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___137 = 68,
    _SC_GETGR_R_SIZE_MAX___137 = 69,
    _SC_GETPW_R_SIZE_MAX___137 = 70,
    _SC_LOGIN_NAME_MAX___137 = 71,
    _SC_TTY_NAME_MAX___137 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___137 = 73,
    _SC_THREAD_KEYS_MAX___137 = 74,
    _SC_THREAD_STACK_MIN___137 = 75,
    _SC_THREAD_THREADS_MAX___137 = 76,
    _SC_THREAD_ATTR_STACKADDR___137 = 77,
    _SC_THREAD_ATTR_STACKSIZE___137 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___137 = 79,
    _SC_THREAD_PRIO_INHERIT___137 = 80,
    _SC_THREAD_PRIO_PROTECT___137 = 81,
    _SC_THREAD_PROCESS_SHARED___137 = 82,
    _SC_NPROCESSORS_CONF___137 = 83,
    _SC_NPROCESSORS_ONLN___137 = 84,
    _SC_PHYS_PAGES___137 = 85,
    _SC_AVPHYS_PAGES___137 = 86,
    _SC_ATEXIT_MAX___137 = 87,
    _SC_PASS_MAX___137 = 88,
    _SC_XOPEN_VERSION___137 = 89,
    _SC_XOPEN_XCU_VERSION___137 = 90,
    _SC_XOPEN_UNIX___137 = 91,
    _SC_XOPEN_CRYPT___137 = 92,
    _SC_XOPEN_ENH_I18N___137 = 93,
    _SC_XOPEN_SHM___137 = 94,
    _SC_2_CHAR_TERM___137 = 95,
    _SC_2_C_VERSION___137 = 96,
    _SC_2_UPE___137 = 97,
    _SC_XOPEN_XPG2___137 = 98,
    _SC_XOPEN_XPG3___137 = 99,
    _SC_XOPEN_XPG4___137 = 100,
    _SC_CHAR_BIT___137 = 101,
    _SC_CHAR_MAX___137 = 102,
    _SC_CHAR_MIN___137 = 103,
    _SC_INT_MAX___137 = 104,
    _SC_INT_MIN___137 = 105,
    _SC_LONG_BIT___137 = 106,
    _SC_WORD_BIT___137 = 107,
    _SC_MB_LEN_MAX___137 = 108,
    _SC_NZERO___137 = 109,
    _SC_SSIZE_MAX___137 = 110,
    _SC_SCHAR_MAX___137 = 111,
    _SC_SCHAR_MIN___137 = 112,
    _SC_SHRT_MAX___137 = 113,
    _SC_SHRT_MIN___137 = 114,
    _SC_UCHAR_MAX___137 = 115,
    _SC_UINT_MAX___137 = 116,
    _SC_ULONG_MAX___137 = 117,
    _SC_USHRT_MAX___137 = 118,
    _SC_NL_ARGMAX___137 = 119,
    _SC_NL_LANGMAX___137 = 120,
    _SC_NL_MSGMAX___137 = 121,
    _SC_NL_NMAX___137 = 122,
    _SC_NL_SETMAX___137 = 123,
    _SC_NL_TEXTMAX___137 = 124,
    _SC_XBS5_ILP32_OFF32___137 = 125,
    _SC_XBS5_ILP32_OFFBIG___137 = 126,
    _SC_XBS5_LP64_OFF64___137 = 127,
    _SC_XBS5_LPBIG_OFFBIG___137 = 128,
    _SC_XOPEN_LEGACY___137 = 129,
    _SC_XOPEN_REALTIME___137 = 130,
    _SC_XOPEN_REALTIME_THREADS___137 = 131,
    _SC_ADVISORY_INFO___137 = 132,
    _SC_BARRIERS___137 = 133,
    _SC_BASE___137 = 134,
    _SC_C_LANG_SUPPORT___137 = 135,
    _SC_C_LANG_SUPPORT_R___137 = 136,
    _SC_CLOCK_SELECTION___137 = 137,
    _SC_CPUTIME___137 = 138,
    _SC_THREAD_CPUTIME___137 = 139,
    _SC_DEVICE_IO___137 = 140,
    _SC_DEVICE_SPECIFIC___137 = 141,
    _SC_DEVICE_SPECIFIC_R___137 = 142,
    _SC_FD_MGMT___137 = 143,
    _SC_FIFO___137 = 144,
    _SC_PIPE___137 = 145,
    _SC_FILE_ATTRIBUTES___137 = 146,
    _SC_FILE_LOCKING___137 = 147,
    _SC_FILE_SYSTEM___137 = 148,
    _SC_MONOTONIC_CLOCK___137 = 149,
    _SC_MULTI_PROCESS___137 = 150,
    _SC_SINGLE_PROCESS___137 = 151,
    _SC_NETWORKING___137 = 152,
    _SC_READER_WRITER_LOCKS___137 = 153,
    _SC_SPIN_LOCKS___137 = 154,
    _SC_REGEXP___137 = 155,
    _SC_REGEX_VERSION___137 = 156,
    _SC_SHELL___137 = 157,
    _SC_SIGNALS___137 = 158,
    _SC_SPAWN___137 = 159,
    _SC_SPORADIC_SERVER___137 = 160,
    _SC_THREAD_SPORADIC_SERVER___137 = 161,
    _SC_SYSTEM_DATABASE___137 = 162,
    _SC_SYSTEM_DATABASE_R___137 = 163,
    _SC_TIMEOUTS___137 = 164,
    _SC_TYPED_MEMORY_OBJECTS___137 = 165,
    _SC_USER_GROUPS___137 = 166,
    _SC_USER_GROUPS_R___137 = 167,
    _SC_2_PBS___137 = 168,
    _SC_2_PBS_ACCOUNTING___137 = 169,
    _SC_2_PBS_LOCATE___137 = 170,
    _SC_2_PBS_MESSAGE___137 = 171,
    _SC_2_PBS_TRACK___137 = 172,
    _SC_SYMLOOP_MAX___137 = 173,
    _SC_STREAMS___137 = 174,
    _SC_2_PBS_CHECKPOINT___137 = 175,
    _SC_V6_ILP32_OFF32___137 = 176,
    _SC_V6_ILP32_OFFBIG___137 = 177,
    _SC_V6_LP64_OFF64___137 = 178,
    _SC_V6_LPBIG_OFFBIG___137 = 179,
    _SC_HOST_NAME_MAX___137 = 180,
    _SC_TRACE___137 = 181,
    _SC_TRACE_EVENT_FILTER___137 = 182,
    _SC_TRACE_INHERIT___137 = 183,
    _SC_TRACE_LOG___137 = 184,
    _SC_LEVEL1_ICACHE_SIZE___137 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___137 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___137 = 187,
    _SC_LEVEL1_DCACHE_SIZE___137 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___137 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___137 = 190,
    _SC_LEVEL2_CACHE_SIZE___137 = 191,
    _SC_LEVEL2_CACHE_ASSOC___137 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___137 = 193,
    _SC_LEVEL3_CACHE_SIZE___137 = 194,
    _SC_LEVEL3_CACHE_ASSOC___137 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___137 = 196,
    _SC_LEVEL4_CACHE_SIZE___137 = 197,
    _SC_LEVEL4_CACHE_ASSOC___137 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___137 = 199,
    _SC_IPV6___137 = 235,
    _SC_RAW_SOCKETS___137 = 236,
    _SC_V7_ILP32_OFF32___137 = 237,
    _SC_V7_ILP32_OFFBIG___137 = 238,
    _SC_V7_LP64_OFF64___137 = 239,
    _SC_V7_LPBIG_OFFBIG___137 = 240,
    _SC_SS_REPL_MAX___137 = 241,
    _SC_TRACE_EVENT_NAME_MAX___137 = 242,
    _SC_TRACE_NAME_MAX___137 = 243,
    _SC_TRACE_SYS_MAX___137 = 244,
    _SC_TRACE_USER_EVENT_MAX___137 = 245,
    _SC_XOPEN_STREAMS___137 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___137 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___137 = 248
} ;
enum __anonenum_875524036___137 {
    _CS_PATH___137 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___137 = 1,
    _CS_GNU_LIBC_VERSION___137 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___137 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___137 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___137 = 5,
    _CS_LFS_CFLAGS___137 = 1000,
    _CS_LFS_LDFLAGS___137 = 1001,
    _CS_LFS_LIBS___137 = 1002,
    _CS_LFS_LINTFLAGS___137 = 1003,
    _CS_LFS64_CFLAGS___137 = 1004,
    _CS_LFS64_LDFLAGS___137 = 1005,
    _CS_LFS64_LIBS___137 = 1006,
    _CS_LFS64_LINTFLAGS___137 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___137 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___137 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___137 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___137 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___137 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___137 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___137 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___137 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___137 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___137 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___137 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___137 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___137 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___137 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___137 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___137 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___137 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___137 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___137 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___137 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___137 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___137 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___137 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___137 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___137 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___137 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___137 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___137 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___137 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___137 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___137 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___137 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___137 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___137 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___137 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___137 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___137 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___137 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___137 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___137 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___137 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___137 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___137 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___137 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___137 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___137 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___137 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___137 = 1147,
    _CS_V6_ENV___137 = 1148,
    _CS_V7_ENV___137 = 1149
} ;
enum __anonenum_513775621___137 {
    DT_UNKNOWN___137 = 0,
    DT_FIFO___137 = 1,
    DT_CHR___137 = 2,
    DT_DIR___137 = 4,
    DT_BLK___137 = 6,
    DT_REG___137 = 8,
    DT_LNK___137 = 10,
    DT_SOCK___137 = 12,
    DT_WHT___137 = 14
} ;
enum __anonenum_77002343___137 {
    SI_ASYNCNL___137 = -60,
    SI_TKILL___137 = -6,
    SI_SIGIO___137 = -5,
    SI_ASYNCIO___137 = -4,
    SI_MESGQ___137 = -3,
    SI_TIMER___137 = -2,
    SI_QUEUE___137 = -1,
    SI_USER___137 = 0,
    SI_KERNEL___137 = 128
} ;
enum __anonenum_131038172___137 {
    ILL_ILLOPC___137 = 1,
    ILL_ILLOPN___137 = 2,
    ILL_ILLADR___137 = 3,
    ILL_ILLTRP___137 = 4,
    ILL_PRVOPC___137 = 5,
    ILL_PRVREG___137 = 6,
    ILL_COPROC___137 = 7,
    ILL_BADSTK___137 = 8
} ;
enum __anonenum_452038093___137 {
    FPE_INTDIV___137 = 1,
    FPE_INTOVF___137 = 2,
    FPE_FLTDIV___137 = 3,
    FPE_FLTOVF___137 = 4,
    FPE_FLTUND___137 = 5,
    FPE_FLTRES___137 = 6,
    FPE_FLTINV___137 = 7,
    FPE_FLTSUB___137 = 8
} ;
enum __anonenum_30976155___137 {
    SEGV_MAPERR___137 = 1,
    SEGV_ACCERR___137 = 2,
    SEGV_BNDERR___137 = 3,
    SEGV_PKUERR___137 = 4
} ;
enum __anonenum_1036286214___137 {
    BUS_ADRALN___137 = 1,
    BUS_ADRERR___137 = 2,
    BUS_OBJERR___137 = 3,
    BUS_MCEERR_AR___137 = 4,
    BUS_MCEERR_AO___137 = 5
} ;
enum __anonenum_493465559___137 {
    TRAP_BRKPT___137 = 1,
    TRAP_TRACE___137 = 2
} ;
enum __anonenum_23175539___137 {
    CLD_EXITED___137 = 1,
    CLD_KILLED___137 = 2,
    CLD_DUMPED___137 = 3,
    CLD_TRAPPED___137 = 4,
    CLD_STOPPED___137 = 5,
    CLD_CONTINUED___137 = 6
} ;
enum __anonenum_111643124___137 {
    POLL_IN___137 = 1,
    POLL_OUT___137 = 2,
    POLL_MSG___137 = 3,
    POLL_ERR___137 = 4,
    POLL_PRI___137 = 5,
    POLL_HUP___137 = 6
} ;
enum __anonenum_852341087___137 {
    SIGEV_SIGNAL___137 = 0,
    SIGEV_NONE___137 = 1,
    SIGEV_THREAD___137 = 2,
    SIGEV_THREAD_ID___137 = 4
} ;
enum __anonenum_451154152___137 {
    REG_R8___137 = 0,
    REG_R9___137 = 1,
    REG_R10___137 = 2,
    REG_R11___137 = 3,
    REG_R12___137 = 4,
    REG_R13___137 = 5,
    REG_R14___137 = 6,
    REG_R15___137 = 7,
    REG_RDI___137 = 8,
    REG_RSI___137 = 9,
    REG_RBP___137 = 10,
    REG_RBX___137 = 11,
    REG_RDX___137 = 12,
    REG_RAX___137 = 13,
    REG_RCX___137 = 14,
    REG_RSP___137 = 15,
    REG_RIP___137 = 16,
    REG_EFL___137 = 17,
    REG_CSGSFS___137 = 18,
    REG_ERR___137 = 19,
    REG_TRAPNO___137 = 20,
    REG_OLDMASK___137 = 21,
    REG_CR2___137 = 22
} ;
enum __anonenum_57186863___137 {
    SS_ONSTACK___137 = 1,
    SS_DISABLE___137 = 2
} ;
enum __anonenum_83571709___137 {
    MSG_OOB___137 = 1,
    MSG_PEEK___137 = 2,
    MSG_DONTROUTE___137 = 4,
    MSG_TRYHARD___137 = 4,
    MSG_CTRUNC___137 = 8,
    MSG_PROXY___137 = 16,
    MSG_TRUNC___137 = 32,
    MSG_DONTWAIT___137 = 64,
    MSG_EOR___137 = 128,
    MSG_WAITALL___137 = 256,
    MSG_FIN___137 = 512,
    MSG_SYN___137 = 1024,
    MSG_CONFIRM___137 = 2048,
    MSG_RST___137 = 4096,
    MSG_ERRQUEUE___137 = 8192,
    MSG_NOSIGNAL___137 = 16384,
    MSG_MORE___137 = 32768,
    MSG_WAITFORONE___137 = 65536,
    MSG_BATCH___137 = 262144,
    MSG_ZEROCOPY___137 = 67108864,
    MSG_FASTOPEN___137 = 536870912,
    MSG_CMSG_CLOEXEC___137 = 1073741824
} ;
enum __anonenum_617082774___137 {
    SCM_RIGHTS___137 = 1,
    SCM_CREDENTIALS___137 = 2
} ;
enum __anonenum_606441560___137 {
    SHUT_RD___137 = 0,
    SHUT_WR___137 = 1,
    SHUT_RDWR___137 = 2
} ;
enum __anonenum_681669233___137 {
    IPPROTO_IP___137 = 0,
    IPPROTO_ICMP___137 = 1,
    IPPROTO_IGMP___137 = 2,
    IPPROTO_IPIP___137 = 4,
    IPPROTO_TCP___137 = 6,
    IPPROTO_EGP___137 = 8,
    IPPROTO_PUP___137 = 12,
    IPPROTO_UDP___137 = 17,
    IPPROTO_IDP___137 = 22,
    IPPROTO_TP___137 = 29,
    IPPROTO_DCCP___137 = 33,
    IPPROTO_IPV6___137 = 41,
    IPPROTO_RSVP___137 = 46,
    IPPROTO_GRE___137 = 47,
    IPPROTO_ESP___137 = 50,
    IPPROTO_AH___137 = 51,
    IPPROTO_MTP___137 = 92,
    IPPROTO_BEETPH___137 = 94,
    IPPROTO_ENCAP___137 = 98,
    IPPROTO_PIM___137 = 103,
    IPPROTO_COMP___137 = 108,
    IPPROTO_SCTP___137 = 132,
    IPPROTO_UDPLITE___137 = 136,
    IPPROTO_MPLS___137 = 137,
    IPPROTO_RAW___137 = 255,
    IPPROTO_MAX___137 = 256
} ;
enum __anonenum_218739988___137 {
    IPPROTO_HOPOPTS___137 = 0,
    IPPROTO_ROUTING___137 = 43,
    IPPROTO_FRAGMENT___137 = 44,
    IPPROTO_ICMPV6___137 = 58,
    IPPROTO_NONE___137 = 59,
    IPPROTO_DSTOPTS___137 = 60,
    IPPROTO_MH___137 = 135
} ;
enum __anonenum_662268580___137 {
    IPPORT_ECHO___137 = 7,
    IPPORT_DISCARD___137 = 9,
    IPPORT_SYSTAT___137 = 11,
    IPPORT_DAYTIME___137 = 13,
    IPPORT_NETSTAT___137 = 15,
    IPPORT_FTP___137 = 21,
    IPPORT_TELNET___137 = 23,
    IPPORT_SMTP___137 = 25,
    IPPORT_TIMESERVER___137 = 37,
    IPPORT_NAMESERVER___137 = 42,
    IPPORT_WHOIS___137 = 43,
    IPPORT_MTP___137 = 57,
    IPPORT_TFTP___137 = 69,
    IPPORT_RJE___137 = 77,
    IPPORT_FINGER___137 = 79,
    IPPORT_TTYLINK___137 = 87,
    IPPORT_SUPDUP___137 = 95,
    IPPORT_EXECSERVER___137 = 512,
    IPPORT_LOGINSERVER___137 = 513,
    IPPORT_CMDSERVER___137 = 514,
    IPPORT_EFSSERVER___137 = 520,
    IPPORT_BIFFUDP___137 = 512,
    IPPORT_WHOSERVER___137 = 513,
    IPPORT_ROUTESERVER___137 = 520,
    IPPORT_RESERVED___137 = 1024,
    IPPORT_USERRESERVED___137 = 5000
} ;
enum __anonenum_788308992___137 {
    TCP_ESTABLISHED___137 = 1,
    TCP_SYN_SENT___137 = 2,
    TCP_SYN_RECV___137 = 3,
    TCP_FIN_WAIT1___137 = 4,
    TCP_FIN_WAIT2___137 = 5,
    TCP_TIME_WAIT___137 = 6,
    TCP_CLOSE___137 = 7,
    TCP_CLOSE_WAIT___137 = 8,
    TCP_LAST_ACK___137 = 9,
    TCP_LISTEN___137 = 10,
    TCP_CLOSING___137 = 11
} ;
enum __anonenum_221125648___137 {
    TCP_NO_QUEUE___137 = 0,
    TCP_RECV_QUEUE___137 = 1,
    TCP_SEND_QUEUE___137 = 2,
    TCP_QUEUES_NR___137 = 3
} ;
enum __anonenum_34415463___137 {
    PTHREAD_CREATE_JOINABLE___137 = 0,
    PTHREAD_CREATE_DETACHED___137 = 1
} ;
enum __anonenum_303612439___137 {
    PTHREAD_MUTEX_TIMED_NP___137 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___137 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___137 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___137 = 3,
    PTHREAD_MUTEX_NORMAL___137 = 0,
    PTHREAD_MUTEX_RECURSIVE___137 = 1,
    PTHREAD_MUTEX_ERRORCHECK___137 = 2,
    PTHREAD_MUTEX_DEFAULT___137 = 0,
    PTHREAD_MUTEX_FAST_NP___137 = 0
} ;
enum __anonenum_931900394___137 {
    PTHREAD_MUTEX_STALLED___137 = 0,
    PTHREAD_MUTEX_STALLED_NP___137 = 0,
    PTHREAD_MUTEX_ROBUST___137 = 1,
    PTHREAD_MUTEX_ROBUST_NP___137 = 1
} ;
enum __anonenum_205214487___137 {
    PTHREAD_PRIO_NONE___137 = 0,
    PTHREAD_PRIO_INHERIT___137 = 1,
    PTHREAD_PRIO_PROTECT___137 = 2
} ;
enum __anonenum_25043950___137 {
    PTHREAD_RWLOCK_PREFER_READER_NP___137 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___137 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___137 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___137 = 0
} ;
enum __anonenum_436439511___137 {
    PTHREAD_INHERIT_SCHED___137 = 0,
    PTHREAD_EXPLICIT_SCHED___137 = 1
} ;
enum __anonenum_998661166___137 {
    PTHREAD_SCOPE_SYSTEM___137 = 0,
    PTHREAD_SCOPE_PROCESS___137 = 1
} ;
enum __anonenum_146137331___137 {
    PTHREAD_PROCESS_PRIVATE___137 = 0,
    PTHREAD_PROCESS_SHARED___137 = 1
} ;
enum __anonenum_53396917___137 {
    PTHREAD_CANCEL_ENABLE___137 = 0,
    PTHREAD_CANCEL_DISABLE___137 = 1
} ;
enum __anonenum_904563783___137 {
    PTHREAD_CANCEL_DEFERRED___137 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___137 = 1
} ;
enum __anonenum_672052974___137 {
    SSL_CT_VALIDATION_PERMISSIVE___137 = 0,
    SSL_CT_VALIDATION_STRICT___137 = 1
} ;
enum __anonenum_437032235___138 {
    _PC_LINK_MAX___138 = 0,
    _PC_MAX_CANON___138 = 1,
    _PC_MAX_INPUT___138 = 2,
    _PC_NAME_MAX___138 = 3,
    _PC_PATH_MAX___138 = 4,
    _PC_PIPE_BUF___138 = 5,
    _PC_CHOWN_RESTRICTED___138 = 6,
    _PC_NO_TRUNC___138 = 7,
    _PC_VDISABLE___138 = 8,
    _PC_SYNC_IO___138 = 9,
    _PC_ASYNC_IO___138 = 10,
    _PC_PRIO_IO___138 = 11,
    _PC_SOCK_MAXBUF___138 = 12,
    _PC_FILESIZEBITS___138 = 13,
    _PC_REC_INCR_XFER_SIZE___138 = 14,
    _PC_REC_MAX_XFER_SIZE___138 = 15,
    _PC_REC_MIN_XFER_SIZE___138 = 16,
    _PC_REC_XFER_ALIGN___138 = 17,
    _PC_ALLOC_SIZE_MIN___138 = 18,
    _PC_SYMLINK_MAX___138 = 19,
    _PC_2_SYMLINKS___138 = 20
} ;
enum __anonenum_315186338___138 {
    _SC_ARG_MAX___138 = 0,
    _SC_CHILD_MAX___138 = 1,
    _SC_CLK_TCK___138 = 2,
    _SC_NGROUPS_MAX___138 = 3,
    _SC_OPEN_MAX___138 = 4,
    _SC_STREAM_MAX___138 = 5,
    _SC_TZNAME_MAX___138 = 6,
    _SC_JOB_CONTROL___138 = 7,
    _SC_SAVED_IDS___138 = 8,
    _SC_REALTIME_SIGNALS___138 = 9,
    _SC_PRIORITY_SCHEDULING___138 = 10,
    _SC_TIMERS___138 = 11,
    _SC_ASYNCHRONOUS_IO___138 = 12,
    _SC_PRIORITIZED_IO___138 = 13,
    _SC_SYNCHRONIZED_IO___138 = 14,
    _SC_FSYNC___138 = 15,
    _SC_MAPPED_FILES___138 = 16,
    _SC_MEMLOCK___138 = 17,
    _SC_MEMLOCK_RANGE___138 = 18,
    _SC_MEMORY_PROTECTION___138 = 19,
    _SC_MESSAGE_PASSING___138 = 20,
    _SC_SEMAPHORES___138 = 21,
    _SC_SHARED_MEMORY_OBJECTS___138 = 22,
    _SC_AIO_LISTIO_MAX___138 = 23,
    _SC_AIO_MAX___138 = 24,
    _SC_AIO_PRIO_DELTA_MAX___138 = 25,
    _SC_DELAYTIMER_MAX___138 = 26,
    _SC_MQ_OPEN_MAX___138 = 27,
    _SC_MQ_PRIO_MAX___138 = 28,
    _SC_VERSION___138 = 29,
    _SC_PAGESIZE___138 = 30,
    _SC_RTSIG_MAX___138 = 31,
    _SC_SEM_NSEMS_MAX___138 = 32,
    _SC_SEM_VALUE_MAX___138 = 33,
    _SC_SIGQUEUE_MAX___138 = 34,
    _SC_TIMER_MAX___138 = 35,
    _SC_BC_BASE_MAX___138 = 36,
    _SC_BC_DIM_MAX___138 = 37,
    _SC_BC_SCALE_MAX___138 = 38,
    _SC_BC_STRING_MAX___138 = 39,
    _SC_COLL_WEIGHTS_MAX___138 = 40,
    _SC_EQUIV_CLASS_MAX___138 = 41,
    _SC_EXPR_NEST_MAX___138 = 42,
    _SC_LINE_MAX___138 = 43,
    _SC_RE_DUP_MAX___138 = 44,
    _SC_CHARCLASS_NAME_MAX___138 = 45,
    _SC_2_VERSION___138 = 46,
    _SC_2_C_BIND___138 = 47,
    _SC_2_C_DEV___138 = 48,
    _SC_2_FORT_DEV___138 = 49,
    _SC_2_FORT_RUN___138 = 50,
    _SC_2_SW_DEV___138 = 51,
    _SC_2_LOCALEDEF___138 = 52,
    _SC_PII___138 = 53,
    _SC_PII_XTI___138 = 54,
    _SC_PII_SOCKET___138 = 55,
    _SC_PII_INTERNET___138 = 56,
    _SC_PII_OSI___138 = 57,
    _SC_POLL___138 = 58,
    _SC_SELECT___138 = 59,
    _SC_UIO_MAXIOV___138 = 60,
    _SC_IOV_MAX___138 = 60,
    _SC_PII_INTERNET_STREAM___138 = 61,
    _SC_PII_INTERNET_DGRAM___138 = 62,
    _SC_PII_OSI_COTS___138 = 63,
    _SC_PII_OSI_CLTS___138 = 64,
    _SC_PII_OSI_M___138 = 65,
    _SC_T_IOV_MAX___138 = 66,
    _SC_THREADS___138 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___138 = 68,
    _SC_GETGR_R_SIZE_MAX___138 = 69,
    _SC_GETPW_R_SIZE_MAX___138 = 70,
    _SC_LOGIN_NAME_MAX___138 = 71,
    _SC_TTY_NAME_MAX___138 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___138 = 73,
    _SC_THREAD_KEYS_MAX___138 = 74,
    _SC_THREAD_STACK_MIN___138 = 75,
    _SC_THREAD_THREADS_MAX___138 = 76,
    _SC_THREAD_ATTR_STACKADDR___138 = 77,
    _SC_THREAD_ATTR_STACKSIZE___138 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___138 = 79,
    _SC_THREAD_PRIO_INHERIT___138 = 80,
    _SC_THREAD_PRIO_PROTECT___138 = 81,
    _SC_THREAD_PROCESS_SHARED___138 = 82,
    _SC_NPROCESSORS_CONF___138 = 83,
    _SC_NPROCESSORS_ONLN___138 = 84,
    _SC_PHYS_PAGES___138 = 85,
    _SC_AVPHYS_PAGES___138 = 86,
    _SC_ATEXIT_MAX___138 = 87,
    _SC_PASS_MAX___138 = 88,
    _SC_XOPEN_VERSION___138 = 89,
    _SC_XOPEN_XCU_VERSION___138 = 90,
    _SC_XOPEN_UNIX___138 = 91,
    _SC_XOPEN_CRYPT___138 = 92,
    _SC_XOPEN_ENH_I18N___138 = 93,
    _SC_XOPEN_SHM___138 = 94,
    _SC_2_CHAR_TERM___138 = 95,
    _SC_2_C_VERSION___138 = 96,
    _SC_2_UPE___138 = 97,
    _SC_XOPEN_XPG2___138 = 98,
    _SC_XOPEN_XPG3___138 = 99,
    _SC_XOPEN_XPG4___138 = 100,
    _SC_CHAR_BIT___138 = 101,
    _SC_CHAR_MAX___138 = 102,
    _SC_CHAR_MIN___138 = 103,
    _SC_INT_MAX___138 = 104,
    _SC_INT_MIN___138 = 105,
    _SC_LONG_BIT___138 = 106,
    _SC_WORD_BIT___138 = 107,
    _SC_MB_LEN_MAX___138 = 108,
    _SC_NZERO___138 = 109,
    _SC_SSIZE_MAX___138 = 110,
    _SC_SCHAR_MAX___138 = 111,
    _SC_SCHAR_MIN___138 = 112,
    _SC_SHRT_MAX___138 = 113,
    _SC_SHRT_MIN___138 = 114,
    _SC_UCHAR_MAX___138 = 115,
    _SC_UINT_MAX___138 = 116,
    _SC_ULONG_MAX___138 = 117,
    _SC_USHRT_MAX___138 = 118,
    _SC_NL_ARGMAX___138 = 119,
    _SC_NL_LANGMAX___138 = 120,
    _SC_NL_MSGMAX___138 = 121,
    _SC_NL_NMAX___138 = 122,
    _SC_NL_SETMAX___138 = 123,
    _SC_NL_TEXTMAX___138 = 124,
    _SC_XBS5_ILP32_OFF32___138 = 125,
    _SC_XBS5_ILP32_OFFBIG___138 = 126,
    _SC_XBS5_LP64_OFF64___138 = 127,
    _SC_XBS5_LPBIG_OFFBIG___138 = 128,
    _SC_XOPEN_LEGACY___138 = 129,
    _SC_XOPEN_REALTIME___138 = 130,
    _SC_XOPEN_REALTIME_THREADS___138 = 131,
    _SC_ADVISORY_INFO___138 = 132,
    _SC_BARRIERS___138 = 133,
    _SC_BASE___138 = 134,
    _SC_C_LANG_SUPPORT___138 = 135,
    _SC_C_LANG_SUPPORT_R___138 = 136,
    _SC_CLOCK_SELECTION___138 = 137,
    _SC_CPUTIME___138 = 138,
    _SC_THREAD_CPUTIME___138 = 139,
    _SC_DEVICE_IO___138 = 140,
    _SC_DEVICE_SPECIFIC___138 = 141,
    _SC_DEVICE_SPECIFIC_R___138 = 142,
    _SC_FD_MGMT___138 = 143,
    _SC_FIFO___138 = 144,
    _SC_PIPE___138 = 145,
    _SC_FILE_ATTRIBUTES___138 = 146,
    _SC_FILE_LOCKING___138 = 147,
    _SC_FILE_SYSTEM___138 = 148,
    _SC_MONOTONIC_CLOCK___138 = 149,
    _SC_MULTI_PROCESS___138 = 150,
    _SC_SINGLE_PROCESS___138 = 151,
    _SC_NETWORKING___138 = 152,
    _SC_READER_WRITER_LOCKS___138 = 153,
    _SC_SPIN_LOCKS___138 = 154,
    _SC_REGEXP___138 = 155,
    _SC_REGEX_VERSION___138 = 156,
    _SC_SHELL___138 = 157,
    _SC_SIGNALS___138 = 158,
    _SC_SPAWN___138 = 159,
    _SC_SPORADIC_SERVER___138 = 160,
    _SC_THREAD_SPORADIC_SERVER___138 = 161,
    _SC_SYSTEM_DATABASE___138 = 162,
    _SC_SYSTEM_DATABASE_R___138 = 163,
    _SC_TIMEOUTS___138 = 164,
    _SC_TYPED_MEMORY_OBJECTS___138 = 165,
    _SC_USER_GROUPS___138 = 166,
    _SC_USER_GROUPS_R___138 = 167,
    _SC_2_PBS___138 = 168,
    _SC_2_PBS_ACCOUNTING___138 = 169,
    _SC_2_PBS_LOCATE___138 = 170,
    _SC_2_PBS_MESSAGE___138 = 171,
    _SC_2_PBS_TRACK___138 = 172,
    _SC_SYMLOOP_MAX___138 = 173,
    _SC_STREAMS___138 = 174,
    _SC_2_PBS_CHECKPOINT___138 = 175,
    _SC_V6_ILP32_OFF32___138 = 176,
    _SC_V6_ILP32_OFFBIG___138 = 177,
    _SC_V6_LP64_OFF64___138 = 178,
    _SC_V6_LPBIG_OFFBIG___138 = 179,
    _SC_HOST_NAME_MAX___138 = 180,
    _SC_TRACE___138 = 181,
    _SC_TRACE_EVENT_FILTER___138 = 182,
    _SC_TRACE_INHERIT___138 = 183,
    _SC_TRACE_LOG___138 = 184,
    _SC_LEVEL1_ICACHE_SIZE___138 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___138 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___138 = 187,
    _SC_LEVEL1_DCACHE_SIZE___138 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___138 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___138 = 190,
    _SC_LEVEL2_CACHE_SIZE___138 = 191,
    _SC_LEVEL2_CACHE_ASSOC___138 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___138 = 193,
    _SC_LEVEL3_CACHE_SIZE___138 = 194,
    _SC_LEVEL3_CACHE_ASSOC___138 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___138 = 196,
    _SC_LEVEL4_CACHE_SIZE___138 = 197,
    _SC_LEVEL4_CACHE_ASSOC___138 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___138 = 199,
    _SC_IPV6___138 = 235,
    _SC_RAW_SOCKETS___138 = 236,
    _SC_V7_ILP32_OFF32___138 = 237,
    _SC_V7_ILP32_OFFBIG___138 = 238,
    _SC_V7_LP64_OFF64___138 = 239,
    _SC_V7_LPBIG_OFFBIG___138 = 240,
    _SC_SS_REPL_MAX___138 = 241,
    _SC_TRACE_EVENT_NAME_MAX___138 = 242,
    _SC_TRACE_NAME_MAX___138 = 243,
    _SC_TRACE_SYS_MAX___138 = 244,
    _SC_TRACE_USER_EVENT_MAX___138 = 245,
    _SC_XOPEN_STREAMS___138 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___138 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___138 = 248
} ;
enum __anonenum_875524036___138 {
    _CS_PATH___138 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___138 = 1,
    _CS_GNU_LIBC_VERSION___138 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___138 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___138 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___138 = 5,
    _CS_LFS_CFLAGS___138 = 1000,
    _CS_LFS_LDFLAGS___138 = 1001,
    _CS_LFS_LIBS___138 = 1002,
    _CS_LFS_LINTFLAGS___138 = 1003,
    _CS_LFS64_CFLAGS___138 = 1004,
    _CS_LFS64_LDFLAGS___138 = 1005,
    _CS_LFS64_LIBS___138 = 1006,
    _CS_LFS64_LINTFLAGS___138 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___138 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___138 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___138 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___138 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___138 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___138 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___138 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___138 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___138 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___138 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___138 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___138 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___138 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___138 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___138 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___138 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___138 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___138 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___138 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___138 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___138 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___138 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___138 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___138 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___138 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___138 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___138 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___138 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___138 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___138 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___138 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___138 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___138 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___138 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___138 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___138 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___138 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___138 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___138 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___138 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___138 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___138 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___138 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___138 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___138 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___138 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___138 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___138 = 1147,
    _CS_V6_ENV___138 = 1148,
    _CS_V7_ENV___138 = 1149
} ;
enum __anonenum_513775621___138 {
    DT_UNKNOWN___138 = 0,
    DT_FIFO___138 = 1,
    DT_CHR___138 = 2,
    DT_DIR___138 = 4,
    DT_BLK___138 = 6,
    DT_REG___138 = 8,
    DT_LNK___138 = 10,
    DT_SOCK___138 = 12,
    DT_WHT___138 = 14
} ;
enum __anonenum_77002343___138 {
    SI_ASYNCNL___138 = -60,
    SI_TKILL___138 = -6,
    SI_SIGIO___138 = -5,
    SI_ASYNCIO___138 = -4,
    SI_MESGQ___138 = -3,
    SI_TIMER___138 = -2,
    SI_QUEUE___138 = -1,
    SI_USER___138 = 0,
    SI_KERNEL___138 = 128
} ;
enum __anonenum_131038172___138 {
    ILL_ILLOPC___138 = 1,
    ILL_ILLOPN___138 = 2,
    ILL_ILLADR___138 = 3,
    ILL_ILLTRP___138 = 4,
    ILL_PRVOPC___138 = 5,
    ILL_PRVREG___138 = 6,
    ILL_COPROC___138 = 7,
    ILL_BADSTK___138 = 8
} ;
enum __anonenum_452038093___138 {
    FPE_INTDIV___138 = 1,
    FPE_INTOVF___138 = 2,
    FPE_FLTDIV___138 = 3,
    FPE_FLTOVF___138 = 4,
    FPE_FLTUND___138 = 5,
    FPE_FLTRES___138 = 6,
    FPE_FLTINV___138 = 7,
    FPE_FLTSUB___138 = 8
} ;
enum __anonenum_30976155___138 {
    SEGV_MAPERR___138 = 1,
    SEGV_ACCERR___138 = 2,
    SEGV_BNDERR___138 = 3,
    SEGV_PKUERR___138 = 4
} ;
enum __anonenum_1036286214___138 {
    BUS_ADRALN___138 = 1,
    BUS_ADRERR___138 = 2,
    BUS_OBJERR___138 = 3,
    BUS_MCEERR_AR___138 = 4,
    BUS_MCEERR_AO___138 = 5
} ;
enum __anonenum_493465559___138 {
    TRAP_BRKPT___138 = 1,
    TRAP_TRACE___138 = 2
} ;
enum __anonenum_23175539___138 {
    CLD_EXITED___138 = 1,
    CLD_KILLED___138 = 2,
    CLD_DUMPED___138 = 3,
    CLD_TRAPPED___138 = 4,
    CLD_STOPPED___138 = 5,
    CLD_CONTINUED___138 = 6
} ;
enum __anonenum_111643124___138 {
    POLL_IN___138 = 1,
    POLL_OUT___138 = 2,
    POLL_MSG___138 = 3,
    POLL_ERR___138 = 4,
    POLL_PRI___138 = 5,
    POLL_HUP___138 = 6
} ;
enum __anonenum_852341087___138 {
    SIGEV_SIGNAL___138 = 0,
    SIGEV_NONE___138 = 1,
    SIGEV_THREAD___138 = 2,
    SIGEV_THREAD_ID___138 = 4
} ;
enum __anonenum_451154152___138 {
    REG_R8___138 = 0,
    REG_R9___138 = 1,
    REG_R10___138 = 2,
    REG_R11___138 = 3,
    REG_R12___138 = 4,
    REG_R13___138 = 5,
    REG_R14___138 = 6,
    REG_R15___138 = 7,
    REG_RDI___138 = 8,
    REG_RSI___138 = 9,
    REG_RBP___138 = 10,
    REG_RBX___138 = 11,
    REG_RDX___138 = 12,
    REG_RAX___138 = 13,
    REG_RCX___138 = 14,
    REG_RSP___138 = 15,
    REG_RIP___138 = 16,
    REG_EFL___138 = 17,
    REG_CSGSFS___138 = 18,
    REG_ERR___138 = 19,
    REG_TRAPNO___138 = 20,
    REG_OLDMASK___138 = 21,
    REG_CR2___138 = 22
} ;
enum __anonenum_57186863___138 {
    SS_ONSTACK___138 = 1,
    SS_DISABLE___138 = 2
} ;
enum __anonenum_83571709___138 {
    MSG_OOB___138 = 1,
    MSG_PEEK___138 = 2,
    MSG_DONTROUTE___138 = 4,
    MSG_TRYHARD___138 = 4,
    MSG_CTRUNC___138 = 8,
    MSG_PROXY___138 = 16,
    MSG_TRUNC___138 = 32,
    MSG_DONTWAIT___138 = 64,
    MSG_EOR___138 = 128,
    MSG_WAITALL___138 = 256,
    MSG_FIN___138 = 512,
    MSG_SYN___138 = 1024,
    MSG_CONFIRM___138 = 2048,
    MSG_RST___138 = 4096,
    MSG_ERRQUEUE___138 = 8192,
    MSG_NOSIGNAL___138 = 16384,
    MSG_MORE___138 = 32768,
    MSG_WAITFORONE___138 = 65536,
    MSG_BATCH___138 = 262144,
    MSG_ZEROCOPY___138 = 67108864,
    MSG_FASTOPEN___138 = 536870912,
    MSG_CMSG_CLOEXEC___138 = 1073741824
} ;
enum __anonenum_617082774___138 {
    SCM_RIGHTS___138 = 1,
    SCM_CREDENTIALS___138 = 2
} ;
enum __anonenum_606441560___138 {
    SHUT_RD___138 = 0,
    SHUT_WR___138 = 1,
    SHUT_RDWR___138 = 2
} ;
enum __anonenum_681669233___138 {
    IPPROTO_IP___138 = 0,
    IPPROTO_ICMP___138 = 1,
    IPPROTO_IGMP___138 = 2,
    IPPROTO_IPIP___138 = 4,
    IPPROTO_TCP___138 = 6,
    IPPROTO_EGP___138 = 8,
    IPPROTO_PUP___138 = 12,
    IPPROTO_UDP___138 = 17,
    IPPROTO_IDP___138 = 22,
    IPPROTO_TP___138 = 29,
    IPPROTO_DCCP___138 = 33,
    IPPROTO_IPV6___138 = 41,
    IPPROTO_RSVP___138 = 46,
    IPPROTO_GRE___138 = 47,
    IPPROTO_ESP___138 = 50,
    IPPROTO_AH___138 = 51,
    IPPROTO_MTP___138 = 92,
    IPPROTO_BEETPH___138 = 94,
    IPPROTO_ENCAP___138 = 98,
    IPPROTO_PIM___138 = 103,
    IPPROTO_COMP___138 = 108,
    IPPROTO_SCTP___138 = 132,
    IPPROTO_UDPLITE___138 = 136,
    IPPROTO_MPLS___138 = 137,
    IPPROTO_RAW___138 = 255,
    IPPROTO_MAX___138 = 256
} ;
enum __anonenum_218739988___138 {
    IPPROTO_HOPOPTS___138 = 0,
    IPPROTO_ROUTING___138 = 43,
    IPPROTO_FRAGMENT___138 = 44,
    IPPROTO_ICMPV6___138 = 58,
    IPPROTO_NONE___138 = 59,
    IPPROTO_DSTOPTS___138 = 60,
    IPPROTO_MH___138 = 135
} ;
enum __anonenum_662268580___138 {
    IPPORT_ECHO___138 = 7,
    IPPORT_DISCARD___138 = 9,
    IPPORT_SYSTAT___138 = 11,
    IPPORT_DAYTIME___138 = 13,
    IPPORT_NETSTAT___138 = 15,
    IPPORT_FTP___138 = 21,
    IPPORT_TELNET___138 = 23,
    IPPORT_SMTP___138 = 25,
    IPPORT_TIMESERVER___138 = 37,
    IPPORT_NAMESERVER___138 = 42,
    IPPORT_WHOIS___138 = 43,
    IPPORT_MTP___138 = 57,
    IPPORT_TFTP___138 = 69,
    IPPORT_RJE___138 = 77,
    IPPORT_FINGER___138 = 79,
    IPPORT_TTYLINK___138 = 87,
    IPPORT_SUPDUP___138 = 95,
    IPPORT_EXECSERVER___138 = 512,
    IPPORT_LOGINSERVER___138 = 513,
    IPPORT_CMDSERVER___138 = 514,
    IPPORT_EFSSERVER___138 = 520,
    IPPORT_BIFFUDP___138 = 512,
    IPPORT_WHOSERVER___138 = 513,
    IPPORT_ROUTESERVER___138 = 520,
    IPPORT_RESERVED___138 = 1024,
    IPPORT_USERRESERVED___138 = 5000
} ;
enum __anonenum_788308992___138 {
    TCP_ESTABLISHED___138 = 1,
    TCP_SYN_SENT___138 = 2,
    TCP_SYN_RECV___138 = 3,
    TCP_FIN_WAIT1___138 = 4,
    TCP_FIN_WAIT2___138 = 5,
    TCP_TIME_WAIT___138 = 6,
    TCP_CLOSE___138 = 7,
    TCP_CLOSE_WAIT___138 = 8,
    TCP_LAST_ACK___138 = 9,
    TCP_LISTEN___138 = 10,
    TCP_CLOSING___138 = 11
} ;
enum __anonenum_221125648___138 {
    TCP_NO_QUEUE___138 = 0,
    TCP_RECV_QUEUE___138 = 1,
    TCP_SEND_QUEUE___138 = 2,
    TCP_QUEUES_NR___138 = 3
} ;
enum __anonenum_34415463___138 {
    PTHREAD_CREATE_JOINABLE___138 = 0,
    PTHREAD_CREATE_DETACHED___138 = 1
} ;
enum __anonenum_303612439___138 {
    PTHREAD_MUTEX_TIMED_NP___138 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___138 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___138 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___138 = 3,
    PTHREAD_MUTEX_NORMAL___138 = 0,
    PTHREAD_MUTEX_RECURSIVE___138 = 1,
    PTHREAD_MUTEX_ERRORCHECK___138 = 2,
    PTHREAD_MUTEX_DEFAULT___138 = 0,
    PTHREAD_MUTEX_FAST_NP___138 = 0
} ;
enum __anonenum_931900394___138 {
    PTHREAD_MUTEX_STALLED___138 = 0,
    PTHREAD_MUTEX_STALLED_NP___138 = 0,
    PTHREAD_MUTEX_ROBUST___138 = 1,
    PTHREAD_MUTEX_ROBUST_NP___138 = 1
} ;
enum __anonenum_205214487___138 {
    PTHREAD_PRIO_NONE___138 = 0,
    PTHREAD_PRIO_INHERIT___138 = 1,
    PTHREAD_PRIO_PROTECT___138 = 2
} ;
enum __anonenum_25043950___138 {
    PTHREAD_RWLOCK_PREFER_READER_NP___138 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___138 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___138 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___138 = 0
} ;
enum __anonenum_436439511___138 {
    PTHREAD_INHERIT_SCHED___138 = 0,
    PTHREAD_EXPLICIT_SCHED___138 = 1
} ;
enum __anonenum_998661166___138 {
    PTHREAD_SCOPE_SYSTEM___138 = 0,
    PTHREAD_SCOPE_PROCESS___138 = 1
} ;
enum __anonenum_146137331___138 {
    PTHREAD_PROCESS_PRIVATE___138 = 0,
    PTHREAD_PROCESS_SHARED___138 = 1
} ;
enum __anonenum_53396917___138 {
    PTHREAD_CANCEL_ENABLE___138 = 0,
    PTHREAD_CANCEL_DISABLE___138 = 1
} ;
enum __anonenum_904563783___138 {
    PTHREAD_CANCEL_DEFERRED___138 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___138 = 1
} ;
enum __anonenum_672052974___138 {
    SSL_CT_VALIDATION_PERMISSIVE___138 = 0,
    SSL_CT_VALIDATION_STRICT___138 = 1
} ;
struct progress_data {
   unsigned long n ;
   struct progress *progress ;
   pthread_mutex_t mutex ;
};
struct thread_data {
   pthread_t pthread ;
   struct index_state *index ;
   struct pathspec pathspec ;
   struct progress_data *progress ;
   int offset ;
   int nr ;
   int t2_nr_lstat ;
};
enum __anonenum_437032235___139 {
    _PC_LINK_MAX___139 = 0,
    _PC_MAX_CANON___139 = 1,
    _PC_MAX_INPUT___139 = 2,
    _PC_NAME_MAX___139 = 3,
    _PC_PATH_MAX___139 = 4,
    _PC_PIPE_BUF___139 = 5,
    _PC_CHOWN_RESTRICTED___139 = 6,
    _PC_NO_TRUNC___139 = 7,
    _PC_VDISABLE___139 = 8,
    _PC_SYNC_IO___139 = 9,
    _PC_ASYNC_IO___139 = 10,
    _PC_PRIO_IO___139 = 11,
    _PC_SOCK_MAXBUF___139 = 12,
    _PC_FILESIZEBITS___139 = 13,
    _PC_REC_INCR_XFER_SIZE___139 = 14,
    _PC_REC_MAX_XFER_SIZE___139 = 15,
    _PC_REC_MIN_XFER_SIZE___139 = 16,
    _PC_REC_XFER_ALIGN___139 = 17,
    _PC_ALLOC_SIZE_MIN___139 = 18,
    _PC_SYMLINK_MAX___139 = 19,
    _PC_2_SYMLINKS___139 = 20
} ;
enum __anonenum_315186338___139 {
    _SC_ARG_MAX___139 = 0,
    _SC_CHILD_MAX___139 = 1,
    _SC_CLK_TCK___139 = 2,
    _SC_NGROUPS_MAX___139 = 3,
    _SC_OPEN_MAX___139 = 4,
    _SC_STREAM_MAX___139 = 5,
    _SC_TZNAME_MAX___139 = 6,
    _SC_JOB_CONTROL___139 = 7,
    _SC_SAVED_IDS___139 = 8,
    _SC_REALTIME_SIGNALS___139 = 9,
    _SC_PRIORITY_SCHEDULING___139 = 10,
    _SC_TIMERS___139 = 11,
    _SC_ASYNCHRONOUS_IO___139 = 12,
    _SC_PRIORITIZED_IO___139 = 13,
    _SC_SYNCHRONIZED_IO___139 = 14,
    _SC_FSYNC___139 = 15,
    _SC_MAPPED_FILES___139 = 16,
    _SC_MEMLOCK___139 = 17,
    _SC_MEMLOCK_RANGE___139 = 18,
    _SC_MEMORY_PROTECTION___139 = 19,
    _SC_MESSAGE_PASSING___139 = 20,
    _SC_SEMAPHORES___139 = 21,
    _SC_SHARED_MEMORY_OBJECTS___139 = 22,
    _SC_AIO_LISTIO_MAX___139 = 23,
    _SC_AIO_MAX___139 = 24,
    _SC_AIO_PRIO_DELTA_MAX___139 = 25,
    _SC_DELAYTIMER_MAX___139 = 26,
    _SC_MQ_OPEN_MAX___139 = 27,
    _SC_MQ_PRIO_MAX___139 = 28,
    _SC_VERSION___139 = 29,
    _SC_PAGESIZE___139 = 30,
    _SC_RTSIG_MAX___139 = 31,
    _SC_SEM_NSEMS_MAX___139 = 32,
    _SC_SEM_VALUE_MAX___139 = 33,
    _SC_SIGQUEUE_MAX___139 = 34,
    _SC_TIMER_MAX___139 = 35,
    _SC_BC_BASE_MAX___139 = 36,
    _SC_BC_DIM_MAX___139 = 37,
    _SC_BC_SCALE_MAX___139 = 38,
    _SC_BC_STRING_MAX___139 = 39,
    _SC_COLL_WEIGHTS_MAX___139 = 40,
    _SC_EQUIV_CLASS_MAX___139 = 41,
    _SC_EXPR_NEST_MAX___139 = 42,
    _SC_LINE_MAX___139 = 43,
    _SC_RE_DUP_MAX___139 = 44,
    _SC_CHARCLASS_NAME_MAX___139 = 45,
    _SC_2_VERSION___139 = 46,
    _SC_2_C_BIND___139 = 47,
    _SC_2_C_DEV___139 = 48,
    _SC_2_FORT_DEV___139 = 49,
    _SC_2_FORT_RUN___139 = 50,
    _SC_2_SW_DEV___139 = 51,
    _SC_2_LOCALEDEF___139 = 52,
    _SC_PII___139 = 53,
    _SC_PII_XTI___139 = 54,
    _SC_PII_SOCKET___139 = 55,
    _SC_PII_INTERNET___139 = 56,
    _SC_PII_OSI___139 = 57,
    _SC_POLL___139 = 58,
    _SC_SELECT___139 = 59,
    _SC_UIO_MAXIOV___139 = 60,
    _SC_IOV_MAX___139 = 60,
    _SC_PII_INTERNET_STREAM___139 = 61,
    _SC_PII_INTERNET_DGRAM___139 = 62,
    _SC_PII_OSI_COTS___139 = 63,
    _SC_PII_OSI_CLTS___139 = 64,
    _SC_PII_OSI_M___139 = 65,
    _SC_T_IOV_MAX___139 = 66,
    _SC_THREADS___139 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___139 = 68,
    _SC_GETGR_R_SIZE_MAX___139 = 69,
    _SC_GETPW_R_SIZE_MAX___139 = 70,
    _SC_LOGIN_NAME_MAX___139 = 71,
    _SC_TTY_NAME_MAX___139 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___139 = 73,
    _SC_THREAD_KEYS_MAX___139 = 74,
    _SC_THREAD_STACK_MIN___139 = 75,
    _SC_THREAD_THREADS_MAX___139 = 76,
    _SC_THREAD_ATTR_STACKADDR___139 = 77,
    _SC_THREAD_ATTR_STACKSIZE___139 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___139 = 79,
    _SC_THREAD_PRIO_INHERIT___139 = 80,
    _SC_THREAD_PRIO_PROTECT___139 = 81,
    _SC_THREAD_PROCESS_SHARED___139 = 82,
    _SC_NPROCESSORS_CONF___139 = 83,
    _SC_NPROCESSORS_ONLN___139 = 84,
    _SC_PHYS_PAGES___139 = 85,
    _SC_AVPHYS_PAGES___139 = 86,
    _SC_ATEXIT_MAX___139 = 87,
    _SC_PASS_MAX___139 = 88,
    _SC_XOPEN_VERSION___139 = 89,
    _SC_XOPEN_XCU_VERSION___139 = 90,
    _SC_XOPEN_UNIX___139 = 91,
    _SC_XOPEN_CRYPT___139 = 92,
    _SC_XOPEN_ENH_I18N___139 = 93,
    _SC_XOPEN_SHM___139 = 94,
    _SC_2_CHAR_TERM___139 = 95,
    _SC_2_C_VERSION___139 = 96,
    _SC_2_UPE___139 = 97,
    _SC_XOPEN_XPG2___139 = 98,
    _SC_XOPEN_XPG3___139 = 99,
    _SC_XOPEN_XPG4___139 = 100,
    _SC_CHAR_BIT___139 = 101,
    _SC_CHAR_MAX___139 = 102,
    _SC_CHAR_MIN___139 = 103,
    _SC_INT_MAX___139 = 104,
    _SC_INT_MIN___139 = 105,
    _SC_LONG_BIT___139 = 106,
    _SC_WORD_BIT___139 = 107,
    _SC_MB_LEN_MAX___139 = 108,
    _SC_NZERO___139 = 109,
    _SC_SSIZE_MAX___139 = 110,
    _SC_SCHAR_MAX___139 = 111,
    _SC_SCHAR_MIN___139 = 112,
    _SC_SHRT_MAX___139 = 113,
    _SC_SHRT_MIN___139 = 114,
    _SC_UCHAR_MAX___139 = 115,
    _SC_UINT_MAX___139 = 116,
    _SC_ULONG_MAX___139 = 117,
    _SC_USHRT_MAX___139 = 118,
    _SC_NL_ARGMAX___139 = 119,
    _SC_NL_LANGMAX___139 = 120,
    _SC_NL_MSGMAX___139 = 121,
    _SC_NL_NMAX___139 = 122,
    _SC_NL_SETMAX___139 = 123,
    _SC_NL_TEXTMAX___139 = 124,
    _SC_XBS5_ILP32_OFF32___139 = 125,
    _SC_XBS5_ILP32_OFFBIG___139 = 126,
    _SC_XBS5_LP64_OFF64___139 = 127,
    _SC_XBS5_LPBIG_OFFBIG___139 = 128,
    _SC_XOPEN_LEGACY___139 = 129,
    _SC_XOPEN_REALTIME___139 = 130,
    _SC_XOPEN_REALTIME_THREADS___139 = 131,
    _SC_ADVISORY_INFO___139 = 132,
    _SC_BARRIERS___139 = 133,
    _SC_BASE___139 = 134,
    _SC_C_LANG_SUPPORT___139 = 135,
    _SC_C_LANG_SUPPORT_R___139 = 136,
    _SC_CLOCK_SELECTION___139 = 137,
    _SC_CPUTIME___139 = 138,
    _SC_THREAD_CPUTIME___139 = 139,
    _SC_DEVICE_IO___139 = 140,
    _SC_DEVICE_SPECIFIC___139 = 141,
    _SC_DEVICE_SPECIFIC_R___139 = 142,
    _SC_FD_MGMT___139 = 143,
    _SC_FIFO___139 = 144,
    _SC_PIPE___139 = 145,
    _SC_FILE_ATTRIBUTES___139 = 146,
    _SC_FILE_LOCKING___139 = 147,
    _SC_FILE_SYSTEM___139 = 148,
    _SC_MONOTONIC_CLOCK___139 = 149,
    _SC_MULTI_PROCESS___139 = 150,
    _SC_SINGLE_PROCESS___139 = 151,
    _SC_NETWORKING___139 = 152,
    _SC_READER_WRITER_LOCKS___139 = 153,
    _SC_SPIN_LOCKS___139 = 154,
    _SC_REGEXP___139 = 155,
    _SC_REGEX_VERSION___139 = 156,
    _SC_SHELL___139 = 157,
    _SC_SIGNALS___139 = 158,
    _SC_SPAWN___139 = 159,
    _SC_SPORADIC_SERVER___139 = 160,
    _SC_THREAD_SPORADIC_SERVER___139 = 161,
    _SC_SYSTEM_DATABASE___139 = 162,
    _SC_SYSTEM_DATABASE_R___139 = 163,
    _SC_TIMEOUTS___139 = 164,
    _SC_TYPED_MEMORY_OBJECTS___139 = 165,
    _SC_USER_GROUPS___139 = 166,
    _SC_USER_GROUPS_R___139 = 167,
    _SC_2_PBS___139 = 168,
    _SC_2_PBS_ACCOUNTING___139 = 169,
    _SC_2_PBS_LOCATE___139 = 170,
    _SC_2_PBS_MESSAGE___139 = 171,
    _SC_2_PBS_TRACK___139 = 172,
    _SC_SYMLOOP_MAX___139 = 173,
    _SC_STREAMS___139 = 174,
    _SC_2_PBS_CHECKPOINT___139 = 175,
    _SC_V6_ILP32_OFF32___139 = 176,
    _SC_V6_ILP32_OFFBIG___139 = 177,
    _SC_V6_LP64_OFF64___139 = 178,
    _SC_V6_LPBIG_OFFBIG___139 = 179,
    _SC_HOST_NAME_MAX___139 = 180,
    _SC_TRACE___139 = 181,
    _SC_TRACE_EVENT_FILTER___139 = 182,
    _SC_TRACE_INHERIT___139 = 183,
    _SC_TRACE_LOG___139 = 184,
    _SC_LEVEL1_ICACHE_SIZE___139 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___139 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___139 = 187,
    _SC_LEVEL1_DCACHE_SIZE___139 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___139 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___139 = 190,
    _SC_LEVEL2_CACHE_SIZE___139 = 191,
    _SC_LEVEL2_CACHE_ASSOC___139 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___139 = 193,
    _SC_LEVEL3_CACHE_SIZE___139 = 194,
    _SC_LEVEL3_CACHE_ASSOC___139 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___139 = 196,
    _SC_LEVEL4_CACHE_SIZE___139 = 197,
    _SC_LEVEL4_CACHE_ASSOC___139 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___139 = 199,
    _SC_IPV6___139 = 235,
    _SC_RAW_SOCKETS___139 = 236,
    _SC_V7_ILP32_OFF32___139 = 237,
    _SC_V7_ILP32_OFFBIG___139 = 238,
    _SC_V7_LP64_OFF64___139 = 239,
    _SC_V7_LPBIG_OFFBIG___139 = 240,
    _SC_SS_REPL_MAX___139 = 241,
    _SC_TRACE_EVENT_NAME_MAX___139 = 242,
    _SC_TRACE_NAME_MAX___139 = 243,
    _SC_TRACE_SYS_MAX___139 = 244,
    _SC_TRACE_USER_EVENT_MAX___139 = 245,
    _SC_XOPEN_STREAMS___139 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___139 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___139 = 248
} ;
enum __anonenum_875524036___139 {
    _CS_PATH___139 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___139 = 1,
    _CS_GNU_LIBC_VERSION___139 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___139 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___139 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___139 = 5,
    _CS_LFS_CFLAGS___139 = 1000,
    _CS_LFS_LDFLAGS___139 = 1001,
    _CS_LFS_LIBS___139 = 1002,
    _CS_LFS_LINTFLAGS___139 = 1003,
    _CS_LFS64_CFLAGS___139 = 1004,
    _CS_LFS64_LDFLAGS___139 = 1005,
    _CS_LFS64_LIBS___139 = 1006,
    _CS_LFS64_LINTFLAGS___139 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___139 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___139 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___139 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___139 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___139 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___139 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___139 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___139 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___139 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___139 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___139 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___139 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___139 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___139 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___139 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___139 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___139 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___139 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___139 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___139 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___139 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___139 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___139 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___139 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___139 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___139 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___139 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___139 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___139 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___139 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___139 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___139 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___139 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___139 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___139 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___139 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___139 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___139 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___139 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___139 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___139 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___139 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___139 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___139 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___139 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___139 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___139 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___139 = 1147,
    _CS_V6_ENV___139 = 1148,
    _CS_V7_ENV___139 = 1149
} ;
enum __anonenum_513775621___139 {
    DT_UNKNOWN___139 = 0,
    DT_FIFO___139 = 1,
    DT_CHR___139 = 2,
    DT_DIR___139 = 4,
    DT_BLK___139 = 6,
    DT_REG___139 = 8,
    DT_LNK___139 = 10,
    DT_SOCK___139 = 12,
    DT_WHT___139 = 14
} ;
enum __anonenum_77002343___139 {
    SI_ASYNCNL___139 = -60,
    SI_TKILL___139 = -6,
    SI_SIGIO___139 = -5,
    SI_ASYNCIO___139 = -4,
    SI_MESGQ___139 = -3,
    SI_TIMER___139 = -2,
    SI_QUEUE___139 = -1,
    SI_USER___139 = 0,
    SI_KERNEL___139 = 128
} ;
enum __anonenum_131038172___139 {
    ILL_ILLOPC___139 = 1,
    ILL_ILLOPN___139 = 2,
    ILL_ILLADR___139 = 3,
    ILL_ILLTRP___139 = 4,
    ILL_PRVOPC___139 = 5,
    ILL_PRVREG___139 = 6,
    ILL_COPROC___139 = 7,
    ILL_BADSTK___139 = 8
} ;
enum __anonenum_452038093___139 {
    FPE_INTDIV___139 = 1,
    FPE_INTOVF___139 = 2,
    FPE_FLTDIV___139 = 3,
    FPE_FLTOVF___139 = 4,
    FPE_FLTUND___139 = 5,
    FPE_FLTRES___139 = 6,
    FPE_FLTINV___139 = 7,
    FPE_FLTSUB___139 = 8
} ;
enum __anonenum_30976155___139 {
    SEGV_MAPERR___139 = 1,
    SEGV_ACCERR___139 = 2,
    SEGV_BNDERR___139 = 3,
    SEGV_PKUERR___139 = 4
} ;
enum __anonenum_1036286214___139 {
    BUS_ADRALN___139 = 1,
    BUS_ADRERR___139 = 2,
    BUS_OBJERR___139 = 3,
    BUS_MCEERR_AR___139 = 4,
    BUS_MCEERR_AO___139 = 5
} ;
enum __anonenum_493465559___139 {
    TRAP_BRKPT___139 = 1,
    TRAP_TRACE___139 = 2
} ;
enum __anonenum_23175539___139 {
    CLD_EXITED___139 = 1,
    CLD_KILLED___139 = 2,
    CLD_DUMPED___139 = 3,
    CLD_TRAPPED___139 = 4,
    CLD_STOPPED___139 = 5,
    CLD_CONTINUED___139 = 6
} ;
enum __anonenum_111643124___139 {
    POLL_IN___139 = 1,
    POLL_OUT___139 = 2,
    POLL_MSG___139 = 3,
    POLL_ERR___139 = 4,
    POLL_PRI___139 = 5,
    POLL_HUP___139 = 6
} ;
enum __anonenum_852341087___139 {
    SIGEV_SIGNAL___139 = 0,
    SIGEV_NONE___139 = 1,
    SIGEV_THREAD___139 = 2,
    SIGEV_THREAD_ID___139 = 4
} ;
enum __anonenum_451154152___139 {
    REG_R8___139 = 0,
    REG_R9___139 = 1,
    REG_R10___139 = 2,
    REG_R11___139 = 3,
    REG_R12___139 = 4,
    REG_R13___139 = 5,
    REG_R14___139 = 6,
    REG_R15___139 = 7,
    REG_RDI___139 = 8,
    REG_RSI___139 = 9,
    REG_RBP___139 = 10,
    REG_RBX___139 = 11,
    REG_RDX___139 = 12,
    REG_RAX___139 = 13,
    REG_RCX___139 = 14,
    REG_RSP___139 = 15,
    REG_RIP___139 = 16,
    REG_EFL___139 = 17,
    REG_CSGSFS___139 = 18,
    REG_ERR___139 = 19,
    REG_TRAPNO___139 = 20,
    REG_OLDMASK___139 = 21,
    REG_CR2___139 = 22
} ;
enum __anonenum_57186863___139 {
    SS_ONSTACK___139 = 1,
    SS_DISABLE___139 = 2
} ;
enum __anonenum_83571709___139 {
    MSG_OOB___139 = 1,
    MSG_PEEK___139 = 2,
    MSG_DONTROUTE___139 = 4,
    MSG_TRYHARD___139 = 4,
    MSG_CTRUNC___139 = 8,
    MSG_PROXY___139 = 16,
    MSG_TRUNC___139 = 32,
    MSG_DONTWAIT___139 = 64,
    MSG_EOR___139 = 128,
    MSG_WAITALL___139 = 256,
    MSG_FIN___139 = 512,
    MSG_SYN___139 = 1024,
    MSG_CONFIRM___139 = 2048,
    MSG_RST___139 = 4096,
    MSG_ERRQUEUE___139 = 8192,
    MSG_NOSIGNAL___139 = 16384,
    MSG_MORE___139 = 32768,
    MSG_WAITFORONE___139 = 65536,
    MSG_BATCH___139 = 262144,
    MSG_ZEROCOPY___139 = 67108864,
    MSG_FASTOPEN___139 = 536870912,
    MSG_CMSG_CLOEXEC___139 = 1073741824
} ;
enum __anonenum_617082774___139 {
    SCM_RIGHTS___139 = 1,
    SCM_CREDENTIALS___139 = 2
} ;
enum __anonenum_606441560___139 {
    SHUT_RD___139 = 0,
    SHUT_WR___139 = 1,
    SHUT_RDWR___139 = 2
} ;
enum __anonenum_681669233___139 {
    IPPROTO_IP___139 = 0,
    IPPROTO_ICMP___139 = 1,
    IPPROTO_IGMP___139 = 2,
    IPPROTO_IPIP___139 = 4,
    IPPROTO_TCP___139 = 6,
    IPPROTO_EGP___139 = 8,
    IPPROTO_PUP___139 = 12,
    IPPROTO_UDP___139 = 17,
    IPPROTO_IDP___139 = 22,
    IPPROTO_TP___139 = 29,
    IPPROTO_DCCP___139 = 33,
    IPPROTO_IPV6___139 = 41,
    IPPROTO_RSVP___139 = 46,
    IPPROTO_GRE___139 = 47,
    IPPROTO_ESP___139 = 50,
    IPPROTO_AH___139 = 51,
    IPPROTO_MTP___139 = 92,
    IPPROTO_BEETPH___139 = 94,
    IPPROTO_ENCAP___139 = 98,
    IPPROTO_PIM___139 = 103,
    IPPROTO_COMP___139 = 108,
    IPPROTO_SCTP___139 = 132,
    IPPROTO_UDPLITE___139 = 136,
    IPPROTO_MPLS___139 = 137,
    IPPROTO_RAW___139 = 255,
    IPPROTO_MAX___139 = 256
} ;
enum __anonenum_218739988___139 {
    IPPROTO_HOPOPTS___139 = 0,
    IPPROTO_ROUTING___139 = 43,
    IPPROTO_FRAGMENT___139 = 44,
    IPPROTO_ICMPV6___139 = 58,
    IPPROTO_NONE___139 = 59,
    IPPROTO_DSTOPTS___139 = 60,
    IPPROTO_MH___139 = 135
} ;
enum __anonenum_662268580___139 {
    IPPORT_ECHO___139 = 7,
    IPPORT_DISCARD___139 = 9,
    IPPORT_SYSTAT___139 = 11,
    IPPORT_DAYTIME___139 = 13,
    IPPORT_NETSTAT___139 = 15,
    IPPORT_FTP___139 = 21,
    IPPORT_TELNET___139 = 23,
    IPPORT_SMTP___139 = 25,
    IPPORT_TIMESERVER___139 = 37,
    IPPORT_NAMESERVER___139 = 42,
    IPPORT_WHOIS___139 = 43,
    IPPORT_MTP___139 = 57,
    IPPORT_TFTP___139 = 69,
    IPPORT_RJE___139 = 77,
    IPPORT_FINGER___139 = 79,
    IPPORT_TTYLINK___139 = 87,
    IPPORT_SUPDUP___139 = 95,
    IPPORT_EXECSERVER___139 = 512,
    IPPORT_LOGINSERVER___139 = 513,
    IPPORT_CMDSERVER___139 = 514,
    IPPORT_EFSSERVER___139 = 520,
    IPPORT_BIFFUDP___139 = 512,
    IPPORT_WHOSERVER___139 = 513,
    IPPORT_ROUTESERVER___139 = 520,
    IPPORT_RESERVED___139 = 1024,
    IPPORT_USERRESERVED___139 = 5000
} ;
enum __anonenum_788308992___139 {
    TCP_ESTABLISHED___139 = 1,
    TCP_SYN_SENT___139 = 2,
    TCP_SYN_RECV___139 = 3,
    TCP_FIN_WAIT1___139 = 4,
    TCP_FIN_WAIT2___139 = 5,
    TCP_TIME_WAIT___139 = 6,
    TCP_CLOSE___139 = 7,
    TCP_CLOSE_WAIT___139 = 8,
    TCP_LAST_ACK___139 = 9,
    TCP_LISTEN___139 = 10,
    TCP_CLOSING___139 = 11
} ;
enum __anonenum_221125648___139 {
    TCP_NO_QUEUE___139 = 0,
    TCP_RECV_QUEUE___139 = 1,
    TCP_SEND_QUEUE___139 = 2,
    TCP_QUEUES_NR___139 = 3
} ;
enum __anonenum_34415463___139 {
    PTHREAD_CREATE_JOINABLE___139 = 0,
    PTHREAD_CREATE_DETACHED___139 = 1
} ;
enum __anonenum_303612439___139 {
    PTHREAD_MUTEX_TIMED_NP___139 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___139 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___139 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___139 = 3,
    PTHREAD_MUTEX_NORMAL___139 = 0,
    PTHREAD_MUTEX_RECURSIVE___139 = 1,
    PTHREAD_MUTEX_ERRORCHECK___139 = 2,
    PTHREAD_MUTEX_DEFAULT___139 = 0,
    PTHREAD_MUTEX_FAST_NP___139 = 0
} ;
enum __anonenum_931900394___139 {
    PTHREAD_MUTEX_STALLED___139 = 0,
    PTHREAD_MUTEX_STALLED_NP___139 = 0,
    PTHREAD_MUTEX_ROBUST___139 = 1,
    PTHREAD_MUTEX_ROBUST_NP___139 = 1
} ;
enum __anonenum_205214487___139 {
    PTHREAD_PRIO_NONE___139 = 0,
    PTHREAD_PRIO_INHERIT___139 = 1,
    PTHREAD_PRIO_PROTECT___139 = 2
} ;
enum __anonenum_25043950___139 {
    PTHREAD_RWLOCK_PREFER_READER_NP___139 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___139 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___139 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___139 = 0
} ;
enum __anonenum_436439511___139 {
    PTHREAD_INHERIT_SCHED___139 = 0,
    PTHREAD_EXPLICIT_SCHED___139 = 1
} ;
enum __anonenum_998661166___139 {
    PTHREAD_SCOPE_SYSTEM___139 = 0,
    PTHREAD_SCOPE_PROCESS___139 = 1
} ;
enum __anonenum_146137331___139 {
    PTHREAD_PROCESS_PRIVATE___139 = 0,
    PTHREAD_PROCESS_SHARED___139 = 1
} ;
enum __anonenum_53396917___139 {
    PTHREAD_CANCEL_ENABLE___139 = 0,
    PTHREAD_CANCEL_DISABLE___139 = 1
} ;
enum __anonenum_904563783___139 {
    PTHREAD_CANCEL_DEFERRED___139 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___139 = 1
} ;
enum __anonenum_672052974___139 {
    SSL_CT_VALIDATION_PERMISSIVE___139 = 0,
    SSL_CT_VALIDATION_STRICT___139 = 1
} ;
enum trailer_where {
    WHERE_DEFAULT = 0,
    WHERE_END = 1,
    WHERE_AFTER = 2,
    WHERE_BEFORE = 3,
    WHERE_START = 4
} ;
enum trailer_if_exists {
    EXISTS_DEFAULT = 0,
    EXISTS_ADD_IF_DIFFERENT_NEIGHBOR = 1,
    EXISTS_ADD_IF_DIFFERENT = 2,
    EXISTS_ADD = 3,
    EXISTS_REPLACE = 4,
    EXISTS_DO_NOTHING = 5
} ;
enum trailer_if_missing {
    MISSING_DEFAULT = 0,
    MISSING_ADD = 1,
    MISSING_DO_NOTHING = 2
} ;
struct trailer_info {
   int blank_line_before_trailer ;
   char const   *trailer_start ;
   char const   *trailer_end ;
   char **trailers ;
   size_t trailer_nr ;
};
struct new_trailer_item {
   struct list_head list ;
   char const   *text ;
   enum trailer_where where ;
   enum trailer_if_exists if_exists ;
   enum trailer_if_missing if_missing ;
};
struct process_trailer_options {
   int in_place ;
   int trim_empty ;
   int only_trailers ;
   int only_input ;
   int unfold ;
   int no_divider ;
   int key_only ;
   int value_only ;
   struct strbuf  const  *separator ;
   struct strbuf  const  *key_value_separator ;
   int (*filter)(struct strbuf  const  * , void * ) ;
   void *filter_data ;
};
struct trailer_iterator {
   struct strbuf key ;
   struct strbuf val ;
   struct trailer_info info ;
   size_t cur ;
};
struct cmt_fmt_map {
   char const   *name ;
   enum cmit_fmt format ;
   int is_tformat ;
   int expand_tabs_in_log ;
   int is_alias ;
   enum date_mode_type default_date_mode_type ;
   char const   *user_format ;
};
enum rfc2047_type {
    RFC2047_SUBJECT = 0,
    RFC2047_ADDRESS = 1
} ;
struct chunk {
   size_t off ;
   size_t len ;
};
enum flush_type {
    no_flush = 0,
    flush_right = 1,
    flush_left = 2,
    flush_left_and_steal = 3,
    flush_both = 4
} ;
enum trunc_type {
    trunc_none = 0,
    trunc_left = 1,
    trunc_middle = 2,
    trunc_right = 3
} ;
struct format_commit_context {
   struct repository *repository ;
   struct commit  const  *commit ;
   struct pretty_print_context  const  *pretty_ctx ;
   unsigned int commit_header_parsed : 1 ;
   unsigned int commit_message_parsed : 1 ;
   struct signature_check signature_check ;
   enum flush_type flush_type ;
   enum trunc_type truncate ;
   char const   *message ;
   char *commit_encoding ;
   size_t width ;
   size_t indent1 ;
   size_t indent2 ;
   int auto_color ;
   int padding ;
   struct chunk author ;
   struct chunk committer ;
   size_t message_off ;
   size_t subject_off ;
   size_t body_off ;
   size_t wrap_start ;
};
enum __anonenum_type_94025832 {
    DESCRIBE_ARG_BOOL = 0,
    DESCRIBE_ARG_INTEGER = 1,
    DESCRIBE_ARG_STRING = 2
} ;
struct __anonstruct_option_70237391 {
   char *name ;
   enum __anonenum_type_94025832 type ;
};
enum __anonenum_magic_393911561 {
    NO_MAGIC = 0,
    ADD_LF_BEFORE_NON_EMPTY = 1,
    DEL_LF_BEFORE_EMPTY = 2,
    ADD_SP_BEFORE_NON_EMPTY = 3
} ;
enum __anonenum_437032235___140 {
    _PC_LINK_MAX___140 = 0,
    _PC_MAX_CANON___140 = 1,
    _PC_MAX_INPUT___140 = 2,
    _PC_NAME_MAX___140 = 3,
    _PC_PATH_MAX___140 = 4,
    _PC_PIPE_BUF___140 = 5,
    _PC_CHOWN_RESTRICTED___140 = 6,
    _PC_NO_TRUNC___140 = 7,
    _PC_VDISABLE___140 = 8,
    _PC_SYNC_IO___140 = 9,
    _PC_ASYNC_IO___140 = 10,
    _PC_PRIO_IO___140 = 11,
    _PC_SOCK_MAXBUF___140 = 12,
    _PC_FILESIZEBITS___140 = 13,
    _PC_REC_INCR_XFER_SIZE___140 = 14,
    _PC_REC_MAX_XFER_SIZE___140 = 15,
    _PC_REC_MIN_XFER_SIZE___140 = 16,
    _PC_REC_XFER_ALIGN___140 = 17,
    _PC_ALLOC_SIZE_MIN___140 = 18,
    _PC_SYMLINK_MAX___140 = 19,
    _PC_2_SYMLINKS___140 = 20
} ;
enum __anonenum_315186338___140 {
    _SC_ARG_MAX___140 = 0,
    _SC_CHILD_MAX___140 = 1,
    _SC_CLK_TCK___140 = 2,
    _SC_NGROUPS_MAX___140 = 3,
    _SC_OPEN_MAX___140 = 4,
    _SC_STREAM_MAX___140 = 5,
    _SC_TZNAME_MAX___140 = 6,
    _SC_JOB_CONTROL___140 = 7,
    _SC_SAVED_IDS___140 = 8,
    _SC_REALTIME_SIGNALS___140 = 9,
    _SC_PRIORITY_SCHEDULING___140 = 10,
    _SC_TIMERS___140 = 11,
    _SC_ASYNCHRONOUS_IO___140 = 12,
    _SC_PRIORITIZED_IO___140 = 13,
    _SC_SYNCHRONIZED_IO___140 = 14,
    _SC_FSYNC___140 = 15,
    _SC_MAPPED_FILES___140 = 16,
    _SC_MEMLOCK___140 = 17,
    _SC_MEMLOCK_RANGE___140 = 18,
    _SC_MEMORY_PROTECTION___140 = 19,
    _SC_MESSAGE_PASSING___140 = 20,
    _SC_SEMAPHORES___140 = 21,
    _SC_SHARED_MEMORY_OBJECTS___140 = 22,
    _SC_AIO_LISTIO_MAX___140 = 23,
    _SC_AIO_MAX___140 = 24,
    _SC_AIO_PRIO_DELTA_MAX___140 = 25,
    _SC_DELAYTIMER_MAX___140 = 26,
    _SC_MQ_OPEN_MAX___140 = 27,
    _SC_MQ_PRIO_MAX___140 = 28,
    _SC_VERSION___140 = 29,
    _SC_PAGESIZE___140 = 30,
    _SC_RTSIG_MAX___140 = 31,
    _SC_SEM_NSEMS_MAX___140 = 32,
    _SC_SEM_VALUE_MAX___140 = 33,
    _SC_SIGQUEUE_MAX___140 = 34,
    _SC_TIMER_MAX___140 = 35,
    _SC_BC_BASE_MAX___140 = 36,
    _SC_BC_DIM_MAX___140 = 37,
    _SC_BC_SCALE_MAX___140 = 38,
    _SC_BC_STRING_MAX___140 = 39,
    _SC_COLL_WEIGHTS_MAX___140 = 40,
    _SC_EQUIV_CLASS_MAX___140 = 41,
    _SC_EXPR_NEST_MAX___140 = 42,
    _SC_LINE_MAX___140 = 43,
    _SC_RE_DUP_MAX___140 = 44,
    _SC_CHARCLASS_NAME_MAX___140 = 45,
    _SC_2_VERSION___140 = 46,
    _SC_2_C_BIND___140 = 47,
    _SC_2_C_DEV___140 = 48,
    _SC_2_FORT_DEV___140 = 49,
    _SC_2_FORT_RUN___140 = 50,
    _SC_2_SW_DEV___140 = 51,
    _SC_2_LOCALEDEF___140 = 52,
    _SC_PII___140 = 53,
    _SC_PII_XTI___140 = 54,
    _SC_PII_SOCKET___140 = 55,
    _SC_PII_INTERNET___140 = 56,
    _SC_PII_OSI___140 = 57,
    _SC_POLL___140 = 58,
    _SC_SELECT___140 = 59,
    _SC_UIO_MAXIOV___140 = 60,
    _SC_IOV_MAX___140 = 60,
    _SC_PII_INTERNET_STREAM___140 = 61,
    _SC_PII_INTERNET_DGRAM___140 = 62,
    _SC_PII_OSI_COTS___140 = 63,
    _SC_PII_OSI_CLTS___140 = 64,
    _SC_PII_OSI_M___140 = 65,
    _SC_T_IOV_MAX___140 = 66,
    _SC_THREADS___140 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___140 = 68,
    _SC_GETGR_R_SIZE_MAX___140 = 69,
    _SC_GETPW_R_SIZE_MAX___140 = 70,
    _SC_LOGIN_NAME_MAX___140 = 71,
    _SC_TTY_NAME_MAX___140 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___140 = 73,
    _SC_THREAD_KEYS_MAX___140 = 74,
    _SC_THREAD_STACK_MIN___140 = 75,
    _SC_THREAD_THREADS_MAX___140 = 76,
    _SC_THREAD_ATTR_STACKADDR___140 = 77,
    _SC_THREAD_ATTR_STACKSIZE___140 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___140 = 79,
    _SC_THREAD_PRIO_INHERIT___140 = 80,
    _SC_THREAD_PRIO_PROTECT___140 = 81,
    _SC_THREAD_PROCESS_SHARED___140 = 82,
    _SC_NPROCESSORS_CONF___140 = 83,
    _SC_NPROCESSORS_ONLN___140 = 84,
    _SC_PHYS_PAGES___140 = 85,
    _SC_AVPHYS_PAGES___140 = 86,
    _SC_ATEXIT_MAX___140 = 87,
    _SC_PASS_MAX___140 = 88,
    _SC_XOPEN_VERSION___140 = 89,
    _SC_XOPEN_XCU_VERSION___140 = 90,
    _SC_XOPEN_UNIX___140 = 91,
    _SC_XOPEN_CRYPT___140 = 92,
    _SC_XOPEN_ENH_I18N___140 = 93,
    _SC_XOPEN_SHM___140 = 94,
    _SC_2_CHAR_TERM___140 = 95,
    _SC_2_C_VERSION___140 = 96,
    _SC_2_UPE___140 = 97,
    _SC_XOPEN_XPG2___140 = 98,
    _SC_XOPEN_XPG3___140 = 99,
    _SC_XOPEN_XPG4___140 = 100,
    _SC_CHAR_BIT___140 = 101,
    _SC_CHAR_MAX___140 = 102,
    _SC_CHAR_MIN___140 = 103,
    _SC_INT_MAX___140 = 104,
    _SC_INT_MIN___140 = 105,
    _SC_LONG_BIT___140 = 106,
    _SC_WORD_BIT___140 = 107,
    _SC_MB_LEN_MAX___140 = 108,
    _SC_NZERO___140 = 109,
    _SC_SSIZE_MAX___140 = 110,
    _SC_SCHAR_MAX___140 = 111,
    _SC_SCHAR_MIN___140 = 112,
    _SC_SHRT_MAX___140 = 113,
    _SC_SHRT_MIN___140 = 114,
    _SC_UCHAR_MAX___140 = 115,
    _SC_UINT_MAX___140 = 116,
    _SC_ULONG_MAX___140 = 117,
    _SC_USHRT_MAX___140 = 118,
    _SC_NL_ARGMAX___140 = 119,
    _SC_NL_LANGMAX___140 = 120,
    _SC_NL_MSGMAX___140 = 121,
    _SC_NL_NMAX___140 = 122,
    _SC_NL_SETMAX___140 = 123,
    _SC_NL_TEXTMAX___140 = 124,
    _SC_XBS5_ILP32_OFF32___140 = 125,
    _SC_XBS5_ILP32_OFFBIG___140 = 126,
    _SC_XBS5_LP64_OFF64___140 = 127,
    _SC_XBS5_LPBIG_OFFBIG___140 = 128,
    _SC_XOPEN_LEGACY___140 = 129,
    _SC_XOPEN_REALTIME___140 = 130,
    _SC_XOPEN_REALTIME_THREADS___140 = 131,
    _SC_ADVISORY_INFO___140 = 132,
    _SC_BARRIERS___140 = 133,
    _SC_BASE___140 = 134,
    _SC_C_LANG_SUPPORT___140 = 135,
    _SC_C_LANG_SUPPORT_R___140 = 136,
    _SC_CLOCK_SELECTION___140 = 137,
    _SC_CPUTIME___140 = 138,
    _SC_THREAD_CPUTIME___140 = 139,
    _SC_DEVICE_IO___140 = 140,
    _SC_DEVICE_SPECIFIC___140 = 141,
    _SC_DEVICE_SPECIFIC_R___140 = 142,
    _SC_FD_MGMT___140 = 143,
    _SC_FIFO___140 = 144,
    _SC_PIPE___140 = 145,
    _SC_FILE_ATTRIBUTES___140 = 146,
    _SC_FILE_LOCKING___140 = 147,
    _SC_FILE_SYSTEM___140 = 148,
    _SC_MONOTONIC_CLOCK___140 = 149,
    _SC_MULTI_PROCESS___140 = 150,
    _SC_SINGLE_PROCESS___140 = 151,
    _SC_NETWORKING___140 = 152,
    _SC_READER_WRITER_LOCKS___140 = 153,
    _SC_SPIN_LOCKS___140 = 154,
    _SC_REGEXP___140 = 155,
    _SC_REGEX_VERSION___140 = 156,
    _SC_SHELL___140 = 157,
    _SC_SIGNALS___140 = 158,
    _SC_SPAWN___140 = 159,
    _SC_SPORADIC_SERVER___140 = 160,
    _SC_THREAD_SPORADIC_SERVER___140 = 161,
    _SC_SYSTEM_DATABASE___140 = 162,
    _SC_SYSTEM_DATABASE_R___140 = 163,
    _SC_TIMEOUTS___140 = 164,
    _SC_TYPED_MEMORY_OBJECTS___140 = 165,
    _SC_USER_GROUPS___140 = 166,
    _SC_USER_GROUPS_R___140 = 167,
    _SC_2_PBS___140 = 168,
    _SC_2_PBS_ACCOUNTING___140 = 169,
    _SC_2_PBS_LOCATE___140 = 170,
    _SC_2_PBS_MESSAGE___140 = 171,
    _SC_2_PBS_TRACK___140 = 172,
    _SC_SYMLOOP_MAX___140 = 173,
    _SC_STREAMS___140 = 174,
    _SC_2_PBS_CHECKPOINT___140 = 175,
    _SC_V6_ILP32_OFF32___140 = 176,
    _SC_V6_ILP32_OFFBIG___140 = 177,
    _SC_V6_LP64_OFF64___140 = 178,
    _SC_V6_LPBIG_OFFBIG___140 = 179,
    _SC_HOST_NAME_MAX___140 = 180,
    _SC_TRACE___140 = 181,
    _SC_TRACE_EVENT_FILTER___140 = 182,
    _SC_TRACE_INHERIT___140 = 183,
    _SC_TRACE_LOG___140 = 184,
    _SC_LEVEL1_ICACHE_SIZE___140 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___140 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___140 = 187,
    _SC_LEVEL1_DCACHE_SIZE___140 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___140 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___140 = 190,
    _SC_LEVEL2_CACHE_SIZE___140 = 191,
    _SC_LEVEL2_CACHE_ASSOC___140 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___140 = 193,
    _SC_LEVEL3_CACHE_SIZE___140 = 194,
    _SC_LEVEL3_CACHE_ASSOC___140 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___140 = 196,
    _SC_LEVEL4_CACHE_SIZE___140 = 197,
    _SC_LEVEL4_CACHE_ASSOC___140 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___140 = 199,
    _SC_IPV6___140 = 235,
    _SC_RAW_SOCKETS___140 = 236,
    _SC_V7_ILP32_OFF32___140 = 237,
    _SC_V7_ILP32_OFFBIG___140 = 238,
    _SC_V7_LP64_OFF64___140 = 239,
    _SC_V7_LPBIG_OFFBIG___140 = 240,
    _SC_SS_REPL_MAX___140 = 241,
    _SC_TRACE_EVENT_NAME_MAX___140 = 242,
    _SC_TRACE_NAME_MAX___140 = 243,
    _SC_TRACE_SYS_MAX___140 = 244,
    _SC_TRACE_USER_EVENT_MAX___140 = 245,
    _SC_XOPEN_STREAMS___140 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___140 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___140 = 248
} ;
enum __anonenum_875524036___140 {
    _CS_PATH___140 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___140 = 1,
    _CS_GNU_LIBC_VERSION___140 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___140 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___140 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___140 = 5,
    _CS_LFS_CFLAGS___140 = 1000,
    _CS_LFS_LDFLAGS___140 = 1001,
    _CS_LFS_LIBS___140 = 1002,
    _CS_LFS_LINTFLAGS___140 = 1003,
    _CS_LFS64_CFLAGS___140 = 1004,
    _CS_LFS64_LDFLAGS___140 = 1005,
    _CS_LFS64_LIBS___140 = 1006,
    _CS_LFS64_LINTFLAGS___140 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___140 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___140 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___140 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___140 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___140 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___140 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___140 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___140 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___140 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___140 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___140 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___140 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___140 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___140 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___140 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___140 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___140 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___140 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___140 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___140 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___140 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___140 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___140 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___140 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___140 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___140 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___140 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___140 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___140 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___140 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___140 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___140 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___140 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___140 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___140 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___140 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___140 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___140 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___140 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___140 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___140 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___140 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___140 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___140 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___140 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___140 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___140 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___140 = 1147,
    _CS_V6_ENV___140 = 1148,
    _CS_V7_ENV___140 = 1149
} ;
enum __anonenum_513775621___140 {
    DT_UNKNOWN___140 = 0,
    DT_FIFO___140 = 1,
    DT_CHR___140 = 2,
    DT_DIR___140 = 4,
    DT_BLK___140 = 6,
    DT_REG___140 = 8,
    DT_LNK___140 = 10,
    DT_SOCK___140 = 12,
    DT_WHT___140 = 14
} ;
enum __anonenum_77002343___140 {
    SI_ASYNCNL___140 = -60,
    SI_TKILL___140 = -6,
    SI_SIGIO___140 = -5,
    SI_ASYNCIO___140 = -4,
    SI_MESGQ___140 = -3,
    SI_TIMER___140 = -2,
    SI_QUEUE___140 = -1,
    SI_USER___140 = 0,
    SI_KERNEL___140 = 128
} ;
enum __anonenum_131038172___140 {
    ILL_ILLOPC___140 = 1,
    ILL_ILLOPN___140 = 2,
    ILL_ILLADR___140 = 3,
    ILL_ILLTRP___140 = 4,
    ILL_PRVOPC___140 = 5,
    ILL_PRVREG___140 = 6,
    ILL_COPROC___140 = 7,
    ILL_BADSTK___140 = 8
} ;
enum __anonenum_452038093___140 {
    FPE_INTDIV___140 = 1,
    FPE_INTOVF___140 = 2,
    FPE_FLTDIV___140 = 3,
    FPE_FLTOVF___140 = 4,
    FPE_FLTUND___140 = 5,
    FPE_FLTRES___140 = 6,
    FPE_FLTINV___140 = 7,
    FPE_FLTSUB___140 = 8
} ;
enum __anonenum_30976155___140 {
    SEGV_MAPERR___140 = 1,
    SEGV_ACCERR___140 = 2,
    SEGV_BNDERR___140 = 3,
    SEGV_PKUERR___140 = 4
} ;
enum __anonenum_1036286214___140 {
    BUS_ADRALN___140 = 1,
    BUS_ADRERR___140 = 2,
    BUS_OBJERR___140 = 3,
    BUS_MCEERR_AR___140 = 4,
    BUS_MCEERR_AO___140 = 5
} ;
enum __anonenum_493465559___140 {
    TRAP_BRKPT___140 = 1,
    TRAP_TRACE___140 = 2
} ;
enum __anonenum_23175539___140 {
    CLD_EXITED___140 = 1,
    CLD_KILLED___140 = 2,
    CLD_DUMPED___140 = 3,
    CLD_TRAPPED___140 = 4,
    CLD_STOPPED___140 = 5,
    CLD_CONTINUED___140 = 6
} ;
enum __anonenum_111643124___140 {
    POLL_IN___140 = 1,
    POLL_OUT___140 = 2,
    POLL_MSG___140 = 3,
    POLL_ERR___140 = 4,
    POLL_PRI___140 = 5,
    POLL_HUP___140 = 6
} ;
enum __anonenum_852341087___140 {
    SIGEV_SIGNAL___140 = 0,
    SIGEV_NONE___140 = 1,
    SIGEV_THREAD___140 = 2,
    SIGEV_THREAD_ID___140 = 4
} ;
enum __anonenum_451154152___140 {
    REG_R8___140 = 0,
    REG_R9___140 = 1,
    REG_R10___140 = 2,
    REG_R11___140 = 3,
    REG_R12___140 = 4,
    REG_R13___140 = 5,
    REG_R14___140 = 6,
    REG_R15___140 = 7,
    REG_RDI___140 = 8,
    REG_RSI___140 = 9,
    REG_RBP___140 = 10,
    REG_RBX___140 = 11,
    REG_RDX___140 = 12,
    REG_RAX___140 = 13,
    REG_RCX___140 = 14,
    REG_RSP___140 = 15,
    REG_RIP___140 = 16,
    REG_EFL___140 = 17,
    REG_CSGSFS___140 = 18,
    REG_ERR___140 = 19,
    REG_TRAPNO___140 = 20,
    REG_OLDMASK___140 = 21,
    REG_CR2___140 = 22
} ;
enum __anonenum_57186863___140 {
    SS_ONSTACK___140 = 1,
    SS_DISABLE___140 = 2
} ;
enum __anonenum_83571709___140 {
    MSG_OOB___140 = 1,
    MSG_PEEK___140 = 2,
    MSG_DONTROUTE___140 = 4,
    MSG_TRYHARD___140 = 4,
    MSG_CTRUNC___140 = 8,
    MSG_PROXY___140 = 16,
    MSG_TRUNC___140 = 32,
    MSG_DONTWAIT___140 = 64,
    MSG_EOR___140 = 128,
    MSG_WAITALL___140 = 256,
    MSG_FIN___140 = 512,
    MSG_SYN___140 = 1024,
    MSG_CONFIRM___140 = 2048,
    MSG_RST___140 = 4096,
    MSG_ERRQUEUE___140 = 8192,
    MSG_NOSIGNAL___140 = 16384,
    MSG_MORE___140 = 32768,
    MSG_WAITFORONE___140 = 65536,
    MSG_BATCH___140 = 262144,
    MSG_ZEROCOPY___140 = 67108864,
    MSG_FASTOPEN___140 = 536870912,
    MSG_CMSG_CLOEXEC___140 = 1073741824
} ;
enum __anonenum_617082774___140 {
    SCM_RIGHTS___140 = 1,
    SCM_CREDENTIALS___140 = 2
} ;
enum __anonenum_606441560___140 {
    SHUT_RD___140 = 0,
    SHUT_WR___140 = 1,
    SHUT_RDWR___140 = 2
} ;
enum __anonenum_681669233___140 {
    IPPROTO_IP___140 = 0,
    IPPROTO_ICMP___140 = 1,
    IPPROTO_IGMP___140 = 2,
    IPPROTO_IPIP___140 = 4,
    IPPROTO_TCP___140 = 6,
    IPPROTO_EGP___140 = 8,
    IPPROTO_PUP___140 = 12,
    IPPROTO_UDP___140 = 17,
    IPPROTO_IDP___140 = 22,
    IPPROTO_TP___140 = 29,
    IPPROTO_DCCP___140 = 33,
    IPPROTO_IPV6___140 = 41,
    IPPROTO_RSVP___140 = 46,
    IPPROTO_GRE___140 = 47,
    IPPROTO_ESP___140 = 50,
    IPPROTO_AH___140 = 51,
    IPPROTO_MTP___140 = 92,
    IPPROTO_BEETPH___140 = 94,
    IPPROTO_ENCAP___140 = 98,
    IPPROTO_PIM___140 = 103,
    IPPROTO_COMP___140 = 108,
    IPPROTO_SCTP___140 = 132,
    IPPROTO_UDPLITE___140 = 136,
    IPPROTO_MPLS___140 = 137,
    IPPROTO_RAW___140 = 255,
    IPPROTO_MAX___140 = 256
} ;
enum __anonenum_218739988___140 {
    IPPROTO_HOPOPTS___140 = 0,
    IPPROTO_ROUTING___140 = 43,
    IPPROTO_FRAGMENT___140 = 44,
    IPPROTO_ICMPV6___140 = 58,
    IPPROTO_NONE___140 = 59,
    IPPROTO_DSTOPTS___140 = 60,
    IPPROTO_MH___140 = 135
} ;
enum __anonenum_662268580___140 {
    IPPORT_ECHO___140 = 7,
    IPPORT_DISCARD___140 = 9,
    IPPORT_SYSTAT___140 = 11,
    IPPORT_DAYTIME___140 = 13,
    IPPORT_NETSTAT___140 = 15,
    IPPORT_FTP___140 = 21,
    IPPORT_TELNET___140 = 23,
    IPPORT_SMTP___140 = 25,
    IPPORT_TIMESERVER___140 = 37,
    IPPORT_NAMESERVER___140 = 42,
    IPPORT_WHOIS___140 = 43,
    IPPORT_MTP___140 = 57,
    IPPORT_TFTP___140 = 69,
    IPPORT_RJE___140 = 77,
    IPPORT_FINGER___140 = 79,
    IPPORT_TTYLINK___140 = 87,
    IPPORT_SUPDUP___140 = 95,
    IPPORT_EXECSERVER___140 = 512,
    IPPORT_LOGINSERVER___140 = 513,
    IPPORT_CMDSERVER___140 = 514,
    IPPORT_EFSSERVER___140 = 520,
    IPPORT_BIFFUDP___140 = 512,
    IPPORT_WHOSERVER___140 = 513,
    IPPORT_ROUTESERVER___140 = 520,
    IPPORT_RESERVED___140 = 1024,
    IPPORT_USERRESERVED___140 = 5000
} ;
enum __anonenum_788308992___140 {
    TCP_ESTABLISHED___140 = 1,
    TCP_SYN_SENT___140 = 2,
    TCP_SYN_RECV___140 = 3,
    TCP_FIN_WAIT1___140 = 4,
    TCP_FIN_WAIT2___140 = 5,
    TCP_TIME_WAIT___140 = 6,
    TCP_CLOSE___140 = 7,
    TCP_CLOSE_WAIT___140 = 8,
    TCP_LAST_ACK___140 = 9,
    TCP_LISTEN___140 = 10,
    TCP_CLOSING___140 = 11
} ;
enum __anonenum_221125648___140 {
    TCP_NO_QUEUE___140 = 0,
    TCP_RECV_QUEUE___140 = 1,
    TCP_SEND_QUEUE___140 = 2,
    TCP_QUEUES_NR___140 = 3
} ;
enum __anonenum_34415463___140 {
    PTHREAD_CREATE_JOINABLE___140 = 0,
    PTHREAD_CREATE_DETACHED___140 = 1
} ;
enum __anonenum_303612439___140 {
    PTHREAD_MUTEX_TIMED_NP___140 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___140 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___140 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___140 = 3,
    PTHREAD_MUTEX_NORMAL___140 = 0,
    PTHREAD_MUTEX_RECURSIVE___140 = 1,
    PTHREAD_MUTEX_ERRORCHECK___140 = 2,
    PTHREAD_MUTEX_DEFAULT___140 = 0,
    PTHREAD_MUTEX_FAST_NP___140 = 0
} ;
enum __anonenum_931900394___140 {
    PTHREAD_MUTEX_STALLED___140 = 0,
    PTHREAD_MUTEX_STALLED_NP___140 = 0,
    PTHREAD_MUTEX_ROBUST___140 = 1,
    PTHREAD_MUTEX_ROBUST_NP___140 = 1
} ;
enum __anonenum_205214487___140 {
    PTHREAD_PRIO_NONE___140 = 0,
    PTHREAD_PRIO_INHERIT___140 = 1,
    PTHREAD_PRIO_PROTECT___140 = 2
} ;
enum __anonenum_25043950___140 {
    PTHREAD_RWLOCK_PREFER_READER_NP___140 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___140 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___140 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___140 = 0
} ;
enum __anonenum_436439511___140 {
    PTHREAD_INHERIT_SCHED___140 = 0,
    PTHREAD_EXPLICIT_SCHED___140 = 1
} ;
enum __anonenum_998661166___140 {
    PTHREAD_SCOPE_SYSTEM___140 = 0,
    PTHREAD_SCOPE_PROCESS___140 = 1
} ;
enum __anonenum_146137331___140 {
    PTHREAD_PROCESS_PRIVATE___140 = 0,
    PTHREAD_PROCESS_SHARED___140 = 1
} ;
enum __anonenum_53396917___140 {
    PTHREAD_CANCEL_ENABLE___140 = 0,
    PTHREAD_CANCEL_DISABLE___140 = 1
} ;
enum __anonenum_904563783___140 {
    PTHREAD_CANCEL_DEFERRED___140 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___140 = 1
} ;
enum __anonenum_672052974___140 {
    SSL_CT_VALIDATION_PERMISSIVE___140 = 0,
    SSL_CT_VALIDATION_STRICT___140 = 1
} ;
enum __anonenum_437032235___141 {
    _PC_LINK_MAX___141 = 0,
    _PC_MAX_CANON___141 = 1,
    _PC_MAX_INPUT___141 = 2,
    _PC_NAME_MAX___141 = 3,
    _PC_PATH_MAX___141 = 4,
    _PC_PIPE_BUF___141 = 5,
    _PC_CHOWN_RESTRICTED___141 = 6,
    _PC_NO_TRUNC___141 = 7,
    _PC_VDISABLE___141 = 8,
    _PC_SYNC_IO___141 = 9,
    _PC_ASYNC_IO___141 = 10,
    _PC_PRIO_IO___141 = 11,
    _PC_SOCK_MAXBUF___141 = 12,
    _PC_FILESIZEBITS___141 = 13,
    _PC_REC_INCR_XFER_SIZE___141 = 14,
    _PC_REC_MAX_XFER_SIZE___141 = 15,
    _PC_REC_MIN_XFER_SIZE___141 = 16,
    _PC_REC_XFER_ALIGN___141 = 17,
    _PC_ALLOC_SIZE_MIN___141 = 18,
    _PC_SYMLINK_MAX___141 = 19,
    _PC_2_SYMLINKS___141 = 20
} ;
enum __anonenum_315186338___141 {
    _SC_ARG_MAX___141 = 0,
    _SC_CHILD_MAX___141 = 1,
    _SC_CLK_TCK___141 = 2,
    _SC_NGROUPS_MAX___141 = 3,
    _SC_OPEN_MAX___141 = 4,
    _SC_STREAM_MAX___141 = 5,
    _SC_TZNAME_MAX___141 = 6,
    _SC_JOB_CONTROL___141 = 7,
    _SC_SAVED_IDS___141 = 8,
    _SC_REALTIME_SIGNALS___141 = 9,
    _SC_PRIORITY_SCHEDULING___141 = 10,
    _SC_TIMERS___141 = 11,
    _SC_ASYNCHRONOUS_IO___141 = 12,
    _SC_PRIORITIZED_IO___141 = 13,
    _SC_SYNCHRONIZED_IO___141 = 14,
    _SC_FSYNC___141 = 15,
    _SC_MAPPED_FILES___141 = 16,
    _SC_MEMLOCK___141 = 17,
    _SC_MEMLOCK_RANGE___141 = 18,
    _SC_MEMORY_PROTECTION___141 = 19,
    _SC_MESSAGE_PASSING___141 = 20,
    _SC_SEMAPHORES___141 = 21,
    _SC_SHARED_MEMORY_OBJECTS___141 = 22,
    _SC_AIO_LISTIO_MAX___141 = 23,
    _SC_AIO_MAX___141 = 24,
    _SC_AIO_PRIO_DELTA_MAX___141 = 25,
    _SC_DELAYTIMER_MAX___141 = 26,
    _SC_MQ_OPEN_MAX___141 = 27,
    _SC_MQ_PRIO_MAX___141 = 28,
    _SC_VERSION___141 = 29,
    _SC_PAGESIZE___141 = 30,
    _SC_RTSIG_MAX___141 = 31,
    _SC_SEM_NSEMS_MAX___141 = 32,
    _SC_SEM_VALUE_MAX___141 = 33,
    _SC_SIGQUEUE_MAX___141 = 34,
    _SC_TIMER_MAX___141 = 35,
    _SC_BC_BASE_MAX___141 = 36,
    _SC_BC_DIM_MAX___141 = 37,
    _SC_BC_SCALE_MAX___141 = 38,
    _SC_BC_STRING_MAX___141 = 39,
    _SC_COLL_WEIGHTS_MAX___141 = 40,
    _SC_EQUIV_CLASS_MAX___141 = 41,
    _SC_EXPR_NEST_MAX___141 = 42,
    _SC_LINE_MAX___141 = 43,
    _SC_RE_DUP_MAX___141 = 44,
    _SC_CHARCLASS_NAME_MAX___141 = 45,
    _SC_2_VERSION___141 = 46,
    _SC_2_C_BIND___141 = 47,
    _SC_2_C_DEV___141 = 48,
    _SC_2_FORT_DEV___141 = 49,
    _SC_2_FORT_RUN___141 = 50,
    _SC_2_SW_DEV___141 = 51,
    _SC_2_LOCALEDEF___141 = 52,
    _SC_PII___141 = 53,
    _SC_PII_XTI___141 = 54,
    _SC_PII_SOCKET___141 = 55,
    _SC_PII_INTERNET___141 = 56,
    _SC_PII_OSI___141 = 57,
    _SC_POLL___141 = 58,
    _SC_SELECT___141 = 59,
    _SC_UIO_MAXIOV___141 = 60,
    _SC_IOV_MAX___141 = 60,
    _SC_PII_INTERNET_STREAM___141 = 61,
    _SC_PII_INTERNET_DGRAM___141 = 62,
    _SC_PII_OSI_COTS___141 = 63,
    _SC_PII_OSI_CLTS___141 = 64,
    _SC_PII_OSI_M___141 = 65,
    _SC_T_IOV_MAX___141 = 66,
    _SC_THREADS___141 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___141 = 68,
    _SC_GETGR_R_SIZE_MAX___141 = 69,
    _SC_GETPW_R_SIZE_MAX___141 = 70,
    _SC_LOGIN_NAME_MAX___141 = 71,
    _SC_TTY_NAME_MAX___141 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___141 = 73,
    _SC_THREAD_KEYS_MAX___141 = 74,
    _SC_THREAD_STACK_MIN___141 = 75,
    _SC_THREAD_THREADS_MAX___141 = 76,
    _SC_THREAD_ATTR_STACKADDR___141 = 77,
    _SC_THREAD_ATTR_STACKSIZE___141 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___141 = 79,
    _SC_THREAD_PRIO_INHERIT___141 = 80,
    _SC_THREAD_PRIO_PROTECT___141 = 81,
    _SC_THREAD_PROCESS_SHARED___141 = 82,
    _SC_NPROCESSORS_CONF___141 = 83,
    _SC_NPROCESSORS_ONLN___141 = 84,
    _SC_PHYS_PAGES___141 = 85,
    _SC_AVPHYS_PAGES___141 = 86,
    _SC_ATEXIT_MAX___141 = 87,
    _SC_PASS_MAX___141 = 88,
    _SC_XOPEN_VERSION___141 = 89,
    _SC_XOPEN_XCU_VERSION___141 = 90,
    _SC_XOPEN_UNIX___141 = 91,
    _SC_XOPEN_CRYPT___141 = 92,
    _SC_XOPEN_ENH_I18N___141 = 93,
    _SC_XOPEN_SHM___141 = 94,
    _SC_2_CHAR_TERM___141 = 95,
    _SC_2_C_VERSION___141 = 96,
    _SC_2_UPE___141 = 97,
    _SC_XOPEN_XPG2___141 = 98,
    _SC_XOPEN_XPG3___141 = 99,
    _SC_XOPEN_XPG4___141 = 100,
    _SC_CHAR_BIT___141 = 101,
    _SC_CHAR_MAX___141 = 102,
    _SC_CHAR_MIN___141 = 103,
    _SC_INT_MAX___141 = 104,
    _SC_INT_MIN___141 = 105,
    _SC_LONG_BIT___141 = 106,
    _SC_WORD_BIT___141 = 107,
    _SC_MB_LEN_MAX___141 = 108,
    _SC_NZERO___141 = 109,
    _SC_SSIZE_MAX___141 = 110,
    _SC_SCHAR_MAX___141 = 111,
    _SC_SCHAR_MIN___141 = 112,
    _SC_SHRT_MAX___141 = 113,
    _SC_SHRT_MIN___141 = 114,
    _SC_UCHAR_MAX___141 = 115,
    _SC_UINT_MAX___141 = 116,
    _SC_ULONG_MAX___141 = 117,
    _SC_USHRT_MAX___141 = 118,
    _SC_NL_ARGMAX___141 = 119,
    _SC_NL_LANGMAX___141 = 120,
    _SC_NL_MSGMAX___141 = 121,
    _SC_NL_NMAX___141 = 122,
    _SC_NL_SETMAX___141 = 123,
    _SC_NL_TEXTMAX___141 = 124,
    _SC_XBS5_ILP32_OFF32___141 = 125,
    _SC_XBS5_ILP32_OFFBIG___141 = 126,
    _SC_XBS5_LP64_OFF64___141 = 127,
    _SC_XBS5_LPBIG_OFFBIG___141 = 128,
    _SC_XOPEN_LEGACY___141 = 129,
    _SC_XOPEN_REALTIME___141 = 130,
    _SC_XOPEN_REALTIME_THREADS___141 = 131,
    _SC_ADVISORY_INFO___141 = 132,
    _SC_BARRIERS___141 = 133,
    _SC_BASE___141 = 134,
    _SC_C_LANG_SUPPORT___141 = 135,
    _SC_C_LANG_SUPPORT_R___141 = 136,
    _SC_CLOCK_SELECTION___141 = 137,
    _SC_CPUTIME___141 = 138,
    _SC_THREAD_CPUTIME___141 = 139,
    _SC_DEVICE_IO___141 = 140,
    _SC_DEVICE_SPECIFIC___141 = 141,
    _SC_DEVICE_SPECIFIC_R___141 = 142,
    _SC_FD_MGMT___141 = 143,
    _SC_FIFO___141 = 144,
    _SC_PIPE___141 = 145,
    _SC_FILE_ATTRIBUTES___141 = 146,
    _SC_FILE_LOCKING___141 = 147,
    _SC_FILE_SYSTEM___141 = 148,
    _SC_MONOTONIC_CLOCK___141 = 149,
    _SC_MULTI_PROCESS___141 = 150,
    _SC_SINGLE_PROCESS___141 = 151,
    _SC_NETWORKING___141 = 152,
    _SC_READER_WRITER_LOCKS___141 = 153,
    _SC_SPIN_LOCKS___141 = 154,
    _SC_REGEXP___141 = 155,
    _SC_REGEX_VERSION___141 = 156,
    _SC_SHELL___141 = 157,
    _SC_SIGNALS___141 = 158,
    _SC_SPAWN___141 = 159,
    _SC_SPORADIC_SERVER___141 = 160,
    _SC_THREAD_SPORADIC_SERVER___141 = 161,
    _SC_SYSTEM_DATABASE___141 = 162,
    _SC_SYSTEM_DATABASE_R___141 = 163,
    _SC_TIMEOUTS___141 = 164,
    _SC_TYPED_MEMORY_OBJECTS___141 = 165,
    _SC_USER_GROUPS___141 = 166,
    _SC_USER_GROUPS_R___141 = 167,
    _SC_2_PBS___141 = 168,
    _SC_2_PBS_ACCOUNTING___141 = 169,
    _SC_2_PBS_LOCATE___141 = 170,
    _SC_2_PBS_MESSAGE___141 = 171,
    _SC_2_PBS_TRACK___141 = 172,
    _SC_SYMLOOP_MAX___141 = 173,
    _SC_STREAMS___141 = 174,
    _SC_2_PBS_CHECKPOINT___141 = 175,
    _SC_V6_ILP32_OFF32___141 = 176,
    _SC_V6_ILP32_OFFBIG___141 = 177,
    _SC_V6_LP64_OFF64___141 = 178,
    _SC_V6_LPBIG_OFFBIG___141 = 179,
    _SC_HOST_NAME_MAX___141 = 180,
    _SC_TRACE___141 = 181,
    _SC_TRACE_EVENT_FILTER___141 = 182,
    _SC_TRACE_INHERIT___141 = 183,
    _SC_TRACE_LOG___141 = 184,
    _SC_LEVEL1_ICACHE_SIZE___141 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___141 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___141 = 187,
    _SC_LEVEL1_DCACHE_SIZE___141 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___141 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___141 = 190,
    _SC_LEVEL2_CACHE_SIZE___141 = 191,
    _SC_LEVEL2_CACHE_ASSOC___141 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___141 = 193,
    _SC_LEVEL3_CACHE_SIZE___141 = 194,
    _SC_LEVEL3_CACHE_ASSOC___141 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___141 = 196,
    _SC_LEVEL4_CACHE_SIZE___141 = 197,
    _SC_LEVEL4_CACHE_ASSOC___141 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___141 = 199,
    _SC_IPV6___141 = 235,
    _SC_RAW_SOCKETS___141 = 236,
    _SC_V7_ILP32_OFF32___141 = 237,
    _SC_V7_ILP32_OFFBIG___141 = 238,
    _SC_V7_LP64_OFF64___141 = 239,
    _SC_V7_LPBIG_OFFBIG___141 = 240,
    _SC_SS_REPL_MAX___141 = 241,
    _SC_TRACE_EVENT_NAME_MAX___141 = 242,
    _SC_TRACE_NAME_MAX___141 = 243,
    _SC_TRACE_SYS_MAX___141 = 244,
    _SC_TRACE_USER_EVENT_MAX___141 = 245,
    _SC_XOPEN_STREAMS___141 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___141 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___141 = 248
} ;
enum __anonenum_875524036___141 {
    _CS_PATH___141 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___141 = 1,
    _CS_GNU_LIBC_VERSION___141 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___141 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___141 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___141 = 5,
    _CS_LFS_CFLAGS___141 = 1000,
    _CS_LFS_LDFLAGS___141 = 1001,
    _CS_LFS_LIBS___141 = 1002,
    _CS_LFS_LINTFLAGS___141 = 1003,
    _CS_LFS64_CFLAGS___141 = 1004,
    _CS_LFS64_LDFLAGS___141 = 1005,
    _CS_LFS64_LIBS___141 = 1006,
    _CS_LFS64_LINTFLAGS___141 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___141 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___141 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___141 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___141 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___141 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___141 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___141 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___141 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___141 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___141 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___141 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___141 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___141 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___141 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___141 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___141 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___141 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___141 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___141 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___141 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___141 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___141 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___141 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___141 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___141 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___141 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___141 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___141 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___141 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___141 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___141 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___141 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___141 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___141 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___141 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___141 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___141 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___141 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___141 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___141 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___141 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___141 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___141 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___141 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___141 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___141 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___141 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___141 = 1147,
    _CS_V6_ENV___141 = 1148,
    _CS_V7_ENV___141 = 1149
} ;
enum __anonenum_513775621___141 {
    DT_UNKNOWN___141 = 0,
    DT_FIFO___141 = 1,
    DT_CHR___141 = 2,
    DT_DIR___141 = 4,
    DT_BLK___141 = 6,
    DT_REG___141 = 8,
    DT_LNK___141 = 10,
    DT_SOCK___141 = 12,
    DT_WHT___141 = 14
} ;
enum __anonenum_77002343___141 {
    SI_ASYNCNL___141 = -60,
    SI_TKILL___141 = -6,
    SI_SIGIO___141 = -5,
    SI_ASYNCIO___141 = -4,
    SI_MESGQ___141 = -3,
    SI_TIMER___141 = -2,
    SI_QUEUE___141 = -1,
    SI_USER___141 = 0,
    SI_KERNEL___141 = 128
} ;
enum __anonenum_131038172___141 {
    ILL_ILLOPC___141 = 1,
    ILL_ILLOPN___141 = 2,
    ILL_ILLADR___141 = 3,
    ILL_ILLTRP___141 = 4,
    ILL_PRVOPC___141 = 5,
    ILL_PRVREG___141 = 6,
    ILL_COPROC___141 = 7,
    ILL_BADSTK___141 = 8
} ;
enum __anonenum_452038093___141 {
    FPE_INTDIV___141 = 1,
    FPE_INTOVF___141 = 2,
    FPE_FLTDIV___141 = 3,
    FPE_FLTOVF___141 = 4,
    FPE_FLTUND___141 = 5,
    FPE_FLTRES___141 = 6,
    FPE_FLTINV___141 = 7,
    FPE_FLTSUB___141 = 8
} ;
enum __anonenum_30976155___141 {
    SEGV_MAPERR___141 = 1,
    SEGV_ACCERR___141 = 2,
    SEGV_BNDERR___141 = 3,
    SEGV_PKUERR___141 = 4
} ;
enum __anonenum_1036286214___141 {
    BUS_ADRALN___141 = 1,
    BUS_ADRERR___141 = 2,
    BUS_OBJERR___141 = 3,
    BUS_MCEERR_AR___141 = 4,
    BUS_MCEERR_AO___141 = 5
} ;
enum __anonenum_493465559___141 {
    TRAP_BRKPT___141 = 1,
    TRAP_TRACE___141 = 2
} ;
enum __anonenum_23175539___141 {
    CLD_EXITED___141 = 1,
    CLD_KILLED___141 = 2,
    CLD_DUMPED___141 = 3,
    CLD_TRAPPED___141 = 4,
    CLD_STOPPED___141 = 5,
    CLD_CONTINUED___141 = 6
} ;
enum __anonenum_111643124___141 {
    POLL_IN___141 = 1,
    POLL_OUT___141 = 2,
    POLL_MSG___141 = 3,
    POLL_ERR___141 = 4,
    POLL_PRI___141 = 5,
    POLL_HUP___141 = 6
} ;
enum __anonenum_852341087___141 {
    SIGEV_SIGNAL___141 = 0,
    SIGEV_NONE___141 = 1,
    SIGEV_THREAD___141 = 2,
    SIGEV_THREAD_ID___141 = 4
} ;
enum __anonenum_451154152___141 {
    REG_R8___141 = 0,
    REG_R9___141 = 1,
    REG_R10___141 = 2,
    REG_R11___141 = 3,
    REG_R12___141 = 4,
    REG_R13___141 = 5,
    REG_R14___141 = 6,
    REG_R15___141 = 7,
    REG_RDI___141 = 8,
    REG_RSI___141 = 9,
    REG_RBP___141 = 10,
    REG_RBX___141 = 11,
    REG_RDX___141 = 12,
    REG_RAX___141 = 13,
    REG_RCX___141 = 14,
    REG_RSP___141 = 15,
    REG_RIP___141 = 16,
    REG_EFL___141 = 17,
    REG_CSGSFS___141 = 18,
    REG_ERR___141 = 19,
    REG_TRAPNO___141 = 20,
    REG_OLDMASK___141 = 21,
    REG_CR2___141 = 22
} ;
enum __anonenum_57186863___141 {
    SS_ONSTACK___141 = 1,
    SS_DISABLE___141 = 2
} ;
enum __anonenum_83571709___141 {
    MSG_OOB___141 = 1,
    MSG_PEEK___141 = 2,
    MSG_DONTROUTE___141 = 4,
    MSG_TRYHARD___141 = 4,
    MSG_CTRUNC___141 = 8,
    MSG_PROXY___141 = 16,
    MSG_TRUNC___141 = 32,
    MSG_DONTWAIT___141 = 64,
    MSG_EOR___141 = 128,
    MSG_WAITALL___141 = 256,
    MSG_FIN___141 = 512,
    MSG_SYN___141 = 1024,
    MSG_CONFIRM___141 = 2048,
    MSG_RST___141 = 4096,
    MSG_ERRQUEUE___141 = 8192,
    MSG_NOSIGNAL___141 = 16384,
    MSG_MORE___141 = 32768,
    MSG_WAITFORONE___141 = 65536,
    MSG_BATCH___141 = 262144,
    MSG_ZEROCOPY___141 = 67108864,
    MSG_FASTOPEN___141 = 536870912,
    MSG_CMSG_CLOEXEC___141 = 1073741824
} ;
enum __anonenum_617082774___141 {
    SCM_RIGHTS___141 = 1,
    SCM_CREDENTIALS___141 = 2
} ;
enum __anonenum_606441560___141 {
    SHUT_RD___141 = 0,
    SHUT_WR___141 = 1,
    SHUT_RDWR___141 = 2
} ;
enum __anonenum_681669233___141 {
    IPPROTO_IP___141 = 0,
    IPPROTO_ICMP___141 = 1,
    IPPROTO_IGMP___141 = 2,
    IPPROTO_IPIP___141 = 4,
    IPPROTO_TCP___141 = 6,
    IPPROTO_EGP___141 = 8,
    IPPROTO_PUP___141 = 12,
    IPPROTO_UDP___141 = 17,
    IPPROTO_IDP___141 = 22,
    IPPROTO_TP___141 = 29,
    IPPROTO_DCCP___141 = 33,
    IPPROTO_IPV6___141 = 41,
    IPPROTO_RSVP___141 = 46,
    IPPROTO_GRE___141 = 47,
    IPPROTO_ESP___141 = 50,
    IPPROTO_AH___141 = 51,
    IPPROTO_MTP___141 = 92,
    IPPROTO_BEETPH___141 = 94,
    IPPROTO_ENCAP___141 = 98,
    IPPROTO_PIM___141 = 103,
    IPPROTO_COMP___141 = 108,
    IPPROTO_SCTP___141 = 132,
    IPPROTO_UDPLITE___141 = 136,
    IPPROTO_MPLS___141 = 137,
    IPPROTO_RAW___141 = 255,
    IPPROTO_MAX___141 = 256
} ;
enum __anonenum_218739988___141 {
    IPPROTO_HOPOPTS___141 = 0,
    IPPROTO_ROUTING___141 = 43,
    IPPROTO_FRAGMENT___141 = 44,
    IPPROTO_ICMPV6___141 = 58,
    IPPROTO_NONE___141 = 59,
    IPPROTO_DSTOPTS___141 = 60,
    IPPROTO_MH___141 = 135
} ;
enum __anonenum_662268580___141 {
    IPPORT_ECHO___141 = 7,
    IPPORT_DISCARD___141 = 9,
    IPPORT_SYSTAT___141 = 11,
    IPPORT_DAYTIME___141 = 13,
    IPPORT_NETSTAT___141 = 15,
    IPPORT_FTP___141 = 21,
    IPPORT_TELNET___141 = 23,
    IPPORT_SMTP___141 = 25,
    IPPORT_TIMESERVER___141 = 37,
    IPPORT_NAMESERVER___141 = 42,
    IPPORT_WHOIS___141 = 43,
    IPPORT_MTP___141 = 57,
    IPPORT_TFTP___141 = 69,
    IPPORT_RJE___141 = 77,
    IPPORT_FINGER___141 = 79,
    IPPORT_TTYLINK___141 = 87,
    IPPORT_SUPDUP___141 = 95,
    IPPORT_EXECSERVER___141 = 512,
    IPPORT_LOGINSERVER___141 = 513,
    IPPORT_CMDSERVER___141 = 514,
    IPPORT_EFSSERVER___141 = 520,
    IPPORT_BIFFUDP___141 = 512,
    IPPORT_WHOSERVER___141 = 513,
    IPPORT_ROUTESERVER___141 = 520,
    IPPORT_RESERVED___141 = 1024,
    IPPORT_USERRESERVED___141 = 5000
} ;
enum __anonenum_788308992___141 {
    TCP_ESTABLISHED___141 = 1,
    TCP_SYN_SENT___141 = 2,
    TCP_SYN_RECV___141 = 3,
    TCP_FIN_WAIT1___141 = 4,
    TCP_FIN_WAIT2___141 = 5,
    TCP_TIME_WAIT___141 = 6,
    TCP_CLOSE___141 = 7,
    TCP_CLOSE_WAIT___141 = 8,
    TCP_LAST_ACK___141 = 9,
    TCP_LISTEN___141 = 10,
    TCP_CLOSING___141 = 11
} ;
enum __anonenum_221125648___141 {
    TCP_NO_QUEUE___141 = 0,
    TCP_RECV_QUEUE___141 = 1,
    TCP_SEND_QUEUE___141 = 2,
    TCP_QUEUES_NR___141 = 3
} ;
enum __anonenum_34415463___141 {
    PTHREAD_CREATE_JOINABLE___141 = 0,
    PTHREAD_CREATE_DETACHED___141 = 1
} ;
enum __anonenum_303612439___141 {
    PTHREAD_MUTEX_TIMED_NP___141 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___141 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___141 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___141 = 3,
    PTHREAD_MUTEX_NORMAL___141 = 0,
    PTHREAD_MUTEX_RECURSIVE___141 = 1,
    PTHREAD_MUTEX_ERRORCHECK___141 = 2,
    PTHREAD_MUTEX_DEFAULT___141 = 0,
    PTHREAD_MUTEX_FAST_NP___141 = 0
} ;
enum __anonenum_931900394___141 {
    PTHREAD_MUTEX_STALLED___141 = 0,
    PTHREAD_MUTEX_STALLED_NP___141 = 0,
    PTHREAD_MUTEX_ROBUST___141 = 1,
    PTHREAD_MUTEX_ROBUST_NP___141 = 1
} ;
enum __anonenum_205214487___141 {
    PTHREAD_PRIO_NONE___141 = 0,
    PTHREAD_PRIO_INHERIT___141 = 1,
    PTHREAD_PRIO_PROTECT___141 = 2
} ;
enum __anonenum_25043950___141 {
    PTHREAD_RWLOCK_PREFER_READER_NP___141 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___141 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___141 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___141 = 0
} ;
enum __anonenum_436439511___141 {
    PTHREAD_INHERIT_SCHED___141 = 0,
    PTHREAD_EXPLICIT_SCHED___141 = 1
} ;
enum __anonenum_998661166___141 {
    PTHREAD_SCOPE_SYSTEM___141 = 0,
    PTHREAD_SCOPE_PROCESS___141 = 1
} ;
enum __anonenum_146137331___141 {
    PTHREAD_PROCESS_PRIVATE___141 = 0,
    PTHREAD_PROCESS_SHARED___141 = 1
} ;
enum __anonenum_53396917___141 {
    PTHREAD_CANCEL_ENABLE___141 = 0,
    PTHREAD_CANCEL_DISABLE___141 = 1
} ;
enum __anonenum_904563783___141 {
    PTHREAD_CANCEL_DEFERRED___141 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___141 = 1
} ;
enum __anonenum_672052974___141 {
    SSL_CT_VALIDATION_PERMISSIVE___141 = 0,
    SSL_CT_VALIDATION_STRICT___141 = 1
} ;
struct throughput {
   off_t curr_total ;
   off_t prev_total ;
   uint64_t prev_ns ;
   unsigned int avg_bytes ;
   unsigned int avg_misecs ;
   unsigned int last_bytes[8] ;
   unsigned int last_misecs[8] ;
   unsigned int idx ;
   struct strbuf display ;
};
struct progress {
   char const   *title ;
   uint64_t last_value ;
   uint64_t total ;
   unsigned int last_percent ;
   unsigned int delay ;
   unsigned int sparse ;
   struct throughput *throughput ;
   uint64_t start_ns ;
   struct strbuf counters_sb ;
   int title_len ;
   int split ;
};
enum __anonenum_437032235___142 {
    _PC_LINK_MAX___142 = 0,
    _PC_MAX_CANON___142 = 1,
    _PC_MAX_INPUT___142 = 2,
    _PC_NAME_MAX___142 = 3,
    _PC_PATH_MAX___142 = 4,
    _PC_PIPE_BUF___142 = 5,
    _PC_CHOWN_RESTRICTED___142 = 6,
    _PC_NO_TRUNC___142 = 7,
    _PC_VDISABLE___142 = 8,
    _PC_SYNC_IO___142 = 9,
    _PC_ASYNC_IO___142 = 10,
    _PC_PRIO_IO___142 = 11,
    _PC_SOCK_MAXBUF___142 = 12,
    _PC_FILESIZEBITS___142 = 13,
    _PC_REC_INCR_XFER_SIZE___142 = 14,
    _PC_REC_MAX_XFER_SIZE___142 = 15,
    _PC_REC_MIN_XFER_SIZE___142 = 16,
    _PC_REC_XFER_ALIGN___142 = 17,
    _PC_ALLOC_SIZE_MIN___142 = 18,
    _PC_SYMLINK_MAX___142 = 19,
    _PC_2_SYMLINKS___142 = 20
} ;
enum __anonenum_315186338___142 {
    _SC_ARG_MAX___142 = 0,
    _SC_CHILD_MAX___142 = 1,
    _SC_CLK_TCK___142 = 2,
    _SC_NGROUPS_MAX___142 = 3,
    _SC_OPEN_MAX___142 = 4,
    _SC_STREAM_MAX___142 = 5,
    _SC_TZNAME_MAX___142 = 6,
    _SC_JOB_CONTROL___142 = 7,
    _SC_SAVED_IDS___142 = 8,
    _SC_REALTIME_SIGNALS___142 = 9,
    _SC_PRIORITY_SCHEDULING___142 = 10,
    _SC_TIMERS___142 = 11,
    _SC_ASYNCHRONOUS_IO___142 = 12,
    _SC_PRIORITIZED_IO___142 = 13,
    _SC_SYNCHRONIZED_IO___142 = 14,
    _SC_FSYNC___142 = 15,
    _SC_MAPPED_FILES___142 = 16,
    _SC_MEMLOCK___142 = 17,
    _SC_MEMLOCK_RANGE___142 = 18,
    _SC_MEMORY_PROTECTION___142 = 19,
    _SC_MESSAGE_PASSING___142 = 20,
    _SC_SEMAPHORES___142 = 21,
    _SC_SHARED_MEMORY_OBJECTS___142 = 22,
    _SC_AIO_LISTIO_MAX___142 = 23,
    _SC_AIO_MAX___142 = 24,
    _SC_AIO_PRIO_DELTA_MAX___142 = 25,
    _SC_DELAYTIMER_MAX___142 = 26,
    _SC_MQ_OPEN_MAX___142 = 27,
    _SC_MQ_PRIO_MAX___142 = 28,
    _SC_VERSION___142 = 29,
    _SC_PAGESIZE___142 = 30,
    _SC_RTSIG_MAX___142 = 31,
    _SC_SEM_NSEMS_MAX___142 = 32,
    _SC_SEM_VALUE_MAX___142 = 33,
    _SC_SIGQUEUE_MAX___142 = 34,
    _SC_TIMER_MAX___142 = 35,
    _SC_BC_BASE_MAX___142 = 36,
    _SC_BC_DIM_MAX___142 = 37,
    _SC_BC_SCALE_MAX___142 = 38,
    _SC_BC_STRING_MAX___142 = 39,
    _SC_COLL_WEIGHTS_MAX___142 = 40,
    _SC_EQUIV_CLASS_MAX___142 = 41,
    _SC_EXPR_NEST_MAX___142 = 42,
    _SC_LINE_MAX___142 = 43,
    _SC_RE_DUP_MAX___142 = 44,
    _SC_CHARCLASS_NAME_MAX___142 = 45,
    _SC_2_VERSION___142 = 46,
    _SC_2_C_BIND___142 = 47,
    _SC_2_C_DEV___142 = 48,
    _SC_2_FORT_DEV___142 = 49,
    _SC_2_FORT_RUN___142 = 50,
    _SC_2_SW_DEV___142 = 51,
    _SC_2_LOCALEDEF___142 = 52,
    _SC_PII___142 = 53,
    _SC_PII_XTI___142 = 54,
    _SC_PII_SOCKET___142 = 55,
    _SC_PII_INTERNET___142 = 56,
    _SC_PII_OSI___142 = 57,
    _SC_POLL___142 = 58,
    _SC_SELECT___142 = 59,
    _SC_UIO_MAXIOV___142 = 60,
    _SC_IOV_MAX___142 = 60,
    _SC_PII_INTERNET_STREAM___142 = 61,
    _SC_PII_INTERNET_DGRAM___142 = 62,
    _SC_PII_OSI_COTS___142 = 63,
    _SC_PII_OSI_CLTS___142 = 64,
    _SC_PII_OSI_M___142 = 65,
    _SC_T_IOV_MAX___142 = 66,
    _SC_THREADS___142 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___142 = 68,
    _SC_GETGR_R_SIZE_MAX___142 = 69,
    _SC_GETPW_R_SIZE_MAX___142 = 70,
    _SC_LOGIN_NAME_MAX___142 = 71,
    _SC_TTY_NAME_MAX___142 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___142 = 73,
    _SC_THREAD_KEYS_MAX___142 = 74,
    _SC_THREAD_STACK_MIN___142 = 75,
    _SC_THREAD_THREADS_MAX___142 = 76,
    _SC_THREAD_ATTR_STACKADDR___142 = 77,
    _SC_THREAD_ATTR_STACKSIZE___142 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___142 = 79,
    _SC_THREAD_PRIO_INHERIT___142 = 80,
    _SC_THREAD_PRIO_PROTECT___142 = 81,
    _SC_THREAD_PROCESS_SHARED___142 = 82,
    _SC_NPROCESSORS_CONF___142 = 83,
    _SC_NPROCESSORS_ONLN___142 = 84,
    _SC_PHYS_PAGES___142 = 85,
    _SC_AVPHYS_PAGES___142 = 86,
    _SC_ATEXIT_MAX___142 = 87,
    _SC_PASS_MAX___142 = 88,
    _SC_XOPEN_VERSION___142 = 89,
    _SC_XOPEN_XCU_VERSION___142 = 90,
    _SC_XOPEN_UNIX___142 = 91,
    _SC_XOPEN_CRYPT___142 = 92,
    _SC_XOPEN_ENH_I18N___142 = 93,
    _SC_XOPEN_SHM___142 = 94,
    _SC_2_CHAR_TERM___142 = 95,
    _SC_2_C_VERSION___142 = 96,
    _SC_2_UPE___142 = 97,
    _SC_XOPEN_XPG2___142 = 98,
    _SC_XOPEN_XPG3___142 = 99,
    _SC_XOPEN_XPG4___142 = 100,
    _SC_CHAR_BIT___142 = 101,
    _SC_CHAR_MAX___142 = 102,
    _SC_CHAR_MIN___142 = 103,
    _SC_INT_MAX___142 = 104,
    _SC_INT_MIN___142 = 105,
    _SC_LONG_BIT___142 = 106,
    _SC_WORD_BIT___142 = 107,
    _SC_MB_LEN_MAX___142 = 108,
    _SC_NZERO___142 = 109,
    _SC_SSIZE_MAX___142 = 110,
    _SC_SCHAR_MAX___142 = 111,
    _SC_SCHAR_MIN___142 = 112,
    _SC_SHRT_MAX___142 = 113,
    _SC_SHRT_MIN___142 = 114,
    _SC_UCHAR_MAX___142 = 115,
    _SC_UINT_MAX___142 = 116,
    _SC_ULONG_MAX___142 = 117,
    _SC_USHRT_MAX___142 = 118,
    _SC_NL_ARGMAX___142 = 119,
    _SC_NL_LANGMAX___142 = 120,
    _SC_NL_MSGMAX___142 = 121,
    _SC_NL_NMAX___142 = 122,
    _SC_NL_SETMAX___142 = 123,
    _SC_NL_TEXTMAX___142 = 124,
    _SC_XBS5_ILP32_OFF32___142 = 125,
    _SC_XBS5_ILP32_OFFBIG___142 = 126,
    _SC_XBS5_LP64_OFF64___142 = 127,
    _SC_XBS5_LPBIG_OFFBIG___142 = 128,
    _SC_XOPEN_LEGACY___142 = 129,
    _SC_XOPEN_REALTIME___142 = 130,
    _SC_XOPEN_REALTIME_THREADS___142 = 131,
    _SC_ADVISORY_INFO___142 = 132,
    _SC_BARRIERS___142 = 133,
    _SC_BASE___142 = 134,
    _SC_C_LANG_SUPPORT___142 = 135,
    _SC_C_LANG_SUPPORT_R___142 = 136,
    _SC_CLOCK_SELECTION___142 = 137,
    _SC_CPUTIME___142 = 138,
    _SC_THREAD_CPUTIME___142 = 139,
    _SC_DEVICE_IO___142 = 140,
    _SC_DEVICE_SPECIFIC___142 = 141,
    _SC_DEVICE_SPECIFIC_R___142 = 142,
    _SC_FD_MGMT___142 = 143,
    _SC_FIFO___142 = 144,
    _SC_PIPE___142 = 145,
    _SC_FILE_ATTRIBUTES___142 = 146,
    _SC_FILE_LOCKING___142 = 147,
    _SC_FILE_SYSTEM___142 = 148,
    _SC_MONOTONIC_CLOCK___142 = 149,
    _SC_MULTI_PROCESS___142 = 150,
    _SC_SINGLE_PROCESS___142 = 151,
    _SC_NETWORKING___142 = 152,
    _SC_READER_WRITER_LOCKS___142 = 153,
    _SC_SPIN_LOCKS___142 = 154,
    _SC_REGEXP___142 = 155,
    _SC_REGEX_VERSION___142 = 156,
    _SC_SHELL___142 = 157,
    _SC_SIGNALS___142 = 158,
    _SC_SPAWN___142 = 159,
    _SC_SPORADIC_SERVER___142 = 160,
    _SC_THREAD_SPORADIC_SERVER___142 = 161,
    _SC_SYSTEM_DATABASE___142 = 162,
    _SC_SYSTEM_DATABASE_R___142 = 163,
    _SC_TIMEOUTS___142 = 164,
    _SC_TYPED_MEMORY_OBJECTS___142 = 165,
    _SC_USER_GROUPS___142 = 166,
    _SC_USER_GROUPS_R___142 = 167,
    _SC_2_PBS___142 = 168,
    _SC_2_PBS_ACCOUNTING___142 = 169,
    _SC_2_PBS_LOCATE___142 = 170,
    _SC_2_PBS_MESSAGE___142 = 171,
    _SC_2_PBS_TRACK___142 = 172,
    _SC_SYMLOOP_MAX___142 = 173,
    _SC_STREAMS___142 = 174,
    _SC_2_PBS_CHECKPOINT___142 = 175,
    _SC_V6_ILP32_OFF32___142 = 176,
    _SC_V6_ILP32_OFFBIG___142 = 177,
    _SC_V6_LP64_OFF64___142 = 178,
    _SC_V6_LPBIG_OFFBIG___142 = 179,
    _SC_HOST_NAME_MAX___142 = 180,
    _SC_TRACE___142 = 181,
    _SC_TRACE_EVENT_FILTER___142 = 182,
    _SC_TRACE_INHERIT___142 = 183,
    _SC_TRACE_LOG___142 = 184,
    _SC_LEVEL1_ICACHE_SIZE___142 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___142 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___142 = 187,
    _SC_LEVEL1_DCACHE_SIZE___142 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___142 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___142 = 190,
    _SC_LEVEL2_CACHE_SIZE___142 = 191,
    _SC_LEVEL2_CACHE_ASSOC___142 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___142 = 193,
    _SC_LEVEL3_CACHE_SIZE___142 = 194,
    _SC_LEVEL3_CACHE_ASSOC___142 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___142 = 196,
    _SC_LEVEL4_CACHE_SIZE___142 = 197,
    _SC_LEVEL4_CACHE_ASSOC___142 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___142 = 199,
    _SC_IPV6___142 = 235,
    _SC_RAW_SOCKETS___142 = 236,
    _SC_V7_ILP32_OFF32___142 = 237,
    _SC_V7_ILP32_OFFBIG___142 = 238,
    _SC_V7_LP64_OFF64___142 = 239,
    _SC_V7_LPBIG_OFFBIG___142 = 240,
    _SC_SS_REPL_MAX___142 = 241,
    _SC_TRACE_EVENT_NAME_MAX___142 = 242,
    _SC_TRACE_NAME_MAX___142 = 243,
    _SC_TRACE_SYS_MAX___142 = 244,
    _SC_TRACE_USER_EVENT_MAX___142 = 245,
    _SC_XOPEN_STREAMS___142 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___142 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___142 = 248
} ;
enum __anonenum_875524036___142 {
    _CS_PATH___142 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___142 = 1,
    _CS_GNU_LIBC_VERSION___142 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___142 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___142 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___142 = 5,
    _CS_LFS_CFLAGS___142 = 1000,
    _CS_LFS_LDFLAGS___142 = 1001,
    _CS_LFS_LIBS___142 = 1002,
    _CS_LFS_LINTFLAGS___142 = 1003,
    _CS_LFS64_CFLAGS___142 = 1004,
    _CS_LFS64_LDFLAGS___142 = 1005,
    _CS_LFS64_LIBS___142 = 1006,
    _CS_LFS64_LINTFLAGS___142 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___142 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___142 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___142 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___142 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___142 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___142 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___142 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___142 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___142 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___142 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___142 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___142 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___142 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___142 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___142 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___142 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___142 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___142 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___142 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___142 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___142 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___142 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___142 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___142 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___142 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___142 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___142 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___142 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___142 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___142 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___142 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___142 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___142 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___142 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___142 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___142 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___142 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___142 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___142 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___142 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___142 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___142 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___142 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___142 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___142 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___142 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___142 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___142 = 1147,
    _CS_V6_ENV___142 = 1148,
    _CS_V7_ENV___142 = 1149
} ;
enum __anonenum_513775621___142 {
    DT_UNKNOWN___142 = 0,
    DT_FIFO___142 = 1,
    DT_CHR___142 = 2,
    DT_DIR___142 = 4,
    DT_BLK___142 = 6,
    DT_REG___142 = 8,
    DT_LNK___142 = 10,
    DT_SOCK___142 = 12,
    DT_WHT___142 = 14
} ;
enum __anonenum_77002343___142 {
    SI_ASYNCNL___142 = -60,
    SI_TKILL___142 = -6,
    SI_SIGIO___142 = -5,
    SI_ASYNCIO___142 = -4,
    SI_MESGQ___142 = -3,
    SI_TIMER___142 = -2,
    SI_QUEUE___142 = -1,
    SI_USER___142 = 0,
    SI_KERNEL___142 = 128
} ;
enum __anonenum_131038172___142 {
    ILL_ILLOPC___142 = 1,
    ILL_ILLOPN___142 = 2,
    ILL_ILLADR___142 = 3,
    ILL_ILLTRP___142 = 4,
    ILL_PRVOPC___142 = 5,
    ILL_PRVREG___142 = 6,
    ILL_COPROC___142 = 7,
    ILL_BADSTK___142 = 8
} ;
enum __anonenum_452038093___142 {
    FPE_INTDIV___142 = 1,
    FPE_INTOVF___142 = 2,
    FPE_FLTDIV___142 = 3,
    FPE_FLTOVF___142 = 4,
    FPE_FLTUND___142 = 5,
    FPE_FLTRES___142 = 6,
    FPE_FLTINV___142 = 7,
    FPE_FLTSUB___142 = 8
} ;
enum __anonenum_30976155___142 {
    SEGV_MAPERR___142 = 1,
    SEGV_ACCERR___142 = 2,
    SEGV_BNDERR___142 = 3,
    SEGV_PKUERR___142 = 4
} ;
enum __anonenum_1036286214___142 {
    BUS_ADRALN___142 = 1,
    BUS_ADRERR___142 = 2,
    BUS_OBJERR___142 = 3,
    BUS_MCEERR_AR___142 = 4,
    BUS_MCEERR_AO___142 = 5
} ;
enum __anonenum_493465559___142 {
    TRAP_BRKPT___142 = 1,
    TRAP_TRACE___142 = 2
} ;
enum __anonenum_23175539___142 {
    CLD_EXITED___142 = 1,
    CLD_KILLED___142 = 2,
    CLD_DUMPED___142 = 3,
    CLD_TRAPPED___142 = 4,
    CLD_STOPPED___142 = 5,
    CLD_CONTINUED___142 = 6
} ;
enum __anonenum_111643124___142 {
    POLL_IN___142 = 1,
    POLL_OUT___142 = 2,
    POLL_MSG___142 = 3,
    POLL_ERR___142 = 4,
    POLL_PRI___142 = 5,
    POLL_HUP___142 = 6
} ;
enum __anonenum_852341087___142 {
    SIGEV_SIGNAL___142 = 0,
    SIGEV_NONE___142 = 1,
    SIGEV_THREAD___142 = 2,
    SIGEV_THREAD_ID___142 = 4
} ;
enum __anonenum_451154152___142 {
    REG_R8___142 = 0,
    REG_R9___142 = 1,
    REG_R10___142 = 2,
    REG_R11___142 = 3,
    REG_R12___142 = 4,
    REG_R13___142 = 5,
    REG_R14___142 = 6,
    REG_R15___142 = 7,
    REG_RDI___142 = 8,
    REG_RSI___142 = 9,
    REG_RBP___142 = 10,
    REG_RBX___142 = 11,
    REG_RDX___142 = 12,
    REG_RAX___142 = 13,
    REG_RCX___142 = 14,
    REG_RSP___142 = 15,
    REG_RIP___142 = 16,
    REG_EFL___142 = 17,
    REG_CSGSFS___142 = 18,
    REG_ERR___142 = 19,
    REG_TRAPNO___142 = 20,
    REG_OLDMASK___142 = 21,
    REG_CR2___142 = 22
} ;
enum __anonenum_57186863___142 {
    SS_ONSTACK___142 = 1,
    SS_DISABLE___142 = 2
} ;
enum __anonenum_83571709___142 {
    MSG_OOB___142 = 1,
    MSG_PEEK___142 = 2,
    MSG_DONTROUTE___142 = 4,
    MSG_TRYHARD___142 = 4,
    MSG_CTRUNC___142 = 8,
    MSG_PROXY___142 = 16,
    MSG_TRUNC___142 = 32,
    MSG_DONTWAIT___142 = 64,
    MSG_EOR___142 = 128,
    MSG_WAITALL___142 = 256,
    MSG_FIN___142 = 512,
    MSG_SYN___142 = 1024,
    MSG_CONFIRM___142 = 2048,
    MSG_RST___142 = 4096,
    MSG_ERRQUEUE___142 = 8192,
    MSG_NOSIGNAL___142 = 16384,
    MSG_MORE___142 = 32768,
    MSG_WAITFORONE___142 = 65536,
    MSG_BATCH___142 = 262144,
    MSG_ZEROCOPY___142 = 67108864,
    MSG_FASTOPEN___142 = 536870912,
    MSG_CMSG_CLOEXEC___142 = 1073741824
} ;
enum __anonenum_617082774___142 {
    SCM_RIGHTS___142 = 1,
    SCM_CREDENTIALS___142 = 2
} ;
enum __anonenum_606441560___142 {
    SHUT_RD___142 = 0,
    SHUT_WR___142 = 1,
    SHUT_RDWR___142 = 2
} ;
enum __anonenum_681669233___142 {
    IPPROTO_IP___142 = 0,
    IPPROTO_ICMP___142 = 1,
    IPPROTO_IGMP___142 = 2,
    IPPROTO_IPIP___142 = 4,
    IPPROTO_TCP___142 = 6,
    IPPROTO_EGP___142 = 8,
    IPPROTO_PUP___142 = 12,
    IPPROTO_UDP___142 = 17,
    IPPROTO_IDP___142 = 22,
    IPPROTO_TP___142 = 29,
    IPPROTO_DCCP___142 = 33,
    IPPROTO_IPV6___142 = 41,
    IPPROTO_RSVP___142 = 46,
    IPPROTO_GRE___142 = 47,
    IPPROTO_ESP___142 = 50,
    IPPROTO_AH___142 = 51,
    IPPROTO_MTP___142 = 92,
    IPPROTO_BEETPH___142 = 94,
    IPPROTO_ENCAP___142 = 98,
    IPPROTO_PIM___142 = 103,
    IPPROTO_COMP___142 = 108,
    IPPROTO_SCTP___142 = 132,
    IPPROTO_UDPLITE___142 = 136,
    IPPROTO_MPLS___142 = 137,
    IPPROTO_RAW___142 = 255,
    IPPROTO_MAX___142 = 256
} ;
enum __anonenum_218739988___142 {
    IPPROTO_HOPOPTS___142 = 0,
    IPPROTO_ROUTING___142 = 43,
    IPPROTO_FRAGMENT___142 = 44,
    IPPROTO_ICMPV6___142 = 58,
    IPPROTO_NONE___142 = 59,
    IPPROTO_DSTOPTS___142 = 60,
    IPPROTO_MH___142 = 135
} ;
enum __anonenum_662268580___142 {
    IPPORT_ECHO___142 = 7,
    IPPORT_DISCARD___142 = 9,
    IPPORT_SYSTAT___142 = 11,
    IPPORT_DAYTIME___142 = 13,
    IPPORT_NETSTAT___142 = 15,
    IPPORT_FTP___142 = 21,
    IPPORT_TELNET___142 = 23,
    IPPORT_SMTP___142 = 25,
    IPPORT_TIMESERVER___142 = 37,
    IPPORT_NAMESERVER___142 = 42,
    IPPORT_WHOIS___142 = 43,
    IPPORT_MTP___142 = 57,
    IPPORT_TFTP___142 = 69,
    IPPORT_RJE___142 = 77,
    IPPORT_FINGER___142 = 79,
    IPPORT_TTYLINK___142 = 87,
    IPPORT_SUPDUP___142 = 95,
    IPPORT_EXECSERVER___142 = 512,
    IPPORT_LOGINSERVER___142 = 513,
    IPPORT_CMDSERVER___142 = 514,
    IPPORT_EFSSERVER___142 = 520,
    IPPORT_BIFFUDP___142 = 512,
    IPPORT_WHOSERVER___142 = 513,
    IPPORT_ROUTESERVER___142 = 520,
    IPPORT_RESERVED___142 = 1024,
    IPPORT_USERRESERVED___142 = 5000
} ;
enum __anonenum_788308992___142 {
    TCP_ESTABLISHED___142 = 1,
    TCP_SYN_SENT___142 = 2,
    TCP_SYN_RECV___142 = 3,
    TCP_FIN_WAIT1___142 = 4,
    TCP_FIN_WAIT2___142 = 5,
    TCP_TIME_WAIT___142 = 6,
    TCP_CLOSE___142 = 7,
    TCP_CLOSE_WAIT___142 = 8,
    TCP_LAST_ACK___142 = 9,
    TCP_LISTEN___142 = 10,
    TCP_CLOSING___142 = 11
} ;
enum __anonenum_221125648___142 {
    TCP_NO_QUEUE___142 = 0,
    TCP_RECV_QUEUE___142 = 1,
    TCP_SEND_QUEUE___142 = 2,
    TCP_QUEUES_NR___142 = 3
} ;
enum __anonenum_34415463___142 {
    PTHREAD_CREATE_JOINABLE___142 = 0,
    PTHREAD_CREATE_DETACHED___142 = 1
} ;
enum __anonenum_303612439___142 {
    PTHREAD_MUTEX_TIMED_NP___142 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___142 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___142 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___142 = 3,
    PTHREAD_MUTEX_NORMAL___142 = 0,
    PTHREAD_MUTEX_RECURSIVE___142 = 1,
    PTHREAD_MUTEX_ERRORCHECK___142 = 2,
    PTHREAD_MUTEX_DEFAULT___142 = 0,
    PTHREAD_MUTEX_FAST_NP___142 = 0
} ;
enum __anonenum_931900394___142 {
    PTHREAD_MUTEX_STALLED___142 = 0,
    PTHREAD_MUTEX_STALLED_NP___142 = 0,
    PTHREAD_MUTEX_ROBUST___142 = 1,
    PTHREAD_MUTEX_ROBUST_NP___142 = 1
} ;
enum __anonenum_205214487___142 {
    PTHREAD_PRIO_NONE___142 = 0,
    PTHREAD_PRIO_INHERIT___142 = 1,
    PTHREAD_PRIO_PROTECT___142 = 2
} ;
enum __anonenum_25043950___142 {
    PTHREAD_RWLOCK_PREFER_READER_NP___142 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___142 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___142 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___142 = 0
} ;
enum __anonenum_436439511___142 {
    PTHREAD_INHERIT_SCHED___142 = 0,
    PTHREAD_EXPLICIT_SCHED___142 = 1
} ;
enum __anonenum_998661166___142 {
    PTHREAD_SCOPE_SYSTEM___142 = 0,
    PTHREAD_SCOPE_PROCESS___142 = 1
} ;
enum __anonenum_146137331___142 {
    PTHREAD_PROCESS_PRIVATE___142 = 0,
    PTHREAD_PROCESS_SHARED___142 = 1
} ;
enum __anonenum_53396917___142 {
    PTHREAD_CANCEL_ENABLE___142 = 0,
    PTHREAD_CANCEL_DISABLE___142 = 1
} ;
enum __anonenum_904563783___142 {
    PTHREAD_CANCEL_DEFERRED___142 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___142 = 1
} ;
enum __anonenum_672052974___142 {
    SSL_CT_VALIDATION_PERMISSIVE___142 = 0,
    SSL_CT_VALIDATION_STRICT___142 = 1
} ;
enum __anonenum_34023289___9 {
    REMOTE_UNCONFIGURED___9 = 0,
    REMOTE_CONFIG___9 = 1,
    REMOTE_REMOTES___9 = 2,
    REMOTE_BRANCHES___9 = 3
} ;
struct promisor_remote_config {
   struct promisor_remote *promisors ;
   struct promisor_remote **promisors_tail ;
};
enum __anonenum_437032235___143 {
    _PC_LINK_MAX___143 = 0,
    _PC_MAX_CANON___143 = 1,
    _PC_MAX_INPUT___143 = 2,
    _PC_NAME_MAX___143 = 3,
    _PC_PATH_MAX___143 = 4,
    _PC_PIPE_BUF___143 = 5,
    _PC_CHOWN_RESTRICTED___143 = 6,
    _PC_NO_TRUNC___143 = 7,
    _PC_VDISABLE___143 = 8,
    _PC_SYNC_IO___143 = 9,
    _PC_ASYNC_IO___143 = 10,
    _PC_PRIO_IO___143 = 11,
    _PC_SOCK_MAXBUF___143 = 12,
    _PC_FILESIZEBITS___143 = 13,
    _PC_REC_INCR_XFER_SIZE___143 = 14,
    _PC_REC_MAX_XFER_SIZE___143 = 15,
    _PC_REC_MIN_XFER_SIZE___143 = 16,
    _PC_REC_XFER_ALIGN___143 = 17,
    _PC_ALLOC_SIZE_MIN___143 = 18,
    _PC_SYMLINK_MAX___143 = 19,
    _PC_2_SYMLINKS___143 = 20
} ;
enum __anonenum_315186338___143 {
    _SC_ARG_MAX___143 = 0,
    _SC_CHILD_MAX___143 = 1,
    _SC_CLK_TCK___143 = 2,
    _SC_NGROUPS_MAX___143 = 3,
    _SC_OPEN_MAX___143 = 4,
    _SC_STREAM_MAX___143 = 5,
    _SC_TZNAME_MAX___143 = 6,
    _SC_JOB_CONTROL___143 = 7,
    _SC_SAVED_IDS___143 = 8,
    _SC_REALTIME_SIGNALS___143 = 9,
    _SC_PRIORITY_SCHEDULING___143 = 10,
    _SC_TIMERS___143 = 11,
    _SC_ASYNCHRONOUS_IO___143 = 12,
    _SC_PRIORITIZED_IO___143 = 13,
    _SC_SYNCHRONIZED_IO___143 = 14,
    _SC_FSYNC___143 = 15,
    _SC_MAPPED_FILES___143 = 16,
    _SC_MEMLOCK___143 = 17,
    _SC_MEMLOCK_RANGE___143 = 18,
    _SC_MEMORY_PROTECTION___143 = 19,
    _SC_MESSAGE_PASSING___143 = 20,
    _SC_SEMAPHORES___143 = 21,
    _SC_SHARED_MEMORY_OBJECTS___143 = 22,
    _SC_AIO_LISTIO_MAX___143 = 23,
    _SC_AIO_MAX___143 = 24,
    _SC_AIO_PRIO_DELTA_MAX___143 = 25,
    _SC_DELAYTIMER_MAX___143 = 26,
    _SC_MQ_OPEN_MAX___143 = 27,
    _SC_MQ_PRIO_MAX___143 = 28,
    _SC_VERSION___143 = 29,
    _SC_PAGESIZE___143 = 30,
    _SC_RTSIG_MAX___143 = 31,
    _SC_SEM_NSEMS_MAX___143 = 32,
    _SC_SEM_VALUE_MAX___143 = 33,
    _SC_SIGQUEUE_MAX___143 = 34,
    _SC_TIMER_MAX___143 = 35,
    _SC_BC_BASE_MAX___143 = 36,
    _SC_BC_DIM_MAX___143 = 37,
    _SC_BC_SCALE_MAX___143 = 38,
    _SC_BC_STRING_MAX___143 = 39,
    _SC_COLL_WEIGHTS_MAX___143 = 40,
    _SC_EQUIV_CLASS_MAX___143 = 41,
    _SC_EXPR_NEST_MAX___143 = 42,
    _SC_LINE_MAX___143 = 43,
    _SC_RE_DUP_MAX___143 = 44,
    _SC_CHARCLASS_NAME_MAX___143 = 45,
    _SC_2_VERSION___143 = 46,
    _SC_2_C_BIND___143 = 47,
    _SC_2_C_DEV___143 = 48,
    _SC_2_FORT_DEV___143 = 49,
    _SC_2_FORT_RUN___143 = 50,
    _SC_2_SW_DEV___143 = 51,
    _SC_2_LOCALEDEF___143 = 52,
    _SC_PII___143 = 53,
    _SC_PII_XTI___143 = 54,
    _SC_PII_SOCKET___143 = 55,
    _SC_PII_INTERNET___143 = 56,
    _SC_PII_OSI___143 = 57,
    _SC_POLL___143 = 58,
    _SC_SELECT___143 = 59,
    _SC_UIO_MAXIOV___143 = 60,
    _SC_IOV_MAX___143 = 60,
    _SC_PII_INTERNET_STREAM___143 = 61,
    _SC_PII_INTERNET_DGRAM___143 = 62,
    _SC_PII_OSI_COTS___143 = 63,
    _SC_PII_OSI_CLTS___143 = 64,
    _SC_PII_OSI_M___143 = 65,
    _SC_T_IOV_MAX___143 = 66,
    _SC_THREADS___143 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___143 = 68,
    _SC_GETGR_R_SIZE_MAX___143 = 69,
    _SC_GETPW_R_SIZE_MAX___143 = 70,
    _SC_LOGIN_NAME_MAX___143 = 71,
    _SC_TTY_NAME_MAX___143 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___143 = 73,
    _SC_THREAD_KEYS_MAX___143 = 74,
    _SC_THREAD_STACK_MIN___143 = 75,
    _SC_THREAD_THREADS_MAX___143 = 76,
    _SC_THREAD_ATTR_STACKADDR___143 = 77,
    _SC_THREAD_ATTR_STACKSIZE___143 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___143 = 79,
    _SC_THREAD_PRIO_INHERIT___143 = 80,
    _SC_THREAD_PRIO_PROTECT___143 = 81,
    _SC_THREAD_PROCESS_SHARED___143 = 82,
    _SC_NPROCESSORS_CONF___143 = 83,
    _SC_NPROCESSORS_ONLN___143 = 84,
    _SC_PHYS_PAGES___143 = 85,
    _SC_AVPHYS_PAGES___143 = 86,
    _SC_ATEXIT_MAX___143 = 87,
    _SC_PASS_MAX___143 = 88,
    _SC_XOPEN_VERSION___143 = 89,
    _SC_XOPEN_XCU_VERSION___143 = 90,
    _SC_XOPEN_UNIX___143 = 91,
    _SC_XOPEN_CRYPT___143 = 92,
    _SC_XOPEN_ENH_I18N___143 = 93,
    _SC_XOPEN_SHM___143 = 94,
    _SC_2_CHAR_TERM___143 = 95,
    _SC_2_C_VERSION___143 = 96,
    _SC_2_UPE___143 = 97,
    _SC_XOPEN_XPG2___143 = 98,
    _SC_XOPEN_XPG3___143 = 99,
    _SC_XOPEN_XPG4___143 = 100,
    _SC_CHAR_BIT___143 = 101,
    _SC_CHAR_MAX___143 = 102,
    _SC_CHAR_MIN___143 = 103,
    _SC_INT_MAX___143 = 104,
    _SC_INT_MIN___143 = 105,
    _SC_LONG_BIT___143 = 106,
    _SC_WORD_BIT___143 = 107,
    _SC_MB_LEN_MAX___143 = 108,
    _SC_NZERO___143 = 109,
    _SC_SSIZE_MAX___143 = 110,
    _SC_SCHAR_MAX___143 = 111,
    _SC_SCHAR_MIN___143 = 112,
    _SC_SHRT_MAX___143 = 113,
    _SC_SHRT_MIN___143 = 114,
    _SC_UCHAR_MAX___143 = 115,
    _SC_UINT_MAX___143 = 116,
    _SC_ULONG_MAX___143 = 117,
    _SC_USHRT_MAX___143 = 118,
    _SC_NL_ARGMAX___143 = 119,
    _SC_NL_LANGMAX___143 = 120,
    _SC_NL_MSGMAX___143 = 121,
    _SC_NL_NMAX___143 = 122,
    _SC_NL_SETMAX___143 = 123,
    _SC_NL_TEXTMAX___143 = 124,
    _SC_XBS5_ILP32_OFF32___143 = 125,
    _SC_XBS5_ILP32_OFFBIG___143 = 126,
    _SC_XBS5_LP64_OFF64___143 = 127,
    _SC_XBS5_LPBIG_OFFBIG___143 = 128,
    _SC_XOPEN_LEGACY___143 = 129,
    _SC_XOPEN_REALTIME___143 = 130,
    _SC_XOPEN_REALTIME_THREADS___143 = 131,
    _SC_ADVISORY_INFO___143 = 132,
    _SC_BARRIERS___143 = 133,
    _SC_BASE___143 = 134,
    _SC_C_LANG_SUPPORT___143 = 135,
    _SC_C_LANG_SUPPORT_R___143 = 136,
    _SC_CLOCK_SELECTION___143 = 137,
    _SC_CPUTIME___143 = 138,
    _SC_THREAD_CPUTIME___143 = 139,
    _SC_DEVICE_IO___143 = 140,
    _SC_DEVICE_SPECIFIC___143 = 141,
    _SC_DEVICE_SPECIFIC_R___143 = 142,
    _SC_FD_MGMT___143 = 143,
    _SC_FIFO___143 = 144,
    _SC_PIPE___143 = 145,
    _SC_FILE_ATTRIBUTES___143 = 146,
    _SC_FILE_LOCKING___143 = 147,
    _SC_FILE_SYSTEM___143 = 148,
    _SC_MONOTONIC_CLOCK___143 = 149,
    _SC_MULTI_PROCESS___143 = 150,
    _SC_SINGLE_PROCESS___143 = 151,
    _SC_NETWORKING___143 = 152,
    _SC_READER_WRITER_LOCKS___143 = 153,
    _SC_SPIN_LOCKS___143 = 154,
    _SC_REGEXP___143 = 155,
    _SC_REGEX_VERSION___143 = 156,
    _SC_SHELL___143 = 157,
    _SC_SIGNALS___143 = 158,
    _SC_SPAWN___143 = 159,
    _SC_SPORADIC_SERVER___143 = 160,
    _SC_THREAD_SPORADIC_SERVER___143 = 161,
    _SC_SYSTEM_DATABASE___143 = 162,
    _SC_SYSTEM_DATABASE_R___143 = 163,
    _SC_TIMEOUTS___143 = 164,
    _SC_TYPED_MEMORY_OBJECTS___143 = 165,
    _SC_USER_GROUPS___143 = 166,
    _SC_USER_GROUPS_R___143 = 167,
    _SC_2_PBS___143 = 168,
    _SC_2_PBS_ACCOUNTING___143 = 169,
    _SC_2_PBS_LOCATE___143 = 170,
    _SC_2_PBS_MESSAGE___143 = 171,
    _SC_2_PBS_TRACK___143 = 172,
    _SC_SYMLOOP_MAX___143 = 173,
    _SC_STREAMS___143 = 174,
    _SC_2_PBS_CHECKPOINT___143 = 175,
    _SC_V6_ILP32_OFF32___143 = 176,
    _SC_V6_ILP32_OFFBIG___143 = 177,
    _SC_V6_LP64_OFF64___143 = 178,
    _SC_V6_LPBIG_OFFBIG___143 = 179,
    _SC_HOST_NAME_MAX___143 = 180,
    _SC_TRACE___143 = 181,
    _SC_TRACE_EVENT_FILTER___143 = 182,
    _SC_TRACE_INHERIT___143 = 183,
    _SC_TRACE_LOG___143 = 184,
    _SC_LEVEL1_ICACHE_SIZE___143 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___143 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___143 = 187,
    _SC_LEVEL1_DCACHE_SIZE___143 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___143 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___143 = 190,
    _SC_LEVEL2_CACHE_SIZE___143 = 191,
    _SC_LEVEL2_CACHE_ASSOC___143 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___143 = 193,
    _SC_LEVEL3_CACHE_SIZE___143 = 194,
    _SC_LEVEL3_CACHE_ASSOC___143 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___143 = 196,
    _SC_LEVEL4_CACHE_SIZE___143 = 197,
    _SC_LEVEL4_CACHE_ASSOC___143 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___143 = 199,
    _SC_IPV6___143 = 235,
    _SC_RAW_SOCKETS___143 = 236,
    _SC_V7_ILP32_OFF32___143 = 237,
    _SC_V7_ILP32_OFFBIG___143 = 238,
    _SC_V7_LP64_OFF64___143 = 239,
    _SC_V7_LPBIG_OFFBIG___143 = 240,
    _SC_SS_REPL_MAX___143 = 241,
    _SC_TRACE_EVENT_NAME_MAX___143 = 242,
    _SC_TRACE_NAME_MAX___143 = 243,
    _SC_TRACE_SYS_MAX___143 = 244,
    _SC_TRACE_USER_EVENT_MAX___143 = 245,
    _SC_XOPEN_STREAMS___143 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___143 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___143 = 248
} ;
enum __anonenum_875524036___143 {
    _CS_PATH___143 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___143 = 1,
    _CS_GNU_LIBC_VERSION___143 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___143 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___143 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___143 = 5,
    _CS_LFS_CFLAGS___143 = 1000,
    _CS_LFS_LDFLAGS___143 = 1001,
    _CS_LFS_LIBS___143 = 1002,
    _CS_LFS_LINTFLAGS___143 = 1003,
    _CS_LFS64_CFLAGS___143 = 1004,
    _CS_LFS64_LDFLAGS___143 = 1005,
    _CS_LFS64_LIBS___143 = 1006,
    _CS_LFS64_LINTFLAGS___143 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___143 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___143 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___143 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___143 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___143 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___143 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___143 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___143 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___143 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___143 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___143 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___143 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___143 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___143 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___143 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___143 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___143 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___143 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___143 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___143 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___143 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___143 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___143 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___143 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___143 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___143 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___143 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___143 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___143 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___143 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___143 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___143 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___143 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___143 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___143 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___143 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___143 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___143 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___143 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___143 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___143 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___143 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___143 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___143 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___143 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___143 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___143 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___143 = 1147,
    _CS_V6_ENV___143 = 1148,
    _CS_V7_ENV___143 = 1149
} ;
enum __anonenum_513775621___143 {
    DT_UNKNOWN___143 = 0,
    DT_FIFO___143 = 1,
    DT_CHR___143 = 2,
    DT_DIR___143 = 4,
    DT_BLK___143 = 6,
    DT_REG___143 = 8,
    DT_LNK___143 = 10,
    DT_SOCK___143 = 12,
    DT_WHT___143 = 14
} ;
enum __anonenum_77002343___143 {
    SI_ASYNCNL___143 = -60,
    SI_TKILL___143 = -6,
    SI_SIGIO___143 = -5,
    SI_ASYNCIO___143 = -4,
    SI_MESGQ___143 = -3,
    SI_TIMER___143 = -2,
    SI_QUEUE___143 = -1,
    SI_USER___143 = 0,
    SI_KERNEL___143 = 128
} ;
enum __anonenum_131038172___143 {
    ILL_ILLOPC___143 = 1,
    ILL_ILLOPN___143 = 2,
    ILL_ILLADR___143 = 3,
    ILL_ILLTRP___143 = 4,
    ILL_PRVOPC___143 = 5,
    ILL_PRVREG___143 = 6,
    ILL_COPROC___143 = 7,
    ILL_BADSTK___143 = 8
} ;
enum __anonenum_452038093___143 {
    FPE_INTDIV___143 = 1,
    FPE_INTOVF___143 = 2,
    FPE_FLTDIV___143 = 3,
    FPE_FLTOVF___143 = 4,
    FPE_FLTUND___143 = 5,
    FPE_FLTRES___143 = 6,
    FPE_FLTINV___143 = 7,
    FPE_FLTSUB___143 = 8
} ;
enum __anonenum_30976155___143 {
    SEGV_MAPERR___143 = 1,
    SEGV_ACCERR___143 = 2,
    SEGV_BNDERR___143 = 3,
    SEGV_PKUERR___143 = 4
} ;
enum __anonenum_1036286214___143 {
    BUS_ADRALN___143 = 1,
    BUS_ADRERR___143 = 2,
    BUS_OBJERR___143 = 3,
    BUS_MCEERR_AR___143 = 4,
    BUS_MCEERR_AO___143 = 5
} ;
enum __anonenum_493465559___143 {
    TRAP_BRKPT___143 = 1,
    TRAP_TRACE___143 = 2
} ;
enum __anonenum_23175539___143 {
    CLD_EXITED___143 = 1,
    CLD_KILLED___143 = 2,
    CLD_DUMPED___143 = 3,
    CLD_TRAPPED___143 = 4,
    CLD_STOPPED___143 = 5,
    CLD_CONTINUED___143 = 6
} ;
enum __anonenum_111643124___143 {
    POLL_IN___143 = 1,
    POLL_OUT___143 = 2,
    POLL_MSG___143 = 3,
    POLL_ERR___143 = 4,
    POLL_PRI___143 = 5,
    POLL_HUP___143 = 6
} ;
enum __anonenum_852341087___143 {
    SIGEV_SIGNAL___143 = 0,
    SIGEV_NONE___143 = 1,
    SIGEV_THREAD___143 = 2,
    SIGEV_THREAD_ID___143 = 4
} ;
enum __anonenum_451154152___143 {
    REG_R8___143 = 0,
    REG_R9___143 = 1,
    REG_R10___143 = 2,
    REG_R11___143 = 3,
    REG_R12___143 = 4,
    REG_R13___143 = 5,
    REG_R14___143 = 6,
    REG_R15___143 = 7,
    REG_RDI___143 = 8,
    REG_RSI___143 = 9,
    REG_RBP___143 = 10,
    REG_RBX___143 = 11,
    REG_RDX___143 = 12,
    REG_RAX___143 = 13,
    REG_RCX___143 = 14,
    REG_RSP___143 = 15,
    REG_RIP___143 = 16,
    REG_EFL___143 = 17,
    REG_CSGSFS___143 = 18,
    REG_ERR___143 = 19,
    REG_TRAPNO___143 = 20,
    REG_OLDMASK___143 = 21,
    REG_CR2___143 = 22
} ;
enum __anonenum_57186863___143 {
    SS_ONSTACK___143 = 1,
    SS_DISABLE___143 = 2
} ;
enum __anonenum_83571709___143 {
    MSG_OOB___143 = 1,
    MSG_PEEK___143 = 2,
    MSG_DONTROUTE___143 = 4,
    MSG_TRYHARD___143 = 4,
    MSG_CTRUNC___143 = 8,
    MSG_PROXY___143 = 16,
    MSG_TRUNC___143 = 32,
    MSG_DONTWAIT___143 = 64,
    MSG_EOR___143 = 128,
    MSG_WAITALL___143 = 256,
    MSG_FIN___143 = 512,
    MSG_SYN___143 = 1024,
    MSG_CONFIRM___143 = 2048,
    MSG_RST___143 = 4096,
    MSG_ERRQUEUE___143 = 8192,
    MSG_NOSIGNAL___143 = 16384,
    MSG_MORE___143 = 32768,
    MSG_WAITFORONE___143 = 65536,
    MSG_BATCH___143 = 262144,
    MSG_ZEROCOPY___143 = 67108864,
    MSG_FASTOPEN___143 = 536870912,
    MSG_CMSG_CLOEXEC___143 = 1073741824
} ;
enum __anonenum_617082774___143 {
    SCM_RIGHTS___143 = 1,
    SCM_CREDENTIALS___143 = 2
} ;
enum __anonenum_606441560___143 {
    SHUT_RD___143 = 0,
    SHUT_WR___143 = 1,
    SHUT_RDWR___143 = 2
} ;
enum __anonenum_681669233___143 {
    IPPROTO_IP___143 = 0,
    IPPROTO_ICMP___143 = 1,
    IPPROTO_IGMP___143 = 2,
    IPPROTO_IPIP___143 = 4,
    IPPROTO_TCP___143 = 6,
    IPPROTO_EGP___143 = 8,
    IPPROTO_PUP___143 = 12,
    IPPROTO_UDP___143 = 17,
    IPPROTO_IDP___143 = 22,
    IPPROTO_TP___143 = 29,
    IPPROTO_DCCP___143 = 33,
    IPPROTO_IPV6___143 = 41,
    IPPROTO_RSVP___143 = 46,
    IPPROTO_GRE___143 = 47,
    IPPROTO_ESP___143 = 50,
    IPPROTO_AH___143 = 51,
    IPPROTO_MTP___143 = 92,
    IPPROTO_BEETPH___143 = 94,
    IPPROTO_ENCAP___143 = 98,
    IPPROTO_PIM___143 = 103,
    IPPROTO_COMP___143 = 108,
    IPPROTO_SCTP___143 = 132,
    IPPROTO_UDPLITE___143 = 136,
    IPPROTO_MPLS___143 = 137,
    IPPROTO_RAW___143 = 255,
    IPPROTO_MAX___143 = 256
} ;
enum __anonenum_218739988___143 {
    IPPROTO_HOPOPTS___143 = 0,
    IPPROTO_ROUTING___143 = 43,
    IPPROTO_FRAGMENT___143 = 44,
    IPPROTO_ICMPV6___143 = 58,
    IPPROTO_NONE___143 = 59,
    IPPROTO_DSTOPTS___143 = 60,
    IPPROTO_MH___143 = 135
} ;
enum __anonenum_662268580___143 {
    IPPORT_ECHO___143 = 7,
    IPPORT_DISCARD___143 = 9,
    IPPORT_SYSTAT___143 = 11,
    IPPORT_DAYTIME___143 = 13,
    IPPORT_NETSTAT___143 = 15,
    IPPORT_FTP___143 = 21,
    IPPORT_TELNET___143 = 23,
    IPPORT_SMTP___143 = 25,
    IPPORT_TIMESERVER___143 = 37,
    IPPORT_NAMESERVER___143 = 42,
    IPPORT_WHOIS___143 = 43,
    IPPORT_MTP___143 = 57,
    IPPORT_TFTP___143 = 69,
    IPPORT_RJE___143 = 77,
    IPPORT_FINGER___143 = 79,
    IPPORT_TTYLINK___143 = 87,
    IPPORT_SUPDUP___143 = 95,
    IPPORT_EXECSERVER___143 = 512,
    IPPORT_LOGINSERVER___143 = 513,
    IPPORT_CMDSERVER___143 = 514,
    IPPORT_EFSSERVER___143 = 520,
    IPPORT_BIFFUDP___143 = 512,
    IPPORT_WHOSERVER___143 = 513,
    IPPORT_ROUTESERVER___143 = 520,
    IPPORT_RESERVED___143 = 1024,
    IPPORT_USERRESERVED___143 = 5000
} ;
enum __anonenum_788308992___143 {
    TCP_ESTABLISHED___143 = 1,
    TCP_SYN_SENT___143 = 2,
    TCP_SYN_RECV___143 = 3,
    TCP_FIN_WAIT1___143 = 4,
    TCP_FIN_WAIT2___143 = 5,
    TCP_TIME_WAIT___143 = 6,
    TCP_CLOSE___143 = 7,
    TCP_CLOSE_WAIT___143 = 8,
    TCP_LAST_ACK___143 = 9,
    TCP_LISTEN___143 = 10,
    TCP_CLOSING___143 = 11
} ;
enum __anonenum_221125648___143 {
    TCP_NO_QUEUE___143 = 0,
    TCP_RECV_QUEUE___143 = 1,
    TCP_SEND_QUEUE___143 = 2,
    TCP_QUEUES_NR___143 = 3
} ;
enum __anonenum_34415463___143 {
    PTHREAD_CREATE_JOINABLE___143 = 0,
    PTHREAD_CREATE_DETACHED___143 = 1
} ;
enum __anonenum_303612439___143 {
    PTHREAD_MUTEX_TIMED_NP___143 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___143 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___143 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___143 = 3,
    PTHREAD_MUTEX_NORMAL___143 = 0,
    PTHREAD_MUTEX_RECURSIVE___143 = 1,
    PTHREAD_MUTEX_ERRORCHECK___143 = 2,
    PTHREAD_MUTEX_DEFAULT___143 = 0,
    PTHREAD_MUTEX_FAST_NP___143 = 0
} ;
enum __anonenum_931900394___143 {
    PTHREAD_MUTEX_STALLED___143 = 0,
    PTHREAD_MUTEX_STALLED_NP___143 = 0,
    PTHREAD_MUTEX_ROBUST___143 = 1,
    PTHREAD_MUTEX_ROBUST_NP___143 = 1
} ;
enum __anonenum_205214487___143 {
    PTHREAD_PRIO_NONE___143 = 0,
    PTHREAD_PRIO_INHERIT___143 = 1,
    PTHREAD_PRIO_PROTECT___143 = 2
} ;
enum __anonenum_25043950___143 {
    PTHREAD_RWLOCK_PREFER_READER_NP___143 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___143 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___143 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___143 = 0
} ;
enum __anonenum_436439511___143 {
    PTHREAD_INHERIT_SCHED___143 = 0,
    PTHREAD_EXPLICIT_SCHED___143 = 1
} ;
enum __anonenum_998661166___143 {
    PTHREAD_SCOPE_SYSTEM___143 = 0,
    PTHREAD_SCOPE_PROCESS___143 = 1
} ;
enum __anonenum_146137331___143 {
    PTHREAD_PROCESS_PRIVATE___143 = 0,
    PTHREAD_PROCESS_SHARED___143 = 1
} ;
enum __anonenum_53396917___143 {
    PTHREAD_CANCEL_ENABLE___143 = 0,
    PTHREAD_CANCEL_DISABLE___143 = 1
} ;
enum __anonenum_904563783___143 {
    PTHREAD_CANCEL_DEFERRED___143 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___143 = 1
} ;
enum __anonenum_672052974___143 {
    SSL_CT_VALIDATION_PERMISSIVE___143 = 0,
    SSL_CT_VALIDATION_STRICT___143 = 1
} ;
enum __anonenum_437032235___144 {
    _PC_LINK_MAX___144 = 0,
    _PC_MAX_CANON___144 = 1,
    _PC_MAX_INPUT___144 = 2,
    _PC_NAME_MAX___144 = 3,
    _PC_PATH_MAX___144 = 4,
    _PC_PIPE_BUF___144 = 5,
    _PC_CHOWN_RESTRICTED___144 = 6,
    _PC_NO_TRUNC___144 = 7,
    _PC_VDISABLE___144 = 8,
    _PC_SYNC_IO___144 = 9,
    _PC_ASYNC_IO___144 = 10,
    _PC_PRIO_IO___144 = 11,
    _PC_SOCK_MAXBUF___144 = 12,
    _PC_FILESIZEBITS___144 = 13,
    _PC_REC_INCR_XFER_SIZE___144 = 14,
    _PC_REC_MAX_XFER_SIZE___144 = 15,
    _PC_REC_MIN_XFER_SIZE___144 = 16,
    _PC_REC_XFER_ALIGN___144 = 17,
    _PC_ALLOC_SIZE_MIN___144 = 18,
    _PC_SYMLINK_MAX___144 = 19,
    _PC_2_SYMLINKS___144 = 20
} ;
enum __anonenum_315186338___144 {
    _SC_ARG_MAX___144 = 0,
    _SC_CHILD_MAX___144 = 1,
    _SC_CLK_TCK___144 = 2,
    _SC_NGROUPS_MAX___144 = 3,
    _SC_OPEN_MAX___144 = 4,
    _SC_STREAM_MAX___144 = 5,
    _SC_TZNAME_MAX___144 = 6,
    _SC_JOB_CONTROL___144 = 7,
    _SC_SAVED_IDS___144 = 8,
    _SC_REALTIME_SIGNALS___144 = 9,
    _SC_PRIORITY_SCHEDULING___144 = 10,
    _SC_TIMERS___144 = 11,
    _SC_ASYNCHRONOUS_IO___144 = 12,
    _SC_PRIORITIZED_IO___144 = 13,
    _SC_SYNCHRONIZED_IO___144 = 14,
    _SC_FSYNC___144 = 15,
    _SC_MAPPED_FILES___144 = 16,
    _SC_MEMLOCK___144 = 17,
    _SC_MEMLOCK_RANGE___144 = 18,
    _SC_MEMORY_PROTECTION___144 = 19,
    _SC_MESSAGE_PASSING___144 = 20,
    _SC_SEMAPHORES___144 = 21,
    _SC_SHARED_MEMORY_OBJECTS___144 = 22,
    _SC_AIO_LISTIO_MAX___144 = 23,
    _SC_AIO_MAX___144 = 24,
    _SC_AIO_PRIO_DELTA_MAX___144 = 25,
    _SC_DELAYTIMER_MAX___144 = 26,
    _SC_MQ_OPEN_MAX___144 = 27,
    _SC_MQ_PRIO_MAX___144 = 28,
    _SC_VERSION___144 = 29,
    _SC_PAGESIZE___144 = 30,
    _SC_RTSIG_MAX___144 = 31,
    _SC_SEM_NSEMS_MAX___144 = 32,
    _SC_SEM_VALUE_MAX___144 = 33,
    _SC_SIGQUEUE_MAX___144 = 34,
    _SC_TIMER_MAX___144 = 35,
    _SC_BC_BASE_MAX___144 = 36,
    _SC_BC_DIM_MAX___144 = 37,
    _SC_BC_SCALE_MAX___144 = 38,
    _SC_BC_STRING_MAX___144 = 39,
    _SC_COLL_WEIGHTS_MAX___144 = 40,
    _SC_EQUIV_CLASS_MAX___144 = 41,
    _SC_EXPR_NEST_MAX___144 = 42,
    _SC_LINE_MAX___144 = 43,
    _SC_RE_DUP_MAX___144 = 44,
    _SC_CHARCLASS_NAME_MAX___144 = 45,
    _SC_2_VERSION___144 = 46,
    _SC_2_C_BIND___144 = 47,
    _SC_2_C_DEV___144 = 48,
    _SC_2_FORT_DEV___144 = 49,
    _SC_2_FORT_RUN___144 = 50,
    _SC_2_SW_DEV___144 = 51,
    _SC_2_LOCALEDEF___144 = 52,
    _SC_PII___144 = 53,
    _SC_PII_XTI___144 = 54,
    _SC_PII_SOCKET___144 = 55,
    _SC_PII_INTERNET___144 = 56,
    _SC_PII_OSI___144 = 57,
    _SC_POLL___144 = 58,
    _SC_SELECT___144 = 59,
    _SC_UIO_MAXIOV___144 = 60,
    _SC_IOV_MAX___144 = 60,
    _SC_PII_INTERNET_STREAM___144 = 61,
    _SC_PII_INTERNET_DGRAM___144 = 62,
    _SC_PII_OSI_COTS___144 = 63,
    _SC_PII_OSI_CLTS___144 = 64,
    _SC_PII_OSI_M___144 = 65,
    _SC_T_IOV_MAX___144 = 66,
    _SC_THREADS___144 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___144 = 68,
    _SC_GETGR_R_SIZE_MAX___144 = 69,
    _SC_GETPW_R_SIZE_MAX___144 = 70,
    _SC_LOGIN_NAME_MAX___144 = 71,
    _SC_TTY_NAME_MAX___144 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___144 = 73,
    _SC_THREAD_KEYS_MAX___144 = 74,
    _SC_THREAD_STACK_MIN___144 = 75,
    _SC_THREAD_THREADS_MAX___144 = 76,
    _SC_THREAD_ATTR_STACKADDR___144 = 77,
    _SC_THREAD_ATTR_STACKSIZE___144 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___144 = 79,
    _SC_THREAD_PRIO_INHERIT___144 = 80,
    _SC_THREAD_PRIO_PROTECT___144 = 81,
    _SC_THREAD_PROCESS_SHARED___144 = 82,
    _SC_NPROCESSORS_CONF___144 = 83,
    _SC_NPROCESSORS_ONLN___144 = 84,
    _SC_PHYS_PAGES___144 = 85,
    _SC_AVPHYS_PAGES___144 = 86,
    _SC_ATEXIT_MAX___144 = 87,
    _SC_PASS_MAX___144 = 88,
    _SC_XOPEN_VERSION___144 = 89,
    _SC_XOPEN_XCU_VERSION___144 = 90,
    _SC_XOPEN_UNIX___144 = 91,
    _SC_XOPEN_CRYPT___144 = 92,
    _SC_XOPEN_ENH_I18N___144 = 93,
    _SC_XOPEN_SHM___144 = 94,
    _SC_2_CHAR_TERM___144 = 95,
    _SC_2_C_VERSION___144 = 96,
    _SC_2_UPE___144 = 97,
    _SC_XOPEN_XPG2___144 = 98,
    _SC_XOPEN_XPG3___144 = 99,
    _SC_XOPEN_XPG4___144 = 100,
    _SC_CHAR_BIT___144 = 101,
    _SC_CHAR_MAX___144 = 102,
    _SC_CHAR_MIN___144 = 103,
    _SC_INT_MAX___144 = 104,
    _SC_INT_MIN___144 = 105,
    _SC_LONG_BIT___144 = 106,
    _SC_WORD_BIT___144 = 107,
    _SC_MB_LEN_MAX___144 = 108,
    _SC_NZERO___144 = 109,
    _SC_SSIZE_MAX___144 = 110,
    _SC_SCHAR_MAX___144 = 111,
    _SC_SCHAR_MIN___144 = 112,
    _SC_SHRT_MAX___144 = 113,
    _SC_SHRT_MIN___144 = 114,
    _SC_UCHAR_MAX___144 = 115,
    _SC_UINT_MAX___144 = 116,
    _SC_ULONG_MAX___144 = 117,
    _SC_USHRT_MAX___144 = 118,
    _SC_NL_ARGMAX___144 = 119,
    _SC_NL_LANGMAX___144 = 120,
    _SC_NL_MSGMAX___144 = 121,
    _SC_NL_NMAX___144 = 122,
    _SC_NL_SETMAX___144 = 123,
    _SC_NL_TEXTMAX___144 = 124,
    _SC_XBS5_ILP32_OFF32___144 = 125,
    _SC_XBS5_ILP32_OFFBIG___144 = 126,
    _SC_XBS5_LP64_OFF64___144 = 127,
    _SC_XBS5_LPBIG_OFFBIG___144 = 128,
    _SC_XOPEN_LEGACY___144 = 129,
    _SC_XOPEN_REALTIME___144 = 130,
    _SC_XOPEN_REALTIME_THREADS___144 = 131,
    _SC_ADVISORY_INFO___144 = 132,
    _SC_BARRIERS___144 = 133,
    _SC_BASE___144 = 134,
    _SC_C_LANG_SUPPORT___144 = 135,
    _SC_C_LANG_SUPPORT_R___144 = 136,
    _SC_CLOCK_SELECTION___144 = 137,
    _SC_CPUTIME___144 = 138,
    _SC_THREAD_CPUTIME___144 = 139,
    _SC_DEVICE_IO___144 = 140,
    _SC_DEVICE_SPECIFIC___144 = 141,
    _SC_DEVICE_SPECIFIC_R___144 = 142,
    _SC_FD_MGMT___144 = 143,
    _SC_FIFO___144 = 144,
    _SC_PIPE___144 = 145,
    _SC_FILE_ATTRIBUTES___144 = 146,
    _SC_FILE_LOCKING___144 = 147,
    _SC_FILE_SYSTEM___144 = 148,
    _SC_MONOTONIC_CLOCK___144 = 149,
    _SC_MULTI_PROCESS___144 = 150,
    _SC_SINGLE_PROCESS___144 = 151,
    _SC_NETWORKING___144 = 152,
    _SC_READER_WRITER_LOCKS___144 = 153,
    _SC_SPIN_LOCKS___144 = 154,
    _SC_REGEXP___144 = 155,
    _SC_REGEX_VERSION___144 = 156,
    _SC_SHELL___144 = 157,
    _SC_SIGNALS___144 = 158,
    _SC_SPAWN___144 = 159,
    _SC_SPORADIC_SERVER___144 = 160,
    _SC_THREAD_SPORADIC_SERVER___144 = 161,
    _SC_SYSTEM_DATABASE___144 = 162,
    _SC_SYSTEM_DATABASE_R___144 = 163,
    _SC_TIMEOUTS___144 = 164,
    _SC_TYPED_MEMORY_OBJECTS___144 = 165,
    _SC_USER_GROUPS___144 = 166,
    _SC_USER_GROUPS_R___144 = 167,
    _SC_2_PBS___144 = 168,
    _SC_2_PBS_ACCOUNTING___144 = 169,
    _SC_2_PBS_LOCATE___144 = 170,
    _SC_2_PBS_MESSAGE___144 = 171,
    _SC_2_PBS_TRACK___144 = 172,
    _SC_SYMLOOP_MAX___144 = 173,
    _SC_STREAMS___144 = 174,
    _SC_2_PBS_CHECKPOINT___144 = 175,
    _SC_V6_ILP32_OFF32___144 = 176,
    _SC_V6_ILP32_OFFBIG___144 = 177,
    _SC_V6_LP64_OFF64___144 = 178,
    _SC_V6_LPBIG_OFFBIG___144 = 179,
    _SC_HOST_NAME_MAX___144 = 180,
    _SC_TRACE___144 = 181,
    _SC_TRACE_EVENT_FILTER___144 = 182,
    _SC_TRACE_INHERIT___144 = 183,
    _SC_TRACE_LOG___144 = 184,
    _SC_LEVEL1_ICACHE_SIZE___144 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___144 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___144 = 187,
    _SC_LEVEL1_DCACHE_SIZE___144 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___144 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___144 = 190,
    _SC_LEVEL2_CACHE_SIZE___144 = 191,
    _SC_LEVEL2_CACHE_ASSOC___144 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___144 = 193,
    _SC_LEVEL3_CACHE_SIZE___144 = 194,
    _SC_LEVEL3_CACHE_ASSOC___144 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___144 = 196,
    _SC_LEVEL4_CACHE_SIZE___144 = 197,
    _SC_LEVEL4_CACHE_ASSOC___144 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___144 = 199,
    _SC_IPV6___144 = 235,
    _SC_RAW_SOCKETS___144 = 236,
    _SC_V7_ILP32_OFF32___144 = 237,
    _SC_V7_ILP32_OFFBIG___144 = 238,
    _SC_V7_LP64_OFF64___144 = 239,
    _SC_V7_LPBIG_OFFBIG___144 = 240,
    _SC_SS_REPL_MAX___144 = 241,
    _SC_TRACE_EVENT_NAME_MAX___144 = 242,
    _SC_TRACE_NAME_MAX___144 = 243,
    _SC_TRACE_SYS_MAX___144 = 244,
    _SC_TRACE_USER_EVENT_MAX___144 = 245,
    _SC_XOPEN_STREAMS___144 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___144 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___144 = 248
} ;
enum __anonenum_875524036___144 {
    _CS_PATH___144 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___144 = 1,
    _CS_GNU_LIBC_VERSION___144 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___144 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___144 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___144 = 5,
    _CS_LFS_CFLAGS___144 = 1000,
    _CS_LFS_LDFLAGS___144 = 1001,
    _CS_LFS_LIBS___144 = 1002,
    _CS_LFS_LINTFLAGS___144 = 1003,
    _CS_LFS64_CFLAGS___144 = 1004,
    _CS_LFS64_LDFLAGS___144 = 1005,
    _CS_LFS64_LIBS___144 = 1006,
    _CS_LFS64_LINTFLAGS___144 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___144 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___144 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___144 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___144 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___144 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___144 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___144 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___144 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___144 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___144 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___144 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___144 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___144 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___144 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___144 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___144 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___144 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___144 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___144 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___144 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___144 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___144 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___144 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___144 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___144 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___144 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___144 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___144 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___144 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___144 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___144 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___144 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___144 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___144 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___144 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___144 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___144 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___144 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___144 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___144 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___144 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___144 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___144 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___144 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___144 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___144 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___144 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___144 = 1147,
    _CS_V6_ENV___144 = 1148,
    _CS_V7_ENV___144 = 1149
} ;
enum __anonenum_513775621___144 {
    DT_UNKNOWN___144 = 0,
    DT_FIFO___144 = 1,
    DT_CHR___144 = 2,
    DT_DIR___144 = 4,
    DT_BLK___144 = 6,
    DT_REG___144 = 8,
    DT_LNK___144 = 10,
    DT_SOCK___144 = 12,
    DT_WHT___144 = 14
} ;
enum __anonenum_77002343___144 {
    SI_ASYNCNL___144 = -60,
    SI_TKILL___144 = -6,
    SI_SIGIO___144 = -5,
    SI_ASYNCIO___144 = -4,
    SI_MESGQ___144 = -3,
    SI_TIMER___144 = -2,
    SI_QUEUE___144 = -1,
    SI_USER___144 = 0,
    SI_KERNEL___144 = 128
} ;
enum __anonenum_131038172___144 {
    ILL_ILLOPC___144 = 1,
    ILL_ILLOPN___144 = 2,
    ILL_ILLADR___144 = 3,
    ILL_ILLTRP___144 = 4,
    ILL_PRVOPC___144 = 5,
    ILL_PRVREG___144 = 6,
    ILL_COPROC___144 = 7,
    ILL_BADSTK___144 = 8
} ;
enum __anonenum_452038093___144 {
    FPE_INTDIV___144 = 1,
    FPE_INTOVF___144 = 2,
    FPE_FLTDIV___144 = 3,
    FPE_FLTOVF___144 = 4,
    FPE_FLTUND___144 = 5,
    FPE_FLTRES___144 = 6,
    FPE_FLTINV___144 = 7,
    FPE_FLTSUB___144 = 8
} ;
enum __anonenum_30976155___144 {
    SEGV_MAPERR___144 = 1,
    SEGV_ACCERR___144 = 2,
    SEGV_BNDERR___144 = 3,
    SEGV_PKUERR___144 = 4
} ;
enum __anonenum_1036286214___144 {
    BUS_ADRALN___144 = 1,
    BUS_ADRERR___144 = 2,
    BUS_OBJERR___144 = 3,
    BUS_MCEERR_AR___144 = 4,
    BUS_MCEERR_AO___144 = 5
} ;
enum __anonenum_493465559___144 {
    TRAP_BRKPT___144 = 1,
    TRAP_TRACE___144 = 2
} ;
enum __anonenum_23175539___144 {
    CLD_EXITED___144 = 1,
    CLD_KILLED___144 = 2,
    CLD_DUMPED___144 = 3,
    CLD_TRAPPED___144 = 4,
    CLD_STOPPED___144 = 5,
    CLD_CONTINUED___144 = 6
} ;
enum __anonenum_111643124___144 {
    POLL_IN___144 = 1,
    POLL_OUT___144 = 2,
    POLL_MSG___144 = 3,
    POLL_ERR___144 = 4,
    POLL_PRI___144 = 5,
    POLL_HUP___144 = 6
} ;
enum __anonenum_852341087___144 {
    SIGEV_SIGNAL___144 = 0,
    SIGEV_NONE___144 = 1,
    SIGEV_THREAD___144 = 2,
    SIGEV_THREAD_ID___144 = 4
} ;
enum __anonenum_451154152___144 {
    REG_R8___144 = 0,
    REG_R9___144 = 1,
    REG_R10___144 = 2,
    REG_R11___144 = 3,
    REG_R12___144 = 4,
    REG_R13___144 = 5,
    REG_R14___144 = 6,
    REG_R15___144 = 7,
    REG_RDI___144 = 8,
    REG_RSI___144 = 9,
    REG_RBP___144 = 10,
    REG_RBX___144 = 11,
    REG_RDX___144 = 12,
    REG_RAX___144 = 13,
    REG_RCX___144 = 14,
    REG_RSP___144 = 15,
    REG_RIP___144 = 16,
    REG_EFL___144 = 17,
    REG_CSGSFS___144 = 18,
    REG_ERR___144 = 19,
    REG_TRAPNO___144 = 20,
    REG_OLDMASK___144 = 21,
    REG_CR2___144 = 22
} ;
enum __anonenum_57186863___144 {
    SS_ONSTACK___144 = 1,
    SS_DISABLE___144 = 2
} ;
enum __anonenum_83571709___144 {
    MSG_OOB___144 = 1,
    MSG_PEEK___144 = 2,
    MSG_DONTROUTE___144 = 4,
    MSG_TRYHARD___144 = 4,
    MSG_CTRUNC___144 = 8,
    MSG_PROXY___144 = 16,
    MSG_TRUNC___144 = 32,
    MSG_DONTWAIT___144 = 64,
    MSG_EOR___144 = 128,
    MSG_WAITALL___144 = 256,
    MSG_FIN___144 = 512,
    MSG_SYN___144 = 1024,
    MSG_CONFIRM___144 = 2048,
    MSG_RST___144 = 4096,
    MSG_ERRQUEUE___144 = 8192,
    MSG_NOSIGNAL___144 = 16384,
    MSG_MORE___144 = 32768,
    MSG_WAITFORONE___144 = 65536,
    MSG_BATCH___144 = 262144,
    MSG_ZEROCOPY___144 = 67108864,
    MSG_FASTOPEN___144 = 536870912,
    MSG_CMSG_CLOEXEC___144 = 1073741824
} ;
enum __anonenum_617082774___144 {
    SCM_RIGHTS___144 = 1,
    SCM_CREDENTIALS___144 = 2
} ;
enum __anonenum_606441560___144 {
    SHUT_RD___144 = 0,
    SHUT_WR___144 = 1,
    SHUT_RDWR___144 = 2
} ;
enum __anonenum_681669233___144 {
    IPPROTO_IP___144 = 0,
    IPPROTO_ICMP___144 = 1,
    IPPROTO_IGMP___144 = 2,
    IPPROTO_IPIP___144 = 4,
    IPPROTO_TCP___144 = 6,
    IPPROTO_EGP___144 = 8,
    IPPROTO_PUP___144 = 12,
    IPPROTO_UDP___144 = 17,
    IPPROTO_IDP___144 = 22,
    IPPROTO_TP___144 = 29,
    IPPROTO_DCCP___144 = 33,
    IPPROTO_IPV6___144 = 41,
    IPPROTO_RSVP___144 = 46,
    IPPROTO_GRE___144 = 47,
    IPPROTO_ESP___144 = 50,
    IPPROTO_AH___144 = 51,
    IPPROTO_MTP___144 = 92,
    IPPROTO_BEETPH___144 = 94,
    IPPROTO_ENCAP___144 = 98,
    IPPROTO_PIM___144 = 103,
    IPPROTO_COMP___144 = 108,
    IPPROTO_SCTP___144 = 132,
    IPPROTO_UDPLITE___144 = 136,
    IPPROTO_MPLS___144 = 137,
    IPPROTO_RAW___144 = 255,
    IPPROTO_MAX___144 = 256
} ;
enum __anonenum_218739988___144 {
    IPPROTO_HOPOPTS___144 = 0,
    IPPROTO_ROUTING___144 = 43,
    IPPROTO_FRAGMENT___144 = 44,
    IPPROTO_ICMPV6___144 = 58,
    IPPROTO_NONE___144 = 59,
    IPPROTO_DSTOPTS___144 = 60,
    IPPROTO_MH___144 = 135
} ;
enum __anonenum_662268580___144 {
    IPPORT_ECHO___144 = 7,
    IPPORT_DISCARD___144 = 9,
    IPPORT_SYSTAT___144 = 11,
    IPPORT_DAYTIME___144 = 13,
    IPPORT_NETSTAT___144 = 15,
    IPPORT_FTP___144 = 21,
    IPPORT_TELNET___144 = 23,
    IPPORT_SMTP___144 = 25,
    IPPORT_TIMESERVER___144 = 37,
    IPPORT_NAMESERVER___144 = 42,
    IPPORT_WHOIS___144 = 43,
    IPPORT_MTP___144 = 57,
    IPPORT_TFTP___144 = 69,
    IPPORT_RJE___144 = 77,
    IPPORT_FINGER___144 = 79,
    IPPORT_TTYLINK___144 = 87,
    IPPORT_SUPDUP___144 = 95,
    IPPORT_EXECSERVER___144 = 512,
    IPPORT_LOGINSERVER___144 = 513,
    IPPORT_CMDSERVER___144 = 514,
    IPPORT_EFSSERVER___144 = 520,
    IPPORT_BIFFUDP___144 = 512,
    IPPORT_WHOSERVER___144 = 513,
    IPPORT_ROUTESERVER___144 = 520,
    IPPORT_RESERVED___144 = 1024,
    IPPORT_USERRESERVED___144 = 5000
} ;
enum __anonenum_788308992___144 {
    TCP_ESTABLISHED___144 = 1,
    TCP_SYN_SENT___144 = 2,
    TCP_SYN_RECV___144 = 3,
    TCP_FIN_WAIT1___144 = 4,
    TCP_FIN_WAIT2___144 = 5,
    TCP_TIME_WAIT___144 = 6,
    TCP_CLOSE___144 = 7,
    TCP_CLOSE_WAIT___144 = 8,
    TCP_LAST_ACK___144 = 9,
    TCP_LISTEN___144 = 10,
    TCP_CLOSING___144 = 11
} ;
enum __anonenum_221125648___144 {
    TCP_NO_QUEUE___144 = 0,
    TCP_RECV_QUEUE___144 = 1,
    TCP_SEND_QUEUE___144 = 2,
    TCP_QUEUES_NR___144 = 3
} ;
enum __anonenum_34415463___144 {
    PTHREAD_CREATE_JOINABLE___144 = 0,
    PTHREAD_CREATE_DETACHED___144 = 1
} ;
enum __anonenum_303612439___144 {
    PTHREAD_MUTEX_TIMED_NP___144 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___144 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___144 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___144 = 3,
    PTHREAD_MUTEX_NORMAL___144 = 0,
    PTHREAD_MUTEX_RECURSIVE___144 = 1,
    PTHREAD_MUTEX_ERRORCHECK___144 = 2,
    PTHREAD_MUTEX_DEFAULT___144 = 0,
    PTHREAD_MUTEX_FAST_NP___144 = 0
} ;
enum __anonenum_931900394___144 {
    PTHREAD_MUTEX_STALLED___144 = 0,
    PTHREAD_MUTEX_STALLED_NP___144 = 0,
    PTHREAD_MUTEX_ROBUST___144 = 1,
    PTHREAD_MUTEX_ROBUST_NP___144 = 1
} ;
enum __anonenum_205214487___144 {
    PTHREAD_PRIO_NONE___144 = 0,
    PTHREAD_PRIO_INHERIT___144 = 1,
    PTHREAD_PRIO_PROTECT___144 = 2
} ;
enum __anonenum_25043950___144 {
    PTHREAD_RWLOCK_PREFER_READER_NP___144 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___144 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___144 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___144 = 0
} ;
enum __anonenum_436439511___144 {
    PTHREAD_INHERIT_SCHED___144 = 0,
    PTHREAD_EXPLICIT_SCHED___144 = 1
} ;
enum __anonenum_998661166___144 {
    PTHREAD_SCOPE_SYSTEM___144 = 0,
    PTHREAD_SCOPE_PROCESS___144 = 1
} ;
enum __anonenum_146137331___144 {
    PTHREAD_PROCESS_PRIVATE___144 = 0,
    PTHREAD_PROCESS_SHARED___144 = 1
} ;
enum __anonenum_53396917___144 {
    PTHREAD_CANCEL_ENABLE___144 = 0,
    PTHREAD_CANCEL_DISABLE___144 = 1
} ;
enum __anonenum_904563783___144 {
    PTHREAD_CANCEL_DEFERRED___144 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___144 = 1
} ;
enum __anonenum_672052974___144 {
    SSL_CT_VALIDATION_PERMISSIVE___144 = 0,
    SSL_CT_VALIDATION_STRICT___144 = 1
} ;
enum __anonenum_437032235___145 {
    _PC_LINK_MAX___145 = 0,
    _PC_MAX_CANON___145 = 1,
    _PC_MAX_INPUT___145 = 2,
    _PC_NAME_MAX___145 = 3,
    _PC_PATH_MAX___145 = 4,
    _PC_PIPE_BUF___145 = 5,
    _PC_CHOWN_RESTRICTED___145 = 6,
    _PC_NO_TRUNC___145 = 7,
    _PC_VDISABLE___145 = 8,
    _PC_SYNC_IO___145 = 9,
    _PC_ASYNC_IO___145 = 10,
    _PC_PRIO_IO___145 = 11,
    _PC_SOCK_MAXBUF___145 = 12,
    _PC_FILESIZEBITS___145 = 13,
    _PC_REC_INCR_XFER_SIZE___145 = 14,
    _PC_REC_MAX_XFER_SIZE___145 = 15,
    _PC_REC_MIN_XFER_SIZE___145 = 16,
    _PC_REC_XFER_ALIGN___145 = 17,
    _PC_ALLOC_SIZE_MIN___145 = 18,
    _PC_SYMLINK_MAX___145 = 19,
    _PC_2_SYMLINKS___145 = 20
} ;
enum __anonenum_315186338___145 {
    _SC_ARG_MAX___145 = 0,
    _SC_CHILD_MAX___145 = 1,
    _SC_CLK_TCK___145 = 2,
    _SC_NGROUPS_MAX___145 = 3,
    _SC_OPEN_MAX___145 = 4,
    _SC_STREAM_MAX___145 = 5,
    _SC_TZNAME_MAX___145 = 6,
    _SC_JOB_CONTROL___145 = 7,
    _SC_SAVED_IDS___145 = 8,
    _SC_REALTIME_SIGNALS___145 = 9,
    _SC_PRIORITY_SCHEDULING___145 = 10,
    _SC_TIMERS___145 = 11,
    _SC_ASYNCHRONOUS_IO___145 = 12,
    _SC_PRIORITIZED_IO___145 = 13,
    _SC_SYNCHRONIZED_IO___145 = 14,
    _SC_FSYNC___145 = 15,
    _SC_MAPPED_FILES___145 = 16,
    _SC_MEMLOCK___145 = 17,
    _SC_MEMLOCK_RANGE___145 = 18,
    _SC_MEMORY_PROTECTION___145 = 19,
    _SC_MESSAGE_PASSING___145 = 20,
    _SC_SEMAPHORES___145 = 21,
    _SC_SHARED_MEMORY_OBJECTS___145 = 22,
    _SC_AIO_LISTIO_MAX___145 = 23,
    _SC_AIO_MAX___145 = 24,
    _SC_AIO_PRIO_DELTA_MAX___145 = 25,
    _SC_DELAYTIMER_MAX___145 = 26,
    _SC_MQ_OPEN_MAX___145 = 27,
    _SC_MQ_PRIO_MAX___145 = 28,
    _SC_VERSION___145 = 29,
    _SC_PAGESIZE___145 = 30,
    _SC_RTSIG_MAX___145 = 31,
    _SC_SEM_NSEMS_MAX___145 = 32,
    _SC_SEM_VALUE_MAX___145 = 33,
    _SC_SIGQUEUE_MAX___145 = 34,
    _SC_TIMER_MAX___145 = 35,
    _SC_BC_BASE_MAX___145 = 36,
    _SC_BC_DIM_MAX___145 = 37,
    _SC_BC_SCALE_MAX___145 = 38,
    _SC_BC_STRING_MAX___145 = 39,
    _SC_COLL_WEIGHTS_MAX___145 = 40,
    _SC_EQUIV_CLASS_MAX___145 = 41,
    _SC_EXPR_NEST_MAX___145 = 42,
    _SC_LINE_MAX___145 = 43,
    _SC_RE_DUP_MAX___145 = 44,
    _SC_CHARCLASS_NAME_MAX___145 = 45,
    _SC_2_VERSION___145 = 46,
    _SC_2_C_BIND___145 = 47,
    _SC_2_C_DEV___145 = 48,
    _SC_2_FORT_DEV___145 = 49,
    _SC_2_FORT_RUN___145 = 50,
    _SC_2_SW_DEV___145 = 51,
    _SC_2_LOCALEDEF___145 = 52,
    _SC_PII___145 = 53,
    _SC_PII_XTI___145 = 54,
    _SC_PII_SOCKET___145 = 55,
    _SC_PII_INTERNET___145 = 56,
    _SC_PII_OSI___145 = 57,
    _SC_POLL___145 = 58,
    _SC_SELECT___145 = 59,
    _SC_UIO_MAXIOV___145 = 60,
    _SC_IOV_MAX___145 = 60,
    _SC_PII_INTERNET_STREAM___145 = 61,
    _SC_PII_INTERNET_DGRAM___145 = 62,
    _SC_PII_OSI_COTS___145 = 63,
    _SC_PII_OSI_CLTS___145 = 64,
    _SC_PII_OSI_M___145 = 65,
    _SC_T_IOV_MAX___145 = 66,
    _SC_THREADS___145 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___145 = 68,
    _SC_GETGR_R_SIZE_MAX___145 = 69,
    _SC_GETPW_R_SIZE_MAX___145 = 70,
    _SC_LOGIN_NAME_MAX___145 = 71,
    _SC_TTY_NAME_MAX___145 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___145 = 73,
    _SC_THREAD_KEYS_MAX___145 = 74,
    _SC_THREAD_STACK_MIN___145 = 75,
    _SC_THREAD_THREADS_MAX___145 = 76,
    _SC_THREAD_ATTR_STACKADDR___145 = 77,
    _SC_THREAD_ATTR_STACKSIZE___145 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___145 = 79,
    _SC_THREAD_PRIO_INHERIT___145 = 80,
    _SC_THREAD_PRIO_PROTECT___145 = 81,
    _SC_THREAD_PROCESS_SHARED___145 = 82,
    _SC_NPROCESSORS_CONF___145 = 83,
    _SC_NPROCESSORS_ONLN___145 = 84,
    _SC_PHYS_PAGES___145 = 85,
    _SC_AVPHYS_PAGES___145 = 86,
    _SC_ATEXIT_MAX___145 = 87,
    _SC_PASS_MAX___145 = 88,
    _SC_XOPEN_VERSION___145 = 89,
    _SC_XOPEN_XCU_VERSION___145 = 90,
    _SC_XOPEN_UNIX___145 = 91,
    _SC_XOPEN_CRYPT___145 = 92,
    _SC_XOPEN_ENH_I18N___145 = 93,
    _SC_XOPEN_SHM___145 = 94,
    _SC_2_CHAR_TERM___145 = 95,
    _SC_2_C_VERSION___145 = 96,
    _SC_2_UPE___145 = 97,
    _SC_XOPEN_XPG2___145 = 98,
    _SC_XOPEN_XPG3___145 = 99,
    _SC_XOPEN_XPG4___145 = 100,
    _SC_CHAR_BIT___145 = 101,
    _SC_CHAR_MAX___145 = 102,
    _SC_CHAR_MIN___145 = 103,
    _SC_INT_MAX___145 = 104,
    _SC_INT_MIN___145 = 105,
    _SC_LONG_BIT___145 = 106,
    _SC_WORD_BIT___145 = 107,
    _SC_MB_LEN_MAX___145 = 108,
    _SC_NZERO___145 = 109,
    _SC_SSIZE_MAX___145 = 110,
    _SC_SCHAR_MAX___145 = 111,
    _SC_SCHAR_MIN___145 = 112,
    _SC_SHRT_MAX___145 = 113,
    _SC_SHRT_MIN___145 = 114,
    _SC_UCHAR_MAX___145 = 115,
    _SC_UINT_MAX___145 = 116,
    _SC_ULONG_MAX___145 = 117,
    _SC_USHRT_MAX___145 = 118,
    _SC_NL_ARGMAX___145 = 119,
    _SC_NL_LANGMAX___145 = 120,
    _SC_NL_MSGMAX___145 = 121,
    _SC_NL_NMAX___145 = 122,
    _SC_NL_SETMAX___145 = 123,
    _SC_NL_TEXTMAX___145 = 124,
    _SC_XBS5_ILP32_OFF32___145 = 125,
    _SC_XBS5_ILP32_OFFBIG___145 = 126,
    _SC_XBS5_LP64_OFF64___145 = 127,
    _SC_XBS5_LPBIG_OFFBIG___145 = 128,
    _SC_XOPEN_LEGACY___145 = 129,
    _SC_XOPEN_REALTIME___145 = 130,
    _SC_XOPEN_REALTIME_THREADS___145 = 131,
    _SC_ADVISORY_INFO___145 = 132,
    _SC_BARRIERS___145 = 133,
    _SC_BASE___145 = 134,
    _SC_C_LANG_SUPPORT___145 = 135,
    _SC_C_LANG_SUPPORT_R___145 = 136,
    _SC_CLOCK_SELECTION___145 = 137,
    _SC_CPUTIME___145 = 138,
    _SC_THREAD_CPUTIME___145 = 139,
    _SC_DEVICE_IO___145 = 140,
    _SC_DEVICE_SPECIFIC___145 = 141,
    _SC_DEVICE_SPECIFIC_R___145 = 142,
    _SC_FD_MGMT___145 = 143,
    _SC_FIFO___145 = 144,
    _SC_PIPE___145 = 145,
    _SC_FILE_ATTRIBUTES___145 = 146,
    _SC_FILE_LOCKING___145 = 147,
    _SC_FILE_SYSTEM___145 = 148,
    _SC_MONOTONIC_CLOCK___145 = 149,
    _SC_MULTI_PROCESS___145 = 150,
    _SC_SINGLE_PROCESS___145 = 151,
    _SC_NETWORKING___145 = 152,
    _SC_READER_WRITER_LOCKS___145 = 153,
    _SC_SPIN_LOCKS___145 = 154,
    _SC_REGEXP___145 = 155,
    _SC_REGEX_VERSION___145 = 156,
    _SC_SHELL___145 = 157,
    _SC_SIGNALS___145 = 158,
    _SC_SPAWN___145 = 159,
    _SC_SPORADIC_SERVER___145 = 160,
    _SC_THREAD_SPORADIC_SERVER___145 = 161,
    _SC_SYSTEM_DATABASE___145 = 162,
    _SC_SYSTEM_DATABASE_R___145 = 163,
    _SC_TIMEOUTS___145 = 164,
    _SC_TYPED_MEMORY_OBJECTS___145 = 165,
    _SC_USER_GROUPS___145 = 166,
    _SC_USER_GROUPS_R___145 = 167,
    _SC_2_PBS___145 = 168,
    _SC_2_PBS_ACCOUNTING___145 = 169,
    _SC_2_PBS_LOCATE___145 = 170,
    _SC_2_PBS_MESSAGE___145 = 171,
    _SC_2_PBS_TRACK___145 = 172,
    _SC_SYMLOOP_MAX___145 = 173,
    _SC_STREAMS___145 = 174,
    _SC_2_PBS_CHECKPOINT___145 = 175,
    _SC_V6_ILP32_OFF32___145 = 176,
    _SC_V6_ILP32_OFFBIG___145 = 177,
    _SC_V6_LP64_OFF64___145 = 178,
    _SC_V6_LPBIG_OFFBIG___145 = 179,
    _SC_HOST_NAME_MAX___145 = 180,
    _SC_TRACE___145 = 181,
    _SC_TRACE_EVENT_FILTER___145 = 182,
    _SC_TRACE_INHERIT___145 = 183,
    _SC_TRACE_LOG___145 = 184,
    _SC_LEVEL1_ICACHE_SIZE___145 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___145 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___145 = 187,
    _SC_LEVEL1_DCACHE_SIZE___145 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___145 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___145 = 190,
    _SC_LEVEL2_CACHE_SIZE___145 = 191,
    _SC_LEVEL2_CACHE_ASSOC___145 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___145 = 193,
    _SC_LEVEL3_CACHE_SIZE___145 = 194,
    _SC_LEVEL3_CACHE_ASSOC___145 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___145 = 196,
    _SC_LEVEL4_CACHE_SIZE___145 = 197,
    _SC_LEVEL4_CACHE_ASSOC___145 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___145 = 199,
    _SC_IPV6___145 = 235,
    _SC_RAW_SOCKETS___145 = 236,
    _SC_V7_ILP32_OFF32___145 = 237,
    _SC_V7_ILP32_OFFBIG___145 = 238,
    _SC_V7_LP64_OFF64___145 = 239,
    _SC_V7_LPBIG_OFFBIG___145 = 240,
    _SC_SS_REPL_MAX___145 = 241,
    _SC_TRACE_EVENT_NAME_MAX___145 = 242,
    _SC_TRACE_NAME_MAX___145 = 243,
    _SC_TRACE_SYS_MAX___145 = 244,
    _SC_TRACE_USER_EVENT_MAX___145 = 245,
    _SC_XOPEN_STREAMS___145 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___145 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___145 = 248
} ;
enum __anonenum_875524036___145 {
    _CS_PATH___145 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___145 = 1,
    _CS_GNU_LIBC_VERSION___145 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___145 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___145 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___145 = 5,
    _CS_LFS_CFLAGS___145 = 1000,
    _CS_LFS_LDFLAGS___145 = 1001,
    _CS_LFS_LIBS___145 = 1002,
    _CS_LFS_LINTFLAGS___145 = 1003,
    _CS_LFS64_CFLAGS___145 = 1004,
    _CS_LFS64_LDFLAGS___145 = 1005,
    _CS_LFS64_LIBS___145 = 1006,
    _CS_LFS64_LINTFLAGS___145 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___145 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___145 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___145 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___145 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___145 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___145 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___145 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___145 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___145 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___145 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___145 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___145 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___145 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___145 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___145 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___145 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___145 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___145 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___145 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___145 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___145 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___145 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___145 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___145 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___145 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___145 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___145 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___145 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___145 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___145 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___145 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___145 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___145 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___145 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___145 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___145 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___145 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___145 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___145 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___145 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___145 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___145 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___145 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___145 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___145 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___145 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___145 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___145 = 1147,
    _CS_V6_ENV___145 = 1148,
    _CS_V7_ENV___145 = 1149
} ;
enum __anonenum_513775621___145 {
    DT_UNKNOWN___145 = 0,
    DT_FIFO___145 = 1,
    DT_CHR___145 = 2,
    DT_DIR___145 = 4,
    DT_BLK___145 = 6,
    DT_REG___145 = 8,
    DT_LNK___145 = 10,
    DT_SOCK___145 = 12,
    DT_WHT___145 = 14
} ;
enum __anonenum_77002343___145 {
    SI_ASYNCNL___145 = -60,
    SI_TKILL___145 = -6,
    SI_SIGIO___145 = -5,
    SI_ASYNCIO___145 = -4,
    SI_MESGQ___145 = -3,
    SI_TIMER___145 = -2,
    SI_QUEUE___145 = -1,
    SI_USER___145 = 0,
    SI_KERNEL___145 = 128
} ;
enum __anonenum_131038172___145 {
    ILL_ILLOPC___145 = 1,
    ILL_ILLOPN___145 = 2,
    ILL_ILLADR___145 = 3,
    ILL_ILLTRP___145 = 4,
    ILL_PRVOPC___145 = 5,
    ILL_PRVREG___145 = 6,
    ILL_COPROC___145 = 7,
    ILL_BADSTK___145 = 8
} ;
enum __anonenum_452038093___145 {
    FPE_INTDIV___145 = 1,
    FPE_INTOVF___145 = 2,
    FPE_FLTDIV___145 = 3,
    FPE_FLTOVF___145 = 4,
    FPE_FLTUND___145 = 5,
    FPE_FLTRES___145 = 6,
    FPE_FLTINV___145 = 7,
    FPE_FLTSUB___145 = 8
} ;
enum __anonenum_30976155___145 {
    SEGV_MAPERR___145 = 1,
    SEGV_ACCERR___145 = 2,
    SEGV_BNDERR___145 = 3,
    SEGV_PKUERR___145 = 4
} ;
enum __anonenum_1036286214___145 {
    BUS_ADRALN___145 = 1,
    BUS_ADRERR___145 = 2,
    BUS_OBJERR___145 = 3,
    BUS_MCEERR_AR___145 = 4,
    BUS_MCEERR_AO___145 = 5
} ;
enum __anonenum_493465559___145 {
    TRAP_BRKPT___145 = 1,
    TRAP_TRACE___145 = 2
} ;
enum __anonenum_23175539___145 {
    CLD_EXITED___145 = 1,
    CLD_KILLED___145 = 2,
    CLD_DUMPED___145 = 3,
    CLD_TRAPPED___145 = 4,
    CLD_STOPPED___145 = 5,
    CLD_CONTINUED___145 = 6
} ;
enum __anonenum_111643124___145 {
    POLL_IN___145 = 1,
    POLL_OUT___145 = 2,
    POLL_MSG___145 = 3,
    POLL_ERR___145 = 4,
    POLL_PRI___145 = 5,
    POLL_HUP___145 = 6
} ;
enum __anonenum_852341087___145 {
    SIGEV_SIGNAL___145 = 0,
    SIGEV_NONE___145 = 1,
    SIGEV_THREAD___145 = 2,
    SIGEV_THREAD_ID___145 = 4
} ;
enum __anonenum_451154152___145 {
    REG_R8___145 = 0,
    REG_R9___145 = 1,
    REG_R10___145 = 2,
    REG_R11___145 = 3,
    REG_R12___145 = 4,
    REG_R13___145 = 5,
    REG_R14___145 = 6,
    REG_R15___145 = 7,
    REG_RDI___145 = 8,
    REG_RSI___145 = 9,
    REG_RBP___145 = 10,
    REG_RBX___145 = 11,
    REG_RDX___145 = 12,
    REG_RAX___145 = 13,
    REG_RCX___145 = 14,
    REG_RSP___145 = 15,
    REG_RIP___145 = 16,
    REG_EFL___145 = 17,
    REG_CSGSFS___145 = 18,
    REG_ERR___145 = 19,
    REG_TRAPNO___145 = 20,
    REG_OLDMASK___145 = 21,
    REG_CR2___145 = 22
} ;
enum __anonenum_57186863___145 {
    SS_ONSTACK___145 = 1,
    SS_DISABLE___145 = 2
} ;
enum __anonenum_83571709___145 {
    MSG_OOB___145 = 1,
    MSG_PEEK___145 = 2,
    MSG_DONTROUTE___145 = 4,
    MSG_TRYHARD___145 = 4,
    MSG_CTRUNC___145 = 8,
    MSG_PROXY___145 = 16,
    MSG_TRUNC___145 = 32,
    MSG_DONTWAIT___145 = 64,
    MSG_EOR___145 = 128,
    MSG_WAITALL___145 = 256,
    MSG_FIN___145 = 512,
    MSG_SYN___145 = 1024,
    MSG_CONFIRM___145 = 2048,
    MSG_RST___145 = 4096,
    MSG_ERRQUEUE___145 = 8192,
    MSG_NOSIGNAL___145 = 16384,
    MSG_MORE___145 = 32768,
    MSG_WAITFORONE___145 = 65536,
    MSG_BATCH___145 = 262144,
    MSG_ZEROCOPY___145 = 67108864,
    MSG_FASTOPEN___145 = 536870912,
    MSG_CMSG_CLOEXEC___145 = 1073741824
} ;
enum __anonenum_617082774___145 {
    SCM_RIGHTS___145 = 1,
    SCM_CREDENTIALS___145 = 2
} ;
enum __anonenum_606441560___145 {
    SHUT_RD___145 = 0,
    SHUT_WR___145 = 1,
    SHUT_RDWR___145 = 2
} ;
enum __anonenum_681669233___145 {
    IPPROTO_IP___145 = 0,
    IPPROTO_ICMP___145 = 1,
    IPPROTO_IGMP___145 = 2,
    IPPROTO_IPIP___145 = 4,
    IPPROTO_TCP___145 = 6,
    IPPROTO_EGP___145 = 8,
    IPPROTO_PUP___145 = 12,
    IPPROTO_UDP___145 = 17,
    IPPROTO_IDP___145 = 22,
    IPPROTO_TP___145 = 29,
    IPPROTO_DCCP___145 = 33,
    IPPROTO_IPV6___145 = 41,
    IPPROTO_RSVP___145 = 46,
    IPPROTO_GRE___145 = 47,
    IPPROTO_ESP___145 = 50,
    IPPROTO_AH___145 = 51,
    IPPROTO_MTP___145 = 92,
    IPPROTO_BEETPH___145 = 94,
    IPPROTO_ENCAP___145 = 98,
    IPPROTO_PIM___145 = 103,
    IPPROTO_COMP___145 = 108,
    IPPROTO_SCTP___145 = 132,
    IPPROTO_UDPLITE___145 = 136,
    IPPROTO_MPLS___145 = 137,
    IPPROTO_RAW___145 = 255,
    IPPROTO_MAX___145 = 256
} ;
enum __anonenum_218739988___145 {
    IPPROTO_HOPOPTS___145 = 0,
    IPPROTO_ROUTING___145 = 43,
    IPPROTO_FRAGMENT___145 = 44,
    IPPROTO_ICMPV6___145 = 58,
    IPPROTO_NONE___145 = 59,
    IPPROTO_DSTOPTS___145 = 60,
    IPPROTO_MH___145 = 135
} ;
enum __anonenum_662268580___145 {
    IPPORT_ECHO___145 = 7,
    IPPORT_DISCARD___145 = 9,
    IPPORT_SYSTAT___145 = 11,
    IPPORT_DAYTIME___145 = 13,
    IPPORT_NETSTAT___145 = 15,
    IPPORT_FTP___145 = 21,
    IPPORT_TELNET___145 = 23,
    IPPORT_SMTP___145 = 25,
    IPPORT_TIMESERVER___145 = 37,
    IPPORT_NAMESERVER___145 = 42,
    IPPORT_WHOIS___145 = 43,
    IPPORT_MTP___145 = 57,
    IPPORT_TFTP___145 = 69,
    IPPORT_RJE___145 = 77,
    IPPORT_FINGER___145 = 79,
    IPPORT_TTYLINK___145 = 87,
    IPPORT_SUPDUP___145 = 95,
    IPPORT_EXECSERVER___145 = 512,
    IPPORT_LOGINSERVER___145 = 513,
    IPPORT_CMDSERVER___145 = 514,
    IPPORT_EFSSERVER___145 = 520,
    IPPORT_BIFFUDP___145 = 512,
    IPPORT_WHOSERVER___145 = 513,
    IPPORT_ROUTESERVER___145 = 520,
    IPPORT_RESERVED___145 = 1024,
    IPPORT_USERRESERVED___145 = 5000
} ;
enum __anonenum_788308992___145 {
    TCP_ESTABLISHED___145 = 1,
    TCP_SYN_SENT___145 = 2,
    TCP_SYN_RECV___145 = 3,
    TCP_FIN_WAIT1___145 = 4,
    TCP_FIN_WAIT2___145 = 5,
    TCP_TIME_WAIT___145 = 6,
    TCP_CLOSE___145 = 7,
    TCP_CLOSE_WAIT___145 = 8,
    TCP_LAST_ACK___145 = 9,
    TCP_LISTEN___145 = 10,
    TCP_CLOSING___145 = 11
} ;
enum __anonenum_221125648___145 {
    TCP_NO_QUEUE___145 = 0,
    TCP_RECV_QUEUE___145 = 1,
    TCP_SEND_QUEUE___145 = 2,
    TCP_QUEUES_NR___145 = 3
} ;
enum __anonenum_34415463___145 {
    PTHREAD_CREATE_JOINABLE___145 = 0,
    PTHREAD_CREATE_DETACHED___145 = 1
} ;
enum __anonenum_303612439___145 {
    PTHREAD_MUTEX_TIMED_NP___145 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___145 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___145 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___145 = 3,
    PTHREAD_MUTEX_NORMAL___145 = 0,
    PTHREAD_MUTEX_RECURSIVE___145 = 1,
    PTHREAD_MUTEX_ERRORCHECK___145 = 2,
    PTHREAD_MUTEX_DEFAULT___145 = 0,
    PTHREAD_MUTEX_FAST_NP___145 = 0
} ;
enum __anonenum_931900394___145 {
    PTHREAD_MUTEX_STALLED___145 = 0,
    PTHREAD_MUTEX_STALLED_NP___145 = 0,
    PTHREAD_MUTEX_ROBUST___145 = 1,
    PTHREAD_MUTEX_ROBUST_NP___145 = 1
} ;
enum __anonenum_205214487___145 {
    PTHREAD_PRIO_NONE___145 = 0,
    PTHREAD_PRIO_INHERIT___145 = 1,
    PTHREAD_PRIO_PROTECT___145 = 2
} ;
enum __anonenum_25043950___145 {
    PTHREAD_RWLOCK_PREFER_READER_NP___145 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___145 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___145 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___145 = 0
} ;
enum __anonenum_436439511___145 {
    PTHREAD_INHERIT_SCHED___145 = 0,
    PTHREAD_EXPLICIT_SCHED___145 = 1
} ;
enum __anonenum_998661166___145 {
    PTHREAD_SCOPE_SYSTEM___145 = 0,
    PTHREAD_SCOPE_PROCESS___145 = 1
} ;
enum __anonenum_146137331___145 {
    PTHREAD_PROCESS_PRIVATE___145 = 0,
    PTHREAD_PROCESS_SHARED___145 = 1
} ;
enum __anonenum_53396917___145 {
    PTHREAD_CANCEL_ENABLE___145 = 0,
    PTHREAD_CANCEL_DISABLE___145 = 1
} ;
enum __anonenum_904563783___145 {
    PTHREAD_CANCEL_DEFERRED___145 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___145 = 1
} ;
enum __anonenum_672052974___145 {
    SSL_CT_VALIDATION_PERMISSIVE___145 = 0,
    SSL_CT_VALIDATION_STRICT___145 = 1
} ;
struct requested_info {
   unsigned int size : 1 ;
};
enum __anonenum_437032235___146 {
    _PC_LINK_MAX___146 = 0,
    _PC_MAX_CANON___146 = 1,
    _PC_MAX_INPUT___146 = 2,
    _PC_NAME_MAX___146 = 3,
    _PC_PATH_MAX___146 = 4,
    _PC_PIPE_BUF___146 = 5,
    _PC_CHOWN_RESTRICTED___146 = 6,
    _PC_NO_TRUNC___146 = 7,
    _PC_VDISABLE___146 = 8,
    _PC_SYNC_IO___146 = 9,
    _PC_ASYNC_IO___146 = 10,
    _PC_PRIO_IO___146 = 11,
    _PC_SOCK_MAXBUF___146 = 12,
    _PC_FILESIZEBITS___146 = 13,
    _PC_REC_INCR_XFER_SIZE___146 = 14,
    _PC_REC_MAX_XFER_SIZE___146 = 15,
    _PC_REC_MIN_XFER_SIZE___146 = 16,
    _PC_REC_XFER_ALIGN___146 = 17,
    _PC_ALLOC_SIZE_MIN___146 = 18,
    _PC_SYMLINK_MAX___146 = 19,
    _PC_2_SYMLINKS___146 = 20
} ;
enum __anonenum_315186338___146 {
    _SC_ARG_MAX___146 = 0,
    _SC_CHILD_MAX___146 = 1,
    _SC_CLK_TCK___146 = 2,
    _SC_NGROUPS_MAX___146 = 3,
    _SC_OPEN_MAX___146 = 4,
    _SC_STREAM_MAX___146 = 5,
    _SC_TZNAME_MAX___146 = 6,
    _SC_JOB_CONTROL___146 = 7,
    _SC_SAVED_IDS___146 = 8,
    _SC_REALTIME_SIGNALS___146 = 9,
    _SC_PRIORITY_SCHEDULING___146 = 10,
    _SC_TIMERS___146 = 11,
    _SC_ASYNCHRONOUS_IO___146 = 12,
    _SC_PRIORITIZED_IO___146 = 13,
    _SC_SYNCHRONIZED_IO___146 = 14,
    _SC_FSYNC___146 = 15,
    _SC_MAPPED_FILES___146 = 16,
    _SC_MEMLOCK___146 = 17,
    _SC_MEMLOCK_RANGE___146 = 18,
    _SC_MEMORY_PROTECTION___146 = 19,
    _SC_MESSAGE_PASSING___146 = 20,
    _SC_SEMAPHORES___146 = 21,
    _SC_SHARED_MEMORY_OBJECTS___146 = 22,
    _SC_AIO_LISTIO_MAX___146 = 23,
    _SC_AIO_MAX___146 = 24,
    _SC_AIO_PRIO_DELTA_MAX___146 = 25,
    _SC_DELAYTIMER_MAX___146 = 26,
    _SC_MQ_OPEN_MAX___146 = 27,
    _SC_MQ_PRIO_MAX___146 = 28,
    _SC_VERSION___146 = 29,
    _SC_PAGESIZE___146 = 30,
    _SC_RTSIG_MAX___146 = 31,
    _SC_SEM_NSEMS_MAX___146 = 32,
    _SC_SEM_VALUE_MAX___146 = 33,
    _SC_SIGQUEUE_MAX___146 = 34,
    _SC_TIMER_MAX___146 = 35,
    _SC_BC_BASE_MAX___146 = 36,
    _SC_BC_DIM_MAX___146 = 37,
    _SC_BC_SCALE_MAX___146 = 38,
    _SC_BC_STRING_MAX___146 = 39,
    _SC_COLL_WEIGHTS_MAX___146 = 40,
    _SC_EQUIV_CLASS_MAX___146 = 41,
    _SC_EXPR_NEST_MAX___146 = 42,
    _SC_LINE_MAX___146 = 43,
    _SC_RE_DUP_MAX___146 = 44,
    _SC_CHARCLASS_NAME_MAX___146 = 45,
    _SC_2_VERSION___146 = 46,
    _SC_2_C_BIND___146 = 47,
    _SC_2_C_DEV___146 = 48,
    _SC_2_FORT_DEV___146 = 49,
    _SC_2_FORT_RUN___146 = 50,
    _SC_2_SW_DEV___146 = 51,
    _SC_2_LOCALEDEF___146 = 52,
    _SC_PII___146 = 53,
    _SC_PII_XTI___146 = 54,
    _SC_PII_SOCKET___146 = 55,
    _SC_PII_INTERNET___146 = 56,
    _SC_PII_OSI___146 = 57,
    _SC_POLL___146 = 58,
    _SC_SELECT___146 = 59,
    _SC_UIO_MAXIOV___146 = 60,
    _SC_IOV_MAX___146 = 60,
    _SC_PII_INTERNET_STREAM___146 = 61,
    _SC_PII_INTERNET_DGRAM___146 = 62,
    _SC_PII_OSI_COTS___146 = 63,
    _SC_PII_OSI_CLTS___146 = 64,
    _SC_PII_OSI_M___146 = 65,
    _SC_T_IOV_MAX___146 = 66,
    _SC_THREADS___146 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___146 = 68,
    _SC_GETGR_R_SIZE_MAX___146 = 69,
    _SC_GETPW_R_SIZE_MAX___146 = 70,
    _SC_LOGIN_NAME_MAX___146 = 71,
    _SC_TTY_NAME_MAX___146 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___146 = 73,
    _SC_THREAD_KEYS_MAX___146 = 74,
    _SC_THREAD_STACK_MIN___146 = 75,
    _SC_THREAD_THREADS_MAX___146 = 76,
    _SC_THREAD_ATTR_STACKADDR___146 = 77,
    _SC_THREAD_ATTR_STACKSIZE___146 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___146 = 79,
    _SC_THREAD_PRIO_INHERIT___146 = 80,
    _SC_THREAD_PRIO_PROTECT___146 = 81,
    _SC_THREAD_PROCESS_SHARED___146 = 82,
    _SC_NPROCESSORS_CONF___146 = 83,
    _SC_NPROCESSORS_ONLN___146 = 84,
    _SC_PHYS_PAGES___146 = 85,
    _SC_AVPHYS_PAGES___146 = 86,
    _SC_ATEXIT_MAX___146 = 87,
    _SC_PASS_MAX___146 = 88,
    _SC_XOPEN_VERSION___146 = 89,
    _SC_XOPEN_XCU_VERSION___146 = 90,
    _SC_XOPEN_UNIX___146 = 91,
    _SC_XOPEN_CRYPT___146 = 92,
    _SC_XOPEN_ENH_I18N___146 = 93,
    _SC_XOPEN_SHM___146 = 94,
    _SC_2_CHAR_TERM___146 = 95,
    _SC_2_C_VERSION___146 = 96,
    _SC_2_UPE___146 = 97,
    _SC_XOPEN_XPG2___146 = 98,
    _SC_XOPEN_XPG3___146 = 99,
    _SC_XOPEN_XPG4___146 = 100,
    _SC_CHAR_BIT___146 = 101,
    _SC_CHAR_MAX___146 = 102,
    _SC_CHAR_MIN___146 = 103,
    _SC_INT_MAX___146 = 104,
    _SC_INT_MIN___146 = 105,
    _SC_LONG_BIT___146 = 106,
    _SC_WORD_BIT___146 = 107,
    _SC_MB_LEN_MAX___146 = 108,
    _SC_NZERO___146 = 109,
    _SC_SSIZE_MAX___146 = 110,
    _SC_SCHAR_MAX___146 = 111,
    _SC_SCHAR_MIN___146 = 112,
    _SC_SHRT_MAX___146 = 113,
    _SC_SHRT_MIN___146 = 114,
    _SC_UCHAR_MAX___146 = 115,
    _SC_UINT_MAX___146 = 116,
    _SC_ULONG_MAX___146 = 117,
    _SC_USHRT_MAX___146 = 118,
    _SC_NL_ARGMAX___146 = 119,
    _SC_NL_LANGMAX___146 = 120,
    _SC_NL_MSGMAX___146 = 121,
    _SC_NL_NMAX___146 = 122,
    _SC_NL_SETMAX___146 = 123,
    _SC_NL_TEXTMAX___146 = 124,
    _SC_XBS5_ILP32_OFF32___146 = 125,
    _SC_XBS5_ILP32_OFFBIG___146 = 126,
    _SC_XBS5_LP64_OFF64___146 = 127,
    _SC_XBS5_LPBIG_OFFBIG___146 = 128,
    _SC_XOPEN_LEGACY___146 = 129,
    _SC_XOPEN_REALTIME___146 = 130,
    _SC_XOPEN_REALTIME_THREADS___146 = 131,
    _SC_ADVISORY_INFO___146 = 132,
    _SC_BARRIERS___146 = 133,
    _SC_BASE___146 = 134,
    _SC_C_LANG_SUPPORT___146 = 135,
    _SC_C_LANG_SUPPORT_R___146 = 136,
    _SC_CLOCK_SELECTION___146 = 137,
    _SC_CPUTIME___146 = 138,
    _SC_THREAD_CPUTIME___146 = 139,
    _SC_DEVICE_IO___146 = 140,
    _SC_DEVICE_SPECIFIC___146 = 141,
    _SC_DEVICE_SPECIFIC_R___146 = 142,
    _SC_FD_MGMT___146 = 143,
    _SC_FIFO___146 = 144,
    _SC_PIPE___146 = 145,
    _SC_FILE_ATTRIBUTES___146 = 146,
    _SC_FILE_LOCKING___146 = 147,
    _SC_FILE_SYSTEM___146 = 148,
    _SC_MONOTONIC_CLOCK___146 = 149,
    _SC_MULTI_PROCESS___146 = 150,
    _SC_SINGLE_PROCESS___146 = 151,
    _SC_NETWORKING___146 = 152,
    _SC_READER_WRITER_LOCKS___146 = 153,
    _SC_SPIN_LOCKS___146 = 154,
    _SC_REGEXP___146 = 155,
    _SC_REGEX_VERSION___146 = 156,
    _SC_SHELL___146 = 157,
    _SC_SIGNALS___146 = 158,
    _SC_SPAWN___146 = 159,
    _SC_SPORADIC_SERVER___146 = 160,
    _SC_THREAD_SPORADIC_SERVER___146 = 161,
    _SC_SYSTEM_DATABASE___146 = 162,
    _SC_SYSTEM_DATABASE_R___146 = 163,
    _SC_TIMEOUTS___146 = 164,
    _SC_TYPED_MEMORY_OBJECTS___146 = 165,
    _SC_USER_GROUPS___146 = 166,
    _SC_USER_GROUPS_R___146 = 167,
    _SC_2_PBS___146 = 168,
    _SC_2_PBS_ACCOUNTING___146 = 169,
    _SC_2_PBS_LOCATE___146 = 170,
    _SC_2_PBS_MESSAGE___146 = 171,
    _SC_2_PBS_TRACK___146 = 172,
    _SC_SYMLOOP_MAX___146 = 173,
    _SC_STREAMS___146 = 174,
    _SC_2_PBS_CHECKPOINT___146 = 175,
    _SC_V6_ILP32_OFF32___146 = 176,
    _SC_V6_ILP32_OFFBIG___146 = 177,
    _SC_V6_LP64_OFF64___146 = 178,
    _SC_V6_LPBIG_OFFBIG___146 = 179,
    _SC_HOST_NAME_MAX___146 = 180,
    _SC_TRACE___146 = 181,
    _SC_TRACE_EVENT_FILTER___146 = 182,
    _SC_TRACE_INHERIT___146 = 183,
    _SC_TRACE_LOG___146 = 184,
    _SC_LEVEL1_ICACHE_SIZE___146 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___146 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___146 = 187,
    _SC_LEVEL1_DCACHE_SIZE___146 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___146 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___146 = 190,
    _SC_LEVEL2_CACHE_SIZE___146 = 191,
    _SC_LEVEL2_CACHE_ASSOC___146 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___146 = 193,
    _SC_LEVEL3_CACHE_SIZE___146 = 194,
    _SC_LEVEL3_CACHE_ASSOC___146 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___146 = 196,
    _SC_LEVEL4_CACHE_SIZE___146 = 197,
    _SC_LEVEL4_CACHE_ASSOC___146 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___146 = 199,
    _SC_IPV6___146 = 235,
    _SC_RAW_SOCKETS___146 = 236,
    _SC_V7_ILP32_OFF32___146 = 237,
    _SC_V7_ILP32_OFFBIG___146 = 238,
    _SC_V7_LP64_OFF64___146 = 239,
    _SC_V7_LPBIG_OFFBIG___146 = 240,
    _SC_SS_REPL_MAX___146 = 241,
    _SC_TRACE_EVENT_NAME_MAX___146 = 242,
    _SC_TRACE_NAME_MAX___146 = 243,
    _SC_TRACE_SYS_MAX___146 = 244,
    _SC_TRACE_USER_EVENT_MAX___146 = 245,
    _SC_XOPEN_STREAMS___146 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___146 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___146 = 248
} ;
enum __anonenum_875524036___146 {
    _CS_PATH___146 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___146 = 1,
    _CS_GNU_LIBC_VERSION___146 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___146 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___146 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___146 = 5,
    _CS_LFS_CFLAGS___146 = 1000,
    _CS_LFS_LDFLAGS___146 = 1001,
    _CS_LFS_LIBS___146 = 1002,
    _CS_LFS_LINTFLAGS___146 = 1003,
    _CS_LFS64_CFLAGS___146 = 1004,
    _CS_LFS64_LDFLAGS___146 = 1005,
    _CS_LFS64_LIBS___146 = 1006,
    _CS_LFS64_LINTFLAGS___146 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___146 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___146 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___146 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___146 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___146 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___146 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___146 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___146 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___146 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___146 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___146 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___146 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___146 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___146 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___146 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___146 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___146 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___146 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___146 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___146 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___146 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___146 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___146 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___146 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___146 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___146 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___146 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___146 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___146 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___146 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___146 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___146 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___146 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___146 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___146 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___146 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___146 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___146 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___146 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___146 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___146 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___146 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___146 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___146 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___146 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___146 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___146 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___146 = 1147,
    _CS_V6_ENV___146 = 1148,
    _CS_V7_ENV___146 = 1149
} ;
enum __anonenum_513775621___146 {
    DT_UNKNOWN___146 = 0,
    DT_FIFO___146 = 1,
    DT_CHR___146 = 2,
    DT_DIR___146 = 4,
    DT_BLK___146 = 6,
    DT_REG___146 = 8,
    DT_LNK___146 = 10,
    DT_SOCK___146 = 12,
    DT_WHT___146 = 14
} ;
enum __anonenum_77002343___146 {
    SI_ASYNCNL___146 = -60,
    SI_TKILL___146 = -6,
    SI_SIGIO___146 = -5,
    SI_ASYNCIO___146 = -4,
    SI_MESGQ___146 = -3,
    SI_TIMER___146 = -2,
    SI_QUEUE___146 = -1,
    SI_USER___146 = 0,
    SI_KERNEL___146 = 128
} ;
enum __anonenum_131038172___146 {
    ILL_ILLOPC___146 = 1,
    ILL_ILLOPN___146 = 2,
    ILL_ILLADR___146 = 3,
    ILL_ILLTRP___146 = 4,
    ILL_PRVOPC___146 = 5,
    ILL_PRVREG___146 = 6,
    ILL_COPROC___146 = 7,
    ILL_BADSTK___146 = 8
} ;
enum __anonenum_452038093___146 {
    FPE_INTDIV___146 = 1,
    FPE_INTOVF___146 = 2,
    FPE_FLTDIV___146 = 3,
    FPE_FLTOVF___146 = 4,
    FPE_FLTUND___146 = 5,
    FPE_FLTRES___146 = 6,
    FPE_FLTINV___146 = 7,
    FPE_FLTSUB___146 = 8
} ;
enum __anonenum_30976155___146 {
    SEGV_MAPERR___146 = 1,
    SEGV_ACCERR___146 = 2,
    SEGV_BNDERR___146 = 3,
    SEGV_PKUERR___146 = 4
} ;
enum __anonenum_1036286214___146 {
    BUS_ADRALN___146 = 1,
    BUS_ADRERR___146 = 2,
    BUS_OBJERR___146 = 3,
    BUS_MCEERR_AR___146 = 4,
    BUS_MCEERR_AO___146 = 5
} ;
enum __anonenum_493465559___146 {
    TRAP_BRKPT___146 = 1,
    TRAP_TRACE___146 = 2
} ;
enum __anonenum_23175539___146 {
    CLD_EXITED___146 = 1,
    CLD_KILLED___146 = 2,
    CLD_DUMPED___146 = 3,
    CLD_TRAPPED___146 = 4,
    CLD_STOPPED___146 = 5,
    CLD_CONTINUED___146 = 6
} ;
enum __anonenum_111643124___146 {
    POLL_IN___146 = 1,
    POLL_OUT___146 = 2,
    POLL_MSG___146 = 3,
    POLL_ERR___146 = 4,
    POLL_PRI___146 = 5,
    POLL_HUP___146 = 6
} ;
enum __anonenum_852341087___146 {
    SIGEV_SIGNAL___146 = 0,
    SIGEV_NONE___146 = 1,
    SIGEV_THREAD___146 = 2,
    SIGEV_THREAD_ID___146 = 4
} ;
enum __anonenum_451154152___146 {
    REG_R8___146 = 0,
    REG_R9___146 = 1,
    REG_R10___146 = 2,
    REG_R11___146 = 3,
    REG_R12___146 = 4,
    REG_R13___146 = 5,
    REG_R14___146 = 6,
    REG_R15___146 = 7,
    REG_RDI___146 = 8,
    REG_RSI___146 = 9,
    REG_RBP___146 = 10,
    REG_RBX___146 = 11,
    REG_RDX___146 = 12,
    REG_RAX___146 = 13,
    REG_RCX___146 = 14,
    REG_RSP___146 = 15,
    REG_RIP___146 = 16,
    REG_EFL___146 = 17,
    REG_CSGSFS___146 = 18,
    REG_ERR___146 = 19,
    REG_TRAPNO___146 = 20,
    REG_OLDMASK___146 = 21,
    REG_CR2___146 = 22
} ;
enum __anonenum_57186863___146 {
    SS_ONSTACK___146 = 1,
    SS_DISABLE___146 = 2
} ;
enum __anonenum_83571709___146 {
    MSG_OOB___146 = 1,
    MSG_PEEK___146 = 2,
    MSG_DONTROUTE___146 = 4,
    MSG_TRYHARD___146 = 4,
    MSG_CTRUNC___146 = 8,
    MSG_PROXY___146 = 16,
    MSG_TRUNC___146 = 32,
    MSG_DONTWAIT___146 = 64,
    MSG_EOR___146 = 128,
    MSG_WAITALL___146 = 256,
    MSG_FIN___146 = 512,
    MSG_SYN___146 = 1024,
    MSG_CONFIRM___146 = 2048,
    MSG_RST___146 = 4096,
    MSG_ERRQUEUE___146 = 8192,
    MSG_NOSIGNAL___146 = 16384,
    MSG_MORE___146 = 32768,
    MSG_WAITFORONE___146 = 65536,
    MSG_BATCH___146 = 262144,
    MSG_ZEROCOPY___146 = 67108864,
    MSG_FASTOPEN___146 = 536870912,
    MSG_CMSG_CLOEXEC___146 = 1073741824
} ;
enum __anonenum_617082774___146 {
    SCM_RIGHTS___146 = 1,
    SCM_CREDENTIALS___146 = 2
} ;
enum __anonenum_606441560___146 {
    SHUT_RD___146 = 0,
    SHUT_WR___146 = 1,
    SHUT_RDWR___146 = 2
} ;
enum __anonenum_681669233___146 {
    IPPROTO_IP___146 = 0,
    IPPROTO_ICMP___146 = 1,
    IPPROTO_IGMP___146 = 2,
    IPPROTO_IPIP___146 = 4,
    IPPROTO_TCP___146 = 6,
    IPPROTO_EGP___146 = 8,
    IPPROTO_PUP___146 = 12,
    IPPROTO_UDP___146 = 17,
    IPPROTO_IDP___146 = 22,
    IPPROTO_TP___146 = 29,
    IPPROTO_DCCP___146 = 33,
    IPPROTO_IPV6___146 = 41,
    IPPROTO_RSVP___146 = 46,
    IPPROTO_GRE___146 = 47,
    IPPROTO_ESP___146 = 50,
    IPPROTO_AH___146 = 51,
    IPPROTO_MTP___146 = 92,
    IPPROTO_BEETPH___146 = 94,
    IPPROTO_ENCAP___146 = 98,
    IPPROTO_PIM___146 = 103,
    IPPROTO_COMP___146 = 108,
    IPPROTO_SCTP___146 = 132,
    IPPROTO_UDPLITE___146 = 136,
    IPPROTO_MPLS___146 = 137,
    IPPROTO_RAW___146 = 255,
    IPPROTO_MAX___146 = 256
} ;
enum __anonenum_218739988___146 {
    IPPROTO_HOPOPTS___146 = 0,
    IPPROTO_ROUTING___146 = 43,
    IPPROTO_FRAGMENT___146 = 44,
    IPPROTO_ICMPV6___146 = 58,
    IPPROTO_NONE___146 = 59,
    IPPROTO_DSTOPTS___146 = 60,
    IPPROTO_MH___146 = 135
} ;
enum __anonenum_662268580___146 {
    IPPORT_ECHO___146 = 7,
    IPPORT_DISCARD___146 = 9,
    IPPORT_SYSTAT___146 = 11,
    IPPORT_DAYTIME___146 = 13,
    IPPORT_NETSTAT___146 = 15,
    IPPORT_FTP___146 = 21,
    IPPORT_TELNET___146 = 23,
    IPPORT_SMTP___146 = 25,
    IPPORT_TIMESERVER___146 = 37,
    IPPORT_NAMESERVER___146 = 42,
    IPPORT_WHOIS___146 = 43,
    IPPORT_MTP___146 = 57,
    IPPORT_TFTP___146 = 69,
    IPPORT_RJE___146 = 77,
    IPPORT_FINGER___146 = 79,
    IPPORT_TTYLINK___146 = 87,
    IPPORT_SUPDUP___146 = 95,
    IPPORT_EXECSERVER___146 = 512,
    IPPORT_LOGINSERVER___146 = 513,
    IPPORT_CMDSERVER___146 = 514,
    IPPORT_EFSSERVER___146 = 520,
    IPPORT_BIFFUDP___146 = 512,
    IPPORT_WHOSERVER___146 = 513,
    IPPORT_ROUTESERVER___146 = 520,
    IPPORT_RESERVED___146 = 1024,
    IPPORT_USERRESERVED___146 = 5000
} ;
enum __anonenum_788308992___146 {
    TCP_ESTABLISHED___146 = 1,
    TCP_SYN_SENT___146 = 2,
    TCP_SYN_RECV___146 = 3,
    TCP_FIN_WAIT1___146 = 4,
    TCP_FIN_WAIT2___146 = 5,
    TCP_TIME_WAIT___146 = 6,
    TCP_CLOSE___146 = 7,
    TCP_CLOSE_WAIT___146 = 8,
    TCP_LAST_ACK___146 = 9,
    TCP_LISTEN___146 = 10,
    TCP_CLOSING___146 = 11
} ;
enum __anonenum_221125648___146 {
    TCP_NO_QUEUE___146 = 0,
    TCP_RECV_QUEUE___146 = 1,
    TCP_SEND_QUEUE___146 = 2,
    TCP_QUEUES_NR___146 = 3
} ;
enum __anonenum_34415463___146 {
    PTHREAD_CREATE_JOINABLE___146 = 0,
    PTHREAD_CREATE_DETACHED___146 = 1
} ;
enum __anonenum_303612439___146 {
    PTHREAD_MUTEX_TIMED_NP___146 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___146 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___146 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___146 = 3,
    PTHREAD_MUTEX_NORMAL___146 = 0,
    PTHREAD_MUTEX_RECURSIVE___146 = 1,
    PTHREAD_MUTEX_ERRORCHECK___146 = 2,
    PTHREAD_MUTEX_DEFAULT___146 = 0,
    PTHREAD_MUTEX_FAST_NP___146 = 0
} ;
enum __anonenum_931900394___146 {
    PTHREAD_MUTEX_STALLED___146 = 0,
    PTHREAD_MUTEX_STALLED_NP___146 = 0,
    PTHREAD_MUTEX_ROBUST___146 = 1,
    PTHREAD_MUTEX_ROBUST_NP___146 = 1
} ;
enum __anonenum_205214487___146 {
    PTHREAD_PRIO_NONE___146 = 0,
    PTHREAD_PRIO_INHERIT___146 = 1,
    PTHREAD_PRIO_PROTECT___146 = 2
} ;
enum __anonenum_25043950___146 {
    PTHREAD_RWLOCK_PREFER_READER_NP___146 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___146 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___146 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___146 = 0
} ;
enum __anonenum_436439511___146 {
    PTHREAD_INHERIT_SCHED___146 = 0,
    PTHREAD_EXPLICIT_SCHED___146 = 1
} ;
enum __anonenum_998661166___146 {
    PTHREAD_SCOPE_SYSTEM___146 = 0,
    PTHREAD_SCOPE_PROCESS___146 = 1
} ;
enum __anonenum_146137331___146 {
    PTHREAD_PROCESS_PRIVATE___146 = 0,
    PTHREAD_PROCESS_SHARED___146 = 1
} ;
enum __anonenum_53396917___146 {
    PTHREAD_CANCEL_ENABLE___146 = 0,
    PTHREAD_CANCEL_DISABLE___146 = 1
} ;
enum __anonenum_904563783___146 {
    PTHREAD_CANCEL_DEFERRED___146 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___146 = 1
} ;
enum __anonenum_672052974___146 {
    SSL_CT_VALIDATION_PERMISSIVE___146 = 0,
    SSL_CT_VALIDATION_STRICT___146 = 1
} ;
enum __anonenum_437032235___147 {
    _PC_LINK_MAX___147 = 0,
    _PC_MAX_CANON___147 = 1,
    _PC_MAX_INPUT___147 = 2,
    _PC_NAME_MAX___147 = 3,
    _PC_PATH_MAX___147 = 4,
    _PC_PIPE_BUF___147 = 5,
    _PC_CHOWN_RESTRICTED___147 = 6,
    _PC_NO_TRUNC___147 = 7,
    _PC_VDISABLE___147 = 8,
    _PC_SYNC_IO___147 = 9,
    _PC_ASYNC_IO___147 = 10,
    _PC_PRIO_IO___147 = 11,
    _PC_SOCK_MAXBUF___147 = 12,
    _PC_FILESIZEBITS___147 = 13,
    _PC_REC_INCR_XFER_SIZE___147 = 14,
    _PC_REC_MAX_XFER_SIZE___147 = 15,
    _PC_REC_MIN_XFER_SIZE___147 = 16,
    _PC_REC_XFER_ALIGN___147 = 17,
    _PC_ALLOC_SIZE_MIN___147 = 18,
    _PC_SYMLINK_MAX___147 = 19,
    _PC_2_SYMLINKS___147 = 20
} ;
enum __anonenum_315186338___147 {
    _SC_ARG_MAX___147 = 0,
    _SC_CHILD_MAX___147 = 1,
    _SC_CLK_TCK___147 = 2,
    _SC_NGROUPS_MAX___147 = 3,
    _SC_OPEN_MAX___147 = 4,
    _SC_STREAM_MAX___147 = 5,
    _SC_TZNAME_MAX___147 = 6,
    _SC_JOB_CONTROL___147 = 7,
    _SC_SAVED_IDS___147 = 8,
    _SC_REALTIME_SIGNALS___147 = 9,
    _SC_PRIORITY_SCHEDULING___147 = 10,
    _SC_TIMERS___147 = 11,
    _SC_ASYNCHRONOUS_IO___147 = 12,
    _SC_PRIORITIZED_IO___147 = 13,
    _SC_SYNCHRONIZED_IO___147 = 14,
    _SC_FSYNC___147 = 15,
    _SC_MAPPED_FILES___147 = 16,
    _SC_MEMLOCK___147 = 17,
    _SC_MEMLOCK_RANGE___147 = 18,
    _SC_MEMORY_PROTECTION___147 = 19,
    _SC_MESSAGE_PASSING___147 = 20,
    _SC_SEMAPHORES___147 = 21,
    _SC_SHARED_MEMORY_OBJECTS___147 = 22,
    _SC_AIO_LISTIO_MAX___147 = 23,
    _SC_AIO_MAX___147 = 24,
    _SC_AIO_PRIO_DELTA_MAX___147 = 25,
    _SC_DELAYTIMER_MAX___147 = 26,
    _SC_MQ_OPEN_MAX___147 = 27,
    _SC_MQ_PRIO_MAX___147 = 28,
    _SC_VERSION___147 = 29,
    _SC_PAGESIZE___147 = 30,
    _SC_RTSIG_MAX___147 = 31,
    _SC_SEM_NSEMS_MAX___147 = 32,
    _SC_SEM_VALUE_MAX___147 = 33,
    _SC_SIGQUEUE_MAX___147 = 34,
    _SC_TIMER_MAX___147 = 35,
    _SC_BC_BASE_MAX___147 = 36,
    _SC_BC_DIM_MAX___147 = 37,
    _SC_BC_SCALE_MAX___147 = 38,
    _SC_BC_STRING_MAX___147 = 39,
    _SC_COLL_WEIGHTS_MAX___147 = 40,
    _SC_EQUIV_CLASS_MAX___147 = 41,
    _SC_EXPR_NEST_MAX___147 = 42,
    _SC_LINE_MAX___147 = 43,
    _SC_RE_DUP_MAX___147 = 44,
    _SC_CHARCLASS_NAME_MAX___147 = 45,
    _SC_2_VERSION___147 = 46,
    _SC_2_C_BIND___147 = 47,
    _SC_2_C_DEV___147 = 48,
    _SC_2_FORT_DEV___147 = 49,
    _SC_2_FORT_RUN___147 = 50,
    _SC_2_SW_DEV___147 = 51,
    _SC_2_LOCALEDEF___147 = 52,
    _SC_PII___147 = 53,
    _SC_PII_XTI___147 = 54,
    _SC_PII_SOCKET___147 = 55,
    _SC_PII_INTERNET___147 = 56,
    _SC_PII_OSI___147 = 57,
    _SC_POLL___147 = 58,
    _SC_SELECT___147 = 59,
    _SC_UIO_MAXIOV___147 = 60,
    _SC_IOV_MAX___147 = 60,
    _SC_PII_INTERNET_STREAM___147 = 61,
    _SC_PII_INTERNET_DGRAM___147 = 62,
    _SC_PII_OSI_COTS___147 = 63,
    _SC_PII_OSI_CLTS___147 = 64,
    _SC_PII_OSI_M___147 = 65,
    _SC_T_IOV_MAX___147 = 66,
    _SC_THREADS___147 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___147 = 68,
    _SC_GETGR_R_SIZE_MAX___147 = 69,
    _SC_GETPW_R_SIZE_MAX___147 = 70,
    _SC_LOGIN_NAME_MAX___147 = 71,
    _SC_TTY_NAME_MAX___147 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___147 = 73,
    _SC_THREAD_KEYS_MAX___147 = 74,
    _SC_THREAD_STACK_MIN___147 = 75,
    _SC_THREAD_THREADS_MAX___147 = 76,
    _SC_THREAD_ATTR_STACKADDR___147 = 77,
    _SC_THREAD_ATTR_STACKSIZE___147 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___147 = 79,
    _SC_THREAD_PRIO_INHERIT___147 = 80,
    _SC_THREAD_PRIO_PROTECT___147 = 81,
    _SC_THREAD_PROCESS_SHARED___147 = 82,
    _SC_NPROCESSORS_CONF___147 = 83,
    _SC_NPROCESSORS_ONLN___147 = 84,
    _SC_PHYS_PAGES___147 = 85,
    _SC_AVPHYS_PAGES___147 = 86,
    _SC_ATEXIT_MAX___147 = 87,
    _SC_PASS_MAX___147 = 88,
    _SC_XOPEN_VERSION___147 = 89,
    _SC_XOPEN_XCU_VERSION___147 = 90,
    _SC_XOPEN_UNIX___147 = 91,
    _SC_XOPEN_CRYPT___147 = 92,
    _SC_XOPEN_ENH_I18N___147 = 93,
    _SC_XOPEN_SHM___147 = 94,
    _SC_2_CHAR_TERM___147 = 95,
    _SC_2_C_VERSION___147 = 96,
    _SC_2_UPE___147 = 97,
    _SC_XOPEN_XPG2___147 = 98,
    _SC_XOPEN_XPG3___147 = 99,
    _SC_XOPEN_XPG4___147 = 100,
    _SC_CHAR_BIT___147 = 101,
    _SC_CHAR_MAX___147 = 102,
    _SC_CHAR_MIN___147 = 103,
    _SC_INT_MAX___147 = 104,
    _SC_INT_MIN___147 = 105,
    _SC_LONG_BIT___147 = 106,
    _SC_WORD_BIT___147 = 107,
    _SC_MB_LEN_MAX___147 = 108,
    _SC_NZERO___147 = 109,
    _SC_SSIZE_MAX___147 = 110,
    _SC_SCHAR_MAX___147 = 111,
    _SC_SCHAR_MIN___147 = 112,
    _SC_SHRT_MAX___147 = 113,
    _SC_SHRT_MIN___147 = 114,
    _SC_UCHAR_MAX___147 = 115,
    _SC_UINT_MAX___147 = 116,
    _SC_ULONG_MAX___147 = 117,
    _SC_USHRT_MAX___147 = 118,
    _SC_NL_ARGMAX___147 = 119,
    _SC_NL_LANGMAX___147 = 120,
    _SC_NL_MSGMAX___147 = 121,
    _SC_NL_NMAX___147 = 122,
    _SC_NL_SETMAX___147 = 123,
    _SC_NL_TEXTMAX___147 = 124,
    _SC_XBS5_ILP32_OFF32___147 = 125,
    _SC_XBS5_ILP32_OFFBIG___147 = 126,
    _SC_XBS5_LP64_OFF64___147 = 127,
    _SC_XBS5_LPBIG_OFFBIG___147 = 128,
    _SC_XOPEN_LEGACY___147 = 129,
    _SC_XOPEN_REALTIME___147 = 130,
    _SC_XOPEN_REALTIME_THREADS___147 = 131,
    _SC_ADVISORY_INFO___147 = 132,
    _SC_BARRIERS___147 = 133,
    _SC_BASE___147 = 134,
    _SC_C_LANG_SUPPORT___147 = 135,
    _SC_C_LANG_SUPPORT_R___147 = 136,
    _SC_CLOCK_SELECTION___147 = 137,
    _SC_CPUTIME___147 = 138,
    _SC_THREAD_CPUTIME___147 = 139,
    _SC_DEVICE_IO___147 = 140,
    _SC_DEVICE_SPECIFIC___147 = 141,
    _SC_DEVICE_SPECIFIC_R___147 = 142,
    _SC_FD_MGMT___147 = 143,
    _SC_FIFO___147 = 144,
    _SC_PIPE___147 = 145,
    _SC_FILE_ATTRIBUTES___147 = 146,
    _SC_FILE_LOCKING___147 = 147,
    _SC_FILE_SYSTEM___147 = 148,
    _SC_MONOTONIC_CLOCK___147 = 149,
    _SC_MULTI_PROCESS___147 = 150,
    _SC_SINGLE_PROCESS___147 = 151,
    _SC_NETWORKING___147 = 152,
    _SC_READER_WRITER_LOCKS___147 = 153,
    _SC_SPIN_LOCKS___147 = 154,
    _SC_REGEXP___147 = 155,
    _SC_REGEX_VERSION___147 = 156,
    _SC_SHELL___147 = 157,
    _SC_SIGNALS___147 = 158,
    _SC_SPAWN___147 = 159,
    _SC_SPORADIC_SERVER___147 = 160,
    _SC_THREAD_SPORADIC_SERVER___147 = 161,
    _SC_SYSTEM_DATABASE___147 = 162,
    _SC_SYSTEM_DATABASE_R___147 = 163,
    _SC_TIMEOUTS___147 = 164,
    _SC_TYPED_MEMORY_OBJECTS___147 = 165,
    _SC_USER_GROUPS___147 = 166,
    _SC_USER_GROUPS_R___147 = 167,
    _SC_2_PBS___147 = 168,
    _SC_2_PBS_ACCOUNTING___147 = 169,
    _SC_2_PBS_LOCATE___147 = 170,
    _SC_2_PBS_MESSAGE___147 = 171,
    _SC_2_PBS_TRACK___147 = 172,
    _SC_SYMLOOP_MAX___147 = 173,
    _SC_STREAMS___147 = 174,
    _SC_2_PBS_CHECKPOINT___147 = 175,
    _SC_V6_ILP32_OFF32___147 = 176,
    _SC_V6_ILP32_OFFBIG___147 = 177,
    _SC_V6_LP64_OFF64___147 = 178,
    _SC_V6_LPBIG_OFFBIG___147 = 179,
    _SC_HOST_NAME_MAX___147 = 180,
    _SC_TRACE___147 = 181,
    _SC_TRACE_EVENT_FILTER___147 = 182,
    _SC_TRACE_INHERIT___147 = 183,
    _SC_TRACE_LOG___147 = 184,
    _SC_LEVEL1_ICACHE_SIZE___147 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___147 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___147 = 187,
    _SC_LEVEL1_DCACHE_SIZE___147 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___147 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___147 = 190,
    _SC_LEVEL2_CACHE_SIZE___147 = 191,
    _SC_LEVEL2_CACHE_ASSOC___147 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___147 = 193,
    _SC_LEVEL3_CACHE_SIZE___147 = 194,
    _SC_LEVEL3_CACHE_ASSOC___147 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___147 = 196,
    _SC_LEVEL4_CACHE_SIZE___147 = 197,
    _SC_LEVEL4_CACHE_ASSOC___147 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___147 = 199,
    _SC_IPV6___147 = 235,
    _SC_RAW_SOCKETS___147 = 236,
    _SC_V7_ILP32_OFF32___147 = 237,
    _SC_V7_ILP32_OFFBIG___147 = 238,
    _SC_V7_LP64_OFF64___147 = 239,
    _SC_V7_LPBIG_OFFBIG___147 = 240,
    _SC_SS_REPL_MAX___147 = 241,
    _SC_TRACE_EVENT_NAME_MAX___147 = 242,
    _SC_TRACE_NAME_MAX___147 = 243,
    _SC_TRACE_SYS_MAX___147 = 244,
    _SC_TRACE_USER_EVENT_MAX___147 = 245,
    _SC_XOPEN_STREAMS___147 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___147 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___147 = 248
} ;
enum __anonenum_875524036___147 {
    _CS_PATH___147 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___147 = 1,
    _CS_GNU_LIBC_VERSION___147 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___147 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___147 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___147 = 5,
    _CS_LFS_CFLAGS___147 = 1000,
    _CS_LFS_LDFLAGS___147 = 1001,
    _CS_LFS_LIBS___147 = 1002,
    _CS_LFS_LINTFLAGS___147 = 1003,
    _CS_LFS64_CFLAGS___147 = 1004,
    _CS_LFS64_LDFLAGS___147 = 1005,
    _CS_LFS64_LIBS___147 = 1006,
    _CS_LFS64_LINTFLAGS___147 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___147 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___147 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___147 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___147 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___147 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___147 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___147 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___147 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___147 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___147 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___147 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___147 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___147 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___147 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___147 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___147 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___147 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___147 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___147 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___147 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___147 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___147 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___147 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___147 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___147 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___147 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___147 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___147 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___147 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___147 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___147 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___147 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___147 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___147 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___147 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___147 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___147 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___147 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___147 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___147 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___147 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___147 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___147 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___147 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___147 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___147 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___147 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___147 = 1147,
    _CS_V6_ENV___147 = 1148,
    _CS_V7_ENV___147 = 1149
} ;
enum __anonenum_513775621___147 {
    DT_UNKNOWN___147 = 0,
    DT_FIFO___147 = 1,
    DT_CHR___147 = 2,
    DT_DIR___147 = 4,
    DT_BLK___147 = 6,
    DT_REG___147 = 8,
    DT_LNK___147 = 10,
    DT_SOCK___147 = 12,
    DT_WHT___147 = 14
} ;
enum __anonenum_77002343___147 {
    SI_ASYNCNL___147 = -60,
    SI_TKILL___147 = -6,
    SI_SIGIO___147 = -5,
    SI_ASYNCIO___147 = -4,
    SI_MESGQ___147 = -3,
    SI_TIMER___147 = -2,
    SI_QUEUE___147 = -1,
    SI_USER___147 = 0,
    SI_KERNEL___147 = 128
} ;
enum __anonenum_131038172___147 {
    ILL_ILLOPC___147 = 1,
    ILL_ILLOPN___147 = 2,
    ILL_ILLADR___147 = 3,
    ILL_ILLTRP___147 = 4,
    ILL_PRVOPC___147 = 5,
    ILL_PRVREG___147 = 6,
    ILL_COPROC___147 = 7,
    ILL_BADSTK___147 = 8
} ;
enum __anonenum_452038093___147 {
    FPE_INTDIV___147 = 1,
    FPE_INTOVF___147 = 2,
    FPE_FLTDIV___147 = 3,
    FPE_FLTOVF___147 = 4,
    FPE_FLTUND___147 = 5,
    FPE_FLTRES___147 = 6,
    FPE_FLTINV___147 = 7,
    FPE_FLTSUB___147 = 8
} ;
enum __anonenum_30976155___147 {
    SEGV_MAPERR___147 = 1,
    SEGV_ACCERR___147 = 2,
    SEGV_BNDERR___147 = 3,
    SEGV_PKUERR___147 = 4
} ;
enum __anonenum_1036286214___147 {
    BUS_ADRALN___147 = 1,
    BUS_ADRERR___147 = 2,
    BUS_OBJERR___147 = 3,
    BUS_MCEERR_AR___147 = 4,
    BUS_MCEERR_AO___147 = 5
} ;
enum __anonenum_493465559___147 {
    TRAP_BRKPT___147 = 1,
    TRAP_TRACE___147 = 2
} ;
enum __anonenum_23175539___147 {
    CLD_EXITED___147 = 1,
    CLD_KILLED___147 = 2,
    CLD_DUMPED___147 = 3,
    CLD_TRAPPED___147 = 4,
    CLD_STOPPED___147 = 5,
    CLD_CONTINUED___147 = 6
} ;
enum __anonenum_111643124___147 {
    POLL_IN___147 = 1,
    POLL_OUT___147 = 2,
    POLL_MSG___147 = 3,
    POLL_ERR___147 = 4,
    POLL_PRI___147 = 5,
    POLL_HUP___147 = 6
} ;
enum __anonenum_852341087___147 {
    SIGEV_SIGNAL___147 = 0,
    SIGEV_NONE___147 = 1,
    SIGEV_THREAD___147 = 2,
    SIGEV_THREAD_ID___147 = 4
} ;
enum __anonenum_451154152___147 {
    REG_R8___147 = 0,
    REG_R9___147 = 1,
    REG_R10___147 = 2,
    REG_R11___147 = 3,
    REG_R12___147 = 4,
    REG_R13___147 = 5,
    REG_R14___147 = 6,
    REG_R15___147 = 7,
    REG_RDI___147 = 8,
    REG_RSI___147 = 9,
    REG_RBP___147 = 10,
    REG_RBX___147 = 11,
    REG_RDX___147 = 12,
    REG_RAX___147 = 13,
    REG_RCX___147 = 14,
    REG_RSP___147 = 15,
    REG_RIP___147 = 16,
    REG_EFL___147 = 17,
    REG_CSGSFS___147 = 18,
    REG_ERR___147 = 19,
    REG_TRAPNO___147 = 20,
    REG_OLDMASK___147 = 21,
    REG_CR2___147 = 22
} ;
enum __anonenum_57186863___147 {
    SS_ONSTACK___147 = 1,
    SS_DISABLE___147 = 2
} ;
enum __anonenum_83571709___147 {
    MSG_OOB___147 = 1,
    MSG_PEEK___147 = 2,
    MSG_DONTROUTE___147 = 4,
    MSG_TRYHARD___147 = 4,
    MSG_CTRUNC___147 = 8,
    MSG_PROXY___147 = 16,
    MSG_TRUNC___147 = 32,
    MSG_DONTWAIT___147 = 64,
    MSG_EOR___147 = 128,
    MSG_WAITALL___147 = 256,
    MSG_FIN___147 = 512,
    MSG_SYN___147 = 1024,
    MSG_CONFIRM___147 = 2048,
    MSG_RST___147 = 4096,
    MSG_ERRQUEUE___147 = 8192,
    MSG_NOSIGNAL___147 = 16384,
    MSG_MORE___147 = 32768,
    MSG_WAITFORONE___147 = 65536,
    MSG_BATCH___147 = 262144,
    MSG_ZEROCOPY___147 = 67108864,
    MSG_FASTOPEN___147 = 536870912,
    MSG_CMSG_CLOEXEC___147 = 1073741824
} ;
enum __anonenum_617082774___147 {
    SCM_RIGHTS___147 = 1,
    SCM_CREDENTIALS___147 = 2
} ;
enum __anonenum_606441560___147 {
    SHUT_RD___147 = 0,
    SHUT_WR___147 = 1,
    SHUT_RDWR___147 = 2
} ;
enum __anonenum_681669233___147 {
    IPPROTO_IP___147 = 0,
    IPPROTO_ICMP___147 = 1,
    IPPROTO_IGMP___147 = 2,
    IPPROTO_IPIP___147 = 4,
    IPPROTO_TCP___147 = 6,
    IPPROTO_EGP___147 = 8,
    IPPROTO_PUP___147 = 12,
    IPPROTO_UDP___147 = 17,
    IPPROTO_IDP___147 = 22,
    IPPROTO_TP___147 = 29,
    IPPROTO_DCCP___147 = 33,
    IPPROTO_IPV6___147 = 41,
    IPPROTO_RSVP___147 = 46,
    IPPROTO_GRE___147 = 47,
    IPPROTO_ESP___147 = 50,
    IPPROTO_AH___147 = 51,
    IPPROTO_MTP___147 = 92,
    IPPROTO_BEETPH___147 = 94,
    IPPROTO_ENCAP___147 = 98,
    IPPROTO_PIM___147 = 103,
    IPPROTO_COMP___147 = 108,
    IPPROTO_SCTP___147 = 132,
    IPPROTO_UDPLITE___147 = 136,
    IPPROTO_MPLS___147 = 137,
    IPPROTO_RAW___147 = 255,
    IPPROTO_MAX___147 = 256
} ;
enum __anonenum_218739988___147 {
    IPPROTO_HOPOPTS___147 = 0,
    IPPROTO_ROUTING___147 = 43,
    IPPROTO_FRAGMENT___147 = 44,
    IPPROTO_ICMPV6___147 = 58,
    IPPROTO_NONE___147 = 59,
    IPPROTO_DSTOPTS___147 = 60,
    IPPROTO_MH___147 = 135
} ;
enum __anonenum_662268580___147 {
    IPPORT_ECHO___147 = 7,
    IPPORT_DISCARD___147 = 9,
    IPPORT_SYSTAT___147 = 11,
    IPPORT_DAYTIME___147 = 13,
    IPPORT_NETSTAT___147 = 15,
    IPPORT_FTP___147 = 21,
    IPPORT_TELNET___147 = 23,
    IPPORT_SMTP___147 = 25,
    IPPORT_TIMESERVER___147 = 37,
    IPPORT_NAMESERVER___147 = 42,
    IPPORT_WHOIS___147 = 43,
    IPPORT_MTP___147 = 57,
    IPPORT_TFTP___147 = 69,
    IPPORT_RJE___147 = 77,
    IPPORT_FINGER___147 = 79,
    IPPORT_TTYLINK___147 = 87,
    IPPORT_SUPDUP___147 = 95,
    IPPORT_EXECSERVER___147 = 512,
    IPPORT_LOGINSERVER___147 = 513,
    IPPORT_CMDSERVER___147 = 514,
    IPPORT_EFSSERVER___147 = 520,
    IPPORT_BIFFUDP___147 = 512,
    IPPORT_WHOSERVER___147 = 513,
    IPPORT_ROUTESERVER___147 = 520,
    IPPORT_RESERVED___147 = 1024,
    IPPORT_USERRESERVED___147 = 5000
} ;
enum __anonenum_788308992___147 {
    TCP_ESTABLISHED___147 = 1,
    TCP_SYN_SENT___147 = 2,
    TCP_SYN_RECV___147 = 3,
    TCP_FIN_WAIT1___147 = 4,
    TCP_FIN_WAIT2___147 = 5,
    TCP_TIME_WAIT___147 = 6,
    TCP_CLOSE___147 = 7,
    TCP_CLOSE_WAIT___147 = 8,
    TCP_LAST_ACK___147 = 9,
    TCP_LISTEN___147 = 10,
    TCP_CLOSING___147 = 11
} ;
enum __anonenum_221125648___147 {
    TCP_NO_QUEUE___147 = 0,
    TCP_RECV_QUEUE___147 = 1,
    TCP_SEND_QUEUE___147 = 2,
    TCP_QUEUES_NR___147 = 3
} ;
enum __anonenum_34415463___147 {
    PTHREAD_CREATE_JOINABLE___147 = 0,
    PTHREAD_CREATE_DETACHED___147 = 1
} ;
enum __anonenum_303612439___147 {
    PTHREAD_MUTEX_TIMED_NP___147 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___147 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___147 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___147 = 3,
    PTHREAD_MUTEX_NORMAL___147 = 0,
    PTHREAD_MUTEX_RECURSIVE___147 = 1,
    PTHREAD_MUTEX_ERRORCHECK___147 = 2,
    PTHREAD_MUTEX_DEFAULT___147 = 0,
    PTHREAD_MUTEX_FAST_NP___147 = 0
} ;
enum __anonenum_931900394___147 {
    PTHREAD_MUTEX_STALLED___147 = 0,
    PTHREAD_MUTEX_STALLED_NP___147 = 0,
    PTHREAD_MUTEX_ROBUST___147 = 1,
    PTHREAD_MUTEX_ROBUST_NP___147 = 1
} ;
enum __anonenum_205214487___147 {
    PTHREAD_PRIO_NONE___147 = 0,
    PTHREAD_PRIO_INHERIT___147 = 1,
    PTHREAD_PRIO_PROTECT___147 = 2
} ;
enum __anonenum_25043950___147 {
    PTHREAD_RWLOCK_PREFER_READER_NP___147 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___147 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___147 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___147 = 0
} ;
enum __anonenum_436439511___147 {
    PTHREAD_INHERIT_SCHED___147 = 0,
    PTHREAD_EXPLICIT_SCHED___147 = 1
} ;
enum __anonenum_998661166___147 {
    PTHREAD_SCOPE_SYSTEM___147 = 0,
    PTHREAD_SCOPE_PROCESS___147 = 1
} ;
enum __anonenum_146137331___147 {
    PTHREAD_PROCESS_PRIVATE___147 = 0,
    PTHREAD_PROCESS_SHARED___147 = 1
} ;
enum __anonenum_53396917___147 {
    PTHREAD_CANCEL_ENABLE___147 = 0,
    PTHREAD_CANCEL_DISABLE___147 = 1
} ;
enum __anonenum_904563783___147 {
    PTHREAD_CANCEL_DEFERRED___147 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___147 = 1
} ;
enum __anonenum_672052974___147 {
    SSL_CT_VALIDATION_PERMISSIVE___147 = 0,
    SSL_CT_VALIDATION_STRICT___147 = 1
} ;
enum __anonenum_437032235___148 {
    _PC_LINK_MAX___148 = 0,
    _PC_MAX_CANON___148 = 1,
    _PC_MAX_INPUT___148 = 2,
    _PC_NAME_MAX___148 = 3,
    _PC_PATH_MAX___148 = 4,
    _PC_PIPE_BUF___148 = 5,
    _PC_CHOWN_RESTRICTED___148 = 6,
    _PC_NO_TRUNC___148 = 7,
    _PC_VDISABLE___148 = 8,
    _PC_SYNC_IO___148 = 9,
    _PC_ASYNC_IO___148 = 10,
    _PC_PRIO_IO___148 = 11,
    _PC_SOCK_MAXBUF___148 = 12,
    _PC_FILESIZEBITS___148 = 13,
    _PC_REC_INCR_XFER_SIZE___148 = 14,
    _PC_REC_MAX_XFER_SIZE___148 = 15,
    _PC_REC_MIN_XFER_SIZE___148 = 16,
    _PC_REC_XFER_ALIGN___148 = 17,
    _PC_ALLOC_SIZE_MIN___148 = 18,
    _PC_SYMLINK_MAX___148 = 19,
    _PC_2_SYMLINKS___148 = 20
} ;
enum __anonenum_315186338___148 {
    _SC_ARG_MAX___148 = 0,
    _SC_CHILD_MAX___148 = 1,
    _SC_CLK_TCK___148 = 2,
    _SC_NGROUPS_MAX___148 = 3,
    _SC_OPEN_MAX___148 = 4,
    _SC_STREAM_MAX___148 = 5,
    _SC_TZNAME_MAX___148 = 6,
    _SC_JOB_CONTROL___148 = 7,
    _SC_SAVED_IDS___148 = 8,
    _SC_REALTIME_SIGNALS___148 = 9,
    _SC_PRIORITY_SCHEDULING___148 = 10,
    _SC_TIMERS___148 = 11,
    _SC_ASYNCHRONOUS_IO___148 = 12,
    _SC_PRIORITIZED_IO___148 = 13,
    _SC_SYNCHRONIZED_IO___148 = 14,
    _SC_FSYNC___148 = 15,
    _SC_MAPPED_FILES___148 = 16,
    _SC_MEMLOCK___148 = 17,
    _SC_MEMLOCK_RANGE___148 = 18,
    _SC_MEMORY_PROTECTION___148 = 19,
    _SC_MESSAGE_PASSING___148 = 20,
    _SC_SEMAPHORES___148 = 21,
    _SC_SHARED_MEMORY_OBJECTS___148 = 22,
    _SC_AIO_LISTIO_MAX___148 = 23,
    _SC_AIO_MAX___148 = 24,
    _SC_AIO_PRIO_DELTA_MAX___148 = 25,
    _SC_DELAYTIMER_MAX___148 = 26,
    _SC_MQ_OPEN_MAX___148 = 27,
    _SC_MQ_PRIO_MAX___148 = 28,
    _SC_VERSION___148 = 29,
    _SC_PAGESIZE___148 = 30,
    _SC_RTSIG_MAX___148 = 31,
    _SC_SEM_NSEMS_MAX___148 = 32,
    _SC_SEM_VALUE_MAX___148 = 33,
    _SC_SIGQUEUE_MAX___148 = 34,
    _SC_TIMER_MAX___148 = 35,
    _SC_BC_BASE_MAX___148 = 36,
    _SC_BC_DIM_MAX___148 = 37,
    _SC_BC_SCALE_MAX___148 = 38,
    _SC_BC_STRING_MAX___148 = 39,
    _SC_COLL_WEIGHTS_MAX___148 = 40,
    _SC_EQUIV_CLASS_MAX___148 = 41,
    _SC_EXPR_NEST_MAX___148 = 42,
    _SC_LINE_MAX___148 = 43,
    _SC_RE_DUP_MAX___148 = 44,
    _SC_CHARCLASS_NAME_MAX___148 = 45,
    _SC_2_VERSION___148 = 46,
    _SC_2_C_BIND___148 = 47,
    _SC_2_C_DEV___148 = 48,
    _SC_2_FORT_DEV___148 = 49,
    _SC_2_FORT_RUN___148 = 50,
    _SC_2_SW_DEV___148 = 51,
    _SC_2_LOCALEDEF___148 = 52,
    _SC_PII___148 = 53,
    _SC_PII_XTI___148 = 54,
    _SC_PII_SOCKET___148 = 55,
    _SC_PII_INTERNET___148 = 56,
    _SC_PII_OSI___148 = 57,
    _SC_POLL___148 = 58,
    _SC_SELECT___148 = 59,
    _SC_UIO_MAXIOV___148 = 60,
    _SC_IOV_MAX___148 = 60,
    _SC_PII_INTERNET_STREAM___148 = 61,
    _SC_PII_INTERNET_DGRAM___148 = 62,
    _SC_PII_OSI_COTS___148 = 63,
    _SC_PII_OSI_CLTS___148 = 64,
    _SC_PII_OSI_M___148 = 65,
    _SC_T_IOV_MAX___148 = 66,
    _SC_THREADS___148 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___148 = 68,
    _SC_GETGR_R_SIZE_MAX___148 = 69,
    _SC_GETPW_R_SIZE_MAX___148 = 70,
    _SC_LOGIN_NAME_MAX___148 = 71,
    _SC_TTY_NAME_MAX___148 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___148 = 73,
    _SC_THREAD_KEYS_MAX___148 = 74,
    _SC_THREAD_STACK_MIN___148 = 75,
    _SC_THREAD_THREADS_MAX___148 = 76,
    _SC_THREAD_ATTR_STACKADDR___148 = 77,
    _SC_THREAD_ATTR_STACKSIZE___148 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___148 = 79,
    _SC_THREAD_PRIO_INHERIT___148 = 80,
    _SC_THREAD_PRIO_PROTECT___148 = 81,
    _SC_THREAD_PROCESS_SHARED___148 = 82,
    _SC_NPROCESSORS_CONF___148 = 83,
    _SC_NPROCESSORS_ONLN___148 = 84,
    _SC_PHYS_PAGES___148 = 85,
    _SC_AVPHYS_PAGES___148 = 86,
    _SC_ATEXIT_MAX___148 = 87,
    _SC_PASS_MAX___148 = 88,
    _SC_XOPEN_VERSION___148 = 89,
    _SC_XOPEN_XCU_VERSION___148 = 90,
    _SC_XOPEN_UNIX___148 = 91,
    _SC_XOPEN_CRYPT___148 = 92,
    _SC_XOPEN_ENH_I18N___148 = 93,
    _SC_XOPEN_SHM___148 = 94,
    _SC_2_CHAR_TERM___148 = 95,
    _SC_2_C_VERSION___148 = 96,
    _SC_2_UPE___148 = 97,
    _SC_XOPEN_XPG2___148 = 98,
    _SC_XOPEN_XPG3___148 = 99,
    _SC_XOPEN_XPG4___148 = 100,
    _SC_CHAR_BIT___148 = 101,
    _SC_CHAR_MAX___148 = 102,
    _SC_CHAR_MIN___148 = 103,
    _SC_INT_MAX___148 = 104,
    _SC_INT_MIN___148 = 105,
    _SC_LONG_BIT___148 = 106,
    _SC_WORD_BIT___148 = 107,
    _SC_MB_LEN_MAX___148 = 108,
    _SC_NZERO___148 = 109,
    _SC_SSIZE_MAX___148 = 110,
    _SC_SCHAR_MAX___148 = 111,
    _SC_SCHAR_MIN___148 = 112,
    _SC_SHRT_MAX___148 = 113,
    _SC_SHRT_MIN___148 = 114,
    _SC_UCHAR_MAX___148 = 115,
    _SC_UINT_MAX___148 = 116,
    _SC_ULONG_MAX___148 = 117,
    _SC_USHRT_MAX___148 = 118,
    _SC_NL_ARGMAX___148 = 119,
    _SC_NL_LANGMAX___148 = 120,
    _SC_NL_MSGMAX___148 = 121,
    _SC_NL_NMAX___148 = 122,
    _SC_NL_SETMAX___148 = 123,
    _SC_NL_TEXTMAX___148 = 124,
    _SC_XBS5_ILP32_OFF32___148 = 125,
    _SC_XBS5_ILP32_OFFBIG___148 = 126,
    _SC_XBS5_LP64_OFF64___148 = 127,
    _SC_XBS5_LPBIG_OFFBIG___148 = 128,
    _SC_XOPEN_LEGACY___148 = 129,
    _SC_XOPEN_REALTIME___148 = 130,
    _SC_XOPEN_REALTIME_THREADS___148 = 131,
    _SC_ADVISORY_INFO___148 = 132,
    _SC_BARRIERS___148 = 133,
    _SC_BASE___148 = 134,
    _SC_C_LANG_SUPPORT___148 = 135,
    _SC_C_LANG_SUPPORT_R___148 = 136,
    _SC_CLOCK_SELECTION___148 = 137,
    _SC_CPUTIME___148 = 138,
    _SC_THREAD_CPUTIME___148 = 139,
    _SC_DEVICE_IO___148 = 140,
    _SC_DEVICE_SPECIFIC___148 = 141,
    _SC_DEVICE_SPECIFIC_R___148 = 142,
    _SC_FD_MGMT___148 = 143,
    _SC_FIFO___148 = 144,
    _SC_PIPE___148 = 145,
    _SC_FILE_ATTRIBUTES___148 = 146,
    _SC_FILE_LOCKING___148 = 147,
    _SC_FILE_SYSTEM___148 = 148,
    _SC_MONOTONIC_CLOCK___148 = 149,
    _SC_MULTI_PROCESS___148 = 150,
    _SC_SINGLE_PROCESS___148 = 151,
    _SC_NETWORKING___148 = 152,
    _SC_READER_WRITER_LOCKS___148 = 153,
    _SC_SPIN_LOCKS___148 = 154,
    _SC_REGEXP___148 = 155,
    _SC_REGEX_VERSION___148 = 156,
    _SC_SHELL___148 = 157,
    _SC_SIGNALS___148 = 158,
    _SC_SPAWN___148 = 159,
    _SC_SPORADIC_SERVER___148 = 160,
    _SC_THREAD_SPORADIC_SERVER___148 = 161,
    _SC_SYSTEM_DATABASE___148 = 162,
    _SC_SYSTEM_DATABASE_R___148 = 163,
    _SC_TIMEOUTS___148 = 164,
    _SC_TYPED_MEMORY_OBJECTS___148 = 165,
    _SC_USER_GROUPS___148 = 166,
    _SC_USER_GROUPS_R___148 = 167,
    _SC_2_PBS___148 = 168,
    _SC_2_PBS_ACCOUNTING___148 = 169,
    _SC_2_PBS_LOCATE___148 = 170,
    _SC_2_PBS_MESSAGE___148 = 171,
    _SC_2_PBS_TRACK___148 = 172,
    _SC_SYMLOOP_MAX___148 = 173,
    _SC_STREAMS___148 = 174,
    _SC_2_PBS_CHECKPOINT___148 = 175,
    _SC_V6_ILP32_OFF32___148 = 176,
    _SC_V6_ILP32_OFFBIG___148 = 177,
    _SC_V6_LP64_OFF64___148 = 178,
    _SC_V6_LPBIG_OFFBIG___148 = 179,
    _SC_HOST_NAME_MAX___148 = 180,
    _SC_TRACE___148 = 181,
    _SC_TRACE_EVENT_FILTER___148 = 182,
    _SC_TRACE_INHERIT___148 = 183,
    _SC_TRACE_LOG___148 = 184,
    _SC_LEVEL1_ICACHE_SIZE___148 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___148 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___148 = 187,
    _SC_LEVEL1_DCACHE_SIZE___148 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___148 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___148 = 190,
    _SC_LEVEL2_CACHE_SIZE___148 = 191,
    _SC_LEVEL2_CACHE_ASSOC___148 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___148 = 193,
    _SC_LEVEL3_CACHE_SIZE___148 = 194,
    _SC_LEVEL3_CACHE_ASSOC___148 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___148 = 196,
    _SC_LEVEL4_CACHE_SIZE___148 = 197,
    _SC_LEVEL4_CACHE_ASSOC___148 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___148 = 199,
    _SC_IPV6___148 = 235,
    _SC_RAW_SOCKETS___148 = 236,
    _SC_V7_ILP32_OFF32___148 = 237,
    _SC_V7_ILP32_OFFBIG___148 = 238,
    _SC_V7_LP64_OFF64___148 = 239,
    _SC_V7_LPBIG_OFFBIG___148 = 240,
    _SC_SS_REPL_MAX___148 = 241,
    _SC_TRACE_EVENT_NAME_MAX___148 = 242,
    _SC_TRACE_NAME_MAX___148 = 243,
    _SC_TRACE_SYS_MAX___148 = 244,
    _SC_TRACE_USER_EVENT_MAX___148 = 245,
    _SC_XOPEN_STREAMS___148 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___148 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___148 = 248
} ;
enum __anonenum_875524036___148 {
    _CS_PATH___148 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___148 = 1,
    _CS_GNU_LIBC_VERSION___148 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___148 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___148 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___148 = 5,
    _CS_LFS_CFLAGS___148 = 1000,
    _CS_LFS_LDFLAGS___148 = 1001,
    _CS_LFS_LIBS___148 = 1002,
    _CS_LFS_LINTFLAGS___148 = 1003,
    _CS_LFS64_CFLAGS___148 = 1004,
    _CS_LFS64_LDFLAGS___148 = 1005,
    _CS_LFS64_LIBS___148 = 1006,
    _CS_LFS64_LINTFLAGS___148 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___148 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___148 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___148 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___148 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___148 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___148 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___148 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___148 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___148 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___148 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___148 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___148 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___148 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___148 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___148 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___148 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___148 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___148 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___148 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___148 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___148 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___148 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___148 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___148 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___148 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___148 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___148 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___148 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___148 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___148 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___148 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___148 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___148 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___148 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___148 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___148 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___148 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___148 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___148 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___148 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___148 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___148 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___148 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___148 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___148 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___148 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___148 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___148 = 1147,
    _CS_V6_ENV___148 = 1148,
    _CS_V7_ENV___148 = 1149
} ;
enum __anonenum_513775621___148 {
    DT_UNKNOWN___148 = 0,
    DT_FIFO___148 = 1,
    DT_CHR___148 = 2,
    DT_DIR___148 = 4,
    DT_BLK___148 = 6,
    DT_REG___148 = 8,
    DT_LNK___148 = 10,
    DT_SOCK___148 = 12,
    DT_WHT___148 = 14
} ;
enum __anonenum_77002343___148 {
    SI_ASYNCNL___148 = -60,
    SI_TKILL___148 = -6,
    SI_SIGIO___148 = -5,
    SI_ASYNCIO___148 = -4,
    SI_MESGQ___148 = -3,
    SI_TIMER___148 = -2,
    SI_QUEUE___148 = -1,
    SI_USER___148 = 0,
    SI_KERNEL___148 = 128
} ;
enum __anonenum_131038172___148 {
    ILL_ILLOPC___148 = 1,
    ILL_ILLOPN___148 = 2,
    ILL_ILLADR___148 = 3,
    ILL_ILLTRP___148 = 4,
    ILL_PRVOPC___148 = 5,
    ILL_PRVREG___148 = 6,
    ILL_COPROC___148 = 7,
    ILL_BADSTK___148 = 8
} ;
enum __anonenum_452038093___148 {
    FPE_INTDIV___148 = 1,
    FPE_INTOVF___148 = 2,
    FPE_FLTDIV___148 = 3,
    FPE_FLTOVF___148 = 4,
    FPE_FLTUND___148 = 5,
    FPE_FLTRES___148 = 6,
    FPE_FLTINV___148 = 7,
    FPE_FLTSUB___148 = 8
} ;
enum __anonenum_30976155___148 {
    SEGV_MAPERR___148 = 1,
    SEGV_ACCERR___148 = 2,
    SEGV_BNDERR___148 = 3,
    SEGV_PKUERR___148 = 4
} ;
enum __anonenum_1036286214___148 {
    BUS_ADRALN___148 = 1,
    BUS_ADRERR___148 = 2,
    BUS_OBJERR___148 = 3,
    BUS_MCEERR_AR___148 = 4,
    BUS_MCEERR_AO___148 = 5
} ;
enum __anonenum_493465559___148 {
    TRAP_BRKPT___148 = 1,
    TRAP_TRACE___148 = 2
} ;
enum __anonenum_23175539___148 {
    CLD_EXITED___148 = 1,
    CLD_KILLED___148 = 2,
    CLD_DUMPED___148 = 3,
    CLD_TRAPPED___148 = 4,
    CLD_STOPPED___148 = 5,
    CLD_CONTINUED___148 = 6
} ;
enum __anonenum_111643124___148 {
    POLL_IN___148 = 1,
    POLL_OUT___148 = 2,
    POLL_MSG___148 = 3,
    POLL_ERR___148 = 4,
    POLL_PRI___148 = 5,
    POLL_HUP___148 = 6
} ;
enum __anonenum_852341087___148 {
    SIGEV_SIGNAL___148 = 0,
    SIGEV_NONE___148 = 1,
    SIGEV_THREAD___148 = 2,
    SIGEV_THREAD_ID___148 = 4
} ;
enum __anonenum_451154152___148 {
    REG_R8___148 = 0,
    REG_R9___148 = 1,
    REG_R10___148 = 2,
    REG_R11___148 = 3,
    REG_R12___148 = 4,
    REG_R13___148 = 5,
    REG_R14___148 = 6,
    REG_R15___148 = 7,
    REG_RDI___148 = 8,
    REG_RSI___148 = 9,
    REG_RBP___148 = 10,
    REG_RBX___148 = 11,
    REG_RDX___148 = 12,
    REG_RAX___148 = 13,
    REG_RCX___148 = 14,
    REG_RSP___148 = 15,
    REG_RIP___148 = 16,
    REG_EFL___148 = 17,
    REG_CSGSFS___148 = 18,
    REG_ERR___148 = 19,
    REG_TRAPNO___148 = 20,
    REG_OLDMASK___148 = 21,
    REG_CR2___148 = 22
} ;
enum __anonenum_57186863___148 {
    SS_ONSTACK___148 = 1,
    SS_DISABLE___148 = 2
} ;
enum __anonenum_83571709___148 {
    MSG_OOB___148 = 1,
    MSG_PEEK___148 = 2,
    MSG_DONTROUTE___148 = 4,
    MSG_TRYHARD___148 = 4,
    MSG_CTRUNC___148 = 8,
    MSG_PROXY___148 = 16,
    MSG_TRUNC___148 = 32,
    MSG_DONTWAIT___148 = 64,
    MSG_EOR___148 = 128,
    MSG_WAITALL___148 = 256,
    MSG_FIN___148 = 512,
    MSG_SYN___148 = 1024,
    MSG_CONFIRM___148 = 2048,
    MSG_RST___148 = 4096,
    MSG_ERRQUEUE___148 = 8192,
    MSG_NOSIGNAL___148 = 16384,
    MSG_MORE___148 = 32768,
    MSG_WAITFORONE___148 = 65536,
    MSG_BATCH___148 = 262144,
    MSG_ZEROCOPY___148 = 67108864,
    MSG_FASTOPEN___148 = 536870912,
    MSG_CMSG_CLOEXEC___148 = 1073741824
} ;
enum __anonenum_617082774___148 {
    SCM_RIGHTS___148 = 1,
    SCM_CREDENTIALS___148 = 2
} ;
enum __anonenum_606441560___148 {
    SHUT_RD___148 = 0,
    SHUT_WR___148 = 1,
    SHUT_RDWR___148 = 2
} ;
enum __anonenum_681669233___148 {
    IPPROTO_IP___148 = 0,
    IPPROTO_ICMP___148 = 1,
    IPPROTO_IGMP___148 = 2,
    IPPROTO_IPIP___148 = 4,
    IPPROTO_TCP___148 = 6,
    IPPROTO_EGP___148 = 8,
    IPPROTO_PUP___148 = 12,
    IPPROTO_UDP___148 = 17,
    IPPROTO_IDP___148 = 22,
    IPPROTO_TP___148 = 29,
    IPPROTO_DCCP___148 = 33,
    IPPROTO_IPV6___148 = 41,
    IPPROTO_RSVP___148 = 46,
    IPPROTO_GRE___148 = 47,
    IPPROTO_ESP___148 = 50,
    IPPROTO_AH___148 = 51,
    IPPROTO_MTP___148 = 92,
    IPPROTO_BEETPH___148 = 94,
    IPPROTO_ENCAP___148 = 98,
    IPPROTO_PIM___148 = 103,
    IPPROTO_COMP___148 = 108,
    IPPROTO_SCTP___148 = 132,
    IPPROTO_UDPLITE___148 = 136,
    IPPROTO_MPLS___148 = 137,
    IPPROTO_RAW___148 = 255,
    IPPROTO_MAX___148 = 256
} ;
enum __anonenum_218739988___148 {
    IPPROTO_HOPOPTS___148 = 0,
    IPPROTO_ROUTING___148 = 43,
    IPPROTO_FRAGMENT___148 = 44,
    IPPROTO_ICMPV6___148 = 58,
    IPPROTO_NONE___148 = 59,
    IPPROTO_DSTOPTS___148 = 60,
    IPPROTO_MH___148 = 135
} ;
enum __anonenum_662268580___148 {
    IPPORT_ECHO___148 = 7,
    IPPORT_DISCARD___148 = 9,
    IPPORT_SYSTAT___148 = 11,
    IPPORT_DAYTIME___148 = 13,
    IPPORT_NETSTAT___148 = 15,
    IPPORT_FTP___148 = 21,
    IPPORT_TELNET___148 = 23,
    IPPORT_SMTP___148 = 25,
    IPPORT_TIMESERVER___148 = 37,
    IPPORT_NAMESERVER___148 = 42,
    IPPORT_WHOIS___148 = 43,
    IPPORT_MTP___148 = 57,
    IPPORT_TFTP___148 = 69,
    IPPORT_RJE___148 = 77,
    IPPORT_FINGER___148 = 79,
    IPPORT_TTYLINK___148 = 87,
    IPPORT_SUPDUP___148 = 95,
    IPPORT_EXECSERVER___148 = 512,
    IPPORT_LOGINSERVER___148 = 513,
    IPPORT_CMDSERVER___148 = 514,
    IPPORT_EFSSERVER___148 = 520,
    IPPORT_BIFFUDP___148 = 512,
    IPPORT_WHOSERVER___148 = 513,
    IPPORT_ROUTESERVER___148 = 520,
    IPPORT_RESERVED___148 = 1024,
    IPPORT_USERRESERVED___148 = 5000
} ;
enum __anonenum_788308992___148 {
    TCP_ESTABLISHED___148 = 1,
    TCP_SYN_SENT___148 = 2,
    TCP_SYN_RECV___148 = 3,
    TCP_FIN_WAIT1___148 = 4,
    TCP_FIN_WAIT2___148 = 5,
    TCP_TIME_WAIT___148 = 6,
    TCP_CLOSE___148 = 7,
    TCP_CLOSE_WAIT___148 = 8,
    TCP_LAST_ACK___148 = 9,
    TCP_LISTEN___148 = 10,
    TCP_CLOSING___148 = 11
} ;
enum __anonenum_221125648___148 {
    TCP_NO_QUEUE___148 = 0,
    TCP_RECV_QUEUE___148 = 1,
    TCP_SEND_QUEUE___148 = 2,
    TCP_QUEUES_NR___148 = 3
} ;
enum __anonenum_34415463___148 {
    PTHREAD_CREATE_JOINABLE___148 = 0,
    PTHREAD_CREATE_DETACHED___148 = 1
} ;
enum __anonenum_303612439___148 {
    PTHREAD_MUTEX_TIMED_NP___148 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___148 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___148 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___148 = 3,
    PTHREAD_MUTEX_NORMAL___148 = 0,
    PTHREAD_MUTEX_RECURSIVE___148 = 1,
    PTHREAD_MUTEX_ERRORCHECK___148 = 2,
    PTHREAD_MUTEX_DEFAULT___148 = 0,
    PTHREAD_MUTEX_FAST_NP___148 = 0
} ;
enum __anonenum_931900394___148 {
    PTHREAD_MUTEX_STALLED___148 = 0,
    PTHREAD_MUTEX_STALLED_NP___148 = 0,
    PTHREAD_MUTEX_ROBUST___148 = 1,
    PTHREAD_MUTEX_ROBUST_NP___148 = 1
} ;
enum __anonenum_205214487___148 {
    PTHREAD_PRIO_NONE___148 = 0,
    PTHREAD_PRIO_INHERIT___148 = 1,
    PTHREAD_PRIO_PROTECT___148 = 2
} ;
enum __anonenum_25043950___148 {
    PTHREAD_RWLOCK_PREFER_READER_NP___148 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___148 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___148 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___148 = 0
} ;
enum __anonenum_436439511___148 {
    PTHREAD_INHERIT_SCHED___148 = 0,
    PTHREAD_EXPLICIT_SCHED___148 = 1
} ;
enum __anonenum_998661166___148 {
    PTHREAD_SCOPE_SYSTEM___148 = 0,
    PTHREAD_SCOPE_PROCESS___148 = 1
} ;
enum __anonenum_146137331___148 {
    PTHREAD_PROCESS_PRIVATE___148 = 0,
    PTHREAD_PROCESS_SHARED___148 = 1
} ;
enum __anonenum_53396917___148 {
    PTHREAD_CANCEL_ENABLE___148 = 0,
    PTHREAD_CANCEL_DISABLE___148 = 1
} ;
enum __anonenum_904563783___148 {
    PTHREAD_CANCEL_DEFERRED___148 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___148 = 1
} ;
enum __anonenum_672052974___148 {
    SSL_CT_VALIDATION_PERMISSIVE___148 = 0,
    SSL_CT_VALIDATION_STRICT___148 = 1
} ;
struct patch_util {
   struct hashmap_entry e ;
   char const   *diff ;
   char const   *patch ;
   int i ;
   int shown ;
   int diffsize ;
   size_t diff_offset ;
   int matching ;
   struct object_id oid ;
};
enum __anonenum_437032235___149 {
    _PC_LINK_MAX___149 = 0,
    _PC_MAX_CANON___149 = 1,
    _PC_MAX_INPUT___149 = 2,
    _PC_NAME_MAX___149 = 3,
    _PC_PATH_MAX___149 = 4,
    _PC_PIPE_BUF___149 = 5,
    _PC_CHOWN_RESTRICTED___149 = 6,
    _PC_NO_TRUNC___149 = 7,
    _PC_VDISABLE___149 = 8,
    _PC_SYNC_IO___149 = 9,
    _PC_ASYNC_IO___149 = 10,
    _PC_PRIO_IO___149 = 11,
    _PC_SOCK_MAXBUF___149 = 12,
    _PC_FILESIZEBITS___149 = 13,
    _PC_REC_INCR_XFER_SIZE___149 = 14,
    _PC_REC_MAX_XFER_SIZE___149 = 15,
    _PC_REC_MIN_XFER_SIZE___149 = 16,
    _PC_REC_XFER_ALIGN___149 = 17,
    _PC_ALLOC_SIZE_MIN___149 = 18,
    _PC_SYMLINK_MAX___149 = 19,
    _PC_2_SYMLINKS___149 = 20
} ;
enum __anonenum_315186338___149 {
    _SC_ARG_MAX___149 = 0,
    _SC_CHILD_MAX___149 = 1,
    _SC_CLK_TCK___149 = 2,
    _SC_NGROUPS_MAX___149 = 3,
    _SC_OPEN_MAX___149 = 4,
    _SC_STREAM_MAX___149 = 5,
    _SC_TZNAME_MAX___149 = 6,
    _SC_JOB_CONTROL___149 = 7,
    _SC_SAVED_IDS___149 = 8,
    _SC_REALTIME_SIGNALS___149 = 9,
    _SC_PRIORITY_SCHEDULING___149 = 10,
    _SC_TIMERS___149 = 11,
    _SC_ASYNCHRONOUS_IO___149 = 12,
    _SC_PRIORITIZED_IO___149 = 13,
    _SC_SYNCHRONIZED_IO___149 = 14,
    _SC_FSYNC___149 = 15,
    _SC_MAPPED_FILES___149 = 16,
    _SC_MEMLOCK___149 = 17,
    _SC_MEMLOCK_RANGE___149 = 18,
    _SC_MEMORY_PROTECTION___149 = 19,
    _SC_MESSAGE_PASSING___149 = 20,
    _SC_SEMAPHORES___149 = 21,
    _SC_SHARED_MEMORY_OBJECTS___149 = 22,
    _SC_AIO_LISTIO_MAX___149 = 23,
    _SC_AIO_MAX___149 = 24,
    _SC_AIO_PRIO_DELTA_MAX___149 = 25,
    _SC_DELAYTIMER_MAX___149 = 26,
    _SC_MQ_OPEN_MAX___149 = 27,
    _SC_MQ_PRIO_MAX___149 = 28,
    _SC_VERSION___149 = 29,
    _SC_PAGESIZE___149 = 30,
    _SC_RTSIG_MAX___149 = 31,
    _SC_SEM_NSEMS_MAX___149 = 32,
    _SC_SEM_VALUE_MAX___149 = 33,
    _SC_SIGQUEUE_MAX___149 = 34,
    _SC_TIMER_MAX___149 = 35,
    _SC_BC_BASE_MAX___149 = 36,
    _SC_BC_DIM_MAX___149 = 37,
    _SC_BC_SCALE_MAX___149 = 38,
    _SC_BC_STRING_MAX___149 = 39,
    _SC_COLL_WEIGHTS_MAX___149 = 40,
    _SC_EQUIV_CLASS_MAX___149 = 41,
    _SC_EXPR_NEST_MAX___149 = 42,
    _SC_LINE_MAX___149 = 43,
    _SC_RE_DUP_MAX___149 = 44,
    _SC_CHARCLASS_NAME_MAX___149 = 45,
    _SC_2_VERSION___149 = 46,
    _SC_2_C_BIND___149 = 47,
    _SC_2_C_DEV___149 = 48,
    _SC_2_FORT_DEV___149 = 49,
    _SC_2_FORT_RUN___149 = 50,
    _SC_2_SW_DEV___149 = 51,
    _SC_2_LOCALEDEF___149 = 52,
    _SC_PII___149 = 53,
    _SC_PII_XTI___149 = 54,
    _SC_PII_SOCKET___149 = 55,
    _SC_PII_INTERNET___149 = 56,
    _SC_PII_OSI___149 = 57,
    _SC_POLL___149 = 58,
    _SC_SELECT___149 = 59,
    _SC_UIO_MAXIOV___149 = 60,
    _SC_IOV_MAX___149 = 60,
    _SC_PII_INTERNET_STREAM___149 = 61,
    _SC_PII_INTERNET_DGRAM___149 = 62,
    _SC_PII_OSI_COTS___149 = 63,
    _SC_PII_OSI_CLTS___149 = 64,
    _SC_PII_OSI_M___149 = 65,
    _SC_T_IOV_MAX___149 = 66,
    _SC_THREADS___149 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___149 = 68,
    _SC_GETGR_R_SIZE_MAX___149 = 69,
    _SC_GETPW_R_SIZE_MAX___149 = 70,
    _SC_LOGIN_NAME_MAX___149 = 71,
    _SC_TTY_NAME_MAX___149 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___149 = 73,
    _SC_THREAD_KEYS_MAX___149 = 74,
    _SC_THREAD_STACK_MIN___149 = 75,
    _SC_THREAD_THREADS_MAX___149 = 76,
    _SC_THREAD_ATTR_STACKADDR___149 = 77,
    _SC_THREAD_ATTR_STACKSIZE___149 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___149 = 79,
    _SC_THREAD_PRIO_INHERIT___149 = 80,
    _SC_THREAD_PRIO_PROTECT___149 = 81,
    _SC_THREAD_PROCESS_SHARED___149 = 82,
    _SC_NPROCESSORS_CONF___149 = 83,
    _SC_NPROCESSORS_ONLN___149 = 84,
    _SC_PHYS_PAGES___149 = 85,
    _SC_AVPHYS_PAGES___149 = 86,
    _SC_ATEXIT_MAX___149 = 87,
    _SC_PASS_MAX___149 = 88,
    _SC_XOPEN_VERSION___149 = 89,
    _SC_XOPEN_XCU_VERSION___149 = 90,
    _SC_XOPEN_UNIX___149 = 91,
    _SC_XOPEN_CRYPT___149 = 92,
    _SC_XOPEN_ENH_I18N___149 = 93,
    _SC_XOPEN_SHM___149 = 94,
    _SC_2_CHAR_TERM___149 = 95,
    _SC_2_C_VERSION___149 = 96,
    _SC_2_UPE___149 = 97,
    _SC_XOPEN_XPG2___149 = 98,
    _SC_XOPEN_XPG3___149 = 99,
    _SC_XOPEN_XPG4___149 = 100,
    _SC_CHAR_BIT___149 = 101,
    _SC_CHAR_MAX___149 = 102,
    _SC_CHAR_MIN___149 = 103,
    _SC_INT_MAX___149 = 104,
    _SC_INT_MIN___149 = 105,
    _SC_LONG_BIT___149 = 106,
    _SC_WORD_BIT___149 = 107,
    _SC_MB_LEN_MAX___149 = 108,
    _SC_NZERO___149 = 109,
    _SC_SSIZE_MAX___149 = 110,
    _SC_SCHAR_MAX___149 = 111,
    _SC_SCHAR_MIN___149 = 112,
    _SC_SHRT_MAX___149 = 113,
    _SC_SHRT_MIN___149 = 114,
    _SC_UCHAR_MAX___149 = 115,
    _SC_UINT_MAX___149 = 116,
    _SC_ULONG_MAX___149 = 117,
    _SC_USHRT_MAX___149 = 118,
    _SC_NL_ARGMAX___149 = 119,
    _SC_NL_LANGMAX___149 = 120,
    _SC_NL_MSGMAX___149 = 121,
    _SC_NL_NMAX___149 = 122,
    _SC_NL_SETMAX___149 = 123,
    _SC_NL_TEXTMAX___149 = 124,
    _SC_XBS5_ILP32_OFF32___149 = 125,
    _SC_XBS5_ILP32_OFFBIG___149 = 126,
    _SC_XBS5_LP64_OFF64___149 = 127,
    _SC_XBS5_LPBIG_OFFBIG___149 = 128,
    _SC_XOPEN_LEGACY___149 = 129,
    _SC_XOPEN_REALTIME___149 = 130,
    _SC_XOPEN_REALTIME_THREADS___149 = 131,
    _SC_ADVISORY_INFO___149 = 132,
    _SC_BARRIERS___149 = 133,
    _SC_BASE___149 = 134,
    _SC_C_LANG_SUPPORT___149 = 135,
    _SC_C_LANG_SUPPORT_R___149 = 136,
    _SC_CLOCK_SELECTION___149 = 137,
    _SC_CPUTIME___149 = 138,
    _SC_THREAD_CPUTIME___149 = 139,
    _SC_DEVICE_IO___149 = 140,
    _SC_DEVICE_SPECIFIC___149 = 141,
    _SC_DEVICE_SPECIFIC_R___149 = 142,
    _SC_FD_MGMT___149 = 143,
    _SC_FIFO___149 = 144,
    _SC_PIPE___149 = 145,
    _SC_FILE_ATTRIBUTES___149 = 146,
    _SC_FILE_LOCKING___149 = 147,
    _SC_FILE_SYSTEM___149 = 148,
    _SC_MONOTONIC_CLOCK___149 = 149,
    _SC_MULTI_PROCESS___149 = 150,
    _SC_SINGLE_PROCESS___149 = 151,
    _SC_NETWORKING___149 = 152,
    _SC_READER_WRITER_LOCKS___149 = 153,
    _SC_SPIN_LOCKS___149 = 154,
    _SC_REGEXP___149 = 155,
    _SC_REGEX_VERSION___149 = 156,
    _SC_SHELL___149 = 157,
    _SC_SIGNALS___149 = 158,
    _SC_SPAWN___149 = 159,
    _SC_SPORADIC_SERVER___149 = 160,
    _SC_THREAD_SPORADIC_SERVER___149 = 161,
    _SC_SYSTEM_DATABASE___149 = 162,
    _SC_SYSTEM_DATABASE_R___149 = 163,
    _SC_TIMEOUTS___149 = 164,
    _SC_TYPED_MEMORY_OBJECTS___149 = 165,
    _SC_USER_GROUPS___149 = 166,
    _SC_USER_GROUPS_R___149 = 167,
    _SC_2_PBS___149 = 168,
    _SC_2_PBS_ACCOUNTING___149 = 169,
    _SC_2_PBS_LOCATE___149 = 170,
    _SC_2_PBS_MESSAGE___149 = 171,
    _SC_2_PBS_TRACK___149 = 172,
    _SC_SYMLOOP_MAX___149 = 173,
    _SC_STREAMS___149 = 174,
    _SC_2_PBS_CHECKPOINT___149 = 175,
    _SC_V6_ILP32_OFF32___149 = 176,
    _SC_V6_ILP32_OFFBIG___149 = 177,
    _SC_V6_LP64_OFF64___149 = 178,
    _SC_V6_LPBIG_OFFBIG___149 = 179,
    _SC_HOST_NAME_MAX___149 = 180,
    _SC_TRACE___149 = 181,
    _SC_TRACE_EVENT_FILTER___149 = 182,
    _SC_TRACE_INHERIT___149 = 183,
    _SC_TRACE_LOG___149 = 184,
    _SC_LEVEL1_ICACHE_SIZE___149 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___149 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___149 = 187,
    _SC_LEVEL1_DCACHE_SIZE___149 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___149 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___149 = 190,
    _SC_LEVEL2_CACHE_SIZE___149 = 191,
    _SC_LEVEL2_CACHE_ASSOC___149 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___149 = 193,
    _SC_LEVEL3_CACHE_SIZE___149 = 194,
    _SC_LEVEL3_CACHE_ASSOC___149 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___149 = 196,
    _SC_LEVEL4_CACHE_SIZE___149 = 197,
    _SC_LEVEL4_CACHE_ASSOC___149 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___149 = 199,
    _SC_IPV6___149 = 235,
    _SC_RAW_SOCKETS___149 = 236,
    _SC_V7_ILP32_OFF32___149 = 237,
    _SC_V7_ILP32_OFFBIG___149 = 238,
    _SC_V7_LP64_OFF64___149 = 239,
    _SC_V7_LPBIG_OFFBIG___149 = 240,
    _SC_SS_REPL_MAX___149 = 241,
    _SC_TRACE_EVENT_NAME_MAX___149 = 242,
    _SC_TRACE_NAME_MAX___149 = 243,
    _SC_TRACE_SYS_MAX___149 = 244,
    _SC_TRACE_USER_EVENT_MAX___149 = 245,
    _SC_XOPEN_STREAMS___149 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___149 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___149 = 248
} ;
enum __anonenum_875524036___149 {
    _CS_PATH___149 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___149 = 1,
    _CS_GNU_LIBC_VERSION___149 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___149 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___149 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___149 = 5,
    _CS_LFS_CFLAGS___149 = 1000,
    _CS_LFS_LDFLAGS___149 = 1001,
    _CS_LFS_LIBS___149 = 1002,
    _CS_LFS_LINTFLAGS___149 = 1003,
    _CS_LFS64_CFLAGS___149 = 1004,
    _CS_LFS64_LDFLAGS___149 = 1005,
    _CS_LFS64_LIBS___149 = 1006,
    _CS_LFS64_LINTFLAGS___149 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___149 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___149 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___149 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___149 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___149 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___149 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___149 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___149 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___149 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___149 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___149 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___149 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___149 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___149 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___149 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___149 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___149 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___149 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___149 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___149 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___149 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___149 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___149 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___149 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___149 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___149 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___149 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___149 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___149 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___149 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___149 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___149 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___149 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___149 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___149 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___149 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___149 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___149 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___149 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___149 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___149 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___149 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___149 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___149 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___149 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___149 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___149 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___149 = 1147,
    _CS_V6_ENV___149 = 1148,
    _CS_V7_ENV___149 = 1149
} ;
enum __anonenum_513775621___149 {
    DT_UNKNOWN___149 = 0,
    DT_FIFO___149 = 1,
    DT_CHR___149 = 2,
    DT_DIR___149 = 4,
    DT_BLK___149 = 6,
    DT_REG___149 = 8,
    DT_LNK___149 = 10,
    DT_SOCK___149 = 12,
    DT_WHT___149 = 14
} ;
enum __anonenum_77002343___149 {
    SI_ASYNCNL___149 = -60,
    SI_TKILL___149 = -6,
    SI_SIGIO___149 = -5,
    SI_ASYNCIO___149 = -4,
    SI_MESGQ___149 = -3,
    SI_TIMER___149 = -2,
    SI_QUEUE___149 = -1,
    SI_USER___149 = 0,
    SI_KERNEL___149 = 128
} ;
enum __anonenum_131038172___149 {
    ILL_ILLOPC___149 = 1,
    ILL_ILLOPN___149 = 2,
    ILL_ILLADR___149 = 3,
    ILL_ILLTRP___149 = 4,
    ILL_PRVOPC___149 = 5,
    ILL_PRVREG___149 = 6,
    ILL_COPROC___149 = 7,
    ILL_BADSTK___149 = 8
} ;
enum __anonenum_452038093___149 {
    FPE_INTDIV___149 = 1,
    FPE_INTOVF___149 = 2,
    FPE_FLTDIV___149 = 3,
    FPE_FLTOVF___149 = 4,
    FPE_FLTUND___149 = 5,
    FPE_FLTRES___149 = 6,
    FPE_FLTINV___149 = 7,
    FPE_FLTSUB___149 = 8
} ;
enum __anonenum_30976155___149 {
    SEGV_MAPERR___149 = 1,
    SEGV_ACCERR___149 = 2,
    SEGV_BNDERR___149 = 3,
    SEGV_PKUERR___149 = 4
} ;
enum __anonenum_1036286214___149 {
    BUS_ADRALN___149 = 1,
    BUS_ADRERR___149 = 2,
    BUS_OBJERR___149 = 3,
    BUS_MCEERR_AR___149 = 4,
    BUS_MCEERR_AO___149 = 5
} ;
enum __anonenum_493465559___149 {
    TRAP_BRKPT___149 = 1,
    TRAP_TRACE___149 = 2
} ;
enum __anonenum_23175539___149 {
    CLD_EXITED___149 = 1,
    CLD_KILLED___149 = 2,
    CLD_DUMPED___149 = 3,
    CLD_TRAPPED___149 = 4,
    CLD_STOPPED___149 = 5,
    CLD_CONTINUED___149 = 6
} ;
enum __anonenum_111643124___149 {
    POLL_IN___149 = 1,
    POLL_OUT___149 = 2,
    POLL_MSG___149 = 3,
    POLL_ERR___149 = 4,
    POLL_PRI___149 = 5,
    POLL_HUP___149 = 6
} ;
enum __anonenum_852341087___149 {
    SIGEV_SIGNAL___149 = 0,
    SIGEV_NONE___149 = 1,
    SIGEV_THREAD___149 = 2,
    SIGEV_THREAD_ID___149 = 4
} ;
enum __anonenum_451154152___149 {
    REG_R8___149 = 0,
    REG_R9___149 = 1,
    REG_R10___149 = 2,
    REG_R11___149 = 3,
    REG_R12___149 = 4,
    REG_R13___149 = 5,
    REG_R14___149 = 6,
    REG_R15___149 = 7,
    REG_RDI___149 = 8,
    REG_RSI___149 = 9,
    REG_RBP___149 = 10,
    REG_RBX___149 = 11,
    REG_RDX___149 = 12,
    REG_RAX___149 = 13,
    REG_RCX___149 = 14,
    REG_RSP___149 = 15,
    REG_RIP___149 = 16,
    REG_EFL___149 = 17,
    REG_CSGSFS___149 = 18,
    REG_ERR___149 = 19,
    REG_TRAPNO___149 = 20,
    REG_OLDMASK___149 = 21,
    REG_CR2___149 = 22
} ;
enum __anonenum_57186863___149 {
    SS_ONSTACK___149 = 1,
    SS_DISABLE___149 = 2
} ;
enum __anonenum_83571709___149 {
    MSG_OOB___149 = 1,
    MSG_PEEK___149 = 2,
    MSG_DONTROUTE___149 = 4,
    MSG_TRYHARD___149 = 4,
    MSG_CTRUNC___149 = 8,
    MSG_PROXY___149 = 16,
    MSG_TRUNC___149 = 32,
    MSG_DONTWAIT___149 = 64,
    MSG_EOR___149 = 128,
    MSG_WAITALL___149 = 256,
    MSG_FIN___149 = 512,
    MSG_SYN___149 = 1024,
    MSG_CONFIRM___149 = 2048,
    MSG_RST___149 = 4096,
    MSG_ERRQUEUE___149 = 8192,
    MSG_NOSIGNAL___149 = 16384,
    MSG_MORE___149 = 32768,
    MSG_WAITFORONE___149 = 65536,
    MSG_BATCH___149 = 262144,
    MSG_ZEROCOPY___149 = 67108864,
    MSG_FASTOPEN___149 = 536870912,
    MSG_CMSG_CLOEXEC___149 = 1073741824
} ;
enum __anonenum_617082774___149 {
    SCM_RIGHTS___149 = 1,
    SCM_CREDENTIALS___149 = 2
} ;
enum __anonenum_606441560___149 {
    SHUT_RD___149 = 0,
    SHUT_WR___149 = 1,
    SHUT_RDWR___149 = 2
} ;
enum __anonenum_681669233___149 {
    IPPROTO_IP___149 = 0,
    IPPROTO_ICMP___149 = 1,
    IPPROTO_IGMP___149 = 2,
    IPPROTO_IPIP___149 = 4,
    IPPROTO_TCP___149 = 6,
    IPPROTO_EGP___149 = 8,
    IPPROTO_PUP___149 = 12,
    IPPROTO_UDP___149 = 17,
    IPPROTO_IDP___149 = 22,
    IPPROTO_TP___149 = 29,
    IPPROTO_DCCP___149 = 33,
    IPPROTO_IPV6___149 = 41,
    IPPROTO_RSVP___149 = 46,
    IPPROTO_GRE___149 = 47,
    IPPROTO_ESP___149 = 50,
    IPPROTO_AH___149 = 51,
    IPPROTO_MTP___149 = 92,
    IPPROTO_BEETPH___149 = 94,
    IPPROTO_ENCAP___149 = 98,
    IPPROTO_PIM___149 = 103,
    IPPROTO_COMP___149 = 108,
    IPPROTO_SCTP___149 = 132,
    IPPROTO_UDPLITE___149 = 136,
    IPPROTO_MPLS___149 = 137,
    IPPROTO_RAW___149 = 255,
    IPPROTO_MAX___149 = 256
} ;
enum __anonenum_218739988___149 {
    IPPROTO_HOPOPTS___149 = 0,
    IPPROTO_ROUTING___149 = 43,
    IPPROTO_FRAGMENT___149 = 44,
    IPPROTO_ICMPV6___149 = 58,
    IPPROTO_NONE___149 = 59,
    IPPROTO_DSTOPTS___149 = 60,
    IPPROTO_MH___149 = 135
} ;
enum __anonenum_662268580___149 {
    IPPORT_ECHO___149 = 7,
    IPPORT_DISCARD___149 = 9,
    IPPORT_SYSTAT___149 = 11,
    IPPORT_DAYTIME___149 = 13,
    IPPORT_NETSTAT___149 = 15,
    IPPORT_FTP___149 = 21,
    IPPORT_TELNET___149 = 23,
    IPPORT_SMTP___149 = 25,
    IPPORT_TIMESERVER___149 = 37,
    IPPORT_NAMESERVER___149 = 42,
    IPPORT_WHOIS___149 = 43,
    IPPORT_MTP___149 = 57,
    IPPORT_TFTP___149 = 69,
    IPPORT_RJE___149 = 77,
    IPPORT_FINGER___149 = 79,
    IPPORT_TTYLINK___149 = 87,
    IPPORT_SUPDUP___149 = 95,
    IPPORT_EXECSERVER___149 = 512,
    IPPORT_LOGINSERVER___149 = 513,
    IPPORT_CMDSERVER___149 = 514,
    IPPORT_EFSSERVER___149 = 520,
    IPPORT_BIFFUDP___149 = 512,
    IPPORT_WHOSERVER___149 = 513,
    IPPORT_ROUTESERVER___149 = 520,
    IPPORT_RESERVED___149 = 1024,
    IPPORT_USERRESERVED___149 = 5000
} ;
enum __anonenum_788308992___149 {
    TCP_ESTABLISHED___149 = 1,
    TCP_SYN_SENT___149 = 2,
    TCP_SYN_RECV___149 = 3,
    TCP_FIN_WAIT1___149 = 4,
    TCP_FIN_WAIT2___149 = 5,
    TCP_TIME_WAIT___149 = 6,
    TCP_CLOSE___149 = 7,
    TCP_CLOSE_WAIT___149 = 8,
    TCP_LAST_ACK___149 = 9,
    TCP_LISTEN___149 = 10,
    TCP_CLOSING___149 = 11
} ;
enum __anonenum_221125648___149 {
    TCP_NO_QUEUE___149 = 0,
    TCP_RECV_QUEUE___149 = 1,
    TCP_SEND_QUEUE___149 = 2,
    TCP_QUEUES_NR___149 = 3
} ;
enum __anonenum_34415463___149 {
    PTHREAD_CREATE_JOINABLE___149 = 0,
    PTHREAD_CREATE_DETACHED___149 = 1
} ;
enum __anonenum_303612439___149 {
    PTHREAD_MUTEX_TIMED_NP___149 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___149 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___149 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___149 = 3,
    PTHREAD_MUTEX_NORMAL___149 = 0,
    PTHREAD_MUTEX_RECURSIVE___149 = 1,
    PTHREAD_MUTEX_ERRORCHECK___149 = 2,
    PTHREAD_MUTEX_DEFAULT___149 = 0,
    PTHREAD_MUTEX_FAST_NP___149 = 0
} ;
enum __anonenum_931900394___149 {
    PTHREAD_MUTEX_STALLED___149 = 0,
    PTHREAD_MUTEX_STALLED_NP___149 = 0,
    PTHREAD_MUTEX_ROBUST___149 = 1,
    PTHREAD_MUTEX_ROBUST_NP___149 = 1
} ;
enum __anonenum_205214487___149 {
    PTHREAD_PRIO_NONE___149 = 0,
    PTHREAD_PRIO_INHERIT___149 = 1,
    PTHREAD_PRIO_PROTECT___149 = 2
} ;
enum __anonenum_25043950___149 {
    PTHREAD_RWLOCK_PREFER_READER_NP___149 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___149 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___149 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___149 = 0
} ;
enum __anonenum_436439511___149 {
    PTHREAD_INHERIT_SCHED___149 = 0,
    PTHREAD_EXPLICIT_SCHED___149 = 1
} ;
enum __anonenum_998661166___149 {
    PTHREAD_SCOPE_SYSTEM___149 = 0,
    PTHREAD_SCOPE_PROCESS___149 = 1
} ;
enum __anonenum_146137331___149 {
    PTHREAD_PROCESS_PRIVATE___149 = 0,
    PTHREAD_PROCESS_SHARED___149 = 1
} ;
enum __anonenum_53396917___149 {
    PTHREAD_CANCEL_ENABLE___149 = 0,
    PTHREAD_CANCEL_DISABLE___149 = 1
} ;
enum __anonenum_904563783___149 {
    PTHREAD_CANCEL_DEFERRED___149 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___149 = 1
} ;
enum __anonenum_672052974___149 {
    SSL_CT_VALIDATION_PERMISSIVE___149 = 0,
    SSL_CT_VALIDATION_STRICT___149 = 1
} ;
struct connectivity_progress {
   struct progress *progress ;
   unsigned long count ;
};
struct recent_data {
   struct rev_info *revs ;
   timestamp_t timestamp ;
};
enum __anonenum_437032235___150 {
    _PC_LINK_MAX___150 = 0,
    _PC_MAX_CANON___150 = 1,
    _PC_MAX_INPUT___150 = 2,
    _PC_NAME_MAX___150 = 3,
    _PC_PATH_MAX___150 = 4,
    _PC_PIPE_BUF___150 = 5,
    _PC_CHOWN_RESTRICTED___150 = 6,
    _PC_NO_TRUNC___150 = 7,
    _PC_VDISABLE___150 = 8,
    _PC_SYNC_IO___150 = 9,
    _PC_ASYNC_IO___150 = 10,
    _PC_PRIO_IO___150 = 11,
    _PC_SOCK_MAXBUF___150 = 12,
    _PC_FILESIZEBITS___150 = 13,
    _PC_REC_INCR_XFER_SIZE___150 = 14,
    _PC_REC_MAX_XFER_SIZE___150 = 15,
    _PC_REC_MIN_XFER_SIZE___150 = 16,
    _PC_REC_XFER_ALIGN___150 = 17,
    _PC_ALLOC_SIZE_MIN___150 = 18,
    _PC_SYMLINK_MAX___150 = 19,
    _PC_2_SYMLINKS___150 = 20
} ;
enum __anonenum_315186338___150 {
    _SC_ARG_MAX___150 = 0,
    _SC_CHILD_MAX___150 = 1,
    _SC_CLK_TCK___150 = 2,
    _SC_NGROUPS_MAX___150 = 3,
    _SC_OPEN_MAX___150 = 4,
    _SC_STREAM_MAX___150 = 5,
    _SC_TZNAME_MAX___150 = 6,
    _SC_JOB_CONTROL___150 = 7,
    _SC_SAVED_IDS___150 = 8,
    _SC_REALTIME_SIGNALS___150 = 9,
    _SC_PRIORITY_SCHEDULING___150 = 10,
    _SC_TIMERS___150 = 11,
    _SC_ASYNCHRONOUS_IO___150 = 12,
    _SC_PRIORITIZED_IO___150 = 13,
    _SC_SYNCHRONIZED_IO___150 = 14,
    _SC_FSYNC___150 = 15,
    _SC_MAPPED_FILES___150 = 16,
    _SC_MEMLOCK___150 = 17,
    _SC_MEMLOCK_RANGE___150 = 18,
    _SC_MEMORY_PROTECTION___150 = 19,
    _SC_MESSAGE_PASSING___150 = 20,
    _SC_SEMAPHORES___150 = 21,
    _SC_SHARED_MEMORY_OBJECTS___150 = 22,
    _SC_AIO_LISTIO_MAX___150 = 23,
    _SC_AIO_MAX___150 = 24,
    _SC_AIO_PRIO_DELTA_MAX___150 = 25,
    _SC_DELAYTIMER_MAX___150 = 26,
    _SC_MQ_OPEN_MAX___150 = 27,
    _SC_MQ_PRIO_MAX___150 = 28,
    _SC_VERSION___150 = 29,
    _SC_PAGESIZE___150 = 30,
    _SC_RTSIG_MAX___150 = 31,
    _SC_SEM_NSEMS_MAX___150 = 32,
    _SC_SEM_VALUE_MAX___150 = 33,
    _SC_SIGQUEUE_MAX___150 = 34,
    _SC_TIMER_MAX___150 = 35,
    _SC_BC_BASE_MAX___150 = 36,
    _SC_BC_DIM_MAX___150 = 37,
    _SC_BC_SCALE_MAX___150 = 38,
    _SC_BC_STRING_MAX___150 = 39,
    _SC_COLL_WEIGHTS_MAX___150 = 40,
    _SC_EQUIV_CLASS_MAX___150 = 41,
    _SC_EXPR_NEST_MAX___150 = 42,
    _SC_LINE_MAX___150 = 43,
    _SC_RE_DUP_MAX___150 = 44,
    _SC_CHARCLASS_NAME_MAX___150 = 45,
    _SC_2_VERSION___150 = 46,
    _SC_2_C_BIND___150 = 47,
    _SC_2_C_DEV___150 = 48,
    _SC_2_FORT_DEV___150 = 49,
    _SC_2_FORT_RUN___150 = 50,
    _SC_2_SW_DEV___150 = 51,
    _SC_2_LOCALEDEF___150 = 52,
    _SC_PII___150 = 53,
    _SC_PII_XTI___150 = 54,
    _SC_PII_SOCKET___150 = 55,
    _SC_PII_INTERNET___150 = 56,
    _SC_PII_OSI___150 = 57,
    _SC_POLL___150 = 58,
    _SC_SELECT___150 = 59,
    _SC_UIO_MAXIOV___150 = 60,
    _SC_IOV_MAX___150 = 60,
    _SC_PII_INTERNET_STREAM___150 = 61,
    _SC_PII_INTERNET_DGRAM___150 = 62,
    _SC_PII_OSI_COTS___150 = 63,
    _SC_PII_OSI_CLTS___150 = 64,
    _SC_PII_OSI_M___150 = 65,
    _SC_T_IOV_MAX___150 = 66,
    _SC_THREADS___150 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___150 = 68,
    _SC_GETGR_R_SIZE_MAX___150 = 69,
    _SC_GETPW_R_SIZE_MAX___150 = 70,
    _SC_LOGIN_NAME_MAX___150 = 71,
    _SC_TTY_NAME_MAX___150 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___150 = 73,
    _SC_THREAD_KEYS_MAX___150 = 74,
    _SC_THREAD_STACK_MIN___150 = 75,
    _SC_THREAD_THREADS_MAX___150 = 76,
    _SC_THREAD_ATTR_STACKADDR___150 = 77,
    _SC_THREAD_ATTR_STACKSIZE___150 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___150 = 79,
    _SC_THREAD_PRIO_INHERIT___150 = 80,
    _SC_THREAD_PRIO_PROTECT___150 = 81,
    _SC_THREAD_PROCESS_SHARED___150 = 82,
    _SC_NPROCESSORS_CONF___150 = 83,
    _SC_NPROCESSORS_ONLN___150 = 84,
    _SC_PHYS_PAGES___150 = 85,
    _SC_AVPHYS_PAGES___150 = 86,
    _SC_ATEXIT_MAX___150 = 87,
    _SC_PASS_MAX___150 = 88,
    _SC_XOPEN_VERSION___150 = 89,
    _SC_XOPEN_XCU_VERSION___150 = 90,
    _SC_XOPEN_UNIX___150 = 91,
    _SC_XOPEN_CRYPT___150 = 92,
    _SC_XOPEN_ENH_I18N___150 = 93,
    _SC_XOPEN_SHM___150 = 94,
    _SC_2_CHAR_TERM___150 = 95,
    _SC_2_C_VERSION___150 = 96,
    _SC_2_UPE___150 = 97,
    _SC_XOPEN_XPG2___150 = 98,
    _SC_XOPEN_XPG3___150 = 99,
    _SC_XOPEN_XPG4___150 = 100,
    _SC_CHAR_BIT___150 = 101,
    _SC_CHAR_MAX___150 = 102,
    _SC_CHAR_MIN___150 = 103,
    _SC_INT_MAX___150 = 104,
    _SC_INT_MIN___150 = 105,
    _SC_LONG_BIT___150 = 106,
    _SC_WORD_BIT___150 = 107,
    _SC_MB_LEN_MAX___150 = 108,
    _SC_NZERO___150 = 109,
    _SC_SSIZE_MAX___150 = 110,
    _SC_SCHAR_MAX___150 = 111,
    _SC_SCHAR_MIN___150 = 112,
    _SC_SHRT_MAX___150 = 113,
    _SC_SHRT_MIN___150 = 114,
    _SC_UCHAR_MAX___150 = 115,
    _SC_UINT_MAX___150 = 116,
    _SC_ULONG_MAX___150 = 117,
    _SC_USHRT_MAX___150 = 118,
    _SC_NL_ARGMAX___150 = 119,
    _SC_NL_LANGMAX___150 = 120,
    _SC_NL_MSGMAX___150 = 121,
    _SC_NL_NMAX___150 = 122,
    _SC_NL_SETMAX___150 = 123,
    _SC_NL_TEXTMAX___150 = 124,
    _SC_XBS5_ILP32_OFF32___150 = 125,
    _SC_XBS5_ILP32_OFFBIG___150 = 126,
    _SC_XBS5_LP64_OFF64___150 = 127,
    _SC_XBS5_LPBIG_OFFBIG___150 = 128,
    _SC_XOPEN_LEGACY___150 = 129,
    _SC_XOPEN_REALTIME___150 = 130,
    _SC_XOPEN_REALTIME_THREADS___150 = 131,
    _SC_ADVISORY_INFO___150 = 132,
    _SC_BARRIERS___150 = 133,
    _SC_BASE___150 = 134,
    _SC_C_LANG_SUPPORT___150 = 135,
    _SC_C_LANG_SUPPORT_R___150 = 136,
    _SC_CLOCK_SELECTION___150 = 137,
    _SC_CPUTIME___150 = 138,
    _SC_THREAD_CPUTIME___150 = 139,
    _SC_DEVICE_IO___150 = 140,
    _SC_DEVICE_SPECIFIC___150 = 141,
    _SC_DEVICE_SPECIFIC_R___150 = 142,
    _SC_FD_MGMT___150 = 143,
    _SC_FIFO___150 = 144,
    _SC_PIPE___150 = 145,
    _SC_FILE_ATTRIBUTES___150 = 146,
    _SC_FILE_LOCKING___150 = 147,
    _SC_FILE_SYSTEM___150 = 148,
    _SC_MONOTONIC_CLOCK___150 = 149,
    _SC_MULTI_PROCESS___150 = 150,
    _SC_SINGLE_PROCESS___150 = 151,
    _SC_NETWORKING___150 = 152,
    _SC_READER_WRITER_LOCKS___150 = 153,
    _SC_SPIN_LOCKS___150 = 154,
    _SC_REGEXP___150 = 155,
    _SC_REGEX_VERSION___150 = 156,
    _SC_SHELL___150 = 157,
    _SC_SIGNALS___150 = 158,
    _SC_SPAWN___150 = 159,
    _SC_SPORADIC_SERVER___150 = 160,
    _SC_THREAD_SPORADIC_SERVER___150 = 161,
    _SC_SYSTEM_DATABASE___150 = 162,
    _SC_SYSTEM_DATABASE_R___150 = 163,
    _SC_TIMEOUTS___150 = 164,
    _SC_TYPED_MEMORY_OBJECTS___150 = 165,
    _SC_USER_GROUPS___150 = 166,
    _SC_USER_GROUPS_R___150 = 167,
    _SC_2_PBS___150 = 168,
    _SC_2_PBS_ACCOUNTING___150 = 169,
    _SC_2_PBS_LOCATE___150 = 170,
    _SC_2_PBS_MESSAGE___150 = 171,
    _SC_2_PBS_TRACK___150 = 172,
    _SC_SYMLOOP_MAX___150 = 173,
    _SC_STREAMS___150 = 174,
    _SC_2_PBS_CHECKPOINT___150 = 175,
    _SC_V6_ILP32_OFF32___150 = 176,
    _SC_V6_ILP32_OFFBIG___150 = 177,
    _SC_V6_LP64_OFF64___150 = 178,
    _SC_V6_LPBIG_OFFBIG___150 = 179,
    _SC_HOST_NAME_MAX___150 = 180,
    _SC_TRACE___150 = 181,
    _SC_TRACE_EVENT_FILTER___150 = 182,
    _SC_TRACE_INHERIT___150 = 183,
    _SC_TRACE_LOG___150 = 184,
    _SC_LEVEL1_ICACHE_SIZE___150 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___150 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___150 = 187,
    _SC_LEVEL1_DCACHE_SIZE___150 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___150 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___150 = 190,
    _SC_LEVEL2_CACHE_SIZE___150 = 191,
    _SC_LEVEL2_CACHE_ASSOC___150 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___150 = 193,
    _SC_LEVEL3_CACHE_SIZE___150 = 194,
    _SC_LEVEL3_CACHE_ASSOC___150 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___150 = 196,
    _SC_LEVEL4_CACHE_SIZE___150 = 197,
    _SC_LEVEL4_CACHE_ASSOC___150 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___150 = 199,
    _SC_IPV6___150 = 235,
    _SC_RAW_SOCKETS___150 = 236,
    _SC_V7_ILP32_OFF32___150 = 237,
    _SC_V7_ILP32_OFFBIG___150 = 238,
    _SC_V7_LP64_OFF64___150 = 239,
    _SC_V7_LPBIG_OFFBIG___150 = 240,
    _SC_SS_REPL_MAX___150 = 241,
    _SC_TRACE_EVENT_NAME_MAX___150 = 242,
    _SC_TRACE_NAME_MAX___150 = 243,
    _SC_TRACE_SYS_MAX___150 = 244,
    _SC_TRACE_USER_EVENT_MAX___150 = 245,
    _SC_XOPEN_STREAMS___150 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___150 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___150 = 248
} ;
enum __anonenum_875524036___150 {
    _CS_PATH___150 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___150 = 1,
    _CS_GNU_LIBC_VERSION___150 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___150 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___150 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___150 = 5,
    _CS_LFS_CFLAGS___150 = 1000,
    _CS_LFS_LDFLAGS___150 = 1001,
    _CS_LFS_LIBS___150 = 1002,
    _CS_LFS_LINTFLAGS___150 = 1003,
    _CS_LFS64_CFLAGS___150 = 1004,
    _CS_LFS64_LDFLAGS___150 = 1005,
    _CS_LFS64_LIBS___150 = 1006,
    _CS_LFS64_LINTFLAGS___150 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___150 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___150 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___150 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___150 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___150 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___150 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___150 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___150 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___150 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___150 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___150 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___150 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___150 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___150 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___150 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___150 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___150 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___150 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___150 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___150 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___150 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___150 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___150 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___150 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___150 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___150 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___150 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___150 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___150 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___150 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___150 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___150 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___150 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___150 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___150 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___150 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___150 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___150 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___150 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___150 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___150 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___150 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___150 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___150 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___150 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___150 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___150 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___150 = 1147,
    _CS_V6_ENV___150 = 1148,
    _CS_V7_ENV___150 = 1149
} ;
enum __anonenum_513775621___150 {
    DT_UNKNOWN___150 = 0,
    DT_FIFO___150 = 1,
    DT_CHR___150 = 2,
    DT_DIR___150 = 4,
    DT_BLK___150 = 6,
    DT_REG___150 = 8,
    DT_LNK___150 = 10,
    DT_SOCK___150 = 12,
    DT_WHT___150 = 14
} ;
enum __anonenum_77002343___150 {
    SI_ASYNCNL___150 = -60,
    SI_TKILL___150 = -6,
    SI_SIGIO___150 = -5,
    SI_ASYNCIO___150 = -4,
    SI_MESGQ___150 = -3,
    SI_TIMER___150 = -2,
    SI_QUEUE___150 = -1,
    SI_USER___150 = 0,
    SI_KERNEL___150 = 128
} ;
enum __anonenum_131038172___150 {
    ILL_ILLOPC___150 = 1,
    ILL_ILLOPN___150 = 2,
    ILL_ILLADR___150 = 3,
    ILL_ILLTRP___150 = 4,
    ILL_PRVOPC___150 = 5,
    ILL_PRVREG___150 = 6,
    ILL_COPROC___150 = 7,
    ILL_BADSTK___150 = 8
} ;
enum __anonenum_452038093___150 {
    FPE_INTDIV___150 = 1,
    FPE_INTOVF___150 = 2,
    FPE_FLTDIV___150 = 3,
    FPE_FLTOVF___150 = 4,
    FPE_FLTUND___150 = 5,
    FPE_FLTRES___150 = 6,
    FPE_FLTINV___150 = 7,
    FPE_FLTSUB___150 = 8
} ;
enum __anonenum_30976155___150 {
    SEGV_MAPERR___150 = 1,
    SEGV_ACCERR___150 = 2,
    SEGV_BNDERR___150 = 3,
    SEGV_PKUERR___150 = 4
} ;
enum __anonenum_1036286214___150 {
    BUS_ADRALN___150 = 1,
    BUS_ADRERR___150 = 2,
    BUS_OBJERR___150 = 3,
    BUS_MCEERR_AR___150 = 4,
    BUS_MCEERR_AO___150 = 5
} ;
enum __anonenum_493465559___150 {
    TRAP_BRKPT___150 = 1,
    TRAP_TRACE___150 = 2
} ;
enum __anonenum_23175539___150 {
    CLD_EXITED___150 = 1,
    CLD_KILLED___150 = 2,
    CLD_DUMPED___150 = 3,
    CLD_TRAPPED___150 = 4,
    CLD_STOPPED___150 = 5,
    CLD_CONTINUED___150 = 6
} ;
enum __anonenum_111643124___150 {
    POLL_IN___150 = 1,
    POLL_OUT___150 = 2,
    POLL_MSG___150 = 3,
    POLL_ERR___150 = 4,
    POLL_PRI___150 = 5,
    POLL_HUP___150 = 6
} ;
enum __anonenum_852341087___150 {
    SIGEV_SIGNAL___150 = 0,
    SIGEV_NONE___150 = 1,
    SIGEV_THREAD___150 = 2,
    SIGEV_THREAD_ID___150 = 4
} ;
enum __anonenum_451154152___150 {
    REG_R8___150 = 0,
    REG_R9___150 = 1,
    REG_R10___150 = 2,
    REG_R11___150 = 3,
    REG_R12___150 = 4,
    REG_R13___150 = 5,
    REG_R14___150 = 6,
    REG_R15___150 = 7,
    REG_RDI___150 = 8,
    REG_RSI___150 = 9,
    REG_RBP___150 = 10,
    REG_RBX___150 = 11,
    REG_RDX___150 = 12,
    REG_RAX___150 = 13,
    REG_RCX___150 = 14,
    REG_RSP___150 = 15,
    REG_RIP___150 = 16,
    REG_EFL___150 = 17,
    REG_CSGSFS___150 = 18,
    REG_ERR___150 = 19,
    REG_TRAPNO___150 = 20,
    REG_OLDMASK___150 = 21,
    REG_CR2___150 = 22
} ;
enum __anonenum_57186863___150 {
    SS_ONSTACK___150 = 1,
    SS_DISABLE___150 = 2
} ;
enum __anonenum_83571709___150 {
    MSG_OOB___150 = 1,
    MSG_PEEK___150 = 2,
    MSG_DONTROUTE___150 = 4,
    MSG_TRYHARD___150 = 4,
    MSG_CTRUNC___150 = 8,
    MSG_PROXY___150 = 16,
    MSG_TRUNC___150 = 32,
    MSG_DONTWAIT___150 = 64,
    MSG_EOR___150 = 128,
    MSG_WAITALL___150 = 256,
    MSG_FIN___150 = 512,
    MSG_SYN___150 = 1024,
    MSG_CONFIRM___150 = 2048,
    MSG_RST___150 = 4096,
    MSG_ERRQUEUE___150 = 8192,
    MSG_NOSIGNAL___150 = 16384,
    MSG_MORE___150 = 32768,
    MSG_WAITFORONE___150 = 65536,
    MSG_BATCH___150 = 262144,
    MSG_ZEROCOPY___150 = 67108864,
    MSG_FASTOPEN___150 = 536870912,
    MSG_CMSG_CLOEXEC___150 = 1073741824
} ;
enum __anonenum_617082774___150 {
    SCM_RIGHTS___150 = 1,
    SCM_CREDENTIALS___150 = 2
} ;
enum __anonenum_606441560___150 {
    SHUT_RD___150 = 0,
    SHUT_WR___150 = 1,
    SHUT_RDWR___150 = 2
} ;
enum __anonenum_681669233___150 {
    IPPROTO_IP___150 = 0,
    IPPROTO_ICMP___150 = 1,
    IPPROTO_IGMP___150 = 2,
    IPPROTO_IPIP___150 = 4,
    IPPROTO_TCP___150 = 6,
    IPPROTO_EGP___150 = 8,
    IPPROTO_PUP___150 = 12,
    IPPROTO_UDP___150 = 17,
    IPPROTO_IDP___150 = 22,
    IPPROTO_TP___150 = 29,
    IPPROTO_DCCP___150 = 33,
    IPPROTO_IPV6___150 = 41,
    IPPROTO_RSVP___150 = 46,
    IPPROTO_GRE___150 = 47,
    IPPROTO_ESP___150 = 50,
    IPPROTO_AH___150 = 51,
    IPPROTO_MTP___150 = 92,
    IPPROTO_BEETPH___150 = 94,
    IPPROTO_ENCAP___150 = 98,
    IPPROTO_PIM___150 = 103,
    IPPROTO_COMP___150 = 108,
    IPPROTO_SCTP___150 = 132,
    IPPROTO_UDPLITE___150 = 136,
    IPPROTO_MPLS___150 = 137,
    IPPROTO_RAW___150 = 255,
    IPPROTO_MAX___150 = 256
} ;
enum __anonenum_218739988___150 {
    IPPROTO_HOPOPTS___150 = 0,
    IPPROTO_ROUTING___150 = 43,
    IPPROTO_FRAGMENT___150 = 44,
    IPPROTO_ICMPV6___150 = 58,
    IPPROTO_NONE___150 = 59,
    IPPROTO_DSTOPTS___150 = 60,
    IPPROTO_MH___150 = 135
} ;
enum __anonenum_662268580___150 {
    IPPORT_ECHO___150 = 7,
    IPPORT_DISCARD___150 = 9,
    IPPORT_SYSTAT___150 = 11,
    IPPORT_DAYTIME___150 = 13,
    IPPORT_NETSTAT___150 = 15,
    IPPORT_FTP___150 = 21,
    IPPORT_TELNET___150 = 23,
    IPPORT_SMTP___150 = 25,
    IPPORT_TIMESERVER___150 = 37,
    IPPORT_NAMESERVER___150 = 42,
    IPPORT_WHOIS___150 = 43,
    IPPORT_MTP___150 = 57,
    IPPORT_TFTP___150 = 69,
    IPPORT_RJE___150 = 77,
    IPPORT_FINGER___150 = 79,
    IPPORT_TTYLINK___150 = 87,
    IPPORT_SUPDUP___150 = 95,
    IPPORT_EXECSERVER___150 = 512,
    IPPORT_LOGINSERVER___150 = 513,
    IPPORT_CMDSERVER___150 = 514,
    IPPORT_EFSSERVER___150 = 520,
    IPPORT_BIFFUDP___150 = 512,
    IPPORT_WHOSERVER___150 = 513,
    IPPORT_ROUTESERVER___150 = 520,
    IPPORT_RESERVED___150 = 1024,
    IPPORT_USERRESERVED___150 = 5000
} ;
enum __anonenum_788308992___150 {
    TCP_ESTABLISHED___150 = 1,
    TCP_SYN_SENT___150 = 2,
    TCP_SYN_RECV___150 = 3,
    TCP_FIN_WAIT1___150 = 4,
    TCP_FIN_WAIT2___150 = 5,
    TCP_TIME_WAIT___150 = 6,
    TCP_CLOSE___150 = 7,
    TCP_CLOSE_WAIT___150 = 8,
    TCP_LAST_ACK___150 = 9,
    TCP_LISTEN___150 = 10,
    TCP_CLOSING___150 = 11
} ;
enum __anonenum_221125648___150 {
    TCP_NO_QUEUE___150 = 0,
    TCP_RECV_QUEUE___150 = 1,
    TCP_SEND_QUEUE___150 = 2,
    TCP_QUEUES_NR___150 = 3
} ;
enum __anonenum_34415463___150 {
    PTHREAD_CREATE_JOINABLE___150 = 0,
    PTHREAD_CREATE_DETACHED___150 = 1
} ;
enum __anonenum_303612439___150 {
    PTHREAD_MUTEX_TIMED_NP___150 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___150 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___150 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___150 = 3,
    PTHREAD_MUTEX_NORMAL___150 = 0,
    PTHREAD_MUTEX_RECURSIVE___150 = 1,
    PTHREAD_MUTEX_ERRORCHECK___150 = 2,
    PTHREAD_MUTEX_DEFAULT___150 = 0,
    PTHREAD_MUTEX_FAST_NP___150 = 0
} ;
enum __anonenum_931900394___150 {
    PTHREAD_MUTEX_STALLED___150 = 0,
    PTHREAD_MUTEX_STALLED_NP___150 = 0,
    PTHREAD_MUTEX_ROBUST___150 = 1,
    PTHREAD_MUTEX_ROBUST_NP___150 = 1
} ;
enum __anonenum_205214487___150 {
    PTHREAD_PRIO_NONE___150 = 0,
    PTHREAD_PRIO_INHERIT___150 = 1,
    PTHREAD_PRIO_PROTECT___150 = 2
} ;
enum __anonenum_25043950___150 {
    PTHREAD_RWLOCK_PREFER_READER_NP___150 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___150 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___150 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___150 = 0
} ;
enum __anonenum_436439511___150 {
    PTHREAD_INHERIT_SCHED___150 = 0,
    PTHREAD_EXPLICIT_SCHED___150 = 1
} ;
enum __anonenum_998661166___150 {
    PTHREAD_SCOPE_SYSTEM___150 = 0,
    PTHREAD_SCOPE_PROCESS___150 = 1
} ;
enum __anonenum_146137331___150 {
    PTHREAD_PROCESS_PRIVATE___150 = 0,
    PTHREAD_PROCESS_SHARED___150 = 1
} ;
enum __anonenum_53396917___150 {
    PTHREAD_CANCEL_ENABLE___150 = 0,
    PTHREAD_CANCEL_DISABLE___150 = 1
} ;
enum __anonenum_904563783___150 {
    PTHREAD_CANCEL_DEFERRED___150 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___150 = 1
} ;
enum __anonenum_672052974___150 {
    SSL_CT_VALIDATION_PERMISSIVE___150 = 0,
    SSL_CT_VALIDATION_STRICT___150 = 1
} ;
struct split_index {
   struct object_id base_oid ;
   struct index_state *base ;
   struct ewah_bitmap *delete_bitmap ;
   struct ewah_bitmap *replace_bitmap ;
   struct cache_entry **saved_cache ;
   unsigned int saved_cache_nr ;
   unsigned int nr_deletions ;
   unsigned int nr_replacements ;
   int refcount ;
};
enum index_search_mode {
    NO_EXPAND_SPARSE = 0,
    EXPAND_SPARSE = 1
} ;
enum verify_path_result {
    PATH_OK = 0,
    PATH_INVALID = 1,
    PATH_DIR_WITH_SEP = 2
} ;
struct ondisk_cache_entry {
   struct cache_time ctime ;
   struct cache_time mtime ;
   uint32_t dev ;
   uint32_t ino ;
   uint32_t mode ;
   uint32_t uid ;
   uint32_t gid ;
   uint32_t size ;
   unsigned char data[32UL + 2UL * sizeof(uint16_t )] ;
   char name[] ;
};
struct index_entry_offset {
   int offset ;
   int nr ;
};
struct index_entry_offset_table {
   int nr ;
   struct index_entry_offset entries[] ;
};
struct load_index_extensions {
   pthread_t pthread ;
   struct index_state *istate ;
   char const   *mmap ;
   size_t mmap_size ;
   unsigned long src_offset ;
};
struct load_cache_entries_thread_data {
   pthread_t pthread ;
   struct index_state *istate ;
   struct mem_pool *ce_mem_pool ;
   int offset ;
   char const   *mmap ;
   struct index_entry_offset_table *ieot ;
   int ieot_start ;
   int ieot_blocks ;
   unsigned long consumed ;
};
enum __anonenum_437032235___151 {
    _PC_LINK_MAX___151 = 0,
    _PC_MAX_CANON___151 = 1,
    _PC_MAX_INPUT___151 = 2,
    _PC_NAME_MAX___151 = 3,
    _PC_PATH_MAX___151 = 4,
    _PC_PIPE_BUF___151 = 5,
    _PC_CHOWN_RESTRICTED___151 = 6,
    _PC_NO_TRUNC___151 = 7,
    _PC_VDISABLE___151 = 8,
    _PC_SYNC_IO___151 = 9,
    _PC_ASYNC_IO___151 = 10,
    _PC_PRIO_IO___151 = 11,
    _PC_SOCK_MAXBUF___151 = 12,
    _PC_FILESIZEBITS___151 = 13,
    _PC_REC_INCR_XFER_SIZE___151 = 14,
    _PC_REC_MAX_XFER_SIZE___151 = 15,
    _PC_REC_MIN_XFER_SIZE___151 = 16,
    _PC_REC_XFER_ALIGN___151 = 17,
    _PC_ALLOC_SIZE_MIN___151 = 18,
    _PC_SYMLINK_MAX___151 = 19,
    _PC_2_SYMLINKS___151 = 20
} ;
enum __anonenum_315186338___151 {
    _SC_ARG_MAX___151 = 0,
    _SC_CHILD_MAX___151 = 1,
    _SC_CLK_TCK___151 = 2,
    _SC_NGROUPS_MAX___151 = 3,
    _SC_OPEN_MAX___151 = 4,
    _SC_STREAM_MAX___151 = 5,
    _SC_TZNAME_MAX___151 = 6,
    _SC_JOB_CONTROL___151 = 7,
    _SC_SAVED_IDS___151 = 8,
    _SC_REALTIME_SIGNALS___151 = 9,
    _SC_PRIORITY_SCHEDULING___151 = 10,
    _SC_TIMERS___151 = 11,
    _SC_ASYNCHRONOUS_IO___151 = 12,
    _SC_PRIORITIZED_IO___151 = 13,
    _SC_SYNCHRONIZED_IO___151 = 14,
    _SC_FSYNC___151 = 15,
    _SC_MAPPED_FILES___151 = 16,
    _SC_MEMLOCK___151 = 17,
    _SC_MEMLOCK_RANGE___151 = 18,
    _SC_MEMORY_PROTECTION___151 = 19,
    _SC_MESSAGE_PASSING___151 = 20,
    _SC_SEMAPHORES___151 = 21,
    _SC_SHARED_MEMORY_OBJECTS___151 = 22,
    _SC_AIO_LISTIO_MAX___151 = 23,
    _SC_AIO_MAX___151 = 24,
    _SC_AIO_PRIO_DELTA_MAX___151 = 25,
    _SC_DELAYTIMER_MAX___151 = 26,
    _SC_MQ_OPEN_MAX___151 = 27,
    _SC_MQ_PRIO_MAX___151 = 28,
    _SC_VERSION___151 = 29,
    _SC_PAGESIZE___151 = 30,
    _SC_RTSIG_MAX___151 = 31,
    _SC_SEM_NSEMS_MAX___151 = 32,
    _SC_SEM_VALUE_MAX___151 = 33,
    _SC_SIGQUEUE_MAX___151 = 34,
    _SC_TIMER_MAX___151 = 35,
    _SC_BC_BASE_MAX___151 = 36,
    _SC_BC_DIM_MAX___151 = 37,
    _SC_BC_SCALE_MAX___151 = 38,
    _SC_BC_STRING_MAX___151 = 39,
    _SC_COLL_WEIGHTS_MAX___151 = 40,
    _SC_EQUIV_CLASS_MAX___151 = 41,
    _SC_EXPR_NEST_MAX___151 = 42,
    _SC_LINE_MAX___151 = 43,
    _SC_RE_DUP_MAX___151 = 44,
    _SC_CHARCLASS_NAME_MAX___151 = 45,
    _SC_2_VERSION___151 = 46,
    _SC_2_C_BIND___151 = 47,
    _SC_2_C_DEV___151 = 48,
    _SC_2_FORT_DEV___151 = 49,
    _SC_2_FORT_RUN___151 = 50,
    _SC_2_SW_DEV___151 = 51,
    _SC_2_LOCALEDEF___151 = 52,
    _SC_PII___151 = 53,
    _SC_PII_XTI___151 = 54,
    _SC_PII_SOCKET___151 = 55,
    _SC_PII_INTERNET___151 = 56,
    _SC_PII_OSI___151 = 57,
    _SC_POLL___151 = 58,
    _SC_SELECT___151 = 59,
    _SC_UIO_MAXIOV___151 = 60,
    _SC_IOV_MAX___151 = 60,
    _SC_PII_INTERNET_STREAM___151 = 61,
    _SC_PII_INTERNET_DGRAM___151 = 62,
    _SC_PII_OSI_COTS___151 = 63,
    _SC_PII_OSI_CLTS___151 = 64,
    _SC_PII_OSI_M___151 = 65,
    _SC_T_IOV_MAX___151 = 66,
    _SC_THREADS___151 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___151 = 68,
    _SC_GETGR_R_SIZE_MAX___151 = 69,
    _SC_GETPW_R_SIZE_MAX___151 = 70,
    _SC_LOGIN_NAME_MAX___151 = 71,
    _SC_TTY_NAME_MAX___151 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___151 = 73,
    _SC_THREAD_KEYS_MAX___151 = 74,
    _SC_THREAD_STACK_MIN___151 = 75,
    _SC_THREAD_THREADS_MAX___151 = 76,
    _SC_THREAD_ATTR_STACKADDR___151 = 77,
    _SC_THREAD_ATTR_STACKSIZE___151 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___151 = 79,
    _SC_THREAD_PRIO_INHERIT___151 = 80,
    _SC_THREAD_PRIO_PROTECT___151 = 81,
    _SC_THREAD_PROCESS_SHARED___151 = 82,
    _SC_NPROCESSORS_CONF___151 = 83,
    _SC_NPROCESSORS_ONLN___151 = 84,
    _SC_PHYS_PAGES___151 = 85,
    _SC_AVPHYS_PAGES___151 = 86,
    _SC_ATEXIT_MAX___151 = 87,
    _SC_PASS_MAX___151 = 88,
    _SC_XOPEN_VERSION___151 = 89,
    _SC_XOPEN_XCU_VERSION___151 = 90,
    _SC_XOPEN_UNIX___151 = 91,
    _SC_XOPEN_CRYPT___151 = 92,
    _SC_XOPEN_ENH_I18N___151 = 93,
    _SC_XOPEN_SHM___151 = 94,
    _SC_2_CHAR_TERM___151 = 95,
    _SC_2_C_VERSION___151 = 96,
    _SC_2_UPE___151 = 97,
    _SC_XOPEN_XPG2___151 = 98,
    _SC_XOPEN_XPG3___151 = 99,
    _SC_XOPEN_XPG4___151 = 100,
    _SC_CHAR_BIT___151 = 101,
    _SC_CHAR_MAX___151 = 102,
    _SC_CHAR_MIN___151 = 103,
    _SC_INT_MAX___151 = 104,
    _SC_INT_MIN___151 = 105,
    _SC_LONG_BIT___151 = 106,
    _SC_WORD_BIT___151 = 107,
    _SC_MB_LEN_MAX___151 = 108,
    _SC_NZERO___151 = 109,
    _SC_SSIZE_MAX___151 = 110,
    _SC_SCHAR_MAX___151 = 111,
    _SC_SCHAR_MIN___151 = 112,
    _SC_SHRT_MAX___151 = 113,
    _SC_SHRT_MIN___151 = 114,
    _SC_UCHAR_MAX___151 = 115,
    _SC_UINT_MAX___151 = 116,
    _SC_ULONG_MAX___151 = 117,
    _SC_USHRT_MAX___151 = 118,
    _SC_NL_ARGMAX___151 = 119,
    _SC_NL_LANGMAX___151 = 120,
    _SC_NL_MSGMAX___151 = 121,
    _SC_NL_NMAX___151 = 122,
    _SC_NL_SETMAX___151 = 123,
    _SC_NL_TEXTMAX___151 = 124,
    _SC_XBS5_ILP32_OFF32___151 = 125,
    _SC_XBS5_ILP32_OFFBIG___151 = 126,
    _SC_XBS5_LP64_OFF64___151 = 127,
    _SC_XBS5_LPBIG_OFFBIG___151 = 128,
    _SC_XOPEN_LEGACY___151 = 129,
    _SC_XOPEN_REALTIME___151 = 130,
    _SC_XOPEN_REALTIME_THREADS___151 = 131,
    _SC_ADVISORY_INFO___151 = 132,
    _SC_BARRIERS___151 = 133,
    _SC_BASE___151 = 134,
    _SC_C_LANG_SUPPORT___151 = 135,
    _SC_C_LANG_SUPPORT_R___151 = 136,
    _SC_CLOCK_SELECTION___151 = 137,
    _SC_CPUTIME___151 = 138,
    _SC_THREAD_CPUTIME___151 = 139,
    _SC_DEVICE_IO___151 = 140,
    _SC_DEVICE_SPECIFIC___151 = 141,
    _SC_DEVICE_SPECIFIC_R___151 = 142,
    _SC_FD_MGMT___151 = 143,
    _SC_FIFO___151 = 144,
    _SC_PIPE___151 = 145,
    _SC_FILE_ATTRIBUTES___151 = 146,
    _SC_FILE_LOCKING___151 = 147,
    _SC_FILE_SYSTEM___151 = 148,
    _SC_MONOTONIC_CLOCK___151 = 149,
    _SC_MULTI_PROCESS___151 = 150,
    _SC_SINGLE_PROCESS___151 = 151,
    _SC_NETWORKING___151 = 152,
    _SC_READER_WRITER_LOCKS___151 = 153,
    _SC_SPIN_LOCKS___151 = 154,
    _SC_REGEXP___151 = 155,
    _SC_REGEX_VERSION___151 = 156,
    _SC_SHELL___151 = 157,
    _SC_SIGNALS___151 = 158,
    _SC_SPAWN___151 = 159,
    _SC_SPORADIC_SERVER___151 = 160,
    _SC_THREAD_SPORADIC_SERVER___151 = 161,
    _SC_SYSTEM_DATABASE___151 = 162,
    _SC_SYSTEM_DATABASE_R___151 = 163,
    _SC_TIMEOUTS___151 = 164,
    _SC_TYPED_MEMORY_OBJECTS___151 = 165,
    _SC_USER_GROUPS___151 = 166,
    _SC_USER_GROUPS_R___151 = 167,
    _SC_2_PBS___151 = 168,
    _SC_2_PBS_ACCOUNTING___151 = 169,
    _SC_2_PBS_LOCATE___151 = 170,
    _SC_2_PBS_MESSAGE___151 = 171,
    _SC_2_PBS_TRACK___151 = 172,
    _SC_SYMLOOP_MAX___151 = 173,
    _SC_STREAMS___151 = 174,
    _SC_2_PBS_CHECKPOINT___151 = 175,
    _SC_V6_ILP32_OFF32___151 = 176,
    _SC_V6_ILP32_OFFBIG___151 = 177,
    _SC_V6_LP64_OFF64___151 = 178,
    _SC_V6_LPBIG_OFFBIG___151 = 179,
    _SC_HOST_NAME_MAX___151 = 180,
    _SC_TRACE___151 = 181,
    _SC_TRACE_EVENT_FILTER___151 = 182,
    _SC_TRACE_INHERIT___151 = 183,
    _SC_TRACE_LOG___151 = 184,
    _SC_LEVEL1_ICACHE_SIZE___151 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___151 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___151 = 187,
    _SC_LEVEL1_DCACHE_SIZE___151 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___151 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___151 = 190,
    _SC_LEVEL2_CACHE_SIZE___151 = 191,
    _SC_LEVEL2_CACHE_ASSOC___151 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___151 = 193,
    _SC_LEVEL3_CACHE_SIZE___151 = 194,
    _SC_LEVEL3_CACHE_ASSOC___151 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___151 = 196,
    _SC_LEVEL4_CACHE_SIZE___151 = 197,
    _SC_LEVEL4_CACHE_ASSOC___151 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___151 = 199,
    _SC_IPV6___151 = 235,
    _SC_RAW_SOCKETS___151 = 236,
    _SC_V7_ILP32_OFF32___151 = 237,
    _SC_V7_ILP32_OFFBIG___151 = 238,
    _SC_V7_LP64_OFF64___151 = 239,
    _SC_V7_LPBIG_OFFBIG___151 = 240,
    _SC_SS_REPL_MAX___151 = 241,
    _SC_TRACE_EVENT_NAME_MAX___151 = 242,
    _SC_TRACE_NAME_MAX___151 = 243,
    _SC_TRACE_SYS_MAX___151 = 244,
    _SC_TRACE_USER_EVENT_MAX___151 = 245,
    _SC_XOPEN_STREAMS___151 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___151 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___151 = 248
} ;
enum __anonenum_875524036___151 {
    _CS_PATH___151 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___151 = 1,
    _CS_GNU_LIBC_VERSION___151 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___151 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___151 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___151 = 5,
    _CS_LFS_CFLAGS___151 = 1000,
    _CS_LFS_LDFLAGS___151 = 1001,
    _CS_LFS_LIBS___151 = 1002,
    _CS_LFS_LINTFLAGS___151 = 1003,
    _CS_LFS64_CFLAGS___151 = 1004,
    _CS_LFS64_LDFLAGS___151 = 1005,
    _CS_LFS64_LIBS___151 = 1006,
    _CS_LFS64_LINTFLAGS___151 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___151 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___151 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___151 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___151 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___151 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___151 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___151 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___151 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___151 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___151 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___151 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___151 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___151 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___151 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___151 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___151 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___151 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___151 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___151 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___151 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___151 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___151 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___151 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___151 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___151 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___151 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___151 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___151 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___151 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___151 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___151 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___151 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___151 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___151 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___151 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___151 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___151 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___151 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___151 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___151 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___151 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___151 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___151 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___151 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___151 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___151 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___151 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___151 = 1147,
    _CS_V6_ENV___151 = 1148,
    _CS_V7_ENV___151 = 1149
} ;
enum __anonenum_513775621___151 {
    DT_UNKNOWN___151 = 0,
    DT_FIFO___151 = 1,
    DT_CHR___151 = 2,
    DT_DIR___151 = 4,
    DT_BLK___151 = 6,
    DT_REG___151 = 8,
    DT_LNK___151 = 10,
    DT_SOCK___151 = 12,
    DT_WHT___151 = 14
} ;
enum __anonenum_77002343___151 {
    SI_ASYNCNL___151 = -60,
    SI_TKILL___151 = -6,
    SI_SIGIO___151 = -5,
    SI_ASYNCIO___151 = -4,
    SI_MESGQ___151 = -3,
    SI_TIMER___151 = -2,
    SI_QUEUE___151 = -1,
    SI_USER___151 = 0,
    SI_KERNEL___151 = 128
} ;
enum __anonenum_131038172___151 {
    ILL_ILLOPC___151 = 1,
    ILL_ILLOPN___151 = 2,
    ILL_ILLADR___151 = 3,
    ILL_ILLTRP___151 = 4,
    ILL_PRVOPC___151 = 5,
    ILL_PRVREG___151 = 6,
    ILL_COPROC___151 = 7,
    ILL_BADSTK___151 = 8
} ;
enum __anonenum_452038093___151 {
    FPE_INTDIV___151 = 1,
    FPE_INTOVF___151 = 2,
    FPE_FLTDIV___151 = 3,
    FPE_FLTOVF___151 = 4,
    FPE_FLTUND___151 = 5,
    FPE_FLTRES___151 = 6,
    FPE_FLTINV___151 = 7,
    FPE_FLTSUB___151 = 8
} ;
enum __anonenum_30976155___151 {
    SEGV_MAPERR___151 = 1,
    SEGV_ACCERR___151 = 2,
    SEGV_BNDERR___151 = 3,
    SEGV_PKUERR___151 = 4
} ;
enum __anonenum_1036286214___151 {
    BUS_ADRALN___151 = 1,
    BUS_ADRERR___151 = 2,
    BUS_OBJERR___151 = 3,
    BUS_MCEERR_AR___151 = 4,
    BUS_MCEERR_AO___151 = 5
} ;
enum __anonenum_493465559___151 {
    TRAP_BRKPT___151 = 1,
    TRAP_TRACE___151 = 2
} ;
enum __anonenum_23175539___151 {
    CLD_EXITED___151 = 1,
    CLD_KILLED___151 = 2,
    CLD_DUMPED___151 = 3,
    CLD_TRAPPED___151 = 4,
    CLD_STOPPED___151 = 5,
    CLD_CONTINUED___151 = 6
} ;
enum __anonenum_111643124___151 {
    POLL_IN___151 = 1,
    POLL_OUT___151 = 2,
    POLL_MSG___151 = 3,
    POLL_ERR___151 = 4,
    POLL_PRI___151 = 5,
    POLL_HUP___151 = 6
} ;
enum __anonenum_852341087___151 {
    SIGEV_SIGNAL___151 = 0,
    SIGEV_NONE___151 = 1,
    SIGEV_THREAD___151 = 2,
    SIGEV_THREAD_ID___151 = 4
} ;
enum __anonenum_451154152___151 {
    REG_R8___151 = 0,
    REG_R9___151 = 1,
    REG_R10___151 = 2,
    REG_R11___151 = 3,
    REG_R12___151 = 4,
    REG_R13___151 = 5,
    REG_R14___151 = 6,
    REG_R15___151 = 7,
    REG_RDI___151 = 8,
    REG_RSI___151 = 9,
    REG_RBP___151 = 10,
    REG_RBX___151 = 11,
    REG_RDX___151 = 12,
    REG_RAX___151 = 13,
    REG_RCX___151 = 14,
    REG_RSP___151 = 15,
    REG_RIP___151 = 16,
    REG_EFL___151 = 17,
    REG_CSGSFS___151 = 18,
    REG_ERR___151 = 19,
    REG_TRAPNO___151 = 20,
    REG_OLDMASK___151 = 21,
    REG_CR2___151 = 22
} ;
enum __anonenum_57186863___151 {
    SS_ONSTACK___151 = 1,
    SS_DISABLE___151 = 2
} ;
enum __anonenum_83571709___151 {
    MSG_OOB___151 = 1,
    MSG_PEEK___151 = 2,
    MSG_DONTROUTE___151 = 4,
    MSG_TRYHARD___151 = 4,
    MSG_CTRUNC___151 = 8,
    MSG_PROXY___151 = 16,
    MSG_TRUNC___151 = 32,
    MSG_DONTWAIT___151 = 64,
    MSG_EOR___151 = 128,
    MSG_WAITALL___151 = 256,
    MSG_FIN___151 = 512,
    MSG_SYN___151 = 1024,
    MSG_CONFIRM___151 = 2048,
    MSG_RST___151 = 4096,
    MSG_ERRQUEUE___151 = 8192,
    MSG_NOSIGNAL___151 = 16384,
    MSG_MORE___151 = 32768,
    MSG_WAITFORONE___151 = 65536,
    MSG_BATCH___151 = 262144,
    MSG_ZEROCOPY___151 = 67108864,
    MSG_FASTOPEN___151 = 536870912,
    MSG_CMSG_CLOEXEC___151 = 1073741824
} ;
enum __anonenum_617082774___151 {
    SCM_RIGHTS___151 = 1,
    SCM_CREDENTIALS___151 = 2
} ;
enum __anonenum_606441560___151 {
    SHUT_RD___151 = 0,
    SHUT_WR___151 = 1,
    SHUT_RDWR___151 = 2
} ;
enum __anonenum_681669233___151 {
    IPPROTO_IP___151 = 0,
    IPPROTO_ICMP___151 = 1,
    IPPROTO_IGMP___151 = 2,
    IPPROTO_IPIP___151 = 4,
    IPPROTO_TCP___151 = 6,
    IPPROTO_EGP___151 = 8,
    IPPROTO_PUP___151 = 12,
    IPPROTO_UDP___151 = 17,
    IPPROTO_IDP___151 = 22,
    IPPROTO_TP___151 = 29,
    IPPROTO_DCCP___151 = 33,
    IPPROTO_IPV6___151 = 41,
    IPPROTO_RSVP___151 = 46,
    IPPROTO_GRE___151 = 47,
    IPPROTO_ESP___151 = 50,
    IPPROTO_AH___151 = 51,
    IPPROTO_MTP___151 = 92,
    IPPROTO_BEETPH___151 = 94,
    IPPROTO_ENCAP___151 = 98,
    IPPROTO_PIM___151 = 103,
    IPPROTO_COMP___151 = 108,
    IPPROTO_SCTP___151 = 132,
    IPPROTO_UDPLITE___151 = 136,
    IPPROTO_MPLS___151 = 137,
    IPPROTO_RAW___151 = 255,
    IPPROTO_MAX___151 = 256
} ;
enum __anonenum_218739988___151 {
    IPPROTO_HOPOPTS___151 = 0,
    IPPROTO_ROUTING___151 = 43,
    IPPROTO_FRAGMENT___151 = 44,
    IPPROTO_ICMPV6___151 = 58,
    IPPROTO_NONE___151 = 59,
    IPPROTO_DSTOPTS___151 = 60,
    IPPROTO_MH___151 = 135
} ;
enum __anonenum_662268580___151 {
    IPPORT_ECHO___151 = 7,
    IPPORT_DISCARD___151 = 9,
    IPPORT_SYSTAT___151 = 11,
    IPPORT_DAYTIME___151 = 13,
    IPPORT_NETSTAT___151 = 15,
    IPPORT_FTP___151 = 21,
    IPPORT_TELNET___151 = 23,
    IPPORT_SMTP___151 = 25,
    IPPORT_TIMESERVER___151 = 37,
    IPPORT_NAMESERVER___151 = 42,
    IPPORT_WHOIS___151 = 43,
    IPPORT_MTP___151 = 57,
    IPPORT_TFTP___151 = 69,
    IPPORT_RJE___151 = 77,
    IPPORT_FINGER___151 = 79,
    IPPORT_TTYLINK___151 = 87,
    IPPORT_SUPDUP___151 = 95,
    IPPORT_EXECSERVER___151 = 512,
    IPPORT_LOGINSERVER___151 = 513,
    IPPORT_CMDSERVER___151 = 514,
    IPPORT_EFSSERVER___151 = 520,
    IPPORT_BIFFUDP___151 = 512,
    IPPORT_WHOSERVER___151 = 513,
    IPPORT_ROUTESERVER___151 = 520,
    IPPORT_RESERVED___151 = 1024,
    IPPORT_USERRESERVED___151 = 5000
} ;
enum __anonenum_788308992___151 {
    TCP_ESTABLISHED___151 = 1,
    TCP_SYN_SENT___151 = 2,
    TCP_SYN_RECV___151 = 3,
    TCP_FIN_WAIT1___151 = 4,
    TCP_FIN_WAIT2___151 = 5,
    TCP_TIME_WAIT___151 = 6,
    TCP_CLOSE___151 = 7,
    TCP_CLOSE_WAIT___151 = 8,
    TCP_LAST_ACK___151 = 9,
    TCP_LISTEN___151 = 10,
    TCP_CLOSING___151 = 11
} ;
enum __anonenum_221125648___151 {
    TCP_NO_QUEUE___151 = 0,
    TCP_RECV_QUEUE___151 = 1,
    TCP_SEND_QUEUE___151 = 2,
    TCP_QUEUES_NR___151 = 3
} ;
enum __anonenum_34415463___151 {
    PTHREAD_CREATE_JOINABLE___151 = 0,
    PTHREAD_CREATE_DETACHED___151 = 1
} ;
enum __anonenum_303612439___151 {
    PTHREAD_MUTEX_TIMED_NP___151 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___151 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___151 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___151 = 3,
    PTHREAD_MUTEX_NORMAL___151 = 0,
    PTHREAD_MUTEX_RECURSIVE___151 = 1,
    PTHREAD_MUTEX_ERRORCHECK___151 = 2,
    PTHREAD_MUTEX_DEFAULT___151 = 0,
    PTHREAD_MUTEX_FAST_NP___151 = 0
} ;
enum __anonenum_931900394___151 {
    PTHREAD_MUTEX_STALLED___151 = 0,
    PTHREAD_MUTEX_STALLED_NP___151 = 0,
    PTHREAD_MUTEX_ROBUST___151 = 1,
    PTHREAD_MUTEX_ROBUST_NP___151 = 1
} ;
enum __anonenum_205214487___151 {
    PTHREAD_PRIO_NONE___151 = 0,
    PTHREAD_PRIO_INHERIT___151 = 1,
    PTHREAD_PRIO_PROTECT___151 = 2
} ;
enum __anonenum_25043950___151 {
    PTHREAD_RWLOCK_PREFER_READER_NP___151 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___151 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___151 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___151 = 0
} ;
enum __anonenum_436439511___151 {
    PTHREAD_INHERIT_SCHED___151 = 0,
    PTHREAD_EXPLICIT_SCHED___151 = 1
} ;
enum __anonenum_998661166___151 {
    PTHREAD_SCOPE_SYSTEM___151 = 0,
    PTHREAD_SCOPE_PROCESS___151 = 1
} ;
enum __anonenum_146137331___151 {
    PTHREAD_PROCESS_PRIVATE___151 = 0,
    PTHREAD_PROCESS_SHARED___151 = 1
} ;
enum __anonenum_53396917___151 {
    PTHREAD_CANCEL_ENABLE___151 = 0,
    PTHREAD_CANCEL_DISABLE___151 = 1
} ;
enum __anonenum_904563783___151 {
    PTHREAD_CANCEL_DEFERRED___151 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___151 = 1
} ;
enum __anonenum_672052974___151 {
    SSL_CT_VALIDATION_PERMISSIVE___151 = 0,
    SSL_CT_VALIDATION_STRICT___151 = 1
} ;
enum __anonenum_34023289___10 {
    REMOTE_UNCONFIGURED___10 = 0,
    REMOTE_CONFIG___10 = 1,
    REMOTE_REMOTES___10 = 2,
    REMOTE_BRANCHES___10 = 3
} ;
enum missing_commit_check_level {
    MISSING_COMMIT_CHECK_IGNORE = 0,
    MISSING_COMMIT_CHECK_WARN = 1,
    MISSING_COMMIT_CHECK_ERROR = 2
} ;
struct commit_seen {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   unsigned char **slab ;
};
enum __anonenum_437032235___152 {
    _PC_LINK_MAX___152 = 0,
    _PC_MAX_CANON___152 = 1,
    _PC_MAX_INPUT___152 = 2,
    _PC_NAME_MAX___152 = 3,
    _PC_PATH_MAX___152 = 4,
    _PC_PIPE_BUF___152 = 5,
    _PC_CHOWN_RESTRICTED___152 = 6,
    _PC_NO_TRUNC___152 = 7,
    _PC_VDISABLE___152 = 8,
    _PC_SYNC_IO___152 = 9,
    _PC_ASYNC_IO___152 = 10,
    _PC_PRIO_IO___152 = 11,
    _PC_SOCK_MAXBUF___152 = 12,
    _PC_FILESIZEBITS___152 = 13,
    _PC_REC_INCR_XFER_SIZE___152 = 14,
    _PC_REC_MAX_XFER_SIZE___152 = 15,
    _PC_REC_MIN_XFER_SIZE___152 = 16,
    _PC_REC_XFER_ALIGN___152 = 17,
    _PC_ALLOC_SIZE_MIN___152 = 18,
    _PC_SYMLINK_MAX___152 = 19,
    _PC_2_SYMLINKS___152 = 20
} ;
enum __anonenum_315186338___152 {
    _SC_ARG_MAX___152 = 0,
    _SC_CHILD_MAX___152 = 1,
    _SC_CLK_TCK___152 = 2,
    _SC_NGROUPS_MAX___152 = 3,
    _SC_OPEN_MAX___152 = 4,
    _SC_STREAM_MAX___152 = 5,
    _SC_TZNAME_MAX___152 = 6,
    _SC_JOB_CONTROL___152 = 7,
    _SC_SAVED_IDS___152 = 8,
    _SC_REALTIME_SIGNALS___152 = 9,
    _SC_PRIORITY_SCHEDULING___152 = 10,
    _SC_TIMERS___152 = 11,
    _SC_ASYNCHRONOUS_IO___152 = 12,
    _SC_PRIORITIZED_IO___152 = 13,
    _SC_SYNCHRONIZED_IO___152 = 14,
    _SC_FSYNC___152 = 15,
    _SC_MAPPED_FILES___152 = 16,
    _SC_MEMLOCK___152 = 17,
    _SC_MEMLOCK_RANGE___152 = 18,
    _SC_MEMORY_PROTECTION___152 = 19,
    _SC_MESSAGE_PASSING___152 = 20,
    _SC_SEMAPHORES___152 = 21,
    _SC_SHARED_MEMORY_OBJECTS___152 = 22,
    _SC_AIO_LISTIO_MAX___152 = 23,
    _SC_AIO_MAX___152 = 24,
    _SC_AIO_PRIO_DELTA_MAX___152 = 25,
    _SC_DELAYTIMER_MAX___152 = 26,
    _SC_MQ_OPEN_MAX___152 = 27,
    _SC_MQ_PRIO_MAX___152 = 28,
    _SC_VERSION___152 = 29,
    _SC_PAGESIZE___152 = 30,
    _SC_RTSIG_MAX___152 = 31,
    _SC_SEM_NSEMS_MAX___152 = 32,
    _SC_SEM_VALUE_MAX___152 = 33,
    _SC_SIGQUEUE_MAX___152 = 34,
    _SC_TIMER_MAX___152 = 35,
    _SC_BC_BASE_MAX___152 = 36,
    _SC_BC_DIM_MAX___152 = 37,
    _SC_BC_SCALE_MAX___152 = 38,
    _SC_BC_STRING_MAX___152 = 39,
    _SC_COLL_WEIGHTS_MAX___152 = 40,
    _SC_EQUIV_CLASS_MAX___152 = 41,
    _SC_EXPR_NEST_MAX___152 = 42,
    _SC_LINE_MAX___152 = 43,
    _SC_RE_DUP_MAX___152 = 44,
    _SC_CHARCLASS_NAME_MAX___152 = 45,
    _SC_2_VERSION___152 = 46,
    _SC_2_C_BIND___152 = 47,
    _SC_2_C_DEV___152 = 48,
    _SC_2_FORT_DEV___152 = 49,
    _SC_2_FORT_RUN___152 = 50,
    _SC_2_SW_DEV___152 = 51,
    _SC_2_LOCALEDEF___152 = 52,
    _SC_PII___152 = 53,
    _SC_PII_XTI___152 = 54,
    _SC_PII_SOCKET___152 = 55,
    _SC_PII_INTERNET___152 = 56,
    _SC_PII_OSI___152 = 57,
    _SC_POLL___152 = 58,
    _SC_SELECT___152 = 59,
    _SC_UIO_MAXIOV___152 = 60,
    _SC_IOV_MAX___152 = 60,
    _SC_PII_INTERNET_STREAM___152 = 61,
    _SC_PII_INTERNET_DGRAM___152 = 62,
    _SC_PII_OSI_COTS___152 = 63,
    _SC_PII_OSI_CLTS___152 = 64,
    _SC_PII_OSI_M___152 = 65,
    _SC_T_IOV_MAX___152 = 66,
    _SC_THREADS___152 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___152 = 68,
    _SC_GETGR_R_SIZE_MAX___152 = 69,
    _SC_GETPW_R_SIZE_MAX___152 = 70,
    _SC_LOGIN_NAME_MAX___152 = 71,
    _SC_TTY_NAME_MAX___152 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___152 = 73,
    _SC_THREAD_KEYS_MAX___152 = 74,
    _SC_THREAD_STACK_MIN___152 = 75,
    _SC_THREAD_THREADS_MAX___152 = 76,
    _SC_THREAD_ATTR_STACKADDR___152 = 77,
    _SC_THREAD_ATTR_STACKSIZE___152 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___152 = 79,
    _SC_THREAD_PRIO_INHERIT___152 = 80,
    _SC_THREAD_PRIO_PROTECT___152 = 81,
    _SC_THREAD_PROCESS_SHARED___152 = 82,
    _SC_NPROCESSORS_CONF___152 = 83,
    _SC_NPROCESSORS_ONLN___152 = 84,
    _SC_PHYS_PAGES___152 = 85,
    _SC_AVPHYS_PAGES___152 = 86,
    _SC_ATEXIT_MAX___152 = 87,
    _SC_PASS_MAX___152 = 88,
    _SC_XOPEN_VERSION___152 = 89,
    _SC_XOPEN_XCU_VERSION___152 = 90,
    _SC_XOPEN_UNIX___152 = 91,
    _SC_XOPEN_CRYPT___152 = 92,
    _SC_XOPEN_ENH_I18N___152 = 93,
    _SC_XOPEN_SHM___152 = 94,
    _SC_2_CHAR_TERM___152 = 95,
    _SC_2_C_VERSION___152 = 96,
    _SC_2_UPE___152 = 97,
    _SC_XOPEN_XPG2___152 = 98,
    _SC_XOPEN_XPG3___152 = 99,
    _SC_XOPEN_XPG4___152 = 100,
    _SC_CHAR_BIT___152 = 101,
    _SC_CHAR_MAX___152 = 102,
    _SC_CHAR_MIN___152 = 103,
    _SC_INT_MAX___152 = 104,
    _SC_INT_MIN___152 = 105,
    _SC_LONG_BIT___152 = 106,
    _SC_WORD_BIT___152 = 107,
    _SC_MB_LEN_MAX___152 = 108,
    _SC_NZERO___152 = 109,
    _SC_SSIZE_MAX___152 = 110,
    _SC_SCHAR_MAX___152 = 111,
    _SC_SCHAR_MIN___152 = 112,
    _SC_SHRT_MAX___152 = 113,
    _SC_SHRT_MIN___152 = 114,
    _SC_UCHAR_MAX___152 = 115,
    _SC_UINT_MAX___152 = 116,
    _SC_ULONG_MAX___152 = 117,
    _SC_USHRT_MAX___152 = 118,
    _SC_NL_ARGMAX___152 = 119,
    _SC_NL_LANGMAX___152 = 120,
    _SC_NL_MSGMAX___152 = 121,
    _SC_NL_NMAX___152 = 122,
    _SC_NL_SETMAX___152 = 123,
    _SC_NL_TEXTMAX___152 = 124,
    _SC_XBS5_ILP32_OFF32___152 = 125,
    _SC_XBS5_ILP32_OFFBIG___152 = 126,
    _SC_XBS5_LP64_OFF64___152 = 127,
    _SC_XBS5_LPBIG_OFFBIG___152 = 128,
    _SC_XOPEN_LEGACY___152 = 129,
    _SC_XOPEN_REALTIME___152 = 130,
    _SC_XOPEN_REALTIME_THREADS___152 = 131,
    _SC_ADVISORY_INFO___152 = 132,
    _SC_BARRIERS___152 = 133,
    _SC_BASE___152 = 134,
    _SC_C_LANG_SUPPORT___152 = 135,
    _SC_C_LANG_SUPPORT_R___152 = 136,
    _SC_CLOCK_SELECTION___152 = 137,
    _SC_CPUTIME___152 = 138,
    _SC_THREAD_CPUTIME___152 = 139,
    _SC_DEVICE_IO___152 = 140,
    _SC_DEVICE_SPECIFIC___152 = 141,
    _SC_DEVICE_SPECIFIC_R___152 = 142,
    _SC_FD_MGMT___152 = 143,
    _SC_FIFO___152 = 144,
    _SC_PIPE___152 = 145,
    _SC_FILE_ATTRIBUTES___152 = 146,
    _SC_FILE_LOCKING___152 = 147,
    _SC_FILE_SYSTEM___152 = 148,
    _SC_MONOTONIC_CLOCK___152 = 149,
    _SC_MULTI_PROCESS___152 = 150,
    _SC_SINGLE_PROCESS___152 = 151,
    _SC_NETWORKING___152 = 152,
    _SC_READER_WRITER_LOCKS___152 = 153,
    _SC_SPIN_LOCKS___152 = 154,
    _SC_REGEXP___152 = 155,
    _SC_REGEX_VERSION___152 = 156,
    _SC_SHELL___152 = 157,
    _SC_SIGNALS___152 = 158,
    _SC_SPAWN___152 = 159,
    _SC_SPORADIC_SERVER___152 = 160,
    _SC_THREAD_SPORADIC_SERVER___152 = 161,
    _SC_SYSTEM_DATABASE___152 = 162,
    _SC_SYSTEM_DATABASE_R___152 = 163,
    _SC_TIMEOUTS___152 = 164,
    _SC_TYPED_MEMORY_OBJECTS___152 = 165,
    _SC_USER_GROUPS___152 = 166,
    _SC_USER_GROUPS_R___152 = 167,
    _SC_2_PBS___152 = 168,
    _SC_2_PBS_ACCOUNTING___152 = 169,
    _SC_2_PBS_LOCATE___152 = 170,
    _SC_2_PBS_MESSAGE___152 = 171,
    _SC_2_PBS_TRACK___152 = 172,
    _SC_SYMLOOP_MAX___152 = 173,
    _SC_STREAMS___152 = 174,
    _SC_2_PBS_CHECKPOINT___152 = 175,
    _SC_V6_ILP32_OFF32___152 = 176,
    _SC_V6_ILP32_OFFBIG___152 = 177,
    _SC_V6_LP64_OFF64___152 = 178,
    _SC_V6_LPBIG_OFFBIG___152 = 179,
    _SC_HOST_NAME_MAX___152 = 180,
    _SC_TRACE___152 = 181,
    _SC_TRACE_EVENT_FILTER___152 = 182,
    _SC_TRACE_INHERIT___152 = 183,
    _SC_TRACE_LOG___152 = 184,
    _SC_LEVEL1_ICACHE_SIZE___152 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___152 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___152 = 187,
    _SC_LEVEL1_DCACHE_SIZE___152 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___152 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___152 = 190,
    _SC_LEVEL2_CACHE_SIZE___152 = 191,
    _SC_LEVEL2_CACHE_ASSOC___152 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___152 = 193,
    _SC_LEVEL3_CACHE_SIZE___152 = 194,
    _SC_LEVEL3_CACHE_ASSOC___152 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___152 = 196,
    _SC_LEVEL4_CACHE_SIZE___152 = 197,
    _SC_LEVEL4_CACHE_ASSOC___152 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___152 = 199,
    _SC_IPV6___152 = 235,
    _SC_RAW_SOCKETS___152 = 236,
    _SC_V7_ILP32_OFF32___152 = 237,
    _SC_V7_ILP32_OFFBIG___152 = 238,
    _SC_V7_LP64_OFF64___152 = 239,
    _SC_V7_LPBIG_OFFBIG___152 = 240,
    _SC_SS_REPL_MAX___152 = 241,
    _SC_TRACE_EVENT_NAME_MAX___152 = 242,
    _SC_TRACE_NAME_MAX___152 = 243,
    _SC_TRACE_SYS_MAX___152 = 244,
    _SC_TRACE_USER_EVENT_MAX___152 = 245,
    _SC_XOPEN_STREAMS___152 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___152 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___152 = 248
} ;
enum __anonenum_875524036___152 {
    _CS_PATH___152 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___152 = 1,
    _CS_GNU_LIBC_VERSION___152 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___152 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___152 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___152 = 5,
    _CS_LFS_CFLAGS___152 = 1000,
    _CS_LFS_LDFLAGS___152 = 1001,
    _CS_LFS_LIBS___152 = 1002,
    _CS_LFS_LINTFLAGS___152 = 1003,
    _CS_LFS64_CFLAGS___152 = 1004,
    _CS_LFS64_LDFLAGS___152 = 1005,
    _CS_LFS64_LIBS___152 = 1006,
    _CS_LFS64_LINTFLAGS___152 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___152 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___152 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___152 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___152 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___152 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___152 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___152 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___152 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___152 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___152 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___152 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___152 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___152 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___152 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___152 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___152 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___152 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___152 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___152 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___152 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___152 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___152 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___152 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___152 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___152 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___152 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___152 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___152 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___152 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___152 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___152 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___152 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___152 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___152 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___152 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___152 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___152 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___152 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___152 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___152 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___152 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___152 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___152 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___152 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___152 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___152 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___152 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___152 = 1147,
    _CS_V6_ENV___152 = 1148,
    _CS_V7_ENV___152 = 1149
} ;
enum __anonenum_513775621___152 {
    DT_UNKNOWN___152 = 0,
    DT_FIFO___152 = 1,
    DT_CHR___152 = 2,
    DT_DIR___152 = 4,
    DT_BLK___152 = 6,
    DT_REG___152 = 8,
    DT_LNK___152 = 10,
    DT_SOCK___152 = 12,
    DT_WHT___152 = 14
} ;
enum __anonenum_77002343___152 {
    SI_ASYNCNL___152 = -60,
    SI_TKILL___152 = -6,
    SI_SIGIO___152 = -5,
    SI_ASYNCIO___152 = -4,
    SI_MESGQ___152 = -3,
    SI_TIMER___152 = -2,
    SI_QUEUE___152 = -1,
    SI_USER___152 = 0,
    SI_KERNEL___152 = 128
} ;
enum __anonenum_131038172___152 {
    ILL_ILLOPC___152 = 1,
    ILL_ILLOPN___152 = 2,
    ILL_ILLADR___152 = 3,
    ILL_ILLTRP___152 = 4,
    ILL_PRVOPC___152 = 5,
    ILL_PRVREG___152 = 6,
    ILL_COPROC___152 = 7,
    ILL_BADSTK___152 = 8
} ;
enum __anonenum_452038093___152 {
    FPE_INTDIV___152 = 1,
    FPE_INTOVF___152 = 2,
    FPE_FLTDIV___152 = 3,
    FPE_FLTOVF___152 = 4,
    FPE_FLTUND___152 = 5,
    FPE_FLTRES___152 = 6,
    FPE_FLTINV___152 = 7,
    FPE_FLTSUB___152 = 8
} ;
enum __anonenum_30976155___152 {
    SEGV_MAPERR___152 = 1,
    SEGV_ACCERR___152 = 2,
    SEGV_BNDERR___152 = 3,
    SEGV_PKUERR___152 = 4
} ;
enum __anonenum_1036286214___152 {
    BUS_ADRALN___152 = 1,
    BUS_ADRERR___152 = 2,
    BUS_OBJERR___152 = 3,
    BUS_MCEERR_AR___152 = 4,
    BUS_MCEERR_AO___152 = 5
} ;
enum __anonenum_493465559___152 {
    TRAP_BRKPT___152 = 1,
    TRAP_TRACE___152 = 2
} ;
enum __anonenum_23175539___152 {
    CLD_EXITED___152 = 1,
    CLD_KILLED___152 = 2,
    CLD_DUMPED___152 = 3,
    CLD_TRAPPED___152 = 4,
    CLD_STOPPED___152 = 5,
    CLD_CONTINUED___152 = 6
} ;
enum __anonenum_111643124___152 {
    POLL_IN___152 = 1,
    POLL_OUT___152 = 2,
    POLL_MSG___152 = 3,
    POLL_ERR___152 = 4,
    POLL_PRI___152 = 5,
    POLL_HUP___152 = 6
} ;
enum __anonenum_852341087___152 {
    SIGEV_SIGNAL___152 = 0,
    SIGEV_NONE___152 = 1,
    SIGEV_THREAD___152 = 2,
    SIGEV_THREAD_ID___152 = 4
} ;
enum __anonenum_451154152___152 {
    REG_R8___152 = 0,
    REG_R9___152 = 1,
    REG_R10___152 = 2,
    REG_R11___152 = 3,
    REG_R12___152 = 4,
    REG_R13___152 = 5,
    REG_R14___152 = 6,
    REG_R15___152 = 7,
    REG_RDI___152 = 8,
    REG_RSI___152 = 9,
    REG_RBP___152 = 10,
    REG_RBX___152 = 11,
    REG_RDX___152 = 12,
    REG_RAX___152 = 13,
    REG_RCX___152 = 14,
    REG_RSP___152 = 15,
    REG_RIP___152 = 16,
    REG_EFL___152 = 17,
    REG_CSGSFS___152 = 18,
    REG_ERR___152 = 19,
    REG_TRAPNO___152 = 20,
    REG_OLDMASK___152 = 21,
    REG_CR2___152 = 22
} ;
enum __anonenum_57186863___152 {
    SS_ONSTACK___152 = 1,
    SS_DISABLE___152 = 2
} ;
enum __anonenum_83571709___152 {
    MSG_OOB___152 = 1,
    MSG_PEEK___152 = 2,
    MSG_DONTROUTE___152 = 4,
    MSG_TRYHARD___152 = 4,
    MSG_CTRUNC___152 = 8,
    MSG_PROXY___152 = 16,
    MSG_TRUNC___152 = 32,
    MSG_DONTWAIT___152 = 64,
    MSG_EOR___152 = 128,
    MSG_WAITALL___152 = 256,
    MSG_FIN___152 = 512,
    MSG_SYN___152 = 1024,
    MSG_CONFIRM___152 = 2048,
    MSG_RST___152 = 4096,
    MSG_ERRQUEUE___152 = 8192,
    MSG_NOSIGNAL___152 = 16384,
    MSG_MORE___152 = 32768,
    MSG_WAITFORONE___152 = 65536,
    MSG_BATCH___152 = 262144,
    MSG_ZEROCOPY___152 = 67108864,
    MSG_FASTOPEN___152 = 536870912,
    MSG_CMSG_CLOEXEC___152 = 1073741824
} ;
enum __anonenum_617082774___152 {
    SCM_RIGHTS___152 = 1,
    SCM_CREDENTIALS___152 = 2
} ;
enum __anonenum_606441560___152 {
    SHUT_RD___152 = 0,
    SHUT_WR___152 = 1,
    SHUT_RDWR___152 = 2
} ;
enum __anonenum_681669233___152 {
    IPPROTO_IP___152 = 0,
    IPPROTO_ICMP___152 = 1,
    IPPROTO_IGMP___152 = 2,
    IPPROTO_IPIP___152 = 4,
    IPPROTO_TCP___152 = 6,
    IPPROTO_EGP___152 = 8,
    IPPROTO_PUP___152 = 12,
    IPPROTO_UDP___152 = 17,
    IPPROTO_IDP___152 = 22,
    IPPROTO_TP___152 = 29,
    IPPROTO_DCCP___152 = 33,
    IPPROTO_IPV6___152 = 41,
    IPPROTO_RSVP___152 = 46,
    IPPROTO_GRE___152 = 47,
    IPPROTO_ESP___152 = 50,
    IPPROTO_AH___152 = 51,
    IPPROTO_MTP___152 = 92,
    IPPROTO_BEETPH___152 = 94,
    IPPROTO_ENCAP___152 = 98,
    IPPROTO_PIM___152 = 103,
    IPPROTO_COMP___152 = 108,
    IPPROTO_SCTP___152 = 132,
    IPPROTO_UDPLITE___152 = 136,
    IPPROTO_MPLS___152 = 137,
    IPPROTO_RAW___152 = 255,
    IPPROTO_MAX___152 = 256
} ;
enum __anonenum_218739988___152 {
    IPPROTO_HOPOPTS___152 = 0,
    IPPROTO_ROUTING___152 = 43,
    IPPROTO_FRAGMENT___152 = 44,
    IPPROTO_ICMPV6___152 = 58,
    IPPROTO_NONE___152 = 59,
    IPPROTO_DSTOPTS___152 = 60,
    IPPROTO_MH___152 = 135
} ;
enum __anonenum_662268580___152 {
    IPPORT_ECHO___152 = 7,
    IPPORT_DISCARD___152 = 9,
    IPPORT_SYSTAT___152 = 11,
    IPPORT_DAYTIME___152 = 13,
    IPPORT_NETSTAT___152 = 15,
    IPPORT_FTP___152 = 21,
    IPPORT_TELNET___152 = 23,
    IPPORT_SMTP___152 = 25,
    IPPORT_TIMESERVER___152 = 37,
    IPPORT_NAMESERVER___152 = 42,
    IPPORT_WHOIS___152 = 43,
    IPPORT_MTP___152 = 57,
    IPPORT_TFTP___152 = 69,
    IPPORT_RJE___152 = 77,
    IPPORT_FINGER___152 = 79,
    IPPORT_TTYLINK___152 = 87,
    IPPORT_SUPDUP___152 = 95,
    IPPORT_EXECSERVER___152 = 512,
    IPPORT_LOGINSERVER___152 = 513,
    IPPORT_CMDSERVER___152 = 514,
    IPPORT_EFSSERVER___152 = 520,
    IPPORT_BIFFUDP___152 = 512,
    IPPORT_WHOSERVER___152 = 513,
    IPPORT_ROUTESERVER___152 = 520,
    IPPORT_RESERVED___152 = 1024,
    IPPORT_USERRESERVED___152 = 5000
} ;
enum __anonenum_788308992___152 {
    TCP_ESTABLISHED___152 = 1,
    TCP_SYN_SENT___152 = 2,
    TCP_SYN_RECV___152 = 3,
    TCP_FIN_WAIT1___152 = 4,
    TCP_FIN_WAIT2___152 = 5,
    TCP_TIME_WAIT___152 = 6,
    TCP_CLOSE___152 = 7,
    TCP_CLOSE_WAIT___152 = 8,
    TCP_LAST_ACK___152 = 9,
    TCP_LISTEN___152 = 10,
    TCP_CLOSING___152 = 11
} ;
enum __anonenum_221125648___152 {
    TCP_NO_QUEUE___152 = 0,
    TCP_RECV_QUEUE___152 = 1,
    TCP_SEND_QUEUE___152 = 2,
    TCP_QUEUES_NR___152 = 3
} ;
enum __anonenum_34415463___152 {
    PTHREAD_CREATE_JOINABLE___152 = 0,
    PTHREAD_CREATE_DETACHED___152 = 1
} ;
enum __anonenum_303612439___152 {
    PTHREAD_MUTEX_TIMED_NP___152 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___152 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___152 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___152 = 3,
    PTHREAD_MUTEX_NORMAL___152 = 0,
    PTHREAD_MUTEX_RECURSIVE___152 = 1,
    PTHREAD_MUTEX_ERRORCHECK___152 = 2,
    PTHREAD_MUTEX_DEFAULT___152 = 0,
    PTHREAD_MUTEX_FAST_NP___152 = 0
} ;
enum __anonenum_931900394___152 {
    PTHREAD_MUTEX_STALLED___152 = 0,
    PTHREAD_MUTEX_STALLED_NP___152 = 0,
    PTHREAD_MUTEX_ROBUST___152 = 1,
    PTHREAD_MUTEX_ROBUST_NP___152 = 1
} ;
enum __anonenum_205214487___152 {
    PTHREAD_PRIO_NONE___152 = 0,
    PTHREAD_PRIO_INHERIT___152 = 1,
    PTHREAD_PRIO_PROTECT___152 = 2
} ;
enum __anonenum_25043950___152 {
    PTHREAD_RWLOCK_PREFER_READER_NP___152 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___152 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___152 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___152 = 0
} ;
enum __anonenum_436439511___152 {
    PTHREAD_INHERIT_SCHED___152 = 0,
    PTHREAD_EXPLICIT_SCHED___152 = 1
} ;
enum __anonenum_998661166___152 {
    PTHREAD_SCOPE_SYSTEM___152 = 0,
    PTHREAD_SCOPE_PROCESS___152 = 1
} ;
enum __anonenum_146137331___152 {
    PTHREAD_PROCESS_PRIVATE___152 = 0,
    PTHREAD_PROCESS_SHARED___152 = 1
} ;
enum __anonenum_53396917___152 {
    PTHREAD_CANCEL_ENABLE___152 = 0,
    PTHREAD_CANCEL_DISABLE___152 = 1
} ;
enum __anonenum_904563783___152 {
    PTHREAD_CANCEL_DEFERRED___152 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___152 = 1
} ;
enum __anonenum_672052974___152 {
    SSL_CT_VALIDATION_PERMISSIVE___152 = 0,
    SSL_CT_VALIDATION_STRICT___152 = 1
} ;
enum __anonenum_437032235___153 {
    _PC_LINK_MAX___153 = 0,
    _PC_MAX_CANON___153 = 1,
    _PC_MAX_INPUT___153 = 2,
    _PC_NAME_MAX___153 = 3,
    _PC_PATH_MAX___153 = 4,
    _PC_PIPE_BUF___153 = 5,
    _PC_CHOWN_RESTRICTED___153 = 6,
    _PC_NO_TRUNC___153 = 7,
    _PC_VDISABLE___153 = 8,
    _PC_SYNC_IO___153 = 9,
    _PC_ASYNC_IO___153 = 10,
    _PC_PRIO_IO___153 = 11,
    _PC_SOCK_MAXBUF___153 = 12,
    _PC_FILESIZEBITS___153 = 13,
    _PC_REC_INCR_XFER_SIZE___153 = 14,
    _PC_REC_MAX_XFER_SIZE___153 = 15,
    _PC_REC_MIN_XFER_SIZE___153 = 16,
    _PC_REC_XFER_ALIGN___153 = 17,
    _PC_ALLOC_SIZE_MIN___153 = 18,
    _PC_SYMLINK_MAX___153 = 19,
    _PC_2_SYMLINKS___153 = 20
} ;
enum __anonenum_315186338___153 {
    _SC_ARG_MAX___153 = 0,
    _SC_CHILD_MAX___153 = 1,
    _SC_CLK_TCK___153 = 2,
    _SC_NGROUPS_MAX___153 = 3,
    _SC_OPEN_MAX___153 = 4,
    _SC_STREAM_MAX___153 = 5,
    _SC_TZNAME_MAX___153 = 6,
    _SC_JOB_CONTROL___153 = 7,
    _SC_SAVED_IDS___153 = 8,
    _SC_REALTIME_SIGNALS___153 = 9,
    _SC_PRIORITY_SCHEDULING___153 = 10,
    _SC_TIMERS___153 = 11,
    _SC_ASYNCHRONOUS_IO___153 = 12,
    _SC_PRIORITIZED_IO___153 = 13,
    _SC_SYNCHRONIZED_IO___153 = 14,
    _SC_FSYNC___153 = 15,
    _SC_MAPPED_FILES___153 = 16,
    _SC_MEMLOCK___153 = 17,
    _SC_MEMLOCK_RANGE___153 = 18,
    _SC_MEMORY_PROTECTION___153 = 19,
    _SC_MESSAGE_PASSING___153 = 20,
    _SC_SEMAPHORES___153 = 21,
    _SC_SHARED_MEMORY_OBJECTS___153 = 22,
    _SC_AIO_LISTIO_MAX___153 = 23,
    _SC_AIO_MAX___153 = 24,
    _SC_AIO_PRIO_DELTA_MAX___153 = 25,
    _SC_DELAYTIMER_MAX___153 = 26,
    _SC_MQ_OPEN_MAX___153 = 27,
    _SC_MQ_PRIO_MAX___153 = 28,
    _SC_VERSION___153 = 29,
    _SC_PAGESIZE___153 = 30,
    _SC_RTSIG_MAX___153 = 31,
    _SC_SEM_NSEMS_MAX___153 = 32,
    _SC_SEM_VALUE_MAX___153 = 33,
    _SC_SIGQUEUE_MAX___153 = 34,
    _SC_TIMER_MAX___153 = 35,
    _SC_BC_BASE_MAX___153 = 36,
    _SC_BC_DIM_MAX___153 = 37,
    _SC_BC_SCALE_MAX___153 = 38,
    _SC_BC_STRING_MAX___153 = 39,
    _SC_COLL_WEIGHTS_MAX___153 = 40,
    _SC_EQUIV_CLASS_MAX___153 = 41,
    _SC_EXPR_NEST_MAX___153 = 42,
    _SC_LINE_MAX___153 = 43,
    _SC_RE_DUP_MAX___153 = 44,
    _SC_CHARCLASS_NAME_MAX___153 = 45,
    _SC_2_VERSION___153 = 46,
    _SC_2_C_BIND___153 = 47,
    _SC_2_C_DEV___153 = 48,
    _SC_2_FORT_DEV___153 = 49,
    _SC_2_FORT_RUN___153 = 50,
    _SC_2_SW_DEV___153 = 51,
    _SC_2_LOCALEDEF___153 = 52,
    _SC_PII___153 = 53,
    _SC_PII_XTI___153 = 54,
    _SC_PII_SOCKET___153 = 55,
    _SC_PII_INTERNET___153 = 56,
    _SC_PII_OSI___153 = 57,
    _SC_POLL___153 = 58,
    _SC_SELECT___153 = 59,
    _SC_UIO_MAXIOV___153 = 60,
    _SC_IOV_MAX___153 = 60,
    _SC_PII_INTERNET_STREAM___153 = 61,
    _SC_PII_INTERNET_DGRAM___153 = 62,
    _SC_PII_OSI_COTS___153 = 63,
    _SC_PII_OSI_CLTS___153 = 64,
    _SC_PII_OSI_M___153 = 65,
    _SC_T_IOV_MAX___153 = 66,
    _SC_THREADS___153 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___153 = 68,
    _SC_GETGR_R_SIZE_MAX___153 = 69,
    _SC_GETPW_R_SIZE_MAX___153 = 70,
    _SC_LOGIN_NAME_MAX___153 = 71,
    _SC_TTY_NAME_MAX___153 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___153 = 73,
    _SC_THREAD_KEYS_MAX___153 = 74,
    _SC_THREAD_STACK_MIN___153 = 75,
    _SC_THREAD_THREADS_MAX___153 = 76,
    _SC_THREAD_ATTR_STACKADDR___153 = 77,
    _SC_THREAD_ATTR_STACKSIZE___153 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___153 = 79,
    _SC_THREAD_PRIO_INHERIT___153 = 80,
    _SC_THREAD_PRIO_PROTECT___153 = 81,
    _SC_THREAD_PROCESS_SHARED___153 = 82,
    _SC_NPROCESSORS_CONF___153 = 83,
    _SC_NPROCESSORS_ONLN___153 = 84,
    _SC_PHYS_PAGES___153 = 85,
    _SC_AVPHYS_PAGES___153 = 86,
    _SC_ATEXIT_MAX___153 = 87,
    _SC_PASS_MAX___153 = 88,
    _SC_XOPEN_VERSION___153 = 89,
    _SC_XOPEN_XCU_VERSION___153 = 90,
    _SC_XOPEN_UNIX___153 = 91,
    _SC_XOPEN_CRYPT___153 = 92,
    _SC_XOPEN_ENH_I18N___153 = 93,
    _SC_XOPEN_SHM___153 = 94,
    _SC_2_CHAR_TERM___153 = 95,
    _SC_2_C_VERSION___153 = 96,
    _SC_2_UPE___153 = 97,
    _SC_XOPEN_XPG2___153 = 98,
    _SC_XOPEN_XPG3___153 = 99,
    _SC_XOPEN_XPG4___153 = 100,
    _SC_CHAR_BIT___153 = 101,
    _SC_CHAR_MAX___153 = 102,
    _SC_CHAR_MIN___153 = 103,
    _SC_INT_MAX___153 = 104,
    _SC_INT_MIN___153 = 105,
    _SC_LONG_BIT___153 = 106,
    _SC_WORD_BIT___153 = 107,
    _SC_MB_LEN_MAX___153 = 108,
    _SC_NZERO___153 = 109,
    _SC_SSIZE_MAX___153 = 110,
    _SC_SCHAR_MAX___153 = 111,
    _SC_SCHAR_MIN___153 = 112,
    _SC_SHRT_MAX___153 = 113,
    _SC_SHRT_MIN___153 = 114,
    _SC_UCHAR_MAX___153 = 115,
    _SC_UINT_MAX___153 = 116,
    _SC_ULONG_MAX___153 = 117,
    _SC_USHRT_MAX___153 = 118,
    _SC_NL_ARGMAX___153 = 119,
    _SC_NL_LANGMAX___153 = 120,
    _SC_NL_MSGMAX___153 = 121,
    _SC_NL_NMAX___153 = 122,
    _SC_NL_SETMAX___153 = 123,
    _SC_NL_TEXTMAX___153 = 124,
    _SC_XBS5_ILP32_OFF32___153 = 125,
    _SC_XBS5_ILP32_OFFBIG___153 = 126,
    _SC_XBS5_LP64_OFF64___153 = 127,
    _SC_XBS5_LPBIG_OFFBIG___153 = 128,
    _SC_XOPEN_LEGACY___153 = 129,
    _SC_XOPEN_REALTIME___153 = 130,
    _SC_XOPEN_REALTIME_THREADS___153 = 131,
    _SC_ADVISORY_INFO___153 = 132,
    _SC_BARRIERS___153 = 133,
    _SC_BASE___153 = 134,
    _SC_C_LANG_SUPPORT___153 = 135,
    _SC_C_LANG_SUPPORT_R___153 = 136,
    _SC_CLOCK_SELECTION___153 = 137,
    _SC_CPUTIME___153 = 138,
    _SC_THREAD_CPUTIME___153 = 139,
    _SC_DEVICE_IO___153 = 140,
    _SC_DEVICE_SPECIFIC___153 = 141,
    _SC_DEVICE_SPECIFIC_R___153 = 142,
    _SC_FD_MGMT___153 = 143,
    _SC_FIFO___153 = 144,
    _SC_PIPE___153 = 145,
    _SC_FILE_ATTRIBUTES___153 = 146,
    _SC_FILE_LOCKING___153 = 147,
    _SC_FILE_SYSTEM___153 = 148,
    _SC_MONOTONIC_CLOCK___153 = 149,
    _SC_MULTI_PROCESS___153 = 150,
    _SC_SINGLE_PROCESS___153 = 151,
    _SC_NETWORKING___153 = 152,
    _SC_READER_WRITER_LOCKS___153 = 153,
    _SC_SPIN_LOCKS___153 = 154,
    _SC_REGEXP___153 = 155,
    _SC_REGEX_VERSION___153 = 156,
    _SC_SHELL___153 = 157,
    _SC_SIGNALS___153 = 158,
    _SC_SPAWN___153 = 159,
    _SC_SPORADIC_SERVER___153 = 160,
    _SC_THREAD_SPORADIC_SERVER___153 = 161,
    _SC_SYSTEM_DATABASE___153 = 162,
    _SC_SYSTEM_DATABASE_R___153 = 163,
    _SC_TIMEOUTS___153 = 164,
    _SC_TYPED_MEMORY_OBJECTS___153 = 165,
    _SC_USER_GROUPS___153 = 166,
    _SC_USER_GROUPS_R___153 = 167,
    _SC_2_PBS___153 = 168,
    _SC_2_PBS_ACCOUNTING___153 = 169,
    _SC_2_PBS_LOCATE___153 = 170,
    _SC_2_PBS_MESSAGE___153 = 171,
    _SC_2_PBS_TRACK___153 = 172,
    _SC_SYMLOOP_MAX___153 = 173,
    _SC_STREAMS___153 = 174,
    _SC_2_PBS_CHECKPOINT___153 = 175,
    _SC_V6_ILP32_OFF32___153 = 176,
    _SC_V6_ILP32_OFFBIG___153 = 177,
    _SC_V6_LP64_OFF64___153 = 178,
    _SC_V6_LPBIG_OFFBIG___153 = 179,
    _SC_HOST_NAME_MAX___153 = 180,
    _SC_TRACE___153 = 181,
    _SC_TRACE_EVENT_FILTER___153 = 182,
    _SC_TRACE_INHERIT___153 = 183,
    _SC_TRACE_LOG___153 = 184,
    _SC_LEVEL1_ICACHE_SIZE___153 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___153 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___153 = 187,
    _SC_LEVEL1_DCACHE_SIZE___153 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___153 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___153 = 190,
    _SC_LEVEL2_CACHE_SIZE___153 = 191,
    _SC_LEVEL2_CACHE_ASSOC___153 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___153 = 193,
    _SC_LEVEL3_CACHE_SIZE___153 = 194,
    _SC_LEVEL3_CACHE_ASSOC___153 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___153 = 196,
    _SC_LEVEL4_CACHE_SIZE___153 = 197,
    _SC_LEVEL4_CACHE_ASSOC___153 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___153 = 199,
    _SC_IPV6___153 = 235,
    _SC_RAW_SOCKETS___153 = 236,
    _SC_V7_ILP32_OFF32___153 = 237,
    _SC_V7_ILP32_OFFBIG___153 = 238,
    _SC_V7_LP64_OFF64___153 = 239,
    _SC_V7_LPBIG_OFFBIG___153 = 240,
    _SC_SS_REPL_MAX___153 = 241,
    _SC_TRACE_EVENT_NAME_MAX___153 = 242,
    _SC_TRACE_NAME_MAX___153 = 243,
    _SC_TRACE_SYS_MAX___153 = 244,
    _SC_TRACE_USER_EVENT_MAX___153 = 245,
    _SC_XOPEN_STREAMS___153 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___153 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___153 = 248
} ;
enum __anonenum_875524036___153 {
    _CS_PATH___153 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___153 = 1,
    _CS_GNU_LIBC_VERSION___153 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___153 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___153 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___153 = 5,
    _CS_LFS_CFLAGS___153 = 1000,
    _CS_LFS_LDFLAGS___153 = 1001,
    _CS_LFS_LIBS___153 = 1002,
    _CS_LFS_LINTFLAGS___153 = 1003,
    _CS_LFS64_CFLAGS___153 = 1004,
    _CS_LFS64_LDFLAGS___153 = 1005,
    _CS_LFS64_LIBS___153 = 1006,
    _CS_LFS64_LINTFLAGS___153 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___153 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___153 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___153 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___153 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___153 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___153 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___153 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___153 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___153 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___153 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___153 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___153 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___153 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___153 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___153 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___153 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___153 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___153 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___153 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___153 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___153 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___153 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___153 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___153 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___153 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___153 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___153 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___153 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___153 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___153 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___153 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___153 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___153 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___153 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___153 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___153 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___153 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___153 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___153 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___153 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___153 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___153 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___153 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___153 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___153 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___153 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___153 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___153 = 1147,
    _CS_V6_ENV___153 = 1148,
    _CS_V7_ENV___153 = 1149
} ;
enum __anonenum_513775621___153 {
    DT_UNKNOWN___153 = 0,
    DT_FIFO___153 = 1,
    DT_CHR___153 = 2,
    DT_DIR___153 = 4,
    DT_BLK___153 = 6,
    DT_REG___153 = 8,
    DT_LNK___153 = 10,
    DT_SOCK___153 = 12,
    DT_WHT___153 = 14
} ;
enum __anonenum_77002343___153 {
    SI_ASYNCNL___153 = -60,
    SI_TKILL___153 = -6,
    SI_SIGIO___153 = -5,
    SI_ASYNCIO___153 = -4,
    SI_MESGQ___153 = -3,
    SI_TIMER___153 = -2,
    SI_QUEUE___153 = -1,
    SI_USER___153 = 0,
    SI_KERNEL___153 = 128
} ;
enum __anonenum_131038172___153 {
    ILL_ILLOPC___153 = 1,
    ILL_ILLOPN___153 = 2,
    ILL_ILLADR___153 = 3,
    ILL_ILLTRP___153 = 4,
    ILL_PRVOPC___153 = 5,
    ILL_PRVREG___153 = 6,
    ILL_COPROC___153 = 7,
    ILL_BADSTK___153 = 8
} ;
enum __anonenum_452038093___153 {
    FPE_INTDIV___153 = 1,
    FPE_INTOVF___153 = 2,
    FPE_FLTDIV___153 = 3,
    FPE_FLTOVF___153 = 4,
    FPE_FLTUND___153 = 5,
    FPE_FLTRES___153 = 6,
    FPE_FLTINV___153 = 7,
    FPE_FLTSUB___153 = 8
} ;
enum __anonenum_30976155___153 {
    SEGV_MAPERR___153 = 1,
    SEGV_ACCERR___153 = 2,
    SEGV_BNDERR___153 = 3,
    SEGV_PKUERR___153 = 4
} ;
enum __anonenum_1036286214___153 {
    BUS_ADRALN___153 = 1,
    BUS_ADRERR___153 = 2,
    BUS_OBJERR___153 = 3,
    BUS_MCEERR_AR___153 = 4,
    BUS_MCEERR_AO___153 = 5
} ;
enum __anonenum_493465559___153 {
    TRAP_BRKPT___153 = 1,
    TRAP_TRACE___153 = 2
} ;
enum __anonenum_23175539___153 {
    CLD_EXITED___153 = 1,
    CLD_KILLED___153 = 2,
    CLD_DUMPED___153 = 3,
    CLD_TRAPPED___153 = 4,
    CLD_STOPPED___153 = 5,
    CLD_CONTINUED___153 = 6
} ;
enum __anonenum_111643124___153 {
    POLL_IN___153 = 1,
    POLL_OUT___153 = 2,
    POLL_MSG___153 = 3,
    POLL_ERR___153 = 4,
    POLL_PRI___153 = 5,
    POLL_HUP___153 = 6
} ;
enum __anonenum_852341087___153 {
    SIGEV_SIGNAL___153 = 0,
    SIGEV_NONE___153 = 1,
    SIGEV_THREAD___153 = 2,
    SIGEV_THREAD_ID___153 = 4
} ;
enum __anonenum_451154152___153 {
    REG_R8___153 = 0,
    REG_R9___153 = 1,
    REG_R10___153 = 2,
    REG_R11___153 = 3,
    REG_R12___153 = 4,
    REG_R13___153 = 5,
    REG_R14___153 = 6,
    REG_R15___153 = 7,
    REG_RDI___153 = 8,
    REG_RSI___153 = 9,
    REG_RBP___153 = 10,
    REG_RBX___153 = 11,
    REG_RDX___153 = 12,
    REG_RAX___153 = 13,
    REG_RCX___153 = 14,
    REG_RSP___153 = 15,
    REG_RIP___153 = 16,
    REG_EFL___153 = 17,
    REG_CSGSFS___153 = 18,
    REG_ERR___153 = 19,
    REG_TRAPNO___153 = 20,
    REG_OLDMASK___153 = 21,
    REG_CR2___153 = 22
} ;
enum __anonenum_57186863___153 {
    SS_ONSTACK___153 = 1,
    SS_DISABLE___153 = 2
} ;
enum __anonenum_83571709___153 {
    MSG_OOB___153 = 1,
    MSG_PEEK___153 = 2,
    MSG_DONTROUTE___153 = 4,
    MSG_TRYHARD___153 = 4,
    MSG_CTRUNC___153 = 8,
    MSG_PROXY___153 = 16,
    MSG_TRUNC___153 = 32,
    MSG_DONTWAIT___153 = 64,
    MSG_EOR___153 = 128,
    MSG_WAITALL___153 = 256,
    MSG_FIN___153 = 512,
    MSG_SYN___153 = 1024,
    MSG_CONFIRM___153 = 2048,
    MSG_RST___153 = 4096,
    MSG_ERRQUEUE___153 = 8192,
    MSG_NOSIGNAL___153 = 16384,
    MSG_MORE___153 = 32768,
    MSG_WAITFORONE___153 = 65536,
    MSG_BATCH___153 = 262144,
    MSG_ZEROCOPY___153 = 67108864,
    MSG_FASTOPEN___153 = 536870912,
    MSG_CMSG_CLOEXEC___153 = 1073741824
} ;
enum __anonenum_617082774___153 {
    SCM_RIGHTS___153 = 1,
    SCM_CREDENTIALS___153 = 2
} ;
enum __anonenum_606441560___153 {
    SHUT_RD___153 = 0,
    SHUT_WR___153 = 1,
    SHUT_RDWR___153 = 2
} ;
enum __anonenum_681669233___153 {
    IPPROTO_IP___153 = 0,
    IPPROTO_ICMP___153 = 1,
    IPPROTO_IGMP___153 = 2,
    IPPROTO_IPIP___153 = 4,
    IPPROTO_TCP___153 = 6,
    IPPROTO_EGP___153 = 8,
    IPPROTO_PUP___153 = 12,
    IPPROTO_UDP___153 = 17,
    IPPROTO_IDP___153 = 22,
    IPPROTO_TP___153 = 29,
    IPPROTO_DCCP___153 = 33,
    IPPROTO_IPV6___153 = 41,
    IPPROTO_RSVP___153 = 46,
    IPPROTO_GRE___153 = 47,
    IPPROTO_ESP___153 = 50,
    IPPROTO_AH___153 = 51,
    IPPROTO_MTP___153 = 92,
    IPPROTO_BEETPH___153 = 94,
    IPPROTO_ENCAP___153 = 98,
    IPPROTO_PIM___153 = 103,
    IPPROTO_COMP___153 = 108,
    IPPROTO_SCTP___153 = 132,
    IPPROTO_UDPLITE___153 = 136,
    IPPROTO_MPLS___153 = 137,
    IPPROTO_RAW___153 = 255,
    IPPROTO_MAX___153 = 256
} ;
enum __anonenum_218739988___153 {
    IPPROTO_HOPOPTS___153 = 0,
    IPPROTO_ROUTING___153 = 43,
    IPPROTO_FRAGMENT___153 = 44,
    IPPROTO_ICMPV6___153 = 58,
    IPPROTO_NONE___153 = 59,
    IPPROTO_DSTOPTS___153 = 60,
    IPPROTO_MH___153 = 135
} ;
enum __anonenum_662268580___153 {
    IPPORT_ECHO___153 = 7,
    IPPORT_DISCARD___153 = 9,
    IPPORT_SYSTAT___153 = 11,
    IPPORT_DAYTIME___153 = 13,
    IPPORT_NETSTAT___153 = 15,
    IPPORT_FTP___153 = 21,
    IPPORT_TELNET___153 = 23,
    IPPORT_SMTP___153 = 25,
    IPPORT_TIMESERVER___153 = 37,
    IPPORT_NAMESERVER___153 = 42,
    IPPORT_WHOIS___153 = 43,
    IPPORT_MTP___153 = 57,
    IPPORT_TFTP___153 = 69,
    IPPORT_RJE___153 = 77,
    IPPORT_FINGER___153 = 79,
    IPPORT_TTYLINK___153 = 87,
    IPPORT_SUPDUP___153 = 95,
    IPPORT_EXECSERVER___153 = 512,
    IPPORT_LOGINSERVER___153 = 513,
    IPPORT_CMDSERVER___153 = 514,
    IPPORT_EFSSERVER___153 = 520,
    IPPORT_BIFFUDP___153 = 512,
    IPPORT_WHOSERVER___153 = 513,
    IPPORT_ROUTESERVER___153 = 520,
    IPPORT_RESERVED___153 = 1024,
    IPPORT_USERRESERVED___153 = 5000
} ;
enum __anonenum_788308992___153 {
    TCP_ESTABLISHED___153 = 1,
    TCP_SYN_SENT___153 = 2,
    TCP_SYN_RECV___153 = 3,
    TCP_FIN_WAIT1___153 = 4,
    TCP_FIN_WAIT2___153 = 5,
    TCP_TIME_WAIT___153 = 6,
    TCP_CLOSE___153 = 7,
    TCP_CLOSE_WAIT___153 = 8,
    TCP_LAST_ACK___153 = 9,
    TCP_LISTEN___153 = 10,
    TCP_CLOSING___153 = 11
} ;
enum __anonenum_221125648___153 {
    TCP_NO_QUEUE___153 = 0,
    TCP_RECV_QUEUE___153 = 1,
    TCP_SEND_QUEUE___153 = 2,
    TCP_QUEUES_NR___153 = 3
} ;
enum __anonenum_34415463___153 {
    PTHREAD_CREATE_JOINABLE___153 = 0,
    PTHREAD_CREATE_DETACHED___153 = 1
} ;
enum __anonenum_303612439___153 {
    PTHREAD_MUTEX_TIMED_NP___153 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___153 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___153 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___153 = 3,
    PTHREAD_MUTEX_NORMAL___153 = 0,
    PTHREAD_MUTEX_RECURSIVE___153 = 1,
    PTHREAD_MUTEX_ERRORCHECK___153 = 2,
    PTHREAD_MUTEX_DEFAULT___153 = 0,
    PTHREAD_MUTEX_FAST_NP___153 = 0
} ;
enum __anonenum_931900394___153 {
    PTHREAD_MUTEX_STALLED___153 = 0,
    PTHREAD_MUTEX_STALLED_NP___153 = 0,
    PTHREAD_MUTEX_ROBUST___153 = 1,
    PTHREAD_MUTEX_ROBUST_NP___153 = 1
} ;
enum __anonenum_205214487___153 {
    PTHREAD_PRIO_NONE___153 = 0,
    PTHREAD_PRIO_INHERIT___153 = 1,
    PTHREAD_PRIO_PROTECT___153 = 2
} ;
enum __anonenum_25043950___153 {
    PTHREAD_RWLOCK_PREFER_READER_NP___153 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___153 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___153 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___153 = 0
} ;
enum __anonenum_436439511___153 {
    PTHREAD_INHERIT_SCHED___153 = 0,
    PTHREAD_EXPLICIT_SCHED___153 = 1
} ;
enum __anonenum_998661166___153 {
    PTHREAD_SCOPE_SYSTEM___153 = 0,
    PTHREAD_SCOPE_PROCESS___153 = 1
} ;
enum __anonenum_146137331___153 {
    PTHREAD_PROCESS_PRIVATE___153 = 0,
    PTHREAD_PROCESS_SHARED___153 = 1
} ;
enum __anonenum_53396917___153 {
    PTHREAD_CANCEL_ENABLE___153 = 0,
    PTHREAD_CANCEL_DISABLE___153 = 1
} ;
enum __anonenum_904563783___153 {
    PTHREAD_CANCEL_DEFERRED___153 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___153 = 1
} ;
enum __anonenum_672052974___153 {
    SSL_CT_VALIDATION_PERMISSIVE___153 = 0,
    SSL_CT_VALIDATION_STRICT___153 = 1
} ;
enum __anonenum_34023289___11 {
    REMOTE_UNCONFIGURED___11 = 0,
    REMOTE_CONFIG___11 = 1,
    REMOTE_REMOTES___11 = 2,
    REMOTE_BRANCHES___11 = 3
} ;
struct ref_msg {
   char const   *gone ;
   char const   *ahead ;
   char const   *behind ;
   char const   *ahead_behind ;
};
enum __anonenum_cmp_type_173523259 {
    FIELD_STR = 0,
    FIELD_ULONG = 1,
    FIELD_TIME = 2
} ;
typedef enum __anonenum_cmp_type_173523259 cmp_type;
enum __anonenum_cmp_status_448492810 {
    COMPARE_EQUAL = 0,
    COMPARE_UNEQUAL = 1,
    COMPARE_NONE = 2
} ;
typedef enum __anonenum_cmp_status_448492810 cmp_status;
enum __anonenum_info_source_348022005 {
    SOURCE_NONE = 0,
    SOURCE_OBJ = 1,
    SOURCE_OTHER = 2
} ;
typedef enum __anonenum_info_source_348022005 info_source;
struct align {
   align_type position ;
   unsigned int width ;
};
struct if_then_else {
   cmp_status cmp_status ;
   char const   *str ;
   unsigned int then_atom_seen : 1 ;
   unsigned int else_atom_seen : 1 ;
   unsigned int condition_satisfied : 1 ;
};
enum __anonenum_option_585275205 {
    R_NORMAL = 0,
    R_SHORT = 1,
    R_LSTRIP = 2,
    R_RSTRIP = 3
} ;
struct refname_atom {
   enum __anonenum_option_585275205 option ;
   int lstrip ;
   int rstrip ;
};
struct ref_trailer_buf {
   struct string_list filter_list ;
   struct strbuf sepbuf ;
   struct strbuf kvsepbuf ;
};
struct expand_data {
   struct object_id oid ;
   enum object_type type ;
   unsigned long size ;
   off_t disk_size ;
   struct object_id delta_base_oid ;
   void *content ;
   struct object_info info ;
};
struct ref_to_worktree_entry {
   struct hashmap_entry ent ;
   struct worktree *wt ;
};
struct ref_to_worktree_map {
   struct hashmap map ;
   struct worktree **worktrees ;
};
enum atom_type {
    ATOM_REFNAME = 0,
    ATOM_OBJECTTYPE = 1,
    ATOM_OBJECTSIZE = 2,
    ATOM_OBJECTNAME = 3,
    ATOM_DELTABASE = 4,
    ATOM_TREE = 5,
    ATOM_PARENT = 6,
    ATOM_NUMPARENT = 7,
    ATOM_OBJECT = 8,
    ATOM_TYPE = 9,
    ATOM_TAG = 10,
    ATOM_AUTHOR = 11,
    ATOM_AUTHORNAME = 12,
    ATOM_AUTHOREMAIL = 13,
    ATOM_AUTHORDATE = 14,
    ATOM_COMMITTER = 15,
    ATOM_COMMITTERNAME = 16,
    ATOM_COMMITTEREMAIL = 17,
    ATOM_COMMITTERDATE = 18,
    ATOM_TAGGER = 19,
    ATOM_TAGGERNAME = 20,
    ATOM_TAGGEREMAIL = 21,
    ATOM_TAGGERDATE = 22,
    ATOM_CREATOR = 23,
    ATOM_CREATORDATE = 24,
    ATOM_SUBJECT = 25,
    ATOM_BODY = 26,
    ATOM_TRAILERS = 27,
    ATOM_CONTENTS = 28,
    ATOM_RAW = 29,
    ATOM_UPSTREAM = 30,
    ATOM_PUSH = 31,
    ATOM_SYMREF = 32,
    ATOM_FLAG = 33,
    ATOM_HEAD = 34,
    ATOM_COLOR = 35,
    ATOM_WORKTREEPATH = 36,
    ATOM_ALIGN = 37,
    ATOM_END = 38,
    ATOM_IF = 39,
    ATOM_THEN = 40,
    ATOM_ELSE = 41,
    ATOM_REST = 42
} ;
enum __anonenum_option_1019172202 {
    RR_REF = 0,
    RR_TRACK = 1,
    RR_TRACKSHORT = 2,
    RR_REMOTE_NAME = 3,
    RR_REMOTE_REF = 4
} ;
struct __anonstruct_remote_ref_946417335 {
   enum __anonenum_option_1019172202 option ;
   struct refname_atom refname ;
   unsigned int nobracket : 1 ;
   unsigned int push : 1 ;
   unsigned int push_remote : 1 ;
};
enum __anonenum_option_357902700 {
    C_BARE = 0,
    C_BODY = 1,
    C_BODY_DEP = 2,
    C_LENGTH = 3,
    C_LINES = 4,
    C_SIG = 5,
    C_SUB = 6,
    C_SUB_SANITIZE = 7,
    C_TRAILERS = 8
} ;
struct __anonstruct_contents_476374035 {
   enum __anonenum_option_357902700 option ;
   struct process_trailer_options trailer_opts ;
   unsigned int nlines ;
};
enum __anonenum_option_325609188 {
    RAW_BARE = 0,
    RAW_LENGTH = 1
} ;
struct __anonstruct_raw_data_286066813 {
   enum __anonenum_option_325609188 option ;
};
struct __anonstruct_if_then_else_1062759736 {
   cmp_status cmp_status ;
   char const   *str ;
};
enum __anonenum_option_841807385 {
    O_FULL = 0,
    O_LENGTH = 1,
    O_SHORT = 2
} ;
struct __anonstruct_oid_904582115 {
   enum __anonenum_option_841807385 option ;
   unsigned int length ;
};
enum __anonenum_option_451524685 {
    O_SIZE = 0,
    O_SIZE_DISK = 1
} ;
struct __anonstruct_objectsize_490536096 {
   enum __anonenum_option_451524685 option ;
};
enum __anonenum_option_166157618 {
    EO_RAW = 0,
    EO_TRIM = 1,
    EO_LOCALPART = 2
} ;
struct email_option {
   enum __anonenum_option_166157618 option ;
};
union __anonunion_u_424889292 {
   char color[75] ;
   struct align align ;
   struct __anonstruct_remote_ref_946417335 remote_ref ;
   struct __anonstruct_contents_476374035 contents ;
   struct __anonstruct_raw_data_286066813 raw_data ;
   struct __anonstruct_if_then_else_1062759736 if_then_else ;
   struct __anonstruct_oid_904582115 oid ;
   struct __anonstruct_objectsize_490536096 objectsize ;
   struct email_option email_option ;
   struct refname_atom refname ;
   char *head ;
};
struct used_atom {
   enum atom_type atom_type ;
   char const   *name ;
   cmp_type type ;
   info_source source ;
   union __anonunion_u_424889292 u ;
};
struct __anonstruct_valid_atom_666489144 {
   char const   *name ;
   info_source source ;
   cmp_type cmp_type ;
   int (*parser)(struct ref_format *format , struct used_atom *atom , char const   *arg ,
                 struct strbuf *err ) ;
};
struct ref_formatting_stack {
   struct ref_formatting_stack *prev ;
   struct strbuf output ;
   void (*at_end)(struct ref_formatting_stack **stack ) ;
   void *at_end_data ;
};
struct ref_formatting_state {
   int quote_style ;
   struct ref_formatting_stack *stack ;
};
struct atom_value {
   char const   *s ;
   ssize_t s_size ;
   int (*handler)(struct atom_value *atomv , struct ref_formatting_state *state ,
                  struct strbuf *err ) ;
   uintmax_t value ;
   struct used_atom *atom ;
};
struct __anonstruct_ref_kind_833452893 {
   char const   *prefix ;
   unsigned int kind ;
};
struct ref_filter_cbdata {
   struct ref_array *array ;
   struct ref_filter *filter ;
   struct contains_cache contains_cache ;
   struct contains_cache no_contains_cache ;
};
struct ref_sorting {
   struct ref_sorting *next ;
   int atom ;
   enum ref_sorting_order sort_flags ;
};
enum __anonenum_437032235___154 {
    _PC_LINK_MAX___154 = 0,
    _PC_MAX_CANON___154 = 1,
    _PC_MAX_INPUT___154 = 2,
    _PC_NAME_MAX___154 = 3,
    _PC_PATH_MAX___154 = 4,
    _PC_PIPE_BUF___154 = 5,
    _PC_CHOWN_RESTRICTED___154 = 6,
    _PC_NO_TRUNC___154 = 7,
    _PC_VDISABLE___154 = 8,
    _PC_SYNC_IO___154 = 9,
    _PC_ASYNC_IO___154 = 10,
    _PC_PRIO_IO___154 = 11,
    _PC_SOCK_MAXBUF___154 = 12,
    _PC_FILESIZEBITS___154 = 13,
    _PC_REC_INCR_XFER_SIZE___154 = 14,
    _PC_REC_MAX_XFER_SIZE___154 = 15,
    _PC_REC_MIN_XFER_SIZE___154 = 16,
    _PC_REC_XFER_ALIGN___154 = 17,
    _PC_ALLOC_SIZE_MIN___154 = 18,
    _PC_SYMLINK_MAX___154 = 19,
    _PC_2_SYMLINKS___154 = 20
} ;
enum __anonenum_315186338___154 {
    _SC_ARG_MAX___154 = 0,
    _SC_CHILD_MAX___154 = 1,
    _SC_CLK_TCK___154 = 2,
    _SC_NGROUPS_MAX___154 = 3,
    _SC_OPEN_MAX___154 = 4,
    _SC_STREAM_MAX___154 = 5,
    _SC_TZNAME_MAX___154 = 6,
    _SC_JOB_CONTROL___154 = 7,
    _SC_SAVED_IDS___154 = 8,
    _SC_REALTIME_SIGNALS___154 = 9,
    _SC_PRIORITY_SCHEDULING___154 = 10,
    _SC_TIMERS___154 = 11,
    _SC_ASYNCHRONOUS_IO___154 = 12,
    _SC_PRIORITIZED_IO___154 = 13,
    _SC_SYNCHRONIZED_IO___154 = 14,
    _SC_FSYNC___154 = 15,
    _SC_MAPPED_FILES___154 = 16,
    _SC_MEMLOCK___154 = 17,
    _SC_MEMLOCK_RANGE___154 = 18,
    _SC_MEMORY_PROTECTION___154 = 19,
    _SC_MESSAGE_PASSING___154 = 20,
    _SC_SEMAPHORES___154 = 21,
    _SC_SHARED_MEMORY_OBJECTS___154 = 22,
    _SC_AIO_LISTIO_MAX___154 = 23,
    _SC_AIO_MAX___154 = 24,
    _SC_AIO_PRIO_DELTA_MAX___154 = 25,
    _SC_DELAYTIMER_MAX___154 = 26,
    _SC_MQ_OPEN_MAX___154 = 27,
    _SC_MQ_PRIO_MAX___154 = 28,
    _SC_VERSION___154 = 29,
    _SC_PAGESIZE___154 = 30,
    _SC_RTSIG_MAX___154 = 31,
    _SC_SEM_NSEMS_MAX___154 = 32,
    _SC_SEM_VALUE_MAX___154 = 33,
    _SC_SIGQUEUE_MAX___154 = 34,
    _SC_TIMER_MAX___154 = 35,
    _SC_BC_BASE_MAX___154 = 36,
    _SC_BC_DIM_MAX___154 = 37,
    _SC_BC_SCALE_MAX___154 = 38,
    _SC_BC_STRING_MAX___154 = 39,
    _SC_COLL_WEIGHTS_MAX___154 = 40,
    _SC_EQUIV_CLASS_MAX___154 = 41,
    _SC_EXPR_NEST_MAX___154 = 42,
    _SC_LINE_MAX___154 = 43,
    _SC_RE_DUP_MAX___154 = 44,
    _SC_CHARCLASS_NAME_MAX___154 = 45,
    _SC_2_VERSION___154 = 46,
    _SC_2_C_BIND___154 = 47,
    _SC_2_C_DEV___154 = 48,
    _SC_2_FORT_DEV___154 = 49,
    _SC_2_FORT_RUN___154 = 50,
    _SC_2_SW_DEV___154 = 51,
    _SC_2_LOCALEDEF___154 = 52,
    _SC_PII___154 = 53,
    _SC_PII_XTI___154 = 54,
    _SC_PII_SOCKET___154 = 55,
    _SC_PII_INTERNET___154 = 56,
    _SC_PII_OSI___154 = 57,
    _SC_POLL___154 = 58,
    _SC_SELECT___154 = 59,
    _SC_UIO_MAXIOV___154 = 60,
    _SC_IOV_MAX___154 = 60,
    _SC_PII_INTERNET_STREAM___154 = 61,
    _SC_PII_INTERNET_DGRAM___154 = 62,
    _SC_PII_OSI_COTS___154 = 63,
    _SC_PII_OSI_CLTS___154 = 64,
    _SC_PII_OSI_M___154 = 65,
    _SC_T_IOV_MAX___154 = 66,
    _SC_THREADS___154 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___154 = 68,
    _SC_GETGR_R_SIZE_MAX___154 = 69,
    _SC_GETPW_R_SIZE_MAX___154 = 70,
    _SC_LOGIN_NAME_MAX___154 = 71,
    _SC_TTY_NAME_MAX___154 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___154 = 73,
    _SC_THREAD_KEYS_MAX___154 = 74,
    _SC_THREAD_STACK_MIN___154 = 75,
    _SC_THREAD_THREADS_MAX___154 = 76,
    _SC_THREAD_ATTR_STACKADDR___154 = 77,
    _SC_THREAD_ATTR_STACKSIZE___154 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___154 = 79,
    _SC_THREAD_PRIO_INHERIT___154 = 80,
    _SC_THREAD_PRIO_PROTECT___154 = 81,
    _SC_THREAD_PROCESS_SHARED___154 = 82,
    _SC_NPROCESSORS_CONF___154 = 83,
    _SC_NPROCESSORS_ONLN___154 = 84,
    _SC_PHYS_PAGES___154 = 85,
    _SC_AVPHYS_PAGES___154 = 86,
    _SC_ATEXIT_MAX___154 = 87,
    _SC_PASS_MAX___154 = 88,
    _SC_XOPEN_VERSION___154 = 89,
    _SC_XOPEN_XCU_VERSION___154 = 90,
    _SC_XOPEN_UNIX___154 = 91,
    _SC_XOPEN_CRYPT___154 = 92,
    _SC_XOPEN_ENH_I18N___154 = 93,
    _SC_XOPEN_SHM___154 = 94,
    _SC_2_CHAR_TERM___154 = 95,
    _SC_2_C_VERSION___154 = 96,
    _SC_2_UPE___154 = 97,
    _SC_XOPEN_XPG2___154 = 98,
    _SC_XOPEN_XPG3___154 = 99,
    _SC_XOPEN_XPG4___154 = 100,
    _SC_CHAR_BIT___154 = 101,
    _SC_CHAR_MAX___154 = 102,
    _SC_CHAR_MIN___154 = 103,
    _SC_INT_MAX___154 = 104,
    _SC_INT_MIN___154 = 105,
    _SC_LONG_BIT___154 = 106,
    _SC_WORD_BIT___154 = 107,
    _SC_MB_LEN_MAX___154 = 108,
    _SC_NZERO___154 = 109,
    _SC_SSIZE_MAX___154 = 110,
    _SC_SCHAR_MAX___154 = 111,
    _SC_SCHAR_MIN___154 = 112,
    _SC_SHRT_MAX___154 = 113,
    _SC_SHRT_MIN___154 = 114,
    _SC_UCHAR_MAX___154 = 115,
    _SC_UINT_MAX___154 = 116,
    _SC_ULONG_MAX___154 = 117,
    _SC_USHRT_MAX___154 = 118,
    _SC_NL_ARGMAX___154 = 119,
    _SC_NL_LANGMAX___154 = 120,
    _SC_NL_MSGMAX___154 = 121,
    _SC_NL_NMAX___154 = 122,
    _SC_NL_SETMAX___154 = 123,
    _SC_NL_TEXTMAX___154 = 124,
    _SC_XBS5_ILP32_OFF32___154 = 125,
    _SC_XBS5_ILP32_OFFBIG___154 = 126,
    _SC_XBS5_LP64_OFF64___154 = 127,
    _SC_XBS5_LPBIG_OFFBIG___154 = 128,
    _SC_XOPEN_LEGACY___154 = 129,
    _SC_XOPEN_REALTIME___154 = 130,
    _SC_XOPEN_REALTIME_THREADS___154 = 131,
    _SC_ADVISORY_INFO___154 = 132,
    _SC_BARRIERS___154 = 133,
    _SC_BASE___154 = 134,
    _SC_C_LANG_SUPPORT___154 = 135,
    _SC_C_LANG_SUPPORT_R___154 = 136,
    _SC_CLOCK_SELECTION___154 = 137,
    _SC_CPUTIME___154 = 138,
    _SC_THREAD_CPUTIME___154 = 139,
    _SC_DEVICE_IO___154 = 140,
    _SC_DEVICE_SPECIFIC___154 = 141,
    _SC_DEVICE_SPECIFIC_R___154 = 142,
    _SC_FD_MGMT___154 = 143,
    _SC_FIFO___154 = 144,
    _SC_PIPE___154 = 145,
    _SC_FILE_ATTRIBUTES___154 = 146,
    _SC_FILE_LOCKING___154 = 147,
    _SC_FILE_SYSTEM___154 = 148,
    _SC_MONOTONIC_CLOCK___154 = 149,
    _SC_MULTI_PROCESS___154 = 150,
    _SC_SINGLE_PROCESS___154 = 151,
    _SC_NETWORKING___154 = 152,
    _SC_READER_WRITER_LOCKS___154 = 153,
    _SC_SPIN_LOCKS___154 = 154,
    _SC_REGEXP___154 = 155,
    _SC_REGEX_VERSION___154 = 156,
    _SC_SHELL___154 = 157,
    _SC_SIGNALS___154 = 158,
    _SC_SPAWN___154 = 159,
    _SC_SPORADIC_SERVER___154 = 160,
    _SC_THREAD_SPORADIC_SERVER___154 = 161,
    _SC_SYSTEM_DATABASE___154 = 162,
    _SC_SYSTEM_DATABASE_R___154 = 163,
    _SC_TIMEOUTS___154 = 164,
    _SC_TYPED_MEMORY_OBJECTS___154 = 165,
    _SC_USER_GROUPS___154 = 166,
    _SC_USER_GROUPS_R___154 = 167,
    _SC_2_PBS___154 = 168,
    _SC_2_PBS_ACCOUNTING___154 = 169,
    _SC_2_PBS_LOCATE___154 = 170,
    _SC_2_PBS_MESSAGE___154 = 171,
    _SC_2_PBS_TRACK___154 = 172,
    _SC_SYMLOOP_MAX___154 = 173,
    _SC_STREAMS___154 = 174,
    _SC_2_PBS_CHECKPOINT___154 = 175,
    _SC_V6_ILP32_OFF32___154 = 176,
    _SC_V6_ILP32_OFFBIG___154 = 177,
    _SC_V6_LP64_OFF64___154 = 178,
    _SC_V6_LPBIG_OFFBIG___154 = 179,
    _SC_HOST_NAME_MAX___154 = 180,
    _SC_TRACE___154 = 181,
    _SC_TRACE_EVENT_FILTER___154 = 182,
    _SC_TRACE_INHERIT___154 = 183,
    _SC_TRACE_LOG___154 = 184,
    _SC_LEVEL1_ICACHE_SIZE___154 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___154 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___154 = 187,
    _SC_LEVEL1_DCACHE_SIZE___154 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___154 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___154 = 190,
    _SC_LEVEL2_CACHE_SIZE___154 = 191,
    _SC_LEVEL2_CACHE_ASSOC___154 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___154 = 193,
    _SC_LEVEL3_CACHE_SIZE___154 = 194,
    _SC_LEVEL3_CACHE_ASSOC___154 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___154 = 196,
    _SC_LEVEL4_CACHE_SIZE___154 = 197,
    _SC_LEVEL4_CACHE_ASSOC___154 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___154 = 199,
    _SC_IPV6___154 = 235,
    _SC_RAW_SOCKETS___154 = 236,
    _SC_V7_ILP32_OFF32___154 = 237,
    _SC_V7_ILP32_OFFBIG___154 = 238,
    _SC_V7_LP64_OFF64___154 = 239,
    _SC_V7_LPBIG_OFFBIG___154 = 240,
    _SC_SS_REPL_MAX___154 = 241,
    _SC_TRACE_EVENT_NAME_MAX___154 = 242,
    _SC_TRACE_NAME_MAX___154 = 243,
    _SC_TRACE_SYS_MAX___154 = 244,
    _SC_TRACE_USER_EVENT_MAX___154 = 245,
    _SC_XOPEN_STREAMS___154 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___154 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___154 = 248
} ;
enum __anonenum_875524036___154 {
    _CS_PATH___154 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___154 = 1,
    _CS_GNU_LIBC_VERSION___154 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___154 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___154 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___154 = 5,
    _CS_LFS_CFLAGS___154 = 1000,
    _CS_LFS_LDFLAGS___154 = 1001,
    _CS_LFS_LIBS___154 = 1002,
    _CS_LFS_LINTFLAGS___154 = 1003,
    _CS_LFS64_CFLAGS___154 = 1004,
    _CS_LFS64_LDFLAGS___154 = 1005,
    _CS_LFS64_LIBS___154 = 1006,
    _CS_LFS64_LINTFLAGS___154 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___154 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___154 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___154 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___154 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___154 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___154 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___154 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___154 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___154 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___154 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___154 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___154 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___154 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___154 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___154 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___154 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___154 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___154 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___154 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___154 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___154 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___154 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___154 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___154 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___154 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___154 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___154 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___154 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___154 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___154 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___154 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___154 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___154 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___154 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___154 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___154 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___154 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___154 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___154 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___154 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___154 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___154 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___154 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___154 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___154 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___154 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___154 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___154 = 1147,
    _CS_V6_ENV___154 = 1148,
    _CS_V7_ENV___154 = 1149
} ;
enum __anonenum_513775621___154 {
    DT_UNKNOWN___154 = 0,
    DT_FIFO___154 = 1,
    DT_CHR___154 = 2,
    DT_DIR___154 = 4,
    DT_BLK___154 = 6,
    DT_REG___154 = 8,
    DT_LNK___154 = 10,
    DT_SOCK___154 = 12,
    DT_WHT___154 = 14
} ;
enum __anonenum_77002343___154 {
    SI_ASYNCNL___154 = -60,
    SI_TKILL___154 = -6,
    SI_SIGIO___154 = -5,
    SI_ASYNCIO___154 = -4,
    SI_MESGQ___154 = -3,
    SI_TIMER___154 = -2,
    SI_QUEUE___154 = -1,
    SI_USER___154 = 0,
    SI_KERNEL___154 = 128
} ;
enum __anonenum_131038172___154 {
    ILL_ILLOPC___154 = 1,
    ILL_ILLOPN___154 = 2,
    ILL_ILLADR___154 = 3,
    ILL_ILLTRP___154 = 4,
    ILL_PRVOPC___154 = 5,
    ILL_PRVREG___154 = 6,
    ILL_COPROC___154 = 7,
    ILL_BADSTK___154 = 8
} ;
enum __anonenum_452038093___154 {
    FPE_INTDIV___154 = 1,
    FPE_INTOVF___154 = 2,
    FPE_FLTDIV___154 = 3,
    FPE_FLTOVF___154 = 4,
    FPE_FLTUND___154 = 5,
    FPE_FLTRES___154 = 6,
    FPE_FLTINV___154 = 7,
    FPE_FLTSUB___154 = 8
} ;
enum __anonenum_30976155___154 {
    SEGV_MAPERR___154 = 1,
    SEGV_ACCERR___154 = 2,
    SEGV_BNDERR___154 = 3,
    SEGV_PKUERR___154 = 4
} ;
enum __anonenum_1036286214___154 {
    BUS_ADRALN___154 = 1,
    BUS_ADRERR___154 = 2,
    BUS_OBJERR___154 = 3,
    BUS_MCEERR_AR___154 = 4,
    BUS_MCEERR_AO___154 = 5
} ;
enum __anonenum_493465559___154 {
    TRAP_BRKPT___154 = 1,
    TRAP_TRACE___154 = 2
} ;
enum __anonenum_23175539___154 {
    CLD_EXITED___154 = 1,
    CLD_KILLED___154 = 2,
    CLD_DUMPED___154 = 3,
    CLD_TRAPPED___154 = 4,
    CLD_STOPPED___154 = 5,
    CLD_CONTINUED___154 = 6
} ;
enum __anonenum_111643124___154 {
    POLL_IN___154 = 1,
    POLL_OUT___154 = 2,
    POLL_MSG___154 = 3,
    POLL_ERR___154 = 4,
    POLL_PRI___154 = 5,
    POLL_HUP___154 = 6
} ;
enum __anonenum_852341087___154 {
    SIGEV_SIGNAL___154 = 0,
    SIGEV_NONE___154 = 1,
    SIGEV_THREAD___154 = 2,
    SIGEV_THREAD_ID___154 = 4
} ;
enum __anonenum_451154152___154 {
    REG_R8___154 = 0,
    REG_R9___154 = 1,
    REG_R10___154 = 2,
    REG_R11___154 = 3,
    REG_R12___154 = 4,
    REG_R13___154 = 5,
    REG_R14___154 = 6,
    REG_R15___154 = 7,
    REG_RDI___154 = 8,
    REG_RSI___154 = 9,
    REG_RBP___154 = 10,
    REG_RBX___154 = 11,
    REG_RDX___154 = 12,
    REG_RAX___154 = 13,
    REG_RCX___154 = 14,
    REG_RSP___154 = 15,
    REG_RIP___154 = 16,
    REG_EFL___154 = 17,
    REG_CSGSFS___154 = 18,
    REG_ERR___154 = 19,
    REG_TRAPNO___154 = 20,
    REG_OLDMASK___154 = 21,
    REG_CR2___154 = 22
} ;
enum __anonenum_57186863___154 {
    SS_ONSTACK___154 = 1,
    SS_DISABLE___154 = 2
} ;
enum __anonenum_83571709___154 {
    MSG_OOB___154 = 1,
    MSG_PEEK___154 = 2,
    MSG_DONTROUTE___154 = 4,
    MSG_TRYHARD___154 = 4,
    MSG_CTRUNC___154 = 8,
    MSG_PROXY___154 = 16,
    MSG_TRUNC___154 = 32,
    MSG_DONTWAIT___154 = 64,
    MSG_EOR___154 = 128,
    MSG_WAITALL___154 = 256,
    MSG_FIN___154 = 512,
    MSG_SYN___154 = 1024,
    MSG_CONFIRM___154 = 2048,
    MSG_RST___154 = 4096,
    MSG_ERRQUEUE___154 = 8192,
    MSG_NOSIGNAL___154 = 16384,
    MSG_MORE___154 = 32768,
    MSG_WAITFORONE___154 = 65536,
    MSG_BATCH___154 = 262144,
    MSG_ZEROCOPY___154 = 67108864,
    MSG_FASTOPEN___154 = 536870912,
    MSG_CMSG_CLOEXEC___154 = 1073741824
} ;
enum __anonenum_617082774___154 {
    SCM_RIGHTS___154 = 1,
    SCM_CREDENTIALS___154 = 2
} ;
enum __anonenum_606441560___154 {
    SHUT_RD___154 = 0,
    SHUT_WR___154 = 1,
    SHUT_RDWR___154 = 2
} ;
enum __anonenum_681669233___154 {
    IPPROTO_IP___154 = 0,
    IPPROTO_ICMP___154 = 1,
    IPPROTO_IGMP___154 = 2,
    IPPROTO_IPIP___154 = 4,
    IPPROTO_TCP___154 = 6,
    IPPROTO_EGP___154 = 8,
    IPPROTO_PUP___154 = 12,
    IPPROTO_UDP___154 = 17,
    IPPROTO_IDP___154 = 22,
    IPPROTO_TP___154 = 29,
    IPPROTO_DCCP___154 = 33,
    IPPROTO_IPV6___154 = 41,
    IPPROTO_RSVP___154 = 46,
    IPPROTO_GRE___154 = 47,
    IPPROTO_ESP___154 = 50,
    IPPROTO_AH___154 = 51,
    IPPROTO_MTP___154 = 92,
    IPPROTO_BEETPH___154 = 94,
    IPPROTO_ENCAP___154 = 98,
    IPPROTO_PIM___154 = 103,
    IPPROTO_COMP___154 = 108,
    IPPROTO_SCTP___154 = 132,
    IPPROTO_UDPLITE___154 = 136,
    IPPROTO_MPLS___154 = 137,
    IPPROTO_RAW___154 = 255,
    IPPROTO_MAX___154 = 256
} ;
enum __anonenum_218739988___154 {
    IPPROTO_HOPOPTS___154 = 0,
    IPPROTO_ROUTING___154 = 43,
    IPPROTO_FRAGMENT___154 = 44,
    IPPROTO_ICMPV6___154 = 58,
    IPPROTO_NONE___154 = 59,
    IPPROTO_DSTOPTS___154 = 60,
    IPPROTO_MH___154 = 135
} ;
enum __anonenum_662268580___154 {
    IPPORT_ECHO___154 = 7,
    IPPORT_DISCARD___154 = 9,
    IPPORT_SYSTAT___154 = 11,
    IPPORT_DAYTIME___154 = 13,
    IPPORT_NETSTAT___154 = 15,
    IPPORT_FTP___154 = 21,
    IPPORT_TELNET___154 = 23,
    IPPORT_SMTP___154 = 25,
    IPPORT_TIMESERVER___154 = 37,
    IPPORT_NAMESERVER___154 = 42,
    IPPORT_WHOIS___154 = 43,
    IPPORT_MTP___154 = 57,
    IPPORT_TFTP___154 = 69,
    IPPORT_RJE___154 = 77,
    IPPORT_FINGER___154 = 79,
    IPPORT_TTYLINK___154 = 87,
    IPPORT_SUPDUP___154 = 95,
    IPPORT_EXECSERVER___154 = 512,
    IPPORT_LOGINSERVER___154 = 513,
    IPPORT_CMDSERVER___154 = 514,
    IPPORT_EFSSERVER___154 = 520,
    IPPORT_BIFFUDP___154 = 512,
    IPPORT_WHOSERVER___154 = 513,
    IPPORT_ROUTESERVER___154 = 520,
    IPPORT_RESERVED___154 = 1024,
    IPPORT_USERRESERVED___154 = 5000
} ;
enum __anonenum_788308992___154 {
    TCP_ESTABLISHED___154 = 1,
    TCP_SYN_SENT___154 = 2,
    TCP_SYN_RECV___154 = 3,
    TCP_FIN_WAIT1___154 = 4,
    TCP_FIN_WAIT2___154 = 5,
    TCP_TIME_WAIT___154 = 6,
    TCP_CLOSE___154 = 7,
    TCP_CLOSE_WAIT___154 = 8,
    TCP_LAST_ACK___154 = 9,
    TCP_LISTEN___154 = 10,
    TCP_CLOSING___154 = 11
} ;
enum __anonenum_221125648___154 {
    TCP_NO_QUEUE___154 = 0,
    TCP_RECV_QUEUE___154 = 1,
    TCP_SEND_QUEUE___154 = 2,
    TCP_QUEUES_NR___154 = 3
} ;
enum __anonenum_34415463___154 {
    PTHREAD_CREATE_JOINABLE___154 = 0,
    PTHREAD_CREATE_DETACHED___154 = 1
} ;
enum __anonenum_303612439___154 {
    PTHREAD_MUTEX_TIMED_NP___154 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___154 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___154 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___154 = 3,
    PTHREAD_MUTEX_NORMAL___154 = 0,
    PTHREAD_MUTEX_RECURSIVE___154 = 1,
    PTHREAD_MUTEX_ERRORCHECK___154 = 2,
    PTHREAD_MUTEX_DEFAULT___154 = 0,
    PTHREAD_MUTEX_FAST_NP___154 = 0
} ;
enum __anonenum_931900394___154 {
    PTHREAD_MUTEX_STALLED___154 = 0,
    PTHREAD_MUTEX_STALLED_NP___154 = 0,
    PTHREAD_MUTEX_ROBUST___154 = 1,
    PTHREAD_MUTEX_ROBUST_NP___154 = 1
} ;
enum __anonenum_205214487___154 {
    PTHREAD_PRIO_NONE___154 = 0,
    PTHREAD_PRIO_INHERIT___154 = 1,
    PTHREAD_PRIO_PROTECT___154 = 2
} ;
enum __anonenum_25043950___154 {
    PTHREAD_RWLOCK_PREFER_READER_NP___154 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___154 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___154 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___154 = 0
} ;
enum __anonenum_436439511___154 {
    PTHREAD_INHERIT_SCHED___154 = 0,
    PTHREAD_EXPLICIT_SCHED___154 = 1
} ;
enum __anonenum_998661166___154 {
    PTHREAD_SCOPE_SYSTEM___154 = 0,
    PTHREAD_SCOPE_PROCESS___154 = 1
} ;
enum __anonenum_146137331___154 {
    PTHREAD_PROCESS_PRIVATE___154 = 0,
    PTHREAD_PROCESS_SHARED___154 = 1
} ;
enum __anonenum_53396917___154 {
    PTHREAD_CANCEL_ENABLE___154 = 0,
    PTHREAD_CANCEL_DISABLE___154 = 1
} ;
enum __anonenum_904563783___154 {
    PTHREAD_CANCEL_DEFERRED___154 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___154 = 1
} ;
enum __anonenum_672052974___154 {
    SSL_CT_VALIDATION_PERMISSIVE___154 = 0,
    SSL_CT_VALIDATION_STRICT___154 = 1
} ;
struct reflog_info {
   struct object_id ooid ;
   struct object_id noid ;
   char *email ;
   timestamp_t timestamp ;
   int tz ;
   char *message ;
};
struct complete_reflogs {
   char *ref ;
   char const   *short_ref ;
   struct reflog_info *items ;
   int nr ;
   int alloc ;
};
enum selector_type {
    SELECTOR_NONE = 0,
    SELECTOR_INDEX = 1,
    SELECTOR_DATE = 2
} ;
struct commit_reflog {
   int recno ;
   enum selector_type selector ;
   struct complete_reflogs *reflogs ;
};
struct reflog_walk_info {
   struct commit_reflog **logs ;
   size_t nr ;
   size_t alloc ;
   struct string_list complete_reflogs ;
   struct commit_reflog *last_commit_reflog ;
};
enum __anonenum_437032235___155 {
    _PC_LINK_MAX___155 = 0,
    _PC_MAX_CANON___155 = 1,
    _PC_MAX_INPUT___155 = 2,
    _PC_NAME_MAX___155 = 3,
    _PC_PATH_MAX___155 = 4,
    _PC_PIPE_BUF___155 = 5,
    _PC_CHOWN_RESTRICTED___155 = 6,
    _PC_NO_TRUNC___155 = 7,
    _PC_VDISABLE___155 = 8,
    _PC_SYNC_IO___155 = 9,
    _PC_ASYNC_IO___155 = 10,
    _PC_PRIO_IO___155 = 11,
    _PC_SOCK_MAXBUF___155 = 12,
    _PC_FILESIZEBITS___155 = 13,
    _PC_REC_INCR_XFER_SIZE___155 = 14,
    _PC_REC_MAX_XFER_SIZE___155 = 15,
    _PC_REC_MIN_XFER_SIZE___155 = 16,
    _PC_REC_XFER_ALIGN___155 = 17,
    _PC_ALLOC_SIZE_MIN___155 = 18,
    _PC_SYMLINK_MAX___155 = 19,
    _PC_2_SYMLINKS___155 = 20
} ;
enum __anonenum_315186338___155 {
    _SC_ARG_MAX___155 = 0,
    _SC_CHILD_MAX___155 = 1,
    _SC_CLK_TCK___155 = 2,
    _SC_NGROUPS_MAX___155 = 3,
    _SC_OPEN_MAX___155 = 4,
    _SC_STREAM_MAX___155 = 5,
    _SC_TZNAME_MAX___155 = 6,
    _SC_JOB_CONTROL___155 = 7,
    _SC_SAVED_IDS___155 = 8,
    _SC_REALTIME_SIGNALS___155 = 9,
    _SC_PRIORITY_SCHEDULING___155 = 10,
    _SC_TIMERS___155 = 11,
    _SC_ASYNCHRONOUS_IO___155 = 12,
    _SC_PRIORITIZED_IO___155 = 13,
    _SC_SYNCHRONIZED_IO___155 = 14,
    _SC_FSYNC___155 = 15,
    _SC_MAPPED_FILES___155 = 16,
    _SC_MEMLOCK___155 = 17,
    _SC_MEMLOCK_RANGE___155 = 18,
    _SC_MEMORY_PROTECTION___155 = 19,
    _SC_MESSAGE_PASSING___155 = 20,
    _SC_SEMAPHORES___155 = 21,
    _SC_SHARED_MEMORY_OBJECTS___155 = 22,
    _SC_AIO_LISTIO_MAX___155 = 23,
    _SC_AIO_MAX___155 = 24,
    _SC_AIO_PRIO_DELTA_MAX___155 = 25,
    _SC_DELAYTIMER_MAX___155 = 26,
    _SC_MQ_OPEN_MAX___155 = 27,
    _SC_MQ_PRIO_MAX___155 = 28,
    _SC_VERSION___155 = 29,
    _SC_PAGESIZE___155 = 30,
    _SC_RTSIG_MAX___155 = 31,
    _SC_SEM_NSEMS_MAX___155 = 32,
    _SC_SEM_VALUE_MAX___155 = 33,
    _SC_SIGQUEUE_MAX___155 = 34,
    _SC_TIMER_MAX___155 = 35,
    _SC_BC_BASE_MAX___155 = 36,
    _SC_BC_DIM_MAX___155 = 37,
    _SC_BC_SCALE_MAX___155 = 38,
    _SC_BC_STRING_MAX___155 = 39,
    _SC_COLL_WEIGHTS_MAX___155 = 40,
    _SC_EQUIV_CLASS_MAX___155 = 41,
    _SC_EXPR_NEST_MAX___155 = 42,
    _SC_LINE_MAX___155 = 43,
    _SC_RE_DUP_MAX___155 = 44,
    _SC_CHARCLASS_NAME_MAX___155 = 45,
    _SC_2_VERSION___155 = 46,
    _SC_2_C_BIND___155 = 47,
    _SC_2_C_DEV___155 = 48,
    _SC_2_FORT_DEV___155 = 49,
    _SC_2_FORT_RUN___155 = 50,
    _SC_2_SW_DEV___155 = 51,
    _SC_2_LOCALEDEF___155 = 52,
    _SC_PII___155 = 53,
    _SC_PII_XTI___155 = 54,
    _SC_PII_SOCKET___155 = 55,
    _SC_PII_INTERNET___155 = 56,
    _SC_PII_OSI___155 = 57,
    _SC_POLL___155 = 58,
    _SC_SELECT___155 = 59,
    _SC_UIO_MAXIOV___155 = 60,
    _SC_IOV_MAX___155 = 60,
    _SC_PII_INTERNET_STREAM___155 = 61,
    _SC_PII_INTERNET_DGRAM___155 = 62,
    _SC_PII_OSI_COTS___155 = 63,
    _SC_PII_OSI_CLTS___155 = 64,
    _SC_PII_OSI_M___155 = 65,
    _SC_T_IOV_MAX___155 = 66,
    _SC_THREADS___155 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___155 = 68,
    _SC_GETGR_R_SIZE_MAX___155 = 69,
    _SC_GETPW_R_SIZE_MAX___155 = 70,
    _SC_LOGIN_NAME_MAX___155 = 71,
    _SC_TTY_NAME_MAX___155 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___155 = 73,
    _SC_THREAD_KEYS_MAX___155 = 74,
    _SC_THREAD_STACK_MIN___155 = 75,
    _SC_THREAD_THREADS_MAX___155 = 76,
    _SC_THREAD_ATTR_STACKADDR___155 = 77,
    _SC_THREAD_ATTR_STACKSIZE___155 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___155 = 79,
    _SC_THREAD_PRIO_INHERIT___155 = 80,
    _SC_THREAD_PRIO_PROTECT___155 = 81,
    _SC_THREAD_PROCESS_SHARED___155 = 82,
    _SC_NPROCESSORS_CONF___155 = 83,
    _SC_NPROCESSORS_ONLN___155 = 84,
    _SC_PHYS_PAGES___155 = 85,
    _SC_AVPHYS_PAGES___155 = 86,
    _SC_ATEXIT_MAX___155 = 87,
    _SC_PASS_MAX___155 = 88,
    _SC_XOPEN_VERSION___155 = 89,
    _SC_XOPEN_XCU_VERSION___155 = 90,
    _SC_XOPEN_UNIX___155 = 91,
    _SC_XOPEN_CRYPT___155 = 92,
    _SC_XOPEN_ENH_I18N___155 = 93,
    _SC_XOPEN_SHM___155 = 94,
    _SC_2_CHAR_TERM___155 = 95,
    _SC_2_C_VERSION___155 = 96,
    _SC_2_UPE___155 = 97,
    _SC_XOPEN_XPG2___155 = 98,
    _SC_XOPEN_XPG3___155 = 99,
    _SC_XOPEN_XPG4___155 = 100,
    _SC_CHAR_BIT___155 = 101,
    _SC_CHAR_MAX___155 = 102,
    _SC_CHAR_MIN___155 = 103,
    _SC_INT_MAX___155 = 104,
    _SC_INT_MIN___155 = 105,
    _SC_LONG_BIT___155 = 106,
    _SC_WORD_BIT___155 = 107,
    _SC_MB_LEN_MAX___155 = 108,
    _SC_NZERO___155 = 109,
    _SC_SSIZE_MAX___155 = 110,
    _SC_SCHAR_MAX___155 = 111,
    _SC_SCHAR_MIN___155 = 112,
    _SC_SHRT_MAX___155 = 113,
    _SC_SHRT_MIN___155 = 114,
    _SC_UCHAR_MAX___155 = 115,
    _SC_UINT_MAX___155 = 116,
    _SC_ULONG_MAX___155 = 117,
    _SC_USHRT_MAX___155 = 118,
    _SC_NL_ARGMAX___155 = 119,
    _SC_NL_LANGMAX___155 = 120,
    _SC_NL_MSGMAX___155 = 121,
    _SC_NL_NMAX___155 = 122,
    _SC_NL_SETMAX___155 = 123,
    _SC_NL_TEXTMAX___155 = 124,
    _SC_XBS5_ILP32_OFF32___155 = 125,
    _SC_XBS5_ILP32_OFFBIG___155 = 126,
    _SC_XBS5_LP64_OFF64___155 = 127,
    _SC_XBS5_LPBIG_OFFBIG___155 = 128,
    _SC_XOPEN_LEGACY___155 = 129,
    _SC_XOPEN_REALTIME___155 = 130,
    _SC_XOPEN_REALTIME_THREADS___155 = 131,
    _SC_ADVISORY_INFO___155 = 132,
    _SC_BARRIERS___155 = 133,
    _SC_BASE___155 = 134,
    _SC_C_LANG_SUPPORT___155 = 135,
    _SC_C_LANG_SUPPORT_R___155 = 136,
    _SC_CLOCK_SELECTION___155 = 137,
    _SC_CPUTIME___155 = 138,
    _SC_THREAD_CPUTIME___155 = 139,
    _SC_DEVICE_IO___155 = 140,
    _SC_DEVICE_SPECIFIC___155 = 141,
    _SC_DEVICE_SPECIFIC_R___155 = 142,
    _SC_FD_MGMT___155 = 143,
    _SC_FIFO___155 = 144,
    _SC_PIPE___155 = 145,
    _SC_FILE_ATTRIBUTES___155 = 146,
    _SC_FILE_LOCKING___155 = 147,
    _SC_FILE_SYSTEM___155 = 148,
    _SC_MONOTONIC_CLOCK___155 = 149,
    _SC_MULTI_PROCESS___155 = 150,
    _SC_SINGLE_PROCESS___155 = 151,
    _SC_NETWORKING___155 = 152,
    _SC_READER_WRITER_LOCKS___155 = 153,
    _SC_SPIN_LOCKS___155 = 154,
    _SC_REGEXP___155 = 155,
    _SC_REGEX_VERSION___155 = 156,
    _SC_SHELL___155 = 157,
    _SC_SIGNALS___155 = 158,
    _SC_SPAWN___155 = 159,
    _SC_SPORADIC_SERVER___155 = 160,
    _SC_THREAD_SPORADIC_SERVER___155 = 161,
    _SC_SYSTEM_DATABASE___155 = 162,
    _SC_SYSTEM_DATABASE_R___155 = 163,
    _SC_TIMEOUTS___155 = 164,
    _SC_TYPED_MEMORY_OBJECTS___155 = 165,
    _SC_USER_GROUPS___155 = 166,
    _SC_USER_GROUPS_R___155 = 167,
    _SC_2_PBS___155 = 168,
    _SC_2_PBS_ACCOUNTING___155 = 169,
    _SC_2_PBS_LOCATE___155 = 170,
    _SC_2_PBS_MESSAGE___155 = 171,
    _SC_2_PBS_TRACK___155 = 172,
    _SC_SYMLOOP_MAX___155 = 173,
    _SC_STREAMS___155 = 174,
    _SC_2_PBS_CHECKPOINT___155 = 175,
    _SC_V6_ILP32_OFF32___155 = 176,
    _SC_V6_ILP32_OFFBIG___155 = 177,
    _SC_V6_LP64_OFF64___155 = 178,
    _SC_V6_LPBIG_OFFBIG___155 = 179,
    _SC_HOST_NAME_MAX___155 = 180,
    _SC_TRACE___155 = 181,
    _SC_TRACE_EVENT_FILTER___155 = 182,
    _SC_TRACE_INHERIT___155 = 183,
    _SC_TRACE_LOG___155 = 184,
    _SC_LEVEL1_ICACHE_SIZE___155 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___155 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___155 = 187,
    _SC_LEVEL1_DCACHE_SIZE___155 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___155 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___155 = 190,
    _SC_LEVEL2_CACHE_SIZE___155 = 191,
    _SC_LEVEL2_CACHE_ASSOC___155 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___155 = 193,
    _SC_LEVEL3_CACHE_SIZE___155 = 194,
    _SC_LEVEL3_CACHE_ASSOC___155 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___155 = 196,
    _SC_LEVEL4_CACHE_SIZE___155 = 197,
    _SC_LEVEL4_CACHE_ASSOC___155 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___155 = 199,
    _SC_IPV6___155 = 235,
    _SC_RAW_SOCKETS___155 = 236,
    _SC_V7_ILP32_OFF32___155 = 237,
    _SC_V7_ILP32_OFFBIG___155 = 238,
    _SC_V7_LP64_OFF64___155 = 239,
    _SC_V7_LPBIG_OFFBIG___155 = 240,
    _SC_SS_REPL_MAX___155 = 241,
    _SC_TRACE_EVENT_NAME_MAX___155 = 242,
    _SC_TRACE_NAME_MAX___155 = 243,
    _SC_TRACE_SYS_MAX___155 = 244,
    _SC_TRACE_USER_EVENT_MAX___155 = 245,
    _SC_XOPEN_STREAMS___155 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___155 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___155 = 248
} ;
enum __anonenum_875524036___155 {
    _CS_PATH___155 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___155 = 1,
    _CS_GNU_LIBC_VERSION___155 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___155 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___155 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___155 = 5,
    _CS_LFS_CFLAGS___155 = 1000,
    _CS_LFS_LDFLAGS___155 = 1001,
    _CS_LFS_LIBS___155 = 1002,
    _CS_LFS_LINTFLAGS___155 = 1003,
    _CS_LFS64_CFLAGS___155 = 1004,
    _CS_LFS64_LDFLAGS___155 = 1005,
    _CS_LFS64_LIBS___155 = 1006,
    _CS_LFS64_LINTFLAGS___155 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___155 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___155 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___155 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___155 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___155 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___155 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___155 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___155 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___155 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___155 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___155 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___155 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___155 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___155 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___155 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___155 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___155 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___155 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___155 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___155 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___155 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___155 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___155 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___155 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___155 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___155 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___155 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___155 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___155 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___155 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___155 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___155 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___155 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___155 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___155 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___155 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___155 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___155 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___155 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___155 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___155 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___155 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___155 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___155 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___155 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___155 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___155 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___155 = 1147,
    _CS_V6_ENV___155 = 1148,
    _CS_V7_ENV___155 = 1149
} ;
enum __anonenum_513775621___155 {
    DT_UNKNOWN___155 = 0,
    DT_FIFO___155 = 1,
    DT_CHR___155 = 2,
    DT_DIR___155 = 4,
    DT_BLK___155 = 6,
    DT_REG___155 = 8,
    DT_LNK___155 = 10,
    DT_SOCK___155 = 12,
    DT_WHT___155 = 14
} ;
enum __anonenum_77002343___155 {
    SI_ASYNCNL___155 = -60,
    SI_TKILL___155 = -6,
    SI_SIGIO___155 = -5,
    SI_ASYNCIO___155 = -4,
    SI_MESGQ___155 = -3,
    SI_TIMER___155 = -2,
    SI_QUEUE___155 = -1,
    SI_USER___155 = 0,
    SI_KERNEL___155 = 128
} ;
enum __anonenum_131038172___155 {
    ILL_ILLOPC___155 = 1,
    ILL_ILLOPN___155 = 2,
    ILL_ILLADR___155 = 3,
    ILL_ILLTRP___155 = 4,
    ILL_PRVOPC___155 = 5,
    ILL_PRVREG___155 = 6,
    ILL_COPROC___155 = 7,
    ILL_BADSTK___155 = 8
} ;
enum __anonenum_452038093___155 {
    FPE_INTDIV___155 = 1,
    FPE_INTOVF___155 = 2,
    FPE_FLTDIV___155 = 3,
    FPE_FLTOVF___155 = 4,
    FPE_FLTUND___155 = 5,
    FPE_FLTRES___155 = 6,
    FPE_FLTINV___155 = 7,
    FPE_FLTSUB___155 = 8
} ;
enum __anonenum_30976155___155 {
    SEGV_MAPERR___155 = 1,
    SEGV_ACCERR___155 = 2,
    SEGV_BNDERR___155 = 3,
    SEGV_PKUERR___155 = 4
} ;
enum __anonenum_1036286214___155 {
    BUS_ADRALN___155 = 1,
    BUS_ADRERR___155 = 2,
    BUS_OBJERR___155 = 3,
    BUS_MCEERR_AR___155 = 4,
    BUS_MCEERR_AO___155 = 5
} ;
enum __anonenum_493465559___155 {
    TRAP_BRKPT___155 = 1,
    TRAP_TRACE___155 = 2
} ;
enum __anonenum_23175539___155 {
    CLD_EXITED___155 = 1,
    CLD_KILLED___155 = 2,
    CLD_DUMPED___155 = 3,
    CLD_TRAPPED___155 = 4,
    CLD_STOPPED___155 = 5,
    CLD_CONTINUED___155 = 6
} ;
enum __anonenum_111643124___155 {
    POLL_IN___155 = 1,
    POLL_OUT___155 = 2,
    POLL_MSG___155 = 3,
    POLL_ERR___155 = 4,
    POLL_PRI___155 = 5,
    POLL_HUP___155 = 6
} ;
enum __anonenum_852341087___155 {
    SIGEV_SIGNAL___155 = 0,
    SIGEV_NONE___155 = 1,
    SIGEV_THREAD___155 = 2,
    SIGEV_THREAD_ID___155 = 4
} ;
enum __anonenum_451154152___155 {
    REG_R8___155 = 0,
    REG_R9___155 = 1,
    REG_R10___155 = 2,
    REG_R11___155 = 3,
    REG_R12___155 = 4,
    REG_R13___155 = 5,
    REG_R14___155 = 6,
    REG_R15___155 = 7,
    REG_RDI___155 = 8,
    REG_RSI___155 = 9,
    REG_RBP___155 = 10,
    REG_RBX___155 = 11,
    REG_RDX___155 = 12,
    REG_RAX___155 = 13,
    REG_RCX___155 = 14,
    REG_RSP___155 = 15,
    REG_RIP___155 = 16,
    REG_EFL___155 = 17,
    REG_CSGSFS___155 = 18,
    REG_ERR___155 = 19,
    REG_TRAPNO___155 = 20,
    REG_OLDMASK___155 = 21,
    REG_CR2___155 = 22
} ;
enum __anonenum_57186863___155 {
    SS_ONSTACK___155 = 1,
    SS_DISABLE___155 = 2
} ;
enum __anonenum_83571709___155 {
    MSG_OOB___155 = 1,
    MSG_PEEK___155 = 2,
    MSG_DONTROUTE___155 = 4,
    MSG_TRYHARD___155 = 4,
    MSG_CTRUNC___155 = 8,
    MSG_PROXY___155 = 16,
    MSG_TRUNC___155 = 32,
    MSG_DONTWAIT___155 = 64,
    MSG_EOR___155 = 128,
    MSG_WAITALL___155 = 256,
    MSG_FIN___155 = 512,
    MSG_SYN___155 = 1024,
    MSG_CONFIRM___155 = 2048,
    MSG_RST___155 = 4096,
    MSG_ERRQUEUE___155 = 8192,
    MSG_NOSIGNAL___155 = 16384,
    MSG_MORE___155 = 32768,
    MSG_WAITFORONE___155 = 65536,
    MSG_BATCH___155 = 262144,
    MSG_ZEROCOPY___155 = 67108864,
    MSG_FASTOPEN___155 = 536870912,
    MSG_CMSG_CLOEXEC___155 = 1073741824
} ;
enum __anonenum_617082774___155 {
    SCM_RIGHTS___155 = 1,
    SCM_CREDENTIALS___155 = 2
} ;
enum __anonenum_606441560___155 {
    SHUT_RD___155 = 0,
    SHUT_WR___155 = 1,
    SHUT_RDWR___155 = 2
} ;
enum __anonenum_681669233___155 {
    IPPROTO_IP___155 = 0,
    IPPROTO_ICMP___155 = 1,
    IPPROTO_IGMP___155 = 2,
    IPPROTO_IPIP___155 = 4,
    IPPROTO_TCP___155 = 6,
    IPPROTO_EGP___155 = 8,
    IPPROTO_PUP___155 = 12,
    IPPROTO_UDP___155 = 17,
    IPPROTO_IDP___155 = 22,
    IPPROTO_TP___155 = 29,
    IPPROTO_DCCP___155 = 33,
    IPPROTO_IPV6___155 = 41,
    IPPROTO_RSVP___155 = 46,
    IPPROTO_GRE___155 = 47,
    IPPROTO_ESP___155 = 50,
    IPPROTO_AH___155 = 51,
    IPPROTO_MTP___155 = 92,
    IPPROTO_BEETPH___155 = 94,
    IPPROTO_ENCAP___155 = 98,
    IPPROTO_PIM___155 = 103,
    IPPROTO_COMP___155 = 108,
    IPPROTO_SCTP___155 = 132,
    IPPROTO_UDPLITE___155 = 136,
    IPPROTO_MPLS___155 = 137,
    IPPROTO_RAW___155 = 255,
    IPPROTO_MAX___155 = 256
} ;
enum __anonenum_218739988___155 {
    IPPROTO_HOPOPTS___155 = 0,
    IPPROTO_ROUTING___155 = 43,
    IPPROTO_FRAGMENT___155 = 44,
    IPPROTO_ICMPV6___155 = 58,
    IPPROTO_NONE___155 = 59,
    IPPROTO_DSTOPTS___155 = 60,
    IPPROTO_MH___155 = 135
} ;
enum __anonenum_662268580___155 {
    IPPORT_ECHO___155 = 7,
    IPPORT_DISCARD___155 = 9,
    IPPORT_SYSTAT___155 = 11,
    IPPORT_DAYTIME___155 = 13,
    IPPORT_NETSTAT___155 = 15,
    IPPORT_FTP___155 = 21,
    IPPORT_TELNET___155 = 23,
    IPPORT_SMTP___155 = 25,
    IPPORT_TIMESERVER___155 = 37,
    IPPORT_NAMESERVER___155 = 42,
    IPPORT_WHOIS___155 = 43,
    IPPORT_MTP___155 = 57,
    IPPORT_TFTP___155 = 69,
    IPPORT_RJE___155 = 77,
    IPPORT_FINGER___155 = 79,
    IPPORT_TTYLINK___155 = 87,
    IPPORT_SUPDUP___155 = 95,
    IPPORT_EXECSERVER___155 = 512,
    IPPORT_LOGINSERVER___155 = 513,
    IPPORT_CMDSERVER___155 = 514,
    IPPORT_EFSSERVER___155 = 520,
    IPPORT_BIFFUDP___155 = 512,
    IPPORT_WHOSERVER___155 = 513,
    IPPORT_ROUTESERVER___155 = 520,
    IPPORT_RESERVED___155 = 1024,
    IPPORT_USERRESERVED___155 = 5000
} ;
enum __anonenum_788308992___155 {
    TCP_ESTABLISHED___155 = 1,
    TCP_SYN_SENT___155 = 2,
    TCP_SYN_RECV___155 = 3,
    TCP_FIN_WAIT1___155 = 4,
    TCP_FIN_WAIT2___155 = 5,
    TCP_TIME_WAIT___155 = 6,
    TCP_CLOSE___155 = 7,
    TCP_CLOSE_WAIT___155 = 8,
    TCP_LAST_ACK___155 = 9,
    TCP_LISTEN___155 = 10,
    TCP_CLOSING___155 = 11
} ;
enum __anonenum_221125648___155 {
    TCP_NO_QUEUE___155 = 0,
    TCP_RECV_QUEUE___155 = 1,
    TCP_SEND_QUEUE___155 = 2,
    TCP_QUEUES_NR___155 = 3
} ;
enum __anonenum_34415463___155 {
    PTHREAD_CREATE_JOINABLE___155 = 0,
    PTHREAD_CREATE_DETACHED___155 = 1
} ;
enum __anonenum_303612439___155 {
    PTHREAD_MUTEX_TIMED_NP___155 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___155 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___155 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___155 = 3,
    PTHREAD_MUTEX_NORMAL___155 = 0,
    PTHREAD_MUTEX_RECURSIVE___155 = 1,
    PTHREAD_MUTEX_ERRORCHECK___155 = 2,
    PTHREAD_MUTEX_DEFAULT___155 = 0,
    PTHREAD_MUTEX_FAST_NP___155 = 0
} ;
enum __anonenum_931900394___155 {
    PTHREAD_MUTEX_STALLED___155 = 0,
    PTHREAD_MUTEX_STALLED_NP___155 = 0,
    PTHREAD_MUTEX_ROBUST___155 = 1,
    PTHREAD_MUTEX_ROBUST_NP___155 = 1
} ;
enum __anonenum_205214487___155 {
    PTHREAD_PRIO_NONE___155 = 0,
    PTHREAD_PRIO_INHERIT___155 = 1,
    PTHREAD_PRIO_PROTECT___155 = 2
} ;
enum __anonenum_25043950___155 {
    PTHREAD_RWLOCK_PREFER_READER_NP___155 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___155 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___155 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___155 = 0
} ;
enum __anonenum_436439511___155 {
    PTHREAD_INHERIT_SCHED___155 = 0,
    PTHREAD_EXPLICIT_SCHED___155 = 1
} ;
enum __anonenum_998661166___155 {
    PTHREAD_SCOPE_SYSTEM___155 = 0,
    PTHREAD_SCOPE_PROCESS___155 = 1
} ;
enum __anonenum_146137331___155 {
    PTHREAD_PROCESS_PRIVATE___155 = 0,
    PTHREAD_PROCESS_SHARED___155 = 1
} ;
enum __anonenum_53396917___155 {
    PTHREAD_CANCEL_ENABLE___155 = 0,
    PTHREAD_CANCEL_DISABLE___155 = 1
} ;
enum __anonenum_904563783___155 {
    PTHREAD_CANCEL_DEFERRED___155 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___155 = 1
} ;
enum __anonenum_672052974___155 {
    SSL_CT_VALIDATION_PERMISSIVE___155 = 0,
    SSL_CT_VALIDATION_STRICT___155 = 1
} ;
enum peel_status {
    PEEL_PEELED = 0,
    PEEL_INVALID = -1,
    PEEL_NON_TAG = -2,
    PEEL_IS_SYMREF = -3,
    PEEL_BROKEN = -4
} ;
struct ref_update {
   struct object_id new_oid ;
   struct object_id old_oid ;
   unsigned int flags ;
   void *backend_data ;
   unsigned int type ;
   char *msg ;
   struct ref_update *parent_update ;
   char const   refname[] ;
};
enum ref_transaction_state {
    REF_TRANSACTION_OPEN = 0,
    REF_TRANSACTION_PREPARED = 1,
    REF_TRANSACTION_CLOSED = 2
} ;
struct ref_transaction {
   struct ref_store *ref_store ;
   struct ref_update **updates ;
   size_t alloc ;
   size_t nr ;
   enum ref_transaction_state state ;
   void *backend_data ;
};
enum do_for_each_ref_flags {
    DO_FOR_EACH_INCLUDE_BROKEN = 1,
    DO_FOR_EACH_PER_WORKTREE_ONLY = 2,
    DO_FOR_EACH_OMIT_DANGLING_SYMREFS = 4
} ;
struct ref_iterator_vtable ;
struct ref_iterator {
   struct ref_iterator_vtable *vtable ;
   unsigned int ordered : 1 ;
   char const   *refname ;
   struct object_id  const  *oid ;
   unsigned int flags ;
};
typedef enum iterator_selection ref_iterator_select_fn(struct ref_iterator *iter0 ,
                                                       struct ref_iterator *iter1 ,
                                                       void *cb_data );
typedef int ref_iterator_advance_fn(struct ref_iterator *ref_iterator );
typedef int ref_iterator_peel_fn(struct ref_iterator *ref_iterator , struct object_id *peeled );
typedef int ref_iterator_abort_fn(struct ref_iterator *ref_iterator );
struct ref_iterator_vtable {
   ref_iterator_advance_fn *advance ;
   ref_iterator_peel_fn *peel ;
   ref_iterator_abort_fn *abort ;
};
typedef struct ref_store *ref_store_init_fn(struct repository *repo , char const   *gitdir ,
                                            unsigned int flags );
typedef int ref_init_db_fn(struct ref_store *refs , struct strbuf *err );
typedef int ref_transaction_prepare_fn(struct ref_store *refs , struct ref_transaction *transaction ,
                                       struct strbuf *err );
typedef int ref_transaction_finish_fn(struct ref_store *refs , struct ref_transaction *transaction ,
                                      struct strbuf *err );
typedef int ref_transaction_abort_fn(struct ref_store *refs , struct ref_transaction *transaction ,
                                     struct strbuf *err );
typedef int ref_transaction_commit_fn(struct ref_store *refs , struct ref_transaction *transaction ,
                                      struct strbuf *err );
typedef int pack_refs_fn(struct ref_store *ref_store , unsigned int flags );
typedef int create_symref_fn(struct ref_store *ref_store , char const   *ref_target ,
                             char const   *refs_heads_master , char const   *logmsg );
typedef int delete_refs_fn(struct ref_store *ref_store , char const   *msg , struct string_list *refnames ,
                           unsigned int flags );
typedef int rename_ref_fn(struct ref_store *ref_store , char const   *oldref , char const   *newref ,
                          char const   *logmsg );
typedef int copy_ref_fn(struct ref_store *ref_store , char const   *oldref , char const   *newref ,
                        char const   *logmsg );
typedef struct ref_iterator *ref_iterator_begin_fn(struct ref_store *ref_store , char const   *prefix ,
                                                   unsigned int flags );
typedef struct ref_iterator *reflog_iterator_begin_fn(struct ref_store *ref_store );
typedef int for_each_reflog_ent_fn(struct ref_store *ref_store , char const   *refname ,
                                   each_reflog_ent_fn *fn , void *cb_data );
typedef int for_each_reflog_ent_reverse_fn(struct ref_store *ref_store , char const   *refname ,
                                           each_reflog_ent_fn *fn , void *cb_data );
typedef int reflog_exists_fn(struct ref_store *ref_store , char const   *refname );
typedef int create_reflog_fn(struct ref_store *ref_store , char const   *refname ,
                             struct strbuf *err );
typedef int delete_reflog_fn(struct ref_store *ref_store , char const   *refname );
typedef int reflog_expire_fn(struct ref_store *ref_store , char const   *refname ,
                             unsigned int flags , reflog_expiry_prepare_fn *prepare_fn ,
                             reflog_expiry_should_prune_fn *should_prune_fn , reflog_expiry_cleanup_fn *cleanup_fn ,
                             void *policy_cb_data );
typedef int read_raw_ref_fn(struct ref_store *ref_store , char const   *refname ,
                            struct object_id *oid , struct strbuf *referent , unsigned int *type ,
                            int *failure_errno );
struct ref_storage_be {
   struct ref_storage_be *next ;
   char const   *name ;
   ref_store_init_fn *init ;
   ref_init_db_fn *init_db ;
   ref_transaction_prepare_fn *transaction_prepare ;
   ref_transaction_finish_fn *transaction_finish ;
   ref_transaction_abort_fn *transaction_abort ;
   ref_transaction_commit_fn *initial_transaction_commit ;
   pack_refs_fn *pack_refs ;
   create_symref_fn *create_symref ;
   delete_refs_fn *delete_refs ;
   rename_ref_fn *rename_ref ;
   copy_ref_fn *copy_ref ;
   ref_iterator_begin_fn *iterator_begin ;
   read_raw_ref_fn *read_raw_ref ;
   reflog_iterator_begin_fn *reflog_iterator_begin ;
   for_each_reflog_ent_fn *for_each_reflog_ent ;
   for_each_reflog_ent_reverse_fn *for_each_reflog_ent_reverse ;
   reflog_exists_fn *reflog_exists ;
   create_reflog_fn *create_reflog ;
   delete_reflog_fn *delete_reflog ;
   reflog_expire_fn *reflog_expire ;
};
struct ref_store {
   struct ref_storage_be  const  *be ;
   struct repository *repo ;
   char *gitdir ;
};
enum __anonenum_561748495___9 {
    RECURSE_SUBMODULES_ONLY___9 = -5,
    RECURSE_SUBMODULES_CHECK___9 = -4,
    RECURSE_SUBMODULES_ERROR___9 = -3,
    RECURSE_SUBMODULES_NONE___9 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___9 = -1,
    RECURSE_SUBMODULES_OFF___9 = 0,
    RECURSE_SUBMODULES_DEFAULT___9 = 1,
    RECURSE_SUBMODULES_ON___9 = 2
} ;
struct ref_filter___0 {
   char const   *pattern ;
   char const   *prefix ;
   each_ref_fn *fn ;
   void *cb_data ;
};
struct warn_if_dangling_data {
   FILE *fp ;
   char const   *refname ;
   struct string_list  const  *refnames ;
   char const   *msg_fmt ;
};
struct read_ref_at_cb {
   char const   *refname ;
   timestamp_t at_time ;
   int cnt ;
   int reccnt ;
   struct object_id *oid ;
   int found_it ;
   struct object_id ooid ;
   struct object_id noid ;
   int tz ;
   timestamp_t date ;
   char **msg ;
   timestamp_t *cutoff_time ;
   int *cutoff_tz ;
   int *cutoff_cnt ;
};
struct do_for_each_ref_help {
   each_ref_fn *fn ;
   void *cb_data ;
};
struct ref_store_hash_entry {
   struct hashmap_entry ent ;
   struct ref_store *refs ;
   char name[] ;
};
enum __anonenum_437032235___156 {
    _PC_LINK_MAX___156 = 0,
    _PC_MAX_CANON___156 = 1,
    _PC_MAX_INPUT___156 = 2,
    _PC_NAME_MAX___156 = 3,
    _PC_PATH_MAX___156 = 4,
    _PC_PIPE_BUF___156 = 5,
    _PC_CHOWN_RESTRICTED___156 = 6,
    _PC_NO_TRUNC___156 = 7,
    _PC_VDISABLE___156 = 8,
    _PC_SYNC_IO___156 = 9,
    _PC_ASYNC_IO___156 = 10,
    _PC_PRIO_IO___156 = 11,
    _PC_SOCK_MAXBUF___156 = 12,
    _PC_FILESIZEBITS___156 = 13,
    _PC_REC_INCR_XFER_SIZE___156 = 14,
    _PC_REC_MAX_XFER_SIZE___156 = 15,
    _PC_REC_MIN_XFER_SIZE___156 = 16,
    _PC_REC_XFER_ALIGN___156 = 17,
    _PC_ALLOC_SIZE_MIN___156 = 18,
    _PC_SYMLINK_MAX___156 = 19,
    _PC_2_SYMLINKS___156 = 20
} ;
enum __anonenum_315186338___156 {
    _SC_ARG_MAX___156 = 0,
    _SC_CHILD_MAX___156 = 1,
    _SC_CLK_TCK___156 = 2,
    _SC_NGROUPS_MAX___156 = 3,
    _SC_OPEN_MAX___156 = 4,
    _SC_STREAM_MAX___156 = 5,
    _SC_TZNAME_MAX___156 = 6,
    _SC_JOB_CONTROL___156 = 7,
    _SC_SAVED_IDS___156 = 8,
    _SC_REALTIME_SIGNALS___156 = 9,
    _SC_PRIORITY_SCHEDULING___156 = 10,
    _SC_TIMERS___156 = 11,
    _SC_ASYNCHRONOUS_IO___156 = 12,
    _SC_PRIORITIZED_IO___156 = 13,
    _SC_SYNCHRONIZED_IO___156 = 14,
    _SC_FSYNC___156 = 15,
    _SC_MAPPED_FILES___156 = 16,
    _SC_MEMLOCK___156 = 17,
    _SC_MEMLOCK_RANGE___156 = 18,
    _SC_MEMORY_PROTECTION___156 = 19,
    _SC_MESSAGE_PASSING___156 = 20,
    _SC_SEMAPHORES___156 = 21,
    _SC_SHARED_MEMORY_OBJECTS___156 = 22,
    _SC_AIO_LISTIO_MAX___156 = 23,
    _SC_AIO_MAX___156 = 24,
    _SC_AIO_PRIO_DELTA_MAX___156 = 25,
    _SC_DELAYTIMER_MAX___156 = 26,
    _SC_MQ_OPEN_MAX___156 = 27,
    _SC_MQ_PRIO_MAX___156 = 28,
    _SC_VERSION___156 = 29,
    _SC_PAGESIZE___156 = 30,
    _SC_RTSIG_MAX___156 = 31,
    _SC_SEM_NSEMS_MAX___156 = 32,
    _SC_SEM_VALUE_MAX___156 = 33,
    _SC_SIGQUEUE_MAX___156 = 34,
    _SC_TIMER_MAX___156 = 35,
    _SC_BC_BASE_MAX___156 = 36,
    _SC_BC_DIM_MAX___156 = 37,
    _SC_BC_SCALE_MAX___156 = 38,
    _SC_BC_STRING_MAX___156 = 39,
    _SC_COLL_WEIGHTS_MAX___156 = 40,
    _SC_EQUIV_CLASS_MAX___156 = 41,
    _SC_EXPR_NEST_MAX___156 = 42,
    _SC_LINE_MAX___156 = 43,
    _SC_RE_DUP_MAX___156 = 44,
    _SC_CHARCLASS_NAME_MAX___156 = 45,
    _SC_2_VERSION___156 = 46,
    _SC_2_C_BIND___156 = 47,
    _SC_2_C_DEV___156 = 48,
    _SC_2_FORT_DEV___156 = 49,
    _SC_2_FORT_RUN___156 = 50,
    _SC_2_SW_DEV___156 = 51,
    _SC_2_LOCALEDEF___156 = 52,
    _SC_PII___156 = 53,
    _SC_PII_XTI___156 = 54,
    _SC_PII_SOCKET___156 = 55,
    _SC_PII_INTERNET___156 = 56,
    _SC_PII_OSI___156 = 57,
    _SC_POLL___156 = 58,
    _SC_SELECT___156 = 59,
    _SC_UIO_MAXIOV___156 = 60,
    _SC_IOV_MAX___156 = 60,
    _SC_PII_INTERNET_STREAM___156 = 61,
    _SC_PII_INTERNET_DGRAM___156 = 62,
    _SC_PII_OSI_COTS___156 = 63,
    _SC_PII_OSI_CLTS___156 = 64,
    _SC_PII_OSI_M___156 = 65,
    _SC_T_IOV_MAX___156 = 66,
    _SC_THREADS___156 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___156 = 68,
    _SC_GETGR_R_SIZE_MAX___156 = 69,
    _SC_GETPW_R_SIZE_MAX___156 = 70,
    _SC_LOGIN_NAME_MAX___156 = 71,
    _SC_TTY_NAME_MAX___156 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___156 = 73,
    _SC_THREAD_KEYS_MAX___156 = 74,
    _SC_THREAD_STACK_MIN___156 = 75,
    _SC_THREAD_THREADS_MAX___156 = 76,
    _SC_THREAD_ATTR_STACKADDR___156 = 77,
    _SC_THREAD_ATTR_STACKSIZE___156 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___156 = 79,
    _SC_THREAD_PRIO_INHERIT___156 = 80,
    _SC_THREAD_PRIO_PROTECT___156 = 81,
    _SC_THREAD_PROCESS_SHARED___156 = 82,
    _SC_NPROCESSORS_CONF___156 = 83,
    _SC_NPROCESSORS_ONLN___156 = 84,
    _SC_PHYS_PAGES___156 = 85,
    _SC_AVPHYS_PAGES___156 = 86,
    _SC_ATEXIT_MAX___156 = 87,
    _SC_PASS_MAX___156 = 88,
    _SC_XOPEN_VERSION___156 = 89,
    _SC_XOPEN_XCU_VERSION___156 = 90,
    _SC_XOPEN_UNIX___156 = 91,
    _SC_XOPEN_CRYPT___156 = 92,
    _SC_XOPEN_ENH_I18N___156 = 93,
    _SC_XOPEN_SHM___156 = 94,
    _SC_2_CHAR_TERM___156 = 95,
    _SC_2_C_VERSION___156 = 96,
    _SC_2_UPE___156 = 97,
    _SC_XOPEN_XPG2___156 = 98,
    _SC_XOPEN_XPG3___156 = 99,
    _SC_XOPEN_XPG4___156 = 100,
    _SC_CHAR_BIT___156 = 101,
    _SC_CHAR_MAX___156 = 102,
    _SC_CHAR_MIN___156 = 103,
    _SC_INT_MAX___156 = 104,
    _SC_INT_MIN___156 = 105,
    _SC_LONG_BIT___156 = 106,
    _SC_WORD_BIT___156 = 107,
    _SC_MB_LEN_MAX___156 = 108,
    _SC_NZERO___156 = 109,
    _SC_SSIZE_MAX___156 = 110,
    _SC_SCHAR_MAX___156 = 111,
    _SC_SCHAR_MIN___156 = 112,
    _SC_SHRT_MAX___156 = 113,
    _SC_SHRT_MIN___156 = 114,
    _SC_UCHAR_MAX___156 = 115,
    _SC_UINT_MAX___156 = 116,
    _SC_ULONG_MAX___156 = 117,
    _SC_USHRT_MAX___156 = 118,
    _SC_NL_ARGMAX___156 = 119,
    _SC_NL_LANGMAX___156 = 120,
    _SC_NL_MSGMAX___156 = 121,
    _SC_NL_NMAX___156 = 122,
    _SC_NL_SETMAX___156 = 123,
    _SC_NL_TEXTMAX___156 = 124,
    _SC_XBS5_ILP32_OFF32___156 = 125,
    _SC_XBS5_ILP32_OFFBIG___156 = 126,
    _SC_XBS5_LP64_OFF64___156 = 127,
    _SC_XBS5_LPBIG_OFFBIG___156 = 128,
    _SC_XOPEN_LEGACY___156 = 129,
    _SC_XOPEN_REALTIME___156 = 130,
    _SC_XOPEN_REALTIME_THREADS___156 = 131,
    _SC_ADVISORY_INFO___156 = 132,
    _SC_BARRIERS___156 = 133,
    _SC_BASE___156 = 134,
    _SC_C_LANG_SUPPORT___156 = 135,
    _SC_C_LANG_SUPPORT_R___156 = 136,
    _SC_CLOCK_SELECTION___156 = 137,
    _SC_CPUTIME___156 = 138,
    _SC_THREAD_CPUTIME___156 = 139,
    _SC_DEVICE_IO___156 = 140,
    _SC_DEVICE_SPECIFIC___156 = 141,
    _SC_DEVICE_SPECIFIC_R___156 = 142,
    _SC_FD_MGMT___156 = 143,
    _SC_FIFO___156 = 144,
    _SC_PIPE___156 = 145,
    _SC_FILE_ATTRIBUTES___156 = 146,
    _SC_FILE_LOCKING___156 = 147,
    _SC_FILE_SYSTEM___156 = 148,
    _SC_MONOTONIC_CLOCK___156 = 149,
    _SC_MULTI_PROCESS___156 = 150,
    _SC_SINGLE_PROCESS___156 = 151,
    _SC_NETWORKING___156 = 152,
    _SC_READER_WRITER_LOCKS___156 = 153,
    _SC_SPIN_LOCKS___156 = 154,
    _SC_REGEXP___156 = 155,
    _SC_REGEX_VERSION___156 = 156,
    _SC_SHELL___156 = 157,
    _SC_SIGNALS___156 = 158,
    _SC_SPAWN___156 = 159,
    _SC_SPORADIC_SERVER___156 = 160,
    _SC_THREAD_SPORADIC_SERVER___156 = 161,
    _SC_SYSTEM_DATABASE___156 = 162,
    _SC_SYSTEM_DATABASE_R___156 = 163,
    _SC_TIMEOUTS___156 = 164,
    _SC_TYPED_MEMORY_OBJECTS___156 = 165,
    _SC_USER_GROUPS___156 = 166,
    _SC_USER_GROUPS_R___156 = 167,
    _SC_2_PBS___156 = 168,
    _SC_2_PBS_ACCOUNTING___156 = 169,
    _SC_2_PBS_LOCATE___156 = 170,
    _SC_2_PBS_MESSAGE___156 = 171,
    _SC_2_PBS_TRACK___156 = 172,
    _SC_SYMLOOP_MAX___156 = 173,
    _SC_STREAMS___156 = 174,
    _SC_2_PBS_CHECKPOINT___156 = 175,
    _SC_V6_ILP32_OFF32___156 = 176,
    _SC_V6_ILP32_OFFBIG___156 = 177,
    _SC_V6_LP64_OFF64___156 = 178,
    _SC_V6_LPBIG_OFFBIG___156 = 179,
    _SC_HOST_NAME_MAX___156 = 180,
    _SC_TRACE___156 = 181,
    _SC_TRACE_EVENT_FILTER___156 = 182,
    _SC_TRACE_INHERIT___156 = 183,
    _SC_TRACE_LOG___156 = 184,
    _SC_LEVEL1_ICACHE_SIZE___156 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___156 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___156 = 187,
    _SC_LEVEL1_DCACHE_SIZE___156 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___156 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___156 = 190,
    _SC_LEVEL2_CACHE_SIZE___156 = 191,
    _SC_LEVEL2_CACHE_ASSOC___156 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___156 = 193,
    _SC_LEVEL3_CACHE_SIZE___156 = 194,
    _SC_LEVEL3_CACHE_ASSOC___156 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___156 = 196,
    _SC_LEVEL4_CACHE_SIZE___156 = 197,
    _SC_LEVEL4_CACHE_ASSOC___156 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___156 = 199,
    _SC_IPV6___156 = 235,
    _SC_RAW_SOCKETS___156 = 236,
    _SC_V7_ILP32_OFF32___156 = 237,
    _SC_V7_ILP32_OFFBIG___156 = 238,
    _SC_V7_LP64_OFF64___156 = 239,
    _SC_V7_LPBIG_OFFBIG___156 = 240,
    _SC_SS_REPL_MAX___156 = 241,
    _SC_TRACE_EVENT_NAME_MAX___156 = 242,
    _SC_TRACE_NAME_MAX___156 = 243,
    _SC_TRACE_SYS_MAX___156 = 244,
    _SC_TRACE_USER_EVENT_MAX___156 = 245,
    _SC_XOPEN_STREAMS___156 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___156 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___156 = 248
} ;
enum __anonenum_875524036___156 {
    _CS_PATH___156 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___156 = 1,
    _CS_GNU_LIBC_VERSION___156 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___156 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___156 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___156 = 5,
    _CS_LFS_CFLAGS___156 = 1000,
    _CS_LFS_LDFLAGS___156 = 1001,
    _CS_LFS_LIBS___156 = 1002,
    _CS_LFS_LINTFLAGS___156 = 1003,
    _CS_LFS64_CFLAGS___156 = 1004,
    _CS_LFS64_LDFLAGS___156 = 1005,
    _CS_LFS64_LIBS___156 = 1006,
    _CS_LFS64_LINTFLAGS___156 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___156 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___156 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___156 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___156 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___156 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___156 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___156 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___156 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___156 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___156 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___156 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___156 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___156 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___156 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___156 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___156 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___156 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___156 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___156 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___156 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___156 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___156 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___156 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___156 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___156 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___156 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___156 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___156 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___156 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___156 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___156 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___156 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___156 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___156 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___156 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___156 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___156 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___156 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___156 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___156 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___156 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___156 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___156 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___156 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___156 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___156 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___156 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___156 = 1147,
    _CS_V6_ENV___156 = 1148,
    _CS_V7_ENV___156 = 1149
} ;
enum __anonenum_513775621___156 {
    DT_UNKNOWN___156 = 0,
    DT_FIFO___156 = 1,
    DT_CHR___156 = 2,
    DT_DIR___156 = 4,
    DT_BLK___156 = 6,
    DT_REG___156 = 8,
    DT_LNK___156 = 10,
    DT_SOCK___156 = 12,
    DT_WHT___156 = 14
} ;
enum __anonenum_77002343___156 {
    SI_ASYNCNL___156 = -60,
    SI_TKILL___156 = -6,
    SI_SIGIO___156 = -5,
    SI_ASYNCIO___156 = -4,
    SI_MESGQ___156 = -3,
    SI_TIMER___156 = -2,
    SI_QUEUE___156 = -1,
    SI_USER___156 = 0,
    SI_KERNEL___156 = 128
} ;
enum __anonenum_131038172___156 {
    ILL_ILLOPC___156 = 1,
    ILL_ILLOPN___156 = 2,
    ILL_ILLADR___156 = 3,
    ILL_ILLTRP___156 = 4,
    ILL_PRVOPC___156 = 5,
    ILL_PRVREG___156 = 6,
    ILL_COPROC___156 = 7,
    ILL_BADSTK___156 = 8
} ;
enum __anonenum_452038093___156 {
    FPE_INTDIV___156 = 1,
    FPE_INTOVF___156 = 2,
    FPE_FLTDIV___156 = 3,
    FPE_FLTOVF___156 = 4,
    FPE_FLTUND___156 = 5,
    FPE_FLTRES___156 = 6,
    FPE_FLTINV___156 = 7,
    FPE_FLTSUB___156 = 8
} ;
enum __anonenum_30976155___156 {
    SEGV_MAPERR___156 = 1,
    SEGV_ACCERR___156 = 2,
    SEGV_BNDERR___156 = 3,
    SEGV_PKUERR___156 = 4
} ;
enum __anonenum_1036286214___156 {
    BUS_ADRALN___156 = 1,
    BUS_ADRERR___156 = 2,
    BUS_OBJERR___156 = 3,
    BUS_MCEERR_AR___156 = 4,
    BUS_MCEERR_AO___156 = 5
} ;
enum __anonenum_493465559___156 {
    TRAP_BRKPT___156 = 1,
    TRAP_TRACE___156 = 2
} ;
enum __anonenum_23175539___156 {
    CLD_EXITED___156 = 1,
    CLD_KILLED___156 = 2,
    CLD_DUMPED___156 = 3,
    CLD_TRAPPED___156 = 4,
    CLD_STOPPED___156 = 5,
    CLD_CONTINUED___156 = 6
} ;
enum __anonenum_111643124___156 {
    POLL_IN___156 = 1,
    POLL_OUT___156 = 2,
    POLL_MSG___156 = 3,
    POLL_ERR___156 = 4,
    POLL_PRI___156 = 5,
    POLL_HUP___156 = 6
} ;
enum __anonenum_852341087___156 {
    SIGEV_SIGNAL___156 = 0,
    SIGEV_NONE___156 = 1,
    SIGEV_THREAD___156 = 2,
    SIGEV_THREAD_ID___156 = 4
} ;
enum __anonenum_451154152___156 {
    REG_R8___156 = 0,
    REG_R9___156 = 1,
    REG_R10___156 = 2,
    REG_R11___156 = 3,
    REG_R12___156 = 4,
    REG_R13___156 = 5,
    REG_R14___156 = 6,
    REG_R15___156 = 7,
    REG_RDI___156 = 8,
    REG_RSI___156 = 9,
    REG_RBP___156 = 10,
    REG_RBX___156 = 11,
    REG_RDX___156 = 12,
    REG_RAX___156 = 13,
    REG_RCX___156 = 14,
    REG_RSP___156 = 15,
    REG_RIP___156 = 16,
    REG_EFL___156 = 17,
    REG_CSGSFS___156 = 18,
    REG_ERR___156 = 19,
    REG_TRAPNO___156 = 20,
    REG_OLDMASK___156 = 21,
    REG_CR2___156 = 22
} ;
enum __anonenum_57186863___156 {
    SS_ONSTACK___156 = 1,
    SS_DISABLE___156 = 2
} ;
enum __anonenum_83571709___156 {
    MSG_OOB___156 = 1,
    MSG_PEEK___156 = 2,
    MSG_DONTROUTE___156 = 4,
    MSG_TRYHARD___156 = 4,
    MSG_CTRUNC___156 = 8,
    MSG_PROXY___156 = 16,
    MSG_TRUNC___156 = 32,
    MSG_DONTWAIT___156 = 64,
    MSG_EOR___156 = 128,
    MSG_WAITALL___156 = 256,
    MSG_FIN___156 = 512,
    MSG_SYN___156 = 1024,
    MSG_CONFIRM___156 = 2048,
    MSG_RST___156 = 4096,
    MSG_ERRQUEUE___156 = 8192,
    MSG_NOSIGNAL___156 = 16384,
    MSG_MORE___156 = 32768,
    MSG_WAITFORONE___156 = 65536,
    MSG_BATCH___156 = 262144,
    MSG_ZEROCOPY___156 = 67108864,
    MSG_FASTOPEN___156 = 536870912,
    MSG_CMSG_CLOEXEC___156 = 1073741824
} ;
enum __anonenum_617082774___156 {
    SCM_RIGHTS___156 = 1,
    SCM_CREDENTIALS___156 = 2
} ;
enum __anonenum_606441560___156 {
    SHUT_RD___156 = 0,
    SHUT_WR___156 = 1,
    SHUT_RDWR___156 = 2
} ;
enum __anonenum_681669233___156 {
    IPPROTO_IP___156 = 0,
    IPPROTO_ICMP___156 = 1,
    IPPROTO_IGMP___156 = 2,
    IPPROTO_IPIP___156 = 4,
    IPPROTO_TCP___156 = 6,
    IPPROTO_EGP___156 = 8,
    IPPROTO_PUP___156 = 12,
    IPPROTO_UDP___156 = 17,
    IPPROTO_IDP___156 = 22,
    IPPROTO_TP___156 = 29,
    IPPROTO_DCCP___156 = 33,
    IPPROTO_IPV6___156 = 41,
    IPPROTO_RSVP___156 = 46,
    IPPROTO_GRE___156 = 47,
    IPPROTO_ESP___156 = 50,
    IPPROTO_AH___156 = 51,
    IPPROTO_MTP___156 = 92,
    IPPROTO_BEETPH___156 = 94,
    IPPROTO_ENCAP___156 = 98,
    IPPROTO_PIM___156 = 103,
    IPPROTO_COMP___156 = 108,
    IPPROTO_SCTP___156 = 132,
    IPPROTO_UDPLITE___156 = 136,
    IPPROTO_MPLS___156 = 137,
    IPPROTO_RAW___156 = 255,
    IPPROTO_MAX___156 = 256
} ;
enum __anonenum_218739988___156 {
    IPPROTO_HOPOPTS___156 = 0,
    IPPROTO_ROUTING___156 = 43,
    IPPROTO_FRAGMENT___156 = 44,
    IPPROTO_ICMPV6___156 = 58,
    IPPROTO_NONE___156 = 59,
    IPPROTO_DSTOPTS___156 = 60,
    IPPROTO_MH___156 = 135
} ;
enum __anonenum_662268580___156 {
    IPPORT_ECHO___156 = 7,
    IPPORT_DISCARD___156 = 9,
    IPPORT_SYSTAT___156 = 11,
    IPPORT_DAYTIME___156 = 13,
    IPPORT_NETSTAT___156 = 15,
    IPPORT_FTP___156 = 21,
    IPPORT_TELNET___156 = 23,
    IPPORT_SMTP___156 = 25,
    IPPORT_TIMESERVER___156 = 37,
    IPPORT_NAMESERVER___156 = 42,
    IPPORT_WHOIS___156 = 43,
    IPPORT_MTP___156 = 57,
    IPPORT_TFTP___156 = 69,
    IPPORT_RJE___156 = 77,
    IPPORT_FINGER___156 = 79,
    IPPORT_TTYLINK___156 = 87,
    IPPORT_SUPDUP___156 = 95,
    IPPORT_EXECSERVER___156 = 512,
    IPPORT_LOGINSERVER___156 = 513,
    IPPORT_CMDSERVER___156 = 514,
    IPPORT_EFSSERVER___156 = 520,
    IPPORT_BIFFUDP___156 = 512,
    IPPORT_WHOSERVER___156 = 513,
    IPPORT_ROUTESERVER___156 = 520,
    IPPORT_RESERVED___156 = 1024,
    IPPORT_USERRESERVED___156 = 5000
} ;
enum __anonenum_788308992___156 {
    TCP_ESTABLISHED___156 = 1,
    TCP_SYN_SENT___156 = 2,
    TCP_SYN_RECV___156 = 3,
    TCP_FIN_WAIT1___156 = 4,
    TCP_FIN_WAIT2___156 = 5,
    TCP_TIME_WAIT___156 = 6,
    TCP_CLOSE___156 = 7,
    TCP_CLOSE_WAIT___156 = 8,
    TCP_LAST_ACK___156 = 9,
    TCP_LISTEN___156 = 10,
    TCP_CLOSING___156 = 11
} ;
enum __anonenum_221125648___156 {
    TCP_NO_QUEUE___156 = 0,
    TCP_RECV_QUEUE___156 = 1,
    TCP_SEND_QUEUE___156 = 2,
    TCP_QUEUES_NR___156 = 3
} ;
enum __anonenum_34415463___156 {
    PTHREAD_CREATE_JOINABLE___156 = 0,
    PTHREAD_CREATE_DETACHED___156 = 1
} ;
enum __anonenum_303612439___156 {
    PTHREAD_MUTEX_TIMED_NP___156 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___156 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___156 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___156 = 3,
    PTHREAD_MUTEX_NORMAL___156 = 0,
    PTHREAD_MUTEX_RECURSIVE___156 = 1,
    PTHREAD_MUTEX_ERRORCHECK___156 = 2,
    PTHREAD_MUTEX_DEFAULT___156 = 0,
    PTHREAD_MUTEX_FAST_NP___156 = 0
} ;
enum __anonenum_931900394___156 {
    PTHREAD_MUTEX_STALLED___156 = 0,
    PTHREAD_MUTEX_STALLED_NP___156 = 0,
    PTHREAD_MUTEX_ROBUST___156 = 1,
    PTHREAD_MUTEX_ROBUST_NP___156 = 1
} ;
enum __anonenum_205214487___156 {
    PTHREAD_PRIO_NONE___156 = 0,
    PTHREAD_PRIO_INHERIT___156 = 1,
    PTHREAD_PRIO_PROTECT___156 = 2
} ;
enum __anonenum_25043950___156 {
    PTHREAD_RWLOCK_PREFER_READER_NP___156 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___156 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___156 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___156 = 0
} ;
enum __anonenum_436439511___156 {
    PTHREAD_INHERIT_SCHED___156 = 0,
    PTHREAD_EXPLICIT_SCHED___156 = 1
} ;
enum __anonenum_998661166___156 {
    PTHREAD_SCOPE_SYSTEM___156 = 0,
    PTHREAD_SCOPE_PROCESS___156 = 1
} ;
enum __anonenum_146137331___156 {
    PTHREAD_PROCESS_PRIVATE___156 = 0,
    PTHREAD_PROCESS_SHARED___156 = 1
} ;
enum __anonenum_53396917___156 {
    PTHREAD_CANCEL_ENABLE___156 = 0,
    PTHREAD_CANCEL_DISABLE___156 = 1
} ;
enum __anonenum_904563783___156 {
    PTHREAD_CANCEL_DEFERRED___156 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___156 = 1
} ;
enum __anonenum_672052974___156 {
    SSL_CT_VALIDATION_PERMISSIVE___156 = 0,
    SSL_CT_VALIDATION_STRICT___156 = 1
} ;
struct debug_ref_store {
   struct ref_store base ;
   struct ref_store *refs ;
};
struct debug_ref_iterator {
   struct ref_iterator base ;
   struct ref_iterator *iter ;
};
struct debug_reflog {
   char const   *refname ;
   each_reflog_ent_fn *fn ;
   void *cb_data ;
};
struct debug_reflog_expiry_should_prune {
   reflog_expiry_prepare_fn *prepare ;
   reflog_expiry_should_prune_fn *should_prune ;
   reflog_expiry_cleanup_fn *cleanup ;
   void *cb_data ;
};
enum __anonenum_437032235___157 {
    _PC_LINK_MAX___157 = 0,
    _PC_MAX_CANON___157 = 1,
    _PC_MAX_INPUT___157 = 2,
    _PC_NAME_MAX___157 = 3,
    _PC_PATH_MAX___157 = 4,
    _PC_PIPE_BUF___157 = 5,
    _PC_CHOWN_RESTRICTED___157 = 6,
    _PC_NO_TRUNC___157 = 7,
    _PC_VDISABLE___157 = 8,
    _PC_SYNC_IO___157 = 9,
    _PC_ASYNC_IO___157 = 10,
    _PC_PRIO_IO___157 = 11,
    _PC_SOCK_MAXBUF___157 = 12,
    _PC_FILESIZEBITS___157 = 13,
    _PC_REC_INCR_XFER_SIZE___157 = 14,
    _PC_REC_MAX_XFER_SIZE___157 = 15,
    _PC_REC_MIN_XFER_SIZE___157 = 16,
    _PC_REC_XFER_ALIGN___157 = 17,
    _PC_ALLOC_SIZE_MIN___157 = 18,
    _PC_SYMLINK_MAX___157 = 19,
    _PC_2_SYMLINKS___157 = 20
} ;
enum __anonenum_315186338___157 {
    _SC_ARG_MAX___157 = 0,
    _SC_CHILD_MAX___157 = 1,
    _SC_CLK_TCK___157 = 2,
    _SC_NGROUPS_MAX___157 = 3,
    _SC_OPEN_MAX___157 = 4,
    _SC_STREAM_MAX___157 = 5,
    _SC_TZNAME_MAX___157 = 6,
    _SC_JOB_CONTROL___157 = 7,
    _SC_SAVED_IDS___157 = 8,
    _SC_REALTIME_SIGNALS___157 = 9,
    _SC_PRIORITY_SCHEDULING___157 = 10,
    _SC_TIMERS___157 = 11,
    _SC_ASYNCHRONOUS_IO___157 = 12,
    _SC_PRIORITIZED_IO___157 = 13,
    _SC_SYNCHRONIZED_IO___157 = 14,
    _SC_FSYNC___157 = 15,
    _SC_MAPPED_FILES___157 = 16,
    _SC_MEMLOCK___157 = 17,
    _SC_MEMLOCK_RANGE___157 = 18,
    _SC_MEMORY_PROTECTION___157 = 19,
    _SC_MESSAGE_PASSING___157 = 20,
    _SC_SEMAPHORES___157 = 21,
    _SC_SHARED_MEMORY_OBJECTS___157 = 22,
    _SC_AIO_LISTIO_MAX___157 = 23,
    _SC_AIO_MAX___157 = 24,
    _SC_AIO_PRIO_DELTA_MAX___157 = 25,
    _SC_DELAYTIMER_MAX___157 = 26,
    _SC_MQ_OPEN_MAX___157 = 27,
    _SC_MQ_PRIO_MAX___157 = 28,
    _SC_VERSION___157 = 29,
    _SC_PAGESIZE___157 = 30,
    _SC_RTSIG_MAX___157 = 31,
    _SC_SEM_NSEMS_MAX___157 = 32,
    _SC_SEM_VALUE_MAX___157 = 33,
    _SC_SIGQUEUE_MAX___157 = 34,
    _SC_TIMER_MAX___157 = 35,
    _SC_BC_BASE_MAX___157 = 36,
    _SC_BC_DIM_MAX___157 = 37,
    _SC_BC_SCALE_MAX___157 = 38,
    _SC_BC_STRING_MAX___157 = 39,
    _SC_COLL_WEIGHTS_MAX___157 = 40,
    _SC_EQUIV_CLASS_MAX___157 = 41,
    _SC_EXPR_NEST_MAX___157 = 42,
    _SC_LINE_MAX___157 = 43,
    _SC_RE_DUP_MAX___157 = 44,
    _SC_CHARCLASS_NAME_MAX___157 = 45,
    _SC_2_VERSION___157 = 46,
    _SC_2_C_BIND___157 = 47,
    _SC_2_C_DEV___157 = 48,
    _SC_2_FORT_DEV___157 = 49,
    _SC_2_FORT_RUN___157 = 50,
    _SC_2_SW_DEV___157 = 51,
    _SC_2_LOCALEDEF___157 = 52,
    _SC_PII___157 = 53,
    _SC_PII_XTI___157 = 54,
    _SC_PII_SOCKET___157 = 55,
    _SC_PII_INTERNET___157 = 56,
    _SC_PII_OSI___157 = 57,
    _SC_POLL___157 = 58,
    _SC_SELECT___157 = 59,
    _SC_UIO_MAXIOV___157 = 60,
    _SC_IOV_MAX___157 = 60,
    _SC_PII_INTERNET_STREAM___157 = 61,
    _SC_PII_INTERNET_DGRAM___157 = 62,
    _SC_PII_OSI_COTS___157 = 63,
    _SC_PII_OSI_CLTS___157 = 64,
    _SC_PII_OSI_M___157 = 65,
    _SC_T_IOV_MAX___157 = 66,
    _SC_THREADS___157 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___157 = 68,
    _SC_GETGR_R_SIZE_MAX___157 = 69,
    _SC_GETPW_R_SIZE_MAX___157 = 70,
    _SC_LOGIN_NAME_MAX___157 = 71,
    _SC_TTY_NAME_MAX___157 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___157 = 73,
    _SC_THREAD_KEYS_MAX___157 = 74,
    _SC_THREAD_STACK_MIN___157 = 75,
    _SC_THREAD_THREADS_MAX___157 = 76,
    _SC_THREAD_ATTR_STACKADDR___157 = 77,
    _SC_THREAD_ATTR_STACKSIZE___157 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___157 = 79,
    _SC_THREAD_PRIO_INHERIT___157 = 80,
    _SC_THREAD_PRIO_PROTECT___157 = 81,
    _SC_THREAD_PROCESS_SHARED___157 = 82,
    _SC_NPROCESSORS_CONF___157 = 83,
    _SC_NPROCESSORS_ONLN___157 = 84,
    _SC_PHYS_PAGES___157 = 85,
    _SC_AVPHYS_PAGES___157 = 86,
    _SC_ATEXIT_MAX___157 = 87,
    _SC_PASS_MAX___157 = 88,
    _SC_XOPEN_VERSION___157 = 89,
    _SC_XOPEN_XCU_VERSION___157 = 90,
    _SC_XOPEN_UNIX___157 = 91,
    _SC_XOPEN_CRYPT___157 = 92,
    _SC_XOPEN_ENH_I18N___157 = 93,
    _SC_XOPEN_SHM___157 = 94,
    _SC_2_CHAR_TERM___157 = 95,
    _SC_2_C_VERSION___157 = 96,
    _SC_2_UPE___157 = 97,
    _SC_XOPEN_XPG2___157 = 98,
    _SC_XOPEN_XPG3___157 = 99,
    _SC_XOPEN_XPG4___157 = 100,
    _SC_CHAR_BIT___157 = 101,
    _SC_CHAR_MAX___157 = 102,
    _SC_CHAR_MIN___157 = 103,
    _SC_INT_MAX___157 = 104,
    _SC_INT_MIN___157 = 105,
    _SC_LONG_BIT___157 = 106,
    _SC_WORD_BIT___157 = 107,
    _SC_MB_LEN_MAX___157 = 108,
    _SC_NZERO___157 = 109,
    _SC_SSIZE_MAX___157 = 110,
    _SC_SCHAR_MAX___157 = 111,
    _SC_SCHAR_MIN___157 = 112,
    _SC_SHRT_MAX___157 = 113,
    _SC_SHRT_MIN___157 = 114,
    _SC_UCHAR_MAX___157 = 115,
    _SC_UINT_MAX___157 = 116,
    _SC_ULONG_MAX___157 = 117,
    _SC_USHRT_MAX___157 = 118,
    _SC_NL_ARGMAX___157 = 119,
    _SC_NL_LANGMAX___157 = 120,
    _SC_NL_MSGMAX___157 = 121,
    _SC_NL_NMAX___157 = 122,
    _SC_NL_SETMAX___157 = 123,
    _SC_NL_TEXTMAX___157 = 124,
    _SC_XBS5_ILP32_OFF32___157 = 125,
    _SC_XBS5_ILP32_OFFBIG___157 = 126,
    _SC_XBS5_LP64_OFF64___157 = 127,
    _SC_XBS5_LPBIG_OFFBIG___157 = 128,
    _SC_XOPEN_LEGACY___157 = 129,
    _SC_XOPEN_REALTIME___157 = 130,
    _SC_XOPEN_REALTIME_THREADS___157 = 131,
    _SC_ADVISORY_INFO___157 = 132,
    _SC_BARRIERS___157 = 133,
    _SC_BASE___157 = 134,
    _SC_C_LANG_SUPPORT___157 = 135,
    _SC_C_LANG_SUPPORT_R___157 = 136,
    _SC_CLOCK_SELECTION___157 = 137,
    _SC_CPUTIME___157 = 138,
    _SC_THREAD_CPUTIME___157 = 139,
    _SC_DEVICE_IO___157 = 140,
    _SC_DEVICE_SPECIFIC___157 = 141,
    _SC_DEVICE_SPECIFIC_R___157 = 142,
    _SC_FD_MGMT___157 = 143,
    _SC_FIFO___157 = 144,
    _SC_PIPE___157 = 145,
    _SC_FILE_ATTRIBUTES___157 = 146,
    _SC_FILE_LOCKING___157 = 147,
    _SC_FILE_SYSTEM___157 = 148,
    _SC_MONOTONIC_CLOCK___157 = 149,
    _SC_MULTI_PROCESS___157 = 150,
    _SC_SINGLE_PROCESS___157 = 151,
    _SC_NETWORKING___157 = 152,
    _SC_READER_WRITER_LOCKS___157 = 153,
    _SC_SPIN_LOCKS___157 = 154,
    _SC_REGEXP___157 = 155,
    _SC_REGEX_VERSION___157 = 156,
    _SC_SHELL___157 = 157,
    _SC_SIGNALS___157 = 158,
    _SC_SPAWN___157 = 159,
    _SC_SPORADIC_SERVER___157 = 160,
    _SC_THREAD_SPORADIC_SERVER___157 = 161,
    _SC_SYSTEM_DATABASE___157 = 162,
    _SC_SYSTEM_DATABASE_R___157 = 163,
    _SC_TIMEOUTS___157 = 164,
    _SC_TYPED_MEMORY_OBJECTS___157 = 165,
    _SC_USER_GROUPS___157 = 166,
    _SC_USER_GROUPS_R___157 = 167,
    _SC_2_PBS___157 = 168,
    _SC_2_PBS_ACCOUNTING___157 = 169,
    _SC_2_PBS_LOCATE___157 = 170,
    _SC_2_PBS_MESSAGE___157 = 171,
    _SC_2_PBS_TRACK___157 = 172,
    _SC_SYMLOOP_MAX___157 = 173,
    _SC_STREAMS___157 = 174,
    _SC_2_PBS_CHECKPOINT___157 = 175,
    _SC_V6_ILP32_OFF32___157 = 176,
    _SC_V6_ILP32_OFFBIG___157 = 177,
    _SC_V6_LP64_OFF64___157 = 178,
    _SC_V6_LPBIG_OFFBIG___157 = 179,
    _SC_HOST_NAME_MAX___157 = 180,
    _SC_TRACE___157 = 181,
    _SC_TRACE_EVENT_FILTER___157 = 182,
    _SC_TRACE_INHERIT___157 = 183,
    _SC_TRACE_LOG___157 = 184,
    _SC_LEVEL1_ICACHE_SIZE___157 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___157 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___157 = 187,
    _SC_LEVEL1_DCACHE_SIZE___157 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___157 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___157 = 190,
    _SC_LEVEL2_CACHE_SIZE___157 = 191,
    _SC_LEVEL2_CACHE_ASSOC___157 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___157 = 193,
    _SC_LEVEL3_CACHE_SIZE___157 = 194,
    _SC_LEVEL3_CACHE_ASSOC___157 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___157 = 196,
    _SC_LEVEL4_CACHE_SIZE___157 = 197,
    _SC_LEVEL4_CACHE_ASSOC___157 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___157 = 199,
    _SC_IPV6___157 = 235,
    _SC_RAW_SOCKETS___157 = 236,
    _SC_V7_ILP32_OFF32___157 = 237,
    _SC_V7_ILP32_OFFBIG___157 = 238,
    _SC_V7_LP64_OFF64___157 = 239,
    _SC_V7_LPBIG_OFFBIG___157 = 240,
    _SC_SS_REPL_MAX___157 = 241,
    _SC_TRACE_EVENT_NAME_MAX___157 = 242,
    _SC_TRACE_NAME_MAX___157 = 243,
    _SC_TRACE_SYS_MAX___157 = 244,
    _SC_TRACE_USER_EVENT_MAX___157 = 245,
    _SC_XOPEN_STREAMS___157 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___157 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___157 = 248
} ;
enum __anonenum_875524036___157 {
    _CS_PATH___157 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___157 = 1,
    _CS_GNU_LIBC_VERSION___157 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___157 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___157 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___157 = 5,
    _CS_LFS_CFLAGS___157 = 1000,
    _CS_LFS_LDFLAGS___157 = 1001,
    _CS_LFS_LIBS___157 = 1002,
    _CS_LFS_LINTFLAGS___157 = 1003,
    _CS_LFS64_CFLAGS___157 = 1004,
    _CS_LFS64_LDFLAGS___157 = 1005,
    _CS_LFS64_LIBS___157 = 1006,
    _CS_LFS64_LINTFLAGS___157 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___157 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___157 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___157 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___157 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___157 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___157 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___157 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___157 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___157 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___157 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___157 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___157 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___157 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___157 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___157 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___157 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___157 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___157 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___157 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___157 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___157 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___157 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___157 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___157 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___157 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___157 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___157 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___157 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___157 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___157 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___157 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___157 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___157 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___157 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___157 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___157 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___157 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___157 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___157 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___157 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___157 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___157 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___157 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___157 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___157 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___157 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___157 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___157 = 1147,
    _CS_V6_ENV___157 = 1148,
    _CS_V7_ENV___157 = 1149
} ;
enum __anonenum_513775621___157 {
    DT_UNKNOWN___157 = 0,
    DT_FIFO___157 = 1,
    DT_CHR___157 = 2,
    DT_DIR___157 = 4,
    DT_BLK___157 = 6,
    DT_REG___157 = 8,
    DT_LNK___157 = 10,
    DT_SOCK___157 = 12,
    DT_WHT___157 = 14
} ;
enum __anonenum_77002343___157 {
    SI_ASYNCNL___157 = -60,
    SI_TKILL___157 = -6,
    SI_SIGIO___157 = -5,
    SI_ASYNCIO___157 = -4,
    SI_MESGQ___157 = -3,
    SI_TIMER___157 = -2,
    SI_QUEUE___157 = -1,
    SI_USER___157 = 0,
    SI_KERNEL___157 = 128
} ;
enum __anonenum_131038172___157 {
    ILL_ILLOPC___157 = 1,
    ILL_ILLOPN___157 = 2,
    ILL_ILLADR___157 = 3,
    ILL_ILLTRP___157 = 4,
    ILL_PRVOPC___157 = 5,
    ILL_PRVREG___157 = 6,
    ILL_COPROC___157 = 7,
    ILL_BADSTK___157 = 8
} ;
enum __anonenum_452038093___157 {
    FPE_INTDIV___157 = 1,
    FPE_INTOVF___157 = 2,
    FPE_FLTDIV___157 = 3,
    FPE_FLTOVF___157 = 4,
    FPE_FLTUND___157 = 5,
    FPE_FLTRES___157 = 6,
    FPE_FLTINV___157 = 7,
    FPE_FLTSUB___157 = 8
} ;
enum __anonenum_30976155___157 {
    SEGV_MAPERR___157 = 1,
    SEGV_ACCERR___157 = 2,
    SEGV_BNDERR___157 = 3,
    SEGV_PKUERR___157 = 4
} ;
enum __anonenum_1036286214___157 {
    BUS_ADRALN___157 = 1,
    BUS_ADRERR___157 = 2,
    BUS_OBJERR___157 = 3,
    BUS_MCEERR_AR___157 = 4,
    BUS_MCEERR_AO___157 = 5
} ;
enum __anonenum_493465559___157 {
    TRAP_BRKPT___157 = 1,
    TRAP_TRACE___157 = 2
} ;
enum __anonenum_23175539___157 {
    CLD_EXITED___157 = 1,
    CLD_KILLED___157 = 2,
    CLD_DUMPED___157 = 3,
    CLD_TRAPPED___157 = 4,
    CLD_STOPPED___157 = 5,
    CLD_CONTINUED___157 = 6
} ;
enum __anonenum_111643124___157 {
    POLL_IN___157 = 1,
    POLL_OUT___157 = 2,
    POLL_MSG___157 = 3,
    POLL_ERR___157 = 4,
    POLL_PRI___157 = 5,
    POLL_HUP___157 = 6
} ;
enum __anonenum_852341087___157 {
    SIGEV_SIGNAL___157 = 0,
    SIGEV_NONE___157 = 1,
    SIGEV_THREAD___157 = 2,
    SIGEV_THREAD_ID___157 = 4
} ;
enum __anonenum_451154152___157 {
    REG_R8___157 = 0,
    REG_R9___157 = 1,
    REG_R10___157 = 2,
    REG_R11___157 = 3,
    REG_R12___157 = 4,
    REG_R13___157 = 5,
    REG_R14___157 = 6,
    REG_R15___157 = 7,
    REG_RDI___157 = 8,
    REG_RSI___157 = 9,
    REG_RBP___157 = 10,
    REG_RBX___157 = 11,
    REG_RDX___157 = 12,
    REG_RAX___157 = 13,
    REG_RCX___157 = 14,
    REG_RSP___157 = 15,
    REG_RIP___157 = 16,
    REG_EFL___157 = 17,
    REG_CSGSFS___157 = 18,
    REG_ERR___157 = 19,
    REG_TRAPNO___157 = 20,
    REG_OLDMASK___157 = 21,
    REG_CR2___157 = 22
} ;
enum __anonenum_57186863___157 {
    SS_ONSTACK___157 = 1,
    SS_DISABLE___157 = 2
} ;
enum __anonenum_83571709___157 {
    MSG_OOB___157 = 1,
    MSG_PEEK___157 = 2,
    MSG_DONTROUTE___157 = 4,
    MSG_TRYHARD___157 = 4,
    MSG_CTRUNC___157 = 8,
    MSG_PROXY___157 = 16,
    MSG_TRUNC___157 = 32,
    MSG_DONTWAIT___157 = 64,
    MSG_EOR___157 = 128,
    MSG_WAITALL___157 = 256,
    MSG_FIN___157 = 512,
    MSG_SYN___157 = 1024,
    MSG_CONFIRM___157 = 2048,
    MSG_RST___157 = 4096,
    MSG_ERRQUEUE___157 = 8192,
    MSG_NOSIGNAL___157 = 16384,
    MSG_MORE___157 = 32768,
    MSG_WAITFORONE___157 = 65536,
    MSG_BATCH___157 = 262144,
    MSG_ZEROCOPY___157 = 67108864,
    MSG_FASTOPEN___157 = 536870912,
    MSG_CMSG_CLOEXEC___157 = 1073741824
} ;
enum __anonenum_617082774___157 {
    SCM_RIGHTS___157 = 1,
    SCM_CREDENTIALS___157 = 2
} ;
enum __anonenum_606441560___157 {
    SHUT_RD___157 = 0,
    SHUT_WR___157 = 1,
    SHUT_RDWR___157 = 2
} ;
enum __anonenum_681669233___157 {
    IPPROTO_IP___157 = 0,
    IPPROTO_ICMP___157 = 1,
    IPPROTO_IGMP___157 = 2,
    IPPROTO_IPIP___157 = 4,
    IPPROTO_TCP___157 = 6,
    IPPROTO_EGP___157 = 8,
    IPPROTO_PUP___157 = 12,
    IPPROTO_UDP___157 = 17,
    IPPROTO_IDP___157 = 22,
    IPPROTO_TP___157 = 29,
    IPPROTO_DCCP___157 = 33,
    IPPROTO_IPV6___157 = 41,
    IPPROTO_RSVP___157 = 46,
    IPPROTO_GRE___157 = 47,
    IPPROTO_ESP___157 = 50,
    IPPROTO_AH___157 = 51,
    IPPROTO_MTP___157 = 92,
    IPPROTO_BEETPH___157 = 94,
    IPPROTO_ENCAP___157 = 98,
    IPPROTO_PIM___157 = 103,
    IPPROTO_COMP___157 = 108,
    IPPROTO_SCTP___157 = 132,
    IPPROTO_UDPLITE___157 = 136,
    IPPROTO_MPLS___157 = 137,
    IPPROTO_RAW___157 = 255,
    IPPROTO_MAX___157 = 256
} ;
enum __anonenum_218739988___157 {
    IPPROTO_HOPOPTS___157 = 0,
    IPPROTO_ROUTING___157 = 43,
    IPPROTO_FRAGMENT___157 = 44,
    IPPROTO_ICMPV6___157 = 58,
    IPPROTO_NONE___157 = 59,
    IPPROTO_DSTOPTS___157 = 60,
    IPPROTO_MH___157 = 135
} ;
enum __anonenum_662268580___157 {
    IPPORT_ECHO___157 = 7,
    IPPORT_DISCARD___157 = 9,
    IPPORT_SYSTAT___157 = 11,
    IPPORT_DAYTIME___157 = 13,
    IPPORT_NETSTAT___157 = 15,
    IPPORT_FTP___157 = 21,
    IPPORT_TELNET___157 = 23,
    IPPORT_SMTP___157 = 25,
    IPPORT_TIMESERVER___157 = 37,
    IPPORT_NAMESERVER___157 = 42,
    IPPORT_WHOIS___157 = 43,
    IPPORT_MTP___157 = 57,
    IPPORT_TFTP___157 = 69,
    IPPORT_RJE___157 = 77,
    IPPORT_FINGER___157 = 79,
    IPPORT_TTYLINK___157 = 87,
    IPPORT_SUPDUP___157 = 95,
    IPPORT_EXECSERVER___157 = 512,
    IPPORT_LOGINSERVER___157 = 513,
    IPPORT_CMDSERVER___157 = 514,
    IPPORT_EFSSERVER___157 = 520,
    IPPORT_BIFFUDP___157 = 512,
    IPPORT_WHOSERVER___157 = 513,
    IPPORT_ROUTESERVER___157 = 520,
    IPPORT_RESERVED___157 = 1024,
    IPPORT_USERRESERVED___157 = 5000
} ;
enum __anonenum_788308992___157 {
    TCP_ESTABLISHED___157 = 1,
    TCP_SYN_SENT___157 = 2,
    TCP_SYN_RECV___157 = 3,
    TCP_FIN_WAIT1___157 = 4,
    TCP_FIN_WAIT2___157 = 5,
    TCP_TIME_WAIT___157 = 6,
    TCP_CLOSE___157 = 7,
    TCP_CLOSE_WAIT___157 = 8,
    TCP_LAST_ACK___157 = 9,
    TCP_LISTEN___157 = 10,
    TCP_CLOSING___157 = 11
} ;
enum __anonenum_221125648___157 {
    TCP_NO_QUEUE___157 = 0,
    TCP_RECV_QUEUE___157 = 1,
    TCP_SEND_QUEUE___157 = 2,
    TCP_QUEUES_NR___157 = 3
} ;
enum __anonenum_34415463___157 {
    PTHREAD_CREATE_JOINABLE___157 = 0,
    PTHREAD_CREATE_DETACHED___157 = 1
} ;
enum __anonenum_303612439___157 {
    PTHREAD_MUTEX_TIMED_NP___157 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___157 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___157 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___157 = 3,
    PTHREAD_MUTEX_NORMAL___157 = 0,
    PTHREAD_MUTEX_RECURSIVE___157 = 1,
    PTHREAD_MUTEX_ERRORCHECK___157 = 2,
    PTHREAD_MUTEX_DEFAULT___157 = 0,
    PTHREAD_MUTEX_FAST_NP___157 = 0
} ;
enum __anonenum_931900394___157 {
    PTHREAD_MUTEX_STALLED___157 = 0,
    PTHREAD_MUTEX_STALLED_NP___157 = 0,
    PTHREAD_MUTEX_ROBUST___157 = 1,
    PTHREAD_MUTEX_ROBUST_NP___157 = 1
} ;
enum __anonenum_205214487___157 {
    PTHREAD_PRIO_NONE___157 = 0,
    PTHREAD_PRIO_INHERIT___157 = 1,
    PTHREAD_PRIO_PROTECT___157 = 2
} ;
enum __anonenum_25043950___157 {
    PTHREAD_RWLOCK_PREFER_READER_NP___157 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___157 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___157 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___157 = 0
} ;
enum __anonenum_436439511___157 {
    PTHREAD_INHERIT_SCHED___157 = 0,
    PTHREAD_EXPLICIT_SCHED___157 = 1
} ;
enum __anonenum_998661166___157 {
    PTHREAD_SCOPE_SYSTEM___157 = 0,
    PTHREAD_SCOPE_PROCESS___157 = 1
} ;
enum __anonenum_146137331___157 {
    PTHREAD_PROCESS_PRIVATE___157 = 0,
    PTHREAD_PROCESS_SHARED___157 = 1
} ;
enum __anonenum_53396917___157 {
    PTHREAD_CANCEL_ENABLE___157 = 0,
    PTHREAD_CANCEL_DISABLE___157 = 1
} ;
enum __anonenum_904563783___157 {
    PTHREAD_CANCEL_DEFERRED___157 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___157 = 1
} ;
enum __anonenum_672052974___157 {
    SSL_CT_VALIDATION_PERMISSIVE___157 = 0,
    SSL_CT_VALIDATION_STRICT___157 = 1
} ;
struct ref_dir ;
typedef void fill_ref_dir_fn(struct ref_store *ref_store , struct ref_dir *dir , char const   *dirname );
struct ref_entry ;
struct ref_cache {
   struct ref_entry *root ;
   struct ref_store *ref_store ;
   fill_ref_dir_fn *fill_ref_dir ;
};
struct ref_value {
   struct object_id oid ;
};
struct ref_dir {
   int nr ;
   int alloc ;
   int sorted ;
   struct ref_cache *cache ;
   struct ref_entry **entries ;
};
union __anonunion_u_625887143 {
   struct ref_value value ;
   struct ref_dir subdir ;
};
struct ref_entry {
   unsigned char flag ;
   union __anonunion_u_625887143 u ;
   char name[] ;
};
struct ref_lock {
   char *ref_name ;
   struct lock_file lk ;
   struct object_id old_oid ;
};
struct files_ref_store {
   struct ref_store base ;
   unsigned int store_flags ;
   char *gitcommondir ;
   struct ref_cache *loose ;
   struct ref_store *packed_ref_store ;
};
struct files_ref_iterator {
   struct ref_iterator base ;
   struct ref_iterator *iter0 ;
   struct repository *repo ;
   unsigned int flags ;
};
typedef int create_file_fn(char const   *path , void *cb );
struct ref_to_prune {
   struct ref_to_prune *next ;
   struct object_id oid ;
   char name[] ;
};
enum __anonenum_106368384 {
    REMOVE_EMPTY_PARENTS_REF = 1,
    REMOVE_EMPTY_PARENTS_REFLOG = 2
} ;
struct rename_cb {
   char const   *tmp_renamed_log ;
   int true_errno ;
};
struct files_reflog_iterator {
   struct ref_iterator base ;
   struct ref_store *ref_store ;
   struct dir_iterator *dir_iterator ;
   struct object_id oid ;
};
struct files_transaction_backend_data {
   struct ref_transaction *packed_transaction ;
   int packed_refs_locked ;
};
struct expire_reflog_cb {
   reflog_expiry_should_prune_fn *should_prune_fn ;
   void *policy_cb ;
   FILE *newlog ;
   struct object_id last_kept_oid ;
   unsigned int rewrite : 1 ;
   unsigned int dry_run : 1 ;
};
enum __anonenum_437032235___158 {
    _PC_LINK_MAX___158 = 0,
    _PC_MAX_CANON___158 = 1,
    _PC_MAX_INPUT___158 = 2,
    _PC_NAME_MAX___158 = 3,
    _PC_PATH_MAX___158 = 4,
    _PC_PIPE_BUF___158 = 5,
    _PC_CHOWN_RESTRICTED___158 = 6,
    _PC_NO_TRUNC___158 = 7,
    _PC_VDISABLE___158 = 8,
    _PC_SYNC_IO___158 = 9,
    _PC_ASYNC_IO___158 = 10,
    _PC_PRIO_IO___158 = 11,
    _PC_SOCK_MAXBUF___158 = 12,
    _PC_FILESIZEBITS___158 = 13,
    _PC_REC_INCR_XFER_SIZE___158 = 14,
    _PC_REC_MAX_XFER_SIZE___158 = 15,
    _PC_REC_MIN_XFER_SIZE___158 = 16,
    _PC_REC_XFER_ALIGN___158 = 17,
    _PC_ALLOC_SIZE_MIN___158 = 18,
    _PC_SYMLINK_MAX___158 = 19,
    _PC_2_SYMLINKS___158 = 20
} ;
enum __anonenum_315186338___158 {
    _SC_ARG_MAX___158 = 0,
    _SC_CHILD_MAX___158 = 1,
    _SC_CLK_TCK___158 = 2,
    _SC_NGROUPS_MAX___158 = 3,
    _SC_OPEN_MAX___158 = 4,
    _SC_STREAM_MAX___158 = 5,
    _SC_TZNAME_MAX___158 = 6,
    _SC_JOB_CONTROL___158 = 7,
    _SC_SAVED_IDS___158 = 8,
    _SC_REALTIME_SIGNALS___158 = 9,
    _SC_PRIORITY_SCHEDULING___158 = 10,
    _SC_TIMERS___158 = 11,
    _SC_ASYNCHRONOUS_IO___158 = 12,
    _SC_PRIORITIZED_IO___158 = 13,
    _SC_SYNCHRONIZED_IO___158 = 14,
    _SC_FSYNC___158 = 15,
    _SC_MAPPED_FILES___158 = 16,
    _SC_MEMLOCK___158 = 17,
    _SC_MEMLOCK_RANGE___158 = 18,
    _SC_MEMORY_PROTECTION___158 = 19,
    _SC_MESSAGE_PASSING___158 = 20,
    _SC_SEMAPHORES___158 = 21,
    _SC_SHARED_MEMORY_OBJECTS___158 = 22,
    _SC_AIO_LISTIO_MAX___158 = 23,
    _SC_AIO_MAX___158 = 24,
    _SC_AIO_PRIO_DELTA_MAX___158 = 25,
    _SC_DELAYTIMER_MAX___158 = 26,
    _SC_MQ_OPEN_MAX___158 = 27,
    _SC_MQ_PRIO_MAX___158 = 28,
    _SC_VERSION___158 = 29,
    _SC_PAGESIZE___158 = 30,
    _SC_RTSIG_MAX___158 = 31,
    _SC_SEM_NSEMS_MAX___158 = 32,
    _SC_SEM_VALUE_MAX___158 = 33,
    _SC_SIGQUEUE_MAX___158 = 34,
    _SC_TIMER_MAX___158 = 35,
    _SC_BC_BASE_MAX___158 = 36,
    _SC_BC_DIM_MAX___158 = 37,
    _SC_BC_SCALE_MAX___158 = 38,
    _SC_BC_STRING_MAX___158 = 39,
    _SC_COLL_WEIGHTS_MAX___158 = 40,
    _SC_EQUIV_CLASS_MAX___158 = 41,
    _SC_EXPR_NEST_MAX___158 = 42,
    _SC_LINE_MAX___158 = 43,
    _SC_RE_DUP_MAX___158 = 44,
    _SC_CHARCLASS_NAME_MAX___158 = 45,
    _SC_2_VERSION___158 = 46,
    _SC_2_C_BIND___158 = 47,
    _SC_2_C_DEV___158 = 48,
    _SC_2_FORT_DEV___158 = 49,
    _SC_2_FORT_RUN___158 = 50,
    _SC_2_SW_DEV___158 = 51,
    _SC_2_LOCALEDEF___158 = 52,
    _SC_PII___158 = 53,
    _SC_PII_XTI___158 = 54,
    _SC_PII_SOCKET___158 = 55,
    _SC_PII_INTERNET___158 = 56,
    _SC_PII_OSI___158 = 57,
    _SC_POLL___158 = 58,
    _SC_SELECT___158 = 59,
    _SC_UIO_MAXIOV___158 = 60,
    _SC_IOV_MAX___158 = 60,
    _SC_PII_INTERNET_STREAM___158 = 61,
    _SC_PII_INTERNET_DGRAM___158 = 62,
    _SC_PII_OSI_COTS___158 = 63,
    _SC_PII_OSI_CLTS___158 = 64,
    _SC_PII_OSI_M___158 = 65,
    _SC_T_IOV_MAX___158 = 66,
    _SC_THREADS___158 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___158 = 68,
    _SC_GETGR_R_SIZE_MAX___158 = 69,
    _SC_GETPW_R_SIZE_MAX___158 = 70,
    _SC_LOGIN_NAME_MAX___158 = 71,
    _SC_TTY_NAME_MAX___158 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___158 = 73,
    _SC_THREAD_KEYS_MAX___158 = 74,
    _SC_THREAD_STACK_MIN___158 = 75,
    _SC_THREAD_THREADS_MAX___158 = 76,
    _SC_THREAD_ATTR_STACKADDR___158 = 77,
    _SC_THREAD_ATTR_STACKSIZE___158 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___158 = 79,
    _SC_THREAD_PRIO_INHERIT___158 = 80,
    _SC_THREAD_PRIO_PROTECT___158 = 81,
    _SC_THREAD_PROCESS_SHARED___158 = 82,
    _SC_NPROCESSORS_CONF___158 = 83,
    _SC_NPROCESSORS_ONLN___158 = 84,
    _SC_PHYS_PAGES___158 = 85,
    _SC_AVPHYS_PAGES___158 = 86,
    _SC_ATEXIT_MAX___158 = 87,
    _SC_PASS_MAX___158 = 88,
    _SC_XOPEN_VERSION___158 = 89,
    _SC_XOPEN_XCU_VERSION___158 = 90,
    _SC_XOPEN_UNIX___158 = 91,
    _SC_XOPEN_CRYPT___158 = 92,
    _SC_XOPEN_ENH_I18N___158 = 93,
    _SC_XOPEN_SHM___158 = 94,
    _SC_2_CHAR_TERM___158 = 95,
    _SC_2_C_VERSION___158 = 96,
    _SC_2_UPE___158 = 97,
    _SC_XOPEN_XPG2___158 = 98,
    _SC_XOPEN_XPG3___158 = 99,
    _SC_XOPEN_XPG4___158 = 100,
    _SC_CHAR_BIT___158 = 101,
    _SC_CHAR_MAX___158 = 102,
    _SC_CHAR_MIN___158 = 103,
    _SC_INT_MAX___158 = 104,
    _SC_INT_MIN___158 = 105,
    _SC_LONG_BIT___158 = 106,
    _SC_WORD_BIT___158 = 107,
    _SC_MB_LEN_MAX___158 = 108,
    _SC_NZERO___158 = 109,
    _SC_SSIZE_MAX___158 = 110,
    _SC_SCHAR_MAX___158 = 111,
    _SC_SCHAR_MIN___158 = 112,
    _SC_SHRT_MAX___158 = 113,
    _SC_SHRT_MIN___158 = 114,
    _SC_UCHAR_MAX___158 = 115,
    _SC_UINT_MAX___158 = 116,
    _SC_ULONG_MAX___158 = 117,
    _SC_USHRT_MAX___158 = 118,
    _SC_NL_ARGMAX___158 = 119,
    _SC_NL_LANGMAX___158 = 120,
    _SC_NL_MSGMAX___158 = 121,
    _SC_NL_NMAX___158 = 122,
    _SC_NL_SETMAX___158 = 123,
    _SC_NL_TEXTMAX___158 = 124,
    _SC_XBS5_ILP32_OFF32___158 = 125,
    _SC_XBS5_ILP32_OFFBIG___158 = 126,
    _SC_XBS5_LP64_OFF64___158 = 127,
    _SC_XBS5_LPBIG_OFFBIG___158 = 128,
    _SC_XOPEN_LEGACY___158 = 129,
    _SC_XOPEN_REALTIME___158 = 130,
    _SC_XOPEN_REALTIME_THREADS___158 = 131,
    _SC_ADVISORY_INFO___158 = 132,
    _SC_BARRIERS___158 = 133,
    _SC_BASE___158 = 134,
    _SC_C_LANG_SUPPORT___158 = 135,
    _SC_C_LANG_SUPPORT_R___158 = 136,
    _SC_CLOCK_SELECTION___158 = 137,
    _SC_CPUTIME___158 = 138,
    _SC_THREAD_CPUTIME___158 = 139,
    _SC_DEVICE_IO___158 = 140,
    _SC_DEVICE_SPECIFIC___158 = 141,
    _SC_DEVICE_SPECIFIC_R___158 = 142,
    _SC_FD_MGMT___158 = 143,
    _SC_FIFO___158 = 144,
    _SC_PIPE___158 = 145,
    _SC_FILE_ATTRIBUTES___158 = 146,
    _SC_FILE_LOCKING___158 = 147,
    _SC_FILE_SYSTEM___158 = 148,
    _SC_MONOTONIC_CLOCK___158 = 149,
    _SC_MULTI_PROCESS___158 = 150,
    _SC_SINGLE_PROCESS___158 = 151,
    _SC_NETWORKING___158 = 152,
    _SC_READER_WRITER_LOCKS___158 = 153,
    _SC_SPIN_LOCKS___158 = 154,
    _SC_REGEXP___158 = 155,
    _SC_REGEX_VERSION___158 = 156,
    _SC_SHELL___158 = 157,
    _SC_SIGNALS___158 = 158,
    _SC_SPAWN___158 = 159,
    _SC_SPORADIC_SERVER___158 = 160,
    _SC_THREAD_SPORADIC_SERVER___158 = 161,
    _SC_SYSTEM_DATABASE___158 = 162,
    _SC_SYSTEM_DATABASE_R___158 = 163,
    _SC_TIMEOUTS___158 = 164,
    _SC_TYPED_MEMORY_OBJECTS___158 = 165,
    _SC_USER_GROUPS___158 = 166,
    _SC_USER_GROUPS_R___158 = 167,
    _SC_2_PBS___158 = 168,
    _SC_2_PBS_ACCOUNTING___158 = 169,
    _SC_2_PBS_LOCATE___158 = 170,
    _SC_2_PBS_MESSAGE___158 = 171,
    _SC_2_PBS_TRACK___158 = 172,
    _SC_SYMLOOP_MAX___158 = 173,
    _SC_STREAMS___158 = 174,
    _SC_2_PBS_CHECKPOINT___158 = 175,
    _SC_V6_ILP32_OFF32___158 = 176,
    _SC_V6_ILP32_OFFBIG___158 = 177,
    _SC_V6_LP64_OFF64___158 = 178,
    _SC_V6_LPBIG_OFFBIG___158 = 179,
    _SC_HOST_NAME_MAX___158 = 180,
    _SC_TRACE___158 = 181,
    _SC_TRACE_EVENT_FILTER___158 = 182,
    _SC_TRACE_INHERIT___158 = 183,
    _SC_TRACE_LOG___158 = 184,
    _SC_LEVEL1_ICACHE_SIZE___158 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___158 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___158 = 187,
    _SC_LEVEL1_DCACHE_SIZE___158 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___158 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___158 = 190,
    _SC_LEVEL2_CACHE_SIZE___158 = 191,
    _SC_LEVEL2_CACHE_ASSOC___158 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___158 = 193,
    _SC_LEVEL3_CACHE_SIZE___158 = 194,
    _SC_LEVEL3_CACHE_ASSOC___158 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___158 = 196,
    _SC_LEVEL4_CACHE_SIZE___158 = 197,
    _SC_LEVEL4_CACHE_ASSOC___158 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___158 = 199,
    _SC_IPV6___158 = 235,
    _SC_RAW_SOCKETS___158 = 236,
    _SC_V7_ILP32_OFF32___158 = 237,
    _SC_V7_ILP32_OFFBIG___158 = 238,
    _SC_V7_LP64_OFF64___158 = 239,
    _SC_V7_LPBIG_OFFBIG___158 = 240,
    _SC_SS_REPL_MAX___158 = 241,
    _SC_TRACE_EVENT_NAME_MAX___158 = 242,
    _SC_TRACE_NAME_MAX___158 = 243,
    _SC_TRACE_SYS_MAX___158 = 244,
    _SC_TRACE_USER_EVENT_MAX___158 = 245,
    _SC_XOPEN_STREAMS___158 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___158 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___158 = 248
} ;
enum __anonenum_875524036___158 {
    _CS_PATH___158 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___158 = 1,
    _CS_GNU_LIBC_VERSION___158 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___158 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___158 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___158 = 5,
    _CS_LFS_CFLAGS___158 = 1000,
    _CS_LFS_LDFLAGS___158 = 1001,
    _CS_LFS_LIBS___158 = 1002,
    _CS_LFS_LINTFLAGS___158 = 1003,
    _CS_LFS64_CFLAGS___158 = 1004,
    _CS_LFS64_LDFLAGS___158 = 1005,
    _CS_LFS64_LIBS___158 = 1006,
    _CS_LFS64_LINTFLAGS___158 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___158 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___158 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___158 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___158 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___158 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___158 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___158 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___158 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___158 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___158 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___158 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___158 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___158 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___158 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___158 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___158 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___158 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___158 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___158 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___158 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___158 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___158 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___158 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___158 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___158 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___158 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___158 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___158 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___158 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___158 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___158 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___158 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___158 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___158 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___158 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___158 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___158 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___158 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___158 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___158 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___158 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___158 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___158 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___158 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___158 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___158 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___158 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___158 = 1147,
    _CS_V6_ENV___158 = 1148,
    _CS_V7_ENV___158 = 1149
} ;
enum __anonenum_513775621___158 {
    DT_UNKNOWN___158 = 0,
    DT_FIFO___158 = 1,
    DT_CHR___158 = 2,
    DT_DIR___158 = 4,
    DT_BLK___158 = 6,
    DT_REG___158 = 8,
    DT_LNK___158 = 10,
    DT_SOCK___158 = 12,
    DT_WHT___158 = 14
} ;
enum __anonenum_77002343___158 {
    SI_ASYNCNL___158 = -60,
    SI_TKILL___158 = -6,
    SI_SIGIO___158 = -5,
    SI_ASYNCIO___158 = -4,
    SI_MESGQ___158 = -3,
    SI_TIMER___158 = -2,
    SI_QUEUE___158 = -1,
    SI_USER___158 = 0,
    SI_KERNEL___158 = 128
} ;
enum __anonenum_131038172___158 {
    ILL_ILLOPC___158 = 1,
    ILL_ILLOPN___158 = 2,
    ILL_ILLADR___158 = 3,
    ILL_ILLTRP___158 = 4,
    ILL_PRVOPC___158 = 5,
    ILL_PRVREG___158 = 6,
    ILL_COPROC___158 = 7,
    ILL_BADSTK___158 = 8
} ;
enum __anonenum_452038093___158 {
    FPE_INTDIV___158 = 1,
    FPE_INTOVF___158 = 2,
    FPE_FLTDIV___158 = 3,
    FPE_FLTOVF___158 = 4,
    FPE_FLTUND___158 = 5,
    FPE_FLTRES___158 = 6,
    FPE_FLTINV___158 = 7,
    FPE_FLTSUB___158 = 8
} ;
enum __anonenum_30976155___158 {
    SEGV_MAPERR___158 = 1,
    SEGV_ACCERR___158 = 2,
    SEGV_BNDERR___158 = 3,
    SEGV_PKUERR___158 = 4
} ;
enum __anonenum_1036286214___158 {
    BUS_ADRALN___158 = 1,
    BUS_ADRERR___158 = 2,
    BUS_OBJERR___158 = 3,
    BUS_MCEERR_AR___158 = 4,
    BUS_MCEERR_AO___158 = 5
} ;
enum __anonenum_493465559___158 {
    TRAP_BRKPT___158 = 1,
    TRAP_TRACE___158 = 2
} ;
enum __anonenum_23175539___158 {
    CLD_EXITED___158 = 1,
    CLD_KILLED___158 = 2,
    CLD_DUMPED___158 = 3,
    CLD_TRAPPED___158 = 4,
    CLD_STOPPED___158 = 5,
    CLD_CONTINUED___158 = 6
} ;
enum __anonenum_111643124___158 {
    POLL_IN___158 = 1,
    POLL_OUT___158 = 2,
    POLL_MSG___158 = 3,
    POLL_ERR___158 = 4,
    POLL_PRI___158 = 5,
    POLL_HUP___158 = 6
} ;
enum __anonenum_852341087___158 {
    SIGEV_SIGNAL___158 = 0,
    SIGEV_NONE___158 = 1,
    SIGEV_THREAD___158 = 2,
    SIGEV_THREAD_ID___158 = 4
} ;
enum __anonenum_451154152___158 {
    REG_R8___158 = 0,
    REG_R9___158 = 1,
    REG_R10___158 = 2,
    REG_R11___158 = 3,
    REG_R12___158 = 4,
    REG_R13___158 = 5,
    REG_R14___158 = 6,
    REG_R15___158 = 7,
    REG_RDI___158 = 8,
    REG_RSI___158 = 9,
    REG_RBP___158 = 10,
    REG_RBX___158 = 11,
    REG_RDX___158 = 12,
    REG_RAX___158 = 13,
    REG_RCX___158 = 14,
    REG_RSP___158 = 15,
    REG_RIP___158 = 16,
    REG_EFL___158 = 17,
    REG_CSGSFS___158 = 18,
    REG_ERR___158 = 19,
    REG_TRAPNO___158 = 20,
    REG_OLDMASK___158 = 21,
    REG_CR2___158 = 22
} ;
enum __anonenum_57186863___158 {
    SS_ONSTACK___158 = 1,
    SS_DISABLE___158 = 2
} ;
enum __anonenum_83571709___158 {
    MSG_OOB___158 = 1,
    MSG_PEEK___158 = 2,
    MSG_DONTROUTE___158 = 4,
    MSG_TRYHARD___158 = 4,
    MSG_CTRUNC___158 = 8,
    MSG_PROXY___158 = 16,
    MSG_TRUNC___158 = 32,
    MSG_DONTWAIT___158 = 64,
    MSG_EOR___158 = 128,
    MSG_WAITALL___158 = 256,
    MSG_FIN___158 = 512,
    MSG_SYN___158 = 1024,
    MSG_CONFIRM___158 = 2048,
    MSG_RST___158 = 4096,
    MSG_ERRQUEUE___158 = 8192,
    MSG_NOSIGNAL___158 = 16384,
    MSG_MORE___158 = 32768,
    MSG_WAITFORONE___158 = 65536,
    MSG_BATCH___158 = 262144,
    MSG_ZEROCOPY___158 = 67108864,
    MSG_FASTOPEN___158 = 536870912,
    MSG_CMSG_CLOEXEC___158 = 1073741824
} ;
enum __anonenum_617082774___158 {
    SCM_RIGHTS___158 = 1,
    SCM_CREDENTIALS___158 = 2
} ;
enum __anonenum_606441560___158 {
    SHUT_RD___158 = 0,
    SHUT_WR___158 = 1,
    SHUT_RDWR___158 = 2
} ;
enum __anonenum_681669233___158 {
    IPPROTO_IP___158 = 0,
    IPPROTO_ICMP___158 = 1,
    IPPROTO_IGMP___158 = 2,
    IPPROTO_IPIP___158 = 4,
    IPPROTO_TCP___158 = 6,
    IPPROTO_EGP___158 = 8,
    IPPROTO_PUP___158 = 12,
    IPPROTO_UDP___158 = 17,
    IPPROTO_IDP___158 = 22,
    IPPROTO_TP___158 = 29,
    IPPROTO_DCCP___158 = 33,
    IPPROTO_IPV6___158 = 41,
    IPPROTO_RSVP___158 = 46,
    IPPROTO_GRE___158 = 47,
    IPPROTO_ESP___158 = 50,
    IPPROTO_AH___158 = 51,
    IPPROTO_MTP___158 = 92,
    IPPROTO_BEETPH___158 = 94,
    IPPROTO_ENCAP___158 = 98,
    IPPROTO_PIM___158 = 103,
    IPPROTO_COMP___158 = 108,
    IPPROTO_SCTP___158 = 132,
    IPPROTO_UDPLITE___158 = 136,
    IPPROTO_MPLS___158 = 137,
    IPPROTO_RAW___158 = 255,
    IPPROTO_MAX___158 = 256
} ;
enum __anonenum_218739988___158 {
    IPPROTO_HOPOPTS___158 = 0,
    IPPROTO_ROUTING___158 = 43,
    IPPROTO_FRAGMENT___158 = 44,
    IPPROTO_ICMPV6___158 = 58,
    IPPROTO_NONE___158 = 59,
    IPPROTO_DSTOPTS___158 = 60,
    IPPROTO_MH___158 = 135
} ;
enum __anonenum_662268580___158 {
    IPPORT_ECHO___158 = 7,
    IPPORT_DISCARD___158 = 9,
    IPPORT_SYSTAT___158 = 11,
    IPPORT_DAYTIME___158 = 13,
    IPPORT_NETSTAT___158 = 15,
    IPPORT_FTP___158 = 21,
    IPPORT_TELNET___158 = 23,
    IPPORT_SMTP___158 = 25,
    IPPORT_TIMESERVER___158 = 37,
    IPPORT_NAMESERVER___158 = 42,
    IPPORT_WHOIS___158 = 43,
    IPPORT_MTP___158 = 57,
    IPPORT_TFTP___158 = 69,
    IPPORT_RJE___158 = 77,
    IPPORT_FINGER___158 = 79,
    IPPORT_TTYLINK___158 = 87,
    IPPORT_SUPDUP___158 = 95,
    IPPORT_EXECSERVER___158 = 512,
    IPPORT_LOGINSERVER___158 = 513,
    IPPORT_CMDSERVER___158 = 514,
    IPPORT_EFSSERVER___158 = 520,
    IPPORT_BIFFUDP___158 = 512,
    IPPORT_WHOSERVER___158 = 513,
    IPPORT_ROUTESERVER___158 = 520,
    IPPORT_RESERVED___158 = 1024,
    IPPORT_USERRESERVED___158 = 5000
} ;
enum __anonenum_788308992___158 {
    TCP_ESTABLISHED___158 = 1,
    TCP_SYN_SENT___158 = 2,
    TCP_SYN_RECV___158 = 3,
    TCP_FIN_WAIT1___158 = 4,
    TCP_FIN_WAIT2___158 = 5,
    TCP_TIME_WAIT___158 = 6,
    TCP_CLOSE___158 = 7,
    TCP_CLOSE_WAIT___158 = 8,
    TCP_LAST_ACK___158 = 9,
    TCP_LISTEN___158 = 10,
    TCP_CLOSING___158 = 11
} ;
enum __anonenum_221125648___158 {
    TCP_NO_QUEUE___158 = 0,
    TCP_RECV_QUEUE___158 = 1,
    TCP_SEND_QUEUE___158 = 2,
    TCP_QUEUES_NR___158 = 3
} ;
enum __anonenum_34415463___158 {
    PTHREAD_CREATE_JOINABLE___158 = 0,
    PTHREAD_CREATE_DETACHED___158 = 1
} ;
enum __anonenum_303612439___158 {
    PTHREAD_MUTEX_TIMED_NP___158 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___158 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___158 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___158 = 3,
    PTHREAD_MUTEX_NORMAL___158 = 0,
    PTHREAD_MUTEX_RECURSIVE___158 = 1,
    PTHREAD_MUTEX_ERRORCHECK___158 = 2,
    PTHREAD_MUTEX_DEFAULT___158 = 0,
    PTHREAD_MUTEX_FAST_NP___158 = 0
} ;
enum __anonenum_931900394___158 {
    PTHREAD_MUTEX_STALLED___158 = 0,
    PTHREAD_MUTEX_STALLED_NP___158 = 0,
    PTHREAD_MUTEX_ROBUST___158 = 1,
    PTHREAD_MUTEX_ROBUST_NP___158 = 1
} ;
enum __anonenum_205214487___158 {
    PTHREAD_PRIO_NONE___158 = 0,
    PTHREAD_PRIO_INHERIT___158 = 1,
    PTHREAD_PRIO_PROTECT___158 = 2
} ;
enum __anonenum_25043950___158 {
    PTHREAD_RWLOCK_PREFER_READER_NP___158 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___158 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___158 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___158 = 0
} ;
enum __anonenum_436439511___158 {
    PTHREAD_INHERIT_SCHED___158 = 0,
    PTHREAD_EXPLICIT_SCHED___158 = 1
} ;
enum __anonenum_998661166___158 {
    PTHREAD_SCOPE_SYSTEM___158 = 0,
    PTHREAD_SCOPE_PROCESS___158 = 1
} ;
enum __anonenum_146137331___158 {
    PTHREAD_PROCESS_PRIVATE___158 = 0,
    PTHREAD_PROCESS_SHARED___158 = 1
} ;
enum __anonenum_53396917___158 {
    PTHREAD_CANCEL_ENABLE___158 = 0,
    PTHREAD_CANCEL_DISABLE___158 = 1
} ;
enum __anonenum_904563783___158 {
    PTHREAD_CANCEL_DEFERRED___158 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___158 = 1
} ;
enum __anonenum_672052974___158 {
    SSL_CT_VALIDATION_PERMISSIVE___158 = 0,
    SSL_CT_VALIDATION_STRICT___158 = 1
} ;
struct empty_ref_iterator {
   struct ref_iterator base ;
};
struct merge_ref_iterator {
   struct ref_iterator base ;
   struct ref_iterator *iter0 ;
   struct ref_iterator *iter1 ;
   ref_iterator_select_fn *select ;
   void *cb_data ;
   struct ref_iterator **current ;
};
struct prefix_ref_iterator {
   struct ref_iterator base ;
   struct ref_iterator *iter0 ;
   char *prefix ;
   int trim ;
};
enum __anonenum_437032235___159 {
    _PC_LINK_MAX___159 = 0,
    _PC_MAX_CANON___159 = 1,
    _PC_MAX_INPUT___159 = 2,
    _PC_NAME_MAX___159 = 3,
    _PC_PATH_MAX___159 = 4,
    _PC_PIPE_BUF___159 = 5,
    _PC_CHOWN_RESTRICTED___159 = 6,
    _PC_NO_TRUNC___159 = 7,
    _PC_VDISABLE___159 = 8,
    _PC_SYNC_IO___159 = 9,
    _PC_ASYNC_IO___159 = 10,
    _PC_PRIO_IO___159 = 11,
    _PC_SOCK_MAXBUF___159 = 12,
    _PC_FILESIZEBITS___159 = 13,
    _PC_REC_INCR_XFER_SIZE___159 = 14,
    _PC_REC_MAX_XFER_SIZE___159 = 15,
    _PC_REC_MIN_XFER_SIZE___159 = 16,
    _PC_REC_XFER_ALIGN___159 = 17,
    _PC_ALLOC_SIZE_MIN___159 = 18,
    _PC_SYMLINK_MAX___159 = 19,
    _PC_2_SYMLINKS___159 = 20
} ;
enum __anonenum_315186338___159 {
    _SC_ARG_MAX___159 = 0,
    _SC_CHILD_MAX___159 = 1,
    _SC_CLK_TCK___159 = 2,
    _SC_NGROUPS_MAX___159 = 3,
    _SC_OPEN_MAX___159 = 4,
    _SC_STREAM_MAX___159 = 5,
    _SC_TZNAME_MAX___159 = 6,
    _SC_JOB_CONTROL___159 = 7,
    _SC_SAVED_IDS___159 = 8,
    _SC_REALTIME_SIGNALS___159 = 9,
    _SC_PRIORITY_SCHEDULING___159 = 10,
    _SC_TIMERS___159 = 11,
    _SC_ASYNCHRONOUS_IO___159 = 12,
    _SC_PRIORITIZED_IO___159 = 13,
    _SC_SYNCHRONIZED_IO___159 = 14,
    _SC_FSYNC___159 = 15,
    _SC_MAPPED_FILES___159 = 16,
    _SC_MEMLOCK___159 = 17,
    _SC_MEMLOCK_RANGE___159 = 18,
    _SC_MEMORY_PROTECTION___159 = 19,
    _SC_MESSAGE_PASSING___159 = 20,
    _SC_SEMAPHORES___159 = 21,
    _SC_SHARED_MEMORY_OBJECTS___159 = 22,
    _SC_AIO_LISTIO_MAX___159 = 23,
    _SC_AIO_MAX___159 = 24,
    _SC_AIO_PRIO_DELTA_MAX___159 = 25,
    _SC_DELAYTIMER_MAX___159 = 26,
    _SC_MQ_OPEN_MAX___159 = 27,
    _SC_MQ_PRIO_MAX___159 = 28,
    _SC_VERSION___159 = 29,
    _SC_PAGESIZE___159 = 30,
    _SC_RTSIG_MAX___159 = 31,
    _SC_SEM_NSEMS_MAX___159 = 32,
    _SC_SEM_VALUE_MAX___159 = 33,
    _SC_SIGQUEUE_MAX___159 = 34,
    _SC_TIMER_MAX___159 = 35,
    _SC_BC_BASE_MAX___159 = 36,
    _SC_BC_DIM_MAX___159 = 37,
    _SC_BC_SCALE_MAX___159 = 38,
    _SC_BC_STRING_MAX___159 = 39,
    _SC_COLL_WEIGHTS_MAX___159 = 40,
    _SC_EQUIV_CLASS_MAX___159 = 41,
    _SC_EXPR_NEST_MAX___159 = 42,
    _SC_LINE_MAX___159 = 43,
    _SC_RE_DUP_MAX___159 = 44,
    _SC_CHARCLASS_NAME_MAX___159 = 45,
    _SC_2_VERSION___159 = 46,
    _SC_2_C_BIND___159 = 47,
    _SC_2_C_DEV___159 = 48,
    _SC_2_FORT_DEV___159 = 49,
    _SC_2_FORT_RUN___159 = 50,
    _SC_2_SW_DEV___159 = 51,
    _SC_2_LOCALEDEF___159 = 52,
    _SC_PII___159 = 53,
    _SC_PII_XTI___159 = 54,
    _SC_PII_SOCKET___159 = 55,
    _SC_PII_INTERNET___159 = 56,
    _SC_PII_OSI___159 = 57,
    _SC_POLL___159 = 58,
    _SC_SELECT___159 = 59,
    _SC_UIO_MAXIOV___159 = 60,
    _SC_IOV_MAX___159 = 60,
    _SC_PII_INTERNET_STREAM___159 = 61,
    _SC_PII_INTERNET_DGRAM___159 = 62,
    _SC_PII_OSI_COTS___159 = 63,
    _SC_PII_OSI_CLTS___159 = 64,
    _SC_PII_OSI_M___159 = 65,
    _SC_T_IOV_MAX___159 = 66,
    _SC_THREADS___159 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___159 = 68,
    _SC_GETGR_R_SIZE_MAX___159 = 69,
    _SC_GETPW_R_SIZE_MAX___159 = 70,
    _SC_LOGIN_NAME_MAX___159 = 71,
    _SC_TTY_NAME_MAX___159 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___159 = 73,
    _SC_THREAD_KEYS_MAX___159 = 74,
    _SC_THREAD_STACK_MIN___159 = 75,
    _SC_THREAD_THREADS_MAX___159 = 76,
    _SC_THREAD_ATTR_STACKADDR___159 = 77,
    _SC_THREAD_ATTR_STACKSIZE___159 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___159 = 79,
    _SC_THREAD_PRIO_INHERIT___159 = 80,
    _SC_THREAD_PRIO_PROTECT___159 = 81,
    _SC_THREAD_PROCESS_SHARED___159 = 82,
    _SC_NPROCESSORS_CONF___159 = 83,
    _SC_NPROCESSORS_ONLN___159 = 84,
    _SC_PHYS_PAGES___159 = 85,
    _SC_AVPHYS_PAGES___159 = 86,
    _SC_ATEXIT_MAX___159 = 87,
    _SC_PASS_MAX___159 = 88,
    _SC_XOPEN_VERSION___159 = 89,
    _SC_XOPEN_XCU_VERSION___159 = 90,
    _SC_XOPEN_UNIX___159 = 91,
    _SC_XOPEN_CRYPT___159 = 92,
    _SC_XOPEN_ENH_I18N___159 = 93,
    _SC_XOPEN_SHM___159 = 94,
    _SC_2_CHAR_TERM___159 = 95,
    _SC_2_C_VERSION___159 = 96,
    _SC_2_UPE___159 = 97,
    _SC_XOPEN_XPG2___159 = 98,
    _SC_XOPEN_XPG3___159 = 99,
    _SC_XOPEN_XPG4___159 = 100,
    _SC_CHAR_BIT___159 = 101,
    _SC_CHAR_MAX___159 = 102,
    _SC_CHAR_MIN___159 = 103,
    _SC_INT_MAX___159 = 104,
    _SC_INT_MIN___159 = 105,
    _SC_LONG_BIT___159 = 106,
    _SC_WORD_BIT___159 = 107,
    _SC_MB_LEN_MAX___159 = 108,
    _SC_NZERO___159 = 109,
    _SC_SSIZE_MAX___159 = 110,
    _SC_SCHAR_MAX___159 = 111,
    _SC_SCHAR_MIN___159 = 112,
    _SC_SHRT_MAX___159 = 113,
    _SC_SHRT_MIN___159 = 114,
    _SC_UCHAR_MAX___159 = 115,
    _SC_UINT_MAX___159 = 116,
    _SC_ULONG_MAX___159 = 117,
    _SC_USHRT_MAX___159 = 118,
    _SC_NL_ARGMAX___159 = 119,
    _SC_NL_LANGMAX___159 = 120,
    _SC_NL_MSGMAX___159 = 121,
    _SC_NL_NMAX___159 = 122,
    _SC_NL_SETMAX___159 = 123,
    _SC_NL_TEXTMAX___159 = 124,
    _SC_XBS5_ILP32_OFF32___159 = 125,
    _SC_XBS5_ILP32_OFFBIG___159 = 126,
    _SC_XBS5_LP64_OFF64___159 = 127,
    _SC_XBS5_LPBIG_OFFBIG___159 = 128,
    _SC_XOPEN_LEGACY___159 = 129,
    _SC_XOPEN_REALTIME___159 = 130,
    _SC_XOPEN_REALTIME_THREADS___159 = 131,
    _SC_ADVISORY_INFO___159 = 132,
    _SC_BARRIERS___159 = 133,
    _SC_BASE___159 = 134,
    _SC_C_LANG_SUPPORT___159 = 135,
    _SC_C_LANG_SUPPORT_R___159 = 136,
    _SC_CLOCK_SELECTION___159 = 137,
    _SC_CPUTIME___159 = 138,
    _SC_THREAD_CPUTIME___159 = 139,
    _SC_DEVICE_IO___159 = 140,
    _SC_DEVICE_SPECIFIC___159 = 141,
    _SC_DEVICE_SPECIFIC_R___159 = 142,
    _SC_FD_MGMT___159 = 143,
    _SC_FIFO___159 = 144,
    _SC_PIPE___159 = 145,
    _SC_FILE_ATTRIBUTES___159 = 146,
    _SC_FILE_LOCKING___159 = 147,
    _SC_FILE_SYSTEM___159 = 148,
    _SC_MONOTONIC_CLOCK___159 = 149,
    _SC_MULTI_PROCESS___159 = 150,
    _SC_SINGLE_PROCESS___159 = 151,
    _SC_NETWORKING___159 = 152,
    _SC_READER_WRITER_LOCKS___159 = 153,
    _SC_SPIN_LOCKS___159 = 154,
    _SC_REGEXP___159 = 155,
    _SC_REGEX_VERSION___159 = 156,
    _SC_SHELL___159 = 157,
    _SC_SIGNALS___159 = 158,
    _SC_SPAWN___159 = 159,
    _SC_SPORADIC_SERVER___159 = 160,
    _SC_THREAD_SPORADIC_SERVER___159 = 161,
    _SC_SYSTEM_DATABASE___159 = 162,
    _SC_SYSTEM_DATABASE_R___159 = 163,
    _SC_TIMEOUTS___159 = 164,
    _SC_TYPED_MEMORY_OBJECTS___159 = 165,
    _SC_USER_GROUPS___159 = 166,
    _SC_USER_GROUPS_R___159 = 167,
    _SC_2_PBS___159 = 168,
    _SC_2_PBS_ACCOUNTING___159 = 169,
    _SC_2_PBS_LOCATE___159 = 170,
    _SC_2_PBS_MESSAGE___159 = 171,
    _SC_2_PBS_TRACK___159 = 172,
    _SC_SYMLOOP_MAX___159 = 173,
    _SC_STREAMS___159 = 174,
    _SC_2_PBS_CHECKPOINT___159 = 175,
    _SC_V6_ILP32_OFF32___159 = 176,
    _SC_V6_ILP32_OFFBIG___159 = 177,
    _SC_V6_LP64_OFF64___159 = 178,
    _SC_V6_LPBIG_OFFBIG___159 = 179,
    _SC_HOST_NAME_MAX___159 = 180,
    _SC_TRACE___159 = 181,
    _SC_TRACE_EVENT_FILTER___159 = 182,
    _SC_TRACE_INHERIT___159 = 183,
    _SC_TRACE_LOG___159 = 184,
    _SC_LEVEL1_ICACHE_SIZE___159 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___159 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___159 = 187,
    _SC_LEVEL1_DCACHE_SIZE___159 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___159 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___159 = 190,
    _SC_LEVEL2_CACHE_SIZE___159 = 191,
    _SC_LEVEL2_CACHE_ASSOC___159 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___159 = 193,
    _SC_LEVEL3_CACHE_SIZE___159 = 194,
    _SC_LEVEL3_CACHE_ASSOC___159 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___159 = 196,
    _SC_LEVEL4_CACHE_SIZE___159 = 197,
    _SC_LEVEL4_CACHE_ASSOC___159 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___159 = 199,
    _SC_IPV6___159 = 235,
    _SC_RAW_SOCKETS___159 = 236,
    _SC_V7_ILP32_OFF32___159 = 237,
    _SC_V7_ILP32_OFFBIG___159 = 238,
    _SC_V7_LP64_OFF64___159 = 239,
    _SC_V7_LPBIG_OFFBIG___159 = 240,
    _SC_SS_REPL_MAX___159 = 241,
    _SC_TRACE_EVENT_NAME_MAX___159 = 242,
    _SC_TRACE_NAME_MAX___159 = 243,
    _SC_TRACE_SYS_MAX___159 = 244,
    _SC_TRACE_USER_EVENT_MAX___159 = 245,
    _SC_XOPEN_STREAMS___159 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___159 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___159 = 248
} ;
enum __anonenum_875524036___159 {
    _CS_PATH___159 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___159 = 1,
    _CS_GNU_LIBC_VERSION___159 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___159 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___159 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___159 = 5,
    _CS_LFS_CFLAGS___159 = 1000,
    _CS_LFS_LDFLAGS___159 = 1001,
    _CS_LFS_LIBS___159 = 1002,
    _CS_LFS_LINTFLAGS___159 = 1003,
    _CS_LFS64_CFLAGS___159 = 1004,
    _CS_LFS64_LDFLAGS___159 = 1005,
    _CS_LFS64_LIBS___159 = 1006,
    _CS_LFS64_LINTFLAGS___159 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___159 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___159 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___159 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___159 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___159 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___159 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___159 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___159 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___159 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___159 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___159 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___159 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___159 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___159 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___159 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___159 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___159 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___159 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___159 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___159 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___159 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___159 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___159 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___159 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___159 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___159 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___159 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___159 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___159 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___159 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___159 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___159 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___159 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___159 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___159 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___159 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___159 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___159 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___159 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___159 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___159 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___159 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___159 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___159 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___159 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___159 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___159 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___159 = 1147,
    _CS_V6_ENV___159 = 1148,
    _CS_V7_ENV___159 = 1149
} ;
enum __anonenum_513775621___159 {
    DT_UNKNOWN___159 = 0,
    DT_FIFO___159 = 1,
    DT_CHR___159 = 2,
    DT_DIR___159 = 4,
    DT_BLK___159 = 6,
    DT_REG___159 = 8,
    DT_LNK___159 = 10,
    DT_SOCK___159 = 12,
    DT_WHT___159 = 14
} ;
enum __anonenum_77002343___159 {
    SI_ASYNCNL___159 = -60,
    SI_TKILL___159 = -6,
    SI_SIGIO___159 = -5,
    SI_ASYNCIO___159 = -4,
    SI_MESGQ___159 = -3,
    SI_TIMER___159 = -2,
    SI_QUEUE___159 = -1,
    SI_USER___159 = 0,
    SI_KERNEL___159 = 128
} ;
enum __anonenum_131038172___159 {
    ILL_ILLOPC___159 = 1,
    ILL_ILLOPN___159 = 2,
    ILL_ILLADR___159 = 3,
    ILL_ILLTRP___159 = 4,
    ILL_PRVOPC___159 = 5,
    ILL_PRVREG___159 = 6,
    ILL_COPROC___159 = 7,
    ILL_BADSTK___159 = 8
} ;
enum __anonenum_452038093___159 {
    FPE_INTDIV___159 = 1,
    FPE_INTOVF___159 = 2,
    FPE_FLTDIV___159 = 3,
    FPE_FLTOVF___159 = 4,
    FPE_FLTUND___159 = 5,
    FPE_FLTRES___159 = 6,
    FPE_FLTINV___159 = 7,
    FPE_FLTSUB___159 = 8
} ;
enum __anonenum_30976155___159 {
    SEGV_MAPERR___159 = 1,
    SEGV_ACCERR___159 = 2,
    SEGV_BNDERR___159 = 3,
    SEGV_PKUERR___159 = 4
} ;
enum __anonenum_1036286214___159 {
    BUS_ADRALN___159 = 1,
    BUS_ADRERR___159 = 2,
    BUS_OBJERR___159 = 3,
    BUS_MCEERR_AR___159 = 4,
    BUS_MCEERR_AO___159 = 5
} ;
enum __anonenum_493465559___159 {
    TRAP_BRKPT___159 = 1,
    TRAP_TRACE___159 = 2
} ;
enum __anonenum_23175539___159 {
    CLD_EXITED___159 = 1,
    CLD_KILLED___159 = 2,
    CLD_DUMPED___159 = 3,
    CLD_TRAPPED___159 = 4,
    CLD_STOPPED___159 = 5,
    CLD_CONTINUED___159 = 6
} ;
enum __anonenum_111643124___159 {
    POLL_IN___159 = 1,
    POLL_OUT___159 = 2,
    POLL_MSG___159 = 3,
    POLL_ERR___159 = 4,
    POLL_PRI___159 = 5,
    POLL_HUP___159 = 6
} ;
enum __anonenum_852341087___159 {
    SIGEV_SIGNAL___159 = 0,
    SIGEV_NONE___159 = 1,
    SIGEV_THREAD___159 = 2,
    SIGEV_THREAD_ID___159 = 4
} ;
enum __anonenum_451154152___159 {
    REG_R8___159 = 0,
    REG_R9___159 = 1,
    REG_R10___159 = 2,
    REG_R11___159 = 3,
    REG_R12___159 = 4,
    REG_R13___159 = 5,
    REG_R14___159 = 6,
    REG_R15___159 = 7,
    REG_RDI___159 = 8,
    REG_RSI___159 = 9,
    REG_RBP___159 = 10,
    REG_RBX___159 = 11,
    REG_RDX___159 = 12,
    REG_RAX___159 = 13,
    REG_RCX___159 = 14,
    REG_RSP___159 = 15,
    REG_RIP___159 = 16,
    REG_EFL___159 = 17,
    REG_CSGSFS___159 = 18,
    REG_ERR___159 = 19,
    REG_TRAPNO___159 = 20,
    REG_OLDMASK___159 = 21,
    REG_CR2___159 = 22
} ;
enum __anonenum_57186863___159 {
    SS_ONSTACK___159 = 1,
    SS_DISABLE___159 = 2
} ;
enum __anonenum_83571709___159 {
    MSG_OOB___159 = 1,
    MSG_PEEK___159 = 2,
    MSG_DONTROUTE___159 = 4,
    MSG_TRYHARD___159 = 4,
    MSG_CTRUNC___159 = 8,
    MSG_PROXY___159 = 16,
    MSG_TRUNC___159 = 32,
    MSG_DONTWAIT___159 = 64,
    MSG_EOR___159 = 128,
    MSG_WAITALL___159 = 256,
    MSG_FIN___159 = 512,
    MSG_SYN___159 = 1024,
    MSG_CONFIRM___159 = 2048,
    MSG_RST___159 = 4096,
    MSG_ERRQUEUE___159 = 8192,
    MSG_NOSIGNAL___159 = 16384,
    MSG_MORE___159 = 32768,
    MSG_WAITFORONE___159 = 65536,
    MSG_BATCH___159 = 262144,
    MSG_ZEROCOPY___159 = 67108864,
    MSG_FASTOPEN___159 = 536870912,
    MSG_CMSG_CLOEXEC___159 = 1073741824
} ;
enum __anonenum_617082774___159 {
    SCM_RIGHTS___159 = 1,
    SCM_CREDENTIALS___159 = 2
} ;
enum __anonenum_606441560___159 {
    SHUT_RD___159 = 0,
    SHUT_WR___159 = 1,
    SHUT_RDWR___159 = 2
} ;
enum __anonenum_681669233___159 {
    IPPROTO_IP___159 = 0,
    IPPROTO_ICMP___159 = 1,
    IPPROTO_IGMP___159 = 2,
    IPPROTO_IPIP___159 = 4,
    IPPROTO_TCP___159 = 6,
    IPPROTO_EGP___159 = 8,
    IPPROTO_PUP___159 = 12,
    IPPROTO_UDP___159 = 17,
    IPPROTO_IDP___159 = 22,
    IPPROTO_TP___159 = 29,
    IPPROTO_DCCP___159 = 33,
    IPPROTO_IPV6___159 = 41,
    IPPROTO_RSVP___159 = 46,
    IPPROTO_GRE___159 = 47,
    IPPROTO_ESP___159 = 50,
    IPPROTO_AH___159 = 51,
    IPPROTO_MTP___159 = 92,
    IPPROTO_BEETPH___159 = 94,
    IPPROTO_ENCAP___159 = 98,
    IPPROTO_PIM___159 = 103,
    IPPROTO_COMP___159 = 108,
    IPPROTO_SCTP___159 = 132,
    IPPROTO_UDPLITE___159 = 136,
    IPPROTO_MPLS___159 = 137,
    IPPROTO_RAW___159 = 255,
    IPPROTO_MAX___159 = 256
} ;
enum __anonenum_218739988___159 {
    IPPROTO_HOPOPTS___159 = 0,
    IPPROTO_ROUTING___159 = 43,
    IPPROTO_FRAGMENT___159 = 44,
    IPPROTO_ICMPV6___159 = 58,
    IPPROTO_NONE___159 = 59,
    IPPROTO_DSTOPTS___159 = 60,
    IPPROTO_MH___159 = 135
} ;
enum __anonenum_662268580___159 {
    IPPORT_ECHO___159 = 7,
    IPPORT_DISCARD___159 = 9,
    IPPORT_SYSTAT___159 = 11,
    IPPORT_DAYTIME___159 = 13,
    IPPORT_NETSTAT___159 = 15,
    IPPORT_FTP___159 = 21,
    IPPORT_TELNET___159 = 23,
    IPPORT_SMTP___159 = 25,
    IPPORT_TIMESERVER___159 = 37,
    IPPORT_NAMESERVER___159 = 42,
    IPPORT_WHOIS___159 = 43,
    IPPORT_MTP___159 = 57,
    IPPORT_TFTP___159 = 69,
    IPPORT_RJE___159 = 77,
    IPPORT_FINGER___159 = 79,
    IPPORT_TTYLINK___159 = 87,
    IPPORT_SUPDUP___159 = 95,
    IPPORT_EXECSERVER___159 = 512,
    IPPORT_LOGINSERVER___159 = 513,
    IPPORT_CMDSERVER___159 = 514,
    IPPORT_EFSSERVER___159 = 520,
    IPPORT_BIFFUDP___159 = 512,
    IPPORT_WHOSERVER___159 = 513,
    IPPORT_ROUTESERVER___159 = 520,
    IPPORT_RESERVED___159 = 1024,
    IPPORT_USERRESERVED___159 = 5000
} ;
enum __anonenum_788308992___159 {
    TCP_ESTABLISHED___159 = 1,
    TCP_SYN_SENT___159 = 2,
    TCP_SYN_RECV___159 = 3,
    TCP_FIN_WAIT1___159 = 4,
    TCP_FIN_WAIT2___159 = 5,
    TCP_TIME_WAIT___159 = 6,
    TCP_CLOSE___159 = 7,
    TCP_CLOSE_WAIT___159 = 8,
    TCP_LAST_ACK___159 = 9,
    TCP_LISTEN___159 = 10,
    TCP_CLOSING___159 = 11
} ;
enum __anonenum_221125648___159 {
    TCP_NO_QUEUE___159 = 0,
    TCP_RECV_QUEUE___159 = 1,
    TCP_SEND_QUEUE___159 = 2,
    TCP_QUEUES_NR___159 = 3
} ;
enum __anonenum_34415463___159 {
    PTHREAD_CREATE_JOINABLE___159 = 0,
    PTHREAD_CREATE_DETACHED___159 = 1
} ;
enum __anonenum_303612439___159 {
    PTHREAD_MUTEX_TIMED_NP___159 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___159 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___159 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___159 = 3,
    PTHREAD_MUTEX_NORMAL___159 = 0,
    PTHREAD_MUTEX_RECURSIVE___159 = 1,
    PTHREAD_MUTEX_ERRORCHECK___159 = 2,
    PTHREAD_MUTEX_DEFAULT___159 = 0,
    PTHREAD_MUTEX_FAST_NP___159 = 0
} ;
enum __anonenum_931900394___159 {
    PTHREAD_MUTEX_STALLED___159 = 0,
    PTHREAD_MUTEX_STALLED_NP___159 = 0,
    PTHREAD_MUTEX_ROBUST___159 = 1,
    PTHREAD_MUTEX_ROBUST_NP___159 = 1
} ;
enum __anonenum_205214487___159 {
    PTHREAD_PRIO_NONE___159 = 0,
    PTHREAD_PRIO_INHERIT___159 = 1,
    PTHREAD_PRIO_PROTECT___159 = 2
} ;
enum __anonenum_25043950___159 {
    PTHREAD_RWLOCK_PREFER_READER_NP___159 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___159 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___159 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___159 = 0
} ;
enum __anonenum_436439511___159 {
    PTHREAD_INHERIT_SCHED___159 = 0,
    PTHREAD_EXPLICIT_SCHED___159 = 1
} ;
enum __anonenum_998661166___159 {
    PTHREAD_SCOPE_SYSTEM___159 = 0,
    PTHREAD_SCOPE_PROCESS___159 = 1
} ;
enum __anonenum_146137331___159 {
    PTHREAD_PROCESS_PRIVATE___159 = 0,
    PTHREAD_PROCESS_SHARED___159 = 1
} ;
enum __anonenum_53396917___159 {
    PTHREAD_CANCEL_ENABLE___159 = 0,
    PTHREAD_CANCEL_DISABLE___159 = 1
} ;
enum __anonenum_904563783___159 {
    PTHREAD_CANCEL_DEFERRED___159 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___159 = 1
} ;
enum __anonenum_672052974___159 {
    SSL_CT_VALIDATION_PERMISSIVE___159 = 0,
    SSL_CT_VALIDATION_STRICT___159 = 1
} ;
enum mmap_strategy {
    MMAP_NONE = 0,
    MMAP_TEMPORARY = 1,
    MMAP_OK = 2
} ;
struct packed_ref_store ;
enum __anonenum_peeled_989500089 {
    PEELED_NONE = 0,
    PEELED_TAGS = 1,
    PEELED_FULLY = 2
} ;
struct snapshot {
   struct packed_ref_store *refs ;
   int mmapped ;
   char *buf ;
   char *start ;
   char *eof ;
   enum __anonenum_peeled_989500089 peeled ;
   unsigned int referrers ;
   struct stat_validity validity ;
};
struct packed_ref_store {
   struct ref_store base ;
   unsigned int store_flags ;
   char *path ;
   struct snapshot *snapshot ;
   struct lock_file lock ;
   struct tempfile *tempfile ;
};
struct snapshot_record {
   char const   *start ;
   size_t len ;
};
struct packed_ref_iterator {
   struct ref_iterator base ;
   struct snapshot *snapshot ;
   char const   *pos ;
   char const   *eof ;
   struct object_id oid ;
   struct object_id peeled ;
   struct strbuf refname_buf ;
   struct repository *repo ;
   unsigned int flags ;
};
struct packed_transaction_backend_data {
   int own_lock ;
   struct string_list updates ;
};
enum __anonenum_437032235___160 {
    _PC_LINK_MAX___160 = 0,
    _PC_MAX_CANON___160 = 1,
    _PC_MAX_INPUT___160 = 2,
    _PC_NAME_MAX___160 = 3,
    _PC_PATH_MAX___160 = 4,
    _PC_PIPE_BUF___160 = 5,
    _PC_CHOWN_RESTRICTED___160 = 6,
    _PC_NO_TRUNC___160 = 7,
    _PC_VDISABLE___160 = 8,
    _PC_SYNC_IO___160 = 9,
    _PC_ASYNC_IO___160 = 10,
    _PC_PRIO_IO___160 = 11,
    _PC_SOCK_MAXBUF___160 = 12,
    _PC_FILESIZEBITS___160 = 13,
    _PC_REC_INCR_XFER_SIZE___160 = 14,
    _PC_REC_MAX_XFER_SIZE___160 = 15,
    _PC_REC_MIN_XFER_SIZE___160 = 16,
    _PC_REC_XFER_ALIGN___160 = 17,
    _PC_ALLOC_SIZE_MIN___160 = 18,
    _PC_SYMLINK_MAX___160 = 19,
    _PC_2_SYMLINKS___160 = 20
} ;
enum __anonenum_315186338___160 {
    _SC_ARG_MAX___160 = 0,
    _SC_CHILD_MAX___160 = 1,
    _SC_CLK_TCK___160 = 2,
    _SC_NGROUPS_MAX___160 = 3,
    _SC_OPEN_MAX___160 = 4,
    _SC_STREAM_MAX___160 = 5,
    _SC_TZNAME_MAX___160 = 6,
    _SC_JOB_CONTROL___160 = 7,
    _SC_SAVED_IDS___160 = 8,
    _SC_REALTIME_SIGNALS___160 = 9,
    _SC_PRIORITY_SCHEDULING___160 = 10,
    _SC_TIMERS___160 = 11,
    _SC_ASYNCHRONOUS_IO___160 = 12,
    _SC_PRIORITIZED_IO___160 = 13,
    _SC_SYNCHRONIZED_IO___160 = 14,
    _SC_FSYNC___160 = 15,
    _SC_MAPPED_FILES___160 = 16,
    _SC_MEMLOCK___160 = 17,
    _SC_MEMLOCK_RANGE___160 = 18,
    _SC_MEMORY_PROTECTION___160 = 19,
    _SC_MESSAGE_PASSING___160 = 20,
    _SC_SEMAPHORES___160 = 21,
    _SC_SHARED_MEMORY_OBJECTS___160 = 22,
    _SC_AIO_LISTIO_MAX___160 = 23,
    _SC_AIO_MAX___160 = 24,
    _SC_AIO_PRIO_DELTA_MAX___160 = 25,
    _SC_DELAYTIMER_MAX___160 = 26,
    _SC_MQ_OPEN_MAX___160 = 27,
    _SC_MQ_PRIO_MAX___160 = 28,
    _SC_VERSION___160 = 29,
    _SC_PAGESIZE___160 = 30,
    _SC_RTSIG_MAX___160 = 31,
    _SC_SEM_NSEMS_MAX___160 = 32,
    _SC_SEM_VALUE_MAX___160 = 33,
    _SC_SIGQUEUE_MAX___160 = 34,
    _SC_TIMER_MAX___160 = 35,
    _SC_BC_BASE_MAX___160 = 36,
    _SC_BC_DIM_MAX___160 = 37,
    _SC_BC_SCALE_MAX___160 = 38,
    _SC_BC_STRING_MAX___160 = 39,
    _SC_COLL_WEIGHTS_MAX___160 = 40,
    _SC_EQUIV_CLASS_MAX___160 = 41,
    _SC_EXPR_NEST_MAX___160 = 42,
    _SC_LINE_MAX___160 = 43,
    _SC_RE_DUP_MAX___160 = 44,
    _SC_CHARCLASS_NAME_MAX___160 = 45,
    _SC_2_VERSION___160 = 46,
    _SC_2_C_BIND___160 = 47,
    _SC_2_C_DEV___160 = 48,
    _SC_2_FORT_DEV___160 = 49,
    _SC_2_FORT_RUN___160 = 50,
    _SC_2_SW_DEV___160 = 51,
    _SC_2_LOCALEDEF___160 = 52,
    _SC_PII___160 = 53,
    _SC_PII_XTI___160 = 54,
    _SC_PII_SOCKET___160 = 55,
    _SC_PII_INTERNET___160 = 56,
    _SC_PII_OSI___160 = 57,
    _SC_POLL___160 = 58,
    _SC_SELECT___160 = 59,
    _SC_UIO_MAXIOV___160 = 60,
    _SC_IOV_MAX___160 = 60,
    _SC_PII_INTERNET_STREAM___160 = 61,
    _SC_PII_INTERNET_DGRAM___160 = 62,
    _SC_PII_OSI_COTS___160 = 63,
    _SC_PII_OSI_CLTS___160 = 64,
    _SC_PII_OSI_M___160 = 65,
    _SC_T_IOV_MAX___160 = 66,
    _SC_THREADS___160 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___160 = 68,
    _SC_GETGR_R_SIZE_MAX___160 = 69,
    _SC_GETPW_R_SIZE_MAX___160 = 70,
    _SC_LOGIN_NAME_MAX___160 = 71,
    _SC_TTY_NAME_MAX___160 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___160 = 73,
    _SC_THREAD_KEYS_MAX___160 = 74,
    _SC_THREAD_STACK_MIN___160 = 75,
    _SC_THREAD_THREADS_MAX___160 = 76,
    _SC_THREAD_ATTR_STACKADDR___160 = 77,
    _SC_THREAD_ATTR_STACKSIZE___160 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___160 = 79,
    _SC_THREAD_PRIO_INHERIT___160 = 80,
    _SC_THREAD_PRIO_PROTECT___160 = 81,
    _SC_THREAD_PROCESS_SHARED___160 = 82,
    _SC_NPROCESSORS_CONF___160 = 83,
    _SC_NPROCESSORS_ONLN___160 = 84,
    _SC_PHYS_PAGES___160 = 85,
    _SC_AVPHYS_PAGES___160 = 86,
    _SC_ATEXIT_MAX___160 = 87,
    _SC_PASS_MAX___160 = 88,
    _SC_XOPEN_VERSION___160 = 89,
    _SC_XOPEN_XCU_VERSION___160 = 90,
    _SC_XOPEN_UNIX___160 = 91,
    _SC_XOPEN_CRYPT___160 = 92,
    _SC_XOPEN_ENH_I18N___160 = 93,
    _SC_XOPEN_SHM___160 = 94,
    _SC_2_CHAR_TERM___160 = 95,
    _SC_2_C_VERSION___160 = 96,
    _SC_2_UPE___160 = 97,
    _SC_XOPEN_XPG2___160 = 98,
    _SC_XOPEN_XPG3___160 = 99,
    _SC_XOPEN_XPG4___160 = 100,
    _SC_CHAR_BIT___160 = 101,
    _SC_CHAR_MAX___160 = 102,
    _SC_CHAR_MIN___160 = 103,
    _SC_INT_MAX___160 = 104,
    _SC_INT_MIN___160 = 105,
    _SC_LONG_BIT___160 = 106,
    _SC_WORD_BIT___160 = 107,
    _SC_MB_LEN_MAX___160 = 108,
    _SC_NZERO___160 = 109,
    _SC_SSIZE_MAX___160 = 110,
    _SC_SCHAR_MAX___160 = 111,
    _SC_SCHAR_MIN___160 = 112,
    _SC_SHRT_MAX___160 = 113,
    _SC_SHRT_MIN___160 = 114,
    _SC_UCHAR_MAX___160 = 115,
    _SC_UINT_MAX___160 = 116,
    _SC_ULONG_MAX___160 = 117,
    _SC_USHRT_MAX___160 = 118,
    _SC_NL_ARGMAX___160 = 119,
    _SC_NL_LANGMAX___160 = 120,
    _SC_NL_MSGMAX___160 = 121,
    _SC_NL_NMAX___160 = 122,
    _SC_NL_SETMAX___160 = 123,
    _SC_NL_TEXTMAX___160 = 124,
    _SC_XBS5_ILP32_OFF32___160 = 125,
    _SC_XBS5_ILP32_OFFBIG___160 = 126,
    _SC_XBS5_LP64_OFF64___160 = 127,
    _SC_XBS5_LPBIG_OFFBIG___160 = 128,
    _SC_XOPEN_LEGACY___160 = 129,
    _SC_XOPEN_REALTIME___160 = 130,
    _SC_XOPEN_REALTIME_THREADS___160 = 131,
    _SC_ADVISORY_INFO___160 = 132,
    _SC_BARRIERS___160 = 133,
    _SC_BASE___160 = 134,
    _SC_C_LANG_SUPPORT___160 = 135,
    _SC_C_LANG_SUPPORT_R___160 = 136,
    _SC_CLOCK_SELECTION___160 = 137,
    _SC_CPUTIME___160 = 138,
    _SC_THREAD_CPUTIME___160 = 139,
    _SC_DEVICE_IO___160 = 140,
    _SC_DEVICE_SPECIFIC___160 = 141,
    _SC_DEVICE_SPECIFIC_R___160 = 142,
    _SC_FD_MGMT___160 = 143,
    _SC_FIFO___160 = 144,
    _SC_PIPE___160 = 145,
    _SC_FILE_ATTRIBUTES___160 = 146,
    _SC_FILE_LOCKING___160 = 147,
    _SC_FILE_SYSTEM___160 = 148,
    _SC_MONOTONIC_CLOCK___160 = 149,
    _SC_MULTI_PROCESS___160 = 150,
    _SC_SINGLE_PROCESS___160 = 151,
    _SC_NETWORKING___160 = 152,
    _SC_READER_WRITER_LOCKS___160 = 153,
    _SC_SPIN_LOCKS___160 = 154,
    _SC_REGEXP___160 = 155,
    _SC_REGEX_VERSION___160 = 156,
    _SC_SHELL___160 = 157,
    _SC_SIGNALS___160 = 158,
    _SC_SPAWN___160 = 159,
    _SC_SPORADIC_SERVER___160 = 160,
    _SC_THREAD_SPORADIC_SERVER___160 = 161,
    _SC_SYSTEM_DATABASE___160 = 162,
    _SC_SYSTEM_DATABASE_R___160 = 163,
    _SC_TIMEOUTS___160 = 164,
    _SC_TYPED_MEMORY_OBJECTS___160 = 165,
    _SC_USER_GROUPS___160 = 166,
    _SC_USER_GROUPS_R___160 = 167,
    _SC_2_PBS___160 = 168,
    _SC_2_PBS_ACCOUNTING___160 = 169,
    _SC_2_PBS_LOCATE___160 = 170,
    _SC_2_PBS_MESSAGE___160 = 171,
    _SC_2_PBS_TRACK___160 = 172,
    _SC_SYMLOOP_MAX___160 = 173,
    _SC_STREAMS___160 = 174,
    _SC_2_PBS_CHECKPOINT___160 = 175,
    _SC_V6_ILP32_OFF32___160 = 176,
    _SC_V6_ILP32_OFFBIG___160 = 177,
    _SC_V6_LP64_OFF64___160 = 178,
    _SC_V6_LPBIG_OFFBIG___160 = 179,
    _SC_HOST_NAME_MAX___160 = 180,
    _SC_TRACE___160 = 181,
    _SC_TRACE_EVENT_FILTER___160 = 182,
    _SC_TRACE_INHERIT___160 = 183,
    _SC_TRACE_LOG___160 = 184,
    _SC_LEVEL1_ICACHE_SIZE___160 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___160 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___160 = 187,
    _SC_LEVEL1_DCACHE_SIZE___160 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___160 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___160 = 190,
    _SC_LEVEL2_CACHE_SIZE___160 = 191,
    _SC_LEVEL2_CACHE_ASSOC___160 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___160 = 193,
    _SC_LEVEL3_CACHE_SIZE___160 = 194,
    _SC_LEVEL3_CACHE_ASSOC___160 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___160 = 196,
    _SC_LEVEL4_CACHE_SIZE___160 = 197,
    _SC_LEVEL4_CACHE_ASSOC___160 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___160 = 199,
    _SC_IPV6___160 = 235,
    _SC_RAW_SOCKETS___160 = 236,
    _SC_V7_ILP32_OFF32___160 = 237,
    _SC_V7_ILP32_OFFBIG___160 = 238,
    _SC_V7_LP64_OFF64___160 = 239,
    _SC_V7_LPBIG_OFFBIG___160 = 240,
    _SC_SS_REPL_MAX___160 = 241,
    _SC_TRACE_EVENT_NAME_MAX___160 = 242,
    _SC_TRACE_NAME_MAX___160 = 243,
    _SC_TRACE_SYS_MAX___160 = 244,
    _SC_TRACE_USER_EVENT_MAX___160 = 245,
    _SC_XOPEN_STREAMS___160 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___160 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___160 = 248
} ;
enum __anonenum_875524036___160 {
    _CS_PATH___160 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___160 = 1,
    _CS_GNU_LIBC_VERSION___160 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___160 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___160 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___160 = 5,
    _CS_LFS_CFLAGS___160 = 1000,
    _CS_LFS_LDFLAGS___160 = 1001,
    _CS_LFS_LIBS___160 = 1002,
    _CS_LFS_LINTFLAGS___160 = 1003,
    _CS_LFS64_CFLAGS___160 = 1004,
    _CS_LFS64_LDFLAGS___160 = 1005,
    _CS_LFS64_LIBS___160 = 1006,
    _CS_LFS64_LINTFLAGS___160 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___160 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___160 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___160 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___160 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___160 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___160 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___160 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___160 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___160 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___160 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___160 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___160 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___160 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___160 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___160 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___160 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___160 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___160 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___160 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___160 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___160 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___160 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___160 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___160 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___160 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___160 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___160 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___160 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___160 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___160 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___160 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___160 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___160 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___160 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___160 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___160 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___160 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___160 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___160 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___160 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___160 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___160 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___160 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___160 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___160 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___160 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___160 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___160 = 1147,
    _CS_V6_ENV___160 = 1148,
    _CS_V7_ENV___160 = 1149
} ;
enum __anonenum_513775621___160 {
    DT_UNKNOWN___160 = 0,
    DT_FIFO___160 = 1,
    DT_CHR___160 = 2,
    DT_DIR___160 = 4,
    DT_BLK___160 = 6,
    DT_REG___160 = 8,
    DT_LNK___160 = 10,
    DT_SOCK___160 = 12,
    DT_WHT___160 = 14
} ;
enum __anonenum_77002343___160 {
    SI_ASYNCNL___160 = -60,
    SI_TKILL___160 = -6,
    SI_SIGIO___160 = -5,
    SI_ASYNCIO___160 = -4,
    SI_MESGQ___160 = -3,
    SI_TIMER___160 = -2,
    SI_QUEUE___160 = -1,
    SI_USER___160 = 0,
    SI_KERNEL___160 = 128
} ;
enum __anonenum_131038172___160 {
    ILL_ILLOPC___160 = 1,
    ILL_ILLOPN___160 = 2,
    ILL_ILLADR___160 = 3,
    ILL_ILLTRP___160 = 4,
    ILL_PRVOPC___160 = 5,
    ILL_PRVREG___160 = 6,
    ILL_COPROC___160 = 7,
    ILL_BADSTK___160 = 8
} ;
enum __anonenum_452038093___160 {
    FPE_INTDIV___160 = 1,
    FPE_INTOVF___160 = 2,
    FPE_FLTDIV___160 = 3,
    FPE_FLTOVF___160 = 4,
    FPE_FLTUND___160 = 5,
    FPE_FLTRES___160 = 6,
    FPE_FLTINV___160 = 7,
    FPE_FLTSUB___160 = 8
} ;
enum __anonenum_30976155___160 {
    SEGV_MAPERR___160 = 1,
    SEGV_ACCERR___160 = 2,
    SEGV_BNDERR___160 = 3,
    SEGV_PKUERR___160 = 4
} ;
enum __anonenum_1036286214___160 {
    BUS_ADRALN___160 = 1,
    BUS_ADRERR___160 = 2,
    BUS_OBJERR___160 = 3,
    BUS_MCEERR_AR___160 = 4,
    BUS_MCEERR_AO___160 = 5
} ;
enum __anonenum_493465559___160 {
    TRAP_BRKPT___160 = 1,
    TRAP_TRACE___160 = 2
} ;
enum __anonenum_23175539___160 {
    CLD_EXITED___160 = 1,
    CLD_KILLED___160 = 2,
    CLD_DUMPED___160 = 3,
    CLD_TRAPPED___160 = 4,
    CLD_STOPPED___160 = 5,
    CLD_CONTINUED___160 = 6
} ;
enum __anonenum_111643124___160 {
    POLL_IN___160 = 1,
    POLL_OUT___160 = 2,
    POLL_MSG___160 = 3,
    POLL_ERR___160 = 4,
    POLL_PRI___160 = 5,
    POLL_HUP___160 = 6
} ;
enum __anonenum_852341087___160 {
    SIGEV_SIGNAL___160 = 0,
    SIGEV_NONE___160 = 1,
    SIGEV_THREAD___160 = 2,
    SIGEV_THREAD_ID___160 = 4
} ;
enum __anonenum_451154152___160 {
    REG_R8___160 = 0,
    REG_R9___160 = 1,
    REG_R10___160 = 2,
    REG_R11___160 = 3,
    REG_R12___160 = 4,
    REG_R13___160 = 5,
    REG_R14___160 = 6,
    REG_R15___160 = 7,
    REG_RDI___160 = 8,
    REG_RSI___160 = 9,
    REG_RBP___160 = 10,
    REG_RBX___160 = 11,
    REG_RDX___160 = 12,
    REG_RAX___160 = 13,
    REG_RCX___160 = 14,
    REG_RSP___160 = 15,
    REG_RIP___160 = 16,
    REG_EFL___160 = 17,
    REG_CSGSFS___160 = 18,
    REG_ERR___160 = 19,
    REG_TRAPNO___160 = 20,
    REG_OLDMASK___160 = 21,
    REG_CR2___160 = 22
} ;
enum __anonenum_57186863___160 {
    SS_ONSTACK___160 = 1,
    SS_DISABLE___160 = 2
} ;
enum __anonenum_83571709___160 {
    MSG_OOB___160 = 1,
    MSG_PEEK___160 = 2,
    MSG_DONTROUTE___160 = 4,
    MSG_TRYHARD___160 = 4,
    MSG_CTRUNC___160 = 8,
    MSG_PROXY___160 = 16,
    MSG_TRUNC___160 = 32,
    MSG_DONTWAIT___160 = 64,
    MSG_EOR___160 = 128,
    MSG_WAITALL___160 = 256,
    MSG_FIN___160 = 512,
    MSG_SYN___160 = 1024,
    MSG_CONFIRM___160 = 2048,
    MSG_RST___160 = 4096,
    MSG_ERRQUEUE___160 = 8192,
    MSG_NOSIGNAL___160 = 16384,
    MSG_MORE___160 = 32768,
    MSG_WAITFORONE___160 = 65536,
    MSG_BATCH___160 = 262144,
    MSG_ZEROCOPY___160 = 67108864,
    MSG_FASTOPEN___160 = 536870912,
    MSG_CMSG_CLOEXEC___160 = 1073741824
} ;
enum __anonenum_617082774___160 {
    SCM_RIGHTS___160 = 1,
    SCM_CREDENTIALS___160 = 2
} ;
enum __anonenum_606441560___160 {
    SHUT_RD___160 = 0,
    SHUT_WR___160 = 1,
    SHUT_RDWR___160 = 2
} ;
enum __anonenum_681669233___160 {
    IPPROTO_IP___160 = 0,
    IPPROTO_ICMP___160 = 1,
    IPPROTO_IGMP___160 = 2,
    IPPROTO_IPIP___160 = 4,
    IPPROTO_TCP___160 = 6,
    IPPROTO_EGP___160 = 8,
    IPPROTO_PUP___160 = 12,
    IPPROTO_UDP___160 = 17,
    IPPROTO_IDP___160 = 22,
    IPPROTO_TP___160 = 29,
    IPPROTO_DCCP___160 = 33,
    IPPROTO_IPV6___160 = 41,
    IPPROTO_RSVP___160 = 46,
    IPPROTO_GRE___160 = 47,
    IPPROTO_ESP___160 = 50,
    IPPROTO_AH___160 = 51,
    IPPROTO_MTP___160 = 92,
    IPPROTO_BEETPH___160 = 94,
    IPPROTO_ENCAP___160 = 98,
    IPPROTO_PIM___160 = 103,
    IPPROTO_COMP___160 = 108,
    IPPROTO_SCTP___160 = 132,
    IPPROTO_UDPLITE___160 = 136,
    IPPROTO_MPLS___160 = 137,
    IPPROTO_RAW___160 = 255,
    IPPROTO_MAX___160 = 256
} ;
enum __anonenum_218739988___160 {
    IPPROTO_HOPOPTS___160 = 0,
    IPPROTO_ROUTING___160 = 43,
    IPPROTO_FRAGMENT___160 = 44,
    IPPROTO_ICMPV6___160 = 58,
    IPPROTO_NONE___160 = 59,
    IPPROTO_DSTOPTS___160 = 60,
    IPPROTO_MH___160 = 135
} ;
enum __anonenum_662268580___160 {
    IPPORT_ECHO___160 = 7,
    IPPORT_DISCARD___160 = 9,
    IPPORT_SYSTAT___160 = 11,
    IPPORT_DAYTIME___160 = 13,
    IPPORT_NETSTAT___160 = 15,
    IPPORT_FTP___160 = 21,
    IPPORT_TELNET___160 = 23,
    IPPORT_SMTP___160 = 25,
    IPPORT_TIMESERVER___160 = 37,
    IPPORT_NAMESERVER___160 = 42,
    IPPORT_WHOIS___160 = 43,
    IPPORT_MTP___160 = 57,
    IPPORT_TFTP___160 = 69,
    IPPORT_RJE___160 = 77,
    IPPORT_FINGER___160 = 79,
    IPPORT_TTYLINK___160 = 87,
    IPPORT_SUPDUP___160 = 95,
    IPPORT_EXECSERVER___160 = 512,
    IPPORT_LOGINSERVER___160 = 513,
    IPPORT_CMDSERVER___160 = 514,
    IPPORT_EFSSERVER___160 = 520,
    IPPORT_BIFFUDP___160 = 512,
    IPPORT_WHOSERVER___160 = 513,
    IPPORT_ROUTESERVER___160 = 520,
    IPPORT_RESERVED___160 = 1024,
    IPPORT_USERRESERVED___160 = 5000
} ;
enum __anonenum_788308992___160 {
    TCP_ESTABLISHED___160 = 1,
    TCP_SYN_SENT___160 = 2,
    TCP_SYN_RECV___160 = 3,
    TCP_FIN_WAIT1___160 = 4,
    TCP_FIN_WAIT2___160 = 5,
    TCP_TIME_WAIT___160 = 6,
    TCP_CLOSE___160 = 7,
    TCP_CLOSE_WAIT___160 = 8,
    TCP_LAST_ACK___160 = 9,
    TCP_LISTEN___160 = 10,
    TCP_CLOSING___160 = 11
} ;
enum __anonenum_221125648___160 {
    TCP_NO_QUEUE___160 = 0,
    TCP_RECV_QUEUE___160 = 1,
    TCP_SEND_QUEUE___160 = 2,
    TCP_QUEUES_NR___160 = 3
} ;
enum __anonenum_34415463___160 {
    PTHREAD_CREATE_JOINABLE___160 = 0,
    PTHREAD_CREATE_DETACHED___160 = 1
} ;
enum __anonenum_303612439___160 {
    PTHREAD_MUTEX_TIMED_NP___160 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___160 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___160 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___160 = 3,
    PTHREAD_MUTEX_NORMAL___160 = 0,
    PTHREAD_MUTEX_RECURSIVE___160 = 1,
    PTHREAD_MUTEX_ERRORCHECK___160 = 2,
    PTHREAD_MUTEX_DEFAULT___160 = 0,
    PTHREAD_MUTEX_FAST_NP___160 = 0
} ;
enum __anonenum_931900394___160 {
    PTHREAD_MUTEX_STALLED___160 = 0,
    PTHREAD_MUTEX_STALLED_NP___160 = 0,
    PTHREAD_MUTEX_ROBUST___160 = 1,
    PTHREAD_MUTEX_ROBUST_NP___160 = 1
} ;
enum __anonenum_205214487___160 {
    PTHREAD_PRIO_NONE___160 = 0,
    PTHREAD_PRIO_INHERIT___160 = 1,
    PTHREAD_PRIO_PROTECT___160 = 2
} ;
enum __anonenum_25043950___160 {
    PTHREAD_RWLOCK_PREFER_READER_NP___160 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___160 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___160 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___160 = 0
} ;
enum __anonenum_436439511___160 {
    PTHREAD_INHERIT_SCHED___160 = 0,
    PTHREAD_EXPLICIT_SCHED___160 = 1
} ;
enum __anonenum_998661166___160 {
    PTHREAD_SCOPE_SYSTEM___160 = 0,
    PTHREAD_SCOPE_PROCESS___160 = 1
} ;
enum __anonenum_146137331___160 {
    PTHREAD_PROCESS_PRIVATE___160 = 0,
    PTHREAD_PROCESS_SHARED___160 = 1
} ;
enum __anonenum_53396917___160 {
    PTHREAD_CANCEL_ENABLE___160 = 0,
    PTHREAD_CANCEL_DISABLE___160 = 1
} ;
enum __anonenum_904563783___160 {
    PTHREAD_CANCEL_DEFERRED___160 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___160 = 1
} ;
enum __anonenum_672052974___160 {
    SSL_CT_VALIDATION_PERMISSIVE___160 = 0,
    SSL_CT_VALIDATION_STRICT___160 = 1
} ;
struct string_slice {
   size_t len ;
   char const   *str ;
};
enum prefix_state {
    PREFIX_CONTAINS_DIR = 0,
    PREFIX_WITHIN_DIR = 1,
    PREFIX_EXCLUDES_DIR = 2
} ;
struct cache_ref_iterator_level {
   struct ref_dir *dir ;
   enum prefix_state prefix_state ;
   int index ;
};
struct cache_ref_iterator {
   struct ref_iterator base ;
   size_t levels_nr ;
   size_t levels_alloc ;
   char const   *prefix ;
   struct cache_ref_iterator_level *levels ;
   struct repository *repo ;
};
enum __anonenum_437032235___161 {
    _PC_LINK_MAX___161 = 0,
    _PC_MAX_CANON___161 = 1,
    _PC_MAX_INPUT___161 = 2,
    _PC_NAME_MAX___161 = 3,
    _PC_PATH_MAX___161 = 4,
    _PC_PIPE_BUF___161 = 5,
    _PC_CHOWN_RESTRICTED___161 = 6,
    _PC_NO_TRUNC___161 = 7,
    _PC_VDISABLE___161 = 8,
    _PC_SYNC_IO___161 = 9,
    _PC_ASYNC_IO___161 = 10,
    _PC_PRIO_IO___161 = 11,
    _PC_SOCK_MAXBUF___161 = 12,
    _PC_FILESIZEBITS___161 = 13,
    _PC_REC_INCR_XFER_SIZE___161 = 14,
    _PC_REC_MAX_XFER_SIZE___161 = 15,
    _PC_REC_MIN_XFER_SIZE___161 = 16,
    _PC_REC_XFER_ALIGN___161 = 17,
    _PC_ALLOC_SIZE_MIN___161 = 18,
    _PC_SYMLINK_MAX___161 = 19,
    _PC_2_SYMLINKS___161 = 20
} ;
enum __anonenum_315186338___161 {
    _SC_ARG_MAX___161 = 0,
    _SC_CHILD_MAX___161 = 1,
    _SC_CLK_TCK___161 = 2,
    _SC_NGROUPS_MAX___161 = 3,
    _SC_OPEN_MAX___161 = 4,
    _SC_STREAM_MAX___161 = 5,
    _SC_TZNAME_MAX___161 = 6,
    _SC_JOB_CONTROL___161 = 7,
    _SC_SAVED_IDS___161 = 8,
    _SC_REALTIME_SIGNALS___161 = 9,
    _SC_PRIORITY_SCHEDULING___161 = 10,
    _SC_TIMERS___161 = 11,
    _SC_ASYNCHRONOUS_IO___161 = 12,
    _SC_PRIORITIZED_IO___161 = 13,
    _SC_SYNCHRONIZED_IO___161 = 14,
    _SC_FSYNC___161 = 15,
    _SC_MAPPED_FILES___161 = 16,
    _SC_MEMLOCK___161 = 17,
    _SC_MEMLOCK_RANGE___161 = 18,
    _SC_MEMORY_PROTECTION___161 = 19,
    _SC_MESSAGE_PASSING___161 = 20,
    _SC_SEMAPHORES___161 = 21,
    _SC_SHARED_MEMORY_OBJECTS___161 = 22,
    _SC_AIO_LISTIO_MAX___161 = 23,
    _SC_AIO_MAX___161 = 24,
    _SC_AIO_PRIO_DELTA_MAX___161 = 25,
    _SC_DELAYTIMER_MAX___161 = 26,
    _SC_MQ_OPEN_MAX___161 = 27,
    _SC_MQ_PRIO_MAX___161 = 28,
    _SC_VERSION___161 = 29,
    _SC_PAGESIZE___161 = 30,
    _SC_RTSIG_MAX___161 = 31,
    _SC_SEM_NSEMS_MAX___161 = 32,
    _SC_SEM_VALUE_MAX___161 = 33,
    _SC_SIGQUEUE_MAX___161 = 34,
    _SC_TIMER_MAX___161 = 35,
    _SC_BC_BASE_MAX___161 = 36,
    _SC_BC_DIM_MAX___161 = 37,
    _SC_BC_SCALE_MAX___161 = 38,
    _SC_BC_STRING_MAX___161 = 39,
    _SC_COLL_WEIGHTS_MAX___161 = 40,
    _SC_EQUIV_CLASS_MAX___161 = 41,
    _SC_EXPR_NEST_MAX___161 = 42,
    _SC_LINE_MAX___161 = 43,
    _SC_RE_DUP_MAX___161 = 44,
    _SC_CHARCLASS_NAME_MAX___161 = 45,
    _SC_2_VERSION___161 = 46,
    _SC_2_C_BIND___161 = 47,
    _SC_2_C_DEV___161 = 48,
    _SC_2_FORT_DEV___161 = 49,
    _SC_2_FORT_RUN___161 = 50,
    _SC_2_SW_DEV___161 = 51,
    _SC_2_LOCALEDEF___161 = 52,
    _SC_PII___161 = 53,
    _SC_PII_XTI___161 = 54,
    _SC_PII_SOCKET___161 = 55,
    _SC_PII_INTERNET___161 = 56,
    _SC_PII_OSI___161 = 57,
    _SC_POLL___161 = 58,
    _SC_SELECT___161 = 59,
    _SC_UIO_MAXIOV___161 = 60,
    _SC_IOV_MAX___161 = 60,
    _SC_PII_INTERNET_STREAM___161 = 61,
    _SC_PII_INTERNET_DGRAM___161 = 62,
    _SC_PII_OSI_COTS___161 = 63,
    _SC_PII_OSI_CLTS___161 = 64,
    _SC_PII_OSI_M___161 = 65,
    _SC_T_IOV_MAX___161 = 66,
    _SC_THREADS___161 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___161 = 68,
    _SC_GETGR_R_SIZE_MAX___161 = 69,
    _SC_GETPW_R_SIZE_MAX___161 = 70,
    _SC_LOGIN_NAME_MAX___161 = 71,
    _SC_TTY_NAME_MAX___161 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___161 = 73,
    _SC_THREAD_KEYS_MAX___161 = 74,
    _SC_THREAD_STACK_MIN___161 = 75,
    _SC_THREAD_THREADS_MAX___161 = 76,
    _SC_THREAD_ATTR_STACKADDR___161 = 77,
    _SC_THREAD_ATTR_STACKSIZE___161 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___161 = 79,
    _SC_THREAD_PRIO_INHERIT___161 = 80,
    _SC_THREAD_PRIO_PROTECT___161 = 81,
    _SC_THREAD_PROCESS_SHARED___161 = 82,
    _SC_NPROCESSORS_CONF___161 = 83,
    _SC_NPROCESSORS_ONLN___161 = 84,
    _SC_PHYS_PAGES___161 = 85,
    _SC_AVPHYS_PAGES___161 = 86,
    _SC_ATEXIT_MAX___161 = 87,
    _SC_PASS_MAX___161 = 88,
    _SC_XOPEN_VERSION___161 = 89,
    _SC_XOPEN_XCU_VERSION___161 = 90,
    _SC_XOPEN_UNIX___161 = 91,
    _SC_XOPEN_CRYPT___161 = 92,
    _SC_XOPEN_ENH_I18N___161 = 93,
    _SC_XOPEN_SHM___161 = 94,
    _SC_2_CHAR_TERM___161 = 95,
    _SC_2_C_VERSION___161 = 96,
    _SC_2_UPE___161 = 97,
    _SC_XOPEN_XPG2___161 = 98,
    _SC_XOPEN_XPG3___161 = 99,
    _SC_XOPEN_XPG4___161 = 100,
    _SC_CHAR_BIT___161 = 101,
    _SC_CHAR_MAX___161 = 102,
    _SC_CHAR_MIN___161 = 103,
    _SC_INT_MAX___161 = 104,
    _SC_INT_MIN___161 = 105,
    _SC_LONG_BIT___161 = 106,
    _SC_WORD_BIT___161 = 107,
    _SC_MB_LEN_MAX___161 = 108,
    _SC_NZERO___161 = 109,
    _SC_SSIZE_MAX___161 = 110,
    _SC_SCHAR_MAX___161 = 111,
    _SC_SCHAR_MIN___161 = 112,
    _SC_SHRT_MAX___161 = 113,
    _SC_SHRT_MIN___161 = 114,
    _SC_UCHAR_MAX___161 = 115,
    _SC_UINT_MAX___161 = 116,
    _SC_ULONG_MAX___161 = 117,
    _SC_USHRT_MAX___161 = 118,
    _SC_NL_ARGMAX___161 = 119,
    _SC_NL_LANGMAX___161 = 120,
    _SC_NL_MSGMAX___161 = 121,
    _SC_NL_NMAX___161 = 122,
    _SC_NL_SETMAX___161 = 123,
    _SC_NL_TEXTMAX___161 = 124,
    _SC_XBS5_ILP32_OFF32___161 = 125,
    _SC_XBS5_ILP32_OFFBIG___161 = 126,
    _SC_XBS5_LP64_OFF64___161 = 127,
    _SC_XBS5_LPBIG_OFFBIG___161 = 128,
    _SC_XOPEN_LEGACY___161 = 129,
    _SC_XOPEN_REALTIME___161 = 130,
    _SC_XOPEN_REALTIME_THREADS___161 = 131,
    _SC_ADVISORY_INFO___161 = 132,
    _SC_BARRIERS___161 = 133,
    _SC_BASE___161 = 134,
    _SC_C_LANG_SUPPORT___161 = 135,
    _SC_C_LANG_SUPPORT_R___161 = 136,
    _SC_CLOCK_SELECTION___161 = 137,
    _SC_CPUTIME___161 = 138,
    _SC_THREAD_CPUTIME___161 = 139,
    _SC_DEVICE_IO___161 = 140,
    _SC_DEVICE_SPECIFIC___161 = 141,
    _SC_DEVICE_SPECIFIC_R___161 = 142,
    _SC_FD_MGMT___161 = 143,
    _SC_FIFO___161 = 144,
    _SC_PIPE___161 = 145,
    _SC_FILE_ATTRIBUTES___161 = 146,
    _SC_FILE_LOCKING___161 = 147,
    _SC_FILE_SYSTEM___161 = 148,
    _SC_MONOTONIC_CLOCK___161 = 149,
    _SC_MULTI_PROCESS___161 = 150,
    _SC_SINGLE_PROCESS___161 = 151,
    _SC_NETWORKING___161 = 152,
    _SC_READER_WRITER_LOCKS___161 = 153,
    _SC_SPIN_LOCKS___161 = 154,
    _SC_REGEXP___161 = 155,
    _SC_REGEX_VERSION___161 = 156,
    _SC_SHELL___161 = 157,
    _SC_SIGNALS___161 = 158,
    _SC_SPAWN___161 = 159,
    _SC_SPORADIC_SERVER___161 = 160,
    _SC_THREAD_SPORADIC_SERVER___161 = 161,
    _SC_SYSTEM_DATABASE___161 = 162,
    _SC_SYSTEM_DATABASE_R___161 = 163,
    _SC_TIMEOUTS___161 = 164,
    _SC_TYPED_MEMORY_OBJECTS___161 = 165,
    _SC_USER_GROUPS___161 = 166,
    _SC_USER_GROUPS_R___161 = 167,
    _SC_2_PBS___161 = 168,
    _SC_2_PBS_ACCOUNTING___161 = 169,
    _SC_2_PBS_LOCATE___161 = 170,
    _SC_2_PBS_MESSAGE___161 = 171,
    _SC_2_PBS_TRACK___161 = 172,
    _SC_SYMLOOP_MAX___161 = 173,
    _SC_STREAMS___161 = 174,
    _SC_2_PBS_CHECKPOINT___161 = 175,
    _SC_V6_ILP32_OFF32___161 = 176,
    _SC_V6_ILP32_OFFBIG___161 = 177,
    _SC_V6_LP64_OFF64___161 = 178,
    _SC_V6_LPBIG_OFFBIG___161 = 179,
    _SC_HOST_NAME_MAX___161 = 180,
    _SC_TRACE___161 = 181,
    _SC_TRACE_EVENT_FILTER___161 = 182,
    _SC_TRACE_INHERIT___161 = 183,
    _SC_TRACE_LOG___161 = 184,
    _SC_LEVEL1_ICACHE_SIZE___161 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___161 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___161 = 187,
    _SC_LEVEL1_DCACHE_SIZE___161 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___161 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___161 = 190,
    _SC_LEVEL2_CACHE_SIZE___161 = 191,
    _SC_LEVEL2_CACHE_ASSOC___161 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___161 = 193,
    _SC_LEVEL3_CACHE_SIZE___161 = 194,
    _SC_LEVEL3_CACHE_ASSOC___161 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___161 = 196,
    _SC_LEVEL4_CACHE_SIZE___161 = 197,
    _SC_LEVEL4_CACHE_ASSOC___161 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___161 = 199,
    _SC_IPV6___161 = 235,
    _SC_RAW_SOCKETS___161 = 236,
    _SC_V7_ILP32_OFF32___161 = 237,
    _SC_V7_ILP32_OFFBIG___161 = 238,
    _SC_V7_LP64_OFF64___161 = 239,
    _SC_V7_LPBIG_OFFBIG___161 = 240,
    _SC_SS_REPL_MAX___161 = 241,
    _SC_TRACE_EVENT_NAME_MAX___161 = 242,
    _SC_TRACE_NAME_MAX___161 = 243,
    _SC_TRACE_SYS_MAX___161 = 244,
    _SC_TRACE_USER_EVENT_MAX___161 = 245,
    _SC_XOPEN_STREAMS___161 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___161 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___161 = 248
} ;
enum __anonenum_875524036___161 {
    _CS_PATH___161 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___161 = 1,
    _CS_GNU_LIBC_VERSION___161 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___161 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___161 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___161 = 5,
    _CS_LFS_CFLAGS___161 = 1000,
    _CS_LFS_LDFLAGS___161 = 1001,
    _CS_LFS_LIBS___161 = 1002,
    _CS_LFS_LINTFLAGS___161 = 1003,
    _CS_LFS64_CFLAGS___161 = 1004,
    _CS_LFS64_LDFLAGS___161 = 1005,
    _CS_LFS64_LIBS___161 = 1006,
    _CS_LFS64_LINTFLAGS___161 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___161 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___161 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___161 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___161 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___161 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___161 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___161 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___161 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___161 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___161 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___161 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___161 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___161 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___161 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___161 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___161 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___161 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___161 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___161 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___161 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___161 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___161 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___161 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___161 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___161 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___161 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___161 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___161 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___161 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___161 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___161 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___161 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___161 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___161 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___161 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___161 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___161 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___161 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___161 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___161 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___161 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___161 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___161 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___161 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___161 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___161 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___161 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___161 = 1147,
    _CS_V6_ENV___161 = 1148,
    _CS_V7_ENV___161 = 1149
} ;
enum __anonenum_513775621___161 {
    DT_UNKNOWN___161 = 0,
    DT_FIFO___161 = 1,
    DT_CHR___161 = 2,
    DT_DIR___161 = 4,
    DT_BLK___161 = 6,
    DT_REG___161 = 8,
    DT_LNK___161 = 10,
    DT_SOCK___161 = 12,
    DT_WHT___161 = 14
} ;
enum __anonenum_77002343___161 {
    SI_ASYNCNL___161 = -60,
    SI_TKILL___161 = -6,
    SI_SIGIO___161 = -5,
    SI_ASYNCIO___161 = -4,
    SI_MESGQ___161 = -3,
    SI_TIMER___161 = -2,
    SI_QUEUE___161 = -1,
    SI_USER___161 = 0,
    SI_KERNEL___161 = 128
} ;
enum __anonenum_131038172___161 {
    ILL_ILLOPC___161 = 1,
    ILL_ILLOPN___161 = 2,
    ILL_ILLADR___161 = 3,
    ILL_ILLTRP___161 = 4,
    ILL_PRVOPC___161 = 5,
    ILL_PRVREG___161 = 6,
    ILL_COPROC___161 = 7,
    ILL_BADSTK___161 = 8
} ;
enum __anonenum_452038093___161 {
    FPE_INTDIV___161 = 1,
    FPE_INTOVF___161 = 2,
    FPE_FLTDIV___161 = 3,
    FPE_FLTOVF___161 = 4,
    FPE_FLTUND___161 = 5,
    FPE_FLTRES___161 = 6,
    FPE_FLTINV___161 = 7,
    FPE_FLTSUB___161 = 8
} ;
enum __anonenum_30976155___161 {
    SEGV_MAPERR___161 = 1,
    SEGV_ACCERR___161 = 2,
    SEGV_BNDERR___161 = 3,
    SEGV_PKUERR___161 = 4
} ;
enum __anonenum_1036286214___161 {
    BUS_ADRALN___161 = 1,
    BUS_ADRERR___161 = 2,
    BUS_OBJERR___161 = 3,
    BUS_MCEERR_AR___161 = 4,
    BUS_MCEERR_AO___161 = 5
} ;
enum __anonenum_493465559___161 {
    TRAP_BRKPT___161 = 1,
    TRAP_TRACE___161 = 2
} ;
enum __anonenum_23175539___161 {
    CLD_EXITED___161 = 1,
    CLD_KILLED___161 = 2,
    CLD_DUMPED___161 = 3,
    CLD_TRAPPED___161 = 4,
    CLD_STOPPED___161 = 5,
    CLD_CONTINUED___161 = 6
} ;
enum __anonenum_111643124___161 {
    POLL_IN___161 = 1,
    POLL_OUT___161 = 2,
    POLL_MSG___161 = 3,
    POLL_ERR___161 = 4,
    POLL_PRI___161 = 5,
    POLL_HUP___161 = 6
} ;
enum __anonenum_852341087___161 {
    SIGEV_SIGNAL___161 = 0,
    SIGEV_NONE___161 = 1,
    SIGEV_THREAD___161 = 2,
    SIGEV_THREAD_ID___161 = 4
} ;
enum __anonenum_451154152___161 {
    REG_R8___161 = 0,
    REG_R9___161 = 1,
    REG_R10___161 = 2,
    REG_R11___161 = 3,
    REG_R12___161 = 4,
    REG_R13___161 = 5,
    REG_R14___161 = 6,
    REG_R15___161 = 7,
    REG_RDI___161 = 8,
    REG_RSI___161 = 9,
    REG_RBP___161 = 10,
    REG_RBX___161 = 11,
    REG_RDX___161 = 12,
    REG_RAX___161 = 13,
    REG_RCX___161 = 14,
    REG_RSP___161 = 15,
    REG_RIP___161 = 16,
    REG_EFL___161 = 17,
    REG_CSGSFS___161 = 18,
    REG_ERR___161 = 19,
    REG_TRAPNO___161 = 20,
    REG_OLDMASK___161 = 21,
    REG_CR2___161 = 22
} ;
enum __anonenum_57186863___161 {
    SS_ONSTACK___161 = 1,
    SS_DISABLE___161 = 2
} ;
enum __anonenum_83571709___161 {
    MSG_OOB___161 = 1,
    MSG_PEEK___161 = 2,
    MSG_DONTROUTE___161 = 4,
    MSG_TRYHARD___161 = 4,
    MSG_CTRUNC___161 = 8,
    MSG_PROXY___161 = 16,
    MSG_TRUNC___161 = 32,
    MSG_DONTWAIT___161 = 64,
    MSG_EOR___161 = 128,
    MSG_WAITALL___161 = 256,
    MSG_FIN___161 = 512,
    MSG_SYN___161 = 1024,
    MSG_CONFIRM___161 = 2048,
    MSG_RST___161 = 4096,
    MSG_ERRQUEUE___161 = 8192,
    MSG_NOSIGNAL___161 = 16384,
    MSG_MORE___161 = 32768,
    MSG_WAITFORONE___161 = 65536,
    MSG_BATCH___161 = 262144,
    MSG_ZEROCOPY___161 = 67108864,
    MSG_FASTOPEN___161 = 536870912,
    MSG_CMSG_CLOEXEC___161 = 1073741824
} ;
enum __anonenum_617082774___161 {
    SCM_RIGHTS___161 = 1,
    SCM_CREDENTIALS___161 = 2
} ;
enum __anonenum_606441560___161 {
    SHUT_RD___161 = 0,
    SHUT_WR___161 = 1,
    SHUT_RDWR___161 = 2
} ;
enum __anonenum_681669233___161 {
    IPPROTO_IP___161 = 0,
    IPPROTO_ICMP___161 = 1,
    IPPROTO_IGMP___161 = 2,
    IPPROTO_IPIP___161 = 4,
    IPPROTO_TCP___161 = 6,
    IPPROTO_EGP___161 = 8,
    IPPROTO_PUP___161 = 12,
    IPPROTO_UDP___161 = 17,
    IPPROTO_IDP___161 = 22,
    IPPROTO_TP___161 = 29,
    IPPROTO_DCCP___161 = 33,
    IPPROTO_IPV6___161 = 41,
    IPPROTO_RSVP___161 = 46,
    IPPROTO_GRE___161 = 47,
    IPPROTO_ESP___161 = 50,
    IPPROTO_AH___161 = 51,
    IPPROTO_MTP___161 = 92,
    IPPROTO_BEETPH___161 = 94,
    IPPROTO_ENCAP___161 = 98,
    IPPROTO_PIM___161 = 103,
    IPPROTO_COMP___161 = 108,
    IPPROTO_SCTP___161 = 132,
    IPPROTO_UDPLITE___161 = 136,
    IPPROTO_MPLS___161 = 137,
    IPPROTO_RAW___161 = 255,
    IPPROTO_MAX___161 = 256
} ;
enum __anonenum_218739988___161 {
    IPPROTO_HOPOPTS___161 = 0,
    IPPROTO_ROUTING___161 = 43,
    IPPROTO_FRAGMENT___161 = 44,
    IPPROTO_ICMPV6___161 = 58,
    IPPROTO_NONE___161 = 59,
    IPPROTO_DSTOPTS___161 = 60,
    IPPROTO_MH___161 = 135
} ;
enum __anonenum_662268580___161 {
    IPPORT_ECHO___161 = 7,
    IPPORT_DISCARD___161 = 9,
    IPPORT_SYSTAT___161 = 11,
    IPPORT_DAYTIME___161 = 13,
    IPPORT_NETSTAT___161 = 15,
    IPPORT_FTP___161 = 21,
    IPPORT_TELNET___161 = 23,
    IPPORT_SMTP___161 = 25,
    IPPORT_TIMESERVER___161 = 37,
    IPPORT_NAMESERVER___161 = 42,
    IPPORT_WHOIS___161 = 43,
    IPPORT_MTP___161 = 57,
    IPPORT_TFTP___161 = 69,
    IPPORT_RJE___161 = 77,
    IPPORT_FINGER___161 = 79,
    IPPORT_TTYLINK___161 = 87,
    IPPORT_SUPDUP___161 = 95,
    IPPORT_EXECSERVER___161 = 512,
    IPPORT_LOGINSERVER___161 = 513,
    IPPORT_CMDSERVER___161 = 514,
    IPPORT_EFSSERVER___161 = 520,
    IPPORT_BIFFUDP___161 = 512,
    IPPORT_WHOSERVER___161 = 513,
    IPPORT_ROUTESERVER___161 = 520,
    IPPORT_RESERVED___161 = 1024,
    IPPORT_USERRESERVED___161 = 5000
} ;
enum __anonenum_788308992___161 {
    TCP_ESTABLISHED___161 = 1,
    TCP_SYN_SENT___161 = 2,
    TCP_SYN_RECV___161 = 3,
    TCP_FIN_WAIT1___161 = 4,
    TCP_FIN_WAIT2___161 = 5,
    TCP_TIME_WAIT___161 = 6,
    TCP_CLOSE___161 = 7,
    TCP_CLOSE_WAIT___161 = 8,
    TCP_LAST_ACK___161 = 9,
    TCP_LISTEN___161 = 10,
    TCP_CLOSING___161 = 11
} ;
enum __anonenum_221125648___161 {
    TCP_NO_QUEUE___161 = 0,
    TCP_RECV_QUEUE___161 = 1,
    TCP_SEND_QUEUE___161 = 2,
    TCP_QUEUES_NR___161 = 3
} ;
enum __anonenum_34415463___161 {
    PTHREAD_CREATE_JOINABLE___161 = 0,
    PTHREAD_CREATE_DETACHED___161 = 1
} ;
enum __anonenum_303612439___161 {
    PTHREAD_MUTEX_TIMED_NP___161 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___161 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___161 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___161 = 3,
    PTHREAD_MUTEX_NORMAL___161 = 0,
    PTHREAD_MUTEX_RECURSIVE___161 = 1,
    PTHREAD_MUTEX_ERRORCHECK___161 = 2,
    PTHREAD_MUTEX_DEFAULT___161 = 0,
    PTHREAD_MUTEX_FAST_NP___161 = 0
} ;
enum __anonenum_931900394___161 {
    PTHREAD_MUTEX_STALLED___161 = 0,
    PTHREAD_MUTEX_STALLED_NP___161 = 0,
    PTHREAD_MUTEX_ROBUST___161 = 1,
    PTHREAD_MUTEX_ROBUST_NP___161 = 1
} ;
enum __anonenum_205214487___161 {
    PTHREAD_PRIO_NONE___161 = 0,
    PTHREAD_PRIO_INHERIT___161 = 1,
    PTHREAD_PRIO_PROTECT___161 = 2
} ;
enum __anonenum_25043950___161 {
    PTHREAD_RWLOCK_PREFER_READER_NP___161 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___161 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___161 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___161 = 0
} ;
enum __anonenum_436439511___161 {
    PTHREAD_INHERIT_SCHED___161 = 0,
    PTHREAD_EXPLICIT_SCHED___161 = 1
} ;
enum __anonenum_998661166___161 {
    PTHREAD_SCOPE_SYSTEM___161 = 0,
    PTHREAD_SCOPE_PROCESS___161 = 1
} ;
enum __anonenum_146137331___161 {
    PTHREAD_PROCESS_PRIVATE___161 = 0,
    PTHREAD_PROCESS_SHARED___161 = 1
} ;
enum __anonenum_53396917___161 {
    PTHREAD_CANCEL_ENABLE___161 = 0,
    PTHREAD_CANCEL_DISABLE___161 = 1
} ;
enum __anonenum_904563783___161 {
    PTHREAD_CANCEL_DEFERRED___161 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___161 = 1
} ;
enum __anonenum_672052974___161 {
    SSL_CT_VALIDATION_PERMISSIVE___161 = 0,
    SSL_CT_VALIDATION_STRICT___161 = 1
} ;
enum __anonenum_437032235___162 {
    _PC_LINK_MAX___162 = 0,
    _PC_MAX_CANON___162 = 1,
    _PC_MAX_INPUT___162 = 2,
    _PC_NAME_MAX___162 = 3,
    _PC_PATH_MAX___162 = 4,
    _PC_PIPE_BUF___162 = 5,
    _PC_CHOWN_RESTRICTED___162 = 6,
    _PC_NO_TRUNC___162 = 7,
    _PC_VDISABLE___162 = 8,
    _PC_SYNC_IO___162 = 9,
    _PC_ASYNC_IO___162 = 10,
    _PC_PRIO_IO___162 = 11,
    _PC_SOCK_MAXBUF___162 = 12,
    _PC_FILESIZEBITS___162 = 13,
    _PC_REC_INCR_XFER_SIZE___162 = 14,
    _PC_REC_MAX_XFER_SIZE___162 = 15,
    _PC_REC_MIN_XFER_SIZE___162 = 16,
    _PC_REC_XFER_ALIGN___162 = 17,
    _PC_ALLOC_SIZE_MIN___162 = 18,
    _PC_SYMLINK_MAX___162 = 19,
    _PC_2_SYMLINKS___162 = 20
} ;
enum __anonenum_315186338___162 {
    _SC_ARG_MAX___162 = 0,
    _SC_CHILD_MAX___162 = 1,
    _SC_CLK_TCK___162 = 2,
    _SC_NGROUPS_MAX___162 = 3,
    _SC_OPEN_MAX___162 = 4,
    _SC_STREAM_MAX___162 = 5,
    _SC_TZNAME_MAX___162 = 6,
    _SC_JOB_CONTROL___162 = 7,
    _SC_SAVED_IDS___162 = 8,
    _SC_REALTIME_SIGNALS___162 = 9,
    _SC_PRIORITY_SCHEDULING___162 = 10,
    _SC_TIMERS___162 = 11,
    _SC_ASYNCHRONOUS_IO___162 = 12,
    _SC_PRIORITIZED_IO___162 = 13,
    _SC_SYNCHRONIZED_IO___162 = 14,
    _SC_FSYNC___162 = 15,
    _SC_MAPPED_FILES___162 = 16,
    _SC_MEMLOCK___162 = 17,
    _SC_MEMLOCK_RANGE___162 = 18,
    _SC_MEMORY_PROTECTION___162 = 19,
    _SC_MESSAGE_PASSING___162 = 20,
    _SC_SEMAPHORES___162 = 21,
    _SC_SHARED_MEMORY_OBJECTS___162 = 22,
    _SC_AIO_LISTIO_MAX___162 = 23,
    _SC_AIO_MAX___162 = 24,
    _SC_AIO_PRIO_DELTA_MAX___162 = 25,
    _SC_DELAYTIMER_MAX___162 = 26,
    _SC_MQ_OPEN_MAX___162 = 27,
    _SC_MQ_PRIO_MAX___162 = 28,
    _SC_VERSION___162 = 29,
    _SC_PAGESIZE___162 = 30,
    _SC_RTSIG_MAX___162 = 31,
    _SC_SEM_NSEMS_MAX___162 = 32,
    _SC_SEM_VALUE_MAX___162 = 33,
    _SC_SIGQUEUE_MAX___162 = 34,
    _SC_TIMER_MAX___162 = 35,
    _SC_BC_BASE_MAX___162 = 36,
    _SC_BC_DIM_MAX___162 = 37,
    _SC_BC_SCALE_MAX___162 = 38,
    _SC_BC_STRING_MAX___162 = 39,
    _SC_COLL_WEIGHTS_MAX___162 = 40,
    _SC_EQUIV_CLASS_MAX___162 = 41,
    _SC_EXPR_NEST_MAX___162 = 42,
    _SC_LINE_MAX___162 = 43,
    _SC_RE_DUP_MAX___162 = 44,
    _SC_CHARCLASS_NAME_MAX___162 = 45,
    _SC_2_VERSION___162 = 46,
    _SC_2_C_BIND___162 = 47,
    _SC_2_C_DEV___162 = 48,
    _SC_2_FORT_DEV___162 = 49,
    _SC_2_FORT_RUN___162 = 50,
    _SC_2_SW_DEV___162 = 51,
    _SC_2_LOCALEDEF___162 = 52,
    _SC_PII___162 = 53,
    _SC_PII_XTI___162 = 54,
    _SC_PII_SOCKET___162 = 55,
    _SC_PII_INTERNET___162 = 56,
    _SC_PII_OSI___162 = 57,
    _SC_POLL___162 = 58,
    _SC_SELECT___162 = 59,
    _SC_UIO_MAXIOV___162 = 60,
    _SC_IOV_MAX___162 = 60,
    _SC_PII_INTERNET_STREAM___162 = 61,
    _SC_PII_INTERNET_DGRAM___162 = 62,
    _SC_PII_OSI_COTS___162 = 63,
    _SC_PII_OSI_CLTS___162 = 64,
    _SC_PII_OSI_M___162 = 65,
    _SC_T_IOV_MAX___162 = 66,
    _SC_THREADS___162 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___162 = 68,
    _SC_GETGR_R_SIZE_MAX___162 = 69,
    _SC_GETPW_R_SIZE_MAX___162 = 70,
    _SC_LOGIN_NAME_MAX___162 = 71,
    _SC_TTY_NAME_MAX___162 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___162 = 73,
    _SC_THREAD_KEYS_MAX___162 = 74,
    _SC_THREAD_STACK_MIN___162 = 75,
    _SC_THREAD_THREADS_MAX___162 = 76,
    _SC_THREAD_ATTR_STACKADDR___162 = 77,
    _SC_THREAD_ATTR_STACKSIZE___162 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___162 = 79,
    _SC_THREAD_PRIO_INHERIT___162 = 80,
    _SC_THREAD_PRIO_PROTECT___162 = 81,
    _SC_THREAD_PROCESS_SHARED___162 = 82,
    _SC_NPROCESSORS_CONF___162 = 83,
    _SC_NPROCESSORS_ONLN___162 = 84,
    _SC_PHYS_PAGES___162 = 85,
    _SC_AVPHYS_PAGES___162 = 86,
    _SC_ATEXIT_MAX___162 = 87,
    _SC_PASS_MAX___162 = 88,
    _SC_XOPEN_VERSION___162 = 89,
    _SC_XOPEN_XCU_VERSION___162 = 90,
    _SC_XOPEN_UNIX___162 = 91,
    _SC_XOPEN_CRYPT___162 = 92,
    _SC_XOPEN_ENH_I18N___162 = 93,
    _SC_XOPEN_SHM___162 = 94,
    _SC_2_CHAR_TERM___162 = 95,
    _SC_2_C_VERSION___162 = 96,
    _SC_2_UPE___162 = 97,
    _SC_XOPEN_XPG2___162 = 98,
    _SC_XOPEN_XPG3___162 = 99,
    _SC_XOPEN_XPG4___162 = 100,
    _SC_CHAR_BIT___162 = 101,
    _SC_CHAR_MAX___162 = 102,
    _SC_CHAR_MIN___162 = 103,
    _SC_INT_MAX___162 = 104,
    _SC_INT_MIN___162 = 105,
    _SC_LONG_BIT___162 = 106,
    _SC_WORD_BIT___162 = 107,
    _SC_MB_LEN_MAX___162 = 108,
    _SC_NZERO___162 = 109,
    _SC_SSIZE_MAX___162 = 110,
    _SC_SCHAR_MAX___162 = 111,
    _SC_SCHAR_MIN___162 = 112,
    _SC_SHRT_MAX___162 = 113,
    _SC_SHRT_MIN___162 = 114,
    _SC_UCHAR_MAX___162 = 115,
    _SC_UINT_MAX___162 = 116,
    _SC_ULONG_MAX___162 = 117,
    _SC_USHRT_MAX___162 = 118,
    _SC_NL_ARGMAX___162 = 119,
    _SC_NL_LANGMAX___162 = 120,
    _SC_NL_MSGMAX___162 = 121,
    _SC_NL_NMAX___162 = 122,
    _SC_NL_SETMAX___162 = 123,
    _SC_NL_TEXTMAX___162 = 124,
    _SC_XBS5_ILP32_OFF32___162 = 125,
    _SC_XBS5_ILP32_OFFBIG___162 = 126,
    _SC_XBS5_LP64_OFF64___162 = 127,
    _SC_XBS5_LPBIG_OFFBIG___162 = 128,
    _SC_XOPEN_LEGACY___162 = 129,
    _SC_XOPEN_REALTIME___162 = 130,
    _SC_XOPEN_REALTIME_THREADS___162 = 131,
    _SC_ADVISORY_INFO___162 = 132,
    _SC_BARRIERS___162 = 133,
    _SC_BASE___162 = 134,
    _SC_C_LANG_SUPPORT___162 = 135,
    _SC_C_LANG_SUPPORT_R___162 = 136,
    _SC_CLOCK_SELECTION___162 = 137,
    _SC_CPUTIME___162 = 138,
    _SC_THREAD_CPUTIME___162 = 139,
    _SC_DEVICE_IO___162 = 140,
    _SC_DEVICE_SPECIFIC___162 = 141,
    _SC_DEVICE_SPECIFIC_R___162 = 142,
    _SC_FD_MGMT___162 = 143,
    _SC_FIFO___162 = 144,
    _SC_PIPE___162 = 145,
    _SC_FILE_ATTRIBUTES___162 = 146,
    _SC_FILE_LOCKING___162 = 147,
    _SC_FILE_SYSTEM___162 = 148,
    _SC_MONOTONIC_CLOCK___162 = 149,
    _SC_MULTI_PROCESS___162 = 150,
    _SC_SINGLE_PROCESS___162 = 151,
    _SC_NETWORKING___162 = 152,
    _SC_READER_WRITER_LOCKS___162 = 153,
    _SC_SPIN_LOCKS___162 = 154,
    _SC_REGEXP___162 = 155,
    _SC_REGEX_VERSION___162 = 156,
    _SC_SHELL___162 = 157,
    _SC_SIGNALS___162 = 158,
    _SC_SPAWN___162 = 159,
    _SC_SPORADIC_SERVER___162 = 160,
    _SC_THREAD_SPORADIC_SERVER___162 = 161,
    _SC_SYSTEM_DATABASE___162 = 162,
    _SC_SYSTEM_DATABASE_R___162 = 163,
    _SC_TIMEOUTS___162 = 164,
    _SC_TYPED_MEMORY_OBJECTS___162 = 165,
    _SC_USER_GROUPS___162 = 166,
    _SC_USER_GROUPS_R___162 = 167,
    _SC_2_PBS___162 = 168,
    _SC_2_PBS_ACCOUNTING___162 = 169,
    _SC_2_PBS_LOCATE___162 = 170,
    _SC_2_PBS_MESSAGE___162 = 171,
    _SC_2_PBS_TRACK___162 = 172,
    _SC_SYMLOOP_MAX___162 = 173,
    _SC_STREAMS___162 = 174,
    _SC_2_PBS_CHECKPOINT___162 = 175,
    _SC_V6_ILP32_OFF32___162 = 176,
    _SC_V6_ILP32_OFFBIG___162 = 177,
    _SC_V6_LP64_OFF64___162 = 178,
    _SC_V6_LPBIG_OFFBIG___162 = 179,
    _SC_HOST_NAME_MAX___162 = 180,
    _SC_TRACE___162 = 181,
    _SC_TRACE_EVENT_FILTER___162 = 182,
    _SC_TRACE_INHERIT___162 = 183,
    _SC_TRACE_LOG___162 = 184,
    _SC_LEVEL1_ICACHE_SIZE___162 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___162 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___162 = 187,
    _SC_LEVEL1_DCACHE_SIZE___162 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___162 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___162 = 190,
    _SC_LEVEL2_CACHE_SIZE___162 = 191,
    _SC_LEVEL2_CACHE_ASSOC___162 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___162 = 193,
    _SC_LEVEL3_CACHE_SIZE___162 = 194,
    _SC_LEVEL3_CACHE_ASSOC___162 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___162 = 196,
    _SC_LEVEL4_CACHE_SIZE___162 = 197,
    _SC_LEVEL4_CACHE_ASSOC___162 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___162 = 199,
    _SC_IPV6___162 = 235,
    _SC_RAW_SOCKETS___162 = 236,
    _SC_V7_ILP32_OFF32___162 = 237,
    _SC_V7_ILP32_OFFBIG___162 = 238,
    _SC_V7_LP64_OFF64___162 = 239,
    _SC_V7_LPBIG_OFFBIG___162 = 240,
    _SC_SS_REPL_MAX___162 = 241,
    _SC_TRACE_EVENT_NAME_MAX___162 = 242,
    _SC_TRACE_NAME_MAX___162 = 243,
    _SC_TRACE_SYS_MAX___162 = 244,
    _SC_TRACE_USER_EVENT_MAX___162 = 245,
    _SC_XOPEN_STREAMS___162 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___162 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___162 = 248
} ;
enum __anonenum_875524036___162 {
    _CS_PATH___162 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___162 = 1,
    _CS_GNU_LIBC_VERSION___162 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___162 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___162 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___162 = 5,
    _CS_LFS_CFLAGS___162 = 1000,
    _CS_LFS_LDFLAGS___162 = 1001,
    _CS_LFS_LIBS___162 = 1002,
    _CS_LFS_LINTFLAGS___162 = 1003,
    _CS_LFS64_CFLAGS___162 = 1004,
    _CS_LFS64_LDFLAGS___162 = 1005,
    _CS_LFS64_LIBS___162 = 1006,
    _CS_LFS64_LINTFLAGS___162 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___162 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___162 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___162 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___162 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___162 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___162 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___162 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___162 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___162 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___162 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___162 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___162 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___162 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___162 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___162 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___162 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___162 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___162 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___162 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___162 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___162 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___162 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___162 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___162 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___162 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___162 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___162 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___162 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___162 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___162 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___162 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___162 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___162 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___162 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___162 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___162 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___162 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___162 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___162 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___162 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___162 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___162 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___162 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___162 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___162 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___162 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___162 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___162 = 1147,
    _CS_V6_ENV___162 = 1148,
    _CS_V7_ENV___162 = 1149
} ;
enum __anonenum_513775621___162 {
    DT_UNKNOWN___162 = 0,
    DT_FIFO___162 = 1,
    DT_CHR___162 = 2,
    DT_DIR___162 = 4,
    DT_BLK___162 = 6,
    DT_REG___162 = 8,
    DT_LNK___162 = 10,
    DT_SOCK___162 = 12,
    DT_WHT___162 = 14
} ;
enum __anonenum_77002343___162 {
    SI_ASYNCNL___162 = -60,
    SI_TKILL___162 = -6,
    SI_SIGIO___162 = -5,
    SI_ASYNCIO___162 = -4,
    SI_MESGQ___162 = -3,
    SI_TIMER___162 = -2,
    SI_QUEUE___162 = -1,
    SI_USER___162 = 0,
    SI_KERNEL___162 = 128
} ;
enum __anonenum_131038172___162 {
    ILL_ILLOPC___162 = 1,
    ILL_ILLOPN___162 = 2,
    ILL_ILLADR___162 = 3,
    ILL_ILLTRP___162 = 4,
    ILL_PRVOPC___162 = 5,
    ILL_PRVREG___162 = 6,
    ILL_COPROC___162 = 7,
    ILL_BADSTK___162 = 8
} ;
enum __anonenum_452038093___162 {
    FPE_INTDIV___162 = 1,
    FPE_INTOVF___162 = 2,
    FPE_FLTDIV___162 = 3,
    FPE_FLTOVF___162 = 4,
    FPE_FLTUND___162 = 5,
    FPE_FLTRES___162 = 6,
    FPE_FLTINV___162 = 7,
    FPE_FLTSUB___162 = 8
} ;
enum __anonenum_30976155___162 {
    SEGV_MAPERR___162 = 1,
    SEGV_ACCERR___162 = 2,
    SEGV_BNDERR___162 = 3,
    SEGV_PKUERR___162 = 4
} ;
enum __anonenum_1036286214___162 {
    BUS_ADRALN___162 = 1,
    BUS_ADRERR___162 = 2,
    BUS_OBJERR___162 = 3,
    BUS_MCEERR_AR___162 = 4,
    BUS_MCEERR_AO___162 = 5
} ;
enum __anonenum_493465559___162 {
    TRAP_BRKPT___162 = 1,
    TRAP_TRACE___162 = 2
} ;
enum __anonenum_23175539___162 {
    CLD_EXITED___162 = 1,
    CLD_KILLED___162 = 2,
    CLD_DUMPED___162 = 3,
    CLD_TRAPPED___162 = 4,
    CLD_STOPPED___162 = 5,
    CLD_CONTINUED___162 = 6
} ;
enum __anonenum_111643124___162 {
    POLL_IN___162 = 1,
    POLL_OUT___162 = 2,
    POLL_MSG___162 = 3,
    POLL_ERR___162 = 4,
    POLL_PRI___162 = 5,
    POLL_HUP___162 = 6
} ;
enum __anonenum_852341087___162 {
    SIGEV_SIGNAL___162 = 0,
    SIGEV_NONE___162 = 1,
    SIGEV_THREAD___162 = 2,
    SIGEV_THREAD_ID___162 = 4
} ;
enum __anonenum_451154152___162 {
    REG_R8___162 = 0,
    REG_R9___162 = 1,
    REG_R10___162 = 2,
    REG_R11___162 = 3,
    REG_R12___162 = 4,
    REG_R13___162 = 5,
    REG_R14___162 = 6,
    REG_R15___162 = 7,
    REG_RDI___162 = 8,
    REG_RSI___162 = 9,
    REG_RBP___162 = 10,
    REG_RBX___162 = 11,
    REG_RDX___162 = 12,
    REG_RAX___162 = 13,
    REG_RCX___162 = 14,
    REG_RSP___162 = 15,
    REG_RIP___162 = 16,
    REG_EFL___162 = 17,
    REG_CSGSFS___162 = 18,
    REG_ERR___162 = 19,
    REG_TRAPNO___162 = 20,
    REG_OLDMASK___162 = 21,
    REG_CR2___162 = 22
} ;
enum __anonenum_57186863___162 {
    SS_ONSTACK___162 = 1,
    SS_DISABLE___162 = 2
} ;
enum __anonenum_83571709___162 {
    MSG_OOB___162 = 1,
    MSG_PEEK___162 = 2,
    MSG_DONTROUTE___162 = 4,
    MSG_TRYHARD___162 = 4,
    MSG_CTRUNC___162 = 8,
    MSG_PROXY___162 = 16,
    MSG_TRUNC___162 = 32,
    MSG_DONTWAIT___162 = 64,
    MSG_EOR___162 = 128,
    MSG_WAITALL___162 = 256,
    MSG_FIN___162 = 512,
    MSG_SYN___162 = 1024,
    MSG_CONFIRM___162 = 2048,
    MSG_RST___162 = 4096,
    MSG_ERRQUEUE___162 = 8192,
    MSG_NOSIGNAL___162 = 16384,
    MSG_MORE___162 = 32768,
    MSG_WAITFORONE___162 = 65536,
    MSG_BATCH___162 = 262144,
    MSG_ZEROCOPY___162 = 67108864,
    MSG_FASTOPEN___162 = 536870912,
    MSG_CMSG_CLOEXEC___162 = 1073741824
} ;
enum __anonenum_617082774___162 {
    SCM_RIGHTS___162 = 1,
    SCM_CREDENTIALS___162 = 2
} ;
enum __anonenum_606441560___162 {
    SHUT_RD___162 = 0,
    SHUT_WR___162 = 1,
    SHUT_RDWR___162 = 2
} ;
enum __anonenum_681669233___162 {
    IPPROTO_IP___162 = 0,
    IPPROTO_ICMP___162 = 1,
    IPPROTO_IGMP___162 = 2,
    IPPROTO_IPIP___162 = 4,
    IPPROTO_TCP___162 = 6,
    IPPROTO_EGP___162 = 8,
    IPPROTO_PUP___162 = 12,
    IPPROTO_UDP___162 = 17,
    IPPROTO_IDP___162 = 22,
    IPPROTO_TP___162 = 29,
    IPPROTO_DCCP___162 = 33,
    IPPROTO_IPV6___162 = 41,
    IPPROTO_RSVP___162 = 46,
    IPPROTO_GRE___162 = 47,
    IPPROTO_ESP___162 = 50,
    IPPROTO_AH___162 = 51,
    IPPROTO_MTP___162 = 92,
    IPPROTO_BEETPH___162 = 94,
    IPPROTO_ENCAP___162 = 98,
    IPPROTO_PIM___162 = 103,
    IPPROTO_COMP___162 = 108,
    IPPROTO_SCTP___162 = 132,
    IPPROTO_UDPLITE___162 = 136,
    IPPROTO_MPLS___162 = 137,
    IPPROTO_RAW___162 = 255,
    IPPROTO_MAX___162 = 256
} ;
enum __anonenum_218739988___162 {
    IPPROTO_HOPOPTS___162 = 0,
    IPPROTO_ROUTING___162 = 43,
    IPPROTO_FRAGMENT___162 = 44,
    IPPROTO_ICMPV6___162 = 58,
    IPPROTO_NONE___162 = 59,
    IPPROTO_DSTOPTS___162 = 60,
    IPPROTO_MH___162 = 135
} ;
enum __anonenum_662268580___162 {
    IPPORT_ECHO___162 = 7,
    IPPORT_DISCARD___162 = 9,
    IPPORT_SYSTAT___162 = 11,
    IPPORT_DAYTIME___162 = 13,
    IPPORT_NETSTAT___162 = 15,
    IPPORT_FTP___162 = 21,
    IPPORT_TELNET___162 = 23,
    IPPORT_SMTP___162 = 25,
    IPPORT_TIMESERVER___162 = 37,
    IPPORT_NAMESERVER___162 = 42,
    IPPORT_WHOIS___162 = 43,
    IPPORT_MTP___162 = 57,
    IPPORT_TFTP___162 = 69,
    IPPORT_RJE___162 = 77,
    IPPORT_FINGER___162 = 79,
    IPPORT_TTYLINK___162 = 87,
    IPPORT_SUPDUP___162 = 95,
    IPPORT_EXECSERVER___162 = 512,
    IPPORT_LOGINSERVER___162 = 513,
    IPPORT_CMDSERVER___162 = 514,
    IPPORT_EFSSERVER___162 = 520,
    IPPORT_BIFFUDP___162 = 512,
    IPPORT_WHOSERVER___162 = 513,
    IPPORT_ROUTESERVER___162 = 520,
    IPPORT_RESERVED___162 = 1024,
    IPPORT_USERRESERVED___162 = 5000
} ;
enum __anonenum_788308992___162 {
    TCP_ESTABLISHED___162 = 1,
    TCP_SYN_SENT___162 = 2,
    TCP_SYN_RECV___162 = 3,
    TCP_FIN_WAIT1___162 = 4,
    TCP_FIN_WAIT2___162 = 5,
    TCP_TIME_WAIT___162 = 6,
    TCP_CLOSE___162 = 7,
    TCP_CLOSE_WAIT___162 = 8,
    TCP_LAST_ACK___162 = 9,
    TCP_LISTEN___162 = 10,
    TCP_CLOSING___162 = 11
} ;
enum __anonenum_221125648___162 {
    TCP_NO_QUEUE___162 = 0,
    TCP_RECV_QUEUE___162 = 1,
    TCP_SEND_QUEUE___162 = 2,
    TCP_QUEUES_NR___162 = 3
} ;
enum __anonenum_34415463___162 {
    PTHREAD_CREATE_JOINABLE___162 = 0,
    PTHREAD_CREATE_DETACHED___162 = 1
} ;
enum __anonenum_303612439___162 {
    PTHREAD_MUTEX_TIMED_NP___162 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___162 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___162 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___162 = 3,
    PTHREAD_MUTEX_NORMAL___162 = 0,
    PTHREAD_MUTEX_RECURSIVE___162 = 1,
    PTHREAD_MUTEX_ERRORCHECK___162 = 2,
    PTHREAD_MUTEX_DEFAULT___162 = 0,
    PTHREAD_MUTEX_FAST_NP___162 = 0
} ;
enum __anonenum_931900394___162 {
    PTHREAD_MUTEX_STALLED___162 = 0,
    PTHREAD_MUTEX_STALLED_NP___162 = 0,
    PTHREAD_MUTEX_ROBUST___162 = 1,
    PTHREAD_MUTEX_ROBUST_NP___162 = 1
} ;
enum __anonenum_205214487___162 {
    PTHREAD_PRIO_NONE___162 = 0,
    PTHREAD_PRIO_INHERIT___162 = 1,
    PTHREAD_PRIO_PROTECT___162 = 2
} ;
enum __anonenum_25043950___162 {
    PTHREAD_RWLOCK_PREFER_READER_NP___162 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___162 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___162 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___162 = 0
} ;
enum __anonenum_436439511___162 {
    PTHREAD_INHERIT_SCHED___162 = 0,
    PTHREAD_EXPLICIT_SCHED___162 = 1
} ;
enum __anonenum_998661166___162 {
    PTHREAD_SCOPE_SYSTEM___162 = 0,
    PTHREAD_SCOPE_PROCESS___162 = 1
} ;
enum __anonenum_146137331___162 {
    PTHREAD_PROCESS_PRIVATE___162 = 0,
    PTHREAD_PROCESS_SHARED___162 = 1
} ;
enum __anonenum_53396917___162 {
    PTHREAD_CANCEL_ENABLE___162 = 0,
    PTHREAD_CANCEL_DISABLE___162 = 1
} ;
enum __anonenum_904563783___162 {
    PTHREAD_CANCEL_DEFERRED___162 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___162 = 1
} ;
enum __anonenum_672052974___162 {
    SSL_CT_VALIDATION_PERMISSIVE___162 = 0,
    SSL_CT_VALIDATION_STRICT___162 = 1
} ;
enum __anonenum_34023289___12 {
    REMOTE_UNCONFIGURED___12 = 0,
    REMOTE_CONFIG___12 = 1,
    REMOTE_REMOTES___12 = 2,
    REMOTE_BRANCHES___12 = 3
} ;
enum map_direction {
    FROM_SRC = 0,
    FROM_DST = 1
} ;
struct counted_string {
   size_t len ;
   char const   *s ;
};
struct remotes_hash_key {
   char const   *str ;
   int len ;
};
struct branches_hash_key {
   char const   *str ;
   int len ;
};
struct tips {
   struct commit **tip ;
   int nr ;
   int alloc ;
};
struct stale_heads_info {
   struct string_list *ref_names ;
   struct ref **stale_refs_tail ;
   struct refspec *rs ;
};
struct reflog_commit_array {
   struct commit **item ;
   size_t nr ;
   size_t alloc ;
};
struct check_and_collect_until_cb_data {
   struct commit *remote_commit ;
   struct reflog_commit_array *local_commits ;
   timestamp_t remote_reflog_timestamp ;
};
enum __anonenum_437032235___163 {
    _PC_LINK_MAX___163 = 0,
    _PC_MAX_CANON___163 = 1,
    _PC_MAX_INPUT___163 = 2,
    _PC_NAME_MAX___163 = 3,
    _PC_PATH_MAX___163 = 4,
    _PC_PIPE_BUF___163 = 5,
    _PC_CHOWN_RESTRICTED___163 = 6,
    _PC_NO_TRUNC___163 = 7,
    _PC_VDISABLE___163 = 8,
    _PC_SYNC_IO___163 = 9,
    _PC_ASYNC_IO___163 = 10,
    _PC_PRIO_IO___163 = 11,
    _PC_SOCK_MAXBUF___163 = 12,
    _PC_FILESIZEBITS___163 = 13,
    _PC_REC_INCR_XFER_SIZE___163 = 14,
    _PC_REC_MAX_XFER_SIZE___163 = 15,
    _PC_REC_MIN_XFER_SIZE___163 = 16,
    _PC_REC_XFER_ALIGN___163 = 17,
    _PC_ALLOC_SIZE_MIN___163 = 18,
    _PC_SYMLINK_MAX___163 = 19,
    _PC_2_SYMLINKS___163 = 20
} ;
enum __anonenum_315186338___163 {
    _SC_ARG_MAX___163 = 0,
    _SC_CHILD_MAX___163 = 1,
    _SC_CLK_TCK___163 = 2,
    _SC_NGROUPS_MAX___163 = 3,
    _SC_OPEN_MAX___163 = 4,
    _SC_STREAM_MAX___163 = 5,
    _SC_TZNAME_MAX___163 = 6,
    _SC_JOB_CONTROL___163 = 7,
    _SC_SAVED_IDS___163 = 8,
    _SC_REALTIME_SIGNALS___163 = 9,
    _SC_PRIORITY_SCHEDULING___163 = 10,
    _SC_TIMERS___163 = 11,
    _SC_ASYNCHRONOUS_IO___163 = 12,
    _SC_PRIORITIZED_IO___163 = 13,
    _SC_SYNCHRONIZED_IO___163 = 14,
    _SC_FSYNC___163 = 15,
    _SC_MAPPED_FILES___163 = 16,
    _SC_MEMLOCK___163 = 17,
    _SC_MEMLOCK_RANGE___163 = 18,
    _SC_MEMORY_PROTECTION___163 = 19,
    _SC_MESSAGE_PASSING___163 = 20,
    _SC_SEMAPHORES___163 = 21,
    _SC_SHARED_MEMORY_OBJECTS___163 = 22,
    _SC_AIO_LISTIO_MAX___163 = 23,
    _SC_AIO_MAX___163 = 24,
    _SC_AIO_PRIO_DELTA_MAX___163 = 25,
    _SC_DELAYTIMER_MAX___163 = 26,
    _SC_MQ_OPEN_MAX___163 = 27,
    _SC_MQ_PRIO_MAX___163 = 28,
    _SC_VERSION___163 = 29,
    _SC_PAGESIZE___163 = 30,
    _SC_RTSIG_MAX___163 = 31,
    _SC_SEM_NSEMS_MAX___163 = 32,
    _SC_SEM_VALUE_MAX___163 = 33,
    _SC_SIGQUEUE_MAX___163 = 34,
    _SC_TIMER_MAX___163 = 35,
    _SC_BC_BASE_MAX___163 = 36,
    _SC_BC_DIM_MAX___163 = 37,
    _SC_BC_SCALE_MAX___163 = 38,
    _SC_BC_STRING_MAX___163 = 39,
    _SC_COLL_WEIGHTS_MAX___163 = 40,
    _SC_EQUIV_CLASS_MAX___163 = 41,
    _SC_EXPR_NEST_MAX___163 = 42,
    _SC_LINE_MAX___163 = 43,
    _SC_RE_DUP_MAX___163 = 44,
    _SC_CHARCLASS_NAME_MAX___163 = 45,
    _SC_2_VERSION___163 = 46,
    _SC_2_C_BIND___163 = 47,
    _SC_2_C_DEV___163 = 48,
    _SC_2_FORT_DEV___163 = 49,
    _SC_2_FORT_RUN___163 = 50,
    _SC_2_SW_DEV___163 = 51,
    _SC_2_LOCALEDEF___163 = 52,
    _SC_PII___163 = 53,
    _SC_PII_XTI___163 = 54,
    _SC_PII_SOCKET___163 = 55,
    _SC_PII_INTERNET___163 = 56,
    _SC_PII_OSI___163 = 57,
    _SC_POLL___163 = 58,
    _SC_SELECT___163 = 59,
    _SC_UIO_MAXIOV___163 = 60,
    _SC_IOV_MAX___163 = 60,
    _SC_PII_INTERNET_STREAM___163 = 61,
    _SC_PII_INTERNET_DGRAM___163 = 62,
    _SC_PII_OSI_COTS___163 = 63,
    _SC_PII_OSI_CLTS___163 = 64,
    _SC_PII_OSI_M___163 = 65,
    _SC_T_IOV_MAX___163 = 66,
    _SC_THREADS___163 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___163 = 68,
    _SC_GETGR_R_SIZE_MAX___163 = 69,
    _SC_GETPW_R_SIZE_MAX___163 = 70,
    _SC_LOGIN_NAME_MAX___163 = 71,
    _SC_TTY_NAME_MAX___163 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___163 = 73,
    _SC_THREAD_KEYS_MAX___163 = 74,
    _SC_THREAD_STACK_MIN___163 = 75,
    _SC_THREAD_THREADS_MAX___163 = 76,
    _SC_THREAD_ATTR_STACKADDR___163 = 77,
    _SC_THREAD_ATTR_STACKSIZE___163 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___163 = 79,
    _SC_THREAD_PRIO_INHERIT___163 = 80,
    _SC_THREAD_PRIO_PROTECT___163 = 81,
    _SC_THREAD_PROCESS_SHARED___163 = 82,
    _SC_NPROCESSORS_CONF___163 = 83,
    _SC_NPROCESSORS_ONLN___163 = 84,
    _SC_PHYS_PAGES___163 = 85,
    _SC_AVPHYS_PAGES___163 = 86,
    _SC_ATEXIT_MAX___163 = 87,
    _SC_PASS_MAX___163 = 88,
    _SC_XOPEN_VERSION___163 = 89,
    _SC_XOPEN_XCU_VERSION___163 = 90,
    _SC_XOPEN_UNIX___163 = 91,
    _SC_XOPEN_CRYPT___163 = 92,
    _SC_XOPEN_ENH_I18N___163 = 93,
    _SC_XOPEN_SHM___163 = 94,
    _SC_2_CHAR_TERM___163 = 95,
    _SC_2_C_VERSION___163 = 96,
    _SC_2_UPE___163 = 97,
    _SC_XOPEN_XPG2___163 = 98,
    _SC_XOPEN_XPG3___163 = 99,
    _SC_XOPEN_XPG4___163 = 100,
    _SC_CHAR_BIT___163 = 101,
    _SC_CHAR_MAX___163 = 102,
    _SC_CHAR_MIN___163 = 103,
    _SC_INT_MAX___163 = 104,
    _SC_INT_MIN___163 = 105,
    _SC_LONG_BIT___163 = 106,
    _SC_WORD_BIT___163 = 107,
    _SC_MB_LEN_MAX___163 = 108,
    _SC_NZERO___163 = 109,
    _SC_SSIZE_MAX___163 = 110,
    _SC_SCHAR_MAX___163 = 111,
    _SC_SCHAR_MIN___163 = 112,
    _SC_SHRT_MAX___163 = 113,
    _SC_SHRT_MIN___163 = 114,
    _SC_UCHAR_MAX___163 = 115,
    _SC_UINT_MAX___163 = 116,
    _SC_ULONG_MAX___163 = 117,
    _SC_USHRT_MAX___163 = 118,
    _SC_NL_ARGMAX___163 = 119,
    _SC_NL_LANGMAX___163 = 120,
    _SC_NL_MSGMAX___163 = 121,
    _SC_NL_NMAX___163 = 122,
    _SC_NL_SETMAX___163 = 123,
    _SC_NL_TEXTMAX___163 = 124,
    _SC_XBS5_ILP32_OFF32___163 = 125,
    _SC_XBS5_ILP32_OFFBIG___163 = 126,
    _SC_XBS5_LP64_OFF64___163 = 127,
    _SC_XBS5_LPBIG_OFFBIG___163 = 128,
    _SC_XOPEN_LEGACY___163 = 129,
    _SC_XOPEN_REALTIME___163 = 130,
    _SC_XOPEN_REALTIME_THREADS___163 = 131,
    _SC_ADVISORY_INFO___163 = 132,
    _SC_BARRIERS___163 = 133,
    _SC_BASE___163 = 134,
    _SC_C_LANG_SUPPORT___163 = 135,
    _SC_C_LANG_SUPPORT_R___163 = 136,
    _SC_CLOCK_SELECTION___163 = 137,
    _SC_CPUTIME___163 = 138,
    _SC_THREAD_CPUTIME___163 = 139,
    _SC_DEVICE_IO___163 = 140,
    _SC_DEVICE_SPECIFIC___163 = 141,
    _SC_DEVICE_SPECIFIC_R___163 = 142,
    _SC_FD_MGMT___163 = 143,
    _SC_FIFO___163 = 144,
    _SC_PIPE___163 = 145,
    _SC_FILE_ATTRIBUTES___163 = 146,
    _SC_FILE_LOCKING___163 = 147,
    _SC_FILE_SYSTEM___163 = 148,
    _SC_MONOTONIC_CLOCK___163 = 149,
    _SC_MULTI_PROCESS___163 = 150,
    _SC_SINGLE_PROCESS___163 = 151,
    _SC_NETWORKING___163 = 152,
    _SC_READER_WRITER_LOCKS___163 = 153,
    _SC_SPIN_LOCKS___163 = 154,
    _SC_REGEXP___163 = 155,
    _SC_REGEX_VERSION___163 = 156,
    _SC_SHELL___163 = 157,
    _SC_SIGNALS___163 = 158,
    _SC_SPAWN___163 = 159,
    _SC_SPORADIC_SERVER___163 = 160,
    _SC_THREAD_SPORADIC_SERVER___163 = 161,
    _SC_SYSTEM_DATABASE___163 = 162,
    _SC_SYSTEM_DATABASE_R___163 = 163,
    _SC_TIMEOUTS___163 = 164,
    _SC_TYPED_MEMORY_OBJECTS___163 = 165,
    _SC_USER_GROUPS___163 = 166,
    _SC_USER_GROUPS_R___163 = 167,
    _SC_2_PBS___163 = 168,
    _SC_2_PBS_ACCOUNTING___163 = 169,
    _SC_2_PBS_LOCATE___163 = 170,
    _SC_2_PBS_MESSAGE___163 = 171,
    _SC_2_PBS_TRACK___163 = 172,
    _SC_SYMLOOP_MAX___163 = 173,
    _SC_STREAMS___163 = 174,
    _SC_2_PBS_CHECKPOINT___163 = 175,
    _SC_V6_ILP32_OFF32___163 = 176,
    _SC_V6_ILP32_OFFBIG___163 = 177,
    _SC_V6_LP64_OFF64___163 = 178,
    _SC_V6_LPBIG_OFFBIG___163 = 179,
    _SC_HOST_NAME_MAX___163 = 180,
    _SC_TRACE___163 = 181,
    _SC_TRACE_EVENT_FILTER___163 = 182,
    _SC_TRACE_INHERIT___163 = 183,
    _SC_TRACE_LOG___163 = 184,
    _SC_LEVEL1_ICACHE_SIZE___163 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___163 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___163 = 187,
    _SC_LEVEL1_DCACHE_SIZE___163 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___163 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___163 = 190,
    _SC_LEVEL2_CACHE_SIZE___163 = 191,
    _SC_LEVEL2_CACHE_ASSOC___163 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___163 = 193,
    _SC_LEVEL3_CACHE_SIZE___163 = 194,
    _SC_LEVEL3_CACHE_ASSOC___163 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___163 = 196,
    _SC_LEVEL4_CACHE_SIZE___163 = 197,
    _SC_LEVEL4_CACHE_ASSOC___163 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___163 = 199,
    _SC_IPV6___163 = 235,
    _SC_RAW_SOCKETS___163 = 236,
    _SC_V7_ILP32_OFF32___163 = 237,
    _SC_V7_ILP32_OFFBIG___163 = 238,
    _SC_V7_LP64_OFF64___163 = 239,
    _SC_V7_LPBIG_OFFBIG___163 = 240,
    _SC_SS_REPL_MAX___163 = 241,
    _SC_TRACE_EVENT_NAME_MAX___163 = 242,
    _SC_TRACE_NAME_MAX___163 = 243,
    _SC_TRACE_SYS_MAX___163 = 244,
    _SC_TRACE_USER_EVENT_MAX___163 = 245,
    _SC_XOPEN_STREAMS___163 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___163 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___163 = 248
} ;
enum __anonenum_875524036___163 {
    _CS_PATH___163 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___163 = 1,
    _CS_GNU_LIBC_VERSION___163 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___163 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___163 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___163 = 5,
    _CS_LFS_CFLAGS___163 = 1000,
    _CS_LFS_LDFLAGS___163 = 1001,
    _CS_LFS_LIBS___163 = 1002,
    _CS_LFS_LINTFLAGS___163 = 1003,
    _CS_LFS64_CFLAGS___163 = 1004,
    _CS_LFS64_LDFLAGS___163 = 1005,
    _CS_LFS64_LIBS___163 = 1006,
    _CS_LFS64_LINTFLAGS___163 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___163 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___163 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___163 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___163 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___163 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___163 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___163 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___163 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___163 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___163 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___163 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___163 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___163 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___163 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___163 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___163 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___163 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___163 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___163 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___163 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___163 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___163 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___163 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___163 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___163 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___163 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___163 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___163 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___163 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___163 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___163 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___163 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___163 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___163 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___163 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___163 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___163 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___163 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___163 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___163 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___163 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___163 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___163 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___163 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___163 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___163 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___163 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___163 = 1147,
    _CS_V6_ENV___163 = 1148,
    _CS_V7_ENV___163 = 1149
} ;
enum __anonenum_513775621___163 {
    DT_UNKNOWN___163 = 0,
    DT_FIFO___163 = 1,
    DT_CHR___163 = 2,
    DT_DIR___163 = 4,
    DT_BLK___163 = 6,
    DT_REG___163 = 8,
    DT_LNK___163 = 10,
    DT_SOCK___163 = 12,
    DT_WHT___163 = 14
} ;
enum __anonenum_77002343___163 {
    SI_ASYNCNL___163 = -60,
    SI_TKILL___163 = -6,
    SI_SIGIO___163 = -5,
    SI_ASYNCIO___163 = -4,
    SI_MESGQ___163 = -3,
    SI_TIMER___163 = -2,
    SI_QUEUE___163 = -1,
    SI_USER___163 = 0,
    SI_KERNEL___163 = 128
} ;
enum __anonenum_131038172___163 {
    ILL_ILLOPC___163 = 1,
    ILL_ILLOPN___163 = 2,
    ILL_ILLADR___163 = 3,
    ILL_ILLTRP___163 = 4,
    ILL_PRVOPC___163 = 5,
    ILL_PRVREG___163 = 6,
    ILL_COPROC___163 = 7,
    ILL_BADSTK___163 = 8
} ;
enum __anonenum_452038093___163 {
    FPE_INTDIV___163 = 1,
    FPE_INTOVF___163 = 2,
    FPE_FLTDIV___163 = 3,
    FPE_FLTOVF___163 = 4,
    FPE_FLTUND___163 = 5,
    FPE_FLTRES___163 = 6,
    FPE_FLTINV___163 = 7,
    FPE_FLTSUB___163 = 8
} ;
enum __anonenum_30976155___163 {
    SEGV_MAPERR___163 = 1,
    SEGV_ACCERR___163 = 2,
    SEGV_BNDERR___163 = 3,
    SEGV_PKUERR___163 = 4
} ;
enum __anonenum_1036286214___163 {
    BUS_ADRALN___163 = 1,
    BUS_ADRERR___163 = 2,
    BUS_OBJERR___163 = 3,
    BUS_MCEERR_AR___163 = 4,
    BUS_MCEERR_AO___163 = 5
} ;
enum __anonenum_493465559___163 {
    TRAP_BRKPT___163 = 1,
    TRAP_TRACE___163 = 2
} ;
enum __anonenum_23175539___163 {
    CLD_EXITED___163 = 1,
    CLD_KILLED___163 = 2,
    CLD_DUMPED___163 = 3,
    CLD_TRAPPED___163 = 4,
    CLD_STOPPED___163 = 5,
    CLD_CONTINUED___163 = 6
} ;
enum __anonenum_111643124___163 {
    POLL_IN___163 = 1,
    POLL_OUT___163 = 2,
    POLL_MSG___163 = 3,
    POLL_ERR___163 = 4,
    POLL_PRI___163 = 5,
    POLL_HUP___163 = 6
} ;
enum __anonenum_852341087___163 {
    SIGEV_SIGNAL___163 = 0,
    SIGEV_NONE___163 = 1,
    SIGEV_THREAD___163 = 2,
    SIGEV_THREAD_ID___163 = 4
} ;
enum __anonenum_451154152___163 {
    REG_R8___163 = 0,
    REG_R9___163 = 1,
    REG_R10___163 = 2,
    REG_R11___163 = 3,
    REG_R12___163 = 4,
    REG_R13___163 = 5,
    REG_R14___163 = 6,
    REG_R15___163 = 7,
    REG_RDI___163 = 8,
    REG_RSI___163 = 9,
    REG_RBP___163 = 10,
    REG_RBX___163 = 11,
    REG_RDX___163 = 12,
    REG_RAX___163 = 13,
    REG_RCX___163 = 14,
    REG_RSP___163 = 15,
    REG_RIP___163 = 16,
    REG_EFL___163 = 17,
    REG_CSGSFS___163 = 18,
    REG_ERR___163 = 19,
    REG_TRAPNO___163 = 20,
    REG_OLDMASK___163 = 21,
    REG_CR2___163 = 22
} ;
enum __anonenum_57186863___163 {
    SS_ONSTACK___163 = 1,
    SS_DISABLE___163 = 2
} ;
enum __anonenum_83571709___163 {
    MSG_OOB___163 = 1,
    MSG_PEEK___163 = 2,
    MSG_DONTROUTE___163 = 4,
    MSG_TRYHARD___163 = 4,
    MSG_CTRUNC___163 = 8,
    MSG_PROXY___163 = 16,
    MSG_TRUNC___163 = 32,
    MSG_DONTWAIT___163 = 64,
    MSG_EOR___163 = 128,
    MSG_WAITALL___163 = 256,
    MSG_FIN___163 = 512,
    MSG_SYN___163 = 1024,
    MSG_CONFIRM___163 = 2048,
    MSG_RST___163 = 4096,
    MSG_ERRQUEUE___163 = 8192,
    MSG_NOSIGNAL___163 = 16384,
    MSG_MORE___163 = 32768,
    MSG_WAITFORONE___163 = 65536,
    MSG_BATCH___163 = 262144,
    MSG_ZEROCOPY___163 = 67108864,
    MSG_FASTOPEN___163 = 536870912,
    MSG_CMSG_CLOEXEC___163 = 1073741824
} ;
enum __anonenum_617082774___163 {
    SCM_RIGHTS___163 = 1,
    SCM_CREDENTIALS___163 = 2
} ;
enum __anonenum_606441560___163 {
    SHUT_RD___163 = 0,
    SHUT_WR___163 = 1,
    SHUT_RDWR___163 = 2
} ;
enum __anonenum_681669233___163 {
    IPPROTO_IP___163 = 0,
    IPPROTO_ICMP___163 = 1,
    IPPROTO_IGMP___163 = 2,
    IPPROTO_IPIP___163 = 4,
    IPPROTO_TCP___163 = 6,
    IPPROTO_EGP___163 = 8,
    IPPROTO_PUP___163 = 12,
    IPPROTO_UDP___163 = 17,
    IPPROTO_IDP___163 = 22,
    IPPROTO_TP___163 = 29,
    IPPROTO_DCCP___163 = 33,
    IPPROTO_IPV6___163 = 41,
    IPPROTO_RSVP___163 = 46,
    IPPROTO_GRE___163 = 47,
    IPPROTO_ESP___163 = 50,
    IPPROTO_AH___163 = 51,
    IPPROTO_MTP___163 = 92,
    IPPROTO_BEETPH___163 = 94,
    IPPROTO_ENCAP___163 = 98,
    IPPROTO_PIM___163 = 103,
    IPPROTO_COMP___163 = 108,
    IPPROTO_SCTP___163 = 132,
    IPPROTO_UDPLITE___163 = 136,
    IPPROTO_MPLS___163 = 137,
    IPPROTO_RAW___163 = 255,
    IPPROTO_MAX___163 = 256
} ;
enum __anonenum_218739988___163 {
    IPPROTO_HOPOPTS___163 = 0,
    IPPROTO_ROUTING___163 = 43,
    IPPROTO_FRAGMENT___163 = 44,
    IPPROTO_ICMPV6___163 = 58,
    IPPROTO_NONE___163 = 59,
    IPPROTO_DSTOPTS___163 = 60,
    IPPROTO_MH___163 = 135
} ;
enum __anonenum_662268580___163 {
    IPPORT_ECHO___163 = 7,
    IPPORT_DISCARD___163 = 9,
    IPPORT_SYSTAT___163 = 11,
    IPPORT_DAYTIME___163 = 13,
    IPPORT_NETSTAT___163 = 15,
    IPPORT_FTP___163 = 21,
    IPPORT_TELNET___163 = 23,
    IPPORT_SMTP___163 = 25,
    IPPORT_TIMESERVER___163 = 37,
    IPPORT_NAMESERVER___163 = 42,
    IPPORT_WHOIS___163 = 43,
    IPPORT_MTP___163 = 57,
    IPPORT_TFTP___163 = 69,
    IPPORT_RJE___163 = 77,
    IPPORT_FINGER___163 = 79,
    IPPORT_TTYLINK___163 = 87,
    IPPORT_SUPDUP___163 = 95,
    IPPORT_EXECSERVER___163 = 512,
    IPPORT_LOGINSERVER___163 = 513,
    IPPORT_CMDSERVER___163 = 514,
    IPPORT_EFSSERVER___163 = 520,
    IPPORT_BIFFUDP___163 = 512,
    IPPORT_WHOSERVER___163 = 513,
    IPPORT_ROUTESERVER___163 = 520,
    IPPORT_RESERVED___163 = 1024,
    IPPORT_USERRESERVED___163 = 5000
} ;
enum __anonenum_788308992___163 {
    TCP_ESTABLISHED___163 = 1,
    TCP_SYN_SENT___163 = 2,
    TCP_SYN_RECV___163 = 3,
    TCP_FIN_WAIT1___163 = 4,
    TCP_FIN_WAIT2___163 = 5,
    TCP_TIME_WAIT___163 = 6,
    TCP_CLOSE___163 = 7,
    TCP_CLOSE_WAIT___163 = 8,
    TCP_LAST_ACK___163 = 9,
    TCP_LISTEN___163 = 10,
    TCP_CLOSING___163 = 11
} ;
enum __anonenum_221125648___163 {
    TCP_NO_QUEUE___163 = 0,
    TCP_RECV_QUEUE___163 = 1,
    TCP_SEND_QUEUE___163 = 2,
    TCP_QUEUES_NR___163 = 3
} ;
enum __anonenum_34415463___163 {
    PTHREAD_CREATE_JOINABLE___163 = 0,
    PTHREAD_CREATE_DETACHED___163 = 1
} ;
enum __anonenum_303612439___163 {
    PTHREAD_MUTEX_TIMED_NP___163 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___163 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___163 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___163 = 3,
    PTHREAD_MUTEX_NORMAL___163 = 0,
    PTHREAD_MUTEX_RECURSIVE___163 = 1,
    PTHREAD_MUTEX_ERRORCHECK___163 = 2,
    PTHREAD_MUTEX_DEFAULT___163 = 0,
    PTHREAD_MUTEX_FAST_NP___163 = 0
} ;
enum __anonenum_931900394___163 {
    PTHREAD_MUTEX_STALLED___163 = 0,
    PTHREAD_MUTEX_STALLED_NP___163 = 0,
    PTHREAD_MUTEX_ROBUST___163 = 1,
    PTHREAD_MUTEX_ROBUST_NP___163 = 1
} ;
enum __anonenum_205214487___163 {
    PTHREAD_PRIO_NONE___163 = 0,
    PTHREAD_PRIO_INHERIT___163 = 1,
    PTHREAD_PRIO_PROTECT___163 = 2
} ;
enum __anonenum_25043950___163 {
    PTHREAD_RWLOCK_PREFER_READER_NP___163 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___163 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___163 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___163 = 0
} ;
enum __anonenum_436439511___163 {
    PTHREAD_INHERIT_SCHED___163 = 0,
    PTHREAD_EXPLICIT_SCHED___163 = 1
} ;
enum __anonenum_998661166___163 {
    PTHREAD_SCOPE_SYSTEM___163 = 0,
    PTHREAD_SCOPE_PROCESS___163 = 1
} ;
enum __anonenum_146137331___163 {
    PTHREAD_PROCESS_PRIVATE___163 = 0,
    PTHREAD_PROCESS_SHARED___163 = 1
} ;
enum __anonenum_53396917___163 {
    PTHREAD_CANCEL_ENABLE___163 = 0,
    PTHREAD_CANCEL_DISABLE___163 = 1
} ;
enum __anonenum_904563783___163 {
    PTHREAD_CANCEL_DEFERRED___163 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___163 = 1
} ;
enum __anonenum_672052974___163 {
    SSL_CT_VALIDATION_PERMISSIVE___163 = 0,
    SSL_CT_VALIDATION_STRICT___163 = 1
} ;
enum __anonenum_437032235___164 {
    _PC_LINK_MAX___164 = 0,
    _PC_MAX_CANON___164 = 1,
    _PC_MAX_INPUT___164 = 2,
    _PC_NAME_MAX___164 = 3,
    _PC_PATH_MAX___164 = 4,
    _PC_PIPE_BUF___164 = 5,
    _PC_CHOWN_RESTRICTED___164 = 6,
    _PC_NO_TRUNC___164 = 7,
    _PC_VDISABLE___164 = 8,
    _PC_SYNC_IO___164 = 9,
    _PC_ASYNC_IO___164 = 10,
    _PC_PRIO_IO___164 = 11,
    _PC_SOCK_MAXBUF___164 = 12,
    _PC_FILESIZEBITS___164 = 13,
    _PC_REC_INCR_XFER_SIZE___164 = 14,
    _PC_REC_MAX_XFER_SIZE___164 = 15,
    _PC_REC_MIN_XFER_SIZE___164 = 16,
    _PC_REC_XFER_ALIGN___164 = 17,
    _PC_ALLOC_SIZE_MIN___164 = 18,
    _PC_SYMLINK_MAX___164 = 19,
    _PC_2_SYMLINKS___164 = 20
} ;
enum __anonenum_315186338___164 {
    _SC_ARG_MAX___164 = 0,
    _SC_CHILD_MAX___164 = 1,
    _SC_CLK_TCK___164 = 2,
    _SC_NGROUPS_MAX___164 = 3,
    _SC_OPEN_MAX___164 = 4,
    _SC_STREAM_MAX___164 = 5,
    _SC_TZNAME_MAX___164 = 6,
    _SC_JOB_CONTROL___164 = 7,
    _SC_SAVED_IDS___164 = 8,
    _SC_REALTIME_SIGNALS___164 = 9,
    _SC_PRIORITY_SCHEDULING___164 = 10,
    _SC_TIMERS___164 = 11,
    _SC_ASYNCHRONOUS_IO___164 = 12,
    _SC_PRIORITIZED_IO___164 = 13,
    _SC_SYNCHRONIZED_IO___164 = 14,
    _SC_FSYNC___164 = 15,
    _SC_MAPPED_FILES___164 = 16,
    _SC_MEMLOCK___164 = 17,
    _SC_MEMLOCK_RANGE___164 = 18,
    _SC_MEMORY_PROTECTION___164 = 19,
    _SC_MESSAGE_PASSING___164 = 20,
    _SC_SEMAPHORES___164 = 21,
    _SC_SHARED_MEMORY_OBJECTS___164 = 22,
    _SC_AIO_LISTIO_MAX___164 = 23,
    _SC_AIO_MAX___164 = 24,
    _SC_AIO_PRIO_DELTA_MAX___164 = 25,
    _SC_DELAYTIMER_MAX___164 = 26,
    _SC_MQ_OPEN_MAX___164 = 27,
    _SC_MQ_PRIO_MAX___164 = 28,
    _SC_VERSION___164 = 29,
    _SC_PAGESIZE___164 = 30,
    _SC_RTSIG_MAX___164 = 31,
    _SC_SEM_NSEMS_MAX___164 = 32,
    _SC_SEM_VALUE_MAX___164 = 33,
    _SC_SIGQUEUE_MAX___164 = 34,
    _SC_TIMER_MAX___164 = 35,
    _SC_BC_BASE_MAX___164 = 36,
    _SC_BC_DIM_MAX___164 = 37,
    _SC_BC_SCALE_MAX___164 = 38,
    _SC_BC_STRING_MAX___164 = 39,
    _SC_COLL_WEIGHTS_MAX___164 = 40,
    _SC_EQUIV_CLASS_MAX___164 = 41,
    _SC_EXPR_NEST_MAX___164 = 42,
    _SC_LINE_MAX___164 = 43,
    _SC_RE_DUP_MAX___164 = 44,
    _SC_CHARCLASS_NAME_MAX___164 = 45,
    _SC_2_VERSION___164 = 46,
    _SC_2_C_BIND___164 = 47,
    _SC_2_C_DEV___164 = 48,
    _SC_2_FORT_DEV___164 = 49,
    _SC_2_FORT_RUN___164 = 50,
    _SC_2_SW_DEV___164 = 51,
    _SC_2_LOCALEDEF___164 = 52,
    _SC_PII___164 = 53,
    _SC_PII_XTI___164 = 54,
    _SC_PII_SOCKET___164 = 55,
    _SC_PII_INTERNET___164 = 56,
    _SC_PII_OSI___164 = 57,
    _SC_POLL___164 = 58,
    _SC_SELECT___164 = 59,
    _SC_UIO_MAXIOV___164 = 60,
    _SC_IOV_MAX___164 = 60,
    _SC_PII_INTERNET_STREAM___164 = 61,
    _SC_PII_INTERNET_DGRAM___164 = 62,
    _SC_PII_OSI_COTS___164 = 63,
    _SC_PII_OSI_CLTS___164 = 64,
    _SC_PII_OSI_M___164 = 65,
    _SC_T_IOV_MAX___164 = 66,
    _SC_THREADS___164 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___164 = 68,
    _SC_GETGR_R_SIZE_MAX___164 = 69,
    _SC_GETPW_R_SIZE_MAX___164 = 70,
    _SC_LOGIN_NAME_MAX___164 = 71,
    _SC_TTY_NAME_MAX___164 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___164 = 73,
    _SC_THREAD_KEYS_MAX___164 = 74,
    _SC_THREAD_STACK_MIN___164 = 75,
    _SC_THREAD_THREADS_MAX___164 = 76,
    _SC_THREAD_ATTR_STACKADDR___164 = 77,
    _SC_THREAD_ATTR_STACKSIZE___164 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___164 = 79,
    _SC_THREAD_PRIO_INHERIT___164 = 80,
    _SC_THREAD_PRIO_PROTECT___164 = 81,
    _SC_THREAD_PROCESS_SHARED___164 = 82,
    _SC_NPROCESSORS_CONF___164 = 83,
    _SC_NPROCESSORS_ONLN___164 = 84,
    _SC_PHYS_PAGES___164 = 85,
    _SC_AVPHYS_PAGES___164 = 86,
    _SC_ATEXIT_MAX___164 = 87,
    _SC_PASS_MAX___164 = 88,
    _SC_XOPEN_VERSION___164 = 89,
    _SC_XOPEN_XCU_VERSION___164 = 90,
    _SC_XOPEN_UNIX___164 = 91,
    _SC_XOPEN_CRYPT___164 = 92,
    _SC_XOPEN_ENH_I18N___164 = 93,
    _SC_XOPEN_SHM___164 = 94,
    _SC_2_CHAR_TERM___164 = 95,
    _SC_2_C_VERSION___164 = 96,
    _SC_2_UPE___164 = 97,
    _SC_XOPEN_XPG2___164 = 98,
    _SC_XOPEN_XPG3___164 = 99,
    _SC_XOPEN_XPG4___164 = 100,
    _SC_CHAR_BIT___164 = 101,
    _SC_CHAR_MAX___164 = 102,
    _SC_CHAR_MIN___164 = 103,
    _SC_INT_MAX___164 = 104,
    _SC_INT_MIN___164 = 105,
    _SC_LONG_BIT___164 = 106,
    _SC_WORD_BIT___164 = 107,
    _SC_MB_LEN_MAX___164 = 108,
    _SC_NZERO___164 = 109,
    _SC_SSIZE_MAX___164 = 110,
    _SC_SCHAR_MAX___164 = 111,
    _SC_SCHAR_MIN___164 = 112,
    _SC_SHRT_MAX___164 = 113,
    _SC_SHRT_MIN___164 = 114,
    _SC_UCHAR_MAX___164 = 115,
    _SC_UINT_MAX___164 = 116,
    _SC_ULONG_MAX___164 = 117,
    _SC_USHRT_MAX___164 = 118,
    _SC_NL_ARGMAX___164 = 119,
    _SC_NL_LANGMAX___164 = 120,
    _SC_NL_MSGMAX___164 = 121,
    _SC_NL_NMAX___164 = 122,
    _SC_NL_SETMAX___164 = 123,
    _SC_NL_TEXTMAX___164 = 124,
    _SC_XBS5_ILP32_OFF32___164 = 125,
    _SC_XBS5_ILP32_OFFBIG___164 = 126,
    _SC_XBS5_LP64_OFF64___164 = 127,
    _SC_XBS5_LPBIG_OFFBIG___164 = 128,
    _SC_XOPEN_LEGACY___164 = 129,
    _SC_XOPEN_REALTIME___164 = 130,
    _SC_XOPEN_REALTIME_THREADS___164 = 131,
    _SC_ADVISORY_INFO___164 = 132,
    _SC_BARRIERS___164 = 133,
    _SC_BASE___164 = 134,
    _SC_C_LANG_SUPPORT___164 = 135,
    _SC_C_LANG_SUPPORT_R___164 = 136,
    _SC_CLOCK_SELECTION___164 = 137,
    _SC_CPUTIME___164 = 138,
    _SC_THREAD_CPUTIME___164 = 139,
    _SC_DEVICE_IO___164 = 140,
    _SC_DEVICE_SPECIFIC___164 = 141,
    _SC_DEVICE_SPECIFIC_R___164 = 142,
    _SC_FD_MGMT___164 = 143,
    _SC_FIFO___164 = 144,
    _SC_PIPE___164 = 145,
    _SC_FILE_ATTRIBUTES___164 = 146,
    _SC_FILE_LOCKING___164 = 147,
    _SC_FILE_SYSTEM___164 = 148,
    _SC_MONOTONIC_CLOCK___164 = 149,
    _SC_MULTI_PROCESS___164 = 150,
    _SC_SINGLE_PROCESS___164 = 151,
    _SC_NETWORKING___164 = 152,
    _SC_READER_WRITER_LOCKS___164 = 153,
    _SC_SPIN_LOCKS___164 = 154,
    _SC_REGEXP___164 = 155,
    _SC_REGEX_VERSION___164 = 156,
    _SC_SHELL___164 = 157,
    _SC_SIGNALS___164 = 158,
    _SC_SPAWN___164 = 159,
    _SC_SPORADIC_SERVER___164 = 160,
    _SC_THREAD_SPORADIC_SERVER___164 = 161,
    _SC_SYSTEM_DATABASE___164 = 162,
    _SC_SYSTEM_DATABASE_R___164 = 163,
    _SC_TIMEOUTS___164 = 164,
    _SC_TYPED_MEMORY_OBJECTS___164 = 165,
    _SC_USER_GROUPS___164 = 166,
    _SC_USER_GROUPS_R___164 = 167,
    _SC_2_PBS___164 = 168,
    _SC_2_PBS_ACCOUNTING___164 = 169,
    _SC_2_PBS_LOCATE___164 = 170,
    _SC_2_PBS_MESSAGE___164 = 171,
    _SC_2_PBS_TRACK___164 = 172,
    _SC_SYMLOOP_MAX___164 = 173,
    _SC_STREAMS___164 = 174,
    _SC_2_PBS_CHECKPOINT___164 = 175,
    _SC_V6_ILP32_OFF32___164 = 176,
    _SC_V6_ILP32_OFFBIG___164 = 177,
    _SC_V6_LP64_OFF64___164 = 178,
    _SC_V6_LPBIG_OFFBIG___164 = 179,
    _SC_HOST_NAME_MAX___164 = 180,
    _SC_TRACE___164 = 181,
    _SC_TRACE_EVENT_FILTER___164 = 182,
    _SC_TRACE_INHERIT___164 = 183,
    _SC_TRACE_LOG___164 = 184,
    _SC_LEVEL1_ICACHE_SIZE___164 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___164 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___164 = 187,
    _SC_LEVEL1_DCACHE_SIZE___164 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___164 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___164 = 190,
    _SC_LEVEL2_CACHE_SIZE___164 = 191,
    _SC_LEVEL2_CACHE_ASSOC___164 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___164 = 193,
    _SC_LEVEL3_CACHE_SIZE___164 = 194,
    _SC_LEVEL3_CACHE_ASSOC___164 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___164 = 196,
    _SC_LEVEL4_CACHE_SIZE___164 = 197,
    _SC_LEVEL4_CACHE_ASSOC___164 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___164 = 199,
    _SC_IPV6___164 = 235,
    _SC_RAW_SOCKETS___164 = 236,
    _SC_V7_ILP32_OFF32___164 = 237,
    _SC_V7_ILP32_OFFBIG___164 = 238,
    _SC_V7_LP64_OFF64___164 = 239,
    _SC_V7_LPBIG_OFFBIG___164 = 240,
    _SC_SS_REPL_MAX___164 = 241,
    _SC_TRACE_EVENT_NAME_MAX___164 = 242,
    _SC_TRACE_NAME_MAX___164 = 243,
    _SC_TRACE_SYS_MAX___164 = 244,
    _SC_TRACE_USER_EVENT_MAX___164 = 245,
    _SC_XOPEN_STREAMS___164 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___164 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___164 = 248
} ;
enum __anonenum_875524036___164 {
    _CS_PATH___164 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___164 = 1,
    _CS_GNU_LIBC_VERSION___164 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___164 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___164 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___164 = 5,
    _CS_LFS_CFLAGS___164 = 1000,
    _CS_LFS_LDFLAGS___164 = 1001,
    _CS_LFS_LIBS___164 = 1002,
    _CS_LFS_LINTFLAGS___164 = 1003,
    _CS_LFS64_CFLAGS___164 = 1004,
    _CS_LFS64_LDFLAGS___164 = 1005,
    _CS_LFS64_LIBS___164 = 1006,
    _CS_LFS64_LINTFLAGS___164 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___164 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___164 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___164 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___164 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___164 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___164 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___164 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___164 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___164 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___164 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___164 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___164 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___164 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___164 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___164 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___164 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___164 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___164 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___164 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___164 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___164 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___164 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___164 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___164 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___164 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___164 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___164 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___164 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___164 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___164 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___164 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___164 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___164 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___164 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___164 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___164 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___164 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___164 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___164 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___164 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___164 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___164 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___164 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___164 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___164 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___164 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___164 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___164 = 1147,
    _CS_V6_ENV___164 = 1148,
    _CS_V7_ENV___164 = 1149
} ;
enum __anonenum_513775621___164 {
    DT_UNKNOWN___164 = 0,
    DT_FIFO___164 = 1,
    DT_CHR___164 = 2,
    DT_DIR___164 = 4,
    DT_BLK___164 = 6,
    DT_REG___164 = 8,
    DT_LNK___164 = 10,
    DT_SOCK___164 = 12,
    DT_WHT___164 = 14
} ;
enum __anonenum_77002343___164 {
    SI_ASYNCNL___164 = -60,
    SI_TKILL___164 = -6,
    SI_SIGIO___164 = -5,
    SI_ASYNCIO___164 = -4,
    SI_MESGQ___164 = -3,
    SI_TIMER___164 = -2,
    SI_QUEUE___164 = -1,
    SI_USER___164 = 0,
    SI_KERNEL___164 = 128
} ;
enum __anonenum_131038172___164 {
    ILL_ILLOPC___164 = 1,
    ILL_ILLOPN___164 = 2,
    ILL_ILLADR___164 = 3,
    ILL_ILLTRP___164 = 4,
    ILL_PRVOPC___164 = 5,
    ILL_PRVREG___164 = 6,
    ILL_COPROC___164 = 7,
    ILL_BADSTK___164 = 8
} ;
enum __anonenum_452038093___164 {
    FPE_INTDIV___164 = 1,
    FPE_INTOVF___164 = 2,
    FPE_FLTDIV___164 = 3,
    FPE_FLTOVF___164 = 4,
    FPE_FLTUND___164 = 5,
    FPE_FLTRES___164 = 6,
    FPE_FLTINV___164 = 7,
    FPE_FLTSUB___164 = 8
} ;
enum __anonenum_30976155___164 {
    SEGV_MAPERR___164 = 1,
    SEGV_ACCERR___164 = 2,
    SEGV_BNDERR___164 = 3,
    SEGV_PKUERR___164 = 4
} ;
enum __anonenum_1036286214___164 {
    BUS_ADRALN___164 = 1,
    BUS_ADRERR___164 = 2,
    BUS_OBJERR___164 = 3,
    BUS_MCEERR_AR___164 = 4,
    BUS_MCEERR_AO___164 = 5
} ;
enum __anonenum_493465559___164 {
    TRAP_BRKPT___164 = 1,
    TRAP_TRACE___164 = 2
} ;
enum __anonenum_23175539___164 {
    CLD_EXITED___164 = 1,
    CLD_KILLED___164 = 2,
    CLD_DUMPED___164 = 3,
    CLD_TRAPPED___164 = 4,
    CLD_STOPPED___164 = 5,
    CLD_CONTINUED___164 = 6
} ;
enum __anonenum_111643124___164 {
    POLL_IN___164 = 1,
    POLL_OUT___164 = 2,
    POLL_MSG___164 = 3,
    POLL_ERR___164 = 4,
    POLL_PRI___164 = 5,
    POLL_HUP___164 = 6
} ;
enum __anonenum_852341087___164 {
    SIGEV_SIGNAL___164 = 0,
    SIGEV_NONE___164 = 1,
    SIGEV_THREAD___164 = 2,
    SIGEV_THREAD_ID___164 = 4
} ;
enum __anonenum_451154152___164 {
    REG_R8___164 = 0,
    REG_R9___164 = 1,
    REG_R10___164 = 2,
    REG_R11___164 = 3,
    REG_R12___164 = 4,
    REG_R13___164 = 5,
    REG_R14___164 = 6,
    REG_R15___164 = 7,
    REG_RDI___164 = 8,
    REG_RSI___164 = 9,
    REG_RBP___164 = 10,
    REG_RBX___164 = 11,
    REG_RDX___164 = 12,
    REG_RAX___164 = 13,
    REG_RCX___164 = 14,
    REG_RSP___164 = 15,
    REG_RIP___164 = 16,
    REG_EFL___164 = 17,
    REG_CSGSFS___164 = 18,
    REG_ERR___164 = 19,
    REG_TRAPNO___164 = 20,
    REG_OLDMASK___164 = 21,
    REG_CR2___164 = 22
} ;
enum __anonenum_57186863___164 {
    SS_ONSTACK___164 = 1,
    SS_DISABLE___164 = 2
} ;
enum __anonenum_83571709___164 {
    MSG_OOB___164 = 1,
    MSG_PEEK___164 = 2,
    MSG_DONTROUTE___164 = 4,
    MSG_TRYHARD___164 = 4,
    MSG_CTRUNC___164 = 8,
    MSG_PROXY___164 = 16,
    MSG_TRUNC___164 = 32,
    MSG_DONTWAIT___164 = 64,
    MSG_EOR___164 = 128,
    MSG_WAITALL___164 = 256,
    MSG_FIN___164 = 512,
    MSG_SYN___164 = 1024,
    MSG_CONFIRM___164 = 2048,
    MSG_RST___164 = 4096,
    MSG_ERRQUEUE___164 = 8192,
    MSG_NOSIGNAL___164 = 16384,
    MSG_MORE___164 = 32768,
    MSG_WAITFORONE___164 = 65536,
    MSG_BATCH___164 = 262144,
    MSG_ZEROCOPY___164 = 67108864,
    MSG_FASTOPEN___164 = 536870912,
    MSG_CMSG_CLOEXEC___164 = 1073741824
} ;
enum __anonenum_617082774___164 {
    SCM_RIGHTS___164 = 1,
    SCM_CREDENTIALS___164 = 2
} ;
enum __anonenum_606441560___164 {
    SHUT_RD___164 = 0,
    SHUT_WR___164 = 1,
    SHUT_RDWR___164 = 2
} ;
enum __anonenum_681669233___164 {
    IPPROTO_IP___164 = 0,
    IPPROTO_ICMP___164 = 1,
    IPPROTO_IGMP___164 = 2,
    IPPROTO_IPIP___164 = 4,
    IPPROTO_TCP___164 = 6,
    IPPROTO_EGP___164 = 8,
    IPPROTO_PUP___164 = 12,
    IPPROTO_UDP___164 = 17,
    IPPROTO_IDP___164 = 22,
    IPPROTO_TP___164 = 29,
    IPPROTO_DCCP___164 = 33,
    IPPROTO_IPV6___164 = 41,
    IPPROTO_RSVP___164 = 46,
    IPPROTO_GRE___164 = 47,
    IPPROTO_ESP___164 = 50,
    IPPROTO_AH___164 = 51,
    IPPROTO_MTP___164 = 92,
    IPPROTO_BEETPH___164 = 94,
    IPPROTO_ENCAP___164 = 98,
    IPPROTO_PIM___164 = 103,
    IPPROTO_COMP___164 = 108,
    IPPROTO_SCTP___164 = 132,
    IPPROTO_UDPLITE___164 = 136,
    IPPROTO_MPLS___164 = 137,
    IPPROTO_RAW___164 = 255,
    IPPROTO_MAX___164 = 256
} ;
enum __anonenum_218739988___164 {
    IPPROTO_HOPOPTS___164 = 0,
    IPPROTO_ROUTING___164 = 43,
    IPPROTO_FRAGMENT___164 = 44,
    IPPROTO_ICMPV6___164 = 58,
    IPPROTO_NONE___164 = 59,
    IPPROTO_DSTOPTS___164 = 60,
    IPPROTO_MH___164 = 135
} ;
enum __anonenum_662268580___164 {
    IPPORT_ECHO___164 = 7,
    IPPORT_DISCARD___164 = 9,
    IPPORT_SYSTAT___164 = 11,
    IPPORT_DAYTIME___164 = 13,
    IPPORT_NETSTAT___164 = 15,
    IPPORT_FTP___164 = 21,
    IPPORT_TELNET___164 = 23,
    IPPORT_SMTP___164 = 25,
    IPPORT_TIMESERVER___164 = 37,
    IPPORT_NAMESERVER___164 = 42,
    IPPORT_WHOIS___164 = 43,
    IPPORT_MTP___164 = 57,
    IPPORT_TFTP___164 = 69,
    IPPORT_RJE___164 = 77,
    IPPORT_FINGER___164 = 79,
    IPPORT_TTYLINK___164 = 87,
    IPPORT_SUPDUP___164 = 95,
    IPPORT_EXECSERVER___164 = 512,
    IPPORT_LOGINSERVER___164 = 513,
    IPPORT_CMDSERVER___164 = 514,
    IPPORT_EFSSERVER___164 = 520,
    IPPORT_BIFFUDP___164 = 512,
    IPPORT_WHOSERVER___164 = 513,
    IPPORT_ROUTESERVER___164 = 520,
    IPPORT_RESERVED___164 = 1024,
    IPPORT_USERRESERVED___164 = 5000
} ;
enum __anonenum_788308992___164 {
    TCP_ESTABLISHED___164 = 1,
    TCP_SYN_SENT___164 = 2,
    TCP_SYN_RECV___164 = 3,
    TCP_FIN_WAIT1___164 = 4,
    TCP_FIN_WAIT2___164 = 5,
    TCP_TIME_WAIT___164 = 6,
    TCP_CLOSE___164 = 7,
    TCP_CLOSE_WAIT___164 = 8,
    TCP_LAST_ACK___164 = 9,
    TCP_LISTEN___164 = 10,
    TCP_CLOSING___164 = 11
} ;
enum __anonenum_221125648___164 {
    TCP_NO_QUEUE___164 = 0,
    TCP_RECV_QUEUE___164 = 1,
    TCP_SEND_QUEUE___164 = 2,
    TCP_QUEUES_NR___164 = 3
} ;
enum __anonenum_34415463___164 {
    PTHREAD_CREATE_JOINABLE___164 = 0,
    PTHREAD_CREATE_DETACHED___164 = 1
} ;
enum __anonenum_303612439___164 {
    PTHREAD_MUTEX_TIMED_NP___164 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___164 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___164 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___164 = 3,
    PTHREAD_MUTEX_NORMAL___164 = 0,
    PTHREAD_MUTEX_RECURSIVE___164 = 1,
    PTHREAD_MUTEX_ERRORCHECK___164 = 2,
    PTHREAD_MUTEX_DEFAULT___164 = 0,
    PTHREAD_MUTEX_FAST_NP___164 = 0
} ;
enum __anonenum_931900394___164 {
    PTHREAD_MUTEX_STALLED___164 = 0,
    PTHREAD_MUTEX_STALLED_NP___164 = 0,
    PTHREAD_MUTEX_ROBUST___164 = 1,
    PTHREAD_MUTEX_ROBUST_NP___164 = 1
} ;
enum __anonenum_205214487___164 {
    PTHREAD_PRIO_NONE___164 = 0,
    PTHREAD_PRIO_INHERIT___164 = 1,
    PTHREAD_PRIO_PROTECT___164 = 2
} ;
enum __anonenum_25043950___164 {
    PTHREAD_RWLOCK_PREFER_READER_NP___164 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___164 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___164 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___164 = 0
} ;
enum __anonenum_436439511___164 {
    PTHREAD_INHERIT_SCHED___164 = 0,
    PTHREAD_EXPLICIT_SCHED___164 = 1
} ;
enum __anonenum_998661166___164 {
    PTHREAD_SCOPE_SYSTEM___164 = 0,
    PTHREAD_SCOPE_PROCESS___164 = 1
} ;
enum __anonenum_146137331___164 {
    PTHREAD_PROCESS_PRIVATE___164 = 0,
    PTHREAD_PROCESS_SHARED___164 = 1
} ;
enum __anonenum_53396917___164 {
    PTHREAD_CANCEL_ENABLE___164 = 0,
    PTHREAD_CANCEL_DISABLE___164 = 1
} ;
enum __anonenum_904563783___164 {
    PTHREAD_CANCEL_DEFERRED___164 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___164 = 1
} ;
enum __anonenum_672052974___164 {
    SSL_CT_VALIDATION_PERMISSIVE___164 = 0,
    SSL_CT_VALIDATION_STRICT___164 = 1
} ;
enum __anonenum_437032235___165 {
    _PC_LINK_MAX___165 = 0,
    _PC_MAX_CANON___165 = 1,
    _PC_MAX_INPUT___165 = 2,
    _PC_NAME_MAX___165 = 3,
    _PC_PATH_MAX___165 = 4,
    _PC_PIPE_BUF___165 = 5,
    _PC_CHOWN_RESTRICTED___165 = 6,
    _PC_NO_TRUNC___165 = 7,
    _PC_VDISABLE___165 = 8,
    _PC_SYNC_IO___165 = 9,
    _PC_ASYNC_IO___165 = 10,
    _PC_PRIO_IO___165 = 11,
    _PC_SOCK_MAXBUF___165 = 12,
    _PC_FILESIZEBITS___165 = 13,
    _PC_REC_INCR_XFER_SIZE___165 = 14,
    _PC_REC_MAX_XFER_SIZE___165 = 15,
    _PC_REC_MIN_XFER_SIZE___165 = 16,
    _PC_REC_XFER_ALIGN___165 = 17,
    _PC_ALLOC_SIZE_MIN___165 = 18,
    _PC_SYMLINK_MAX___165 = 19,
    _PC_2_SYMLINKS___165 = 20
} ;
enum __anonenum_315186338___165 {
    _SC_ARG_MAX___165 = 0,
    _SC_CHILD_MAX___165 = 1,
    _SC_CLK_TCK___165 = 2,
    _SC_NGROUPS_MAX___165 = 3,
    _SC_OPEN_MAX___165 = 4,
    _SC_STREAM_MAX___165 = 5,
    _SC_TZNAME_MAX___165 = 6,
    _SC_JOB_CONTROL___165 = 7,
    _SC_SAVED_IDS___165 = 8,
    _SC_REALTIME_SIGNALS___165 = 9,
    _SC_PRIORITY_SCHEDULING___165 = 10,
    _SC_TIMERS___165 = 11,
    _SC_ASYNCHRONOUS_IO___165 = 12,
    _SC_PRIORITIZED_IO___165 = 13,
    _SC_SYNCHRONIZED_IO___165 = 14,
    _SC_FSYNC___165 = 15,
    _SC_MAPPED_FILES___165 = 16,
    _SC_MEMLOCK___165 = 17,
    _SC_MEMLOCK_RANGE___165 = 18,
    _SC_MEMORY_PROTECTION___165 = 19,
    _SC_MESSAGE_PASSING___165 = 20,
    _SC_SEMAPHORES___165 = 21,
    _SC_SHARED_MEMORY_OBJECTS___165 = 22,
    _SC_AIO_LISTIO_MAX___165 = 23,
    _SC_AIO_MAX___165 = 24,
    _SC_AIO_PRIO_DELTA_MAX___165 = 25,
    _SC_DELAYTIMER_MAX___165 = 26,
    _SC_MQ_OPEN_MAX___165 = 27,
    _SC_MQ_PRIO_MAX___165 = 28,
    _SC_VERSION___165 = 29,
    _SC_PAGESIZE___165 = 30,
    _SC_RTSIG_MAX___165 = 31,
    _SC_SEM_NSEMS_MAX___165 = 32,
    _SC_SEM_VALUE_MAX___165 = 33,
    _SC_SIGQUEUE_MAX___165 = 34,
    _SC_TIMER_MAX___165 = 35,
    _SC_BC_BASE_MAX___165 = 36,
    _SC_BC_DIM_MAX___165 = 37,
    _SC_BC_SCALE_MAX___165 = 38,
    _SC_BC_STRING_MAX___165 = 39,
    _SC_COLL_WEIGHTS_MAX___165 = 40,
    _SC_EQUIV_CLASS_MAX___165 = 41,
    _SC_EXPR_NEST_MAX___165 = 42,
    _SC_LINE_MAX___165 = 43,
    _SC_RE_DUP_MAX___165 = 44,
    _SC_CHARCLASS_NAME_MAX___165 = 45,
    _SC_2_VERSION___165 = 46,
    _SC_2_C_BIND___165 = 47,
    _SC_2_C_DEV___165 = 48,
    _SC_2_FORT_DEV___165 = 49,
    _SC_2_FORT_RUN___165 = 50,
    _SC_2_SW_DEV___165 = 51,
    _SC_2_LOCALEDEF___165 = 52,
    _SC_PII___165 = 53,
    _SC_PII_XTI___165 = 54,
    _SC_PII_SOCKET___165 = 55,
    _SC_PII_INTERNET___165 = 56,
    _SC_PII_OSI___165 = 57,
    _SC_POLL___165 = 58,
    _SC_SELECT___165 = 59,
    _SC_UIO_MAXIOV___165 = 60,
    _SC_IOV_MAX___165 = 60,
    _SC_PII_INTERNET_STREAM___165 = 61,
    _SC_PII_INTERNET_DGRAM___165 = 62,
    _SC_PII_OSI_COTS___165 = 63,
    _SC_PII_OSI_CLTS___165 = 64,
    _SC_PII_OSI_M___165 = 65,
    _SC_T_IOV_MAX___165 = 66,
    _SC_THREADS___165 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___165 = 68,
    _SC_GETGR_R_SIZE_MAX___165 = 69,
    _SC_GETPW_R_SIZE_MAX___165 = 70,
    _SC_LOGIN_NAME_MAX___165 = 71,
    _SC_TTY_NAME_MAX___165 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___165 = 73,
    _SC_THREAD_KEYS_MAX___165 = 74,
    _SC_THREAD_STACK_MIN___165 = 75,
    _SC_THREAD_THREADS_MAX___165 = 76,
    _SC_THREAD_ATTR_STACKADDR___165 = 77,
    _SC_THREAD_ATTR_STACKSIZE___165 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___165 = 79,
    _SC_THREAD_PRIO_INHERIT___165 = 80,
    _SC_THREAD_PRIO_PROTECT___165 = 81,
    _SC_THREAD_PROCESS_SHARED___165 = 82,
    _SC_NPROCESSORS_CONF___165 = 83,
    _SC_NPROCESSORS_ONLN___165 = 84,
    _SC_PHYS_PAGES___165 = 85,
    _SC_AVPHYS_PAGES___165 = 86,
    _SC_ATEXIT_MAX___165 = 87,
    _SC_PASS_MAX___165 = 88,
    _SC_XOPEN_VERSION___165 = 89,
    _SC_XOPEN_XCU_VERSION___165 = 90,
    _SC_XOPEN_UNIX___165 = 91,
    _SC_XOPEN_CRYPT___165 = 92,
    _SC_XOPEN_ENH_I18N___165 = 93,
    _SC_XOPEN_SHM___165 = 94,
    _SC_2_CHAR_TERM___165 = 95,
    _SC_2_C_VERSION___165 = 96,
    _SC_2_UPE___165 = 97,
    _SC_XOPEN_XPG2___165 = 98,
    _SC_XOPEN_XPG3___165 = 99,
    _SC_XOPEN_XPG4___165 = 100,
    _SC_CHAR_BIT___165 = 101,
    _SC_CHAR_MAX___165 = 102,
    _SC_CHAR_MIN___165 = 103,
    _SC_INT_MAX___165 = 104,
    _SC_INT_MIN___165 = 105,
    _SC_LONG_BIT___165 = 106,
    _SC_WORD_BIT___165 = 107,
    _SC_MB_LEN_MAX___165 = 108,
    _SC_NZERO___165 = 109,
    _SC_SSIZE_MAX___165 = 110,
    _SC_SCHAR_MAX___165 = 111,
    _SC_SCHAR_MIN___165 = 112,
    _SC_SHRT_MAX___165 = 113,
    _SC_SHRT_MIN___165 = 114,
    _SC_UCHAR_MAX___165 = 115,
    _SC_UINT_MAX___165 = 116,
    _SC_ULONG_MAX___165 = 117,
    _SC_USHRT_MAX___165 = 118,
    _SC_NL_ARGMAX___165 = 119,
    _SC_NL_LANGMAX___165 = 120,
    _SC_NL_MSGMAX___165 = 121,
    _SC_NL_NMAX___165 = 122,
    _SC_NL_SETMAX___165 = 123,
    _SC_NL_TEXTMAX___165 = 124,
    _SC_XBS5_ILP32_OFF32___165 = 125,
    _SC_XBS5_ILP32_OFFBIG___165 = 126,
    _SC_XBS5_LP64_OFF64___165 = 127,
    _SC_XBS5_LPBIG_OFFBIG___165 = 128,
    _SC_XOPEN_LEGACY___165 = 129,
    _SC_XOPEN_REALTIME___165 = 130,
    _SC_XOPEN_REALTIME_THREADS___165 = 131,
    _SC_ADVISORY_INFO___165 = 132,
    _SC_BARRIERS___165 = 133,
    _SC_BASE___165 = 134,
    _SC_C_LANG_SUPPORT___165 = 135,
    _SC_C_LANG_SUPPORT_R___165 = 136,
    _SC_CLOCK_SELECTION___165 = 137,
    _SC_CPUTIME___165 = 138,
    _SC_THREAD_CPUTIME___165 = 139,
    _SC_DEVICE_IO___165 = 140,
    _SC_DEVICE_SPECIFIC___165 = 141,
    _SC_DEVICE_SPECIFIC_R___165 = 142,
    _SC_FD_MGMT___165 = 143,
    _SC_FIFO___165 = 144,
    _SC_PIPE___165 = 145,
    _SC_FILE_ATTRIBUTES___165 = 146,
    _SC_FILE_LOCKING___165 = 147,
    _SC_FILE_SYSTEM___165 = 148,
    _SC_MONOTONIC_CLOCK___165 = 149,
    _SC_MULTI_PROCESS___165 = 150,
    _SC_SINGLE_PROCESS___165 = 151,
    _SC_NETWORKING___165 = 152,
    _SC_READER_WRITER_LOCKS___165 = 153,
    _SC_SPIN_LOCKS___165 = 154,
    _SC_REGEXP___165 = 155,
    _SC_REGEX_VERSION___165 = 156,
    _SC_SHELL___165 = 157,
    _SC_SIGNALS___165 = 158,
    _SC_SPAWN___165 = 159,
    _SC_SPORADIC_SERVER___165 = 160,
    _SC_THREAD_SPORADIC_SERVER___165 = 161,
    _SC_SYSTEM_DATABASE___165 = 162,
    _SC_SYSTEM_DATABASE_R___165 = 163,
    _SC_TIMEOUTS___165 = 164,
    _SC_TYPED_MEMORY_OBJECTS___165 = 165,
    _SC_USER_GROUPS___165 = 166,
    _SC_USER_GROUPS_R___165 = 167,
    _SC_2_PBS___165 = 168,
    _SC_2_PBS_ACCOUNTING___165 = 169,
    _SC_2_PBS_LOCATE___165 = 170,
    _SC_2_PBS_MESSAGE___165 = 171,
    _SC_2_PBS_TRACK___165 = 172,
    _SC_SYMLOOP_MAX___165 = 173,
    _SC_STREAMS___165 = 174,
    _SC_2_PBS_CHECKPOINT___165 = 175,
    _SC_V6_ILP32_OFF32___165 = 176,
    _SC_V6_ILP32_OFFBIG___165 = 177,
    _SC_V6_LP64_OFF64___165 = 178,
    _SC_V6_LPBIG_OFFBIG___165 = 179,
    _SC_HOST_NAME_MAX___165 = 180,
    _SC_TRACE___165 = 181,
    _SC_TRACE_EVENT_FILTER___165 = 182,
    _SC_TRACE_INHERIT___165 = 183,
    _SC_TRACE_LOG___165 = 184,
    _SC_LEVEL1_ICACHE_SIZE___165 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___165 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___165 = 187,
    _SC_LEVEL1_DCACHE_SIZE___165 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___165 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___165 = 190,
    _SC_LEVEL2_CACHE_SIZE___165 = 191,
    _SC_LEVEL2_CACHE_ASSOC___165 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___165 = 193,
    _SC_LEVEL3_CACHE_SIZE___165 = 194,
    _SC_LEVEL3_CACHE_ASSOC___165 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___165 = 196,
    _SC_LEVEL4_CACHE_SIZE___165 = 197,
    _SC_LEVEL4_CACHE_ASSOC___165 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___165 = 199,
    _SC_IPV6___165 = 235,
    _SC_RAW_SOCKETS___165 = 236,
    _SC_V7_ILP32_OFF32___165 = 237,
    _SC_V7_ILP32_OFFBIG___165 = 238,
    _SC_V7_LP64_OFF64___165 = 239,
    _SC_V7_LPBIG_OFFBIG___165 = 240,
    _SC_SS_REPL_MAX___165 = 241,
    _SC_TRACE_EVENT_NAME_MAX___165 = 242,
    _SC_TRACE_NAME_MAX___165 = 243,
    _SC_TRACE_SYS_MAX___165 = 244,
    _SC_TRACE_USER_EVENT_MAX___165 = 245,
    _SC_XOPEN_STREAMS___165 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___165 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___165 = 248
} ;
enum __anonenum_875524036___165 {
    _CS_PATH___165 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___165 = 1,
    _CS_GNU_LIBC_VERSION___165 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___165 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___165 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___165 = 5,
    _CS_LFS_CFLAGS___165 = 1000,
    _CS_LFS_LDFLAGS___165 = 1001,
    _CS_LFS_LIBS___165 = 1002,
    _CS_LFS_LINTFLAGS___165 = 1003,
    _CS_LFS64_CFLAGS___165 = 1004,
    _CS_LFS64_LDFLAGS___165 = 1005,
    _CS_LFS64_LIBS___165 = 1006,
    _CS_LFS64_LINTFLAGS___165 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___165 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___165 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___165 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___165 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___165 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___165 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___165 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___165 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___165 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___165 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___165 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___165 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___165 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___165 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___165 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___165 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___165 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___165 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___165 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___165 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___165 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___165 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___165 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___165 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___165 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___165 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___165 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___165 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___165 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___165 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___165 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___165 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___165 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___165 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___165 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___165 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___165 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___165 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___165 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___165 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___165 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___165 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___165 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___165 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___165 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___165 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___165 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___165 = 1147,
    _CS_V6_ENV___165 = 1148,
    _CS_V7_ENV___165 = 1149
} ;
enum __anonenum_513775621___165 {
    DT_UNKNOWN___165 = 0,
    DT_FIFO___165 = 1,
    DT_CHR___165 = 2,
    DT_DIR___165 = 4,
    DT_BLK___165 = 6,
    DT_REG___165 = 8,
    DT_LNK___165 = 10,
    DT_SOCK___165 = 12,
    DT_WHT___165 = 14
} ;
enum __anonenum_77002343___165 {
    SI_ASYNCNL___165 = -60,
    SI_TKILL___165 = -6,
    SI_SIGIO___165 = -5,
    SI_ASYNCIO___165 = -4,
    SI_MESGQ___165 = -3,
    SI_TIMER___165 = -2,
    SI_QUEUE___165 = -1,
    SI_USER___165 = 0,
    SI_KERNEL___165 = 128
} ;
enum __anonenum_131038172___165 {
    ILL_ILLOPC___165 = 1,
    ILL_ILLOPN___165 = 2,
    ILL_ILLADR___165 = 3,
    ILL_ILLTRP___165 = 4,
    ILL_PRVOPC___165 = 5,
    ILL_PRVREG___165 = 6,
    ILL_COPROC___165 = 7,
    ILL_BADSTK___165 = 8
} ;
enum __anonenum_452038093___165 {
    FPE_INTDIV___165 = 1,
    FPE_INTOVF___165 = 2,
    FPE_FLTDIV___165 = 3,
    FPE_FLTOVF___165 = 4,
    FPE_FLTUND___165 = 5,
    FPE_FLTRES___165 = 6,
    FPE_FLTINV___165 = 7,
    FPE_FLTSUB___165 = 8
} ;
enum __anonenum_30976155___165 {
    SEGV_MAPERR___165 = 1,
    SEGV_ACCERR___165 = 2,
    SEGV_BNDERR___165 = 3,
    SEGV_PKUERR___165 = 4
} ;
enum __anonenum_1036286214___165 {
    BUS_ADRALN___165 = 1,
    BUS_ADRERR___165 = 2,
    BUS_OBJERR___165 = 3,
    BUS_MCEERR_AR___165 = 4,
    BUS_MCEERR_AO___165 = 5
} ;
enum __anonenum_493465559___165 {
    TRAP_BRKPT___165 = 1,
    TRAP_TRACE___165 = 2
} ;
enum __anonenum_23175539___165 {
    CLD_EXITED___165 = 1,
    CLD_KILLED___165 = 2,
    CLD_DUMPED___165 = 3,
    CLD_TRAPPED___165 = 4,
    CLD_STOPPED___165 = 5,
    CLD_CONTINUED___165 = 6
} ;
enum __anonenum_111643124___165 {
    POLL_IN___165 = 1,
    POLL_OUT___165 = 2,
    POLL_MSG___165 = 3,
    POLL_ERR___165 = 4,
    POLL_PRI___165 = 5,
    POLL_HUP___165 = 6
} ;
enum __anonenum_852341087___165 {
    SIGEV_SIGNAL___165 = 0,
    SIGEV_NONE___165 = 1,
    SIGEV_THREAD___165 = 2,
    SIGEV_THREAD_ID___165 = 4
} ;
enum __anonenum_451154152___165 {
    REG_R8___165 = 0,
    REG_R9___165 = 1,
    REG_R10___165 = 2,
    REG_R11___165 = 3,
    REG_R12___165 = 4,
    REG_R13___165 = 5,
    REG_R14___165 = 6,
    REG_R15___165 = 7,
    REG_RDI___165 = 8,
    REG_RSI___165 = 9,
    REG_RBP___165 = 10,
    REG_RBX___165 = 11,
    REG_RDX___165 = 12,
    REG_RAX___165 = 13,
    REG_RCX___165 = 14,
    REG_RSP___165 = 15,
    REG_RIP___165 = 16,
    REG_EFL___165 = 17,
    REG_CSGSFS___165 = 18,
    REG_ERR___165 = 19,
    REG_TRAPNO___165 = 20,
    REG_OLDMASK___165 = 21,
    REG_CR2___165 = 22
} ;
enum __anonenum_57186863___165 {
    SS_ONSTACK___165 = 1,
    SS_DISABLE___165 = 2
} ;
enum __anonenum_83571709___165 {
    MSG_OOB___165 = 1,
    MSG_PEEK___165 = 2,
    MSG_DONTROUTE___165 = 4,
    MSG_TRYHARD___165 = 4,
    MSG_CTRUNC___165 = 8,
    MSG_PROXY___165 = 16,
    MSG_TRUNC___165 = 32,
    MSG_DONTWAIT___165 = 64,
    MSG_EOR___165 = 128,
    MSG_WAITALL___165 = 256,
    MSG_FIN___165 = 512,
    MSG_SYN___165 = 1024,
    MSG_CONFIRM___165 = 2048,
    MSG_RST___165 = 4096,
    MSG_ERRQUEUE___165 = 8192,
    MSG_NOSIGNAL___165 = 16384,
    MSG_MORE___165 = 32768,
    MSG_WAITFORONE___165 = 65536,
    MSG_BATCH___165 = 262144,
    MSG_ZEROCOPY___165 = 67108864,
    MSG_FASTOPEN___165 = 536870912,
    MSG_CMSG_CLOEXEC___165 = 1073741824
} ;
enum __anonenum_617082774___165 {
    SCM_RIGHTS___165 = 1,
    SCM_CREDENTIALS___165 = 2
} ;
enum __anonenum_606441560___165 {
    SHUT_RD___165 = 0,
    SHUT_WR___165 = 1,
    SHUT_RDWR___165 = 2
} ;
enum __anonenum_681669233___165 {
    IPPROTO_IP___165 = 0,
    IPPROTO_ICMP___165 = 1,
    IPPROTO_IGMP___165 = 2,
    IPPROTO_IPIP___165 = 4,
    IPPROTO_TCP___165 = 6,
    IPPROTO_EGP___165 = 8,
    IPPROTO_PUP___165 = 12,
    IPPROTO_UDP___165 = 17,
    IPPROTO_IDP___165 = 22,
    IPPROTO_TP___165 = 29,
    IPPROTO_DCCP___165 = 33,
    IPPROTO_IPV6___165 = 41,
    IPPROTO_RSVP___165 = 46,
    IPPROTO_GRE___165 = 47,
    IPPROTO_ESP___165 = 50,
    IPPROTO_AH___165 = 51,
    IPPROTO_MTP___165 = 92,
    IPPROTO_BEETPH___165 = 94,
    IPPROTO_ENCAP___165 = 98,
    IPPROTO_PIM___165 = 103,
    IPPROTO_COMP___165 = 108,
    IPPROTO_SCTP___165 = 132,
    IPPROTO_UDPLITE___165 = 136,
    IPPROTO_MPLS___165 = 137,
    IPPROTO_RAW___165 = 255,
    IPPROTO_MAX___165 = 256
} ;
enum __anonenum_218739988___165 {
    IPPROTO_HOPOPTS___165 = 0,
    IPPROTO_ROUTING___165 = 43,
    IPPROTO_FRAGMENT___165 = 44,
    IPPROTO_ICMPV6___165 = 58,
    IPPROTO_NONE___165 = 59,
    IPPROTO_DSTOPTS___165 = 60,
    IPPROTO_MH___165 = 135
} ;
enum __anonenum_662268580___165 {
    IPPORT_ECHO___165 = 7,
    IPPORT_DISCARD___165 = 9,
    IPPORT_SYSTAT___165 = 11,
    IPPORT_DAYTIME___165 = 13,
    IPPORT_NETSTAT___165 = 15,
    IPPORT_FTP___165 = 21,
    IPPORT_TELNET___165 = 23,
    IPPORT_SMTP___165 = 25,
    IPPORT_TIMESERVER___165 = 37,
    IPPORT_NAMESERVER___165 = 42,
    IPPORT_WHOIS___165 = 43,
    IPPORT_MTP___165 = 57,
    IPPORT_TFTP___165 = 69,
    IPPORT_RJE___165 = 77,
    IPPORT_FINGER___165 = 79,
    IPPORT_TTYLINK___165 = 87,
    IPPORT_SUPDUP___165 = 95,
    IPPORT_EXECSERVER___165 = 512,
    IPPORT_LOGINSERVER___165 = 513,
    IPPORT_CMDSERVER___165 = 514,
    IPPORT_EFSSERVER___165 = 520,
    IPPORT_BIFFUDP___165 = 512,
    IPPORT_WHOSERVER___165 = 513,
    IPPORT_ROUTESERVER___165 = 520,
    IPPORT_RESERVED___165 = 1024,
    IPPORT_USERRESERVED___165 = 5000
} ;
enum __anonenum_788308992___165 {
    TCP_ESTABLISHED___165 = 1,
    TCP_SYN_SENT___165 = 2,
    TCP_SYN_RECV___165 = 3,
    TCP_FIN_WAIT1___165 = 4,
    TCP_FIN_WAIT2___165 = 5,
    TCP_TIME_WAIT___165 = 6,
    TCP_CLOSE___165 = 7,
    TCP_CLOSE_WAIT___165 = 8,
    TCP_LAST_ACK___165 = 9,
    TCP_LISTEN___165 = 10,
    TCP_CLOSING___165 = 11
} ;
enum __anonenum_221125648___165 {
    TCP_NO_QUEUE___165 = 0,
    TCP_RECV_QUEUE___165 = 1,
    TCP_SEND_QUEUE___165 = 2,
    TCP_QUEUES_NR___165 = 3
} ;
enum __anonenum_34415463___165 {
    PTHREAD_CREATE_JOINABLE___165 = 0,
    PTHREAD_CREATE_DETACHED___165 = 1
} ;
enum __anonenum_303612439___165 {
    PTHREAD_MUTEX_TIMED_NP___165 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___165 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___165 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___165 = 3,
    PTHREAD_MUTEX_NORMAL___165 = 0,
    PTHREAD_MUTEX_RECURSIVE___165 = 1,
    PTHREAD_MUTEX_ERRORCHECK___165 = 2,
    PTHREAD_MUTEX_DEFAULT___165 = 0,
    PTHREAD_MUTEX_FAST_NP___165 = 0
} ;
enum __anonenum_931900394___165 {
    PTHREAD_MUTEX_STALLED___165 = 0,
    PTHREAD_MUTEX_STALLED_NP___165 = 0,
    PTHREAD_MUTEX_ROBUST___165 = 1,
    PTHREAD_MUTEX_ROBUST_NP___165 = 1
} ;
enum __anonenum_205214487___165 {
    PTHREAD_PRIO_NONE___165 = 0,
    PTHREAD_PRIO_INHERIT___165 = 1,
    PTHREAD_PRIO_PROTECT___165 = 2
} ;
enum __anonenum_25043950___165 {
    PTHREAD_RWLOCK_PREFER_READER_NP___165 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___165 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___165 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___165 = 0
} ;
enum __anonenum_436439511___165 {
    PTHREAD_INHERIT_SCHED___165 = 0,
    PTHREAD_EXPLICIT_SCHED___165 = 1
} ;
enum __anonenum_998661166___165 {
    PTHREAD_SCOPE_SYSTEM___165 = 0,
    PTHREAD_SCOPE_PROCESS___165 = 1
} ;
enum __anonenum_146137331___165 {
    PTHREAD_PROCESS_PRIVATE___165 = 0,
    PTHREAD_PROCESS_SHARED___165 = 1
} ;
enum __anonenum_53396917___165 {
    PTHREAD_CANCEL_ENABLE___165 = 0,
    PTHREAD_CANCEL_DISABLE___165 = 1
} ;
enum __anonenum_904563783___165 {
    PTHREAD_CANCEL_DEFERRED___165 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___165 = 1
} ;
enum __anonenum_672052974___165 {
    SSL_CT_VALIDATION_PERMISSIVE___165 = 0,
    SSL_CT_VALIDATION_STRICT___165 = 1
} ;
enum __anonenum_34023289___13 {
    REMOTE_UNCONFIGURED___13 = 0,
    REMOTE_CONFIG___13 = 1,
    REMOTE_REMOTES___13 = 2,
    REMOTE_BRANCHES___13 = 3
} ;
enum __anonenum_561748495___10 {
    RECURSE_SUBMODULES_ONLY___10 = -5,
    RECURSE_SUBMODULES_CHECK___10 = -4,
    RECURSE_SUBMODULES_ERROR___10 = -3,
    RECURSE_SUBMODULES_NONE___10 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___10 = -1,
    RECURSE_SUBMODULES_OFF___10 = 0,
    RECURSE_SUBMODULES_DEFAULT___10 = 1,
    RECURSE_SUBMODULES_ON___10 = 2
} ;
enum __anonenum_437032235___166 {
    _PC_LINK_MAX___166 = 0,
    _PC_MAX_CANON___166 = 1,
    _PC_MAX_INPUT___166 = 2,
    _PC_NAME_MAX___166 = 3,
    _PC_PATH_MAX___166 = 4,
    _PC_PIPE_BUF___166 = 5,
    _PC_CHOWN_RESTRICTED___166 = 6,
    _PC_NO_TRUNC___166 = 7,
    _PC_VDISABLE___166 = 8,
    _PC_SYNC_IO___166 = 9,
    _PC_ASYNC_IO___166 = 10,
    _PC_PRIO_IO___166 = 11,
    _PC_SOCK_MAXBUF___166 = 12,
    _PC_FILESIZEBITS___166 = 13,
    _PC_REC_INCR_XFER_SIZE___166 = 14,
    _PC_REC_MAX_XFER_SIZE___166 = 15,
    _PC_REC_MIN_XFER_SIZE___166 = 16,
    _PC_REC_XFER_ALIGN___166 = 17,
    _PC_ALLOC_SIZE_MIN___166 = 18,
    _PC_SYMLINK_MAX___166 = 19,
    _PC_2_SYMLINKS___166 = 20
} ;
enum __anonenum_315186338___166 {
    _SC_ARG_MAX___166 = 0,
    _SC_CHILD_MAX___166 = 1,
    _SC_CLK_TCK___166 = 2,
    _SC_NGROUPS_MAX___166 = 3,
    _SC_OPEN_MAX___166 = 4,
    _SC_STREAM_MAX___166 = 5,
    _SC_TZNAME_MAX___166 = 6,
    _SC_JOB_CONTROL___166 = 7,
    _SC_SAVED_IDS___166 = 8,
    _SC_REALTIME_SIGNALS___166 = 9,
    _SC_PRIORITY_SCHEDULING___166 = 10,
    _SC_TIMERS___166 = 11,
    _SC_ASYNCHRONOUS_IO___166 = 12,
    _SC_PRIORITIZED_IO___166 = 13,
    _SC_SYNCHRONIZED_IO___166 = 14,
    _SC_FSYNC___166 = 15,
    _SC_MAPPED_FILES___166 = 16,
    _SC_MEMLOCK___166 = 17,
    _SC_MEMLOCK_RANGE___166 = 18,
    _SC_MEMORY_PROTECTION___166 = 19,
    _SC_MESSAGE_PASSING___166 = 20,
    _SC_SEMAPHORES___166 = 21,
    _SC_SHARED_MEMORY_OBJECTS___166 = 22,
    _SC_AIO_LISTIO_MAX___166 = 23,
    _SC_AIO_MAX___166 = 24,
    _SC_AIO_PRIO_DELTA_MAX___166 = 25,
    _SC_DELAYTIMER_MAX___166 = 26,
    _SC_MQ_OPEN_MAX___166 = 27,
    _SC_MQ_PRIO_MAX___166 = 28,
    _SC_VERSION___166 = 29,
    _SC_PAGESIZE___166 = 30,
    _SC_RTSIG_MAX___166 = 31,
    _SC_SEM_NSEMS_MAX___166 = 32,
    _SC_SEM_VALUE_MAX___166 = 33,
    _SC_SIGQUEUE_MAX___166 = 34,
    _SC_TIMER_MAX___166 = 35,
    _SC_BC_BASE_MAX___166 = 36,
    _SC_BC_DIM_MAX___166 = 37,
    _SC_BC_SCALE_MAX___166 = 38,
    _SC_BC_STRING_MAX___166 = 39,
    _SC_COLL_WEIGHTS_MAX___166 = 40,
    _SC_EQUIV_CLASS_MAX___166 = 41,
    _SC_EXPR_NEST_MAX___166 = 42,
    _SC_LINE_MAX___166 = 43,
    _SC_RE_DUP_MAX___166 = 44,
    _SC_CHARCLASS_NAME_MAX___166 = 45,
    _SC_2_VERSION___166 = 46,
    _SC_2_C_BIND___166 = 47,
    _SC_2_C_DEV___166 = 48,
    _SC_2_FORT_DEV___166 = 49,
    _SC_2_FORT_RUN___166 = 50,
    _SC_2_SW_DEV___166 = 51,
    _SC_2_LOCALEDEF___166 = 52,
    _SC_PII___166 = 53,
    _SC_PII_XTI___166 = 54,
    _SC_PII_SOCKET___166 = 55,
    _SC_PII_INTERNET___166 = 56,
    _SC_PII_OSI___166 = 57,
    _SC_POLL___166 = 58,
    _SC_SELECT___166 = 59,
    _SC_UIO_MAXIOV___166 = 60,
    _SC_IOV_MAX___166 = 60,
    _SC_PII_INTERNET_STREAM___166 = 61,
    _SC_PII_INTERNET_DGRAM___166 = 62,
    _SC_PII_OSI_COTS___166 = 63,
    _SC_PII_OSI_CLTS___166 = 64,
    _SC_PII_OSI_M___166 = 65,
    _SC_T_IOV_MAX___166 = 66,
    _SC_THREADS___166 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___166 = 68,
    _SC_GETGR_R_SIZE_MAX___166 = 69,
    _SC_GETPW_R_SIZE_MAX___166 = 70,
    _SC_LOGIN_NAME_MAX___166 = 71,
    _SC_TTY_NAME_MAX___166 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___166 = 73,
    _SC_THREAD_KEYS_MAX___166 = 74,
    _SC_THREAD_STACK_MIN___166 = 75,
    _SC_THREAD_THREADS_MAX___166 = 76,
    _SC_THREAD_ATTR_STACKADDR___166 = 77,
    _SC_THREAD_ATTR_STACKSIZE___166 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___166 = 79,
    _SC_THREAD_PRIO_INHERIT___166 = 80,
    _SC_THREAD_PRIO_PROTECT___166 = 81,
    _SC_THREAD_PROCESS_SHARED___166 = 82,
    _SC_NPROCESSORS_CONF___166 = 83,
    _SC_NPROCESSORS_ONLN___166 = 84,
    _SC_PHYS_PAGES___166 = 85,
    _SC_AVPHYS_PAGES___166 = 86,
    _SC_ATEXIT_MAX___166 = 87,
    _SC_PASS_MAX___166 = 88,
    _SC_XOPEN_VERSION___166 = 89,
    _SC_XOPEN_XCU_VERSION___166 = 90,
    _SC_XOPEN_UNIX___166 = 91,
    _SC_XOPEN_CRYPT___166 = 92,
    _SC_XOPEN_ENH_I18N___166 = 93,
    _SC_XOPEN_SHM___166 = 94,
    _SC_2_CHAR_TERM___166 = 95,
    _SC_2_C_VERSION___166 = 96,
    _SC_2_UPE___166 = 97,
    _SC_XOPEN_XPG2___166 = 98,
    _SC_XOPEN_XPG3___166 = 99,
    _SC_XOPEN_XPG4___166 = 100,
    _SC_CHAR_BIT___166 = 101,
    _SC_CHAR_MAX___166 = 102,
    _SC_CHAR_MIN___166 = 103,
    _SC_INT_MAX___166 = 104,
    _SC_INT_MIN___166 = 105,
    _SC_LONG_BIT___166 = 106,
    _SC_WORD_BIT___166 = 107,
    _SC_MB_LEN_MAX___166 = 108,
    _SC_NZERO___166 = 109,
    _SC_SSIZE_MAX___166 = 110,
    _SC_SCHAR_MAX___166 = 111,
    _SC_SCHAR_MIN___166 = 112,
    _SC_SHRT_MAX___166 = 113,
    _SC_SHRT_MIN___166 = 114,
    _SC_UCHAR_MAX___166 = 115,
    _SC_UINT_MAX___166 = 116,
    _SC_ULONG_MAX___166 = 117,
    _SC_USHRT_MAX___166 = 118,
    _SC_NL_ARGMAX___166 = 119,
    _SC_NL_LANGMAX___166 = 120,
    _SC_NL_MSGMAX___166 = 121,
    _SC_NL_NMAX___166 = 122,
    _SC_NL_SETMAX___166 = 123,
    _SC_NL_TEXTMAX___166 = 124,
    _SC_XBS5_ILP32_OFF32___166 = 125,
    _SC_XBS5_ILP32_OFFBIG___166 = 126,
    _SC_XBS5_LP64_OFF64___166 = 127,
    _SC_XBS5_LPBIG_OFFBIG___166 = 128,
    _SC_XOPEN_LEGACY___166 = 129,
    _SC_XOPEN_REALTIME___166 = 130,
    _SC_XOPEN_REALTIME_THREADS___166 = 131,
    _SC_ADVISORY_INFO___166 = 132,
    _SC_BARRIERS___166 = 133,
    _SC_BASE___166 = 134,
    _SC_C_LANG_SUPPORT___166 = 135,
    _SC_C_LANG_SUPPORT_R___166 = 136,
    _SC_CLOCK_SELECTION___166 = 137,
    _SC_CPUTIME___166 = 138,
    _SC_THREAD_CPUTIME___166 = 139,
    _SC_DEVICE_IO___166 = 140,
    _SC_DEVICE_SPECIFIC___166 = 141,
    _SC_DEVICE_SPECIFIC_R___166 = 142,
    _SC_FD_MGMT___166 = 143,
    _SC_FIFO___166 = 144,
    _SC_PIPE___166 = 145,
    _SC_FILE_ATTRIBUTES___166 = 146,
    _SC_FILE_LOCKING___166 = 147,
    _SC_FILE_SYSTEM___166 = 148,
    _SC_MONOTONIC_CLOCK___166 = 149,
    _SC_MULTI_PROCESS___166 = 150,
    _SC_SINGLE_PROCESS___166 = 151,
    _SC_NETWORKING___166 = 152,
    _SC_READER_WRITER_LOCKS___166 = 153,
    _SC_SPIN_LOCKS___166 = 154,
    _SC_REGEXP___166 = 155,
    _SC_REGEX_VERSION___166 = 156,
    _SC_SHELL___166 = 157,
    _SC_SIGNALS___166 = 158,
    _SC_SPAWN___166 = 159,
    _SC_SPORADIC_SERVER___166 = 160,
    _SC_THREAD_SPORADIC_SERVER___166 = 161,
    _SC_SYSTEM_DATABASE___166 = 162,
    _SC_SYSTEM_DATABASE_R___166 = 163,
    _SC_TIMEOUTS___166 = 164,
    _SC_TYPED_MEMORY_OBJECTS___166 = 165,
    _SC_USER_GROUPS___166 = 166,
    _SC_USER_GROUPS_R___166 = 167,
    _SC_2_PBS___166 = 168,
    _SC_2_PBS_ACCOUNTING___166 = 169,
    _SC_2_PBS_LOCATE___166 = 170,
    _SC_2_PBS_MESSAGE___166 = 171,
    _SC_2_PBS_TRACK___166 = 172,
    _SC_SYMLOOP_MAX___166 = 173,
    _SC_STREAMS___166 = 174,
    _SC_2_PBS_CHECKPOINT___166 = 175,
    _SC_V6_ILP32_OFF32___166 = 176,
    _SC_V6_ILP32_OFFBIG___166 = 177,
    _SC_V6_LP64_OFF64___166 = 178,
    _SC_V6_LPBIG_OFFBIG___166 = 179,
    _SC_HOST_NAME_MAX___166 = 180,
    _SC_TRACE___166 = 181,
    _SC_TRACE_EVENT_FILTER___166 = 182,
    _SC_TRACE_INHERIT___166 = 183,
    _SC_TRACE_LOG___166 = 184,
    _SC_LEVEL1_ICACHE_SIZE___166 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___166 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___166 = 187,
    _SC_LEVEL1_DCACHE_SIZE___166 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___166 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___166 = 190,
    _SC_LEVEL2_CACHE_SIZE___166 = 191,
    _SC_LEVEL2_CACHE_ASSOC___166 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___166 = 193,
    _SC_LEVEL3_CACHE_SIZE___166 = 194,
    _SC_LEVEL3_CACHE_ASSOC___166 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___166 = 196,
    _SC_LEVEL4_CACHE_SIZE___166 = 197,
    _SC_LEVEL4_CACHE_ASSOC___166 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___166 = 199,
    _SC_IPV6___166 = 235,
    _SC_RAW_SOCKETS___166 = 236,
    _SC_V7_ILP32_OFF32___166 = 237,
    _SC_V7_ILP32_OFFBIG___166 = 238,
    _SC_V7_LP64_OFF64___166 = 239,
    _SC_V7_LPBIG_OFFBIG___166 = 240,
    _SC_SS_REPL_MAX___166 = 241,
    _SC_TRACE_EVENT_NAME_MAX___166 = 242,
    _SC_TRACE_NAME_MAX___166 = 243,
    _SC_TRACE_SYS_MAX___166 = 244,
    _SC_TRACE_USER_EVENT_MAX___166 = 245,
    _SC_XOPEN_STREAMS___166 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___166 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___166 = 248
} ;
enum __anonenum_875524036___166 {
    _CS_PATH___166 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___166 = 1,
    _CS_GNU_LIBC_VERSION___166 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___166 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___166 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___166 = 5,
    _CS_LFS_CFLAGS___166 = 1000,
    _CS_LFS_LDFLAGS___166 = 1001,
    _CS_LFS_LIBS___166 = 1002,
    _CS_LFS_LINTFLAGS___166 = 1003,
    _CS_LFS64_CFLAGS___166 = 1004,
    _CS_LFS64_LDFLAGS___166 = 1005,
    _CS_LFS64_LIBS___166 = 1006,
    _CS_LFS64_LINTFLAGS___166 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___166 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___166 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___166 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___166 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___166 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___166 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___166 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___166 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___166 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___166 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___166 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___166 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___166 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___166 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___166 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___166 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___166 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___166 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___166 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___166 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___166 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___166 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___166 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___166 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___166 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___166 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___166 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___166 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___166 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___166 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___166 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___166 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___166 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___166 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___166 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___166 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___166 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___166 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___166 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___166 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___166 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___166 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___166 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___166 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___166 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___166 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___166 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___166 = 1147,
    _CS_V6_ENV___166 = 1148,
    _CS_V7_ENV___166 = 1149
} ;
enum __anonenum_513775621___166 {
    DT_UNKNOWN___166 = 0,
    DT_FIFO___166 = 1,
    DT_CHR___166 = 2,
    DT_DIR___166 = 4,
    DT_BLK___166 = 6,
    DT_REG___166 = 8,
    DT_LNK___166 = 10,
    DT_SOCK___166 = 12,
    DT_WHT___166 = 14
} ;
enum __anonenum_77002343___166 {
    SI_ASYNCNL___166 = -60,
    SI_TKILL___166 = -6,
    SI_SIGIO___166 = -5,
    SI_ASYNCIO___166 = -4,
    SI_MESGQ___166 = -3,
    SI_TIMER___166 = -2,
    SI_QUEUE___166 = -1,
    SI_USER___166 = 0,
    SI_KERNEL___166 = 128
} ;
enum __anonenum_131038172___166 {
    ILL_ILLOPC___166 = 1,
    ILL_ILLOPN___166 = 2,
    ILL_ILLADR___166 = 3,
    ILL_ILLTRP___166 = 4,
    ILL_PRVOPC___166 = 5,
    ILL_PRVREG___166 = 6,
    ILL_COPROC___166 = 7,
    ILL_BADSTK___166 = 8
} ;
enum __anonenum_452038093___166 {
    FPE_INTDIV___166 = 1,
    FPE_INTOVF___166 = 2,
    FPE_FLTDIV___166 = 3,
    FPE_FLTOVF___166 = 4,
    FPE_FLTUND___166 = 5,
    FPE_FLTRES___166 = 6,
    FPE_FLTINV___166 = 7,
    FPE_FLTSUB___166 = 8
} ;
enum __anonenum_30976155___166 {
    SEGV_MAPERR___166 = 1,
    SEGV_ACCERR___166 = 2,
    SEGV_BNDERR___166 = 3,
    SEGV_PKUERR___166 = 4
} ;
enum __anonenum_1036286214___166 {
    BUS_ADRALN___166 = 1,
    BUS_ADRERR___166 = 2,
    BUS_OBJERR___166 = 3,
    BUS_MCEERR_AR___166 = 4,
    BUS_MCEERR_AO___166 = 5
} ;
enum __anonenum_493465559___166 {
    TRAP_BRKPT___166 = 1,
    TRAP_TRACE___166 = 2
} ;
enum __anonenum_23175539___166 {
    CLD_EXITED___166 = 1,
    CLD_KILLED___166 = 2,
    CLD_DUMPED___166 = 3,
    CLD_TRAPPED___166 = 4,
    CLD_STOPPED___166 = 5,
    CLD_CONTINUED___166 = 6
} ;
enum __anonenum_111643124___166 {
    POLL_IN___166 = 1,
    POLL_OUT___166 = 2,
    POLL_MSG___166 = 3,
    POLL_ERR___166 = 4,
    POLL_PRI___166 = 5,
    POLL_HUP___166 = 6
} ;
enum __anonenum_852341087___166 {
    SIGEV_SIGNAL___166 = 0,
    SIGEV_NONE___166 = 1,
    SIGEV_THREAD___166 = 2,
    SIGEV_THREAD_ID___166 = 4
} ;
enum __anonenum_451154152___166 {
    REG_R8___166 = 0,
    REG_R9___166 = 1,
    REG_R10___166 = 2,
    REG_R11___166 = 3,
    REG_R12___166 = 4,
    REG_R13___166 = 5,
    REG_R14___166 = 6,
    REG_R15___166 = 7,
    REG_RDI___166 = 8,
    REG_RSI___166 = 9,
    REG_RBP___166 = 10,
    REG_RBX___166 = 11,
    REG_RDX___166 = 12,
    REG_RAX___166 = 13,
    REG_RCX___166 = 14,
    REG_RSP___166 = 15,
    REG_RIP___166 = 16,
    REG_EFL___166 = 17,
    REG_CSGSFS___166 = 18,
    REG_ERR___166 = 19,
    REG_TRAPNO___166 = 20,
    REG_OLDMASK___166 = 21,
    REG_CR2___166 = 22
} ;
enum __anonenum_57186863___166 {
    SS_ONSTACK___166 = 1,
    SS_DISABLE___166 = 2
} ;
enum __anonenum_83571709___166 {
    MSG_OOB___166 = 1,
    MSG_PEEK___166 = 2,
    MSG_DONTROUTE___166 = 4,
    MSG_TRYHARD___166 = 4,
    MSG_CTRUNC___166 = 8,
    MSG_PROXY___166 = 16,
    MSG_TRUNC___166 = 32,
    MSG_DONTWAIT___166 = 64,
    MSG_EOR___166 = 128,
    MSG_WAITALL___166 = 256,
    MSG_FIN___166 = 512,
    MSG_SYN___166 = 1024,
    MSG_CONFIRM___166 = 2048,
    MSG_RST___166 = 4096,
    MSG_ERRQUEUE___166 = 8192,
    MSG_NOSIGNAL___166 = 16384,
    MSG_MORE___166 = 32768,
    MSG_WAITFORONE___166 = 65536,
    MSG_BATCH___166 = 262144,
    MSG_ZEROCOPY___166 = 67108864,
    MSG_FASTOPEN___166 = 536870912,
    MSG_CMSG_CLOEXEC___166 = 1073741824
} ;
enum __anonenum_617082774___166 {
    SCM_RIGHTS___166 = 1,
    SCM_CREDENTIALS___166 = 2
} ;
enum __anonenum_606441560___166 {
    SHUT_RD___166 = 0,
    SHUT_WR___166 = 1,
    SHUT_RDWR___166 = 2
} ;
enum __anonenum_681669233___166 {
    IPPROTO_IP___166 = 0,
    IPPROTO_ICMP___166 = 1,
    IPPROTO_IGMP___166 = 2,
    IPPROTO_IPIP___166 = 4,
    IPPROTO_TCP___166 = 6,
    IPPROTO_EGP___166 = 8,
    IPPROTO_PUP___166 = 12,
    IPPROTO_UDP___166 = 17,
    IPPROTO_IDP___166 = 22,
    IPPROTO_TP___166 = 29,
    IPPROTO_DCCP___166 = 33,
    IPPROTO_IPV6___166 = 41,
    IPPROTO_RSVP___166 = 46,
    IPPROTO_GRE___166 = 47,
    IPPROTO_ESP___166 = 50,
    IPPROTO_AH___166 = 51,
    IPPROTO_MTP___166 = 92,
    IPPROTO_BEETPH___166 = 94,
    IPPROTO_ENCAP___166 = 98,
    IPPROTO_PIM___166 = 103,
    IPPROTO_COMP___166 = 108,
    IPPROTO_SCTP___166 = 132,
    IPPROTO_UDPLITE___166 = 136,
    IPPROTO_MPLS___166 = 137,
    IPPROTO_RAW___166 = 255,
    IPPROTO_MAX___166 = 256
} ;
enum __anonenum_218739988___166 {
    IPPROTO_HOPOPTS___166 = 0,
    IPPROTO_ROUTING___166 = 43,
    IPPROTO_FRAGMENT___166 = 44,
    IPPROTO_ICMPV6___166 = 58,
    IPPROTO_NONE___166 = 59,
    IPPROTO_DSTOPTS___166 = 60,
    IPPROTO_MH___166 = 135
} ;
enum __anonenum_662268580___166 {
    IPPORT_ECHO___166 = 7,
    IPPORT_DISCARD___166 = 9,
    IPPORT_SYSTAT___166 = 11,
    IPPORT_DAYTIME___166 = 13,
    IPPORT_NETSTAT___166 = 15,
    IPPORT_FTP___166 = 21,
    IPPORT_TELNET___166 = 23,
    IPPORT_SMTP___166 = 25,
    IPPORT_TIMESERVER___166 = 37,
    IPPORT_NAMESERVER___166 = 42,
    IPPORT_WHOIS___166 = 43,
    IPPORT_MTP___166 = 57,
    IPPORT_TFTP___166 = 69,
    IPPORT_RJE___166 = 77,
    IPPORT_FINGER___166 = 79,
    IPPORT_TTYLINK___166 = 87,
    IPPORT_SUPDUP___166 = 95,
    IPPORT_EXECSERVER___166 = 512,
    IPPORT_LOGINSERVER___166 = 513,
    IPPORT_CMDSERVER___166 = 514,
    IPPORT_EFSSERVER___166 = 520,
    IPPORT_BIFFUDP___166 = 512,
    IPPORT_WHOSERVER___166 = 513,
    IPPORT_ROUTESERVER___166 = 520,
    IPPORT_RESERVED___166 = 1024,
    IPPORT_USERRESERVED___166 = 5000
} ;
enum __anonenum_788308992___166 {
    TCP_ESTABLISHED___166 = 1,
    TCP_SYN_SENT___166 = 2,
    TCP_SYN_RECV___166 = 3,
    TCP_FIN_WAIT1___166 = 4,
    TCP_FIN_WAIT2___166 = 5,
    TCP_TIME_WAIT___166 = 6,
    TCP_CLOSE___166 = 7,
    TCP_CLOSE_WAIT___166 = 8,
    TCP_LAST_ACK___166 = 9,
    TCP_LISTEN___166 = 10,
    TCP_CLOSING___166 = 11
} ;
enum __anonenum_221125648___166 {
    TCP_NO_QUEUE___166 = 0,
    TCP_RECV_QUEUE___166 = 1,
    TCP_SEND_QUEUE___166 = 2,
    TCP_QUEUES_NR___166 = 3
} ;
enum __anonenum_34415463___166 {
    PTHREAD_CREATE_JOINABLE___166 = 0,
    PTHREAD_CREATE_DETACHED___166 = 1
} ;
enum __anonenum_303612439___166 {
    PTHREAD_MUTEX_TIMED_NP___166 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___166 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___166 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___166 = 3,
    PTHREAD_MUTEX_NORMAL___166 = 0,
    PTHREAD_MUTEX_RECURSIVE___166 = 1,
    PTHREAD_MUTEX_ERRORCHECK___166 = 2,
    PTHREAD_MUTEX_DEFAULT___166 = 0,
    PTHREAD_MUTEX_FAST_NP___166 = 0
} ;
enum __anonenum_931900394___166 {
    PTHREAD_MUTEX_STALLED___166 = 0,
    PTHREAD_MUTEX_STALLED_NP___166 = 0,
    PTHREAD_MUTEX_ROBUST___166 = 1,
    PTHREAD_MUTEX_ROBUST_NP___166 = 1
} ;
enum __anonenum_205214487___166 {
    PTHREAD_PRIO_NONE___166 = 0,
    PTHREAD_PRIO_INHERIT___166 = 1,
    PTHREAD_PRIO_PROTECT___166 = 2
} ;
enum __anonenum_25043950___166 {
    PTHREAD_RWLOCK_PREFER_READER_NP___166 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___166 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___166 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___166 = 0
} ;
enum __anonenum_436439511___166 {
    PTHREAD_INHERIT_SCHED___166 = 0,
    PTHREAD_EXPLICIT_SCHED___166 = 1
} ;
enum __anonenum_998661166___166 {
    PTHREAD_SCOPE_SYSTEM___166 = 0,
    PTHREAD_SCOPE_PROCESS___166 = 1
} ;
enum __anonenum_146137331___166 {
    PTHREAD_PROCESS_PRIVATE___166 = 0,
    PTHREAD_PROCESS_SHARED___166 = 1
} ;
enum __anonenum_53396917___166 {
    PTHREAD_CANCEL_ENABLE___166 = 0,
    PTHREAD_CANCEL_DISABLE___166 = 1
} ;
enum __anonenum_904563783___166 {
    PTHREAD_CANCEL_DEFERRED___166 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___166 = 1
} ;
enum __anonenum_672052974___166 {
    SSL_CT_VALIDATION_PERMISSIVE___166 = 0,
    SSL_CT_VALIDATION_STRICT___166 = 1
} ;
struct rerere_dir {
   int status_alloc ;
   int status_nr ;
   unsigned char *status ;
   char name[] ;
};
struct rerere_io {
   int (*getline)(struct strbuf * , struct rerere_io * ) ;
   FILE *output ;
   int wrerror ;
};
struct rerere_io_file {
   struct rerere_io io ;
   FILE *input ;
};
enum __anonenum_hunk_973166993 {
    RR_SIDE_1 = 0,
    RR_SIDE_2 = 1,
    RR_ORIGINAL = 2
} ;
struct rerere_io_mem {
   struct rerere_io io ;
   struct strbuf input ;
};
enum __anonenum_437032235___167 {
    _PC_LINK_MAX___167 = 0,
    _PC_MAX_CANON___167 = 1,
    _PC_MAX_INPUT___167 = 2,
    _PC_NAME_MAX___167 = 3,
    _PC_PATH_MAX___167 = 4,
    _PC_PIPE_BUF___167 = 5,
    _PC_CHOWN_RESTRICTED___167 = 6,
    _PC_NO_TRUNC___167 = 7,
    _PC_VDISABLE___167 = 8,
    _PC_SYNC_IO___167 = 9,
    _PC_ASYNC_IO___167 = 10,
    _PC_PRIO_IO___167 = 11,
    _PC_SOCK_MAXBUF___167 = 12,
    _PC_FILESIZEBITS___167 = 13,
    _PC_REC_INCR_XFER_SIZE___167 = 14,
    _PC_REC_MAX_XFER_SIZE___167 = 15,
    _PC_REC_MIN_XFER_SIZE___167 = 16,
    _PC_REC_XFER_ALIGN___167 = 17,
    _PC_ALLOC_SIZE_MIN___167 = 18,
    _PC_SYMLINK_MAX___167 = 19,
    _PC_2_SYMLINKS___167 = 20
} ;
enum __anonenum_315186338___167 {
    _SC_ARG_MAX___167 = 0,
    _SC_CHILD_MAX___167 = 1,
    _SC_CLK_TCK___167 = 2,
    _SC_NGROUPS_MAX___167 = 3,
    _SC_OPEN_MAX___167 = 4,
    _SC_STREAM_MAX___167 = 5,
    _SC_TZNAME_MAX___167 = 6,
    _SC_JOB_CONTROL___167 = 7,
    _SC_SAVED_IDS___167 = 8,
    _SC_REALTIME_SIGNALS___167 = 9,
    _SC_PRIORITY_SCHEDULING___167 = 10,
    _SC_TIMERS___167 = 11,
    _SC_ASYNCHRONOUS_IO___167 = 12,
    _SC_PRIORITIZED_IO___167 = 13,
    _SC_SYNCHRONIZED_IO___167 = 14,
    _SC_FSYNC___167 = 15,
    _SC_MAPPED_FILES___167 = 16,
    _SC_MEMLOCK___167 = 17,
    _SC_MEMLOCK_RANGE___167 = 18,
    _SC_MEMORY_PROTECTION___167 = 19,
    _SC_MESSAGE_PASSING___167 = 20,
    _SC_SEMAPHORES___167 = 21,
    _SC_SHARED_MEMORY_OBJECTS___167 = 22,
    _SC_AIO_LISTIO_MAX___167 = 23,
    _SC_AIO_MAX___167 = 24,
    _SC_AIO_PRIO_DELTA_MAX___167 = 25,
    _SC_DELAYTIMER_MAX___167 = 26,
    _SC_MQ_OPEN_MAX___167 = 27,
    _SC_MQ_PRIO_MAX___167 = 28,
    _SC_VERSION___167 = 29,
    _SC_PAGESIZE___167 = 30,
    _SC_RTSIG_MAX___167 = 31,
    _SC_SEM_NSEMS_MAX___167 = 32,
    _SC_SEM_VALUE_MAX___167 = 33,
    _SC_SIGQUEUE_MAX___167 = 34,
    _SC_TIMER_MAX___167 = 35,
    _SC_BC_BASE_MAX___167 = 36,
    _SC_BC_DIM_MAX___167 = 37,
    _SC_BC_SCALE_MAX___167 = 38,
    _SC_BC_STRING_MAX___167 = 39,
    _SC_COLL_WEIGHTS_MAX___167 = 40,
    _SC_EQUIV_CLASS_MAX___167 = 41,
    _SC_EXPR_NEST_MAX___167 = 42,
    _SC_LINE_MAX___167 = 43,
    _SC_RE_DUP_MAX___167 = 44,
    _SC_CHARCLASS_NAME_MAX___167 = 45,
    _SC_2_VERSION___167 = 46,
    _SC_2_C_BIND___167 = 47,
    _SC_2_C_DEV___167 = 48,
    _SC_2_FORT_DEV___167 = 49,
    _SC_2_FORT_RUN___167 = 50,
    _SC_2_SW_DEV___167 = 51,
    _SC_2_LOCALEDEF___167 = 52,
    _SC_PII___167 = 53,
    _SC_PII_XTI___167 = 54,
    _SC_PII_SOCKET___167 = 55,
    _SC_PII_INTERNET___167 = 56,
    _SC_PII_OSI___167 = 57,
    _SC_POLL___167 = 58,
    _SC_SELECT___167 = 59,
    _SC_UIO_MAXIOV___167 = 60,
    _SC_IOV_MAX___167 = 60,
    _SC_PII_INTERNET_STREAM___167 = 61,
    _SC_PII_INTERNET_DGRAM___167 = 62,
    _SC_PII_OSI_COTS___167 = 63,
    _SC_PII_OSI_CLTS___167 = 64,
    _SC_PII_OSI_M___167 = 65,
    _SC_T_IOV_MAX___167 = 66,
    _SC_THREADS___167 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___167 = 68,
    _SC_GETGR_R_SIZE_MAX___167 = 69,
    _SC_GETPW_R_SIZE_MAX___167 = 70,
    _SC_LOGIN_NAME_MAX___167 = 71,
    _SC_TTY_NAME_MAX___167 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___167 = 73,
    _SC_THREAD_KEYS_MAX___167 = 74,
    _SC_THREAD_STACK_MIN___167 = 75,
    _SC_THREAD_THREADS_MAX___167 = 76,
    _SC_THREAD_ATTR_STACKADDR___167 = 77,
    _SC_THREAD_ATTR_STACKSIZE___167 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___167 = 79,
    _SC_THREAD_PRIO_INHERIT___167 = 80,
    _SC_THREAD_PRIO_PROTECT___167 = 81,
    _SC_THREAD_PROCESS_SHARED___167 = 82,
    _SC_NPROCESSORS_CONF___167 = 83,
    _SC_NPROCESSORS_ONLN___167 = 84,
    _SC_PHYS_PAGES___167 = 85,
    _SC_AVPHYS_PAGES___167 = 86,
    _SC_ATEXIT_MAX___167 = 87,
    _SC_PASS_MAX___167 = 88,
    _SC_XOPEN_VERSION___167 = 89,
    _SC_XOPEN_XCU_VERSION___167 = 90,
    _SC_XOPEN_UNIX___167 = 91,
    _SC_XOPEN_CRYPT___167 = 92,
    _SC_XOPEN_ENH_I18N___167 = 93,
    _SC_XOPEN_SHM___167 = 94,
    _SC_2_CHAR_TERM___167 = 95,
    _SC_2_C_VERSION___167 = 96,
    _SC_2_UPE___167 = 97,
    _SC_XOPEN_XPG2___167 = 98,
    _SC_XOPEN_XPG3___167 = 99,
    _SC_XOPEN_XPG4___167 = 100,
    _SC_CHAR_BIT___167 = 101,
    _SC_CHAR_MAX___167 = 102,
    _SC_CHAR_MIN___167 = 103,
    _SC_INT_MAX___167 = 104,
    _SC_INT_MIN___167 = 105,
    _SC_LONG_BIT___167 = 106,
    _SC_WORD_BIT___167 = 107,
    _SC_MB_LEN_MAX___167 = 108,
    _SC_NZERO___167 = 109,
    _SC_SSIZE_MAX___167 = 110,
    _SC_SCHAR_MAX___167 = 111,
    _SC_SCHAR_MIN___167 = 112,
    _SC_SHRT_MAX___167 = 113,
    _SC_SHRT_MIN___167 = 114,
    _SC_UCHAR_MAX___167 = 115,
    _SC_UINT_MAX___167 = 116,
    _SC_ULONG_MAX___167 = 117,
    _SC_USHRT_MAX___167 = 118,
    _SC_NL_ARGMAX___167 = 119,
    _SC_NL_LANGMAX___167 = 120,
    _SC_NL_MSGMAX___167 = 121,
    _SC_NL_NMAX___167 = 122,
    _SC_NL_SETMAX___167 = 123,
    _SC_NL_TEXTMAX___167 = 124,
    _SC_XBS5_ILP32_OFF32___167 = 125,
    _SC_XBS5_ILP32_OFFBIG___167 = 126,
    _SC_XBS5_LP64_OFF64___167 = 127,
    _SC_XBS5_LPBIG_OFFBIG___167 = 128,
    _SC_XOPEN_LEGACY___167 = 129,
    _SC_XOPEN_REALTIME___167 = 130,
    _SC_XOPEN_REALTIME_THREADS___167 = 131,
    _SC_ADVISORY_INFO___167 = 132,
    _SC_BARRIERS___167 = 133,
    _SC_BASE___167 = 134,
    _SC_C_LANG_SUPPORT___167 = 135,
    _SC_C_LANG_SUPPORT_R___167 = 136,
    _SC_CLOCK_SELECTION___167 = 137,
    _SC_CPUTIME___167 = 138,
    _SC_THREAD_CPUTIME___167 = 139,
    _SC_DEVICE_IO___167 = 140,
    _SC_DEVICE_SPECIFIC___167 = 141,
    _SC_DEVICE_SPECIFIC_R___167 = 142,
    _SC_FD_MGMT___167 = 143,
    _SC_FIFO___167 = 144,
    _SC_PIPE___167 = 145,
    _SC_FILE_ATTRIBUTES___167 = 146,
    _SC_FILE_LOCKING___167 = 147,
    _SC_FILE_SYSTEM___167 = 148,
    _SC_MONOTONIC_CLOCK___167 = 149,
    _SC_MULTI_PROCESS___167 = 150,
    _SC_SINGLE_PROCESS___167 = 151,
    _SC_NETWORKING___167 = 152,
    _SC_READER_WRITER_LOCKS___167 = 153,
    _SC_SPIN_LOCKS___167 = 154,
    _SC_REGEXP___167 = 155,
    _SC_REGEX_VERSION___167 = 156,
    _SC_SHELL___167 = 157,
    _SC_SIGNALS___167 = 158,
    _SC_SPAWN___167 = 159,
    _SC_SPORADIC_SERVER___167 = 160,
    _SC_THREAD_SPORADIC_SERVER___167 = 161,
    _SC_SYSTEM_DATABASE___167 = 162,
    _SC_SYSTEM_DATABASE_R___167 = 163,
    _SC_TIMEOUTS___167 = 164,
    _SC_TYPED_MEMORY_OBJECTS___167 = 165,
    _SC_USER_GROUPS___167 = 166,
    _SC_USER_GROUPS_R___167 = 167,
    _SC_2_PBS___167 = 168,
    _SC_2_PBS_ACCOUNTING___167 = 169,
    _SC_2_PBS_LOCATE___167 = 170,
    _SC_2_PBS_MESSAGE___167 = 171,
    _SC_2_PBS_TRACK___167 = 172,
    _SC_SYMLOOP_MAX___167 = 173,
    _SC_STREAMS___167 = 174,
    _SC_2_PBS_CHECKPOINT___167 = 175,
    _SC_V6_ILP32_OFF32___167 = 176,
    _SC_V6_ILP32_OFFBIG___167 = 177,
    _SC_V6_LP64_OFF64___167 = 178,
    _SC_V6_LPBIG_OFFBIG___167 = 179,
    _SC_HOST_NAME_MAX___167 = 180,
    _SC_TRACE___167 = 181,
    _SC_TRACE_EVENT_FILTER___167 = 182,
    _SC_TRACE_INHERIT___167 = 183,
    _SC_TRACE_LOG___167 = 184,
    _SC_LEVEL1_ICACHE_SIZE___167 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___167 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___167 = 187,
    _SC_LEVEL1_DCACHE_SIZE___167 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___167 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___167 = 190,
    _SC_LEVEL2_CACHE_SIZE___167 = 191,
    _SC_LEVEL2_CACHE_ASSOC___167 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___167 = 193,
    _SC_LEVEL3_CACHE_SIZE___167 = 194,
    _SC_LEVEL3_CACHE_ASSOC___167 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___167 = 196,
    _SC_LEVEL4_CACHE_SIZE___167 = 197,
    _SC_LEVEL4_CACHE_ASSOC___167 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___167 = 199,
    _SC_IPV6___167 = 235,
    _SC_RAW_SOCKETS___167 = 236,
    _SC_V7_ILP32_OFF32___167 = 237,
    _SC_V7_ILP32_OFFBIG___167 = 238,
    _SC_V7_LP64_OFF64___167 = 239,
    _SC_V7_LPBIG_OFFBIG___167 = 240,
    _SC_SS_REPL_MAX___167 = 241,
    _SC_TRACE_EVENT_NAME_MAX___167 = 242,
    _SC_TRACE_NAME_MAX___167 = 243,
    _SC_TRACE_SYS_MAX___167 = 244,
    _SC_TRACE_USER_EVENT_MAX___167 = 245,
    _SC_XOPEN_STREAMS___167 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___167 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___167 = 248
} ;
enum __anonenum_875524036___167 {
    _CS_PATH___167 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___167 = 1,
    _CS_GNU_LIBC_VERSION___167 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___167 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___167 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___167 = 5,
    _CS_LFS_CFLAGS___167 = 1000,
    _CS_LFS_LDFLAGS___167 = 1001,
    _CS_LFS_LIBS___167 = 1002,
    _CS_LFS_LINTFLAGS___167 = 1003,
    _CS_LFS64_CFLAGS___167 = 1004,
    _CS_LFS64_LDFLAGS___167 = 1005,
    _CS_LFS64_LIBS___167 = 1006,
    _CS_LFS64_LINTFLAGS___167 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___167 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___167 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___167 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___167 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___167 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___167 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___167 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___167 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___167 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___167 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___167 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___167 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___167 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___167 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___167 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___167 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___167 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___167 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___167 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___167 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___167 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___167 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___167 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___167 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___167 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___167 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___167 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___167 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___167 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___167 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___167 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___167 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___167 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___167 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___167 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___167 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___167 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___167 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___167 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___167 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___167 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___167 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___167 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___167 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___167 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___167 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___167 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___167 = 1147,
    _CS_V6_ENV___167 = 1148,
    _CS_V7_ENV___167 = 1149
} ;
enum __anonenum_513775621___167 {
    DT_UNKNOWN___167 = 0,
    DT_FIFO___167 = 1,
    DT_CHR___167 = 2,
    DT_DIR___167 = 4,
    DT_BLK___167 = 6,
    DT_REG___167 = 8,
    DT_LNK___167 = 10,
    DT_SOCK___167 = 12,
    DT_WHT___167 = 14
} ;
enum __anonenum_77002343___167 {
    SI_ASYNCNL___167 = -60,
    SI_TKILL___167 = -6,
    SI_SIGIO___167 = -5,
    SI_ASYNCIO___167 = -4,
    SI_MESGQ___167 = -3,
    SI_TIMER___167 = -2,
    SI_QUEUE___167 = -1,
    SI_USER___167 = 0,
    SI_KERNEL___167 = 128
} ;
enum __anonenum_131038172___167 {
    ILL_ILLOPC___167 = 1,
    ILL_ILLOPN___167 = 2,
    ILL_ILLADR___167 = 3,
    ILL_ILLTRP___167 = 4,
    ILL_PRVOPC___167 = 5,
    ILL_PRVREG___167 = 6,
    ILL_COPROC___167 = 7,
    ILL_BADSTK___167 = 8
} ;
enum __anonenum_452038093___167 {
    FPE_INTDIV___167 = 1,
    FPE_INTOVF___167 = 2,
    FPE_FLTDIV___167 = 3,
    FPE_FLTOVF___167 = 4,
    FPE_FLTUND___167 = 5,
    FPE_FLTRES___167 = 6,
    FPE_FLTINV___167 = 7,
    FPE_FLTSUB___167 = 8
} ;
enum __anonenum_30976155___167 {
    SEGV_MAPERR___167 = 1,
    SEGV_ACCERR___167 = 2,
    SEGV_BNDERR___167 = 3,
    SEGV_PKUERR___167 = 4
} ;
enum __anonenum_1036286214___167 {
    BUS_ADRALN___167 = 1,
    BUS_ADRERR___167 = 2,
    BUS_OBJERR___167 = 3,
    BUS_MCEERR_AR___167 = 4,
    BUS_MCEERR_AO___167 = 5
} ;
enum __anonenum_493465559___167 {
    TRAP_BRKPT___167 = 1,
    TRAP_TRACE___167 = 2
} ;
enum __anonenum_23175539___167 {
    CLD_EXITED___167 = 1,
    CLD_KILLED___167 = 2,
    CLD_DUMPED___167 = 3,
    CLD_TRAPPED___167 = 4,
    CLD_STOPPED___167 = 5,
    CLD_CONTINUED___167 = 6
} ;
enum __anonenum_111643124___167 {
    POLL_IN___167 = 1,
    POLL_OUT___167 = 2,
    POLL_MSG___167 = 3,
    POLL_ERR___167 = 4,
    POLL_PRI___167 = 5,
    POLL_HUP___167 = 6
} ;
enum __anonenum_852341087___167 {
    SIGEV_SIGNAL___167 = 0,
    SIGEV_NONE___167 = 1,
    SIGEV_THREAD___167 = 2,
    SIGEV_THREAD_ID___167 = 4
} ;
enum __anonenum_451154152___167 {
    REG_R8___167 = 0,
    REG_R9___167 = 1,
    REG_R10___167 = 2,
    REG_R11___167 = 3,
    REG_R12___167 = 4,
    REG_R13___167 = 5,
    REG_R14___167 = 6,
    REG_R15___167 = 7,
    REG_RDI___167 = 8,
    REG_RSI___167 = 9,
    REG_RBP___167 = 10,
    REG_RBX___167 = 11,
    REG_RDX___167 = 12,
    REG_RAX___167 = 13,
    REG_RCX___167 = 14,
    REG_RSP___167 = 15,
    REG_RIP___167 = 16,
    REG_EFL___167 = 17,
    REG_CSGSFS___167 = 18,
    REG_ERR___167 = 19,
    REG_TRAPNO___167 = 20,
    REG_OLDMASK___167 = 21,
    REG_CR2___167 = 22
} ;
enum __anonenum_57186863___167 {
    SS_ONSTACK___167 = 1,
    SS_DISABLE___167 = 2
} ;
enum __anonenum_83571709___167 {
    MSG_OOB___167 = 1,
    MSG_PEEK___167 = 2,
    MSG_DONTROUTE___167 = 4,
    MSG_TRYHARD___167 = 4,
    MSG_CTRUNC___167 = 8,
    MSG_PROXY___167 = 16,
    MSG_TRUNC___167 = 32,
    MSG_DONTWAIT___167 = 64,
    MSG_EOR___167 = 128,
    MSG_WAITALL___167 = 256,
    MSG_FIN___167 = 512,
    MSG_SYN___167 = 1024,
    MSG_CONFIRM___167 = 2048,
    MSG_RST___167 = 4096,
    MSG_ERRQUEUE___167 = 8192,
    MSG_NOSIGNAL___167 = 16384,
    MSG_MORE___167 = 32768,
    MSG_WAITFORONE___167 = 65536,
    MSG_BATCH___167 = 262144,
    MSG_ZEROCOPY___167 = 67108864,
    MSG_FASTOPEN___167 = 536870912,
    MSG_CMSG_CLOEXEC___167 = 1073741824
} ;
enum __anonenum_617082774___167 {
    SCM_RIGHTS___167 = 1,
    SCM_CREDENTIALS___167 = 2
} ;
enum __anonenum_606441560___167 {
    SHUT_RD___167 = 0,
    SHUT_WR___167 = 1,
    SHUT_RDWR___167 = 2
} ;
enum __anonenum_681669233___167 {
    IPPROTO_IP___167 = 0,
    IPPROTO_ICMP___167 = 1,
    IPPROTO_IGMP___167 = 2,
    IPPROTO_IPIP___167 = 4,
    IPPROTO_TCP___167 = 6,
    IPPROTO_EGP___167 = 8,
    IPPROTO_PUP___167 = 12,
    IPPROTO_UDP___167 = 17,
    IPPROTO_IDP___167 = 22,
    IPPROTO_TP___167 = 29,
    IPPROTO_DCCP___167 = 33,
    IPPROTO_IPV6___167 = 41,
    IPPROTO_RSVP___167 = 46,
    IPPROTO_GRE___167 = 47,
    IPPROTO_ESP___167 = 50,
    IPPROTO_AH___167 = 51,
    IPPROTO_MTP___167 = 92,
    IPPROTO_BEETPH___167 = 94,
    IPPROTO_ENCAP___167 = 98,
    IPPROTO_PIM___167 = 103,
    IPPROTO_COMP___167 = 108,
    IPPROTO_SCTP___167 = 132,
    IPPROTO_UDPLITE___167 = 136,
    IPPROTO_MPLS___167 = 137,
    IPPROTO_RAW___167 = 255,
    IPPROTO_MAX___167 = 256
} ;
enum __anonenum_218739988___167 {
    IPPROTO_HOPOPTS___167 = 0,
    IPPROTO_ROUTING___167 = 43,
    IPPROTO_FRAGMENT___167 = 44,
    IPPROTO_ICMPV6___167 = 58,
    IPPROTO_NONE___167 = 59,
    IPPROTO_DSTOPTS___167 = 60,
    IPPROTO_MH___167 = 135
} ;
enum __anonenum_662268580___167 {
    IPPORT_ECHO___167 = 7,
    IPPORT_DISCARD___167 = 9,
    IPPORT_SYSTAT___167 = 11,
    IPPORT_DAYTIME___167 = 13,
    IPPORT_NETSTAT___167 = 15,
    IPPORT_FTP___167 = 21,
    IPPORT_TELNET___167 = 23,
    IPPORT_SMTP___167 = 25,
    IPPORT_TIMESERVER___167 = 37,
    IPPORT_NAMESERVER___167 = 42,
    IPPORT_WHOIS___167 = 43,
    IPPORT_MTP___167 = 57,
    IPPORT_TFTP___167 = 69,
    IPPORT_RJE___167 = 77,
    IPPORT_FINGER___167 = 79,
    IPPORT_TTYLINK___167 = 87,
    IPPORT_SUPDUP___167 = 95,
    IPPORT_EXECSERVER___167 = 512,
    IPPORT_LOGINSERVER___167 = 513,
    IPPORT_CMDSERVER___167 = 514,
    IPPORT_EFSSERVER___167 = 520,
    IPPORT_BIFFUDP___167 = 512,
    IPPORT_WHOSERVER___167 = 513,
    IPPORT_ROUTESERVER___167 = 520,
    IPPORT_RESERVED___167 = 1024,
    IPPORT_USERRESERVED___167 = 5000
} ;
enum __anonenum_788308992___167 {
    TCP_ESTABLISHED___167 = 1,
    TCP_SYN_SENT___167 = 2,
    TCP_SYN_RECV___167 = 3,
    TCP_FIN_WAIT1___167 = 4,
    TCP_FIN_WAIT2___167 = 5,
    TCP_TIME_WAIT___167 = 6,
    TCP_CLOSE___167 = 7,
    TCP_CLOSE_WAIT___167 = 8,
    TCP_LAST_ACK___167 = 9,
    TCP_LISTEN___167 = 10,
    TCP_CLOSING___167 = 11
} ;
enum __anonenum_221125648___167 {
    TCP_NO_QUEUE___167 = 0,
    TCP_RECV_QUEUE___167 = 1,
    TCP_SEND_QUEUE___167 = 2,
    TCP_QUEUES_NR___167 = 3
} ;
enum __anonenum_34415463___167 {
    PTHREAD_CREATE_JOINABLE___167 = 0,
    PTHREAD_CREATE_DETACHED___167 = 1
} ;
enum __anonenum_303612439___167 {
    PTHREAD_MUTEX_TIMED_NP___167 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___167 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___167 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___167 = 3,
    PTHREAD_MUTEX_NORMAL___167 = 0,
    PTHREAD_MUTEX_RECURSIVE___167 = 1,
    PTHREAD_MUTEX_ERRORCHECK___167 = 2,
    PTHREAD_MUTEX_DEFAULT___167 = 0,
    PTHREAD_MUTEX_FAST_NP___167 = 0
} ;
enum __anonenum_931900394___167 {
    PTHREAD_MUTEX_STALLED___167 = 0,
    PTHREAD_MUTEX_STALLED_NP___167 = 0,
    PTHREAD_MUTEX_ROBUST___167 = 1,
    PTHREAD_MUTEX_ROBUST_NP___167 = 1
} ;
enum __anonenum_205214487___167 {
    PTHREAD_PRIO_NONE___167 = 0,
    PTHREAD_PRIO_INHERIT___167 = 1,
    PTHREAD_PRIO_PROTECT___167 = 2
} ;
enum __anonenum_25043950___167 {
    PTHREAD_RWLOCK_PREFER_READER_NP___167 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___167 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___167 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___167 = 0
} ;
enum __anonenum_436439511___167 {
    PTHREAD_INHERIT_SCHED___167 = 0,
    PTHREAD_EXPLICIT_SCHED___167 = 1
} ;
enum __anonenum_998661166___167 {
    PTHREAD_SCOPE_SYSTEM___167 = 0,
    PTHREAD_SCOPE_PROCESS___167 = 1
} ;
enum __anonenum_146137331___167 {
    PTHREAD_PROCESS_PRIVATE___167 = 0,
    PTHREAD_PROCESS_SHARED___167 = 1
} ;
enum __anonenum_53396917___167 {
    PTHREAD_CANCEL_ENABLE___167 = 0,
    PTHREAD_CANCEL_DISABLE___167 = 1
} ;
enum __anonenum_904563783___167 {
    PTHREAD_CANCEL_DEFERRED___167 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___167 = 1
} ;
enum __anonenum_672052974___167 {
    SSL_CT_VALIDATION_PERMISSIVE___167 = 0,
    SSL_CT_VALIDATION_STRICT___167 = 1
} ;
enum __anonenum_437032235___168 {
    _PC_LINK_MAX___168 = 0,
    _PC_MAX_CANON___168 = 1,
    _PC_MAX_INPUT___168 = 2,
    _PC_NAME_MAX___168 = 3,
    _PC_PATH_MAX___168 = 4,
    _PC_PIPE_BUF___168 = 5,
    _PC_CHOWN_RESTRICTED___168 = 6,
    _PC_NO_TRUNC___168 = 7,
    _PC_VDISABLE___168 = 8,
    _PC_SYNC_IO___168 = 9,
    _PC_ASYNC_IO___168 = 10,
    _PC_PRIO_IO___168 = 11,
    _PC_SOCK_MAXBUF___168 = 12,
    _PC_FILESIZEBITS___168 = 13,
    _PC_REC_INCR_XFER_SIZE___168 = 14,
    _PC_REC_MAX_XFER_SIZE___168 = 15,
    _PC_REC_MIN_XFER_SIZE___168 = 16,
    _PC_REC_XFER_ALIGN___168 = 17,
    _PC_ALLOC_SIZE_MIN___168 = 18,
    _PC_SYMLINK_MAX___168 = 19,
    _PC_2_SYMLINKS___168 = 20
} ;
enum __anonenum_315186338___168 {
    _SC_ARG_MAX___168 = 0,
    _SC_CHILD_MAX___168 = 1,
    _SC_CLK_TCK___168 = 2,
    _SC_NGROUPS_MAX___168 = 3,
    _SC_OPEN_MAX___168 = 4,
    _SC_STREAM_MAX___168 = 5,
    _SC_TZNAME_MAX___168 = 6,
    _SC_JOB_CONTROL___168 = 7,
    _SC_SAVED_IDS___168 = 8,
    _SC_REALTIME_SIGNALS___168 = 9,
    _SC_PRIORITY_SCHEDULING___168 = 10,
    _SC_TIMERS___168 = 11,
    _SC_ASYNCHRONOUS_IO___168 = 12,
    _SC_PRIORITIZED_IO___168 = 13,
    _SC_SYNCHRONIZED_IO___168 = 14,
    _SC_FSYNC___168 = 15,
    _SC_MAPPED_FILES___168 = 16,
    _SC_MEMLOCK___168 = 17,
    _SC_MEMLOCK_RANGE___168 = 18,
    _SC_MEMORY_PROTECTION___168 = 19,
    _SC_MESSAGE_PASSING___168 = 20,
    _SC_SEMAPHORES___168 = 21,
    _SC_SHARED_MEMORY_OBJECTS___168 = 22,
    _SC_AIO_LISTIO_MAX___168 = 23,
    _SC_AIO_MAX___168 = 24,
    _SC_AIO_PRIO_DELTA_MAX___168 = 25,
    _SC_DELAYTIMER_MAX___168 = 26,
    _SC_MQ_OPEN_MAX___168 = 27,
    _SC_MQ_PRIO_MAX___168 = 28,
    _SC_VERSION___168 = 29,
    _SC_PAGESIZE___168 = 30,
    _SC_RTSIG_MAX___168 = 31,
    _SC_SEM_NSEMS_MAX___168 = 32,
    _SC_SEM_VALUE_MAX___168 = 33,
    _SC_SIGQUEUE_MAX___168 = 34,
    _SC_TIMER_MAX___168 = 35,
    _SC_BC_BASE_MAX___168 = 36,
    _SC_BC_DIM_MAX___168 = 37,
    _SC_BC_SCALE_MAX___168 = 38,
    _SC_BC_STRING_MAX___168 = 39,
    _SC_COLL_WEIGHTS_MAX___168 = 40,
    _SC_EQUIV_CLASS_MAX___168 = 41,
    _SC_EXPR_NEST_MAX___168 = 42,
    _SC_LINE_MAX___168 = 43,
    _SC_RE_DUP_MAX___168 = 44,
    _SC_CHARCLASS_NAME_MAX___168 = 45,
    _SC_2_VERSION___168 = 46,
    _SC_2_C_BIND___168 = 47,
    _SC_2_C_DEV___168 = 48,
    _SC_2_FORT_DEV___168 = 49,
    _SC_2_FORT_RUN___168 = 50,
    _SC_2_SW_DEV___168 = 51,
    _SC_2_LOCALEDEF___168 = 52,
    _SC_PII___168 = 53,
    _SC_PII_XTI___168 = 54,
    _SC_PII_SOCKET___168 = 55,
    _SC_PII_INTERNET___168 = 56,
    _SC_PII_OSI___168 = 57,
    _SC_POLL___168 = 58,
    _SC_SELECT___168 = 59,
    _SC_UIO_MAXIOV___168 = 60,
    _SC_IOV_MAX___168 = 60,
    _SC_PII_INTERNET_STREAM___168 = 61,
    _SC_PII_INTERNET_DGRAM___168 = 62,
    _SC_PII_OSI_COTS___168 = 63,
    _SC_PII_OSI_CLTS___168 = 64,
    _SC_PII_OSI_M___168 = 65,
    _SC_T_IOV_MAX___168 = 66,
    _SC_THREADS___168 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___168 = 68,
    _SC_GETGR_R_SIZE_MAX___168 = 69,
    _SC_GETPW_R_SIZE_MAX___168 = 70,
    _SC_LOGIN_NAME_MAX___168 = 71,
    _SC_TTY_NAME_MAX___168 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___168 = 73,
    _SC_THREAD_KEYS_MAX___168 = 74,
    _SC_THREAD_STACK_MIN___168 = 75,
    _SC_THREAD_THREADS_MAX___168 = 76,
    _SC_THREAD_ATTR_STACKADDR___168 = 77,
    _SC_THREAD_ATTR_STACKSIZE___168 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___168 = 79,
    _SC_THREAD_PRIO_INHERIT___168 = 80,
    _SC_THREAD_PRIO_PROTECT___168 = 81,
    _SC_THREAD_PROCESS_SHARED___168 = 82,
    _SC_NPROCESSORS_CONF___168 = 83,
    _SC_NPROCESSORS_ONLN___168 = 84,
    _SC_PHYS_PAGES___168 = 85,
    _SC_AVPHYS_PAGES___168 = 86,
    _SC_ATEXIT_MAX___168 = 87,
    _SC_PASS_MAX___168 = 88,
    _SC_XOPEN_VERSION___168 = 89,
    _SC_XOPEN_XCU_VERSION___168 = 90,
    _SC_XOPEN_UNIX___168 = 91,
    _SC_XOPEN_CRYPT___168 = 92,
    _SC_XOPEN_ENH_I18N___168 = 93,
    _SC_XOPEN_SHM___168 = 94,
    _SC_2_CHAR_TERM___168 = 95,
    _SC_2_C_VERSION___168 = 96,
    _SC_2_UPE___168 = 97,
    _SC_XOPEN_XPG2___168 = 98,
    _SC_XOPEN_XPG3___168 = 99,
    _SC_XOPEN_XPG4___168 = 100,
    _SC_CHAR_BIT___168 = 101,
    _SC_CHAR_MAX___168 = 102,
    _SC_CHAR_MIN___168 = 103,
    _SC_INT_MAX___168 = 104,
    _SC_INT_MIN___168 = 105,
    _SC_LONG_BIT___168 = 106,
    _SC_WORD_BIT___168 = 107,
    _SC_MB_LEN_MAX___168 = 108,
    _SC_NZERO___168 = 109,
    _SC_SSIZE_MAX___168 = 110,
    _SC_SCHAR_MAX___168 = 111,
    _SC_SCHAR_MIN___168 = 112,
    _SC_SHRT_MAX___168 = 113,
    _SC_SHRT_MIN___168 = 114,
    _SC_UCHAR_MAX___168 = 115,
    _SC_UINT_MAX___168 = 116,
    _SC_ULONG_MAX___168 = 117,
    _SC_USHRT_MAX___168 = 118,
    _SC_NL_ARGMAX___168 = 119,
    _SC_NL_LANGMAX___168 = 120,
    _SC_NL_MSGMAX___168 = 121,
    _SC_NL_NMAX___168 = 122,
    _SC_NL_SETMAX___168 = 123,
    _SC_NL_TEXTMAX___168 = 124,
    _SC_XBS5_ILP32_OFF32___168 = 125,
    _SC_XBS5_ILP32_OFFBIG___168 = 126,
    _SC_XBS5_LP64_OFF64___168 = 127,
    _SC_XBS5_LPBIG_OFFBIG___168 = 128,
    _SC_XOPEN_LEGACY___168 = 129,
    _SC_XOPEN_REALTIME___168 = 130,
    _SC_XOPEN_REALTIME_THREADS___168 = 131,
    _SC_ADVISORY_INFO___168 = 132,
    _SC_BARRIERS___168 = 133,
    _SC_BASE___168 = 134,
    _SC_C_LANG_SUPPORT___168 = 135,
    _SC_C_LANG_SUPPORT_R___168 = 136,
    _SC_CLOCK_SELECTION___168 = 137,
    _SC_CPUTIME___168 = 138,
    _SC_THREAD_CPUTIME___168 = 139,
    _SC_DEVICE_IO___168 = 140,
    _SC_DEVICE_SPECIFIC___168 = 141,
    _SC_DEVICE_SPECIFIC_R___168 = 142,
    _SC_FD_MGMT___168 = 143,
    _SC_FIFO___168 = 144,
    _SC_PIPE___168 = 145,
    _SC_FILE_ATTRIBUTES___168 = 146,
    _SC_FILE_LOCKING___168 = 147,
    _SC_FILE_SYSTEM___168 = 148,
    _SC_MONOTONIC_CLOCK___168 = 149,
    _SC_MULTI_PROCESS___168 = 150,
    _SC_SINGLE_PROCESS___168 = 151,
    _SC_NETWORKING___168 = 152,
    _SC_READER_WRITER_LOCKS___168 = 153,
    _SC_SPIN_LOCKS___168 = 154,
    _SC_REGEXP___168 = 155,
    _SC_REGEX_VERSION___168 = 156,
    _SC_SHELL___168 = 157,
    _SC_SIGNALS___168 = 158,
    _SC_SPAWN___168 = 159,
    _SC_SPORADIC_SERVER___168 = 160,
    _SC_THREAD_SPORADIC_SERVER___168 = 161,
    _SC_SYSTEM_DATABASE___168 = 162,
    _SC_SYSTEM_DATABASE_R___168 = 163,
    _SC_TIMEOUTS___168 = 164,
    _SC_TYPED_MEMORY_OBJECTS___168 = 165,
    _SC_USER_GROUPS___168 = 166,
    _SC_USER_GROUPS_R___168 = 167,
    _SC_2_PBS___168 = 168,
    _SC_2_PBS_ACCOUNTING___168 = 169,
    _SC_2_PBS_LOCATE___168 = 170,
    _SC_2_PBS_MESSAGE___168 = 171,
    _SC_2_PBS_TRACK___168 = 172,
    _SC_SYMLOOP_MAX___168 = 173,
    _SC_STREAMS___168 = 174,
    _SC_2_PBS_CHECKPOINT___168 = 175,
    _SC_V6_ILP32_OFF32___168 = 176,
    _SC_V6_ILP32_OFFBIG___168 = 177,
    _SC_V6_LP64_OFF64___168 = 178,
    _SC_V6_LPBIG_OFFBIG___168 = 179,
    _SC_HOST_NAME_MAX___168 = 180,
    _SC_TRACE___168 = 181,
    _SC_TRACE_EVENT_FILTER___168 = 182,
    _SC_TRACE_INHERIT___168 = 183,
    _SC_TRACE_LOG___168 = 184,
    _SC_LEVEL1_ICACHE_SIZE___168 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___168 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___168 = 187,
    _SC_LEVEL1_DCACHE_SIZE___168 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___168 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___168 = 190,
    _SC_LEVEL2_CACHE_SIZE___168 = 191,
    _SC_LEVEL2_CACHE_ASSOC___168 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___168 = 193,
    _SC_LEVEL3_CACHE_SIZE___168 = 194,
    _SC_LEVEL3_CACHE_ASSOC___168 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___168 = 196,
    _SC_LEVEL4_CACHE_SIZE___168 = 197,
    _SC_LEVEL4_CACHE_ASSOC___168 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___168 = 199,
    _SC_IPV6___168 = 235,
    _SC_RAW_SOCKETS___168 = 236,
    _SC_V7_ILP32_OFF32___168 = 237,
    _SC_V7_ILP32_OFFBIG___168 = 238,
    _SC_V7_LP64_OFF64___168 = 239,
    _SC_V7_LPBIG_OFFBIG___168 = 240,
    _SC_SS_REPL_MAX___168 = 241,
    _SC_TRACE_EVENT_NAME_MAX___168 = 242,
    _SC_TRACE_NAME_MAX___168 = 243,
    _SC_TRACE_SYS_MAX___168 = 244,
    _SC_TRACE_USER_EVENT_MAX___168 = 245,
    _SC_XOPEN_STREAMS___168 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___168 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___168 = 248
} ;
enum __anonenum_875524036___168 {
    _CS_PATH___168 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___168 = 1,
    _CS_GNU_LIBC_VERSION___168 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___168 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___168 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___168 = 5,
    _CS_LFS_CFLAGS___168 = 1000,
    _CS_LFS_LDFLAGS___168 = 1001,
    _CS_LFS_LIBS___168 = 1002,
    _CS_LFS_LINTFLAGS___168 = 1003,
    _CS_LFS64_CFLAGS___168 = 1004,
    _CS_LFS64_LDFLAGS___168 = 1005,
    _CS_LFS64_LIBS___168 = 1006,
    _CS_LFS64_LINTFLAGS___168 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___168 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___168 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___168 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___168 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___168 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___168 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___168 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___168 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___168 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___168 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___168 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___168 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___168 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___168 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___168 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___168 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___168 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___168 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___168 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___168 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___168 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___168 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___168 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___168 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___168 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___168 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___168 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___168 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___168 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___168 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___168 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___168 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___168 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___168 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___168 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___168 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___168 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___168 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___168 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___168 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___168 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___168 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___168 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___168 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___168 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___168 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___168 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___168 = 1147,
    _CS_V6_ENV___168 = 1148,
    _CS_V7_ENV___168 = 1149
} ;
enum __anonenum_513775621___168 {
    DT_UNKNOWN___168 = 0,
    DT_FIFO___168 = 1,
    DT_CHR___168 = 2,
    DT_DIR___168 = 4,
    DT_BLK___168 = 6,
    DT_REG___168 = 8,
    DT_LNK___168 = 10,
    DT_SOCK___168 = 12,
    DT_WHT___168 = 14
} ;
enum __anonenum_77002343___168 {
    SI_ASYNCNL___168 = -60,
    SI_TKILL___168 = -6,
    SI_SIGIO___168 = -5,
    SI_ASYNCIO___168 = -4,
    SI_MESGQ___168 = -3,
    SI_TIMER___168 = -2,
    SI_QUEUE___168 = -1,
    SI_USER___168 = 0,
    SI_KERNEL___168 = 128
} ;
enum __anonenum_131038172___168 {
    ILL_ILLOPC___168 = 1,
    ILL_ILLOPN___168 = 2,
    ILL_ILLADR___168 = 3,
    ILL_ILLTRP___168 = 4,
    ILL_PRVOPC___168 = 5,
    ILL_PRVREG___168 = 6,
    ILL_COPROC___168 = 7,
    ILL_BADSTK___168 = 8
} ;
enum __anonenum_452038093___168 {
    FPE_INTDIV___168 = 1,
    FPE_INTOVF___168 = 2,
    FPE_FLTDIV___168 = 3,
    FPE_FLTOVF___168 = 4,
    FPE_FLTUND___168 = 5,
    FPE_FLTRES___168 = 6,
    FPE_FLTINV___168 = 7,
    FPE_FLTSUB___168 = 8
} ;
enum __anonenum_30976155___168 {
    SEGV_MAPERR___168 = 1,
    SEGV_ACCERR___168 = 2,
    SEGV_BNDERR___168 = 3,
    SEGV_PKUERR___168 = 4
} ;
enum __anonenum_1036286214___168 {
    BUS_ADRALN___168 = 1,
    BUS_ADRERR___168 = 2,
    BUS_OBJERR___168 = 3,
    BUS_MCEERR_AR___168 = 4,
    BUS_MCEERR_AO___168 = 5
} ;
enum __anonenum_493465559___168 {
    TRAP_BRKPT___168 = 1,
    TRAP_TRACE___168 = 2
} ;
enum __anonenum_23175539___168 {
    CLD_EXITED___168 = 1,
    CLD_KILLED___168 = 2,
    CLD_DUMPED___168 = 3,
    CLD_TRAPPED___168 = 4,
    CLD_STOPPED___168 = 5,
    CLD_CONTINUED___168 = 6
} ;
enum __anonenum_111643124___168 {
    POLL_IN___168 = 1,
    POLL_OUT___168 = 2,
    POLL_MSG___168 = 3,
    POLL_ERR___168 = 4,
    POLL_PRI___168 = 5,
    POLL_HUP___168 = 6
} ;
enum __anonenum_852341087___168 {
    SIGEV_SIGNAL___168 = 0,
    SIGEV_NONE___168 = 1,
    SIGEV_THREAD___168 = 2,
    SIGEV_THREAD_ID___168 = 4
} ;
enum __anonenum_451154152___168 {
    REG_R8___168 = 0,
    REG_R9___168 = 1,
    REG_R10___168 = 2,
    REG_R11___168 = 3,
    REG_R12___168 = 4,
    REG_R13___168 = 5,
    REG_R14___168 = 6,
    REG_R15___168 = 7,
    REG_RDI___168 = 8,
    REG_RSI___168 = 9,
    REG_RBP___168 = 10,
    REG_RBX___168 = 11,
    REG_RDX___168 = 12,
    REG_RAX___168 = 13,
    REG_RCX___168 = 14,
    REG_RSP___168 = 15,
    REG_RIP___168 = 16,
    REG_EFL___168 = 17,
    REG_CSGSFS___168 = 18,
    REG_ERR___168 = 19,
    REG_TRAPNO___168 = 20,
    REG_OLDMASK___168 = 21,
    REG_CR2___168 = 22
} ;
enum __anonenum_57186863___168 {
    SS_ONSTACK___168 = 1,
    SS_DISABLE___168 = 2
} ;
enum __anonenum_83571709___168 {
    MSG_OOB___168 = 1,
    MSG_PEEK___168 = 2,
    MSG_DONTROUTE___168 = 4,
    MSG_TRYHARD___168 = 4,
    MSG_CTRUNC___168 = 8,
    MSG_PROXY___168 = 16,
    MSG_TRUNC___168 = 32,
    MSG_DONTWAIT___168 = 64,
    MSG_EOR___168 = 128,
    MSG_WAITALL___168 = 256,
    MSG_FIN___168 = 512,
    MSG_SYN___168 = 1024,
    MSG_CONFIRM___168 = 2048,
    MSG_RST___168 = 4096,
    MSG_ERRQUEUE___168 = 8192,
    MSG_NOSIGNAL___168 = 16384,
    MSG_MORE___168 = 32768,
    MSG_WAITFORONE___168 = 65536,
    MSG_BATCH___168 = 262144,
    MSG_ZEROCOPY___168 = 67108864,
    MSG_FASTOPEN___168 = 536870912,
    MSG_CMSG_CLOEXEC___168 = 1073741824
} ;
enum __anonenum_617082774___168 {
    SCM_RIGHTS___168 = 1,
    SCM_CREDENTIALS___168 = 2
} ;
enum __anonenum_606441560___168 {
    SHUT_RD___168 = 0,
    SHUT_WR___168 = 1,
    SHUT_RDWR___168 = 2
} ;
enum __anonenum_681669233___168 {
    IPPROTO_IP___168 = 0,
    IPPROTO_ICMP___168 = 1,
    IPPROTO_IGMP___168 = 2,
    IPPROTO_IPIP___168 = 4,
    IPPROTO_TCP___168 = 6,
    IPPROTO_EGP___168 = 8,
    IPPROTO_PUP___168 = 12,
    IPPROTO_UDP___168 = 17,
    IPPROTO_IDP___168 = 22,
    IPPROTO_TP___168 = 29,
    IPPROTO_DCCP___168 = 33,
    IPPROTO_IPV6___168 = 41,
    IPPROTO_RSVP___168 = 46,
    IPPROTO_GRE___168 = 47,
    IPPROTO_ESP___168 = 50,
    IPPROTO_AH___168 = 51,
    IPPROTO_MTP___168 = 92,
    IPPROTO_BEETPH___168 = 94,
    IPPROTO_ENCAP___168 = 98,
    IPPROTO_PIM___168 = 103,
    IPPROTO_COMP___168 = 108,
    IPPROTO_SCTP___168 = 132,
    IPPROTO_UDPLITE___168 = 136,
    IPPROTO_MPLS___168 = 137,
    IPPROTO_RAW___168 = 255,
    IPPROTO_MAX___168 = 256
} ;
enum __anonenum_218739988___168 {
    IPPROTO_HOPOPTS___168 = 0,
    IPPROTO_ROUTING___168 = 43,
    IPPROTO_FRAGMENT___168 = 44,
    IPPROTO_ICMPV6___168 = 58,
    IPPROTO_NONE___168 = 59,
    IPPROTO_DSTOPTS___168 = 60,
    IPPROTO_MH___168 = 135
} ;
enum __anonenum_662268580___168 {
    IPPORT_ECHO___168 = 7,
    IPPORT_DISCARD___168 = 9,
    IPPORT_SYSTAT___168 = 11,
    IPPORT_DAYTIME___168 = 13,
    IPPORT_NETSTAT___168 = 15,
    IPPORT_FTP___168 = 21,
    IPPORT_TELNET___168 = 23,
    IPPORT_SMTP___168 = 25,
    IPPORT_TIMESERVER___168 = 37,
    IPPORT_NAMESERVER___168 = 42,
    IPPORT_WHOIS___168 = 43,
    IPPORT_MTP___168 = 57,
    IPPORT_TFTP___168 = 69,
    IPPORT_RJE___168 = 77,
    IPPORT_FINGER___168 = 79,
    IPPORT_TTYLINK___168 = 87,
    IPPORT_SUPDUP___168 = 95,
    IPPORT_EXECSERVER___168 = 512,
    IPPORT_LOGINSERVER___168 = 513,
    IPPORT_CMDSERVER___168 = 514,
    IPPORT_EFSSERVER___168 = 520,
    IPPORT_BIFFUDP___168 = 512,
    IPPORT_WHOSERVER___168 = 513,
    IPPORT_ROUTESERVER___168 = 520,
    IPPORT_RESERVED___168 = 1024,
    IPPORT_USERRESERVED___168 = 5000
} ;
enum __anonenum_788308992___168 {
    TCP_ESTABLISHED___168 = 1,
    TCP_SYN_SENT___168 = 2,
    TCP_SYN_RECV___168 = 3,
    TCP_FIN_WAIT1___168 = 4,
    TCP_FIN_WAIT2___168 = 5,
    TCP_TIME_WAIT___168 = 6,
    TCP_CLOSE___168 = 7,
    TCP_CLOSE_WAIT___168 = 8,
    TCP_LAST_ACK___168 = 9,
    TCP_LISTEN___168 = 10,
    TCP_CLOSING___168 = 11
} ;
enum __anonenum_221125648___168 {
    TCP_NO_QUEUE___168 = 0,
    TCP_RECV_QUEUE___168 = 1,
    TCP_SEND_QUEUE___168 = 2,
    TCP_QUEUES_NR___168 = 3
} ;
enum __anonenum_34415463___168 {
    PTHREAD_CREATE_JOINABLE___168 = 0,
    PTHREAD_CREATE_DETACHED___168 = 1
} ;
enum __anonenum_303612439___168 {
    PTHREAD_MUTEX_TIMED_NP___168 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___168 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___168 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___168 = 3,
    PTHREAD_MUTEX_NORMAL___168 = 0,
    PTHREAD_MUTEX_RECURSIVE___168 = 1,
    PTHREAD_MUTEX_ERRORCHECK___168 = 2,
    PTHREAD_MUTEX_DEFAULT___168 = 0,
    PTHREAD_MUTEX_FAST_NP___168 = 0
} ;
enum __anonenum_931900394___168 {
    PTHREAD_MUTEX_STALLED___168 = 0,
    PTHREAD_MUTEX_STALLED_NP___168 = 0,
    PTHREAD_MUTEX_ROBUST___168 = 1,
    PTHREAD_MUTEX_ROBUST_NP___168 = 1
} ;
enum __anonenum_205214487___168 {
    PTHREAD_PRIO_NONE___168 = 0,
    PTHREAD_PRIO_INHERIT___168 = 1,
    PTHREAD_PRIO_PROTECT___168 = 2
} ;
enum __anonenum_25043950___168 {
    PTHREAD_RWLOCK_PREFER_READER_NP___168 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___168 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___168 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___168 = 0
} ;
enum __anonenum_436439511___168 {
    PTHREAD_INHERIT_SCHED___168 = 0,
    PTHREAD_EXPLICIT_SCHED___168 = 1
} ;
enum __anonenum_998661166___168 {
    PTHREAD_SCOPE_SYSTEM___168 = 0,
    PTHREAD_SCOPE_PROCESS___168 = 1
} ;
enum __anonenum_146137331___168 {
    PTHREAD_PROCESS_PRIVATE___168 = 0,
    PTHREAD_PROCESS_SHARED___168 = 1
} ;
enum __anonenum_53396917___168 {
    PTHREAD_CANCEL_ENABLE___168 = 0,
    PTHREAD_CANCEL_DISABLE___168 = 1
} ;
enum __anonenum_904563783___168 {
    PTHREAD_CANCEL_DEFERRED___168 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___168 = 1
} ;
enum __anonenum_672052974___168 {
    SSL_CT_VALIDATION_PERMISSIVE___168 = 0,
    SSL_CT_VALIDATION_STRICT___168 = 1
} ;
enum __anonenum_437032235___169 {
    _PC_LINK_MAX___169 = 0,
    _PC_MAX_CANON___169 = 1,
    _PC_MAX_INPUT___169 = 2,
    _PC_NAME_MAX___169 = 3,
    _PC_PATH_MAX___169 = 4,
    _PC_PIPE_BUF___169 = 5,
    _PC_CHOWN_RESTRICTED___169 = 6,
    _PC_NO_TRUNC___169 = 7,
    _PC_VDISABLE___169 = 8,
    _PC_SYNC_IO___169 = 9,
    _PC_ASYNC_IO___169 = 10,
    _PC_PRIO_IO___169 = 11,
    _PC_SOCK_MAXBUF___169 = 12,
    _PC_FILESIZEBITS___169 = 13,
    _PC_REC_INCR_XFER_SIZE___169 = 14,
    _PC_REC_MAX_XFER_SIZE___169 = 15,
    _PC_REC_MIN_XFER_SIZE___169 = 16,
    _PC_REC_XFER_ALIGN___169 = 17,
    _PC_ALLOC_SIZE_MIN___169 = 18,
    _PC_SYMLINK_MAX___169 = 19,
    _PC_2_SYMLINKS___169 = 20
} ;
enum __anonenum_315186338___169 {
    _SC_ARG_MAX___169 = 0,
    _SC_CHILD_MAX___169 = 1,
    _SC_CLK_TCK___169 = 2,
    _SC_NGROUPS_MAX___169 = 3,
    _SC_OPEN_MAX___169 = 4,
    _SC_STREAM_MAX___169 = 5,
    _SC_TZNAME_MAX___169 = 6,
    _SC_JOB_CONTROL___169 = 7,
    _SC_SAVED_IDS___169 = 8,
    _SC_REALTIME_SIGNALS___169 = 9,
    _SC_PRIORITY_SCHEDULING___169 = 10,
    _SC_TIMERS___169 = 11,
    _SC_ASYNCHRONOUS_IO___169 = 12,
    _SC_PRIORITIZED_IO___169 = 13,
    _SC_SYNCHRONIZED_IO___169 = 14,
    _SC_FSYNC___169 = 15,
    _SC_MAPPED_FILES___169 = 16,
    _SC_MEMLOCK___169 = 17,
    _SC_MEMLOCK_RANGE___169 = 18,
    _SC_MEMORY_PROTECTION___169 = 19,
    _SC_MESSAGE_PASSING___169 = 20,
    _SC_SEMAPHORES___169 = 21,
    _SC_SHARED_MEMORY_OBJECTS___169 = 22,
    _SC_AIO_LISTIO_MAX___169 = 23,
    _SC_AIO_MAX___169 = 24,
    _SC_AIO_PRIO_DELTA_MAX___169 = 25,
    _SC_DELAYTIMER_MAX___169 = 26,
    _SC_MQ_OPEN_MAX___169 = 27,
    _SC_MQ_PRIO_MAX___169 = 28,
    _SC_VERSION___169 = 29,
    _SC_PAGESIZE___169 = 30,
    _SC_RTSIG_MAX___169 = 31,
    _SC_SEM_NSEMS_MAX___169 = 32,
    _SC_SEM_VALUE_MAX___169 = 33,
    _SC_SIGQUEUE_MAX___169 = 34,
    _SC_TIMER_MAX___169 = 35,
    _SC_BC_BASE_MAX___169 = 36,
    _SC_BC_DIM_MAX___169 = 37,
    _SC_BC_SCALE_MAX___169 = 38,
    _SC_BC_STRING_MAX___169 = 39,
    _SC_COLL_WEIGHTS_MAX___169 = 40,
    _SC_EQUIV_CLASS_MAX___169 = 41,
    _SC_EXPR_NEST_MAX___169 = 42,
    _SC_LINE_MAX___169 = 43,
    _SC_RE_DUP_MAX___169 = 44,
    _SC_CHARCLASS_NAME_MAX___169 = 45,
    _SC_2_VERSION___169 = 46,
    _SC_2_C_BIND___169 = 47,
    _SC_2_C_DEV___169 = 48,
    _SC_2_FORT_DEV___169 = 49,
    _SC_2_FORT_RUN___169 = 50,
    _SC_2_SW_DEV___169 = 51,
    _SC_2_LOCALEDEF___169 = 52,
    _SC_PII___169 = 53,
    _SC_PII_XTI___169 = 54,
    _SC_PII_SOCKET___169 = 55,
    _SC_PII_INTERNET___169 = 56,
    _SC_PII_OSI___169 = 57,
    _SC_POLL___169 = 58,
    _SC_SELECT___169 = 59,
    _SC_UIO_MAXIOV___169 = 60,
    _SC_IOV_MAX___169 = 60,
    _SC_PII_INTERNET_STREAM___169 = 61,
    _SC_PII_INTERNET_DGRAM___169 = 62,
    _SC_PII_OSI_COTS___169 = 63,
    _SC_PII_OSI_CLTS___169 = 64,
    _SC_PII_OSI_M___169 = 65,
    _SC_T_IOV_MAX___169 = 66,
    _SC_THREADS___169 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___169 = 68,
    _SC_GETGR_R_SIZE_MAX___169 = 69,
    _SC_GETPW_R_SIZE_MAX___169 = 70,
    _SC_LOGIN_NAME_MAX___169 = 71,
    _SC_TTY_NAME_MAX___169 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___169 = 73,
    _SC_THREAD_KEYS_MAX___169 = 74,
    _SC_THREAD_STACK_MIN___169 = 75,
    _SC_THREAD_THREADS_MAX___169 = 76,
    _SC_THREAD_ATTR_STACKADDR___169 = 77,
    _SC_THREAD_ATTR_STACKSIZE___169 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___169 = 79,
    _SC_THREAD_PRIO_INHERIT___169 = 80,
    _SC_THREAD_PRIO_PROTECT___169 = 81,
    _SC_THREAD_PROCESS_SHARED___169 = 82,
    _SC_NPROCESSORS_CONF___169 = 83,
    _SC_NPROCESSORS_ONLN___169 = 84,
    _SC_PHYS_PAGES___169 = 85,
    _SC_AVPHYS_PAGES___169 = 86,
    _SC_ATEXIT_MAX___169 = 87,
    _SC_PASS_MAX___169 = 88,
    _SC_XOPEN_VERSION___169 = 89,
    _SC_XOPEN_XCU_VERSION___169 = 90,
    _SC_XOPEN_UNIX___169 = 91,
    _SC_XOPEN_CRYPT___169 = 92,
    _SC_XOPEN_ENH_I18N___169 = 93,
    _SC_XOPEN_SHM___169 = 94,
    _SC_2_CHAR_TERM___169 = 95,
    _SC_2_C_VERSION___169 = 96,
    _SC_2_UPE___169 = 97,
    _SC_XOPEN_XPG2___169 = 98,
    _SC_XOPEN_XPG3___169 = 99,
    _SC_XOPEN_XPG4___169 = 100,
    _SC_CHAR_BIT___169 = 101,
    _SC_CHAR_MAX___169 = 102,
    _SC_CHAR_MIN___169 = 103,
    _SC_INT_MAX___169 = 104,
    _SC_INT_MIN___169 = 105,
    _SC_LONG_BIT___169 = 106,
    _SC_WORD_BIT___169 = 107,
    _SC_MB_LEN_MAX___169 = 108,
    _SC_NZERO___169 = 109,
    _SC_SSIZE_MAX___169 = 110,
    _SC_SCHAR_MAX___169 = 111,
    _SC_SCHAR_MIN___169 = 112,
    _SC_SHRT_MAX___169 = 113,
    _SC_SHRT_MIN___169 = 114,
    _SC_UCHAR_MAX___169 = 115,
    _SC_UINT_MAX___169 = 116,
    _SC_ULONG_MAX___169 = 117,
    _SC_USHRT_MAX___169 = 118,
    _SC_NL_ARGMAX___169 = 119,
    _SC_NL_LANGMAX___169 = 120,
    _SC_NL_MSGMAX___169 = 121,
    _SC_NL_NMAX___169 = 122,
    _SC_NL_SETMAX___169 = 123,
    _SC_NL_TEXTMAX___169 = 124,
    _SC_XBS5_ILP32_OFF32___169 = 125,
    _SC_XBS5_ILP32_OFFBIG___169 = 126,
    _SC_XBS5_LP64_OFF64___169 = 127,
    _SC_XBS5_LPBIG_OFFBIG___169 = 128,
    _SC_XOPEN_LEGACY___169 = 129,
    _SC_XOPEN_REALTIME___169 = 130,
    _SC_XOPEN_REALTIME_THREADS___169 = 131,
    _SC_ADVISORY_INFO___169 = 132,
    _SC_BARRIERS___169 = 133,
    _SC_BASE___169 = 134,
    _SC_C_LANG_SUPPORT___169 = 135,
    _SC_C_LANG_SUPPORT_R___169 = 136,
    _SC_CLOCK_SELECTION___169 = 137,
    _SC_CPUTIME___169 = 138,
    _SC_THREAD_CPUTIME___169 = 139,
    _SC_DEVICE_IO___169 = 140,
    _SC_DEVICE_SPECIFIC___169 = 141,
    _SC_DEVICE_SPECIFIC_R___169 = 142,
    _SC_FD_MGMT___169 = 143,
    _SC_FIFO___169 = 144,
    _SC_PIPE___169 = 145,
    _SC_FILE_ATTRIBUTES___169 = 146,
    _SC_FILE_LOCKING___169 = 147,
    _SC_FILE_SYSTEM___169 = 148,
    _SC_MONOTONIC_CLOCK___169 = 149,
    _SC_MULTI_PROCESS___169 = 150,
    _SC_SINGLE_PROCESS___169 = 151,
    _SC_NETWORKING___169 = 152,
    _SC_READER_WRITER_LOCKS___169 = 153,
    _SC_SPIN_LOCKS___169 = 154,
    _SC_REGEXP___169 = 155,
    _SC_REGEX_VERSION___169 = 156,
    _SC_SHELL___169 = 157,
    _SC_SIGNALS___169 = 158,
    _SC_SPAWN___169 = 159,
    _SC_SPORADIC_SERVER___169 = 160,
    _SC_THREAD_SPORADIC_SERVER___169 = 161,
    _SC_SYSTEM_DATABASE___169 = 162,
    _SC_SYSTEM_DATABASE_R___169 = 163,
    _SC_TIMEOUTS___169 = 164,
    _SC_TYPED_MEMORY_OBJECTS___169 = 165,
    _SC_USER_GROUPS___169 = 166,
    _SC_USER_GROUPS_R___169 = 167,
    _SC_2_PBS___169 = 168,
    _SC_2_PBS_ACCOUNTING___169 = 169,
    _SC_2_PBS_LOCATE___169 = 170,
    _SC_2_PBS_MESSAGE___169 = 171,
    _SC_2_PBS_TRACK___169 = 172,
    _SC_SYMLOOP_MAX___169 = 173,
    _SC_STREAMS___169 = 174,
    _SC_2_PBS_CHECKPOINT___169 = 175,
    _SC_V6_ILP32_OFF32___169 = 176,
    _SC_V6_ILP32_OFFBIG___169 = 177,
    _SC_V6_LP64_OFF64___169 = 178,
    _SC_V6_LPBIG_OFFBIG___169 = 179,
    _SC_HOST_NAME_MAX___169 = 180,
    _SC_TRACE___169 = 181,
    _SC_TRACE_EVENT_FILTER___169 = 182,
    _SC_TRACE_INHERIT___169 = 183,
    _SC_TRACE_LOG___169 = 184,
    _SC_LEVEL1_ICACHE_SIZE___169 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___169 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___169 = 187,
    _SC_LEVEL1_DCACHE_SIZE___169 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___169 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___169 = 190,
    _SC_LEVEL2_CACHE_SIZE___169 = 191,
    _SC_LEVEL2_CACHE_ASSOC___169 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___169 = 193,
    _SC_LEVEL3_CACHE_SIZE___169 = 194,
    _SC_LEVEL3_CACHE_ASSOC___169 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___169 = 196,
    _SC_LEVEL4_CACHE_SIZE___169 = 197,
    _SC_LEVEL4_CACHE_ASSOC___169 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___169 = 199,
    _SC_IPV6___169 = 235,
    _SC_RAW_SOCKETS___169 = 236,
    _SC_V7_ILP32_OFF32___169 = 237,
    _SC_V7_ILP32_OFFBIG___169 = 238,
    _SC_V7_LP64_OFF64___169 = 239,
    _SC_V7_LPBIG_OFFBIG___169 = 240,
    _SC_SS_REPL_MAX___169 = 241,
    _SC_TRACE_EVENT_NAME_MAX___169 = 242,
    _SC_TRACE_NAME_MAX___169 = 243,
    _SC_TRACE_SYS_MAX___169 = 244,
    _SC_TRACE_USER_EVENT_MAX___169 = 245,
    _SC_XOPEN_STREAMS___169 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___169 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___169 = 248
} ;
enum __anonenum_875524036___169 {
    _CS_PATH___169 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___169 = 1,
    _CS_GNU_LIBC_VERSION___169 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___169 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___169 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___169 = 5,
    _CS_LFS_CFLAGS___169 = 1000,
    _CS_LFS_LDFLAGS___169 = 1001,
    _CS_LFS_LIBS___169 = 1002,
    _CS_LFS_LINTFLAGS___169 = 1003,
    _CS_LFS64_CFLAGS___169 = 1004,
    _CS_LFS64_LDFLAGS___169 = 1005,
    _CS_LFS64_LIBS___169 = 1006,
    _CS_LFS64_LINTFLAGS___169 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___169 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___169 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___169 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___169 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___169 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___169 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___169 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___169 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___169 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___169 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___169 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___169 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___169 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___169 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___169 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___169 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___169 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___169 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___169 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___169 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___169 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___169 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___169 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___169 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___169 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___169 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___169 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___169 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___169 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___169 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___169 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___169 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___169 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___169 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___169 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___169 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___169 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___169 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___169 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___169 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___169 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___169 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___169 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___169 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___169 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___169 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___169 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___169 = 1147,
    _CS_V6_ENV___169 = 1148,
    _CS_V7_ENV___169 = 1149
} ;
enum __anonenum_513775621___169 {
    DT_UNKNOWN___169 = 0,
    DT_FIFO___169 = 1,
    DT_CHR___169 = 2,
    DT_DIR___169 = 4,
    DT_BLK___169 = 6,
    DT_REG___169 = 8,
    DT_LNK___169 = 10,
    DT_SOCK___169 = 12,
    DT_WHT___169 = 14
} ;
enum __anonenum_77002343___169 {
    SI_ASYNCNL___169 = -60,
    SI_TKILL___169 = -6,
    SI_SIGIO___169 = -5,
    SI_ASYNCIO___169 = -4,
    SI_MESGQ___169 = -3,
    SI_TIMER___169 = -2,
    SI_QUEUE___169 = -1,
    SI_USER___169 = 0,
    SI_KERNEL___169 = 128
} ;
enum __anonenum_131038172___169 {
    ILL_ILLOPC___169 = 1,
    ILL_ILLOPN___169 = 2,
    ILL_ILLADR___169 = 3,
    ILL_ILLTRP___169 = 4,
    ILL_PRVOPC___169 = 5,
    ILL_PRVREG___169 = 6,
    ILL_COPROC___169 = 7,
    ILL_BADSTK___169 = 8
} ;
enum __anonenum_452038093___169 {
    FPE_INTDIV___169 = 1,
    FPE_INTOVF___169 = 2,
    FPE_FLTDIV___169 = 3,
    FPE_FLTOVF___169 = 4,
    FPE_FLTUND___169 = 5,
    FPE_FLTRES___169 = 6,
    FPE_FLTINV___169 = 7,
    FPE_FLTSUB___169 = 8
} ;
enum __anonenum_30976155___169 {
    SEGV_MAPERR___169 = 1,
    SEGV_ACCERR___169 = 2,
    SEGV_BNDERR___169 = 3,
    SEGV_PKUERR___169 = 4
} ;
enum __anonenum_1036286214___169 {
    BUS_ADRALN___169 = 1,
    BUS_ADRERR___169 = 2,
    BUS_OBJERR___169 = 3,
    BUS_MCEERR_AR___169 = 4,
    BUS_MCEERR_AO___169 = 5
} ;
enum __anonenum_493465559___169 {
    TRAP_BRKPT___169 = 1,
    TRAP_TRACE___169 = 2
} ;
enum __anonenum_23175539___169 {
    CLD_EXITED___169 = 1,
    CLD_KILLED___169 = 2,
    CLD_DUMPED___169 = 3,
    CLD_TRAPPED___169 = 4,
    CLD_STOPPED___169 = 5,
    CLD_CONTINUED___169 = 6
} ;
enum __anonenum_111643124___169 {
    POLL_IN___169 = 1,
    POLL_OUT___169 = 2,
    POLL_MSG___169 = 3,
    POLL_ERR___169 = 4,
    POLL_PRI___169 = 5,
    POLL_HUP___169 = 6
} ;
enum __anonenum_852341087___169 {
    SIGEV_SIGNAL___169 = 0,
    SIGEV_NONE___169 = 1,
    SIGEV_THREAD___169 = 2,
    SIGEV_THREAD_ID___169 = 4
} ;
enum __anonenum_451154152___169 {
    REG_R8___169 = 0,
    REG_R9___169 = 1,
    REG_R10___169 = 2,
    REG_R11___169 = 3,
    REG_R12___169 = 4,
    REG_R13___169 = 5,
    REG_R14___169 = 6,
    REG_R15___169 = 7,
    REG_RDI___169 = 8,
    REG_RSI___169 = 9,
    REG_RBP___169 = 10,
    REG_RBX___169 = 11,
    REG_RDX___169 = 12,
    REG_RAX___169 = 13,
    REG_RCX___169 = 14,
    REG_RSP___169 = 15,
    REG_RIP___169 = 16,
    REG_EFL___169 = 17,
    REG_CSGSFS___169 = 18,
    REG_ERR___169 = 19,
    REG_TRAPNO___169 = 20,
    REG_OLDMASK___169 = 21,
    REG_CR2___169 = 22
} ;
enum __anonenum_57186863___169 {
    SS_ONSTACK___169 = 1,
    SS_DISABLE___169 = 2
} ;
enum __anonenum_83571709___169 {
    MSG_OOB___169 = 1,
    MSG_PEEK___169 = 2,
    MSG_DONTROUTE___169 = 4,
    MSG_TRYHARD___169 = 4,
    MSG_CTRUNC___169 = 8,
    MSG_PROXY___169 = 16,
    MSG_TRUNC___169 = 32,
    MSG_DONTWAIT___169 = 64,
    MSG_EOR___169 = 128,
    MSG_WAITALL___169 = 256,
    MSG_FIN___169 = 512,
    MSG_SYN___169 = 1024,
    MSG_CONFIRM___169 = 2048,
    MSG_RST___169 = 4096,
    MSG_ERRQUEUE___169 = 8192,
    MSG_NOSIGNAL___169 = 16384,
    MSG_MORE___169 = 32768,
    MSG_WAITFORONE___169 = 65536,
    MSG_BATCH___169 = 262144,
    MSG_ZEROCOPY___169 = 67108864,
    MSG_FASTOPEN___169 = 536870912,
    MSG_CMSG_CLOEXEC___169 = 1073741824
} ;
enum __anonenum_617082774___169 {
    SCM_RIGHTS___169 = 1,
    SCM_CREDENTIALS___169 = 2
} ;
enum __anonenum_606441560___169 {
    SHUT_RD___169 = 0,
    SHUT_WR___169 = 1,
    SHUT_RDWR___169 = 2
} ;
enum __anonenum_681669233___169 {
    IPPROTO_IP___169 = 0,
    IPPROTO_ICMP___169 = 1,
    IPPROTO_IGMP___169 = 2,
    IPPROTO_IPIP___169 = 4,
    IPPROTO_TCP___169 = 6,
    IPPROTO_EGP___169 = 8,
    IPPROTO_PUP___169 = 12,
    IPPROTO_UDP___169 = 17,
    IPPROTO_IDP___169 = 22,
    IPPROTO_TP___169 = 29,
    IPPROTO_DCCP___169 = 33,
    IPPROTO_IPV6___169 = 41,
    IPPROTO_RSVP___169 = 46,
    IPPROTO_GRE___169 = 47,
    IPPROTO_ESP___169 = 50,
    IPPROTO_AH___169 = 51,
    IPPROTO_MTP___169 = 92,
    IPPROTO_BEETPH___169 = 94,
    IPPROTO_ENCAP___169 = 98,
    IPPROTO_PIM___169 = 103,
    IPPROTO_COMP___169 = 108,
    IPPROTO_SCTP___169 = 132,
    IPPROTO_UDPLITE___169 = 136,
    IPPROTO_MPLS___169 = 137,
    IPPROTO_RAW___169 = 255,
    IPPROTO_MAX___169 = 256
} ;
enum __anonenum_218739988___169 {
    IPPROTO_HOPOPTS___169 = 0,
    IPPROTO_ROUTING___169 = 43,
    IPPROTO_FRAGMENT___169 = 44,
    IPPROTO_ICMPV6___169 = 58,
    IPPROTO_NONE___169 = 59,
    IPPROTO_DSTOPTS___169 = 60,
    IPPROTO_MH___169 = 135
} ;
enum __anonenum_662268580___169 {
    IPPORT_ECHO___169 = 7,
    IPPORT_DISCARD___169 = 9,
    IPPORT_SYSTAT___169 = 11,
    IPPORT_DAYTIME___169 = 13,
    IPPORT_NETSTAT___169 = 15,
    IPPORT_FTP___169 = 21,
    IPPORT_TELNET___169 = 23,
    IPPORT_SMTP___169 = 25,
    IPPORT_TIMESERVER___169 = 37,
    IPPORT_NAMESERVER___169 = 42,
    IPPORT_WHOIS___169 = 43,
    IPPORT_MTP___169 = 57,
    IPPORT_TFTP___169 = 69,
    IPPORT_RJE___169 = 77,
    IPPORT_FINGER___169 = 79,
    IPPORT_TTYLINK___169 = 87,
    IPPORT_SUPDUP___169 = 95,
    IPPORT_EXECSERVER___169 = 512,
    IPPORT_LOGINSERVER___169 = 513,
    IPPORT_CMDSERVER___169 = 514,
    IPPORT_EFSSERVER___169 = 520,
    IPPORT_BIFFUDP___169 = 512,
    IPPORT_WHOSERVER___169 = 513,
    IPPORT_ROUTESERVER___169 = 520,
    IPPORT_RESERVED___169 = 1024,
    IPPORT_USERRESERVED___169 = 5000
} ;
enum __anonenum_788308992___169 {
    TCP_ESTABLISHED___169 = 1,
    TCP_SYN_SENT___169 = 2,
    TCP_SYN_RECV___169 = 3,
    TCP_FIN_WAIT1___169 = 4,
    TCP_FIN_WAIT2___169 = 5,
    TCP_TIME_WAIT___169 = 6,
    TCP_CLOSE___169 = 7,
    TCP_CLOSE_WAIT___169 = 8,
    TCP_LAST_ACK___169 = 9,
    TCP_LISTEN___169 = 10,
    TCP_CLOSING___169 = 11
} ;
enum __anonenum_221125648___169 {
    TCP_NO_QUEUE___169 = 0,
    TCP_RECV_QUEUE___169 = 1,
    TCP_SEND_QUEUE___169 = 2,
    TCP_QUEUES_NR___169 = 3
} ;
enum __anonenum_34415463___169 {
    PTHREAD_CREATE_JOINABLE___169 = 0,
    PTHREAD_CREATE_DETACHED___169 = 1
} ;
enum __anonenum_303612439___169 {
    PTHREAD_MUTEX_TIMED_NP___169 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___169 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___169 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___169 = 3,
    PTHREAD_MUTEX_NORMAL___169 = 0,
    PTHREAD_MUTEX_RECURSIVE___169 = 1,
    PTHREAD_MUTEX_ERRORCHECK___169 = 2,
    PTHREAD_MUTEX_DEFAULT___169 = 0,
    PTHREAD_MUTEX_FAST_NP___169 = 0
} ;
enum __anonenum_931900394___169 {
    PTHREAD_MUTEX_STALLED___169 = 0,
    PTHREAD_MUTEX_STALLED_NP___169 = 0,
    PTHREAD_MUTEX_ROBUST___169 = 1,
    PTHREAD_MUTEX_ROBUST_NP___169 = 1
} ;
enum __anonenum_205214487___169 {
    PTHREAD_PRIO_NONE___169 = 0,
    PTHREAD_PRIO_INHERIT___169 = 1,
    PTHREAD_PRIO_PROTECT___169 = 2
} ;
enum __anonenum_25043950___169 {
    PTHREAD_RWLOCK_PREFER_READER_NP___169 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___169 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___169 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___169 = 0
} ;
enum __anonenum_436439511___169 {
    PTHREAD_INHERIT_SCHED___169 = 0,
    PTHREAD_EXPLICIT_SCHED___169 = 1
} ;
enum __anonenum_998661166___169 {
    PTHREAD_SCOPE_SYSTEM___169 = 0,
    PTHREAD_SCOPE_PROCESS___169 = 1
} ;
enum __anonenum_146137331___169 {
    PTHREAD_PROCESS_PRIVATE___169 = 0,
    PTHREAD_PROCESS_SHARED___169 = 1
} ;
enum __anonenum_53396917___169 {
    PTHREAD_CANCEL_ENABLE___169 = 0,
    PTHREAD_CANCEL_DISABLE___169 = 1
} ;
enum __anonenum_904563783___169 {
    PTHREAD_CANCEL_DEFERRED___169 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___169 = 1
} ;
enum __anonenum_672052974___169 {
    SSL_CT_VALIDATION_PERMISSIVE___169 = 0,
    SSL_CT_VALIDATION_STRICT___169 = 1
} ;
struct path_and_oids_entry {
   struct hashmap_entry ent ;
   char *path ;
   struct oidset trees ;
};
struct commit_stack {
   struct commit **items ;
   size_t nr ;
   size_t alloc ;
};
struct treesame_state {
   unsigned int nparents ;
   unsigned char treesame[] ;
};
struct all_refs_cb {
   int all_flags ;
   int warned_bad_reflog ;
   struct rev_info *all_revs ;
   char const   *name_for_errormsg ;
   struct worktree *wt ;
};
struct add_alternate_refs_data {
   struct rev_info *revs ;
   unsigned int flags ;
};
struct merge_simplify_state {
   struct commit *simplified ;
};
struct topo_walk_info {
   timestamp_t min_generation ;
   struct prio_queue explore_queue ;
   struct prio_queue indegree_queue ;
   struct prio_queue topo_queue ;
   struct indegree_slab indegree ;
   struct author_date_slab author_date ;
};
struct saved_parents {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   struct commit_list ***slab ;
};
enum __anonenum_437032235___170 {
    _PC_LINK_MAX___170 = 0,
    _PC_MAX_CANON___170 = 1,
    _PC_MAX_INPUT___170 = 2,
    _PC_NAME_MAX___170 = 3,
    _PC_PATH_MAX___170 = 4,
    _PC_PIPE_BUF___170 = 5,
    _PC_CHOWN_RESTRICTED___170 = 6,
    _PC_NO_TRUNC___170 = 7,
    _PC_VDISABLE___170 = 8,
    _PC_SYNC_IO___170 = 9,
    _PC_ASYNC_IO___170 = 10,
    _PC_PRIO_IO___170 = 11,
    _PC_SOCK_MAXBUF___170 = 12,
    _PC_FILESIZEBITS___170 = 13,
    _PC_REC_INCR_XFER_SIZE___170 = 14,
    _PC_REC_MAX_XFER_SIZE___170 = 15,
    _PC_REC_MIN_XFER_SIZE___170 = 16,
    _PC_REC_XFER_ALIGN___170 = 17,
    _PC_ALLOC_SIZE_MIN___170 = 18,
    _PC_SYMLINK_MAX___170 = 19,
    _PC_2_SYMLINKS___170 = 20
} ;
enum __anonenum_315186338___170 {
    _SC_ARG_MAX___170 = 0,
    _SC_CHILD_MAX___170 = 1,
    _SC_CLK_TCK___170 = 2,
    _SC_NGROUPS_MAX___170 = 3,
    _SC_OPEN_MAX___170 = 4,
    _SC_STREAM_MAX___170 = 5,
    _SC_TZNAME_MAX___170 = 6,
    _SC_JOB_CONTROL___170 = 7,
    _SC_SAVED_IDS___170 = 8,
    _SC_REALTIME_SIGNALS___170 = 9,
    _SC_PRIORITY_SCHEDULING___170 = 10,
    _SC_TIMERS___170 = 11,
    _SC_ASYNCHRONOUS_IO___170 = 12,
    _SC_PRIORITIZED_IO___170 = 13,
    _SC_SYNCHRONIZED_IO___170 = 14,
    _SC_FSYNC___170 = 15,
    _SC_MAPPED_FILES___170 = 16,
    _SC_MEMLOCK___170 = 17,
    _SC_MEMLOCK_RANGE___170 = 18,
    _SC_MEMORY_PROTECTION___170 = 19,
    _SC_MESSAGE_PASSING___170 = 20,
    _SC_SEMAPHORES___170 = 21,
    _SC_SHARED_MEMORY_OBJECTS___170 = 22,
    _SC_AIO_LISTIO_MAX___170 = 23,
    _SC_AIO_MAX___170 = 24,
    _SC_AIO_PRIO_DELTA_MAX___170 = 25,
    _SC_DELAYTIMER_MAX___170 = 26,
    _SC_MQ_OPEN_MAX___170 = 27,
    _SC_MQ_PRIO_MAX___170 = 28,
    _SC_VERSION___170 = 29,
    _SC_PAGESIZE___170 = 30,
    _SC_RTSIG_MAX___170 = 31,
    _SC_SEM_NSEMS_MAX___170 = 32,
    _SC_SEM_VALUE_MAX___170 = 33,
    _SC_SIGQUEUE_MAX___170 = 34,
    _SC_TIMER_MAX___170 = 35,
    _SC_BC_BASE_MAX___170 = 36,
    _SC_BC_DIM_MAX___170 = 37,
    _SC_BC_SCALE_MAX___170 = 38,
    _SC_BC_STRING_MAX___170 = 39,
    _SC_COLL_WEIGHTS_MAX___170 = 40,
    _SC_EQUIV_CLASS_MAX___170 = 41,
    _SC_EXPR_NEST_MAX___170 = 42,
    _SC_LINE_MAX___170 = 43,
    _SC_RE_DUP_MAX___170 = 44,
    _SC_CHARCLASS_NAME_MAX___170 = 45,
    _SC_2_VERSION___170 = 46,
    _SC_2_C_BIND___170 = 47,
    _SC_2_C_DEV___170 = 48,
    _SC_2_FORT_DEV___170 = 49,
    _SC_2_FORT_RUN___170 = 50,
    _SC_2_SW_DEV___170 = 51,
    _SC_2_LOCALEDEF___170 = 52,
    _SC_PII___170 = 53,
    _SC_PII_XTI___170 = 54,
    _SC_PII_SOCKET___170 = 55,
    _SC_PII_INTERNET___170 = 56,
    _SC_PII_OSI___170 = 57,
    _SC_POLL___170 = 58,
    _SC_SELECT___170 = 59,
    _SC_UIO_MAXIOV___170 = 60,
    _SC_IOV_MAX___170 = 60,
    _SC_PII_INTERNET_STREAM___170 = 61,
    _SC_PII_INTERNET_DGRAM___170 = 62,
    _SC_PII_OSI_COTS___170 = 63,
    _SC_PII_OSI_CLTS___170 = 64,
    _SC_PII_OSI_M___170 = 65,
    _SC_T_IOV_MAX___170 = 66,
    _SC_THREADS___170 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___170 = 68,
    _SC_GETGR_R_SIZE_MAX___170 = 69,
    _SC_GETPW_R_SIZE_MAX___170 = 70,
    _SC_LOGIN_NAME_MAX___170 = 71,
    _SC_TTY_NAME_MAX___170 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___170 = 73,
    _SC_THREAD_KEYS_MAX___170 = 74,
    _SC_THREAD_STACK_MIN___170 = 75,
    _SC_THREAD_THREADS_MAX___170 = 76,
    _SC_THREAD_ATTR_STACKADDR___170 = 77,
    _SC_THREAD_ATTR_STACKSIZE___170 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___170 = 79,
    _SC_THREAD_PRIO_INHERIT___170 = 80,
    _SC_THREAD_PRIO_PROTECT___170 = 81,
    _SC_THREAD_PROCESS_SHARED___170 = 82,
    _SC_NPROCESSORS_CONF___170 = 83,
    _SC_NPROCESSORS_ONLN___170 = 84,
    _SC_PHYS_PAGES___170 = 85,
    _SC_AVPHYS_PAGES___170 = 86,
    _SC_ATEXIT_MAX___170 = 87,
    _SC_PASS_MAX___170 = 88,
    _SC_XOPEN_VERSION___170 = 89,
    _SC_XOPEN_XCU_VERSION___170 = 90,
    _SC_XOPEN_UNIX___170 = 91,
    _SC_XOPEN_CRYPT___170 = 92,
    _SC_XOPEN_ENH_I18N___170 = 93,
    _SC_XOPEN_SHM___170 = 94,
    _SC_2_CHAR_TERM___170 = 95,
    _SC_2_C_VERSION___170 = 96,
    _SC_2_UPE___170 = 97,
    _SC_XOPEN_XPG2___170 = 98,
    _SC_XOPEN_XPG3___170 = 99,
    _SC_XOPEN_XPG4___170 = 100,
    _SC_CHAR_BIT___170 = 101,
    _SC_CHAR_MAX___170 = 102,
    _SC_CHAR_MIN___170 = 103,
    _SC_INT_MAX___170 = 104,
    _SC_INT_MIN___170 = 105,
    _SC_LONG_BIT___170 = 106,
    _SC_WORD_BIT___170 = 107,
    _SC_MB_LEN_MAX___170 = 108,
    _SC_NZERO___170 = 109,
    _SC_SSIZE_MAX___170 = 110,
    _SC_SCHAR_MAX___170 = 111,
    _SC_SCHAR_MIN___170 = 112,
    _SC_SHRT_MAX___170 = 113,
    _SC_SHRT_MIN___170 = 114,
    _SC_UCHAR_MAX___170 = 115,
    _SC_UINT_MAX___170 = 116,
    _SC_ULONG_MAX___170 = 117,
    _SC_USHRT_MAX___170 = 118,
    _SC_NL_ARGMAX___170 = 119,
    _SC_NL_LANGMAX___170 = 120,
    _SC_NL_MSGMAX___170 = 121,
    _SC_NL_NMAX___170 = 122,
    _SC_NL_SETMAX___170 = 123,
    _SC_NL_TEXTMAX___170 = 124,
    _SC_XBS5_ILP32_OFF32___170 = 125,
    _SC_XBS5_ILP32_OFFBIG___170 = 126,
    _SC_XBS5_LP64_OFF64___170 = 127,
    _SC_XBS5_LPBIG_OFFBIG___170 = 128,
    _SC_XOPEN_LEGACY___170 = 129,
    _SC_XOPEN_REALTIME___170 = 130,
    _SC_XOPEN_REALTIME_THREADS___170 = 131,
    _SC_ADVISORY_INFO___170 = 132,
    _SC_BARRIERS___170 = 133,
    _SC_BASE___170 = 134,
    _SC_C_LANG_SUPPORT___170 = 135,
    _SC_C_LANG_SUPPORT_R___170 = 136,
    _SC_CLOCK_SELECTION___170 = 137,
    _SC_CPUTIME___170 = 138,
    _SC_THREAD_CPUTIME___170 = 139,
    _SC_DEVICE_IO___170 = 140,
    _SC_DEVICE_SPECIFIC___170 = 141,
    _SC_DEVICE_SPECIFIC_R___170 = 142,
    _SC_FD_MGMT___170 = 143,
    _SC_FIFO___170 = 144,
    _SC_PIPE___170 = 145,
    _SC_FILE_ATTRIBUTES___170 = 146,
    _SC_FILE_LOCKING___170 = 147,
    _SC_FILE_SYSTEM___170 = 148,
    _SC_MONOTONIC_CLOCK___170 = 149,
    _SC_MULTI_PROCESS___170 = 150,
    _SC_SINGLE_PROCESS___170 = 151,
    _SC_NETWORKING___170 = 152,
    _SC_READER_WRITER_LOCKS___170 = 153,
    _SC_SPIN_LOCKS___170 = 154,
    _SC_REGEXP___170 = 155,
    _SC_REGEX_VERSION___170 = 156,
    _SC_SHELL___170 = 157,
    _SC_SIGNALS___170 = 158,
    _SC_SPAWN___170 = 159,
    _SC_SPORADIC_SERVER___170 = 160,
    _SC_THREAD_SPORADIC_SERVER___170 = 161,
    _SC_SYSTEM_DATABASE___170 = 162,
    _SC_SYSTEM_DATABASE_R___170 = 163,
    _SC_TIMEOUTS___170 = 164,
    _SC_TYPED_MEMORY_OBJECTS___170 = 165,
    _SC_USER_GROUPS___170 = 166,
    _SC_USER_GROUPS_R___170 = 167,
    _SC_2_PBS___170 = 168,
    _SC_2_PBS_ACCOUNTING___170 = 169,
    _SC_2_PBS_LOCATE___170 = 170,
    _SC_2_PBS_MESSAGE___170 = 171,
    _SC_2_PBS_TRACK___170 = 172,
    _SC_SYMLOOP_MAX___170 = 173,
    _SC_STREAMS___170 = 174,
    _SC_2_PBS_CHECKPOINT___170 = 175,
    _SC_V6_ILP32_OFF32___170 = 176,
    _SC_V6_ILP32_OFFBIG___170 = 177,
    _SC_V6_LP64_OFF64___170 = 178,
    _SC_V6_LPBIG_OFFBIG___170 = 179,
    _SC_HOST_NAME_MAX___170 = 180,
    _SC_TRACE___170 = 181,
    _SC_TRACE_EVENT_FILTER___170 = 182,
    _SC_TRACE_INHERIT___170 = 183,
    _SC_TRACE_LOG___170 = 184,
    _SC_LEVEL1_ICACHE_SIZE___170 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___170 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___170 = 187,
    _SC_LEVEL1_DCACHE_SIZE___170 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___170 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___170 = 190,
    _SC_LEVEL2_CACHE_SIZE___170 = 191,
    _SC_LEVEL2_CACHE_ASSOC___170 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___170 = 193,
    _SC_LEVEL3_CACHE_SIZE___170 = 194,
    _SC_LEVEL3_CACHE_ASSOC___170 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___170 = 196,
    _SC_LEVEL4_CACHE_SIZE___170 = 197,
    _SC_LEVEL4_CACHE_ASSOC___170 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___170 = 199,
    _SC_IPV6___170 = 235,
    _SC_RAW_SOCKETS___170 = 236,
    _SC_V7_ILP32_OFF32___170 = 237,
    _SC_V7_ILP32_OFFBIG___170 = 238,
    _SC_V7_LP64_OFF64___170 = 239,
    _SC_V7_LPBIG_OFFBIG___170 = 240,
    _SC_SS_REPL_MAX___170 = 241,
    _SC_TRACE_EVENT_NAME_MAX___170 = 242,
    _SC_TRACE_NAME_MAX___170 = 243,
    _SC_TRACE_SYS_MAX___170 = 244,
    _SC_TRACE_USER_EVENT_MAX___170 = 245,
    _SC_XOPEN_STREAMS___170 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___170 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___170 = 248
} ;
enum __anonenum_875524036___170 {
    _CS_PATH___170 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___170 = 1,
    _CS_GNU_LIBC_VERSION___170 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___170 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___170 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___170 = 5,
    _CS_LFS_CFLAGS___170 = 1000,
    _CS_LFS_LDFLAGS___170 = 1001,
    _CS_LFS_LIBS___170 = 1002,
    _CS_LFS_LINTFLAGS___170 = 1003,
    _CS_LFS64_CFLAGS___170 = 1004,
    _CS_LFS64_LDFLAGS___170 = 1005,
    _CS_LFS64_LIBS___170 = 1006,
    _CS_LFS64_LINTFLAGS___170 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___170 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___170 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___170 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___170 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___170 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___170 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___170 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___170 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___170 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___170 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___170 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___170 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___170 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___170 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___170 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___170 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___170 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___170 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___170 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___170 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___170 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___170 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___170 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___170 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___170 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___170 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___170 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___170 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___170 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___170 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___170 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___170 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___170 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___170 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___170 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___170 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___170 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___170 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___170 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___170 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___170 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___170 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___170 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___170 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___170 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___170 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___170 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___170 = 1147,
    _CS_V6_ENV___170 = 1148,
    _CS_V7_ENV___170 = 1149
} ;
enum __anonenum_513775621___170 {
    DT_UNKNOWN___170 = 0,
    DT_FIFO___170 = 1,
    DT_CHR___170 = 2,
    DT_DIR___170 = 4,
    DT_BLK___170 = 6,
    DT_REG___170 = 8,
    DT_LNK___170 = 10,
    DT_SOCK___170 = 12,
    DT_WHT___170 = 14
} ;
enum __anonenum_77002343___170 {
    SI_ASYNCNL___170 = -60,
    SI_TKILL___170 = -6,
    SI_SIGIO___170 = -5,
    SI_ASYNCIO___170 = -4,
    SI_MESGQ___170 = -3,
    SI_TIMER___170 = -2,
    SI_QUEUE___170 = -1,
    SI_USER___170 = 0,
    SI_KERNEL___170 = 128
} ;
enum __anonenum_131038172___170 {
    ILL_ILLOPC___170 = 1,
    ILL_ILLOPN___170 = 2,
    ILL_ILLADR___170 = 3,
    ILL_ILLTRP___170 = 4,
    ILL_PRVOPC___170 = 5,
    ILL_PRVREG___170 = 6,
    ILL_COPROC___170 = 7,
    ILL_BADSTK___170 = 8
} ;
enum __anonenum_452038093___170 {
    FPE_INTDIV___170 = 1,
    FPE_INTOVF___170 = 2,
    FPE_FLTDIV___170 = 3,
    FPE_FLTOVF___170 = 4,
    FPE_FLTUND___170 = 5,
    FPE_FLTRES___170 = 6,
    FPE_FLTINV___170 = 7,
    FPE_FLTSUB___170 = 8
} ;
enum __anonenum_30976155___170 {
    SEGV_MAPERR___170 = 1,
    SEGV_ACCERR___170 = 2,
    SEGV_BNDERR___170 = 3,
    SEGV_PKUERR___170 = 4
} ;
enum __anonenum_1036286214___170 {
    BUS_ADRALN___170 = 1,
    BUS_ADRERR___170 = 2,
    BUS_OBJERR___170 = 3,
    BUS_MCEERR_AR___170 = 4,
    BUS_MCEERR_AO___170 = 5
} ;
enum __anonenum_493465559___170 {
    TRAP_BRKPT___170 = 1,
    TRAP_TRACE___170 = 2
} ;
enum __anonenum_23175539___170 {
    CLD_EXITED___170 = 1,
    CLD_KILLED___170 = 2,
    CLD_DUMPED___170 = 3,
    CLD_TRAPPED___170 = 4,
    CLD_STOPPED___170 = 5,
    CLD_CONTINUED___170 = 6
} ;
enum __anonenum_111643124___170 {
    POLL_IN___170 = 1,
    POLL_OUT___170 = 2,
    POLL_MSG___170 = 3,
    POLL_ERR___170 = 4,
    POLL_PRI___170 = 5,
    POLL_HUP___170 = 6
} ;
enum __anonenum_852341087___170 {
    SIGEV_SIGNAL___170 = 0,
    SIGEV_NONE___170 = 1,
    SIGEV_THREAD___170 = 2,
    SIGEV_THREAD_ID___170 = 4
} ;
enum __anonenum_451154152___170 {
    REG_R8___170 = 0,
    REG_R9___170 = 1,
    REG_R10___170 = 2,
    REG_R11___170 = 3,
    REG_R12___170 = 4,
    REG_R13___170 = 5,
    REG_R14___170 = 6,
    REG_R15___170 = 7,
    REG_RDI___170 = 8,
    REG_RSI___170 = 9,
    REG_RBP___170 = 10,
    REG_RBX___170 = 11,
    REG_RDX___170 = 12,
    REG_RAX___170 = 13,
    REG_RCX___170 = 14,
    REG_RSP___170 = 15,
    REG_RIP___170 = 16,
    REG_EFL___170 = 17,
    REG_CSGSFS___170 = 18,
    REG_ERR___170 = 19,
    REG_TRAPNO___170 = 20,
    REG_OLDMASK___170 = 21,
    REG_CR2___170 = 22
} ;
enum __anonenum_57186863___170 {
    SS_ONSTACK___170 = 1,
    SS_DISABLE___170 = 2
} ;
enum __anonenum_83571709___170 {
    MSG_OOB___170 = 1,
    MSG_PEEK___170 = 2,
    MSG_DONTROUTE___170 = 4,
    MSG_TRYHARD___170 = 4,
    MSG_CTRUNC___170 = 8,
    MSG_PROXY___170 = 16,
    MSG_TRUNC___170 = 32,
    MSG_DONTWAIT___170 = 64,
    MSG_EOR___170 = 128,
    MSG_WAITALL___170 = 256,
    MSG_FIN___170 = 512,
    MSG_SYN___170 = 1024,
    MSG_CONFIRM___170 = 2048,
    MSG_RST___170 = 4096,
    MSG_ERRQUEUE___170 = 8192,
    MSG_NOSIGNAL___170 = 16384,
    MSG_MORE___170 = 32768,
    MSG_WAITFORONE___170 = 65536,
    MSG_BATCH___170 = 262144,
    MSG_ZEROCOPY___170 = 67108864,
    MSG_FASTOPEN___170 = 536870912,
    MSG_CMSG_CLOEXEC___170 = 1073741824
} ;
enum __anonenum_617082774___170 {
    SCM_RIGHTS___170 = 1,
    SCM_CREDENTIALS___170 = 2
} ;
enum __anonenum_606441560___170 {
    SHUT_RD___170 = 0,
    SHUT_WR___170 = 1,
    SHUT_RDWR___170 = 2
} ;
enum __anonenum_681669233___170 {
    IPPROTO_IP___170 = 0,
    IPPROTO_ICMP___170 = 1,
    IPPROTO_IGMP___170 = 2,
    IPPROTO_IPIP___170 = 4,
    IPPROTO_TCP___170 = 6,
    IPPROTO_EGP___170 = 8,
    IPPROTO_PUP___170 = 12,
    IPPROTO_UDP___170 = 17,
    IPPROTO_IDP___170 = 22,
    IPPROTO_TP___170 = 29,
    IPPROTO_DCCP___170 = 33,
    IPPROTO_IPV6___170 = 41,
    IPPROTO_RSVP___170 = 46,
    IPPROTO_GRE___170 = 47,
    IPPROTO_ESP___170 = 50,
    IPPROTO_AH___170 = 51,
    IPPROTO_MTP___170 = 92,
    IPPROTO_BEETPH___170 = 94,
    IPPROTO_ENCAP___170 = 98,
    IPPROTO_PIM___170 = 103,
    IPPROTO_COMP___170 = 108,
    IPPROTO_SCTP___170 = 132,
    IPPROTO_UDPLITE___170 = 136,
    IPPROTO_MPLS___170 = 137,
    IPPROTO_RAW___170 = 255,
    IPPROTO_MAX___170 = 256
} ;
enum __anonenum_218739988___170 {
    IPPROTO_HOPOPTS___170 = 0,
    IPPROTO_ROUTING___170 = 43,
    IPPROTO_FRAGMENT___170 = 44,
    IPPROTO_ICMPV6___170 = 58,
    IPPROTO_NONE___170 = 59,
    IPPROTO_DSTOPTS___170 = 60,
    IPPROTO_MH___170 = 135
} ;
enum __anonenum_662268580___170 {
    IPPORT_ECHO___170 = 7,
    IPPORT_DISCARD___170 = 9,
    IPPORT_SYSTAT___170 = 11,
    IPPORT_DAYTIME___170 = 13,
    IPPORT_NETSTAT___170 = 15,
    IPPORT_FTP___170 = 21,
    IPPORT_TELNET___170 = 23,
    IPPORT_SMTP___170 = 25,
    IPPORT_TIMESERVER___170 = 37,
    IPPORT_NAMESERVER___170 = 42,
    IPPORT_WHOIS___170 = 43,
    IPPORT_MTP___170 = 57,
    IPPORT_TFTP___170 = 69,
    IPPORT_RJE___170 = 77,
    IPPORT_FINGER___170 = 79,
    IPPORT_TTYLINK___170 = 87,
    IPPORT_SUPDUP___170 = 95,
    IPPORT_EXECSERVER___170 = 512,
    IPPORT_LOGINSERVER___170 = 513,
    IPPORT_CMDSERVER___170 = 514,
    IPPORT_EFSSERVER___170 = 520,
    IPPORT_BIFFUDP___170 = 512,
    IPPORT_WHOSERVER___170 = 513,
    IPPORT_ROUTESERVER___170 = 520,
    IPPORT_RESERVED___170 = 1024,
    IPPORT_USERRESERVED___170 = 5000
} ;
enum __anonenum_788308992___170 {
    TCP_ESTABLISHED___170 = 1,
    TCP_SYN_SENT___170 = 2,
    TCP_SYN_RECV___170 = 3,
    TCP_FIN_WAIT1___170 = 4,
    TCP_FIN_WAIT2___170 = 5,
    TCP_TIME_WAIT___170 = 6,
    TCP_CLOSE___170 = 7,
    TCP_CLOSE_WAIT___170 = 8,
    TCP_LAST_ACK___170 = 9,
    TCP_LISTEN___170 = 10,
    TCP_CLOSING___170 = 11
} ;
enum __anonenum_221125648___170 {
    TCP_NO_QUEUE___170 = 0,
    TCP_RECV_QUEUE___170 = 1,
    TCP_SEND_QUEUE___170 = 2,
    TCP_QUEUES_NR___170 = 3
} ;
enum __anonenum_34415463___170 {
    PTHREAD_CREATE_JOINABLE___170 = 0,
    PTHREAD_CREATE_DETACHED___170 = 1
} ;
enum __anonenum_303612439___170 {
    PTHREAD_MUTEX_TIMED_NP___170 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___170 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___170 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___170 = 3,
    PTHREAD_MUTEX_NORMAL___170 = 0,
    PTHREAD_MUTEX_RECURSIVE___170 = 1,
    PTHREAD_MUTEX_ERRORCHECK___170 = 2,
    PTHREAD_MUTEX_DEFAULT___170 = 0,
    PTHREAD_MUTEX_FAST_NP___170 = 0
} ;
enum __anonenum_931900394___170 {
    PTHREAD_MUTEX_STALLED___170 = 0,
    PTHREAD_MUTEX_STALLED_NP___170 = 0,
    PTHREAD_MUTEX_ROBUST___170 = 1,
    PTHREAD_MUTEX_ROBUST_NP___170 = 1
} ;
enum __anonenum_205214487___170 {
    PTHREAD_PRIO_NONE___170 = 0,
    PTHREAD_PRIO_INHERIT___170 = 1,
    PTHREAD_PRIO_PROTECT___170 = 2
} ;
enum __anonenum_25043950___170 {
    PTHREAD_RWLOCK_PREFER_READER_NP___170 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___170 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___170 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___170 = 0
} ;
enum __anonenum_436439511___170 {
    PTHREAD_INHERIT_SCHED___170 = 0,
    PTHREAD_EXPLICIT_SCHED___170 = 1
} ;
enum __anonenum_998661166___170 {
    PTHREAD_SCOPE_SYSTEM___170 = 0,
    PTHREAD_SCOPE_PROCESS___170 = 1
} ;
enum __anonenum_146137331___170 {
    PTHREAD_PROCESS_PRIVATE___170 = 0,
    PTHREAD_PROCESS_SHARED___170 = 1
} ;
enum __anonenum_53396917___170 {
    PTHREAD_CANCEL_ENABLE___170 = 0,
    PTHREAD_CANCEL_DISABLE___170 = 1
} ;
enum __anonenum_904563783___170 {
    PTHREAD_CANCEL_DEFERRED___170 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___170 = 1
} ;
enum __anonenum_672052974___170 {
    SSL_CT_VALIDATION_PERMISSIVE___170 = 0,
    SSL_CT_VALIDATION_STRICT___170 = 1
} ;
struct child_to_clean {
   pid_t pid ;
   struct child_process *process ;
   struct child_to_clean *next ;
};
enum child_errcode {
    CHILD_ERR_CHDIR = 0,
    CHILD_ERR_DUP2 = 1,
    CHILD_ERR_CLOSE = 2,
    CHILD_ERR_SIGPROCMASK = 3,
    CHILD_ERR_ENOENT = 4,
    CHILD_ERR_SILENT = 5,
    CHILD_ERR_ERRNO = 6
} ;
struct child_err {
   enum child_errcode err ;
   int syserr ;
};
struct atfork_state {
   int cs ;
   sigset_t old ;
};
struct __anonstruct_out_673951369 {
   char const   *buf ;
   size_t len ;
};
struct __anonstruct_in_737956903 {
   struct strbuf *buf ;
   size_t hint ;
};
union __anonunion_u_838401304 {
   struct __anonstruct_out_673951369 out ;
   struct __anonstruct_in_737956903 in ;
};
struct io_pump {
   int fd ;
   int type ;
   union __anonunion_u_838401304 u ;
   int error ;
   struct pollfd *pfd ;
};
enum child_state {
    GIT_CP_FREE = 0,
    GIT_CP_WORKING = 1,
    GIT_CP_WAIT_CLEANUP = 2
} ;
struct __anonstruct_children_383988694 {
   enum child_state state ;
   struct child_process process ;
   struct strbuf err ;
   void *data ;
};
struct parallel_processes {
   void *data ;
   int max_processes ;
   int nr_processes ;
   int (*get_next_task)(struct child_process *cp , struct strbuf *out , void *pp_cb ,
                        void **pp_task_cb ) ;
   int (*start_failure)(struct strbuf *out , void *pp_cb , void *pp_task_cb ) ;
   int (*task_finished)(int result , struct strbuf *out , void *pp_cb , void *pp_task_cb ) ;
   struct __anonstruct_children_383988694 *children ;
   struct pollfd *pfd ;
   unsigned int shutdown : 1 ;
   int output_owner ;
   struct strbuf buffered_output ;
};
enum __anonenum_437032235___171 {
    _PC_LINK_MAX___171 = 0,
    _PC_MAX_CANON___171 = 1,
    _PC_MAX_INPUT___171 = 2,
    _PC_NAME_MAX___171 = 3,
    _PC_PATH_MAX___171 = 4,
    _PC_PIPE_BUF___171 = 5,
    _PC_CHOWN_RESTRICTED___171 = 6,
    _PC_NO_TRUNC___171 = 7,
    _PC_VDISABLE___171 = 8,
    _PC_SYNC_IO___171 = 9,
    _PC_ASYNC_IO___171 = 10,
    _PC_PRIO_IO___171 = 11,
    _PC_SOCK_MAXBUF___171 = 12,
    _PC_FILESIZEBITS___171 = 13,
    _PC_REC_INCR_XFER_SIZE___171 = 14,
    _PC_REC_MAX_XFER_SIZE___171 = 15,
    _PC_REC_MIN_XFER_SIZE___171 = 16,
    _PC_REC_XFER_ALIGN___171 = 17,
    _PC_ALLOC_SIZE_MIN___171 = 18,
    _PC_SYMLINK_MAX___171 = 19,
    _PC_2_SYMLINKS___171 = 20
} ;
enum __anonenum_315186338___171 {
    _SC_ARG_MAX___171 = 0,
    _SC_CHILD_MAX___171 = 1,
    _SC_CLK_TCK___171 = 2,
    _SC_NGROUPS_MAX___171 = 3,
    _SC_OPEN_MAX___171 = 4,
    _SC_STREAM_MAX___171 = 5,
    _SC_TZNAME_MAX___171 = 6,
    _SC_JOB_CONTROL___171 = 7,
    _SC_SAVED_IDS___171 = 8,
    _SC_REALTIME_SIGNALS___171 = 9,
    _SC_PRIORITY_SCHEDULING___171 = 10,
    _SC_TIMERS___171 = 11,
    _SC_ASYNCHRONOUS_IO___171 = 12,
    _SC_PRIORITIZED_IO___171 = 13,
    _SC_SYNCHRONIZED_IO___171 = 14,
    _SC_FSYNC___171 = 15,
    _SC_MAPPED_FILES___171 = 16,
    _SC_MEMLOCK___171 = 17,
    _SC_MEMLOCK_RANGE___171 = 18,
    _SC_MEMORY_PROTECTION___171 = 19,
    _SC_MESSAGE_PASSING___171 = 20,
    _SC_SEMAPHORES___171 = 21,
    _SC_SHARED_MEMORY_OBJECTS___171 = 22,
    _SC_AIO_LISTIO_MAX___171 = 23,
    _SC_AIO_MAX___171 = 24,
    _SC_AIO_PRIO_DELTA_MAX___171 = 25,
    _SC_DELAYTIMER_MAX___171 = 26,
    _SC_MQ_OPEN_MAX___171 = 27,
    _SC_MQ_PRIO_MAX___171 = 28,
    _SC_VERSION___171 = 29,
    _SC_PAGESIZE___171 = 30,
    _SC_RTSIG_MAX___171 = 31,
    _SC_SEM_NSEMS_MAX___171 = 32,
    _SC_SEM_VALUE_MAX___171 = 33,
    _SC_SIGQUEUE_MAX___171 = 34,
    _SC_TIMER_MAX___171 = 35,
    _SC_BC_BASE_MAX___171 = 36,
    _SC_BC_DIM_MAX___171 = 37,
    _SC_BC_SCALE_MAX___171 = 38,
    _SC_BC_STRING_MAX___171 = 39,
    _SC_COLL_WEIGHTS_MAX___171 = 40,
    _SC_EQUIV_CLASS_MAX___171 = 41,
    _SC_EXPR_NEST_MAX___171 = 42,
    _SC_LINE_MAX___171 = 43,
    _SC_RE_DUP_MAX___171 = 44,
    _SC_CHARCLASS_NAME_MAX___171 = 45,
    _SC_2_VERSION___171 = 46,
    _SC_2_C_BIND___171 = 47,
    _SC_2_C_DEV___171 = 48,
    _SC_2_FORT_DEV___171 = 49,
    _SC_2_FORT_RUN___171 = 50,
    _SC_2_SW_DEV___171 = 51,
    _SC_2_LOCALEDEF___171 = 52,
    _SC_PII___171 = 53,
    _SC_PII_XTI___171 = 54,
    _SC_PII_SOCKET___171 = 55,
    _SC_PII_INTERNET___171 = 56,
    _SC_PII_OSI___171 = 57,
    _SC_POLL___171 = 58,
    _SC_SELECT___171 = 59,
    _SC_UIO_MAXIOV___171 = 60,
    _SC_IOV_MAX___171 = 60,
    _SC_PII_INTERNET_STREAM___171 = 61,
    _SC_PII_INTERNET_DGRAM___171 = 62,
    _SC_PII_OSI_COTS___171 = 63,
    _SC_PII_OSI_CLTS___171 = 64,
    _SC_PII_OSI_M___171 = 65,
    _SC_T_IOV_MAX___171 = 66,
    _SC_THREADS___171 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___171 = 68,
    _SC_GETGR_R_SIZE_MAX___171 = 69,
    _SC_GETPW_R_SIZE_MAX___171 = 70,
    _SC_LOGIN_NAME_MAX___171 = 71,
    _SC_TTY_NAME_MAX___171 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___171 = 73,
    _SC_THREAD_KEYS_MAX___171 = 74,
    _SC_THREAD_STACK_MIN___171 = 75,
    _SC_THREAD_THREADS_MAX___171 = 76,
    _SC_THREAD_ATTR_STACKADDR___171 = 77,
    _SC_THREAD_ATTR_STACKSIZE___171 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___171 = 79,
    _SC_THREAD_PRIO_INHERIT___171 = 80,
    _SC_THREAD_PRIO_PROTECT___171 = 81,
    _SC_THREAD_PROCESS_SHARED___171 = 82,
    _SC_NPROCESSORS_CONF___171 = 83,
    _SC_NPROCESSORS_ONLN___171 = 84,
    _SC_PHYS_PAGES___171 = 85,
    _SC_AVPHYS_PAGES___171 = 86,
    _SC_ATEXIT_MAX___171 = 87,
    _SC_PASS_MAX___171 = 88,
    _SC_XOPEN_VERSION___171 = 89,
    _SC_XOPEN_XCU_VERSION___171 = 90,
    _SC_XOPEN_UNIX___171 = 91,
    _SC_XOPEN_CRYPT___171 = 92,
    _SC_XOPEN_ENH_I18N___171 = 93,
    _SC_XOPEN_SHM___171 = 94,
    _SC_2_CHAR_TERM___171 = 95,
    _SC_2_C_VERSION___171 = 96,
    _SC_2_UPE___171 = 97,
    _SC_XOPEN_XPG2___171 = 98,
    _SC_XOPEN_XPG3___171 = 99,
    _SC_XOPEN_XPG4___171 = 100,
    _SC_CHAR_BIT___171 = 101,
    _SC_CHAR_MAX___171 = 102,
    _SC_CHAR_MIN___171 = 103,
    _SC_INT_MAX___171 = 104,
    _SC_INT_MIN___171 = 105,
    _SC_LONG_BIT___171 = 106,
    _SC_WORD_BIT___171 = 107,
    _SC_MB_LEN_MAX___171 = 108,
    _SC_NZERO___171 = 109,
    _SC_SSIZE_MAX___171 = 110,
    _SC_SCHAR_MAX___171 = 111,
    _SC_SCHAR_MIN___171 = 112,
    _SC_SHRT_MAX___171 = 113,
    _SC_SHRT_MIN___171 = 114,
    _SC_UCHAR_MAX___171 = 115,
    _SC_UINT_MAX___171 = 116,
    _SC_ULONG_MAX___171 = 117,
    _SC_USHRT_MAX___171 = 118,
    _SC_NL_ARGMAX___171 = 119,
    _SC_NL_LANGMAX___171 = 120,
    _SC_NL_MSGMAX___171 = 121,
    _SC_NL_NMAX___171 = 122,
    _SC_NL_SETMAX___171 = 123,
    _SC_NL_TEXTMAX___171 = 124,
    _SC_XBS5_ILP32_OFF32___171 = 125,
    _SC_XBS5_ILP32_OFFBIG___171 = 126,
    _SC_XBS5_LP64_OFF64___171 = 127,
    _SC_XBS5_LPBIG_OFFBIG___171 = 128,
    _SC_XOPEN_LEGACY___171 = 129,
    _SC_XOPEN_REALTIME___171 = 130,
    _SC_XOPEN_REALTIME_THREADS___171 = 131,
    _SC_ADVISORY_INFO___171 = 132,
    _SC_BARRIERS___171 = 133,
    _SC_BASE___171 = 134,
    _SC_C_LANG_SUPPORT___171 = 135,
    _SC_C_LANG_SUPPORT_R___171 = 136,
    _SC_CLOCK_SELECTION___171 = 137,
    _SC_CPUTIME___171 = 138,
    _SC_THREAD_CPUTIME___171 = 139,
    _SC_DEVICE_IO___171 = 140,
    _SC_DEVICE_SPECIFIC___171 = 141,
    _SC_DEVICE_SPECIFIC_R___171 = 142,
    _SC_FD_MGMT___171 = 143,
    _SC_FIFO___171 = 144,
    _SC_PIPE___171 = 145,
    _SC_FILE_ATTRIBUTES___171 = 146,
    _SC_FILE_LOCKING___171 = 147,
    _SC_FILE_SYSTEM___171 = 148,
    _SC_MONOTONIC_CLOCK___171 = 149,
    _SC_MULTI_PROCESS___171 = 150,
    _SC_SINGLE_PROCESS___171 = 151,
    _SC_NETWORKING___171 = 152,
    _SC_READER_WRITER_LOCKS___171 = 153,
    _SC_SPIN_LOCKS___171 = 154,
    _SC_REGEXP___171 = 155,
    _SC_REGEX_VERSION___171 = 156,
    _SC_SHELL___171 = 157,
    _SC_SIGNALS___171 = 158,
    _SC_SPAWN___171 = 159,
    _SC_SPORADIC_SERVER___171 = 160,
    _SC_THREAD_SPORADIC_SERVER___171 = 161,
    _SC_SYSTEM_DATABASE___171 = 162,
    _SC_SYSTEM_DATABASE_R___171 = 163,
    _SC_TIMEOUTS___171 = 164,
    _SC_TYPED_MEMORY_OBJECTS___171 = 165,
    _SC_USER_GROUPS___171 = 166,
    _SC_USER_GROUPS_R___171 = 167,
    _SC_2_PBS___171 = 168,
    _SC_2_PBS_ACCOUNTING___171 = 169,
    _SC_2_PBS_LOCATE___171 = 170,
    _SC_2_PBS_MESSAGE___171 = 171,
    _SC_2_PBS_TRACK___171 = 172,
    _SC_SYMLOOP_MAX___171 = 173,
    _SC_STREAMS___171 = 174,
    _SC_2_PBS_CHECKPOINT___171 = 175,
    _SC_V6_ILP32_OFF32___171 = 176,
    _SC_V6_ILP32_OFFBIG___171 = 177,
    _SC_V6_LP64_OFF64___171 = 178,
    _SC_V6_LPBIG_OFFBIG___171 = 179,
    _SC_HOST_NAME_MAX___171 = 180,
    _SC_TRACE___171 = 181,
    _SC_TRACE_EVENT_FILTER___171 = 182,
    _SC_TRACE_INHERIT___171 = 183,
    _SC_TRACE_LOG___171 = 184,
    _SC_LEVEL1_ICACHE_SIZE___171 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___171 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___171 = 187,
    _SC_LEVEL1_DCACHE_SIZE___171 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___171 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___171 = 190,
    _SC_LEVEL2_CACHE_SIZE___171 = 191,
    _SC_LEVEL2_CACHE_ASSOC___171 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___171 = 193,
    _SC_LEVEL3_CACHE_SIZE___171 = 194,
    _SC_LEVEL3_CACHE_ASSOC___171 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___171 = 196,
    _SC_LEVEL4_CACHE_SIZE___171 = 197,
    _SC_LEVEL4_CACHE_ASSOC___171 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___171 = 199,
    _SC_IPV6___171 = 235,
    _SC_RAW_SOCKETS___171 = 236,
    _SC_V7_ILP32_OFF32___171 = 237,
    _SC_V7_ILP32_OFFBIG___171 = 238,
    _SC_V7_LP64_OFF64___171 = 239,
    _SC_V7_LPBIG_OFFBIG___171 = 240,
    _SC_SS_REPL_MAX___171 = 241,
    _SC_TRACE_EVENT_NAME_MAX___171 = 242,
    _SC_TRACE_NAME_MAX___171 = 243,
    _SC_TRACE_SYS_MAX___171 = 244,
    _SC_TRACE_USER_EVENT_MAX___171 = 245,
    _SC_XOPEN_STREAMS___171 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___171 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___171 = 248
} ;
enum __anonenum_875524036___171 {
    _CS_PATH___171 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___171 = 1,
    _CS_GNU_LIBC_VERSION___171 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___171 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___171 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___171 = 5,
    _CS_LFS_CFLAGS___171 = 1000,
    _CS_LFS_LDFLAGS___171 = 1001,
    _CS_LFS_LIBS___171 = 1002,
    _CS_LFS_LINTFLAGS___171 = 1003,
    _CS_LFS64_CFLAGS___171 = 1004,
    _CS_LFS64_LDFLAGS___171 = 1005,
    _CS_LFS64_LIBS___171 = 1006,
    _CS_LFS64_LINTFLAGS___171 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___171 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___171 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___171 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___171 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___171 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___171 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___171 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___171 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___171 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___171 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___171 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___171 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___171 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___171 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___171 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___171 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___171 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___171 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___171 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___171 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___171 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___171 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___171 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___171 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___171 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___171 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___171 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___171 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___171 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___171 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___171 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___171 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___171 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___171 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___171 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___171 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___171 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___171 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___171 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___171 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___171 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___171 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___171 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___171 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___171 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___171 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___171 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___171 = 1147,
    _CS_V6_ENV___171 = 1148,
    _CS_V7_ENV___171 = 1149
} ;
enum __anonenum_513775621___171 {
    DT_UNKNOWN___171 = 0,
    DT_FIFO___171 = 1,
    DT_CHR___171 = 2,
    DT_DIR___171 = 4,
    DT_BLK___171 = 6,
    DT_REG___171 = 8,
    DT_LNK___171 = 10,
    DT_SOCK___171 = 12,
    DT_WHT___171 = 14
} ;
enum __anonenum_77002343___171 {
    SI_ASYNCNL___171 = -60,
    SI_TKILL___171 = -6,
    SI_SIGIO___171 = -5,
    SI_ASYNCIO___171 = -4,
    SI_MESGQ___171 = -3,
    SI_TIMER___171 = -2,
    SI_QUEUE___171 = -1,
    SI_USER___171 = 0,
    SI_KERNEL___171 = 128
} ;
enum __anonenum_131038172___171 {
    ILL_ILLOPC___171 = 1,
    ILL_ILLOPN___171 = 2,
    ILL_ILLADR___171 = 3,
    ILL_ILLTRP___171 = 4,
    ILL_PRVOPC___171 = 5,
    ILL_PRVREG___171 = 6,
    ILL_COPROC___171 = 7,
    ILL_BADSTK___171 = 8
} ;
enum __anonenum_452038093___171 {
    FPE_INTDIV___171 = 1,
    FPE_INTOVF___171 = 2,
    FPE_FLTDIV___171 = 3,
    FPE_FLTOVF___171 = 4,
    FPE_FLTUND___171 = 5,
    FPE_FLTRES___171 = 6,
    FPE_FLTINV___171 = 7,
    FPE_FLTSUB___171 = 8
} ;
enum __anonenum_30976155___171 {
    SEGV_MAPERR___171 = 1,
    SEGV_ACCERR___171 = 2,
    SEGV_BNDERR___171 = 3,
    SEGV_PKUERR___171 = 4
} ;
enum __anonenum_1036286214___171 {
    BUS_ADRALN___171 = 1,
    BUS_ADRERR___171 = 2,
    BUS_OBJERR___171 = 3,
    BUS_MCEERR_AR___171 = 4,
    BUS_MCEERR_AO___171 = 5
} ;
enum __anonenum_493465559___171 {
    TRAP_BRKPT___171 = 1,
    TRAP_TRACE___171 = 2
} ;
enum __anonenum_23175539___171 {
    CLD_EXITED___171 = 1,
    CLD_KILLED___171 = 2,
    CLD_DUMPED___171 = 3,
    CLD_TRAPPED___171 = 4,
    CLD_STOPPED___171 = 5,
    CLD_CONTINUED___171 = 6
} ;
enum __anonenum_111643124___171 {
    POLL_IN___171 = 1,
    POLL_OUT___171 = 2,
    POLL_MSG___171 = 3,
    POLL_ERR___171 = 4,
    POLL_PRI___171 = 5,
    POLL_HUP___171 = 6
} ;
enum __anonenum_852341087___171 {
    SIGEV_SIGNAL___171 = 0,
    SIGEV_NONE___171 = 1,
    SIGEV_THREAD___171 = 2,
    SIGEV_THREAD_ID___171 = 4
} ;
enum __anonenum_451154152___171 {
    REG_R8___171 = 0,
    REG_R9___171 = 1,
    REG_R10___171 = 2,
    REG_R11___171 = 3,
    REG_R12___171 = 4,
    REG_R13___171 = 5,
    REG_R14___171 = 6,
    REG_R15___171 = 7,
    REG_RDI___171 = 8,
    REG_RSI___171 = 9,
    REG_RBP___171 = 10,
    REG_RBX___171 = 11,
    REG_RDX___171 = 12,
    REG_RAX___171 = 13,
    REG_RCX___171 = 14,
    REG_RSP___171 = 15,
    REG_RIP___171 = 16,
    REG_EFL___171 = 17,
    REG_CSGSFS___171 = 18,
    REG_ERR___171 = 19,
    REG_TRAPNO___171 = 20,
    REG_OLDMASK___171 = 21,
    REG_CR2___171 = 22
} ;
enum __anonenum_57186863___171 {
    SS_ONSTACK___171 = 1,
    SS_DISABLE___171 = 2
} ;
enum __anonenum_83571709___171 {
    MSG_OOB___171 = 1,
    MSG_PEEK___171 = 2,
    MSG_DONTROUTE___171 = 4,
    MSG_TRYHARD___171 = 4,
    MSG_CTRUNC___171 = 8,
    MSG_PROXY___171 = 16,
    MSG_TRUNC___171 = 32,
    MSG_DONTWAIT___171 = 64,
    MSG_EOR___171 = 128,
    MSG_WAITALL___171 = 256,
    MSG_FIN___171 = 512,
    MSG_SYN___171 = 1024,
    MSG_CONFIRM___171 = 2048,
    MSG_RST___171 = 4096,
    MSG_ERRQUEUE___171 = 8192,
    MSG_NOSIGNAL___171 = 16384,
    MSG_MORE___171 = 32768,
    MSG_WAITFORONE___171 = 65536,
    MSG_BATCH___171 = 262144,
    MSG_ZEROCOPY___171 = 67108864,
    MSG_FASTOPEN___171 = 536870912,
    MSG_CMSG_CLOEXEC___171 = 1073741824
} ;
enum __anonenum_617082774___171 {
    SCM_RIGHTS___171 = 1,
    SCM_CREDENTIALS___171 = 2
} ;
enum __anonenum_606441560___171 {
    SHUT_RD___171 = 0,
    SHUT_WR___171 = 1,
    SHUT_RDWR___171 = 2
} ;
enum __anonenum_681669233___171 {
    IPPROTO_IP___171 = 0,
    IPPROTO_ICMP___171 = 1,
    IPPROTO_IGMP___171 = 2,
    IPPROTO_IPIP___171 = 4,
    IPPROTO_TCP___171 = 6,
    IPPROTO_EGP___171 = 8,
    IPPROTO_PUP___171 = 12,
    IPPROTO_UDP___171 = 17,
    IPPROTO_IDP___171 = 22,
    IPPROTO_TP___171 = 29,
    IPPROTO_DCCP___171 = 33,
    IPPROTO_IPV6___171 = 41,
    IPPROTO_RSVP___171 = 46,
    IPPROTO_GRE___171 = 47,
    IPPROTO_ESP___171 = 50,
    IPPROTO_AH___171 = 51,
    IPPROTO_MTP___171 = 92,
    IPPROTO_BEETPH___171 = 94,
    IPPROTO_ENCAP___171 = 98,
    IPPROTO_PIM___171 = 103,
    IPPROTO_COMP___171 = 108,
    IPPROTO_SCTP___171 = 132,
    IPPROTO_UDPLITE___171 = 136,
    IPPROTO_MPLS___171 = 137,
    IPPROTO_RAW___171 = 255,
    IPPROTO_MAX___171 = 256
} ;
enum __anonenum_218739988___171 {
    IPPROTO_HOPOPTS___171 = 0,
    IPPROTO_ROUTING___171 = 43,
    IPPROTO_FRAGMENT___171 = 44,
    IPPROTO_ICMPV6___171 = 58,
    IPPROTO_NONE___171 = 59,
    IPPROTO_DSTOPTS___171 = 60,
    IPPROTO_MH___171 = 135
} ;
enum __anonenum_662268580___171 {
    IPPORT_ECHO___171 = 7,
    IPPORT_DISCARD___171 = 9,
    IPPORT_SYSTAT___171 = 11,
    IPPORT_DAYTIME___171 = 13,
    IPPORT_NETSTAT___171 = 15,
    IPPORT_FTP___171 = 21,
    IPPORT_TELNET___171 = 23,
    IPPORT_SMTP___171 = 25,
    IPPORT_TIMESERVER___171 = 37,
    IPPORT_NAMESERVER___171 = 42,
    IPPORT_WHOIS___171 = 43,
    IPPORT_MTP___171 = 57,
    IPPORT_TFTP___171 = 69,
    IPPORT_RJE___171 = 77,
    IPPORT_FINGER___171 = 79,
    IPPORT_TTYLINK___171 = 87,
    IPPORT_SUPDUP___171 = 95,
    IPPORT_EXECSERVER___171 = 512,
    IPPORT_LOGINSERVER___171 = 513,
    IPPORT_CMDSERVER___171 = 514,
    IPPORT_EFSSERVER___171 = 520,
    IPPORT_BIFFUDP___171 = 512,
    IPPORT_WHOSERVER___171 = 513,
    IPPORT_ROUTESERVER___171 = 520,
    IPPORT_RESERVED___171 = 1024,
    IPPORT_USERRESERVED___171 = 5000
} ;
enum __anonenum_788308992___171 {
    TCP_ESTABLISHED___171 = 1,
    TCP_SYN_SENT___171 = 2,
    TCP_SYN_RECV___171 = 3,
    TCP_FIN_WAIT1___171 = 4,
    TCP_FIN_WAIT2___171 = 5,
    TCP_TIME_WAIT___171 = 6,
    TCP_CLOSE___171 = 7,
    TCP_CLOSE_WAIT___171 = 8,
    TCP_LAST_ACK___171 = 9,
    TCP_LISTEN___171 = 10,
    TCP_CLOSING___171 = 11
} ;
enum __anonenum_221125648___171 {
    TCP_NO_QUEUE___171 = 0,
    TCP_RECV_QUEUE___171 = 1,
    TCP_SEND_QUEUE___171 = 2,
    TCP_QUEUES_NR___171 = 3
} ;
enum __anonenum_34415463___171 {
    PTHREAD_CREATE_JOINABLE___171 = 0,
    PTHREAD_CREATE_DETACHED___171 = 1
} ;
enum __anonenum_303612439___171 {
    PTHREAD_MUTEX_TIMED_NP___171 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___171 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___171 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___171 = 3,
    PTHREAD_MUTEX_NORMAL___171 = 0,
    PTHREAD_MUTEX_RECURSIVE___171 = 1,
    PTHREAD_MUTEX_ERRORCHECK___171 = 2,
    PTHREAD_MUTEX_DEFAULT___171 = 0,
    PTHREAD_MUTEX_FAST_NP___171 = 0
} ;
enum __anonenum_931900394___171 {
    PTHREAD_MUTEX_STALLED___171 = 0,
    PTHREAD_MUTEX_STALLED_NP___171 = 0,
    PTHREAD_MUTEX_ROBUST___171 = 1,
    PTHREAD_MUTEX_ROBUST_NP___171 = 1
} ;
enum __anonenum_205214487___171 {
    PTHREAD_PRIO_NONE___171 = 0,
    PTHREAD_PRIO_INHERIT___171 = 1,
    PTHREAD_PRIO_PROTECT___171 = 2
} ;
enum __anonenum_25043950___171 {
    PTHREAD_RWLOCK_PREFER_READER_NP___171 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___171 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___171 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___171 = 0
} ;
enum __anonenum_436439511___171 {
    PTHREAD_INHERIT_SCHED___171 = 0,
    PTHREAD_EXPLICIT_SCHED___171 = 1
} ;
enum __anonenum_998661166___171 {
    PTHREAD_SCOPE_SYSTEM___171 = 0,
    PTHREAD_SCOPE_PROCESS___171 = 1
} ;
enum __anonenum_146137331___171 {
    PTHREAD_PROCESS_PRIVATE___171 = 0,
    PTHREAD_PROCESS_SHARED___171 = 1
} ;
enum __anonenum_53396917___171 {
    PTHREAD_CANCEL_ENABLE___171 = 0,
    PTHREAD_CANCEL_DISABLE___171 = 1
} ;
enum __anonenum_904563783___171 {
    PTHREAD_CANCEL_DEFERRED___171 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___171 = 1
} ;
enum __anonenum_672052974___171 {
    SSL_CT_VALIDATION_PERMISSIVE___171 = 0,
    SSL_CT_VALIDATION_STRICT___171 = 1
} ;
enum __anonenum_34023289___14 {
    REMOTE_UNCONFIGURED___14 = 0,
    REMOTE_CONFIG___14 = 1,
    REMOTE_REMOTES___14 = 2,
    REMOTE_BRANCHES___14 = 3
} ;
struct send_pack_args {
   char const   *url ;
   unsigned int verbose : 1 ;
   unsigned int quiet : 1 ;
   unsigned int porcelain : 1 ;
   unsigned int progress : 1 ;
   unsigned int send_mirror : 1 ;
   unsigned int force_update : 1 ;
   unsigned int use_thin_pack : 1 ;
   unsigned int use_ofs_delta : 1 ;
   unsigned int dry_run : 1 ;
   unsigned int push_cert : 2 ;
   unsigned int stateless_rpc : 1 ;
   unsigned int atomic : 1 ;
   struct string_list  const  *push_options ;
};
enum __anonenum_437032235___172 {
    _PC_LINK_MAX___172 = 0,
    _PC_MAX_CANON___172 = 1,
    _PC_MAX_INPUT___172 = 2,
    _PC_NAME_MAX___172 = 3,
    _PC_PATH_MAX___172 = 4,
    _PC_PIPE_BUF___172 = 5,
    _PC_CHOWN_RESTRICTED___172 = 6,
    _PC_NO_TRUNC___172 = 7,
    _PC_VDISABLE___172 = 8,
    _PC_SYNC_IO___172 = 9,
    _PC_ASYNC_IO___172 = 10,
    _PC_PRIO_IO___172 = 11,
    _PC_SOCK_MAXBUF___172 = 12,
    _PC_FILESIZEBITS___172 = 13,
    _PC_REC_INCR_XFER_SIZE___172 = 14,
    _PC_REC_MAX_XFER_SIZE___172 = 15,
    _PC_REC_MIN_XFER_SIZE___172 = 16,
    _PC_REC_XFER_ALIGN___172 = 17,
    _PC_ALLOC_SIZE_MIN___172 = 18,
    _PC_SYMLINK_MAX___172 = 19,
    _PC_2_SYMLINKS___172 = 20
} ;
enum __anonenum_315186338___172 {
    _SC_ARG_MAX___172 = 0,
    _SC_CHILD_MAX___172 = 1,
    _SC_CLK_TCK___172 = 2,
    _SC_NGROUPS_MAX___172 = 3,
    _SC_OPEN_MAX___172 = 4,
    _SC_STREAM_MAX___172 = 5,
    _SC_TZNAME_MAX___172 = 6,
    _SC_JOB_CONTROL___172 = 7,
    _SC_SAVED_IDS___172 = 8,
    _SC_REALTIME_SIGNALS___172 = 9,
    _SC_PRIORITY_SCHEDULING___172 = 10,
    _SC_TIMERS___172 = 11,
    _SC_ASYNCHRONOUS_IO___172 = 12,
    _SC_PRIORITIZED_IO___172 = 13,
    _SC_SYNCHRONIZED_IO___172 = 14,
    _SC_FSYNC___172 = 15,
    _SC_MAPPED_FILES___172 = 16,
    _SC_MEMLOCK___172 = 17,
    _SC_MEMLOCK_RANGE___172 = 18,
    _SC_MEMORY_PROTECTION___172 = 19,
    _SC_MESSAGE_PASSING___172 = 20,
    _SC_SEMAPHORES___172 = 21,
    _SC_SHARED_MEMORY_OBJECTS___172 = 22,
    _SC_AIO_LISTIO_MAX___172 = 23,
    _SC_AIO_MAX___172 = 24,
    _SC_AIO_PRIO_DELTA_MAX___172 = 25,
    _SC_DELAYTIMER_MAX___172 = 26,
    _SC_MQ_OPEN_MAX___172 = 27,
    _SC_MQ_PRIO_MAX___172 = 28,
    _SC_VERSION___172 = 29,
    _SC_PAGESIZE___172 = 30,
    _SC_RTSIG_MAX___172 = 31,
    _SC_SEM_NSEMS_MAX___172 = 32,
    _SC_SEM_VALUE_MAX___172 = 33,
    _SC_SIGQUEUE_MAX___172 = 34,
    _SC_TIMER_MAX___172 = 35,
    _SC_BC_BASE_MAX___172 = 36,
    _SC_BC_DIM_MAX___172 = 37,
    _SC_BC_SCALE_MAX___172 = 38,
    _SC_BC_STRING_MAX___172 = 39,
    _SC_COLL_WEIGHTS_MAX___172 = 40,
    _SC_EQUIV_CLASS_MAX___172 = 41,
    _SC_EXPR_NEST_MAX___172 = 42,
    _SC_LINE_MAX___172 = 43,
    _SC_RE_DUP_MAX___172 = 44,
    _SC_CHARCLASS_NAME_MAX___172 = 45,
    _SC_2_VERSION___172 = 46,
    _SC_2_C_BIND___172 = 47,
    _SC_2_C_DEV___172 = 48,
    _SC_2_FORT_DEV___172 = 49,
    _SC_2_FORT_RUN___172 = 50,
    _SC_2_SW_DEV___172 = 51,
    _SC_2_LOCALEDEF___172 = 52,
    _SC_PII___172 = 53,
    _SC_PII_XTI___172 = 54,
    _SC_PII_SOCKET___172 = 55,
    _SC_PII_INTERNET___172 = 56,
    _SC_PII_OSI___172 = 57,
    _SC_POLL___172 = 58,
    _SC_SELECT___172 = 59,
    _SC_UIO_MAXIOV___172 = 60,
    _SC_IOV_MAX___172 = 60,
    _SC_PII_INTERNET_STREAM___172 = 61,
    _SC_PII_INTERNET_DGRAM___172 = 62,
    _SC_PII_OSI_COTS___172 = 63,
    _SC_PII_OSI_CLTS___172 = 64,
    _SC_PII_OSI_M___172 = 65,
    _SC_T_IOV_MAX___172 = 66,
    _SC_THREADS___172 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___172 = 68,
    _SC_GETGR_R_SIZE_MAX___172 = 69,
    _SC_GETPW_R_SIZE_MAX___172 = 70,
    _SC_LOGIN_NAME_MAX___172 = 71,
    _SC_TTY_NAME_MAX___172 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___172 = 73,
    _SC_THREAD_KEYS_MAX___172 = 74,
    _SC_THREAD_STACK_MIN___172 = 75,
    _SC_THREAD_THREADS_MAX___172 = 76,
    _SC_THREAD_ATTR_STACKADDR___172 = 77,
    _SC_THREAD_ATTR_STACKSIZE___172 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___172 = 79,
    _SC_THREAD_PRIO_INHERIT___172 = 80,
    _SC_THREAD_PRIO_PROTECT___172 = 81,
    _SC_THREAD_PROCESS_SHARED___172 = 82,
    _SC_NPROCESSORS_CONF___172 = 83,
    _SC_NPROCESSORS_ONLN___172 = 84,
    _SC_PHYS_PAGES___172 = 85,
    _SC_AVPHYS_PAGES___172 = 86,
    _SC_ATEXIT_MAX___172 = 87,
    _SC_PASS_MAX___172 = 88,
    _SC_XOPEN_VERSION___172 = 89,
    _SC_XOPEN_XCU_VERSION___172 = 90,
    _SC_XOPEN_UNIX___172 = 91,
    _SC_XOPEN_CRYPT___172 = 92,
    _SC_XOPEN_ENH_I18N___172 = 93,
    _SC_XOPEN_SHM___172 = 94,
    _SC_2_CHAR_TERM___172 = 95,
    _SC_2_C_VERSION___172 = 96,
    _SC_2_UPE___172 = 97,
    _SC_XOPEN_XPG2___172 = 98,
    _SC_XOPEN_XPG3___172 = 99,
    _SC_XOPEN_XPG4___172 = 100,
    _SC_CHAR_BIT___172 = 101,
    _SC_CHAR_MAX___172 = 102,
    _SC_CHAR_MIN___172 = 103,
    _SC_INT_MAX___172 = 104,
    _SC_INT_MIN___172 = 105,
    _SC_LONG_BIT___172 = 106,
    _SC_WORD_BIT___172 = 107,
    _SC_MB_LEN_MAX___172 = 108,
    _SC_NZERO___172 = 109,
    _SC_SSIZE_MAX___172 = 110,
    _SC_SCHAR_MAX___172 = 111,
    _SC_SCHAR_MIN___172 = 112,
    _SC_SHRT_MAX___172 = 113,
    _SC_SHRT_MIN___172 = 114,
    _SC_UCHAR_MAX___172 = 115,
    _SC_UINT_MAX___172 = 116,
    _SC_ULONG_MAX___172 = 117,
    _SC_USHRT_MAX___172 = 118,
    _SC_NL_ARGMAX___172 = 119,
    _SC_NL_LANGMAX___172 = 120,
    _SC_NL_MSGMAX___172 = 121,
    _SC_NL_NMAX___172 = 122,
    _SC_NL_SETMAX___172 = 123,
    _SC_NL_TEXTMAX___172 = 124,
    _SC_XBS5_ILP32_OFF32___172 = 125,
    _SC_XBS5_ILP32_OFFBIG___172 = 126,
    _SC_XBS5_LP64_OFF64___172 = 127,
    _SC_XBS5_LPBIG_OFFBIG___172 = 128,
    _SC_XOPEN_LEGACY___172 = 129,
    _SC_XOPEN_REALTIME___172 = 130,
    _SC_XOPEN_REALTIME_THREADS___172 = 131,
    _SC_ADVISORY_INFO___172 = 132,
    _SC_BARRIERS___172 = 133,
    _SC_BASE___172 = 134,
    _SC_C_LANG_SUPPORT___172 = 135,
    _SC_C_LANG_SUPPORT_R___172 = 136,
    _SC_CLOCK_SELECTION___172 = 137,
    _SC_CPUTIME___172 = 138,
    _SC_THREAD_CPUTIME___172 = 139,
    _SC_DEVICE_IO___172 = 140,
    _SC_DEVICE_SPECIFIC___172 = 141,
    _SC_DEVICE_SPECIFIC_R___172 = 142,
    _SC_FD_MGMT___172 = 143,
    _SC_FIFO___172 = 144,
    _SC_PIPE___172 = 145,
    _SC_FILE_ATTRIBUTES___172 = 146,
    _SC_FILE_LOCKING___172 = 147,
    _SC_FILE_SYSTEM___172 = 148,
    _SC_MONOTONIC_CLOCK___172 = 149,
    _SC_MULTI_PROCESS___172 = 150,
    _SC_SINGLE_PROCESS___172 = 151,
    _SC_NETWORKING___172 = 152,
    _SC_READER_WRITER_LOCKS___172 = 153,
    _SC_SPIN_LOCKS___172 = 154,
    _SC_REGEXP___172 = 155,
    _SC_REGEX_VERSION___172 = 156,
    _SC_SHELL___172 = 157,
    _SC_SIGNALS___172 = 158,
    _SC_SPAWN___172 = 159,
    _SC_SPORADIC_SERVER___172 = 160,
    _SC_THREAD_SPORADIC_SERVER___172 = 161,
    _SC_SYSTEM_DATABASE___172 = 162,
    _SC_SYSTEM_DATABASE_R___172 = 163,
    _SC_TIMEOUTS___172 = 164,
    _SC_TYPED_MEMORY_OBJECTS___172 = 165,
    _SC_USER_GROUPS___172 = 166,
    _SC_USER_GROUPS_R___172 = 167,
    _SC_2_PBS___172 = 168,
    _SC_2_PBS_ACCOUNTING___172 = 169,
    _SC_2_PBS_LOCATE___172 = 170,
    _SC_2_PBS_MESSAGE___172 = 171,
    _SC_2_PBS_TRACK___172 = 172,
    _SC_SYMLOOP_MAX___172 = 173,
    _SC_STREAMS___172 = 174,
    _SC_2_PBS_CHECKPOINT___172 = 175,
    _SC_V6_ILP32_OFF32___172 = 176,
    _SC_V6_ILP32_OFFBIG___172 = 177,
    _SC_V6_LP64_OFF64___172 = 178,
    _SC_V6_LPBIG_OFFBIG___172 = 179,
    _SC_HOST_NAME_MAX___172 = 180,
    _SC_TRACE___172 = 181,
    _SC_TRACE_EVENT_FILTER___172 = 182,
    _SC_TRACE_INHERIT___172 = 183,
    _SC_TRACE_LOG___172 = 184,
    _SC_LEVEL1_ICACHE_SIZE___172 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___172 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___172 = 187,
    _SC_LEVEL1_DCACHE_SIZE___172 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___172 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___172 = 190,
    _SC_LEVEL2_CACHE_SIZE___172 = 191,
    _SC_LEVEL2_CACHE_ASSOC___172 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___172 = 193,
    _SC_LEVEL3_CACHE_SIZE___172 = 194,
    _SC_LEVEL3_CACHE_ASSOC___172 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___172 = 196,
    _SC_LEVEL4_CACHE_SIZE___172 = 197,
    _SC_LEVEL4_CACHE_ASSOC___172 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___172 = 199,
    _SC_IPV6___172 = 235,
    _SC_RAW_SOCKETS___172 = 236,
    _SC_V7_ILP32_OFF32___172 = 237,
    _SC_V7_ILP32_OFFBIG___172 = 238,
    _SC_V7_LP64_OFF64___172 = 239,
    _SC_V7_LPBIG_OFFBIG___172 = 240,
    _SC_SS_REPL_MAX___172 = 241,
    _SC_TRACE_EVENT_NAME_MAX___172 = 242,
    _SC_TRACE_NAME_MAX___172 = 243,
    _SC_TRACE_SYS_MAX___172 = 244,
    _SC_TRACE_USER_EVENT_MAX___172 = 245,
    _SC_XOPEN_STREAMS___172 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___172 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___172 = 248
} ;
enum __anonenum_875524036___172 {
    _CS_PATH___172 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___172 = 1,
    _CS_GNU_LIBC_VERSION___172 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___172 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___172 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___172 = 5,
    _CS_LFS_CFLAGS___172 = 1000,
    _CS_LFS_LDFLAGS___172 = 1001,
    _CS_LFS_LIBS___172 = 1002,
    _CS_LFS_LINTFLAGS___172 = 1003,
    _CS_LFS64_CFLAGS___172 = 1004,
    _CS_LFS64_LDFLAGS___172 = 1005,
    _CS_LFS64_LIBS___172 = 1006,
    _CS_LFS64_LINTFLAGS___172 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___172 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___172 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___172 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___172 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___172 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___172 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___172 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___172 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___172 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___172 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___172 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___172 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___172 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___172 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___172 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___172 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___172 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___172 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___172 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___172 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___172 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___172 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___172 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___172 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___172 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___172 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___172 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___172 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___172 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___172 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___172 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___172 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___172 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___172 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___172 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___172 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___172 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___172 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___172 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___172 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___172 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___172 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___172 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___172 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___172 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___172 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___172 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___172 = 1147,
    _CS_V6_ENV___172 = 1148,
    _CS_V7_ENV___172 = 1149
} ;
enum __anonenum_513775621___172 {
    DT_UNKNOWN___172 = 0,
    DT_FIFO___172 = 1,
    DT_CHR___172 = 2,
    DT_DIR___172 = 4,
    DT_BLK___172 = 6,
    DT_REG___172 = 8,
    DT_LNK___172 = 10,
    DT_SOCK___172 = 12,
    DT_WHT___172 = 14
} ;
enum __anonenum_77002343___172 {
    SI_ASYNCNL___172 = -60,
    SI_TKILL___172 = -6,
    SI_SIGIO___172 = -5,
    SI_ASYNCIO___172 = -4,
    SI_MESGQ___172 = -3,
    SI_TIMER___172 = -2,
    SI_QUEUE___172 = -1,
    SI_USER___172 = 0,
    SI_KERNEL___172 = 128
} ;
enum __anonenum_131038172___172 {
    ILL_ILLOPC___172 = 1,
    ILL_ILLOPN___172 = 2,
    ILL_ILLADR___172 = 3,
    ILL_ILLTRP___172 = 4,
    ILL_PRVOPC___172 = 5,
    ILL_PRVREG___172 = 6,
    ILL_COPROC___172 = 7,
    ILL_BADSTK___172 = 8
} ;
enum __anonenum_452038093___172 {
    FPE_INTDIV___172 = 1,
    FPE_INTOVF___172 = 2,
    FPE_FLTDIV___172 = 3,
    FPE_FLTOVF___172 = 4,
    FPE_FLTUND___172 = 5,
    FPE_FLTRES___172 = 6,
    FPE_FLTINV___172 = 7,
    FPE_FLTSUB___172 = 8
} ;
enum __anonenum_30976155___172 {
    SEGV_MAPERR___172 = 1,
    SEGV_ACCERR___172 = 2,
    SEGV_BNDERR___172 = 3,
    SEGV_PKUERR___172 = 4
} ;
enum __anonenum_1036286214___172 {
    BUS_ADRALN___172 = 1,
    BUS_ADRERR___172 = 2,
    BUS_OBJERR___172 = 3,
    BUS_MCEERR_AR___172 = 4,
    BUS_MCEERR_AO___172 = 5
} ;
enum __anonenum_493465559___172 {
    TRAP_BRKPT___172 = 1,
    TRAP_TRACE___172 = 2
} ;
enum __anonenum_23175539___172 {
    CLD_EXITED___172 = 1,
    CLD_KILLED___172 = 2,
    CLD_DUMPED___172 = 3,
    CLD_TRAPPED___172 = 4,
    CLD_STOPPED___172 = 5,
    CLD_CONTINUED___172 = 6
} ;
enum __anonenum_111643124___172 {
    POLL_IN___172 = 1,
    POLL_OUT___172 = 2,
    POLL_MSG___172 = 3,
    POLL_ERR___172 = 4,
    POLL_PRI___172 = 5,
    POLL_HUP___172 = 6
} ;
enum __anonenum_852341087___172 {
    SIGEV_SIGNAL___172 = 0,
    SIGEV_NONE___172 = 1,
    SIGEV_THREAD___172 = 2,
    SIGEV_THREAD_ID___172 = 4
} ;
enum __anonenum_451154152___172 {
    REG_R8___172 = 0,
    REG_R9___172 = 1,
    REG_R10___172 = 2,
    REG_R11___172 = 3,
    REG_R12___172 = 4,
    REG_R13___172 = 5,
    REG_R14___172 = 6,
    REG_R15___172 = 7,
    REG_RDI___172 = 8,
    REG_RSI___172 = 9,
    REG_RBP___172 = 10,
    REG_RBX___172 = 11,
    REG_RDX___172 = 12,
    REG_RAX___172 = 13,
    REG_RCX___172 = 14,
    REG_RSP___172 = 15,
    REG_RIP___172 = 16,
    REG_EFL___172 = 17,
    REG_CSGSFS___172 = 18,
    REG_ERR___172 = 19,
    REG_TRAPNO___172 = 20,
    REG_OLDMASK___172 = 21,
    REG_CR2___172 = 22
} ;
enum __anonenum_57186863___172 {
    SS_ONSTACK___172 = 1,
    SS_DISABLE___172 = 2
} ;
enum __anonenum_83571709___172 {
    MSG_OOB___172 = 1,
    MSG_PEEK___172 = 2,
    MSG_DONTROUTE___172 = 4,
    MSG_TRYHARD___172 = 4,
    MSG_CTRUNC___172 = 8,
    MSG_PROXY___172 = 16,
    MSG_TRUNC___172 = 32,
    MSG_DONTWAIT___172 = 64,
    MSG_EOR___172 = 128,
    MSG_WAITALL___172 = 256,
    MSG_FIN___172 = 512,
    MSG_SYN___172 = 1024,
    MSG_CONFIRM___172 = 2048,
    MSG_RST___172 = 4096,
    MSG_ERRQUEUE___172 = 8192,
    MSG_NOSIGNAL___172 = 16384,
    MSG_MORE___172 = 32768,
    MSG_WAITFORONE___172 = 65536,
    MSG_BATCH___172 = 262144,
    MSG_ZEROCOPY___172 = 67108864,
    MSG_FASTOPEN___172 = 536870912,
    MSG_CMSG_CLOEXEC___172 = 1073741824
} ;
enum __anonenum_617082774___172 {
    SCM_RIGHTS___172 = 1,
    SCM_CREDENTIALS___172 = 2
} ;
enum __anonenum_606441560___172 {
    SHUT_RD___172 = 0,
    SHUT_WR___172 = 1,
    SHUT_RDWR___172 = 2
} ;
enum __anonenum_681669233___172 {
    IPPROTO_IP___172 = 0,
    IPPROTO_ICMP___172 = 1,
    IPPROTO_IGMP___172 = 2,
    IPPROTO_IPIP___172 = 4,
    IPPROTO_TCP___172 = 6,
    IPPROTO_EGP___172 = 8,
    IPPROTO_PUP___172 = 12,
    IPPROTO_UDP___172 = 17,
    IPPROTO_IDP___172 = 22,
    IPPROTO_TP___172 = 29,
    IPPROTO_DCCP___172 = 33,
    IPPROTO_IPV6___172 = 41,
    IPPROTO_RSVP___172 = 46,
    IPPROTO_GRE___172 = 47,
    IPPROTO_ESP___172 = 50,
    IPPROTO_AH___172 = 51,
    IPPROTO_MTP___172 = 92,
    IPPROTO_BEETPH___172 = 94,
    IPPROTO_ENCAP___172 = 98,
    IPPROTO_PIM___172 = 103,
    IPPROTO_COMP___172 = 108,
    IPPROTO_SCTP___172 = 132,
    IPPROTO_UDPLITE___172 = 136,
    IPPROTO_MPLS___172 = 137,
    IPPROTO_RAW___172 = 255,
    IPPROTO_MAX___172 = 256
} ;
enum __anonenum_218739988___172 {
    IPPROTO_HOPOPTS___172 = 0,
    IPPROTO_ROUTING___172 = 43,
    IPPROTO_FRAGMENT___172 = 44,
    IPPROTO_ICMPV6___172 = 58,
    IPPROTO_NONE___172 = 59,
    IPPROTO_DSTOPTS___172 = 60,
    IPPROTO_MH___172 = 135
} ;
enum __anonenum_662268580___172 {
    IPPORT_ECHO___172 = 7,
    IPPORT_DISCARD___172 = 9,
    IPPORT_SYSTAT___172 = 11,
    IPPORT_DAYTIME___172 = 13,
    IPPORT_NETSTAT___172 = 15,
    IPPORT_FTP___172 = 21,
    IPPORT_TELNET___172 = 23,
    IPPORT_SMTP___172 = 25,
    IPPORT_TIMESERVER___172 = 37,
    IPPORT_NAMESERVER___172 = 42,
    IPPORT_WHOIS___172 = 43,
    IPPORT_MTP___172 = 57,
    IPPORT_TFTP___172 = 69,
    IPPORT_RJE___172 = 77,
    IPPORT_FINGER___172 = 79,
    IPPORT_TTYLINK___172 = 87,
    IPPORT_SUPDUP___172 = 95,
    IPPORT_EXECSERVER___172 = 512,
    IPPORT_LOGINSERVER___172 = 513,
    IPPORT_CMDSERVER___172 = 514,
    IPPORT_EFSSERVER___172 = 520,
    IPPORT_BIFFUDP___172 = 512,
    IPPORT_WHOSERVER___172 = 513,
    IPPORT_ROUTESERVER___172 = 520,
    IPPORT_RESERVED___172 = 1024,
    IPPORT_USERRESERVED___172 = 5000
} ;
enum __anonenum_788308992___172 {
    TCP_ESTABLISHED___172 = 1,
    TCP_SYN_SENT___172 = 2,
    TCP_SYN_RECV___172 = 3,
    TCP_FIN_WAIT1___172 = 4,
    TCP_FIN_WAIT2___172 = 5,
    TCP_TIME_WAIT___172 = 6,
    TCP_CLOSE___172 = 7,
    TCP_CLOSE_WAIT___172 = 8,
    TCP_LAST_ACK___172 = 9,
    TCP_LISTEN___172 = 10,
    TCP_CLOSING___172 = 11
} ;
enum __anonenum_221125648___172 {
    TCP_NO_QUEUE___172 = 0,
    TCP_RECV_QUEUE___172 = 1,
    TCP_SEND_QUEUE___172 = 2,
    TCP_QUEUES_NR___172 = 3
} ;
enum __anonenum_34415463___172 {
    PTHREAD_CREATE_JOINABLE___172 = 0,
    PTHREAD_CREATE_DETACHED___172 = 1
} ;
enum __anonenum_303612439___172 {
    PTHREAD_MUTEX_TIMED_NP___172 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___172 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___172 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___172 = 3,
    PTHREAD_MUTEX_NORMAL___172 = 0,
    PTHREAD_MUTEX_RECURSIVE___172 = 1,
    PTHREAD_MUTEX_ERRORCHECK___172 = 2,
    PTHREAD_MUTEX_DEFAULT___172 = 0,
    PTHREAD_MUTEX_FAST_NP___172 = 0
} ;
enum __anonenum_931900394___172 {
    PTHREAD_MUTEX_STALLED___172 = 0,
    PTHREAD_MUTEX_STALLED_NP___172 = 0,
    PTHREAD_MUTEX_ROBUST___172 = 1,
    PTHREAD_MUTEX_ROBUST_NP___172 = 1
} ;
enum __anonenum_205214487___172 {
    PTHREAD_PRIO_NONE___172 = 0,
    PTHREAD_PRIO_INHERIT___172 = 1,
    PTHREAD_PRIO_PROTECT___172 = 2
} ;
enum __anonenum_25043950___172 {
    PTHREAD_RWLOCK_PREFER_READER_NP___172 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___172 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___172 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___172 = 0
} ;
enum __anonenum_436439511___172 {
    PTHREAD_INHERIT_SCHED___172 = 0,
    PTHREAD_EXPLICIT_SCHED___172 = 1
} ;
enum __anonenum_998661166___172 {
    PTHREAD_SCOPE_SYSTEM___172 = 0,
    PTHREAD_SCOPE_PROCESS___172 = 1
} ;
enum __anonenum_146137331___172 {
    PTHREAD_PROCESS_PRIVATE___172 = 0,
    PTHREAD_PROCESS_SHARED___172 = 1
} ;
enum __anonenum_53396917___172 {
    PTHREAD_CANCEL_ENABLE___172 = 0,
    PTHREAD_CANCEL_DISABLE___172 = 1
} ;
enum __anonenum_904563783___172 {
    PTHREAD_CANCEL_DEFERRED___172 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___172 = 1
} ;
enum __anonenum_672052974___172 {
    SSL_CT_VALIDATION_PERMISSIVE___172 = 0,
    SSL_CT_VALIDATION_STRICT___172 = 1
} ;
enum __anonenum_34023289___15 {
    REMOTE_UNCONFIGURED___15 = 0,
    REMOTE_CONFIG___15 = 1,
    REMOTE_REMOTES___15 = 2,
    REMOTE_BRANCHES___15 = 3
} ;
struct commit_message {
   char *parent_label ;
   char *label ;
   char *subject ;
   char const   *message ;
};
struct __anonstruct_todo_command_info_804246021 {
   char c ;
   char const   *str ;
};
enum todo_item_flags {
    TODO_EDIT_MERGE_MSG = 1,
    TODO_REPLACE_FIXUP_MSG = 2,
    TODO_EDIT_FIXUP_MSG = 4
} ;
struct labels_entry {
   struct hashmap_entry entry ;
   char label[] ;
};
struct string_entry {
   struct oidmap_entry entry ;
   char string[] ;
};
struct label_state {
   struct oidmap commit2label ;
   struct hashmap labels ;
   struct strbuf buf ;
};
struct subject2item_entry {
   struct hashmap_entry entry ;
   int i ;
   char subject[] ;
};
struct commit_todo_item {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   struct todo_item ***slab ;
};
enum __anonenum_437032235___173 {
    _PC_LINK_MAX___173 = 0,
    _PC_MAX_CANON___173 = 1,
    _PC_MAX_INPUT___173 = 2,
    _PC_NAME_MAX___173 = 3,
    _PC_PATH_MAX___173 = 4,
    _PC_PIPE_BUF___173 = 5,
    _PC_CHOWN_RESTRICTED___173 = 6,
    _PC_NO_TRUNC___173 = 7,
    _PC_VDISABLE___173 = 8,
    _PC_SYNC_IO___173 = 9,
    _PC_ASYNC_IO___173 = 10,
    _PC_PRIO_IO___173 = 11,
    _PC_SOCK_MAXBUF___173 = 12,
    _PC_FILESIZEBITS___173 = 13,
    _PC_REC_INCR_XFER_SIZE___173 = 14,
    _PC_REC_MAX_XFER_SIZE___173 = 15,
    _PC_REC_MIN_XFER_SIZE___173 = 16,
    _PC_REC_XFER_ALIGN___173 = 17,
    _PC_ALLOC_SIZE_MIN___173 = 18,
    _PC_SYMLINK_MAX___173 = 19,
    _PC_2_SYMLINKS___173 = 20
} ;
enum __anonenum_315186338___173 {
    _SC_ARG_MAX___173 = 0,
    _SC_CHILD_MAX___173 = 1,
    _SC_CLK_TCK___173 = 2,
    _SC_NGROUPS_MAX___173 = 3,
    _SC_OPEN_MAX___173 = 4,
    _SC_STREAM_MAX___173 = 5,
    _SC_TZNAME_MAX___173 = 6,
    _SC_JOB_CONTROL___173 = 7,
    _SC_SAVED_IDS___173 = 8,
    _SC_REALTIME_SIGNALS___173 = 9,
    _SC_PRIORITY_SCHEDULING___173 = 10,
    _SC_TIMERS___173 = 11,
    _SC_ASYNCHRONOUS_IO___173 = 12,
    _SC_PRIORITIZED_IO___173 = 13,
    _SC_SYNCHRONIZED_IO___173 = 14,
    _SC_FSYNC___173 = 15,
    _SC_MAPPED_FILES___173 = 16,
    _SC_MEMLOCK___173 = 17,
    _SC_MEMLOCK_RANGE___173 = 18,
    _SC_MEMORY_PROTECTION___173 = 19,
    _SC_MESSAGE_PASSING___173 = 20,
    _SC_SEMAPHORES___173 = 21,
    _SC_SHARED_MEMORY_OBJECTS___173 = 22,
    _SC_AIO_LISTIO_MAX___173 = 23,
    _SC_AIO_MAX___173 = 24,
    _SC_AIO_PRIO_DELTA_MAX___173 = 25,
    _SC_DELAYTIMER_MAX___173 = 26,
    _SC_MQ_OPEN_MAX___173 = 27,
    _SC_MQ_PRIO_MAX___173 = 28,
    _SC_VERSION___173 = 29,
    _SC_PAGESIZE___173 = 30,
    _SC_RTSIG_MAX___173 = 31,
    _SC_SEM_NSEMS_MAX___173 = 32,
    _SC_SEM_VALUE_MAX___173 = 33,
    _SC_SIGQUEUE_MAX___173 = 34,
    _SC_TIMER_MAX___173 = 35,
    _SC_BC_BASE_MAX___173 = 36,
    _SC_BC_DIM_MAX___173 = 37,
    _SC_BC_SCALE_MAX___173 = 38,
    _SC_BC_STRING_MAX___173 = 39,
    _SC_COLL_WEIGHTS_MAX___173 = 40,
    _SC_EQUIV_CLASS_MAX___173 = 41,
    _SC_EXPR_NEST_MAX___173 = 42,
    _SC_LINE_MAX___173 = 43,
    _SC_RE_DUP_MAX___173 = 44,
    _SC_CHARCLASS_NAME_MAX___173 = 45,
    _SC_2_VERSION___173 = 46,
    _SC_2_C_BIND___173 = 47,
    _SC_2_C_DEV___173 = 48,
    _SC_2_FORT_DEV___173 = 49,
    _SC_2_FORT_RUN___173 = 50,
    _SC_2_SW_DEV___173 = 51,
    _SC_2_LOCALEDEF___173 = 52,
    _SC_PII___173 = 53,
    _SC_PII_XTI___173 = 54,
    _SC_PII_SOCKET___173 = 55,
    _SC_PII_INTERNET___173 = 56,
    _SC_PII_OSI___173 = 57,
    _SC_POLL___173 = 58,
    _SC_SELECT___173 = 59,
    _SC_UIO_MAXIOV___173 = 60,
    _SC_IOV_MAX___173 = 60,
    _SC_PII_INTERNET_STREAM___173 = 61,
    _SC_PII_INTERNET_DGRAM___173 = 62,
    _SC_PII_OSI_COTS___173 = 63,
    _SC_PII_OSI_CLTS___173 = 64,
    _SC_PII_OSI_M___173 = 65,
    _SC_T_IOV_MAX___173 = 66,
    _SC_THREADS___173 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___173 = 68,
    _SC_GETGR_R_SIZE_MAX___173 = 69,
    _SC_GETPW_R_SIZE_MAX___173 = 70,
    _SC_LOGIN_NAME_MAX___173 = 71,
    _SC_TTY_NAME_MAX___173 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___173 = 73,
    _SC_THREAD_KEYS_MAX___173 = 74,
    _SC_THREAD_STACK_MIN___173 = 75,
    _SC_THREAD_THREADS_MAX___173 = 76,
    _SC_THREAD_ATTR_STACKADDR___173 = 77,
    _SC_THREAD_ATTR_STACKSIZE___173 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___173 = 79,
    _SC_THREAD_PRIO_INHERIT___173 = 80,
    _SC_THREAD_PRIO_PROTECT___173 = 81,
    _SC_THREAD_PROCESS_SHARED___173 = 82,
    _SC_NPROCESSORS_CONF___173 = 83,
    _SC_NPROCESSORS_ONLN___173 = 84,
    _SC_PHYS_PAGES___173 = 85,
    _SC_AVPHYS_PAGES___173 = 86,
    _SC_ATEXIT_MAX___173 = 87,
    _SC_PASS_MAX___173 = 88,
    _SC_XOPEN_VERSION___173 = 89,
    _SC_XOPEN_XCU_VERSION___173 = 90,
    _SC_XOPEN_UNIX___173 = 91,
    _SC_XOPEN_CRYPT___173 = 92,
    _SC_XOPEN_ENH_I18N___173 = 93,
    _SC_XOPEN_SHM___173 = 94,
    _SC_2_CHAR_TERM___173 = 95,
    _SC_2_C_VERSION___173 = 96,
    _SC_2_UPE___173 = 97,
    _SC_XOPEN_XPG2___173 = 98,
    _SC_XOPEN_XPG3___173 = 99,
    _SC_XOPEN_XPG4___173 = 100,
    _SC_CHAR_BIT___173 = 101,
    _SC_CHAR_MAX___173 = 102,
    _SC_CHAR_MIN___173 = 103,
    _SC_INT_MAX___173 = 104,
    _SC_INT_MIN___173 = 105,
    _SC_LONG_BIT___173 = 106,
    _SC_WORD_BIT___173 = 107,
    _SC_MB_LEN_MAX___173 = 108,
    _SC_NZERO___173 = 109,
    _SC_SSIZE_MAX___173 = 110,
    _SC_SCHAR_MAX___173 = 111,
    _SC_SCHAR_MIN___173 = 112,
    _SC_SHRT_MAX___173 = 113,
    _SC_SHRT_MIN___173 = 114,
    _SC_UCHAR_MAX___173 = 115,
    _SC_UINT_MAX___173 = 116,
    _SC_ULONG_MAX___173 = 117,
    _SC_USHRT_MAX___173 = 118,
    _SC_NL_ARGMAX___173 = 119,
    _SC_NL_LANGMAX___173 = 120,
    _SC_NL_MSGMAX___173 = 121,
    _SC_NL_NMAX___173 = 122,
    _SC_NL_SETMAX___173 = 123,
    _SC_NL_TEXTMAX___173 = 124,
    _SC_XBS5_ILP32_OFF32___173 = 125,
    _SC_XBS5_ILP32_OFFBIG___173 = 126,
    _SC_XBS5_LP64_OFF64___173 = 127,
    _SC_XBS5_LPBIG_OFFBIG___173 = 128,
    _SC_XOPEN_LEGACY___173 = 129,
    _SC_XOPEN_REALTIME___173 = 130,
    _SC_XOPEN_REALTIME_THREADS___173 = 131,
    _SC_ADVISORY_INFO___173 = 132,
    _SC_BARRIERS___173 = 133,
    _SC_BASE___173 = 134,
    _SC_C_LANG_SUPPORT___173 = 135,
    _SC_C_LANG_SUPPORT_R___173 = 136,
    _SC_CLOCK_SELECTION___173 = 137,
    _SC_CPUTIME___173 = 138,
    _SC_THREAD_CPUTIME___173 = 139,
    _SC_DEVICE_IO___173 = 140,
    _SC_DEVICE_SPECIFIC___173 = 141,
    _SC_DEVICE_SPECIFIC_R___173 = 142,
    _SC_FD_MGMT___173 = 143,
    _SC_FIFO___173 = 144,
    _SC_PIPE___173 = 145,
    _SC_FILE_ATTRIBUTES___173 = 146,
    _SC_FILE_LOCKING___173 = 147,
    _SC_FILE_SYSTEM___173 = 148,
    _SC_MONOTONIC_CLOCK___173 = 149,
    _SC_MULTI_PROCESS___173 = 150,
    _SC_SINGLE_PROCESS___173 = 151,
    _SC_NETWORKING___173 = 152,
    _SC_READER_WRITER_LOCKS___173 = 153,
    _SC_SPIN_LOCKS___173 = 154,
    _SC_REGEXP___173 = 155,
    _SC_REGEX_VERSION___173 = 156,
    _SC_SHELL___173 = 157,
    _SC_SIGNALS___173 = 158,
    _SC_SPAWN___173 = 159,
    _SC_SPORADIC_SERVER___173 = 160,
    _SC_THREAD_SPORADIC_SERVER___173 = 161,
    _SC_SYSTEM_DATABASE___173 = 162,
    _SC_SYSTEM_DATABASE_R___173 = 163,
    _SC_TIMEOUTS___173 = 164,
    _SC_TYPED_MEMORY_OBJECTS___173 = 165,
    _SC_USER_GROUPS___173 = 166,
    _SC_USER_GROUPS_R___173 = 167,
    _SC_2_PBS___173 = 168,
    _SC_2_PBS_ACCOUNTING___173 = 169,
    _SC_2_PBS_LOCATE___173 = 170,
    _SC_2_PBS_MESSAGE___173 = 171,
    _SC_2_PBS_TRACK___173 = 172,
    _SC_SYMLOOP_MAX___173 = 173,
    _SC_STREAMS___173 = 174,
    _SC_2_PBS_CHECKPOINT___173 = 175,
    _SC_V6_ILP32_OFF32___173 = 176,
    _SC_V6_ILP32_OFFBIG___173 = 177,
    _SC_V6_LP64_OFF64___173 = 178,
    _SC_V6_LPBIG_OFFBIG___173 = 179,
    _SC_HOST_NAME_MAX___173 = 180,
    _SC_TRACE___173 = 181,
    _SC_TRACE_EVENT_FILTER___173 = 182,
    _SC_TRACE_INHERIT___173 = 183,
    _SC_TRACE_LOG___173 = 184,
    _SC_LEVEL1_ICACHE_SIZE___173 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___173 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___173 = 187,
    _SC_LEVEL1_DCACHE_SIZE___173 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___173 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___173 = 190,
    _SC_LEVEL2_CACHE_SIZE___173 = 191,
    _SC_LEVEL2_CACHE_ASSOC___173 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___173 = 193,
    _SC_LEVEL3_CACHE_SIZE___173 = 194,
    _SC_LEVEL3_CACHE_ASSOC___173 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___173 = 196,
    _SC_LEVEL4_CACHE_SIZE___173 = 197,
    _SC_LEVEL4_CACHE_ASSOC___173 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___173 = 199,
    _SC_IPV6___173 = 235,
    _SC_RAW_SOCKETS___173 = 236,
    _SC_V7_ILP32_OFF32___173 = 237,
    _SC_V7_ILP32_OFFBIG___173 = 238,
    _SC_V7_LP64_OFF64___173 = 239,
    _SC_V7_LPBIG_OFFBIG___173 = 240,
    _SC_SS_REPL_MAX___173 = 241,
    _SC_TRACE_EVENT_NAME_MAX___173 = 242,
    _SC_TRACE_NAME_MAX___173 = 243,
    _SC_TRACE_SYS_MAX___173 = 244,
    _SC_TRACE_USER_EVENT_MAX___173 = 245,
    _SC_XOPEN_STREAMS___173 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___173 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___173 = 248
} ;
enum __anonenum_875524036___173 {
    _CS_PATH___173 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___173 = 1,
    _CS_GNU_LIBC_VERSION___173 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___173 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___173 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___173 = 5,
    _CS_LFS_CFLAGS___173 = 1000,
    _CS_LFS_LDFLAGS___173 = 1001,
    _CS_LFS_LIBS___173 = 1002,
    _CS_LFS_LINTFLAGS___173 = 1003,
    _CS_LFS64_CFLAGS___173 = 1004,
    _CS_LFS64_LDFLAGS___173 = 1005,
    _CS_LFS64_LIBS___173 = 1006,
    _CS_LFS64_LINTFLAGS___173 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___173 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___173 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___173 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___173 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___173 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___173 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___173 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___173 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___173 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___173 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___173 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___173 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___173 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___173 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___173 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___173 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___173 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___173 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___173 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___173 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___173 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___173 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___173 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___173 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___173 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___173 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___173 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___173 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___173 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___173 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___173 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___173 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___173 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___173 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___173 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___173 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___173 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___173 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___173 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___173 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___173 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___173 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___173 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___173 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___173 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___173 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___173 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___173 = 1147,
    _CS_V6_ENV___173 = 1148,
    _CS_V7_ENV___173 = 1149
} ;
enum __anonenum_513775621___173 {
    DT_UNKNOWN___173 = 0,
    DT_FIFO___173 = 1,
    DT_CHR___173 = 2,
    DT_DIR___173 = 4,
    DT_BLK___173 = 6,
    DT_REG___173 = 8,
    DT_LNK___173 = 10,
    DT_SOCK___173 = 12,
    DT_WHT___173 = 14
} ;
enum __anonenum_77002343___173 {
    SI_ASYNCNL___173 = -60,
    SI_TKILL___173 = -6,
    SI_SIGIO___173 = -5,
    SI_ASYNCIO___173 = -4,
    SI_MESGQ___173 = -3,
    SI_TIMER___173 = -2,
    SI_QUEUE___173 = -1,
    SI_USER___173 = 0,
    SI_KERNEL___173 = 128
} ;
enum __anonenum_131038172___173 {
    ILL_ILLOPC___173 = 1,
    ILL_ILLOPN___173 = 2,
    ILL_ILLADR___173 = 3,
    ILL_ILLTRP___173 = 4,
    ILL_PRVOPC___173 = 5,
    ILL_PRVREG___173 = 6,
    ILL_COPROC___173 = 7,
    ILL_BADSTK___173 = 8
} ;
enum __anonenum_452038093___173 {
    FPE_INTDIV___173 = 1,
    FPE_INTOVF___173 = 2,
    FPE_FLTDIV___173 = 3,
    FPE_FLTOVF___173 = 4,
    FPE_FLTUND___173 = 5,
    FPE_FLTRES___173 = 6,
    FPE_FLTINV___173 = 7,
    FPE_FLTSUB___173 = 8
} ;
enum __anonenum_30976155___173 {
    SEGV_MAPERR___173 = 1,
    SEGV_ACCERR___173 = 2,
    SEGV_BNDERR___173 = 3,
    SEGV_PKUERR___173 = 4
} ;
enum __anonenum_1036286214___173 {
    BUS_ADRALN___173 = 1,
    BUS_ADRERR___173 = 2,
    BUS_OBJERR___173 = 3,
    BUS_MCEERR_AR___173 = 4,
    BUS_MCEERR_AO___173 = 5
} ;
enum __anonenum_493465559___173 {
    TRAP_BRKPT___173 = 1,
    TRAP_TRACE___173 = 2
} ;
enum __anonenum_23175539___173 {
    CLD_EXITED___173 = 1,
    CLD_KILLED___173 = 2,
    CLD_DUMPED___173 = 3,
    CLD_TRAPPED___173 = 4,
    CLD_STOPPED___173 = 5,
    CLD_CONTINUED___173 = 6
} ;
enum __anonenum_111643124___173 {
    POLL_IN___173 = 1,
    POLL_OUT___173 = 2,
    POLL_MSG___173 = 3,
    POLL_ERR___173 = 4,
    POLL_PRI___173 = 5,
    POLL_HUP___173 = 6
} ;
enum __anonenum_852341087___173 {
    SIGEV_SIGNAL___173 = 0,
    SIGEV_NONE___173 = 1,
    SIGEV_THREAD___173 = 2,
    SIGEV_THREAD_ID___173 = 4
} ;
enum __anonenum_451154152___173 {
    REG_R8___173 = 0,
    REG_R9___173 = 1,
    REG_R10___173 = 2,
    REG_R11___173 = 3,
    REG_R12___173 = 4,
    REG_R13___173 = 5,
    REG_R14___173 = 6,
    REG_R15___173 = 7,
    REG_RDI___173 = 8,
    REG_RSI___173 = 9,
    REG_RBP___173 = 10,
    REG_RBX___173 = 11,
    REG_RDX___173 = 12,
    REG_RAX___173 = 13,
    REG_RCX___173 = 14,
    REG_RSP___173 = 15,
    REG_RIP___173 = 16,
    REG_EFL___173 = 17,
    REG_CSGSFS___173 = 18,
    REG_ERR___173 = 19,
    REG_TRAPNO___173 = 20,
    REG_OLDMASK___173 = 21,
    REG_CR2___173 = 22
} ;
enum __anonenum_57186863___173 {
    SS_ONSTACK___173 = 1,
    SS_DISABLE___173 = 2
} ;
enum __anonenum_83571709___173 {
    MSG_OOB___173 = 1,
    MSG_PEEK___173 = 2,
    MSG_DONTROUTE___173 = 4,
    MSG_TRYHARD___173 = 4,
    MSG_CTRUNC___173 = 8,
    MSG_PROXY___173 = 16,
    MSG_TRUNC___173 = 32,
    MSG_DONTWAIT___173 = 64,
    MSG_EOR___173 = 128,
    MSG_WAITALL___173 = 256,
    MSG_FIN___173 = 512,
    MSG_SYN___173 = 1024,
    MSG_CONFIRM___173 = 2048,
    MSG_RST___173 = 4096,
    MSG_ERRQUEUE___173 = 8192,
    MSG_NOSIGNAL___173 = 16384,
    MSG_MORE___173 = 32768,
    MSG_WAITFORONE___173 = 65536,
    MSG_BATCH___173 = 262144,
    MSG_ZEROCOPY___173 = 67108864,
    MSG_FASTOPEN___173 = 536870912,
    MSG_CMSG_CLOEXEC___173 = 1073741824
} ;
enum __anonenum_617082774___173 {
    SCM_RIGHTS___173 = 1,
    SCM_CREDENTIALS___173 = 2
} ;
enum __anonenum_606441560___173 {
    SHUT_RD___173 = 0,
    SHUT_WR___173 = 1,
    SHUT_RDWR___173 = 2
} ;
enum __anonenum_681669233___173 {
    IPPROTO_IP___173 = 0,
    IPPROTO_ICMP___173 = 1,
    IPPROTO_IGMP___173 = 2,
    IPPROTO_IPIP___173 = 4,
    IPPROTO_TCP___173 = 6,
    IPPROTO_EGP___173 = 8,
    IPPROTO_PUP___173 = 12,
    IPPROTO_UDP___173 = 17,
    IPPROTO_IDP___173 = 22,
    IPPROTO_TP___173 = 29,
    IPPROTO_DCCP___173 = 33,
    IPPROTO_IPV6___173 = 41,
    IPPROTO_RSVP___173 = 46,
    IPPROTO_GRE___173 = 47,
    IPPROTO_ESP___173 = 50,
    IPPROTO_AH___173 = 51,
    IPPROTO_MTP___173 = 92,
    IPPROTO_BEETPH___173 = 94,
    IPPROTO_ENCAP___173 = 98,
    IPPROTO_PIM___173 = 103,
    IPPROTO_COMP___173 = 108,
    IPPROTO_SCTP___173 = 132,
    IPPROTO_UDPLITE___173 = 136,
    IPPROTO_MPLS___173 = 137,
    IPPROTO_RAW___173 = 255,
    IPPROTO_MAX___173 = 256
} ;
enum __anonenum_218739988___173 {
    IPPROTO_HOPOPTS___173 = 0,
    IPPROTO_ROUTING___173 = 43,
    IPPROTO_FRAGMENT___173 = 44,
    IPPROTO_ICMPV6___173 = 58,
    IPPROTO_NONE___173 = 59,
    IPPROTO_DSTOPTS___173 = 60,
    IPPROTO_MH___173 = 135
} ;
enum __anonenum_662268580___173 {
    IPPORT_ECHO___173 = 7,
    IPPORT_DISCARD___173 = 9,
    IPPORT_SYSTAT___173 = 11,
    IPPORT_DAYTIME___173 = 13,
    IPPORT_NETSTAT___173 = 15,
    IPPORT_FTP___173 = 21,
    IPPORT_TELNET___173 = 23,
    IPPORT_SMTP___173 = 25,
    IPPORT_TIMESERVER___173 = 37,
    IPPORT_NAMESERVER___173 = 42,
    IPPORT_WHOIS___173 = 43,
    IPPORT_MTP___173 = 57,
    IPPORT_TFTP___173 = 69,
    IPPORT_RJE___173 = 77,
    IPPORT_FINGER___173 = 79,
    IPPORT_TTYLINK___173 = 87,
    IPPORT_SUPDUP___173 = 95,
    IPPORT_EXECSERVER___173 = 512,
    IPPORT_LOGINSERVER___173 = 513,
    IPPORT_CMDSERVER___173 = 514,
    IPPORT_EFSSERVER___173 = 520,
    IPPORT_BIFFUDP___173 = 512,
    IPPORT_WHOSERVER___173 = 513,
    IPPORT_ROUTESERVER___173 = 520,
    IPPORT_RESERVED___173 = 1024,
    IPPORT_USERRESERVED___173 = 5000
} ;
enum __anonenum_788308992___173 {
    TCP_ESTABLISHED___173 = 1,
    TCP_SYN_SENT___173 = 2,
    TCP_SYN_RECV___173 = 3,
    TCP_FIN_WAIT1___173 = 4,
    TCP_FIN_WAIT2___173 = 5,
    TCP_TIME_WAIT___173 = 6,
    TCP_CLOSE___173 = 7,
    TCP_CLOSE_WAIT___173 = 8,
    TCP_LAST_ACK___173 = 9,
    TCP_LISTEN___173 = 10,
    TCP_CLOSING___173 = 11
} ;
enum __anonenum_221125648___173 {
    TCP_NO_QUEUE___173 = 0,
    TCP_RECV_QUEUE___173 = 1,
    TCP_SEND_QUEUE___173 = 2,
    TCP_QUEUES_NR___173 = 3
} ;
enum __anonenum_34415463___173 {
    PTHREAD_CREATE_JOINABLE___173 = 0,
    PTHREAD_CREATE_DETACHED___173 = 1
} ;
enum __anonenum_303612439___173 {
    PTHREAD_MUTEX_TIMED_NP___173 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___173 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___173 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___173 = 3,
    PTHREAD_MUTEX_NORMAL___173 = 0,
    PTHREAD_MUTEX_RECURSIVE___173 = 1,
    PTHREAD_MUTEX_ERRORCHECK___173 = 2,
    PTHREAD_MUTEX_DEFAULT___173 = 0,
    PTHREAD_MUTEX_FAST_NP___173 = 0
} ;
enum __anonenum_931900394___173 {
    PTHREAD_MUTEX_STALLED___173 = 0,
    PTHREAD_MUTEX_STALLED_NP___173 = 0,
    PTHREAD_MUTEX_ROBUST___173 = 1,
    PTHREAD_MUTEX_ROBUST_NP___173 = 1
} ;
enum __anonenum_205214487___173 {
    PTHREAD_PRIO_NONE___173 = 0,
    PTHREAD_PRIO_INHERIT___173 = 1,
    PTHREAD_PRIO_PROTECT___173 = 2
} ;
enum __anonenum_25043950___173 {
    PTHREAD_RWLOCK_PREFER_READER_NP___173 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___173 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___173 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___173 = 0
} ;
enum __anonenum_436439511___173 {
    PTHREAD_INHERIT_SCHED___173 = 0,
    PTHREAD_EXPLICIT_SCHED___173 = 1
} ;
enum __anonenum_998661166___173 {
    PTHREAD_SCOPE_SYSTEM___173 = 0,
    PTHREAD_SCOPE_PROCESS___173 = 1
} ;
enum __anonenum_146137331___173 {
    PTHREAD_PROCESS_PRIVATE___173 = 0,
    PTHREAD_PROCESS_SHARED___173 = 1
} ;
enum __anonenum_53396917___173 {
    PTHREAD_CANCEL_ENABLE___173 = 0,
    PTHREAD_CANCEL_DISABLE___173 = 1
} ;
enum __anonenum_904563783___173 {
    PTHREAD_CANCEL_DEFERRED___173 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___173 = 1
} ;
enum __anonenum_672052974___173 {
    SSL_CT_VALIDATION_PERMISSIVE___173 = 0,
    SSL_CT_VALIDATION_STRICT___173 = 1
} ;
struct protocol_capability {
   char const   *name ;
   int (*advertise)(struct repository *r , struct strbuf *value ) ;
   int (*command)(struct repository *r , struct packet_reader *request ) ;
   void (*receive)(struct repository *r , char const   *value ) ;
};
enum request_state {
    PROCESS_REQUEST_KEYS = 0,
    PROCESS_REQUEST_DONE = 1
} ;
enum __anonenum_437032235___174 {
    _PC_LINK_MAX___174 = 0,
    _PC_MAX_CANON___174 = 1,
    _PC_MAX_INPUT___174 = 2,
    _PC_NAME_MAX___174 = 3,
    _PC_PATH_MAX___174 = 4,
    _PC_PIPE_BUF___174 = 5,
    _PC_CHOWN_RESTRICTED___174 = 6,
    _PC_NO_TRUNC___174 = 7,
    _PC_VDISABLE___174 = 8,
    _PC_SYNC_IO___174 = 9,
    _PC_ASYNC_IO___174 = 10,
    _PC_PRIO_IO___174 = 11,
    _PC_SOCK_MAXBUF___174 = 12,
    _PC_FILESIZEBITS___174 = 13,
    _PC_REC_INCR_XFER_SIZE___174 = 14,
    _PC_REC_MAX_XFER_SIZE___174 = 15,
    _PC_REC_MIN_XFER_SIZE___174 = 16,
    _PC_REC_XFER_ALIGN___174 = 17,
    _PC_ALLOC_SIZE_MIN___174 = 18,
    _PC_SYMLINK_MAX___174 = 19,
    _PC_2_SYMLINKS___174 = 20
} ;
enum __anonenum_315186338___174 {
    _SC_ARG_MAX___174 = 0,
    _SC_CHILD_MAX___174 = 1,
    _SC_CLK_TCK___174 = 2,
    _SC_NGROUPS_MAX___174 = 3,
    _SC_OPEN_MAX___174 = 4,
    _SC_STREAM_MAX___174 = 5,
    _SC_TZNAME_MAX___174 = 6,
    _SC_JOB_CONTROL___174 = 7,
    _SC_SAVED_IDS___174 = 8,
    _SC_REALTIME_SIGNALS___174 = 9,
    _SC_PRIORITY_SCHEDULING___174 = 10,
    _SC_TIMERS___174 = 11,
    _SC_ASYNCHRONOUS_IO___174 = 12,
    _SC_PRIORITIZED_IO___174 = 13,
    _SC_SYNCHRONIZED_IO___174 = 14,
    _SC_FSYNC___174 = 15,
    _SC_MAPPED_FILES___174 = 16,
    _SC_MEMLOCK___174 = 17,
    _SC_MEMLOCK_RANGE___174 = 18,
    _SC_MEMORY_PROTECTION___174 = 19,
    _SC_MESSAGE_PASSING___174 = 20,
    _SC_SEMAPHORES___174 = 21,
    _SC_SHARED_MEMORY_OBJECTS___174 = 22,
    _SC_AIO_LISTIO_MAX___174 = 23,
    _SC_AIO_MAX___174 = 24,
    _SC_AIO_PRIO_DELTA_MAX___174 = 25,
    _SC_DELAYTIMER_MAX___174 = 26,
    _SC_MQ_OPEN_MAX___174 = 27,
    _SC_MQ_PRIO_MAX___174 = 28,
    _SC_VERSION___174 = 29,
    _SC_PAGESIZE___174 = 30,
    _SC_RTSIG_MAX___174 = 31,
    _SC_SEM_NSEMS_MAX___174 = 32,
    _SC_SEM_VALUE_MAX___174 = 33,
    _SC_SIGQUEUE_MAX___174 = 34,
    _SC_TIMER_MAX___174 = 35,
    _SC_BC_BASE_MAX___174 = 36,
    _SC_BC_DIM_MAX___174 = 37,
    _SC_BC_SCALE_MAX___174 = 38,
    _SC_BC_STRING_MAX___174 = 39,
    _SC_COLL_WEIGHTS_MAX___174 = 40,
    _SC_EQUIV_CLASS_MAX___174 = 41,
    _SC_EXPR_NEST_MAX___174 = 42,
    _SC_LINE_MAX___174 = 43,
    _SC_RE_DUP_MAX___174 = 44,
    _SC_CHARCLASS_NAME_MAX___174 = 45,
    _SC_2_VERSION___174 = 46,
    _SC_2_C_BIND___174 = 47,
    _SC_2_C_DEV___174 = 48,
    _SC_2_FORT_DEV___174 = 49,
    _SC_2_FORT_RUN___174 = 50,
    _SC_2_SW_DEV___174 = 51,
    _SC_2_LOCALEDEF___174 = 52,
    _SC_PII___174 = 53,
    _SC_PII_XTI___174 = 54,
    _SC_PII_SOCKET___174 = 55,
    _SC_PII_INTERNET___174 = 56,
    _SC_PII_OSI___174 = 57,
    _SC_POLL___174 = 58,
    _SC_SELECT___174 = 59,
    _SC_UIO_MAXIOV___174 = 60,
    _SC_IOV_MAX___174 = 60,
    _SC_PII_INTERNET_STREAM___174 = 61,
    _SC_PII_INTERNET_DGRAM___174 = 62,
    _SC_PII_OSI_COTS___174 = 63,
    _SC_PII_OSI_CLTS___174 = 64,
    _SC_PII_OSI_M___174 = 65,
    _SC_T_IOV_MAX___174 = 66,
    _SC_THREADS___174 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___174 = 68,
    _SC_GETGR_R_SIZE_MAX___174 = 69,
    _SC_GETPW_R_SIZE_MAX___174 = 70,
    _SC_LOGIN_NAME_MAX___174 = 71,
    _SC_TTY_NAME_MAX___174 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___174 = 73,
    _SC_THREAD_KEYS_MAX___174 = 74,
    _SC_THREAD_STACK_MIN___174 = 75,
    _SC_THREAD_THREADS_MAX___174 = 76,
    _SC_THREAD_ATTR_STACKADDR___174 = 77,
    _SC_THREAD_ATTR_STACKSIZE___174 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___174 = 79,
    _SC_THREAD_PRIO_INHERIT___174 = 80,
    _SC_THREAD_PRIO_PROTECT___174 = 81,
    _SC_THREAD_PROCESS_SHARED___174 = 82,
    _SC_NPROCESSORS_CONF___174 = 83,
    _SC_NPROCESSORS_ONLN___174 = 84,
    _SC_PHYS_PAGES___174 = 85,
    _SC_AVPHYS_PAGES___174 = 86,
    _SC_ATEXIT_MAX___174 = 87,
    _SC_PASS_MAX___174 = 88,
    _SC_XOPEN_VERSION___174 = 89,
    _SC_XOPEN_XCU_VERSION___174 = 90,
    _SC_XOPEN_UNIX___174 = 91,
    _SC_XOPEN_CRYPT___174 = 92,
    _SC_XOPEN_ENH_I18N___174 = 93,
    _SC_XOPEN_SHM___174 = 94,
    _SC_2_CHAR_TERM___174 = 95,
    _SC_2_C_VERSION___174 = 96,
    _SC_2_UPE___174 = 97,
    _SC_XOPEN_XPG2___174 = 98,
    _SC_XOPEN_XPG3___174 = 99,
    _SC_XOPEN_XPG4___174 = 100,
    _SC_CHAR_BIT___174 = 101,
    _SC_CHAR_MAX___174 = 102,
    _SC_CHAR_MIN___174 = 103,
    _SC_INT_MAX___174 = 104,
    _SC_INT_MIN___174 = 105,
    _SC_LONG_BIT___174 = 106,
    _SC_WORD_BIT___174 = 107,
    _SC_MB_LEN_MAX___174 = 108,
    _SC_NZERO___174 = 109,
    _SC_SSIZE_MAX___174 = 110,
    _SC_SCHAR_MAX___174 = 111,
    _SC_SCHAR_MIN___174 = 112,
    _SC_SHRT_MAX___174 = 113,
    _SC_SHRT_MIN___174 = 114,
    _SC_UCHAR_MAX___174 = 115,
    _SC_UINT_MAX___174 = 116,
    _SC_ULONG_MAX___174 = 117,
    _SC_USHRT_MAX___174 = 118,
    _SC_NL_ARGMAX___174 = 119,
    _SC_NL_LANGMAX___174 = 120,
    _SC_NL_MSGMAX___174 = 121,
    _SC_NL_NMAX___174 = 122,
    _SC_NL_SETMAX___174 = 123,
    _SC_NL_TEXTMAX___174 = 124,
    _SC_XBS5_ILP32_OFF32___174 = 125,
    _SC_XBS5_ILP32_OFFBIG___174 = 126,
    _SC_XBS5_LP64_OFF64___174 = 127,
    _SC_XBS5_LPBIG_OFFBIG___174 = 128,
    _SC_XOPEN_LEGACY___174 = 129,
    _SC_XOPEN_REALTIME___174 = 130,
    _SC_XOPEN_REALTIME_THREADS___174 = 131,
    _SC_ADVISORY_INFO___174 = 132,
    _SC_BARRIERS___174 = 133,
    _SC_BASE___174 = 134,
    _SC_C_LANG_SUPPORT___174 = 135,
    _SC_C_LANG_SUPPORT_R___174 = 136,
    _SC_CLOCK_SELECTION___174 = 137,
    _SC_CPUTIME___174 = 138,
    _SC_THREAD_CPUTIME___174 = 139,
    _SC_DEVICE_IO___174 = 140,
    _SC_DEVICE_SPECIFIC___174 = 141,
    _SC_DEVICE_SPECIFIC_R___174 = 142,
    _SC_FD_MGMT___174 = 143,
    _SC_FIFO___174 = 144,
    _SC_PIPE___174 = 145,
    _SC_FILE_ATTRIBUTES___174 = 146,
    _SC_FILE_LOCKING___174 = 147,
    _SC_FILE_SYSTEM___174 = 148,
    _SC_MONOTONIC_CLOCK___174 = 149,
    _SC_MULTI_PROCESS___174 = 150,
    _SC_SINGLE_PROCESS___174 = 151,
    _SC_NETWORKING___174 = 152,
    _SC_READER_WRITER_LOCKS___174 = 153,
    _SC_SPIN_LOCKS___174 = 154,
    _SC_REGEXP___174 = 155,
    _SC_REGEX_VERSION___174 = 156,
    _SC_SHELL___174 = 157,
    _SC_SIGNALS___174 = 158,
    _SC_SPAWN___174 = 159,
    _SC_SPORADIC_SERVER___174 = 160,
    _SC_THREAD_SPORADIC_SERVER___174 = 161,
    _SC_SYSTEM_DATABASE___174 = 162,
    _SC_SYSTEM_DATABASE_R___174 = 163,
    _SC_TIMEOUTS___174 = 164,
    _SC_TYPED_MEMORY_OBJECTS___174 = 165,
    _SC_USER_GROUPS___174 = 166,
    _SC_USER_GROUPS_R___174 = 167,
    _SC_2_PBS___174 = 168,
    _SC_2_PBS_ACCOUNTING___174 = 169,
    _SC_2_PBS_LOCATE___174 = 170,
    _SC_2_PBS_MESSAGE___174 = 171,
    _SC_2_PBS_TRACK___174 = 172,
    _SC_SYMLOOP_MAX___174 = 173,
    _SC_STREAMS___174 = 174,
    _SC_2_PBS_CHECKPOINT___174 = 175,
    _SC_V6_ILP32_OFF32___174 = 176,
    _SC_V6_ILP32_OFFBIG___174 = 177,
    _SC_V6_LP64_OFF64___174 = 178,
    _SC_V6_LPBIG_OFFBIG___174 = 179,
    _SC_HOST_NAME_MAX___174 = 180,
    _SC_TRACE___174 = 181,
    _SC_TRACE_EVENT_FILTER___174 = 182,
    _SC_TRACE_INHERIT___174 = 183,
    _SC_TRACE_LOG___174 = 184,
    _SC_LEVEL1_ICACHE_SIZE___174 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___174 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___174 = 187,
    _SC_LEVEL1_DCACHE_SIZE___174 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___174 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___174 = 190,
    _SC_LEVEL2_CACHE_SIZE___174 = 191,
    _SC_LEVEL2_CACHE_ASSOC___174 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___174 = 193,
    _SC_LEVEL3_CACHE_SIZE___174 = 194,
    _SC_LEVEL3_CACHE_ASSOC___174 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___174 = 196,
    _SC_LEVEL4_CACHE_SIZE___174 = 197,
    _SC_LEVEL4_CACHE_ASSOC___174 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___174 = 199,
    _SC_IPV6___174 = 235,
    _SC_RAW_SOCKETS___174 = 236,
    _SC_V7_ILP32_OFF32___174 = 237,
    _SC_V7_ILP32_OFFBIG___174 = 238,
    _SC_V7_LP64_OFF64___174 = 239,
    _SC_V7_LPBIG_OFFBIG___174 = 240,
    _SC_SS_REPL_MAX___174 = 241,
    _SC_TRACE_EVENT_NAME_MAX___174 = 242,
    _SC_TRACE_NAME_MAX___174 = 243,
    _SC_TRACE_SYS_MAX___174 = 244,
    _SC_TRACE_USER_EVENT_MAX___174 = 245,
    _SC_XOPEN_STREAMS___174 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___174 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___174 = 248
} ;
enum __anonenum_875524036___174 {
    _CS_PATH___174 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___174 = 1,
    _CS_GNU_LIBC_VERSION___174 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___174 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___174 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___174 = 5,
    _CS_LFS_CFLAGS___174 = 1000,
    _CS_LFS_LDFLAGS___174 = 1001,
    _CS_LFS_LIBS___174 = 1002,
    _CS_LFS_LINTFLAGS___174 = 1003,
    _CS_LFS64_CFLAGS___174 = 1004,
    _CS_LFS64_LDFLAGS___174 = 1005,
    _CS_LFS64_LIBS___174 = 1006,
    _CS_LFS64_LINTFLAGS___174 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___174 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___174 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___174 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___174 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___174 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___174 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___174 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___174 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___174 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___174 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___174 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___174 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___174 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___174 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___174 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___174 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___174 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___174 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___174 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___174 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___174 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___174 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___174 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___174 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___174 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___174 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___174 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___174 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___174 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___174 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___174 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___174 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___174 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___174 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___174 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___174 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___174 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___174 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___174 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___174 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___174 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___174 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___174 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___174 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___174 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___174 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___174 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___174 = 1147,
    _CS_V6_ENV___174 = 1148,
    _CS_V7_ENV___174 = 1149
} ;
enum __anonenum_513775621___174 {
    DT_UNKNOWN___174 = 0,
    DT_FIFO___174 = 1,
    DT_CHR___174 = 2,
    DT_DIR___174 = 4,
    DT_BLK___174 = 6,
    DT_REG___174 = 8,
    DT_LNK___174 = 10,
    DT_SOCK___174 = 12,
    DT_WHT___174 = 14
} ;
enum __anonenum_77002343___174 {
    SI_ASYNCNL___174 = -60,
    SI_TKILL___174 = -6,
    SI_SIGIO___174 = -5,
    SI_ASYNCIO___174 = -4,
    SI_MESGQ___174 = -3,
    SI_TIMER___174 = -2,
    SI_QUEUE___174 = -1,
    SI_USER___174 = 0,
    SI_KERNEL___174 = 128
} ;
enum __anonenum_131038172___174 {
    ILL_ILLOPC___174 = 1,
    ILL_ILLOPN___174 = 2,
    ILL_ILLADR___174 = 3,
    ILL_ILLTRP___174 = 4,
    ILL_PRVOPC___174 = 5,
    ILL_PRVREG___174 = 6,
    ILL_COPROC___174 = 7,
    ILL_BADSTK___174 = 8
} ;
enum __anonenum_452038093___174 {
    FPE_INTDIV___174 = 1,
    FPE_INTOVF___174 = 2,
    FPE_FLTDIV___174 = 3,
    FPE_FLTOVF___174 = 4,
    FPE_FLTUND___174 = 5,
    FPE_FLTRES___174 = 6,
    FPE_FLTINV___174 = 7,
    FPE_FLTSUB___174 = 8
} ;
enum __anonenum_30976155___174 {
    SEGV_MAPERR___174 = 1,
    SEGV_ACCERR___174 = 2,
    SEGV_BNDERR___174 = 3,
    SEGV_PKUERR___174 = 4
} ;
enum __anonenum_1036286214___174 {
    BUS_ADRALN___174 = 1,
    BUS_ADRERR___174 = 2,
    BUS_OBJERR___174 = 3,
    BUS_MCEERR_AR___174 = 4,
    BUS_MCEERR_AO___174 = 5
} ;
enum __anonenum_493465559___174 {
    TRAP_BRKPT___174 = 1,
    TRAP_TRACE___174 = 2
} ;
enum __anonenum_23175539___174 {
    CLD_EXITED___174 = 1,
    CLD_KILLED___174 = 2,
    CLD_DUMPED___174 = 3,
    CLD_TRAPPED___174 = 4,
    CLD_STOPPED___174 = 5,
    CLD_CONTINUED___174 = 6
} ;
enum __anonenum_111643124___174 {
    POLL_IN___174 = 1,
    POLL_OUT___174 = 2,
    POLL_MSG___174 = 3,
    POLL_ERR___174 = 4,
    POLL_PRI___174 = 5,
    POLL_HUP___174 = 6
} ;
enum __anonenum_852341087___174 {
    SIGEV_SIGNAL___174 = 0,
    SIGEV_NONE___174 = 1,
    SIGEV_THREAD___174 = 2,
    SIGEV_THREAD_ID___174 = 4
} ;
enum __anonenum_451154152___174 {
    REG_R8___174 = 0,
    REG_R9___174 = 1,
    REG_R10___174 = 2,
    REG_R11___174 = 3,
    REG_R12___174 = 4,
    REG_R13___174 = 5,
    REG_R14___174 = 6,
    REG_R15___174 = 7,
    REG_RDI___174 = 8,
    REG_RSI___174 = 9,
    REG_RBP___174 = 10,
    REG_RBX___174 = 11,
    REG_RDX___174 = 12,
    REG_RAX___174 = 13,
    REG_RCX___174 = 14,
    REG_RSP___174 = 15,
    REG_RIP___174 = 16,
    REG_EFL___174 = 17,
    REG_CSGSFS___174 = 18,
    REG_ERR___174 = 19,
    REG_TRAPNO___174 = 20,
    REG_OLDMASK___174 = 21,
    REG_CR2___174 = 22
} ;
enum __anonenum_57186863___174 {
    SS_ONSTACK___174 = 1,
    SS_DISABLE___174 = 2
} ;
enum __anonenum_83571709___174 {
    MSG_OOB___174 = 1,
    MSG_PEEK___174 = 2,
    MSG_DONTROUTE___174 = 4,
    MSG_TRYHARD___174 = 4,
    MSG_CTRUNC___174 = 8,
    MSG_PROXY___174 = 16,
    MSG_TRUNC___174 = 32,
    MSG_DONTWAIT___174 = 64,
    MSG_EOR___174 = 128,
    MSG_WAITALL___174 = 256,
    MSG_FIN___174 = 512,
    MSG_SYN___174 = 1024,
    MSG_CONFIRM___174 = 2048,
    MSG_RST___174 = 4096,
    MSG_ERRQUEUE___174 = 8192,
    MSG_NOSIGNAL___174 = 16384,
    MSG_MORE___174 = 32768,
    MSG_WAITFORONE___174 = 65536,
    MSG_BATCH___174 = 262144,
    MSG_ZEROCOPY___174 = 67108864,
    MSG_FASTOPEN___174 = 536870912,
    MSG_CMSG_CLOEXEC___174 = 1073741824
} ;
enum __anonenum_617082774___174 {
    SCM_RIGHTS___174 = 1,
    SCM_CREDENTIALS___174 = 2
} ;
enum __anonenum_606441560___174 {
    SHUT_RD___174 = 0,
    SHUT_WR___174 = 1,
    SHUT_RDWR___174 = 2
} ;
enum __anonenum_681669233___174 {
    IPPROTO_IP___174 = 0,
    IPPROTO_ICMP___174 = 1,
    IPPROTO_IGMP___174 = 2,
    IPPROTO_IPIP___174 = 4,
    IPPROTO_TCP___174 = 6,
    IPPROTO_EGP___174 = 8,
    IPPROTO_PUP___174 = 12,
    IPPROTO_UDP___174 = 17,
    IPPROTO_IDP___174 = 22,
    IPPROTO_TP___174 = 29,
    IPPROTO_DCCP___174 = 33,
    IPPROTO_IPV6___174 = 41,
    IPPROTO_RSVP___174 = 46,
    IPPROTO_GRE___174 = 47,
    IPPROTO_ESP___174 = 50,
    IPPROTO_AH___174 = 51,
    IPPROTO_MTP___174 = 92,
    IPPROTO_BEETPH___174 = 94,
    IPPROTO_ENCAP___174 = 98,
    IPPROTO_PIM___174 = 103,
    IPPROTO_COMP___174 = 108,
    IPPROTO_SCTP___174 = 132,
    IPPROTO_UDPLITE___174 = 136,
    IPPROTO_MPLS___174 = 137,
    IPPROTO_RAW___174 = 255,
    IPPROTO_MAX___174 = 256
} ;
enum __anonenum_218739988___174 {
    IPPROTO_HOPOPTS___174 = 0,
    IPPROTO_ROUTING___174 = 43,
    IPPROTO_FRAGMENT___174 = 44,
    IPPROTO_ICMPV6___174 = 58,
    IPPROTO_NONE___174 = 59,
    IPPROTO_DSTOPTS___174 = 60,
    IPPROTO_MH___174 = 135
} ;
enum __anonenum_662268580___174 {
    IPPORT_ECHO___174 = 7,
    IPPORT_DISCARD___174 = 9,
    IPPORT_SYSTAT___174 = 11,
    IPPORT_DAYTIME___174 = 13,
    IPPORT_NETSTAT___174 = 15,
    IPPORT_FTP___174 = 21,
    IPPORT_TELNET___174 = 23,
    IPPORT_SMTP___174 = 25,
    IPPORT_TIMESERVER___174 = 37,
    IPPORT_NAMESERVER___174 = 42,
    IPPORT_WHOIS___174 = 43,
    IPPORT_MTP___174 = 57,
    IPPORT_TFTP___174 = 69,
    IPPORT_RJE___174 = 77,
    IPPORT_FINGER___174 = 79,
    IPPORT_TTYLINK___174 = 87,
    IPPORT_SUPDUP___174 = 95,
    IPPORT_EXECSERVER___174 = 512,
    IPPORT_LOGINSERVER___174 = 513,
    IPPORT_CMDSERVER___174 = 514,
    IPPORT_EFSSERVER___174 = 520,
    IPPORT_BIFFUDP___174 = 512,
    IPPORT_WHOSERVER___174 = 513,
    IPPORT_ROUTESERVER___174 = 520,
    IPPORT_RESERVED___174 = 1024,
    IPPORT_USERRESERVED___174 = 5000
} ;
enum __anonenum_788308992___174 {
    TCP_ESTABLISHED___174 = 1,
    TCP_SYN_SENT___174 = 2,
    TCP_SYN_RECV___174 = 3,
    TCP_FIN_WAIT1___174 = 4,
    TCP_FIN_WAIT2___174 = 5,
    TCP_TIME_WAIT___174 = 6,
    TCP_CLOSE___174 = 7,
    TCP_CLOSE_WAIT___174 = 8,
    TCP_LAST_ACK___174 = 9,
    TCP_LISTEN___174 = 10,
    TCP_CLOSING___174 = 11
} ;
enum __anonenum_221125648___174 {
    TCP_NO_QUEUE___174 = 0,
    TCP_RECV_QUEUE___174 = 1,
    TCP_SEND_QUEUE___174 = 2,
    TCP_QUEUES_NR___174 = 3
} ;
enum __anonenum_34415463___174 {
    PTHREAD_CREATE_JOINABLE___174 = 0,
    PTHREAD_CREATE_DETACHED___174 = 1
} ;
enum __anonenum_303612439___174 {
    PTHREAD_MUTEX_TIMED_NP___174 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___174 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___174 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___174 = 3,
    PTHREAD_MUTEX_NORMAL___174 = 0,
    PTHREAD_MUTEX_RECURSIVE___174 = 1,
    PTHREAD_MUTEX_ERRORCHECK___174 = 2,
    PTHREAD_MUTEX_DEFAULT___174 = 0,
    PTHREAD_MUTEX_FAST_NP___174 = 0
} ;
enum __anonenum_931900394___174 {
    PTHREAD_MUTEX_STALLED___174 = 0,
    PTHREAD_MUTEX_STALLED_NP___174 = 0,
    PTHREAD_MUTEX_ROBUST___174 = 1,
    PTHREAD_MUTEX_ROBUST_NP___174 = 1
} ;
enum __anonenum_205214487___174 {
    PTHREAD_PRIO_NONE___174 = 0,
    PTHREAD_PRIO_INHERIT___174 = 1,
    PTHREAD_PRIO_PROTECT___174 = 2
} ;
enum __anonenum_25043950___174 {
    PTHREAD_RWLOCK_PREFER_READER_NP___174 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___174 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___174 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___174 = 0
} ;
enum __anonenum_436439511___174 {
    PTHREAD_INHERIT_SCHED___174 = 0,
    PTHREAD_EXPLICIT_SCHED___174 = 1
} ;
enum __anonenum_998661166___174 {
    PTHREAD_SCOPE_SYSTEM___174 = 0,
    PTHREAD_SCOPE_PROCESS___174 = 1
} ;
enum __anonenum_146137331___174 {
    PTHREAD_PROCESS_PRIVATE___174 = 0,
    PTHREAD_PROCESS_SHARED___174 = 1
} ;
enum __anonenum_53396917___174 {
    PTHREAD_CANCEL_ENABLE___174 = 0,
    PTHREAD_CANCEL_DISABLE___174 = 1
} ;
enum __anonenum_904563783___174 {
    PTHREAD_CANCEL_DEFERRED___174 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___174 = 1
} ;
enum __anonenum_672052974___174 {
    SSL_CT_VALIDATION_PERMISSIVE___174 = 0,
    SSL_CT_VALIDATION_STRICT___174 = 1
} ;
struct update_info_ctx {
   FILE *cur_fp ;
   FILE *old_fp ;
   struct strbuf cur_sb ;
   struct strbuf old_sb ;
};
struct pack_info___0 {
   struct packed_git *p ;
   int old_num ;
   int new_num ;
};
enum __anonenum_437032235___175 {
    _PC_LINK_MAX___175 = 0,
    _PC_MAX_CANON___175 = 1,
    _PC_MAX_INPUT___175 = 2,
    _PC_NAME_MAX___175 = 3,
    _PC_PATH_MAX___175 = 4,
    _PC_PIPE_BUF___175 = 5,
    _PC_CHOWN_RESTRICTED___175 = 6,
    _PC_NO_TRUNC___175 = 7,
    _PC_VDISABLE___175 = 8,
    _PC_SYNC_IO___175 = 9,
    _PC_ASYNC_IO___175 = 10,
    _PC_PRIO_IO___175 = 11,
    _PC_SOCK_MAXBUF___175 = 12,
    _PC_FILESIZEBITS___175 = 13,
    _PC_REC_INCR_XFER_SIZE___175 = 14,
    _PC_REC_MAX_XFER_SIZE___175 = 15,
    _PC_REC_MIN_XFER_SIZE___175 = 16,
    _PC_REC_XFER_ALIGN___175 = 17,
    _PC_ALLOC_SIZE_MIN___175 = 18,
    _PC_SYMLINK_MAX___175 = 19,
    _PC_2_SYMLINKS___175 = 20
} ;
enum __anonenum_315186338___175 {
    _SC_ARG_MAX___175 = 0,
    _SC_CHILD_MAX___175 = 1,
    _SC_CLK_TCK___175 = 2,
    _SC_NGROUPS_MAX___175 = 3,
    _SC_OPEN_MAX___175 = 4,
    _SC_STREAM_MAX___175 = 5,
    _SC_TZNAME_MAX___175 = 6,
    _SC_JOB_CONTROL___175 = 7,
    _SC_SAVED_IDS___175 = 8,
    _SC_REALTIME_SIGNALS___175 = 9,
    _SC_PRIORITY_SCHEDULING___175 = 10,
    _SC_TIMERS___175 = 11,
    _SC_ASYNCHRONOUS_IO___175 = 12,
    _SC_PRIORITIZED_IO___175 = 13,
    _SC_SYNCHRONIZED_IO___175 = 14,
    _SC_FSYNC___175 = 15,
    _SC_MAPPED_FILES___175 = 16,
    _SC_MEMLOCK___175 = 17,
    _SC_MEMLOCK_RANGE___175 = 18,
    _SC_MEMORY_PROTECTION___175 = 19,
    _SC_MESSAGE_PASSING___175 = 20,
    _SC_SEMAPHORES___175 = 21,
    _SC_SHARED_MEMORY_OBJECTS___175 = 22,
    _SC_AIO_LISTIO_MAX___175 = 23,
    _SC_AIO_MAX___175 = 24,
    _SC_AIO_PRIO_DELTA_MAX___175 = 25,
    _SC_DELAYTIMER_MAX___175 = 26,
    _SC_MQ_OPEN_MAX___175 = 27,
    _SC_MQ_PRIO_MAX___175 = 28,
    _SC_VERSION___175 = 29,
    _SC_PAGESIZE___175 = 30,
    _SC_RTSIG_MAX___175 = 31,
    _SC_SEM_NSEMS_MAX___175 = 32,
    _SC_SEM_VALUE_MAX___175 = 33,
    _SC_SIGQUEUE_MAX___175 = 34,
    _SC_TIMER_MAX___175 = 35,
    _SC_BC_BASE_MAX___175 = 36,
    _SC_BC_DIM_MAX___175 = 37,
    _SC_BC_SCALE_MAX___175 = 38,
    _SC_BC_STRING_MAX___175 = 39,
    _SC_COLL_WEIGHTS_MAX___175 = 40,
    _SC_EQUIV_CLASS_MAX___175 = 41,
    _SC_EXPR_NEST_MAX___175 = 42,
    _SC_LINE_MAX___175 = 43,
    _SC_RE_DUP_MAX___175 = 44,
    _SC_CHARCLASS_NAME_MAX___175 = 45,
    _SC_2_VERSION___175 = 46,
    _SC_2_C_BIND___175 = 47,
    _SC_2_C_DEV___175 = 48,
    _SC_2_FORT_DEV___175 = 49,
    _SC_2_FORT_RUN___175 = 50,
    _SC_2_SW_DEV___175 = 51,
    _SC_2_LOCALEDEF___175 = 52,
    _SC_PII___175 = 53,
    _SC_PII_XTI___175 = 54,
    _SC_PII_SOCKET___175 = 55,
    _SC_PII_INTERNET___175 = 56,
    _SC_PII_OSI___175 = 57,
    _SC_POLL___175 = 58,
    _SC_SELECT___175 = 59,
    _SC_UIO_MAXIOV___175 = 60,
    _SC_IOV_MAX___175 = 60,
    _SC_PII_INTERNET_STREAM___175 = 61,
    _SC_PII_INTERNET_DGRAM___175 = 62,
    _SC_PII_OSI_COTS___175 = 63,
    _SC_PII_OSI_CLTS___175 = 64,
    _SC_PII_OSI_M___175 = 65,
    _SC_T_IOV_MAX___175 = 66,
    _SC_THREADS___175 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___175 = 68,
    _SC_GETGR_R_SIZE_MAX___175 = 69,
    _SC_GETPW_R_SIZE_MAX___175 = 70,
    _SC_LOGIN_NAME_MAX___175 = 71,
    _SC_TTY_NAME_MAX___175 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___175 = 73,
    _SC_THREAD_KEYS_MAX___175 = 74,
    _SC_THREAD_STACK_MIN___175 = 75,
    _SC_THREAD_THREADS_MAX___175 = 76,
    _SC_THREAD_ATTR_STACKADDR___175 = 77,
    _SC_THREAD_ATTR_STACKSIZE___175 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___175 = 79,
    _SC_THREAD_PRIO_INHERIT___175 = 80,
    _SC_THREAD_PRIO_PROTECT___175 = 81,
    _SC_THREAD_PROCESS_SHARED___175 = 82,
    _SC_NPROCESSORS_CONF___175 = 83,
    _SC_NPROCESSORS_ONLN___175 = 84,
    _SC_PHYS_PAGES___175 = 85,
    _SC_AVPHYS_PAGES___175 = 86,
    _SC_ATEXIT_MAX___175 = 87,
    _SC_PASS_MAX___175 = 88,
    _SC_XOPEN_VERSION___175 = 89,
    _SC_XOPEN_XCU_VERSION___175 = 90,
    _SC_XOPEN_UNIX___175 = 91,
    _SC_XOPEN_CRYPT___175 = 92,
    _SC_XOPEN_ENH_I18N___175 = 93,
    _SC_XOPEN_SHM___175 = 94,
    _SC_2_CHAR_TERM___175 = 95,
    _SC_2_C_VERSION___175 = 96,
    _SC_2_UPE___175 = 97,
    _SC_XOPEN_XPG2___175 = 98,
    _SC_XOPEN_XPG3___175 = 99,
    _SC_XOPEN_XPG4___175 = 100,
    _SC_CHAR_BIT___175 = 101,
    _SC_CHAR_MAX___175 = 102,
    _SC_CHAR_MIN___175 = 103,
    _SC_INT_MAX___175 = 104,
    _SC_INT_MIN___175 = 105,
    _SC_LONG_BIT___175 = 106,
    _SC_WORD_BIT___175 = 107,
    _SC_MB_LEN_MAX___175 = 108,
    _SC_NZERO___175 = 109,
    _SC_SSIZE_MAX___175 = 110,
    _SC_SCHAR_MAX___175 = 111,
    _SC_SCHAR_MIN___175 = 112,
    _SC_SHRT_MAX___175 = 113,
    _SC_SHRT_MIN___175 = 114,
    _SC_UCHAR_MAX___175 = 115,
    _SC_UINT_MAX___175 = 116,
    _SC_ULONG_MAX___175 = 117,
    _SC_USHRT_MAX___175 = 118,
    _SC_NL_ARGMAX___175 = 119,
    _SC_NL_LANGMAX___175 = 120,
    _SC_NL_MSGMAX___175 = 121,
    _SC_NL_NMAX___175 = 122,
    _SC_NL_SETMAX___175 = 123,
    _SC_NL_TEXTMAX___175 = 124,
    _SC_XBS5_ILP32_OFF32___175 = 125,
    _SC_XBS5_ILP32_OFFBIG___175 = 126,
    _SC_XBS5_LP64_OFF64___175 = 127,
    _SC_XBS5_LPBIG_OFFBIG___175 = 128,
    _SC_XOPEN_LEGACY___175 = 129,
    _SC_XOPEN_REALTIME___175 = 130,
    _SC_XOPEN_REALTIME_THREADS___175 = 131,
    _SC_ADVISORY_INFO___175 = 132,
    _SC_BARRIERS___175 = 133,
    _SC_BASE___175 = 134,
    _SC_C_LANG_SUPPORT___175 = 135,
    _SC_C_LANG_SUPPORT_R___175 = 136,
    _SC_CLOCK_SELECTION___175 = 137,
    _SC_CPUTIME___175 = 138,
    _SC_THREAD_CPUTIME___175 = 139,
    _SC_DEVICE_IO___175 = 140,
    _SC_DEVICE_SPECIFIC___175 = 141,
    _SC_DEVICE_SPECIFIC_R___175 = 142,
    _SC_FD_MGMT___175 = 143,
    _SC_FIFO___175 = 144,
    _SC_PIPE___175 = 145,
    _SC_FILE_ATTRIBUTES___175 = 146,
    _SC_FILE_LOCKING___175 = 147,
    _SC_FILE_SYSTEM___175 = 148,
    _SC_MONOTONIC_CLOCK___175 = 149,
    _SC_MULTI_PROCESS___175 = 150,
    _SC_SINGLE_PROCESS___175 = 151,
    _SC_NETWORKING___175 = 152,
    _SC_READER_WRITER_LOCKS___175 = 153,
    _SC_SPIN_LOCKS___175 = 154,
    _SC_REGEXP___175 = 155,
    _SC_REGEX_VERSION___175 = 156,
    _SC_SHELL___175 = 157,
    _SC_SIGNALS___175 = 158,
    _SC_SPAWN___175 = 159,
    _SC_SPORADIC_SERVER___175 = 160,
    _SC_THREAD_SPORADIC_SERVER___175 = 161,
    _SC_SYSTEM_DATABASE___175 = 162,
    _SC_SYSTEM_DATABASE_R___175 = 163,
    _SC_TIMEOUTS___175 = 164,
    _SC_TYPED_MEMORY_OBJECTS___175 = 165,
    _SC_USER_GROUPS___175 = 166,
    _SC_USER_GROUPS_R___175 = 167,
    _SC_2_PBS___175 = 168,
    _SC_2_PBS_ACCOUNTING___175 = 169,
    _SC_2_PBS_LOCATE___175 = 170,
    _SC_2_PBS_MESSAGE___175 = 171,
    _SC_2_PBS_TRACK___175 = 172,
    _SC_SYMLOOP_MAX___175 = 173,
    _SC_STREAMS___175 = 174,
    _SC_2_PBS_CHECKPOINT___175 = 175,
    _SC_V6_ILP32_OFF32___175 = 176,
    _SC_V6_ILP32_OFFBIG___175 = 177,
    _SC_V6_LP64_OFF64___175 = 178,
    _SC_V6_LPBIG_OFFBIG___175 = 179,
    _SC_HOST_NAME_MAX___175 = 180,
    _SC_TRACE___175 = 181,
    _SC_TRACE_EVENT_FILTER___175 = 182,
    _SC_TRACE_INHERIT___175 = 183,
    _SC_TRACE_LOG___175 = 184,
    _SC_LEVEL1_ICACHE_SIZE___175 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___175 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___175 = 187,
    _SC_LEVEL1_DCACHE_SIZE___175 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___175 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___175 = 190,
    _SC_LEVEL2_CACHE_SIZE___175 = 191,
    _SC_LEVEL2_CACHE_ASSOC___175 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___175 = 193,
    _SC_LEVEL3_CACHE_SIZE___175 = 194,
    _SC_LEVEL3_CACHE_ASSOC___175 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___175 = 196,
    _SC_LEVEL4_CACHE_SIZE___175 = 197,
    _SC_LEVEL4_CACHE_ASSOC___175 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___175 = 199,
    _SC_IPV6___175 = 235,
    _SC_RAW_SOCKETS___175 = 236,
    _SC_V7_ILP32_OFF32___175 = 237,
    _SC_V7_ILP32_OFFBIG___175 = 238,
    _SC_V7_LP64_OFF64___175 = 239,
    _SC_V7_LPBIG_OFFBIG___175 = 240,
    _SC_SS_REPL_MAX___175 = 241,
    _SC_TRACE_EVENT_NAME_MAX___175 = 242,
    _SC_TRACE_NAME_MAX___175 = 243,
    _SC_TRACE_SYS_MAX___175 = 244,
    _SC_TRACE_USER_EVENT_MAX___175 = 245,
    _SC_XOPEN_STREAMS___175 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___175 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___175 = 248
} ;
enum __anonenum_875524036___175 {
    _CS_PATH___175 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___175 = 1,
    _CS_GNU_LIBC_VERSION___175 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___175 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___175 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___175 = 5,
    _CS_LFS_CFLAGS___175 = 1000,
    _CS_LFS_LDFLAGS___175 = 1001,
    _CS_LFS_LIBS___175 = 1002,
    _CS_LFS_LINTFLAGS___175 = 1003,
    _CS_LFS64_CFLAGS___175 = 1004,
    _CS_LFS64_LDFLAGS___175 = 1005,
    _CS_LFS64_LIBS___175 = 1006,
    _CS_LFS64_LINTFLAGS___175 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___175 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___175 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___175 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___175 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___175 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___175 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___175 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___175 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___175 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___175 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___175 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___175 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___175 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___175 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___175 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___175 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___175 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___175 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___175 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___175 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___175 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___175 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___175 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___175 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___175 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___175 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___175 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___175 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___175 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___175 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___175 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___175 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___175 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___175 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___175 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___175 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___175 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___175 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___175 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___175 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___175 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___175 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___175 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___175 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___175 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___175 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___175 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___175 = 1147,
    _CS_V6_ENV___175 = 1148,
    _CS_V7_ENV___175 = 1149
} ;
enum __anonenum_513775621___175 {
    DT_UNKNOWN___175 = 0,
    DT_FIFO___175 = 1,
    DT_CHR___175 = 2,
    DT_DIR___175 = 4,
    DT_BLK___175 = 6,
    DT_REG___175 = 8,
    DT_LNK___175 = 10,
    DT_SOCK___175 = 12,
    DT_WHT___175 = 14
} ;
enum __anonenum_77002343___175 {
    SI_ASYNCNL___175 = -60,
    SI_TKILL___175 = -6,
    SI_SIGIO___175 = -5,
    SI_ASYNCIO___175 = -4,
    SI_MESGQ___175 = -3,
    SI_TIMER___175 = -2,
    SI_QUEUE___175 = -1,
    SI_USER___175 = 0,
    SI_KERNEL___175 = 128
} ;
enum __anonenum_131038172___175 {
    ILL_ILLOPC___175 = 1,
    ILL_ILLOPN___175 = 2,
    ILL_ILLADR___175 = 3,
    ILL_ILLTRP___175 = 4,
    ILL_PRVOPC___175 = 5,
    ILL_PRVREG___175 = 6,
    ILL_COPROC___175 = 7,
    ILL_BADSTK___175 = 8
} ;
enum __anonenum_452038093___175 {
    FPE_INTDIV___175 = 1,
    FPE_INTOVF___175 = 2,
    FPE_FLTDIV___175 = 3,
    FPE_FLTOVF___175 = 4,
    FPE_FLTUND___175 = 5,
    FPE_FLTRES___175 = 6,
    FPE_FLTINV___175 = 7,
    FPE_FLTSUB___175 = 8
} ;
enum __anonenum_30976155___175 {
    SEGV_MAPERR___175 = 1,
    SEGV_ACCERR___175 = 2,
    SEGV_BNDERR___175 = 3,
    SEGV_PKUERR___175 = 4
} ;
enum __anonenum_1036286214___175 {
    BUS_ADRALN___175 = 1,
    BUS_ADRERR___175 = 2,
    BUS_OBJERR___175 = 3,
    BUS_MCEERR_AR___175 = 4,
    BUS_MCEERR_AO___175 = 5
} ;
enum __anonenum_493465559___175 {
    TRAP_BRKPT___175 = 1,
    TRAP_TRACE___175 = 2
} ;
enum __anonenum_23175539___175 {
    CLD_EXITED___175 = 1,
    CLD_KILLED___175 = 2,
    CLD_DUMPED___175 = 3,
    CLD_TRAPPED___175 = 4,
    CLD_STOPPED___175 = 5,
    CLD_CONTINUED___175 = 6
} ;
enum __anonenum_111643124___175 {
    POLL_IN___175 = 1,
    POLL_OUT___175 = 2,
    POLL_MSG___175 = 3,
    POLL_ERR___175 = 4,
    POLL_PRI___175 = 5,
    POLL_HUP___175 = 6
} ;
enum __anonenum_852341087___175 {
    SIGEV_SIGNAL___175 = 0,
    SIGEV_NONE___175 = 1,
    SIGEV_THREAD___175 = 2,
    SIGEV_THREAD_ID___175 = 4
} ;
enum __anonenum_451154152___175 {
    REG_R8___175 = 0,
    REG_R9___175 = 1,
    REG_R10___175 = 2,
    REG_R11___175 = 3,
    REG_R12___175 = 4,
    REG_R13___175 = 5,
    REG_R14___175 = 6,
    REG_R15___175 = 7,
    REG_RDI___175 = 8,
    REG_RSI___175 = 9,
    REG_RBP___175 = 10,
    REG_RBX___175 = 11,
    REG_RDX___175 = 12,
    REG_RAX___175 = 13,
    REG_RCX___175 = 14,
    REG_RSP___175 = 15,
    REG_RIP___175 = 16,
    REG_EFL___175 = 17,
    REG_CSGSFS___175 = 18,
    REG_ERR___175 = 19,
    REG_TRAPNO___175 = 20,
    REG_OLDMASK___175 = 21,
    REG_CR2___175 = 22
} ;
enum __anonenum_57186863___175 {
    SS_ONSTACK___175 = 1,
    SS_DISABLE___175 = 2
} ;
enum __anonenum_83571709___175 {
    MSG_OOB___175 = 1,
    MSG_PEEK___175 = 2,
    MSG_DONTROUTE___175 = 4,
    MSG_TRYHARD___175 = 4,
    MSG_CTRUNC___175 = 8,
    MSG_PROXY___175 = 16,
    MSG_TRUNC___175 = 32,
    MSG_DONTWAIT___175 = 64,
    MSG_EOR___175 = 128,
    MSG_WAITALL___175 = 256,
    MSG_FIN___175 = 512,
    MSG_SYN___175 = 1024,
    MSG_CONFIRM___175 = 2048,
    MSG_RST___175 = 4096,
    MSG_ERRQUEUE___175 = 8192,
    MSG_NOSIGNAL___175 = 16384,
    MSG_MORE___175 = 32768,
    MSG_WAITFORONE___175 = 65536,
    MSG_BATCH___175 = 262144,
    MSG_ZEROCOPY___175 = 67108864,
    MSG_FASTOPEN___175 = 536870912,
    MSG_CMSG_CLOEXEC___175 = 1073741824
} ;
enum __anonenum_617082774___175 {
    SCM_RIGHTS___175 = 1,
    SCM_CREDENTIALS___175 = 2
} ;
enum __anonenum_606441560___175 {
    SHUT_RD___175 = 0,
    SHUT_WR___175 = 1,
    SHUT_RDWR___175 = 2
} ;
enum __anonenum_681669233___175 {
    IPPROTO_IP___175 = 0,
    IPPROTO_ICMP___175 = 1,
    IPPROTO_IGMP___175 = 2,
    IPPROTO_IPIP___175 = 4,
    IPPROTO_TCP___175 = 6,
    IPPROTO_EGP___175 = 8,
    IPPROTO_PUP___175 = 12,
    IPPROTO_UDP___175 = 17,
    IPPROTO_IDP___175 = 22,
    IPPROTO_TP___175 = 29,
    IPPROTO_DCCP___175 = 33,
    IPPROTO_IPV6___175 = 41,
    IPPROTO_RSVP___175 = 46,
    IPPROTO_GRE___175 = 47,
    IPPROTO_ESP___175 = 50,
    IPPROTO_AH___175 = 51,
    IPPROTO_MTP___175 = 92,
    IPPROTO_BEETPH___175 = 94,
    IPPROTO_ENCAP___175 = 98,
    IPPROTO_PIM___175 = 103,
    IPPROTO_COMP___175 = 108,
    IPPROTO_SCTP___175 = 132,
    IPPROTO_UDPLITE___175 = 136,
    IPPROTO_MPLS___175 = 137,
    IPPROTO_RAW___175 = 255,
    IPPROTO_MAX___175 = 256
} ;
enum __anonenum_218739988___175 {
    IPPROTO_HOPOPTS___175 = 0,
    IPPROTO_ROUTING___175 = 43,
    IPPROTO_FRAGMENT___175 = 44,
    IPPROTO_ICMPV6___175 = 58,
    IPPROTO_NONE___175 = 59,
    IPPROTO_DSTOPTS___175 = 60,
    IPPROTO_MH___175 = 135
} ;
enum __anonenum_662268580___175 {
    IPPORT_ECHO___175 = 7,
    IPPORT_DISCARD___175 = 9,
    IPPORT_SYSTAT___175 = 11,
    IPPORT_DAYTIME___175 = 13,
    IPPORT_NETSTAT___175 = 15,
    IPPORT_FTP___175 = 21,
    IPPORT_TELNET___175 = 23,
    IPPORT_SMTP___175 = 25,
    IPPORT_TIMESERVER___175 = 37,
    IPPORT_NAMESERVER___175 = 42,
    IPPORT_WHOIS___175 = 43,
    IPPORT_MTP___175 = 57,
    IPPORT_TFTP___175 = 69,
    IPPORT_RJE___175 = 77,
    IPPORT_FINGER___175 = 79,
    IPPORT_TTYLINK___175 = 87,
    IPPORT_SUPDUP___175 = 95,
    IPPORT_EXECSERVER___175 = 512,
    IPPORT_LOGINSERVER___175 = 513,
    IPPORT_CMDSERVER___175 = 514,
    IPPORT_EFSSERVER___175 = 520,
    IPPORT_BIFFUDP___175 = 512,
    IPPORT_WHOSERVER___175 = 513,
    IPPORT_ROUTESERVER___175 = 520,
    IPPORT_RESERVED___175 = 1024,
    IPPORT_USERRESERVED___175 = 5000
} ;
enum __anonenum_788308992___175 {
    TCP_ESTABLISHED___175 = 1,
    TCP_SYN_SENT___175 = 2,
    TCP_SYN_RECV___175 = 3,
    TCP_FIN_WAIT1___175 = 4,
    TCP_FIN_WAIT2___175 = 5,
    TCP_TIME_WAIT___175 = 6,
    TCP_CLOSE___175 = 7,
    TCP_CLOSE_WAIT___175 = 8,
    TCP_LAST_ACK___175 = 9,
    TCP_LISTEN___175 = 10,
    TCP_CLOSING___175 = 11
} ;
enum __anonenum_221125648___175 {
    TCP_NO_QUEUE___175 = 0,
    TCP_RECV_QUEUE___175 = 1,
    TCP_SEND_QUEUE___175 = 2,
    TCP_QUEUES_NR___175 = 3
} ;
enum __anonenum_34415463___175 {
    PTHREAD_CREATE_JOINABLE___175 = 0,
    PTHREAD_CREATE_DETACHED___175 = 1
} ;
enum __anonenum_303612439___175 {
    PTHREAD_MUTEX_TIMED_NP___175 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___175 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___175 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___175 = 3,
    PTHREAD_MUTEX_NORMAL___175 = 0,
    PTHREAD_MUTEX_RECURSIVE___175 = 1,
    PTHREAD_MUTEX_ERRORCHECK___175 = 2,
    PTHREAD_MUTEX_DEFAULT___175 = 0,
    PTHREAD_MUTEX_FAST_NP___175 = 0
} ;
enum __anonenum_931900394___175 {
    PTHREAD_MUTEX_STALLED___175 = 0,
    PTHREAD_MUTEX_STALLED_NP___175 = 0,
    PTHREAD_MUTEX_ROBUST___175 = 1,
    PTHREAD_MUTEX_ROBUST_NP___175 = 1
} ;
enum __anonenum_205214487___175 {
    PTHREAD_PRIO_NONE___175 = 0,
    PTHREAD_PRIO_INHERIT___175 = 1,
    PTHREAD_PRIO_PROTECT___175 = 2
} ;
enum __anonenum_25043950___175 {
    PTHREAD_RWLOCK_PREFER_READER_NP___175 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___175 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___175 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___175 = 0
} ;
enum __anonenum_436439511___175 {
    PTHREAD_INHERIT_SCHED___175 = 0,
    PTHREAD_EXPLICIT_SCHED___175 = 1
} ;
enum __anonenum_998661166___175 {
    PTHREAD_SCOPE_SYSTEM___175 = 0,
    PTHREAD_SCOPE_PROCESS___175 = 1
} ;
enum __anonenum_146137331___175 {
    PTHREAD_PROCESS_PRIVATE___175 = 0,
    PTHREAD_PROCESS_SHARED___175 = 1
} ;
enum __anonenum_53396917___175 {
    PTHREAD_CANCEL_ENABLE___175 = 0,
    PTHREAD_CANCEL_DISABLE___175 = 1
} ;
enum __anonenum_904563783___175 {
    PTHREAD_CANCEL_DEFERRED___175 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___175 = 1
} ;
enum __anonenum_672052974___175 {
    SSL_CT_VALIDATION_PERMISSIVE___175 = 0,
    SSL_CT_VALIDATION_STRICT___175 = 1
} ;
enum extension_result {
    EXTENSION_ERROR = -1,
    EXTENSION_UNKNOWN = 0,
    EXTENSION_OK = 1
} ;
enum discovery_result {
    GIT_DIR_NONE = 0,
    GIT_DIR_EXPLICIT = 1,
    GIT_DIR_DISCOVERED = 2,
    GIT_DIR_BARE = 3,
    GIT_DIR_HIT_CEILING = -1,
    GIT_DIR_HIT_MOUNT_POINT = -2,
    GIT_DIR_INVALID_GITFILE = -3
} ;
enum __anonenum_437032235___176 {
    _PC_LINK_MAX___176 = 0,
    _PC_MAX_CANON___176 = 1,
    _PC_MAX_INPUT___176 = 2,
    _PC_NAME_MAX___176 = 3,
    _PC_PATH_MAX___176 = 4,
    _PC_PIPE_BUF___176 = 5,
    _PC_CHOWN_RESTRICTED___176 = 6,
    _PC_NO_TRUNC___176 = 7,
    _PC_VDISABLE___176 = 8,
    _PC_SYNC_IO___176 = 9,
    _PC_ASYNC_IO___176 = 10,
    _PC_PRIO_IO___176 = 11,
    _PC_SOCK_MAXBUF___176 = 12,
    _PC_FILESIZEBITS___176 = 13,
    _PC_REC_INCR_XFER_SIZE___176 = 14,
    _PC_REC_MAX_XFER_SIZE___176 = 15,
    _PC_REC_MIN_XFER_SIZE___176 = 16,
    _PC_REC_XFER_ALIGN___176 = 17,
    _PC_ALLOC_SIZE_MIN___176 = 18,
    _PC_SYMLINK_MAX___176 = 19,
    _PC_2_SYMLINKS___176 = 20
} ;
enum __anonenum_315186338___176 {
    _SC_ARG_MAX___176 = 0,
    _SC_CHILD_MAX___176 = 1,
    _SC_CLK_TCK___176 = 2,
    _SC_NGROUPS_MAX___176 = 3,
    _SC_OPEN_MAX___176 = 4,
    _SC_STREAM_MAX___176 = 5,
    _SC_TZNAME_MAX___176 = 6,
    _SC_JOB_CONTROL___176 = 7,
    _SC_SAVED_IDS___176 = 8,
    _SC_REALTIME_SIGNALS___176 = 9,
    _SC_PRIORITY_SCHEDULING___176 = 10,
    _SC_TIMERS___176 = 11,
    _SC_ASYNCHRONOUS_IO___176 = 12,
    _SC_PRIORITIZED_IO___176 = 13,
    _SC_SYNCHRONIZED_IO___176 = 14,
    _SC_FSYNC___176 = 15,
    _SC_MAPPED_FILES___176 = 16,
    _SC_MEMLOCK___176 = 17,
    _SC_MEMLOCK_RANGE___176 = 18,
    _SC_MEMORY_PROTECTION___176 = 19,
    _SC_MESSAGE_PASSING___176 = 20,
    _SC_SEMAPHORES___176 = 21,
    _SC_SHARED_MEMORY_OBJECTS___176 = 22,
    _SC_AIO_LISTIO_MAX___176 = 23,
    _SC_AIO_MAX___176 = 24,
    _SC_AIO_PRIO_DELTA_MAX___176 = 25,
    _SC_DELAYTIMER_MAX___176 = 26,
    _SC_MQ_OPEN_MAX___176 = 27,
    _SC_MQ_PRIO_MAX___176 = 28,
    _SC_VERSION___176 = 29,
    _SC_PAGESIZE___176 = 30,
    _SC_RTSIG_MAX___176 = 31,
    _SC_SEM_NSEMS_MAX___176 = 32,
    _SC_SEM_VALUE_MAX___176 = 33,
    _SC_SIGQUEUE_MAX___176 = 34,
    _SC_TIMER_MAX___176 = 35,
    _SC_BC_BASE_MAX___176 = 36,
    _SC_BC_DIM_MAX___176 = 37,
    _SC_BC_SCALE_MAX___176 = 38,
    _SC_BC_STRING_MAX___176 = 39,
    _SC_COLL_WEIGHTS_MAX___176 = 40,
    _SC_EQUIV_CLASS_MAX___176 = 41,
    _SC_EXPR_NEST_MAX___176 = 42,
    _SC_LINE_MAX___176 = 43,
    _SC_RE_DUP_MAX___176 = 44,
    _SC_CHARCLASS_NAME_MAX___176 = 45,
    _SC_2_VERSION___176 = 46,
    _SC_2_C_BIND___176 = 47,
    _SC_2_C_DEV___176 = 48,
    _SC_2_FORT_DEV___176 = 49,
    _SC_2_FORT_RUN___176 = 50,
    _SC_2_SW_DEV___176 = 51,
    _SC_2_LOCALEDEF___176 = 52,
    _SC_PII___176 = 53,
    _SC_PII_XTI___176 = 54,
    _SC_PII_SOCKET___176 = 55,
    _SC_PII_INTERNET___176 = 56,
    _SC_PII_OSI___176 = 57,
    _SC_POLL___176 = 58,
    _SC_SELECT___176 = 59,
    _SC_UIO_MAXIOV___176 = 60,
    _SC_IOV_MAX___176 = 60,
    _SC_PII_INTERNET_STREAM___176 = 61,
    _SC_PII_INTERNET_DGRAM___176 = 62,
    _SC_PII_OSI_COTS___176 = 63,
    _SC_PII_OSI_CLTS___176 = 64,
    _SC_PII_OSI_M___176 = 65,
    _SC_T_IOV_MAX___176 = 66,
    _SC_THREADS___176 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___176 = 68,
    _SC_GETGR_R_SIZE_MAX___176 = 69,
    _SC_GETPW_R_SIZE_MAX___176 = 70,
    _SC_LOGIN_NAME_MAX___176 = 71,
    _SC_TTY_NAME_MAX___176 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___176 = 73,
    _SC_THREAD_KEYS_MAX___176 = 74,
    _SC_THREAD_STACK_MIN___176 = 75,
    _SC_THREAD_THREADS_MAX___176 = 76,
    _SC_THREAD_ATTR_STACKADDR___176 = 77,
    _SC_THREAD_ATTR_STACKSIZE___176 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___176 = 79,
    _SC_THREAD_PRIO_INHERIT___176 = 80,
    _SC_THREAD_PRIO_PROTECT___176 = 81,
    _SC_THREAD_PROCESS_SHARED___176 = 82,
    _SC_NPROCESSORS_CONF___176 = 83,
    _SC_NPROCESSORS_ONLN___176 = 84,
    _SC_PHYS_PAGES___176 = 85,
    _SC_AVPHYS_PAGES___176 = 86,
    _SC_ATEXIT_MAX___176 = 87,
    _SC_PASS_MAX___176 = 88,
    _SC_XOPEN_VERSION___176 = 89,
    _SC_XOPEN_XCU_VERSION___176 = 90,
    _SC_XOPEN_UNIX___176 = 91,
    _SC_XOPEN_CRYPT___176 = 92,
    _SC_XOPEN_ENH_I18N___176 = 93,
    _SC_XOPEN_SHM___176 = 94,
    _SC_2_CHAR_TERM___176 = 95,
    _SC_2_C_VERSION___176 = 96,
    _SC_2_UPE___176 = 97,
    _SC_XOPEN_XPG2___176 = 98,
    _SC_XOPEN_XPG3___176 = 99,
    _SC_XOPEN_XPG4___176 = 100,
    _SC_CHAR_BIT___176 = 101,
    _SC_CHAR_MAX___176 = 102,
    _SC_CHAR_MIN___176 = 103,
    _SC_INT_MAX___176 = 104,
    _SC_INT_MIN___176 = 105,
    _SC_LONG_BIT___176 = 106,
    _SC_WORD_BIT___176 = 107,
    _SC_MB_LEN_MAX___176 = 108,
    _SC_NZERO___176 = 109,
    _SC_SSIZE_MAX___176 = 110,
    _SC_SCHAR_MAX___176 = 111,
    _SC_SCHAR_MIN___176 = 112,
    _SC_SHRT_MAX___176 = 113,
    _SC_SHRT_MIN___176 = 114,
    _SC_UCHAR_MAX___176 = 115,
    _SC_UINT_MAX___176 = 116,
    _SC_ULONG_MAX___176 = 117,
    _SC_USHRT_MAX___176 = 118,
    _SC_NL_ARGMAX___176 = 119,
    _SC_NL_LANGMAX___176 = 120,
    _SC_NL_MSGMAX___176 = 121,
    _SC_NL_NMAX___176 = 122,
    _SC_NL_SETMAX___176 = 123,
    _SC_NL_TEXTMAX___176 = 124,
    _SC_XBS5_ILP32_OFF32___176 = 125,
    _SC_XBS5_ILP32_OFFBIG___176 = 126,
    _SC_XBS5_LP64_OFF64___176 = 127,
    _SC_XBS5_LPBIG_OFFBIG___176 = 128,
    _SC_XOPEN_LEGACY___176 = 129,
    _SC_XOPEN_REALTIME___176 = 130,
    _SC_XOPEN_REALTIME_THREADS___176 = 131,
    _SC_ADVISORY_INFO___176 = 132,
    _SC_BARRIERS___176 = 133,
    _SC_BASE___176 = 134,
    _SC_C_LANG_SUPPORT___176 = 135,
    _SC_C_LANG_SUPPORT_R___176 = 136,
    _SC_CLOCK_SELECTION___176 = 137,
    _SC_CPUTIME___176 = 138,
    _SC_THREAD_CPUTIME___176 = 139,
    _SC_DEVICE_IO___176 = 140,
    _SC_DEVICE_SPECIFIC___176 = 141,
    _SC_DEVICE_SPECIFIC_R___176 = 142,
    _SC_FD_MGMT___176 = 143,
    _SC_FIFO___176 = 144,
    _SC_PIPE___176 = 145,
    _SC_FILE_ATTRIBUTES___176 = 146,
    _SC_FILE_LOCKING___176 = 147,
    _SC_FILE_SYSTEM___176 = 148,
    _SC_MONOTONIC_CLOCK___176 = 149,
    _SC_MULTI_PROCESS___176 = 150,
    _SC_SINGLE_PROCESS___176 = 151,
    _SC_NETWORKING___176 = 152,
    _SC_READER_WRITER_LOCKS___176 = 153,
    _SC_SPIN_LOCKS___176 = 154,
    _SC_REGEXP___176 = 155,
    _SC_REGEX_VERSION___176 = 156,
    _SC_SHELL___176 = 157,
    _SC_SIGNALS___176 = 158,
    _SC_SPAWN___176 = 159,
    _SC_SPORADIC_SERVER___176 = 160,
    _SC_THREAD_SPORADIC_SERVER___176 = 161,
    _SC_SYSTEM_DATABASE___176 = 162,
    _SC_SYSTEM_DATABASE_R___176 = 163,
    _SC_TIMEOUTS___176 = 164,
    _SC_TYPED_MEMORY_OBJECTS___176 = 165,
    _SC_USER_GROUPS___176 = 166,
    _SC_USER_GROUPS_R___176 = 167,
    _SC_2_PBS___176 = 168,
    _SC_2_PBS_ACCOUNTING___176 = 169,
    _SC_2_PBS_LOCATE___176 = 170,
    _SC_2_PBS_MESSAGE___176 = 171,
    _SC_2_PBS_TRACK___176 = 172,
    _SC_SYMLOOP_MAX___176 = 173,
    _SC_STREAMS___176 = 174,
    _SC_2_PBS_CHECKPOINT___176 = 175,
    _SC_V6_ILP32_OFF32___176 = 176,
    _SC_V6_ILP32_OFFBIG___176 = 177,
    _SC_V6_LP64_OFF64___176 = 178,
    _SC_V6_LPBIG_OFFBIG___176 = 179,
    _SC_HOST_NAME_MAX___176 = 180,
    _SC_TRACE___176 = 181,
    _SC_TRACE_EVENT_FILTER___176 = 182,
    _SC_TRACE_INHERIT___176 = 183,
    _SC_TRACE_LOG___176 = 184,
    _SC_LEVEL1_ICACHE_SIZE___176 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___176 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___176 = 187,
    _SC_LEVEL1_DCACHE_SIZE___176 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___176 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___176 = 190,
    _SC_LEVEL2_CACHE_SIZE___176 = 191,
    _SC_LEVEL2_CACHE_ASSOC___176 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___176 = 193,
    _SC_LEVEL3_CACHE_SIZE___176 = 194,
    _SC_LEVEL3_CACHE_ASSOC___176 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___176 = 196,
    _SC_LEVEL4_CACHE_SIZE___176 = 197,
    _SC_LEVEL4_CACHE_ASSOC___176 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___176 = 199,
    _SC_IPV6___176 = 235,
    _SC_RAW_SOCKETS___176 = 236,
    _SC_V7_ILP32_OFF32___176 = 237,
    _SC_V7_ILP32_OFFBIG___176 = 238,
    _SC_V7_LP64_OFF64___176 = 239,
    _SC_V7_LPBIG_OFFBIG___176 = 240,
    _SC_SS_REPL_MAX___176 = 241,
    _SC_TRACE_EVENT_NAME_MAX___176 = 242,
    _SC_TRACE_NAME_MAX___176 = 243,
    _SC_TRACE_SYS_MAX___176 = 244,
    _SC_TRACE_USER_EVENT_MAX___176 = 245,
    _SC_XOPEN_STREAMS___176 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___176 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___176 = 248
} ;
enum __anonenum_875524036___176 {
    _CS_PATH___176 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___176 = 1,
    _CS_GNU_LIBC_VERSION___176 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___176 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___176 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___176 = 5,
    _CS_LFS_CFLAGS___176 = 1000,
    _CS_LFS_LDFLAGS___176 = 1001,
    _CS_LFS_LIBS___176 = 1002,
    _CS_LFS_LINTFLAGS___176 = 1003,
    _CS_LFS64_CFLAGS___176 = 1004,
    _CS_LFS64_LDFLAGS___176 = 1005,
    _CS_LFS64_LIBS___176 = 1006,
    _CS_LFS64_LINTFLAGS___176 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___176 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___176 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___176 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___176 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___176 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___176 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___176 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___176 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___176 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___176 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___176 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___176 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___176 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___176 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___176 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___176 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___176 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___176 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___176 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___176 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___176 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___176 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___176 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___176 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___176 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___176 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___176 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___176 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___176 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___176 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___176 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___176 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___176 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___176 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___176 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___176 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___176 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___176 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___176 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___176 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___176 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___176 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___176 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___176 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___176 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___176 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___176 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___176 = 1147,
    _CS_V6_ENV___176 = 1148,
    _CS_V7_ENV___176 = 1149
} ;
enum __anonenum_513775621___176 {
    DT_UNKNOWN___176 = 0,
    DT_FIFO___176 = 1,
    DT_CHR___176 = 2,
    DT_DIR___176 = 4,
    DT_BLK___176 = 6,
    DT_REG___176 = 8,
    DT_LNK___176 = 10,
    DT_SOCK___176 = 12,
    DT_WHT___176 = 14
} ;
enum __anonenum_77002343___176 {
    SI_ASYNCNL___176 = -60,
    SI_TKILL___176 = -6,
    SI_SIGIO___176 = -5,
    SI_ASYNCIO___176 = -4,
    SI_MESGQ___176 = -3,
    SI_TIMER___176 = -2,
    SI_QUEUE___176 = -1,
    SI_USER___176 = 0,
    SI_KERNEL___176 = 128
} ;
enum __anonenum_131038172___176 {
    ILL_ILLOPC___176 = 1,
    ILL_ILLOPN___176 = 2,
    ILL_ILLADR___176 = 3,
    ILL_ILLTRP___176 = 4,
    ILL_PRVOPC___176 = 5,
    ILL_PRVREG___176 = 6,
    ILL_COPROC___176 = 7,
    ILL_BADSTK___176 = 8
} ;
enum __anonenum_452038093___176 {
    FPE_INTDIV___176 = 1,
    FPE_INTOVF___176 = 2,
    FPE_FLTDIV___176 = 3,
    FPE_FLTOVF___176 = 4,
    FPE_FLTUND___176 = 5,
    FPE_FLTRES___176 = 6,
    FPE_FLTINV___176 = 7,
    FPE_FLTSUB___176 = 8
} ;
enum __anonenum_30976155___176 {
    SEGV_MAPERR___176 = 1,
    SEGV_ACCERR___176 = 2,
    SEGV_BNDERR___176 = 3,
    SEGV_PKUERR___176 = 4
} ;
enum __anonenum_1036286214___176 {
    BUS_ADRALN___176 = 1,
    BUS_ADRERR___176 = 2,
    BUS_OBJERR___176 = 3,
    BUS_MCEERR_AR___176 = 4,
    BUS_MCEERR_AO___176 = 5
} ;
enum __anonenum_493465559___176 {
    TRAP_BRKPT___176 = 1,
    TRAP_TRACE___176 = 2
} ;
enum __anonenum_23175539___176 {
    CLD_EXITED___176 = 1,
    CLD_KILLED___176 = 2,
    CLD_DUMPED___176 = 3,
    CLD_TRAPPED___176 = 4,
    CLD_STOPPED___176 = 5,
    CLD_CONTINUED___176 = 6
} ;
enum __anonenum_111643124___176 {
    POLL_IN___176 = 1,
    POLL_OUT___176 = 2,
    POLL_MSG___176 = 3,
    POLL_ERR___176 = 4,
    POLL_PRI___176 = 5,
    POLL_HUP___176 = 6
} ;
enum __anonenum_852341087___176 {
    SIGEV_SIGNAL___176 = 0,
    SIGEV_NONE___176 = 1,
    SIGEV_THREAD___176 = 2,
    SIGEV_THREAD_ID___176 = 4
} ;
enum __anonenum_451154152___176 {
    REG_R8___176 = 0,
    REG_R9___176 = 1,
    REG_R10___176 = 2,
    REG_R11___176 = 3,
    REG_R12___176 = 4,
    REG_R13___176 = 5,
    REG_R14___176 = 6,
    REG_R15___176 = 7,
    REG_RDI___176 = 8,
    REG_RSI___176 = 9,
    REG_RBP___176 = 10,
    REG_RBX___176 = 11,
    REG_RDX___176 = 12,
    REG_RAX___176 = 13,
    REG_RCX___176 = 14,
    REG_RSP___176 = 15,
    REG_RIP___176 = 16,
    REG_EFL___176 = 17,
    REG_CSGSFS___176 = 18,
    REG_ERR___176 = 19,
    REG_TRAPNO___176 = 20,
    REG_OLDMASK___176 = 21,
    REG_CR2___176 = 22
} ;
enum __anonenum_57186863___176 {
    SS_ONSTACK___176 = 1,
    SS_DISABLE___176 = 2
} ;
enum __anonenum_83571709___176 {
    MSG_OOB___176 = 1,
    MSG_PEEK___176 = 2,
    MSG_DONTROUTE___176 = 4,
    MSG_TRYHARD___176 = 4,
    MSG_CTRUNC___176 = 8,
    MSG_PROXY___176 = 16,
    MSG_TRUNC___176 = 32,
    MSG_DONTWAIT___176 = 64,
    MSG_EOR___176 = 128,
    MSG_WAITALL___176 = 256,
    MSG_FIN___176 = 512,
    MSG_SYN___176 = 1024,
    MSG_CONFIRM___176 = 2048,
    MSG_RST___176 = 4096,
    MSG_ERRQUEUE___176 = 8192,
    MSG_NOSIGNAL___176 = 16384,
    MSG_MORE___176 = 32768,
    MSG_WAITFORONE___176 = 65536,
    MSG_BATCH___176 = 262144,
    MSG_ZEROCOPY___176 = 67108864,
    MSG_FASTOPEN___176 = 536870912,
    MSG_CMSG_CLOEXEC___176 = 1073741824
} ;
enum __anonenum_617082774___176 {
    SCM_RIGHTS___176 = 1,
    SCM_CREDENTIALS___176 = 2
} ;
enum __anonenum_606441560___176 {
    SHUT_RD___176 = 0,
    SHUT_WR___176 = 1,
    SHUT_RDWR___176 = 2
} ;
enum __anonenum_681669233___176 {
    IPPROTO_IP___176 = 0,
    IPPROTO_ICMP___176 = 1,
    IPPROTO_IGMP___176 = 2,
    IPPROTO_IPIP___176 = 4,
    IPPROTO_TCP___176 = 6,
    IPPROTO_EGP___176 = 8,
    IPPROTO_PUP___176 = 12,
    IPPROTO_UDP___176 = 17,
    IPPROTO_IDP___176 = 22,
    IPPROTO_TP___176 = 29,
    IPPROTO_DCCP___176 = 33,
    IPPROTO_IPV6___176 = 41,
    IPPROTO_RSVP___176 = 46,
    IPPROTO_GRE___176 = 47,
    IPPROTO_ESP___176 = 50,
    IPPROTO_AH___176 = 51,
    IPPROTO_MTP___176 = 92,
    IPPROTO_BEETPH___176 = 94,
    IPPROTO_ENCAP___176 = 98,
    IPPROTO_PIM___176 = 103,
    IPPROTO_COMP___176 = 108,
    IPPROTO_SCTP___176 = 132,
    IPPROTO_UDPLITE___176 = 136,
    IPPROTO_MPLS___176 = 137,
    IPPROTO_RAW___176 = 255,
    IPPROTO_MAX___176 = 256
} ;
enum __anonenum_218739988___176 {
    IPPROTO_HOPOPTS___176 = 0,
    IPPROTO_ROUTING___176 = 43,
    IPPROTO_FRAGMENT___176 = 44,
    IPPROTO_ICMPV6___176 = 58,
    IPPROTO_NONE___176 = 59,
    IPPROTO_DSTOPTS___176 = 60,
    IPPROTO_MH___176 = 135
} ;
enum __anonenum_662268580___176 {
    IPPORT_ECHO___176 = 7,
    IPPORT_DISCARD___176 = 9,
    IPPORT_SYSTAT___176 = 11,
    IPPORT_DAYTIME___176 = 13,
    IPPORT_NETSTAT___176 = 15,
    IPPORT_FTP___176 = 21,
    IPPORT_TELNET___176 = 23,
    IPPORT_SMTP___176 = 25,
    IPPORT_TIMESERVER___176 = 37,
    IPPORT_NAMESERVER___176 = 42,
    IPPORT_WHOIS___176 = 43,
    IPPORT_MTP___176 = 57,
    IPPORT_TFTP___176 = 69,
    IPPORT_RJE___176 = 77,
    IPPORT_FINGER___176 = 79,
    IPPORT_TTYLINK___176 = 87,
    IPPORT_SUPDUP___176 = 95,
    IPPORT_EXECSERVER___176 = 512,
    IPPORT_LOGINSERVER___176 = 513,
    IPPORT_CMDSERVER___176 = 514,
    IPPORT_EFSSERVER___176 = 520,
    IPPORT_BIFFUDP___176 = 512,
    IPPORT_WHOSERVER___176 = 513,
    IPPORT_ROUTESERVER___176 = 520,
    IPPORT_RESERVED___176 = 1024,
    IPPORT_USERRESERVED___176 = 5000
} ;
enum __anonenum_788308992___176 {
    TCP_ESTABLISHED___176 = 1,
    TCP_SYN_SENT___176 = 2,
    TCP_SYN_RECV___176 = 3,
    TCP_FIN_WAIT1___176 = 4,
    TCP_FIN_WAIT2___176 = 5,
    TCP_TIME_WAIT___176 = 6,
    TCP_CLOSE___176 = 7,
    TCP_CLOSE_WAIT___176 = 8,
    TCP_LAST_ACK___176 = 9,
    TCP_LISTEN___176 = 10,
    TCP_CLOSING___176 = 11
} ;
enum __anonenum_221125648___176 {
    TCP_NO_QUEUE___176 = 0,
    TCP_RECV_QUEUE___176 = 1,
    TCP_SEND_QUEUE___176 = 2,
    TCP_QUEUES_NR___176 = 3
} ;
enum __anonenum_34415463___176 {
    PTHREAD_CREATE_JOINABLE___176 = 0,
    PTHREAD_CREATE_DETACHED___176 = 1
} ;
enum __anonenum_303612439___176 {
    PTHREAD_MUTEX_TIMED_NP___176 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___176 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___176 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___176 = 3,
    PTHREAD_MUTEX_NORMAL___176 = 0,
    PTHREAD_MUTEX_RECURSIVE___176 = 1,
    PTHREAD_MUTEX_ERRORCHECK___176 = 2,
    PTHREAD_MUTEX_DEFAULT___176 = 0,
    PTHREAD_MUTEX_FAST_NP___176 = 0
} ;
enum __anonenum_931900394___176 {
    PTHREAD_MUTEX_STALLED___176 = 0,
    PTHREAD_MUTEX_STALLED_NP___176 = 0,
    PTHREAD_MUTEX_ROBUST___176 = 1,
    PTHREAD_MUTEX_ROBUST_NP___176 = 1
} ;
enum __anonenum_205214487___176 {
    PTHREAD_PRIO_NONE___176 = 0,
    PTHREAD_PRIO_INHERIT___176 = 1,
    PTHREAD_PRIO_PROTECT___176 = 2
} ;
enum __anonenum_25043950___176 {
    PTHREAD_RWLOCK_PREFER_READER_NP___176 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___176 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___176 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___176 = 0
} ;
enum __anonenum_436439511___176 {
    PTHREAD_INHERIT_SCHED___176 = 0,
    PTHREAD_EXPLICIT_SCHED___176 = 1
} ;
enum __anonenum_998661166___176 {
    PTHREAD_SCOPE_SYSTEM___176 = 0,
    PTHREAD_SCOPE_PROCESS___176 = 1
} ;
enum __anonenum_146137331___176 {
    PTHREAD_PROCESS_PRIVATE___176 = 0,
    PTHREAD_PROCESS_SHARED___176 = 1
} ;
enum __anonenum_53396917___176 {
    PTHREAD_CANCEL_ENABLE___176 = 0,
    PTHREAD_CANCEL_DISABLE___176 = 1
} ;
enum __anonenum_904563783___176 {
    PTHREAD_CANCEL_DEFERRED___176 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___176 = 1
} ;
enum __anonenum_672052974___176 {
    SSL_CT_VALIDATION_PERMISSIVE___176 = 0,
    SSL_CT_VALIDATION_STRICT___176 = 1
} ;
enum __anonenum_34023289___16 {
    REMOTE_UNCONFIGURED___16 = 0,
    REMOTE_CONFIG___16 = 1,
    REMOTE_REMOTES___16 = 2,
    REMOTE_BRANCHES___16 = 3
} ;
struct commit_depth {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   int ***slab ;
};
struct write_shallow_data {
   struct strbuf *out ;
   int use_pack_protocol ;
   int count ;
   unsigned int flags ;
};
struct ref_bitmap {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   uint32_t ***slab ;
};
struct paint_info {
   struct ref_bitmap ref_bitmap ;
   unsigned int nr_bits ;
   char **pools ;
   char *free ;
   char *end ;
   unsigned int pool_count ;
};
struct commit_array {
   struct commit **commits ;
   int nr ;
   int alloc ;
};
enum __anonenum_437032235___177 {
    _PC_LINK_MAX___177 = 0,
    _PC_MAX_CANON___177 = 1,
    _PC_MAX_INPUT___177 = 2,
    _PC_NAME_MAX___177 = 3,
    _PC_PATH_MAX___177 = 4,
    _PC_PIPE_BUF___177 = 5,
    _PC_CHOWN_RESTRICTED___177 = 6,
    _PC_NO_TRUNC___177 = 7,
    _PC_VDISABLE___177 = 8,
    _PC_SYNC_IO___177 = 9,
    _PC_ASYNC_IO___177 = 10,
    _PC_PRIO_IO___177 = 11,
    _PC_SOCK_MAXBUF___177 = 12,
    _PC_FILESIZEBITS___177 = 13,
    _PC_REC_INCR_XFER_SIZE___177 = 14,
    _PC_REC_MAX_XFER_SIZE___177 = 15,
    _PC_REC_MIN_XFER_SIZE___177 = 16,
    _PC_REC_XFER_ALIGN___177 = 17,
    _PC_ALLOC_SIZE_MIN___177 = 18,
    _PC_SYMLINK_MAX___177 = 19,
    _PC_2_SYMLINKS___177 = 20
} ;
enum __anonenum_315186338___177 {
    _SC_ARG_MAX___177 = 0,
    _SC_CHILD_MAX___177 = 1,
    _SC_CLK_TCK___177 = 2,
    _SC_NGROUPS_MAX___177 = 3,
    _SC_OPEN_MAX___177 = 4,
    _SC_STREAM_MAX___177 = 5,
    _SC_TZNAME_MAX___177 = 6,
    _SC_JOB_CONTROL___177 = 7,
    _SC_SAVED_IDS___177 = 8,
    _SC_REALTIME_SIGNALS___177 = 9,
    _SC_PRIORITY_SCHEDULING___177 = 10,
    _SC_TIMERS___177 = 11,
    _SC_ASYNCHRONOUS_IO___177 = 12,
    _SC_PRIORITIZED_IO___177 = 13,
    _SC_SYNCHRONIZED_IO___177 = 14,
    _SC_FSYNC___177 = 15,
    _SC_MAPPED_FILES___177 = 16,
    _SC_MEMLOCK___177 = 17,
    _SC_MEMLOCK_RANGE___177 = 18,
    _SC_MEMORY_PROTECTION___177 = 19,
    _SC_MESSAGE_PASSING___177 = 20,
    _SC_SEMAPHORES___177 = 21,
    _SC_SHARED_MEMORY_OBJECTS___177 = 22,
    _SC_AIO_LISTIO_MAX___177 = 23,
    _SC_AIO_MAX___177 = 24,
    _SC_AIO_PRIO_DELTA_MAX___177 = 25,
    _SC_DELAYTIMER_MAX___177 = 26,
    _SC_MQ_OPEN_MAX___177 = 27,
    _SC_MQ_PRIO_MAX___177 = 28,
    _SC_VERSION___177 = 29,
    _SC_PAGESIZE___177 = 30,
    _SC_RTSIG_MAX___177 = 31,
    _SC_SEM_NSEMS_MAX___177 = 32,
    _SC_SEM_VALUE_MAX___177 = 33,
    _SC_SIGQUEUE_MAX___177 = 34,
    _SC_TIMER_MAX___177 = 35,
    _SC_BC_BASE_MAX___177 = 36,
    _SC_BC_DIM_MAX___177 = 37,
    _SC_BC_SCALE_MAX___177 = 38,
    _SC_BC_STRING_MAX___177 = 39,
    _SC_COLL_WEIGHTS_MAX___177 = 40,
    _SC_EQUIV_CLASS_MAX___177 = 41,
    _SC_EXPR_NEST_MAX___177 = 42,
    _SC_LINE_MAX___177 = 43,
    _SC_RE_DUP_MAX___177 = 44,
    _SC_CHARCLASS_NAME_MAX___177 = 45,
    _SC_2_VERSION___177 = 46,
    _SC_2_C_BIND___177 = 47,
    _SC_2_C_DEV___177 = 48,
    _SC_2_FORT_DEV___177 = 49,
    _SC_2_FORT_RUN___177 = 50,
    _SC_2_SW_DEV___177 = 51,
    _SC_2_LOCALEDEF___177 = 52,
    _SC_PII___177 = 53,
    _SC_PII_XTI___177 = 54,
    _SC_PII_SOCKET___177 = 55,
    _SC_PII_INTERNET___177 = 56,
    _SC_PII_OSI___177 = 57,
    _SC_POLL___177 = 58,
    _SC_SELECT___177 = 59,
    _SC_UIO_MAXIOV___177 = 60,
    _SC_IOV_MAX___177 = 60,
    _SC_PII_INTERNET_STREAM___177 = 61,
    _SC_PII_INTERNET_DGRAM___177 = 62,
    _SC_PII_OSI_COTS___177 = 63,
    _SC_PII_OSI_CLTS___177 = 64,
    _SC_PII_OSI_M___177 = 65,
    _SC_T_IOV_MAX___177 = 66,
    _SC_THREADS___177 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___177 = 68,
    _SC_GETGR_R_SIZE_MAX___177 = 69,
    _SC_GETPW_R_SIZE_MAX___177 = 70,
    _SC_LOGIN_NAME_MAX___177 = 71,
    _SC_TTY_NAME_MAX___177 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___177 = 73,
    _SC_THREAD_KEYS_MAX___177 = 74,
    _SC_THREAD_STACK_MIN___177 = 75,
    _SC_THREAD_THREADS_MAX___177 = 76,
    _SC_THREAD_ATTR_STACKADDR___177 = 77,
    _SC_THREAD_ATTR_STACKSIZE___177 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___177 = 79,
    _SC_THREAD_PRIO_INHERIT___177 = 80,
    _SC_THREAD_PRIO_PROTECT___177 = 81,
    _SC_THREAD_PROCESS_SHARED___177 = 82,
    _SC_NPROCESSORS_CONF___177 = 83,
    _SC_NPROCESSORS_ONLN___177 = 84,
    _SC_PHYS_PAGES___177 = 85,
    _SC_AVPHYS_PAGES___177 = 86,
    _SC_ATEXIT_MAX___177 = 87,
    _SC_PASS_MAX___177 = 88,
    _SC_XOPEN_VERSION___177 = 89,
    _SC_XOPEN_XCU_VERSION___177 = 90,
    _SC_XOPEN_UNIX___177 = 91,
    _SC_XOPEN_CRYPT___177 = 92,
    _SC_XOPEN_ENH_I18N___177 = 93,
    _SC_XOPEN_SHM___177 = 94,
    _SC_2_CHAR_TERM___177 = 95,
    _SC_2_C_VERSION___177 = 96,
    _SC_2_UPE___177 = 97,
    _SC_XOPEN_XPG2___177 = 98,
    _SC_XOPEN_XPG3___177 = 99,
    _SC_XOPEN_XPG4___177 = 100,
    _SC_CHAR_BIT___177 = 101,
    _SC_CHAR_MAX___177 = 102,
    _SC_CHAR_MIN___177 = 103,
    _SC_INT_MAX___177 = 104,
    _SC_INT_MIN___177 = 105,
    _SC_LONG_BIT___177 = 106,
    _SC_WORD_BIT___177 = 107,
    _SC_MB_LEN_MAX___177 = 108,
    _SC_NZERO___177 = 109,
    _SC_SSIZE_MAX___177 = 110,
    _SC_SCHAR_MAX___177 = 111,
    _SC_SCHAR_MIN___177 = 112,
    _SC_SHRT_MAX___177 = 113,
    _SC_SHRT_MIN___177 = 114,
    _SC_UCHAR_MAX___177 = 115,
    _SC_UINT_MAX___177 = 116,
    _SC_ULONG_MAX___177 = 117,
    _SC_USHRT_MAX___177 = 118,
    _SC_NL_ARGMAX___177 = 119,
    _SC_NL_LANGMAX___177 = 120,
    _SC_NL_MSGMAX___177 = 121,
    _SC_NL_NMAX___177 = 122,
    _SC_NL_SETMAX___177 = 123,
    _SC_NL_TEXTMAX___177 = 124,
    _SC_XBS5_ILP32_OFF32___177 = 125,
    _SC_XBS5_ILP32_OFFBIG___177 = 126,
    _SC_XBS5_LP64_OFF64___177 = 127,
    _SC_XBS5_LPBIG_OFFBIG___177 = 128,
    _SC_XOPEN_LEGACY___177 = 129,
    _SC_XOPEN_REALTIME___177 = 130,
    _SC_XOPEN_REALTIME_THREADS___177 = 131,
    _SC_ADVISORY_INFO___177 = 132,
    _SC_BARRIERS___177 = 133,
    _SC_BASE___177 = 134,
    _SC_C_LANG_SUPPORT___177 = 135,
    _SC_C_LANG_SUPPORT_R___177 = 136,
    _SC_CLOCK_SELECTION___177 = 137,
    _SC_CPUTIME___177 = 138,
    _SC_THREAD_CPUTIME___177 = 139,
    _SC_DEVICE_IO___177 = 140,
    _SC_DEVICE_SPECIFIC___177 = 141,
    _SC_DEVICE_SPECIFIC_R___177 = 142,
    _SC_FD_MGMT___177 = 143,
    _SC_FIFO___177 = 144,
    _SC_PIPE___177 = 145,
    _SC_FILE_ATTRIBUTES___177 = 146,
    _SC_FILE_LOCKING___177 = 147,
    _SC_FILE_SYSTEM___177 = 148,
    _SC_MONOTONIC_CLOCK___177 = 149,
    _SC_MULTI_PROCESS___177 = 150,
    _SC_SINGLE_PROCESS___177 = 151,
    _SC_NETWORKING___177 = 152,
    _SC_READER_WRITER_LOCKS___177 = 153,
    _SC_SPIN_LOCKS___177 = 154,
    _SC_REGEXP___177 = 155,
    _SC_REGEX_VERSION___177 = 156,
    _SC_SHELL___177 = 157,
    _SC_SIGNALS___177 = 158,
    _SC_SPAWN___177 = 159,
    _SC_SPORADIC_SERVER___177 = 160,
    _SC_THREAD_SPORADIC_SERVER___177 = 161,
    _SC_SYSTEM_DATABASE___177 = 162,
    _SC_SYSTEM_DATABASE_R___177 = 163,
    _SC_TIMEOUTS___177 = 164,
    _SC_TYPED_MEMORY_OBJECTS___177 = 165,
    _SC_USER_GROUPS___177 = 166,
    _SC_USER_GROUPS_R___177 = 167,
    _SC_2_PBS___177 = 168,
    _SC_2_PBS_ACCOUNTING___177 = 169,
    _SC_2_PBS_LOCATE___177 = 170,
    _SC_2_PBS_MESSAGE___177 = 171,
    _SC_2_PBS_TRACK___177 = 172,
    _SC_SYMLOOP_MAX___177 = 173,
    _SC_STREAMS___177 = 174,
    _SC_2_PBS_CHECKPOINT___177 = 175,
    _SC_V6_ILP32_OFF32___177 = 176,
    _SC_V6_ILP32_OFFBIG___177 = 177,
    _SC_V6_LP64_OFF64___177 = 178,
    _SC_V6_LPBIG_OFFBIG___177 = 179,
    _SC_HOST_NAME_MAX___177 = 180,
    _SC_TRACE___177 = 181,
    _SC_TRACE_EVENT_FILTER___177 = 182,
    _SC_TRACE_INHERIT___177 = 183,
    _SC_TRACE_LOG___177 = 184,
    _SC_LEVEL1_ICACHE_SIZE___177 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___177 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___177 = 187,
    _SC_LEVEL1_DCACHE_SIZE___177 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___177 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___177 = 190,
    _SC_LEVEL2_CACHE_SIZE___177 = 191,
    _SC_LEVEL2_CACHE_ASSOC___177 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___177 = 193,
    _SC_LEVEL3_CACHE_SIZE___177 = 194,
    _SC_LEVEL3_CACHE_ASSOC___177 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___177 = 196,
    _SC_LEVEL4_CACHE_SIZE___177 = 197,
    _SC_LEVEL4_CACHE_ASSOC___177 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___177 = 199,
    _SC_IPV6___177 = 235,
    _SC_RAW_SOCKETS___177 = 236,
    _SC_V7_ILP32_OFF32___177 = 237,
    _SC_V7_ILP32_OFFBIG___177 = 238,
    _SC_V7_LP64_OFF64___177 = 239,
    _SC_V7_LPBIG_OFFBIG___177 = 240,
    _SC_SS_REPL_MAX___177 = 241,
    _SC_TRACE_EVENT_NAME_MAX___177 = 242,
    _SC_TRACE_NAME_MAX___177 = 243,
    _SC_TRACE_SYS_MAX___177 = 244,
    _SC_TRACE_USER_EVENT_MAX___177 = 245,
    _SC_XOPEN_STREAMS___177 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___177 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___177 = 248
} ;
enum __anonenum_875524036___177 {
    _CS_PATH___177 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___177 = 1,
    _CS_GNU_LIBC_VERSION___177 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___177 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___177 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___177 = 5,
    _CS_LFS_CFLAGS___177 = 1000,
    _CS_LFS_LDFLAGS___177 = 1001,
    _CS_LFS_LIBS___177 = 1002,
    _CS_LFS_LINTFLAGS___177 = 1003,
    _CS_LFS64_CFLAGS___177 = 1004,
    _CS_LFS64_LDFLAGS___177 = 1005,
    _CS_LFS64_LIBS___177 = 1006,
    _CS_LFS64_LINTFLAGS___177 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___177 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___177 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___177 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___177 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___177 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___177 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___177 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___177 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___177 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___177 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___177 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___177 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___177 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___177 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___177 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___177 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___177 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___177 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___177 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___177 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___177 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___177 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___177 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___177 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___177 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___177 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___177 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___177 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___177 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___177 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___177 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___177 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___177 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___177 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___177 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___177 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___177 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___177 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___177 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___177 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___177 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___177 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___177 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___177 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___177 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___177 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___177 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___177 = 1147,
    _CS_V6_ENV___177 = 1148,
    _CS_V7_ENV___177 = 1149
} ;
enum __anonenum_513775621___177 {
    DT_UNKNOWN___177 = 0,
    DT_FIFO___177 = 1,
    DT_CHR___177 = 2,
    DT_DIR___177 = 4,
    DT_BLK___177 = 6,
    DT_REG___177 = 8,
    DT_LNK___177 = 10,
    DT_SOCK___177 = 12,
    DT_WHT___177 = 14
} ;
enum __anonenum_77002343___177 {
    SI_ASYNCNL___177 = -60,
    SI_TKILL___177 = -6,
    SI_SIGIO___177 = -5,
    SI_ASYNCIO___177 = -4,
    SI_MESGQ___177 = -3,
    SI_TIMER___177 = -2,
    SI_QUEUE___177 = -1,
    SI_USER___177 = 0,
    SI_KERNEL___177 = 128
} ;
enum __anonenum_131038172___177 {
    ILL_ILLOPC___177 = 1,
    ILL_ILLOPN___177 = 2,
    ILL_ILLADR___177 = 3,
    ILL_ILLTRP___177 = 4,
    ILL_PRVOPC___177 = 5,
    ILL_PRVREG___177 = 6,
    ILL_COPROC___177 = 7,
    ILL_BADSTK___177 = 8
} ;
enum __anonenum_452038093___177 {
    FPE_INTDIV___177 = 1,
    FPE_INTOVF___177 = 2,
    FPE_FLTDIV___177 = 3,
    FPE_FLTOVF___177 = 4,
    FPE_FLTUND___177 = 5,
    FPE_FLTRES___177 = 6,
    FPE_FLTINV___177 = 7,
    FPE_FLTSUB___177 = 8
} ;
enum __anonenum_30976155___177 {
    SEGV_MAPERR___177 = 1,
    SEGV_ACCERR___177 = 2,
    SEGV_BNDERR___177 = 3,
    SEGV_PKUERR___177 = 4
} ;
enum __anonenum_1036286214___177 {
    BUS_ADRALN___177 = 1,
    BUS_ADRERR___177 = 2,
    BUS_OBJERR___177 = 3,
    BUS_MCEERR_AR___177 = 4,
    BUS_MCEERR_AO___177 = 5
} ;
enum __anonenum_493465559___177 {
    TRAP_BRKPT___177 = 1,
    TRAP_TRACE___177 = 2
} ;
enum __anonenum_23175539___177 {
    CLD_EXITED___177 = 1,
    CLD_KILLED___177 = 2,
    CLD_DUMPED___177 = 3,
    CLD_TRAPPED___177 = 4,
    CLD_STOPPED___177 = 5,
    CLD_CONTINUED___177 = 6
} ;
enum __anonenum_111643124___177 {
    POLL_IN___177 = 1,
    POLL_OUT___177 = 2,
    POLL_MSG___177 = 3,
    POLL_ERR___177 = 4,
    POLL_PRI___177 = 5,
    POLL_HUP___177 = 6
} ;
enum __anonenum_852341087___177 {
    SIGEV_SIGNAL___177 = 0,
    SIGEV_NONE___177 = 1,
    SIGEV_THREAD___177 = 2,
    SIGEV_THREAD_ID___177 = 4
} ;
enum __anonenum_451154152___177 {
    REG_R8___177 = 0,
    REG_R9___177 = 1,
    REG_R10___177 = 2,
    REG_R11___177 = 3,
    REG_R12___177 = 4,
    REG_R13___177 = 5,
    REG_R14___177 = 6,
    REG_R15___177 = 7,
    REG_RDI___177 = 8,
    REG_RSI___177 = 9,
    REG_RBP___177 = 10,
    REG_RBX___177 = 11,
    REG_RDX___177 = 12,
    REG_RAX___177 = 13,
    REG_RCX___177 = 14,
    REG_RSP___177 = 15,
    REG_RIP___177 = 16,
    REG_EFL___177 = 17,
    REG_CSGSFS___177 = 18,
    REG_ERR___177 = 19,
    REG_TRAPNO___177 = 20,
    REG_OLDMASK___177 = 21,
    REG_CR2___177 = 22
} ;
enum __anonenum_57186863___177 {
    SS_ONSTACK___177 = 1,
    SS_DISABLE___177 = 2
} ;
enum __anonenum_83571709___177 {
    MSG_OOB___177 = 1,
    MSG_PEEK___177 = 2,
    MSG_DONTROUTE___177 = 4,
    MSG_TRYHARD___177 = 4,
    MSG_CTRUNC___177 = 8,
    MSG_PROXY___177 = 16,
    MSG_TRUNC___177 = 32,
    MSG_DONTWAIT___177 = 64,
    MSG_EOR___177 = 128,
    MSG_WAITALL___177 = 256,
    MSG_FIN___177 = 512,
    MSG_SYN___177 = 1024,
    MSG_CONFIRM___177 = 2048,
    MSG_RST___177 = 4096,
    MSG_ERRQUEUE___177 = 8192,
    MSG_NOSIGNAL___177 = 16384,
    MSG_MORE___177 = 32768,
    MSG_WAITFORONE___177 = 65536,
    MSG_BATCH___177 = 262144,
    MSG_ZEROCOPY___177 = 67108864,
    MSG_FASTOPEN___177 = 536870912,
    MSG_CMSG_CLOEXEC___177 = 1073741824
} ;
enum __anonenum_617082774___177 {
    SCM_RIGHTS___177 = 1,
    SCM_CREDENTIALS___177 = 2
} ;
enum __anonenum_606441560___177 {
    SHUT_RD___177 = 0,
    SHUT_WR___177 = 1,
    SHUT_RDWR___177 = 2
} ;
enum __anonenum_681669233___177 {
    IPPROTO_IP___177 = 0,
    IPPROTO_ICMP___177 = 1,
    IPPROTO_IGMP___177 = 2,
    IPPROTO_IPIP___177 = 4,
    IPPROTO_TCP___177 = 6,
    IPPROTO_EGP___177 = 8,
    IPPROTO_PUP___177 = 12,
    IPPROTO_UDP___177 = 17,
    IPPROTO_IDP___177 = 22,
    IPPROTO_TP___177 = 29,
    IPPROTO_DCCP___177 = 33,
    IPPROTO_IPV6___177 = 41,
    IPPROTO_RSVP___177 = 46,
    IPPROTO_GRE___177 = 47,
    IPPROTO_ESP___177 = 50,
    IPPROTO_AH___177 = 51,
    IPPROTO_MTP___177 = 92,
    IPPROTO_BEETPH___177 = 94,
    IPPROTO_ENCAP___177 = 98,
    IPPROTO_PIM___177 = 103,
    IPPROTO_COMP___177 = 108,
    IPPROTO_SCTP___177 = 132,
    IPPROTO_UDPLITE___177 = 136,
    IPPROTO_MPLS___177 = 137,
    IPPROTO_RAW___177 = 255,
    IPPROTO_MAX___177 = 256
} ;
enum __anonenum_218739988___177 {
    IPPROTO_HOPOPTS___177 = 0,
    IPPROTO_ROUTING___177 = 43,
    IPPROTO_FRAGMENT___177 = 44,
    IPPROTO_ICMPV6___177 = 58,
    IPPROTO_NONE___177 = 59,
    IPPROTO_DSTOPTS___177 = 60,
    IPPROTO_MH___177 = 135
} ;
enum __anonenum_662268580___177 {
    IPPORT_ECHO___177 = 7,
    IPPORT_DISCARD___177 = 9,
    IPPORT_SYSTAT___177 = 11,
    IPPORT_DAYTIME___177 = 13,
    IPPORT_NETSTAT___177 = 15,
    IPPORT_FTP___177 = 21,
    IPPORT_TELNET___177 = 23,
    IPPORT_SMTP___177 = 25,
    IPPORT_TIMESERVER___177 = 37,
    IPPORT_NAMESERVER___177 = 42,
    IPPORT_WHOIS___177 = 43,
    IPPORT_MTP___177 = 57,
    IPPORT_TFTP___177 = 69,
    IPPORT_RJE___177 = 77,
    IPPORT_FINGER___177 = 79,
    IPPORT_TTYLINK___177 = 87,
    IPPORT_SUPDUP___177 = 95,
    IPPORT_EXECSERVER___177 = 512,
    IPPORT_LOGINSERVER___177 = 513,
    IPPORT_CMDSERVER___177 = 514,
    IPPORT_EFSSERVER___177 = 520,
    IPPORT_BIFFUDP___177 = 512,
    IPPORT_WHOSERVER___177 = 513,
    IPPORT_ROUTESERVER___177 = 520,
    IPPORT_RESERVED___177 = 1024,
    IPPORT_USERRESERVED___177 = 5000
} ;
enum __anonenum_788308992___177 {
    TCP_ESTABLISHED___177 = 1,
    TCP_SYN_SENT___177 = 2,
    TCP_SYN_RECV___177 = 3,
    TCP_FIN_WAIT1___177 = 4,
    TCP_FIN_WAIT2___177 = 5,
    TCP_TIME_WAIT___177 = 6,
    TCP_CLOSE___177 = 7,
    TCP_CLOSE_WAIT___177 = 8,
    TCP_LAST_ACK___177 = 9,
    TCP_LISTEN___177 = 10,
    TCP_CLOSING___177 = 11
} ;
enum __anonenum_221125648___177 {
    TCP_NO_QUEUE___177 = 0,
    TCP_RECV_QUEUE___177 = 1,
    TCP_SEND_QUEUE___177 = 2,
    TCP_QUEUES_NR___177 = 3
} ;
enum __anonenum_34415463___177 {
    PTHREAD_CREATE_JOINABLE___177 = 0,
    PTHREAD_CREATE_DETACHED___177 = 1
} ;
enum __anonenum_303612439___177 {
    PTHREAD_MUTEX_TIMED_NP___177 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___177 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___177 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___177 = 3,
    PTHREAD_MUTEX_NORMAL___177 = 0,
    PTHREAD_MUTEX_RECURSIVE___177 = 1,
    PTHREAD_MUTEX_ERRORCHECK___177 = 2,
    PTHREAD_MUTEX_DEFAULT___177 = 0,
    PTHREAD_MUTEX_FAST_NP___177 = 0
} ;
enum __anonenum_931900394___177 {
    PTHREAD_MUTEX_STALLED___177 = 0,
    PTHREAD_MUTEX_STALLED_NP___177 = 0,
    PTHREAD_MUTEX_ROBUST___177 = 1,
    PTHREAD_MUTEX_ROBUST_NP___177 = 1
} ;
enum __anonenum_205214487___177 {
    PTHREAD_PRIO_NONE___177 = 0,
    PTHREAD_PRIO_INHERIT___177 = 1,
    PTHREAD_PRIO_PROTECT___177 = 2
} ;
enum __anonenum_25043950___177 {
    PTHREAD_RWLOCK_PREFER_READER_NP___177 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___177 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___177 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___177 = 0
} ;
enum __anonenum_436439511___177 {
    PTHREAD_INHERIT_SCHED___177 = 0,
    PTHREAD_EXPLICIT_SCHED___177 = 1
} ;
enum __anonenum_998661166___177 {
    PTHREAD_SCOPE_SYSTEM___177 = 0,
    PTHREAD_SCOPE_PROCESS___177 = 1
} ;
enum __anonenum_146137331___177 {
    PTHREAD_PROCESS_PRIVATE___177 = 0,
    PTHREAD_PROCESS_SHARED___177 = 1
} ;
enum __anonenum_53396917___177 {
    PTHREAD_CANCEL_ENABLE___177 = 0,
    PTHREAD_CANCEL_DISABLE___177 = 1
} ;
enum __anonenum_904563783___177 {
    PTHREAD_CANCEL_DEFERRED___177 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___177 = 1
} ;
enum __anonenum_672052974___177 {
    SSL_CT_VALIDATION_PERMISSIVE___177 = 0,
    SSL_CT_VALIDATION_STRICT___177 = 1
} ;
struct keyword_entry {
   char const   *keyword ;
   char color[75] ;
};
enum __anonenum_437032235___178 {
    _PC_LINK_MAX___178 = 0,
    _PC_MAX_CANON___178 = 1,
    _PC_MAX_INPUT___178 = 2,
    _PC_NAME_MAX___178 = 3,
    _PC_PATH_MAX___178 = 4,
    _PC_PIPE_BUF___178 = 5,
    _PC_CHOWN_RESTRICTED___178 = 6,
    _PC_NO_TRUNC___178 = 7,
    _PC_VDISABLE___178 = 8,
    _PC_SYNC_IO___178 = 9,
    _PC_ASYNC_IO___178 = 10,
    _PC_PRIO_IO___178 = 11,
    _PC_SOCK_MAXBUF___178 = 12,
    _PC_FILESIZEBITS___178 = 13,
    _PC_REC_INCR_XFER_SIZE___178 = 14,
    _PC_REC_MAX_XFER_SIZE___178 = 15,
    _PC_REC_MIN_XFER_SIZE___178 = 16,
    _PC_REC_XFER_ALIGN___178 = 17,
    _PC_ALLOC_SIZE_MIN___178 = 18,
    _PC_SYMLINK_MAX___178 = 19,
    _PC_2_SYMLINKS___178 = 20
} ;
enum __anonenum_315186338___178 {
    _SC_ARG_MAX___178 = 0,
    _SC_CHILD_MAX___178 = 1,
    _SC_CLK_TCK___178 = 2,
    _SC_NGROUPS_MAX___178 = 3,
    _SC_OPEN_MAX___178 = 4,
    _SC_STREAM_MAX___178 = 5,
    _SC_TZNAME_MAX___178 = 6,
    _SC_JOB_CONTROL___178 = 7,
    _SC_SAVED_IDS___178 = 8,
    _SC_REALTIME_SIGNALS___178 = 9,
    _SC_PRIORITY_SCHEDULING___178 = 10,
    _SC_TIMERS___178 = 11,
    _SC_ASYNCHRONOUS_IO___178 = 12,
    _SC_PRIORITIZED_IO___178 = 13,
    _SC_SYNCHRONIZED_IO___178 = 14,
    _SC_FSYNC___178 = 15,
    _SC_MAPPED_FILES___178 = 16,
    _SC_MEMLOCK___178 = 17,
    _SC_MEMLOCK_RANGE___178 = 18,
    _SC_MEMORY_PROTECTION___178 = 19,
    _SC_MESSAGE_PASSING___178 = 20,
    _SC_SEMAPHORES___178 = 21,
    _SC_SHARED_MEMORY_OBJECTS___178 = 22,
    _SC_AIO_LISTIO_MAX___178 = 23,
    _SC_AIO_MAX___178 = 24,
    _SC_AIO_PRIO_DELTA_MAX___178 = 25,
    _SC_DELAYTIMER_MAX___178 = 26,
    _SC_MQ_OPEN_MAX___178 = 27,
    _SC_MQ_PRIO_MAX___178 = 28,
    _SC_VERSION___178 = 29,
    _SC_PAGESIZE___178 = 30,
    _SC_RTSIG_MAX___178 = 31,
    _SC_SEM_NSEMS_MAX___178 = 32,
    _SC_SEM_VALUE_MAX___178 = 33,
    _SC_SIGQUEUE_MAX___178 = 34,
    _SC_TIMER_MAX___178 = 35,
    _SC_BC_BASE_MAX___178 = 36,
    _SC_BC_DIM_MAX___178 = 37,
    _SC_BC_SCALE_MAX___178 = 38,
    _SC_BC_STRING_MAX___178 = 39,
    _SC_COLL_WEIGHTS_MAX___178 = 40,
    _SC_EQUIV_CLASS_MAX___178 = 41,
    _SC_EXPR_NEST_MAX___178 = 42,
    _SC_LINE_MAX___178 = 43,
    _SC_RE_DUP_MAX___178 = 44,
    _SC_CHARCLASS_NAME_MAX___178 = 45,
    _SC_2_VERSION___178 = 46,
    _SC_2_C_BIND___178 = 47,
    _SC_2_C_DEV___178 = 48,
    _SC_2_FORT_DEV___178 = 49,
    _SC_2_FORT_RUN___178 = 50,
    _SC_2_SW_DEV___178 = 51,
    _SC_2_LOCALEDEF___178 = 52,
    _SC_PII___178 = 53,
    _SC_PII_XTI___178 = 54,
    _SC_PII_SOCKET___178 = 55,
    _SC_PII_INTERNET___178 = 56,
    _SC_PII_OSI___178 = 57,
    _SC_POLL___178 = 58,
    _SC_SELECT___178 = 59,
    _SC_UIO_MAXIOV___178 = 60,
    _SC_IOV_MAX___178 = 60,
    _SC_PII_INTERNET_STREAM___178 = 61,
    _SC_PII_INTERNET_DGRAM___178 = 62,
    _SC_PII_OSI_COTS___178 = 63,
    _SC_PII_OSI_CLTS___178 = 64,
    _SC_PII_OSI_M___178 = 65,
    _SC_T_IOV_MAX___178 = 66,
    _SC_THREADS___178 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___178 = 68,
    _SC_GETGR_R_SIZE_MAX___178 = 69,
    _SC_GETPW_R_SIZE_MAX___178 = 70,
    _SC_LOGIN_NAME_MAX___178 = 71,
    _SC_TTY_NAME_MAX___178 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___178 = 73,
    _SC_THREAD_KEYS_MAX___178 = 74,
    _SC_THREAD_STACK_MIN___178 = 75,
    _SC_THREAD_THREADS_MAX___178 = 76,
    _SC_THREAD_ATTR_STACKADDR___178 = 77,
    _SC_THREAD_ATTR_STACKSIZE___178 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___178 = 79,
    _SC_THREAD_PRIO_INHERIT___178 = 80,
    _SC_THREAD_PRIO_PROTECT___178 = 81,
    _SC_THREAD_PROCESS_SHARED___178 = 82,
    _SC_NPROCESSORS_CONF___178 = 83,
    _SC_NPROCESSORS_ONLN___178 = 84,
    _SC_PHYS_PAGES___178 = 85,
    _SC_AVPHYS_PAGES___178 = 86,
    _SC_ATEXIT_MAX___178 = 87,
    _SC_PASS_MAX___178 = 88,
    _SC_XOPEN_VERSION___178 = 89,
    _SC_XOPEN_XCU_VERSION___178 = 90,
    _SC_XOPEN_UNIX___178 = 91,
    _SC_XOPEN_CRYPT___178 = 92,
    _SC_XOPEN_ENH_I18N___178 = 93,
    _SC_XOPEN_SHM___178 = 94,
    _SC_2_CHAR_TERM___178 = 95,
    _SC_2_C_VERSION___178 = 96,
    _SC_2_UPE___178 = 97,
    _SC_XOPEN_XPG2___178 = 98,
    _SC_XOPEN_XPG3___178 = 99,
    _SC_XOPEN_XPG4___178 = 100,
    _SC_CHAR_BIT___178 = 101,
    _SC_CHAR_MAX___178 = 102,
    _SC_CHAR_MIN___178 = 103,
    _SC_INT_MAX___178 = 104,
    _SC_INT_MIN___178 = 105,
    _SC_LONG_BIT___178 = 106,
    _SC_WORD_BIT___178 = 107,
    _SC_MB_LEN_MAX___178 = 108,
    _SC_NZERO___178 = 109,
    _SC_SSIZE_MAX___178 = 110,
    _SC_SCHAR_MAX___178 = 111,
    _SC_SCHAR_MIN___178 = 112,
    _SC_SHRT_MAX___178 = 113,
    _SC_SHRT_MIN___178 = 114,
    _SC_UCHAR_MAX___178 = 115,
    _SC_UINT_MAX___178 = 116,
    _SC_ULONG_MAX___178 = 117,
    _SC_USHRT_MAX___178 = 118,
    _SC_NL_ARGMAX___178 = 119,
    _SC_NL_LANGMAX___178 = 120,
    _SC_NL_MSGMAX___178 = 121,
    _SC_NL_NMAX___178 = 122,
    _SC_NL_SETMAX___178 = 123,
    _SC_NL_TEXTMAX___178 = 124,
    _SC_XBS5_ILP32_OFF32___178 = 125,
    _SC_XBS5_ILP32_OFFBIG___178 = 126,
    _SC_XBS5_LP64_OFF64___178 = 127,
    _SC_XBS5_LPBIG_OFFBIG___178 = 128,
    _SC_XOPEN_LEGACY___178 = 129,
    _SC_XOPEN_REALTIME___178 = 130,
    _SC_XOPEN_REALTIME_THREADS___178 = 131,
    _SC_ADVISORY_INFO___178 = 132,
    _SC_BARRIERS___178 = 133,
    _SC_BASE___178 = 134,
    _SC_C_LANG_SUPPORT___178 = 135,
    _SC_C_LANG_SUPPORT_R___178 = 136,
    _SC_CLOCK_SELECTION___178 = 137,
    _SC_CPUTIME___178 = 138,
    _SC_THREAD_CPUTIME___178 = 139,
    _SC_DEVICE_IO___178 = 140,
    _SC_DEVICE_SPECIFIC___178 = 141,
    _SC_DEVICE_SPECIFIC_R___178 = 142,
    _SC_FD_MGMT___178 = 143,
    _SC_FIFO___178 = 144,
    _SC_PIPE___178 = 145,
    _SC_FILE_ATTRIBUTES___178 = 146,
    _SC_FILE_LOCKING___178 = 147,
    _SC_FILE_SYSTEM___178 = 148,
    _SC_MONOTONIC_CLOCK___178 = 149,
    _SC_MULTI_PROCESS___178 = 150,
    _SC_SINGLE_PROCESS___178 = 151,
    _SC_NETWORKING___178 = 152,
    _SC_READER_WRITER_LOCKS___178 = 153,
    _SC_SPIN_LOCKS___178 = 154,
    _SC_REGEXP___178 = 155,
    _SC_REGEX_VERSION___178 = 156,
    _SC_SHELL___178 = 157,
    _SC_SIGNALS___178 = 158,
    _SC_SPAWN___178 = 159,
    _SC_SPORADIC_SERVER___178 = 160,
    _SC_THREAD_SPORADIC_SERVER___178 = 161,
    _SC_SYSTEM_DATABASE___178 = 162,
    _SC_SYSTEM_DATABASE_R___178 = 163,
    _SC_TIMEOUTS___178 = 164,
    _SC_TYPED_MEMORY_OBJECTS___178 = 165,
    _SC_USER_GROUPS___178 = 166,
    _SC_USER_GROUPS_R___178 = 167,
    _SC_2_PBS___178 = 168,
    _SC_2_PBS_ACCOUNTING___178 = 169,
    _SC_2_PBS_LOCATE___178 = 170,
    _SC_2_PBS_MESSAGE___178 = 171,
    _SC_2_PBS_TRACK___178 = 172,
    _SC_SYMLOOP_MAX___178 = 173,
    _SC_STREAMS___178 = 174,
    _SC_2_PBS_CHECKPOINT___178 = 175,
    _SC_V6_ILP32_OFF32___178 = 176,
    _SC_V6_ILP32_OFFBIG___178 = 177,
    _SC_V6_LP64_OFF64___178 = 178,
    _SC_V6_LPBIG_OFFBIG___178 = 179,
    _SC_HOST_NAME_MAX___178 = 180,
    _SC_TRACE___178 = 181,
    _SC_TRACE_EVENT_FILTER___178 = 182,
    _SC_TRACE_INHERIT___178 = 183,
    _SC_TRACE_LOG___178 = 184,
    _SC_LEVEL1_ICACHE_SIZE___178 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___178 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___178 = 187,
    _SC_LEVEL1_DCACHE_SIZE___178 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___178 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___178 = 190,
    _SC_LEVEL2_CACHE_SIZE___178 = 191,
    _SC_LEVEL2_CACHE_ASSOC___178 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___178 = 193,
    _SC_LEVEL3_CACHE_SIZE___178 = 194,
    _SC_LEVEL3_CACHE_ASSOC___178 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___178 = 196,
    _SC_LEVEL4_CACHE_SIZE___178 = 197,
    _SC_LEVEL4_CACHE_ASSOC___178 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___178 = 199,
    _SC_IPV6___178 = 235,
    _SC_RAW_SOCKETS___178 = 236,
    _SC_V7_ILP32_OFF32___178 = 237,
    _SC_V7_ILP32_OFFBIG___178 = 238,
    _SC_V7_LP64_OFF64___178 = 239,
    _SC_V7_LPBIG_OFFBIG___178 = 240,
    _SC_SS_REPL_MAX___178 = 241,
    _SC_TRACE_EVENT_NAME_MAX___178 = 242,
    _SC_TRACE_NAME_MAX___178 = 243,
    _SC_TRACE_SYS_MAX___178 = 244,
    _SC_TRACE_USER_EVENT_MAX___178 = 245,
    _SC_XOPEN_STREAMS___178 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___178 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___178 = 248
} ;
enum __anonenum_875524036___178 {
    _CS_PATH___178 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___178 = 1,
    _CS_GNU_LIBC_VERSION___178 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___178 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___178 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___178 = 5,
    _CS_LFS_CFLAGS___178 = 1000,
    _CS_LFS_LDFLAGS___178 = 1001,
    _CS_LFS_LIBS___178 = 1002,
    _CS_LFS_LINTFLAGS___178 = 1003,
    _CS_LFS64_CFLAGS___178 = 1004,
    _CS_LFS64_LDFLAGS___178 = 1005,
    _CS_LFS64_LIBS___178 = 1006,
    _CS_LFS64_LINTFLAGS___178 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___178 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___178 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___178 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___178 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___178 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___178 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___178 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___178 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___178 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___178 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___178 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___178 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___178 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___178 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___178 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___178 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___178 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___178 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___178 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___178 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___178 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___178 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___178 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___178 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___178 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___178 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___178 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___178 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___178 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___178 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___178 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___178 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___178 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___178 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___178 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___178 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___178 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___178 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___178 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___178 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___178 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___178 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___178 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___178 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___178 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___178 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___178 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___178 = 1147,
    _CS_V6_ENV___178 = 1148,
    _CS_V7_ENV___178 = 1149
} ;
enum __anonenum_513775621___178 {
    DT_UNKNOWN___178 = 0,
    DT_FIFO___178 = 1,
    DT_CHR___178 = 2,
    DT_DIR___178 = 4,
    DT_BLK___178 = 6,
    DT_REG___178 = 8,
    DT_LNK___178 = 10,
    DT_SOCK___178 = 12,
    DT_WHT___178 = 14
} ;
enum __anonenum_77002343___178 {
    SI_ASYNCNL___178 = -60,
    SI_TKILL___178 = -6,
    SI_SIGIO___178 = -5,
    SI_ASYNCIO___178 = -4,
    SI_MESGQ___178 = -3,
    SI_TIMER___178 = -2,
    SI_QUEUE___178 = -1,
    SI_USER___178 = 0,
    SI_KERNEL___178 = 128
} ;
enum __anonenum_131038172___178 {
    ILL_ILLOPC___178 = 1,
    ILL_ILLOPN___178 = 2,
    ILL_ILLADR___178 = 3,
    ILL_ILLTRP___178 = 4,
    ILL_PRVOPC___178 = 5,
    ILL_PRVREG___178 = 6,
    ILL_COPROC___178 = 7,
    ILL_BADSTK___178 = 8
} ;
enum __anonenum_452038093___178 {
    FPE_INTDIV___178 = 1,
    FPE_INTOVF___178 = 2,
    FPE_FLTDIV___178 = 3,
    FPE_FLTOVF___178 = 4,
    FPE_FLTUND___178 = 5,
    FPE_FLTRES___178 = 6,
    FPE_FLTINV___178 = 7,
    FPE_FLTSUB___178 = 8
} ;
enum __anonenum_30976155___178 {
    SEGV_MAPERR___178 = 1,
    SEGV_ACCERR___178 = 2,
    SEGV_BNDERR___178 = 3,
    SEGV_PKUERR___178 = 4
} ;
enum __anonenum_1036286214___178 {
    BUS_ADRALN___178 = 1,
    BUS_ADRERR___178 = 2,
    BUS_OBJERR___178 = 3,
    BUS_MCEERR_AR___178 = 4,
    BUS_MCEERR_AO___178 = 5
} ;
enum __anonenum_493465559___178 {
    TRAP_BRKPT___178 = 1,
    TRAP_TRACE___178 = 2
} ;
enum __anonenum_23175539___178 {
    CLD_EXITED___178 = 1,
    CLD_KILLED___178 = 2,
    CLD_DUMPED___178 = 3,
    CLD_TRAPPED___178 = 4,
    CLD_STOPPED___178 = 5,
    CLD_CONTINUED___178 = 6
} ;
enum __anonenum_111643124___178 {
    POLL_IN___178 = 1,
    POLL_OUT___178 = 2,
    POLL_MSG___178 = 3,
    POLL_ERR___178 = 4,
    POLL_PRI___178 = 5,
    POLL_HUP___178 = 6
} ;
enum __anonenum_852341087___178 {
    SIGEV_SIGNAL___178 = 0,
    SIGEV_NONE___178 = 1,
    SIGEV_THREAD___178 = 2,
    SIGEV_THREAD_ID___178 = 4
} ;
enum __anonenum_451154152___178 {
    REG_R8___178 = 0,
    REG_R9___178 = 1,
    REG_R10___178 = 2,
    REG_R11___178 = 3,
    REG_R12___178 = 4,
    REG_R13___178 = 5,
    REG_R14___178 = 6,
    REG_R15___178 = 7,
    REG_RDI___178 = 8,
    REG_RSI___178 = 9,
    REG_RBP___178 = 10,
    REG_RBX___178 = 11,
    REG_RDX___178 = 12,
    REG_RAX___178 = 13,
    REG_RCX___178 = 14,
    REG_RSP___178 = 15,
    REG_RIP___178 = 16,
    REG_EFL___178 = 17,
    REG_CSGSFS___178 = 18,
    REG_ERR___178 = 19,
    REG_TRAPNO___178 = 20,
    REG_OLDMASK___178 = 21,
    REG_CR2___178 = 22
} ;
enum __anonenum_57186863___178 {
    SS_ONSTACK___178 = 1,
    SS_DISABLE___178 = 2
} ;
enum __anonenum_83571709___178 {
    MSG_OOB___178 = 1,
    MSG_PEEK___178 = 2,
    MSG_DONTROUTE___178 = 4,
    MSG_TRYHARD___178 = 4,
    MSG_CTRUNC___178 = 8,
    MSG_PROXY___178 = 16,
    MSG_TRUNC___178 = 32,
    MSG_DONTWAIT___178 = 64,
    MSG_EOR___178 = 128,
    MSG_WAITALL___178 = 256,
    MSG_FIN___178 = 512,
    MSG_SYN___178 = 1024,
    MSG_CONFIRM___178 = 2048,
    MSG_RST___178 = 4096,
    MSG_ERRQUEUE___178 = 8192,
    MSG_NOSIGNAL___178 = 16384,
    MSG_MORE___178 = 32768,
    MSG_WAITFORONE___178 = 65536,
    MSG_BATCH___178 = 262144,
    MSG_ZEROCOPY___178 = 67108864,
    MSG_FASTOPEN___178 = 536870912,
    MSG_CMSG_CLOEXEC___178 = 1073741824
} ;
enum __anonenum_617082774___178 {
    SCM_RIGHTS___178 = 1,
    SCM_CREDENTIALS___178 = 2
} ;
enum __anonenum_606441560___178 {
    SHUT_RD___178 = 0,
    SHUT_WR___178 = 1,
    SHUT_RDWR___178 = 2
} ;
enum __anonenum_681669233___178 {
    IPPROTO_IP___178 = 0,
    IPPROTO_ICMP___178 = 1,
    IPPROTO_IGMP___178 = 2,
    IPPROTO_IPIP___178 = 4,
    IPPROTO_TCP___178 = 6,
    IPPROTO_EGP___178 = 8,
    IPPROTO_PUP___178 = 12,
    IPPROTO_UDP___178 = 17,
    IPPROTO_IDP___178 = 22,
    IPPROTO_TP___178 = 29,
    IPPROTO_DCCP___178 = 33,
    IPPROTO_IPV6___178 = 41,
    IPPROTO_RSVP___178 = 46,
    IPPROTO_GRE___178 = 47,
    IPPROTO_ESP___178 = 50,
    IPPROTO_AH___178 = 51,
    IPPROTO_MTP___178 = 92,
    IPPROTO_BEETPH___178 = 94,
    IPPROTO_ENCAP___178 = 98,
    IPPROTO_PIM___178 = 103,
    IPPROTO_COMP___178 = 108,
    IPPROTO_SCTP___178 = 132,
    IPPROTO_UDPLITE___178 = 136,
    IPPROTO_MPLS___178 = 137,
    IPPROTO_RAW___178 = 255,
    IPPROTO_MAX___178 = 256
} ;
enum __anonenum_218739988___178 {
    IPPROTO_HOPOPTS___178 = 0,
    IPPROTO_ROUTING___178 = 43,
    IPPROTO_FRAGMENT___178 = 44,
    IPPROTO_ICMPV6___178 = 58,
    IPPROTO_NONE___178 = 59,
    IPPROTO_DSTOPTS___178 = 60,
    IPPROTO_MH___178 = 135
} ;
enum __anonenum_662268580___178 {
    IPPORT_ECHO___178 = 7,
    IPPORT_DISCARD___178 = 9,
    IPPORT_SYSTAT___178 = 11,
    IPPORT_DAYTIME___178 = 13,
    IPPORT_NETSTAT___178 = 15,
    IPPORT_FTP___178 = 21,
    IPPORT_TELNET___178 = 23,
    IPPORT_SMTP___178 = 25,
    IPPORT_TIMESERVER___178 = 37,
    IPPORT_NAMESERVER___178 = 42,
    IPPORT_WHOIS___178 = 43,
    IPPORT_MTP___178 = 57,
    IPPORT_TFTP___178 = 69,
    IPPORT_RJE___178 = 77,
    IPPORT_FINGER___178 = 79,
    IPPORT_TTYLINK___178 = 87,
    IPPORT_SUPDUP___178 = 95,
    IPPORT_EXECSERVER___178 = 512,
    IPPORT_LOGINSERVER___178 = 513,
    IPPORT_CMDSERVER___178 = 514,
    IPPORT_EFSSERVER___178 = 520,
    IPPORT_BIFFUDP___178 = 512,
    IPPORT_WHOSERVER___178 = 513,
    IPPORT_ROUTESERVER___178 = 520,
    IPPORT_RESERVED___178 = 1024,
    IPPORT_USERRESERVED___178 = 5000
} ;
enum __anonenum_788308992___178 {
    TCP_ESTABLISHED___178 = 1,
    TCP_SYN_SENT___178 = 2,
    TCP_SYN_RECV___178 = 3,
    TCP_FIN_WAIT1___178 = 4,
    TCP_FIN_WAIT2___178 = 5,
    TCP_TIME_WAIT___178 = 6,
    TCP_CLOSE___178 = 7,
    TCP_CLOSE_WAIT___178 = 8,
    TCP_LAST_ACK___178 = 9,
    TCP_LISTEN___178 = 10,
    TCP_CLOSING___178 = 11
} ;
enum __anonenum_221125648___178 {
    TCP_NO_QUEUE___178 = 0,
    TCP_RECV_QUEUE___178 = 1,
    TCP_SEND_QUEUE___178 = 2,
    TCP_QUEUES_NR___178 = 3
} ;
enum __anonenum_34415463___178 {
    PTHREAD_CREATE_JOINABLE___178 = 0,
    PTHREAD_CREATE_DETACHED___178 = 1
} ;
enum __anonenum_303612439___178 {
    PTHREAD_MUTEX_TIMED_NP___178 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___178 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___178 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___178 = 3,
    PTHREAD_MUTEX_NORMAL___178 = 0,
    PTHREAD_MUTEX_RECURSIVE___178 = 1,
    PTHREAD_MUTEX_ERRORCHECK___178 = 2,
    PTHREAD_MUTEX_DEFAULT___178 = 0,
    PTHREAD_MUTEX_FAST_NP___178 = 0
} ;
enum __anonenum_931900394___178 {
    PTHREAD_MUTEX_STALLED___178 = 0,
    PTHREAD_MUTEX_STALLED_NP___178 = 0,
    PTHREAD_MUTEX_ROBUST___178 = 1,
    PTHREAD_MUTEX_ROBUST_NP___178 = 1
} ;
enum __anonenum_205214487___178 {
    PTHREAD_PRIO_NONE___178 = 0,
    PTHREAD_PRIO_INHERIT___178 = 1,
    PTHREAD_PRIO_PROTECT___178 = 2
} ;
enum __anonenum_25043950___178 {
    PTHREAD_RWLOCK_PREFER_READER_NP___178 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___178 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___178 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___178 = 0
} ;
enum __anonenum_436439511___178 {
    PTHREAD_INHERIT_SCHED___178 = 0,
    PTHREAD_EXPLICIT_SCHED___178 = 1
} ;
enum __anonenum_998661166___178 {
    PTHREAD_SCOPE_SYSTEM___178 = 0,
    PTHREAD_SCOPE_PROCESS___178 = 1
} ;
enum __anonenum_146137331___178 {
    PTHREAD_PROCESS_PRIVATE___178 = 0,
    PTHREAD_PROCESS_SHARED___178 = 1
} ;
enum __anonenum_53396917___178 {
    PTHREAD_CANCEL_ENABLE___178 = 0,
    PTHREAD_CANCEL_DISABLE___178 = 1
} ;
enum __anonenum_904563783___178 {
    PTHREAD_CANCEL_DEFERRED___178 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___178 = 1
} ;
enum __anonenum_672052974___178 {
    SSL_CT_VALIDATION_PERMISSIVE___178 = 0,
    SSL_CT_VALIDATION_STRICT___178 = 1
} ;
struct sigchain_signal {
   sigchain_fun *old ;
   int n ;
   int alloc ;
};
enum __anonenum_437032235___179 {
    _PC_LINK_MAX___179 = 0,
    _PC_MAX_CANON___179 = 1,
    _PC_MAX_INPUT___179 = 2,
    _PC_NAME_MAX___179 = 3,
    _PC_PATH_MAX___179 = 4,
    _PC_PIPE_BUF___179 = 5,
    _PC_CHOWN_RESTRICTED___179 = 6,
    _PC_NO_TRUNC___179 = 7,
    _PC_VDISABLE___179 = 8,
    _PC_SYNC_IO___179 = 9,
    _PC_ASYNC_IO___179 = 10,
    _PC_PRIO_IO___179 = 11,
    _PC_SOCK_MAXBUF___179 = 12,
    _PC_FILESIZEBITS___179 = 13,
    _PC_REC_INCR_XFER_SIZE___179 = 14,
    _PC_REC_MAX_XFER_SIZE___179 = 15,
    _PC_REC_MIN_XFER_SIZE___179 = 16,
    _PC_REC_XFER_ALIGN___179 = 17,
    _PC_ALLOC_SIZE_MIN___179 = 18,
    _PC_SYMLINK_MAX___179 = 19,
    _PC_2_SYMLINKS___179 = 20
} ;
enum __anonenum_315186338___179 {
    _SC_ARG_MAX___179 = 0,
    _SC_CHILD_MAX___179 = 1,
    _SC_CLK_TCK___179 = 2,
    _SC_NGROUPS_MAX___179 = 3,
    _SC_OPEN_MAX___179 = 4,
    _SC_STREAM_MAX___179 = 5,
    _SC_TZNAME_MAX___179 = 6,
    _SC_JOB_CONTROL___179 = 7,
    _SC_SAVED_IDS___179 = 8,
    _SC_REALTIME_SIGNALS___179 = 9,
    _SC_PRIORITY_SCHEDULING___179 = 10,
    _SC_TIMERS___179 = 11,
    _SC_ASYNCHRONOUS_IO___179 = 12,
    _SC_PRIORITIZED_IO___179 = 13,
    _SC_SYNCHRONIZED_IO___179 = 14,
    _SC_FSYNC___179 = 15,
    _SC_MAPPED_FILES___179 = 16,
    _SC_MEMLOCK___179 = 17,
    _SC_MEMLOCK_RANGE___179 = 18,
    _SC_MEMORY_PROTECTION___179 = 19,
    _SC_MESSAGE_PASSING___179 = 20,
    _SC_SEMAPHORES___179 = 21,
    _SC_SHARED_MEMORY_OBJECTS___179 = 22,
    _SC_AIO_LISTIO_MAX___179 = 23,
    _SC_AIO_MAX___179 = 24,
    _SC_AIO_PRIO_DELTA_MAX___179 = 25,
    _SC_DELAYTIMER_MAX___179 = 26,
    _SC_MQ_OPEN_MAX___179 = 27,
    _SC_MQ_PRIO_MAX___179 = 28,
    _SC_VERSION___179 = 29,
    _SC_PAGESIZE___179 = 30,
    _SC_RTSIG_MAX___179 = 31,
    _SC_SEM_NSEMS_MAX___179 = 32,
    _SC_SEM_VALUE_MAX___179 = 33,
    _SC_SIGQUEUE_MAX___179 = 34,
    _SC_TIMER_MAX___179 = 35,
    _SC_BC_BASE_MAX___179 = 36,
    _SC_BC_DIM_MAX___179 = 37,
    _SC_BC_SCALE_MAX___179 = 38,
    _SC_BC_STRING_MAX___179 = 39,
    _SC_COLL_WEIGHTS_MAX___179 = 40,
    _SC_EQUIV_CLASS_MAX___179 = 41,
    _SC_EXPR_NEST_MAX___179 = 42,
    _SC_LINE_MAX___179 = 43,
    _SC_RE_DUP_MAX___179 = 44,
    _SC_CHARCLASS_NAME_MAX___179 = 45,
    _SC_2_VERSION___179 = 46,
    _SC_2_C_BIND___179 = 47,
    _SC_2_C_DEV___179 = 48,
    _SC_2_FORT_DEV___179 = 49,
    _SC_2_FORT_RUN___179 = 50,
    _SC_2_SW_DEV___179 = 51,
    _SC_2_LOCALEDEF___179 = 52,
    _SC_PII___179 = 53,
    _SC_PII_XTI___179 = 54,
    _SC_PII_SOCKET___179 = 55,
    _SC_PII_INTERNET___179 = 56,
    _SC_PII_OSI___179 = 57,
    _SC_POLL___179 = 58,
    _SC_SELECT___179 = 59,
    _SC_UIO_MAXIOV___179 = 60,
    _SC_IOV_MAX___179 = 60,
    _SC_PII_INTERNET_STREAM___179 = 61,
    _SC_PII_INTERNET_DGRAM___179 = 62,
    _SC_PII_OSI_COTS___179 = 63,
    _SC_PII_OSI_CLTS___179 = 64,
    _SC_PII_OSI_M___179 = 65,
    _SC_T_IOV_MAX___179 = 66,
    _SC_THREADS___179 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___179 = 68,
    _SC_GETGR_R_SIZE_MAX___179 = 69,
    _SC_GETPW_R_SIZE_MAX___179 = 70,
    _SC_LOGIN_NAME_MAX___179 = 71,
    _SC_TTY_NAME_MAX___179 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___179 = 73,
    _SC_THREAD_KEYS_MAX___179 = 74,
    _SC_THREAD_STACK_MIN___179 = 75,
    _SC_THREAD_THREADS_MAX___179 = 76,
    _SC_THREAD_ATTR_STACKADDR___179 = 77,
    _SC_THREAD_ATTR_STACKSIZE___179 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___179 = 79,
    _SC_THREAD_PRIO_INHERIT___179 = 80,
    _SC_THREAD_PRIO_PROTECT___179 = 81,
    _SC_THREAD_PROCESS_SHARED___179 = 82,
    _SC_NPROCESSORS_CONF___179 = 83,
    _SC_NPROCESSORS_ONLN___179 = 84,
    _SC_PHYS_PAGES___179 = 85,
    _SC_AVPHYS_PAGES___179 = 86,
    _SC_ATEXIT_MAX___179 = 87,
    _SC_PASS_MAX___179 = 88,
    _SC_XOPEN_VERSION___179 = 89,
    _SC_XOPEN_XCU_VERSION___179 = 90,
    _SC_XOPEN_UNIX___179 = 91,
    _SC_XOPEN_CRYPT___179 = 92,
    _SC_XOPEN_ENH_I18N___179 = 93,
    _SC_XOPEN_SHM___179 = 94,
    _SC_2_CHAR_TERM___179 = 95,
    _SC_2_C_VERSION___179 = 96,
    _SC_2_UPE___179 = 97,
    _SC_XOPEN_XPG2___179 = 98,
    _SC_XOPEN_XPG3___179 = 99,
    _SC_XOPEN_XPG4___179 = 100,
    _SC_CHAR_BIT___179 = 101,
    _SC_CHAR_MAX___179 = 102,
    _SC_CHAR_MIN___179 = 103,
    _SC_INT_MAX___179 = 104,
    _SC_INT_MIN___179 = 105,
    _SC_LONG_BIT___179 = 106,
    _SC_WORD_BIT___179 = 107,
    _SC_MB_LEN_MAX___179 = 108,
    _SC_NZERO___179 = 109,
    _SC_SSIZE_MAX___179 = 110,
    _SC_SCHAR_MAX___179 = 111,
    _SC_SCHAR_MIN___179 = 112,
    _SC_SHRT_MAX___179 = 113,
    _SC_SHRT_MIN___179 = 114,
    _SC_UCHAR_MAX___179 = 115,
    _SC_UINT_MAX___179 = 116,
    _SC_ULONG_MAX___179 = 117,
    _SC_USHRT_MAX___179 = 118,
    _SC_NL_ARGMAX___179 = 119,
    _SC_NL_LANGMAX___179 = 120,
    _SC_NL_MSGMAX___179 = 121,
    _SC_NL_NMAX___179 = 122,
    _SC_NL_SETMAX___179 = 123,
    _SC_NL_TEXTMAX___179 = 124,
    _SC_XBS5_ILP32_OFF32___179 = 125,
    _SC_XBS5_ILP32_OFFBIG___179 = 126,
    _SC_XBS5_LP64_OFF64___179 = 127,
    _SC_XBS5_LPBIG_OFFBIG___179 = 128,
    _SC_XOPEN_LEGACY___179 = 129,
    _SC_XOPEN_REALTIME___179 = 130,
    _SC_XOPEN_REALTIME_THREADS___179 = 131,
    _SC_ADVISORY_INFO___179 = 132,
    _SC_BARRIERS___179 = 133,
    _SC_BASE___179 = 134,
    _SC_C_LANG_SUPPORT___179 = 135,
    _SC_C_LANG_SUPPORT_R___179 = 136,
    _SC_CLOCK_SELECTION___179 = 137,
    _SC_CPUTIME___179 = 138,
    _SC_THREAD_CPUTIME___179 = 139,
    _SC_DEVICE_IO___179 = 140,
    _SC_DEVICE_SPECIFIC___179 = 141,
    _SC_DEVICE_SPECIFIC_R___179 = 142,
    _SC_FD_MGMT___179 = 143,
    _SC_FIFO___179 = 144,
    _SC_PIPE___179 = 145,
    _SC_FILE_ATTRIBUTES___179 = 146,
    _SC_FILE_LOCKING___179 = 147,
    _SC_FILE_SYSTEM___179 = 148,
    _SC_MONOTONIC_CLOCK___179 = 149,
    _SC_MULTI_PROCESS___179 = 150,
    _SC_SINGLE_PROCESS___179 = 151,
    _SC_NETWORKING___179 = 152,
    _SC_READER_WRITER_LOCKS___179 = 153,
    _SC_SPIN_LOCKS___179 = 154,
    _SC_REGEXP___179 = 155,
    _SC_REGEX_VERSION___179 = 156,
    _SC_SHELL___179 = 157,
    _SC_SIGNALS___179 = 158,
    _SC_SPAWN___179 = 159,
    _SC_SPORADIC_SERVER___179 = 160,
    _SC_THREAD_SPORADIC_SERVER___179 = 161,
    _SC_SYSTEM_DATABASE___179 = 162,
    _SC_SYSTEM_DATABASE_R___179 = 163,
    _SC_TIMEOUTS___179 = 164,
    _SC_TYPED_MEMORY_OBJECTS___179 = 165,
    _SC_USER_GROUPS___179 = 166,
    _SC_USER_GROUPS_R___179 = 167,
    _SC_2_PBS___179 = 168,
    _SC_2_PBS_ACCOUNTING___179 = 169,
    _SC_2_PBS_LOCATE___179 = 170,
    _SC_2_PBS_MESSAGE___179 = 171,
    _SC_2_PBS_TRACK___179 = 172,
    _SC_SYMLOOP_MAX___179 = 173,
    _SC_STREAMS___179 = 174,
    _SC_2_PBS_CHECKPOINT___179 = 175,
    _SC_V6_ILP32_OFF32___179 = 176,
    _SC_V6_ILP32_OFFBIG___179 = 177,
    _SC_V6_LP64_OFF64___179 = 178,
    _SC_V6_LPBIG_OFFBIG___179 = 179,
    _SC_HOST_NAME_MAX___179 = 180,
    _SC_TRACE___179 = 181,
    _SC_TRACE_EVENT_FILTER___179 = 182,
    _SC_TRACE_INHERIT___179 = 183,
    _SC_TRACE_LOG___179 = 184,
    _SC_LEVEL1_ICACHE_SIZE___179 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___179 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___179 = 187,
    _SC_LEVEL1_DCACHE_SIZE___179 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___179 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___179 = 190,
    _SC_LEVEL2_CACHE_SIZE___179 = 191,
    _SC_LEVEL2_CACHE_ASSOC___179 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___179 = 193,
    _SC_LEVEL3_CACHE_SIZE___179 = 194,
    _SC_LEVEL3_CACHE_ASSOC___179 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___179 = 196,
    _SC_LEVEL4_CACHE_SIZE___179 = 197,
    _SC_LEVEL4_CACHE_ASSOC___179 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___179 = 199,
    _SC_IPV6___179 = 235,
    _SC_RAW_SOCKETS___179 = 236,
    _SC_V7_ILP32_OFF32___179 = 237,
    _SC_V7_ILP32_OFFBIG___179 = 238,
    _SC_V7_LP64_OFF64___179 = 239,
    _SC_V7_LPBIG_OFFBIG___179 = 240,
    _SC_SS_REPL_MAX___179 = 241,
    _SC_TRACE_EVENT_NAME_MAX___179 = 242,
    _SC_TRACE_NAME_MAX___179 = 243,
    _SC_TRACE_SYS_MAX___179 = 244,
    _SC_TRACE_USER_EVENT_MAX___179 = 245,
    _SC_XOPEN_STREAMS___179 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___179 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___179 = 248
} ;
enum __anonenum_875524036___179 {
    _CS_PATH___179 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___179 = 1,
    _CS_GNU_LIBC_VERSION___179 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___179 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___179 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___179 = 5,
    _CS_LFS_CFLAGS___179 = 1000,
    _CS_LFS_LDFLAGS___179 = 1001,
    _CS_LFS_LIBS___179 = 1002,
    _CS_LFS_LINTFLAGS___179 = 1003,
    _CS_LFS64_CFLAGS___179 = 1004,
    _CS_LFS64_LDFLAGS___179 = 1005,
    _CS_LFS64_LIBS___179 = 1006,
    _CS_LFS64_LINTFLAGS___179 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___179 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___179 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___179 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___179 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___179 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___179 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___179 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___179 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___179 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___179 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___179 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___179 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___179 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___179 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___179 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___179 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___179 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___179 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___179 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___179 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___179 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___179 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___179 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___179 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___179 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___179 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___179 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___179 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___179 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___179 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___179 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___179 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___179 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___179 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___179 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___179 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___179 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___179 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___179 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___179 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___179 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___179 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___179 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___179 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___179 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___179 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___179 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___179 = 1147,
    _CS_V6_ENV___179 = 1148,
    _CS_V7_ENV___179 = 1149
} ;
enum __anonenum_513775621___179 {
    DT_UNKNOWN___179 = 0,
    DT_FIFO___179 = 1,
    DT_CHR___179 = 2,
    DT_DIR___179 = 4,
    DT_BLK___179 = 6,
    DT_REG___179 = 8,
    DT_LNK___179 = 10,
    DT_SOCK___179 = 12,
    DT_WHT___179 = 14
} ;
enum __anonenum_77002343___179 {
    SI_ASYNCNL___179 = -60,
    SI_TKILL___179 = -6,
    SI_SIGIO___179 = -5,
    SI_ASYNCIO___179 = -4,
    SI_MESGQ___179 = -3,
    SI_TIMER___179 = -2,
    SI_QUEUE___179 = -1,
    SI_USER___179 = 0,
    SI_KERNEL___179 = 128
} ;
enum __anonenum_131038172___179 {
    ILL_ILLOPC___179 = 1,
    ILL_ILLOPN___179 = 2,
    ILL_ILLADR___179 = 3,
    ILL_ILLTRP___179 = 4,
    ILL_PRVOPC___179 = 5,
    ILL_PRVREG___179 = 6,
    ILL_COPROC___179 = 7,
    ILL_BADSTK___179 = 8
} ;
enum __anonenum_452038093___179 {
    FPE_INTDIV___179 = 1,
    FPE_INTOVF___179 = 2,
    FPE_FLTDIV___179 = 3,
    FPE_FLTOVF___179 = 4,
    FPE_FLTUND___179 = 5,
    FPE_FLTRES___179 = 6,
    FPE_FLTINV___179 = 7,
    FPE_FLTSUB___179 = 8
} ;
enum __anonenum_30976155___179 {
    SEGV_MAPERR___179 = 1,
    SEGV_ACCERR___179 = 2,
    SEGV_BNDERR___179 = 3,
    SEGV_PKUERR___179 = 4
} ;
enum __anonenum_1036286214___179 {
    BUS_ADRALN___179 = 1,
    BUS_ADRERR___179 = 2,
    BUS_OBJERR___179 = 3,
    BUS_MCEERR_AR___179 = 4,
    BUS_MCEERR_AO___179 = 5
} ;
enum __anonenum_493465559___179 {
    TRAP_BRKPT___179 = 1,
    TRAP_TRACE___179 = 2
} ;
enum __anonenum_23175539___179 {
    CLD_EXITED___179 = 1,
    CLD_KILLED___179 = 2,
    CLD_DUMPED___179 = 3,
    CLD_TRAPPED___179 = 4,
    CLD_STOPPED___179 = 5,
    CLD_CONTINUED___179 = 6
} ;
enum __anonenum_111643124___179 {
    POLL_IN___179 = 1,
    POLL_OUT___179 = 2,
    POLL_MSG___179 = 3,
    POLL_ERR___179 = 4,
    POLL_PRI___179 = 5,
    POLL_HUP___179 = 6
} ;
enum __anonenum_852341087___179 {
    SIGEV_SIGNAL___179 = 0,
    SIGEV_NONE___179 = 1,
    SIGEV_THREAD___179 = 2,
    SIGEV_THREAD_ID___179 = 4
} ;
enum __anonenum_451154152___179 {
    REG_R8___179 = 0,
    REG_R9___179 = 1,
    REG_R10___179 = 2,
    REG_R11___179 = 3,
    REG_R12___179 = 4,
    REG_R13___179 = 5,
    REG_R14___179 = 6,
    REG_R15___179 = 7,
    REG_RDI___179 = 8,
    REG_RSI___179 = 9,
    REG_RBP___179 = 10,
    REG_RBX___179 = 11,
    REG_RDX___179 = 12,
    REG_RAX___179 = 13,
    REG_RCX___179 = 14,
    REG_RSP___179 = 15,
    REG_RIP___179 = 16,
    REG_EFL___179 = 17,
    REG_CSGSFS___179 = 18,
    REG_ERR___179 = 19,
    REG_TRAPNO___179 = 20,
    REG_OLDMASK___179 = 21,
    REG_CR2___179 = 22
} ;
enum __anonenum_57186863___179 {
    SS_ONSTACK___179 = 1,
    SS_DISABLE___179 = 2
} ;
enum __anonenum_83571709___179 {
    MSG_OOB___179 = 1,
    MSG_PEEK___179 = 2,
    MSG_DONTROUTE___179 = 4,
    MSG_TRYHARD___179 = 4,
    MSG_CTRUNC___179 = 8,
    MSG_PROXY___179 = 16,
    MSG_TRUNC___179 = 32,
    MSG_DONTWAIT___179 = 64,
    MSG_EOR___179 = 128,
    MSG_WAITALL___179 = 256,
    MSG_FIN___179 = 512,
    MSG_SYN___179 = 1024,
    MSG_CONFIRM___179 = 2048,
    MSG_RST___179 = 4096,
    MSG_ERRQUEUE___179 = 8192,
    MSG_NOSIGNAL___179 = 16384,
    MSG_MORE___179 = 32768,
    MSG_WAITFORONE___179 = 65536,
    MSG_BATCH___179 = 262144,
    MSG_ZEROCOPY___179 = 67108864,
    MSG_FASTOPEN___179 = 536870912,
    MSG_CMSG_CLOEXEC___179 = 1073741824
} ;
enum __anonenum_617082774___179 {
    SCM_RIGHTS___179 = 1,
    SCM_CREDENTIALS___179 = 2
} ;
enum __anonenum_606441560___179 {
    SHUT_RD___179 = 0,
    SHUT_WR___179 = 1,
    SHUT_RDWR___179 = 2
} ;
enum __anonenum_681669233___179 {
    IPPROTO_IP___179 = 0,
    IPPROTO_ICMP___179 = 1,
    IPPROTO_IGMP___179 = 2,
    IPPROTO_IPIP___179 = 4,
    IPPROTO_TCP___179 = 6,
    IPPROTO_EGP___179 = 8,
    IPPROTO_PUP___179 = 12,
    IPPROTO_UDP___179 = 17,
    IPPROTO_IDP___179 = 22,
    IPPROTO_TP___179 = 29,
    IPPROTO_DCCP___179 = 33,
    IPPROTO_IPV6___179 = 41,
    IPPROTO_RSVP___179 = 46,
    IPPROTO_GRE___179 = 47,
    IPPROTO_ESP___179 = 50,
    IPPROTO_AH___179 = 51,
    IPPROTO_MTP___179 = 92,
    IPPROTO_BEETPH___179 = 94,
    IPPROTO_ENCAP___179 = 98,
    IPPROTO_PIM___179 = 103,
    IPPROTO_COMP___179 = 108,
    IPPROTO_SCTP___179 = 132,
    IPPROTO_UDPLITE___179 = 136,
    IPPROTO_MPLS___179 = 137,
    IPPROTO_RAW___179 = 255,
    IPPROTO_MAX___179 = 256
} ;
enum __anonenum_218739988___179 {
    IPPROTO_HOPOPTS___179 = 0,
    IPPROTO_ROUTING___179 = 43,
    IPPROTO_FRAGMENT___179 = 44,
    IPPROTO_ICMPV6___179 = 58,
    IPPROTO_NONE___179 = 59,
    IPPROTO_DSTOPTS___179 = 60,
    IPPROTO_MH___179 = 135
} ;
enum __anonenum_662268580___179 {
    IPPORT_ECHO___179 = 7,
    IPPORT_DISCARD___179 = 9,
    IPPORT_SYSTAT___179 = 11,
    IPPORT_DAYTIME___179 = 13,
    IPPORT_NETSTAT___179 = 15,
    IPPORT_FTP___179 = 21,
    IPPORT_TELNET___179 = 23,
    IPPORT_SMTP___179 = 25,
    IPPORT_TIMESERVER___179 = 37,
    IPPORT_NAMESERVER___179 = 42,
    IPPORT_WHOIS___179 = 43,
    IPPORT_MTP___179 = 57,
    IPPORT_TFTP___179 = 69,
    IPPORT_RJE___179 = 77,
    IPPORT_FINGER___179 = 79,
    IPPORT_TTYLINK___179 = 87,
    IPPORT_SUPDUP___179 = 95,
    IPPORT_EXECSERVER___179 = 512,
    IPPORT_LOGINSERVER___179 = 513,
    IPPORT_CMDSERVER___179 = 514,
    IPPORT_EFSSERVER___179 = 520,
    IPPORT_BIFFUDP___179 = 512,
    IPPORT_WHOSERVER___179 = 513,
    IPPORT_ROUTESERVER___179 = 520,
    IPPORT_RESERVED___179 = 1024,
    IPPORT_USERRESERVED___179 = 5000
} ;
enum __anonenum_788308992___179 {
    TCP_ESTABLISHED___179 = 1,
    TCP_SYN_SENT___179 = 2,
    TCP_SYN_RECV___179 = 3,
    TCP_FIN_WAIT1___179 = 4,
    TCP_FIN_WAIT2___179 = 5,
    TCP_TIME_WAIT___179 = 6,
    TCP_CLOSE___179 = 7,
    TCP_CLOSE_WAIT___179 = 8,
    TCP_LAST_ACK___179 = 9,
    TCP_LISTEN___179 = 10,
    TCP_CLOSING___179 = 11
} ;
enum __anonenum_221125648___179 {
    TCP_NO_QUEUE___179 = 0,
    TCP_RECV_QUEUE___179 = 1,
    TCP_SEND_QUEUE___179 = 2,
    TCP_QUEUES_NR___179 = 3
} ;
enum __anonenum_34415463___179 {
    PTHREAD_CREATE_JOINABLE___179 = 0,
    PTHREAD_CREATE_DETACHED___179 = 1
} ;
enum __anonenum_303612439___179 {
    PTHREAD_MUTEX_TIMED_NP___179 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___179 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___179 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___179 = 3,
    PTHREAD_MUTEX_NORMAL___179 = 0,
    PTHREAD_MUTEX_RECURSIVE___179 = 1,
    PTHREAD_MUTEX_ERRORCHECK___179 = 2,
    PTHREAD_MUTEX_DEFAULT___179 = 0,
    PTHREAD_MUTEX_FAST_NP___179 = 0
} ;
enum __anonenum_931900394___179 {
    PTHREAD_MUTEX_STALLED___179 = 0,
    PTHREAD_MUTEX_STALLED_NP___179 = 0,
    PTHREAD_MUTEX_ROBUST___179 = 1,
    PTHREAD_MUTEX_ROBUST_NP___179 = 1
} ;
enum __anonenum_205214487___179 {
    PTHREAD_PRIO_NONE___179 = 0,
    PTHREAD_PRIO_INHERIT___179 = 1,
    PTHREAD_PRIO_PROTECT___179 = 2
} ;
enum __anonenum_25043950___179 {
    PTHREAD_RWLOCK_PREFER_READER_NP___179 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___179 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___179 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___179 = 0
} ;
enum __anonenum_436439511___179 {
    PTHREAD_INHERIT_SCHED___179 = 0,
    PTHREAD_EXPLICIT_SCHED___179 = 1
} ;
enum __anonenum_998661166___179 {
    PTHREAD_SCOPE_SYSTEM___179 = 0,
    PTHREAD_SCOPE_PROCESS___179 = 1
} ;
enum __anonenum_146137331___179 {
    PTHREAD_PROCESS_PRIVATE___179 = 0,
    PTHREAD_PROCESS_SHARED___179 = 1
} ;
enum __anonenum_53396917___179 {
    PTHREAD_CANCEL_ENABLE___179 = 0,
    PTHREAD_CANCEL_DISABLE___179 = 1
} ;
enum __anonenum_904563783___179 {
    PTHREAD_CANCEL_DEFERRED___179 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___179 = 1
} ;
enum __anonenum_672052974___179 {
    SSL_CT_VALIDATION_PERMISSIVE___179 = 0,
    SSL_CT_VALIDATION_STRICT___179 = 1
} ;
enum __anonenum_437032235___180 {
    _PC_LINK_MAX___180 = 0,
    _PC_MAX_CANON___180 = 1,
    _PC_MAX_INPUT___180 = 2,
    _PC_NAME_MAX___180 = 3,
    _PC_PATH_MAX___180 = 4,
    _PC_PIPE_BUF___180 = 5,
    _PC_CHOWN_RESTRICTED___180 = 6,
    _PC_NO_TRUNC___180 = 7,
    _PC_VDISABLE___180 = 8,
    _PC_SYNC_IO___180 = 9,
    _PC_ASYNC_IO___180 = 10,
    _PC_PRIO_IO___180 = 11,
    _PC_SOCK_MAXBUF___180 = 12,
    _PC_FILESIZEBITS___180 = 13,
    _PC_REC_INCR_XFER_SIZE___180 = 14,
    _PC_REC_MAX_XFER_SIZE___180 = 15,
    _PC_REC_MIN_XFER_SIZE___180 = 16,
    _PC_REC_XFER_ALIGN___180 = 17,
    _PC_ALLOC_SIZE_MIN___180 = 18,
    _PC_SYMLINK_MAX___180 = 19,
    _PC_2_SYMLINKS___180 = 20
} ;
enum __anonenum_315186338___180 {
    _SC_ARG_MAX___180 = 0,
    _SC_CHILD_MAX___180 = 1,
    _SC_CLK_TCK___180 = 2,
    _SC_NGROUPS_MAX___180 = 3,
    _SC_OPEN_MAX___180 = 4,
    _SC_STREAM_MAX___180 = 5,
    _SC_TZNAME_MAX___180 = 6,
    _SC_JOB_CONTROL___180 = 7,
    _SC_SAVED_IDS___180 = 8,
    _SC_REALTIME_SIGNALS___180 = 9,
    _SC_PRIORITY_SCHEDULING___180 = 10,
    _SC_TIMERS___180 = 11,
    _SC_ASYNCHRONOUS_IO___180 = 12,
    _SC_PRIORITIZED_IO___180 = 13,
    _SC_SYNCHRONIZED_IO___180 = 14,
    _SC_FSYNC___180 = 15,
    _SC_MAPPED_FILES___180 = 16,
    _SC_MEMLOCK___180 = 17,
    _SC_MEMLOCK_RANGE___180 = 18,
    _SC_MEMORY_PROTECTION___180 = 19,
    _SC_MESSAGE_PASSING___180 = 20,
    _SC_SEMAPHORES___180 = 21,
    _SC_SHARED_MEMORY_OBJECTS___180 = 22,
    _SC_AIO_LISTIO_MAX___180 = 23,
    _SC_AIO_MAX___180 = 24,
    _SC_AIO_PRIO_DELTA_MAX___180 = 25,
    _SC_DELAYTIMER_MAX___180 = 26,
    _SC_MQ_OPEN_MAX___180 = 27,
    _SC_MQ_PRIO_MAX___180 = 28,
    _SC_VERSION___180 = 29,
    _SC_PAGESIZE___180 = 30,
    _SC_RTSIG_MAX___180 = 31,
    _SC_SEM_NSEMS_MAX___180 = 32,
    _SC_SEM_VALUE_MAX___180 = 33,
    _SC_SIGQUEUE_MAX___180 = 34,
    _SC_TIMER_MAX___180 = 35,
    _SC_BC_BASE_MAX___180 = 36,
    _SC_BC_DIM_MAX___180 = 37,
    _SC_BC_SCALE_MAX___180 = 38,
    _SC_BC_STRING_MAX___180 = 39,
    _SC_COLL_WEIGHTS_MAX___180 = 40,
    _SC_EQUIV_CLASS_MAX___180 = 41,
    _SC_EXPR_NEST_MAX___180 = 42,
    _SC_LINE_MAX___180 = 43,
    _SC_RE_DUP_MAX___180 = 44,
    _SC_CHARCLASS_NAME_MAX___180 = 45,
    _SC_2_VERSION___180 = 46,
    _SC_2_C_BIND___180 = 47,
    _SC_2_C_DEV___180 = 48,
    _SC_2_FORT_DEV___180 = 49,
    _SC_2_FORT_RUN___180 = 50,
    _SC_2_SW_DEV___180 = 51,
    _SC_2_LOCALEDEF___180 = 52,
    _SC_PII___180 = 53,
    _SC_PII_XTI___180 = 54,
    _SC_PII_SOCKET___180 = 55,
    _SC_PII_INTERNET___180 = 56,
    _SC_PII_OSI___180 = 57,
    _SC_POLL___180 = 58,
    _SC_SELECT___180 = 59,
    _SC_UIO_MAXIOV___180 = 60,
    _SC_IOV_MAX___180 = 60,
    _SC_PII_INTERNET_STREAM___180 = 61,
    _SC_PII_INTERNET_DGRAM___180 = 62,
    _SC_PII_OSI_COTS___180 = 63,
    _SC_PII_OSI_CLTS___180 = 64,
    _SC_PII_OSI_M___180 = 65,
    _SC_T_IOV_MAX___180 = 66,
    _SC_THREADS___180 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___180 = 68,
    _SC_GETGR_R_SIZE_MAX___180 = 69,
    _SC_GETPW_R_SIZE_MAX___180 = 70,
    _SC_LOGIN_NAME_MAX___180 = 71,
    _SC_TTY_NAME_MAX___180 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___180 = 73,
    _SC_THREAD_KEYS_MAX___180 = 74,
    _SC_THREAD_STACK_MIN___180 = 75,
    _SC_THREAD_THREADS_MAX___180 = 76,
    _SC_THREAD_ATTR_STACKADDR___180 = 77,
    _SC_THREAD_ATTR_STACKSIZE___180 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___180 = 79,
    _SC_THREAD_PRIO_INHERIT___180 = 80,
    _SC_THREAD_PRIO_PROTECT___180 = 81,
    _SC_THREAD_PROCESS_SHARED___180 = 82,
    _SC_NPROCESSORS_CONF___180 = 83,
    _SC_NPROCESSORS_ONLN___180 = 84,
    _SC_PHYS_PAGES___180 = 85,
    _SC_AVPHYS_PAGES___180 = 86,
    _SC_ATEXIT_MAX___180 = 87,
    _SC_PASS_MAX___180 = 88,
    _SC_XOPEN_VERSION___180 = 89,
    _SC_XOPEN_XCU_VERSION___180 = 90,
    _SC_XOPEN_UNIX___180 = 91,
    _SC_XOPEN_CRYPT___180 = 92,
    _SC_XOPEN_ENH_I18N___180 = 93,
    _SC_XOPEN_SHM___180 = 94,
    _SC_2_CHAR_TERM___180 = 95,
    _SC_2_C_VERSION___180 = 96,
    _SC_2_UPE___180 = 97,
    _SC_XOPEN_XPG2___180 = 98,
    _SC_XOPEN_XPG3___180 = 99,
    _SC_XOPEN_XPG4___180 = 100,
    _SC_CHAR_BIT___180 = 101,
    _SC_CHAR_MAX___180 = 102,
    _SC_CHAR_MIN___180 = 103,
    _SC_INT_MAX___180 = 104,
    _SC_INT_MIN___180 = 105,
    _SC_LONG_BIT___180 = 106,
    _SC_WORD_BIT___180 = 107,
    _SC_MB_LEN_MAX___180 = 108,
    _SC_NZERO___180 = 109,
    _SC_SSIZE_MAX___180 = 110,
    _SC_SCHAR_MAX___180 = 111,
    _SC_SCHAR_MIN___180 = 112,
    _SC_SHRT_MAX___180 = 113,
    _SC_SHRT_MIN___180 = 114,
    _SC_UCHAR_MAX___180 = 115,
    _SC_UINT_MAX___180 = 116,
    _SC_ULONG_MAX___180 = 117,
    _SC_USHRT_MAX___180 = 118,
    _SC_NL_ARGMAX___180 = 119,
    _SC_NL_LANGMAX___180 = 120,
    _SC_NL_MSGMAX___180 = 121,
    _SC_NL_NMAX___180 = 122,
    _SC_NL_SETMAX___180 = 123,
    _SC_NL_TEXTMAX___180 = 124,
    _SC_XBS5_ILP32_OFF32___180 = 125,
    _SC_XBS5_ILP32_OFFBIG___180 = 126,
    _SC_XBS5_LP64_OFF64___180 = 127,
    _SC_XBS5_LPBIG_OFFBIG___180 = 128,
    _SC_XOPEN_LEGACY___180 = 129,
    _SC_XOPEN_REALTIME___180 = 130,
    _SC_XOPEN_REALTIME_THREADS___180 = 131,
    _SC_ADVISORY_INFO___180 = 132,
    _SC_BARRIERS___180 = 133,
    _SC_BASE___180 = 134,
    _SC_C_LANG_SUPPORT___180 = 135,
    _SC_C_LANG_SUPPORT_R___180 = 136,
    _SC_CLOCK_SELECTION___180 = 137,
    _SC_CPUTIME___180 = 138,
    _SC_THREAD_CPUTIME___180 = 139,
    _SC_DEVICE_IO___180 = 140,
    _SC_DEVICE_SPECIFIC___180 = 141,
    _SC_DEVICE_SPECIFIC_R___180 = 142,
    _SC_FD_MGMT___180 = 143,
    _SC_FIFO___180 = 144,
    _SC_PIPE___180 = 145,
    _SC_FILE_ATTRIBUTES___180 = 146,
    _SC_FILE_LOCKING___180 = 147,
    _SC_FILE_SYSTEM___180 = 148,
    _SC_MONOTONIC_CLOCK___180 = 149,
    _SC_MULTI_PROCESS___180 = 150,
    _SC_SINGLE_PROCESS___180 = 151,
    _SC_NETWORKING___180 = 152,
    _SC_READER_WRITER_LOCKS___180 = 153,
    _SC_SPIN_LOCKS___180 = 154,
    _SC_REGEXP___180 = 155,
    _SC_REGEX_VERSION___180 = 156,
    _SC_SHELL___180 = 157,
    _SC_SIGNALS___180 = 158,
    _SC_SPAWN___180 = 159,
    _SC_SPORADIC_SERVER___180 = 160,
    _SC_THREAD_SPORADIC_SERVER___180 = 161,
    _SC_SYSTEM_DATABASE___180 = 162,
    _SC_SYSTEM_DATABASE_R___180 = 163,
    _SC_TIMEOUTS___180 = 164,
    _SC_TYPED_MEMORY_OBJECTS___180 = 165,
    _SC_USER_GROUPS___180 = 166,
    _SC_USER_GROUPS_R___180 = 167,
    _SC_2_PBS___180 = 168,
    _SC_2_PBS_ACCOUNTING___180 = 169,
    _SC_2_PBS_LOCATE___180 = 170,
    _SC_2_PBS_MESSAGE___180 = 171,
    _SC_2_PBS_TRACK___180 = 172,
    _SC_SYMLOOP_MAX___180 = 173,
    _SC_STREAMS___180 = 174,
    _SC_2_PBS_CHECKPOINT___180 = 175,
    _SC_V6_ILP32_OFF32___180 = 176,
    _SC_V6_ILP32_OFFBIG___180 = 177,
    _SC_V6_LP64_OFF64___180 = 178,
    _SC_V6_LPBIG_OFFBIG___180 = 179,
    _SC_HOST_NAME_MAX___180 = 180,
    _SC_TRACE___180 = 181,
    _SC_TRACE_EVENT_FILTER___180 = 182,
    _SC_TRACE_INHERIT___180 = 183,
    _SC_TRACE_LOG___180 = 184,
    _SC_LEVEL1_ICACHE_SIZE___180 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___180 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___180 = 187,
    _SC_LEVEL1_DCACHE_SIZE___180 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___180 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___180 = 190,
    _SC_LEVEL2_CACHE_SIZE___180 = 191,
    _SC_LEVEL2_CACHE_ASSOC___180 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___180 = 193,
    _SC_LEVEL3_CACHE_SIZE___180 = 194,
    _SC_LEVEL3_CACHE_ASSOC___180 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___180 = 196,
    _SC_LEVEL4_CACHE_SIZE___180 = 197,
    _SC_LEVEL4_CACHE_ASSOC___180 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___180 = 199,
    _SC_IPV6___180 = 235,
    _SC_RAW_SOCKETS___180 = 236,
    _SC_V7_ILP32_OFF32___180 = 237,
    _SC_V7_ILP32_OFFBIG___180 = 238,
    _SC_V7_LP64_OFF64___180 = 239,
    _SC_V7_LPBIG_OFFBIG___180 = 240,
    _SC_SS_REPL_MAX___180 = 241,
    _SC_TRACE_EVENT_NAME_MAX___180 = 242,
    _SC_TRACE_NAME_MAX___180 = 243,
    _SC_TRACE_SYS_MAX___180 = 244,
    _SC_TRACE_USER_EVENT_MAX___180 = 245,
    _SC_XOPEN_STREAMS___180 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___180 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___180 = 248
} ;
enum __anonenum_875524036___180 {
    _CS_PATH___180 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___180 = 1,
    _CS_GNU_LIBC_VERSION___180 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___180 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___180 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___180 = 5,
    _CS_LFS_CFLAGS___180 = 1000,
    _CS_LFS_LDFLAGS___180 = 1001,
    _CS_LFS_LIBS___180 = 1002,
    _CS_LFS_LINTFLAGS___180 = 1003,
    _CS_LFS64_CFLAGS___180 = 1004,
    _CS_LFS64_LDFLAGS___180 = 1005,
    _CS_LFS64_LIBS___180 = 1006,
    _CS_LFS64_LINTFLAGS___180 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___180 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___180 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___180 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___180 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___180 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___180 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___180 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___180 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___180 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___180 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___180 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___180 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___180 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___180 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___180 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___180 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___180 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___180 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___180 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___180 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___180 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___180 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___180 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___180 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___180 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___180 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___180 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___180 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___180 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___180 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___180 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___180 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___180 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___180 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___180 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___180 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___180 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___180 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___180 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___180 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___180 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___180 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___180 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___180 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___180 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___180 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___180 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___180 = 1147,
    _CS_V6_ENV___180 = 1148,
    _CS_V7_ENV___180 = 1149
} ;
enum __anonenum_513775621___180 {
    DT_UNKNOWN___180 = 0,
    DT_FIFO___180 = 1,
    DT_CHR___180 = 2,
    DT_DIR___180 = 4,
    DT_BLK___180 = 6,
    DT_REG___180 = 8,
    DT_LNK___180 = 10,
    DT_SOCK___180 = 12,
    DT_WHT___180 = 14
} ;
enum __anonenum_77002343___180 {
    SI_ASYNCNL___180 = -60,
    SI_TKILL___180 = -6,
    SI_SIGIO___180 = -5,
    SI_ASYNCIO___180 = -4,
    SI_MESGQ___180 = -3,
    SI_TIMER___180 = -2,
    SI_QUEUE___180 = -1,
    SI_USER___180 = 0,
    SI_KERNEL___180 = 128
} ;
enum __anonenum_131038172___180 {
    ILL_ILLOPC___180 = 1,
    ILL_ILLOPN___180 = 2,
    ILL_ILLADR___180 = 3,
    ILL_ILLTRP___180 = 4,
    ILL_PRVOPC___180 = 5,
    ILL_PRVREG___180 = 6,
    ILL_COPROC___180 = 7,
    ILL_BADSTK___180 = 8
} ;
enum __anonenum_452038093___180 {
    FPE_INTDIV___180 = 1,
    FPE_INTOVF___180 = 2,
    FPE_FLTDIV___180 = 3,
    FPE_FLTOVF___180 = 4,
    FPE_FLTUND___180 = 5,
    FPE_FLTRES___180 = 6,
    FPE_FLTINV___180 = 7,
    FPE_FLTSUB___180 = 8
} ;
enum __anonenum_30976155___180 {
    SEGV_MAPERR___180 = 1,
    SEGV_ACCERR___180 = 2,
    SEGV_BNDERR___180 = 3,
    SEGV_PKUERR___180 = 4
} ;
enum __anonenum_1036286214___180 {
    BUS_ADRALN___180 = 1,
    BUS_ADRERR___180 = 2,
    BUS_OBJERR___180 = 3,
    BUS_MCEERR_AR___180 = 4,
    BUS_MCEERR_AO___180 = 5
} ;
enum __anonenum_493465559___180 {
    TRAP_BRKPT___180 = 1,
    TRAP_TRACE___180 = 2
} ;
enum __anonenum_23175539___180 {
    CLD_EXITED___180 = 1,
    CLD_KILLED___180 = 2,
    CLD_DUMPED___180 = 3,
    CLD_TRAPPED___180 = 4,
    CLD_STOPPED___180 = 5,
    CLD_CONTINUED___180 = 6
} ;
enum __anonenum_111643124___180 {
    POLL_IN___180 = 1,
    POLL_OUT___180 = 2,
    POLL_MSG___180 = 3,
    POLL_ERR___180 = 4,
    POLL_PRI___180 = 5,
    POLL_HUP___180 = 6
} ;
enum __anonenum_852341087___180 {
    SIGEV_SIGNAL___180 = 0,
    SIGEV_NONE___180 = 1,
    SIGEV_THREAD___180 = 2,
    SIGEV_THREAD_ID___180 = 4
} ;
enum __anonenum_451154152___180 {
    REG_R8___180 = 0,
    REG_R9___180 = 1,
    REG_R10___180 = 2,
    REG_R11___180 = 3,
    REG_R12___180 = 4,
    REG_R13___180 = 5,
    REG_R14___180 = 6,
    REG_R15___180 = 7,
    REG_RDI___180 = 8,
    REG_RSI___180 = 9,
    REG_RBP___180 = 10,
    REG_RBX___180 = 11,
    REG_RDX___180 = 12,
    REG_RAX___180 = 13,
    REG_RCX___180 = 14,
    REG_RSP___180 = 15,
    REG_RIP___180 = 16,
    REG_EFL___180 = 17,
    REG_CSGSFS___180 = 18,
    REG_ERR___180 = 19,
    REG_TRAPNO___180 = 20,
    REG_OLDMASK___180 = 21,
    REG_CR2___180 = 22
} ;
enum __anonenum_57186863___180 {
    SS_ONSTACK___180 = 1,
    SS_DISABLE___180 = 2
} ;
enum __anonenum_83571709___180 {
    MSG_OOB___180 = 1,
    MSG_PEEK___180 = 2,
    MSG_DONTROUTE___180 = 4,
    MSG_TRYHARD___180 = 4,
    MSG_CTRUNC___180 = 8,
    MSG_PROXY___180 = 16,
    MSG_TRUNC___180 = 32,
    MSG_DONTWAIT___180 = 64,
    MSG_EOR___180 = 128,
    MSG_WAITALL___180 = 256,
    MSG_FIN___180 = 512,
    MSG_SYN___180 = 1024,
    MSG_CONFIRM___180 = 2048,
    MSG_RST___180 = 4096,
    MSG_ERRQUEUE___180 = 8192,
    MSG_NOSIGNAL___180 = 16384,
    MSG_MORE___180 = 32768,
    MSG_WAITFORONE___180 = 65536,
    MSG_BATCH___180 = 262144,
    MSG_ZEROCOPY___180 = 67108864,
    MSG_FASTOPEN___180 = 536870912,
    MSG_CMSG_CLOEXEC___180 = 1073741824
} ;
enum __anonenum_617082774___180 {
    SCM_RIGHTS___180 = 1,
    SCM_CREDENTIALS___180 = 2
} ;
enum __anonenum_606441560___180 {
    SHUT_RD___180 = 0,
    SHUT_WR___180 = 1,
    SHUT_RDWR___180 = 2
} ;
enum __anonenum_681669233___180 {
    IPPROTO_IP___180 = 0,
    IPPROTO_ICMP___180 = 1,
    IPPROTO_IGMP___180 = 2,
    IPPROTO_IPIP___180 = 4,
    IPPROTO_TCP___180 = 6,
    IPPROTO_EGP___180 = 8,
    IPPROTO_PUP___180 = 12,
    IPPROTO_UDP___180 = 17,
    IPPROTO_IDP___180 = 22,
    IPPROTO_TP___180 = 29,
    IPPROTO_DCCP___180 = 33,
    IPPROTO_IPV6___180 = 41,
    IPPROTO_RSVP___180 = 46,
    IPPROTO_GRE___180 = 47,
    IPPROTO_ESP___180 = 50,
    IPPROTO_AH___180 = 51,
    IPPROTO_MTP___180 = 92,
    IPPROTO_BEETPH___180 = 94,
    IPPROTO_ENCAP___180 = 98,
    IPPROTO_PIM___180 = 103,
    IPPROTO_COMP___180 = 108,
    IPPROTO_SCTP___180 = 132,
    IPPROTO_UDPLITE___180 = 136,
    IPPROTO_MPLS___180 = 137,
    IPPROTO_RAW___180 = 255,
    IPPROTO_MAX___180 = 256
} ;
enum __anonenum_218739988___180 {
    IPPROTO_HOPOPTS___180 = 0,
    IPPROTO_ROUTING___180 = 43,
    IPPROTO_FRAGMENT___180 = 44,
    IPPROTO_ICMPV6___180 = 58,
    IPPROTO_NONE___180 = 59,
    IPPROTO_DSTOPTS___180 = 60,
    IPPROTO_MH___180 = 135
} ;
enum __anonenum_662268580___180 {
    IPPORT_ECHO___180 = 7,
    IPPORT_DISCARD___180 = 9,
    IPPORT_SYSTAT___180 = 11,
    IPPORT_DAYTIME___180 = 13,
    IPPORT_NETSTAT___180 = 15,
    IPPORT_FTP___180 = 21,
    IPPORT_TELNET___180 = 23,
    IPPORT_SMTP___180 = 25,
    IPPORT_TIMESERVER___180 = 37,
    IPPORT_NAMESERVER___180 = 42,
    IPPORT_WHOIS___180 = 43,
    IPPORT_MTP___180 = 57,
    IPPORT_TFTP___180 = 69,
    IPPORT_RJE___180 = 77,
    IPPORT_FINGER___180 = 79,
    IPPORT_TTYLINK___180 = 87,
    IPPORT_SUPDUP___180 = 95,
    IPPORT_EXECSERVER___180 = 512,
    IPPORT_LOGINSERVER___180 = 513,
    IPPORT_CMDSERVER___180 = 514,
    IPPORT_EFSSERVER___180 = 520,
    IPPORT_BIFFUDP___180 = 512,
    IPPORT_WHOSERVER___180 = 513,
    IPPORT_ROUTESERVER___180 = 520,
    IPPORT_RESERVED___180 = 1024,
    IPPORT_USERRESERVED___180 = 5000
} ;
enum __anonenum_788308992___180 {
    TCP_ESTABLISHED___180 = 1,
    TCP_SYN_SENT___180 = 2,
    TCP_SYN_RECV___180 = 3,
    TCP_FIN_WAIT1___180 = 4,
    TCP_FIN_WAIT2___180 = 5,
    TCP_TIME_WAIT___180 = 6,
    TCP_CLOSE___180 = 7,
    TCP_CLOSE_WAIT___180 = 8,
    TCP_LAST_ACK___180 = 9,
    TCP_LISTEN___180 = 10,
    TCP_CLOSING___180 = 11
} ;
enum __anonenum_221125648___180 {
    TCP_NO_QUEUE___180 = 0,
    TCP_RECV_QUEUE___180 = 1,
    TCP_SEND_QUEUE___180 = 2,
    TCP_QUEUES_NR___180 = 3
} ;
enum __anonenum_34415463___180 {
    PTHREAD_CREATE_JOINABLE___180 = 0,
    PTHREAD_CREATE_DETACHED___180 = 1
} ;
enum __anonenum_303612439___180 {
    PTHREAD_MUTEX_TIMED_NP___180 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___180 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___180 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___180 = 3,
    PTHREAD_MUTEX_NORMAL___180 = 0,
    PTHREAD_MUTEX_RECURSIVE___180 = 1,
    PTHREAD_MUTEX_ERRORCHECK___180 = 2,
    PTHREAD_MUTEX_DEFAULT___180 = 0,
    PTHREAD_MUTEX_FAST_NP___180 = 0
} ;
enum __anonenum_931900394___180 {
    PTHREAD_MUTEX_STALLED___180 = 0,
    PTHREAD_MUTEX_STALLED_NP___180 = 0,
    PTHREAD_MUTEX_ROBUST___180 = 1,
    PTHREAD_MUTEX_ROBUST_NP___180 = 1
} ;
enum __anonenum_205214487___180 {
    PTHREAD_PRIO_NONE___180 = 0,
    PTHREAD_PRIO_INHERIT___180 = 1,
    PTHREAD_PRIO_PROTECT___180 = 2
} ;
enum __anonenum_25043950___180 {
    PTHREAD_RWLOCK_PREFER_READER_NP___180 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___180 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___180 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___180 = 0
} ;
enum __anonenum_436439511___180 {
    PTHREAD_INHERIT_SCHED___180 = 0,
    PTHREAD_EXPLICIT_SCHED___180 = 1
} ;
enum __anonenum_998661166___180 {
    PTHREAD_SCOPE_SYSTEM___180 = 0,
    PTHREAD_SCOPE_PROCESS___180 = 1
} ;
enum __anonenum_146137331___180 {
    PTHREAD_PROCESS_PRIVATE___180 = 0,
    PTHREAD_PROCESS_SHARED___180 = 1
} ;
enum __anonenum_53396917___180 {
    PTHREAD_CANCEL_ENABLE___180 = 0,
    PTHREAD_CANCEL_DISABLE___180 = 1
} ;
enum __anonenum_904563783___180 {
    PTHREAD_CANCEL_DEFERRED___180 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___180 = 1
} ;
enum __anonenum_672052974___180 {
    SSL_CT_VALIDATION_PERMISSIVE___180 = 0,
    SSL_CT_VALIDATION_STRICT___180 = 1
} ;
enum __anonenum_437032235___181 {
    _PC_LINK_MAX___181 = 0,
    _PC_MAX_CANON___181 = 1,
    _PC_MAX_INPUT___181 = 2,
    _PC_NAME_MAX___181 = 3,
    _PC_PATH_MAX___181 = 4,
    _PC_PIPE_BUF___181 = 5,
    _PC_CHOWN_RESTRICTED___181 = 6,
    _PC_NO_TRUNC___181 = 7,
    _PC_VDISABLE___181 = 8,
    _PC_SYNC_IO___181 = 9,
    _PC_ASYNC_IO___181 = 10,
    _PC_PRIO_IO___181 = 11,
    _PC_SOCK_MAXBUF___181 = 12,
    _PC_FILESIZEBITS___181 = 13,
    _PC_REC_INCR_XFER_SIZE___181 = 14,
    _PC_REC_MAX_XFER_SIZE___181 = 15,
    _PC_REC_MIN_XFER_SIZE___181 = 16,
    _PC_REC_XFER_ALIGN___181 = 17,
    _PC_ALLOC_SIZE_MIN___181 = 18,
    _PC_SYMLINK_MAX___181 = 19,
    _PC_2_SYMLINKS___181 = 20
} ;
enum __anonenum_315186338___181 {
    _SC_ARG_MAX___181 = 0,
    _SC_CHILD_MAX___181 = 1,
    _SC_CLK_TCK___181 = 2,
    _SC_NGROUPS_MAX___181 = 3,
    _SC_OPEN_MAX___181 = 4,
    _SC_STREAM_MAX___181 = 5,
    _SC_TZNAME_MAX___181 = 6,
    _SC_JOB_CONTROL___181 = 7,
    _SC_SAVED_IDS___181 = 8,
    _SC_REALTIME_SIGNALS___181 = 9,
    _SC_PRIORITY_SCHEDULING___181 = 10,
    _SC_TIMERS___181 = 11,
    _SC_ASYNCHRONOUS_IO___181 = 12,
    _SC_PRIORITIZED_IO___181 = 13,
    _SC_SYNCHRONIZED_IO___181 = 14,
    _SC_FSYNC___181 = 15,
    _SC_MAPPED_FILES___181 = 16,
    _SC_MEMLOCK___181 = 17,
    _SC_MEMLOCK_RANGE___181 = 18,
    _SC_MEMORY_PROTECTION___181 = 19,
    _SC_MESSAGE_PASSING___181 = 20,
    _SC_SEMAPHORES___181 = 21,
    _SC_SHARED_MEMORY_OBJECTS___181 = 22,
    _SC_AIO_LISTIO_MAX___181 = 23,
    _SC_AIO_MAX___181 = 24,
    _SC_AIO_PRIO_DELTA_MAX___181 = 25,
    _SC_DELAYTIMER_MAX___181 = 26,
    _SC_MQ_OPEN_MAX___181 = 27,
    _SC_MQ_PRIO_MAX___181 = 28,
    _SC_VERSION___181 = 29,
    _SC_PAGESIZE___181 = 30,
    _SC_RTSIG_MAX___181 = 31,
    _SC_SEM_NSEMS_MAX___181 = 32,
    _SC_SEM_VALUE_MAX___181 = 33,
    _SC_SIGQUEUE_MAX___181 = 34,
    _SC_TIMER_MAX___181 = 35,
    _SC_BC_BASE_MAX___181 = 36,
    _SC_BC_DIM_MAX___181 = 37,
    _SC_BC_SCALE_MAX___181 = 38,
    _SC_BC_STRING_MAX___181 = 39,
    _SC_COLL_WEIGHTS_MAX___181 = 40,
    _SC_EQUIV_CLASS_MAX___181 = 41,
    _SC_EXPR_NEST_MAX___181 = 42,
    _SC_LINE_MAX___181 = 43,
    _SC_RE_DUP_MAX___181 = 44,
    _SC_CHARCLASS_NAME_MAX___181 = 45,
    _SC_2_VERSION___181 = 46,
    _SC_2_C_BIND___181 = 47,
    _SC_2_C_DEV___181 = 48,
    _SC_2_FORT_DEV___181 = 49,
    _SC_2_FORT_RUN___181 = 50,
    _SC_2_SW_DEV___181 = 51,
    _SC_2_LOCALEDEF___181 = 52,
    _SC_PII___181 = 53,
    _SC_PII_XTI___181 = 54,
    _SC_PII_SOCKET___181 = 55,
    _SC_PII_INTERNET___181 = 56,
    _SC_PII_OSI___181 = 57,
    _SC_POLL___181 = 58,
    _SC_SELECT___181 = 59,
    _SC_UIO_MAXIOV___181 = 60,
    _SC_IOV_MAX___181 = 60,
    _SC_PII_INTERNET_STREAM___181 = 61,
    _SC_PII_INTERNET_DGRAM___181 = 62,
    _SC_PII_OSI_COTS___181 = 63,
    _SC_PII_OSI_CLTS___181 = 64,
    _SC_PII_OSI_M___181 = 65,
    _SC_T_IOV_MAX___181 = 66,
    _SC_THREADS___181 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___181 = 68,
    _SC_GETGR_R_SIZE_MAX___181 = 69,
    _SC_GETPW_R_SIZE_MAX___181 = 70,
    _SC_LOGIN_NAME_MAX___181 = 71,
    _SC_TTY_NAME_MAX___181 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___181 = 73,
    _SC_THREAD_KEYS_MAX___181 = 74,
    _SC_THREAD_STACK_MIN___181 = 75,
    _SC_THREAD_THREADS_MAX___181 = 76,
    _SC_THREAD_ATTR_STACKADDR___181 = 77,
    _SC_THREAD_ATTR_STACKSIZE___181 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___181 = 79,
    _SC_THREAD_PRIO_INHERIT___181 = 80,
    _SC_THREAD_PRIO_PROTECT___181 = 81,
    _SC_THREAD_PROCESS_SHARED___181 = 82,
    _SC_NPROCESSORS_CONF___181 = 83,
    _SC_NPROCESSORS_ONLN___181 = 84,
    _SC_PHYS_PAGES___181 = 85,
    _SC_AVPHYS_PAGES___181 = 86,
    _SC_ATEXIT_MAX___181 = 87,
    _SC_PASS_MAX___181 = 88,
    _SC_XOPEN_VERSION___181 = 89,
    _SC_XOPEN_XCU_VERSION___181 = 90,
    _SC_XOPEN_UNIX___181 = 91,
    _SC_XOPEN_CRYPT___181 = 92,
    _SC_XOPEN_ENH_I18N___181 = 93,
    _SC_XOPEN_SHM___181 = 94,
    _SC_2_CHAR_TERM___181 = 95,
    _SC_2_C_VERSION___181 = 96,
    _SC_2_UPE___181 = 97,
    _SC_XOPEN_XPG2___181 = 98,
    _SC_XOPEN_XPG3___181 = 99,
    _SC_XOPEN_XPG4___181 = 100,
    _SC_CHAR_BIT___181 = 101,
    _SC_CHAR_MAX___181 = 102,
    _SC_CHAR_MIN___181 = 103,
    _SC_INT_MAX___181 = 104,
    _SC_INT_MIN___181 = 105,
    _SC_LONG_BIT___181 = 106,
    _SC_WORD_BIT___181 = 107,
    _SC_MB_LEN_MAX___181 = 108,
    _SC_NZERO___181 = 109,
    _SC_SSIZE_MAX___181 = 110,
    _SC_SCHAR_MAX___181 = 111,
    _SC_SCHAR_MIN___181 = 112,
    _SC_SHRT_MAX___181 = 113,
    _SC_SHRT_MIN___181 = 114,
    _SC_UCHAR_MAX___181 = 115,
    _SC_UINT_MAX___181 = 116,
    _SC_ULONG_MAX___181 = 117,
    _SC_USHRT_MAX___181 = 118,
    _SC_NL_ARGMAX___181 = 119,
    _SC_NL_LANGMAX___181 = 120,
    _SC_NL_MSGMAX___181 = 121,
    _SC_NL_NMAX___181 = 122,
    _SC_NL_SETMAX___181 = 123,
    _SC_NL_TEXTMAX___181 = 124,
    _SC_XBS5_ILP32_OFF32___181 = 125,
    _SC_XBS5_ILP32_OFFBIG___181 = 126,
    _SC_XBS5_LP64_OFF64___181 = 127,
    _SC_XBS5_LPBIG_OFFBIG___181 = 128,
    _SC_XOPEN_LEGACY___181 = 129,
    _SC_XOPEN_REALTIME___181 = 130,
    _SC_XOPEN_REALTIME_THREADS___181 = 131,
    _SC_ADVISORY_INFO___181 = 132,
    _SC_BARRIERS___181 = 133,
    _SC_BASE___181 = 134,
    _SC_C_LANG_SUPPORT___181 = 135,
    _SC_C_LANG_SUPPORT_R___181 = 136,
    _SC_CLOCK_SELECTION___181 = 137,
    _SC_CPUTIME___181 = 138,
    _SC_THREAD_CPUTIME___181 = 139,
    _SC_DEVICE_IO___181 = 140,
    _SC_DEVICE_SPECIFIC___181 = 141,
    _SC_DEVICE_SPECIFIC_R___181 = 142,
    _SC_FD_MGMT___181 = 143,
    _SC_FIFO___181 = 144,
    _SC_PIPE___181 = 145,
    _SC_FILE_ATTRIBUTES___181 = 146,
    _SC_FILE_LOCKING___181 = 147,
    _SC_FILE_SYSTEM___181 = 148,
    _SC_MONOTONIC_CLOCK___181 = 149,
    _SC_MULTI_PROCESS___181 = 150,
    _SC_SINGLE_PROCESS___181 = 151,
    _SC_NETWORKING___181 = 152,
    _SC_READER_WRITER_LOCKS___181 = 153,
    _SC_SPIN_LOCKS___181 = 154,
    _SC_REGEXP___181 = 155,
    _SC_REGEX_VERSION___181 = 156,
    _SC_SHELL___181 = 157,
    _SC_SIGNALS___181 = 158,
    _SC_SPAWN___181 = 159,
    _SC_SPORADIC_SERVER___181 = 160,
    _SC_THREAD_SPORADIC_SERVER___181 = 161,
    _SC_SYSTEM_DATABASE___181 = 162,
    _SC_SYSTEM_DATABASE_R___181 = 163,
    _SC_TIMEOUTS___181 = 164,
    _SC_TYPED_MEMORY_OBJECTS___181 = 165,
    _SC_USER_GROUPS___181 = 166,
    _SC_USER_GROUPS_R___181 = 167,
    _SC_2_PBS___181 = 168,
    _SC_2_PBS_ACCOUNTING___181 = 169,
    _SC_2_PBS_LOCATE___181 = 170,
    _SC_2_PBS_MESSAGE___181 = 171,
    _SC_2_PBS_TRACK___181 = 172,
    _SC_SYMLOOP_MAX___181 = 173,
    _SC_STREAMS___181 = 174,
    _SC_2_PBS_CHECKPOINT___181 = 175,
    _SC_V6_ILP32_OFF32___181 = 176,
    _SC_V6_ILP32_OFFBIG___181 = 177,
    _SC_V6_LP64_OFF64___181 = 178,
    _SC_V6_LPBIG_OFFBIG___181 = 179,
    _SC_HOST_NAME_MAX___181 = 180,
    _SC_TRACE___181 = 181,
    _SC_TRACE_EVENT_FILTER___181 = 182,
    _SC_TRACE_INHERIT___181 = 183,
    _SC_TRACE_LOG___181 = 184,
    _SC_LEVEL1_ICACHE_SIZE___181 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___181 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___181 = 187,
    _SC_LEVEL1_DCACHE_SIZE___181 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___181 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___181 = 190,
    _SC_LEVEL2_CACHE_SIZE___181 = 191,
    _SC_LEVEL2_CACHE_ASSOC___181 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___181 = 193,
    _SC_LEVEL3_CACHE_SIZE___181 = 194,
    _SC_LEVEL3_CACHE_ASSOC___181 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___181 = 196,
    _SC_LEVEL4_CACHE_SIZE___181 = 197,
    _SC_LEVEL4_CACHE_ASSOC___181 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___181 = 199,
    _SC_IPV6___181 = 235,
    _SC_RAW_SOCKETS___181 = 236,
    _SC_V7_ILP32_OFF32___181 = 237,
    _SC_V7_ILP32_OFFBIG___181 = 238,
    _SC_V7_LP64_OFF64___181 = 239,
    _SC_V7_LPBIG_OFFBIG___181 = 240,
    _SC_SS_REPL_MAX___181 = 241,
    _SC_TRACE_EVENT_NAME_MAX___181 = 242,
    _SC_TRACE_NAME_MAX___181 = 243,
    _SC_TRACE_SYS_MAX___181 = 244,
    _SC_TRACE_USER_EVENT_MAX___181 = 245,
    _SC_XOPEN_STREAMS___181 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___181 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___181 = 248
} ;
enum __anonenum_875524036___181 {
    _CS_PATH___181 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___181 = 1,
    _CS_GNU_LIBC_VERSION___181 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___181 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___181 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___181 = 5,
    _CS_LFS_CFLAGS___181 = 1000,
    _CS_LFS_LDFLAGS___181 = 1001,
    _CS_LFS_LIBS___181 = 1002,
    _CS_LFS_LINTFLAGS___181 = 1003,
    _CS_LFS64_CFLAGS___181 = 1004,
    _CS_LFS64_LDFLAGS___181 = 1005,
    _CS_LFS64_LIBS___181 = 1006,
    _CS_LFS64_LINTFLAGS___181 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___181 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___181 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___181 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___181 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___181 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___181 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___181 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___181 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___181 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___181 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___181 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___181 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___181 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___181 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___181 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___181 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___181 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___181 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___181 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___181 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___181 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___181 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___181 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___181 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___181 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___181 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___181 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___181 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___181 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___181 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___181 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___181 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___181 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___181 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___181 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___181 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___181 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___181 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___181 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___181 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___181 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___181 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___181 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___181 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___181 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___181 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___181 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___181 = 1147,
    _CS_V6_ENV___181 = 1148,
    _CS_V7_ENV___181 = 1149
} ;
enum __anonenum_513775621___181 {
    DT_UNKNOWN___181 = 0,
    DT_FIFO___181 = 1,
    DT_CHR___181 = 2,
    DT_DIR___181 = 4,
    DT_BLK___181 = 6,
    DT_REG___181 = 8,
    DT_LNK___181 = 10,
    DT_SOCK___181 = 12,
    DT_WHT___181 = 14
} ;
enum __anonenum_77002343___181 {
    SI_ASYNCNL___181 = -60,
    SI_TKILL___181 = -6,
    SI_SIGIO___181 = -5,
    SI_ASYNCIO___181 = -4,
    SI_MESGQ___181 = -3,
    SI_TIMER___181 = -2,
    SI_QUEUE___181 = -1,
    SI_USER___181 = 0,
    SI_KERNEL___181 = 128
} ;
enum __anonenum_131038172___181 {
    ILL_ILLOPC___181 = 1,
    ILL_ILLOPN___181 = 2,
    ILL_ILLADR___181 = 3,
    ILL_ILLTRP___181 = 4,
    ILL_PRVOPC___181 = 5,
    ILL_PRVREG___181 = 6,
    ILL_COPROC___181 = 7,
    ILL_BADSTK___181 = 8
} ;
enum __anonenum_452038093___181 {
    FPE_INTDIV___181 = 1,
    FPE_INTOVF___181 = 2,
    FPE_FLTDIV___181 = 3,
    FPE_FLTOVF___181 = 4,
    FPE_FLTUND___181 = 5,
    FPE_FLTRES___181 = 6,
    FPE_FLTINV___181 = 7,
    FPE_FLTSUB___181 = 8
} ;
enum __anonenum_30976155___181 {
    SEGV_MAPERR___181 = 1,
    SEGV_ACCERR___181 = 2,
    SEGV_BNDERR___181 = 3,
    SEGV_PKUERR___181 = 4
} ;
enum __anonenum_1036286214___181 {
    BUS_ADRALN___181 = 1,
    BUS_ADRERR___181 = 2,
    BUS_OBJERR___181 = 3,
    BUS_MCEERR_AR___181 = 4,
    BUS_MCEERR_AO___181 = 5
} ;
enum __anonenum_493465559___181 {
    TRAP_BRKPT___181 = 1,
    TRAP_TRACE___181 = 2
} ;
enum __anonenum_23175539___181 {
    CLD_EXITED___181 = 1,
    CLD_KILLED___181 = 2,
    CLD_DUMPED___181 = 3,
    CLD_TRAPPED___181 = 4,
    CLD_STOPPED___181 = 5,
    CLD_CONTINUED___181 = 6
} ;
enum __anonenum_111643124___181 {
    POLL_IN___181 = 1,
    POLL_OUT___181 = 2,
    POLL_MSG___181 = 3,
    POLL_ERR___181 = 4,
    POLL_PRI___181 = 5,
    POLL_HUP___181 = 6
} ;
enum __anonenum_852341087___181 {
    SIGEV_SIGNAL___181 = 0,
    SIGEV_NONE___181 = 1,
    SIGEV_THREAD___181 = 2,
    SIGEV_THREAD_ID___181 = 4
} ;
enum __anonenum_451154152___181 {
    REG_R8___181 = 0,
    REG_R9___181 = 1,
    REG_R10___181 = 2,
    REG_R11___181 = 3,
    REG_R12___181 = 4,
    REG_R13___181 = 5,
    REG_R14___181 = 6,
    REG_R15___181 = 7,
    REG_RDI___181 = 8,
    REG_RSI___181 = 9,
    REG_RBP___181 = 10,
    REG_RBX___181 = 11,
    REG_RDX___181 = 12,
    REG_RAX___181 = 13,
    REG_RCX___181 = 14,
    REG_RSP___181 = 15,
    REG_RIP___181 = 16,
    REG_EFL___181 = 17,
    REG_CSGSFS___181 = 18,
    REG_ERR___181 = 19,
    REG_TRAPNO___181 = 20,
    REG_OLDMASK___181 = 21,
    REG_CR2___181 = 22
} ;
enum __anonenum_57186863___181 {
    SS_ONSTACK___181 = 1,
    SS_DISABLE___181 = 2
} ;
enum __anonenum_83571709___181 {
    MSG_OOB___181 = 1,
    MSG_PEEK___181 = 2,
    MSG_DONTROUTE___181 = 4,
    MSG_TRYHARD___181 = 4,
    MSG_CTRUNC___181 = 8,
    MSG_PROXY___181 = 16,
    MSG_TRUNC___181 = 32,
    MSG_DONTWAIT___181 = 64,
    MSG_EOR___181 = 128,
    MSG_WAITALL___181 = 256,
    MSG_FIN___181 = 512,
    MSG_SYN___181 = 1024,
    MSG_CONFIRM___181 = 2048,
    MSG_RST___181 = 4096,
    MSG_ERRQUEUE___181 = 8192,
    MSG_NOSIGNAL___181 = 16384,
    MSG_MORE___181 = 32768,
    MSG_WAITFORONE___181 = 65536,
    MSG_BATCH___181 = 262144,
    MSG_ZEROCOPY___181 = 67108864,
    MSG_FASTOPEN___181 = 536870912,
    MSG_CMSG_CLOEXEC___181 = 1073741824
} ;
enum __anonenum_617082774___181 {
    SCM_RIGHTS___181 = 1,
    SCM_CREDENTIALS___181 = 2
} ;
enum __anonenum_606441560___181 {
    SHUT_RD___181 = 0,
    SHUT_WR___181 = 1,
    SHUT_RDWR___181 = 2
} ;
enum __anonenum_681669233___181 {
    IPPROTO_IP___181 = 0,
    IPPROTO_ICMP___181 = 1,
    IPPROTO_IGMP___181 = 2,
    IPPROTO_IPIP___181 = 4,
    IPPROTO_TCP___181 = 6,
    IPPROTO_EGP___181 = 8,
    IPPROTO_PUP___181 = 12,
    IPPROTO_UDP___181 = 17,
    IPPROTO_IDP___181 = 22,
    IPPROTO_TP___181 = 29,
    IPPROTO_DCCP___181 = 33,
    IPPROTO_IPV6___181 = 41,
    IPPROTO_RSVP___181 = 46,
    IPPROTO_GRE___181 = 47,
    IPPROTO_ESP___181 = 50,
    IPPROTO_AH___181 = 51,
    IPPROTO_MTP___181 = 92,
    IPPROTO_BEETPH___181 = 94,
    IPPROTO_ENCAP___181 = 98,
    IPPROTO_PIM___181 = 103,
    IPPROTO_COMP___181 = 108,
    IPPROTO_SCTP___181 = 132,
    IPPROTO_UDPLITE___181 = 136,
    IPPROTO_MPLS___181 = 137,
    IPPROTO_RAW___181 = 255,
    IPPROTO_MAX___181 = 256
} ;
enum __anonenum_218739988___181 {
    IPPROTO_HOPOPTS___181 = 0,
    IPPROTO_ROUTING___181 = 43,
    IPPROTO_FRAGMENT___181 = 44,
    IPPROTO_ICMPV6___181 = 58,
    IPPROTO_NONE___181 = 59,
    IPPROTO_DSTOPTS___181 = 60,
    IPPROTO_MH___181 = 135
} ;
enum __anonenum_662268580___181 {
    IPPORT_ECHO___181 = 7,
    IPPORT_DISCARD___181 = 9,
    IPPORT_SYSTAT___181 = 11,
    IPPORT_DAYTIME___181 = 13,
    IPPORT_NETSTAT___181 = 15,
    IPPORT_FTP___181 = 21,
    IPPORT_TELNET___181 = 23,
    IPPORT_SMTP___181 = 25,
    IPPORT_TIMESERVER___181 = 37,
    IPPORT_NAMESERVER___181 = 42,
    IPPORT_WHOIS___181 = 43,
    IPPORT_MTP___181 = 57,
    IPPORT_TFTP___181 = 69,
    IPPORT_RJE___181 = 77,
    IPPORT_FINGER___181 = 79,
    IPPORT_TTYLINK___181 = 87,
    IPPORT_SUPDUP___181 = 95,
    IPPORT_EXECSERVER___181 = 512,
    IPPORT_LOGINSERVER___181 = 513,
    IPPORT_CMDSERVER___181 = 514,
    IPPORT_EFSSERVER___181 = 520,
    IPPORT_BIFFUDP___181 = 512,
    IPPORT_WHOSERVER___181 = 513,
    IPPORT_ROUTESERVER___181 = 520,
    IPPORT_RESERVED___181 = 1024,
    IPPORT_USERRESERVED___181 = 5000
} ;
enum __anonenum_788308992___181 {
    TCP_ESTABLISHED___181 = 1,
    TCP_SYN_SENT___181 = 2,
    TCP_SYN_RECV___181 = 3,
    TCP_FIN_WAIT1___181 = 4,
    TCP_FIN_WAIT2___181 = 5,
    TCP_TIME_WAIT___181 = 6,
    TCP_CLOSE___181 = 7,
    TCP_CLOSE_WAIT___181 = 8,
    TCP_LAST_ACK___181 = 9,
    TCP_LISTEN___181 = 10,
    TCP_CLOSING___181 = 11
} ;
enum __anonenum_221125648___181 {
    TCP_NO_QUEUE___181 = 0,
    TCP_RECV_QUEUE___181 = 1,
    TCP_SEND_QUEUE___181 = 2,
    TCP_QUEUES_NR___181 = 3
} ;
enum __anonenum_34415463___181 {
    PTHREAD_CREATE_JOINABLE___181 = 0,
    PTHREAD_CREATE_DETACHED___181 = 1
} ;
enum __anonenum_303612439___181 {
    PTHREAD_MUTEX_TIMED_NP___181 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___181 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___181 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___181 = 3,
    PTHREAD_MUTEX_NORMAL___181 = 0,
    PTHREAD_MUTEX_RECURSIVE___181 = 1,
    PTHREAD_MUTEX_ERRORCHECK___181 = 2,
    PTHREAD_MUTEX_DEFAULT___181 = 0,
    PTHREAD_MUTEX_FAST_NP___181 = 0
} ;
enum __anonenum_931900394___181 {
    PTHREAD_MUTEX_STALLED___181 = 0,
    PTHREAD_MUTEX_STALLED_NP___181 = 0,
    PTHREAD_MUTEX_ROBUST___181 = 1,
    PTHREAD_MUTEX_ROBUST_NP___181 = 1
} ;
enum __anonenum_205214487___181 {
    PTHREAD_PRIO_NONE___181 = 0,
    PTHREAD_PRIO_INHERIT___181 = 1,
    PTHREAD_PRIO_PROTECT___181 = 2
} ;
enum __anonenum_25043950___181 {
    PTHREAD_RWLOCK_PREFER_READER_NP___181 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___181 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___181 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___181 = 0
} ;
enum __anonenum_436439511___181 {
    PTHREAD_INHERIT_SCHED___181 = 0,
    PTHREAD_EXPLICIT_SCHED___181 = 1
} ;
enum __anonenum_998661166___181 {
    PTHREAD_SCOPE_SYSTEM___181 = 0,
    PTHREAD_SCOPE_PROCESS___181 = 1
} ;
enum __anonenum_146137331___181 {
    PTHREAD_PROCESS_PRIVATE___181 = 0,
    PTHREAD_PROCESS_SHARED___181 = 1
} ;
enum __anonenum_53396917___181 {
    PTHREAD_CANCEL_ENABLE___181 = 0,
    PTHREAD_CANCEL_DISABLE___181 = 1
} ;
enum __anonenum_904563783___181 {
    PTHREAD_CANCEL_DEFERRED___181 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___181 = 1
} ;
enum __anonenum_672052974___181 {
    SSL_CT_VALIDATION_PERMISSIVE___181 = 0,
    SSL_CT_VALIDATION_STRICT___181 = 1
} ;
enum __anonenum_437032235___182 {
    _PC_LINK_MAX___182 = 0,
    _PC_MAX_CANON___182 = 1,
    _PC_MAX_INPUT___182 = 2,
    _PC_NAME_MAX___182 = 3,
    _PC_PATH_MAX___182 = 4,
    _PC_PIPE_BUF___182 = 5,
    _PC_CHOWN_RESTRICTED___182 = 6,
    _PC_NO_TRUNC___182 = 7,
    _PC_VDISABLE___182 = 8,
    _PC_SYNC_IO___182 = 9,
    _PC_ASYNC_IO___182 = 10,
    _PC_PRIO_IO___182 = 11,
    _PC_SOCK_MAXBUF___182 = 12,
    _PC_FILESIZEBITS___182 = 13,
    _PC_REC_INCR_XFER_SIZE___182 = 14,
    _PC_REC_MAX_XFER_SIZE___182 = 15,
    _PC_REC_MIN_XFER_SIZE___182 = 16,
    _PC_REC_XFER_ALIGN___182 = 17,
    _PC_ALLOC_SIZE_MIN___182 = 18,
    _PC_SYMLINK_MAX___182 = 19,
    _PC_2_SYMLINKS___182 = 20
} ;
enum __anonenum_315186338___182 {
    _SC_ARG_MAX___182 = 0,
    _SC_CHILD_MAX___182 = 1,
    _SC_CLK_TCK___182 = 2,
    _SC_NGROUPS_MAX___182 = 3,
    _SC_OPEN_MAX___182 = 4,
    _SC_STREAM_MAX___182 = 5,
    _SC_TZNAME_MAX___182 = 6,
    _SC_JOB_CONTROL___182 = 7,
    _SC_SAVED_IDS___182 = 8,
    _SC_REALTIME_SIGNALS___182 = 9,
    _SC_PRIORITY_SCHEDULING___182 = 10,
    _SC_TIMERS___182 = 11,
    _SC_ASYNCHRONOUS_IO___182 = 12,
    _SC_PRIORITIZED_IO___182 = 13,
    _SC_SYNCHRONIZED_IO___182 = 14,
    _SC_FSYNC___182 = 15,
    _SC_MAPPED_FILES___182 = 16,
    _SC_MEMLOCK___182 = 17,
    _SC_MEMLOCK_RANGE___182 = 18,
    _SC_MEMORY_PROTECTION___182 = 19,
    _SC_MESSAGE_PASSING___182 = 20,
    _SC_SEMAPHORES___182 = 21,
    _SC_SHARED_MEMORY_OBJECTS___182 = 22,
    _SC_AIO_LISTIO_MAX___182 = 23,
    _SC_AIO_MAX___182 = 24,
    _SC_AIO_PRIO_DELTA_MAX___182 = 25,
    _SC_DELAYTIMER_MAX___182 = 26,
    _SC_MQ_OPEN_MAX___182 = 27,
    _SC_MQ_PRIO_MAX___182 = 28,
    _SC_VERSION___182 = 29,
    _SC_PAGESIZE___182 = 30,
    _SC_RTSIG_MAX___182 = 31,
    _SC_SEM_NSEMS_MAX___182 = 32,
    _SC_SEM_VALUE_MAX___182 = 33,
    _SC_SIGQUEUE_MAX___182 = 34,
    _SC_TIMER_MAX___182 = 35,
    _SC_BC_BASE_MAX___182 = 36,
    _SC_BC_DIM_MAX___182 = 37,
    _SC_BC_SCALE_MAX___182 = 38,
    _SC_BC_STRING_MAX___182 = 39,
    _SC_COLL_WEIGHTS_MAX___182 = 40,
    _SC_EQUIV_CLASS_MAX___182 = 41,
    _SC_EXPR_NEST_MAX___182 = 42,
    _SC_LINE_MAX___182 = 43,
    _SC_RE_DUP_MAX___182 = 44,
    _SC_CHARCLASS_NAME_MAX___182 = 45,
    _SC_2_VERSION___182 = 46,
    _SC_2_C_BIND___182 = 47,
    _SC_2_C_DEV___182 = 48,
    _SC_2_FORT_DEV___182 = 49,
    _SC_2_FORT_RUN___182 = 50,
    _SC_2_SW_DEV___182 = 51,
    _SC_2_LOCALEDEF___182 = 52,
    _SC_PII___182 = 53,
    _SC_PII_XTI___182 = 54,
    _SC_PII_SOCKET___182 = 55,
    _SC_PII_INTERNET___182 = 56,
    _SC_PII_OSI___182 = 57,
    _SC_POLL___182 = 58,
    _SC_SELECT___182 = 59,
    _SC_UIO_MAXIOV___182 = 60,
    _SC_IOV_MAX___182 = 60,
    _SC_PII_INTERNET_STREAM___182 = 61,
    _SC_PII_INTERNET_DGRAM___182 = 62,
    _SC_PII_OSI_COTS___182 = 63,
    _SC_PII_OSI_CLTS___182 = 64,
    _SC_PII_OSI_M___182 = 65,
    _SC_T_IOV_MAX___182 = 66,
    _SC_THREADS___182 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___182 = 68,
    _SC_GETGR_R_SIZE_MAX___182 = 69,
    _SC_GETPW_R_SIZE_MAX___182 = 70,
    _SC_LOGIN_NAME_MAX___182 = 71,
    _SC_TTY_NAME_MAX___182 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___182 = 73,
    _SC_THREAD_KEYS_MAX___182 = 74,
    _SC_THREAD_STACK_MIN___182 = 75,
    _SC_THREAD_THREADS_MAX___182 = 76,
    _SC_THREAD_ATTR_STACKADDR___182 = 77,
    _SC_THREAD_ATTR_STACKSIZE___182 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___182 = 79,
    _SC_THREAD_PRIO_INHERIT___182 = 80,
    _SC_THREAD_PRIO_PROTECT___182 = 81,
    _SC_THREAD_PROCESS_SHARED___182 = 82,
    _SC_NPROCESSORS_CONF___182 = 83,
    _SC_NPROCESSORS_ONLN___182 = 84,
    _SC_PHYS_PAGES___182 = 85,
    _SC_AVPHYS_PAGES___182 = 86,
    _SC_ATEXIT_MAX___182 = 87,
    _SC_PASS_MAX___182 = 88,
    _SC_XOPEN_VERSION___182 = 89,
    _SC_XOPEN_XCU_VERSION___182 = 90,
    _SC_XOPEN_UNIX___182 = 91,
    _SC_XOPEN_CRYPT___182 = 92,
    _SC_XOPEN_ENH_I18N___182 = 93,
    _SC_XOPEN_SHM___182 = 94,
    _SC_2_CHAR_TERM___182 = 95,
    _SC_2_C_VERSION___182 = 96,
    _SC_2_UPE___182 = 97,
    _SC_XOPEN_XPG2___182 = 98,
    _SC_XOPEN_XPG3___182 = 99,
    _SC_XOPEN_XPG4___182 = 100,
    _SC_CHAR_BIT___182 = 101,
    _SC_CHAR_MAX___182 = 102,
    _SC_CHAR_MIN___182 = 103,
    _SC_INT_MAX___182 = 104,
    _SC_INT_MIN___182 = 105,
    _SC_LONG_BIT___182 = 106,
    _SC_WORD_BIT___182 = 107,
    _SC_MB_LEN_MAX___182 = 108,
    _SC_NZERO___182 = 109,
    _SC_SSIZE_MAX___182 = 110,
    _SC_SCHAR_MAX___182 = 111,
    _SC_SCHAR_MIN___182 = 112,
    _SC_SHRT_MAX___182 = 113,
    _SC_SHRT_MIN___182 = 114,
    _SC_UCHAR_MAX___182 = 115,
    _SC_UINT_MAX___182 = 116,
    _SC_ULONG_MAX___182 = 117,
    _SC_USHRT_MAX___182 = 118,
    _SC_NL_ARGMAX___182 = 119,
    _SC_NL_LANGMAX___182 = 120,
    _SC_NL_MSGMAX___182 = 121,
    _SC_NL_NMAX___182 = 122,
    _SC_NL_SETMAX___182 = 123,
    _SC_NL_TEXTMAX___182 = 124,
    _SC_XBS5_ILP32_OFF32___182 = 125,
    _SC_XBS5_ILP32_OFFBIG___182 = 126,
    _SC_XBS5_LP64_OFF64___182 = 127,
    _SC_XBS5_LPBIG_OFFBIG___182 = 128,
    _SC_XOPEN_LEGACY___182 = 129,
    _SC_XOPEN_REALTIME___182 = 130,
    _SC_XOPEN_REALTIME_THREADS___182 = 131,
    _SC_ADVISORY_INFO___182 = 132,
    _SC_BARRIERS___182 = 133,
    _SC_BASE___182 = 134,
    _SC_C_LANG_SUPPORT___182 = 135,
    _SC_C_LANG_SUPPORT_R___182 = 136,
    _SC_CLOCK_SELECTION___182 = 137,
    _SC_CPUTIME___182 = 138,
    _SC_THREAD_CPUTIME___182 = 139,
    _SC_DEVICE_IO___182 = 140,
    _SC_DEVICE_SPECIFIC___182 = 141,
    _SC_DEVICE_SPECIFIC_R___182 = 142,
    _SC_FD_MGMT___182 = 143,
    _SC_FIFO___182 = 144,
    _SC_PIPE___182 = 145,
    _SC_FILE_ATTRIBUTES___182 = 146,
    _SC_FILE_LOCKING___182 = 147,
    _SC_FILE_SYSTEM___182 = 148,
    _SC_MONOTONIC_CLOCK___182 = 149,
    _SC_MULTI_PROCESS___182 = 150,
    _SC_SINGLE_PROCESS___182 = 151,
    _SC_NETWORKING___182 = 152,
    _SC_READER_WRITER_LOCKS___182 = 153,
    _SC_SPIN_LOCKS___182 = 154,
    _SC_REGEXP___182 = 155,
    _SC_REGEX_VERSION___182 = 156,
    _SC_SHELL___182 = 157,
    _SC_SIGNALS___182 = 158,
    _SC_SPAWN___182 = 159,
    _SC_SPORADIC_SERVER___182 = 160,
    _SC_THREAD_SPORADIC_SERVER___182 = 161,
    _SC_SYSTEM_DATABASE___182 = 162,
    _SC_SYSTEM_DATABASE_R___182 = 163,
    _SC_TIMEOUTS___182 = 164,
    _SC_TYPED_MEMORY_OBJECTS___182 = 165,
    _SC_USER_GROUPS___182 = 166,
    _SC_USER_GROUPS_R___182 = 167,
    _SC_2_PBS___182 = 168,
    _SC_2_PBS_ACCOUNTING___182 = 169,
    _SC_2_PBS_LOCATE___182 = 170,
    _SC_2_PBS_MESSAGE___182 = 171,
    _SC_2_PBS_TRACK___182 = 172,
    _SC_SYMLOOP_MAX___182 = 173,
    _SC_STREAMS___182 = 174,
    _SC_2_PBS_CHECKPOINT___182 = 175,
    _SC_V6_ILP32_OFF32___182 = 176,
    _SC_V6_ILP32_OFFBIG___182 = 177,
    _SC_V6_LP64_OFF64___182 = 178,
    _SC_V6_LPBIG_OFFBIG___182 = 179,
    _SC_HOST_NAME_MAX___182 = 180,
    _SC_TRACE___182 = 181,
    _SC_TRACE_EVENT_FILTER___182 = 182,
    _SC_TRACE_INHERIT___182 = 183,
    _SC_TRACE_LOG___182 = 184,
    _SC_LEVEL1_ICACHE_SIZE___182 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___182 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___182 = 187,
    _SC_LEVEL1_DCACHE_SIZE___182 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___182 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___182 = 190,
    _SC_LEVEL2_CACHE_SIZE___182 = 191,
    _SC_LEVEL2_CACHE_ASSOC___182 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___182 = 193,
    _SC_LEVEL3_CACHE_SIZE___182 = 194,
    _SC_LEVEL3_CACHE_ASSOC___182 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___182 = 196,
    _SC_LEVEL4_CACHE_SIZE___182 = 197,
    _SC_LEVEL4_CACHE_ASSOC___182 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___182 = 199,
    _SC_IPV6___182 = 235,
    _SC_RAW_SOCKETS___182 = 236,
    _SC_V7_ILP32_OFF32___182 = 237,
    _SC_V7_ILP32_OFFBIG___182 = 238,
    _SC_V7_LP64_OFF64___182 = 239,
    _SC_V7_LPBIG_OFFBIG___182 = 240,
    _SC_SS_REPL_MAX___182 = 241,
    _SC_TRACE_EVENT_NAME_MAX___182 = 242,
    _SC_TRACE_NAME_MAX___182 = 243,
    _SC_TRACE_SYS_MAX___182 = 244,
    _SC_TRACE_USER_EVENT_MAX___182 = 245,
    _SC_XOPEN_STREAMS___182 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___182 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___182 = 248
} ;
enum __anonenum_875524036___182 {
    _CS_PATH___182 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___182 = 1,
    _CS_GNU_LIBC_VERSION___182 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___182 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___182 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___182 = 5,
    _CS_LFS_CFLAGS___182 = 1000,
    _CS_LFS_LDFLAGS___182 = 1001,
    _CS_LFS_LIBS___182 = 1002,
    _CS_LFS_LINTFLAGS___182 = 1003,
    _CS_LFS64_CFLAGS___182 = 1004,
    _CS_LFS64_LDFLAGS___182 = 1005,
    _CS_LFS64_LIBS___182 = 1006,
    _CS_LFS64_LINTFLAGS___182 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___182 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___182 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___182 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___182 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___182 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___182 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___182 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___182 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___182 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___182 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___182 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___182 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___182 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___182 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___182 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___182 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___182 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___182 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___182 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___182 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___182 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___182 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___182 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___182 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___182 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___182 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___182 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___182 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___182 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___182 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___182 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___182 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___182 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___182 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___182 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___182 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___182 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___182 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___182 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___182 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___182 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___182 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___182 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___182 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___182 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___182 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___182 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___182 = 1147,
    _CS_V6_ENV___182 = 1148,
    _CS_V7_ENV___182 = 1149
} ;
enum __anonenum_513775621___182 {
    DT_UNKNOWN___182 = 0,
    DT_FIFO___182 = 1,
    DT_CHR___182 = 2,
    DT_DIR___182 = 4,
    DT_BLK___182 = 6,
    DT_REG___182 = 8,
    DT_LNK___182 = 10,
    DT_SOCK___182 = 12,
    DT_WHT___182 = 14
} ;
enum __anonenum_77002343___182 {
    SI_ASYNCNL___182 = -60,
    SI_TKILL___182 = -6,
    SI_SIGIO___182 = -5,
    SI_ASYNCIO___182 = -4,
    SI_MESGQ___182 = -3,
    SI_TIMER___182 = -2,
    SI_QUEUE___182 = -1,
    SI_USER___182 = 0,
    SI_KERNEL___182 = 128
} ;
enum __anonenum_131038172___182 {
    ILL_ILLOPC___182 = 1,
    ILL_ILLOPN___182 = 2,
    ILL_ILLADR___182 = 3,
    ILL_ILLTRP___182 = 4,
    ILL_PRVOPC___182 = 5,
    ILL_PRVREG___182 = 6,
    ILL_COPROC___182 = 7,
    ILL_BADSTK___182 = 8
} ;
enum __anonenum_452038093___182 {
    FPE_INTDIV___182 = 1,
    FPE_INTOVF___182 = 2,
    FPE_FLTDIV___182 = 3,
    FPE_FLTOVF___182 = 4,
    FPE_FLTUND___182 = 5,
    FPE_FLTRES___182 = 6,
    FPE_FLTINV___182 = 7,
    FPE_FLTSUB___182 = 8
} ;
enum __anonenum_30976155___182 {
    SEGV_MAPERR___182 = 1,
    SEGV_ACCERR___182 = 2,
    SEGV_BNDERR___182 = 3,
    SEGV_PKUERR___182 = 4
} ;
enum __anonenum_1036286214___182 {
    BUS_ADRALN___182 = 1,
    BUS_ADRERR___182 = 2,
    BUS_OBJERR___182 = 3,
    BUS_MCEERR_AR___182 = 4,
    BUS_MCEERR_AO___182 = 5
} ;
enum __anonenum_493465559___182 {
    TRAP_BRKPT___182 = 1,
    TRAP_TRACE___182 = 2
} ;
enum __anonenum_23175539___182 {
    CLD_EXITED___182 = 1,
    CLD_KILLED___182 = 2,
    CLD_DUMPED___182 = 3,
    CLD_TRAPPED___182 = 4,
    CLD_STOPPED___182 = 5,
    CLD_CONTINUED___182 = 6
} ;
enum __anonenum_111643124___182 {
    POLL_IN___182 = 1,
    POLL_OUT___182 = 2,
    POLL_MSG___182 = 3,
    POLL_ERR___182 = 4,
    POLL_PRI___182 = 5,
    POLL_HUP___182 = 6
} ;
enum __anonenum_852341087___182 {
    SIGEV_SIGNAL___182 = 0,
    SIGEV_NONE___182 = 1,
    SIGEV_THREAD___182 = 2,
    SIGEV_THREAD_ID___182 = 4
} ;
enum __anonenum_451154152___182 {
    REG_R8___182 = 0,
    REG_R9___182 = 1,
    REG_R10___182 = 2,
    REG_R11___182 = 3,
    REG_R12___182 = 4,
    REG_R13___182 = 5,
    REG_R14___182 = 6,
    REG_R15___182 = 7,
    REG_RDI___182 = 8,
    REG_RSI___182 = 9,
    REG_RBP___182 = 10,
    REG_RBX___182 = 11,
    REG_RDX___182 = 12,
    REG_RAX___182 = 13,
    REG_RCX___182 = 14,
    REG_RSP___182 = 15,
    REG_RIP___182 = 16,
    REG_EFL___182 = 17,
    REG_CSGSFS___182 = 18,
    REG_ERR___182 = 19,
    REG_TRAPNO___182 = 20,
    REG_OLDMASK___182 = 21,
    REG_CR2___182 = 22
} ;
enum __anonenum_57186863___182 {
    SS_ONSTACK___182 = 1,
    SS_DISABLE___182 = 2
} ;
enum __anonenum_83571709___182 {
    MSG_OOB___182 = 1,
    MSG_PEEK___182 = 2,
    MSG_DONTROUTE___182 = 4,
    MSG_TRYHARD___182 = 4,
    MSG_CTRUNC___182 = 8,
    MSG_PROXY___182 = 16,
    MSG_TRUNC___182 = 32,
    MSG_DONTWAIT___182 = 64,
    MSG_EOR___182 = 128,
    MSG_WAITALL___182 = 256,
    MSG_FIN___182 = 512,
    MSG_SYN___182 = 1024,
    MSG_CONFIRM___182 = 2048,
    MSG_RST___182 = 4096,
    MSG_ERRQUEUE___182 = 8192,
    MSG_NOSIGNAL___182 = 16384,
    MSG_MORE___182 = 32768,
    MSG_WAITFORONE___182 = 65536,
    MSG_BATCH___182 = 262144,
    MSG_ZEROCOPY___182 = 67108864,
    MSG_FASTOPEN___182 = 536870912,
    MSG_CMSG_CLOEXEC___182 = 1073741824
} ;
enum __anonenum_617082774___182 {
    SCM_RIGHTS___182 = 1,
    SCM_CREDENTIALS___182 = 2
} ;
enum __anonenum_606441560___182 {
    SHUT_RD___182 = 0,
    SHUT_WR___182 = 1,
    SHUT_RDWR___182 = 2
} ;
enum __anonenum_681669233___182 {
    IPPROTO_IP___182 = 0,
    IPPROTO_ICMP___182 = 1,
    IPPROTO_IGMP___182 = 2,
    IPPROTO_IPIP___182 = 4,
    IPPROTO_TCP___182 = 6,
    IPPROTO_EGP___182 = 8,
    IPPROTO_PUP___182 = 12,
    IPPROTO_UDP___182 = 17,
    IPPROTO_IDP___182 = 22,
    IPPROTO_TP___182 = 29,
    IPPROTO_DCCP___182 = 33,
    IPPROTO_IPV6___182 = 41,
    IPPROTO_RSVP___182 = 46,
    IPPROTO_GRE___182 = 47,
    IPPROTO_ESP___182 = 50,
    IPPROTO_AH___182 = 51,
    IPPROTO_MTP___182 = 92,
    IPPROTO_BEETPH___182 = 94,
    IPPROTO_ENCAP___182 = 98,
    IPPROTO_PIM___182 = 103,
    IPPROTO_COMP___182 = 108,
    IPPROTO_SCTP___182 = 132,
    IPPROTO_UDPLITE___182 = 136,
    IPPROTO_MPLS___182 = 137,
    IPPROTO_RAW___182 = 255,
    IPPROTO_MAX___182 = 256
} ;
enum __anonenum_218739988___182 {
    IPPROTO_HOPOPTS___182 = 0,
    IPPROTO_ROUTING___182 = 43,
    IPPROTO_FRAGMENT___182 = 44,
    IPPROTO_ICMPV6___182 = 58,
    IPPROTO_NONE___182 = 59,
    IPPROTO_DSTOPTS___182 = 60,
    IPPROTO_MH___182 = 135
} ;
enum __anonenum_662268580___182 {
    IPPORT_ECHO___182 = 7,
    IPPORT_DISCARD___182 = 9,
    IPPORT_SYSTAT___182 = 11,
    IPPORT_DAYTIME___182 = 13,
    IPPORT_NETSTAT___182 = 15,
    IPPORT_FTP___182 = 21,
    IPPORT_TELNET___182 = 23,
    IPPORT_SMTP___182 = 25,
    IPPORT_TIMESERVER___182 = 37,
    IPPORT_NAMESERVER___182 = 42,
    IPPORT_WHOIS___182 = 43,
    IPPORT_MTP___182 = 57,
    IPPORT_TFTP___182 = 69,
    IPPORT_RJE___182 = 77,
    IPPORT_FINGER___182 = 79,
    IPPORT_TTYLINK___182 = 87,
    IPPORT_SUPDUP___182 = 95,
    IPPORT_EXECSERVER___182 = 512,
    IPPORT_LOGINSERVER___182 = 513,
    IPPORT_CMDSERVER___182 = 514,
    IPPORT_EFSSERVER___182 = 520,
    IPPORT_BIFFUDP___182 = 512,
    IPPORT_WHOSERVER___182 = 513,
    IPPORT_ROUTESERVER___182 = 520,
    IPPORT_RESERVED___182 = 1024,
    IPPORT_USERRESERVED___182 = 5000
} ;
enum __anonenum_788308992___182 {
    TCP_ESTABLISHED___182 = 1,
    TCP_SYN_SENT___182 = 2,
    TCP_SYN_RECV___182 = 3,
    TCP_FIN_WAIT1___182 = 4,
    TCP_FIN_WAIT2___182 = 5,
    TCP_TIME_WAIT___182 = 6,
    TCP_CLOSE___182 = 7,
    TCP_CLOSE_WAIT___182 = 8,
    TCP_LAST_ACK___182 = 9,
    TCP_LISTEN___182 = 10,
    TCP_CLOSING___182 = 11
} ;
enum __anonenum_221125648___182 {
    TCP_NO_QUEUE___182 = 0,
    TCP_RECV_QUEUE___182 = 1,
    TCP_SEND_QUEUE___182 = 2,
    TCP_QUEUES_NR___182 = 3
} ;
enum __anonenum_34415463___182 {
    PTHREAD_CREATE_JOINABLE___182 = 0,
    PTHREAD_CREATE_DETACHED___182 = 1
} ;
enum __anonenum_303612439___182 {
    PTHREAD_MUTEX_TIMED_NP___182 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___182 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___182 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___182 = 3,
    PTHREAD_MUTEX_NORMAL___182 = 0,
    PTHREAD_MUTEX_RECURSIVE___182 = 1,
    PTHREAD_MUTEX_ERRORCHECK___182 = 2,
    PTHREAD_MUTEX_DEFAULT___182 = 0,
    PTHREAD_MUTEX_FAST_NP___182 = 0
} ;
enum __anonenum_931900394___182 {
    PTHREAD_MUTEX_STALLED___182 = 0,
    PTHREAD_MUTEX_STALLED_NP___182 = 0,
    PTHREAD_MUTEX_ROBUST___182 = 1,
    PTHREAD_MUTEX_ROBUST_NP___182 = 1
} ;
enum __anonenum_205214487___182 {
    PTHREAD_PRIO_NONE___182 = 0,
    PTHREAD_PRIO_INHERIT___182 = 1,
    PTHREAD_PRIO_PROTECT___182 = 2
} ;
enum __anonenum_25043950___182 {
    PTHREAD_RWLOCK_PREFER_READER_NP___182 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___182 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___182 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___182 = 0
} ;
enum __anonenum_436439511___182 {
    PTHREAD_INHERIT_SCHED___182 = 0,
    PTHREAD_EXPLICIT_SCHED___182 = 1
} ;
enum __anonenum_998661166___182 {
    PTHREAD_SCOPE_SYSTEM___182 = 0,
    PTHREAD_SCOPE_PROCESS___182 = 1
} ;
enum __anonenum_146137331___182 {
    PTHREAD_PROCESS_PRIVATE___182 = 0,
    PTHREAD_PROCESS_SHARED___182 = 1
} ;
enum __anonenum_53396917___182 {
    PTHREAD_CANCEL_ENABLE___182 = 0,
    PTHREAD_CANCEL_DISABLE___182 = 1
} ;
enum __anonenum_904563783___182 {
    PTHREAD_CANCEL_DEFERRED___182 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___182 = 1
} ;
enum __anonenum_672052974___182 {
    SSL_CT_VALIDATION_PERMISSIVE___182 = 0,
    SSL_CT_VALIDATION_STRICT___182 = 1
} ;
enum __anonenum_437032235___183 {
    _PC_LINK_MAX___183 = 0,
    _PC_MAX_CANON___183 = 1,
    _PC_MAX_INPUT___183 = 2,
    _PC_NAME_MAX___183 = 3,
    _PC_PATH_MAX___183 = 4,
    _PC_PIPE_BUF___183 = 5,
    _PC_CHOWN_RESTRICTED___183 = 6,
    _PC_NO_TRUNC___183 = 7,
    _PC_VDISABLE___183 = 8,
    _PC_SYNC_IO___183 = 9,
    _PC_ASYNC_IO___183 = 10,
    _PC_PRIO_IO___183 = 11,
    _PC_SOCK_MAXBUF___183 = 12,
    _PC_FILESIZEBITS___183 = 13,
    _PC_REC_INCR_XFER_SIZE___183 = 14,
    _PC_REC_MAX_XFER_SIZE___183 = 15,
    _PC_REC_MIN_XFER_SIZE___183 = 16,
    _PC_REC_XFER_ALIGN___183 = 17,
    _PC_ALLOC_SIZE_MIN___183 = 18,
    _PC_SYMLINK_MAX___183 = 19,
    _PC_2_SYMLINKS___183 = 20
} ;
enum __anonenum_315186338___183 {
    _SC_ARG_MAX___183 = 0,
    _SC_CHILD_MAX___183 = 1,
    _SC_CLK_TCK___183 = 2,
    _SC_NGROUPS_MAX___183 = 3,
    _SC_OPEN_MAX___183 = 4,
    _SC_STREAM_MAX___183 = 5,
    _SC_TZNAME_MAX___183 = 6,
    _SC_JOB_CONTROL___183 = 7,
    _SC_SAVED_IDS___183 = 8,
    _SC_REALTIME_SIGNALS___183 = 9,
    _SC_PRIORITY_SCHEDULING___183 = 10,
    _SC_TIMERS___183 = 11,
    _SC_ASYNCHRONOUS_IO___183 = 12,
    _SC_PRIORITIZED_IO___183 = 13,
    _SC_SYNCHRONIZED_IO___183 = 14,
    _SC_FSYNC___183 = 15,
    _SC_MAPPED_FILES___183 = 16,
    _SC_MEMLOCK___183 = 17,
    _SC_MEMLOCK_RANGE___183 = 18,
    _SC_MEMORY_PROTECTION___183 = 19,
    _SC_MESSAGE_PASSING___183 = 20,
    _SC_SEMAPHORES___183 = 21,
    _SC_SHARED_MEMORY_OBJECTS___183 = 22,
    _SC_AIO_LISTIO_MAX___183 = 23,
    _SC_AIO_MAX___183 = 24,
    _SC_AIO_PRIO_DELTA_MAX___183 = 25,
    _SC_DELAYTIMER_MAX___183 = 26,
    _SC_MQ_OPEN_MAX___183 = 27,
    _SC_MQ_PRIO_MAX___183 = 28,
    _SC_VERSION___183 = 29,
    _SC_PAGESIZE___183 = 30,
    _SC_RTSIG_MAX___183 = 31,
    _SC_SEM_NSEMS_MAX___183 = 32,
    _SC_SEM_VALUE_MAX___183 = 33,
    _SC_SIGQUEUE_MAX___183 = 34,
    _SC_TIMER_MAX___183 = 35,
    _SC_BC_BASE_MAX___183 = 36,
    _SC_BC_DIM_MAX___183 = 37,
    _SC_BC_SCALE_MAX___183 = 38,
    _SC_BC_STRING_MAX___183 = 39,
    _SC_COLL_WEIGHTS_MAX___183 = 40,
    _SC_EQUIV_CLASS_MAX___183 = 41,
    _SC_EXPR_NEST_MAX___183 = 42,
    _SC_LINE_MAX___183 = 43,
    _SC_RE_DUP_MAX___183 = 44,
    _SC_CHARCLASS_NAME_MAX___183 = 45,
    _SC_2_VERSION___183 = 46,
    _SC_2_C_BIND___183 = 47,
    _SC_2_C_DEV___183 = 48,
    _SC_2_FORT_DEV___183 = 49,
    _SC_2_FORT_RUN___183 = 50,
    _SC_2_SW_DEV___183 = 51,
    _SC_2_LOCALEDEF___183 = 52,
    _SC_PII___183 = 53,
    _SC_PII_XTI___183 = 54,
    _SC_PII_SOCKET___183 = 55,
    _SC_PII_INTERNET___183 = 56,
    _SC_PII_OSI___183 = 57,
    _SC_POLL___183 = 58,
    _SC_SELECT___183 = 59,
    _SC_UIO_MAXIOV___183 = 60,
    _SC_IOV_MAX___183 = 60,
    _SC_PII_INTERNET_STREAM___183 = 61,
    _SC_PII_INTERNET_DGRAM___183 = 62,
    _SC_PII_OSI_COTS___183 = 63,
    _SC_PII_OSI_CLTS___183 = 64,
    _SC_PII_OSI_M___183 = 65,
    _SC_T_IOV_MAX___183 = 66,
    _SC_THREADS___183 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___183 = 68,
    _SC_GETGR_R_SIZE_MAX___183 = 69,
    _SC_GETPW_R_SIZE_MAX___183 = 70,
    _SC_LOGIN_NAME_MAX___183 = 71,
    _SC_TTY_NAME_MAX___183 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___183 = 73,
    _SC_THREAD_KEYS_MAX___183 = 74,
    _SC_THREAD_STACK_MIN___183 = 75,
    _SC_THREAD_THREADS_MAX___183 = 76,
    _SC_THREAD_ATTR_STACKADDR___183 = 77,
    _SC_THREAD_ATTR_STACKSIZE___183 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___183 = 79,
    _SC_THREAD_PRIO_INHERIT___183 = 80,
    _SC_THREAD_PRIO_PROTECT___183 = 81,
    _SC_THREAD_PROCESS_SHARED___183 = 82,
    _SC_NPROCESSORS_CONF___183 = 83,
    _SC_NPROCESSORS_ONLN___183 = 84,
    _SC_PHYS_PAGES___183 = 85,
    _SC_AVPHYS_PAGES___183 = 86,
    _SC_ATEXIT_MAX___183 = 87,
    _SC_PASS_MAX___183 = 88,
    _SC_XOPEN_VERSION___183 = 89,
    _SC_XOPEN_XCU_VERSION___183 = 90,
    _SC_XOPEN_UNIX___183 = 91,
    _SC_XOPEN_CRYPT___183 = 92,
    _SC_XOPEN_ENH_I18N___183 = 93,
    _SC_XOPEN_SHM___183 = 94,
    _SC_2_CHAR_TERM___183 = 95,
    _SC_2_C_VERSION___183 = 96,
    _SC_2_UPE___183 = 97,
    _SC_XOPEN_XPG2___183 = 98,
    _SC_XOPEN_XPG3___183 = 99,
    _SC_XOPEN_XPG4___183 = 100,
    _SC_CHAR_BIT___183 = 101,
    _SC_CHAR_MAX___183 = 102,
    _SC_CHAR_MIN___183 = 103,
    _SC_INT_MAX___183 = 104,
    _SC_INT_MIN___183 = 105,
    _SC_LONG_BIT___183 = 106,
    _SC_WORD_BIT___183 = 107,
    _SC_MB_LEN_MAX___183 = 108,
    _SC_NZERO___183 = 109,
    _SC_SSIZE_MAX___183 = 110,
    _SC_SCHAR_MAX___183 = 111,
    _SC_SCHAR_MIN___183 = 112,
    _SC_SHRT_MAX___183 = 113,
    _SC_SHRT_MIN___183 = 114,
    _SC_UCHAR_MAX___183 = 115,
    _SC_UINT_MAX___183 = 116,
    _SC_ULONG_MAX___183 = 117,
    _SC_USHRT_MAX___183 = 118,
    _SC_NL_ARGMAX___183 = 119,
    _SC_NL_LANGMAX___183 = 120,
    _SC_NL_MSGMAX___183 = 121,
    _SC_NL_NMAX___183 = 122,
    _SC_NL_SETMAX___183 = 123,
    _SC_NL_TEXTMAX___183 = 124,
    _SC_XBS5_ILP32_OFF32___183 = 125,
    _SC_XBS5_ILP32_OFFBIG___183 = 126,
    _SC_XBS5_LP64_OFF64___183 = 127,
    _SC_XBS5_LPBIG_OFFBIG___183 = 128,
    _SC_XOPEN_LEGACY___183 = 129,
    _SC_XOPEN_REALTIME___183 = 130,
    _SC_XOPEN_REALTIME_THREADS___183 = 131,
    _SC_ADVISORY_INFO___183 = 132,
    _SC_BARRIERS___183 = 133,
    _SC_BASE___183 = 134,
    _SC_C_LANG_SUPPORT___183 = 135,
    _SC_C_LANG_SUPPORT_R___183 = 136,
    _SC_CLOCK_SELECTION___183 = 137,
    _SC_CPUTIME___183 = 138,
    _SC_THREAD_CPUTIME___183 = 139,
    _SC_DEVICE_IO___183 = 140,
    _SC_DEVICE_SPECIFIC___183 = 141,
    _SC_DEVICE_SPECIFIC_R___183 = 142,
    _SC_FD_MGMT___183 = 143,
    _SC_FIFO___183 = 144,
    _SC_PIPE___183 = 145,
    _SC_FILE_ATTRIBUTES___183 = 146,
    _SC_FILE_LOCKING___183 = 147,
    _SC_FILE_SYSTEM___183 = 148,
    _SC_MONOTONIC_CLOCK___183 = 149,
    _SC_MULTI_PROCESS___183 = 150,
    _SC_SINGLE_PROCESS___183 = 151,
    _SC_NETWORKING___183 = 152,
    _SC_READER_WRITER_LOCKS___183 = 153,
    _SC_SPIN_LOCKS___183 = 154,
    _SC_REGEXP___183 = 155,
    _SC_REGEX_VERSION___183 = 156,
    _SC_SHELL___183 = 157,
    _SC_SIGNALS___183 = 158,
    _SC_SPAWN___183 = 159,
    _SC_SPORADIC_SERVER___183 = 160,
    _SC_THREAD_SPORADIC_SERVER___183 = 161,
    _SC_SYSTEM_DATABASE___183 = 162,
    _SC_SYSTEM_DATABASE_R___183 = 163,
    _SC_TIMEOUTS___183 = 164,
    _SC_TYPED_MEMORY_OBJECTS___183 = 165,
    _SC_USER_GROUPS___183 = 166,
    _SC_USER_GROUPS_R___183 = 167,
    _SC_2_PBS___183 = 168,
    _SC_2_PBS_ACCOUNTING___183 = 169,
    _SC_2_PBS_LOCATE___183 = 170,
    _SC_2_PBS_MESSAGE___183 = 171,
    _SC_2_PBS_TRACK___183 = 172,
    _SC_SYMLOOP_MAX___183 = 173,
    _SC_STREAMS___183 = 174,
    _SC_2_PBS_CHECKPOINT___183 = 175,
    _SC_V6_ILP32_OFF32___183 = 176,
    _SC_V6_ILP32_OFFBIG___183 = 177,
    _SC_V6_LP64_OFF64___183 = 178,
    _SC_V6_LPBIG_OFFBIG___183 = 179,
    _SC_HOST_NAME_MAX___183 = 180,
    _SC_TRACE___183 = 181,
    _SC_TRACE_EVENT_FILTER___183 = 182,
    _SC_TRACE_INHERIT___183 = 183,
    _SC_TRACE_LOG___183 = 184,
    _SC_LEVEL1_ICACHE_SIZE___183 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___183 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___183 = 187,
    _SC_LEVEL1_DCACHE_SIZE___183 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___183 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___183 = 190,
    _SC_LEVEL2_CACHE_SIZE___183 = 191,
    _SC_LEVEL2_CACHE_ASSOC___183 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___183 = 193,
    _SC_LEVEL3_CACHE_SIZE___183 = 194,
    _SC_LEVEL3_CACHE_ASSOC___183 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___183 = 196,
    _SC_LEVEL4_CACHE_SIZE___183 = 197,
    _SC_LEVEL4_CACHE_ASSOC___183 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___183 = 199,
    _SC_IPV6___183 = 235,
    _SC_RAW_SOCKETS___183 = 236,
    _SC_V7_ILP32_OFF32___183 = 237,
    _SC_V7_ILP32_OFFBIG___183 = 238,
    _SC_V7_LP64_OFF64___183 = 239,
    _SC_V7_LPBIG_OFFBIG___183 = 240,
    _SC_SS_REPL_MAX___183 = 241,
    _SC_TRACE_EVENT_NAME_MAX___183 = 242,
    _SC_TRACE_NAME_MAX___183 = 243,
    _SC_TRACE_SYS_MAX___183 = 244,
    _SC_TRACE_USER_EVENT_MAX___183 = 245,
    _SC_XOPEN_STREAMS___183 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___183 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___183 = 248
} ;
enum __anonenum_875524036___183 {
    _CS_PATH___183 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___183 = 1,
    _CS_GNU_LIBC_VERSION___183 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___183 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___183 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___183 = 5,
    _CS_LFS_CFLAGS___183 = 1000,
    _CS_LFS_LDFLAGS___183 = 1001,
    _CS_LFS_LIBS___183 = 1002,
    _CS_LFS_LINTFLAGS___183 = 1003,
    _CS_LFS64_CFLAGS___183 = 1004,
    _CS_LFS64_LDFLAGS___183 = 1005,
    _CS_LFS64_LIBS___183 = 1006,
    _CS_LFS64_LINTFLAGS___183 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___183 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___183 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___183 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___183 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___183 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___183 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___183 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___183 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___183 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___183 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___183 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___183 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___183 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___183 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___183 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___183 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___183 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___183 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___183 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___183 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___183 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___183 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___183 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___183 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___183 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___183 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___183 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___183 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___183 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___183 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___183 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___183 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___183 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___183 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___183 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___183 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___183 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___183 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___183 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___183 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___183 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___183 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___183 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___183 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___183 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___183 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___183 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___183 = 1147,
    _CS_V6_ENV___183 = 1148,
    _CS_V7_ENV___183 = 1149
} ;
enum __anonenum_513775621___183 {
    DT_UNKNOWN___183 = 0,
    DT_FIFO___183 = 1,
    DT_CHR___183 = 2,
    DT_DIR___183 = 4,
    DT_BLK___183 = 6,
    DT_REG___183 = 8,
    DT_LNK___183 = 10,
    DT_SOCK___183 = 12,
    DT_WHT___183 = 14
} ;
enum __anonenum_77002343___183 {
    SI_ASYNCNL___183 = -60,
    SI_TKILL___183 = -6,
    SI_SIGIO___183 = -5,
    SI_ASYNCIO___183 = -4,
    SI_MESGQ___183 = -3,
    SI_TIMER___183 = -2,
    SI_QUEUE___183 = -1,
    SI_USER___183 = 0,
    SI_KERNEL___183 = 128
} ;
enum __anonenum_131038172___183 {
    ILL_ILLOPC___183 = 1,
    ILL_ILLOPN___183 = 2,
    ILL_ILLADR___183 = 3,
    ILL_ILLTRP___183 = 4,
    ILL_PRVOPC___183 = 5,
    ILL_PRVREG___183 = 6,
    ILL_COPROC___183 = 7,
    ILL_BADSTK___183 = 8
} ;
enum __anonenum_452038093___183 {
    FPE_INTDIV___183 = 1,
    FPE_INTOVF___183 = 2,
    FPE_FLTDIV___183 = 3,
    FPE_FLTOVF___183 = 4,
    FPE_FLTUND___183 = 5,
    FPE_FLTRES___183 = 6,
    FPE_FLTINV___183 = 7,
    FPE_FLTSUB___183 = 8
} ;
enum __anonenum_30976155___183 {
    SEGV_MAPERR___183 = 1,
    SEGV_ACCERR___183 = 2,
    SEGV_BNDERR___183 = 3,
    SEGV_PKUERR___183 = 4
} ;
enum __anonenum_1036286214___183 {
    BUS_ADRALN___183 = 1,
    BUS_ADRERR___183 = 2,
    BUS_OBJERR___183 = 3,
    BUS_MCEERR_AR___183 = 4,
    BUS_MCEERR_AO___183 = 5
} ;
enum __anonenum_493465559___183 {
    TRAP_BRKPT___183 = 1,
    TRAP_TRACE___183 = 2
} ;
enum __anonenum_23175539___183 {
    CLD_EXITED___183 = 1,
    CLD_KILLED___183 = 2,
    CLD_DUMPED___183 = 3,
    CLD_TRAPPED___183 = 4,
    CLD_STOPPED___183 = 5,
    CLD_CONTINUED___183 = 6
} ;
enum __anonenum_111643124___183 {
    POLL_IN___183 = 1,
    POLL_OUT___183 = 2,
    POLL_MSG___183 = 3,
    POLL_ERR___183 = 4,
    POLL_PRI___183 = 5,
    POLL_HUP___183 = 6
} ;
enum __anonenum_852341087___183 {
    SIGEV_SIGNAL___183 = 0,
    SIGEV_NONE___183 = 1,
    SIGEV_THREAD___183 = 2,
    SIGEV_THREAD_ID___183 = 4
} ;
enum __anonenum_451154152___183 {
    REG_R8___183 = 0,
    REG_R9___183 = 1,
    REG_R10___183 = 2,
    REG_R11___183 = 3,
    REG_R12___183 = 4,
    REG_R13___183 = 5,
    REG_R14___183 = 6,
    REG_R15___183 = 7,
    REG_RDI___183 = 8,
    REG_RSI___183 = 9,
    REG_RBP___183 = 10,
    REG_RBX___183 = 11,
    REG_RDX___183 = 12,
    REG_RAX___183 = 13,
    REG_RCX___183 = 14,
    REG_RSP___183 = 15,
    REG_RIP___183 = 16,
    REG_EFL___183 = 17,
    REG_CSGSFS___183 = 18,
    REG_ERR___183 = 19,
    REG_TRAPNO___183 = 20,
    REG_OLDMASK___183 = 21,
    REG_CR2___183 = 22
} ;
enum __anonenum_57186863___183 {
    SS_ONSTACK___183 = 1,
    SS_DISABLE___183 = 2
} ;
enum __anonenum_83571709___183 {
    MSG_OOB___183 = 1,
    MSG_PEEK___183 = 2,
    MSG_DONTROUTE___183 = 4,
    MSG_TRYHARD___183 = 4,
    MSG_CTRUNC___183 = 8,
    MSG_PROXY___183 = 16,
    MSG_TRUNC___183 = 32,
    MSG_DONTWAIT___183 = 64,
    MSG_EOR___183 = 128,
    MSG_WAITALL___183 = 256,
    MSG_FIN___183 = 512,
    MSG_SYN___183 = 1024,
    MSG_CONFIRM___183 = 2048,
    MSG_RST___183 = 4096,
    MSG_ERRQUEUE___183 = 8192,
    MSG_NOSIGNAL___183 = 16384,
    MSG_MORE___183 = 32768,
    MSG_WAITFORONE___183 = 65536,
    MSG_BATCH___183 = 262144,
    MSG_ZEROCOPY___183 = 67108864,
    MSG_FASTOPEN___183 = 536870912,
    MSG_CMSG_CLOEXEC___183 = 1073741824
} ;
enum __anonenum_617082774___183 {
    SCM_RIGHTS___183 = 1,
    SCM_CREDENTIALS___183 = 2
} ;
enum __anonenum_606441560___183 {
    SHUT_RD___183 = 0,
    SHUT_WR___183 = 1,
    SHUT_RDWR___183 = 2
} ;
enum __anonenum_681669233___183 {
    IPPROTO_IP___183 = 0,
    IPPROTO_ICMP___183 = 1,
    IPPROTO_IGMP___183 = 2,
    IPPROTO_IPIP___183 = 4,
    IPPROTO_TCP___183 = 6,
    IPPROTO_EGP___183 = 8,
    IPPROTO_PUP___183 = 12,
    IPPROTO_UDP___183 = 17,
    IPPROTO_IDP___183 = 22,
    IPPROTO_TP___183 = 29,
    IPPROTO_DCCP___183 = 33,
    IPPROTO_IPV6___183 = 41,
    IPPROTO_RSVP___183 = 46,
    IPPROTO_GRE___183 = 47,
    IPPROTO_ESP___183 = 50,
    IPPROTO_AH___183 = 51,
    IPPROTO_MTP___183 = 92,
    IPPROTO_BEETPH___183 = 94,
    IPPROTO_ENCAP___183 = 98,
    IPPROTO_PIM___183 = 103,
    IPPROTO_COMP___183 = 108,
    IPPROTO_SCTP___183 = 132,
    IPPROTO_UDPLITE___183 = 136,
    IPPROTO_MPLS___183 = 137,
    IPPROTO_RAW___183 = 255,
    IPPROTO_MAX___183 = 256
} ;
enum __anonenum_218739988___183 {
    IPPROTO_HOPOPTS___183 = 0,
    IPPROTO_ROUTING___183 = 43,
    IPPROTO_FRAGMENT___183 = 44,
    IPPROTO_ICMPV6___183 = 58,
    IPPROTO_NONE___183 = 59,
    IPPROTO_DSTOPTS___183 = 60,
    IPPROTO_MH___183 = 135
} ;
enum __anonenum_662268580___183 {
    IPPORT_ECHO___183 = 7,
    IPPORT_DISCARD___183 = 9,
    IPPORT_SYSTAT___183 = 11,
    IPPORT_DAYTIME___183 = 13,
    IPPORT_NETSTAT___183 = 15,
    IPPORT_FTP___183 = 21,
    IPPORT_TELNET___183 = 23,
    IPPORT_SMTP___183 = 25,
    IPPORT_TIMESERVER___183 = 37,
    IPPORT_NAMESERVER___183 = 42,
    IPPORT_WHOIS___183 = 43,
    IPPORT_MTP___183 = 57,
    IPPORT_TFTP___183 = 69,
    IPPORT_RJE___183 = 77,
    IPPORT_FINGER___183 = 79,
    IPPORT_TTYLINK___183 = 87,
    IPPORT_SUPDUP___183 = 95,
    IPPORT_EXECSERVER___183 = 512,
    IPPORT_LOGINSERVER___183 = 513,
    IPPORT_CMDSERVER___183 = 514,
    IPPORT_EFSSERVER___183 = 520,
    IPPORT_BIFFUDP___183 = 512,
    IPPORT_WHOSERVER___183 = 513,
    IPPORT_ROUTESERVER___183 = 520,
    IPPORT_RESERVED___183 = 1024,
    IPPORT_USERRESERVED___183 = 5000
} ;
enum __anonenum_788308992___183 {
    TCP_ESTABLISHED___183 = 1,
    TCP_SYN_SENT___183 = 2,
    TCP_SYN_RECV___183 = 3,
    TCP_FIN_WAIT1___183 = 4,
    TCP_FIN_WAIT2___183 = 5,
    TCP_TIME_WAIT___183 = 6,
    TCP_CLOSE___183 = 7,
    TCP_CLOSE_WAIT___183 = 8,
    TCP_LAST_ACK___183 = 9,
    TCP_LISTEN___183 = 10,
    TCP_CLOSING___183 = 11
} ;
enum __anonenum_221125648___183 {
    TCP_NO_QUEUE___183 = 0,
    TCP_RECV_QUEUE___183 = 1,
    TCP_SEND_QUEUE___183 = 2,
    TCP_QUEUES_NR___183 = 3
} ;
enum __anonenum_34415463___183 {
    PTHREAD_CREATE_JOINABLE___183 = 0,
    PTHREAD_CREATE_DETACHED___183 = 1
} ;
enum __anonenum_303612439___183 {
    PTHREAD_MUTEX_TIMED_NP___183 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___183 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___183 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___183 = 3,
    PTHREAD_MUTEX_NORMAL___183 = 0,
    PTHREAD_MUTEX_RECURSIVE___183 = 1,
    PTHREAD_MUTEX_ERRORCHECK___183 = 2,
    PTHREAD_MUTEX_DEFAULT___183 = 0,
    PTHREAD_MUTEX_FAST_NP___183 = 0
} ;
enum __anonenum_931900394___183 {
    PTHREAD_MUTEX_STALLED___183 = 0,
    PTHREAD_MUTEX_STALLED_NP___183 = 0,
    PTHREAD_MUTEX_ROBUST___183 = 1,
    PTHREAD_MUTEX_ROBUST_NP___183 = 1
} ;
enum __anonenum_205214487___183 {
    PTHREAD_PRIO_NONE___183 = 0,
    PTHREAD_PRIO_INHERIT___183 = 1,
    PTHREAD_PRIO_PROTECT___183 = 2
} ;
enum __anonenum_25043950___183 {
    PTHREAD_RWLOCK_PREFER_READER_NP___183 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___183 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___183 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___183 = 0
} ;
enum __anonenum_436439511___183 {
    PTHREAD_INHERIT_SCHED___183 = 0,
    PTHREAD_EXPLICIT_SCHED___183 = 1
} ;
enum __anonenum_998661166___183 {
    PTHREAD_SCOPE_SYSTEM___183 = 0,
    PTHREAD_SCOPE_PROCESS___183 = 1
} ;
enum __anonenum_146137331___183 {
    PTHREAD_PROCESS_PRIVATE___183 = 0,
    PTHREAD_PROCESS_SHARED___183 = 1
} ;
enum __anonenum_53396917___183 {
    PTHREAD_CANCEL_ENABLE___183 = 0,
    PTHREAD_CANCEL_DISABLE___183 = 1
} ;
enum __anonenum_904563783___183 {
    PTHREAD_CANCEL_DEFERRED___183 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___183 = 1
} ;
enum __anonenum_672052974___183 {
    SSL_CT_VALIDATION_PERMISSIVE___183 = 0,
    SSL_CT_VALIDATION_STRICT___183 = 1
} ;
typedef int (*open_istream_fn)(struct git_istream * , struct repository * , struct object_id  const  * ,
                               enum object_type * );
typedef int (*close_istream_fn)(struct git_istream * );
typedef ssize_t (*read_istream_fn)(struct git_istream * , char * , size_t  );
struct filtered_istream {
   struct git_istream *upstream ;
   struct stream_filter *filter ;
   char ibuf[16384] ;
   char obuf[16384] ;
   int i_end ;
   int i_ptr ;
   int o_end ;
   int o_ptr ;
   int input_finished ;
};
enum __anonenum_z_state_110445113 {
    z_unused = 0,
    z_used = 1,
    z_done = 2,
    z_error = 3
} ;
struct __anonstruct_incore_163524826 {
   char *buf ;
   unsigned long read_ptr ;
};
struct __anonstruct_loose_595530297 {
   void *mapped ;
   unsigned long mapsize ;
   char hdr[32] ;
   int hdr_avail ;
   int hdr_used ;
};
struct __anonstruct_in_pack_513007841 {
   struct packed_git *pack ;
   off_t pos ;
};
union __anonunion_u_1070960230 {
   struct __anonstruct_incore_163524826 incore ;
   struct __anonstruct_loose_595530297 loose ;
   struct __anonstruct_in_pack_513007841 in_pack ;
   struct filtered_istream filtered ;
};
struct git_istream {
   int (*open)(struct git_istream * , struct repository * , struct object_id  const  * ,
               enum object_type * ) ;
   int (*close)(struct git_istream * ) ;
   ssize_t (*read)(struct git_istream * , char * , size_t  ) ;
   unsigned long size ;
   git_zstream z ;
   enum __anonenum_z_state_110445113 z_state ;
   union __anonunion_u_1070960230 u ;
};
enum __anonenum_437032235___184 {
    _PC_LINK_MAX___184 = 0,
    _PC_MAX_CANON___184 = 1,
    _PC_MAX_INPUT___184 = 2,
    _PC_NAME_MAX___184 = 3,
    _PC_PATH_MAX___184 = 4,
    _PC_PIPE_BUF___184 = 5,
    _PC_CHOWN_RESTRICTED___184 = 6,
    _PC_NO_TRUNC___184 = 7,
    _PC_VDISABLE___184 = 8,
    _PC_SYNC_IO___184 = 9,
    _PC_ASYNC_IO___184 = 10,
    _PC_PRIO_IO___184 = 11,
    _PC_SOCK_MAXBUF___184 = 12,
    _PC_FILESIZEBITS___184 = 13,
    _PC_REC_INCR_XFER_SIZE___184 = 14,
    _PC_REC_MAX_XFER_SIZE___184 = 15,
    _PC_REC_MIN_XFER_SIZE___184 = 16,
    _PC_REC_XFER_ALIGN___184 = 17,
    _PC_ALLOC_SIZE_MIN___184 = 18,
    _PC_SYMLINK_MAX___184 = 19,
    _PC_2_SYMLINKS___184 = 20
} ;
enum __anonenum_315186338___184 {
    _SC_ARG_MAX___184 = 0,
    _SC_CHILD_MAX___184 = 1,
    _SC_CLK_TCK___184 = 2,
    _SC_NGROUPS_MAX___184 = 3,
    _SC_OPEN_MAX___184 = 4,
    _SC_STREAM_MAX___184 = 5,
    _SC_TZNAME_MAX___184 = 6,
    _SC_JOB_CONTROL___184 = 7,
    _SC_SAVED_IDS___184 = 8,
    _SC_REALTIME_SIGNALS___184 = 9,
    _SC_PRIORITY_SCHEDULING___184 = 10,
    _SC_TIMERS___184 = 11,
    _SC_ASYNCHRONOUS_IO___184 = 12,
    _SC_PRIORITIZED_IO___184 = 13,
    _SC_SYNCHRONIZED_IO___184 = 14,
    _SC_FSYNC___184 = 15,
    _SC_MAPPED_FILES___184 = 16,
    _SC_MEMLOCK___184 = 17,
    _SC_MEMLOCK_RANGE___184 = 18,
    _SC_MEMORY_PROTECTION___184 = 19,
    _SC_MESSAGE_PASSING___184 = 20,
    _SC_SEMAPHORES___184 = 21,
    _SC_SHARED_MEMORY_OBJECTS___184 = 22,
    _SC_AIO_LISTIO_MAX___184 = 23,
    _SC_AIO_MAX___184 = 24,
    _SC_AIO_PRIO_DELTA_MAX___184 = 25,
    _SC_DELAYTIMER_MAX___184 = 26,
    _SC_MQ_OPEN_MAX___184 = 27,
    _SC_MQ_PRIO_MAX___184 = 28,
    _SC_VERSION___184 = 29,
    _SC_PAGESIZE___184 = 30,
    _SC_RTSIG_MAX___184 = 31,
    _SC_SEM_NSEMS_MAX___184 = 32,
    _SC_SEM_VALUE_MAX___184 = 33,
    _SC_SIGQUEUE_MAX___184 = 34,
    _SC_TIMER_MAX___184 = 35,
    _SC_BC_BASE_MAX___184 = 36,
    _SC_BC_DIM_MAX___184 = 37,
    _SC_BC_SCALE_MAX___184 = 38,
    _SC_BC_STRING_MAX___184 = 39,
    _SC_COLL_WEIGHTS_MAX___184 = 40,
    _SC_EQUIV_CLASS_MAX___184 = 41,
    _SC_EXPR_NEST_MAX___184 = 42,
    _SC_LINE_MAX___184 = 43,
    _SC_RE_DUP_MAX___184 = 44,
    _SC_CHARCLASS_NAME_MAX___184 = 45,
    _SC_2_VERSION___184 = 46,
    _SC_2_C_BIND___184 = 47,
    _SC_2_C_DEV___184 = 48,
    _SC_2_FORT_DEV___184 = 49,
    _SC_2_FORT_RUN___184 = 50,
    _SC_2_SW_DEV___184 = 51,
    _SC_2_LOCALEDEF___184 = 52,
    _SC_PII___184 = 53,
    _SC_PII_XTI___184 = 54,
    _SC_PII_SOCKET___184 = 55,
    _SC_PII_INTERNET___184 = 56,
    _SC_PII_OSI___184 = 57,
    _SC_POLL___184 = 58,
    _SC_SELECT___184 = 59,
    _SC_UIO_MAXIOV___184 = 60,
    _SC_IOV_MAX___184 = 60,
    _SC_PII_INTERNET_STREAM___184 = 61,
    _SC_PII_INTERNET_DGRAM___184 = 62,
    _SC_PII_OSI_COTS___184 = 63,
    _SC_PII_OSI_CLTS___184 = 64,
    _SC_PII_OSI_M___184 = 65,
    _SC_T_IOV_MAX___184 = 66,
    _SC_THREADS___184 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___184 = 68,
    _SC_GETGR_R_SIZE_MAX___184 = 69,
    _SC_GETPW_R_SIZE_MAX___184 = 70,
    _SC_LOGIN_NAME_MAX___184 = 71,
    _SC_TTY_NAME_MAX___184 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___184 = 73,
    _SC_THREAD_KEYS_MAX___184 = 74,
    _SC_THREAD_STACK_MIN___184 = 75,
    _SC_THREAD_THREADS_MAX___184 = 76,
    _SC_THREAD_ATTR_STACKADDR___184 = 77,
    _SC_THREAD_ATTR_STACKSIZE___184 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___184 = 79,
    _SC_THREAD_PRIO_INHERIT___184 = 80,
    _SC_THREAD_PRIO_PROTECT___184 = 81,
    _SC_THREAD_PROCESS_SHARED___184 = 82,
    _SC_NPROCESSORS_CONF___184 = 83,
    _SC_NPROCESSORS_ONLN___184 = 84,
    _SC_PHYS_PAGES___184 = 85,
    _SC_AVPHYS_PAGES___184 = 86,
    _SC_ATEXIT_MAX___184 = 87,
    _SC_PASS_MAX___184 = 88,
    _SC_XOPEN_VERSION___184 = 89,
    _SC_XOPEN_XCU_VERSION___184 = 90,
    _SC_XOPEN_UNIX___184 = 91,
    _SC_XOPEN_CRYPT___184 = 92,
    _SC_XOPEN_ENH_I18N___184 = 93,
    _SC_XOPEN_SHM___184 = 94,
    _SC_2_CHAR_TERM___184 = 95,
    _SC_2_C_VERSION___184 = 96,
    _SC_2_UPE___184 = 97,
    _SC_XOPEN_XPG2___184 = 98,
    _SC_XOPEN_XPG3___184 = 99,
    _SC_XOPEN_XPG4___184 = 100,
    _SC_CHAR_BIT___184 = 101,
    _SC_CHAR_MAX___184 = 102,
    _SC_CHAR_MIN___184 = 103,
    _SC_INT_MAX___184 = 104,
    _SC_INT_MIN___184 = 105,
    _SC_LONG_BIT___184 = 106,
    _SC_WORD_BIT___184 = 107,
    _SC_MB_LEN_MAX___184 = 108,
    _SC_NZERO___184 = 109,
    _SC_SSIZE_MAX___184 = 110,
    _SC_SCHAR_MAX___184 = 111,
    _SC_SCHAR_MIN___184 = 112,
    _SC_SHRT_MAX___184 = 113,
    _SC_SHRT_MIN___184 = 114,
    _SC_UCHAR_MAX___184 = 115,
    _SC_UINT_MAX___184 = 116,
    _SC_ULONG_MAX___184 = 117,
    _SC_USHRT_MAX___184 = 118,
    _SC_NL_ARGMAX___184 = 119,
    _SC_NL_LANGMAX___184 = 120,
    _SC_NL_MSGMAX___184 = 121,
    _SC_NL_NMAX___184 = 122,
    _SC_NL_SETMAX___184 = 123,
    _SC_NL_TEXTMAX___184 = 124,
    _SC_XBS5_ILP32_OFF32___184 = 125,
    _SC_XBS5_ILP32_OFFBIG___184 = 126,
    _SC_XBS5_LP64_OFF64___184 = 127,
    _SC_XBS5_LPBIG_OFFBIG___184 = 128,
    _SC_XOPEN_LEGACY___184 = 129,
    _SC_XOPEN_REALTIME___184 = 130,
    _SC_XOPEN_REALTIME_THREADS___184 = 131,
    _SC_ADVISORY_INFO___184 = 132,
    _SC_BARRIERS___184 = 133,
    _SC_BASE___184 = 134,
    _SC_C_LANG_SUPPORT___184 = 135,
    _SC_C_LANG_SUPPORT_R___184 = 136,
    _SC_CLOCK_SELECTION___184 = 137,
    _SC_CPUTIME___184 = 138,
    _SC_THREAD_CPUTIME___184 = 139,
    _SC_DEVICE_IO___184 = 140,
    _SC_DEVICE_SPECIFIC___184 = 141,
    _SC_DEVICE_SPECIFIC_R___184 = 142,
    _SC_FD_MGMT___184 = 143,
    _SC_FIFO___184 = 144,
    _SC_PIPE___184 = 145,
    _SC_FILE_ATTRIBUTES___184 = 146,
    _SC_FILE_LOCKING___184 = 147,
    _SC_FILE_SYSTEM___184 = 148,
    _SC_MONOTONIC_CLOCK___184 = 149,
    _SC_MULTI_PROCESS___184 = 150,
    _SC_SINGLE_PROCESS___184 = 151,
    _SC_NETWORKING___184 = 152,
    _SC_READER_WRITER_LOCKS___184 = 153,
    _SC_SPIN_LOCKS___184 = 154,
    _SC_REGEXP___184 = 155,
    _SC_REGEX_VERSION___184 = 156,
    _SC_SHELL___184 = 157,
    _SC_SIGNALS___184 = 158,
    _SC_SPAWN___184 = 159,
    _SC_SPORADIC_SERVER___184 = 160,
    _SC_THREAD_SPORADIC_SERVER___184 = 161,
    _SC_SYSTEM_DATABASE___184 = 162,
    _SC_SYSTEM_DATABASE_R___184 = 163,
    _SC_TIMEOUTS___184 = 164,
    _SC_TYPED_MEMORY_OBJECTS___184 = 165,
    _SC_USER_GROUPS___184 = 166,
    _SC_USER_GROUPS_R___184 = 167,
    _SC_2_PBS___184 = 168,
    _SC_2_PBS_ACCOUNTING___184 = 169,
    _SC_2_PBS_LOCATE___184 = 170,
    _SC_2_PBS_MESSAGE___184 = 171,
    _SC_2_PBS_TRACK___184 = 172,
    _SC_SYMLOOP_MAX___184 = 173,
    _SC_STREAMS___184 = 174,
    _SC_2_PBS_CHECKPOINT___184 = 175,
    _SC_V6_ILP32_OFF32___184 = 176,
    _SC_V6_ILP32_OFFBIG___184 = 177,
    _SC_V6_LP64_OFF64___184 = 178,
    _SC_V6_LPBIG_OFFBIG___184 = 179,
    _SC_HOST_NAME_MAX___184 = 180,
    _SC_TRACE___184 = 181,
    _SC_TRACE_EVENT_FILTER___184 = 182,
    _SC_TRACE_INHERIT___184 = 183,
    _SC_TRACE_LOG___184 = 184,
    _SC_LEVEL1_ICACHE_SIZE___184 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___184 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___184 = 187,
    _SC_LEVEL1_DCACHE_SIZE___184 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___184 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___184 = 190,
    _SC_LEVEL2_CACHE_SIZE___184 = 191,
    _SC_LEVEL2_CACHE_ASSOC___184 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___184 = 193,
    _SC_LEVEL3_CACHE_SIZE___184 = 194,
    _SC_LEVEL3_CACHE_ASSOC___184 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___184 = 196,
    _SC_LEVEL4_CACHE_SIZE___184 = 197,
    _SC_LEVEL4_CACHE_ASSOC___184 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___184 = 199,
    _SC_IPV6___184 = 235,
    _SC_RAW_SOCKETS___184 = 236,
    _SC_V7_ILP32_OFF32___184 = 237,
    _SC_V7_ILP32_OFFBIG___184 = 238,
    _SC_V7_LP64_OFF64___184 = 239,
    _SC_V7_LPBIG_OFFBIG___184 = 240,
    _SC_SS_REPL_MAX___184 = 241,
    _SC_TRACE_EVENT_NAME_MAX___184 = 242,
    _SC_TRACE_NAME_MAX___184 = 243,
    _SC_TRACE_SYS_MAX___184 = 244,
    _SC_TRACE_USER_EVENT_MAX___184 = 245,
    _SC_XOPEN_STREAMS___184 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___184 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___184 = 248
} ;
enum __anonenum_875524036___184 {
    _CS_PATH___184 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___184 = 1,
    _CS_GNU_LIBC_VERSION___184 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___184 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___184 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___184 = 5,
    _CS_LFS_CFLAGS___184 = 1000,
    _CS_LFS_LDFLAGS___184 = 1001,
    _CS_LFS_LIBS___184 = 1002,
    _CS_LFS_LINTFLAGS___184 = 1003,
    _CS_LFS64_CFLAGS___184 = 1004,
    _CS_LFS64_LDFLAGS___184 = 1005,
    _CS_LFS64_LIBS___184 = 1006,
    _CS_LFS64_LINTFLAGS___184 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___184 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___184 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___184 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___184 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___184 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___184 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___184 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___184 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___184 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___184 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___184 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___184 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___184 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___184 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___184 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___184 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___184 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___184 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___184 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___184 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___184 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___184 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___184 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___184 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___184 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___184 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___184 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___184 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___184 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___184 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___184 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___184 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___184 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___184 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___184 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___184 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___184 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___184 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___184 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___184 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___184 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___184 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___184 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___184 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___184 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___184 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___184 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___184 = 1147,
    _CS_V6_ENV___184 = 1148,
    _CS_V7_ENV___184 = 1149
} ;
enum __anonenum_513775621___184 {
    DT_UNKNOWN___184 = 0,
    DT_FIFO___184 = 1,
    DT_CHR___184 = 2,
    DT_DIR___184 = 4,
    DT_BLK___184 = 6,
    DT_REG___184 = 8,
    DT_LNK___184 = 10,
    DT_SOCK___184 = 12,
    DT_WHT___184 = 14
} ;
enum __anonenum_77002343___184 {
    SI_ASYNCNL___184 = -60,
    SI_TKILL___184 = -6,
    SI_SIGIO___184 = -5,
    SI_ASYNCIO___184 = -4,
    SI_MESGQ___184 = -3,
    SI_TIMER___184 = -2,
    SI_QUEUE___184 = -1,
    SI_USER___184 = 0,
    SI_KERNEL___184 = 128
} ;
enum __anonenum_131038172___184 {
    ILL_ILLOPC___184 = 1,
    ILL_ILLOPN___184 = 2,
    ILL_ILLADR___184 = 3,
    ILL_ILLTRP___184 = 4,
    ILL_PRVOPC___184 = 5,
    ILL_PRVREG___184 = 6,
    ILL_COPROC___184 = 7,
    ILL_BADSTK___184 = 8
} ;
enum __anonenum_452038093___184 {
    FPE_INTDIV___184 = 1,
    FPE_INTOVF___184 = 2,
    FPE_FLTDIV___184 = 3,
    FPE_FLTOVF___184 = 4,
    FPE_FLTUND___184 = 5,
    FPE_FLTRES___184 = 6,
    FPE_FLTINV___184 = 7,
    FPE_FLTSUB___184 = 8
} ;
enum __anonenum_30976155___184 {
    SEGV_MAPERR___184 = 1,
    SEGV_ACCERR___184 = 2,
    SEGV_BNDERR___184 = 3,
    SEGV_PKUERR___184 = 4
} ;
enum __anonenum_1036286214___184 {
    BUS_ADRALN___184 = 1,
    BUS_ADRERR___184 = 2,
    BUS_OBJERR___184 = 3,
    BUS_MCEERR_AR___184 = 4,
    BUS_MCEERR_AO___184 = 5
} ;
enum __anonenum_493465559___184 {
    TRAP_BRKPT___184 = 1,
    TRAP_TRACE___184 = 2
} ;
enum __anonenum_23175539___184 {
    CLD_EXITED___184 = 1,
    CLD_KILLED___184 = 2,
    CLD_DUMPED___184 = 3,
    CLD_TRAPPED___184 = 4,
    CLD_STOPPED___184 = 5,
    CLD_CONTINUED___184 = 6
} ;
enum __anonenum_111643124___184 {
    POLL_IN___184 = 1,
    POLL_OUT___184 = 2,
    POLL_MSG___184 = 3,
    POLL_ERR___184 = 4,
    POLL_PRI___184 = 5,
    POLL_HUP___184 = 6
} ;
enum __anonenum_852341087___184 {
    SIGEV_SIGNAL___184 = 0,
    SIGEV_NONE___184 = 1,
    SIGEV_THREAD___184 = 2,
    SIGEV_THREAD_ID___184 = 4
} ;
enum __anonenum_451154152___184 {
    REG_R8___184 = 0,
    REG_R9___184 = 1,
    REG_R10___184 = 2,
    REG_R11___184 = 3,
    REG_R12___184 = 4,
    REG_R13___184 = 5,
    REG_R14___184 = 6,
    REG_R15___184 = 7,
    REG_RDI___184 = 8,
    REG_RSI___184 = 9,
    REG_RBP___184 = 10,
    REG_RBX___184 = 11,
    REG_RDX___184 = 12,
    REG_RAX___184 = 13,
    REG_RCX___184 = 14,
    REG_RSP___184 = 15,
    REG_RIP___184 = 16,
    REG_EFL___184 = 17,
    REG_CSGSFS___184 = 18,
    REG_ERR___184 = 19,
    REG_TRAPNO___184 = 20,
    REG_OLDMASK___184 = 21,
    REG_CR2___184 = 22
} ;
enum __anonenum_57186863___184 {
    SS_ONSTACK___184 = 1,
    SS_DISABLE___184 = 2
} ;
enum __anonenum_83571709___184 {
    MSG_OOB___184 = 1,
    MSG_PEEK___184 = 2,
    MSG_DONTROUTE___184 = 4,
    MSG_TRYHARD___184 = 4,
    MSG_CTRUNC___184 = 8,
    MSG_PROXY___184 = 16,
    MSG_TRUNC___184 = 32,
    MSG_DONTWAIT___184 = 64,
    MSG_EOR___184 = 128,
    MSG_WAITALL___184 = 256,
    MSG_FIN___184 = 512,
    MSG_SYN___184 = 1024,
    MSG_CONFIRM___184 = 2048,
    MSG_RST___184 = 4096,
    MSG_ERRQUEUE___184 = 8192,
    MSG_NOSIGNAL___184 = 16384,
    MSG_MORE___184 = 32768,
    MSG_WAITFORONE___184 = 65536,
    MSG_BATCH___184 = 262144,
    MSG_ZEROCOPY___184 = 67108864,
    MSG_FASTOPEN___184 = 536870912,
    MSG_CMSG_CLOEXEC___184 = 1073741824
} ;
enum __anonenum_617082774___184 {
    SCM_RIGHTS___184 = 1,
    SCM_CREDENTIALS___184 = 2
} ;
enum __anonenum_606441560___184 {
    SHUT_RD___184 = 0,
    SHUT_WR___184 = 1,
    SHUT_RDWR___184 = 2
} ;
enum __anonenum_681669233___184 {
    IPPROTO_IP___184 = 0,
    IPPROTO_ICMP___184 = 1,
    IPPROTO_IGMP___184 = 2,
    IPPROTO_IPIP___184 = 4,
    IPPROTO_TCP___184 = 6,
    IPPROTO_EGP___184 = 8,
    IPPROTO_PUP___184 = 12,
    IPPROTO_UDP___184 = 17,
    IPPROTO_IDP___184 = 22,
    IPPROTO_TP___184 = 29,
    IPPROTO_DCCP___184 = 33,
    IPPROTO_IPV6___184 = 41,
    IPPROTO_RSVP___184 = 46,
    IPPROTO_GRE___184 = 47,
    IPPROTO_ESP___184 = 50,
    IPPROTO_AH___184 = 51,
    IPPROTO_MTP___184 = 92,
    IPPROTO_BEETPH___184 = 94,
    IPPROTO_ENCAP___184 = 98,
    IPPROTO_PIM___184 = 103,
    IPPROTO_COMP___184 = 108,
    IPPROTO_SCTP___184 = 132,
    IPPROTO_UDPLITE___184 = 136,
    IPPROTO_MPLS___184 = 137,
    IPPROTO_RAW___184 = 255,
    IPPROTO_MAX___184 = 256
} ;
enum __anonenum_218739988___184 {
    IPPROTO_HOPOPTS___184 = 0,
    IPPROTO_ROUTING___184 = 43,
    IPPROTO_FRAGMENT___184 = 44,
    IPPROTO_ICMPV6___184 = 58,
    IPPROTO_NONE___184 = 59,
    IPPROTO_DSTOPTS___184 = 60,
    IPPROTO_MH___184 = 135
} ;
enum __anonenum_662268580___184 {
    IPPORT_ECHO___184 = 7,
    IPPORT_DISCARD___184 = 9,
    IPPORT_SYSTAT___184 = 11,
    IPPORT_DAYTIME___184 = 13,
    IPPORT_NETSTAT___184 = 15,
    IPPORT_FTP___184 = 21,
    IPPORT_TELNET___184 = 23,
    IPPORT_SMTP___184 = 25,
    IPPORT_TIMESERVER___184 = 37,
    IPPORT_NAMESERVER___184 = 42,
    IPPORT_WHOIS___184 = 43,
    IPPORT_MTP___184 = 57,
    IPPORT_TFTP___184 = 69,
    IPPORT_RJE___184 = 77,
    IPPORT_FINGER___184 = 79,
    IPPORT_TTYLINK___184 = 87,
    IPPORT_SUPDUP___184 = 95,
    IPPORT_EXECSERVER___184 = 512,
    IPPORT_LOGINSERVER___184 = 513,
    IPPORT_CMDSERVER___184 = 514,
    IPPORT_EFSSERVER___184 = 520,
    IPPORT_BIFFUDP___184 = 512,
    IPPORT_WHOSERVER___184 = 513,
    IPPORT_ROUTESERVER___184 = 520,
    IPPORT_RESERVED___184 = 1024,
    IPPORT_USERRESERVED___184 = 5000
} ;
enum __anonenum_788308992___184 {
    TCP_ESTABLISHED___184 = 1,
    TCP_SYN_SENT___184 = 2,
    TCP_SYN_RECV___184 = 3,
    TCP_FIN_WAIT1___184 = 4,
    TCP_FIN_WAIT2___184 = 5,
    TCP_TIME_WAIT___184 = 6,
    TCP_CLOSE___184 = 7,
    TCP_CLOSE_WAIT___184 = 8,
    TCP_LAST_ACK___184 = 9,
    TCP_LISTEN___184 = 10,
    TCP_CLOSING___184 = 11
} ;
enum __anonenum_221125648___184 {
    TCP_NO_QUEUE___184 = 0,
    TCP_RECV_QUEUE___184 = 1,
    TCP_SEND_QUEUE___184 = 2,
    TCP_QUEUES_NR___184 = 3
} ;
enum __anonenum_34415463___184 {
    PTHREAD_CREATE_JOINABLE___184 = 0,
    PTHREAD_CREATE_DETACHED___184 = 1
} ;
enum __anonenum_303612439___184 {
    PTHREAD_MUTEX_TIMED_NP___184 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___184 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___184 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___184 = 3,
    PTHREAD_MUTEX_NORMAL___184 = 0,
    PTHREAD_MUTEX_RECURSIVE___184 = 1,
    PTHREAD_MUTEX_ERRORCHECK___184 = 2,
    PTHREAD_MUTEX_DEFAULT___184 = 0,
    PTHREAD_MUTEX_FAST_NP___184 = 0
} ;
enum __anonenum_931900394___184 {
    PTHREAD_MUTEX_STALLED___184 = 0,
    PTHREAD_MUTEX_STALLED_NP___184 = 0,
    PTHREAD_MUTEX_ROBUST___184 = 1,
    PTHREAD_MUTEX_ROBUST_NP___184 = 1
} ;
enum __anonenum_205214487___184 {
    PTHREAD_PRIO_NONE___184 = 0,
    PTHREAD_PRIO_INHERIT___184 = 1,
    PTHREAD_PRIO_PROTECT___184 = 2
} ;
enum __anonenum_25043950___184 {
    PTHREAD_RWLOCK_PREFER_READER_NP___184 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___184 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___184 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___184 = 0
} ;
enum __anonenum_436439511___184 {
    PTHREAD_INHERIT_SCHED___184 = 0,
    PTHREAD_EXPLICIT_SCHED___184 = 1
} ;
enum __anonenum_998661166___184 {
    PTHREAD_SCOPE_SYSTEM___184 = 0,
    PTHREAD_SCOPE_PROCESS___184 = 1
} ;
enum __anonenum_146137331___184 {
    PTHREAD_PROCESS_PRIVATE___184 = 0,
    PTHREAD_PROCESS_SHARED___184 = 1
} ;
enum __anonenum_53396917___184 {
    PTHREAD_CANCEL_ENABLE___184 = 0,
    PTHREAD_CANCEL_DISABLE___184 = 1
} ;
enum __anonenum_904563783___184 {
    PTHREAD_CANCEL_DEFERRED___184 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___184 = 1
} ;
enum __anonenum_672052974___184 {
    SSL_CT_VALIDATION_PERMISSIVE___184 = 0,
    SSL_CT_VALIDATION_STRICT___184 = 1
} ;
struct string_list_sort_ctx {
   int (*cmp)(char const   * , char const   * ) ;
};
enum __anonenum_437032235___185 {
    _PC_LINK_MAX___185 = 0,
    _PC_MAX_CANON___185 = 1,
    _PC_MAX_INPUT___185 = 2,
    _PC_NAME_MAX___185 = 3,
    _PC_PATH_MAX___185 = 4,
    _PC_PIPE_BUF___185 = 5,
    _PC_CHOWN_RESTRICTED___185 = 6,
    _PC_NO_TRUNC___185 = 7,
    _PC_VDISABLE___185 = 8,
    _PC_SYNC_IO___185 = 9,
    _PC_ASYNC_IO___185 = 10,
    _PC_PRIO_IO___185 = 11,
    _PC_SOCK_MAXBUF___185 = 12,
    _PC_FILESIZEBITS___185 = 13,
    _PC_REC_INCR_XFER_SIZE___185 = 14,
    _PC_REC_MAX_XFER_SIZE___185 = 15,
    _PC_REC_MIN_XFER_SIZE___185 = 16,
    _PC_REC_XFER_ALIGN___185 = 17,
    _PC_ALLOC_SIZE_MIN___185 = 18,
    _PC_SYMLINK_MAX___185 = 19,
    _PC_2_SYMLINKS___185 = 20
} ;
enum __anonenum_315186338___185 {
    _SC_ARG_MAX___185 = 0,
    _SC_CHILD_MAX___185 = 1,
    _SC_CLK_TCK___185 = 2,
    _SC_NGROUPS_MAX___185 = 3,
    _SC_OPEN_MAX___185 = 4,
    _SC_STREAM_MAX___185 = 5,
    _SC_TZNAME_MAX___185 = 6,
    _SC_JOB_CONTROL___185 = 7,
    _SC_SAVED_IDS___185 = 8,
    _SC_REALTIME_SIGNALS___185 = 9,
    _SC_PRIORITY_SCHEDULING___185 = 10,
    _SC_TIMERS___185 = 11,
    _SC_ASYNCHRONOUS_IO___185 = 12,
    _SC_PRIORITIZED_IO___185 = 13,
    _SC_SYNCHRONIZED_IO___185 = 14,
    _SC_FSYNC___185 = 15,
    _SC_MAPPED_FILES___185 = 16,
    _SC_MEMLOCK___185 = 17,
    _SC_MEMLOCK_RANGE___185 = 18,
    _SC_MEMORY_PROTECTION___185 = 19,
    _SC_MESSAGE_PASSING___185 = 20,
    _SC_SEMAPHORES___185 = 21,
    _SC_SHARED_MEMORY_OBJECTS___185 = 22,
    _SC_AIO_LISTIO_MAX___185 = 23,
    _SC_AIO_MAX___185 = 24,
    _SC_AIO_PRIO_DELTA_MAX___185 = 25,
    _SC_DELAYTIMER_MAX___185 = 26,
    _SC_MQ_OPEN_MAX___185 = 27,
    _SC_MQ_PRIO_MAX___185 = 28,
    _SC_VERSION___185 = 29,
    _SC_PAGESIZE___185 = 30,
    _SC_RTSIG_MAX___185 = 31,
    _SC_SEM_NSEMS_MAX___185 = 32,
    _SC_SEM_VALUE_MAX___185 = 33,
    _SC_SIGQUEUE_MAX___185 = 34,
    _SC_TIMER_MAX___185 = 35,
    _SC_BC_BASE_MAX___185 = 36,
    _SC_BC_DIM_MAX___185 = 37,
    _SC_BC_SCALE_MAX___185 = 38,
    _SC_BC_STRING_MAX___185 = 39,
    _SC_COLL_WEIGHTS_MAX___185 = 40,
    _SC_EQUIV_CLASS_MAX___185 = 41,
    _SC_EXPR_NEST_MAX___185 = 42,
    _SC_LINE_MAX___185 = 43,
    _SC_RE_DUP_MAX___185 = 44,
    _SC_CHARCLASS_NAME_MAX___185 = 45,
    _SC_2_VERSION___185 = 46,
    _SC_2_C_BIND___185 = 47,
    _SC_2_C_DEV___185 = 48,
    _SC_2_FORT_DEV___185 = 49,
    _SC_2_FORT_RUN___185 = 50,
    _SC_2_SW_DEV___185 = 51,
    _SC_2_LOCALEDEF___185 = 52,
    _SC_PII___185 = 53,
    _SC_PII_XTI___185 = 54,
    _SC_PII_SOCKET___185 = 55,
    _SC_PII_INTERNET___185 = 56,
    _SC_PII_OSI___185 = 57,
    _SC_POLL___185 = 58,
    _SC_SELECT___185 = 59,
    _SC_UIO_MAXIOV___185 = 60,
    _SC_IOV_MAX___185 = 60,
    _SC_PII_INTERNET_STREAM___185 = 61,
    _SC_PII_INTERNET_DGRAM___185 = 62,
    _SC_PII_OSI_COTS___185 = 63,
    _SC_PII_OSI_CLTS___185 = 64,
    _SC_PII_OSI_M___185 = 65,
    _SC_T_IOV_MAX___185 = 66,
    _SC_THREADS___185 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___185 = 68,
    _SC_GETGR_R_SIZE_MAX___185 = 69,
    _SC_GETPW_R_SIZE_MAX___185 = 70,
    _SC_LOGIN_NAME_MAX___185 = 71,
    _SC_TTY_NAME_MAX___185 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___185 = 73,
    _SC_THREAD_KEYS_MAX___185 = 74,
    _SC_THREAD_STACK_MIN___185 = 75,
    _SC_THREAD_THREADS_MAX___185 = 76,
    _SC_THREAD_ATTR_STACKADDR___185 = 77,
    _SC_THREAD_ATTR_STACKSIZE___185 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___185 = 79,
    _SC_THREAD_PRIO_INHERIT___185 = 80,
    _SC_THREAD_PRIO_PROTECT___185 = 81,
    _SC_THREAD_PROCESS_SHARED___185 = 82,
    _SC_NPROCESSORS_CONF___185 = 83,
    _SC_NPROCESSORS_ONLN___185 = 84,
    _SC_PHYS_PAGES___185 = 85,
    _SC_AVPHYS_PAGES___185 = 86,
    _SC_ATEXIT_MAX___185 = 87,
    _SC_PASS_MAX___185 = 88,
    _SC_XOPEN_VERSION___185 = 89,
    _SC_XOPEN_XCU_VERSION___185 = 90,
    _SC_XOPEN_UNIX___185 = 91,
    _SC_XOPEN_CRYPT___185 = 92,
    _SC_XOPEN_ENH_I18N___185 = 93,
    _SC_XOPEN_SHM___185 = 94,
    _SC_2_CHAR_TERM___185 = 95,
    _SC_2_C_VERSION___185 = 96,
    _SC_2_UPE___185 = 97,
    _SC_XOPEN_XPG2___185 = 98,
    _SC_XOPEN_XPG3___185 = 99,
    _SC_XOPEN_XPG4___185 = 100,
    _SC_CHAR_BIT___185 = 101,
    _SC_CHAR_MAX___185 = 102,
    _SC_CHAR_MIN___185 = 103,
    _SC_INT_MAX___185 = 104,
    _SC_INT_MIN___185 = 105,
    _SC_LONG_BIT___185 = 106,
    _SC_WORD_BIT___185 = 107,
    _SC_MB_LEN_MAX___185 = 108,
    _SC_NZERO___185 = 109,
    _SC_SSIZE_MAX___185 = 110,
    _SC_SCHAR_MAX___185 = 111,
    _SC_SCHAR_MIN___185 = 112,
    _SC_SHRT_MAX___185 = 113,
    _SC_SHRT_MIN___185 = 114,
    _SC_UCHAR_MAX___185 = 115,
    _SC_UINT_MAX___185 = 116,
    _SC_ULONG_MAX___185 = 117,
    _SC_USHRT_MAX___185 = 118,
    _SC_NL_ARGMAX___185 = 119,
    _SC_NL_LANGMAX___185 = 120,
    _SC_NL_MSGMAX___185 = 121,
    _SC_NL_NMAX___185 = 122,
    _SC_NL_SETMAX___185 = 123,
    _SC_NL_TEXTMAX___185 = 124,
    _SC_XBS5_ILP32_OFF32___185 = 125,
    _SC_XBS5_ILP32_OFFBIG___185 = 126,
    _SC_XBS5_LP64_OFF64___185 = 127,
    _SC_XBS5_LPBIG_OFFBIG___185 = 128,
    _SC_XOPEN_LEGACY___185 = 129,
    _SC_XOPEN_REALTIME___185 = 130,
    _SC_XOPEN_REALTIME_THREADS___185 = 131,
    _SC_ADVISORY_INFO___185 = 132,
    _SC_BARRIERS___185 = 133,
    _SC_BASE___185 = 134,
    _SC_C_LANG_SUPPORT___185 = 135,
    _SC_C_LANG_SUPPORT_R___185 = 136,
    _SC_CLOCK_SELECTION___185 = 137,
    _SC_CPUTIME___185 = 138,
    _SC_THREAD_CPUTIME___185 = 139,
    _SC_DEVICE_IO___185 = 140,
    _SC_DEVICE_SPECIFIC___185 = 141,
    _SC_DEVICE_SPECIFIC_R___185 = 142,
    _SC_FD_MGMT___185 = 143,
    _SC_FIFO___185 = 144,
    _SC_PIPE___185 = 145,
    _SC_FILE_ATTRIBUTES___185 = 146,
    _SC_FILE_LOCKING___185 = 147,
    _SC_FILE_SYSTEM___185 = 148,
    _SC_MONOTONIC_CLOCK___185 = 149,
    _SC_MULTI_PROCESS___185 = 150,
    _SC_SINGLE_PROCESS___185 = 151,
    _SC_NETWORKING___185 = 152,
    _SC_READER_WRITER_LOCKS___185 = 153,
    _SC_SPIN_LOCKS___185 = 154,
    _SC_REGEXP___185 = 155,
    _SC_REGEX_VERSION___185 = 156,
    _SC_SHELL___185 = 157,
    _SC_SIGNALS___185 = 158,
    _SC_SPAWN___185 = 159,
    _SC_SPORADIC_SERVER___185 = 160,
    _SC_THREAD_SPORADIC_SERVER___185 = 161,
    _SC_SYSTEM_DATABASE___185 = 162,
    _SC_SYSTEM_DATABASE_R___185 = 163,
    _SC_TIMEOUTS___185 = 164,
    _SC_TYPED_MEMORY_OBJECTS___185 = 165,
    _SC_USER_GROUPS___185 = 166,
    _SC_USER_GROUPS_R___185 = 167,
    _SC_2_PBS___185 = 168,
    _SC_2_PBS_ACCOUNTING___185 = 169,
    _SC_2_PBS_LOCATE___185 = 170,
    _SC_2_PBS_MESSAGE___185 = 171,
    _SC_2_PBS_TRACK___185 = 172,
    _SC_SYMLOOP_MAX___185 = 173,
    _SC_STREAMS___185 = 174,
    _SC_2_PBS_CHECKPOINT___185 = 175,
    _SC_V6_ILP32_OFF32___185 = 176,
    _SC_V6_ILP32_OFFBIG___185 = 177,
    _SC_V6_LP64_OFF64___185 = 178,
    _SC_V6_LPBIG_OFFBIG___185 = 179,
    _SC_HOST_NAME_MAX___185 = 180,
    _SC_TRACE___185 = 181,
    _SC_TRACE_EVENT_FILTER___185 = 182,
    _SC_TRACE_INHERIT___185 = 183,
    _SC_TRACE_LOG___185 = 184,
    _SC_LEVEL1_ICACHE_SIZE___185 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___185 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___185 = 187,
    _SC_LEVEL1_DCACHE_SIZE___185 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___185 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___185 = 190,
    _SC_LEVEL2_CACHE_SIZE___185 = 191,
    _SC_LEVEL2_CACHE_ASSOC___185 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___185 = 193,
    _SC_LEVEL3_CACHE_SIZE___185 = 194,
    _SC_LEVEL3_CACHE_ASSOC___185 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___185 = 196,
    _SC_LEVEL4_CACHE_SIZE___185 = 197,
    _SC_LEVEL4_CACHE_ASSOC___185 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___185 = 199,
    _SC_IPV6___185 = 235,
    _SC_RAW_SOCKETS___185 = 236,
    _SC_V7_ILP32_OFF32___185 = 237,
    _SC_V7_ILP32_OFFBIG___185 = 238,
    _SC_V7_LP64_OFF64___185 = 239,
    _SC_V7_LPBIG_OFFBIG___185 = 240,
    _SC_SS_REPL_MAX___185 = 241,
    _SC_TRACE_EVENT_NAME_MAX___185 = 242,
    _SC_TRACE_NAME_MAX___185 = 243,
    _SC_TRACE_SYS_MAX___185 = 244,
    _SC_TRACE_USER_EVENT_MAX___185 = 245,
    _SC_XOPEN_STREAMS___185 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___185 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___185 = 248
} ;
enum __anonenum_875524036___185 {
    _CS_PATH___185 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___185 = 1,
    _CS_GNU_LIBC_VERSION___185 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___185 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___185 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___185 = 5,
    _CS_LFS_CFLAGS___185 = 1000,
    _CS_LFS_LDFLAGS___185 = 1001,
    _CS_LFS_LIBS___185 = 1002,
    _CS_LFS_LINTFLAGS___185 = 1003,
    _CS_LFS64_CFLAGS___185 = 1004,
    _CS_LFS64_LDFLAGS___185 = 1005,
    _CS_LFS64_LIBS___185 = 1006,
    _CS_LFS64_LINTFLAGS___185 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___185 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___185 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___185 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___185 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___185 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___185 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___185 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___185 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___185 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___185 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___185 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___185 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___185 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___185 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___185 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___185 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___185 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___185 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___185 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___185 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___185 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___185 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___185 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___185 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___185 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___185 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___185 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___185 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___185 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___185 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___185 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___185 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___185 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___185 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___185 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___185 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___185 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___185 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___185 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___185 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___185 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___185 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___185 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___185 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___185 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___185 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___185 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___185 = 1147,
    _CS_V6_ENV___185 = 1148,
    _CS_V7_ENV___185 = 1149
} ;
enum __anonenum_513775621___185 {
    DT_UNKNOWN___185 = 0,
    DT_FIFO___185 = 1,
    DT_CHR___185 = 2,
    DT_DIR___185 = 4,
    DT_BLK___185 = 6,
    DT_REG___185 = 8,
    DT_LNK___185 = 10,
    DT_SOCK___185 = 12,
    DT_WHT___185 = 14
} ;
enum __anonenum_77002343___185 {
    SI_ASYNCNL___185 = -60,
    SI_TKILL___185 = -6,
    SI_SIGIO___185 = -5,
    SI_ASYNCIO___185 = -4,
    SI_MESGQ___185 = -3,
    SI_TIMER___185 = -2,
    SI_QUEUE___185 = -1,
    SI_USER___185 = 0,
    SI_KERNEL___185 = 128
} ;
enum __anonenum_131038172___185 {
    ILL_ILLOPC___185 = 1,
    ILL_ILLOPN___185 = 2,
    ILL_ILLADR___185 = 3,
    ILL_ILLTRP___185 = 4,
    ILL_PRVOPC___185 = 5,
    ILL_PRVREG___185 = 6,
    ILL_COPROC___185 = 7,
    ILL_BADSTK___185 = 8
} ;
enum __anonenum_452038093___185 {
    FPE_INTDIV___185 = 1,
    FPE_INTOVF___185 = 2,
    FPE_FLTDIV___185 = 3,
    FPE_FLTOVF___185 = 4,
    FPE_FLTUND___185 = 5,
    FPE_FLTRES___185 = 6,
    FPE_FLTINV___185 = 7,
    FPE_FLTSUB___185 = 8
} ;
enum __anonenum_30976155___185 {
    SEGV_MAPERR___185 = 1,
    SEGV_ACCERR___185 = 2,
    SEGV_BNDERR___185 = 3,
    SEGV_PKUERR___185 = 4
} ;
enum __anonenum_1036286214___185 {
    BUS_ADRALN___185 = 1,
    BUS_ADRERR___185 = 2,
    BUS_OBJERR___185 = 3,
    BUS_MCEERR_AR___185 = 4,
    BUS_MCEERR_AO___185 = 5
} ;
enum __anonenum_493465559___185 {
    TRAP_BRKPT___185 = 1,
    TRAP_TRACE___185 = 2
} ;
enum __anonenum_23175539___185 {
    CLD_EXITED___185 = 1,
    CLD_KILLED___185 = 2,
    CLD_DUMPED___185 = 3,
    CLD_TRAPPED___185 = 4,
    CLD_STOPPED___185 = 5,
    CLD_CONTINUED___185 = 6
} ;
enum __anonenum_111643124___185 {
    POLL_IN___185 = 1,
    POLL_OUT___185 = 2,
    POLL_MSG___185 = 3,
    POLL_ERR___185 = 4,
    POLL_PRI___185 = 5,
    POLL_HUP___185 = 6
} ;
enum __anonenum_852341087___185 {
    SIGEV_SIGNAL___185 = 0,
    SIGEV_NONE___185 = 1,
    SIGEV_THREAD___185 = 2,
    SIGEV_THREAD_ID___185 = 4
} ;
enum __anonenum_451154152___185 {
    REG_R8___185 = 0,
    REG_R9___185 = 1,
    REG_R10___185 = 2,
    REG_R11___185 = 3,
    REG_R12___185 = 4,
    REG_R13___185 = 5,
    REG_R14___185 = 6,
    REG_R15___185 = 7,
    REG_RDI___185 = 8,
    REG_RSI___185 = 9,
    REG_RBP___185 = 10,
    REG_RBX___185 = 11,
    REG_RDX___185 = 12,
    REG_RAX___185 = 13,
    REG_RCX___185 = 14,
    REG_RSP___185 = 15,
    REG_RIP___185 = 16,
    REG_EFL___185 = 17,
    REG_CSGSFS___185 = 18,
    REG_ERR___185 = 19,
    REG_TRAPNO___185 = 20,
    REG_OLDMASK___185 = 21,
    REG_CR2___185 = 22
} ;
enum __anonenum_57186863___185 {
    SS_ONSTACK___185 = 1,
    SS_DISABLE___185 = 2
} ;
enum __anonenum_83571709___185 {
    MSG_OOB___185 = 1,
    MSG_PEEK___185 = 2,
    MSG_DONTROUTE___185 = 4,
    MSG_TRYHARD___185 = 4,
    MSG_CTRUNC___185 = 8,
    MSG_PROXY___185 = 16,
    MSG_TRUNC___185 = 32,
    MSG_DONTWAIT___185 = 64,
    MSG_EOR___185 = 128,
    MSG_WAITALL___185 = 256,
    MSG_FIN___185 = 512,
    MSG_SYN___185 = 1024,
    MSG_CONFIRM___185 = 2048,
    MSG_RST___185 = 4096,
    MSG_ERRQUEUE___185 = 8192,
    MSG_NOSIGNAL___185 = 16384,
    MSG_MORE___185 = 32768,
    MSG_WAITFORONE___185 = 65536,
    MSG_BATCH___185 = 262144,
    MSG_ZEROCOPY___185 = 67108864,
    MSG_FASTOPEN___185 = 536870912,
    MSG_CMSG_CLOEXEC___185 = 1073741824
} ;
enum __anonenum_617082774___185 {
    SCM_RIGHTS___185 = 1,
    SCM_CREDENTIALS___185 = 2
} ;
enum __anonenum_606441560___185 {
    SHUT_RD___185 = 0,
    SHUT_WR___185 = 1,
    SHUT_RDWR___185 = 2
} ;
enum __anonenum_681669233___185 {
    IPPROTO_IP___185 = 0,
    IPPROTO_ICMP___185 = 1,
    IPPROTO_IGMP___185 = 2,
    IPPROTO_IPIP___185 = 4,
    IPPROTO_TCP___185 = 6,
    IPPROTO_EGP___185 = 8,
    IPPROTO_PUP___185 = 12,
    IPPROTO_UDP___185 = 17,
    IPPROTO_IDP___185 = 22,
    IPPROTO_TP___185 = 29,
    IPPROTO_DCCP___185 = 33,
    IPPROTO_IPV6___185 = 41,
    IPPROTO_RSVP___185 = 46,
    IPPROTO_GRE___185 = 47,
    IPPROTO_ESP___185 = 50,
    IPPROTO_AH___185 = 51,
    IPPROTO_MTP___185 = 92,
    IPPROTO_BEETPH___185 = 94,
    IPPROTO_ENCAP___185 = 98,
    IPPROTO_PIM___185 = 103,
    IPPROTO_COMP___185 = 108,
    IPPROTO_SCTP___185 = 132,
    IPPROTO_UDPLITE___185 = 136,
    IPPROTO_MPLS___185 = 137,
    IPPROTO_RAW___185 = 255,
    IPPROTO_MAX___185 = 256
} ;
enum __anonenum_218739988___185 {
    IPPROTO_HOPOPTS___185 = 0,
    IPPROTO_ROUTING___185 = 43,
    IPPROTO_FRAGMENT___185 = 44,
    IPPROTO_ICMPV6___185 = 58,
    IPPROTO_NONE___185 = 59,
    IPPROTO_DSTOPTS___185 = 60,
    IPPROTO_MH___185 = 135
} ;
enum __anonenum_662268580___185 {
    IPPORT_ECHO___185 = 7,
    IPPORT_DISCARD___185 = 9,
    IPPORT_SYSTAT___185 = 11,
    IPPORT_DAYTIME___185 = 13,
    IPPORT_NETSTAT___185 = 15,
    IPPORT_FTP___185 = 21,
    IPPORT_TELNET___185 = 23,
    IPPORT_SMTP___185 = 25,
    IPPORT_TIMESERVER___185 = 37,
    IPPORT_NAMESERVER___185 = 42,
    IPPORT_WHOIS___185 = 43,
    IPPORT_MTP___185 = 57,
    IPPORT_TFTP___185 = 69,
    IPPORT_RJE___185 = 77,
    IPPORT_FINGER___185 = 79,
    IPPORT_TTYLINK___185 = 87,
    IPPORT_SUPDUP___185 = 95,
    IPPORT_EXECSERVER___185 = 512,
    IPPORT_LOGINSERVER___185 = 513,
    IPPORT_CMDSERVER___185 = 514,
    IPPORT_EFSSERVER___185 = 520,
    IPPORT_BIFFUDP___185 = 512,
    IPPORT_WHOSERVER___185 = 513,
    IPPORT_ROUTESERVER___185 = 520,
    IPPORT_RESERVED___185 = 1024,
    IPPORT_USERRESERVED___185 = 5000
} ;
enum __anonenum_788308992___185 {
    TCP_ESTABLISHED___185 = 1,
    TCP_SYN_SENT___185 = 2,
    TCP_SYN_RECV___185 = 3,
    TCP_FIN_WAIT1___185 = 4,
    TCP_FIN_WAIT2___185 = 5,
    TCP_TIME_WAIT___185 = 6,
    TCP_CLOSE___185 = 7,
    TCP_CLOSE_WAIT___185 = 8,
    TCP_LAST_ACK___185 = 9,
    TCP_LISTEN___185 = 10,
    TCP_CLOSING___185 = 11
} ;
enum __anonenum_221125648___185 {
    TCP_NO_QUEUE___185 = 0,
    TCP_RECV_QUEUE___185 = 1,
    TCP_SEND_QUEUE___185 = 2,
    TCP_QUEUES_NR___185 = 3
} ;
enum __anonenum_34415463___185 {
    PTHREAD_CREATE_JOINABLE___185 = 0,
    PTHREAD_CREATE_DETACHED___185 = 1
} ;
enum __anonenum_303612439___185 {
    PTHREAD_MUTEX_TIMED_NP___185 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___185 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___185 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___185 = 3,
    PTHREAD_MUTEX_NORMAL___185 = 0,
    PTHREAD_MUTEX_RECURSIVE___185 = 1,
    PTHREAD_MUTEX_ERRORCHECK___185 = 2,
    PTHREAD_MUTEX_DEFAULT___185 = 0,
    PTHREAD_MUTEX_FAST_NP___185 = 0
} ;
enum __anonenum_931900394___185 {
    PTHREAD_MUTEX_STALLED___185 = 0,
    PTHREAD_MUTEX_STALLED_NP___185 = 0,
    PTHREAD_MUTEX_ROBUST___185 = 1,
    PTHREAD_MUTEX_ROBUST_NP___185 = 1
} ;
enum __anonenum_205214487___185 {
    PTHREAD_PRIO_NONE___185 = 0,
    PTHREAD_PRIO_INHERIT___185 = 1,
    PTHREAD_PRIO_PROTECT___185 = 2
} ;
enum __anonenum_25043950___185 {
    PTHREAD_RWLOCK_PREFER_READER_NP___185 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___185 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___185 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___185 = 0
} ;
enum __anonenum_436439511___185 {
    PTHREAD_INHERIT_SCHED___185 = 0,
    PTHREAD_EXPLICIT_SCHED___185 = 1
} ;
enum __anonenum_998661166___185 {
    PTHREAD_SCOPE_SYSTEM___185 = 0,
    PTHREAD_SCOPE_PROCESS___185 = 1
} ;
enum __anonenum_146137331___185 {
    PTHREAD_PROCESS_PRIVATE___185 = 0,
    PTHREAD_PROCESS_SHARED___185 = 1
} ;
enum __anonenum_53396917___185 {
    PTHREAD_CANCEL_ENABLE___185 = 0,
    PTHREAD_CANCEL_DISABLE___185 = 1
} ;
enum __anonenum_904563783___185 {
    PTHREAD_CANCEL_DEFERRED___185 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___185 = 1
} ;
enum __anonenum_672052974___185 {
    SSL_CT_VALIDATION_PERMISSIVE___185 = 0,
    SSL_CT_VALIDATION_STRICT___185 = 1
} ;
enum __anonenum_437032235___186 {
    _PC_LINK_MAX___186 = 0,
    _PC_MAX_CANON___186 = 1,
    _PC_MAX_INPUT___186 = 2,
    _PC_NAME_MAX___186 = 3,
    _PC_PATH_MAX___186 = 4,
    _PC_PIPE_BUF___186 = 5,
    _PC_CHOWN_RESTRICTED___186 = 6,
    _PC_NO_TRUNC___186 = 7,
    _PC_VDISABLE___186 = 8,
    _PC_SYNC_IO___186 = 9,
    _PC_ASYNC_IO___186 = 10,
    _PC_PRIO_IO___186 = 11,
    _PC_SOCK_MAXBUF___186 = 12,
    _PC_FILESIZEBITS___186 = 13,
    _PC_REC_INCR_XFER_SIZE___186 = 14,
    _PC_REC_MAX_XFER_SIZE___186 = 15,
    _PC_REC_MIN_XFER_SIZE___186 = 16,
    _PC_REC_XFER_ALIGN___186 = 17,
    _PC_ALLOC_SIZE_MIN___186 = 18,
    _PC_SYMLINK_MAX___186 = 19,
    _PC_2_SYMLINKS___186 = 20
} ;
enum __anonenum_315186338___186 {
    _SC_ARG_MAX___186 = 0,
    _SC_CHILD_MAX___186 = 1,
    _SC_CLK_TCK___186 = 2,
    _SC_NGROUPS_MAX___186 = 3,
    _SC_OPEN_MAX___186 = 4,
    _SC_STREAM_MAX___186 = 5,
    _SC_TZNAME_MAX___186 = 6,
    _SC_JOB_CONTROL___186 = 7,
    _SC_SAVED_IDS___186 = 8,
    _SC_REALTIME_SIGNALS___186 = 9,
    _SC_PRIORITY_SCHEDULING___186 = 10,
    _SC_TIMERS___186 = 11,
    _SC_ASYNCHRONOUS_IO___186 = 12,
    _SC_PRIORITIZED_IO___186 = 13,
    _SC_SYNCHRONIZED_IO___186 = 14,
    _SC_FSYNC___186 = 15,
    _SC_MAPPED_FILES___186 = 16,
    _SC_MEMLOCK___186 = 17,
    _SC_MEMLOCK_RANGE___186 = 18,
    _SC_MEMORY_PROTECTION___186 = 19,
    _SC_MESSAGE_PASSING___186 = 20,
    _SC_SEMAPHORES___186 = 21,
    _SC_SHARED_MEMORY_OBJECTS___186 = 22,
    _SC_AIO_LISTIO_MAX___186 = 23,
    _SC_AIO_MAX___186 = 24,
    _SC_AIO_PRIO_DELTA_MAX___186 = 25,
    _SC_DELAYTIMER_MAX___186 = 26,
    _SC_MQ_OPEN_MAX___186 = 27,
    _SC_MQ_PRIO_MAX___186 = 28,
    _SC_VERSION___186 = 29,
    _SC_PAGESIZE___186 = 30,
    _SC_RTSIG_MAX___186 = 31,
    _SC_SEM_NSEMS_MAX___186 = 32,
    _SC_SEM_VALUE_MAX___186 = 33,
    _SC_SIGQUEUE_MAX___186 = 34,
    _SC_TIMER_MAX___186 = 35,
    _SC_BC_BASE_MAX___186 = 36,
    _SC_BC_DIM_MAX___186 = 37,
    _SC_BC_SCALE_MAX___186 = 38,
    _SC_BC_STRING_MAX___186 = 39,
    _SC_COLL_WEIGHTS_MAX___186 = 40,
    _SC_EQUIV_CLASS_MAX___186 = 41,
    _SC_EXPR_NEST_MAX___186 = 42,
    _SC_LINE_MAX___186 = 43,
    _SC_RE_DUP_MAX___186 = 44,
    _SC_CHARCLASS_NAME_MAX___186 = 45,
    _SC_2_VERSION___186 = 46,
    _SC_2_C_BIND___186 = 47,
    _SC_2_C_DEV___186 = 48,
    _SC_2_FORT_DEV___186 = 49,
    _SC_2_FORT_RUN___186 = 50,
    _SC_2_SW_DEV___186 = 51,
    _SC_2_LOCALEDEF___186 = 52,
    _SC_PII___186 = 53,
    _SC_PII_XTI___186 = 54,
    _SC_PII_SOCKET___186 = 55,
    _SC_PII_INTERNET___186 = 56,
    _SC_PII_OSI___186 = 57,
    _SC_POLL___186 = 58,
    _SC_SELECT___186 = 59,
    _SC_UIO_MAXIOV___186 = 60,
    _SC_IOV_MAX___186 = 60,
    _SC_PII_INTERNET_STREAM___186 = 61,
    _SC_PII_INTERNET_DGRAM___186 = 62,
    _SC_PII_OSI_COTS___186 = 63,
    _SC_PII_OSI_CLTS___186 = 64,
    _SC_PII_OSI_M___186 = 65,
    _SC_T_IOV_MAX___186 = 66,
    _SC_THREADS___186 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___186 = 68,
    _SC_GETGR_R_SIZE_MAX___186 = 69,
    _SC_GETPW_R_SIZE_MAX___186 = 70,
    _SC_LOGIN_NAME_MAX___186 = 71,
    _SC_TTY_NAME_MAX___186 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___186 = 73,
    _SC_THREAD_KEYS_MAX___186 = 74,
    _SC_THREAD_STACK_MIN___186 = 75,
    _SC_THREAD_THREADS_MAX___186 = 76,
    _SC_THREAD_ATTR_STACKADDR___186 = 77,
    _SC_THREAD_ATTR_STACKSIZE___186 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___186 = 79,
    _SC_THREAD_PRIO_INHERIT___186 = 80,
    _SC_THREAD_PRIO_PROTECT___186 = 81,
    _SC_THREAD_PROCESS_SHARED___186 = 82,
    _SC_NPROCESSORS_CONF___186 = 83,
    _SC_NPROCESSORS_ONLN___186 = 84,
    _SC_PHYS_PAGES___186 = 85,
    _SC_AVPHYS_PAGES___186 = 86,
    _SC_ATEXIT_MAX___186 = 87,
    _SC_PASS_MAX___186 = 88,
    _SC_XOPEN_VERSION___186 = 89,
    _SC_XOPEN_XCU_VERSION___186 = 90,
    _SC_XOPEN_UNIX___186 = 91,
    _SC_XOPEN_CRYPT___186 = 92,
    _SC_XOPEN_ENH_I18N___186 = 93,
    _SC_XOPEN_SHM___186 = 94,
    _SC_2_CHAR_TERM___186 = 95,
    _SC_2_C_VERSION___186 = 96,
    _SC_2_UPE___186 = 97,
    _SC_XOPEN_XPG2___186 = 98,
    _SC_XOPEN_XPG3___186 = 99,
    _SC_XOPEN_XPG4___186 = 100,
    _SC_CHAR_BIT___186 = 101,
    _SC_CHAR_MAX___186 = 102,
    _SC_CHAR_MIN___186 = 103,
    _SC_INT_MAX___186 = 104,
    _SC_INT_MIN___186 = 105,
    _SC_LONG_BIT___186 = 106,
    _SC_WORD_BIT___186 = 107,
    _SC_MB_LEN_MAX___186 = 108,
    _SC_NZERO___186 = 109,
    _SC_SSIZE_MAX___186 = 110,
    _SC_SCHAR_MAX___186 = 111,
    _SC_SCHAR_MIN___186 = 112,
    _SC_SHRT_MAX___186 = 113,
    _SC_SHRT_MIN___186 = 114,
    _SC_UCHAR_MAX___186 = 115,
    _SC_UINT_MAX___186 = 116,
    _SC_ULONG_MAX___186 = 117,
    _SC_USHRT_MAX___186 = 118,
    _SC_NL_ARGMAX___186 = 119,
    _SC_NL_LANGMAX___186 = 120,
    _SC_NL_MSGMAX___186 = 121,
    _SC_NL_NMAX___186 = 122,
    _SC_NL_SETMAX___186 = 123,
    _SC_NL_TEXTMAX___186 = 124,
    _SC_XBS5_ILP32_OFF32___186 = 125,
    _SC_XBS5_ILP32_OFFBIG___186 = 126,
    _SC_XBS5_LP64_OFF64___186 = 127,
    _SC_XBS5_LPBIG_OFFBIG___186 = 128,
    _SC_XOPEN_LEGACY___186 = 129,
    _SC_XOPEN_REALTIME___186 = 130,
    _SC_XOPEN_REALTIME_THREADS___186 = 131,
    _SC_ADVISORY_INFO___186 = 132,
    _SC_BARRIERS___186 = 133,
    _SC_BASE___186 = 134,
    _SC_C_LANG_SUPPORT___186 = 135,
    _SC_C_LANG_SUPPORT_R___186 = 136,
    _SC_CLOCK_SELECTION___186 = 137,
    _SC_CPUTIME___186 = 138,
    _SC_THREAD_CPUTIME___186 = 139,
    _SC_DEVICE_IO___186 = 140,
    _SC_DEVICE_SPECIFIC___186 = 141,
    _SC_DEVICE_SPECIFIC_R___186 = 142,
    _SC_FD_MGMT___186 = 143,
    _SC_FIFO___186 = 144,
    _SC_PIPE___186 = 145,
    _SC_FILE_ATTRIBUTES___186 = 146,
    _SC_FILE_LOCKING___186 = 147,
    _SC_FILE_SYSTEM___186 = 148,
    _SC_MONOTONIC_CLOCK___186 = 149,
    _SC_MULTI_PROCESS___186 = 150,
    _SC_SINGLE_PROCESS___186 = 151,
    _SC_NETWORKING___186 = 152,
    _SC_READER_WRITER_LOCKS___186 = 153,
    _SC_SPIN_LOCKS___186 = 154,
    _SC_REGEXP___186 = 155,
    _SC_REGEX_VERSION___186 = 156,
    _SC_SHELL___186 = 157,
    _SC_SIGNALS___186 = 158,
    _SC_SPAWN___186 = 159,
    _SC_SPORADIC_SERVER___186 = 160,
    _SC_THREAD_SPORADIC_SERVER___186 = 161,
    _SC_SYSTEM_DATABASE___186 = 162,
    _SC_SYSTEM_DATABASE_R___186 = 163,
    _SC_TIMEOUTS___186 = 164,
    _SC_TYPED_MEMORY_OBJECTS___186 = 165,
    _SC_USER_GROUPS___186 = 166,
    _SC_USER_GROUPS_R___186 = 167,
    _SC_2_PBS___186 = 168,
    _SC_2_PBS_ACCOUNTING___186 = 169,
    _SC_2_PBS_LOCATE___186 = 170,
    _SC_2_PBS_MESSAGE___186 = 171,
    _SC_2_PBS_TRACK___186 = 172,
    _SC_SYMLOOP_MAX___186 = 173,
    _SC_STREAMS___186 = 174,
    _SC_2_PBS_CHECKPOINT___186 = 175,
    _SC_V6_ILP32_OFF32___186 = 176,
    _SC_V6_ILP32_OFFBIG___186 = 177,
    _SC_V6_LP64_OFF64___186 = 178,
    _SC_V6_LPBIG_OFFBIG___186 = 179,
    _SC_HOST_NAME_MAX___186 = 180,
    _SC_TRACE___186 = 181,
    _SC_TRACE_EVENT_FILTER___186 = 182,
    _SC_TRACE_INHERIT___186 = 183,
    _SC_TRACE_LOG___186 = 184,
    _SC_LEVEL1_ICACHE_SIZE___186 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___186 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___186 = 187,
    _SC_LEVEL1_DCACHE_SIZE___186 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___186 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___186 = 190,
    _SC_LEVEL2_CACHE_SIZE___186 = 191,
    _SC_LEVEL2_CACHE_ASSOC___186 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___186 = 193,
    _SC_LEVEL3_CACHE_SIZE___186 = 194,
    _SC_LEVEL3_CACHE_ASSOC___186 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___186 = 196,
    _SC_LEVEL4_CACHE_SIZE___186 = 197,
    _SC_LEVEL4_CACHE_ASSOC___186 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___186 = 199,
    _SC_IPV6___186 = 235,
    _SC_RAW_SOCKETS___186 = 236,
    _SC_V7_ILP32_OFF32___186 = 237,
    _SC_V7_ILP32_OFFBIG___186 = 238,
    _SC_V7_LP64_OFF64___186 = 239,
    _SC_V7_LPBIG_OFFBIG___186 = 240,
    _SC_SS_REPL_MAX___186 = 241,
    _SC_TRACE_EVENT_NAME_MAX___186 = 242,
    _SC_TRACE_NAME_MAX___186 = 243,
    _SC_TRACE_SYS_MAX___186 = 244,
    _SC_TRACE_USER_EVENT_MAX___186 = 245,
    _SC_XOPEN_STREAMS___186 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___186 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___186 = 248
} ;
enum __anonenum_875524036___186 {
    _CS_PATH___186 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___186 = 1,
    _CS_GNU_LIBC_VERSION___186 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___186 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___186 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___186 = 5,
    _CS_LFS_CFLAGS___186 = 1000,
    _CS_LFS_LDFLAGS___186 = 1001,
    _CS_LFS_LIBS___186 = 1002,
    _CS_LFS_LINTFLAGS___186 = 1003,
    _CS_LFS64_CFLAGS___186 = 1004,
    _CS_LFS64_LDFLAGS___186 = 1005,
    _CS_LFS64_LIBS___186 = 1006,
    _CS_LFS64_LINTFLAGS___186 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___186 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___186 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___186 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___186 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___186 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___186 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___186 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___186 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___186 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___186 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___186 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___186 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___186 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___186 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___186 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___186 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___186 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___186 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___186 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___186 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___186 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___186 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___186 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___186 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___186 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___186 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___186 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___186 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___186 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___186 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___186 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___186 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___186 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___186 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___186 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___186 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___186 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___186 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___186 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___186 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___186 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___186 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___186 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___186 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___186 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___186 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___186 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___186 = 1147,
    _CS_V6_ENV___186 = 1148,
    _CS_V7_ENV___186 = 1149
} ;
enum __anonenum_513775621___186 {
    DT_UNKNOWN___186 = 0,
    DT_FIFO___186 = 1,
    DT_CHR___186 = 2,
    DT_DIR___186 = 4,
    DT_BLK___186 = 6,
    DT_REG___186 = 8,
    DT_LNK___186 = 10,
    DT_SOCK___186 = 12,
    DT_WHT___186 = 14
} ;
enum __anonenum_77002343___186 {
    SI_ASYNCNL___186 = -60,
    SI_TKILL___186 = -6,
    SI_SIGIO___186 = -5,
    SI_ASYNCIO___186 = -4,
    SI_MESGQ___186 = -3,
    SI_TIMER___186 = -2,
    SI_QUEUE___186 = -1,
    SI_USER___186 = 0,
    SI_KERNEL___186 = 128
} ;
enum __anonenum_131038172___186 {
    ILL_ILLOPC___186 = 1,
    ILL_ILLOPN___186 = 2,
    ILL_ILLADR___186 = 3,
    ILL_ILLTRP___186 = 4,
    ILL_PRVOPC___186 = 5,
    ILL_PRVREG___186 = 6,
    ILL_COPROC___186 = 7,
    ILL_BADSTK___186 = 8
} ;
enum __anonenum_452038093___186 {
    FPE_INTDIV___186 = 1,
    FPE_INTOVF___186 = 2,
    FPE_FLTDIV___186 = 3,
    FPE_FLTOVF___186 = 4,
    FPE_FLTUND___186 = 5,
    FPE_FLTRES___186 = 6,
    FPE_FLTINV___186 = 7,
    FPE_FLTSUB___186 = 8
} ;
enum __anonenum_30976155___186 {
    SEGV_MAPERR___186 = 1,
    SEGV_ACCERR___186 = 2,
    SEGV_BNDERR___186 = 3,
    SEGV_PKUERR___186 = 4
} ;
enum __anonenum_1036286214___186 {
    BUS_ADRALN___186 = 1,
    BUS_ADRERR___186 = 2,
    BUS_OBJERR___186 = 3,
    BUS_MCEERR_AR___186 = 4,
    BUS_MCEERR_AO___186 = 5
} ;
enum __anonenum_493465559___186 {
    TRAP_BRKPT___186 = 1,
    TRAP_TRACE___186 = 2
} ;
enum __anonenum_23175539___186 {
    CLD_EXITED___186 = 1,
    CLD_KILLED___186 = 2,
    CLD_DUMPED___186 = 3,
    CLD_TRAPPED___186 = 4,
    CLD_STOPPED___186 = 5,
    CLD_CONTINUED___186 = 6
} ;
enum __anonenum_111643124___186 {
    POLL_IN___186 = 1,
    POLL_OUT___186 = 2,
    POLL_MSG___186 = 3,
    POLL_ERR___186 = 4,
    POLL_PRI___186 = 5,
    POLL_HUP___186 = 6
} ;
enum __anonenum_852341087___186 {
    SIGEV_SIGNAL___186 = 0,
    SIGEV_NONE___186 = 1,
    SIGEV_THREAD___186 = 2,
    SIGEV_THREAD_ID___186 = 4
} ;
enum __anonenum_451154152___186 {
    REG_R8___186 = 0,
    REG_R9___186 = 1,
    REG_R10___186 = 2,
    REG_R11___186 = 3,
    REG_R12___186 = 4,
    REG_R13___186 = 5,
    REG_R14___186 = 6,
    REG_R15___186 = 7,
    REG_RDI___186 = 8,
    REG_RSI___186 = 9,
    REG_RBP___186 = 10,
    REG_RBX___186 = 11,
    REG_RDX___186 = 12,
    REG_RAX___186 = 13,
    REG_RCX___186 = 14,
    REG_RSP___186 = 15,
    REG_RIP___186 = 16,
    REG_EFL___186 = 17,
    REG_CSGSFS___186 = 18,
    REG_ERR___186 = 19,
    REG_TRAPNO___186 = 20,
    REG_OLDMASK___186 = 21,
    REG_CR2___186 = 22
} ;
enum __anonenum_57186863___186 {
    SS_ONSTACK___186 = 1,
    SS_DISABLE___186 = 2
} ;
enum __anonenum_83571709___186 {
    MSG_OOB___186 = 1,
    MSG_PEEK___186 = 2,
    MSG_DONTROUTE___186 = 4,
    MSG_TRYHARD___186 = 4,
    MSG_CTRUNC___186 = 8,
    MSG_PROXY___186 = 16,
    MSG_TRUNC___186 = 32,
    MSG_DONTWAIT___186 = 64,
    MSG_EOR___186 = 128,
    MSG_WAITALL___186 = 256,
    MSG_FIN___186 = 512,
    MSG_SYN___186 = 1024,
    MSG_CONFIRM___186 = 2048,
    MSG_RST___186 = 4096,
    MSG_ERRQUEUE___186 = 8192,
    MSG_NOSIGNAL___186 = 16384,
    MSG_MORE___186 = 32768,
    MSG_WAITFORONE___186 = 65536,
    MSG_BATCH___186 = 262144,
    MSG_ZEROCOPY___186 = 67108864,
    MSG_FASTOPEN___186 = 536870912,
    MSG_CMSG_CLOEXEC___186 = 1073741824
} ;
enum __anonenum_617082774___186 {
    SCM_RIGHTS___186 = 1,
    SCM_CREDENTIALS___186 = 2
} ;
enum __anonenum_606441560___186 {
    SHUT_RD___186 = 0,
    SHUT_WR___186 = 1,
    SHUT_RDWR___186 = 2
} ;
enum __anonenum_681669233___186 {
    IPPROTO_IP___186 = 0,
    IPPROTO_ICMP___186 = 1,
    IPPROTO_IGMP___186 = 2,
    IPPROTO_IPIP___186 = 4,
    IPPROTO_TCP___186 = 6,
    IPPROTO_EGP___186 = 8,
    IPPROTO_PUP___186 = 12,
    IPPROTO_UDP___186 = 17,
    IPPROTO_IDP___186 = 22,
    IPPROTO_TP___186 = 29,
    IPPROTO_DCCP___186 = 33,
    IPPROTO_IPV6___186 = 41,
    IPPROTO_RSVP___186 = 46,
    IPPROTO_GRE___186 = 47,
    IPPROTO_ESP___186 = 50,
    IPPROTO_AH___186 = 51,
    IPPROTO_MTP___186 = 92,
    IPPROTO_BEETPH___186 = 94,
    IPPROTO_ENCAP___186 = 98,
    IPPROTO_PIM___186 = 103,
    IPPROTO_COMP___186 = 108,
    IPPROTO_SCTP___186 = 132,
    IPPROTO_UDPLITE___186 = 136,
    IPPROTO_MPLS___186 = 137,
    IPPROTO_RAW___186 = 255,
    IPPROTO_MAX___186 = 256
} ;
enum __anonenum_218739988___186 {
    IPPROTO_HOPOPTS___186 = 0,
    IPPROTO_ROUTING___186 = 43,
    IPPROTO_FRAGMENT___186 = 44,
    IPPROTO_ICMPV6___186 = 58,
    IPPROTO_NONE___186 = 59,
    IPPROTO_DSTOPTS___186 = 60,
    IPPROTO_MH___186 = 135
} ;
enum __anonenum_662268580___186 {
    IPPORT_ECHO___186 = 7,
    IPPORT_DISCARD___186 = 9,
    IPPORT_SYSTAT___186 = 11,
    IPPORT_DAYTIME___186 = 13,
    IPPORT_NETSTAT___186 = 15,
    IPPORT_FTP___186 = 21,
    IPPORT_TELNET___186 = 23,
    IPPORT_SMTP___186 = 25,
    IPPORT_TIMESERVER___186 = 37,
    IPPORT_NAMESERVER___186 = 42,
    IPPORT_WHOIS___186 = 43,
    IPPORT_MTP___186 = 57,
    IPPORT_TFTP___186 = 69,
    IPPORT_RJE___186 = 77,
    IPPORT_FINGER___186 = 79,
    IPPORT_TTYLINK___186 = 87,
    IPPORT_SUPDUP___186 = 95,
    IPPORT_EXECSERVER___186 = 512,
    IPPORT_LOGINSERVER___186 = 513,
    IPPORT_CMDSERVER___186 = 514,
    IPPORT_EFSSERVER___186 = 520,
    IPPORT_BIFFUDP___186 = 512,
    IPPORT_WHOSERVER___186 = 513,
    IPPORT_ROUTESERVER___186 = 520,
    IPPORT_RESERVED___186 = 1024,
    IPPORT_USERRESERVED___186 = 5000
} ;
enum __anonenum_788308992___186 {
    TCP_ESTABLISHED___186 = 1,
    TCP_SYN_SENT___186 = 2,
    TCP_SYN_RECV___186 = 3,
    TCP_FIN_WAIT1___186 = 4,
    TCP_FIN_WAIT2___186 = 5,
    TCP_TIME_WAIT___186 = 6,
    TCP_CLOSE___186 = 7,
    TCP_CLOSE_WAIT___186 = 8,
    TCP_LAST_ACK___186 = 9,
    TCP_LISTEN___186 = 10,
    TCP_CLOSING___186 = 11
} ;
enum __anonenum_221125648___186 {
    TCP_NO_QUEUE___186 = 0,
    TCP_RECV_QUEUE___186 = 1,
    TCP_SEND_QUEUE___186 = 2,
    TCP_QUEUES_NR___186 = 3
} ;
enum __anonenum_34415463___186 {
    PTHREAD_CREATE_JOINABLE___186 = 0,
    PTHREAD_CREATE_DETACHED___186 = 1
} ;
enum __anonenum_303612439___186 {
    PTHREAD_MUTEX_TIMED_NP___186 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___186 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___186 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___186 = 3,
    PTHREAD_MUTEX_NORMAL___186 = 0,
    PTHREAD_MUTEX_RECURSIVE___186 = 1,
    PTHREAD_MUTEX_ERRORCHECK___186 = 2,
    PTHREAD_MUTEX_DEFAULT___186 = 0,
    PTHREAD_MUTEX_FAST_NP___186 = 0
} ;
enum __anonenum_931900394___186 {
    PTHREAD_MUTEX_STALLED___186 = 0,
    PTHREAD_MUTEX_STALLED_NP___186 = 0,
    PTHREAD_MUTEX_ROBUST___186 = 1,
    PTHREAD_MUTEX_ROBUST_NP___186 = 1
} ;
enum __anonenum_205214487___186 {
    PTHREAD_PRIO_NONE___186 = 0,
    PTHREAD_PRIO_INHERIT___186 = 1,
    PTHREAD_PRIO_PROTECT___186 = 2
} ;
enum __anonenum_25043950___186 {
    PTHREAD_RWLOCK_PREFER_READER_NP___186 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___186 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___186 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___186 = 0
} ;
enum __anonenum_436439511___186 {
    PTHREAD_INHERIT_SCHED___186 = 0,
    PTHREAD_EXPLICIT_SCHED___186 = 1
} ;
enum __anonenum_998661166___186 {
    PTHREAD_SCOPE_SYSTEM___186 = 0,
    PTHREAD_SCOPE_PROCESS___186 = 1
} ;
enum __anonenum_146137331___186 {
    PTHREAD_PROCESS_PRIVATE___186 = 0,
    PTHREAD_PROCESS_SHARED___186 = 1
} ;
enum __anonenum_53396917___186 {
    PTHREAD_CANCEL_ENABLE___186 = 0,
    PTHREAD_CANCEL_DISABLE___186 = 1
} ;
enum __anonenum_904563783___186 {
    PTHREAD_CANCEL_DEFERRED___186 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___186 = 1
} ;
enum __anonenum_672052974___186 {
    SSL_CT_VALIDATION_PERMISSIVE___186 = 0,
    SSL_CT_VALIDATION_STRICT___186 = 1
} ;
enum __anonenum_437032235___187 {
    _PC_LINK_MAX___187 = 0,
    _PC_MAX_CANON___187 = 1,
    _PC_MAX_INPUT___187 = 2,
    _PC_NAME_MAX___187 = 3,
    _PC_PATH_MAX___187 = 4,
    _PC_PIPE_BUF___187 = 5,
    _PC_CHOWN_RESTRICTED___187 = 6,
    _PC_NO_TRUNC___187 = 7,
    _PC_VDISABLE___187 = 8,
    _PC_SYNC_IO___187 = 9,
    _PC_ASYNC_IO___187 = 10,
    _PC_PRIO_IO___187 = 11,
    _PC_SOCK_MAXBUF___187 = 12,
    _PC_FILESIZEBITS___187 = 13,
    _PC_REC_INCR_XFER_SIZE___187 = 14,
    _PC_REC_MAX_XFER_SIZE___187 = 15,
    _PC_REC_MIN_XFER_SIZE___187 = 16,
    _PC_REC_XFER_ALIGN___187 = 17,
    _PC_ALLOC_SIZE_MIN___187 = 18,
    _PC_SYMLINK_MAX___187 = 19,
    _PC_2_SYMLINKS___187 = 20
} ;
enum __anonenum_315186338___187 {
    _SC_ARG_MAX___187 = 0,
    _SC_CHILD_MAX___187 = 1,
    _SC_CLK_TCK___187 = 2,
    _SC_NGROUPS_MAX___187 = 3,
    _SC_OPEN_MAX___187 = 4,
    _SC_STREAM_MAX___187 = 5,
    _SC_TZNAME_MAX___187 = 6,
    _SC_JOB_CONTROL___187 = 7,
    _SC_SAVED_IDS___187 = 8,
    _SC_REALTIME_SIGNALS___187 = 9,
    _SC_PRIORITY_SCHEDULING___187 = 10,
    _SC_TIMERS___187 = 11,
    _SC_ASYNCHRONOUS_IO___187 = 12,
    _SC_PRIORITIZED_IO___187 = 13,
    _SC_SYNCHRONIZED_IO___187 = 14,
    _SC_FSYNC___187 = 15,
    _SC_MAPPED_FILES___187 = 16,
    _SC_MEMLOCK___187 = 17,
    _SC_MEMLOCK_RANGE___187 = 18,
    _SC_MEMORY_PROTECTION___187 = 19,
    _SC_MESSAGE_PASSING___187 = 20,
    _SC_SEMAPHORES___187 = 21,
    _SC_SHARED_MEMORY_OBJECTS___187 = 22,
    _SC_AIO_LISTIO_MAX___187 = 23,
    _SC_AIO_MAX___187 = 24,
    _SC_AIO_PRIO_DELTA_MAX___187 = 25,
    _SC_DELAYTIMER_MAX___187 = 26,
    _SC_MQ_OPEN_MAX___187 = 27,
    _SC_MQ_PRIO_MAX___187 = 28,
    _SC_VERSION___187 = 29,
    _SC_PAGESIZE___187 = 30,
    _SC_RTSIG_MAX___187 = 31,
    _SC_SEM_NSEMS_MAX___187 = 32,
    _SC_SEM_VALUE_MAX___187 = 33,
    _SC_SIGQUEUE_MAX___187 = 34,
    _SC_TIMER_MAX___187 = 35,
    _SC_BC_BASE_MAX___187 = 36,
    _SC_BC_DIM_MAX___187 = 37,
    _SC_BC_SCALE_MAX___187 = 38,
    _SC_BC_STRING_MAX___187 = 39,
    _SC_COLL_WEIGHTS_MAX___187 = 40,
    _SC_EQUIV_CLASS_MAX___187 = 41,
    _SC_EXPR_NEST_MAX___187 = 42,
    _SC_LINE_MAX___187 = 43,
    _SC_RE_DUP_MAX___187 = 44,
    _SC_CHARCLASS_NAME_MAX___187 = 45,
    _SC_2_VERSION___187 = 46,
    _SC_2_C_BIND___187 = 47,
    _SC_2_C_DEV___187 = 48,
    _SC_2_FORT_DEV___187 = 49,
    _SC_2_FORT_RUN___187 = 50,
    _SC_2_SW_DEV___187 = 51,
    _SC_2_LOCALEDEF___187 = 52,
    _SC_PII___187 = 53,
    _SC_PII_XTI___187 = 54,
    _SC_PII_SOCKET___187 = 55,
    _SC_PII_INTERNET___187 = 56,
    _SC_PII_OSI___187 = 57,
    _SC_POLL___187 = 58,
    _SC_SELECT___187 = 59,
    _SC_UIO_MAXIOV___187 = 60,
    _SC_IOV_MAX___187 = 60,
    _SC_PII_INTERNET_STREAM___187 = 61,
    _SC_PII_INTERNET_DGRAM___187 = 62,
    _SC_PII_OSI_COTS___187 = 63,
    _SC_PII_OSI_CLTS___187 = 64,
    _SC_PII_OSI_M___187 = 65,
    _SC_T_IOV_MAX___187 = 66,
    _SC_THREADS___187 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___187 = 68,
    _SC_GETGR_R_SIZE_MAX___187 = 69,
    _SC_GETPW_R_SIZE_MAX___187 = 70,
    _SC_LOGIN_NAME_MAX___187 = 71,
    _SC_TTY_NAME_MAX___187 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___187 = 73,
    _SC_THREAD_KEYS_MAX___187 = 74,
    _SC_THREAD_STACK_MIN___187 = 75,
    _SC_THREAD_THREADS_MAX___187 = 76,
    _SC_THREAD_ATTR_STACKADDR___187 = 77,
    _SC_THREAD_ATTR_STACKSIZE___187 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___187 = 79,
    _SC_THREAD_PRIO_INHERIT___187 = 80,
    _SC_THREAD_PRIO_PROTECT___187 = 81,
    _SC_THREAD_PROCESS_SHARED___187 = 82,
    _SC_NPROCESSORS_CONF___187 = 83,
    _SC_NPROCESSORS_ONLN___187 = 84,
    _SC_PHYS_PAGES___187 = 85,
    _SC_AVPHYS_PAGES___187 = 86,
    _SC_ATEXIT_MAX___187 = 87,
    _SC_PASS_MAX___187 = 88,
    _SC_XOPEN_VERSION___187 = 89,
    _SC_XOPEN_XCU_VERSION___187 = 90,
    _SC_XOPEN_UNIX___187 = 91,
    _SC_XOPEN_CRYPT___187 = 92,
    _SC_XOPEN_ENH_I18N___187 = 93,
    _SC_XOPEN_SHM___187 = 94,
    _SC_2_CHAR_TERM___187 = 95,
    _SC_2_C_VERSION___187 = 96,
    _SC_2_UPE___187 = 97,
    _SC_XOPEN_XPG2___187 = 98,
    _SC_XOPEN_XPG3___187 = 99,
    _SC_XOPEN_XPG4___187 = 100,
    _SC_CHAR_BIT___187 = 101,
    _SC_CHAR_MAX___187 = 102,
    _SC_CHAR_MIN___187 = 103,
    _SC_INT_MAX___187 = 104,
    _SC_INT_MIN___187 = 105,
    _SC_LONG_BIT___187 = 106,
    _SC_WORD_BIT___187 = 107,
    _SC_MB_LEN_MAX___187 = 108,
    _SC_NZERO___187 = 109,
    _SC_SSIZE_MAX___187 = 110,
    _SC_SCHAR_MAX___187 = 111,
    _SC_SCHAR_MIN___187 = 112,
    _SC_SHRT_MAX___187 = 113,
    _SC_SHRT_MIN___187 = 114,
    _SC_UCHAR_MAX___187 = 115,
    _SC_UINT_MAX___187 = 116,
    _SC_ULONG_MAX___187 = 117,
    _SC_USHRT_MAX___187 = 118,
    _SC_NL_ARGMAX___187 = 119,
    _SC_NL_LANGMAX___187 = 120,
    _SC_NL_MSGMAX___187 = 121,
    _SC_NL_NMAX___187 = 122,
    _SC_NL_SETMAX___187 = 123,
    _SC_NL_TEXTMAX___187 = 124,
    _SC_XBS5_ILP32_OFF32___187 = 125,
    _SC_XBS5_ILP32_OFFBIG___187 = 126,
    _SC_XBS5_LP64_OFF64___187 = 127,
    _SC_XBS5_LPBIG_OFFBIG___187 = 128,
    _SC_XOPEN_LEGACY___187 = 129,
    _SC_XOPEN_REALTIME___187 = 130,
    _SC_XOPEN_REALTIME_THREADS___187 = 131,
    _SC_ADVISORY_INFO___187 = 132,
    _SC_BARRIERS___187 = 133,
    _SC_BASE___187 = 134,
    _SC_C_LANG_SUPPORT___187 = 135,
    _SC_C_LANG_SUPPORT_R___187 = 136,
    _SC_CLOCK_SELECTION___187 = 137,
    _SC_CPUTIME___187 = 138,
    _SC_THREAD_CPUTIME___187 = 139,
    _SC_DEVICE_IO___187 = 140,
    _SC_DEVICE_SPECIFIC___187 = 141,
    _SC_DEVICE_SPECIFIC_R___187 = 142,
    _SC_FD_MGMT___187 = 143,
    _SC_FIFO___187 = 144,
    _SC_PIPE___187 = 145,
    _SC_FILE_ATTRIBUTES___187 = 146,
    _SC_FILE_LOCKING___187 = 147,
    _SC_FILE_SYSTEM___187 = 148,
    _SC_MONOTONIC_CLOCK___187 = 149,
    _SC_MULTI_PROCESS___187 = 150,
    _SC_SINGLE_PROCESS___187 = 151,
    _SC_NETWORKING___187 = 152,
    _SC_READER_WRITER_LOCKS___187 = 153,
    _SC_SPIN_LOCKS___187 = 154,
    _SC_REGEXP___187 = 155,
    _SC_REGEX_VERSION___187 = 156,
    _SC_SHELL___187 = 157,
    _SC_SIGNALS___187 = 158,
    _SC_SPAWN___187 = 159,
    _SC_SPORADIC_SERVER___187 = 160,
    _SC_THREAD_SPORADIC_SERVER___187 = 161,
    _SC_SYSTEM_DATABASE___187 = 162,
    _SC_SYSTEM_DATABASE_R___187 = 163,
    _SC_TIMEOUTS___187 = 164,
    _SC_TYPED_MEMORY_OBJECTS___187 = 165,
    _SC_USER_GROUPS___187 = 166,
    _SC_USER_GROUPS_R___187 = 167,
    _SC_2_PBS___187 = 168,
    _SC_2_PBS_ACCOUNTING___187 = 169,
    _SC_2_PBS_LOCATE___187 = 170,
    _SC_2_PBS_MESSAGE___187 = 171,
    _SC_2_PBS_TRACK___187 = 172,
    _SC_SYMLOOP_MAX___187 = 173,
    _SC_STREAMS___187 = 174,
    _SC_2_PBS_CHECKPOINT___187 = 175,
    _SC_V6_ILP32_OFF32___187 = 176,
    _SC_V6_ILP32_OFFBIG___187 = 177,
    _SC_V6_LP64_OFF64___187 = 178,
    _SC_V6_LPBIG_OFFBIG___187 = 179,
    _SC_HOST_NAME_MAX___187 = 180,
    _SC_TRACE___187 = 181,
    _SC_TRACE_EVENT_FILTER___187 = 182,
    _SC_TRACE_INHERIT___187 = 183,
    _SC_TRACE_LOG___187 = 184,
    _SC_LEVEL1_ICACHE_SIZE___187 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___187 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___187 = 187,
    _SC_LEVEL1_DCACHE_SIZE___187 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___187 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___187 = 190,
    _SC_LEVEL2_CACHE_SIZE___187 = 191,
    _SC_LEVEL2_CACHE_ASSOC___187 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___187 = 193,
    _SC_LEVEL3_CACHE_SIZE___187 = 194,
    _SC_LEVEL3_CACHE_ASSOC___187 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___187 = 196,
    _SC_LEVEL4_CACHE_SIZE___187 = 197,
    _SC_LEVEL4_CACHE_ASSOC___187 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___187 = 199,
    _SC_IPV6___187 = 235,
    _SC_RAW_SOCKETS___187 = 236,
    _SC_V7_ILP32_OFF32___187 = 237,
    _SC_V7_ILP32_OFFBIG___187 = 238,
    _SC_V7_LP64_OFF64___187 = 239,
    _SC_V7_LPBIG_OFFBIG___187 = 240,
    _SC_SS_REPL_MAX___187 = 241,
    _SC_TRACE_EVENT_NAME_MAX___187 = 242,
    _SC_TRACE_NAME_MAX___187 = 243,
    _SC_TRACE_SYS_MAX___187 = 244,
    _SC_TRACE_USER_EVENT_MAX___187 = 245,
    _SC_XOPEN_STREAMS___187 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___187 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___187 = 248
} ;
enum __anonenum_875524036___187 {
    _CS_PATH___187 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___187 = 1,
    _CS_GNU_LIBC_VERSION___187 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___187 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___187 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___187 = 5,
    _CS_LFS_CFLAGS___187 = 1000,
    _CS_LFS_LDFLAGS___187 = 1001,
    _CS_LFS_LIBS___187 = 1002,
    _CS_LFS_LINTFLAGS___187 = 1003,
    _CS_LFS64_CFLAGS___187 = 1004,
    _CS_LFS64_LDFLAGS___187 = 1005,
    _CS_LFS64_LIBS___187 = 1006,
    _CS_LFS64_LINTFLAGS___187 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___187 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___187 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___187 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___187 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___187 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___187 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___187 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___187 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___187 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___187 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___187 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___187 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___187 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___187 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___187 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___187 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___187 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___187 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___187 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___187 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___187 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___187 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___187 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___187 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___187 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___187 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___187 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___187 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___187 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___187 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___187 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___187 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___187 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___187 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___187 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___187 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___187 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___187 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___187 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___187 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___187 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___187 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___187 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___187 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___187 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___187 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___187 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___187 = 1147,
    _CS_V6_ENV___187 = 1148,
    _CS_V7_ENV___187 = 1149
} ;
enum __anonenum_513775621___187 {
    DT_UNKNOWN___187 = 0,
    DT_FIFO___187 = 1,
    DT_CHR___187 = 2,
    DT_DIR___187 = 4,
    DT_BLK___187 = 6,
    DT_REG___187 = 8,
    DT_LNK___187 = 10,
    DT_SOCK___187 = 12,
    DT_WHT___187 = 14
} ;
enum __anonenum_77002343___187 {
    SI_ASYNCNL___187 = -60,
    SI_TKILL___187 = -6,
    SI_SIGIO___187 = -5,
    SI_ASYNCIO___187 = -4,
    SI_MESGQ___187 = -3,
    SI_TIMER___187 = -2,
    SI_QUEUE___187 = -1,
    SI_USER___187 = 0,
    SI_KERNEL___187 = 128
} ;
enum __anonenum_131038172___187 {
    ILL_ILLOPC___187 = 1,
    ILL_ILLOPN___187 = 2,
    ILL_ILLADR___187 = 3,
    ILL_ILLTRP___187 = 4,
    ILL_PRVOPC___187 = 5,
    ILL_PRVREG___187 = 6,
    ILL_COPROC___187 = 7,
    ILL_BADSTK___187 = 8
} ;
enum __anonenum_452038093___187 {
    FPE_INTDIV___187 = 1,
    FPE_INTOVF___187 = 2,
    FPE_FLTDIV___187 = 3,
    FPE_FLTOVF___187 = 4,
    FPE_FLTUND___187 = 5,
    FPE_FLTRES___187 = 6,
    FPE_FLTINV___187 = 7,
    FPE_FLTSUB___187 = 8
} ;
enum __anonenum_30976155___187 {
    SEGV_MAPERR___187 = 1,
    SEGV_ACCERR___187 = 2,
    SEGV_BNDERR___187 = 3,
    SEGV_PKUERR___187 = 4
} ;
enum __anonenum_1036286214___187 {
    BUS_ADRALN___187 = 1,
    BUS_ADRERR___187 = 2,
    BUS_OBJERR___187 = 3,
    BUS_MCEERR_AR___187 = 4,
    BUS_MCEERR_AO___187 = 5
} ;
enum __anonenum_493465559___187 {
    TRAP_BRKPT___187 = 1,
    TRAP_TRACE___187 = 2
} ;
enum __anonenum_23175539___187 {
    CLD_EXITED___187 = 1,
    CLD_KILLED___187 = 2,
    CLD_DUMPED___187 = 3,
    CLD_TRAPPED___187 = 4,
    CLD_STOPPED___187 = 5,
    CLD_CONTINUED___187 = 6
} ;
enum __anonenum_111643124___187 {
    POLL_IN___187 = 1,
    POLL_OUT___187 = 2,
    POLL_MSG___187 = 3,
    POLL_ERR___187 = 4,
    POLL_PRI___187 = 5,
    POLL_HUP___187 = 6
} ;
enum __anonenum_852341087___187 {
    SIGEV_SIGNAL___187 = 0,
    SIGEV_NONE___187 = 1,
    SIGEV_THREAD___187 = 2,
    SIGEV_THREAD_ID___187 = 4
} ;
enum __anonenum_451154152___187 {
    REG_R8___187 = 0,
    REG_R9___187 = 1,
    REG_R10___187 = 2,
    REG_R11___187 = 3,
    REG_R12___187 = 4,
    REG_R13___187 = 5,
    REG_R14___187 = 6,
    REG_R15___187 = 7,
    REG_RDI___187 = 8,
    REG_RSI___187 = 9,
    REG_RBP___187 = 10,
    REG_RBX___187 = 11,
    REG_RDX___187 = 12,
    REG_RAX___187 = 13,
    REG_RCX___187 = 14,
    REG_RSP___187 = 15,
    REG_RIP___187 = 16,
    REG_EFL___187 = 17,
    REG_CSGSFS___187 = 18,
    REG_ERR___187 = 19,
    REG_TRAPNO___187 = 20,
    REG_OLDMASK___187 = 21,
    REG_CR2___187 = 22
} ;
enum __anonenum_57186863___187 {
    SS_ONSTACK___187 = 1,
    SS_DISABLE___187 = 2
} ;
enum __anonenum_83571709___187 {
    MSG_OOB___187 = 1,
    MSG_PEEK___187 = 2,
    MSG_DONTROUTE___187 = 4,
    MSG_TRYHARD___187 = 4,
    MSG_CTRUNC___187 = 8,
    MSG_PROXY___187 = 16,
    MSG_TRUNC___187 = 32,
    MSG_DONTWAIT___187 = 64,
    MSG_EOR___187 = 128,
    MSG_WAITALL___187 = 256,
    MSG_FIN___187 = 512,
    MSG_SYN___187 = 1024,
    MSG_CONFIRM___187 = 2048,
    MSG_RST___187 = 4096,
    MSG_ERRQUEUE___187 = 8192,
    MSG_NOSIGNAL___187 = 16384,
    MSG_MORE___187 = 32768,
    MSG_WAITFORONE___187 = 65536,
    MSG_BATCH___187 = 262144,
    MSG_ZEROCOPY___187 = 67108864,
    MSG_FASTOPEN___187 = 536870912,
    MSG_CMSG_CLOEXEC___187 = 1073741824
} ;
enum __anonenum_617082774___187 {
    SCM_RIGHTS___187 = 1,
    SCM_CREDENTIALS___187 = 2
} ;
enum __anonenum_606441560___187 {
    SHUT_RD___187 = 0,
    SHUT_WR___187 = 1,
    SHUT_RDWR___187 = 2
} ;
enum __anonenum_681669233___187 {
    IPPROTO_IP___187 = 0,
    IPPROTO_ICMP___187 = 1,
    IPPROTO_IGMP___187 = 2,
    IPPROTO_IPIP___187 = 4,
    IPPROTO_TCP___187 = 6,
    IPPROTO_EGP___187 = 8,
    IPPROTO_PUP___187 = 12,
    IPPROTO_UDP___187 = 17,
    IPPROTO_IDP___187 = 22,
    IPPROTO_TP___187 = 29,
    IPPROTO_DCCP___187 = 33,
    IPPROTO_IPV6___187 = 41,
    IPPROTO_RSVP___187 = 46,
    IPPROTO_GRE___187 = 47,
    IPPROTO_ESP___187 = 50,
    IPPROTO_AH___187 = 51,
    IPPROTO_MTP___187 = 92,
    IPPROTO_BEETPH___187 = 94,
    IPPROTO_ENCAP___187 = 98,
    IPPROTO_PIM___187 = 103,
    IPPROTO_COMP___187 = 108,
    IPPROTO_SCTP___187 = 132,
    IPPROTO_UDPLITE___187 = 136,
    IPPROTO_MPLS___187 = 137,
    IPPROTO_RAW___187 = 255,
    IPPROTO_MAX___187 = 256
} ;
enum __anonenum_218739988___187 {
    IPPROTO_HOPOPTS___187 = 0,
    IPPROTO_ROUTING___187 = 43,
    IPPROTO_FRAGMENT___187 = 44,
    IPPROTO_ICMPV6___187 = 58,
    IPPROTO_NONE___187 = 59,
    IPPROTO_DSTOPTS___187 = 60,
    IPPROTO_MH___187 = 135
} ;
enum __anonenum_662268580___187 {
    IPPORT_ECHO___187 = 7,
    IPPORT_DISCARD___187 = 9,
    IPPORT_SYSTAT___187 = 11,
    IPPORT_DAYTIME___187 = 13,
    IPPORT_NETSTAT___187 = 15,
    IPPORT_FTP___187 = 21,
    IPPORT_TELNET___187 = 23,
    IPPORT_SMTP___187 = 25,
    IPPORT_TIMESERVER___187 = 37,
    IPPORT_NAMESERVER___187 = 42,
    IPPORT_WHOIS___187 = 43,
    IPPORT_MTP___187 = 57,
    IPPORT_TFTP___187 = 69,
    IPPORT_RJE___187 = 77,
    IPPORT_FINGER___187 = 79,
    IPPORT_TTYLINK___187 = 87,
    IPPORT_SUPDUP___187 = 95,
    IPPORT_EXECSERVER___187 = 512,
    IPPORT_LOGINSERVER___187 = 513,
    IPPORT_CMDSERVER___187 = 514,
    IPPORT_EFSSERVER___187 = 520,
    IPPORT_BIFFUDP___187 = 512,
    IPPORT_WHOSERVER___187 = 513,
    IPPORT_ROUTESERVER___187 = 520,
    IPPORT_RESERVED___187 = 1024,
    IPPORT_USERRESERVED___187 = 5000
} ;
enum __anonenum_788308992___187 {
    TCP_ESTABLISHED___187 = 1,
    TCP_SYN_SENT___187 = 2,
    TCP_SYN_RECV___187 = 3,
    TCP_FIN_WAIT1___187 = 4,
    TCP_FIN_WAIT2___187 = 5,
    TCP_TIME_WAIT___187 = 6,
    TCP_CLOSE___187 = 7,
    TCP_CLOSE_WAIT___187 = 8,
    TCP_LAST_ACK___187 = 9,
    TCP_LISTEN___187 = 10,
    TCP_CLOSING___187 = 11
} ;
enum __anonenum_221125648___187 {
    TCP_NO_QUEUE___187 = 0,
    TCP_RECV_QUEUE___187 = 1,
    TCP_SEND_QUEUE___187 = 2,
    TCP_QUEUES_NR___187 = 3
} ;
enum __anonenum_34415463___187 {
    PTHREAD_CREATE_JOINABLE___187 = 0,
    PTHREAD_CREATE_DETACHED___187 = 1
} ;
enum __anonenum_303612439___187 {
    PTHREAD_MUTEX_TIMED_NP___187 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___187 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___187 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___187 = 3,
    PTHREAD_MUTEX_NORMAL___187 = 0,
    PTHREAD_MUTEX_RECURSIVE___187 = 1,
    PTHREAD_MUTEX_ERRORCHECK___187 = 2,
    PTHREAD_MUTEX_DEFAULT___187 = 0,
    PTHREAD_MUTEX_FAST_NP___187 = 0
} ;
enum __anonenum_931900394___187 {
    PTHREAD_MUTEX_STALLED___187 = 0,
    PTHREAD_MUTEX_STALLED_NP___187 = 0,
    PTHREAD_MUTEX_ROBUST___187 = 1,
    PTHREAD_MUTEX_ROBUST_NP___187 = 1
} ;
enum __anonenum_205214487___187 {
    PTHREAD_PRIO_NONE___187 = 0,
    PTHREAD_PRIO_INHERIT___187 = 1,
    PTHREAD_PRIO_PROTECT___187 = 2
} ;
enum __anonenum_25043950___187 {
    PTHREAD_RWLOCK_PREFER_READER_NP___187 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___187 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___187 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___187 = 0
} ;
enum __anonenum_436439511___187 {
    PTHREAD_INHERIT_SCHED___187 = 0,
    PTHREAD_EXPLICIT_SCHED___187 = 1
} ;
enum __anonenum_998661166___187 {
    PTHREAD_SCOPE_SYSTEM___187 = 0,
    PTHREAD_SCOPE_PROCESS___187 = 1
} ;
enum __anonenum_146137331___187 {
    PTHREAD_PROCESS_PRIVATE___187 = 0,
    PTHREAD_PROCESS_SHARED___187 = 1
} ;
enum __anonenum_53396917___187 {
    PTHREAD_CANCEL_ENABLE___187 = 0,
    PTHREAD_CANCEL_DISABLE___187 = 1
} ;
enum __anonenum_904563783___187 {
    PTHREAD_CANCEL_DEFERRED___187 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___187 = 1
} ;
enum __anonenum_672052974___187 {
    SSL_CT_VALIDATION_PERMISSIVE___187 = 0,
    SSL_CT_VALIDATION_STRICT___187 = 1
} ;
enum __anonenum_437032235___188 {
    _PC_LINK_MAX___188 = 0,
    _PC_MAX_CANON___188 = 1,
    _PC_MAX_INPUT___188 = 2,
    _PC_NAME_MAX___188 = 3,
    _PC_PATH_MAX___188 = 4,
    _PC_PIPE_BUF___188 = 5,
    _PC_CHOWN_RESTRICTED___188 = 6,
    _PC_NO_TRUNC___188 = 7,
    _PC_VDISABLE___188 = 8,
    _PC_SYNC_IO___188 = 9,
    _PC_ASYNC_IO___188 = 10,
    _PC_PRIO_IO___188 = 11,
    _PC_SOCK_MAXBUF___188 = 12,
    _PC_FILESIZEBITS___188 = 13,
    _PC_REC_INCR_XFER_SIZE___188 = 14,
    _PC_REC_MAX_XFER_SIZE___188 = 15,
    _PC_REC_MIN_XFER_SIZE___188 = 16,
    _PC_REC_XFER_ALIGN___188 = 17,
    _PC_ALLOC_SIZE_MIN___188 = 18,
    _PC_SYMLINK_MAX___188 = 19,
    _PC_2_SYMLINKS___188 = 20
} ;
enum __anonenum_315186338___188 {
    _SC_ARG_MAX___188 = 0,
    _SC_CHILD_MAX___188 = 1,
    _SC_CLK_TCK___188 = 2,
    _SC_NGROUPS_MAX___188 = 3,
    _SC_OPEN_MAX___188 = 4,
    _SC_STREAM_MAX___188 = 5,
    _SC_TZNAME_MAX___188 = 6,
    _SC_JOB_CONTROL___188 = 7,
    _SC_SAVED_IDS___188 = 8,
    _SC_REALTIME_SIGNALS___188 = 9,
    _SC_PRIORITY_SCHEDULING___188 = 10,
    _SC_TIMERS___188 = 11,
    _SC_ASYNCHRONOUS_IO___188 = 12,
    _SC_PRIORITIZED_IO___188 = 13,
    _SC_SYNCHRONIZED_IO___188 = 14,
    _SC_FSYNC___188 = 15,
    _SC_MAPPED_FILES___188 = 16,
    _SC_MEMLOCK___188 = 17,
    _SC_MEMLOCK_RANGE___188 = 18,
    _SC_MEMORY_PROTECTION___188 = 19,
    _SC_MESSAGE_PASSING___188 = 20,
    _SC_SEMAPHORES___188 = 21,
    _SC_SHARED_MEMORY_OBJECTS___188 = 22,
    _SC_AIO_LISTIO_MAX___188 = 23,
    _SC_AIO_MAX___188 = 24,
    _SC_AIO_PRIO_DELTA_MAX___188 = 25,
    _SC_DELAYTIMER_MAX___188 = 26,
    _SC_MQ_OPEN_MAX___188 = 27,
    _SC_MQ_PRIO_MAX___188 = 28,
    _SC_VERSION___188 = 29,
    _SC_PAGESIZE___188 = 30,
    _SC_RTSIG_MAX___188 = 31,
    _SC_SEM_NSEMS_MAX___188 = 32,
    _SC_SEM_VALUE_MAX___188 = 33,
    _SC_SIGQUEUE_MAX___188 = 34,
    _SC_TIMER_MAX___188 = 35,
    _SC_BC_BASE_MAX___188 = 36,
    _SC_BC_DIM_MAX___188 = 37,
    _SC_BC_SCALE_MAX___188 = 38,
    _SC_BC_STRING_MAX___188 = 39,
    _SC_COLL_WEIGHTS_MAX___188 = 40,
    _SC_EQUIV_CLASS_MAX___188 = 41,
    _SC_EXPR_NEST_MAX___188 = 42,
    _SC_LINE_MAX___188 = 43,
    _SC_RE_DUP_MAX___188 = 44,
    _SC_CHARCLASS_NAME_MAX___188 = 45,
    _SC_2_VERSION___188 = 46,
    _SC_2_C_BIND___188 = 47,
    _SC_2_C_DEV___188 = 48,
    _SC_2_FORT_DEV___188 = 49,
    _SC_2_FORT_RUN___188 = 50,
    _SC_2_SW_DEV___188 = 51,
    _SC_2_LOCALEDEF___188 = 52,
    _SC_PII___188 = 53,
    _SC_PII_XTI___188 = 54,
    _SC_PII_SOCKET___188 = 55,
    _SC_PII_INTERNET___188 = 56,
    _SC_PII_OSI___188 = 57,
    _SC_POLL___188 = 58,
    _SC_SELECT___188 = 59,
    _SC_UIO_MAXIOV___188 = 60,
    _SC_IOV_MAX___188 = 60,
    _SC_PII_INTERNET_STREAM___188 = 61,
    _SC_PII_INTERNET_DGRAM___188 = 62,
    _SC_PII_OSI_COTS___188 = 63,
    _SC_PII_OSI_CLTS___188 = 64,
    _SC_PII_OSI_M___188 = 65,
    _SC_T_IOV_MAX___188 = 66,
    _SC_THREADS___188 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___188 = 68,
    _SC_GETGR_R_SIZE_MAX___188 = 69,
    _SC_GETPW_R_SIZE_MAX___188 = 70,
    _SC_LOGIN_NAME_MAX___188 = 71,
    _SC_TTY_NAME_MAX___188 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___188 = 73,
    _SC_THREAD_KEYS_MAX___188 = 74,
    _SC_THREAD_STACK_MIN___188 = 75,
    _SC_THREAD_THREADS_MAX___188 = 76,
    _SC_THREAD_ATTR_STACKADDR___188 = 77,
    _SC_THREAD_ATTR_STACKSIZE___188 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___188 = 79,
    _SC_THREAD_PRIO_INHERIT___188 = 80,
    _SC_THREAD_PRIO_PROTECT___188 = 81,
    _SC_THREAD_PROCESS_SHARED___188 = 82,
    _SC_NPROCESSORS_CONF___188 = 83,
    _SC_NPROCESSORS_ONLN___188 = 84,
    _SC_PHYS_PAGES___188 = 85,
    _SC_AVPHYS_PAGES___188 = 86,
    _SC_ATEXIT_MAX___188 = 87,
    _SC_PASS_MAX___188 = 88,
    _SC_XOPEN_VERSION___188 = 89,
    _SC_XOPEN_XCU_VERSION___188 = 90,
    _SC_XOPEN_UNIX___188 = 91,
    _SC_XOPEN_CRYPT___188 = 92,
    _SC_XOPEN_ENH_I18N___188 = 93,
    _SC_XOPEN_SHM___188 = 94,
    _SC_2_CHAR_TERM___188 = 95,
    _SC_2_C_VERSION___188 = 96,
    _SC_2_UPE___188 = 97,
    _SC_XOPEN_XPG2___188 = 98,
    _SC_XOPEN_XPG3___188 = 99,
    _SC_XOPEN_XPG4___188 = 100,
    _SC_CHAR_BIT___188 = 101,
    _SC_CHAR_MAX___188 = 102,
    _SC_CHAR_MIN___188 = 103,
    _SC_INT_MAX___188 = 104,
    _SC_INT_MIN___188 = 105,
    _SC_LONG_BIT___188 = 106,
    _SC_WORD_BIT___188 = 107,
    _SC_MB_LEN_MAX___188 = 108,
    _SC_NZERO___188 = 109,
    _SC_SSIZE_MAX___188 = 110,
    _SC_SCHAR_MAX___188 = 111,
    _SC_SCHAR_MIN___188 = 112,
    _SC_SHRT_MAX___188 = 113,
    _SC_SHRT_MIN___188 = 114,
    _SC_UCHAR_MAX___188 = 115,
    _SC_UINT_MAX___188 = 116,
    _SC_ULONG_MAX___188 = 117,
    _SC_USHRT_MAX___188 = 118,
    _SC_NL_ARGMAX___188 = 119,
    _SC_NL_LANGMAX___188 = 120,
    _SC_NL_MSGMAX___188 = 121,
    _SC_NL_NMAX___188 = 122,
    _SC_NL_SETMAX___188 = 123,
    _SC_NL_TEXTMAX___188 = 124,
    _SC_XBS5_ILP32_OFF32___188 = 125,
    _SC_XBS5_ILP32_OFFBIG___188 = 126,
    _SC_XBS5_LP64_OFF64___188 = 127,
    _SC_XBS5_LPBIG_OFFBIG___188 = 128,
    _SC_XOPEN_LEGACY___188 = 129,
    _SC_XOPEN_REALTIME___188 = 130,
    _SC_XOPEN_REALTIME_THREADS___188 = 131,
    _SC_ADVISORY_INFO___188 = 132,
    _SC_BARRIERS___188 = 133,
    _SC_BASE___188 = 134,
    _SC_C_LANG_SUPPORT___188 = 135,
    _SC_C_LANG_SUPPORT_R___188 = 136,
    _SC_CLOCK_SELECTION___188 = 137,
    _SC_CPUTIME___188 = 138,
    _SC_THREAD_CPUTIME___188 = 139,
    _SC_DEVICE_IO___188 = 140,
    _SC_DEVICE_SPECIFIC___188 = 141,
    _SC_DEVICE_SPECIFIC_R___188 = 142,
    _SC_FD_MGMT___188 = 143,
    _SC_FIFO___188 = 144,
    _SC_PIPE___188 = 145,
    _SC_FILE_ATTRIBUTES___188 = 146,
    _SC_FILE_LOCKING___188 = 147,
    _SC_FILE_SYSTEM___188 = 148,
    _SC_MONOTONIC_CLOCK___188 = 149,
    _SC_MULTI_PROCESS___188 = 150,
    _SC_SINGLE_PROCESS___188 = 151,
    _SC_NETWORKING___188 = 152,
    _SC_READER_WRITER_LOCKS___188 = 153,
    _SC_SPIN_LOCKS___188 = 154,
    _SC_REGEXP___188 = 155,
    _SC_REGEX_VERSION___188 = 156,
    _SC_SHELL___188 = 157,
    _SC_SIGNALS___188 = 158,
    _SC_SPAWN___188 = 159,
    _SC_SPORADIC_SERVER___188 = 160,
    _SC_THREAD_SPORADIC_SERVER___188 = 161,
    _SC_SYSTEM_DATABASE___188 = 162,
    _SC_SYSTEM_DATABASE_R___188 = 163,
    _SC_TIMEOUTS___188 = 164,
    _SC_TYPED_MEMORY_OBJECTS___188 = 165,
    _SC_USER_GROUPS___188 = 166,
    _SC_USER_GROUPS_R___188 = 167,
    _SC_2_PBS___188 = 168,
    _SC_2_PBS_ACCOUNTING___188 = 169,
    _SC_2_PBS_LOCATE___188 = 170,
    _SC_2_PBS_MESSAGE___188 = 171,
    _SC_2_PBS_TRACK___188 = 172,
    _SC_SYMLOOP_MAX___188 = 173,
    _SC_STREAMS___188 = 174,
    _SC_2_PBS_CHECKPOINT___188 = 175,
    _SC_V6_ILP32_OFF32___188 = 176,
    _SC_V6_ILP32_OFFBIG___188 = 177,
    _SC_V6_LP64_OFF64___188 = 178,
    _SC_V6_LPBIG_OFFBIG___188 = 179,
    _SC_HOST_NAME_MAX___188 = 180,
    _SC_TRACE___188 = 181,
    _SC_TRACE_EVENT_FILTER___188 = 182,
    _SC_TRACE_INHERIT___188 = 183,
    _SC_TRACE_LOG___188 = 184,
    _SC_LEVEL1_ICACHE_SIZE___188 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___188 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___188 = 187,
    _SC_LEVEL1_DCACHE_SIZE___188 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___188 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___188 = 190,
    _SC_LEVEL2_CACHE_SIZE___188 = 191,
    _SC_LEVEL2_CACHE_ASSOC___188 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___188 = 193,
    _SC_LEVEL3_CACHE_SIZE___188 = 194,
    _SC_LEVEL3_CACHE_ASSOC___188 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___188 = 196,
    _SC_LEVEL4_CACHE_SIZE___188 = 197,
    _SC_LEVEL4_CACHE_ASSOC___188 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___188 = 199,
    _SC_IPV6___188 = 235,
    _SC_RAW_SOCKETS___188 = 236,
    _SC_V7_ILP32_OFF32___188 = 237,
    _SC_V7_ILP32_OFFBIG___188 = 238,
    _SC_V7_LP64_OFF64___188 = 239,
    _SC_V7_LPBIG_OFFBIG___188 = 240,
    _SC_SS_REPL_MAX___188 = 241,
    _SC_TRACE_EVENT_NAME_MAX___188 = 242,
    _SC_TRACE_NAME_MAX___188 = 243,
    _SC_TRACE_SYS_MAX___188 = 244,
    _SC_TRACE_USER_EVENT_MAX___188 = 245,
    _SC_XOPEN_STREAMS___188 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___188 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___188 = 248
} ;
enum __anonenum_875524036___188 {
    _CS_PATH___188 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___188 = 1,
    _CS_GNU_LIBC_VERSION___188 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___188 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___188 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___188 = 5,
    _CS_LFS_CFLAGS___188 = 1000,
    _CS_LFS_LDFLAGS___188 = 1001,
    _CS_LFS_LIBS___188 = 1002,
    _CS_LFS_LINTFLAGS___188 = 1003,
    _CS_LFS64_CFLAGS___188 = 1004,
    _CS_LFS64_LDFLAGS___188 = 1005,
    _CS_LFS64_LIBS___188 = 1006,
    _CS_LFS64_LINTFLAGS___188 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___188 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___188 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___188 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___188 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___188 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___188 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___188 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___188 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___188 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___188 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___188 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___188 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___188 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___188 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___188 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___188 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___188 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___188 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___188 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___188 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___188 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___188 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___188 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___188 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___188 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___188 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___188 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___188 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___188 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___188 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___188 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___188 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___188 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___188 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___188 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___188 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___188 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___188 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___188 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___188 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___188 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___188 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___188 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___188 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___188 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___188 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___188 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___188 = 1147,
    _CS_V6_ENV___188 = 1148,
    _CS_V7_ENV___188 = 1149
} ;
enum __anonenum_513775621___188 {
    DT_UNKNOWN___188 = 0,
    DT_FIFO___188 = 1,
    DT_CHR___188 = 2,
    DT_DIR___188 = 4,
    DT_BLK___188 = 6,
    DT_REG___188 = 8,
    DT_LNK___188 = 10,
    DT_SOCK___188 = 12,
    DT_WHT___188 = 14
} ;
enum __anonenum_77002343___188 {
    SI_ASYNCNL___188 = -60,
    SI_TKILL___188 = -6,
    SI_SIGIO___188 = -5,
    SI_ASYNCIO___188 = -4,
    SI_MESGQ___188 = -3,
    SI_TIMER___188 = -2,
    SI_QUEUE___188 = -1,
    SI_USER___188 = 0,
    SI_KERNEL___188 = 128
} ;
enum __anonenum_131038172___188 {
    ILL_ILLOPC___188 = 1,
    ILL_ILLOPN___188 = 2,
    ILL_ILLADR___188 = 3,
    ILL_ILLTRP___188 = 4,
    ILL_PRVOPC___188 = 5,
    ILL_PRVREG___188 = 6,
    ILL_COPROC___188 = 7,
    ILL_BADSTK___188 = 8
} ;
enum __anonenum_452038093___188 {
    FPE_INTDIV___188 = 1,
    FPE_INTOVF___188 = 2,
    FPE_FLTDIV___188 = 3,
    FPE_FLTOVF___188 = 4,
    FPE_FLTUND___188 = 5,
    FPE_FLTRES___188 = 6,
    FPE_FLTINV___188 = 7,
    FPE_FLTSUB___188 = 8
} ;
enum __anonenum_30976155___188 {
    SEGV_MAPERR___188 = 1,
    SEGV_ACCERR___188 = 2,
    SEGV_BNDERR___188 = 3,
    SEGV_PKUERR___188 = 4
} ;
enum __anonenum_1036286214___188 {
    BUS_ADRALN___188 = 1,
    BUS_ADRERR___188 = 2,
    BUS_OBJERR___188 = 3,
    BUS_MCEERR_AR___188 = 4,
    BUS_MCEERR_AO___188 = 5
} ;
enum __anonenum_493465559___188 {
    TRAP_BRKPT___188 = 1,
    TRAP_TRACE___188 = 2
} ;
enum __anonenum_23175539___188 {
    CLD_EXITED___188 = 1,
    CLD_KILLED___188 = 2,
    CLD_DUMPED___188 = 3,
    CLD_TRAPPED___188 = 4,
    CLD_STOPPED___188 = 5,
    CLD_CONTINUED___188 = 6
} ;
enum __anonenum_111643124___188 {
    POLL_IN___188 = 1,
    POLL_OUT___188 = 2,
    POLL_MSG___188 = 3,
    POLL_ERR___188 = 4,
    POLL_PRI___188 = 5,
    POLL_HUP___188 = 6
} ;
enum __anonenum_852341087___188 {
    SIGEV_SIGNAL___188 = 0,
    SIGEV_NONE___188 = 1,
    SIGEV_THREAD___188 = 2,
    SIGEV_THREAD_ID___188 = 4
} ;
enum __anonenum_451154152___188 {
    REG_R8___188 = 0,
    REG_R9___188 = 1,
    REG_R10___188 = 2,
    REG_R11___188 = 3,
    REG_R12___188 = 4,
    REG_R13___188 = 5,
    REG_R14___188 = 6,
    REG_R15___188 = 7,
    REG_RDI___188 = 8,
    REG_RSI___188 = 9,
    REG_RBP___188 = 10,
    REG_RBX___188 = 11,
    REG_RDX___188 = 12,
    REG_RAX___188 = 13,
    REG_RCX___188 = 14,
    REG_RSP___188 = 15,
    REG_RIP___188 = 16,
    REG_EFL___188 = 17,
    REG_CSGSFS___188 = 18,
    REG_ERR___188 = 19,
    REG_TRAPNO___188 = 20,
    REG_OLDMASK___188 = 21,
    REG_CR2___188 = 22
} ;
enum __anonenum_57186863___188 {
    SS_ONSTACK___188 = 1,
    SS_DISABLE___188 = 2
} ;
enum __anonenum_83571709___188 {
    MSG_OOB___188 = 1,
    MSG_PEEK___188 = 2,
    MSG_DONTROUTE___188 = 4,
    MSG_TRYHARD___188 = 4,
    MSG_CTRUNC___188 = 8,
    MSG_PROXY___188 = 16,
    MSG_TRUNC___188 = 32,
    MSG_DONTWAIT___188 = 64,
    MSG_EOR___188 = 128,
    MSG_WAITALL___188 = 256,
    MSG_FIN___188 = 512,
    MSG_SYN___188 = 1024,
    MSG_CONFIRM___188 = 2048,
    MSG_RST___188 = 4096,
    MSG_ERRQUEUE___188 = 8192,
    MSG_NOSIGNAL___188 = 16384,
    MSG_MORE___188 = 32768,
    MSG_WAITFORONE___188 = 65536,
    MSG_BATCH___188 = 262144,
    MSG_ZEROCOPY___188 = 67108864,
    MSG_FASTOPEN___188 = 536870912,
    MSG_CMSG_CLOEXEC___188 = 1073741824
} ;
enum __anonenum_617082774___188 {
    SCM_RIGHTS___188 = 1,
    SCM_CREDENTIALS___188 = 2
} ;
enum __anonenum_606441560___188 {
    SHUT_RD___188 = 0,
    SHUT_WR___188 = 1,
    SHUT_RDWR___188 = 2
} ;
enum __anonenum_681669233___188 {
    IPPROTO_IP___188 = 0,
    IPPROTO_ICMP___188 = 1,
    IPPROTO_IGMP___188 = 2,
    IPPROTO_IPIP___188 = 4,
    IPPROTO_TCP___188 = 6,
    IPPROTO_EGP___188 = 8,
    IPPROTO_PUP___188 = 12,
    IPPROTO_UDP___188 = 17,
    IPPROTO_IDP___188 = 22,
    IPPROTO_TP___188 = 29,
    IPPROTO_DCCP___188 = 33,
    IPPROTO_IPV6___188 = 41,
    IPPROTO_RSVP___188 = 46,
    IPPROTO_GRE___188 = 47,
    IPPROTO_ESP___188 = 50,
    IPPROTO_AH___188 = 51,
    IPPROTO_MTP___188 = 92,
    IPPROTO_BEETPH___188 = 94,
    IPPROTO_ENCAP___188 = 98,
    IPPROTO_PIM___188 = 103,
    IPPROTO_COMP___188 = 108,
    IPPROTO_SCTP___188 = 132,
    IPPROTO_UDPLITE___188 = 136,
    IPPROTO_MPLS___188 = 137,
    IPPROTO_RAW___188 = 255,
    IPPROTO_MAX___188 = 256
} ;
enum __anonenum_218739988___188 {
    IPPROTO_HOPOPTS___188 = 0,
    IPPROTO_ROUTING___188 = 43,
    IPPROTO_FRAGMENT___188 = 44,
    IPPROTO_ICMPV6___188 = 58,
    IPPROTO_NONE___188 = 59,
    IPPROTO_DSTOPTS___188 = 60,
    IPPROTO_MH___188 = 135
} ;
enum __anonenum_662268580___188 {
    IPPORT_ECHO___188 = 7,
    IPPORT_DISCARD___188 = 9,
    IPPORT_SYSTAT___188 = 11,
    IPPORT_DAYTIME___188 = 13,
    IPPORT_NETSTAT___188 = 15,
    IPPORT_FTP___188 = 21,
    IPPORT_TELNET___188 = 23,
    IPPORT_SMTP___188 = 25,
    IPPORT_TIMESERVER___188 = 37,
    IPPORT_NAMESERVER___188 = 42,
    IPPORT_WHOIS___188 = 43,
    IPPORT_MTP___188 = 57,
    IPPORT_TFTP___188 = 69,
    IPPORT_RJE___188 = 77,
    IPPORT_FINGER___188 = 79,
    IPPORT_TTYLINK___188 = 87,
    IPPORT_SUPDUP___188 = 95,
    IPPORT_EXECSERVER___188 = 512,
    IPPORT_LOGINSERVER___188 = 513,
    IPPORT_CMDSERVER___188 = 514,
    IPPORT_EFSSERVER___188 = 520,
    IPPORT_BIFFUDP___188 = 512,
    IPPORT_WHOSERVER___188 = 513,
    IPPORT_ROUTESERVER___188 = 520,
    IPPORT_RESERVED___188 = 1024,
    IPPORT_USERRESERVED___188 = 5000
} ;
enum __anonenum_788308992___188 {
    TCP_ESTABLISHED___188 = 1,
    TCP_SYN_SENT___188 = 2,
    TCP_SYN_RECV___188 = 3,
    TCP_FIN_WAIT1___188 = 4,
    TCP_FIN_WAIT2___188 = 5,
    TCP_TIME_WAIT___188 = 6,
    TCP_CLOSE___188 = 7,
    TCP_CLOSE_WAIT___188 = 8,
    TCP_LAST_ACK___188 = 9,
    TCP_LISTEN___188 = 10,
    TCP_CLOSING___188 = 11
} ;
enum __anonenum_221125648___188 {
    TCP_NO_QUEUE___188 = 0,
    TCP_RECV_QUEUE___188 = 1,
    TCP_SEND_QUEUE___188 = 2,
    TCP_QUEUES_NR___188 = 3
} ;
enum __anonenum_34415463___188 {
    PTHREAD_CREATE_JOINABLE___188 = 0,
    PTHREAD_CREATE_DETACHED___188 = 1
} ;
enum __anonenum_303612439___188 {
    PTHREAD_MUTEX_TIMED_NP___188 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___188 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___188 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___188 = 3,
    PTHREAD_MUTEX_NORMAL___188 = 0,
    PTHREAD_MUTEX_RECURSIVE___188 = 1,
    PTHREAD_MUTEX_ERRORCHECK___188 = 2,
    PTHREAD_MUTEX_DEFAULT___188 = 0,
    PTHREAD_MUTEX_FAST_NP___188 = 0
} ;
enum __anonenum_931900394___188 {
    PTHREAD_MUTEX_STALLED___188 = 0,
    PTHREAD_MUTEX_STALLED_NP___188 = 0,
    PTHREAD_MUTEX_ROBUST___188 = 1,
    PTHREAD_MUTEX_ROBUST_NP___188 = 1
} ;
enum __anonenum_205214487___188 {
    PTHREAD_PRIO_NONE___188 = 0,
    PTHREAD_PRIO_INHERIT___188 = 1,
    PTHREAD_PRIO_PROTECT___188 = 2
} ;
enum __anonenum_25043950___188 {
    PTHREAD_RWLOCK_PREFER_READER_NP___188 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___188 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___188 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___188 = 0
} ;
enum __anonenum_436439511___188 {
    PTHREAD_INHERIT_SCHED___188 = 0,
    PTHREAD_EXPLICIT_SCHED___188 = 1
} ;
enum __anonenum_998661166___188 {
    PTHREAD_SCOPE_SYSTEM___188 = 0,
    PTHREAD_SCOPE_PROCESS___188 = 1
} ;
enum __anonenum_146137331___188 {
    PTHREAD_PROCESS_PRIVATE___188 = 0,
    PTHREAD_PROCESS_SHARED___188 = 1
} ;
enum __anonenum_53396917___188 {
    PTHREAD_CANCEL_ENABLE___188 = 0,
    PTHREAD_CANCEL_DISABLE___188 = 1
} ;
enum __anonenum_904563783___188 {
    PTHREAD_CANCEL_DEFERRED___188 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___188 = 1
} ;
enum __anonenum_672052974___188 {
    SSL_CT_VALIDATION_PERMISSIVE___188 = 0,
    SSL_CT_VALIDATION_STRICT___188 = 1
} ;
enum __anonenum_561748495___11 {
    RECURSE_SUBMODULES_ONLY___11 = -5,
    RECURSE_SUBMODULES_CHECK___11 = -4,
    RECURSE_SUBMODULES_ERROR___11 = -3,
    RECURSE_SUBMODULES_NONE___11 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___11 = -1,
    RECURSE_SUBMODULES_OFF___11 = 0,
    RECURSE_SUBMODULES_DEFAULT___11 = 1,
    RECURSE_SUBMODULES_ON___11 = 2
} ;
struct submodule_cache {
   struct hashmap for_path ;
   struct hashmap for_name ;
   unsigned int initialized : 1 ;
   unsigned int gitmodules_read : 1 ;
};
struct submodule_entry {
   struct hashmap_entry ent ;
   struct submodule *config ;
};
enum lookup_type {
    lookup_name = 0,
    lookup_path = 1
} ;
struct parse_config_parameter {
   struct submodule_cache *cache ;
   struct object_id  const  *treeish_name ;
   struct object_id  const  *gitmodules_oid ;
   int overwrite ;
};
struct fetch_config {
   int *max_children ;
   int *recurse_submodules ;
};
enum __anonenum_437032235___189 {
    _PC_LINK_MAX___189 = 0,
    _PC_MAX_CANON___189 = 1,
    _PC_MAX_INPUT___189 = 2,
    _PC_NAME_MAX___189 = 3,
    _PC_PATH_MAX___189 = 4,
    _PC_PIPE_BUF___189 = 5,
    _PC_CHOWN_RESTRICTED___189 = 6,
    _PC_NO_TRUNC___189 = 7,
    _PC_VDISABLE___189 = 8,
    _PC_SYNC_IO___189 = 9,
    _PC_ASYNC_IO___189 = 10,
    _PC_PRIO_IO___189 = 11,
    _PC_SOCK_MAXBUF___189 = 12,
    _PC_FILESIZEBITS___189 = 13,
    _PC_REC_INCR_XFER_SIZE___189 = 14,
    _PC_REC_MAX_XFER_SIZE___189 = 15,
    _PC_REC_MIN_XFER_SIZE___189 = 16,
    _PC_REC_XFER_ALIGN___189 = 17,
    _PC_ALLOC_SIZE_MIN___189 = 18,
    _PC_SYMLINK_MAX___189 = 19,
    _PC_2_SYMLINKS___189 = 20
} ;
enum __anonenum_315186338___189 {
    _SC_ARG_MAX___189 = 0,
    _SC_CHILD_MAX___189 = 1,
    _SC_CLK_TCK___189 = 2,
    _SC_NGROUPS_MAX___189 = 3,
    _SC_OPEN_MAX___189 = 4,
    _SC_STREAM_MAX___189 = 5,
    _SC_TZNAME_MAX___189 = 6,
    _SC_JOB_CONTROL___189 = 7,
    _SC_SAVED_IDS___189 = 8,
    _SC_REALTIME_SIGNALS___189 = 9,
    _SC_PRIORITY_SCHEDULING___189 = 10,
    _SC_TIMERS___189 = 11,
    _SC_ASYNCHRONOUS_IO___189 = 12,
    _SC_PRIORITIZED_IO___189 = 13,
    _SC_SYNCHRONIZED_IO___189 = 14,
    _SC_FSYNC___189 = 15,
    _SC_MAPPED_FILES___189 = 16,
    _SC_MEMLOCK___189 = 17,
    _SC_MEMLOCK_RANGE___189 = 18,
    _SC_MEMORY_PROTECTION___189 = 19,
    _SC_MESSAGE_PASSING___189 = 20,
    _SC_SEMAPHORES___189 = 21,
    _SC_SHARED_MEMORY_OBJECTS___189 = 22,
    _SC_AIO_LISTIO_MAX___189 = 23,
    _SC_AIO_MAX___189 = 24,
    _SC_AIO_PRIO_DELTA_MAX___189 = 25,
    _SC_DELAYTIMER_MAX___189 = 26,
    _SC_MQ_OPEN_MAX___189 = 27,
    _SC_MQ_PRIO_MAX___189 = 28,
    _SC_VERSION___189 = 29,
    _SC_PAGESIZE___189 = 30,
    _SC_RTSIG_MAX___189 = 31,
    _SC_SEM_NSEMS_MAX___189 = 32,
    _SC_SEM_VALUE_MAX___189 = 33,
    _SC_SIGQUEUE_MAX___189 = 34,
    _SC_TIMER_MAX___189 = 35,
    _SC_BC_BASE_MAX___189 = 36,
    _SC_BC_DIM_MAX___189 = 37,
    _SC_BC_SCALE_MAX___189 = 38,
    _SC_BC_STRING_MAX___189 = 39,
    _SC_COLL_WEIGHTS_MAX___189 = 40,
    _SC_EQUIV_CLASS_MAX___189 = 41,
    _SC_EXPR_NEST_MAX___189 = 42,
    _SC_LINE_MAX___189 = 43,
    _SC_RE_DUP_MAX___189 = 44,
    _SC_CHARCLASS_NAME_MAX___189 = 45,
    _SC_2_VERSION___189 = 46,
    _SC_2_C_BIND___189 = 47,
    _SC_2_C_DEV___189 = 48,
    _SC_2_FORT_DEV___189 = 49,
    _SC_2_FORT_RUN___189 = 50,
    _SC_2_SW_DEV___189 = 51,
    _SC_2_LOCALEDEF___189 = 52,
    _SC_PII___189 = 53,
    _SC_PII_XTI___189 = 54,
    _SC_PII_SOCKET___189 = 55,
    _SC_PII_INTERNET___189 = 56,
    _SC_PII_OSI___189 = 57,
    _SC_POLL___189 = 58,
    _SC_SELECT___189 = 59,
    _SC_UIO_MAXIOV___189 = 60,
    _SC_IOV_MAX___189 = 60,
    _SC_PII_INTERNET_STREAM___189 = 61,
    _SC_PII_INTERNET_DGRAM___189 = 62,
    _SC_PII_OSI_COTS___189 = 63,
    _SC_PII_OSI_CLTS___189 = 64,
    _SC_PII_OSI_M___189 = 65,
    _SC_T_IOV_MAX___189 = 66,
    _SC_THREADS___189 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___189 = 68,
    _SC_GETGR_R_SIZE_MAX___189 = 69,
    _SC_GETPW_R_SIZE_MAX___189 = 70,
    _SC_LOGIN_NAME_MAX___189 = 71,
    _SC_TTY_NAME_MAX___189 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___189 = 73,
    _SC_THREAD_KEYS_MAX___189 = 74,
    _SC_THREAD_STACK_MIN___189 = 75,
    _SC_THREAD_THREADS_MAX___189 = 76,
    _SC_THREAD_ATTR_STACKADDR___189 = 77,
    _SC_THREAD_ATTR_STACKSIZE___189 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___189 = 79,
    _SC_THREAD_PRIO_INHERIT___189 = 80,
    _SC_THREAD_PRIO_PROTECT___189 = 81,
    _SC_THREAD_PROCESS_SHARED___189 = 82,
    _SC_NPROCESSORS_CONF___189 = 83,
    _SC_NPROCESSORS_ONLN___189 = 84,
    _SC_PHYS_PAGES___189 = 85,
    _SC_AVPHYS_PAGES___189 = 86,
    _SC_ATEXIT_MAX___189 = 87,
    _SC_PASS_MAX___189 = 88,
    _SC_XOPEN_VERSION___189 = 89,
    _SC_XOPEN_XCU_VERSION___189 = 90,
    _SC_XOPEN_UNIX___189 = 91,
    _SC_XOPEN_CRYPT___189 = 92,
    _SC_XOPEN_ENH_I18N___189 = 93,
    _SC_XOPEN_SHM___189 = 94,
    _SC_2_CHAR_TERM___189 = 95,
    _SC_2_C_VERSION___189 = 96,
    _SC_2_UPE___189 = 97,
    _SC_XOPEN_XPG2___189 = 98,
    _SC_XOPEN_XPG3___189 = 99,
    _SC_XOPEN_XPG4___189 = 100,
    _SC_CHAR_BIT___189 = 101,
    _SC_CHAR_MAX___189 = 102,
    _SC_CHAR_MIN___189 = 103,
    _SC_INT_MAX___189 = 104,
    _SC_INT_MIN___189 = 105,
    _SC_LONG_BIT___189 = 106,
    _SC_WORD_BIT___189 = 107,
    _SC_MB_LEN_MAX___189 = 108,
    _SC_NZERO___189 = 109,
    _SC_SSIZE_MAX___189 = 110,
    _SC_SCHAR_MAX___189 = 111,
    _SC_SCHAR_MIN___189 = 112,
    _SC_SHRT_MAX___189 = 113,
    _SC_SHRT_MIN___189 = 114,
    _SC_UCHAR_MAX___189 = 115,
    _SC_UINT_MAX___189 = 116,
    _SC_ULONG_MAX___189 = 117,
    _SC_USHRT_MAX___189 = 118,
    _SC_NL_ARGMAX___189 = 119,
    _SC_NL_LANGMAX___189 = 120,
    _SC_NL_MSGMAX___189 = 121,
    _SC_NL_NMAX___189 = 122,
    _SC_NL_SETMAX___189 = 123,
    _SC_NL_TEXTMAX___189 = 124,
    _SC_XBS5_ILP32_OFF32___189 = 125,
    _SC_XBS5_ILP32_OFFBIG___189 = 126,
    _SC_XBS5_LP64_OFF64___189 = 127,
    _SC_XBS5_LPBIG_OFFBIG___189 = 128,
    _SC_XOPEN_LEGACY___189 = 129,
    _SC_XOPEN_REALTIME___189 = 130,
    _SC_XOPEN_REALTIME_THREADS___189 = 131,
    _SC_ADVISORY_INFO___189 = 132,
    _SC_BARRIERS___189 = 133,
    _SC_BASE___189 = 134,
    _SC_C_LANG_SUPPORT___189 = 135,
    _SC_C_LANG_SUPPORT_R___189 = 136,
    _SC_CLOCK_SELECTION___189 = 137,
    _SC_CPUTIME___189 = 138,
    _SC_THREAD_CPUTIME___189 = 139,
    _SC_DEVICE_IO___189 = 140,
    _SC_DEVICE_SPECIFIC___189 = 141,
    _SC_DEVICE_SPECIFIC_R___189 = 142,
    _SC_FD_MGMT___189 = 143,
    _SC_FIFO___189 = 144,
    _SC_PIPE___189 = 145,
    _SC_FILE_ATTRIBUTES___189 = 146,
    _SC_FILE_LOCKING___189 = 147,
    _SC_FILE_SYSTEM___189 = 148,
    _SC_MONOTONIC_CLOCK___189 = 149,
    _SC_MULTI_PROCESS___189 = 150,
    _SC_SINGLE_PROCESS___189 = 151,
    _SC_NETWORKING___189 = 152,
    _SC_READER_WRITER_LOCKS___189 = 153,
    _SC_SPIN_LOCKS___189 = 154,
    _SC_REGEXP___189 = 155,
    _SC_REGEX_VERSION___189 = 156,
    _SC_SHELL___189 = 157,
    _SC_SIGNALS___189 = 158,
    _SC_SPAWN___189 = 159,
    _SC_SPORADIC_SERVER___189 = 160,
    _SC_THREAD_SPORADIC_SERVER___189 = 161,
    _SC_SYSTEM_DATABASE___189 = 162,
    _SC_SYSTEM_DATABASE_R___189 = 163,
    _SC_TIMEOUTS___189 = 164,
    _SC_TYPED_MEMORY_OBJECTS___189 = 165,
    _SC_USER_GROUPS___189 = 166,
    _SC_USER_GROUPS_R___189 = 167,
    _SC_2_PBS___189 = 168,
    _SC_2_PBS_ACCOUNTING___189 = 169,
    _SC_2_PBS_LOCATE___189 = 170,
    _SC_2_PBS_MESSAGE___189 = 171,
    _SC_2_PBS_TRACK___189 = 172,
    _SC_SYMLOOP_MAX___189 = 173,
    _SC_STREAMS___189 = 174,
    _SC_2_PBS_CHECKPOINT___189 = 175,
    _SC_V6_ILP32_OFF32___189 = 176,
    _SC_V6_ILP32_OFFBIG___189 = 177,
    _SC_V6_LP64_OFF64___189 = 178,
    _SC_V6_LPBIG_OFFBIG___189 = 179,
    _SC_HOST_NAME_MAX___189 = 180,
    _SC_TRACE___189 = 181,
    _SC_TRACE_EVENT_FILTER___189 = 182,
    _SC_TRACE_INHERIT___189 = 183,
    _SC_TRACE_LOG___189 = 184,
    _SC_LEVEL1_ICACHE_SIZE___189 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___189 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___189 = 187,
    _SC_LEVEL1_DCACHE_SIZE___189 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___189 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___189 = 190,
    _SC_LEVEL2_CACHE_SIZE___189 = 191,
    _SC_LEVEL2_CACHE_ASSOC___189 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___189 = 193,
    _SC_LEVEL3_CACHE_SIZE___189 = 194,
    _SC_LEVEL3_CACHE_ASSOC___189 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___189 = 196,
    _SC_LEVEL4_CACHE_SIZE___189 = 197,
    _SC_LEVEL4_CACHE_ASSOC___189 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___189 = 199,
    _SC_IPV6___189 = 235,
    _SC_RAW_SOCKETS___189 = 236,
    _SC_V7_ILP32_OFF32___189 = 237,
    _SC_V7_ILP32_OFFBIG___189 = 238,
    _SC_V7_LP64_OFF64___189 = 239,
    _SC_V7_LPBIG_OFFBIG___189 = 240,
    _SC_SS_REPL_MAX___189 = 241,
    _SC_TRACE_EVENT_NAME_MAX___189 = 242,
    _SC_TRACE_NAME_MAX___189 = 243,
    _SC_TRACE_SYS_MAX___189 = 244,
    _SC_TRACE_USER_EVENT_MAX___189 = 245,
    _SC_XOPEN_STREAMS___189 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___189 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___189 = 248
} ;
enum __anonenum_875524036___189 {
    _CS_PATH___189 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___189 = 1,
    _CS_GNU_LIBC_VERSION___189 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___189 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___189 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___189 = 5,
    _CS_LFS_CFLAGS___189 = 1000,
    _CS_LFS_LDFLAGS___189 = 1001,
    _CS_LFS_LIBS___189 = 1002,
    _CS_LFS_LINTFLAGS___189 = 1003,
    _CS_LFS64_CFLAGS___189 = 1004,
    _CS_LFS64_LDFLAGS___189 = 1005,
    _CS_LFS64_LIBS___189 = 1006,
    _CS_LFS64_LINTFLAGS___189 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___189 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___189 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___189 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___189 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___189 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___189 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___189 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___189 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___189 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___189 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___189 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___189 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___189 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___189 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___189 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___189 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___189 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___189 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___189 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___189 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___189 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___189 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___189 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___189 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___189 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___189 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___189 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___189 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___189 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___189 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___189 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___189 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___189 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___189 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___189 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___189 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___189 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___189 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___189 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___189 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___189 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___189 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___189 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___189 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___189 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___189 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___189 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___189 = 1147,
    _CS_V6_ENV___189 = 1148,
    _CS_V7_ENV___189 = 1149
} ;
enum __anonenum_513775621___189 {
    DT_UNKNOWN___189 = 0,
    DT_FIFO___189 = 1,
    DT_CHR___189 = 2,
    DT_DIR___189 = 4,
    DT_BLK___189 = 6,
    DT_REG___189 = 8,
    DT_LNK___189 = 10,
    DT_SOCK___189 = 12,
    DT_WHT___189 = 14
} ;
enum __anonenum_77002343___189 {
    SI_ASYNCNL___189 = -60,
    SI_TKILL___189 = -6,
    SI_SIGIO___189 = -5,
    SI_ASYNCIO___189 = -4,
    SI_MESGQ___189 = -3,
    SI_TIMER___189 = -2,
    SI_QUEUE___189 = -1,
    SI_USER___189 = 0,
    SI_KERNEL___189 = 128
} ;
enum __anonenum_131038172___189 {
    ILL_ILLOPC___189 = 1,
    ILL_ILLOPN___189 = 2,
    ILL_ILLADR___189 = 3,
    ILL_ILLTRP___189 = 4,
    ILL_PRVOPC___189 = 5,
    ILL_PRVREG___189 = 6,
    ILL_COPROC___189 = 7,
    ILL_BADSTK___189 = 8
} ;
enum __anonenum_452038093___189 {
    FPE_INTDIV___189 = 1,
    FPE_INTOVF___189 = 2,
    FPE_FLTDIV___189 = 3,
    FPE_FLTOVF___189 = 4,
    FPE_FLTUND___189 = 5,
    FPE_FLTRES___189 = 6,
    FPE_FLTINV___189 = 7,
    FPE_FLTSUB___189 = 8
} ;
enum __anonenum_30976155___189 {
    SEGV_MAPERR___189 = 1,
    SEGV_ACCERR___189 = 2,
    SEGV_BNDERR___189 = 3,
    SEGV_PKUERR___189 = 4
} ;
enum __anonenum_1036286214___189 {
    BUS_ADRALN___189 = 1,
    BUS_ADRERR___189 = 2,
    BUS_OBJERR___189 = 3,
    BUS_MCEERR_AR___189 = 4,
    BUS_MCEERR_AO___189 = 5
} ;
enum __anonenum_493465559___189 {
    TRAP_BRKPT___189 = 1,
    TRAP_TRACE___189 = 2
} ;
enum __anonenum_23175539___189 {
    CLD_EXITED___189 = 1,
    CLD_KILLED___189 = 2,
    CLD_DUMPED___189 = 3,
    CLD_TRAPPED___189 = 4,
    CLD_STOPPED___189 = 5,
    CLD_CONTINUED___189 = 6
} ;
enum __anonenum_111643124___189 {
    POLL_IN___189 = 1,
    POLL_OUT___189 = 2,
    POLL_MSG___189 = 3,
    POLL_ERR___189 = 4,
    POLL_PRI___189 = 5,
    POLL_HUP___189 = 6
} ;
enum __anonenum_852341087___189 {
    SIGEV_SIGNAL___189 = 0,
    SIGEV_NONE___189 = 1,
    SIGEV_THREAD___189 = 2,
    SIGEV_THREAD_ID___189 = 4
} ;
enum __anonenum_451154152___189 {
    REG_R8___189 = 0,
    REG_R9___189 = 1,
    REG_R10___189 = 2,
    REG_R11___189 = 3,
    REG_R12___189 = 4,
    REG_R13___189 = 5,
    REG_R14___189 = 6,
    REG_R15___189 = 7,
    REG_RDI___189 = 8,
    REG_RSI___189 = 9,
    REG_RBP___189 = 10,
    REG_RBX___189 = 11,
    REG_RDX___189 = 12,
    REG_RAX___189 = 13,
    REG_RCX___189 = 14,
    REG_RSP___189 = 15,
    REG_RIP___189 = 16,
    REG_EFL___189 = 17,
    REG_CSGSFS___189 = 18,
    REG_ERR___189 = 19,
    REG_TRAPNO___189 = 20,
    REG_OLDMASK___189 = 21,
    REG_CR2___189 = 22
} ;
enum __anonenum_57186863___189 {
    SS_ONSTACK___189 = 1,
    SS_DISABLE___189 = 2
} ;
enum __anonenum_83571709___189 {
    MSG_OOB___189 = 1,
    MSG_PEEK___189 = 2,
    MSG_DONTROUTE___189 = 4,
    MSG_TRYHARD___189 = 4,
    MSG_CTRUNC___189 = 8,
    MSG_PROXY___189 = 16,
    MSG_TRUNC___189 = 32,
    MSG_DONTWAIT___189 = 64,
    MSG_EOR___189 = 128,
    MSG_WAITALL___189 = 256,
    MSG_FIN___189 = 512,
    MSG_SYN___189 = 1024,
    MSG_CONFIRM___189 = 2048,
    MSG_RST___189 = 4096,
    MSG_ERRQUEUE___189 = 8192,
    MSG_NOSIGNAL___189 = 16384,
    MSG_MORE___189 = 32768,
    MSG_WAITFORONE___189 = 65536,
    MSG_BATCH___189 = 262144,
    MSG_ZEROCOPY___189 = 67108864,
    MSG_FASTOPEN___189 = 536870912,
    MSG_CMSG_CLOEXEC___189 = 1073741824
} ;
enum __anonenum_617082774___189 {
    SCM_RIGHTS___189 = 1,
    SCM_CREDENTIALS___189 = 2
} ;
enum __anonenum_606441560___189 {
    SHUT_RD___189 = 0,
    SHUT_WR___189 = 1,
    SHUT_RDWR___189 = 2
} ;
enum __anonenum_681669233___189 {
    IPPROTO_IP___189 = 0,
    IPPROTO_ICMP___189 = 1,
    IPPROTO_IGMP___189 = 2,
    IPPROTO_IPIP___189 = 4,
    IPPROTO_TCP___189 = 6,
    IPPROTO_EGP___189 = 8,
    IPPROTO_PUP___189 = 12,
    IPPROTO_UDP___189 = 17,
    IPPROTO_IDP___189 = 22,
    IPPROTO_TP___189 = 29,
    IPPROTO_DCCP___189 = 33,
    IPPROTO_IPV6___189 = 41,
    IPPROTO_RSVP___189 = 46,
    IPPROTO_GRE___189 = 47,
    IPPROTO_ESP___189 = 50,
    IPPROTO_AH___189 = 51,
    IPPROTO_MTP___189 = 92,
    IPPROTO_BEETPH___189 = 94,
    IPPROTO_ENCAP___189 = 98,
    IPPROTO_PIM___189 = 103,
    IPPROTO_COMP___189 = 108,
    IPPROTO_SCTP___189 = 132,
    IPPROTO_UDPLITE___189 = 136,
    IPPROTO_MPLS___189 = 137,
    IPPROTO_RAW___189 = 255,
    IPPROTO_MAX___189 = 256
} ;
enum __anonenum_218739988___189 {
    IPPROTO_HOPOPTS___189 = 0,
    IPPROTO_ROUTING___189 = 43,
    IPPROTO_FRAGMENT___189 = 44,
    IPPROTO_ICMPV6___189 = 58,
    IPPROTO_NONE___189 = 59,
    IPPROTO_DSTOPTS___189 = 60,
    IPPROTO_MH___189 = 135
} ;
enum __anonenum_662268580___189 {
    IPPORT_ECHO___189 = 7,
    IPPORT_DISCARD___189 = 9,
    IPPORT_SYSTAT___189 = 11,
    IPPORT_DAYTIME___189 = 13,
    IPPORT_NETSTAT___189 = 15,
    IPPORT_FTP___189 = 21,
    IPPORT_TELNET___189 = 23,
    IPPORT_SMTP___189 = 25,
    IPPORT_TIMESERVER___189 = 37,
    IPPORT_NAMESERVER___189 = 42,
    IPPORT_WHOIS___189 = 43,
    IPPORT_MTP___189 = 57,
    IPPORT_TFTP___189 = 69,
    IPPORT_RJE___189 = 77,
    IPPORT_FINGER___189 = 79,
    IPPORT_TTYLINK___189 = 87,
    IPPORT_SUPDUP___189 = 95,
    IPPORT_EXECSERVER___189 = 512,
    IPPORT_LOGINSERVER___189 = 513,
    IPPORT_CMDSERVER___189 = 514,
    IPPORT_EFSSERVER___189 = 520,
    IPPORT_BIFFUDP___189 = 512,
    IPPORT_WHOSERVER___189 = 513,
    IPPORT_ROUTESERVER___189 = 520,
    IPPORT_RESERVED___189 = 1024,
    IPPORT_USERRESERVED___189 = 5000
} ;
enum __anonenum_788308992___189 {
    TCP_ESTABLISHED___189 = 1,
    TCP_SYN_SENT___189 = 2,
    TCP_SYN_RECV___189 = 3,
    TCP_FIN_WAIT1___189 = 4,
    TCP_FIN_WAIT2___189 = 5,
    TCP_TIME_WAIT___189 = 6,
    TCP_CLOSE___189 = 7,
    TCP_CLOSE_WAIT___189 = 8,
    TCP_LAST_ACK___189 = 9,
    TCP_LISTEN___189 = 10,
    TCP_CLOSING___189 = 11
} ;
enum __anonenum_221125648___189 {
    TCP_NO_QUEUE___189 = 0,
    TCP_RECV_QUEUE___189 = 1,
    TCP_SEND_QUEUE___189 = 2,
    TCP_QUEUES_NR___189 = 3
} ;
enum __anonenum_34415463___189 {
    PTHREAD_CREATE_JOINABLE___189 = 0,
    PTHREAD_CREATE_DETACHED___189 = 1
} ;
enum __anonenum_303612439___189 {
    PTHREAD_MUTEX_TIMED_NP___189 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___189 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___189 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___189 = 3,
    PTHREAD_MUTEX_NORMAL___189 = 0,
    PTHREAD_MUTEX_RECURSIVE___189 = 1,
    PTHREAD_MUTEX_ERRORCHECK___189 = 2,
    PTHREAD_MUTEX_DEFAULT___189 = 0,
    PTHREAD_MUTEX_FAST_NP___189 = 0
} ;
enum __anonenum_931900394___189 {
    PTHREAD_MUTEX_STALLED___189 = 0,
    PTHREAD_MUTEX_STALLED_NP___189 = 0,
    PTHREAD_MUTEX_ROBUST___189 = 1,
    PTHREAD_MUTEX_ROBUST_NP___189 = 1
} ;
enum __anonenum_205214487___189 {
    PTHREAD_PRIO_NONE___189 = 0,
    PTHREAD_PRIO_INHERIT___189 = 1,
    PTHREAD_PRIO_PROTECT___189 = 2
} ;
enum __anonenum_25043950___189 {
    PTHREAD_RWLOCK_PREFER_READER_NP___189 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___189 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___189 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___189 = 0
} ;
enum __anonenum_436439511___189 {
    PTHREAD_INHERIT_SCHED___189 = 0,
    PTHREAD_EXPLICIT_SCHED___189 = 1
} ;
enum __anonenum_998661166___189 {
    PTHREAD_SCOPE_SYSTEM___189 = 0,
    PTHREAD_SCOPE_PROCESS___189 = 1
} ;
enum __anonenum_146137331___189 {
    PTHREAD_PROCESS_PRIVATE___189 = 0,
    PTHREAD_PROCESS_SHARED___189 = 1
} ;
enum __anonenum_53396917___189 {
    PTHREAD_CANCEL_ENABLE___189 = 0,
    PTHREAD_CANCEL_DISABLE___189 = 1
} ;
enum __anonenum_904563783___189 {
    PTHREAD_CANCEL_DEFERRED___189 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___189 = 1
} ;
enum __anonenum_672052974___189 {
    SSL_CT_VALIDATION_PERMISSIVE___189 = 0,
    SSL_CT_VALIDATION_STRICT___189 = 1
} ;
enum __anonenum_561748495___12 {
    RECURSE_SUBMODULES_ONLY___12 = -5,
    RECURSE_SUBMODULES_CHECK___12 = -4,
    RECURSE_SUBMODULES_ERROR___12 = -3,
    RECURSE_SUBMODULES_NONE___12 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___12 = -1,
    RECURSE_SUBMODULES_OFF___12 = 0,
    RECURSE_SUBMODULES_DEFAULT___12 = 1,
    RECURSE_SUBMODULES_ON___12 = 2
} ;
enum __anonenum_34023289___17 {
    REMOTE_UNCONFIGURED___17 = 0,
    REMOTE_CONFIG___17 = 1,
    REMOTE_REMOTES___17 = 2,
    REMOTE_BRANCHES___17 = 3
} ;
struct collect_changed_submodules_cb_data {
   struct repository *repo ;
   struct string_list *changed ;
   struct object_id  const  *commit_oid ;
};
struct has_commit_data {
   struct repository *repo ;
   int result ;
   char const   *path ;
};
struct fetch_task ;
struct submodule_parallel_fetch {
   int count ;
   struct strvec args ;
   struct repository *r ;
   char const   *prefix ;
   int command_line_option ;
   int default_option ;
   int quiet ;
   int result ;
   struct string_list changed_submodule_names ;
   struct fetch_task **oid_fetch_tasks ;
   int oid_fetch_tasks_nr ;
   int oid_fetch_tasks_alloc ;
   struct strbuf submodules_with_errors ;
};
struct fetch_task {
   struct repository *repo ;
   struct submodule  const  *sub ;
   unsigned int free_sub : 1 ;
   struct oid_array *commits ;
};
enum __anonenum_437032235___190 {
    _PC_LINK_MAX___190 = 0,
    _PC_MAX_CANON___190 = 1,
    _PC_MAX_INPUT___190 = 2,
    _PC_NAME_MAX___190 = 3,
    _PC_PATH_MAX___190 = 4,
    _PC_PIPE_BUF___190 = 5,
    _PC_CHOWN_RESTRICTED___190 = 6,
    _PC_NO_TRUNC___190 = 7,
    _PC_VDISABLE___190 = 8,
    _PC_SYNC_IO___190 = 9,
    _PC_ASYNC_IO___190 = 10,
    _PC_PRIO_IO___190 = 11,
    _PC_SOCK_MAXBUF___190 = 12,
    _PC_FILESIZEBITS___190 = 13,
    _PC_REC_INCR_XFER_SIZE___190 = 14,
    _PC_REC_MAX_XFER_SIZE___190 = 15,
    _PC_REC_MIN_XFER_SIZE___190 = 16,
    _PC_REC_XFER_ALIGN___190 = 17,
    _PC_ALLOC_SIZE_MIN___190 = 18,
    _PC_SYMLINK_MAX___190 = 19,
    _PC_2_SYMLINKS___190 = 20
} ;
enum __anonenum_315186338___190 {
    _SC_ARG_MAX___190 = 0,
    _SC_CHILD_MAX___190 = 1,
    _SC_CLK_TCK___190 = 2,
    _SC_NGROUPS_MAX___190 = 3,
    _SC_OPEN_MAX___190 = 4,
    _SC_STREAM_MAX___190 = 5,
    _SC_TZNAME_MAX___190 = 6,
    _SC_JOB_CONTROL___190 = 7,
    _SC_SAVED_IDS___190 = 8,
    _SC_REALTIME_SIGNALS___190 = 9,
    _SC_PRIORITY_SCHEDULING___190 = 10,
    _SC_TIMERS___190 = 11,
    _SC_ASYNCHRONOUS_IO___190 = 12,
    _SC_PRIORITIZED_IO___190 = 13,
    _SC_SYNCHRONIZED_IO___190 = 14,
    _SC_FSYNC___190 = 15,
    _SC_MAPPED_FILES___190 = 16,
    _SC_MEMLOCK___190 = 17,
    _SC_MEMLOCK_RANGE___190 = 18,
    _SC_MEMORY_PROTECTION___190 = 19,
    _SC_MESSAGE_PASSING___190 = 20,
    _SC_SEMAPHORES___190 = 21,
    _SC_SHARED_MEMORY_OBJECTS___190 = 22,
    _SC_AIO_LISTIO_MAX___190 = 23,
    _SC_AIO_MAX___190 = 24,
    _SC_AIO_PRIO_DELTA_MAX___190 = 25,
    _SC_DELAYTIMER_MAX___190 = 26,
    _SC_MQ_OPEN_MAX___190 = 27,
    _SC_MQ_PRIO_MAX___190 = 28,
    _SC_VERSION___190 = 29,
    _SC_PAGESIZE___190 = 30,
    _SC_RTSIG_MAX___190 = 31,
    _SC_SEM_NSEMS_MAX___190 = 32,
    _SC_SEM_VALUE_MAX___190 = 33,
    _SC_SIGQUEUE_MAX___190 = 34,
    _SC_TIMER_MAX___190 = 35,
    _SC_BC_BASE_MAX___190 = 36,
    _SC_BC_DIM_MAX___190 = 37,
    _SC_BC_SCALE_MAX___190 = 38,
    _SC_BC_STRING_MAX___190 = 39,
    _SC_COLL_WEIGHTS_MAX___190 = 40,
    _SC_EQUIV_CLASS_MAX___190 = 41,
    _SC_EXPR_NEST_MAX___190 = 42,
    _SC_LINE_MAX___190 = 43,
    _SC_RE_DUP_MAX___190 = 44,
    _SC_CHARCLASS_NAME_MAX___190 = 45,
    _SC_2_VERSION___190 = 46,
    _SC_2_C_BIND___190 = 47,
    _SC_2_C_DEV___190 = 48,
    _SC_2_FORT_DEV___190 = 49,
    _SC_2_FORT_RUN___190 = 50,
    _SC_2_SW_DEV___190 = 51,
    _SC_2_LOCALEDEF___190 = 52,
    _SC_PII___190 = 53,
    _SC_PII_XTI___190 = 54,
    _SC_PII_SOCKET___190 = 55,
    _SC_PII_INTERNET___190 = 56,
    _SC_PII_OSI___190 = 57,
    _SC_POLL___190 = 58,
    _SC_SELECT___190 = 59,
    _SC_UIO_MAXIOV___190 = 60,
    _SC_IOV_MAX___190 = 60,
    _SC_PII_INTERNET_STREAM___190 = 61,
    _SC_PII_INTERNET_DGRAM___190 = 62,
    _SC_PII_OSI_COTS___190 = 63,
    _SC_PII_OSI_CLTS___190 = 64,
    _SC_PII_OSI_M___190 = 65,
    _SC_T_IOV_MAX___190 = 66,
    _SC_THREADS___190 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___190 = 68,
    _SC_GETGR_R_SIZE_MAX___190 = 69,
    _SC_GETPW_R_SIZE_MAX___190 = 70,
    _SC_LOGIN_NAME_MAX___190 = 71,
    _SC_TTY_NAME_MAX___190 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___190 = 73,
    _SC_THREAD_KEYS_MAX___190 = 74,
    _SC_THREAD_STACK_MIN___190 = 75,
    _SC_THREAD_THREADS_MAX___190 = 76,
    _SC_THREAD_ATTR_STACKADDR___190 = 77,
    _SC_THREAD_ATTR_STACKSIZE___190 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___190 = 79,
    _SC_THREAD_PRIO_INHERIT___190 = 80,
    _SC_THREAD_PRIO_PROTECT___190 = 81,
    _SC_THREAD_PROCESS_SHARED___190 = 82,
    _SC_NPROCESSORS_CONF___190 = 83,
    _SC_NPROCESSORS_ONLN___190 = 84,
    _SC_PHYS_PAGES___190 = 85,
    _SC_AVPHYS_PAGES___190 = 86,
    _SC_ATEXIT_MAX___190 = 87,
    _SC_PASS_MAX___190 = 88,
    _SC_XOPEN_VERSION___190 = 89,
    _SC_XOPEN_XCU_VERSION___190 = 90,
    _SC_XOPEN_UNIX___190 = 91,
    _SC_XOPEN_CRYPT___190 = 92,
    _SC_XOPEN_ENH_I18N___190 = 93,
    _SC_XOPEN_SHM___190 = 94,
    _SC_2_CHAR_TERM___190 = 95,
    _SC_2_C_VERSION___190 = 96,
    _SC_2_UPE___190 = 97,
    _SC_XOPEN_XPG2___190 = 98,
    _SC_XOPEN_XPG3___190 = 99,
    _SC_XOPEN_XPG4___190 = 100,
    _SC_CHAR_BIT___190 = 101,
    _SC_CHAR_MAX___190 = 102,
    _SC_CHAR_MIN___190 = 103,
    _SC_INT_MAX___190 = 104,
    _SC_INT_MIN___190 = 105,
    _SC_LONG_BIT___190 = 106,
    _SC_WORD_BIT___190 = 107,
    _SC_MB_LEN_MAX___190 = 108,
    _SC_NZERO___190 = 109,
    _SC_SSIZE_MAX___190 = 110,
    _SC_SCHAR_MAX___190 = 111,
    _SC_SCHAR_MIN___190 = 112,
    _SC_SHRT_MAX___190 = 113,
    _SC_SHRT_MIN___190 = 114,
    _SC_UCHAR_MAX___190 = 115,
    _SC_UINT_MAX___190 = 116,
    _SC_ULONG_MAX___190 = 117,
    _SC_USHRT_MAX___190 = 118,
    _SC_NL_ARGMAX___190 = 119,
    _SC_NL_LANGMAX___190 = 120,
    _SC_NL_MSGMAX___190 = 121,
    _SC_NL_NMAX___190 = 122,
    _SC_NL_SETMAX___190 = 123,
    _SC_NL_TEXTMAX___190 = 124,
    _SC_XBS5_ILP32_OFF32___190 = 125,
    _SC_XBS5_ILP32_OFFBIG___190 = 126,
    _SC_XBS5_LP64_OFF64___190 = 127,
    _SC_XBS5_LPBIG_OFFBIG___190 = 128,
    _SC_XOPEN_LEGACY___190 = 129,
    _SC_XOPEN_REALTIME___190 = 130,
    _SC_XOPEN_REALTIME_THREADS___190 = 131,
    _SC_ADVISORY_INFO___190 = 132,
    _SC_BARRIERS___190 = 133,
    _SC_BASE___190 = 134,
    _SC_C_LANG_SUPPORT___190 = 135,
    _SC_C_LANG_SUPPORT_R___190 = 136,
    _SC_CLOCK_SELECTION___190 = 137,
    _SC_CPUTIME___190 = 138,
    _SC_THREAD_CPUTIME___190 = 139,
    _SC_DEVICE_IO___190 = 140,
    _SC_DEVICE_SPECIFIC___190 = 141,
    _SC_DEVICE_SPECIFIC_R___190 = 142,
    _SC_FD_MGMT___190 = 143,
    _SC_FIFO___190 = 144,
    _SC_PIPE___190 = 145,
    _SC_FILE_ATTRIBUTES___190 = 146,
    _SC_FILE_LOCKING___190 = 147,
    _SC_FILE_SYSTEM___190 = 148,
    _SC_MONOTONIC_CLOCK___190 = 149,
    _SC_MULTI_PROCESS___190 = 150,
    _SC_SINGLE_PROCESS___190 = 151,
    _SC_NETWORKING___190 = 152,
    _SC_READER_WRITER_LOCKS___190 = 153,
    _SC_SPIN_LOCKS___190 = 154,
    _SC_REGEXP___190 = 155,
    _SC_REGEX_VERSION___190 = 156,
    _SC_SHELL___190 = 157,
    _SC_SIGNALS___190 = 158,
    _SC_SPAWN___190 = 159,
    _SC_SPORADIC_SERVER___190 = 160,
    _SC_THREAD_SPORADIC_SERVER___190 = 161,
    _SC_SYSTEM_DATABASE___190 = 162,
    _SC_SYSTEM_DATABASE_R___190 = 163,
    _SC_TIMEOUTS___190 = 164,
    _SC_TYPED_MEMORY_OBJECTS___190 = 165,
    _SC_USER_GROUPS___190 = 166,
    _SC_USER_GROUPS_R___190 = 167,
    _SC_2_PBS___190 = 168,
    _SC_2_PBS_ACCOUNTING___190 = 169,
    _SC_2_PBS_LOCATE___190 = 170,
    _SC_2_PBS_MESSAGE___190 = 171,
    _SC_2_PBS_TRACK___190 = 172,
    _SC_SYMLOOP_MAX___190 = 173,
    _SC_STREAMS___190 = 174,
    _SC_2_PBS_CHECKPOINT___190 = 175,
    _SC_V6_ILP32_OFF32___190 = 176,
    _SC_V6_ILP32_OFFBIG___190 = 177,
    _SC_V6_LP64_OFF64___190 = 178,
    _SC_V6_LPBIG_OFFBIG___190 = 179,
    _SC_HOST_NAME_MAX___190 = 180,
    _SC_TRACE___190 = 181,
    _SC_TRACE_EVENT_FILTER___190 = 182,
    _SC_TRACE_INHERIT___190 = 183,
    _SC_TRACE_LOG___190 = 184,
    _SC_LEVEL1_ICACHE_SIZE___190 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___190 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___190 = 187,
    _SC_LEVEL1_DCACHE_SIZE___190 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___190 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___190 = 190,
    _SC_LEVEL2_CACHE_SIZE___190 = 191,
    _SC_LEVEL2_CACHE_ASSOC___190 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___190 = 193,
    _SC_LEVEL3_CACHE_SIZE___190 = 194,
    _SC_LEVEL3_CACHE_ASSOC___190 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___190 = 196,
    _SC_LEVEL4_CACHE_SIZE___190 = 197,
    _SC_LEVEL4_CACHE_ASSOC___190 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___190 = 199,
    _SC_IPV6___190 = 235,
    _SC_RAW_SOCKETS___190 = 236,
    _SC_V7_ILP32_OFF32___190 = 237,
    _SC_V7_ILP32_OFFBIG___190 = 238,
    _SC_V7_LP64_OFF64___190 = 239,
    _SC_V7_LPBIG_OFFBIG___190 = 240,
    _SC_SS_REPL_MAX___190 = 241,
    _SC_TRACE_EVENT_NAME_MAX___190 = 242,
    _SC_TRACE_NAME_MAX___190 = 243,
    _SC_TRACE_SYS_MAX___190 = 244,
    _SC_TRACE_USER_EVENT_MAX___190 = 245,
    _SC_XOPEN_STREAMS___190 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___190 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___190 = 248
} ;
enum __anonenum_875524036___190 {
    _CS_PATH___190 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___190 = 1,
    _CS_GNU_LIBC_VERSION___190 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___190 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___190 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___190 = 5,
    _CS_LFS_CFLAGS___190 = 1000,
    _CS_LFS_LDFLAGS___190 = 1001,
    _CS_LFS_LIBS___190 = 1002,
    _CS_LFS_LINTFLAGS___190 = 1003,
    _CS_LFS64_CFLAGS___190 = 1004,
    _CS_LFS64_LDFLAGS___190 = 1005,
    _CS_LFS64_LIBS___190 = 1006,
    _CS_LFS64_LINTFLAGS___190 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___190 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___190 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___190 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___190 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___190 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___190 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___190 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___190 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___190 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___190 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___190 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___190 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___190 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___190 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___190 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___190 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___190 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___190 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___190 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___190 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___190 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___190 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___190 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___190 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___190 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___190 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___190 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___190 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___190 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___190 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___190 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___190 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___190 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___190 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___190 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___190 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___190 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___190 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___190 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___190 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___190 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___190 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___190 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___190 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___190 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___190 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___190 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___190 = 1147,
    _CS_V6_ENV___190 = 1148,
    _CS_V7_ENV___190 = 1149
} ;
enum __anonenum_513775621___190 {
    DT_UNKNOWN___190 = 0,
    DT_FIFO___190 = 1,
    DT_CHR___190 = 2,
    DT_DIR___190 = 4,
    DT_BLK___190 = 6,
    DT_REG___190 = 8,
    DT_LNK___190 = 10,
    DT_SOCK___190 = 12,
    DT_WHT___190 = 14
} ;
enum __anonenum_77002343___190 {
    SI_ASYNCNL___190 = -60,
    SI_TKILL___190 = -6,
    SI_SIGIO___190 = -5,
    SI_ASYNCIO___190 = -4,
    SI_MESGQ___190 = -3,
    SI_TIMER___190 = -2,
    SI_QUEUE___190 = -1,
    SI_USER___190 = 0,
    SI_KERNEL___190 = 128
} ;
enum __anonenum_131038172___190 {
    ILL_ILLOPC___190 = 1,
    ILL_ILLOPN___190 = 2,
    ILL_ILLADR___190 = 3,
    ILL_ILLTRP___190 = 4,
    ILL_PRVOPC___190 = 5,
    ILL_PRVREG___190 = 6,
    ILL_COPROC___190 = 7,
    ILL_BADSTK___190 = 8
} ;
enum __anonenum_452038093___190 {
    FPE_INTDIV___190 = 1,
    FPE_INTOVF___190 = 2,
    FPE_FLTDIV___190 = 3,
    FPE_FLTOVF___190 = 4,
    FPE_FLTUND___190 = 5,
    FPE_FLTRES___190 = 6,
    FPE_FLTINV___190 = 7,
    FPE_FLTSUB___190 = 8
} ;
enum __anonenum_30976155___190 {
    SEGV_MAPERR___190 = 1,
    SEGV_ACCERR___190 = 2,
    SEGV_BNDERR___190 = 3,
    SEGV_PKUERR___190 = 4
} ;
enum __anonenum_1036286214___190 {
    BUS_ADRALN___190 = 1,
    BUS_ADRERR___190 = 2,
    BUS_OBJERR___190 = 3,
    BUS_MCEERR_AR___190 = 4,
    BUS_MCEERR_AO___190 = 5
} ;
enum __anonenum_493465559___190 {
    TRAP_BRKPT___190 = 1,
    TRAP_TRACE___190 = 2
} ;
enum __anonenum_23175539___190 {
    CLD_EXITED___190 = 1,
    CLD_KILLED___190 = 2,
    CLD_DUMPED___190 = 3,
    CLD_TRAPPED___190 = 4,
    CLD_STOPPED___190 = 5,
    CLD_CONTINUED___190 = 6
} ;
enum __anonenum_111643124___190 {
    POLL_IN___190 = 1,
    POLL_OUT___190 = 2,
    POLL_MSG___190 = 3,
    POLL_ERR___190 = 4,
    POLL_PRI___190 = 5,
    POLL_HUP___190 = 6
} ;
enum __anonenum_852341087___190 {
    SIGEV_SIGNAL___190 = 0,
    SIGEV_NONE___190 = 1,
    SIGEV_THREAD___190 = 2,
    SIGEV_THREAD_ID___190 = 4
} ;
enum __anonenum_451154152___190 {
    REG_R8___190 = 0,
    REG_R9___190 = 1,
    REG_R10___190 = 2,
    REG_R11___190 = 3,
    REG_R12___190 = 4,
    REG_R13___190 = 5,
    REG_R14___190 = 6,
    REG_R15___190 = 7,
    REG_RDI___190 = 8,
    REG_RSI___190 = 9,
    REG_RBP___190 = 10,
    REG_RBX___190 = 11,
    REG_RDX___190 = 12,
    REG_RAX___190 = 13,
    REG_RCX___190 = 14,
    REG_RSP___190 = 15,
    REG_RIP___190 = 16,
    REG_EFL___190 = 17,
    REG_CSGSFS___190 = 18,
    REG_ERR___190 = 19,
    REG_TRAPNO___190 = 20,
    REG_OLDMASK___190 = 21,
    REG_CR2___190 = 22
} ;
enum __anonenum_57186863___190 {
    SS_ONSTACK___190 = 1,
    SS_DISABLE___190 = 2
} ;
enum __anonenum_83571709___190 {
    MSG_OOB___190 = 1,
    MSG_PEEK___190 = 2,
    MSG_DONTROUTE___190 = 4,
    MSG_TRYHARD___190 = 4,
    MSG_CTRUNC___190 = 8,
    MSG_PROXY___190 = 16,
    MSG_TRUNC___190 = 32,
    MSG_DONTWAIT___190 = 64,
    MSG_EOR___190 = 128,
    MSG_WAITALL___190 = 256,
    MSG_FIN___190 = 512,
    MSG_SYN___190 = 1024,
    MSG_CONFIRM___190 = 2048,
    MSG_RST___190 = 4096,
    MSG_ERRQUEUE___190 = 8192,
    MSG_NOSIGNAL___190 = 16384,
    MSG_MORE___190 = 32768,
    MSG_WAITFORONE___190 = 65536,
    MSG_BATCH___190 = 262144,
    MSG_ZEROCOPY___190 = 67108864,
    MSG_FASTOPEN___190 = 536870912,
    MSG_CMSG_CLOEXEC___190 = 1073741824
} ;
enum __anonenum_617082774___190 {
    SCM_RIGHTS___190 = 1,
    SCM_CREDENTIALS___190 = 2
} ;
enum __anonenum_606441560___190 {
    SHUT_RD___190 = 0,
    SHUT_WR___190 = 1,
    SHUT_RDWR___190 = 2
} ;
enum __anonenum_681669233___190 {
    IPPROTO_IP___190 = 0,
    IPPROTO_ICMP___190 = 1,
    IPPROTO_IGMP___190 = 2,
    IPPROTO_IPIP___190 = 4,
    IPPROTO_TCP___190 = 6,
    IPPROTO_EGP___190 = 8,
    IPPROTO_PUP___190 = 12,
    IPPROTO_UDP___190 = 17,
    IPPROTO_IDP___190 = 22,
    IPPROTO_TP___190 = 29,
    IPPROTO_DCCP___190 = 33,
    IPPROTO_IPV6___190 = 41,
    IPPROTO_RSVP___190 = 46,
    IPPROTO_GRE___190 = 47,
    IPPROTO_ESP___190 = 50,
    IPPROTO_AH___190 = 51,
    IPPROTO_MTP___190 = 92,
    IPPROTO_BEETPH___190 = 94,
    IPPROTO_ENCAP___190 = 98,
    IPPROTO_PIM___190 = 103,
    IPPROTO_COMP___190 = 108,
    IPPROTO_SCTP___190 = 132,
    IPPROTO_UDPLITE___190 = 136,
    IPPROTO_MPLS___190 = 137,
    IPPROTO_RAW___190 = 255,
    IPPROTO_MAX___190 = 256
} ;
enum __anonenum_218739988___190 {
    IPPROTO_HOPOPTS___190 = 0,
    IPPROTO_ROUTING___190 = 43,
    IPPROTO_FRAGMENT___190 = 44,
    IPPROTO_ICMPV6___190 = 58,
    IPPROTO_NONE___190 = 59,
    IPPROTO_DSTOPTS___190 = 60,
    IPPROTO_MH___190 = 135
} ;
enum __anonenum_662268580___190 {
    IPPORT_ECHO___190 = 7,
    IPPORT_DISCARD___190 = 9,
    IPPORT_SYSTAT___190 = 11,
    IPPORT_DAYTIME___190 = 13,
    IPPORT_NETSTAT___190 = 15,
    IPPORT_FTP___190 = 21,
    IPPORT_TELNET___190 = 23,
    IPPORT_SMTP___190 = 25,
    IPPORT_TIMESERVER___190 = 37,
    IPPORT_NAMESERVER___190 = 42,
    IPPORT_WHOIS___190 = 43,
    IPPORT_MTP___190 = 57,
    IPPORT_TFTP___190 = 69,
    IPPORT_RJE___190 = 77,
    IPPORT_FINGER___190 = 79,
    IPPORT_TTYLINK___190 = 87,
    IPPORT_SUPDUP___190 = 95,
    IPPORT_EXECSERVER___190 = 512,
    IPPORT_LOGINSERVER___190 = 513,
    IPPORT_CMDSERVER___190 = 514,
    IPPORT_EFSSERVER___190 = 520,
    IPPORT_BIFFUDP___190 = 512,
    IPPORT_WHOSERVER___190 = 513,
    IPPORT_ROUTESERVER___190 = 520,
    IPPORT_RESERVED___190 = 1024,
    IPPORT_USERRESERVED___190 = 5000
} ;
enum __anonenum_788308992___190 {
    TCP_ESTABLISHED___190 = 1,
    TCP_SYN_SENT___190 = 2,
    TCP_SYN_RECV___190 = 3,
    TCP_FIN_WAIT1___190 = 4,
    TCP_FIN_WAIT2___190 = 5,
    TCP_TIME_WAIT___190 = 6,
    TCP_CLOSE___190 = 7,
    TCP_CLOSE_WAIT___190 = 8,
    TCP_LAST_ACK___190 = 9,
    TCP_LISTEN___190 = 10,
    TCP_CLOSING___190 = 11
} ;
enum __anonenum_221125648___190 {
    TCP_NO_QUEUE___190 = 0,
    TCP_RECV_QUEUE___190 = 1,
    TCP_SEND_QUEUE___190 = 2,
    TCP_QUEUES_NR___190 = 3
} ;
enum __anonenum_34415463___190 {
    PTHREAD_CREATE_JOINABLE___190 = 0,
    PTHREAD_CREATE_DETACHED___190 = 1
} ;
enum __anonenum_303612439___190 {
    PTHREAD_MUTEX_TIMED_NP___190 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___190 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___190 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___190 = 3,
    PTHREAD_MUTEX_NORMAL___190 = 0,
    PTHREAD_MUTEX_RECURSIVE___190 = 1,
    PTHREAD_MUTEX_ERRORCHECK___190 = 2,
    PTHREAD_MUTEX_DEFAULT___190 = 0,
    PTHREAD_MUTEX_FAST_NP___190 = 0
} ;
enum __anonenum_931900394___190 {
    PTHREAD_MUTEX_STALLED___190 = 0,
    PTHREAD_MUTEX_STALLED_NP___190 = 0,
    PTHREAD_MUTEX_ROBUST___190 = 1,
    PTHREAD_MUTEX_ROBUST_NP___190 = 1
} ;
enum __anonenum_205214487___190 {
    PTHREAD_PRIO_NONE___190 = 0,
    PTHREAD_PRIO_INHERIT___190 = 1,
    PTHREAD_PRIO_PROTECT___190 = 2
} ;
enum __anonenum_25043950___190 {
    PTHREAD_RWLOCK_PREFER_READER_NP___190 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___190 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___190 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___190 = 0
} ;
enum __anonenum_436439511___190 {
    PTHREAD_INHERIT_SCHED___190 = 0,
    PTHREAD_EXPLICIT_SCHED___190 = 1
} ;
enum __anonenum_998661166___190 {
    PTHREAD_SCOPE_SYSTEM___190 = 0,
    PTHREAD_SCOPE_PROCESS___190 = 1
} ;
enum __anonenum_146137331___190 {
    PTHREAD_PROCESS_PRIVATE___190 = 0,
    PTHREAD_PROCESS_SHARED___190 = 1
} ;
enum __anonenum_53396917___190 {
    PTHREAD_CANCEL_ENABLE___190 = 0,
    PTHREAD_CANCEL_DISABLE___190 = 1
} ;
enum __anonenum_904563783___190 {
    PTHREAD_CANCEL_DEFERRED___190 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___190 = 1
} ;
enum __anonenum_672052974___190 {
    SSL_CT_VALIDATION_PERMISSIVE___190 = 0,
    SSL_CT_VALIDATION_STRICT___190 = 1
} ;
enum __anonenum_437032235___191 {
    _PC_LINK_MAX___191 = 0,
    _PC_MAX_CANON___191 = 1,
    _PC_MAX_INPUT___191 = 2,
    _PC_NAME_MAX___191 = 3,
    _PC_PATH_MAX___191 = 4,
    _PC_PIPE_BUF___191 = 5,
    _PC_CHOWN_RESTRICTED___191 = 6,
    _PC_NO_TRUNC___191 = 7,
    _PC_VDISABLE___191 = 8,
    _PC_SYNC_IO___191 = 9,
    _PC_ASYNC_IO___191 = 10,
    _PC_PRIO_IO___191 = 11,
    _PC_SOCK_MAXBUF___191 = 12,
    _PC_FILESIZEBITS___191 = 13,
    _PC_REC_INCR_XFER_SIZE___191 = 14,
    _PC_REC_MAX_XFER_SIZE___191 = 15,
    _PC_REC_MIN_XFER_SIZE___191 = 16,
    _PC_REC_XFER_ALIGN___191 = 17,
    _PC_ALLOC_SIZE_MIN___191 = 18,
    _PC_SYMLINK_MAX___191 = 19,
    _PC_2_SYMLINKS___191 = 20
} ;
enum __anonenum_315186338___191 {
    _SC_ARG_MAX___191 = 0,
    _SC_CHILD_MAX___191 = 1,
    _SC_CLK_TCK___191 = 2,
    _SC_NGROUPS_MAX___191 = 3,
    _SC_OPEN_MAX___191 = 4,
    _SC_STREAM_MAX___191 = 5,
    _SC_TZNAME_MAX___191 = 6,
    _SC_JOB_CONTROL___191 = 7,
    _SC_SAVED_IDS___191 = 8,
    _SC_REALTIME_SIGNALS___191 = 9,
    _SC_PRIORITY_SCHEDULING___191 = 10,
    _SC_TIMERS___191 = 11,
    _SC_ASYNCHRONOUS_IO___191 = 12,
    _SC_PRIORITIZED_IO___191 = 13,
    _SC_SYNCHRONIZED_IO___191 = 14,
    _SC_FSYNC___191 = 15,
    _SC_MAPPED_FILES___191 = 16,
    _SC_MEMLOCK___191 = 17,
    _SC_MEMLOCK_RANGE___191 = 18,
    _SC_MEMORY_PROTECTION___191 = 19,
    _SC_MESSAGE_PASSING___191 = 20,
    _SC_SEMAPHORES___191 = 21,
    _SC_SHARED_MEMORY_OBJECTS___191 = 22,
    _SC_AIO_LISTIO_MAX___191 = 23,
    _SC_AIO_MAX___191 = 24,
    _SC_AIO_PRIO_DELTA_MAX___191 = 25,
    _SC_DELAYTIMER_MAX___191 = 26,
    _SC_MQ_OPEN_MAX___191 = 27,
    _SC_MQ_PRIO_MAX___191 = 28,
    _SC_VERSION___191 = 29,
    _SC_PAGESIZE___191 = 30,
    _SC_RTSIG_MAX___191 = 31,
    _SC_SEM_NSEMS_MAX___191 = 32,
    _SC_SEM_VALUE_MAX___191 = 33,
    _SC_SIGQUEUE_MAX___191 = 34,
    _SC_TIMER_MAX___191 = 35,
    _SC_BC_BASE_MAX___191 = 36,
    _SC_BC_DIM_MAX___191 = 37,
    _SC_BC_SCALE_MAX___191 = 38,
    _SC_BC_STRING_MAX___191 = 39,
    _SC_COLL_WEIGHTS_MAX___191 = 40,
    _SC_EQUIV_CLASS_MAX___191 = 41,
    _SC_EXPR_NEST_MAX___191 = 42,
    _SC_LINE_MAX___191 = 43,
    _SC_RE_DUP_MAX___191 = 44,
    _SC_CHARCLASS_NAME_MAX___191 = 45,
    _SC_2_VERSION___191 = 46,
    _SC_2_C_BIND___191 = 47,
    _SC_2_C_DEV___191 = 48,
    _SC_2_FORT_DEV___191 = 49,
    _SC_2_FORT_RUN___191 = 50,
    _SC_2_SW_DEV___191 = 51,
    _SC_2_LOCALEDEF___191 = 52,
    _SC_PII___191 = 53,
    _SC_PII_XTI___191 = 54,
    _SC_PII_SOCKET___191 = 55,
    _SC_PII_INTERNET___191 = 56,
    _SC_PII_OSI___191 = 57,
    _SC_POLL___191 = 58,
    _SC_SELECT___191 = 59,
    _SC_UIO_MAXIOV___191 = 60,
    _SC_IOV_MAX___191 = 60,
    _SC_PII_INTERNET_STREAM___191 = 61,
    _SC_PII_INTERNET_DGRAM___191 = 62,
    _SC_PII_OSI_COTS___191 = 63,
    _SC_PII_OSI_CLTS___191 = 64,
    _SC_PII_OSI_M___191 = 65,
    _SC_T_IOV_MAX___191 = 66,
    _SC_THREADS___191 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___191 = 68,
    _SC_GETGR_R_SIZE_MAX___191 = 69,
    _SC_GETPW_R_SIZE_MAX___191 = 70,
    _SC_LOGIN_NAME_MAX___191 = 71,
    _SC_TTY_NAME_MAX___191 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___191 = 73,
    _SC_THREAD_KEYS_MAX___191 = 74,
    _SC_THREAD_STACK_MIN___191 = 75,
    _SC_THREAD_THREADS_MAX___191 = 76,
    _SC_THREAD_ATTR_STACKADDR___191 = 77,
    _SC_THREAD_ATTR_STACKSIZE___191 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___191 = 79,
    _SC_THREAD_PRIO_INHERIT___191 = 80,
    _SC_THREAD_PRIO_PROTECT___191 = 81,
    _SC_THREAD_PROCESS_SHARED___191 = 82,
    _SC_NPROCESSORS_CONF___191 = 83,
    _SC_NPROCESSORS_ONLN___191 = 84,
    _SC_PHYS_PAGES___191 = 85,
    _SC_AVPHYS_PAGES___191 = 86,
    _SC_ATEXIT_MAX___191 = 87,
    _SC_PASS_MAX___191 = 88,
    _SC_XOPEN_VERSION___191 = 89,
    _SC_XOPEN_XCU_VERSION___191 = 90,
    _SC_XOPEN_UNIX___191 = 91,
    _SC_XOPEN_CRYPT___191 = 92,
    _SC_XOPEN_ENH_I18N___191 = 93,
    _SC_XOPEN_SHM___191 = 94,
    _SC_2_CHAR_TERM___191 = 95,
    _SC_2_C_VERSION___191 = 96,
    _SC_2_UPE___191 = 97,
    _SC_XOPEN_XPG2___191 = 98,
    _SC_XOPEN_XPG3___191 = 99,
    _SC_XOPEN_XPG4___191 = 100,
    _SC_CHAR_BIT___191 = 101,
    _SC_CHAR_MAX___191 = 102,
    _SC_CHAR_MIN___191 = 103,
    _SC_INT_MAX___191 = 104,
    _SC_INT_MIN___191 = 105,
    _SC_LONG_BIT___191 = 106,
    _SC_WORD_BIT___191 = 107,
    _SC_MB_LEN_MAX___191 = 108,
    _SC_NZERO___191 = 109,
    _SC_SSIZE_MAX___191 = 110,
    _SC_SCHAR_MAX___191 = 111,
    _SC_SCHAR_MIN___191 = 112,
    _SC_SHRT_MAX___191 = 113,
    _SC_SHRT_MIN___191 = 114,
    _SC_UCHAR_MAX___191 = 115,
    _SC_UINT_MAX___191 = 116,
    _SC_ULONG_MAX___191 = 117,
    _SC_USHRT_MAX___191 = 118,
    _SC_NL_ARGMAX___191 = 119,
    _SC_NL_LANGMAX___191 = 120,
    _SC_NL_MSGMAX___191 = 121,
    _SC_NL_NMAX___191 = 122,
    _SC_NL_SETMAX___191 = 123,
    _SC_NL_TEXTMAX___191 = 124,
    _SC_XBS5_ILP32_OFF32___191 = 125,
    _SC_XBS5_ILP32_OFFBIG___191 = 126,
    _SC_XBS5_LP64_OFF64___191 = 127,
    _SC_XBS5_LPBIG_OFFBIG___191 = 128,
    _SC_XOPEN_LEGACY___191 = 129,
    _SC_XOPEN_REALTIME___191 = 130,
    _SC_XOPEN_REALTIME_THREADS___191 = 131,
    _SC_ADVISORY_INFO___191 = 132,
    _SC_BARRIERS___191 = 133,
    _SC_BASE___191 = 134,
    _SC_C_LANG_SUPPORT___191 = 135,
    _SC_C_LANG_SUPPORT_R___191 = 136,
    _SC_CLOCK_SELECTION___191 = 137,
    _SC_CPUTIME___191 = 138,
    _SC_THREAD_CPUTIME___191 = 139,
    _SC_DEVICE_IO___191 = 140,
    _SC_DEVICE_SPECIFIC___191 = 141,
    _SC_DEVICE_SPECIFIC_R___191 = 142,
    _SC_FD_MGMT___191 = 143,
    _SC_FIFO___191 = 144,
    _SC_PIPE___191 = 145,
    _SC_FILE_ATTRIBUTES___191 = 146,
    _SC_FILE_LOCKING___191 = 147,
    _SC_FILE_SYSTEM___191 = 148,
    _SC_MONOTONIC_CLOCK___191 = 149,
    _SC_MULTI_PROCESS___191 = 150,
    _SC_SINGLE_PROCESS___191 = 151,
    _SC_NETWORKING___191 = 152,
    _SC_READER_WRITER_LOCKS___191 = 153,
    _SC_SPIN_LOCKS___191 = 154,
    _SC_REGEXP___191 = 155,
    _SC_REGEX_VERSION___191 = 156,
    _SC_SHELL___191 = 157,
    _SC_SIGNALS___191 = 158,
    _SC_SPAWN___191 = 159,
    _SC_SPORADIC_SERVER___191 = 160,
    _SC_THREAD_SPORADIC_SERVER___191 = 161,
    _SC_SYSTEM_DATABASE___191 = 162,
    _SC_SYSTEM_DATABASE_R___191 = 163,
    _SC_TIMEOUTS___191 = 164,
    _SC_TYPED_MEMORY_OBJECTS___191 = 165,
    _SC_USER_GROUPS___191 = 166,
    _SC_USER_GROUPS_R___191 = 167,
    _SC_2_PBS___191 = 168,
    _SC_2_PBS_ACCOUNTING___191 = 169,
    _SC_2_PBS_LOCATE___191 = 170,
    _SC_2_PBS_MESSAGE___191 = 171,
    _SC_2_PBS_TRACK___191 = 172,
    _SC_SYMLOOP_MAX___191 = 173,
    _SC_STREAMS___191 = 174,
    _SC_2_PBS_CHECKPOINT___191 = 175,
    _SC_V6_ILP32_OFF32___191 = 176,
    _SC_V6_ILP32_OFFBIG___191 = 177,
    _SC_V6_LP64_OFF64___191 = 178,
    _SC_V6_LPBIG_OFFBIG___191 = 179,
    _SC_HOST_NAME_MAX___191 = 180,
    _SC_TRACE___191 = 181,
    _SC_TRACE_EVENT_FILTER___191 = 182,
    _SC_TRACE_INHERIT___191 = 183,
    _SC_TRACE_LOG___191 = 184,
    _SC_LEVEL1_ICACHE_SIZE___191 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___191 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___191 = 187,
    _SC_LEVEL1_DCACHE_SIZE___191 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___191 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___191 = 190,
    _SC_LEVEL2_CACHE_SIZE___191 = 191,
    _SC_LEVEL2_CACHE_ASSOC___191 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___191 = 193,
    _SC_LEVEL3_CACHE_SIZE___191 = 194,
    _SC_LEVEL3_CACHE_ASSOC___191 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___191 = 196,
    _SC_LEVEL4_CACHE_SIZE___191 = 197,
    _SC_LEVEL4_CACHE_ASSOC___191 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___191 = 199,
    _SC_IPV6___191 = 235,
    _SC_RAW_SOCKETS___191 = 236,
    _SC_V7_ILP32_OFF32___191 = 237,
    _SC_V7_ILP32_OFFBIG___191 = 238,
    _SC_V7_LP64_OFF64___191 = 239,
    _SC_V7_LPBIG_OFFBIG___191 = 240,
    _SC_SS_REPL_MAX___191 = 241,
    _SC_TRACE_EVENT_NAME_MAX___191 = 242,
    _SC_TRACE_NAME_MAX___191 = 243,
    _SC_TRACE_SYS_MAX___191 = 244,
    _SC_TRACE_USER_EVENT_MAX___191 = 245,
    _SC_XOPEN_STREAMS___191 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___191 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___191 = 248
} ;
enum __anonenum_875524036___191 {
    _CS_PATH___191 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___191 = 1,
    _CS_GNU_LIBC_VERSION___191 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___191 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___191 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___191 = 5,
    _CS_LFS_CFLAGS___191 = 1000,
    _CS_LFS_LDFLAGS___191 = 1001,
    _CS_LFS_LIBS___191 = 1002,
    _CS_LFS_LINTFLAGS___191 = 1003,
    _CS_LFS64_CFLAGS___191 = 1004,
    _CS_LFS64_LDFLAGS___191 = 1005,
    _CS_LFS64_LIBS___191 = 1006,
    _CS_LFS64_LINTFLAGS___191 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___191 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___191 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___191 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___191 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___191 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___191 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___191 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___191 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___191 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___191 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___191 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___191 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___191 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___191 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___191 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___191 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___191 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___191 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___191 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___191 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___191 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___191 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___191 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___191 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___191 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___191 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___191 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___191 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___191 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___191 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___191 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___191 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___191 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___191 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___191 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___191 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___191 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___191 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___191 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___191 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___191 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___191 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___191 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___191 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___191 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___191 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___191 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___191 = 1147,
    _CS_V6_ENV___191 = 1148,
    _CS_V7_ENV___191 = 1149
} ;
enum __anonenum_513775621___191 {
    DT_UNKNOWN___191 = 0,
    DT_FIFO___191 = 1,
    DT_CHR___191 = 2,
    DT_DIR___191 = 4,
    DT_BLK___191 = 6,
    DT_REG___191 = 8,
    DT_LNK___191 = 10,
    DT_SOCK___191 = 12,
    DT_WHT___191 = 14
} ;
enum __anonenum_77002343___191 {
    SI_ASYNCNL___191 = -60,
    SI_TKILL___191 = -6,
    SI_SIGIO___191 = -5,
    SI_ASYNCIO___191 = -4,
    SI_MESGQ___191 = -3,
    SI_TIMER___191 = -2,
    SI_QUEUE___191 = -1,
    SI_USER___191 = 0,
    SI_KERNEL___191 = 128
} ;
enum __anonenum_131038172___191 {
    ILL_ILLOPC___191 = 1,
    ILL_ILLOPN___191 = 2,
    ILL_ILLADR___191 = 3,
    ILL_ILLTRP___191 = 4,
    ILL_PRVOPC___191 = 5,
    ILL_PRVREG___191 = 6,
    ILL_COPROC___191 = 7,
    ILL_BADSTK___191 = 8
} ;
enum __anonenum_452038093___191 {
    FPE_INTDIV___191 = 1,
    FPE_INTOVF___191 = 2,
    FPE_FLTDIV___191 = 3,
    FPE_FLTOVF___191 = 4,
    FPE_FLTUND___191 = 5,
    FPE_FLTRES___191 = 6,
    FPE_FLTINV___191 = 7,
    FPE_FLTSUB___191 = 8
} ;
enum __anonenum_30976155___191 {
    SEGV_MAPERR___191 = 1,
    SEGV_ACCERR___191 = 2,
    SEGV_BNDERR___191 = 3,
    SEGV_PKUERR___191 = 4
} ;
enum __anonenum_1036286214___191 {
    BUS_ADRALN___191 = 1,
    BUS_ADRERR___191 = 2,
    BUS_OBJERR___191 = 3,
    BUS_MCEERR_AR___191 = 4,
    BUS_MCEERR_AO___191 = 5
} ;
enum __anonenum_493465559___191 {
    TRAP_BRKPT___191 = 1,
    TRAP_TRACE___191 = 2
} ;
enum __anonenum_23175539___191 {
    CLD_EXITED___191 = 1,
    CLD_KILLED___191 = 2,
    CLD_DUMPED___191 = 3,
    CLD_TRAPPED___191 = 4,
    CLD_STOPPED___191 = 5,
    CLD_CONTINUED___191 = 6
} ;
enum __anonenum_111643124___191 {
    POLL_IN___191 = 1,
    POLL_OUT___191 = 2,
    POLL_MSG___191 = 3,
    POLL_ERR___191 = 4,
    POLL_PRI___191 = 5,
    POLL_HUP___191 = 6
} ;
enum __anonenum_852341087___191 {
    SIGEV_SIGNAL___191 = 0,
    SIGEV_NONE___191 = 1,
    SIGEV_THREAD___191 = 2,
    SIGEV_THREAD_ID___191 = 4
} ;
enum __anonenum_451154152___191 {
    REG_R8___191 = 0,
    REG_R9___191 = 1,
    REG_R10___191 = 2,
    REG_R11___191 = 3,
    REG_R12___191 = 4,
    REG_R13___191 = 5,
    REG_R14___191 = 6,
    REG_R15___191 = 7,
    REG_RDI___191 = 8,
    REG_RSI___191 = 9,
    REG_RBP___191 = 10,
    REG_RBX___191 = 11,
    REG_RDX___191 = 12,
    REG_RAX___191 = 13,
    REG_RCX___191 = 14,
    REG_RSP___191 = 15,
    REG_RIP___191 = 16,
    REG_EFL___191 = 17,
    REG_CSGSFS___191 = 18,
    REG_ERR___191 = 19,
    REG_TRAPNO___191 = 20,
    REG_OLDMASK___191 = 21,
    REG_CR2___191 = 22
} ;
enum __anonenum_57186863___191 {
    SS_ONSTACK___191 = 1,
    SS_DISABLE___191 = 2
} ;
enum __anonenum_83571709___191 {
    MSG_OOB___191 = 1,
    MSG_PEEK___191 = 2,
    MSG_DONTROUTE___191 = 4,
    MSG_TRYHARD___191 = 4,
    MSG_CTRUNC___191 = 8,
    MSG_PROXY___191 = 16,
    MSG_TRUNC___191 = 32,
    MSG_DONTWAIT___191 = 64,
    MSG_EOR___191 = 128,
    MSG_WAITALL___191 = 256,
    MSG_FIN___191 = 512,
    MSG_SYN___191 = 1024,
    MSG_CONFIRM___191 = 2048,
    MSG_RST___191 = 4096,
    MSG_ERRQUEUE___191 = 8192,
    MSG_NOSIGNAL___191 = 16384,
    MSG_MORE___191 = 32768,
    MSG_WAITFORONE___191 = 65536,
    MSG_BATCH___191 = 262144,
    MSG_ZEROCOPY___191 = 67108864,
    MSG_FASTOPEN___191 = 536870912,
    MSG_CMSG_CLOEXEC___191 = 1073741824
} ;
enum __anonenum_617082774___191 {
    SCM_RIGHTS___191 = 1,
    SCM_CREDENTIALS___191 = 2
} ;
enum __anonenum_606441560___191 {
    SHUT_RD___191 = 0,
    SHUT_WR___191 = 1,
    SHUT_RDWR___191 = 2
} ;
enum __anonenum_681669233___191 {
    IPPROTO_IP___191 = 0,
    IPPROTO_ICMP___191 = 1,
    IPPROTO_IGMP___191 = 2,
    IPPROTO_IPIP___191 = 4,
    IPPROTO_TCP___191 = 6,
    IPPROTO_EGP___191 = 8,
    IPPROTO_PUP___191 = 12,
    IPPROTO_UDP___191 = 17,
    IPPROTO_IDP___191 = 22,
    IPPROTO_TP___191 = 29,
    IPPROTO_DCCP___191 = 33,
    IPPROTO_IPV6___191 = 41,
    IPPROTO_RSVP___191 = 46,
    IPPROTO_GRE___191 = 47,
    IPPROTO_ESP___191 = 50,
    IPPROTO_AH___191 = 51,
    IPPROTO_MTP___191 = 92,
    IPPROTO_BEETPH___191 = 94,
    IPPROTO_ENCAP___191 = 98,
    IPPROTO_PIM___191 = 103,
    IPPROTO_COMP___191 = 108,
    IPPROTO_SCTP___191 = 132,
    IPPROTO_UDPLITE___191 = 136,
    IPPROTO_MPLS___191 = 137,
    IPPROTO_RAW___191 = 255,
    IPPROTO_MAX___191 = 256
} ;
enum __anonenum_218739988___191 {
    IPPROTO_HOPOPTS___191 = 0,
    IPPROTO_ROUTING___191 = 43,
    IPPROTO_FRAGMENT___191 = 44,
    IPPROTO_ICMPV6___191 = 58,
    IPPROTO_NONE___191 = 59,
    IPPROTO_DSTOPTS___191 = 60,
    IPPROTO_MH___191 = 135
} ;
enum __anonenum_662268580___191 {
    IPPORT_ECHO___191 = 7,
    IPPORT_DISCARD___191 = 9,
    IPPORT_SYSTAT___191 = 11,
    IPPORT_DAYTIME___191 = 13,
    IPPORT_NETSTAT___191 = 15,
    IPPORT_FTP___191 = 21,
    IPPORT_TELNET___191 = 23,
    IPPORT_SMTP___191 = 25,
    IPPORT_TIMESERVER___191 = 37,
    IPPORT_NAMESERVER___191 = 42,
    IPPORT_WHOIS___191 = 43,
    IPPORT_MTP___191 = 57,
    IPPORT_TFTP___191 = 69,
    IPPORT_RJE___191 = 77,
    IPPORT_FINGER___191 = 79,
    IPPORT_TTYLINK___191 = 87,
    IPPORT_SUPDUP___191 = 95,
    IPPORT_EXECSERVER___191 = 512,
    IPPORT_LOGINSERVER___191 = 513,
    IPPORT_CMDSERVER___191 = 514,
    IPPORT_EFSSERVER___191 = 520,
    IPPORT_BIFFUDP___191 = 512,
    IPPORT_WHOSERVER___191 = 513,
    IPPORT_ROUTESERVER___191 = 520,
    IPPORT_RESERVED___191 = 1024,
    IPPORT_USERRESERVED___191 = 5000
} ;
enum __anonenum_788308992___191 {
    TCP_ESTABLISHED___191 = 1,
    TCP_SYN_SENT___191 = 2,
    TCP_SYN_RECV___191 = 3,
    TCP_FIN_WAIT1___191 = 4,
    TCP_FIN_WAIT2___191 = 5,
    TCP_TIME_WAIT___191 = 6,
    TCP_CLOSE___191 = 7,
    TCP_CLOSE_WAIT___191 = 8,
    TCP_LAST_ACK___191 = 9,
    TCP_LISTEN___191 = 10,
    TCP_CLOSING___191 = 11
} ;
enum __anonenum_221125648___191 {
    TCP_NO_QUEUE___191 = 0,
    TCP_RECV_QUEUE___191 = 1,
    TCP_SEND_QUEUE___191 = 2,
    TCP_QUEUES_NR___191 = 3
} ;
enum __anonenum_34415463___191 {
    PTHREAD_CREATE_JOINABLE___191 = 0,
    PTHREAD_CREATE_DETACHED___191 = 1
} ;
enum __anonenum_303612439___191 {
    PTHREAD_MUTEX_TIMED_NP___191 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___191 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___191 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___191 = 3,
    PTHREAD_MUTEX_NORMAL___191 = 0,
    PTHREAD_MUTEX_RECURSIVE___191 = 1,
    PTHREAD_MUTEX_ERRORCHECK___191 = 2,
    PTHREAD_MUTEX_DEFAULT___191 = 0,
    PTHREAD_MUTEX_FAST_NP___191 = 0
} ;
enum __anonenum_931900394___191 {
    PTHREAD_MUTEX_STALLED___191 = 0,
    PTHREAD_MUTEX_STALLED_NP___191 = 0,
    PTHREAD_MUTEX_ROBUST___191 = 1,
    PTHREAD_MUTEX_ROBUST_NP___191 = 1
} ;
enum __anonenum_205214487___191 {
    PTHREAD_PRIO_NONE___191 = 0,
    PTHREAD_PRIO_INHERIT___191 = 1,
    PTHREAD_PRIO_PROTECT___191 = 2
} ;
enum __anonenum_25043950___191 {
    PTHREAD_RWLOCK_PREFER_READER_NP___191 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___191 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___191 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___191 = 0
} ;
enum __anonenum_436439511___191 {
    PTHREAD_INHERIT_SCHED___191 = 0,
    PTHREAD_EXPLICIT_SCHED___191 = 1
} ;
enum __anonenum_998661166___191 {
    PTHREAD_SCOPE_SYSTEM___191 = 0,
    PTHREAD_SCOPE_PROCESS___191 = 1
} ;
enum __anonenum_146137331___191 {
    PTHREAD_PROCESS_PRIVATE___191 = 0,
    PTHREAD_PROCESS_SHARED___191 = 1
} ;
enum __anonenum_53396917___191 {
    PTHREAD_CANCEL_ENABLE___191 = 0,
    PTHREAD_CANCEL_DISABLE___191 = 1
} ;
enum __anonenum_904563783___191 {
    PTHREAD_CANCEL_DEFERRED___191 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___191 = 1
} ;
enum __anonenum_672052974___191 {
    SSL_CT_VALIDATION_PERMISSIVE___191 = 0,
    SSL_CT_VALIDATION_STRICT___191 = 1
} ;
enum __anonenum_437032235___192 {
    _PC_LINK_MAX___192 = 0,
    _PC_MAX_CANON___192 = 1,
    _PC_MAX_INPUT___192 = 2,
    _PC_NAME_MAX___192 = 3,
    _PC_PATH_MAX___192 = 4,
    _PC_PIPE_BUF___192 = 5,
    _PC_CHOWN_RESTRICTED___192 = 6,
    _PC_NO_TRUNC___192 = 7,
    _PC_VDISABLE___192 = 8,
    _PC_SYNC_IO___192 = 9,
    _PC_ASYNC_IO___192 = 10,
    _PC_PRIO_IO___192 = 11,
    _PC_SOCK_MAXBUF___192 = 12,
    _PC_FILESIZEBITS___192 = 13,
    _PC_REC_INCR_XFER_SIZE___192 = 14,
    _PC_REC_MAX_XFER_SIZE___192 = 15,
    _PC_REC_MIN_XFER_SIZE___192 = 16,
    _PC_REC_XFER_ALIGN___192 = 17,
    _PC_ALLOC_SIZE_MIN___192 = 18,
    _PC_SYMLINK_MAX___192 = 19,
    _PC_2_SYMLINKS___192 = 20
} ;
enum __anonenum_315186338___192 {
    _SC_ARG_MAX___192 = 0,
    _SC_CHILD_MAX___192 = 1,
    _SC_CLK_TCK___192 = 2,
    _SC_NGROUPS_MAX___192 = 3,
    _SC_OPEN_MAX___192 = 4,
    _SC_STREAM_MAX___192 = 5,
    _SC_TZNAME_MAX___192 = 6,
    _SC_JOB_CONTROL___192 = 7,
    _SC_SAVED_IDS___192 = 8,
    _SC_REALTIME_SIGNALS___192 = 9,
    _SC_PRIORITY_SCHEDULING___192 = 10,
    _SC_TIMERS___192 = 11,
    _SC_ASYNCHRONOUS_IO___192 = 12,
    _SC_PRIORITIZED_IO___192 = 13,
    _SC_SYNCHRONIZED_IO___192 = 14,
    _SC_FSYNC___192 = 15,
    _SC_MAPPED_FILES___192 = 16,
    _SC_MEMLOCK___192 = 17,
    _SC_MEMLOCK_RANGE___192 = 18,
    _SC_MEMORY_PROTECTION___192 = 19,
    _SC_MESSAGE_PASSING___192 = 20,
    _SC_SEMAPHORES___192 = 21,
    _SC_SHARED_MEMORY_OBJECTS___192 = 22,
    _SC_AIO_LISTIO_MAX___192 = 23,
    _SC_AIO_MAX___192 = 24,
    _SC_AIO_PRIO_DELTA_MAX___192 = 25,
    _SC_DELAYTIMER_MAX___192 = 26,
    _SC_MQ_OPEN_MAX___192 = 27,
    _SC_MQ_PRIO_MAX___192 = 28,
    _SC_VERSION___192 = 29,
    _SC_PAGESIZE___192 = 30,
    _SC_RTSIG_MAX___192 = 31,
    _SC_SEM_NSEMS_MAX___192 = 32,
    _SC_SEM_VALUE_MAX___192 = 33,
    _SC_SIGQUEUE_MAX___192 = 34,
    _SC_TIMER_MAX___192 = 35,
    _SC_BC_BASE_MAX___192 = 36,
    _SC_BC_DIM_MAX___192 = 37,
    _SC_BC_SCALE_MAX___192 = 38,
    _SC_BC_STRING_MAX___192 = 39,
    _SC_COLL_WEIGHTS_MAX___192 = 40,
    _SC_EQUIV_CLASS_MAX___192 = 41,
    _SC_EXPR_NEST_MAX___192 = 42,
    _SC_LINE_MAX___192 = 43,
    _SC_RE_DUP_MAX___192 = 44,
    _SC_CHARCLASS_NAME_MAX___192 = 45,
    _SC_2_VERSION___192 = 46,
    _SC_2_C_BIND___192 = 47,
    _SC_2_C_DEV___192 = 48,
    _SC_2_FORT_DEV___192 = 49,
    _SC_2_FORT_RUN___192 = 50,
    _SC_2_SW_DEV___192 = 51,
    _SC_2_LOCALEDEF___192 = 52,
    _SC_PII___192 = 53,
    _SC_PII_XTI___192 = 54,
    _SC_PII_SOCKET___192 = 55,
    _SC_PII_INTERNET___192 = 56,
    _SC_PII_OSI___192 = 57,
    _SC_POLL___192 = 58,
    _SC_SELECT___192 = 59,
    _SC_UIO_MAXIOV___192 = 60,
    _SC_IOV_MAX___192 = 60,
    _SC_PII_INTERNET_STREAM___192 = 61,
    _SC_PII_INTERNET_DGRAM___192 = 62,
    _SC_PII_OSI_COTS___192 = 63,
    _SC_PII_OSI_CLTS___192 = 64,
    _SC_PII_OSI_M___192 = 65,
    _SC_T_IOV_MAX___192 = 66,
    _SC_THREADS___192 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___192 = 68,
    _SC_GETGR_R_SIZE_MAX___192 = 69,
    _SC_GETPW_R_SIZE_MAX___192 = 70,
    _SC_LOGIN_NAME_MAX___192 = 71,
    _SC_TTY_NAME_MAX___192 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___192 = 73,
    _SC_THREAD_KEYS_MAX___192 = 74,
    _SC_THREAD_STACK_MIN___192 = 75,
    _SC_THREAD_THREADS_MAX___192 = 76,
    _SC_THREAD_ATTR_STACKADDR___192 = 77,
    _SC_THREAD_ATTR_STACKSIZE___192 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___192 = 79,
    _SC_THREAD_PRIO_INHERIT___192 = 80,
    _SC_THREAD_PRIO_PROTECT___192 = 81,
    _SC_THREAD_PROCESS_SHARED___192 = 82,
    _SC_NPROCESSORS_CONF___192 = 83,
    _SC_NPROCESSORS_ONLN___192 = 84,
    _SC_PHYS_PAGES___192 = 85,
    _SC_AVPHYS_PAGES___192 = 86,
    _SC_ATEXIT_MAX___192 = 87,
    _SC_PASS_MAX___192 = 88,
    _SC_XOPEN_VERSION___192 = 89,
    _SC_XOPEN_XCU_VERSION___192 = 90,
    _SC_XOPEN_UNIX___192 = 91,
    _SC_XOPEN_CRYPT___192 = 92,
    _SC_XOPEN_ENH_I18N___192 = 93,
    _SC_XOPEN_SHM___192 = 94,
    _SC_2_CHAR_TERM___192 = 95,
    _SC_2_C_VERSION___192 = 96,
    _SC_2_UPE___192 = 97,
    _SC_XOPEN_XPG2___192 = 98,
    _SC_XOPEN_XPG3___192 = 99,
    _SC_XOPEN_XPG4___192 = 100,
    _SC_CHAR_BIT___192 = 101,
    _SC_CHAR_MAX___192 = 102,
    _SC_CHAR_MIN___192 = 103,
    _SC_INT_MAX___192 = 104,
    _SC_INT_MIN___192 = 105,
    _SC_LONG_BIT___192 = 106,
    _SC_WORD_BIT___192 = 107,
    _SC_MB_LEN_MAX___192 = 108,
    _SC_NZERO___192 = 109,
    _SC_SSIZE_MAX___192 = 110,
    _SC_SCHAR_MAX___192 = 111,
    _SC_SCHAR_MIN___192 = 112,
    _SC_SHRT_MAX___192 = 113,
    _SC_SHRT_MIN___192 = 114,
    _SC_UCHAR_MAX___192 = 115,
    _SC_UINT_MAX___192 = 116,
    _SC_ULONG_MAX___192 = 117,
    _SC_USHRT_MAX___192 = 118,
    _SC_NL_ARGMAX___192 = 119,
    _SC_NL_LANGMAX___192 = 120,
    _SC_NL_MSGMAX___192 = 121,
    _SC_NL_NMAX___192 = 122,
    _SC_NL_SETMAX___192 = 123,
    _SC_NL_TEXTMAX___192 = 124,
    _SC_XBS5_ILP32_OFF32___192 = 125,
    _SC_XBS5_ILP32_OFFBIG___192 = 126,
    _SC_XBS5_LP64_OFF64___192 = 127,
    _SC_XBS5_LPBIG_OFFBIG___192 = 128,
    _SC_XOPEN_LEGACY___192 = 129,
    _SC_XOPEN_REALTIME___192 = 130,
    _SC_XOPEN_REALTIME_THREADS___192 = 131,
    _SC_ADVISORY_INFO___192 = 132,
    _SC_BARRIERS___192 = 133,
    _SC_BASE___192 = 134,
    _SC_C_LANG_SUPPORT___192 = 135,
    _SC_C_LANG_SUPPORT_R___192 = 136,
    _SC_CLOCK_SELECTION___192 = 137,
    _SC_CPUTIME___192 = 138,
    _SC_THREAD_CPUTIME___192 = 139,
    _SC_DEVICE_IO___192 = 140,
    _SC_DEVICE_SPECIFIC___192 = 141,
    _SC_DEVICE_SPECIFIC_R___192 = 142,
    _SC_FD_MGMT___192 = 143,
    _SC_FIFO___192 = 144,
    _SC_PIPE___192 = 145,
    _SC_FILE_ATTRIBUTES___192 = 146,
    _SC_FILE_LOCKING___192 = 147,
    _SC_FILE_SYSTEM___192 = 148,
    _SC_MONOTONIC_CLOCK___192 = 149,
    _SC_MULTI_PROCESS___192 = 150,
    _SC_SINGLE_PROCESS___192 = 151,
    _SC_NETWORKING___192 = 152,
    _SC_READER_WRITER_LOCKS___192 = 153,
    _SC_SPIN_LOCKS___192 = 154,
    _SC_REGEXP___192 = 155,
    _SC_REGEX_VERSION___192 = 156,
    _SC_SHELL___192 = 157,
    _SC_SIGNALS___192 = 158,
    _SC_SPAWN___192 = 159,
    _SC_SPORADIC_SERVER___192 = 160,
    _SC_THREAD_SPORADIC_SERVER___192 = 161,
    _SC_SYSTEM_DATABASE___192 = 162,
    _SC_SYSTEM_DATABASE_R___192 = 163,
    _SC_TIMEOUTS___192 = 164,
    _SC_TYPED_MEMORY_OBJECTS___192 = 165,
    _SC_USER_GROUPS___192 = 166,
    _SC_USER_GROUPS_R___192 = 167,
    _SC_2_PBS___192 = 168,
    _SC_2_PBS_ACCOUNTING___192 = 169,
    _SC_2_PBS_LOCATE___192 = 170,
    _SC_2_PBS_MESSAGE___192 = 171,
    _SC_2_PBS_TRACK___192 = 172,
    _SC_SYMLOOP_MAX___192 = 173,
    _SC_STREAMS___192 = 174,
    _SC_2_PBS_CHECKPOINT___192 = 175,
    _SC_V6_ILP32_OFF32___192 = 176,
    _SC_V6_ILP32_OFFBIG___192 = 177,
    _SC_V6_LP64_OFF64___192 = 178,
    _SC_V6_LPBIG_OFFBIG___192 = 179,
    _SC_HOST_NAME_MAX___192 = 180,
    _SC_TRACE___192 = 181,
    _SC_TRACE_EVENT_FILTER___192 = 182,
    _SC_TRACE_INHERIT___192 = 183,
    _SC_TRACE_LOG___192 = 184,
    _SC_LEVEL1_ICACHE_SIZE___192 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___192 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___192 = 187,
    _SC_LEVEL1_DCACHE_SIZE___192 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___192 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___192 = 190,
    _SC_LEVEL2_CACHE_SIZE___192 = 191,
    _SC_LEVEL2_CACHE_ASSOC___192 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___192 = 193,
    _SC_LEVEL3_CACHE_SIZE___192 = 194,
    _SC_LEVEL3_CACHE_ASSOC___192 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___192 = 196,
    _SC_LEVEL4_CACHE_SIZE___192 = 197,
    _SC_LEVEL4_CACHE_ASSOC___192 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___192 = 199,
    _SC_IPV6___192 = 235,
    _SC_RAW_SOCKETS___192 = 236,
    _SC_V7_ILP32_OFF32___192 = 237,
    _SC_V7_ILP32_OFFBIG___192 = 238,
    _SC_V7_LP64_OFF64___192 = 239,
    _SC_V7_LPBIG_OFFBIG___192 = 240,
    _SC_SS_REPL_MAX___192 = 241,
    _SC_TRACE_EVENT_NAME_MAX___192 = 242,
    _SC_TRACE_NAME_MAX___192 = 243,
    _SC_TRACE_SYS_MAX___192 = 244,
    _SC_TRACE_USER_EVENT_MAX___192 = 245,
    _SC_XOPEN_STREAMS___192 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___192 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___192 = 248
} ;
enum __anonenum_875524036___192 {
    _CS_PATH___192 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___192 = 1,
    _CS_GNU_LIBC_VERSION___192 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___192 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___192 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___192 = 5,
    _CS_LFS_CFLAGS___192 = 1000,
    _CS_LFS_LDFLAGS___192 = 1001,
    _CS_LFS_LIBS___192 = 1002,
    _CS_LFS_LINTFLAGS___192 = 1003,
    _CS_LFS64_CFLAGS___192 = 1004,
    _CS_LFS64_LDFLAGS___192 = 1005,
    _CS_LFS64_LIBS___192 = 1006,
    _CS_LFS64_LINTFLAGS___192 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___192 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___192 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___192 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___192 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___192 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___192 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___192 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___192 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___192 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___192 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___192 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___192 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___192 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___192 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___192 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___192 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___192 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___192 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___192 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___192 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___192 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___192 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___192 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___192 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___192 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___192 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___192 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___192 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___192 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___192 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___192 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___192 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___192 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___192 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___192 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___192 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___192 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___192 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___192 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___192 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___192 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___192 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___192 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___192 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___192 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___192 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___192 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___192 = 1147,
    _CS_V6_ENV___192 = 1148,
    _CS_V7_ENV___192 = 1149
} ;
enum __anonenum_513775621___192 {
    DT_UNKNOWN___192 = 0,
    DT_FIFO___192 = 1,
    DT_CHR___192 = 2,
    DT_DIR___192 = 4,
    DT_BLK___192 = 6,
    DT_REG___192 = 8,
    DT_LNK___192 = 10,
    DT_SOCK___192 = 12,
    DT_WHT___192 = 14
} ;
enum __anonenum_77002343___192 {
    SI_ASYNCNL___192 = -60,
    SI_TKILL___192 = -6,
    SI_SIGIO___192 = -5,
    SI_ASYNCIO___192 = -4,
    SI_MESGQ___192 = -3,
    SI_TIMER___192 = -2,
    SI_QUEUE___192 = -1,
    SI_USER___192 = 0,
    SI_KERNEL___192 = 128
} ;
enum __anonenum_131038172___192 {
    ILL_ILLOPC___192 = 1,
    ILL_ILLOPN___192 = 2,
    ILL_ILLADR___192 = 3,
    ILL_ILLTRP___192 = 4,
    ILL_PRVOPC___192 = 5,
    ILL_PRVREG___192 = 6,
    ILL_COPROC___192 = 7,
    ILL_BADSTK___192 = 8
} ;
enum __anonenum_452038093___192 {
    FPE_INTDIV___192 = 1,
    FPE_INTOVF___192 = 2,
    FPE_FLTDIV___192 = 3,
    FPE_FLTOVF___192 = 4,
    FPE_FLTUND___192 = 5,
    FPE_FLTRES___192 = 6,
    FPE_FLTINV___192 = 7,
    FPE_FLTSUB___192 = 8
} ;
enum __anonenum_30976155___192 {
    SEGV_MAPERR___192 = 1,
    SEGV_ACCERR___192 = 2,
    SEGV_BNDERR___192 = 3,
    SEGV_PKUERR___192 = 4
} ;
enum __anonenum_1036286214___192 {
    BUS_ADRALN___192 = 1,
    BUS_ADRERR___192 = 2,
    BUS_OBJERR___192 = 3,
    BUS_MCEERR_AR___192 = 4,
    BUS_MCEERR_AO___192 = 5
} ;
enum __anonenum_493465559___192 {
    TRAP_BRKPT___192 = 1,
    TRAP_TRACE___192 = 2
} ;
enum __anonenum_23175539___192 {
    CLD_EXITED___192 = 1,
    CLD_KILLED___192 = 2,
    CLD_DUMPED___192 = 3,
    CLD_TRAPPED___192 = 4,
    CLD_STOPPED___192 = 5,
    CLD_CONTINUED___192 = 6
} ;
enum __anonenum_111643124___192 {
    POLL_IN___192 = 1,
    POLL_OUT___192 = 2,
    POLL_MSG___192 = 3,
    POLL_ERR___192 = 4,
    POLL_PRI___192 = 5,
    POLL_HUP___192 = 6
} ;
enum __anonenum_852341087___192 {
    SIGEV_SIGNAL___192 = 0,
    SIGEV_NONE___192 = 1,
    SIGEV_THREAD___192 = 2,
    SIGEV_THREAD_ID___192 = 4
} ;
enum __anonenum_451154152___192 {
    REG_R8___192 = 0,
    REG_R9___192 = 1,
    REG_R10___192 = 2,
    REG_R11___192 = 3,
    REG_R12___192 = 4,
    REG_R13___192 = 5,
    REG_R14___192 = 6,
    REG_R15___192 = 7,
    REG_RDI___192 = 8,
    REG_RSI___192 = 9,
    REG_RBP___192 = 10,
    REG_RBX___192 = 11,
    REG_RDX___192 = 12,
    REG_RAX___192 = 13,
    REG_RCX___192 = 14,
    REG_RSP___192 = 15,
    REG_RIP___192 = 16,
    REG_EFL___192 = 17,
    REG_CSGSFS___192 = 18,
    REG_ERR___192 = 19,
    REG_TRAPNO___192 = 20,
    REG_OLDMASK___192 = 21,
    REG_CR2___192 = 22
} ;
enum __anonenum_57186863___192 {
    SS_ONSTACK___192 = 1,
    SS_DISABLE___192 = 2
} ;
enum __anonenum_83571709___192 {
    MSG_OOB___192 = 1,
    MSG_PEEK___192 = 2,
    MSG_DONTROUTE___192 = 4,
    MSG_TRYHARD___192 = 4,
    MSG_CTRUNC___192 = 8,
    MSG_PROXY___192 = 16,
    MSG_TRUNC___192 = 32,
    MSG_DONTWAIT___192 = 64,
    MSG_EOR___192 = 128,
    MSG_WAITALL___192 = 256,
    MSG_FIN___192 = 512,
    MSG_SYN___192 = 1024,
    MSG_CONFIRM___192 = 2048,
    MSG_RST___192 = 4096,
    MSG_ERRQUEUE___192 = 8192,
    MSG_NOSIGNAL___192 = 16384,
    MSG_MORE___192 = 32768,
    MSG_WAITFORONE___192 = 65536,
    MSG_BATCH___192 = 262144,
    MSG_ZEROCOPY___192 = 67108864,
    MSG_FASTOPEN___192 = 536870912,
    MSG_CMSG_CLOEXEC___192 = 1073741824
} ;
enum __anonenum_617082774___192 {
    SCM_RIGHTS___192 = 1,
    SCM_CREDENTIALS___192 = 2
} ;
enum __anonenum_606441560___192 {
    SHUT_RD___192 = 0,
    SHUT_WR___192 = 1,
    SHUT_RDWR___192 = 2
} ;
enum __anonenum_681669233___192 {
    IPPROTO_IP___192 = 0,
    IPPROTO_ICMP___192 = 1,
    IPPROTO_IGMP___192 = 2,
    IPPROTO_IPIP___192 = 4,
    IPPROTO_TCP___192 = 6,
    IPPROTO_EGP___192 = 8,
    IPPROTO_PUP___192 = 12,
    IPPROTO_UDP___192 = 17,
    IPPROTO_IDP___192 = 22,
    IPPROTO_TP___192 = 29,
    IPPROTO_DCCP___192 = 33,
    IPPROTO_IPV6___192 = 41,
    IPPROTO_RSVP___192 = 46,
    IPPROTO_GRE___192 = 47,
    IPPROTO_ESP___192 = 50,
    IPPROTO_AH___192 = 51,
    IPPROTO_MTP___192 = 92,
    IPPROTO_BEETPH___192 = 94,
    IPPROTO_ENCAP___192 = 98,
    IPPROTO_PIM___192 = 103,
    IPPROTO_COMP___192 = 108,
    IPPROTO_SCTP___192 = 132,
    IPPROTO_UDPLITE___192 = 136,
    IPPROTO_MPLS___192 = 137,
    IPPROTO_RAW___192 = 255,
    IPPROTO_MAX___192 = 256
} ;
enum __anonenum_218739988___192 {
    IPPROTO_HOPOPTS___192 = 0,
    IPPROTO_ROUTING___192 = 43,
    IPPROTO_FRAGMENT___192 = 44,
    IPPROTO_ICMPV6___192 = 58,
    IPPROTO_NONE___192 = 59,
    IPPROTO_DSTOPTS___192 = 60,
    IPPROTO_MH___192 = 135
} ;
enum __anonenum_662268580___192 {
    IPPORT_ECHO___192 = 7,
    IPPORT_DISCARD___192 = 9,
    IPPORT_SYSTAT___192 = 11,
    IPPORT_DAYTIME___192 = 13,
    IPPORT_NETSTAT___192 = 15,
    IPPORT_FTP___192 = 21,
    IPPORT_TELNET___192 = 23,
    IPPORT_SMTP___192 = 25,
    IPPORT_TIMESERVER___192 = 37,
    IPPORT_NAMESERVER___192 = 42,
    IPPORT_WHOIS___192 = 43,
    IPPORT_MTP___192 = 57,
    IPPORT_TFTP___192 = 69,
    IPPORT_RJE___192 = 77,
    IPPORT_FINGER___192 = 79,
    IPPORT_TTYLINK___192 = 87,
    IPPORT_SUPDUP___192 = 95,
    IPPORT_EXECSERVER___192 = 512,
    IPPORT_LOGINSERVER___192 = 513,
    IPPORT_CMDSERVER___192 = 514,
    IPPORT_EFSSERVER___192 = 520,
    IPPORT_BIFFUDP___192 = 512,
    IPPORT_WHOSERVER___192 = 513,
    IPPORT_ROUTESERVER___192 = 520,
    IPPORT_RESERVED___192 = 1024,
    IPPORT_USERRESERVED___192 = 5000
} ;
enum __anonenum_788308992___192 {
    TCP_ESTABLISHED___192 = 1,
    TCP_SYN_SENT___192 = 2,
    TCP_SYN_RECV___192 = 3,
    TCP_FIN_WAIT1___192 = 4,
    TCP_FIN_WAIT2___192 = 5,
    TCP_TIME_WAIT___192 = 6,
    TCP_CLOSE___192 = 7,
    TCP_CLOSE_WAIT___192 = 8,
    TCP_LAST_ACK___192 = 9,
    TCP_LISTEN___192 = 10,
    TCP_CLOSING___192 = 11
} ;
enum __anonenum_221125648___192 {
    TCP_NO_QUEUE___192 = 0,
    TCP_RECV_QUEUE___192 = 1,
    TCP_SEND_QUEUE___192 = 2,
    TCP_QUEUES_NR___192 = 3
} ;
enum __anonenum_34415463___192 {
    PTHREAD_CREATE_JOINABLE___192 = 0,
    PTHREAD_CREATE_DETACHED___192 = 1
} ;
enum __anonenum_303612439___192 {
    PTHREAD_MUTEX_TIMED_NP___192 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___192 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___192 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___192 = 3,
    PTHREAD_MUTEX_NORMAL___192 = 0,
    PTHREAD_MUTEX_RECURSIVE___192 = 1,
    PTHREAD_MUTEX_ERRORCHECK___192 = 2,
    PTHREAD_MUTEX_DEFAULT___192 = 0,
    PTHREAD_MUTEX_FAST_NP___192 = 0
} ;
enum __anonenum_931900394___192 {
    PTHREAD_MUTEX_STALLED___192 = 0,
    PTHREAD_MUTEX_STALLED_NP___192 = 0,
    PTHREAD_MUTEX_ROBUST___192 = 1,
    PTHREAD_MUTEX_ROBUST_NP___192 = 1
} ;
enum __anonenum_205214487___192 {
    PTHREAD_PRIO_NONE___192 = 0,
    PTHREAD_PRIO_INHERIT___192 = 1,
    PTHREAD_PRIO_PROTECT___192 = 2
} ;
enum __anonenum_25043950___192 {
    PTHREAD_RWLOCK_PREFER_READER_NP___192 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___192 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___192 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___192 = 0
} ;
enum __anonenum_436439511___192 {
    PTHREAD_INHERIT_SCHED___192 = 0,
    PTHREAD_EXPLICIT_SCHED___192 = 1
} ;
enum __anonenum_998661166___192 {
    PTHREAD_SCOPE_SYSTEM___192 = 0,
    PTHREAD_SCOPE_PROCESS___192 = 1
} ;
enum __anonenum_146137331___192 {
    PTHREAD_PROCESS_PRIVATE___192 = 0,
    PTHREAD_PROCESS_SHARED___192 = 1
} ;
enum __anonenum_53396917___192 {
    PTHREAD_CANCEL_ENABLE___192 = 0,
    PTHREAD_CANCEL_DISABLE___192 = 1
} ;
enum __anonenum_904563783___192 {
    PTHREAD_CANCEL_DEFERRED___192 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___192 = 1
} ;
enum __anonenum_672052974___192 {
    SSL_CT_VALIDATION_PERMISSIVE___192 = 0,
    SSL_CT_VALIDATION_STRICT___192 = 1
} ;
enum __anonenum_437032235___193 {
    _PC_LINK_MAX___193 = 0,
    _PC_MAX_CANON___193 = 1,
    _PC_MAX_INPUT___193 = 2,
    _PC_NAME_MAX___193 = 3,
    _PC_PATH_MAX___193 = 4,
    _PC_PIPE_BUF___193 = 5,
    _PC_CHOWN_RESTRICTED___193 = 6,
    _PC_NO_TRUNC___193 = 7,
    _PC_VDISABLE___193 = 8,
    _PC_SYNC_IO___193 = 9,
    _PC_ASYNC_IO___193 = 10,
    _PC_PRIO_IO___193 = 11,
    _PC_SOCK_MAXBUF___193 = 12,
    _PC_FILESIZEBITS___193 = 13,
    _PC_REC_INCR_XFER_SIZE___193 = 14,
    _PC_REC_MAX_XFER_SIZE___193 = 15,
    _PC_REC_MIN_XFER_SIZE___193 = 16,
    _PC_REC_XFER_ALIGN___193 = 17,
    _PC_ALLOC_SIZE_MIN___193 = 18,
    _PC_SYMLINK_MAX___193 = 19,
    _PC_2_SYMLINKS___193 = 20
} ;
enum __anonenum_315186338___193 {
    _SC_ARG_MAX___193 = 0,
    _SC_CHILD_MAX___193 = 1,
    _SC_CLK_TCK___193 = 2,
    _SC_NGROUPS_MAX___193 = 3,
    _SC_OPEN_MAX___193 = 4,
    _SC_STREAM_MAX___193 = 5,
    _SC_TZNAME_MAX___193 = 6,
    _SC_JOB_CONTROL___193 = 7,
    _SC_SAVED_IDS___193 = 8,
    _SC_REALTIME_SIGNALS___193 = 9,
    _SC_PRIORITY_SCHEDULING___193 = 10,
    _SC_TIMERS___193 = 11,
    _SC_ASYNCHRONOUS_IO___193 = 12,
    _SC_PRIORITIZED_IO___193 = 13,
    _SC_SYNCHRONIZED_IO___193 = 14,
    _SC_FSYNC___193 = 15,
    _SC_MAPPED_FILES___193 = 16,
    _SC_MEMLOCK___193 = 17,
    _SC_MEMLOCK_RANGE___193 = 18,
    _SC_MEMORY_PROTECTION___193 = 19,
    _SC_MESSAGE_PASSING___193 = 20,
    _SC_SEMAPHORES___193 = 21,
    _SC_SHARED_MEMORY_OBJECTS___193 = 22,
    _SC_AIO_LISTIO_MAX___193 = 23,
    _SC_AIO_MAX___193 = 24,
    _SC_AIO_PRIO_DELTA_MAX___193 = 25,
    _SC_DELAYTIMER_MAX___193 = 26,
    _SC_MQ_OPEN_MAX___193 = 27,
    _SC_MQ_PRIO_MAX___193 = 28,
    _SC_VERSION___193 = 29,
    _SC_PAGESIZE___193 = 30,
    _SC_RTSIG_MAX___193 = 31,
    _SC_SEM_NSEMS_MAX___193 = 32,
    _SC_SEM_VALUE_MAX___193 = 33,
    _SC_SIGQUEUE_MAX___193 = 34,
    _SC_TIMER_MAX___193 = 35,
    _SC_BC_BASE_MAX___193 = 36,
    _SC_BC_DIM_MAX___193 = 37,
    _SC_BC_SCALE_MAX___193 = 38,
    _SC_BC_STRING_MAX___193 = 39,
    _SC_COLL_WEIGHTS_MAX___193 = 40,
    _SC_EQUIV_CLASS_MAX___193 = 41,
    _SC_EXPR_NEST_MAX___193 = 42,
    _SC_LINE_MAX___193 = 43,
    _SC_RE_DUP_MAX___193 = 44,
    _SC_CHARCLASS_NAME_MAX___193 = 45,
    _SC_2_VERSION___193 = 46,
    _SC_2_C_BIND___193 = 47,
    _SC_2_C_DEV___193 = 48,
    _SC_2_FORT_DEV___193 = 49,
    _SC_2_FORT_RUN___193 = 50,
    _SC_2_SW_DEV___193 = 51,
    _SC_2_LOCALEDEF___193 = 52,
    _SC_PII___193 = 53,
    _SC_PII_XTI___193 = 54,
    _SC_PII_SOCKET___193 = 55,
    _SC_PII_INTERNET___193 = 56,
    _SC_PII_OSI___193 = 57,
    _SC_POLL___193 = 58,
    _SC_SELECT___193 = 59,
    _SC_UIO_MAXIOV___193 = 60,
    _SC_IOV_MAX___193 = 60,
    _SC_PII_INTERNET_STREAM___193 = 61,
    _SC_PII_INTERNET_DGRAM___193 = 62,
    _SC_PII_OSI_COTS___193 = 63,
    _SC_PII_OSI_CLTS___193 = 64,
    _SC_PII_OSI_M___193 = 65,
    _SC_T_IOV_MAX___193 = 66,
    _SC_THREADS___193 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___193 = 68,
    _SC_GETGR_R_SIZE_MAX___193 = 69,
    _SC_GETPW_R_SIZE_MAX___193 = 70,
    _SC_LOGIN_NAME_MAX___193 = 71,
    _SC_TTY_NAME_MAX___193 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___193 = 73,
    _SC_THREAD_KEYS_MAX___193 = 74,
    _SC_THREAD_STACK_MIN___193 = 75,
    _SC_THREAD_THREADS_MAX___193 = 76,
    _SC_THREAD_ATTR_STACKADDR___193 = 77,
    _SC_THREAD_ATTR_STACKSIZE___193 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___193 = 79,
    _SC_THREAD_PRIO_INHERIT___193 = 80,
    _SC_THREAD_PRIO_PROTECT___193 = 81,
    _SC_THREAD_PROCESS_SHARED___193 = 82,
    _SC_NPROCESSORS_CONF___193 = 83,
    _SC_NPROCESSORS_ONLN___193 = 84,
    _SC_PHYS_PAGES___193 = 85,
    _SC_AVPHYS_PAGES___193 = 86,
    _SC_ATEXIT_MAX___193 = 87,
    _SC_PASS_MAX___193 = 88,
    _SC_XOPEN_VERSION___193 = 89,
    _SC_XOPEN_XCU_VERSION___193 = 90,
    _SC_XOPEN_UNIX___193 = 91,
    _SC_XOPEN_CRYPT___193 = 92,
    _SC_XOPEN_ENH_I18N___193 = 93,
    _SC_XOPEN_SHM___193 = 94,
    _SC_2_CHAR_TERM___193 = 95,
    _SC_2_C_VERSION___193 = 96,
    _SC_2_UPE___193 = 97,
    _SC_XOPEN_XPG2___193 = 98,
    _SC_XOPEN_XPG3___193 = 99,
    _SC_XOPEN_XPG4___193 = 100,
    _SC_CHAR_BIT___193 = 101,
    _SC_CHAR_MAX___193 = 102,
    _SC_CHAR_MIN___193 = 103,
    _SC_INT_MAX___193 = 104,
    _SC_INT_MIN___193 = 105,
    _SC_LONG_BIT___193 = 106,
    _SC_WORD_BIT___193 = 107,
    _SC_MB_LEN_MAX___193 = 108,
    _SC_NZERO___193 = 109,
    _SC_SSIZE_MAX___193 = 110,
    _SC_SCHAR_MAX___193 = 111,
    _SC_SCHAR_MIN___193 = 112,
    _SC_SHRT_MAX___193 = 113,
    _SC_SHRT_MIN___193 = 114,
    _SC_UCHAR_MAX___193 = 115,
    _SC_UINT_MAX___193 = 116,
    _SC_ULONG_MAX___193 = 117,
    _SC_USHRT_MAX___193 = 118,
    _SC_NL_ARGMAX___193 = 119,
    _SC_NL_LANGMAX___193 = 120,
    _SC_NL_MSGMAX___193 = 121,
    _SC_NL_NMAX___193 = 122,
    _SC_NL_SETMAX___193 = 123,
    _SC_NL_TEXTMAX___193 = 124,
    _SC_XBS5_ILP32_OFF32___193 = 125,
    _SC_XBS5_ILP32_OFFBIG___193 = 126,
    _SC_XBS5_LP64_OFF64___193 = 127,
    _SC_XBS5_LPBIG_OFFBIG___193 = 128,
    _SC_XOPEN_LEGACY___193 = 129,
    _SC_XOPEN_REALTIME___193 = 130,
    _SC_XOPEN_REALTIME_THREADS___193 = 131,
    _SC_ADVISORY_INFO___193 = 132,
    _SC_BARRIERS___193 = 133,
    _SC_BASE___193 = 134,
    _SC_C_LANG_SUPPORT___193 = 135,
    _SC_C_LANG_SUPPORT_R___193 = 136,
    _SC_CLOCK_SELECTION___193 = 137,
    _SC_CPUTIME___193 = 138,
    _SC_THREAD_CPUTIME___193 = 139,
    _SC_DEVICE_IO___193 = 140,
    _SC_DEVICE_SPECIFIC___193 = 141,
    _SC_DEVICE_SPECIFIC_R___193 = 142,
    _SC_FD_MGMT___193 = 143,
    _SC_FIFO___193 = 144,
    _SC_PIPE___193 = 145,
    _SC_FILE_ATTRIBUTES___193 = 146,
    _SC_FILE_LOCKING___193 = 147,
    _SC_FILE_SYSTEM___193 = 148,
    _SC_MONOTONIC_CLOCK___193 = 149,
    _SC_MULTI_PROCESS___193 = 150,
    _SC_SINGLE_PROCESS___193 = 151,
    _SC_NETWORKING___193 = 152,
    _SC_READER_WRITER_LOCKS___193 = 153,
    _SC_SPIN_LOCKS___193 = 154,
    _SC_REGEXP___193 = 155,
    _SC_REGEX_VERSION___193 = 156,
    _SC_SHELL___193 = 157,
    _SC_SIGNALS___193 = 158,
    _SC_SPAWN___193 = 159,
    _SC_SPORADIC_SERVER___193 = 160,
    _SC_THREAD_SPORADIC_SERVER___193 = 161,
    _SC_SYSTEM_DATABASE___193 = 162,
    _SC_SYSTEM_DATABASE_R___193 = 163,
    _SC_TIMEOUTS___193 = 164,
    _SC_TYPED_MEMORY_OBJECTS___193 = 165,
    _SC_USER_GROUPS___193 = 166,
    _SC_USER_GROUPS_R___193 = 167,
    _SC_2_PBS___193 = 168,
    _SC_2_PBS_ACCOUNTING___193 = 169,
    _SC_2_PBS_LOCATE___193 = 170,
    _SC_2_PBS_MESSAGE___193 = 171,
    _SC_2_PBS_TRACK___193 = 172,
    _SC_SYMLOOP_MAX___193 = 173,
    _SC_STREAMS___193 = 174,
    _SC_2_PBS_CHECKPOINT___193 = 175,
    _SC_V6_ILP32_OFF32___193 = 176,
    _SC_V6_ILP32_OFFBIG___193 = 177,
    _SC_V6_LP64_OFF64___193 = 178,
    _SC_V6_LPBIG_OFFBIG___193 = 179,
    _SC_HOST_NAME_MAX___193 = 180,
    _SC_TRACE___193 = 181,
    _SC_TRACE_EVENT_FILTER___193 = 182,
    _SC_TRACE_INHERIT___193 = 183,
    _SC_TRACE_LOG___193 = 184,
    _SC_LEVEL1_ICACHE_SIZE___193 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___193 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___193 = 187,
    _SC_LEVEL1_DCACHE_SIZE___193 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___193 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___193 = 190,
    _SC_LEVEL2_CACHE_SIZE___193 = 191,
    _SC_LEVEL2_CACHE_ASSOC___193 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___193 = 193,
    _SC_LEVEL3_CACHE_SIZE___193 = 194,
    _SC_LEVEL3_CACHE_ASSOC___193 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___193 = 196,
    _SC_LEVEL4_CACHE_SIZE___193 = 197,
    _SC_LEVEL4_CACHE_ASSOC___193 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___193 = 199,
    _SC_IPV6___193 = 235,
    _SC_RAW_SOCKETS___193 = 236,
    _SC_V7_ILP32_OFF32___193 = 237,
    _SC_V7_ILP32_OFFBIG___193 = 238,
    _SC_V7_LP64_OFF64___193 = 239,
    _SC_V7_LPBIG_OFFBIG___193 = 240,
    _SC_SS_REPL_MAX___193 = 241,
    _SC_TRACE_EVENT_NAME_MAX___193 = 242,
    _SC_TRACE_NAME_MAX___193 = 243,
    _SC_TRACE_SYS_MAX___193 = 244,
    _SC_TRACE_USER_EVENT_MAX___193 = 245,
    _SC_XOPEN_STREAMS___193 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___193 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___193 = 248
} ;
enum __anonenum_875524036___193 {
    _CS_PATH___193 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___193 = 1,
    _CS_GNU_LIBC_VERSION___193 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___193 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___193 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___193 = 5,
    _CS_LFS_CFLAGS___193 = 1000,
    _CS_LFS_LDFLAGS___193 = 1001,
    _CS_LFS_LIBS___193 = 1002,
    _CS_LFS_LINTFLAGS___193 = 1003,
    _CS_LFS64_CFLAGS___193 = 1004,
    _CS_LFS64_LDFLAGS___193 = 1005,
    _CS_LFS64_LIBS___193 = 1006,
    _CS_LFS64_LINTFLAGS___193 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___193 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___193 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___193 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___193 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___193 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___193 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___193 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___193 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___193 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___193 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___193 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___193 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___193 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___193 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___193 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___193 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___193 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___193 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___193 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___193 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___193 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___193 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___193 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___193 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___193 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___193 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___193 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___193 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___193 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___193 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___193 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___193 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___193 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___193 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___193 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___193 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___193 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___193 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___193 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___193 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___193 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___193 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___193 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___193 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___193 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___193 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___193 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___193 = 1147,
    _CS_V6_ENV___193 = 1148,
    _CS_V7_ENV___193 = 1149
} ;
enum __anonenum_513775621___193 {
    DT_UNKNOWN___193 = 0,
    DT_FIFO___193 = 1,
    DT_CHR___193 = 2,
    DT_DIR___193 = 4,
    DT_BLK___193 = 6,
    DT_REG___193 = 8,
    DT_LNK___193 = 10,
    DT_SOCK___193 = 12,
    DT_WHT___193 = 14
} ;
enum __anonenum_77002343___193 {
    SI_ASYNCNL___193 = -60,
    SI_TKILL___193 = -6,
    SI_SIGIO___193 = -5,
    SI_ASYNCIO___193 = -4,
    SI_MESGQ___193 = -3,
    SI_TIMER___193 = -2,
    SI_QUEUE___193 = -1,
    SI_USER___193 = 0,
    SI_KERNEL___193 = 128
} ;
enum __anonenum_131038172___193 {
    ILL_ILLOPC___193 = 1,
    ILL_ILLOPN___193 = 2,
    ILL_ILLADR___193 = 3,
    ILL_ILLTRP___193 = 4,
    ILL_PRVOPC___193 = 5,
    ILL_PRVREG___193 = 6,
    ILL_COPROC___193 = 7,
    ILL_BADSTK___193 = 8
} ;
enum __anonenum_452038093___193 {
    FPE_INTDIV___193 = 1,
    FPE_INTOVF___193 = 2,
    FPE_FLTDIV___193 = 3,
    FPE_FLTOVF___193 = 4,
    FPE_FLTUND___193 = 5,
    FPE_FLTRES___193 = 6,
    FPE_FLTINV___193 = 7,
    FPE_FLTSUB___193 = 8
} ;
enum __anonenum_30976155___193 {
    SEGV_MAPERR___193 = 1,
    SEGV_ACCERR___193 = 2,
    SEGV_BNDERR___193 = 3,
    SEGV_PKUERR___193 = 4
} ;
enum __anonenum_1036286214___193 {
    BUS_ADRALN___193 = 1,
    BUS_ADRERR___193 = 2,
    BUS_OBJERR___193 = 3,
    BUS_MCEERR_AR___193 = 4,
    BUS_MCEERR_AO___193 = 5
} ;
enum __anonenum_493465559___193 {
    TRAP_BRKPT___193 = 1,
    TRAP_TRACE___193 = 2
} ;
enum __anonenum_23175539___193 {
    CLD_EXITED___193 = 1,
    CLD_KILLED___193 = 2,
    CLD_DUMPED___193 = 3,
    CLD_TRAPPED___193 = 4,
    CLD_STOPPED___193 = 5,
    CLD_CONTINUED___193 = 6
} ;
enum __anonenum_111643124___193 {
    POLL_IN___193 = 1,
    POLL_OUT___193 = 2,
    POLL_MSG___193 = 3,
    POLL_ERR___193 = 4,
    POLL_PRI___193 = 5,
    POLL_HUP___193 = 6
} ;
enum __anonenum_852341087___193 {
    SIGEV_SIGNAL___193 = 0,
    SIGEV_NONE___193 = 1,
    SIGEV_THREAD___193 = 2,
    SIGEV_THREAD_ID___193 = 4
} ;
enum __anonenum_451154152___193 {
    REG_R8___193 = 0,
    REG_R9___193 = 1,
    REG_R10___193 = 2,
    REG_R11___193 = 3,
    REG_R12___193 = 4,
    REG_R13___193 = 5,
    REG_R14___193 = 6,
    REG_R15___193 = 7,
    REG_RDI___193 = 8,
    REG_RSI___193 = 9,
    REG_RBP___193 = 10,
    REG_RBX___193 = 11,
    REG_RDX___193 = 12,
    REG_RAX___193 = 13,
    REG_RCX___193 = 14,
    REG_RSP___193 = 15,
    REG_RIP___193 = 16,
    REG_EFL___193 = 17,
    REG_CSGSFS___193 = 18,
    REG_ERR___193 = 19,
    REG_TRAPNO___193 = 20,
    REG_OLDMASK___193 = 21,
    REG_CR2___193 = 22
} ;
enum __anonenum_57186863___193 {
    SS_ONSTACK___193 = 1,
    SS_DISABLE___193 = 2
} ;
enum __anonenum_83571709___193 {
    MSG_OOB___193 = 1,
    MSG_PEEK___193 = 2,
    MSG_DONTROUTE___193 = 4,
    MSG_TRYHARD___193 = 4,
    MSG_CTRUNC___193 = 8,
    MSG_PROXY___193 = 16,
    MSG_TRUNC___193 = 32,
    MSG_DONTWAIT___193 = 64,
    MSG_EOR___193 = 128,
    MSG_WAITALL___193 = 256,
    MSG_FIN___193 = 512,
    MSG_SYN___193 = 1024,
    MSG_CONFIRM___193 = 2048,
    MSG_RST___193 = 4096,
    MSG_ERRQUEUE___193 = 8192,
    MSG_NOSIGNAL___193 = 16384,
    MSG_MORE___193 = 32768,
    MSG_WAITFORONE___193 = 65536,
    MSG_BATCH___193 = 262144,
    MSG_ZEROCOPY___193 = 67108864,
    MSG_FASTOPEN___193 = 536870912,
    MSG_CMSG_CLOEXEC___193 = 1073741824
} ;
enum __anonenum_617082774___193 {
    SCM_RIGHTS___193 = 1,
    SCM_CREDENTIALS___193 = 2
} ;
enum __anonenum_606441560___193 {
    SHUT_RD___193 = 0,
    SHUT_WR___193 = 1,
    SHUT_RDWR___193 = 2
} ;
enum __anonenum_681669233___193 {
    IPPROTO_IP___193 = 0,
    IPPROTO_ICMP___193 = 1,
    IPPROTO_IGMP___193 = 2,
    IPPROTO_IPIP___193 = 4,
    IPPROTO_TCP___193 = 6,
    IPPROTO_EGP___193 = 8,
    IPPROTO_PUP___193 = 12,
    IPPROTO_UDP___193 = 17,
    IPPROTO_IDP___193 = 22,
    IPPROTO_TP___193 = 29,
    IPPROTO_DCCP___193 = 33,
    IPPROTO_IPV6___193 = 41,
    IPPROTO_RSVP___193 = 46,
    IPPROTO_GRE___193 = 47,
    IPPROTO_ESP___193 = 50,
    IPPROTO_AH___193 = 51,
    IPPROTO_MTP___193 = 92,
    IPPROTO_BEETPH___193 = 94,
    IPPROTO_ENCAP___193 = 98,
    IPPROTO_PIM___193 = 103,
    IPPROTO_COMP___193 = 108,
    IPPROTO_SCTP___193 = 132,
    IPPROTO_UDPLITE___193 = 136,
    IPPROTO_MPLS___193 = 137,
    IPPROTO_RAW___193 = 255,
    IPPROTO_MAX___193 = 256
} ;
enum __anonenum_218739988___193 {
    IPPROTO_HOPOPTS___193 = 0,
    IPPROTO_ROUTING___193 = 43,
    IPPROTO_FRAGMENT___193 = 44,
    IPPROTO_ICMPV6___193 = 58,
    IPPROTO_NONE___193 = 59,
    IPPROTO_DSTOPTS___193 = 60,
    IPPROTO_MH___193 = 135
} ;
enum __anonenum_662268580___193 {
    IPPORT_ECHO___193 = 7,
    IPPORT_DISCARD___193 = 9,
    IPPORT_SYSTAT___193 = 11,
    IPPORT_DAYTIME___193 = 13,
    IPPORT_NETSTAT___193 = 15,
    IPPORT_FTP___193 = 21,
    IPPORT_TELNET___193 = 23,
    IPPORT_SMTP___193 = 25,
    IPPORT_TIMESERVER___193 = 37,
    IPPORT_NAMESERVER___193 = 42,
    IPPORT_WHOIS___193 = 43,
    IPPORT_MTP___193 = 57,
    IPPORT_TFTP___193 = 69,
    IPPORT_RJE___193 = 77,
    IPPORT_FINGER___193 = 79,
    IPPORT_TTYLINK___193 = 87,
    IPPORT_SUPDUP___193 = 95,
    IPPORT_EXECSERVER___193 = 512,
    IPPORT_LOGINSERVER___193 = 513,
    IPPORT_CMDSERVER___193 = 514,
    IPPORT_EFSSERVER___193 = 520,
    IPPORT_BIFFUDP___193 = 512,
    IPPORT_WHOSERVER___193 = 513,
    IPPORT_ROUTESERVER___193 = 520,
    IPPORT_RESERVED___193 = 1024,
    IPPORT_USERRESERVED___193 = 5000
} ;
enum __anonenum_788308992___193 {
    TCP_ESTABLISHED___193 = 1,
    TCP_SYN_SENT___193 = 2,
    TCP_SYN_RECV___193 = 3,
    TCP_FIN_WAIT1___193 = 4,
    TCP_FIN_WAIT2___193 = 5,
    TCP_TIME_WAIT___193 = 6,
    TCP_CLOSE___193 = 7,
    TCP_CLOSE_WAIT___193 = 8,
    TCP_LAST_ACK___193 = 9,
    TCP_LISTEN___193 = 10,
    TCP_CLOSING___193 = 11
} ;
enum __anonenum_221125648___193 {
    TCP_NO_QUEUE___193 = 0,
    TCP_RECV_QUEUE___193 = 1,
    TCP_SEND_QUEUE___193 = 2,
    TCP_QUEUES_NR___193 = 3
} ;
enum __anonenum_34415463___193 {
    PTHREAD_CREATE_JOINABLE___193 = 0,
    PTHREAD_CREATE_DETACHED___193 = 1
} ;
enum __anonenum_303612439___193 {
    PTHREAD_MUTEX_TIMED_NP___193 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___193 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___193 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___193 = 3,
    PTHREAD_MUTEX_NORMAL___193 = 0,
    PTHREAD_MUTEX_RECURSIVE___193 = 1,
    PTHREAD_MUTEX_ERRORCHECK___193 = 2,
    PTHREAD_MUTEX_DEFAULT___193 = 0,
    PTHREAD_MUTEX_FAST_NP___193 = 0
} ;
enum __anonenum_931900394___193 {
    PTHREAD_MUTEX_STALLED___193 = 0,
    PTHREAD_MUTEX_STALLED_NP___193 = 0,
    PTHREAD_MUTEX_ROBUST___193 = 1,
    PTHREAD_MUTEX_ROBUST_NP___193 = 1
} ;
enum __anonenum_205214487___193 {
    PTHREAD_PRIO_NONE___193 = 0,
    PTHREAD_PRIO_INHERIT___193 = 1,
    PTHREAD_PRIO_PROTECT___193 = 2
} ;
enum __anonenum_25043950___193 {
    PTHREAD_RWLOCK_PREFER_READER_NP___193 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___193 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___193 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___193 = 0
} ;
enum __anonenum_436439511___193 {
    PTHREAD_INHERIT_SCHED___193 = 0,
    PTHREAD_EXPLICIT_SCHED___193 = 1
} ;
enum __anonenum_998661166___193 {
    PTHREAD_SCOPE_SYSTEM___193 = 0,
    PTHREAD_SCOPE_PROCESS___193 = 1
} ;
enum __anonenum_146137331___193 {
    PTHREAD_PROCESS_PRIVATE___193 = 0,
    PTHREAD_PROCESS_SHARED___193 = 1
} ;
enum __anonenum_53396917___193 {
    PTHREAD_CANCEL_ENABLE___193 = 0,
    PTHREAD_CANCEL_DISABLE___193 = 1
} ;
enum __anonenum_904563783___193 {
    PTHREAD_CANCEL_DEFERRED___193 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___193 = 1
} ;
enum __anonenum_672052974___193 {
    SSL_CT_VALIDATION_PERMISSIVE___193 = 0,
    SSL_CT_VALIDATION_STRICT___193 = 1
} ;
enum __anonenum_437032235___194 {
    _PC_LINK_MAX___194 = 0,
    _PC_MAX_CANON___194 = 1,
    _PC_MAX_INPUT___194 = 2,
    _PC_NAME_MAX___194 = 3,
    _PC_PATH_MAX___194 = 4,
    _PC_PIPE_BUF___194 = 5,
    _PC_CHOWN_RESTRICTED___194 = 6,
    _PC_NO_TRUNC___194 = 7,
    _PC_VDISABLE___194 = 8,
    _PC_SYNC_IO___194 = 9,
    _PC_ASYNC_IO___194 = 10,
    _PC_PRIO_IO___194 = 11,
    _PC_SOCK_MAXBUF___194 = 12,
    _PC_FILESIZEBITS___194 = 13,
    _PC_REC_INCR_XFER_SIZE___194 = 14,
    _PC_REC_MAX_XFER_SIZE___194 = 15,
    _PC_REC_MIN_XFER_SIZE___194 = 16,
    _PC_REC_XFER_ALIGN___194 = 17,
    _PC_ALLOC_SIZE_MIN___194 = 18,
    _PC_SYMLINK_MAX___194 = 19,
    _PC_2_SYMLINKS___194 = 20
} ;
enum __anonenum_315186338___194 {
    _SC_ARG_MAX___194 = 0,
    _SC_CHILD_MAX___194 = 1,
    _SC_CLK_TCK___194 = 2,
    _SC_NGROUPS_MAX___194 = 3,
    _SC_OPEN_MAX___194 = 4,
    _SC_STREAM_MAX___194 = 5,
    _SC_TZNAME_MAX___194 = 6,
    _SC_JOB_CONTROL___194 = 7,
    _SC_SAVED_IDS___194 = 8,
    _SC_REALTIME_SIGNALS___194 = 9,
    _SC_PRIORITY_SCHEDULING___194 = 10,
    _SC_TIMERS___194 = 11,
    _SC_ASYNCHRONOUS_IO___194 = 12,
    _SC_PRIORITIZED_IO___194 = 13,
    _SC_SYNCHRONIZED_IO___194 = 14,
    _SC_FSYNC___194 = 15,
    _SC_MAPPED_FILES___194 = 16,
    _SC_MEMLOCK___194 = 17,
    _SC_MEMLOCK_RANGE___194 = 18,
    _SC_MEMORY_PROTECTION___194 = 19,
    _SC_MESSAGE_PASSING___194 = 20,
    _SC_SEMAPHORES___194 = 21,
    _SC_SHARED_MEMORY_OBJECTS___194 = 22,
    _SC_AIO_LISTIO_MAX___194 = 23,
    _SC_AIO_MAX___194 = 24,
    _SC_AIO_PRIO_DELTA_MAX___194 = 25,
    _SC_DELAYTIMER_MAX___194 = 26,
    _SC_MQ_OPEN_MAX___194 = 27,
    _SC_MQ_PRIO_MAX___194 = 28,
    _SC_VERSION___194 = 29,
    _SC_PAGESIZE___194 = 30,
    _SC_RTSIG_MAX___194 = 31,
    _SC_SEM_NSEMS_MAX___194 = 32,
    _SC_SEM_VALUE_MAX___194 = 33,
    _SC_SIGQUEUE_MAX___194 = 34,
    _SC_TIMER_MAX___194 = 35,
    _SC_BC_BASE_MAX___194 = 36,
    _SC_BC_DIM_MAX___194 = 37,
    _SC_BC_SCALE_MAX___194 = 38,
    _SC_BC_STRING_MAX___194 = 39,
    _SC_COLL_WEIGHTS_MAX___194 = 40,
    _SC_EQUIV_CLASS_MAX___194 = 41,
    _SC_EXPR_NEST_MAX___194 = 42,
    _SC_LINE_MAX___194 = 43,
    _SC_RE_DUP_MAX___194 = 44,
    _SC_CHARCLASS_NAME_MAX___194 = 45,
    _SC_2_VERSION___194 = 46,
    _SC_2_C_BIND___194 = 47,
    _SC_2_C_DEV___194 = 48,
    _SC_2_FORT_DEV___194 = 49,
    _SC_2_FORT_RUN___194 = 50,
    _SC_2_SW_DEV___194 = 51,
    _SC_2_LOCALEDEF___194 = 52,
    _SC_PII___194 = 53,
    _SC_PII_XTI___194 = 54,
    _SC_PII_SOCKET___194 = 55,
    _SC_PII_INTERNET___194 = 56,
    _SC_PII_OSI___194 = 57,
    _SC_POLL___194 = 58,
    _SC_SELECT___194 = 59,
    _SC_UIO_MAXIOV___194 = 60,
    _SC_IOV_MAX___194 = 60,
    _SC_PII_INTERNET_STREAM___194 = 61,
    _SC_PII_INTERNET_DGRAM___194 = 62,
    _SC_PII_OSI_COTS___194 = 63,
    _SC_PII_OSI_CLTS___194 = 64,
    _SC_PII_OSI_M___194 = 65,
    _SC_T_IOV_MAX___194 = 66,
    _SC_THREADS___194 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___194 = 68,
    _SC_GETGR_R_SIZE_MAX___194 = 69,
    _SC_GETPW_R_SIZE_MAX___194 = 70,
    _SC_LOGIN_NAME_MAX___194 = 71,
    _SC_TTY_NAME_MAX___194 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___194 = 73,
    _SC_THREAD_KEYS_MAX___194 = 74,
    _SC_THREAD_STACK_MIN___194 = 75,
    _SC_THREAD_THREADS_MAX___194 = 76,
    _SC_THREAD_ATTR_STACKADDR___194 = 77,
    _SC_THREAD_ATTR_STACKSIZE___194 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___194 = 79,
    _SC_THREAD_PRIO_INHERIT___194 = 80,
    _SC_THREAD_PRIO_PROTECT___194 = 81,
    _SC_THREAD_PROCESS_SHARED___194 = 82,
    _SC_NPROCESSORS_CONF___194 = 83,
    _SC_NPROCESSORS_ONLN___194 = 84,
    _SC_PHYS_PAGES___194 = 85,
    _SC_AVPHYS_PAGES___194 = 86,
    _SC_ATEXIT_MAX___194 = 87,
    _SC_PASS_MAX___194 = 88,
    _SC_XOPEN_VERSION___194 = 89,
    _SC_XOPEN_XCU_VERSION___194 = 90,
    _SC_XOPEN_UNIX___194 = 91,
    _SC_XOPEN_CRYPT___194 = 92,
    _SC_XOPEN_ENH_I18N___194 = 93,
    _SC_XOPEN_SHM___194 = 94,
    _SC_2_CHAR_TERM___194 = 95,
    _SC_2_C_VERSION___194 = 96,
    _SC_2_UPE___194 = 97,
    _SC_XOPEN_XPG2___194 = 98,
    _SC_XOPEN_XPG3___194 = 99,
    _SC_XOPEN_XPG4___194 = 100,
    _SC_CHAR_BIT___194 = 101,
    _SC_CHAR_MAX___194 = 102,
    _SC_CHAR_MIN___194 = 103,
    _SC_INT_MAX___194 = 104,
    _SC_INT_MIN___194 = 105,
    _SC_LONG_BIT___194 = 106,
    _SC_WORD_BIT___194 = 107,
    _SC_MB_LEN_MAX___194 = 108,
    _SC_NZERO___194 = 109,
    _SC_SSIZE_MAX___194 = 110,
    _SC_SCHAR_MAX___194 = 111,
    _SC_SCHAR_MIN___194 = 112,
    _SC_SHRT_MAX___194 = 113,
    _SC_SHRT_MIN___194 = 114,
    _SC_UCHAR_MAX___194 = 115,
    _SC_UINT_MAX___194 = 116,
    _SC_ULONG_MAX___194 = 117,
    _SC_USHRT_MAX___194 = 118,
    _SC_NL_ARGMAX___194 = 119,
    _SC_NL_LANGMAX___194 = 120,
    _SC_NL_MSGMAX___194 = 121,
    _SC_NL_NMAX___194 = 122,
    _SC_NL_SETMAX___194 = 123,
    _SC_NL_TEXTMAX___194 = 124,
    _SC_XBS5_ILP32_OFF32___194 = 125,
    _SC_XBS5_ILP32_OFFBIG___194 = 126,
    _SC_XBS5_LP64_OFF64___194 = 127,
    _SC_XBS5_LPBIG_OFFBIG___194 = 128,
    _SC_XOPEN_LEGACY___194 = 129,
    _SC_XOPEN_REALTIME___194 = 130,
    _SC_XOPEN_REALTIME_THREADS___194 = 131,
    _SC_ADVISORY_INFO___194 = 132,
    _SC_BARRIERS___194 = 133,
    _SC_BASE___194 = 134,
    _SC_C_LANG_SUPPORT___194 = 135,
    _SC_C_LANG_SUPPORT_R___194 = 136,
    _SC_CLOCK_SELECTION___194 = 137,
    _SC_CPUTIME___194 = 138,
    _SC_THREAD_CPUTIME___194 = 139,
    _SC_DEVICE_IO___194 = 140,
    _SC_DEVICE_SPECIFIC___194 = 141,
    _SC_DEVICE_SPECIFIC_R___194 = 142,
    _SC_FD_MGMT___194 = 143,
    _SC_FIFO___194 = 144,
    _SC_PIPE___194 = 145,
    _SC_FILE_ATTRIBUTES___194 = 146,
    _SC_FILE_LOCKING___194 = 147,
    _SC_FILE_SYSTEM___194 = 148,
    _SC_MONOTONIC_CLOCK___194 = 149,
    _SC_MULTI_PROCESS___194 = 150,
    _SC_SINGLE_PROCESS___194 = 151,
    _SC_NETWORKING___194 = 152,
    _SC_READER_WRITER_LOCKS___194 = 153,
    _SC_SPIN_LOCKS___194 = 154,
    _SC_REGEXP___194 = 155,
    _SC_REGEX_VERSION___194 = 156,
    _SC_SHELL___194 = 157,
    _SC_SIGNALS___194 = 158,
    _SC_SPAWN___194 = 159,
    _SC_SPORADIC_SERVER___194 = 160,
    _SC_THREAD_SPORADIC_SERVER___194 = 161,
    _SC_SYSTEM_DATABASE___194 = 162,
    _SC_SYSTEM_DATABASE_R___194 = 163,
    _SC_TIMEOUTS___194 = 164,
    _SC_TYPED_MEMORY_OBJECTS___194 = 165,
    _SC_USER_GROUPS___194 = 166,
    _SC_USER_GROUPS_R___194 = 167,
    _SC_2_PBS___194 = 168,
    _SC_2_PBS_ACCOUNTING___194 = 169,
    _SC_2_PBS_LOCATE___194 = 170,
    _SC_2_PBS_MESSAGE___194 = 171,
    _SC_2_PBS_TRACK___194 = 172,
    _SC_SYMLOOP_MAX___194 = 173,
    _SC_STREAMS___194 = 174,
    _SC_2_PBS_CHECKPOINT___194 = 175,
    _SC_V6_ILP32_OFF32___194 = 176,
    _SC_V6_ILP32_OFFBIG___194 = 177,
    _SC_V6_LP64_OFF64___194 = 178,
    _SC_V6_LPBIG_OFFBIG___194 = 179,
    _SC_HOST_NAME_MAX___194 = 180,
    _SC_TRACE___194 = 181,
    _SC_TRACE_EVENT_FILTER___194 = 182,
    _SC_TRACE_INHERIT___194 = 183,
    _SC_TRACE_LOG___194 = 184,
    _SC_LEVEL1_ICACHE_SIZE___194 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___194 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___194 = 187,
    _SC_LEVEL1_DCACHE_SIZE___194 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___194 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___194 = 190,
    _SC_LEVEL2_CACHE_SIZE___194 = 191,
    _SC_LEVEL2_CACHE_ASSOC___194 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___194 = 193,
    _SC_LEVEL3_CACHE_SIZE___194 = 194,
    _SC_LEVEL3_CACHE_ASSOC___194 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___194 = 196,
    _SC_LEVEL4_CACHE_SIZE___194 = 197,
    _SC_LEVEL4_CACHE_ASSOC___194 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___194 = 199,
    _SC_IPV6___194 = 235,
    _SC_RAW_SOCKETS___194 = 236,
    _SC_V7_ILP32_OFF32___194 = 237,
    _SC_V7_ILP32_OFFBIG___194 = 238,
    _SC_V7_LP64_OFF64___194 = 239,
    _SC_V7_LPBIG_OFFBIG___194 = 240,
    _SC_SS_REPL_MAX___194 = 241,
    _SC_TRACE_EVENT_NAME_MAX___194 = 242,
    _SC_TRACE_NAME_MAX___194 = 243,
    _SC_TRACE_SYS_MAX___194 = 244,
    _SC_TRACE_USER_EVENT_MAX___194 = 245,
    _SC_XOPEN_STREAMS___194 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___194 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___194 = 248
} ;
enum __anonenum_875524036___194 {
    _CS_PATH___194 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___194 = 1,
    _CS_GNU_LIBC_VERSION___194 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___194 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___194 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___194 = 5,
    _CS_LFS_CFLAGS___194 = 1000,
    _CS_LFS_LDFLAGS___194 = 1001,
    _CS_LFS_LIBS___194 = 1002,
    _CS_LFS_LINTFLAGS___194 = 1003,
    _CS_LFS64_CFLAGS___194 = 1004,
    _CS_LFS64_LDFLAGS___194 = 1005,
    _CS_LFS64_LIBS___194 = 1006,
    _CS_LFS64_LINTFLAGS___194 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___194 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___194 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___194 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___194 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___194 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___194 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___194 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___194 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___194 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___194 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___194 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___194 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___194 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___194 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___194 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___194 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___194 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___194 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___194 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___194 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___194 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___194 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___194 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___194 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___194 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___194 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___194 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___194 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___194 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___194 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___194 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___194 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___194 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___194 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___194 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___194 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___194 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___194 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___194 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___194 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___194 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___194 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___194 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___194 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___194 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___194 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___194 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___194 = 1147,
    _CS_V6_ENV___194 = 1148,
    _CS_V7_ENV___194 = 1149
} ;
enum __anonenum_513775621___194 {
    DT_UNKNOWN___194 = 0,
    DT_FIFO___194 = 1,
    DT_CHR___194 = 2,
    DT_DIR___194 = 4,
    DT_BLK___194 = 6,
    DT_REG___194 = 8,
    DT_LNK___194 = 10,
    DT_SOCK___194 = 12,
    DT_WHT___194 = 14
} ;
enum __anonenum_77002343___194 {
    SI_ASYNCNL___194 = -60,
    SI_TKILL___194 = -6,
    SI_SIGIO___194 = -5,
    SI_ASYNCIO___194 = -4,
    SI_MESGQ___194 = -3,
    SI_TIMER___194 = -2,
    SI_QUEUE___194 = -1,
    SI_USER___194 = 0,
    SI_KERNEL___194 = 128
} ;
enum __anonenum_131038172___194 {
    ILL_ILLOPC___194 = 1,
    ILL_ILLOPN___194 = 2,
    ILL_ILLADR___194 = 3,
    ILL_ILLTRP___194 = 4,
    ILL_PRVOPC___194 = 5,
    ILL_PRVREG___194 = 6,
    ILL_COPROC___194 = 7,
    ILL_BADSTK___194 = 8
} ;
enum __anonenum_452038093___194 {
    FPE_INTDIV___194 = 1,
    FPE_INTOVF___194 = 2,
    FPE_FLTDIV___194 = 3,
    FPE_FLTOVF___194 = 4,
    FPE_FLTUND___194 = 5,
    FPE_FLTRES___194 = 6,
    FPE_FLTINV___194 = 7,
    FPE_FLTSUB___194 = 8
} ;
enum __anonenum_30976155___194 {
    SEGV_MAPERR___194 = 1,
    SEGV_ACCERR___194 = 2,
    SEGV_BNDERR___194 = 3,
    SEGV_PKUERR___194 = 4
} ;
enum __anonenum_1036286214___194 {
    BUS_ADRALN___194 = 1,
    BUS_ADRERR___194 = 2,
    BUS_OBJERR___194 = 3,
    BUS_MCEERR_AR___194 = 4,
    BUS_MCEERR_AO___194 = 5
} ;
enum __anonenum_493465559___194 {
    TRAP_BRKPT___194 = 1,
    TRAP_TRACE___194 = 2
} ;
enum __anonenum_23175539___194 {
    CLD_EXITED___194 = 1,
    CLD_KILLED___194 = 2,
    CLD_DUMPED___194 = 3,
    CLD_TRAPPED___194 = 4,
    CLD_STOPPED___194 = 5,
    CLD_CONTINUED___194 = 6
} ;
enum __anonenum_111643124___194 {
    POLL_IN___194 = 1,
    POLL_OUT___194 = 2,
    POLL_MSG___194 = 3,
    POLL_ERR___194 = 4,
    POLL_PRI___194 = 5,
    POLL_HUP___194 = 6
} ;
enum __anonenum_852341087___194 {
    SIGEV_SIGNAL___194 = 0,
    SIGEV_NONE___194 = 1,
    SIGEV_THREAD___194 = 2,
    SIGEV_THREAD_ID___194 = 4
} ;
enum __anonenum_451154152___194 {
    REG_R8___194 = 0,
    REG_R9___194 = 1,
    REG_R10___194 = 2,
    REG_R11___194 = 3,
    REG_R12___194 = 4,
    REG_R13___194 = 5,
    REG_R14___194 = 6,
    REG_R15___194 = 7,
    REG_RDI___194 = 8,
    REG_RSI___194 = 9,
    REG_RBP___194 = 10,
    REG_RBX___194 = 11,
    REG_RDX___194 = 12,
    REG_RAX___194 = 13,
    REG_RCX___194 = 14,
    REG_RSP___194 = 15,
    REG_RIP___194 = 16,
    REG_EFL___194 = 17,
    REG_CSGSFS___194 = 18,
    REG_ERR___194 = 19,
    REG_TRAPNO___194 = 20,
    REG_OLDMASK___194 = 21,
    REG_CR2___194 = 22
} ;
enum __anonenum_57186863___194 {
    SS_ONSTACK___194 = 1,
    SS_DISABLE___194 = 2
} ;
enum __anonenum_83571709___194 {
    MSG_OOB___194 = 1,
    MSG_PEEK___194 = 2,
    MSG_DONTROUTE___194 = 4,
    MSG_TRYHARD___194 = 4,
    MSG_CTRUNC___194 = 8,
    MSG_PROXY___194 = 16,
    MSG_TRUNC___194 = 32,
    MSG_DONTWAIT___194 = 64,
    MSG_EOR___194 = 128,
    MSG_WAITALL___194 = 256,
    MSG_FIN___194 = 512,
    MSG_SYN___194 = 1024,
    MSG_CONFIRM___194 = 2048,
    MSG_RST___194 = 4096,
    MSG_ERRQUEUE___194 = 8192,
    MSG_NOSIGNAL___194 = 16384,
    MSG_MORE___194 = 32768,
    MSG_WAITFORONE___194 = 65536,
    MSG_BATCH___194 = 262144,
    MSG_ZEROCOPY___194 = 67108864,
    MSG_FASTOPEN___194 = 536870912,
    MSG_CMSG_CLOEXEC___194 = 1073741824
} ;
enum __anonenum_617082774___194 {
    SCM_RIGHTS___194 = 1,
    SCM_CREDENTIALS___194 = 2
} ;
enum __anonenum_606441560___194 {
    SHUT_RD___194 = 0,
    SHUT_WR___194 = 1,
    SHUT_RDWR___194 = 2
} ;
enum __anonenum_681669233___194 {
    IPPROTO_IP___194 = 0,
    IPPROTO_ICMP___194 = 1,
    IPPROTO_IGMP___194 = 2,
    IPPROTO_IPIP___194 = 4,
    IPPROTO_TCP___194 = 6,
    IPPROTO_EGP___194 = 8,
    IPPROTO_PUP___194 = 12,
    IPPROTO_UDP___194 = 17,
    IPPROTO_IDP___194 = 22,
    IPPROTO_TP___194 = 29,
    IPPROTO_DCCP___194 = 33,
    IPPROTO_IPV6___194 = 41,
    IPPROTO_RSVP___194 = 46,
    IPPROTO_GRE___194 = 47,
    IPPROTO_ESP___194 = 50,
    IPPROTO_AH___194 = 51,
    IPPROTO_MTP___194 = 92,
    IPPROTO_BEETPH___194 = 94,
    IPPROTO_ENCAP___194 = 98,
    IPPROTO_PIM___194 = 103,
    IPPROTO_COMP___194 = 108,
    IPPROTO_SCTP___194 = 132,
    IPPROTO_UDPLITE___194 = 136,
    IPPROTO_MPLS___194 = 137,
    IPPROTO_RAW___194 = 255,
    IPPROTO_MAX___194 = 256
} ;
enum __anonenum_218739988___194 {
    IPPROTO_HOPOPTS___194 = 0,
    IPPROTO_ROUTING___194 = 43,
    IPPROTO_FRAGMENT___194 = 44,
    IPPROTO_ICMPV6___194 = 58,
    IPPROTO_NONE___194 = 59,
    IPPROTO_DSTOPTS___194 = 60,
    IPPROTO_MH___194 = 135
} ;
enum __anonenum_662268580___194 {
    IPPORT_ECHO___194 = 7,
    IPPORT_DISCARD___194 = 9,
    IPPORT_SYSTAT___194 = 11,
    IPPORT_DAYTIME___194 = 13,
    IPPORT_NETSTAT___194 = 15,
    IPPORT_FTP___194 = 21,
    IPPORT_TELNET___194 = 23,
    IPPORT_SMTP___194 = 25,
    IPPORT_TIMESERVER___194 = 37,
    IPPORT_NAMESERVER___194 = 42,
    IPPORT_WHOIS___194 = 43,
    IPPORT_MTP___194 = 57,
    IPPORT_TFTP___194 = 69,
    IPPORT_RJE___194 = 77,
    IPPORT_FINGER___194 = 79,
    IPPORT_TTYLINK___194 = 87,
    IPPORT_SUPDUP___194 = 95,
    IPPORT_EXECSERVER___194 = 512,
    IPPORT_LOGINSERVER___194 = 513,
    IPPORT_CMDSERVER___194 = 514,
    IPPORT_EFSSERVER___194 = 520,
    IPPORT_BIFFUDP___194 = 512,
    IPPORT_WHOSERVER___194 = 513,
    IPPORT_ROUTESERVER___194 = 520,
    IPPORT_RESERVED___194 = 1024,
    IPPORT_USERRESERVED___194 = 5000
} ;
enum __anonenum_788308992___194 {
    TCP_ESTABLISHED___194 = 1,
    TCP_SYN_SENT___194 = 2,
    TCP_SYN_RECV___194 = 3,
    TCP_FIN_WAIT1___194 = 4,
    TCP_FIN_WAIT2___194 = 5,
    TCP_TIME_WAIT___194 = 6,
    TCP_CLOSE___194 = 7,
    TCP_CLOSE_WAIT___194 = 8,
    TCP_LAST_ACK___194 = 9,
    TCP_LISTEN___194 = 10,
    TCP_CLOSING___194 = 11
} ;
enum __anonenum_221125648___194 {
    TCP_NO_QUEUE___194 = 0,
    TCP_RECV_QUEUE___194 = 1,
    TCP_SEND_QUEUE___194 = 2,
    TCP_QUEUES_NR___194 = 3
} ;
enum __anonenum_34415463___194 {
    PTHREAD_CREATE_JOINABLE___194 = 0,
    PTHREAD_CREATE_DETACHED___194 = 1
} ;
enum __anonenum_303612439___194 {
    PTHREAD_MUTEX_TIMED_NP___194 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___194 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___194 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___194 = 3,
    PTHREAD_MUTEX_NORMAL___194 = 0,
    PTHREAD_MUTEX_RECURSIVE___194 = 1,
    PTHREAD_MUTEX_ERRORCHECK___194 = 2,
    PTHREAD_MUTEX_DEFAULT___194 = 0,
    PTHREAD_MUTEX_FAST_NP___194 = 0
} ;
enum __anonenum_931900394___194 {
    PTHREAD_MUTEX_STALLED___194 = 0,
    PTHREAD_MUTEX_STALLED_NP___194 = 0,
    PTHREAD_MUTEX_ROBUST___194 = 1,
    PTHREAD_MUTEX_ROBUST_NP___194 = 1
} ;
enum __anonenum_205214487___194 {
    PTHREAD_PRIO_NONE___194 = 0,
    PTHREAD_PRIO_INHERIT___194 = 1,
    PTHREAD_PRIO_PROTECT___194 = 2
} ;
enum __anonenum_25043950___194 {
    PTHREAD_RWLOCK_PREFER_READER_NP___194 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___194 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___194 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___194 = 0
} ;
enum __anonenum_436439511___194 {
    PTHREAD_INHERIT_SCHED___194 = 0,
    PTHREAD_EXPLICIT_SCHED___194 = 1
} ;
enum __anonenum_998661166___194 {
    PTHREAD_SCOPE_SYSTEM___194 = 0,
    PTHREAD_SCOPE_PROCESS___194 = 1
} ;
enum __anonenum_146137331___194 {
    PTHREAD_PROCESS_PRIVATE___194 = 0,
    PTHREAD_PROCESS_SHARED___194 = 1
} ;
enum __anonenum_53396917___194 {
    PTHREAD_CANCEL_ENABLE___194 = 0,
    PTHREAD_CANCEL_DISABLE___194 = 1
} ;
enum __anonenum_904563783___194 {
    PTHREAD_CANCEL_DEFERRED___194 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___194 = 1
} ;
enum __anonenum_672052974___194 {
    SSL_CT_VALIDATION_PERMISSIVE___194 = 0,
    SSL_CT_VALIDATION_STRICT___194 = 1
} ;
struct tmp_objdir {
   struct strbuf path ;
   struct strvec env ;
   struct object_directory *prev_odb ;
   int will_destroy ;
};
enum __anonenum_437032235___195 {
    _PC_LINK_MAX___195 = 0,
    _PC_MAX_CANON___195 = 1,
    _PC_MAX_INPUT___195 = 2,
    _PC_NAME_MAX___195 = 3,
    _PC_PATH_MAX___195 = 4,
    _PC_PIPE_BUF___195 = 5,
    _PC_CHOWN_RESTRICTED___195 = 6,
    _PC_NO_TRUNC___195 = 7,
    _PC_VDISABLE___195 = 8,
    _PC_SYNC_IO___195 = 9,
    _PC_ASYNC_IO___195 = 10,
    _PC_PRIO_IO___195 = 11,
    _PC_SOCK_MAXBUF___195 = 12,
    _PC_FILESIZEBITS___195 = 13,
    _PC_REC_INCR_XFER_SIZE___195 = 14,
    _PC_REC_MAX_XFER_SIZE___195 = 15,
    _PC_REC_MIN_XFER_SIZE___195 = 16,
    _PC_REC_XFER_ALIGN___195 = 17,
    _PC_ALLOC_SIZE_MIN___195 = 18,
    _PC_SYMLINK_MAX___195 = 19,
    _PC_2_SYMLINKS___195 = 20
} ;
enum __anonenum_315186338___195 {
    _SC_ARG_MAX___195 = 0,
    _SC_CHILD_MAX___195 = 1,
    _SC_CLK_TCK___195 = 2,
    _SC_NGROUPS_MAX___195 = 3,
    _SC_OPEN_MAX___195 = 4,
    _SC_STREAM_MAX___195 = 5,
    _SC_TZNAME_MAX___195 = 6,
    _SC_JOB_CONTROL___195 = 7,
    _SC_SAVED_IDS___195 = 8,
    _SC_REALTIME_SIGNALS___195 = 9,
    _SC_PRIORITY_SCHEDULING___195 = 10,
    _SC_TIMERS___195 = 11,
    _SC_ASYNCHRONOUS_IO___195 = 12,
    _SC_PRIORITIZED_IO___195 = 13,
    _SC_SYNCHRONIZED_IO___195 = 14,
    _SC_FSYNC___195 = 15,
    _SC_MAPPED_FILES___195 = 16,
    _SC_MEMLOCK___195 = 17,
    _SC_MEMLOCK_RANGE___195 = 18,
    _SC_MEMORY_PROTECTION___195 = 19,
    _SC_MESSAGE_PASSING___195 = 20,
    _SC_SEMAPHORES___195 = 21,
    _SC_SHARED_MEMORY_OBJECTS___195 = 22,
    _SC_AIO_LISTIO_MAX___195 = 23,
    _SC_AIO_MAX___195 = 24,
    _SC_AIO_PRIO_DELTA_MAX___195 = 25,
    _SC_DELAYTIMER_MAX___195 = 26,
    _SC_MQ_OPEN_MAX___195 = 27,
    _SC_MQ_PRIO_MAX___195 = 28,
    _SC_VERSION___195 = 29,
    _SC_PAGESIZE___195 = 30,
    _SC_RTSIG_MAX___195 = 31,
    _SC_SEM_NSEMS_MAX___195 = 32,
    _SC_SEM_VALUE_MAX___195 = 33,
    _SC_SIGQUEUE_MAX___195 = 34,
    _SC_TIMER_MAX___195 = 35,
    _SC_BC_BASE_MAX___195 = 36,
    _SC_BC_DIM_MAX___195 = 37,
    _SC_BC_SCALE_MAX___195 = 38,
    _SC_BC_STRING_MAX___195 = 39,
    _SC_COLL_WEIGHTS_MAX___195 = 40,
    _SC_EQUIV_CLASS_MAX___195 = 41,
    _SC_EXPR_NEST_MAX___195 = 42,
    _SC_LINE_MAX___195 = 43,
    _SC_RE_DUP_MAX___195 = 44,
    _SC_CHARCLASS_NAME_MAX___195 = 45,
    _SC_2_VERSION___195 = 46,
    _SC_2_C_BIND___195 = 47,
    _SC_2_C_DEV___195 = 48,
    _SC_2_FORT_DEV___195 = 49,
    _SC_2_FORT_RUN___195 = 50,
    _SC_2_SW_DEV___195 = 51,
    _SC_2_LOCALEDEF___195 = 52,
    _SC_PII___195 = 53,
    _SC_PII_XTI___195 = 54,
    _SC_PII_SOCKET___195 = 55,
    _SC_PII_INTERNET___195 = 56,
    _SC_PII_OSI___195 = 57,
    _SC_POLL___195 = 58,
    _SC_SELECT___195 = 59,
    _SC_UIO_MAXIOV___195 = 60,
    _SC_IOV_MAX___195 = 60,
    _SC_PII_INTERNET_STREAM___195 = 61,
    _SC_PII_INTERNET_DGRAM___195 = 62,
    _SC_PII_OSI_COTS___195 = 63,
    _SC_PII_OSI_CLTS___195 = 64,
    _SC_PII_OSI_M___195 = 65,
    _SC_T_IOV_MAX___195 = 66,
    _SC_THREADS___195 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___195 = 68,
    _SC_GETGR_R_SIZE_MAX___195 = 69,
    _SC_GETPW_R_SIZE_MAX___195 = 70,
    _SC_LOGIN_NAME_MAX___195 = 71,
    _SC_TTY_NAME_MAX___195 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___195 = 73,
    _SC_THREAD_KEYS_MAX___195 = 74,
    _SC_THREAD_STACK_MIN___195 = 75,
    _SC_THREAD_THREADS_MAX___195 = 76,
    _SC_THREAD_ATTR_STACKADDR___195 = 77,
    _SC_THREAD_ATTR_STACKSIZE___195 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___195 = 79,
    _SC_THREAD_PRIO_INHERIT___195 = 80,
    _SC_THREAD_PRIO_PROTECT___195 = 81,
    _SC_THREAD_PROCESS_SHARED___195 = 82,
    _SC_NPROCESSORS_CONF___195 = 83,
    _SC_NPROCESSORS_ONLN___195 = 84,
    _SC_PHYS_PAGES___195 = 85,
    _SC_AVPHYS_PAGES___195 = 86,
    _SC_ATEXIT_MAX___195 = 87,
    _SC_PASS_MAX___195 = 88,
    _SC_XOPEN_VERSION___195 = 89,
    _SC_XOPEN_XCU_VERSION___195 = 90,
    _SC_XOPEN_UNIX___195 = 91,
    _SC_XOPEN_CRYPT___195 = 92,
    _SC_XOPEN_ENH_I18N___195 = 93,
    _SC_XOPEN_SHM___195 = 94,
    _SC_2_CHAR_TERM___195 = 95,
    _SC_2_C_VERSION___195 = 96,
    _SC_2_UPE___195 = 97,
    _SC_XOPEN_XPG2___195 = 98,
    _SC_XOPEN_XPG3___195 = 99,
    _SC_XOPEN_XPG4___195 = 100,
    _SC_CHAR_BIT___195 = 101,
    _SC_CHAR_MAX___195 = 102,
    _SC_CHAR_MIN___195 = 103,
    _SC_INT_MAX___195 = 104,
    _SC_INT_MIN___195 = 105,
    _SC_LONG_BIT___195 = 106,
    _SC_WORD_BIT___195 = 107,
    _SC_MB_LEN_MAX___195 = 108,
    _SC_NZERO___195 = 109,
    _SC_SSIZE_MAX___195 = 110,
    _SC_SCHAR_MAX___195 = 111,
    _SC_SCHAR_MIN___195 = 112,
    _SC_SHRT_MAX___195 = 113,
    _SC_SHRT_MIN___195 = 114,
    _SC_UCHAR_MAX___195 = 115,
    _SC_UINT_MAX___195 = 116,
    _SC_ULONG_MAX___195 = 117,
    _SC_USHRT_MAX___195 = 118,
    _SC_NL_ARGMAX___195 = 119,
    _SC_NL_LANGMAX___195 = 120,
    _SC_NL_MSGMAX___195 = 121,
    _SC_NL_NMAX___195 = 122,
    _SC_NL_SETMAX___195 = 123,
    _SC_NL_TEXTMAX___195 = 124,
    _SC_XBS5_ILP32_OFF32___195 = 125,
    _SC_XBS5_ILP32_OFFBIG___195 = 126,
    _SC_XBS5_LP64_OFF64___195 = 127,
    _SC_XBS5_LPBIG_OFFBIG___195 = 128,
    _SC_XOPEN_LEGACY___195 = 129,
    _SC_XOPEN_REALTIME___195 = 130,
    _SC_XOPEN_REALTIME_THREADS___195 = 131,
    _SC_ADVISORY_INFO___195 = 132,
    _SC_BARRIERS___195 = 133,
    _SC_BASE___195 = 134,
    _SC_C_LANG_SUPPORT___195 = 135,
    _SC_C_LANG_SUPPORT_R___195 = 136,
    _SC_CLOCK_SELECTION___195 = 137,
    _SC_CPUTIME___195 = 138,
    _SC_THREAD_CPUTIME___195 = 139,
    _SC_DEVICE_IO___195 = 140,
    _SC_DEVICE_SPECIFIC___195 = 141,
    _SC_DEVICE_SPECIFIC_R___195 = 142,
    _SC_FD_MGMT___195 = 143,
    _SC_FIFO___195 = 144,
    _SC_PIPE___195 = 145,
    _SC_FILE_ATTRIBUTES___195 = 146,
    _SC_FILE_LOCKING___195 = 147,
    _SC_FILE_SYSTEM___195 = 148,
    _SC_MONOTONIC_CLOCK___195 = 149,
    _SC_MULTI_PROCESS___195 = 150,
    _SC_SINGLE_PROCESS___195 = 151,
    _SC_NETWORKING___195 = 152,
    _SC_READER_WRITER_LOCKS___195 = 153,
    _SC_SPIN_LOCKS___195 = 154,
    _SC_REGEXP___195 = 155,
    _SC_REGEX_VERSION___195 = 156,
    _SC_SHELL___195 = 157,
    _SC_SIGNALS___195 = 158,
    _SC_SPAWN___195 = 159,
    _SC_SPORADIC_SERVER___195 = 160,
    _SC_THREAD_SPORADIC_SERVER___195 = 161,
    _SC_SYSTEM_DATABASE___195 = 162,
    _SC_SYSTEM_DATABASE_R___195 = 163,
    _SC_TIMEOUTS___195 = 164,
    _SC_TYPED_MEMORY_OBJECTS___195 = 165,
    _SC_USER_GROUPS___195 = 166,
    _SC_USER_GROUPS_R___195 = 167,
    _SC_2_PBS___195 = 168,
    _SC_2_PBS_ACCOUNTING___195 = 169,
    _SC_2_PBS_LOCATE___195 = 170,
    _SC_2_PBS_MESSAGE___195 = 171,
    _SC_2_PBS_TRACK___195 = 172,
    _SC_SYMLOOP_MAX___195 = 173,
    _SC_STREAMS___195 = 174,
    _SC_2_PBS_CHECKPOINT___195 = 175,
    _SC_V6_ILP32_OFF32___195 = 176,
    _SC_V6_ILP32_OFFBIG___195 = 177,
    _SC_V6_LP64_OFF64___195 = 178,
    _SC_V6_LPBIG_OFFBIG___195 = 179,
    _SC_HOST_NAME_MAX___195 = 180,
    _SC_TRACE___195 = 181,
    _SC_TRACE_EVENT_FILTER___195 = 182,
    _SC_TRACE_INHERIT___195 = 183,
    _SC_TRACE_LOG___195 = 184,
    _SC_LEVEL1_ICACHE_SIZE___195 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___195 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___195 = 187,
    _SC_LEVEL1_DCACHE_SIZE___195 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___195 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___195 = 190,
    _SC_LEVEL2_CACHE_SIZE___195 = 191,
    _SC_LEVEL2_CACHE_ASSOC___195 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___195 = 193,
    _SC_LEVEL3_CACHE_SIZE___195 = 194,
    _SC_LEVEL3_CACHE_ASSOC___195 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___195 = 196,
    _SC_LEVEL4_CACHE_SIZE___195 = 197,
    _SC_LEVEL4_CACHE_ASSOC___195 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___195 = 199,
    _SC_IPV6___195 = 235,
    _SC_RAW_SOCKETS___195 = 236,
    _SC_V7_ILP32_OFF32___195 = 237,
    _SC_V7_ILP32_OFFBIG___195 = 238,
    _SC_V7_LP64_OFF64___195 = 239,
    _SC_V7_LPBIG_OFFBIG___195 = 240,
    _SC_SS_REPL_MAX___195 = 241,
    _SC_TRACE_EVENT_NAME_MAX___195 = 242,
    _SC_TRACE_NAME_MAX___195 = 243,
    _SC_TRACE_SYS_MAX___195 = 244,
    _SC_TRACE_USER_EVENT_MAX___195 = 245,
    _SC_XOPEN_STREAMS___195 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___195 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___195 = 248
} ;
enum __anonenum_875524036___195 {
    _CS_PATH___195 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___195 = 1,
    _CS_GNU_LIBC_VERSION___195 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___195 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___195 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___195 = 5,
    _CS_LFS_CFLAGS___195 = 1000,
    _CS_LFS_LDFLAGS___195 = 1001,
    _CS_LFS_LIBS___195 = 1002,
    _CS_LFS_LINTFLAGS___195 = 1003,
    _CS_LFS64_CFLAGS___195 = 1004,
    _CS_LFS64_LDFLAGS___195 = 1005,
    _CS_LFS64_LIBS___195 = 1006,
    _CS_LFS64_LINTFLAGS___195 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___195 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___195 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___195 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___195 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___195 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___195 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___195 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___195 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___195 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___195 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___195 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___195 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___195 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___195 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___195 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___195 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___195 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___195 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___195 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___195 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___195 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___195 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___195 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___195 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___195 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___195 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___195 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___195 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___195 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___195 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___195 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___195 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___195 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___195 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___195 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___195 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___195 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___195 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___195 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___195 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___195 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___195 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___195 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___195 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___195 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___195 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___195 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___195 = 1147,
    _CS_V6_ENV___195 = 1148,
    _CS_V7_ENV___195 = 1149
} ;
enum __anonenum_513775621___195 {
    DT_UNKNOWN___195 = 0,
    DT_FIFO___195 = 1,
    DT_CHR___195 = 2,
    DT_DIR___195 = 4,
    DT_BLK___195 = 6,
    DT_REG___195 = 8,
    DT_LNK___195 = 10,
    DT_SOCK___195 = 12,
    DT_WHT___195 = 14
} ;
enum __anonenum_77002343___195 {
    SI_ASYNCNL___195 = -60,
    SI_TKILL___195 = -6,
    SI_SIGIO___195 = -5,
    SI_ASYNCIO___195 = -4,
    SI_MESGQ___195 = -3,
    SI_TIMER___195 = -2,
    SI_QUEUE___195 = -1,
    SI_USER___195 = 0,
    SI_KERNEL___195 = 128
} ;
enum __anonenum_131038172___195 {
    ILL_ILLOPC___195 = 1,
    ILL_ILLOPN___195 = 2,
    ILL_ILLADR___195 = 3,
    ILL_ILLTRP___195 = 4,
    ILL_PRVOPC___195 = 5,
    ILL_PRVREG___195 = 6,
    ILL_COPROC___195 = 7,
    ILL_BADSTK___195 = 8
} ;
enum __anonenum_452038093___195 {
    FPE_INTDIV___195 = 1,
    FPE_INTOVF___195 = 2,
    FPE_FLTDIV___195 = 3,
    FPE_FLTOVF___195 = 4,
    FPE_FLTUND___195 = 5,
    FPE_FLTRES___195 = 6,
    FPE_FLTINV___195 = 7,
    FPE_FLTSUB___195 = 8
} ;
enum __anonenum_30976155___195 {
    SEGV_MAPERR___195 = 1,
    SEGV_ACCERR___195 = 2,
    SEGV_BNDERR___195 = 3,
    SEGV_PKUERR___195 = 4
} ;
enum __anonenum_1036286214___195 {
    BUS_ADRALN___195 = 1,
    BUS_ADRERR___195 = 2,
    BUS_OBJERR___195 = 3,
    BUS_MCEERR_AR___195 = 4,
    BUS_MCEERR_AO___195 = 5
} ;
enum __anonenum_493465559___195 {
    TRAP_BRKPT___195 = 1,
    TRAP_TRACE___195 = 2
} ;
enum __anonenum_23175539___195 {
    CLD_EXITED___195 = 1,
    CLD_KILLED___195 = 2,
    CLD_DUMPED___195 = 3,
    CLD_TRAPPED___195 = 4,
    CLD_STOPPED___195 = 5,
    CLD_CONTINUED___195 = 6
} ;
enum __anonenum_111643124___195 {
    POLL_IN___195 = 1,
    POLL_OUT___195 = 2,
    POLL_MSG___195 = 3,
    POLL_ERR___195 = 4,
    POLL_PRI___195 = 5,
    POLL_HUP___195 = 6
} ;
enum __anonenum_852341087___195 {
    SIGEV_SIGNAL___195 = 0,
    SIGEV_NONE___195 = 1,
    SIGEV_THREAD___195 = 2,
    SIGEV_THREAD_ID___195 = 4
} ;
enum __anonenum_451154152___195 {
    REG_R8___195 = 0,
    REG_R9___195 = 1,
    REG_R10___195 = 2,
    REG_R11___195 = 3,
    REG_R12___195 = 4,
    REG_R13___195 = 5,
    REG_R14___195 = 6,
    REG_R15___195 = 7,
    REG_RDI___195 = 8,
    REG_RSI___195 = 9,
    REG_RBP___195 = 10,
    REG_RBX___195 = 11,
    REG_RDX___195 = 12,
    REG_RAX___195 = 13,
    REG_RCX___195 = 14,
    REG_RSP___195 = 15,
    REG_RIP___195 = 16,
    REG_EFL___195 = 17,
    REG_CSGSFS___195 = 18,
    REG_ERR___195 = 19,
    REG_TRAPNO___195 = 20,
    REG_OLDMASK___195 = 21,
    REG_CR2___195 = 22
} ;
enum __anonenum_57186863___195 {
    SS_ONSTACK___195 = 1,
    SS_DISABLE___195 = 2
} ;
enum __anonenum_83571709___195 {
    MSG_OOB___195 = 1,
    MSG_PEEK___195 = 2,
    MSG_DONTROUTE___195 = 4,
    MSG_TRYHARD___195 = 4,
    MSG_CTRUNC___195 = 8,
    MSG_PROXY___195 = 16,
    MSG_TRUNC___195 = 32,
    MSG_DONTWAIT___195 = 64,
    MSG_EOR___195 = 128,
    MSG_WAITALL___195 = 256,
    MSG_FIN___195 = 512,
    MSG_SYN___195 = 1024,
    MSG_CONFIRM___195 = 2048,
    MSG_RST___195 = 4096,
    MSG_ERRQUEUE___195 = 8192,
    MSG_NOSIGNAL___195 = 16384,
    MSG_MORE___195 = 32768,
    MSG_WAITFORONE___195 = 65536,
    MSG_BATCH___195 = 262144,
    MSG_ZEROCOPY___195 = 67108864,
    MSG_FASTOPEN___195 = 536870912,
    MSG_CMSG_CLOEXEC___195 = 1073741824
} ;
enum __anonenum_617082774___195 {
    SCM_RIGHTS___195 = 1,
    SCM_CREDENTIALS___195 = 2
} ;
enum __anonenum_606441560___195 {
    SHUT_RD___195 = 0,
    SHUT_WR___195 = 1,
    SHUT_RDWR___195 = 2
} ;
enum __anonenum_681669233___195 {
    IPPROTO_IP___195 = 0,
    IPPROTO_ICMP___195 = 1,
    IPPROTO_IGMP___195 = 2,
    IPPROTO_IPIP___195 = 4,
    IPPROTO_TCP___195 = 6,
    IPPROTO_EGP___195 = 8,
    IPPROTO_PUP___195 = 12,
    IPPROTO_UDP___195 = 17,
    IPPROTO_IDP___195 = 22,
    IPPROTO_TP___195 = 29,
    IPPROTO_DCCP___195 = 33,
    IPPROTO_IPV6___195 = 41,
    IPPROTO_RSVP___195 = 46,
    IPPROTO_GRE___195 = 47,
    IPPROTO_ESP___195 = 50,
    IPPROTO_AH___195 = 51,
    IPPROTO_MTP___195 = 92,
    IPPROTO_BEETPH___195 = 94,
    IPPROTO_ENCAP___195 = 98,
    IPPROTO_PIM___195 = 103,
    IPPROTO_COMP___195 = 108,
    IPPROTO_SCTP___195 = 132,
    IPPROTO_UDPLITE___195 = 136,
    IPPROTO_MPLS___195 = 137,
    IPPROTO_RAW___195 = 255,
    IPPROTO_MAX___195 = 256
} ;
enum __anonenum_218739988___195 {
    IPPROTO_HOPOPTS___195 = 0,
    IPPROTO_ROUTING___195 = 43,
    IPPROTO_FRAGMENT___195 = 44,
    IPPROTO_ICMPV6___195 = 58,
    IPPROTO_NONE___195 = 59,
    IPPROTO_DSTOPTS___195 = 60,
    IPPROTO_MH___195 = 135
} ;
enum __anonenum_662268580___195 {
    IPPORT_ECHO___195 = 7,
    IPPORT_DISCARD___195 = 9,
    IPPORT_SYSTAT___195 = 11,
    IPPORT_DAYTIME___195 = 13,
    IPPORT_NETSTAT___195 = 15,
    IPPORT_FTP___195 = 21,
    IPPORT_TELNET___195 = 23,
    IPPORT_SMTP___195 = 25,
    IPPORT_TIMESERVER___195 = 37,
    IPPORT_NAMESERVER___195 = 42,
    IPPORT_WHOIS___195 = 43,
    IPPORT_MTP___195 = 57,
    IPPORT_TFTP___195 = 69,
    IPPORT_RJE___195 = 77,
    IPPORT_FINGER___195 = 79,
    IPPORT_TTYLINK___195 = 87,
    IPPORT_SUPDUP___195 = 95,
    IPPORT_EXECSERVER___195 = 512,
    IPPORT_LOGINSERVER___195 = 513,
    IPPORT_CMDSERVER___195 = 514,
    IPPORT_EFSSERVER___195 = 520,
    IPPORT_BIFFUDP___195 = 512,
    IPPORT_WHOSERVER___195 = 513,
    IPPORT_ROUTESERVER___195 = 520,
    IPPORT_RESERVED___195 = 1024,
    IPPORT_USERRESERVED___195 = 5000
} ;
enum __anonenum_788308992___195 {
    TCP_ESTABLISHED___195 = 1,
    TCP_SYN_SENT___195 = 2,
    TCP_SYN_RECV___195 = 3,
    TCP_FIN_WAIT1___195 = 4,
    TCP_FIN_WAIT2___195 = 5,
    TCP_TIME_WAIT___195 = 6,
    TCP_CLOSE___195 = 7,
    TCP_CLOSE_WAIT___195 = 8,
    TCP_LAST_ACK___195 = 9,
    TCP_LISTEN___195 = 10,
    TCP_CLOSING___195 = 11
} ;
enum __anonenum_221125648___195 {
    TCP_NO_QUEUE___195 = 0,
    TCP_RECV_QUEUE___195 = 1,
    TCP_SEND_QUEUE___195 = 2,
    TCP_QUEUES_NR___195 = 3
} ;
enum __anonenum_34415463___195 {
    PTHREAD_CREATE_JOINABLE___195 = 0,
    PTHREAD_CREATE_DETACHED___195 = 1
} ;
enum __anonenum_303612439___195 {
    PTHREAD_MUTEX_TIMED_NP___195 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___195 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___195 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___195 = 3,
    PTHREAD_MUTEX_NORMAL___195 = 0,
    PTHREAD_MUTEX_RECURSIVE___195 = 1,
    PTHREAD_MUTEX_ERRORCHECK___195 = 2,
    PTHREAD_MUTEX_DEFAULT___195 = 0,
    PTHREAD_MUTEX_FAST_NP___195 = 0
} ;
enum __anonenum_931900394___195 {
    PTHREAD_MUTEX_STALLED___195 = 0,
    PTHREAD_MUTEX_STALLED_NP___195 = 0,
    PTHREAD_MUTEX_ROBUST___195 = 1,
    PTHREAD_MUTEX_ROBUST_NP___195 = 1
} ;
enum __anonenum_205214487___195 {
    PTHREAD_PRIO_NONE___195 = 0,
    PTHREAD_PRIO_INHERIT___195 = 1,
    PTHREAD_PRIO_PROTECT___195 = 2
} ;
enum __anonenum_25043950___195 {
    PTHREAD_RWLOCK_PREFER_READER_NP___195 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___195 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___195 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___195 = 0
} ;
enum __anonenum_436439511___195 {
    PTHREAD_INHERIT_SCHED___195 = 0,
    PTHREAD_EXPLICIT_SCHED___195 = 1
} ;
enum __anonenum_998661166___195 {
    PTHREAD_SCOPE_SYSTEM___195 = 0,
    PTHREAD_SCOPE_PROCESS___195 = 1
} ;
enum __anonenum_146137331___195 {
    PTHREAD_PROCESS_PRIVATE___195 = 0,
    PTHREAD_PROCESS_SHARED___195 = 1
} ;
enum __anonenum_53396917___195 {
    PTHREAD_CANCEL_ENABLE___195 = 0,
    PTHREAD_CANCEL_DISABLE___195 = 1
} ;
enum __anonenum_904563783___195 {
    PTHREAD_CANCEL_DEFERRED___195 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___195 = 1
} ;
enum __anonenum_672052974___195 {
    SSL_CT_VALIDATION_PERMISSIVE___195 = 0,
    SSL_CT_VALIDATION_STRICT___195 = 1
} ;
enum __anonenum_437032235___196 {
    _PC_LINK_MAX___196 = 0,
    _PC_MAX_CANON___196 = 1,
    _PC_MAX_INPUT___196 = 2,
    _PC_NAME_MAX___196 = 3,
    _PC_PATH_MAX___196 = 4,
    _PC_PIPE_BUF___196 = 5,
    _PC_CHOWN_RESTRICTED___196 = 6,
    _PC_NO_TRUNC___196 = 7,
    _PC_VDISABLE___196 = 8,
    _PC_SYNC_IO___196 = 9,
    _PC_ASYNC_IO___196 = 10,
    _PC_PRIO_IO___196 = 11,
    _PC_SOCK_MAXBUF___196 = 12,
    _PC_FILESIZEBITS___196 = 13,
    _PC_REC_INCR_XFER_SIZE___196 = 14,
    _PC_REC_MAX_XFER_SIZE___196 = 15,
    _PC_REC_MIN_XFER_SIZE___196 = 16,
    _PC_REC_XFER_ALIGN___196 = 17,
    _PC_ALLOC_SIZE_MIN___196 = 18,
    _PC_SYMLINK_MAX___196 = 19,
    _PC_2_SYMLINKS___196 = 20
} ;
enum __anonenum_315186338___196 {
    _SC_ARG_MAX___196 = 0,
    _SC_CHILD_MAX___196 = 1,
    _SC_CLK_TCK___196 = 2,
    _SC_NGROUPS_MAX___196 = 3,
    _SC_OPEN_MAX___196 = 4,
    _SC_STREAM_MAX___196 = 5,
    _SC_TZNAME_MAX___196 = 6,
    _SC_JOB_CONTROL___196 = 7,
    _SC_SAVED_IDS___196 = 8,
    _SC_REALTIME_SIGNALS___196 = 9,
    _SC_PRIORITY_SCHEDULING___196 = 10,
    _SC_TIMERS___196 = 11,
    _SC_ASYNCHRONOUS_IO___196 = 12,
    _SC_PRIORITIZED_IO___196 = 13,
    _SC_SYNCHRONIZED_IO___196 = 14,
    _SC_FSYNC___196 = 15,
    _SC_MAPPED_FILES___196 = 16,
    _SC_MEMLOCK___196 = 17,
    _SC_MEMLOCK_RANGE___196 = 18,
    _SC_MEMORY_PROTECTION___196 = 19,
    _SC_MESSAGE_PASSING___196 = 20,
    _SC_SEMAPHORES___196 = 21,
    _SC_SHARED_MEMORY_OBJECTS___196 = 22,
    _SC_AIO_LISTIO_MAX___196 = 23,
    _SC_AIO_MAX___196 = 24,
    _SC_AIO_PRIO_DELTA_MAX___196 = 25,
    _SC_DELAYTIMER_MAX___196 = 26,
    _SC_MQ_OPEN_MAX___196 = 27,
    _SC_MQ_PRIO_MAX___196 = 28,
    _SC_VERSION___196 = 29,
    _SC_PAGESIZE___196 = 30,
    _SC_RTSIG_MAX___196 = 31,
    _SC_SEM_NSEMS_MAX___196 = 32,
    _SC_SEM_VALUE_MAX___196 = 33,
    _SC_SIGQUEUE_MAX___196 = 34,
    _SC_TIMER_MAX___196 = 35,
    _SC_BC_BASE_MAX___196 = 36,
    _SC_BC_DIM_MAX___196 = 37,
    _SC_BC_SCALE_MAX___196 = 38,
    _SC_BC_STRING_MAX___196 = 39,
    _SC_COLL_WEIGHTS_MAX___196 = 40,
    _SC_EQUIV_CLASS_MAX___196 = 41,
    _SC_EXPR_NEST_MAX___196 = 42,
    _SC_LINE_MAX___196 = 43,
    _SC_RE_DUP_MAX___196 = 44,
    _SC_CHARCLASS_NAME_MAX___196 = 45,
    _SC_2_VERSION___196 = 46,
    _SC_2_C_BIND___196 = 47,
    _SC_2_C_DEV___196 = 48,
    _SC_2_FORT_DEV___196 = 49,
    _SC_2_FORT_RUN___196 = 50,
    _SC_2_SW_DEV___196 = 51,
    _SC_2_LOCALEDEF___196 = 52,
    _SC_PII___196 = 53,
    _SC_PII_XTI___196 = 54,
    _SC_PII_SOCKET___196 = 55,
    _SC_PII_INTERNET___196 = 56,
    _SC_PII_OSI___196 = 57,
    _SC_POLL___196 = 58,
    _SC_SELECT___196 = 59,
    _SC_UIO_MAXIOV___196 = 60,
    _SC_IOV_MAX___196 = 60,
    _SC_PII_INTERNET_STREAM___196 = 61,
    _SC_PII_INTERNET_DGRAM___196 = 62,
    _SC_PII_OSI_COTS___196 = 63,
    _SC_PII_OSI_CLTS___196 = 64,
    _SC_PII_OSI_M___196 = 65,
    _SC_T_IOV_MAX___196 = 66,
    _SC_THREADS___196 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___196 = 68,
    _SC_GETGR_R_SIZE_MAX___196 = 69,
    _SC_GETPW_R_SIZE_MAX___196 = 70,
    _SC_LOGIN_NAME_MAX___196 = 71,
    _SC_TTY_NAME_MAX___196 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___196 = 73,
    _SC_THREAD_KEYS_MAX___196 = 74,
    _SC_THREAD_STACK_MIN___196 = 75,
    _SC_THREAD_THREADS_MAX___196 = 76,
    _SC_THREAD_ATTR_STACKADDR___196 = 77,
    _SC_THREAD_ATTR_STACKSIZE___196 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___196 = 79,
    _SC_THREAD_PRIO_INHERIT___196 = 80,
    _SC_THREAD_PRIO_PROTECT___196 = 81,
    _SC_THREAD_PROCESS_SHARED___196 = 82,
    _SC_NPROCESSORS_CONF___196 = 83,
    _SC_NPROCESSORS_ONLN___196 = 84,
    _SC_PHYS_PAGES___196 = 85,
    _SC_AVPHYS_PAGES___196 = 86,
    _SC_ATEXIT_MAX___196 = 87,
    _SC_PASS_MAX___196 = 88,
    _SC_XOPEN_VERSION___196 = 89,
    _SC_XOPEN_XCU_VERSION___196 = 90,
    _SC_XOPEN_UNIX___196 = 91,
    _SC_XOPEN_CRYPT___196 = 92,
    _SC_XOPEN_ENH_I18N___196 = 93,
    _SC_XOPEN_SHM___196 = 94,
    _SC_2_CHAR_TERM___196 = 95,
    _SC_2_C_VERSION___196 = 96,
    _SC_2_UPE___196 = 97,
    _SC_XOPEN_XPG2___196 = 98,
    _SC_XOPEN_XPG3___196 = 99,
    _SC_XOPEN_XPG4___196 = 100,
    _SC_CHAR_BIT___196 = 101,
    _SC_CHAR_MAX___196 = 102,
    _SC_CHAR_MIN___196 = 103,
    _SC_INT_MAX___196 = 104,
    _SC_INT_MIN___196 = 105,
    _SC_LONG_BIT___196 = 106,
    _SC_WORD_BIT___196 = 107,
    _SC_MB_LEN_MAX___196 = 108,
    _SC_NZERO___196 = 109,
    _SC_SSIZE_MAX___196 = 110,
    _SC_SCHAR_MAX___196 = 111,
    _SC_SCHAR_MIN___196 = 112,
    _SC_SHRT_MAX___196 = 113,
    _SC_SHRT_MIN___196 = 114,
    _SC_UCHAR_MAX___196 = 115,
    _SC_UINT_MAX___196 = 116,
    _SC_ULONG_MAX___196 = 117,
    _SC_USHRT_MAX___196 = 118,
    _SC_NL_ARGMAX___196 = 119,
    _SC_NL_LANGMAX___196 = 120,
    _SC_NL_MSGMAX___196 = 121,
    _SC_NL_NMAX___196 = 122,
    _SC_NL_SETMAX___196 = 123,
    _SC_NL_TEXTMAX___196 = 124,
    _SC_XBS5_ILP32_OFF32___196 = 125,
    _SC_XBS5_ILP32_OFFBIG___196 = 126,
    _SC_XBS5_LP64_OFF64___196 = 127,
    _SC_XBS5_LPBIG_OFFBIG___196 = 128,
    _SC_XOPEN_LEGACY___196 = 129,
    _SC_XOPEN_REALTIME___196 = 130,
    _SC_XOPEN_REALTIME_THREADS___196 = 131,
    _SC_ADVISORY_INFO___196 = 132,
    _SC_BARRIERS___196 = 133,
    _SC_BASE___196 = 134,
    _SC_C_LANG_SUPPORT___196 = 135,
    _SC_C_LANG_SUPPORT_R___196 = 136,
    _SC_CLOCK_SELECTION___196 = 137,
    _SC_CPUTIME___196 = 138,
    _SC_THREAD_CPUTIME___196 = 139,
    _SC_DEVICE_IO___196 = 140,
    _SC_DEVICE_SPECIFIC___196 = 141,
    _SC_DEVICE_SPECIFIC_R___196 = 142,
    _SC_FD_MGMT___196 = 143,
    _SC_FIFO___196 = 144,
    _SC_PIPE___196 = 145,
    _SC_FILE_ATTRIBUTES___196 = 146,
    _SC_FILE_LOCKING___196 = 147,
    _SC_FILE_SYSTEM___196 = 148,
    _SC_MONOTONIC_CLOCK___196 = 149,
    _SC_MULTI_PROCESS___196 = 150,
    _SC_SINGLE_PROCESS___196 = 151,
    _SC_NETWORKING___196 = 152,
    _SC_READER_WRITER_LOCKS___196 = 153,
    _SC_SPIN_LOCKS___196 = 154,
    _SC_REGEXP___196 = 155,
    _SC_REGEX_VERSION___196 = 156,
    _SC_SHELL___196 = 157,
    _SC_SIGNALS___196 = 158,
    _SC_SPAWN___196 = 159,
    _SC_SPORADIC_SERVER___196 = 160,
    _SC_THREAD_SPORADIC_SERVER___196 = 161,
    _SC_SYSTEM_DATABASE___196 = 162,
    _SC_SYSTEM_DATABASE_R___196 = 163,
    _SC_TIMEOUTS___196 = 164,
    _SC_TYPED_MEMORY_OBJECTS___196 = 165,
    _SC_USER_GROUPS___196 = 166,
    _SC_USER_GROUPS_R___196 = 167,
    _SC_2_PBS___196 = 168,
    _SC_2_PBS_ACCOUNTING___196 = 169,
    _SC_2_PBS_LOCATE___196 = 170,
    _SC_2_PBS_MESSAGE___196 = 171,
    _SC_2_PBS_TRACK___196 = 172,
    _SC_SYMLOOP_MAX___196 = 173,
    _SC_STREAMS___196 = 174,
    _SC_2_PBS_CHECKPOINT___196 = 175,
    _SC_V6_ILP32_OFF32___196 = 176,
    _SC_V6_ILP32_OFFBIG___196 = 177,
    _SC_V6_LP64_OFF64___196 = 178,
    _SC_V6_LPBIG_OFFBIG___196 = 179,
    _SC_HOST_NAME_MAX___196 = 180,
    _SC_TRACE___196 = 181,
    _SC_TRACE_EVENT_FILTER___196 = 182,
    _SC_TRACE_INHERIT___196 = 183,
    _SC_TRACE_LOG___196 = 184,
    _SC_LEVEL1_ICACHE_SIZE___196 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___196 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___196 = 187,
    _SC_LEVEL1_DCACHE_SIZE___196 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___196 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___196 = 190,
    _SC_LEVEL2_CACHE_SIZE___196 = 191,
    _SC_LEVEL2_CACHE_ASSOC___196 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___196 = 193,
    _SC_LEVEL3_CACHE_SIZE___196 = 194,
    _SC_LEVEL3_CACHE_ASSOC___196 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___196 = 196,
    _SC_LEVEL4_CACHE_SIZE___196 = 197,
    _SC_LEVEL4_CACHE_ASSOC___196 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___196 = 199,
    _SC_IPV6___196 = 235,
    _SC_RAW_SOCKETS___196 = 236,
    _SC_V7_ILP32_OFF32___196 = 237,
    _SC_V7_ILP32_OFFBIG___196 = 238,
    _SC_V7_LP64_OFF64___196 = 239,
    _SC_V7_LPBIG_OFFBIG___196 = 240,
    _SC_SS_REPL_MAX___196 = 241,
    _SC_TRACE_EVENT_NAME_MAX___196 = 242,
    _SC_TRACE_NAME_MAX___196 = 243,
    _SC_TRACE_SYS_MAX___196 = 244,
    _SC_TRACE_USER_EVENT_MAX___196 = 245,
    _SC_XOPEN_STREAMS___196 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___196 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___196 = 248
} ;
enum __anonenum_875524036___196 {
    _CS_PATH___196 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___196 = 1,
    _CS_GNU_LIBC_VERSION___196 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___196 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___196 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___196 = 5,
    _CS_LFS_CFLAGS___196 = 1000,
    _CS_LFS_LDFLAGS___196 = 1001,
    _CS_LFS_LIBS___196 = 1002,
    _CS_LFS_LINTFLAGS___196 = 1003,
    _CS_LFS64_CFLAGS___196 = 1004,
    _CS_LFS64_LDFLAGS___196 = 1005,
    _CS_LFS64_LIBS___196 = 1006,
    _CS_LFS64_LINTFLAGS___196 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___196 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___196 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___196 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___196 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___196 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___196 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___196 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___196 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___196 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___196 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___196 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___196 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___196 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___196 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___196 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___196 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___196 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___196 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___196 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___196 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___196 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___196 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___196 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___196 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___196 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___196 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___196 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___196 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___196 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___196 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___196 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___196 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___196 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___196 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___196 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___196 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___196 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___196 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___196 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___196 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___196 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___196 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___196 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___196 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___196 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___196 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___196 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___196 = 1147,
    _CS_V6_ENV___196 = 1148,
    _CS_V7_ENV___196 = 1149
} ;
enum __anonenum_513775621___196 {
    DT_UNKNOWN___196 = 0,
    DT_FIFO___196 = 1,
    DT_CHR___196 = 2,
    DT_DIR___196 = 4,
    DT_BLK___196 = 6,
    DT_REG___196 = 8,
    DT_LNK___196 = 10,
    DT_SOCK___196 = 12,
    DT_WHT___196 = 14
} ;
enum __anonenum_77002343___196 {
    SI_ASYNCNL___196 = -60,
    SI_TKILL___196 = -6,
    SI_SIGIO___196 = -5,
    SI_ASYNCIO___196 = -4,
    SI_MESGQ___196 = -3,
    SI_TIMER___196 = -2,
    SI_QUEUE___196 = -1,
    SI_USER___196 = 0,
    SI_KERNEL___196 = 128
} ;
enum __anonenum_131038172___196 {
    ILL_ILLOPC___196 = 1,
    ILL_ILLOPN___196 = 2,
    ILL_ILLADR___196 = 3,
    ILL_ILLTRP___196 = 4,
    ILL_PRVOPC___196 = 5,
    ILL_PRVREG___196 = 6,
    ILL_COPROC___196 = 7,
    ILL_BADSTK___196 = 8
} ;
enum __anonenum_452038093___196 {
    FPE_INTDIV___196 = 1,
    FPE_INTOVF___196 = 2,
    FPE_FLTDIV___196 = 3,
    FPE_FLTOVF___196 = 4,
    FPE_FLTUND___196 = 5,
    FPE_FLTRES___196 = 6,
    FPE_FLTINV___196 = 7,
    FPE_FLTSUB___196 = 8
} ;
enum __anonenum_30976155___196 {
    SEGV_MAPERR___196 = 1,
    SEGV_ACCERR___196 = 2,
    SEGV_BNDERR___196 = 3,
    SEGV_PKUERR___196 = 4
} ;
enum __anonenum_1036286214___196 {
    BUS_ADRALN___196 = 1,
    BUS_ADRERR___196 = 2,
    BUS_OBJERR___196 = 3,
    BUS_MCEERR_AR___196 = 4,
    BUS_MCEERR_AO___196 = 5
} ;
enum __anonenum_493465559___196 {
    TRAP_BRKPT___196 = 1,
    TRAP_TRACE___196 = 2
} ;
enum __anonenum_23175539___196 {
    CLD_EXITED___196 = 1,
    CLD_KILLED___196 = 2,
    CLD_DUMPED___196 = 3,
    CLD_TRAPPED___196 = 4,
    CLD_STOPPED___196 = 5,
    CLD_CONTINUED___196 = 6
} ;
enum __anonenum_111643124___196 {
    POLL_IN___196 = 1,
    POLL_OUT___196 = 2,
    POLL_MSG___196 = 3,
    POLL_ERR___196 = 4,
    POLL_PRI___196 = 5,
    POLL_HUP___196 = 6
} ;
enum __anonenum_852341087___196 {
    SIGEV_SIGNAL___196 = 0,
    SIGEV_NONE___196 = 1,
    SIGEV_THREAD___196 = 2,
    SIGEV_THREAD_ID___196 = 4
} ;
enum __anonenum_451154152___196 {
    REG_R8___196 = 0,
    REG_R9___196 = 1,
    REG_R10___196 = 2,
    REG_R11___196 = 3,
    REG_R12___196 = 4,
    REG_R13___196 = 5,
    REG_R14___196 = 6,
    REG_R15___196 = 7,
    REG_RDI___196 = 8,
    REG_RSI___196 = 9,
    REG_RBP___196 = 10,
    REG_RBX___196 = 11,
    REG_RDX___196 = 12,
    REG_RAX___196 = 13,
    REG_RCX___196 = 14,
    REG_RSP___196 = 15,
    REG_RIP___196 = 16,
    REG_EFL___196 = 17,
    REG_CSGSFS___196 = 18,
    REG_ERR___196 = 19,
    REG_TRAPNO___196 = 20,
    REG_OLDMASK___196 = 21,
    REG_CR2___196 = 22
} ;
enum __anonenum_57186863___196 {
    SS_ONSTACK___196 = 1,
    SS_DISABLE___196 = 2
} ;
enum __anonenum_83571709___196 {
    MSG_OOB___196 = 1,
    MSG_PEEK___196 = 2,
    MSG_DONTROUTE___196 = 4,
    MSG_TRYHARD___196 = 4,
    MSG_CTRUNC___196 = 8,
    MSG_PROXY___196 = 16,
    MSG_TRUNC___196 = 32,
    MSG_DONTWAIT___196 = 64,
    MSG_EOR___196 = 128,
    MSG_WAITALL___196 = 256,
    MSG_FIN___196 = 512,
    MSG_SYN___196 = 1024,
    MSG_CONFIRM___196 = 2048,
    MSG_RST___196 = 4096,
    MSG_ERRQUEUE___196 = 8192,
    MSG_NOSIGNAL___196 = 16384,
    MSG_MORE___196 = 32768,
    MSG_WAITFORONE___196 = 65536,
    MSG_BATCH___196 = 262144,
    MSG_ZEROCOPY___196 = 67108864,
    MSG_FASTOPEN___196 = 536870912,
    MSG_CMSG_CLOEXEC___196 = 1073741824
} ;
enum __anonenum_617082774___196 {
    SCM_RIGHTS___196 = 1,
    SCM_CREDENTIALS___196 = 2
} ;
enum __anonenum_606441560___196 {
    SHUT_RD___196 = 0,
    SHUT_WR___196 = 1,
    SHUT_RDWR___196 = 2
} ;
enum __anonenum_681669233___196 {
    IPPROTO_IP___196 = 0,
    IPPROTO_ICMP___196 = 1,
    IPPROTO_IGMP___196 = 2,
    IPPROTO_IPIP___196 = 4,
    IPPROTO_TCP___196 = 6,
    IPPROTO_EGP___196 = 8,
    IPPROTO_PUP___196 = 12,
    IPPROTO_UDP___196 = 17,
    IPPROTO_IDP___196 = 22,
    IPPROTO_TP___196 = 29,
    IPPROTO_DCCP___196 = 33,
    IPPROTO_IPV6___196 = 41,
    IPPROTO_RSVP___196 = 46,
    IPPROTO_GRE___196 = 47,
    IPPROTO_ESP___196 = 50,
    IPPROTO_AH___196 = 51,
    IPPROTO_MTP___196 = 92,
    IPPROTO_BEETPH___196 = 94,
    IPPROTO_ENCAP___196 = 98,
    IPPROTO_PIM___196 = 103,
    IPPROTO_COMP___196 = 108,
    IPPROTO_SCTP___196 = 132,
    IPPROTO_UDPLITE___196 = 136,
    IPPROTO_MPLS___196 = 137,
    IPPROTO_RAW___196 = 255,
    IPPROTO_MAX___196 = 256
} ;
enum __anonenum_218739988___196 {
    IPPROTO_HOPOPTS___196 = 0,
    IPPROTO_ROUTING___196 = 43,
    IPPROTO_FRAGMENT___196 = 44,
    IPPROTO_ICMPV6___196 = 58,
    IPPROTO_NONE___196 = 59,
    IPPROTO_DSTOPTS___196 = 60,
    IPPROTO_MH___196 = 135
} ;
enum __anonenum_662268580___196 {
    IPPORT_ECHO___196 = 7,
    IPPORT_DISCARD___196 = 9,
    IPPORT_SYSTAT___196 = 11,
    IPPORT_DAYTIME___196 = 13,
    IPPORT_NETSTAT___196 = 15,
    IPPORT_FTP___196 = 21,
    IPPORT_TELNET___196 = 23,
    IPPORT_SMTP___196 = 25,
    IPPORT_TIMESERVER___196 = 37,
    IPPORT_NAMESERVER___196 = 42,
    IPPORT_WHOIS___196 = 43,
    IPPORT_MTP___196 = 57,
    IPPORT_TFTP___196 = 69,
    IPPORT_RJE___196 = 77,
    IPPORT_FINGER___196 = 79,
    IPPORT_TTYLINK___196 = 87,
    IPPORT_SUPDUP___196 = 95,
    IPPORT_EXECSERVER___196 = 512,
    IPPORT_LOGINSERVER___196 = 513,
    IPPORT_CMDSERVER___196 = 514,
    IPPORT_EFSSERVER___196 = 520,
    IPPORT_BIFFUDP___196 = 512,
    IPPORT_WHOSERVER___196 = 513,
    IPPORT_ROUTESERVER___196 = 520,
    IPPORT_RESERVED___196 = 1024,
    IPPORT_USERRESERVED___196 = 5000
} ;
enum __anonenum_788308992___196 {
    TCP_ESTABLISHED___196 = 1,
    TCP_SYN_SENT___196 = 2,
    TCP_SYN_RECV___196 = 3,
    TCP_FIN_WAIT1___196 = 4,
    TCP_FIN_WAIT2___196 = 5,
    TCP_TIME_WAIT___196 = 6,
    TCP_CLOSE___196 = 7,
    TCP_CLOSE_WAIT___196 = 8,
    TCP_LAST_ACK___196 = 9,
    TCP_LISTEN___196 = 10,
    TCP_CLOSING___196 = 11
} ;
enum __anonenum_221125648___196 {
    TCP_NO_QUEUE___196 = 0,
    TCP_RECV_QUEUE___196 = 1,
    TCP_SEND_QUEUE___196 = 2,
    TCP_QUEUES_NR___196 = 3
} ;
enum __anonenum_34415463___196 {
    PTHREAD_CREATE_JOINABLE___196 = 0,
    PTHREAD_CREATE_DETACHED___196 = 1
} ;
enum __anonenum_303612439___196 {
    PTHREAD_MUTEX_TIMED_NP___196 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___196 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___196 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___196 = 3,
    PTHREAD_MUTEX_NORMAL___196 = 0,
    PTHREAD_MUTEX_RECURSIVE___196 = 1,
    PTHREAD_MUTEX_ERRORCHECK___196 = 2,
    PTHREAD_MUTEX_DEFAULT___196 = 0,
    PTHREAD_MUTEX_FAST_NP___196 = 0
} ;
enum __anonenum_931900394___196 {
    PTHREAD_MUTEX_STALLED___196 = 0,
    PTHREAD_MUTEX_STALLED_NP___196 = 0,
    PTHREAD_MUTEX_ROBUST___196 = 1,
    PTHREAD_MUTEX_ROBUST_NP___196 = 1
} ;
enum __anonenum_205214487___196 {
    PTHREAD_PRIO_NONE___196 = 0,
    PTHREAD_PRIO_INHERIT___196 = 1,
    PTHREAD_PRIO_PROTECT___196 = 2
} ;
enum __anonenum_25043950___196 {
    PTHREAD_RWLOCK_PREFER_READER_NP___196 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___196 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___196 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___196 = 0
} ;
enum __anonenum_436439511___196 {
    PTHREAD_INHERIT_SCHED___196 = 0,
    PTHREAD_EXPLICIT_SCHED___196 = 1
} ;
enum __anonenum_998661166___196 {
    PTHREAD_SCOPE_SYSTEM___196 = 0,
    PTHREAD_SCOPE_PROCESS___196 = 1
} ;
enum __anonenum_146137331___196 {
    PTHREAD_PROCESS_PRIVATE___196 = 0,
    PTHREAD_PROCESS_SHARED___196 = 1
} ;
enum __anonenum_53396917___196 {
    PTHREAD_CANCEL_ENABLE___196 = 0,
    PTHREAD_CANCEL_DISABLE___196 = 1
} ;
enum __anonenum_904563783___196 {
    PTHREAD_CANCEL_DEFERRED___196 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___196 = 1
} ;
enum __anonenum_672052974___196 {
    SSL_CT_VALIDATION_PERMISSIVE___196 = 0,
    SSL_CT_VALIDATION_STRICT___196 = 1
} ;
enum tr2_sysenv_variable {
    TR2_SYSENV_CFG_PARAM = 0,
    TR2_SYSENV_ENV_VARS = 1,
    TR2_SYSENV_DST_DEBUG = 2,
    TR2_SYSENV_NORMAL = 3,
    TR2_SYSENV_NORMAL_BRIEF = 4,
    TR2_SYSENV_EVENT = 5,
    TR2_SYSENV_EVENT_BRIEF = 6,
    TR2_SYSENV_EVENT_NESTING = 7,
    TR2_SYSENV_PERF = 8,
    TR2_SYSENV_PERF_BRIEF = 9,
    TR2_SYSENV_MAX_FILES = 10,
    TR2_SYSENV_MUST_BE_LAST = 11
} ;
struct tr2_dst {
   enum tr2_sysenv_variable sysenv_var ;
   int fd ;
   unsigned int initialized : 1 ;
   unsigned int need_close : 1 ;
   unsigned int too_many_files : 1 ;
};
typedef int tr2_tgt_init_t(void);
typedef void tr2_tgt_term_t(void);
typedef void tr2_tgt_evt_version_fl_t(char const   *file , int line );
typedef void tr2_tgt_evt_start_fl_t(char const   *file , int line , uint64_t us_elapsed_absolute ,
                                    char const   **argv );
typedef void tr2_tgt_evt_exit_fl_t(char const   *file , int line , uint64_t us_elapsed_absolute ,
                                   int code );
typedef void tr2_tgt_evt_signal_t(uint64_t us_elapsed_absolute , int signo );
typedef void tr2_tgt_evt_atexit_t(uint64_t us_elapsed_absolute , int code );
typedef void tr2_tgt_evt_error_va_fl_t(char const   *file , int line , char const   *fmt ,
                                       va_list ap );
typedef void tr2_tgt_evt_command_path_fl_t(char const   *file , int line , char const   *command_path );
typedef void tr2_tgt_evt_command_ancestry_fl_t(char const   *file , int line , char const   **parent_names );
typedef void tr2_tgt_evt_command_name_fl_t(char const   *file , int line , char const   *name ,
                                           char const   *hierarchy );
typedef void tr2_tgt_evt_command_mode_fl_t(char const   *file , int line , char const   *mode );
typedef void tr2_tgt_evt_alias_fl_t(char const   *file , int line , char const   *alias ,
                                    char const   **argv );
typedef void tr2_tgt_evt_child_start_fl_t(char const   *file , int line , uint64_t us_elapsed_absolute ,
                                          struct child_process  const  *cmd );
typedef void tr2_tgt_evt_child_exit_fl_t(char const   *file , int line , uint64_t us_elapsed_absolute ,
                                         int cid , int pid , int code , uint64_t us_elapsed_child );
typedef void tr2_tgt_evt_child_ready_fl_t(char const   *file , int line , uint64_t us_elapsed_absolute ,
                                          int cid , int pid , char const   *ready ,
                                          uint64_t us_elapsed_child );
typedef void tr2_tgt_evt_thread_start_fl_t(char const   *file , int line , uint64_t us_elapsed_absolute );
typedef void tr2_tgt_evt_thread_exit_fl_t(char const   *file , int line , uint64_t us_elapsed_absolute ,
                                          uint64_t us_elapsed_thread );
typedef void tr2_tgt_evt_exec_fl_t(char const   *file , int line , uint64_t us_elapsed_absolute ,
                                   int exec_id , char const   *exe , char const   **argv );
typedef void tr2_tgt_evt_exec_result_fl_t(char const   *file , int line , uint64_t us_elapsed_absolute ,
                                          int exec_id , int code );
typedef void tr2_tgt_evt_param_fl_t(char const   *file , int line , char const   *param ,
                                    char const   *value );
typedef void tr2_tgt_evt_repo_fl_t(char const   *file , int line , struct repository  const  *repo );
typedef void tr2_tgt_evt_region_enter_printf_va_fl_t(char const   *file , int line ,
                                                     uint64_t us_elapsed_absolute ,
                                                     char const   *category , char const   *label ,
                                                     struct repository  const  *repo ,
                                                     char const   *fmt , va_list ap );
typedef void tr2_tgt_evt_region_leave_printf_va_fl_t(char const   *file , int line ,
                                                     uint64_t us_elapsed_absolute ,
                                                     uint64_t us_elapsed_region ,
                                                     char const   *category , char const   *label ,
                                                     struct repository  const  *repo ,
                                                     char const   *fmt , va_list ap );
typedef void tr2_tgt_evt_data_fl_t(char const   *file , int line , uint64_t us_elapsed_absolute ,
                                   uint64_t us_elapsed_region , char const   *category ,
                                   struct repository  const  *repo , char const   *key ,
                                   char const   *value );
typedef void tr2_tgt_evt_data_json_fl_t(char const   *file , int line , uint64_t us_elapsed_absolute ,
                                        uint64_t us_elapsed_region , char const   *category ,
                                        struct repository  const  *repo , char const   *key ,
                                        struct json_writer  const  *value );
typedef void tr2_tgt_evt_printf_va_fl_t(char const   *file , int line , uint64_t us_elapsed_absolute ,
                                        char const   *fmt , va_list ap );
struct tr2_tgt {
   struct tr2_dst *pdst ;
   tr2_tgt_init_t *pfn_init ;
   tr2_tgt_term_t *pfn_term ;
   tr2_tgt_evt_version_fl_t *pfn_version_fl ;
   tr2_tgt_evt_start_fl_t *pfn_start_fl ;
   tr2_tgt_evt_exit_fl_t *pfn_exit_fl ;
   tr2_tgt_evt_signal_t *pfn_signal ;
   tr2_tgt_evt_atexit_t *pfn_atexit ;
   tr2_tgt_evt_error_va_fl_t *pfn_error_va_fl ;
   tr2_tgt_evt_command_path_fl_t *pfn_command_path_fl ;
   tr2_tgt_evt_command_ancestry_fl_t *pfn_command_ancestry_fl ;
   tr2_tgt_evt_command_name_fl_t *pfn_command_name_fl ;
   tr2_tgt_evt_command_mode_fl_t *pfn_command_mode_fl ;
   tr2_tgt_evt_alias_fl_t *pfn_alias_fl ;
   tr2_tgt_evt_child_start_fl_t *pfn_child_start_fl ;
   tr2_tgt_evt_child_exit_fl_t *pfn_child_exit_fl ;
   tr2_tgt_evt_child_ready_fl_t *pfn_child_ready_fl ;
   tr2_tgt_evt_thread_start_fl_t *pfn_thread_start_fl ;
   tr2_tgt_evt_thread_exit_fl_t *pfn_thread_exit_fl ;
   tr2_tgt_evt_exec_fl_t *pfn_exec_fl ;
   tr2_tgt_evt_exec_result_fl_t *pfn_exec_result_fl ;
   tr2_tgt_evt_param_fl_t *pfn_param_fl ;
   tr2_tgt_evt_repo_fl_t *pfn_repo_fl ;
   tr2_tgt_evt_region_enter_printf_va_fl_t *pfn_region_enter_printf_va_fl ;
   tr2_tgt_evt_region_leave_printf_va_fl_t *pfn_region_leave_printf_va_fl ;
   tr2_tgt_evt_data_fl_t *pfn_data_fl ;
   tr2_tgt_evt_data_json_fl_t *pfn_data_json_fl ;
   tr2_tgt_evt_printf_va_fl_t *pfn_printf_va_fl ;
};
struct tr2tls_thread_ctx {
   struct strbuf thread_name ;
   uint64_t *array_us_start ;
   int alloc ;
   int nr_open_regions ;
   int thread_id ;
};
enum __anonenum_437032235___197 {
    _PC_LINK_MAX___197 = 0,
    _PC_MAX_CANON___197 = 1,
    _PC_MAX_INPUT___197 = 2,
    _PC_NAME_MAX___197 = 3,
    _PC_PATH_MAX___197 = 4,
    _PC_PIPE_BUF___197 = 5,
    _PC_CHOWN_RESTRICTED___197 = 6,
    _PC_NO_TRUNC___197 = 7,
    _PC_VDISABLE___197 = 8,
    _PC_SYNC_IO___197 = 9,
    _PC_ASYNC_IO___197 = 10,
    _PC_PRIO_IO___197 = 11,
    _PC_SOCK_MAXBUF___197 = 12,
    _PC_FILESIZEBITS___197 = 13,
    _PC_REC_INCR_XFER_SIZE___197 = 14,
    _PC_REC_MAX_XFER_SIZE___197 = 15,
    _PC_REC_MIN_XFER_SIZE___197 = 16,
    _PC_REC_XFER_ALIGN___197 = 17,
    _PC_ALLOC_SIZE_MIN___197 = 18,
    _PC_SYMLINK_MAX___197 = 19,
    _PC_2_SYMLINKS___197 = 20
} ;
enum __anonenum_315186338___197 {
    _SC_ARG_MAX___197 = 0,
    _SC_CHILD_MAX___197 = 1,
    _SC_CLK_TCK___197 = 2,
    _SC_NGROUPS_MAX___197 = 3,
    _SC_OPEN_MAX___197 = 4,
    _SC_STREAM_MAX___197 = 5,
    _SC_TZNAME_MAX___197 = 6,
    _SC_JOB_CONTROL___197 = 7,
    _SC_SAVED_IDS___197 = 8,
    _SC_REALTIME_SIGNALS___197 = 9,
    _SC_PRIORITY_SCHEDULING___197 = 10,
    _SC_TIMERS___197 = 11,
    _SC_ASYNCHRONOUS_IO___197 = 12,
    _SC_PRIORITIZED_IO___197 = 13,
    _SC_SYNCHRONIZED_IO___197 = 14,
    _SC_FSYNC___197 = 15,
    _SC_MAPPED_FILES___197 = 16,
    _SC_MEMLOCK___197 = 17,
    _SC_MEMLOCK_RANGE___197 = 18,
    _SC_MEMORY_PROTECTION___197 = 19,
    _SC_MESSAGE_PASSING___197 = 20,
    _SC_SEMAPHORES___197 = 21,
    _SC_SHARED_MEMORY_OBJECTS___197 = 22,
    _SC_AIO_LISTIO_MAX___197 = 23,
    _SC_AIO_MAX___197 = 24,
    _SC_AIO_PRIO_DELTA_MAX___197 = 25,
    _SC_DELAYTIMER_MAX___197 = 26,
    _SC_MQ_OPEN_MAX___197 = 27,
    _SC_MQ_PRIO_MAX___197 = 28,
    _SC_VERSION___197 = 29,
    _SC_PAGESIZE___197 = 30,
    _SC_RTSIG_MAX___197 = 31,
    _SC_SEM_NSEMS_MAX___197 = 32,
    _SC_SEM_VALUE_MAX___197 = 33,
    _SC_SIGQUEUE_MAX___197 = 34,
    _SC_TIMER_MAX___197 = 35,
    _SC_BC_BASE_MAX___197 = 36,
    _SC_BC_DIM_MAX___197 = 37,
    _SC_BC_SCALE_MAX___197 = 38,
    _SC_BC_STRING_MAX___197 = 39,
    _SC_COLL_WEIGHTS_MAX___197 = 40,
    _SC_EQUIV_CLASS_MAX___197 = 41,
    _SC_EXPR_NEST_MAX___197 = 42,
    _SC_LINE_MAX___197 = 43,
    _SC_RE_DUP_MAX___197 = 44,
    _SC_CHARCLASS_NAME_MAX___197 = 45,
    _SC_2_VERSION___197 = 46,
    _SC_2_C_BIND___197 = 47,
    _SC_2_C_DEV___197 = 48,
    _SC_2_FORT_DEV___197 = 49,
    _SC_2_FORT_RUN___197 = 50,
    _SC_2_SW_DEV___197 = 51,
    _SC_2_LOCALEDEF___197 = 52,
    _SC_PII___197 = 53,
    _SC_PII_XTI___197 = 54,
    _SC_PII_SOCKET___197 = 55,
    _SC_PII_INTERNET___197 = 56,
    _SC_PII_OSI___197 = 57,
    _SC_POLL___197 = 58,
    _SC_SELECT___197 = 59,
    _SC_UIO_MAXIOV___197 = 60,
    _SC_IOV_MAX___197 = 60,
    _SC_PII_INTERNET_STREAM___197 = 61,
    _SC_PII_INTERNET_DGRAM___197 = 62,
    _SC_PII_OSI_COTS___197 = 63,
    _SC_PII_OSI_CLTS___197 = 64,
    _SC_PII_OSI_M___197 = 65,
    _SC_T_IOV_MAX___197 = 66,
    _SC_THREADS___197 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___197 = 68,
    _SC_GETGR_R_SIZE_MAX___197 = 69,
    _SC_GETPW_R_SIZE_MAX___197 = 70,
    _SC_LOGIN_NAME_MAX___197 = 71,
    _SC_TTY_NAME_MAX___197 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___197 = 73,
    _SC_THREAD_KEYS_MAX___197 = 74,
    _SC_THREAD_STACK_MIN___197 = 75,
    _SC_THREAD_THREADS_MAX___197 = 76,
    _SC_THREAD_ATTR_STACKADDR___197 = 77,
    _SC_THREAD_ATTR_STACKSIZE___197 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___197 = 79,
    _SC_THREAD_PRIO_INHERIT___197 = 80,
    _SC_THREAD_PRIO_PROTECT___197 = 81,
    _SC_THREAD_PROCESS_SHARED___197 = 82,
    _SC_NPROCESSORS_CONF___197 = 83,
    _SC_NPROCESSORS_ONLN___197 = 84,
    _SC_PHYS_PAGES___197 = 85,
    _SC_AVPHYS_PAGES___197 = 86,
    _SC_ATEXIT_MAX___197 = 87,
    _SC_PASS_MAX___197 = 88,
    _SC_XOPEN_VERSION___197 = 89,
    _SC_XOPEN_XCU_VERSION___197 = 90,
    _SC_XOPEN_UNIX___197 = 91,
    _SC_XOPEN_CRYPT___197 = 92,
    _SC_XOPEN_ENH_I18N___197 = 93,
    _SC_XOPEN_SHM___197 = 94,
    _SC_2_CHAR_TERM___197 = 95,
    _SC_2_C_VERSION___197 = 96,
    _SC_2_UPE___197 = 97,
    _SC_XOPEN_XPG2___197 = 98,
    _SC_XOPEN_XPG3___197 = 99,
    _SC_XOPEN_XPG4___197 = 100,
    _SC_CHAR_BIT___197 = 101,
    _SC_CHAR_MAX___197 = 102,
    _SC_CHAR_MIN___197 = 103,
    _SC_INT_MAX___197 = 104,
    _SC_INT_MIN___197 = 105,
    _SC_LONG_BIT___197 = 106,
    _SC_WORD_BIT___197 = 107,
    _SC_MB_LEN_MAX___197 = 108,
    _SC_NZERO___197 = 109,
    _SC_SSIZE_MAX___197 = 110,
    _SC_SCHAR_MAX___197 = 111,
    _SC_SCHAR_MIN___197 = 112,
    _SC_SHRT_MAX___197 = 113,
    _SC_SHRT_MIN___197 = 114,
    _SC_UCHAR_MAX___197 = 115,
    _SC_UINT_MAX___197 = 116,
    _SC_ULONG_MAX___197 = 117,
    _SC_USHRT_MAX___197 = 118,
    _SC_NL_ARGMAX___197 = 119,
    _SC_NL_LANGMAX___197 = 120,
    _SC_NL_MSGMAX___197 = 121,
    _SC_NL_NMAX___197 = 122,
    _SC_NL_SETMAX___197 = 123,
    _SC_NL_TEXTMAX___197 = 124,
    _SC_XBS5_ILP32_OFF32___197 = 125,
    _SC_XBS5_ILP32_OFFBIG___197 = 126,
    _SC_XBS5_LP64_OFF64___197 = 127,
    _SC_XBS5_LPBIG_OFFBIG___197 = 128,
    _SC_XOPEN_LEGACY___197 = 129,
    _SC_XOPEN_REALTIME___197 = 130,
    _SC_XOPEN_REALTIME_THREADS___197 = 131,
    _SC_ADVISORY_INFO___197 = 132,
    _SC_BARRIERS___197 = 133,
    _SC_BASE___197 = 134,
    _SC_C_LANG_SUPPORT___197 = 135,
    _SC_C_LANG_SUPPORT_R___197 = 136,
    _SC_CLOCK_SELECTION___197 = 137,
    _SC_CPUTIME___197 = 138,
    _SC_THREAD_CPUTIME___197 = 139,
    _SC_DEVICE_IO___197 = 140,
    _SC_DEVICE_SPECIFIC___197 = 141,
    _SC_DEVICE_SPECIFIC_R___197 = 142,
    _SC_FD_MGMT___197 = 143,
    _SC_FIFO___197 = 144,
    _SC_PIPE___197 = 145,
    _SC_FILE_ATTRIBUTES___197 = 146,
    _SC_FILE_LOCKING___197 = 147,
    _SC_FILE_SYSTEM___197 = 148,
    _SC_MONOTONIC_CLOCK___197 = 149,
    _SC_MULTI_PROCESS___197 = 150,
    _SC_SINGLE_PROCESS___197 = 151,
    _SC_NETWORKING___197 = 152,
    _SC_READER_WRITER_LOCKS___197 = 153,
    _SC_SPIN_LOCKS___197 = 154,
    _SC_REGEXP___197 = 155,
    _SC_REGEX_VERSION___197 = 156,
    _SC_SHELL___197 = 157,
    _SC_SIGNALS___197 = 158,
    _SC_SPAWN___197 = 159,
    _SC_SPORADIC_SERVER___197 = 160,
    _SC_THREAD_SPORADIC_SERVER___197 = 161,
    _SC_SYSTEM_DATABASE___197 = 162,
    _SC_SYSTEM_DATABASE_R___197 = 163,
    _SC_TIMEOUTS___197 = 164,
    _SC_TYPED_MEMORY_OBJECTS___197 = 165,
    _SC_USER_GROUPS___197 = 166,
    _SC_USER_GROUPS_R___197 = 167,
    _SC_2_PBS___197 = 168,
    _SC_2_PBS_ACCOUNTING___197 = 169,
    _SC_2_PBS_LOCATE___197 = 170,
    _SC_2_PBS_MESSAGE___197 = 171,
    _SC_2_PBS_TRACK___197 = 172,
    _SC_SYMLOOP_MAX___197 = 173,
    _SC_STREAMS___197 = 174,
    _SC_2_PBS_CHECKPOINT___197 = 175,
    _SC_V6_ILP32_OFF32___197 = 176,
    _SC_V6_ILP32_OFFBIG___197 = 177,
    _SC_V6_LP64_OFF64___197 = 178,
    _SC_V6_LPBIG_OFFBIG___197 = 179,
    _SC_HOST_NAME_MAX___197 = 180,
    _SC_TRACE___197 = 181,
    _SC_TRACE_EVENT_FILTER___197 = 182,
    _SC_TRACE_INHERIT___197 = 183,
    _SC_TRACE_LOG___197 = 184,
    _SC_LEVEL1_ICACHE_SIZE___197 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___197 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___197 = 187,
    _SC_LEVEL1_DCACHE_SIZE___197 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___197 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___197 = 190,
    _SC_LEVEL2_CACHE_SIZE___197 = 191,
    _SC_LEVEL2_CACHE_ASSOC___197 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___197 = 193,
    _SC_LEVEL3_CACHE_SIZE___197 = 194,
    _SC_LEVEL3_CACHE_ASSOC___197 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___197 = 196,
    _SC_LEVEL4_CACHE_SIZE___197 = 197,
    _SC_LEVEL4_CACHE_ASSOC___197 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___197 = 199,
    _SC_IPV6___197 = 235,
    _SC_RAW_SOCKETS___197 = 236,
    _SC_V7_ILP32_OFF32___197 = 237,
    _SC_V7_ILP32_OFFBIG___197 = 238,
    _SC_V7_LP64_OFF64___197 = 239,
    _SC_V7_LPBIG_OFFBIG___197 = 240,
    _SC_SS_REPL_MAX___197 = 241,
    _SC_TRACE_EVENT_NAME_MAX___197 = 242,
    _SC_TRACE_NAME_MAX___197 = 243,
    _SC_TRACE_SYS_MAX___197 = 244,
    _SC_TRACE_USER_EVENT_MAX___197 = 245,
    _SC_XOPEN_STREAMS___197 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___197 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___197 = 248
} ;
enum __anonenum_875524036___197 {
    _CS_PATH___197 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___197 = 1,
    _CS_GNU_LIBC_VERSION___197 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___197 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___197 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___197 = 5,
    _CS_LFS_CFLAGS___197 = 1000,
    _CS_LFS_LDFLAGS___197 = 1001,
    _CS_LFS_LIBS___197 = 1002,
    _CS_LFS_LINTFLAGS___197 = 1003,
    _CS_LFS64_CFLAGS___197 = 1004,
    _CS_LFS64_LDFLAGS___197 = 1005,
    _CS_LFS64_LIBS___197 = 1006,
    _CS_LFS64_LINTFLAGS___197 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___197 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___197 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___197 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___197 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___197 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___197 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___197 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___197 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___197 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___197 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___197 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___197 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___197 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___197 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___197 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___197 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___197 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___197 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___197 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___197 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___197 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___197 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___197 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___197 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___197 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___197 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___197 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___197 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___197 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___197 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___197 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___197 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___197 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___197 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___197 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___197 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___197 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___197 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___197 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___197 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___197 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___197 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___197 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___197 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___197 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___197 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___197 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___197 = 1147,
    _CS_V6_ENV___197 = 1148,
    _CS_V7_ENV___197 = 1149
} ;
enum __anonenum_513775621___197 {
    DT_UNKNOWN___197 = 0,
    DT_FIFO___197 = 1,
    DT_CHR___197 = 2,
    DT_DIR___197 = 4,
    DT_BLK___197 = 6,
    DT_REG___197 = 8,
    DT_LNK___197 = 10,
    DT_SOCK___197 = 12,
    DT_WHT___197 = 14
} ;
enum __anonenum_77002343___197 {
    SI_ASYNCNL___197 = -60,
    SI_TKILL___197 = -6,
    SI_SIGIO___197 = -5,
    SI_ASYNCIO___197 = -4,
    SI_MESGQ___197 = -3,
    SI_TIMER___197 = -2,
    SI_QUEUE___197 = -1,
    SI_USER___197 = 0,
    SI_KERNEL___197 = 128
} ;
enum __anonenum_131038172___197 {
    ILL_ILLOPC___197 = 1,
    ILL_ILLOPN___197 = 2,
    ILL_ILLADR___197 = 3,
    ILL_ILLTRP___197 = 4,
    ILL_PRVOPC___197 = 5,
    ILL_PRVREG___197 = 6,
    ILL_COPROC___197 = 7,
    ILL_BADSTK___197 = 8
} ;
enum __anonenum_452038093___197 {
    FPE_INTDIV___197 = 1,
    FPE_INTOVF___197 = 2,
    FPE_FLTDIV___197 = 3,
    FPE_FLTOVF___197 = 4,
    FPE_FLTUND___197 = 5,
    FPE_FLTRES___197 = 6,
    FPE_FLTINV___197 = 7,
    FPE_FLTSUB___197 = 8
} ;
enum __anonenum_30976155___197 {
    SEGV_MAPERR___197 = 1,
    SEGV_ACCERR___197 = 2,
    SEGV_BNDERR___197 = 3,
    SEGV_PKUERR___197 = 4
} ;
enum __anonenum_1036286214___197 {
    BUS_ADRALN___197 = 1,
    BUS_ADRERR___197 = 2,
    BUS_OBJERR___197 = 3,
    BUS_MCEERR_AR___197 = 4,
    BUS_MCEERR_AO___197 = 5
} ;
enum __anonenum_493465559___197 {
    TRAP_BRKPT___197 = 1,
    TRAP_TRACE___197 = 2
} ;
enum __anonenum_23175539___197 {
    CLD_EXITED___197 = 1,
    CLD_KILLED___197 = 2,
    CLD_DUMPED___197 = 3,
    CLD_TRAPPED___197 = 4,
    CLD_STOPPED___197 = 5,
    CLD_CONTINUED___197 = 6
} ;
enum __anonenum_111643124___197 {
    POLL_IN___197 = 1,
    POLL_OUT___197 = 2,
    POLL_MSG___197 = 3,
    POLL_ERR___197 = 4,
    POLL_PRI___197 = 5,
    POLL_HUP___197 = 6
} ;
enum __anonenum_852341087___197 {
    SIGEV_SIGNAL___197 = 0,
    SIGEV_NONE___197 = 1,
    SIGEV_THREAD___197 = 2,
    SIGEV_THREAD_ID___197 = 4
} ;
enum __anonenum_451154152___197 {
    REG_R8___197 = 0,
    REG_R9___197 = 1,
    REG_R10___197 = 2,
    REG_R11___197 = 3,
    REG_R12___197 = 4,
    REG_R13___197 = 5,
    REG_R14___197 = 6,
    REG_R15___197 = 7,
    REG_RDI___197 = 8,
    REG_RSI___197 = 9,
    REG_RBP___197 = 10,
    REG_RBX___197 = 11,
    REG_RDX___197 = 12,
    REG_RAX___197 = 13,
    REG_RCX___197 = 14,
    REG_RSP___197 = 15,
    REG_RIP___197 = 16,
    REG_EFL___197 = 17,
    REG_CSGSFS___197 = 18,
    REG_ERR___197 = 19,
    REG_TRAPNO___197 = 20,
    REG_OLDMASK___197 = 21,
    REG_CR2___197 = 22
} ;
enum __anonenum_57186863___197 {
    SS_ONSTACK___197 = 1,
    SS_DISABLE___197 = 2
} ;
enum __anonenum_83571709___197 {
    MSG_OOB___197 = 1,
    MSG_PEEK___197 = 2,
    MSG_DONTROUTE___197 = 4,
    MSG_TRYHARD___197 = 4,
    MSG_CTRUNC___197 = 8,
    MSG_PROXY___197 = 16,
    MSG_TRUNC___197 = 32,
    MSG_DONTWAIT___197 = 64,
    MSG_EOR___197 = 128,
    MSG_WAITALL___197 = 256,
    MSG_FIN___197 = 512,
    MSG_SYN___197 = 1024,
    MSG_CONFIRM___197 = 2048,
    MSG_RST___197 = 4096,
    MSG_ERRQUEUE___197 = 8192,
    MSG_NOSIGNAL___197 = 16384,
    MSG_MORE___197 = 32768,
    MSG_WAITFORONE___197 = 65536,
    MSG_BATCH___197 = 262144,
    MSG_ZEROCOPY___197 = 67108864,
    MSG_FASTOPEN___197 = 536870912,
    MSG_CMSG_CLOEXEC___197 = 1073741824
} ;
enum __anonenum_617082774___197 {
    SCM_RIGHTS___197 = 1,
    SCM_CREDENTIALS___197 = 2
} ;
enum __anonenum_606441560___197 {
    SHUT_RD___197 = 0,
    SHUT_WR___197 = 1,
    SHUT_RDWR___197 = 2
} ;
enum __anonenum_681669233___197 {
    IPPROTO_IP___197 = 0,
    IPPROTO_ICMP___197 = 1,
    IPPROTO_IGMP___197 = 2,
    IPPROTO_IPIP___197 = 4,
    IPPROTO_TCP___197 = 6,
    IPPROTO_EGP___197 = 8,
    IPPROTO_PUP___197 = 12,
    IPPROTO_UDP___197 = 17,
    IPPROTO_IDP___197 = 22,
    IPPROTO_TP___197 = 29,
    IPPROTO_DCCP___197 = 33,
    IPPROTO_IPV6___197 = 41,
    IPPROTO_RSVP___197 = 46,
    IPPROTO_GRE___197 = 47,
    IPPROTO_ESP___197 = 50,
    IPPROTO_AH___197 = 51,
    IPPROTO_MTP___197 = 92,
    IPPROTO_BEETPH___197 = 94,
    IPPROTO_ENCAP___197 = 98,
    IPPROTO_PIM___197 = 103,
    IPPROTO_COMP___197 = 108,
    IPPROTO_SCTP___197 = 132,
    IPPROTO_UDPLITE___197 = 136,
    IPPROTO_MPLS___197 = 137,
    IPPROTO_RAW___197 = 255,
    IPPROTO_MAX___197 = 256
} ;
enum __anonenum_218739988___197 {
    IPPROTO_HOPOPTS___197 = 0,
    IPPROTO_ROUTING___197 = 43,
    IPPROTO_FRAGMENT___197 = 44,
    IPPROTO_ICMPV6___197 = 58,
    IPPROTO_NONE___197 = 59,
    IPPROTO_DSTOPTS___197 = 60,
    IPPROTO_MH___197 = 135
} ;
enum __anonenum_662268580___197 {
    IPPORT_ECHO___197 = 7,
    IPPORT_DISCARD___197 = 9,
    IPPORT_SYSTAT___197 = 11,
    IPPORT_DAYTIME___197 = 13,
    IPPORT_NETSTAT___197 = 15,
    IPPORT_FTP___197 = 21,
    IPPORT_TELNET___197 = 23,
    IPPORT_SMTP___197 = 25,
    IPPORT_TIMESERVER___197 = 37,
    IPPORT_NAMESERVER___197 = 42,
    IPPORT_WHOIS___197 = 43,
    IPPORT_MTP___197 = 57,
    IPPORT_TFTP___197 = 69,
    IPPORT_RJE___197 = 77,
    IPPORT_FINGER___197 = 79,
    IPPORT_TTYLINK___197 = 87,
    IPPORT_SUPDUP___197 = 95,
    IPPORT_EXECSERVER___197 = 512,
    IPPORT_LOGINSERVER___197 = 513,
    IPPORT_CMDSERVER___197 = 514,
    IPPORT_EFSSERVER___197 = 520,
    IPPORT_BIFFUDP___197 = 512,
    IPPORT_WHOSERVER___197 = 513,
    IPPORT_ROUTESERVER___197 = 520,
    IPPORT_RESERVED___197 = 1024,
    IPPORT_USERRESERVED___197 = 5000
} ;
enum __anonenum_788308992___197 {
    TCP_ESTABLISHED___197 = 1,
    TCP_SYN_SENT___197 = 2,
    TCP_SYN_RECV___197 = 3,
    TCP_FIN_WAIT1___197 = 4,
    TCP_FIN_WAIT2___197 = 5,
    TCP_TIME_WAIT___197 = 6,
    TCP_CLOSE___197 = 7,
    TCP_CLOSE_WAIT___197 = 8,
    TCP_LAST_ACK___197 = 9,
    TCP_LISTEN___197 = 10,
    TCP_CLOSING___197 = 11
} ;
enum __anonenum_221125648___197 {
    TCP_NO_QUEUE___197 = 0,
    TCP_RECV_QUEUE___197 = 1,
    TCP_SEND_QUEUE___197 = 2,
    TCP_QUEUES_NR___197 = 3
} ;
enum __anonenum_34415463___197 {
    PTHREAD_CREATE_JOINABLE___197 = 0,
    PTHREAD_CREATE_DETACHED___197 = 1
} ;
enum __anonenum_303612439___197 {
    PTHREAD_MUTEX_TIMED_NP___197 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___197 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___197 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___197 = 3,
    PTHREAD_MUTEX_NORMAL___197 = 0,
    PTHREAD_MUTEX_RECURSIVE___197 = 1,
    PTHREAD_MUTEX_ERRORCHECK___197 = 2,
    PTHREAD_MUTEX_DEFAULT___197 = 0,
    PTHREAD_MUTEX_FAST_NP___197 = 0
} ;
enum __anonenum_931900394___197 {
    PTHREAD_MUTEX_STALLED___197 = 0,
    PTHREAD_MUTEX_STALLED_NP___197 = 0,
    PTHREAD_MUTEX_ROBUST___197 = 1,
    PTHREAD_MUTEX_ROBUST_NP___197 = 1
} ;
enum __anonenum_205214487___197 {
    PTHREAD_PRIO_NONE___197 = 0,
    PTHREAD_PRIO_INHERIT___197 = 1,
    PTHREAD_PRIO_PROTECT___197 = 2
} ;
enum __anonenum_25043950___197 {
    PTHREAD_RWLOCK_PREFER_READER_NP___197 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___197 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___197 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___197 = 0
} ;
enum __anonenum_436439511___197 {
    PTHREAD_INHERIT_SCHED___197 = 0,
    PTHREAD_EXPLICIT_SCHED___197 = 1
} ;
enum __anonenum_998661166___197 {
    PTHREAD_SCOPE_SYSTEM___197 = 0,
    PTHREAD_SCOPE_PROCESS___197 = 1
} ;
enum __anonenum_146137331___197 {
    PTHREAD_PROCESS_PRIVATE___197 = 0,
    PTHREAD_PROCESS_SHARED___197 = 1
} ;
enum __anonenum_53396917___197 {
    PTHREAD_CANCEL_ENABLE___197 = 0,
    PTHREAD_CANCEL_DISABLE___197 = 1
} ;
enum __anonenum_904563783___197 {
    PTHREAD_CANCEL_DEFERRED___197 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___197 = 1
} ;
enum __anonenum_672052974___197 {
    SSL_CT_VALIDATION_PERMISSIVE___197 = 0,
    SSL_CT_VALIDATION_STRICT___197 = 1
} ;
struct tr2_cfg_data {
   char const   *file ;
   int line ;
};
enum __anonenum_437032235___198 {
    _PC_LINK_MAX___198 = 0,
    _PC_MAX_CANON___198 = 1,
    _PC_MAX_INPUT___198 = 2,
    _PC_NAME_MAX___198 = 3,
    _PC_PATH_MAX___198 = 4,
    _PC_PIPE_BUF___198 = 5,
    _PC_CHOWN_RESTRICTED___198 = 6,
    _PC_NO_TRUNC___198 = 7,
    _PC_VDISABLE___198 = 8,
    _PC_SYNC_IO___198 = 9,
    _PC_ASYNC_IO___198 = 10,
    _PC_PRIO_IO___198 = 11,
    _PC_SOCK_MAXBUF___198 = 12,
    _PC_FILESIZEBITS___198 = 13,
    _PC_REC_INCR_XFER_SIZE___198 = 14,
    _PC_REC_MAX_XFER_SIZE___198 = 15,
    _PC_REC_MIN_XFER_SIZE___198 = 16,
    _PC_REC_XFER_ALIGN___198 = 17,
    _PC_ALLOC_SIZE_MIN___198 = 18,
    _PC_SYMLINK_MAX___198 = 19,
    _PC_2_SYMLINKS___198 = 20
} ;
enum __anonenum_315186338___198 {
    _SC_ARG_MAX___198 = 0,
    _SC_CHILD_MAX___198 = 1,
    _SC_CLK_TCK___198 = 2,
    _SC_NGROUPS_MAX___198 = 3,
    _SC_OPEN_MAX___198 = 4,
    _SC_STREAM_MAX___198 = 5,
    _SC_TZNAME_MAX___198 = 6,
    _SC_JOB_CONTROL___198 = 7,
    _SC_SAVED_IDS___198 = 8,
    _SC_REALTIME_SIGNALS___198 = 9,
    _SC_PRIORITY_SCHEDULING___198 = 10,
    _SC_TIMERS___198 = 11,
    _SC_ASYNCHRONOUS_IO___198 = 12,
    _SC_PRIORITIZED_IO___198 = 13,
    _SC_SYNCHRONIZED_IO___198 = 14,
    _SC_FSYNC___198 = 15,
    _SC_MAPPED_FILES___198 = 16,
    _SC_MEMLOCK___198 = 17,
    _SC_MEMLOCK_RANGE___198 = 18,
    _SC_MEMORY_PROTECTION___198 = 19,
    _SC_MESSAGE_PASSING___198 = 20,
    _SC_SEMAPHORES___198 = 21,
    _SC_SHARED_MEMORY_OBJECTS___198 = 22,
    _SC_AIO_LISTIO_MAX___198 = 23,
    _SC_AIO_MAX___198 = 24,
    _SC_AIO_PRIO_DELTA_MAX___198 = 25,
    _SC_DELAYTIMER_MAX___198 = 26,
    _SC_MQ_OPEN_MAX___198 = 27,
    _SC_MQ_PRIO_MAX___198 = 28,
    _SC_VERSION___198 = 29,
    _SC_PAGESIZE___198 = 30,
    _SC_RTSIG_MAX___198 = 31,
    _SC_SEM_NSEMS_MAX___198 = 32,
    _SC_SEM_VALUE_MAX___198 = 33,
    _SC_SIGQUEUE_MAX___198 = 34,
    _SC_TIMER_MAX___198 = 35,
    _SC_BC_BASE_MAX___198 = 36,
    _SC_BC_DIM_MAX___198 = 37,
    _SC_BC_SCALE_MAX___198 = 38,
    _SC_BC_STRING_MAX___198 = 39,
    _SC_COLL_WEIGHTS_MAX___198 = 40,
    _SC_EQUIV_CLASS_MAX___198 = 41,
    _SC_EXPR_NEST_MAX___198 = 42,
    _SC_LINE_MAX___198 = 43,
    _SC_RE_DUP_MAX___198 = 44,
    _SC_CHARCLASS_NAME_MAX___198 = 45,
    _SC_2_VERSION___198 = 46,
    _SC_2_C_BIND___198 = 47,
    _SC_2_C_DEV___198 = 48,
    _SC_2_FORT_DEV___198 = 49,
    _SC_2_FORT_RUN___198 = 50,
    _SC_2_SW_DEV___198 = 51,
    _SC_2_LOCALEDEF___198 = 52,
    _SC_PII___198 = 53,
    _SC_PII_XTI___198 = 54,
    _SC_PII_SOCKET___198 = 55,
    _SC_PII_INTERNET___198 = 56,
    _SC_PII_OSI___198 = 57,
    _SC_POLL___198 = 58,
    _SC_SELECT___198 = 59,
    _SC_UIO_MAXIOV___198 = 60,
    _SC_IOV_MAX___198 = 60,
    _SC_PII_INTERNET_STREAM___198 = 61,
    _SC_PII_INTERNET_DGRAM___198 = 62,
    _SC_PII_OSI_COTS___198 = 63,
    _SC_PII_OSI_CLTS___198 = 64,
    _SC_PII_OSI_M___198 = 65,
    _SC_T_IOV_MAX___198 = 66,
    _SC_THREADS___198 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___198 = 68,
    _SC_GETGR_R_SIZE_MAX___198 = 69,
    _SC_GETPW_R_SIZE_MAX___198 = 70,
    _SC_LOGIN_NAME_MAX___198 = 71,
    _SC_TTY_NAME_MAX___198 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___198 = 73,
    _SC_THREAD_KEYS_MAX___198 = 74,
    _SC_THREAD_STACK_MIN___198 = 75,
    _SC_THREAD_THREADS_MAX___198 = 76,
    _SC_THREAD_ATTR_STACKADDR___198 = 77,
    _SC_THREAD_ATTR_STACKSIZE___198 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___198 = 79,
    _SC_THREAD_PRIO_INHERIT___198 = 80,
    _SC_THREAD_PRIO_PROTECT___198 = 81,
    _SC_THREAD_PROCESS_SHARED___198 = 82,
    _SC_NPROCESSORS_CONF___198 = 83,
    _SC_NPROCESSORS_ONLN___198 = 84,
    _SC_PHYS_PAGES___198 = 85,
    _SC_AVPHYS_PAGES___198 = 86,
    _SC_ATEXIT_MAX___198 = 87,
    _SC_PASS_MAX___198 = 88,
    _SC_XOPEN_VERSION___198 = 89,
    _SC_XOPEN_XCU_VERSION___198 = 90,
    _SC_XOPEN_UNIX___198 = 91,
    _SC_XOPEN_CRYPT___198 = 92,
    _SC_XOPEN_ENH_I18N___198 = 93,
    _SC_XOPEN_SHM___198 = 94,
    _SC_2_CHAR_TERM___198 = 95,
    _SC_2_C_VERSION___198 = 96,
    _SC_2_UPE___198 = 97,
    _SC_XOPEN_XPG2___198 = 98,
    _SC_XOPEN_XPG3___198 = 99,
    _SC_XOPEN_XPG4___198 = 100,
    _SC_CHAR_BIT___198 = 101,
    _SC_CHAR_MAX___198 = 102,
    _SC_CHAR_MIN___198 = 103,
    _SC_INT_MAX___198 = 104,
    _SC_INT_MIN___198 = 105,
    _SC_LONG_BIT___198 = 106,
    _SC_WORD_BIT___198 = 107,
    _SC_MB_LEN_MAX___198 = 108,
    _SC_NZERO___198 = 109,
    _SC_SSIZE_MAX___198 = 110,
    _SC_SCHAR_MAX___198 = 111,
    _SC_SCHAR_MIN___198 = 112,
    _SC_SHRT_MAX___198 = 113,
    _SC_SHRT_MIN___198 = 114,
    _SC_UCHAR_MAX___198 = 115,
    _SC_UINT_MAX___198 = 116,
    _SC_ULONG_MAX___198 = 117,
    _SC_USHRT_MAX___198 = 118,
    _SC_NL_ARGMAX___198 = 119,
    _SC_NL_LANGMAX___198 = 120,
    _SC_NL_MSGMAX___198 = 121,
    _SC_NL_NMAX___198 = 122,
    _SC_NL_SETMAX___198 = 123,
    _SC_NL_TEXTMAX___198 = 124,
    _SC_XBS5_ILP32_OFF32___198 = 125,
    _SC_XBS5_ILP32_OFFBIG___198 = 126,
    _SC_XBS5_LP64_OFF64___198 = 127,
    _SC_XBS5_LPBIG_OFFBIG___198 = 128,
    _SC_XOPEN_LEGACY___198 = 129,
    _SC_XOPEN_REALTIME___198 = 130,
    _SC_XOPEN_REALTIME_THREADS___198 = 131,
    _SC_ADVISORY_INFO___198 = 132,
    _SC_BARRIERS___198 = 133,
    _SC_BASE___198 = 134,
    _SC_C_LANG_SUPPORT___198 = 135,
    _SC_C_LANG_SUPPORT_R___198 = 136,
    _SC_CLOCK_SELECTION___198 = 137,
    _SC_CPUTIME___198 = 138,
    _SC_THREAD_CPUTIME___198 = 139,
    _SC_DEVICE_IO___198 = 140,
    _SC_DEVICE_SPECIFIC___198 = 141,
    _SC_DEVICE_SPECIFIC_R___198 = 142,
    _SC_FD_MGMT___198 = 143,
    _SC_FIFO___198 = 144,
    _SC_PIPE___198 = 145,
    _SC_FILE_ATTRIBUTES___198 = 146,
    _SC_FILE_LOCKING___198 = 147,
    _SC_FILE_SYSTEM___198 = 148,
    _SC_MONOTONIC_CLOCK___198 = 149,
    _SC_MULTI_PROCESS___198 = 150,
    _SC_SINGLE_PROCESS___198 = 151,
    _SC_NETWORKING___198 = 152,
    _SC_READER_WRITER_LOCKS___198 = 153,
    _SC_SPIN_LOCKS___198 = 154,
    _SC_REGEXP___198 = 155,
    _SC_REGEX_VERSION___198 = 156,
    _SC_SHELL___198 = 157,
    _SC_SIGNALS___198 = 158,
    _SC_SPAWN___198 = 159,
    _SC_SPORADIC_SERVER___198 = 160,
    _SC_THREAD_SPORADIC_SERVER___198 = 161,
    _SC_SYSTEM_DATABASE___198 = 162,
    _SC_SYSTEM_DATABASE_R___198 = 163,
    _SC_TIMEOUTS___198 = 164,
    _SC_TYPED_MEMORY_OBJECTS___198 = 165,
    _SC_USER_GROUPS___198 = 166,
    _SC_USER_GROUPS_R___198 = 167,
    _SC_2_PBS___198 = 168,
    _SC_2_PBS_ACCOUNTING___198 = 169,
    _SC_2_PBS_LOCATE___198 = 170,
    _SC_2_PBS_MESSAGE___198 = 171,
    _SC_2_PBS_TRACK___198 = 172,
    _SC_SYMLOOP_MAX___198 = 173,
    _SC_STREAMS___198 = 174,
    _SC_2_PBS_CHECKPOINT___198 = 175,
    _SC_V6_ILP32_OFF32___198 = 176,
    _SC_V6_ILP32_OFFBIG___198 = 177,
    _SC_V6_LP64_OFF64___198 = 178,
    _SC_V6_LPBIG_OFFBIG___198 = 179,
    _SC_HOST_NAME_MAX___198 = 180,
    _SC_TRACE___198 = 181,
    _SC_TRACE_EVENT_FILTER___198 = 182,
    _SC_TRACE_INHERIT___198 = 183,
    _SC_TRACE_LOG___198 = 184,
    _SC_LEVEL1_ICACHE_SIZE___198 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___198 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___198 = 187,
    _SC_LEVEL1_DCACHE_SIZE___198 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___198 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___198 = 190,
    _SC_LEVEL2_CACHE_SIZE___198 = 191,
    _SC_LEVEL2_CACHE_ASSOC___198 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___198 = 193,
    _SC_LEVEL3_CACHE_SIZE___198 = 194,
    _SC_LEVEL3_CACHE_ASSOC___198 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___198 = 196,
    _SC_LEVEL4_CACHE_SIZE___198 = 197,
    _SC_LEVEL4_CACHE_ASSOC___198 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___198 = 199,
    _SC_IPV6___198 = 235,
    _SC_RAW_SOCKETS___198 = 236,
    _SC_V7_ILP32_OFF32___198 = 237,
    _SC_V7_ILP32_OFFBIG___198 = 238,
    _SC_V7_LP64_OFF64___198 = 239,
    _SC_V7_LPBIG_OFFBIG___198 = 240,
    _SC_SS_REPL_MAX___198 = 241,
    _SC_TRACE_EVENT_NAME_MAX___198 = 242,
    _SC_TRACE_NAME_MAX___198 = 243,
    _SC_TRACE_SYS_MAX___198 = 244,
    _SC_TRACE_USER_EVENT_MAX___198 = 245,
    _SC_XOPEN_STREAMS___198 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___198 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___198 = 248
} ;
enum __anonenum_875524036___198 {
    _CS_PATH___198 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___198 = 1,
    _CS_GNU_LIBC_VERSION___198 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___198 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___198 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___198 = 5,
    _CS_LFS_CFLAGS___198 = 1000,
    _CS_LFS_LDFLAGS___198 = 1001,
    _CS_LFS_LIBS___198 = 1002,
    _CS_LFS_LINTFLAGS___198 = 1003,
    _CS_LFS64_CFLAGS___198 = 1004,
    _CS_LFS64_LDFLAGS___198 = 1005,
    _CS_LFS64_LIBS___198 = 1006,
    _CS_LFS64_LINTFLAGS___198 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___198 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___198 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___198 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___198 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___198 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___198 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___198 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___198 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___198 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___198 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___198 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___198 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___198 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___198 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___198 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___198 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___198 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___198 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___198 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___198 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___198 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___198 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___198 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___198 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___198 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___198 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___198 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___198 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___198 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___198 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___198 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___198 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___198 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___198 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___198 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___198 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___198 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___198 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___198 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___198 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___198 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___198 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___198 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___198 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___198 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___198 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___198 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___198 = 1147,
    _CS_V6_ENV___198 = 1148,
    _CS_V7_ENV___198 = 1149
} ;
enum __anonenum_513775621___198 {
    DT_UNKNOWN___198 = 0,
    DT_FIFO___198 = 1,
    DT_CHR___198 = 2,
    DT_DIR___198 = 4,
    DT_BLK___198 = 6,
    DT_REG___198 = 8,
    DT_LNK___198 = 10,
    DT_SOCK___198 = 12,
    DT_WHT___198 = 14
} ;
enum __anonenum_77002343___198 {
    SI_ASYNCNL___198 = -60,
    SI_TKILL___198 = -6,
    SI_SIGIO___198 = -5,
    SI_ASYNCIO___198 = -4,
    SI_MESGQ___198 = -3,
    SI_TIMER___198 = -2,
    SI_QUEUE___198 = -1,
    SI_USER___198 = 0,
    SI_KERNEL___198 = 128
} ;
enum __anonenum_131038172___198 {
    ILL_ILLOPC___198 = 1,
    ILL_ILLOPN___198 = 2,
    ILL_ILLADR___198 = 3,
    ILL_ILLTRP___198 = 4,
    ILL_PRVOPC___198 = 5,
    ILL_PRVREG___198 = 6,
    ILL_COPROC___198 = 7,
    ILL_BADSTK___198 = 8
} ;
enum __anonenum_452038093___198 {
    FPE_INTDIV___198 = 1,
    FPE_INTOVF___198 = 2,
    FPE_FLTDIV___198 = 3,
    FPE_FLTOVF___198 = 4,
    FPE_FLTUND___198 = 5,
    FPE_FLTRES___198 = 6,
    FPE_FLTINV___198 = 7,
    FPE_FLTSUB___198 = 8
} ;
enum __anonenum_30976155___198 {
    SEGV_MAPERR___198 = 1,
    SEGV_ACCERR___198 = 2,
    SEGV_BNDERR___198 = 3,
    SEGV_PKUERR___198 = 4
} ;
enum __anonenum_1036286214___198 {
    BUS_ADRALN___198 = 1,
    BUS_ADRERR___198 = 2,
    BUS_OBJERR___198 = 3,
    BUS_MCEERR_AR___198 = 4,
    BUS_MCEERR_AO___198 = 5
} ;
enum __anonenum_493465559___198 {
    TRAP_BRKPT___198 = 1,
    TRAP_TRACE___198 = 2
} ;
enum __anonenum_23175539___198 {
    CLD_EXITED___198 = 1,
    CLD_KILLED___198 = 2,
    CLD_DUMPED___198 = 3,
    CLD_TRAPPED___198 = 4,
    CLD_STOPPED___198 = 5,
    CLD_CONTINUED___198 = 6
} ;
enum __anonenum_111643124___198 {
    POLL_IN___198 = 1,
    POLL_OUT___198 = 2,
    POLL_MSG___198 = 3,
    POLL_ERR___198 = 4,
    POLL_PRI___198 = 5,
    POLL_HUP___198 = 6
} ;
enum __anonenum_852341087___198 {
    SIGEV_SIGNAL___198 = 0,
    SIGEV_NONE___198 = 1,
    SIGEV_THREAD___198 = 2,
    SIGEV_THREAD_ID___198 = 4
} ;
enum __anonenum_451154152___198 {
    REG_R8___198 = 0,
    REG_R9___198 = 1,
    REG_R10___198 = 2,
    REG_R11___198 = 3,
    REG_R12___198 = 4,
    REG_R13___198 = 5,
    REG_R14___198 = 6,
    REG_R15___198 = 7,
    REG_RDI___198 = 8,
    REG_RSI___198 = 9,
    REG_RBP___198 = 10,
    REG_RBX___198 = 11,
    REG_RDX___198 = 12,
    REG_RAX___198 = 13,
    REG_RCX___198 = 14,
    REG_RSP___198 = 15,
    REG_RIP___198 = 16,
    REG_EFL___198 = 17,
    REG_CSGSFS___198 = 18,
    REG_ERR___198 = 19,
    REG_TRAPNO___198 = 20,
    REG_OLDMASK___198 = 21,
    REG_CR2___198 = 22
} ;
enum __anonenum_57186863___198 {
    SS_ONSTACK___198 = 1,
    SS_DISABLE___198 = 2
} ;
enum __anonenum_83571709___198 {
    MSG_OOB___198 = 1,
    MSG_PEEK___198 = 2,
    MSG_DONTROUTE___198 = 4,
    MSG_TRYHARD___198 = 4,
    MSG_CTRUNC___198 = 8,
    MSG_PROXY___198 = 16,
    MSG_TRUNC___198 = 32,
    MSG_DONTWAIT___198 = 64,
    MSG_EOR___198 = 128,
    MSG_WAITALL___198 = 256,
    MSG_FIN___198 = 512,
    MSG_SYN___198 = 1024,
    MSG_CONFIRM___198 = 2048,
    MSG_RST___198 = 4096,
    MSG_ERRQUEUE___198 = 8192,
    MSG_NOSIGNAL___198 = 16384,
    MSG_MORE___198 = 32768,
    MSG_WAITFORONE___198 = 65536,
    MSG_BATCH___198 = 262144,
    MSG_ZEROCOPY___198 = 67108864,
    MSG_FASTOPEN___198 = 536870912,
    MSG_CMSG_CLOEXEC___198 = 1073741824
} ;
enum __anonenum_617082774___198 {
    SCM_RIGHTS___198 = 1,
    SCM_CREDENTIALS___198 = 2
} ;
enum __anonenum_606441560___198 {
    SHUT_RD___198 = 0,
    SHUT_WR___198 = 1,
    SHUT_RDWR___198 = 2
} ;
enum __anonenum_681669233___198 {
    IPPROTO_IP___198 = 0,
    IPPROTO_ICMP___198 = 1,
    IPPROTO_IGMP___198 = 2,
    IPPROTO_IPIP___198 = 4,
    IPPROTO_TCP___198 = 6,
    IPPROTO_EGP___198 = 8,
    IPPROTO_PUP___198 = 12,
    IPPROTO_UDP___198 = 17,
    IPPROTO_IDP___198 = 22,
    IPPROTO_TP___198 = 29,
    IPPROTO_DCCP___198 = 33,
    IPPROTO_IPV6___198 = 41,
    IPPROTO_RSVP___198 = 46,
    IPPROTO_GRE___198 = 47,
    IPPROTO_ESP___198 = 50,
    IPPROTO_AH___198 = 51,
    IPPROTO_MTP___198 = 92,
    IPPROTO_BEETPH___198 = 94,
    IPPROTO_ENCAP___198 = 98,
    IPPROTO_PIM___198 = 103,
    IPPROTO_COMP___198 = 108,
    IPPROTO_SCTP___198 = 132,
    IPPROTO_UDPLITE___198 = 136,
    IPPROTO_MPLS___198 = 137,
    IPPROTO_RAW___198 = 255,
    IPPROTO_MAX___198 = 256
} ;
enum __anonenum_218739988___198 {
    IPPROTO_HOPOPTS___198 = 0,
    IPPROTO_ROUTING___198 = 43,
    IPPROTO_FRAGMENT___198 = 44,
    IPPROTO_ICMPV6___198 = 58,
    IPPROTO_NONE___198 = 59,
    IPPROTO_DSTOPTS___198 = 60,
    IPPROTO_MH___198 = 135
} ;
enum __anonenum_662268580___198 {
    IPPORT_ECHO___198 = 7,
    IPPORT_DISCARD___198 = 9,
    IPPORT_SYSTAT___198 = 11,
    IPPORT_DAYTIME___198 = 13,
    IPPORT_NETSTAT___198 = 15,
    IPPORT_FTP___198 = 21,
    IPPORT_TELNET___198 = 23,
    IPPORT_SMTP___198 = 25,
    IPPORT_TIMESERVER___198 = 37,
    IPPORT_NAMESERVER___198 = 42,
    IPPORT_WHOIS___198 = 43,
    IPPORT_MTP___198 = 57,
    IPPORT_TFTP___198 = 69,
    IPPORT_RJE___198 = 77,
    IPPORT_FINGER___198 = 79,
    IPPORT_TTYLINK___198 = 87,
    IPPORT_SUPDUP___198 = 95,
    IPPORT_EXECSERVER___198 = 512,
    IPPORT_LOGINSERVER___198 = 513,
    IPPORT_CMDSERVER___198 = 514,
    IPPORT_EFSSERVER___198 = 520,
    IPPORT_BIFFUDP___198 = 512,
    IPPORT_WHOSERVER___198 = 513,
    IPPORT_ROUTESERVER___198 = 520,
    IPPORT_RESERVED___198 = 1024,
    IPPORT_USERRESERVED___198 = 5000
} ;
enum __anonenum_788308992___198 {
    TCP_ESTABLISHED___198 = 1,
    TCP_SYN_SENT___198 = 2,
    TCP_SYN_RECV___198 = 3,
    TCP_FIN_WAIT1___198 = 4,
    TCP_FIN_WAIT2___198 = 5,
    TCP_TIME_WAIT___198 = 6,
    TCP_CLOSE___198 = 7,
    TCP_CLOSE_WAIT___198 = 8,
    TCP_LAST_ACK___198 = 9,
    TCP_LISTEN___198 = 10,
    TCP_CLOSING___198 = 11
} ;
enum __anonenum_221125648___198 {
    TCP_NO_QUEUE___198 = 0,
    TCP_RECV_QUEUE___198 = 1,
    TCP_SEND_QUEUE___198 = 2,
    TCP_QUEUES_NR___198 = 3
} ;
enum __anonenum_34415463___198 {
    PTHREAD_CREATE_JOINABLE___198 = 0,
    PTHREAD_CREATE_DETACHED___198 = 1
} ;
enum __anonenum_303612439___198 {
    PTHREAD_MUTEX_TIMED_NP___198 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___198 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___198 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___198 = 3,
    PTHREAD_MUTEX_NORMAL___198 = 0,
    PTHREAD_MUTEX_RECURSIVE___198 = 1,
    PTHREAD_MUTEX_ERRORCHECK___198 = 2,
    PTHREAD_MUTEX_DEFAULT___198 = 0,
    PTHREAD_MUTEX_FAST_NP___198 = 0
} ;
enum __anonenum_931900394___198 {
    PTHREAD_MUTEX_STALLED___198 = 0,
    PTHREAD_MUTEX_STALLED_NP___198 = 0,
    PTHREAD_MUTEX_ROBUST___198 = 1,
    PTHREAD_MUTEX_ROBUST_NP___198 = 1
} ;
enum __anonenum_205214487___198 {
    PTHREAD_PRIO_NONE___198 = 0,
    PTHREAD_PRIO_INHERIT___198 = 1,
    PTHREAD_PRIO_PROTECT___198 = 2
} ;
enum __anonenum_25043950___198 {
    PTHREAD_RWLOCK_PREFER_READER_NP___198 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___198 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___198 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___198 = 0
} ;
enum __anonenum_436439511___198 {
    PTHREAD_INHERIT_SCHED___198 = 0,
    PTHREAD_EXPLICIT_SCHED___198 = 1
} ;
enum __anonenum_998661166___198 {
    PTHREAD_SCOPE_SYSTEM___198 = 0,
    PTHREAD_SCOPE_PROCESS___198 = 1
} ;
enum __anonenum_146137331___198 {
    PTHREAD_PROCESS_PRIVATE___198 = 0,
    PTHREAD_PROCESS_SHARED___198 = 1
} ;
enum __anonenum_53396917___198 {
    PTHREAD_CANCEL_ENABLE___198 = 0,
    PTHREAD_CANCEL_DISABLE___198 = 1
} ;
enum __anonenum_904563783___198 {
    PTHREAD_CANCEL_DEFERRED___198 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___198 = 1
} ;
enum __anonenum_672052974___198 {
    SSL_CT_VALIDATION_PERMISSIVE___198 = 0,
    SSL_CT_VALIDATION_STRICT___198 = 1
} ;
enum __anonenum_437032235___199 {
    _PC_LINK_MAX___199 = 0,
    _PC_MAX_CANON___199 = 1,
    _PC_MAX_INPUT___199 = 2,
    _PC_NAME_MAX___199 = 3,
    _PC_PATH_MAX___199 = 4,
    _PC_PIPE_BUF___199 = 5,
    _PC_CHOWN_RESTRICTED___199 = 6,
    _PC_NO_TRUNC___199 = 7,
    _PC_VDISABLE___199 = 8,
    _PC_SYNC_IO___199 = 9,
    _PC_ASYNC_IO___199 = 10,
    _PC_PRIO_IO___199 = 11,
    _PC_SOCK_MAXBUF___199 = 12,
    _PC_FILESIZEBITS___199 = 13,
    _PC_REC_INCR_XFER_SIZE___199 = 14,
    _PC_REC_MAX_XFER_SIZE___199 = 15,
    _PC_REC_MIN_XFER_SIZE___199 = 16,
    _PC_REC_XFER_ALIGN___199 = 17,
    _PC_ALLOC_SIZE_MIN___199 = 18,
    _PC_SYMLINK_MAX___199 = 19,
    _PC_2_SYMLINKS___199 = 20
} ;
enum __anonenum_315186338___199 {
    _SC_ARG_MAX___199 = 0,
    _SC_CHILD_MAX___199 = 1,
    _SC_CLK_TCK___199 = 2,
    _SC_NGROUPS_MAX___199 = 3,
    _SC_OPEN_MAX___199 = 4,
    _SC_STREAM_MAX___199 = 5,
    _SC_TZNAME_MAX___199 = 6,
    _SC_JOB_CONTROL___199 = 7,
    _SC_SAVED_IDS___199 = 8,
    _SC_REALTIME_SIGNALS___199 = 9,
    _SC_PRIORITY_SCHEDULING___199 = 10,
    _SC_TIMERS___199 = 11,
    _SC_ASYNCHRONOUS_IO___199 = 12,
    _SC_PRIORITIZED_IO___199 = 13,
    _SC_SYNCHRONIZED_IO___199 = 14,
    _SC_FSYNC___199 = 15,
    _SC_MAPPED_FILES___199 = 16,
    _SC_MEMLOCK___199 = 17,
    _SC_MEMLOCK_RANGE___199 = 18,
    _SC_MEMORY_PROTECTION___199 = 19,
    _SC_MESSAGE_PASSING___199 = 20,
    _SC_SEMAPHORES___199 = 21,
    _SC_SHARED_MEMORY_OBJECTS___199 = 22,
    _SC_AIO_LISTIO_MAX___199 = 23,
    _SC_AIO_MAX___199 = 24,
    _SC_AIO_PRIO_DELTA_MAX___199 = 25,
    _SC_DELAYTIMER_MAX___199 = 26,
    _SC_MQ_OPEN_MAX___199 = 27,
    _SC_MQ_PRIO_MAX___199 = 28,
    _SC_VERSION___199 = 29,
    _SC_PAGESIZE___199 = 30,
    _SC_RTSIG_MAX___199 = 31,
    _SC_SEM_NSEMS_MAX___199 = 32,
    _SC_SEM_VALUE_MAX___199 = 33,
    _SC_SIGQUEUE_MAX___199 = 34,
    _SC_TIMER_MAX___199 = 35,
    _SC_BC_BASE_MAX___199 = 36,
    _SC_BC_DIM_MAX___199 = 37,
    _SC_BC_SCALE_MAX___199 = 38,
    _SC_BC_STRING_MAX___199 = 39,
    _SC_COLL_WEIGHTS_MAX___199 = 40,
    _SC_EQUIV_CLASS_MAX___199 = 41,
    _SC_EXPR_NEST_MAX___199 = 42,
    _SC_LINE_MAX___199 = 43,
    _SC_RE_DUP_MAX___199 = 44,
    _SC_CHARCLASS_NAME_MAX___199 = 45,
    _SC_2_VERSION___199 = 46,
    _SC_2_C_BIND___199 = 47,
    _SC_2_C_DEV___199 = 48,
    _SC_2_FORT_DEV___199 = 49,
    _SC_2_FORT_RUN___199 = 50,
    _SC_2_SW_DEV___199 = 51,
    _SC_2_LOCALEDEF___199 = 52,
    _SC_PII___199 = 53,
    _SC_PII_XTI___199 = 54,
    _SC_PII_SOCKET___199 = 55,
    _SC_PII_INTERNET___199 = 56,
    _SC_PII_OSI___199 = 57,
    _SC_POLL___199 = 58,
    _SC_SELECT___199 = 59,
    _SC_UIO_MAXIOV___199 = 60,
    _SC_IOV_MAX___199 = 60,
    _SC_PII_INTERNET_STREAM___199 = 61,
    _SC_PII_INTERNET_DGRAM___199 = 62,
    _SC_PII_OSI_COTS___199 = 63,
    _SC_PII_OSI_CLTS___199 = 64,
    _SC_PII_OSI_M___199 = 65,
    _SC_T_IOV_MAX___199 = 66,
    _SC_THREADS___199 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___199 = 68,
    _SC_GETGR_R_SIZE_MAX___199 = 69,
    _SC_GETPW_R_SIZE_MAX___199 = 70,
    _SC_LOGIN_NAME_MAX___199 = 71,
    _SC_TTY_NAME_MAX___199 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___199 = 73,
    _SC_THREAD_KEYS_MAX___199 = 74,
    _SC_THREAD_STACK_MIN___199 = 75,
    _SC_THREAD_THREADS_MAX___199 = 76,
    _SC_THREAD_ATTR_STACKADDR___199 = 77,
    _SC_THREAD_ATTR_STACKSIZE___199 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___199 = 79,
    _SC_THREAD_PRIO_INHERIT___199 = 80,
    _SC_THREAD_PRIO_PROTECT___199 = 81,
    _SC_THREAD_PROCESS_SHARED___199 = 82,
    _SC_NPROCESSORS_CONF___199 = 83,
    _SC_NPROCESSORS_ONLN___199 = 84,
    _SC_PHYS_PAGES___199 = 85,
    _SC_AVPHYS_PAGES___199 = 86,
    _SC_ATEXIT_MAX___199 = 87,
    _SC_PASS_MAX___199 = 88,
    _SC_XOPEN_VERSION___199 = 89,
    _SC_XOPEN_XCU_VERSION___199 = 90,
    _SC_XOPEN_UNIX___199 = 91,
    _SC_XOPEN_CRYPT___199 = 92,
    _SC_XOPEN_ENH_I18N___199 = 93,
    _SC_XOPEN_SHM___199 = 94,
    _SC_2_CHAR_TERM___199 = 95,
    _SC_2_C_VERSION___199 = 96,
    _SC_2_UPE___199 = 97,
    _SC_XOPEN_XPG2___199 = 98,
    _SC_XOPEN_XPG3___199 = 99,
    _SC_XOPEN_XPG4___199 = 100,
    _SC_CHAR_BIT___199 = 101,
    _SC_CHAR_MAX___199 = 102,
    _SC_CHAR_MIN___199 = 103,
    _SC_INT_MAX___199 = 104,
    _SC_INT_MIN___199 = 105,
    _SC_LONG_BIT___199 = 106,
    _SC_WORD_BIT___199 = 107,
    _SC_MB_LEN_MAX___199 = 108,
    _SC_NZERO___199 = 109,
    _SC_SSIZE_MAX___199 = 110,
    _SC_SCHAR_MAX___199 = 111,
    _SC_SCHAR_MIN___199 = 112,
    _SC_SHRT_MAX___199 = 113,
    _SC_SHRT_MIN___199 = 114,
    _SC_UCHAR_MAX___199 = 115,
    _SC_UINT_MAX___199 = 116,
    _SC_ULONG_MAX___199 = 117,
    _SC_USHRT_MAX___199 = 118,
    _SC_NL_ARGMAX___199 = 119,
    _SC_NL_LANGMAX___199 = 120,
    _SC_NL_MSGMAX___199 = 121,
    _SC_NL_NMAX___199 = 122,
    _SC_NL_SETMAX___199 = 123,
    _SC_NL_TEXTMAX___199 = 124,
    _SC_XBS5_ILP32_OFF32___199 = 125,
    _SC_XBS5_ILP32_OFFBIG___199 = 126,
    _SC_XBS5_LP64_OFF64___199 = 127,
    _SC_XBS5_LPBIG_OFFBIG___199 = 128,
    _SC_XOPEN_LEGACY___199 = 129,
    _SC_XOPEN_REALTIME___199 = 130,
    _SC_XOPEN_REALTIME_THREADS___199 = 131,
    _SC_ADVISORY_INFO___199 = 132,
    _SC_BARRIERS___199 = 133,
    _SC_BASE___199 = 134,
    _SC_C_LANG_SUPPORT___199 = 135,
    _SC_C_LANG_SUPPORT_R___199 = 136,
    _SC_CLOCK_SELECTION___199 = 137,
    _SC_CPUTIME___199 = 138,
    _SC_THREAD_CPUTIME___199 = 139,
    _SC_DEVICE_IO___199 = 140,
    _SC_DEVICE_SPECIFIC___199 = 141,
    _SC_DEVICE_SPECIFIC_R___199 = 142,
    _SC_FD_MGMT___199 = 143,
    _SC_FIFO___199 = 144,
    _SC_PIPE___199 = 145,
    _SC_FILE_ATTRIBUTES___199 = 146,
    _SC_FILE_LOCKING___199 = 147,
    _SC_FILE_SYSTEM___199 = 148,
    _SC_MONOTONIC_CLOCK___199 = 149,
    _SC_MULTI_PROCESS___199 = 150,
    _SC_SINGLE_PROCESS___199 = 151,
    _SC_NETWORKING___199 = 152,
    _SC_READER_WRITER_LOCKS___199 = 153,
    _SC_SPIN_LOCKS___199 = 154,
    _SC_REGEXP___199 = 155,
    _SC_REGEX_VERSION___199 = 156,
    _SC_SHELL___199 = 157,
    _SC_SIGNALS___199 = 158,
    _SC_SPAWN___199 = 159,
    _SC_SPORADIC_SERVER___199 = 160,
    _SC_THREAD_SPORADIC_SERVER___199 = 161,
    _SC_SYSTEM_DATABASE___199 = 162,
    _SC_SYSTEM_DATABASE_R___199 = 163,
    _SC_TIMEOUTS___199 = 164,
    _SC_TYPED_MEMORY_OBJECTS___199 = 165,
    _SC_USER_GROUPS___199 = 166,
    _SC_USER_GROUPS_R___199 = 167,
    _SC_2_PBS___199 = 168,
    _SC_2_PBS_ACCOUNTING___199 = 169,
    _SC_2_PBS_LOCATE___199 = 170,
    _SC_2_PBS_MESSAGE___199 = 171,
    _SC_2_PBS_TRACK___199 = 172,
    _SC_SYMLOOP_MAX___199 = 173,
    _SC_STREAMS___199 = 174,
    _SC_2_PBS_CHECKPOINT___199 = 175,
    _SC_V6_ILP32_OFF32___199 = 176,
    _SC_V6_ILP32_OFFBIG___199 = 177,
    _SC_V6_LP64_OFF64___199 = 178,
    _SC_V6_LPBIG_OFFBIG___199 = 179,
    _SC_HOST_NAME_MAX___199 = 180,
    _SC_TRACE___199 = 181,
    _SC_TRACE_EVENT_FILTER___199 = 182,
    _SC_TRACE_INHERIT___199 = 183,
    _SC_TRACE_LOG___199 = 184,
    _SC_LEVEL1_ICACHE_SIZE___199 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___199 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___199 = 187,
    _SC_LEVEL1_DCACHE_SIZE___199 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___199 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___199 = 190,
    _SC_LEVEL2_CACHE_SIZE___199 = 191,
    _SC_LEVEL2_CACHE_ASSOC___199 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___199 = 193,
    _SC_LEVEL3_CACHE_SIZE___199 = 194,
    _SC_LEVEL3_CACHE_ASSOC___199 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___199 = 196,
    _SC_LEVEL4_CACHE_SIZE___199 = 197,
    _SC_LEVEL4_CACHE_ASSOC___199 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___199 = 199,
    _SC_IPV6___199 = 235,
    _SC_RAW_SOCKETS___199 = 236,
    _SC_V7_ILP32_OFF32___199 = 237,
    _SC_V7_ILP32_OFFBIG___199 = 238,
    _SC_V7_LP64_OFF64___199 = 239,
    _SC_V7_LPBIG_OFFBIG___199 = 240,
    _SC_SS_REPL_MAX___199 = 241,
    _SC_TRACE_EVENT_NAME_MAX___199 = 242,
    _SC_TRACE_NAME_MAX___199 = 243,
    _SC_TRACE_SYS_MAX___199 = 244,
    _SC_TRACE_USER_EVENT_MAX___199 = 245,
    _SC_XOPEN_STREAMS___199 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___199 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___199 = 248
} ;
enum __anonenum_875524036___199 {
    _CS_PATH___199 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___199 = 1,
    _CS_GNU_LIBC_VERSION___199 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___199 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___199 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___199 = 5,
    _CS_LFS_CFLAGS___199 = 1000,
    _CS_LFS_LDFLAGS___199 = 1001,
    _CS_LFS_LIBS___199 = 1002,
    _CS_LFS_LINTFLAGS___199 = 1003,
    _CS_LFS64_CFLAGS___199 = 1004,
    _CS_LFS64_LDFLAGS___199 = 1005,
    _CS_LFS64_LIBS___199 = 1006,
    _CS_LFS64_LINTFLAGS___199 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___199 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___199 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___199 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___199 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___199 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___199 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___199 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___199 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___199 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___199 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___199 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___199 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___199 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___199 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___199 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___199 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___199 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___199 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___199 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___199 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___199 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___199 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___199 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___199 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___199 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___199 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___199 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___199 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___199 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___199 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___199 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___199 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___199 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___199 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___199 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___199 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___199 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___199 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___199 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___199 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___199 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___199 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___199 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___199 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___199 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___199 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___199 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___199 = 1147,
    _CS_V6_ENV___199 = 1148,
    _CS_V7_ENV___199 = 1149
} ;
enum __anonenum_513775621___199 {
    DT_UNKNOWN___199 = 0,
    DT_FIFO___199 = 1,
    DT_CHR___199 = 2,
    DT_DIR___199 = 4,
    DT_BLK___199 = 6,
    DT_REG___199 = 8,
    DT_LNK___199 = 10,
    DT_SOCK___199 = 12,
    DT_WHT___199 = 14
} ;
enum __anonenum_77002343___199 {
    SI_ASYNCNL___199 = -60,
    SI_TKILL___199 = -6,
    SI_SIGIO___199 = -5,
    SI_ASYNCIO___199 = -4,
    SI_MESGQ___199 = -3,
    SI_TIMER___199 = -2,
    SI_QUEUE___199 = -1,
    SI_USER___199 = 0,
    SI_KERNEL___199 = 128
} ;
enum __anonenum_131038172___199 {
    ILL_ILLOPC___199 = 1,
    ILL_ILLOPN___199 = 2,
    ILL_ILLADR___199 = 3,
    ILL_ILLTRP___199 = 4,
    ILL_PRVOPC___199 = 5,
    ILL_PRVREG___199 = 6,
    ILL_COPROC___199 = 7,
    ILL_BADSTK___199 = 8
} ;
enum __anonenum_452038093___199 {
    FPE_INTDIV___199 = 1,
    FPE_INTOVF___199 = 2,
    FPE_FLTDIV___199 = 3,
    FPE_FLTOVF___199 = 4,
    FPE_FLTUND___199 = 5,
    FPE_FLTRES___199 = 6,
    FPE_FLTINV___199 = 7,
    FPE_FLTSUB___199 = 8
} ;
enum __anonenum_30976155___199 {
    SEGV_MAPERR___199 = 1,
    SEGV_ACCERR___199 = 2,
    SEGV_BNDERR___199 = 3,
    SEGV_PKUERR___199 = 4
} ;
enum __anonenum_1036286214___199 {
    BUS_ADRALN___199 = 1,
    BUS_ADRERR___199 = 2,
    BUS_OBJERR___199 = 3,
    BUS_MCEERR_AR___199 = 4,
    BUS_MCEERR_AO___199 = 5
} ;
enum __anonenum_493465559___199 {
    TRAP_BRKPT___199 = 1,
    TRAP_TRACE___199 = 2
} ;
enum __anonenum_23175539___199 {
    CLD_EXITED___199 = 1,
    CLD_KILLED___199 = 2,
    CLD_DUMPED___199 = 3,
    CLD_TRAPPED___199 = 4,
    CLD_STOPPED___199 = 5,
    CLD_CONTINUED___199 = 6
} ;
enum __anonenum_111643124___199 {
    POLL_IN___199 = 1,
    POLL_OUT___199 = 2,
    POLL_MSG___199 = 3,
    POLL_ERR___199 = 4,
    POLL_PRI___199 = 5,
    POLL_HUP___199 = 6
} ;
enum __anonenum_852341087___199 {
    SIGEV_SIGNAL___199 = 0,
    SIGEV_NONE___199 = 1,
    SIGEV_THREAD___199 = 2,
    SIGEV_THREAD_ID___199 = 4
} ;
enum __anonenum_451154152___199 {
    REG_R8___199 = 0,
    REG_R9___199 = 1,
    REG_R10___199 = 2,
    REG_R11___199 = 3,
    REG_R12___199 = 4,
    REG_R13___199 = 5,
    REG_R14___199 = 6,
    REG_R15___199 = 7,
    REG_RDI___199 = 8,
    REG_RSI___199 = 9,
    REG_RBP___199 = 10,
    REG_RBX___199 = 11,
    REG_RDX___199 = 12,
    REG_RAX___199 = 13,
    REG_RCX___199 = 14,
    REG_RSP___199 = 15,
    REG_RIP___199 = 16,
    REG_EFL___199 = 17,
    REG_CSGSFS___199 = 18,
    REG_ERR___199 = 19,
    REG_TRAPNO___199 = 20,
    REG_OLDMASK___199 = 21,
    REG_CR2___199 = 22
} ;
enum __anonenum_57186863___199 {
    SS_ONSTACK___199 = 1,
    SS_DISABLE___199 = 2
} ;
enum __anonenum_83571709___199 {
    MSG_OOB___199 = 1,
    MSG_PEEK___199 = 2,
    MSG_DONTROUTE___199 = 4,
    MSG_TRYHARD___199 = 4,
    MSG_CTRUNC___199 = 8,
    MSG_PROXY___199 = 16,
    MSG_TRUNC___199 = 32,
    MSG_DONTWAIT___199 = 64,
    MSG_EOR___199 = 128,
    MSG_WAITALL___199 = 256,
    MSG_FIN___199 = 512,
    MSG_SYN___199 = 1024,
    MSG_CONFIRM___199 = 2048,
    MSG_RST___199 = 4096,
    MSG_ERRQUEUE___199 = 8192,
    MSG_NOSIGNAL___199 = 16384,
    MSG_MORE___199 = 32768,
    MSG_WAITFORONE___199 = 65536,
    MSG_BATCH___199 = 262144,
    MSG_ZEROCOPY___199 = 67108864,
    MSG_FASTOPEN___199 = 536870912,
    MSG_CMSG_CLOEXEC___199 = 1073741824
} ;
enum __anonenum_617082774___199 {
    SCM_RIGHTS___199 = 1,
    SCM_CREDENTIALS___199 = 2
} ;
enum __anonenum_606441560___199 {
    SHUT_RD___199 = 0,
    SHUT_WR___199 = 1,
    SHUT_RDWR___199 = 2
} ;
enum __anonenum_681669233___199 {
    IPPROTO_IP___199 = 0,
    IPPROTO_ICMP___199 = 1,
    IPPROTO_IGMP___199 = 2,
    IPPROTO_IPIP___199 = 4,
    IPPROTO_TCP___199 = 6,
    IPPROTO_EGP___199 = 8,
    IPPROTO_PUP___199 = 12,
    IPPROTO_UDP___199 = 17,
    IPPROTO_IDP___199 = 22,
    IPPROTO_TP___199 = 29,
    IPPROTO_DCCP___199 = 33,
    IPPROTO_IPV6___199 = 41,
    IPPROTO_RSVP___199 = 46,
    IPPROTO_GRE___199 = 47,
    IPPROTO_ESP___199 = 50,
    IPPROTO_AH___199 = 51,
    IPPROTO_MTP___199 = 92,
    IPPROTO_BEETPH___199 = 94,
    IPPROTO_ENCAP___199 = 98,
    IPPROTO_PIM___199 = 103,
    IPPROTO_COMP___199 = 108,
    IPPROTO_SCTP___199 = 132,
    IPPROTO_UDPLITE___199 = 136,
    IPPROTO_MPLS___199 = 137,
    IPPROTO_RAW___199 = 255,
    IPPROTO_MAX___199 = 256
} ;
enum __anonenum_218739988___199 {
    IPPROTO_HOPOPTS___199 = 0,
    IPPROTO_ROUTING___199 = 43,
    IPPROTO_FRAGMENT___199 = 44,
    IPPROTO_ICMPV6___199 = 58,
    IPPROTO_NONE___199 = 59,
    IPPROTO_DSTOPTS___199 = 60,
    IPPROTO_MH___199 = 135
} ;
enum __anonenum_662268580___199 {
    IPPORT_ECHO___199 = 7,
    IPPORT_DISCARD___199 = 9,
    IPPORT_SYSTAT___199 = 11,
    IPPORT_DAYTIME___199 = 13,
    IPPORT_NETSTAT___199 = 15,
    IPPORT_FTP___199 = 21,
    IPPORT_TELNET___199 = 23,
    IPPORT_SMTP___199 = 25,
    IPPORT_TIMESERVER___199 = 37,
    IPPORT_NAMESERVER___199 = 42,
    IPPORT_WHOIS___199 = 43,
    IPPORT_MTP___199 = 57,
    IPPORT_TFTP___199 = 69,
    IPPORT_RJE___199 = 77,
    IPPORT_FINGER___199 = 79,
    IPPORT_TTYLINK___199 = 87,
    IPPORT_SUPDUP___199 = 95,
    IPPORT_EXECSERVER___199 = 512,
    IPPORT_LOGINSERVER___199 = 513,
    IPPORT_CMDSERVER___199 = 514,
    IPPORT_EFSSERVER___199 = 520,
    IPPORT_BIFFUDP___199 = 512,
    IPPORT_WHOSERVER___199 = 513,
    IPPORT_ROUTESERVER___199 = 520,
    IPPORT_RESERVED___199 = 1024,
    IPPORT_USERRESERVED___199 = 5000
} ;
enum __anonenum_788308992___199 {
    TCP_ESTABLISHED___199 = 1,
    TCP_SYN_SENT___199 = 2,
    TCP_SYN_RECV___199 = 3,
    TCP_FIN_WAIT1___199 = 4,
    TCP_FIN_WAIT2___199 = 5,
    TCP_TIME_WAIT___199 = 6,
    TCP_CLOSE___199 = 7,
    TCP_CLOSE_WAIT___199 = 8,
    TCP_LAST_ACK___199 = 9,
    TCP_LISTEN___199 = 10,
    TCP_CLOSING___199 = 11
} ;
enum __anonenum_221125648___199 {
    TCP_NO_QUEUE___199 = 0,
    TCP_RECV_QUEUE___199 = 1,
    TCP_SEND_QUEUE___199 = 2,
    TCP_QUEUES_NR___199 = 3
} ;
enum __anonenum_34415463___199 {
    PTHREAD_CREATE_JOINABLE___199 = 0,
    PTHREAD_CREATE_DETACHED___199 = 1
} ;
enum __anonenum_303612439___199 {
    PTHREAD_MUTEX_TIMED_NP___199 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___199 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___199 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___199 = 3,
    PTHREAD_MUTEX_NORMAL___199 = 0,
    PTHREAD_MUTEX_RECURSIVE___199 = 1,
    PTHREAD_MUTEX_ERRORCHECK___199 = 2,
    PTHREAD_MUTEX_DEFAULT___199 = 0,
    PTHREAD_MUTEX_FAST_NP___199 = 0
} ;
enum __anonenum_931900394___199 {
    PTHREAD_MUTEX_STALLED___199 = 0,
    PTHREAD_MUTEX_STALLED_NP___199 = 0,
    PTHREAD_MUTEX_ROBUST___199 = 1,
    PTHREAD_MUTEX_ROBUST_NP___199 = 1
} ;
enum __anonenum_205214487___199 {
    PTHREAD_PRIO_NONE___199 = 0,
    PTHREAD_PRIO_INHERIT___199 = 1,
    PTHREAD_PRIO_PROTECT___199 = 2
} ;
enum __anonenum_25043950___199 {
    PTHREAD_RWLOCK_PREFER_READER_NP___199 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___199 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___199 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___199 = 0
} ;
enum __anonenum_436439511___199 {
    PTHREAD_INHERIT_SCHED___199 = 0,
    PTHREAD_EXPLICIT_SCHED___199 = 1
} ;
enum __anonenum_998661166___199 {
    PTHREAD_SCOPE_SYSTEM___199 = 0,
    PTHREAD_SCOPE_PROCESS___199 = 1
} ;
enum __anonenum_146137331___199 {
    PTHREAD_PROCESS_PRIVATE___199 = 0,
    PTHREAD_PROCESS_SHARED___199 = 1
} ;
enum __anonenum_53396917___199 {
    PTHREAD_CANCEL_ENABLE___199 = 0,
    PTHREAD_CANCEL_DISABLE___199 = 1
} ;
enum __anonenum_904563783___199 {
    PTHREAD_CANCEL_DEFERRED___199 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___199 = 1
} ;
enum __anonenum_672052974___199 {
    SSL_CT_VALIDATION_PERMISSIVE___199 = 0,
    SSL_CT_VALIDATION_STRICT___199 = 1
} ;
enum __anonenum_437032235___200 {
    _PC_LINK_MAX___200 = 0,
    _PC_MAX_CANON___200 = 1,
    _PC_MAX_INPUT___200 = 2,
    _PC_NAME_MAX___200 = 3,
    _PC_PATH_MAX___200 = 4,
    _PC_PIPE_BUF___200 = 5,
    _PC_CHOWN_RESTRICTED___200 = 6,
    _PC_NO_TRUNC___200 = 7,
    _PC_VDISABLE___200 = 8,
    _PC_SYNC_IO___200 = 9,
    _PC_ASYNC_IO___200 = 10,
    _PC_PRIO_IO___200 = 11,
    _PC_SOCK_MAXBUF___200 = 12,
    _PC_FILESIZEBITS___200 = 13,
    _PC_REC_INCR_XFER_SIZE___200 = 14,
    _PC_REC_MAX_XFER_SIZE___200 = 15,
    _PC_REC_MIN_XFER_SIZE___200 = 16,
    _PC_REC_XFER_ALIGN___200 = 17,
    _PC_ALLOC_SIZE_MIN___200 = 18,
    _PC_SYMLINK_MAX___200 = 19,
    _PC_2_SYMLINKS___200 = 20
} ;
enum __anonenum_315186338___200 {
    _SC_ARG_MAX___200 = 0,
    _SC_CHILD_MAX___200 = 1,
    _SC_CLK_TCK___200 = 2,
    _SC_NGROUPS_MAX___200 = 3,
    _SC_OPEN_MAX___200 = 4,
    _SC_STREAM_MAX___200 = 5,
    _SC_TZNAME_MAX___200 = 6,
    _SC_JOB_CONTROL___200 = 7,
    _SC_SAVED_IDS___200 = 8,
    _SC_REALTIME_SIGNALS___200 = 9,
    _SC_PRIORITY_SCHEDULING___200 = 10,
    _SC_TIMERS___200 = 11,
    _SC_ASYNCHRONOUS_IO___200 = 12,
    _SC_PRIORITIZED_IO___200 = 13,
    _SC_SYNCHRONIZED_IO___200 = 14,
    _SC_FSYNC___200 = 15,
    _SC_MAPPED_FILES___200 = 16,
    _SC_MEMLOCK___200 = 17,
    _SC_MEMLOCK_RANGE___200 = 18,
    _SC_MEMORY_PROTECTION___200 = 19,
    _SC_MESSAGE_PASSING___200 = 20,
    _SC_SEMAPHORES___200 = 21,
    _SC_SHARED_MEMORY_OBJECTS___200 = 22,
    _SC_AIO_LISTIO_MAX___200 = 23,
    _SC_AIO_MAX___200 = 24,
    _SC_AIO_PRIO_DELTA_MAX___200 = 25,
    _SC_DELAYTIMER_MAX___200 = 26,
    _SC_MQ_OPEN_MAX___200 = 27,
    _SC_MQ_PRIO_MAX___200 = 28,
    _SC_VERSION___200 = 29,
    _SC_PAGESIZE___200 = 30,
    _SC_RTSIG_MAX___200 = 31,
    _SC_SEM_NSEMS_MAX___200 = 32,
    _SC_SEM_VALUE_MAX___200 = 33,
    _SC_SIGQUEUE_MAX___200 = 34,
    _SC_TIMER_MAX___200 = 35,
    _SC_BC_BASE_MAX___200 = 36,
    _SC_BC_DIM_MAX___200 = 37,
    _SC_BC_SCALE_MAX___200 = 38,
    _SC_BC_STRING_MAX___200 = 39,
    _SC_COLL_WEIGHTS_MAX___200 = 40,
    _SC_EQUIV_CLASS_MAX___200 = 41,
    _SC_EXPR_NEST_MAX___200 = 42,
    _SC_LINE_MAX___200 = 43,
    _SC_RE_DUP_MAX___200 = 44,
    _SC_CHARCLASS_NAME_MAX___200 = 45,
    _SC_2_VERSION___200 = 46,
    _SC_2_C_BIND___200 = 47,
    _SC_2_C_DEV___200 = 48,
    _SC_2_FORT_DEV___200 = 49,
    _SC_2_FORT_RUN___200 = 50,
    _SC_2_SW_DEV___200 = 51,
    _SC_2_LOCALEDEF___200 = 52,
    _SC_PII___200 = 53,
    _SC_PII_XTI___200 = 54,
    _SC_PII_SOCKET___200 = 55,
    _SC_PII_INTERNET___200 = 56,
    _SC_PII_OSI___200 = 57,
    _SC_POLL___200 = 58,
    _SC_SELECT___200 = 59,
    _SC_UIO_MAXIOV___200 = 60,
    _SC_IOV_MAX___200 = 60,
    _SC_PII_INTERNET_STREAM___200 = 61,
    _SC_PII_INTERNET_DGRAM___200 = 62,
    _SC_PII_OSI_COTS___200 = 63,
    _SC_PII_OSI_CLTS___200 = 64,
    _SC_PII_OSI_M___200 = 65,
    _SC_T_IOV_MAX___200 = 66,
    _SC_THREADS___200 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___200 = 68,
    _SC_GETGR_R_SIZE_MAX___200 = 69,
    _SC_GETPW_R_SIZE_MAX___200 = 70,
    _SC_LOGIN_NAME_MAX___200 = 71,
    _SC_TTY_NAME_MAX___200 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___200 = 73,
    _SC_THREAD_KEYS_MAX___200 = 74,
    _SC_THREAD_STACK_MIN___200 = 75,
    _SC_THREAD_THREADS_MAX___200 = 76,
    _SC_THREAD_ATTR_STACKADDR___200 = 77,
    _SC_THREAD_ATTR_STACKSIZE___200 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___200 = 79,
    _SC_THREAD_PRIO_INHERIT___200 = 80,
    _SC_THREAD_PRIO_PROTECT___200 = 81,
    _SC_THREAD_PROCESS_SHARED___200 = 82,
    _SC_NPROCESSORS_CONF___200 = 83,
    _SC_NPROCESSORS_ONLN___200 = 84,
    _SC_PHYS_PAGES___200 = 85,
    _SC_AVPHYS_PAGES___200 = 86,
    _SC_ATEXIT_MAX___200 = 87,
    _SC_PASS_MAX___200 = 88,
    _SC_XOPEN_VERSION___200 = 89,
    _SC_XOPEN_XCU_VERSION___200 = 90,
    _SC_XOPEN_UNIX___200 = 91,
    _SC_XOPEN_CRYPT___200 = 92,
    _SC_XOPEN_ENH_I18N___200 = 93,
    _SC_XOPEN_SHM___200 = 94,
    _SC_2_CHAR_TERM___200 = 95,
    _SC_2_C_VERSION___200 = 96,
    _SC_2_UPE___200 = 97,
    _SC_XOPEN_XPG2___200 = 98,
    _SC_XOPEN_XPG3___200 = 99,
    _SC_XOPEN_XPG4___200 = 100,
    _SC_CHAR_BIT___200 = 101,
    _SC_CHAR_MAX___200 = 102,
    _SC_CHAR_MIN___200 = 103,
    _SC_INT_MAX___200 = 104,
    _SC_INT_MIN___200 = 105,
    _SC_LONG_BIT___200 = 106,
    _SC_WORD_BIT___200 = 107,
    _SC_MB_LEN_MAX___200 = 108,
    _SC_NZERO___200 = 109,
    _SC_SSIZE_MAX___200 = 110,
    _SC_SCHAR_MAX___200 = 111,
    _SC_SCHAR_MIN___200 = 112,
    _SC_SHRT_MAX___200 = 113,
    _SC_SHRT_MIN___200 = 114,
    _SC_UCHAR_MAX___200 = 115,
    _SC_UINT_MAX___200 = 116,
    _SC_ULONG_MAX___200 = 117,
    _SC_USHRT_MAX___200 = 118,
    _SC_NL_ARGMAX___200 = 119,
    _SC_NL_LANGMAX___200 = 120,
    _SC_NL_MSGMAX___200 = 121,
    _SC_NL_NMAX___200 = 122,
    _SC_NL_SETMAX___200 = 123,
    _SC_NL_TEXTMAX___200 = 124,
    _SC_XBS5_ILP32_OFF32___200 = 125,
    _SC_XBS5_ILP32_OFFBIG___200 = 126,
    _SC_XBS5_LP64_OFF64___200 = 127,
    _SC_XBS5_LPBIG_OFFBIG___200 = 128,
    _SC_XOPEN_LEGACY___200 = 129,
    _SC_XOPEN_REALTIME___200 = 130,
    _SC_XOPEN_REALTIME_THREADS___200 = 131,
    _SC_ADVISORY_INFO___200 = 132,
    _SC_BARRIERS___200 = 133,
    _SC_BASE___200 = 134,
    _SC_C_LANG_SUPPORT___200 = 135,
    _SC_C_LANG_SUPPORT_R___200 = 136,
    _SC_CLOCK_SELECTION___200 = 137,
    _SC_CPUTIME___200 = 138,
    _SC_THREAD_CPUTIME___200 = 139,
    _SC_DEVICE_IO___200 = 140,
    _SC_DEVICE_SPECIFIC___200 = 141,
    _SC_DEVICE_SPECIFIC_R___200 = 142,
    _SC_FD_MGMT___200 = 143,
    _SC_FIFO___200 = 144,
    _SC_PIPE___200 = 145,
    _SC_FILE_ATTRIBUTES___200 = 146,
    _SC_FILE_LOCKING___200 = 147,
    _SC_FILE_SYSTEM___200 = 148,
    _SC_MONOTONIC_CLOCK___200 = 149,
    _SC_MULTI_PROCESS___200 = 150,
    _SC_SINGLE_PROCESS___200 = 151,
    _SC_NETWORKING___200 = 152,
    _SC_READER_WRITER_LOCKS___200 = 153,
    _SC_SPIN_LOCKS___200 = 154,
    _SC_REGEXP___200 = 155,
    _SC_REGEX_VERSION___200 = 156,
    _SC_SHELL___200 = 157,
    _SC_SIGNALS___200 = 158,
    _SC_SPAWN___200 = 159,
    _SC_SPORADIC_SERVER___200 = 160,
    _SC_THREAD_SPORADIC_SERVER___200 = 161,
    _SC_SYSTEM_DATABASE___200 = 162,
    _SC_SYSTEM_DATABASE_R___200 = 163,
    _SC_TIMEOUTS___200 = 164,
    _SC_TYPED_MEMORY_OBJECTS___200 = 165,
    _SC_USER_GROUPS___200 = 166,
    _SC_USER_GROUPS_R___200 = 167,
    _SC_2_PBS___200 = 168,
    _SC_2_PBS_ACCOUNTING___200 = 169,
    _SC_2_PBS_LOCATE___200 = 170,
    _SC_2_PBS_MESSAGE___200 = 171,
    _SC_2_PBS_TRACK___200 = 172,
    _SC_SYMLOOP_MAX___200 = 173,
    _SC_STREAMS___200 = 174,
    _SC_2_PBS_CHECKPOINT___200 = 175,
    _SC_V6_ILP32_OFF32___200 = 176,
    _SC_V6_ILP32_OFFBIG___200 = 177,
    _SC_V6_LP64_OFF64___200 = 178,
    _SC_V6_LPBIG_OFFBIG___200 = 179,
    _SC_HOST_NAME_MAX___200 = 180,
    _SC_TRACE___200 = 181,
    _SC_TRACE_EVENT_FILTER___200 = 182,
    _SC_TRACE_INHERIT___200 = 183,
    _SC_TRACE_LOG___200 = 184,
    _SC_LEVEL1_ICACHE_SIZE___200 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___200 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___200 = 187,
    _SC_LEVEL1_DCACHE_SIZE___200 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___200 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___200 = 190,
    _SC_LEVEL2_CACHE_SIZE___200 = 191,
    _SC_LEVEL2_CACHE_ASSOC___200 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___200 = 193,
    _SC_LEVEL3_CACHE_SIZE___200 = 194,
    _SC_LEVEL3_CACHE_ASSOC___200 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___200 = 196,
    _SC_LEVEL4_CACHE_SIZE___200 = 197,
    _SC_LEVEL4_CACHE_ASSOC___200 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___200 = 199,
    _SC_IPV6___200 = 235,
    _SC_RAW_SOCKETS___200 = 236,
    _SC_V7_ILP32_OFF32___200 = 237,
    _SC_V7_ILP32_OFFBIG___200 = 238,
    _SC_V7_LP64_OFF64___200 = 239,
    _SC_V7_LPBIG_OFFBIG___200 = 240,
    _SC_SS_REPL_MAX___200 = 241,
    _SC_TRACE_EVENT_NAME_MAX___200 = 242,
    _SC_TRACE_NAME_MAX___200 = 243,
    _SC_TRACE_SYS_MAX___200 = 244,
    _SC_TRACE_USER_EVENT_MAX___200 = 245,
    _SC_XOPEN_STREAMS___200 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___200 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___200 = 248
} ;
enum __anonenum_875524036___200 {
    _CS_PATH___200 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___200 = 1,
    _CS_GNU_LIBC_VERSION___200 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___200 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___200 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___200 = 5,
    _CS_LFS_CFLAGS___200 = 1000,
    _CS_LFS_LDFLAGS___200 = 1001,
    _CS_LFS_LIBS___200 = 1002,
    _CS_LFS_LINTFLAGS___200 = 1003,
    _CS_LFS64_CFLAGS___200 = 1004,
    _CS_LFS64_LDFLAGS___200 = 1005,
    _CS_LFS64_LIBS___200 = 1006,
    _CS_LFS64_LINTFLAGS___200 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___200 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___200 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___200 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___200 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___200 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___200 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___200 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___200 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___200 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___200 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___200 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___200 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___200 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___200 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___200 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___200 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___200 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___200 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___200 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___200 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___200 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___200 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___200 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___200 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___200 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___200 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___200 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___200 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___200 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___200 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___200 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___200 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___200 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___200 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___200 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___200 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___200 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___200 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___200 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___200 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___200 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___200 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___200 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___200 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___200 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___200 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___200 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___200 = 1147,
    _CS_V6_ENV___200 = 1148,
    _CS_V7_ENV___200 = 1149
} ;
enum __anonenum_513775621___200 {
    DT_UNKNOWN___200 = 0,
    DT_FIFO___200 = 1,
    DT_CHR___200 = 2,
    DT_DIR___200 = 4,
    DT_BLK___200 = 6,
    DT_REG___200 = 8,
    DT_LNK___200 = 10,
    DT_SOCK___200 = 12,
    DT_WHT___200 = 14
} ;
enum __anonenum_77002343___200 {
    SI_ASYNCNL___200 = -60,
    SI_TKILL___200 = -6,
    SI_SIGIO___200 = -5,
    SI_ASYNCIO___200 = -4,
    SI_MESGQ___200 = -3,
    SI_TIMER___200 = -2,
    SI_QUEUE___200 = -1,
    SI_USER___200 = 0,
    SI_KERNEL___200 = 128
} ;
enum __anonenum_131038172___200 {
    ILL_ILLOPC___200 = 1,
    ILL_ILLOPN___200 = 2,
    ILL_ILLADR___200 = 3,
    ILL_ILLTRP___200 = 4,
    ILL_PRVOPC___200 = 5,
    ILL_PRVREG___200 = 6,
    ILL_COPROC___200 = 7,
    ILL_BADSTK___200 = 8
} ;
enum __anonenum_452038093___200 {
    FPE_INTDIV___200 = 1,
    FPE_INTOVF___200 = 2,
    FPE_FLTDIV___200 = 3,
    FPE_FLTOVF___200 = 4,
    FPE_FLTUND___200 = 5,
    FPE_FLTRES___200 = 6,
    FPE_FLTINV___200 = 7,
    FPE_FLTSUB___200 = 8
} ;
enum __anonenum_30976155___200 {
    SEGV_MAPERR___200 = 1,
    SEGV_ACCERR___200 = 2,
    SEGV_BNDERR___200 = 3,
    SEGV_PKUERR___200 = 4
} ;
enum __anonenum_1036286214___200 {
    BUS_ADRALN___200 = 1,
    BUS_ADRERR___200 = 2,
    BUS_OBJERR___200 = 3,
    BUS_MCEERR_AR___200 = 4,
    BUS_MCEERR_AO___200 = 5
} ;
enum __anonenum_493465559___200 {
    TRAP_BRKPT___200 = 1,
    TRAP_TRACE___200 = 2
} ;
enum __anonenum_23175539___200 {
    CLD_EXITED___200 = 1,
    CLD_KILLED___200 = 2,
    CLD_DUMPED___200 = 3,
    CLD_TRAPPED___200 = 4,
    CLD_STOPPED___200 = 5,
    CLD_CONTINUED___200 = 6
} ;
enum __anonenum_111643124___200 {
    POLL_IN___200 = 1,
    POLL_OUT___200 = 2,
    POLL_MSG___200 = 3,
    POLL_ERR___200 = 4,
    POLL_PRI___200 = 5,
    POLL_HUP___200 = 6
} ;
enum __anonenum_852341087___200 {
    SIGEV_SIGNAL___200 = 0,
    SIGEV_NONE___200 = 1,
    SIGEV_THREAD___200 = 2,
    SIGEV_THREAD_ID___200 = 4
} ;
enum __anonenum_451154152___200 {
    REG_R8___200 = 0,
    REG_R9___200 = 1,
    REG_R10___200 = 2,
    REG_R11___200 = 3,
    REG_R12___200 = 4,
    REG_R13___200 = 5,
    REG_R14___200 = 6,
    REG_R15___200 = 7,
    REG_RDI___200 = 8,
    REG_RSI___200 = 9,
    REG_RBP___200 = 10,
    REG_RBX___200 = 11,
    REG_RDX___200 = 12,
    REG_RAX___200 = 13,
    REG_RCX___200 = 14,
    REG_RSP___200 = 15,
    REG_RIP___200 = 16,
    REG_EFL___200 = 17,
    REG_CSGSFS___200 = 18,
    REG_ERR___200 = 19,
    REG_TRAPNO___200 = 20,
    REG_OLDMASK___200 = 21,
    REG_CR2___200 = 22
} ;
enum __anonenum_57186863___200 {
    SS_ONSTACK___200 = 1,
    SS_DISABLE___200 = 2
} ;
enum __anonenum_83571709___200 {
    MSG_OOB___200 = 1,
    MSG_PEEK___200 = 2,
    MSG_DONTROUTE___200 = 4,
    MSG_TRYHARD___200 = 4,
    MSG_CTRUNC___200 = 8,
    MSG_PROXY___200 = 16,
    MSG_TRUNC___200 = 32,
    MSG_DONTWAIT___200 = 64,
    MSG_EOR___200 = 128,
    MSG_WAITALL___200 = 256,
    MSG_FIN___200 = 512,
    MSG_SYN___200 = 1024,
    MSG_CONFIRM___200 = 2048,
    MSG_RST___200 = 4096,
    MSG_ERRQUEUE___200 = 8192,
    MSG_NOSIGNAL___200 = 16384,
    MSG_MORE___200 = 32768,
    MSG_WAITFORONE___200 = 65536,
    MSG_BATCH___200 = 262144,
    MSG_ZEROCOPY___200 = 67108864,
    MSG_FASTOPEN___200 = 536870912,
    MSG_CMSG_CLOEXEC___200 = 1073741824
} ;
enum __anonenum_617082774___200 {
    SCM_RIGHTS___200 = 1,
    SCM_CREDENTIALS___200 = 2
} ;
enum __anonenum_606441560___200 {
    SHUT_RD___200 = 0,
    SHUT_WR___200 = 1,
    SHUT_RDWR___200 = 2
} ;
enum __anonenum_681669233___200 {
    IPPROTO_IP___200 = 0,
    IPPROTO_ICMP___200 = 1,
    IPPROTO_IGMP___200 = 2,
    IPPROTO_IPIP___200 = 4,
    IPPROTO_TCP___200 = 6,
    IPPROTO_EGP___200 = 8,
    IPPROTO_PUP___200 = 12,
    IPPROTO_UDP___200 = 17,
    IPPROTO_IDP___200 = 22,
    IPPROTO_TP___200 = 29,
    IPPROTO_DCCP___200 = 33,
    IPPROTO_IPV6___200 = 41,
    IPPROTO_RSVP___200 = 46,
    IPPROTO_GRE___200 = 47,
    IPPROTO_ESP___200 = 50,
    IPPROTO_AH___200 = 51,
    IPPROTO_MTP___200 = 92,
    IPPROTO_BEETPH___200 = 94,
    IPPROTO_ENCAP___200 = 98,
    IPPROTO_PIM___200 = 103,
    IPPROTO_COMP___200 = 108,
    IPPROTO_SCTP___200 = 132,
    IPPROTO_UDPLITE___200 = 136,
    IPPROTO_MPLS___200 = 137,
    IPPROTO_RAW___200 = 255,
    IPPROTO_MAX___200 = 256
} ;
enum __anonenum_218739988___200 {
    IPPROTO_HOPOPTS___200 = 0,
    IPPROTO_ROUTING___200 = 43,
    IPPROTO_FRAGMENT___200 = 44,
    IPPROTO_ICMPV6___200 = 58,
    IPPROTO_NONE___200 = 59,
    IPPROTO_DSTOPTS___200 = 60,
    IPPROTO_MH___200 = 135
} ;
enum __anonenum_662268580___200 {
    IPPORT_ECHO___200 = 7,
    IPPORT_DISCARD___200 = 9,
    IPPORT_SYSTAT___200 = 11,
    IPPORT_DAYTIME___200 = 13,
    IPPORT_NETSTAT___200 = 15,
    IPPORT_FTP___200 = 21,
    IPPORT_TELNET___200 = 23,
    IPPORT_SMTP___200 = 25,
    IPPORT_TIMESERVER___200 = 37,
    IPPORT_NAMESERVER___200 = 42,
    IPPORT_WHOIS___200 = 43,
    IPPORT_MTP___200 = 57,
    IPPORT_TFTP___200 = 69,
    IPPORT_RJE___200 = 77,
    IPPORT_FINGER___200 = 79,
    IPPORT_TTYLINK___200 = 87,
    IPPORT_SUPDUP___200 = 95,
    IPPORT_EXECSERVER___200 = 512,
    IPPORT_LOGINSERVER___200 = 513,
    IPPORT_CMDSERVER___200 = 514,
    IPPORT_EFSSERVER___200 = 520,
    IPPORT_BIFFUDP___200 = 512,
    IPPORT_WHOSERVER___200 = 513,
    IPPORT_ROUTESERVER___200 = 520,
    IPPORT_RESERVED___200 = 1024,
    IPPORT_USERRESERVED___200 = 5000
} ;
enum __anonenum_788308992___200 {
    TCP_ESTABLISHED___200 = 1,
    TCP_SYN_SENT___200 = 2,
    TCP_SYN_RECV___200 = 3,
    TCP_FIN_WAIT1___200 = 4,
    TCP_FIN_WAIT2___200 = 5,
    TCP_TIME_WAIT___200 = 6,
    TCP_CLOSE___200 = 7,
    TCP_CLOSE_WAIT___200 = 8,
    TCP_LAST_ACK___200 = 9,
    TCP_LISTEN___200 = 10,
    TCP_CLOSING___200 = 11
} ;
enum __anonenum_221125648___200 {
    TCP_NO_QUEUE___200 = 0,
    TCP_RECV_QUEUE___200 = 1,
    TCP_SEND_QUEUE___200 = 2,
    TCP_QUEUES_NR___200 = 3
} ;
enum __anonenum_34415463___200 {
    PTHREAD_CREATE_JOINABLE___200 = 0,
    PTHREAD_CREATE_DETACHED___200 = 1
} ;
enum __anonenum_303612439___200 {
    PTHREAD_MUTEX_TIMED_NP___200 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___200 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___200 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___200 = 3,
    PTHREAD_MUTEX_NORMAL___200 = 0,
    PTHREAD_MUTEX_RECURSIVE___200 = 1,
    PTHREAD_MUTEX_ERRORCHECK___200 = 2,
    PTHREAD_MUTEX_DEFAULT___200 = 0,
    PTHREAD_MUTEX_FAST_NP___200 = 0
} ;
enum __anonenum_931900394___200 {
    PTHREAD_MUTEX_STALLED___200 = 0,
    PTHREAD_MUTEX_STALLED_NP___200 = 0,
    PTHREAD_MUTEX_ROBUST___200 = 1,
    PTHREAD_MUTEX_ROBUST_NP___200 = 1
} ;
enum __anonenum_205214487___200 {
    PTHREAD_PRIO_NONE___200 = 0,
    PTHREAD_PRIO_INHERIT___200 = 1,
    PTHREAD_PRIO_PROTECT___200 = 2
} ;
enum __anonenum_25043950___200 {
    PTHREAD_RWLOCK_PREFER_READER_NP___200 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___200 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___200 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___200 = 0
} ;
enum __anonenum_436439511___200 {
    PTHREAD_INHERIT_SCHED___200 = 0,
    PTHREAD_EXPLICIT_SCHED___200 = 1
} ;
enum __anonenum_998661166___200 {
    PTHREAD_SCOPE_SYSTEM___200 = 0,
    PTHREAD_SCOPE_PROCESS___200 = 1
} ;
enum __anonenum_146137331___200 {
    PTHREAD_PROCESS_PRIVATE___200 = 0,
    PTHREAD_PROCESS_SHARED___200 = 1
} ;
enum __anonenum_53396917___200 {
    PTHREAD_CANCEL_ENABLE___200 = 0,
    PTHREAD_CANCEL_DISABLE___200 = 1
} ;
enum __anonenum_904563783___200 {
    PTHREAD_CANCEL_DEFERRED___200 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___200 = 1
} ;
enum __anonenum_672052974___200 {
    SSL_CT_VALIDATION_PERMISSIVE___200 = 0,
    SSL_CT_VALIDATION_STRICT___200 = 1
} ;
struct tr2_tbuf {
   char buf[32] ;
};
enum __anonenum_437032235___201 {
    _PC_LINK_MAX___201 = 0,
    _PC_MAX_CANON___201 = 1,
    _PC_MAX_INPUT___201 = 2,
    _PC_NAME_MAX___201 = 3,
    _PC_PATH_MAX___201 = 4,
    _PC_PIPE_BUF___201 = 5,
    _PC_CHOWN_RESTRICTED___201 = 6,
    _PC_NO_TRUNC___201 = 7,
    _PC_VDISABLE___201 = 8,
    _PC_SYNC_IO___201 = 9,
    _PC_ASYNC_IO___201 = 10,
    _PC_PRIO_IO___201 = 11,
    _PC_SOCK_MAXBUF___201 = 12,
    _PC_FILESIZEBITS___201 = 13,
    _PC_REC_INCR_XFER_SIZE___201 = 14,
    _PC_REC_MAX_XFER_SIZE___201 = 15,
    _PC_REC_MIN_XFER_SIZE___201 = 16,
    _PC_REC_XFER_ALIGN___201 = 17,
    _PC_ALLOC_SIZE_MIN___201 = 18,
    _PC_SYMLINK_MAX___201 = 19,
    _PC_2_SYMLINKS___201 = 20
} ;
enum __anonenum_315186338___201 {
    _SC_ARG_MAX___201 = 0,
    _SC_CHILD_MAX___201 = 1,
    _SC_CLK_TCK___201 = 2,
    _SC_NGROUPS_MAX___201 = 3,
    _SC_OPEN_MAX___201 = 4,
    _SC_STREAM_MAX___201 = 5,
    _SC_TZNAME_MAX___201 = 6,
    _SC_JOB_CONTROL___201 = 7,
    _SC_SAVED_IDS___201 = 8,
    _SC_REALTIME_SIGNALS___201 = 9,
    _SC_PRIORITY_SCHEDULING___201 = 10,
    _SC_TIMERS___201 = 11,
    _SC_ASYNCHRONOUS_IO___201 = 12,
    _SC_PRIORITIZED_IO___201 = 13,
    _SC_SYNCHRONIZED_IO___201 = 14,
    _SC_FSYNC___201 = 15,
    _SC_MAPPED_FILES___201 = 16,
    _SC_MEMLOCK___201 = 17,
    _SC_MEMLOCK_RANGE___201 = 18,
    _SC_MEMORY_PROTECTION___201 = 19,
    _SC_MESSAGE_PASSING___201 = 20,
    _SC_SEMAPHORES___201 = 21,
    _SC_SHARED_MEMORY_OBJECTS___201 = 22,
    _SC_AIO_LISTIO_MAX___201 = 23,
    _SC_AIO_MAX___201 = 24,
    _SC_AIO_PRIO_DELTA_MAX___201 = 25,
    _SC_DELAYTIMER_MAX___201 = 26,
    _SC_MQ_OPEN_MAX___201 = 27,
    _SC_MQ_PRIO_MAX___201 = 28,
    _SC_VERSION___201 = 29,
    _SC_PAGESIZE___201 = 30,
    _SC_RTSIG_MAX___201 = 31,
    _SC_SEM_NSEMS_MAX___201 = 32,
    _SC_SEM_VALUE_MAX___201 = 33,
    _SC_SIGQUEUE_MAX___201 = 34,
    _SC_TIMER_MAX___201 = 35,
    _SC_BC_BASE_MAX___201 = 36,
    _SC_BC_DIM_MAX___201 = 37,
    _SC_BC_SCALE_MAX___201 = 38,
    _SC_BC_STRING_MAX___201 = 39,
    _SC_COLL_WEIGHTS_MAX___201 = 40,
    _SC_EQUIV_CLASS_MAX___201 = 41,
    _SC_EXPR_NEST_MAX___201 = 42,
    _SC_LINE_MAX___201 = 43,
    _SC_RE_DUP_MAX___201 = 44,
    _SC_CHARCLASS_NAME_MAX___201 = 45,
    _SC_2_VERSION___201 = 46,
    _SC_2_C_BIND___201 = 47,
    _SC_2_C_DEV___201 = 48,
    _SC_2_FORT_DEV___201 = 49,
    _SC_2_FORT_RUN___201 = 50,
    _SC_2_SW_DEV___201 = 51,
    _SC_2_LOCALEDEF___201 = 52,
    _SC_PII___201 = 53,
    _SC_PII_XTI___201 = 54,
    _SC_PII_SOCKET___201 = 55,
    _SC_PII_INTERNET___201 = 56,
    _SC_PII_OSI___201 = 57,
    _SC_POLL___201 = 58,
    _SC_SELECT___201 = 59,
    _SC_UIO_MAXIOV___201 = 60,
    _SC_IOV_MAX___201 = 60,
    _SC_PII_INTERNET_STREAM___201 = 61,
    _SC_PII_INTERNET_DGRAM___201 = 62,
    _SC_PII_OSI_COTS___201 = 63,
    _SC_PII_OSI_CLTS___201 = 64,
    _SC_PII_OSI_M___201 = 65,
    _SC_T_IOV_MAX___201 = 66,
    _SC_THREADS___201 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___201 = 68,
    _SC_GETGR_R_SIZE_MAX___201 = 69,
    _SC_GETPW_R_SIZE_MAX___201 = 70,
    _SC_LOGIN_NAME_MAX___201 = 71,
    _SC_TTY_NAME_MAX___201 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___201 = 73,
    _SC_THREAD_KEYS_MAX___201 = 74,
    _SC_THREAD_STACK_MIN___201 = 75,
    _SC_THREAD_THREADS_MAX___201 = 76,
    _SC_THREAD_ATTR_STACKADDR___201 = 77,
    _SC_THREAD_ATTR_STACKSIZE___201 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___201 = 79,
    _SC_THREAD_PRIO_INHERIT___201 = 80,
    _SC_THREAD_PRIO_PROTECT___201 = 81,
    _SC_THREAD_PROCESS_SHARED___201 = 82,
    _SC_NPROCESSORS_CONF___201 = 83,
    _SC_NPROCESSORS_ONLN___201 = 84,
    _SC_PHYS_PAGES___201 = 85,
    _SC_AVPHYS_PAGES___201 = 86,
    _SC_ATEXIT_MAX___201 = 87,
    _SC_PASS_MAX___201 = 88,
    _SC_XOPEN_VERSION___201 = 89,
    _SC_XOPEN_XCU_VERSION___201 = 90,
    _SC_XOPEN_UNIX___201 = 91,
    _SC_XOPEN_CRYPT___201 = 92,
    _SC_XOPEN_ENH_I18N___201 = 93,
    _SC_XOPEN_SHM___201 = 94,
    _SC_2_CHAR_TERM___201 = 95,
    _SC_2_C_VERSION___201 = 96,
    _SC_2_UPE___201 = 97,
    _SC_XOPEN_XPG2___201 = 98,
    _SC_XOPEN_XPG3___201 = 99,
    _SC_XOPEN_XPG4___201 = 100,
    _SC_CHAR_BIT___201 = 101,
    _SC_CHAR_MAX___201 = 102,
    _SC_CHAR_MIN___201 = 103,
    _SC_INT_MAX___201 = 104,
    _SC_INT_MIN___201 = 105,
    _SC_LONG_BIT___201 = 106,
    _SC_WORD_BIT___201 = 107,
    _SC_MB_LEN_MAX___201 = 108,
    _SC_NZERO___201 = 109,
    _SC_SSIZE_MAX___201 = 110,
    _SC_SCHAR_MAX___201 = 111,
    _SC_SCHAR_MIN___201 = 112,
    _SC_SHRT_MAX___201 = 113,
    _SC_SHRT_MIN___201 = 114,
    _SC_UCHAR_MAX___201 = 115,
    _SC_UINT_MAX___201 = 116,
    _SC_ULONG_MAX___201 = 117,
    _SC_USHRT_MAX___201 = 118,
    _SC_NL_ARGMAX___201 = 119,
    _SC_NL_LANGMAX___201 = 120,
    _SC_NL_MSGMAX___201 = 121,
    _SC_NL_NMAX___201 = 122,
    _SC_NL_SETMAX___201 = 123,
    _SC_NL_TEXTMAX___201 = 124,
    _SC_XBS5_ILP32_OFF32___201 = 125,
    _SC_XBS5_ILP32_OFFBIG___201 = 126,
    _SC_XBS5_LP64_OFF64___201 = 127,
    _SC_XBS5_LPBIG_OFFBIG___201 = 128,
    _SC_XOPEN_LEGACY___201 = 129,
    _SC_XOPEN_REALTIME___201 = 130,
    _SC_XOPEN_REALTIME_THREADS___201 = 131,
    _SC_ADVISORY_INFO___201 = 132,
    _SC_BARRIERS___201 = 133,
    _SC_BASE___201 = 134,
    _SC_C_LANG_SUPPORT___201 = 135,
    _SC_C_LANG_SUPPORT_R___201 = 136,
    _SC_CLOCK_SELECTION___201 = 137,
    _SC_CPUTIME___201 = 138,
    _SC_THREAD_CPUTIME___201 = 139,
    _SC_DEVICE_IO___201 = 140,
    _SC_DEVICE_SPECIFIC___201 = 141,
    _SC_DEVICE_SPECIFIC_R___201 = 142,
    _SC_FD_MGMT___201 = 143,
    _SC_FIFO___201 = 144,
    _SC_PIPE___201 = 145,
    _SC_FILE_ATTRIBUTES___201 = 146,
    _SC_FILE_LOCKING___201 = 147,
    _SC_FILE_SYSTEM___201 = 148,
    _SC_MONOTONIC_CLOCK___201 = 149,
    _SC_MULTI_PROCESS___201 = 150,
    _SC_SINGLE_PROCESS___201 = 151,
    _SC_NETWORKING___201 = 152,
    _SC_READER_WRITER_LOCKS___201 = 153,
    _SC_SPIN_LOCKS___201 = 154,
    _SC_REGEXP___201 = 155,
    _SC_REGEX_VERSION___201 = 156,
    _SC_SHELL___201 = 157,
    _SC_SIGNALS___201 = 158,
    _SC_SPAWN___201 = 159,
    _SC_SPORADIC_SERVER___201 = 160,
    _SC_THREAD_SPORADIC_SERVER___201 = 161,
    _SC_SYSTEM_DATABASE___201 = 162,
    _SC_SYSTEM_DATABASE_R___201 = 163,
    _SC_TIMEOUTS___201 = 164,
    _SC_TYPED_MEMORY_OBJECTS___201 = 165,
    _SC_USER_GROUPS___201 = 166,
    _SC_USER_GROUPS_R___201 = 167,
    _SC_2_PBS___201 = 168,
    _SC_2_PBS_ACCOUNTING___201 = 169,
    _SC_2_PBS_LOCATE___201 = 170,
    _SC_2_PBS_MESSAGE___201 = 171,
    _SC_2_PBS_TRACK___201 = 172,
    _SC_SYMLOOP_MAX___201 = 173,
    _SC_STREAMS___201 = 174,
    _SC_2_PBS_CHECKPOINT___201 = 175,
    _SC_V6_ILP32_OFF32___201 = 176,
    _SC_V6_ILP32_OFFBIG___201 = 177,
    _SC_V6_LP64_OFF64___201 = 178,
    _SC_V6_LPBIG_OFFBIG___201 = 179,
    _SC_HOST_NAME_MAX___201 = 180,
    _SC_TRACE___201 = 181,
    _SC_TRACE_EVENT_FILTER___201 = 182,
    _SC_TRACE_INHERIT___201 = 183,
    _SC_TRACE_LOG___201 = 184,
    _SC_LEVEL1_ICACHE_SIZE___201 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___201 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___201 = 187,
    _SC_LEVEL1_DCACHE_SIZE___201 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___201 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___201 = 190,
    _SC_LEVEL2_CACHE_SIZE___201 = 191,
    _SC_LEVEL2_CACHE_ASSOC___201 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___201 = 193,
    _SC_LEVEL3_CACHE_SIZE___201 = 194,
    _SC_LEVEL3_CACHE_ASSOC___201 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___201 = 196,
    _SC_LEVEL4_CACHE_SIZE___201 = 197,
    _SC_LEVEL4_CACHE_ASSOC___201 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___201 = 199,
    _SC_IPV6___201 = 235,
    _SC_RAW_SOCKETS___201 = 236,
    _SC_V7_ILP32_OFF32___201 = 237,
    _SC_V7_ILP32_OFFBIG___201 = 238,
    _SC_V7_LP64_OFF64___201 = 239,
    _SC_V7_LPBIG_OFFBIG___201 = 240,
    _SC_SS_REPL_MAX___201 = 241,
    _SC_TRACE_EVENT_NAME_MAX___201 = 242,
    _SC_TRACE_NAME_MAX___201 = 243,
    _SC_TRACE_SYS_MAX___201 = 244,
    _SC_TRACE_USER_EVENT_MAX___201 = 245,
    _SC_XOPEN_STREAMS___201 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___201 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___201 = 248
} ;
enum __anonenum_875524036___201 {
    _CS_PATH___201 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___201 = 1,
    _CS_GNU_LIBC_VERSION___201 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___201 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___201 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___201 = 5,
    _CS_LFS_CFLAGS___201 = 1000,
    _CS_LFS_LDFLAGS___201 = 1001,
    _CS_LFS_LIBS___201 = 1002,
    _CS_LFS_LINTFLAGS___201 = 1003,
    _CS_LFS64_CFLAGS___201 = 1004,
    _CS_LFS64_LDFLAGS___201 = 1005,
    _CS_LFS64_LIBS___201 = 1006,
    _CS_LFS64_LINTFLAGS___201 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___201 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___201 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___201 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___201 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___201 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___201 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___201 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___201 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___201 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___201 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___201 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___201 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___201 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___201 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___201 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___201 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___201 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___201 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___201 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___201 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___201 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___201 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___201 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___201 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___201 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___201 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___201 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___201 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___201 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___201 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___201 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___201 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___201 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___201 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___201 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___201 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___201 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___201 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___201 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___201 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___201 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___201 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___201 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___201 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___201 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___201 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___201 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___201 = 1147,
    _CS_V6_ENV___201 = 1148,
    _CS_V7_ENV___201 = 1149
} ;
enum __anonenum_513775621___201 {
    DT_UNKNOWN___201 = 0,
    DT_FIFO___201 = 1,
    DT_CHR___201 = 2,
    DT_DIR___201 = 4,
    DT_BLK___201 = 6,
    DT_REG___201 = 8,
    DT_LNK___201 = 10,
    DT_SOCK___201 = 12,
    DT_WHT___201 = 14
} ;
enum __anonenum_77002343___201 {
    SI_ASYNCNL___201 = -60,
    SI_TKILL___201 = -6,
    SI_SIGIO___201 = -5,
    SI_ASYNCIO___201 = -4,
    SI_MESGQ___201 = -3,
    SI_TIMER___201 = -2,
    SI_QUEUE___201 = -1,
    SI_USER___201 = 0,
    SI_KERNEL___201 = 128
} ;
enum __anonenum_131038172___201 {
    ILL_ILLOPC___201 = 1,
    ILL_ILLOPN___201 = 2,
    ILL_ILLADR___201 = 3,
    ILL_ILLTRP___201 = 4,
    ILL_PRVOPC___201 = 5,
    ILL_PRVREG___201 = 6,
    ILL_COPROC___201 = 7,
    ILL_BADSTK___201 = 8
} ;
enum __anonenum_452038093___201 {
    FPE_INTDIV___201 = 1,
    FPE_INTOVF___201 = 2,
    FPE_FLTDIV___201 = 3,
    FPE_FLTOVF___201 = 4,
    FPE_FLTUND___201 = 5,
    FPE_FLTRES___201 = 6,
    FPE_FLTINV___201 = 7,
    FPE_FLTSUB___201 = 8
} ;
enum __anonenum_30976155___201 {
    SEGV_MAPERR___201 = 1,
    SEGV_ACCERR___201 = 2,
    SEGV_BNDERR___201 = 3,
    SEGV_PKUERR___201 = 4
} ;
enum __anonenum_1036286214___201 {
    BUS_ADRALN___201 = 1,
    BUS_ADRERR___201 = 2,
    BUS_OBJERR___201 = 3,
    BUS_MCEERR_AR___201 = 4,
    BUS_MCEERR_AO___201 = 5
} ;
enum __anonenum_493465559___201 {
    TRAP_BRKPT___201 = 1,
    TRAP_TRACE___201 = 2
} ;
enum __anonenum_23175539___201 {
    CLD_EXITED___201 = 1,
    CLD_KILLED___201 = 2,
    CLD_DUMPED___201 = 3,
    CLD_TRAPPED___201 = 4,
    CLD_STOPPED___201 = 5,
    CLD_CONTINUED___201 = 6
} ;
enum __anonenum_111643124___201 {
    POLL_IN___201 = 1,
    POLL_OUT___201 = 2,
    POLL_MSG___201 = 3,
    POLL_ERR___201 = 4,
    POLL_PRI___201 = 5,
    POLL_HUP___201 = 6
} ;
enum __anonenum_852341087___201 {
    SIGEV_SIGNAL___201 = 0,
    SIGEV_NONE___201 = 1,
    SIGEV_THREAD___201 = 2,
    SIGEV_THREAD_ID___201 = 4
} ;
enum __anonenum_451154152___201 {
    REG_R8___201 = 0,
    REG_R9___201 = 1,
    REG_R10___201 = 2,
    REG_R11___201 = 3,
    REG_R12___201 = 4,
    REG_R13___201 = 5,
    REG_R14___201 = 6,
    REG_R15___201 = 7,
    REG_RDI___201 = 8,
    REG_RSI___201 = 9,
    REG_RBP___201 = 10,
    REG_RBX___201 = 11,
    REG_RDX___201 = 12,
    REG_RAX___201 = 13,
    REG_RCX___201 = 14,
    REG_RSP___201 = 15,
    REG_RIP___201 = 16,
    REG_EFL___201 = 17,
    REG_CSGSFS___201 = 18,
    REG_ERR___201 = 19,
    REG_TRAPNO___201 = 20,
    REG_OLDMASK___201 = 21,
    REG_CR2___201 = 22
} ;
enum __anonenum_57186863___201 {
    SS_ONSTACK___201 = 1,
    SS_DISABLE___201 = 2
} ;
enum __anonenum_83571709___201 {
    MSG_OOB___201 = 1,
    MSG_PEEK___201 = 2,
    MSG_DONTROUTE___201 = 4,
    MSG_TRYHARD___201 = 4,
    MSG_CTRUNC___201 = 8,
    MSG_PROXY___201 = 16,
    MSG_TRUNC___201 = 32,
    MSG_DONTWAIT___201 = 64,
    MSG_EOR___201 = 128,
    MSG_WAITALL___201 = 256,
    MSG_FIN___201 = 512,
    MSG_SYN___201 = 1024,
    MSG_CONFIRM___201 = 2048,
    MSG_RST___201 = 4096,
    MSG_ERRQUEUE___201 = 8192,
    MSG_NOSIGNAL___201 = 16384,
    MSG_MORE___201 = 32768,
    MSG_WAITFORONE___201 = 65536,
    MSG_BATCH___201 = 262144,
    MSG_ZEROCOPY___201 = 67108864,
    MSG_FASTOPEN___201 = 536870912,
    MSG_CMSG_CLOEXEC___201 = 1073741824
} ;
enum __anonenum_617082774___201 {
    SCM_RIGHTS___201 = 1,
    SCM_CREDENTIALS___201 = 2
} ;
enum __anonenum_606441560___201 {
    SHUT_RD___201 = 0,
    SHUT_WR___201 = 1,
    SHUT_RDWR___201 = 2
} ;
enum __anonenum_681669233___201 {
    IPPROTO_IP___201 = 0,
    IPPROTO_ICMP___201 = 1,
    IPPROTO_IGMP___201 = 2,
    IPPROTO_IPIP___201 = 4,
    IPPROTO_TCP___201 = 6,
    IPPROTO_EGP___201 = 8,
    IPPROTO_PUP___201 = 12,
    IPPROTO_UDP___201 = 17,
    IPPROTO_IDP___201 = 22,
    IPPROTO_TP___201 = 29,
    IPPROTO_DCCP___201 = 33,
    IPPROTO_IPV6___201 = 41,
    IPPROTO_RSVP___201 = 46,
    IPPROTO_GRE___201 = 47,
    IPPROTO_ESP___201 = 50,
    IPPROTO_AH___201 = 51,
    IPPROTO_MTP___201 = 92,
    IPPROTO_BEETPH___201 = 94,
    IPPROTO_ENCAP___201 = 98,
    IPPROTO_PIM___201 = 103,
    IPPROTO_COMP___201 = 108,
    IPPROTO_SCTP___201 = 132,
    IPPROTO_UDPLITE___201 = 136,
    IPPROTO_MPLS___201 = 137,
    IPPROTO_RAW___201 = 255,
    IPPROTO_MAX___201 = 256
} ;
enum __anonenum_218739988___201 {
    IPPROTO_HOPOPTS___201 = 0,
    IPPROTO_ROUTING___201 = 43,
    IPPROTO_FRAGMENT___201 = 44,
    IPPROTO_ICMPV6___201 = 58,
    IPPROTO_NONE___201 = 59,
    IPPROTO_DSTOPTS___201 = 60,
    IPPROTO_MH___201 = 135
} ;
enum __anonenum_662268580___201 {
    IPPORT_ECHO___201 = 7,
    IPPORT_DISCARD___201 = 9,
    IPPORT_SYSTAT___201 = 11,
    IPPORT_DAYTIME___201 = 13,
    IPPORT_NETSTAT___201 = 15,
    IPPORT_FTP___201 = 21,
    IPPORT_TELNET___201 = 23,
    IPPORT_SMTP___201 = 25,
    IPPORT_TIMESERVER___201 = 37,
    IPPORT_NAMESERVER___201 = 42,
    IPPORT_WHOIS___201 = 43,
    IPPORT_MTP___201 = 57,
    IPPORT_TFTP___201 = 69,
    IPPORT_RJE___201 = 77,
    IPPORT_FINGER___201 = 79,
    IPPORT_TTYLINK___201 = 87,
    IPPORT_SUPDUP___201 = 95,
    IPPORT_EXECSERVER___201 = 512,
    IPPORT_LOGINSERVER___201 = 513,
    IPPORT_CMDSERVER___201 = 514,
    IPPORT_EFSSERVER___201 = 520,
    IPPORT_BIFFUDP___201 = 512,
    IPPORT_WHOSERVER___201 = 513,
    IPPORT_ROUTESERVER___201 = 520,
    IPPORT_RESERVED___201 = 1024,
    IPPORT_USERRESERVED___201 = 5000
} ;
enum __anonenum_788308992___201 {
    TCP_ESTABLISHED___201 = 1,
    TCP_SYN_SENT___201 = 2,
    TCP_SYN_RECV___201 = 3,
    TCP_FIN_WAIT1___201 = 4,
    TCP_FIN_WAIT2___201 = 5,
    TCP_TIME_WAIT___201 = 6,
    TCP_CLOSE___201 = 7,
    TCP_CLOSE_WAIT___201 = 8,
    TCP_LAST_ACK___201 = 9,
    TCP_LISTEN___201 = 10,
    TCP_CLOSING___201 = 11
} ;
enum __anonenum_221125648___201 {
    TCP_NO_QUEUE___201 = 0,
    TCP_RECV_QUEUE___201 = 1,
    TCP_SEND_QUEUE___201 = 2,
    TCP_QUEUES_NR___201 = 3
} ;
enum __anonenum_34415463___201 {
    PTHREAD_CREATE_JOINABLE___201 = 0,
    PTHREAD_CREATE_DETACHED___201 = 1
} ;
enum __anonenum_303612439___201 {
    PTHREAD_MUTEX_TIMED_NP___201 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___201 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___201 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___201 = 3,
    PTHREAD_MUTEX_NORMAL___201 = 0,
    PTHREAD_MUTEX_RECURSIVE___201 = 1,
    PTHREAD_MUTEX_ERRORCHECK___201 = 2,
    PTHREAD_MUTEX_DEFAULT___201 = 0,
    PTHREAD_MUTEX_FAST_NP___201 = 0
} ;
enum __anonenum_931900394___201 {
    PTHREAD_MUTEX_STALLED___201 = 0,
    PTHREAD_MUTEX_STALLED_NP___201 = 0,
    PTHREAD_MUTEX_ROBUST___201 = 1,
    PTHREAD_MUTEX_ROBUST_NP___201 = 1
} ;
enum __anonenum_205214487___201 {
    PTHREAD_PRIO_NONE___201 = 0,
    PTHREAD_PRIO_INHERIT___201 = 1,
    PTHREAD_PRIO_PROTECT___201 = 2
} ;
enum __anonenum_25043950___201 {
    PTHREAD_RWLOCK_PREFER_READER_NP___201 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___201 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___201 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___201 = 0
} ;
enum __anonenum_436439511___201 {
    PTHREAD_INHERIT_SCHED___201 = 0,
    PTHREAD_EXPLICIT_SCHED___201 = 1
} ;
enum __anonenum_998661166___201 {
    PTHREAD_SCOPE_SYSTEM___201 = 0,
    PTHREAD_SCOPE_PROCESS___201 = 1
} ;
enum __anonenum_146137331___201 {
    PTHREAD_PROCESS_PRIVATE___201 = 0,
    PTHREAD_PROCESS_SHARED___201 = 1
} ;
enum __anonenum_53396917___201 {
    PTHREAD_CANCEL_ENABLE___201 = 0,
    PTHREAD_CANCEL_DISABLE___201 = 1
} ;
enum __anonenum_904563783___201 {
    PTHREAD_CANCEL_DEFERRED___201 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___201 = 1
} ;
enum __anonenum_672052974___201 {
    SSL_CT_VALIDATION_PERMISSIVE___201 = 0,
    SSL_CT_VALIDATION_STRICT___201 = 1
} ;
struct tr2_sysenv_entry {
   char const   *env_var_name ;
   char const   *git_config_name ;
   char *value ;
   unsigned int getenv_called : 1 ;
};
enum __anonenum_437032235___202 {
    _PC_LINK_MAX___202 = 0,
    _PC_MAX_CANON___202 = 1,
    _PC_MAX_INPUT___202 = 2,
    _PC_NAME_MAX___202 = 3,
    _PC_PATH_MAX___202 = 4,
    _PC_PIPE_BUF___202 = 5,
    _PC_CHOWN_RESTRICTED___202 = 6,
    _PC_NO_TRUNC___202 = 7,
    _PC_VDISABLE___202 = 8,
    _PC_SYNC_IO___202 = 9,
    _PC_ASYNC_IO___202 = 10,
    _PC_PRIO_IO___202 = 11,
    _PC_SOCK_MAXBUF___202 = 12,
    _PC_FILESIZEBITS___202 = 13,
    _PC_REC_INCR_XFER_SIZE___202 = 14,
    _PC_REC_MAX_XFER_SIZE___202 = 15,
    _PC_REC_MIN_XFER_SIZE___202 = 16,
    _PC_REC_XFER_ALIGN___202 = 17,
    _PC_ALLOC_SIZE_MIN___202 = 18,
    _PC_SYMLINK_MAX___202 = 19,
    _PC_2_SYMLINKS___202 = 20
} ;
enum __anonenum_315186338___202 {
    _SC_ARG_MAX___202 = 0,
    _SC_CHILD_MAX___202 = 1,
    _SC_CLK_TCK___202 = 2,
    _SC_NGROUPS_MAX___202 = 3,
    _SC_OPEN_MAX___202 = 4,
    _SC_STREAM_MAX___202 = 5,
    _SC_TZNAME_MAX___202 = 6,
    _SC_JOB_CONTROL___202 = 7,
    _SC_SAVED_IDS___202 = 8,
    _SC_REALTIME_SIGNALS___202 = 9,
    _SC_PRIORITY_SCHEDULING___202 = 10,
    _SC_TIMERS___202 = 11,
    _SC_ASYNCHRONOUS_IO___202 = 12,
    _SC_PRIORITIZED_IO___202 = 13,
    _SC_SYNCHRONIZED_IO___202 = 14,
    _SC_FSYNC___202 = 15,
    _SC_MAPPED_FILES___202 = 16,
    _SC_MEMLOCK___202 = 17,
    _SC_MEMLOCK_RANGE___202 = 18,
    _SC_MEMORY_PROTECTION___202 = 19,
    _SC_MESSAGE_PASSING___202 = 20,
    _SC_SEMAPHORES___202 = 21,
    _SC_SHARED_MEMORY_OBJECTS___202 = 22,
    _SC_AIO_LISTIO_MAX___202 = 23,
    _SC_AIO_MAX___202 = 24,
    _SC_AIO_PRIO_DELTA_MAX___202 = 25,
    _SC_DELAYTIMER_MAX___202 = 26,
    _SC_MQ_OPEN_MAX___202 = 27,
    _SC_MQ_PRIO_MAX___202 = 28,
    _SC_VERSION___202 = 29,
    _SC_PAGESIZE___202 = 30,
    _SC_RTSIG_MAX___202 = 31,
    _SC_SEM_NSEMS_MAX___202 = 32,
    _SC_SEM_VALUE_MAX___202 = 33,
    _SC_SIGQUEUE_MAX___202 = 34,
    _SC_TIMER_MAX___202 = 35,
    _SC_BC_BASE_MAX___202 = 36,
    _SC_BC_DIM_MAX___202 = 37,
    _SC_BC_SCALE_MAX___202 = 38,
    _SC_BC_STRING_MAX___202 = 39,
    _SC_COLL_WEIGHTS_MAX___202 = 40,
    _SC_EQUIV_CLASS_MAX___202 = 41,
    _SC_EXPR_NEST_MAX___202 = 42,
    _SC_LINE_MAX___202 = 43,
    _SC_RE_DUP_MAX___202 = 44,
    _SC_CHARCLASS_NAME_MAX___202 = 45,
    _SC_2_VERSION___202 = 46,
    _SC_2_C_BIND___202 = 47,
    _SC_2_C_DEV___202 = 48,
    _SC_2_FORT_DEV___202 = 49,
    _SC_2_FORT_RUN___202 = 50,
    _SC_2_SW_DEV___202 = 51,
    _SC_2_LOCALEDEF___202 = 52,
    _SC_PII___202 = 53,
    _SC_PII_XTI___202 = 54,
    _SC_PII_SOCKET___202 = 55,
    _SC_PII_INTERNET___202 = 56,
    _SC_PII_OSI___202 = 57,
    _SC_POLL___202 = 58,
    _SC_SELECT___202 = 59,
    _SC_UIO_MAXIOV___202 = 60,
    _SC_IOV_MAX___202 = 60,
    _SC_PII_INTERNET_STREAM___202 = 61,
    _SC_PII_INTERNET_DGRAM___202 = 62,
    _SC_PII_OSI_COTS___202 = 63,
    _SC_PII_OSI_CLTS___202 = 64,
    _SC_PII_OSI_M___202 = 65,
    _SC_T_IOV_MAX___202 = 66,
    _SC_THREADS___202 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___202 = 68,
    _SC_GETGR_R_SIZE_MAX___202 = 69,
    _SC_GETPW_R_SIZE_MAX___202 = 70,
    _SC_LOGIN_NAME_MAX___202 = 71,
    _SC_TTY_NAME_MAX___202 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___202 = 73,
    _SC_THREAD_KEYS_MAX___202 = 74,
    _SC_THREAD_STACK_MIN___202 = 75,
    _SC_THREAD_THREADS_MAX___202 = 76,
    _SC_THREAD_ATTR_STACKADDR___202 = 77,
    _SC_THREAD_ATTR_STACKSIZE___202 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___202 = 79,
    _SC_THREAD_PRIO_INHERIT___202 = 80,
    _SC_THREAD_PRIO_PROTECT___202 = 81,
    _SC_THREAD_PROCESS_SHARED___202 = 82,
    _SC_NPROCESSORS_CONF___202 = 83,
    _SC_NPROCESSORS_ONLN___202 = 84,
    _SC_PHYS_PAGES___202 = 85,
    _SC_AVPHYS_PAGES___202 = 86,
    _SC_ATEXIT_MAX___202 = 87,
    _SC_PASS_MAX___202 = 88,
    _SC_XOPEN_VERSION___202 = 89,
    _SC_XOPEN_XCU_VERSION___202 = 90,
    _SC_XOPEN_UNIX___202 = 91,
    _SC_XOPEN_CRYPT___202 = 92,
    _SC_XOPEN_ENH_I18N___202 = 93,
    _SC_XOPEN_SHM___202 = 94,
    _SC_2_CHAR_TERM___202 = 95,
    _SC_2_C_VERSION___202 = 96,
    _SC_2_UPE___202 = 97,
    _SC_XOPEN_XPG2___202 = 98,
    _SC_XOPEN_XPG3___202 = 99,
    _SC_XOPEN_XPG4___202 = 100,
    _SC_CHAR_BIT___202 = 101,
    _SC_CHAR_MAX___202 = 102,
    _SC_CHAR_MIN___202 = 103,
    _SC_INT_MAX___202 = 104,
    _SC_INT_MIN___202 = 105,
    _SC_LONG_BIT___202 = 106,
    _SC_WORD_BIT___202 = 107,
    _SC_MB_LEN_MAX___202 = 108,
    _SC_NZERO___202 = 109,
    _SC_SSIZE_MAX___202 = 110,
    _SC_SCHAR_MAX___202 = 111,
    _SC_SCHAR_MIN___202 = 112,
    _SC_SHRT_MAX___202 = 113,
    _SC_SHRT_MIN___202 = 114,
    _SC_UCHAR_MAX___202 = 115,
    _SC_UINT_MAX___202 = 116,
    _SC_ULONG_MAX___202 = 117,
    _SC_USHRT_MAX___202 = 118,
    _SC_NL_ARGMAX___202 = 119,
    _SC_NL_LANGMAX___202 = 120,
    _SC_NL_MSGMAX___202 = 121,
    _SC_NL_NMAX___202 = 122,
    _SC_NL_SETMAX___202 = 123,
    _SC_NL_TEXTMAX___202 = 124,
    _SC_XBS5_ILP32_OFF32___202 = 125,
    _SC_XBS5_ILP32_OFFBIG___202 = 126,
    _SC_XBS5_LP64_OFF64___202 = 127,
    _SC_XBS5_LPBIG_OFFBIG___202 = 128,
    _SC_XOPEN_LEGACY___202 = 129,
    _SC_XOPEN_REALTIME___202 = 130,
    _SC_XOPEN_REALTIME_THREADS___202 = 131,
    _SC_ADVISORY_INFO___202 = 132,
    _SC_BARRIERS___202 = 133,
    _SC_BASE___202 = 134,
    _SC_C_LANG_SUPPORT___202 = 135,
    _SC_C_LANG_SUPPORT_R___202 = 136,
    _SC_CLOCK_SELECTION___202 = 137,
    _SC_CPUTIME___202 = 138,
    _SC_THREAD_CPUTIME___202 = 139,
    _SC_DEVICE_IO___202 = 140,
    _SC_DEVICE_SPECIFIC___202 = 141,
    _SC_DEVICE_SPECIFIC_R___202 = 142,
    _SC_FD_MGMT___202 = 143,
    _SC_FIFO___202 = 144,
    _SC_PIPE___202 = 145,
    _SC_FILE_ATTRIBUTES___202 = 146,
    _SC_FILE_LOCKING___202 = 147,
    _SC_FILE_SYSTEM___202 = 148,
    _SC_MONOTONIC_CLOCK___202 = 149,
    _SC_MULTI_PROCESS___202 = 150,
    _SC_SINGLE_PROCESS___202 = 151,
    _SC_NETWORKING___202 = 152,
    _SC_READER_WRITER_LOCKS___202 = 153,
    _SC_SPIN_LOCKS___202 = 154,
    _SC_REGEXP___202 = 155,
    _SC_REGEX_VERSION___202 = 156,
    _SC_SHELL___202 = 157,
    _SC_SIGNALS___202 = 158,
    _SC_SPAWN___202 = 159,
    _SC_SPORADIC_SERVER___202 = 160,
    _SC_THREAD_SPORADIC_SERVER___202 = 161,
    _SC_SYSTEM_DATABASE___202 = 162,
    _SC_SYSTEM_DATABASE_R___202 = 163,
    _SC_TIMEOUTS___202 = 164,
    _SC_TYPED_MEMORY_OBJECTS___202 = 165,
    _SC_USER_GROUPS___202 = 166,
    _SC_USER_GROUPS_R___202 = 167,
    _SC_2_PBS___202 = 168,
    _SC_2_PBS_ACCOUNTING___202 = 169,
    _SC_2_PBS_LOCATE___202 = 170,
    _SC_2_PBS_MESSAGE___202 = 171,
    _SC_2_PBS_TRACK___202 = 172,
    _SC_SYMLOOP_MAX___202 = 173,
    _SC_STREAMS___202 = 174,
    _SC_2_PBS_CHECKPOINT___202 = 175,
    _SC_V6_ILP32_OFF32___202 = 176,
    _SC_V6_ILP32_OFFBIG___202 = 177,
    _SC_V6_LP64_OFF64___202 = 178,
    _SC_V6_LPBIG_OFFBIG___202 = 179,
    _SC_HOST_NAME_MAX___202 = 180,
    _SC_TRACE___202 = 181,
    _SC_TRACE_EVENT_FILTER___202 = 182,
    _SC_TRACE_INHERIT___202 = 183,
    _SC_TRACE_LOG___202 = 184,
    _SC_LEVEL1_ICACHE_SIZE___202 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___202 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___202 = 187,
    _SC_LEVEL1_DCACHE_SIZE___202 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___202 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___202 = 190,
    _SC_LEVEL2_CACHE_SIZE___202 = 191,
    _SC_LEVEL2_CACHE_ASSOC___202 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___202 = 193,
    _SC_LEVEL3_CACHE_SIZE___202 = 194,
    _SC_LEVEL3_CACHE_ASSOC___202 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___202 = 196,
    _SC_LEVEL4_CACHE_SIZE___202 = 197,
    _SC_LEVEL4_CACHE_ASSOC___202 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___202 = 199,
    _SC_IPV6___202 = 235,
    _SC_RAW_SOCKETS___202 = 236,
    _SC_V7_ILP32_OFF32___202 = 237,
    _SC_V7_ILP32_OFFBIG___202 = 238,
    _SC_V7_LP64_OFF64___202 = 239,
    _SC_V7_LPBIG_OFFBIG___202 = 240,
    _SC_SS_REPL_MAX___202 = 241,
    _SC_TRACE_EVENT_NAME_MAX___202 = 242,
    _SC_TRACE_NAME_MAX___202 = 243,
    _SC_TRACE_SYS_MAX___202 = 244,
    _SC_TRACE_USER_EVENT_MAX___202 = 245,
    _SC_XOPEN_STREAMS___202 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___202 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___202 = 248
} ;
enum __anonenum_875524036___202 {
    _CS_PATH___202 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___202 = 1,
    _CS_GNU_LIBC_VERSION___202 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___202 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___202 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___202 = 5,
    _CS_LFS_CFLAGS___202 = 1000,
    _CS_LFS_LDFLAGS___202 = 1001,
    _CS_LFS_LIBS___202 = 1002,
    _CS_LFS_LINTFLAGS___202 = 1003,
    _CS_LFS64_CFLAGS___202 = 1004,
    _CS_LFS64_LDFLAGS___202 = 1005,
    _CS_LFS64_LIBS___202 = 1006,
    _CS_LFS64_LINTFLAGS___202 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___202 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___202 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___202 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___202 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___202 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___202 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___202 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___202 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___202 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___202 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___202 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___202 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___202 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___202 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___202 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___202 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___202 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___202 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___202 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___202 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___202 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___202 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___202 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___202 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___202 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___202 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___202 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___202 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___202 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___202 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___202 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___202 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___202 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___202 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___202 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___202 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___202 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___202 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___202 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___202 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___202 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___202 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___202 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___202 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___202 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___202 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___202 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___202 = 1147,
    _CS_V6_ENV___202 = 1148,
    _CS_V7_ENV___202 = 1149
} ;
enum __anonenum_513775621___202 {
    DT_UNKNOWN___202 = 0,
    DT_FIFO___202 = 1,
    DT_CHR___202 = 2,
    DT_DIR___202 = 4,
    DT_BLK___202 = 6,
    DT_REG___202 = 8,
    DT_LNK___202 = 10,
    DT_SOCK___202 = 12,
    DT_WHT___202 = 14
} ;
enum __anonenum_77002343___202 {
    SI_ASYNCNL___202 = -60,
    SI_TKILL___202 = -6,
    SI_SIGIO___202 = -5,
    SI_ASYNCIO___202 = -4,
    SI_MESGQ___202 = -3,
    SI_TIMER___202 = -2,
    SI_QUEUE___202 = -1,
    SI_USER___202 = 0,
    SI_KERNEL___202 = 128
} ;
enum __anonenum_131038172___202 {
    ILL_ILLOPC___202 = 1,
    ILL_ILLOPN___202 = 2,
    ILL_ILLADR___202 = 3,
    ILL_ILLTRP___202 = 4,
    ILL_PRVOPC___202 = 5,
    ILL_PRVREG___202 = 6,
    ILL_COPROC___202 = 7,
    ILL_BADSTK___202 = 8
} ;
enum __anonenum_452038093___202 {
    FPE_INTDIV___202 = 1,
    FPE_INTOVF___202 = 2,
    FPE_FLTDIV___202 = 3,
    FPE_FLTOVF___202 = 4,
    FPE_FLTUND___202 = 5,
    FPE_FLTRES___202 = 6,
    FPE_FLTINV___202 = 7,
    FPE_FLTSUB___202 = 8
} ;
enum __anonenum_30976155___202 {
    SEGV_MAPERR___202 = 1,
    SEGV_ACCERR___202 = 2,
    SEGV_BNDERR___202 = 3,
    SEGV_PKUERR___202 = 4
} ;
enum __anonenum_1036286214___202 {
    BUS_ADRALN___202 = 1,
    BUS_ADRERR___202 = 2,
    BUS_OBJERR___202 = 3,
    BUS_MCEERR_AR___202 = 4,
    BUS_MCEERR_AO___202 = 5
} ;
enum __anonenum_493465559___202 {
    TRAP_BRKPT___202 = 1,
    TRAP_TRACE___202 = 2
} ;
enum __anonenum_23175539___202 {
    CLD_EXITED___202 = 1,
    CLD_KILLED___202 = 2,
    CLD_DUMPED___202 = 3,
    CLD_TRAPPED___202 = 4,
    CLD_STOPPED___202 = 5,
    CLD_CONTINUED___202 = 6
} ;
enum __anonenum_111643124___202 {
    POLL_IN___202 = 1,
    POLL_OUT___202 = 2,
    POLL_MSG___202 = 3,
    POLL_ERR___202 = 4,
    POLL_PRI___202 = 5,
    POLL_HUP___202 = 6
} ;
enum __anonenum_852341087___202 {
    SIGEV_SIGNAL___202 = 0,
    SIGEV_NONE___202 = 1,
    SIGEV_THREAD___202 = 2,
    SIGEV_THREAD_ID___202 = 4
} ;
enum __anonenum_451154152___202 {
    REG_R8___202 = 0,
    REG_R9___202 = 1,
    REG_R10___202 = 2,
    REG_R11___202 = 3,
    REG_R12___202 = 4,
    REG_R13___202 = 5,
    REG_R14___202 = 6,
    REG_R15___202 = 7,
    REG_RDI___202 = 8,
    REG_RSI___202 = 9,
    REG_RBP___202 = 10,
    REG_RBX___202 = 11,
    REG_RDX___202 = 12,
    REG_RAX___202 = 13,
    REG_RCX___202 = 14,
    REG_RSP___202 = 15,
    REG_RIP___202 = 16,
    REG_EFL___202 = 17,
    REG_CSGSFS___202 = 18,
    REG_ERR___202 = 19,
    REG_TRAPNO___202 = 20,
    REG_OLDMASK___202 = 21,
    REG_CR2___202 = 22
} ;
enum __anonenum_57186863___202 {
    SS_ONSTACK___202 = 1,
    SS_DISABLE___202 = 2
} ;
enum __anonenum_83571709___202 {
    MSG_OOB___202 = 1,
    MSG_PEEK___202 = 2,
    MSG_DONTROUTE___202 = 4,
    MSG_TRYHARD___202 = 4,
    MSG_CTRUNC___202 = 8,
    MSG_PROXY___202 = 16,
    MSG_TRUNC___202 = 32,
    MSG_DONTWAIT___202 = 64,
    MSG_EOR___202 = 128,
    MSG_WAITALL___202 = 256,
    MSG_FIN___202 = 512,
    MSG_SYN___202 = 1024,
    MSG_CONFIRM___202 = 2048,
    MSG_RST___202 = 4096,
    MSG_ERRQUEUE___202 = 8192,
    MSG_NOSIGNAL___202 = 16384,
    MSG_MORE___202 = 32768,
    MSG_WAITFORONE___202 = 65536,
    MSG_BATCH___202 = 262144,
    MSG_ZEROCOPY___202 = 67108864,
    MSG_FASTOPEN___202 = 536870912,
    MSG_CMSG_CLOEXEC___202 = 1073741824
} ;
enum __anonenum_617082774___202 {
    SCM_RIGHTS___202 = 1,
    SCM_CREDENTIALS___202 = 2
} ;
enum __anonenum_606441560___202 {
    SHUT_RD___202 = 0,
    SHUT_WR___202 = 1,
    SHUT_RDWR___202 = 2
} ;
enum __anonenum_681669233___202 {
    IPPROTO_IP___202 = 0,
    IPPROTO_ICMP___202 = 1,
    IPPROTO_IGMP___202 = 2,
    IPPROTO_IPIP___202 = 4,
    IPPROTO_TCP___202 = 6,
    IPPROTO_EGP___202 = 8,
    IPPROTO_PUP___202 = 12,
    IPPROTO_UDP___202 = 17,
    IPPROTO_IDP___202 = 22,
    IPPROTO_TP___202 = 29,
    IPPROTO_DCCP___202 = 33,
    IPPROTO_IPV6___202 = 41,
    IPPROTO_RSVP___202 = 46,
    IPPROTO_GRE___202 = 47,
    IPPROTO_ESP___202 = 50,
    IPPROTO_AH___202 = 51,
    IPPROTO_MTP___202 = 92,
    IPPROTO_BEETPH___202 = 94,
    IPPROTO_ENCAP___202 = 98,
    IPPROTO_PIM___202 = 103,
    IPPROTO_COMP___202 = 108,
    IPPROTO_SCTP___202 = 132,
    IPPROTO_UDPLITE___202 = 136,
    IPPROTO_MPLS___202 = 137,
    IPPROTO_RAW___202 = 255,
    IPPROTO_MAX___202 = 256
} ;
enum __anonenum_218739988___202 {
    IPPROTO_HOPOPTS___202 = 0,
    IPPROTO_ROUTING___202 = 43,
    IPPROTO_FRAGMENT___202 = 44,
    IPPROTO_ICMPV6___202 = 58,
    IPPROTO_NONE___202 = 59,
    IPPROTO_DSTOPTS___202 = 60,
    IPPROTO_MH___202 = 135
} ;
enum __anonenum_662268580___202 {
    IPPORT_ECHO___202 = 7,
    IPPORT_DISCARD___202 = 9,
    IPPORT_SYSTAT___202 = 11,
    IPPORT_DAYTIME___202 = 13,
    IPPORT_NETSTAT___202 = 15,
    IPPORT_FTP___202 = 21,
    IPPORT_TELNET___202 = 23,
    IPPORT_SMTP___202 = 25,
    IPPORT_TIMESERVER___202 = 37,
    IPPORT_NAMESERVER___202 = 42,
    IPPORT_WHOIS___202 = 43,
    IPPORT_MTP___202 = 57,
    IPPORT_TFTP___202 = 69,
    IPPORT_RJE___202 = 77,
    IPPORT_FINGER___202 = 79,
    IPPORT_TTYLINK___202 = 87,
    IPPORT_SUPDUP___202 = 95,
    IPPORT_EXECSERVER___202 = 512,
    IPPORT_LOGINSERVER___202 = 513,
    IPPORT_CMDSERVER___202 = 514,
    IPPORT_EFSSERVER___202 = 520,
    IPPORT_BIFFUDP___202 = 512,
    IPPORT_WHOSERVER___202 = 513,
    IPPORT_ROUTESERVER___202 = 520,
    IPPORT_RESERVED___202 = 1024,
    IPPORT_USERRESERVED___202 = 5000
} ;
enum __anonenum_788308992___202 {
    TCP_ESTABLISHED___202 = 1,
    TCP_SYN_SENT___202 = 2,
    TCP_SYN_RECV___202 = 3,
    TCP_FIN_WAIT1___202 = 4,
    TCP_FIN_WAIT2___202 = 5,
    TCP_TIME_WAIT___202 = 6,
    TCP_CLOSE___202 = 7,
    TCP_CLOSE_WAIT___202 = 8,
    TCP_LAST_ACK___202 = 9,
    TCP_LISTEN___202 = 10,
    TCP_CLOSING___202 = 11
} ;
enum __anonenum_221125648___202 {
    TCP_NO_QUEUE___202 = 0,
    TCP_RECV_QUEUE___202 = 1,
    TCP_SEND_QUEUE___202 = 2,
    TCP_QUEUES_NR___202 = 3
} ;
enum __anonenum_34415463___202 {
    PTHREAD_CREATE_JOINABLE___202 = 0,
    PTHREAD_CREATE_DETACHED___202 = 1
} ;
enum __anonenum_303612439___202 {
    PTHREAD_MUTEX_TIMED_NP___202 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___202 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___202 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___202 = 3,
    PTHREAD_MUTEX_NORMAL___202 = 0,
    PTHREAD_MUTEX_RECURSIVE___202 = 1,
    PTHREAD_MUTEX_ERRORCHECK___202 = 2,
    PTHREAD_MUTEX_DEFAULT___202 = 0,
    PTHREAD_MUTEX_FAST_NP___202 = 0
} ;
enum __anonenum_931900394___202 {
    PTHREAD_MUTEX_STALLED___202 = 0,
    PTHREAD_MUTEX_STALLED_NP___202 = 0,
    PTHREAD_MUTEX_ROBUST___202 = 1,
    PTHREAD_MUTEX_ROBUST_NP___202 = 1
} ;
enum __anonenum_205214487___202 {
    PTHREAD_PRIO_NONE___202 = 0,
    PTHREAD_PRIO_INHERIT___202 = 1,
    PTHREAD_PRIO_PROTECT___202 = 2
} ;
enum __anonenum_25043950___202 {
    PTHREAD_RWLOCK_PREFER_READER_NP___202 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___202 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___202 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___202 = 0
} ;
enum __anonenum_436439511___202 {
    PTHREAD_INHERIT_SCHED___202 = 0,
    PTHREAD_EXPLICIT_SCHED___202 = 1
} ;
enum __anonenum_998661166___202 {
    PTHREAD_SCOPE_SYSTEM___202 = 0,
    PTHREAD_SCOPE_PROCESS___202 = 1
} ;
enum __anonenum_146137331___202 {
    PTHREAD_PROCESS_PRIVATE___202 = 0,
    PTHREAD_PROCESS_SHARED___202 = 1
} ;
enum __anonenum_53396917___202 {
    PTHREAD_CANCEL_ENABLE___202 = 0,
    PTHREAD_CANCEL_DISABLE___202 = 1
} ;
enum __anonenum_904563783___202 {
    PTHREAD_CANCEL_DEFERRED___202 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___202 = 1
} ;
enum __anonenum_672052974___202 {
    SSL_CT_VALIDATION_PERMISSIVE___202 = 0,
    SSL_CT_VALIDATION_STRICT___202 = 1
} ;
enum __anonenum_437032235___203 {
    _PC_LINK_MAX___203 = 0,
    _PC_MAX_CANON___203 = 1,
    _PC_MAX_INPUT___203 = 2,
    _PC_NAME_MAX___203 = 3,
    _PC_PATH_MAX___203 = 4,
    _PC_PIPE_BUF___203 = 5,
    _PC_CHOWN_RESTRICTED___203 = 6,
    _PC_NO_TRUNC___203 = 7,
    _PC_VDISABLE___203 = 8,
    _PC_SYNC_IO___203 = 9,
    _PC_ASYNC_IO___203 = 10,
    _PC_PRIO_IO___203 = 11,
    _PC_SOCK_MAXBUF___203 = 12,
    _PC_FILESIZEBITS___203 = 13,
    _PC_REC_INCR_XFER_SIZE___203 = 14,
    _PC_REC_MAX_XFER_SIZE___203 = 15,
    _PC_REC_MIN_XFER_SIZE___203 = 16,
    _PC_REC_XFER_ALIGN___203 = 17,
    _PC_ALLOC_SIZE_MIN___203 = 18,
    _PC_SYMLINK_MAX___203 = 19,
    _PC_2_SYMLINKS___203 = 20
} ;
enum __anonenum_315186338___203 {
    _SC_ARG_MAX___203 = 0,
    _SC_CHILD_MAX___203 = 1,
    _SC_CLK_TCK___203 = 2,
    _SC_NGROUPS_MAX___203 = 3,
    _SC_OPEN_MAX___203 = 4,
    _SC_STREAM_MAX___203 = 5,
    _SC_TZNAME_MAX___203 = 6,
    _SC_JOB_CONTROL___203 = 7,
    _SC_SAVED_IDS___203 = 8,
    _SC_REALTIME_SIGNALS___203 = 9,
    _SC_PRIORITY_SCHEDULING___203 = 10,
    _SC_TIMERS___203 = 11,
    _SC_ASYNCHRONOUS_IO___203 = 12,
    _SC_PRIORITIZED_IO___203 = 13,
    _SC_SYNCHRONIZED_IO___203 = 14,
    _SC_FSYNC___203 = 15,
    _SC_MAPPED_FILES___203 = 16,
    _SC_MEMLOCK___203 = 17,
    _SC_MEMLOCK_RANGE___203 = 18,
    _SC_MEMORY_PROTECTION___203 = 19,
    _SC_MESSAGE_PASSING___203 = 20,
    _SC_SEMAPHORES___203 = 21,
    _SC_SHARED_MEMORY_OBJECTS___203 = 22,
    _SC_AIO_LISTIO_MAX___203 = 23,
    _SC_AIO_MAX___203 = 24,
    _SC_AIO_PRIO_DELTA_MAX___203 = 25,
    _SC_DELAYTIMER_MAX___203 = 26,
    _SC_MQ_OPEN_MAX___203 = 27,
    _SC_MQ_PRIO_MAX___203 = 28,
    _SC_VERSION___203 = 29,
    _SC_PAGESIZE___203 = 30,
    _SC_RTSIG_MAX___203 = 31,
    _SC_SEM_NSEMS_MAX___203 = 32,
    _SC_SEM_VALUE_MAX___203 = 33,
    _SC_SIGQUEUE_MAX___203 = 34,
    _SC_TIMER_MAX___203 = 35,
    _SC_BC_BASE_MAX___203 = 36,
    _SC_BC_DIM_MAX___203 = 37,
    _SC_BC_SCALE_MAX___203 = 38,
    _SC_BC_STRING_MAX___203 = 39,
    _SC_COLL_WEIGHTS_MAX___203 = 40,
    _SC_EQUIV_CLASS_MAX___203 = 41,
    _SC_EXPR_NEST_MAX___203 = 42,
    _SC_LINE_MAX___203 = 43,
    _SC_RE_DUP_MAX___203 = 44,
    _SC_CHARCLASS_NAME_MAX___203 = 45,
    _SC_2_VERSION___203 = 46,
    _SC_2_C_BIND___203 = 47,
    _SC_2_C_DEV___203 = 48,
    _SC_2_FORT_DEV___203 = 49,
    _SC_2_FORT_RUN___203 = 50,
    _SC_2_SW_DEV___203 = 51,
    _SC_2_LOCALEDEF___203 = 52,
    _SC_PII___203 = 53,
    _SC_PII_XTI___203 = 54,
    _SC_PII_SOCKET___203 = 55,
    _SC_PII_INTERNET___203 = 56,
    _SC_PII_OSI___203 = 57,
    _SC_POLL___203 = 58,
    _SC_SELECT___203 = 59,
    _SC_UIO_MAXIOV___203 = 60,
    _SC_IOV_MAX___203 = 60,
    _SC_PII_INTERNET_STREAM___203 = 61,
    _SC_PII_INTERNET_DGRAM___203 = 62,
    _SC_PII_OSI_COTS___203 = 63,
    _SC_PII_OSI_CLTS___203 = 64,
    _SC_PII_OSI_M___203 = 65,
    _SC_T_IOV_MAX___203 = 66,
    _SC_THREADS___203 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___203 = 68,
    _SC_GETGR_R_SIZE_MAX___203 = 69,
    _SC_GETPW_R_SIZE_MAX___203 = 70,
    _SC_LOGIN_NAME_MAX___203 = 71,
    _SC_TTY_NAME_MAX___203 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___203 = 73,
    _SC_THREAD_KEYS_MAX___203 = 74,
    _SC_THREAD_STACK_MIN___203 = 75,
    _SC_THREAD_THREADS_MAX___203 = 76,
    _SC_THREAD_ATTR_STACKADDR___203 = 77,
    _SC_THREAD_ATTR_STACKSIZE___203 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___203 = 79,
    _SC_THREAD_PRIO_INHERIT___203 = 80,
    _SC_THREAD_PRIO_PROTECT___203 = 81,
    _SC_THREAD_PROCESS_SHARED___203 = 82,
    _SC_NPROCESSORS_CONF___203 = 83,
    _SC_NPROCESSORS_ONLN___203 = 84,
    _SC_PHYS_PAGES___203 = 85,
    _SC_AVPHYS_PAGES___203 = 86,
    _SC_ATEXIT_MAX___203 = 87,
    _SC_PASS_MAX___203 = 88,
    _SC_XOPEN_VERSION___203 = 89,
    _SC_XOPEN_XCU_VERSION___203 = 90,
    _SC_XOPEN_UNIX___203 = 91,
    _SC_XOPEN_CRYPT___203 = 92,
    _SC_XOPEN_ENH_I18N___203 = 93,
    _SC_XOPEN_SHM___203 = 94,
    _SC_2_CHAR_TERM___203 = 95,
    _SC_2_C_VERSION___203 = 96,
    _SC_2_UPE___203 = 97,
    _SC_XOPEN_XPG2___203 = 98,
    _SC_XOPEN_XPG3___203 = 99,
    _SC_XOPEN_XPG4___203 = 100,
    _SC_CHAR_BIT___203 = 101,
    _SC_CHAR_MAX___203 = 102,
    _SC_CHAR_MIN___203 = 103,
    _SC_INT_MAX___203 = 104,
    _SC_INT_MIN___203 = 105,
    _SC_LONG_BIT___203 = 106,
    _SC_WORD_BIT___203 = 107,
    _SC_MB_LEN_MAX___203 = 108,
    _SC_NZERO___203 = 109,
    _SC_SSIZE_MAX___203 = 110,
    _SC_SCHAR_MAX___203 = 111,
    _SC_SCHAR_MIN___203 = 112,
    _SC_SHRT_MAX___203 = 113,
    _SC_SHRT_MIN___203 = 114,
    _SC_UCHAR_MAX___203 = 115,
    _SC_UINT_MAX___203 = 116,
    _SC_ULONG_MAX___203 = 117,
    _SC_USHRT_MAX___203 = 118,
    _SC_NL_ARGMAX___203 = 119,
    _SC_NL_LANGMAX___203 = 120,
    _SC_NL_MSGMAX___203 = 121,
    _SC_NL_NMAX___203 = 122,
    _SC_NL_SETMAX___203 = 123,
    _SC_NL_TEXTMAX___203 = 124,
    _SC_XBS5_ILP32_OFF32___203 = 125,
    _SC_XBS5_ILP32_OFFBIG___203 = 126,
    _SC_XBS5_LP64_OFF64___203 = 127,
    _SC_XBS5_LPBIG_OFFBIG___203 = 128,
    _SC_XOPEN_LEGACY___203 = 129,
    _SC_XOPEN_REALTIME___203 = 130,
    _SC_XOPEN_REALTIME_THREADS___203 = 131,
    _SC_ADVISORY_INFO___203 = 132,
    _SC_BARRIERS___203 = 133,
    _SC_BASE___203 = 134,
    _SC_C_LANG_SUPPORT___203 = 135,
    _SC_C_LANG_SUPPORT_R___203 = 136,
    _SC_CLOCK_SELECTION___203 = 137,
    _SC_CPUTIME___203 = 138,
    _SC_THREAD_CPUTIME___203 = 139,
    _SC_DEVICE_IO___203 = 140,
    _SC_DEVICE_SPECIFIC___203 = 141,
    _SC_DEVICE_SPECIFIC_R___203 = 142,
    _SC_FD_MGMT___203 = 143,
    _SC_FIFO___203 = 144,
    _SC_PIPE___203 = 145,
    _SC_FILE_ATTRIBUTES___203 = 146,
    _SC_FILE_LOCKING___203 = 147,
    _SC_FILE_SYSTEM___203 = 148,
    _SC_MONOTONIC_CLOCK___203 = 149,
    _SC_MULTI_PROCESS___203 = 150,
    _SC_SINGLE_PROCESS___203 = 151,
    _SC_NETWORKING___203 = 152,
    _SC_READER_WRITER_LOCKS___203 = 153,
    _SC_SPIN_LOCKS___203 = 154,
    _SC_REGEXP___203 = 155,
    _SC_REGEX_VERSION___203 = 156,
    _SC_SHELL___203 = 157,
    _SC_SIGNALS___203 = 158,
    _SC_SPAWN___203 = 159,
    _SC_SPORADIC_SERVER___203 = 160,
    _SC_THREAD_SPORADIC_SERVER___203 = 161,
    _SC_SYSTEM_DATABASE___203 = 162,
    _SC_SYSTEM_DATABASE_R___203 = 163,
    _SC_TIMEOUTS___203 = 164,
    _SC_TYPED_MEMORY_OBJECTS___203 = 165,
    _SC_USER_GROUPS___203 = 166,
    _SC_USER_GROUPS_R___203 = 167,
    _SC_2_PBS___203 = 168,
    _SC_2_PBS_ACCOUNTING___203 = 169,
    _SC_2_PBS_LOCATE___203 = 170,
    _SC_2_PBS_MESSAGE___203 = 171,
    _SC_2_PBS_TRACK___203 = 172,
    _SC_SYMLOOP_MAX___203 = 173,
    _SC_STREAMS___203 = 174,
    _SC_2_PBS_CHECKPOINT___203 = 175,
    _SC_V6_ILP32_OFF32___203 = 176,
    _SC_V6_ILP32_OFFBIG___203 = 177,
    _SC_V6_LP64_OFF64___203 = 178,
    _SC_V6_LPBIG_OFFBIG___203 = 179,
    _SC_HOST_NAME_MAX___203 = 180,
    _SC_TRACE___203 = 181,
    _SC_TRACE_EVENT_FILTER___203 = 182,
    _SC_TRACE_INHERIT___203 = 183,
    _SC_TRACE_LOG___203 = 184,
    _SC_LEVEL1_ICACHE_SIZE___203 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___203 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___203 = 187,
    _SC_LEVEL1_DCACHE_SIZE___203 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___203 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___203 = 190,
    _SC_LEVEL2_CACHE_SIZE___203 = 191,
    _SC_LEVEL2_CACHE_ASSOC___203 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___203 = 193,
    _SC_LEVEL3_CACHE_SIZE___203 = 194,
    _SC_LEVEL3_CACHE_ASSOC___203 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___203 = 196,
    _SC_LEVEL4_CACHE_SIZE___203 = 197,
    _SC_LEVEL4_CACHE_ASSOC___203 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___203 = 199,
    _SC_IPV6___203 = 235,
    _SC_RAW_SOCKETS___203 = 236,
    _SC_V7_ILP32_OFF32___203 = 237,
    _SC_V7_ILP32_OFFBIG___203 = 238,
    _SC_V7_LP64_OFF64___203 = 239,
    _SC_V7_LPBIG_OFFBIG___203 = 240,
    _SC_SS_REPL_MAX___203 = 241,
    _SC_TRACE_EVENT_NAME_MAX___203 = 242,
    _SC_TRACE_NAME_MAX___203 = 243,
    _SC_TRACE_SYS_MAX___203 = 244,
    _SC_TRACE_USER_EVENT_MAX___203 = 245,
    _SC_XOPEN_STREAMS___203 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___203 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___203 = 248
} ;
enum __anonenum_875524036___203 {
    _CS_PATH___203 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___203 = 1,
    _CS_GNU_LIBC_VERSION___203 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___203 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___203 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___203 = 5,
    _CS_LFS_CFLAGS___203 = 1000,
    _CS_LFS_LDFLAGS___203 = 1001,
    _CS_LFS_LIBS___203 = 1002,
    _CS_LFS_LINTFLAGS___203 = 1003,
    _CS_LFS64_CFLAGS___203 = 1004,
    _CS_LFS64_LDFLAGS___203 = 1005,
    _CS_LFS64_LIBS___203 = 1006,
    _CS_LFS64_LINTFLAGS___203 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___203 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___203 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___203 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___203 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___203 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___203 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___203 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___203 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___203 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___203 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___203 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___203 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___203 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___203 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___203 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___203 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___203 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___203 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___203 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___203 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___203 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___203 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___203 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___203 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___203 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___203 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___203 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___203 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___203 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___203 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___203 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___203 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___203 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___203 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___203 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___203 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___203 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___203 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___203 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___203 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___203 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___203 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___203 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___203 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___203 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___203 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___203 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___203 = 1147,
    _CS_V6_ENV___203 = 1148,
    _CS_V7_ENV___203 = 1149
} ;
enum __anonenum_513775621___203 {
    DT_UNKNOWN___203 = 0,
    DT_FIFO___203 = 1,
    DT_CHR___203 = 2,
    DT_DIR___203 = 4,
    DT_BLK___203 = 6,
    DT_REG___203 = 8,
    DT_LNK___203 = 10,
    DT_SOCK___203 = 12,
    DT_WHT___203 = 14
} ;
enum __anonenum_77002343___203 {
    SI_ASYNCNL___203 = -60,
    SI_TKILL___203 = -6,
    SI_SIGIO___203 = -5,
    SI_ASYNCIO___203 = -4,
    SI_MESGQ___203 = -3,
    SI_TIMER___203 = -2,
    SI_QUEUE___203 = -1,
    SI_USER___203 = 0,
    SI_KERNEL___203 = 128
} ;
enum __anonenum_131038172___203 {
    ILL_ILLOPC___203 = 1,
    ILL_ILLOPN___203 = 2,
    ILL_ILLADR___203 = 3,
    ILL_ILLTRP___203 = 4,
    ILL_PRVOPC___203 = 5,
    ILL_PRVREG___203 = 6,
    ILL_COPROC___203 = 7,
    ILL_BADSTK___203 = 8
} ;
enum __anonenum_452038093___203 {
    FPE_INTDIV___203 = 1,
    FPE_INTOVF___203 = 2,
    FPE_FLTDIV___203 = 3,
    FPE_FLTOVF___203 = 4,
    FPE_FLTUND___203 = 5,
    FPE_FLTRES___203 = 6,
    FPE_FLTINV___203 = 7,
    FPE_FLTSUB___203 = 8
} ;
enum __anonenum_30976155___203 {
    SEGV_MAPERR___203 = 1,
    SEGV_ACCERR___203 = 2,
    SEGV_BNDERR___203 = 3,
    SEGV_PKUERR___203 = 4
} ;
enum __anonenum_1036286214___203 {
    BUS_ADRALN___203 = 1,
    BUS_ADRERR___203 = 2,
    BUS_OBJERR___203 = 3,
    BUS_MCEERR_AR___203 = 4,
    BUS_MCEERR_AO___203 = 5
} ;
enum __anonenum_493465559___203 {
    TRAP_BRKPT___203 = 1,
    TRAP_TRACE___203 = 2
} ;
enum __anonenum_23175539___203 {
    CLD_EXITED___203 = 1,
    CLD_KILLED___203 = 2,
    CLD_DUMPED___203 = 3,
    CLD_TRAPPED___203 = 4,
    CLD_STOPPED___203 = 5,
    CLD_CONTINUED___203 = 6
} ;
enum __anonenum_111643124___203 {
    POLL_IN___203 = 1,
    POLL_OUT___203 = 2,
    POLL_MSG___203 = 3,
    POLL_ERR___203 = 4,
    POLL_PRI___203 = 5,
    POLL_HUP___203 = 6
} ;
enum __anonenum_852341087___203 {
    SIGEV_SIGNAL___203 = 0,
    SIGEV_NONE___203 = 1,
    SIGEV_THREAD___203 = 2,
    SIGEV_THREAD_ID___203 = 4
} ;
enum __anonenum_451154152___203 {
    REG_R8___203 = 0,
    REG_R9___203 = 1,
    REG_R10___203 = 2,
    REG_R11___203 = 3,
    REG_R12___203 = 4,
    REG_R13___203 = 5,
    REG_R14___203 = 6,
    REG_R15___203 = 7,
    REG_RDI___203 = 8,
    REG_RSI___203 = 9,
    REG_RBP___203 = 10,
    REG_RBX___203 = 11,
    REG_RDX___203 = 12,
    REG_RAX___203 = 13,
    REG_RCX___203 = 14,
    REG_RSP___203 = 15,
    REG_RIP___203 = 16,
    REG_EFL___203 = 17,
    REG_CSGSFS___203 = 18,
    REG_ERR___203 = 19,
    REG_TRAPNO___203 = 20,
    REG_OLDMASK___203 = 21,
    REG_CR2___203 = 22
} ;
enum __anonenum_57186863___203 {
    SS_ONSTACK___203 = 1,
    SS_DISABLE___203 = 2
} ;
enum __anonenum_83571709___203 {
    MSG_OOB___203 = 1,
    MSG_PEEK___203 = 2,
    MSG_DONTROUTE___203 = 4,
    MSG_TRYHARD___203 = 4,
    MSG_CTRUNC___203 = 8,
    MSG_PROXY___203 = 16,
    MSG_TRUNC___203 = 32,
    MSG_DONTWAIT___203 = 64,
    MSG_EOR___203 = 128,
    MSG_WAITALL___203 = 256,
    MSG_FIN___203 = 512,
    MSG_SYN___203 = 1024,
    MSG_CONFIRM___203 = 2048,
    MSG_RST___203 = 4096,
    MSG_ERRQUEUE___203 = 8192,
    MSG_NOSIGNAL___203 = 16384,
    MSG_MORE___203 = 32768,
    MSG_WAITFORONE___203 = 65536,
    MSG_BATCH___203 = 262144,
    MSG_ZEROCOPY___203 = 67108864,
    MSG_FASTOPEN___203 = 536870912,
    MSG_CMSG_CLOEXEC___203 = 1073741824
} ;
enum __anonenum_617082774___203 {
    SCM_RIGHTS___203 = 1,
    SCM_CREDENTIALS___203 = 2
} ;
enum __anonenum_606441560___203 {
    SHUT_RD___203 = 0,
    SHUT_WR___203 = 1,
    SHUT_RDWR___203 = 2
} ;
enum __anonenum_681669233___203 {
    IPPROTO_IP___203 = 0,
    IPPROTO_ICMP___203 = 1,
    IPPROTO_IGMP___203 = 2,
    IPPROTO_IPIP___203 = 4,
    IPPROTO_TCP___203 = 6,
    IPPROTO_EGP___203 = 8,
    IPPROTO_PUP___203 = 12,
    IPPROTO_UDP___203 = 17,
    IPPROTO_IDP___203 = 22,
    IPPROTO_TP___203 = 29,
    IPPROTO_DCCP___203 = 33,
    IPPROTO_IPV6___203 = 41,
    IPPROTO_RSVP___203 = 46,
    IPPROTO_GRE___203 = 47,
    IPPROTO_ESP___203 = 50,
    IPPROTO_AH___203 = 51,
    IPPROTO_MTP___203 = 92,
    IPPROTO_BEETPH___203 = 94,
    IPPROTO_ENCAP___203 = 98,
    IPPROTO_PIM___203 = 103,
    IPPROTO_COMP___203 = 108,
    IPPROTO_SCTP___203 = 132,
    IPPROTO_UDPLITE___203 = 136,
    IPPROTO_MPLS___203 = 137,
    IPPROTO_RAW___203 = 255,
    IPPROTO_MAX___203 = 256
} ;
enum __anonenum_218739988___203 {
    IPPROTO_HOPOPTS___203 = 0,
    IPPROTO_ROUTING___203 = 43,
    IPPROTO_FRAGMENT___203 = 44,
    IPPROTO_ICMPV6___203 = 58,
    IPPROTO_NONE___203 = 59,
    IPPROTO_DSTOPTS___203 = 60,
    IPPROTO_MH___203 = 135
} ;
enum __anonenum_662268580___203 {
    IPPORT_ECHO___203 = 7,
    IPPORT_DISCARD___203 = 9,
    IPPORT_SYSTAT___203 = 11,
    IPPORT_DAYTIME___203 = 13,
    IPPORT_NETSTAT___203 = 15,
    IPPORT_FTP___203 = 21,
    IPPORT_TELNET___203 = 23,
    IPPORT_SMTP___203 = 25,
    IPPORT_TIMESERVER___203 = 37,
    IPPORT_NAMESERVER___203 = 42,
    IPPORT_WHOIS___203 = 43,
    IPPORT_MTP___203 = 57,
    IPPORT_TFTP___203 = 69,
    IPPORT_RJE___203 = 77,
    IPPORT_FINGER___203 = 79,
    IPPORT_TTYLINK___203 = 87,
    IPPORT_SUPDUP___203 = 95,
    IPPORT_EXECSERVER___203 = 512,
    IPPORT_LOGINSERVER___203 = 513,
    IPPORT_CMDSERVER___203 = 514,
    IPPORT_EFSSERVER___203 = 520,
    IPPORT_BIFFUDP___203 = 512,
    IPPORT_WHOSERVER___203 = 513,
    IPPORT_ROUTESERVER___203 = 520,
    IPPORT_RESERVED___203 = 1024,
    IPPORT_USERRESERVED___203 = 5000
} ;
enum __anonenum_788308992___203 {
    TCP_ESTABLISHED___203 = 1,
    TCP_SYN_SENT___203 = 2,
    TCP_SYN_RECV___203 = 3,
    TCP_FIN_WAIT1___203 = 4,
    TCP_FIN_WAIT2___203 = 5,
    TCP_TIME_WAIT___203 = 6,
    TCP_CLOSE___203 = 7,
    TCP_CLOSE_WAIT___203 = 8,
    TCP_LAST_ACK___203 = 9,
    TCP_LISTEN___203 = 10,
    TCP_CLOSING___203 = 11
} ;
enum __anonenum_221125648___203 {
    TCP_NO_QUEUE___203 = 0,
    TCP_RECV_QUEUE___203 = 1,
    TCP_SEND_QUEUE___203 = 2,
    TCP_QUEUES_NR___203 = 3
} ;
enum __anonenum_34415463___203 {
    PTHREAD_CREATE_JOINABLE___203 = 0,
    PTHREAD_CREATE_DETACHED___203 = 1
} ;
enum __anonenum_303612439___203 {
    PTHREAD_MUTEX_TIMED_NP___203 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___203 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___203 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___203 = 3,
    PTHREAD_MUTEX_NORMAL___203 = 0,
    PTHREAD_MUTEX_RECURSIVE___203 = 1,
    PTHREAD_MUTEX_ERRORCHECK___203 = 2,
    PTHREAD_MUTEX_DEFAULT___203 = 0,
    PTHREAD_MUTEX_FAST_NP___203 = 0
} ;
enum __anonenum_931900394___203 {
    PTHREAD_MUTEX_STALLED___203 = 0,
    PTHREAD_MUTEX_STALLED_NP___203 = 0,
    PTHREAD_MUTEX_ROBUST___203 = 1,
    PTHREAD_MUTEX_ROBUST_NP___203 = 1
} ;
enum __anonenum_205214487___203 {
    PTHREAD_PRIO_NONE___203 = 0,
    PTHREAD_PRIO_INHERIT___203 = 1,
    PTHREAD_PRIO_PROTECT___203 = 2
} ;
enum __anonenum_25043950___203 {
    PTHREAD_RWLOCK_PREFER_READER_NP___203 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___203 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___203 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___203 = 0
} ;
enum __anonenum_436439511___203 {
    PTHREAD_INHERIT_SCHED___203 = 0,
    PTHREAD_EXPLICIT_SCHED___203 = 1
} ;
enum __anonenum_998661166___203 {
    PTHREAD_SCOPE_SYSTEM___203 = 0,
    PTHREAD_SCOPE_PROCESS___203 = 1
} ;
enum __anonenum_146137331___203 {
    PTHREAD_PROCESS_PRIVATE___203 = 0,
    PTHREAD_PROCESS_SHARED___203 = 1
} ;
enum __anonenum_53396917___203 {
    PTHREAD_CANCEL_ENABLE___203 = 0,
    PTHREAD_CANCEL_DISABLE___203 = 1
} ;
enum __anonenum_904563783___203 {
    PTHREAD_CANCEL_DEFERRED___203 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___203 = 1
} ;
enum __anonenum_672052974___203 {
    SSL_CT_VALIDATION_PERMISSIVE___203 = 0,
    SSL_CT_VALIDATION_STRICT___203 = 1
} ;
enum __anonenum_437032235___204 {
    _PC_LINK_MAX___204 = 0,
    _PC_MAX_CANON___204 = 1,
    _PC_MAX_INPUT___204 = 2,
    _PC_NAME_MAX___204 = 3,
    _PC_PATH_MAX___204 = 4,
    _PC_PIPE_BUF___204 = 5,
    _PC_CHOWN_RESTRICTED___204 = 6,
    _PC_NO_TRUNC___204 = 7,
    _PC_VDISABLE___204 = 8,
    _PC_SYNC_IO___204 = 9,
    _PC_ASYNC_IO___204 = 10,
    _PC_PRIO_IO___204 = 11,
    _PC_SOCK_MAXBUF___204 = 12,
    _PC_FILESIZEBITS___204 = 13,
    _PC_REC_INCR_XFER_SIZE___204 = 14,
    _PC_REC_MAX_XFER_SIZE___204 = 15,
    _PC_REC_MIN_XFER_SIZE___204 = 16,
    _PC_REC_XFER_ALIGN___204 = 17,
    _PC_ALLOC_SIZE_MIN___204 = 18,
    _PC_SYMLINK_MAX___204 = 19,
    _PC_2_SYMLINKS___204 = 20
} ;
enum __anonenum_315186338___204 {
    _SC_ARG_MAX___204 = 0,
    _SC_CHILD_MAX___204 = 1,
    _SC_CLK_TCK___204 = 2,
    _SC_NGROUPS_MAX___204 = 3,
    _SC_OPEN_MAX___204 = 4,
    _SC_STREAM_MAX___204 = 5,
    _SC_TZNAME_MAX___204 = 6,
    _SC_JOB_CONTROL___204 = 7,
    _SC_SAVED_IDS___204 = 8,
    _SC_REALTIME_SIGNALS___204 = 9,
    _SC_PRIORITY_SCHEDULING___204 = 10,
    _SC_TIMERS___204 = 11,
    _SC_ASYNCHRONOUS_IO___204 = 12,
    _SC_PRIORITIZED_IO___204 = 13,
    _SC_SYNCHRONIZED_IO___204 = 14,
    _SC_FSYNC___204 = 15,
    _SC_MAPPED_FILES___204 = 16,
    _SC_MEMLOCK___204 = 17,
    _SC_MEMLOCK_RANGE___204 = 18,
    _SC_MEMORY_PROTECTION___204 = 19,
    _SC_MESSAGE_PASSING___204 = 20,
    _SC_SEMAPHORES___204 = 21,
    _SC_SHARED_MEMORY_OBJECTS___204 = 22,
    _SC_AIO_LISTIO_MAX___204 = 23,
    _SC_AIO_MAX___204 = 24,
    _SC_AIO_PRIO_DELTA_MAX___204 = 25,
    _SC_DELAYTIMER_MAX___204 = 26,
    _SC_MQ_OPEN_MAX___204 = 27,
    _SC_MQ_PRIO_MAX___204 = 28,
    _SC_VERSION___204 = 29,
    _SC_PAGESIZE___204 = 30,
    _SC_RTSIG_MAX___204 = 31,
    _SC_SEM_NSEMS_MAX___204 = 32,
    _SC_SEM_VALUE_MAX___204 = 33,
    _SC_SIGQUEUE_MAX___204 = 34,
    _SC_TIMER_MAX___204 = 35,
    _SC_BC_BASE_MAX___204 = 36,
    _SC_BC_DIM_MAX___204 = 37,
    _SC_BC_SCALE_MAX___204 = 38,
    _SC_BC_STRING_MAX___204 = 39,
    _SC_COLL_WEIGHTS_MAX___204 = 40,
    _SC_EQUIV_CLASS_MAX___204 = 41,
    _SC_EXPR_NEST_MAX___204 = 42,
    _SC_LINE_MAX___204 = 43,
    _SC_RE_DUP_MAX___204 = 44,
    _SC_CHARCLASS_NAME_MAX___204 = 45,
    _SC_2_VERSION___204 = 46,
    _SC_2_C_BIND___204 = 47,
    _SC_2_C_DEV___204 = 48,
    _SC_2_FORT_DEV___204 = 49,
    _SC_2_FORT_RUN___204 = 50,
    _SC_2_SW_DEV___204 = 51,
    _SC_2_LOCALEDEF___204 = 52,
    _SC_PII___204 = 53,
    _SC_PII_XTI___204 = 54,
    _SC_PII_SOCKET___204 = 55,
    _SC_PII_INTERNET___204 = 56,
    _SC_PII_OSI___204 = 57,
    _SC_POLL___204 = 58,
    _SC_SELECT___204 = 59,
    _SC_UIO_MAXIOV___204 = 60,
    _SC_IOV_MAX___204 = 60,
    _SC_PII_INTERNET_STREAM___204 = 61,
    _SC_PII_INTERNET_DGRAM___204 = 62,
    _SC_PII_OSI_COTS___204 = 63,
    _SC_PII_OSI_CLTS___204 = 64,
    _SC_PII_OSI_M___204 = 65,
    _SC_T_IOV_MAX___204 = 66,
    _SC_THREADS___204 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___204 = 68,
    _SC_GETGR_R_SIZE_MAX___204 = 69,
    _SC_GETPW_R_SIZE_MAX___204 = 70,
    _SC_LOGIN_NAME_MAX___204 = 71,
    _SC_TTY_NAME_MAX___204 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___204 = 73,
    _SC_THREAD_KEYS_MAX___204 = 74,
    _SC_THREAD_STACK_MIN___204 = 75,
    _SC_THREAD_THREADS_MAX___204 = 76,
    _SC_THREAD_ATTR_STACKADDR___204 = 77,
    _SC_THREAD_ATTR_STACKSIZE___204 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___204 = 79,
    _SC_THREAD_PRIO_INHERIT___204 = 80,
    _SC_THREAD_PRIO_PROTECT___204 = 81,
    _SC_THREAD_PROCESS_SHARED___204 = 82,
    _SC_NPROCESSORS_CONF___204 = 83,
    _SC_NPROCESSORS_ONLN___204 = 84,
    _SC_PHYS_PAGES___204 = 85,
    _SC_AVPHYS_PAGES___204 = 86,
    _SC_ATEXIT_MAX___204 = 87,
    _SC_PASS_MAX___204 = 88,
    _SC_XOPEN_VERSION___204 = 89,
    _SC_XOPEN_XCU_VERSION___204 = 90,
    _SC_XOPEN_UNIX___204 = 91,
    _SC_XOPEN_CRYPT___204 = 92,
    _SC_XOPEN_ENH_I18N___204 = 93,
    _SC_XOPEN_SHM___204 = 94,
    _SC_2_CHAR_TERM___204 = 95,
    _SC_2_C_VERSION___204 = 96,
    _SC_2_UPE___204 = 97,
    _SC_XOPEN_XPG2___204 = 98,
    _SC_XOPEN_XPG3___204 = 99,
    _SC_XOPEN_XPG4___204 = 100,
    _SC_CHAR_BIT___204 = 101,
    _SC_CHAR_MAX___204 = 102,
    _SC_CHAR_MIN___204 = 103,
    _SC_INT_MAX___204 = 104,
    _SC_INT_MIN___204 = 105,
    _SC_LONG_BIT___204 = 106,
    _SC_WORD_BIT___204 = 107,
    _SC_MB_LEN_MAX___204 = 108,
    _SC_NZERO___204 = 109,
    _SC_SSIZE_MAX___204 = 110,
    _SC_SCHAR_MAX___204 = 111,
    _SC_SCHAR_MIN___204 = 112,
    _SC_SHRT_MAX___204 = 113,
    _SC_SHRT_MIN___204 = 114,
    _SC_UCHAR_MAX___204 = 115,
    _SC_UINT_MAX___204 = 116,
    _SC_ULONG_MAX___204 = 117,
    _SC_USHRT_MAX___204 = 118,
    _SC_NL_ARGMAX___204 = 119,
    _SC_NL_LANGMAX___204 = 120,
    _SC_NL_MSGMAX___204 = 121,
    _SC_NL_NMAX___204 = 122,
    _SC_NL_SETMAX___204 = 123,
    _SC_NL_TEXTMAX___204 = 124,
    _SC_XBS5_ILP32_OFF32___204 = 125,
    _SC_XBS5_ILP32_OFFBIG___204 = 126,
    _SC_XBS5_LP64_OFF64___204 = 127,
    _SC_XBS5_LPBIG_OFFBIG___204 = 128,
    _SC_XOPEN_LEGACY___204 = 129,
    _SC_XOPEN_REALTIME___204 = 130,
    _SC_XOPEN_REALTIME_THREADS___204 = 131,
    _SC_ADVISORY_INFO___204 = 132,
    _SC_BARRIERS___204 = 133,
    _SC_BASE___204 = 134,
    _SC_C_LANG_SUPPORT___204 = 135,
    _SC_C_LANG_SUPPORT_R___204 = 136,
    _SC_CLOCK_SELECTION___204 = 137,
    _SC_CPUTIME___204 = 138,
    _SC_THREAD_CPUTIME___204 = 139,
    _SC_DEVICE_IO___204 = 140,
    _SC_DEVICE_SPECIFIC___204 = 141,
    _SC_DEVICE_SPECIFIC_R___204 = 142,
    _SC_FD_MGMT___204 = 143,
    _SC_FIFO___204 = 144,
    _SC_PIPE___204 = 145,
    _SC_FILE_ATTRIBUTES___204 = 146,
    _SC_FILE_LOCKING___204 = 147,
    _SC_FILE_SYSTEM___204 = 148,
    _SC_MONOTONIC_CLOCK___204 = 149,
    _SC_MULTI_PROCESS___204 = 150,
    _SC_SINGLE_PROCESS___204 = 151,
    _SC_NETWORKING___204 = 152,
    _SC_READER_WRITER_LOCKS___204 = 153,
    _SC_SPIN_LOCKS___204 = 154,
    _SC_REGEXP___204 = 155,
    _SC_REGEX_VERSION___204 = 156,
    _SC_SHELL___204 = 157,
    _SC_SIGNALS___204 = 158,
    _SC_SPAWN___204 = 159,
    _SC_SPORADIC_SERVER___204 = 160,
    _SC_THREAD_SPORADIC_SERVER___204 = 161,
    _SC_SYSTEM_DATABASE___204 = 162,
    _SC_SYSTEM_DATABASE_R___204 = 163,
    _SC_TIMEOUTS___204 = 164,
    _SC_TYPED_MEMORY_OBJECTS___204 = 165,
    _SC_USER_GROUPS___204 = 166,
    _SC_USER_GROUPS_R___204 = 167,
    _SC_2_PBS___204 = 168,
    _SC_2_PBS_ACCOUNTING___204 = 169,
    _SC_2_PBS_LOCATE___204 = 170,
    _SC_2_PBS_MESSAGE___204 = 171,
    _SC_2_PBS_TRACK___204 = 172,
    _SC_SYMLOOP_MAX___204 = 173,
    _SC_STREAMS___204 = 174,
    _SC_2_PBS_CHECKPOINT___204 = 175,
    _SC_V6_ILP32_OFF32___204 = 176,
    _SC_V6_ILP32_OFFBIG___204 = 177,
    _SC_V6_LP64_OFF64___204 = 178,
    _SC_V6_LPBIG_OFFBIG___204 = 179,
    _SC_HOST_NAME_MAX___204 = 180,
    _SC_TRACE___204 = 181,
    _SC_TRACE_EVENT_FILTER___204 = 182,
    _SC_TRACE_INHERIT___204 = 183,
    _SC_TRACE_LOG___204 = 184,
    _SC_LEVEL1_ICACHE_SIZE___204 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___204 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___204 = 187,
    _SC_LEVEL1_DCACHE_SIZE___204 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___204 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___204 = 190,
    _SC_LEVEL2_CACHE_SIZE___204 = 191,
    _SC_LEVEL2_CACHE_ASSOC___204 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___204 = 193,
    _SC_LEVEL3_CACHE_SIZE___204 = 194,
    _SC_LEVEL3_CACHE_ASSOC___204 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___204 = 196,
    _SC_LEVEL4_CACHE_SIZE___204 = 197,
    _SC_LEVEL4_CACHE_ASSOC___204 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___204 = 199,
    _SC_IPV6___204 = 235,
    _SC_RAW_SOCKETS___204 = 236,
    _SC_V7_ILP32_OFF32___204 = 237,
    _SC_V7_ILP32_OFFBIG___204 = 238,
    _SC_V7_LP64_OFF64___204 = 239,
    _SC_V7_LPBIG_OFFBIG___204 = 240,
    _SC_SS_REPL_MAX___204 = 241,
    _SC_TRACE_EVENT_NAME_MAX___204 = 242,
    _SC_TRACE_NAME_MAX___204 = 243,
    _SC_TRACE_SYS_MAX___204 = 244,
    _SC_TRACE_USER_EVENT_MAX___204 = 245,
    _SC_XOPEN_STREAMS___204 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___204 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___204 = 248
} ;
enum __anonenum_875524036___204 {
    _CS_PATH___204 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___204 = 1,
    _CS_GNU_LIBC_VERSION___204 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___204 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___204 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___204 = 5,
    _CS_LFS_CFLAGS___204 = 1000,
    _CS_LFS_LDFLAGS___204 = 1001,
    _CS_LFS_LIBS___204 = 1002,
    _CS_LFS_LINTFLAGS___204 = 1003,
    _CS_LFS64_CFLAGS___204 = 1004,
    _CS_LFS64_LDFLAGS___204 = 1005,
    _CS_LFS64_LIBS___204 = 1006,
    _CS_LFS64_LINTFLAGS___204 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___204 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___204 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___204 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___204 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___204 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___204 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___204 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___204 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___204 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___204 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___204 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___204 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___204 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___204 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___204 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___204 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___204 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___204 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___204 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___204 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___204 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___204 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___204 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___204 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___204 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___204 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___204 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___204 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___204 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___204 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___204 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___204 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___204 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___204 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___204 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___204 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___204 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___204 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___204 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___204 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___204 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___204 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___204 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___204 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___204 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___204 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___204 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___204 = 1147,
    _CS_V6_ENV___204 = 1148,
    _CS_V7_ENV___204 = 1149
} ;
enum __anonenum_513775621___204 {
    DT_UNKNOWN___204 = 0,
    DT_FIFO___204 = 1,
    DT_CHR___204 = 2,
    DT_DIR___204 = 4,
    DT_BLK___204 = 6,
    DT_REG___204 = 8,
    DT_LNK___204 = 10,
    DT_SOCK___204 = 12,
    DT_WHT___204 = 14
} ;
enum __anonenum_77002343___204 {
    SI_ASYNCNL___204 = -60,
    SI_TKILL___204 = -6,
    SI_SIGIO___204 = -5,
    SI_ASYNCIO___204 = -4,
    SI_MESGQ___204 = -3,
    SI_TIMER___204 = -2,
    SI_QUEUE___204 = -1,
    SI_USER___204 = 0,
    SI_KERNEL___204 = 128
} ;
enum __anonenum_131038172___204 {
    ILL_ILLOPC___204 = 1,
    ILL_ILLOPN___204 = 2,
    ILL_ILLADR___204 = 3,
    ILL_ILLTRP___204 = 4,
    ILL_PRVOPC___204 = 5,
    ILL_PRVREG___204 = 6,
    ILL_COPROC___204 = 7,
    ILL_BADSTK___204 = 8
} ;
enum __anonenum_452038093___204 {
    FPE_INTDIV___204 = 1,
    FPE_INTOVF___204 = 2,
    FPE_FLTDIV___204 = 3,
    FPE_FLTOVF___204 = 4,
    FPE_FLTUND___204 = 5,
    FPE_FLTRES___204 = 6,
    FPE_FLTINV___204 = 7,
    FPE_FLTSUB___204 = 8
} ;
enum __anonenum_30976155___204 {
    SEGV_MAPERR___204 = 1,
    SEGV_ACCERR___204 = 2,
    SEGV_BNDERR___204 = 3,
    SEGV_PKUERR___204 = 4
} ;
enum __anonenum_1036286214___204 {
    BUS_ADRALN___204 = 1,
    BUS_ADRERR___204 = 2,
    BUS_OBJERR___204 = 3,
    BUS_MCEERR_AR___204 = 4,
    BUS_MCEERR_AO___204 = 5
} ;
enum __anonenum_493465559___204 {
    TRAP_BRKPT___204 = 1,
    TRAP_TRACE___204 = 2
} ;
enum __anonenum_23175539___204 {
    CLD_EXITED___204 = 1,
    CLD_KILLED___204 = 2,
    CLD_DUMPED___204 = 3,
    CLD_TRAPPED___204 = 4,
    CLD_STOPPED___204 = 5,
    CLD_CONTINUED___204 = 6
} ;
enum __anonenum_111643124___204 {
    POLL_IN___204 = 1,
    POLL_OUT___204 = 2,
    POLL_MSG___204 = 3,
    POLL_ERR___204 = 4,
    POLL_PRI___204 = 5,
    POLL_HUP___204 = 6
} ;
enum __anonenum_852341087___204 {
    SIGEV_SIGNAL___204 = 0,
    SIGEV_NONE___204 = 1,
    SIGEV_THREAD___204 = 2,
    SIGEV_THREAD_ID___204 = 4
} ;
enum __anonenum_451154152___204 {
    REG_R8___204 = 0,
    REG_R9___204 = 1,
    REG_R10___204 = 2,
    REG_R11___204 = 3,
    REG_R12___204 = 4,
    REG_R13___204 = 5,
    REG_R14___204 = 6,
    REG_R15___204 = 7,
    REG_RDI___204 = 8,
    REG_RSI___204 = 9,
    REG_RBP___204 = 10,
    REG_RBX___204 = 11,
    REG_RDX___204 = 12,
    REG_RAX___204 = 13,
    REG_RCX___204 = 14,
    REG_RSP___204 = 15,
    REG_RIP___204 = 16,
    REG_EFL___204 = 17,
    REG_CSGSFS___204 = 18,
    REG_ERR___204 = 19,
    REG_TRAPNO___204 = 20,
    REG_OLDMASK___204 = 21,
    REG_CR2___204 = 22
} ;
enum __anonenum_57186863___204 {
    SS_ONSTACK___204 = 1,
    SS_DISABLE___204 = 2
} ;
enum __anonenum_83571709___204 {
    MSG_OOB___204 = 1,
    MSG_PEEK___204 = 2,
    MSG_DONTROUTE___204 = 4,
    MSG_TRYHARD___204 = 4,
    MSG_CTRUNC___204 = 8,
    MSG_PROXY___204 = 16,
    MSG_TRUNC___204 = 32,
    MSG_DONTWAIT___204 = 64,
    MSG_EOR___204 = 128,
    MSG_WAITALL___204 = 256,
    MSG_FIN___204 = 512,
    MSG_SYN___204 = 1024,
    MSG_CONFIRM___204 = 2048,
    MSG_RST___204 = 4096,
    MSG_ERRQUEUE___204 = 8192,
    MSG_NOSIGNAL___204 = 16384,
    MSG_MORE___204 = 32768,
    MSG_WAITFORONE___204 = 65536,
    MSG_BATCH___204 = 262144,
    MSG_ZEROCOPY___204 = 67108864,
    MSG_FASTOPEN___204 = 536870912,
    MSG_CMSG_CLOEXEC___204 = 1073741824
} ;
enum __anonenum_617082774___204 {
    SCM_RIGHTS___204 = 1,
    SCM_CREDENTIALS___204 = 2
} ;
enum __anonenum_606441560___204 {
    SHUT_RD___204 = 0,
    SHUT_WR___204 = 1,
    SHUT_RDWR___204 = 2
} ;
enum __anonenum_681669233___204 {
    IPPROTO_IP___204 = 0,
    IPPROTO_ICMP___204 = 1,
    IPPROTO_IGMP___204 = 2,
    IPPROTO_IPIP___204 = 4,
    IPPROTO_TCP___204 = 6,
    IPPROTO_EGP___204 = 8,
    IPPROTO_PUP___204 = 12,
    IPPROTO_UDP___204 = 17,
    IPPROTO_IDP___204 = 22,
    IPPROTO_TP___204 = 29,
    IPPROTO_DCCP___204 = 33,
    IPPROTO_IPV6___204 = 41,
    IPPROTO_RSVP___204 = 46,
    IPPROTO_GRE___204 = 47,
    IPPROTO_ESP___204 = 50,
    IPPROTO_AH___204 = 51,
    IPPROTO_MTP___204 = 92,
    IPPROTO_BEETPH___204 = 94,
    IPPROTO_ENCAP___204 = 98,
    IPPROTO_PIM___204 = 103,
    IPPROTO_COMP___204 = 108,
    IPPROTO_SCTP___204 = 132,
    IPPROTO_UDPLITE___204 = 136,
    IPPROTO_MPLS___204 = 137,
    IPPROTO_RAW___204 = 255,
    IPPROTO_MAX___204 = 256
} ;
enum __anonenum_218739988___204 {
    IPPROTO_HOPOPTS___204 = 0,
    IPPROTO_ROUTING___204 = 43,
    IPPROTO_FRAGMENT___204 = 44,
    IPPROTO_ICMPV6___204 = 58,
    IPPROTO_NONE___204 = 59,
    IPPROTO_DSTOPTS___204 = 60,
    IPPROTO_MH___204 = 135
} ;
enum __anonenum_662268580___204 {
    IPPORT_ECHO___204 = 7,
    IPPORT_DISCARD___204 = 9,
    IPPORT_SYSTAT___204 = 11,
    IPPORT_DAYTIME___204 = 13,
    IPPORT_NETSTAT___204 = 15,
    IPPORT_FTP___204 = 21,
    IPPORT_TELNET___204 = 23,
    IPPORT_SMTP___204 = 25,
    IPPORT_TIMESERVER___204 = 37,
    IPPORT_NAMESERVER___204 = 42,
    IPPORT_WHOIS___204 = 43,
    IPPORT_MTP___204 = 57,
    IPPORT_TFTP___204 = 69,
    IPPORT_RJE___204 = 77,
    IPPORT_FINGER___204 = 79,
    IPPORT_TTYLINK___204 = 87,
    IPPORT_SUPDUP___204 = 95,
    IPPORT_EXECSERVER___204 = 512,
    IPPORT_LOGINSERVER___204 = 513,
    IPPORT_CMDSERVER___204 = 514,
    IPPORT_EFSSERVER___204 = 520,
    IPPORT_BIFFUDP___204 = 512,
    IPPORT_WHOSERVER___204 = 513,
    IPPORT_ROUTESERVER___204 = 520,
    IPPORT_RESERVED___204 = 1024,
    IPPORT_USERRESERVED___204 = 5000
} ;
enum __anonenum_788308992___204 {
    TCP_ESTABLISHED___204 = 1,
    TCP_SYN_SENT___204 = 2,
    TCP_SYN_RECV___204 = 3,
    TCP_FIN_WAIT1___204 = 4,
    TCP_FIN_WAIT2___204 = 5,
    TCP_TIME_WAIT___204 = 6,
    TCP_CLOSE___204 = 7,
    TCP_CLOSE_WAIT___204 = 8,
    TCP_LAST_ACK___204 = 9,
    TCP_LISTEN___204 = 10,
    TCP_CLOSING___204 = 11
} ;
enum __anonenum_221125648___204 {
    TCP_NO_QUEUE___204 = 0,
    TCP_RECV_QUEUE___204 = 1,
    TCP_SEND_QUEUE___204 = 2,
    TCP_QUEUES_NR___204 = 3
} ;
enum __anonenum_34415463___204 {
    PTHREAD_CREATE_JOINABLE___204 = 0,
    PTHREAD_CREATE_DETACHED___204 = 1
} ;
enum __anonenum_303612439___204 {
    PTHREAD_MUTEX_TIMED_NP___204 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___204 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___204 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___204 = 3,
    PTHREAD_MUTEX_NORMAL___204 = 0,
    PTHREAD_MUTEX_RECURSIVE___204 = 1,
    PTHREAD_MUTEX_ERRORCHECK___204 = 2,
    PTHREAD_MUTEX_DEFAULT___204 = 0,
    PTHREAD_MUTEX_FAST_NP___204 = 0
} ;
enum __anonenum_931900394___204 {
    PTHREAD_MUTEX_STALLED___204 = 0,
    PTHREAD_MUTEX_STALLED_NP___204 = 0,
    PTHREAD_MUTEX_ROBUST___204 = 1,
    PTHREAD_MUTEX_ROBUST_NP___204 = 1
} ;
enum __anonenum_205214487___204 {
    PTHREAD_PRIO_NONE___204 = 0,
    PTHREAD_PRIO_INHERIT___204 = 1,
    PTHREAD_PRIO_PROTECT___204 = 2
} ;
enum __anonenum_25043950___204 {
    PTHREAD_RWLOCK_PREFER_READER_NP___204 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___204 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___204 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___204 = 0
} ;
enum __anonenum_436439511___204 {
    PTHREAD_INHERIT_SCHED___204 = 0,
    PTHREAD_EXPLICIT_SCHED___204 = 1
} ;
enum __anonenum_998661166___204 {
    PTHREAD_SCOPE_SYSTEM___204 = 0,
    PTHREAD_SCOPE_PROCESS___204 = 1
} ;
enum __anonenum_146137331___204 {
    PTHREAD_PROCESS_PRIVATE___204 = 0,
    PTHREAD_PROCESS_SHARED___204 = 1
} ;
enum __anonenum_53396917___204 {
    PTHREAD_CANCEL_ENABLE___204 = 0,
    PTHREAD_CANCEL_DISABLE___204 = 1
} ;
enum __anonenum_904563783___204 {
    PTHREAD_CANCEL_DEFERRED___204 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___204 = 1
} ;
enum __anonenum_672052974___204 {
    SSL_CT_VALIDATION_PERMISSIVE___204 = 0,
    SSL_CT_VALIDATION_STRICT___204 = 1
} ;
enum __anonenum_437032235___205 {
    _PC_LINK_MAX___205 = 0,
    _PC_MAX_CANON___205 = 1,
    _PC_MAX_INPUT___205 = 2,
    _PC_NAME_MAX___205 = 3,
    _PC_PATH_MAX___205 = 4,
    _PC_PIPE_BUF___205 = 5,
    _PC_CHOWN_RESTRICTED___205 = 6,
    _PC_NO_TRUNC___205 = 7,
    _PC_VDISABLE___205 = 8,
    _PC_SYNC_IO___205 = 9,
    _PC_ASYNC_IO___205 = 10,
    _PC_PRIO_IO___205 = 11,
    _PC_SOCK_MAXBUF___205 = 12,
    _PC_FILESIZEBITS___205 = 13,
    _PC_REC_INCR_XFER_SIZE___205 = 14,
    _PC_REC_MAX_XFER_SIZE___205 = 15,
    _PC_REC_MIN_XFER_SIZE___205 = 16,
    _PC_REC_XFER_ALIGN___205 = 17,
    _PC_ALLOC_SIZE_MIN___205 = 18,
    _PC_SYMLINK_MAX___205 = 19,
    _PC_2_SYMLINKS___205 = 20
} ;
enum __anonenum_315186338___205 {
    _SC_ARG_MAX___205 = 0,
    _SC_CHILD_MAX___205 = 1,
    _SC_CLK_TCK___205 = 2,
    _SC_NGROUPS_MAX___205 = 3,
    _SC_OPEN_MAX___205 = 4,
    _SC_STREAM_MAX___205 = 5,
    _SC_TZNAME_MAX___205 = 6,
    _SC_JOB_CONTROL___205 = 7,
    _SC_SAVED_IDS___205 = 8,
    _SC_REALTIME_SIGNALS___205 = 9,
    _SC_PRIORITY_SCHEDULING___205 = 10,
    _SC_TIMERS___205 = 11,
    _SC_ASYNCHRONOUS_IO___205 = 12,
    _SC_PRIORITIZED_IO___205 = 13,
    _SC_SYNCHRONIZED_IO___205 = 14,
    _SC_FSYNC___205 = 15,
    _SC_MAPPED_FILES___205 = 16,
    _SC_MEMLOCK___205 = 17,
    _SC_MEMLOCK_RANGE___205 = 18,
    _SC_MEMORY_PROTECTION___205 = 19,
    _SC_MESSAGE_PASSING___205 = 20,
    _SC_SEMAPHORES___205 = 21,
    _SC_SHARED_MEMORY_OBJECTS___205 = 22,
    _SC_AIO_LISTIO_MAX___205 = 23,
    _SC_AIO_MAX___205 = 24,
    _SC_AIO_PRIO_DELTA_MAX___205 = 25,
    _SC_DELAYTIMER_MAX___205 = 26,
    _SC_MQ_OPEN_MAX___205 = 27,
    _SC_MQ_PRIO_MAX___205 = 28,
    _SC_VERSION___205 = 29,
    _SC_PAGESIZE___205 = 30,
    _SC_RTSIG_MAX___205 = 31,
    _SC_SEM_NSEMS_MAX___205 = 32,
    _SC_SEM_VALUE_MAX___205 = 33,
    _SC_SIGQUEUE_MAX___205 = 34,
    _SC_TIMER_MAX___205 = 35,
    _SC_BC_BASE_MAX___205 = 36,
    _SC_BC_DIM_MAX___205 = 37,
    _SC_BC_SCALE_MAX___205 = 38,
    _SC_BC_STRING_MAX___205 = 39,
    _SC_COLL_WEIGHTS_MAX___205 = 40,
    _SC_EQUIV_CLASS_MAX___205 = 41,
    _SC_EXPR_NEST_MAX___205 = 42,
    _SC_LINE_MAX___205 = 43,
    _SC_RE_DUP_MAX___205 = 44,
    _SC_CHARCLASS_NAME_MAX___205 = 45,
    _SC_2_VERSION___205 = 46,
    _SC_2_C_BIND___205 = 47,
    _SC_2_C_DEV___205 = 48,
    _SC_2_FORT_DEV___205 = 49,
    _SC_2_FORT_RUN___205 = 50,
    _SC_2_SW_DEV___205 = 51,
    _SC_2_LOCALEDEF___205 = 52,
    _SC_PII___205 = 53,
    _SC_PII_XTI___205 = 54,
    _SC_PII_SOCKET___205 = 55,
    _SC_PII_INTERNET___205 = 56,
    _SC_PII_OSI___205 = 57,
    _SC_POLL___205 = 58,
    _SC_SELECT___205 = 59,
    _SC_UIO_MAXIOV___205 = 60,
    _SC_IOV_MAX___205 = 60,
    _SC_PII_INTERNET_STREAM___205 = 61,
    _SC_PII_INTERNET_DGRAM___205 = 62,
    _SC_PII_OSI_COTS___205 = 63,
    _SC_PII_OSI_CLTS___205 = 64,
    _SC_PII_OSI_M___205 = 65,
    _SC_T_IOV_MAX___205 = 66,
    _SC_THREADS___205 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___205 = 68,
    _SC_GETGR_R_SIZE_MAX___205 = 69,
    _SC_GETPW_R_SIZE_MAX___205 = 70,
    _SC_LOGIN_NAME_MAX___205 = 71,
    _SC_TTY_NAME_MAX___205 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___205 = 73,
    _SC_THREAD_KEYS_MAX___205 = 74,
    _SC_THREAD_STACK_MIN___205 = 75,
    _SC_THREAD_THREADS_MAX___205 = 76,
    _SC_THREAD_ATTR_STACKADDR___205 = 77,
    _SC_THREAD_ATTR_STACKSIZE___205 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___205 = 79,
    _SC_THREAD_PRIO_INHERIT___205 = 80,
    _SC_THREAD_PRIO_PROTECT___205 = 81,
    _SC_THREAD_PROCESS_SHARED___205 = 82,
    _SC_NPROCESSORS_CONF___205 = 83,
    _SC_NPROCESSORS_ONLN___205 = 84,
    _SC_PHYS_PAGES___205 = 85,
    _SC_AVPHYS_PAGES___205 = 86,
    _SC_ATEXIT_MAX___205 = 87,
    _SC_PASS_MAX___205 = 88,
    _SC_XOPEN_VERSION___205 = 89,
    _SC_XOPEN_XCU_VERSION___205 = 90,
    _SC_XOPEN_UNIX___205 = 91,
    _SC_XOPEN_CRYPT___205 = 92,
    _SC_XOPEN_ENH_I18N___205 = 93,
    _SC_XOPEN_SHM___205 = 94,
    _SC_2_CHAR_TERM___205 = 95,
    _SC_2_C_VERSION___205 = 96,
    _SC_2_UPE___205 = 97,
    _SC_XOPEN_XPG2___205 = 98,
    _SC_XOPEN_XPG3___205 = 99,
    _SC_XOPEN_XPG4___205 = 100,
    _SC_CHAR_BIT___205 = 101,
    _SC_CHAR_MAX___205 = 102,
    _SC_CHAR_MIN___205 = 103,
    _SC_INT_MAX___205 = 104,
    _SC_INT_MIN___205 = 105,
    _SC_LONG_BIT___205 = 106,
    _SC_WORD_BIT___205 = 107,
    _SC_MB_LEN_MAX___205 = 108,
    _SC_NZERO___205 = 109,
    _SC_SSIZE_MAX___205 = 110,
    _SC_SCHAR_MAX___205 = 111,
    _SC_SCHAR_MIN___205 = 112,
    _SC_SHRT_MAX___205 = 113,
    _SC_SHRT_MIN___205 = 114,
    _SC_UCHAR_MAX___205 = 115,
    _SC_UINT_MAX___205 = 116,
    _SC_ULONG_MAX___205 = 117,
    _SC_USHRT_MAX___205 = 118,
    _SC_NL_ARGMAX___205 = 119,
    _SC_NL_LANGMAX___205 = 120,
    _SC_NL_MSGMAX___205 = 121,
    _SC_NL_NMAX___205 = 122,
    _SC_NL_SETMAX___205 = 123,
    _SC_NL_TEXTMAX___205 = 124,
    _SC_XBS5_ILP32_OFF32___205 = 125,
    _SC_XBS5_ILP32_OFFBIG___205 = 126,
    _SC_XBS5_LP64_OFF64___205 = 127,
    _SC_XBS5_LPBIG_OFFBIG___205 = 128,
    _SC_XOPEN_LEGACY___205 = 129,
    _SC_XOPEN_REALTIME___205 = 130,
    _SC_XOPEN_REALTIME_THREADS___205 = 131,
    _SC_ADVISORY_INFO___205 = 132,
    _SC_BARRIERS___205 = 133,
    _SC_BASE___205 = 134,
    _SC_C_LANG_SUPPORT___205 = 135,
    _SC_C_LANG_SUPPORT_R___205 = 136,
    _SC_CLOCK_SELECTION___205 = 137,
    _SC_CPUTIME___205 = 138,
    _SC_THREAD_CPUTIME___205 = 139,
    _SC_DEVICE_IO___205 = 140,
    _SC_DEVICE_SPECIFIC___205 = 141,
    _SC_DEVICE_SPECIFIC_R___205 = 142,
    _SC_FD_MGMT___205 = 143,
    _SC_FIFO___205 = 144,
    _SC_PIPE___205 = 145,
    _SC_FILE_ATTRIBUTES___205 = 146,
    _SC_FILE_LOCKING___205 = 147,
    _SC_FILE_SYSTEM___205 = 148,
    _SC_MONOTONIC_CLOCK___205 = 149,
    _SC_MULTI_PROCESS___205 = 150,
    _SC_SINGLE_PROCESS___205 = 151,
    _SC_NETWORKING___205 = 152,
    _SC_READER_WRITER_LOCKS___205 = 153,
    _SC_SPIN_LOCKS___205 = 154,
    _SC_REGEXP___205 = 155,
    _SC_REGEX_VERSION___205 = 156,
    _SC_SHELL___205 = 157,
    _SC_SIGNALS___205 = 158,
    _SC_SPAWN___205 = 159,
    _SC_SPORADIC_SERVER___205 = 160,
    _SC_THREAD_SPORADIC_SERVER___205 = 161,
    _SC_SYSTEM_DATABASE___205 = 162,
    _SC_SYSTEM_DATABASE_R___205 = 163,
    _SC_TIMEOUTS___205 = 164,
    _SC_TYPED_MEMORY_OBJECTS___205 = 165,
    _SC_USER_GROUPS___205 = 166,
    _SC_USER_GROUPS_R___205 = 167,
    _SC_2_PBS___205 = 168,
    _SC_2_PBS_ACCOUNTING___205 = 169,
    _SC_2_PBS_LOCATE___205 = 170,
    _SC_2_PBS_MESSAGE___205 = 171,
    _SC_2_PBS_TRACK___205 = 172,
    _SC_SYMLOOP_MAX___205 = 173,
    _SC_STREAMS___205 = 174,
    _SC_2_PBS_CHECKPOINT___205 = 175,
    _SC_V6_ILP32_OFF32___205 = 176,
    _SC_V6_ILP32_OFFBIG___205 = 177,
    _SC_V6_LP64_OFF64___205 = 178,
    _SC_V6_LPBIG_OFFBIG___205 = 179,
    _SC_HOST_NAME_MAX___205 = 180,
    _SC_TRACE___205 = 181,
    _SC_TRACE_EVENT_FILTER___205 = 182,
    _SC_TRACE_INHERIT___205 = 183,
    _SC_TRACE_LOG___205 = 184,
    _SC_LEVEL1_ICACHE_SIZE___205 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___205 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___205 = 187,
    _SC_LEVEL1_DCACHE_SIZE___205 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___205 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___205 = 190,
    _SC_LEVEL2_CACHE_SIZE___205 = 191,
    _SC_LEVEL2_CACHE_ASSOC___205 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___205 = 193,
    _SC_LEVEL3_CACHE_SIZE___205 = 194,
    _SC_LEVEL3_CACHE_ASSOC___205 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___205 = 196,
    _SC_LEVEL4_CACHE_SIZE___205 = 197,
    _SC_LEVEL4_CACHE_ASSOC___205 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___205 = 199,
    _SC_IPV6___205 = 235,
    _SC_RAW_SOCKETS___205 = 236,
    _SC_V7_ILP32_OFF32___205 = 237,
    _SC_V7_ILP32_OFFBIG___205 = 238,
    _SC_V7_LP64_OFF64___205 = 239,
    _SC_V7_LPBIG_OFFBIG___205 = 240,
    _SC_SS_REPL_MAX___205 = 241,
    _SC_TRACE_EVENT_NAME_MAX___205 = 242,
    _SC_TRACE_NAME_MAX___205 = 243,
    _SC_TRACE_SYS_MAX___205 = 244,
    _SC_TRACE_USER_EVENT_MAX___205 = 245,
    _SC_XOPEN_STREAMS___205 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___205 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___205 = 248
} ;
enum __anonenum_875524036___205 {
    _CS_PATH___205 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___205 = 1,
    _CS_GNU_LIBC_VERSION___205 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___205 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___205 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___205 = 5,
    _CS_LFS_CFLAGS___205 = 1000,
    _CS_LFS_LDFLAGS___205 = 1001,
    _CS_LFS_LIBS___205 = 1002,
    _CS_LFS_LINTFLAGS___205 = 1003,
    _CS_LFS64_CFLAGS___205 = 1004,
    _CS_LFS64_LDFLAGS___205 = 1005,
    _CS_LFS64_LIBS___205 = 1006,
    _CS_LFS64_LINTFLAGS___205 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___205 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___205 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___205 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___205 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___205 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___205 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___205 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___205 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___205 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___205 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___205 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___205 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___205 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___205 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___205 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___205 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___205 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___205 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___205 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___205 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___205 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___205 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___205 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___205 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___205 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___205 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___205 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___205 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___205 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___205 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___205 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___205 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___205 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___205 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___205 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___205 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___205 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___205 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___205 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___205 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___205 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___205 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___205 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___205 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___205 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___205 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___205 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___205 = 1147,
    _CS_V6_ENV___205 = 1148,
    _CS_V7_ENV___205 = 1149
} ;
enum __anonenum_513775621___205 {
    DT_UNKNOWN___205 = 0,
    DT_FIFO___205 = 1,
    DT_CHR___205 = 2,
    DT_DIR___205 = 4,
    DT_BLK___205 = 6,
    DT_REG___205 = 8,
    DT_LNK___205 = 10,
    DT_SOCK___205 = 12,
    DT_WHT___205 = 14
} ;
enum __anonenum_77002343___205 {
    SI_ASYNCNL___205 = -60,
    SI_TKILL___205 = -6,
    SI_SIGIO___205 = -5,
    SI_ASYNCIO___205 = -4,
    SI_MESGQ___205 = -3,
    SI_TIMER___205 = -2,
    SI_QUEUE___205 = -1,
    SI_USER___205 = 0,
    SI_KERNEL___205 = 128
} ;
enum __anonenum_131038172___205 {
    ILL_ILLOPC___205 = 1,
    ILL_ILLOPN___205 = 2,
    ILL_ILLADR___205 = 3,
    ILL_ILLTRP___205 = 4,
    ILL_PRVOPC___205 = 5,
    ILL_PRVREG___205 = 6,
    ILL_COPROC___205 = 7,
    ILL_BADSTK___205 = 8
} ;
enum __anonenum_452038093___205 {
    FPE_INTDIV___205 = 1,
    FPE_INTOVF___205 = 2,
    FPE_FLTDIV___205 = 3,
    FPE_FLTOVF___205 = 4,
    FPE_FLTUND___205 = 5,
    FPE_FLTRES___205 = 6,
    FPE_FLTINV___205 = 7,
    FPE_FLTSUB___205 = 8
} ;
enum __anonenum_30976155___205 {
    SEGV_MAPERR___205 = 1,
    SEGV_ACCERR___205 = 2,
    SEGV_BNDERR___205 = 3,
    SEGV_PKUERR___205 = 4
} ;
enum __anonenum_1036286214___205 {
    BUS_ADRALN___205 = 1,
    BUS_ADRERR___205 = 2,
    BUS_OBJERR___205 = 3,
    BUS_MCEERR_AR___205 = 4,
    BUS_MCEERR_AO___205 = 5
} ;
enum __anonenum_493465559___205 {
    TRAP_BRKPT___205 = 1,
    TRAP_TRACE___205 = 2
} ;
enum __anonenum_23175539___205 {
    CLD_EXITED___205 = 1,
    CLD_KILLED___205 = 2,
    CLD_DUMPED___205 = 3,
    CLD_TRAPPED___205 = 4,
    CLD_STOPPED___205 = 5,
    CLD_CONTINUED___205 = 6
} ;
enum __anonenum_111643124___205 {
    POLL_IN___205 = 1,
    POLL_OUT___205 = 2,
    POLL_MSG___205 = 3,
    POLL_ERR___205 = 4,
    POLL_PRI___205 = 5,
    POLL_HUP___205 = 6
} ;
enum __anonenum_852341087___205 {
    SIGEV_SIGNAL___205 = 0,
    SIGEV_NONE___205 = 1,
    SIGEV_THREAD___205 = 2,
    SIGEV_THREAD_ID___205 = 4
} ;
enum __anonenum_451154152___205 {
    REG_R8___205 = 0,
    REG_R9___205 = 1,
    REG_R10___205 = 2,
    REG_R11___205 = 3,
    REG_R12___205 = 4,
    REG_R13___205 = 5,
    REG_R14___205 = 6,
    REG_R15___205 = 7,
    REG_RDI___205 = 8,
    REG_RSI___205 = 9,
    REG_RBP___205 = 10,
    REG_RBX___205 = 11,
    REG_RDX___205 = 12,
    REG_RAX___205 = 13,
    REG_RCX___205 = 14,
    REG_RSP___205 = 15,
    REG_RIP___205 = 16,
    REG_EFL___205 = 17,
    REG_CSGSFS___205 = 18,
    REG_ERR___205 = 19,
    REG_TRAPNO___205 = 20,
    REG_OLDMASK___205 = 21,
    REG_CR2___205 = 22
} ;
enum __anonenum_57186863___205 {
    SS_ONSTACK___205 = 1,
    SS_DISABLE___205 = 2
} ;
enum __anonenum_83571709___205 {
    MSG_OOB___205 = 1,
    MSG_PEEK___205 = 2,
    MSG_DONTROUTE___205 = 4,
    MSG_TRYHARD___205 = 4,
    MSG_CTRUNC___205 = 8,
    MSG_PROXY___205 = 16,
    MSG_TRUNC___205 = 32,
    MSG_DONTWAIT___205 = 64,
    MSG_EOR___205 = 128,
    MSG_WAITALL___205 = 256,
    MSG_FIN___205 = 512,
    MSG_SYN___205 = 1024,
    MSG_CONFIRM___205 = 2048,
    MSG_RST___205 = 4096,
    MSG_ERRQUEUE___205 = 8192,
    MSG_NOSIGNAL___205 = 16384,
    MSG_MORE___205 = 32768,
    MSG_WAITFORONE___205 = 65536,
    MSG_BATCH___205 = 262144,
    MSG_ZEROCOPY___205 = 67108864,
    MSG_FASTOPEN___205 = 536870912,
    MSG_CMSG_CLOEXEC___205 = 1073741824
} ;
enum __anonenum_617082774___205 {
    SCM_RIGHTS___205 = 1,
    SCM_CREDENTIALS___205 = 2
} ;
enum __anonenum_606441560___205 {
    SHUT_RD___205 = 0,
    SHUT_WR___205 = 1,
    SHUT_RDWR___205 = 2
} ;
enum __anonenum_681669233___205 {
    IPPROTO_IP___205 = 0,
    IPPROTO_ICMP___205 = 1,
    IPPROTO_IGMP___205 = 2,
    IPPROTO_IPIP___205 = 4,
    IPPROTO_TCP___205 = 6,
    IPPROTO_EGP___205 = 8,
    IPPROTO_PUP___205 = 12,
    IPPROTO_UDP___205 = 17,
    IPPROTO_IDP___205 = 22,
    IPPROTO_TP___205 = 29,
    IPPROTO_DCCP___205 = 33,
    IPPROTO_IPV6___205 = 41,
    IPPROTO_RSVP___205 = 46,
    IPPROTO_GRE___205 = 47,
    IPPROTO_ESP___205 = 50,
    IPPROTO_AH___205 = 51,
    IPPROTO_MTP___205 = 92,
    IPPROTO_BEETPH___205 = 94,
    IPPROTO_ENCAP___205 = 98,
    IPPROTO_PIM___205 = 103,
    IPPROTO_COMP___205 = 108,
    IPPROTO_SCTP___205 = 132,
    IPPROTO_UDPLITE___205 = 136,
    IPPROTO_MPLS___205 = 137,
    IPPROTO_RAW___205 = 255,
    IPPROTO_MAX___205 = 256
} ;
enum __anonenum_218739988___205 {
    IPPROTO_HOPOPTS___205 = 0,
    IPPROTO_ROUTING___205 = 43,
    IPPROTO_FRAGMENT___205 = 44,
    IPPROTO_ICMPV6___205 = 58,
    IPPROTO_NONE___205 = 59,
    IPPROTO_DSTOPTS___205 = 60,
    IPPROTO_MH___205 = 135
} ;
enum __anonenum_662268580___205 {
    IPPORT_ECHO___205 = 7,
    IPPORT_DISCARD___205 = 9,
    IPPORT_SYSTAT___205 = 11,
    IPPORT_DAYTIME___205 = 13,
    IPPORT_NETSTAT___205 = 15,
    IPPORT_FTP___205 = 21,
    IPPORT_TELNET___205 = 23,
    IPPORT_SMTP___205 = 25,
    IPPORT_TIMESERVER___205 = 37,
    IPPORT_NAMESERVER___205 = 42,
    IPPORT_WHOIS___205 = 43,
    IPPORT_MTP___205 = 57,
    IPPORT_TFTP___205 = 69,
    IPPORT_RJE___205 = 77,
    IPPORT_FINGER___205 = 79,
    IPPORT_TTYLINK___205 = 87,
    IPPORT_SUPDUP___205 = 95,
    IPPORT_EXECSERVER___205 = 512,
    IPPORT_LOGINSERVER___205 = 513,
    IPPORT_CMDSERVER___205 = 514,
    IPPORT_EFSSERVER___205 = 520,
    IPPORT_BIFFUDP___205 = 512,
    IPPORT_WHOSERVER___205 = 513,
    IPPORT_ROUTESERVER___205 = 520,
    IPPORT_RESERVED___205 = 1024,
    IPPORT_USERRESERVED___205 = 5000
} ;
enum __anonenum_788308992___205 {
    TCP_ESTABLISHED___205 = 1,
    TCP_SYN_SENT___205 = 2,
    TCP_SYN_RECV___205 = 3,
    TCP_FIN_WAIT1___205 = 4,
    TCP_FIN_WAIT2___205 = 5,
    TCP_TIME_WAIT___205 = 6,
    TCP_CLOSE___205 = 7,
    TCP_CLOSE_WAIT___205 = 8,
    TCP_LAST_ACK___205 = 9,
    TCP_LISTEN___205 = 10,
    TCP_CLOSING___205 = 11
} ;
enum __anonenum_221125648___205 {
    TCP_NO_QUEUE___205 = 0,
    TCP_RECV_QUEUE___205 = 1,
    TCP_SEND_QUEUE___205 = 2,
    TCP_QUEUES_NR___205 = 3
} ;
enum __anonenum_34415463___205 {
    PTHREAD_CREATE_JOINABLE___205 = 0,
    PTHREAD_CREATE_DETACHED___205 = 1
} ;
enum __anonenum_303612439___205 {
    PTHREAD_MUTEX_TIMED_NP___205 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___205 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___205 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___205 = 3,
    PTHREAD_MUTEX_NORMAL___205 = 0,
    PTHREAD_MUTEX_RECURSIVE___205 = 1,
    PTHREAD_MUTEX_ERRORCHECK___205 = 2,
    PTHREAD_MUTEX_DEFAULT___205 = 0,
    PTHREAD_MUTEX_FAST_NP___205 = 0
} ;
enum __anonenum_931900394___205 {
    PTHREAD_MUTEX_STALLED___205 = 0,
    PTHREAD_MUTEX_STALLED_NP___205 = 0,
    PTHREAD_MUTEX_ROBUST___205 = 1,
    PTHREAD_MUTEX_ROBUST_NP___205 = 1
} ;
enum __anonenum_205214487___205 {
    PTHREAD_PRIO_NONE___205 = 0,
    PTHREAD_PRIO_INHERIT___205 = 1,
    PTHREAD_PRIO_PROTECT___205 = 2
} ;
enum __anonenum_25043950___205 {
    PTHREAD_RWLOCK_PREFER_READER_NP___205 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___205 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___205 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___205 = 0
} ;
enum __anonenum_436439511___205 {
    PTHREAD_INHERIT_SCHED___205 = 0,
    PTHREAD_EXPLICIT_SCHED___205 = 1
} ;
enum __anonenum_998661166___205 {
    PTHREAD_SCOPE_SYSTEM___205 = 0,
    PTHREAD_SCOPE_PROCESS___205 = 1
} ;
enum __anonenum_146137331___205 {
    PTHREAD_PROCESS_PRIVATE___205 = 0,
    PTHREAD_PROCESS_SHARED___205 = 1
} ;
enum __anonenum_53396917___205 {
    PTHREAD_CANCEL_ENABLE___205 = 0,
    PTHREAD_CANCEL_DISABLE___205 = 1
} ;
enum __anonenum_904563783___205 {
    PTHREAD_CANCEL_DEFERRED___205 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___205 = 1
} ;
enum __anonenum_672052974___205 {
    SSL_CT_VALIDATION_PERMISSIVE___205 = 0,
    SSL_CT_VALIDATION_STRICT___205 = 1
} ;
enum __anonenum_437032235___206 {
    _PC_LINK_MAX___206 = 0,
    _PC_MAX_CANON___206 = 1,
    _PC_MAX_INPUT___206 = 2,
    _PC_NAME_MAX___206 = 3,
    _PC_PATH_MAX___206 = 4,
    _PC_PIPE_BUF___206 = 5,
    _PC_CHOWN_RESTRICTED___206 = 6,
    _PC_NO_TRUNC___206 = 7,
    _PC_VDISABLE___206 = 8,
    _PC_SYNC_IO___206 = 9,
    _PC_ASYNC_IO___206 = 10,
    _PC_PRIO_IO___206 = 11,
    _PC_SOCK_MAXBUF___206 = 12,
    _PC_FILESIZEBITS___206 = 13,
    _PC_REC_INCR_XFER_SIZE___206 = 14,
    _PC_REC_MAX_XFER_SIZE___206 = 15,
    _PC_REC_MIN_XFER_SIZE___206 = 16,
    _PC_REC_XFER_ALIGN___206 = 17,
    _PC_ALLOC_SIZE_MIN___206 = 18,
    _PC_SYMLINK_MAX___206 = 19,
    _PC_2_SYMLINKS___206 = 20
} ;
enum __anonenum_315186338___206 {
    _SC_ARG_MAX___206 = 0,
    _SC_CHILD_MAX___206 = 1,
    _SC_CLK_TCK___206 = 2,
    _SC_NGROUPS_MAX___206 = 3,
    _SC_OPEN_MAX___206 = 4,
    _SC_STREAM_MAX___206 = 5,
    _SC_TZNAME_MAX___206 = 6,
    _SC_JOB_CONTROL___206 = 7,
    _SC_SAVED_IDS___206 = 8,
    _SC_REALTIME_SIGNALS___206 = 9,
    _SC_PRIORITY_SCHEDULING___206 = 10,
    _SC_TIMERS___206 = 11,
    _SC_ASYNCHRONOUS_IO___206 = 12,
    _SC_PRIORITIZED_IO___206 = 13,
    _SC_SYNCHRONIZED_IO___206 = 14,
    _SC_FSYNC___206 = 15,
    _SC_MAPPED_FILES___206 = 16,
    _SC_MEMLOCK___206 = 17,
    _SC_MEMLOCK_RANGE___206 = 18,
    _SC_MEMORY_PROTECTION___206 = 19,
    _SC_MESSAGE_PASSING___206 = 20,
    _SC_SEMAPHORES___206 = 21,
    _SC_SHARED_MEMORY_OBJECTS___206 = 22,
    _SC_AIO_LISTIO_MAX___206 = 23,
    _SC_AIO_MAX___206 = 24,
    _SC_AIO_PRIO_DELTA_MAX___206 = 25,
    _SC_DELAYTIMER_MAX___206 = 26,
    _SC_MQ_OPEN_MAX___206 = 27,
    _SC_MQ_PRIO_MAX___206 = 28,
    _SC_VERSION___206 = 29,
    _SC_PAGESIZE___206 = 30,
    _SC_RTSIG_MAX___206 = 31,
    _SC_SEM_NSEMS_MAX___206 = 32,
    _SC_SEM_VALUE_MAX___206 = 33,
    _SC_SIGQUEUE_MAX___206 = 34,
    _SC_TIMER_MAX___206 = 35,
    _SC_BC_BASE_MAX___206 = 36,
    _SC_BC_DIM_MAX___206 = 37,
    _SC_BC_SCALE_MAX___206 = 38,
    _SC_BC_STRING_MAX___206 = 39,
    _SC_COLL_WEIGHTS_MAX___206 = 40,
    _SC_EQUIV_CLASS_MAX___206 = 41,
    _SC_EXPR_NEST_MAX___206 = 42,
    _SC_LINE_MAX___206 = 43,
    _SC_RE_DUP_MAX___206 = 44,
    _SC_CHARCLASS_NAME_MAX___206 = 45,
    _SC_2_VERSION___206 = 46,
    _SC_2_C_BIND___206 = 47,
    _SC_2_C_DEV___206 = 48,
    _SC_2_FORT_DEV___206 = 49,
    _SC_2_FORT_RUN___206 = 50,
    _SC_2_SW_DEV___206 = 51,
    _SC_2_LOCALEDEF___206 = 52,
    _SC_PII___206 = 53,
    _SC_PII_XTI___206 = 54,
    _SC_PII_SOCKET___206 = 55,
    _SC_PII_INTERNET___206 = 56,
    _SC_PII_OSI___206 = 57,
    _SC_POLL___206 = 58,
    _SC_SELECT___206 = 59,
    _SC_UIO_MAXIOV___206 = 60,
    _SC_IOV_MAX___206 = 60,
    _SC_PII_INTERNET_STREAM___206 = 61,
    _SC_PII_INTERNET_DGRAM___206 = 62,
    _SC_PII_OSI_COTS___206 = 63,
    _SC_PII_OSI_CLTS___206 = 64,
    _SC_PII_OSI_M___206 = 65,
    _SC_T_IOV_MAX___206 = 66,
    _SC_THREADS___206 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___206 = 68,
    _SC_GETGR_R_SIZE_MAX___206 = 69,
    _SC_GETPW_R_SIZE_MAX___206 = 70,
    _SC_LOGIN_NAME_MAX___206 = 71,
    _SC_TTY_NAME_MAX___206 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___206 = 73,
    _SC_THREAD_KEYS_MAX___206 = 74,
    _SC_THREAD_STACK_MIN___206 = 75,
    _SC_THREAD_THREADS_MAX___206 = 76,
    _SC_THREAD_ATTR_STACKADDR___206 = 77,
    _SC_THREAD_ATTR_STACKSIZE___206 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___206 = 79,
    _SC_THREAD_PRIO_INHERIT___206 = 80,
    _SC_THREAD_PRIO_PROTECT___206 = 81,
    _SC_THREAD_PROCESS_SHARED___206 = 82,
    _SC_NPROCESSORS_CONF___206 = 83,
    _SC_NPROCESSORS_ONLN___206 = 84,
    _SC_PHYS_PAGES___206 = 85,
    _SC_AVPHYS_PAGES___206 = 86,
    _SC_ATEXIT_MAX___206 = 87,
    _SC_PASS_MAX___206 = 88,
    _SC_XOPEN_VERSION___206 = 89,
    _SC_XOPEN_XCU_VERSION___206 = 90,
    _SC_XOPEN_UNIX___206 = 91,
    _SC_XOPEN_CRYPT___206 = 92,
    _SC_XOPEN_ENH_I18N___206 = 93,
    _SC_XOPEN_SHM___206 = 94,
    _SC_2_CHAR_TERM___206 = 95,
    _SC_2_C_VERSION___206 = 96,
    _SC_2_UPE___206 = 97,
    _SC_XOPEN_XPG2___206 = 98,
    _SC_XOPEN_XPG3___206 = 99,
    _SC_XOPEN_XPG4___206 = 100,
    _SC_CHAR_BIT___206 = 101,
    _SC_CHAR_MAX___206 = 102,
    _SC_CHAR_MIN___206 = 103,
    _SC_INT_MAX___206 = 104,
    _SC_INT_MIN___206 = 105,
    _SC_LONG_BIT___206 = 106,
    _SC_WORD_BIT___206 = 107,
    _SC_MB_LEN_MAX___206 = 108,
    _SC_NZERO___206 = 109,
    _SC_SSIZE_MAX___206 = 110,
    _SC_SCHAR_MAX___206 = 111,
    _SC_SCHAR_MIN___206 = 112,
    _SC_SHRT_MAX___206 = 113,
    _SC_SHRT_MIN___206 = 114,
    _SC_UCHAR_MAX___206 = 115,
    _SC_UINT_MAX___206 = 116,
    _SC_ULONG_MAX___206 = 117,
    _SC_USHRT_MAX___206 = 118,
    _SC_NL_ARGMAX___206 = 119,
    _SC_NL_LANGMAX___206 = 120,
    _SC_NL_MSGMAX___206 = 121,
    _SC_NL_NMAX___206 = 122,
    _SC_NL_SETMAX___206 = 123,
    _SC_NL_TEXTMAX___206 = 124,
    _SC_XBS5_ILP32_OFF32___206 = 125,
    _SC_XBS5_ILP32_OFFBIG___206 = 126,
    _SC_XBS5_LP64_OFF64___206 = 127,
    _SC_XBS5_LPBIG_OFFBIG___206 = 128,
    _SC_XOPEN_LEGACY___206 = 129,
    _SC_XOPEN_REALTIME___206 = 130,
    _SC_XOPEN_REALTIME_THREADS___206 = 131,
    _SC_ADVISORY_INFO___206 = 132,
    _SC_BARRIERS___206 = 133,
    _SC_BASE___206 = 134,
    _SC_C_LANG_SUPPORT___206 = 135,
    _SC_C_LANG_SUPPORT_R___206 = 136,
    _SC_CLOCK_SELECTION___206 = 137,
    _SC_CPUTIME___206 = 138,
    _SC_THREAD_CPUTIME___206 = 139,
    _SC_DEVICE_IO___206 = 140,
    _SC_DEVICE_SPECIFIC___206 = 141,
    _SC_DEVICE_SPECIFIC_R___206 = 142,
    _SC_FD_MGMT___206 = 143,
    _SC_FIFO___206 = 144,
    _SC_PIPE___206 = 145,
    _SC_FILE_ATTRIBUTES___206 = 146,
    _SC_FILE_LOCKING___206 = 147,
    _SC_FILE_SYSTEM___206 = 148,
    _SC_MONOTONIC_CLOCK___206 = 149,
    _SC_MULTI_PROCESS___206 = 150,
    _SC_SINGLE_PROCESS___206 = 151,
    _SC_NETWORKING___206 = 152,
    _SC_READER_WRITER_LOCKS___206 = 153,
    _SC_SPIN_LOCKS___206 = 154,
    _SC_REGEXP___206 = 155,
    _SC_REGEX_VERSION___206 = 156,
    _SC_SHELL___206 = 157,
    _SC_SIGNALS___206 = 158,
    _SC_SPAWN___206 = 159,
    _SC_SPORADIC_SERVER___206 = 160,
    _SC_THREAD_SPORADIC_SERVER___206 = 161,
    _SC_SYSTEM_DATABASE___206 = 162,
    _SC_SYSTEM_DATABASE_R___206 = 163,
    _SC_TIMEOUTS___206 = 164,
    _SC_TYPED_MEMORY_OBJECTS___206 = 165,
    _SC_USER_GROUPS___206 = 166,
    _SC_USER_GROUPS_R___206 = 167,
    _SC_2_PBS___206 = 168,
    _SC_2_PBS_ACCOUNTING___206 = 169,
    _SC_2_PBS_LOCATE___206 = 170,
    _SC_2_PBS_MESSAGE___206 = 171,
    _SC_2_PBS_TRACK___206 = 172,
    _SC_SYMLOOP_MAX___206 = 173,
    _SC_STREAMS___206 = 174,
    _SC_2_PBS_CHECKPOINT___206 = 175,
    _SC_V6_ILP32_OFF32___206 = 176,
    _SC_V6_ILP32_OFFBIG___206 = 177,
    _SC_V6_LP64_OFF64___206 = 178,
    _SC_V6_LPBIG_OFFBIG___206 = 179,
    _SC_HOST_NAME_MAX___206 = 180,
    _SC_TRACE___206 = 181,
    _SC_TRACE_EVENT_FILTER___206 = 182,
    _SC_TRACE_INHERIT___206 = 183,
    _SC_TRACE_LOG___206 = 184,
    _SC_LEVEL1_ICACHE_SIZE___206 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___206 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___206 = 187,
    _SC_LEVEL1_DCACHE_SIZE___206 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___206 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___206 = 190,
    _SC_LEVEL2_CACHE_SIZE___206 = 191,
    _SC_LEVEL2_CACHE_ASSOC___206 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___206 = 193,
    _SC_LEVEL3_CACHE_SIZE___206 = 194,
    _SC_LEVEL3_CACHE_ASSOC___206 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___206 = 196,
    _SC_LEVEL4_CACHE_SIZE___206 = 197,
    _SC_LEVEL4_CACHE_ASSOC___206 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___206 = 199,
    _SC_IPV6___206 = 235,
    _SC_RAW_SOCKETS___206 = 236,
    _SC_V7_ILP32_OFF32___206 = 237,
    _SC_V7_ILP32_OFFBIG___206 = 238,
    _SC_V7_LP64_OFF64___206 = 239,
    _SC_V7_LPBIG_OFFBIG___206 = 240,
    _SC_SS_REPL_MAX___206 = 241,
    _SC_TRACE_EVENT_NAME_MAX___206 = 242,
    _SC_TRACE_NAME_MAX___206 = 243,
    _SC_TRACE_SYS_MAX___206 = 244,
    _SC_TRACE_USER_EVENT_MAX___206 = 245,
    _SC_XOPEN_STREAMS___206 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___206 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___206 = 248
} ;
enum __anonenum_875524036___206 {
    _CS_PATH___206 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___206 = 1,
    _CS_GNU_LIBC_VERSION___206 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___206 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___206 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___206 = 5,
    _CS_LFS_CFLAGS___206 = 1000,
    _CS_LFS_LDFLAGS___206 = 1001,
    _CS_LFS_LIBS___206 = 1002,
    _CS_LFS_LINTFLAGS___206 = 1003,
    _CS_LFS64_CFLAGS___206 = 1004,
    _CS_LFS64_LDFLAGS___206 = 1005,
    _CS_LFS64_LIBS___206 = 1006,
    _CS_LFS64_LINTFLAGS___206 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___206 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___206 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___206 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___206 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___206 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___206 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___206 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___206 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___206 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___206 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___206 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___206 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___206 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___206 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___206 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___206 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___206 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___206 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___206 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___206 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___206 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___206 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___206 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___206 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___206 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___206 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___206 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___206 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___206 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___206 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___206 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___206 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___206 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___206 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___206 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___206 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___206 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___206 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___206 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___206 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___206 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___206 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___206 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___206 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___206 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___206 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___206 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___206 = 1147,
    _CS_V6_ENV___206 = 1148,
    _CS_V7_ENV___206 = 1149
} ;
enum __anonenum_513775621___206 {
    DT_UNKNOWN___206 = 0,
    DT_FIFO___206 = 1,
    DT_CHR___206 = 2,
    DT_DIR___206 = 4,
    DT_BLK___206 = 6,
    DT_REG___206 = 8,
    DT_LNK___206 = 10,
    DT_SOCK___206 = 12,
    DT_WHT___206 = 14
} ;
enum __anonenum_77002343___206 {
    SI_ASYNCNL___206 = -60,
    SI_TKILL___206 = -6,
    SI_SIGIO___206 = -5,
    SI_ASYNCIO___206 = -4,
    SI_MESGQ___206 = -3,
    SI_TIMER___206 = -2,
    SI_QUEUE___206 = -1,
    SI_USER___206 = 0,
    SI_KERNEL___206 = 128
} ;
enum __anonenum_131038172___206 {
    ILL_ILLOPC___206 = 1,
    ILL_ILLOPN___206 = 2,
    ILL_ILLADR___206 = 3,
    ILL_ILLTRP___206 = 4,
    ILL_PRVOPC___206 = 5,
    ILL_PRVREG___206 = 6,
    ILL_COPROC___206 = 7,
    ILL_BADSTK___206 = 8
} ;
enum __anonenum_452038093___206 {
    FPE_INTDIV___206 = 1,
    FPE_INTOVF___206 = 2,
    FPE_FLTDIV___206 = 3,
    FPE_FLTOVF___206 = 4,
    FPE_FLTUND___206 = 5,
    FPE_FLTRES___206 = 6,
    FPE_FLTINV___206 = 7,
    FPE_FLTSUB___206 = 8
} ;
enum __anonenum_30976155___206 {
    SEGV_MAPERR___206 = 1,
    SEGV_ACCERR___206 = 2,
    SEGV_BNDERR___206 = 3,
    SEGV_PKUERR___206 = 4
} ;
enum __anonenum_1036286214___206 {
    BUS_ADRALN___206 = 1,
    BUS_ADRERR___206 = 2,
    BUS_OBJERR___206 = 3,
    BUS_MCEERR_AR___206 = 4,
    BUS_MCEERR_AO___206 = 5
} ;
enum __anonenum_493465559___206 {
    TRAP_BRKPT___206 = 1,
    TRAP_TRACE___206 = 2
} ;
enum __anonenum_23175539___206 {
    CLD_EXITED___206 = 1,
    CLD_KILLED___206 = 2,
    CLD_DUMPED___206 = 3,
    CLD_TRAPPED___206 = 4,
    CLD_STOPPED___206 = 5,
    CLD_CONTINUED___206 = 6
} ;
enum __anonenum_111643124___206 {
    POLL_IN___206 = 1,
    POLL_OUT___206 = 2,
    POLL_MSG___206 = 3,
    POLL_ERR___206 = 4,
    POLL_PRI___206 = 5,
    POLL_HUP___206 = 6
} ;
enum __anonenum_852341087___206 {
    SIGEV_SIGNAL___206 = 0,
    SIGEV_NONE___206 = 1,
    SIGEV_THREAD___206 = 2,
    SIGEV_THREAD_ID___206 = 4
} ;
enum __anonenum_451154152___206 {
    REG_R8___206 = 0,
    REG_R9___206 = 1,
    REG_R10___206 = 2,
    REG_R11___206 = 3,
    REG_R12___206 = 4,
    REG_R13___206 = 5,
    REG_R14___206 = 6,
    REG_R15___206 = 7,
    REG_RDI___206 = 8,
    REG_RSI___206 = 9,
    REG_RBP___206 = 10,
    REG_RBX___206 = 11,
    REG_RDX___206 = 12,
    REG_RAX___206 = 13,
    REG_RCX___206 = 14,
    REG_RSP___206 = 15,
    REG_RIP___206 = 16,
    REG_EFL___206 = 17,
    REG_CSGSFS___206 = 18,
    REG_ERR___206 = 19,
    REG_TRAPNO___206 = 20,
    REG_OLDMASK___206 = 21,
    REG_CR2___206 = 22
} ;
enum __anonenum_57186863___206 {
    SS_ONSTACK___206 = 1,
    SS_DISABLE___206 = 2
} ;
enum __anonenum_83571709___206 {
    MSG_OOB___206 = 1,
    MSG_PEEK___206 = 2,
    MSG_DONTROUTE___206 = 4,
    MSG_TRYHARD___206 = 4,
    MSG_CTRUNC___206 = 8,
    MSG_PROXY___206 = 16,
    MSG_TRUNC___206 = 32,
    MSG_DONTWAIT___206 = 64,
    MSG_EOR___206 = 128,
    MSG_WAITALL___206 = 256,
    MSG_FIN___206 = 512,
    MSG_SYN___206 = 1024,
    MSG_CONFIRM___206 = 2048,
    MSG_RST___206 = 4096,
    MSG_ERRQUEUE___206 = 8192,
    MSG_NOSIGNAL___206 = 16384,
    MSG_MORE___206 = 32768,
    MSG_WAITFORONE___206 = 65536,
    MSG_BATCH___206 = 262144,
    MSG_ZEROCOPY___206 = 67108864,
    MSG_FASTOPEN___206 = 536870912,
    MSG_CMSG_CLOEXEC___206 = 1073741824
} ;
enum __anonenum_617082774___206 {
    SCM_RIGHTS___206 = 1,
    SCM_CREDENTIALS___206 = 2
} ;
enum __anonenum_606441560___206 {
    SHUT_RD___206 = 0,
    SHUT_WR___206 = 1,
    SHUT_RDWR___206 = 2
} ;
enum __anonenum_681669233___206 {
    IPPROTO_IP___206 = 0,
    IPPROTO_ICMP___206 = 1,
    IPPROTO_IGMP___206 = 2,
    IPPROTO_IPIP___206 = 4,
    IPPROTO_TCP___206 = 6,
    IPPROTO_EGP___206 = 8,
    IPPROTO_PUP___206 = 12,
    IPPROTO_UDP___206 = 17,
    IPPROTO_IDP___206 = 22,
    IPPROTO_TP___206 = 29,
    IPPROTO_DCCP___206 = 33,
    IPPROTO_IPV6___206 = 41,
    IPPROTO_RSVP___206 = 46,
    IPPROTO_GRE___206 = 47,
    IPPROTO_ESP___206 = 50,
    IPPROTO_AH___206 = 51,
    IPPROTO_MTP___206 = 92,
    IPPROTO_BEETPH___206 = 94,
    IPPROTO_ENCAP___206 = 98,
    IPPROTO_PIM___206 = 103,
    IPPROTO_COMP___206 = 108,
    IPPROTO_SCTP___206 = 132,
    IPPROTO_UDPLITE___206 = 136,
    IPPROTO_MPLS___206 = 137,
    IPPROTO_RAW___206 = 255,
    IPPROTO_MAX___206 = 256
} ;
enum __anonenum_218739988___206 {
    IPPROTO_HOPOPTS___206 = 0,
    IPPROTO_ROUTING___206 = 43,
    IPPROTO_FRAGMENT___206 = 44,
    IPPROTO_ICMPV6___206 = 58,
    IPPROTO_NONE___206 = 59,
    IPPROTO_DSTOPTS___206 = 60,
    IPPROTO_MH___206 = 135
} ;
enum __anonenum_662268580___206 {
    IPPORT_ECHO___206 = 7,
    IPPORT_DISCARD___206 = 9,
    IPPORT_SYSTAT___206 = 11,
    IPPORT_DAYTIME___206 = 13,
    IPPORT_NETSTAT___206 = 15,
    IPPORT_FTP___206 = 21,
    IPPORT_TELNET___206 = 23,
    IPPORT_SMTP___206 = 25,
    IPPORT_TIMESERVER___206 = 37,
    IPPORT_NAMESERVER___206 = 42,
    IPPORT_WHOIS___206 = 43,
    IPPORT_MTP___206 = 57,
    IPPORT_TFTP___206 = 69,
    IPPORT_RJE___206 = 77,
    IPPORT_FINGER___206 = 79,
    IPPORT_TTYLINK___206 = 87,
    IPPORT_SUPDUP___206 = 95,
    IPPORT_EXECSERVER___206 = 512,
    IPPORT_LOGINSERVER___206 = 513,
    IPPORT_CMDSERVER___206 = 514,
    IPPORT_EFSSERVER___206 = 520,
    IPPORT_BIFFUDP___206 = 512,
    IPPORT_WHOSERVER___206 = 513,
    IPPORT_ROUTESERVER___206 = 520,
    IPPORT_RESERVED___206 = 1024,
    IPPORT_USERRESERVED___206 = 5000
} ;
enum __anonenum_788308992___206 {
    TCP_ESTABLISHED___206 = 1,
    TCP_SYN_SENT___206 = 2,
    TCP_SYN_RECV___206 = 3,
    TCP_FIN_WAIT1___206 = 4,
    TCP_FIN_WAIT2___206 = 5,
    TCP_TIME_WAIT___206 = 6,
    TCP_CLOSE___206 = 7,
    TCP_CLOSE_WAIT___206 = 8,
    TCP_LAST_ACK___206 = 9,
    TCP_LISTEN___206 = 10,
    TCP_CLOSING___206 = 11
} ;
enum __anonenum_221125648___206 {
    TCP_NO_QUEUE___206 = 0,
    TCP_RECV_QUEUE___206 = 1,
    TCP_SEND_QUEUE___206 = 2,
    TCP_QUEUES_NR___206 = 3
} ;
enum __anonenum_34415463___206 {
    PTHREAD_CREATE_JOINABLE___206 = 0,
    PTHREAD_CREATE_DETACHED___206 = 1
} ;
enum __anonenum_303612439___206 {
    PTHREAD_MUTEX_TIMED_NP___206 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___206 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___206 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___206 = 3,
    PTHREAD_MUTEX_NORMAL___206 = 0,
    PTHREAD_MUTEX_RECURSIVE___206 = 1,
    PTHREAD_MUTEX_ERRORCHECK___206 = 2,
    PTHREAD_MUTEX_DEFAULT___206 = 0,
    PTHREAD_MUTEX_FAST_NP___206 = 0
} ;
enum __anonenum_931900394___206 {
    PTHREAD_MUTEX_STALLED___206 = 0,
    PTHREAD_MUTEX_STALLED_NP___206 = 0,
    PTHREAD_MUTEX_ROBUST___206 = 1,
    PTHREAD_MUTEX_ROBUST_NP___206 = 1
} ;
enum __anonenum_205214487___206 {
    PTHREAD_PRIO_NONE___206 = 0,
    PTHREAD_PRIO_INHERIT___206 = 1,
    PTHREAD_PRIO_PROTECT___206 = 2
} ;
enum __anonenum_25043950___206 {
    PTHREAD_RWLOCK_PREFER_READER_NP___206 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___206 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___206 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___206 = 0
} ;
enum __anonenum_436439511___206 {
    PTHREAD_INHERIT_SCHED___206 = 0,
    PTHREAD_EXPLICIT_SCHED___206 = 1
} ;
enum __anonenum_998661166___206 {
    PTHREAD_SCOPE_SYSTEM___206 = 0,
    PTHREAD_SCOPE_PROCESS___206 = 1
} ;
enum __anonenum_146137331___206 {
    PTHREAD_PROCESS_PRIVATE___206 = 0,
    PTHREAD_PROCESS_SHARED___206 = 1
} ;
enum __anonenum_53396917___206 {
    PTHREAD_CANCEL_ENABLE___206 = 0,
    PTHREAD_CANCEL_DISABLE___206 = 1
} ;
enum __anonenum_904563783___206 {
    PTHREAD_CANCEL_DEFERRED___206 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___206 = 1
} ;
enum __anonenum_672052974___206 {
    SSL_CT_VALIDATION_PERMISSIVE___206 = 0,
    SSL_CT_VALIDATION_STRICT___206 = 1
} ;
enum __anonenum_437032235___207 {
    _PC_LINK_MAX___207 = 0,
    _PC_MAX_CANON___207 = 1,
    _PC_MAX_INPUT___207 = 2,
    _PC_NAME_MAX___207 = 3,
    _PC_PATH_MAX___207 = 4,
    _PC_PIPE_BUF___207 = 5,
    _PC_CHOWN_RESTRICTED___207 = 6,
    _PC_NO_TRUNC___207 = 7,
    _PC_VDISABLE___207 = 8,
    _PC_SYNC_IO___207 = 9,
    _PC_ASYNC_IO___207 = 10,
    _PC_PRIO_IO___207 = 11,
    _PC_SOCK_MAXBUF___207 = 12,
    _PC_FILESIZEBITS___207 = 13,
    _PC_REC_INCR_XFER_SIZE___207 = 14,
    _PC_REC_MAX_XFER_SIZE___207 = 15,
    _PC_REC_MIN_XFER_SIZE___207 = 16,
    _PC_REC_XFER_ALIGN___207 = 17,
    _PC_ALLOC_SIZE_MIN___207 = 18,
    _PC_SYMLINK_MAX___207 = 19,
    _PC_2_SYMLINKS___207 = 20
} ;
enum __anonenum_315186338___207 {
    _SC_ARG_MAX___207 = 0,
    _SC_CHILD_MAX___207 = 1,
    _SC_CLK_TCK___207 = 2,
    _SC_NGROUPS_MAX___207 = 3,
    _SC_OPEN_MAX___207 = 4,
    _SC_STREAM_MAX___207 = 5,
    _SC_TZNAME_MAX___207 = 6,
    _SC_JOB_CONTROL___207 = 7,
    _SC_SAVED_IDS___207 = 8,
    _SC_REALTIME_SIGNALS___207 = 9,
    _SC_PRIORITY_SCHEDULING___207 = 10,
    _SC_TIMERS___207 = 11,
    _SC_ASYNCHRONOUS_IO___207 = 12,
    _SC_PRIORITIZED_IO___207 = 13,
    _SC_SYNCHRONIZED_IO___207 = 14,
    _SC_FSYNC___207 = 15,
    _SC_MAPPED_FILES___207 = 16,
    _SC_MEMLOCK___207 = 17,
    _SC_MEMLOCK_RANGE___207 = 18,
    _SC_MEMORY_PROTECTION___207 = 19,
    _SC_MESSAGE_PASSING___207 = 20,
    _SC_SEMAPHORES___207 = 21,
    _SC_SHARED_MEMORY_OBJECTS___207 = 22,
    _SC_AIO_LISTIO_MAX___207 = 23,
    _SC_AIO_MAX___207 = 24,
    _SC_AIO_PRIO_DELTA_MAX___207 = 25,
    _SC_DELAYTIMER_MAX___207 = 26,
    _SC_MQ_OPEN_MAX___207 = 27,
    _SC_MQ_PRIO_MAX___207 = 28,
    _SC_VERSION___207 = 29,
    _SC_PAGESIZE___207 = 30,
    _SC_RTSIG_MAX___207 = 31,
    _SC_SEM_NSEMS_MAX___207 = 32,
    _SC_SEM_VALUE_MAX___207 = 33,
    _SC_SIGQUEUE_MAX___207 = 34,
    _SC_TIMER_MAX___207 = 35,
    _SC_BC_BASE_MAX___207 = 36,
    _SC_BC_DIM_MAX___207 = 37,
    _SC_BC_SCALE_MAX___207 = 38,
    _SC_BC_STRING_MAX___207 = 39,
    _SC_COLL_WEIGHTS_MAX___207 = 40,
    _SC_EQUIV_CLASS_MAX___207 = 41,
    _SC_EXPR_NEST_MAX___207 = 42,
    _SC_LINE_MAX___207 = 43,
    _SC_RE_DUP_MAX___207 = 44,
    _SC_CHARCLASS_NAME_MAX___207 = 45,
    _SC_2_VERSION___207 = 46,
    _SC_2_C_BIND___207 = 47,
    _SC_2_C_DEV___207 = 48,
    _SC_2_FORT_DEV___207 = 49,
    _SC_2_FORT_RUN___207 = 50,
    _SC_2_SW_DEV___207 = 51,
    _SC_2_LOCALEDEF___207 = 52,
    _SC_PII___207 = 53,
    _SC_PII_XTI___207 = 54,
    _SC_PII_SOCKET___207 = 55,
    _SC_PII_INTERNET___207 = 56,
    _SC_PII_OSI___207 = 57,
    _SC_POLL___207 = 58,
    _SC_SELECT___207 = 59,
    _SC_UIO_MAXIOV___207 = 60,
    _SC_IOV_MAX___207 = 60,
    _SC_PII_INTERNET_STREAM___207 = 61,
    _SC_PII_INTERNET_DGRAM___207 = 62,
    _SC_PII_OSI_COTS___207 = 63,
    _SC_PII_OSI_CLTS___207 = 64,
    _SC_PII_OSI_M___207 = 65,
    _SC_T_IOV_MAX___207 = 66,
    _SC_THREADS___207 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___207 = 68,
    _SC_GETGR_R_SIZE_MAX___207 = 69,
    _SC_GETPW_R_SIZE_MAX___207 = 70,
    _SC_LOGIN_NAME_MAX___207 = 71,
    _SC_TTY_NAME_MAX___207 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___207 = 73,
    _SC_THREAD_KEYS_MAX___207 = 74,
    _SC_THREAD_STACK_MIN___207 = 75,
    _SC_THREAD_THREADS_MAX___207 = 76,
    _SC_THREAD_ATTR_STACKADDR___207 = 77,
    _SC_THREAD_ATTR_STACKSIZE___207 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___207 = 79,
    _SC_THREAD_PRIO_INHERIT___207 = 80,
    _SC_THREAD_PRIO_PROTECT___207 = 81,
    _SC_THREAD_PROCESS_SHARED___207 = 82,
    _SC_NPROCESSORS_CONF___207 = 83,
    _SC_NPROCESSORS_ONLN___207 = 84,
    _SC_PHYS_PAGES___207 = 85,
    _SC_AVPHYS_PAGES___207 = 86,
    _SC_ATEXIT_MAX___207 = 87,
    _SC_PASS_MAX___207 = 88,
    _SC_XOPEN_VERSION___207 = 89,
    _SC_XOPEN_XCU_VERSION___207 = 90,
    _SC_XOPEN_UNIX___207 = 91,
    _SC_XOPEN_CRYPT___207 = 92,
    _SC_XOPEN_ENH_I18N___207 = 93,
    _SC_XOPEN_SHM___207 = 94,
    _SC_2_CHAR_TERM___207 = 95,
    _SC_2_C_VERSION___207 = 96,
    _SC_2_UPE___207 = 97,
    _SC_XOPEN_XPG2___207 = 98,
    _SC_XOPEN_XPG3___207 = 99,
    _SC_XOPEN_XPG4___207 = 100,
    _SC_CHAR_BIT___207 = 101,
    _SC_CHAR_MAX___207 = 102,
    _SC_CHAR_MIN___207 = 103,
    _SC_INT_MAX___207 = 104,
    _SC_INT_MIN___207 = 105,
    _SC_LONG_BIT___207 = 106,
    _SC_WORD_BIT___207 = 107,
    _SC_MB_LEN_MAX___207 = 108,
    _SC_NZERO___207 = 109,
    _SC_SSIZE_MAX___207 = 110,
    _SC_SCHAR_MAX___207 = 111,
    _SC_SCHAR_MIN___207 = 112,
    _SC_SHRT_MAX___207 = 113,
    _SC_SHRT_MIN___207 = 114,
    _SC_UCHAR_MAX___207 = 115,
    _SC_UINT_MAX___207 = 116,
    _SC_ULONG_MAX___207 = 117,
    _SC_USHRT_MAX___207 = 118,
    _SC_NL_ARGMAX___207 = 119,
    _SC_NL_LANGMAX___207 = 120,
    _SC_NL_MSGMAX___207 = 121,
    _SC_NL_NMAX___207 = 122,
    _SC_NL_SETMAX___207 = 123,
    _SC_NL_TEXTMAX___207 = 124,
    _SC_XBS5_ILP32_OFF32___207 = 125,
    _SC_XBS5_ILP32_OFFBIG___207 = 126,
    _SC_XBS5_LP64_OFF64___207 = 127,
    _SC_XBS5_LPBIG_OFFBIG___207 = 128,
    _SC_XOPEN_LEGACY___207 = 129,
    _SC_XOPEN_REALTIME___207 = 130,
    _SC_XOPEN_REALTIME_THREADS___207 = 131,
    _SC_ADVISORY_INFO___207 = 132,
    _SC_BARRIERS___207 = 133,
    _SC_BASE___207 = 134,
    _SC_C_LANG_SUPPORT___207 = 135,
    _SC_C_LANG_SUPPORT_R___207 = 136,
    _SC_CLOCK_SELECTION___207 = 137,
    _SC_CPUTIME___207 = 138,
    _SC_THREAD_CPUTIME___207 = 139,
    _SC_DEVICE_IO___207 = 140,
    _SC_DEVICE_SPECIFIC___207 = 141,
    _SC_DEVICE_SPECIFIC_R___207 = 142,
    _SC_FD_MGMT___207 = 143,
    _SC_FIFO___207 = 144,
    _SC_PIPE___207 = 145,
    _SC_FILE_ATTRIBUTES___207 = 146,
    _SC_FILE_LOCKING___207 = 147,
    _SC_FILE_SYSTEM___207 = 148,
    _SC_MONOTONIC_CLOCK___207 = 149,
    _SC_MULTI_PROCESS___207 = 150,
    _SC_SINGLE_PROCESS___207 = 151,
    _SC_NETWORKING___207 = 152,
    _SC_READER_WRITER_LOCKS___207 = 153,
    _SC_SPIN_LOCKS___207 = 154,
    _SC_REGEXP___207 = 155,
    _SC_REGEX_VERSION___207 = 156,
    _SC_SHELL___207 = 157,
    _SC_SIGNALS___207 = 158,
    _SC_SPAWN___207 = 159,
    _SC_SPORADIC_SERVER___207 = 160,
    _SC_THREAD_SPORADIC_SERVER___207 = 161,
    _SC_SYSTEM_DATABASE___207 = 162,
    _SC_SYSTEM_DATABASE_R___207 = 163,
    _SC_TIMEOUTS___207 = 164,
    _SC_TYPED_MEMORY_OBJECTS___207 = 165,
    _SC_USER_GROUPS___207 = 166,
    _SC_USER_GROUPS_R___207 = 167,
    _SC_2_PBS___207 = 168,
    _SC_2_PBS_ACCOUNTING___207 = 169,
    _SC_2_PBS_LOCATE___207 = 170,
    _SC_2_PBS_MESSAGE___207 = 171,
    _SC_2_PBS_TRACK___207 = 172,
    _SC_SYMLOOP_MAX___207 = 173,
    _SC_STREAMS___207 = 174,
    _SC_2_PBS_CHECKPOINT___207 = 175,
    _SC_V6_ILP32_OFF32___207 = 176,
    _SC_V6_ILP32_OFFBIG___207 = 177,
    _SC_V6_LP64_OFF64___207 = 178,
    _SC_V6_LPBIG_OFFBIG___207 = 179,
    _SC_HOST_NAME_MAX___207 = 180,
    _SC_TRACE___207 = 181,
    _SC_TRACE_EVENT_FILTER___207 = 182,
    _SC_TRACE_INHERIT___207 = 183,
    _SC_TRACE_LOG___207 = 184,
    _SC_LEVEL1_ICACHE_SIZE___207 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___207 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___207 = 187,
    _SC_LEVEL1_DCACHE_SIZE___207 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___207 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___207 = 190,
    _SC_LEVEL2_CACHE_SIZE___207 = 191,
    _SC_LEVEL2_CACHE_ASSOC___207 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___207 = 193,
    _SC_LEVEL3_CACHE_SIZE___207 = 194,
    _SC_LEVEL3_CACHE_ASSOC___207 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___207 = 196,
    _SC_LEVEL4_CACHE_SIZE___207 = 197,
    _SC_LEVEL4_CACHE_ASSOC___207 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___207 = 199,
    _SC_IPV6___207 = 235,
    _SC_RAW_SOCKETS___207 = 236,
    _SC_V7_ILP32_OFF32___207 = 237,
    _SC_V7_ILP32_OFFBIG___207 = 238,
    _SC_V7_LP64_OFF64___207 = 239,
    _SC_V7_LPBIG_OFFBIG___207 = 240,
    _SC_SS_REPL_MAX___207 = 241,
    _SC_TRACE_EVENT_NAME_MAX___207 = 242,
    _SC_TRACE_NAME_MAX___207 = 243,
    _SC_TRACE_SYS_MAX___207 = 244,
    _SC_TRACE_USER_EVENT_MAX___207 = 245,
    _SC_XOPEN_STREAMS___207 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___207 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___207 = 248
} ;
enum __anonenum_875524036___207 {
    _CS_PATH___207 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___207 = 1,
    _CS_GNU_LIBC_VERSION___207 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___207 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___207 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___207 = 5,
    _CS_LFS_CFLAGS___207 = 1000,
    _CS_LFS_LDFLAGS___207 = 1001,
    _CS_LFS_LIBS___207 = 1002,
    _CS_LFS_LINTFLAGS___207 = 1003,
    _CS_LFS64_CFLAGS___207 = 1004,
    _CS_LFS64_LDFLAGS___207 = 1005,
    _CS_LFS64_LIBS___207 = 1006,
    _CS_LFS64_LINTFLAGS___207 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___207 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___207 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___207 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___207 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___207 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___207 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___207 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___207 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___207 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___207 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___207 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___207 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___207 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___207 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___207 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___207 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___207 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___207 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___207 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___207 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___207 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___207 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___207 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___207 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___207 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___207 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___207 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___207 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___207 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___207 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___207 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___207 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___207 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___207 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___207 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___207 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___207 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___207 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___207 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___207 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___207 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___207 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___207 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___207 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___207 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___207 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___207 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___207 = 1147,
    _CS_V6_ENV___207 = 1148,
    _CS_V7_ENV___207 = 1149
} ;
enum __anonenum_513775621___207 {
    DT_UNKNOWN___207 = 0,
    DT_FIFO___207 = 1,
    DT_CHR___207 = 2,
    DT_DIR___207 = 4,
    DT_BLK___207 = 6,
    DT_REG___207 = 8,
    DT_LNK___207 = 10,
    DT_SOCK___207 = 12,
    DT_WHT___207 = 14
} ;
enum __anonenum_77002343___207 {
    SI_ASYNCNL___207 = -60,
    SI_TKILL___207 = -6,
    SI_SIGIO___207 = -5,
    SI_ASYNCIO___207 = -4,
    SI_MESGQ___207 = -3,
    SI_TIMER___207 = -2,
    SI_QUEUE___207 = -1,
    SI_USER___207 = 0,
    SI_KERNEL___207 = 128
} ;
enum __anonenum_131038172___207 {
    ILL_ILLOPC___207 = 1,
    ILL_ILLOPN___207 = 2,
    ILL_ILLADR___207 = 3,
    ILL_ILLTRP___207 = 4,
    ILL_PRVOPC___207 = 5,
    ILL_PRVREG___207 = 6,
    ILL_COPROC___207 = 7,
    ILL_BADSTK___207 = 8
} ;
enum __anonenum_452038093___207 {
    FPE_INTDIV___207 = 1,
    FPE_INTOVF___207 = 2,
    FPE_FLTDIV___207 = 3,
    FPE_FLTOVF___207 = 4,
    FPE_FLTUND___207 = 5,
    FPE_FLTRES___207 = 6,
    FPE_FLTINV___207 = 7,
    FPE_FLTSUB___207 = 8
} ;
enum __anonenum_30976155___207 {
    SEGV_MAPERR___207 = 1,
    SEGV_ACCERR___207 = 2,
    SEGV_BNDERR___207 = 3,
    SEGV_PKUERR___207 = 4
} ;
enum __anonenum_1036286214___207 {
    BUS_ADRALN___207 = 1,
    BUS_ADRERR___207 = 2,
    BUS_OBJERR___207 = 3,
    BUS_MCEERR_AR___207 = 4,
    BUS_MCEERR_AO___207 = 5
} ;
enum __anonenum_493465559___207 {
    TRAP_BRKPT___207 = 1,
    TRAP_TRACE___207 = 2
} ;
enum __anonenum_23175539___207 {
    CLD_EXITED___207 = 1,
    CLD_KILLED___207 = 2,
    CLD_DUMPED___207 = 3,
    CLD_TRAPPED___207 = 4,
    CLD_STOPPED___207 = 5,
    CLD_CONTINUED___207 = 6
} ;
enum __anonenum_111643124___207 {
    POLL_IN___207 = 1,
    POLL_OUT___207 = 2,
    POLL_MSG___207 = 3,
    POLL_ERR___207 = 4,
    POLL_PRI___207 = 5,
    POLL_HUP___207 = 6
} ;
enum __anonenum_852341087___207 {
    SIGEV_SIGNAL___207 = 0,
    SIGEV_NONE___207 = 1,
    SIGEV_THREAD___207 = 2,
    SIGEV_THREAD_ID___207 = 4
} ;
enum __anonenum_451154152___207 {
    REG_R8___207 = 0,
    REG_R9___207 = 1,
    REG_R10___207 = 2,
    REG_R11___207 = 3,
    REG_R12___207 = 4,
    REG_R13___207 = 5,
    REG_R14___207 = 6,
    REG_R15___207 = 7,
    REG_RDI___207 = 8,
    REG_RSI___207 = 9,
    REG_RBP___207 = 10,
    REG_RBX___207 = 11,
    REG_RDX___207 = 12,
    REG_RAX___207 = 13,
    REG_RCX___207 = 14,
    REG_RSP___207 = 15,
    REG_RIP___207 = 16,
    REG_EFL___207 = 17,
    REG_CSGSFS___207 = 18,
    REG_ERR___207 = 19,
    REG_TRAPNO___207 = 20,
    REG_OLDMASK___207 = 21,
    REG_CR2___207 = 22
} ;
enum __anonenum_57186863___207 {
    SS_ONSTACK___207 = 1,
    SS_DISABLE___207 = 2
} ;
enum __anonenum_83571709___207 {
    MSG_OOB___207 = 1,
    MSG_PEEK___207 = 2,
    MSG_DONTROUTE___207 = 4,
    MSG_TRYHARD___207 = 4,
    MSG_CTRUNC___207 = 8,
    MSG_PROXY___207 = 16,
    MSG_TRUNC___207 = 32,
    MSG_DONTWAIT___207 = 64,
    MSG_EOR___207 = 128,
    MSG_WAITALL___207 = 256,
    MSG_FIN___207 = 512,
    MSG_SYN___207 = 1024,
    MSG_CONFIRM___207 = 2048,
    MSG_RST___207 = 4096,
    MSG_ERRQUEUE___207 = 8192,
    MSG_NOSIGNAL___207 = 16384,
    MSG_MORE___207 = 32768,
    MSG_WAITFORONE___207 = 65536,
    MSG_BATCH___207 = 262144,
    MSG_ZEROCOPY___207 = 67108864,
    MSG_FASTOPEN___207 = 536870912,
    MSG_CMSG_CLOEXEC___207 = 1073741824
} ;
enum __anonenum_617082774___207 {
    SCM_RIGHTS___207 = 1,
    SCM_CREDENTIALS___207 = 2
} ;
enum __anonenum_606441560___207 {
    SHUT_RD___207 = 0,
    SHUT_WR___207 = 1,
    SHUT_RDWR___207 = 2
} ;
enum __anonenum_681669233___207 {
    IPPROTO_IP___207 = 0,
    IPPROTO_ICMP___207 = 1,
    IPPROTO_IGMP___207 = 2,
    IPPROTO_IPIP___207 = 4,
    IPPROTO_TCP___207 = 6,
    IPPROTO_EGP___207 = 8,
    IPPROTO_PUP___207 = 12,
    IPPROTO_UDP___207 = 17,
    IPPROTO_IDP___207 = 22,
    IPPROTO_TP___207 = 29,
    IPPROTO_DCCP___207 = 33,
    IPPROTO_IPV6___207 = 41,
    IPPROTO_RSVP___207 = 46,
    IPPROTO_GRE___207 = 47,
    IPPROTO_ESP___207 = 50,
    IPPROTO_AH___207 = 51,
    IPPROTO_MTP___207 = 92,
    IPPROTO_BEETPH___207 = 94,
    IPPROTO_ENCAP___207 = 98,
    IPPROTO_PIM___207 = 103,
    IPPROTO_COMP___207 = 108,
    IPPROTO_SCTP___207 = 132,
    IPPROTO_UDPLITE___207 = 136,
    IPPROTO_MPLS___207 = 137,
    IPPROTO_RAW___207 = 255,
    IPPROTO_MAX___207 = 256
} ;
enum __anonenum_218739988___207 {
    IPPROTO_HOPOPTS___207 = 0,
    IPPROTO_ROUTING___207 = 43,
    IPPROTO_FRAGMENT___207 = 44,
    IPPROTO_ICMPV6___207 = 58,
    IPPROTO_NONE___207 = 59,
    IPPROTO_DSTOPTS___207 = 60,
    IPPROTO_MH___207 = 135
} ;
enum __anonenum_662268580___207 {
    IPPORT_ECHO___207 = 7,
    IPPORT_DISCARD___207 = 9,
    IPPORT_SYSTAT___207 = 11,
    IPPORT_DAYTIME___207 = 13,
    IPPORT_NETSTAT___207 = 15,
    IPPORT_FTP___207 = 21,
    IPPORT_TELNET___207 = 23,
    IPPORT_SMTP___207 = 25,
    IPPORT_TIMESERVER___207 = 37,
    IPPORT_NAMESERVER___207 = 42,
    IPPORT_WHOIS___207 = 43,
    IPPORT_MTP___207 = 57,
    IPPORT_TFTP___207 = 69,
    IPPORT_RJE___207 = 77,
    IPPORT_FINGER___207 = 79,
    IPPORT_TTYLINK___207 = 87,
    IPPORT_SUPDUP___207 = 95,
    IPPORT_EXECSERVER___207 = 512,
    IPPORT_LOGINSERVER___207 = 513,
    IPPORT_CMDSERVER___207 = 514,
    IPPORT_EFSSERVER___207 = 520,
    IPPORT_BIFFUDP___207 = 512,
    IPPORT_WHOSERVER___207 = 513,
    IPPORT_ROUTESERVER___207 = 520,
    IPPORT_RESERVED___207 = 1024,
    IPPORT_USERRESERVED___207 = 5000
} ;
enum __anonenum_788308992___207 {
    TCP_ESTABLISHED___207 = 1,
    TCP_SYN_SENT___207 = 2,
    TCP_SYN_RECV___207 = 3,
    TCP_FIN_WAIT1___207 = 4,
    TCP_FIN_WAIT2___207 = 5,
    TCP_TIME_WAIT___207 = 6,
    TCP_CLOSE___207 = 7,
    TCP_CLOSE_WAIT___207 = 8,
    TCP_LAST_ACK___207 = 9,
    TCP_LISTEN___207 = 10,
    TCP_CLOSING___207 = 11
} ;
enum __anonenum_221125648___207 {
    TCP_NO_QUEUE___207 = 0,
    TCP_RECV_QUEUE___207 = 1,
    TCP_SEND_QUEUE___207 = 2,
    TCP_QUEUES_NR___207 = 3
} ;
enum __anonenum_34415463___207 {
    PTHREAD_CREATE_JOINABLE___207 = 0,
    PTHREAD_CREATE_DETACHED___207 = 1
} ;
enum __anonenum_303612439___207 {
    PTHREAD_MUTEX_TIMED_NP___207 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___207 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___207 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___207 = 3,
    PTHREAD_MUTEX_NORMAL___207 = 0,
    PTHREAD_MUTEX_RECURSIVE___207 = 1,
    PTHREAD_MUTEX_ERRORCHECK___207 = 2,
    PTHREAD_MUTEX_DEFAULT___207 = 0,
    PTHREAD_MUTEX_FAST_NP___207 = 0
} ;
enum __anonenum_931900394___207 {
    PTHREAD_MUTEX_STALLED___207 = 0,
    PTHREAD_MUTEX_STALLED_NP___207 = 0,
    PTHREAD_MUTEX_ROBUST___207 = 1,
    PTHREAD_MUTEX_ROBUST_NP___207 = 1
} ;
enum __anonenum_205214487___207 {
    PTHREAD_PRIO_NONE___207 = 0,
    PTHREAD_PRIO_INHERIT___207 = 1,
    PTHREAD_PRIO_PROTECT___207 = 2
} ;
enum __anonenum_25043950___207 {
    PTHREAD_RWLOCK_PREFER_READER_NP___207 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___207 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___207 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___207 = 0
} ;
enum __anonenum_436439511___207 {
    PTHREAD_INHERIT_SCHED___207 = 0,
    PTHREAD_EXPLICIT_SCHED___207 = 1
} ;
enum __anonenum_998661166___207 {
    PTHREAD_SCOPE_SYSTEM___207 = 0,
    PTHREAD_SCOPE_PROCESS___207 = 1
} ;
enum __anonenum_146137331___207 {
    PTHREAD_PROCESS_PRIVATE___207 = 0,
    PTHREAD_PROCESS_SHARED___207 = 1
} ;
enum __anonenum_53396917___207 {
    PTHREAD_CANCEL_ENABLE___207 = 0,
    PTHREAD_CANCEL_DISABLE___207 = 1
} ;
enum __anonenum_904563783___207 {
    PTHREAD_CANCEL_DEFERRED___207 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___207 = 1
} ;
enum __anonenum_672052974___207 {
    SSL_CT_VALIDATION_PERMISSIVE___207 = 0,
    SSL_CT_VALIDATION_STRICT___207 = 1
} ;
struct conf_info {
   char *name ;
   char *key ;
   char *command ;
   char *cmd ;
   enum trailer_where where ;
   enum trailer_if_exists if_exists ;
   enum trailer_if_missing if_missing ;
};
struct trailer_item {
   struct list_head list ;
   char *token ;
   char *value ;
};
struct arg_item {
   struct list_head list ;
   char *token ;
   char *value ;
   struct conf_info conf ;
};
enum trailer_info_type {
    TRAILER_KEY = 0,
    TRAILER_COMMAND = 1,
    TRAILER_CMD = 2,
    TRAILER_WHERE = 3,
    TRAILER_IF_EXISTS = 4,
    TRAILER_IF_MISSING = 5
} ;
struct __anonstruct_trailer_config_items_111913212 {
   char const   *name ;
   enum trailer_info_type type ;
};
enum __anonenum_437032235___208 {
    _PC_LINK_MAX___208 = 0,
    _PC_MAX_CANON___208 = 1,
    _PC_MAX_INPUT___208 = 2,
    _PC_NAME_MAX___208 = 3,
    _PC_PATH_MAX___208 = 4,
    _PC_PIPE_BUF___208 = 5,
    _PC_CHOWN_RESTRICTED___208 = 6,
    _PC_NO_TRUNC___208 = 7,
    _PC_VDISABLE___208 = 8,
    _PC_SYNC_IO___208 = 9,
    _PC_ASYNC_IO___208 = 10,
    _PC_PRIO_IO___208 = 11,
    _PC_SOCK_MAXBUF___208 = 12,
    _PC_FILESIZEBITS___208 = 13,
    _PC_REC_INCR_XFER_SIZE___208 = 14,
    _PC_REC_MAX_XFER_SIZE___208 = 15,
    _PC_REC_MIN_XFER_SIZE___208 = 16,
    _PC_REC_XFER_ALIGN___208 = 17,
    _PC_ALLOC_SIZE_MIN___208 = 18,
    _PC_SYMLINK_MAX___208 = 19,
    _PC_2_SYMLINKS___208 = 20
} ;
enum __anonenum_315186338___208 {
    _SC_ARG_MAX___208 = 0,
    _SC_CHILD_MAX___208 = 1,
    _SC_CLK_TCK___208 = 2,
    _SC_NGROUPS_MAX___208 = 3,
    _SC_OPEN_MAX___208 = 4,
    _SC_STREAM_MAX___208 = 5,
    _SC_TZNAME_MAX___208 = 6,
    _SC_JOB_CONTROL___208 = 7,
    _SC_SAVED_IDS___208 = 8,
    _SC_REALTIME_SIGNALS___208 = 9,
    _SC_PRIORITY_SCHEDULING___208 = 10,
    _SC_TIMERS___208 = 11,
    _SC_ASYNCHRONOUS_IO___208 = 12,
    _SC_PRIORITIZED_IO___208 = 13,
    _SC_SYNCHRONIZED_IO___208 = 14,
    _SC_FSYNC___208 = 15,
    _SC_MAPPED_FILES___208 = 16,
    _SC_MEMLOCK___208 = 17,
    _SC_MEMLOCK_RANGE___208 = 18,
    _SC_MEMORY_PROTECTION___208 = 19,
    _SC_MESSAGE_PASSING___208 = 20,
    _SC_SEMAPHORES___208 = 21,
    _SC_SHARED_MEMORY_OBJECTS___208 = 22,
    _SC_AIO_LISTIO_MAX___208 = 23,
    _SC_AIO_MAX___208 = 24,
    _SC_AIO_PRIO_DELTA_MAX___208 = 25,
    _SC_DELAYTIMER_MAX___208 = 26,
    _SC_MQ_OPEN_MAX___208 = 27,
    _SC_MQ_PRIO_MAX___208 = 28,
    _SC_VERSION___208 = 29,
    _SC_PAGESIZE___208 = 30,
    _SC_RTSIG_MAX___208 = 31,
    _SC_SEM_NSEMS_MAX___208 = 32,
    _SC_SEM_VALUE_MAX___208 = 33,
    _SC_SIGQUEUE_MAX___208 = 34,
    _SC_TIMER_MAX___208 = 35,
    _SC_BC_BASE_MAX___208 = 36,
    _SC_BC_DIM_MAX___208 = 37,
    _SC_BC_SCALE_MAX___208 = 38,
    _SC_BC_STRING_MAX___208 = 39,
    _SC_COLL_WEIGHTS_MAX___208 = 40,
    _SC_EQUIV_CLASS_MAX___208 = 41,
    _SC_EXPR_NEST_MAX___208 = 42,
    _SC_LINE_MAX___208 = 43,
    _SC_RE_DUP_MAX___208 = 44,
    _SC_CHARCLASS_NAME_MAX___208 = 45,
    _SC_2_VERSION___208 = 46,
    _SC_2_C_BIND___208 = 47,
    _SC_2_C_DEV___208 = 48,
    _SC_2_FORT_DEV___208 = 49,
    _SC_2_FORT_RUN___208 = 50,
    _SC_2_SW_DEV___208 = 51,
    _SC_2_LOCALEDEF___208 = 52,
    _SC_PII___208 = 53,
    _SC_PII_XTI___208 = 54,
    _SC_PII_SOCKET___208 = 55,
    _SC_PII_INTERNET___208 = 56,
    _SC_PII_OSI___208 = 57,
    _SC_POLL___208 = 58,
    _SC_SELECT___208 = 59,
    _SC_UIO_MAXIOV___208 = 60,
    _SC_IOV_MAX___208 = 60,
    _SC_PII_INTERNET_STREAM___208 = 61,
    _SC_PII_INTERNET_DGRAM___208 = 62,
    _SC_PII_OSI_COTS___208 = 63,
    _SC_PII_OSI_CLTS___208 = 64,
    _SC_PII_OSI_M___208 = 65,
    _SC_T_IOV_MAX___208 = 66,
    _SC_THREADS___208 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___208 = 68,
    _SC_GETGR_R_SIZE_MAX___208 = 69,
    _SC_GETPW_R_SIZE_MAX___208 = 70,
    _SC_LOGIN_NAME_MAX___208 = 71,
    _SC_TTY_NAME_MAX___208 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___208 = 73,
    _SC_THREAD_KEYS_MAX___208 = 74,
    _SC_THREAD_STACK_MIN___208 = 75,
    _SC_THREAD_THREADS_MAX___208 = 76,
    _SC_THREAD_ATTR_STACKADDR___208 = 77,
    _SC_THREAD_ATTR_STACKSIZE___208 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___208 = 79,
    _SC_THREAD_PRIO_INHERIT___208 = 80,
    _SC_THREAD_PRIO_PROTECT___208 = 81,
    _SC_THREAD_PROCESS_SHARED___208 = 82,
    _SC_NPROCESSORS_CONF___208 = 83,
    _SC_NPROCESSORS_ONLN___208 = 84,
    _SC_PHYS_PAGES___208 = 85,
    _SC_AVPHYS_PAGES___208 = 86,
    _SC_ATEXIT_MAX___208 = 87,
    _SC_PASS_MAX___208 = 88,
    _SC_XOPEN_VERSION___208 = 89,
    _SC_XOPEN_XCU_VERSION___208 = 90,
    _SC_XOPEN_UNIX___208 = 91,
    _SC_XOPEN_CRYPT___208 = 92,
    _SC_XOPEN_ENH_I18N___208 = 93,
    _SC_XOPEN_SHM___208 = 94,
    _SC_2_CHAR_TERM___208 = 95,
    _SC_2_C_VERSION___208 = 96,
    _SC_2_UPE___208 = 97,
    _SC_XOPEN_XPG2___208 = 98,
    _SC_XOPEN_XPG3___208 = 99,
    _SC_XOPEN_XPG4___208 = 100,
    _SC_CHAR_BIT___208 = 101,
    _SC_CHAR_MAX___208 = 102,
    _SC_CHAR_MIN___208 = 103,
    _SC_INT_MAX___208 = 104,
    _SC_INT_MIN___208 = 105,
    _SC_LONG_BIT___208 = 106,
    _SC_WORD_BIT___208 = 107,
    _SC_MB_LEN_MAX___208 = 108,
    _SC_NZERO___208 = 109,
    _SC_SSIZE_MAX___208 = 110,
    _SC_SCHAR_MAX___208 = 111,
    _SC_SCHAR_MIN___208 = 112,
    _SC_SHRT_MAX___208 = 113,
    _SC_SHRT_MIN___208 = 114,
    _SC_UCHAR_MAX___208 = 115,
    _SC_UINT_MAX___208 = 116,
    _SC_ULONG_MAX___208 = 117,
    _SC_USHRT_MAX___208 = 118,
    _SC_NL_ARGMAX___208 = 119,
    _SC_NL_LANGMAX___208 = 120,
    _SC_NL_MSGMAX___208 = 121,
    _SC_NL_NMAX___208 = 122,
    _SC_NL_SETMAX___208 = 123,
    _SC_NL_TEXTMAX___208 = 124,
    _SC_XBS5_ILP32_OFF32___208 = 125,
    _SC_XBS5_ILP32_OFFBIG___208 = 126,
    _SC_XBS5_LP64_OFF64___208 = 127,
    _SC_XBS5_LPBIG_OFFBIG___208 = 128,
    _SC_XOPEN_LEGACY___208 = 129,
    _SC_XOPEN_REALTIME___208 = 130,
    _SC_XOPEN_REALTIME_THREADS___208 = 131,
    _SC_ADVISORY_INFO___208 = 132,
    _SC_BARRIERS___208 = 133,
    _SC_BASE___208 = 134,
    _SC_C_LANG_SUPPORT___208 = 135,
    _SC_C_LANG_SUPPORT_R___208 = 136,
    _SC_CLOCK_SELECTION___208 = 137,
    _SC_CPUTIME___208 = 138,
    _SC_THREAD_CPUTIME___208 = 139,
    _SC_DEVICE_IO___208 = 140,
    _SC_DEVICE_SPECIFIC___208 = 141,
    _SC_DEVICE_SPECIFIC_R___208 = 142,
    _SC_FD_MGMT___208 = 143,
    _SC_FIFO___208 = 144,
    _SC_PIPE___208 = 145,
    _SC_FILE_ATTRIBUTES___208 = 146,
    _SC_FILE_LOCKING___208 = 147,
    _SC_FILE_SYSTEM___208 = 148,
    _SC_MONOTONIC_CLOCK___208 = 149,
    _SC_MULTI_PROCESS___208 = 150,
    _SC_SINGLE_PROCESS___208 = 151,
    _SC_NETWORKING___208 = 152,
    _SC_READER_WRITER_LOCKS___208 = 153,
    _SC_SPIN_LOCKS___208 = 154,
    _SC_REGEXP___208 = 155,
    _SC_REGEX_VERSION___208 = 156,
    _SC_SHELL___208 = 157,
    _SC_SIGNALS___208 = 158,
    _SC_SPAWN___208 = 159,
    _SC_SPORADIC_SERVER___208 = 160,
    _SC_THREAD_SPORADIC_SERVER___208 = 161,
    _SC_SYSTEM_DATABASE___208 = 162,
    _SC_SYSTEM_DATABASE_R___208 = 163,
    _SC_TIMEOUTS___208 = 164,
    _SC_TYPED_MEMORY_OBJECTS___208 = 165,
    _SC_USER_GROUPS___208 = 166,
    _SC_USER_GROUPS_R___208 = 167,
    _SC_2_PBS___208 = 168,
    _SC_2_PBS_ACCOUNTING___208 = 169,
    _SC_2_PBS_LOCATE___208 = 170,
    _SC_2_PBS_MESSAGE___208 = 171,
    _SC_2_PBS_TRACK___208 = 172,
    _SC_SYMLOOP_MAX___208 = 173,
    _SC_STREAMS___208 = 174,
    _SC_2_PBS_CHECKPOINT___208 = 175,
    _SC_V6_ILP32_OFF32___208 = 176,
    _SC_V6_ILP32_OFFBIG___208 = 177,
    _SC_V6_LP64_OFF64___208 = 178,
    _SC_V6_LPBIG_OFFBIG___208 = 179,
    _SC_HOST_NAME_MAX___208 = 180,
    _SC_TRACE___208 = 181,
    _SC_TRACE_EVENT_FILTER___208 = 182,
    _SC_TRACE_INHERIT___208 = 183,
    _SC_TRACE_LOG___208 = 184,
    _SC_LEVEL1_ICACHE_SIZE___208 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___208 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___208 = 187,
    _SC_LEVEL1_DCACHE_SIZE___208 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___208 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___208 = 190,
    _SC_LEVEL2_CACHE_SIZE___208 = 191,
    _SC_LEVEL2_CACHE_ASSOC___208 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___208 = 193,
    _SC_LEVEL3_CACHE_SIZE___208 = 194,
    _SC_LEVEL3_CACHE_ASSOC___208 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___208 = 196,
    _SC_LEVEL4_CACHE_SIZE___208 = 197,
    _SC_LEVEL4_CACHE_ASSOC___208 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___208 = 199,
    _SC_IPV6___208 = 235,
    _SC_RAW_SOCKETS___208 = 236,
    _SC_V7_ILP32_OFF32___208 = 237,
    _SC_V7_ILP32_OFFBIG___208 = 238,
    _SC_V7_LP64_OFF64___208 = 239,
    _SC_V7_LPBIG_OFFBIG___208 = 240,
    _SC_SS_REPL_MAX___208 = 241,
    _SC_TRACE_EVENT_NAME_MAX___208 = 242,
    _SC_TRACE_NAME_MAX___208 = 243,
    _SC_TRACE_SYS_MAX___208 = 244,
    _SC_TRACE_USER_EVENT_MAX___208 = 245,
    _SC_XOPEN_STREAMS___208 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___208 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___208 = 248
} ;
enum __anonenum_875524036___208 {
    _CS_PATH___208 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___208 = 1,
    _CS_GNU_LIBC_VERSION___208 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___208 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___208 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___208 = 5,
    _CS_LFS_CFLAGS___208 = 1000,
    _CS_LFS_LDFLAGS___208 = 1001,
    _CS_LFS_LIBS___208 = 1002,
    _CS_LFS_LINTFLAGS___208 = 1003,
    _CS_LFS64_CFLAGS___208 = 1004,
    _CS_LFS64_LDFLAGS___208 = 1005,
    _CS_LFS64_LIBS___208 = 1006,
    _CS_LFS64_LINTFLAGS___208 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___208 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___208 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___208 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___208 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___208 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___208 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___208 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___208 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___208 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___208 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___208 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___208 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___208 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___208 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___208 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___208 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___208 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___208 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___208 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___208 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___208 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___208 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___208 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___208 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___208 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___208 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___208 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___208 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___208 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___208 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___208 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___208 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___208 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___208 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___208 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___208 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___208 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___208 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___208 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___208 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___208 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___208 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___208 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___208 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___208 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___208 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___208 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___208 = 1147,
    _CS_V6_ENV___208 = 1148,
    _CS_V7_ENV___208 = 1149
} ;
enum __anonenum_513775621___208 {
    DT_UNKNOWN___208 = 0,
    DT_FIFO___208 = 1,
    DT_CHR___208 = 2,
    DT_DIR___208 = 4,
    DT_BLK___208 = 6,
    DT_REG___208 = 8,
    DT_LNK___208 = 10,
    DT_SOCK___208 = 12,
    DT_WHT___208 = 14
} ;
enum __anonenum_77002343___208 {
    SI_ASYNCNL___208 = -60,
    SI_TKILL___208 = -6,
    SI_SIGIO___208 = -5,
    SI_ASYNCIO___208 = -4,
    SI_MESGQ___208 = -3,
    SI_TIMER___208 = -2,
    SI_QUEUE___208 = -1,
    SI_USER___208 = 0,
    SI_KERNEL___208 = 128
} ;
enum __anonenum_131038172___208 {
    ILL_ILLOPC___208 = 1,
    ILL_ILLOPN___208 = 2,
    ILL_ILLADR___208 = 3,
    ILL_ILLTRP___208 = 4,
    ILL_PRVOPC___208 = 5,
    ILL_PRVREG___208 = 6,
    ILL_COPROC___208 = 7,
    ILL_BADSTK___208 = 8
} ;
enum __anonenum_452038093___208 {
    FPE_INTDIV___208 = 1,
    FPE_INTOVF___208 = 2,
    FPE_FLTDIV___208 = 3,
    FPE_FLTOVF___208 = 4,
    FPE_FLTUND___208 = 5,
    FPE_FLTRES___208 = 6,
    FPE_FLTINV___208 = 7,
    FPE_FLTSUB___208 = 8
} ;
enum __anonenum_30976155___208 {
    SEGV_MAPERR___208 = 1,
    SEGV_ACCERR___208 = 2,
    SEGV_BNDERR___208 = 3,
    SEGV_PKUERR___208 = 4
} ;
enum __anonenum_1036286214___208 {
    BUS_ADRALN___208 = 1,
    BUS_ADRERR___208 = 2,
    BUS_OBJERR___208 = 3,
    BUS_MCEERR_AR___208 = 4,
    BUS_MCEERR_AO___208 = 5
} ;
enum __anonenum_493465559___208 {
    TRAP_BRKPT___208 = 1,
    TRAP_TRACE___208 = 2
} ;
enum __anonenum_23175539___208 {
    CLD_EXITED___208 = 1,
    CLD_KILLED___208 = 2,
    CLD_DUMPED___208 = 3,
    CLD_TRAPPED___208 = 4,
    CLD_STOPPED___208 = 5,
    CLD_CONTINUED___208 = 6
} ;
enum __anonenum_111643124___208 {
    POLL_IN___208 = 1,
    POLL_OUT___208 = 2,
    POLL_MSG___208 = 3,
    POLL_ERR___208 = 4,
    POLL_PRI___208 = 5,
    POLL_HUP___208 = 6
} ;
enum __anonenum_852341087___208 {
    SIGEV_SIGNAL___208 = 0,
    SIGEV_NONE___208 = 1,
    SIGEV_THREAD___208 = 2,
    SIGEV_THREAD_ID___208 = 4
} ;
enum __anonenum_451154152___208 {
    REG_R8___208 = 0,
    REG_R9___208 = 1,
    REG_R10___208 = 2,
    REG_R11___208 = 3,
    REG_R12___208 = 4,
    REG_R13___208 = 5,
    REG_R14___208 = 6,
    REG_R15___208 = 7,
    REG_RDI___208 = 8,
    REG_RSI___208 = 9,
    REG_RBP___208 = 10,
    REG_RBX___208 = 11,
    REG_RDX___208 = 12,
    REG_RAX___208 = 13,
    REG_RCX___208 = 14,
    REG_RSP___208 = 15,
    REG_RIP___208 = 16,
    REG_EFL___208 = 17,
    REG_CSGSFS___208 = 18,
    REG_ERR___208 = 19,
    REG_TRAPNO___208 = 20,
    REG_OLDMASK___208 = 21,
    REG_CR2___208 = 22
} ;
enum __anonenum_57186863___208 {
    SS_ONSTACK___208 = 1,
    SS_DISABLE___208 = 2
} ;
enum __anonenum_83571709___208 {
    MSG_OOB___208 = 1,
    MSG_PEEK___208 = 2,
    MSG_DONTROUTE___208 = 4,
    MSG_TRYHARD___208 = 4,
    MSG_CTRUNC___208 = 8,
    MSG_PROXY___208 = 16,
    MSG_TRUNC___208 = 32,
    MSG_DONTWAIT___208 = 64,
    MSG_EOR___208 = 128,
    MSG_WAITALL___208 = 256,
    MSG_FIN___208 = 512,
    MSG_SYN___208 = 1024,
    MSG_CONFIRM___208 = 2048,
    MSG_RST___208 = 4096,
    MSG_ERRQUEUE___208 = 8192,
    MSG_NOSIGNAL___208 = 16384,
    MSG_MORE___208 = 32768,
    MSG_WAITFORONE___208 = 65536,
    MSG_BATCH___208 = 262144,
    MSG_ZEROCOPY___208 = 67108864,
    MSG_FASTOPEN___208 = 536870912,
    MSG_CMSG_CLOEXEC___208 = 1073741824
} ;
enum __anonenum_617082774___208 {
    SCM_RIGHTS___208 = 1,
    SCM_CREDENTIALS___208 = 2
} ;
enum __anonenum_606441560___208 {
    SHUT_RD___208 = 0,
    SHUT_WR___208 = 1,
    SHUT_RDWR___208 = 2
} ;
enum __anonenum_681669233___208 {
    IPPROTO_IP___208 = 0,
    IPPROTO_ICMP___208 = 1,
    IPPROTO_IGMP___208 = 2,
    IPPROTO_IPIP___208 = 4,
    IPPROTO_TCP___208 = 6,
    IPPROTO_EGP___208 = 8,
    IPPROTO_PUP___208 = 12,
    IPPROTO_UDP___208 = 17,
    IPPROTO_IDP___208 = 22,
    IPPROTO_TP___208 = 29,
    IPPROTO_DCCP___208 = 33,
    IPPROTO_IPV6___208 = 41,
    IPPROTO_RSVP___208 = 46,
    IPPROTO_GRE___208 = 47,
    IPPROTO_ESP___208 = 50,
    IPPROTO_AH___208 = 51,
    IPPROTO_MTP___208 = 92,
    IPPROTO_BEETPH___208 = 94,
    IPPROTO_ENCAP___208 = 98,
    IPPROTO_PIM___208 = 103,
    IPPROTO_COMP___208 = 108,
    IPPROTO_SCTP___208 = 132,
    IPPROTO_UDPLITE___208 = 136,
    IPPROTO_MPLS___208 = 137,
    IPPROTO_RAW___208 = 255,
    IPPROTO_MAX___208 = 256
} ;
enum __anonenum_218739988___208 {
    IPPROTO_HOPOPTS___208 = 0,
    IPPROTO_ROUTING___208 = 43,
    IPPROTO_FRAGMENT___208 = 44,
    IPPROTO_ICMPV6___208 = 58,
    IPPROTO_NONE___208 = 59,
    IPPROTO_DSTOPTS___208 = 60,
    IPPROTO_MH___208 = 135
} ;
enum __anonenum_662268580___208 {
    IPPORT_ECHO___208 = 7,
    IPPORT_DISCARD___208 = 9,
    IPPORT_SYSTAT___208 = 11,
    IPPORT_DAYTIME___208 = 13,
    IPPORT_NETSTAT___208 = 15,
    IPPORT_FTP___208 = 21,
    IPPORT_TELNET___208 = 23,
    IPPORT_SMTP___208 = 25,
    IPPORT_TIMESERVER___208 = 37,
    IPPORT_NAMESERVER___208 = 42,
    IPPORT_WHOIS___208 = 43,
    IPPORT_MTP___208 = 57,
    IPPORT_TFTP___208 = 69,
    IPPORT_RJE___208 = 77,
    IPPORT_FINGER___208 = 79,
    IPPORT_TTYLINK___208 = 87,
    IPPORT_SUPDUP___208 = 95,
    IPPORT_EXECSERVER___208 = 512,
    IPPORT_LOGINSERVER___208 = 513,
    IPPORT_CMDSERVER___208 = 514,
    IPPORT_EFSSERVER___208 = 520,
    IPPORT_BIFFUDP___208 = 512,
    IPPORT_WHOSERVER___208 = 513,
    IPPORT_ROUTESERVER___208 = 520,
    IPPORT_RESERVED___208 = 1024,
    IPPORT_USERRESERVED___208 = 5000
} ;
enum __anonenum_788308992___208 {
    TCP_ESTABLISHED___208 = 1,
    TCP_SYN_SENT___208 = 2,
    TCP_SYN_RECV___208 = 3,
    TCP_FIN_WAIT1___208 = 4,
    TCP_FIN_WAIT2___208 = 5,
    TCP_TIME_WAIT___208 = 6,
    TCP_CLOSE___208 = 7,
    TCP_CLOSE_WAIT___208 = 8,
    TCP_LAST_ACK___208 = 9,
    TCP_LISTEN___208 = 10,
    TCP_CLOSING___208 = 11
} ;
enum __anonenum_221125648___208 {
    TCP_NO_QUEUE___208 = 0,
    TCP_RECV_QUEUE___208 = 1,
    TCP_SEND_QUEUE___208 = 2,
    TCP_QUEUES_NR___208 = 3
} ;
enum __anonenum_34415463___208 {
    PTHREAD_CREATE_JOINABLE___208 = 0,
    PTHREAD_CREATE_DETACHED___208 = 1
} ;
enum __anonenum_303612439___208 {
    PTHREAD_MUTEX_TIMED_NP___208 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___208 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___208 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___208 = 3,
    PTHREAD_MUTEX_NORMAL___208 = 0,
    PTHREAD_MUTEX_RECURSIVE___208 = 1,
    PTHREAD_MUTEX_ERRORCHECK___208 = 2,
    PTHREAD_MUTEX_DEFAULT___208 = 0,
    PTHREAD_MUTEX_FAST_NP___208 = 0
} ;
enum __anonenum_931900394___208 {
    PTHREAD_MUTEX_STALLED___208 = 0,
    PTHREAD_MUTEX_STALLED_NP___208 = 0,
    PTHREAD_MUTEX_ROBUST___208 = 1,
    PTHREAD_MUTEX_ROBUST_NP___208 = 1
} ;
enum __anonenum_205214487___208 {
    PTHREAD_PRIO_NONE___208 = 0,
    PTHREAD_PRIO_INHERIT___208 = 1,
    PTHREAD_PRIO_PROTECT___208 = 2
} ;
enum __anonenum_25043950___208 {
    PTHREAD_RWLOCK_PREFER_READER_NP___208 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___208 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___208 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___208 = 0
} ;
enum __anonenum_436439511___208 {
    PTHREAD_INHERIT_SCHED___208 = 0,
    PTHREAD_EXPLICIT_SCHED___208 = 1
} ;
enum __anonenum_998661166___208 {
    PTHREAD_SCOPE_SYSTEM___208 = 0,
    PTHREAD_SCOPE_PROCESS___208 = 1
} ;
enum __anonenum_146137331___208 {
    PTHREAD_PROCESS_PRIVATE___208 = 0,
    PTHREAD_PROCESS_SHARED___208 = 1
} ;
enum __anonenum_53396917___208 {
    PTHREAD_CANCEL_ENABLE___208 = 0,
    PTHREAD_CANCEL_DISABLE___208 = 1
} ;
enum __anonenum_904563783___208 {
    PTHREAD_CANCEL_DEFERRED___208 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___208 = 1
} ;
enum __anonenum_672052974___208 {
    SSL_CT_VALIDATION_PERMISSIVE___208 = 0,
    SSL_CT_VALIDATION_STRICT___208 = 1
} ;
enum __anonenum_34023289___18 {
    REMOTE_UNCONFIGURED___18 = 0,
    REMOTE_CONFIG___18 = 1,
    REMOTE_REMOTES___18 = 2,
    REMOTE_BRANCHES___18 = 3
} ;
struct transport_vtable {
   int (*set_option)(struct transport *connection , char const   *name , char const   *value ) ;
   struct ref *(*get_refs_list)(struct transport *transport , int for_push , struct transport_ls_refs_options *transport_options ) ;
   int (*fetch_refs)(struct transport *transport , int refs_nr , struct ref **refs ) ;
   int (*push_refs)(struct transport *transport , struct ref *refs , int flags ) ;
   int (*connect)(struct transport *connection , char const   *name , char const   *executable ,
                  int *fd ) ;
   int (*disconnect)(struct transport *connection ) ;
};
struct helper_data {
   char const   *name ;
   struct child_process *helper ;
   FILE *out ;
   unsigned int fetch : 1 ;
   unsigned int import : 1 ;
   unsigned int bidi_import : 1 ;
   unsigned int export : 1 ;
   unsigned int option : 1 ;
   unsigned int push : 1 ;
   unsigned int connect : 1 ;
   unsigned int stateless_connect : 1 ;
   unsigned int signed_tags : 1 ;
   unsigned int check_connectivity : 1 ;
   unsigned int no_disconnect_req : 1 ;
   unsigned int no_private_update : 1 ;
   unsigned int object_format : 1 ;
   unsigned int get_refs_list_called : 1 ;
   char *export_marks ;
   char *import_marks ;
   struct refspec rs ;
   struct git_transport_options transport_options ;
};
struct push_update_ref_state {
   struct ref *hint ;
   struct ref_push_report *report ;
   int new_report ;
};
struct unidirectional_transfer {
   int src ;
   int dest ;
   int src_is_sock ;
   int dest_is_sock ;
   int state ;
   char buf[65536] ;
   size_t bufuse ;
   char const   *src_name ;
   char const   *dest_name ;
};
struct bidirectional_transfer_state {
   struct unidirectional_transfer ptg ;
   struct unidirectional_transfer gtp ;
};
enum __anonenum_437032235___209 {
    _PC_LINK_MAX___209 = 0,
    _PC_MAX_CANON___209 = 1,
    _PC_MAX_INPUT___209 = 2,
    _PC_NAME_MAX___209 = 3,
    _PC_PATH_MAX___209 = 4,
    _PC_PIPE_BUF___209 = 5,
    _PC_CHOWN_RESTRICTED___209 = 6,
    _PC_NO_TRUNC___209 = 7,
    _PC_VDISABLE___209 = 8,
    _PC_SYNC_IO___209 = 9,
    _PC_ASYNC_IO___209 = 10,
    _PC_PRIO_IO___209 = 11,
    _PC_SOCK_MAXBUF___209 = 12,
    _PC_FILESIZEBITS___209 = 13,
    _PC_REC_INCR_XFER_SIZE___209 = 14,
    _PC_REC_MAX_XFER_SIZE___209 = 15,
    _PC_REC_MIN_XFER_SIZE___209 = 16,
    _PC_REC_XFER_ALIGN___209 = 17,
    _PC_ALLOC_SIZE_MIN___209 = 18,
    _PC_SYMLINK_MAX___209 = 19,
    _PC_2_SYMLINKS___209 = 20
} ;
enum __anonenum_315186338___209 {
    _SC_ARG_MAX___209 = 0,
    _SC_CHILD_MAX___209 = 1,
    _SC_CLK_TCK___209 = 2,
    _SC_NGROUPS_MAX___209 = 3,
    _SC_OPEN_MAX___209 = 4,
    _SC_STREAM_MAX___209 = 5,
    _SC_TZNAME_MAX___209 = 6,
    _SC_JOB_CONTROL___209 = 7,
    _SC_SAVED_IDS___209 = 8,
    _SC_REALTIME_SIGNALS___209 = 9,
    _SC_PRIORITY_SCHEDULING___209 = 10,
    _SC_TIMERS___209 = 11,
    _SC_ASYNCHRONOUS_IO___209 = 12,
    _SC_PRIORITIZED_IO___209 = 13,
    _SC_SYNCHRONIZED_IO___209 = 14,
    _SC_FSYNC___209 = 15,
    _SC_MAPPED_FILES___209 = 16,
    _SC_MEMLOCK___209 = 17,
    _SC_MEMLOCK_RANGE___209 = 18,
    _SC_MEMORY_PROTECTION___209 = 19,
    _SC_MESSAGE_PASSING___209 = 20,
    _SC_SEMAPHORES___209 = 21,
    _SC_SHARED_MEMORY_OBJECTS___209 = 22,
    _SC_AIO_LISTIO_MAX___209 = 23,
    _SC_AIO_MAX___209 = 24,
    _SC_AIO_PRIO_DELTA_MAX___209 = 25,
    _SC_DELAYTIMER_MAX___209 = 26,
    _SC_MQ_OPEN_MAX___209 = 27,
    _SC_MQ_PRIO_MAX___209 = 28,
    _SC_VERSION___209 = 29,
    _SC_PAGESIZE___209 = 30,
    _SC_RTSIG_MAX___209 = 31,
    _SC_SEM_NSEMS_MAX___209 = 32,
    _SC_SEM_VALUE_MAX___209 = 33,
    _SC_SIGQUEUE_MAX___209 = 34,
    _SC_TIMER_MAX___209 = 35,
    _SC_BC_BASE_MAX___209 = 36,
    _SC_BC_DIM_MAX___209 = 37,
    _SC_BC_SCALE_MAX___209 = 38,
    _SC_BC_STRING_MAX___209 = 39,
    _SC_COLL_WEIGHTS_MAX___209 = 40,
    _SC_EQUIV_CLASS_MAX___209 = 41,
    _SC_EXPR_NEST_MAX___209 = 42,
    _SC_LINE_MAX___209 = 43,
    _SC_RE_DUP_MAX___209 = 44,
    _SC_CHARCLASS_NAME_MAX___209 = 45,
    _SC_2_VERSION___209 = 46,
    _SC_2_C_BIND___209 = 47,
    _SC_2_C_DEV___209 = 48,
    _SC_2_FORT_DEV___209 = 49,
    _SC_2_FORT_RUN___209 = 50,
    _SC_2_SW_DEV___209 = 51,
    _SC_2_LOCALEDEF___209 = 52,
    _SC_PII___209 = 53,
    _SC_PII_XTI___209 = 54,
    _SC_PII_SOCKET___209 = 55,
    _SC_PII_INTERNET___209 = 56,
    _SC_PII_OSI___209 = 57,
    _SC_POLL___209 = 58,
    _SC_SELECT___209 = 59,
    _SC_UIO_MAXIOV___209 = 60,
    _SC_IOV_MAX___209 = 60,
    _SC_PII_INTERNET_STREAM___209 = 61,
    _SC_PII_INTERNET_DGRAM___209 = 62,
    _SC_PII_OSI_COTS___209 = 63,
    _SC_PII_OSI_CLTS___209 = 64,
    _SC_PII_OSI_M___209 = 65,
    _SC_T_IOV_MAX___209 = 66,
    _SC_THREADS___209 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___209 = 68,
    _SC_GETGR_R_SIZE_MAX___209 = 69,
    _SC_GETPW_R_SIZE_MAX___209 = 70,
    _SC_LOGIN_NAME_MAX___209 = 71,
    _SC_TTY_NAME_MAX___209 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___209 = 73,
    _SC_THREAD_KEYS_MAX___209 = 74,
    _SC_THREAD_STACK_MIN___209 = 75,
    _SC_THREAD_THREADS_MAX___209 = 76,
    _SC_THREAD_ATTR_STACKADDR___209 = 77,
    _SC_THREAD_ATTR_STACKSIZE___209 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___209 = 79,
    _SC_THREAD_PRIO_INHERIT___209 = 80,
    _SC_THREAD_PRIO_PROTECT___209 = 81,
    _SC_THREAD_PROCESS_SHARED___209 = 82,
    _SC_NPROCESSORS_CONF___209 = 83,
    _SC_NPROCESSORS_ONLN___209 = 84,
    _SC_PHYS_PAGES___209 = 85,
    _SC_AVPHYS_PAGES___209 = 86,
    _SC_ATEXIT_MAX___209 = 87,
    _SC_PASS_MAX___209 = 88,
    _SC_XOPEN_VERSION___209 = 89,
    _SC_XOPEN_XCU_VERSION___209 = 90,
    _SC_XOPEN_UNIX___209 = 91,
    _SC_XOPEN_CRYPT___209 = 92,
    _SC_XOPEN_ENH_I18N___209 = 93,
    _SC_XOPEN_SHM___209 = 94,
    _SC_2_CHAR_TERM___209 = 95,
    _SC_2_C_VERSION___209 = 96,
    _SC_2_UPE___209 = 97,
    _SC_XOPEN_XPG2___209 = 98,
    _SC_XOPEN_XPG3___209 = 99,
    _SC_XOPEN_XPG4___209 = 100,
    _SC_CHAR_BIT___209 = 101,
    _SC_CHAR_MAX___209 = 102,
    _SC_CHAR_MIN___209 = 103,
    _SC_INT_MAX___209 = 104,
    _SC_INT_MIN___209 = 105,
    _SC_LONG_BIT___209 = 106,
    _SC_WORD_BIT___209 = 107,
    _SC_MB_LEN_MAX___209 = 108,
    _SC_NZERO___209 = 109,
    _SC_SSIZE_MAX___209 = 110,
    _SC_SCHAR_MAX___209 = 111,
    _SC_SCHAR_MIN___209 = 112,
    _SC_SHRT_MAX___209 = 113,
    _SC_SHRT_MIN___209 = 114,
    _SC_UCHAR_MAX___209 = 115,
    _SC_UINT_MAX___209 = 116,
    _SC_ULONG_MAX___209 = 117,
    _SC_USHRT_MAX___209 = 118,
    _SC_NL_ARGMAX___209 = 119,
    _SC_NL_LANGMAX___209 = 120,
    _SC_NL_MSGMAX___209 = 121,
    _SC_NL_NMAX___209 = 122,
    _SC_NL_SETMAX___209 = 123,
    _SC_NL_TEXTMAX___209 = 124,
    _SC_XBS5_ILP32_OFF32___209 = 125,
    _SC_XBS5_ILP32_OFFBIG___209 = 126,
    _SC_XBS5_LP64_OFF64___209 = 127,
    _SC_XBS5_LPBIG_OFFBIG___209 = 128,
    _SC_XOPEN_LEGACY___209 = 129,
    _SC_XOPEN_REALTIME___209 = 130,
    _SC_XOPEN_REALTIME_THREADS___209 = 131,
    _SC_ADVISORY_INFO___209 = 132,
    _SC_BARRIERS___209 = 133,
    _SC_BASE___209 = 134,
    _SC_C_LANG_SUPPORT___209 = 135,
    _SC_C_LANG_SUPPORT_R___209 = 136,
    _SC_CLOCK_SELECTION___209 = 137,
    _SC_CPUTIME___209 = 138,
    _SC_THREAD_CPUTIME___209 = 139,
    _SC_DEVICE_IO___209 = 140,
    _SC_DEVICE_SPECIFIC___209 = 141,
    _SC_DEVICE_SPECIFIC_R___209 = 142,
    _SC_FD_MGMT___209 = 143,
    _SC_FIFO___209 = 144,
    _SC_PIPE___209 = 145,
    _SC_FILE_ATTRIBUTES___209 = 146,
    _SC_FILE_LOCKING___209 = 147,
    _SC_FILE_SYSTEM___209 = 148,
    _SC_MONOTONIC_CLOCK___209 = 149,
    _SC_MULTI_PROCESS___209 = 150,
    _SC_SINGLE_PROCESS___209 = 151,
    _SC_NETWORKING___209 = 152,
    _SC_READER_WRITER_LOCKS___209 = 153,
    _SC_SPIN_LOCKS___209 = 154,
    _SC_REGEXP___209 = 155,
    _SC_REGEX_VERSION___209 = 156,
    _SC_SHELL___209 = 157,
    _SC_SIGNALS___209 = 158,
    _SC_SPAWN___209 = 159,
    _SC_SPORADIC_SERVER___209 = 160,
    _SC_THREAD_SPORADIC_SERVER___209 = 161,
    _SC_SYSTEM_DATABASE___209 = 162,
    _SC_SYSTEM_DATABASE_R___209 = 163,
    _SC_TIMEOUTS___209 = 164,
    _SC_TYPED_MEMORY_OBJECTS___209 = 165,
    _SC_USER_GROUPS___209 = 166,
    _SC_USER_GROUPS_R___209 = 167,
    _SC_2_PBS___209 = 168,
    _SC_2_PBS_ACCOUNTING___209 = 169,
    _SC_2_PBS_LOCATE___209 = 170,
    _SC_2_PBS_MESSAGE___209 = 171,
    _SC_2_PBS_TRACK___209 = 172,
    _SC_SYMLOOP_MAX___209 = 173,
    _SC_STREAMS___209 = 174,
    _SC_2_PBS_CHECKPOINT___209 = 175,
    _SC_V6_ILP32_OFF32___209 = 176,
    _SC_V6_ILP32_OFFBIG___209 = 177,
    _SC_V6_LP64_OFF64___209 = 178,
    _SC_V6_LPBIG_OFFBIG___209 = 179,
    _SC_HOST_NAME_MAX___209 = 180,
    _SC_TRACE___209 = 181,
    _SC_TRACE_EVENT_FILTER___209 = 182,
    _SC_TRACE_INHERIT___209 = 183,
    _SC_TRACE_LOG___209 = 184,
    _SC_LEVEL1_ICACHE_SIZE___209 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___209 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___209 = 187,
    _SC_LEVEL1_DCACHE_SIZE___209 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___209 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___209 = 190,
    _SC_LEVEL2_CACHE_SIZE___209 = 191,
    _SC_LEVEL2_CACHE_ASSOC___209 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___209 = 193,
    _SC_LEVEL3_CACHE_SIZE___209 = 194,
    _SC_LEVEL3_CACHE_ASSOC___209 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___209 = 196,
    _SC_LEVEL4_CACHE_SIZE___209 = 197,
    _SC_LEVEL4_CACHE_ASSOC___209 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___209 = 199,
    _SC_IPV6___209 = 235,
    _SC_RAW_SOCKETS___209 = 236,
    _SC_V7_ILP32_OFF32___209 = 237,
    _SC_V7_ILP32_OFFBIG___209 = 238,
    _SC_V7_LP64_OFF64___209 = 239,
    _SC_V7_LPBIG_OFFBIG___209 = 240,
    _SC_SS_REPL_MAX___209 = 241,
    _SC_TRACE_EVENT_NAME_MAX___209 = 242,
    _SC_TRACE_NAME_MAX___209 = 243,
    _SC_TRACE_SYS_MAX___209 = 244,
    _SC_TRACE_USER_EVENT_MAX___209 = 245,
    _SC_XOPEN_STREAMS___209 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___209 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___209 = 248
} ;
enum __anonenum_875524036___209 {
    _CS_PATH___209 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___209 = 1,
    _CS_GNU_LIBC_VERSION___209 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___209 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___209 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___209 = 5,
    _CS_LFS_CFLAGS___209 = 1000,
    _CS_LFS_LDFLAGS___209 = 1001,
    _CS_LFS_LIBS___209 = 1002,
    _CS_LFS_LINTFLAGS___209 = 1003,
    _CS_LFS64_CFLAGS___209 = 1004,
    _CS_LFS64_LDFLAGS___209 = 1005,
    _CS_LFS64_LIBS___209 = 1006,
    _CS_LFS64_LINTFLAGS___209 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___209 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___209 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___209 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___209 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___209 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___209 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___209 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___209 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___209 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___209 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___209 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___209 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___209 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___209 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___209 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___209 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___209 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___209 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___209 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___209 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___209 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___209 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___209 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___209 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___209 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___209 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___209 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___209 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___209 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___209 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___209 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___209 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___209 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___209 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___209 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___209 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___209 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___209 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___209 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___209 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___209 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___209 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___209 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___209 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___209 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___209 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___209 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___209 = 1147,
    _CS_V6_ENV___209 = 1148,
    _CS_V7_ENV___209 = 1149
} ;
enum __anonenum_513775621___209 {
    DT_UNKNOWN___209 = 0,
    DT_FIFO___209 = 1,
    DT_CHR___209 = 2,
    DT_DIR___209 = 4,
    DT_BLK___209 = 6,
    DT_REG___209 = 8,
    DT_LNK___209 = 10,
    DT_SOCK___209 = 12,
    DT_WHT___209 = 14
} ;
enum __anonenum_77002343___209 {
    SI_ASYNCNL___209 = -60,
    SI_TKILL___209 = -6,
    SI_SIGIO___209 = -5,
    SI_ASYNCIO___209 = -4,
    SI_MESGQ___209 = -3,
    SI_TIMER___209 = -2,
    SI_QUEUE___209 = -1,
    SI_USER___209 = 0,
    SI_KERNEL___209 = 128
} ;
enum __anonenum_131038172___209 {
    ILL_ILLOPC___209 = 1,
    ILL_ILLOPN___209 = 2,
    ILL_ILLADR___209 = 3,
    ILL_ILLTRP___209 = 4,
    ILL_PRVOPC___209 = 5,
    ILL_PRVREG___209 = 6,
    ILL_COPROC___209 = 7,
    ILL_BADSTK___209 = 8
} ;
enum __anonenum_452038093___209 {
    FPE_INTDIV___209 = 1,
    FPE_INTOVF___209 = 2,
    FPE_FLTDIV___209 = 3,
    FPE_FLTOVF___209 = 4,
    FPE_FLTUND___209 = 5,
    FPE_FLTRES___209 = 6,
    FPE_FLTINV___209 = 7,
    FPE_FLTSUB___209 = 8
} ;
enum __anonenum_30976155___209 {
    SEGV_MAPERR___209 = 1,
    SEGV_ACCERR___209 = 2,
    SEGV_BNDERR___209 = 3,
    SEGV_PKUERR___209 = 4
} ;
enum __anonenum_1036286214___209 {
    BUS_ADRALN___209 = 1,
    BUS_ADRERR___209 = 2,
    BUS_OBJERR___209 = 3,
    BUS_MCEERR_AR___209 = 4,
    BUS_MCEERR_AO___209 = 5
} ;
enum __anonenum_493465559___209 {
    TRAP_BRKPT___209 = 1,
    TRAP_TRACE___209 = 2
} ;
enum __anonenum_23175539___209 {
    CLD_EXITED___209 = 1,
    CLD_KILLED___209 = 2,
    CLD_DUMPED___209 = 3,
    CLD_TRAPPED___209 = 4,
    CLD_STOPPED___209 = 5,
    CLD_CONTINUED___209 = 6
} ;
enum __anonenum_111643124___209 {
    POLL_IN___209 = 1,
    POLL_OUT___209 = 2,
    POLL_MSG___209 = 3,
    POLL_ERR___209 = 4,
    POLL_PRI___209 = 5,
    POLL_HUP___209 = 6
} ;
enum __anonenum_852341087___209 {
    SIGEV_SIGNAL___209 = 0,
    SIGEV_NONE___209 = 1,
    SIGEV_THREAD___209 = 2,
    SIGEV_THREAD_ID___209 = 4
} ;
enum __anonenum_451154152___209 {
    REG_R8___209 = 0,
    REG_R9___209 = 1,
    REG_R10___209 = 2,
    REG_R11___209 = 3,
    REG_R12___209 = 4,
    REG_R13___209 = 5,
    REG_R14___209 = 6,
    REG_R15___209 = 7,
    REG_RDI___209 = 8,
    REG_RSI___209 = 9,
    REG_RBP___209 = 10,
    REG_RBX___209 = 11,
    REG_RDX___209 = 12,
    REG_RAX___209 = 13,
    REG_RCX___209 = 14,
    REG_RSP___209 = 15,
    REG_RIP___209 = 16,
    REG_EFL___209 = 17,
    REG_CSGSFS___209 = 18,
    REG_ERR___209 = 19,
    REG_TRAPNO___209 = 20,
    REG_OLDMASK___209 = 21,
    REG_CR2___209 = 22
} ;
enum __anonenum_57186863___209 {
    SS_ONSTACK___209 = 1,
    SS_DISABLE___209 = 2
} ;
enum __anonenum_83571709___209 {
    MSG_OOB___209 = 1,
    MSG_PEEK___209 = 2,
    MSG_DONTROUTE___209 = 4,
    MSG_TRYHARD___209 = 4,
    MSG_CTRUNC___209 = 8,
    MSG_PROXY___209 = 16,
    MSG_TRUNC___209 = 32,
    MSG_DONTWAIT___209 = 64,
    MSG_EOR___209 = 128,
    MSG_WAITALL___209 = 256,
    MSG_FIN___209 = 512,
    MSG_SYN___209 = 1024,
    MSG_CONFIRM___209 = 2048,
    MSG_RST___209 = 4096,
    MSG_ERRQUEUE___209 = 8192,
    MSG_NOSIGNAL___209 = 16384,
    MSG_MORE___209 = 32768,
    MSG_WAITFORONE___209 = 65536,
    MSG_BATCH___209 = 262144,
    MSG_ZEROCOPY___209 = 67108864,
    MSG_FASTOPEN___209 = 536870912,
    MSG_CMSG_CLOEXEC___209 = 1073741824
} ;
enum __anonenum_617082774___209 {
    SCM_RIGHTS___209 = 1,
    SCM_CREDENTIALS___209 = 2
} ;
enum __anonenum_606441560___209 {
    SHUT_RD___209 = 0,
    SHUT_WR___209 = 1,
    SHUT_RDWR___209 = 2
} ;
enum __anonenum_681669233___209 {
    IPPROTO_IP___209 = 0,
    IPPROTO_ICMP___209 = 1,
    IPPROTO_IGMP___209 = 2,
    IPPROTO_IPIP___209 = 4,
    IPPROTO_TCP___209 = 6,
    IPPROTO_EGP___209 = 8,
    IPPROTO_PUP___209 = 12,
    IPPROTO_UDP___209 = 17,
    IPPROTO_IDP___209 = 22,
    IPPROTO_TP___209 = 29,
    IPPROTO_DCCP___209 = 33,
    IPPROTO_IPV6___209 = 41,
    IPPROTO_RSVP___209 = 46,
    IPPROTO_GRE___209 = 47,
    IPPROTO_ESP___209 = 50,
    IPPROTO_AH___209 = 51,
    IPPROTO_MTP___209 = 92,
    IPPROTO_BEETPH___209 = 94,
    IPPROTO_ENCAP___209 = 98,
    IPPROTO_PIM___209 = 103,
    IPPROTO_COMP___209 = 108,
    IPPROTO_SCTP___209 = 132,
    IPPROTO_UDPLITE___209 = 136,
    IPPROTO_MPLS___209 = 137,
    IPPROTO_RAW___209 = 255,
    IPPROTO_MAX___209 = 256
} ;
enum __anonenum_218739988___209 {
    IPPROTO_HOPOPTS___209 = 0,
    IPPROTO_ROUTING___209 = 43,
    IPPROTO_FRAGMENT___209 = 44,
    IPPROTO_ICMPV6___209 = 58,
    IPPROTO_NONE___209 = 59,
    IPPROTO_DSTOPTS___209 = 60,
    IPPROTO_MH___209 = 135
} ;
enum __anonenum_662268580___209 {
    IPPORT_ECHO___209 = 7,
    IPPORT_DISCARD___209 = 9,
    IPPORT_SYSTAT___209 = 11,
    IPPORT_DAYTIME___209 = 13,
    IPPORT_NETSTAT___209 = 15,
    IPPORT_FTP___209 = 21,
    IPPORT_TELNET___209 = 23,
    IPPORT_SMTP___209 = 25,
    IPPORT_TIMESERVER___209 = 37,
    IPPORT_NAMESERVER___209 = 42,
    IPPORT_WHOIS___209 = 43,
    IPPORT_MTP___209 = 57,
    IPPORT_TFTP___209 = 69,
    IPPORT_RJE___209 = 77,
    IPPORT_FINGER___209 = 79,
    IPPORT_TTYLINK___209 = 87,
    IPPORT_SUPDUP___209 = 95,
    IPPORT_EXECSERVER___209 = 512,
    IPPORT_LOGINSERVER___209 = 513,
    IPPORT_CMDSERVER___209 = 514,
    IPPORT_EFSSERVER___209 = 520,
    IPPORT_BIFFUDP___209 = 512,
    IPPORT_WHOSERVER___209 = 513,
    IPPORT_ROUTESERVER___209 = 520,
    IPPORT_RESERVED___209 = 1024,
    IPPORT_USERRESERVED___209 = 5000
} ;
enum __anonenum_788308992___209 {
    TCP_ESTABLISHED___209 = 1,
    TCP_SYN_SENT___209 = 2,
    TCP_SYN_RECV___209 = 3,
    TCP_FIN_WAIT1___209 = 4,
    TCP_FIN_WAIT2___209 = 5,
    TCP_TIME_WAIT___209 = 6,
    TCP_CLOSE___209 = 7,
    TCP_CLOSE_WAIT___209 = 8,
    TCP_LAST_ACK___209 = 9,
    TCP_LISTEN___209 = 10,
    TCP_CLOSING___209 = 11
} ;
enum __anonenum_221125648___209 {
    TCP_NO_QUEUE___209 = 0,
    TCP_RECV_QUEUE___209 = 1,
    TCP_SEND_QUEUE___209 = 2,
    TCP_QUEUES_NR___209 = 3
} ;
enum __anonenum_34415463___209 {
    PTHREAD_CREATE_JOINABLE___209 = 0,
    PTHREAD_CREATE_DETACHED___209 = 1
} ;
enum __anonenum_303612439___209 {
    PTHREAD_MUTEX_TIMED_NP___209 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___209 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___209 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___209 = 3,
    PTHREAD_MUTEX_NORMAL___209 = 0,
    PTHREAD_MUTEX_RECURSIVE___209 = 1,
    PTHREAD_MUTEX_ERRORCHECK___209 = 2,
    PTHREAD_MUTEX_DEFAULT___209 = 0,
    PTHREAD_MUTEX_FAST_NP___209 = 0
} ;
enum __anonenum_931900394___209 {
    PTHREAD_MUTEX_STALLED___209 = 0,
    PTHREAD_MUTEX_STALLED_NP___209 = 0,
    PTHREAD_MUTEX_ROBUST___209 = 1,
    PTHREAD_MUTEX_ROBUST_NP___209 = 1
} ;
enum __anonenum_205214487___209 {
    PTHREAD_PRIO_NONE___209 = 0,
    PTHREAD_PRIO_INHERIT___209 = 1,
    PTHREAD_PRIO_PROTECT___209 = 2
} ;
enum __anonenum_25043950___209 {
    PTHREAD_RWLOCK_PREFER_READER_NP___209 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___209 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___209 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___209 = 0
} ;
enum __anonenum_436439511___209 {
    PTHREAD_INHERIT_SCHED___209 = 0,
    PTHREAD_EXPLICIT_SCHED___209 = 1
} ;
enum __anonenum_998661166___209 {
    PTHREAD_SCOPE_SYSTEM___209 = 0,
    PTHREAD_SCOPE_PROCESS___209 = 1
} ;
enum __anonenum_146137331___209 {
    PTHREAD_PROCESS_PRIVATE___209 = 0,
    PTHREAD_PROCESS_SHARED___209 = 1
} ;
enum __anonenum_53396917___209 {
    PTHREAD_CANCEL_ENABLE___209 = 0,
    PTHREAD_CANCEL_DISABLE___209 = 1
} ;
enum __anonenum_904563783___209 {
    PTHREAD_CANCEL_DEFERRED___209 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___209 = 1
} ;
enum __anonenum_672052974___209 {
    SSL_CT_VALIDATION_PERMISSIVE___209 = 0,
    SSL_CT_VALIDATION_STRICT___209 = 1
} ;
enum __anonenum_34023289___19 {
    REMOTE_UNCONFIGURED___19 = 0,
    REMOTE_CONFIG___19 = 1,
    REMOTE_REMOTES___19 = 2,
    REMOTE_BRANCHES___19 = 3
} ;
struct walker {
   void *data ;
   int (*fetch_ref)(struct walker * , struct ref *ref ) ;
   void (*prefetch)(struct walker * , unsigned char *sha1 ) ;
   int (*fetch)(struct walker * , unsigned char *sha1 ) ;
   void (*cleanup)(struct walker * ) ;
   int get_verbosely ;
   int get_progress ;
   int get_recover ;
   int corrupt_object_found ;
};
enum __anonenum_561748495___13 {
    RECURSE_SUBMODULES_ONLY___13 = -5,
    RECURSE_SUBMODULES_CHECK___13 = -4,
    RECURSE_SUBMODULES_ERROR___13 = -3,
    RECURSE_SUBMODULES_NONE___13 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___13 = -1,
    RECURSE_SUBMODULES_OFF___13 = 0,
    RECURSE_SUBMODULES_DEFAULT___13 = 1,
    RECURSE_SUBMODULES_ON___13 = 2
} ;
enum color_transport {
    TRANSPORT_COLOR_RESET = 0,
    TRANSPORT_COLOR_REJECTED = 1
} ;
struct bundle_transport_data {
   int fd ;
   struct bundle_header header ;
   unsigned int get_refs_from_bundle_called : 1 ;
};
struct git_transport_data {
   struct git_transport_options options ;
   struct child_process *conn ;
   int fd[2] ;
   unsigned int got_remote_heads : 1 ;
   enum protocol_version version ;
   struct oid_array extra_have ;
   struct oid_array shallow ;
};
enum protocol_allow_config {
    PROTOCOL_ALLOW_NEVER = 0,
    PROTOCOL_ALLOW_USER_ONLY = 1,
    PROTOCOL_ALLOW_ALWAYS = 2
} ;
enum __anonenum_437032235___210 {
    _PC_LINK_MAX___210 = 0,
    _PC_MAX_CANON___210 = 1,
    _PC_MAX_INPUT___210 = 2,
    _PC_NAME_MAX___210 = 3,
    _PC_PATH_MAX___210 = 4,
    _PC_PIPE_BUF___210 = 5,
    _PC_CHOWN_RESTRICTED___210 = 6,
    _PC_NO_TRUNC___210 = 7,
    _PC_VDISABLE___210 = 8,
    _PC_SYNC_IO___210 = 9,
    _PC_ASYNC_IO___210 = 10,
    _PC_PRIO_IO___210 = 11,
    _PC_SOCK_MAXBUF___210 = 12,
    _PC_FILESIZEBITS___210 = 13,
    _PC_REC_INCR_XFER_SIZE___210 = 14,
    _PC_REC_MAX_XFER_SIZE___210 = 15,
    _PC_REC_MIN_XFER_SIZE___210 = 16,
    _PC_REC_XFER_ALIGN___210 = 17,
    _PC_ALLOC_SIZE_MIN___210 = 18,
    _PC_SYMLINK_MAX___210 = 19,
    _PC_2_SYMLINKS___210 = 20
} ;
enum __anonenum_315186338___210 {
    _SC_ARG_MAX___210 = 0,
    _SC_CHILD_MAX___210 = 1,
    _SC_CLK_TCK___210 = 2,
    _SC_NGROUPS_MAX___210 = 3,
    _SC_OPEN_MAX___210 = 4,
    _SC_STREAM_MAX___210 = 5,
    _SC_TZNAME_MAX___210 = 6,
    _SC_JOB_CONTROL___210 = 7,
    _SC_SAVED_IDS___210 = 8,
    _SC_REALTIME_SIGNALS___210 = 9,
    _SC_PRIORITY_SCHEDULING___210 = 10,
    _SC_TIMERS___210 = 11,
    _SC_ASYNCHRONOUS_IO___210 = 12,
    _SC_PRIORITIZED_IO___210 = 13,
    _SC_SYNCHRONIZED_IO___210 = 14,
    _SC_FSYNC___210 = 15,
    _SC_MAPPED_FILES___210 = 16,
    _SC_MEMLOCK___210 = 17,
    _SC_MEMLOCK_RANGE___210 = 18,
    _SC_MEMORY_PROTECTION___210 = 19,
    _SC_MESSAGE_PASSING___210 = 20,
    _SC_SEMAPHORES___210 = 21,
    _SC_SHARED_MEMORY_OBJECTS___210 = 22,
    _SC_AIO_LISTIO_MAX___210 = 23,
    _SC_AIO_MAX___210 = 24,
    _SC_AIO_PRIO_DELTA_MAX___210 = 25,
    _SC_DELAYTIMER_MAX___210 = 26,
    _SC_MQ_OPEN_MAX___210 = 27,
    _SC_MQ_PRIO_MAX___210 = 28,
    _SC_VERSION___210 = 29,
    _SC_PAGESIZE___210 = 30,
    _SC_RTSIG_MAX___210 = 31,
    _SC_SEM_NSEMS_MAX___210 = 32,
    _SC_SEM_VALUE_MAX___210 = 33,
    _SC_SIGQUEUE_MAX___210 = 34,
    _SC_TIMER_MAX___210 = 35,
    _SC_BC_BASE_MAX___210 = 36,
    _SC_BC_DIM_MAX___210 = 37,
    _SC_BC_SCALE_MAX___210 = 38,
    _SC_BC_STRING_MAX___210 = 39,
    _SC_COLL_WEIGHTS_MAX___210 = 40,
    _SC_EQUIV_CLASS_MAX___210 = 41,
    _SC_EXPR_NEST_MAX___210 = 42,
    _SC_LINE_MAX___210 = 43,
    _SC_RE_DUP_MAX___210 = 44,
    _SC_CHARCLASS_NAME_MAX___210 = 45,
    _SC_2_VERSION___210 = 46,
    _SC_2_C_BIND___210 = 47,
    _SC_2_C_DEV___210 = 48,
    _SC_2_FORT_DEV___210 = 49,
    _SC_2_FORT_RUN___210 = 50,
    _SC_2_SW_DEV___210 = 51,
    _SC_2_LOCALEDEF___210 = 52,
    _SC_PII___210 = 53,
    _SC_PII_XTI___210 = 54,
    _SC_PII_SOCKET___210 = 55,
    _SC_PII_INTERNET___210 = 56,
    _SC_PII_OSI___210 = 57,
    _SC_POLL___210 = 58,
    _SC_SELECT___210 = 59,
    _SC_UIO_MAXIOV___210 = 60,
    _SC_IOV_MAX___210 = 60,
    _SC_PII_INTERNET_STREAM___210 = 61,
    _SC_PII_INTERNET_DGRAM___210 = 62,
    _SC_PII_OSI_COTS___210 = 63,
    _SC_PII_OSI_CLTS___210 = 64,
    _SC_PII_OSI_M___210 = 65,
    _SC_T_IOV_MAX___210 = 66,
    _SC_THREADS___210 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___210 = 68,
    _SC_GETGR_R_SIZE_MAX___210 = 69,
    _SC_GETPW_R_SIZE_MAX___210 = 70,
    _SC_LOGIN_NAME_MAX___210 = 71,
    _SC_TTY_NAME_MAX___210 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___210 = 73,
    _SC_THREAD_KEYS_MAX___210 = 74,
    _SC_THREAD_STACK_MIN___210 = 75,
    _SC_THREAD_THREADS_MAX___210 = 76,
    _SC_THREAD_ATTR_STACKADDR___210 = 77,
    _SC_THREAD_ATTR_STACKSIZE___210 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___210 = 79,
    _SC_THREAD_PRIO_INHERIT___210 = 80,
    _SC_THREAD_PRIO_PROTECT___210 = 81,
    _SC_THREAD_PROCESS_SHARED___210 = 82,
    _SC_NPROCESSORS_CONF___210 = 83,
    _SC_NPROCESSORS_ONLN___210 = 84,
    _SC_PHYS_PAGES___210 = 85,
    _SC_AVPHYS_PAGES___210 = 86,
    _SC_ATEXIT_MAX___210 = 87,
    _SC_PASS_MAX___210 = 88,
    _SC_XOPEN_VERSION___210 = 89,
    _SC_XOPEN_XCU_VERSION___210 = 90,
    _SC_XOPEN_UNIX___210 = 91,
    _SC_XOPEN_CRYPT___210 = 92,
    _SC_XOPEN_ENH_I18N___210 = 93,
    _SC_XOPEN_SHM___210 = 94,
    _SC_2_CHAR_TERM___210 = 95,
    _SC_2_C_VERSION___210 = 96,
    _SC_2_UPE___210 = 97,
    _SC_XOPEN_XPG2___210 = 98,
    _SC_XOPEN_XPG3___210 = 99,
    _SC_XOPEN_XPG4___210 = 100,
    _SC_CHAR_BIT___210 = 101,
    _SC_CHAR_MAX___210 = 102,
    _SC_CHAR_MIN___210 = 103,
    _SC_INT_MAX___210 = 104,
    _SC_INT_MIN___210 = 105,
    _SC_LONG_BIT___210 = 106,
    _SC_WORD_BIT___210 = 107,
    _SC_MB_LEN_MAX___210 = 108,
    _SC_NZERO___210 = 109,
    _SC_SSIZE_MAX___210 = 110,
    _SC_SCHAR_MAX___210 = 111,
    _SC_SCHAR_MIN___210 = 112,
    _SC_SHRT_MAX___210 = 113,
    _SC_SHRT_MIN___210 = 114,
    _SC_UCHAR_MAX___210 = 115,
    _SC_UINT_MAX___210 = 116,
    _SC_ULONG_MAX___210 = 117,
    _SC_USHRT_MAX___210 = 118,
    _SC_NL_ARGMAX___210 = 119,
    _SC_NL_LANGMAX___210 = 120,
    _SC_NL_MSGMAX___210 = 121,
    _SC_NL_NMAX___210 = 122,
    _SC_NL_SETMAX___210 = 123,
    _SC_NL_TEXTMAX___210 = 124,
    _SC_XBS5_ILP32_OFF32___210 = 125,
    _SC_XBS5_ILP32_OFFBIG___210 = 126,
    _SC_XBS5_LP64_OFF64___210 = 127,
    _SC_XBS5_LPBIG_OFFBIG___210 = 128,
    _SC_XOPEN_LEGACY___210 = 129,
    _SC_XOPEN_REALTIME___210 = 130,
    _SC_XOPEN_REALTIME_THREADS___210 = 131,
    _SC_ADVISORY_INFO___210 = 132,
    _SC_BARRIERS___210 = 133,
    _SC_BASE___210 = 134,
    _SC_C_LANG_SUPPORT___210 = 135,
    _SC_C_LANG_SUPPORT_R___210 = 136,
    _SC_CLOCK_SELECTION___210 = 137,
    _SC_CPUTIME___210 = 138,
    _SC_THREAD_CPUTIME___210 = 139,
    _SC_DEVICE_IO___210 = 140,
    _SC_DEVICE_SPECIFIC___210 = 141,
    _SC_DEVICE_SPECIFIC_R___210 = 142,
    _SC_FD_MGMT___210 = 143,
    _SC_FIFO___210 = 144,
    _SC_PIPE___210 = 145,
    _SC_FILE_ATTRIBUTES___210 = 146,
    _SC_FILE_LOCKING___210 = 147,
    _SC_FILE_SYSTEM___210 = 148,
    _SC_MONOTONIC_CLOCK___210 = 149,
    _SC_MULTI_PROCESS___210 = 150,
    _SC_SINGLE_PROCESS___210 = 151,
    _SC_NETWORKING___210 = 152,
    _SC_READER_WRITER_LOCKS___210 = 153,
    _SC_SPIN_LOCKS___210 = 154,
    _SC_REGEXP___210 = 155,
    _SC_REGEX_VERSION___210 = 156,
    _SC_SHELL___210 = 157,
    _SC_SIGNALS___210 = 158,
    _SC_SPAWN___210 = 159,
    _SC_SPORADIC_SERVER___210 = 160,
    _SC_THREAD_SPORADIC_SERVER___210 = 161,
    _SC_SYSTEM_DATABASE___210 = 162,
    _SC_SYSTEM_DATABASE_R___210 = 163,
    _SC_TIMEOUTS___210 = 164,
    _SC_TYPED_MEMORY_OBJECTS___210 = 165,
    _SC_USER_GROUPS___210 = 166,
    _SC_USER_GROUPS_R___210 = 167,
    _SC_2_PBS___210 = 168,
    _SC_2_PBS_ACCOUNTING___210 = 169,
    _SC_2_PBS_LOCATE___210 = 170,
    _SC_2_PBS_MESSAGE___210 = 171,
    _SC_2_PBS_TRACK___210 = 172,
    _SC_SYMLOOP_MAX___210 = 173,
    _SC_STREAMS___210 = 174,
    _SC_2_PBS_CHECKPOINT___210 = 175,
    _SC_V6_ILP32_OFF32___210 = 176,
    _SC_V6_ILP32_OFFBIG___210 = 177,
    _SC_V6_LP64_OFF64___210 = 178,
    _SC_V6_LPBIG_OFFBIG___210 = 179,
    _SC_HOST_NAME_MAX___210 = 180,
    _SC_TRACE___210 = 181,
    _SC_TRACE_EVENT_FILTER___210 = 182,
    _SC_TRACE_INHERIT___210 = 183,
    _SC_TRACE_LOG___210 = 184,
    _SC_LEVEL1_ICACHE_SIZE___210 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___210 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___210 = 187,
    _SC_LEVEL1_DCACHE_SIZE___210 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___210 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___210 = 190,
    _SC_LEVEL2_CACHE_SIZE___210 = 191,
    _SC_LEVEL2_CACHE_ASSOC___210 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___210 = 193,
    _SC_LEVEL3_CACHE_SIZE___210 = 194,
    _SC_LEVEL3_CACHE_ASSOC___210 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___210 = 196,
    _SC_LEVEL4_CACHE_SIZE___210 = 197,
    _SC_LEVEL4_CACHE_ASSOC___210 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___210 = 199,
    _SC_IPV6___210 = 235,
    _SC_RAW_SOCKETS___210 = 236,
    _SC_V7_ILP32_OFF32___210 = 237,
    _SC_V7_ILP32_OFFBIG___210 = 238,
    _SC_V7_LP64_OFF64___210 = 239,
    _SC_V7_LPBIG_OFFBIG___210 = 240,
    _SC_SS_REPL_MAX___210 = 241,
    _SC_TRACE_EVENT_NAME_MAX___210 = 242,
    _SC_TRACE_NAME_MAX___210 = 243,
    _SC_TRACE_SYS_MAX___210 = 244,
    _SC_TRACE_USER_EVENT_MAX___210 = 245,
    _SC_XOPEN_STREAMS___210 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___210 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___210 = 248
} ;
enum __anonenum_875524036___210 {
    _CS_PATH___210 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___210 = 1,
    _CS_GNU_LIBC_VERSION___210 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___210 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___210 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___210 = 5,
    _CS_LFS_CFLAGS___210 = 1000,
    _CS_LFS_LDFLAGS___210 = 1001,
    _CS_LFS_LIBS___210 = 1002,
    _CS_LFS_LINTFLAGS___210 = 1003,
    _CS_LFS64_CFLAGS___210 = 1004,
    _CS_LFS64_LDFLAGS___210 = 1005,
    _CS_LFS64_LIBS___210 = 1006,
    _CS_LFS64_LINTFLAGS___210 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___210 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___210 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___210 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___210 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___210 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___210 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___210 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___210 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___210 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___210 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___210 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___210 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___210 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___210 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___210 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___210 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___210 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___210 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___210 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___210 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___210 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___210 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___210 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___210 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___210 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___210 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___210 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___210 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___210 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___210 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___210 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___210 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___210 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___210 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___210 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___210 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___210 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___210 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___210 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___210 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___210 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___210 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___210 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___210 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___210 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___210 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___210 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___210 = 1147,
    _CS_V6_ENV___210 = 1148,
    _CS_V7_ENV___210 = 1149
} ;
enum __anonenum_513775621___210 {
    DT_UNKNOWN___210 = 0,
    DT_FIFO___210 = 1,
    DT_CHR___210 = 2,
    DT_DIR___210 = 4,
    DT_BLK___210 = 6,
    DT_REG___210 = 8,
    DT_LNK___210 = 10,
    DT_SOCK___210 = 12,
    DT_WHT___210 = 14
} ;
enum __anonenum_77002343___210 {
    SI_ASYNCNL___210 = -60,
    SI_TKILL___210 = -6,
    SI_SIGIO___210 = -5,
    SI_ASYNCIO___210 = -4,
    SI_MESGQ___210 = -3,
    SI_TIMER___210 = -2,
    SI_QUEUE___210 = -1,
    SI_USER___210 = 0,
    SI_KERNEL___210 = 128
} ;
enum __anonenum_131038172___210 {
    ILL_ILLOPC___210 = 1,
    ILL_ILLOPN___210 = 2,
    ILL_ILLADR___210 = 3,
    ILL_ILLTRP___210 = 4,
    ILL_PRVOPC___210 = 5,
    ILL_PRVREG___210 = 6,
    ILL_COPROC___210 = 7,
    ILL_BADSTK___210 = 8
} ;
enum __anonenum_452038093___210 {
    FPE_INTDIV___210 = 1,
    FPE_INTOVF___210 = 2,
    FPE_FLTDIV___210 = 3,
    FPE_FLTOVF___210 = 4,
    FPE_FLTUND___210 = 5,
    FPE_FLTRES___210 = 6,
    FPE_FLTINV___210 = 7,
    FPE_FLTSUB___210 = 8
} ;
enum __anonenum_30976155___210 {
    SEGV_MAPERR___210 = 1,
    SEGV_ACCERR___210 = 2,
    SEGV_BNDERR___210 = 3,
    SEGV_PKUERR___210 = 4
} ;
enum __anonenum_1036286214___210 {
    BUS_ADRALN___210 = 1,
    BUS_ADRERR___210 = 2,
    BUS_OBJERR___210 = 3,
    BUS_MCEERR_AR___210 = 4,
    BUS_MCEERR_AO___210 = 5
} ;
enum __anonenum_493465559___210 {
    TRAP_BRKPT___210 = 1,
    TRAP_TRACE___210 = 2
} ;
enum __anonenum_23175539___210 {
    CLD_EXITED___210 = 1,
    CLD_KILLED___210 = 2,
    CLD_DUMPED___210 = 3,
    CLD_TRAPPED___210 = 4,
    CLD_STOPPED___210 = 5,
    CLD_CONTINUED___210 = 6
} ;
enum __anonenum_111643124___210 {
    POLL_IN___210 = 1,
    POLL_OUT___210 = 2,
    POLL_MSG___210 = 3,
    POLL_ERR___210 = 4,
    POLL_PRI___210 = 5,
    POLL_HUP___210 = 6
} ;
enum __anonenum_852341087___210 {
    SIGEV_SIGNAL___210 = 0,
    SIGEV_NONE___210 = 1,
    SIGEV_THREAD___210 = 2,
    SIGEV_THREAD_ID___210 = 4
} ;
enum __anonenum_451154152___210 {
    REG_R8___210 = 0,
    REG_R9___210 = 1,
    REG_R10___210 = 2,
    REG_R11___210 = 3,
    REG_R12___210 = 4,
    REG_R13___210 = 5,
    REG_R14___210 = 6,
    REG_R15___210 = 7,
    REG_RDI___210 = 8,
    REG_RSI___210 = 9,
    REG_RBP___210 = 10,
    REG_RBX___210 = 11,
    REG_RDX___210 = 12,
    REG_RAX___210 = 13,
    REG_RCX___210 = 14,
    REG_RSP___210 = 15,
    REG_RIP___210 = 16,
    REG_EFL___210 = 17,
    REG_CSGSFS___210 = 18,
    REG_ERR___210 = 19,
    REG_TRAPNO___210 = 20,
    REG_OLDMASK___210 = 21,
    REG_CR2___210 = 22
} ;
enum __anonenum_57186863___210 {
    SS_ONSTACK___210 = 1,
    SS_DISABLE___210 = 2
} ;
enum __anonenum_83571709___210 {
    MSG_OOB___210 = 1,
    MSG_PEEK___210 = 2,
    MSG_DONTROUTE___210 = 4,
    MSG_TRYHARD___210 = 4,
    MSG_CTRUNC___210 = 8,
    MSG_PROXY___210 = 16,
    MSG_TRUNC___210 = 32,
    MSG_DONTWAIT___210 = 64,
    MSG_EOR___210 = 128,
    MSG_WAITALL___210 = 256,
    MSG_FIN___210 = 512,
    MSG_SYN___210 = 1024,
    MSG_CONFIRM___210 = 2048,
    MSG_RST___210 = 4096,
    MSG_ERRQUEUE___210 = 8192,
    MSG_NOSIGNAL___210 = 16384,
    MSG_MORE___210 = 32768,
    MSG_WAITFORONE___210 = 65536,
    MSG_BATCH___210 = 262144,
    MSG_ZEROCOPY___210 = 67108864,
    MSG_FASTOPEN___210 = 536870912,
    MSG_CMSG_CLOEXEC___210 = 1073741824
} ;
enum __anonenum_617082774___210 {
    SCM_RIGHTS___210 = 1,
    SCM_CREDENTIALS___210 = 2
} ;
enum __anonenum_606441560___210 {
    SHUT_RD___210 = 0,
    SHUT_WR___210 = 1,
    SHUT_RDWR___210 = 2
} ;
enum __anonenum_681669233___210 {
    IPPROTO_IP___210 = 0,
    IPPROTO_ICMP___210 = 1,
    IPPROTO_IGMP___210 = 2,
    IPPROTO_IPIP___210 = 4,
    IPPROTO_TCP___210 = 6,
    IPPROTO_EGP___210 = 8,
    IPPROTO_PUP___210 = 12,
    IPPROTO_UDP___210 = 17,
    IPPROTO_IDP___210 = 22,
    IPPROTO_TP___210 = 29,
    IPPROTO_DCCP___210 = 33,
    IPPROTO_IPV6___210 = 41,
    IPPROTO_RSVP___210 = 46,
    IPPROTO_GRE___210 = 47,
    IPPROTO_ESP___210 = 50,
    IPPROTO_AH___210 = 51,
    IPPROTO_MTP___210 = 92,
    IPPROTO_BEETPH___210 = 94,
    IPPROTO_ENCAP___210 = 98,
    IPPROTO_PIM___210 = 103,
    IPPROTO_COMP___210 = 108,
    IPPROTO_SCTP___210 = 132,
    IPPROTO_UDPLITE___210 = 136,
    IPPROTO_MPLS___210 = 137,
    IPPROTO_RAW___210 = 255,
    IPPROTO_MAX___210 = 256
} ;
enum __anonenum_218739988___210 {
    IPPROTO_HOPOPTS___210 = 0,
    IPPROTO_ROUTING___210 = 43,
    IPPROTO_FRAGMENT___210 = 44,
    IPPROTO_ICMPV6___210 = 58,
    IPPROTO_NONE___210 = 59,
    IPPROTO_DSTOPTS___210 = 60,
    IPPROTO_MH___210 = 135
} ;
enum __anonenum_662268580___210 {
    IPPORT_ECHO___210 = 7,
    IPPORT_DISCARD___210 = 9,
    IPPORT_SYSTAT___210 = 11,
    IPPORT_DAYTIME___210 = 13,
    IPPORT_NETSTAT___210 = 15,
    IPPORT_FTP___210 = 21,
    IPPORT_TELNET___210 = 23,
    IPPORT_SMTP___210 = 25,
    IPPORT_TIMESERVER___210 = 37,
    IPPORT_NAMESERVER___210 = 42,
    IPPORT_WHOIS___210 = 43,
    IPPORT_MTP___210 = 57,
    IPPORT_TFTP___210 = 69,
    IPPORT_RJE___210 = 77,
    IPPORT_FINGER___210 = 79,
    IPPORT_TTYLINK___210 = 87,
    IPPORT_SUPDUP___210 = 95,
    IPPORT_EXECSERVER___210 = 512,
    IPPORT_LOGINSERVER___210 = 513,
    IPPORT_CMDSERVER___210 = 514,
    IPPORT_EFSSERVER___210 = 520,
    IPPORT_BIFFUDP___210 = 512,
    IPPORT_WHOSERVER___210 = 513,
    IPPORT_ROUTESERVER___210 = 520,
    IPPORT_RESERVED___210 = 1024,
    IPPORT_USERRESERVED___210 = 5000
} ;
enum __anonenum_788308992___210 {
    TCP_ESTABLISHED___210 = 1,
    TCP_SYN_SENT___210 = 2,
    TCP_SYN_RECV___210 = 3,
    TCP_FIN_WAIT1___210 = 4,
    TCP_FIN_WAIT2___210 = 5,
    TCP_TIME_WAIT___210 = 6,
    TCP_CLOSE___210 = 7,
    TCP_CLOSE_WAIT___210 = 8,
    TCP_LAST_ACK___210 = 9,
    TCP_LISTEN___210 = 10,
    TCP_CLOSING___210 = 11
} ;
enum __anonenum_221125648___210 {
    TCP_NO_QUEUE___210 = 0,
    TCP_RECV_QUEUE___210 = 1,
    TCP_SEND_QUEUE___210 = 2,
    TCP_QUEUES_NR___210 = 3
} ;
enum __anonenum_34415463___210 {
    PTHREAD_CREATE_JOINABLE___210 = 0,
    PTHREAD_CREATE_DETACHED___210 = 1
} ;
enum __anonenum_303612439___210 {
    PTHREAD_MUTEX_TIMED_NP___210 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___210 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___210 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___210 = 3,
    PTHREAD_MUTEX_NORMAL___210 = 0,
    PTHREAD_MUTEX_RECURSIVE___210 = 1,
    PTHREAD_MUTEX_ERRORCHECK___210 = 2,
    PTHREAD_MUTEX_DEFAULT___210 = 0,
    PTHREAD_MUTEX_FAST_NP___210 = 0
} ;
enum __anonenum_931900394___210 {
    PTHREAD_MUTEX_STALLED___210 = 0,
    PTHREAD_MUTEX_STALLED_NP___210 = 0,
    PTHREAD_MUTEX_ROBUST___210 = 1,
    PTHREAD_MUTEX_ROBUST_NP___210 = 1
} ;
enum __anonenum_205214487___210 {
    PTHREAD_PRIO_NONE___210 = 0,
    PTHREAD_PRIO_INHERIT___210 = 1,
    PTHREAD_PRIO_PROTECT___210 = 2
} ;
enum __anonenum_25043950___210 {
    PTHREAD_RWLOCK_PREFER_READER_NP___210 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___210 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___210 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___210 = 0
} ;
enum __anonenum_436439511___210 {
    PTHREAD_INHERIT_SCHED___210 = 0,
    PTHREAD_EXPLICIT_SCHED___210 = 1
} ;
enum __anonenum_998661166___210 {
    PTHREAD_SCOPE_SYSTEM___210 = 0,
    PTHREAD_SCOPE_PROCESS___210 = 1
} ;
enum __anonenum_146137331___210 {
    PTHREAD_PROCESS_PRIVATE___210 = 0,
    PTHREAD_PROCESS_SHARED___210 = 1
} ;
enum __anonenum_53396917___210 {
    PTHREAD_CANCEL_ENABLE___210 = 0,
    PTHREAD_CANCEL_DISABLE___210 = 1
} ;
enum __anonenum_904563783___210 {
    PTHREAD_CANCEL_DEFERRED___210 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___210 = 1
} ;
enum __anonenum_672052974___210 {
    SSL_CT_VALIDATION_PERMISSIVE___210 = 0,
    SSL_CT_VALIDATION_STRICT___210 = 1
} ;
enum __anonenum_437032235___211 {
    _PC_LINK_MAX___211 = 0,
    _PC_MAX_CANON___211 = 1,
    _PC_MAX_INPUT___211 = 2,
    _PC_NAME_MAX___211 = 3,
    _PC_PATH_MAX___211 = 4,
    _PC_PIPE_BUF___211 = 5,
    _PC_CHOWN_RESTRICTED___211 = 6,
    _PC_NO_TRUNC___211 = 7,
    _PC_VDISABLE___211 = 8,
    _PC_SYNC_IO___211 = 9,
    _PC_ASYNC_IO___211 = 10,
    _PC_PRIO_IO___211 = 11,
    _PC_SOCK_MAXBUF___211 = 12,
    _PC_FILESIZEBITS___211 = 13,
    _PC_REC_INCR_XFER_SIZE___211 = 14,
    _PC_REC_MAX_XFER_SIZE___211 = 15,
    _PC_REC_MIN_XFER_SIZE___211 = 16,
    _PC_REC_XFER_ALIGN___211 = 17,
    _PC_ALLOC_SIZE_MIN___211 = 18,
    _PC_SYMLINK_MAX___211 = 19,
    _PC_2_SYMLINKS___211 = 20
} ;
enum __anonenum_315186338___211 {
    _SC_ARG_MAX___211 = 0,
    _SC_CHILD_MAX___211 = 1,
    _SC_CLK_TCK___211 = 2,
    _SC_NGROUPS_MAX___211 = 3,
    _SC_OPEN_MAX___211 = 4,
    _SC_STREAM_MAX___211 = 5,
    _SC_TZNAME_MAX___211 = 6,
    _SC_JOB_CONTROL___211 = 7,
    _SC_SAVED_IDS___211 = 8,
    _SC_REALTIME_SIGNALS___211 = 9,
    _SC_PRIORITY_SCHEDULING___211 = 10,
    _SC_TIMERS___211 = 11,
    _SC_ASYNCHRONOUS_IO___211 = 12,
    _SC_PRIORITIZED_IO___211 = 13,
    _SC_SYNCHRONIZED_IO___211 = 14,
    _SC_FSYNC___211 = 15,
    _SC_MAPPED_FILES___211 = 16,
    _SC_MEMLOCK___211 = 17,
    _SC_MEMLOCK_RANGE___211 = 18,
    _SC_MEMORY_PROTECTION___211 = 19,
    _SC_MESSAGE_PASSING___211 = 20,
    _SC_SEMAPHORES___211 = 21,
    _SC_SHARED_MEMORY_OBJECTS___211 = 22,
    _SC_AIO_LISTIO_MAX___211 = 23,
    _SC_AIO_MAX___211 = 24,
    _SC_AIO_PRIO_DELTA_MAX___211 = 25,
    _SC_DELAYTIMER_MAX___211 = 26,
    _SC_MQ_OPEN_MAX___211 = 27,
    _SC_MQ_PRIO_MAX___211 = 28,
    _SC_VERSION___211 = 29,
    _SC_PAGESIZE___211 = 30,
    _SC_RTSIG_MAX___211 = 31,
    _SC_SEM_NSEMS_MAX___211 = 32,
    _SC_SEM_VALUE_MAX___211 = 33,
    _SC_SIGQUEUE_MAX___211 = 34,
    _SC_TIMER_MAX___211 = 35,
    _SC_BC_BASE_MAX___211 = 36,
    _SC_BC_DIM_MAX___211 = 37,
    _SC_BC_SCALE_MAX___211 = 38,
    _SC_BC_STRING_MAX___211 = 39,
    _SC_COLL_WEIGHTS_MAX___211 = 40,
    _SC_EQUIV_CLASS_MAX___211 = 41,
    _SC_EXPR_NEST_MAX___211 = 42,
    _SC_LINE_MAX___211 = 43,
    _SC_RE_DUP_MAX___211 = 44,
    _SC_CHARCLASS_NAME_MAX___211 = 45,
    _SC_2_VERSION___211 = 46,
    _SC_2_C_BIND___211 = 47,
    _SC_2_C_DEV___211 = 48,
    _SC_2_FORT_DEV___211 = 49,
    _SC_2_FORT_RUN___211 = 50,
    _SC_2_SW_DEV___211 = 51,
    _SC_2_LOCALEDEF___211 = 52,
    _SC_PII___211 = 53,
    _SC_PII_XTI___211 = 54,
    _SC_PII_SOCKET___211 = 55,
    _SC_PII_INTERNET___211 = 56,
    _SC_PII_OSI___211 = 57,
    _SC_POLL___211 = 58,
    _SC_SELECT___211 = 59,
    _SC_UIO_MAXIOV___211 = 60,
    _SC_IOV_MAX___211 = 60,
    _SC_PII_INTERNET_STREAM___211 = 61,
    _SC_PII_INTERNET_DGRAM___211 = 62,
    _SC_PII_OSI_COTS___211 = 63,
    _SC_PII_OSI_CLTS___211 = 64,
    _SC_PII_OSI_M___211 = 65,
    _SC_T_IOV_MAX___211 = 66,
    _SC_THREADS___211 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___211 = 68,
    _SC_GETGR_R_SIZE_MAX___211 = 69,
    _SC_GETPW_R_SIZE_MAX___211 = 70,
    _SC_LOGIN_NAME_MAX___211 = 71,
    _SC_TTY_NAME_MAX___211 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___211 = 73,
    _SC_THREAD_KEYS_MAX___211 = 74,
    _SC_THREAD_STACK_MIN___211 = 75,
    _SC_THREAD_THREADS_MAX___211 = 76,
    _SC_THREAD_ATTR_STACKADDR___211 = 77,
    _SC_THREAD_ATTR_STACKSIZE___211 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___211 = 79,
    _SC_THREAD_PRIO_INHERIT___211 = 80,
    _SC_THREAD_PRIO_PROTECT___211 = 81,
    _SC_THREAD_PROCESS_SHARED___211 = 82,
    _SC_NPROCESSORS_CONF___211 = 83,
    _SC_NPROCESSORS_ONLN___211 = 84,
    _SC_PHYS_PAGES___211 = 85,
    _SC_AVPHYS_PAGES___211 = 86,
    _SC_ATEXIT_MAX___211 = 87,
    _SC_PASS_MAX___211 = 88,
    _SC_XOPEN_VERSION___211 = 89,
    _SC_XOPEN_XCU_VERSION___211 = 90,
    _SC_XOPEN_UNIX___211 = 91,
    _SC_XOPEN_CRYPT___211 = 92,
    _SC_XOPEN_ENH_I18N___211 = 93,
    _SC_XOPEN_SHM___211 = 94,
    _SC_2_CHAR_TERM___211 = 95,
    _SC_2_C_VERSION___211 = 96,
    _SC_2_UPE___211 = 97,
    _SC_XOPEN_XPG2___211 = 98,
    _SC_XOPEN_XPG3___211 = 99,
    _SC_XOPEN_XPG4___211 = 100,
    _SC_CHAR_BIT___211 = 101,
    _SC_CHAR_MAX___211 = 102,
    _SC_CHAR_MIN___211 = 103,
    _SC_INT_MAX___211 = 104,
    _SC_INT_MIN___211 = 105,
    _SC_LONG_BIT___211 = 106,
    _SC_WORD_BIT___211 = 107,
    _SC_MB_LEN_MAX___211 = 108,
    _SC_NZERO___211 = 109,
    _SC_SSIZE_MAX___211 = 110,
    _SC_SCHAR_MAX___211 = 111,
    _SC_SCHAR_MIN___211 = 112,
    _SC_SHRT_MAX___211 = 113,
    _SC_SHRT_MIN___211 = 114,
    _SC_UCHAR_MAX___211 = 115,
    _SC_UINT_MAX___211 = 116,
    _SC_ULONG_MAX___211 = 117,
    _SC_USHRT_MAX___211 = 118,
    _SC_NL_ARGMAX___211 = 119,
    _SC_NL_LANGMAX___211 = 120,
    _SC_NL_MSGMAX___211 = 121,
    _SC_NL_NMAX___211 = 122,
    _SC_NL_SETMAX___211 = 123,
    _SC_NL_TEXTMAX___211 = 124,
    _SC_XBS5_ILP32_OFF32___211 = 125,
    _SC_XBS5_ILP32_OFFBIG___211 = 126,
    _SC_XBS5_LP64_OFF64___211 = 127,
    _SC_XBS5_LPBIG_OFFBIG___211 = 128,
    _SC_XOPEN_LEGACY___211 = 129,
    _SC_XOPEN_REALTIME___211 = 130,
    _SC_XOPEN_REALTIME_THREADS___211 = 131,
    _SC_ADVISORY_INFO___211 = 132,
    _SC_BARRIERS___211 = 133,
    _SC_BASE___211 = 134,
    _SC_C_LANG_SUPPORT___211 = 135,
    _SC_C_LANG_SUPPORT_R___211 = 136,
    _SC_CLOCK_SELECTION___211 = 137,
    _SC_CPUTIME___211 = 138,
    _SC_THREAD_CPUTIME___211 = 139,
    _SC_DEVICE_IO___211 = 140,
    _SC_DEVICE_SPECIFIC___211 = 141,
    _SC_DEVICE_SPECIFIC_R___211 = 142,
    _SC_FD_MGMT___211 = 143,
    _SC_FIFO___211 = 144,
    _SC_PIPE___211 = 145,
    _SC_FILE_ATTRIBUTES___211 = 146,
    _SC_FILE_LOCKING___211 = 147,
    _SC_FILE_SYSTEM___211 = 148,
    _SC_MONOTONIC_CLOCK___211 = 149,
    _SC_MULTI_PROCESS___211 = 150,
    _SC_SINGLE_PROCESS___211 = 151,
    _SC_NETWORKING___211 = 152,
    _SC_READER_WRITER_LOCKS___211 = 153,
    _SC_SPIN_LOCKS___211 = 154,
    _SC_REGEXP___211 = 155,
    _SC_REGEX_VERSION___211 = 156,
    _SC_SHELL___211 = 157,
    _SC_SIGNALS___211 = 158,
    _SC_SPAWN___211 = 159,
    _SC_SPORADIC_SERVER___211 = 160,
    _SC_THREAD_SPORADIC_SERVER___211 = 161,
    _SC_SYSTEM_DATABASE___211 = 162,
    _SC_SYSTEM_DATABASE_R___211 = 163,
    _SC_TIMEOUTS___211 = 164,
    _SC_TYPED_MEMORY_OBJECTS___211 = 165,
    _SC_USER_GROUPS___211 = 166,
    _SC_USER_GROUPS_R___211 = 167,
    _SC_2_PBS___211 = 168,
    _SC_2_PBS_ACCOUNTING___211 = 169,
    _SC_2_PBS_LOCATE___211 = 170,
    _SC_2_PBS_MESSAGE___211 = 171,
    _SC_2_PBS_TRACK___211 = 172,
    _SC_SYMLOOP_MAX___211 = 173,
    _SC_STREAMS___211 = 174,
    _SC_2_PBS_CHECKPOINT___211 = 175,
    _SC_V6_ILP32_OFF32___211 = 176,
    _SC_V6_ILP32_OFFBIG___211 = 177,
    _SC_V6_LP64_OFF64___211 = 178,
    _SC_V6_LPBIG_OFFBIG___211 = 179,
    _SC_HOST_NAME_MAX___211 = 180,
    _SC_TRACE___211 = 181,
    _SC_TRACE_EVENT_FILTER___211 = 182,
    _SC_TRACE_INHERIT___211 = 183,
    _SC_TRACE_LOG___211 = 184,
    _SC_LEVEL1_ICACHE_SIZE___211 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___211 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___211 = 187,
    _SC_LEVEL1_DCACHE_SIZE___211 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___211 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___211 = 190,
    _SC_LEVEL2_CACHE_SIZE___211 = 191,
    _SC_LEVEL2_CACHE_ASSOC___211 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___211 = 193,
    _SC_LEVEL3_CACHE_SIZE___211 = 194,
    _SC_LEVEL3_CACHE_ASSOC___211 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___211 = 196,
    _SC_LEVEL4_CACHE_SIZE___211 = 197,
    _SC_LEVEL4_CACHE_ASSOC___211 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___211 = 199,
    _SC_IPV6___211 = 235,
    _SC_RAW_SOCKETS___211 = 236,
    _SC_V7_ILP32_OFF32___211 = 237,
    _SC_V7_ILP32_OFFBIG___211 = 238,
    _SC_V7_LP64_OFF64___211 = 239,
    _SC_V7_LPBIG_OFFBIG___211 = 240,
    _SC_SS_REPL_MAX___211 = 241,
    _SC_TRACE_EVENT_NAME_MAX___211 = 242,
    _SC_TRACE_NAME_MAX___211 = 243,
    _SC_TRACE_SYS_MAX___211 = 244,
    _SC_TRACE_USER_EVENT_MAX___211 = 245,
    _SC_XOPEN_STREAMS___211 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___211 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___211 = 248
} ;
enum __anonenum_875524036___211 {
    _CS_PATH___211 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___211 = 1,
    _CS_GNU_LIBC_VERSION___211 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___211 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___211 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___211 = 5,
    _CS_LFS_CFLAGS___211 = 1000,
    _CS_LFS_LDFLAGS___211 = 1001,
    _CS_LFS_LIBS___211 = 1002,
    _CS_LFS_LINTFLAGS___211 = 1003,
    _CS_LFS64_CFLAGS___211 = 1004,
    _CS_LFS64_LDFLAGS___211 = 1005,
    _CS_LFS64_LIBS___211 = 1006,
    _CS_LFS64_LINTFLAGS___211 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___211 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___211 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___211 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___211 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___211 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___211 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___211 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___211 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___211 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___211 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___211 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___211 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___211 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___211 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___211 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___211 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___211 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___211 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___211 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___211 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___211 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___211 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___211 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___211 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___211 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___211 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___211 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___211 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___211 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___211 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___211 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___211 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___211 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___211 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___211 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___211 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___211 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___211 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___211 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___211 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___211 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___211 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___211 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___211 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___211 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___211 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___211 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___211 = 1147,
    _CS_V6_ENV___211 = 1148,
    _CS_V7_ENV___211 = 1149
} ;
enum __anonenum_513775621___211 {
    DT_UNKNOWN___211 = 0,
    DT_FIFO___211 = 1,
    DT_CHR___211 = 2,
    DT_DIR___211 = 4,
    DT_BLK___211 = 6,
    DT_REG___211 = 8,
    DT_LNK___211 = 10,
    DT_SOCK___211 = 12,
    DT_WHT___211 = 14
} ;
enum __anonenum_77002343___211 {
    SI_ASYNCNL___211 = -60,
    SI_TKILL___211 = -6,
    SI_SIGIO___211 = -5,
    SI_ASYNCIO___211 = -4,
    SI_MESGQ___211 = -3,
    SI_TIMER___211 = -2,
    SI_QUEUE___211 = -1,
    SI_USER___211 = 0,
    SI_KERNEL___211 = 128
} ;
enum __anonenum_131038172___211 {
    ILL_ILLOPC___211 = 1,
    ILL_ILLOPN___211 = 2,
    ILL_ILLADR___211 = 3,
    ILL_ILLTRP___211 = 4,
    ILL_PRVOPC___211 = 5,
    ILL_PRVREG___211 = 6,
    ILL_COPROC___211 = 7,
    ILL_BADSTK___211 = 8
} ;
enum __anonenum_452038093___211 {
    FPE_INTDIV___211 = 1,
    FPE_INTOVF___211 = 2,
    FPE_FLTDIV___211 = 3,
    FPE_FLTOVF___211 = 4,
    FPE_FLTUND___211 = 5,
    FPE_FLTRES___211 = 6,
    FPE_FLTINV___211 = 7,
    FPE_FLTSUB___211 = 8
} ;
enum __anonenum_30976155___211 {
    SEGV_MAPERR___211 = 1,
    SEGV_ACCERR___211 = 2,
    SEGV_BNDERR___211 = 3,
    SEGV_PKUERR___211 = 4
} ;
enum __anonenum_1036286214___211 {
    BUS_ADRALN___211 = 1,
    BUS_ADRERR___211 = 2,
    BUS_OBJERR___211 = 3,
    BUS_MCEERR_AR___211 = 4,
    BUS_MCEERR_AO___211 = 5
} ;
enum __anonenum_493465559___211 {
    TRAP_BRKPT___211 = 1,
    TRAP_TRACE___211 = 2
} ;
enum __anonenum_23175539___211 {
    CLD_EXITED___211 = 1,
    CLD_KILLED___211 = 2,
    CLD_DUMPED___211 = 3,
    CLD_TRAPPED___211 = 4,
    CLD_STOPPED___211 = 5,
    CLD_CONTINUED___211 = 6
} ;
enum __anonenum_111643124___211 {
    POLL_IN___211 = 1,
    POLL_OUT___211 = 2,
    POLL_MSG___211 = 3,
    POLL_ERR___211 = 4,
    POLL_PRI___211 = 5,
    POLL_HUP___211 = 6
} ;
enum __anonenum_852341087___211 {
    SIGEV_SIGNAL___211 = 0,
    SIGEV_NONE___211 = 1,
    SIGEV_THREAD___211 = 2,
    SIGEV_THREAD_ID___211 = 4
} ;
enum __anonenum_451154152___211 {
    REG_R8___211 = 0,
    REG_R9___211 = 1,
    REG_R10___211 = 2,
    REG_R11___211 = 3,
    REG_R12___211 = 4,
    REG_R13___211 = 5,
    REG_R14___211 = 6,
    REG_R15___211 = 7,
    REG_RDI___211 = 8,
    REG_RSI___211 = 9,
    REG_RBP___211 = 10,
    REG_RBX___211 = 11,
    REG_RDX___211 = 12,
    REG_RAX___211 = 13,
    REG_RCX___211 = 14,
    REG_RSP___211 = 15,
    REG_RIP___211 = 16,
    REG_EFL___211 = 17,
    REG_CSGSFS___211 = 18,
    REG_ERR___211 = 19,
    REG_TRAPNO___211 = 20,
    REG_OLDMASK___211 = 21,
    REG_CR2___211 = 22
} ;
enum __anonenum_57186863___211 {
    SS_ONSTACK___211 = 1,
    SS_DISABLE___211 = 2
} ;
enum __anonenum_83571709___211 {
    MSG_OOB___211 = 1,
    MSG_PEEK___211 = 2,
    MSG_DONTROUTE___211 = 4,
    MSG_TRYHARD___211 = 4,
    MSG_CTRUNC___211 = 8,
    MSG_PROXY___211 = 16,
    MSG_TRUNC___211 = 32,
    MSG_DONTWAIT___211 = 64,
    MSG_EOR___211 = 128,
    MSG_WAITALL___211 = 256,
    MSG_FIN___211 = 512,
    MSG_SYN___211 = 1024,
    MSG_CONFIRM___211 = 2048,
    MSG_RST___211 = 4096,
    MSG_ERRQUEUE___211 = 8192,
    MSG_NOSIGNAL___211 = 16384,
    MSG_MORE___211 = 32768,
    MSG_WAITFORONE___211 = 65536,
    MSG_BATCH___211 = 262144,
    MSG_ZEROCOPY___211 = 67108864,
    MSG_FASTOPEN___211 = 536870912,
    MSG_CMSG_CLOEXEC___211 = 1073741824
} ;
enum __anonenum_617082774___211 {
    SCM_RIGHTS___211 = 1,
    SCM_CREDENTIALS___211 = 2
} ;
enum __anonenum_606441560___211 {
    SHUT_RD___211 = 0,
    SHUT_WR___211 = 1,
    SHUT_RDWR___211 = 2
} ;
enum __anonenum_681669233___211 {
    IPPROTO_IP___211 = 0,
    IPPROTO_ICMP___211 = 1,
    IPPROTO_IGMP___211 = 2,
    IPPROTO_IPIP___211 = 4,
    IPPROTO_TCP___211 = 6,
    IPPROTO_EGP___211 = 8,
    IPPROTO_PUP___211 = 12,
    IPPROTO_UDP___211 = 17,
    IPPROTO_IDP___211 = 22,
    IPPROTO_TP___211 = 29,
    IPPROTO_DCCP___211 = 33,
    IPPROTO_IPV6___211 = 41,
    IPPROTO_RSVP___211 = 46,
    IPPROTO_GRE___211 = 47,
    IPPROTO_ESP___211 = 50,
    IPPROTO_AH___211 = 51,
    IPPROTO_MTP___211 = 92,
    IPPROTO_BEETPH___211 = 94,
    IPPROTO_ENCAP___211 = 98,
    IPPROTO_PIM___211 = 103,
    IPPROTO_COMP___211 = 108,
    IPPROTO_SCTP___211 = 132,
    IPPROTO_UDPLITE___211 = 136,
    IPPROTO_MPLS___211 = 137,
    IPPROTO_RAW___211 = 255,
    IPPROTO_MAX___211 = 256
} ;
enum __anonenum_218739988___211 {
    IPPROTO_HOPOPTS___211 = 0,
    IPPROTO_ROUTING___211 = 43,
    IPPROTO_FRAGMENT___211 = 44,
    IPPROTO_ICMPV6___211 = 58,
    IPPROTO_NONE___211 = 59,
    IPPROTO_DSTOPTS___211 = 60,
    IPPROTO_MH___211 = 135
} ;
enum __anonenum_662268580___211 {
    IPPORT_ECHO___211 = 7,
    IPPORT_DISCARD___211 = 9,
    IPPORT_SYSTAT___211 = 11,
    IPPORT_DAYTIME___211 = 13,
    IPPORT_NETSTAT___211 = 15,
    IPPORT_FTP___211 = 21,
    IPPORT_TELNET___211 = 23,
    IPPORT_SMTP___211 = 25,
    IPPORT_TIMESERVER___211 = 37,
    IPPORT_NAMESERVER___211 = 42,
    IPPORT_WHOIS___211 = 43,
    IPPORT_MTP___211 = 57,
    IPPORT_TFTP___211 = 69,
    IPPORT_RJE___211 = 77,
    IPPORT_FINGER___211 = 79,
    IPPORT_TTYLINK___211 = 87,
    IPPORT_SUPDUP___211 = 95,
    IPPORT_EXECSERVER___211 = 512,
    IPPORT_LOGINSERVER___211 = 513,
    IPPORT_CMDSERVER___211 = 514,
    IPPORT_EFSSERVER___211 = 520,
    IPPORT_BIFFUDP___211 = 512,
    IPPORT_WHOSERVER___211 = 513,
    IPPORT_ROUTESERVER___211 = 520,
    IPPORT_RESERVED___211 = 1024,
    IPPORT_USERRESERVED___211 = 5000
} ;
enum __anonenum_788308992___211 {
    TCP_ESTABLISHED___211 = 1,
    TCP_SYN_SENT___211 = 2,
    TCP_SYN_RECV___211 = 3,
    TCP_FIN_WAIT1___211 = 4,
    TCP_FIN_WAIT2___211 = 5,
    TCP_TIME_WAIT___211 = 6,
    TCP_CLOSE___211 = 7,
    TCP_CLOSE_WAIT___211 = 8,
    TCP_LAST_ACK___211 = 9,
    TCP_LISTEN___211 = 10,
    TCP_CLOSING___211 = 11
} ;
enum __anonenum_221125648___211 {
    TCP_NO_QUEUE___211 = 0,
    TCP_RECV_QUEUE___211 = 1,
    TCP_SEND_QUEUE___211 = 2,
    TCP_QUEUES_NR___211 = 3
} ;
enum __anonenum_34415463___211 {
    PTHREAD_CREATE_JOINABLE___211 = 0,
    PTHREAD_CREATE_DETACHED___211 = 1
} ;
enum __anonenum_303612439___211 {
    PTHREAD_MUTEX_TIMED_NP___211 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___211 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___211 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___211 = 3,
    PTHREAD_MUTEX_NORMAL___211 = 0,
    PTHREAD_MUTEX_RECURSIVE___211 = 1,
    PTHREAD_MUTEX_ERRORCHECK___211 = 2,
    PTHREAD_MUTEX_DEFAULT___211 = 0,
    PTHREAD_MUTEX_FAST_NP___211 = 0
} ;
enum __anonenum_931900394___211 {
    PTHREAD_MUTEX_STALLED___211 = 0,
    PTHREAD_MUTEX_STALLED_NP___211 = 0,
    PTHREAD_MUTEX_ROBUST___211 = 1,
    PTHREAD_MUTEX_ROBUST_NP___211 = 1
} ;
enum __anonenum_205214487___211 {
    PTHREAD_PRIO_NONE___211 = 0,
    PTHREAD_PRIO_INHERIT___211 = 1,
    PTHREAD_PRIO_PROTECT___211 = 2
} ;
enum __anonenum_25043950___211 {
    PTHREAD_RWLOCK_PREFER_READER_NP___211 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___211 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___211 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___211 = 0
} ;
enum __anonenum_436439511___211 {
    PTHREAD_INHERIT_SCHED___211 = 0,
    PTHREAD_EXPLICIT_SCHED___211 = 1
} ;
enum __anonenum_998661166___211 {
    PTHREAD_SCOPE_SYSTEM___211 = 0,
    PTHREAD_SCOPE_PROCESS___211 = 1
} ;
enum __anonenum_146137331___211 {
    PTHREAD_PROCESS_PRIVATE___211 = 0,
    PTHREAD_PROCESS_SHARED___211 = 1
} ;
enum __anonenum_53396917___211 {
    PTHREAD_CANCEL_ENABLE___211 = 0,
    PTHREAD_CANCEL_DISABLE___211 = 1
} ;
enum __anonenum_904563783___211 {
    PTHREAD_CANCEL_DEFERRED___211 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___211 = 1
} ;
enum __anonenum_672052974___211 {
    SSL_CT_VALIDATION_PERMISSIVE___211 = 0,
    SSL_CT_VALIDATION_STRICT___211 = 1
} ;
struct tree_desc_skip {
   struct tree_desc_skip *prev ;
   void const   *ptr ;
};
struct tree_desc_x {
   struct tree_desc d ;
   struct tree_desc_skip *skip ;
};
struct dir_state {
   void *tree ;
   unsigned long size ;
   struct object_id oid ;
};
enum __anonenum_437032235___212 {
    _PC_LINK_MAX___212 = 0,
    _PC_MAX_CANON___212 = 1,
    _PC_MAX_INPUT___212 = 2,
    _PC_NAME_MAX___212 = 3,
    _PC_PATH_MAX___212 = 4,
    _PC_PIPE_BUF___212 = 5,
    _PC_CHOWN_RESTRICTED___212 = 6,
    _PC_NO_TRUNC___212 = 7,
    _PC_VDISABLE___212 = 8,
    _PC_SYNC_IO___212 = 9,
    _PC_ASYNC_IO___212 = 10,
    _PC_PRIO_IO___212 = 11,
    _PC_SOCK_MAXBUF___212 = 12,
    _PC_FILESIZEBITS___212 = 13,
    _PC_REC_INCR_XFER_SIZE___212 = 14,
    _PC_REC_MAX_XFER_SIZE___212 = 15,
    _PC_REC_MIN_XFER_SIZE___212 = 16,
    _PC_REC_XFER_ALIGN___212 = 17,
    _PC_ALLOC_SIZE_MIN___212 = 18,
    _PC_SYMLINK_MAX___212 = 19,
    _PC_2_SYMLINKS___212 = 20
} ;
enum __anonenum_315186338___212 {
    _SC_ARG_MAX___212 = 0,
    _SC_CHILD_MAX___212 = 1,
    _SC_CLK_TCK___212 = 2,
    _SC_NGROUPS_MAX___212 = 3,
    _SC_OPEN_MAX___212 = 4,
    _SC_STREAM_MAX___212 = 5,
    _SC_TZNAME_MAX___212 = 6,
    _SC_JOB_CONTROL___212 = 7,
    _SC_SAVED_IDS___212 = 8,
    _SC_REALTIME_SIGNALS___212 = 9,
    _SC_PRIORITY_SCHEDULING___212 = 10,
    _SC_TIMERS___212 = 11,
    _SC_ASYNCHRONOUS_IO___212 = 12,
    _SC_PRIORITIZED_IO___212 = 13,
    _SC_SYNCHRONIZED_IO___212 = 14,
    _SC_FSYNC___212 = 15,
    _SC_MAPPED_FILES___212 = 16,
    _SC_MEMLOCK___212 = 17,
    _SC_MEMLOCK_RANGE___212 = 18,
    _SC_MEMORY_PROTECTION___212 = 19,
    _SC_MESSAGE_PASSING___212 = 20,
    _SC_SEMAPHORES___212 = 21,
    _SC_SHARED_MEMORY_OBJECTS___212 = 22,
    _SC_AIO_LISTIO_MAX___212 = 23,
    _SC_AIO_MAX___212 = 24,
    _SC_AIO_PRIO_DELTA_MAX___212 = 25,
    _SC_DELAYTIMER_MAX___212 = 26,
    _SC_MQ_OPEN_MAX___212 = 27,
    _SC_MQ_PRIO_MAX___212 = 28,
    _SC_VERSION___212 = 29,
    _SC_PAGESIZE___212 = 30,
    _SC_RTSIG_MAX___212 = 31,
    _SC_SEM_NSEMS_MAX___212 = 32,
    _SC_SEM_VALUE_MAX___212 = 33,
    _SC_SIGQUEUE_MAX___212 = 34,
    _SC_TIMER_MAX___212 = 35,
    _SC_BC_BASE_MAX___212 = 36,
    _SC_BC_DIM_MAX___212 = 37,
    _SC_BC_SCALE_MAX___212 = 38,
    _SC_BC_STRING_MAX___212 = 39,
    _SC_COLL_WEIGHTS_MAX___212 = 40,
    _SC_EQUIV_CLASS_MAX___212 = 41,
    _SC_EXPR_NEST_MAX___212 = 42,
    _SC_LINE_MAX___212 = 43,
    _SC_RE_DUP_MAX___212 = 44,
    _SC_CHARCLASS_NAME_MAX___212 = 45,
    _SC_2_VERSION___212 = 46,
    _SC_2_C_BIND___212 = 47,
    _SC_2_C_DEV___212 = 48,
    _SC_2_FORT_DEV___212 = 49,
    _SC_2_FORT_RUN___212 = 50,
    _SC_2_SW_DEV___212 = 51,
    _SC_2_LOCALEDEF___212 = 52,
    _SC_PII___212 = 53,
    _SC_PII_XTI___212 = 54,
    _SC_PII_SOCKET___212 = 55,
    _SC_PII_INTERNET___212 = 56,
    _SC_PII_OSI___212 = 57,
    _SC_POLL___212 = 58,
    _SC_SELECT___212 = 59,
    _SC_UIO_MAXIOV___212 = 60,
    _SC_IOV_MAX___212 = 60,
    _SC_PII_INTERNET_STREAM___212 = 61,
    _SC_PII_INTERNET_DGRAM___212 = 62,
    _SC_PII_OSI_COTS___212 = 63,
    _SC_PII_OSI_CLTS___212 = 64,
    _SC_PII_OSI_M___212 = 65,
    _SC_T_IOV_MAX___212 = 66,
    _SC_THREADS___212 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___212 = 68,
    _SC_GETGR_R_SIZE_MAX___212 = 69,
    _SC_GETPW_R_SIZE_MAX___212 = 70,
    _SC_LOGIN_NAME_MAX___212 = 71,
    _SC_TTY_NAME_MAX___212 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___212 = 73,
    _SC_THREAD_KEYS_MAX___212 = 74,
    _SC_THREAD_STACK_MIN___212 = 75,
    _SC_THREAD_THREADS_MAX___212 = 76,
    _SC_THREAD_ATTR_STACKADDR___212 = 77,
    _SC_THREAD_ATTR_STACKSIZE___212 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___212 = 79,
    _SC_THREAD_PRIO_INHERIT___212 = 80,
    _SC_THREAD_PRIO_PROTECT___212 = 81,
    _SC_THREAD_PROCESS_SHARED___212 = 82,
    _SC_NPROCESSORS_CONF___212 = 83,
    _SC_NPROCESSORS_ONLN___212 = 84,
    _SC_PHYS_PAGES___212 = 85,
    _SC_AVPHYS_PAGES___212 = 86,
    _SC_ATEXIT_MAX___212 = 87,
    _SC_PASS_MAX___212 = 88,
    _SC_XOPEN_VERSION___212 = 89,
    _SC_XOPEN_XCU_VERSION___212 = 90,
    _SC_XOPEN_UNIX___212 = 91,
    _SC_XOPEN_CRYPT___212 = 92,
    _SC_XOPEN_ENH_I18N___212 = 93,
    _SC_XOPEN_SHM___212 = 94,
    _SC_2_CHAR_TERM___212 = 95,
    _SC_2_C_VERSION___212 = 96,
    _SC_2_UPE___212 = 97,
    _SC_XOPEN_XPG2___212 = 98,
    _SC_XOPEN_XPG3___212 = 99,
    _SC_XOPEN_XPG4___212 = 100,
    _SC_CHAR_BIT___212 = 101,
    _SC_CHAR_MAX___212 = 102,
    _SC_CHAR_MIN___212 = 103,
    _SC_INT_MAX___212 = 104,
    _SC_INT_MIN___212 = 105,
    _SC_LONG_BIT___212 = 106,
    _SC_WORD_BIT___212 = 107,
    _SC_MB_LEN_MAX___212 = 108,
    _SC_NZERO___212 = 109,
    _SC_SSIZE_MAX___212 = 110,
    _SC_SCHAR_MAX___212 = 111,
    _SC_SCHAR_MIN___212 = 112,
    _SC_SHRT_MAX___212 = 113,
    _SC_SHRT_MIN___212 = 114,
    _SC_UCHAR_MAX___212 = 115,
    _SC_UINT_MAX___212 = 116,
    _SC_ULONG_MAX___212 = 117,
    _SC_USHRT_MAX___212 = 118,
    _SC_NL_ARGMAX___212 = 119,
    _SC_NL_LANGMAX___212 = 120,
    _SC_NL_MSGMAX___212 = 121,
    _SC_NL_NMAX___212 = 122,
    _SC_NL_SETMAX___212 = 123,
    _SC_NL_TEXTMAX___212 = 124,
    _SC_XBS5_ILP32_OFF32___212 = 125,
    _SC_XBS5_ILP32_OFFBIG___212 = 126,
    _SC_XBS5_LP64_OFF64___212 = 127,
    _SC_XBS5_LPBIG_OFFBIG___212 = 128,
    _SC_XOPEN_LEGACY___212 = 129,
    _SC_XOPEN_REALTIME___212 = 130,
    _SC_XOPEN_REALTIME_THREADS___212 = 131,
    _SC_ADVISORY_INFO___212 = 132,
    _SC_BARRIERS___212 = 133,
    _SC_BASE___212 = 134,
    _SC_C_LANG_SUPPORT___212 = 135,
    _SC_C_LANG_SUPPORT_R___212 = 136,
    _SC_CLOCK_SELECTION___212 = 137,
    _SC_CPUTIME___212 = 138,
    _SC_THREAD_CPUTIME___212 = 139,
    _SC_DEVICE_IO___212 = 140,
    _SC_DEVICE_SPECIFIC___212 = 141,
    _SC_DEVICE_SPECIFIC_R___212 = 142,
    _SC_FD_MGMT___212 = 143,
    _SC_FIFO___212 = 144,
    _SC_PIPE___212 = 145,
    _SC_FILE_ATTRIBUTES___212 = 146,
    _SC_FILE_LOCKING___212 = 147,
    _SC_FILE_SYSTEM___212 = 148,
    _SC_MONOTONIC_CLOCK___212 = 149,
    _SC_MULTI_PROCESS___212 = 150,
    _SC_SINGLE_PROCESS___212 = 151,
    _SC_NETWORKING___212 = 152,
    _SC_READER_WRITER_LOCKS___212 = 153,
    _SC_SPIN_LOCKS___212 = 154,
    _SC_REGEXP___212 = 155,
    _SC_REGEX_VERSION___212 = 156,
    _SC_SHELL___212 = 157,
    _SC_SIGNALS___212 = 158,
    _SC_SPAWN___212 = 159,
    _SC_SPORADIC_SERVER___212 = 160,
    _SC_THREAD_SPORADIC_SERVER___212 = 161,
    _SC_SYSTEM_DATABASE___212 = 162,
    _SC_SYSTEM_DATABASE_R___212 = 163,
    _SC_TIMEOUTS___212 = 164,
    _SC_TYPED_MEMORY_OBJECTS___212 = 165,
    _SC_USER_GROUPS___212 = 166,
    _SC_USER_GROUPS_R___212 = 167,
    _SC_2_PBS___212 = 168,
    _SC_2_PBS_ACCOUNTING___212 = 169,
    _SC_2_PBS_LOCATE___212 = 170,
    _SC_2_PBS_MESSAGE___212 = 171,
    _SC_2_PBS_TRACK___212 = 172,
    _SC_SYMLOOP_MAX___212 = 173,
    _SC_STREAMS___212 = 174,
    _SC_2_PBS_CHECKPOINT___212 = 175,
    _SC_V6_ILP32_OFF32___212 = 176,
    _SC_V6_ILP32_OFFBIG___212 = 177,
    _SC_V6_LP64_OFF64___212 = 178,
    _SC_V6_LPBIG_OFFBIG___212 = 179,
    _SC_HOST_NAME_MAX___212 = 180,
    _SC_TRACE___212 = 181,
    _SC_TRACE_EVENT_FILTER___212 = 182,
    _SC_TRACE_INHERIT___212 = 183,
    _SC_TRACE_LOG___212 = 184,
    _SC_LEVEL1_ICACHE_SIZE___212 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___212 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___212 = 187,
    _SC_LEVEL1_DCACHE_SIZE___212 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___212 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___212 = 190,
    _SC_LEVEL2_CACHE_SIZE___212 = 191,
    _SC_LEVEL2_CACHE_ASSOC___212 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___212 = 193,
    _SC_LEVEL3_CACHE_SIZE___212 = 194,
    _SC_LEVEL3_CACHE_ASSOC___212 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___212 = 196,
    _SC_LEVEL4_CACHE_SIZE___212 = 197,
    _SC_LEVEL4_CACHE_ASSOC___212 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___212 = 199,
    _SC_IPV6___212 = 235,
    _SC_RAW_SOCKETS___212 = 236,
    _SC_V7_ILP32_OFF32___212 = 237,
    _SC_V7_ILP32_OFFBIG___212 = 238,
    _SC_V7_LP64_OFF64___212 = 239,
    _SC_V7_LPBIG_OFFBIG___212 = 240,
    _SC_SS_REPL_MAX___212 = 241,
    _SC_TRACE_EVENT_NAME_MAX___212 = 242,
    _SC_TRACE_NAME_MAX___212 = 243,
    _SC_TRACE_SYS_MAX___212 = 244,
    _SC_TRACE_USER_EVENT_MAX___212 = 245,
    _SC_XOPEN_STREAMS___212 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___212 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___212 = 248
} ;
enum __anonenum_875524036___212 {
    _CS_PATH___212 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___212 = 1,
    _CS_GNU_LIBC_VERSION___212 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___212 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___212 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___212 = 5,
    _CS_LFS_CFLAGS___212 = 1000,
    _CS_LFS_LDFLAGS___212 = 1001,
    _CS_LFS_LIBS___212 = 1002,
    _CS_LFS_LINTFLAGS___212 = 1003,
    _CS_LFS64_CFLAGS___212 = 1004,
    _CS_LFS64_LDFLAGS___212 = 1005,
    _CS_LFS64_LIBS___212 = 1006,
    _CS_LFS64_LINTFLAGS___212 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___212 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___212 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___212 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___212 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___212 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___212 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___212 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___212 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___212 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___212 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___212 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___212 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___212 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___212 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___212 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___212 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___212 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___212 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___212 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___212 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___212 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___212 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___212 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___212 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___212 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___212 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___212 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___212 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___212 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___212 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___212 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___212 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___212 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___212 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___212 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___212 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___212 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___212 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___212 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___212 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___212 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___212 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___212 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___212 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___212 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___212 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___212 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___212 = 1147,
    _CS_V6_ENV___212 = 1148,
    _CS_V7_ENV___212 = 1149
} ;
enum __anonenum_513775621___212 {
    DT_UNKNOWN___212 = 0,
    DT_FIFO___212 = 1,
    DT_CHR___212 = 2,
    DT_DIR___212 = 4,
    DT_BLK___212 = 6,
    DT_REG___212 = 8,
    DT_LNK___212 = 10,
    DT_SOCK___212 = 12,
    DT_WHT___212 = 14
} ;
enum __anonenum_77002343___212 {
    SI_ASYNCNL___212 = -60,
    SI_TKILL___212 = -6,
    SI_SIGIO___212 = -5,
    SI_ASYNCIO___212 = -4,
    SI_MESGQ___212 = -3,
    SI_TIMER___212 = -2,
    SI_QUEUE___212 = -1,
    SI_USER___212 = 0,
    SI_KERNEL___212 = 128
} ;
enum __anonenum_131038172___212 {
    ILL_ILLOPC___212 = 1,
    ILL_ILLOPN___212 = 2,
    ILL_ILLADR___212 = 3,
    ILL_ILLTRP___212 = 4,
    ILL_PRVOPC___212 = 5,
    ILL_PRVREG___212 = 6,
    ILL_COPROC___212 = 7,
    ILL_BADSTK___212 = 8
} ;
enum __anonenum_452038093___212 {
    FPE_INTDIV___212 = 1,
    FPE_INTOVF___212 = 2,
    FPE_FLTDIV___212 = 3,
    FPE_FLTOVF___212 = 4,
    FPE_FLTUND___212 = 5,
    FPE_FLTRES___212 = 6,
    FPE_FLTINV___212 = 7,
    FPE_FLTSUB___212 = 8
} ;
enum __anonenum_30976155___212 {
    SEGV_MAPERR___212 = 1,
    SEGV_ACCERR___212 = 2,
    SEGV_BNDERR___212 = 3,
    SEGV_PKUERR___212 = 4
} ;
enum __anonenum_1036286214___212 {
    BUS_ADRALN___212 = 1,
    BUS_ADRERR___212 = 2,
    BUS_OBJERR___212 = 3,
    BUS_MCEERR_AR___212 = 4,
    BUS_MCEERR_AO___212 = 5
} ;
enum __anonenum_493465559___212 {
    TRAP_BRKPT___212 = 1,
    TRAP_TRACE___212 = 2
} ;
enum __anonenum_23175539___212 {
    CLD_EXITED___212 = 1,
    CLD_KILLED___212 = 2,
    CLD_DUMPED___212 = 3,
    CLD_TRAPPED___212 = 4,
    CLD_STOPPED___212 = 5,
    CLD_CONTINUED___212 = 6
} ;
enum __anonenum_111643124___212 {
    POLL_IN___212 = 1,
    POLL_OUT___212 = 2,
    POLL_MSG___212 = 3,
    POLL_ERR___212 = 4,
    POLL_PRI___212 = 5,
    POLL_HUP___212 = 6
} ;
enum __anonenum_852341087___212 {
    SIGEV_SIGNAL___212 = 0,
    SIGEV_NONE___212 = 1,
    SIGEV_THREAD___212 = 2,
    SIGEV_THREAD_ID___212 = 4
} ;
enum __anonenum_451154152___212 {
    REG_R8___212 = 0,
    REG_R9___212 = 1,
    REG_R10___212 = 2,
    REG_R11___212 = 3,
    REG_R12___212 = 4,
    REG_R13___212 = 5,
    REG_R14___212 = 6,
    REG_R15___212 = 7,
    REG_RDI___212 = 8,
    REG_RSI___212 = 9,
    REG_RBP___212 = 10,
    REG_RBX___212 = 11,
    REG_RDX___212 = 12,
    REG_RAX___212 = 13,
    REG_RCX___212 = 14,
    REG_RSP___212 = 15,
    REG_RIP___212 = 16,
    REG_EFL___212 = 17,
    REG_CSGSFS___212 = 18,
    REG_ERR___212 = 19,
    REG_TRAPNO___212 = 20,
    REG_OLDMASK___212 = 21,
    REG_CR2___212 = 22
} ;
enum __anonenum_57186863___212 {
    SS_ONSTACK___212 = 1,
    SS_DISABLE___212 = 2
} ;
enum __anonenum_83571709___212 {
    MSG_OOB___212 = 1,
    MSG_PEEK___212 = 2,
    MSG_DONTROUTE___212 = 4,
    MSG_TRYHARD___212 = 4,
    MSG_CTRUNC___212 = 8,
    MSG_PROXY___212 = 16,
    MSG_TRUNC___212 = 32,
    MSG_DONTWAIT___212 = 64,
    MSG_EOR___212 = 128,
    MSG_WAITALL___212 = 256,
    MSG_FIN___212 = 512,
    MSG_SYN___212 = 1024,
    MSG_CONFIRM___212 = 2048,
    MSG_RST___212 = 4096,
    MSG_ERRQUEUE___212 = 8192,
    MSG_NOSIGNAL___212 = 16384,
    MSG_MORE___212 = 32768,
    MSG_WAITFORONE___212 = 65536,
    MSG_BATCH___212 = 262144,
    MSG_ZEROCOPY___212 = 67108864,
    MSG_FASTOPEN___212 = 536870912,
    MSG_CMSG_CLOEXEC___212 = 1073741824
} ;
enum __anonenum_617082774___212 {
    SCM_RIGHTS___212 = 1,
    SCM_CREDENTIALS___212 = 2
} ;
enum __anonenum_606441560___212 {
    SHUT_RD___212 = 0,
    SHUT_WR___212 = 1,
    SHUT_RDWR___212 = 2
} ;
enum __anonenum_681669233___212 {
    IPPROTO_IP___212 = 0,
    IPPROTO_ICMP___212 = 1,
    IPPROTO_IGMP___212 = 2,
    IPPROTO_IPIP___212 = 4,
    IPPROTO_TCP___212 = 6,
    IPPROTO_EGP___212 = 8,
    IPPROTO_PUP___212 = 12,
    IPPROTO_UDP___212 = 17,
    IPPROTO_IDP___212 = 22,
    IPPROTO_TP___212 = 29,
    IPPROTO_DCCP___212 = 33,
    IPPROTO_IPV6___212 = 41,
    IPPROTO_RSVP___212 = 46,
    IPPROTO_GRE___212 = 47,
    IPPROTO_ESP___212 = 50,
    IPPROTO_AH___212 = 51,
    IPPROTO_MTP___212 = 92,
    IPPROTO_BEETPH___212 = 94,
    IPPROTO_ENCAP___212 = 98,
    IPPROTO_PIM___212 = 103,
    IPPROTO_COMP___212 = 108,
    IPPROTO_SCTP___212 = 132,
    IPPROTO_UDPLITE___212 = 136,
    IPPROTO_MPLS___212 = 137,
    IPPROTO_RAW___212 = 255,
    IPPROTO_MAX___212 = 256
} ;
enum __anonenum_218739988___212 {
    IPPROTO_HOPOPTS___212 = 0,
    IPPROTO_ROUTING___212 = 43,
    IPPROTO_FRAGMENT___212 = 44,
    IPPROTO_ICMPV6___212 = 58,
    IPPROTO_NONE___212 = 59,
    IPPROTO_DSTOPTS___212 = 60,
    IPPROTO_MH___212 = 135
} ;
enum __anonenum_662268580___212 {
    IPPORT_ECHO___212 = 7,
    IPPORT_DISCARD___212 = 9,
    IPPORT_SYSTAT___212 = 11,
    IPPORT_DAYTIME___212 = 13,
    IPPORT_NETSTAT___212 = 15,
    IPPORT_FTP___212 = 21,
    IPPORT_TELNET___212 = 23,
    IPPORT_SMTP___212 = 25,
    IPPORT_TIMESERVER___212 = 37,
    IPPORT_NAMESERVER___212 = 42,
    IPPORT_WHOIS___212 = 43,
    IPPORT_MTP___212 = 57,
    IPPORT_TFTP___212 = 69,
    IPPORT_RJE___212 = 77,
    IPPORT_FINGER___212 = 79,
    IPPORT_TTYLINK___212 = 87,
    IPPORT_SUPDUP___212 = 95,
    IPPORT_EXECSERVER___212 = 512,
    IPPORT_LOGINSERVER___212 = 513,
    IPPORT_CMDSERVER___212 = 514,
    IPPORT_EFSSERVER___212 = 520,
    IPPORT_BIFFUDP___212 = 512,
    IPPORT_WHOSERVER___212 = 513,
    IPPORT_ROUTESERVER___212 = 520,
    IPPORT_RESERVED___212 = 1024,
    IPPORT_USERRESERVED___212 = 5000
} ;
enum __anonenum_788308992___212 {
    TCP_ESTABLISHED___212 = 1,
    TCP_SYN_SENT___212 = 2,
    TCP_SYN_RECV___212 = 3,
    TCP_FIN_WAIT1___212 = 4,
    TCP_FIN_WAIT2___212 = 5,
    TCP_TIME_WAIT___212 = 6,
    TCP_CLOSE___212 = 7,
    TCP_CLOSE_WAIT___212 = 8,
    TCP_LAST_ACK___212 = 9,
    TCP_LISTEN___212 = 10,
    TCP_CLOSING___212 = 11
} ;
enum __anonenum_221125648___212 {
    TCP_NO_QUEUE___212 = 0,
    TCP_RECV_QUEUE___212 = 1,
    TCP_SEND_QUEUE___212 = 2,
    TCP_QUEUES_NR___212 = 3
} ;
enum __anonenum_34415463___212 {
    PTHREAD_CREATE_JOINABLE___212 = 0,
    PTHREAD_CREATE_DETACHED___212 = 1
} ;
enum __anonenum_303612439___212 {
    PTHREAD_MUTEX_TIMED_NP___212 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___212 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___212 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___212 = 3,
    PTHREAD_MUTEX_NORMAL___212 = 0,
    PTHREAD_MUTEX_RECURSIVE___212 = 1,
    PTHREAD_MUTEX_ERRORCHECK___212 = 2,
    PTHREAD_MUTEX_DEFAULT___212 = 0,
    PTHREAD_MUTEX_FAST_NP___212 = 0
} ;
enum __anonenum_931900394___212 {
    PTHREAD_MUTEX_STALLED___212 = 0,
    PTHREAD_MUTEX_STALLED_NP___212 = 0,
    PTHREAD_MUTEX_ROBUST___212 = 1,
    PTHREAD_MUTEX_ROBUST_NP___212 = 1
} ;
enum __anonenum_205214487___212 {
    PTHREAD_PRIO_NONE___212 = 0,
    PTHREAD_PRIO_INHERIT___212 = 1,
    PTHREAD_PRIO_PROTECT___212 = 2
} ;
enum __anonenum_25043950___212 {
    PTHREAD_RWLOCK_PREFER_READER_NP___212 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___212 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___212 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___212 = 0
} ;
enum __anonenum_436439511___212 {
    PTHREAD_INHERIT_SCHED___212 = 0,
    PTHREAD_EXPLICIT_SCHED___212 = 1
} ;
enum __anonenum_998661166___212 {
    PTHREAD_SCOPE_SYSTEM___212 = 0,
    PTHREAD_SCOPE_PROCESS___212 = 1
} ;
enum __anonenum_146137331___212 {
    PTHREAD_PROCESS_PRIVATE___212 = 0,
    PTHREAD_PROCESS_SHARED___212 = 1
} ;
enum __anonenum_53396917___212 {
    PTHREAD_CANCEL_ENABLE___212 = 0,
    PTHREAD_CANCEL_DISABLE___212 = 1
} ;
enum __anonenum_904563783___212 {
    PTHREAD_CANCEL_DEFERRED___212 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___212 = 1
} ;
enum __anonenum_672052974___212 {
    SSL_CT_VALIDATION_PERMISSIVE___212 = 0,
    SSL_CT_VALIDATION_STRICT___212 = 1
} ;
enum __anonenum_437032235___213 {
    _PC_LINK_MAX___213 = 0,
    _PC_MAX_CANON___213 = 1,
    _PC_MAX_INPUT___213 = 2,
    _PC_NAME_MAX___213 = 3,
    _PC_PATH_MAX___213 = 4,
    _PC_PIPE_BUF___213 = 5,
    _PC_CHOWN_RESTRICTED___213 = 6,
    _PC_NO_TRUNC___213 = 7,
    _PC_VDISABLE___213 = 8,
    _PC_SYNC_IO___213 = 9,
    _PC_ASYNC_IO___213 = 10,
    _PC_PRIO_IO___213 = 11,
    _PC_SOCK_MAXBUF___213 = 12,
    _PC_FILESIZEBITS___213 = 13,
    _PC_REC_INCR_XFER_SIZE___213 = 14,
    _PC_REC_MAX_XFER_SIZE___213 = 15,
    _PC_REC_MIN_XFER_SIZE___213 = 16,
    _PC_REC_XFER_ALIGN___213 = 17,
    _PC_ALLOC_SIZE_MIN___213 = 18,
    _PC_SYMLINK_MAX___213 = 19,
    _PC_2_SYMLINKS___213 = 20
} ;
enum __anonenum_315186338___213 {
    _SC_ARG_MAX___213 = 0,
    _SC_CHILD_MAX___213 = 1,
    _SC_CLK_TCK___213 = 2,
    _SC_NGROUPS_MAX___213 = 3,
    _SC_OPEN_MAX___213 = 4,
    _SC_STREAM_MAX___213 = 5,
    _SC_TZNAME_MAX___213 = 6,
    _SC_JOB_CONTROL___213 = 7,
    _SC_SAVED_IDS___213 = 8,
    _SC_REALTIME_SIGNALS___213 = 9,
    _SC_PRIORITY_SCHEDULING___213 = 10,
    _SC_TIMERS___213 = 11,
    _SC_ASYNCHRONOUS_IO___213 = 12,
    _SC_PRIORITIZED_IO___213 = 13,
    _SC_SYNCHRONIZED_IO___213 = 14,
    _SC_FSYNC___213 = 15,
    _SC_MAPPED_FILES___213 = 16,
    _SC_MEMLOCK___213 = 17,
    _SC_MEMLOCK_RANGE___213 = 18,
    _SC_MEMORY_PROTECTION___213 = 19,
    _SC_MESSAGE_PASSING___213 = 20,
    _SC_SEMAPHORES___213 = 21,
    _SC_SHARED_MEMORY_OBJECTS___213 = 22,
    _SC_AIO_LISTIO_MAX___213 = 23,
    _SC_AIO_MAX___213 = 24,
    _SC_AIO_PRIO_DELTA_MAX___213 = 25,
    _SC_DELAYTIMER_MAX___213 = 26,
    _SC_MQ_OPEN_MAX___213 = 27,
    _SC_MQ_PRIO_MAX___213 = 28,
    _SC_VERSION___213 = 29,
    _SC_PAGESIZE___213 = 30,
    _SC_RTSIG_MAX___213 = 31,
    _SC_SEM_NSEMS_MAX___213 = 32,
    _SC_SEM_VALUE_MAX___213 = 33,
    _SC_SIGQUEUE_MAX___213 = 34,
    _SC_TIMER_MAX___213 = 35,
    _SC_BC_BASE_MAX___213 = 36,
    _SC_BC_DIM_MAX___213 = 37,
    _SC_BC_SCALE_MAX___213 = 38,
    _SC_BC_STRING_MAX___213 = 39,
    _SC_COLL_WEIGHTS_MAX___213 = 40,
    _SC_EQUIV_CLASS_MAX___213 = 41,
    _SC_EXPR_NEST_MAX___213 = 42,
    _SC_LINE_MAX___213 = 43,
    _SC_RE_DUP_MAX___213 = 44,
    _SC_CHARCLASS_NAME_MAX___213 = 45,
    _SC_2_VERSION___213 = 46,
    _SC_2_C_BIND___213 = 47,
    _SC_2_C_DEV___213 = 48,
    _SC_2_FORT_DEV___213 = 49,
    _SC_2_FORT_RUN___213 = 50,
    _SC_2_SW_DEV___213 = 51,
    _SC_2_LOCALEDEF___213 = 52,
    _SC_PII___213 = 53,
    _SC_PII_XTI___213 = 54,
    _SC_PII_SOCKET___213 = 55,
    _SC_PII_INTERNET___213 = 56,
    _SC_PII_OSI___213 = 57,
    _SC_POLL___213 = 58,
    _SC_SELECT___213 = 59,
    _SC_UIO_MAXIOV___213 = 60,
    _SC_IOV_MAX___213 = 60,
    _SC_PII_INTERNET_STREAM___213 = 61,
    _SC_PII_INTERNET_DGRAM___213 = 62,
    _SC_PII_OSI_COTS___213 = 63,
    _SC_PII_OSI_CLTS___213 = 64,
    _SC_PII_OSI_M___213 = 65,
    _SC_T_IOV_MAX___213 = 66,
    _SC_THREADS___213 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___213 = 68,
    _SC_GETGR_R_SIZE_MAX___213 = 69,
    _SC_GETPW_R_SIZE_MAX___213 = 70,
    _SC_LOGIN_NAME_MAX___213 = 71,
    _SC_TTY_NAME_MAX___213 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___213 = 73,
    _SC_THREAD_KEYS_MAX___213 = 74,
    _SC_THREAD_STACK_MIN___213 = 75,
    _SC_THREAD_THREADS_MAX___213 = 76,
    _SC_THREAD_ATTR_STACKADDR___213 = 77,
    _SC_THREAD_ATTR_STACKSIZE___213 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___213 = 79,
    _SC_THREAD_PRIO_INHERIT___213 = 80,
    _SC_THREAD_PRIO_PROTECT___213 = 81,
    _SC_THREAD_PROCESS_SHARED___213 = 82,
    _SC_NPROCESSORS_CONF___213 = 83,
    _SC_NPROCESSORS_ONLN___213 = 84,
    _SC_PHYS_PAGES___213 = 85,
    _SC_AVPHYS_PAGES___213 = 86,
    _SC_ATEXIT_MAX___213 = 87,
    _SC_PASS_MAX___213 = 88,
    _SC_XOPEN_VERSION___213 = 89,
    _SC_XOPEN_XCU_VERSION___213 = 90,
    _SC_XOPEN_UNIX___213 = 91,
    _SC_XOPEN_CRYPT___213 = 92,
    _SC_XOPEN_ENH_I18N___213 = 93,
    _SC_XOPEN_SHM___213 = 94,
    _SC_2_CHAR_TERM___213 = 95,
    _SC_2_C_VERSION___213 = 96,
    _SC_2_UPE___213 = 97,
    _SC_XOPEN_XPG2___213 = 98,
    _SC_XOPEN_XPG3___213 = 99,
    _SC_XOPEN_XPG4___213 = 100,
    _SC_CHAR_BIT___213 = 101,
    _SC_CHAR_MAX___213 = 102,
    _SC_CHAR_MIN___213 = 103,
    _SC_INT_MAX___213 = 104,
    _SC_INT_MIN___213 = 105,
    _SC_LONG_BIT___213 = 106,
    _SC_WORD_BIT___213 = 107,
    _SC_MB_LEN_MAX___213 = 108,
    _SC_NZERO___213 = 109,
    _SC_SSIZE_MAX___213 = 110,
    _SC_SCHAR_MAX___213 = 111,
    _SC_SCHAR_MIN___213 = 112,
    _SC_SHRT_MAX___213 = 113,
    _SC_SHRT_MIN___213 = 114,
    _SC_UCHAR_MAX___213 = 115,
    _SC_UINT_MAX___213 = 116,
    _SC_ULONG_MAX___213 = 117,
    _SC_USHRT_MAX___213 = 118,
    _SC_NL_ARGMAX___213 = 119,
    _SC_NL_LANGMAX___213 = 120,
    _SC_NL_MSGMAX___213 = 121,
    _SC_NL_NMAX___213 = 122,
    _SC_NL_SETMAX___213 = 123,
    _SC_NL_TEXTMAX___213 = 124,
    _SC_XBS5_ILP32_OFF32___213 = 125,
    _SC_XBS5_ILP32_OFFBIG___213 = 126,
    _SC_XBS5_LP64_OFF64___213 = 127,
    _SC_XBS5_LPBIG_OFFBIG___213 = 128,
    _SC_XOPEN_LEGACY___213 = 129,
    _SC_XOPEN_REALTIME___213 = 130,
    _SC_XOPEN_REALTIME_THREADS___213 = 131,
    _SC_ADVISORY_INFO___213 = 132,
    _SC_BARRIERS___213 = 133,
    _SC_BASE___213 = 134,
    _SC_C_LANG_SUPPORT___213 = 135,
    _SC_C_LANG_SUPPORT_R___213 = 136,
    _SC_CLOCK_SELECTION___213 = 137,
    _SC_CPUTIME___213 = 138,
    _SC_THREAD_CPUTIME___213 = 139,
    _SC_DEVICE_IO___213 = 140,
    _SC_DEVICE_SPECIFIC___213 = 141,
    _SC_DEVICE_SPECIFIC_R___213 = 142,
    _SC_FD_MGMT___213 = 143,
    _SC_FIFO___213 = 144,
    _SC_PIPE___213 = 145,
    _SC_FILE_ATTRIBUTES___213 = 146,
    _SC_FILE_LOCKING___213 = 147,
    _SC_FILE_SYSTEM___213 = 148,
    _SC_MONOTONIC_CLOCK___213 = 149,
    _SC_MULTI_PROCESS___213 = 150,
    _SC_SINGLE_PROCESS___213 = 151,
    _SC_NETWORKING___213 = 152,
    _SC_READER_WRITER_LOCKS___213 = 153,
    _SC_SPIN_LOCKS___213 = 154,
    _SC_REGEXP___213 = 155,
    _SC_REGEX_VERSION___213 = 156,
    _SC_SHELL___213 = 157,
    _SC_SIGNALS___213 = 158,
    _SC_SPAWN___213 = 159,
    _SC_SPORADIC_SERVER___213 = 160,
    _SC_THREAD_SPORADIC_SERVER___213 = 161,
    _SC_SYSTEM_DATABASE___213 = 162,
    _SC_SYSTEM_DATABASE_R___213 = 163,
    _SC_TIMEOUTS___213 = 164,
    _SC_TYPED_MEMORY_OBJECTS___213 = 165,
    _SC_USER_GROUPS___213 = 166,
    _SC_USER_GROUPS_R___213 = 167,
    _SC_2_PBS___213 = 168,
    _SC_2_PBS_ACCOUNTING___213 = 169,
    _SC_2_PBS_LOCATE___213 = 170,
    _SC_2_PBS_MESSAGE___213 = 171,
    _SC_2_PBS_TRACK___213 = 172,
    _SC_SYMLOOP_MAX___213 = 173,
    _SC_STREAMS___213 = 174,
    _SC_2_PBS_CHECKPOINT___213 = 175,
    _SC_V6_ILP32_OFF32___213 = 176,
    _SC_V6_ILP32_OFFBIG___213 = 177,
    _SC_V6_LP64_OFF64___213 = 178,
    _SC_V6_LPBIG_OFFBIG___213 = 179,
    _SC_HOST_NAME_MAX___213 = 180,
    _SC_TRACE___213 = 181,
    _SC_TRACE_EVENT_FILTER___213 = 182,
    _SC_TRACE_INHERIT___213 = 183,
    _SC_TRACE_LOG___213 = 184,
    _SC_LEVEL1_ICACHE_SIZE___213 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___213 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___213 = 187,
    _SC_LEVEL1_DCACHE_SIZE___213 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___213 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___213 = 190,
    _SC_LEVEL2_CACHE_SIZE___213 = 191,
    _SC_LEVEL2_CACHE_ASSOC___213 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___213 = 193,
    _SC_LEVEL3_CACHE_SIZE___213 = 194,
    _SC_LEVEL3_CACHE_ASSOC___213 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___213 = 196,
    _SC_LEVEL4_CACHE_SIZE___213 = 197,
    _SC_LEVEL4_CACHE_ASSOC___213 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___213 = 199,
    _SC_IPV6___213 = 235,
    _SC_RAW_SOCKETS___213 = 236,
    _SC_V7_ILP32_OFF32___213 = 237,
    _SC_V7_ILP32_OFFBIG___213 = 238,
    _SC_V7_LP64_OFF64___213 = 239,
    _SC_V7_LPBIG_OFFBIG___213 = 240,
    _SC_SS_REPL_MAX___213 = 241,
    _SC_TRACE_EVENT_NAME_MAX___213 = 242,
    _SC_TRACE_NAME_MAX___213 = 243,
    _SC_TRACE_SYS_MAX___213 = 244,
    _SC_TRACE_USER_EVENT_MAX___213 = 245,
    _SC_XOPEN_STREAMS___213 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___213 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___213 = 248
} ;
enum __anonenum_875524036___213 {
    _CS_PATH___213 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___213 = 1,
    _CS_GNU_LIBC_VERSION___213 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___213 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___213 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___213 = 5,
    _CS_LFS_CFLAGS___213 = 1000,
    _CS_LFS_LDFLAGS___213 = 1001,
    _CS_LFS_LIBS___213 = 1002,
    _CS_LFS_LINTFLAGS___213 = 1003,
    _CS_LFS64_CFLAGS___213 = 1004,
    _CS_LFS64_LDFLAGS___213 = 1005,
    _CS_LFS64_LIBS___213 = 1006,
    _CS_LFS64_LINTFLAGS___213 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___213 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___213 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___213 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___213 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___213 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___213 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___213 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___213 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___213 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___213 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___213 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___213 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___213 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___213 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___213 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___213 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___213 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___213 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___213 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___213 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___213 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___213 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___213 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___213 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___213 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___213 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___213 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___213 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___213 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___213 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___213 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___213 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___213 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___213 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___213 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___213 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___213 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___213 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___213 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___213 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___213 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___213 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___213 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___213 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___213 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___213 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___213 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___213 = 1147,
    _CS_V6_ENV___213 = 1148,
    _CS_V7_ENV___213 = 1149
} ;
enum __anonenum_513775621___213 {
    DT_UNKNOWN___213 = 0,
    DT_FIFO___213 = 1,
    DT_CHR___213 = 2,
    DT_DIR___213 = 4,
    DT_BLK___213 = 6,
    DT_REG___213 = 8,
    DT_LNK___213 = 10,
    DT_SOCK___213 = 12,
    DT_WHT___213 = 14
} ;
enum __anonenum_77002343___213 {
    SI_ASYNCNL___213 = -60,
    SI_TKILL___213 = -6,
    SI_SIGIO___213 = -5,
    SI_ASYNCIO___213 = -4,
    SI_MESGQ___213 = -3,
    SI_TIMER___213 = -2,
    SI_QUEUE___213 = -1,
    SI_USER___213 = 0,
    SI_KERNEL___213 = 128
} ;
enum __anonenum_131038172___213 {
    ILL_ILLOPC___213 = 1,
    ILL_ILLOPN___213 = 2,
    ILL_ILLADR___213 = 3,
    ILL_ILLTRP___213 = 4,
    ILL_PRVOPC___213 = 5,
    ILL_PRVREG___213 = 6,
    ILL_COPROC___213 = 7,
    ILL_BADSTK___213 = 8
} ;
enum __anonenum_452038093___213 {
    FPE_INTDIV___213 = 1,
    FPE_INTOVF___213 = 2,
    FPE_FLTDIV___213 = 3,
    FPE_FLTOVF___213 = 4,
    FPE_FLTUND___213 = 5,
    FPE_FLTRES___213 = 6,
    FPE_FLTINV___213 = 7,
    FPE_FLTSUB___213 = 8
} ;
enum __anonenum_30976155___213 {
    SEGV_MAPERR___213 = 1,
    SEGV_ACCERR___213 = 2,
    SEGV_BNDERR___213 = 3,
    SEGV_PKUERR___213 = 4
} ;
enum __anonenum_1036286214___213 {
    BUS_ADRALN___213 = 1,
    BUS_ADRERR___213 = 2,
    BUS_OBJERR___213 = 3,
    BUS_MCEERR_AR___213 = 4,
    BUS_MCEERR_AO___213 = 5
} ;
enum __anonenum_493465559___213 {
    TRAP_BRKPT___213 = 1,
    TRAP_TRACE___213 = 2
} ;
enum __anonenum_23175539___213 {
    CLD_EXITED___213 = 1,
    CLD_KILLED___213 = 2,
    CLD_DUMPED___213 = 3,
    CLD_TRAPPED___213 = 4,
    CLD_STOPPED___213 = 5,
    CLD_CONTINUED___213 = 6
} ;
enum __anonenum_111643124___213 {
    POLL_IN___213 = 1,
    POLL_OUT___213 = 2,
    POLL_MSG___213 = 3,
    POLL_ERR___213 = 4,
    POLL_PRI___213 = 5,
    POLL_HUP___213 = 6
} ;
enum __anonenum_852341087___213 {
    SIGEV_SIGNAL___213 = 0,
    SIGEV_NONE___213 = 1,
    SIGEV_THREAD___213 = 2,
    SIGEV_THREAD_ID___213 = 4
} ;
enum __anonenum_451154152___213 {
    REG_R8___213 = 0,
    REG_R9___213 = 1,
    REG_R10___213 = 2,
    REG_R11___213 = 3,
    REG_R12___213 = 4,
    REG_R13___213 = 5,
    REG_R14___213 = 6,
    REG_R15___213 = 7,
    REG_RDI___213 = 8,
    REG_RSI___213 = 9,
    REG_RBP___213 = 10,
    REG_RBX___213 = 11,
    REG_RDX___213 = 12,
    REG_RAX___213 = 13,
    REG_RCX___213 = 14,
    REG_RSP___213 = 15,
    REG_RIP___213 = 16,
    REG_EFL___213 = 17,
    REG_CSGSFS___213 = 18,
    REG_ERR___213 = 19,
    REG_TRAPNO___213 = 20,
    REG_OLDMASK___213 = 21,
    REG_CR2___213 = 22
} ;
enum __anonenum_57186863___213 {
    SS_ONSTACK___213 = 1,
    SS_DISABLE___213 = 2
} ;
enum __anonenum_83571709___213 {
    MSG_OOB___213 = 1,
    MSG_PEEK___213 = 2,
    MSG_DONTROUTE___213 = 4,
    MSG_TRYHARD___213 = 4,
    MSG_CTRUNC___213 = 8,
    MSG_PROXY___213 = 16,
    MSG_TRUNC___213 = 32,
    MSG_DONTWAIT___213 = 64,
    MSG_EOR___213 = 128,
    MSG_WAITALL___213 = 256,
    MSG_FIN___213 = 512,
    MSG_SYN___213 = 1024,
    MSG_CONFIRM___213 = 2048,
    MSG_RST___213 = 4096,
    MSG_ERRQUEUE___213 = 8192,
    MSG_NOSIGNAL___213 = 16384,
    MSG_MORE___213 = 32768,
    MSG_WAITFORONE___213 = 65536,
    MSG_BATCH___213 = 262144,
    MSG_ZEROCOPY___213 = 67108864,
    MSG_FASTOPEN___213 = 536870912,
    MSG_CMSG_CLOEXEC___213 = 1073741824
} ;
enum __anonenum_617082774___213 {
    SCM_RIGHTS___213 = 1,
    SCM_CREDENTIALS___213 = 2
} ;
enum __anonenum_606441560___213 {
    SHUT_RD___213 = 0,
    SHUT_WR___213 = 1,
    SHUT_RDWR___213 = 2
} ;
enum __anonenum_681669233___213 {
    IPPROTO_IP___213 = 0,
    IPPROTO_ICMP___213 = 1,
    IPPROTO_IGMP___213 = 2,
    IPPROTO_IPIP___213 = 4,
    IPPROTO_TCP___213 = 6,
    IPPROTO_EGP___213 = 8,
    IPPROTO_PUP___213 = 12,
    IPPROTO_UDP___213 = 17,
    IPPROTO_IDP___213 = 22,
    IPPROTO_TP___213 = 29,
    IPPROTO_DCCP___213 = 33,
    IPPROTO_IPV6___213 = 41,
    IPPROTO_RSVP___213 = 46,
    IPPROTO_GRE___213 = 47,
    IPPROTO_ESP___213 = 50,
    IPPROTO_AH___213 = 51,
    IPPROTO_MTP___213 = 92,
    IPPROTO_BEETPH___213 = 94,
    IPPROTO_ENCAP___213 = 98,
    IPPROTO_PIM___213 = 103,
    IPPROTO_COMP___213 = 108,
    IPPROTO_SCTP___213 = 132,
    IPPROTO_UDPLITE___213 = 136,
    IPPROTO_MPLS___213 = 137,
    IPPROTO_RAW___213 = 255,
    IPPROTO_MAX___213 = 256
} ;
enum __anonenum_218739988___213 {
    IPPROTO_HOPOPTS___213 = 0,
    IPPROTO_ROUTING___213 = 43,
    IPPROTO_FRAGMENT___213 = 44,
    IPPROTO_ICMPV6___213 = 58,
    IPPROTO_NONE___213 = 59,
    IPPROTO_DSTOPTS___213 = 60,
    IPPROTO_MH___213 = 135
} ;
enum __anonenum_662268580___213 {
    IPPORT_ECHO___213 = 7,
    IPPORT_DISCARD___213 = 9,
    IPPORT_SYSTAT___213 = 11,
    IPPORT_DAYTIME___213 = 13,
    IPPORT_NETSTAT___213 = 15,
    IPPORT_FTP___213 = 21,
    IPPORT_TELNET___213 = 23,
    IPPORT_SMTP___213 = 25,
    IPPORT_TIMESERVER___213 = 37,
    IPPORT_NAMESERVER___213 = 42,
    IPPORT_WHOIS___213 = 43,
    IPPORT_MTP___213 = 57,
    IPPORT_TFTP___213 = 69,
    IPPORT_RJE___213 = 77,
    IPPORT_FINGER___213 = 79,
    IPPORT_TTYLINK___213 = 87,
    IPPORT_SUPDUP___213 = 95,
    IPPORT_EXECSERVER___213 = 512,
    IPPORT_LOGINSERVER___213 = 513,
    IPPORT_CMDSERVER___213 = 514,
    IPPORT_EFSSERVER___213 = 520,
    IPPORT_BIFFUDP___213 = 512,
    IPPORT_WHOSERVER___213 = 513,
    IPPORT_ROUTESERVER___213 = 520,
    IPPORT_RESERVED___213 = 1024,
    IPPORT_USERRESERVED___213 = 5000
} ;
enum __anonenum_788308992___213 {
    TCP_ESTABLISHED___213 = 1,
    TCP_SYN_SENT___213 = 2,
    TCP_SYN_RECV___213 = 3,
    TCP_FIN_WAIT1___213 = 4,
    TCP_FIN_WAIT2___213 = 5,
    TCP_TIME_WAIT___213 = 6,
    TCP_CLOSE___213 = 7,
    TCP_CLOSE_WAIT___213 = 8,
    TCP_LAST_ACK___213 = 9,
    TCP_LISTEN___213 = 10,
    TCP_CLOSING___213 = 11
} ;
enum __anonenum_221125648___213 {
    TCP_NO_QUEUE___213 = 0,
    TCP_RECV_QUEUE___213 = 1,
    TCP_SEND_QUEUE___213 = 2,
    TCP_QUEUES_NR___213 = 3
} ;
enum __anonenum_34415463___213 {
    PTHREAD_CREATE_JOINABLE___213 = 0,
    PTHREAD_CREATE_DETACHED___213 = 1
} ;
enum __anonenum_303612439___213 {
    PTHREAD_MUTEX_TIMED_NP___213 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___213 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___213 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___213 = 3,
    PTHREAD_MUTEX_NORMAL___213 = 0,
    PTHREAD_MUTEX_RECURSIVE___213 = 1,
    PTHREAD_MUTEX_ERRORCHECK___213 = 2,
    PTHREAD_MUTEX_DEFAULT___213 = 0,
    PTHREAD_MUTEX_FAST_NP___213 = 0
} ;
enum __anonenum_931900394___213 {
    PTHREAD_MUTEX_STALLED___213 = 0,
    PTHREAD_MUTEX_STALLED_NP___213 = 0,
    PTHREAD_MUTEX_ROBUST___213 = 1,
    PTHREAD_MUTEX_ROBUST_NP___213 = 1
} ;
enum __anonenum_205214487___213 {
    PTHREAD_PRIO_NONE___213 = 0,
    PTHREAD_PRIO_INHERIT___213 = 1,
    PTHREAD_PRIO_PROTECT___213 = 2
} ;
enum __anonenum_25043950___213 {
    PTHREAD_RWLOCK_PREFER_READER_NP___213 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___213 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___213 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___213 = 0
} ;
enum __anonenum_436439511___213 {
    PTHREAD_INHERIT_SCHED___213 = 0,
    PTHREAD_EXPLICIT_SCHED___213 = 1
} ;
enum __anonenum_998661166___213 {
    PTHREAD_SCOPE_SYSTEM___213 = 0,
    PTHREAD_SCOPE_PROCESS___213 = 1
} ;
enum __anonenum_146137331___213 {
    PTHREAD_PROCESS_PRIVATE___213 = 0,
    PTHREAD_PROCESS_SHARED___213 = 1
} ;
enum __anonenum_53396917___213 {
    PTHREAD_CANCEL_ENABLE___213 = 0,
    PTHREAD_CANCEL_DISABLE___213 = 1
} ;
enum __anonenum_904563783___213 {
    PTHREAD_CANCEL_DEFERRED___213 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___213 = 1
} ;
enum __anonenum_672052974___213 {
    SSL_CT_VALIDATION_PERMISSIVE___213 = 0,
    SSL_CT_VALIDATION_STRICT___213 = 1
} ;
enum __anonenum_561748495___14 {
    RECURSE_SUBMODULES_ONLY___14 = -5,
    RECURSE_SUBMODULES_CHECK___14 = -4,
    RECURSE_SUBMODULES_ERROR___14 = -3,
    RECURSE_SUBMODULES_NONE___14 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___14 = -1,
    RECURSE_SUBMODULES_OFF___14 = 0,
    RECURSE_SUBMODULES_DEFAULT___14 = 1,
    RECURSE_SUBMODULES_ON___14 = 2
} ;
enum absent_checking_type {
    COMPLETELY_ABSENT = 0,
    ABSENT_ANY_DIRECTORY = 1
} ;
enum __anonenum_437032235___214 {
    _PC_LINK_MAX___214 = 0,
    _PC_MAX_CANON___214 = 1,
    _PC_MAX_INPUT___214 = 2,
    _PC_NAME_MAX___214 = 3,
    _PC_PATH_MAX___214 = 4,
    _PC_PIPE_BUF___214 = 5,
    _PC_CHOWN_RESTRICTED___214 = 6,
    _PC_NO_TRUNC___214 = 7,
    _PC_VDISABLE___214 = 8,
    _PC_SYNC_IO___214 = 9,
    _PC_ASYNC_IO___214 = 10,
    _PC_PRIO_IO___214 = 11,
    _PC_SOCK_MAXBUF___214 = 12,
    _PC_FILESIZEBITS___214 = 13,
    _PC_REC_INCR_XFER_SIZE___214 = 14,
    _PC_REC_MAX_XFER_SIZE___214 = 15,
    _PC_REC_MIN_XFER_SIZE___214 = 16,
    _PC_REC_XFER_ALIGN___214 = 17,
    _PC_ALLOC_SIZE_MIN___214 = 18,
    _PC_SYMLINK_MAX___214 = 19,
    _PC_2_SYMLINKS___214 = 20
} ;
enum __anonenum_315186338___214 {
    _SC_ARG_MAX___214 = 0,
    _SC_CHILD_MAX___214 = 1,
    _SC_CLK_TCK___214 = 2,
    _SC_NGROUPS_MAX___214 = 3,
    _SC_OPEN_MAX___214 = 4,
    _SC_STREAM_MAX___214 = 5,
    _SC_TZNAME_MAX___214 = 6,
    _SC_JOB_CONTROL___214 = 7,
    _SC_SAVED_IDS___214 = 8,
    _SC_REALTIME_SIGNALS___214 = 9,
    _SC_PRIORITY_SCHEDULING___214 = 10,
    _SC_TIMERS___214 = 11,
    _SC_ASYNCHRONOUS_IO___214 = 12,
    _SC_PRIORITIZED_IO___214 = 13,
    _SC_SYNCHRONIZED_IO___214 = 14,
    _SC_FSYNC___214 = 15,
    _SC_MAPPED_FILES___214 = 16,
    _SC_MEMLOCK___214 = 17,
    _SC_MEMLOCK_RANGE___214 = 18,
    _SC_MEMORY_PROTECTION___214 = 19,
    _SC_MESSAGE_PASSING___214 = 20,
    _SC_SEMAPHORES___214 = 21,
    _SC_SHARED_MEMORY_OBJECTS___214 = 22,
    _SC_AIO_LISTIO_MAX___214 = 23,
    _SC_AIO_MAX___214 = 24,
    _SC_AIO_PRIO_DELTA_MAX___214 = 25,
    _SC_DELAYTIMER_MAX___214 = 26,
    _SC_MQ_OPEN_MAX___214 = 27,
    _SC_MQ_PRIO_MAX___214 = 28,
    _SC_VERSION___214 = 29,
    _SC_PAGESIZE___214 = 30,
    _SC_RTSIG_MAX___214 = 31,
    _SC_SEM_NSEMS_MAX___214 = 32,
    _SC_SEM_VALUE_MAX___214 = 33,
    _SC_SIGQUEUE_MAX___214 = 34,
    _SC_TIMER_MAX___214 = 35,
    _SC_BC_BASE_MAX___214 = 36,
    _SC_BC_DIM_MAX___214 = 37,
    _SC_BC_SCALE_MAX___214 = 38,
    _SC_BC_STRING_MAX___214 = 39,
    _SC_COLL_WEIGHTS_MAX___214 = 40,
    _SC_EQUIV_CLASS_MAX___214 = 41,
    _SC_EXPR_NEST_MAX___214 = 42,
    _SC_LINE_MAX___214 = 43,
    _SC_RE_DUP_MAX___214 = 44,
    _SC_CHARCLASS_NAME_MAX___214 = 45,
    _SC_2_VERSION___214 = 46,
    _SC_2_C_BIND___214 = 47,
    _SC_2_C_DEV___214 = 48,
    _SC_2_FORT_DEV___214 = 49,
    _SC_2_FORT_RUN___214 = 50,
    _SC_2_SW_DEV___214 = 51,
    _SC_2_LOCALEDEF___214 = 52,
    _SC_PII___214 = 53,
    _SC_PII_XTI___214 = 54,
    _SC_PII_SOCKET___214 = 55,
    _SC_PII_INTERNET___214 = 56,
    _SC_PII_OSI___214 = 57,
    _SC_POLL___214 = 58,
    _SC_SELECT___214 = 59,
    _SC_UIO_MAXIOV___214 = 60,
    _SC_IOV_MAX___214 = 60,
    _SC_PII_INTERNET_STREAM___214 = 61,
    _SC_PII_INTERNET_DGRAM___214 = 62,
    _SC_PII_OSI_COTS___214 = 63,
    _SC_PII_OSI_CLTS___214 = 64,
    _SC_PII_OSI_M___214 = 65,
    _SC_T_IOV_MAX___214 = 66,
    _SC_THREADS___214 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___214 = 68,
    _SC_GETGR_R_SIZE_MAX___214 = 69,
    _SC_GETPW_R_SIZE_MAX___214 = 70,
    _SC_LOGIN_NAME_MAX___214 = 71,
    _SC_TTY_NAME_MAX___214 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___214 = 73,
    _SC_THREAD_KEYS_MAX___214 = 74,
    _SC_THREAD_STACK_MIN___214 = 75,
    _SC_THREAD_THREADS_MAX___214 = 76,
    _SC_THREAD_ATTR_STACKADDR___214 = 77,
    _SC_THREAD_ATTR_STACKSIZE___214 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___214 = 79,
    _SC_THREAD_PRIO_INHERIT___214 = 80,
    _SC_THREAD_PRIO_PROTECT___214 = 81,
    _SC_THREAD_PROCESS_SHARED___214 = 82,
    _SC_NPROCESSORS_CONF___214 = 83,
    _SC_NPROCESSORS_ONLN___214 = 84,
    _SC_PHYS_PAGES___214 = 85,
    _SC_AVPHYS_PAGES___214 = 86,
    _SC_ATEXIT_MAX___214 = 87,
    _SC_PASS_MAX___214 = 88,
    _SC_XOPEN_VERSION___214 = 89,
    _SC_XOPEN_XCU_VERSION___214 = 90,
    _SC_XOPEN_UNIX___214 = 91,
    _SC_XOPEN_CRYPT___214 = 92,
    _SC_XOPEN_ENH_I18N___214 = 93,
    _SC_XOPEN_SHM___214 = 94,
    _SC_2_CHAR_TERM___214 = 95,
    _SC_2_C_VERSION___214 = 96,
    _SC_2_UPE___214 = 97,
    _SC_XOPEN_XPG2___214 = 98,
    _SC_XOPEN_XPG3___214 = 99,
    _SC_XOPEN_XPG4___214 = 100,
    _SC_CHAR_BIT___214 = 101,
    _SC_CHAR_MAX___214 = 102,
    _SC_CHAR_MIN___214 = 103,
    _SC_INT_MAX___214 = 104,
    _SC_INT_MIN___214 = 105,
    _SC_LONG_BIT___214 = 106,
    _SC_WORD_BIT___214 = 107,
    _SC_MB_LEN_MAX___214 = 108,
    _SC_NZERO___214 = 109,
    _SC_SSIZE_MAX___214 = 110,
    _SC_SCHAR_MAX___214 = 111,
    _SC_SCHAR_MIN___214 = 112,
    _SC_SHRT_MAX___214 = 113,
    _SC_SHRT_MIN___214 = 114,
    _SC_UCHAR_MAX___214 = 115,
    _SC_UINT_MAX___214 = 116,
    _SC_ULONG_MAX___214 = 117,
    _SC_USHRT_MAX___214 = 118,
    _SC_NL_ARGMAX___214 = 119,
    _SC_NL_LANGMAX___214 = 120,
    _SC_NL_MSGMAX___214 = 121,
    _SC_NL_NMAX___214 = 122,
    _SC_NL_SETMAX___214 = 123,
    _SC_NL_TEXTMAX___214 = 124,
    _SC_XBS5_ILP32_OFF32___214 = 125,
    _SC_XBS5_ILP32_OFFBIG___214 = 126,
    _SC_XBS5_LP64_OFF64___214 = 127,
    _SC_XBS5_LPBIG_OFFBIG___214 = 128,
    _SC_XOPEN_LEGACY___214 = 129,
    _SC_XOPEN_REALTIME___214 = 130,
    _SC_XOPEN_REALTIME_THREADS___214 = 131,
    _SC_ADVISORY_INFO___214 = 132,
    _SC_BARRIERS___214 = 133,
    _SC_BASE___214 = 134,
    _SC_C_LANG_SUPPORT___214 = 135,
    _SC_C_LANG_SUPPORT_R___214 = 136,
    _SC_CLOCK_SELECTION___214 = 137,
    _SC_CPUTIME___214 = 138,
    _SC_THREAD_CPUTIME___214 = 139,
    _SC_DEVICE_IO___214 = 140,
    _SC_DEVICE_SPECIFIC___214 = 141,
    _SC_DEVICE_SPECIFIC_R___214 = 142,
    _SC_FD_MGMT___214 = 143,
    _SC_FIFO___214 = 144,
    _SC_PIPE___214 = 145,
    _SC_FILE_ATTRIBUTES___214 = 146,
    _SC_FILE_LOCKING___214 = 147,
    _SC_FILE_SYSTEM___214 = 148,
    _SC_MONOTONIC_CLOCK___214 = 149,
    _SC_MULTI_PROCESS___214 = 150,
    _SC_SINGLE_PROCESS___214 = 151,
    _SC_NETWORKING___214 = 152,
    _SC_READER_WRITER_LOCKS___214 = 153,
    _SC_SPIN_LOCKS___214 = 154,
    _SC_REGEXP___214 = 155,
    _SC_REGEX_VERSION___214 = 156,
    _SC_SHELL___214 = 157,
    _SC_SIGNALS___214 = 158,
    _SC_SPAWN___214 = 159,
    _SC_SPORADIC_SERVER___214 = 160,
    _SC_THREAD_SPORADIC_SERVER___214 = 161,
    _SC_SYSTEM_DATABASE___214 = 162,
    _SC_SYSTEM_DATABASE_R___214 = 163,
    _SC_TIMEOUTS___214 = 164,
    _SC_TYPED_MEMORY_OBJECTS___214 = 165,
    _SC_USER_GROUPS___214 = 166,
    _SC_USER_GROUPS_R___214 = 167,
    _SC_2_PBS___214 = 168,
    _SC_2_PBS_ACCOUNTING___214 = 169,
    _SC_2_PBS_LOCATE___214 = 170,
    _SC_2_PBS_MESSAGE___214 = 171,
    _SC_2_PBS_TRACK___214 = 172,
    _SC_SYMLOOP_MAX___214 = 173,
    _SC_STREAMS___214 = 174,
    _SC_2_PBS_CHECKPOINT___214 = 175,
    _SC_V6_ILP32_OFF32___214 = 176,
    _SC_V6_ILP32_OFFBIG___214 = 177,
    _SC_V6_LP64_OFF64___214 = 178,
    _SC_V6_LPBIG_OFFBIG___214 = 179,
    _SC_HOST_NAME_MAX___214 = 180,
    _SC_TRACE___214 = 181,
    _SC_TRACE_EVENT_FILTER___214 = 182,
    _SC_TRACE_INHERIT___214 = 183,
    _SC_TRACE_LOG___214 = 184,
    _SC_LEVEL1_ICACHE_SIZE___214 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___214 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___214 = 187,
    _SC_LEVEL1_DCACHE_SIZE___214 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___214 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___214 = 190,
    _SC_LEVEL2_CACHE_SIZE___214 = 191,
    _SC_LEVEL2_CACHE_ASSOC___214 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___214 = 193,
    _SC_LEVEL3_CACHE_SIZE___214 = 194,
    _SC_LEVEL3_CACHE_ASSOC___214 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___214 = 196,
    _SC_LEVEL4_CACHE_SIZE___214 = 197,
    _SC_LEVEL4_CACHE_ASSOC___214 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___214 = 199,
    _SC_IPV6___214 = 235,
    _SC_RAW_SOCKETS___214 = 236,
    _SC_V7_ILP32_OFF32___214 = 237,
    _SC_V7_ILP32_OFFBIG___214 = 238,
    _SC_V7_LP64_OFF64___214 = 239,
    _SC_V7_LPBIG_OFFBIG___214 = 240,
    _SC_SS_REPL_MAX___214 = 241,
    _SC_TRACE_EVENT_NAME_MAX___214 = 242,
    _SC_TRACE_NAME_MAX___214 = 243,
    _SC_TRACE_SYS_MAX___214 = 244,
    _SC_TRACE_USER_EVENT_MAX___214 = 245,
    _SC_XOPEN_STREAMS___214 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___214 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___214 = 248
} ;
enum __anonenum_875524036___214 {
    _CS_PATH___214 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___214 = 1,
    _CS_GNU_LIBC_VERSION___214 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___214 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___214 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___214 = 5,
    _CS_LFS_CFLAGS___214 = 1000,
    _CS_LFS_LDFLAGS___214 = 1001,
    _CS_LFS_LIBS___214 = 1002,
    _CS_LFS_LINTFLAGS___214 = 1003,
    _CS_LFS64_CFLAGS___214 = 1004,
    _CS_LFS64_LDFLAGS___214 = 1005,
    _CS_LFS64_LIBS___214 = 1006,
    _CS_LFS64_LINTFLAGS___214 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___214 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___214 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___214 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___214 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___214 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___214 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___214 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___214 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___214 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___214 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___214 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___214 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___214 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___214 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___214 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___214 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___214 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___214 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___214 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___214 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___214 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___214 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___214 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___214 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___214 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___214 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___214 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___214 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___214 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___214 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___214 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___214 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___214 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___214 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___214 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___214 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___214 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___214 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___214 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___214 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___214 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___214 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___214 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___214 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___214 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___214 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___214 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___214 = 1147,
    _CS_V6_ENV___214 = 1148,
    _CS_V7_ENV___214 = 1149
} ;
enum __anonenum_513775621___214 {
    DT_UNKNOWN___214 = 0,
    DT_FIFO___214 = 1,
    DT_CHR___214 = 2,
    DT_DIR___214 = 4,
    DT_BLK___214 = 6,
    DT_REG___214 = 8,
    DT_LNK___214 = 10,
    DT_SOCK___214 = 12,
    DT_WHT___214 = 14
} ;
enum __anonenum_77002343___214 {
    SI_ASYNCNL___214 = -60,
    SI_TKILL___214 = -6,
    SI_SIGIO___214 = -5,
    SI_ASYNCIO___214 = -4,
    SI_MESGQ___214 = -3,
    SI_TIMER___214 = -2,
    SI_QUEUE___214 = -1,
    SI_USER___214 = 0,
    SI_KERNEL___214 = 128
} ;
enum __anonenum_131038172___214 {
    ILL_ILLOPC___214 = 1,
    ILL_ILLOPN___214 = 2,
    ILL_ILLADR___214 = 3,
    ILL_ILLTRP___214 = 4,
    ILL_PRVOPC___214 = 5,
    ILL_PRVREG___214 = 6,
    ILL_COPROC___214 = 7,
    ILL_BADSTK___214 = 8
} ;
enum __anonenum_452038093___214 {
    FPE_INTDIV___214 = 1,
    FPE_INTOVF___214 = 2,
    FPE_FLTDIV___214 = 3,
    FPE_FLTOVF___214 = 4,
    FPE_FLTUND___214 = 5,
    FPE_FLTRES___214 = 6,
    FPE_FLTINV___214 = 7,
    FPE_FLTSUB___214 = 8
} ;
enum __anonenum_30976155___214 {
    SEGV_MAPERR___214 = 1,
    SEGV_ACCERR___214 = 2,
    SEGV_BNDERR___214 = 3,
    SEGV_PKUERR___214 = 4
} ;
enum __anonenum_1036286214___214 {
    BUS_ADRALN___214 = 1,
    BUS_ADRERR___214 = 2,
    BUS_OBJERR___214 = 3,
    BUS_MCEERR_AR___214 = 4,
    BUS_MCEERR_AO___214 = 5
} ;
enum __anonenum_493465559___214 {
    TRAP_BRKPT___214 = 1,
    TRAP_TRACE___214 = 2
} ;
enum __anonenum_23175539___214 {
    CLD_EXITED___214 = 1,
    CLD_KILLED___214 = 2,
    CLD_DUMPED___214 = 3,
    CLD_TRAPPED___214 = 4,
    CLD_STOPPED___214 = 5,
    CLD_CONTINUED___214 = 6
} ;
enum __anonenum_111643124___214 {
    POLL_IN___214 = 1,
    POLL_OUT___214 = 2,
    POLL_MSG___214 = 3,
    POLL_ERR___214 = 4,
    POLL_PRI___214 = 5,
    POLL_HUP___214 = 6
} ;
enum __anonenum_852341087___214 {
    SIGEV_SIGNAL___214 = 0,
    SIGEV_NONE___214 = 1,
    SIGEV_THREAD___214 = 2,
    SIGEV_THREAD_ID___214 = 4
} ;
enum __anonenum_451154152___214 {
    REG_R8___214 = 0,
    REG_R9___214 = 1,
    REG_R10___214 = 2,
    REG_R11___214 = 3,
    REG_R12___214 = 4,
    REG_R13___214 = 5,
    REG_R14___214 = 6,
    REG_R15___214 = 7,
    REG_RDI___214 = 8,
    REG_RSI___214 = 9,
    REG_RBP___214 = 10,
    REG_RBX___214 = 11,
    REG_RDX___214 = 12,
    REG_RAX___214 = 13,
    REG_RCX___214 = 14,
    REG_RSP___214 = 15,
    REG_RIP___214 = 16,
    REG_EFL___214 = 17,
    REG_CSGSFS___214 = 18,
    REG_ERR___214 = 19,
    REG_TRAPNO___214 = 20,
    REG_OLDMASK___214 = 21,
    REG_CR2___214 = 22
} ;
enum __anonenum_57186863___214 {
    SS_ONSTACK___214 = 1,
    SS_DISABLE___214 = 2
} ;
enum __anonenum_83571709___214 {
    MSG_OOB___214 = 1,
    MSG_PEEK___214 = 2,
    MSG_DONTROUTE___214 = 4,
    MSG_TRYHARD___214 = 4,
    MSG_CTRUNC___214 = 8,
    MSG_PROXY___214 = 16,
    MSG_TRUNC___214 = 32,
    MSG_DONTWAIT___214 = 64,
    MSG_EOR___214 = 128,
    MSG_WAITALL___214 = 256,
    MSG_FIN___214 = 512,
    MSG_SYN___214 = 1024,
    MSG_CONFIRM___214 = 2048,
    MSG_RST___214 = 4096,
    MSG_ERRQUEUE___214 = 8192,
    MSG_NOSIGNAL___214 = 16384,
    MSG_MORE___214 = 32768,
    MSG_WAITFORONE___214 = 65536,
    MSG_BATCH___214 = 262144,
    MSG_ZEROCOPY___214 = 67108864,
    MSG_FASTOPEN___214 = 536870912,
    MSG_CMSG_CLOEXEC___214 = 1073741824
} ;
enum __anonenum_617082774___214 {
    SCM_RIGHTS___214 = 1,
    SCM_CREDENTIALS___214 = 2
} ;
enum __anonenum_606441560___214 {
    SHUT_RD___214 = 0,
    SHUT_WR___214 = 1,
    SHUT_RDWR___214 = 2
} ;
enum __anonenum_681669233___214 {
    IPPROTO_IP___214 = 0,
    IPPROTO_ICMP___214 = 1,
    IPPROTO_IGMP___214 = 2,
    IPPROTO_IPIP___214 = 4,
    IPPROTO_TCP___214 = 6,
    IPPROTO_EGP___214 = 8,
    IPPROTO_PUP___214 = 12,
    IPPROTO_UDP___214 = 17,
    IPPROTO_IDP___214 = 22,
    IPPROTO_TP___214 = 29,
    IPPROTO_DCCP___214 = 33,
    IPPROTO_IPV6___214 = 41,
    IPPROTO_RSVP___214 = 46,
    IPPROTO_GRE___214 = 47,
    IPPROTO_ESP___214 = 50,
    IPPROTO_AH___214 = 51,
    IPPROTO_MTP___214 = 92,
    IPPROTO_BEETPH___214 = 94,
    IPPROTO_ENCAP___214 = 98,
    IPPROTO_PIM___214 = 103,
    IPPROTO_COMP___214 = 108,
    IPPROTO_SCTP___214 = 132,
    IPPROTO_UDPLITE___214 = 136,
    IPPROTO_MPLS___214 = 137,
    IPPROTO_RAW___214 = 255,
    IPPROTO_MAX___214 = 256
} ;
enum __anonenum_218739988___214 {
    IPPROTO_HOPOPTS___214 = 0,
    IPPROTO_ROUTING___214 = 43,
    IPPROTO_FRAGMENT___214 = 44,
    IPPROTO_ICMPV6___214 = 58,
    IPPROTO_NONE___214 = 59,
    IPPROTO_DSTOPTS___214 = 60,
    IPPROTO_MH___214 = 135
} ;
enum __anonenum_662268580___214 {
    IPPORT_ECHO___214 = 7,
    IPPORT_DISCARD___214 = 9,
    IPPORT_SYSTAT___214 = 11,
    IPPORT_DAYTIME___214 = 13,
    IPPORT_NETSTAT___214 = 15,
    IPPORT_FTP___214 = 21,
    IPPORT_TELNET___214 = 23,
    IPPORT_SMTP___214 = 25,
    IPPORT_TIMESERVER___214 = 37,
    IPPORT_NAMESERVER___214 = 42,
    IPPORT_WHOIS___214 = 43,
    IPPORT_MTP___214 = 57,
    IPPORT_TFTP___214 = 69,
    IPPORT_RJE___214 = 77,
    IPPORT_FINGER___214 = 79,
    IPPORT_TTYLINK___214 = 87,
    IPPORT_SUPDUP___214 = 95,
    IPPORT_EXECSERVER___214 = 512,
    IPPORT_LOGINSERVER___214 = 513,
    IPPORT_CMDSERVER___214 = 514,
    IPPORT_EFSSERVER___214 = 520,
    IPPORT_BIFFUDP___214 = 512,
    IPPORT_WHOSERVER___214 = 513,
    IPPORT_ROUTESERVER___214 = 520,
    IPPORT_RESERVED___214 = 1024,
    IPPORT_USERRESERVED___214 = 5000
} ;
enum __anonenum_788308992___214 {
    TCP_ESTABLISHED___214 = 1,
    TCP_SYN_SENT___214 = 2,
    TCP_SYN_RECV___214 = 3,
    TCP_FIN_WAIT1___214 = 4,
    TCP_FIN_WAIT2___214 = 5,
    TCP_TIME_WAIT___214 = 6,
    TCP_CLOSE___214 = 7,
    TCP_CLOSE_WAIT___214 = 8,
    TCP_LAST_ACK___214 = 9,
    TCP_LISTEN___214 = 10,
    TCP_CLOSING___214 = 11
} ;
enum __anonenum_221125648___214 {
    TCP_NO_QUEUE___214 = 0,
    TCP_RECV_QUEUE___214 = 1,
    TCP_SEND_QUEUE___214 = 2,
    TCP_QUEUES_NR___214 = 3
} ;
enum __anonenum_34415463___214 {
    PTHREAD_CREATE_JOINABLE___214 = 0,
    PTHREAD_CREATE_DETACHED___214 = 1
} ;
enum __anonenum_303612439___214 {
    PTHREAD_MUTEX_TIMED_NP___214 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___214 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___214 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___214 = 3,
    PTHREAD_MUTEX_NORMAL___214 = 0,
    PTHREAD_MUTEX_RECURSIVE___214 = 1,
    PTHREAD_MUTEX_ERRORCHECK___214 = 2,
    PTHREAD_MUTEX_DEFAULT___214 = 0,
    PTHREAD_MUTEX_FAST_NP___214 = 0
} ;
enum __anonenum_931900394___214 {
    PTHREAD_MUTEX_STALLED___214 = 0,
    PTHREAD_MUTEX_STALLED_NP___214 = 0,
    PTHREAD_MUTEX_ROBUST___214 = 1,
    PTHREAD_MUTEX_ROBUST_NP___214 = 1
} ;
enum __anonenum_205214487___214 {
    PTHREAD_PRIO_NONE___214 = 0,
    PTHREAD_PRIO_INHERIT___214 = 1,
    PTHREAD_PRIO_PROTECT___214 = 2
} ;
enum __anonenum_25043950___214 {
    PTHREAD_RWLOCK_PREFER_READER_NP___214 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___214 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___214 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___214 = 0
} ;
enum __anonenum_436439511___214 {
    PTHREAD_INHERIT_SCHED___214 = 0,
    PTHREAD_EXPLICIT_SCHED___214 = 1
} ;
enum __anonenum_998661166___214 {
    PTHREAD_SCOPE_SYSTEM___214 = 0,
    PTHREAD_SCOPE_PROCESS___214 = 1
} ;
enum __anonenum_146137331___214 {
    PTHREAD_PROCESS_PRIVATE___214 = 0,
    PTHREAD_PROCESS_SHARED___214 = 1
} ;
enum __anonenum_53396917___214 {
    PTHREAD_CANCEL_ENABLE___214 = 0,
    PTHREAD_CANCEL_DISABLE___214 = 1
} ;
enum __anonenum_904563783___214 {
    PTHREAD_CANCEL_DEFERRED___214 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___214 = 1
} ;
enum __anonenum_672052974___214 {
    SSL_CT_VALIDATION_PERMISSIVE___214 = 0,
    SSL_CT_VALIDATION_STRICT___214 = 1
} ;
enum allow_uor {
    ALLOW_TIP_SHA1 = 1,
    ALLOW_REACHABLE_SHA1 = 2,
    ALLOW_ANY_SHA1 = 7
} ;
enum __anonenum_multi_ack_461753967 {
    NO_MULTI_ACK = 0,
    MULTI_ACK = 1,
    MULTI_ACK_DETAILED = 2
} ;
struct upload_pack_data {
   struct string_list symref ;
   struct object_array want_obj ;
   struct object_array have_obj ;
   struct oid_array haves ;
   struct string_list wanted_refs ;
   struct object_array shallows ;
   struct string_list deepen_not ;
   struct object_array extra_edge_obj ;
   int depth ;
   timestamp_t deepen_since ;
   int deepen_rev_list ;
   int deepen_relative ;
   int keepalive ;
   int shallow_nr ;
   timestamp_t oldest_have ;
   unsigned int timeout ;
   enum __anonenum_multi_ack_461753967 multi_ack ;
   int use_sideband ;
   struct string_list uri_protocols ;
   enum allow_uor allow_uor ;
   struct list_objects_filter_options filter_options ;
   struct string_list allowed_filters ;
   struct packet_writer writer ;
   char const   *pack_objects_hook ;
   unsigned int stateless_rpc : 1 ;
   unsigned int no_done : 1 ;
   unsigned int daemon_mode : 1 ;
   unsigned int filter_capability_requested : 1 ;
   unsigned int use_thin_pack : 1 ;
   unsigned int use_ofs_delta : 1 ;
   unsigned int no_progress : 1 ;
   unsigned int use_include_tag : 1 ;
   unsigned int wait_for_done : 1 ;
   unsigned int allow_filter : 1 ;
   unsigned int allow_filter_fallback : 1 ;
   unsigned long tree_filter_max_depth ;
   unsigned int done : 1 ;
   unsigned int allow_ref_in_want : 1 ;
   unsigned int allow_sideband_all : 1 ;
   unsigned int advertise_sid : 1 ;
};
struct output_state {
   char buffer[65516] ;
   int used ;
   unsigned int packfile_uris_started : 1 ;
   unsigned int packfile_started : 1 ;
};
enum __anonenum_437032235___215 {
    _PC_LINK_MAX___215 = 0,
    _PC_MAX_CANON___215 = 1,
    _PC_MAX_INPUT___215 = 2,
    _PC_NAME_MAX___215 = 3,
    _PC_PATH_MAX___215 = 4,
    _PC_PIPE_BUF___215 = 5,
    _PC_CHOWN_RESTRICTED___215 = 6,
    _PC_NO_TRUNC___215 = 7,
    _PC_VDISABLE___215 = 8,
    _PC_SYNC_IO___215 = 9,
    _PC_ASYNC_IO___215 = 10,
    _PC_PRIO_IO___215 = 11,
    _PC_SOCK_MAXBUF___215 = 12,
    _PC_FILESIZEBITS___215 = 13,
    _PC_REC_INCR_XFER_SIZE___215 = 14,
    _PC_REC_MAX_XFER_SIZE___215 = 15,
    _PC_REC_MIN_XFER_SIZE___215 = 16,
    _PC_REC_XFER_ALIGN___215 = 17,
    _PC_ALLOC_SIZE_MIN___215 = 18,
    _PC_SYMLINK_MAX___215 = 19,
    _PC_2_SYMLINKS___215 = 20
} ;
enum __anonenum_315186338___215 {
    _SC_ARG_MAX___215 = 0,
    _SC_CHILD_MAX___215 = 1,
    _SC_CLK_TCK___215 = 2,
    _SC_NGROUPS_MAX___215 = 3,
    _SC_OPEN_MAX___215 = 4,
    _SC_STREAM_MAX___215 = 5,
    _SC_TZNAME_MAX___215 = 6,
    _SC_JOB_CONTROL___215 = 7,
    _SC_SAVED_IDS___215 = 8,
    _SC_REALTIME_SIGNALS___215 = 9,
    _SC_PRIORITY_SCHEDULING___215 = 10,
    _SC_TIMERS___215 = 11,
    _SC_ASYNCHRONOUS_IO___215 = 12,
    _SC_PRIORITIZED_IO___215 = 13,
    _SC_SYNCHRONIZED_IO___215 = 14,
    _SC_FSYNC___215 = 15,
    _SC_MAPPED_FILES___215 = 16,
    _SC_MEMLOCK___215 = 17,
    _SC_MEMLOCK_RANGE___215 = 18,
    _SC_MEMORY_PROTECTION___215 = 19,
    _SC_MESSAGE_PASSING___215 = 20,
    _SC_SEMAPHORES___215 = 21,
    _SC_SHARED_MEMORY_OBJECTS___215 = 22,
    _SC_AIO_LISTIO_MAX___215 = 23,
    _SC_AIO_MAX___215 = 24,
    _SC_AIO_PRIO_DELTA_MAX___215 = 25,
    _SC_DELAYTIMER_MAX___215 = 26,
    _SC_MQ_OPEN_MAX___215 = 27,
    _SC_MQ_PRIO_MAX___215 = 28,
    _SC_VERSION___215 = 29,
    _SC_PAGESIZE___215 = 30,
    _SC_RTSIG_MAX___215 = 31,
    _SC_SEM_NSEMS_MAX___215 = 32,
    _SC_SEM_VALUE_MAX___215 = 33,
    _SC_SIGQUEUE_MAX___215 = 34,
    _SC_TIMER_MAX___215 = 35,
    _SC_BC_BASE_MAX___215 = 36,
    _SC_BC_DIM_MAX___215 = 37,
    _SC_BC_SCALE_MAX___215 = 38,
    _SC_BC_STRING_MAX___215 = 39,
    _SC_COLL_WEIGHTS_MAX___215 = 40,
    _SC_EQUIV_CLASS_MAX___215 = 41,
    _SC_EXPR_NEST_MAX___215 = 42,
    _SC_LINE_MAX___215 = 43,
    _SC_RE_DUP_MAX___215 = 44,
    _SC_CHARCLASS_NAME_MAX___215 = 45,
    _SC_2_VERSION___215 = 46,
    _SC_2_C_BIND___215 = 47,
    _SC_2_C_DEV___215 = 48,
    _SC_2_FORT_DEV___215 = 49,
    _SC_2_FORT_RUN___215 = 50,
    _SC_2_SW_DEV___215 = 51,
    _SC_2_LOCALEDEF___215 = 52,
    _SC_PII___215 = 53,
    _SC_PII_XTI___215 = 54,
    _SC_PII_SOCKET___215 = 55,
    _SC_PII_INTERNET___215 = 56,
    _SC_PII_OSI___215 = 57,
    _SC_POLL___215 = 58,
    _SC_SELECT___215 = 59,
    _SC_UIO_MAXIOV___215 = 60,
    _SC_IOV_MAX___215 = 60,
    _SC_PII_INTERNET_STREAM___215 = 61,
    _SC_PII_INTERNET_DGRAM___215 = 62,
    _SC_PII_OSI_COTS___215 = 63,
    _SC_PII_OSI_CLTS___215 = 64,
    _SC_PII_OSI_M___215 = 65,
    _SC_T_IOV_MAX___215 = 66,
    _SC_THREADS___215 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___215 = 68,
    _SC_GETGR_R_SIZE_MAX___215 = 69,
    _SC_GETPW_R_SIZE_MAX___215 = 70,
    _SC_LOGIN_NAME_MAX___215 = 71,
    _SC_TTY_NAME_MAX___215 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___215 = 73,
    _SC_THREAD_KEYS_MAX___215 = 74,
    _SC_THREAD_STACK_MIN___215 = 75,
    _SC_THREAD_THREADS_MAX___215 = 76,
    _SC_THREAD_ATTR_STACKADDR___215 = 77,
    _SC_THREAD_ATTR_STACKSIZE___215 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___215 = 79,
    _SC_THREAD_PRIO_INHERIT___215 = 80,
    _SC_THREAD_PRIO_PROTECT___215 = 81,
    _SC_THREAD_PROCESS_SHARED___215 = 82,
    _SC_NPROCESSORS_CONF___215 = 83,
    _SC_NPROCESSORS_ONLN___215 = 84,
    _SC_PHYS_PAGES___215 = 85,
    _SC_AVPHYS_PAGES___215 = 86,
    _SC_ATEXIT_MAX___215 = 87,
    _SC_PASS_MAX___215 = 88,
    _SC_XOPEN_VERSION___215 = 89,
    _SC_XOPEN_XCU_VERSION___215 = 90,
    _SC_XOPEN_UNIX___215 = 91,
    _SC_XOPEN_CRYPT___215 = 92,
    _SC_XOPEN_ENH_I18N___215 = 93,
    _SC_XOPEN_SHM___215 = 94,
    _SC_2_CHAR_TERM___215 = 95,
    _SC_2_C_VERSION___215 = 96,
    _SC_2_UPE___215 = 97,
    _SC_XOPEN_XPG2___215 = 98,
    _SC_XOPEN_XPG3___215 = 99,
    _SC_XOPEN_XPG4___215 = 100,
    _SC_CHAR_BIT___215 = 101,
    _SC_CHAR_MAX___215 = 102,
    _SC_CHAR_MIN___215 = 103,
    _SC_INT_MAX___215 = 104,
    _SC_INT_MIN___215 = 105,
    _SC_LONG_BIT___215 = 106,
    _SC_WORD_BIT___215 = 107,
    _SC_MB_LEN_MAX___215 = 108,
    _SC_NZERO___215 = 109,
    _SC_SSIZE_MAX___215 = 110,
    _SC_SCHAR_MAX___215 = 111,
    _SC_SCHAR_MIN___215 = 112,
    _SC_SHRT_MAX___215 = 113,
    _SC_SHRT_MIN___215 = 114,
    _SC_UCHAR_MAX___215 = 115,
    _SC_UINT_MAX___215 = 116,
    _SC_ULONG_MAX___215 = 117,
    _SC_USHRT_MAX___215 = 118,
    _SC_NL_ARGMAX___215 = 119,
    _SC_NL_LANGMAX___215 = 120,
    _SC_NL_MSGMAX___215 = 121,
    _SC_NL_NMAX___215 = 122,
    _SC_NL_SETMAX___215 = 123,
    _SC_NL_TEXTMAX___215 = 124,
    _SC_XBS5_ILP32_OFF32___215 = 125,
    _SC_XBS5_ILP32_OFFBIG___215 = 126,
    _SC_XBS5_LP64_OFF64___215 = 127,
    _SC_XBS5_LPBIG_OFFBIG___215 = 128,
    _SC_XOPEN_LEGACY___215 = 129,
    _SC_XOPEN_REALTIME___215 = 130,
    _SC_XOPEN_REALTIME_THREADS___215 = 131,
    _SC_ADVISORY_INFO___215 = 132,
    _SC_BARRIERS___215 = 133,
    _SC_BASE___215 = 134,
    _SC_C_LANG_SUPPORT___215 = 135,
    _SC_C_LANG_SUPPORT_R___215 = 136,
    _SC_CLOCK_SELECTION___215 = 137,
    _SC_CPUTIME___215 = 138,
    _SC_THREAD_CPUTIME___215 = 139,
    _SC_DEVICE_IO___215 = 140,
    _SC_DEVICE_SPECIFIC___215 = 141,
    _SC_DEVICE_SPECIFIC_R___215 = 142,
    _SC_FD_MGMT___215 = 143,
    _SC_FIFO___215 = 144,
    _SC_PIPE___215 = 145,
    _SC_FILE_ATTRIBUTES___215 = 146,
    _SC_FILE_LOCKING___215 = 147,
    _SC_FILE_SYSTEM___215 = 148,
    _SC_MONOTONIC_CLOCK___215 = 149,
    _SC_MULTI_PROCESS___215 = 150,
    _SC_SINGLE_PROCESS___215 = 151,
    _SC_NETWORKING___215 = 152,
    _SC_READER_WRITER_LOCKS___215 = 153,
    _SC_SPIN_LOCKS___215 = 154,
    _SC_REGEXP___215 = 155,
    _SC_REGEX_VERSION___215 = 156,
    _SC_SHELL___215 = 157,
    _SC_SIGNALS___215 = 158,
    _SC_SPAWN___215 = 159,
    _SC_SPORADIC_SERVER___215 = 160,
    _SC_THREAD_SPORADIC_SERVER___215 = 161,
    _SC_SYSTEM_DATABASE___215 = 162,
    _SC_SYSTEM_DATABASE_R___215 = 163,
    _SC_TIMEOUTS___215 = 164,
    _SC_TYPED_MEMORY_OBJECTS___215 = 165,
    _SC_USER_GROUPS___215 = 166,
    _SC_USER_GROUPS_R___215 = 167,
    _SC_2_PBS___215 = 168,
    _SC_2_PBS_ACCOUNTING___215 = 169,
    _SC_2_PBS_LOCATE___215 = 170,
    _SC_2_PBS_MESSAGE___215 = 171,
    _SC_2_PBS_TRACK___215 = 172,
    _SC_SYMLOOP_MAX___215 = 173,
    _SC_STREAMS___215 = 174,
    _SC_2_PBS_CHECKPOINT___215 = 175,
    _SC_V6_ILP32_OFF32___215 = 176,
    _SC_V6_ILP32_OFFBIG___215 = 177,
    _SC_V6_LP64_OFF64___215 = 178,
    _SC_V6_LPBIG_OFFBIG___215 = 179,
    _SC_HOST_NAME_MAX___215 = 180,
    _SC_TRACE___215 = 181,
    _SC_TRACE_EVENT_FILTER___215 = 182,
    _SC_TRACE_INHERIT___215 = 183,
    _SC_TRACE_LOG___215 = 184,
    _SC_LEVEL1_ICACHE_SIZE___215 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___215 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___215 = 187,
    _SC_LEVEL1_DCACHE_SIZE___215 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___215 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___215 = 190,
    _SC_LEVEL2_CACHE_SIZE___215 = 191,
    _SC_LEVEL2_CACHE_ASSOC___215 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___215 = 193,
    _SC_LEVEL3_CACHE_SIZE___215 = 194,
    _SC_LEVEL3_CACHE_ASSOC___215 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___215 = 196,
    _SC_LEVEL4_CACHE_SIZE___215 = 197,
    _SC_LEVEL4_CACHE_ASSOC___215 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___215 = 199,
    _SC_IPV6___215 = 235,
    _SC_RAW_SOCKETS___215 = 236,
    _SC_V7_ILP32_OFF32___215 = 237,
    _SC_V7_ILP32_OFFBIG___215 = 238,
    _SC_V7_LP64_OFF64___215 = 239,
    _SC_V7_LPBIG_OFFBIG___215 = 240,
    _SC_SS_REPL_MAX___215 = 241,
    _SC_TRACE_EVENT_NAME_MAX___215 = 242,
    _SC_TRACE_NAME_MAX___215 = 243,
    _SC_TRACE_SYS_MAX___215 = 244,
    _SC_TRACE_USER_EVENT_MAX___215 = 245,
    _SC_XOPEN_STREAMS___215 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___215 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___215 = 248
} ;
enum __anonenum_875524036___215 {
    _CS_PATH___215 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___215 = 1,
    _CS_GNU_LIBC_VERSION___215 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___215 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___215 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___215 = 5,
    _CS_LFS_CFLAGS___215 = 1000,
    _CS_LFS_LDFLAGS___215 = 1001,
    _CS_LFS_LIBS___215 = 1002,
    _CS_LFS_LINTFLAGS___215 = 1003,
    _CS_LFS64_CFLAGS___215 = 1004,
    _CS_LFS64_LDFLAGS___215 = 1005,
    _CS_LFS64_LIBS___215 = 1006,
    _CS_LFS64_LINTFLAGS___215 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___215 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___215 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___215 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___215 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___215 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___215 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___215 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___215 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___215 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___215 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___215 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___215 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___215 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___215 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___215 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___215 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___215 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___215 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___215 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___215 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___215 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___215 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___215 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___215 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___215 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___215 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___215 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___215 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___215 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___215 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___215 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___215 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___215 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___215 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___215 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___215 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___215 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___215 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___215 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___215 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___215 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___215 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___215 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___215 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___215 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___215 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___215 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___215 = 1147,
    _CS_V6_ENV___215 = 1148,
    _CS_V7_ENV___215 = 1149
} ;
enum __anonenum_513775621___215 {
    DT_UNKNOWN___215 = 0,
    DT_FIFO___215 = 1,
    DT_CHR___215 = 2,
    DT_DIR___215 = 4,
    DT_BLK___215 = 6,
    DT_REG___215 = 8,
    DT_LNK___215 = 10,
    DT_SOCK___215 = 12,
    DT_WHT___215 = 14
} ;
enum __anonenum_77002343___215 {
    SI_ASYNCNL___215 = -60,
    SI_TKILL___215 = -6,
    SI_SIGIO___215 = -5,
    SI_ASYNCIO___215 = -4,
    SI_MESGQ___215 = -3,
    SI_TIMER___215 = -2,
    SI_QUEUE___215 = -1,
    SI_USER___215 = 0,
    SI_KERNEL___215 = 128
} ;
enum __anonenum_131038172___215 {
    ILL_ILLOPC___215 = 1,
    ILL_ILLOPN___215 = 2,
    ILL_ILLADR___215 = 3,
    ILL_ILLTRP___215 = 4,
    ILL_PRVOPC___215 = 5,
    ILL_PRVREG___215 = 6,
    ILL_COPROC___215 = 7,
    ILL_BADSTK___215 = 8
} ;
enum __anonenum_452038093___215 {
    FPE_INTDIV___215 = 1,
    FPE_INTOVF___215 = 2,
    FPE_FLTDIV___215 = 3,
    FPE_FLTOVF___215 = 4,
    FPE_FLTUND___215 = 5,
    FPE_FLTRES___215 = 6,
    FPE_FLTINV___215 = 7,
    FPE_FLTSUB___215 = 8
} ;
enum __anonenum_30976155___215 {
    SEGV_MAPERR___215 = 1,
    SEGV_ACCERR___215 = 2,
    SEGV_BNDERR___215 = 3,
    SEGV_PKUERR___215 = 4
} ;
enum __anonenum_1036286214___215 {
    BUS_ADRALN___215 = 1,
    BUS_ADRERR___215 = 2,
    BUS_OBJERR___215 = 3,
    BUS_MCEERR_AR___215 = 4,
    BUS_MCEERR_AO___215 = 5
} ;
enum __anonenum_493465559___215 {
    TRAP_BRKPT___215 = 1,
    TRAP_TRACE___215 = 2
} ;
enum __anonenum_23175539___215 {
    CLD_EXITED___215 = 1,
    CLD_KILLED___215 = 2,
    CLD_DUMPED___215 = 3,
    CLD_TRAPPED___215 = 4,
    CLD_STOPPED___215 = 5,
    CLD_CONTINUED___215 = 6
} ;
enum __anonenum_111643124___215 {
    POLL_IN___215 = 1,
    POLL_OUT___215 = 2,
    POLL_MSG___215 = 3,
    POLL_ERR___215 = 4,
    POLL_PRI___215 = 5,
    POLL_HUP___215 = 6
} ;
enum __anonenum_852341087___215 {
    SIGEV_SIGNAL___215 = 0,
    SIGEV_NONE___215 = 1,
    SIGEV_THREAD___215 = 2,
    SIGEV_THREAD_ID___215 = 4
} ;
enum __anonenum_451154152___215 {
    REG_R8___215 = 0,
    REG_R9___215 = 1,
    REG_R10___215 = 2,
    REG_R11___215 = 3,
    REG_R12___215 = 4,
    REG_R13___215 = 5,
    REG_R14___215 = 6,
    REG_R15___215 = 7,
    REG_RDI___215 = 8,
    REG_RSI___215 = 9,
    REG_RBP___215 = 10,
    REG_RBX___215 = 11,
    REG_RDX___215 = 12,
    REG_RAX___215 = 13,
    REG_RCX___215 = 14,
    REG_RSP___215 = 15,
    REG_RIP___215 = 16,
    REG_EFL___215 = 17,
    REG_CSGSFS___215 = 18,
    REG_ERR___215 = 19,
    REG_TRAPNO___215 = 20,
    REG_OLDMASK___215 = 21,
    REG_CR2___215 = 22
} ;
enum __anonenum_57186863___215 {
    SS_ONSTACK___215 = 1,
    SS_DISABLE___215 = 2
} ;
enum __anonenum_83571709___215 {
    MSG_OOB___215 = 1,
    MSG_PEEK___215 = 2,
    MSG_DONTROUTE___215 = 4,
    MSG_TRYHARD___215 = 4,
    MSG_CTRUNC___215 = 8,
    MSG_PROXY___215 = 16,
    MSG_TRUNC___215 = 32,
    MSG_DONTWAIT___215 = 64,
    MSG_EOR___215 = 128,
    MSG_WAITALL___215 = 256,
    MSG_FIN___215 = 512,
    MSG_SYN___215 = 1024,
    MSG_CONFIRM___215 = 2048,
    MSG_RST___215 = 4096,
    MSG_ERRQUEUE___215 = 8192,
    MSG_NOSIGNAL___215 = 16384,
    MSG_MORE___215 = 32768,
    MSG_WAITFORONE___215 = 65536,
    MSG_BATCH___215 = 262144,
    MSG_ZEROCOPY___215 = 67108864,
    MSG_FASTOPEN___215 = 536870912,
    MSG_CMSG_CLOEXEC___215 = 1073741824
} ;
enum __anonenum_617082774___215 {
    SCM_RIGHTS___215 = 1,
    SCM_CREDENTIALS___215 = 2
} ;
enum __anonenum_606441560___215 {
    SHUT_RD___215 = 0,
    SHUT_WR___215 = 1,
    SHUT_RDWR___215 = 2
} ;
enum __anonenum_681669233___215 {
    IPPROTO_IP___215 = 0,
    IPPROTO_ICMP___215 = 1,
    IPPROTO_IGMP___215 = 2,
    IPPROTO_IPIP___215 = 4,
    IPPROTO_TCP___215 = 6,
    IPPROTO_EGP___215 = 8,
    IPPROTO_PUP___215 = 12,
    IPPROTO_UDP___215 = 17,
    IPPROTO_IDP___215 = 22,
    IPPROTO_TP___215 = 29,
    IPPROTO_DCCP___215 = 33,
    IPPROTO_IPV6___215 = 41,
    IPPROTO_RSVP___215 = 46,
    IPPROTO_GRE___215 = 47,
    IPPROTO_ESP___215 = 50,
    IPPROTO_AH___215 = 51,
    IPPROTO_MTP___215 = 92,
    IPPROTO_BEETPH___215 = 94,
    IPPROTO_ENCAP___215 = 98,
    IPPROTO_PIM___215 = 103,
    IPPROTO_COMP___215 = 108,
    IPPROTO_SCTP___215 = 132,
    IPPROTO_UDPLITE___215 = 136,
    IPPROTO_MPLS___215 = 137,
    IPPROTO_RAW___215 = 255,
    IPPROTO_MAX___215 = 256
} ;
enum __anonenum_218739988___215 {
    IPPROTO_HOPOPTS___215 = 0,
    IPPROTO_ROUTING___215 = 43,
    IPPROTO_FRAGMENT___215 = 44,
    IPPROTO_ICMPV6___215 = 58,
    IPPROTO_NONE___215 = 59,
    IPPROTO_DSTOPTS___215 = 60,
    IPPROTO_MH___215 = 135
} ;
enum __anonenum_662268580___215 {
    IPPORT_ECHO___215 = 7,
    IPPORT_DISCARD___215 = 9,
    IPPORT_SYSTAT___215 = 11,
    IPPORT_DAYTIME___215 = 13,
    IPPORT_NETSTAT___215 = 15,
    IPPORT_FTP___215 = 21,
    IPPORT_TELNET___215 = 23,
    IPPORT_SMTP___215 = 25,
    IPPORT_TIMESERVER___215 = 37,
    IPPORT_NAMESERVER___215 = 42,
    IPPORT_WHOIS___215 = 43,
    IPPORT_MTP___215 = 57,
    IPPORT_TFTP___215 = 69,
    IPPORT_RJE___215 = 77,
    IPPORT_FINGER___215 = 79,
    IPPORT_TTYLINK___215 = 87,
    IPPORT_SUPDUP___215 = 95,
    IPPORT_EXECSERVER___215 = 512,
    IPPORT_LOGINSERVER___215 = 513,
    IPPORT_CMDSERVER___215 = 514,
    IPPORT_EFSSERVER___215 = 520,
    IPPORT_BIFFUDP___215 = 512,
    IPPORT_WHOSERVER___215 = 513,
    IPPORT_ROUTESERVER___215 = 520,
    IPPORT_RESERVED___215 = 1024,
    IPPORT_USERRESERVED___215 = 5000
} ;
enum __anonenum_788308992___215 {
    TCP_ESTABLISHED___215 = 1,
    TCP_SYN_SENT___215 = 2,
    TCP_SYN_RECV___215 = 3,
    TCP_FIN_WAIT1___215 = 4,
    TCP_FIN_WAIT2___215 = 5,
    TCP_TIME_WAIT___215 = 6,
    TCP_CLOSE___215 = 7,
    TCP_CLOSE_WAIT___215 = 8,
    TCP_LAST_ACK___215 = 9,
    TCP_LISTEN___215 = 10,
    TCP_CLOSING___215 = 11
} ;
enum __anonenum_221125648___215 {
    TCP_NO_QUEUE___215 = 0,
    TCP_RECV_QUEUE___215 = 1,
    TCP_SEND_QUEUE___215 = 2,
    TCP_QUEUES_NR___215 = 3
} ;
enum __anonenum_34415463___215 {
    PTHREAD_CREATE_JOINABLE___215 = 0,
    PTHREAD_CREATE_DETACHED___215 = 1
} ;
enum __anonenum_303612439___215 {
    PTHREAD_MUTEX_TIMED_NP___215 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___215 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___215 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___215 = 3,
    PTHREAD_MUTEX_NORMAL___215 = 0,
    PTHREAD_MUTEX_RECURSIVE___215 = 1,
    PTHREAD_MUTEX_ERRORCHECK___215 = 2,
    PTHREAD_MUTEX_DEFAULT___215 = 0,
    PTHREAD_MUTEX_FAST_NP___215 = 0
} ;
enum __anonenum_931900394___215 {
    PTHREAD_MUTEX_STALLED___215 = 0,
    PTHREAD_MUTEX_STALLED_NP___215 = 0,
    PTHREAD_MUTEX_ROBUST___215 = 1,
    PTHREAD_MUTEX_ROBUST_NP___215 = 1
} ;
enum __anonenum_205214487___215 {
    PTHREAD_PRIO_NONE___215 = 0,
    PTHREAD_PRIO_INHERIT___215 = 1,
    PTHREAD_PRIO_PROTECT___215 = 2
} ;
enum __anonenum_25043950___215 {
    PTHREAD_RWLOCK_PREFER_READER_NP___215 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___215 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___215 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___215 = 0
} ;
enum __anonenum_436439511___215 {
    PTHREAD_INHERIT_SCHED___215 = 0,
    PTHREAD_EXPLICIT_SCHED___215 = 1
} ;
enum __anonenum_998661166___215 {
    PTHREAD_SCOPE_SYSTEM___215 = 0,
    PTHREAD_SCOPE_PROCESS___215 = 1
} ;
enum __anonenum_146137331___215 {
    PTHREAD_PROCESS_PRIVATE___215 = 0,
    PTHREAD_PROCESS_SHARED___215 = 1
} ;
enum __anonenum_53396917___215 {
    PTHREAD_CANCEL_ENABLE___215 = 0,
    PTHREAD_CANCEL_DISABLE___215 = 1
} ;
enum __anonenum_904563783___215 {
    PTHREAD_CANCEL_DEFERRED___215 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___215 = 1
} ;
enum __anonenum_672052974___215 {
    SSL_CT_VALIDATION_PERMISSIVE___215 = 0,
    SSL_CT_VALIDATION_STRICT___215 = 1
} ;
enum __anonenum_437032235___216 {
    _PC_LINK_MAX___216 = 0,
    _PC_MAX_CANON___216 = 1,
    _PC_MAX_INPUT___216 = 2,
    _PC_NAME_MAX___216 = 3,
    _PC_PATH_MAX___216 = 4,
    _PC_PIPE_BUF___216 = 5,
    _PC_CHOWN_RESTRICTED___216 = 6,
    _PC_NO_TRUNC___216 = 7,
    _PC_VDISABLE___216 = 8,
    _PC_SYNC_IO___216 = 9,
    _PC_ASYNC_IO___216 = 10,
    _PC_PRIO_IO___216 = 11,
    _PC_SOCK_MAXBUF___216 = 12,
    _PC_FILESIZEBITS___216 = 13,
    _PC_REC_INCR_XFER_SIZE___216 = 14,
    _PC_REC_MAX_XFER_SIZE___216 = 15,
    _PC_REC_MIN_XFER_SIZE___216 = 16,
    _PC_REC_XFER_ALIGN___216 = 17,
    _PC_ALLOC_SIZE_MIN___216 = 18,
    _PC_SYMLINK_MAX___216 = 19,
    _PC_2_SYMLINKS___216 = 20
} ;
enum __anonenum_315186338___216 {
    _SC_ARG_MAX___216 = 0,
    _SC_CHILD_MAX___216 = 1,
    _SC_CLK_TCK___216 = 2,
    _SC_NGROUPS_MAX___216 = 3,
    _SC_OPEN_MAX___216 = 4,
    _SC_STREAM_MAX___216 = 5,
    _SC_TZNAME_MAX___216 = 6,
    _SC_JOB_CONTROL___216 = 7,
    _SC_SAVED_IDS___216 = 8,
    _SC_REALTIME_SIGNALS___216 = 9,
    _SC_PRIORITY_SCHEDULING___216 = 10,
    _SC_TIMERS___216 = 11,
    _SC_ASYNCHRONOUS_IO___216 = 12,
    _SC_PRIORITIZED_IO___216 = 13,
    _SC_SYNCHRONIZED_IO___216 = 14,
    _SC_FSYNC___216 = 15,
    _SC_MAPPED_FILES___216 = 16,
    _SC_MEMLOCK___216 = 17,
    _SC_MEMLOCK_RANGE___216 = 18,
    _SC_MEMORY_PROTECTION___216 = 19,
    _SC_MESSAGE_PASSING___216 = 20,
    _SC_SEMAPHORES___216 = 21,
    _SC_SHARED_MEMORY_OBJECTS___216 = 22,
    _SC_AIO_LISTIO_MAX___216 = 23,
    _SC_AIO_MAX___216 = 24,
    _SC_AIO_PRIO_DELTA_MAX___216 = 25,
    _SC_DELAYTIMER_MAX___216 = 26,
    _SC_MQ_OPEN_MAX___216 = 27,
    _SC_MQ_PRIO_MAX___216 = 28,
    _SC_VERSION___216 = 29,
    _SC_PAGESIZE___216 = 30,
    _SC_RTSIG_MAX___216 = 31,
    _SC_SEM_NSEMS_MAX___216 = 32,
    _SC_SEM_VALUE_MAX___216 = 33,
    _SC_SIGQUEUE_MAX___216 = 34,
    _SC_TIMER_MAX___216 = 35,
    _SC_BC_BASE_MAX___216 = 36,
    _SC_BC_DIM_MAX___216 = 37,
    _SC_BC_SCALE_MAX___216 = 38,
    _SC_BC_STRING_MAX___216 = 39,
    _SC_COLL_WEIGHTS_MAX___216 = 40,
    _SC_EQUIV_CLASS_MAX___216 = 41,
    _SC_EXPR_NEST_MAX___216 = 42,
    _SC_LINE_MAX___216 = 43,
    _SC_RE_DUP_MAX___216 = 44,
    _SC_CHARCLASS_NAME_MAX___216 = 45,
    _SC_2_VERSION___216 = 46,
    _SC_2_C_BIND___216 = 47,
    _SC_2_C_DEV___216 = 48,
    _SC_2_FORT_DEV___216 = 49,
    _SC_2_FORT_RUN___216 = 50,
    _SC_2_SW_DEV___216 = 51,
    _SC_2_LOCALEDEF___216 = 52,
    _SC_PII___216 = 53,
    _SC_PII_XTI___216 = 54,
    _SC_PII_SOCKET___216 = 55,
    _SC_PII_INTERNET___216 = 56,
    _SC_PII_OSI___216 = 57,
    _SC_POLL___216 = 58,
    _SC_SELECT___216 = 59,
    _SC_UIO_MAXIOV___216 = 60,
    _SC_IOV_MAX___216 = 60,
    _SC_PII_INTERNET_STREAM___216 = 61,
    _SC_PII_INTERNET_DGRAM___216 = 62,
    _SC_PII_OSI_COTS___216 = 63,
    _SC_PII_OSI_CLTS___216 = 64,
    _SC_PII_OSI_M___216 = 65,
    _SC_T_IOV_MAX___216 = 66,
    _SC_THREADS___216 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___216 = 68,
    _SC_GETGR_R_SIZE_MAX___216 = 69,
    _SC_GETPW_R_SIZE_MAX___216 = 70,
    _SC_LOGIN_NAME_MAX___216 = 71,
    _SC_TTY_NAME_MAX___216 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___216 = 73,
    _SC_THREAD_KEYS_MAX___216 = 74,
    _SC_THREAD_STACK_MIN___216 = 75,
    _SC_THREAD_THREADS_MAX___216 = 76,
    _SC_THREAD_ATTR_STACKADDR___216 = 77,
    _SC_THREAD_ATTR_STACKSIZE___216 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___216 = 79,
    _SC_THREAD_PRIO_INHERIT___216 = 80,
    _SC_THREAD_PRIO_PROTECT___216 = 81,
    _SC_THREAD_PROCESS_SHARED___216 = 82,
    _SC_NPROCESSORS_CONF___216 = 83,
    _SC_NPROCESSORS_ONLN___216 = 84,
    _SC_PHYS_PAGES___216 = 85,
    _SC_AVPHYS_PAGES___216 = 86,
    _SC_ATEXIT_MAX___216 = 87,
    _SC_PASS_MAX___216 = 88,
    _SC_XOPEN_VERSION___216 = 89,
    _SC_XOPEN_XCU_VERSION___216 = 90,
    _SC_XOPEN_UNIX___216 = 91,
    _SC_XOPEN_CRYPT___216 = 92,
    _SC_XOPEN_ENH_I18N___216 = 93,
    _SC_XOPEN_SHM___216 = 94,
    _SC_2_CHAR_TERM___216 = 95,
    _SC_2_C_VERSION___216 = 96,
    _SC_2_UPE___216 = 97,
    _SC_XOPEN_XPG2___216 = 98,
    _SC_XOPEN_XPG3___216 = 99,
    _SC_XOPEN_XPG4___216 = 100,
    _SC_CHAR_BIT___216 = 101,
    _SC_CHAR_MAX___216 = 102,
    _SC_CHAR_MIN___216 = 103,
    _SC_INT_MAX___216 = 104,
    _SC_INT_MIN___216 = 105,
    _SC_LONG_BIT___216 = 106,
    _SC_WORD_BIT___216 = 107,
    _SC_MB_LEN_MAX___216 = 108,
    _SC_NZERO___216 = 109,
    _SC_SSIZE_MAX___216 = 110,
    _SC_SCHAR_MAX___216 = 111,
    _SC_SCHAR_MIN___216 = 112,
    _SC_SHRT_MAX___216 = 113,
    _SC_SHRT_MIN___216 = 114,
    _SC_UCHAR_MAX___216 = 115,
    _SC_UINT_MAX___216 = 116,
    _SC_ULONG_MAX___216 = 117,
    _SC_USHRT_MAX___216 = 118,
    _SC_NL_ARGMAX___216 = 119,
    _SC_NL_LANGMAX___216 = 120,
    _SC_NL_MSGMAX___216 = 121,
    _SC_NL_NMAX___216 = 122,
    _SC_NL_SETMAX___216 = 123,
    _SC_NL_TEXTMAX___216 = 124,
    _SC_XBS5_ILP32_OFF32___216 = 125,
    _SC_XBS5_ILP32_OFFBIG___216 = 126,
    _SC_XBS5_LP64_OFF64___216 = 127,
    _SC_XBS5_LPBIG_OFFBIG___216 = 128,
    _SC_XOPEN_LEGACY___216 = 129,
    _SC_XOPEN_REALTIME___216 = 130,
    _SC_XOPEN_REALTIME_THREADS___216 = 131,
    _SC_ADVISORY_INFO___216 = 132,
    _SC_BARRIERS___216 = 133,
    _SC_BASE___216 = 134,
    _SC_C_LANG_SUPPORT___216 = 135,
    _SC_C_LANG_SUPPORT_R___216 = 136,
    _SC_CLOCK_SELECTION___216 = 137,
    _SC_CPUTIME___216 = 138,
    _SC_THREAD_CPUTIME___216 = 139,
    _SC_DEVICE_IO___216 = 140,
    _SC_DEVICE_SPECIFIC___216 = 141,
    _SC_DEVICE_SPECIFIC_R___216 = 142,
    _SC_FD_MGMT___216 = 143,
    _SC_FIFO___216 = 144,
    _SC_PIPE___216 = 145,
    _SC_FILE_ATTRIBUTES___216 = 146,
    _SC_FILE_LOCKING___216 = 147,
    _SC_FILE_SYSTEM___216 = 148,
    _SC_MONOTONIC_CLOCK___216 = 149,
    _SC_MULTI_PROCESS___216 = 150,
    _SC_SINGLE_PROCESS___216 = 151,
    _SC_NETWORKING___216 = 152,
    _SC_READER_WRITER_LOCKS___216 = 153,
    _SC_SPIN_LOCKS___216 = 154,
    _SC_REGEXP___216 = 155,
    _SC_REGEX_VERSION___216 = 156,
    _SC_SHELL___216 = 157,
    _SC_SIGNALS___216 = 158,
    _SC_SPAWN___216 = 159,
    _SC_SPORADIC_SERVER___216 = 160,
    _SC_THREAD_SPORADIC_SERVER___216 = 161,
    _SC_SYSTEM_DATABASE___216 = 162,
    _SC_SYSTEM_DATABASE_R___216 = 163,
    _SC_TIMEOUTS___216 = 164,
    _SC_TYPED_MEMORY_OBJECTS___216 = 165,
    _SC_USER_GROUPS___216 = 166,
    _SC_USER_GROUPS_R___216 = 167,
    _SC_2_PBS___216 = 168,
    _SC_2_PBS_ACCOUNTING___216 = 169,
    _SC_2_PBS_LOCATE___216 = 170,
    _SC_2_PBS_MESSAGE___216 = 171,
    _SC_2_PBS_TRACK___216 = 172,
    _SC_SYMLOOP_MAX___216 = 173,
    _SC_STREAMS___216 = 174,
    _SC_2_PBS_CHECKPOINT___216 = 175,
    _SC_V6_ILP32_OFF32___216 = 176,
    _SC_V6_ILP32_OFFBIG___216 = 177,
    _SC_V6_LP64_OFF64___216 = 178,
    _SC_V6_LPBIG_OFFBIG___216 = 179,
    _SC_HOST_NAME_MAX___216 = 180,
    _SC_TRACE___216 = 181,
    _SC_TRACE_EVENT_FILTER___216 = 182,
    _SC_TRACE_INHERIT___216 = 183,
    _SC_TRACE_LOG___216 = 184,
    _SC_LEVEL1_ICACHE_SIZE___216 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___216 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___216 = 187,
    _SC_LEVEL1_DCACHE_SIZE___216 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___216 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___216 = 190,
    _SC_LEVEL2_CACHE_SIZE___216 = 191,
    _SC_LEVEL2_CACHE_ASSOC___216 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___216 = 193,
    _SC_LEVEL3_CACHE_SIZE___216 = 194,
    _SC_LEVEL3_CACHE_ASSOC___216 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___216 = 196,
    _SC_LEVEL4_CACHE_SIZE___216 = 197,
    _SC_LEVEL4_CACHE_ASSOC___216 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___216 = 199,
    _SC_IPV6___216 = 235,
    _SC_RAW_SOCKETS___216 = 236,
    _SC_V7_ILP32_OFF32___216 = 237,
    _SC_V7_ILP32_OFFBIG___216 = 238,
    _SC_V7_LP64_OFF64___216 = 239,
    _SC_V7_LPBIG_OFFBIG___216 = 240,
    _SC_SS_REPL_MAX___216 = 241,
    _SC_TRACE_EVENT_NAME_MAX___216 = 242,
    _SC_TRACE_NAME_MAX___216 = 243,
    _SC_TRACE_SYS_MAX___216 = 244,
    _SC_TRACE_USER_EVENT_MAX___216 = 245,
    _SC_XOPEN_STREAMS___216 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___216 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___216 = 248
} ;
enum __anonenum_875524036___216 {
    _CS_PATH___216 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___216 = 1,
    _CS_GNU_LIBC_VERSION___216 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___216 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___216 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___216 = 5,
    _CS_LFS_CFLAGS___216 = 1000,
    _CS_LFS_LDFLAGS___216 = 1001,
    _CS_LFS_LIBS___216 = 1002,
    _CS_LFS_LINTFLAGS___216 = 1003,
    _CS_LFS64_CFLAGS___216 = 1004,
    _CS_LFS64_LDFLAGS___216 = 1005,
    _CS_LFS64_LIBS___216 = 1006,
    _CS_LFS64_LINTFLAGS___216 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___216 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___216 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___216 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___216 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___216 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___216 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___216 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___216 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___216 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___216 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___216 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___216 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___216 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___216 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___216 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___216 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___216 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___216 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___216 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___216 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___216 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___216 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___216 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___216 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___216 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___216 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___216 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___216 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___216 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___216 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___216 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___216 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___216 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___216 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___216 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___216 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___216 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___216 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___216 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___216 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___216 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___216 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___216 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___216 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___216 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___216 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___216 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___216 = 1147,
    _CS_V6_ENV___216 = 1148,
    _CS_V7_ENV___216 = 1149
} ;
enum __anonenum_513775621___216 {
    DT_UNKNOWN___216 = 0,
    DT_FIFO___216 = 1,
    DT_CHR___216 = 2,
    DT_DIR___216 = 4,
    DT_BLK___216 = 6,
    DT_REG___216 = 8,
    DT_LNK___216 = 10,
    DT_SOCK___216 = 12,
    DT_WHT___216 = 14
} ;
enum __anonenum_77002343___216 {
    SI_ASYNCNL___216 = -60,
    SI_TKILL___216 = -6,
    SI_SIGIO___216 = -5,
    SI_ASYNCIO___216 = -4,
    SI_MESGQ___216 = -3,
    SI_TIMER___216 = -2,
    SI_QUEUE___216 = -1,
    SI_USER___216 = 0,
    SI_KERNEL___216 = 128
} ;
enum __anonenum_131038172___216 {
    ILL_ILLOPC___216 = 1,
    ILL_ILLOPN___216 = 2,
    ILL_ILLADR___216 = 3,
    ILL_ILLTRP___216 = 4,
    ILL_PRVOPC___216 = 5,
    ILL_PRVREG___216 = 6,
    ILL_COPROC___216 = 7,
    ILL_BADSTK___216 = 8
} ;
enum __anonenum_452038093___216 {
    FPE_INTDIV___216 = 1,
    FPE_INTOVF___216 = 2,
    FPE_FLTDIV___216 = 3,
    FPE_FLTOVF___216 = 4,
    FPE_FLTUND___216 = 5,
    FPE_FLTRES___216 = 6,
    FPE_FLTINV___216 = 7,
    FPE_FLTSUB___216 = 8
} ;
enum __anonenum_30976155___216 {
    SEGV_MAPERR___216 = 1,
    SEGV_ACCERR___216 = 2,
    SEGV_BNDERR___216 = 3,
    SEGV_PKUERR___216 = 4
} ;
enum __anonenum_1036286214___216 {
    BUS_ADRALN___216 = 1,
    BUS_ADRERR___216 = 2,
    BUS_OBJERR___216 = 3,
    BUS_MCEERR_AR___216 = 4,
    BUS_MCEERR_AO___216 = 5
} ;
enum __anonenum_493465559___216 {
    TRAP_BRKPT___216 = 1,
    TRAP_TRACE___216 = 2
} ;
enum __anonenum_23175539___216 {
    CLD_EXITED___216 = 1,
    CLD_KILLED___216 = 2,
    CLD_DUMPED___216 = 3,
    CLD_TRAPPED___216 = 4,
    CLD_STOPPED___216 = 5,
    CLD_CONTINUED___216 = 6
} ;
enum __anonenum_111643124___216 {
    POLL_IN___216 = 1,
    POLL_OUT___216 = 2,
    POLL_MSG___216 = 3,
    POLL_ERR___216 = 4,
    POLL_PRI___216 = 5,
    POLL_HUP___216 = 6
} ;
enum __anonenum_852341087___216 {
    SIGEV_SIGNAL___216 = 0,
    SIGEV_NONE___216 = 1,
    SIGEV_THREAD___216 = 2,
    SIGEV_THREAD_ID___216 = 4
} ;
enum __anonenum_451154152___216 {
    REG_R8___216 = 0,
    REG_R9___216 = 1,
    REG_R10___216 = 2,
    REG_R11___216 = 3,
    REG_R12___216 = 4,
    REG_R13___216 = 5,
    REG_R14___216 = 6,
    REG_R15___216 = 7,
    REG_RDI___216 = 8,
    REG_RSI___216 = 9,
    REG_RBP___216 = 10,
    REG_RBX___216 = 11,
    REG_RDX___216 = 12,
    REG_RAX___216 = 13,
    REG_RCX___216 = 14,
    REG_RSP___216 = 15,
    REG_RIP___216 = 16,
    REG_EFL___216 = 17,
    REG_CSGSFS___216 = 18,
    REG_ERR___216 = 19,
    REG_TRAPNO___216 = 20,
    REG_OLDMASK___216 = 21,
    REG_CR2___216 = 22
} ;
enum __anonenum_57186863___216 {
    SS_ONSTACK___216 = 1,
    SS_DISABLE___216 = 2
} ;
enum __anonenum_83571709___216 {
    MSG_OOB___216 = 1,
    MSG_PEEK___216 = 2,
    MSG_DONTROUTE___216 = 4,
    MSG_TRYHARD___216 = 4,
    MSG_CTRUNC___216 = 8,
    MSG_PROXY___216 = 16,
    MSG_TRUNC___216 = 32,
    MSG_DONTWAIT___216 = 64,
    MSG_EOR___216 = 128,
    MSG_WAITALL___216 = 256,
    MSG_FIN___216 = 512,
    MSG_SYN___216 = 1024,
    MSG_CONFIRM___216 = 2048,
    MSG_RST___216 = 4096,
    MSG_ERRQUEUE___216 = 8192,
    MSG_NOSIGNAL___216 = 16384,
    MSG_MORE___216 = 32768,
    MSG_WAITFORONE___216 = 65536,
    MSG_BATCH___216 = 262144,
    MSG_ZEROCOPY___216 = 67108864,
    MSG_FASTOPEN___216 = 536870912,
    MSG_CMSG_CLOEXEC___216 = 1073741824
} ;
enum __anonenum_617082774___216 {
    SCM_RIGHTS___216 = 1,
    SCM_CREDENTIALS___216 = 2
} ;
enum __anonenum_606441560___216 {
    SHUT_RD___216 = 0,
    SHUT_WR___216 = 1,
    SHUT_RDWR___216 = 2
} ;
enum __anonenum_681669233___216 {
    IPPROTO_IP___216 = 0,
    IPPROTO_ICMP___216 = 1,
    IPPROTO_IGMP___216 = 2,
    IPPROTO_IPIP___216 = 4,
    IPPROTO_TCP___216 = 6,
    IPPROTO_EGP___216 = 8,
    IPPROTO_PUP___216 = 12,
    IPPROTO_UDP___216 = 17,
    IPPROTO_IDP___216 = 22,
    IPPROTO_TP___216 = 29,
    IPPROTO_DCCP___216 = 33,
    IPPROTO_IPV6___216 = 41,
    IPPROTO_RSVP___216 = 46,
    IPPROTO_GRE___216 = 47,
    IPPROTO_ESP___216 = 50,
    IPPROTO_AH___216 = 51,
    IPPROTO_MTP___216 = 92,
    IPPROTO_BEETPH___216 = 94,
    IPPROTO_ENCAP___216 = 98,
    IPPROTO_PIM___216 = 103,
    IPPROTO_COMP___216 = 108,
    IPPROTO_SCTP___216 = 132,
    IPPROTO_UDPLITE___216 = 136,
    IPPROTO_MPLS___216 = 137,
    IPPROTO_RAW___216 = 255,
    IPPROTO_MAX___216 = 256
} ;
enum __anonenum_218739988___216 {
    IPPROTO_HOPOPTS___216 = 0,
    IPPROTO_ROUTING___216 = 43,
    IPPROTO_FRAGMENT___216 = 44,
    IPPROTO_ICMPV6___216 = 58,
    IPPROTO_NONE___216 = 59,
    IPPROTO_DSTOPTS___216 = 60,
    IPPROTO_MH___216 = 135
} ;
enum __anonenum_662268580___216 {
    IPPORT_ECHO___216 = 7,
    IPPORT_DISCARD___216 = 9,
    IPPORT_SYSTAT___216 = 11,
    IPPORT_DAYTIME___216 = 13,
    IPPORT_NETSTAT___216 = 15,
    IPPORT_FTP___216 = 21,
    IPPORT_TELNET___216 = 23,
    IPPORT_SMTP___216 = 25,
    IPPORT_TIMESERVER___216 = 37,
    IPPORT_NAMESERVER___216 = 42,
    IPPORT_WHOIS___216 = 43,
    IPPORT_MTP___216 = 57,
    IPPORT_TFTP___216 = 69,
    IPPORT_RJE___216 = 77,
    IPPORT_FINGER___216 = 79,
    IPPORT_TTYLINK___216 = 87,
    IPPORT_SUPDUP___216 = 95,
    IPPORT_EXECSERVER___216 = 512,
    IPPORT_LOGINSERVER___216 = 513,
    IPPORT_CMDSERVER___216 = 514,
    IPPORT_EFSSERVER___216 = 520,
    IPPORT_BIFFUDP___216 = 512,
    IPPORT_WHOSERVER___216 = 513,
    IPPORT_ROUTESERVER___216 = 520,
    IPPORT_RESERVED___216 = 1024,
    IPPORT_USERRESERVED___216 = 5000
} ;
enum __anonenum_788308992___216 {
    TCP_ESTABLISHED___216 = 1,
    TCP_SYN_SENT___216 = 2,
    TCP_SYN_RECV___216 = 3,
    TCP_FIN_WAIT1___216 = 4,
    TCP_FIN_WAIT2___216 = 5,
    TCP_TIME_WAIT___216 = 6,
    TCP_CLOSE___216 = 7,
    TCP_CLOSE_WAIT___216 = 8,
    TCP_LAST_ACK___216 = 9,
    TCP_LISTEN___216 = 10,
    TCP_CLOSING___216 = 11
} ;
enum __anonenum_221125648___216 {
    TCP_NO_QUEUE___216 = 0,
    TCP_RECV_QUEUE___216 = 1,
    TCP_SEND_QUEUE___216 = 2,
    TCP_QUEUES_NR___216 = 3
} ;
enum __anonenum_34415463___216 {
    PTHREAD_CREATE_JOINABLE___216 = 0,
    PTHREAD_CREATE_DETACHED___216 = 1
} ;
enum __anonenum_303612439___216 {
    PTHREAD_MUTEX_TIMED_NP___216 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___216 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___216 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___216 = 3,
    PTHREAD_MUTEX_NORMAL___216 = 0,
    PTHREAD_MUTEX_RECURSIVE___216 = 1,
    PTHREAD_MUTEX_ERRORCHECK___216 = 2,
    PTHREAD_MUTEX_DEFAULT___216 = 0,
    PTHREAD_MUTEX_FAST_NP___216 = 0
} ;
enum __anonenum_931900394___216 {
    PTHREAD_MUTEX_STALLED___216 = 0,
    PTHREAD_MUTEX_STALLED_NP___216 = 0,
    PTHREAD_MUTEX_ROBUST___216 = 1,
    PTHREAD_MUTEX_ROBUST_NP___216 = 1
} ;
enum __anonenum_205214487___216 {
    PTHREAD_PRIO_NONE___216 = 0,
    PTHREAD_PRIO_INHERIT___216 = 1,
    PTHREAD_PRIO_PROTECT___216 = 2
} ;
enum __anonenum_25043950___216 {
    PTHREAD_RWLOCK_PREFER_READER_NP___216 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___216 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___216 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___216 = 0
} ;
enum __anonenum_436439511___216 {
    PTHREAD_INHERIT_SCHED___216 = 0,
    PTHREAD_EXPLICIT_SCHED___216 = 1
} ;
enum __anonenum_998661166___216 {
    PTHREAD_SCOPE_SYSTEM___216 = 0,
    PTHREAD_SCOPE_PROCESS___216 = 1
} ;
enum __anonenum_146137331___216 {
    PTHREAD_PROCESS_PRIVATE___216 = 0,
    PTHREAD_PROCESS_SHARED___216 = 1
} ;
enum __anonenum_53396917___216 {
    PTHREAD_CANCEL_ENABLE___216 = 0,
    PTHREAD_CANCEL_DISABLE___216 = 1
} ;
enum __anonenum_904563783___216 {
    PTHREAD_CANCEL_DEFERRED___216 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___216 = 1
} ;
enum __anonenum_672052974___216 {
    SSL_CT_VALIDATION_PERMISSIVE___216 = 0,
    SSL_CT_VALIDATION_STRICT___216 = 1
} ;
enum __anonenum_437032235___217 {
    _PC_LINK_MAX___217 = 0,
    _PC_MAX_CANON___217 = 1,
    _PC_MAX_INPUT___217 = 2,
    _PC_NAME_MAX___217 = 3,
    _PC_PATH_MAX___217 = 4,
    _PC_PIPE_BUF___217 = 5,
    _PC_CHOWN_RESTRICTED___217 = 6,
    _PC_NO_TRUNC___217 = 7,
    _PC_VDISABLE___217 = 8,
    _PC_SYNC_IO___217 = 9,
    _PC_ASYNC_IO___217 = 10,
    _PC_PRIO_IO___217 = 11,
    _PC_SOCK_MAXBUF___217 = 12,
    _PC_FILESIZEBITS___217 = 13,
    _PC_REC_INCR_XFER_SIZE___217 = 14,
    _PC_REC_MAX_XFER_SIZE___217 = 15,
    _PC_REC_MIN_XFER_SIZE___217 = 16,
    _PC_REC_XFER_ALIGN___217 = 17,
    _PC_ALLOC_SIZE_MIN___217 = 18,
    _PC_SYMLINK_MAX___217 = 19,
    _PC_2_SYMLINKS___217 = 20
} ;
enum __anonenum_315186338___217 {
    _SC_ARG_MAX___217 = 0,
    _SC_CHILD_MAX___217 = 1,
    _SC_CLK_TCK___217 = 2,
    _SC_NGROUPS_MAX___217 = 3,
    _SC_OPEN_MAX___217 = 4,
    _SC_STREAM_MAX___217 = 5,
    _SC_TZNAME_MAX___217 = 6,
    _SC_JOB_CONTROL___217 = 7,
    _SC_SAVED_IDS___217 = 8,
    _SC_REALTIME_SIGNALS___217 = 9,
    _SC_PRIORITY_SCHEDULING___217 = 10,
    _SC_TIMERS___217 = 11,
    _SC_ASYNCHRONOUS_IO___217 = 12,
    _SC_PRIORITIZED_IO___217 = 13,
    _SC_SYNCHRONIZED_IO___217 = 14,
    _SC_FSYNC___217 = 15,
    _SC_MAPPED_FILES___217 = 16,
    _SC_MEMLOCK___217 = 17,
    _SC_MEMLOCK_RANGE___217 = 18,
    _SC_MEMORY_PROTECTION___217 = 19,
    _SC_MESSAGE_PASSING___217 = 20,
    _SC_SEMAPHORES___217 = 21,
    _SC_SHARED_MEMORY_OBJECTS___217 = 22,
    _SC_AIO_LISTIO_MAX___217 = 23,
    _SC_AIO_MAX___217 = 24,
    _SC_AIO_PRIO_DELTA_MAX___217 = 25,
    _SC_DELAYTIMER_MAX___217 = 26,
    _SC_MQ_OPEN_MAX___217 = 27,
    _SC_MQ_PRIO_MAX___217 = 28,
    _SC_VERSION___217 = 29,
    _SC_PAGESIZE___217 = 30,
    _SC_RTSIG_MAX___217 = 31,
    _SC_SEM_NSEMS_MAX___217 = 32,
    _SC_SEM_VALUE_MAX___217 = 33,
    _SC_SIGQUEUE_MAX___217 = 34,
    _SC_TIMER_MAX___217 = 35,
    _SC_BC_BASE_MAX___217 = 36,
    _SC_BC_DIM_MAX___217 = 37,
    _SC_BC_SCALE_MAX___217 = 38,
    _SC_BC_STRING_MAX___217 = 39,
    _SC_COLL_WEIGHTS_MAX___217 = 40,
    _SC_EQUIV_CLASS_MAX___217 = 41,
    _SC_EXPR_NEST_MAX___217 = 42,
    _SC_LINE_MAX___217 = 43,
    _SC_RE_DUP_MAX___217 = 44,
    _SC_CHARCLASS_NAME_MAX___217 = 45,
    _SC_2_VERSION___217 = 46,
    _SC_2_C_BIND___217 = 47,
    _SC_2_C_DEV___217 = 48,
    _SC_2_FORT_DEV___217 = 49,
    _SC_2_FORT_RUN___217 = 50,
    _SC_2_SW_DEV___217 = 51,
    _SC_2_LOCALEDEF___217 = 52,
    _SC_PII___217 = 53,
    _SC_PII_XTI___217 = 54,
    _SC_PII_SOCKET___217 = 55,
    _SC_PII_INTERNET___217 = 56,
    _SC_PII_OSI___217 = 57,
    _SC_POLL___217 = 58,
    _SC_SELECT___217 = 59,
    _SC_UIO_MAXIOV___217 = 60,
    _SC_IOV_MAX___217 = 60,
    _SC_PII_INTERNET_STREAM___217 = 61,
    _SC_PII_INTERNET_DGRAM___217 = 62,
    _SC_PII_OSI_COTS___217 = 63,
    _SC_PII_OSI_CLTS___217 = 64,
    _SC_PII_OSI_M___217 = 65,
    _SC_T_IOV_MAX___217 = 66,
    _SC_THREADS___217 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___217 = 68,
    _SC_GETGR_R_SIZE_MAX___217 = 69,
    _SC_GETPW_R_SIZE_MAX___217 = 70,
    _SC_LOGIN_NAME_MAX___217 = 71,
    _SC_TTY_NAME_MAX___217 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___217 = 73,
    _SC_THREAD_KEYS_MAX___217 = 74,
    _SC_THREAD_STACK_MIN___217 = 75,
    _SC_THREAD_THREADS_MAX___217 = 76,
    _SC_THREAD_ATTR_STACKADDR___217 = 77,
    _SC_THREAD_ATTR_STACKSIZE___217 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___217 = 79,
    _SC_THREAD_PRIO_INHERIT___217 = 80,
    _SC_THREAD_PRIO_PROTECT___217 = 81,
    _SC_THREAD_PROCESS_SHARED___217 = 82,
    _SC_NPROCESSORS_CONF___217 = 83,
    _SC_NPROCESSORS_ONLN___217 = 84,
    _SC_PHYS_PAGES___217 = 85,
    _SC_AVPHYS_PAGES___217 = 86,
    _SC_ATEXIT_MAX___217 = 87,
    _SC_PASS_MAX___217 = 88,
    _SC_XOPEN_VERSION___217 = 89,
    _SC_XOPEN_XCU_VERSION___217 = 90,
    _SC_XOPEN_UNIX___217 = 91,
    _SC_XOPEN_CRYPT___217 = 92,
    _SC_XOPEN_ENH_I18N___217 = 93,
    _SC_XOPEN_SHM___217 = 94,
    _SC_2_CHAR_TERM___217 = 95,
    _SC_2_C_VERSION___217 = 96,
    _SC_2_UPE___217 = 97,
    _SC_XOPEN_XPG2___217 = 98,
    _SC_XOPEN_XPG3___217 = 99,
    _SC_XOPEN_XPG4___217 = 100,
    _SC_CHAR_BIT___217 = 101,
    _SC_CHAR_MAX___217 = 102,
    _SC_CHAR_MIN___217 = 103,
    _SC_INT_MAX___217 = 104,
    _SC_INT_MIN___217 = 105,
    _SC_LONG_BIT___217 = 106,
    _SC_WORD_BIT___217 = 107,
    _SC_MB_LEN_MAX___217 = 108,
    _SC_NZERO___217 = 109,
    _SC_SSIZE_MAX___217 = 110,
    _SC_SCHAR_MAX___217 = 111,
    _SC_SCHAR_MIN___217 = 112,
    _SC_SHRT_MAX___217 = 113,
    _SC_SHRT_MIN___217 = 114,
    _SC_UCHAR_MAX___217 = 115,
    _SC_UINT_MAX___217 = 116,
    _SC_ULONG_MAX___217 = 117,
    _SC_USHRT_MAX___217 = 118,
    _SC_NL_ARGMAX___217 = 119,
    _SC_NL_LANGMAX___217 = 120,
    _SC_NL_MSGMAX___217 = 121,
    _SC_NL_NMAX___217 = 122,
    _SC_NL_SETMAX___217 = 123,
    _SC_NL_TEXTMAX___217 = 124,
    _SC_XBS5_ILP32_OFF32___217 = 125,
    _SC_XBS5_ILP32_OFFBIG___217 = 126,
    _SC_XBS5_LP64_OFF64___217 = 127,
    _SC_XBS5_LPBIG_OFFBIG___217 = 128,
    _SC_XOPEN_LEGACY___217 = 129,
    _SC_XOPEN_REALTIME___217 = 130,
    _SC_XOPEN_REALTIME_THREADS___217 = 131,
    _SC_ADVISORY_INFO___217 = 132,
    _SC_BARRIERS___217 = 133,
    _SC_BASE___217 = 134,
    _SC_C_LANG_SUPPORT___217 = 135,
    _SC_C_LANG_SUPPORT_R___217 = 136,
    _SC_CLOCK_SELECTION___217 = 137,
    _SC_CPUTIME___217 = 138,
    _SC_THREAD_CPUTIME___217 = 139,
    _SC_DEVICE_IO___217 = 140,
    _SC_DEVICE_SPECIFIC___217 = 141,
    _SC_DEVICE_SPECIFIC_R___217 = 142,
    _SC_FD_MGMT___217 = 143,
    _SC_FIFO___217 = 144,
    _SC_PIPE___217 = 145,
    _SC_FILE_ATTRIBUTES___217 = 146,
    _SC_FILE_LOCKING___217 = 147,
    _SC_FILE_SYSTEM___217 = 148,
    _SC_MONOTONIC_CLOCK___217 = 149,
    _SC_MULTI_PROCESS___217 = 150,
    _SC_SINGLE_PROCESS___217 = 151,
    _SC_NETWORKING___217 = 152,
    _SC_READER_WRITER_LOCKS___217 = 153,
    _SC_SPIN_LOCKS___217 = 154,
    _SC_REGEXP___217 = 155,
    _SC_REGEX_VERSION___217 = 156,
    _SC_SHELL___217 = 157,
    _SC_SIGNALS___217 = 158,
    _SC_SPAWN___217 = 159,
    _SC_SPORADIC_SERVER___217 = 160,
    _SC_THREAD_SPORADIC_SERVER___217 = 161,
    _SC_SYSTEM_DATABASE___217 = 162,
    _SC_SYSTEM_DATABASE_R___217 = 163,
    _SC_TIMEOUTS___217 = 164,
    _SC_TYPED_MEMORY_OBJECTS___217 = 165,
    _SC_USER_GROUPS___217 = 166,
    _SC_USER_GROUPS_R___217 = 167,
    _SC_2_PBS___217 = 168,
    _SC_2_PBS_ACCOUNTING___217 = 169,
    _SC_2_PBS_LOCATE___217 = 170,
    _SC_2_PBS_MESSAGE___217 = 171,
    _SC_2_PBS_TRACK___217 = 172,
    _SC_SYMLOOP_MAX___217 = 173,
    _SC_STREAMS___217 = 174,
    _SC_2_PBS_CHECKPOINT___217 = 175,
    _SC_V6_ILP32_OFF32___217 = 176,
    _SC_V6_ILP32_OFFBIG___217 = 177,
    _SC_V6_LP64_OFF64___217 = 178,
    _SC_V6_LPBIG_OFFBIG___217 = 179,
    _SC_HOST_NAME_MAX___217 = 180,
    _SC_TRACE___217 = 181,
    _SC_TRACE_EVENT_FILTER___217 = 182,
    _SC_TRACE_INHERIT___217 = 183,
    _SC_TRACE_LOG___217 = 184,
    _SC_LEVEL1_ICACHE_SIZE___217 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___217 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___217 = 187,
    _SC_LEVEL1_DCACHE_SIZE___217 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___217 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___217 = 190,
    _SC_LEVEL2_CACHE_SIZE___217 = 191,
    _SC_LEVEL2_CACHE_ASSOC___217 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___217 = 193,
    _SC_LEVEL3_CACHE_SIZE___217 = 194,
    _SC_LEVEL3_CACHE_ASSOC___217 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___217 = 196,
    _SC_LEVEL4_CACHE_SIZE___217 = 197,
    _SC_LEVEL4_CACHE_ASSOC___217 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___217 = 199,
    _SC_IPV6___217 = 235,
    _SC_RAW_SOCKETS___217 = 236,
    _SC_V7_ILP32_OFF32___217 = 237,
    _SC_V7_ILP32_OFFBIG___217 = 238,
    _SC_V7_LP64_OFF64___217 = 239,
    _SC_V7_LPBIG_OFFBIG___217 = 240,
    _SC_SS_REPL_MAX___217 = 241,
    _SC_TRACE_EVENT_NAME_MAX___217 = 242,
    _SC_TRACE_NAME_MAX___217 = 243,
    _SC_TRACE_SYS_MAX___217 = 244,
    _SC_TRACE_USER_EVENT_MAX___217 = 245,
    _SC_XOPEN_STREAMS___217 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___217 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___217 = 248
} ;
enum __anonenum_875524036___217 {
    _CS_PATH___217 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___217 = 1,
    _CS_GNU_LIBC_VERSION___217 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___217 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___217 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___217 = 5,
    _CS_LFS_CFLAGS___217 = 1000,
    _CS_LFS_LDFLAGS___217 = 1001,
    _CS_LFS_LIBS___217 = 1002,
    _CS_LFS_LINTFLAGS___217 = 1003,
    _CS_LFS64_CFLAGS___217 = 1004,
    _CS_LFS64_LDFLAGS___217 = 1005,
    _CS_LFS64_LIBS___217 = 1006,
    _CS_LFS64_LINTFLAGS___217 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___217 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___217 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___217 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___217 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___217 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___217 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___217 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___217 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___217 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___217 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___217 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___217 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___217 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___217 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___217 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___217 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___217 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___217 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___217 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___217 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___217 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___217 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___217 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___217 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___217 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___217 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___217 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___217 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___217 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___217 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___217 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___217 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___217 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___217 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___217 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___217 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___217 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___217 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___217 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___217 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___217 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___217 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___217 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___217 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___217 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___217 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___217 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___217 = 1147,
    _CS_V6_ENV___217 = 1148,
    _CS_V7_ENV___217 = 1149
} ;
enum __anonenum_513775621___217 {
    DT_UNKNOWN___217 = 0,
    DT_FIFO___217 = 1,
    DT_CHR___217 = 2,
    DT_DIR___217 = 4,
    DT_BLK___217 = 6,
    DT_REG___217 = 8,
    DT_LNK___217 = 10,
    DT_SOCK___217 = 12,
    DT_WHT___217 = 14
} ;
enum __anonenum_77002343___217 {
    SI_ASYNCNL___217 = -60,
    SI_TKILL___217 = -6,
    SI_SIGIO___217 = -5,
    SI_ASYNCIO___217 = -4,
    SI_MESGQ___217 = -3,
    SI_TIMER___217 = -2,
    SI_QUEUE___217 = -1,
    SI_USER___217 = 0,
    SI_KERNEL___217 = 128
} ;
enum __anonenum_131038172___217 {
    ILL_ILLOPC___217 = 1,
    ILL_ILLOPN___217 = 2,
    ILL_ILLADR___217 = 3,
    ILL_ILLTRP___217 = 4,
    ILL_PRVOPC___217 = 5,
    ILL_PRVREG___217 = 6,
    ILL_COPROC___217 = 7,
    ILL_BADSTK___217 = 8
} ;
enum __anonenum_452038093___217 {
    FPE_INTDIV___217 = 1,
    FPE_INTOVF___217 = 2,
    FPE_FLTDIV___217 = 3,
    FPE_FLTOVF___217 = 4,
    FPE_FLTUND___217 = 5,
    FPE_FLTRES___217 = 6,
    FPE_FLTINV___217 = 7,
    FPE_FLTSUB___217 = 8
} ;
enum __anonenum_30976155___217 {
    SEGV_MAPERR___217 = 1,
    SEGV_ACCERR___217 = 2,
    SEGV_BNDERR___217 = 3,
    SEGV_PKUERR___217 = 4
} ;
enum __anonenum_1036286214___217 {
    BUS_ADRALN___217 = 1,
    BUS_ADRERR___217 = 2,
    BUS_OBJERR___217 = 3,
    BUS_MCEERR_AR___217 = 4,
    BUS_MCEERR_AO___217 = 5
} ;
enum __anonenum_493465559___217 {
    TRAP_BRKPT___217 = 1,
    TRAP_TRACE___217 = 2
} ;
enum __anonenum_23175539___217 {
    CLD_EXITED___217 = 1,
    CLD_KILLED___217 = 2,
    CLD_DUMPED___217 = 3,
    CLD_TRAPPED___217 = 4,
    CLD_STOPPED___217 = 5,
    CLD_CONTINUED___217 = 6
} ;
enum __anonenum_111643124___217 {
    POLL_IN___217 = 1,
    POLL_OUT___217 = 2,
    POLL_MSG___217 = 3,
    POLL_ERR___217 = 4,
    POLL_PRI___217 = 5,
    POLL_HUP___217 = 6
} ;
enum __anonenum_852341087___217 {
    SIGEV_SIGNAL___217 = 0,
    SIGEV_NONE___217 = 1,
    SIGEV_THREAD___217 = 2,
    SIGEV_THREAD_ID___217 = 4
} ;
enum __anonenum_451154152___217 {
    REG_R8___217 = 0,
    REG_R9___217 = 1,
    REG_R10___217 = 2,
    REG_R11___217 = 3,
    REG_R12___217 = 4,
    REG_R13___217 = 5,
    REG_R14___217 = 6,
    REG_R15___217 = 7,
    REG_RDI___217 = 8,
    REG_RSI___217 = 9,
    REG_RBP___217 = 10,
    REG_RBX___217 = 11,
    REG_RDX___217 = 12,
    REG_RAX___217 = 13,
    REG_RCX___217 = 14,
    REG_RSP___217 = 15,
    REG_RIP___217 = 16,
    REG_EFL___217 = 17,
    REG_CSGSFS___217 = 18,
    REG_ERR___217 = 19,
    REG_TRAPNO___217 = 20,
    REG_OLDMASK___217 = 21,
    REG_CR2___217 = 22
} ;
enum __anonenum_57186863___217 {
    SS_ONSTACK___217 = 1,
    SS_DISABLE___217 = 2
} ;
enum __anonenum_83571709___217 {
    MSG_OOB___217 = 1,
    MSG_PEEK___217 = 2,
    MSG_DONTROUTE___217 = 4,
    MSG_TRYHARD___217 = 4,
    MSG_CTRUNC___217 = 8,
    MSG_PROXY___217 = 16,
    MSG_TRUNC___217 = 32,
    MSG_DONTWAIT___217 = 64,
    MSG_EOR___217 = 128,
    MSG_WAITALL___217 = 256,
    MSG_FIN___217 = 512,
    MSG_SYN___217 = 1024,
    MSG_CONFIRM___217 = 2048,
    MSG_RST___217 = 4096,
    MSG_ERRQUEUE___217 = 8192,
    MSG_NOSIGNAL___217 = 16384,
    MSG_MORE___217 = 32768,
    MSG_WAITFORONE___217 = 65536,
    MSG_BATCH___217 = 262144,
    MSG_ZEROCOPY___217 = 67108864,
    MSG_FASTOPEN___217 = 536870912,
    MSG_CMSG_CLOEXEC___217 = 1073741824
} ;
enum __anonenum_617082774___217 {
    SCM_RIGHTS___217 = 1,
    SCM_CREDENTIALS___217 = 2
} ;
enum __anonenum_606441560___217 {
    SHUT_RD___217 = 0,
    SHUT_WR___217 = 1,
    SHUT_RDWR___217 = 2
} ;
enum __anonenum_681669233___217 {
    IPPROTO_IP___217 = 0,
    IPPROTO_ICMP___217 = 1,
    IPPROTO_IGMP___217 = 2,
    IPPROTO_IPIP___217 = 4,
    IPPROTO_TCP___217 = 6,
    IPPROTO_EGP___217 = 8,
    IPPROTO_PUP___217 = 12,
    IPPROTO_UDP___217 = 17,
    IPPROTO_IDP___217 = 22,
    IPPROTO_TP___217 = 29,
    IPPROTO_DCCP___217 = 33,
    IPPROTO_IPV6___217 = 41,
    IPPROTO_RSVP___217 = 46,
    IPPROTO_GRE___217 = 47,
    IPPROTO_ESP___217 = 50,
    IPPROTO_AH___217 = 51,
    IPPROTO_MTP___217 = 92,
    IPPROTO_BEETPH___217 = 94,
    IPPROTO_ENCAP___217 = 98,
    IPPROTO_PIM___217 = 103,
    IPPROTO_COMP___217 = 108,
    IPPROTO_SCTP___217 = 132,
    IPPROTO_UDPLITE___217 = 136,
    IPPROTO_MPLS___217 = 137,
    IPPROTO_RAW___217 = 255,
    IPPROTO_MAX___217 = 256
} ;
enum __anonenum_218739988___217 {
    IPPROTO_HOPOPTS___217 = 0,
    IPPROTO_ROUTING___217 = 43,
    IPPROTO_FRAGMENT___217 = 44,
    IPPROTO_ICMPV6___217 = 58,
    IPPROTO_NONE___217 = 59,
    IPPROTO_DSTOPTS___217 = 60,
    IPPROTO_MH___217 = 135
} ;
enum __anonenum_662268580___217 {
    IPPORT_ECHO___217 = 7,
    IPPORT_DISCARD___217 = 9,
    IPPORT_SYSTAT___217 = 11,
    IPPORT_DAYTIME___217 = 13,
    IPPORT_NETSTAT___217 = 15,
    IPPORT_FTP___217 = 21,
    IPPORT_TELNET___217 = 23,
    IPPORT_SMTP___217 = 25,
    IPPORT_TIMESERVER___217 = 37,
    IPPORT_NAMESERVER___217 = 42,
    IPPORT_WHOIS___217 = 43,
    IPPORT_MTP___217 = 57,
    IPPORT_TFTP___217 = 69,
    IPPORT_RJE___217 = 77,
    IPPORT_FINGER___217 = 79,
    IPPORT_TTYLINK___217 = 87,
    IPPORT_SUPDUP___217 = 95,
    IPPORT_EXECSERVER___217 = 512,
    IPPORT_LOGINSERVER___217 = 513,
    IPPORT_CMDSERVER___217 = 514,
    IPPORT_EFSSERVER___217 = 520,
    IPPORT_BIFFUDP___217 = 512,
    IPPORT_WHOSERVER___217 = 513,
    IPPORT_ROUTESERVER___217 = 520,
    IPPORT_RESERVED___217 = 1024,
    IPPORT_USERRESERVED___217 = 5000
} ;
enum __anonenum_788308992___217 {
    TCP_ESTABLISHED___217 = 1,
    TCP_SYN_SENT___217 = 2,
    TCP_SYN_RECV___217 = 3,
    TCP_FIN_WAIT1___217 = 4,
    TCP_FIN_WAIT2___217 = 5,
    TCP_TIME_WAIT___217 = 6,
    TCP_CLOSE___217 = 7,
    TCP_CLOSE_WAIT___217 = 8,
    TCP_LAST_ACK___217 = 9,
    TCP_LISTEN___217 = 10,
    TCP_CLOSING___217 = 11
} ;
enum __anonenum_221125648___217 {
    TCP_NO_QUEUE___217 = 0,
    TCP_RECV_QUEUE___217 = 1,
    TCP_SEND_QUEUE___217 = 2,
    TCP_QUEUES_NR___217 = 3
} ;
enum __anonenum_34415463___217 {
    PTHREAD_CREATE_JOINABLE___217 = 0,
    PTHREAD_CREATE_DETACHED___217 = 1
} ;
enum __anonenum_303612439___217 {
    PTHREAD_MUTEX_TIMED_NP___217 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___217 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___217 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___217 = 3,
    PTHREAD_MUTEX_NORMAL___217 = 0,
    PTHREAD_MUTEX_RECURSIVE___217 = 1,
    PTHREAD_MUTEX_ERRORCHECK___217 = 2,
    PTHREAD_MUTEX_DEFAULT___217 = 0,
    PTHREAD_MUTEX_FAST_NP___217 = 0
} ;
enum __anonenum_931900394___217 {
    PTHREAD_MUTEX_STALLED___217 = 0,
    PTHREAD_MUTEX_STALLED_NP___217 = 0,
    PTHREAD_MUTEX_ROBUST___217 = 1,
    PTHREAD_MUTEX_ROBUST_NP___217 = 1
} ;
enum __anonenum_205214487___217 {
    PTHREAD_PRIO_NONE___217 = 0,
    PTHREAD_PRIO_INHERIT___217 = 1,
    PTHREAD_PRIO_PROTECT___217 = 2
} ;
enum __anonenum_25043950___217 {
    PTHREAD_RWLOCK_PREFER_READER_NP___217 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___217 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___217 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___217 = 0
} ;
enum __anonenum_436439511___217 {
    PTHREAD_INHERIT_SCHED___217 = 0,
    PTHREAD_EXPLICIT_SCHED___217 = 1
} ;
enum __anonenum_998661166___217 {
    PTHREAD_SCOPE_SYSTEM___217 = 0,
    PTHREAD_SCOPE_PROCESS___217 = 1
} ;
enum __anonenum_146137331___217 {
    PTHREAD_PROCESS_PRIVATE___217 = 0,
    PTHREAD_PROCESS_SHARED___217 = 1
} ;
enum __anonenum_53396917___217 {
    PTHREAD_CANCEL_ENABLE___217 = 0,
    PTHREAD_CANCEL_DISABLE___217 = 1
} ;
enum __anonenum_904563783___217 {
    PTHREAD_CANCEL_DEFERRED___217 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___217 = 1
} ;
enum __anonenum_672052974___217 {
    SSL_CT_VALIDATION_PERMISSIVE___217 = 0,
    SSL_CT_VALIDATION_STRICT___217 = 1
} ;
enum __anonenum_437032235___218 {
    _PC_LINK_MAX___218 = 0,
    _PC_MAX_CANON___218 = 1,
    _PC_MAX_INPUT___218 = 2,
    _PC_NAME_MAX___218 = 3,
    _PC_PATH_MAX___218 = 4,
    _PC_PIPE_BUF___218 = 5,
    _PC_CHOWN_RESTRICTED___218 = 6,
    _PC_NO_TRUNC___218 = 7,
    _PC_VDISABLE___218 = 8,
    _PC_SYNC_IO___218 = 9,
    _PC_ASYNC_IO___218 = 10,
    _PC_PRIO_IO___218 = 11,
    _PC_SOCK_MAXBUF___218 = 12,
    _PC_FILESIZEBITS___218 = 13,
    _PC_REC_INCR_XFER_SIZE___218 = 14,
    _PC_REC_MAX_XFER_SIZE___218 = 15,
    _PC_REC_MIN_XFER_SIZE___218 = 16,
    _PC_REC_XFER_ALIGN___218 = 17,
    _PC_ALLOC_SIZE_MIN___218 = 18,
    _PC_SYMLINK_MAX___218 = 19,
    _PC_2_SYMLINKS___218 = 20
} ;
enum __anonenum_315186338___218 {
    _SC_ARG_MAX___218 = 0,
    _SC_CHILD_MAX___218 = 1,
    _SC_CLK_TCK___218 = 2,
    _SC_NGROUPS_MAX___218 = 3,
    _SC_OPEN_MAX___218 = 4,
    _SC_STREAM_MAX___218 = 5,
    _SC_TZNAME_MAX___218 = 6,
    _SC_JOB_CONTROL___218 = 7,
    _SC_SAVED_IDS___218 = 8,
    _SC_REALTIME_SIGNALS___218 = 9,
    _SC_PRIORITY_SCHEDULING___218 = 10,
    _SC_TIMERS___218 = 11,
    _SC_ASYNCHRONOUS_IO___218 = 12,
    _SC_PRIORITIZED_IO___218 = 13,
    _SC_SYNCHRONIZED_IO___218 = 14,
    _SC_FSYNC___218 = 15,
    _SC_MAPPED_FILES___218 = 16,
    _SC_MEMLOCK___218 = 17,
    _SC_MEMLOCK_RANGE___218 = 18,
    _SC_MEMORY_PROTECTION___218 = 19,
    _SC_MESSAGE_PASSING___218 = 20,
    _SC_SEMAPHORES___218 = 21,
    _SC_SHARED_MEMORY_OBJECTS___218 = 22,
    _SC_AIO_LISTIO_MAX___218 = 23,
    _SC_AIO_MAX___218 = 24,
    _SC_AIO_PRIO_DELTA_MAX___218 = 25,
    _SC_DELAYTIMER_MAX___218 = 26,
    _SC_MQ_OPEN_MAX___218 = 27,
    _SC_MQ_PRIO_MAX___218 = 28,
    _SC_VERSION___218 = 29,
    _SC_PAGESIZE___218 = 30,
    _SC_RTSIG_MAX___218 = 31,
    _SC_SEM_NSEMS_MAX___218 = 32,
    _SC_SEM_VALUE_MAX___218 = 33,
    _SC_SIGQUEUE_MAX___218 = 34,
    _SC_TIMER_MAX___218 = 35,
    _SC_BC_BASE_MAX___218 = 36,
    _SC_BC_DIM_MAX___218 = 37,
    _SC_BC_SCALE_MAX___218 = 38,
    _SC_BC_STRING_MAX___218 = 39,
    _SC_COLL_WEIGHTS_MAX___218 = 40,
    _SC_EQUIV_CLASS_MAX___218 = 41,
    _SC_EXPR_NEST_MAX___218 = 42,
    _SC_LINE_MAX___218 = 43,
    _SC_RE_DUP_MAX___218 = 44,
    _SC_CHARCLASS_NAME_MAX___218 = 45,
    _SC_2_VERSION___218 = 46,
    _SC_2_C_BIND___218 = 47,
    _SC_2_C_DEV___218 = 48,
    _SC_2_FORT_DEV___218 = 49,
    _SC_2_FORT_RUN___218 = 50,
    _SC_2_SW_DEV___218 = 51,
    _SC_2_LOCALEDEF___218 = 52,
    _SC_PII___218 = 53,
    _SC_PII_XTI___218 = 54,
    _SC_PII_SOCKET___218 = 55,
    _SC_PII_INTERNET___218 = 56,
    _SC_PII_OSI___218 = 57,
    _SC_POLL___218 = 58,
    _SC_SELECT___218 = 59,
    _SC_UIO_MAXIOV___218 = 60,
    _SC_IOV_MAX___218 = 60,
    _SC_PII_INTERNET_STREAM___218 = 61,
    _SC_PII_INTERNET_DGRAM___218 = 62,
    _SC_PII_OSI_COTS___218 = 63,
    _SC_PII_OSI_CLTS___218 = 64,
    _SC_PII_OSI_M___218 = 65,
    _SC_T_IOV_MAX___218 = 66,
    _SC_THREADS___218 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___218 = 68,
    _SC_GETGR_R_SIZE_MAX___218 = 69,
    _SC_GETPW_R_SIZE_MAX___218 = 70,
    _SC_LOGIN_NAME_MAX___218 = 71,
    _SC_TTY_NAME_MAX___218 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___218 = 73,
    _SC_THREAD_KEYS_MAX___218 = 74,
    _SC_THREAD_STACK_MIN___218 = 75,
    _SC_THREAD_THREADS_MAX___218 = 76,
    _SC_THREAD_ATTR_STACKADDR___218 = 77,
    _SC_THREAD_ATTR_STACKSIZE___218 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___218 = 79,
    _SC_THREAD_PRIO_INHERIT___218 = 80,
    _SC_THREAD_PRIO_PROTECT___218 = 81,
    _SC_THREAD_PROCESS_SHARED___218 = 82,
    _SC_NPROCESSORS_CONF___218 = 83,
    _SC_NPROCESSORS_ONLN___218 = 84,
    _SC_PHYS_PAGES___218 = 85,
    _SC_AVPHYS_PAGES___218 = 86,
    _SC_ATEXIT_MAX___218 = 87,
    _SC_PASS_MAX___218 = 88,
    _SC_XOPEN_VERSION___218 = 89,
    _SC_XOPEN_XCU_VERSION___218 = 90,
    _SC_XOPEN_UNIX___218 = 91,
    _SC_XOPEN_CRYPT___218 = 92,
    _SC_XOPEN_ENH_I18N___218 = 93,
    _SC_XOPEN_SHM___218 = 94,
    _SC_2_CHAR_TERM___218 = 95,
    _SC_2_C_VERSION___218 = 96,
    _SC_2_UPE___218 = 97,
    _SC_XOPEN_XPG2___218 = 98,
    _SC_XOPEN_XPG3___218 = 99,
    _SC_XOPEN_XPG4___218 = 100,
    _SC_CHAR_BIT___218 = 101,
    _SC_CHAR_MAX___218 = 102,
    _SC_CHAR_MIN___218 = 103,
    _SC_INT_MAX___218 = 104,
    _SC_INT_MIN___218 = 105,
    _SC_LONG_BIT___218 = 106,
    _SC_WORD_BIT___218 = 107,
    _SC_MB_LEN_MAX___218 = 108,
    _SC_NZERO___218 = 109,
    _SC_SSIZE_MAX___218 = 110,
    _SC_SCHAR_MAX___218 = 111,
    _SC_SCHAR_MIN___218 = 112,
    _SC_SHRT_MAX___218 = 113,
    _SC_SHRT_MIN___218 = 114,
    _SC_UCHAR_MAX___218 = 115,
    _SC_UINT_MAX___218 = 116,
    _SC_ULONG_MAX___218 = 117,
    _SC_USHRT_MAX___218 = 118,
    _SC_NL_ARGMAX___218 = 119,
    _SC_NL_LANGMAX___218 = 120,
    _SC_NL_MSGMAX___218 = 121,
    _SC_NL_NMAX___218 = 122,
    _SC_NL_SETMAX___218 = 123,
    _SC_NL_TEXTMAX___218 = 124,
    _SC_XBS5_ILP32_OFF32___218 = 125,
    _SC_XBS5_ILP32_OFFBIG___218 = 126,
    _SC_XBS5_LP64_OFF64___218 = 127,
    _SC_XBS5_LPBIG_OFFBIG___218 = 128,
    _SC_XOPEN_LEGACY___218 = 129,
    _SC_XOPEN_REALTIME___218 = 130,
    _SC_XOPEN_REALTIME_THREADS___218 = 131,
    _SC_ADVISORY_INFO___218 = 132,
    _SC_BARRIERS___218 = 133,
    _SC_BASE___218 = 134,
    _SC_C_LANG_SUPPORT___218 = 135,
    _SC_C_LANG_SUPPORT_R___218 = 136,
    _SC_CLOCK_SELECTION___218 = 137,
    _SC_CPUTIME___218 = 138,
    _SC_THREAD_CPUTIME___218 = 139,
    _SC_DEVICE_IO___218 = 140,
    _SC_DEVICE_SPECIFIC___218 = 141,
    _SC_DEVICE_SPECIFIC_R___218 = 142,
    _SC_FD_MGMT___218 = 143,
    _SC_FIFO___218 = 144,
    _SC_PIPE___218 = 145,
    _SC_FILE_ATTRIBUTES___218 = 146,
    _SC_FILE_LOCKING___218 = 147,
    _SC_FILE_SYSTEM___218 = 148,
    _SC_MONOTONIC_CLOCK___218 = 149,
    _SC_MULTI_PROCESS___218 = 150,
    _SC_SINGLE_PROCESS___218 = 151,
    _SC_NETWORKING___218 = 152,
    _SC_READER_WRITER_LOCKS___218 = 153,
    _SC_SPIN_LOCKS___218 = 154,
    _SC_REGEXP___218 = 155,
    _SC_REGEX_VERSION___218 = 156,
    _SC_SHELL___218 = 157,
    _SC_SIGNALS___218 = 158,
    _SC_SPAWN___218 = 159,
    _SC_SPORADIC_SERVER___218 = 160,
    _SC_THREAD_SPORADIC_SERVER___218 = 161,
    _SC_SYSTEM_DATABASE___218 = 162,
    _SC_SYSTEM_DATABASE_R___218 = 163,
    _SC_TIMEOUTS___218 = 164,
    _SC_TYPED_MEMORY_OBJECTS___218 = 165,
    _SC_USER_GROUPS___218 = 166,
    _SC_USER_GROUPS_R___218 = 167,
    _SC_2_PBS___218 = 168,
    _SC_2_PBS_ACCOUNTING___218 = 169,
    _SC_2_PBS_LOCATE___218 = 170,
    _SC_2_PBS_MESSAGE___218 = 171,
    _SC_2_PBS_TRACK___218 = 172,
    _SC_SYMLOOP_MAX___218 = 173,
    _SC_STREAMS___218 = 174,
    _SC_2_PBS_CHECKPOINT___218 = 175,
    _SC_V6_ILP32_OFF32___218 = 176,
    _SC_V6_ILP32_OFFBIG___218 = 177,
    _SC_V6_LP64_OFF64___218 = 178,
    _SC_V6_LPBIG_OFFBIG___218 = 179,
    _SC_HOST_NAME_MAX___218 = 180,
    _SC_TRACE___218 = 181,
    _SC_TRACE_EVENT_FILTER___218 = 182,
    _SC_TRACE_INHERIT___218 = 183,
    _SC_TRACE_LOG___218 = 184,
    _SC_LEVEL1_ICACHE_SIZE___218 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___218 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___218 = 187,
    _SC_LEVEL1_DCACHE_SIZE___218 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___218 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___218 = 190,
    _SC_LEVEL2_CACHE_SIZE___218 = 191,
    _SC_LEVEL2_CACHE_ASSOC___218 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___218 = 193,
    _SC_LEVEL3_CACHE_SIZE___218 = 194,
    _SC_LEVEL3_CACHE_ASSOC___218 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___218 = 196,
    _SC_LEVEL4_CACHE_SIZE___218 = 197,
    _SC_LEVEL4_CACHE_ASSOC___218 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___218 = 199,
    _SC_IPV6___218 = 235,
    _SC_RAW_SOCKETS___218 = 236,
    _SC_V7_ILP32_OFF32___218 = 237,
    _SC_V7_ILP32_OFFBIG___218 = 238,
    _SC_V7_LP64_OFF64___218 = 239,
    _SC_V7_LPBIG_OFFBIG___218 = 240,
    _SC_SS_REPL_MAX___218 = 241,
    _SC_TRACE_EVENT_NAME_MAX___218 = 242,
    _SC_TRACE_NAME_MAX___218 = 243,
    _SC_TRACE_SYS_MAX___218 = 244,
    _SC_TRACE_USER_EVENT_MAX___218 = 245,
    _SC_XOPEN_STREAMS___218 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___218 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___218 = 248
} ;
enum __anonenum_875524036___218 {
    _CS_PATH___218 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___218 = 1,
    _CS_GNU_LIBC_VERSION___218 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___218 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___218 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___218 = 5,
    _CS_LFS_CFLAGS___218 = 1000,
    _CS_LFS_LDFLAGS___218 = 1001,
    _CS_LFS_LIBS___218 = 1002,
    _CS_LFS_LINTFLAGS___218 = 1003,
    _CS_LFS64_CFLAGS___218 = 1004,
    _CS_LFS64_LDFLAGS___218 = 1005,
    _CS_LFS64_LIBS___218 = 1006,
    _CS_LFS64_LINTFLAGS___218 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___218 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___218 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___218 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___218 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___218 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___218 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___218 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___218 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___218 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___218 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___218 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___218 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___218 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___218 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___218 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___218 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___218 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___218 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___218 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___218 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___218 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___218 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___218 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___218 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___218 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___218 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___218 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___218 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___218 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___218 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___218 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___218 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___218 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___218 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___218 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___218 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___218 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___218 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___218 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___218 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___218 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___218 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___218 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___218 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___218 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___218 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___218 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___218 = 1147,
    _CS_V6_ENV___218 = 1148,
    _CS_V7_ENV___218 = 1149
} ;
enum __anonenum_513775621___218 {
    DT_UNKNOWN___218 = 0,
    DT_FIFO___218 = 1,
    DT_CHR___218 = 2,
    DT_DIR___218 = 4,
    DT_BLK___218 = 6,
    DT_REG___218 = 8,
    DT_LNK___218 = 10,
    DT_SOCK___218 = 12,
    DT_WHT___218 = 14
} ;
enum __anonenum_77002343___218 {
    SI_ASYNCNL___218 = -60,
    SI_TKILL___218 = -6,
    SI_SIGIO___218 = -5,
    SI_ASYNCIO___218 = -4,
    SI_MESGQ___218 = -3,
    SI_TIMER___218 = -2,
    SI_QUEUE___218 = -1,
    SI_USER___218 = 0,
    SI_KERNEL___218 = 128
} ;
enum __anonenum_131038172___218 {
    ILL_ILLOPC___218 = 1,
    ILL_ILLOPN___218 = 2,
    ILL_ILLADR___218 = 3,
    ILL_ILLTRP___218 = 4,
    ILL_PRVOPC___218 = 5,
    ILL_PRVREG___218 = 6,
    ILL_COPROC___218 = 7,
    ILL_BADSTK___218 = 8
} ;
enum __anonenum_452038093___218 {
    FPE_INTDIV___218 = 1,
    FPE_INTOVF___218 = 2,
    FPE_FLTDIV___218 = 3,
    FPE_FLTOVF___218 = 4,
    FPE_FLTUND___218 = 5,
    FPE_FLTRES___218 = 6,
    FPE_FLTINV___218 = 7,
    FPE_FLTSUB___218 = 8
} ;
enum __anonenum_30976155___218 {
    SEGV_MAPERR___218 = 1,
    SEGV_ACCERR___218 = 2,
    SEGV_BNDERR___218 = 3,
    SEGV_PKUERR___218 = 4
} ;
enum __anonenum_1036286214___218 {
    BUS_ADRALN___218 = 1,
    BUS_ADRERR___218 = 2,
    BUS_OBJERR___218 = 3,
    BUS_MCEERR_AR___218 = 4,
    BUS_MCEERR_AO___218 = 5
} ;
enum __anonenum_493465559___218 {
    TRAP_BRKPT___218 = 1,
    TRAP_TRACE___218 = 2
} ;
enum __anonenum_23175539___218 {
    CLD_EXITED___218 = 1,
    CLD_KILLED___218 = 2,
    CLD_DUMPED___218 = 3,
    CLD_TRAPPED___218 = 4,
    CLD_STOPPED___218 = 5,
    CLD_CONTINUED___218 = 6
} ;
enum __anonenum_111643124___218 {
    POLL_IN___218 = 1,
    POLL_OUT___218 = 2,
    POLL_MSG___218 = 3,
    POLL_ERR___218 = 4,
    POLL_PRI___218 = 5,
    POLL_HUP___218 = 6
} ;
enum __anonenum_852341087___218 {
    SIGEV_SIGNAL___218 = 0,
    SIGEV_NONE___218 = 1,
    SIGEV_THREAD___218 = 2,
    SIGEV_THREAD_ID___218 = 4
} ;
enum __anonenum_451154152___218 {
    REG_R8___218 = 0,
    REG_R9___218 = 1,
    REG_R10___218 = 2,
    REG_R11___218 = 3,
    REG_R12___218 = 4,
    REG_R13___218 = 5,
    REG_R14___218 = 6,
    REG_R15___218 = 7,
    REG_RDI___218 = 8,
    REG_RSI___218 = 9,
    REG_RBP___218 = 10,
    REG_RBX___218 = 11,
    REG_RDX___218 = 12,
    REG_RAX___218 = 13,
    REG_RCX___218 = 14,
    REG_RSP___218 = 15,
    REG_RIP___218 = 16,
    REG_EFL___218 = 17,
    REG_CSGSFS___218 = 18,
    REG_ERR___218 = 19,
    REG_TRAPNO___218 = 20,
    REG_OLDMASK___218 = 21,
    REG_CR2___218 = 22
} ;
enum __anonenum_57186863___218 {
    SS_ONSTACK___218 = 1,
    SS_DISABLE___218 = 2
} ;
enum __anonenum_83571709___218 {
    MSG_OOB___218 = 1,
    MSG_PEEK___218 = 2,
    MSG_DONTROUTE___218 = 4,
    MSG_TRYHARD___218 = 4,
    MSG_CTRUNC___218 = 8,
    MSG_PROXY___218 = 16,
    MSG_TRUNC___218 = 32,
    MSG_DONTWAIT___218 = 64,
    MSG_EOR___218 = 128,
    MSG_WAITALL___218 = 256,
    MSG_FIN___218 = 512,
    MSG_SYN___218 = 1024,
    MSG_CONFIRM___218 = 2048,
    MSG_RST___218 = 4096,
    MSG_ERRQUEUE___218 = 8192,
    MSG_NOSIGNAL___218 = 16384,
    MSG_MORE___218 = 32768,
    MSG_WAITFORONE___218 = 65536,
    MSG_BATCH___218 = 262144,
    MSG_ZEROCOPY___218 = 67108864,
    MSG_FASTOPEN___218 = 536870912,
    MSG_CMSG_CLOEXEC___218 = 1073741824
} ;
enum __anonenum_617082774___218 {
    SCM_RIGHTS___218 = 1,
    SCM_CREDENTIALS___218 = 2
} ;
enum __anonenum_606441560___218 {
    SHUT_RD___218 = 0,
    SHUT_WR___218 = 1,
    SHUT_RDWR___218 = 2
} ;
enum __anonenum_681669233___218 {
    IPPROTO_IP___218 = 0,
    IPPROTO_ICMP___218 = 1,
    IPPROTO_IGMP___218 = 2,
    IPPROTO_IPIP___218 = 4,
    IPPROTO_TCP___218 = 6,
    IPPROTO_EGP___218 = 8,
    IPPROTO_PUP___218 = 12,
    IPPROTO_UDP___218 = 17,
    IPPROTO_IDP___218 = 22,
    IPPROTO_TP___218 = 29,
    IPPROTO_DCCP___218 = 33,
    IPPROTO_IPV6___218 = 41,
    IPPROTO_RSVP___218 = 46,
    IPPROTO_GRE___218 = 47,
    IPPROTO_ESP___218 = 50,
    IPPROTO_AH___218 = 51,
    IPPROTO_MTP___218 = 92,
    IPPROTO_BEETPH___218 = 94,
    IPPROTO_ENCAP___218 = 98,
    IPPROTO_PIM___218 = 103,
    IPPROTO_COMP___218 = 108,
    IPPROTO_SCTP___218 = 132,
    IPPROTO_UDPLITE___218 = 136,
    IPPROTO_MPLS___218 = 137,
    IPPROTO_RAW___218 = 255,
    IPPROTO_MAX___218 = 256
} ;
enum __anonenum_218739988___218 {
    IPPROTO_HOPOPTS___218 = 0,
    IPPROTO_ROUTING___218 = 43,
    IPPROTO_FRAGMENT___218 = 44,
    IPPROTO_ICMPV6___218 = 58,
    IPPROTO_NONE___218 = 59,
    IPPROTO_DSTOPTS___218 = 60,
    IPPROTO_MH___218 = 135
} ;
enum __anonenum_662268580___218 {
    IPPORT_ECHO___218 = 7,
    IPPORT_DISCARD___218 = 9,
    IPPORT_SYSTAT___218 = 11,
    IPPORT_DAYTIME___218 = 13,
    IPPORT_NETSTAT___218 = 15,
    IPPORT_FTP___218 = 21,
    IPPORT_TELNET___218 = 23,
    IPPORT_SMTP___218 = 25,
    IPPORT_TIMESERVER___218 = 37,
    IPPORT_NAMESERVER___218 = 42,
    IPPORT_WHOIS___218 = 43,
    IPPORT_MTP___218 = 57,
    IPPORT_TFTP___218 = 69,
    IPPORT_RJE___218 = 77,
    IPPORT_FINGER___218 = 79,
    IPPORT_TTYLINK___218 = 87,
    IPPORT_SUPDUP___218 = 95,
    IPPORT_EXECSERVER___218 = 512,
    IPPORT_LOGINSERVER___218 = 513,
    IPPORT_CMDSERVER___218 = 514,
    IPPORT_EFSSERVER___218 = 520,
    IPPORT_BIFFUDP___218 = 512,
    IPPORT_WHOSERVER___218 = 513,
    IPPORT_ROUTESERVER___218 = 520,
    IPPORT_RESERVED___218 = 1024,
    IPPORT_USERRESERVED___218 = 5000
} ;
enum __anonenum_788308992___218 {
    TCP_ESTABLISHED___218 = 1,
    TCP_SYN_SENT___218 = 2,
    TCP_SYN_RECV___218 = 3,
    TCP_FIN_WAIT1___218 = 4,
    TCP_FIN_WAIT2___218 = 5,
    TCP_TIME_WAIT___218 = 6,
    TCP_CLOSE___218 = 7,
    TCP_CLOSE_WAIT___218 = 8,
    TCP_LAST_ACK___218 = 9,
    TCP_LISTEN___218 = 10,
    TCP_CLOSING___218 = 11
} ;
enum __anonenum_221125648___218 {
    TCP_NO_QUEUE___218 = 0,
    TCP_RECV_QUEUE___218 = 1,
    TCP_SEND_QUEUE___218 = 2,
    TCP_QUEUES_NR___218 = 3
} ;
enum __anonenum_34415463___218 {
    PTHREAD_CREATE_JOINABLE___218 = 0,
    PTHREAD_CREATE_DETACHED___218 = 1
} ;
enum __anonenum_303612439___218 {
    PTHREAD_MUTEX_TIMED_NP___218 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___218 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___218 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___218 = 3,
    PTHREAD_MUTEX_NORMAL___218 = 0,
    PTHREAD_MUTEX_RECURSIVE___218 = 1,
    PTHREAD_MUTEX_ERRORCHECK___218 = 2,
    PTHREAD_MUTEX_DEFAULT___218 = 0,
    PTHREAD_MUTEX_FAST_NP___218 = 0
} ;
enum __anonenum_931900394___218 {
    PTHREAD_MUTEX_STALLED___218 = 0,
    PTHREAD_MUTEX_STALLED_NP___218 = 0,
    PTHREAD_MUTEX_ROBUST___218 = 1,
    PTHREAD_MUTEX_ROBUST_NP___218 = 1
} ;
enum __anonenum_205214487___218 {
    PTHREAD_PRIO_NONE___218 = 0,
    PTHREAD_PRIO_INHERIT___218 = 1,
    PTHREAD_PRIO_PROTECT___218 = 2
} ;
enum __anonenum_25043950___218 {
    PTHREAD_RWLOCK_PREFER_READER_NP___218 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___218 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___218 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___218 = 0
} ;
enum __anonenum_436439511___218 {
    PTHREAD_INHERIT_SCHED___218 = 0,
    PTHREAD_EXPLICIT_SCHED___218 = 1
} ;
enum __anonenum_998661166___218 {
    PTHREAD_SCOPE_SYSTEM___218 = 0,
    PTHREAD_SCOPE_PROCESS___218 = 1
} ;
enum __anonenum_146137331___218 {
    PTHREAD_PROCESS_PRIVATE___218 = 0,
    PTHREAD_PROCESS_SHARED___218 = 1
} ;
enum __anonenum_53396917___218 {
    PTHREAD_CANCEL_ENABLE___218 = 0,
    PTHREAD_CANCEL_DISABLE___218 = 1
} ;
enum __anonenum_904563783___218 {
    PTHREAD_CANCEL_DEFERRED___218 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___218 = 1
} ;
enum __anonenum_672052974___218 {
    SSL_CT_VALIDATION_PERMISSIVE___218 = 0,
    SSL_CT_VALIDATION_STRICT___218 = 1
} ;
struct find_by_namelen_data {
   char const   *name ;
   size_t len ;
   struct userdiff_driver *driver ;
};
enum __anonenum_437032235___219 {
    _PC_LINK_MAX___219 = 0,
    _PC_MAX_CANON___219 = 1,
    _PC_MAX_INPUT___219 = 2,
    _PC_NAME_MAX___219 = 3,
    _PC_PATH_MAX___219 = 4,
    _PC_PIPE_BUF___219 = 5,
    _PC_CHOWN_RESTRICTED___219 = 6,
    _PC_NO_TRUNC___219 = 7,
    _PC_VDISABLE___219 = 8,
    _PC_SYNC_IO___219 = 9,
    _PC_ASYNC_IO___219 = 10,
    _PC_PRIO_IO___219 = 11,
    _PC_SOCK_MAXBUF___219 = 12,
    _PC_FILESIZEBITS___219 = 13,
    _PC_REC_INCR_XFER_SIZE___219 = 14,
    _PC_REC_MAX_XFER_SIZE___219 = 15,
    _PC_REC_MIN_XFER_SIZE___219 = 16,
    _PC_REC_XFER_ALIGN___219 = 17,
    _PC_ALLOC_SIZE_MIN___219 = 18,
    _PC_SYMLINK_MAX___219 = 19,
    _PC_2_SYMLINKS___219 = 20
} ;
enum __anonenum_315186338___219 {
    _SC_ARG_MAX___219 = 0,
    _SC_CHILD_MAX___219 = 1,
    _SC_CLK_TCK___219 = 2,
    _SC_NGROUPS_MAX___219 = 3,
    _SC_OPEN_MAX___219 = 4,
    _SC_STREAM_MAX___219 = 5,
    _SC_TZNAME_MAX___219 = 6,
    _SC_JOB_CONTROL___219 = 7,
    _SC_SAVED_IDS___219 = 8,
    _SC_REALTIME_SIGNALS___219 = 9,
    _SC_PRIORITY_SCHEDULING___219 = 10,
    _SC_TIMERS___219 = 11,
    _SC_ASYNCHRONOUS_IO___219 = 12,
    _SC_PRIORITIZED_IO___219 = 13,
    _SC_SYNCHRONIZED_IO___219 = 14,
    _SC_FSYNC___219 = 15,
    _SC_MAPPED_FILES___219 = 16,
    _SC_MEMLOCK___219 = 17,
    _SC_MEMLOCK_RANGE___219 = 18,
    _SC_MEMORY_PROTECTION___219 = 19,
    _SC_MESSAGE_PASSING___219 = 20,
    _SC_SEMAPHORES___219 = 21,
    _SC_SHARED_MEMORY_OBJECTS___219 = 22,
    _SC_AIO_LISTIO_MAX___219 = 23,
    _SC_AIO_MAX___219 = 24,
    _SC_AIO_PRIO_DELTA_MAX___219 = 25,
    _SC_DELAYTIMER_MAX___219 = 26,
    _SC_MQ_OPEN_MAX___219 = 27,
    _SC_MQ_PRIO_MAX___219 = 28,
    _SC_VERSION___219 = 29,
    _SC_PAGESIZE___219 = 30,
    _SC_RTSIG_MAX___219 = 31,
    _SC_SEM_NSEMS_MAX___219 = 32,
    _SC_SEM_VALUE_MAX___219 = 33,
    _SC_SIGQUEUE_MAX___219 = 34,
    _SC_TIMER_MAX___219 = 35,
    _SC_BC_BASE_MAX___219 = 36,
    _SC_BC_DIM_MAX___219 = 37,
    _SC_BC_SCALE_MAX___219 = 38,
    _SC_BC_STRING_MAX___219 = 39,
    _SC_COLL_WEIGHTS_MAX___219 = 40,
    _SC_EQUIV_CLASS_MAX___219 = 41,
    _SC_EXPR_NEST_MAX___219 = 42,
    _SC_LINE_MAX___219 = 43,
    _SC_RE_DUP_MAX___219 = 44,
    _SC_CHARCLASS_NAME_MAX___219 = 45,
    _SC_2_VERSION___219 = 46,
    _SC_2_C_BIND___219 = 47,
    _SC_2_C_DEV___219 = 48,
    _SC_2_FORT_DEV___219 = 49,
    _SC_2_FORT_RUN___219 = 50,
    _SC_2_SW_DEV___219 = 51,
    _SC_2_LOCALEDEF___219 = 52,
    _SC_PII___219 = 53,
    _SC_PII_XTI___219 = 54,
    _SC_PII_SOCKET___219 = 55,
    _SC_PII_INTERNET___219 = 56,
    _SC_PII_OSI___219 = 57,
    _SC_POLL___219 = 58,
    _SC_SELECT___219 = 59,
    _SC_UIO_MAXIOV___219 = 60,
    _SC_IOV_MAX___219 = 60,
    _SC_PII_INTERNET_STREAM___219 = 61,
    _SC_PII_INTERNET_DGRAM___219 = 62,
    _SC_PII_OSI_COTS___219 = 63,
    _SC_PII_OSI_CLTS___219 = 64,
    _SC_PII_OSI_M___219 = 65,
    _SC_T_IOV_MAX___219 = 66,
    _SC_THREADS___219 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___219 = 68,
    _SC_GETGR_R_SIZE_MAX___219 = 69,
    _SC_GETPW_R_SIZE_MAX___219 = 70,
    _SC_LOGIN_NAME_MAX___219 = 71,
    _SC_TTY_NAME_MAX___219 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___219 = 73,
    _SC_THREAD_KEYS_MAX___219 = 74,
    _SC_THREAD_STACK_MIN___219 = 75,
    _SC_THREAD_THREADS_MAX___219 = 76,
    _SC_THREAD_ATTR_STACKADDR___219 = 77,
    _SC_THREAD_ATTR_STACKSIZE___219 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___219 = 79,
    _SC_THREAD_PRIO_INHERIT___219 = 80,
    _SC_THREAD_PRIO_PROTECT___219 = 81,
    _SC_THREAD_PROCESS_SHARED___219 = 82,
    _SC_NPROCESSORS_CONF___219 = 83,
    _SC_NPROCESSORS_ONLN___219 = 84,
    _SC_PHYS_PAGES___219 = 85,
    _SC_AVPHYS_PAGES___219 = 86,
    _SC_ATEXIT_MAX___219 = 87,
    _SC_PASS_MAX___219 = 88,
    _SC_XOPEN_VERSION___219 = 89,
    _SC_XOPEN_XCU_VERSION___219 = 90,
    _SC_XOPEN_UNIX___219 = 91,
    _SC_XOPEN_CRYPT___219 = 92,
    _SC_XOPEN_ENH_I18N___219 = 93,
    _SC_XOPEN_SHM___219 = 94,
    _SC_2_CHAR_TERM___219 = 95,
    _SC_2_C_VERSION___219 = 96,
    _SC_2_UPE___219 = 97,
    _SC_XOPEN_XPG2___219 = 98,
    _SC_XOPEN_XPG3___219 = 99,
    _SC_XOPEN_XPG4___219 = 100,
    _SC_CHAR_BIT___219 = 101,
    _SC_CHAR_MAX___219 = 102,
    _SC_CHAR_MIN___219 = 103,
    _SC_INT_MAX___219 = 104,
    _SC_INT_MIN___219 = 105,
    _SC_LONG_BIT___219 = 106,
    _SC_WORD_BIT___219 = 107,
    _SC_MB_LEN_MAX___219 = 108,
    _SC_NZERO___219 = 109,
    _SC_SSIZE_MAX___219 = 110,
    _SC_SCHAR_MAX___219 = 111,
    _SC_SCHAR_MIN___219 = 112,
    _SC_SHRT_MAX___219 = 113,
    _SC_SHRT_MIN___219 = 114,
    _SC_UCHAR_MAX___219 = 115,
    _SC_UINT_MAX___219 = 116,
    _SC_ULONG_MAX___219 = 117,
    _SC_USHRT_MAX___219 = 118,
    _SC_NL_ARGMAX___219 = 119,
    _SC_NL_LANGMAX___219 = 120,
    _SC_NL_MSGMAX___219 = 121,
    _SC_NL_NMAX___219 = 122,
    _SC_NL_SETMAX___219 = 123,
    _SC_NL_TEXTMAX___219 = 124,
    _SC_XBS5_ILP32_OFF32___219 = 125,
    _SC_XBS5_ILP32_OFFBIG___219 = 126,
    _SC_XBS5_LP64_OFF64___219 = 127,
    _SC_XBS5_LPBIG_OFFBIG___219 = 128,
    _SC_XOPEN_LEGACY___219 = 129,
    _SC_XOPEN_REALTIME___219 = 130,
    _SC_XOPEN_REALTIME_THREADS___219 = 131,
    _SC_ADVISORY_INFO___219 = 132,
    _SC_BARRIERS___219 = 133,
    _SC_BASE___219 = 134,
    _SC_C_LANG_SUPPORT___219 = 135,
    _SC_C_LANG_SUPPORT_R___219 = 136,
    _SC_CLOCK_SELECTION___219 = 137,
    _SC_CPUTIME___219 = 138,
    _SC_THREAD_CPUTIME___219 = 139,
    _SC_DEVICE_IO___219 = 140,
    _SC_DEVICE_SPECIFIC___219 = 141,
    _SC_DEVICE_SPECIFIC_R___219 = 142,
    _SC_FD_MGMT___219 = 143,
    _SC_FIFO___219 = 144,
    _SC_PIPE___219 = 145,
    _SC_FILE_ATTRIBUTES___219 = 146,
    _SC_FILE_LOCKING___219 = 147,
    _SC_FILE_SYSTEM___219 = 148,
    _SC_MONOTONIC_CLOCK___219 = 149,
    _SC_MULTI_PROCESS___219 = 150,
    _SC_SINGLE_PROCESS___219 = 151,
    _SC_NETWORKING___219 = 152,
    _SC_READER_WRITER_LOCKS___219 = 153,
    _SC_SPIN_LOCKS___219 = 154,
    _SC_REGEXP___219 = 155,
    _SC_REGEX_VERSION___219 = 156,
    _SC_SHELL___219 = 157,
    _SC_SIGNALS___219 = 158,
    _SC_SPAWN___219 = 159,
    _SC_SPORADIC_SERVER___219 = 160,
    _SC_THREAD_SPORADIC_SERVER___219 = 161,
    _SC_SYSTEM_DATABASE___219 = 162,
    _SC_SYSTEM_DATABASE_R___219 = 163,
    _SC_TIMEOUTS___219 = 164,
    _SC_TYPED_MEMORY_OBJECTS___219 = 165,
    _SC_USER_GROUPS___219 = 166,
    _SC_USER_GROUPS_R___219 = 167,
    _SC_2_PBS___219 = 168,
    _SC_2_PBS_ACCOUNTING___219 = 169,
    _SC_2_PBS_LOCATE___219 = 170,
    _SC_2_PBS_MESSAGE___219 = 171,
    _SC_2_PBS_TRACK___219 = 172,
    _SC_SYMLOOP_MAX___219 = 173,
    _SC_STREAMS___219 = 174,
    _SC_2_PBS_CHECKPOINT___219 = 175,
    _SC_V6_ILP32_OFF32___219 = 176,
    _SC_V6_ILP32_OFFBIG___219 = 177,
    _SC_V6_LP64_OFF64___219 = 178,
    _SC_V6_LPBIG_OFFBIG___219 = 179,
    _SC_HOST_NAME_MAX___219 = 180,
    _SC_TRACE___219 = 181,
    _SC_TRACE_EVENT_FILTER___219 = 182,
    _SC_TRACE_INHERIT___219 = 183,
    _SC_TRACE_LOG___219 = 184,
    _SC_LEVEL1_ICACHE_SIZE___219 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___219 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___219 = 187,
    _SC_LEVEL1_DCACHE_SIZE___219 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___219 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___219 = 190,
    _SC_LEVEL2_CACHE_SIZE___219 = 191,
    _SC_LEVEL2_CACHE_ASSOC___219 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___219 = 193,
    _SC_LEVEL3_CACHE_SIZE___219 = 194,
    _SC_LEVEL3_CACHE_ASSOC___219 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___219 = 196,
    _SC_LEVEL4_CACHE_SIZE___219 = 197,
    _SC_LEVEL4_CACHE_ASSOC___219 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___219 = 199,
    _SC_IPV6___219 = 235,
    _SC_RAW_SOCKETS___219 = 236,
    _SC_V7_ILP32_OFF32___219 = 237,
    _SC_V7_ILP32_OFFBIG___219 = 238,
    _SC_V7_LP64_OFF64___219 = 239,
    _SC_V7_LPBIG_OFFBIG___219 = 240,
    _SC_SS_REPL_MAX___219 = 241,
    _SC_TRACE_EVENT_NAME_MAX___219 = 242,
    _SC_TRACE_NAME_MAX___219 = 243,
    _SC_TRACE_SYS_MAX___219 = 244,
    _SC_TRACE_USER_EVENT_MAX___219 = 245,
    _SC_XOPEN_STREAMS___219 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___219 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___219 = 248
} ;
enum __anonenum_875524036___219 {
    _CS_PATH___219 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___219 = 1,
    _CS_GNU_LIBC_VERSION___219 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___219 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___219 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___219 = 5,
    _CS_LFS_CFLAGS___219 = 1000,
    _CS_LFS_LDFLAGS___219 = 1001,
    _CS_LFS_LIBS___219 = 1002,
    _CS_LFS_LINTFLAGS___219 = 1003,
    _CS_LFS64_CFLAGS___219 = 1004,
    _CS_LFS64_LDFLAGS___219 = 1005,
    _CS_LFS64_LIBS___219 = 1006,
    _CS_LFS64_LINTFLAGS___219 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___219 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___219 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___219 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___219 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___219 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___219 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___219 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___219 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___219 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___219 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___219 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___219 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___219 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___219 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___219 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___219 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___219 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___219 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___219 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___219 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___219 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___219 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___219 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___219 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___219 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___219 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___219 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___219 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___219 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___219 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___219 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___219 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___219 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___219 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___219 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___219 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___219 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___219 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___219 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___219 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___219 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___219 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___219 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___219 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___219 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___219 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___219 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___219 = 1147,
    _CS_V6_ENV___219 = 1148,
    _CS_V7_ENV___219 = 1149
} ;
enum __anonenum_513775621___219 {
    DT_UNKNOWN___219 = 0,
    DT_FIFO___219 = 1,
    DT_CHR___219 = 2,
    DT_DIR___219 = 4,
    DT_BLK___219 = 6,
    DT_REG___219 = 8,
    DT_LNK___219 = 10,
    DT_SOCK___219 = 12,
    DT_WHT___219 = 14
} ;
enum __anonenum_77002343___219 {
    SI_ASYNCNL___219 = -60,
    SI_TKILL___219 = -6,
    SI_SIGIO___219 = -5,
    SI_ASYNCIO___219 = -4,
    SI_MESGQ___219 = -3,
    SI_TIMER___219 = -2,
    SI_QUEUE___219 = -1,
    SI_USER___219 = 0,
    SI_KERNEL___219 = 128
} ;
enum __anonenum_131038172___219 {
    ILL_ILLOPC___219 = 1,
    ILL_ILLOPN___219 = 2,
    ILL_ILLADR___219 = 3,
    ILL_ILLTRP___219 = 4,
    ILL_PRVOPC___219 = 5,
    ILL_PRVREG___219 = 6,
    ILL_COPROC___219 = 7,
    ILL_BADSTK___219 = 8
} ;
enum __anonenum_452038093___219 {
    FPE_INTDIV___219 = 1,
    FPE_INTOVF___219 = 2,
    FPE_FLTDIV___219 = 3,
    FPE_FLTOVF___219 = 4,
    FPE_FLTUND___219 = 5,
    FPE_FLTRES___219 = 6,
    FPE_FLTINV___219 = 7,
    FPE_FLTSUB___219 = 8
} ;
enum __anonenum_30976155___219 {
    SEGV_MAPERR___219 = 1,
    SEGV_ACCERR___219 = 2,
    SEGV_BNDERR___219 = 3,
    SEGV_PKUERR___219 = 4
} ;
enum __anonenum_1036286214___219 {
    BUS_ADRALN___219 = 1,
    BUS_ADRERR___219 = 2,
    BUS_OBJERR___219 = 3,
    BUS_MCEERR_AR___219 = 4,
    BUS_MCEERR_AO___219 = 5
} ;
enum __anonenum_493465559___219 {
    TRAP_BRKPT___219 = 1,
    TRAP_TRACE___219 = 2
} ;
enum __anonenum_23175539___219 {
    CLD_EXITED___219 = 1,
    CLD_KILLED___219 = 2,
    CLD_DUMPED___219 = 3,
    CLD_TRAPPED___219 = 4,
    CLD_STOPPED___219 = 5,
    CLD_CONTINUED___219 = 6
} ;
enum __anonenum_111643124___219 {
    POLL_IN___219 = 1,
    POLL_OUT___219 = 2,
    POLL_MSG___219 = 3,
    POLL_ERR___219 = 4,
    POLL_PRI___219 = 5,
    POLL_HUP___219 = 6
} ;
enum __anonenum_852341087___219 {
    SIGEV_SIGNAL___219 = 0,
    SIGEV_NONE___219 = 1,
    SIGEV_THREAD___219 = 2,
    SIGEV_THREAD_ID___219 = 4
} ;
enum __anonenum_451154152___219 {
    REG_R8___219 = 0,
    REG_R9___219 = 1,
    REG_R10___219 = 2,
    REG_R11___219 = 3,
    REG_R12___219 = 4,
    REG_R13___219 = 5,
    REG_R14___219 = 6,
    REG_R15___219 = 7,
    REG_RDI___219 = 8,
    REG_RSI___219 = 9,
    REG_RBP___219 = 10,
    REG_RBX___219 = 11,
    REG_RDX___219 = 12,
    REG_RAX___219 = 13,
    REG_RCX___219 = 14,
    REG_RSP___219 = 15,
    REG_RIP___219 = 16,
    REG_EFL___219 = 17,
    REG_CSGSFS___219 = 18,
    REG_ERR___219 = 19,
    REG_TRAPNO___219 = 20,
    REG_OLDMASK___219 = 21,
    REG_CR2___219 = 22
} ;
enum __anonenum_57186863___219 {
    SS_ONSTACK___219 = 1,
    SS_DISABLE___219 = 2
} ;
enum __anonenum_83571709___219 {
    MSG_OOB___219 = 1,
    MSG_PEEK___219 = 2,
    MSG_DONTROUTE___219 = 4,
    MSG_TRYHARD___219 = 4,
    MSG_CTRUNC___219 = 8,
    MSG_PROXY___219 = 16,
    MSG_TRUNC___219 = 32,
    MSG_DONTWAIT___219 = 64,
    MSG_EOR___219 = 128,
    MSG_WAITALL___219 = 256,
    MSG_FIN___219 = 512,
    MSG_SYN___219 = 1024,
    MSG_CONFIRM___219 = 2048,
    MSG_RST___219 = 4096,
    MSG_ERRQUEUE___219 = 8192,
    MSG_NOSIGNAL___219 = 16384,
    MSG_MORE___219 = 32768,
    MSG_WAITFORONE___219 = 65536,
    MSG_BATCH___219 = 262144,
    MSG_ZEROCOPY___219 = 67108864,
    MSG_FASTOPEN___219 = 536870912,
    MSG_CMSG_CLOEXEC___219 = 1073741824
} ;
enum __anonenum_617082774___219 {
    SCM_RIGHTS___219 = 1,
    SCM_CREDENTIALS___219 = 2
} ;
enum __anonenum_606441560___219 {
    SHUT_RD___219 = 0,
    SHUT_WR___219 = 1,
    SHUT_RDWR___219 = 2
} ;
enum __anonenum_681669233___219 {
    IPPROTO_IP___219 = 0,
    IPPROTO_ICMP___219 = 1,
    IPPROTO_IGMP___219 = 2,
    IPPROTO_IPIP___219 = 4,
    IPPROTO_TCP___219 = 6,
    IPPROTO_EGP___219 = 8,
    IPPROTO_PUP___219 = 12,
    IPPROTO_UDP___219 = 17,
    IPPROTO_IDP___219 = 22,
    IPPROTO_TP___219 = 29,
    IPPROTO_DCCP___219 = 33,
    IPPROTO_IPV6___219 = 41,
    IPPROTO_RSVP___219 = 46,
    IPPROTO_GRE___219 = 47,
    IPPROTO_ESP___219 = 50,
    IPPROTO_AH___219 = 51,
    IPPROTO_MTP___219 = 92,
    IPPROTO_BEETPH___219 = 94,
    IPPROTO_ENCAP___219 = 98,
    IPPROTO_PIM___219 = 103,
    IPPROTO_COMP___219 = 108,
    IPPROTO_SCTP___219 = 132,
    IPPROTO_UDPLITE___219 = 136,
    IPPROTO_MPLS___219 = 137,
    IPPROTO_RAW___219 = 255,
    IPPROTO_MAX___219 = 256
} ;
enum __anonenum_218739988___219 {
    IPPROTO_HOPOPTS___219 = 0,
    IPPROTO_ROUTING___219 = 43,
    IPPROTO_FRAGMENT___219 = 44,
    IPPROTO_ICMPV6___219 = 58,
    IPPROTO_NONE___219 = 59,
    IPPROTO_DSTOPTS___219 = 60,
    IPPROTO_MH___219 = 135
} ;
enum __anonenum_662268580___219 {
    IPPORT_ECHO___219 = 7,
    IPPORT_DISCARD___219 = 9,
    IPPORT_SYSTAT___219 = 11,
    IPPORT_DAYTIME___219 = 13,
    IPPORT_NETSTAT___219 = 15,
    IPPORT_FTP___219 = 21,
    IPPORT_TELNET___219 = 23,
    IPPORT_SMTP___219 = 25,
    IPPORT_TIMESERVER___219 = 37,
    IPPORT_NAMESERVER___219 = 42,
    IPPORT_WHOIS___219 = 43,
    IPPORT_MTP___219 = 57,
    IPPORT_TFTP___219 = 69,
    IPPORT_RJE___219 = 77,
    IPPORT_FINGER___219 = 79,
    IPPORT_TTYLINK___219 = 87,
    IPPORT_SUPDUP___219 = 95,
    IPPORT_EXECSERVER___219 = 512,
    IPPORT_LOGINSERVER___219 = 513,
    IPPORT_CMDSERVER___219 = 514,
    IPPORT_EFSSERVER___219 = 520,
    IPPORT_BIFFUDP___219 = 512,
    IPPORT_WHOSERVER___219 = 513,
    IPPORT_ROUTESERVER___219 = 520,
    IPPORT_RESERVED___219 = 1024,
    IPPORT_USERRESERVED___219 = 5000
} ;
enum __anonenum_788308992___219 {
    TCP_ESTABLISHED___219 = 1,
    TCP_SYN_SENT___219 = 2,
    TCP_SYN_RECV___219 = 3,
    TCP_FIN_WAIT1___219 = 4,
    TCP_FIN_WAIT2___219 = 5,
    TCP_TIME_WAIT___219 = 6,
    TCP_CLOSE___219 = 7,
    TCP_CLOSE_WAIT___219 = 8,
    TCP_LAST_ACK___219 = 9,
    TCP_LISTEN___219 = 10,
    TCP_CLOSING___219 = 11
} ;
enum __anonenum_221125648___219 {
    TCP_NO_QUEUE___219 = 0,
    TCP_RECV_QUEUE___219 = 1,
    TCP_SEND_QUEUE___219 = 2,
    TCP_QUEUES_NR___219 = 3
} ;
enum __anonenum_34415463___219 {
    PTHREAD_CREATE_JOINABLE___219 = 0,
    PTHREAD_CREATE_DETACHED___219 = 1
} ;
enum __anonenum_303612439___219 {
    PTHREAD_MUTEX_TIMED_NP___219 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___219 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___219 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___219 = 3,
    PTHREAD_MUTEX_NORMAL___219 = 0,
    PTHREAD_MUTEX_RECURSIVE___219 = 1,
    PTHREAD_MUTEX_ERRORCHECK___219 = 2,
    PTHREAD_MUTEX_DEFAULT___219 = 0,
    PTHREAD_MUTEX_FAST_NP___219 = 0
} ;
enum __anonenum_931900394___219 {
    PTHREAD_MUTEX_STALLED___219 = 0,
    PTHREAD_MUTEX_STALLED_NP___219 = 0,
    PTHREAD_MUTEX_ROBUST___219 = 1,
    PTHREAD_MUTEX_ROBUST_NP___219 = 1
} ;
enum __anonenum_205214487___219 {
    PTHREAD_PRIO_NONE___219 = 0,
    PTHREAD_PRIO_INHERIT___219 = 1,
    PTHREAD_PRIO_PROTECT___219 = 2
} ;
enum __anonenum_25043950___219 {
    PTHREAD_RWLOCK_PREFER_READER_NP___219 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___219 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___219 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___219 = 0
} ;
enum __anonenum_436439511___219 {
    PTHREAD_INHERIT_SCHED___219 = 0,
    PTHREAD_EXPLICIT_SCHED___219 = 1
} ;
enum __anonenum_998661166___219 {
    PTHREAD_SCOPE_SYSTEM___219 = 0,
    PTHREAD_SCOPE_PROCESS___219 = 1
} ;
enum __anonenum_146137331___219 {
    PTHREAD_PROCESS_PRIVATE___219 = 0,
    PTHREAD_PROCESS_SHARED___219 = 1
} ;
enum __anonenum_53396917___219 {
    PTHREAD_CANCEL_ENABLE___219 = 0,
    PTHREAD_CANCEL_DISABLE___219 = 1
} ;
enum __anonenum_904563783___219 {
    PTHREAD_CANCEL_DEFERRED___219 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___219 = 1
} ;
enum __anonenum_672052974___219 {
    SSL_CT_VALIDATION_PERMISSIVE___219 = 0,
    SSL_CT_VALIDATION_STRICT___219 = 1
} ;
struct interval {
   ucs_char_t first ;
   ucs_char_t last ;
};
typedef char *iconv_ibp;
enum __anonenum_437032235___220 {
    _PC_LINK_MAX___220 = 0,
    _PC_MAX_CANON___220 = 1,
    _PC_MAX_INPUT___220 = 2,
    _PC_NAME_MAX___220 = 3,
    _PC_PATH_MAX___220 = 4,
    _PC_PIPE_BUF___220 = 5,
    _PC_CHOWN_RESTRICTED___220 = 6,
    _PC_NO_TRUNC___220 = 7,
    _PC_VDISABLE___220 = 8,
    _PC_SYNC_IO___220 = 9,
    _PC_ASYNC_IO___220 = 10,
    _PC_PRIO_IO___220 = 11,
    _PC_SOCK_MAXBUF___220 = 12,
    _PC_FILESIZEBITS___220 = 13,
    _PC_REC_INCR_XFER_SIZE___220 = 14,
    _PC_REC_MAX_XFER_SIZE___220 = 15,
    _PC_REC_MIN_XFER_SIZE___220 = 16,
    _PC_REC_XFER_ALIGN___220 = 17,
    _PC_ALLOC_SIZE_MIN___220 = 18,
    _PC_SYMLINK_MAX___220 = 19,
    _PC_2_SYMLINKS___220 = 20
} ;
enum __anonenum_315186338___220 {
    _SC_ARG_MAX___220 = 0,
    _SC_CHILD_MAX___220 = 1,
    _SC_CLK_TCK___220 = 2,
    _SC_NGROUPS_MAX___220 = 3,
    _SC_OPEN_MAX___220 = 4,
    _SC_STREAM_MAX___220 = 5,
    _SC_TZNAME_MAX___220 = 6,
    _SC_JOB_CONTROL___220 = 7,
    _SC_SAVED_IDS___220 = 8,
    _SC_REALTIME_SIGNALS___220 = 9,
    _SC_PRIORITY_SCHEDULING___220 = 10,
    _SC_TIMERS___220 = 11,
    _SC_ASYNCHRONOUS_IO___220 = 12,
    _SC_PRIORITIZED_IO___220 = 13,
    _SC_SYNCHRONIZED_IO___220 = 14,
    _SC_FSYNC___220 = 15,
    _SC_MAPPED_FILES___220 = 16,
    _SC_MEMLOCK___220 = 17,
    _SC_MEMLOCK_RANGE___220 = 18,
    _SC_MEMORY_PROTECTION___220 = 19,
    _SC_MESSAGE_PASSING___220 = 20,
    _SC_SEMAPHORES___220 = 21,
    _SC_SHARED_MEMORY_OBJECTS___220 = 22,
    _SC_AIO_LISTIO_MAX___220 = 23,
    _SC_AIO_MAX___220 = 24,
    _SC_AIO_PRIO_DELTA_MAX___220 = 25,
    _SC_DELAYTIMER_MAX___220 = 26,
    _SC_MQ_OPEN_MAX___220 = 27,
    _SC_MQ_PRIO_MAX___220 = 28,
    _SC_VERSION___220 = 29,
    _SC_PAGESIZE___220 = 30,
    _SC_RTSIG_MAX___220 = 31,
    _SC_SEM_NSEMS_MAX___220 = 32,
    _SC_SEM_VALUE_MAX___220 = 33,
    _SC_SIGQUEUE_MAX___220 = 34,
    _SC_TIMER_MAX___220 = 35,
    _SC_BC_BASE_MAX___220 = 36,
    _SC_BC_DIM_MAX___220 = 37,
    _SC_BC_SCALE_MAX___220 = 38,
    _SC_BC_STRING_MAX___220 = 39,
    _SC_COLL_WEIGHTS_MAX___220 = 40,
    _SC_EQUIV_CLASS_MAX___220 = 41,
    _SC_EXPR_NEST_MAX___220 = 42,
    _SC_LINE_MAX___220 = 43,
    _SC_RE_DUP_MAX___220 = 44,
    _SC_CHARCLASS_NAME_MAX___220 = 45,
    _SC_2_VERSION___220 = 46,
    _SC_2_C_BIND___220 = 47,
    _SC_2_C_DEV___220 = 48,
    _SC_2_FORT_DEV___220 = 49,
    _SC_2_FORT_RUN___220 = 50,
    _SC_2_SW_DEV___220 = 51,
    _SC_2_LOCALEDEF___220 = 52,
    _SC_PII___220 = 53,
    _SC_PII_XTI___220 = 54,
    _SC_PII_SOCKET___220 = 55,
    _SC_PII_INTERNET___220 = 56,
    _SC_PII_OSI___220 = 57,
    _SC_POLL___220 = 58,
    _SC_SELECT___220 = 59,
    _SC_UIO_MAXIOV___220 = 60,
    _SC_IOV_MAX___220 = 60,
    _SC_PII_INTERNET_STREAM___220 = 61,
    _SC_PII_INTERNET_DGRAM___220 = 62,
    _SC_PII_OSI_COTS___220 = 63,
    _SC_PII_OSI_CLTS___220 = 64,
    _SC_PII_OSI_M___220 = 65,
    _SC_T_IOV_MAX___220 = 66,
    _SC_THREADS___220 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___220 = 68,
    _SC_GETGR_R_SIZE_MAX___220 = 69,
    _SC_GETPW_R_SIZE_MAX___220 = 70,
    _SC_LOGIN_NAME_MAX___220 = 71,
    _SC_TTY_NAME_MAX___220 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___220 = 73,
    _SC_THREAD_KEYS_MAX___220 = 74,
    _SC_THREAD_STACK_MIN___220 = 75,
    _SC_THREAD_THREADS_MAX___220 = 76,
    _SC_THREAD_ATTR_STACKADDR___220 = 77,
    _SC_THREAD_ATTR_STACKSIZE___220 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___220 = 79,
    _SC_THREAD_PRIO_INHERIT___220 = 80,
    _SC_THREAD_PRIO_PROTECT___220 = 81,
    _SC_THREAD_PROCESS_SHARED___220 = 82,
    _SC_NPROCESSORS_CONF___220 = 83,
    _SC_NPROCESSORS_ONLN___220 = 84,
    _SC_PHYS_PAGES___220 = 85,
    _SC_AVPHYS_PAGES___220 = 86,
    _SC_ATEXIT_MAX___220 = 87,
    _SC_PASS_MAX___220 = 88,
    _SC_XOPEN_VERSION___220 = 89,
    _SC_XOPEN_XCU_VERSION___220 = 90,
    _SC_XOPEN_UNIX___220 = 91,
    _SC_XOPEN_CRYPT___220 = 92,
    _SC_XOPEN_ENH_I18N___220 = 93,
    _SC_XOPEN_SHM___220 = 94,
    _SC_2_CHAR_TERM___220 = 95,
    _SC_2_C_VERSION___220 = 96,
    _SC_2_UPE___220 = 97,
    _SC_XOPEN_XPG2___220 = 98,
    _SC_XOPEN_XPG3___220 = 99,
    _SC_XOPEN_XPG4___220 = 100,
    _SC_CHAR_BIT___220 = 101,
    _SC_CHAR_MAX___220 = 102,
    _SC_CHAR_MIN___220 = 103,
    _SC_INT_MAX___220 = 104,
    _SC_INT_MIN___220 = 105,
    _SC_LONG_BIT___220 = 106,
    _SC_WORD_BIT___220 = 107,
    _SC_MB_LEN_MAX___220 = 108,
    _SC_NZERO___220 = 109,
    _SC_SSIZE_MAX___220 = 110,
    _SC_SCHAR_MAX___220 = 111,
    _SC_SCHAR_MIN___220 = 112,
    _SC_SHRT_MAX___220 = 113,
    _SC_SHRT_MIN___220 = 114,
    _SC_UCHAR_MAX___220 = 115,
    _SC_UINT_MAX___220 = 116,
    _SC_ULONG_MAX___220 = 117,
    _SC_USHRT_MAX___220 = 118,
    _SC_NL_ARGMAX___220 = 119,
    _SC_NL_LANGMAX___220 = 120,
    _SC_NL_MSGMAX___220 = 121,
    _SC_NL_NMAX___220 = 122,
    _SC_NL_SETMAX___220 = 123,
    _SC_NL_TEXTMAX___220 = 124,
    _SC_XBS5_ILP32_OFF32___220 = 125,
    _SC_XBS5_ILP32_OFFBIG___220 = 126,
    _SC_XBS5_LP64_OFF64___220 = 127,
    _SC_XBS5_LPBIG_OFFBIG___220 = 128,
    _SC_XOPEN_LEGACY___220 = 129,
    _SC_XOPEN_REALTIME___220 = 130,
    _SC_XOPEN_REALTIME_THREADS___220 = 131,
    _SC_ADVISORY_INFO___220 = 132,
    _SC_BARRIERS___220 = 133,
    _SC_BASE___220 = 134,
    _SC_C_LANG_SUPPORT___220 = 135,
    _SC_C_LANG_SUPPORT_R___220 = 136,
    _SC_CLOCK_SELECTION___220 = 137,
    _SC_CPUTIME___220 = 138,
    _SC_THREAD_CPUTIME___220 = 139,
    _SC_DEVICE_IO___220 = 140,
    _SC_DEVICE_SPECIFIC___220 = 141,
    _SC_DEVICE_SPECIFIC_R___220 = 142,
    _SC_FD_MGMT___220 = 143,
    _SC_FIFO___220 = 144,
    _SC_PIPE___220 = 145,
    _SC_FILE_ATTRIBUTES___220 = 146,
    _SC_FILE_LOCKING___220 = 147,
    _SC_FILE_SYSTEM___220 = 148,
    _SC_MONOTONIC_CLOCK___220 = 149,
    _SC_MULTI_PROCESS___220 = 150,
    _SC_SINGLE_PROCESS___220 = 151,
    _SC_NETWORKING___220 = 152,
    _SC_READER_WRITER_LOCKS___220 = 153,
    _SC_SPIN_LOCKS___220 = 154,
    _SC_REGEXP___220 = 155,
    _SC_REGEX_VERSION___220 = 156,
    _SC_SHELL___220 = 157,
    _SC_SIGNALS___220 = 158,
    _SC_SPAWN___220 = 159,
    _SC_SPORADIC_SERVER___220 = 160,
    _SC_THREAD_SPORADIC_SERVER___220 = 161,
    _SC_SYSTEM_DATABASE___220 = 162,
    _SC_SYSTEM_DATABASE_R___220 = 163,
    _SC_TIMEOUTS___220 = 164,
    _SC_TYPED_MEMORY_OBJECTS___220 = 165,
    _SC_USER_GROUPS___220 = 166,
    _SC_USER_GROUPS_R___220 = 167,
    _SC_2_PBS___220 = 168,
    _SC_2_PBS_ACCOUNTING___220 = 169,
    _SC_2_PBS_LOCATE___220 = 170,
    _SC_2_PBS_MESSAGE___220 = 171,
    _SC_2_PBS_TRACK___220 = 172,
    _SC_SYMLOOP_MAX___220 = 173,
    _SC_STREAMS___220 = 174,
    _SC_2_PBS_CHECKPOINT___220 = 175,
    _SC_V6_ILP32_OFF32___220 = 176,
    _SC_V6_ILP32_OFFBIG___220 = 177,
    _SC_V6_LP64_OFF64___220 = 178,
    _SC_V6_LPBIG_OFFBIG___220 = 179,
    _SC_HOST_NAME_MAX___220 = 180,
    _SC_TRACE___220 = 181,
    _SC_TRACE_EVENT_FILTER___220 = 182,
    _SC_TRACE_INHERIT___220 = 183,
    _SC_TRACE_LOG___220 = 184,
    _SC_LEVEL1_ICACHE_SIZE___220 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___220 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___220 = 187,
    _SC_LEVEL1_DCACHE_SIZE___220 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___220 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___220 = 190,
    _SC_LEVEL2_CACHE_SIZE___220 = 191,
    _SC_LEVEL2_CACHE_ASSOC___220 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___220 = 193,
    _SC_LEVEL3_CACHE_SIZE___220 = 194,
    _SC_LEVEL3_CACHE_ASSOC___220 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___220 = 196,
    _SC_LEVEL4_CACHE_SIZE___220 = 197,
    _SC_LEVEL4_CACHE_ASSOC___220 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___220 = 199,
    _SC_IPV6___220 = 235,
    _SC_RAW_SOCKETS___220 = 236,
    _SC_V7_ILP32_OFF32___220 = 237,
    _SC_V7_ILP32_OFFBIG___220 = 238,
    _SC_V7_LP64_OFF64___220 = 239,
    _SC_V7_LPBIG_OFFBIG___220 = 240,
    _SC_SS_REPL_MAX___220 = 241,
    _SC_TRACE_EVENT_NAME_MAX___220 = 242,
    _SC_TRACE_NAME_MAX___220 = 243,
    _SC_TRACE_SYS_MAX___220 = 244,
    _SC_TRACE_USER_EVENT_MAX___220 = 245,
    _SC_XOPEN_STREAMS___220 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___220 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___220 = 248
} ;
enum __anonenum_875524036___220 {
    _CS_PATH___220 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___220 = 1,
    _CS_GNU_LIBC_VERSION___220 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___220 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___220 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___220 = 5,
    _CS_LFS_CFLAGS___220 = 1000,
    _CS_LFS_LDFLAGS___220 = 1001,
    _CS_LFS_LIBS___220 = 1002,
    _CS_LFS_LINTFLAGS___220 = 1003,
    _CS_LFS64_CFLAGS___220 = 1004,
    _CS_LFS64_LDFLAGS___220 = 1005,
    _CS_LFS64_LIBS___220 = 1006,
    _CS_LFS64_LINTFLAGS___220 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___220 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___220 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___220 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___220 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___220 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___220 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___220 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___220 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___220 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___220 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___220 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___220 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___220 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___220 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___220 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___220 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___220 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___220 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___220 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___220 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___220 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___220 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___220 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___220 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___220 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___220 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___220 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___220 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___220 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___220 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___220 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___220 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___220 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___220 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___220 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___220 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___220 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___220 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___220 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___220 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___220 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___220 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___220 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___220 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___220 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___220 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___220 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___220 = 1147,
    _CS_V6_ENV___220 = 1148,
    _CS_V7_ENV___220 = 1149
} ;
enum __anonenum_513775621___220 {
    DT_UNKNOWN___220 = 0,
    DT_FIFO___220 = 1,
    DT_CHR___220 = 2,
    DT_DIR___220 = 4,
    DT_BLK___220 = 6,
    DT_REG___220 = 8,
    DT_LNK___220 = 10,
    DT_SOCK___220 = 12,
    DT_WHT___220 = 14
} ;
enum __anonenum_77002343___220 {
    SI_ASYNCNL___220 = -60,
    SI_TKILL___220 = -6,
    SI_SIGIO___220 = -5,
    SI_ASYNCIO___220 = -4,
    SI_MESGQ___220 = -3,
    SI_TIMER___220 = -2,
    SI_QUEUE___220 = -1,
    SI_USER___220 = 0,
    SI_KERNEL___220 = 128
} ;
enum __anonenum_131038172___220 {
    ILL_ILLOPC___220 = 1,
    ILL_ILLOPN___220 = 2,
    ILL_ILLADR___220 = 3,
    ILL_ILLTRP___220 = 4,
    ILL_PRVOPC___220 = 5,
    ILL_PRVREG___220 = 6,
    ILL_COPROC___220 = 7,
    ILL_BADSTK___220 = 8
} ;
enum __anonenum_452038093___220 {
    FPE_INTDIV___220 = 1,
    FPE_INTOVF___220 = 2,
    FPE_FLTDIV___220 = 3,
    FPE_FLTOVF___220 = 4,
    FPE_FLTUND___220 = 5,
    FPE_FLTRES___220 = 6,
    FPE_FLTINV___220 = 7,
    FPE_FLTSUB___220 = 8
} ;
enum __anonenum_30976155___220 {
    SEGV_MAPERR___220 = 1,
    SEGV_ACCERR___220 = 2,
    SEGV_BNDERR___220 = 3,
    SEGV_PKUERR___220 = 4
} ;
enum __anonenum_1036286214___220 {
    BUS_ADRALN___220 = 1,
    BUS_ADRERR___220 = 2,
    BUS_OBJERR___220 = 3,
    BUS_MCEERR_AR___220 = 4,
    BUS_MCEERR_AO___220 = 5
} ;
enum __anonenum_493465559___220 {
    TRAP_BRKPT___220 = 1,
    TRAP_TRACE___220 = 2
} ;
enum __anonenum_23175539___220 {
    CLD_EXITED___220 = 1,
    CLD_KILLED___220 = 2,
    CLD_DUMPED___220 = 3,
    CLD_TRAPPED___220 = 4,
    CLD_STOPPED___220 = 5,
    CLD_CONTINUED___220 = 6
} ;
enum __anonenum_111643124___220 {
    POLL_IN___220 = 1,
    POLL_OUT___220 = 2,
    POLL_MSG___220 = 3,
    POLL_ERR___220 = 4,
    POLL_PRI___220 = 5,
    POLL_HUP___220 = 6
} ;
enum __anonenum_852341087___220 {
    SIGEV_SIGNAL___220 = 0,
    SIGEV_NONE___220 = 1,
    SIGEV_THREAD___220 = 2,
    SIGEV_THREAD_ID___220 = 4
} ;
enum __anonenum_451154152___220 {
    REG_R8___220 = 0,
    REG_R9___220 = 1,
    REG_R10___220 = 2,
    REG_R11___220 = 3,
    REG_R12___220 = 4,
    REG_R13___220 = 5,
    REG_R14___220 = 6,
    REG_R15___220 = 7,
    REG_RDI___220 = 8,
    REG_RSI___220 = 9,
    REG_RBP___220 = 10,
    REG_RBX___220 = 11,
    REG_RDX___220 = 12,
    REG_RAX___220 = 13,
    REG_RCX___220 = 14,
    REG_RSP___220 = 15,
    REG_RIP___220 = 16,
    REG_EFL___220 = 17,
    REG_CSGSFS___220 = 18,
    REG_ERR___220 = 19,
    REG_TRAPNO___220 = 20,
    REG_OLDMASK___220 = 21,
    REG_CR2___220 = 22
} ;
enum __anonenum_57186863___220 {
    SS_ONSTACK___220 = 1,
    SS_DISABLE___220 = 2
} ;
enum __anonenum_83571709___220 {
    MSG_OOB___220 = 1,
    MSG_PEEK___220 = 2,
    MSG_DONTROUTE___220 = 4,
    MSG_TRYHARD___220 = 4,
    MSG_CTRUNC___220 = 8,
    MSG_PROXY___220 = 16,
    MSG_TRUNC___220 = 32,
    MSG_DONTWAIT___220 = 64,
    MSG_EOR___220 = 128,
    MSG_WAITALL___220 = 256,
    MSG_FIN___220 = 512,
    MSG_SYN___220 = 1024,
    MSG_CONFIRM___220 = 2048,
    MSG_RST___220 = 4096,
    MSG_ERRQUEUE___220 = 8192,
    MSG_NOSIGNAL___220 = 16384,
    MSG_MORE___220 = 32768,
    MSG_WAITFORONE___220 = 65536,
    MSG_BATCH___220 = 262144,
    MSG_ZEROCOPY___220 = 67108864,
    MSG_FASTOPEN___220 = 536870912,
    MSG_CMSG_CLOEXEC___220 = 1073741824
} ;
enum __anonenum_617082774___220 {
    SCM_RIGHTS___220 = 1,
    SCM_CREDENTIALS___220 = 2
} ;
enum __anonenum_606441560___220 {
    SHUT_RD___220 = 0,
    SHUT_WR___220 = 1,
    SHUT_RDWR___220 = 2
} ;
enum __anonenum_681669233___220 {
    IPPROTO_IP___220 = 0,
    IPPROTO_ICMP___220 = 1,
    IPPROTO_IGMP___220 = 2,
    IPPROTO_IPIP___220 = 4,
    IPPROTO_TCP___220 = 6,
    IPPROTO_EGP___220 = 8,
    IPPROTO_PUP___220 = 12,
    IPPROTO_UDP___220 = 17,
    IPPROTO_IDP___220 = 22,
    IPPROTO_TP___220 = 29,
    IPPROTO_DCCP___220 = 33,
    IPPROTO_IPV6___220 = 41,
    IPPROTO_RSVP___220 = 46,
    IPPROTO_GRE___220 = 47,
    IPPROTO_ESP___220 = 50,
    IPPROTO_AH___220 = 51,
    IPPROTO_MTP___220 = 92,
    IPPROTO_BEETPH___220 = 94,
    IPPROTO_ENCAP___220 = 98,
    IPPROTO_PIM___220 = 103,
    IPPROTO_COMP___220 = 108,
    IPPROTO_SCTP___220 = 132,
    IPPROTO_UDPLITE___220 = 136,
    IPPROTO_MPLS___220 = 137,
    IPPROTO_RAW___220 = 255,
    IPPROTO_MAX___220 = 256
} ;
enum __anonenum_218739988___220 {
    IPPROTO_HOPOPTS___220 = 0,
    IPPROTO_ROUTING___220 = 43,
    IPPROTO_FRAGMENT___220 = 44,
    IPPROTO_ICMPV6___220 = 58,
    IPPROTO_NONE___220 = 59,
    IPPROTO_DSTOPTS___220 = 60,
    IPPROTO_MH___220 = 135
} ;
enum __anonenum_662268580___220 {
    IPPORT_ECHO___220 = 7,
    IPPORT_DISCARD___220 = 9,
    IPPORT_SYSTAT___220 = 11,
    IPPORT_DAYTIME___220 = 13,
    IPPORT_NETSTAT___220 = 15,
    IPPORT_FTP___220 = 21,
    IPPORT_TELNET___220 = 23,
    IPPORT_SMTP___220 = 25,
    IPPORT_TIMESERVER___220 = 37,
    IPPORT_NAMESERVER___220 = 42,
    IPPORT_WHOIS___220 = 43,
    IPPORT_MTP___220 = 57,
    IPPORT_TFTP___220 = 69,
    IPPORT_RJE___220 = 77,
    IPPORT_FINGER___220 = 79,
    IPPORT_TTYLINK___220 = 87,
    IPPORT_SUPDUP___220 = 95,
    IPPORT_EXECSERVER___220 = 512,
    IPPORT_LOGINSERVER___220 = 513,
    IPPORT_CMDSERVER___220 = 514,
    IPPORT_EFSSERVER___220 = 520,
    IPPORT_BIFFUDP___220 = 512,
    IPPORT_WHOSERVER___220 = 513,
    IPPORT_ROUTESERVER___220 = 520,
    IPPORT_RESERVED___220 = 1024,
    IPPORT_USERRESERVED___220 = 5000
} ;
enum __anonenum_788308992___220 {
    TCP_ESTABLISHED___220 = 1,
    TCP_SYN_SENT___220 = 2,
    TCP_SYN_RECV___220 = 3,
    TCP_FIN_WAIT1___220 = 4,
    TCP_FIN_WAIT2___220 = 5,
    TCP_TIME_WAIT___220 = 6,
    TCP_CLOSE___220 = 7,
    TCP_CLOSE_WAIT___220 = 8,
    TCP_LAST_ACK___220 = 9,
    TCP_LISTEN___220 = 10,
    TCP_CLOSING___220 = 11
} ;
enum __anonenum_221125648___220 {
    TCP_NO_QUEUE___220 = 0,
    TCP_RECV_QUEUE___220 = 1,
    TCP_SEND_QUEUE___220 = 2,
    TCP_QUEUES_NR___220 = 3
} ;
enum __anonenum_34415463___220 {
    PTHREAD_CREATE_JOINABLE___220 = 0,
    PTHREAD_CREATE_DETACHED___220 = 1
} ;
enum __anonenum_303612439___220 {
    PTHREAD_MUTEX_TIMED_NP___220 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___220 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___220 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___220 = 3,
    PTHREAD_MUTEX_NORMAL___220 = 0,
    PTHREAD_MUTEX_RECURSIVE___220 = 1,
    PTHREAD_MUTEX_ERRORCHECK___220 = 2,
    PTHREAD_MUTEX_DEFAULT___220 = 0,
    PTHREAD_MUTEX_FAST_NP___220 = 0
} ;
enum __anonenum_931900394___220 {
    PTHREAD_MUTEX_STALLED___220 = 0,
    PTHREAD_MUTEX_STALLED_NP___220 = 0,
    PTHREAD_MUTEX_ROBUST___220 = 1,
    PTHREAD_MUTEX_ROBUST_NP___220 = 1
} ;
enum __anonenum_205214487___220 {
    PTHREAD_PRIO_NONE___220 = 0,
    PTHREAD_PRIO_INHERIT___220 = 1,
    PTHREAD_PRIO_PROTECT___220 = 2
} ;
enum __anonenum_25043950___220 {
    PTHREAD_RWLOCK_PREFER_READER_NP___220 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___220 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___220 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___220 = 0
} ;
enum __anonenum_436439511___220 {
    PTHREAD_INHERIT_SCHED___220 = 0,
    PTHREAD_EXPLICIT_SCHED___220 = 1
} ;
enum __anonenum_998661166___220 {
    PTHREAD_SCOPE_SYSTEM___220 = 0,
    PTHREAD_SCOPE_PROCESS___220 = 1
} ;
enum __anonenum_146137331___220 {
    PTHREAD_PROCESS_PRIVATE___220 = 0,
    PTHREAD_PROCESS_SHARED___220 = 1
} ;
enum __anonenum_53396917___220 {
    PTHREAD_CANCEL_ENABLE___220 = 0,
    PTHREAD_CANCEL_DISABLE___220 = 1
} ;
enum __anonenum_904563783___220 {
    PTHREAD_CANCEL_DEFERRED___220 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___220 = 1
} ;
enum __anonenum_672052974___220 {
    SSL_CT_VALIDATION_PERMISSIVE___220 = 0,
    SSL_CT_VALIDATION_STRICT___220 = 1
} ;
enum __anonenum_437032235___221 {
    _PC_LINK_MAX___221 = 0,
    _PC_MAX_CANON___221 = 1,
    _PC_MAX_INPUT___221 = 2,
    _PC_NAME_MAX___221 = 3,
    _PC_PATH_MAX___221 = 4,
    _PC_PIPE_BUF___221 = 5,
    _PC_CHOWN_RESTRICTED___221 = 6,
    _PC_NO_TRUNC___221 = 7,
    _PC_VDISABLE___221 = 8,
    _PC_SYNC_IO___221 = 9,
    _PC_ASYNC_IO___221 = 10,
    _PC_PRIO_IO___221 = 11,
    _PC_SOCK_MAXBUF___221 = 12,
    _PC_FILESIZEBITS___221 = 13,
    _PC_REC_INCR_XFER_SIZE___221 = 14,
    _PC_REC_MAX_XFER_SIZE___221 = 15,
    _PC_REC_MIN_XFER_SIZE___221 = 16,
    _PC_REC_XFER_ALIGN___221 = 17,
    _PC_ALLOC_SIZE_MIN___221 = 18,
    _PC_SYMLINK_MAX___221 = 19,
    _PC_2_SYMLINKS___221 = 20
} ;
enum __anonenum_315186338___221 {
    _SC_ARG_MAX___221 = 0,
    _SC_CHILD_MAX___221 = 1,
    _SC_CLK_TCK___221 = 2,
    _SC_NGROUPS_MAX___221 = 3,
    _SC_OPEN_MAX___221 = 4,
    _SC_STREAM_MAX___221 = 5,
    _SC_TZNAME_MAX___221 = 6,
    _SC_JOB_CONTROL___221 = 7,
    _SC_SAVED_IDS___221 = 8,
    _SC_REALTIME_SIGNALS___221 = 9,
    _SC_PRIORITY_SCHEDULING___221 = 10,
    _SC_TIMERS___221 = 11,
    _SC_ASYNCHRONOUS_IO___221 = 12,
    _SC_PRIORITIZED_IO___221 = 13,
    _SC_SYNCHRONIZED_IO___221 = 14,
    _SC_FSYNC___221 = 15,
    _SC_MAPPED_FILES___221 = 16,
    _SC_MEMLOCK___221 = 17,
    _SC_MEMLOCK_RANGE___221 = 18,
    _SC_MEMORY_PROTECTION___221 = 19,
    _SC_MESSAGE_PASSING___221 = 20,
    _SC_SEMAPHORES___221 = 21,
    _SC_SHARED_MEMORY_OBJECTS___221 = 22,
    _SC_AIO_LISTIO_MAX___221 = 23,
    _SC_AIO_MAX___221 = 24,
    _SC_AIO_PRIO_DELTA_MAX___221 = 25,
    _SC_DELAYTIMER_MAX___221 = 26,
    _SC_MQ_OPEN_MAX___221 = 27,
    _SC_MQ_PRIO_MAX___221 = 28,
    _SC_VERSION___221 = 29,
    _SC_PAGESIZE___221 = 30,
    _SC_RTSIG_MAX___221 = 31,
    _SC_SEM_NSEMS_MAX___221 = 32,
    _SC_SEM_VALUE_MAX___221 = 33,
    _SC_SIGQUEUE_MAX___221 = 34,
    _SC_TIMER_MAX___221 = 35,
    _SC_BC_BASE_MAX___221 = 36,
    _SC_BC_DIM_MAX___221 = 37,
    _SC_BC_SCALE_MAX___221 = 38,
    _SC_BC_STRING_MAX___221 = 39,
    _SC_COLL_WEIGHTS_MAX___221 = 40,
    _SC_EQUIV_CLASS_MAX___221 = 41,
    _SC_EXPR_NEST_MAX___221 = 42,
    _SC_LINE_MAX___221 = 43,
    _SC_RE_DUP_MAX___221 = 44,
    _SC_CHARCLASS_NAME_MAX___221 = 45,
    _SC_2_VERSION___221 = 46,
    _SC_2_C_BIND___221 = 47,
    _SC_2_C_DEV___221 = 48,
    _SC_2_FORT_DEV___221 = 49,
    _SC_2_FORT_RUN___221 = 50,
    _SC_2_SW_DEV___221 = 51,
    _SC_2_LOCALEDEF___221 = 52,
    _SC_PII___221 = 53,
    _SC_PII_XTI___221 = 54,
    _SC_PII_SOCKET___221 = 55,
    _SC_PII_INTERNET___221 = 56,
    _SC_PII_OSI___221 = 57,
    _SC_POLL___221 = 58,
    _SC_SELECT___221 = 59,
    _SC_UIO_MAXIOV___221 = 60,
    _SC_IOV_MAX___221 = 60,
    _SC_PII_INTERNET_STREAM___221 = 61,
    _SC_PII_INTERNET_DGRAM___221 = 62,
    _SC_PII_OSI_COTS___221 = 63,
    _SC_PII_OSI_CLTS___221 = 64,
    _SC_PII_OSI_M___221 = 65,
    _SC_T_IOV_MAX___221 = 66,
    _SC_THREADS___221 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___221 = 68,
    _SC_GETGR_R_SIZE_MAX___221 = 69,
    _SC_GETPW_R_SIZE_MAX___221 = 70,
    _SC_LOGIN_NAME_MAX___221 = 71,
    _SC_TTY_NAME_MAX___221 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___221 = 73,
    _SC_THREAD_KEYS_MAX___221 = 74,
    _SC_THREAD_STACK_MIN___221 = 75,
    _SC_THREAD_THREADS_MAX___221 = 76,
    _SC_THREAD_ATTR_STACKADDR___221 = 77,
    _SC_THREAD_ATTR_STACKSIZE___221 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___221 = 79,
    _SC_THREAD_PRIO_INHERIT___221 = 80,
    _SC_THREAD_PRIO_PROTECT___221 = 81,
    _SC_THREAD_PROCESS_SHARED___221 = 82,
    _SC_NPROCESSORS_CONF___221 = 83,
    _SC_NPROCESSORS_ONLN___221 = 84,
    _SC_PHYS_PAGES___221 = 85,
    _SC_AVPHYS_PAGES___221 = 86,
    _SC_ATEXIT_MAX___221 = 87,
    _SC_PASS_MAX___221 = 88,
    _SC_XOPEN_VERSION___221 = 89,
    _SC_XOPEN_XCU_VERSION___221 = 90,
    _SC_XOPEN_UNIX___221 = 91,
    _SC_XOPEN_CRYPT___221 = 92,
    _SC_XOPEN_ENH_I18N___221 = 93,
    _SC_XOPEN_SHM___221 = 94,
    _SC_2_CHAR_TERM___221 = 95,
    _SC_2_C_VERSION___221 = 96,
    _SC_2_UPE___221 = 97,
    _SC_XOPEN_XPG2___221 = 98,
    _SC_XOPEN_XPG3___221 = 99,
    _SC_XOPEN_XPG4___221 = 100,
    _SC_CHAR_BIT___221 = 101,
    _SC_CHAR_MAX___221 = 102,
    _SC_CHAR_MIN___221 = 103,
    _SC_INT_MAX___221 = 104,
    _SC_INT_MIN___221 = 105,
    _SC_LONG_BIT___221 = 106,
    _SC_WORD_BIT___221 = 107,
    _SC_MB_LEN_MAX___221 = 108,
    _SC_NZERO___221 = 109,
    _SC_SSIZE_MAX___221 = 110,
    _SC_SCHAR_MAX___221 = 111,
    _SC_SCHAR_MIN___221 = 112,
    _SC_SHRT_MAX___221 = 113,
    _SC_SHRT_MIN___221 = 114,
    _SC_UCHAR_MAX___221 = 115,
    _SC_UINT_MAX___221 = 116,
    _SC_ULONG_MAX___221 = 117,
    _SC_USHRT_MAX___221 = 118,
    _SC_NL_ARGMAX___221 = 119,
    _SC_NL_LANGMAX___221 = 120,
    _SC_NL_MSGMAX___221 = 121,
    _SC_NL_NMAX___221 = 122,
    _SC_NL_SETMAX___221 = 123,
    _SC_NL_TEXTMAX___221 = 124,
    _SC_XBS5_ILP32_OFF32___221 = 125,
    _SC_XBS5_ILP32_OFFBIG___221 = 126,
    _SC_XBS5_LP64_OFF64___221 = 127,
    _SC_XBS5_LPBIG_OFFBIG___221 = 128,
    _SC_XOPEN_LEGACY___221 = 129,
    _SC_XOPEN_REALTIME___221 = 130,
    _SC_XOPEN_REALTIME_THREADS___221 = 131,
    _SC_ADVISORY_INFO___221 = 132,
    _SC_BARRIERS___221 = 133,
    _SC_BASE___221 = 134,
    _SC_C_LANG_SUPPORT___221 = 135,
    _SC_C_LANG_SUPPORT_R___221 = 136,
    _SC_CLOCK_SELECTION___221 = 137,
    _SC_CPUTIME___221 = 138,
    _SC_THREAD_CPUTIME___221 = 139,
    _SC_DEVICE_IO___221 = 140,
    _SC_DEVICE_SPECIFIC___221 = 141,
    _SC_DEVICE_SPECIFIC_R___221 = 142,
    _SC_FD_MGMT___221 = 143,
    _SC_FIFO___221 = 144,
    _SC_PIPE___221 = 145,
    _SC_FILE_ATTRIBUTES___221 = 146,
    _SC_FILE_LOCKING___221 = 147,
    _SC_FILE_SYSTEM___221 = 148,
    _SC_MONOTONIC_CLOCK___221 = 149,
    _SC_MULTI_PROCESS___221 = 150,
    _SC_SINGLE_PROCESS___221 = 151,
    _SC_NETWORKING___221 = 152,
    _SC_READER_WRITER_LOCKS___221 = 153,
    _SC_SPIN_LOCKS___221 = 154,
    _SC_REGEXP___221 = 155,
    _SC_REGEX_VERSION___221 = 156,
    _SC_SHELL___221 = 157,
    _SC_SIGNALS___221 = 158,
    _SC_SPAWN___221 = 159,
    _SC_SPORADIC_SERVER___221 = 160,
    _SC_THREAD_SPORADIC_SERVER___221 = 161,
    _SC_SYSTEM_DATABASE___221 = 162,
    _SC_SYSTEM_DATABASE_R___221 = 163,
    _SC_TIMEOUTS___221 = 164,
    _SC_TYPED_MEMORY_OBJECTS___221 = 165,
    _SC_USER_GROUPS___221 = 166,
    _SC_USER_GROUPS_R___221 = 167,
    _SC_2_PBS___221 = 168,
    _SC_2_PBS_ACCOUNTING___221 = 169,
    _SC_2_PBS_LOCATE___221 = 170,
    _SC_2_PBS_MESSAGE___221 = 171,
    _SC_2_PBS_TRACK___221 = 172,
    _SC_SYMLOOP_MAX___221 = 173,
    _SC_STREAMS___221 = 174,
    _SC_2_PBS_CHECKPOINT___221 = 175,
    _SC_V6_ILP32_OFF32___221 = 176,
    _SC_V6_ILP32_OFFBIG___221 = 177,
    _SC_V6_LP64_OFF64___221 = 178,
    _SC_V6_LPBIG_OFFBIG___221 = 179,
    _SC_HOST_NAME_MAX___221 = 180,
    _SC_TRACE___221 = 181,
    _SC_TRACE_EVENT_FILTER___221 = 182,
    _SC_TRACE_INHERIT___221 = 183,
    _SC_TRACE_LOG___221 = 184,
    _SC_LEVEL1_ICACHE_SIZE___221 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___221 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___221 = 187,
    _SC_LEVEL1_DCACHE_SIZE___221 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___221 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___221 = 190,
    _SC_LEVEL2_CACHE_SIZE___221 = 191,
    _SC_LEVEL2_CACHE_ASSOC___221 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___221 = 193,
    _SC_LEVEL3_CACHE_SIZE___221 = 194,
    _SC_LEVEL3_CACHE_ASSOC___221 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___221 = 196,
    _SC_LEVEL4_CACHE_SIZE___221 = 197,
    _SC_LEVEL4_CACHE_ASSOC___221 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___221 = 199,
    _SC_IPV6___221 = 235,
    _SC_RAW_SOCKETS___221 = 236,
    _SC_V7_ILP32_OFF32___221 = 237,
    _SC_V7_ILP32_OFFBIG___221 = 238,
    _SC_V7_LP64_OFF64___221 = 239,
    _SC_V7_LPBIG_OFFBIG___221 = 240,
    _SC_SS_REPL_MAX___221 = 241,
    _SC_TRACE_EVENT_NAME_MAX___221 = 242,
    _SC_TRACE_NAME_MAX___221 = 243,
    _SC_TRACE_SYS_MAX___221 = 244,
    _SC_TRACE_USER_EVENT_MAX___221 = 245,
    _SC_XOPEN_STREAMS___221 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___221 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___221 = 248
} ;
enum __anonenum_875524036___221 {
    _CS_PATH___221 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___221 = 1,
    _CS_GNU_LIBC_VERSION___221 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___221 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___221 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___221 = 5,
    _CS_LFS_CFLAGS___221 = 1000,
    _CS_LFS_LDFLAGS___221 = 1001,
    _CS_LFS_LIBS___221 = 1002,
    _CS_LFS_LINTFLAGS___221 = 1003,
    _CS_LFS64_CFLAGS___221 = 1004,
    _CS_LFS64_LDFLAGS___221 = 1005,
    _CS_LFS64_LIBS___221 = 1006,
    _CS_LFS64_LINTFLAGS___221 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___221 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___221 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___221 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___221 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___221 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___221 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___221 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___221 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___221 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___221 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___221 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___221 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___221 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___221 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___221 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___221 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___221 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___221 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___221 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___221 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___221 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___221 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___221 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___221 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___221 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___221 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___221 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___221 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___221 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___221 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___221 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___221 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___221 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___221 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___221 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___221 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___221 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___221 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___221 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___221 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___221 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___221 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___221 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___221 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___221 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___221 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___221 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___221 = 1147,
    _CS_V6_ENV___221 = 1148,
    _CS_V7_ENV___221 = 1149
} ;
enum __anonenum_513775621___221 {
    DT_UNKNOWN___221 = 0,
    DT_FIFO___221 = 1,
    DT_CHR___221 = 2,
    DT_DIR___221 = 4,
    DT_BLK___221 = 6,
    DT_REG___221 = 8,
    DT_LNK___221 = 10,
    DT_SOCK___221 = 12,
    DT_WHT___221 = 14
} ;
enum __anonenum_77002343___221 {
    SI_ASYNCNL___221 = -60,
    SI_TKILL___221 = -6,
    SI_SIGIO___221 = -5,
    SI_ASYNCIO___221 = -4,
    SI_MESGQ___221 = -3,
    SI_TIMER___221 = -2,
    SI_QUEUE___221 = -1,
    SI_USER___221 = 0,
    SI_KERNEL___221 = 128
} ;
enum __anonenum_131038172___221 {
    ILL_ILLOPC___221 = 1,
    ILL_ILLOPN___221 = 2,
    ILL_ILLADR___221 = 3,
    ILL_ILLTRP___221 = 4,
    ILL_PRVOPC___221 = 5,
    ILL_PRVREG___221 = 6,
    ILL_COPROC___221 = 7,
    ILL_BADSTK___221 = 8
} ;
enum __anonenum_452038093___221 {
    FPE_INTDIV___221 = 1,
    FPE_INTOVF___221 = 2,
    FPE_FLTDIV___221 = 3,
    FPE_FLTOVF___221 = 4,
    FPE_FLTUND___221 = 5,
    FPE_FLTRES___221 = 6,
    FPE_FLTINV___221 = 7,
    FPE_FLTSUB___221 = 8
} ;
enum __anonenum_30976155___221 {
    SEGV_MAPERR___221 = 1,
    SEGV_ACCERR___221 = 2,
    SEGV_BNDERR___221 = 3,
    SEGV_PKUERR___221 = 4
} ;
enum __anonenum_1036286214___221 {
    BUS_ADRALN___221 = 1,
    BUS_ADRERR___221 = 2,
    BUS_OBJERR___221 = 3,
    BUS_MCEERR_AR___221 = 4,
    BUS_MCEERR_AO___221 = 5
} ;
enum __anonenum_493465559___221 {
    TRAP_BRKPT___221 = 1,
    TRAP_TRACE___221 = 2
} ;
enum __anonenum_23175539___221 {
    CLD_EXITED___221 = 1,
    CLD_KILLED___221 = 2,
    CLD_DUMPED___221 = 3,
    CLD_TRAPPED___221 = 4,
    CLD_STOPPED___221 = 5,
    CLD_CONTINUED___221 = 6
} ;
enum __anonenum_111643124___221 {
    POLL_IN___221 = 1,
    POLL_OUT___221 = 2,
    POLL_MSG___221 = 3,
    POLL_ERR___221 = 4,
    POLL_PRI___221 = 5,
    POLL_HUP___221 = 6
} ;
enum __anonenum_852341087___221 {
    SIGEV_SIGNAL___221 = 0,
    SIGEV_NONE___221 = 1,
    SIGEV_THREAD___221 = 2,
    SIGEV_THREAD_ID___221 = 4
} ;
enum __anonenum_451154152___221 {
    REG_R8___221 = 0,
    REG_R9___221 = 1,
    REG_R10___221 = 2,
    REG_R11___221 = 3,
    REG_R12___221 = 4,
    REG_R13___221 = 5,
    REG_R14___221 = 6,
    REG_R15___221 = 7,
    REG_RDI___221 = 8,
    REG_RSI___221 = 9,
    REG_RBP___221 = 10,
    REG_RBX___221 = 11,
    REG_RDX___221 = 12,
    REG_RAX___221 = 13,
    REG_RCX___221 = 14,
    REG_RSP___221 = 15,
    REG_RIP___221 = 16,
    REG_EFL___221 = 17,
    REG_CSGSFS___221 = 18,
    REG_ERR___221 = 19,
    REG_TRAPNO___221 = 20,
    REG_OLDMASK___221 = 21,
    REG_CR2___221 = 22
} ;
enum __anonenum_57186863___221 {
    SS_ONSTACK___221 = 1,
    SS_DISABLE___221 = 2
} ;
enum __anonenum_83571709___221 {
    MSG_OOB___221 = 1,
    MSG_PEEK___221 = 2,
    MSG_DONTROUTE___221 = 4,
    MSG_TRYHARD___221 = 4,
    MSG_CTRUNC___221 = 8,
    MSG_PROXY___221 = 16,
    MSG_TRUNC___221 = 32,
    MSG_DONTWAIT___221 = 64,
    MSG_EOR___221 = 128,
    MSG_WAITALL___221 = 256,
    MSG_FIN___221 = 512,
    MSG_SYN___221 = 1024,
    MSG_CONFIRM___221 = 2048,
    MSG_RST___221 = 4096,
    MSG_ERRQUEUE___221 = 8192,
    MSG_NOSIGNAL___221 = 16384,
    MSG_MORE___221 = 32768,
    MSG_WAITFORONE___221 = 65536,
    MSG_BATCH___221 = 262144,
    MSG_ZEROCOPY___221 = 67108864,
    MSG_FASTOPEN___221 = 536870912,
    MSG_CMSG_CLOEXEC___221 = 1073741824
} ;
enum __anonenum_617082774___221 {
    SCM_RIGHTS___221 = 1,
    SCM_CREDENTIALS___221 = 2
} ;
enum __anonenum_606441560___221 {
    SHUT_RD___221 = 0,
    SHUT_WR___221 = 1,
    SHUT_RDWR___221 = 2
} ;
enum __anonenum_681669233___221 {
    IPPROTO_IP___221 = 0,
    IPPROTO_ICMP___221 = 1,
    IPPROTO_IGMP___221 = 2,
    IPPROTO_IPIP___221 = 4,
    IPPROTO_TCP___221 = 6,
    IPPROTO_EGP___221 = 8,
    IPPROTO_PUP___221 = 12,
    IPPROTO_UDP___221 = 17,
    IPPROTO_IDP___221 = 22,
    IPPROTO_TP___221 = 29,
    IPPROTO_DCCP___221 = 33,
    IPPROTO_IPV6___221 = 41,
    IPPROTO_RSVP___221 = 46,
    IPPROTO_GRE___221 = 47,
    IPPROTO_ESP___221 = 50,
    IPPROTO_AH___221 = 51,
    IPPROTO_MTP___221 = 92,
    IPPROTO_BEETPH___221 = 94,
    IPPROTO_ENCAP___221 = 98,
    IPPROTO_PIM___221 = 103,
    IPPROTO_COMP___221 = 108,
    IPPROTO_SCTP___221 = 132,
    IPPROTO_UDPLITE___221 = 136,
    IPPROTO_MPLS___221 = 137,
    IPPROTO_RAW___221 = 255,
    IPPROTO_MAX___221 = 256
} ;
enum __anonenum_218739988___221 {
    IPPROTO_HOPOPTS___221 = 0,
    IPPROTO_ROUTING___221 = 43,
    IPPROTO_FRAGMENT___221 = 44,
    IPPROTO_ICMPV6___221 = 58,
    IPPROTO_NONE___221 = 59,
    IPPROTO_DSTOPTS___221 = 60,
    IPPROTO_MH___221 = 135
} ;
enum __anonenum_662268580___221 {
    IPPORT_ECHO___221 = 7,
    IPPORT_DISCARD___221 = 9,
    IPPORT_SYSTAT___221 = 11,
    IPPORT_DAYTIME___221 = 13,
    IPPORT_NETSTAT___221 = 15,
    IPPORT_FTP___221 = 21,
    IPPORT_TELNET___221 = 23,
    IPPORT_SMTP___221 = 25,
    IPPORT_TIMESERVER___221 = 37,
    IPPORT_NAMESERVER___221 = 42,
    IPPORT_WHOIS___221 = 43,
    IPPORT_MTP___221 = 57,
    IPPORT_TFTP___221 = 69,
    IPPORT_RJE___221 = 77,
    IPPORT_FINGER___221 = 79,
    IPPORT_TTYLINK___221 = 87,
    IPPORT_SUPDUP___221 = 95,
    IPPORT_EXECSERVER___221 = 512,
    IPPORT_LOGINSERVER___221 = 513,
    IPPORT_CMDSERVER___221 = 514,
    IPPORT_EFSSERVER___221 = 520,
    IPPORT_BIFFUDP___221 = 512,
    IPPORT_WHOSERVER___221 = 513,
    IPPORT_ROUTESERVER___221 = 520,
    IPPORT_RESERVED___221 = 1024,
    IPPORT_USERRESERVED___221 = 5000
} ;
enum __anonenum_788308992___221 {
    TCP_ESTABLISHED___221 = 1,
    TCP_SYN_SENT___221 = 2,
    TCP_SYN_RECV___221 = 3,
    TCP_FIN_WAIT1___221 = 4,
    TCP_FIN_WAIT2___221 = 5,
    TCP_TIME_WAIT___221 = 6,
    TCP_CLOSE___221 = 7,
    TCP_CLOSE_WAIT___221 = 8,
    TCP_LAST_ACK___221 = 9,
    TCP_LISTEN___221 = 10,
    TCP_CLOSING___221 = 11
} ;
enum __anonenum_221125648___221 {
    TCP_NO_QUEUE___221 = 0,
    TCP_RECV_QUEUE___221 = 1,
    TCP_SEND_QUEUE___221 = 2,
    TCP_QUEUES_NR___221 = 3
} ;
enum __anonenum_34415463___221 {
    PTHREAD_CREATE_JOINABLE___221 = 0,
    PTHREAD_CREATE_DETACHED___221 = 1
} ;
enum __anonenum_303612439___221 {
    PTHREAD_MUTEX_TIMED_NP___221 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___221 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___221 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___221 = 3,
    PTHREAD_MUTEX_NORMAL___221 = 0,
    PTHREAD_MUTEX_RECURSIVE___221 = 1,
    PTHREAD_MUTEX_ERRORCHECK___221 = 2,
    PTHREAD_MUTEX_DEFAULT___221 = 0,
    PTHREAD_MUTEX_FAST_NP___221 = 0
} ;
enum __anonenum_931900394___221 {
    PTHREAD_MUTEX_STALLED___221 = 0,
    PTHREAD_MUTEX_STALLED_NP___221 = 0,
    PTHREAD_MUTEX_ROBUST___221 = 1,
    PTHREAD_MUTEX_ROBUST_NP___221 = 1
} ;
enum __anonenum_205214487___221 {
    PTHREAD_PRIO_NONE___221 = 0,
    PTHREAD_PRIO_INHERIT___221 = 1,
    PTHREAD_PRIO_PROTECT___221 = 2
} ;
enum __anonenum_25043950___221 {
    PTHREAD_RWLOCK_PREFER_READER_NP___221 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___221 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___221 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___221 = 0
} ;
enum __anonenum_436439511___221 {
    PTHREAD_INHERIT_SCHED___221 = 0,
    PTHREAD_EXPLICIT_SCHED___221 = 1
} ;
enum __anonenum_998661166___221 {
    PTHREAD_SCOPE_SYSTEM___221 = 0,
    PTHREAD_SCOPE_PROCESS___221 = 1
} ;
enum __anonenum_146137331___221 {
    PTHREAD_PROCESS_PRIVATE___221 = 0,
    PTHREAD_PROCESS_SHARED___221 = 1
} ;
enum __anonenum_53396917___221 {
    PTHREAD_CANCEL_ENABLE___221 = 0,
    PTHREAD_CANCEL_DISABLE___221 = 1
} ;
enum __anonenum_904563783___221 {
    PTHREAD_CANCEL_DEFERRED___221 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___221 = 1
} ;
enum __anonenum_672052974___221 {
    SSL_CT_VALIDATION_PERMISSIVE___221 = 0,
    SSL_CT_VALIDATION_STRICT___221 = 1
} ;
enum __anonenum_437032235___222 {
    _PC_LINK_MAX___222 = 0,
    _PC_MAX_CANON___222 = 1,
    _PC_MAX_INPUT___222 = 2,
    _PC_NAME_MAX___222 = 3,
    _PC_PATH_MAX___222 = 4,
    _PC_PIPE_BUF___222 = 5,
    _PC_CHOWN_RESTRICTED___222 = 6,
    _PC_NO_TRUNC___222 = 7,
    _PC_VDISABLE___222 = 8,
    _PC_SYNC_IO___222 = 9,
    _PC_ASYNC_IO___222 = 10,
    _PC_PRIO_IO___222 = 11,
    _PC_SOCK_MAXBUF___222 = 12,
    _PC_FILESIZEBITS___222 = 13,
    _PC_REC_INCR_XFER_SIZE___222 = 14,
    _PC_REC_MAX_XFER_SIZE___222 = 15,
    _PC_REC_MIN_XFER_SIZE___222 = 16,
    _PC_REC_XFER_ALIGN___222 = 17,
    _PC_ALLOC_SIZE_MIN___222 = 18,
    _PC_SYMLINK_MAX___222 = 19,
    _PC_2_SYMLINKS___222 = 20
} ;
enum __anonenum_315186338___222 {
    _SC_ARG_MAX___222 = 0,
    _SC_CHILD_MAX___222 = 1,
    _SC_CLK_TCK___222 = 2,
    _SC_NGROUPS_MAX___222 = 3,
    _SC_OPEN_MAX___222 = 4,
    _SC_STREAM_MAX___222 = 5,
    _SC_TZNAME_MAX___222 = 6,
    _SC_JOB_CONTROL___222 = 7,
    _SC_SAVED_IDS___222 = 8,
    _SC_REALTIME_SIGNALS___222 = 9,
    _SC_PRIORITY_SCHEDULING___222 = 10,
    _SC_TIMERS___222 = 11,
    _SC_ASYNCHRONOUS_IO___222 = 12,
    _SC_PRIORITIZED_IO___222 = 13,
    _SC_SYNCHRONIZED_IO___222 = 14,
    _SC_FSYNC___222 = 15,
    _SC_MAPPED_FILES___222 = 16,
    _SC_MEMLOCK___222 = 17,
    _SC_MEMLOCK_RANGE___222 = 18,
    _SC_MEMORY_PROTECTION___222 = 19,
    _SC_MESSAGE_PASSING___222 = 20,
    _SC_SEMAPHORES___222 = 21,
    _SC_SHARED_MEMORY_OBJECTS___222 = 22,
    _SC_AIO_LISTIO_MAX___222 = 23,
    _SC_AIO_MAX___222 = 24,
    _SC_AIO_PRIO_DELTA_MAX___222 = 25,
    _SC_DELAYTIMER_MAX___222 = 26,
    _SC_MQ_OPEN_MAX___222 = 27,
    _SC_MQ_PRIO_MAX___222 = 28,
    _SC_VERSION___222 = 29,
    _SC_PAGESIZE___222 = 30,
    _SC_RTSIG_MAX___222 = 31,
    _SC_SEM_NSEMS_MAX___222 = 32,
    _SC_SEM_VALUE_MAX___222 = 33,
    _SC_SIGQUEUE_MAX___222 = 34,
    _SC_TIMER_MAX___222 = 35,
    _SC_BC_BASE_MAX___222 = 36,
    _SC_BC_DIM_MAX___222 = 37,
    _SC_BC_SCALE_MAX___222 = 38,
    _SC_BC_STRING_MAX___222 = 39,
    _SC_COLL_WEIGHTS_MAX___222 = 40,
    _SC_EQUIV_CLASS_MAX___222 = 41,
    _SC_EXPR_NEST_MAX___222 = 42,
    _SC_LINE_MAX___222 = 43,
    _SC_RE_DUP_MAX___222 = 44,
    _SC_CHARCLASS_NAME_MAX___222 = 45,
    _SC_2_VERSION___222 = 46,
    _SC_2_C_BIND___222 = 47,
    _SC_2_C_DEV___222 = 48,
    _SC_2_FORT_DEV___222 = 49,
    _SC_2_FORT_RUN___222 = 50,
    _SC_2_SW_DEV___222 = 51,
    _SC_2_LOCALEDEF___222 = 52,
    _SC_PII___222 = 53,
    _SC_PII_XTI___222 = 54,
    _SC_PII_SOCKET___222 = 55,
    _SC_PII_INTERNET___222 = 56,
    _SC_PII_OSI___222 = 57,
    _SC_POLL___222 = 58,
    _SC_SELECT___222 = 59,
    _SC_UIO_MAXIOV___222 = 60,
    _SC_IOV_MAX___222 = 60,
    _SC_PII_INTERNET_STREAM___222 = 61,
    _SC_PII_INTERNET_DGRAM___222 = 62,
    _SC_PII_OSI_COTS___222 = 63,
    _SC_PII_OSI_CLTS___222 = 64,
    _SC_PII_OSI_M___222 = 65,
    _SC_T_IOV_MAX___222 = 66,
    _SC_THREADS___222 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___222 = 68,
    _SC_GETGR_R_SIZE_MAX___222 = 69,
    _SC_GETPW_R_SIZE_MAX___222 = 70,
    _SC_LOGIN_NAME_MAX___222 = 71,
    _SC_TTY_NAME_MAX___222 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___222 = 73,
    _SC_THREAD_KEYS_MAX___222 = 74,
    _SC_THREAD_STACK_MIN___222 = 75,
    _SC_THREAD_THREADS_MAX___222 = 76,
    _SC_THREAD_ATTR_STACKADDR___222 = 77,
    _SC_THREAD_ATTR_STACKSIZE___222 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___222 = 79,
    _SC_THREAD_PRIO_INHERIT___222 = 80,
    _SC_THREAD_PRIO_PROTECT___222 = 81,
    _SC_THREAD_PROCESS_SHARED___222 = 82,
    _SC_NPROCESSORS_CONF___222 = 83,
    _SC_NPROCESSORS_ONLN___222 = 84,
    _SC_PHYS_PAGES___222 = 85,
    _SC_AVPHYS_PAGES___222 = 86,
    _SC_ATEXIT_MAX___222 = 87,
    _SC_PASS_MAX___222 = 88,
    _SC_XOPEN_VERSION___222 = 89,
    _SC_XOPEN_XCU_VERSION___222 = 90,
    _SC_XOPEN_UNIX___222 = 91,
    _SC_XOPEN_CRYPT___222 = 92,
    _SC_XOPEN_ENH_I18N___222 = 93,
    _SC_XOPEN_SHM___222 = 94,
    _SC_2_CHAR_TERM___222 = 95,
    _SC_2_C_VERSION___222 = 96,
    _SC_2_UPE___222 = 97,
    _SC_XOPEN_XPG2___222 = 98,
    _SC_XOPEN_XPG3___222 = 99,
    _SC_XOPEN_XPG4___222 = 100,
    _SC_CHAR_BIT___222 = 101,
    _SC_CHAR_MAX___222 = 102,
    _SC_CHAR_MIN___222 = 103,
    _SC_INT_MAX___222 = 104,
    _SC_INT_MIN___222 = 105,
    _SC_LONG_BIT___222 = 106,
    _SC_WORD_BIT___222 = 107,
    _SC_MB_LEN_MAX___222 = 108,
    _SC_NZERO___222 = 109,
    _SC_SSIZE_MAX___222 = 110,
    _SC_SCHAR_MAX___222 = 111,
    _SC_SCHAR_MIN___222 = 112,
    _SC_SHRT_MAX___222 = 113,
    _SC_SHRT_MIN___222 = 114,
    _SC_UCHAR_MAX___222 = 115,
    _SC_UINT_MAX___222 = 116,
    _SC_ULONG_MAX___222 = 117,
    _SC_USHRT_MAX___222 = 118,
    _SC_NL_ARGMAX___222 = 119,
    _SC_NL_LANGMAX___222 = 120,
    _SC_NL_MSGMAX___222 = 121,
    _SC_NL_NMAX___222 = 122,
    _SC_NL_SETMAX___222 = 123,
    _SC_NL_TEXTMAX___222 = 124,
    _SC_XBS5_ILP32_OFF32___222 = 125,
    _SC_XBS5_ILP32_OFFBIG___222 = 126,
    _SC_XBS5_LP64_OFF64___222 = 127,
    _SC_XBS5_LPBIG_OFFBIG___222 = 128,
    _SC_XOPEN_LEGACY___222 = 129,
    _SC_XOPEN_REALTIME___222 = 130,
    _SC_XOPEN_REALTIME_THREADS___222 = 131,
    _SC_ADVISORY_INFO___222 = 132,
    _SC_BARRIERS___222 = 133,
    _SC_BASE___222 = 134,
    _SC_C_LANG_SUPPORT___222 = 135,
    _SC_C_LANG_SUPPORT_R___222 = 136,
    _SC_CLOCK_SELECTION___222 = 137,
    _SC_CPUTIME___222 = 138,
    _SC_THREAD_CPUTIME___222 = 139,
    _SC_DEVICE_IO___222 = 140,
    _SC_DEVICE_SPECIFIC___222 = 141,
    _SC_DEVICE_SPECIFIC_R___222 = 142,
    _SC_FD_MGMT___222 = 143,
    _SC_FIFO___222 = 144,
    _SC_PIPE___222 = 145,
    _SC_FILE_ATTRIBUTES___222 = 146,
    _SC_FILE_LOCKING___222 = 147,
    _SC_FILE_SYSTEM___222 = 148,
    _SC_MONOTONIC_CLOCK___222 = 149,
    _SC_MULTI_PROCESS___222 = 150,
    _SC_SINGLE_PROCESS___222 = 151,
    _SC_NETWORKING___222 = 152,
    _SC_READER_WRITER_LOCKS___222 = 153,
    _SC_SPIN_LOCKS___222 = 154,
    _SC_REGEXP___222 = 155,
    _SC_REGEX_VERSION___222 = 156,
    _SC_SHELL___222 = 157,
    _SC_SIGNALS___222 = 158,
    _SC_SPAWN___222 = 159,
    _SC_SPORADIC_SERVER___222 = 160,
    _SC_THREAD_SPORADIC_SERVER___222 = 161,
    _SC_SYSTEM_DATABASE___222 = 162,
    _SC_SYSTEM_DATABASE_R___222 = 163,
    _SC_TIMEOUTS___222 = 164,
    _SC_TYPED_MEMORY_OBJECTS___222 = 165,
    _SC_USER_GROUPS___222 = 166,
    _SC_USER_GROUPS_R___222 = 167,
    _SC_2_PBS___222 = 168,
    _SC_2_PBS_ACCOUNTING___222 = 169,
    _SC_2_PBS_LOCATE___222 = 170,
    _SC_2_PBS_MESSAGE___222 = 171,
    _SC_2_PBS_TRACK___222 = 172,
    _SC_SYMLOOP_MAX___222 = 173,
    _SC_STREAMS___222 = 174,
    _SC_2_PBS_CHECKPOINT___222 = 175,
    _SC_V6_ILP32_OFF32___222 = 176,
    _SC_V6_ILP32_OFFBIG___222 = 177,
    _SC_V6_LP64_OFF64___222 = 178,
    _SC_V6_LPBIG_OFFBIG___222 = 179,
    _SC_HOST_NAME_MAX___222 = 180,
    _SC_TRACE___222 = 181,
    _SC_TRACE_EVENT_FILTER___222 = 182,
    _SC_TRACE_INHERIT___222 = 183,
    _SC_TRACE_LOG___222 = 184,
    _SC_LEVEL1_ICACHE_SIZE___222 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___222 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___222 = 187,
    _SC_LEVEL1_DCACHE_SIZE___222 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___222 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___222 = 190,
    _SC_LEVEL2_CACHE_SIZE___222 = 191,
    _SC_LEVEL2_CACHE_ASSOC___222 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___222 = 193,
    _SC_LEVEL3_CACHE_SIZE___222 = 194,
    _SC_LEVEL3_CACHE_ASSOC___222 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___222 = 196,
    _SC_LEVEL4_CACHE_SIZE___222 = 197,
    _SC_LEVEL4_CACHE_ASSOC___222 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___222 = 199,
    _SC_IPV6___222 = 235,
    _SC_RAW_SOCKETS___222 = 236,
    _SC_V7_ILP32_OFF32___222 = 237,
    _SC_V7_ILP32_OFFBIG___222 = 238,
    _SC_V7_LP64_OFF64___222 = 239,
    _SC_V7_LPBIG_OFFBIG___222 = 240,
    _SC_SS_REPL_MAX___222 = 241,
    _SC_TRACE_EVENT_NAME_MAX___222 = 242,
    _SC_TRACE_NAME_MAX___222 = 243,
    _SC_TRACE_SYS_MAX___222 = 244,
    _SC_TRACE_USER_EVENT_MAX___222 = 245,
    _SC_XOPEN_STREAMS___222 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___222 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___222 = 248
} ;
enum __anonenum_875524036___222 {
    _CS_PATH___222 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___222 = 1,
    _CS_GNU_LIBC_VERSION___222 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___222 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___222 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___222 = 5,
    _CS_LFS_CFLAGS___222 = 1000,
    _CS_LFS_LDFLAGS___222 = 1001,
    _CS_LFS_LIBS___222 = 1002,
    _CS_LFS_LINTFLAGS___222 = 1003,
    _CS_LFS64_CFLAGS___222 = 1004,
    _CS_LFS64_LDFLAGS___222 = 1005,
    _CS_LFS64_LIBS___222 = 1006,
    _CS_LFS64_LINTFLAGS___222 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___222 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___222 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___222 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___222 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___222 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___222 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___222 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___222 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___222 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___222 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___222 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___222 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___222 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___222 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___222 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___222 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___222 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___222 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___222 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___222 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___222 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___222 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___222 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___222 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___222 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___222 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___222 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___222 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___222 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___222 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___222 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___222 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___222 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___222 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___222 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___222 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___222 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___222 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___222 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___222 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___222 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___222 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___222 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___222 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___222 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___222 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___222 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___222 = 1147,
    _CS_V6_ENV___222 = 1148,
    _CS_V7_ENV___222 = 1149
} ;
enum __anonenum_513775621___222 {
    DT_UNKNOWN___222 = 0,
    DT_FIFO___222 = 1,
    DT_CHR___222 = 2,
    DT_DIR___222 = 4,
    DT_BLK___222 = 6,
    DT_REG___222 = 8,
    DT_LNK___222 = 10,
    DT_SOCK___222 = 12,
    DT_WHT___222 = 14
} ;
enum __anonenum_77002343___222 {
    SI_ASYNCNL___222 = -60,
    SI_TKILL___222 = -6,
    SI_SIGIO___222 = -5,
    SI_ASYNCIO___222 = -4,
    SI_MESGQ___222 = -3,
    SI_TIMER___222 = -2,
    SI_QUEUE___222 = -1,
    SI_USER___222 = 0,
    SI_KERNEL___222 = 128
} ;
enum __anonenum_131038172___222 {
    ILL_ILLOPC___222 = 1,
    ILL_ILLOPN___222 = 2,
    ILL_ILLADR___222 = 3,
    ILL_ILLTRP___222 = 4,
    ILL_PRVOPC___222 = 5,
    ILL_PRVREG___222 = 6,
    ILL_COPROC___222 = 7,
    ILL_BADSTK___222 = 8
} ;
enum __anonenum_452038093___222 {
    FPE_INTDIV___222 = 1,
    FPE_INTOVF___222 = 2,
    FPE_FLTDIV___222 = 3,
    FPE_FLTOVF___222 = 4,
    FPE_FLTUND___222 = 5,
    FPE_FLTRES___222 = 6,
    FPE_FLTINV___222 = 7,
    FPE_FLTSUB___222 = 8
} ;
enum __anonenum_30976155___222 {
    SEGV_MAPERR___222 = 1,
    SEGV_ACCERR___222 = 2,
    SEGV_BNDERR___222 = 3,
    SEGV_PKUERR___222 = 4
} ;
enum __anonenum_1036286214___222 {
    BUS_ADRALN___222 = 1,
    BUS_ADRERR___222 = 2,
    BUS_OBJERR___222 = 3,
    BUS_MCEERR_AR___222 = 4,
    BUS_MCEERR_AO___222 = 5
} ;
enum __anonenum_493465559___222 {
    TRAP_BRKPT___222 = 1,
    TRAP_TRACE___222 = 2
} ;
enum __anonenum_23175539___222 {
    CLD_EXITED___222 = 1,
    CLD_KILLED___222 = 2,
    CLD_DUMPED___222 = 3,
    CLD_TRAPPED___222 = 4,
    CLD_STOPPED___222 = 5,
    CLD_CONTINUED___222 = 6
} ;
enum __anonenum_111643124___222 {
    POLL_IN___222 = 1,
    POLL_OUT___222 = 2,
    POLL_MSG___222 = 3,
    POLL_ERR___222 = 4,
    POLL_PRI___222 = 5,
    POLL_HUP___222 = 6
} ;
enum __anonenum_852341087___222 {
    SIGEV_SIGNAL___222 = 0,
    SIGEV_NONE___222 = 1,
    SIGEV_THREAD___222 = 2,
    SIGEV_THREAD_ID___222 = 4
} ;
enum __anonenum_451154152___222 {
    REG_R8___222 = 0,
    REG_R9___222 = 1,
    REG_R10___222 = 2,
    REG_R11___222 = 3,
    REG_R12___222 = 4,
    REG_R13___222 = 5,
    REG_R14___222 = 6,
    REG_R15___222 = 7,
    REG_RDI___222 = 8,
    REG_RSI___222 = 9,
    REG_RBP___222 = 10,
    REG_RBX___222 = 11,
    REG_RDX___222 = 12,
    REG_RAX___222 = 13,
    REG_RCX___222 = 14,
    REG_RSP___222 = 15,
    REG_RIP___222 = 16,
    REG_EFL___222 = 17,
    REG_CSGSFS___222 = 18,
    REG_ERR___222 = 19,
    REG_TRAPNO___222 = 20,
    REG_OLDMASK___222 = 21,
    REG_CR2___222 = 22
} ;
enum __anonenum_57186863___222 {
    SS_ONSTACK___222 = 1,
    SS_DISABLE___222 = 2
} ;
enum __anonenum_83571709___222 {
    MSG_OOB___222 = 1,
    MSG_PEEK___222 = 2,
    MSG_DONTROUTE___222 = 4,
    MSG_TRYHARD___222 = 4,
    MSG_CTRUNC___222 = 8,
    MSG_PROXY___222 = 16,
    MSG_TRUNC___222 = 32,
    MSG_DONTWAIT___222 = 64,
    MSG_EOR___222 = 128,
    MSG_WAITALL___222 = 256,
    MSG_FIN___222 = 512,
    MSG_SYN___222 = 1024,
    MSG_CONFIRM___222 = 2048,
    MSG_RST___222 = 4096,
    MSG_ERRQUEUE___222 = 8192,
    MSG_NOSIGNAL___222 = 16384,
    MSG_MORE___222 = 32768,
    MSG_WAITFORONE___222 = 65536,
    MSG_BATCH___222 = 262144,
    MSG_ZEROCOPY___222 = 67108864,
    MSG_FASTOPEN___222 = 536870912,
    MSG_CMSG_CLOEXEC___222 = 1073741824
} ;
enum __anonenum_617082774___222 {
    SCM_RIGHTS___222 = 1,
    SCM_CREDENTIALS___222 = 2
} ;
enum __anonenum_606441560___222 {
    SHUT_RD___222 = 0,
    SHUT_WR___222 = 1,
    SHUT_RDWR___222 = 2
} ;
enum __anonenum_681669233___222 {
    IPPROTO_IP___222 = 0,
    IPPROTO_ICMP___222 = 1,
    IPPROTO_IGMP___222 = 2,
    IPPROTO_IPIP___222 = 4,
    IPPROTO_TCP___222 = 6,
    IPPROTO_EGP___222 = 8,
    IPPROTO_PUP___222 = 12,
    IPPROTO_UDP___222 = 17,
    IPPROTO_IDP___222 = 22,
    IPPROTO_TP___222 = 29,
    IPPROTO_DCCP___222 = 33,
    IPPROTO_IPV6___222 = 41,
    IPPROTO_RSVP___222 = 46,
    IPPROTO_GRE___222 = 47,
    IPPROTO_ESP___222 = 50,
    IPPROTO_AH___222 = 51,
    IPPROTO_MTP___222 = 92,
    IPPROTO_BEETPH___222 = 94,
    IPPROTO_ENCAP___222 = 98,
    IPPROTO_PIM___222 = 103,
    IPPROTO_COMP___222 = 108,
    IPPROTO_SCTP___222 = 132,
    IPPROTO_UDPLITE___222 = 136,
    IPPROTO_MPLS___222 = 137,
    IPPROTO_RAW___222 = 255,
    IPPROTO_MAX___222 = 256
} ;
enum __anonenum_218739988___222 {
    IPPROTO_HOPOPTS___222 = 0,
    IPPROTO_ROUTING___222 = 43,
    IPPROTO_FRAGMENT___222 = 44,
    IPPROTO_ICMPV6___222 = 58,
    IPPROTO_NONE___222 = 59,
    IPPROTO_DSTOPTS___222 = 60,
    IPPROTO_MH___222 = 135
} ;
enum __anonenum_662268580___222 {
    IPPORT_ECHO___222 = 7,
    IPPORT_DISCARD___222 = 9,
    IPPORT_SYSTAT___222 = 11,
    IPPORT_DAYTIME___222 = 13,
    IPPORT_NETSTAT___222 = 15,
    IPPORT_FTP___222 = 21,
    IPPORT_TELNET___222 = 23,
    IPPORT_SMTP___222 = 25,
    IPPORT_TIMESERVER___222 = 37,
    IPPORT_NAMESERVER___222 = 42,
    IPPORT_WHOIS___222 = 43,
    IPPORT_MTP___222 = 57,
    IPPORT_TFTP___222 = 69,
    IPPORT_RJE___222 = 77,
    IPPORT_FINGER___222 = 79,
    IPPORT_TTYLINK___222 = 87,
    IPPORT_SUPDUP___222 = 95,
    IPPORT_EXECSERVER___222 = 512,
    IPPORT_LOGINSERVER___222 = 513,
    IPPORT_CMDSERVER___222 = 514,
    IPPORT_EFSSERVER___222 = 520,
    IPPORT_BIFFUDP___222 = 512,
    IPPORT_WHOSERVER___222 = 513,
    IPPORT_ROUTESERVER___222 = 520,
    IPPORT_RESERVED___222 = 1024,
    IPPORT_USERRESERVED___222 = 5000
} ;
enum __anonenum_788308992___222 {
    TCP_ESTABLISHED___222 = 1,
    TCP_SYN_SENT___222 = 2,
    TCP_SYN_RECV___222 = 3,
    TCP_FIN_WAIT1___222 = 4,
    TCP_FIN_WAIT2___222 = 5,
    TCP_TIME_WAIT___222 = 6,
    TCP_CLOSE___222 = 7,
    TCP_CLOSE_WAIT___222 = 8,
    TCP_LAST_ACK___222 = 9,
    TCP_LISTEN___222 = 10,
    TCP_CLOSING___222 = 11
} ;
enum __anonenum_221125648___222 {
    TCP_NO_QUEUE___222 = 0,
    TCP_RECV_QUEUE___222 = 1,
    TCP_SEND_QUEUE___222 = 2,
    TCP_QUEUES_NR___222 = 3
} ;
enum __anonenum_34415463___222 {
    PTHREAD_CREATE_JOINABLE___222 = 0,
    PTHREAD_CREATE_DETACHED___222 = 1
} ;
enum __anonenum_303612439___222 {
    PTHREAD_MUTEX_TIMED_NP___222 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___222 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___222 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___222 = 3,
    PTHREAD_MUTEX_NORMAL___222 = 0,
    PTHREAD_MUTEX_RECURSIVE___222 = 1,
    PTHREAD_MUTEX_ERRORCHECK___222 = 2,
    PTHREAD_MUTEX_DEFAULT___222 = 0,
    PTHREAD_MUTEX_FAST_NP___222 = 0
} ;
enum __anonenum_931900394___222 {
    PTHREAD_MUTEX_STALLED___222 = 0,
    PTHREAD_MUTEX_STALLED_NP___222 = 0,
    PTHREAD_MUTEX_ROBUST___222 = 1,
    PTHREAD_MUTEX_ROBUST_NP___222 = 1
} ;
enum __anonenum_205214487___222 {
    PTHREAD_PRIO_NONE___222 = 0,
    PTHREAD_PRIO_INHERIT___222 = 1,
    PTHREAD_PRIO_PROTECT___222 = 2
} ;
enum __anonenum_25043950___222 {
    PTHREAD_RWLOCK_PREFER_READER_NP___222 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___222 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___222 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___222 = 0
} ;
enum __anonenum_436439511___222 {
    PTHREAD_INHERIT_SCHED___222 = 0,
    PTHREAD_EXPLICIT_SCHED___222 = 1
} ;
enum __anonenum_998661166___222 {
    PTHREAD_SCOPE_SYSTEM___222 = 0,
    PTHREAD_SCOPE_PROCESS___222 = 1
} ;
enum __anonenum_146137331___222 {
    PTHREAD_PROCESS_PRIVATE___222 = 0,
    PTHREAD_PROCESS_SHARED___222 = 1
} ;
enum __anonenum_53396917___222 {
    PTHREAD_CANCEL_ENABLE___222 = 0,
    PTHREAD_CANCEL_DISABLE___222 = 1
} ;
enum __anonenum_904563783___222 {
    PTHREAD_CANCEL_DEFERRED___222 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___222 = 1
} ;
enum __anonenum_672052974___222 {
    SSL_CT_VALIDATION_PERMISSIVE___222 = 0,
    SSL_CT_VALIDATION_STRICT___222 = 1
} ;
struct suffix_match {
   int conf_pos ;
   int start ;
   int len ;
};
enum __anonenum_437032235___223 {
    _PC_LINK_MAX___223 = 0,
    _PC_MAX_CANON___223 = 1,
    _PC_MAX_INPUT___223 = 2,
    _PC_NAME_MAX___223 = 3,
    _PC_PATH_MAX___223 = 4,
    _PC_PIPE_BUF___223 = 5,
    _PC_CHOWN_RESTRICTED___223 = 6,
    _PC_NO_TRUNC___223 = 7,
    _PC_VDISABLE___223 = 8,
    _PC_SYNC_IO___223 = 9,
    _PC_ASYNC_IO___223 = 10,
    _PC_PRIO_IO___223 = 11,
    _PC_SOCK_MAXBUF___223 = 12,
    _PC_FILESIZEBITS___223 = 13,
    _PC_REC_INCR_XFER_SIZE___223 = 14,
    _PC_REC_MAX_XFER_SIZE___223 = 15,
    _PC_REC_MIN_XFER_SIZE___223 = 16,
    _PC_REC_XFER_ALIGN___223 = 17,
    _PC_ALLOC_SIZE_MIN___223 = 18,
    _PC_SYMLINK_MAX___223 = 19,
    _PC_2_SYMLINKS___223 = 20
} ;
enum __anonenum_315186338___223 {
    _SC_ARG_MAX___223 = 0,
    _SC_CHILD_MAX___223 = 1,
    _SC_CLK_TCK___223 = 2,
    _SC_NGROUPS_MAX___223 = 3,
    _SC_OPEN_MAX___223 = 4,
    _SC_STREAM_MAX___223 = 5,
    _SC_TZNAME_MAX___223 = 6,
    _SC_JOB_CONTROL___223 = 7,
    _SC_SAVED_IDS___223 = 8,
    _SC_REALTIME_SIGNALS___223 = 9,
    _SC_PRIORITY_SCHEDULING___223 = 10,
    _SC_TIMERS___223 = 11,
    _SC_ASYNCHRONOUS_IO___223 = 12,
    _SC_PRIORITIZED_IO___223 = 13,
    _SC_SYNCHRONIZED_IO___223 = 14,
    _SC_FSYNC___223 = 15,
    _SC_MAPPED_FILES___223 = 16,
    _SC_MEMLOCK___223 = 17,
    _SC_MEMLOCK_RANGE___223 = 18,
    _SC_MEMORY_PROTECTION___223 = 19,
    _SC_MESSAGE_PASSING___223 = 20,
    _SC_SEMAPHORES___223 = 21,
    _SC_SHARED_MEMORY_OBJECTS___223 = 22,
    _SC_AIO_LISTIO_MAX___223 = 23,
    _SC_AIO_MAX___223 = 24,
    _SC_AIO_PRIO_DELTA_MAX___223 = 25,
    _SC_DELAYTIMER_MAX___223 = 26,
    _SC_MQ_OPEN_MAX___223 = 27,
    _SC_MQ_PRIO_MAX___223 = 28,
    _SC_VERSION___223 = 29,
    _SC_PAGESIZE___223 = 30,
    _SC_RTSIG_MAX___223 = 31,
    _SC_SEM_NSEMS_MAX___223 = 32,
    _SC_SEM_VALUE_MAX___223 = 33,
    _SC_SIGQUEUE_MAX___223 = 34,
    _SC_TIMER_MAX___223 = 35,
    _SC_BC_BASE_MAX___223 = 36,
    _SC_BC_DIM_MAX___223 = 37,
    _SC_BC_SCALE_MAX___223 = 38,
    _SC_BC_STRING_MAX___223 = 39,
    _SC_COLL_WEIGHTS_MAX___223 = 40,
    _SC_EQUIV_CLASS_MAX___223 = 41,
    _SC_EXPR_NEST_MAX___223 = 42,
    _SC_LINE_MAX___223 = 43,
    _SC_RE_DUP_MAX___223 = 44,
    _SC_CHARCLASS_NAME_MAX___223 = 45,
    _SC_2_VERSION___223 = 46,
    _SC_2_C_BIND___223 = 47,
    _SC_2_C_DEV___223 = 48,
    _SC_2_FORT_DEV___223 = 49,
    _SC_2_FORT_RUN___223 = 50,
    _SC_2_SW_DEV___223 = 51,
    _SC_2_LOCALEDEF___223 = 52,
    _SC_PII___223 = 53,
    _SC_PII_XTI___223 = 54,
    _SC_PII_SOCKET___223 = 55,
    _SC_PII_INTERNET___223 = 56,
    _SC_PII_OSI___223 = 57,
    _SC_POLL___223 = 58,
    _SC_SELECT___223 = 59,
    _SC_UIO_MAXIOV___223 = 60,
    _SC_IOV_MAX___223 = 60,
    _SC_PII_INTERNET_STREAM___223 = 61,
    _SC_PII_INTERNET_DGRAM___223 = 62,
    _SC_PII_OSI_COTS___223 = 63,
    _SC_PII_OSI_CLTS___223 = 64,
    _SC_PII_OSI_M___223 = 65,
    _SC_T_IOV_MAX___223 = 66,
    _SC_THREADS___223 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___223 = 68,
    _SC_GETGR_R_SIZE_MAX___223 = 69,
    _SC_GETPW_R_SIZE_MAX___223 = 70,
    _SC_LOGIN_NAME_MAX___223 = 71,
    _SC_TTY_NAME_MAX___223 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___223 = 73,
    _SC_THREAD_KEYS_MAX___223 = 74,
    _SC_THREAD_STACK_MIN___223 = 75,
    _SC_THREAD_THREADS_MAX___223 = 76,
    _SC_THREAD_ATTR_STACKADDR___223 = 77,
    _SC_THREAD_ATTR_STACKSIZE___223 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___223 = 79,
    _SC_THREAD_PRIO_INHERIT___223 = 80,
    _SC_THREAD_PRIO_PROTECT___223 = 81,
    _SC_THREAD_PROCESS_SHARED___223 = 82,
    _SC_NPROCESSORS_CONF___223 = 83,
    _SC_NPROCESSORS_ONLN___223 = 84,
    _SC_PHYS_PAGES___223 = 85,
    _SC_AVPHYS_PAGES___223 = 86,
    _SC_ATEXIT_MAX___223 = 87,
    _SC_PASS_MAX___223 = 88,
    _SC_XOPEN_VERSION___223 = 89,
    _SC_XOPEN_XCU_VERSION___223 = 90,
    _SC_XOPEN_UNIX___223 = 91,
    _SC_XOPEN_CRYPT___223 = 92,
    _SC_XOPEN_ENH_I18N___223 = 93,
    _SC_XOPEN_SHM___223 = 94,
    _SC_2_CHAR_TERM___223 = 95,
    _SC_2_C_VERSION___223 = 96,
    _SC_2_UPE___223 = 97,
    _SC_XOPEN_XPG2___223 = 98,
    _SC_XOPEN_XPG3___223 = 99,
    _SC_XOPEN_XPG4___223 = 100,
    _SC_CHAR_BIT___223 = 101,
    _SC_CHAR_MAX___223 = 102,
    _SC_CHAR_MIN___223 = 103,
    _SC_INT_MAX___223 = 104,
    _SC_INT_MIN___223 = 105,
    _SC_LONG_BIT___223 = 106,
    _SC_WORD_BIT___223 = 107,
    _SC_MB_LEN_MAX___223 = 108,
    _SC_NZERO___223 = 109,
    _SC_SSIZE_MAX___223 = 110,
    _SC_SCHAR_MAX___223 = 111,
    _SC_SCHAR_MIN___223 = 112,
    _SC_SHRT_MAX___223 = 113,
    _SC_SHRT_MIN___223 = 114,
    _SC_UCHAR_MAX___223 = 115,
    _SC_UINT_MAX___223 = 116,
    _SC_ULONG_MAX___223 = 117,
    _SC_USHRT_MAX___223 = 118,
    _SC_NL_ARGMAX___223 = 119,
    _SC_NL_LANGMAX___223 = 120,
    _SC_NL_MSGMAX___223 = 121,
    _SC_NL_NMAX___223 = 122,
    _SC_NL_SETMAX___223 = 123,
    _SC_NL_TEXTMAX___223 = 124,
    _SC_XBS5_ILP32_OFF32___223 = 125,
    _SC_XBS5_ILP32_OFFBIG___223 = 126,
    _SC_XBS5_LP64_OFF64___223 = 127,
    _SC_XBS5_LPBIG_OFFBIG___223 = 128,
    _SC_XOPEN_LEGACY___223 = 129,
    _SC_XOPEN_REALTIME___223 = 130,
    _SC_XOPEN_REALTIME_THREADS___223 = 131,
    _SC_ADVISORY_INFO___223 = 132,
    _SC_BARRIERS___223 = 133,
    _SC_BASE___223 = 134,
    _SC_C_LANG_SUPPORT___223 = 135,
    _SC_C_LANG_SUPPORT_R___223 = 136,
    _SC_CLOCK_SELECTION___223 = 137,
    _SC_CPUTIME___223 = 138,
    _SC_THREAD_CPUTIME___223 = 139,
    _SC_DEVICE_IO___223 = 140,
    _SC_DEVICE_SPECIFIC___223 = 141,
    _SC_DEVICE_SPECIFIC_R___223 = 142,
    _SC_FD_MGMT___223 = 143,
    _SC_FIFO___223 = 144,
    _SC_PIPE___223 = 145,
    _SC_FILE_ATTRIBUTES___223 = 146,
    _SC_FILE_LOCKING___223 = 147,
    _SC_FILE_SYSTEM___223 = 148,
    _SC_MONOTONIC_CLOCK___223 = 149,
    _SC_MULTI_PROCESS___223 = 150,
    _SC_SINGLE_PROCESS___223 = 151,
    _SC_NETWORKING___223 = 152,
    _SC_READER_WRITER_LOCKS___223 = 153,
    _SC_SPIN_LOCKS___223 = 154,
    _SC_REGEXP___223 = 155,
    _SC_REGEX_VERSION___223 = 156,
    _SC_SHELL___223 = 157,
    _SC_SIGNALS___223 = 158,
    _SC_SPAWN___223 = 159,
    _SC_SPORADIC_SERVER___223 = 160,
    _SC_THREAD_SPORADIC_SERVER___223 = 161,
    _SC_SYSTEM_DATABASE___223 = 162,
    _SC_SYSTEM_DATABASE_R___223 = 163,
    _SC_TIMEOUTS___223 = 164,
    _SC_TYPED_MEMORY_OBJECTS___223 = 165,
    _SC_USER_GROUPS___223 = 166,
    _SC_USER_GROUPS_R___223 = 167,
    _SC_2_PBS___223 = 168,
    _SC_2_PBS_ACCOUNTING___223 = 169,
    _SC_2_PBS_LOCATE___223 = 170,
    _SC_2_PBS_MESSAGE___223 = 171,
    _SC_2_PBS_TRACK___223 = 172,
    _SC_SYMLOOP_MAX___223 = 173,
    _SC_STREAMS___223 = 174,
    _SC_2_PBS_CHECKPOINT___223 = 175,
    _SC_V6_ILP32_OFF32___223 = 176,
    _SC_V6_ILP32_OFFBIG___223 = 177,
    _SC_V6_LP64_OFF64___223 = 178,
    _SC_V6_LPBIG_OFFBIG___223 = 179,
    _SC_HOST_NAME_MAX___223 = 180,
    _SC_TRACE___223 = 181,
    _SC_TRACE_EVENT_FILTER___223 = 182,
    _SC_TRACE_INHERIT___223 = 183,
    _SC_TRACE_LOG___223 = 184,
    _SC_LEVEL1_ICACHE_SIZE___223 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___223 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___223 = 187,
    _SC_LEVEL1_DCACHE_SIZE___223 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___223 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___223 = 190,
    _SC_LEVEL2_CACHE_SIZE___223 = 191,
    _SC_LEVEL2_CACHE_ASSOC___223 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___223 = 193,
    _SC_LEVEL3_CACHE_SIZE___223 = 194,
    _SC_LEVEL3_CACHE_ASSOC___223 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___223 = 196,
    _SC_LEVEL4_CACHE_SIZE___223 = 197,
    _SC_LEVEL4_CACHE_ASSOC___223 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___223 = 199,
    _SC_IPV6___223 = 235,
    _SC_RAW_SOCKETS___223 = 236,
    _SC_V7_ILP32_OFF32___223 = 237,
    _SC_V7_ILP32_OFFBIG___223 = 238,
    _SC_V7_LP64_OFF64___223 = 239,
    _SC_V7_LPBIG_OFFBIG___223 = 240,
    _SC_SS_REPL_MAX___223 = 241,
    _SC_TRACE_EVENT_NAME_MAX___223 = 242,
    _SC_TRACE_NAME_MAX___223 = 243,
    _SC_TRACE_SYS_MAX___223 = 244,
    _SC_TRACE_USER_EVENT_MAX___223 = 245,
    _SC_XOPEN_STREAMS___223 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___223 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___223 = 248
} ;
enum __anonenum_875524036___223 {
    _CS_PATH___223 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___223 = 1,
    _CS_GNU_LIBC_VERSION___223 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___223 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___223 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___223 = 5,
    _CS_LFS_CFLAGS___223 = 1000,
    _CS_LFS_LDFLAGS___223 = 1001,
    _CS_LFS_LIBS___223 = 1002,
    _CS_LFS_LINTFLAGS___223 = 1003,
    _CS_LFS64_CFLAGS___223 = 1004,
    _CS_LFS64_LDFLAGS___223 = 1005,
    _CS_LFS64_LIBS___223 = 1006,
    _CS_LFS64_LINTFLAGS___223 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___223 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___223 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___223 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___223 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___223 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___223 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___223 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___223 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___223 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___223 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___223 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___223 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___223 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___223 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___223 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___223 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___223 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___223 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___223 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___223 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___223 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___223 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___223 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___223 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___223 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___223 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___223 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___223 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___223 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___223 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___223 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___223 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___223 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___223 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___223 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___223 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___223 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___223 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___223 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___223 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___223 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___223 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___223 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___223 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___223 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___223 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___223 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___223 = 1147,
    _CS_V6_ENV___223 = 1148,
    _CS_V7_ENV___223 = 1149
} ;
enum __anonenum_513775621___223 {
    DT_UNKNOWN___223 = 0,
    DT_FIFO___223 = 1,
    DT_CHR___223 = 2,
    DT_DIR___223 = 4,
    DT_BLK___223 = 6,
    DT_REG___223 = 8,
    DT_LNK___223 = 10,
    DT_SOCK___223 = 12,
    DT_WHT___223 = 14
} ;
enum __anonenum_77002343___223 {
    SI_ASYNCNL___223 = -60,
    SI_TKILL___223 = -6,
    SI_SIGIO___223 = -5,
    SI_ASYNCIO___223 = -4,
    SI_MESGQ___223 = -3,
    SI_TIMER___223 = -2,
    SI_QUEUE___223 = -1,
    SI_USER___223 = 0,
    SI_KERNEL___223 = 128
} ;
enum __anonenum_131038172___223 {
    ILL_ILLOPC___223 = 1,
    ILL_ILLOPN___223 = 2,
    ILL_ILLADR___223 = 3,
    ILL_ILLTRP___223 = 4,
    ILL_PRVOPC___223 = 5,
    ILL_PRVREG___223 = 6,
    ILL_COPROC___223 = 7,
    ILL_BADSTK___223 = 8
} ;
enum __anonenum_452038093___223 {
    FPE_INTDIV___223 = 1,
    FPE_INTOVF___223 = 2,
    FPE_FLTDIV___223 = 3,
    FPE_FLTOVF___223 = 4,
    FPE_FLTUND___223 = 5,
    FPE_FLTRES___223 = 6,
    FPE_FLTINV___223 = 7,
    FPE_FLTSUB___223 = 8
} ;
enum __anonenum_30976155___223 {
    SEGV_MAPERR___223 = 1,
    SEGV_ACCERR___223 = 2,
    SEGV_BNDERR___223 = 3,
    SEGV_PKUERR___223 = 4
} ;
enum __anonenum_1036286214___223 {
    BUS_ADRALN___223 = 1,
    BUS_ADRERR___223 = 2,
    BUS_OBJERR___223 = 3,
    BUS_MCEERR_AR___223 = 4,
    BUS_MCEERR_AO___223 = 5
} ;
enum __anonenum_493465559___223 {
    TRAP_BRKPT___223 = 1,
    TRAP_TRACE___223 = 2
} ;
enum __anonenum_23175539___223 {
    CLD_EXITED___223 = 1,
    CLD_KILLED___223 = 2,
    CLD_DUMPED___223 = 3,
    CLD_TRAPPED___223 = 4,
    CLD_STOPPED___223 = 5,
    CLD_CONTINUED___223 = 6
} ;
enum __anonenum_111643124___223 {
    POLL_IN___223 = 1,
    POLL_OUT___223 = 2,
    POLL_MSG___223 = 3,
    POLL_ERR___223 = 4,
    POLL_PRI___223 = 5,
    POLL_HUP___223 = 6
} ;
enum __anonenum_852341087___223 {
    SIGEV_SIGNAL___223 = 0,
    SIGEV_NONE___223 = 1,
    SIGEV_THREAD___223 = 2,
    SIGEV_THREAD_ID___223 = 4
} ;
enum __anonenum_451154152___223 {
    REG_R8___223 = 0,
    REG_R9___223 = 1,
    REG_R10___223 = 2,
    REG_R11___223 = 3,
    REG_R12___223 = 4,
    REG_R13___223 = 5,
    REG_R14___223 = 6,
    REG_R15___223 = 7,
    REG_RDI___223 = 8,
    REG_RSI___223 = 9,
    REG_RBP___223 = 10,
    REG_RBX___223 = 11,
    REG_RDX___223 = 12,
    REG_RAX___223 = 13,
    REG_RCX___223 = 14,
    REG_RSP___223 = 15,
    REG_RIP___223 = 16,
    REG_EFL___223 = 17,
    REG_CSGSFS___223 = 18,
    REG_ERR___223 = 19,
    REG_TRAPNO___223 = 20,
    REG_OLDMASK___223 = 21,
    REG_CR2___223 = 22
} ;
enum __anonenum_57186863___223 {
    SS_ONSTACK___223 = 1,
    SS_DISABLE___223 = 2
} ;
enum __anonenum_83571709___223 {
    MSG_OOB___223 = 1,
    MSG_PEEK___223 = 2,
    MSG_DONTROUTE___223 = 4,
    MSG_TRYHARD___223 = 4,
    MSG_CTRUNC___223 = 8,
    MSG_PROXY___223 = 16,
    MSG_TRUNC___223 = 32,
    MSG_DONTWAIT___223 = 64,
    MSG_EOR___223 = 128,
    MSG_WAITALL___223 = 256,
    MSG_FIN___223 = 512,
    MSG_SYN___223 = 1024,
    MSG_CONFIRM___223 = 2048,
    MSG_RST___223 = 4096,
    MSG_ERRQUEUE___223 = 8192,
    MSG_NOSIGNAL___223 = 16384,
    MSG_MORE___223 = 32768,
    MSG_WAITFORONE___223 = 65536,
    MSG_BATCH___223 = 262144,
    MSG_ZEROCOPY___223 = 67108864,
    MSG_FASTOPEN___223 = 536870912,
    MSG_CMSG_CLOEXEC___223 = 1073741824
} ;
enum __anonenum_617082774___223 {
    SCM_RIGHTS___223 = 1,
    SCM_CREDENTIALS___223 = 2
} ;
enum __anonenum_606441560___223 {
    SHUT_RD___223 = 0,
    SHUT_WR___223 = 1,
    SHUT_RDWR___223 = 2
} ;
enum __anonenum_681669233___223 {
    IPPROTO_IP___223 = 0,
    IPPROTO_ICMP___223 = 1,
    IPPROTO_IGMP___223 = 2,
    IPPROTO_IPIP___223 = 4,
    IPPROTO_TCP___223 = 6,
    IPPROTO_EGP___223 = 8,
    IPPROTO_PUP___223 = 12,
    IPPROTO_UDP___223 = 17,
    IPPROTO_IDP___223 = 22,
    IPPROTO_TP___223 = 29,
    IPPROTO_DCCP___223 = 33,
    IPPROTO_IPV6___223 = 41,
    IPPROTO_RSVP___223 = 46,
    IPPROTO_GRE___223 = 47,
    IPPROTO_ESP___223 = 50,
    IPPROTO_AH___223 = 51,
    IPPROTO_MTP___223 = 92,
    IPPROTO_BEETPH___223 = 94,
    IPPROTO_ENCAP___223 = 98,
    IPPROTO_PIM___223 = 103,
    IPPROTO_COMP___223 = 108,
    IPPROTO_SCTP___223 = 132,
    IPPROTO_UDPLITE___223 = 136,
    IPPROTO_MPLS___223 = 137,
    IPPROTO_RAW___223 = 255,
    IPPROTO_MAX___223 = 256
} ;
enum __anonenum_218739988___223 {
    IPPROTO_HOPOPTS___223 = 0,
    IPPROTO_ROUTING___223 = 43,
    IPPROTO_FRAGMENT___223 = 44,
    IPPROTO_ICMPV6___223 = 58,
    IPPROTO_NONE___223 = 59,
    IPPROTO_DSTOPTS___223 = 60,
    IPPROTO_MH___223 = 135
} ;
enum __anonenum_662268580___223 {
    IPPORT_ECHO___223 = 7,
    IPPORT_DISCARD___223 = 9,
    IPPORT_SYSTAT___223 = 11,
    IPPORT_DAYTIME___223 = 13,
    IPPORT_NETSTAT___223 = 15,
    IPPORT_FTP___223 = 21,
    IPPORT_TELNET___223 = 23,
    IPPORT_SMTP___223 = 25,
    IPPORT_TIMESERVER___223 = 37,
    IPPORT_NAMESERVER___223 = 42,
    IPPORT_WHOIS___223 = 43,
    IPPORT_MTP___223 = 57,
    IPPORT_TFTP___223 = 69,
    IPPORT_RJE___223 = 77,
    IPPORT_FINGER___223 = 79,
    IPPORT_TTYLINK___223 = 87,
    IPPORT_SUPDUP___223 = 95,
    IPPORT_EXECSERVER___223 = 512,
    IPPORT_LOGINSERVER___223 = 513,
    IPPORT_CMDSERVER___223 = 514,
    IPPORT_EFSSERVER___223 = 520,
    IPPORT_BIFFUDP___223 = 512,
    IPPORT_WHOSERVER___223 = 513,
    IPPORT_ROUTESERVER___223 = 520,
    IPPORT_RESERVED___223 = 1024,
    IPPORT_USERRESERVED___223 = 5000
} ;
enum __anonenum_788308992___223 {
    TCP_ESTABLISHED___223 = 1,
    TCP_SYN_SENT___223 = 2,
    TCP_SYN_RECV___223 = 3,
    TCP_FIN_WAIT1___223 = 4,
    TCP_FIN_WAIT2___223 = 5,
    TCP_TIME_WAIT___223 = 6,
    TCP_CLOSE___223 = 7,
    TCP_CLOSE_WAIT___223 = 8,
    TCP_LAST_ACK___223 = 9,
    TCP_LISTEN___223 = 10,
    TCP_CLOSING___223 = 11
} ;
enum __anonenum_221125648___223 {
    TCP_NO_QUEUE___223 = 0,
    TCP_RECV_QUEUE___223 = 1,
    TCP_SEND_QUEUE___223 = 2,
    TCP_QUEUES_NR___223 = 3
} ;
enum __anonenum_34415463___223 {
    PTHREAD_CREATE_JOINABLE___223 = 0,
    PTHREAD_CREATE_DETACHED___223 = 1
} ;
enum __anonenum_303612439___223 {
    PTHREAD_MUTEX_TIMED_NP___223 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___223 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___223 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___223 = 3,
    PTHREAD_MUTEX_NORMAL___223 = 0,
    PTHREAD_MUTEX_RECURSIVE___223 = 1,
    PTHREAD_MUTEX_ERRORCHECK___223 = 2,
    PTHREAD_MUTEX_DEFAULT___223 = 0,
    PTHREAD_MUTEX_FAST_NP___223 = 0
} ;
enum __anonenum_931900394___223 {
    PTHREAD_MUTEX_STALLED___223 = 0,
    PTHREAD_MUTEX_STALLED_NP___223 = 0,
    PTHREAD_MUTEX_ROBUST___223 = 1,
    PTHREAD_MUTEX_ROBUST_NP___223 = 1
} ;
enum __anonenum_205214487___223 {
    PTHREAD_PRIO_NONE___223 = 0,
    PTHREAD_PRIO_INHERIT___223 = 1,
    PTHREAD_PRIO_PROTECT___223 = 2
} ;
enum __anonenum_25043950___223 {
    PTHREAD_RWLOCK_PREFER_READER_NP___223 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___223 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___223 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___223 = 0
} ;
enum __anonenum_436439511___223 {
    PTHREAD_INHERIT_SCHED___223 = 0,
    PTHREAD_EXPLICIT_SCHED___223 = 1
} ;
enum __anonenum_998661166___223 {
    PTHREAD_SCOPE_SYSTEM___223 = 0,
    PTHREAD_SCOPE_PROCESS___223 = 1
} ;
enum __anonenum_146137331___223 {
    PTHREAD_PROCESS_PRIVATE___223 = 0,
    PTHREAD_PROCESS_SHARED___223 = 1
} ;
enum __anonenum_53396917___223 {
    PTHREAD_CANCEL_ENABLE___223 = 0,
    PTHREAD_CANCEL_DISABLE___223 = 1
} ;
enum __anonenum_904563783___223 {
    PTHREAD_CANCEL_DEFERRED___223 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___223 = 1
} ;
enum __anonenum_672052974___223 {
    SSL_CT_VALIDATION_PERMISSIVE___223 = 0,
    SSL_CT_VALIDATION_STRICT___223 = 1
} ;
enum __anonenum_34023289___20 {
    REMOTE_UNCONFIGURED___20 = 0,
    REMOTE_CONFIG___20 = 1,
    REMOTE_REMOTES___20 = 2,
    REMOTE_BRANCHES___20 = 3
} ;
enum __anonenum_437032235___224 {
    _PC_LINK_MAX___224 = 0,
    _PC_MAX_CANON___224 = 1,
    _PC_MAX_INPUT___224 = 2,
    _PC_NAME_MAX___224 = 3,
    _PC_PATH_MAX___224 = 4,
    _PC_PIPE_BUF___224 = 5,
    _PC_CHOWN_RESTRICTED___224 = 6,
    _PC_NO_TRUNC___224 = 7,
    _PC_VDISABLE___224 = 8,
    _PC_SYNC_IO___224 = 9,
    _PC_ASYNC_IO___224 = 10,
    _PC_PRIO_IO___224 = 11,
    _PC_SOCK_MAXBUF___224 = 12,
    _PC_FILESIZEBITS___224 = 13,
    _PC_REC_INCR_XFER_SIZE___224 = 14,
    _PC_REC_MAX_XFER_SIZE___224 = 15,
    _PC_REC_MIN_XFER_SIZE___224 = 16,
    _PC_REC_XFER_ALIGN___224 = 17,
    _PC_ALLOC_SIZE_MIN___224 = 18,
    _PC_SYMLINK_MAX___224 = 19,
    _PC_2_SYMLINKS___224 = 20
} ;
enum __anonenum_315186338___224 {
    _SC_ARG_MAX___224 = 0,
    _SC_CHILD_MAX___224 = 1,
    _SC_CLK_TCK___224 = 2,
    _SC_NGROUPS_MAX___224 = 3,
    _SC_OPEN_MAX___224 = 4,
    _SC_STREAM_MAX___224 = 5,
    _SC_TZNAME_MAX___224 = 6,
    _SC_JOB_CONTROL___224 = 7,
    _SC_SAVED_IDS___224 = 8,
    _SC_REALTIME_SIGNALS___224 = 9,
    _SC_PRIORITY_SCHEDULING___224 = 10,
    _SC_TIMERS___224 = 11,
    _SC_ASYNCHRONOUS_IO___224 = 12,
    _SC_PRIORITIZED_IO___224 = 13,
    _SC_SYNCHRONIZED_IO___224 = 14,
    _SC_FSYNC___224 = 15,
    _SC_MAPPED_FILES___224 = 16,
    _SC_MEMLOCK___224 = 17,
    _SC_MEMLOCK_RANGE___224 = 18,
    _SC_MEMORY_PROTECTION___224 = 19,
    _SC_MESSAGE_PASSING___224 = 20,
    _SC_SEMAPHORES___224 = 21,
    _SC_SHARED_MEMORY_OBJECTS___224 = 22,
    _SC_AIO_LISTIO_MAX___224 = 23,
    _SC_AIO_MAX___224 = 24,
    _SC_AIO_PRIO_DELTA_MAX___224 = 25,
    _SC_DELAYTIMER_MAX___224 = 26,
    _SC_MQ_OPEN_MAX___224 = 27,
    _SC_MQ_PRIO_MAX___224 = 28,
    _SC_VERSION___224 = 29,
    _SC_PAGESIZE___224 = 30,
    _SC_RTSIG_MAX___224 = 31,
    _SC_SEM_NSEMS_MAX___224 = 32,
    _SC_SEM_VALUE_MAX___224 = 33,
    _SC_SIGQUEUE_MAX___224 = 34,
    _SC_TIMER_MAX___224 = 35,
    _SC_BC_BASE_MAX___224 = 36,
    _SC_BC_DIM_MAX___224 = 37,
    _SC_BC_SCALE_MAX___224 = 38,
    _SC_BC_STRING_MAX___224 = 39,
    _SC_COLL_WEIGHTS_MAX___224 = 40,
    _SC_EQUIV_CLASS_MAX___224 = 41,
    _SC_EXPR_NEST_MAX___224 = 42,
    _SC_LINE_MAX___224 = 43,
    _SC_RE_DUP_MAX___224 = 44,
    _SC_CHARCLASS_NAME_MAX___224 = 45,
    _SC_2_VERSION___224 = 46,
    _SC_2_C_BIND___224 = 47,
    _SC_2_C_DEV___224 = 48,
    _SC_2_FORT_DEV___224 = 49,
    _SC_2_FORT_RUN___224 = 50,
    _SC_2_SW_DEV___224 = 51,
    _SC_2_LOCALEDEF___224 = 52,
    _SC_PII___224 = 53,
    _SC_PII_XTI___224 = 54,
    _SC_PII_SOCKET___224 = 55,
    _SC_PII_INTERNET___224 = 56,
    _SC_PII_OSI___224 = 57,
    _SC_POLL___224 = 58,
    _SC_SELECT___224 = 59,
    _SC_UIO_MAXIOV___224 = 60,
    _SC_IOV_MAX___224 = 60,
    _SC_PII_INTERNET_STREAM___224 = 61,
    _SC_PII_INTERNET_DGRAM___224 = 62,
    _SC_PII_OSI_COTS___224 = 63,
    _SC_PII_OSI_CLTS___224 = 64,
    _SC_PII_OSI_M___224 = 65,
    _SC_T_IOV_MAX___224 = 66,
    _SC_THREADS___224 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___224 = 68,
    _SC_GETGR_R_SIZE_MAX___224 = 69,
    _SC_GETPW_R_SIZE_MAX___224 = 70,
    _SC_LOGIN_NAME_MAX___224 = 71,
    _SC_TTY_NAME_MAX___224 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___224 = 73,
    _SC_THREAD_KEYS_MAX___224 = 74,
    _SC_THREAD_STACK_MIN___224 = 75,
    _SC_THREAD_THREADS_MAX___224 = 76,
    _SC_THREAD_ATTR_STACKADDR___224 = 77,
    _SC_THREAD_ATTR_STACKSIZE___224 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___224 = 79,
    _SC_THREAD_PRIO_INHERIT___224 = 80,
    _SC_THREAD_PRIO_PROTECT___224 = 81,
    _SC_THREAD_PROCESS_SHARED___224 = 82,
    _SC_NPROCESSORS_CONF___224 = 83,
    _SC_NPROCESSORS_ONLN___224 = 84,
    _SC_PHYS_PAGES___224 = 85,
    _SC_AVPHYS_PAGES___224 = 86,
    _SC_ATEXIT_MAX___224 = 87,
    _SC_PASS_MAX___224 = 88,
    _SC_XOPEN_VERSION___224 = 89,
    _SC_XOPEN_XCU_VERSION___224 = 90,
    _SC_XOPEN_UNIX___224 = 91,
    _SC_XOPEN_CRYPT___224 = 92,
    _SC_XOPEN_ENH_I18N___224 = 93,
    _SC_XOPEN_SHM___224 = 94,
    _SC_2_CHAR_TERM___224 = 95,
    _SC_2_C_VERSION___224 = 96,
    _SC_2_UPE___224 = 97,
    _SC_XOPEN_XPG2___224 = 98,
    _SC_XOPEN_XPG3___224 = 99,
    _SC_XOPEN_XPG4___224 = 100,
    _SC_CHAR_BIT___224 = 101,
    _SC_CHAR_MAX___224 = 102,
    _SC_CHAR_MIN___224 = 103,
    _SC_INT_MAX___224 = 104,
    _SC_INT_MIN___224 = 105,
    _SC_LONG_BIT___224 = 106,
    _SC_WORD_BIT___224 = 107,
    _SC_MB_LEN_MAX___224 = 108,
    _SC_NZERO___224 = 109,
    _SC_SSIZE_MAX___224 = 110,
    _SC_SCHAR_MAX___224 = 111,
    _SC_SCHAR_MIN___224 = 112,
    _SC_SHRT_MAX___224 = 113,
    _SC_SHRT_MIN___224 = 114,
    _SC_UCHAR_MAX___224 = 115,
    _SC_UINT_MAX___224 = 116,
    _SC_ULONG_MAX___224 = 117,
    _SC_USHRT_MAX___224 = 118,
    _SC_NL_ARGMAX___224 = 119,
    _SC_NL_LANGMAX___224 = 120,
    _SC_NL_MSGMAX___224 = 121,
    _SC_NL_NMAX___224 = 122,
    _SC_NL_SETMAX___224 = 123,
    _SC_NL_TEXTMAX___224 = 124,
    _SC_XBS5_ILP32_OFF32___224 = 125,
    _SC_XBS5_ILP32_OFFBIG___224 = 126,
    _SC_XBS5_LP64_OFF64___224 = 127,
    _SC_XBS5_LPBIG_OFFBIG___224 = 128,
    _SC_XOPEN_LEGACY___224 = 129,
    _SC_XOPEN_REALTIME___224 = 130,
    _SC_XOPEN_REALTIME_THREADS___224 = 131,
    _SC_ADVISORY_INFO___224 = 132,
    _SC_BARRIERS___224 = 133,
    _SC_BASE___224 = 134,
    _SC_C_LANG_SUPPORT___224 = 135,
    _SC_C_LANG_SUPPORT_R___224 = 136,
    _SC_CLOCK_SELECTION___224 = 137,
    _SC_CPUTIME___224 = 138,
    _SC_THREAD_CPUTIME___224 = 139,
    _SC_DEVICE_IO___224 = 140,
    _SC_DEVICE_SPECIFIC___224 = 141,
    _SC_DEVICE_SPECIFIC_R___224 = 142,
    _SC_FD_MGMT___224 = 143,
    _SC_FIFO___224 = 144,
    _SC_PIPE___224 = 145,
    _SC_FILE_ATTRIBUTES___224 = 146,
    _SC_FILE_LOCKING___224 = 147,
    _SC_FILE_SYSTEM___224 = 148,
    _SC_MONOTONIC_CLOCK___224 = 149,
    _SC_MULTI_PROCESS___224 = 150,
    _SC_SINGLE_PROCESS___224 = 151,
    _SC_NETWORKING___224 = 152,
    _SC_READER_WRITER_LOCKS___224 = 153,
    _SC_SPIN_LOCKS___224 = 154,
    _SC_REGEXP___224 = 155,
    _SC_REGEX_VERSION___224 = 156,
    _SC_SHELL___224 = 157,
    _SC_SIGNALS___224 = 158,
    _SC_SPAWN___224 = 159,
    _SC_SPORADIC_SERVER___224 = 160,
    _SC_THREAD_SPORADIC_SERVER___224 = 161,
    _SC_SYSTEM_DATABASE___224 = 162,
    _SC_SYSTEM_DATABASE_R___224 = 163,
    _SC_TIMEOUTS___224 = 164,
    _SC_TYPED_MEMORY_OBJECTS___224 = 165,
    _SC_USER_GROUPS___224 = 166,
    _SC_USER_GROUPS_R___224 = 167,
    _SC_2_PBS___224 = 168,
    _SC_2_PBS_ACCOUNTING___224 = 169,
    _SC_2_PBS_LOCATE___224 = 170,
    _SC_2_PBS_MESSAGE___224 = 171,
    _SC_2_PBS_TRACK___224 = 172,
    _SC_SYMLOOP_MAX___224 = 173,
    _SC_STREAMS___224 = 174,
    _SC_2_PBS_CHECKPOINT___224 = 175,
    _SC_V6_ILP32_OFF32___224 = 176,
    _SC_V6_ILP32_OFFBIG___224 = 177,
    _SC_V6_LP64_OFF64___224 = 178,
    _SC_V6_LPBIG_OFFBIG___224 = 179,
    _SC_HOST_NAME_MAX___224 = 180,
    _SC_TRACE___224 = 181,
    _SC_TRACE_EVENT_FILTER___224 = 182,
    _SC_TRACE_INHERIT___224 = 183,
    _SC_TRACE_LOG___224 = 184,
    _SC_LEVEL1_ICACHE_SIZE___224 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___224 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___224 = 187,
    _SC_LEVEL1_DCACHE_SIZE___224 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___224 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___224 = 190,
    _SC_LEVEL2_CACHE_SIZE___224 = 191,
    _SC_LEVEL2_CACHE_ASSOC___224 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___224 = 193,
    _SC_LEVEL3_CACHE_SIZE___224 = 194,
    _SC_LEVEL3_CACHE_ASSOC___224 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___224 = 196,
    _SC_LEVEL4_CACHE_SIZE___224 = 197,
    _SC_LEVEL4_CACHE_ASSOC___224 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___224 = 199,
    _SC_IPV6___224 = 235,
    _SC_RAW_SOCKETS___224 = 236,
    _SC_V7_ILP32_OFF32___224 = 237,
    _SC_V7_ILP32_OFFBIG___224 = 238,
    _SC_V7_LP64_OFF64___224 = 239,
    _SC_V7_LPBIG_OFFBIG___224 = 240,
    _SC_SS_REPL_MAX___224 = 241,
    _SC_TRACE_EVENT_NAME_MAX___224 = 242,
    _SC_TRACE_NAME_MAX___224 = 243,
    _SC_TRACE_SYS_MAX___224 = 244,
    _SC_TRACE_USER_EVENT_MAX___224 = 245,
    _SC_XOPEN_STREAMS___224 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___224 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___224 = 248
} ;
enum __anonenum_875524036___224 {
    _CS_PATH___224 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___224 = 1,
    _CS_GNU_LIBC_VERSION___224 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___224 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___224 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___224 = 5,
    _CS_LFS_CFLAGS___224 = 1000,
    _CS_LFS_LDFLAGS___224 = 1001,
    _CS_LFS_LIBS___224 = 1002,
    _CS_LFS_LINTFLAGS___224 = 1003,
    _CS_LFS64_CFLAGS___224 = 1004,
    _CS_LFS64_LDFLAGS___224 = 1005,
    _CS_LFS64_LIBS___224 = 1006,
    _CS_LFS64_LINTFLAGS___224 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___224 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___224 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___224 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___224 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___224 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___224 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___224 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___224 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___224 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___224 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___224 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___224 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___224 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___224 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___224 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___224 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___224 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___224 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___224 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___224 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___224 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___224 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___224 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___224 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___224 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___224 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___224 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___224 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___224 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___224 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___224 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___224 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___224 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___224 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___224 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___224 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___224 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___224 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___224 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___224 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___224 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___224 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___224 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___224 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___224 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___224 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___224 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___224 = 1147,
    _CS_V6_ENV___224 = 1148,
    _CS_V7_ENV___224 = 1149
} ;
enum __anonenum_513775621___224 {
    DT_UNKNOWN___224 = 0,
    DT_FIFO___224 = 1,
    DT_CHR___224 = 2,
    DT_DIR___224 = 4,
    DT_BLK___224 = 6,
    DT_REG___224 = 8,
    DT_LNK___224 = 10,
    DT_SOCK___224 = 12,
    DT_WHT___224 = 14
} ;
enum __anonenum_77002343___224 {
    SI_ASYNCNL___224 = -60,
    SI_TKILL___224 = -6,
    SI_SIGIO___224 = -5,
    SI_ASYNCIO___224 = -4,
    SI_MESGQ___224 = -3,
    SI_TIMER___224 = -2,
    SI_QUEUE___224 = -1,
    SI_USER___224 = 0,
    SI_KERNEL___224 = 128
} ;
enum __anonenum_131038172___224 {
    ILL_ILLOPC___224 = 1,
    ILL_ILLOPN___224 = 2,
    ILL_ILLADR___224 = 3,
    ILL_ILLTRP___224 = 4,
    ILL_PRVOPC___224 = 5,
    ILL_PRVREG___224 = 6,
    ILL_COPROC___224 = 7,
    ILL_BADSTK___224 = 8
} ;
enum __anonenum_452038093___224 {
    FPE_INTDIV___224 = 1,
    FPE_INTOVF___224 = 2,
    FPE_FLTDIV___224 = 3,
    FPE_FLTOVF___224 = 4,
    FPE_FLTUND___224 = 5,
    FPE_FLTRES___224 = 6,
    FPE_FLTINV___224 = 7,
    FPE_FLTSUB___224 = 8
} ;
enum __anonenum_30976155___224 {
    SEGV_MAPERR___224 = 1,
    SEGV_ACCERR___224 = 2,
    SEGV_BNDERR___224 = 3,
    SEGV_PKUERR___224 = 4
} ;
enum __anonenum_1036286214___224 {
    BUS_ADRALN___224 = 1,
    BUS_ADRERR___224 = 2,
    BUS_OBJERR___224 = 3,
    BUS_MCEERR_AR___224 = 4,
    BUS_MCEERR_AO___224 = 5
} ;
enum __anonenum_493465559___224 {
    TRAP_BRKPT___224 = 1,
    TRAP_TRACE___224 = 2
} ;
enum __anonenum_23175539___224 {
    CLD_EXITED___224 = 1,
    CLD_KILLED___224 = 2,
    CLD_DUMPED___224 = 3,
    CLD_TRAPPED___224 = 4,
    CLD_STOPPED___224 = 5,
    CLD_CONTINUED___224 = 6
} ;
enum __anonenum_111643124___224 {
    POLL_IN___224 = 1,
    POLL_OUT___224 = 2,
    POLL_MSG___224 = 3,
    POLL_ERR___224 = 4,
    POLL_PRI___224 = 5,
    POLL_HUP___224 = 6
} ;
enum __anonenum_852341087___224 {
    SIGEV_SIGNAL___224 = 0,
    SIGEV_NONE___224 = 1,
    SIGEV_THREAD___224 = 2,
    SIGEV_THREAD_ID___224 = 4
} ;
enum __anonenum_451154152___224 {
    REG_R8___224 = 0,
    REG_R9___224 = 1,
    REG_R10___224 = 2,
    REG_R11___224 = 3,
    REG_R12___224 = 4,
    REG_R13___224 = 5,
    REG_R14___224 = 6,
    REG_R15___224 = 7,
    REG_RDI___224 = 8,
    REG_RSI___224 = 9,
    REG_RBP___224 = 10,
    REG_RBX___224 = 11,
    REG_RDX___224 = 12,
    REG_RAX___224 = 13,
    REG_RCX___224 = 14,
    REG_RSP___224 = 15,
    REG_RIP___224 = 16,
    REG_EFL___224 = 17,
    REG_CSGSFS___224 = 18,
    REG_ERR___224 = 19,
    REG_TRAPNO___224 = 20,
    REG_OLDMASK___224 = 21,
    REG_CR2___224 = 22
} ;
enum __anonenum_57186863___224 {
    SS_ONSTACK___224 = 1,
    SS_DISABLE___224 = 2
} ;
enum __anonenum_83571709___224 {
    MSG_OOB___224 = 1,
    MSG_PEEK___224 = 2,
    MSG_DONTROUTE___224 = 4,
    MSG_TRYHARD___224 = 4,
    MSG_CTRUNC___224 = 8,
    MSG_PROXY___224 = 16,
    MSG_TRUNC___224 = 32,
    MSG_DONTWAIT___224 = 64,
    MSG_EOR___224 = 128,
    MSG_WAITALL___224 = 256,
    MSG_FIN___224 = 512,
    MSG_SYN___224 = 1024,
    MSG_CONFIRM___224 = 2048,
    MSG_RST___224 = 4096,
    MSG_ERRQUEUE___224 = 8192,
    MSG_NOSIGNAL___224 = 16384,
    MSG_MORE___224 = 32768,
    MSG_WAITFORONE___224 = 65536,
    MSG_BATCH___224 = 262144,
    MSG_ZEROCOPY___224 = 67108864,
    MSG_FASTOPEN___224 = 536870912,
    MSG_CMSG_CLOEXEC___224 = 1073741824
} ;
enum __anonenum_617082774___224 {
    SCM_RIGHTS___224 = 1,
    SCM_CREDENTIALS___224 = 2
} ;
enum __anonenum_606441560___224 {
    SHUT_RD___224 = 0,
    SHUT_WR___224 = 1,
    SHUT_RDWR___224 = 2
} ;
enum __anonenum_681669233___224 {
    IPPROTO_IP___224 = 0,
    IPPROTO_ICMP___224 = 1,
    IPPROTO_IGMP___224 = 2,
    IPPROTO_IPIP___224 = 4,
    IPPROTO_TCP___224 = 6,
    IPPROTO_EGP___224 = 8,
    IPPROTO_PUP___224 = 12,
    IPPROTO_UDP___224 = 17,
    IPPROTO_IDP___224 = 22,
    IPPROTO_TP___224 = 29,
    IPPROTO_DCCP___224 = 33,
    IPPROTO_IPV6___224 = 41,
    IPPROTO_RSVP___224 = 46,
    IPPROTO_GRE___224 = 47,
    IPPROTO_ESP___224 = 50,
    IPPROTO_AH___224 = 51,
    IPPROTO_MTP___224 = 92,
    IPPROTO_BEETPH___224 = 94,
    IPPROTO_ENCAP___224 = 98,
    IPPROTO_PIM___224 = 103,
    IPPROTO_COMP___224 = 108,
    IPPROTO_SCTP___224 = 132,
    IPPROTO_UDPLITE___224 = 136,
    IPPROTO_MPLS___224 = 137,
    IPPROTO_RAW___224 = 255,
    IPPROTO_MAX___224 = 256
} ;
enum __anonenum_218739988___224 {
    IPPROTO_HOPOPTS___224 = 0,
    IPPROTO_ROUTING___224 = 43,
    IPPROTO_FRAGMENT___224 = 44,
    IPPROTO_ICMPV6___224 = 58,
    IPPROTO_NONE___224 = 59,
    IPPROTO_DSTOPTS___224 = 60,
    IPPROTO_MH___224 = 135
} ;
enum __anonenum_662268580___224 {
    IPPORT_ECHO___224 = 7,
    IPPORT_DISCARD___224 = 9,
    IPPORT_SYSTAT___224 = 11,
    IPPORT_DAYTIME___224 = 13,
    IPPORT_NETSTAT___224 = 15,
    IPPORT_FTP___224 = 21,
    IPPORT_TELNET___224 = 23,
    IPPORT_SMTP___224 = 25,
    IPPORT_TIMESERVER___224 = 37,
    IPPORT_NAMESERVER___224 = 42,
    IPPORT_WHOIS___224 = 43,
    IPPORT_MTP___224 = 57,
    IPPORT_TFTP___224 = 69,
    IPPORT_RJE___224 = 77,
    IPPORT_FINGER___224 = 79,
    IPPORT_TTYLINK___224 = 87,
    IPPORT_SUPDUP___224 = 95,
    IPPORT_EXECSERVER___224 = 512,
    IPPORT_LOGINSERVER___224 = 513,
    IPPORT_CMDSERVER___224 = 514,
    IPPORT_EFSSERVER___224 = 520,
    IPPORT_BIFFUDP___224 = 512,
    IPPORT_WHOSERVER___224 = 513,
    IPPORT_ROUTESERVER___224 = 520,
    IPPORT_RESERVED___224 = 1024,
    IPPORT_USERRESERVED___224 = 5000
} ;
enum __anonenum_788308992___224 {
    TCP_ESTABLISHED___224 = 1,
    TCP_SYN_SENT___224 = 2,
    TCP_SYN_RECV___224 = 3,
    TCP_FIN_WAIT1___224 = 4,
    TCP_FIN_WAIT2___224 = 5,
    TCP_TIME_WAIT___224 = 6,
    TCP_CLOSE___224 = 7,
    TCP_CLOSE_WAIT___224 = 8,
    TCP_LAST_ACK___224 = 9,
    TCP_LISTEN___224 = 10,
    TCP_CLOSING___224 = 11
} ;
enum __anonenum_221125648___224 {
    TCP_NO_QUEUE___224 = 0,
    TCP_RECV_QUEUE___224 = 1,
    TCP_SEND_QUEUE___224 = 2,
    TCP_QUEUES_NR___224 = 3
} ;
enum __anonenum_34415463___224 {
    PTHREAD_CREATE_JOINABLE___224 = 0,
    PTHREAD_CREATE_DETACHED___224 = 1
} ;
enum __anonenum_303612439___224 {
    PTHREAD_MUTEX_TIMED_NP___224 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___224 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___224 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___224 = 3,
    PTHREAD_MUTEX_NORMAL___224 = 0,
    PTHREAD_MUTEX_RECURSIVE___224 = 1,
    PTHREAD_MUTEX_ERRORCHECK___224 = 2,
    PTHREAD_MUTEX_DEFAULT___224 = 0,
    PTHREAD_MUTEX_FAST_NP___224 = 0
} ;
enum __anonenum_931900394___224 {
    PTHREAD_MUTEX_STALLED___224 = 0,
    PTHREAD_MUTEX_STALLED_NP___224 = 0,
    PTHREAD_MUTEX_ROBUST___224 = 1,
    PTHREAD_MUTEX_ROBUST_NP___224 = 1
} ;
enum __anonenum_205214487___224 {
    PTHREAD_PRIO_NONE___224 = 0,
    PTHREAD_PRIO_INHERIT___224 = 1,
    PTHREAD_PRIO_PROTECT___224 = 2
} ;
enum __anonenum_25043950___224 {
    PTHREAD_RWLOCK_PREFER_READER_NP___224 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___224 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___224 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___224 = 0
} ;
enum __anonenum_436439511___224 {
    PTHREAD_INHERIT_SCHED___224 = 0,
    PTHREAD_EXPLICIT_SCHED___224 = 1
} ;
enum __anonenum_998661166___224 {
    PTHREAD_SCOPE_SYSTEM___224 = 0,
    PTHREAD_SCOPE_PROCESS___224 = 1
} ;
enum __anonenum_146137331___224 {
    PTHREAD_PROCESS_PRIVATE___224 = 0,
    PTHREAD_PROCESS_SHARED___224 = 1
} ;
enum __anonenum_53396917___224 {
    PTHREAD_CANCEL_ENABLE___224 = 0,
    PTHREAD_CANCEL_DISABLE___224 = 1
} ;
enum __anonenum_904563783___224 {
    PTHREAD_CANCEL_DEFERRED___224 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___224 = 1
} ;
enum __anonenum_672052974___224 {
    SSL_CT_VALIDATION_PERMISSIVE___224 = 0,
    SSL_CT_VALIDATION_STRICT___224 = 1
} ;
typedef unsigned char uchar;
enum __anonenum_437032235___225 {
    _PC_LINK_MAX___225 = 0,
    _PC_MAX_CANON___225 = 1,
    _PC_MAX_INPUT___225 = 2,
    _PC_NAME_MAX___225 = 3,
    _PC_PATH_MAX___225 = 4,
    _PC_PIPE_BUF___225 = 5,
    _PC_CHOWN_RESTRICTED___225 = 6,
    _PC_NO_TRUNC___225 = 7,
    _PC_VDISABLE___225 = 8,
    _PC_SYNC_IO___225 = 9,
    _PC_ASYNC_IO___225 = 10,
    _PC_PRIO_IO___225 = 11,
    _PC_SOCK_MAXBUF___225 = 12,
    _PC_FILESIZEBITS___225 = 13,
    _PC_REC_INCR_XFER_SIZE___225 = 14,
    _PC_REC_MAX_XFER_SIZE___225 = 15,
    _PC_REC_MIN_XFER_SIZE___225 = 16,
    _PC_REC_XFER_ALIGN___225 = 17,
    _PC_ALLOC_SIZE_MIN___225 = 18,
    _PC_SYMLINK_MAX___225 = 19,
    _PC_2_SYMLINKS___225 = 20
} ;
enum __anonenum_315186338___225 {
    _SC_ARG_MAX___225 = 0,
    _SC_CHILD_MAX___225 = 1,
    _SC_CLK_TCK___225 = 2,
    _SC_NGROUPS_MAX___225 = 3,
    _SC_OPEN_MAX___225 = 4,
    _SC_STREAM_MAX___225 = 5,
    _SC_TZNAME_MAX___225 = 6,
    _SC_JOB_CONTROL___225 = 7,
    _SC_SAVED_IDS___225 = 8,
    _SC_REALTIME_SIGNALS___225 = 9,
    _SC_PRIORITY_SCHEDULING___225 = 10,
    _SC_TIMERS___225 = 11,
    _SC_ASYNCHRONOUS_IO___225 = 12,
    _SC_PRIORITIZED_IO___225 = 13,
    _SC_SYNCHRONIZED_IO___225 = 14,
    _SC_FSYNC___225 = 15,
    _SC_MAPPED_FILES___225 = 16,
    _SC_MEMLOCK___225 = 17,
    _SC_MEMLOCK_RANGE___225 = 18,
    _SC_MEMORY_PROTECTION___225 = 19,
    _SC_MESSAGE_PASSING___225 = 20,
    _SC_SEMAPHORES___225 = 21,
    _SC_SHARED_MEMORY_OBJECTS___225 = 22,
    _SC_AIO_LISTIO_MAX___225 = 23,
    _SC_AIO_MAX___225 = 24,
    _SC_AIO_PRIO_DELTA_MAX___225 = 25,
    _SC_DELAYTIMER_MAX___225 = 26,
    _SC_MQ_OPEN_MAX___225 = 27,
    _SC_MQ_PRIO_MAX___225 = 28,
    _SC_VERSION___225 = 29,
    _SC_PAGESIZE___225 = 30,
    _SC_RTSIG_MAX___225 = 31,
    _SC_SEM_NSEMS_MAX___225 = 32,
    _SC_SEM_VALUE_MAX___225 = 33,
    _SC_SIGQUEUE_MAX___225 = 34,
    _SC_TIMER_MAX___225 = 35,
    _SC_BC_BASE_MAX___225 = 36,
    _SC_BC_DIM_MAX___225 = 37,
    _SC_BC_SCALE_MAX___225 = 38,
    _SC_BC_STRING_MAX___225 = 39,
    _SC_COLL_WEIGHTS_MAX___225 = 40,
    _SC_EQUIV_CLASS_MAX___225 = 41,
    _SC_EXPR_NEST_MAX___225 = 42,
    _SC_LINE_MAX___225 = 43,
    _SC_RE_DUP_MAX___225 = 44,
    _SC_CHARCLASS_NAME_MAX___225 = 45,
    _SC_2_VERSION___225 = 46,
    _SC_2_C_BIND___225 = 47,
    _SC_2_C_DEV___225 = 48,
    _SC_2_FORT_DEV___225 = 49,
    _SC_2_FORT_RUN___225 = 50,
    _SC_2_SW_DEV___225 = 51,
    _SC_2_LOCALEDEF___225 = 52,
    _SC_PII___225 = 53,
    _SC_PII_XTI___225 = 54,
    _SC_PII_SOCKET___225 = 55,
    _SC_PII_INTERNET___225 = 56,
    _SC_PII_OSI___225 = 57,
    _SC_POLL___225 = 58,
    _SC_SELECT___225 = 59,
    _SC_UIO_MAXIOV___225 = 60,
    _SC_IOV_MAX___225 = 60,
    _SC_PII_INTERNET_STREAM___225 = 61,
    _SC_PII_INTERNET_DGRAM___225 = 62,
    _SC_PII_OSI_COTS___225 = 63,
    _SC_PII_OSI_CLTS___225 = 64,
    _SC_PII_OSI_M___225 = 65,
    _SC_T_IOV_MAX___225 = 66,
    _SC_THREADS___225 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___225 = 68,
    _SC_GETGR_R_SIZE_MAX___225 = 69,
    _SC_GETPW_R_SIZE_MAX___225 = 70,
    _SC_LOGIN_NAME_MAX___225 = 71,
    _SC_TTY_NAME_MAX___225 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___225 = 73,
    _SC_THREAD_KEYS_MAX___225 = 74,
    _SC_THREAD_STACK_MIN___225 = 75,
    _SC_THREAD_THREADS_MAX___225 = 76,
    _SC_THREAD_ATTR_STACKADDR___225 = 77,
    _SC_THREAD_ATTR_STACKSIZE___225 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___225 = 79,
    _SC_THREAD_PRIO_INHERIT___225 = 80,
    _SC_THREAD_PRIO_PROTECT___225 = 81,
    _SC_THREAD_PROCESS_SHARED___225 = 82,
    _SC_NPROCESSORS_CONF___225 = 83,
    _SC_NPROCESSORS_ONLN___225 = 84,
    _SC_PHYS_PAGES___225 = 85,
    _SC_AVPHYS_PAGES___225 = 86,
    _SC_ATEXIT_MAX___225 = 87,
    _SC_PASS_MAX___225 = 88,
    _SC_XOPEN_VERSION___225 = 89,
    _SC_XOPEN_XCU_VERSION___225 = 90,
    _SC_XOPEN_UNIX___225 = 91,
    _SC_XOPEN_CRYPT___225 = 92,
    _SC_XOPEN_ENH_I18N___225 = 93,
    _SC_XOPEN_SHM___225 = 94,
    _SC_2_CHAR_TERM___225 = 95,
    _SC_2_C_VERSION___225 = 96,
    _SC_2_UPE___225 = 97,
    _SC_XOPEN_XPG2___225 = 98,
    _SC_XOPEN_XPG3___225 = 99,
    _SC_XOPEN_XPG4___225 = 100,
    _SC_CHAR_BIT___225 = 101,
    _SC_CHAR_MAX___225 = 102,
    _SC_CHAR_MIN___225 = 103,
    _SC_INT_MAX___225 = 104,
    _SC_INT_MIN___225 = 105,
    _SC_LONG_BIT___225 = 106,
    _SC_WORD_BIT___225 = 107,
    _SC_MB_LEN_MAX___225 = 108,
    _SC_NZERO___225 = 109,
    _SC_SSIZE_MAX___225 = 110,
    _SC_SCHAR_MAX___225 = 111,
    _SC_SCHAR_MIN___225 = 112,
    _SC_SHRT_MAX___225 = 113,
    _SC_SHRT_MIN___225 = 114,
    _SC_UCHAR_MAX___225 = 115,
    _SC_UINT_MAX___225 = 116,
    _SC_ULONG_MAX___225 = 117,
    _SC_USHRT_MAX___225 = 118,
    _SC_NL_ARGMAX___225 = 119,
    _SC_NL_LANGMAX___225 = 120,
    _SC_NL_MSGMAX___225 = 121,
    _SC_NL_NMAX___225 = 122,
    _SC_NL_SETMAX___225 = 123,
    _SC_NL_TEXTMAX___225 = 124,
    _SC_XBS5_ILP32_OFF32___225 = 125,
    _SC_XBS5_ILP32_OFFBIG___225 = 126,
    _SC_XBS5_LP64_OFF64___225 = 127,
    _SC_XBS5_LPBIG_OFFBIG___225 = 128,
    _SC_XOPEN_LEGACY___225 = 129,
    _SC_XOPEN_REALTIME___225 = 130,
    _SC_XOPEN_REALTIME_THREADS___225 = 131,
    _SC_ADVISORY_INFO___225 = 132,
    _SC_BARRIERS___225 = 133,
    _SC_BASE___225 = 134,
    _SC_C_LANG_SUPPORT___225 = 135,
    _SC_C_LANG_SUPPORT_R___225 = 136,
    _SC_CLOCK_SELECTION___225 = 137,
    _SC_CPUTIME___225 = 138,
    _SC_THREAD_CPUTIME___225 = 139,
    _SC_DEVICE_IO___225 = 140,
    _SC_DEVICE_SPECIFIC___225 = 141,
    _SC_DEVICE_SPECIFIC_R___225 = 142,
    _SC_FD_MGMT___225 = 143,
    _SC_FIFO___225 = 144,
    _SC_PIPE___225 = 145,
    _SC_FILE_ATTRIBUTES___225 = 146,
    _SC_FILE_LOCKING___225 = 147,
    _SC_FILE_SYSTEM___225 = 148,
    _SC_MONOTONIC_CLOCK___225 = 149,
    _SC_MULTI_PROCESS___225 = 150,
    _SC_SINGLE_PROCESS___225 = 151,
    _SC_NETWORKING___225 = 152,
    _SC_READER_WRITER_LOCKS___225 = 153,
    _SC_SPIN_LOCKS___225 = 154,
    _SC_REGEXP___225 = 155,
    _SC_REGEX_VERSION___225 = 156,
    _SC_SHELL___225 = 157,
    _SC_SIGNALS___225 = 158,
    _SC_SPAWN___225 = 159,
    _SC_SPORADIC_SERVER___225 = 160,
    _SC_THREAD_SPORADIC_SERVER___225 = 161,
    _SC_SYSTEM_DATABASE___225 = 162,
    _SC_SYSTEM_DATABASE_R___225 = 163,
    _SC_TIMEOUTS___225 = 164,
    _SC_TYPED_MEMORY_OBJECTS___225 = 165,
    _SC_USER_GROUPS___225 = 166,
    _SC_USER_GROUPS_R___225 = 167,
    _SC_2_PBS___225 = 168,
    _SC_2_PBS_ACCOUNTING___225 = 169,
    _SC_2_PBS_LOCATE___225 = 170,
    _SC_2_PBS_MESSAGE___225 = 171,
    _SC_2_PBS_TRACK___225 = 172,
    _SC_SYMLOOP_MAX___225 = 173,
    _SC_STREAMS___225 = 174,
    _SC_2_PBS_CHECKPOINT___225 = 175,
    _SC_V6_ILP32_OFF32___225 = 176,
    _SC_V6_ILP32_OFFBIG___225 = 177,
    _SC_V6_LP64_OFF64___225 = 178,
    _SC_V6_LPBIG_OFFBIG___225 = 179,
    _SC_HOST_NAME_MAX___225 = 180,
    _SC_TRACE___225 = 181,
    _SC_TRACE_EVENT_FILTER___225 = 182,
    _SC_TRACE_INHERIT___225 = 183,
    _SC_TRACE_LOG___225 = 184,
    _SC_LEVEL1_ICACHE_SIZE___225 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___225 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___225 = 187,
    _SC_LEVEL1_DCACHE_SIZE___225 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___225 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___225 = 190,
    _SC_LEVEL2_CACHE_SIZE___225 = 191,
    _SC_LEVEL2_CACHE_ASSOC___225 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___225 = 193,
    _SC_LEVEL3_CACHE_SIZE___225 = 194,
    _SC_LEVEL3_CACHE_ASSOC___225 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___225 = 196,
    _SC_LEVEL4_CACHE_SIZE___225 = 197,
    _SC_LEVEL4_CACHE_ASSOC___225 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___225 = 199,
    _SC_IPV6___225 = 235,
    _SC_RAW_SOCKETS___225 = 236,
    _SC_V7_ILP32_OFF32___225 = 237,
    _SC_V7_ILP32_OFFBIG___225 = 238,
    _SC_V7_LP64_OFF64___225 = 239,
    _SC_V7_LPBIG_OFFBIG___225 = 240,
    _SC_SS_REPL_MAX___225 = 241,
    _SC_TRACE_EVENT_NAME_MAX___225 = 242,
    _SC_TRACE_NAME_MAX___225 = 243,
    _SC_TRACE_SYS_MAX___225 = 244,
    _SC_TRACE_USER_EVENT_MAX___225 = 245,
    _SC_XOPEN_STREAMS___225 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___225 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___225 = 248
} ;
enum __anonenum_875524036___225 {
    _CS_PATH___225 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___225 = 1,
    _CS_GNU_LIBC_VERSION___225 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___225 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___225 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___225 = 5,
    _CS_LFS_CFLAGS___225 = 1000,
    _CS_LFS_LDFLAGS___225 = 1001,
    _CS_LFS_LIBS___225 = 1002,
    _CS_LFS_LINTFLAGS___225 = 1003,
    _CS_LFS64_CFLAGS___225 = 1004,
    _CS_LFS64_LDFLAGS___225 = 1005,
    _CS_LFS64_LIBS___225 = 1006,
    _CS_LFS64_LINTFLAGS___225 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___225 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___225 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___225 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___225 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___225 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___225 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___225 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___225 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___225 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___225 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___225 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___225 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___225 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___225 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___225 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___225 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___225 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___225 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___225 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___225 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___225 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___225 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___225 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___225 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___225 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___225 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___225 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___225 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___225 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___225 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___225 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___225 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___225 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___225 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___225 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___225 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___225 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___225 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___225 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___225 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___225 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___225 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___225 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___225 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___225 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___225 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___225 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___225 = 1147,
    _CS_V6_ENV___225 = 1148,
    _CS_V7_ENV___225 = 1149
} ;
enum __anonenum_513775621___225 {
    DT_UNKNOWN___225 = 0,
    DT_FIFO___225 = 1,
    DT_CHR___225 = 2,
    DT_DIR___225 = 4,
    DT_BLK___225 = 6,
    DT_REG___225 = 8,
    DT_LNK___225 = 10,
    DT_SOCK___225 = 12,
    DT_WHT___225 = 14
} ;
enum __anonenum_77002343___225 {
    SI_ASYNCNL___225 = -60,
    SI_TKILL___225 = -6,
    SI_SIGIO___225 = -5,
    SI_ASYNCIO___225 = -4,
    SI_MESGQ___225 = -3,
    SI_TIMER___225 = -2,
    SI_QUEUE___225 = -1,
    SI_USER___225 = 0,
    SI_KERNEL___225 = 128
} ;
enum __anonenum_131038172___225 {
    ILL_ILLOPC___225 = 1,
    ILL_ILLOPN___225 = 2,
    ILL_ILLADR___225 = 3,
    ILL_ILLTRP___225 = 4,
    ILL_PRVOPC___225 = 5,
    ILL_PRVREG___225 = 6,
    ILL_COPROC___225 = 7,
    ILL_BADSTK___225 = 8
} ;
enum __anonenum_452038093___225 {
    FPE_INTDIV___225 = 1,
    FPE_INTOVF___225 = 2,
    FPE_FLTDIV___225 = 3,
    FPE_FLTOVF___225 = 4,
    FPE_FLTUND___225 = 5,
    FPE_FLTRES___225 = 6,
    FPE_FLTINV___225 = 7,
    FPE_FLTSUB___225 = 8
} ;
enum __anonenum_30976155___225 {
    SEGV_MAPERR___225 = 1,
    SEGV_ACCERR___225 = 2,
    SEGV_BNDERR___225 = 3,
    SEGV_PKUERR___225 = 4
} ;
enum __anonenum_1036286214___225 {
    BUS_ADRALN___225 = 1,
    BUS_ADRERR___225 = 2,
    BUS_OBJERR___225 = 3,
    BUS_MCEERR_AR___225 = 4,
    BUS_MCEERR_AO___225 = 5
} ;
enum __anonenum_493465559___225 {
    TRAP_BRKPT___225 = 1,
    TRAP_TRACE___225 = 2
} ;
enum __anonenum_23175539___225 {
    CLD_EXITED___225 = 1,
    CLD_KILLED___225 = 2,
    CLD_DUMPED___225 = 3,
    CLD_TRAPPED___225 = 4,
    CLD_STOPPED___225 = 5,
    CLD_CONTINUED___225 = 6
} ;
enum __anonenum_111643124___225 {
    POLL_IN___225 = 1,
    POLL_OUT___225 = 2,
    POLL_MSG___225 = 3,
    POLL_ERR___225 = 4,
    POLL_PRI___225 = 5,
    POLL_HUP___225 = 6
} ;
enum __anonenum_852341087___225 {
    SIGEV_SIGNAL___225 = 0,
    SIGEV_NONE___225 = 1,
    SIGEV_THREAD___225 = 2,
    SIGEV_THREAD_ID___225 = 4
} ;
enum __anonenum_451154152___225 {
    REG_R8___225 = 0,
    REG_R9___225 = 1,
    REG_R10___225 = 2,
    REG_R11___225 = 3,
    REG_R12___225 = 4,
    REG_R13___225 = 5,
    REG_R14___225 = 6,
    REG_R15___225 = 7,
    REG_RDI___225 = 8,
    REG_RSI___225 = 9,
    REG_RBP___225 = 10,
    REG_RBX___225 = 11,
    REG_RDX___225 = 12,
    REG_RAX___225 = 13,
    REG_RCX___225 = 14,
    REG_RSP___225 = 15,
    REG_RIP___225 = 16,
    REG_EFL___225 = 17,
    REG_CSGSFS___225 = 18,
    REG_ERR___225 = 19,
    REG_TRAPNO___225 = 20,
    REG_OLDMASK___225 = 21,
    REG_CR2___225 = 22
} ;
enum __anonenum_57186863___225 {
    SS_ONSTACK___225 = 1,
    SS_DISABLE___225 = 2
} ;
enum __anonenum_83571709___225 {
    MSG_OOB___225 = 1,
    MSG_PEEK___225 = 2,
    MSG_DONTROUTE___225 = 4,
    MSG_TRYHARD___225 = 4,
    MSG_CTRUNC___225 = 8,
    MSG_PROXY___225 = 16,
    MSG_TRUNC___225 = 32,
    MSG_DONTWAIT___225 = 64,
    MSG_EOR___225 = 128,
    MSG_WAITALL___225 = 256,
    MSG_FIN___225 = 512,
    MSG_SYN___225 = 1024,
    MSG_CONFIRM___225 = 2048,
    MSG_RST___225 = 4096,
    MSG_ERRQUEUE___225 = 8192,
    MSG_NOSIGNAL___225 = 16384,
    MSG_MORE___225 = 32768,
    MSG_WAITFORONE___225 = 65536,
    MSG_BATCH___225 = 262144,
    MSG_ZEROCOPY___225 = 67108864,
    MSG_FASTOPEN___225 = 536870912,
    MSG_CMSG_CLOEXEC___225 = 1073741824
} ;
enum __anonenum_617082774___225 {
    SCM_RIGHTS___225 = 1,
    SCM_CREDENTIALS___225 = 2
} ;
enum __anonenum_606441560___225 {
    SHUT_RD___225 = 0,
    SHUT_WR___225 = 1,
    SHUT_RDWR___225 = 2
} ;
enum __anonenum_681669233___225 {
    IPPROTO_IP___225 = 0,
    IPPROTO_ICMP___225 = 1,
    IPPROTO_IGMP___225 = 2,
    IPPROTO_IPIP___225 = 4,
    IPPROTO_TCP___225 = 6,
    IPPROTO_EGP___225 = 8,
    IPPROTO_PUP___225 = 12,
    IPPROTO_UDP___225 = 17,
    IPPROTO_IDP___225 = 22,
    IPPROTO_TP___225 = 29,
    IPPROTO_DCCP___225 = 33,
    IPPROTO_IPV6___225 = 41,
    IPPROTO_RSVP___225 = 46,
    IPPROTO_GRE___225 = 47,
    IPPROTO_ESP___225 = 50,
    IPPROTO_AH___225 = 51,
    IPPROTO_MTP___225 = 92,
    IPPROTO_BEETPH___225 = 94,
    IPPROTO_ENCAP___225 = 98,
    IPPROTO_PIM___225 = 103,
    IPPROTO_COMP___225 = 108,
    IPPROTO_SCTP___225 = 132,
    IPPROTO_UDPLITE___225 = 136,
    IPPROTO_MPLS___225 = 137,
    IPPROTO_RAW___225 = 255,
    IPPROTO_MAX___225 = 256
} ;
enum __anonenum_218739988___225 {
    IPPROTO_HOPOPTS___225 = 0,
    IPPROTO_ROUTING___225 = 43,
    IPPROTO_FRAGMENT___225 = 44,
    IPPROTO_ICMPV6___225 = 58,
    IPPROTO_NONE___225 = 59,
    IPPROTO_DSTOPTS___225 = 60,
    IPPROTO_MH___225 = 135
} ;
enum __anonenum_662268580___225 {
    IPPORT_ECHO___225 = 7,
    IPPORT_DISCARD___225 = 9,
    IPPORT_SYSTAT___225 = 11,
    IPPORT_DAYTIME___225 = 13,
    IPPORT_NETSTAT___225 = 15,
    IPPORT_FTP___225 = 21,
    IPPORT_TELNET___225 = 23,
    IPPORT_SMTP___225 = 25,
    IPPORT_TIMESERVER___225 = 37,
    IPPORT_NAMESERVER___225 = 42,
    IPPORT_WHOIS___225 = 43,
    IPPORT_MTP___225 = 57,
    IPPORT_TFTP___225 = 69,
    IPPORT_RJE___225 = 77,
    IPPORT_FINGER___225 = 79,
    IPPORT_TTYLINK___225 = 87,
    IPPORT_SUPDUP___225 = 95,
    IPPORT_EXECSERVER___225 = 512,
    IPPORT_LOGINSERVER___225 = 513,
    IPPORT_CMDSERVER___225 = 514,
    IPPORT_EFSSERVER___225 = 520,
    IPPORT_BIFFUDP___225 = 512,
    IPPORT_WHOSERVER___225 = 513,
    IPPORT_ROUTESERVER___225 = 520,
    IPPORT_RESERVED___225 = 1024,
    IPPORT_USERRESERVED___225 = 5000
} ;
enum __anonenum_788308992___225 {
    TCP_ESTABLISHED___225 = 1,
    TCP_SYN_SENT___225 = 2,
    TCP_SYN_RECV___225 = 3,
    TCP_FIN_WAIT1___225 = 4,
    TCP_FIN_WAIT2___225 = 5,
    TCP_TIME_WAIT___225 = 6,
    TCP_CLOSE___225 = 7,
    TCP_CLOSE_WAIT___225 = 8,
    TCP_LAST_ACK___225 = 9,
    TCP_LISTEN___225 = 10,
    TCP_CLOSING___225 = 11
} ;
enum __anonenum_221125648___225 {
    TCP_NO_QUEUE___225 = 0,
    TCP_RECV_QUEUE___225 = 1,
    TCP_SEND_QUEUE___225 = 2,
    TCP_QUEUES_NR___225 = 3
} ;
enum __anonenum_34415463___225 {
    PTHREAD_CREATE_JOINABLE___225 = 0,
    PTHREAD_CREATE_DETACHED___225 = 1
} ;
enum __anonenum_303612439___225 {
    PTHREAD_MUTEX_TIMED_NP___225 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___225 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___225 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___225 = 3,
    PTHREAD_MUTEX_NORMAL___225 = 0,
    PTHREAD_MUTEX_RECURSIVE___225 = 1,
    PTHREAD_MUTEX_ERRORCHECK___225 = 2,
    PTHREAD_MUTEX_DEFAULT___225 = 0,
    PTHREAD_MUTEX_FAST_NP___225 = 0
} ;
enum __anonenum_931900394___225 {
    PTHREAD_MUTEX_STALLED___225 = 0,
    PTHREAD_MUTEX_STALLED_NP___225 = 0,
    PTHREAD_MUTEX_ROBUST___225 = 1,
    PTHREAD_MUTEX_ROBUST_NP___225 = 1
} ;
enum __anonenum_205214487___225 {
    PTHREAD_PRIO_NONE___225 = 0,
    PTHREAD_PRIO_INHERIT___225 = 1,
    PTHREAD_PRIO_PROTECT___225 = 2
} ;
enum __anonenum_25043950___225 {
    PTHREAD_RWLOCK_PREFER_READER_NP___225 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___225 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___225 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___225 = 0
} ;
enum __anonenum_436439511___225 {
    PTHREAD_INHERIT_SCHED___225 = 0,
    PTHREAD_EXPLICIT_SCHED___225 = 1
} ;
enum __anonenum_998661166___225 {
    PTHREAD_SCOPE_SYSTEM___225 = 0,
    PTHREAD_SCOPE_PROCESS___225 = 1
} ;
enum __anonenum_146137331___225 {
    PTHREAD_PROCESS_PRIVATE___225 = 0,
    PTHREAD_PROCESS_SHARED___225 = 1
} ;
enum __anonenum_53396917___225 {
    PTHREAD_CANCEL_ENABLE___225 = 0,
    PTHREAD_CANCEL_DISABLE___225 = 1
} ;
enum __anonenum_904563783___225 {
    PTHREAD_CANCEL_DEFERRED___225 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___225 = 1
} ;
enum __anonenum_672052974___225 {
    SSL_CT_VALIDATION_PERMISSIVE___225 = 0,
    SSL_CT_VALIDATION_STRICT___225 = 1
} ;
enum __anonenum_34023289___21 {
    REMOTE_UNCONFIGURED___21 = 0,
    REMOTE_CONFIG___21 = 1,
    REMOTE_REMOTES___21 = 2,
    REMOTE_BRANCHES___21 = 3
} ;
enum __anonenum_437032235___226 {
    _PC_LINK_MAX___226 = 0,
    _PC_MAX_CANON___226 = 1,
    _PC_MAX_INPUT___226 = 2,
    _PC_NAME_MAX___226 = 3,
    _PC_PATH_MAX___226 = 4,
    _PC_PIPE_BUF___226 = 5,
    _PC_CHOWN_RESTRICTED___226 = 6,
    _PC_NO_TRUNC___226 = 7,
    _PC_VDISABLE___226 = 8,
    _PC_SYNC_IO___226 = 9,
    _PC_ASYNC_IO___226 = 10,
    _PC_PRIO_IO___226 = 11,
    _PC_SOCK_MAXBUF___226 = 12,
    _PC_FILESIZEBITS___226 = 13,
    _PC_REC_INCR_XFER_SIZE___226 = 14,
    _PC_REC_MAX_XFER_SIZE___226 = 15,
    _PC_REC_MIN_XFER_SIZE___226 = 16,
    _PC_REC_XFER_ALIGN___226 = 17,
    _PC_ALLOC_SIZE_MIN___226 = 18,
    _PC_SYMLINK_MAX___226 = 19,
    _PC_2_SYMLINKS___226 = 20
} ;
enum __anonenum_315186338___226 {
    _SC_ARG_MAX___226 = 0,
    _SC_CHILD_MAX___226 = 1,
    _SC_CLK_TCK___226 = 2,
    _SC_NGROUPS_MAX___226 = 3,
    _SC_OPEN_MAX___226 = 4,
    _SC_STREAM_MAX___226 = 5,
    _SC_TZNAME_MAX___226 = 6,
    _SC_JOB_CONTROL___226 = 7,
    _SC_SAVED_IDS___226 = 8,
    _SC_REALTIME_SIGNALS___226 = 9,
    _SC_PRIORITY_SCHEDULING___226 = 10,
    _SC_TIMERS___226 = 11,
    _SC_ASYNCHRONOUS_IO___226 = 12,
    _SC_PRIORITIZED_IO___226 = 13,
    _SC_SYNCHRONIZED_IO___226 = 14,
    _SC_FSYNC___226 = 15,
    _SC_MAPPED_FILES___226 = 16,
    _SC_MEMLOCK___226 = 17,
    _SC_MEMLOCK_RANGE___226 = 18,
    _SC_MEMORY_PROTECTION___226 = 19,
    _SC_MESSAGE_PASSING___226 = 20,
    _SC_SEMAPHORES___226 = 21,
    _SC_SHARED_MEMORY_OBJECTS___226 = 22,
    _SC_AIO_LISTIO_MAX___226 = 23,
    _SC_AIO_MAX___226 = 24,
    _SC_AIO_PRIO_DELTA_MAX___226 = 25,
    _SC_DELAYTIMER_MAX___226 = 26,
    _SC_MQ_OPEN_MAX___226 = 27,
    _SC_MQ_PRIO_MAX___226 = 28,
    _SC_VERSION___226 = 29,
    _SC_PAGESIZE___226 = 30,
    _SC_RTSIG_MAX___226 = 31,
    _SC_SEM_NSEMS_MAX___226 = 32,
    _SC_SEM_VALUE_MAX___226 = 33,
    _SC_SIGQUEUE_MAX___226 = 34,
    _SC_TIMER_MAX___226 = 35,
    _SC_BC_BASE_MAX___226 = 36,
    _SC_BC_DIM_MAX___226 = 37,
    _SC_BC_SCALE_MAX___226 = 38,
    _SC_BC_STRING_MAX___226 = 39,
    _SC_COLL_WEIGHTS_MAX___226 = 40,
    _SC_EQUIV_CLASS_MAX___226 = 41,
    _SC_EXPR_NEST_MAX___226 = 42,
    _SC_LINE_MAX___226 = 43,
    _SC_RE_DUP_MAX___226 = 44,
    _SC_CHARCLASS_NAME_MAX___226 = 45,
    _SC_2_VERSION___226 = 46,
    _SC_2_C_BIND___226 = 47,
    _SC_2_C_DEV___226 = 48,
    _SC_2_FORT_DEV___226 = 49,
    _SC_2_FORT_RUN___226 = 50,
    _SC_2_SW_DEV___226 = 51,
    _SC_2_LOCALEDEF___226 = 52,
    _SC_PII___226 = 53,
    _SC_PII_XTI___226 = 54,
    _SC_PII_SOCKET___226 = 55,
    _SC_PII_INTERNET___226 = 56,
    _SC_PII_OSI___226 = 57,
    _SC_POLL___226 = 58,
    _SC_SELECT___226 = 59,
    _SC_UIO_MAXIOV___226 = 60,
    _SC_IOV_MAX___226 = 60,
    _SC_PII_INTERNET_STREAM___226 = 61,
    _SC_PII_INTERNET_DGRAM___226 = 62,
    _SC_PII_OSI_COTS___226 = 63,
    _SC_PII_OSI_CLTS___226 = 64,
    _SC_PII_OSI_M___226 = 65,
    _SC_T_IOV_MAX___226 = 66,
    _SC_THREADS___226 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___226 = 68,
    _SC_GETGR_R_SIZE_MAX___226 = 69,
    _SC_GETPW_R_SIZE_MAX___226 = 70,
    _SC_LOGIN_NAME_MAX___226 = 71,
    _SC_TTY_NAME_MAX___226 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___226 = 73,
    _SC_THREAD_KEYS_MAX___226 = 74,
    _SC_THREAD_STACK_MIN___226 = 75,
    _SC_THREAD_THREADS_MAX___226 = 76,
    _SC_THREAD_ATTR_STACKADDR___226 = 77,
    _SC_THREAD_ATTR_STACKSIZE___226 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___226 = 79,
    _SC_THREAD_PRIO_INHERIT___226 = 80,
    _SC_THREAD_PRIO_PROTECT___226 = 81,
    _SC_THREAD_PROCESS_SHARED___226 = 82,
    _SC_NPROCESSORS_CONF___226 = 83,
    _SC_NPROCESSORS_ONLN___226 = 84,
    _SC_PHYS_PAGES___226 = 85,
    _SC_AVPHYS_PAGES___226 = 86,
    _SC_ATEXIT_MAX___226 = 87,
    _SC_PASS_MAX___226 = 88,
    _SC_XOPEN_VERSION___226 = 89,
    _SC_XOPEN_XCU_VERSION___226 = 90,
    _SC_XOPEN_UNIX___226 = 91,
    _SC_XOPEN_CRYPT___226 = 92,
    _SC_XOPEN_ENH_I18N___226 = 93,
    _SC_XOPEN_SHM___226 = 94,
    _SC_2_CHAR_TERM___226 = 95,
    _SC_2_C_VERSION___226 = 96,
    _SC_2_UPE___226 = 97,
    _SC_XOPEN_XPG2___226 = 98,
    _SC_XOPEN_XPG3___226 = 99,
    _SC_XOPEN_XPG4___226 = 100,
    _SC_CHAR_BIT___226 = 101,
    _SC_CHAR_MAX___226 = 102,
    _SC_CHAR_MIN___226 = 103,
    _SC_INT_MAX___226 = 104,
    _SC_INT_MIN___226 = 105,
    _SC_LONG_BIT___226 = 106,
    _SC_WORD_BIT___226 = 107,
    _SC_MB_LEN_MAX___226 = 108,
    _SC_NZERO___226 = 109,
    _SC_SSIZE_MAX___226 = 110,
    _SC_SCHAR_MAX___226 = 111,
    _SC_SCHAR_MIN___226 = 112,
    _SC_SHRT_MAX___226 = 113,
    _SC_SHRT_MIN___226 = 114,
    _SC_UCHAR_MAX___226 = 115,
    _SC_UINT_MAX___226 = 116,
    _SC_ULONG_MAX___226 = 117,
    _SC_USHRT_MAX___226 = 118,
    _SC_NL_ARGMAX___226 = 119,
    _SC_NL_LANGMAX___226 = 120,
    _SC_NL_MSGMAX___226 = 121,
    _SC_NL_NMAX___226 = 122,
    _SC_NL_SETMAX___226 = 123,
    _SC_NL_TEXTMAX___226 = 124,
    _SC_XBS5_ILP32_OFF32___226 = 125,
    _SC_XBS5_ILP32_OFFBIG___226 = 126,
    _SC_XBS5_LP64_OFF64___226 = 127,
    _SC_XBS5_LPBIG_OFFBIG___226 = 128,
    _SC_XOPEN_LEGACY___226 = 129,
    _SC_XOPEN_REALTIME___226 = 130,
    _SC_XOPEN_REALTIME_THREADS___226 = 131,
    _SC_ADVISORY_INFO___226 = 132,
    _SC_BARRIERS___226 = 133,
    _SC_BASE___226 = 134,
    _SC_C_LANG_SUPPORT___226 = 135,
    _SC_C_LANG_SUPPORT_R___226 = 136,
    _SC_CLOCK_SELECTION___226 = 137,
    _SC_CPUTIME___226 = 138,
    _SC_THREAD_CPUTIME___226 = 139,
    _SC_DEVICE_IO___226 = 140,
    _SC_DEVICE_SPECIFIC___226 = 141,
    _SC_DEVICE_SPECIFIC_R___226 = 142,
    _SC_FD_MGMT___226 = 143,
    _SC_FIFO___226 = 144,
    _SC_PIPE___226 = 145,
    _SC_FILE_ATTRIBUTES___226 = 146,
    _SC_FILE_LOCKING___226 = 147,
    _SC_FILE_SYSTEM___226 = 148,
    _SC_MONOTONIC_CLOCK___226 = 149,
    _SC_MULTI_PROCESS___226 = 150,
    _SC_SINGLE_PROCESS___226 = 151,
    _SC_NETWORKING___226 = 152,
    _SC_READER_WRITER_LOCKS___226 = 153,
    _SC_SPIN_LOCKS___226 = 154,
    _SC_REGEXP___226 = 155,
    _SC_REGEX_VERSION___226 = 156,
    _SC_SHELL___226 = 157,
    _SC_SIGNALS___226 = 158,
    _SC_SPAWN___226 = 159,
    _SC_SPORADIC_SERVER___226 = 160,
    _SC_THREAD_SPORADIC_SERVER___226 = 161,
    _SC_SYSTEM_DATABASE___226 = 162,
    _SC_SYSTEM_DATABASE_R___226 = 163,
    _SC_TIMEOUTS___226 = 164,
    _SC_TYPED_MEMORY_OBJECTS___226 = 165,
    _SC_USER_GROUPS___226 = 166,
    _SC_USER_GROUPS_R___226 = 167,
    _SC_2_PBS___226 = 168,
    _SC_2_PBS_ACCOUNTING___226 = 169,
    _SC_2_PBS_LOCATE___226 = 170,
    _SC_2_PBS_MESSAGE___226 = 171,
    _SC_2_PBS_TRACK___226 = 172,
    _SC_SYMLOOP_MAX___226 = 173,
    _SC_STREAMS___226 = 174,
    _SC_2_PBS_CHECKPOINT___226 = 175,
    _SC_V6_ILP32_OFF32___226 = 176,
    _SC_V6_ILP32_OFFBIG___226 = 177,
    _SC_V6_LP64_OFF64___226 = 178,
    _SC_V6_LPBIG_OFFBIG___226 = 179,
    _SC_HOST_NAME_MAX___226 = 180,
    _SC_TRACE___226 = 181,
    _SC_TRACE_EVENT_FILTER___226 = 182,
    _SC_TRACE_INHERIT___226 = 183,
    _SC_TRACE_LOG___226 = 184,
    _SC_LEVEL1_ICACHE_SIZE___226 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___226 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___226 = 187,
    _SC_LEVEL1_DCACHE_SIZE___226 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___226 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___226 = 190,
    _SC_LEVEL2_CACHE_SIZE___226 = 191,
    _SC_LEVEL2_CACHE_ASSOC___226 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___226 = 193,
    _SC_LEVEL3_CACHE_SIZE___226 = 194,
    _SC_LEVEL3_CACHE_ASSOC___226 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___226 = 196,
    _SC_LEVEL4_CACHE_SIZE___226 = 197,
    _SC_LEVEL4_CACHE_ASSOC___226 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___226 = 199,
    _SC_IPV6___226 = 235,
    _SC_RAW_SOCKETS___226 = 236,
    _SC_V7_ILP32_OFF32___226 = 237,
    _SC_V7_ILP32_OFFBIG___226 = 238,
    _SC_V7_LP64_OFF64___226 = 239,
    _SC_V7_LPBIG_OFFBIG___226 = 240,
    _SC_SS_REPL_MAX___226 = 241,
    _SC_TRACE_EVENT_NAME_MAX___226 = 242,
    _SC_TRACE_NAME_MAX___226 = 243,
    _SC_TRACE_SYS_MAX___226 = 244,
    _SC_TRACE_USER_EVENT_MAX___226 = 245,
    _SC_XOPEN_STREAMS___226 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___226 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___226 = 248
} ;
enum __anonenum_875524036___226 {
    _CS_PATH___226 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___226 = 1,
    _CS_GNU_LIBC_VERSION___226 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___226 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___226 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___226 = 5,
    _CS_LFS_CFLAGS___226 = 1000,
    _CS_LFS_LDFLAGS___226 = 1001,
    _CS_LFS_LIBS___226 = 1002,
    _CS_LFS_LINTFLAGS___226 = 1003,
    _CS_LFS64_CFLAGS___226 = 1004,
    _CS_LFS64_LDFLAGS___226 = 1005,
    _CS_LFS64_LIBS___226 = 1006,
    _CS_LFS64_LINTFLAGS___226 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___226 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___226 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___226 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___226 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___226 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___226 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___226 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___226 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___226 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___226 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___226 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___226 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___226 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___226 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___226 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___226 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___226 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___226 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___226 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___226 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___226 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___226 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___226 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___226 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___226 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___226 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___226 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___226 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___226 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___226 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___226 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___226 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___226 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___226 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___226 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___226 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___226 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___226 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___226 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___226 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___226 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___226 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___226 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___226 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___226 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___226 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___226 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___226 = 1147,
    _CS_V6_ENV___226 = 1148,
    _CS_V7_ENV___226 = 1149
} ;
enum __anonenum_513775621___226 {
    DT_UNKNOWN___226 = 0,
    DT_FIFO___226 = 1,
    DT_CHR___226 = 2,
    DT_DIR___226 = 4,
    DT_BLK___226 = 6,
    DT_REG___226 = 8,
    DT_LNK___226 = 10,
    DT_SOCK___226 = 12,
    DT_WHT___226 = 14
} ;
enum __anonenum_77002343___226 {
    SI_ASYNCNL___226 = -60,
    SI_TKILL___226 = -6,
    SI_SIGIO___226 = -5,
    SI_ASYNCIO___226 = -4,
    SI_MESGQ___226 = -3,
    SI_TIMER___226 = -2,
    SI_QUEUE___226 = -1,
    SI_USER___226 = 0,
    SI_KERNEL___226 = 128
} ;
enum __anonenum_131038172___226 {
    ILL_ILLOPC___226 = 1,
    ILL_ILLOPN___226 = 2,
    ILL_ILLADR___226 = 3,
    ILL_ILLTRP___226 = 4,
    ILL_PRVOPC___226 = 5,
    ILL_PRVREG___226 = 6,
    ILL_COPROC___226 = 7,
    ILL_BADSTK___226 = 8
} ;
enum __anonenum_452038093___226 {
    FPE_INTDIV___226 = 1,
    FPE_INTOVF___226 = 2,
    FPE_FLTDIV___226 = 3,
    FPE_FLTOVF___226 = 4,
    FPE_FLTUND___226 = 5,
    FPE_FLTRES___226 = 6,
    FPE_FLTINV___226 = 7,
    FPE_FLTSUB___226 = 8
} ;
enum __anonenum_30976155___226 {
    SEGV_MAPERR___226 = 1,
    SEGV_ACCERR___226 = 2,
    SEGV_BNDERR___226 = 3,
    SEGV_PKUERR___226 = 4
} ;
enum __anonenum_1036286214___226 {
    BUS_ADRALN___226 = 1,
    BUS_ADRERR___226 = 2,
    BUS_OBJERR___226 = 3,
    BUS_MCEERR_AR___226 = 4,
    BUS_MCEERR_AO___226 = 5
} ;
enum __anonenum_493465559___226 {
    TRAP_BRKPT___226 = 1,
    TRAP_TRACE___226 = 2
} ;
enum __anonenum_23175539___226 {
    CLD_EXITED___226 = 1,
    CLD_KILLED___226 = 2,
    CLD_DUMPED___226 = 3,
    CLD_TRAPPED___226 = 4,
    CLD_STOPPED___226 = 5,
    CLD_CONTINUED___226 = 6
} ;
enum __anonenum_111643124___226 {
    POLL_IN___226 = 1,
    POLL_OUT___226 = 2,
    POLL_MSG___226 = 3,
    POLL_ERR___226 = 4,
    POLL_PRI___226 = 5,
    POLL_HUP___226 = 6
} ;
enum __anonenum_852341087___226 {
    SIGEV_SIGNAL___226 = 0,
    SIGEV_NONE___226 = 1,
    SIGEV_THREAD___226 = 2,
    SIGEV_THREAD_ID___226 = 4
} ;
enum __anonenum_451154152___226 {
    REG_R8___226 = 0,
    REG_R9___226 = 1,
    REG_R10___226 = 2,
    REG_R11___226 = 3,
    REG_R12___226 = 4,
    REG_R13___226 = 5,
    REG_R14___226 = 6,
    REG_R15___226 = 7,
    REG_RDI___226 = 8,
    REG_RSI___226 = 9,
    REG_RBP___226 = 10,
    REG_RBX___226 = 11,
    REG_RDX___226 = 12,
    REG_RAX___226 = 13,
    REG_RCX___226 = 14,
    REG_RSP___226 = 15,
    REG_RIP___226 = 16,
    REG_EFL___226 = 17,
    REG_CSGSFS___226 = 18,
    REG_ERR___226 = 19,
    REG_TRAPNO___226 = 20,
    REG_OLDMASK___226 = 21,
    REG_CR2___226 = 22
} ;
enum __anonenum_57186863___226 {
    SS_ONSTACK___226 = 1,
    SS_DISABLE___226 = 2
} ;
enum __anonenum_83571709___226 {
    MSG_OOB___226 = 1,
    MSG_PEEK___226 = 2,
    MSG_DONTROUTE___226 = 4,
    MSG_TRYHARD___226 = 4,
    MSG_CTRUNC___226 = 8,
    MSG_PROXY___226 = 16,
    MSG_TRUNC___226 = 32,
    MSG_DONTWAIT___226 = 64,
    MSG_EOR___226 = 128,
    MSG_WAITALL___226 = 256,
    MSG_FIN___226 = 512,
    MSG_SYN___226 = 1024,
    MSG_CONFIRM___226 = 2048,
    MSG_RST___226 = 4096,
    MSG_ERRQUEUE___226 = 8192,
    MSG_NOSIGNAL___226 = 16384,
    MSG_MORE___226 = 32768,
    MSG_WAITFORONE___226 = 65536,
    MSG_BATCH___226 = 262144,
    MSG_ZEROCOPY___226 = 67108864,
    MSG_FASTOPEN___226 = 536870912,
    MSG_CMSG_CLOEXEC___226 = 1073741824
} ;
enum __anonenum_617082774___226 {
    SCM_RIGHTS___226 = 1,
    SCM_CREDENTIALS___226 = 2
} ;
enum __anonenum_606441560___226 {
    SHUT_RD___226 = 0,
    SHUT_WR___226 = 1,
    SHUT_RDWR___226 = 2
} ;
enum __anonenum_681669233___226 {
    IPPROTO_IP___226 = 0,
    IPPROTO_ICMP___226 = 1,
    IPPROTO_IGMP___226 = 2,
    IPPROTO_IPIP___226 = 4,
    IPPROTO_TCP___226 = 6,
    IPPROTO_EGP___226 = 8,
    IPPROTO_PUP___226 = 12,
    IPPROTO_UDP___226 = 17,
    IPPROTO_IDP___226 = 22,
    IPPROTO_TP___226 = 29,
    IPPROTO_DCCP___226 = 33,
    IPPROTO_IPV6___226 = 41,
    IPPROTO_RSVP___226 = 46,
    IPPROTO_GRE___226 = 47,
    IPPROTO_ESP___226 = 50,
    IPPROTO_AH___226 = 51,
    IPPROTO_MTP___226 = 92,
    IPPROTO_BEETPH___226 = 94,
    IPPROTO_ENCAP___226 = 98,
    IPPROTO_PIM___226 = 103,
    IPPROTO_COMP___226 = 108,
    IPPROTO_SCTP___226 = 132,
    IPPROTO_UDPLITE___226 = 136,
    IPPROTO_MPLS___226 = 137,
    IPPROTO_RAW___226 = 255,
    IPPROTO_MAX___226 = 256
} ;
enum __anonenum_218739988___226 {
    IPPROTO_HOPOPTS___226 = 0,
    IPPROTO_ROUTING___226 = 43,
    IPPROTO_FRAGMENT___226 = 44,
    IPPROTO_ICMPV6___226 = 58,
    IPPROTO_NONE___226 = 59,
    IPPROTO_DSTOPTS___226 = 60,
    IPPROTO_MH___226 = 135
} ;
enum __anonenum_662268580___226 {
    IPPORT_ECHO___226 = 7,
    IPPORT_DISCARD___226 = 9,
    IPPORT_SYSTAT___226 = 11,
    IPPORT_DAYTIME___226 = 13,
    IPPORT_NETSTAT___226 = 15,
    IPPORT_FTP___226 = 21,
    IPPORT_TELNET___226 = 23,
    IPPORT_SMTP___226 = 25,
    IPPORT_TIMESERVER___226 = 37,
    IPPORT_NAMESERVER___226 = 42,
    IPPORT_WHOIS___226 = 43,
    IPPORT_MTP___226 = 57,
    IPPORT_TFTP___226 = 69,
    IPPORT_RJE___226 = 77,
    IPPORT_FINGER___226 = 79,
    IPPORT_TTYLINK___226 = 87,
    IPPORT_SUPDUP___226 = 95,
    IPPORT_EXECSERVER___226 = 512,
    IPPORT_LOGINSERVER___226 = 513,
    IPPORT_CMDSERVER___226 = 514,
    IPPORT_EFSSERVER___226 = 520,
    IPPORT_BIFFUDP___226 = 512,
    IPPORT_WHOSERVER___226 = 513,
    IPPORT_ROUTESERVER___226 = 520,
    IPPORT_RESERVED___226 = 1024,
    IPPORT_USERRESERVED___226 = 5000
} ;
enum __anonenum_788308992___226 {
    TCP_ESTABLISHED___226 = 1,
    TCP_SYN_SENT___226 = 2,
    TCP_SYN_RECV___226 = 3,
    TCP_FIN_WAIT1___226 = 4,
    TCP_FIN_WAIT2___226 = 5,
    TCP_TIME_WAIT___226 = 6,
    TCP_CLOSE___226 = 7,
    TCP_CLOSE_WAIT___226 = 8,
    TCP_LAST_ACK___226 = 9,
    TCP_LISTEN___226 = 10,
    TCP_CLOSING___226 = 11
} ;
enum __anonenum_221125648___226 {
    TCP_NO_QUEUE___226 = 0,
    TCP_RECV_QUEUE___226 = 1,
    TCP_SEND_QUEUE___226 = 2,
    TCP_QUEUES_NR___226 = 3
} ;
enum __anonenum_34415463___226 {
    PTHREAD_CREATE_JOINABLE___226 = 0,
    PTHREAD_CREATE_DETACHED___226 = 1
} ;
enum __anonenum_303612439___226 {
    PTHREAD_MUTEX_TIMED_NP___226 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___226 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___226 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___226 = 3,
    PTHREAD_MUTEX_NORMAL___226 = 0,
    PTHREAD_MUTEX_RECURSIVE___226 = 1,
    PTHREAD_MUTEX_ERRORCHECK___226 = 2,
    PTHREAD_MUTEX_DEFAULT___226 = 0,
    PTHREAD_MUTEX_FAST_NP___226 = 0
} ;
enum __anonenum_931900394___226 {
    PTHREAD_MUTEX_STALLED___226 = 0,
    PTHREAD_MUTEX_STALLED_NP___226 = 0,
    PTHREAD_MUTEX_ROBUST___226 = 1,
    PTHREAD_MUTEX_ROBUST_NP___226 = 1
} ;
enum __anonenum_205214487___226 {
    PTHREAD_PRIO_NONE___226 = 0,
    PTHREAD_PRIO_INHERIT___226 = 1,
    PTHREAD_PRIO_PROTECT___226 = 2
} ;
enum __anonenum_25043950___226 {
    PTHREAD_RWLOCK_PREFER_READER_NP___226 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___226 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___226 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___226 = 0
} ;
enum __anonenum_436439511___226 {
    PTHREAD_INHERIT_SCHED___226 = 0,
    PTHREAD_EXPLICIT_SCHED___226 = 1
} ;
enum __anonenum_998661166___226 {
    PTHREAD_SCOPE_SYSTEM___226 = 0,
    PTHREAD_SCOPE_PROCESS___226 = 1
} ;
enum __anonenum_146137331___226 {
    PTHREAD_PROCESS_PRIVATE___226 = 0,
    PTHREAD_PROCESS_SHARED___226 = 1
} ;
enum __anonenum_53396917___226 {
    PTHREAD_CANCEL_ENABLE___226 = 0,
    PTHREAD_CANCEL_DISABLE___226 = 1
} ;
enum __anonenum_904563783___226 {
    PTHREAD_CANCEL_DEFERRED___226 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___226 = 1
} ;
enum __anonenum_672052974___226 {
    SSL_CT_VALIDATION_PERMISSIVE___226 = 0,
    SSL_CT_VALIDATION_STRICT___226 = 1
} ;
enum __anonenum_437032235___227 {
    _PC_LINK_MAX___227 = 0,
    _PC_MAX_CANON___227 = 1,
    _PC_MAX_INPUT___227 = 2,
    _PC_NAME_MAX___227 = 3,
    _PC_PATH_MAX___227 = 4,
    _PC_PIPE_BUF___227 = 5,
    _PC_CHOWN_RESTRICTED___227 = 6,
    _PC_NO_TRUNC___227 = 7,
    _PC_VDISABLE___227 = 8,
    _PC_SYNC_IO___227 = 9,
    _PC_ASYNC_IO___227 = 10,
    _PC_PRIO_IO___227 = 11,
    _PC_SOCK_MAXBUF___227 = 12,
    _PC_FILESIZEBITS___227 = 13,
    _PC_REC_INCR_XFER_SIZE___227 = 14,
    _PC_REC_MAX_XFER_SIZE___227 = 15,
    _PC_REC_MIN_XFER_SIZE___227 = 16,
    _PC_REC_XFER_ALIGN___227 = 17,
    _PC_ALLOC_SIZE_MIN___227 = 18,
    _PC_SYMLINK_MAX___227 = 19,
    _PC_2_SYMLINKS___227 = 20
} ;
enum __anonenum_315186338___227 {
    _SC_ARG_MAX___227 = 0,
    _SC_CHILD_MAX___227 = 1,
    _SC_CLK_TCK___227 = 2,
    _SC_NGROUPS_MAX___227 = 3,
    _SC_OPEN_MAX___227 = 4,
    _SC_STREAM_MAX___227 = 5,
    _SC_TZNAME_MAX___227 = 6,
    _SC_JOB_CONTROL___227 = 7,
    _SC_SAVED_IDS___227 = 8,
    _SC_REALTIME_SIGNALS___227 = 9,
    _SC_PRIORITY_SCHEDULING___227 = 10,
    _SC_TIMERS___227 = 11,
    _SC_ASYNCHRONOUS_IO___227 = 12,
    _SC_PRIORITIZED_IO___227 = 13,
    _SC_SYNCHRONIZED_IO___227 = 14,
    _SC_FSYNC___227 = 15,
    _SC_MAPPED_FILES___227 = 16,
    _SC_MEMLOCK___227 = 17,
    _SC_MEMLOCK_RANGE___227 = 18,
    _SC_MEMORY_PROTECTION___227 = 19,
    _SC_MESSAGE_PASSING___227 = 20,
    _SC_SEMAPHORES___227 = 21,
    _SC_SHARED_MEMORY_OBJECTS___227 = 22,
    _SC_AIO_LISTIO_MAX___227 = 23,
    _SC_AIO_MAX___227 = 24,
    _SC_AIO_PRIO_DELTA_MAX___227 = 25,
    _SC_DELAYTIMER_MAX___227 = 26,
    _SC_MQ_OPEN_MAX___227 = 27,
    _SC_MQ_PRIO_MAX___227 = 28,
    _SC_VERSION___227 = 29,
    _SC_PAGESIZE___227 = 30,
    _SC_RTSIG_MAX___227 = 31,
    _SC_SEM_NSEMS_MAX___227 = 32,
    _SC_SEM_VALUE_MAX___227 = 33,
    _SC_SIGQUEUE_MAX___227 = 34,
    _SC_TIMER_MAX___227 = 35,
    _SC_BC_BASE_MAX___227 = 36,
    _SC_BC_DIM_MAX___227 = 37,
    _SC_BC_SCALE_MAX___227 = 38,
    _SC_BC_STRING_MAX___227 = 39,
    _SC_COLL_WEIGHTS_MAX___227 = 40,
    _SC_EQUIV_CLASS_MAX___227 = 41,
    _SC_EXPR_NEST_MAX___227 = 42,
    _SC_LINE_MAX___227 = 43,
    _SC_RE_DUP_MAX___227 = 44,
    _SC_CHARCLASS_NAME_MAX___227 = 45,
    _SC_2_VERSION___227 = 46,
    _SC_2_C_BIND___227 = 47,
    _SC_2_C_DEV___227 = 48,
    _SC_2_FORT_DEV___227 = 49,
    _SC_2_FORT_RUN___227 = 50,
    _SC_2_SW_DEV___227 = 51,
    _SC_2_LOCALEDEF___227 = 52,
    _SC_PII___227 = 53,
    _SC_PII_XTI___227 = 54,
    _SC_PII_SOCKET___227 = 55,
    _SC_PII_INTERNET___227 = 56,
    _SC_PII_OSI___227 = 57,
    _SC_POLL___227 = 58,
    _SC_SELECT___227 = 59,
    _SC_UIO_MAXIOV___227 = 60,
    _SC_IOV_MAX___227 = 60,
    _SC_PII_INTERNET_STREAM___227 = 61,
    _SC_PII_INTERNET_DGRAM___227 = 62,
    _SC_PII_OSI_COTS___227 = 63,
    _SC_PII_OSI_CLTS___227 = 64,
    _SC_PII_OSI_M___227 = 65,
    _SC_T_IOV_MAX___227 = 66,
    _SC_THREADS___227 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___227 = 68,
    _SC_GETGR_R_SIZE_MAX___227 = 69,
    _SC_GETPW_R_SIZE_MAX___227 = 70,
    _SC_LOGIN_NAME_MAX___227 = 71,
    _SC_TTY_NAME_MAX___227 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___227 = 73,
    _SC_THREAD_KEYS_MAX___227 = 74,
    _SC_THREAD_STACK_MIN___227 = 75,
    _SC_THREAD_THREADS_MAX___227 = 76,
    _SC_THREAD_ATTR_STACKADDR___227 = 77,
    _SC_THREAD_ATTR_STACKSIZE___227 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___227 = 79,
    _SC_THREAD_PRIO_INHERIT___227 = 80,
    _SC_THREAD_PRIO_PROTECT___227 = 81,
    _SC_THREAD_PROCESS_SHARED___227 = 82,
    _SC_NPROCESSORS_CONF___227 = 83,
    _SC_NPROCESSORS_ONLN___227 = 84,
    _SC_PHYS_PAGES___227 = 85,
    _SC_AVPHYS_PAGES___227 = 86,
    _SC_ATEXIT_MAX___227 = 87,
    _SC_PASS_MAX___227 = 88,
    _SC_XOPEN_VERSION___227 = 89,
    _SC_XOPEN_XCU_VERSION___227 = 90,
    _SC_XOPEN_UNIX___227 = 91,
    _SC_XOPEN_CRYPT___227 = 92,
    _SC_XOPEN_ENH_I18N___227 = 93,
    _SC_XOPEN_SHM___227 = 94,
    _SC_2_CHAR_TERM___227 = 95,
    _SC_2_C_VERSION___227 = 96,
    _SC_2_UPE___227 = 97,
    _SC_XOPEN_XPG2___227 = 98,
    _SC_XOPEN_XPG3___227 = 99,
    _SC_XOPEN_XPG4___227 = 100,
    _SC_CHAR_BIT___227 = 101,
    _SC_CHAR_MAX___227 = 102,
    _SC_CHAR_MIN___227 = 103,
    _SC_INT_MAX___227 = 104,
    _SC_INT_MIN___227 = 105,
    _SC_LONG_BIT___227 = 106,
    _SC_WORD_BIT___227 = 107,
    _SC_MB_LEN_MAX___227 = 108,
    _SC_NZERO___227 = 109,
    _SC_SSIZE_MAX___227 = 110,
    _SC_SCHAR_MAX___227 = 111,
    _SC_SCHAR_MIN___227 = 112,
    _SC_SHRT_MAX___227 = 113,
    _SC_SHRT_MIN___227 = 114,
    _SC_UCHAR_MAX___227 = 115,
    _SC_UINT_MAX___227 = 116,
    _SC_ULONG_MAX___227 = 117,
    _SC_USHRT_MAX___227 = 118,
    _SC_NL_ARGMAX___227 = 119,
    _SC_NL_LANGMAX___227 = 120,
    _SC_NL_MSGMAX___227 = 121,
    _SC_NL_NMAX___227 = 122,
    _SC_NL_SETMAX___227 = 123,
    _SC_NL_TEXTMAX___227 = 124,
    _SC_XBS5_ILP32_OFF32___227 = 125,
    _SC_XBS5_ILP32_OFFBIG___227 = 126,
    _SC_XBS5_LP64_OFF64___227 = 127,
    _SC_XBS5_LPBIG_OFFBIG___227 = 128,
    _SC_XOPEN_LEGACY___227 = 129,
    _SC_XOPEN_REALTIME___227 = 130,
    _SC_XOPEN_REALTIME_THREADS___227 = 131,
    _SC_ADVISORY_INFO___227 = 132,
    _SC_BARRIERS___227 = 133,
    _SC_BASE___227 = 134,
    _SC_C_LANG_SUPPORT___227 = 135,
    _SC_C_LANG_SUPPORT_R___227 = 136,
    _SC_CLOCK_SELECTION___227 = 137,
    _SC_CPUTIME___227 = 138,
    _SC_THREAD_CPUTIME___227 = 139,
    _SC_DEVICE_IO___227 = 140,
    _SC_DEVICE_SPECIFIC___227 = 141,
    _SC_DEVICE_SPECIFIC_R___227 = 142,
    _SC_FD_MGMT___227 = 143,
    _SC_FIFO___227 = 144,
    _SC_PIPE___227 = 145,
    _SC_FILE_ATTRIBUTES___227 = 146,
    _SC_FILE_LOCKING___227 = 147,
    _SC_FILE_SYSTEM___227 = 148,
    _SC_MONOTONIC_CLOCK___227 = 149,
    _SC_MULTI_PROCESS___227 = 150,
    _SC_SINGLE_PROCESS___227 = 151,
    _SC_NETWORKING___227 = 152,
    _SC_READER_WRITER_LOCKS___227 = 153,
    _SC_SPIN_LOCKS___227 = 154,
    _SC_REGEXP___227 = 155,
    _SC_REGEX_VERSION___227 = 156,
    _SC_SHELL___227 = 157,
    _SC_SIGNALS___227 = 158,
    _SC_SPAWN___227 = 159,
    _SC_SPORADIC_SERVER___227 = 160,
    _SC_THREAD_SPORADIC_SERVER___227 = 161,
    _SC_SYSTEM_DATABASE___227 = 162,
    _SC_SYSTEM_DATABASE_R___227 = 163,
    _SC_TIMEOUTS___227 = 164,
    _SC_TYPED_MEMORY_OBJECTS___227 = 165,
    _SC_USER_GROUPS___227 = 166,
    _SC_USER_GROUPS_R___227 = 167,
    _SC_2_PBS___227 = 168,
    _SC_2_PBS_ACCOUNTING___227 = 169,
    _SC_2_PBS_LOCATE___227 = 170,
    _SC_2_PBS_MESSAGE___227 = 171,
    _SC_2_PBS_TRACK___227 = 172,
    _SC_SYMLOOP_MAX___227 = 173,
    _SC_STREAMS___227 = 174,
    _SC_2_PBS_CHECKPOINT___227 = 175,
    _SC_V6_ILP32_OFF32___227 = 176,
    _SC_V6_ILP32_OFFBIG___227 = 177,
    _SC_V6_LP64_OFF64___227 = 178,
    _SC_V6_LPBIG_OFFBIG___227 = 179,
    _SC_HOST_NAME_MAX___227 = 180,
    _SC_TRACE___227 = 181,
    _SC_TRACE_EVENT_FILTER___227 = 182,
    _SC_TRACE_INHERIT___227 = 183,
    _SC_TRACE_LOG___227 = 184,
    _SC_LEVEL1_ICACHE_SIZE___227 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___227 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___227 = 187,
    _SC_LEVEL1_DCACHE_SIZE___227 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___227 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___227 = 190,
    _SC_LEVEL2_CACHE_SIZE___227 = 191,
    _SC_LEVEL2_CACHE_ASSOC___227 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___227 = 193,
    _SC_LEVEL3_CACHE_SIZE___227 = 194,
    _SC_LEVEL3_CACHE_ASSOC___227 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___227 = 196,
    _SC_LEVEL4_CACHE_SIZE___227 = 197,
    _SC_LEVEL4_CACHE_ASSOC___227 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___227 = 199,
    _SC_IPV6___227 = 235,
    _SC_RAW_SOCKETS___227 = 236,
    _SC_V7_ILP32_OFF32___227 = 237,
    _SC_V7_ILP32_OFFBIG___227 = 238,
    _SC_V7_LP64_OFF64___227 = 239,
    _SC_V7_LPBIG_OFFBIG___227 = 240,
    _SC_SS_REPL_MAX___227 = 241,
    _SC_TRACE_EVENT_NAME_MAX___227 = 242,
    _SC_TRACE_NAME_MAX___227 = 243,
    _SC_TRACE_SYS_MAX___227 = 244,
    _SC_TRACE_USER_EVENT_MAX___227 = 245,
    _SC_XOPEN_STREAMS___227 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___227 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___227 = 248
} ;
enum __anonenum_875524036___227 {
    _CS_PATH___227 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___227 = 1,
    _CS_GNU_LIBC_VERSION___227 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___227 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___227 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___227 = 5,
    _CS_LFS_CFLAGS___227 = 1000,
    _CS_LFS_LDFLAGS___227 = 1001,
    _CS_LFS_LIBS___227 = 1002,
    _CS_LFS_LINTFLAGS___227 = 1003,
    _CS_LFS64_CFLAGS___227 = 1004,
    _CS_LFS64_LDFLAGS___227 = 1005,
    _CS_LFS64_LIBS___227 = 1006,
    _CS_LFS64_LINTFLAGS___227 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___227 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___227 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___227 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___227 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___227 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___227 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___227 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___227 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___227 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___227 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___227 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___227 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___227 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___227 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___227 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___227 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___227 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___227 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___227 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___227 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___227 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___227 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___227 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___227 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___227 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___227 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___227 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___227 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___227 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___227 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___227 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___227 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___227 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___227 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___227 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___227 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___227 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___227 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___227 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___227 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___227 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___227 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___227 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___227 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___227 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___227 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___227 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___227 = 1147,
    _CS_V6_ENV___227 = 1148,
    _CS_V7_ENV___227 = 1149
} ;
enum __anonenum_513775621___227 {
    DT_UNKNOWN___227 = 0,
    DT_FIFO___227 = 1,
    DT_CHR___227 = 2,
    DT_DIR___227 = 4,
    DT_BLK___227 = 6,
    DT_REG___227 = 8,
    DT_LNK___227 = 10,
    DT_SOCK___227 = 12,
    DT_WHT___227 = 14
} ;
enum __anonenum_77002343___227 {
    SI_ASYNCNL___227 = -60,
    SI_TKILL___227 = -6,
    SI_SIGIO___227 = -5,
    SI_ASYNCIO___227 = -4,
    SI_MESGQ___227 = -3,
    SI_TIMER___227 = -2,
    SI_QUEUE___227 = -1,
    SI_USER___227 = 0,
    SI_KERNEL___227 = 128
} ;
enum __anonenum_131038172___227 {
    ILL_ILLOPC___227 = 1,
    ILL_ILLOPN___227 = 2,
    ILL_ILLADR___227 = 3,
    ILL_ILLTRP___227 = 4,
    ILL_PRVOPC___227 = 5,
    ILL_PRVREG___227 = 6,
    ILL_COPROC___227 = 7,
    ILL_BADSTK___227 = 8
} ;
enum __anonenum_452038093___227 {
    FPE_INTDIV___227 = 1,
    FPE_INTOVF___227 = 2,
    FPE_FLTDIV___227 = 3,
    FPE_FLTOVF___227 = 4,
    FPE_FLTUND___227 = 5,
    FPE_FLTRES___227 = 6,
    FPE_FLTINV___227 = 7,
    FPE_FLTSUB___227 = 8
} ;
enum __anonenum_30976155___227 {
    SEGV_MAPERR___227 = 1,
    SEGV_ACCERR___227 = 2,
    SEGV_BNDERR___227 = 3,
    SEGV_PKUERR___227 = 4
} ;
enum __anonenum_1036286214___227 {
    BUS_ADRALN___227 = 1,
    BUS_ADRERR___227 = 2,
    BUS_OBJERR___227 = 3,
    BUS_MCEERR_AR___227 = 4,
    BUS_MCEERR_AO___227 = 5
} ;
enum __anonenum_493465559___227 {
    TRAP_BRKPT___227 = 1,
    TRAP_TRACE___227 = 2
} ;
enum __anonenum_23175539___227 {
    CLD_EXITED___227 = 1,
    CLD_KILLED___227 = 2,
    CLD_DUMPED___227 = 3,
    CLD_TRAPPED___227 = 4,
    CLD_STOPPED___227 = 5,
    CLD_CONTINUED___227 = 6
} ;
enum __anonenum_111643124___227 {
    POLL_IN___227 = 1,
    POLL_OUT___227 = 2,
    POLL_MSG___227 = 3,
    POLL_ERR___227 = 4,
    POLL_PRI___227 = 5,
    POLL_HUP___227 = 6
} ;
enum __anonenum_852341087___227 {
    SIGEV_SIGNAL___227 = 0,
    SIGEV_NONE___227 = 1,
    SIGEV_THREAD___227 = 2,
    SIGEV_THREAD_ID___227 = 4
} ;
enum __anonenum_451154152___227 {
    REG_R8___227 = 0,
    REG_R9___227 = 1,
    REG_R10___227 = 2,
    REG_R11___227 = 3,
    REG_R12___227 = 4,
    REG_R13___227 = 5,
    REG_R14___227 = 6,
    REG_R15___227 = 7,
    REG_RDI___227 = 8,
    REG_RSI___227 = 9,
    REG_RBP___227 = 10,
    REG_RBX___227 = 11,
    REG_RDX___227 = 12,
    REG_RAX___227 = 13,
    REG_RCX___227 = 14,
    REG_RSP___227 = 15,
    REG_RIP___227 = 16,
    REG_EFL___227 = 17,
    REG_CSGSFS___227 = 18,
    REG_ERR___227 = 19,
    REG_TRAPNO___227 = 20,
    REG_OLDMASK___227 = 21,
    REG_CR2___227 = 22
} ;
enum __anonenum_57186863___227 {
    SS_ONSTACK___227 = 1,
    SS_DISABLE___227 = 2
} ;
enum __anonenum_83571709___227 {
    MSG_OOB___227 = 1,
    MSG_PEEK___227 = 2,
    MSG_DONTROUTE___227 = 4,
    MSG_TRYHARD___227 = 4,
    MSG_CTRUNC___227 = 8,
    MSG_PROXY___227 = 16,
    MSG_TRUNC___227 = 32,
    MSG_DONTWAIT___227 = 64,
    MSG_EOR___227 = 128,
    MSG_WAITALL___227 = 256,
    MSG_FIN___227 = 512,
    MSG_SYN___227 = 1024,
    MSG_CONFIRM___227 = 2048,
    MSG_RST___227 = 4096,
    MSG_ERRQUEUE___227 = 8192,
    MSG_NOSIGNAL___227 = 16384,
    MSG_MORE___227 = 32768,
    MSG_WAITFORONE___227 = 65536,
    MSG_BATCH___227 = 262144,
    MSG_ZEROCOPY___227 = 67108864,
    MSG_FASTOPEN___227 = 536870912,
    MSG_CMSG_CLOEXEC___227 = 1073741824
} ;
enum __anonenum_617082774___227 {
    SCM_RIGHTS___227 = 1,
    SCM_CREDENTIALS___227 = 2
} ;
enum __anonenum_606441560___227 {
    SHUT_RD___227 = 0,
    SHUT_WR___227 = 1,
    SHUT_RDWR___227 = 2
} ;
enum __anonenum_681669233___227 {
    IPPROTO_IP___227 = 0,
    IPPROTO_ICMP___227 = 1,
    IPPROTO_IGMP___227 = 2,
    IPPROTO_IPIP___227 = 4,
    IPPROTO_TCP___227 = 6,
    IPPROTO_EGP___227 = 8,
    IPPROTO_PUP___227 = 12,
    IPPROTO_UDP___227 = 17,
    IPPROTO_IDP___227 = 22,
    IPPROTO_TP___227 = 29,
    IPPROTO_DCCP___227 = 33,
    IPPROTO_IPV6___227 = 41,
    IPPROTO_RSVP___227 = 46,
    IPPROTO_GRE___227 = 47,
    IPPROTO_ESP___227 = 50,
    IPPROTO_AH___227 = 51,
    IPPROTO_MTP___227 = 92,
    IPPROTO_BEETPH___227 = 94,
    IPPROTO_ENCAP___227 = 98,
    IPPROTO_PIM___227 = 103,
    IPPROTO_COMP___227 = 108,
    IPPROTO_SCTP___227 = 132,
    IPPROTO_UDPLITE___227 = 136,
    IPPROTO_MPLS___227 = 137,
    IPPROTO_RAW___227 = 255,
    IPPROTO_MAX___227 = 256
} ;
enum __anonenum_218739988___227 {
    IPPROTO_HOPOPTS___227 = 0,
    IPPROTO_ROUTING___227 = 43,
    IPPROTO_FRAGMENT___227 = 44,
    IPPROTO_ICMPV6___227 = 58,
    IPPROTO_NONE___227 = 59,
    IPPROTO_DSTOPTS___227 = 60,
    IPPROTO_MH___227 = 135
} ;
enum __anonenum_662268580___227 {
    IPPORT_ECHO___227 = 7,
    IPPORT_DISCARD___227 = 9,
    IPPORT_SYSTAT___227 = 11,
    IPPORT_DAYTIME___227 = 13,
    IPPORT_NETSTAT___227 = 15,
    IPPORT_FTP___227 = 21,
    IPPORT_TELNET___227 = 23,
    IPPORT_SMTP___227 = 25,
    IPPORT_TIMESERVER___227 = 37,
    IPPORT_NAMESERVER___227 = 42,
    IPPORT_WHOIS___227 = 43,
    IPPORT_MTP___227 = 57,
    IPPORT_TFTP___227 = 69,
    IPPORT_RJE___227 = 77,
    IPPORT_FINGER___227 = 79,
    IPPORT_TTYLINK___227 = 87,
    IPPORT_SUPDUP___227 = 95,
    IPPORT_EXECSERVER___227 = 512,
    IPPORT_LOGINSERVER___227 = 513,
    IPPORT_CMDSERVER___227 = 514,
    IPPORT_EFSSERVER___227 = 520,
    IPPORT_BIFFUDP___227 = 512,
    IPPORT_WHOSERVER___227 = 513,
    IPPORT_ROUTESERVER___227 = 520,
    IPPORT_RESERVED___227 = 1024,
    IPPORT_USERRESERVED___227 = 5000
} ;
enum __anonenum_788308992___227 {
    TCP_ESTABLISHED___227 = 1,
    TCP_SYN_SENT___227 = 2,
    TCP_SYN_RECV___227 = 3,
    TCP_FIN_WAIT1___227 = 4,
    TCP_FIN_WAIT2___227 = 5,
    TCP_TIME_WAIT___227 = 6,
    TCP_CLOSE___227 = 7,
    TCP_CLOSE_WAIT___227 = 8,
    TCP_LAST_ACK___227 = 9,
    TCP_LISTEN___227 = 10,
    TCP_CLOSING___227 = 11
} ;
enum __anonenum_221125648___227 {
    TCP_NO_QUEUE___227 = 0,
    TCP_RECV_QUEUE___227 = 1,
    TCP_SEND_QUEUE___227 = 2,
    TCP_QUEUES_NR___227 = 3
} ;
enum __anonenum_34415463___227 {
    PTHREAD_CREATE_JOINABLE___227 = 0,
    PTHREAD_CREATE_DETACHED___227 = 1
} ;
enum __anonenum_303612439___227 {
    PTHREAD_MUTEX_TIMED_NP___227 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___227 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___227 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___227 = 3,
    PTHREAD_MUTEX_NORMAL___227 = 0,
    PTHREAD_MUTEX_RECURSIVE___227 = 1,
    PTHREAD_MUTEX_ERRORCHECK___227 = 2,
    PTHREAD_MUTEX_DEFAULT___227 = 0,
    PTHREAD_MUTEX_FAST_NP___227 = 0
} ;
enum __anonenum_931900394___227 {
    PTHREAD_MUTEX_STALLED___227 = 0,
    PTHREAD_MUTEX_STALLED_NP___227 = 0,
    PTHREAD_MUTEX_ROBUST___227 = 1,
    PTHREAD_MUTEX_ROBUST_NP___227 = 1
} ;
enum __anonenum_205214487___227 {
    PTHREAD_PRIO_NONE___227 = 0,
    PTHREAD_PRIO_INHERIT___227 = 1,
    PTHREAD_PRIO_PROTECT___227 = 2
} ;
enum __anonenum_25043950___227 {
    PTHREAD_RWLOCK_PREFER_READER_NP___227 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___227 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___227 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___227 = 0
} ;
enum __anonenum_436439511___227 {
    PTHREAD_INHERIT_SCHED___227 = 0,
    PTHREAD_EXPLICIT_SCHED___227 = 1
} ;
enum __anonenum_998661166___227 {
    PTHREAD_SCOPE_SYSTEM___227 = 0,
    PTHREAD_SCOPE_PROCESS___227 = 1
} ;
enum __anonenum_146137331___227 {
    PTHREAD_PROCESS_PRIVATE___227 = 0,
    PTHREAD_PROCESS_SHARED___227 = 1
} ;
enum __anonenum_53396917___227 {
    PTHREAD_CANCEL_ENABLE___227 = 0,
    PTHREAD_CANCEL_DISABLE___227 = 1
} ;
enum __anonenum_904563783___227 {
    PTHREAD_CANCEL_DEFERRED___227 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___227 = 1
} ;
enum __anonenum_672052974___227 {
    SSL_CT_VALIDATION_PERMISSIVE___227 = 0,
    SSL_CT_VALIDATION_STRICT___227 = 1
} ;
enum __anonenum_437032235___228 {
    _PC_LINK_MAX___228 = 0,
    _PC_MAX_CANON___228 = 1,
    _PC_MAX_INPUT___228 = 2,
    _PC_NAME_MAX___228 = 3,
    _PC_PATH_MAX___228 = 4,
    _PC_PIPE_BUF___228 = 5,
    _PC_CHOWN_RESTRICTED___228 = 6,
    _PC_NO_TRUNC___228 = 7,
    _PC_VDISABLE___228 = 8,
    _PC_SYNC_IO___228 = 9,
    _PC_ASYNC_IO___228 = 10,
    _PC_PRIO_IO___228 = 11,
    _PC_SOCK_MAXBUF___228 = 12,
    _PC_FILESIZEBITS___228 = 13,
    _PC_REC_INCR_XFER_SIZE___228 = 14,
    _PC_REC_MAX_XFER_SIZE___228 = 15,
    _PC_REC_MIN_XFER_SIZE___228 = 16,
    _PC_REC_XFER_ALIGN___228 = 17,
    _PC_ALLOC_SIZE_MIN___228 = 18,
    _PC_SYMLINK_MAX___228 = 19,
    _PC_2_SYMLINKS___228 = 20
} ;
enum __anonenum_315186338___228 {
    _SC_ARG_MAX___228 = 0,
    _SC_CHILD_MAX___228 = 1,
    _SC_CLK_TCK___228 = 2,
    _SC_NGROUPS_MAX___228 = 3,
    _SC_OPEN_MAX___228 = 4,
    _SC_STREAM_MAX___228 = 5,
    _SC_TZNAME_MAX___228 = 6,
    _SC_JOB_CONTROL___228 = 7,
    _SC_SAVED_IDS___228 = 8,
    _SC_REALTIME_SIGNALS___228 = 9,
    _SC_PRIORITY_SCHEDULING___228 = 10,
    _SC_TIMERS___228 = 11,
    _SC_ASYNCHRONOUS_IO___228 = 12,
    _SC_PRIORITIZED_IO___228 = 13,
    _SC_SYNCHRONIZED_IO___228 = 14,
    _SC_FSYNC___228 = 15,
    _SC_MAPPED_FILES___228 = 16,
    _SC_MEMLOCK___228 = 17,
    _SC_MEMLOCK_RANGE___228 = 18,
    _SC_MEMORY_PROTECTION___228 = 19,
    _SC_MESSAGE_PASSING___228 = 20,
    _SC_SEMAPHORES___228 = 21,
    _SC_SHARED_MEMORY_OBJECTS___228 = 22,
    _SC_AIO_LISTIO_MAX___228 = 23,
    _SC_AIO_MAX___228 = 24,
    _SC_AIO_PRIO_DELTA_MAX___228 = 25,
    _SC_DELAYTIMER_MAX___228 = 26,
    _SC_MQ_OPEN_MAX___228 = 27,
    _SC_MQ_PRIO_MAX___228 = 28,
    _SC_VERSION___228 = 29,
    _SC_PAGESIZE___228 = 30,
    _SC_RTSIG_MAX___228 = 31,
    _SC_SEM_NSEMS_MAX___228 = 32,
    _SC_SEM_VALUE_MAX___228 = 33,
    _SC_SIGQUEUE_MAX___228 = 34,
    _SC_TIMER_MAX___228 = 35,
    _SC_BC_BASE_MAX___228 = 36,
    _SC_BC_DIM_MAX___228 = 37,
    _SC_BC_SCALE_MAX___228 = 38,
    _SC_BC_STRING_MAX___228 = 39,
    _SC_COLL_WEIGHTS_MAX___228 = 40,
    _SC_EQUIV_CLASS_MAX___228 = 41,
    _SC_EXPR_NEST_MAX___228 = 42,
    _SC_LINE_MAX___228 = 43,
    _SC_RE_DUP_MAX___228 = 44,
    _SC_CHARCLASS_NAME_MAX___228 = 45,
    _SC_2_VERSION___228 = 46,
    _SC_2_C_BIND___228 = 47,
    _SC_2_C_DEV___228 = 48,
    _SC_2_FORT_DEV___228 = 49,
    _SC_2_FORT_RUN___228 = 50,
    _SC_2_SW_DEV___228 = 51,
    _SC_2_LOCALEDEF___228 = 52,
    _SC_PII___228 = 53,
    _SC_PII_XTI___228 = 54,
    _SC_PII_SOCKET___228 = 55,
    _SC_PII_INTERNET___228 = 56,
    _SC_PII_OSI___228 = 57,
    _SC_POLL___228 = 58,
    _SC_SELECT___228 = 59,
    _SC_UIO_MAXIOV___228 = 60,
    _SC_IOV_MAX___228 = 60,
    _SC_PII_INTERNET_STREAM___228 = 61,
    _SC_PII_INTERNET_DGRAM___228 = 62,
    _SC_PII_OSI_COTS___228 = 63,
    _SC_PII_OSI_CLTS___228 = 64,
    _SC_PII_OSI_M___228 = 65,
    _SC_T_IOV_MAX___228 = 66,
    _SC_THREADS___228 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___228 = 68,
    _SC_GETGR_R_SIZE_MAX___228 = 69,
    _SC_GETPW_R_SIZE_MAX___228 = 70,
    _SC_LOGIN_NAME_MAX___228 = 71,
    _SC_TTY_NAME_MAX___228 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___228 = 73,
    _SC_THREAD_KEYS_MAX___228 = 74,
    _SC_THREAD_STACK_MIN___228 = 75,
    _SC_THREAD_THREADS_MAX___228 = 76,
    _SC_THREAD_ATTR_STACKADDR___228 = 77,
    _SC_THREAD_ATTR_STACKSIZE___228 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___228 = 79,
    _SC_THREAD_PRIO_INHERIT___228 = 80,
    _SC_THREAD_PRIO_PROTECT___228 = 81,
    _SC_THREAD_PROCESS_SHARED___228 = 82,
    _SC_NPROCESSORS_CONF___228 = 83,
    _SC_NPROCESSORS_ONLN___228 = 84,
    _SC_PHYS_PAGES___228 = 85,
    _SC_AVPHYS_PAGES___228 = 86,
    _SC_ATEXIT_MAX___228 = 87,
    _SC_PASS_MAX___228 = 88,
    _SC_XOPEN_VERSION___228 = 89,
    _SC_XOPEN_XCU_VERSION___228 = 90,
    _SC_XOPEN_UNIX___228 = 91,
    _SC_XOPEN_CRYPT___228 = 92,
    _SC_XOPEN_ENH_I18N___228 = 93,
    _SC_XOPEN_SHM___228 = 94,
    _SC_2_CHAR_TERM___228 = 95,
    _SC_2_C_VERSION___228 = 96,
    _SC_2_UPE___228 = 97,
    _SC_XOPEN_XPG2___228 = 98,
    _SC_XOPEN_XPG3___228 = 99,
    _SC_XOPEN_XPG4___228 = 100,
    _SC_CHAR_BIT___228 = 101,
    _SC_CHAR_MAX___228 = 102,
    _SC_CHAR_MIN___228 = 103,
    _SC_INT_MAX___228 = 104,
    _SC_INT_MIN___228 = 105,
    _SC_LONG_BIT___228 = 106,
    _SC_WORD_BIT___228 = 107,
    _SC_MB_LEN_MAX___228 = 108,
    _SC_NZERO___228 = 109,
    _SC_SSIZE_MAX___228 = 110,
    _SC_SCHAR_MAX___228 = 111,
    _SC_SCHAR_MIN___228 = 112,
    _SC_SHRT_MAX___228 = 113,
    _SC_SHRT_MIN___228 = 114,
    _SC_UCHAR_MAX___228 = 115,
    _SC_UINT_MAX___228 = 116,
    _SC_ULONG_MAX___228 = 117,
    _SC_USHRT_MAX___228 = 118,
    _SC_NL_ARGMAX___228 = 119,
    _SC_NL_LANGMAX___228 = 120,
    _SC_NL_MSGMAX___228 = 121,
    _SC_NL_NMAX___228 = 122,
    _SC_NL_SETMAX___228 = 123,
    _SC_NL_TEXTMAX___228 = 124,
    _SC_XBS5_ILP32_OFF32___228 = 125,
    _SC_XBS5_ILP32_OFFBIG___228 = 126,
    _SC_XBS5_LP64_OFF64___228 = 127,
    _SC_XBS5_LPBIG_OFFBIG___228 = 128,
    _SC_XOPEN_LEGACY___228 = 129,
    _SC_XOPEN_REALTIME___228 = 130,
    _SC_XOPEN_REALTIME_THREADS___228 = 131,
    _SC_ADVISORY_INFO___228 = 132,
    _SC_BARRIERS___228 = 133,
    _SC_BASE___228 = 134,
    _SC_C_LANG_SUPPORT___228 = 135,
    _SC_C_LANG_SUPPORT_R___228 = 136,
    _SC_CLOCK_SELECTION___228 = 137,
    _SC_CPUTIME___228 = 138,
    _SC_THREAD_CPUTIME___228 = 139,
    _SC_DEVICE_IO___228 = 140,
    _SC_DEVICE_SPECIFIC___228 = 141,
    _SC_DEVICE_SPECIFIC_R___228 = 142,
    _SC_FD_MGMT___228 = 143,
    _SC_FIFO___228 = 144,
    _SC_PIPE___228 = 145,
    _SC_FILE_ATTRIBUTES___228 = 146,
    _SC_FILE_LOCKING___228 = 147,
    _SC_FILE_SYSTEM___228 = 148,
    _SC_MONOTONIC_CLOCK___228 = 149,
    _SC_MULTI_PROCESS___228 = 150,
    _SC_SINGLE_PROCESS___228 = 151,
    _SC_NETWORKING___228 = 152,
    _SC_READER_WRITER_LOCKS___228 = 153,
    _SC_SPIN_LOCKS___228 = 154,
    _SC_REGEXP___228 = 155,
    _SC_REGEX_VERSION___228 = 156,
    _SC_SHELL___228 = 157,
    _SC_SIGNALS___228 = 158,
    _SC_SPAWN___228 = 159,
    _SC_SPORADIC_SERVER___228 = 160,
    _SC_THREAD_SPORADIC_SERVER___228 = 161,
    _SC_SYSTEM_DATABASE___228 = 162,
    _SC_SYSTEM_DATABASE_R___228 = 163,
    _SC_TIMEOUTS___228 = 164,
    _SC_TYPED_MEMORY_OBJECTS___228 = 165,
    _SC_USER_GROUPS___228 = 166,
    _SC_USER_GROUPS_R___228 = 167,
    _SC_2_PBS___228 = 168,
    _SC_2_PBS_ACCOUNTING___228 = 169,
    _SC_2_PBS_LOCATE___228 = 170,
    _SC_2_PBS_MESSAGE___228 = 171,
    _SC_2_PBS_TRACK___228 = 172,
    _SC_SYMLOOP_MAX___228 = 173,
    _SC_STREAMS___228 = 174,
    _SC_2_PBS_CHECKPOINT___228 = 175,
    _SC_V6_ILP32_OFF32___228 = 176,
    _SC_V6_ILP32_OFFBIG___228 = 177,
    _SC_V6_LP64_OFF64___228 = 178,
    _SC_V6_LPBIG_OFFBIG___228 = 179,
    _SC_HOST_NAME_MAX___228 = 180,
    _SC_TRACE___228 = 181,
    _SC_TRACE_EVENT_FILTER___228 = 182,
    _SC_TRACE_INHERIT___228 = 183,
    _SC_TRACE_LOG___228 = 184,
    _SC_LEVEL1_ICACHE_SIZE___228 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___228 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___228 = 187,
    _SC_LEVEL1_DCACHE_SIZE___228 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___228 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___228 = 190,
    _SC_LEVEL2_CACHE_SIZE___228 = 191,
    _SC_LEVEL2_CACHE_ASSOC___228 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___228 = 193,
    _SC_LEVEL3_CACHE_SIZE___228 = 194,
    _SC_LEVEL3_CACHE_ASSOC___228 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___228 = 196,
    _SC_LEVEL4_CACHE_SIZE___228 = 197,
    _SC_LEVEL4_CACHE_ASSOC___228 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___228 = 199,
    _SC_IPV6___228 = 235,
    _SC_RAW_SOCKETS___228 = 236,
    _SC_V7_ILP32_OFF32___228 = 237,
    _SC_V7_ILP32_OFFBIG___228 = 238,
    _SC_V7_LP64_OFF64___228 = 239,
    _SC_V7_LPBIG_OFFBIG___228 = 240,
    _SC_SS_REPL_MAX___228 = 241,
    _SC_TRACE_EVENT_NAME_MAX___228 = 242,
    _SC_TRACE_NAME_MAX___228 = 243,
    _SC_TRACE_SYS_MAX___228 = 244,
    _SC_TRACE_USER_EVENT_MAX___228 = 245,
    _SC_XOPEN_STREAMS___228 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___228 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___228 = 248
} ;
enum __anonenum_875524036___228 {
    _CS_PATH___228 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___228 = 1,
    _CS_GNU_LIBC_VERSION___228 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___228 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___228 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___228 = 5,
    _CS_LFS_CFLAGS___228 = 1000,
    _CS_LFS_LDFLAGS___228 = 1001,
    _CS_LFS_LIBS___228 = 1002,
    _CS_LFS_LINTFLAGS___228 = 1003,
    _CS_LFS64_CFLAGS___228 = 1004,
    _CS_LFS64_LDFLAGS___228 = 1005,
    _CS_LFS64_LIBS___228 = 1006,
    _CS_LFS64_LINTFLAGS___228 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___228 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___228 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___228 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___228 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___228 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___228 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___228 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___228 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___228 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___228 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___228 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___228 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___228 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___228 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___228 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___228 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___228 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___228 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___228 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___228 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___228 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___228 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___228 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___228 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___228 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___228 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___228 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___228 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___228 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___228 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___228 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___228 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___228 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___228 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___228 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___228 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___228 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___228 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___228 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___228 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___228 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___228 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___228 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___228 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___228 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___228 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___228 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___228 = 1147,
    _CS_V6_ENV___228 = 1148,
    _CS_V7_ENV___228 = 1149
} ;
enum __anonenum_513775621___228 {
    DT_UNKNOWN___228 = 0,
    DT_FIFO___228 = 1,
    DT_CHR___228 = 2,
    DT_DIR___228 = 4,
    DT_BLK___228 = 6,
    DT_REG___228 = 8,
    DT_LNK___228 = 10,
    DT_SOCK___228 = 12,
    DT_WHT___228 = 14
} ;
enum __anonenum_77002343___228 {
    SI_ASYNCNL___228 = -60,
    SI_TKILL___228 = -6,
    SI_SIGIO___228 = -5,
    SI_ASYNCIO___228 = -4,
    SI_MESGQ___228 = -3,
    SI_TIMER___228 = -2,
    SI_QUEUE___228 = -1,
    SI_USER___228 = 0,
    SI_KERNEL___228 = 128
} ;
enum __anonenum_131038172___228 {
    ILL_ILLOPC___228 = 1,
    ILL_ILLOPN___228 = 2,
    ILL_ILLADR___228 = 3,
    ILL_ILLTRP___228 = 4,
    ILL_PRVOPC___228 = 5,
    ILL_PRVREG___228 = 6,
    ILL_COPROC___228 = 7,
    ILL_BADSTK___228 = 8
} ;
enum __anonenum_452038093___228 {
    FPE_INTDIV___228 = 1,
    FPE_INTOVF___228 = 2,
    FPE_FLTDIV___228 = 3,
    FPE_FLTOVF___228 = 4,
    FPE_FLTUND___228 = 5,
    FPE_FLTRES___228 = 6,
    FPE_FLTINV___228 = 7,
    FPE_FLTSUB___228 = 8
} ;
enum __anonenum_30976155___228 {
    SEGV_MAPERR___228 = 1,
    SEGV_ACCERR___228 = 2,
    SEGV_BNDERR___228 = 3,
    SEGV_PKUERR___228 = 4
} ;
enum __anonenum_1036286214___228 {
    BUS_ADRALN___228 = 1,
    BUS_ADRERR___228 = 2,
    BUS_OBJERR___228 = 3,
    BUS_MCEERR_AR___228 = 4,
    BUS_MCEERR_AO___228 = 5
} ;
enum __anonenum_493465559___228 {
    TRAP_BRKPT___228 = 1,
    TRAP_TRACE___228 = 2
} ;
enum __anonenum_23175539___228 {
    CLD_EXITED___228 = 1,
    CLD_KILLED___228 = 2,
    CLD_DUMPED___228 = 3,
    CLD_TRAPPED___228 = 4,
    CLD_STOPPED___228 = 5,
    CLD_CONTINUED___228 = 6
} ;
enum __anonenum_111643124___228 {
    POLL_IN___228 = 1,
    POLL_OUT___228 = 2,
    POLL_MSG___228 = 3,
    POLL_ERR___228 = 4,
    POLL_PRI___228 = 5,
    POLL_HUP___228 = 6
} ;
enum __anonenum_852341087___228 {
    SIGEV_SIGNAL___228 = 0,
    SIGEV_NONE___228 = 1,
    SIGEV_THREAD___228 = 2,
    SIGEV_THREAD_ID___228 = 4
} ;
enum __anonenum_451154152___228 {
    REG_R8___228 = 0,
    REG_R9___228 = 1,
    REG_R10___228 = 2,
    REG_R11___228 = 3,
    REG_R12___228 = 4,
    REG_R13___228 = 5,
    REG_R14___228 = 6,
    REG_R15___228 = 7,
    REG_RDI___228 = 8,
    REG_RSI___228 = 9,
    REG_RBP___228 = 10,
    REG_RBX___228 = 11,
    REG_RDX___228 = 12,
    REG_RAX___228 = 13,
    REG_RCX___228 = 14,
    REG_RSP___228 = 15,
    REG_RIP___228 = 16,
    REG_EFL___228 = 17,
    REG_CSGSFS___228 = 18,
    REG_ERR___228 = 19,
    REG_TRAPNO___228 = 20,
    REG_OLDMASK___228 = 21,
    REG_CR2___228 = 22
} ;
enum __anonenum_57186863___228 {
    SS_ONSTACK___228 = 1,
    SS_DISABLE___228 = 2
} ;
enum __anonenum_83571709___228 {
    MSG_OOB___228 = 1,
    MSG_PEEK___228 = 2,
    MSG_DONTROUTE___228 = 4,
    MSG_TRYHARD___228 = 4,
    MSG_CTRUNC___228 = 8,
    MSG_PROXY___228 = 16,
    MSG_TRUNC___228 = 32,
    MSG_DONTWAIT___228 = 64,
    MSG_EOR___228 = 128,
    MSG_WAITALL___228 = 256,
    MSG_FIN___228 = 512,
    MSG_SYN___228 = 1024,
    MSG_CONFIRM___228 = 2048,
    MSG_RST___228 = 4096,
    MSG_ERRQUEUE___228 = 8192,
    MSG_NOSIGNAL___228 = 16384,
    MSG_MORE___228 = 32768,
    MSG_WAITFORONE___228 = 65536,
    MSG_BATCH___228 = 262144,
    MSG_ZEROCOPY___228 = 67108864,
    MSG_FASTOPEN___228 = 536870912,
    MSG_CMSG_CLOEXEC___228 = 1073741824
} ;
enum __anonenum_617082774___228 {
    SCM_RIGHTS___228 = 1,
    SCM_CREDENTIALS___228 = 2
} ;
enum __anonenum_606441560___228 {
    SHUT_RD___228 = 0,
    SHUT_WR___228 = 1,
    SHUT_RDWR___228 = 2
} ;
enum __anonenum_681669233___228 {
    IPPROTO_IP___228 = 0,
    IPPROTO_ICMP___228 = 1,
    IPPROTO_IGMP___228 = 2,
    IPPROTO_IPIP___228 = 4,
    IPPROTO_TCP___228 = 6,
    IPPROTO_EGP___228 = 8,
    IPPROTO_PUP___228 = 12,
    IPPROTO_UDP___228 = 17,
    IPPROTO_IDP___228 = 22,
    IPPROTO_TP___228 = 29,
    IPPROTO_DCCP___228 = 33,
    IPPROTO_IPV6___228 = 41,
    IPPROTO_RSVP___228 = 46,
    IPPROTO_GRE___228 = 47,
    IPPROTO_ESP___228 = 50,
    IPPROTO_AH___228 = 51,
    IPPROTO_MTP___228 = 92,
    IPPROTO_BEETPH___228 = 94,
    IPPROTO_ENCAP___228 = 98,
    IPPROTO_PIM___228 = 103,
    IPPROTO_COMP___228 = 108,
    IPPROTO_SCTP___228 = 132,
    IPPROTO_UDPLITE___228 = 136,
    IPPROTO_MPLS___228 = 137,
    IPPROTO_RAW___228 = 255,
    IPPROTO_MAX___228 = 256
} ;
enum __anonenum_218739988___228 {
    IPPROTO_HOPOPTS___228 = 0,
    IPPROTO_ROUTING___228 = 43,
    IPPROTO_FRAGMENT___228 = 44,
    IPPROTO_ICMPV6___228 = 58,
    IPPROTO_NONE___228 = 59,
    IPPROTO_DSTOPTS___228 = 60,
    IPPROTO_MH___228 = 135
} ;
enum __anonenum_662268580___228 {
    IPPORT_ECHO___228 = 7,
    IPPORT_DISCARD___228 = 9,
    IPPORT_SYSTAT___228 = 11,
    IPPORT_DAYTIME___228 = 13,
    IPPORT_NETSTAT___228 = 15,
    IPPORT_FTP___228 = 21,
    IPPORT_TELNET___228 = 23,
    IPPORT_SMTP___228 = 25,
    IPPORT_TIMESERVER___228 = 37,
    IPPORT_NAMESERVER___228 = 42,
    IPPORT_WHOIS___228 = 43,
    IPPORT_MTP___228 = 57,
    IPPORT_TFTP___228 = 69,
    IPPORT_RJE___228 = 77,
    IPPORT_FINGER___228 = 79,
    IPPORT_TTYLINK___228 = 87,
    IPPORT_SUPDUP___228 = 95,
    IPPORT_EXECSERVER___228 = 512,
    IPPORT_LOGINSERVER___228 = 513,
    IPPORT_CMDSERVER___228 = 514,
    IPPORT_EFSSERVER___228 = 520,
    IPPORT_BIFFUDP___228 = 512,
    IPPORT_WHOSERVER___228 = 513,
    IPPORT_ROUTESERVER___228 = 520,
    IPPORT_RESERVED___228 = 1024,
    IPPORT_USERRESERVED___228 = 5000
} ;
enum __anonenum_788308992___228 {
    TCP_ESTABLISHED___228 = 1,
    TCP_SYN_SENT___228 = 2,
    TCP_SYN_RECV___228 = 3,
    TCP_FIN_WAIT1___228 = 4,
    TCP_FIN_WAIT2___228 = 5,
    TCP_TIME_WAIT___228 = 6,
    TCP_CLOSE___228 = 7,
    TCP_CLOSE_WAIT___228 = 8,
    TCP_LAST_ACK___228 = 9,
    TCP_LISTEN___228 = 10,
    TCP_CLOSING___228 = 11
} ;
enum __anonenum_221125648___228 {
    TCP_NO_QUEUE___228 = 0,
    TCP_RECV_QUEUE___228 = 1,
    TCP_SEND_QUEUE___228 = 2,
    TCP_QUEUES_NR___228 = 3
} ;
enum __anonenum_34415463___228 {
    PTHREAD_CREATE_JOINABLE___228 = 0,
    PTHREAD_CREATE_DETACHED___228 = 1
} ;
enum __anonenum_303612439___228 {
    PTHREAD_MUTEX_TIMED_NP___228 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___228 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___228 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___228 = 3,
    PTHREAD_MUTEX_NORMAL___228 = 0,
    PTHREAD_MUTEX_RECURSIVE___228 = 1,
    PTHREAD_MUTEX_ERRORCHECK___228 = 2,
    PTHREAD_MUTEX_DEFAULT___228 = 0,
    PTHREAD_MUTEX_FAST_NP___228 = 0
} ;
enum __anonenum_931900394___228 {
    PTHREAD_MUTEX_STALLED___228 = 0,
    PTHREAD_MUTEX_STALLED_NP___228 = 0,
    PTHREAD_MUTEX_ROBUST___228 = 1,
    PTHREAD_MUTEX_ROBUST_NP___228 = 1
} ;
enum __anonenum_205214487___228 {
    PTHREAD_PRIO_NONE___228 = 0,
    PTHREAD_PRIO_INHERIT___228 = 1,
    PTHREAD_PRIO_PROTECT___228 = 2
} ;
enum __anonenum_25043950___228 {
    PTHREAD_RWLOCK_PREFER_READER_NP___228 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___228 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___228 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___228 = 0
} ;
enum __anonenum_436439511___228 {
    PTHREAD_INHERIT_SCHED___228 = 0,
    PTHREAD_EXPLICIT_SCHED___228 = 1
} ;
enum __anonenum_998661166___228 {
    PTHREAD_SCOPE_SYSTEM___228 = 0,
    PTHREAD_SCOPE_PROCESS___228 = 1
} ;
enum __anonenum_146137331___228 {
    PTHREAD_PROCESS_PRIVATE___228 = 0,
    PTHREAD_PROCESS_SHARED___228 = 1
} ;
enum __anonenum_53396917___228 {
    PTHREAD_CANCEL_ENABLE___228 = 0,
    PTHREAD_CANCEL_DISABLE___228 = 1
} ;
enum __anonenum_904563783___228 {
    PTHREAD_CANCEL_DEFERRED___228 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___228 = 1
} ;
enum __anonenum_672052974___228 {
    SSL_CT_VALIDATION_PERMISSIVE___228 = 0,
    SSL_CT_VALIDATION_STRICT___228 = 1
} ;
struct whitespace_rule {
   char const   *rule_name ;
   unsigned int rule_bits ;
   unsigned int loosens_error : 1 ;
   unsigned int exclude_default : 1 ;
};
enum __anonenum_437032235___229 {
    _PC_LINK_MAX___229 = 0,
    _PC_MAX_CANON___229 = 1,
    _PC_MAX_INPUT___229 = 2,
    _PC_NAME_MAX___229 = 3,
    _PC_PATH_MAX___229 = 4,
    _PC_PIPE_BUF___229 = 5,
    _PC_CHOWN_RESTRICTED___229 = 6,
    _PC_NO_TRUNC___229 = 7,
    _PC_VDISABLE___229 = 8,
    _PC_SYNC_IO___229 = 9,
    _PC_ASYNC_IO___229 = 10,
    _PC_PRIO_IO___229 = 11,
    _PC_SOCK_MAXBUF___229 = 12,
    _PC_FILESIZEBITS___229 = 13,
    _PC_REC_INCR_XFER_SIZE___229 = 14,
    _PC_REC_MAX_XFER_SIZE___229 = 15,
    _PC_REC_MIN_XFER_SIZE___229 = 16,
    _PC_REC_XFER_ALIGN___229 = 17,
    _PC_ALLOC_SIZE_MIN___229 = 18,
    _PC_SYMLINK_MAX___229 = 19,
    _PC_2_SYMLINKS___229 = 20
} ;
enum __anonenum_315186338___229 {
    _SC_ARG_MAX___229 = 0,
    _SC_CHILD_MAX___229 = 1,
    _SC_CLK_TCK___229 = 2,
    _SC_NGROUPS_MAX___229 = 3,
    _SC_OPEN_MAX___229 = 4,
    _SC_STREAM_MAX___229 = 5,
    _SC_TZNAME_MAX___229 = 6,
    _SC_JOB_CONTROL___229 = 7,
    _SC_SAVED_IDS___229 = 8,
    _SC_REALTIME_SIGNALS___229 = 9,
    _SC_PRIORITY_SCHEDULING___229 = 10,
    _SC_TIMERS___229 = 11,
    _SC_ASYNCHRONOUS_IO___229 = 12,
    _SC_PRIORITIZED_IO___229 = 13,
    _SC_SYNCHRONIZED_IO___229 = 14,
    _SC_FSYNC___229 = 15,
    _SC_MAPPED_FILES___229 = 16,
    _SC_MEMLOCK___229 = 17,
    _SC_MEMLOCK_RANGE___229 = 18,
    _SC_MEMORY_PROTECTION___229 = 19,
    _SC_MESSAGE_PASSING___229 = 20,
    _SC_SEMAPHORES___229 = 21,
    _SC_SHARED_MEMORY_OBJECTS___229 = 22,
    _SC_AIO_LISTIO_MAX___229 = 23,
    _SC_AIO_MAX___229 = 24,
    _SC_AIO_PRIO_DELTA_MAX___229 = 25,
    _SC_DELAYTIMER_MAX___229 = 26,
    _SC_MQ_OPEN_MAX___229 = 27,
    _SC_MQ_PRIO_MAX___229 = 28,
    _SC_VERSION___229 = 29,
    _SC_PAGESIZE___229 = 30,
    _SC_RTSIG_MAX___229 = 31,
    _SC_SEM_NSEMS_MAX___229 = 32,
    _SC_SEM_VALUE_MAX___229 = 33,
    _SC_SIGQUEUE_MAX___229 = 34,
    _SC_TIMER_MAX___229 = 35,
    _SC_BC_BASE_MAX___229 = 36,
    _SC_BC_DIM_MAX___229 = 37,
    _SC_BC_SCALE_MAX___229 = 38,
    _SC_BC_STRING_MAX___229 = 39,
    _SC_COLL_WEIGHTS_MAX___229 = 40,
    _SC_EQUIV_CLASS_MAX___229 = 41,
    _SC_EXPR_NEST_MAX___229 = 42,
    _SC_LINE_MAX___229 = 43,
    _SC_RE_DUP_MAX___229 = 44,
    _SC_CHARCLASS_NAME_MAX___229 = 45,
    _SC_2_VERSION___229 = 46,
    _SC_2_C_BIND___229 = 47,
    _SC_2_C_DEV___229 = 48,
    _SC_2_FORT_DEV___229 = 49,
    _SC_2_FORT_RUN___229 = 50,
    _SC_2_SW_DEV___229 = 51,
    _SC_2_LOCALEDEF___229 = 52,
    _SC_PII___229 = 53,
    _SC_PII_XTI___229 = 54,
    _SC_PII_SOCKET___229 = 55,
    _SC_PII_INTERNET___229 = 56,
    _SC_PII_OSI___229 = 57,
    _SC_POLL___229 = 58,
    _SC_SELECT___229 = 59,
    _SC_UIO_MAXIOV___229 = 60,
    _SC_IOV_MAX___229 = 60,
    _SC_PII_INTERNET_STREAM___229 = 61,
    _SC_PII_INTERNET_DGRAM___229 = 62,
    _SC_PII_OSI_COTS___229 = 63,
    _SC_PII_OSI_CLTS___229 = 64,
    _SC_PII_OSI_M___229 = 65,
    _SC_T_IOV_MAX___229 = 66,
    _SC_THREADS___229 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___229 = 68,
    _SC_GETGR_R_SIZE_MAX___229 = 69,
    _SC_GETPW_R_SIZE_MAX___229 = 70,
    _SC_LOGIN_NAME_MAX___229 = 71,
    _SC_TTY_NAME_MAX___229 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___229 = 73,
    _SC_THREAD_KEYS_MAX___229 = 74,
    _SC_THREAD_STACK_MIN___229 = 75,
    _SC_THREAD_THREADS_MAX___229 = 76,
    _SC_THREAD_ATTR_STACKADDR___229 = 77,
    _SC_THREAD_ATTR_STACKSIZE___229 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___229 = 79,
    _SC_THREAD_PRIO_INHERIT___229 = 80,
    _SC_THREAD_PRIO_PROTECT___229 = 81,
    _SC_THREAD_PROCESS_SHARED___229 = 82,
    _SC_NPROCESSORS_CONF___229 = 83,
    _SC_NPROCESSORS_ONLN___229 = 84,
    _SC_PHYS_PAGES___229 = 85,
    _SC_AVPHYS_PAGES___229 = 86,
    _SC_ATEXIT_MAX___229 = 87,
    _SC_PASS_MAX___229 = 88,
    _SC_XOPEN_VERSION___229 = 89,
    _SC_XOPEN_XCU_VERSION___229 = 90,
    _SC_XOPEN_UNIX___229 = 91,
    _SC_XOPEN_CRYPT___229 = 92,
    _SC_XOPEN_ENH_I18N___229 = 93,
    _SC_XOPEN_SHM___229 = 94,
    _SC_2_CHAR_TERM___229 = 95,
    _SC_2_C_VERSION___229 = 96,
    _SC_2_UPE___229 = 97,
    _SC_XOPEN_XPG2___229 = 98,
    _SC_XOPEN_XPG3___229 = 99,
    _SC_XOPEN_XPG4___229 = 100,
    _SC_CHAR_BIT___229 = 101,
    _SC_CHAR_MAX___229 = 102,
    _SC_CHAR_MIN___229 = 103,
    _SC_INT_MAX___229 = 104,
    _SC_INT_MIN___229 = 105,
    _SC_LONG_BIT___229 = 106,
    _SC_WORD_BIT___229 = 107,
    _SC_MB_LEN_MAX___229 = 108,
    _SC_NZERO___229 = 109,
    _SC_SSIZE_MAX___229 = 110,
    _SC_SCHAR_MAX___229 = 111,
    _SC_SCHAR_MIN___229 = 112,
    _SC_SHRT_MAX___229 = 113,
    _SC_SHRT_MIN___229 = 114,
    _SC_UCHAR_MAX___229 = 115,
    _SC_UINT_MAX___229 = 116,
    _SC_ULONG_MAX___229 = 117,
    _SC_USHRT_MAX___229 = 118,
    _SC_NL_ARGMAX___229 = 119,
    _SC_NL_LANGMAX___229 = 120,
    _SC_NL_MSGMAX___229 = 121,
    _SC_NL_NMAX___229 = 122,
    _SC_NL_SETMAX___229 = 123,
    _SC_NL_TEXTMAX___229 = 124,
    _SC_XBS5_ILP32_OFF32___229 = 125,
    _SC_XBS5_ILP32_OFFBIG___229 = 126,
    _SC_XBS5_LP64_OFF64___229 = 127,
    _SC_XBS5_LPBIG_OFFBIG___229 = 128,
    _SC_XOPEN_LEGACY___229 = 129,
    _SC_XOPEN_REALTIME___229 = 130,
    _SC_XOPEN_REALTIME_THREADS___229 = 131,
    _SC_ADVISORY_INFO___229 = 132,
    _SC_BARRIERS___229 = 133,
    _SC_BASE___229 = 134,
    _SC_C_LANG_SUPPORT___229 = 135,
    _SC_C_LANG_SUPPORT_R___229 = 136,
    _SC_CLOCK_SELECTION___229 = 137,
    _SC_CPUTIME___229 = 138,
    _SC_THREAD_CPUTIME___229 = 139,
    _SC_DEVICE_IO___229 = 140,
    _SC_DEVICE_SPECIFIC___229 = 141,
    _SC_DEVICE_SPECIFIC_R___229 = 142,
    _SC_FD_MGMT___229 = 143,
    _SC_FIFO___229 = 144,
    _SC_PIPE___229 = 145,
    _SC_FILE_ATTRIBUTES___229 = 146,
    _SC_FILE_LOCKING___229 = 147,
    _SC_FILE_SYSTEM___229 = 148,
    _SC_MONOTONIC_CLOCK___229 = 149,
    _SC_MULTI_PROCESS___229 = 150,
    _SC_SINGLE_PROCESS___229 = 151,
    _SC_NETWORKING___229 = 152,
    _SC_READER_WRITER_LOCKS___229 = 153,
    _SC_SPIN_LOCKS___229 = 154,
    _SC_REGEXP___229 = 155,
    _SC_REGEX_VERSION___229 = 156,
    _SC_SHELL___229 = 157,
    _SC_SIGNALS___229 = 158,
    _SC_SPAWN___229 = 159,
    _SC_SPORADIC_SERVER___229 = 160,
    _SC_THREAD_SPORADIC_SERVER___229 = 161,
    _SC_SYSTEM_DATABASE___229 = 162,
    _SC_SYSTEM_DATABASE_R___229 = 163,
    _SC_TIMEOUTS___229 = 164,
    _SC_TYPED_MEMORY_OBJECTS___229 = 165,
    _SC_USER_GROUPS___229 = 166,
    _SC_USER_GROUPS_R___229 = 167,
    _SC_2_PBS___229 = 168,
    _SC_2_PBS_ACCOUNTING___229 = 169,
    _SC_2_PBS_LOCATE___229 = 170,
    _SC_2_PBS_MESSAGE___229 = 171,
    _SC_2_PBS_TRACK___229 = 172,
    _SC_SYMLOOP_MAX___229 = 173,
    _SC_STREAMS___229 = 174,
    _SC_2_PBS_CHECKPOINT___229 = 175,
    _SC_V6_ILP32_OFF32___229 = 176,
    _SC_V6_ILP32_OFFBIG___229 = 177,
    _SC_V6_LP64_OFF64___229 = 178,
    _SC_V6_LPBIG_OFFBIG___229 = 179,
    _SC_HOST_NAME_MAX___229 = 180,
    _SC_TRACE___229 = 181,
    _SC_TRACE_EVENT_FILTER___229 = 182,
    _SC_TRACE_INHERIT___229 = 183,
    _SC_TRACE_LOG___229 = 184,
    _SC_LEVEL1_ICACHE_SIZE___229 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___229 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___229 = 187,
    _SC_LEVEL1_DCACHE_SIZE___229 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___229 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___229 = 190,
    _SC_LEVEL2_CACHE_SIZE___229 = 191,
    _SC_LEVEL2_CACHE_ASSOC___229 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___229 = 193,
    _SC_LEVEL3_CACHE_SIZE___229 = 194,
    _SC_LEVEL3_CACHE_ASSOC___229 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___229 = 196,
    _SC_LEVEL4_CACHE_SIZE___229 = 197,
    _SC_LEVEL4_CACHE_ASSOC___229 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___229 = 199,
    _SC_IPV6___229 = 235,
    _SC_RAW_SOCKETS___229 = 236,
    _SC_V7_ILP32_OFF32___229 = 237,
    _SC_V7_ILP32_OFFBIG___229 = 238,
    _SC_V7_LP64_OFF64___229 = 239,
    _SC_V7_LPBIG_OFFBIG___229 = 240,
    _SC_SS_REPL_MAX___229 = 241,
    _SC_TRACE_EVENT_NAME_MAX___229 = 242,
    _SC_TRACE_NAME_MAX___229 = 243,
    _SC_TRACE_SYS_MAX___229 = 244,
    _SC_TRACE_USER_EVENT_MAX___229 = 245,
    _SC_XOPEN_STREAMS___229 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___229 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___229 = 248
} ;
enum __anonenum_875524036___229 {
    _CS_PATH___229 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___229 = 1,
    _CS_GNU_LIBC_VERSION___229 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___229 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___229 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___229 = 5,
    _CS_LFS_CFLAGS___229 = 1000,
    _CS_LFS_LDFLAGS___229 = 1001,
    _CS_LFS_LIBS___229 = 1002,
    _CS_LFS_LINTFLAGS___229 = 1003,
    _CS_LFS64_CFLAGS___229 = 1004,
    _CS_LFS64_LDFLAGS___229 = 1005,
    _CS_LFS64_LIBS___229 = 1006,
    _CS_LFS64_LINTFLAGS___229 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___229 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___229 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___229 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___229 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___229 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___229 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___229 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___229 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___229 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___229 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___229 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___229 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___229 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___229 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___229 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___229 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___229 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___229 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___229 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___229 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___229 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___229 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___229 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___229 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___229 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___229 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___229 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___229 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___229 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___229 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___229 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___229 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___229 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___229 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___229 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___229 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___229 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___229 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___229 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___229 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___229 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___229 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___229 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___229 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___229 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___229 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___229 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___229 = 1147,
    _CS_V6_ENV___229 = 1148,
    _CS_V7_ENV___229 = 1149
} ;
enum __anonenum_513775621___229 {
    DT_UNKNOWN___229 = 0,
    DT_FIFO___229 = 1,
    DT_CHR___229 = 2,
    DT_DIR___229 = 4,
    DT_BLK___229 = 6,
    DT_REG___229 = 8,
    DT_LNK___229 = 10,
    DT_SOCK___229 = 12,
    DT_WHT___229 = 14
} ;
enum __anonenum_77002343___229 {
    SI_ASYNCNL___229 = -60,
    SI_TKILL___229 = -6,
    SI_SIGIO___229 = -5,
    SI_ASYNCIO___229 = -4,
    SI_MESGQ___229 = -3,
    SI_TIMER___229 = -2,
    SI_QUEUE___229 = -1,
    SI_USER___229 = 0,
    SI_KERNEL___229 = 128
} ;
enum __anonenum_131038172___229 {
    ILL_ILLOPC___229 = 1,
    ILL_ILLOPN___229 = 2,
    ILL_ILLADR___229 = 3,
    ILL_ILLTRP___229 = 4,
    ILL_PRVOPC___229 = 5,
    ILL_PRVREG___229 = 6,
    ILL_COPROC___229 = 7,
    ILL_BADSTK___229 = 8
} ;
enum __anonenum_452038093___229 {
    FPE_INTDIV___229 = 1,
    FPE_INTOVF___229 = 2,
    FPE_FLTDIV___229 = 3,
    FPE_FLTOVF___229 = 4,
    FPE_FLTUND___229 = 5,
    FPE_FLTRES___229 = 6,
    FPE_FLTINV___229 = 7,
    FPE_FLTSUB___229 = 8
} ;
enum __anonenum_30976155___229 {
    SEGV_MAPERR___229 = 1,
    SEGV_ACCERR___229 = 2,
    SEGV_BNDERR___229 = 3,
    SEGV_PKUERR___229 = 4
} ;
enum __anonenum_1036286214___229 {
    BUS_ADRALN___229 = 1,
    BUS_ADRERR___229 = 2,
    BUS_OBJERR___229 = 3,
    BUS_MCEERR_AR___229 = 4,
    BUS_MCEERR_AO___229 = 5
} ;
enum __anonenum_493465559___229 {
    TRAP_BRKPT___229 = 1,
    TRAP_TRACE___229 = 2
} ;
enum __anonenum_23175539___229 {
    CLD_EXITED___229 = 1,
    CLD_KILLED___229 = 2,
    CLD_DUMPED___229 = 3,
    CLD_TRAPPED___229 = 4,
    CLD_STOPPED___229 = 5,
    CLD_CONTINUED___229 = 6
} ;
enum __anonenum_111643124___229 {
    POLL_IN___229 = 1,
    POLL_OUT___229 = 2,
    POLL_MSG___229 = 3,
    POLL_ERR___229 = 4,
    POLL_PRI___229 = 5,
    POLL_HUP___229 = 6
} ;
enum __anonenum_852341087___229 {
    SIGEV_SIGNAL___229 = 0,
    SIGEV_NONE___229 = 1,
    SIGEV_THREAD___229 = 2,
    SIGEV_THREAD_ID___229 = 4
} ;
enum __anonenum_451154152___229 {
    REG_R8___229 = 0,
    REG_R9___229 = 1,
    REG_R10___229 = 2,
    REG_R11___229 = 3,
    REG_R12___229 = 4,
    REG_R13___229 = 5,
    REG_R14___229 = 6,
    REG_R15___229 = 7,
    REG_RDI___229 = 8,
    REG_RSI___229 = 9,
    REG_RBP___229 = 10,
    REG_RBX___229 = 11,
    REG_RDX___229 = 12,
    REG_RAX___229 = 13,
    REG_RCX___229 = 14,
    REG_RSP___229 = 15,
    REG_RIP___229 = 16,
    REG_EFL___229 = 17,
    REG_CSGSFS___229 = 18,
    REG_ERR___229 = 19,
    REG_TRAPNO___229 = 20,
    REG_OLDMASK___229 = 21,
    REG_CR2___229 = 22
} ;
enum __anonenum_57186863___229 {
    SS_ONSTACK___229 = 1,
    SS_DISABLE___229 = 2
} ;
enum __anonenum_83571709___229 {
    MSG_OOB___229 = 1,
    MSG_PEEK___229 = 2,
    MSG_DONTROUTE___229 = 4,
    MSG_TRYHARD___229 = 4,
    MSG_CTRUNC___229 = 8,
    MSG_PROXY___229 = 16,
    MSG_TRUNC___229 = 32,
    MSG_DONTWAIT___229 = 64,
    MSG_EOR___229 = 128,
    MSG_WAITALL___229 = 256,
    MSG_FIN___229 = 512,
    MSG_SYN___229 = 1024,
    MSG_CONFIRM___229 = 2048,
    MSG_RST___229 = 4096,
    MSG_ERRQUEUE___229 = 8192,
    MSG_NOSIGNAL___229 = 16384,
    MSG_MORE___229 = 32768,
    MSG_WAITFORONE___229 = 65536,
    MSG_BATCH___229 = 262144,
    MSG_ZEROCOPY___229 = 67108864,
    MSG_FASTOPEN___229 = 536870912,
    MSG_CMSG_CLOEXEC___229 = 1073741824
} ;
enum __anonenum_617082774___229 {
    SCM_RIGHTS___229 = 1,
    SCM_CREDENTIALS___229 = 2
} ;
enum __anonenum_606441560___229 {
    SHUT_RD___229 = 0,
    SHUT_WR___229 = 1,
    SHUT_RDWR___229 = 2
} ;
enum __anonenum_681669233___229 {
    IPPROTO_IP___229 = 0,
    IPPROTO_ICMP___229 = 1,
    IPPROTO_IGMP___229 = 2,
    IPPROTO_IPIP___229 = 4,
    IPPROTO_TCP___229 = 6,
    IPPROTO_EGP___229 = 8,
    IPPROTO_PUP___229 = 12,
    IPPROTO_UDP___229 = 17,
    IPPROTO_IDP___229 = 22,
    IPPROTO_TP___229 = 29,
    IPPROTO_DCCP___229 = 33,
    IPPROTO_IPV6___229 = 41,
    IPPROTO_RSVP___229 = 46,
    IPPROTO_GRE___229 = 47,
    IPPROTO_ESP___229 = 50,
    IPPROTO_AH___229 = 51,
    IPPROTO_MTP___229 = 92,
    IPPROTO_BEETPH___229 = 94,
    IPPROTO_ENCAP___229 = 98,
    IPPROTO_PIM___229 = 103,
    IPPROTO_COMP___229 = 108,
    IPPROTO_SCTP___229 = 132,
    IPPROTO_UDPLITE___229 = 136,
    IPPROTO_MPLS___229 = 137,
    IPPROTO_RAW___229 = 255,
    IPPROTO_MAX___229 = 256
} ;
enum __anonenum_218739988___229 {
    IPPROTO_HOPOPTS___229 = 0,
    IPPROTO_ROUTING___229 = 43,
    IPPROTO_FRAGMENT___229 = 44,
    IPPROTO_ICMPV6___229 = 58,
    IPPROTO_NONE___229 = 59,
    IPPROTO_DSTOPTS___229 = 60,
    IPPROTO_MH___229 = 135
} ;
enum __anonenum_662268580___229 {
    IPPORT_ECHO___229 = 7,
    IPPORT_DISCARD___229 = 9,
    IPPORT_SYSTAT___229 = 11,
    IPPORT_DAYTIME___229 = 13,
    IPPORT_NETSTAT___229 = 15,
    IPPORT_FTP___229 = 21,
    IPPORT_TELNET___229 = 23,
    IPPORT_SMTP___229 = 25,
    IPPORT_TIMESERVER___229 = 37,
    IPPORT_NAMESERVER___229 = 42,
    IPPORT_WHOIS___229 = 43,
    IPPORT_MTP___229 = 57,
    IPPORT_TFTP___229 = 69,
    IPPORT_RJE___229 = 77,
    IPPORT_FINGER___229 = 79,
    IPPORT_TTYLINK___229 = 87,
    IPPORT_SUPDUP___229 = 95,
    IPPORT_EXECSERVER___229 = 512,
    IPPORT_LOGINSERVER___229 = 513,
    IPPORT_CMDSERVER___229 = 514,
    IPPORT_EFSSERVER___229 = 520,
    IPPORT_BIFFUDP___229 = 512,
    IPPORT_WHOSERVER___229 = 513,
    IPPORT_ROUTESERVER___229 = 520,
    IPPORT_RESERVED___229 = 1024,
    IPPORT_USERRESERVED___229 = 5000
} ;
enum __anonenum_788308992___229 {
    TCP_ESTABLISHED___229 = 1,
    TCP_SYN_SENT___229 = 2,
    TCP_SYN_RECV___229 = 3,
    TCP_FIN_WAIT1___229 = 4,
    TCP_FIN_WAIT2___229 = 5,
    TCP_TIME_WAIT___229 = 6,
    TCP_CLOSE___229 = 7,
    TCP_CLOSE_WAIT___229 = 8,
    TCP_LAST_ACK___229 = 9,
    TCP_LISTEN___229 = 10,
    TCP_CLOSING___229 = 11
} ;
enum __anonenum_221125648___229 {
    TCP_NO_QUEUE___229 = 0,
    TCP_RECV_QUEUE___229 = 1,
    TCP_SEND_QUEUE___229 = 2,
    TCP_QUEUES_NR___229 = 3
} ;
enum __anonenum_34415463___229 {
    PTHREAD_CREATE_JOINABLE___229 = 0,
    PTHREAD_CREATE_DETACHED___229 = 1
} ;
enum __anonenum_303612439___229 {
    PTHREAD_MUTEX_TIMED_NP___229 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___229 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___229 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___229 = 3,
    PTHREAD_MUTEX_NORMAL___229 = 0,
    PTHREAD_MUTEX_RECURSIVE___229 = 1,
    PTHREAD_MUTEX_ERRORCHECK___229 = 2,
    PTHREAD_MUTEX_DEFAULT___229 = 0,
    PTHREAD_MUTEX_FAST_NP___229 = 0
} ;
enum __anonenum_931900394___229 {
    PTHREAD_MUTEX_STALLED___229 = 0,
    PTHREAD_MUTEX_STALLED_NP___229 = 0,
    PTHREAD_MUTEX_ROBUST___229 = 1,
    PTHREAD_MUTEX_ROBUST_NP___229 = 1
} ;
enum __anonenum_205214487___229 {
    PTHREAD_PRIO_NONE___229 = 0,
    PTHREAD_PRIO_INHERIT___229 = 1,
    PTHREAD_PRIO_PROTECT___229 = 2
} ;
enum __anonenum_25043950___229 {
    PTHREAD_RWLOCK_PREFER_READER_NP___229 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___229 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___229 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___229 = 0
} ;
enum __anonenum_436439511___229 {
    PTHREAD_INHERIT_SCHED___229 = 0,
    PTHREAD_EXPLICIT_SCHED___229 = 1
} ;
enum __anonenum_998661166___229 {
    PTHREAD_SCOPE_SYSTEM___229 = 0,
    PTHREAD_SCOPE_PROCESS___229 = 1
} ;
enum __anonenum_146137331___229 {
    PTHREAD_PROCESS_PRIVATE___229 = 0,
    PTHREAD_PROCESS_SHARED___229 = 1
} ;
enum __anonenum_53396917___229 {
    PTHREAD_CANCEL_ENABLE___229 = 0,
    PTHREAD_CANCEL_DISABLE___229 = 1
} ;
enum __anonenum_904563783___229 {
    PTHREAD_CANCEL_DEFERRED___229 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___229 = 1
} ;
enum __anonenum_672052974___229 {
    SSL_CT_VALIDATION_PERMISSIVE___229 = 0,
    SSL_CT_VALIDATION_STRICT___229 = 1
} ;
enum __anonenum_34023289___22 {
    REMOTE_UNCONFIGURED___22 = 0,
    REMOTE_CONFIG___22 = 1,
    REMOTE_REMOTES___22 = 2,
    REMOTE_BRANCHES___22 = 3
} ;
enum __anonenum_561748495___15 {
    RECURSE_SUBMODULES_ONLY___15 = -5,
    RECURSE_SUBMODULES_CHECK___15 = -4,
    RECURSE_SUBMODULES_ERROR___15 = -3,
    RECURSE_SUBMODULES_NONE___15 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___15 = -1,
    RECURSE_SUBMODULES_OFF___15 = 0,
    RECURSE_SUBMODULES_DEFAULT___15 = 1,
    RECURSE_SUBMODULES_ON___15 = 2
} ;
struct grab_1st_switch_cbdata {
   struct strbuf buf ;
   struct object_id noid ;
};
struct __anonstruct_stages_901461778 {
   int mode ;
   struct object_id oid ;
};
enum __anonenum_437032235___230 {
    _PC_LINK_MAX___230 = 0,
    _PC_MAX_CANON___230 = 1,
    _PC_MAX_INPUT___230 = 2,
    _PC_NAME_MAX___230 = 3,
    _PC_PATH_MAX___230 = 4,
    _PC_PIPE_BUF___230 = 5,
    _PC_CHOWN_RESTRICTED___230 = 6,
    _PC_NO_TRUNC___230 = 7,
    _PC_VDISABLE___230 = 8,
    _PC_SYNC_IO___230 = 9,
    _PC_ASYNC_IO___230 = 10,
    _PC_PRIO_IO___230 = 11,
    _PC_SOCK_MAXBUF___230 = 12,
    _PC_FILESIZEBITS___230 = 13,
    _PC_REC_INCR_XFER_SIZE___230 = 14,
    _PC_REC_MAX_XFER_SIZE___230 = 15,
    _PC_REC_MIN_XFER_SIZE___230 = 16,
    _PC_REC_XFER_ALIGN___230 = 17,
    _PC_ALLOC_SIZE_MIN___230 = 18,
    _PC_SYMLINK_MAX___230 = 19,
    _PC_2_SYMLINKS___230 = 20
} ;
enum __anonenum_315186338___230 {
    _SC_ARG_MAX___230 = 0,
    _SC_CHILD_MAX___230 = 1,
    _SC_CLK_TCK___230 = 2,
    _SC_NGROUPS_MAX___230 = 3,
    _SC_OPEN_MAX___230 = 4,
    _SC_STREAM_MAX___230 = 5,
    _SC_TZNAME_MAX___230 = 6,
    _SC_JOB_CONTROL___230 = 7,
    _SC_SAVED_IDS___230 = 8,
    _SC_REALTIME_SIGNALS___230 = 9,
    _SC_PRIORITY_SCHEDULING___230 = 10,
    _SC_TIMERS___230 = 11,
    _SC_ASYNCHRONOUS_IO___230 = 12,
    _SC_PRIORITIZED_IO___230 = 13,
    _SC_SYNCHRONIZED_IO___230 = 14,
    _SC_FSYNC___230 = 15,
    _SC_MAPPED_FILES___230 = 16,
    _SC_MEMLOCK___230 = 17,
    _SC_MEMLOCK_RANGE___230 = 18,
    _SC_MEMORY_PROTECTION___230 = 19,
    _SC_MESSAGE_PASSING___230 = 20,
    _SC_SEMAPHORES___230 = 21,
    _SC_SHARED_MEMORY_OBJECTS___230 = 22,
    _SC_AIO_LISTIO_MAX___230 = 23,
    _SC_AIO_MAX___230 = 24,
    _SC_AIO_PRIO_DELTA_MAX___230 = 25,
    _SC_DELAYTIMER_MAX___230 = 26,
    _SC_MQ_OPEN_MAX___230 = 27,
    _SC_MQ_PRIO_MAX___230 = 28,
    _SC_VERSION___230 = 29,
    _SC_PAGESIZE___230 = 30,
    _SC_RTSIG_MAX___230 = 31,
    _SC_SEM_NSEMS_MAX___230 = 32,
    _SC_SEM_VALUE_MAX___230 = 33,
    _SC_SIGQUEUE_MAX___230 = 34,
    _SC_TIMER_MAX___230 = 35,
    _SC_BC_BASE_MAX___230 = 36,
    _SC_BC_DIM_MAX___230 = 37,
    _SC_BC_SCALE_MAX___230 = 38,
    _SC_BC_STRING_MAX___230 = 39,
    _SC_COLL_WEIGHTS_MAX___230 = 40,
    _SC_EQUIV_CLASS_MAX___230 = 41,
    _SC_EXPR_NEST_MAX___230 = 42,
    _SC_LINE_MAX___230 = 43,
    _SC_RE_DUP_MAX___230 = 44,
    _SC_CHARCLASS_NAME_MAX___230 = 45,
    _SC_2_VERSION___230 = 46,
    _SC_2_C_BIND___230 = 47,
    _SC_2_C_DEV___230 = 48,
    _SC_2_FORT_DEV___230 = 49,
    _SC_2_FORT_RUN___230 = 50,
    _SC_2_SW_DEV___230 = 51,
    _SC_2_LOCALEDEF___230 = 52,
    _SC_PII___230 = 53,
    _SC_PII_XTI___230 = 54,
    _SC_PII_SOCKET___230 = 55,
    _SC_PII_INTERNET___230 = 56,
    _SC_PII_OSI___230 = 57,
    _SC_POLL___230 = 58,
    _SC_SELECT___230 = 59,
    _SC_UIO_MAXIOV___230 = 60,
    _SC_IOV_MAX___230 = 60,
    _SC_PII_INTERNET_STREAM___230 = 61,
    _SC_PII_INTERNET_DGRAM___230 = 62,
    _SC_PII_OSI_COTS___230 = 63,
    _SC_PII_OSI_CLTS___230 = 64,
    _SC_PII_OSI_M___230 = 65,
    _SC_T_IOV_MAX___230 = 66,
    _SC_THREADS___230 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___230 = 68,
    _SC_GETGR_R_SIZE_MAX___230 = 69,
    _SC_GETPW_R_SIZE_MAX___230 = 70,
    _SC_LOGIN_NAME_MAX___230 = 71,
    _SC_TTY_NAME_MAX___230 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___230 = 73,
    _SC_THREAD_KEYS_MAX___230 = 74,
    _SC_THREAD_STACK_MIN___230 = 75,
    _SC_THREAD_THREADS_MAX___230 = 76,
    _SC_THREAD_ATTR_STACKADDR___230 = 77,
    _SC_THREAD_ATTR_STACKSIZE___230 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___230 = 79,
    _SC_THREAD_PRIO_INHERIT___230 = 80,
    _SC_THREAD_PRIO_PROTECT___230 = 81,
    _SC_THREAD_PROCESS_SHARED___230 = 82,
    _SC_NPROCESSORS_CONF___230 = 83,
    _SC_NPROCESSORS_ONLN___230 = 84,
    _SC_PHYS_PAGES___230 = 85,
    _SC_AVPHYS_PAGES___230 = 86,
    _SC_ATEXIT_MAX___230 = 87,
    _SC_PASS_MAX___230 = 88,
    _SC_XOPEN_VERSION___230 = 89,
    _SC_XOPEN_XCU_VERSION___230 = 90,
    _SC_XOPEN_UNIX___230 = 91,
    _SC_XOPEN_CRYPT___230 = 92,
    _SC_XOPEN_ENH_I18N___230 = 93,
    _SC_XOPEN_SHM___230 = 94,
    _SC_2_CHAR_TERM___230 = 95,
    _SC_2_C_VERSION___230 = 96,
    _SC_2_UPE___230 = 97,
    _SC_XOPEN_XPG2___230 = 98,
    _SC_XOPEN_XPG3___230 = 99,
    _SC_XOPEN_XPG4___230 = 100,
    _SC_CHAR_BIT___230 = 101,
    _SC_CHAR_MAX___230 = 102,
    _SC_CHAR_MIN___230 = 103,
    _SC_INT_MAX___230 = 104,
    _SC_INT_MIN___230 = 105,
    _SC_LONG_BIT___230 = 106,
    _SC_WORD_BIT___230 = 107,
    _SC_MB_LEN_MAX___230 = 108,
    _SC_NZERO___230 = 109,
    _SC_SSIZE_MAX___230 = 110,
    _SC_SCHAR_MAX___230 = 111,
    _SC_SCHAR_MIN___230 = 112,
    _SC_SHRT_MAX___230 = 113,
    _SC_SHRT_MIN___230 = 114,
    _SC_UCHAR_MAX___230 = 115,
    _SC_UINT_MAX___230 = 116,
    _SC_ULONG_MAX___230 = 117,
    _SC_USHRT_MAX___230 = 118,
    _SC_NL_ARGMAX___230 = 119,
    _SC_NL_LANGMAX___230 = 120,
    _SC_NL_MSGMAX___230 = 121,
    _SC_NL_NMAX___230 = 122,
    _SC_NL_SETMAX___230 = 123,
    _SC_NL_TEXTMAX___230 = 124,
    _SC_XBS5_ILP32_OFF32___230 = 125,
    _SC_XBS5_ILP32_OFFBIG___230 = 126,
    _SC_XBS5_LP64_OFF64___230 = 127,
    _SC_XBS5_LPBIG_OFFBIG___230 = 128,
    _SC_XOPEN_LEGACY___230 = 129,
    _SC_XOPEN_REALTIME___230 = 130,
    _SC_XOPEN_REALTIME_THREADS___230 = 131,
    _SC_ADVISORY_INFO___230 = 132,
    _SC_BARRIERS___230 = 133,
    _SC_BASE___230 = 134,
    _SC_C_LANG_SUPPORT___230 = 135,
    _SC_C_LANG_SUPPORT_R___230 = 136,
    _SC_CLOCK_SELECTION___230 = 137,
    _SC_CPUTIME___230 = 138,
    _SC_THREAD_CPUTIME___230 = 139,
    _SC_DEVICE_IO___230 = 140,
    _SC_DEVICE_SPECIFIC___230 = 141,
    _SC_DEVICE_SPECIFIC_R___230 = 142,
    _SC_FD_MGMT___230 = 143,
    _SC_FIFO___230 = 144,
    _SC_PIPE___230 = 145,
    _SC_FILE_ATTRIBUTES___230 = 146,
    _SC_FILE_LOCKING___230 = 147,
    _SC_FILE_SYSTEM___230 = 148,
    _SC_MONOTONIC_CLOCK___230 = 149,
    _SC_MULTI_PROCESS___230 = 150,
    _SC_SINGLE_PROCESS___230 = 151,
    _SC_NETWORKING___230 = 152,
    _SC_READER_WRITER_LOCKS___230 = 153,
    _SC_SPIN_LOCKS___230 = 154,
    _SC_REGEXP___230 = 155,
    _SC_REGEX_VERSION___230 = 156,
    _SC_SHELL___230 = 157,
    _SC_SIGNALS___230 = 158,
    _SC_SPAWN___230 = 159,
    _SC_SPORADIC_SERVER___230 = 160,
    _SC_THREAD_SPORADIC_SERVER___230 = 161,
    _SC_SYSTEM_DATABASE___230 = 162,
    _SC_SYSTEM_DATABASE_R___230 = 163,
    _SC_TIMEOUTS___230 = 164,
    _SC_TYPED_MEMORY_OBJECTS___230 = 165,
    _SC_USER_GROUPS___230 = 166,
    _SC_USER_GROUPS_R___230 = 167,
    _SC_2_PBS___230 = 168,
    _SC_2_PBS_ACCOUNTING___230 = 169,
    _SC_2_PBS_LOCATE___230 = 170,
    _SC_2_PBS_MESSAGE___230 = 171,
    _SC_2_PBS_TRACK___230 = 172,
    _SC_SYMLOOP_MAX___230 = 173,
    _SC_STREAMS___230 = 174,
    _SC_2_PBS_CHECKPOINT___230 = 175,
    _SC_V6_ILP32_OFF32___230 = 176,
    _SC_V6_ILP32_OFFBIG___230 = 177,
    _SC_V6_LP64_OFF64___230 = 178,
    _SC_V6_LPBIG_OFFBIG___230 = 179,
    _SC_HOST_NAME_MAX___230 = 180,
    _SC_TRACE___230 = 181,
    _SC_TRACE_EVENT_FILTER___230 = 182,
    _SC_TRACE_INHERIT___230 = 183,
    _SC_TRACE_LOG___230 = 184,
    _SC_LEVEL1_ICACHE_SIZE___230 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___230 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___230 = 187,
    _SC_LEVEL1_DCACHE_SIZE___230 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___230 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___230 = 190,
    _SC_LEVEL2_CACHE_SIZE___230 = 191,
    _SC_LEVEL2_CACHE_ASSOC___230 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___230 = 193,
    _SC_LEVEL3_CACHE_SIZE___230 = 194,
    _SC_LEVEL3_CACHE_ASSOC___230 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___230 = 196,
    _SC_LEVEL4_CACHE_SIZE___230 = 197,
    _SC_LEVEL4_CACHE_ASSOC___230 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___230 = 199,
    _SC_IPV6___230 = 235,
    _SC_RAW_SOCKETS___230 = 236,
    _SC_V7_ILP32_OFF32___230 = 237,
    _SC_V7_ILP32_OFFBIG___230 = 238,
    _SC_V7_LP64_OFF64___230 = 239,
    _SC_V7_LPBIG_OFFBIG___230 = 240,
    _SC_SS_REPL_MAX___230 = 241,
    _SC_TRACE_EVENT_NAME_MAX___230 = 242,
    _SC_TRACE_NAME_MAX___230 = 243,
    _SC_TRACE_SYS_MAX___230 = 244,
    _SC_TRACE_USER_EVENT_MAX___230 = 245,
    _SC_XOPEN_STREAMS___230 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___230 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___230 = 248
} ;
enum __anonenum_875524036___230 {
    _CS_PATH___230 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___230 = 1,
    _CS_GNU_LIBC_VERSION___230 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___230 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___230 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___230 = 5,
    _CS_LFS_CFLAGS___230 = 1000,
    _CS_LFS_LDFLAGS___230 = 1001,
    _CS_LFS_LIBS___230 = 1002,
    _CS_LFS_LINTFLAGS___230 = 1003,
    _CS_LFS64_CFLAGS___230 = 1004,
    _CS_LFS64_LDFLAGS___230 = 1005,
    _CS_LFS64_LIBS___230 = 1006,
    _CS_LFS64_LINTFLAGS___230 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___230 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___230 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___230 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___230 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___230 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___230 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___230 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___230 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___230 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___230 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___230 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___230 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___230 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___230 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___230 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___230 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___230 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___230 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___230 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___230 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___230 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___230 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___230 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___230 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___230 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___230 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___230 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___230 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___230 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___230 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___230 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___230 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___230 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___230 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___230 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___230 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___230 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___230 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___230 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___230 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___230 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___230 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___230 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___230 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___230 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___230 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___230 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___230 = 1147,
    _CS_V6_ENV___230 = 1148,
    _CS_V7_ENV___230 = 1149
} ;
enum __anonenum_513775621___230 {
    DT_UNKNOWN___230 = 0,
    DT_FIFO___230 = 1,
    DT_CHR___230 = 2,
    DT_DIR___230 = 4,
    DT_BLK___230 = 6,
    DT_REG___230 = 8,
    DT_LNK___230 = 10,
    DT_SOCK___230 = 12,
    DT_WHT___230 = 14
} ;
enum __anonenum_77002343___230 {
    SI_ASYNCNL___230 = -60,
    SI_TKILL___230 = -6,
    SI_SIGIO___230 = -5,
    SI_ASYNCIO___230 = -4,
    SI_MESGQ___230 = -3,
    SI_TIMER___230 = -2,
    SI_QUEUE___230 = -1,
    SI_USER___230 = 0,
    SI_KERNEL___230 = 128
} ;
enum __anonenum_131038172___230 {
    ILL_ILLOPC___230 = 1,
    ILL_ILLOPN___230 = 2,
    ILL_ILLADR___230 = 3,
    ILL_ILLTRP___230 = 4,
    ILL_PRVOPC___230 = 5,
    ILL_PRVREG___230 = 6,
    ILL_COPROC___230 = 7,
    ILL_BADSTK___230 = 8
} ;
enum __anonenum_452038093___230 {
    FPE_INTDIV___230 = 1,
    FPE_INTOVF___230 = 2,
    FPE_FLTDIV___230 = 3,
    FPE_FLTOVF___230 = 4,
    FPE_FLTUND___230 = 5,
    FPE_FLTRES___230 = 6,
    FPE_FLTINV___230 = 7,
    FPE_FLTSUB___230 = 8
} ;
enum __anonenum_30976155___230 {
    SEGV_MAPERR___230 = 1,
    SEGV_ACCERR___230 = 2,
    SEGV_BNDERR___230 = 3,
    SEGV_PKUERR___230 = 4
} ;
enum __anonenum_1036286214___230 {
    BUS_ADRALN___230 = 1,
    BUS_ADRERR___230 = 2,
    BUS_OBJERR___230 = 3,
    BUS_MCEERR_AR___230 = 4,
    BUS_MCEERR_AO___230 = 5
} ;
enum __anonenum_493465559___230 {
    TRAP_BRKPT___230 = 1,
    TRAP_TRACE___230 = 2
} ;
enum __anonenum_23175539___230 {
    CLD_EXITED___230 = 1,
    CLD_KILLED___230 = 2,
    CLD_DUMPED___230 = 3,
    CLD_TRAPPED___230 = 4,
    CLD_STOPPED___230 = 5,
    CLD_CONTINUED___230 = 6
} ;
enum __anonenum_111643124___230 {
    POLL_IN___230 = 1,
    POLL_OUT___230 = 2,
    POLL_MSG___230 = 3,
    POLL_ERR___230 = 4,
    POLL_PRI___230 = 5,
    POLL_HUP___230 = 6
} ;
enum __anonenum_852341087___230 {
    SIGEV_SIGNAL___230 = 0,
    SIGEV_NONE___230 = 1,
    SIGEV_THREAD___230 = 2,
    SIGEV_THREAD_ID___230 = 4
} ;
enum __anonenum_451154152___230 {
    REG_R8___230 = 0,
    REG_R9___230 = 1,
    REG_R10___230 = 2,
    REG_R11___230 = 3,
    REG_R12___230 = 4,
    REG_R13___230 = 5,
    REG_R14___230 = 6,
    REG_R15___230 = 7,
    REG_RDI___230 = 8,
    REG_RSI___230 = 9,
    REG_RBP___230 = 10,
    REG_RBX___230 = 11,
    REG_RDX___230 = 12,
    REG_RAX___230 = 13,
    REG_RCX___230 = 14,
    REG_RSP___230 = 15,
    REG_RIP___230 = 16,
    REG_EFL___230 = 17,
    REG_CSGSFS___230 = 18,
    REG_ERR___230 = 19,
    REG_TRAPNO___230 = 20,
    REG_OLDMASK___230 = 21,
    REG_CR2___230 = 22
} ;
enum __anonenum_57186863___230 {
    SS_ONSTACK___230 = 1,
    SS_DISABLE___230 = 2
} ;
enum __anonenum_83571709___230 {
    MSG_OOB___230 = 1,
    MSG_PEEK___230 = 2,
    MSG_DONTROUTE___230 = 4,
    MSG_TRYHARD___230 = 4,
    MSG_CTRUNC___230 = 8,
    MSG_PROXY___230 = 16,
    MSG_TRUNC___230 = 32,
    MSG_DONTWAIT___230 = 64,
    MSG_EOR___230 = 128,
    MSG_WAITALL___230 = 256,
    MSG_FIN___230 = 512,
    MSG_SYN___230 = 1024,
    MSG_CONFIRM___230 = 2048,
    MSG_RST___230 = 4096,
    MSG_ERRQUEUE___230 = 8192,
    MSG_NOSIGNAL___230 = 16384,
    MSG_MORE___230 = 32768,
    MSG_WAITFORONE___230 = 65536,
    MSG_BATCH___230 = 262144,
    MSG_ZEROCOPY___230 = 67108864,
    MSG_FASTOPEN___230 = 536870912,
    MSG_CMSG_CLOEXEC___230 = 1073741824
} ;
enum __anonenum_617082774___230 {
    SCM_RIGHTS___230 = 1,
    SCM_CREDENTIALS___230 = 2
} ;
enum __anonenum_606441560___230 {
    SHUT_RD___230 = 0,
    SHUT_WR___230 = 1,
    SHUT_RDWR___230 = 2
} ;
enum __anonenum_681669233___230 {
    IPPROTO_IP___230 = 0,
    IPPROTO_ICMP___230 = 1,
    IPPROTO_IGMP___230 = 2,
    IPPROTO_IPIP___230 = 4,
    IPPROTO_TCP___230 = 6,
    IPPROTO_EGP___230 = 8,
    IPPROTO_PUP___230 = 12,
    IPPROTO_UDP___230 = 17,
    IPPROTO_IDP___230 = 22,
    IPPROTO_TP___230 = 29,
    IPPROTO_DCCP___230 = 33,
    IPPROTO_IPV6___230 = 41,
    IPPROTO_RSVP___230 = 46,
    IPPROTO_GRE___230 = 47,
    IPPROTO_ESP___230 = 50,
    IPPROTO_AH___230 = 51,
    IPPROTO_MTP___230 = 92,
    IPPROTO_BEETPH___230 = 94,
    IPPROTO_ENCAP___230 = 98,
    IPPROTO_PIM___230 = 103,
    IPPROTO_COMP___230 = 108,
    IPPROTO_SCTP___230 = 132,
    IPPROTO_UDPLITE___230 = 136,
    IPPROTO_MPLS___230 = 137,
    IPPROTO_RAW___230 = 255,
    IPPROTO_MAX___230 = 256
} ;
enum __anonenum_218739988___230 {
    IPPROTO_HOPOPTS___230 = 0,
    IPPROTO_ROUTING___230 = 43,
    IPPROTO_FRAGMENT___230 = 44,
    IPPROTO_ICMPV6___230 = 58,
    IPPROTO_NONE___230 = 59,
    IPPROTO_DSTOPTS___230 = 60,
    IPPROTO_MH___230 = 135
} ;
enum __anonenum_662268580___230 {
    IPPORT_ECHO___230 = 7,
    IPPORT_DISCARD___230 = 9,
    IPPORT_SYSTAT___230 = 11,
    IPPORT_DAYTIME___230 = 13,
    IPPORT_NETSTAT___230 = 15,
    IPPORT_FTP___230 = 21,
    IPPORT_TELNET___230 = 23,
    IPPORT_SMTP___230 = 25,
    IPPORT_TIMESERVER___230 = 37,
    IPPORT_NAMESERVER___230 = 42,
    IPPORT_WHOIS___230 = 43,
    IPPORT_MTP___230 = 57,
    IPPORT_TFTP___230 = 69,
    IPPORT_RJE___230 = 77,
    IPPORT_FINGER___230 = 79,
    IPPORT_TTYLINK___230 = 87,
    IPPORT_SUPDUP___230 = 95,
    IPPORT_EXECSERVER___230 = 512,
    IPPORT_LOGINSERVER___230 = 513,
    IPPORT_CMDSERVER___230 = 514,
    IPPORT_EFSSERVER___230 = 520,
    IPPORT_BIFFUDP___230 = 512,
    IPPORT_WHOSERVER___230 = 513,
    IPPORT_ROUTESERVER___230 = 520,
    IPPORT_RESERVED___230 = 1024,
    IPPORT_USERRESERVED___230 = 5000
} ;
enum __anonenum_788308992___230 {
    TCP_ESTABLISHED___230 = 1,
    TCP_SYN_SENT___230 = 2,
    TCP_SYN_RECV___230 = 3,
    TCP_FIN_WAIT1___230 = 4,
    TCP_FIN_WAIT2___230 = 5,
    TCP_TIME_WAIT___230 = 6,
    TCP_CLOSE___230 = 7,
    TCP_CLOSE_WAIT___230 = 8,
    TCP_LAST_ACK___230 = 9,
    TCP_LISTEN___230 = 10,
    TCP_CLOSING___230 = 11
} ;
enum __anonenum_221125648___230 {
    TCP_NO_QUEUE___230 = 0,
    TCP_RECV_QUEUE___230 = 1,
    TCP_SEND_QUEUE___230 = 2,
    TCP_QUEUES_NR___230 = 3
} ;
enum __anonenum_34415463___230 {
    PTHREAD_CREATE_JOINABLE___230 = 0,
    PTHREAD_CREATE_DETACHED___230 = 1
} ;
enum __anonenum_303612439___230 {
    PTHREAD_MUTEX_TIMED_NP___230 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___230 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___230 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___230 = 3,
    PTHREAD_MUTEX_NORMAL___230 = 0,
    PTHREAD_MUTEX_RECURSIVE___230 = 1,
    PTHREAD_MUTEX_ERRORCHECK___230 = 2,
    PTHREAD_MUTEX_DEFAULT___230 = 0,
    PTHREAD_MUTEX_FAST_NP___230 = 0
} ;
enum __anonenum_931900394___230 {
    PTHREAD_MUTEX_STALLED___230 = 0,
    PTHREAD_MUTEX_STALLED_NP___230 = 0,
    PTHREAD_MUTEX_ROBUST___230 = 1,
    PTHREAD_MUTEX_ROBUST_NP___230 = 1
} ;
enum __anonenum_205214487___230 {
    PTHREAD_PRIO_NONE___230 = 0,
    PTHREAD_PRIO_INHERIT___230 = 1,
    PTHREAD_PRIO_PROTECT___230 = 2
} ;
enum __anonenum_25043950___230 {
    PTHREAD_RWLOCK_PREFER_READER_NP___230 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___230 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___230 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___230 = 0
} ;
enum __anonenum_436439511___230 {
    PTHREAD_INHERIT_SCHED___230 = 0,
    PTHREAD_EXPLICIT_SCHED___230 = 1
} ;
enum __anonenum_998661166___230 {
    PTHREAD_SCOPE_SYSTEM___230 = 0,
    PTHREAD_SCOPE_PROCESS___230 = 1
} ;
enum __anonenum_146137331___230 {
    PTHREAD_PROCESS_PRIVATE___230 = 0,
    PTHREAD_PROCESS_SHARED___230 = 1
} ;
enum __anonenum_53396917___230 {
    PTHREAD_CANCEL_ENABLE___230 = 0,
    PTHREAD_CANCEL_DISABLE___230 = 1
} ;
enum __anonenum_904563783___230 {
    PTHREAD_CANCEL_DEFERRED___230 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___230 = 1
} ;
enum __anonenum_672052974___230 {
    SSL_CT_VALIDATION_PERMISSIVE___230 = 0,
    SSL_CT_VALIDATION_STRICT___230 = 1
} ;
struct s_chanode {
   struct s_chanode *next ;
   long icurr ;
};
typedef struct s_chanode chanode_t;
struct s_chastore {
   chanode_t *head ;
   chanode_t *tail ;
   long isize ;
   long nsize ;
   chanode_t *ancur ;
   chanode_t *sncur ;
   long scurr ;
};
typedef struct s_chastore chastore_t;
struct s_xrecord {
   struct s_xrecord *next ;
   char const   *ptr ;
   long size ;
   unsigned long ha ;
};
typedef struct s_xrecord xrecord_t;
struct s_xdfile {
   chastore_t rcha ;
   long nrec ;
   unsigned int hbits ;
   xrecord_t **rhash ;
   long dstart ;
   long dend ;
   xrecord_t **recs ;
   char *rchg ;
   long *rindex ;
   long nreff ;
   unsigned long *ha ;
};
typedef struct s_xdfile xdfile_t;
struct s_xdfenv {
   xdfile_t xdf1 ;
   xdfile_t xdf2 ;
};
typedef struct s_xdfenv xdfenv_t;
struct s_diffdata {
   long nrec ;
   unsigned long const   *ha ;
   long *rindex ;
   char *rchg ;
};
typedef struct s_diffdata diffdata_t;
struct s_xdalgoenv {
   long mxcost ;
   long snake_cnt ;
   long heur_min ;
};
typedef struct s_xdalgoenv xdalgoenv_t;
struct s_xdchange {
   struct s_xdchange *next ;
   long i1 ;
   long i2 ;
   long chg1 ;
   long chg2 ;
   int ignore ;
};
typedef struct s_xdchange xdchange_t;
typedef int (*emit_func_t)(xdfenv_t *xe , xdchange_t *xscr , xdemitcb_t *ecb , xdemitconf_t const   *xecfg );
struct xdiff_emit_state {
   void (*hunk_fn)(void *data , long old_begin , long old_nr , long new_begin , long new_nr ,
                   char const   *func , long funclen ) ;
   int (*line_fn)(void * , char * , unsigned long  ) ;
   void *consume_callback_data ;
   struct strbuf remainder ;
};
struct ff_reg {
   regex_t re ;
   int negate ;
};
struct ff_regs {
   int nr ;
   struct ff_reg *array ;
};
enum __anonenum_437032235___231 {
    _PC_LINK_MAX___231 = 0,
    _PC_MAX_CANON___231 = 1,
    _PC_MAX_INPUT___231 = 2,
    _PC_NAME_MAX___231 = 3,
    _PC_PATH_MAX___231 = 4,
    _PC_PIPE_BUF___231 = 5,
    _PC_CHOWN_RESTRICTED___231 = 6,
    _PC_NO_TRUNC___231 = 7,
    _PC_VDISABLE___231 = 8,
    _PC_SYNC_IO___231 = 9,
    _PC_ASYNC_IO___231 = 10,
    _PC_PRIO_IO___231 = 11,
    _PC_SOCK_MAXBUF___231 = 12,
    _PC_FILESIZEBITS___231 = 13,
    _PC_REC_INCR_XFER_SIZE___231 = 14,
    _PC_REC_MAX_XFER_SIZE___231 = 15,
    _PC_REC_MIN_XFER_SIZE___231 = 16,
    _PC_REC_XFER_ALIGN___231 = 17,
    _PC_ALLOC_SIZE_MIN___231 = 18,
    _PC_SYMLINK_MAX___231 = 19,
    _PC_2_SYMLINKS___231 = 20
} ;
enum __anonenum_315186338___231 {
    _SC_ARG_MAX___231 = 0,
    _SC_CHILD_MAX___231 = 1,
    _SC_CLK_TCK___231 = 2,
    _SC_NGROUPS_MAX___231 = 3,
    _SC_OPEN_MAX___231 = 4,
    _SC_STREAM_MAX___231 = 5,
    _SC_TZNAME_MAX___231 = 6,
    _SC_JOB_CONTROL___231 = 7,
    _SC_SAVED_IDS___231 = 8,
    _SC_REALTIME_SIGNALS___231 = 9,
    _SC_PRIORITY_SCHEDULING___231 = 10,
    _SC_TIMERS___231 = 11,
    _SC_ASYNCHRONOUS_IO___231 = 12,
    _SC_PRIORITIZED_IO___231 = 13,
    _SC_SYNCHRONIZED_IO___231 = 14,
    _SC_FSYNC___231 = 15,
    _SC_MAPPED_FILES___231 = 16,
    _SC_MEMLOCK___231 = 17,
    _SC_MEMLOCK_RANGE___231 = 18,
    _SC_MEMORY_PROTECTION___231 = 19,
    _SC_MESSAGE_PASSING___231 = 20,
    _SC_SEMAPHORES___231 = 21,
    _SC_SHARED_MEMORY_OBJECTS___231 = 22,
    _SC_AIO_LISTIO_MAX___231 = 23,
    _SC_AIO_MAX___231 = 24,
    _SC_AIO_PRIO_DELTA_MAX___231 = 25,
    _SC_DELAYTIMER_MAX___231 = 26,
    _SC_MQ_OPEN_MAX___231 = 27,
    _SC_MQ_PRIO_MAX___231 = 28,
    _SC_VERSION___231 = 29,
    _SC_PAGESIZE___231 = 30,
    _SC_RTSIG_MAX___231 = 31,
    _SC_SEM_NSEMS_MAX___231 = 32,
    _SC_SEM_VALUE_MAX___231 = 33,
    _SC_SIGQUEUE_MAX___231 = 34,
    _SC_TIMER_MAX___231 = 35,
    _SC_BC_BASE_MAX___231 = 36,
    _SC_BC_DIM_MAX___231 = 37,
    _SC_BC_SCALE_MAX___231 = 38,
    _SC_BC_STRING_MAX___231 = 39,
    _SC_COLL_WEIGHTS_MAX___231 = 40,
    _SC_EQUIV_CLASS_MAX___231 = 41,
    _SC_EXPR_NEST_MAX___231 = 42,
    _SC_LINE_MAX___231 = 43,
    _SC_RE_DUP_MAX___231 = 44,
    _SC_CHARCLASS_NAME_MAX___231 = 45,
    _SC_2_VERSION___231 = 46,
    _SC_2_C_BIND___231 = 47,
    _SC_2_C_DEV___231 = 48,
    _SC_2_FORT_DEV___231 = 49,
    _SC_2_FORT_RUN___231 = 50,
    _SC_2_SW_DEV___231 = 51,
    _SC_2_LOCALEDEF___231 = 52,
    _SC_PII___231 = 53,
    _SC_PII_XTI___231 = 54,
    _SC_PII_SOCKET___231 = 55,
    _SC_PII_INTERNET___231 = 56,
    _SC_PII_OSI___231 = 57,
    _SC_POLL___231 = 58,
    _SC_SELECT___231 = 59,
    _SC_UIO_MAXIOV___231 = 60,
    _SC_IOV_MAX___231 = 60,
    _SC_PII_INTERNET_STREAM___231 = 61,
    _SC_PII_INTERNET_DGRAM___231 = 62,
    _SC_PII_OSI_COTS___231 = 63,
    _SC_PII_OSI_CLTS___231 = 64,
    _SC_PII_OSI_M___231 = 65,
    _SC_T_IOV_MAX___231 = 66,
    _SC_THREADS___231 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___231 = 68,
    _SC_GETGR_R_SIZE_MAX___231 = 69,
    _SC_GETPW_R_SIZE_MAX___231 = 70,
    _SC_LOGIN_NAME_MAX___231 = 71,
    _SC_TTY_NAME_MAX___231 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___231 = 73,
    _SC_THREAD_KEYS_MAX___231 = 74,
    _SC_THREAD_STACK_MIN___231 = 75,
    _SC_THREAD_THREADS_MAX___231 = 76,
    _SC_THREAD_ATTR_STACKADDR___231 = 77,
    _SC_THREAD_ATTR_STACKSIZE___231 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___231 = 79,
    _SC_THREAD_PRIO_INHERIT___231 = 80,
    _SC_THREAD_PRIO_PROTECT___231 = 81,
    _SC_THREAD_PROCESS_SHARED___231 = 82,
    _SC_NPROCESSORS_CONF___231 = 83,
    _SC_NPROCESSORS_ONLN___231 = 84,
    _SC_PHYS_PAGES___231 = 85,
    _SC_AVPHYS_PAGES___231 = 86,
    _SC_ATEXIT_MAX___231 = 87,
    _SC_PASS_MAX___231 = 88,
    _SC_XOPEN_VERSION___231 = 89,
    _SC_XOPEN_XCU_VERSION___231 = 90,
    _SC_XOPEN_UNIX___231 = 91,
    _SC_XOPEN_CRYPT___231 = 92,
    _SC_XOPEN_ENH_I18N___231 = 93,
    _SC_XOPEN_SHM___231 = 94,
    _SC_2_CHAR_TERM___231 = 95,
    _SC_2_C_VERSION___231 = 96,
    _SC_2_UPE___231 = 97,
    _SC_XOPEN_XPG2___231 = 98,
    _SC_XOPEN_XPG3___231 = 99,
    _SC_XOPEN_XPG4___231 = 100,
    _SC_CHAR_BIT___231 = 101,
    _SC_CHAR_MAX___231 = 102,
    _SC_CHAR_MIN___231 = 103,
    _SC_INT_MAX___231 = 104,
    _SC_INT_MIN___231 = 105,
    _SC_LONG_BIT___231 = 106,
    _SC_WORD_BIT___231 = 107,
    _SC_MB_LEN_MAX___231 = 108,
    _SC_NZERO___231 = 109,
    _SC_SSIZE_MAX___231 = 110,
    _SC_SCHAR_MAX___231 = 111,
    _SC_SCHAR_MIN___231 = 112,
    _SC_SHRT_MAX___231 = 113,
    _SC_SHRT_MIN___231 = 114,
    _SC_UCHAR_MAX___231 = 115,
    _SC_UINT_MAX___231 = 116,
    _SC_ULONG_MAX___231 = 117,
    _SC_USHRT_MAX___231 = 118,
    _SC_NL_ARGMAX___231 = 119,
    _SC_NL_LANGMAX___231 = 120,
    _SC_NL_MSGMAX___231 = 121,
    _SC_NL_NMAX___231 = 122,
    _SC_NL_SETMAX___231 = 123,
    _SC_NL_TEXTMAX___231 = 124,
    _SC_XBS5_ILP32_OFF32___231 = 125,
    _SC_XBS5_ILP32_OFFBIG___231 = 126,
    _SC_XBS5_LP64_OFF64___231 = 127,
    _SC_XBS5_LPBIG_OFFBIG___231 = 128,
    _SC_XOPEN_LEGACY___231 = 129,
    _SC_XOPEN_REALTIME___231 = 130,
    _SC_XOPEN_REALTIME_THREADS___231 = 131,
    _SC_ADVISORY_INFO___231 = 132,
    _SC_BARRIERS___231 = 133,
    _SC_BASE___231 = 134,
    _SC_C_LANG_SUPPORT___231 = 135,
    _SC_C_LANG_SUPPORT_R___231 = 136,
    _SC_CLOCK_SELECTION___231 = 137,
    _SC_CPUTIME___231 = 138,
    _SC_THREAD_CPUTIME___231 = 139,
    _SC_DEVICE_IO___231 = 140,
    _SC_DEVICE_SPECIFIC___231 = 141,
    _SC_DEVICE_SPECIFIC_R___231 = 142,
    _SC_FD_MGMT___231 = 143,
    _SC_FIFO___231 = 144,
    _SC_PIPE___231 = 145,
    _SC_FILE_ATTRIBUTES___231 = 146,
    _SC_FILE_LOCKING___231 = 147,
    _SC_FILE_SYSTEM___231 = 148,
    _SC_MONOTONIC_CLOCK___231 = 149,
    _SC_MULTI_PROCESS___231 = 150,
    _SC_SINGLE_PROCESS___231 = 151,
    _SC_NETWORKING___231 = 152,
    _SC_READER_WRITER_LOCKS___231 = 153,
    _SC_SPIN_LOCKS___231 = 154,
    _SC_REGEXP___231 = 155,
    _SC_REGEX_VERSION___231 = 156,
    _SC_SHELL___231 = 157,
    _SC_SIGNALS___231 = 158,
    _SC_SPAWN___231 = 159,
    _SC_SPORADIC_SERVER___231 = 160,
    _SC_THREAD_SPORADIC_SERVER___231 = 161,
    _SC_SYSTEM_DATABASE___231 = 162,
    _SC_SYSTEM_DATABASE_R___231 = 163,
    _SC_TIMEOUTS___231 = 164,
    _SC_TYPED_MEMORY_OBJECTS___231 = 165,
    _SC_USER_GROUPS___231 = 166,
    _SC_USER_GROUPS_R___231 = 167,
    _SC_2_PBS___231 = 168,
    _SC_2_PBS_ACCOUNTING___231 = 169,
    _SC_2_PBS_LOCATE___231 = 170,
    _SC_2_PBS_MESSAGE___231 = 171,
    _SC_2_PBS_TRACK___231 = 172,
    _SC_SYMLOOP_MAX___231 = 173,
    _SC_STREAMS___231 = 174,
    _SC_2_PBS_CHECKPOINT___231 = 175,
    _SC_V6_ILP32_OFF32___231 = 176,
    _SC_V6_ILP32_OFFBIG___231 = 177,
    _SC_V6_LP64_OFF64___231 = 178,
    _SC_V6_LPBIG_OFFBIG___231 = 179,
    _SC_HOST_NAME_MAX___231 = 180,
    _SC_TRACE___231 = 181,
    _SC_TRACE_EVENT_FILTER___231 = 182,
    _SC_TRACE_INHERIT___231 = 183,
    _SC_TRACE_LOG___231 = 184,
    _SC_LEVEL1_ICACHE_SIZE___231 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___231 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___231 = 187,
    _SC_LEVEL1_DCACHE_SIZE___231 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___231 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___231 = 190,
    _SC_LEVEL2_CACHE_SIZE___231 = 191,
    _SC_LEVEL2_CACHE_ASSOC___231 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___231 = 193,
    _SC_LEVEL3_CACHE_SIZE___231 = 194,
    _SC_LEVEL3_CACHE_ASSOC___231 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___231 = 196,
    _SC_LEVEL4_CACHE_SIZE___231 = 197,
    _SC_LEVEL4_CACHE_ASSOC___231 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___231 = 199,
    _SC_IPV6___231 = 235,
    _SC_RAW_SOCKETS___231 = 236,
    _SC_V7_ILP32_OFF32___231 = 237,
    _SC_V7_ILP32_OFFBIG___231 = 238,
    _SC_V7_LP64_OFF64___231 = 239,
    _SC_V7_LPBIG_OFFBIG___231 = 240,
    _SC_SS_REPL_MAX___231 = 241,
    _SC_TRACE_EVENT_NAME_MAX___231 = 242,
    _SC_TRACE_NAME_MAX___231 = 243,
    _SC_TRACE_SYS_MAX___231 = 244,
    _SC_TRACE_USER_EVENT_MAX___231 = 245,
    _SC_XOPEN_STREAMS___231 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___231 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___231 = 248
} ;
enum __anonenum_875524036___231 {
    _CS_PATH___231 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___231 = 1,
    _CS_GNU_LIBC_VERSION___231 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___231 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___231 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___231 = 5,
    _CS_LFS_CFLAGS___231 = 1000,
    _CS_LFS_LDFLAGS___231 = 1001,
    _CS_LFS_LIBS___231 = 1002,
    _CS_LFS_LINTFLAGS___231 = 1003,
    _CS_LFS64_CFLAGS___231 = 1004,
    _CS_LFS64_LDFLAGS___231 = 1005,
    _CS_LFS64_LIBS___231 = 1006,
    _CS_LFS64_LINTFLAGS___231 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___231 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___231 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___231 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___231 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___231 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___231 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___231 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___231 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___231 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___231 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___231 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___231 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___231 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___231 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___231 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___231 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___231 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___231 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___231 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___231 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___231 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___231 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___231 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___231 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___231 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___231 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___231 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___231 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___231 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___231 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___231 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___231 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___231 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___231 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___231 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___231 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___231 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___231 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___231 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___231 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___231 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___231 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___231 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___231 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___231 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___231 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___231 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___231 = 1147,
    _CS_V6_ENV___231 = 1148,
    _CS_V7_ENV___231 = 1149
} ;
enum __anonenum_513775621___231 {
    DT_UNKNOWN___231 = 0,
    DT_FIFO___231 = 1,
    DT_CHR___231 = 2,
    DT_DIR___231 = 4,
    DT_BLK___231 = 6,
    DT_REG___231 = 8,
    DT_LNK___231 = 10,
    DT_SOCK___231 = 12,
    DT_WHT___231 = 14
} ;
enum __anonenum_77002343___231 {
    SI_ASYNCNL___231 = -60,
    SI_TKILL___231 = -6,
    SI_SIGIO___231 = -5,
    SI_ASYNCIO___231 = -4,
    SI_MESGQ___231 = -3,
    SI_TIMER___231 = -2,
    SI_QUEUE___231 = -1,
    SI_USER___231 = 0,
    SI_KERNEL___231 = 128
} ;
enum __anonenum_131038172___231 {
    ILL_ILLOPC___231 = 1,
    ILL_ILLOPN___231 = 2,
    ILL_ILLADR___231 = 3,
    ILL_ILLTRP___231 = 4,
    ILL_PRVOPC___231 = 5,
    ILL_PRVREG___231 = 6,
    ILL_COPROC___231 = 7,
    ILL_BADSTK___231 = 8
} ;
enum __anonenum_452038093___231 {
    FPE_INTDIV___231 = 1,
    FPE_INTOVF___231 = 2,
    FPE_FLTDIV___231 = 3,
    FPE_FLTOVF___231 = 4,
    FPE_FLTUND___231 = 5,
    FPE_FLTRES___231 = 6,
    FPE_FLTINV___231 = 7,
    FPE_FLTSUB___231 = 8
} ;
enum __anonenum_30976155___231 {
    SEGV_MAPERR___231 = 1,
    SEGV_ACCERR___231 = 2,
    SEGV_BNDERR___231 = 3,
    SEGV_PKUERR___231 = 4
} ;
enum __anonenum_1036286214___231 {
    BUS_ADRALN___231 = 1,
    BUS_ADRERR___231 = 2,
    BUS_OBJERR___231 = 3,
    BUS_MCEERR_AR___231 = 4,
    BUS_MCEERR_AO___231 = 5
} ;
enum __anonenum_493465559___231 {
    TRAP_BRKPT___231 = 1,
    TRAP_TRACE___231 = 2
} ;
enum __anonenum_23175539___231 {
    CLD_EXITED___231 = 1,
    CLD_KILLED___231 = 2,
    CLD_DUMPED___231 = 3,
    CLD_TRAPPED___231 = 4,
    CLD_STOPPED___231 = 5,
    CLD_CONTINUED___231 = 6
} ;
enum __anonenum_111643124___231 {
    POLL_IN___231 = 1,
    POLL_OUT___231 = 2,
    POLL_MSG___231 = 3,
    POLL_ERR___231 = 4,
    POLL_PRI___231 = 5,
    POLL_HUP___231 = 6
} ;
enum __anonenum_852341087___231 {
    SIGEV_SIGNAL___231 = 0,
    SIGEV_NONE___231 = 1,
    SIGEV_THREAD___231 = 2,
    SIGEV_THREAD_ID___231 = 4
} ;
enum __anonenum_451154152___231 {
    REG_R8___231 = 0,
    REG_R9___231 = 1,
    REG_R10___231 = 2,
    REG_R11___231 = 3,
    REG_R12___231 = 4,
    REG_R13___231 = 5,
    REG_R14___231 = 6,
    REG_R15___231 = 7,
    REG_RDI___231 = 8,
    REG_RSI___231 = 9,
    REG_RBP___231 = 10,
    REG_RBX___231 = 11,
    REG_RDX___231 = 12,
    REG_RAX___231 = 13,
    REG_RCX___231 = 14,
    REG_RSP___231 = 15,
    REG_RIP___231 = 16,
    REG_EFL___231 = 17,
    REG_CSGSFS___231 = 18,
    REG_ERR___231 = 19,
    REG_TRAPNO___231 = 20,
    REG_OLDMASK___231 = 21,
    REG_CR2___231 = 22
} ;
enum __anonenum_57186863___231 {
    SS_ONSTACK___231 = 1,
    SS_DISABLE___231 = 2
} ;
enum __anonenum_83571709___231 {
    MSG_OOB___231 = 1,
    MSG_PEEK___231 = 2,
    MSG_DONTROUTE___231 = 4,
    MSG_TRYHARD___231 = 4,
    MSG_CTRUNC___231 = 8,
    MSG_PROXY___231 = 16,
    MSG_TRUNC___231 = 32,
    MSG_DONTWAIT___231 = 64,
    MSG_EOR___231 = 128,
    MSG_WAITALL___231 = 256,
    MSG_FIN___231 = 512,
    MSG_SYN___231 = 1024,
    MSG_CONFIRM___231 = 2048,
    MSG_RST___231 = 4096,
    MSG_ERRQUEUE___231 = 8192,
    MSG_NOSIGNAL___231 = 16384,
    MSG_MORE___231 = 32768,
    MSG_WAITFORONE___231 = 65536,
    MSG_BATCH___231 = 262144,
    MSG_ZEROCOPY___231 = 67108864,
    MSG_FASTOPEN___231 = 536870912,
    MSG_CMSG_CLOEXEC___231 = 1073741824
} ;
enum __anonenum_617082774___231 {
    SCM_RIGHTS___231 = 1,
    SCM_CREDENTIALS___231 = 2
} ;
enum __anonenum_606441560___231 {
    SHUT_RD___231 = 0,
    SHUT_WR___231 = 1,
    SHUT_RDWR___231 = 2
} ;
enum __anonenum_681669233___231 {
    IPPROTO_IP___231 = 0,
    IPPROTO_ICMP___231 = 1,
    IPPROTO_IGMP___231 = 2,
    IPPROTO_IPIP___231 = 4,
    IPPROTO_TCP___231 = 6,
    IPPROTO_EGP___231 = 8,
    IPPROTO_PUP___231 = 12,
    IPPROTO_UDP___231 = 17,
    IPPROTO_IDP___231 = 22,
    IPPROTO_TP___231 = 29,
    IPPROTO_DCCP___231 = 33,
    IPPROTO_IPV6___231 = 41,
    IPPROTO_RSVP___231 = 46,
    IPPROTO_GRE___231 = 47,
    IPPROTO_ESP___231 = 50,
    IPPROTO_AH___231 = 51,
    IPPROTO_MTP___231 = 92,
    IPPROTO_BEETPH___231 = 94,
    IPPROTO_ENCAP___231 = 98,
    IPPROTO_PIM___231 = 103,
    IPPROTO_COMP___231 = 108,
    IPPROTO_SCTP___231 = 132,
    IPPROTO_UDPLITE___231 = 136,
    IPPROTO_MPLS___231 = 137,
    IPPROTO_RAW___231 = 255,
    IPPROTO_MAX___231 = 256
} ;
enum __anonenum_218739988___231 {
    IPPROTO_HOPOPTS___231 = 0,
    IPPROTO_ROUTING___231 = 43,
    IPPROTO_FRAGMENT___231 = 44,
    IPPROTO_ICMPV6___231 = 58,
    IPPROTO_NONE___231 = 59,
    IPPROTO_DSTOPTS___231 = 60,
    IPPROTO_MH___231 = 135
} ;
enum __anonenum_662268580___231 {
    IPPORT_ECHO___231 = 7,
    IPPORT_DISCARD___231 = 9,
    IPPORT_SYSTAT___231 = 11,
    IPPORT_DAYTIME___231 = 13,
    IPPORT_NETSTAT___231 = 15,
    IPPORT_FTP___231 = 21,
    IPPORT_TELNET___231 = 23,
    IPPORT_SMTP___231 = 25,
    IPPORT_TIMESERVER___231 = 37,
    IPPORT_NAMESERVER___231 = 42,
    IPPORT_WHOIS___231 = 43,
    IPPORT_MTP___231 = 57,
    IPPORT_TFTP___231 = 69,
    IPPORT_RJE___231 = 77,
    IPPORT_FINGER___231 = 79,
    IPPORT_TTYLINK___231 = 87,
    IPPORT_SUPDUP___231 = 95,
    IPPORT_EXECSERVER___231 = 512,
    IPPORT_LOGINSERVER___231 = 513,
    IPPORT_CMDSERVER___231 = 514,
    IPPORT_EFSSERVER___231 = 520,
    IPPORT_BIFFUDP___231 = 512,
    IPPORT_WHOSERVER___231 = 513,
    IPPORT_ROUTESERVER___231 = 520,
    IPPORT_RESERVED___231 = 1024,
    IPPORT_USERRESERVED___231 = 5000
} ;
enum __anonenum_788308992___231 {
    TCP_ESTABLISHED___231 = 1,
    TCP_SYN_SENT___231 = 2,
    TCP_SYN_RECV___231 = 3,
    TCP_FIN_WAIT1___231 = 4,
    TCP_FIN_WAIT2___231 = 5,
    TCP_TIME_WAIT___231 = 6,
    TCP_CLOSE___231 = 7,
    TCP_CLOSE_WAIT___231 = 8,
    TCP_LAST_ACK___231 = 9,
    TCP_LISTEN___231 = 10,
    TCP_CLOSING___231 = 11
} ;
enum __anonenum_221125648___231 {
    TCP_NO_QUEUE___231 = 0,
    TCP_RECV_QUEUE___231 = 1,
    TCP_SEND_QUEUE___231 = 2,
    TCP_QUEUES_NR___231 = 3
} ;
enum __anonenum_34415463___231 {
    PTHREAD_CREATE_JOINABLE___231 = 0,
    PTHREAD_CREATE_DETACHED___231 = 1
} ;
enum __anonenum_303612439___231 {
    PTHREAD_MUTEX_TIMED_NP___231 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___231 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___231 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___231 = 3,
    PTHREAD_MUTEX_NORMAL___231 = 0,
    PTHREAD_MUTEX_RECURSIVE___231 = 1,
    PTHREAD_MUTEX_ERRORCHECK___231 = 2,
    PTHREAD_MUTEX_DEFAULT___231 = 0,
    PTHREAD_MUTEX_FAST_NP___231 = 0
} ;
enum __anonenum_931900394___231 {
    PTHREAD_MUTEX_STALLED___231 = 0,
    PTHREAD_MUTEX_STALLED_NP___231 = 0,
    PTHREAD_MUTEX_ROBUST___231 = 1,
    PTHREAD_MUTEX_ROBUST_NP___231 = 1
} ;
enum __anonenum_205214487___231 {
    PTHREAD_PRIO_NONE___231 = 0,
    PTHREAD_PRIO_INHERIT___231 = 1,
    PTHREAD_PRIO_PROTECT___231 = 2
} ;
enum __anonenum_25043950___231 {
    PTHREAD_RWLOCK_PREFER_READER_NP___231 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___231 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___231 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___231 = 0
} ;
enum __anonenum_436439511___231 {
    PTHREAD_INHERIT_SCHED___231 = 0,
    PTHREAD_EXPLICIT_SCHED___231 = 1
} ;
enum __anonenum_998661166___231 {
    PTHREAD_SCOPE_SYSTEM___231 = 0,
    PTHREAD_SCOPE_PROCESS___231 = 1
} ;
enum __anonenum_146137331___231 {
    PTHREAD_PROCESS_PRIVATE___231 = 0,
    PTHREAD_PROCESS_SHARED___231 = 1
} ;
enum __anonenum_53396917___231 {
    PTHREAD_CANCEL_ENABLE___231 = 0,
    PTHREAD_CANCEL_DISABLE___231 = 1
} ;
enum __anonenum_904563783___231 {
    PTHREAD_CANCEL_DEFERRED___231 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___231 = 1
} ;
enum __anonenum_672052974___231 {
    SSL_CT_VALIDATION_PERMISSIVE___231 = 0,
    SSL_CT_VALIDATION_STRICT___231 = 1
} ;
enum __anonenum_437032235___232 {
    _PC_LINK_MAX___232 = 0,
    _PC_MAX_CANON___232 = 1,
    _PC_MAX_INPUT___232 = 2,
    _PC_NAME_MAX___232 = 3,
    _PC_PATH_MAX___232 = 4,
    _PC_PIPE_BUF___232 = 5,
    _PC_CHOWN_RESTRICTED___232 = 6,
    _PC_NO_TRUNC___232 = 7,
    _PC_VDISABLE___232 = 8,
    _PC_SYNC_IO___232 = 9,
    _PC_ASYNC_IO___232 = 10,
    _PC_PRIO_IO___232 = 11,
    _PC_SOCK_MAXBUF___232 = 12,
    _PC_FILESIZEBITS___232 = 13,
    _PC_REC_INCR_XFER_SIZE___232 = 14,
    _PC_REC_MAX_XFER_SIZE___232 = 15,
    _PC_REC_MIN_XFER_SIZE___232 = 16,
    _PC_REC_XFER_ALIGN___232 = 17,
    _PC_ALLOC_SIZE_MIN___232 = 18,
    _PC_SYMLINK_MAX___232 = 19,
    _PC_2_SYMLINKS___232 = 20
} ;
enum __anonenum_315186338___232 {
    _SC_ARG_MAX___232 = 0,
    _SC_CHILD_MAX___232 = 1,
    _SC_CLK_TCK___232 = 2,
    _SC_NGROUPS_MAX___232 = 3,
    _SC_OPEN_MAX___232 = 4,
    _SC_STREAM_MAX___232 = 5,
    _SC_TZNAME_MAX___232 = 6,
    _SC_JOB_CONTROL___232 = 7,
    _SC_SAVED_IDS___232 = 8,
    _SC_REALTIME_SIGNALS___232 = 9,
    _SC_PRIORITY_SCHEDULING___232 = 10,
    _SC_TIMERS___232 = 11,
    _SC_ASYNCHRONOUS_IO___232 = 12,
    _SC_PRIORITIZED_IO___232 = 13,
    _SC_SYNCHRONIZED_IO___232 = 14,
    _SC_FSYNC___232 = 15,
    _SC_MAPPED_FILES___232 = 16,
    _SC_MEMLOCK___232 = 17,
    _SC_MEMLOCK_RANGE___232 = 18,
    _SC_MEMORY_PROTECTION___232 = 19,
    _SC_MESSAGE_PASSING___232 = 20,
    _SC_SEMAPHORES___232 = 21,
    _SC_SHARED_MEMORY_OBJECTS___232 = 22,
    _SC_AIO_LISTIO_MAX___232 = 23,
    _SC_AIO_MAX___232 = 24,
    _SC_AIO_PRIO_DELTA_MAX___232 = 25,
    _SC_DELAYTIMER_MAX___232 = 26,
    _SC_MQ_OPEN_MAX___232 = 27,
    _SC_MQ_PRIO_MAX___232 = 28,
    _SC_VERSION___232 = 29,
    _SC_PAGESIZE___232 = 30,
    _SC_RTSIG_MAX___232 = 31,
    _SC_SEM_NSEMS_MAX___232 = 32,
    _SC_SEM_VALUE_MAX___232 = 33,
    _SC_SIGQUEUE_MAX___232 = 34,
    _SC_TIMER_MAX___232 = 35,
    _SC_BC_BASE_MAX___232 = 36,
    _SC_BC_DIM_MAX___232 = 37,
    _SC_BC_SCALE_MAX___232 = 38,
    _SC_BC_STRING_MAX___232 = 39,
    _SC_COLL_WEIGHTS_MAX___232 = 40,
    _SC_EQUIV_CLASS_MAX___232 = 41,
    _SC_EXPR_NEST_MAX___232 = 42,
    _SC_LINE_MAX___232 = 43,
    _SC_RE_DUP_MAX___232 = 44,
    _SC_CHARCLASS_NAME_MAX___232 = 45,
    _SC_2_VERSION___232 = 46,
    _SC_2_C_BIND___232 = 47,
    _SC_2_C_DEV___232 = 48,
    _SC_2_FORT_DEV___232 = 49,
    _SC_2_FORT_RUN___232 = 50,
    _SC_2_SW_DEV___232 = 51,
    _SC_2_LOCALEDEF___232 = 52,
    _SC_PII___232 = 53,
    _SC_PII_XTI___232 = 54,
    _SC_PII_SOCKET___232 = 55,
    _SC_PII_INTERNET___232 = 56,
    _SC_PII_OSI___232 = 57,
    _SC_POLL___232 = 58,
    _SC_SELECT___232 = 59,
    _SC_UIO_MAXIOV___232 = 60,
    _SC_IOV_MAX___232 = 60,
    _SC_PII_INTERNET_STREAM___232 = 61,
    _SC_PII_INTERNET_DGRAM___232 = 62,
    _SC_PII_OSI_COTS___232 = 63,
    _SC_PII_OSI_CLTS___232 = 64,
    _SC_PII_OSI_M___232 = 65,
    _SC_T_IOV_MAX___232 = 66,
    _SC_THREADS___232 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___232 = 68,
    _SC_GETGR_R_SIZE_MAX___232 = 69,
    _SC_GETPW_R_SIZE_MAX___232 = 70,
    _SC_LOGIN_NAME_MAX___232 = 71,
    _SC_TTY_NAME_MAX___232 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___232 = 73,
    _SC_THREAD_KEYS_MAX___232 = 74,
    _SC_THREAD_STACK_MIN___232 = 75,
    _SC_THREAD_THREADS_MAX___232 = 76,
    _SC_THREAD_ATTR_STACKADDR___232 = 77,
    _SC_THREAD_ATTR_STACKSIZE___232 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___232 = 79,
    _SC_THREAD_PRIO_INHERIT___232 = 80,
    _SC_THREAD_PRIO_PROTECT___232 = 81,
    _SC_THREAD_PROCESS_SHARED___232 = 82,
    _SC_NPROCESSORS_CONF___232 = 83,
    _SC_NPROCESSORS_ONLN___232 = 84,
    _SC_PHYS_PAGES___232 = 85,
    _SC_AVPHYS_PAGES___232 = 86,
    _SC_ATEXIT_MAX___232 = 87,
    _SC_PASS_MAX___232 = 88,
    _SC_XOPEN_VERSION___232 = 89,
    _SC_XOPEN_XCU_VERSION___232 = 90,
    _SC_XOPEN_UNIX___232 = 91,
    _SC_XOPEN_CRYPT___232 = 92,
    _SC_XOPEN_ENH_I18N___232 = 93,
    _SC_XOPEN_SHM___232 = 94,
    _SC_2_CHAR_TERM___232 = 95,
    _SC_2_C_VERSION___232 = 96,
    _SC_2_UPE___232 = 97,
    _SC_XOPEN_XPG2___232 = 98,
    _SC_XOPEN_XPG3___232 = 99,
    _SC_XOPEN_XPG4___232 = 100,
    _SC_CHAR_BIT___232 = 101,
    _SC_CHAR_MAX___232 = 102,
    _SC_CHAR_MIN___232 = 103,
    _SC_INT_MAX___232 = 104,
    _SC_INT_MIN___232 = 105,
    _SC_LONG_BIT___232 = 106,
    _SC_WORD_BIT___232 = 107,
    _SC_MB_LEN_MAX___232 = 108,
    _SC_NZERO___232 = 109,
    _SC_SSIZE_MAX___232 = 110,
    _SC_SCHAR_MAX___232 = 111,
    _SC_SCHAR_MIN___232 = 112,
    _SC_SHRT_MAX___232 = 113,
    _SC_SHRT_MIN___232 = 114,
    _SC_UCHAR_MAX___232 = 115,
    _SC_UINT_MAX___232 = 116,
    _SC_ULONG_MAX___232 = 117,
    _SC_USHRT_MAX___232 = 118,
    _SC_NL_ARGMAX___232 = 119,
    _SC_NL_LANGMAX___232 = 120,
    _SC_NL_MSGMAX___232 = 121,
    _SC_NL_NMAX___232 = 122,
    _SC_NL_SETMAX___232 = 123,
    _SC_NL_TEXTMAX___232 = 124,
    _SC_XBS5_ILP32_OFF32___232 = 125,
    _SC_XBS5_ILP32_OFFBIG___232 = 126,
    _SC_XBS5_LP64_OFF64___232 = 127,
    _SC_XBS5_LPBIG_OFFBIG___232 = 128,
    _SC_XOPEN_LEGACY___232 = 129,
    _SC_XOPEN_REALTIME___232 = 130,
    _SC_XOPEN_REALTIME_THREADS___232 = 131,
    _SC_ADVISORY_INFO___232 = 132,
    _SC_BARRIERS___232 = 133,
    _SC_BASE___232 = 134,
    _SC_C_LANG_SUPPORT___232 = 135,
    _SC_C_LANG_SUPPORT_R___232 = 136,
    _SC_CLOCK_SELECTION___232 = 137,
    _SC_CPUTIME___232 = 138,
    _SC_THREAD_CPUTIME___232 = 139,
    _SC_DEVICE_IO___232 = 140,
    _SC_DEVICE_SPECIFIC___232 = 141,
    _SC_DEVICE_SPECIFIC_R___232 = 142,
    _SC_FD_MGMT___232 = 143,
    _SC_FIFO___232 = 144,
    _SC_PIPE___232 = 145,
    _SC_FILE_ATTRIBUTES___232 = 146,
    _SC_FILE_LOCKING___232 = 147,
    _SC_FILE_SYSTEM___232 = 148,
    _SC_MONOTONIC_CLOCK___232 = 149,
    _SC_MULTI_PROCESS___232 = 150,
    _SC_SINGLE_PROCESS___232 = 151,
    _SC_NETWORKING___232 = 152,
    _SC_READER_WRITER_LOCKS___232 = 153,
    _SC_SPIN_LOCKS___232 = 154,
    _SC_REGEXP___232 = 155,
    _SC_REGEX_VERSION___232 = 156,
    _SC_SHELL___232 = 157,
    _SC_SIGNALS___232 = 158,
    _SC_SPAWN___232 = 159,
    _SC_SPORADIC_SERVER___232 = 160,
    _SC_THREAD_SPORADIC_SERVER___232 = 161,
    _SC_SYSTEM_DATABASE___232 = 162,
    _SC_SYSTEM_DATABASE_R___232 = 163,
    _SC_TIMEOUTS___232 = 164,
    _SC_TYPED_MEMORY_OBJECTS___232 = 165,
    _SC_USER_GROUPS___232 = 166,
    _SC_USER_GROUPS_R___232 = 167,
    _SC_2_PBS___232 = 168,
    _SC_2_PBS_ACCOUNTING___232 = 169,
    _SC_2_PBS_LOCATE___232 = 170,
    _SC_2_PBS_MESSAGE___232 = 171,
    _SC_2_PBS_TRACK___232 = 172,
    _SC_SYMLOOP_MAX___232 = 173,
    _SC_STREAMS___232 = 174,
    _SC_2_PBS_CHECKPOINT___232 = 175,
    _SC_V6_ILP32_OFF32___232 = 176,
    _SC_V6_ILP32_OFFBIG___232 = 177,
    _SC_V6_LP64_OFF64___232 = 178,
    _SC_V6_LPBIG_OFFBIG___232 = 179,
    _SC_HOST_NAME_MAX___232 = 180,
    _SC_TRACE___232 = 181,
    _SC_TRACE_EVENT_FILTER___232 = 182,
    _SC_TRACE_INHERIT___232 = 183,
    _SC_TRACE_LOG___232 = 184,
    _SC_LEVEL1_ICACHE_SIZE___232 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___232 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___232 = 187,
    _SC_LEVEL1_DCACHE_SIZE___232 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___232 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___232 = 190,
    _SC_LEVEL2_CACHE_SIZE___232 = 191,
    _SC_LEVEL2_CACHE_ASSOC___232 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___232 = 193,
    _SC_LEVEL3_CACHE_SIZE___232 = 194,
    _SC_LEVEL3_CACHE_ASSOC___232 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___232 = 196,
    _SC_LEVEL4_CACHE_SIZE___232 = 197,
    _SC_LEVEL4_CACHE_ASSOC___232 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___232 = 199,
    _SC_IPV6___232 = 235,
    _SC_RAW_SOCKETS___232 = 236,
    _SC_V7_ILP32_OFF32___232 = 237,
    _SC_V7_ILP32_OFFBIG___232 = 238,
    _SC_V7_LP64_OFF64___232 = 239,
    _SC_V7_LPBIG_OFFBIG___232 = 240,
    _SC_SS_REPL_MAX___232 = 241,
    _SC_TRACE_EVENT_NAME_MAX___232 = 242,
    _SC_TRACE_NAME_MAX___232 = 243,
    _SC_TRACE_SYS_MAX___232 = 244,
    _SC_TRACE_USER_EVENT_MAX___232 = 245,
    _SC_XOPEN_STREAMS___232 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___232 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___232 = 248
} ;
enum __anonenum_875524036___232 {
    _CS_PATH___232 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___232 = 1,
    _CS_GNU_LIBC_VERSION___232 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___232 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___232 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___232 = 5,
    _CS_LFS_CFLAGS___232 = 1000,
    _CS_LFS_LDFLAGS___232 = 1001,
    _CS_LFS_LIBS___232 = 1002,
    _CS_LFS_LINTFLAGS___232 = 1003,
    _CS_LFS64_CFLAGS___232 = 1004,
    _CS_LFS64_LDFLAGS___232 = 1005,
    _CS_LFS64_LIBS___232 = 1006,
    _CS_LFS64_LINTFLAGS___232 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___232 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___232 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___232 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___232 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___232 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___232 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___232 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___232 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___232 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___232 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___232 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___232 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___232 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___232 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___232 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___232 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___232 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___232 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___232 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___232 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___232 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___232 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___232 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___232 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___232 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___232 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___232 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___232 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___232 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___232 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___232 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___232 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___232 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___232 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___232 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___232 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___232 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___232 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___232 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___232 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___232 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___232 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___232 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___232 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___232 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___232 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___232 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___232 = 1147,
    _CS_V6_ENV___232 = 1148,
    _CS_V7_ENV___232 = 1149
} ;
enum __anonenum_513775621___232 {
    DT_UNKNOWN___232 = 0,
    DT_FIFO___232 = 1,
    DT_CHR___232 = 2,
    DT_DIR___232 = 4,
    DT_BLK___232 = 6,
    DT_REG___232 = 8,
    DT_LNK___232 = 10,
    DT_SOCK___232 = 12,
    DT_WHT___232 = 14
} ;
enum __anonenum_77002343___232 {
    SI_ASYNCNL___232 = -60,
    SI_TKILL___232 = -6,
    SI_SIGIO___232 = -5,
    SI_ASYNCIO___232 = -4,
    SI_MESGQ___232 = -3,
    SI_TIMER___232 = -2,
    SI_QUEUE___232 = -1,
    SI_USER___232 = 0,
    SI_KERNEL___232 = 128
} ;
enum __anonenum_131038172___232 {
    ILL_ILLOPC___232 = 1,
    ILL_ILLOPN___232 = 2,
    ILL_ILLADR___232 = 3,
    ILL_ILLTRP___232 = 4,
    ILL_PRVOPC___232 = 5,
    ILL_PRVREG___232 = 6,
    ILL_COPROC___232 = 7,
    ILL_BADSTK___232 = 8
} ;
enum __anonenum_452038093___232 {
    FPE_INTDIV___232 = 1,
    FPE_INTOVF___232 = 2,
    FPE_FLTDIV___232 = 3,
    FPE_FLTOVF___232 = 4,
    FPE_FLTUND___232 = 5,
    FPE_FLTRES___232 = 6,
    FPE_FLTINV___232 = 7,
    FPE_FLTSUB___232 = 8
} ;
enum __anonenum_30976155___232 {
    SEGV_MAPERR___232 = 1,
    SEGV_ACCERR___232 = 2,
    SEGV_BNDERR___232 = 3,
    SEGV_PKUERR___232 = 4
} ;
enum __anonenum_1036286214___232 {
    BUS_ADRALN___232 = 1,
    BUS_ADRERR___232 = 2,
    BUS_OBJERR___232 = 3,
    BUS_MCEERR_AR___232 = 4,
    BUS_MCEERR_AO___232 = 5
} ;
enum __anonenum_493465559___232 {
    TRAP_BRKPT___232 = 1,
    TRAP_TRACE___232 = 2
} ;
enum __anonenum_23175539___232 {
    CLD_EXITED___232 = 1,
    CLD_KILLED___232 = 2,
    CLD_DUMPED___232 = 3,
    CLD_TRAPPED___232 = 4,
    CLD_STOPPED___232 = 5,
    CLD_CONTINUED___232 = 6
} ;
enum __anonenum_111643124___232 {
    POLL_IN___232 = 1,
    POLL_OUT___232 = 2,
    POLL_MSG___232 = 3,
    POLL_ERR___232 = 4,
    POLL_PRI___232 = 5,
    POLL_HUP___232 = 6
} ;
enum __anonenum_852341087___232 {
    SIGEV_SIGNAL___232 = 0,
    SIGEV_NONE___232 = 1,
    SIGEV_THREAD___232 = 2,
    SIGEV_THREAD_ID___232 = 4
} ;
enum __anonenum_451154152___232 {
    REG_R8___232 = 0,
    REG_R9___232 = 1,
    REG_R10___232 = 2,
    REG_R11___232 = 3,
    REG_R12___232 = 4,
    REG_R13___232 = 5,
    REG_R14___232 = 6,
    REG_R15___232 = 7,
    REG_RDI___232 = 8,
    REG_RSI___232 = 9,
    REG_RBP___232 = 10,
    REG_RBX___232 = 11,
    REG_RDX___232 = 12,
    REG_RAX___232 = 13,
    REG_RCX___232 = 14,
    REG_RSP___232 = 15,
    REG_RIP___232 = 16,
    REG_EFL___232 = 17,
    REG_CSGSFS___232 = 18,
    REG_ERR___232 = 19,
    REG_TRAPNO___232 = 20,
    REG_OLDMASK___232 = 21,
    REG_CR2___232 = 22
} ;
enum __anonenum_57186863___232 {
    SS_ONSTACK___232 = 1,
    SS_DISABLE___232 = 2
} ;
enum __anonenum_83571709___232 {
    MSG_OOB___232 = 1,
    MSG_PEEK___232 = 2,
    MSG_DONTROUTE___232 = 4,
    MSG_TRYHARD___232 = 4,
    MSG_CTRUNC___232 = 8,
    MSG_PROXY___232 = 16,
    MSG_TRUNC___232 = 32,
    MSG_DONTWAIT___232 = 64,
    MSG_EOR___232 = 128,
    MSG_WAITALL___232 = 256,
    MSG_FIN___232 = 512,
    MSG_SYN___232 = 1024,
    MSG_CONFIRM___232 = 2048,
    MSG_RST___232 = 4096,
    MSG_ERRQUEUE___232 = 8192,
    MSG_NOSIGNAL___232 = 16384,
    MSG_MORE___232 = 32768,
    MSG_WAITFORONE___232 = 65536,
    MSG_BATCH___232 = 262144,
    MSG_ZEROCOPY___232 = 67108864,
    MSG_FASTOPEN___232 = 536870912,
    MSG_CMSG_CLOEXEC___232 = 1073741824
} ;
enum __anonenum_617082774___232 {
    SCM_RIGHTS___232 = 1,
    SCM_CREDENTIALS___232 = 2
} ;
enum __anonenum_606441560___232 {
    SHUT_RD___232 = 0,
    SHUT_WR___232 = 1,
    SHUT_RDWR___232 = 2
} ;
enum __anonenum_681669233___232 {
    IPPROTO_IP___232 = 0,
    IPPROTO_ICMP___232 = 1,
    IPPROTO_IGMP___232 = 2,
    IPPROTO_IPIP___232 = 4,
    IPPROTO_TCP___232 = 6,
    IPPROTO_EGP___232 = 8,
    IPPROTO_PUP___232 = 12,
    IPPROTO_UDP___232 = 17,
    IPPROTO_IDP___232 = 22,
    IPPROTO_TP___232 = 29,
    IPPROTO_DCCP___232 = 33,
    IPPROTO_IPV6___232 = 41,
    IPPROTO_RSVP___232 = 46,
    IPPROTO_GRE___232 = 47,
    IPPROTO_ESP___232 = 50,
    IPPROTO_AH___232 = 51,
    IPPROTO_MTP___232 = 92,
    IPPROTO_BEETPH___232 = 94,
    IPPROTO_ENCAP___232 = 98,
    IPPROTO_PIM___232 = 103,
    IPPROTO_COMP___232 = 108,
    IPPROTO_SCTP___232 = 132,
    IPPROTO_UDPLITE___232 = 136,
    IPPROTO_MPLS___232 = 137,
    IPPROTO_RAW___232 = 255,
    IPPROTO_MAX___232 = 256
} ;
enum __anonenum_218739988___232 {
    IPPROTO_HOPOPTS___232 = 0,
    IPPROTO_ROUTING___232 = 43,
    IPPROTO_FRAGMENT___232 = 44,
    IPPROTO_ICMPV6___232 = 58,
    IPPROTO_NONE___232 = 59,
    IPPROTO_DSTOPTS___232 = 60,
    IPPROTO_MH___232 = 135
} ;
enum __anonenum_662268580___232 {
    IPPORT_ECHO___232 = 7,
    IPPORT_DISCARD___232 = 9,
    IPPORT_SYSTAT___232 = 11,
    IPPORT_DAYTIME___232 = 13,
    IPPORT_NETSTAT___232 = 15,
    IPPORT_FTP___232 = 21,
    IPPORT_TELNET___232 = 23,
    IPPORT_SMTP___232 = 25,
    IPPORT_TIMESERVER___232 = 37,
    IPPORT_NAMESERVER___232 = 42,
    IPPORT_WHOIS___232 = 43,
    IPPORT_MTP___232 = 57,
    IPPORT_TFTP___232 = 69,
    IPPORT_RJE___232 = 77,
    IPPORT_FINGER___232 = 79,
    IPPORT_TTYLINK___232 = 87,
    IPPORT_SUPDUP___232 = 95,
    IPPORT_EXECSERVER___232 = 512,
    IPPORT_LOGINSERVER___232 = 513,
    IPPORT_CMDSERVER___232 = 514,
    IPPORT_EFSSERVER___232 = 520,
    IPPORT_BIFFUDP___232 = 512,
    IPPORT_WHOSERVER___232 = 513,
    IPPORT_ROUTESERVER___232 = 520,
    IPPORT_RESERVED___232 = 1024,
    IPPORT_USERRESERVED___232 = 5000
} ;
enum __anonenum_788308992___232 {
    TCP_ESTABLISHED___232 = 1,
    TCP_SYN_SENT___232 = 2,
    TCP_SYN_RECV___232 = 3,
    TCP_FIN_WAIT1___232 = 4,
    TCP_FIN_WAIT2___232 = 5,
    TCP_TIME_WAIT___232 = 6,
    TCP_CLOSE___232 = 7,
    TCP_CLOSE_WAIT___232 = 8,
    TCP_LAST_ACK___232 = 9,
    TCP_LISTEN___232 = 10,
    TCP_CLOSING___232 = 11
} ;
enum __anonenum_221125648___232 {
    TCP_NO_QUEUE___232 = 0,
    TCP_RECV_QUEUE___232 = 1,
    TCP_SEND_QUEUE___232 = 2,
    TCP_QUEUES_NR___232 = 3
} ;
enum __anonenum_34415463___232 {
    PTHREAD_CREATE_JOINABLE___232 = 0,
    PTHREAD_CREATE_DETACHED___232 = 1
} ;
enum __anonenum_303612439___232 {
    PTHREAD_MUTEX_TIMED_NP___232 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___232 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___232 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___232 = 3,
    PTHREAD_MUTEX_NORMAL___232 = 0,
    PTHREAD_MUTEX_RECURSIVE___232 = 1,
    PTHREAD_MUTEX_ERRORCHECK___232 = 2,
    PTHREAD_MUTEX_DEFAULT___232 = 0,
    PTHREAD_MUTEX_FAST_NP___232 = 0
} ;
enum __anonenum_931900394___232 {
    PTHREAD_MUTEX_STALLED___232 = 0,
    PTHREAD_MUTEX_STALLED_NP___232 = 0,
    PTHREAD_MUTEX_ROBUST___232 = 1,
    PTHREAD_MUTEX_ROBUST_NP___232 = 1
} ;
enum __anonenum_205214487___232 {
    PTHREAD_PRIO_NONE___232 = 0,
    PTHREAD_PRIO_INHERIT___232 = 1,
    PTHREAD_PRIO_PROTECT___232 = 2
} ;
enum __anonenum_25043950___232 {
    PTHREAD_RWLOCK_PREFER_READER_NP___232 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___232 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___232 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___232 = 0
} ;
enum __anonenum_436439511___232 {
    PTHREAD_INHERIT_SCHED___232 = 0,
    PTHREAD_EXPLICIT_SCHED___232 = 1
} ;
enum __anonenum_998661166___232 {
    PTHREAD_SCOPE_SYSTEM___232 = 0,
    PTHREAD_SCOPE_PROCESS___232 = 1
} ;
enum __anonenum_146137331___232 {
    PTHREAD_PROCESS_PRIVATE___232 = 0,
    PTHREAD_PROCESS_SHARED___232 = 1
} ;
enum __anonenum_53396917___232 {
    PTHREAD_CANCEL_ENABLE___232 = 0,
    PTHREAD_CANCEL_DISABLE___232 = 1
} ;
enum __anonenum_904563783___232 {
    PTHREAD_CANCEL_DEFERRED___232 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___232 = 1
} ;
enum __anonenum_672052974___232 {
    SSL_CT_VALIDATION_PERMISSIVE___232 = 0,
    SSL_CT_VALIDATION_STRICT___232 = 1
} ;
struct unix_stream_listen_opts {
   int listen_backlog_size ;
   unsigned int disallow_chdir : 1 ;
};
struct unix_sockaddr_context {
   char *orig_dir ;
};
enum __anonenum_437032235___233 {
    _PC_LINK_MAX___233 = 0,
    _PC_MAX_CANON___233 = 1,
    _PC_MAX_INPUT___233 = 2,
    _PC_NAME_MAX___233 = 3,
    _PC_PATH_MAX___233 = 4,
    _PC_PIPE_BUF___233 = 5,
    _PC_CHOWN_RESTRICTED___233 = 6,
    _PC_NO_TRUNC___233 = 7,
    _PC_VDISABLE___233 = 8,
    _PC_SYNC_IO___233 = 9,
    _PC_ASYNC_IO___233 = 10,
    _PC_PRIO_IO___233 = 11,
    _PC_SOCK_MAXBUF___233 = 12,
    _PC_FILESIZEBITS___233 = 13,
    _PC_REC_INCR_XFER_SIZE___233 = 14,
    _PC_REC_MAX_XFER_SIZE___233 = 15,
    _PC_REC_MIN_XFER_SIZE___233 = 16,
    _PC_REC_XFER_ALIGN___233 = 17,
    _PC_ALLOC_SIZE_MIN___233 = 18,
    _PC_SYMLINK_MAX___233 = 19,
    _PC_2_SYMLINKS___233 = 20
} ;
enum __anonenum_315186338___233 {
    _SC_ARG_MAX___233 = 0,
    _SC_CHILD_MAX___233 = 1,
    _SC_CLK_TCK___233 = 2,
    _SC_NGROUPS_MAX___233 = 3,
    _SC_OPEN_MAX___233 = 4,
    _SC_STREAM_MAX___233 = 5,
    _SC_TZNAME_MAX___233 = 6,
    _SC_JOB_CONTROL___233 = 7,
    _SC_SAVED_IDS___233 = 8,
    _SC_REALTIME_SIGNALS___233 = 9,
    _SC_PRIORITY_SCHEDULING___233 = 10,
    _SC_TIMERS___233 = 11,
    _SC_ASYNCHRONOUS_IO___233 = 12,
    _SC_PRIORITIZED_IO___233 = 13,
    _SC_SYNCHRONIZED_IO___233 = 14,
    _SC_FSYNC___233 = 15,
    _SC_MAPPED_FILES___233 = 16,
    _SC_MEMLOCK___233 = 17,
    _SC_MEMLOCK_RANGE___233 = 18,
    _SC_MEMORY_PROTECTION___233 = 19,
    _SC_MESSAGE_PASSING___233 = 20,
    _SC_SEMAPHORES___233 = 21,
    _SC_SHARED_MEMORY_OBJECTS___233 = 22,
    _SC_AIO_LISTIO_MAX___233 = 23,
    _SC_AIO_MAX___233 = 24,
    _SC_AIO_PRIO_DELTA_MAX___233 = 25,
    _SC_DELAYTIMER_MAX___233 = 26,
    _SC_MQ_OPEN_MAX___233 = 27,
    _SC_MQ_PRIO_MAX___233 = 28,
    _SC_VERSION___233 = 29,
    _SC_PAGESIZE___233 = 30,
    _SC_RTSIG_MAX___233 = 31,
    _SC_SEM_NSEMS_MAX___233 = 32,
    _SC_SEM_VALUE_MAX___233 = 33,
    _SC_SIGQUEUE_MAX___233 = 34,
    _SC_TIMER_MAX___233 = 35,
    _SC_BC_BASE_MAX___233 = 36,
    _SC_BC_DIM_MAX___233 = 37,
    _SC_BC_SCALE_MAX___233 = 38,
    _SC_BC_STRING_MAX___233 = 39,
    _SC_COLL_WEIGHTS_MAX___233 = 40,
    _SC_EQUIV_CLASS_MAX___233 = 41,
    _SC_EXPR_NEST_MAX___233 = 42,
    _SC_LINE_MAX___233 = 43,
    _SC_RE_DUP_MAX___233 = 44,
    _SC_CHARCLASS_NAME_MAX___233 = 45,
    _SC_2_VERSION___233 = 46,
    _SC_2_C_BIND___233 = 47,
    _SC_2_C_DEV___233 = 48,
    _SC_2_FORT_DEV___233 = 49,
    _SC_2_FORT_RUN___233 = 50,
    _SC_2_SW_DEV___233 = 51,
    _SC_2_LOCALEDEF___233 = 52,
    _SC_PII___233 = 53,
    _SC_PII_XTI___233 = 54,
    _SC_PII_SOCKET___233 = 55,
    _SC_PII_INTERNET___233 = 56,
    _SC_PII_OSI___233 = 57,
    _SC_POLL___233 = 58,
    _SC_SELECT___233 = 59,
    _SC_UIO_MAXIOV___233 = 60,
    _SC_IOV_MAX___233 = 60,
    _SC_PII_INTERNET_STREAM___233 = 61,
    _SC_PII_INTERNET_DGRAM___233 = 62,
    _SC_PII_OSI_COTS___233 = 63,
    _SC_PII_OSI_CLTS___233 = 64,
    _SC_PII_OSI_M___233 = 65,
    _SC_T_IOV_MAX___233 = 66,
    _SC_THREADS___233 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___233 = 68,
    _SC_GETGR_R_SIZE_MAX___233 = 69,
    _SC_GETPW_R_SIZE_MAX___233 = 70,
    _SC_LOGIN_NAME_MAX___233 = 71,
    _SC_TTY_NAME_MAX___233 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___233 = 73,
    _SC_THREAD_KEYS_MAX___233 = 74,
    _SC_THREAD_STACK_MIN___233 = 75,
    _SC_THREAD_THREADS_MAX___233 = 76,
    _SC_THREAD_ATTR_STACKADDR___233 = 77,
    _SC_THREAD_ATTR_STACKSIZE___233 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___233 = 79,
    _SC_THREAD_PRIO_INHERIT___233 = 80,
    _SC_THREAD_PRIO_PROTECT___233 = 81,
    _SC_THREAD_PROCESS_SHARED___233 = 82,
    _SC_NPROCESSORS_CONF___233 = 83,
    _SC_NPROCESSORS_ONLN___233 = 84,
    _SC_PHYS_PAGES___233 = 85,
    _SC_AVPHYS_PAGES___233 = 86,
    _SC_ATEXIT_MAX___233 = 87,
    _SC_PASS_MAX___233 = 88,
    _SC_XOPEN_VERSION___233 = 89,
    _SC_XOPEN_XCU_VERSION___233 = 90,
    _SC_XOPEN_UNIX___233 = 91,
    _SC_XOPEN_CRYPT___233 = 92,
    _SC_XOPEN_ENH_I18N___233 = 93,
    _SC_XOPEN_SHM___233 = 94,
    _SC_2_CHAR_TERM___233 = 95,
    _SC_2_C_VERSION___233 = 96,
    _SC_2_UPE___233 = 97,
    _SC_XOPEN_XPG2___233 = 98,
    _SC_XOPEN_XPG3___233 = 99,
    _SC_XOPEN_XPG4___233 = 100,
    _SC_CHAR_BIT___233 = 101,
    _SC_CHAR_MAX___233 = 102,
    _SC_CHAR_MIN___233 = 103,
    _SC_INT_MAX___233 = 104,
    _SC_INT_MIN___233 = 105,
    _SC_LONG_BIT___233 = 106,
    _SC_WORD_BIT___233 = 107,
    _SC_MB_LEN_MAX___233 = 108,
    _SC_NZERO___233 = 109,
    _SC_SSIZE_MAX___233 = 110,
    _SC_SCHAR_MAX___233 = 111,
    _SC_SCHAR_MIN___233 = 112,
    _SC_SHRT_MAX___233 = 113,
    _SC_SHRT_MIN___233 = 114,
    _SC_UCHAR_MAX___233 = 115,
    _SC_UINT_MAX___233 = 116,
    _SC_ULONG_MAX___233 = 117,
    _SC_USHRT_MAX___233 = 118,
    _SC_NL_ARGMAX___233 = 119,
    _SC_NL_LANGMAX___233 = 120,
    _SC_NL_MSGMAX___233 = 121,
    _SC_NL_NMAX___233 = 122,
    _SC_NL_SETMAX___233 = 123,
    _SC_NL_TEXTMAX___233 = 124,
    _SC_XBS5_ILP32_OFF32___233 = 125,
    _SC_XBS5_ILP32_OFFBIG___233 = 126,
    _SC_XBS5_LP64_OFF64___233 = 127,
    _SC_XBS5_LPBIG_OFFBIG___233 = 128,
    _SC_XOPEN_LEGACY___233 = 129,
    _SC_XOPEN_REALTIME___233 = 130,
    _SC_XOPEN_REALTIME_THREADS___233 = 131,
    _SC_ADVISORY_INFO___233 = 132,
    _SC_BARRIERS___233 = 133,
    _SC_BASE___233 = 134,
    _SC_C_LANG_SUPPORT___233 = 135,
    _SC_C_LANG_SUPPORT_R___233 = 136,
    _SC_CLOCK_SELECTION___233 = 137,
    _SC_CPUTIME___233 = 138,
    _SC_THREAD_CPUTIME___233 = 139,
    _SC_DEVICE_IO___233 = 140,
    _SC_DEVICE_SPECIFIC___233 = 141,
    _SC_DEVICE_SPECIFIC_R___233 = 142,
    _SC_FD_MGMT___233 = 143,
    _SC_FIFO___233 = 144,
    _SC_PIPE___233 = 145,
    _SC_FILE_ATTRIBUTES___233 = 146,
    _SC_FILE_LOCKING___233 = 147,
    _SC_FILE_SYSTEM___233 = 148,
    _SC_MONOTONIC_CLOCK___233 = 149,
    _SC_MULTI_PROCESS___233 = 150,
    _SC_SINGLE_PROCESS___233 = 151,
    _SC_NETWORKING___233 = 152,
    _SC_READER_WRITER_LOCKS___233 = 153,
    _SC_SPIN_LOCKS___233 = 154,
    _SC_REGEXP___233 = 155,
    _SC_REGEX_VERSION___233 = 156,
    _SC_SHELL___233 = 157,
    _SC_SIGNALS___233 = 158,
    _SC_SPAWN___233 = 159,
    _SC_SPORADIC_SERVER___233 = 160,
    _SC_THREAD_SPORADIC_SERVER___233 = 161,
    _SC_SYSTEM_DATABASE___233 = 162,
    _SC_SYSTEM_DATABASE_R___233 = 163,
    _SC_TIMEOUTS___233 = 164,
    _SC_TYPED_MEMORY_OBJECTS___233 = 165,
    _SC_USER_GROUPS___233 = 166,
    _SC_USER_GROUPS_R___233 = 167,
    _SC_2_PBS___233 = 168,
    _SC_2_PBS_ACCOUNTING___233 = 169,
    _SC_2_PBS_LOCATE___233 = 170,
    _SC_2_PBS_MESSAGE___233 = 171,
    _SC_2_PBS_TRACK___233 = 172,
    _SC_SYMLOOP_MAX___233 = 173,
    _SC_STREAMS___233 = 174,
    _SC_2_PBS_CHECKPOINT___233 = 175,
    _SC_V6_ILP32_OFF32___233 = 176,
    _SC_V6_ILP32_OFFBIG___233 = 177,
    _SC_V6_LP64_OFF64___233 = 178,
    _SC_V6_LPBIG_OFFBIG___233 = 179,
    _SC_HOST_NAME_MAX___233 = 180,
    _SC_TRACE___233 = 181,
    _SC_TRACE_EVENT_FILTER___233 = 182,
    _SC_TRACE_INHERIT___233 = 183,
    _SC_TRACE_LOG___233 = 184,
    _SC_LEVEL1_ICACHE_SIZE___233 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___233 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___233 = 187,
    _SC_LEVEL1_DCACHE_SIZE___233 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___233 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___233 = 190,
    _SC_LEVEL2_CACHE_SIZE___233 = 191,
    _SC_LEVEL2_CACHE_ASSOC___233 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___233 = 193,
    _SC_LEVEL3_CACHE_SIZE___233 = 194,
    _SC_LEVEL3_CACHE_ASSOC___233 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___233 = 196,
    _SC_LEVEL4_CACHE_SIZE___233 = 197,
    _SC_LEVEL4_CACHE_ASSOC___233 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___233 = 199,
    _SC_IPV6___233 = 235,
    _SC_RAW_SOCKETS___233 = 236,
    _SC_V7_ILP32_OFF32___233 = 237,
    _SC_V7_ILP32_OFFBIG___233 = 238,
    _SC_V7_LP64_OFF64___233 = 239,
    _SC_V7_LPBIG_OFFBIG___233 = 240,
    _SC_SS_REPL_MAX___233 = 241,
    _SC_TRACE_EVENT_NAME_MAX___233 = 242,
    _SC_TRACE_NAME_MAX___233 = 243,
    _SC_TRACE_SYS_MAX___233 = 244,
    _SC_TRACE_USER_EVENT_MAX___233 = 245,
    _SC_XOPEN_STREAMS___233 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___233 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___233 = 248
} ;
enum __anonenum_875524036___233 {
    _CS_PATH___233 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___233 = 1,
    _CS_GNU_LIBC_VERSION___233 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___233 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___233 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___233 = 5,
    _CS_LFS_CFLAGS___233 = 1000,
    _CS_LFS_LDFLAGS___233 = 1001,
    _CS_LFS_LIBS___233 = 1002,
    _CS_LFS_LINTFLAGS___233 = 1003,
    _CS_LFS64_CFLAGS___233 = 1004,
    _CS_LFS64_LDFLAGS___233 = 1005,
    _CS_LFS64_LIBS___233 = 1006,
    _CS_LFS64_LINTFLAGS___233 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___233 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___233 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___233 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___233 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___233 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___233 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___233 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___233 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___233 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___233 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___233 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___233 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___233 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___233 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___233 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___233 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___233 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___233 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___233 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___233 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___233 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___233 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___233 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___233 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___233 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___233 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___233 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___233 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___233 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___233 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___233 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___233 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___233 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___233 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___233 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___233 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___233 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___233 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___233 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___233 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___233 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___233 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___233 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___233 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___233 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___233 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___233 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___233 = 1147,
    _CS_V6_ENV___233 = 1148,
    _CS_V7_ENV___233 = 1149
} ;
enum __anonenum_513775621___233 {
    DT_UNKNOWN___233 = 0,
    DT_FIFO___233 = 1,
    DT_CHR___233 = 2,
    DT_DIR___233 = 4,
    DT_BLK___233 = 6,
    DT_REG___233 = 8,
    DT_LNK___233 = 10,
    DT_SOCK___233 = 12,
    DT_WHT___233 = 14
} ;
enum __anonenum_77002343___233 {
    SI_ASYNCNL___233 = -60,
    SI_TKILL___233 = -6,
    SI_SIGIO___233 = -5,
    SI_ASYNCIO___233 = -4,
    SI_MESGQ___233 = -3,
    SI_TIMER___233 = -2,
    SI_QUEUE___233 = -1,
    SI_USER___233 = 0,
    SI_KERNEL___233 = 128
} ;
enum __anonenum_131038172___233 {
    ILL_ILLOPC___233 = 1,
    ILL_ILLOPN___233 = 2,
    ILL_ILLADR___233 = 3,
    ILL_ILLTRP___233 = 4,
    ILL_PRVOPC___233 = 5,
    ILL_PRVREG___233 = 6,
    ILL_COPROC___233 = 7,
    ILL_BADSTK___233 = 8
} ;
enum __anonenum_452038093___233 {
    FPE_INTDIV___233 = 1,
    FPE_INTOVF___233 = 2,
    FPE_FLTDIV___233 = 3,
    FPE_FLTOVF___233 = 4,
    FPE_FLTUND___233 = 5,
    FPE_FLTRES___233 = 6,
    FPE_FLTINV___233 = 7,
    FPE_FLTSUB___233 = 8
} ;
enum __anonenum_30976155___233 {
    SEGV_MAPERR___233 = 1,
    SEGV_ACCERR___233 = 2,
    SEGV_BNDERR___233 = 3,
    SEGV_PKUERR___233 = 4
} ;
enum __anonenum_1036286214___233 {
    BUS_ADRALN___233 = 1,
    BUS_ADRERR___233 = 2,
    BUS_OBJERR___233 = 3,
    BUS_MCEERR_AR___233 = 4,
    BUS_MCEERR_AO___233 = 5
} ;
enum __anonenum_493465559___233 {
    TRAP_BRKPT___233 = 1,
    TRAP_TRACE___233 = 2
} ;
enum __anonenum_23175539___233 {
    CLD_EXITED___233 = 1,
    CLD_KILLED___233 = 2,
    CLD_DUMPED___233 = 3,
    CLD_TRAPPED___233 = 4,
    CLD_STOPPED___233 = 5,
    CLD_CONTINUED___233 = 6
} ;
enum __anonenum_111643124___233 {
    POLL_IN___233 = 1,
    POLL_OUT___233 = 2,
    POLL_MSG___233 = 3,
    POLL_ERR___233 = 4,
    POLL_PRI___233 = 5,
    POLL_HUP___233 = 6
} ;
enum __anonenum_852341087___233 {
    SIGEV_SIGNAL___233 = 0,
    SIGEV_NONE___233 = 1,
    SIGEV_THREAD___233 = 2,
    SIGEV_THREAD_ID___233 = 4
} ;
enum __anonenum_451154152___233 {
    REG_R8___233 = 0,
    REG_R9___233 = 1,
    REG_R10___233 = 2,
    REG_R11___233 = 3,
    REG_R12___233 = 4,
    REG_R13___233 = 5,
    REG_R14___233 = 6,
    REG_R15___233 = 7,
    REG_RDI___233 = 8,
    REG_RSI___233 = 9,
    REG_RBP___233 = 10,
    REG_RBX___233 = 11,
    REG_RDX___233 = 12,
    REG_RAX___233 = 13,
    REG_RCX___233 = 14,
    REG_RSP___233 = 15,
    REG_RIP___233 = 16,
    REG_EFL___233 = 17,
    REG_CSGSFS___233 = 18,
    REG_ERR___233 = 19,
    REG_TRAPNO___233 = 20,
    REG_OLDMASK___233 = 21,
    REG_CR2___233 = 22
} ;
enum __anonenum_57186863___233 {
    SS_ONSTACK___233 = 1,
    SS_DISABLE___233 = 2
} ;
enum __anonenum_83571709___233 {
    MSG_OOB___233 = 1,
    MSG_PEEK___233 = 2,
    MSG_DONTROUTE___233 = 4,
    MSG_TRYHARD___233 = 4,
    MSG_CTRUNC___233 = 8,
    MSG_PROXY___233 = 16,
    MSG_TRUNC___233 = 32,
    MSG_DONTWAIT___233 = 64,
    MSG_EOR___233 = 128,
    MSG_WAITALL___233 = 256,
    MSG_FIN___233 = 512,
    MSG_SYN___233 = 1024,
    MSG_CONFIRM___233 = 2048,
    MSG_RST___233 = 4096,
    MSG_ERRQUEUE___233 = 8192,
    MSG_NOSIGNAL___233 = 16384,
    MSG_MORE___233 = 32768,
    MSG_WAITFORONE___233 = 65536,
    MSG_BATCH___233 = 262144,
    MSG_ZEROCOPY___233 = 67108864,
    MSG_FASTOPEN___233 = 536870912,
    MSG_CMSG_CLOEXEC___233 = 1073741824
} ;
enum __anonenum_617082774___233 {
    SCM_RIGHTS___233 = 1,
    SCM_CREDENTIALS___233 = 2
} ;
enum __anonenum_606441560___233 {
    SHUT_RD___233 = 0,
    SHUT_WR___233 = 1,
    SHUT_RDWR___233 = 2
} ;
enum __anonenum_681669233___233 {
    IPPROTO_IP___233 = 0,
    IPPROTO_ICMP___233 = 1,
    IPPROTO_IGMP___233 = 2,
    IPPROTO_IPIP___233 = 4,
    IPPROTO_TCP___233 = 6,
    IPPROTO_EGP___233 = 8,
    IPPROTO_PUP___233 = 12,
    IPPROTO_UDP___233 = 17,
    IPPROTO_IDP___233 = 22,
    IPPROTO_TP___233 = 29,
    IPPROTO_DCCP___233 = 33,
    IPPROTO_IPV6___233 = 41,
    IPPROTO_RSVP___233 = 46,
    IPPROTO_GRE___233 = 47,
    IPPROTO_ESP___233 = 50,
    IPPROTO_AH___233 = 51,
    IPPROTO_MTP___233 = 92,
    IPPROTO_BEETPH___233 = 94,
    IPPROTO_ENCAP___233 = 98,
    IPPROTO_PIM___233 = 103,
    IPPROTO_COMP___233 = 108,
    IPPROTO_SCTP___233 = 132,
    IPPROTO_UDPLITE___233 = 136,
    IPPROTO_MPLS___233 = 137,
    IPPROTO_RAW___233 = 255,
    IPPROTO_MAX___233 = 256
} ;
enum __anonenum_218739988___233 {
    IPPROTO_HOPOPTS___233 = 0,
    IPPROTO_ROUTING___233 = 43,
    IPPROTO_FRAGMENT___233 = 44,
    IPPROTO_ICMPV6___233 = 58,
    IPPROTO_NONE___233 = 59,
    IPPROTO_DSTOPTS___233 = 60,
    IPPROTO_MH___233 = 135
} ;
enum __anonenum_662268580___233 {
    IPPORT_ECHO___233 = 7,
    IPPORT_DISCARD___233 = 9,
    IPPORT_SYSTAT___233 = 11,
    IPPORT_DAYTIME___233 = 13,
    IPPORT_NETSTAT___233 = 15,
    IPPORT_FTP___233 = 21,
    IPPORT_TELNET___233 = 23,
    IPPORT_SMTP___233 = 25,
    IPPORT_TIMESERVER___233 = 37,
    IPPORT_NAMESERVER___233 = 42,
    IPPORT_WHOIS___233 = 43,
    IPPORT_MTP___233 = 57,
    IPPORT_TFTP___233 = 69,
    IPPORT_RJE___233 = 77,
    IPPORT_FINGER___233 = 79,
    IPPORT_TTYLINK___233 = 87,
    IPPORT_SUPDUP___233 = 95,
    IPPORT_EXECSERVER___233 = 512,
    IPPORT_LOGINSERVER___233 = 513,
    IPPORT_CMDSERVER___233 = 514,
    IPPORT_EFSSERVER___233 = 520,
    IPPORT_BIFFUDP___233 = 512,
    IPPORT_WHOSERVER___233 = 513,
    IPPORT_ROUTESERVER___233 = 520,
    IPPORT_RESERVED___233 = 1024,
    IPPORT_USERRESERVED___233 = 5000
} ;
enum __anonenum_788308992___233 {
    TCP_ESTABLISHED___233 = 1,
    TCP_SYN_SENT___233 = 2,
    TCP_SYN_RECV___233 = 3,
    TCP_FIN_WAIT1___233 = 4,
    TCP_FIN_WAIT2___233 = 5,
    TCP_TIME_WAIT___233 = 6,
    TCP_CLOSE___233 = 7,
    TCP_CLOSE_WAIT___233 = 8,
    TCP_LAST_ACK___233 = 9,
    TCP_LISTEN___233 = 10,
    TCP_CLOSING___233 = 11
} ;
enum __anonenum_221125648___233 {
    TCP_NO_QUEUE___233 = 0,
    TCP_RECV_QUEUE___233 = 1,
    TCP_SEND_QUEUE___233 = 2,
    TCP_QUEUES_NR___233 = 3
} ;
enum __anonenum_34415463___233 {
    PTHREAD_CREATE_JOINABLE___233 = 0,
    PTHREAD_CREATE_DETACHED___233 = 1
} ;
enum __anonenum_303612439___233 {
    PTHREAD_MUTEX_TIMED_NP___233 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___233 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___233 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___233 = 3,
    PTHREAD_MUTEX_NORMAL___233 = 0,
    PTHREAD_MUTEX_RECURSIVE___233 = 1,
    PTHREAD_MUTEX_ERRORCHECK___233 = 2,
    PTHREAD_MUTEX_DEFAULT___233 = 0,
    PTHREAD_MUTEX_FAST_NP___233 = 0
} ;
enum __anonenum_931900394___233 {
    PTHREAD_MUTEX_STALLED___233 = 0,
    PTHREAD_MUTEX_STALLED_NP___233 = 0,
    PTHREAD_MUTEX_ROBUST___233 = 1,
    PTHREAD_MUTEX_ROBUST_NP___233 = 1
} ;
enum __anonenum_205214487___233 {
    PTHREAD_PRIO_NONE___233 = 0,
    PTHREAD_PRIO_INHERIT___233 = 1,
    PTHREAD_PRIO_PROTECT___233 = 2
} ;
enum __anonenum_25043950___233 {
    PTHREAD_RWLOCK_PREFER_READER_NP___233 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___233 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___233 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___233 = 0
} ;
enum __anonenum_436439511___233 {
    PTHREAD_INHERIT_SCHED___233 = 0,
    PTHREAD_EXPLICIT_SCHED___233 = 1
} ;
enum __anonenum_998661166___233 {
    PTHREAD_SCOPE_SYSTEM___233 = 0,
    PTHREAD_SCOPE_PROCESS___233 = 1
} ;
enum __anonenum_146137331___233 {
    PTHREAD_PROCESS_PRIVATE___233 = 0,
    PTHREAD_PROCESS_SHARED___233 = 1
} ;
enum __anonenum_53396917___233 {
    PTHREAD_CANCEL_ENABLE___233 = 0,
    PTHREAD_CANCEL_DISABLE___233 = 1
} ;
enum __anonenum_904563783___233 {
    PTHREAD_CANCEL_DEFERRED___233 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___233 = 1
} ;
enum __anonenum_672052974___233 {
    SSL_CT_VALIDATION_PERMISSIVE___233 = 0,
    SSL_CT_VALIDATION_STRICT___233 = 1
} ;
struct unix_ss_socket {
   char *path_socket ;
   struct stat st_socket ;
   int fd_socket ;
};
enum __anonenum_437032235___234 {
    _PC_LINK_MAX___234 = 0,
    _PC_MAX_CANON___234 = 1,
    _PC_MAX_INPUT___234 = 2,
    _PC_NAME_MAX___234 = 3,
    _PC_PATH_MAX___234 = 4,
    _PC_PIPE_BUF___234 = 5,
    _PC_CHOWN_RESTRICTED___234 = 6,
    _PC_NO_TRUNC___234 = 7,
    _PC_VDISABLE___234 = 8,
    _PC_SYNC_IO___234 = 9,
    _PC_ASYNC_IO___234 = 10,
    _PC_PRIO_IO___234 = 11,
    _PC_SOCK_MAXBUF___234 = 12,
    _PC_FILESIZEBITS___234 = 13,
    _PC_REC_INCR_XFER_SIZE___234 = 14,
    _PC_REC_MAX_XFER_SIZE___234 = 15,
    _PC_REC_MIN_XFER_SIZE___234 = 16,
    _PC_REC_XFER_ALIGN___234 = 17,
    _PC_ALLOC_SIZE_MIN___234 = 18,
    _PC_SYMLINK_MAX___234 = 19,
    _PC_2_SYMLINKS___234 = 20
} ;
enum __anonenum_315186338___234 {
    _SC_ARG_MAX___234 = 0,
    _SC_CHILD_MAX___234 = 1,
    _SC_CLK_TCK___234 = 2,
    _SC_NGROUPS_MAX___234 = 3,
    _SC_OPEN_MAX___234 = 4,
    _SC_STREAM_MAX___234 = 5,
    _SC_TZNAME_MAX___234 = 6,
    _SC_JOB_CONTROL___234 = 7,
    _SC_SAVED_IDS___234 = 8,
    _SC_REALTIME_SIGNALS___234 = 9,
    _SC_PRIORITY_SCHEDULING___234 = 10,
    _SC_TIMERS___234 = 11,
    _SC_ASYNCHRONOUS_IO___234 = 12,
    _SC_PRIORITIZED_IO___234 = 13,
    _SC_SYNCHRONIZED_IO___234 = 14,
    _SC_FSYNC___234 = 15,
    _SC_MAPPED_FILES___234 = 16,
    _SC_MEMLOCK___234 = 17,
    _SC_MEMLOCK_RANGE___234 = 18,
    _SC_MEMORY_PROTECTION___234 = 19,
    _SC_MESSAGE_PASSING___234 = 20,
    _SC_SEMAPHORES___234 = 21,
    _SC_SHARED_MEMORY_OBJECTS___234 = 22,
    _SC_AIO_LISTIO_MAX___234 = 23,
    _SC_AIO_MAX___234 = 24,
    _SC_AIO_PRIO_DELTA_MAX___234 = 25,
    _SC_DELAYTIMER_MAX___234 = 26,
    _SC_MQ_OPEN_MAX___234 = 27,
    _SC_MQ_PRIO_MAX___234 = 28,
    _SC_VERSION___234 = 29,
    _SC_PAGESIZE___234 = 30,
    _SC_RTSIG_MAX___234 = 31,
    _SC_SEM_NSEMS_MAX___234 = 32,
    _SC_SEM_VALUE_MAX___234 = 33,
    _SC_SIGQUEUE_MAX___234 = 34,
    _SC_TIMER_MAX___234 = 35,
    _SC_BC_BASE_MAX___234 = 36,
    _SC_BC_DIM_MAX___234 = 37,
    _SC_BC_SCALE_MAX___234 = 38,
    _SC_BC_STRING_MAX___234 = 39,
    _SC_COLL_WEIGHTS_MAX___234 = 40,
    _SC_EQUIV_CLASS_MAX___234 = 41,
    _SC_EXPR_NEST_MAX___234 = 42,
    _SC_LINE_MAX___234 = 43,
    _SC_RE_DUP_MAX___234 = 44,
    _SC_CHARCLASS_NAME_MAX___234 = 45,
    _SC_2_VERSION___234 = 46,
    _SC_2_C_BIND___234 = 47,
    _SC_2_C_DEV___234 = 48,
    _SC_2_FORT_DEV___234 = 49,
    _SC_2_FORT_RUN___234 = 50,
    _SC_2_SW_DEV___234 = 51,
    _SC_2_LOCALEDEF___234 = 52,
    _SC_PII___234 = 53,
    _SC_PII_XTI___234 = 54,
    _SC_PII_SOCKET___234 = 55,
    _SC_PII_INTERNET___234 = 56,
    _SC_PII_OSI___234 = 57,
    _SC_POLL___234 = 58,
    _SC_SELECT___234 = 59,
    _SC_UIO_MAXIOV___234 = 60,
    _SC_IOV_MAX___234 = 60,
    _SC_PII_INTERNET_STREAM___234 = 61,
    _SC_PII_INTERNET_DGRAM___234 = 62,
    _SC_PII_OSI_COTS___234 = 63,
    _SC_PII_OSI_CLTS___234 = 64,
    _SC_PII_OSI_M___234 = 65,
    _SC_T_IOV_MAX___234 = 66,
    _SC_THREADS___234 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___234 = 68,
    _SC_GETGR_R_SIZE_MAX___234 = 69,
    _SC_GETPW_R_SIZE_MAX___234 = 70,
    _SC_LOGIN_NAME_MAX___234 = 71,
    _SC_TTY_NAME_MAX___234 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___234 = 73,
    _SC_THREAD_KEYS_MAX___234 = 74,
    _SC_THREAD_STACK_MIN___234 = 75,
    _SC_THREAD_THREADS_MAX___234 = 76,
    _SC_THREAD_ATTR_STACKADDR___234 = 77,
    _SC_THREAD_ATTR_STACKSIZE___234 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___234 = 79,
    _SC_THREAD_PRIO_INHERIT___234 = 80,
    _SC_THREAD_PRIO_PROTECT___234 = 81,
    _SC_THREAD_PROCESS_SHARED___234 = 82,
    _SC_NPROCESSORS_CONF___234 = 83,
    _SC_NPROCESSORS_ONLN___234 = 84,
    _SC_PHYS_PAGES___234 = 85,
    _SC_AVPHYS_PAGES___234 = 86,
    _SC_ATEXIT_MAX___234 = 87,
    _SC_PASS_MAX___234 = 88,
    _SC_XOPEN_VERSION___234 = 89,
    _SC_XOPEN_XCU_VERSION___234 = 90,
    _SC_XOPEN_UNIX___234 = 91,
    _SC_XOPEN_CRYPT___234 = 92,
    _SC_XOPEN_ENH_I18N___234 = 93,
    _SC_XOPEN_SHM___234 = 94,
    _SC_2_CHAR_TERM___234 = 95,
    _SC_2_C_VERSION___234 = 96,
    _SC_2_UPE___234 = 97,
    _SC_XOPEN_XPG2___234 = 98,
    _SC_XOPEN_XPG3___234 = 99,
    _SC_XOPEN_XPG4___234 = 100,
    _SC_CHAR_BIT___234 = 101,
    _SC_CHAR_MAX___234 = 102,
    _SC_CHAR_MIN___234 = 103,
    _SC_INT_MAX___234 = 104,
    _SC_INT_MIN___234 = 105,
    _SC_LONG_BIT___234 = 106,
    _SC_WORD_BIT___234 = 107,
    _SC_MB_LEN_MAX___234 = 108,
    _SC_NZERO___234 = 109,
    _SC_SSIZE_MAX___234 = 110,
    _SC_SCHAR_MAX___234 = 111,
    _SC_SCHAR_MIN___234 = 112,
    _SC_SHRT_MAX___234 = 113,
    _SC_SHRT_MIN___234 = 114,
    _SC_UCHAR_MAX___234 = 115,
    _SC_UINT_MAX___234 = 116,
    _SC_ULONG_MAX___234 = 117,
    _SC_USHRT_MAX___234 = 118,
    _SC_NL_ARGMAX___234 = 119,
    _SC_NL_LANGMAX___234 = 120,
    _SC_NL_MSGMAX___234 = 121,
    _SC_NL_NMAX___234 = 122,
    _SC_NL_SETMAX___234 = 123,
    _SC_NL_TEXTMAX___234 = 124,
    _SC_XBS5_ILP32_OFF32___234 = 125,
    _SC_XBS5_ILP32_OFFBIG___234 = 126,
    _SC_XBS5_LP64_OFF64___234 = 127,
    _SC_XBS5_LPBIG_OFFBIG___234 = 128,
    _SC_XOPEN_LEGACY___234 = 129,
    _SC_XOPEN_REALTIME___234 = 130,
    _SC_XOPEN_REALTIME_THREADS___234 = 131,
    _SC_ADVISORY_INFO___234 = 132,
    _SC_BARRIERS___234 = 133,
    _SC_BASE___234 = 134,
    _SC_C_LANG_SUPPORT___234 = 135,
    _SC_C_LANG_SUPPORT_R___234 = 136,
    _SC_CLOCK_SELECTION___234 = 137,
    _SC_CPUTIME___234 = 138,
    _SC_THREAD_CPUTIME___234 = 139,
    _SC_DEVICE_IO___234 = 140,
    _SC_DEVICE_SPECIFIC___234 = 141,
    _SC_DEVICE_SPECIFIC_R___234 = 142,
    _SC_FD_MGMT___234 = 143,
    _SC_FIFO___234 = 144,
    _SC_PIPE___234 = 145,
    _SC_FILE_ATTRIBUTES___234 = 146,
    _SC_FILE_LOCKING___234 = 147,
    _SC_FILE_SYSTEM___234 = 148,
    _SC_MONOTONIC_CLOCK___234 = 149,
    _SC_MULTI_PROCESS___234 = 150,
    _SC_SINGLE_PROCESS___234 = 151,
    _SC_NETWORKING___234 = 152,
    _SC_READER_WRITER_LOCKS___234 = 153,
    _SC_SPIN_LOCKS___234 = 154,
    _SC_REGEXP___234 = 155,
    _SC_REGEX_VERSION___234 = 156,
    _SC_SHELL___234 = 157,
    _SC_SIGNALS___234 = 158,
    _SC_SPAWN___234 = 159,
    _SC_SPORADIC_SERVER___234 = 160,
    _SC_THREAD_SPORADIC_SERVER___234 = 161,
    _SC_SYSTEM_DATABASE___234 = 162,
    _SC_SYSTEM_DATABASE_R___234 = 163,
    _SC_TIMEOUTS___234 = 164,
    _SC_TYPED_MEMORY_OBJECTS___234 = 165,
    _SC_USER_GROUPS___234 = 166,
    _SC_USER_GROUPS_R___234 = 167,
    _SC_2_PBS___234 = 168,
    _SC_2_PBS_ACCOUNTING___234 = 169,
    _SC_2_PBS_LOCATE___234 = 170,
    _SC_2_PBS_MESSAGE___234 = 171,
    _SC_2_PBS_TRACK___234 = 172,
    _SC_SYMLOOP_MAX___234 = 173,
    _SC_STREAMS___234 = 174,
    _SC_2_PBS_CHECKPOINT___234 = 175,
    _SC_V6_ILP32_OFF32___234 = 176,
    _SC_V6_ILP32_OFFBIG___234 = 177,
    _SC_V6_LP64_OFF64___234 = 178,
    _SC_V6_LPBIG_OFFBIG___234 = 179,
    _SC_HOST_NAME_MAX___234 = 180,
    _SC_TRACE___234 = 181,
    _SC_TRACE_EVENT_FILTER___234 = 182,
    _SC_TRACE_INHERIT___234 = 183,
    _SC_TRACE_LOG___234 = 184,
    _SC_LEVEL1_ICACHE_SIZE___234 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___234 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___234 = 187,
    _SC_LEVEL1_DCACHE_SIZE___234 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___234 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___234 = 190,
    _SC_LEVEL2_CACHE_SIZE___234 = 191,
    _SC_LEVEL2_CACHE_ASSOC___234 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___234 = 193,
    _SC_LEVEL3_CACHE_SIZE___234 = 194,
    _SC_LEVEL3_CACHE_ASSOC___234 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___234 = 196,
    _SC_LEVEL4_CACHE_SIZE___234 = 197,
    _SC_LEVEL4_CACHE_ASSOC___234 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___234 = 199,
    _SC_IPV6___234 = 235,
    _SC_RAW_SOCKETS___234 = 236,
    _SC_V7_ILP32_OFF32___234 = 237,
    _SC_V7_ILP32_OFFBIG___234 = 238,
    _SC_V7_LP64_OFF64___234 = 239,
    _SC_V7_LPBIG_OFFBIG___234 = 240,
    _SC_SS_REPL_MAX___234 = 241,
    _SC_TRACE_EVENT_NAME_MAX___234 = 242,
    _SC_TRACE_NAME_MAX___234 = 243,
    _SC_TRACE_SYS_MAX___234 = 244,
    _SC_TRACE_USER_EVENT_MAX___234 = 245,
    _SC_XOPEN_STREAMS___234 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___234 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___234 = 248
} ;
enum __anonenum_875524036___234 {
    _CS_PATH___234 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___234 = 1,
    _CS_GNU_LIBC_VERSION___234 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___234 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___234 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___234 = 5,
    _CS_LFS_CFLAGS___234 = 1000,
    _CS_LFS_LDFLAGS___234 = 1001,
    _CS_LFS_LIBS___234 = 1002,
    _CS_LFS_LINTFLAGS___234 = 1003,
    _CS_LFS64_CFLAGS___234 = 1004,
    _CS_LFS64_LDFLAGS___234 = 1005,
    _CS_LFS64_LIBS___234 = 1006,
    _CS_LFS64_LINTFLAGS___234 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___234 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___234 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___234 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___234 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___234 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___234 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___234 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___234 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___234 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___234 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___234 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___234 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___234 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___234 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___234 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___234 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___234 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___234 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___234 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___234 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___234 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___234 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___234 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___234 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___234 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___234 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___234 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___234 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___234 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___234 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___234 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___234 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___234 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___234 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___234 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___234 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___234 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___234 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___234 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___234 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___234 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___234 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___234 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___234 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___234 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___234 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___234 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___234 = 1147,
    _CS_V6_ENV___234 = 1148,
    _CS_V7_ENV___234 = 1149
} ;
enum __anonenum_513775621___234 {
    DT_UNKNOWN___234 = 0,
    DT_FIFO___234 = 1,
    DT_CHR___234 = 2,
    DT_DIR___234 = 4,
    DT_BLK___234 = 6,
    DT_REG___234 = 8,
    DT_LNK___234 = 10,
    DT_SOCK___234 = 12,
    DT_WHT___234 = 14
} ;
enum __anonenum_77002343___234 {
    SI_ASYNCNL___234 = -60,
    SI_TKILL___234 = -6,
    SI_SIGIO___234 = -5,
    SI_ASYNCIO___234 = -4,
    SI_MESGQ___234 = -3,
    SI_TIMER___234 = -2,
    SI_QUEUE___234 = -1,
    SI_USER___234 = 0,
    SI_KERNEL___234 = 128
} ;
enum __anonenum_131038172___234 {
    ILL_ILLOPC___234 = 1,
    ILL_ILLOPN___234 = 2,
    ILL_ILLADR___234 = 3,
    ILL_ILLTRP___234 = 4,
    ILL_PRVOPC___234 = 5,
    ILL_PRVREG___234 = 6,
    ILL_COPROC___234 = 7,
    ILL_BADSTK___234 = 8
} ;
enum __anonenum_452038093___234 {
    FPE_INTDIV___234 = 1,
    FPE_INTOVF___234 = 2,
    FPE_FLTDIV___234 = 3,
    FPE_FLTOVF___234 = 4,
    FPE_FLTUND___234 = 5,
    FPE_FLTRES___234 = 6,
    FPE_FLTINV___234 = 7,
    FPE_FLTSUB___234 = 8
} ;
enum __anonenum_30976155___234 {
    SEGV_MAPERR___234 = 1,
    SEGV_ACCERR___234 = 2,
    SEGV_BNDERR___234 = 3,
    SEGV_PKUERR___234 = 4
} ;
enum __anonenum_1036286214___234 {
    BUS_ADRALN___234 = 1,
    BUS_ADRERR___234 = 2,
    BUS_OBJERR___234 = 3,
    BUS_MCEERR_AR___234 = 4,
    BUS_MCEERR_AO___234 = 5
} ;
enum __anonenum_493465559___234 {
    TRAP_BRKPT___234 = 1,
    TRAP_TRACE___234 = 2
} ;
enum __anonenum_23175539___234 {
    CLD_EXITED___234 = 1,
    CLD_KILLED___234 = 2,
    CLD_DUMPED___234 = 3,
    CLD_TRAPPED___234 = 4,
    CLD_STOPPED___234 = 5,
    CLD_CONTINUED___234 = 6
} ;
enum __anonenum_111643124___234 {
    POLL_IN___234 = 1,
    POLL_OUT___234 = 2,
    POLL_MSG___234 = 3,
    POLL_ERR___234 = 4,
    POLL_PRI___234 = 5,
    POLL_HUP___234 = 6
} ;
enum __anonenum_852341087___234 {
    SIGEV_SIGNAL___234 = 0,
    SIGEV_NONE___234 = 1,
    SIGEV_THREAD___234 = 2,
    SIGEV_THREAD_ID___234 = 4
} ;
enum __anonenum_451154152___234 {
    REG_R8___234 = 0,
    REG_R9___234 = 1,
    REG_R10___234 = 2,
    REG_R11___234 = 3,
    REG_R12___234 = 4,
    REG_R13___234 = 5,
    REG_R14___234 = 6,
    REG_R15___234 = 7,
    REG_RDI___234 = 8,
    REG_RSI___234 = 9,
    REG_RBP___234 = 10,
    REG_RBX___234 = 11,
    REG_RDX___234 = 12,
    REG_RAX___234 = 13,
    REG_RCX___234 = 14,
    REG_RSP___234 = 15,
    REG_RIP___234 = 16,
    REG_EFL___234 = 17,
    REG_CSGSFS___234 = 18,
    REG_ERR___234 = 19,
    REG_TRAPNO___234 = 20,
    REG_OLDMASK___234 = 21,
    REG_CR2___234 = 22
} ;
enum __anonenum_57186863___234 {
    SS_ONSTACK___234 = 1,
    SS_DISABLE___234 = 2
} ;
enum __anonenum_83571709___234 {
    MSG_OOB___234 = 1,
    MSG_PEEK___234 = 2,
    MSG_DONTROUTE___234 = 4,
    MSG_TRYHARD___234 = 4,
    MSG_CTRUNC___234 = 8,
    MSG_PROXY___234 = 16,
    MSG_TRUNC___234 = 32,
    MSG_DONTWAIT___234 = 64,
    MSG_EOR___234 = 128,
    MSG_WAITALL___234 = 256,
    MSG_FIN___234 = 512,
    MSG_SYN___234 = 1024,
    MSG_CONFIRM___234 = 2048,
    MSG_RST___234 = 4096,
    MSG_ERRQUEUE___234 = 8192,
    MSG_NOSIGNAL___234 = 16384,
    MSG_MORE___234 = 32768,
    MSG_WAITFORONE___234 = 65536,
    MSG_BATCH___234 = 262144,
    MSG_ZEROCOPY___234 = 67108864,
    MSG_FASTOPEN___234 = 536870912,
    MSG_CMSG_CLOEXEC___234 = 1073741824
} ;
enum __anonenum_617082774___234 {
    SCM_RIGHTS___234 = 1,
    SCM_CREDENTIALS___234 = 2
} ;
enum __anonenum_606441560___234 {
    SHUT_RD___234 = 0,
    SHUT_WR___234 = 1,
    SHUT_RDWR___234 = 2
} ;
enum __anonenum_681669233___234 {
    IPPROTO_IP___234 = 0,
    IPPROTO_ICMP___234 = 1,
    IPPROTO_IGMP___234 = 2,
    IPPROTO_IPIP___234 = 4,
    IPPROTO_TCP___234 = 6,
    IPPROTO_EGP___234 = 8,
    IPPROTO_PUP___234 = 12,
    IPPROTO_UDP___234 = 17,
    IPPROTO_IDP___234 = 22,
    IPPROTO_TP___234 = 29,
    IPPROTO_DCCP___234 = 33,
    IPPROTO_IPV6___234 = 41,
    IPPROTO_RSVP___234 = 46,
    IPPROTO_GRE___234 = 47,
    IPPROTO_ESP___234 = 50,
    IPPROTO_AH___234 = 51,
    IPPROTO_MTP___234 = 92,
    IPPROTO_BEETPH___234 = 94,
    IPPROTO_ENCAP___234 = 98,
    IPPROTO_PIM___234 = 103,
    IPPROTO_COMP___234 = 108,
    IPPROTO_SCTP___234 = 132,
    IPPROTO_UDPLITE___234 = 136,
    IPPROTO_MPLS___234 = 137,
    IPPROTO_RAW___234 = 255,
    IPPROTO_MAX___234 = 256
} ;
enum __anonenum_218739988___234 {
    IPPROTO_HOPOPTS___234 = 0,
    IPPROTO_ROUTING___234 = 43,
    IPPROTO_FRAGMENT___234 = 44,
    IPPROTO_ICMPV6___234 = 58,
    IPPROTO_NONE___234 = 59,
    IPPROTO_DSTOPTS___234 = 60,
    IPPROTO_MH___234 = 135
} ;
enum __anonenum_662268580___234 {
    IPPORT_ECHO___234 = 7,
    IPPORT_DISCARD___234 = 9,
    IPPORT_SYSTAT___234 = 11,
    IPPORT_DAYTIME___234 = 13,
    IPPORT_NETSTAT___234 = 15,
    IPPORT_FTP___234 = 21,
    IPPORT_TELNET___234 = 23,
    IPPORT_SMTP___234 = 25,
    IPPORT_TIMESERVER___234 = 37,
    IPPORT_NAMESERVER___234 = 42,
    IPPORT_WHOIS___234 = 43,
    IPPORT_MTP___234 = 57,
    IPPORT_TFTP___234 = 69,
    IPPORT_RJE___234 = 77,
    IPPORT_FINGER___234 = 79,
    IPPORT_TTYLINK___234 = 87,
    IPPORT_SUPDUP___234 = 95,
    IPPORT_EXECSERVER___234 = 512,
    IPPORT_LOGINSERVER___234 = 513,
    IPPORT_CMDSERVER___234 = 514,
    IPPORT_EFSSERVER___234 = 520,
    IPPORT_BIFFUDP___234 = 512,
    IPPORT_WHOSERVER___234 = 513,
    IPPORT_ROUTESERVER___234 = 520,
    IPPORT_RESERVED___234 = 1024,
    IPPORT_USERRESERVED___234 = 5000
} ;
enum __anonenum_788308992___234 {
    TCP_ESTABLISHED___234 = 1,
    TCP_SYN_SENT___234 = 2,
    TCP_SYN_RECV___234 = 3,
    TCP_FIN_WAIT1___234 = 4,
    TCP_FIN_WAIT2___234 = 5,
    TCP_TIME_WAIT___234 = 6,
    TCP_CLOSE___234 = 7,
    TCP_CLOSE_WAIT___234 = 8,
    TCP_LAST_ACK___234 = 9,
    TCP_LISTEN___234 = 10,
    TCP_CLOSING___234 = 11
} ;
enum __anonenum_221125648___234 {
    TCP_NO_QUEUE___234 = 0,
    TCP_RECV_QUEUE___234 = 1,
    TCP_SEND_QUEUE___234 = 2,
    TCP_QUEUES_NR___234 = 3
} ;
enum __anonenum_34415463___234 {
    PTHREAD_CREATE_JOINABLE___234 = 0,
    PTHREAD_CREATE_DETACHED___234 = 1
} ;
enum __anonenum_303612439___234 {
    PTHREAD_MUTEX_TIMED_NP___234 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___234 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___234 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___234 = 3,
    PTHREAD_MUTEX_NORMAL___234 = 0,
    PTHREAD_MUTEX_RECURSIVE___234 = 1,
    PTHREAD_MUTEX_ERRORCHECK___234 = 2,
    PTHREAD_MUTEX_DEFAULT___234 = 0,
    PTHREAD_MUTEX_FAST_NP___234 = 0
} ;
enum __anonenum_931900394___234 {
    PTHREAD_MUTEX_STALLED___234 = 0,
    PTHREAD_MUTEX_STALLED_NP___234 = 0,
    PTHREAD_MUTEX_ROBUST___234 = 1,
    PTHREAD_MUTEX_ROBUST_NP___234 = 1
} ;
enum __anonenum_205214487___234 {
    PTHREAD_PRIO_NONE___234 = 0,
    PTHREAD_PRIO_INHERIT___234 = 1,
    PTHREAD_PRIO_PROTECT___234 = 2
} ;
enum __anonenum_25043950___234 {
    PTHREAD_RWLOCK_PREFER_READER_NP___234 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___234 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___234 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___234 = 0
} ;
enum __anonenum_436439511___234 {
    PTHREAD_INHERIT_SCHED___234 = 0,
    PTHREAD_EXPLICIT_SCHED___234 = 1
} ;
enum __anonenum_998661166___234 {
    PTHREAD_SCOPE_SYSTEM___234 = 0,
    PTHREAD_SCOPE_PROCESS___234 = 1
} ;
enum __anonenum_146137331___234 {
    PTHREAD_PROCESS_PRIVATE___234 = 0,
    PTHREAD_PROCESS_SHARED___234 = 1
} ;
enum __anonenum_53396917___234 {
    PTHREAD_CANCEL_ENABLE___234 = 0,
    PTHREAD_CANCEL_DISABLE___234 = 1
} ;
enum __anonenum_904563783___234 {
    PTHREAD_CANCEL_DEFERRED___234 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___234 = 1
} ;
enum __anonenum_672052974___234 {
    SSL_CT_VALIDATION_PERMISSIVE___234 = 0,
    SSL_CT_VALIDATION_STRICT___234 = 1
} ;
enum ipc_active_state {
    IPC_STATE__LISTENING = 0,
    IPC_STATE__NOT_LISTENING = 1,
    IPC_STATE__INVALID_PATH = 2,
    IPC_STATE__PATH_NOT_FOUND = 3,
    IPC_STATE__OTHER_ERROR = 4
} ;
struct ipc_client_connect_options {
   unsigned int wait_if_busy : 1 ;
   unsigned int wait_if_not_found : 1 ;
   unsigned int uds_disallow_chdir : 1 ;
};
struct ipc_client_connection {
   int fd ;
};
struct ipc_server_reply_data ;
typedef int ipc_server_reply_cb(struct ipc_server_reply_data * , char const   *response ,
                                size_t response_len );
typedef int ipc_server_application_cb(void *application_data , char const   *request ,
                                      size_t request_len , ipc_server_reply_cb *reply_cb ,
                                      struct ipc_server_reply_data *reply_data );
struct ipc_server_data ;
struct ipc_server_opts {
   int nr_threads ;
   unsigned int uds_disallow_chdir : 1 ;
};
enum __anonenum_437032235___235 {
    _PC_LINK_MAX___235 = 0,
    _PC_MAX_CANON___235 = 1,
    _PC_MAX_INPUT___235 = 2,
    _PC_NAME_MAX___235 = 3,
    _PC_PATH_MAX___235 = 4,
    _PC_PIPE_BUF___235 = 5,
    _PC_CHOWN_RESTRICTED___235 = 6,
    _PC_NO_TRUNC___235 = 7,
    _PC_VDISABLE___235 = 8,
    _PC_SYNC_IO___235 = 9,
    _PC_ASYNC_IO___235 = 10,
    _PC_PRIO_IO___235 = 11,
    _PC_SOCK_MAXBUF___235 = 12,
    _PC_FILESIZEBITS___235 = 13,
    _PC_REC_INCR_XFER_SIZE___235 = 14,
    _PC_REC_MAX_XFER_SIZE___235 = 15,
    _PC_REC_MIN_XFER_SIZE___235 = 16,
    _PC_REC_XFER_ALIGN___235 = 17,
    _PC_ALLOC_SIZE_MIN___235 = 18,
    _PC_SYMLINK_MAX___235 = 19,
    _PC_2_SYMLINKS___235 = 20
} ;
enum __anonenum_315186338___235 {
    _SC_ARG_MAX___235 = 0,
    _SC_CHILD_MAX___235 = 1,
    _SC_CLK_TCK___235 = 2,
    _SC_NGROUPS_MAX___235 = 3,
    _SC_OPEN_MAX___235 = 4,
    _SC_STREAM_MAX___235 = 5,
    _SC_TZNAME_MAX___235 = 6,
    _SC_JOB_CONTROL___235 = 7,
    _SC_SAVED_IDS___235 = 8,
    _SC_REALTIME_SIGNALS___235 = 9,
    _SC_PRIORITY_SCHEDULING___235 = 10,
    _SC_TIMERS___235 = 11,
    _SC_ASYNCHRONOUS_IO___235 = 12,
    _SC_PRIORITIZED_IO___235 = 13,
    _SC_SYNCHRONIZED_IO___235 = 14,
    _SC_FSYNC___235 = 15,
    _SC_MAPPED_FILES___235 = 16,
    _SC_MEMLOCK___235 = 17,
    _SC_MEMLOCK_RANGE___235 = 18,
    _SC_MEMORY_PROTECTION___235 = 19,
    _SC_MESSAGE_PASSING___235 = 20,
    _SC_SEMAPHORES___235 = 21,
    _SC_SHARED_MEMORY_OBJECTS___235 = 22,
    _SC_AIO_LISTIO_MAX___235 = 23,
    _SC_AIO_MAX___235 = 24,
    _SC_AIO_PRIO_DELTA_MAX___235 = 25,
    _SC_DELAYTIMER_MAX___235 = 26,
    _SC_MQ_OPEN_MAX___235 = 27,
    _SC_MQ_PRIO_MAX___235 = 28,
    _SC_VERSION___235 = 29,
    _SC_PAGESIZE___235 = 30,
    _SC_RTSIG_MAX___235 = 31,
    _SC_SEM_NSEMS_MAX___235 = 32,
    _SC_SEM_VALUE_MAX___235 = 33,
    _SC_SIGQUEUE_MAX___235 = 34,
    _SC_TIMER_MAX___235 = 35,
    _SC_BC_BASE_MAX___235 = 36,
    _SC_BC_DIM_MAX___235 = 37,
    _SC_BC_SCALE_MAX___235 = 38,
    _SC_BC_STRING_MAX___235 = 39,
    _SC_COLL_WEIGHTS_MAX___235 = 40,
    _SC_EQUIV_CLASS_MAX___235 = 41,
    _SC_EXPR_NEST_MAX___235 = 42,
    _SC_LINE_MAX___235 = 43,
    _SC_RE_DUP_MAX___235 = 44,
    _SC_CHARCLASS_NAME_MAX___235 = 45,
    _SC_2_VERSION___235 = 46,
    _SC_2_C_BIND___235 = 47,
    _SC_2_C_DEV___235 = 48,
    _SC_2_FORT_DEV___235 = 49,
    _SC_2_FORT_RUN___235 = 50,
    _SC_2_SW_DEV___235 = 51,
    _SC_2_LOCALEDEF___235 = 52,
    _SC_PII___235 = 53,
    _SC_PII_XTI___235 = 54,
    _SC_PII_SOCKET___235 = 55,
    _SC_PII_INTERNET___235 = 56,
    _SC_PII_OSI___235 = 57,
    _SC_POLL___235 = 58,
    _SC_SELECT___235 = 59,
    _SC_UIO_MAXIOV___235 = 60,
    _SC_IOV_MAX___235 = 60,
    _SC_PII_INTERNET_STREAM___235 = 61,
    _SC_PII_INTERNET_DGRAM___235 = 62,
    _SC_PII_OSI_COTS___235 = 63,
    _SC_PII_OSI_CLTS___235 = 64,
    _SC_PII_OSI_M___235 = 65,
    _SC_T_IOV_MAX___235 = 66,
    _SC_THREADS___235 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___235 = 68,
    _SC_GETGR_R_SIZE_MAX___235 = 69,
    _SC_GETPW_R_SIZE_MAX___235 = 70,
    _SC_LOGIN_NAME_MAX___235 = 71,
    _SC_TTY_NAME_MAX___235 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___235 = 73,
    _SC_THREAD_KEYS_MAX___235 = 74,
    _SC_THREAD_STACK_MIN___235 = 75,
    _SC_THREAD_THREADS_MAX___235 = 76,
    _SC_THREAD_ATTR_STACKADDR___235 = 77,
    _SC_THREAD_ATTR_STACKSIZE___235 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___235 = 79,
    _SC_THREAD_PRIO_INHERIT___235 = 80,
    _SC_THREAD_PRIO_PROTECT___235 = 81,
    _SC_THREAD_PROCESS_SHARED___235 = 82,
    _SC_NPROCESSORS_CONF___235 = 83,
    _SC_NPROCESSORS_ONLN___235 = 84,
    _SC_PHYS_PAGES___235 = 85,
    _SC_AVPHYS_PAGES___235 = 86,
    _SC_ATEXIT_MAX___235 = 87,
    _SC_PASS_MAX___235 = 88,
    _SC_XOPEN_VERSION___235 = 89,
    _SC_XOPEN_XCU_VERSION___235 = 90,
    _SC_XOPEN_UNIX___235 = 91,
    _SC_XOPEN_CRYPT___235 = 92,
    _SC_XOPEN_ENH_I18N___235 = 93,
    _SC_XOPEN_SHM___235 = 94,
    _SC_2_CHAR_TERM___235 = 95,
    _SC_2_C_VERSION___235 = 96,
    _SC_2_UPE___235 = 97,
    _SC_XOPEN_XPG2___235 = 98,
    _SC_XOPEN_XPG3___235 = 99,
    _SC_XOPEN_XPG4___235 = 100,
    _SC_CHAR_BIT___235 = 101,
    _SC_CHAR_MAX___235 = 102,
    _SC_CHAR_MIN___235 = 103,
    _SC_INT_MAX___235 = 104,
    _SC_INT_MIN___235 = 105,
    _SC_LONG_BIT___235 = 106,
    _SC_WORD_BIT___235 = 107,
    _SC_MB_LEN_MAX___235 = 108,
    _SC_NZERO___235 = 109,
    _SC_SSIZE_MAX___235 = 110,
    _SC_SCHAR_MAX___235 = 111,
    _SC_SCHAR_MIN___235 = 112,
    _SC_SHRT_MAX___235 = 113,
    _SC_SHRT_MIN___235 = 114,
    _SC_UCHAR_MAX___235 = 115,
    _SC_UINT_MAX___235 = 116,
    _SC_ULONG_MAX___235 = 117,
    _SC_USHRT_MAX___235 = 118,
    _SC_NL_ARGMAX___235 = 119,
    _SC_NL_LANGMAX___235 = 120,
    _SC_NL_MSGMAX___235 = 121,
    _SC_NL_NMAX___235 = 122,
    _SC_NL_SETMAX___235 = 123,
    _SC_NL_TEXTMAX___235 = 124,
    _SC_XBS5_ILP32_OFF32___235 = 125,
    _SC_XBS5_ILP32_OFFBIG___235 = 126,
    _SC_XBS5_LP64_OFF64___235 = 127,
    _SC_XBS5_LPBIG_OFFBIG___235 = 128,
    _SC_XOPEN_LEGACY___235 = 129,
    _SC_XOPEN_REALTIME___235 = 130,
    _SC_XOPEN_REALTIME_THREADS___235 = 131,
    _SC_ADVISORY_INFO___235 = 132,
    _SC_BARRIERS___235 = 133,
    _SC_BASE___235 = 134,
    _SC_C_LANG_SUPPORT___235 = 135,
    _SC_C_LANG_SUPPORT_R___235 = 136,
    _SC_CLOCK_SELECTION___235 = 137,
    _SC_CPUTIME___235 = 138,
    _SC_THREAD_CPUTIME___235 = 139,
    _SC_DEVICE_IO___235 = 140,
    _SC_DEVICE_SPECIFIC___235 = 141,
    _SC_DEVICE_SPECIFIC_R___235 = 142,
    _SC_FD_MGMT___235 = 143,
    _SC_FIFO___235 = 144,
    _SC_PIPE___235 = 145,
    _SC_FILE_ATTRIBUTES___235 = 146,
    _SC_FILE_LOCKING___235 = 147,
    _SC_FILE_SYSTEM___235 = 148,
    _SC_MONOTONIC_CLOCK___235 = 149,
    _SC_MULTI_PROCESS___235 = 150,
    _SC_SINGLE_PROCESS___235 = 151,
    _SC_NETWORKING___235 = 152,
    _SC_READER_WRITER_LOCKS___235 = 153,
    _SC_SPIN_LOCKS___235 = 154,
    _SC_REGEXP___235 = 155,
    _SC_REGEX_VERSION___235 = 156,
    _SC_SHELL___235 = 157,
    _SC_SIGNALS___235 = 158,
    _SC_SPAWN___235 = 159,
    _SC_SPORADIC_SERVER___235 = 160,
    _SC_THREAD_SPORADIC_SERVER___235 = 161,
    _SC_SYSTEM_DATABASE___235 = 162,
    _SC_SYSTEM_DATABASE_R___235 = 163,
    _SC_TIMEOUTS___235 = 164,
    _SC_TYPED_MEMORY_OBJECTS___235 = 165,
    _SC_USER_GROUPS___235 = 166,
    _SC_USER_GROUPS_R___235 = 167,
    _SC_2_PBS___235 = 168,
    _SC_2_PBS_ACCOUNTING___235 = 169,
    _SC_2_PBS_LOCATE___235 = 170,
    _SC_2_PBS_MESSAGE___235 = 171,
    _SC_2_PBS_TRACK___235 = 172,
    _SC_SYMLOOP_MAX___235 = 173,
    _SC_STREAMS___235 = 174,
    _SC_2_PBS_CHECKPOINT___235 = 175,
    _SC_V6_ILP32_OFF32___235 = 176,
    _SC_V6_ILP32_OFFBIG___235 = 177,
    _SC_V6_LP64_OFF64___235 = 178,
    _SC_V6_LPBIG_OFFBIG___235 = 179,
    _SC_HOST_NAME_MAX___235 = 180,
    _SC_TRACE___235 = 181,
    _SC_TRACE_EVENT_FILTER___235 = 182,
    _SC_TRACE_INHERIT___235 = 183,
    _SC_TRACE_LOG___235 = 184,
    _SC_LEVEL1_ICACHE_SIZE___235 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___235 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___235 = 187,
    _SC_LEVEL1_DCACHE_SIZE___235 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___235 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___235 = 190,
    _SC_LEVEL2_CACHE_SIZE___235 = 191,
    _SC_LEVEL2_CACHE_ASSOC___235 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___235 = 193,
    _SC_LEVEL3_CACHE_SIZE___235 = 194,
    _SC_LEVEL3_CACHE_ASSOC___235 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___235 = 196,
    _SC_LEVEL4_CACHE_SIZE___235 = 197,
    _SC_LEVEL4_CACHE_ASSOC___235 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___235 = 199,
    _SC_IPV6___235 = 235,
    _SC_RAW_SOCKETS___235 = 236,
    _SC_V7_ILP32_OFF32___235 = 237,
    _SC_V7_ILP32_OFFBIG___235 = 238,
    _SC_V7_LP64_OFF64___235 = 239,
    _SC_V7_LPBIG_OFFBIG___235 = 240,
    _SC_SS_REPL_MAX___235 = 241,
    _SC_TRACE_EVENT_NAME_MAX___235 = 242,
    _SC_TRACE_NAME_MAX___235 = 243,
    _SC_TRACE_SYS_MAX___235 = 244,
    _SC_TRACE_USER_EVENT_MAX___235 = 245,
    _SC_XOPEN_STREAMS___235 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___235 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___235 = 248
} ;
enum __anonenum_875524036___235 {
    _CS_PATH___235 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___235 = 1,
    _CS_GNU_LIBC_VERSION___235 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___235 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___235 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___235 = 5,
    _CS_LFS_CFLAGS___235 = 1000,
    _CS_LFS_LDFLAGS___235 = 1001,
    _CS_LFS_LIBS___235 = 1002,
    _CS_LFS_LINTFLAGS___235 = 1003,
    _CS_LFS64_CFLAGS___235 = 1004,
    _CS_LFS64_LDFLAGS___235 = 1005,
    _CS_LFS64_LIBS___235 = 1006,
    _CS_LFS64_LINTFLAGS___235 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___235 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___235 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___235 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___235 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___235 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___235 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___235 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___235 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___235 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___235 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___235 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___235 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___235 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___235 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___235 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___235 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___235 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___235 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___235 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___235 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___235 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___235 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___235 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___235 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___235 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___235 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___235 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___235 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___235 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___235 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___235 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___235 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___235 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___235 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___235 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___235 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___235 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___235 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___235 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___235 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___235 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___235 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___235 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___235 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___235 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___235 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___235 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___235 = 1147,
    _CS_V6_ENV___235 = 1148,
    _CS_V7_ENV___235 = 1149
} ;
enum __anonenum_513775621___235 {
    DT_UNKNOWN___235 = 0,
    DT_FIFO___235 = 1,
    DT_CHR___235 = 2,
    DT_DIR___235 = 4,
    DT_BLK___235 = 6,
    DT_REG___235 = 8,
    DT_LNK___235 = 10,
    DT_SOCK___235 = 12,
    DT_WHT___235 = 14
} ;
enum __anonenum_77002343___235 {
    SI_ASYNCNL___235 = -60,
    SI_TKILL___235 = -6,
    SI_SIGIO___235 = -5,
    SI_ASYNCIO___235 = -4,
    SI_MESGQ___235 = -3,
    SI_TIMER___235 = -2,
    SI_QUEUE___235 = -1,
    SI_USER___235 = 0,
    SI_KERNEL___235 = 128
} ;
enum __anonenum_131038172___235 {
    ILL_ILLOPC___235 = 1,
    ILL_ILLOPN___235 = 2,
    ILL_ILLADR___235 = 3,
    ILL_ILLTRP___235 = 4,
    ILL_PRVOPC___235 = 5,
    ILL_PRVREG___235 = 6,
    ILL_COPROC___235 = 7,
    ILL_BADSTK___235 = 8
} ;
enum __anonenum_452038093___235 {
    FPE_INTDIV___235 = 1,
    FPE_INTOVF___235 = 2,
    FPE_FLTDIV___235 = 3,
    FPE_FLTOVF___235 = 4,
    FPE_FLTUND___235 = 5,
    FPE_FLTRES___235 = 6,
    FPE_FLTINV___235 = 7,
    FPE_FLTSUB___235 = 8
} ;
enum __anonenum_30976155___235 {
    SEGV_MAPERR___235 = 1,
    SEGV_ACCERR___235 = 2,
    SEGV_BNDERR___235 = 3,
    SEGV_PKUERR___235 = 4
} ;
enum __anonenum_1036286214___235 {
    BUS_ADRALN___235 = 1,
    BUS_ADRERR___235 = 2,
    BUS_OBJERR___235 = 3,
    BUS_MCEERR_AR___235 = 4,
    BUS_MCEERR_AO___235 = 5
} ;
enum __anonenum_493465559___235 {
    TRAP_BRKPT___235 = 1,
    TRAP_TRACE___235 = 2
} ;
enum __anonenum_23175539___235 {
    CLD_EXITED___235 = 1,
    CLD_KILLED___235 = 2,
    CLD_DUMPED___235 = 3,
    CLD_TRAPPED___235 = 4,
    CLD_STOPPED___235 = 5,
    CLD_CONTINUED___235 = 6
} ;
enum __anonenum_111643124___235 {
    POLL_IN___235 = 1,
    POLL_OUT___235 = 2,
    POLL_MSG___235 = 3,
    POLL_ERR___235 = 4,
    POLL_PRI___235 = 5,
    POLL_HUP___235 = 6
} ;
enum __anonenum_852341087___235 {
    SIGEV_SIGNAL___235 = 0,
    SIGEV_NONE___235 = 1,
    SIGEV_THREAD___235 = 2,
    SIGEV_THREAD_ID___235 = 4
} ;
enum __anonenum_451154152___235 {
    REG_R8___235 = 0,
    REG_R9___235 = 1,
    REG_R10___235 = 2,
    REG_R11___235 = 3,
    REG_R12___235 = 4,
    REG_R13___235 = 5,
    REG_R14___235 = 6,
    REG_R15___235 = 7,
    REG_RDI___235 = 8,
    REG_RSI___235 = 9,
    REG_RBP___235 = 10,
    REG_RBX___235 = 11,
    REG_RDX___235 = 12,
    REG_RAX___235 = 13,
    REG_RCX___235 = 14,
    REG_RSP___235 = 15,
    REG_RIP___235 = 16,
    REG_EFL___235 = 17,
    REG_CSGSFS___235 = 18,
    REG_ERR___235 = 19,
    REG_TRAPNO___235 = 20,
    REG_OLDMASK___235 = 21,
    REG_CR2___235 = 22
} ;
enum __anonenum_57186863___235 {
    SS_ONSTACK___235 = 1,
    SS_DISABLE___235 = 2
} ;
enum __anonenum_83571709___235 {
    MSG_OOB___235 = 1,
    MSG_PEEK___235 = 2,
    MSG_DONTROUTE___235 = 4,
    MSG_TRYHARD___235 = 4,
    MSG_CTRUNC___235 = 8,
    MSG_PROXY___235 = 16,
    MSG_TRUNC___235 = 32,
    MSG_DONTWAIT___235 = 64,
    MSG_EOR___235 = 128,
    MSG_WAITALL___235 = 256,
    MSG_FIN___235 = 512,
    MSG_SYN___235 = 1024,
    MSG_CONFIRM___235 = 2048,
    MSG_RST___235 = 4096,
    MSG_ERRQUEUE___235 = 8192,
    MSG_NOSIGNAL___235 = 16384,
    MSG_MORE___235 = 32768,
    MSG_WAITFORONE___235 = 65536,
    MSG_BATCH___235 = 262144,
    MSG_ZEROCOPY___235 = 67108864,
    MSG_FASTOPEN___235 = 536870912,
    MSG_CMSG_CLOEXEC___235 = 1073741824
} ;
enum __anonenum_617082774___235 {
    SCM_RIGHTS___235 = 1,
    SCM_CREDENTIALS___235 = 2
} ;
enum __anonenum_606441560___235 {
    SHUT_RD___235 = 0,
    SHUT_WR___235 = 1,
    SHUT_RDWR___235 = 2
} ;
enum __anonenum_681669233___235 {
    IPPROTO_IP___235 = 0,
    IPPROTO_ICMP___235 = 1,
    IPPROTO_IGMP___235 = 2,
    IPPROTO_IPIP___235 = 4,
    IPPROTO_TCP___235 = 6,
    IPPROTO_EGP___235 = 8,
    IPPROTO_PUP___235 = 12,
    IPPROTO_UDP___235 = 17,
    IPPROTO_IDP___235 = 22,
    IPPROTO_TP___235 = 29,
    IPPROTO_DCCP___235 = 33,
    IPPROTO_IPV6___235 = 41,
    IPPROTO_RSVP___235 = 46,
    IPPROTO_GRE___235 = 47,
    IPPROTO_ESP___235 = 50,
    IPPROTO_AH___235 = 51,
    IPPROTO_MTP___235 = 92,
    IPPROTO_BEETPH___235 = 94,
    IPPROTO_ENCAP___235 = 98,
    IPPROTO_PIM___235 = 103,
    IPPROTO_COMP___235 = 108,
    IPPROTO_SCTP___235 = 132,
    IPPROTO_UDPLITE___235 = 136,
    IPPROTO_MPLS___235 = 137,
    IPPROTO_RAW___235 = 255,
    IPPROTO_MAX___235 = 256
} ;
enum __anonenum_218739988___235 {
    IPPROTO_HOPOPTS___235 = 0,
    IPPROTO_ROUTING___235 = 43,
    IPPROTO_FRAGMENT___235 = 44,
    IPPROTO_ICMPV6___235 = 58,
    IPPROTO_NONE___235 = 59,
    IPPROTO_DSTOPTS___235 = 60,
    IPPROTO_MH___235 = 135
} ;
enum __anonenum_662268580___235 {
    IPPORT_ECHO___235 = 7,
    IPPORT_DISCARD___235 = 9,
    IPPORT_SYSTAT___235 = 11,
    IPPORT_DAYTIME___235 = 13,
    IPPORT_NETSTAT___235 = 15,
    IPPORT_FTP___235 = 21,
    IPPORT_TELNET___235 = 23,
    IPPORT_SMTP___235 = 25,
    IPPORT_TIMESERVER___235 = 37,
    IPPORT_NAMESERVER___235 = 42,
    IPPORT_WHOIS___235 = 43,
    IPPORT_MTP___235 = 57,
    IPPORT_TFTP___235 = 69,
    IPPORT_RJE___235 = 77,
    IPPORT_FINGER___235 = 79,
    IPPORT_TTYLINK___235 = 87,
    IPPORT_SUPDUP___235 = 95,
    IPPORT_EXECSERVER___235 = 512,
    IPPORT_LOGINSERVER___235 = 513,
    IPPORT_CMDSERVER___235 = 514,
    IPPORT_EFSSERVER___235 = 520,
    IPPORT_BIFFUDP___235 = 512,
    IPPORT_WHOSERVER___235 = 513,
    IPPORT_ROUTESERVER___235 = 520,
    IPPORT_RESERVED___235 = 1024,
    IPPORT_USERRESERVED___235 = 5000
} ;
enum __anonenum_788308992___235 {
    TCP_ESTABLISHED___235 = 1,
    TCP_SYN_SENT___235 = 2,
    TCP_SYN_RECV___235 = 3,
    TCP_FIN_WAIT1___235 = 4,
    TCP_FIN_WAIT2___235 = 5,
    TCP_TIME_WAIT___235 = 6,
    TCP_CLOSE___235 = 7,
    TCP_CLOSE_WAIT___235 = 8,
    TCP_LAST_ACK___235 = 9,
    TCP_LISTEN___235 = 10,
    TCP_CLOSING___235 = 11
} ;
enum __anonenum_221125648___235 {
    TCP_NO_QUEUE___235 = 0,
    TCP_RECV_QUEUE___235 = 1,
    TCP_SEND_QUEUE___235 = 2,
    TCP_QUEUES_NR___235 = 3
} ;
enum __anonenum_34415463___235 {
    PTHREAD_CREATE_JOINABLE___235 = 0,
    PTHREAD_CREATE_DETACHED___235 = 1
} ;
enum __anonenum_303612439___235 {
    PTHREAD_MUTEX_TIMED_NP___235 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___235 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___235 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___235 = 3,
    PTHREAD_MUTEX_NORMAL___235 = 0,
    PTHREAD_MUTEX_RECURSIVE___235 = 1,
    PTHREAD_MUTEX_ERRORCHECK___235 = 2,
    PTHREAD_MUTEX_DEFAULT___235 = 0,
    PTHREAD_MUTEX_FAST_NP___235 = 0
} ;
enum __anonenum_931900394___235 {
    PTHREAD_MUTEX_STALLED___235 = 0,
    PTHREAD_MUTEX_STALLED_NP___235 = 0,
    PTHREAD_MUTEX_ROBUST___235 = 1,
    PTHREAD_MUTEX_ROBUST_NP___235 = 1
} ;
enum __anonenum_205214487___235 {
    PTHREAD_PRIO_NONE___235 = 0,
    PTHREAD_PRIO_INHERIT___235 = 1,
    PTHREAD_PRIO_PROTECT___235 = 2
} ;
enum __anonenum_25043950___235 {
    PTHREAD_RWLOCK_PREFER_READER_NP___235 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___235 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___235 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___235 = 0
} ;
enum __anonenum_436439511___235 {
    PTHREAD_INHERIT_SCHED___235 = 0,
    PTHREAD_EXPLICIT_SCHED___235 = 1
} ;
enum __anonenum_998661166___235 {
    PTHREAD_SCOPE_SYSTEM___235 = 0,
    PTHREAD_SCOPE_PROCESS___235 = 1
} ;
enum __anonenum_146137331___235 {
    PTHREAD_PROCESS_PRIVATE___235 = 0,
    PTHREAD_PROCESS_SHARED___235 = 1
} ;
enum __anonenum_53396917___235 {
    PTHREAD_CANCEL_ENABLE___235 = 0,
    PTHREAD_CANCEL_DISABLE___235 = 1
} ;
enum __anonenum_904563783___235 {
    PTHREAD_CANCEL_DEFERRED___235 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___235 = 1
} ;
enum __anonenum_672052974___235 {
    SSL_CT_VALIDATION_PERMISSIVE___235 = 0,
    SSL_CT_VALIDATION_STRICT___235 = 1
} ;
enum magic {
    MAGIC_SERVER_REPLY_DATA = 0,
    MAGIC_WORKER_THREAD_DATA = 1,
    MAGIC_ACCEPT_THREAD_DATA = 2,
    MAGIC_SERVER_DATA = 3
} ;
struct ipc_worker_thread_data ;
struct ipc_server_reply_data {
   enum magic magic ;
   int fd ;
   struct ipc_worker_thread_data *worker_thread_data ;
};
struct ipc_worker_thread_data {
   enum magic magic ;
   struct ipc_worker_thread_data *next_thread ;
   struct ipc_server_data *server_data ;
   pthread_t pthread_id ;
};
struct ipc_accept_thread_data {
   enum magic magic ;
   struct ipc_server_data *server_data ;
   struct unix_ss_socket *server_socket ;
   int fd_send_shutdown ;
   int fd_wait_shutdown ;
   pthread_t pthread_id ;
};
struct ipc_server_data {
   enum magic magic ;
   ipc_server_application_cb *application_cb ;
   void *application_data ;
   struct strbuf buf_path ;
   struct ipc_accept_thread_data *accept_thread ;
   struct ipc_worker_thread_data *worker_thread_list ;
   pthread_mutex_t work_available_mutex ;
   pthread_cond_t work_available_cond ;
   int *fifo_fds ;
   int queue_size ;
   int back_pos ;
   int front_pos ;
   int shutdown_requested ;
   int is_stopped ;
};
enum __anonenum_437032235___236 {
    _PC_LINK_MAX___236 = 0,
    _PC_MAX_CANON___236 = 1,
    _PC_MAX_INPUT___236 = 2,
    _PC_NAME_MAX___236 = 3,
    _PC_PATH_MAX___236 = 4,
    _PC_PIPE_BUF___236 = 5,
    _PC_CHOWN_RESTRICTED___236 = 6,
    _PC_NO_TRUNC___236 = 7,
    _PC_VDISABLE___236 = 8,
    _PC_SYNC_IO___236 = 9,
    _PC_ASYNC_IO___236 = 10,
    _PC_PRIO_IO___236 = 11,
    _PC_SOCK_MAXBUF___236 = 12,
    _PC_FILESIZEBITS___236 = 13,
    _PC_REC_INCR_XFER_SIZE___236 = 14,
    _PC_REC_MAX_XFER_SIZE___236 = 15,
    _PC_REC_MIN_XFER_SIZE___236 = 16,
    _PC_REC_XFER_ALIGN___236 = 17,
    _PC_ALLOC_SIZE_MIN___236 = 18,
    _PC_SYMLINK_MAX___236 = 19,
    _PC_2_SYMLINKS___236 = 20
} ;
enum __anonenum_315186338___236 {
    _SC_ARG_MAX___236 = 0,
    _SC_CHILD_MAX___236 = 1,
    _SC_CLK_TCK___236 = 2,
    _SC_NGROUPS_MAX___236 = 3,
    _SC_OPEN_MAX___236 = 4,
    _SC_STREAM_MAX___236 = 5,
    _SC_TZNAME_MAX___236 = 6,
    _SC_JOB_CONTROL___236 = 7,
    _SC_SAVED_IDS___236 = 8,
    _SC_REALTIME_SIGNALS___236 = 9,
    _SC_PRIORITY_SCHEDULING___236 = 10,
    _SC_TIMERS___236 = 11,
    _SC_ASYNCHRONOUS_IO___236 = 12,
    _SC_PRIORITIZED_IO___236 = 13,
    _SC_SYNCHRONIZED_IO___236 = 14,
    _SC_FSYNC___236 = 15,
    _SC_MAPPED_FILES___236 = 16,
    _SC_MEMLOCK___236 = 17,
    _SC_MEMLOCK_RANGE___236 = 18,
    _SC_MEMORY_PROTECTION___236 = 19,
    _SC_MESSAGE_PASSING___236 = 20,
    _SC_SEMAPHORES___236 = 21,
    _SC_SHARED_MEMORY_OBJECTS___236 = 22,
    _SC_AIO_LISTIO_MAX___236 = 23,
    _SC_AIO_MAX___236 = 24,
    _SC_AIO_PRIO_DELTA_MAX___236 = 25,
    _SC_DELAYTIMER_MAX___236 = 26,
    _SC_MQ_OPEN_MAX___236 = 27,
    _SC_MQ_PRIO_MAX___236 = 28,
    _SC_VERSION___236 = 29,
    _SC_PAGESIZE___236 = 30,
    _SC_RTSIG_MAX___236 = 31,
    _SC_SEM_NSEMS_MAX___236 = 32,
    _SC_SEM_VALUE_MAX___236 = 33,
    _SC_SIGQUEUE_MAX___236 = 34,
    _SC_TIMER_MAX___236 = 35,
    _SC_BC_BASE_MAX___236 = 36,
    _SC_BC_DIM_MAX___236 = 37,
    _SC_BC_SCALE_MAX___236 = 38,
    _SC_BC_STRING_MAX___236 = 39,
    _SC_COLL_WEIGHTS_MAX___236 = 40,
    _SC_EQUIV_CLASS_MAX___236 = 41,
    _SC_EXPR_NEST_MAX___236 = 42,
    _SC_LINE_MAX___236 = 43,
    _SC_RE_DUP_MAX___236 = 44,
    _SC_CHARCLASS_NAME_MAX___236 = 45,
    _SC_2_VERSION___236 = 46,
    _SC_2_C_BIND___236 = 47,
    _SC_2_C_DEV___236 = 48,
    _SC_2_FORT_DEV___236 = 49,
    _SC_2_FORT_RUN___236 = 50,
    _SC_2_SW_DEV___236 = 51,
    _SC_2_LOCALEDEF___236 = 52,
    _SC_PII___236 = 53,
    _SC_PII_XTI___236 = 54,
    _SC_PII_SOCKET___236 = 55,
    _SC_PII_INTERNET___236 = 56,
    _SC_PII_OSI___236 = 57,
    _SC_POLL___236 = 58,
    _SC_SELECT___236 = 59,
    _SC_UIO_MAXIOV___236 = 60,
    _SC_IOV_MAX___236 = 60,
    _SC_PII_INTERNET_STREAM___236 = 61,
    _SC_PII_INTERNET_DGRAM___236 = 62,
    _SC_PII_OSI_COTS___236 = 63,
    _SC_PII_OSI_CLTS___236 = 64,
    _SC_PII_OSI_M___236 = 65,
    _SC_T_IOV_MAX___236 = 66,
    _SC_THREADS___236 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___236 = 68,
    _SC_GETGR_R_SIZE_MAX___236 = 69,
    _SC_GETPW_R_SIZE_MAX___236 = 70,
    _SC_LOGIN_NAME_MAX___236 = 71,
    _SC_TTY_NAME_MAX___236 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___236 = 73,
    _SC_THREAD_KEYS_MAX___236 = 74,
    _SC_THREAD_STACK_MIN___236 = 75,
    _SC_THREAD_THREADS_MAX___236 = 76,
    _SC_THREAD_ATTR_STACKADDR___236 = 77,
    _SC_THREAD_ATTR_STACKSIZE___236 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___236 = 79,
    _SC_THREAD_PRIO_INHERIT___236 = 80,
    _SC_THREAD_PRIO_PROTECT___236 = 81,
    _SC_THREAD_PROCESS_SHARED___236 = 82,
    _SC_NPROCESSORS_CONF___236 = 83,
    _SC_NPROCESSORS_ONLN___236 = 84,
    _SC_PHYS_PAGES___236 = 85,
    _SC_AVPHYS_PAGES___236 = 86,
    _SC_ATEXIT_MAX___236 = 87,
    _SC_PASS_MAX___236 = 88,
    _SC_XOPEN_VERSION___236 = 89,
    _SC_XOPEN_XCU_VERSION___236 = 90,
    _SC_XOPEN_UNIX___236 = 91,
    _SC_XOPEN_CRYPT___236 = 92,
    _SC_XOPEN_ENH_I18N___236 = 93,
    _SC_XOPEN_SHM___236 = 94,
    _SC_2_CHAR_TERM___236 = 95,
    _SC_2_C_VERSION___236 = 96,
    _SC_2_UPE___236 = 97,
    _SC_XOPEN_XPG2___236 = 98,
    _SC_XOPEN_XPG3___236 = 99,
    _SC_XOPEN_XPG4___236 = 100,
    _SC_CHAR_BIT___236 = 101,
    _SC_CHAR_MAX___236 = 102,
    _SC_CHAR_MIN___236 = 103,
    _SC_INT_MAX___236 = 104,
    _SC_INT_MIN___236 = 105,
    _SC_LONG_BIT___236 = 106,
    _SC_WORD_BIT___236 = 107,
    _SC_MB_LEN_MAX___236 = 108,
    _SC_NZERO___236 = 109,
    _SC_SSIZE_MAX___236 = 110,
    _SC_SCHAR_MAX___236 = 111,
    _SC_SCHAR_MIN___236 = 112,
    _SC_SHRT_MAX___236 = 113,
    _SC_SHRT_MIN___236 = 114,
    _SC_UCHAR_MAX___236 = 115,
    _SC_UINT_MAX___236 = 116,
    _SC_ULONG_MAX___236 = 117,
    _SC_USHRT_MAX___236 = 118,
    _SC_NL_ARGMAX___236 = 119,
    _SC_NL_LANGMAX___236 = 120,
    _SC_NL_MSGMAX___236 = 121,
    _SC_NL_NMAX___236 = 122,
    _SC_NL_SETMAX___236 = 123,
    _SC_NL_TEXTMAX___236 = 124,
    _SC_XBS5_ILP32_OFF32___236 = 125,
    _SC_XBS5_ILP32_OFFBIG___236 = 126,
    _SC_XBS5_LP64_OFF64___236 = 127,
    _SC_XBS5_LPBIG_OFFBIG___236 = 128,
    _SC_XOPEN_LEGACY___236 = 129,
    _SC_XOPEN_REALTIME___236 = 130,
    _SC_XOPEN_REALTIME_THREADS___236 = 131,
    _SC_ADVISORY_INFO___236 = 132,
    _SC_BARRIERS___236 = 133,
    _SC_BASE___236 = 134,
    _SC_C_LANG_SUPPORT___236 = 135,
    _SC_C_LANG_SUPPORT_R___236 = 136,
    _SC_CLOCK_SELECTION___236 = 137,
    _SC_CPUTIME___236 = 138,
    _SC_THREAD_CPUTIME___236 = 139,
    _SC_DEVICE_IO___236 = 140,
    _SC_DEVICE_SPECIFIC___236 = 141,
    _SC_DEVICE_SPECIFIC_R___236 = 142,
    _SC_FD_MGMT___236 = 143,
    _SC_FIFO___236 = 144,
    _SC_PIPE___236 = 145,
    _SC_FILE_ATTRIBUTES___236 = 146,
    _SC_FILE_LOCKING___236 = 147,
    _SC_FILE_SYSTEM___236 = 148,
    _SC_MONOTONIC_CLOCK___236 = 149,
    _SC_MULTI_PROCESS___236 = 150,
    _SC_SINGLE_PROCESS___236 = 151,
    _SC_NETWORKING___236 = 152,
    _SC_READER_WRITER_LOCKS___236 = 153,
    _SC_SPIN_LOCKS___236 = 154,
    _SC_REGEXP___236 = 155,
    _SC_REGEX_VERSION___236 = 156,
    _SC_SHELL___236 = 157,
    _SC_SIGNALS___236 = 158,
    _SC_SPAWN___236 = 159,
    _SC_SPORADIC_SERVER___236 = 160,
    _SC_THREAD_SPORADIC_SERVER___236 = 161,
    _SC_SYSTEM_DATABASE___236 = 162,
    _SC_SYSTEM_DATABASE_R___236 = 163,
    _SC_TIMEOUTS___236 = 164,
    _SC_TYPED_MEMORY_OBJECTS___236 = 165,
    _SC_USER_GROUPS___236 = 166,
    _SC_USER_GROUPS_R___236 = 167,
    _SC_2_PBS___236 = 168,
    _SC_2_PBS_ACCOUNTING___236 = 169,
    _SC_2_PBS_LOCATE___236 = 170,
    _SC_2_PBS_MESSAGE___236 = 171,
    _SC_2_PBS_TRACK___236 = 172,
    _SC_SYMLOOP_MAX___236 = 173,
    _SC_STREAMS___236 = 174,
    _SC_2_PBS_CHECKPOINT___236 = 175,
    _SC_V6_ILP32_OFF32___236 = 176,
    _SC_V6_ILP32_OFFBIG___236 = 177,
    _SC_V6_LP64_OFF64___236 = 178,
    _SC_V6_LPBIG_OFFBIG___236 = 179,
    _SC_HOST_NAME_MAX___236 = 180,
    _SC_TRACE___236 = 181,
    _SC_TRACE_EVENT_FILTER___236 = 182,
    _SC_TRACE_INHERIT___236 = 183,
    _SC_TRACE_LOG___236 = 184,
    _SC_LEVEL1_ICACHE_SIZE___236 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___236 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___236 = 187,
    _SC_LEVEL1_DCACHE_SIZE___236 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___236 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___236 = 190,
    _SC_LEVEL2_CACHE_SIZE___236 = 191,
    _SC_LEVEL2_CACHE_ASSOC___236 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___236 = 193,
    _SC_LEVEL3_CACHE_SIZE___236 = 194,
    _SC_LEVEL3_CACHE_ASSOC___236 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___236 = 196,
    _SC_LEVEL4_CACHE_SIZE___236 = 197,
    _SC_LEVEL4_CACHE_ASSOC___236 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___236 = 199,
    _SC_IPV6___236 = 235,
    _SC_RAW_SOCKETS___236 = 236,
    _SC_V7_ILP32_OFF32___236 = 237,
    _SC_V7_ILP32_OFFBIG___236 = 238,
    _SC_V7_LP64_OFF64___236 = 239,
    _SC_V7_LPBIG_OFFBIG___236 = 240,
    _SC_SS_REPL_MAX___236 = 241,
    _SC_TRACE_EVENT_NAME_MAX___236 = 242,
    _SC_TRACE_NAME_MAX___236 = 243,
    _SC_TRACE_SYS_MAX___236 = 244,
    _SC_TRACE_USER_EVENT_MAX___236 = 245,
    _SC_XOPEN_STREAMS___236 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___236 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___236 = 248
} ;
enum __anonenum_875524036___236 {
    _CS_PATH___236 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___236 = 1,
    _CS_GNU_LIBC_VERSION___236 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___236 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___236 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___236 = 5,
    _CS_LFS_CFLAGS___236 = 1000,
    _CS_LFS_LDFLAGS___236 = 1001,
    _CS_LFS_LIBS___236 = 1002,
    _CS_LFS_LINTFLAGS___236 = 1003,
    _CS_LFS64_CFLAGS___236 = 1004,
    _CS_LFS64_LDFLAGS___236 = 1005,
    _CS_LFS64_LIBS___236 = 1006,
    _CS_LFS64_LINTFLAGS___236 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___236 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___236 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___236 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___236 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___236 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___236 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___236 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___236 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___236 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___236 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___236 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___236 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___236 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___236 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___236 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___236 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___236 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___236 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___236 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___236 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___236 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___236 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___236 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___236 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___236 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___236 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___236 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___236 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___236 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___236 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___236 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___236 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___236 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___236 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___236 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___236 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___236 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___236 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___236 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___236 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___236 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___236 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___236 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___236 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___236 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___236 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___236 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___236 = 1147,
    _CS_V6_ENV___236 = 1148,
    _CS_V7_ENV___236 = 1149
} ;
enum __anonenum_513775621___236 {
    DT_UNKNOWN___236 = 0,
    DT_FIFO___236 = 1,
    DT_CHR___236 = 2,
    DT_DIR___236 = 4,
    DT_BLK___236 = 6,
    DT_REG___236 = 8,
    DT_LNK___236 = 10,
    DT_SOCK___236 = 12,
    DT_WHT___236 = 14
} ;
enum __anonenum_77002343___236 {
    SI_ASYNCNL___236 = -60,
    SI_TKILL___236 = -6,
    SI_SIGIO___236 = -5,
    SI_ASYNCIO___236 = -4,
    SI_MESGQ___236 = -3,
    SI_TIMER___236 = -2,
    SI_QUEUE___236 = -1,
    SI_USER___236 = 0,
    SI_KERNEL___236 = 128
} ;
enum __anonenum_131038172___236 {
    ILL_ILLOPC___236 = 1,
    ILL_ILLOPN___236 = 2,
    ILL_ILLADR___236 = 3,
    ILL_ILLTRP___236 = 4,
    ILL_PRVOPC___236 = 5,
    ILL_PRVREG___236 = 6,
    ILL_COPROC___236 = 7,
    ILL_BADSTK___236 = 8
} ;
enum __anonenum_452038093___236 {
    FPE_INTDIV___236 = 1,
    FPE_INTOVF___236 = 2,
    FPE_FLTDIV___236 = 3,
    FPE_FLTOVF___236 = 4,
    FPE_FLTUND___236 = 5,
    FPE_FLTRES___236 = 6,
    FPE_FLTINV___236 = 7,
    FPE_FLTSUB___236 = 8
} ;
enum __anonenum_30976155___236 {
    SEGV_MAPERR___236 = 1,
    SEGV_ACCERR___236 = 2,
    SEGV_BNDERR___236 = 3,
    SEGV_PKUERR___236 = 4
} ;
enum __anonenum_1036286214___236 {
    BUS_ADRALN___236 = 1,
    BUS_ADRERR___236 = 2,
    BUS_OBJERR___236 = 3,
    BUS_MCEERR_AR___236 = 4,
    BUS_MCEERR_AO___236 = 5
} ;
enum __anonenum_493465559___236 {
    TRAP_BRKPT___236 = 1,
    TRAP_TRACE___236 = 2
} ;
enum __anonenum_23175539___236 {
    CLD_EXITED___236 = 1,
    CLD_KILLED___236 = 2,
    CLD_DUMPED___236 = 3,
    CLD_TRAPPED___236 = 4,
    CLD_STOPPED___236 = 5,
    CLD_CONTINUED___236 = 6
} ;
enum __anonenum_111643124___236 {
    POLL_IN___236 = 1,
    POLL_OUT___236 = 2,
    POLL_MSG___236 = 3,
    POLL_ERR___236 = 4,
    POLL_PRI___236 = 5,
    POLL_HUP___236 = 6
} ;
enum __anonenum_852341087___236 {
    SIGEV_SIGNAL___236 = 0,
    SIGEV_NONE___236 = 1,
    SIGEV_THREAD___236 = 2,
    SIGEV_THREAD_ID___236 = 4
} ;
enum __anonenum_451154152___236 {
    REG_R8___236 = 0,
    REG_R9___236 = 1,
    REG_R10___236 = 2,
    REG_R11___236 = 3,
    REG_R12___236 = 4,
    REG_R13___236 = 5,
    REG_R14___236 = 6,
    REG_R15___236 = 7,
    REG_RDI___236 = 8,
    REG_RSI___236 = 9,
    REG_RBP___236 = 10,
    REG_RBX___236 = 11,
    REG_RDX___236 = 12,
    REG_RAX___236 = 13,
    REG_RCX___236 = 14,
    REG_RSP___236 = 15,
    REG_RIP___236 = 16,
    REG_EFL___236 = 17,
    REG_CSGSFS___236 = 18,
    REG_ERR___236 = 19,
    REG_TRAPNO___236 = 20,
    REG_OLDMASK___236 = 21,
    REG_CR2___236 = 22
} ;
enum __anonenum_57186863___236 {
    SS_ONSTACK___236 = 1,
    SS_DISABLE___236 = 2
} ;
enum __anonenum_83571709___236 {
    MSG_OOB___236 = 1,
    MSG_PEEK___236 = 2,
    MSG_DONTROUTE___236 = 4,
    MSG_TRYHARD___236 = 4,
    MSG_CTRUNC___236 = 8,
    MSG_PROXY___236 = 16,
    MSG_TRUNC___236 = 32,
    MSG_DONTWAIT___236 = 64,
    MSG_EOR___236 = 128,
    MSG_WAITALL___236 = 256,
    MSG_FIN___236 = 512,
    MSG_SYN___236 = 1024,
    MSG_CONFIRM___236 = 2048,
    MSG_RST___236 = 4096,
    MSG_ERRQUEUE___236 = 8192,
    MSG_NOSIGNAL___236 = 16384,
    MSG_MORE___236 = 32768,
    MSG_WAITFORONE___236 = 65536,
    MSG_BATCH___236 = 262144,
    MSG_ZEROCOPY___236 = 67108864,
    MSG_FASTOPEN___236 = 536870912,
    MSG_CMSG_CLOEXEC___236 = 1073741824
} ;
enum __anonenum_617082774___236 {
    SCM_RIGHTS___236 = 1,
    SCM_CREDENTIALS___236 = 2
} ;
enum __anonenum_606441560___236 {
    SHUT_RD___236 = 0,
    SHUT_WR___236 = 1,
    SHUT_RDWR___236 = 2
} ;
enum __anonenum_681669233___236 {
    IPPROTO_IP___236 = 0,
    IPPROTO_ICMP___236 = 1,
    IPPROTO_IGMP___236 = 2,
    IPPROTO_IPIP___236 = 4,
    IPPROTO_TCP___236 = 6,
    IPPROTO_EGP___236 = 8,
    IPPROTO_PUP___236 = 12,
    IPPROTO_UDP___236 = 17,
    IPPROTO_IDP___236 = 22,
    IPPROTO_TP___236 = 29,
    IPPROTO_DCCP___236 = 33,
    IPPROTO_IPV6___236 = 41,
    IPPROTO_RSVP___236 = 46,
    IPPROTO_GRE___236 = 47,
    IPPROTO_ESP___236 = 50,
    IPPROTO_AH___236 = 51,
    IPPROTO_MTP___236 = 92,
    IPPROTO_BEETPH___236 = 94,
    IPPROTO_ENCAP___236 = 98,
    IPPROTO_PIM___236 = 103,
    IPPROTO_COMP___236 = 108,
    IPPROTO_SCTP___236 = 132,
    IPPROTO_UDPLITE___236 = 136,
    IPPROTO_MPLS___236 = 137,
    IPPROTO_RAW___236 = 255,
    IPPROTO_MAX___236 = 256
} ;
enum __anonenum_218739988___236 {
    IPPROTO_HOPOPTS___236 = 0,
    IPPROTO_ROUTING___236 = 43,
    IPPROTO_FRAGMENT___236 = 44,
    IPPROTO_ICMPV6___236 = 58,
    IPPROTO_NONE___236 = 59,
    IPPROTO_DSTOPTS___236 = 60,
    IPPROTO_MH___236 = 135
} ;
enum __anonenum_662268580___236 {
    IPPORT_ECHO___236 = 7,
    IPPORT_DISCARD___236 = 9,
    IPPORT_SYSTAT___236 = 11,
    IPPORT_DAYTIME___236 = 13,
    IPPORT_NETSTAT___236 = 15,
    IPPORT_FTP___236 = 21,
    IPPORT_TELNET___236 = 23,
    IPPORT_SMTP___236 = 25,
    IPPORT_TIMESERVER___236 = 37,
    IPPORT_NAMESERVER___236 = 42,
    IPPORT_WHOIS___236 = 43,
    IPPORT_MTP___236 = 57,
    IPPORT_TFTP___236 = 69,
    IPPORT_RJE___236 = 77,
    IPPORT_FINGER___236 = 79,
    IPPORT_TTYLINK___236 = 87,
    IPPORT_SUPDUP___236 = 95,
    IPPORT_EXECSERVER___236 = 512,
    IPPORT_LOGINSERVER___236 = 513,
    IPPORT_CMDSERVER___236 = 514,
    IPPORT_EFSSERVER___236 = 520,
    IPPORT_BIFFUDP___236 = 512,
    IPPORT_WHOSERVER___236 = 513,
    IPPORT_ROUTESERVER___236 = 520,
    IPPORT_RESERVED___236 = 1024,
    IPPORT_USERRESERVED___236 = 5000
} ;
enum __anonenum_788308992___236 {
    TCP_ESTABLISHED___236 = 1,
    TCP_SYN_SENT___236 = 2,
    TCP_SYN_RECV___236 = 3,
    TCP_FIN_WAIT1___236 = 4,
    TCP_FIN_WAIT2___236 = 5,
    TCP_TIME_WAIT___236 = 6,
    TCP_CLOSE___236 = 7,
    TCP_CLOSE_WAIT___236 = 8,
    TCP_LAST_ACK___236 = 9,
    TCP_LISTEN___236 = 10,
    TCP_CLOSING___236 = 11
} ;
enum __anonenum_221125648___236 {
    TCP_NO_QUEUE___236 = 0,
    TCP_RECV_QUEUE___236 = 1,
    TCP_SEND_QUEUE___236 = 2,
    TCP_QUEUES_NR___236 = 3
} ;
enum __anonenum_34415463___236 {
    PTHREAD_CREATE_JOINABLE___236 = 0,
    PTHREAD_CREATE_DETACHED___236 = 1
} ;
enum __anonenum_303612439___236 {
    PTHREAD_MUTEX_TIMED_NP___236 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___236 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___236 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___236 = 3,
    PTHREAD_MUTEX_NORMAL___236 = 0,
    PTHREAD_MUTEX_RECURSIVE___236 = 1,
    PTHREAD_MUTEX_ERRORCHECK___236 = 2,
    PTHREAD_MUTEX_DEFAULT___236 = 0,
    PTHREAD_MUTEX_FAST_NP___236 = 0
} ;
enum __anonenum_931900394___236 {
    PTHREAD_MUTEX_STALLED___236 = 0,
    PTHREAD_MUTEX_STALLED_NP___236 = 0,
    PTHREAD_MUTEX_ROBUST___236 = 1,
    PTHREAD_MUTEX_ROBUST_NP___236 = 1
} ;
enum __anonenum_205214487___236 {
    PTHREAD_PRIO_NONE___236 = 0,
    PTHREAD_PRIO_INHERIT___236 = 1,
    PTHREAD_PRIO_PROTECT___236 = 2
} ;
enum __anonenum_25043950___236 {
    PTHREAD_RWLOCK_PREFER_READER_NP___236 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___236 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___236 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___236 = 0
} ;
enum __anonenum_436439511___236 {
    PTHREAD_INHERIT_SCHED___236 = 0,
    PTHREAD_EXPLICIT_SCHED___236 = 1
} ;
enum __anonenum_998661166___236 {
    PTHREAD_SCOPE_SYSTEM___236 = 0,
    PTHREAD_SCOPE_PROCESS___236 = 1
} ;
enum __anonenum_146137331___236 {
    PTHREAD_PROCESS_PRIVATE___236 = 0,
    PTHREAD_PROCESS_SHARED___236 = 1
} ;
enum __anonenum_53396917___236 {
    PTHREAD_CANCEL_ENABLE___236 = 0,
    PTHREAD_CANCEL_DISABLE___236 = 1
} ;
enum __anonenum_904563783___236 {
    PTHREAD_CANCEL_DEFERRED___236 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___236 = 1
} ;
enum __anonenum_672052974___236 {
    SSL_CT_VALIDATION_PERMISSIVE___236 = 0,
    SSL_CT_VALIDATION_STRICT___236 = 1
} ;
enum __anonenum_437032235___237 {
    _PC_LINK_MAX___237 = 0,
    _PC_MAX_CANON___237 = 1,
    _PC_MAX_INPUT___237 = 2,
    _PC_NAME_MAX___237 = 3,
    _PC_PATH_MAX___237 = 4,
    _PC_PIPE_BUF___237 = 5,
    _PC_CHOWN_RESTRICTED___237 = 6,
    _PC_NO_TRUNC___237 = 7,
    _PC_VDISABLE___237 = 8,
    _PC_SYNC_IO___237 = 9,
    _PC_ASYNC_IO___237 = 10,
    _PC_PRIO_IO___237 = 11,
    _PC_SOCK_MAXBUF___237 = 12,
    _PC_FILESIZEBITS___237 = 13,
    _PC_REC_INCR_XFER_SIZE___237 = 14,
    _PC_REC_MAX_XFER_SIZE___237 = 15,
    _PC_REC_MIN_XFER_SIZE___237 = 16,
    _PC_REC_XFER_ALIGN___237 = 17,
    _PC_ALLOC_SIZE_MIN___237 = 18,
    _PC_SYMLINK_MAX___237 = 19,
    _PC_2_SYMLINKS___237 = 20
} ;
enum __anonenum_315186338___237 {
    _SC_ARG_MAX___237 = 0,
    _SC_CHILD_MAX___237 = 1,
    _SC_CLK_TCK___237 = 2,
    _SC_NGROUPS_MAX___237 = 3,
    _SC_OPEN_MAX___237 = 4,
    _SC_STREAM_MAX___237 = 5,
    _SC_TZNAME_MAX___237 = 6,
    _SC_JOB_CONTROL___237 = 7,
    _SC_SAVED_IDS___237 = 8,
    _SC_REALTIME_SIGNALS___237 = 9,
    _SC_PRIORITY_SCHEDULING___237 = 10,
    _SC_TIMERS___237 = 11,
    _SC_ASYNCHRONOUS_IO___237 = 12,
    _SC_PRIORITIZED_IO___237 = 13,
    _SC_SYNCHRONIZED_IO___237 = 14,
    _SC_FSYNC___237 = 15,
    _SC_MAPPED_FILES___237 = 16,
    _SC_MEMLOCK___237 = 17,
    _SC_MEMLOCK_RANGE___237 = 18,
    _SC_MEMORY_PROTECTION___237 = 19,
    _SC_MESSAGE_PASSING___237 = 20,
    _SC_SEMAPHORES___237 = 21,
    _SC_SHARED_MEMORY_OBJECTS___237 = 22,
    _SC_AIO_LISTIO_MAX___237 = 23,
    _SC_AIO_MAX___237 = 24,
    _SC_AIO_PRIO_DELTA_MAX___237 = 25,
    _SC_DELAYTIMER_MAX___237 = 26,
    _SC_MQ_OPEN_MAX___237 = 27,
    _SC_MQ_PRIO_MAX___237 = 28,
    _SC_VERSION___237 = 29,
    _SC_PAGESIZE___237 = 30,
    _SC_RTSIG_MAX___237 = 31,
    _SC_SEM_NSEMS_MAX___237 = 32,
    _SC_SEM_VALUE_MAX___237 = 33,
    _SC_SIGQUEUE_MAX___237 = 34,
    _SC_TIMER_MAX___237 = 35,
    _SC_BC_BASE_MAX___237 = 36,
    _SC_BC_DIM_MAX___237 = 37,
    _SC_BC_SCALE_MAX___237 = 38,
    _SC_BC_STRING_MAX___237 = 39,
    _SC_COLL_WEIGHTS_MAX___237 = 40,
    _SC_EQUIV_CLASS_MAX___237 = 41,
    _SC_EXPR_NEST_MAX___237 = 42,
    _SC_LINE_MAX___237 = 43,
    _SC_RE_DUP_MAX___237 = 44,
    _SC_CHARCLASS_NAME_MAX___237 = 45,
    _SC_2_VERSION___237 = 46,
    _SC_2_C_BIND___237 = 47,
    _SC_2_C_DEV___237 = 48,
    _SC_2_FORT_DEV___237 = 49,
    _SC_2_FORT_RUN___237 = 50,
    _SC_2_SW_DEV___237 = 51,
    _SC_2_LOCALEDEF___237 = 52,
    _SC_PII___237 = 53,
    _SC_PII_XTI___237 = 54,
    _SC_PII_SOCKET___237 = 55,
    _SC_PII_INTERNET___237 = 56,
    _SC_PII_OSI___237 = 57,
    _SC_POLL___237 = 58,
    _SC_SELECT___237 = 59,
    _SC_UIO_MAXIOV___237 = 60,
    _SC_IOV_MAX___237 = 60,
    _SC_PII_INTERNET_STREAM___237 = 61,
    _SC_PII_INTERNET_DGRAM___237 = 62,
    _SC_PII_OSI_COTS___237 = 63,
    _SC_PII_OSI_CLTS___237 = 64,
    _SC_PII_OSI_M___237 = 65,
    _SC_T_IOV_MAX___237 = 66,
    _SC_THREADS___237 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___237 = 68,
    _SC_GETGR_R_SIZE_MAX___237 = 69,
    _SC_GETPW_R_SIZE_MAX___237 = 70,
    _SC_LOGIN_NAME_MAX___237 = 71,
    _SC_TTY_NAME_MAX___237 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___237 = 73,
    _SC_THREAD_KEYS_MAX___237 = 74,
    _SC_THREAD_STACK_MIN___237 = 75,
    _SC_THREAD_THREADS_MAX___237 = 76,
    _SC_THREAD_ATTR_STACKADDR___237 = 77,
    _SC_THREAD_ATTR_STACKSIZE___237 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___237 = 79,
    _SC_THREAD_PRIO_INHERIT___237 = 80,
    _SC_THREAD_PRIO_PROTECT___237 = 81,
    _SC_THREAD_PROCESS_SHARED___237 = 82,
    _SC_NPROCESSORS_CONF___237 = 83,
    _SC_NPROCESSORS_ONLN___237 = 84,
    _SC_PHYS_PAGES___237 = 85,
    _SC_AVPHYS_PAGES___237 = 86,
    _SC_ATEXIT_MAX___237 = 87,
    _SC_PASS_MAX___237 = 88,
    _SC_XOPEN_VERSION___237 = 89,
    _SC_XOPEN_XCU_VERSION___237 = 90,
    _SC_XOPEN_UNIX___237 = 91,
    _SC_XOPEN_CRYPT___237 = 92,
    _SC_XOPEN_ENH_I18N___237 = 93,
    _SC_XOPEN_SHM___237 = 94,
    _SC_2_CHAR_TERM___237 = 95,
    _SC_2_C_VERSION___237 = 96,
    _SC_2_UPE___237 = 97,
    _SC_XOPEN_XPG2___237 = 98,
    _SC_XOPEN_XPG3___237 = 99,
    _SC_XOPEN_XPG4___237 = 100,
    _SC_CHAR_BIT___237 = 101,
    _SC_CHAR_MAX___237 = 102,
    _SC_CHAR_MIN___237 = 103,
    _SC_INT_MAX___237 = 104,
    _SC_INT_MIN___237 = 105,
    _SC_LONG_BIT___237 = 106,
    _SC_WORD_BIT___237 = 107,
    _SC_MB_LEN_MAX___237 = 108,
    _SC_NZERO___237 = 109,
    _SC_SSIZE_MAX___237 = 110,
    _SC_SCHAR_MAX___237 = 111,
    _SC_SCHAR_MIN___237 = 112,
    _SC_SHRT_MAX___237 = 113,
    _SC_SHRT_MIN___237 = 114,
    _SC_UCHAR_MAX___237 = 115,
    _SC_UINT_MAX___237 = 116,
    _SC_ULONG_MAX___237 = 117,
    _SC_USHRT_MAX___237 = 118,
    _SC_NL_ARGMAX___237 = 119,
    _SC_NL_LANGMAX___237 = 120,
    _SC_NL_MSGMAX___237 = 121,
    _SC_NL_NMAX___237 = 122,
    _SC_NL_SETMAX___237 = 123,
    _SC_NL_TEXTMAX___237 = 124,
    _SC_XBS5_ILP32_OFF32___237 = 125,
    _SC_XBS5_ILP32_OFFBIG___237 = 126,
    _SC_XBS5_LP64_OFF64___237 = 127,
    _SC_XBS5_LPBIG_OFFBIG___237 = 128,
    _SC_XOPEN_LEGACY___237 = 129,
    _SC_XOPEN_REALTIME___237 = 130,
    _SC_XOPEN_REALTIME_THREADS___237 = 131,
    _SC_ADVISORY_INFO___237 = 132,
    _SC_BARRIERS___237 = 133,
    _SC_BASE___237 = 134,
    _SC_C_LANG_SUPPORT___237 = 135,
    _SC_C_LANG_SUPPORT_R___237 = 136,
    _SC_CLOCK_SELECTION___237 = 137,
    _SC_CPUTIME___237 = 138,
    _SC_THREAD_CPUTIME___237 = 139,
    _SC_DEVICE_IO___237 = 140,
    _SC_DEVICE_SPECIFIC___237 = 141,
    _SC_DEVICE_SPECIFIC_R___237 = 142,
    _SC_FD_MGMT___237 = 143,
    _SC_FIFO___237 = 144,
    _SC_PIPE___237 = 145,
    _SC_FILE_ATTRIBUTES___237 = 146,
    _SC_FILE_LOCKING___237 = 147,
    _SC_FILE_SYSTEM___237 = 148,
    _SC_MONOTONIC_CLOCK___237 = 149,
    _SC_MULTI_PROCESS___237 = 150,
    _SC_SINGLE_PROCESS___237 = 151,
    _SC_NETWORKING___237 = 152,
    _SC_READER_WRITER_LOCKS___237 = 153,
    _SC_SPIN_LOCKS___237 = 154,
    _SC_REGEXP___237 = 155,
    _SC_REGEX_VERSION___237 = 156,
    _SC_SHELL___237 = 157,
    _SC_SIGNALS___237 = 158,
    _SC_SPAWN___237 = 159,
    _SC_SPORADIC_SERVER___237 = 160,
    _SC_THREAD_SPORADIC_SERVER___237 = 161,
    _SC_SYSTEM_DATABASE___237 = 162,
    _SC_SYSTEM_DATABASE_R___237 = 163,
    _SC_TIMEOUTS___237 = 164,
    _SC_TYPED_MEMORY_OBJECTS___237 = 165,
    _SC_USER_GROUPS___237 = 166,
    _SC_USER_GROUPS_R___237 = 167,
    _SC_2_PBS___237 = 168,
    _SC_2_PBS_ACCOUNTING___237 = 169,
    _SC_2_PBS_LOCATE___237 = 170,
    _SC_2_PBS_MESSAGE___237 = 171,
    _SC_2_PBS_TRACK___237 = 172,
    _SC_SYMLOOP_MAX___237 = 173,
    _SC_STREAMS___237 = 174,
    _SC_2_PBS_CHECKPOINT___237 = 175,
    _SC_V6_ILP32_OFF32___237 = 176,
    _SC_V6_ILP32_OFFBIG___237 = 177,
    _SC_V6_LP64_OFF64___237 = 178,
    _SC_V6_LPBIG_OFFBIG___237 = 179,
    _SC_HOST_NAME_MAX___237 = 180,
    _SC_TRACE___237 = 181,
    _SC_TRACE_EVENT_FILTER___237 = 182,
    _SC_TRACE_INHERIT___237 = 183,
    _SC_TRACE_LOG___237 = 184,
    _SC_LEVEL1_ICACHE_SIZE___237 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___237 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___237 = 187,
    _SC_LEVEL1_DCACHE_SIZE___237 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___237 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___237 = 190,
    _SC_LEVEL2_CACHE_SIZE___237 = 191,
    _SC_LEVEL2_CACHE_ASSOC___237 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___237 = 193,
    _SC_LEVEL3_CACHE_SIZE___237 = 194,
    _SC_LEVEL3_CACHE_ASSOC___237 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___237 = 196,
    _SC_LEVEL4_CACHE_SIZE___237 = 197,
    _SC_LEVEL4_CACHE_ASSOC___237 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___237 = 199,
    _SC_IPV6___237 = 235,
    _SC_RAW_SOCKETS___237 = 236,
    _SC_V7_ILP32_OFF32___237 = 237,
    _SC_V7_ILP32_OFFBIG___237 = 238,
    _SC_V7_LP64_OFF64___237 = 239,
    _SC_V7_LPBIG_OFFBIG___237 = 240,
    _SC_SS_REPL_MAX___237 = 241,
    _SC_TRACE_EVENT_NAME_MAX___237 = 242,
    _SC_TRACE_NAME_MAX___237 = 243,
    _SC_TRACE_SYS_MAX___237 = 244,
    _SC_TRACE_USER_EVENT_MAX___237 = 245,
    _SC_XOPEN_STREAMS___237 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___237 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___237 = 248
} ;
enum __anonenum_875524036___237 {
    _CS_PATH___237 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___237 = 1,
    _CS_GNU_LIBC_VERSION___237 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___237 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___237 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___237 = 5,
    _CS_LFS_CFLAGS___237 = 1000,
    _CS_LFS_LDFLAGS___237 = 1001,
    _CS_LFS_LIBS___237 = 1002,
    _CS_LFS_LINTFLAGS___237 = 1003,
    _CS_LFS64_CFLAGS___237 = 1004,
    _CS_LFS64_LDFLAGS___237 = 1005,
    _CS_LFS64_LIBS___237 = 1006,
    _CS_LFS64_LINTFLAGS___237 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___237 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___237 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___237 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___237 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___237 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___237 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___237 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___237 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___237 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___237 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___237 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___237 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___237 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___237 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___237 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___237 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___237 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___237 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___237 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___237 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___237 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___237 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___237 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___237 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___237 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___237 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___237 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___237 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___237 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___237 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___237 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___237 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___237 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___237 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___237 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___237 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___237 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___237 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___237 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___237 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___237 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___237 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___237 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___237 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___237 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___237 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___237 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___237 = 1147,
    _CS_V6_ENV___237 = 1148,
    _CS_V7_ENV___237 = 1149
} ;
enum __anonenum_513775621___237 {
    DT_UNKNOWN___237 = 0,
    DT_FIFO___237 = 1,
    DT_CHR___237 = 2,
    DT_DIR___237 = 4,
    DT_BLK___237 = 6,
    DT_REG___237 = 8,
    DT_LNK___237 = 10,
    DT_SOCK___237 = 12,
    DT_WHT___237 = 14
} ;
enum __anonenum_77002343___237 {
    SI_ASYNCNL___237 = -60,
    SI_TKILL___237 = -6,
    SI_SIGIO___237 = -5,
    SI_ASYNCIO___237 = -4,
    SI_MESGQ___237 = -3,
    SI_TIMER___237 = -2,
    SI_QUEUE___237 = -1,
    SI_USER___237 = 0,
    SI_KERNEL___237 = 128
} ;
enum __anonenum_131038172___237 {
    ILL_ILLOPC___237 = 1,
    ILL_ILLOPN___237 = 2,
    ILL_ILLADR___237 = 3,
    ILL_ILLTRP___237 = 4,
    ILL_PRVOPC___237 = 5,
    ILL_PRVREG___237 = 6,
    ILL_COPROC___237 = 7,
    ILL_BADSTK___237 = 8
} ;
enum __anonenum_452038093___237 {
    FPE_INTDIV___237 = 1,
    FPE_INTOVF___237 = 2,
    FPE_FLTDIV___237 = 3,
    FPE_FLTOVF___237 = 4,
    FPE_FLTUND___237 = 5,
    FPE_FLTRES___237 = 6,
    FPE_FLTINV___237 = 7,
    FPE_FLTSUB___237 = 8
} ;
enum __anonenum_30976155___237 {
    SEGV_MAPERR___237 = 1,
    SEGV_ACCERR___237 = 2,
    SEGV_BNDERR___237 = 3,
    SEGV_PKUERR___237 = 4
} ;
enum __anonenum_1036286214___237 {
    BUS_ADRALN___237 = 1,
    BUS_ADRERR___237 = 2,
    BUS_OBJERR___237 = 3,
    BUS_MCEERR_AR___237 = 4,
    BUS_MCEERR_AO___237 = 5
} ;
enum __anonenum_493465559___237 {
    TRAP_BRKPT___237 = 1,
    TRAP_TRACE___237 = 2
} ;
enum __anonenum_23175539___237 {
    CLD_EXITED___237 = 1,
    CLD_KILLED___237 = 2,
    CLD_DUMPED___237 = 3,
    CLD_TRAPPED___237 = 4,
    CLD_STOPPED___237 = 5,
    CLD_CONTINUED___237 = 6
} ;
enum __anonenum_111643124___237 {
    POLL_IN___237 = 1,
    POLL_OUT___237 = 2,
    POLL_MSG___237 = 3,
    POLL_ERR___237 = 4,
    POLL_PRI___237 = 5,
    POLL_HUP___237 = 6
} ;
enum __anonenum_852341087___237 {
    SIGEV_SIGNAL___237 = 0,
    SIGEV_NONE___237 = 1,
    SIGEV_THREAD___237 = 2,
    SIGEV_THREAD_ID___237 = 4
} ;
enum __anonenum_451154152___237 {
    REG_R8___237 = 0,
    REG_R9___237 = 1,
    REG_R10___237 = 2,
    REG_R11___237 = 3,
    REG_R12___237 = 4,
    REG_R13___237 = 5,
    REG_R14___237 = 6,
    REG_R15___237 = 7,
    REG_RDI___237 = 8,
    REG_RSI___237 = 9,
    REG_RBP___237 = 10,
    REG_RBX___237 = 11,
    REG_RDX___237 = 12,
    REG_RAX___237 = 13,
    REG_RCX___237 = 14,
    REG_RSP___237 = 15,
    REG_RIP___237 = 16,
    REG_EFL___237 = 17,
    REG_CSGSFS___237 = 18,
    REG_ERR___237 = 19,
    REG_TRAPNO___237 = 20,
    REG_OLDMASK___237 = 21,
    REG_CR2___237 = 22
} ;
enum __anonenum_57186863___237 {
    SS_ONSTACK___237 = 1,
    SS_DISABLE___237 = 2
} ;
enum __anonenum_83571709___237 {
    MSG_OOB___237 = 1,
    MSG_PEEK___237 = 2,
    MSG_DONTROUTE___237 = 4,
    MSG_TRYHARD___237 = 4,
    MSG_CTRUNC___237 = 8,
    MSG_PROXY___237 = 16,
    MSG_TRUNC___237 = 32,
    MSG_DONTWAIT___237 = 64,
    MSG_EOR___237 = 128,
    MSG_WAITALL___237 = 256,
    MSG_FIN___237 = 512,
    MSG_SYN___237 = 1024,
    MSG_CONFIRM___237 = 2048,
    MSG_RST___237 = 4096,
    MSG_ERRQUEUE___237 = 8192,
    MSG_NOSIGNAL___237 = 16384,
    MSG_MORE___237 = 32768,
    MSG_WAITFORONE___237 = 65536,
    MSG_BATCH___237 = 262144,
    MSG_ZEROCOPY___237 = 67108864,
    MSG_FASTOPEN___237 = 536870912,
    MSG_CMSG_CLOEXEC___237 = 1073741824
} ;
enum __anonenum_617082774___237 {
    SCM_RIGHTS___237 = 1,
    SCM_CREDENTIALS___237 = 2
} ;
enum __anonenum_606441560___237 {
    SHUT_RD___237 = 0,
    SHUT_WR___237 = 1,
    SHUT_RDWR___237 = 2
} ;
enum __anonenum_681669233___237 {
    IPPROTO_IP___237 = 0,
    IPPROTO_ICMP___237 = 1,
    IPPROTO_IGMP___237 = 2,
    IPPROTO_IPIP___237 = 4,
    IPPROTO_TCP___237 = 6,
    IPPROTO_EGP___237 = 8,
    IPPROTO_PUP___237 = 12,
    IPPROTO_UDP___237 = 17,
    IPPROTO_IDP___237 = 22,
    IPPROTO_TP___237 = 29,
    IPPROTO_DCCP___237 = 33,
    IPPROTO_IPV6___237 = 41,
    IPPROTO_RSVP___237 = 46,
    IPPROTO_GRE___237 = 47,
    IPPROTO_ESP___237 = 50,
    IPPROTO_AH___237 = 51,
    IPPROTO_MTP___237 = 92,
    IPPROTO_BEETPH___237 = 94,
    IPPROTO_ENCAP___237 = 98,
    IPPROTO_PIM___237 = 103,
    IPPROTO_COMP___237 = 108,
    IPPROTO_SCTP___237 = 132,
    IPPROTO_UDPLITE___237 = 136,
    IPPROTO_MPLS___237 = 137,
    IPPROTO_RAW___237 = 255,
    IPPROTO_MAX___237 = 256
} ;
enum __anonenum_218739988___237 {
    IPPROTO_HOPOPTS___237 = 0,
    IPPROTO_ROUTING___237 = 43,
    IPPROTO_FRAGMENT___237 = 44,
    IPPROTO_ICMPV6___237 = 58,
    IPPROTO_NONE___237 = 59,
    IPPROTO_DSTOPTS___237 = 60,
    IPPROTO_MH___237 = 135
} ;
enum __anonenum_662268580___237 {
    IPPORT_ECHO___237 = 7,
    IPPORT_DISCARD___237 = 9,
    IPPORT_SYSTAT___237 = 11,
    IPPORT_DAYTIME___237 = 13,
    IPPORT_NETSTAT___237 = 15,
    IPPORT_FTP___237 = 21,
    IPPORT_TELNET___237 = 23,
    IPPORT_SMTP___237 = 25,
    IPPORT_TIMESERVER___237 = 37,
    IPPORT_NAMESERVER___237 = 42,
    IPPORT_WHOIS___237 = 43,
    IPPORT_MTP___237 = 57,
    IPPORT_TFTP___237 = 69,
    IPPORT_RJE___237 = 77,
    IPPORT_FINGER___237 = 79,
    IPPORT_TTYLINK___237 = 87,
    IPPORT_SUPDUP___237 = 95,
    IPPORT_EXECSERVER___237 = 512,
    IPPORT_LOGINSERVER___237 = 513,
    IPPORT_CMDSERVER___237 = 514,
    IPPORT_EFSSERVER___237 = 520,
    IPPORT_BIFFUDP___237 = 512,
    IPPORT_WHOSERVER___237 = 513,
    IPPORT_ROUTESERVER___237 = 520,
    IPPORT_RESERVED___237 = 1024,
    IPPORT_USERRESERVED___237 = 5000
} ;
enum __anonenum_788308992___237 {
    TCP_ESTABLISHED___237 = 1,
    TCP_SYN_SENT___237 = 2,
    TCP_SYN_RECV___237 = 3,
    TCP_FIN_WAIT1___237 = 4,
    TCP_FIN_WAIT2___237 = 5,
    TCP_TIME_WAIT___237 = 6,
    TCP_CLOSE___237 = 7,
    TCP_CLOSE_WAIT___237 = 8,
    TCP_LAST_ACK___237 = 9,
    TCP_LISTEN___237 = 10,
    TCP_CLOSING___237 = 11
} ;
enum __anonenum_221125648___237 {
    TCP_NO_QUEUE___237 = 0,
    TCP_RECV_QUEUE___237 = 1,
    TCP_SEND_QUEUE___237 = 2,
    TCP_QUEUES_NR___237 = 3
} ;
enum __anonenum_34415463___237 {
    PTHREAD_CREATE_JOINABLE___237 = 0,
    PTHREAD_CREATE_DETACHED___237 = 1
} ;
enum __anonenum_303612439___237 {
    PTHREAD_MUTEX_TIMED_NP___237 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___237 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___237 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___237 = 3,
    PTHREAD_MUTEX_NORMAL___237 = 0,
    PTHREAD_MUTEX_RECURSIVE___237 = 1,
    PTHREAD_MUTEX_ERRORCHECK___237 = 2,
    PTHREAD_MUTEX_DEFAULT___237 = 0,
    PTHREAD_MUTEX_FAST_NP___237 = 0
} ;
enum __anonenum_931900394___237 {
    PTHREAD_MUTEX_STALLED___237 = 0,
    PTHREAD_MUTEX_STALLED_NP___237 = 0,
    PTHREAD_MUTEX_ROBUST___237 = 1,
    PTHREAD_MUTEX_ROBUST_NP___237 = 1
} ;
enum __anonenum_205214487___237 {
    PTHREAD_PRIO_NONE___237 = 0,
    PTHREAD_PRIO_INHERIT___237 = 1,
    PTHREAD_PRIO_PROTECT___237 = 2
} ;
enum __anonenum_25043950___237 {
    PTHREAD_RWLOCK_PREFER_READER_NP___237 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___237 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___237 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___237 = 0
} ;
enum __anonenum_436439511___237 {
    PTHREAD_INHERIT_SCHED___237 = 0,
    PTHREAD_EXPLICIT_SCHED___237 = 1
} ;
enum __anonenum_998661166___237 {
    PTHREAD_SCOPE_SYSTEM___237 = 0,
    PTHREAD_SCOPE_PROCESS___237 = 1
} ;
enum __anonenum_146137331___237 {
    PTHREAD_PROCESS_PRIVATE___237 = 0,
    PTHREAD_PROCESS_SHARED___237 = 1
} ;
enum __anonenum_53396917___237 {
    PTHREAD_CANCEL_ENABLE___237 = 0,
    PTHREAD_CANCEL_DISABLE___237 = 1
} ;
enum __anonenum_904563783___237 {
    PTHREAD_CANCEL_DEFERRED___237 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___237 = 1
} ;
enum __anonenum_672052974___237 {
    SSL_CT_VALIDATION_PERMISSIVE___237 = 0,
    SSL_CT_VALIDATION_STRICT___237 = 1
} ;
struct __anonstruct_dv_info_t_577857540 {
   int dvType ;
   int dvK ;
   int dvB ;
   int testt ;
   int maski ;
   int maskb ;
   uint32_t dm[80] ;
};
typedef struct __anonstruct_dv_info_t_577857540 dv_info_t;
enum __anonenum_437032235___238 {
    _PC_LINK_MAX___238 = 0,
    _PC_MAX_CANON___238 = 1,
    _PC_MAX_INPUT___238 = 2,
    _PC_NAME_MAX___238 = 3,
    _PC_PATH_MAX___238 = 4,
    _PC_PIPE_BUF___238 = 5,
    _PC_CHOWN_RESTRICTED___238 = 6,
    _PC_NO_TRUNC___238 = 7,
    _PC_VDISABLE___238 = 8,
    _PC_SYNC_IO___238 = 9,
    _PC_ASYNC_IO___238 = 10,
    _PC_PRIO_IO___238 = 11,
    _PC_SOCK_MAXBUF___238 = 12,
    _PC_FILESIZEBITS___238 = 13,
    _PC_REC_INCR_XFER_SIZE___238 = 14,
    _PC_REC_MAX_XFER_SIZE___238 = 15,
    _PC_REC_MIN_XFER_SIZE___238 = 16,
    _PC_REC_XFER_ALIGN___238 = 17,
    _PC_ALLOC_SIZE_MIN___238 = 18,
    _PC_SYMLINK_MAX___238 = 19,
    _PC_2_SYMLINKS___238 = 20
} ;
enum __anonenum_315186338___238 {
    _SC_ARG_MAX___238 = 0,
    _SC_CHILD_MAX___238 = 1,
    _SC_CLK_TCK___238 = 2,
    _SC_NGROUPS_MAX___238 = 3,
    _SC_OPEN_MAX___238 = 4,
    _SC_STREAM_MAX___238 = 5,
    _SC_TZNAME_MAX___238 = 6,
    _SC_JOB_CONTROL___238 = 7,
    _SC_SAVED_IDS___238 = 8,
    _SC_REALTIME_SIGNALS___238 = 9,
    _SC_PRIORITY_SCHEDULING___238 = 10,
    _SC_TIMERS___238 = 11,
    _SC_ASYNCHRONOUS_IO___238 = 12,
    _SC_PRIORITIZED_IO___238 = 13,
    _SC_SYNCHRONIZED_IO___238 = 14,
    _SC_FSYNC___238 = 15,
    _SC_MAPPED_FILES___238 = 16,
    _SC_MEMLOCK___238 = 17,
    _SC_MEMLOCK_RANGE___238 = 18,
    _SC_MEMORY_PROTECTION___238 = 19,
    _SC_MESSAGE_PASSING___238 = 20,
    _SC_SEMAPHORES___238 = 21,
    _SC_SHARED_MEMORY_OBJECTS___238 = 22,
    _SC_AIO_LISTIO_MAX___238 = 23,
    _SC_AIO_MAX___238 = 24,
    _SC_AIO_PRIO_DELTA_MAX___238 = 25,
    _SC_DELAYTIMER_MAX___238 = 26,
    _SC_MQ_OPEN_MAX___238 = 27,
    _SC_MQ_PRIO_MAX___238 = 28,
    _SC_VERSION___238 = 29,
    _SC_PAGESIZE___238 = 30,
    _SC_RTSIG_MAX___238 = 31,
    _SC_SEM_NSEMS_MAX___238 = 32,
    _SC_SEM_VALUE_MAX___238 = 33,
    _SC_SIGQUEUE_MAX___238 = 34,
    _SC_TIMER_MAX___238 = 35,
    _SC_BC_BASE_MAX___238 = 36,
    _SC_BC_DIM_MAX___238 = 37,
    _SC_BC_SCALE_MAX___238 = 38,
    _SC_BC_STRING_MAX___238 = 39,
    _SC_COLL_WEIGHTS_MAX___238 = 40,
    _SC_EQUIV_CLASS_MAX___238 = 41,
    _SC_EXPR_NEST_MAX___238 = 42,
    _SC_LINE_MAX___238 = 43,
    _SC_RE_DUP_MAX___238 = 44,
    _SC_CHARCLASS_NAME_MAX___238 = 45,
    _SC_2_VERSION___238 = 46,
    _SC_2_C_BIND___238 = 47,
    _SC_2_C_DEV___238 = 48,
    _SC_2_FORT_DEV___238 = 49,
    _SC_2_FORT_RUN___238 = 50,
    _SC_2_SW_DEV___238 = 51,
    _SC_2_LOCALEDEF___238 = 52,
    _SC_PII___238 = 53,
    _SC_PII_XTI___238 = 54,
    _SC_PII_SOCKET___238 = 55,
    _SC_PII_INTERNET___238 = 56,
    _SC_PII_OSI___238 = 57,
    _SC_POLL___238 = 58,
    _SC_SELECT___238 = 59,
    _SC_UIO_MAXIOV___238 = 60,
    _SC_IOV_MAX___238 = 60,
    _SC_PII_INTERNET_STREAM___238 = 61,
    _SC_PII_INTERNET_DGRAM___238 = 62,
    _SC_PII_OSI_COTS___238 = 63,
    _SC_PII_OSI_CLTS___238 = 64,
    _SC_PII_OSI_M___238 = 65,
    _SC_T_IOV_MAX___238 = 66,
    _SC_THREADS___238 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___238 = 68,
    _SC_GETGR_R_SIZE_MAX___238 = 69,
    _SC_GETPW_R_SIZE_MAX___238 = 70,
    _SC_LOGIN_NAME_MAX___238 = 71,
    _SC_TTY_NAME_MAX___238 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___238 = 73,
    _SC_THREAD_KEYS_MAX___238 = 74,
    _SC_THREAD_STACK_MIN___238 = 75,
    _SC_THREAD_THREADS_MAX___238 = 76,
    _SC_THREAD_ATTR_STACKADDR___238 = 77,
    _SC_THREAD_ATTR_STACKSIZE___238 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___238 = 79,
    _SC_THREAD_PRIO_INHERIT___238 = 80,
    _SC_THREAD_PRIO_PROTECT___238 = 81,
    _SC_THREAD_PROCESS_SHARED___238 = 82,
    _SC_NPROCESSORS_CONF___238 = 83,
    _SC_NPROCESSORS_ONLN___238 = 84,
    _SC_PHYS_PAGES___238 = 85,
    _SC_AVPHYS_PAGES___238 = 86,
    _SC_ATEXIT_MAX___238 = 87,
    _SC_PASS_MAX___238 = 88,
    _SC_XOPEN_VERSION___238 = 89,
    _SC_XOPEN_XCU_VERSION___238 = 90,
    _SC_XOPEN_UNIX___238 = 91,
    _SC_XOPEN_CRYPT___238 = 92,
    _SC_XOPEN_ENH_I18N___238 = 93,
    _SC_XOPEN_SHM___238 = 94,
    _SC_2_CHAR_TERM___238 = 95,
    _SC_2_C_VERSION___238 = 96,
    _SC_2_UPE___238 = 97,
    _SC_XOPEN_XPG2___238 = 98,
    _SC_XOPEN_XPG3___238 = 99,
    _SC_XOPEN_XPG4___238 = 100,
    _SC_CHAR_BIT___238 = 101,
    _SC_CHAR_MAX___238 = 102,
    _SC_CHAR_MIN___238 = 103,
    _SC_INT_MAX___238 = 104,
    _SC_INT_MIN___238 = 105,
    _SC_LONG_BIT___238 = 106,
    _SC_WORD_BIT___238 = 107,
    _SC_MB_LEN_MAX___238 = 108,
    _SC_NZERO___238 = 109,
    _SC_SSIZE_MAX___238 = 110,
    _SC_SCHAR_MAX___238 = 111,
    _SC_SCHAR_MIN___238 = 112,
    _SC_SHRT_MAX___238 = 113,
    _SC_SHRT_MIN___238 = 114,
    _SC_UCHAR_MAX___238 = 115,
    _SC_UINT_MAX___238 = 116,
    _SC_ULONG_MAX___238 = 117,
    _SC_USHRT_MAX___238 = 118,
    _SC_NL_ARGMAX___238 = 119,
    _SC_NL_LANGMAX___238 = 120,
    _SC_NL_MSGMAX___238 = 121,
    _SC_NL_NMAX___238 = 122,
    _SC_NL_SETMAX___238 = 123,
    _SC_NL_TEXTMAX___238 = 124,
    _SC_XBS5_ILP32_OFF32___238 = 125,
    _SC_XBS5_ILP32_OFFBIG___238 = 126,
    _SC_XBS5_LP64_OFF64___238 = 127,
    _SC_XBS5_LPBIG_OFFBIG___238 = 128,
    _SC_XOPEN_LEGACY___238 = 129,
    _SC_XOPEN_REALTIME___238 = 130,
    _SC_XOPEN_REALTIME_THREADS___238 = 131,
    _SC_ADVISORY_INFO___238 = 132,
    _SC_BARRIERS___238 = 133,
    _SC_BASE___238 = 134,
    _SC_C_LANG_SUPPORT___238 = 135,
    _SC_C_LANG_SUPPORT_R___238 = 136,
    _SC_CLOCK_SELECTION___238 = 137,
    _SC_CPUTIME___238 = 138,
    _SC_THREAD_CPUTIME___238 = 139,
    _SC_DEVICE_IO___238 = 140,
    _SC_DEVICE_SPECIFIC___238 = 141,
    _SC_DEVICE_SPECIFIC_R___238 = 142,
    _SC_FD_MGMT___238 = 143,
    _SC_FIFO___238 = 144,
    _SC_PIPE___238 = 145,
    _SC_FILE_ATTRIBUTES___238 = 146,
    _SC_FILE_LOCKING___238 = 147,
    _SC_FILE_SYSTEM___238 = 148,
    _SC_MONOTONIC_CLOCK___238 = 149,
    _SC_MULTI_PROCESS___238 = 150,
    _SC_SINGLE_PROCESS___238 = 151,
    _SC_NETWORKING___238 = 152,
    _SC_READER_WRITER_LOCKS___238 = 153,
    _SC_SPIN_LOCKS___238 = 154,
    _SC_REGEXP___238 = 155,
    _SC_REGEX_VERSION___238 = 156,
    _SC_SHELL___238 = 157,
    _SC_SIGNALS___238 = 158,
    _SC_SPAWN___238 = 159,
    _SC_SPORADIC_SERVER___238 = 160,
    _SC_THREAD_SPORADIC_SERVER___238 = 161,
    _SC_SYSTEM_DATABASE___238 = 162,
    _SC_SYSTEM_DATABASE_R___238 = 163,
    _SC_TIMEOUTS___238 = 164,
    _SC_TYPED_MEMORY_OBJECTS___238 = 165,
    _SC_USER_GROUPS___238 = 166,
    _SC_USER_GROUPS_R___238 = 167,
    _SC_2_PBS___238 = 168,
    _SC_2_PBS_ACCOUNTING___238 = 169,
    _SC_2_PBS_LOCATE___238 = 170,
    _SC_2_PBS_MESSAGE___238 = 171,
    _SC_2_PBS_TRACK___238 = 172,
    _SC_SYMLOOP_MAX___238 = 173,
    _SC_STREAMS___238 = 174,
    _SC_2_PBS_CHECKPOINT___238 = 175,
    _SC_V6_ILP32_OFF32___238 = 176,
    _SC_V6_ILP32_OFFBIG___238 = 177,
    _SC_V6_LP64_OFF64___238 = 178,
    _SC_V6_LPBIG_OFFBIG___238 = 179,
    _SC_HOST_NAME_MAX___238 = 180,
    _SC_TRACE___238 = 181,
    _SC_TRACE_EVENT_FILTER___238 = 182,
    _SC_TRACE_INHERIT___238 = 183,
    _SC_TRACE_LOG___238 = 184,
    _SC_LEVEL1_ICACHE_SIZE___238 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___238 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___238 = 187,
    _SC_LEVEL1_DCACHE_SIZE___238 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___238 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___238 = 190,
    _SC_LEVEL2_CACHE_SIZE___238 = 191,
    _SC_LEVEL2_CACHE_ASSOC___238 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___238 = 193,
    _SC_LEVEL3_CACHE_SIZE___238 = 194,
    _SC_LEVEL3_CACHE_ASSOC___238 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___238 = 196,
    _SC_LEVEL4_CACHE_SIZE___238 = 197,
    _SC_LEVEL4_CACHE_ASSOC___238 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___238 = 199,
    _SC_IPV6___238 = 235,
    _SC_RAW_SOCKETS___238 = 236,
    _SC_V7_ILP32_OFF32___238 = 237,
    _SC_V7_ILP32_OFFBIG___238 = 238,
    _SC_V7_LP64_OFF64___238 = 239,
    _SC_V7_LPBIG_OFFBIG___238 = 240,
    _SC_SS_REPL_MAX___238 = 241,
    _SC_TRACE_EVENT_NAME_MAX___238 = 242,
    _SC_TRACE_NAME_MAX___238 = 243,
    _SC_TRACE_SYS_MAX___238 = 244,
    _SC_TRACE_USER_EVENT_MAX___238 = 245,
    _SC_XOPEN_STREAMS___238 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___238 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___238 = 248
} ;
enum __anonenum_875524036___238 {
    _CS_PATH___238 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___238 = 1,
    _CS_GNU_LIBC_VERSION___238 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___238 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___238 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___238 = 5,
    _CS_LFS_CFLAGS___238 = 1000,
    _CS_LFS_LDFLAGS___238 = 1001,
    _CS_LFS_LIBS___238 = 1002,
    _CS_LFS_LINTFLAGS___238 = 1003,
    _CS_LFS64_CFLAGS___238 = 1004,
    _CS_LFS64_LDFLAGS___238 = 1005,
    _CS_LFS64_LIBS___238 = 1006,
    _CS_LFS64_LINTFLAGS___238 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___238 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___238 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___238 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___238 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___238 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___238 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___238 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___238 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___238 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___238 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___238 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___238 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___238 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___238 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___238 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___238 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___238 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___238 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___238 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___238 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___238 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___238 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___238 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___238 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___238 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___238 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___238 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___238 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___238 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___238 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___238 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___238 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___238 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___238 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___238 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___238 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___238 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___238 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___238 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___238 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___238 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___238 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___238 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___238 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___238 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___238 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___238 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___238 = 1147,
    _CS_V6_ENV___238 = 1148,
    _CS_V7_ENV___238 = 1149
} ;
enum __anonenum_513775621___238 {
    DT_UNKNOWN___238 = 0,
    DT_FIFO___238 = 1,
    DT_CHR___238 = 2,
    DT_DIR___238 = 4,
    DT_BLK___238 = 6,
    DT_REG___238 = 8,
    DT_LNK___238 = 10,
    DT_SOCK___238 = 12,
    DT_WHT___238 = 14
} ;
enum __anonenum_77002343___238 {
    SI_ASYNCNL___238 = -60,
    SI_TKILL___238 = -6,
    SI_SIGIO___238 = -5,
    SI_ASYNCIO___238 = -4,
    SI_MESGQ___238 = -3,
    SI_TIMER___238 = -2,
    SI_QUEUE___238 = -1,
    SI_USER___238 = 0,
    SI_KERNEL___238 = 128
} ;
enum __anonenum_131038172___238 {
    ILL_ILLOPC___238 = 1,
    ILL_ILLOPN___238 = 2,
    ILL_ILLADR___238 = 3,
    ILL_ILLTRP___238 = 4,
    ILL_PRVOPC___238 = 5,
    ILL_PRVREG___238 = 6,
    ILL_COPROC___238 = 7,
    ILL_BADSTK___238 = 8
} ;
enum __anonenum_452038093___238 {
    FPE_INTDIV___238 = 1,
    FPE_INTOVF___238 = 2,
    FPE_FLTDIV___238 = 3,
    FPE_FLTOVF___238 = 4,
    FPE_FLTUND___238 = 5,
    FPE_FLTRES___238 = 6,
    FPE_FLTINV___238 = 7,
    FPE_FLTSUB___238 = 8
} ;
enum __anonenum_30976155___238 {
    SEGV_MAPERR___238 = 1,
    SEGV_ACCERR___238 = 2,
    SEGV_BNDERR___238 = 3,
    SEGV_PKUERR___238 = 4
} ;
enum __anonenum_1036286214___238 {
    BUS_ADRALN___238 = 1,
    BUS_ADRERR___238 = 2,
    BUS_OBJERR___238 = 3,
    BUS_MCEERR_AR___238 = 4,
    BUS_MCEERR_AO___238 = 5
} ;
enum __anonenum_493465559___238 {
    TRAP_BRKPT___238 = 1,
    TRAP_TRACE___238 = 2
} ;
enum __anonenum_23175539___238 {
    CLD_EXITED___238 = 1,
    CLD_KILLED___238 = 2,
    CLD_DUMPED___238 = 3,
    CLD_TRAPPED___238 = 4,
    CLD_STOPPED___238 = 5,
    CLD_CONTINUED___238 = 6
} ;
enum __anonenum_111643124___238 {
    POLL_IN___238 = 1,
    POLL_OUT___238 = 2,
    POLL_MSG___238 = 3,
    POLL_ERR___238 = 4,
    POLL_PRI___238 = 5,
    POLL_HUP___238 = 6
} ;
enum __anonenum_852341087___238 {
    SIGEV_SIGNAL___238 = 0,
    SIGEV_NONE___238 = 1,
    SIGEV_THREAD___238 = 2,
    SIGEV_THREAD_ID___238 = 4
} ;
enum __anonenum_451154152___238 {
    REG_R8___238 = 0,
    REG_R9___238 = 1,
    REG_R10___238 = 2,
    REG_R11___238 = 3,
    REG_R12___238 = 4,
    REG_R13___238 = 5,
    REG_R14___238 = 6,
    REG_R15___238 = 7,
    REG_RDI___238 = 8,
    REG_RSI___238 = 9,
    REG_RBP___238 = 10,
    REG_RBX___238 = 11,
    REG_RDX___238 = 12,
    REG_RAX___238 = 13,
    REG_RCX___238 = 14,
    REG_RSP___238 = 15,
    REG_RIP___238 = 16,
    REG_EFL___238 = 17,
    REG_CSGSFS___238 = 18,
    REG_ERR___238 = 19,
    REG_TRAPNO___238 = 20,
    REG_OLDMASK___238 = 21,
    REG_CR2___238 = 22
} ;
enum __anonenum_57186863___238 {
    SS_ONSTACK___238 = 1,
    SS_DISABLE___238 = 2
} ;
enum __anonenum_83571709___238 {
    MSG_OOB___238 = 1,
    MSG_PEEK___238 = 2,
    MSG_DONTROUTE___238 = 4,
    MSG_TRYHARD___238 = 4,
    MSG_CTRUNC___238 = 8,
    MSG_PROXY___238 = 16,
    MSG_TRUNC___238 = 32,
    MSG_DONTWAIT___238 = 64,
    MSG_EOR___238 = 128,
    MSG_WAITALL___238 = 256,
    MSG_FIN___238 = 512,
    MSG_SYN___238 = 1024,
    MSG_CONFIRM___238 = 2048,
    MSG_RST___238 = 4096,
    MSG_ERRQUEUE___238 = 8192,
    MSG_NOSIGNAL___238 = 16384,
    MSG_MORE___238 = 32768,
    MSG_WAITFORONE___238 = 65536,
    MSG_BATCH___238 = 262144,
    MSG_ZEROCOPY___238 = 67108864,
    MSG_FASTOPEN___238 = 536870912,
    MSG_CMSG_CLOEXEC___238 = 1073741824
} ;
enum __anonenum_617082774___238 {
    SCM_RIGHTS___238 = 1,
    SCM_CREDENTIALS___238 = 2
} ;
enum __anonenum_606441560___238 {
    SHUT_RD___238 = 0,
    SHUT_WR___238 = 1,
    SHUT_RDWR___238 = 2
} ;
enum __anonenum_681669233___238 {
    IPPROTO_IP___238 = 0,
    IPPROTO_ICMP___238 = 1,
    IPPROTO_IGMP___238 = 2,
    IPPROTO_IPIP___238 = 4,
    IPPROTO_TCP___238 = 6,
    IPPROTO_EGP___238 = 8,
    IPPROTO_PUP___238 = 12,
    IPPROTO_UDP___238 = 17,
    IPPROTO_IDP___238 = 22,
    IPPROTO_TP___238 = 29,
    IPPROTO_DCCP___238 = 33,
    IPPROTO_IPV6___238 = 41,
    IPPROTO_RSVP___238 = 46,
    IPPROTO_GRE___238 = 47,
    IPPROTO_ESP___238 = 50,
    IPPROTO_AH___238 = 51,
    IPPROTO_MTP___238 = 92,
    IPPROTO_BEETPH___238 = 94,
    IPPROTO_ENCAP___238 = 98,
    IPPROTO_PIM___238 = 103,
    IPPROTO_COMP___238 = 108,
    IPPROTO_SCTP___238 = 132,
    IPPROTO_UDPLITE___238 = 136,
    IPPROTO_MPLS___238 = 137,
    IPPROTO_RAW___238 = 255,
    IPPROTO_MAX___238 = 256
} ;
enum __anonenum_218739988___238 {
    IPPROTO_HOPOPTS___238 = 0,
    IPPROTO_ROUTING___238 = 43,
    IPPROTO_FRAGMENT___238 = 44,
    IPPROTO_ICMPV6___238 = 58,
    IPPROTO_NONE___238 = 59,
    IPPROTO_DSTOPTS___238 = 60,
    IPPROTO_MH___238 = 135
} ;
enum __anonenum_662268580___238 {
    IPPORT_ECHO___238 = 7,
    IPPORT_DISCARD___238 = 9,
    IPPORT_SYSTAT___238 = 11,
    IPPORT_DAYTIME___238 = 13,
    IPPORT_NETSTAT___238 = 15,
    IPPORT_FTP___238 = 21,
    IPPORT_TELNET___238 = 23,
    IPPORT_SMTP___238 = 25,
    IPPORT_TIMESERVER___238 = 37,
    IPPORT_NAMESERVER___238 = 42,
    IPPORT_WHOIS___238 = 43,
    IPPORT_MTP___238 = 57,
    IPPORT_TFTP___238 = 69,
    IPPORT_RJE___238 = 77,
    IPPORT_FINGER___238 = 79,
    IPPORT_TTYLINK___238 = 87,
    IPPORT_SUPDUP___238 = 95,
    IPPORT_EXECSERVER___238 = 512,
    IPPORT_LOGINSERVER___238 = 513,
    IPPORT_CMDSERVER___238 = 514,
    IPPORT_EFSSERVER___238 = 520,
    IPPORT_BIFFUDP___238 = 512,
    IPPORT_WHOSERVER___238 = 513,
    IPPORT_ROUTESERVER___238 = 520,
    IPPORT_RESERVED___238 = 1024,
    IPPORT_USERRESERVED___238 = 5000
} ;
enum __anonenum_788308992___238 {
    TCP_ESTABLISHED___238 = 1,
    TCP_SYN_SENT___238 = 2,
    TCP_SYN_RECV___238 = 3,
    TCP_FIN_WAIT1___238 = 4,
    TCP_FIN_WAIT2___238 = 5,
    TCP_TIME_WAIT___238 = 6,
    TCP_CLOSE___238 = 7,
    TCP_CLOSE_WAIT___238 = 8,
    TCP_LAST_ACK___238 = 9,
    TCP_LISTEN___238 = 10,
    TCP_CLOSING___238 = 11
} ;
enum __anonenum_221125648___238 {
    TCP_NO_QUEUE___238 = 0,
    TCP_RECV_QUEUE___238 = 1,
    TCP_SEND_QUEUE___238 = 2,
    TCP_QUEUES_NR___238 = 3
} ;
enum __anonenum_34415463___238 {
    PTHREAD_CREATE_JOINABLE___238 = 0,
    PTHREAD_CREATE_DETACHED___238 = 1
} ;
enum __anonenum_303612439___238 {
    PTHREAD_MUTEX_TIMED_NP___238 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___238 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___238 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___238 = 3,
    PTHREAD_MUTEX_NORMAL___238 = 0,
    PTHREAD_MUTEX_RECURSIVE___238 = 1,
    PTHREAD_MUTEX_ERRORCHECK___238 = 2,
    PTHREAD_MUTEX_DEFAULT___238 = 0,
    PTHREAD_MUTEX_FAST_NP___238 = 0
} ;
enum __anonenum_931900394___238 {
    PTHREAD_MUTEX_STALLED___238 = 0,
    PTHREAD_MUTEX_STALLED_NP___238 = 0,
    PTHREAD_MUTEX_ROBUST___238 = 1,
    PTHREAD_MUTEX_ROBUST_NP___238 = 1
} ;
enum __anonenum_205214487___238 {
    PTHREAD_PRIO_NONE___238 = 0,
    PTHREAD_PRIO_INHERIT___238 = 1,
    PTHREAD_PRIO_PROTECT___238 = 2
} ;
enum __anonenum_25043950___238 {
    PTHREAD_RWLOCK_PREFER_READER_NP___238 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___238 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___238 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___238 = 0
} ;
enum __anonenum_436439511___238 {
    PTHREAD_INHERIT_SCHED___238 = 0,
    PTHREAD_EXPLICIT_SCHED___238 = 1
} ;
enum __anonenum_998661166___238 {
    PTHREAD_SCOPE_SYSTEM___238 = 0,
    PTHREAD_SCOPE_PROCESS___238 = 1
} ;
enum __anonenum_146137331___238 {
    PTHREAD_PROCESS_PRIVATE___238 = 0,
    PTHREAD_PROCESS_SHARED___238 = 1
} ;
enum __anonenum_53396917___238 {
    PTHREAD_CANCEL_ENABLE___238 = 0,
    PTHREAD_CANCEL_DISABLE___238 = 1
} ;
enum __anonenum_904563783___238 {
    PTHREAD_CANCEL_DEFERRED___238 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___238 = 1
} ;
enum __anonenum_672052974___238 {
    SSL_CT_VALIDATION_PERMISSIVE___238 = 0,
    SSL_CT_VALIDATION_STRICT___238 = 1
} ;
enum __anonenum_437032235___239 {
    _PC_LINK_MAX___239 = 0,
    _PC_MAX_CANON___239 = 1,
    _PC_MAX_INPUT___239 = 2,
    _PC_NAME_MAX___239 = 3,
    _PC_PATH_MAX___239 = 4,
    _PC_PIPE_BUF___239 = 5,
    _PC_CHOWN_RESTRICTED___239 = 6,
    _PC_NO_TRUNC___239 = 7,
    _PC_VDISABLE___239 = 8,
    _PC_SYNC_IO___239 = 9,
    _PC_ASYNC_IO___239 = 10,
    _PC_PRIO_IO___239 = 11,
    _PC_SOCK_MAXBUF___239 = 12,
    _PC_FILESIZEBITS___239 = 13,
    _PC_REC_INCR_XFER_SIZE___239 = 14,
    _PC_REC_MAX_XFER_SIZE___239 = 15,
    _PC_REC_MIN_XFER_SIZE___239 = 16,
    _PC_REC_XFER_ALIGN___239 = 17,
    _PC_ALLOC_SIZE_MIN___239 = 18,
    _PC_SYMLINK_MAX___239 = 19,
    _PC_2_SYMLINKS___239 = 20
} ;
enum __anonenum_315186338___239 {
    _SC_ARG_MAX___239 = 0,
    _SC_CHILD_MAX___239 = 1,
    _SC_CLK_TCK___239 = 2,
    _SC_NGROUPS_MAX___239 = 3,
    _SC_OPEN_MAX___239 = 4,
    _SC_STREAM_MAX___239 = 5,
    _SC_TZNAME_MAX___239 = 6,
    _SC_JOB_CONTROL___239 = 7,
    _SC_SAVED_IDS___239 = 8,
    _SC_REALTIME_SIGNALS___239 = 9,
    _SC_PRIORITY_SCHEDULING___239 = 10,
    _SC_TIMERS___239 = 11,
    _SC_ASYNCHRONOUS_IO___239 = 12,
    _SC_PRIORITIZED_IO___239 = 13,
    _SC_SYNCHRONIZED_IO___239 = 14,
    _SC_FSYNC___239 = 15,
    _SC_MAPPED_FILES___239 = 16,
    _SC_MEMLOCK___239 = 17,
    _SC_MEMLOCK_RANGE___239 = 18,
    _SC_MEMORY_PROTECTION___239 = 19,
    _SC_MESSAGE_PASSING___239 = 20,
    _SC_SEMAPHORES___239 = 21,
    _SC_SHARED_MEMORY_OBJECTS___239 = 22,
    _SC_AIO_LISTIO_MAX___239 = 23,
    _SC_AIO_MAX___239 = 24,
    _SC_AIO_PRIO_DELTA_MAX___239 = 25,
    _SC_DELAYTIMER_MAX___239 = 26,
    _SC_MQ_OPEN_MAX___239 = 27,
    _SC_MQ_PRIO_MAX___239 = 28,
    _SC_VERSION___239 = 29,
    _SC_PAGESIZE___239 = 30,
    _SC_RTSIG_MAX___239 = 31,
    _SC_SEM_NSEMS_MAX___239 = 32,
    _SC_SEM_VALUE_MAX___239 = 33,
    _SC_SIGQUEUE_MAX___239 = 34,
    _SC_TIMER_MAX___239 = 35,
    _SC_BC_BASE_MAX___239 = 36,
    _SC_BC_DIM_MAX___239 = 37,
    _SC_BC_SCALE_MAX___239 = 38,
    _SC_BC_STRING_MAX___239 = 39,
    _SC_COLL_WEIGHTS_MAX___239 = 40,
    _SC_EQUIV_CLASS_MAX___239 = 41,
    _SC_EXPR_NEST_MAX___239 = 42,
    _SC_LINE_MAX___239 = 43,
    _SC_RE_DUP_MAX___239 = 44,
    _SC_CHARCLASS_NAME_MAX___239 = 45,
    _SC_2_VERSION___239 = 46,
    _SC_2_C_BIND___239 = 47,
    _SC_2_C_DEV___239 = 48,
    _SC_2_FORT_DEV___239 = 49,
    _SC_2_FORT_RUN___239 = 50,
    _SC_2_SW_DEV___239 = 51,
    _SC_2_LOCALEDEF___239 = 52,
    _SC_PII___239 = 53,
    _SC_PII_XTI___239 = 54,
    _SC_PII_SOCKET___239 = 55,
    _SC_PII_INTERNET___239 = 56,
    _SC_PII_OSI___239 = 57,
    _SC_POLL___239 = 58,
    _SC_SELECT___239 = 59,
    _SC_UIO_MAXIOV___239 = 60,
    _SC_IOV_MAX___239 = 60,
    _SC_PII_INTERNET_STREAM___239 = 61,
    _SC_PII_INTERNET_DGRAM___239 = 62,
    _SC_PII_OSI_COTS___239 = 63,
    _SC_PII_OSI_CLTS___239 = 64,
    _SC_PII_OSI_M___239 = 65,
    _SC_T_IOV_MAX___239 = 66,
    _SC_THREADS___239 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___239 = 68,
    _SC_GETGR_R_SIZE_MAX___239 = 69,
    _SC_GETPW_R_SIZE_MAX___239 = 70,
    _SC_LOGIN_NAME_MAX___239 = 71,
    _SC_TTY_NAME_MAX___239 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___239 = 73,
    _SC_THREAD_KEYS_MAX___239 = 74,
    _SC_THREAD_STACK_MIN___239 = 75,
    _SC_THREAD_THREADS_MAX___239 = 76,
    _SC_THREAD_ATTR_STACKADDR___239 = 77,
    _SC_THREAD_ATTR_STACKSIZE___239 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___239 = 79,
    _SC_THREAD_PRIO_INHERIT___239 = 80,
    _SC_THREAD_PRIO_PROTECT___239 = 81,
    _SC_THREAD_PROCESS_SHARED___239 = 82,
    _SC_NPROCESSORS_CONF___239 = 83,
    _SC_NPROCESSORS_ONLN___239 = 84,
    _SC_PHYS_PAGES___239 = 85,
    _SC_AVPHYS_PAGES___239 = 86,
    _SC_ATEXIT_MAX___239 = 87,
    _SC_PASS_MAX___239 = 88,
    _SC_XOPEN_VERSION___239 = 89,
    _SC_XOPEN_XCU_VERSION___239 = 90,
    _SC_XOPEN_UNIX___239 = 91,
    _SC_XOPEN_CRYPT___239 = 92,
    _SC_XOPEN_ENH_I18N___239 = 93,
    _SC_XOPEN_SHM___239 = 94,
    _SC_2_CHAR_TERM___239 = 95,
    _SC_2_C_VERSION___239 = 96,
    _SC_2_UPE___239 = 97,
    _SC_XOPEN_XPG2___239 = 98,
    _SC_XOPEN_XPG3___239 = 99,
    _SC_XOPEN_XPG4___239 = 100,
    _SC_CHAR_BIT___239 = 101,
    _SC_CHAR_MAX___239 = 102,
    _SC_CHAR_MIN___239 = 103,
    _SC_INT_MAX___239 = 104,
    _SC_INT_MIN___239 = 105,
    _SC_LONG_BIT___239 = 106,
    _SC_WORD_BIT___239 = 107,
    _SC_MB_LEN_MAX___239 = 108,
    _SC_NZERO___239 = 109,
    _SC_SSIZE_MAX___239 = 110,
    _SC_SCHAR_MAX___239 = 111,
    _SC_SCHAR_MIN___239 = 112,
    _SC_SHRT_MAX___239 = 113,
    _SC_SHRT_MIN___239 = 114,
    _SC_UCHAR_MAX___239 = 115,
    _SC_UINT_MAX___239 = 116,
    _SC_ULONG_MAX___239 = 117,
    _SC_USHRT_MAX___239 = 118,
    _SC_NL_ARGMAX___239 = 119,
    _SC_NL_LANGMAX___239 = 120,
    _SC_NL_MSGMAX___239 = 121,
    _SC_NL_NMAX___239 = 122,
    _SC_NL_SETMAX___239 = 123,
    _SC_NL_TEXTMAX___239 = 124,
    _SC_XBS5_ILP32_OFF32___239 = 125,
    _SC_XBS5_ILP32_OFFBIG___239 = 126,
    _SC_XBS5_LP64_OFF64___239 = 127,
    _SC_XBS5_LPBIG_OFFBIG___239 = 128,
    _SC_XOPEN_LEGACY___239 = 129,
    _SC_XOPEN_REALTIME___239 = 130,
    _SC_XOPEN_REALTIME_THREADS___239 = 131,
    _SC_ADVISORY_INFO___239 = 132,
    _SC_BARRIERS___239 = 133,
    _SC_BASE___239 = 134,
    _SC_C_LANG_SUPPORT___239 = 135,
    _SC_C_LANG_SUPPORT_R___239 = 136,
    _SC_CLOCK_SELECTION___239 = 137,
    _SC_CPUTIME___239 = 138,
    _SC_THREAD_CPUTIME___239 = 139,
    _SC_DEVICE_IO___239 = 140,
    _SC_DEVICE_SPECIFIC___239 = 141,
    _SC_DEVICE_SPECIFIC_R___239 = 142,
    _SC_FD_MGMT___239 = 143,
    _SC_FIFO___239 = 144,
    _SC_PIPE___239 = 145,
    _SC_FILE_ATTRIBUTES___239 = 146,
    _SC_FILE_LOCKING___239 = 147,
    _SC_FILE_SYSTEM___239 = 148,
    _SC_MONOTONIC_CLOCK___239 = 149,
    _SC_MULTI_PROCESS___239 = 150,
    _SC_SINGLE_PROCESS___239 = 151,
    _SC_NETWORKING___239 = 152,
    _SC_READER_WRITER_LOCKS___239 = 153,
    _SC_SPIN_LOCKS___239 = 154,
    _SC_REGEXP___239 = 155,
    _SC_REGEX_VERSION___239 = 156,
    _SC_SHELL___239 = 157,
    _SC_SIGNALS___239 = 158,
    _SC_SPAWN___239 = 159,
    _SC_SPORADIC_SERVER___239 = 160,
    _SC_THREAD_SPORADIC_SERVER___239 = 161,
    _SC_SYSTEM_DATABASE___239 = 162,
    _SC_SYSTEM_DATABASE_R___239 = 163,
    _SC_TIMEOUTS___239 = 164,
    _SC_TYPED_MEMORY_OBJECTS___239 = 165,
    _SC_USER_GROUPS___239 = 166,
    _SC_USER_GROUPS_R___239 = 167,
    _SC_2_PBS___239 = 168,
    _SC_2_PBS_ACCOUNTING___239 = 169,
    _SC_2_PBS_LOCATE___239 = 170,
    _SC_2_PBS_MESSAGE___239 = 171,
    _SC_2_PBS_TRACK___239 = 172,
    _SC_SYMLOOP_MAX___239 = 173,
    _SC_STREAMS___239 = 174,
    _SC_2_PBS_CHECKPOINT___239 = 175,
    _SC_V6_ILP32_OFF32___239 = 176,
    _SC_V6_ILP32_OFFBIG___239 = 177,
    _SC_V6_LP64_OFF64___239 = 178,
    _SC_V6_LPBIG_OFFBIG___239 = 179,
    _SC_HOST_NAME_MAX___239 = 180,
    _SC_TRACE___239 = 181,
    _SC_TRACE_EVENT_FILTER___239 = 182,
    _SC_TRACE_INHERIT___239 = 183,
    _SC_TRACE_LOG___239 = 184,
    _SC_LEVEL1_ICACHE_SIZE___239 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___239 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___239 = 187,
    _SC_LEVEL1_DCACHE_SIZE___239 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___239 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___239 = 190,
    _SC_LEVEL2_CACHE_SIZE___239 = 191,
    _SC_LEVEL2_CACHE_ASSOC___239 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___239 = 193,
    _SC_LEVEL3_CACHE_SIZE___239 = 194,
    _SC_LEVEL3_CACHE_ASSOC___239 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___239 = 196,
    _SC_LEVEL4_CACHE_SIZE___239 = 197,
    _SC_LEVEL4_CACHE_ASSOC___239 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___239 = 199,
    _SC_IPV6___239 = 235,
    _SC_RAW_SOCKETS___239 = 236,
    _SC_V7_ILP32_OFF32___239 = 237,
    _SC_V7_ILP32_OFFBIG___239 = 238,
    _SC_V7_LP64_OFF64___239 = 239,
    _SC_V7_LPBIG_OFFBIG___239 = 240,
    _SC_SS_REPL_MAX___239 = 241,
    _SC_TRACE_EVENT_NAME_MAX___239 = 242,
    _SC_TRACE_NAME_MAX___239 = 243,
    _SC_TRACE_SYS_MAX___239 = 244,
    _SC_TRACE_USER_EVENT_MAX___239 = 245,
    _SC_XOPEN_STREAMS___239 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___239 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___239 = 248
} ;
enum __anonenum_875524036___239 {
    _CS_PATH___239 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___239 = 1,
    _CS_GNU_LIBC_VERSION___239 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___239 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___239 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___239 = 5,
    _CS_LFS_CFLAGS___239 = 1000,
    _CS_LFS_LDFLAGS___239 = 1001,
    _CS_LFS_LIBS___239 = 1002,
    _CS_LFS_LINTFLAGS___239 = 1003,
    _CS_LFS64_CFLAGS___239 = 1004,
    _CS_LFS64_LDFLAGS___239 = 1005,
    _CS_LFS64_LIBS___239 = 1006,
    _CS_LFS64_LINTFLAGS___239 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___239 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___239 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___239 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___239 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___239 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___239 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___239 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___239 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___239 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___239 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___239 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___239 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___239 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___239 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___239 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___239 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___239 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___239 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___239 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___239 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___239 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___239 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___239 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___239 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___239 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___239 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___239 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___239 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___239 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___239 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___239 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___239 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___239 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___239 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___239 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___239 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___239 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___239 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___239 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___239 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___239 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___239 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___239 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___239 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___239 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___239 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___239 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___239 = 1147,
    _CS_V6_ENV___239 = 1148,
    _CS_V7_ENV___239 = 1149
} ;
enum __anonenum_513775621___239 {
    DT_UNKNOWN___239 = 0,
    DT_FIFO___239 = 1,
    DT_CHR___239 = 2,
    DT_DIR___239 = 4,
    DT_BLK___239 = 6,
    DT_REG___239 = 8,
    DT_LNK___239 = 10,
    DT_SOCK___239 = 12,
    DT_WHT___239 = 14
} ;
enum __anonenum_77002343___239 {
    SI_ASYNCNL___239 = -60,
    SI_TKILL___239 = -6,
    SI_SIGIO___239 = -5,
    SI_ASYNCIO___239 = -4,
    SI_MESGQ___239 = -3,
    SI_TIMER___239 = -2,
    SI_QUEUE___239 = -1,
    SI_USER___239 = 0,
    SI_KERNEL___239 = 128
} ;
enum __anonenum_131038172___239 {
    ILL_ILLOPC___239 = 1,
    ILL_ILLOPN___239 = 2,
    ILL_ILLADR___239 = 3,
    ILL_ILLTRP___239 = 4,
    ILL_PRVOPC___239 = 5,
    ILL_PRVREG___239 = 6,
    ILL_COPROC___239 = 7,
    ILL_BADSTK___239 = 8
} ;
enum __anonenum_452038093___239 {
    FPE_INTDIV___239 = 1,
    FPE_INTOVF___239 = 2,
    FPE_FLTDIV___239 = 3,
    FPE_FLTOVF___239 = 4,
    FPE_FLTUND___239 = 5,
    FPE_FLTRES___239 = 6,
    FPE_FLTINV___239 = 7,
    FPE_FLTSUB___239 = 8
} ;
enum __anonenum_30976155___239 {
    SEGV_MAPERR___239 = 1,
    SEGV_ACCERR___239 = 2,
    SEGV_BNDERR___239 = 3,
    SEGV_PKUERR___239 = 4
} ;
enum __anonenum_1036286214___239 {
    BUS_ADRALN___239 = 1,
    BUS_ADRERR___239 = 2,
    BUS_OBJERR___239 = 3,
    BUS_MCEERR_AR___239 = 4,
    BUS_MCEERR_AO___239 = 5
} ;
enum __anonenum_493465559___239 {
    TRAP_BRKPT___239 = 1,
    TRAP_TRACE___239 = 2
} ;
enum __anonenum_23175539___239 {
    CLD_EXITED___239 = 1,
    CLD_KILLED___239 = 2,
    CLD_DUMPED___239 = 3,
    CLD_TRAPPED___239 = 4,
    CLD_STOPPED___239 = 5,
    CLD_CONTINUED___239 = 6
} ;
enum __anonenum_111643124___239 {
    POLL_IN___239 = 1,
    POLL_OUT___239 = 2,
    POLL_MSG___239 = 3,
    POLL_ERR___239 = 4,
    POLL_PRI___239 = 5,
    POLL_HUP___239 = 6
} ;
enum __anonenum_852341087___239 {
    SIGEV_SIGNAL___239 = 0,
    SIGEV_NONE___239 = 1,
    SIGEV_THREAD___239 = 2,
    SIGEV_THREAD_ID___239 = 4
} ;
enum __anonenum_451154152___239 {
    REG_R8___239 = 0,
    REG_R9___239 = 1,
    REG_R10___239 = 2,
    REG_R11___239 = 3,
    REG_R12___239 = 4,
    REG_R13___239 = 5,
    REG_R14___239 = 6,
    REG_R15___239 = 7,
    REG_RDI___239 = 8,
    REG_RSI___239 = 9,
    REG_RBP___239 = 10,
    REG_RBX___239 = 11,
    REG_RDX___239 = 12,
    REG_RAX___239 = 13,
    REG_RCX___239 = 14,
    REG_RSP___239 = 15,
    REG_RIP___239 = 16,
    REG_EFL___239 = 17,
    REG_CSGSFS___239 = 18,
    REG_ERR___239 = 19,
    REG_TRAPNO___239 = 20,
    REG_OLDMASK___239 = 21,
    REG_CR2___239 = 22
} ;
enum __anonenum_57186863___239 {
    SS_ONSTACK___239 = 1,
    SS_DISABLE___239 = 2
} ;
enum __anonenum_83571709___239 {
    MSG_OOB___239 = 1,
    MSG_PEEK___239 = 2,
    MSG_DONTROUTE___239 = 4,
    MSG_TRYHARD___239 = 4,
    MSG_CTRUNC___239 = 8,
    MSG_PROXY___239 = 16,
    MSG_TRUNC___239 = 32,
    MSG_DONTWAIT___239 = 64,
    MSG_EOR___239 = 128,
    MSG_WAITALL___239 = 256,
    MSG_FIN___239 = 512,
    MSG_SYN___239 = 1024,
    MSG_CONFIRM___239 = 2048,
    MSG_RST___239 = 4096,
    MSG_ERRQUEUE___239 = 8192,
    MSG_NOSIGNAL___239 = 16384,
    MSG_MORE___239 = 32768,
    MSG_WAITFORONE___239 = 65536,
    MSG_BATCH___239 = 262144,
    MSG_ZEROCOPY___239 = 67108864,
    MSG_FASTOPEN___239 = 536870912,
    MSG_CMSG_CLOEXEC___239 = 1073741824
} ;
enum __anonenum_617082774___239 {
    SCM_RIGHTS___239 = 1,
    SCM_CREDENTIALS___239 = 2
} ;
enum __anonenum_606441560___239 {
    SHUT_RD___239 = 0,
    SHUT_WR___239 = 1,
    SHUT_RDWR___239 = 2
} ;
enum __anonenum_681669233___239 {
    IPPROTO_IP___239 = 0,
    IPPROTO_ICMP___239 = 1,
    IPPROTO_IGMP___239 = 2,
    IPPROTO_IPIP___239 = 4,
    IPPROTO_TCP___239 = 6,
    IPPROTO_EGP___239 = 8,
    IPPROTO_PUP___239 = 12,
    IPPROTO_UDP___239 = 17,
    IPPROTO_IDP___239 = 22,
    IPPROTO_TP___239 = 29,
    IPPROTO_DCCP___239 = 33,
    IPPROTO_IPV6___239 = 41,
    IPPROTO_RSVP___239 = 46,
    IPPROTO_GRE___239 = 47,
    IPPROTO_ESP___239 = 50,
    IPPROTO_AH___239 = 51,
    IPPROTO_MTP___239 = 92,
    IPPROTO_BEETPH___239 = 94,
    IPPROTO_ENCAP___239 = 98,
    IPPROTO_PIM___239 = 103,
    IPPROTO_COMP___239 = 108,
    IPPROTO_SCTP___239 = 132,
    IPPROTO_UDPLITE___239 = 136,
    IPPROTO_MPLS___239 = 137,
    IPPROTO_RAW___239 = 255,
    IPPROTO_MAX___239 = 256
} ;
enum __anonenum_218739988___239 {
    IPPROTO_HOPOPTS___239 = 0,
    IPPROTO_ROUTING___239 = 43,
    IPPROTO_FRAGMENT___239 = 44,
    IPPROTO_ICMPV6___239 = 58,
    IPPROTO_NONE___239 = 59,
    IPPROTO_DSTOPTS___239 = 60,
    IPPROTO_MH___239 = 135
} ;
enum __anonenum_662268580___239 {
    IPPORT_ECHO___239 = 7,
    IPPORT_DISCARD___239 = 9,
    IPPORT_SYSTAT___239 = 11,
    IPPORT_DAYTIME___239 = 13,
    IPPORT_NETSTAT___239 = 15,
    IPPORT_FTP___239 = 21,
    IPPORT_TELNET___239 = 23,
    IPPORT_SMTP___239 = 25,
    IPPORT_TIMESERVER___239 = 37,
    IPPORT_NAMESERVER___239 = 42,
    IPPORT_WHOIS___239 = 43,
    IPPORT_MTP___239 = 57,
    IPPORT_TFTP___239 = 69,
    IPPORT_RJE___239 = 77,
    IPPORT_FINGER___239 = 79,
    IPPORT_TTYLINK___239 = 87,
    IPPORT_SUPDUP___239 = 95,
    IPPORT_EXECSERVER___239 = 512,
    IPPORT_LOGINSERVER___239 = 513,
    IPPORT_CMDSERVER___239 = 514,
    IPPORT_EFSSERVER___239 = 520,
    IPPORT_BIFFUDP___239 = 512,
    IPPORT_WHOSERVER___239 = 513,
    IPPORT_ROUTESERVER___239 = 520,
    IPPORT_RESERVED___239 = 1024,
    IPPORT_USERRESERVED___239 = 5000
} ;
enum __anonenum_788308992___239 {
    TCP_ESTABLISHED___239 = 1,
    TCP_SYN_SENT___239 = 2,
    TCP_SYN_RECV___239 = 3,
    TCP_FIN_WAIT1___239 = 4,
    TCP_FIN_WAIT2___239 = 5,
    TCP_TIME_WAIT___239 = 6,
    TCP_CLOSE___239 = 7,
    TCP_CLOSE_WAIT___239 = 8,
    TCP_LAST_ACK___239 = 9,
    TCP_LISTEN___239 = 10,
    TCP_CLOSING___239 = 11
} ;
enum __anonenum_221125648___239 {
    TCP_NO_QUEUE___239 = 0,
    TCP_RECV_QUEUE___239 = 1,
    TCP_SEND_QUEUE___239 = 2,
    TCP_QUEUES_NR___239 = 3
} ;
enum __anonenum_34415463___239 {
    PTHREAD_CREATE_JOINABLE___239 = 0,
    PTHREAD_CREATE_DETACHED___239 = 1
} ;
enum __anonenum_303612439___239 {
    PTHREAD_MUTEX_TIMED_NP___239 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___239 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___239 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___239 = 3,
    PTHREAD_MUTEX_NORMAL___239 = 0,
    PTHREAD_MUTEX_RECURSIVE___239 = 1,
    PTHREAD_MUTEX_ERRORCHECK___239 = 2,
    PTHREAD_MUTEX_DEFAULT___239 = 0,
    PTHREAD_MUTEX_FAST_NP___239 = 0
} ;
enum __anonenum_931900394___239 {
    PTHREAD_MUTEX_STALLED___239 = 0,
    PTHREAD_MUTEX_STALLED_NP___239 = 0,
    PTHREAD_MUTEX_ROBUST___239 = 1,
    PTHREAD_MUTEX_ROBUST_NP___239 = 1
} ;
enum __anonenum_205214487___239 {
    PTHREAD_PRIO_NONE___239 = 0,
    PTHREAD_PRIO_INHERIT___239 = 1,
    PTHREAD_PRIO_PROTECT___239 = 2
} ;
enum __anonenum_25043950___239 {
    PTHREAD_RWLOCK_PREFER_READER_NP___239 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___239 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___239 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___239 = 0
} ;
enum __anonenum_436439511___239 {
    PTHREAD_INHERIT_SCHED___239 = 0,
    PTHREAD_EXPLICIT_SCHED___239 = 1
} ;
enum __anonenum_998661166___239 {
    PTHREAD_SCOPE_SYSTEM___239 = 0,
    PTHREAD_SCOPE_PROCESS___239 = 1
} ;
enum __anonenum_146137331___239 {
    PTHREAD_PROCESS_PRIVATE___239 = 0,
    PTHREAD_PROCESS_SHARED___239 = 1
} ;
enum __anonenum_53396917___239 {
    PTHREAD_CANCEL_ENABLE___239 = 0,
    PTHREAD_CANCEL_DISABLE___239 = 1
} ;
enum __anonenum_904563783___239 {
    PTHREAD_CANCEL_DEFERRED___239 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___239 = 1
} ;
enum __anonenum_672052974___239 {
    SSL_CT_VALIDATION_PERMISSIVE___239 = 0,
    SSL_CT_VALIDATION_STRICT___239 = 1
} ;
enum __anonenum_437032235___240 {
    _PC_LINK_MAX___240 = 0,
    _PC_MAX_CANON___240 = 1,
    _PC_MAX_INPUT___240 = 2,
    _PC_NAME_MAX___240 = 3,
    _PC_PATH_MAX___240 = 4,
    _PC_PIPE_BUF___240 = 5,
    _PC_CHOWN_RESTRICTED___240 = 6,
    _PC_NO_TRUNC___240 = 7,
    _PC_VDISABLE___240 = 8,
    _PC_SYNC_IO___240 = 9,
    _PC_ASYNC_IO___240 = 10,
    _PC_PRIO_IO___240 = 11,
    _PC_SOCK_MAXBUF___240 = 12,
    _PC_FILESIZEBITS___240 = 13,
    _PC_REC_INCR_XFER_SIZE___240 = 14,
    _PC_REC_MAX_XFER_SIZE___240 = 15,
    _PC_REC_MIN_XFER_SIZE___240 = 16,
    _PC_REC_XFER_ALIGN___240 = 17,
    _PC_ALLOC_SIZE_MIN___240 = 18,
    _PC_SYMLINK_MAX___240 = 19,
    _PC_2_SYMLINKS___240 = 20
} ;
enum __anonenum_315186338___240 {
    _SC_ARG_MAX___240 = 0,
    _SC_CHILD_MAX___240 = 1,
    _SC_CLK_TCK___240 = 2,
    _SC_NGROUPS_MAX___240 = 3,
    _SC_OPEN_MAX___240 = 4,
    _SC_STREAM_MAX___240 = 5,
    _SC_TZNAME_MAX___240 = 6,
    _SC_JOB_CONTROL___240 = 7,
    _SC_SAVED_IDS___240 = 8,
    _SC_REALTIME_SIGNALS___240 = 9,
    _SC_PRIORITY_SCHEDULING___240 = 10,
    _SC_TIMERS___240 = 11,
    _SC_ASYNCHRONOUS_IO___240 = 12,
    _SC_PRIORITIZED_IO___240 = 13,
    _SC_SYNCHRONIZED_IO___240 = 14,
    _SC_FSYNC___240 = 15,
    _SC_MAPPED_FILES___240 = 16,
    _SC_MEMLOCK___240 = 17,
    _SC_MEMLOCK_RANGE___240 = 18,
    _SC_MEMORY_PROTECTION___240 = 19,
    _SC_MESSAGE_PASSING___240 = 20,
    _SC_SEMAPHORES___240 = 21,
    _SC_SHARED_MEMORY_OBJECTS___240 = 22,
    _SC_AIO_LISTIO_MAX___240 = 23,
    _SC_AIO_MAX___240 = 24,
    _SC_AIO_PRIO_DELTA_MAX___240 = 25,
    _SC_DELAYTIMER_MAX___240 = 26,
    _SC_MQ_OPEN_MAX___240 = 27,
    _SC_MQ_PRIO_MAX___240 = 28,
    _SC_VERSION___240 = 29,
    _SC_PAGESIZE___240 = 30,
    _SC_RTSIG_MAX___240 = 31,
    _SC_SEM_NSEMS_MAX___240 = 32,
    _SC_SEM_VALUE_MAX___240 = 33,
    _SC_SIGQUEUE_MAX___240 = 34,
    _SC_TIMER_MAX___240 = 35,
    _SC_BC_BASE_MAX___240 = 36,
    _SC_BC_DIM_MAX___240 = 37,
    _SC_BC_SCALE_MAX___240 = 38,
    _SC_BC_STRING_MAX___240 = 39,
    _SC_COLL_WEIGHTS_MAX___240 = 40,
    _SC_EQUIV_CLASS_MAX___240 = 41,
    _SC_EXPR_NEST_MAX___240 = 42,
    _SC_LINE_MAX___240 = 43,
    _SC_RE_DUP_MAX___240 = 44,
    _SC_CHARCLASS_NAME_MAX___240 = 45,
    _SC_2_VERSION___240 = 46,
    _SC_2_C_BIND___240 = 47,
    _SC_2_C_DEV___240 = 48,
    _SC_2_FORT_DEV___240 = 49,
    _SC_2_FORT_RUN___240 = 50,
    _SC_2_SW_DEV___240 = 51,
    _SC_2_LOCALEDEF___240 = 52,
    _SC_PII___240 = 53,
    _SC_PII_XTI___240 = 54,
    _SC_PII_SOCKET___240 = 55,
    _SC_PII_INTERNET___240 = 56,
    _SC_PII_OSI___240 = 57,
    _SC_POLL___240 = 58,
    _SC_SELECT___240 = 59,
    _SC_UIO_MAXIOV___240 = 60,
    _SC_IOV_MAX___240 = 60,
    _SC_PII_INTERNET_STREAM___240 = 61,
    _SC_PII_INTERNET_DGRAM___240 = 62,
    _SC_PII_OSI_COTS___240 = 63,
    _SC_PII_OSI_CLTS___240 = 64,
    _SC_PII_OSI_M___240 = 65,
    _SC_T_IOV_MAX___240 = 66,
    _SC_THREADS___240 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___240 = 68,
    _SC_GETGR_R_SIZE_MAX___240 = 69,
    _SC_GETPW_R_SIZE_MAX___240 = 70,
    _SC_LOGIN_NAME_MAX___240 = 71,
    _SC_TTY_NAME_MAX___240 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___240 = 73,
    _SC_THREAD_KEYS_MAX___240 = 74,
    _SC_THREAD_STACK_MIN___240 = 75,
    _SC_THREAD_THREADS_MAX___240 = 76,
    _SC_THREAD_ATTR_STACKADDR___240 = 77,
    _SC_THREAD_ATTR_STACKSIZE___240 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___240 = 79,
    _SC_THREAD_PRIO_INHERIT___240 = 80,
    _SC_THREAD_PRIO_PROTECT___240 = 81,
    _SC_THREAD_PROCESS_SHARED___240 = 82,
    _SC_NPROCESSORS_CONF___240 = 83,
    _SC_NPROCESSORS_ONLN___240 = 84,
    _SC_PHYS_PAGES___240 = 85,
    _SC_AVPHYS_PAGES___240 = 86,
    _SC_ATEXIT_MAX___240 = 87,
    _SC_PASS_MAX___240 = 88,
    _SC_XOPEN_VERSION___240 = 89,
    _SC_XOPEN_XCU_VERSION___240 = 90,
    _SC_XOPEN_UNIX___240 = 91,
    _SC_XOPEN_CRYPT___240 = 92,
    _SC_XOPEN_ENH_I18N___240 = 93,
    _SC_XOPEN_SHM___240 = 94,
    _SC_2_CHAR_TERM___240 = 95,
    _SC_2_C_VERSION___240 = 96,
    _SC_2_UPE___240 = 97,
    _SC_XOPEN_XPG2___240 = 98,
    _SC_XOPEN_XPG3___240 = 99,
    _SC_XOPEN_XPG4___240 = 100,
    _SC_CHAR_BIT___240 = 101,
    _SC_CHAR_MAX___240 = 102,
    _SC_CHAR_MIN___240 = 103,
    _SC_INT_MAX___240 = 104,
    _SC_INT_MIN___240 = 105,
    _SC_LONG_BIT___240 = 106,
    _SC_WORD_BIT___240 = 107,
    _SC_MB_LEN_MAX___240 = 108,
    _SC_NZERO___240 = 109,
    _SC_SSIZE_MAX___240 = 110,
    _SC_SCHAR_MAX___240 = 111,
    _SC_SCHAR_MIN___240 = 112,
    _SC_SHRT_MAX___240 = 113,
    _SC_SHRT_MIN___240 = 114,
    _SC_UCHAR_MAX___240 = 115,
    _SC_UINT_MAX___240 = 116,
    _SC_ULONG_MAX___240 = 117,
    _SC_USHRT_MAX___240 = 118,
    _SC_NL_ARGMAX___240 = 119,
    _SC_NL_LANGMAX___240 = 120,
    _SC_NL_MSGMAX___240 = 121,
    _SC_NL_NMAX___240 = 122,
    _SC_NL_SETMAX___240 = 123,
    _SC_NL_TEXTMAX___240 = 124,
    _SC_XBS5_ILP32_OFF32___240 = 125,
    _SC_XBS5_ILP32_OFFBIG___240 = 126,
    _SC_XBS5_LP64_OFF64___240 = 127,
    _SC_XBS5_LPBIG_OFFBIG___240 = 128,
    _SC_XOPEN_LEGACY___240 = 129,
    _SC_XOPEN_REALTIME___240 = 130,
    _SC_XOPEN_REALTIME_THREADS___240 = 131,
    _SC_ADVISORY_INFO___240 = 132,
    _SC_BARRIERS___240 = 133,
    _SC_BASE___240 = 134,
    _SC_C_LANG_SUPPORT___240 = 135,
    _SC_C_LANG_SUPPORT_R___240 = 136,
    _SC_CLOCK_SELECTION___240 = 137,
    _SC_CPUTIME___240 = 138,
    _SC_THREAD_CPUTIME___240 = 139,
    _SC_DEVICE_IO___240 = 140,
    _SC_DEVICE_SPECIFIC___240 = 141,
    _SC_DEVICE_SPECIFIC_R___240 = 142,
    _SC_FD_MGMT___240 = 143,
    _SC_FIFO___240 = 144,
    _SC_PIPE___240 = 145,
    _SC_FILE_ATTRIBUTES___240 = 146,
    _SC_FILE_LOCKING___240 = 147,
    _SC_FILE_SYSTEM___240 = 148,
    _SC_MONOTONIC_CLOCK___240 = 149,
    _SC_MULTI_PROCESS___240 = 150,
    _SC_SINGLE_PROCESS___240 = 151,
    _SC_NETWORKING___240 = 152,
    _SC_READER_WRITER_LOCKS___240 = 153,
    _SC_SPIN_LOCKS___240 = 154,
    _SC_REGEXP___240 = 155,
    _SC_REGEX_VERSION___240 = 156,
    _SC_SHELL___240 = 157,
    _SC_SIGNALS___240 = 158,
    _SC_SPAWN___240 = 159,
    _SC_SPORADIC_SERVER___240 = 160,
    _SC_THREAD_SPORADIC_SERVER___240 = 161,
    _SC_SYSTEM_DATABASE___240 = 162,
    _SC_SYSTEM_DATABASE_R___240 = 163,
    _SC_TIMEOUTS___240 = 164,
    _SC_TYPED_MEMORY_OBJECTS___240 = 165,
    _SC_USER_GROUPS___240 = 166,
    _SC_USER_GROUPS_R___240 = 167,
    _SC_2_PBS___240 = 168,
    _SC_2_PBS_ACCOUNTING___240 = 169,
    _SC_2_PBS_LOCATE___240 = 170,
    _SC_2_PBS_MESSAGE___240 = 171,
    _SC_2_PBS_TRACK___240 = 172,
    _SC_SYMLOOP_MAX___240 = 173,
    _SC_STREAMS___240 = 174,
    _SC_2_PBS_CHECKPOINT___240 = 175,
    _SC_V6_ILP32_OFF32___240 = 176,
    _SC_V6_ILP32_OFFBIG___240 = 177,
    _SC_V6_LP64_OFF64___240 = 178,
    _SC_V6_LPBIG_OFFBIG___240 = 179,
    _SC_HOST_NAME_MAX___240 = 180,
    _SC_TRACE___240 = 181,
    _SC_TRACE_EVENT_FILTER___240 = 182,
    _SC_TRACE_INHERIT___240 = 183,
    _SC_TRACE_LOG___240 = 184,
    _SC_LEVEL1_ICACHE_SIZE___240 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___240 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___240 = 187,
    _SC_LEVEL1_DCACHE_SIZE___240 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___240 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___240 = 190,
    _SC_LEVEL2_CACHE_SIZE___240 = 191,
    _SC_LEVEL2_CACHE_ASSOC___240 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___240 = 193,
    _SC_LEVEL3_CACHE_SIZE___240 = 194,
    _SC_LEVEL3_CACHE_ASSOC___240 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___240 = 196,
    _SC_LEVEL4_CACHE_SIZE___240 = 197,
    _SC_LEVEL4_CACHE_ASSOC___240 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___240 = 199,
    _SC_IPV6___240 = 235,
    _SC_RAW_SOCKETS___240 = 236,
    _SC_V7_ILP32_OFF32___240 = 237,
    _SC_V7_ILP32_OFFBIG___240 = 238,
    _SC_V7_LP64_OFF64___240 = 239,
    _SC_V7_LPBIG_OFFBIG___240 = 240,
    _SC_SS_REPL_MAX___240 = 241,
    _SC_TRACE_EVENT_NAME_MAX___240 = 242,
    _SC_TRACE_NAME_MAX___240 = 243,
    _SC_TRACE_SYS_MAX___240 = 244,
    _SC_TRACE_USER_EVENT_MAX___240 = 245,
    _SC_XOPEN_STREAMS___240 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___240 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___240 = 248
} ;
enum __anonenum_875524036___240 {
    _CS_PATH___240 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___240 = 1,
    _CS_GNU_LIBC_VERSION___240 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___240 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___240 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___240 = 5,
    _CS_LFS_CFLAGS___240 = 1000,
    _CS_LFS_LDFLAGS___240 = 1001,
    _CS_LFS_LIBS___240 = 1002,
    _CS_LFS_LINTFLAGS___240 = 1003,
    _CS_LFS64_CFLAGS___240 = 1004,
    _CS_LFS64_LDFLAGS___240 = 1005,
    _CS_LFS64_LIBS___240 = 1006,
    _CS_LFS64_LINTFLAGS___240 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___240 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___240 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___240 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___240 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___240 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___240 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___240 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___240 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___240 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___240 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___240 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___240 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___240 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___240 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___240 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___240 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___240 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___240 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___240 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___240 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___240 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___240 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___240 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___240 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___240 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___240 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___240 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___240 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___240 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___240 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___240 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___240 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___240 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___240 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___240 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___240 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___240 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___240 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___240 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___240 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___240 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___240 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___240 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___240 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___240 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___240 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___240 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___240 = 1147,
    _CS_V6_ENV___240 = 1148,
    _CS_V7_ENV___240 = 1149
} ;
enum __anonenum_513775621___240 {
    DT_UNKNOWN___240 = 0,
    DT_FIFO___240 = 1,
    DT_CHR___240 = 2,
    DT_DIR___240 = 4,
    DT_BLK___240 = 6,
    DT_REG___240 = 8,
    DT_LNK___240 = 10,
    DT_SOCK___240 = 12,
    DT_WHT___240 = 14
} ;
enum __anonenum_77002343___240 {
    SI_ASYNCNL___240 = -60,
    SI_TKILL___240 = -6,
    SI_SIGIO___240 = -5,
    SI_ASYNCIO___240 = -4,
    SI_MESGQ___240 = -3,
    SI_TIMER___240 = -2,
    SI_QUEUE___240 = -1,
    SI_USER___240 = 0,
    SI_KERNEL___240 = 128
} ;
enum __anonenum_131038172___240 {
    ILL_ILLOPC___240 = 1,
    ILL_ILLOPN___240 = 2,
    ILL_ILLADR___240 = 3,
    ILL_ILLTRP___240 = 4,
    ILL_PRVOPC___240 = 5,
    ILL_PRVREG___240 = 6,
    ILL_COPROC___240 = 7,
    ILL_BADSTK___240 = 8
} ;
enum __anonenum_452038093___240 {
    FPE_INTDIV___240 = 1,
    FPE_INTOVF___240 = 2,
    FPE_FLTDIV___240 = 3,
    FPE_FLTOVF___240 = 4,
    FPE_FLTUND___240 = 5,
    FPE_FLTRES___240 = 6,
    FPE_FLTINV___240 = 7,
    FPE_FLTSUB___240 = 8
} ;
enum __anonenum_30976155___240 {
    SEGV_MAPERR___240 = 1,
    SEGV_ACCERR___240 = 2,
    SEGV_BNDERR___240 = 3,
    SEGV_PKUERR___240 = 4
} ;
enum __anonenum_1036286214___240 {
    BUS_ADRALN___240 = 1,
    BUS_ADRERR___240 = 2,
    BUS_OBJERR___240 = 3,
    BUS_MCEERR_AR___240 = 4,
    BUS_MCEERR_AO___240 = 5
} ;
enum __anonenum_493465559___240 {
    TRAP_BRKPT___240 = 1,
    TRAP_TRACE___240 = 2
} ;
enum __anonenum_23175539___240 {
    CLD_EXITED___240 = 1,
    CLD_KILLED___240 = 2,
    CLD_DUMPED___240 = 3,
    CLD_TRAPPED___240 = 4,
    CLD_STOPPED___240 = 5,
    CLD_CONTINUED___240 = 6
} ;
enum __anonenum_111643124___240 {
    POLL_IN___240 = 1,
    POLL_OUT___240 = 2,
    POLL_MSG___240 = 3,
    POLL_ERR___240 = 4,
    POLL_PRI___240 = 5,
    POLL_HUP___240 = 6
} ;
enum __anonenum_852341087___240 {
    SIGEV_SIGNAL___240 = 0,
    SIGEV_NONE___240 = 1,
    SIGEV_THREAD___240 = 2,
    SIGEV_THREAD_ID___240 = 4
} ;
enum __anonenum_451154152___240 {
    REG_R8___240 = 0,
    REG_R9___240 = 1,
    REG_R10___240 = 2,
    REG_R11___240 = 3,
    REG_R12___240 = 4,
    REG_R13___240 = 5,
    REG_R14___240 = 6,
    REG_R15___240 = 7,
    REG_RDI___240 = 8,
    REG_RSI___240 = 9,
    REG_RBP___240 = 10,
    REG_RBX___240 = 11,
    REG_RDX___240 = 12,
    REG_RAX___240 = 13,
    REG_RCX___240 = 14,
    REG_RSP___240 = 15,
    REG_RIP___240 = 16,
    REG_EFL___240 = 17,
    REG_CSGSFS___240 = 18,
    REG_ERR___240 = 19,
    REG_TRAPNO___240 = 20,
    REG_OLDMASK___240 = 21,
    REG_CR2___240 = 22
} ;
enum __anonenum_57186863___240 {
    SS_ONSTACK___240 = 1,
    SS_DISABLE___240 = 2
} ;
enum __anonenum_83571709___240 {
    MSG_OOB___240 = 1,
    MSG_PEEK___240 = 2,
    MSG_DONTROUTE___240 = 4,
    MSG_TRYHARD___240 = 4,
    MSG_CTRUNC___240 = 8,
    MSG_PROXY___240 = 16,
    MSG_TRUNC___240 = 32,
    MSG_DONTWAIT___240 = 64,
    MSG_EOR___240 = 128,
    MSG_WAITALL___240 = 256,
    MSG_FIN___240 = 512,
    MSG_SYN___240 = 1024,
    MSG_CONFIRM___240 = 2048,
    MSG_RST___240 = 4096,
    MSG_ERRQUEUE___240 = 8192,
    MSG_NOSIGNAL___240 = 16384,
    MSG_MORE___240 = 32768,
    MSG_WAITFORONE___240 = 65536,
    MSG_BATCH___240 = 262144,
    MSG_ZEROCOPY___240 = 67108864,
    MSG_FASTOPEN___240 = 536870912,
    MSG_CMSG_CLOEXEC___240 = 1073741824
} ;
enum __anonenum_617082774___240 {
    SCM_RIGHTS___240 = 1,
    SCM_CREDENTIALS___240 = 2
} ;
enum __anonenum_606441560___240 {
    SHUT_RD___240 = 0,
    SHUT_WR___240 = 1,
    SHUT_RDWR___240 = 2
} ;
enum __anonenum_681669233___240 {
    IPPROTO_IP___240 = 0,
    IPPROTO_ICMP___240 = 1,
    IPPROTO_IGMP___240 = 2,
    IPPROTO_IPIP___240 = 4,
    IPPROTO_TCP___240 = 6,
    IPPROTO_EGP___240 = 8,
    IPPROTO_PUP___240 = 12,
    IPPROTO_UDP___240 = 17,
    IPPROTO_IDP___240 = 22,
    IPPROTO_TP___240 = 29,
    IPPROTO_DCCP___240 = 33,
    IPPROTO_IPV6___240 = 41,
    IPPROTO_RSVP___240 = 46,
    IPPROTO_GRE___240 = 47,
    IPPROTO_ESP___240 = 50,
    IPPROTO_AH___240 = 51,
    IPPROTO_MTP___240 = 92,
    IPPROTO_BEETPH___240 = 94,
    IPPROTO_ENCAP___240 = 98,
    IPPROTO_PIM___240 = 103,
    IPPROTO_COMP___240 = 108,
    IPPROTO_SCTP___240 = 132,
    IPPROTO_UDPLITE___240 = 136,
    IPPROTO_MPLS___240 = 137,
    IPPROTO_RAW___240 = 255,
    IPPROTO_MAX___240 = 256
} ;
enum __anonenum_218739988___240 {
    IPPROTO_HOPOPTS___240 = 0,
    IPPROTO_ROUTING___240 = 43,
    IPPROTO_FRAGMENT___240 = 44,
    IPPROTO_ICMPV6___240 = 58,
    IPPROTO_NONE___240 = 59,
    IPPROTO_DSTOPTS___240 = 60,
    IPPROTO_MH___240 = 135
} ;
enum __anonenum_662268580___240 {
    IPPORT_ECHO___240 = 7,
    IPPORT_DISCARD___240 = 9,
    IPPORT_SYSTAT___240 = 11,
    IPPORT_DAYTIME___240 = 13,
    IPPORT_NETSTAT___240 = 15,
    IPPORT_FTP___240 = 21,
    IPPORT_TELNET___240 = 23,
    IPPORT_SMTP___240 = 25,
    IPPORT_TIMESERVER___240 = 37,
    IPPORT_NAMESERVER___240 = 42,
    IPPORT_WHOIS___240 = 43,
    IPPORT_MTP___240 = 57,
    IPPORT_TFTP___240 = 69,
    IPPORT_RJE___240 = 77,
    IPPORT_FINGER___240 = 79,
    IPPORT_TTYLINK___240 = 87,
    IPPORT_SUPDUP___240 = 95,
    IPPORT_EXECSERVER___240 = 512,
    IPPORT_LOGINSERVER___240 = 513,
    IPPORT_CMDSERVER___240 = 514,
    IPPORT_EFSSERVER___240 = 520,
    IPPORT_BIFFUDP___240 = 512,
    IPPORT_WHOSERVER___240 = 513,
    IPPORT_ROUTESERVER___240 = 520,
    IPPORT_RESERVED___240 = 1024,
    IPPORT_USERRESERVED___240 = 5000
} ;
enum __anonenum_788308992___240 {
    TCP_ESTABLISHED___240 = 1,
    TCP_SYN_SENT___240 = 2,
    TCP_SYN_RECV___240 = 3,
    TCP_FIN_WAIT1___240 = 4,
    TCP_FIN_WAIT2___240 = 5,
    TCP_TIME_WAIT___240 = 6,
    TCP_CLOSE___240 = 7,
    TCP_CLOSE_WAIT___240 = 8,
    TCP_LAST_ACK___240 = 9,
    TCP_LISTEN___240 = 10,
    TCP_CLOSING___240 = 11
} ;
enum __anonenum_221125648___240 {
    TCP_NO_QUEUE___240 = 0,
    TCP_RECV_QUEUE___240 = 1,
    TCP_SEND_QUEUE___240 = 2,
    TCP_QUEUES_NR___240 = 3
} ;
enum __anonenum_34415463___240 {
    PTHREAD_CREATE_JOINABLE___240 = 0,
    PTHREAD_CREATE_DETACHED___240 = 1
} ;
enum __anonenum_303612439___240 {
    PTHREAD_MUTEX_TIMED_NP___240 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___240 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___240 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___240 = 3,
    PTHREAD_MUTEX_NORMAL___240 = 0,
    PTHREAD_MUTEX_RECURSIVE___240 = 1,
    PTHREAD_MUTEX_ERRORCHECK___240 = 2,
    PTHREAD_MUTEX_DEFAULT___240 = 0,
    PTHREAD_MUTEX_FAST_NP___240 = 0
} ;
enum __anonenum_931900394___240 {
    PTHREAD_MUTEX_STALLED___240 = 0,
    PTHREAD_MUTEX_STALLED_NP___240 = 0,
    PTHREAD_MUTEX_ROBUST___240 = 1,
    PTHREAD_MUTEX_ROBUST_NP___240 = 1
} ;
enum __anonenum_205214487___240 {
    PTHREAD_PRIO_NONE___240 = 0,
    PTHREAD_PRIO_INHERIT___240 = 1,
    PTHREAD_PRIO_PROTECT___240 = 2
} ;
enum __anonenum_25043950___240 {
    PTHREAD_RWLOCK_PREFER_READER_NP___240 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___240 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___240 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___240 = 0
} ;
enum __anonenum_436439511___240 {
    PTHREAD_INHERIT_SCHED___240 = 0,
    PTHREAD_EXPLICIT_SCHED___240 = 1
} ;
enum __anonenum_998661166___240 {
    PTHREAD_SCOPE_SYSTEM___240 = 0,
    PTHREAD_SCOPE_PROCESS___240 = 1
} ;
enum __anonenum_146137331___240 {
    PTHREAD_PROCESS_PRIVATE___240 = 0,
    PTHREAD_PROCESS_SHARED___240 = 1
} ;
enum __anonenum_53396917___240 {
    PTHREAD_CANCEL_ENABLE___240 = 0,
    PTHREAD_CANCEL_DISABLE___240 = 1
} ;
enum __anonenum_904563783___240 {
    PTHREAD_CANCEL_DEFERRED___240 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___240 = 1
} ;
enum __anonenum_672052974___240 {
    SSL_CT_VALIDATION_PERMISSIVE___240 = 0,
    SSL_CT_VALIDATION_STRICT___240 = 1
} ;
enum __anonenum_437032235___241 {
    _PC_LINK_MAX___241 = 0,
    _PC_MAX_CANON___241 = 1,
    _PC_MAX_INPUT___241 = 2,
    _PC_NAME_MAX___241 = 3,
    _PC_PATH_MAX___241 = 4,
    _PC_PIPE_BUF___241 = 5,
    _PC_CHOWN_RESTRICTED___241 = 6,
    _PC_NO_TRUNC___241 = 7,
    _PC_VDISABLE___241 = 8,
    _PC_SYNC_IO___241 = 9,
    _PC_ASYNC_IO___241 = 10,
    _PC_PRIO_IO___241 = 11,
    _PC_SOCK_MAXBUF___241 = 12,
    _PC_FILESIZEBITS___241 = 13,
    _PC_REC_INCR_XFER_SIZE___241 = 14,
    _PC_REC_MAX_XFER_SIZE___241 = 15,
    _PC_REC_MIN_XFER_SIZE___241 = 16,
    _PC_REC_XFER_ALIGN___241 = 17,
    _PC_ALLOC_SIZE_MIN___241 = 18,
    _PC_SYMLINK_MAX___241 = 19,
    _PC_2_SYMLINKS___241 = 20
} ;
enum __anonenum_315186338___241 {
    _SC_ARG_MAX___241 = 0,
    _SC_CHILD_MAX___241 = 1,
    _SC_CLK_TCK___241 = 2,
    _SC_NGROUPS_MAX___241 = 3,
    _SC_OPEN_MAX___241 = 4,
    _SC_STREAM_MAX___241 = 5,
    _SC_TZNAME_MAX___241 = 6,
    _SC_JOB_CONTROL___241 = 7,
    _SC_SAVED_IDS___241 = 8,
    _SC_REALTIME_SIGNALS___241 = 9,
    _SC_PRIORITY_SCHEDULING___241 = 10,
    _SC_TIMERS___241 = 11,
    _SC_ASYNCHRONOUS_IO___241 = 12,
    _SC_PRIORITIZED_IO___241 = 13,
    _SC_SYNCHRONIZED_IO___241 = 14,
    _SC_FSYNC___241 = 15,
    _SC_MAPPED_FILES___241 = 16,
    _SC_MEMLOCK___241 = 17,
    _SC_MEMLOCK_RANGE___241 = 18,
    _SC_MEMORY_PROTECTION___241 = 19,
    _SC_MESSAGE_PASSING___241 = 20,
    _SC_SEMAPHORES___241 = 21,
    _SC_SHARED_MEMORY_OBJECTS___241 = 22,
    _SC_AIO_LISTIO_MAX___241 = 23,
    _SC_AIO_MAX___241 = 24,
    _SC_AIO_PRIO_DELTA_MAX___241 = 25,
    _SC_DELAYTIMER_MAX___241 = 26,
    _SC_MQ_OPEN_MAX___241 = 27,
    _SC_MQ_PRIO_MAX___241 = 28,
    _SC_VERSION___241 = 29,
    _SC_PAGESIZE___241 = 30,
    _SC_RTSIG_MAX___241 = 31,
    _SC_SEM_NSEMS_MAX___241 = 32,
    _SC_SEM_VALUE_MAX___241 = 33,
    _SC_SIGQUEUE_MAX___241 = 34,
    _SC_TIMER_MAX___241 = 35,
    _SC_BC_BASE_MAX___241 = 36,
    _SC_BC_DIM_MAX___241 = 37,
    _SC_BC_SCALE_MAX___241 = 38,
    _SC_BC_STRING_MAX___241 = 39,
    _SC_COLL_WEIGHTS_MAX___241 = 40,
    _SC_EQUIV_CLASS_MAX___241 = 41,
    _SC_EXPR_NEST_MAX___241 = 42,
    _SC_LINE_MAX___241 = 43,
    _SC_RE_DUP_MAX___241 = 44,
    _SC_CHARCLASS_NAME_MAX___241 = 45,
    _SC_2_VERSION___241 = 46,
    _SC_2_C_BIND___241 = 47,
    _SC_2_C_DEV___241 = 48,
    _SC_2_FORT_DEV___241 = 49,
    _SC_2_FORT_RUN___241 = 50,
    _SC_2_SW_DEV___241 = 51,
    _SC_2_LOCALEDEF___241 = 52,
    _SC_PII___241 = 53,
    _SC_PII_XTI___241 = 54,
    _SC_PII_SOCKET___241 = 55,
    _SC_PII_INTERNET___241 = 56,
    _SC_PII_OSI___241 = 57,
    _SC_POLL___241 = 58,
    _SC_SELECT___241 = 59,
    _SC_UIO_MAXIOV___241 = 60,
    _SC_IOV_MAX___241 = 60,
    _SC_PII_INTERNET_STREAM___241 = 61,
    _SC_PII_INTERNET_DGRAM___241 = 62,
    _SC_PII_OSI_COTS___241 = 63,
    _SC_PII_OSI_CLTS___241 = 64,
    _SC_PII_OSI_M___241 = 65,
    _SC_T_IOV_MAX___241 = 66,
    _SC_THREADS___241 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___241 = 68,
    _SC_GETGR_R_SIZE_MAX___241 = 69,
    _SC_GETPW_R_SIZE_MAX___241 = 70,
    _SC_LOGIN_NAME_MAX___241 = 71,
    _SC_TTY_NAME_MAX___241 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___241 = 73,
    _SC_THREAD_KEYS_MAX___241 = 74,
    _SC_THREAD_STACK_MIN___241 = 75,
    _SC_THREAD_THREADS_MAX___241 = 76,
    _SC_THREAD_ATTR_STACKADDR___241 = 77,
    _SC_THREAD_ATTR_STACKSIZE___241 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___241 = 79,
    _SC_THREAD_PRIO_INHERIT___241 = 80,
    _SC_THREAD_PRIO_PROTECT___241 = 81,
    _SC_THREAD_PROCESS_SHARED___241 = 82,
    _SC_NPROCESSORS_CONF___241 = 83,
    _SC_NPROCESSORS_ONLN___241 = 84,
    _SC_PHYS_PAGES___241 = 85,
    _SC_AVPHYS_PAGES___241 = 86,
    _SC_ATEXIT_MAX___241 = 87,
    _SC_PASS_MAX___241 = 88,
    _SC_XOPEN_VERSION___241 = 89,
    _SC_XOPEN_XCU_VERSION___241 = 90,
    _SC_XOPEN_UNIX___241 = 91,
    _SC_XOPEN_CRYPT___241 = 92,
    _SC_XOPEN_ENH_I18N___241 = 93,
    _SC_XOPEN_SHM___241 = 94,
    _SC_2_CHAR_TERM___241 = 95,
    _SC_2_C_VERSION___241 = 96,
    _SC_2_UPE___241 = 97,
    _SC_XOPEN_XPG2___241 = 98,
    _SC_XOPEN_XPG3___241 = 99,
    _SC_XOPEN_XPG4___241 = 100,
    _SC_CHAR_BIT___241 = 101,
    _SC_CHAR_MAX___241 = 102,
    _SC_CHAR_MIN___241 = 103,
    _SC_INT_MAX___241 = 104,
    _SC_INT_MIN___241 = 105,
    _SC_LONG_BIT___241 = 106,
    _SC_WORD_BIT___241 = 107,
    _SC_MB_LEN_MAX___241 = 108,
    _SC_NZERO___241 = 109,
    _SC_SSIZE_MAX___241 = 110,
    _SC_SCHAR_MAX___241 = 111,
    _SC_SCHAR_MIN___241 = 112,
    _SC_SHRT_MAX___241 = 113,
    _SC_SHRT_MIN___241 = 114,
    _SC_UCHAR_MAX___241 = 115,
    _SC_UINT_MAX___241 = 116,
    _SC_ULONG_MAX___241 = 117,
    _SC_USHRT_MAX___241 = 118,
    _SC_NL_ARGMAX___241 = 119,
    _SC_NL_LANGMAX___241 = 120,
    _SC_NL_MSGMAX___241 = 121,
    _SC_NL_NMAX___241 = 122,
    _SC_NL_SETMAX___241 = 123,
    _SC_NL_TEXTMAX___241 = 124,
    _SC_XBS5_ILP32_OFF32___241 = 125,
    _SC_XBS5_ILP32_OFFBIG___241 = 126,
    _SC_XBS5_LP64_OFF64___241 = 127,
    _SC_XBS5_LPBIG_OFFBIG___241 = 128,
    _SC_XOPEN_LEGACY___241 = 129,
    _SC_XOPEN_REALTIME___241 = 130,
    _SC_XOPEN_REALTIME_THREADS___241 = 131,
    _SC_ADVISORY_INFO___241 = 132,
    _SC_BARRIERS___241 = 133,
    _SC_BASE___241 = 134,
    _SC_C_LANG_SUPPORT___241 = 135,
    _SC_C_LANG_SUPPORT_R___241 = 136,
    _SC_CLOCK_SELECTION___241 = 137,
    _SC_CPUTIME___241 = 138,
    _SC_THREAD_CPUTIME___241 = 139,
    _SC_DEVICE_IO___241 = 140,
    _SC_DEVICE_SPECIFIC___241 = 141,
    _SC_DEVICE_SPECIFIC_R___241 = 142,
    _SC_FD_MGMT___241 = 143,
    _SC_FIFO___241 = 144,
    _SC_PIPE___241 = 145,
    _SC_FILE_ATTRIBUTES___241 = 146,
    _SC_FILE_LOCKING___241 = 147,
    _SC_FILE_SYSTEM___241 = 148,
    _SC_MONOTONIC_CLOCK___241 = 149,
    _SC_MULTI_PROCESS___241 = 150,
    _SC_SINGLE_PROCESS___241 = 151,
    _SC_NETWORKING___241 = 152,
    _SC_READER_WRITER_LOCKS___241 = 153,
    _SC_SPIN_LOCKS___241 = 154,
    _SC_REGEXP___241 = 155,
    _SC_REGEX_VERSION___241 = 156,
    _SC_SHELL___241 = 157,
    _SC_SIGNALS___241 = 158,
    _SC_SPAWN___241 = 159,
    _SC_SPORADIC_SERVER___241 = 160,
    _SC_THREAD_SPORADIC_SERVER___241 = 161,
    _SC_SYSTEM_DATABASE___241 = 162,
    _SC_SYSTEM_DATABASE_R___241 = 163,
    _SC_TIMEOUTS___241 = 164,
    _SC_TYPED_MEMORY_OBJECTS___241 = 165,
    _SC_USER_GROUPS___241 = 166,
    _SC_USER_GROUPS_R___241 = 167,
    _SC_2_PBS___241 = 168,
    _SC_2_PBS_ACCOUNTING___241 = 169,
    _SC_2_PBS_LOCATE___241 = 170,
    _SC_2_PBS_MESSAGE___241 = 171,
    _SC_2_PBS_TRACK___241 = 172,
    _SC_SYMLOOP_MAX___241 = 173,
    _SC_STREAMS___241 = 174,
    _SC_2_PBS_CHECKPOINT___241 = 175,
    _SC_V6_ILP32_OFF32___241 = 176,
    _SC_V6_ILP32_OFFBIG___241 = 177,
    _SC_V6_LP64_OFF64___241 = 178,
    _SC_V6_LPBIG_OFFBIG___241 = 179,
    _SC_HOST_NAME_MAX___241 = 180,
    _SC_TRACE___241 = 181,
    _SC_TRACE_EVENT_FILTER___241 = 182,
    _SC_TRACE_INHERIT___241 = 183,
    _SC_TRACE_LOG___241 = 184,
    _SC_LEVEL1_ICACHE_SIZE___241 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___241 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___241 = 187,
    _SC_LEVEL1_DCACHE_SIZE___241 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___241 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___241 = 190,
    _SC_LEVEL2_CACHE_SIZE___241 = 191,
    _SC_LEVEL2_CACHE_ASSOC___241 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___241 = 193,
    _SC_LEVEL3_CACHE_SIZE___241 = 194,
    _SC_LEVEL3_CACHE_ASSOC___241 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___241 = 196,
    _SC_LEVEL4_CACHE_SIZE___241 = 197,
    _SC_LEVEL4_CACHE_ASSOC___241 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___241 = 199,
    _SC_IPV6___241 = 235,
    _SC_RAW_SOCKETS___241 = 236,
    _SC_V7_ILP32_OFF32___241 = 237,
    _SC_V7_ILP32_OFFBIG___241 = 238,
    _SC_V7_LP64_OFF64___241 = 239,
    _SC_V7_LPBIG_OFFBIG___241 = 240,
    _SC_SS_REPL_MAX___241 = 241,
    _SC_TRACE_EVENT_NAME_MAX___241 = 242,
    _SC_TRACE_NAME_MAX___241 = 243,
    _SC_TRACE_SYS_MAX___241 = 244,
    _SC_TRACE_USER_EVENT_MAX___241 = 245,
    _SC_XOPEN_STREAMS___241 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___241 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___241 = 248
} ;
enum __anonenum_875524036___241 {
    _CS_PATH___241 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___241 = 1,
    _CS_GNU_LIBC_VERSION___241 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___241 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___241 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___241 = 5,
    _CS_LFS_CFLAGS___241 = 1000,
    _CS_LFS_LDFLAGS___241 = 1001,
    _CS_LFS_LIBS___241 = 1002,
    _CS_LFS_LINTFLAGS___241 = 1003,
    _CS_LFS64_CFLAGS___241 = 1004,
    _CS_LFS64_LDFLAGS___241 = 1005,
    _CS_LFS64_LIBS___241 = 1006,
    _CS_LFS64_LINTFLAGS___241 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___241 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___241 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___241 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___241 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___241 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___241 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___241 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___241 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___241 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___241 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___241 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___241 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___241 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___241 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___241 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___241 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___241 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___241 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___241 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___241 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___241 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___241 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___241 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___241 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___241 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___241 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___241 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___241 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___241 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___241 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___241 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___241 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___241 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___241 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___241 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___241 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___241 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___241 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___241 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___241 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___241 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___241 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___241 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___241 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___241 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___241 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___241 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___241 = 1147,
    _CS_V6_ENV___241 = 1148,
    _CS_V7_ENV___241 = 1149
} ;
enum __anonenum_513775621___241 {
    DT_UNKNOWN___241 = 0,
    DT_FIFO___241 = 1,
    DT_CHR___241 = 2,
    DT_DIR___241 = 4,
    DT_BLK___241 = 6,
    DT_REG___241 = 8,
    DT_LNK___241 = 10,
    DT_SOCK___241 = 12,
    DT_WHT___241 = 14
} ;
enum __anonenum_77002343___241 {
    SI_ASYNCNL___241 = -60,
    SI_TKILL___241 = -6,
    SI_SIGIO___241 = -5,
    SI_ASYNCIO___241 = -4,
    SI_MESGQ___241 = -3,
    SI_TIMER___241 = -2,
    SI_QUEUE___241 = -1,
    SI_USER___241 = 0,
    SI_KERNEL___241 = 128
} ;
enum __anonenum_131038172___241 {
    ILL_ILLOPC___241 = 1,
    ILL_ILLOPN___241 = 2,
    ILL_ILLADR___241 = 3,
    ILL_ILLTRP___241 = 4,
    ILL_PRVOPC___241 = 5,
    ILL_PRVREG___241 = 6,
    ILL_COPROC___241 = 7,
    ILL_BADSTK___241 = 8
} ;
enum __anonenum_452038093___241 {
    FPE_INTDIV___241 = 1,
    FPE_INTOVF___241 = 2,
    FPE_FLTDIV___241 = 3,
    FPE_FLTOVF___241 = 4,
    FPE_FLTUND___241 = 5,
    FPE_FLTRES___241 = 6,
    FPE_FLTINV___241 = 7,
    FPE_FLTSUB___241 = 8
} ;
enum __anonenum_30976155___241 {
    SEGV_MAPERR___241 = 1,
    SEGV_ACCERR___241 = 2,
    SEGV_BNDERR___241 = 3,
    SEGV_PKUERR___241 = 4
} ;
enum __anonenum_1036286214___241 {
    BUS_ADRALN___241 = 1,
    BUS_ADRERR___241 = 2,
    BUS_OBJERR___241 = 3,
    BUS_MCEERR_AR___241 = 4,
    BUS_MCEERR_AO___241 = 5
} ;
enum __anonenum_493465559___241 {
    TRAP_BRKPT___241 = 1,
    TRAP_TRACE___241 = 2
} ;
enum __anonenum_23175539___241 {
    CLD_EXITED___241 = 1,
    CLD_KILLED___241 = 2,
    CLD_DUMPED___241 = 3,
    CLD_TRAPPED___241 = 4,
    CLD_STOPPED___241 = 5,
    CLD_CONTINUED___241 = 6
} ;
enum __anonenum_111643124___241 {
    POLL_IN___241 = 1,
    POLL_OUT___241 = 2,
    POLL_MSG___241 = 3,
    POLL_ERR___241 = 4,
    POLL_PRI___241 = 5,
    POLL_HUP___241 = 6
} ;
enum __anonenum_852341087___241 {
    SIGEV_SIGNAL___241 = 0,
    SIGEV_NONE___241 = 1,
    SIGEV_THREAD___241 = 2,
    SIGEV_THREAD_ID___241 = 4
} ;
enum __anonenum_451154152___241 {
    REG_R8___241 = 0,
    REG_R9___241 = 1,
    REG_R10___241 = 2,
    REG_R11___241 = 3,
    REG_R12___241 = 4,
    REG_R13___241 = 5,
    REG_R14___241 = 6,
    REG_R15___241 = 7,
    REG_RDI___241 = 8,
    REG_RSI___241 = 9,
    REG_RBP___241 = 10,
    REG_RBX___241 = 11,
    REG_RDX___241 = 12,
    REG_RAX___241 = 13,
    REG_RCX___241 = 14,
    REG_RSP___241 = 15,
    REG_RIP___241 = 16,
    REG_EFL___241 = 17,
    REG_CSGSFS___241 = 18,
    REG_ERR___241 = 19,
    REG_TRAPNO___241 = 20,
    REG_OLDMASK___241 = 21,
    REG_CR2___241 = 22
} ;
enum __anonenum_57186863___241 {
    SS_ONSTACK___241 = 1,
    SS_DISABLE___241 = 2
} ;
enum __anonenum_83571709___241 {
    MSG_OOB___241 = 1,
    MSG_PEEK___241 = 2,
    MSG_DONTROUTE___241 = 4,
    MSG_TRYHARD___241 = 4,
    MSG_CTRUNC___241 = 8,
    MSG_PROXY___241 = 16,
    MSG_TRUNC___241 = 32,
    MSG_DONTWAIT___241 = 64,
    MSG_EOR___241 = 128,
    MSG_WAITALL___241 = 256,
    MSG_FIN___241 = 512,
    MSG_SYN___241 = 1024,
    MSG_CONFIRM___241 = 2048,
    MSG_RST___241 = 4096,
    MSG_ERRQUEUE___241 = 8192,
    MSG_NOSIGNAL___241 = 16384,
    MSG_MORE___241 = 32768,
    MSG_WAITFORONE___241 = 65536,
    MSG_BATCH___241 = 262144,
    MSG_ZEROCOPY___241 = 67108864,
    MSG_FASTOPEN___241 = 536870912,
    MSG_CMSG_CLOEXEC___241 = 1073741824
} ;
enum __anonenum_617082774___241 {
    SCM_RIGHTS___241 = 1,
    SCM_CREDENTIALS___241 = 2
} ;
enum __anonenum_606441560___241 {
    SHUT_RD___241 = 0,
    SHUT_WR___241 = 1,
    SHUT_RDWR___241 = 2
} ;
enum __anonenum_681669233___241 {
    IPPROTO_IP___241 = 0,
    IPPROTO_ICMP___241 = 1,
    IPPROTO_IGMP___241 = 2,
    IPPROTO_IPIP___241 = 4,
    IPPROTO_TCP___241 = 6,
    IPPROTO_EGP___241 = 8,
    IPPROTO_PUP___241 = 12,
    IPPROTO_UDP___241 = 17,
    IPPROTO_IDP___241 = 22,
    IPPROTO_TP___241 = 29,
    IPPROTO_DCCP___241 = 33,
    IPPROTO_IPV6___241 = 41,
    IPPROTO_RSVP___241 = 46,
    IPPROTO_GRE___241 = 47,
    IPPROTO_ESP___241 = 50,
    IPPROTO_AH___241 = 51,
    IPPROTO_MTP___241 = 92,
    IPPROTO_BEETPH___241 = 94,
    IPPROTO_ENCAP___241 = 98,
    IPPROTO_PIM___241 = 103,
    IPPROTO_COMP___241 = 108,
    IPPROTO_SCTP___241 = 132,
    IPPROTO_UDPLITE___241 = 136,
    IPPROTO_MPLS___241 = 137,
    IPPROTO_RAW___241 = 255,
    IPPROTO_MAX___241 = 256
} ;
enum __anonenum_218739988___241 {
    IPPROTO_HOPOPTS___241 = 0,
    IPPROTO_ROUTING___241 = 43,
    IPPROTO_FRAGMENT___241 = 44,
    IPPROTO_ICMPV6___241 = 58,
    IPPROTO_NONE___241 = 59,
    IPPROTO_DSTOPTS___241 = 60,
    IPPROTO_MH___241 = 135
} ;
enum __anonenum_662268580___241 {
    IPPORT_ECHO___241 = 7,
    IPPORT_DISCARD___241 = 9,
    IPPORT_SYSTAT___241 = 11,
    IPPORT_DAYTIME___241 = 13,
    IPPORT_NETSTAT___241 = 15,
    IPPORT_FTP___241 = 21,
    IPPORT_TELNET___241 = 23,
    IPPORT_SMTP___241 = 25,
    IPPORT_TIMESERVER___241 = 37,
    IPPORT_NAMESERVER___241 = 42,
    IPPORT_WHOIS___241 = 43,
    IPPORT_MTP___241 = 57,
    IPPORT_TFTP___241 = 69,
    IPPORT_RJE___241 = 77,
    IPPORT_FINGER___241 = 79,
    IPPORT_TTYLINK___241 = 87,
    IPPORT_SUPDUP___241 = 95,
    IPPORT_EXECSERVER___241 = 512,
    IPPORT_LOGINSERVER___241 = 513,
    IPPORT_CMDSERVER___241 = 514,
    IPPORT_EFSSERVER___241 = 520,
    IPPORT_BIFFUDP___241 = 512,
    IPPORT_WHOSERVER___241 = 513,
    IPPORT_ROUTESERVER___241 = 520,
    IPPORT_RESERVED___241 = 1024,
    IPPORT_USERRESERVED___241 = 5000
} ;
enum __anonenum_788308992___241 {
    TCP_ESTABLISHED___241 = 1,
    TCP_SYN_SENT___241 = 2,
    TCP_SYN_RECV___241 = 3,
    TCP_FIN_WAIT1___241 = 4,
    TCP_FIN_WAIT2___241 = 5,
    TCP_TIME_WAIT___241 = 6,
    TCP_CLOSE___241 = 7,
    TCP_CLOSE_WAIT___241 = 8,
    TCP_LAST_ACK___241 = 9,
    TCP_LISTEN___241 = 10,
    TCP_CLOSING___241 = 11
} ;
enum __anonenum_221125648___241 {
    TCP_NO_QUEUE___241 = 0,
    TCP_RECV_QUEUE___241 = 1,
    TCP_SEND_QUEUE___241 = 2,
    TCP_QUEUES_NR___241 = 3
} ;
enum __anonenum_34415463___241 {
    PTHREAD_CREATE_JOINABLE___241 = 0,
    PTHREAD_CREATE_DETACHED___241 = 1
} ;
enum __anonenum_303612439___241 {
    PTHREAD_MUTEX_TIMED_NP___241 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___241 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___241 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___241 = 3,
    PTHREAD_MUTEX_NORMAL___241 = 0,
    PTHREAD_MUTEX_RECURSIVE___241 = 1,
    PTHREAD_MUTEX_ERRORCHECK___241 = 2,
    PTHREAD_MUTEX_DEFAULT___241 = 0,
    PTHREAD_MUTEX_FAST_NP___241 = 0
} ;
enum __anonenum_931900394___241 {
    PTHREAD_MUTEX_STALLED___241 = 0,
    PTHREAD_MUTEX_STALLED_NP___241 = 0,
    PTHREAD_MUTEX_ROBUST___241 = 1,
    PTHREAD_MUTEX_ROBUST_NP___241 = 1
} ;
enum __anonenum_205214487___241 {
    PTHREAD_PRIO_NONE___241 = 0,
    PTHREAD_PRIO_INHERIT___241 = 1,
    PTHREAD_PRIO_PROTECT___241 = 2
} ;
enum __anonenum_25043950___241 {
    PTHREAD_RWLOCK_PREFER_READER_NP___241 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___241 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___241 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___241 = 0
} ;
enum __anonenum_436439511___241 {
    PTHREAD_INHERIT_SCHED___241 = 0,
    PTHREAD_EXPLICIT_SCHED___241 = 1
} ;
enum __anonenum_998661166___241 {
    PTHREAD_SCOPE_SYSTEM___241 = 0,
    PTHREAD_SCOPE_PROCESS___241 = 1
} ;
enum __anonenum_146137331___241 {
    PTHREAD_PROCESS_PRIVATE___241 = 0,
    PTHREAD_PROCESS_SHARED___241 = 1
} ;
enum __anonenum_53396917___241 {
    PTHREAD_CANCEL_ENABLE___241 = 0,
    PTHREAD_CANCEL_DISABLE___241 = 1
} ;
enum __anonenum_904563783___241 {
    PTHREAD_CANCEL_DEFERRED___241 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___241 = 1
} ;
enum __anonenum_672052974___241 {
    SSL_CT_VALIDATION_PERMISSIVE___241 = 0,
    SSL_CT_VALIDATION_STRICT___241 = 1
} ;
enum __anonenum_437032235___242 {
    _PC_LINK_MAX___242 = 0,
    _PC_MAX_CANON___242 = 1,
    _PC_MAX_INPUT___242 = 2,
    _PC_NAME_MAX___242 = 3,
    _PC_PATH_MAX___242 = 4,
    _PC_PIPE_BUF___242 = 5,
    _PC_CHOWN_RESTRICTED___242 = 6,
    _PC_NO_TRUNC___242 = 7,
    _PC_VDISABLE___242 = 8,
    _PC_SYNC_IO___242 = 9,
    _PC_ASYNC_IO___242 = 10,
    _PC_PRIO_IO___242 = 11,
    _PC_SOCK_MAXBUF___242 = 12,
    _PC_FILESIZEBITS___242 = 13,
    _PC_REC_INCR_XFER_SIZE___242 = 14,
    _PC_REC_MAX_XFER_SIZE___242 = 15,
    _PC_REC_MIN_XFER_SIZE___242 = 16,
    _PC_REC_XFER_ALIGN___242 = 17,
    _PC_ALLOC_SIZE_MIN___242 = 18,
    _PC_SYMLINK_MAX___242 = 19,
    _PC_2_SYMLINKS___242 = 20
} ;
enum __anonenum_315186338___242 {
    _SC_ARG_MAX___242 = 0,
    _SC_CHILD_MAX___242 = 1,
    _SC_CLK_TCK___242 = 2,
    _SC_NGROUPS_MAX___242 = 3,
    _SC_OPEN_MAX___242 = 4,
    _SC_STREAM_MAX___242 = 5,
    _SC_TZNAME_MAX___242 = 6,
    _SC_JOB_CONTROL___242 = 7,
    _SC_SAVED_IDS___242 = 8,
    _SC_REALTIME_SIGNALS___242 = 9,
    _SC_PRIORITY_SCHEDULING___242 = 10,
    _SC_TIMERS___242 = 11,
    _SC_ASYNCHRONOUS_IO___242 = 12,
    _SC_PRIORITIZED_IO___242 = 13,
    _SC_SYNCHRONIZED_IO___242 = 14,
    _SC_FSYNC___242 = 15,
    _SC_MAPPED_FILES___242 = 16,
    _SC_MEMLOCK___242 = 17,
    _SC_MEMLOCK_RANGE___242 = 18,
    _SC_MEMORY_PROTECTION___242 = 19,
    _SC_MESSAGE_PASSING___242 = 20,
    _SC_SEMAPHORES___242 = 21,
    _SC_SHARED_MEMORY_OBJECTS___242 = 22,
    _SC_AIO_LISTIO_MAX___242 = 23,
    _SC_AIO_MAX___242 = 24,
    _SC_AIO_PRIO_DELTA_MAX___242 = 25,
    _SC_DELAYTIMER_MAX___242 = 26,
    _SC_MQ_OPEN_MAX___242 = 27,
    _SC_MQ_PRIO_MAX___242 = 28,
    _SC_VERSION___242 = 29,
    _SC_PAGESIZE___242 = 30,
    _SC_RTSIG_MAX___242 = 31,
    _SC_SEM_NSEMS_MAX___242 = 32,
    _SC_SEM_VALUE_MAX___242 = 33,
    _SC_SIGQUEUE_MAX___242 = 34,
    _SC_TIMER_MAX___242 = 35,
    _SC_BC_BASE_MAX___242 = 36,
    _SC_BC_DIM_MAX___242 = 37,
    _SC_BC_SCALE_MAX___242 = 38,
    _SC_BC_STRING_MAX___242 = 39,
    _SC_COLL_WEIGHTS_MAX___242 = 40,
    _SC_EQUIV_CLASS_MAX___242 = 41,
    _SC_EXPR_NEST_MAX___242 = 42,
    _SC_LINE_MAX___242 = 43,
    _SC_RE_DUP_MAX___242 = 44,
    _SC_CHARCLASS_NAME_MAX___242 = 45,
    _SC_2_VERSION___242 = 46,
    _SC_2_C_BIND___242 = 47,
    _SC_2_C_DEV___242 = 48,
    _SC_2_FORT_DEV___242 = 49,
    _SC_2_FORT_RUN___242 = 50,
    _SC_2_SW_DEV___242 = 51,
    _SC_2_LOCALEDEF___242 = 52,
    _SC_PII___242 = 53,
    _SC_PII_XTI___242 = 54,
    _SC_PII_SOCKET___242 = 55,
    _SC_PII_INTERNET___242 = 56,
    _SC_PII_OSI___242 = 57,
    _SC_POLL___242 = 58,
    _SC_SELECT___242 = 59,
    _SC_UIO_MAXIOV___242 = 60,
    _SC_IOV_MAX___242 = 60,
    _SC_PII_INTERNET_STREAM___242 = 61,
    _SC_PII_INTERNET_DGRAM___242 = 62,
    _SC_PII_OSI_COTS___242 = 63,
    _SC_PII_OSI_CLTS___242 = 64,
    _SC_PII_OSI_M___242 = 65,
    _SC_T_IOV_MAX___242 = 66,
    _SC_THREADS___242 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___242 = 68,
    _SC_GETGR_R_SIZE_MAX___242 = 69,
    _SC_GETPW_R_SIZE_MAX___242 = 70,
    _SC_LOGIN_NAME_MAX___242 = 71,
    _SC_TTY_NAME_MAX___242 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___242 = 73,
    _SC_THREAD_KEYS_MAX___242 = 74,
    _SC_THREAD_STACK_MIN___242 = 75,
    _SC_THREAD_THREADS_MAX___242 = 76,
    _SC_THREAD_ATTR_STACKADDR___242 = 77,
    _SC_THREAD_ATTR_STACKSIZE___242 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___242 = 79,
    _SC_THREAD_PRIO_INHERIT___242 = 80,
    _SC_THREAD_PRIO_PROTECT___242 = 81,
    _SC_THREAD_PROCESS_SHARED___242 = 82,
    _SC_NPROCESSORS_CONF___242 = 83,
    _SC_NPROCESSORS_ONLN___242 = 84,
    _SC_PHYS_PAGES___242 = 85,
    _SC_AVPHYS_PAGES___242 = 86,
    _SC_ATEXIT_MAX___242 = 87,
    _SC_PASS_MAX___242 = 88,
    _SC_XOPEN_VERSION___242 = 89,
    _SC_XOPEN_XCU_VERSION___242 = 90,
    _SC_XOPEN_UNIX___242 = 91,
    _SC_XOPEN_CRYPT___242 = 92,
    _SC_XOPEN_ENH_I18N___242 = 93,
    _SC_XOPEN_SHM___242 = 94,
    _SC_2_CHAR_TERM___242 = 95,
    _SC_2_C_VERSION___242 = 96,
    _SC_2_UPE___242 = 97,
    _SC_XOPEN_XPG2___242 = 98,
    _SC_XOPEN_XPG3___242 = 99,
    _SC_XOPEN_XPG4___242 = 100,
    _SC_CHAR_BIT___242 = 101,
    _SC_CHAR_MAX___242 = 102,
    _SC_CHAR_MIN___242 = 103,
    _SC_INT_MAX___242 = 104,
    _SC_INT_MIN___242 = 105,
    _SC_LONG_BIT___242 = 106,
    _SC_WORD_BIT___242 = 107,
    _SC_MB_LEN_MAX___242 = 108,
    _SC_NZERO___242 = 109,
    _SC_SSIZE_MAX___242 = 110,
    _SC_SCHAR_MAX___242 = 111,
    _SC_SCHAR_MIN___242 = 112,
    _SC_SHRT_MAX___242 = 113,
    _SC_SHRT_MIN___242 = 114,
    _SC_UCHAR_MAX___242 = 115,
    _SC_UINT_MAX___242 = 116,
    _SC_ULONG_MAX___242 = 117,
    _SC_USHRT_MAX___242 = 118,
    _SC_NL_ARGMAX___242 = 119,
    _SC_NL_LANGMAX___242 = 120,
    _SC_NL_MSGMAX___242 = 121,
    _SC_NL_NMAX___242 = 122,
    _SC_NL_SETMAX___242 = 123,
    _SC_NL_TEXTMAX___242 = 124,
    _SC_XBS5_ILP32_OFF32___242 = 125,
    _SC_XBS5_ILP32_OFFBIG___242 = 126,
    _SC_XBS5_LP64_OFF64___242 = 127,
    _SC_XBS5_LPBIG_OFFBIG___242 = 128,
    _SC_XOPEN_LEGACY___242 = 129,
    _SC_XOPEN_REALTIME___242 = 130,
    _SC_XOPEN_REALTIME_THREADS___242 = 131,
    _SC_ADVISORY_INFO___242 = 132,
    _SC_BARRIERS___242 = 133,
    _SC_BASE___242 = 134,
    _SC_C_LANG_SUPPORT___242 = 135,
    _SC_C_LANG_SUPPORT_R___242 = 136,
    _SC_CLOCK_SELECTION___242 = 137,
    _SC_CPUTIME___242 = 138,
    _SC_THREAD_CPUTIME___242 = 139,
    _SC_DEVICE_IO___242 = 140,
    _SC_DEVICE_SPECIFIC___242 = 141,
    _SC_DEVICE_SPECIFIC_R___242 = 142,
    _SC_FD_MGMT___242 = 143,
    _SC_FIFO___242 = 144,
    _SC_PIPE___242 = 145,
    _SC_FILE_ATTRIBUTES___242 = 146,
    _SC_FILE_LOCKING___242 = 147,
    _SC_FILE_SYSTEM___242 = 148,
    _SC_MONOTONIC_CLOCK___242 = 149,
    _SC_MULTI_PROCESS___242 = 150,
    _SC_SINGLE_PROCESS___242 = 151,
    _SC_NETWORKING___242 = 152,
    _SC_READER_WRITER_LOCKS___242 = 153,
    _SC_SPIN_LOCKS___242 = 154,
    _SC_REGEXP___242 = 155,
    _SC_REGEX_VERSION___242 = 156,
    _SC_SHELL___242 = 157,
    _SC_SIGNALS___242 = 158,
    _SC_SPAWN___242 = 159,
    _SC_SPORADIC_SERVER___242 = 160,
    _SC_THREAD_SPORADIC_SERVER___242 = 161,
    _SC_SYSTEM_DATABASE___242 = 162,
    _SC_SYSTEM_DATABASE_R___242 = 163,
    _SC_TIMEOUTS___242 = 164,
    _SC_TYPED_MEMORY_OBJECTS___242 = 165,
    _SC_USER_GROUPS___242 = 166,
    _SC_USER_GROUPS_R___242 = 167,
    _SC_2_PBS___242 = 168,
    _SC_2_PBS_ACCOUNTING___242 = 169,
    _SC_2_PBS_LOCATE___242 = 170,
    _SC_2_PBS_MESSAGE___242 = 171,
    _SC_2_PBS_TRACK___242 = 172,
    _SC_SYMLOOP_MAX___242 = 173,
    _SC_STREAMS___242 = 174,
    _SC_2_PBS_CHECKPOINT___242 = 175,
    _SC_V6_ILP32_OFF32___242 = 176,
    _SC_V6_ILP32_OFFBIG___242 = 177,
    _SC_V6_LP64_OFF64___242 = 178,
    _SC_V6_LPBIG_OFFBIG___242 = 179,
    _SC_HOST_NAME_MAX___242 = 180,
    _SC_TRACE___242 = 181,
    _SC_TRACE_EVENT_FILTER___242 = 182,
    _SC_TRACE_INHERIT___242 = 183,
    _SC_TRACE_LOG___242 = 184,
    _SC_LEVEL1_ICACHE_SIZE___242 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___242 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___242 = 187,
    _SC_LEVEL1_DCACHE_SIZE___242 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___242 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___242 = 190,
    _SC_LEVEL2_CACHE_SIZE___242 = 191,
    _SC_LEVEL2_CACHE_ASSOC___242 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___242 = 193,
    _SC_LEVEL3_CACHE_SIZE___242 = 194,
    _SC_LEVEL3_CACHE_ASSOC___242 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___242 = 196,
    _SC_LEVEL4_CACHE_SIZE___242 = 197,
    _SC_LEVEL4_CACHE_ASSOC___242 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___242 = 199,
    _SC_IPV6___242 = 235,
    _SC_RAW_SOCKETS___242 = 236,
    _SC_V7_ILP32_OFF32___242 = 237,
    _SC_V7_ILP32_OFFBIG___242 = 238,
    _SC_V7_LP64_OFF64___242 = 239,
    _SC_V7_LPBIG_OFFBIG___242 = 240,
    _SC_SS_REPL_MAX___242 = 241,
    _SC_TRACE_EVENT_NAME_MAX___242 = 242,
    _SC_TRACE_NAME_MAX___242 = 243,
    _SC_TRACE_SYS_MAX___242 = 244,
    _SC_TRACE_USER_EVENT_MAX___242 = 245,
    _SC_XOPEN_STREAMS___242 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___242 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___242 = 248
} ;
enum __anonenum_875524036___242 {
    _CS_PATH___242 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___242 = 1,
    _CS_GNU_LIBC_VERSION___242 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___242 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___242 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___242 = 5,
    _CS_LFS_CFLAGS___242 = 1000,
    _CS_LFS_LDFLAGS___242 = 1001,
    _CS_LFS_LIBS___242 = 1002,
    _CS_LFS_LINTFLAGS___242 = 1003,
    _CS_LFS64_CFLAGS___242 = 1004,
    _CS_LFS64_LDFLAGS___242 = 1005,
    _CS_LFS64_LIBS___242 = 1006,
    _CS_LFS64_LINTFLAGS___242 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___242 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___242 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___242 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___242 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___242 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___242 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___242 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___242 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___242 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___242 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___242 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___242 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___242 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___242 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___242 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___242 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___242 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___242 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___242 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___242 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___242 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___242 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___242 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___242 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___242 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___242 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___242 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___242 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___242 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___242 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___242 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___242 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___242 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___242 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___242 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___242 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___242 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___242 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___242 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___242 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___242 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___242 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___242 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___242 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___242 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___242 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___242 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___242 = 1147,
    _CS_V6_ENV___242 = 1148,
    _CS_V7_ENV___242 = 1149
} ;
enum __anonenum_513775621___242 {
    DT_UNKNOWN___242 = 0,
    DT_FIFO___242 = 1,
    DT_CHR___242 = 2,
    DT_DIR___242 = 4,
    DT_BLK___242 = 6,
    DT_REG___242 = 8,
    DT_LNK___242 = 10,
    DT_SOCK___242 = 12,
    DT_WHT___242 = 14
} ;
enum __anonenum_77002343___242 {
    SI_ASYNCNL___242 = -60,
    SI_TKILL___242 = -6,
    SI_SIGIO___242 = -5,
    SI_ASYNCIO___242 = -4,
    SI_MESGQ___242 = -3,
    SI_TIMER___242 = -2,
    SI_QUEUE___242 = -1,
    SI_USER___242 = 0,
    SI_KERNEL___242 = 128
} ;
enum __anonenum_131038172___242 {
    ILL_ILLOPC___242 = 1,
    ILL_ILLOPN___242 = 2,
    ILL_ILLADR___242 = 3,
    ILL_ILLTRP___242 = 4,
    ILL_PRVOPC___242 = 5,
    ILL_PRVREG___242 = 6,
    ILL_COPROC___242 = 7,
    ILL_BADSTK___242 = 8
} ;
enum __anonenum_452038093___242 {
    FPE_INTDIV___242 = 1,
    FPE_INTOVF___242 = 2,
    FPE_FLTDIV___242 = 3,
    FPE_FLTOVF___242 = 4,
    FPE_FLTUND___242 = 5,
    FPE_FLTRES___242 = 6,
    FPE_FLTINV___242 = 7,
    FPE_FLTSUB___242 = 8
} ;
enum __anonenum_30976155___242 {
    SEGV_MAPERR___242 = 1,
    SEGV_ACCERR___242 = 2,
    SEGV_BNDERR___242 = 3,
    SEGV_PKUERR___242 = 4
} ;
enum __anonenum_1036286214___242 {
    BUS_ADRALN___242 = 1,
    BUS_ADRERR___242 = 2,
    BUS_OBJERR___242 = 3,
    BUS_MCEERR_AR___242 = 4,
    BUS_MCEERR_AO___242 = 5
} ;
enum __anonenum_493465559___242 {
    TRAP_BRKPT___242 = 1,
    TRAP_TRACE___242 = 2
} ;
enum __anonenum_23175539___242 {
    CLD_EXITED___242 = 1,
    CLD_KILLED___242 = 2,
    CLD_DUMPED___242 = 3,
    CLD_TRAPPED___242 = 4,
    CLD_STOPPED___242 = 5,
    CLD_CONTINUED___242 = 6
} ;
enum __anonenum_111643124___242 {
    POLL_IN___242 = 1,
    POLL_OUT___242 = 2,
    POLL_MSG___242 = 3,
    POLL_ERR___242 = 4,
    POLL_PRI___242 = 5,
    POLL_HUP___242 = 6
} ;
enum __anonenum_852341087___242 {
    SIGEV_SIGNAL___242 = 0,
    SIGEV_NONE___242 = 1,
    SIGEV_THREAD___242 = 2,
    SIGEV_THREAD_ID___242 = 4
} ;
enum __anonenum_451154152___242 {
    REG_R8___242 = 0,
    REG_R9___242 = 1,
    REG_R10___242 = 2,
    REG_R11___242 = 3,
    REG_R12___242 = 4,
    REG_R13___242 = 5,
    REG_R14___242 = 6,
    REG_R15___242 = 7,
    REG_RDI___242 = 8,
    REG_RSI___242 = 9,
    REG_RBP___242 = 10,
    REG_RBX___242 = 11,
    REG_RDX___242 = 12,
    REG_RAX___242 = 13,
    REG_RCX___242 = 14,
    REG_RSP___242 = 15,
    REG_RIP___242 = 16,
    REG_EFL___242 = 17,
    REG_CSGSFS___242 = 18,
    REG_ERR___242 = 19,
    REG_TRAPNO___242 = 20,
    REG_OLDMASK___242 = 21,
    REG_CR2___242 = 22
} ;
enum __anonenum_57186863___242 {
    SS_ONSTACK___242 = 1,
    SS_DISABLE___242 = 2
} ;
enum __anonenum_83571709___242 {
    MSG_OOB___242 = 1,
    MSG_PEEK___242 = 2,
    MSG_DONTROUTE___242 = 4,
    MSG_TRYHARD___242 = 4,
    MSG_CTRUNC___242 = 8,
    MSG_PROXY___242 = 16,
    MSG_TRUNC___242 = 32,
    MSG_DONTWAIT___242 = 64,
    MSG_EOR___242 = 128,
    MSG_WAITALL___242 = 256,
    MSG_FIN___242 = 512,
    MSG_SYN___242 = 1024,
    MSG_CONFIRM___242 = 2048,
    MSG_RST___242 = 4096,
    MSG_ERRQUEUE___242 = 8192,
    MSG_NOSIGNAL___242 = 16384,
    MSG_MORE___242 = 32768,
    MSG_WAITFORONE___242 = 65536,
    MSG_BATCH___242 = 262144,
    MSG_ZEROCOPY___242 = 67108864,
    MSG_FASTOPEN___242 = 536870912,
    MSG_CMSG_CLOEXEC___242 = 1073741824
} ;
enum __anonenum_617082774___242 {
    SCM_RIGHTS___242 = 1,
    SCM_CREDENTIALS___242 = 2
} ;
enum __anonenum_606441560___242 {
    SHUT_RD___242 = 0,
    SHUT_WR___242 = 1,
    SHUT_RDWR___242 = 2
} ;
enum __anonenum_681669233___242 {
    IPPROTO_IP___242 = 0,
    IPPROTO_ICMP___242 = 1,
    IPPROTO_IGMP___242 = 2,
    IPPROTO_IPIP___242 = 4,
    IPPROTO_TCP___242 = 6,
    IPPROTO_EGP___242 = 8,
    IPPROTO_PUP___242 = 12,
    IPPROTO_UDP___242 = 17,
    IPPROTO_IDP___242 = 22,
    IPPROTO_TP___242 = 29,
    IPPROTO_DCCP___242 = 33,
    IPPROTO_IPV6___242 = 41,
    IPPROTO_RSVP___242 = 46,
    IPPROTO_GRE___242 = 47,
    IPPROTO_ESP___242 = 50,
    IPPROTO_AH___242 = 51,
    IPPROTO_MTP___242 = 92,
    IPPROTO_BEETPH___242 = 94,
    IPPROTO_ENCAP___242 = 98,
    IPPROTO_PIM___242 = 103,
    IPPROTO_COMP___242 = 108,
    IPPROTO_SCTP___242 = 132,
    IPPROTO_UDPLITE___242 = 136,
    IPPROTO_MPLS___242 = 137,
    IPPROTO_RAW___242 = 255,
    IPPROTO_MAX___242 = 256
} ;
enum __anonenum_218739988___242 {
    IPPROTO_HOPOPTS___242 = 0,
    IPPROTO_ROUTING___242 = 43,
    IPPROTO_FRAGMENT___242 = 44,
    IPPROTO_ICMPV6___242 = 58,
    IPPROTO_NONE___242 = 59,
    IPPROTO_DSTOPTS___242 = 60,
    IPPROTO_MH___242 = 135
} ;
enum __anonenum_662268580___242 {
    IPPORT_ECHO___242 = 7,
    IPPORT_DISCARD___242 = 9,
    IPPORT_SYSTAT___242 = 11,
    IPPORT_DAYTIME___242 = 13,
    IPPORT_NETSTAT___242 = 15,
    IPPORT_FTP___242 = 21,
    IPPORT_TELNET___242 = 23,
    IPPORT_SMTP___242 = 25,
    IPPORT_TIMESERVER___242 = 37,
    IPPORT_NAMESERVER___242 = 42,
    IPPORT_WHOIS___242 = 43,
    IPPORT_MTP___242 = 57,
    IPPORT_TFTP___242 = 69,
    IPPORT_RJE___242 = 77,
    IPPORT_FINGER___242 = 79,
    IPPORT_TTYLINK___242 = 87,
    IPPORT_SUPDUP___242 = 95,
    IPPORT_EXECSERVER___242 = 512,
    IPPORT_LOGINSERVER___242 = 513,
    IPPORT_CMDSERVER___242 = 514,
    IPPORT_EFSSERVER___242 = 520,
    IPPORT_BIFFUDP___242 = 512,
    IPPORT_WHOSERVER___242 = 513,
    IPPORT_ROUTESERVER___242 = 520,
    IPPORT_RESERVED___242 = 1024,
    IPPORT_USERRESERVED___242 = 5000
} ;
enum __anonenum_788308992___242 {
    TCP_ESTABLISHED___242 = 1,
    TCP_SYN_SENT___242 = 2,
    TCP_SYN_RECV___242 = 3,
    TCP_FIN_WAIT1___242 = 4,
    TCP_FIN_WAIT2___242 = 5,
    TCP_TIME_WAIT___242 = 6,
    TCP_CLOSE___242 = 7,
    TCP_CLOSE_WAIT___242 = 8,
    TCP_LAST_ACK___242 = 9,
    TCP_LISTEN___242 = 10,
    TCP_CLOSING___242 = 11
} ;
enum __anonenum_221125648___242 {
    TCP_NO_QUEUE___242 = 0,
    TCP_RECV_QUEUE___242 = 1,
    TCP_SEND_QUEUE___242 = 2,
    TCP_QUEUES_NR___242 = 3
} ;
enum __anonenum_34415463___242 {
    PTHREAD_CREATE_JOINABLE___242 = 0,
    PTHREAD_CREATE_DETACHED___242 = 1
} ;
enum __anonenum_303612439___242 {
    PTHREAD_MUTEX_TIMED_NP___242 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___242 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___242 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___242 = 3,
    PTHREAD_MUTEX_NORMAL___242 = 0,
    PTHREAD_MUTEX_RECURSIVE___242 = 1,
    PTHREAD_MUTEX_ERRORCHECK___242 = 2,
    PTHREAD_MUTEX_DEFAULT___242 = 0,
    PTHREAD_MUTEX_FAST_NP___242 = 0
} ;
enum __anonenum_931900394___242 {
    PTHREAD_MUTEX_STALLED___242 = 0,
    PTHREAD_MUTEX_STALLED_NP___242 = 0,
    PTHREAD_MUTEX_ROBUST___242 = 1,
    PTHREAD_MUTEX_ROBUST_NP___242 = 1
} ;
enum __anonenum_205214487___242 {
    PTHREAD_PRIO_NONE___242 = 0,
    PTHREAD_PRIO_INHERIT___242 = 1,
    PTHREAD_PRIO_PROTECT___242 = 2
} ;
enum __anonenum_25043950___242 {
    PTHREAD_RWLOCK_PREFER_READER_NP___242 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___242 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___242 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___242 = 0
} ;
enum __anonenum_436439511___242 {
    PTHREAD_INHERIT_SCHED___242 = 0,
    PTHREAD_EXPLICIT_SCHED___242 = 1
} ;
enum __anonenum_998661166___242 {
    PTHREAD_SCOPE_SYSTEM___242 = 0,
    PTHREAD_SCOPE_PROCESS___242 = 1
} ;
enum __anonenum_146137331___242 {
    PTHREAD_PROCESS_PRIVATE___242 = 0,
    PTHREAD_PROCESS_SHARED___242 = 1
} ;
enum __anonenum_53396917___242 {
    PTHREAD_CANCEL_ENABLE___242 = 0,
    PTHREAD_CANCEL_DISABLE___242 = 1
} ;
enum __anonenum_904563783___242 {
    PTHREAD_CANCEL_DEFERRED___242 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___242 = 1
} ;
enum __anonenum_672052974___242 {
    SSL_CT_VALIDATION_PERMISSIVE___242 = 0,
    SSL_CT_VALIDATION_STRICT___242 = 1
} ;
enum __anonenum_437032235___243 {
    _PC_LINK_MAX___243 = 0,
    _PC_MAX_CANON___243 = 1,
    _PC_MAX_INPUT___243 = 2,
    _PC_NAME_MAX___243 = 3,
    _PC_PATH_MAX___243 = 4,
    _PC_PIPE_BUF___243 = 5,
    _PC_CHOWN_RESTRICTED___243 = 6,
    _PC_NO_TRUNC___243 = 7,
    _PC_VDISABLE___243 = 8,
    _PC_SYNC_IO___243 = 9,
    _PC_ASYNC_IO___243 = 10,
    _PC_PRIO_IO___243 = 11,
    _PC_SOCK_MAXBUF___243 = 12,
    _PC_FILESIZEBITS___243 = 13,
    _PC_REC_INCR_XFER_SIZE___243 = 14,
    _PC_REC_MAX_XFER_SIZE___243 = 15,
    _PC_REC_MIN_XFER_SIZE___243 = 16,
    _PC_REC_XFER_ALIGN___243 = 17,
    _PC_ALLOC_SIZE_MIN___243 = 18,
    _PC_SYMLINK_MAX___243 = 19,
    _PC_2_SYMLINKS___243 = 20
} ;
enum __anonenum_315186338___243 {
    _SC_ARG_MAX___243 = 0,
    _SC_CHILD_MAX___243 = 1,
    _SC_CLK_TCK___243 = 2,
    _SC_NGROUPS_MAX___243 = 3,
    _SC_OPEN_MAX___243 = 4,
    _SC_STREAM_MAX___243 = 5,
    _SC_TZNAME_MAX___243 = 6,
    _SC_JOB_CONTROL___243 = 7,
    _SC_SAVED_IDS___243 = 8,
    _SC_REALTIME_SIGNALS___243 = 9,
    _SC_PRIORITY_SCHEDULING___243 = 10,
    _SC_TIMERS___243 = 11,
    _SC_ASYNCHRONOUS_IO___243 = 12,
    _SC_PRIORITIZED_IO___243 = 13,
    _SC_SYNCHRONIZED_IO___243 = 14,
    _SC_FSYNC___243 = 15,
    _SC_MAPPED_FILES___243 = 16,
    _SC_MEMLOCK___243 = 17,
    _SC_MEMLOCK_RANGE___243 = 18,
    _SC_MEMORY_PROTECTION___243 = 19,
    _SC_MESSAGE_PASSING___243 = 20,
    _SC_SEMAPHORES___243 = 21,
    _SC_SHARED_MEMORY_OBJECTS___243 = 22,
    _SC_AIO_LISTIO_MAX___243 = 23,
    _SC_AIO_MAX___243 = 24,
    _SC_AIO_PRIO_DELTA_MAX___243 = 25,
    _SC_DELAYTIMER_MAX___243 = 26,
    _SC_MQ_OPEN_MAX___243 = 27,
    _SC_MQ_PRIO_MAX___243 = 28,
    _SC_VERSION___243 = 29,
    _SC_PAGESIZE___243 = 30,
    _SC_RTSIG_MAX___243 = 31,
    _SC_SEM_NSEMS_MAX___243 = 32,
    _SC_SEM_VALUE_MAX___243 = 33,
    _SC_SIGQUEUE_MAX___243 = 34,
    _SC_TIMER_MAX___243 = 35,
    _SC_BC_BASE_MAX___243 = 36,
    _SC_BC_DIM_MAX___243 = 37,
    _SC_BC_SCALE_MAX___243 = 38,
    _SC_BC_STRING_MAX___243 = 39,
    _SC_COLL_WEIGHTS_MAX___243 = 40,
    _SC_EQUIV_CLASS_MAX___243 = 41,
    _SC_EXPR_NEST_MAX___243 = 42,
    _SC_LINE_MAX___243 = 43,
    _SC_RE_DUP_MAX___243 = 44,
    _SC_CHARCLASS_NAME_MAX___243 = 45,
    _SC_2_VERSION___243 = 46,
    _SC_2_C_BIND___243 = 47,
    _SC_2_C_DEV___243 = 48,
    _SC_2_FORT_DEV___243 = 49,
    _SC_2_FORT_RUN___243 = 50,
    _SC_2_SW_DEV___243 = 51,
    _SC_2_LOCALEDEF___243 = 52,
    _SC_PII___243 = 53,
    _SC_PII_XTI___243 = 54,
    _SC_PII_SOCKET___243 = 55,
    _SC_PII_INTERNET___243 = 56,
    _SC_PII_OSI___243 = 57,
    _SC_POLL___243 = 58,
    _SC_SELECT___243 = 59,
    _SC_UIO_MAXIOV___243 = 60,
    _SC_IOV_MAX___243 = 60,
    _SC_PII_INTERNET_STREAM___243 = 61,
    _SC_PII_INTERNET_DGRAM___243 = 62,
    _SC_PII_OSI_COTS___243 = 63,
    _SC_PII_OSI_CLTS___243 = 64,
    _SC_PII_OSI_M___243 = 65,
    _SC_T_IOV_MAX___243 = 66,
    _SC_THREADS___243 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___243 = 68,
    _SC_GETGR_R_SIZE_MAX___243 = 69,
    _SC_GETPW_R_SIZE_MAX___243 = 70,
    _SC_LOGIN_NAME_MAX___243 = 71,
    _SC_TTY_NAME_MAX___243 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___243 = 73,
    _SC_THREAD_KEYS_MAX___243 = 74,
    _SC_THREAD_STACK_MIN___243 = 75,
    _SC_THREAD_THREADS_MAX___243 = 76,
    _SC_THREAD_ATTR_STACKADDR___243 = 77,
    _SC_THREAD_ATTR_STACKSIZE___243 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___243 = 79,
    _SC_THREAD_PRIO_INHERIT___243 = 80,
    _SC_THREAD_PRIO_PROTECT___243 = 81,
    _SC_THREAD_PROCESS_SHARED___243 = 82,
    _SC_NPROCESSORS_CONF___243 = 83,
    _SC_NPROCESSORS_ONLN___243 = 84,
    _SC_PHYS_PAGES___243 = 85,
    _SC_AVPHYS_PAGES___243 = 86,
    _SC_ATEXIT_MAX___243 = 87,
    _SC_PASS_MAX___243 = 88,
    _SC_XOPEN_VERSION___243 = 89,
    _SC_XOPEN_XCU_VERSION___243 = 90,
    _SC_XOPEN_UNIX___243 = 91,
    _SC_XOPEN_CRYPT___243 = 92,
    _SC_XOPEN_ENH_I18N___243 = 93,
    _SC_XOPEN_SHM___243 = 94,
    _SC_2_CHAR_TERM___243 = 95,
    _SC_2_C_VERSION___243 = 96,
    _SC_2_UPE___243 = 97,
    _SC_XOPEN_XPG2___243 = 98,
    _SC_XOPEN_XPG3___243 = 99,
    _SC_XOPEN_XPG4___243 = 100,
    _SC_CHAR_BIT___243 = 101,
    _SC_CHAR_MAX___243 = 102,
    _SC_CHAR_MIN___243 = 103,
    _SC_INT_MAX___243 = 104,
    _SC_INT_MIN___243 = 105,
    _SC_LONG_BIT___243 = 106,
    _SC_WORD_BIT___243 = 107,
    _SC_MB_LEN_MAX___243 = 108,
    _SC_NZERO___243 = 109,
    _SC_SSIZE_MAX___243 = 110,
    _SC_SCHAR_MAX___243 = 111,
    _SC_SCHAR_MIN___243 = 112,
    _SC_SHRT_MAX___243 = 113,
    _SC_SHRT_MIN___243 = 114,
    _SC_UCHAR_MAX___243 = 115,
    _SC_UINT_MAX___243 = 116,
    _SC_ULONG_MAX___243 = 117,
    _SC_USHRT_MAX___243 = 118,
    _SC_NL_ARGMAX___243 = 119,
    _SC_NL_LANGMAX___243 = 120,
    _SC_NL_MSGMAX___243 = 121,
    _SC_NL_NMAX___243 = 122,
    _SC_NL_SETMAX___243 = 123,
    _SC_NL_TEXTMAX___243 = 124,
    _SC_XBS5_ILP32_OFF32___243 = 125,
    _SC_XBS5_ILP32_OFFBIG___243 = 126,
    _SC_XBS5_LP64_OFF64___243 = 127,
    _SC_XBS5_LPBIG_OFFBIG___243 = 128,
    _SC_XOPEN_LEGACY___243 = 129,
    _SC_XOPEN_REALTIME___243 = 130,
    _SC_XOPEN_REALTIME_THREADS___243 = 131,
    _SC_ADVISORY_INFO___243 = 132,
    _SC_BARRIERS___243 = 133,
    _SC_BASE___243 = 134,
    _SC_C_LANG_SUPPORT___243 = 135,
    _SC_C_LANG_SUPPORT_R___243 = 136,
    _SC_CLOCK_SELECTION___243 = 137,
    _SC_CPUTIME___243 = 138,
    _SC_THREAD_CPUTIME___243 = 139,
    _SC_DEVICE_IO___243 = 140,
    _SC_DEVICE_SPECIFIC___243 = 141,
    _SC_DEVICE_SPECIFIC_R___243 = 142,
    _SC_FD_MGMT___243 = 143,
    _SC_FIFO___243 = 144,
    _SC_PIPE___243 = 145,
    _SC_FILE_ATTRIBUTES___243 = 146,
    _SC_FILE_LOCKING___243 = 147,
    _SC_FILE_SYSTEM___243 = 148,
    _SC_MONOTONIC_CLOCK___243 = 149,
    _SC_MULTI_PROCESS___243 = 150,
    _SC_SINGLE_PROCESS___243 = 151,
    _SC_NETWORKING___243 = 152,
    _SC_READER_WRITER_LOCKS___243 = 153,
    _SC_SPIN_LOCKS___243 = 154,
    _SC_REGEXP___243 = 155,
    _SC_REGEX_VERSION___243 = 156,
    _SC_SHELL___243 = 157,
    _SC_SIGNALS___243 = 158,
    _SC_SPAWN___243 = 159,
    _SC_SPORADIC_SERVER___243 = 160,
    _SC_THREAD_SPORADIC_SERVER___243 = 161,
    _SC_SYSTEM_DATABASE___243 = 162,
    _SC_SYSTEM_DATABASE_R___243 = 163,
    _SC_TIMEOUTS___243 = 164,
    _SC_TYPED_MEMORY_OBJECTS___243 = 165,
    _SC_USER_GROUPS___243 = 166,
    _SC_USER_GROUPS_R___243 = 167,
    _SC_2_PBS___243 = 168,
    _SC_2_PBS_ACCOUNTING___243 = 169,
    _SC_2_PBS_LOCATE___243 = 170,
    _SC_2_PBS_MESSAGE___243 = 171,
    _SC_2_PBS_TRACK___243 = 172,
    _SC_SYMLOOP_MAX___243 = 173,
    _SC_STREAMS___243 = 174,
    _SC_2_PBS_CHECKPOINT___243 = 175,
    _SC_V6_ILP32_OFF32___243 = 176,
    _SC_V6_ILP32_OFFBIG___243 = 177,
    _SC_V6_LP64_OFF64___243 = 178,
    _SC_V6_LPBIG_OFFBIG___243 = 179,
    _SC_HOST_NAME_MAX___243 = 180,
    _SC_TRACE___243 = 181,
    _SC_TRACE_EVENT_FILTER___243 = 182,
    _SC_TRACE_INHERIT___243 = 183,
    _SC_TRACE_LOG___243 = 184,
    _SC_LEVEL1_ICACHE_SIZE___243 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___243 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___243 = 187,
    _SC_LEVEL1_DCACHE_SIZE___243 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___243 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___243 = 190,
    _SC_LEVEL2_CACHE_SIZE___243 = 191,
    _SC_LEVEL2_CACHE_ASSOC___243 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___243 = 193,
    _SC_LEVEL3_CACHE_SIZE___243 = 194,
    _SC_LEVEL3_CACHE_ASSOC___243 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___243 = 196,
    _SC_LEVEL4_CACHE_SIZE___243 = 197,
    _SC_LEVEL4_CACHE_ASSOC___243 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___243 = 199,
    _SC_IPV6___243 = 235,
    _SC_RAW_SOCKETS___243 = 236,
    _SC_V7_ILP32_OFF32___243 = 237,
    _SC_V7_ILP32_OFFBIG___243 = 238,
    _SC_V7_LP64_OFF64___243 = 239,
    _SC_V7_LPBIG_OFFBIG___243 = 240,
    _SC_SS_REPL_MAX___243 = 241,
    _SC_TRACE_EVENT_NAME_MAX___243 = 242,
    _SC_TRACE_NAME_MAX___243 = 243,
    _SC_TRACE_SYS_MAX___243 = 244,
    _SC_TRACE_USER_EVENT_MAX___243 = 245,
    _SC_XOPEN_STREAMS___243 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___243 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___243 = 248
} ;
enum __anonenum_875524036___243 {
    _CS_PATH___243 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___243 = 1,
    _CS_GNU_LIBC_VERSION___243 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___243 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___243 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___243 = 5,
    _CS_LFS_CFLAGS___243 = 1000,
    _CS_LFS_LDFLAGS___243 = 1001,
    _CS_LFS_LIBS___243 = 1002,
    _CS_LFS_LINTFLAGS___243 = 1003,
    _CS_LFS64_CFLAGS___243 = 1004,
    _CS_LFS64_LDFLAGS___243 = 1005,
    _CS_LFS64_LIBS___243 = 1006,
    _CS_LFS64_LINTFLAGS___243 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___243 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___243 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___243 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___243 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___243 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___243 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___243 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___243 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___243 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___243 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___243 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___243 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___243 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___243 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___243 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___243 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___243 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___243 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___243 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___243 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___243 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___243 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___243 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___243 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___243 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___243 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___243 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___243 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___243 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___243 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___243 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___243 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___243 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___243 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___243 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___243 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___243 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___243 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___243 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___243 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___243 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___243 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___243 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___243 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___243 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___243 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___243 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___243 = 1147,
    _CS_V6_ENV___243 = 1148,
    _CS_V7_ENV___243 = 1149
} ;
enum __anonenum_513775621___243 {
    DT_UNKNOWN___243 = 0,
    DT_FIFO___243 = 1,
    DT_CHR___243 = 2,
    DT_DIR___243 = 4,
    DT_BLK___243 = 6,
    DT_REG___243 = 8,
    DT_LNK___243 = 10,
    DT_SOCK___243 = 12,
    DT_WHT___243 = 14
} ;
enum __anonenum_77002343___243 {
    SI_ASYNCNL___243 = -60,
    SI_TKILL___243 = -6,
    SI_SIGIO___243 = -5,
    SI_ASYNCIO___243 = -4,
    SI_MESGQ___243 = -3,
    SI_TIMER___243 = -2,
    SI_QUEUE___243 = -1,
    SI_USER___243 = 0,
    SI_KERNEL___243 = 128
} ;
enum __anonenum_131038172___243 {
    ILL_ILLOPC___243 = 1,
    ILL_ILLOPN___243 = 2,
    ILL_ILLADR___243 = 3,
    ILL_ILLTRP___243 = 4,
    ILL_PRVOPC___243 = 5,
    ILL_PRVREG___243 = 6,
    ILL_COPROC___243 = 7,
    ILL_BADSTK___243 = 8
} ;
enum __anonenum_452038093___243 {
    FPE_INTDIV___243 = 1,
    FPE_INTOVF___243 = 2,
    FPE_FLTDIV___243 = 3,
    FPE_FLTOVF___243 = 4,
    FPE_FLTUND___243 = 5,
    FPE_FLTRES___243 = 6,
    FPE_FLTINV___243 = 7,
    FPE_FLTSUB___243 = 8
} ;
enum __anonenum_30976155___243 {
    SEGV_MAPERR___243 = 1,
    SEGV_ACCERR___243 = 2,
    SEGV_BNDERR___243 = 3,
    SEGV_PKUERR___243 = 4
} ;
enum __anonenum_1036286214___243 {
    BUS_ADRALN___243 = 1,
    BUS_ADRERR___243 = 2,
    BUS_OBJERR___243 = 3,
    BUS_MCEERR_AR___243 = 4,
    BUS_MCEERR_AO___243 = 5
} ;
enum __anonenum_493465559___243 {
    TRAP_BRKPT___243 = 1,
    TRAP_TRACE___243 = 2
} ;
enum __anonenum_23175539___243 {
    CLD_EXITED___243 = 1,
    CLD_KILLED___243 = 2,
    CLD_DUMPED___243 = 3,
    CLD_TRAPPED___243 = 4,
    CLD_STOPPED___243 = 5,
    CLD_CONTINUED___243 = 6
} ;
enum __anonenum_111643124___243 {
    POLL_IN___243 = 1,
    POLL_OUT___243 = 2,
    POLL_MSG___243 = 3,
    POLL_ERR___243 = 4,
    POLL_PRI___243 = 5,
    POLL_HUP___243 = 6
} ;
enum __anonenum_852341087___243 {
    SIGEV_SIGNAL___243 = 0,
    SIGEV_NONE___243 = 1,
    SIGEV_THREAD___243 = 2,
    SIGEV_THREAD_ID___243 = 4
} ;
enum __anonenum_451154152___243 {
    REG_R8___243 = 0,
    REG_R9___243 = 1,
    REG_R10___243 = 2,
    REG_R11___243 = 3,
    REG_R12___243 = 4,
    REG_R13___243 = 5,
    REG_R14___243 = 6,
    REG_R15___243 = 7,
    REG_RDI___243 = 8,
    REG_RSI___243 = 9,
    REG_RBP___243 = 10,
    REG_RBX___243 = 11,
    REG_RDX___243 = 12,
    REG_RAX___243 = 13,
    REG_RCX___243 = 14,
    REG_RSP___243 = 15,
    REG_RIP___243 = 16,
    REG_EFL___243 = 17,
    REG_CSGSFS___243 = 18,
    REG_ERR___243 = 19,
    REG_TRAPNO___243 = 20,
    REG_OLDMASK___243 = 21,
    REG_CR2___243 = 22
} ;
enum __anonenum_57186863___243 {
    SS_ONSTACK___243 = 1,
    SS_DISABLE___243 = 2
} ;
enum __anonenum_83571709___243 {
    MSG_OOB___243 = 1,
    MSG_PEEK___243 = 2,
    MSG_DONTROUTE___243 = 4,
    MSG_TRYHARD___243 = 4,
    MSG_CTRUNC___243 = 8,
    MSG_PROXY___243 = 16,
    MSG_TRUNC___243 = 32,
    MSG_DONTWAIT___243 = 64,
    MSG_EOR___243 = 128,
    MSG_WAITALL___243 = 256,
    MSG_FIN___243 = 512,
    MSG_SYN___243 = 1024,
    MSG_CONFIRM___243 = 2048,
    MSG_RST___243 = 4096,
    MSG_ERRQUEUE___243 = 8192,
    MSG_NOSIGNAL___243 = 16384,
    MSG_MORE___243 = 32768,
    MSG_WAITFORONE___243 = 65536,
    MSG_BATCH___243 = 262144,
    MSG_ZEROCOPY___243 = 67108864,
    MSG_FASTOPEN___243 = 536870912,
    MSG_CMSG_CLOEXEC___243 = 1073741824
} ;
enum __anonenum_617082774___243 {
    SCM_RIGHTS___243 = 1,
    SCM_CREDENTIALS___243 = 2
} ;
enum __anonenum_606441560___243 {
    SHUT_RD___243 = 0,
    SHUT_WR___243 = 1,
    SHUT_RDWR___243 = 2
} ;
enum __anonenum_681669233___243 {
    IPPROTO_IP___243 = 0,
    IPPROTO_ICMP___243 = 1,
    IPPROTO_IGMP___243 = 2,
    IPPROTO_IPIP___243 = 4,
    IPPROTO_TCP___243 = 6,
    IPPROTO_EGP___243 = 8,
    IPPROTO_PUP___243 = 12,
    IPPROTO_UDP___243 = 17,
    IPPROTO_IDP___243 = 22,
    IPPROTO_TP___243 = 29,
    IPPROTO_DCCP___243 = 33,
    IPPROTO_IPV6___243 = 41,
    IPPROTO_RSVP___243 = 46,
    IPPROTO_GRE___243 = 47,
    IPPROTO_ESP___243 = 50,
    IPPROTO_AH___243 = 51,
    IPPROTO_MTP___243 = 92,
    IPPROTO_BEETPH___243 = 94,
    IPPROTO_ENCAP___243 = 98,
    IPPROTO_PIM___243 = 103,
    IPPROTO_COMP___243 = 108,
    IPPROTO_SCTP___243 = 132,
    IPPROTO_UDPLITE___243 = 136,
    IPPROTO_MPLS___243 = 137,
    IPPROTO_RAW___243 = 255,
    IPPROTO_MAX___243 = 256
} ;
enum __anonenum_218739988___243 {
    IPPROTO_HOPOPTS___243 = 0,
    IPPROTO_ROUTING___243 = 43,
    IPPROTO_FRAGMENT___243 = 44,
    IPPROTO_ICMPV6___243 = 58,
    IPPROTO_NONE___243 = 59,
    IPPROTO_DSTOPTS___243 = 60,
    IPPROTO_MH___243 = 135
} ;
enum __anonenum_662268580___243 {
    IPPORT_ECHO___243 = 7,
    IPPORT_DISCARD___243 = 9,
    IPPORT_SYSTAT___243 = 11,
    IPPORT_DAYTIME___243 = 13,
    IPPORT_NETSTAT___243 = 15,
    IPPORT_FTP___243 = 21,
    IPPORT_TELNET___243 = 23,
    IPPORT_SMTP___243 = 25,
    IPPORT_TIMESERVER___243 = 37,
    IPPORT_NAMESERVER___243 = 42,
    IPPORT_WHOIS___243 = 43,
    IPPORT_MTP___243 = 57,
    IPPORT_TFTP___243 = 69,
    IPPORT_RJE___243 = 77,
    IPPORT_FINGER___243 = 79,
    IPPORT_TTYLINK___243 = 87,
    IPPORT_SUPDUP___243 = 95,
    IPPORT_EXECSERVER___243 = 512,
    IPPORT_LOGINSERVER___243 = 513,
    IPPORT_CMDSERVER___243 = 514,
    IPPORT_EFSSERVER___243 = 520,
    IPPORT_BIFFUDP___243 = 512,
    IPPORT_WHOSERVER___243 = 513,
    IPPORT_ROUTESERVER___243 = 520,
    IPPORT_RESERVED___243 = 1024,
    IPPORT_USERRESERVED___243 = 5000
} ;
enum __anonenum_788308992___243 {
    TCP_ESTABLISHED___243 = 1,
    TCP_SYN_SENT___243 = 2,
    TCP_SYN_RECV___243 = 3,
    TCP_FIN_WAIT1___243 = 4,
    TCP_FIN_WAIT2___243 = 5,
    TCP_TIME_WAIT___243 = 6,
    TCP_CLOSE___243 = 7,
    TCP_CLOSE_WAIT___243 = 8,
    TCP_LAST_ACK___243 = 9,
    TCP_LISTEN___243 = 10,
    TCP_CLOSING___243 = 11
} ;
enum __anonenum_221125648___243 {
    TCP_NO_QUEUE___243 = 0,
    TCP_RECV_QUEUE___243 = 1,
    TCP_SEND_QUEUE___243 = 2,
    TCP_QUEUES_NR___243 = 3
} ;
enum __anonenum_34415463___243 {
    PTHREAD_CREATE_JOINABLE___243 = 0,
    PTHREAD_CREATE_DETACHED___243 = 1
} ;
enum __anonenum_303612439___243 {
    PTHREAD_MUTEX_TIMED_NP___243 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___243 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___243 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___243 = 3,
    PTHREAD_MUTEX_NORMAL___243 = 0,
    PTHREAD_MUTEX_RECURSIVE___243 = 1,
    PTHREAD_MUTEX_ERRORCHECK___243 = 2,
    PTHREAD_MUTEX_DEFAULT___243 = 0,
    PTHREAD_MUTEX_FAST_NP___243 = 0
} ;
enum __anonenum_931900394___243 {
    PTHREAD_MUTEX_STALLED___243 = 0,
    PTHREAD_MUTEX_STALLED_NP___243 = 0,
    PTHREAD_MUTEX_ROBUST___243 = 1,
    PTHREAD_MUTEX_ROBUST_NP___243 = 1
} ;
enum __anonenum_205214487___243 {
    PTHREAD_PRIO_NONE___243 = 0,
    PTHREAD_PRIO_INHERIT___243 = 1,
    PTHREAD_PRIO_PROTECT___243 = 2
} ;
enum __anonenum_25043950___243 {
    PTHREAD_RWLOCK_PREFER_READER_NP___243 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___243 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___243 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___243 = 0
} ;
enum __anonenum_436439511___243 {
    PTHREAD_INHERIT_SCHED___243 = 0,
    PTHREAD_EXPLICIT_SCHED___243 = 1
} ;
enum __anonenum_998661166___243 {
    PTHREAD_SCOPE_SYSTEM___243 = 0,
    PTHREAD_SCOPE_PROCESS___243 = 1
} ;
enum __anonenum_146137331___243 {
    PTHREAD_PROCESS_PRIVATE___243 = 0,
    PTHREAD_PROCESS_SHARED___243 = 1
} ;
enum __anonenum_53396917___243 {
    PTHREAD_CANCEL_ENABLE___243 = 0,
    PTHREAD_CANCEL_DISABLE___243 = 1
} ;
enum __anonenum_904563783___243 {
    PTHREAD_CANCEL_DEFERRED___243 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___243 = 1
} ;
enum __anonenum_672052974___243 {
    SSL_CT_VALIDATION_PERMISSIVE___243 = 0,
    SSL_CT_VALIDATION_STRICT___243 = 1
} ;
enum __anonenum_437032235___244 {
    _PC_LINK_MAX___244 = 0,
    _PC_MAX_CANON___244 = 1,
    _PC_MAX_INPUT___244 = 2,
    _PC_NAME_MAX___244 = 3,
    _PC_PATH_MAX___244 = 4,
    _PC_PIPE_BUF___244 = 5,
    _PC_CHOWN_RESTRICTED___244 = 6,
    _PC_NO_TRUNC___244 = 7,
    _PC_VDISABLE___244 = 8,
    _PC_SYNC_IO___244 = 9,
    _PC_ASYNC_IO___244 = 10,
    _PC_PRIO_IO___244 = 11,
    _PC_SOCK_MAXBUF___244 = 12,
    _PC_FILESIZEBITS___244 = 13,
    _PC_REC_INCR_XFER_SIZE___244 = 14,
    _PC_REC_MAX_XFER_SIZE___244 = 15,
    _PC_REC_MIN_XFER_SIZE___244 = 16,
    _PC_REC_XFER_ALIGN___244 = 17,
    _PC_ALLOC_SIZE_MIN___244 = 18,
    _PC_SYMLINK_MAX___244 = 19,
    _PC_2_SYMLINKS___244 = 20
} ;
enum __anonenum_315186338___244 {
    _SC_ARG_MAX___244 = 0,
    _SC_CHILD_MAX___244 = 1,
    _SC_CLK_TCK___244 = 2,
    _SC_NGROUPS_MAX___244 = 3,
    _SC_OPEN_MAX___244 = 4,
    _SC_STREAM_MAX___244 = 5,
    _SC_TZNAME_MAX___244 = 6,
    _SC_JOB_CONTROL___244 = 7,
    _SC_SAVED_IDS___244 = 8,
    _SC_REALTIME_SIGNALS___244 = 9,
    _SC_PRIORITY_SCHEDULING___244 = 10,
    _SC_TIMERS___244 = 11,
    _SC_ASYNCHRONOUS_IO___244 = 12,
    _SC_PRIORITIZED_IO___244 = 13,
    _SC_SYNCHRONIZED_IO___244 = 14,
    _SC_FSYNC___244 = 15,
    _SC_MAPPED_FILES___244 = 16,
    _SC_MEMLOCK___244 = 17,
    _SC_MEMLOCK_RANGE___244 = 18,
    _SC_MEMORY_PROTECTION___244 = 19,
    _SC_MESSAGE_PASSING___244 = 20,
    _SC_SEMAPHORES___244 = 21,
    _SC_SHARED_MEMORY_OBJECTS___244 = 22,
    _SC_AIO_LISTIO_MAX___244 = 23,
    _SC_AIO_MAX___244 = 24,
    _SC_AIO_PRIO_DELTA_MAX___244 = 25,
    _SC_DELAYTIMER_MAX___244 = 26,
    _SC_MQ_OPEN_MAX___244 = 27,
    _SC_MQ_PRIO_MAX___244 = 28,
    _SC_VERSION___244 = 29,
    _SC_PAGESIZE___244 = 30,
    _SC_RTSIG_MAX___244 = 31,
    _SC_SEM_NSEMS_MAX___244 = 32,
    _SC_SEM_VALUE_MAX___244 = 33,
    _SC_SIGQUEUE_MAX___244 = 34,
    _SC_TIMER_MAX___244 = 35,
    _SC_BC_BASE_MAX___244 = 36,
    _SC_BC_DIM_MAX___244 = 37,
    _SC_BC_SCALE_MAX___244 = 38,
    _SC_BC_STRING_MAX___244 = 39,
    _SC_COLL_WEIGHTS_MAX___244 = 40,
    _SC_EQUIV_CLASS_MAX___244 = 41,
    _SC_EXPR_NEST_MAX___244 = 42,
    _SC_LINE_MAX___244 = 43,
    _SC_RE_DUP_MAX___244 = 44,
    _SC_CHARCLASS_NAME_MAX___244 = 45,
    _SC_2_VERSION___244 = 46,
    _SC_2_C_BIND___244 = 47,
    _SC_2_C_DEV___244 = 48,
    _SC_2_FORT_DEV___244 = 49,
    _SC_2_FORT_RUN___244 = 50,
    _SC_2_SW_DEV___244 = 51,
    _SC_2_LOCALEDEF___244 = 52,
    _SC_PII___244 = 53,
    _SC_PII_XTI___244 = 54,
    _SC_PII_SOCKET___244 = 55,
    _SC_PII_INTERNET___244 = 56,
    _SC_PII_OSI___244 = 57,
    _SC_POLL___244 = 58,
    _SC_SELECT___244 = 59,
    _SC_UIO_MAXIOV___244 = 60,
    _SC_IOV_MAX___244 = 60,
    _SC_PII_INTERNET_STREAM___244 = 61,
    _SC_PII_INTERNET_DGRAM___244 = 62,
    _SC_PII_OSI_COTS___244 = 63,
    _SC_PII_OSI_CLTS___244 = 64,
    _SC_PII_OSI_M___244 = 65,
    _SC_T_IOV_MAX___244 = 66,
    _SC_THREADS___244 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___244 = 68,
    _SC_GETGR_R_SIZE_MAX___244 = 69,
    _SC_GETPW_R_SIZE_MAX___244 = 70,
    _SC_LOGIN_NAME_MAX___244 = 71,
    _SC_TTY_NAME_MAX___244 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___244 = 73,
    _SC_THREAD_KEYS_MAX___244 = 74,
    _SC_THREAD_STACK_MIN___244 = 75,
    _SC_THREAD_THREADS_MAX___244 = 76,
    _SC_THREAD_ATTR_STACKADDR___244 = 77,
    _SC_THREAD_ATTR_STACKSIZE___244 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___244 = 79,
    _SC_THREAD_PRIO_INHERIT___244 = 80,
    _SC_THREAD_PRIO_PROTECT___244 = 81,
    _SC_THREAD_PROCESS_SHARED___244 = 82,
    _SC_NPROCESSORS_CONF___244 = 83,
    _SC_NPROCESSORS_ONLN___244 = 84,
    _SC_PHYS_PAGES___244 = 85,
    _SC_AVPHYS_PAGES___244 = 86,
    _SC_ATEXIT_MAX___244 = 87,
    _SC_PASS_MAX___244 = 88,
    _SC_XOPEN_VERSION___244 = 89,
    _SC_XOPEN_XCU_VERSION___244 = 90,
    _SC_XOPEN_UNIX___244 = 91,
    _SC_XOPEN_CRYPT___244 = 92,
    _SC_XOPEN_ENH_I18N___244 = 93,
    _SC_XOPEN_SHM___244 = 94,
    _SC_2_CHAR_TERM___244 = 95,
    _SC_2_C_VERSION___244 = 96,
    _SC_2_UPE___244 = 97,
    _SC_XOPEN_XPG2___244 = 98,
    _SC_XOPEN_XPG3___244 = 99,
    _SC_XOPEN_XPG4___244 = 100,
    _SC_CHAR_BIT___244 = 101,
    _SC_CHAR_MAX___244 = 102,
    _SC_CHAR_MIN___244 = 103,
    _SC_INT_MAX___244 = 104,
    _SC_INT_MIN___244 = 105,
    _SC_LONG_BIT___244 = 106,
    _SC_WORD_BIT___244 = 107,
    _SC_MB_LEN_MAX___244 = 108,
    _SC_NZERO___244 = 109,
    _SC_SSIZE_MAX___244 = 110,
    _SC_SCHAR_MAX___244 = 111,
    _SC_SCHAR_MIN___244 = 112,
    _SC_SHRT_MAX___244 = 113,
    _SC_SHRT_MIN___244 = 114,
    _SC_UCHAR_MAX___244 = 115,
    _SC_UINT_MAX___244 = 116,
    _SC_ULONG_MAX___244 = 117,
    _SC_USHRT_MAX___244 = 118,
    _SC_NL_ARGMAX___244 = 119,
    _SC_NL_LANGMAX___244 = 120,
    _SC_NL_MSGMAX___244 = 121,
    _SC_NL_NMAX___244 = 122,
    _SC_NL_SETMAX___244 = 123,
    _SC_NL_TEXTMAX___244 = 124,
    _SC_XBS5_ILP32_OFF32___244 = 125,
    _SC_XBS5_ILP32_OFFBIG___244 = 126,
    _SC_XBS5_LP64_OFF64___244 = 127,
    _SC_XBS5_LPBIG_OFFBIG___244 = 128,
    _SC_XOPEN_LEGACY___244 = 129,
    _SC_XOPEN_REALTIME___244 = 130,
    _SC_XOPEN_REALTIME_THREADS___244 = 131,
    _SC_ADVISORY_INFO___244 = 132,
    _SC_BARRIERS___244 = 133,
    _SC_BASE___244 = 134,
    _SC_C_LANG_SUPPORT___244 = 135,
    _SC_C_LANG_SUPPORT_R___244 = 136,
    _SC_CLOCK_SELECTION___244 = 137,
    _SC_CPUTIME___244 = 138,
    _SC_THREAD_CPUTIME___244 = 139,
    _SC_DEVICE_IO___244 = 140,
    _SC_DEVICE_SPECIFIC___244 = 141,
    _SC_DEVICE_SPECIFIC_R___244 = 142,
    _SC_FD_MGMT___244 = 143,
    _SC_FIFO___244 = 144,
    _SC_PIPE___244 = 145,
    _SC_FILE_ATTRIBUTES___244 = 146,
    _SC_FILE_LOCKING___244 = 147,
    _SC_FILE_SYSTEM___244 = 148,
    _SC_MONOTONIC_CLOCK___244 = 149,
    _SC_MULTI_PROCESS___244 = 150,
    _SC_SINGLE_PROCESS___244 = 151,
    _SC_NETWORKING___244 = 152,
    _SC_READER_WRITER_LOCKS___244 = 153,
    _SC_SPIN_LOCKS___244 = 154,
    _SC_REGEXP___244 = 155,
    _SC_REGEX_VERSION___244 = 156,
    _SC_SHELL___244 = 157,
    _SC_SIGNALS___244 = 158,
    _SC_SPAWN___244 = 159,
    _SC_SPORADIC_SERVER___244 = 160,
    _SC_THREAD_SPORADIC_SERVER___244 = 161,
    _SC_SYSTEM_DATABASE___244 = 162,
    _SC_SYSTEM_DATABASE_R___244 = 163,
    _SC_TIMEOUTS___244 = 164,
    _SC_TYPED_MEMORY_OBJECTS___244 = 165,
    _SC_USER_GROUPS___244 = 166,
    _SC_USER_GROUPS_R___244 = 167,
    _SC_2_PBS___244 = 168,
    _SC_2_PBS_ACCOUNTING___244 = 169,
    _SC_2_PBS_LOCATE___244 = 170,
    _SC_2_PBS_MESSAGE___244 = 171,
    _SC_2_PBS_TRACK___244 = 172,
    _SC_SYMLOOP_MAX___244 = 173,
    _SC_STREAMS___244 = 174,
    _SC_2_PBS_CHECKPOINT___244 = 175,
    _SC_V6_ILP32_OFF32___244 = 176,
    _SC_V6_ILP32_OFFBIG___244 = 177,
    _SC_V6_LP64_OFF64___244 = 178,
    _SC_V6_LPBIG_OFFBIG___244 = 179,
    _SC_HOST_NAME_MAX___244 = 180,
    _SC_TRACE___244 = 181,
    _SC_TRACE_EVENT_FILTER___244 = 182,
    _SC_TRACE_INHERIT___244 = 183,
    _SC_TRACE_LOG___244 = 184,
    _SC_LEVEL1_ICACHE_SIZE___244 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___244 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___244 = 187,
    _SC_LEVEL1_DCACHE_SIZE___244 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___244 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___244 = 190,
    _SC_LEVEL2_CACHE_SIZE___244 = 191,
    _SC_LEVEL2_CACHE_ASSOC___244 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___244 = 193,
    _SC_LEVEL3_CACHE_SIZE___244 = 194,
    _SC_LEVEL3_CACHE_ASSOC___244 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___244 = 196,
    _SC_LEVEL4_CACHE_SIZE___244 = 197,
    _SC_LEVEL4_CACHE_ASSOC___244 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___244 = 199,
    _SC_IPV6___244 = 235,
    _SC_RAW_SOCKETS___244 = 236,
    _SC_V7_ILP32_OFF32___244 = 237,
    _SC_V7_ILP32_OFFBIG___244 = 238,
    _SC_V7_LP64_OFF64___244 = 239,
    _SC_V7_LPBIG_OFFBIG___244 = 240,
    _SC_SS_REPL_MAX___244 = 241,
    _SC_TRACE_EVENT_NAME_MAX___244 = 242,
    _SC_TRACE_NAME_MAX___244 = 243,
    _SC_TRACE_SYS_MAX___244 = 244,
    _SC_TRACE_USER_EVENT_MAX___244 = 245,
    _SC_XOPEN_STREAMS___244 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___244 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___244 = 248
} ;
enum __anonenum_875524036___244 {
    _CS_PATH___244 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___244 = 1,
    _CS_GNU_LIBC_VERSION___244 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___244 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___244 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___244 = 5,
    _CS_LFS_CFLAGS___244 = 1000,
    _CS_LFS_LDFLAGS___244 = 1001,
    _CS_LFS_LIBS___244 = 1002,
    _CS_LFS_LINTFLAGS___244 = 1003,
    _CS_LFS64_CFLAGS___244 = 1004,
    _CS_LFS64_LDFLAGS___244 = 1005,
    _CS_LFS64_LIBS___244 = 1006,
    _CS_LFS64_LINTFLAGS___244 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___244 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___244 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___244 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___244 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___244 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___244 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___244 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___244 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___244 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___244 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___244 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___244 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___244 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___244 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___244 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___244 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___244 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___244 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___244 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___244 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___244 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___244 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___244 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___244 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___244 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___244 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___244 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___244 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___244 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___244 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___244 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___244 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___244 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___244 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___244 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___244 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___244 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___244 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___244 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___244 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___244 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___244 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___244 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___244 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___244 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___244 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___244 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___244 = 1147,
    _CS_V6_ENV___244 = 1148,
    _CS_V7_ENV___244 = 1149
} ;
enum __anonenum_513775621___244 {
    DT_UNKNOWN___244 = 0,
    DT_FIFO___244 = 1,
    DT_CHR___244 = 2,
    DT_DIR___244 = 4,
    DT_BLK___244 = 6,
    DT_REG___244 = 8,
    DT_LNK___244 = 10,
    DT_SOCK___244 = 12,
    DT_WHT___244 = 14
} ;
enum __anonenum_77002343___244 {
    SI_ASYNCNL___244 = -60,
    SI_TKILL___244 = -6,
    SI_SIGIO___244 = -5,
    SI_ASYNCIO___244 = -4,
    SI_MESGQ___244 = -3,
    SI_TIMER___244 = -2,
    SI_QUEUE___244 = -1,
    SI_USER___244 = 0,
    SI_KERNEL___244 = 128
} ;
enum __anonenum_131038172___244 {
    ILL_ILLOPC___244 = 1,
    ILL_ILLOPN___244 = 2,
    ILL_ILLADR___244 = 3,
    ILL_ILLTRP___244 = 4,
    ILL_PRVOPC___244 = 5,
    ILL_PRVREG___244 = 6,
    ILL_COPROC___244 = 7,
    ILL_BADSTK___244 = 8
} ;
enum __anonenum_452038093___244 {
    FPE_INTDIV___244 = 1,
    FPE_INTOVF___244 = 2,
    FPE_FLTDIV___244 = 3,
    FPE_FLTOVF___244 = 4,
    FPE_FLTUND___244 = 5,
    FPE_FLTRES___244 = 6,
    FPE_FLTINV___244 = 7,
    FPE_FLTSUB___244 = 8
} ;
enum __anonenum_30976155___244 {
    SEGV_MAPERR___244 = 1,
    SEGV_ACCERR___244 = 2,
    SEGV_BNDERR___244 = 3,
    SEGV_PKUERR___244 = 4
} ;
enum __anonenum_1036286214___244 {
    BUS_ADRALN___244 = 1,
    BUS_ADRERR___244 = 2,
    BUS_OBJERR___244 = 3,
    BUS_MCEERR_AR___244 = 4,
    BUS_MCEERR_AO___244 = 5
} ;
enum __anonenum_493465559___244 {
    TRAP_BRKPT___244 = 1,
    TRAP_TRACE___244 = 2
} ;
enum __anonenum_23175539___244 {
    CLD_EXITED___244 = 1,
    CLD_KILLED___244 = 2,
    CLD_DUMPED___244 = 3,
    CLD_TRAPPED___244 = 4,
    CLD_STOPPED___244 = 5,
    CLD_CONTINUED___244 = 6
} ;
enum __anonenum_111643124___244 {
    POLL_IN___244 = 1,
    POLL_OUT___244 = 2,
    POLL_MSG___244 = 3,
    POLL_ERR___244 = 4,
    POLL_PRI___244 = 5,
    POLL_HUP___244 = 6
} ;
enum __anonenum_852341087___244 {
    SIGEV_SIGNAL___244 = 0,
    SIGEV_NONE___244 = 1,
    SIGEV_THREAD___244 = 2,
    SIGEV_THREAD_ID___244 = 4
} ;
enum __anonenum_451154152___244 {
    REG_R8___244 = 0,
    REG_R9___244 = 1,
    REG_R10___244 = 2,
    REG_R11___244 = 3,
    REG_R12___244 = 4,
    REG_R13___244 = 5,
    REG_R14___244 = 6,
    REG_R15___244 = 7,
    REG_RDI___244 = 8,
    REG_RSI___244 = 9,
    REG_RBP___244 = 10,
    REG_RBX___244 = 11,
    REG_RDX___244 = 12,
    REG_RAX___244 = 13,
    REG_RCX___244 = 14,
    REG_RSP___244 = 15,
    REG_RIP___244 = 16,
    REG_EFL___244 = 17,
    REG_CSGSFS___244 = 18,
    REG_ERR___244 = 19,
    REG_TRAPNO___244 = 20,
    REG_OLDMASK___244 = 21,
    REG_CR2___244 = 22
} ;
enum __anonenum_57186863___244 {
    SS_ONSTACK___244 = 1,
    SS_DISABLE___244 = 2
} ;
enum __anonenum_83571709___244 {
    MSG_OOB___244 = 1,
    MSG_PEEK___244 = 2,
    MSG_DONTROUTE___244 = 4,
    MSG_TRYHARD___244 = 4,
    MSG_CTRUNC___244 = 8,
    MSG_PROXY___244 = 16,
    MSG_TRUNC___244 = 32,
    MSG_DONTWAIT___244 = 64,
    MSG_EOR___244 = 128,
    MSG_WAITALL___244 = 256,
    MSG_FIN___244 = 512,
    MSG_SYN___244 = 1024,
    MSG_CONFIRM___244 = 2048,
    MSG_RST___244 = 4096,
    MSG_ERRQUEUE___244 = 8192,
    MSG_NOSIGNAL___244 = 16384,
    MSG_MORE___244 = 32768,
    MSG_WAITFORONE___244 = 65536,
    MSG_BATCH___244 = 262144,
    MSG_ZEROCOPY___244 = 67108864,
    MSG_FASTOPEN___244 = 536870912,
    MSG_CMSG_CLOEXEC___244 = 1073741824
} ;
enum __anonenum_617082774___244 {
    SCM_RIGHTS___244 = 1,
    SCM_CREDENTIALS___244 = 2
} ;
enum __anonenum_606441560___244 {
    SHUT_RD___244 = 0,
    SHUT_WR___244 = 1,
    SHUT_RDWR___244 = 2
} ;
enum __anonenum_681669233___244 {
    IPPROTO_IP___244 = 0,
    IPPROTO_ICMP___244 = 1,
    IPPROTO_IGMP___244 = 2,
    IPPROTO_IPIP___244 = 4,
    IPPROTO_TCP___244 = 6,
    IPPROTO_EGP___244 = 8,
    IPPROTO_PUP___244 = 12,
    IPPROTO_UDP___244 = 17,
    IPPROTO_IDP___244 = 22,
    IPPROTO_TP___244 = 29,
    IPPROTO_DCCP___244 = 33,
    IPPROTO_IPV6___244 = 41,
    IPPROTO_RSVP___244 = 46,
    IPPROTO_GRE___244 = 47,
    IPPROTO_ESP___244 = 50,
    IPPROTO_AH___244 = 51,
    IPPROTO_MTP___244 = 92,
    IPPROTO_BEETPH___244 = 94,
    IPPROTO_ENCAP___244 = 98,
    IPPROTO_PIM___244 = 103,
    IPPROTO_COMP___244 = 108,
    IPPROTO_SCTP___244 = 132,
    IPPROTO_UDPLITE___244 = 136,
    IPPROTO_MPLS___244 = 137,
    IPPROTO_RAW___244 = 255,
    IPPROTO_MAX___244 = 256
} ;
enum __anonenum_218739988___244 {
    IPPROTO_HOPOPTS___244 = 0,
    IPPROTO_ROUTING___244 = 43,
    IPPROTO_FRAGMENT___244 = 44,
    IPPROTO_ICMPV6___244 = 58,
    IPPROTO_NONE___244 = 59,
    IPPROTO_DSTOPTS___244 = 60,
    IPPROTO_MH___244 = 135
} ;
enum __anonenum_662268580___244 {
    IPPORT_ECHO___244 = 7,
    IPPORT_DISCARD___244 = 9,
    IPPORT_SYSTAT___244 = 11,
    IPPORT_DAYTIME___244 = 13,
    IPPORT_NETSTAT___244 = 15,
    IPPORT_FTP___244 = 21,
    IPPORT_TELNET___244 = 23,
    IPPORT_SMTP___244 = 25,
    IPPORT_TIMESERVER___244 = 37,
    IPPORT_NAMESERVER___244 = 42,
    IPPORT_WHOIS___244 = 43,
    IPPORT_MTP___244 = 57,
    IPPORT_TFTP___244 = 69,
    IPPORT_RJE___244 = 77,
    IPPORT_FINGER___244 = 79,
    IPPORT_TTYLINK___244 = 87,
    IPPORT_SUPDUP___244 = 95,
    IPPORT_EXECSERVER___244 = 512,
    IPPORT_LOGINSERVER___244 = 513,
    IPPORT_CMDSERVER___244 = 514,
    IPPORT_EFSSERVER___244 = 520,
    IPPORT_BIFFUDP___244 = 512,
    IPPORT_WHOSERVER___244 = 513,
    IPPORT_ROUTESERVER___244 = 520,
    IPPORT_RESERVED___244 = 1024,
    IPPORT_USERRESERVED___244 = 5000
} ;
enum __anonenum_788308992___244 {
    TCP_ESTABLISHED___244 = 1,
    TCP_SYN_SENT___244 = 2,
    TCP_SYN_RECV___244 = 3,
    TCP_FIN_WAIT1___244 = 4,
    TCP_FIN_WAIT2___244 = 5,
    TCP_TIME_WAIT___244 = 6,
    TCP_CLOSE___244 = 7,
    TCP_CLOSE_WAIT___244 = 8,
    TCP_LAST_ACK___244 = 9,
    TCP_LISTEN___244 = 10,
    TCP_CLOSING___244 = 11
} ;
enum __anonenum_221125648___244 {
    TCP_NO_QUEUE___244 = 0,
    TCP_RECV_QUEUE___244 = 1,
    TCP_SEND_QUEUE___244 = 2,
    TCP_QUEUES_NR___244 = 3
} ;
enum __anonenum_34415463___244 {
    PTHREAD_CREATE_JOINABLE___244 = 0,
    PTHREAD_CREATE_DETACHED___244 = 1
} ;
enum __anonenum_303612439___244 {
    PTHREAD_MUTEX_TIMED_NP___244 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___244 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___244 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___244 = 3,
    PTHREAD_MUTEX_NORMAL___244 = 0,
    PTHREAD_MUTEX_RECURSIVE___244 = 1,
    PTHREAD_MUTEX_ERRORCHECK___244 = 2,
    PTHREAD_MUTEX_DEFAULT___244 = 0,
    PTHREAD_MUTEX_FAST_NP___244 = 0
} ;
enum __anonenum_931900394___244 {
    PTHREAD_MUTEX_STALLED___244 = 0,
    PTHREAD_MUTEX_STALLED_NP___244 = 0,
    PTHREAD_MUTEX_ROBUST___244 = 1,
    PTHREAD_MUTEX_ROBUST_NP___244 = 1
} ;
enum __anonenum_205214487___244 {
    PTHREAD_PRIO_NONE___244 = 0,
    PTHREAD_PRIO_INHERIT___244 = 1,
    PTHREAD_PRIO_PROTECT___244 = 2
} ;
enum __anonenum_25043950___244 {
    PTHREAD_RWLOCK_PREFER_READER_NP___244 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___244 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___244 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___244 = 0
} ;
enum __anonenum_436439511___244 {
    PTHREAD_INHERIT_SCHED___244 = 0,
    PTHREAD_EXPLICIT_SCHED___244 = 1
} ;
enum __anonenum_998661166___244 {
    PTHREAD_SCOPE_SYSTEM___244 = 0,
    PTHREAD_SCOPE_PROCESS___244 = 1
} ;
enum __anonenum_146137331___244 {
    PTHREAD_PROCESS_PRIVATE___244 = 0,
    PTHREAD_PROCESS_SHARED___244 = 1
} ;
enum __anonenum_53396917___244 {
    PTHREAD_CANCEL_ENABLE___244 = 0,
    PTHREAD_CANCEL_DISABLE___244 = 1
} ;
enum __anonenum_904563783___244 {
    PTHREAD_CANCEL_DEFERRED___244 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___244 = 1
} ;
enum __anonenum_672052974___244 {
    SSL_CT_VALIDATION_PERMISSIVE___244 = 0,
    SSL_CT_VALIDATION_STRICT___244 = 1
} ;
struct s_xdpsplit {
   long i1 ;
   long i2 ;
   int min_lo ;
   int min_hi ;
};
typedef struct s_xdpsplit xdpsplit_t;
struct split_measurement {
   int end_of_file ;
   int indent ;
   int pre_blank ;
   int pre_indent ;
   int post_blank ;
   int post_indent ;
};
struct split_score {
   int effective_indent ;
   int penalty ;
};
struct xdlgroup {
   long start ;
   long end ;
};
enum __anonenum_437032235___245 {
    _PC_LINK_MAX___245 = 0,
    _PC_MAX_CANON___245 = 1,
    _PC_MAX_INPUT___245 = 2,
    _PC_NAME_MAX___245 = 3,
    _PC_PATH_MAX___245 = 4,
    _PC_PIPE_BUF___245 = 5,
    _PC_CHOWN_RESTRICTED___245 = 6,
    _PC_NO_TRUNC___245 = 7,
    _PC_VDISABLE___245 = 8,
    _PC_SYNC_IO___245 = 9,
    _PC_ASYNC_IO___245 = 10,
    _PC_PRIO_IO___245 = 11,
    _PC_SOCK_MAXBUF___245 = 12,
    _PC_FILESIZEBITS___245 = 13,
    _PC_REC_INCR_XFER_SIZE___245 = 14,
    _PC_REC_MAX_XFER_SIZE___245 = 15,
    _PC_REC_MIN_XFER_SIZE___245 = 16,
    _PC_REC_XFER_ALIGN___245 = 17,
    _PC_ALLOC_SIZE_MIN___245 = 18,
    _PC_SYMLINK_MAX___245 = 19,
    _PC_2_SYMLINKS___245 = 20
} ;
enum __anonenum_315186338___245 {
    _SC_ARG_MAX___245 = 0,
    _SC_CHILD_MAX___245 = 1,
    _SC_CLK_TCK___245 = 2,
    _SC_NGROUPS_MAX___245 = 3,
    _SC_OPEN_MAX___245 = 4,
    _SC_STREAM_MAX___245 = 5,
    _SC_TZNAME_MAX___245 = 6,
    _SC_JOB_CONTROL___245 = 7,
    _SC_SAVED_IDS___245 = 8,
    _SC_REALTIME_SIGNALS___245 = 9,
    _SC_PRIORITY_SCHEDULING___245 = 10,
    _SC_TIMERS___245 = 11,
    _SC_ASYNCHRONOUS_IO___245 = 12,
    _SC_PRIORITIZED_IO___245 = 13,
    _SC_SYNCHRONIZED_IO___245 = 14,
    _SC_FSYNC___245 = 15,
    _SC_MAPPED_FILES___245 = 16,
    _SC_MEMLOCK___245 = 17,
    _SC_MEMLOCK_RANGE___245 = 18,
    _SC_MEMORY_PROTECTION___245 = 19,
    _SC_MESSAGE_PASSING___245 = 20,
    _SC_SEMAPHORES___245 = 21,
    _SC_SHARED_MEMORY_OBJECTS___245 = 22,
    _SC_AIO_LISTIO_MAX___245 = 23,
    _SC_AIO_MAX___245 = 24,
    _SC_AIO_PRIO_DELTA_MAX___245 = 25,
    _SC_DELAYTIMER_MAX___245 = 26,
    _SC_MQ_OPEN_MAX___245 = 27,
    _SC_MQ_PRIO_MAX___245 = 28,
    _SC_VERSION___245 = 29,
    _SC_PAGESIZE___245 = 30,
    _SC_RTSIG_MAX___245 = 31,
    _SC_SEM_NSEMS_MAX___245 = 32,
    _SC_SEM_VALUE_MAX___245 = 33,
    _SC_SIGQUEUE_MAX___245 = 34,
    _SC_TIMER_MAX___245 = 35,
    _SC_BC_BASE_MAX___245 = 36,
    _SC_BC_DIM_MAX___245 = 37,
    _SC_BC_SCALE_MAX___245 = 38,
    _SC_BC_STRING_MAX___245 = 39,
    _SC_COLL_WEIGHTS_MAX___245 = 40,
    _SC_EQUIV_CLASS_MAX___245 = 41,
    _SC_EXPR_NEST_MAX___245 = 42,
    _SC_LINE_MAX___245 = 43,
    _SC_RE_DUP_MAX___245 = 44,
    _SC_CHARCLASS_NAME_MAX___245 = 45,
    _SC_2_VERSION___245 = 46,
    _SC_2_C_BIND___245 = 47,
    _SC_2_C_DEV___245 = 48,
    _SC_2_FORT_DEV___245 = 49,
    _SC_2_FORT_RUN___245 = 50,
    _SC_2_SW_DEV___245 = 51,
    _SC_2_LOCALEDEF___245 = 52,
    _SC_PII___245 = 53,
    _SC_PII_XTI___245 = 54,
    _SC_PII_SOCKET___245 = 55,
    _SC_PII_INTERNET___245 = 56,
    _SC_PII_OSI___245 = 57,
    _SC_POLL___245 = 58,
    _SC_SELECT___245 = 59,
    _SC_UIO_MAXIOV___245 = 60,
    _SC_IOV_MAX___245 = 60,
    _SC_PII_INTERNET_STREAM___245 = 61,
    _SC_PII_INTERNET_DGRAM___245 = 62,
    _SC_PII_OSI_COTS___245 = 63,
    _SC_PII_OSI_CLTS___245 = 64,
    _SC_PII_OSI_M___245 = 65,
    _SC_T_IOV_MAX___245 = 66,
    _SC_THREADS___245 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___245 = 68,
    _SC_GETGR_R_SIZE_MAX___245 = 69,
    _SC_GETPW_R_SIZE_MAX___245 = 70,
    _SC_LOGIN_NAME_MAX___245 = 71,
    _SC_TTY_NAME_MAX___245 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___245 = 73,
    _SC_THREAD_KEYS_MAX___245 = 74,
    _SC_THREAD_STACK_MIN___245 = 75,
    _SC_THREAD_THREADS_MAX___245 = 76,
    _SC_THREAD_ATTR_STACKADDR___245 = 77,
    _SC_THREAD_ATTR_STACKSIZE___245 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___245 = 79,
    _SC_THREAD_PRIO_INHERIT___245 = 80,
    _SC_THREAD_PRIO_PROTECT___245 = 81,
    _SC_THREAD_PROCESS_SHARED___245 = 82,
    _SC_NPROCESSORS_CONF___245 = 83,
    _SC_NPROCESSORS_ONLN___245 = 84,
    _SC_PHYS_PAGES___245 = 85,
    _SC_AVPHYS_PAGES___245 = 86,
    _SC_ATEXIT_MAX___245 = 87,
    _SC_PASS_MAX___245 = 88,
    _SC_XOPEN_VERSION___245 = 89,
    _SC_XOPEN_XCU_VERSION___245 = 90,
    _SC_XOPEN_UNIX___245 = 91,
    _SC_XOPEN_CRYPT___245 = 92,
    _SC_XOPEN_ENH_I18N___245 = 93,
    _SC_XOPEN_SHM___245 = 94,
    _SC_2_CHAR_TERM___245 = 95,
    _SC_2_C_VERSION___245 = 96,
    _SC_2_UPE___245 = 97,
    _SC_XOPEN_XPG2___245 = 98,
    _SC_XOPEN_XPG3___245 = 99,
    _SC_XOPEN_XPG4___245 = 100,
    _SC_CHAR_BIT___245 = 101,
    _SC_CHAR_MAX___245 = 102,
    _SC_CHAR_MIN___245 = 103,
    _SC_INT_MAX___245 = 104,
    _SC_INT_MIN___245 = 105,
    _SC_LONG_BIT___245 = 106,
    _SC_WORD_BIT___245 = 107,
    _SC_MB_LEN_MAX___245 = 108,
    _SC_NZERO___245 = 109,
    _SC_SSIZE_MAX___245 = 110,
    _SC_SCHAR_MAX___245 = 111,
    _SC_SCHAR_MIN___245 = 112,
    _SC_SHRT_MAX___245 = 113,
    _SC_SHRT_MIN___245 = 114,
    _SC_UCHAR_MAX___245 = 115,
    _SC_UINT_MAX___245 = 116,
    _SC_ULONG_MAX___245 = 117,
    _SC_USHRT_MAX___245 = 118,
    _SC_NL_ARGMAX___245 = 119,
    _SC_NL_LANGMAX___245 = 120,
    _SC_NL_MSGMAX___245 = 121,
    _SC_NL_NMAX___245 = 122,
    _SC_NL_SETMAX___245 = 123,
    _SC_NL_TEXTMAX___245 = 124,
    _SC_XBS5_ILP32_OFF32___245 = 125,
    _SC_XBS5_ILP32_OFFBIG___245 = 126,
    _SC_XBS5_LP64_OFF64___245 = 127,
    _SC_XBS5_LPBIG_OFFBIG___245 = 128,
    _SC_XOPEN_LEGACY___245 = 129,
    _SC_XOPEN_REALTIME___245 = 130,
    _SC_XOPEN_REALTIME_THREADS___245 = 131,
    _SC_ADVISORY_INFO___245 = 132,
    _SC_BARRIERS___245 = 133,
    _SC_BASE___245 = 134,
    _SC_C_LANG_SUPPORT___245 = 135,
    _SC_C_LANG_SUPPORT_R___245 = 136,
    _SC_CLOCK_SELECTION___245 = 137,
    _SC_CPUTIME___245 = 138,
    _SC_THREAD_CPUTIME___245 = 139,
    _SC_DEVICE_IO___245 = 140,
    _SC_DEVICE_SPECIFIC___245 = 141,
    _SC_DEVICE_SPECIFIC_R___245 = 142,
    _SC_FD_MGMT___245 = 143,
    _SC_FIFO___245 = 144,
    _SC_PIPE___245 = 145,
    _SC_FILE_ATTRIBUTES___245 = 146,
    _SC_FILE_LOCKING___245 = 147,
    _SC_FILE_SYSTEM___245 = 148,
    _SC_MONOTONIC_CLOCK___245 = 149,
    _SC_MULTI_PROCESS___245 = 150,
    _SC_SINGLE_PROCESS___245 = 151,
    _SC_NETWORKING___245 = 152,
    _SC_READER_WRITER_LOCKS___245 = 153,
    _SC_SPIN_LOCKS___245 = 154,
    _SC_REGEXP___245 = 155,
    _SC_REGEX_VERSION___245 = 156,
    _SC_SHELL___245 = 157,
    _SC_SIGNALS___245 = 158,
    _SC_SPAWN___245 = 159,
    _SC_SPORADIC_SERVER___245 = 160,
    _SC_THREAD_SPORADIC_SERVER___245 = 161,
    _SC_SYSTEM_DATABASE___245 = 162,
    _SC_SYSTEM_DATABASE_R___245 = 163,
    _SC_TIMEOUTS___245 = 164,
    _SC_TYPED_MEMORY_OBJECTS___245 = 165,
    _SC_USER_GROUPS___245 = 166,
    _SC_USER_GROUPS_R___245 = 167,
    _SC_2_PBS___245 = 168,
    _SC_2_PBS_ACCOUNTING___245 = 169,
    _SC_2_PBS_LOCATE___245 = 170,
    _SC_2_PBS_MESSAGE___245 = 171,
    _SC_2_PBS_TRACK___245 = 172,
    _SC_SYMLOOP_MAX___245 = 173,
    _SC_STREAMS___245 = 174,
    _SC_2_PBS_CHECKPOINT___245 = 175,
    _SC_V6_ILP32_OFF32___245 = 176,
    _SC_V6_ILP32_OFFBIG___245 = 177,
    _SC_V6_LP64_OFF64___245 = 178,
    _SC_V6_LPBIG_OFFBIG___245 = 179,
    _SC_HOST_NAME_MAX___245 = 180,
    _SC_TRACE___245 = 181,
    _SC_TRACE_EVENT_FILTER___245 = 182,
    _SC_TRACE_INHERIT___245 = 183,
    _SC_TRACE_LOG___245 = 184,
    _SC_LEVEL1_ICACHE_SIZE___245 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___245 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___245 = 187,
    _SC_LEVEL1_DCACHE_SIZE___245 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___245 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___245 = 190,
    _SC_LEVEL2_CACHE_SIZE___245 = 191,
    _SC_LEVEL2_CACHE_ASSOC___245 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___245 = 193,
    _SC_LEVEL3_CACHE_SIZE___245 = 194,
    _SC_LEVEL3_CACHE_ASSOC___245 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___245 = 196,
    _SC_LEVEL4_CACHE_SIZE___245 = 197,
    _SC_LEVEL4_CACHE_ASSOC___245 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___245 = 199,
    _SC_IPV6___245 = 235,
    _SC_RAW_SOCKETS___245 = 236,
    _SC_V7_ILP32_OFF32___245 = 237,
    _SC_V7_ILP32_OFFBIG___245 = 238,
    _SC_V7_LP64_OFF64___245 = 239,
    _SC_V7_LPBIG_OFFBIG___245 = 240,
    _SC_SS_REPL_MAX___245 = 241,
    _SC_TRACE_EVENT_NAME_MAX___245 = 242,
    _SC_TRACE_NAME_MAX___245 = 243,
    _SC_TRACE_SYS_MAX___245 = 244,
    _SC_TRACE_USER_EVENT_MAX___245 = 245,
    _SC_XOPEN_STREAMS___245 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___245 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___245 = 248
} ;
enum __anonenum_875524036___245 {
    _CS_PATH___245 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___245 = 1,
    _CS_GNU_LIBC_VERSION___245 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___245 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___245 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___245 = 5,
    _CS_LFS_CFLAGS___245 = 1000,
    _CS_LFS_LDFLAGS___245 = 1001,
    _CS_LFS_LIBS___245 = 1002,
    _CS_LFS_LINTFLAGS___245 = 1003,
    _CS_LFS64_CFLAGS___245 = 1004,
    _CS_LFS64_LDFLAGS___245 = 1005,
    _CS_LFS64_LIBS___245 = 1006,
    _CS_LFS64_LINTFLAGS___245 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___245 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___245 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___245 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___245 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___245 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___245 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___245 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___245 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___245 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___245 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___245 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___245 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___245 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___245 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___245 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___245 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___245 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___245 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___245 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___245 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___245 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___245 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___245 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___245 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___245 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___245 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___245 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___245 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___245 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___245 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___245 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___245 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___245 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___245 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___245 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___245 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___245 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___245 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___245 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___245 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___245 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___245 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___245 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___245 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___245 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___245 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___245 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___245 = 1147,
    _CS_V6_ENV___245 = 1148,
    _CS_V7_ENV___245 = 1149
} ;
enum __anonenum_513775621___245 {
    DT_UNKNOWN___245 = 0,
    DT_FIFO___245 = 1,
    DT_CHR___245 = 2,
    DT_DIR___245 = 4,
    DT_BLK___245 = 6,
    DT_REG___245 = 8,
    DT_LNK___245 = 10,
    DT_SOCK___245 = 12,
    DT_WHT___245 = 14
} ;
enum __anonenum_77002343___245 {
    SI_ASYNCNL___245 = -60,
    SI_TKILL___245 = -6,
    SI_SIGIO___245 = -5,
    SI_ASYNCIO___245 = -4,
    SI_MESGQ___245 = -3,
    SI_TIMER___245 = -2,
    SI_QUEUE___245 = -1,
    SI_USER___245 = 0,
    SI_KERNEL___245 = 128
} ;
enum __anonenum_131038172___245 {
    ILL_ILLOPC___245 = 1,
    ILL_ILLOPN___245 = 2,
    ILL_ILLADR___245 = 3,
    ILL_ILLTRP___245 = 4,
    ILL_PRVOPC___245 = 5,
    ILL_PRVREG___245 = 6,
    ILL_COPROC___245 = 7,
    ILL_BADSTK___245 = 8
} ;
enum __anonenum_452038093___245 {
    FPE_INTDIV___245 = 1,
    FPE_INTOVF___245 = 2,
    FPE_FLTDIV___245 = 3,
    FPE_FLTOVF___245 = 4,
    FPE_FLTUND___245 = 5,
    FPE_FLTRES___245 = 6,
    FPE_FLTINV___245 = 7,
    FPE_FLTSUB___245 = 8
} ;
enum __anonenum_30976155___245 {
    SEGV_MAPERR___245 = 1,
    SEGV_ACCERR___245 = 2,
    SEGV_BNDERR___245 = 3,
    SEGV_PKUERR___245 = 4
} ;
enum __anonenum_1036286214___245 {
    BUS_ADRALN___245 = 1,
    BUS_ADRERR___245 = 2,
    BUS_OBJERR___245 = 3,
    BUS_MCEERR_AR___245 = 4,
    BUS_MCEERR_AO___245 = 5
} ;
enum __anonenum_493465559___245 {
    TRAP_BRKPT___245 = 1,
    TRAP_TRACE___245 = 2
} ;
enum __anonenum_23175539___245 {
    CLD_EXITED___245 = 1,
    CLD_KILLED___245 = 2,
    CLD_DUMPED___245 = 3,
    CLD_TRAPPED___245 = 4,
    CLD_STOPPED___245 = 5,
    CLD_CONTINUED___245 = 6
} ;
enum __anonenum_111643124___245 {
    POLL_IN___245 = 1,
    POLL_OUT___245 = 2,
    POLL_MSG___245 = 3,
    POLL_ERR___245 = 4,
    POLL_PRI___245 = 5,
    POLL_HUP___245 = 6
} ;
enum __anonenum_852341087___245 {
    SIGEV_SIGNAL___245 = 0,
    SIGEV_NONE___245 = 1,
    SIGEV_THREAD___245 = 2,
    SIGEV_THREAD_ID___245 = 4
} ;
enum __anonenum_451154152___245 {
    REG_R8___245 = 0,
    REG_R9___245 = 1,
    REG_R10___245 = 2,
    REG_R11___245 = 3,
    REG_R12___245 = 4,
    REG_R13___245 = 5,
    REG_R14___245 = 6,
    REG_R15___245 = 7,
    REG_RDI___245 = 8,
    REG_RSI___245 = 9,
    REG_RBP___245 = 10,
    REG_RBX___245 = 11,
    REG_RDX___245 = 12,
    REG_RAX___245 = 13,
    REG_RCX___245 = 14,
    REG_RSP___245 = 15,
    REG_RIP___245 = 16,
    REG_EFL___245 = 17,
    REG_CSGSFS___245 = 18,
    REG_ERR___245 = 19,
    REG_TRAPNO___245 = 20,
    REG_OLDMASK___245 = 21,
    REG_CR2___245 = 22
} ;
enum __anonenum_57186863___245 {
    SS_ONSTACK___245 = 1,
    SS_DISABLE___245 = 2
} ;
enum __anonenum_83571709___245 {
    MSG_OOB___245 = 1,
    MSG_PEEK___245 = 2,
    MSG_DONTROUTE___245 = 4,
    MSG_TRYHARD___245 = 4,
    MSG_CTRUNC___245 = 8,
    MSG_PROXY___245 = 16,
    MSG_TRUNC___245 = 32,
    MSG_DONTWAIT___245 = 64,
    MSG_EOR___245 = 128,
    MSG_WAITALL___245 = 256,
    MSG_FIN___245 = 512,
    MSG_SYN___245 = 1024,
    MSG_CONFIRM___245 = 2048,
    MSG_RST___245 = 4096,
    MSG_ERRQUEUE___245 = 8192,
    MSG_NOSIGNAL___245 = 16384,
    MSG_MORE___245 = 32768,
    MSG_WAITFORONE___245 = 65536,
    MSG_BATCH___245 = 262144,
    MSG_ZEROCOPY___245 = 67108864,
    MSG_FASTOPEN___245 = 536870912,
    MSG_CMSG_CLOEXEC___245 = 1073741824
} ;
enum __anonenum_617082774___245 {
    SCM_RIGHTS___245 = 1,
    SCM_CREDENTIALS___245 = 2
} ;
enum __anonenum_606441560___245 {
    SHUT_RD___245 = 0,
    SHUT_WR___245 = 1,
    SHUT_RDWR___245 = 2
} ;
enum __anonenum_681669233___245 {
    IPPROTO_IP___245 = 0,
    IPPROTO_ICMP___245 = 1,
    IPPROTO_IGMP___245 = 2,
    IPPROTO_IPIP___245 = 4,
    IPPROTO_TCP___245 = 6,
    IPPROTO_EGP___245 = 8,
    IPPROTO_PUP___245 = 12,
    IPPROTO_UDP___245 = 17,
    IPPROTO_IDP___245 = 22,
    IPPROTO_TP___245 = 29,
    IPPROTO_DCCP___245 = 33,
    IPPROTO_IPV6___245 = 41,
    IPPROTO_RSVP___245 = 46,
    IPPROTO_GRE___245 = 47,
    IPPROTO_ESP___245 = 50,
    IPPROTO_AH___245 = 51,
    IPPROTO_MTP___245 = 92,
    IPPROTO_BEETPH___245 = 94,
    IPPROTO_ENCAP___245 = 98,
    IPPROTO_PIM___245 = 103,
    IPPROTO_COMP___245 = 108,
    IPPROTO_SCTP___245 = 132,
    IPPROTO_UDPLITE___245 = 136,
    IPPROTO_MPLS___245 = 137,
    IPPROTO_RAW___245 = 255,
    IPPROTO_MAX___245 = 256
} ;
enum __anonenum_218739988___245 {
    IPPROTO_HOPOPTS___245 = 0,
    IPPROTO_ROUTING___245 = 43,
    IPPROTO_FRAGMENT___245 = 44,
    IPPROTO_ICMPV6___245 = 58,
    IPPROTO_NONE___245 = 59,
    IPPROTO_DSTOPTS___245 = 60,
    IPPROTO_MH___245 = 135
} ;
enum __anonenum_662268580___245 {
    IPPORT_ECHO___245 = 7,
    IPPORT_DISCARD___245 = 9,
    IPPORT_SYSTAT___245 = 11,
    IPPORT_DAYTIME___245 = 13,
    IPPORT_NETSTAT___245 = 15,
    IPPORT_FTP___245 = 21,
    IPPORT_TELNET___245 = 23,
    IPPORT_SMTP___245 = 25,
    IPPORT_TIMESERVER___245 = 37,
    IPPORT_NAMESERVER___245 = 42,
    IPPORT_WHOIS___245 = 43,
    IPPORT_MTP___245 = 57,
    IPPORT_TFTP___245 = 69,
    IPPORT_RJE___245 = 77,
    IPPORT_FINGER___245 = 79,
    IPPORT_TTYLINK___245 = 87,
    IPPORT_SUPDUP___245 = 95,
    IPPORT_EXECSERVER___245 = 512,
    IPPORT_LOGINSERVER___245 = 513,
    IPPORT_CMDSERVER___245 = 514,
    IPPORT_EFSSERVER___245 = 520,
    IPPORT_BIFFUDP___245 = 512,
    IPPORT_WHOSERVER___245 = 513,
    IPPORT_ROUTESERVER___245 = 520,
    IPPORT_RESERVED___245 = 1024,
    IPPORT_USERRESERVED___245 = 5000
} ;
enum __anonenum_788308992___245 {
    TCP_ESTABLISHED___245 = 1,
    TCP_SYN_SENT___245 = 2,
    TCP_SYN_RECV___245 = 3,
    TCP_FIN_WAIT1___245 = 4,
    TCP_FIN_WAIT2___245 = 5,
    TCP_TIME_WAIT___245 = 6,
    TCP_CLOSE___245 = 7,
    TCP_CLOSE_WAIT___245 = 8,
    TCP_LAST_ACK___245 = 9,
    TCP_LISTEN___245 = 10,
    TCP_CLOSING___245 = 11
} ;
enum __anonenum_221125648___245 {
    TCP_NO_QUEUE___245 = 0,
    TCP_RECV_QUEUE___245 = 1,
    TCP_SEND_QUEUE___245 = 2,
    TCP_QUEUES_NR___245 = 3
} ;
enum __anonenum_34415463___245 {
    PTHREAD_CREATE_JOINABLE___245 = 0,
    PTHREAD_CREATE_DETACHED___245 = 1
} ;
enum __anonenum_303612439___245 {
    PTHREAD_MUTEX_TIMED_NP___245 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___245 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___245 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___245 = 3,
    PTHREAD_MUTEX_NORMAL___245 = 0,
    PTHREAD_MUTEX_RECURSIVE___245 = 1,
    PTHREAD_MUTEX_ERRORCHECK___245 = 2,
    PTHREAD_MUTEX_DEFAULT___245 = 0,
    PTHREAD_MUTEX_FAST_NP___245 = 0
} ;
enum __anonenum_931900394___245 {
    PTHREAD_MUTEX_STALLED___245 = 0,
    PTHREAD_MUTEX_STALLED_NP___245 = 0,
    PTHREAD_MUTEX_ROBUST___245 = 1,
    PTHREAD_MUTEX_ROBUST_NP___245 = 1
} ;
enum __anonenum_205214487___245 {
    PTHREAD_PRIO_NONE___245 = 0,
    PTHREAD_PRIO_INHERIT___245 = 1,
    PTHREAD_PRIO_PROTECT___245 = 2
} ;
enum __anonenum_25043950___245 {
    PTHREAD_RWLOCK_PREFER_READER_NP___245 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___245 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___245 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___245 = 0
} ;
enum __anonenum_436439511___245 {
    PTHREAD_INHERIT_SCHED___245 = 0,
    PTHREAD_EXPLICIT_SCHED___245 = 1
} ;
enum __anonenum_998661166___245 {
    PTHREAD_SCOPE_SYSTEM___245 = 0,
    PTHREAD_SCOPE_PROCESS___245 = 1
} ;
enum __anonenum_146137331___245 {
    PTHREAD_PROCESS_PRIVATE___245 = 0,
    PTHREAD_PROCESS_SHARED___245 = 1
} ;
enum __anonenum_53396917___245 {
    PTHREAD_CANCEL_ENABLE___245 = 0,
    PTHREAD_CANCEL_DISABLE___245 = 1
} ;
enum __anonenum_904563783___245 {
    PTHREAD_CANCEL_DEFERRED___245 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___245 = 1
} ;
enum __anonenum_672052974___245 {
    SSL_CT_VALIDATION_PERMISSIVE___245 = 0,
    SSL_CT_VALIDATION_STRICT___245 = 1
} ;
struct func_line {
   long len ;
   char buf[80] ;
};
enum __anonenum_437032235___246 {
    _PC_LINK_MAX___246 = 0,
    _PC_MAX_CANON___246 = 1,
    _PC_MAX_INPUT___246 = 2,
    _PC_NAME_MAX___246 = 3,
    _PC_PATH_MAX___246 = 4,
    _PC_PIPE_BUF___246 = 5,
    _PC_CHOWN_RESTRICTED___246 = 6,
    _PC_NO_TRUNC___246 = 7,
    _PC_VDISABLE___246 = 8,
    _PC_SYNC_IO___246 = 9,
    _PC_ASYNC_IO___246 = 10,
    _PC_PRIO_IO___246 = 11,
    _PC_SOCK_MAXBUF___246 = 12,
    _PC_FILESIZEBITS___246 = 13,
    _PC_REC_INCR_XFER_SIZE___246 = 14,
    _PC_REC_MAX_XFER_SIZE___246 = 15,
    _PC_REC_MIN_XFER_SIZE___246 = 16,
    _PC_REC_XFER_ALIGN___246 = 17,
    _PC_ALLOC_SIZE_MIN___246 = 18,
    _PC_SYMLINK_MAX___246 = 19,
    _PC_2_SYMLINKS___246 = 20
} ;
enum __anonenum_315186338___246 {
    _SC_ARG_MAX___246 = 0,
    _SC_CHILD_MAX___246 = 1,
    _SC_CLK_TCK___246 = 2,
    _SC_NGROUPS_MAX___246 = 3,
    _SC_OPEN_MAX___246 = 4,
    _SC_STREAM_MAX___246 = 5,
    _SC_TZNAME_MAX___246 = 6,
    _SC_JOB_CONTROL___246 = 7,
    _SC_SAVED_IDS___246 = 8,
    _SC_REALTIME_SIGNALS___246 = 9,
    _SC_PRIORITY_SCHEDULING___246 = 10,
    _SC_TIMERS___246 = 11,
    _SC_ASYNCHRONOUS_IO___246 = 12,
    _SC_PRIORITIZED_IO___246 = 13,
    _SC_SYNCHRONIZED_IO___246 = 14,
    _SC_FSYNC___246 = 15,
    _SC_MAPPED_FILES___246 = 16,
    _SC_MEMLOCK___246 = 17,
    _SC_MEMLOCK_RANGE___246 = 18,
    _SC_MEMORY_PROTECTION___246 = 19,
    _SC_MESSAGE_PASSING___246 = 20,
    _SC_SEMAPHORES___246 = 21,
    _SC_SHARED_MEMORY_OBJECTS___246 = 22,
    _SC_AIO_LISTIO_MAX___246 = 23,
    _SC_AIO_MAX___246 = 24,
    _SC_AIO_PRIO_DELTA_MAX___246 = 25,
    _SC_DELAYTIMER_MAX___246 = 26,
    _SC_MQ_OPEN_MAX___246 = 27,
    _SC_MQ_PRIO_MAX___246 = 28,
    _SC_VERSION___246 = 29,
    _SC_PAGESIZE___246 = 30,
    _SC_RTSIG_MAX___246 = 31,
    _SC_SEM_NSEMS_MAX___246 = 32,
    _SC_SEM_VALUE_MAX___246 = 33,
    _SC_SIGQUEUE_MAX___246 = 34,
    _SC_TIMER_MAX___246 = 35,
    _SC_BC_BASE_MAX___246 = 36,
    _SC_BC_DIM_MAX___246 = 37,
    _SC_BC_SCALE_MAX___246 = 38,
    _SC_BC_STRING_MAX___246 = 39,
    _SC_COLL_WEIGHTS_MAX___246 = 40,
    _SC_EQUIV_CLASS_MAX___246 = 41,
    _SC_EXPR_NEST_MAX___246 = 42,
    _SC_LINE_MAX___246 = 43,
    _SC_RE_DUP_MAX___246 = 44,
    _SC_CHARCLASS_NAME_MAX___246 = 45,
    _SC_2_VERSION___246 = 46,
    _SC_2_C_BIND___246 = 47,
    _SC_2_C_DEV___246 = 48,
    _SC_2_FORT_DEV___246 = 49,
    _SC_2_FORT_RUN___246 = 50,
    _SC_2_SW_DEV___246 = 51,
    _SC_2_LOCALEDEF___246 = 52,
    _SC_PII___246 = 53,
    _SC_PII_XTI___246 = 54,
    _SC_PII_SOCKET___246 = 55,
    _SC_PII_INTERNET___246 = 56,
    _SC_PII_OSI___246 = 57,
    _SC_POLL___246 = 58,
    _SC_SELECT___246 = 59,
    _SC_UIO_MAXIOV___246 = 60,
    _SC_IOV_MAX___246 = 60,
    _SC_PII_INTERNET_STREAM___246 = 61,
    _SC_PII_INTERNET_DGRAM___246 = 62,
    _SC_PII_OSI_COTS___246 = 63,
    _SC_PII_OSI_CLTS___246 = 64,
    _SC_PII_OSI_M___246 = 65,
    _SC_T_IOV_MAX___246 = 66,
    _SC_THREADS___246 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___246 = 68,
    _SC_GETGR_R_SIZE_MAX___246 = 69,
    _SC_GETPW_R_SIZE_MAX___246 = 70,
    _SC_LOGIN_NAME_MAX___246 = 71,
    _SC_TTY_NAME_MAX___246 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___246 = 73,
    _SC_THREAD_KEYS_MAX___246 = 74,
    _SC_THREAD_STACK_MIN___246 = 75,
    _SC_THREAD_THREADS_MAX___246 = 76,
    _SC_THREAD_ATTR_STACKADDR___246 = 77,
    _SC_THREAD_ATTR_STACKSIZE___246 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___246 = 79,
    _SC_THREAD_PRIO_INHERIT___246 = 80,
    _SC_THREAD_PRIO_PROTECT___246 = 81,
    _SC_THREAD_PROCESS_SHARED___246 = 82,
    _SC_NPROCESSORS_CONF___246 = 83,
    _SC_NPROCESSORS_ONLN___246 = 84,
    _SC_PHYS_PAGES___246 = 85,
    _SC_AVPHYS_PAGES___246 = 86,
    _SC_ATEXIT_MAX___246 = 87,
    _SC_PASS_MAX___246 = 88,
    _SC_XOPEN_VERSION___246 = 89,
    _SC_XOPEN_XCU_VERSION___246 = 90,
    _SC_XOPEN_UNIX___246 = 91,
    _SC_XOPEN_CRYPT___246 = 92,
    _SC_XOPEN_ENH_I18N___246 = 93,
    _SC_XOPEN_SHM___246 = 94,
    _SC_2_CHAR_TERM___246 = 95,
    _SC_2_C_VERSION___246 = 96,
    _SC_2_UPE___246 = 97,
    _SC_XOPEN_XPG2___246 = 98,
    _SC_XOPEN_XPG3___246 = 99,
    _SC_XOPEN_XPG4___246 = 100,
    _SC_CHAR_BIT___246 = 101,
    _SC_CHAR_MAX___246 = 102,
    _SC_CHAR_MIN___246 = 103,
    _SC_INT_MAX___246 = 104,
    _SC_INT_MIN___246 = 105,
    _SC_LONG_BIT___246 = 106,
    _SC_WORD_BIT___246 = 107,
    _SC_MB_LEN_MAX___246 = 108,
    _SC_NZERO___246 = 109,
    _SC_SSIZE_MAX___246 = 110,
    _SC_SCHAR_MAX___246 = 111,
    _SC_SCHAR_MIN___246 = 112,
    _SC_SHRT_MAX___246 = 113,
    _SC_SHRT_MIN___246 = 114,
    _SC_UCHAR_MAX___246 = 115,
    _SC_UINT_MAX___246 = 116,
    _SC_ULONG_MAX___246 = 117,
    _SC_USHRT_MAX___246 = 118,
    _SC_NL_ARGMAX___246 = 119,
    _SC_NL_LANGMAX___246 = 120,
    _SC_NL_MSGMAX___246 = 121,
    _SC_NL_NMAX___246 = 122,
    _SC_NL_SETMAX___246 = 123,
    _SC_NL_TEXTMAX___246 = 124,
    _SC_XBS5_ILP32_OFF32___246 = 125,
    _SC_XBS5_ILP32_OFFBIG___246 = 126,
    _SC_XBS5_LP64_OFF64___246 = 127,
    _SC_XBS5_LPBIG_OFFBIG___246 = 128,
    _SC_XOPEN_LEGACY___246 = 129,
    _SC_XOPEN_REALTIME___246 = 130,
    _SC_XOPEN_REALTIME_THREADS___246 = 131,
    _SC_ADVISORY_INFO___246 = 132,
    _SC_BARRIERS___246 = 133,
    _SC_BASE___246 = 134,
    _SC_C_LANG_SUPPORT___246 = 135,
    _SC_C_LANG_SUPPORT_R___246 = 136,
    _SC_CLOCK_SELECTION___246 = 137,
    _SC_CPUTIME___246 = 138,
    _SC_THREAD_CPUTIME___246 = 139,
    _SC_DEVICE_IO___246 = 140,
    _SC_DEVICE_SPECIFIC___246 = 141,
    _SC_DEVICE_SPECIFIC_R___246 = 142,
    _SC_FD_MGMT___246 = 143,
    _SC_FIFO___246 = 144,
    _SC_PIPE___246 = 145,
    _SC_FILE_ATTRIBUTES___246 = 146,
    _SC_FILE_LOCKING___246 = 147,
    _SC_FILE_SYSTEM___246 = 148,
    _SC_MONOTONIC_CLOCK___246 = 149,
    _SC_MULTI_PROCESS___246 = 150,
    _SC_SINGLE_PROCESS___246 = 151,
    _SC_NETWORKING___246 = 152,
    _SC_READER_WRITER_LOCKS___246 = 153,
    _SC_SPIN_LOCKS___246 = 154,
    _SC_REGEXP___246 = 155,
    _SC_REGEX_VERSION___246 = 156,
    _SC_SHELL___246 = 157,
    _SC_SIGNALS___246 = 158,
    _SC_SPAWN___246 = 159,
    _SC_SPORADIC_SERVER___246 = 160,
    _SC_THREAD_SPORADIC_SERVER___246 = 161,
    _SC_SYSTEM_DATABASE___246 = 162,
    _SC_SYSTEM_DATABASE_R___246 = 163,
    _SC_TIMEOUTS___246 = 164,
    _SC_TYPED_MEMORY_OBJECTS___246 = 165,
    _SC_USER_GROUPS___246 = 166,
    _SC_USER_GROUPS_R___246 = 167,
    _SC_2_PBS___246 = 168,
    _SC_2_PBS_ACCOUNTING___246 = 169,
    _SC_2_PBS_LOCATE___246 = 170,
    _SC_2_PBS_MESSAGE___246 = 171,
    _SC_2_PBS_TRACK___246 = 172,
    _SC_SYMLOOP_MAX___246 = 173,
    _SC_STREAMS___246 = 174,
    _SC_2_PBS_CHECKPOINT___246 = 175,
    _SC_V6_ILP32_OFF32___246 = 176,
    _SC_V6_ILP32_OFFBIG___246 = 177,
    _SC_V6_LP64_OFF64___246 = 178,
    _SC_V6_LPBIG_OFFBIG___246 = 179,
    _SC_HOST_NAME_MAX___246 = 180,
    _SC_TRACE___246 = 181,
    _SC_TRACE_EVENT_FILTER___246 = 182,
    _SC_TRACE_INHERIT___246 = 183,
    _SC_TRACE_LOG___246 = 184,
    _SC_LEVEL1_ICACHE_SIZE___246 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___246 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___246 = 187,
    _SC_LEVEL1_DCACHE_SIZE___246 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___246 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___246 = 190,
    _SC_LEVEL2_CACHE_SIZE___246 = 191,
    _SC_LEVEL2_CACHE_ASSOC___246 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___246 = 193,
    _SC_LEVEL3_CACHE_SIZE___246 = 194,
    _SC_LEVEL3_CACHE_ASSOC___246 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___246 = 196,
    _SC_LEVEL4_CACHE_SIZE___246 = 197,
    _SC_LEVEL4_CACHE_ASSOC___246 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___246 = 199,
    _SC_IPV6___246 = 235,
    _SC_RAW_SOCKETS___246 = 236,
    _SC_V7_ILP32_OFF32___246 = 237,
    _SC_V7_ILP32_OFFBIG___246 = 238,
    _SC_V7_LP64_OFF64___246 = 239,
    _SC_V7_LPBIG_OFFBIG___246 = 240,
    _SC_SS_REPL_MAX___246 = 241,
    _SC_TRACE_EVENT_NAME_MAX___246 = 242,
    _SC_TRACE_NAME_MAX___246 = 243,
    _SC_TRACE_SYS_MAX___246 = 244,
    _SC_TRACE_USER_EVENT_MAX___246 = 245,
    _SC_XOPEN_STREAMS___246 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___246 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___246 = 248
} ;
enum __anonenum_875524036___246 {
    _CS_PATH___246 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___246 = 1,
    _CS_GNU_LIBC_VERSION___246 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___246 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___246 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___246 = 5,
    _CS_LFS_CFLAGS___246 = 1000,
    _CS_LFS_LDFLAGS___246 = 1001,
    _CS_LFS_LIBS___246 = 1002,
    _CS_LFS_LINTFLAGS___246 = 1003,
    _CS_LFS64_CFLAGS___246 = 1004,
    _CS_LFS64_LDFLAGS___246 = 1005,
    _CS_LFS64_LIBS___246 = 1006,
    _CS_LFS64_LINTFLAGS___246 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___246 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___246 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___246 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___246 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___246 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___246 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___246 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___246 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___246 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___246 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___246 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___246 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___246 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___246 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___246 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___246 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___246 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___246 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___246 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___246 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___246 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___246 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___246 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___246 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___246 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___246 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___246 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___246 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___246 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___246 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___246 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___246 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___246 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___246 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___246 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___246 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___246 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___246 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___246 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___246 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___246 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___246 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___246 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___246 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___246 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___246 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___246 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___246 = 1147,
    _CS_V6_ENV___246 = 1148,
    _CS_V7_ENV___246 = 1149
} ;
enum __anonenum_513775621___246 {
    DT_UNKNOWN___246 = 0,
    DT_FIFO___246 = 1,
    DT_CHR___246 = 2,
    DT_DIR___246 = 4,
    DT_BLK___246 = 6,
    DT_REG___246 = 8,
    DT_LNK___246 = 10,
    DT_SOCK___246 = 12,
    DT_WHT___246 = 14
} ;
enum __anonenum_77002343___246 {
    SI_ASYNCNL___246 = -60,
    SI_TKILL___246 = -6,
    SI_SIGIO___246 = -5,
    SI_ASYNCIO___246 = -4,
    SI_MESGQ___246 = -3,
    SI_TIMER___246 = -2,
    SI_QUEUE___246 = -1,
    SI_USER___246 = 0,
    SI_KERNEL___246 = 128
} ;
enum __anonenum_131038172___246 {
    ILL_ILLOPC___246 = 1,
    ILL_ILLOPN___246 = 2,
    ILL_ILLADR___246 = 3,
    ILL_ILLTRP___246 = 4,
    ILL_PRVOPC___246 = 5,
    ILL_PRVREG___246 = 6,
    ILL_COPROC___246 = 7,
    ILL_BADSTK___246 = 8
} ;
enum __anonenum_452038093___246 {
    FPE_INTDIV___246 = 1,
    FPE_INTOVF___246 = 2,
    FPE_FLTDIV___246 = 3,
    FPE_FLTOVF___246 = 4,
    FPE_FLTUND___246 = 5,
    FPE_FLTRES___246 = 6,
    FPE_FLTINV___246 = 7,
    FPE_FLTSUB___246 = 8
} ;
enum __anonenum_30976155___246 {
    SEGV_MAPERR___246 = 1,
    SEGV_ACCERR___246 = 2,
    SEGV_BNDERR___246 = 3,
    SEGV_PKUERR___246 = 4
} ;
enum __anonenum_1036286214___246 {
    BUS_ADRALN___246 = 1,
    BUS_ADRERR___246 = 2,
    BUS_OBJERR___246 = 3,
    BUS_MCEERR_AR___246 = 4,
    BUS_MCEERR_AO___246 = 5
} ;
enum __anonenum_493465559___246 {
    TRAP_BRKPT___246 = 1,
    TRAP_TRACE___246 = 2
} ;
enum __anonenum_23175539___246 {
    CLD_EXITED___246 = 1,
    CLD_KILLED___246 = 2,
    CLD_DUMPED___246 = 3,
    CLD_TRAPPED___246 = 4,
    CLD_STOPPED___246 = 5,
    CLD_CONTINUED___246 = 6
} ;
enum __anonenum_111643124___246 {
    POLL_IN___246 = 1,
    POLL_OUT___246 = 2,
    POLL_MSG___246 = 3,
    POLL_ERR___246 = 4,
    POLL_PRI___246 = 5,
    POLL_HUP___246 = 6
} ;
enum __anonenum_852341087___246 {
    SIGEV_SIGNAL___246 = 0,
    SIGEV_NONE___246 = 1,
    SIGEV_THREAD___246 = 2,
    SIGEV_THREAD_ID___246 = 4
} ;
enum __anonenum_451154152___246 {
    REG_R8___246 = 0,
    REG_R9___246 = 1,
    REG_R10___246 = 2,
    REG_R11___246 = 3,
    REG_R12___246 = 4,
    REG_R13___246 = 5,
    REG_R14___246 = 6,
    REG_R15___246 = 7,
    REG_RDI___246 = 8,
    REG_RSI___246 = 9,
    REG_RBP___246 = 10,
    REG_RBX___246 = 11,
    REG_RDX___246 = 12,
    REG_RAX___246 = 13,
    REG_RCX___246 = 14,
    REG_RSP___246 = 15,
    REG_RIP___246 = 16,
    REG_EFL___246 = 17,
    REG_CSGSFS___246 = 18,
    REG_ERR___246 = 19,
    REG_TRAPNO___246 = 20,
    REG_OLDMASK___246 = 21,
    REG_CR2___246 = 22
} ;
enum __anonenum_57186863___246 {
    SS_ONSTACK___246 = 1,
    SS_DISABLE___246 = 2
} ;
enum __anonenum_83571709___246 {
    MSG_OOB___246 = 1,
    MSG_PEEK___246 = 2,
    MSG_DONTROUTE___246 = 4,
    MSG_TRYHARD___246 = 4,
    MSG_CTRUNC___246 = 8,
    MSG_PROXY___246 = 16,
    MSG_TRUNC___246 = 32,
    MSG_DONTWAIT___246 = 64,
    MSG_EOR___246 = 128,
    MSG_WAITALL___246 = 256,
    MSG_FIN___246 = 512,
    MSG_SYN___246 = 1024,
    MSG_CONFIRM___246 = 2048,
    MSG_RST___246 = 4096,
    MSG_ERRQUEUE___246 = 8192,
    MSG_NOSIGNAL___246 = 16384,
    MSG_MORE___246 = 32768,
    MSG_WAITFORONE___246 = 65536,
    MSG_BATCH___246 = 262144,
    MSG_ZEROCOPY___246 = 67108864,
    MSG_FASTOPEN___246 = 536870912,
    MSG_CMSG_CLOEXEC___246 = 1073741824
} ;
enum __anonenum_617082774___246 {
    SCM_RIGHTS___246 = 1,
    SCM_CREDENTIALS___246 = 2
} ;
enum __anonenum_606441560___246 {
    SHUT_RD___246 = 0,
    SHUT_WR___246 = 1,
    SHUT_RDWR___246 = 2
} ;
enum __anonenum_681669233___246 {
    IPPROTO_IP___246 = 0,
    IPPROTO_ICMP___246 = 1,
    IPPROTO_IGMP___246 = 2,
    IPPROTO_IPIP___246 = 4,
    IPPROTO_TCP___246 = 6,
    IPPROTO_EGP___246 = 8,
    IPPROTO_PUP___246 = 12,
    IPPROTO_UDP___246 = 17,
    IPPROTO_IDP___246 = 22,
    IPPROTO_TP___246 = 29,
    IPPROTO_DCCP___246 = 33,
    IPPROTO_IPV6___246 = 41,
    IPPROTO_RSVP___246 = 46,
    IPPROTO_GRE___246 = 47,
    IPPROTO_ESP___246 = 50,
    IPPROTO_AH___246 = 51,
    IPPROTO_MTP___246 = 92,
    IPPROTO_BEETPH___246 = 94,
    IPPROTO_ENCAP___246 = 98,
    IPPROTO_PIM___246 = 103,
    IPPROTO_COMP___246 = 108,
    IPPROTO_SCTP___246 = 132,
    IPPROTO_UDPLITE___246 = 136,
    IPPROTO_MPLS___246 = 137,
    IPPROTO_RAW___246 = 255,
    IPPROTO_MAX___246 = 256
} ;
enum __anonenum_218739988___246 {
    IPPROTO_HOPOPTS___246 = 0,
    IPPROTO_ROUTING___246 = 43,
    IPPROTO_FRAGMENT___246 = 44,
    IPPROTO_ICMPV6___246 = 58,
    IPPROTO_NONE___246 = 59,
    IPPROTO_DSTOPTS___246 = 60,
    IPPROTO_MH___246 = 135
} ;
enum __anonenum_662268580___246 {
    IPPORT_ECHO___246 = 7,
    IPPORT_DISCARD___246 = 9,
    IPPORT_SYSTAT___246 = 11,
    IPPORT_DAYTIME___246 = 13,
    IPPORT_NETSTAT___246 = 15,
    IPPORT_FTP___246 = 21,
    IPPORT_TELNET___246 = 23,
    IPPORT_SMTP___246 = 25,
    IPPORT_TIMESERVER___246 = 37,
    IPPORT_NAMESERVER___246 = 42,
    IPPORT_WHOIS___246 = 43,
    IPPORT_MTP___246 = 57,
    IPPORT_TFTP___246 = 69,
    IPPORT_RJE___246 = 77,
    IPPORT_FINGER___246 = 79,
    IPPORT_TTYLINK___246 = 87,
    IPPORT_SUPDUP___246 = 95,
    IPPORT_EXECSERVER___246 = 512,
    IPPORT_LOGINSERVER___246 = 513,
    IPPORT_CMDSERVER___246 = 514,
    IPPORT_EFSSERVER___246 = 520,
    IPPORT_BIFFUDP___246 = 512,
    IPPORT_WHOSERVER___246 = 513,
    IPPORT_ROUTESERVER___246 = 520,
    IPPORT_RESERVED___246 = 1024,
    IPPORT_USERRESERVED___246 = 5000
} ;
enum __anonenum_788308992___246 {
    TCP_ESTABLISHED___246 = 1,
    TCP_SYN_SENT___246 = 2,
    TCP_SYN_RECV___246 = 3,
    TCP_FIN_WAIT1___246 = 4,
    TCP_FIN_WAIT2___246 = 5,
    TCP_TIME_WAIT___246 = 6,
    TCP_CLOSE___246 = 7,
    TCP_CLOSE_WAIT___246 = 8,
    TCP_LAST_ACK___246 = 9,
    TCP_LISTEN___246 = 10,
    TCP_CLOSING___246 = 11
} ;
enum __anonenum_221125648___246 {
    TCP_NO_QUEUE___246 = 0,
    TCP_RECV_QUEUE___246 = 1,
    TCP_SEND_QUEUE___246 = 2,
    TCP_QUEUES_NR___246 = 3
} ;
enum __anonenum_34415463___246 {
    PTHREAD_CREATE_JOINABLE___246 = 0,
    PTHREAD_CREATE_DETACHED___246 = 1
} ;
enum __anonenum_303612439___246 {
    PTHREAD_MUTEX_TIMED_NP___246 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___246 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___246 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___246 = 3,
    PTHREAD_MUTEX_NORMAL___246 = 0,
    PTHREAD_MUTEX_RECURSIVE___246 = 1,
    PTHREAD_MUTEX_ERRORCHECK___246 = 2,
    PTHREAD_MUTEX_DEFAULT___246 = 0,
    PTHREAD_MUTEX_FAST_NP___246 = 0
} ;
enum __anonenum_931900394___246 {
    PTHREAD_MUTEX_STALLED___246 = 0,
    PTHREAD_MUTEX_STALLED_NP___246 = 0,
    PTHREAD_MUTEX_ROBUST___246 = 1,
    PTHREAD_MUTEX_ROBUST_NP___246 = 1
} ;
enum __anonenum_205214487___246 {
    PTHREAD_PRIO_NONE___246 = 0,
    PTHREAD_PRIO_INHERIT___246 = 1,
    PTHREAD_PRIO_PROTECT___246 = 2
} ;
enum __anonenum_25043950___246 {
    PTHREAD_RWLOCK_PREFER_READER_NP___246 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___246 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___246 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___246 = 0
} ;
enum __anonenum_436439511___246 {
    PTHREAD_INHERIT_SCHED___246 = 0,
    PTHREAD_EXPLICIT_SCHED___246 = 1
} ;
enum __anonenum_998661166___246 {
    PTHREAD_SCOPE_SYSTEM___246 = 0,
    PTHREAD_SCOPE_PROCESS___246 = 1
} ;
enum __anonenum_146137331___246 {
    PTHREAD_PROCESS_PRIVATE___246 = 0,
    PTHREAD_PROCESS_SHARED___246 = 1
} ;
enum __anonenum_53396917___246 {
    PTHREAD_CANCEL_ENABLE___246 = 0,
    PTHREAD_CANCEL_DISABLE___246 = 1
} ;
enum __anonenum_904563783___246 {
    PTHREAD_CANCEL_DEFERRED___246 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___246 = 1
} ;
enum __anonenum_672052974___246 {
    SSL_CT_VALIDATION_PERMISSIVE___246 = 0,
    SSL_CT_VALIDATION_STRICT___246 = 1
} ;
struct record {
   unsigned int ptr ;
   unsigned int cnt ;
   struct record *next ;
};
struct histindex {
   struct record **records ;
   struct record **line_map ;
   chastore_t rcha ;
   unsigned int *next_ptrs ;
   unsigned int table_bits ;
   unsigned int records_size ;
   unsigned int line_map_size ;
   unsigned int max_chain_length ;
   unsigned int key_shift ;
   unsigned int ptr_shift ;
   unsigned int cnt ;
   unsigned int has_common ;
   xdfenv_t *env ;
   xpparam_t const   *xpp ;
};
struct region {
   unsigned int begin1 ;
   unsigned int end1 ;
   unsigned int begin2 ;
   unsigned int end2 ;
};
enum __anonenum_437032235___247 {
    _PC_LINK_MAX___247 = 0,
    _PC_MAX_CANON___247 = 1,
    _PC_MAX_INPUT___247 = 2,
    _PC_NAME_MAX___247 = 3,
    _PC_PATH_MAX___247 = 4,
    _PC_PIPE_BUF___247 = 5,
    _PC_CHOWN_RESTRICTED___247 = 6,
    _PC_NO_TRUNC___247 = 7,
    _PC_VDISABLE___247 = 8,
    _PC_SYNC_IO___247 = 9,
    _PC_ASYNC_IO___247 = 10,
    _PC_PRIO_IO___247 = 11,
    _PC_SOCK_MAXBUF___247 = 12,
    _PC_FILESIZEBITS___247 = 13,
    _PC_REC_INCR_XFER_SIZE___247 = 14,
    _PC_REC_MAX_XFER_SIZE___247 = 15,
    _PC_REC_MIN_XFER_SIZE___247 = 16,
    _PC_REC_XFER_ALIGN___247 = 17,
    _PC_ALLOC_SIZE_MIN___247 = 18,
    _PC_SYMLINK_MAX___247 = 19,
    _PC_2_SYMLINKS___247 = 20
} ;
enum __anonenum_315186338___247 {
    _SC_ARG_MAX___247 = 0,
    _SC_CHILD_MAX___247 = 1,
    _SC_CLK_TCK___247 = 2,
    _SC_NGROUPS_MAX___247 = 3,
    _SC_OPEN_MAX___247 = 4,
    _SC_STREAM_MAX___247 = 5,
    _SC_TZNAME_MAX___247 = 6,
    _SC_JOB_CONTROL___247 = 7,
    _SC_SAVED_IDS___247 = 8,
    _SC_REALTIME_SIGNALS___247 = 9,
    _SC_PRIORITY_SCHEDULING___247 = 10,
    _SC_TIMERS___247 = 11,
    _SC_ASYNCHRONOUS_IO___247 = 12,
    _SC_PRIORITIZED_IO___247 = 13,
    _SC_SYNCHRONIZED_IO___247 = 14,
    _SC_FSYNC___247 = 15,
    _SC_MAPPED_FILES___247 = 16,
    _SC_MEMLOCK___247 = 17,
    _SC_MEMLOCK_RANGE___247 = 18,
    _SC_MEMORY_PROTECTION___247 = 19,
    _SC_MESSAGE_PASSING___247 = 20,
    _SC_SEMAPHORES___247 = 21,
    _SC_SHARED_MEMORY_OBJECTS___247 = 22,
    _SC_AIO_LISTIO_MAX___247 = 23,
    _SC_AIO_MAX___247 = 24,
    _SC_AIO_PRIO_DELTA_MAX___247 = 25,
    _SC_DELAYTIMER_MAX___247 = 26,
    _SC_MQ_OPEN_MAX___247 = 27,
    _SC_MQ_PRIO_MAX___247 = 28,
    _SC_VERSION___247 = 29,
    _SC_PAGESIZE___247 = 30,
    _SC_RTSIG_MAX___247 = 31,
    _SC_SEM_NSEMS_MAX___247 = 32,
    _SC_SEM_VALUE_MAX___247 = 33,
    _SC_SIGQUEUE_MAX___247 = 34,
    _SC_TIMER_MAX___247 = 35,
    _SC_BC_BASE_MAX___247 = 36,
    _SC_BC_DIM_MAX___247 = 37,
    _SC_BC_SCALE_MAX___247 = 38,
    _SC_BC_STRING_MAX___247 = 39,
    _SC_COLL_WEIGHTS_MAX___247 = 40,
    _SC_EQUIV_CLASS_MAX___247 = 41,
    _SC_EXPR_NEST_MAX___247 = 42,
    _SC_LINE_MAX___247 = 43,
    _SC_RE_DUP_MAX___247 = 44,
    _SC_CHARCLASS_NAME_MAX___247 = 45,
    _SC_2_VERSION___247 = 46,
    _SC_2_C_BIND___247 = 47,
    _SC_2_C_DEV___247 = 48,
    _SC_2_FORT_DEV___247 = 49,
    _SC_2_FORT_RUN___247 = 50,
    _SC_2_SW_DEV___247 = 51,
    _SC_2_LOCALEDEF___247 = 52,
    _SC_PII___247 = 53,
    _SC_PII_XTI___247 = 54,
    _SC_PII_SOCKET___247 = 55,
    _SC_PII_INTERNET___247 = 56,
    _SC_PII_OSI___247 = 57,
    _SC_POLL___247 = 58,
    _SC_SELECT___247 = 59,
    _SC_UIO_MAXIOV___247 = 60,
    _SC_IOV_MAX___247 = 60,
    _SC_PII_INTERNET_STREAM___247 = 61,
    _SC_PII_INTERNET_DGRAM___247 = 62,
    _SC_PII_OSI_COTS___247 = 63,
    _SC_PII_OSI_CLTS___247 = 64,
    _SC_PII_OSI_M___247 = 65,
    _SC_T_IOV_MAX___247 = 66,
    _SC_THREADS___247 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___247 = 68,
    _SC_GETGR_R_SIZE_MAX___247 = 69,
    _SC_GETPW_R_SIZE_MAX___247 = 70,
    _SC_LOGIN_NAME_MAX___247 = 71,
    _SC_TTY_NAME_MAX___247 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___247 = 73,
    _SC_THREAD_KEYS_MAX___247 = 74,
    _SC_THREAD_STACK_MIN___247 = 75,
    _SC_THREAD_THREADS_MAX___247 = 76,
    _SC_THREAD_ATTR_STACKADDR___247 = 77,
    _SC_THREAD_ATTR_STACKSIZE___247 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___247 = 79,
    _SC_THREAD_PRIO_INHERIT___247 = 80,
    _SC_THREAD_PRIO_PROTECT___247 = 81,
    _SC_THREAD_PROCESS_SHARED___247 = 82,
    _SC_NPROCESSORS_CONF___247 = 83,
    _SC_NPROCESSORS_ONLN___247 = 84,
    _SC_PHYS_PAGES___247 = 85,
    _SC_AVPHYS_PAGES___247 = 86,
    _SC_ATEXIT_MAX___247 = 87,
    _SC_PASS_MAX___247 = 88,
    _SC_XOPEN_VERSION___247 = 89,
    _SC_XOPEN_XCU_VERSION___247 = 90,
    _SC_XOPEN_UNIX___247 = 91,
    _SC_XOPEN_CRYPT___247 = 92,
    _SC_XOPEN_ENH_I18N___247 = 93,
    _SC_XOPEN_SHM___247 = 94,
    _SC_2_CHAR_TERM___247 = 95,
    _SC_2_C_VERSION___247 = 96,
    _SC_2_UPE___247 = 97,
    _SC_XOPEN_XPG2___247 = 98,
    _SC_XOPEN_XPG3___247 = 99,
    _SC_XOPEN_XPG4___247 = 100,
    _SC_CHAR_BIT___247 = 101,
    _SC_CHAR_MAX___247 = 102,
    _SC_CHAR_MIN___247 = 103,
    _SC_INT_MAX___247 = 104,
    _SC_INT_MIN___247 = 105,
    _SC_LONG_BIT___247 = 106,
    _SC_WORD_BIT___247 = 107,
    _SC_MB_LEN_MAX___247 = 108,
    _SC_NZERO___247 = 109,
    _SC_SSIZE_MAX___247 = 110,
    _SC_SCHAR_MAX___247 = 111,
    _SC_SCHAR_MIN___247 = 112,
    _SC_SHRT_MAX___247 = 113,
    _SC_SHRT_MIN___247 = 114,
    _SC_UCHAR_MAX___247 = 115,
    _SC_UINT_MAX___247 = 116,
    _SC_ULONG_MAX___247 = 117,
    _SC_USHRT_MAX___247 = 118,
    _SC_NL_ARGMAX___247 = 119,
    _SC_NL_LANGMAX___247 = 120,
    _SC_NL_MSGMAX___247 = 121,
    _SC_NL_NMAX___247 = 122,
    _SC_NL_SETMAX___247 = 123,
    _SC_NL_TEXTMAX___247 = 124,
    _SC_XBS5_ILP32_OFF32___247 = 125,
    _SC_XBS5_ILP32_OFFBIG___247 = 126,
    _SC_XBS5_LP64_OFF64___247 = 127,
    _SC_XBS5_LPBIG_OFFBIG___247 = 128,
    _SC_XOPEN_LEGACY___247 = 129,
    _SC_XOPEN_REALTIME___247 = 130,
    _SC_XOPEN_REALTIME_THREADS___247 = 131,
    _SC_ADVISORY_INFO___247 = 132,
    _SC_BARRIERS___247 = 133,
    _SC_BASE___247 = 134,
    _SC_C_LANG_SUPPORT___247 = 135,
    _SC_C_LANG_SUPPORT_R___247 = 136,
    _SC_CLOCK_SELECTION___247 = 137,
    _SC_CPUTIME___247 = 138,
    _SC_THREAD_CPUTIME___247 = 139,
    _SC_DEVICE_IO___247 = 140,
    _SC_DEVICE_SPECIFIC___247 = 141,
    _SC_DEVICE_SPECIFIC_R___247 = 142,
    _SC_FD_MGMT___247 = 143,
    _SC_FIFO___247 = 144,
    _SC_PIPE___247 = 145,
    _SC_FILE_ATTRIBUTES___247 = 146,
    _SC_FILE_LOCKING___247 = 147,
    _SC_FILE_SYSTEM___247 = 148,
    _SC_MONOTONIC_CLOCK___247 = 149,
    _SC_MULTI_PROCESS___247 = 150,
    _SC_SINGLE_PROCESS___247 = 151,
    _SC_NETWORKING___247 = 152,
    _SC_READER_WRITER_LOCKS___247 = 153,
    _SC_SPIN_LOCKS___247 = 154,
    _SC_REGEXP___247 = 155,
    _SC_REGEX_VERSION___247 = 156,
    _SC_SHELL___247 = 157,
    _SC_SIGNALS___247 = 158,
    _SC_SPAWN___247 = 159,
    _SC_SPORADIC_SERVER___247 = 160,
    _SC_THREAD_SPORADIC_SERVER___247 = 161,
    _SC_SYSTEM_DATABASE___247 = 162,
    _SC_SYSTEM_DATABASE_R___247 = 163,
    _SC_TIMEOUTS___247 = 164,
    _SC_TYPED_MEMORY_OBJECTS___247 = 165,
    _SC_USER_GROUPS___247 = 166,
    _SC_USER_GROUPS_R___247 = 167,
    _SC_2_PBS___247 = 168,
    _SC_2_PBS_ACCOUNTING___247 = 169,
    _SC_2_PBS_LOCATE___247 = 170,
    _SC_2_PBS_MESSAGE___247 = 171,
    _SC_2_PBS_TRACK___247 = 172,
    _SC_SYMLOOP_MAX___247 = 173,
    _SC_STREAMS___247 = 174,
    _SC_2_PBS_CHECKPOINT___247 = 175,
    _SC_V6_ILP32_OFF32___247 = 176,
    _SC_V6_ILP32_OFFBIG___247 = 177,
    _SC_V6_LP64_OFF64___247 = 178,
    _SC_V6_LPBIG_OFFBIG___247 = 179,
    _SC_HOST_NAME_MAX___247 = 180,
    _SC_TRACE___247 = 181,
    _SC_TRACE_EVENT_FILTER___247 = 182,
    _SC_TRACE_INHERIT___247 = 183,
    _SC_TRACE_LOG___247 = 184,
    _SC_LEVEL1_ICACHE_SIZE___247 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___247 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___247 = 187,
    _SC_LEVEL1_DCACHE_SIZE___247 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___247 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___247 = 190,
    _SC_LEVEL2_CACHE_SIZE___247 = 191,
    _SC_LEVEL2_CACHE_ASSOC___247 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___247 = 193,
    _SC_LEVEL3_CACHE_SIZE___247 = 194,
    _SC_LEVEL3_CACHE_ASSOC___247 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___247 = 196,
    _SC_LEVEL4_CACHE_SIZE___247 = 197,
    _SC_LEVEL4_CACHE_ASSOC___247 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___247 = 199,
    _SC_IPV6___247 = 235,
    _SC_RAW_SOCKETS___247 = 236,
    _SC_V7_ILP32_OFF32___247 = 237,
    _SC_V7_ILP32_OFFBIG___247 = 238,
    _SC_V7_LP64_OFF64___247 = 239,
    _SC_V7_LPBIG_OFFBIG___247 = 240,
    _SC_SS_REPL_MAX___247 = 241,
    _SC_TRACE_EVENT_NAME_MAX___247 = 242,
    _SC_TRACE_NAME_MAX___247 = 243,
    _SC_TRACE_SYS_MAX___247 = 244,
    _SC_TRACE_USER_EVENT_MAX___247 = 245,
    _SC_XOPEN_STREAMS___247 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___247 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___247 = 248
} ;
enum __anonenum_875524036___247 {
    _CS_PATH___247 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___247 = 1,
    _CS_GNU_LIBC_VERSION___247 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___247 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___247 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___247 = 5,
    _CS_LFS_CFLAGS___247 = 1000,
    _CS_LFS_LDFLAGS___247 = 1001,
    _CS_LFS_LIBS___247 = 1002,
    _CS_LFS_LINTFLAGS___247 = 1003,
    _CS_LFS64_CFLAGS___247 = 1004,
    _CS_LFS64_LDFLAGS___247 = 1005,
    _CS_LFS64_LIBS___247 = 1006,
    _CS_LFS64_LINTFLAGS___247 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___247 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___247 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___247 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___247 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___247 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___247 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___247 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___247 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___247 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___247 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___247 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___247 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___247 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___247 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___247 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___247 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___247 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___247 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___247 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___247 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___247 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___247 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___247 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___247 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___247 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___247 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___247 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___247 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___247 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___247 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___247 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___247 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___247 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___247 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___247 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___247 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___247 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___247 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___247 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___247 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___247 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___247 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___247 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___247 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___247 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___247 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___247 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___247 = 1147,
    _CS_V6_ENV___247 = 1148,
    _CS_V7_ENV___247 = 1149
} ;
enum __anonenum_513775621___247 {
    DT_UNKNOWN___247 = 0,
    DT_FIFO___247 = 1,
    DT_CHR___247 = 2,
    DT_DIR___247 = 4,
    DT_BLK___247 = 6,
    DT_REG___247 = 8,
    DT_LNK___247 = 10,
    DT_SOCK___247 = 12,
    DT_WHT___247 = 14
} ;
enum __anonenum_77002343___247 {
    SI_ASYNCNL___247 = -60,
    SI_TKILL___247 = -6,
    SI_SIGIO___247 = -5,
    SI_ASYNCIO___247 = -4,
    SI_MESGQ___247 = -3,
    SI_TIMER___247 = -2,
    SI_QUEUE___247 = -1,
    SI_USER___247 = 0,
    SI_KERNEL___247 = 128
} ;
enum __anonenum_131038172___247 {
    ILL_ILLOPC___247 = 1,
    ILL_ILLOPN___247 = 2,
    ILL_ILLADR___247 = 3,
    ILL_ILLTRP___247 = 4,
    ILL_PRVOPC___247 = 5,
    ILL_PRVREG___247 = 6,
    ILL_COPROC___247 = 7,
    ILL_BADSTK___247 = 8
} ;
enum __anonenum_452038093___247 {
    FPE_INTDIV___247 = 1,
    FPE_INTOVF___247 = 2,
    FPE_FLTDIV___247 = 3,
    FPE_FLTOVF___247 = 4,
    FPE_FLTUND___247 = 5,
    FPE_FLTRES___247 = 6,
    FPE_FLTINV___247 = 7,
    FPE_FLTSUB___247 = 8
} ;
enum __anonenum_30976155___247 {
    SEGV_MAPERR___247 = 1,
    SEGV_ACCERR___247 = 2,
    SEGV_BNDERR___247 = 3,
    SEGV_PKUERR___247 = 4
} ;
enum __anonenum_1036286214___247 {
    BUS_ADRALN___247 = 1,
    BUS_ADRERR___247 = 2,
    BUS_OBJERR___247 = 3,
    BUS_MCEERR_AR___247 = 4,
    BUS_MCEERR_AO___247 = 5
} ;
enum __anonenum_493465559___247 {
    TRAP_BRKPT___247 = 1,
    TRAP_TRACE___247 = 2
} ;
enum __anonenum_23175539___247 {
    CLD_EXITED___247 = 1,
    CLD_KILLED___247 = 2,
    CLD_DUMPED___247 = 3,
    CLD_TRAPPED___247 = 4,
    CLD_STOPPED___247 = 5,
    CLD_CONTINUED___247 = 6
} ;
enum __anonenum_111643124___247 {
    POLL_IN___247 = 1,
    POLL_OUT___247 = 2,
    POLL_MSG___247 = 3,
    POLL_ERR___247 = 4,
    POLL_PRI___247 = 5,
    POLL_HUP___247 = 6
} ;
enum __anonenum_852341087___247 {
    SIGEV_SIGNAL___247 = 0,
    SIGEV_NONE___247 = 1,
    SIGEV_THREAD___247 = 2,
    SIGEV_THREAD_ID___247 = 4
} ;
enum __anonenum_451154152___247 {
    REG_R8___247 = 0,
    REG_R9___247 = 1,
    REG_R10___247 = 2,
    REG_R11___247 = 3,
    REG_R12___247 = 4,
    REG_R13___247 = 5,
    REG_R14___247 = 6,
    REG_R15___247 = 7,
    REG_RDI___247 = 8,
    REG_RSI___247 = 9,
    REG_RBP___247 = 10,
    REG_RBX___247 = 11,
    REG_RDX___247 = 12,
    REG_RAX___247 = 13,
    REG_RCX___247 = 14,
    REG_RSP___247 = 15,
    REG_RIP___247 = 16,
    REG_EFL___247 = 17,
    REG_CSGSFS___247 = 18,
    REG_ERR___247 = 19,
    REG_TRAPNO___247 = 20,
    REG_OLDMASK___247 = 21,
    REG_CR2___247 = 22
} ;
enum __anonenum_57186863___247 {
    SS_ONSTACK___247 = 1,
    SS_DISABLE___247 = 2
} ;
enum __anonenum_83571709___247 {
    MSG_OOB___247 = 1,
    MSG_PEEK___247 = 2,
    MSG_DONTROUTE___247 = 4,
    MSG_TRYHARD___247 = 4,
    MSG_CTRUNC___247 = 8,
    MSG_PROXY___247 = 16,
    MSG_TRUNC___247 = 32,
    MSG_DONTWAIT___247 = 64,
    MSG_EOR___247 = 128,
    MSG_WAITALL___247 = 256,
    MSG_FIN___247 = 512,
    MSG_SYN___247 = 1024,
    MSG_CONFIRM___247 = 2048,
    MSG_RST___247 = 4096,
    MSG_ERRQUEUE___247 = 8192,
    MSG_NOSIGNAL___247 = 16384,
    MSG_MORE___247 = 32768,
    MSG_WAITFORONE___247 = 65536,
    MSG_BATCH___247 = 262144,
    MSG_ZEROCOPY___247 = 67108864,
    MSG_FASTOPEN___247 = 536870912,
    MSG_CMSG_CLOEXEC___247 = 1073741824
} ;
enum __anonenum_617082774___247 {
    SCM_RIGHTS___247 = 1,
    SCM_CREDENTIALS___247 = 2
} ;
enum __anonenum_606441560___247 {
    SHUT_RD___247 = 0,
    SHUT_WR___247 = 1,
    SHUT_RDWR___247 = 2
} ;
enum __anonenum_681669233___247 {
    IPPROTO_IP___247 = 0,
    IPPROTO_ICMP___247 = 1,
    IPPROTO_IGMP___247 = 2,
    IPPROTO_IPIP___247 = 4,
    IPPROTO_TCP___247 = 6,
    IPPROTO_EGP___247 = 8,
    IPPROTO_PUP___247 = 12,
    IPPROTO_UDP___247 = 17,
    IPPROTO_IDP___247 = 22,
    IPPROTO_TP___247 = 29,
    IPPROTO_DCCP___247 = 33,
    IPPROTO_IPV6___247 = 41,
    IPPROTO_RSVP___247 = 46,
    IPPROTO_GRE___247 = 47,
    IPPROTO_ESP___247 = 50,
    IPPROTO_AH___247 = 51,
    IPPROTO_MTP___247 = 92,
    IPPROTO_BEETPH___247 = 94,
    IPPROTO_ENCAP___247 = 98,
    IPPROTO_PIM___247 = 103,
    IPPROTO_COMP___247 = 108,
    IPPROTO_SCTP___247 = 132,
    IPPROTO_UDPLITE___247 = 136,
    IPPROTO_MPLS___247 = 137,
    IPPROTO_RAW___247 = 255,
    IPPROTO_MAX___247 = 256
} ;
enum __anonenum_218739988___247 {
    IPPROTO_HOPOPTS___247 = 0,
    IPPROTO_ROUTING___247 = 43,
    IPPROTO_FRAGMENT___247 = 44,
    IPPROTO_ICMPV6___247 = 58,
    IPPROTO_NONE___247 = 59,
    IPPROTO_DSTOPTS___247 = 60,
    IPPROTO_MH___247 = 135
} ;
enum __anonenum_662268580___247 {
    IPPORT_ECHO___247 = 7,
    IPPORT_DISCARD___247 = 9,
    IPPORT_SYSTAT___247 = 11,
    IPPORT_DAYTIME___247 = 13,
    IPPORT_NETSTAT___247 = 15,
    IPPORT_FTP___247 = 21,
    IPPORT_TELNET___247 = 23,
    IPPORT_SMTP___247 = 25,
    IPPORT_TIMESERVER___247 = 37,
    IPPORT_NAMESERVER___247 = 42,
    IPPORT_WHOIS___247 = 43,
    IPPORT_MTP___247 = 57,
    IPPORT_TFTP___247 = 69,
    IPPORT_RJE___247 = 77,
    IPPORT_FINGER___247 = 79,
    IPPORT_TTYLINK___247 = 87,
    IPPORT_SUPDUP___247 = 95,
    IPPORT_EXECSERVER___247 = 512,
    IPPORT_LOGINSERVER___247 = 513,
    IPPORT_CMDSERVER___247 = 514,
    IPPORT_EFSSERVER___247 = 520,
    IPPORT_BIFFUDP___247 = 512,
    IPPORT_WHOSERVER___247 = 513,
    IPPORT_ROUTESERVER___247 = 520,
    IPPORT_RESERVED___247 = 1024,
    IPPORT_USERRESERVED___247 = 5000
} ;
enum __anonenum_788308992___247 {
    TCP_ESTABLISHED___247 = 1,
    TCP_SYN_SENT___247 = 2,
    TCP_SYN_RECV___247 = 3,
    TCP_FIN_WAIT1___247 = 4,
    TCP_FIN_WAIT2___247 = 5,
    TCP_TIME_WAIT___247 = 6,
    TCP_CLOSE___247 = 7,
    TCP_CLOSE_WAIT___247 = 8,
    TCP_LAST_ACK___247 = 9,
    TCP_LISTEN___247 = 10,
    TCP_CLOSING___247 = 11
} ;
enum __anonenum_221125648___247 {
    TCP_NO_QUEUE___247 = 0,
    TCP_RECV_QUEUE___247 = 1,
    TCP_SEND_QUEUE___247 = 2,
    TCP_QUEUES_NR___247 = 3
} ;
enum __anonenum_34415463___247 {
    PTHREAD_CREATE_JOINABLE___247 = 0,
    PTHREAD_CREATE_DETACHED___247 = 1
} ;
enum __anonenum_303612439___247 {
    PTHREAD_MUTEX_TIMED_NP___247 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___247 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___247 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___247 = 3,
    PTHREAD_MUTEX_NORMAL___247 = 0,
    PTHREAD_MUTEX_RECURSIVE___247 = 1,
    PTHREAD_MUTEX_ERRORCHECK___247 = 2,
    PTHREAD_MUTEX_DEFAULT___247 = 0,
    PTHREAD_MUTEX_FAST_NP___247 = 0
} ;
enum __anonenum_931900394___247 {
    PTHREAD_MUTEX_STALLED___247 = 0,
    PTHREAD_MUTEX_STALLED_NP___247 = 0,
    PTHREAD_MUTEX_ROBUST___247 = 1,
    PTHREAD_MUTEX_ROBUST_NP___247 = 1
} ;
enum __anonenum_205214487___247 {
    PTHREAD_PRIO_NONE___247 = 0,
    PTHREAD_PRIO_INHERIT___247 = 1,
    PTHREAD_PRIO_PROTECT___247 = 2
} ;
enum __anonenum_25043950___247 {
    PTHREAD_RWLOCK_PREFER_READER_NP___247 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___247 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___247 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___247 = 0
} ;
enum __anonenum_436439511___247 {
    PTHREAD_INHERIT_SCHED___247 = 0,
    PTHREAD_EXPLICIT_SCHED___247 = 1
} ;
enum __anonenum_998661166___247 {
    PTHREAD_SCOPE_SYSTEM___247 = 0,
    PTHREAD_SCOPE_PROCESS___247 = 1
} ;
enum __anonenum_146137331___247 {
    PTHREAD_PROCESS_PRIVATE___247 = 0,
    PTHREAD_PROCESS_SHARED___247 = 1
} ;
enum __anonenum_53396917___247 {
    PTHREAD_CANCEL_ENABLE___247 = 0,
    PTHREAD_CANCEL_DISABLE___247 = 1
} ;
enum __anonenum_904563783___247 {
    PTHREAD_CANCEL_DEFERRED___247 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___247 = 1
} ;
enum __anonenum_672052974___247 {
    SSL_CT_VALIDATION_PERMISSIVE___247 = 0,
    SSL_CT_VALIDATION_STRICT___247 = 1
} ;
struct s_xdmerge {
   struct s_xdmerge *next ;
   int mode ;
   long i1 ;
   long i2 ;
   long chg1 ;
   long chg2 ;
   long i0 ;
   long chg0 ;
};
typedef struct s_xdmerge xdmerge_t;
enum __anonenum_437032235___248 {
    _PC_LINK_MAX___248 = 0,
    _PC_MAX_CANON___248 = 1,
    _PC_MAX_INPUT___248 = 2,
    _PC_NAME_MAX___248 = 3,
    _PC_PATH_MAX___248 = 4,
    _PC_PIPE_BUF___248 = 5,
    _PC_CHOWN_RESTRICTED___248 = 6,
    _PC_NO_TRUNC___248 = 7,
    _PC_VDISABLE___248 = 8,
    _PC_SYNC_IO___248 = 9,
    _PC_ASYNC_IO___248 = 10,
    _PC_PRIO_IO___248 = 11,
    _PC_SOCK_MAXBUF___248 = 12,
    _PC_FILESIZEBITS___248 = 13,
    _PC_REC_INCR_XFER_SIZE___248 = 14,
    _PC_REC_MAX_XFER_SIZE___248 = 15,
    _PC_REC_MIN_XFER_SIZE___248 = 16,
    _PC_REC_XFER_ALIGN___248 = 17,
    _PC_ALLOC_SIZE_MIN___248 = 18,
    _PC_SYMLINK_MAX___248 = 19,
    _PC_2_SYMLINKS___248 = 20
} ;
enum __anonenum_315186338___248 {
    _SC_ARG_MAX___248 = 0,
    _SC_CHILD_MAX___248 = 1,
    _SC_CLK_TCK___248 = 2,
    _SC_NGROUPS_MAX___248 = 3,
    _SC_OPEN_MAX___248 = 4,
    _SC_STREAM_MAX___248 = 5,
    _SC_TZNAME_MAX___248 = 6,
    _SC_JOB_CONTROL___248 = 7,
    _SC_SAVED_IDS___248 = 8,
    _SC_REALTIME_SIGNALS___248 = 9,
    _SC_PRIORITY_SCHEDULING___248 = 10,
    _SC_TIMERS___248 = 11,
    _SC_ASYNCHRONOUS_IO___248 = 12,
    _SC_PRIORITIZED_IO___248 = 13,
    _SC_SYNCHRONIZED_IO___248 = 14,
    _SC_FSYNC___248 = 15,
    _SC_MAPPED_FILES___248 = 16,
    _SC_MEMLOCK___248 = 17,
    _SC_MEMLOCK_RANGE___248 = 18,
    _SC_MEMORY_PROTECTION___248 = 19,
    _SC_MESSAGE_PASSING___248 = 20,
    _SC_SEMAPHORES___248 = 21,
    _SC_SHARED_MEMORY_OBJECTS___248 = 22,
    _SC_AIO_LISTIO_MAX___248 = 23,
    _SC_AIO_MAX___248 = 24,
    _SC_AIO_PRIO_DELTA_MAX___248 = 25,
    _SC_DELAYTIMER_MAX___248 = 26,
    _SC_MQ_OPEN_MAX___248 = 27,
    _SC_MQ_PRIO_MAX___248 = 28,
    _SC_VERSION___248 = 29,
    _SC_PAGESIZE___248 = 30,
    _SC_RTSIG_MAX___248 = 31,
    _SC_SEM_NSEMS_MAX___248 = 32,
    _SC_SEM_VALUE_MAX___248 = 33,
    _SC_SIGQUEUE_MAX___248 = 34,
    _SC_TIMER_MAX___248 = 35,
    _SC_BC_BASE_MAX___248 = 36,
    _SC_BC_DIM_MAX___248 = 37,
    _SC_BC_SCALE_MAX___248 = 38,
    _SC_BC_STRING_MAX___248 = 39,
    _SC_COLL_WEIGHTS_MAX___248 = 40,
    _SC_EQUIV_CLASS_MAX___248 = 41,
    _SC_EXPR_NEST_MAX___248 = 42,
    _SC_LINE_MAX___248 = 43,
    _SC_RE_DUP_MAX___248 = 44,
    _SC_CHARCLASS_NAME_MAX___248 = 45,
    _SC_2_VERSION___248 = 46,
    _SC_2_C_BIND___248 = 47,
    _SC_2_C_DEV___248 = 48,
    _SC_2_FORT_DEV___248 = 49,
    _SC_2_FORT_RUN___248 = 50,
    _SC_2_SW_DEV___248 = 51,
    _SC_2_LOCALEDEF___248 = 52,
    _SC_PII___248 = 53,
    _SC_PII_XTI___248 = 54,
    _SC_PII_SOCKET___248 = 55,
    _SC_PII_INTERNET___248 = 56,
    _SC_PII_OSI___248 = 57,
    _SC_POLL___248 = 58,
    _SC_SELECT___248 = 59,
    _SC_UIO_MAXIOV___248 = 60,
    _SC_IOV_MAX___248 = 60,
    _SC_PII_INTERNET_STREAM___248 = 61,
    _SC_PII_INTERNET_DGRAM___248 = 62,
    _SC_PII_OSI_COTS___248 = 63,
    _SC_PII_OSI_CLTS___248 = 64,
    _SC_PII_OSI_M___248 = 65,
    _SC_T_IOV_MAX___248 = 66,
    _SC_THREADS___248 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___248 = 68,
    _SC_GETGR_R_SIZE_MAX___248 = 69,
    _SC_GETPW_R_SIZE_MAX___248 = 70,
    _SC_LOGIN_NAME_MAX___248 = 71,
    _SC_TTY_NAME_MAX___248 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___248 = 73,
    _SC_THREAD_KEYS_MAX___248 = 74,
    _SC_THREAD_STACK_MIN___248 = 75,
    _SC_THREAD_THREADS_MAX___248 = 76,
    _SC_THREAD_ATTR_STACKADDR___248 = 77,
    _SC_THREAD_ATTR_STACKSIZE___248 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___248 = 79,
    _SC_THREAD_PRIO_INHERIT___248 = 80,
    _SC_THREAD_PRIO_PROTECT___248 = 81,
    _SC_THREAD_PROCESS_SHARED___248 = 82,
    _SC_NPROCESSORS_CONF___248 = 83,
    _SC_NPROCESSORS_ONLN___248 = 84,
    _SC_PHYS_PAGES___248 = 85,
    _SC_AVPHYS_PAGES___248 = 86,
    _SC_ATEXIT_MAX___248 = 87,
    _SC_PASS_MAX___248 = 88,
    _SC_XOPEN_VERSION___248 = 89,
    _SC_XOPEN_XCU_VERSION___248 = 90,
    _SC_XOPEN_UNIX___248 = 91,
    _SC_XOPEN_CRYPT___248 = 92,
    _SC_XOPEN_ENH_I18N___248 = 93,
    _SC_XOPEN_SHM___248 = 94,
    _SC_2_CHAR_TERM___248 = 95,
    _SC_2_C_VERSION___248 = 96,
    _SC_2_UPE___248 = 97,
    _SC_XOPEN_XPG2___248 = 98,
    _SC_XOPEN_XPG3___248 = 99,
    _SC_XOPEN_XPG4___248 = 100,
    _SC_CHAR_BIT___248 = 101,
    _SC_CHAR_MAX___248 = 102,
    _SC_CHAR_MIN___248 = 103,
    _SC_INT_MAX___248 = 104,
    _SC_INT_MIN___248 = 105,
    _SC_LONG_BIT___248 = 106,
    _SC_WORD_BIT___248 = 107,
    _SC_MB_LEN_MAX___248 = 108,
    _SC_NZERO___248 = 109,
    _SC_SSIZE_MAX___248 = 110,
    _SC_SCHAR_MAX___248 = 111,
    _SC_SCHAR_MIN___248 = 112,
    _SC_SHRT_MAX___248 = 113,
    _SC_SHRT_MIN___248 = 114,
    _SC_UCHAR_MAX___248 = 115,
    _SC_UINT_MAX___248 = 116,
    _SC_ULONG_MAX___248 = 117,
    _SC_USHRT_MAX___248 = 118,
    _SC_NL_ARGMAX___248 = 119,
    _SC_NL_LANGMAX___248 = 120,
    _SC_NL_MSGMAX___248 = 121,
    _SC_NL_NMAX___248 = 122,
    _SC_NL_SETMAX___248 = 123,
    _SC_NL_TEXTMAX___248 = 124,
    _SC_XBS5_ILP32_OFF32___248 = 125,
    _SC_XBS5_ILP32_OFFBIG___248 = 126,
    _SC_XBS5_LP64_OFF64___248 = 127,
    _SC_XBS5_LPBIG_OFFBIG___248 = 128,
    _SC_XOPEN_LEGACY___248 = 129,
    _SC_XOPEN_REALTIME___248 = 130,
    _SC_XOPEN_REALTIME_THREADS___248 = 131,
    _SC_ADVISORY_INFO___248 = 132,
    _SC_BARRIERS___248 = 133,
    _SC_BASE___248 = 134,
    _SC_C_LANG_SUPPORT___248 = 135,
    _SC_C_LANG_SUPPORT_R___248 = 136,
    _SC_CLOCK_SELECTION___248 = 137,
    _SC_CPUTIME___248 = 138,
    _SC_THREAD_CPUTIME___248 = 139,
    _SC_DEVICE_IO___248 = 140,
    _SC_DEVICE_SPECIFIC___248 = 141,
    _SC_DEVICE_SPECIFIC_R___248 = 142,
    _SC_FD_MGMT___248 = 143,
    _SC_FIFO___248 = 144,
    _SC_PIPE___248 = 145,
    _SC_FILE_ATTRIBUTES___248 = 146,
    _SC_FILE_LOCKING___248 = 147,
    _SC_FILE_SYSTEM___248 = 148,
    _SC_MONOTONIC_CLOCK___248 = 149,
    _SC_MULTI_PROCESS___248 = 150,
    _SC_SINGLE_PROCESS___248 = 151,
    _SC_NETWORKING___248 = 152,
    _SC_READER_WRITER_LOCKS___248 = 153,
    _SC_SPIN_LOCKS___248 = 154,
    _SC_REGEXP___248 = 155,
    _SC_REGEX_VERSION___248 = 156,
    _SC_SHELL___248 = 157,
    _SC_SIGNALS___248 = 158,
    _SC_SPAWN___248 = 159,
    _SC_SPORADIC_SERVER___248 = 160,
    _SC_THREAD_SPORADIC_SERVER___248 = 161,
    _SC_SYSTEM_DATABASE___248 = 162,
    _SC_SYSTEM_DATABASE_R___248 = 163,
    _SC_TIMEOUTS___248 = 164,
    _SC_TYPED_MEMORY_OBJECTS___248 = 165,
    _SC_USER_GROUPS___248 = 166,
    _SC_USER_GROUPS_R___248 = 167,
    _SC_2_PBS___248 = 168,
    _SC_2_PBS_ACCOUNTING___248 = 169,
    _SC_2_PBS_LOCATE___248 = 170,
    _SC_2_PBS_MESSAGE___248 = 171,
    _SC_2_PBS_TRACK___248 = 172,
    _SC_SYMLOOP_MAX___248 = 173,
    _SC_STREAMS___248 = 174,
    _SC_2_PBS_CHECKPOINT___248 = 175,
    _SC_V6_ILP32_OFF32___248 = 176,
    _SC_V6_ILP32_OFFBIG___248 = 177,
    _SC_V6_LP64_OFF64___248 = 178,
    _SC_V6_LPBIG_OFFBIG___248 = 179,
    _SC_HOST_NAME_MAX___248 = 180,
    _SC_TRACE___248 = 181,
    _SC_TRACE_EVENT_FILTER___248 = 182,
    _SC_TRACE_INHERIT___248 = 183,
    _SC_TRACE_LOG___248 = 184,
    _SC_LEVEL1_ICACHE_SIZE___248 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___248 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___248 = 187,
    _SC_LEVEL1_DCACHE_SIZE___248 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___248 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___248 = 190,
    _SC_LEVEL2_CACHE_SIZE___248 = 191,
    _SC_LEVEL2_CACHE_ASSOC___248 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___248 = 193,
    _SC_LEVEL3_CACHE_SIZE___248 = 194,
    _SC_LEVEL3_CACHE_ASSOC___248 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___248 = 196,
    _SC_LEVEL4_CACHE_SIZE___248 = 197,
    _SC_LEVEL4_CACHE_ASSOC___248 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___248 = 199,
    _SC_IPV6___248 = 235,
    _SC_RAW_SOCKETS___248 = 236,
    _SC_V7_ILP32_OFF32___248 = 237,
    _SC_V7_ILP32_OFFBIG___248 = 238,
    _SC_V7_LP64_OFF64___248 = 239,
    _SC_V7_LPBIG_OFFBIG___248 = 240,
    _SC_SS_REPL_MAX___248 = 241,
    _SC_TRACE_EVENT_NAME_MAX___248 = 242,
    _SC_TRACE_NAME_MAX___248 = 243,
    _SC_TRACE_SYS_MAX___248 = 244,
    _SC_TRACE_USER_EVENT_MAX___248 = 245,
    _SC_XOPEN_STREAMS___248 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___248 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___248 = 248
} ;
enum __anonenum_875524036___248 {
    _CS_PATH___248 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___248 = 1,
    _CS_GNU_LIBC_VERSION___248 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___248 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___248 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___248 = 5,
    _CS_LFS_CFLAGS___248 = 1000,
    _CS_LFS_LDFLAGS___248 = 1001,
    _CS_LFS_LIBS___248 = 1002,
    _CS_LFS_LINTFLAGS___248 = 1003,
    _CS_LFS64_CFLAGS___248 = 1004,
    _CS_LFS64_LDFLAGS___248 = 1005,
    _CS_LFS64_LIBS___248 = 1006,
    _CS_LFS64_LINTFLAGS___248 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___248 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___248 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___248 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___248 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___248 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___248 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___248 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___248 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___248 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___248 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___248 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___248 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___248 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___248 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___248 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___248 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___248 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___248 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___248 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___248 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___248 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___248 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___248 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___248 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___248 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___248 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___248 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___248 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___248 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___248 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___248 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___248 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___248 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___248 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___248 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___248 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___248 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___248 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___248 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___248 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___248 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___248 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___248 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___248 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___248 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___248 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___248 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___248 = 1147,
    _CS_V6_ENV___248 = 1148,
    _CS_V7_ENV___248 = 1149
} ;
enum __anonenum_513775621___248 {
    DT_UNKNOWN___248 = 0,
    DT_FIFO___248 = 1,
    DT_CHR___248 = 2,
    DT_DIR___248 = 4,
    DT_BLK___248 = 6,
    DT_REG___248 = 8,
    DT_LNK___248 = 10,
    DT_SOCK___248 = 12,
    DT_WHT___248 = 14
} ;
enum __anonenum_77002343___248 {
    SI_ASYNCNL___248 = -60,
    SI_TKILL___248 = -6,
    SI_SIGIO___248 = -5,
    SI_ASYNCIO___248 = -4,
    SI_MESGQ___248 = -3,
    SI_TIMER___248 = -2,
    SI_QUEUE___248 = -1,
    SI_USER___248 = 0,
    SI_KERNEL___248 = 128
} ;
enum __anonenum_131038172___248 {
    ILL_ILLOPC___248 = 1,
    ILL_ILLOPN___248 = 2,
    ILL_ILLADR___248 = 3,
    ILL_ILLTRP___248 = 4,
    ILL_PRVOPC___248 = 5,
    ILL_PRVREG___248 = 6,
    ILL_COPROC___248 = 7,
    ILL_BADSTK___248 = 8
} ;
enum __anonenum_452038093___248 {
    FPE_INTDIV___248 = 1,
    FPE_INTOVF___248 = 2,
    FPE_FLTDIV___248 = 3,
    FPE_FLTOVF___248 = 4,
    FPE_FLTUND___248 = 5,
    FPE_FLTRES___248 = 6,
    FPE_FLTINV___248 = 7,
    FPE_FLTSUB___248 = 8
} ;
enum __anonenum_30976155___248 {
    SEGV_MAPERR___248 = 1,
    SEGV_ACCERR___248 = 2,
    SEGV_BNDERR___248 = 3,
    SEGV_PKUERR___248 = 4
} ;
enum __anonenum_1036286214___248 {
    BUS_ADRALN___248 = 1,
    BUS_ADRERR___248 = 2,
    BUS_OBJERR___248 = 3,
    BUS_MCEERR_AR___248 = 4,
    BUS_MCEERR_AO___248 = 5
} ;
enum __anonenum_493465559___248 {
    TRAP_BRKPT___248 = 1,
    TRAP_TRACE___248 = 2
} ;
enum __anonenum_23175539___248 {
    CLD_EXITED___248 = 1,
    CLD_KILLED___248 = 2,
    CLD_DUMPED___248 = 3,
    CLD_TRAPPED___248 = 4,
    CLD_STOPPED___248 = 5,
    CLD_CONTINUED___248 = 6
} ;
enum __anonenum_111643124___248 {
    POLL_IN___248 = 1,
    POLL_OUT___248 = 2,
    POLL_MSG___248 = 3,
    POLL_ERR___248 = 4,
    POLL_PRI___248 = 5,
    POLL_HUP___248 = 6
} ;
enum __anonenum_852341087___248 {
    SIGEV_SIGNAL___248 = 0,
    SIGEV_NONE___248 = 1,
    SIGEV_THREAD___248 = 2,
    SIGEV_THREAD_ID___248 = 4
} ;
enum __anonenum_451154152___248 {
    REG_R8___248 = 0,
    REG_R9___248 = 1,
    REG_R10___248 = 2,
    REG_R11___248 = 3,
    REG_R12___248 = 4,
    REG_R13___248 = 5,
    REG_R14___248 = 6,
    REG_R15___248 = 7,
    REG_RDI___248 = 8,
    REG_RSI___248 = 9,
    REG_RBP___248 = 10,
    REG_RBX___248 = 11,
    REG_RDX___248 = 12,
    REG_RAX___248 = 13,
    REG_RCX___248 = 14,
    REG_RSP___248 = 15,
    REG_RIP___248 = 16,
    REG_EFL___248 = 17,
    REG_CSGSFS___248 = 18,
    REG_ERR___248 = 19,
    REG_TRAPNO___248 = 20,
    REG_OLDMASK___248 = 21,
    REG_CR2___248 = 22
} ;
enum __anonenum_57186863___248 {
    SS_ONSTACK___248 = 1,
    SS_DISABLE___248 = 2
} ;
enum __anonenum_83571709___248 {
    MSG_OOB___248 = 1,
    MSG_PEEK___248 = 2,
    MSG_DONTROUTE___248 = 4,
    MSG_TRYHARD___248 = 4,
    MSG_CTRUNC___248 = 8,
    MSG_PROXY___248 = 16,
    MSG_TRUNC___248 = 32,
    MSG_DONTWAIT___248 = 64,
    MSG_EOR___248 = 128,
    MSG_WAITALL___248 = 256,
    MSG_FIN___248 = 512,
    MSG_SYN___248 = 1024,
    MSG_CONFIRM___248 = 2048,
    MSG_RST___248 = 4096,
    MSG_ERRQUEUE___248 = 8192,
    MSG_NOSIGNAL___248 = 16384,
    MSG_MORE___248 = 32768,
    MSG_WAITFORONE___248 = 65536,
    MSG_BATCH___248 = 262144,
    MSG_ZEROCOPY___248 = 67108864,
    MSG_FASTOPEN___248 = 536870912,
    MSG_CMSG_CLOEXEC___248 = 1073741824
} ;
enum __anonenum_617082774___248 {
    SCM_RIGHTS___248 = 1,
    SCM_CREDENTIALS___248 = 2
} ;
enum __anonenum_606441560___248 {
    SHUT_RD___248 = 0,
    SHUT_WR___248 = 1,
    SHUT_RDWR___248 = 2
} ;
enum __anonenum_681669233___248 {
    IPPROTO_IP___248 = 0,
    IPPROTO_ICMP___248 = 1,
    IPPROTO_IGMP___248 = 2,
    IPPROTO_IPIP___248 = 4,
    IPPROTO_TCP___248 = 6,
    IPPROTO_EGP___248 = 8,
    IPPROTO_PUP___248 = 12,
    IPPROTO_UDP___248 = 17,
    IPPROTO_IDP___248 = 22,
    IPPROTO_TP___248 = 29,
    IPPROTO_DCCP___248 = 33,
    IPPROTO_IPV6___248 = 41,
    IPPROTO_RSVP___248 = 46,
    IPPROTO_GRE___248 = 47,
    IPPROTO_ESP___248 = 50,
    IPPROTO_AH___248 = 51,
    IPPROTO_MTP___248 = 92,
    IPPROTO_BEETPH___248 = 94,
    IPPROTO_ENCAP___248 = 98,
    IPPROTO_PIM___248 = 103,
    IPPROTO_COMP___248 = 108,
    IPPROTO_SCTP___248 = 132,
    IPPROTO_UDPLITE___248 = 136,
    IPPROTO_MPLS___248 = 137,
    IPPROTO_RAW___248 = 255,
    IPPROTO_MAX___248 = 256
} ;
enum __anonenum_218739988___248 {
    IPPROTO_HOPOPTS___248 = 0,
    IPPROTO_ROUTING___248 = 43,
    IPPROTO_FRAGMENT___248 = 44,
    IPPROTO_ICMPV6___248 = 58,
    IPPROTO_NONE___248 = 59,
    IPPROTO_DSTOPTS___248 = 60,
    IPPROTO_MH___248 = 135
} ;
enum __anonenum_662268580___248 {
    IPPORT_ECHO___248 = 7,
    IPPORT_DISCARD___248 = 9,
    IPPORT_SYSTAT___248 = 11,
    IPPORT_DAYTIME___248 = 13,
    IPPORT_NETSTAT___248 = 15,
    IPPORT_FTP___248 = 21,
    IPPORT_TELNET___248 = 23,
    IPPORT_SMTP___248 = 25,
    IPPORT_TIMESERVER___248 = 37,
    IPPORT_NAMESERVER___248 = 42,
    IPPORT_WHOIS___248 = 43,
    IPPORT_MTP___248 = 57,
    IPPORT_TFTP___248 = 69,
    IPPORT_RJE___248 = 77,
    IPPORT_FINGER___248 = 79,
    IPPORT_TTYLINK___248 = 87,
    IPPORT_SUPDUP___248 = 95,
    IPPORT_EXECSERVER___248 = 512,
    IPPORT_LOGINSERVER___248 = 513,
    IPPORT_CMDSERVER___248 = 514,
    IPPORT_EFSSERVER___248 = 520,
    IPPORT_BIFFUDP___248 = 512,
    IPPORT_WHOSERVER___248 = 513,
    IPPORT_ROUTESERVER___248 = 520,
    IPPORT_RESERVED___248 = 1024,
    IPPORT_USERRESERVED___248 = 5000
} ;
enum __anonenum_788308992___248 {
    TCP_ESTABLISHED___248 = 1,
    TCP_SYN_SENT___248 = 2,
    TCP_SYN_RECV___248 = 3,
    TCP_FIN_WAIT1___248 = 4,
    TCP_FIN_WAIT2___248 = 5,
    TCP_TIME_WAIT___248 = 6,
    TCP_CLOSE___248 = 7,
    TCP_CLOSE_WAIT___248 = 8,
    TCP_LAST_ACK___248 = 9,
    TCP_LISTEN___248 = 10,
    TCP_CLOSING___248 = 11
} ;
enum __anonenum_221125648___248 {
    TCP_NO_QUEUE___248 = 0,
    TCP_RECV_QUEUE___248 = 1,
    TCP_SEND_QUEUE___248 = 2,
    TCP_QUEUES_NR___248 = 3
} ;
enum __anonenum_34415463___248 {
    PTHREAD_CREATE_JOINABLE___248 = 0,
    PTHREAD_CREATE_DETACHED___248 = 1
} ;
enum __anonenum_303612439___248 {
    PTHREAD_MUTEX_TIMED_NP___248 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___248 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___248 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___248 = 3,
    PTHREAD_MUTEX_NORMAL___248 = 0,
    PTHREAD_MUTEX_RECURSIVE___248 = 1,
    PTHREAD_MUTEX_ERRORCHECK___248 = 2,
    PTHREAD_MUTEX_DEFAULT___248 = 0,
    PTHREAD_MUTEX_FAST_NP___248 = 0
} ;
enum __anonenum_931900394___248 {
    PTHREAD_MUTEX_STALLED___248 = 0,
    PTHREAD_MUTEX_STALLED_NP___248 = 0,
    PTHREAD_MUTEX_ROBUST___248 = 1,
    PTHREAD_MUTEX_ROBUST_NP___248 = 1
} ;
enum __anonenum_205214487___248 {
    PTHREAD_PRIO_NONE___248 = 0,
    PTHREAD_PRIO_INHERIT___248 = 1,
    PTHREAD_PRIO_PROTECT___248 = 2
} ;
enum __anonenum_25043950___248 {
    PTHREAD_RWLOCK_PREFER_READER_NP___248 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___248 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___248 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___248 = 0
} ;
enum __anonenum_436439511___248 {
    PTHREAD_INHERIT_SCHED___248 = 0,
    PTHREAD_EXPLICIT_SCHED___248 = 1
} ;
enum __anonenum_998661166___248 {
    PTHREAD_SCOPE_SYSTEM___248 = 0,
    PTHREAD_SCOPE_PROCESS___248 = 1
} ;
enum __anonenum_146137331___248 {
    PTHREAD_PROCESS_PRIVATE___248 = 0,
    PTHREAD_PROCESS_SHARED___248 = 1
} ;
enum __anonenum_53396917___248 {
    PTHREAD_CANCEL_ENABLE___248 = 0,
    PTHREAD_CANCEL_DISABLE___248 = 1
} ;
enum __anonenum_904563783___248 {
    PTHREAD_CANCEL_DEFERRED___248 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___248 = 1
} ;
enum __anonenum_672052974___248 {
    SSL_CT_VALIDATION_PERMISSIVE___248 = 0,
    SSL_CT_VALIDATION_STRICT___248 = 1
} ;
struct entry___0 {
   unsigned long hash ;
   unsigned long line1 ;
   unsigned long line2 ;
   struct entry___0 *next ;
   struct entry___0 *previous ;
   unsigned int anchor : 1 ;
};
struct hashmap___0 {
   int nr ;
   int alloc ;
   struct entry___0 *entries ;
   struct entry___0 *first ;
   struct entry___0 *last ;
   unsigned long has_matches ;
   mmfile_t *file1 ;
   mmfile_t *file2 ;
   xdfenv_t *env ;
   xpparam_t const   *xpp ;
};
enum __anonenum_437032235___249 {
    _PC_LINK_MAX___249 = 0,
    _PC_MAX_CANON___249 = 1,
    _PC_MAX_INPUT___249 = 2,
    _PC_NAME_MAX___249 = 3,
    _PC_PATH_MAX___249 = 4,
    _PC_PIPE_BUF___249 = 5,
    _PC_CHOWN_RESTRICTED___249 = 6,
    _PC_NO_TRUNC___249 = 7,
    _PC_VDISABLE___249 = 8,
    _PC_SYNC_IO___249 = 9,
    _PC_ASYNC_IO___249 = 10,
    _PC_PRIO_IO___249 = 11,
    _PC_SOCK_MAXBUF___249 = 12,
    _PC_FILESIZEBITS___249 = 13,
    _PC_REC_INCR_XFER_SIZE___249 = 14,
    _PC_REC_MAX_XFER_SIZE___249 = 15,
    _PC_REC_MIN_XFER_SIZE___249 = 16,
    _PC_REC_XFER_ALIGN___249 = 17,
    _PC_ALLOC_SIZE_MIN___249 = 18,
    _PC_SYMLINK_MAX___249 = 19,
    _PC_2_SYMLINKS___249 = 20
} ;
enum __anonenum_315186338___249 {
    _SC_ARG_MAX___249 = 0,
    _SC_CHILD_MAX___249 = 1,
    _SC_CLK_TCK___249 = 2,
    _SC_NGROUPS_MAX___249 = 3,
    _SC_OPEN_MAX___249 = 4,
    _SC_STREAM_MAX___249 = 5,
    _SC_TZNAME_MAX___249 = 6,
    _SC_JOB_CONTROL___249 = 7,
    _SC_SAVED_IDS___249 = 8,
    _SC_REALTIME_SIGNALS___249 = 9,
    _SC_PRIORITY_SCHEDULING___249 = 10,
    _SC_TIMERS___249 = 11,
    _SC_ASYNCHRONOUS_IO___249 = 12,
    _SC_PRIORITIZED_IO___249 = 13,
    _SC_SYNCHRONIZED_IO___249 = 14,
    _SC_FSYNC___249 = 15,
    _SC_MAPPED_FILES___249 = 16,
    _SC_MEMLOCK___249 = 17,
    _SC_MEMLOCK_RANGE___249 = 18,
    _SC_MEMORY_PROTECTION___249 = 19,
    _SC_MESSAGE_PASSING___249 = 20,
    _SC_SEMAPHORES___249 = 21,
    _SC_SHARED_MEMORY_OBJECTS___249 = 22,
    _SC_AIO_LISTIO_MAX___249 = 23,
    _SC_AIO_MAX___249 = 24,
    _SC_AIO_PRIO_DELTA_MAX___249 = 25,
    _SC_DELAYTIMER_MAX___249 = 26,
    _SC_MQ_OPEN_MAX___249 = 27,
    _SC_MQ_PRIO_MAX___249 = 28,
    _SC_VERSION___249 = 29,
    _SC_PAGESIZE___249 = 30,
    _SC_RTSIG_MAX___249 = 31,
    _SC_SEM_NSEMS_MAX___249 = 32,
    _SC_SEM_VALUE_MAX___249 = 33,
    _SC_SIGQUEUE_MAX___249 = 34,
    _SC_TIMER_MAX___249 = 35,
    _SC_BC_BASE_MAX___249 = 36,
    _SC_BC_DIM_MAX___249 = 37,
    _SC_BC_SCALE_MAX___249 = 38,
    _SC_BC_STRING_MAX___249 = 39,
    _SC_COLL_WEIGHTS_MAX___249 = 40,
    _SC_EQUIV_CLASS_MAX___249 = 41,
    _SC_EXPR_NEST_MAX___249 = 42,
    _SC_LINE_MAX___249 = 43,
    _SC_RE_DUP_MAX___249 = 44,
    _SC_CHARCLASS_NAME_MAX___249 = 45,
    _SC_2_VERSION___249 = 46,
    _SC_2_C_BIND___249 = 47,
    _SC_2_C_DEV___249 = 48,
    _SC_2_FORT_DEV___249 = 49,
    _SC_2_FORT_RUN___249 = 50,
    _SC_2_SW_DEV___249 = 51,
    _SC_2_LOCALEDEF___249 = 52,
    _SC_PII___249 = 53,
    _SC_PII_XTI___249 = 54,
    _SC_PII_SOCKET___249 = 55,
    _SC_PII_INTERNET___249 = 56,
    _SC_PII_OSI___249 = 57,
    _SC_POLL___249 = 58,
    _SC_SELECT___249 = 59,
    _SC_UIO_MAXIOV___249 = 60,
    _SC_IOV_MAX___249 = 60,
    _SC_PII_INTERNET_STREAM___249 = 61,
    _SC_PII_INTERNET_DGRAM___249 = 62,
    _SC_PII_OSI_COTS___249 = 63,
    _SC_PII_OSI_CLTS___249 = 64,
    _SC_PII_OSI_M___249 = 65,
    _SC_T_IOV_MAX___249 = 66,
    _SC_THREADS___249 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___249 = 68,
    _SC_GETGR_R_SIZE_MAX___249 = 69,
    _SC_GETPW_R_SIZE_MAX___249 = 70,
    _SC_LOGIN_NAME_MAX___249 = 71,
    _SC_TTY_NAME_MAX___249 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___249 = 73,
    _SC_THREAD_KEYS_MAX___249 = 74,
    _SC_THREAD_STACK_MIN___249 = 75,
    _SC_THREAD_THREADS_MAX___249 = 76,
    _SC_THREAD_ATTR_STACKADDR___249 = 77,
    _SC_THREAD_ATTR_STACKSIZE___249 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___249 = 79,
    _SC_THREAD_PRIO_INHERIT___249 = 80,
    _SC_THREAD_PRIO_PROTECT___249 = 81,
    _SC_THREAD_PROCESS_SHARED___249 = 82,
    _SC_NPROCESSORS_CONF___249 = 83,
    _SC_NPROCESSORS_ONLN___249 = 84,
    _SC_PHYS_PAGES___249 = 85,
    _SC_AVPHYS_PAGES___249 = 86,
    _SC_ATEXIT_MAX___249 = 87,
    _SC_PASS_MAX___249 = 88,
    _SC_XOPEN_VERSION___249 = 89,
    _SC_XOPEN_XCU_VERSION___249 = 90,
    _SC_XOPEN_UNIX___249 = 91,
    _SC_XOPEN_CRYPT___249 = 92,
    _SC_XOPEN_ENH_I18N___249 = 93,
    _SC_XOPEN_SHM___249 = 94,
    _SC_2_CHAR_TERM___249 = 95,
    _SC_2_C_VERSION___249 = 96,
    _SC_2_UPE___249 = 97,
    _SC_XOPEN_XPG2___249 = 98,
    _SC_XOPEN_XPG3___249 = 99,
    _SC_XOPEN_XPG4___249 = 100,
    _SC_CHAR_BIT___249 = 101,
    _SC_CHAR_MAX___249 = 102,
    _SC_CHAR_MIN___249 = 103,
    _SC_INT_MAX___249 = 104,
    _SC_INT_MIN___249 = 105,
    _SC_LONG_BIT___249 = 106,
    _SC_WORD_BIT___249 = 107,
    _SC_MB_LEN_MAX___249 = 108,
    _SC_NZERO___249 = 109,
    _SC_SSIZE_MAX___249 = 110,
    _SC_SCHAR_MAX___249 = 111,
    _SC_SCHAR_MIN___249 = 112,
    _SC_SHRT_MAX___249 = 113,
    _SC_SHRT_MIN___249 = 114,
    _SC_UCHAR_MAX___249 = 115,
    _SC_UINT_MAX___249 = 116,
    _SC_ULONG_MAX___249 = 117,
    _SC_USHRT_MAX___249 = 118,
    _SC_NL_ARGMAX___249 = 119,
    _SC_NL_LANGMAX___249 = 120,
    _SC_NL_MSGMAX___249 = 121,
    _SC_NL_NMAX___249 = 122,
    _SC_NL_SETMAX___249 = 123,
    _SC_NL_TEXTMAX___249 = 124,
    _SC_XBS5_ILP32_OFF32___249 = 125,
    _SC_XBS5_ILP32_OFFBIG___249 = 126,
    _SC_XBS5_LP64_OFF64___249 = 127,
    _SC_XBS5_LPBIG_OFFBIG___249 = 128,
    _SC_XOPEN_LEGACY___249 = 129,
    _SC_XOPEN_REALTIME___249 = 130,
    _SC_XOPEN_REALTIME_THREADS___249 = 131,
    _SC_ADVISORY_INFO___249 = 132,
    _SC_BARRIERS___249 = 133,
    _SC_BASE___249 = 134,
    _SC_C_LANG_SUPPORT___249 = 135,
    _SC_C_LANG_SUPPORT_R___249 = 136,
    _SC_CLOCK_SELECTION___249 = 137,
    _SC_CPUTIME___249 = 138,
    _SC_THREAD_CPUTIME___249 = 139,
    _SC_DEVICE_IO___249 = 140,
    _SC_DEVICE_SPECIFIC___249 = 141,
    _SC_DEVICE_SPECIFIC_R___249 = 142,
    _SC_FD_MGMT___249 = 143,
    _SC_FIFO___249 = 144,
    _SC_PIPE___249 = 145,
    _SC_FILE_ATTRIBUTES___249 = 146,
    _SC_FILE_LOCKING___249 = 147,
    _SC_FILE_SYSTEM___249 = 148,
    _SC_MONOTONIC_CLOCK___249 = 149,
    _SC_MULTI_PROCESS___249 = 150,
    _SC_SINGLE_PROCESS___249 = 151,
    _SC_NETWORKING___249 = 152,
    _SC_READER_WRITER_LOCKS___249 = 153,
    _SC_SPIN_LOCKS___249 = 154,
    _SC_REGEXP___249 = 155,
    _SC_REGEX_VERSION___249 = 156,
    _SC_SHELL___249 = 157,
    _SC_SIGNALS___249 = 158,
    _SC_SPAWN___249 = 159,
    _SC_SPORADIC_SERVER___249 = 160,
    _SC_THREAD_SPORADIC_SERVER___249 = 161,
    _SC_SYSTEM_DATABASE___249 = 162,
    _SC_SYSTEM_DATABASE_R___249 = 163,
    _SC_TIMEOUTS___249 = 164,
    _SC_TYPED_MEMORY_OBJECTS___249 = 165,
    _SC_USER_GROUPS___249 = 166,
    _SC_USER_GROUPS_R___249 = 167,
    _SC_2_PBS___249 = 168,
    _SC_2_PBS_ACCOUNTING___249 = 169,
    _SC_2_PBS_LOCATE___249 = 170,
    _SC_2_PBS_MESSAGE___249 = 171,
    _SC_2_PBS_TRACK___249 = 172,
    _SC_SYMLOOP_MAX___249 = 173,
    _SC_STREAMS___249 = 174,
    _SC_2_PBS_CHECKPOINT___249 = 175,
    _SC_V6_ILP32_OFF32___249 = 176,
    _SC_V6_ILP32_OFFBIG___249 = 177,
    _SC_V6_LP64_OFF64___249 = 178,
    _SC_V6_LPBIG_OFFBIG___249 = 179,
    _SC_HOST_NAME_MAX___249 = 180,
    _SC_TRACE___249 = 181,
    _SC_TRACE_EVENT_FILTER___249 = 182,
    _SC_TRACE_INHERIT___249 = 183,
    _SC_TRACE_LOG___249 = 184,
    _SC_LEVEL1_ICACHE_SIZE___249 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___249 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___249 = 187,
    _SC_LEVEL1_DCACHE_SIZE___249 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___249 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___249 = 190,
    _SC_LEVEL2_CACHE_SIZE___249 = 191,
    _SC_LEVEL2_CACHE_ASSOC___249 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___249 = 193,
    _SC_LEVEL3_CACHE_SIZE___249 = 194,
    _SC_LEVEL3_CACHE_ASSOC___249 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___249 = 196,
    _SC_LEVEL4_CACHE_SIZE___249 = 197,
    _SC_LEVEL4_CACHE_ASSOC___249 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___249 = 199,
    _SC_IPV6___249 = 235,
    _SC_RAW_SOCKETS___249 = 236,
    _SC_V7_ILP32_OFF32___249 = 237,
    _SC_V7_ILP32_OFFBIG___249 = 238,
    _SC_V7_LP64_OFF64___249 = 239,
    _SC_V7_LPBIG_OFFBIG___249 = 240,
    _SC_SS_REPL_MAX___249 = 241,
    _SC_TRACE_EVENT_NAME_MAX___249 = 242,
    _SC_TRACE_NAME_MAX___249 = 243,
    _SC_TRACE_SYS_MAX___249 = 244,
    _SC_TRACE_USER_EVENT_MAX___249 = 245,
    _SC_XOPEN_STREAMS___249 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___249 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___249 = 248
} ;
enum __anonenum_875524036___249 {
    _CS_PATH___249 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___249 = 1,
    _CS_GNU_LIBC_VERSION___249 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___249 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___249 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___249 = 5,
    _CS_LFS_CFLAGS___249 = 1000,
    _CS_LFS_LDFLAGS___249 = 1001,
    _CS_LFS_LIBS___249 = 1002,
    _CS_LFS_LINTFLAGS___249 = 1003,
    _CS_LFS64_CFLAGS___249 = 1004,
    _CS_LFS64_LDFLAGS___249 = 1005,
    _CS_LFS64_LIBS___249 = 1006,
    _CS_LFS64_LINTFLAGS___249 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___249 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___249 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___249 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___249 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___249 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___249 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___249 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___249 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___249 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___249 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___249 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___249 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___249 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___249 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___249 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___249 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___249 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___249 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___249 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___249 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___249 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___249 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___249 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___249 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___249 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___249 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___249 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___249 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___249 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___249 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___249 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___249 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___249 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___249 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___249 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___249 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___249 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___249 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___249 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___249 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___249 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___249 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___249 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___249 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___249 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___249 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___249 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___249 = 1147,
    _CS_V6_ENV___249 = 1148,
    _CS_V7_ENV___249 = 1149
} ;
enum __anonenum_513775621___249 {
    DT_UNKNOWN___249 = 0,
    DT_FIFO___249 = 1,
    DT_CHR___249 = 2,
    DT_DIR___249 = 4,
    DT_BLK___249 = 6,
    DT_REG___249 = 8,
    DT_LNK___249 = 10,
    DT_SOCK___249 = 12,
    DT_WHT___249 = 14
} ;
enum __anonenum_77002343___249 {
    SI_ASYNCNL___249 = -60,
    SI_TKILL___249 = -6,
    SI_SIGIO___249 = -5,
    SI_ASYNCIO___249 = -4,
    SI_MESGQ___249 = -3,
    SI_TIMER___249 = -2,
    SI_QUEUE___249 = -1,
    SI_USER___249 = 0,
    SI_KERNEL___249 = 128
} ;
enum __anonenum_131038172___249 {
    ILL_ILLOPC___249 = 1,
    ILL_ILLOPN___249 = 2,
    ILL_ILLADR___249 = 3,
    ILL_ILLTRP___249 = 4,
    ILL_PRVOPC___249 = 5,
    ILL_PRVREG___249 = 6,
    ILL_COPROC___249 = 7,
    ILL_BADSTK___249 = 8
} ;
enum __anonenum_452038093___249 {
    FPE_INTDIV___249 = 1,
    FPE_INTOVF___249 = 2,
    FPE_FLTDIV___249 = 3,
    FPE_FLTOVF___249 = 4,
    FPE_FLTUND___249 = 5,
    FPE_FLTRES___249 = 6,
    FPE_FLTINV___249 = 7,
    FPE_FLTSUB___249 = 8
} ;
enum __anonenum_30976155___249 {
    SEGV_MAPERR___249 = 1,
    SEGV_ACCERR___249 = 2,
    SEGV_BNDERR___249 = 3,
    SEGV_PKUERR___249 = 4
} ;
enum __anonenum_1036286214___249 {
    BUS_ADRALN___249 = 1,
    BUS_ADRERR___249 = 2,
    BUS_OBJERR___249 = 3,
    BUS_MCEERR_AR___249 = 4,
    BUS_MCEERR_AO___249 = 5
} ;
enum __anonenum_493465559___249 {
    TRAP_BRKPT___249 = 1,
    TRAP_TRACE___249 = 2
} ;
enum __anonenum_23175539___249 {
    CLD_EXITED___249 = 1,
    CLD_KILLED___249 = 2,
    CLD_DUMPED___249 = 3,
    CLD_TRAPPED___249 = 4,
    CLD_STOPPED___249 = 5,
    CLD_CONTINUED___249 = 6
} ;
enum __anonenum_111643124___249 {
    POLL_IN___249 = 1,
    POLL_OUT___249 = 2,
    POLL_MSG___249 = 3,
    POLL_ERR___249 = 4,
    POLL_PRI___249 = 5,
    POLL_HUP___249 = 6
} ;
enum __anonenum_852341087___249 {
    SIGEV_SIGNAL___249 = 0,
    SIGEV_NONE___249 = 1,
    SIGEV_THREAD___249 = 2,
    SIGEV_THREAD_ID___249 = 4
} ;
enum __anonenum_451154152___249 {
    REG_R8___249 = 0,
    REG_R9___249 = 1,
    REG_R10___249 = 2,
    REG_R11___249 = 3,
    REG_R12___249 = 4,
    REG_R13___249 = 5,
    REG_R14___249 = 6,
    REG_R15___249 = 7,
    REG_RDI___249 = 8,
    REG_RSI___249 = 9,
    REG_RBP___249 = 10,
    REG_RBX___249 = 11,
    REG_RDX___249 = 12,
    REG_RAX___249 = 13,
    REG_RCX___249 = 14,
    REG_RSP___249 = 15,
    REG_RIP___249 = 16,
    REG_EFL___249 = 17,
    REG_CSGSFS___249 = 18,
    REG_ERR___249 = 19,
    REG_TRAPNO___249 = 20,
    REG_OLDMASK___249 = 21,
    REG_CR2___249 = 22
} ;
enum __anonenum_57186863___249 {
    SS_ONSTACK___249 = 1,
    SS_DISABLE___249 = 2
} ;
enum __anonenum_83571709___249 {
    MSG_OOB___249 = 1,
    MSG_PEEK___249 = 2,
    MSG_DONTROUTE___249 = 4,
    MSG_TRYHARD___249 = 4,
    MSG_CTRUNC___249 = 8,
    MSG_PROXY___249 = 16,
    MSG_TRUNC___249 = 32,
    MSG_DONTWAIT___249 = 64,
    MSG_EOR___249 = 128,
    MSG_WAITALL___249 = 256,
    MSG_FIN___249 = 512,
    MSG_SYN___249 = 1024,
    MSG_CONFIRM___249 = 2048,
    MSG_RST___249 = 4096,
    MSG_ERRQUEUE___249 = 8192,
    MSG_NOSIGNAL___249 = 16384,
    MSG_MORE___249 = 32768,
    MSG_WAITFORONE___249 = 65536,
    MSG_BATCH___249 = 262144,
    MSG_ZEROCOPY___249 = 67108864,
    MSG_FASTOPEN___249 = 536870912,
    MSG_CMSG_CLOEXEC___249 = 1073741824
} ;
enum __anonenum_617082774___249 {
    SCM_RIGHTS___249 = 1,
    SCM_CREDENTIALS___249 = 2
} ;
enum __anonenum_606441560___249 {
    SHUT_RD___249 = 0,
    SHUT_WR___249 = 1,
    SHUT_RDWR___249 = 2
} ;
enum __anonenum_681669233___249 {
    IPPROTO_IP___249 = 0,
    IPPROTO_ICMP___249 = 1,
    IPPROTO_IGMP___249 = 2,
    IPPROTO_IPIP___249 = 4,
    IPPROTO_TCP___249 = 6,
    IPPROTO_EGP___249 = 8,
    IPPROTO_PUP___249 = 12,
    IPPROTO_UDP___249 = 17,
    IPPROTO_IDP___249 = 22,
    IPPROTO_TP___249 = 29,
    IPPROTO_DCCP___249 = 33,
    IPPROTO_IPV6___249 = 41,
    IPPROTO_RSVP___249 = 46,
    IPPROTO_GRE___249 = 47,
    IPPROTO_ESP___249 = 50,
    IPPROTO_AH___249 = 51,
    IPPROTO_MTP___249 = 92,
    IPPROTO_BEETPH___249 = 94,
    IPPROTO_ENCAP___249 = 98,
    IPPROTO_PIM___249 = 103,
    IPPROTO_COMP___249 = 108,
    IPPROTO_SCTP___249 = 132,
    IPPROTO_UDPLITE___249 = 136,
    IPPROTO_MPLS___249 = 137,
    IPPROTO_RAW___249 = 255,
    IPPROTO_MAX___249 = 256
} ;
enum __anonenum_218739988___249 {
    IPPROTO_HOPOPTS___249 = 0,
    IPPROTO_ROUTING___249 = 43,
    IPPROTO_FRAGMENT___249 = 44,
    IPPROTO_ICMPV6___249 = 58,
    IPPROTO_NONE___249 = 59,
    IPPROTO_DSTOPTS___249 = 60,
    IPPROTO_MH___249 = 135
} ;
enum __anonenum_662268580___249 {
    IPPORT_ECHO___249 = 7,
    IPPORT_DISCARD___249 = 9,
    IPPORT_SYSTAT___249 = 11,
    IPPORT_DAYTIME___249 = 13,
    IPPORT_NETSTAT___249 = 15,
    IPPORT_FTP___249 = 21,
    IPPORT_TELNET___249 = 23,
    IPPORT_SMTP___249 = 25,
    IPPORT_TIMESERVER___249 = 37,
    IPPORT_NAMESERVER___249 = 42,
    IPPORT_WHOIS___249 = 43,
    IPPORT_MTP___249 = 57,
    IPPORT_TFTP___249 = 69,
    IPPORT_RJE___249 = 77,
    IPPORT_FINGER___249 = 79,
    IPPORT_TTYLINK___249 = 87,
    IPPORT_SUPDUP___249 = 95,
    IPPORT_EXECSERVER___249 = 512,
    IPPORT_LOGINSERVER___249 = 513,
    IPPORT_CMDSERVER___249 = 514,
    IPPORT_EFSSERVER___249 = 520,
    IPPORT_BIFFUDP___249 = 512,
    IPPORT_WHOSERVER___249 = 513,
    IPPORT_ROUTESERVER___249 = 520,
    IPPORT_RESERVED___249 = 1024,
    IPPORT_USERRESERVED___249 = 5000
} ;
enum __anonenum_788308992___249 {
    TCP_ESTABLISHED___249 = 1,
    TCP_SYN_SENT___249 = 2,
    TCP_SYN_RECV___249 = 3,
    TCP_FIN_WAIT1___249 = 4,
    TCP_FIN_WAIT2___249 = 5,
    TCP_TIME_WAIT___249 = 6,
    TCP_CLOSE___249 = 7,
    TCP_CLOSE_WAIT___249 = 8,
    TCP_LAST_ACK___249 = 9,
    TCP_LISTEN___249 = 10,
    TCP_CLOSING___249 = 11
} ;
enum __anonenum_221125648___249 {
    TCP_NO_QUEUE___249 = 0,
    TCP_RECV_QUEUE___249 = 1,
    TCP_SEND_QUEUE___249 = 2,
    TCP_QUEUES_NR___249 = 3
} ;
enum __anonenum_34415463___249 {
    PTHREAD_CREATE_JOINABLE___249 = 0,
    PTHREAD_CREATE_DETACHED___249 = 1
} ;
enum __anonenum_303612439___249 {
    PTHREAD_MUTEX_TIMED_NP___249 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___249 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___249 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___249 = 3,
    PTHREAD_MUTEX_NORMAL___249 = 0,
    PTHREAD_MUTEX_RECURSIVE___249 = 1,
    PTHREAD_MUTEX_ERRORCHECK___249 = 2,
    PTHREAD_MUTEX_DEFAULT___249 = 0,
    PTHREAD_MUTEX_FAST_NP___249 = 0
} ;
enum __anonenum_931900394___249 {
    PTHREAD_MUTEX_STALLED___249 = 0,
    PTHREAD_MUTEX_STALLED_NP___249 = 0,
    PTHREAD_MUTEX_ROBUST___249 = 1,
    PTHREAD_MUTEX_ROBUST_NP___249 = 1
} ;
enum __anonenum_205214487___249 {
    PTHREAD_PRIO_NONE___249 = 0,
    PTHREAD_PRIO_INHERIT___249 = 1,
    PTHREAD_PRIO_PROTECT___249 = 2
} ;
enum __anonenum_25043950___249 {
    PTHREAD_RWLOCK_PREFER_READER_NP___249 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___249 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___249 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___249 = 0
} ;
enum __anonenum_436439511___249 {
    PTHREAD_INHERIT_SCHED___249 = 0,
    PTHREAD_EXPLICIT_SCHED___249 = 1
} ;
enum __anonenum_998661166___249 {
    PTHREAD_SCOPE_SYSTEM___249 = 0,
    PTHREAD_SCOPE_PROCESS___249 = 1
} ;
enum __anonenum_146137331___249 {
    PTHREAD_PROCESS_PRIVATE___249 = 0,
    PTHREAD_PROCESS_SHARED___249 = 1
} ;
enum __anonenum_53396917___249 {
    PTHREAD_CANCEL_ENABLE___249 = 0,
    PTHREAD_CANCEL_DISABLE___249 = 1
} ;
enum __anonenum_904563783___249 {
    PTHREAD_CANCEL_DEFERRED___249 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___249 = 1
} ;
enum __anonenum_672052974___249 {
    SSL_CT_VALIDATION_PERMISSIVE___249 = 0,
    SSL_CT_VALIDATION_STRICT___249 = 1
} ;
struct s_xdlclass {
   struct s_xdlclass *next ;
   unsigned long ha ;
   char const   *line ;
   long size ;
   long idx ;
   long len1 ;
   long len2 ;
};
typedef struct s_xdlclass xdlclass_t;
struct s_xdlclassifier {
   unsigned int hbits ;
   long hsize ;
   xdlclass_t **rchash ;
   chastore_t ncha ;
   xdlclass_t **rcrecs ;
   long alloc ;
   long count ;
   long flags ;
};
typedef struct s_xdlclassifier xdlclassifier_t;
enum __anonenum_437032235___250 {
    _PC_LINK_MAX___250 = 0,
    _PC_MAX_CANON___250 = 1,
    _PC_MAX_INPUT___250 = 2,
    _PC_NAME_MAX___250 = 3,
    _PC_PATH_MAX___250 = 4,
    _PC_PIPE_BUF___250 = 5,
    _PC_CHOWN_RESTRICTED___250 = 6,
    _PC_NO_TRUNC___250 = 7,
    _PC_VDISABLE___250 = 8,
    _PC_SYNC_IO___250 = 9,
    _PC_ASYNC_IO___250 = 10,
    _PC_PRIO_IO___250 = 11,
    _PC_SOCK_MAXBUF___250 = 12,
    _PC_FILESIZEBITS___250 = 13,
    _PC_REC_INCR_XFER_SIZE___250 = 14,
    _PC_REC_MAX_XFER_SIZE___250 = 15,
    _PC_REC_MIN_XFER_SIZE___250 = 16,
    _PC_REC_XFER_ALIGN___250 = 17,
    _PC_ALLOC_SIZE_MIN___250 = 18,
    _PC_SYMLINK_MAX___250 = 19,
    _PC_2_SYMLINKS___250 = 20
} ;
enum __anonenum_315186338___250 {
    _SC_ARG_MAX___250 = 0,
    _SC_CHILD_MAX___250 = 1,
    _SC_CLK_TCK___250 = 2,
    _SC_NGROUPS_MAX___250 = 3,
    _SC_OPEN_MAX___250 = 4,
    _SC_STREAM_MAX___250 = 5,
    _SC_TZNAME_MAX___250 = 6,
    _SC_JOB_CONTROL___250 = 7,
    _SC_SAVED_IDS___250 = 8,
    _SC_REALTIME_SIGNALS___250 = 9,
    _SC_PRIORITY_SCHEDULING___250 = 10,
    _SC_TIMERS___250 = 11,
    _SC_ASYNCHRONOUS_IO___250 = 12,
    _SC_PRIORITIZED_IO___250 = 13,
    _SC_SYNCHRONIZED_IO___250 = 14,
    _SC_FSYNC___250 = 15,
    _SC_MAPPED_FILES___250 = 16,
    _SC_MEMLOCK___250 = 17,
    _SC_MEMLOCK_RANGE___250 = 18,
    _SC_MEMORY_PROTECTION___250 = 19,
    _SC_MESSAGE_PASSING___250 = 20,
    _SC_SEMAPHORES___250 = 21,
    _SC_SHARED_MEMORY_OBJECTS___250 = 22,
    _SC_AIO_LISTIO_MAX___250 = 23,
    _SC_AIO_MAX___250 = 24,
    _SC_AIO_PRIO_DELTA_MAX___250 = 25,
    _SC_DELAYTIMER_MAX___250 = 26,
    _SC_MQ_OPEN_MAX___250 = 27,
    _SC_MQ_PRIO_MAX___250 = 28,
    _SC_VERSION___250 = 29,
    _SC_PAGESIZE___250 = 30,
    _SC_RTSIG_MAX___250 = 31,
    _SC_SEM_NSEMS_MAX___250 = 32,
    _SC_SEM_VALUE_MAX___250 = 33,
    _SC_SIGQUEUE_MAX___250 = 34,
    _SC_TIMER_MAX___250 = 35,
    _SC_BC_BASE_MAX___250 = 36,
    _SC_BC_DIM_MAX___250 = 37,
    _SC_BC_SCALE_MAX___250 = 38,
    _SC_BC_STRING_MAX___250 = 39,
    _SC_COLL_WEIGHTS_MAX___250 = 40,
    _SC_EQUIV_CLASS_MAX___250 = 41,
    _SC_EXPR_NEST_MAX___250 = 42,
    _SC_LINE_MAX___250 = 43,
    _SC_RE_DUP_MAX___250 = 44,
    _SC_CHARCLASS_NAME_MAX___250 = 45,
    _SC_2_VERSION___250 = 46,
    _SC_2_C_BIND___250 = 47,
    _SC_2_C_DEV___250 = 48,
    _SC_2_FORT_DEV___250 = 49,
    _SC_2_FORT_RUN___250 = 50,
    _SC_2_SW_DEV___250 = 51,
    _SC_2_LOCALEDEF___250 = 52,
    _SC_PII___250 = 53,
    _SC_PII_XTI___250 = 54,
    _SC_PII_SOCKET___250 = 55,
    _SC_PII_INTERNET___250 = 56,
    _SC_PII_OSI___250 = 57,
    _SC_POLL___250 = 58,
    _SC_SELECT___250 = 59,
    _SC_UIO_MAXIOV___250 = 60,
    _SC_IOV_MAX___250 = 60,
    _SC_PII_INTERNET_STREAM___250 = 61,
    _SC_PII_INTERNET_DGRAM___250 = 62,
    _SC_PII_OSI_COTS___250 = 63,
    _SC_PII_OSI_CLTS___250 = 64,
    _SC_PII_OSI_M___250 = 65,
    _SC_T_IOV_MAX___250 = 66,
    _SC_THREADS___250 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___250 = 68,
    _SC_GETGR_R_SIZE_MAX___250 = 69,
    _SC_GETPW_R_SIZE_MAX___250 = 70,
    _SC_LOGIN_NAME_MAX___250 = 71,
    _SC_TTY_NAME_MAX___250 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___250 = 73,
    _SC_THREAD_KEYS_MAX___250 = 74,
    _SC_THREAD_STACK_MIN___250 = 75,
    _SC_THREAD_THREADS_MAX___250 = 76,
    _SC_THREAD_ATTR_STACKADDR___250 = 77,
    _SC_THREAD_ATTR_STACKSIZE___250 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___250 = 79,
    _SC_THREAD_PRIO_INHERIT___250 = 80,
    _SC_THREAD_PRIO_PROTECT___250 = 81,
    _SC_THREAD_PROCESS_SHARED___250 = 82,
    _SC_NPROCESSORS_CONF___250 = 83,
    _SC_NPROCESSORS_ONLN___250 = 84,
    _SC_PHYS_PAGES___250 = 85,
    _SC_AVPHYS_PAGES___250 = 86,
    _SC_ATEXIT_MAX___250 = 87,
    _SC_PASS_MAX___250 = 88,
    _SC_XOPEN_VERSION___250 = 89,
    _SC_XOPEN_XCU_VERSION___250 = 90,
    _SC_XOPEN_UNIX___250 = 91,
    _SC_XOPEN_CRYPT___250 = 92,
    _SC_XOPEN_ENH_I18N___250 = 93,
    _SC_XOPEN_SHM___250 = 94,
    _SC_2_CHAR_TERM___250 = 95,
    _SC_2_C_VERSION___250 = 96,
    _SC_2_UPE___250 = 97,
    _SC_XOPEN_XPG2___250 = 98,
    _SC_XOPEN_XPG3___250 = 99,
    _SC_XOPEN_XPG4___250 = 100,
    _SC_CHAR_BIT___250 = 101,
    _SC_CHAR_MAX___250 = 102,
    _SC_CHAR_MIN___250 = 103,
    _SC_INT_MAX___250 = 104,
    _SC_INT_MIN___250 = 105,
    _SC_LONG_BIT___250 = 106,
    _SC_WORD_BIT___250 = 107,
    _SC_MB_LEN_MAX___250 = 108,
    _SC_NZERO___250 = 109,
    _SC_SSIZE_MAX___250 = 110,
    _SC_SCHAR_MAX___250 = 111,
    _SC_SCHAR_MIN___250 = 112,
    _SC_SHRT_MAX___250 = 113,
    _SC_SHRT_MIN___250 = 114,
    _SC_UCHAR_MAX___250 = 115,
    _SC_UINT_MAX___250 = 116,
    _SC_ULONG_MAX___250 = 117,
    _SC_USHRT_MAX___250 = 118,
    _SC_NL_ARGMAX___250 = 119,
    _SC_NL_LANGMAX___250 = 120,
    _SC_NL_MSGMAX___250 = 121,
    _SC_NL_NMAX___250 = 122,
    _SC_NL_SETMAX___250 = 123,
    _SC_NL_TEXTMAX___250 = 124,
    _SC_XBS5_ILP32_OFF32___250 = 125,
    _SC_XBS5_ILP32_OFFBIG___250 = 126,
    _SC_XBS5_LP64_OFF64___250 = 127,
    _SC_XBS5_LPBIG_OFFBIG___250 = 128,
    _SC_XOPEN_LEGACY___250 = 129,
    _SC_XOPEN_REALTIME___250 = 130,
    _SC_XOPEN_REALTIME_THREADS___250 = 131,
    _SC_ADVISORY_INFO___250 = 132,
    _SC_BARRIERS___250 = 133,
    _SC_BASE___250 = 134,
    _SC_C_LANG_SUPPORT___250 = 135,
    _SC_C_LANG_SUPPORT_R___250 = 136,
    _SC_CLOCK_SELECTION___250 = 137,
    _SC_CPUTIME___250 = 138,
    _SC_THREAD_CPUTIME___250 = 139,
    _SC_DEVICE_IO___250 = 140,
    _SC_DEVICE_SPECIFIC___250 = 141,
    _SC_DEVICE_SPECIFIC_R___250 = 142,
    _SC_FD_MGMT___250 = 143,
    _SC_FIFO___250 = 144,
    _SC_PIPE___250 = 145,
    _SC_FILE_ATTRIBUTES___250 = 146,
    _SC_FILE_LOCKING___250 = 147,
    _SC_FILE_SYSTEM___250 = 148,
    _SC_MONOTONIC_CLOCK___250 = 149,
    _SC_MULTI_PROCESS___250 = 150,
    _SC_SINGLE_PROCESS___250 = 151,
    _SC_NETWORKING___250 = 152,
    _SC_READER_WRITER_LOCKS___250 = 153,
    _SC_SPIN_LOCKS___250 = 154,
    _SC_REGEXP___250 = 155,
    _SC_REGEX_VERSION___250 = 156,
    _SC_SHELL___250 = 157,
    _SC_SIGNALS___250 = 158,
    _SC_SPAWN___250 = 159,
    _SC_SPORADIC_SERVER___250 = 160,
    _SC_THREAD_SPORADIC_SERVER___250 = 161,
    _SC_SYSTEM_DATABASE___250 = 162,
    _SC_SYSTEM_DATABASE_R___250 = 163,
    _SC_TIMEOUTS___250 = 164,
    _SC_TYPED_MEMORY_OBJECTS___250 = 165,
    _SC_USER_GROUPS___250 = 166,
    _SC_USER_GROUPS_R___250 = 167,
    _SC_2_PBS___250 = 168,
    _SC_2_PBS_ACCOUNTING___250 = 169,
    _SC_2_PBS_LOCATE___250 = 170,
    _SC_2_PBS_MESSAGE___250 = 171,
    _SC_2_PBS_TRACK___250 = 172,
    _SC_SYMLOOP_MAX___250 = 173,
    _SC_STREAMS___250 = 174,
    _SC_2_PBS_CHECKPOINT___250 = 175,
    _SC_V6_ILP32_OFF32___250 = 176,
    _SC_V6_ILP32_OFFBIG___250 = 177,
    _SC_V6_LP64_OFF64___250 = 178,
    _SC_V6_LPBIG_OFFBIG___250 = 179,
    _SC_HOST_NAME_MAX___250 = 180,
    _SC_TRACE___250 = 181,
    _SC_TRACE_EVENT_FILTER___250 = 182,
    _SC_TRACE_INHERIT___250 = 183,
    _SC_TRACE_LOG___250 = 184,
    _SC_LEVEL1_ICACHE_SIZE___250 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___250 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___250 = 187,
    _SC_LEVEL1_DCACHE_SIZE___250 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___250 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___250 = 190,
    _SC_LEVEL2_CACHE_SIZE___250 = 191,
    _SC_LEVEL2_CACHE_ASSOC___250 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___250 = 193,
    _SC_LEVEL3_CACHE_SIZE___250 = 194,
    _SC_LEVEL3_CACHE_ASSOC___250 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___250 = 196,
    _SC_LEVEL4_CACHE_SIZE___250 = 197,
    _SC_LEVEL4_CACHE_ASSOC___250 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___250 = 199,
    _SC_IPV6___250 = 235,
    _SC_RAW_SOCKETS___250 = 236,
    _SC_V7_ILP32_OFF32___250 = 237,
    _SC_V7_ILP32_OFFBIG___250 = 238,
    _SC_V7_LP64_OFF64___250 = 239,
    _SC_V7_LPBIG_OFFBIG___250 = 240,
    _SC_SS_REPL_MAX___250 = 241,
    _SC_TRACE_EVENT_NAME_MAX___250 = 242,
    _SC_TRACE_NAME_MAX___250 = 243,
    _SC_TRACE_SYS_MAX___250 = 244,
    _SC_TRACE_USER_EVENT_MAX___250 = 245,
    _SC_XOPEN_STREAMS___250 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___250 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___250 = 248
} ;
enum __anonenum_875524036___250 {
    _CS_PATH___250 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___250 = 1,
    _CS_GNU_LIBC_VERSION___250 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___250 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___250 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___250 = 5,
    _CS_LFS_CFLAGS___250 = 1000,
    _CS_LFS_LDFLAGS___250 = 1001,
    _CS_LFS_LIBS___250 = 1002,
    _CS_LFS_LINTFLAGS___250 = 1003,
    _CS_LFS64_CFLAGS___250 = 1004,
    _CS_LFS64_LDFLAGS___250 = 1005,
    _CS_LFS64_LIBS___250 = 1006,
    _CS_LFS64_LINTFLAGS___250 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___250 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___250 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___250 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___250 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___250 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___250 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___250 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___250 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___250 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___250 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___250 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___250 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___250 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___250 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___250 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___250 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___250 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___250 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___250 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___250 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___250 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___250 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___250 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___250 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___250 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___250 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___250 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___250 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___250 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___250 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___250 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___250 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___250 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___250 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___250 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___250 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___250 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___250 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___250 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___250 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___250 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___250 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___250 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___250 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___250 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___250 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___250 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___250 = 1147,
    _CS_V6_ENV___250 = 1148,
    _CS_V7_ENV___250 = 1149
} ;
enum __anonenum_513775621___250 {
    DT_UNKNOWN___250 = 0,
    DT_FIFO___250 = 1,
    DT_CHR___250 = 2,
    DT_DIR___250 = 4,
    DT_BLK___250 = 6,
    DT_REG___250 = 8,
    DT_LNK___250 = 10,
    DT_SOCK___250 = 12,
    DT_WHT___250 = 14
} ;
enum __anonenum_77002343___250 {
    SI_ASYNCNL___250 = -60,
    SI_TKILL___250 = -6,
    SI_SIGIO___250 = -5,
    SI_ASYNCIO___250 = -4,
    SI_MESGQ___250 = -3,
    SI_TIMER___250 = -2,
    SI_QUEUE___250 = -1,
    SI_USER___250 = 0,
    SI_KERNEL___250 = 128
} ;
enum __anonenum_131038172___250 {
    ILL_ILLOPC___250 = 1,
    ILL_ILLOPN___250 = 2,
    ILL_ILLADR___250 = 3,
    ILL_ILLTRP___250 = 4,
    ILL_PRVOPC___250 = 5,
    ILL_PRVREG___250 = 6,
    ILL_COPROC___250 = 7,
    ILL_BADSTK___250 = 8
} ;
enum __anonenum_452038093___250 {
    FPE_INTDIV___250 = 1,
    FPE_INTOVF___250 = 2,
    FPE_FLTDIV___250 = 3,
    FPE_FLTOVF___250 = 4,
    FPE_FLTUND___250 = 5,
    FPE_FLTRES___250 = 6,
    FPE_FLTINV___250 = 7,
    FPE_FLTSUB___250 = 8
} ;
enum __anonenum_30976155___250 {
    SEGV_MAPERR___250 = 1,
    SEGV_ACCERR___250 = 2,
    SEGV_BNDERR___250 = 3,
    SEGV_PKUERR___250 = 4
} ;
enum __anonenum_1036286214___250 {
    BUS_ADRALN___250 = 1,
    BUS_ADRERR___250 = 2,
    BUS_OBJERR___250 = 3,
    BUS_MCEERR_AR___250 = 4,
    BUS_MCEERR_AO___250 = 5
} ;
enum __anonenum_493465559___250 {
    TRAP_BRKPT___250 = 1,
    TRAP_TRACE___250 = 2
} ;
enum __anonenum_23175539___250 {
    CLD_EXITED___250 = 1,
    CLD_KILLED___250 = 2,
    CLD_DUMPED___250 = 3,
    CLD_TRAPPED___250 = 4,
    CLD_STOPPED___250 = 5,
    CLD_CONTINUED___250 = 6
} ;
enum __anonenum_111643124___250 {
    POLL_IN___250 = 1,
    POLL_OUT___250 = 2,
    POLL_MSG___250 = 3,
    POLL_ERR___250 = 4,
    POLL_PRI___250 = 5,
    POLL_HUP___250 = 6
} ;
enum __anonenum_852341087___250 {
    SIGEV_SIGNAL___250 = 0,
    SIGEV_NONE___250 = 1,
    SIGEV_THREAD___250 = 2,
    SIGEV_THREAD_ID___250 = 4
} ;
enum __anonenum_451154152___250 {
    REG_R8___250 = 0,
    REG_R9___250 = 1,
    REG_R10___250 = 2,
    REG_R11___250 = 3,
    REG_R12___250 = 4,
    REG_R13___250 = 5,
    REG_R14___250 = 6,
    REG_R15___250 = 7,
    REG_RDI___250 = 8,
    REG_RSI___250 = 9,
    REG_RBP___250 = 10,
    REG_RBX___250 = 11,
    REG_RDX___250 = 12,
    REG_RAX___250 = 13,
    REG_RCX___250 = 14,
    REG_RSP___250 = 15,
    REG_RIP___250 = 16,
    REG_EFL___250 = 17,
    REG_CSGSFS___250 = 18,
    REG_ERR___250 = 19,
    REG_TRAPNO___250 = 20,
    REG_OLDMASK___250 = 21,
    REG_CR2___250 = 22
} ;
enum __anonenum_57186863___250 {
    SS_ONSTACK___250 = 1,
    SS_DISABLE___250 = 2
} ;
enum __anonenum_83571709___250 {
    MSG_OOB___250 = 1,
    MSG_PEEK___250 = 2,
    MSG_DONTROUTE___250 = 4,
    MSG_TRYHARD___250 = 4,
    MSG_CTRUNC___250 = 8,
    MSG_PROXY___250 = 16,
    MSG_TRUNC___250 = 32,
    MSG_DONTWAIT___250 = 64,
    MSG_EOR___250 = 128,
    MSG_WAITALL___250 = 256,
    MSG_FIN___250 = 512,
    MSG_SYN___250 = 1024,
    MSG_CONFIRM___250 = 2048,
    MSG_RST___250 = 4096,
    MSG_ERRQUEUE___250 = 8192,
    MSG_NOSIGNAL___250 = 16384,
    MSG_MORE___250 = 32768,
    MSG_WAITFORONE___250 = 65536,
    MSG_BATCH___250 = 262144,
    MSG_ZEROCOPY___250 = 67108864,
    MSG_FASTOPEN___250 = 536870912,
    MSG_CMSG_CLOEXEC___250 = 1073741824
} ;
enum __anonenum_617082774___250 {
    SCM_RIGHTS___250 = 1,
    SCM_CREDENTIALS___250 = 2
} ;
enum __anonenum_606441560___250 {
    SHUT_RD___250 = 0,
    SHUT_WR___250 = 1,
    SHUT_RDWR___250 = 2
} ;
enum __anonenum_681669233___250 {
    IPPROTO_IP___250 = 0,
    IPPROTO_ICMP___250 = 1,
    IPPROTO_IGMP___250 = 2,
    IPPROTO_IPIP___250 = 4,
    IPPROTO_TCP___250 = 6,
    IPPROTO_EGP___250 = 8,
    IPPROTO_PUP___250 = 12,
    IPPROTO_UDP___250 = 17,
    IPPROTO_IDP___250 = 22,
    IPPROTO_TP___250 = 29,
    IPPROTO_DCCP___250 = 33,
    IPPROTO_IPV6___250 = 41,
    IPPROTO_RSVP___250 = 46,
    IPPROTO_GRE___250 = 47,
    IPPROTO_ESP___250 = 50,
    IPPROTO_AH___250 = 51,
    IPPROTO_MTP___250 = 92,
    IPPROTO_BEETPH___250 = 94,
    IPPROTO_ENCAP___250 = 98,
    IPPROTO_PIM___250 = 103,
    IPPROTO_COMP___250 = 108,
    IPPROTO_SCTP___250 = 132,
    IPPROTO_UDPLITE___250 = 136,
    IPPROTO_MPLS___250 = 137,
    IPPROTO_RAW___250 = 255,
    IPPROTO_MAX___250 = 256
} ;
enum __anonenum_218739988___250 {
    IPPROTO_HOPOPTS___250 = 0,
    IPPROTO_ROUTING___250 = 43,
    IPPROTO_FRAGMENT___250 = 44,
    IPPROTO_ICMPV6___250 = 58,
    IPPROTO_NONE___250 = 59,
    IPPROTO_DSTOPTS___250 = 60,
    IPPROTO_MH___250 = 135
} ;
enum __anonenum_662268580___250 {
    IPPORT_ECHO___250 = 7,
    IPPORT_DISCARD___250 = 9,
    IPPORT_SYSTAT___250 = 11,
    IPPORT_DAYTIME___250 = 13,
    IPPORT_NETSTAT___250 = 15,
    IPPORT_FTP___250 = 21,
    IPPORT_TELNET___250 = 23,
    IPPORT_SMTP___250 = 25,
    IPPORT_TIMESERVER___250 = 37,
    IPPORT_NAMESERVER___250 = 42,
    IPPORT_WHOIS___250 = 43,
    IPPORT_MTP___250 = 57,
    IPPORT_TFTP___250 = 69,
    IPPORT_RJE___250 = 77,
    IPPORT_FINGER___250 = 79,
    IPPORT_TTYLINK___250 = 87,
    IPPORT_SUPDUP___250 = 95,
    IPPORT_EXECSERVER___250 = 512,
    IPPORT_LOGINSERVER___250 = 513,
    IPPORT_CMDSERVER___250 = 514,
    IPPORT_EFSSERVER___250 = 520,
    IPPORT_BIFFUDP___250 = 512,
    IPPORT_WHOSERVER___250 = 513,
    IPPORT_ROUTESERVER___250 = 520,
    IPPORT_RESERVED___250 = 1024,
    IPPORT_USERRESERVED___250 = 5000
} ;
enum __anonenum_788308992___250 {
    TCP_ESTABLISHED___250 = 1,
    TCP_SYN_SENT___250 = 2,
    TCP_SYN_RECV___250 = 3,
    TCP_FIN_WAIT1___250 = 4,
    TCP_FIN_WAIT2___250 = 5,
    TCP_TIME_WAIT___250 = 6,
    TCP_CLOSE___250 = 7,
    TCP_CLOSE_WAIT___250 = 8,
    TCP_LAST_ACK___250 = 9,
    TCP_LISTEN___250 = 10,
    TCP_CLOSING___250 = 11
} ;
enum __anonenum_221125648___250 {
    TCP_NO_QUEUE___250 = 0,
    TCP_RECV_QUEUE___250 = 1,
    TCP_SEND_QUEUE___250 = 2,
    TCP_QUEUES_NR___250 = 3
} ;
enum __anonenum_34415463___250 {
    PTHREAD_CREATE_JOINABLE___250 = 0,
    PTHREAD_CREATE_DETACHED___250 = 1
} ;
enum __anonenum_303612439___250 {
    PTHREAD_MUTEX_TIMED_NP___250 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___250 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___250 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___250 = 3,
    PTHREAD_MUTEX_NORMAL___250 = 0,
    PTHREAD_MUTEX_RECURSIVE___250 = 1,
    PTHREAD_MUTEX_ERRORCHECK___250 = 2,
    PTHREAD_MUTEX_DEFAULT___250 = 0,
    PTHREAD_MUTEX_FAST_NP___250 = 0
} ;
enum __anonenum_931900394___250 {
    PTHREAD_MUTEX_STALLED___250 = 0,
    PTHREAD_MUTEX_STALLED_NP___250 = 0,
    PTHREAD_MUTEX_ROBUST___250 = 1,
    PTHREAD_MUTEX_ROBUST_NP___250 = 1
} ;
enum __anonenum_205214487___250 {
    PTHREAD_PRIO_NONE___250 = 0,
    PTHREAD_PRIO_INHERIT___250 = 1,
    PTHREAD_PRIO_PROTECT___250 = 2
} ;
enum __anonenum_25043950___250 {
    PTHREAD_RWLOCK_PREFER_READER_NP___250 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___250 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___250 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___250 = 0
} ;
enum __anonenum_436439511___250 {
    PTHREAD_INHERIT_SCHED___250 = 0,
    PTHREAD_EXPLICIT_SCHED___250 = 1
} ;
enum __anonenum_998661166___250 {
    PTHREAD_SCOPE_SYSTEM___250 = 0,
    PTHREAD_SCOPE_PROCESS___250 = 1
} ;
enum __anonenum_146137331___250 {
    PTHREAD_PROCESS_PRIVATE___250 = 0,
    PTHREAD_PROCESS_SHARED___250 = 1
} ;
enum __anonenum_53396917___250 {
    PTHREAD_CANCEL_ENABLE___250 = 0,
    PTHREAD_CANCEL_DISABLE___250 = 1
} ;
enum __anonenum_904563783___250 {
    PTHREAD_CANCEL_DEFERRED___250 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___250 = 1
} ;
enum __anonenum_672052974___250 {
    SSL_CT_VALIDATION_PERMISSIVE___250 = 0,
    SSL_CT_VALIDATION_STRICT___250 = 1
} ;
enum __anonenum_437032235___251 {
    _PC_LINK_MAX___251 = 0,
    _PC_MAX_CANON___251 = 1,
    _PC_MAX_INPUT___251 = 2,
    _PC_NAME_MAX___251 = 3,
    _PC_PATH_MAX___251 = 4,
    _PC_PIPE_BUF___251 = 5,
    _PC_CHOWN_RESTRICTED___251 = 6,
    _PC_NO_TRUNC___251 = 7,
    _PC_VDISABLE___251 = 8,
    _PC_SYNC_IO___251 = 9,
    _PC_ASYNC_IO___251 = 10,
    _PC_PRIO_IO___251 = 11,
    _PC_SOCK_MAXBUF___251 = 12,
    _PC_FILESIZEBITS___251 = 13,
    _PC_REC_INCR_XFER_SIZE___251 = 14,
    _PC_REC_MAX_XFER_SIZE___251 = 15,
    _PC_REC_MIN_XFER_SIZE___251 = 16,
    _PC_REC_XFER_ALIGN___251 = 17,
    _PC_ALLOC_SIZE_MIN___251 = 18,
    _PC_SYMLINK_MAX___251 = 19,
    _PC_2_SYMLINKS___251 = 20
} ;
enum __anonenum_315186338___251 {
    _SC_ARG_MAX___251 = 0,
    _SC_CHILD_MAX___251 = 1,
    _SC_CLK_TCK___251 = 2,
    _SC_NGROUPS_MAX___251 = 3,
    _SC_OPEN_MAX___251 = 4,
    _SC_STREAM_MAX___251 = 5,
    _SC_TZNAME_MAX___251 = 6,
    _SC_JOB_CONTROL___251 = 7,
    _SC_SAVED_IDS___251 = 8,
    _SC_REALTIME_SIGNALS___251 = 9,
    _SC_PRIORITY_SCHEDULING___251 = 10,
    _SC_TIMERS___251 = 11,
    _SC_ASYNCHRONOUS_IO___251 = 12,
    _SC_PRIORITIZED_IO___251 = 13,
    _SC_SYNCHRONIZED_IO___251 = 14,
    _SC_FSYNC___251 = 15,
    _SC_MAPPED_FILES___251 = 16,
    _SC_MEMLOCK___251 = 17,
    _SC_MEMLOCK_RANGE___251 = 18,
    _SC_MEMORY_PROTECTION___251 = 19,
    _SC_MESSAGE_PASSING___251 = 20,
    _SC_SEMAPHORES___251 = 21,
    _SC_SHARED_MEMORY_OBJECTS___251 = 22,
    _SC_AIO_LISTIO_MAX___251 = 23,
    _SC_AIO_MAX___251 = 24,
    _SC_AIO_PRIO_DELTA_MAX___251 = 25,
    _SC_DELAYTIMER_MAX___251 = 26,
    _SC_MQ_OPEN_MAX___251 = 27,
    _SC_MQ_PRIO_MAX___251 = 28,
    _SC_VERSION___251 = 29,
    _SC_PAGESIZE___251 = 30,
    _SC_RTSIG_MAX___251 = 31,
    _SC_SEM_NSEMS_MAX___251 = 32,
    _SC_SEM_VALUE_MAX___251 = 33,
    _SC_SIGQUEUE_MAX___251 = 34,
    _SC_TIMER_MAX___251 = 35,
    _SC_BC_BASE_MAX___251 = 36,
    _SC_BC_DIM_MAX___251 = 37,
    _SC_BC_SCALE_MAX___251 = 38,
    _SC_BC_STRING_MAX___251 = 39,
    _SC_COLL_WEIGHTS_MAX___251 = 40,
    _SC_EQUIV_CLASS_MAX___251 = 41,
    _SC_EXPR_NEST_MAX___251 = 42,
    _SC_LINE_MAX___251 = 43,
    _SC_RE_DUP_MAX___251 = 44,
    _SC_CHARCLASS_NAME_MAX___251 = 45,
    _SC_2_VERSION___251 = 46,
    _SC_2_C_BIND___251 = 47,
    _SC_2_C_DEV___251 = 48,
    _SC_2_FORT_DEV___251 = 49,
    _SC_2_FORT_RUN___251 = 50,
    _SC_2_SW_DEV___251 = 51,
    _SC_2_LOCALEDEF___251 = 52,
    _SC_PII___251 = 53,
    _SC_PII_XTI___251 = 54,
    _SC_PII_SOCKET___251 = 55,
    _SC_PII_INTERNET___251 = 56,
    _SC_PII_OSI___251 = 57,
    _SC_POLL___251 = 58,
    _SC_SELECT___251 = 59,
    _SC_UIO_MAXIOV___251 = 60,
    _SC_IOV_MAX___251 = 60,
    _SC_PII_INTERNET_STREAM___251 = 61,
    _SC_PII_INTERNET_DGRAM___251 = 62,
    _SC_PII_OSI_COTS___251 = 63,
    _SC_PII_OSI_CLTS___251 = 64,
    _SC_PII_OSI_M___251 = 65,
    _SC_T_IOV_MAX___251 = 66,
    _SC_THREADS___251 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___251 = 68,
    _SC_GETGR_R_SIZE_MAX___251 = 69,
    _SC_GETPW_R_SIZE_MAX___251 = 70,
    _SC_LOGIN_NAME_MAX___251 = 71,
    _SC_TTY_NAME_MAX___251 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___251 = 73,
    _SC_THREAD_KEYS_MAX___251 = 74,
    _SC_THREAD_STACK_MIN___251 = 75,
    _SC_THREAD_THREADS_MAX___251 = 76,
    _SC_THREAD_ATTR_STACKADDR___251 = 77,
    _SC_THREAD_ATTR_STACKSIZE___251 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___251 = 79,
    _SC_THREAD_PRIO_INHERIT___251 = 80,
    _SC_THREAD_PRIO_PROTECT___251 = 81,
    _SC_THREAD_PROCESS_SHARED___251 = 82,
    _SC_NPROCESSORS_CONF___251 = 83,
    _SC_NPROCESSORS_ONLN___251 = 84,
    _SC_PHYS_PAGES___251 = 85,
    _SC_AVPHYS_PAGES___251 = 86,
    _SC_ATEXIT_MAX___251 = 87,
    _SC_PASS_MAX___251 = 88,
    _SC_XOPEN_VERSION___251 = 89,
    _SC_XOPEN_XCU_VERSION___251 = 90,
    _SC_XOPEN_UNIX___251 = 91,
    _SC_XOPEN_CRYPT___251 = 92,
    _SC_XOPEN_ENH_I18N___251 = 93,
    _SC_XOPEN_SHM___251 = 94,
    _SC_2_CHAR_TERM___251 = 95,
    _SC_2_C_VERSION___251 = 96,
    _SC_2_UPE___251 = 97,
    _SC_XOPEN_XPG2___251 = 98,
    _SC_XOPEN_XPG3___251 = 99,
    _SC_XOPEN_XPG4___251 = 100,
    _SC_CHAR_BIT___251 = 101,
    _SC_CHAR_MAX___251 = 102,
    _SC_CHAR_MIN___251 = 103,
    _SC_INT_MAX___251 = 104,
    _SC_INT_MIN___251 = 105,
    _SC_LONG_BIT___251 = 106,
    _SC_WORD_BIT___251 = 107,
    _SC_MB_LEN_MAX___251 = 108,
    _SC_NZERO___251 = 109,
    _SC_SSIZE_MAX___251 = 110,
    _SC_SCHAR_MAX___251 = 111,
    _SC_SCHAR_MIN___251 = 112,
    _SC_SHRT_MAX___251 = 113,
    _SC_SHRT_MIN___251 = 114,
    _SC_UCHAR_MAX___251 = 115,
    _SC_UINT_MAX___251 = 116,
    _SC_ULONG_MAX___251 = 117,
    _SC_USHRT_MAX___251 = 118,
    _SC_NL_ARGMAX___251 = 119,
    _SC_NL_LANGMAX___251 = 120,
    _SC_NL_MSGMAX___251 = 121,
    _SC_NL_NMAX___251 = 122,
    _SC_NL_SETMAX___251 = 123,
    _SC_NL_TEXTMAX___251 = 124,
    _SC_XBS5_ILP32_OFF32___251 = 125,
    _SC_XBS5_ILP32_OFFBIG___251 = 126,
    _SC_XBS5_LP64_OFF64___251 = 127,
    _SC_XBS5_LPBIG_OFFBIG___251 = 128,
    _SC_XOPEN_LEGACY___251 = 129,
    _SC_XOPEN_REALTIME___251 = 130,
    _SC_XOPEN_REALTIME_THREADS___251 = 131,
    _SC_ADVISORY_INFO___251 = 132,
    _SC_BARRIERS___251 = 133,
    _SC_BASE___251 = 134,
    _SC_C_LANG_SUPPORT___251 = 135,
    _SC_C_LANG_SUPPORT_R___251 = 136,
    _SC_CLOCK_SELECTION___251 = 137,
    _SC_CPUTIME___251 = 138,
    _SC_THREAD_CPUTIME___251 = 139,
    _SC_DEVICE_IO___251 = 140,
    _SC_DEVICE_SPECIFIC___251 = 141,
    _SC_DEVICE_SPECIFIC_R___251 = 142,
    _SC_FD_MGMT___251 = 143,
    _SC_FIFO___251 = 144,
    _SC_PIPE___251 = 145,
    _SC_FILE_ATTRIBUTES___251 = 146,
    _SC_FILE_LOCKING___251 = 147,
    _SC_FILE_SYSTEM___251 = 148,
    _SC_MONOTONIC_CLOCK___251 = 149,
    _SC_MULTI_PROCESS___251 = 150,
    _SC_SINGLE_PROCESS___251 = 151,
    _SC_NETWORKING___251 = 152,
    _SC_READER_WRITER_LOCKS___251 = 153,
    _SC_SPIN_LOCKS___251 = 154,
    _SC_REGEXP___251 = 155,
    _SC_REGEX_VERSION___251 = 156,
    _SC_SHELL___251 = 157,
    _SC_SIGNALS___251 = 158,
    _SC_SPAWN___251 = 159,
    _SC_SPORADIC_SERVER___251 = 160,
    _SC_THREAD_SPORADIC_SERVER___251 = 161,
    _SC_SYSTEM_DATABASE___251 = 162,
    _SC_SYSTEM_DATABASE_R___251 = 163,
    _SC_TIMEOUTS___251 = 164,
    _SC_TYPED_MEMORY_OBJECTS___251 = 165,
    _SC_USER_GROUPS___251 = 166,
    _SC_USER_GROUPS_R___251 = 167,
    _SC_2_PBS___251 = 168,
    _SC_2_PBS_ACCOUNTING___251 = 169,
    _SC_2_PBS_LOCATE___251 = 170,
    _SC_2_PBS_MESSAGE___251 = 171,
    _SC_2_PBS_TRACK___251 = 172,
    _SC_SYMLOOP_MAX___251 = 173,
    _SC_STREAMS___251 = 174,
    _SC_2_PBS_CHECKPOINT___251 = 175,
    _SC_V6_ILP32_OFF32___251 = 176,
    _SC_V6_ILP32_OFFBIG___251 = 177,
    _SC_V6_LP64_OFF64___251 = 178,
    _SC_V6_LPBIG_OFFBIG___251 = 179,
    _SC_HOST_NAME_MAX___251 = 180,
    _SC_TRACE___251 = 181,
    _SC_TRACE_EVENT_FILTER___251 = 182,
    _SC_TRACE_INHERIT___251 = 183,
    _SC_TRACE_LOG___251 = 184,
    _SC_LEVEL1_ICACHE_SIZE___251 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___251 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___251 = 187,
    _SC_LEVEL1_DCACHE_SIZE___251 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___251 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___251 = 190,
    _SC_LEVEL2_CACHE_SIZE___251 = 191,
    _SC_LEVEL2_CACHE_ASSOC___251 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___251 = 193,
    _SC_LEVEL3_CACHE_SIZE___251 = 194,
    _SC_LEVEL3_CACHE_ASSOC___251 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___251 = 196,
    _SC_LEVEL4_CACHE_SIZE___251 = 197,
    _SC_LEVEL4_CACHE_ASSOC___251 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___251 = 199,
    _SC_IPV6___251 = 235,
    _SC_RAW_SOCKETS___251 = 236,
    _SC_V7_ILP32_OFF32___251 = 237,
    _SC_V7_ILP32_OFFBIG___251 = 238,
    _SC_V7_LP64_OFF64___251 = 239,
    _SC_V7_LPBIG_OFFBIG___251 = 240,
    _SC_SS_REPL_MAX___251 = 241,
    _SC_TRACE_EVENT_NAME_MAX___251 = 242,
    _SC_TRACE_NAME_MAX___251 = 243,
    _SC_TRACE_SYS_MAX___251 = 244,
    _SC_TRACE_USER_EVENT_MAX___251 = 245,
    _SC_XOPEN_STREAMS___251 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___251 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___251 = 248
} ;
enum __anonenum_875524036___251 {
    _CS_PATH___251 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___251 = 1,
    _CS_GNU_LIBC_VERSION___251 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___251 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___251 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___251 = 5,
    _CS_LFS_CFLAGS___251 = 1000,
    _CS_LFS_LDFLAGS___251 = 1001,
    _CS_LFS_LIBS___251 = 1002,
    _CS_LFS_LINTFLAGS___251 = 1003,
    _CS_LFS64_CFLAGS___251 = 1004,
    _CS_LFS64_LDFLAGS___251 = 1005,
    _CS_LFS64_LIBS___251 = 1006,
    _CS_LFS64_LINTFLAGS___251 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___251 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___251 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___251 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___251 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___251 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___251 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___251 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___251 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___251 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___251 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___251 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___251 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___251 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___251 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___251 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___251 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___251 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___251 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___251 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___251 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___251 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___251 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___251 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___251 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___251 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___251 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___251 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___251 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___251 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___251 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___251 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___251 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___251 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___251 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___251 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___251 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___251 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___251 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___251 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___251 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___251 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___251 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___251 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___251 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___251 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___251 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___251 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___251 = 1147,
    _CS_V6_ENV___251 = 1148,
    _CS_V7_ENV___251 = 1149
} ;
enum __anonenum_513775621___251 {
    DT_UNKNOWN___251 = 0,
    DT_FIFO___251 = 1,
    DT_CHR___251 = 2,
    DT_DIR___251 = 4,
    DT_BLK___251 = 6,
    DT_REG___251 = 8,
    DT_LNK___251 = 10,
    DT_SOCK___251 = 12,
    DT_WHT___251 = 14
} ;
enum __anonenum_77002343___251 {
    SI_ASYNCNL___251 = -60,
    SI_TKILL___251 = -6,
    SI_SIGIO___251 = -5,
    SI_ASYNCIO___251 = -4,
    SI_MESGQ___251 = -3,
    SI_TIMER___251 = -2,
    SI_QUEUE___251 = -1,
    SI_USER___251 = 0,
    SI_KERNEL___251 = 128
} ;
enum __anonenum_131038172___251 {
    ILL_ILLOPC___251 = 1,
    ILL_ILLOPN___251 = 2,
    ILL_ILLADR___251 = 3,
    ILL_ILLTRP___251 = 4,
    ILL_PRVOPC___251 = 5,
    ILL_PRVREG___251 = 6,
    ILL_COPROC___251 = 7,
    ILL_BADSTK___251 = 8
} ;
enum __anonenum_452038093___251 {
    FPE_INTDIV___251 = 1,
    FPE_INTOVF___251 = 2,
    FPE_FLTDIV___251 = 3,
    FPE_FLTOVF___251 = 4,
    FPE_FLTUND___251 = 5,
    FPE_FLTRES___251 = 6,
    FPE_FLTINV___251 = 7,
    FPE_FLTSUB___251 = 8
} ;
enum __anonenum_30976155___251 {
    SEGV_MAPERR___251 = 1,
    SEGV_ACCERR___251 = 2,
    SEGV_BNDERR___251 = 3,
    SEGV_PKUERR___251 = 4
} ;
enum __anonenum_1036286214___251 {
    BUS_ADRALN___251 = 1,
    BUS_ADRERR___251 = 2,
    BUS_OBJERR___251 = 3,
    BUS_MCEERR_AR___251 = 4,
    BUS_MCEERR_AO___251 = 5
} ;
enum __anonenum_493465559___251 {
    TRAP_BRKPT___251 = 1,
    TRAP_TRACE___251 = 2
} ;
enum __anonenum_23175539___251 {
    CLD_EXITED___251 = 1,
    CLD_KILLED___251 = 2,
    CLD_DUMPED___251 = 3,
    CLD_TRAPPED___251 = 4,
    CLD_STOPPED___251 = 5,
    CLD_CONTINUED___251 = 6
} ;
enum __anonenum_111643124___251 {
    POLL_IN___251 = 1,
    POLL_OUT___251 = 2,
    POLL_MSG___251 = 3,
    POLL_ERR___251 = 4,
    POLL_PRI___251 = 5,
    POLL_HUP___251 = 6
} ;
enum __anonenum_852341087___251 {
    SIGEV_SIGNAL___251 = 0,
    SIGEV_NONE___251 = 1,
    SIGEV_THREAD___251 = 2,
    SIGEV_THREAD_ID___251 = 4
} ;
enum __anonenum_451154152___251 {
    REG_R8___251 = 0,
    REG_R9___251 = 1,
    REG_R10___251 = 2,
    REG_R11___251 = 3,
    REG_R12___251 = 4,
    REG_R13___251 = 5,
    REG_R14___251 = 6,
    REG_R15___251 = 7,
    REG_RDI___251 = 8,
    REG_RSI___251 = 9,
    REG_RBP___251 = 10,
    REG_RBX___251 = 11,
    REG_RDX___251 = 12,
    REG_RAX___251 = 13,
    REG_RCX___251 = 14,
    REG_RSP___251 = 15,
    REG_RIP___251 = 16,
    REG_EFL___251 = 17,
    REG_CSGSFS___251 = 18,
    REG_ERR___251 = 19,
    REG_TRAPNO___251 = 20,
    REG_OLDMASK___251 = 21,
    REG_CR2___251 = 22
} ;
enum __anonenum_57186863___251 {
    SS_ONSTACK___251 = 1,
    SS_DISABLE___251 = 2
} ;
enum __anonenum_83571709___251 {
    MSG_OOB___251 = 1,
    MSG_PEEK___251 = 2,
    MSG_DONTROUTE___251 = 4,
    MSG_TRYHARD___251 = 4,
    MSG_CTRUNC___251 = 8,
    MSG_PROXY___251 = 16,
    MSG_TRUNC___251 = 32,
    MSG_DONTWAIT___251 = 64,
    MSG_EOR___251 = 128,
    MSG_WAITALL___251 = 256,
    MSG_FIN___251 = 512,
    MSG_SYN___251 = 1024,
    MSG_CONFIRM___251 = 2048,
    MSG_RST___251 = 4096,
    MSG_ERRQUEUE___251 = 8192,
    MSG_NOSIGNAL___251 = 16384,
    MSG_MORE___251 = 32768,
    MSG_WAITFORONE___251 = 65536,
    MSG_BATCH___251 = 262144,
    MSG_ZEROCOPY___251 = 67108864,
    MSG_FASTOPEN___251 = 536870912,
    MSG_CMSG_CLOEXEC___251 = 1073741824
} ;
enum __anonenum_617082774___251 {
    SCM_RIGHTS___251 = 1,
    SCM_CREDENTIALS___251 = 2
} ;
enum __anonenum_606441560___251 {
    SHUT_RD___251 = 0,
    SHUT_WR___251 = 1,
    SHUT_RDWR___251 = 2
} ;
enum __anonenum_681669233___251 {
    IPPROTO_IP___251 = 0,
    IPPROTO_ICMP___251 = 1,
    IPPROTO_IGMP___251 = 2,
    IPPROTO_IPIP___251 = 4,
    IPPROTO_TCP___251 = 6,
    IPPROTO_EGP___251 = 8,
    IPPROTO_PUP___251 = 12,
    IPPROTO_UDP___251 = 17,
    IPPROTO_IDP___251 = 22,
    IPPROTO_TP___251 = 29,
    IPPROTO_DCCP___251 = 33,
    IPPROTO_IPV6___251 = 41,
    IPPROTO_RSVP___251 = 46,
    IPPROTO_GRE___251 = 47,
    IPPROTO_ESP___251 = 50,
    IPPROTO_AH___251 = 51,
    IPPROTO_MTP___251 = 92,
    IPPROTO_BEETPH___251 = 94,
    IPPROTO_ENCAP___251 = 98,
    IPPROTO_PIM___251 = 103,
    IPPROTO_COMP___251 = 108,
    IPPROTO_SCTP___251 = 132,
    IPPROTO_UDPLITE___251 = 136,
    IPPROTO_MPLS___251 = 137,
    IPPROTO_RAW___251 = 255,
    IPPROTO_MAX___251 = 256
} ;
enum __anonenum_218739988___251 {
    IPPROTO_HOPOPTS___251 = 0,
    IPPROTO_ROUTING___251 = 43,
    IPPROTO_FRAGMENT___251 = 44,
    IPPROTO_ICMPV6___251 = 58,
    IPPROTO_NONE___251 = 59,
    IPPROTO_DSTOPTS___251 = 60,
    IPPROTO_MH___251 = 135
} ;
enum __anonenum_662268580___251 {
    IPPORT_ECHO___251 = 7,
    IPPORT_DISCARD___251 = 9,
    IPPORT_SYSTAT___251 = 11,
    IPPORT_DAYTIME___251 = 13,
    IPPORT_NETSTAT___251 = 15,
    IPPORT_FTP___251 = 21,
    IPPORT_TELNET___251 = 23,
    IPPORT_SMTP___251 = 25,
    IPPORT_TIMESERVER___251 = 37,
    IPPORT_NAMESERVER___251 = 42,
    IPPORT_WHOIS___251 = 43,
    IPPORT_MTP___251 = 57,
    IPPORT_TFTP___251 = 69,
    IPPORT_RJE___251 = 77,
    IPPORT_FINGER___251 = 79,
    IPPORT_TTYLINK___251 = 87,
    IPPORT_SUPDUP___251 = 95,
    IPPORT_EXECSERVER___251 = 512,
    IPPORT_LOGINSERVER___251 = 513,
    IPPORT_CMDSERVER___251 = 514,
    IPPORT_EFSSERVER___251 = 520,
    IPPORT_BIFFUDP___251 = 512,
    IPPORT_WHOSERVER___251 = 513,
    IPPORT_ROUTESERVER___251 = 520,
    IPPORT_RESERVED___251 = 1024,
    IPPORT_USERRESERVED___251 = 5000
} ;
enum __anonenum_788308992___251 {
    TCP_ESTABLISHED___251 = 1,
    TCP_SYN_SENT___251 = 2,
    TCP_SYN_RECV___251 = 3,
    TCP_FIN_WAIT1___251 = 4,
    TCP_FIN_WAIT2___251 = 5,
    TCP_TIME_WAIT___251 = 6,
    TCP_CLOSE___251 = 7,
    TCP_CLOSE_WAIT___251 = 8,
    TCP_LAST_ACK___251 = 9,
    TCP_LISTEN___251 = 10,
    TCP_CLOSING___251 = 11
} ;
enum __anonenum_221125648___251 {
    TCP_NO_QUEUE___251 = 0,
    TCP_RECV_QUEUE___251 = 1,
    TCP_SEND_QUEUE___251 = 2,
    TCP_QUEUES_NR___251 = 3
} ;
enum __anonenum_34415463___251 {
    PTHREAD_CREATE_JOINABLE___251 = 0,
    PTHREAD_CREATE_DETACHED___251 = 1
} ;
enum __anonenum_303612439___251 {
    PTHREAD_MUTEX_TIMED_NP___251 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___251 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___251 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___251 = 3,
    PTHREAD_MUTEX_NORMAL___251 = 0,
    PTHREAD_MUTEX_RECURSIVE___251 = 1,
    PTHREAD_MUTEX_ERRORCHECK___251 = 2,
    PTHREAD_MUTEX_DEFAULT___251 = 0,
    PTHREAD_MUTEX_FAST_NP___251 = 0
} ;
enum __anonenum_931900394___251 {
    PTHREAD_MUTEX_STALLED___251 = 0,
    PTHREAD_MUTEX_STALLED_NP___251 = 0,
    PTHREAD_MUTEX_ROBUST___251 = 1,
    PTHREAD_MUTEX_ROBUST_NP___251 = 1
} ;
enum __anonenum_205214487___251 {
    PTHREAD_PRIO_NONE___251 = 0,
    PTHREAD_PRIO_INHERIT___251 = 1,
    PTHREAD_PRIO_PROTECT___251 = 2
} ;
enum __anonenum_25043950___251 {
    PTHREAD_RWLOCK_PREFER_READER_NP___251 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___251 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___251 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___251 = 0
} ;
enum __anonenum_436439511___251 {
    PTHREAD_INHERIT_SCHED___251 = 0,
    PTHREAD_EXPLICIT_SCHED___251 = 1
} ;
enum __anonenum_998661166___251 {
    PTHREAD_SCOPE_SYSTEM___251 = 0,
    PTHREAD_SCOPE_PROCESS___251 = 1
} ;
enum __anonenum_146137331___251 {
    PTHREAD_PROCESS_PRIVATE___251 = 0,
    PTHREAD_PROCESS_SHARED___251 = 1
} ;
enum __anonenum_53396917___251 {
    PTHREAD_CANCEL_ENABLE___251 = 0,
    PTHREAD_CANCEL_DISABLE___251 = 1
} ;
enum __anonenum_904563783___251 {
    PTHREAD_CANCEL_DEFERRED___251 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___251 = 1
} ;
enum __anonenum_672052974___251 {
    SSL_CT_VALIDATION_PERMISSIVE___251 = 0,
    SSL_CT_VALIDATION_STRICT___251 = 1
} ;
enum reftable_error {
    REFTABLE_IO_ERROR = -2,
    REFTABLE_FORMAT_ERROR = -3,
    REFTABLE_NOT_EXIST_ERROR = -4,
    REFTABLE_LOCK_ERROR = -5,
    REFTABLE_API_ERROR = -6,
    REFTABLE_ZLIB_ERROR = -7,
    REFTABLE_EMPTY_TABLE_ERROR = -8,
    REFTABLE_NAME_CONFLICT = -9,
    REFTABLE_REFNAME_ERROR = -10,
    REFTABLE_ENTRY_TOO_BIG_ERROR = -11
} ;
enum __anonenum_437032235___252 {
    _PC_LINK_MAX___252 = 0,
    _PC_MAX_CANON___252 = 1,
    _PC_MAX_INPUT___252 = 2,
    _PC_NAME_MAX___252 = 3,
    _PC_PATH_MAX___252 = 4,
    _PC_PIPE_BUF___252 = 5,
    _PC_CHOWN_RESTRICTED___252 = 6,
    _PC_NO_TRUNC___252 = 7,
    _PC_VDISABLE___252 = 8,
    _PC_SYNC_IO___252 = 9,
    _PC_ASYNC_IO___252 = 10,
    _PC_PRIO_IO___252 = 11,
    _PC_SOCK_MAXBUF___252 = 12,
    _PC_FILESIZEBITS___252 = 13,
    _PC_REC_INCR_XFER_SIZE___252 = 14,
    _PC_REC_MAX_XFER_SIZE___252 = 15,
    _PC_REC_MIN_XFER_SIZE___252 = 16,
    _PC_REC_XFER_ALIGN___252 = 17,
    _PC_ALLOC_SIZE_MIN___252 = 18,
    _PC_SYMLINK_MAX___252 = 19,
    _PC_2_SYMLINKS___252 = 20
} ;
enum __anonenum_315186338___252 {
    _SC_ARG_MAX___252 = 0,
    _SC_CHILD_MAX___252 = 1,
    _SC_CLK_TCK___252 = 2,
    _SC_NGROUPS_MAX___252 = 3,
    _SC_OPEN_MAX___252 = 4,
    _SC_STREAM_MAX___252 = 5,
    _SC_TZNAME_MAX___252 = 6,
    _SC_JOB_CONTROL___252 = 7,
    _SC_SAVED_IDS___252 = 8,
    _SC_REALTIME_SIGNALS___252 = 9,
    _SC_PRIORITY_SCHEDULING___252 = 10,
    _SC_TIMERS___252 = 11,
    _SC_ASYNCHRONOUS_IO___252 = 12,
    _SC_PRIORITIZED_IO___252 = 13,
    _SC_SYNCHRONIZED_IO___252 = 14,
    _SC_FSYNC___252 = 15,
    _SC_MAPPED_FILES___252 = 16,
    _SC_MEMLOCK___252 = 17,
    _SC_MEMLOCK_RANGE___252 = 18,
    _SC_MEMORY_PROTECTION___252 = 19,
    _SC_MESSAGE_PASSING___252 = 20,
    _SC_SEMAPHORES___252 = 21,
    _SC_SHARED_MEMORY_OBJECTS___252 = 22,
    _SC_AIO_LISTIO_MAX___252 = 23,
    _SC_AIO_MAX___252 = 24,
    _SC_AIO_PRIO_DELTA_MAX___252 = 25,
    _SC_DELAYTIMER_MAX___252 = 26,
    _SC_MQ_OPEN_MAX___252 = 27,
    _SC_MQ_PRIO_MAX___252 = 28,
    _SC_VERSION___252 = 29,
    _SC_PAGESIZE___252 = 30,
    _SC_RTSIG_MAX___252 = 31,
    _SC_SEM_NSEMS_MAX___252 = 32,
    _SC_SEM_VALUE_MAX___252 = 33,
    _SC_SIGQUEUE_MAX___252 = 34,
    _SC_TIMER_MAX___252 = 35,
    _SC_BC_BASE_MAX___252 = 36,
    _SC_BC_DIM_MAX___252 = 37,
    _SC_BC_SCALE_MAX___252 = 38,
    _SC_BC_STRING_MAX___252 = 39,
    _SC_COLL_WEIGHTS_MAX___252 = 40,
    _SC_EQUIV_CLASS_MAX___252 = 41,
    _SC_EXPR_NEST_MAX___252 = 42,
    _SC_LINE_MAX___252 = 43,
    _SC_RE_DUP_MAX___252 = 44,
    _SC_CHARCLASS_NAME_MAX___252 = 45,
    _SC_2_VERSION___252 = 46,
    _SC_2_C_BIND___252 = 47,
    _SC_2_C_DEV___252 = 48,
    _SC_2_FORT_DEV___252 = 49,
    _SC_2_FORT_RUN___252 = 50,
    _SC_2_SW_DEV___252 = 51,
    _SC_2_LOCALEDEF___252 = 52,
    _SC_PII___252 = 53,
    _SC_PII_XTI___252 = 54,
    _SC_PII_SOCKET___252 = 55,
    _SC_PII_INTERNET___252 = 56,
    _SC_PII_OSI___252 = 57,
    _SC_POLL___252 = 58,
    _SC_SELECT___252 = 59,
    _SC_UIO_MAXIOV___252 = 60,
    _SC_IOV_MAX___252 = 60,
    _SC_PII_INTERNET_STREAM___252 = 61,
    _SC_PII_INTERNET_DGRAM___252 = 62,
    _SC_PII_OSI_COTS___252 = 63,
    _SC_PII_OSI_CLTS___252 = 64,
    _SC_PII_OSI_M___252 = 65,
    _SC_T_IOV_MAX___252 = 66,
    _SC_THREADS___252 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___252 = 68,
    _SC_GETGR_R_SIZE_MAX___252 = 69,
    _SC_GETPW_R_SIZE_MAX___252 = 70,
    _SC_LOGIN_NAME_MAX___252 = 71,
    _SC_TTY_NAME_MAX___252 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___252 = 73,
    _SC_THREAD_KEYS_MAX___252 = 74,
    _SC_THREAD_STACK_MIN___252 = 75,
    _SC_THREAD_THREADS_MAX___252 = 76,
    _SC_THREAD_ATTR_STACKADDR___252 = 77,
    _SC_THREAD_ATTR_STACKSIZE___252 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___252 = 79,
    _SC_THREAD_PRIO_INHERIT___252 = 80,
    _SC_THREAD_PRIO_PROTECT___252 = 81,
    _SC_THREAD_PROCESS_SHARED___252 = 82,
    _SC_NPROCESSORS_CONF___252 = 83,
    _SC_NPROCESSORS_ONLN___252 = 84,
    _SC_PHYS_PAGES___252 = 85,
    _SC_AVPHYS_PAGES___252 = 86,
    _SC_ATEXIT_MAX___252 = 87,
    _SC_PASS_MAX___252 = 88,
    _SC_XOPEN_VERSION___252 = 89,
    _SC_XOPEN_XCU_VERSION___252 = 90,
    _SC_XOPEN_UNIX___252 = 91,
    _SC_XOPEN_CRYPT___252 = 92,
    _SC_XOPEN_ENH_I18N___252 = 93,
    _SC_XOPEN_SHM___252 = 94,
    _SC_2_CHAR_TERM___252 = 95,
    _SC_2_C_VERSION___252 = 96,
    _SC_2_UPE___252 = 97,
    _SC_XOPEN_XPG2___252 = 98,
    _SC_XOPEN_XPG3___252 = 99,
    _SC_XOPEN_XPG4___252 = 100,
    _SC_CHAR_BIT___252 = 101,
    _SC_CHAR_MAX___252 = 102,
    _SC_CHAR_MIN___252 = 103,
    _SC_INT_MAX___252 = 104,
    _SC_INT_MIN___252 = 105,
    _SC_LONG_BIT___252 = 106,
    _SC_WORD_BIT___252 = 107,
    _SC_MB_LEN_MAX___252 = 108,
    _SC_NZERO___252 = 109,
    _SC_SSIZE_MAX___252 = 110,
    _SC_SCHAR_MAX___252 = 111,
    _SC_SCHAR_MIN___252 = 112,
    _SC_SHRT_MAX___252 = 113,
    _SC_SHRT_MIN___252 = 114,
    _SC_UCHAR_MAX___252 = 115,
    _SC_UINT_MAX___252 = 116,
    _SC_ULONG_MAX___252 = 117,
    _SC_USHRT_MAX___252 = 118,
    _SC_NL_ARGMAX___252 = 119,
    _SC_NL_LANGMAX___252 = 120,
    _SC_NL_MSGMAX___252 = 121,
    _SC_NL_NMAX___252 = 122,
    _SC_NL_SETMAX___252 = 123,
    _SC_NL_TEXTMAX___252 = 124,
    _SC_XBS5_ILP32_OFF32___252 = 125,
    _SC_XBS5_ILP32_OFFBIG___252 = 126,
    _SC_XBS5_LP64_OFF64___252 = 127,
    _SC_XBS5_LPBIG_OFFBIG___252 = 128,
    _SC_XOPEN_LEGACY___252 = 129,
    _SC_XOPEN_REALTIME___252 = 130,
    _SC_XOPEN_REALTIME_THREADS___252 = 131,
    _SC_ADVISORY_INFO___252 = 132,
    _SC_BARRIERS___252 = 133,
    _SC_BASE___252 = 134,
    _SC_C_LANG_SUPPORT___252 = 135,
    _SC_C_LANG_SUPPORT_R___252 = 136,
    _SC_CLOCK_SELECTION___252 = 137,
    _SC_CPUTIME___252 = 138,
    _SC_THREAD_CPUTIME___252 = 139,
    _SC_DEVICE_IO___252 = 140,
    _SC_DEVICE_SPECIFIC___252 = 141,
    _SC_DEVICE_SPECIFIC_R___252 = 142,
    _SC_FD_MGMT___252 = 143,
    _SC_FIFO___252 = 144,
    _SC_PIPE___252 = 145,
    _SC_FILE_ATTRIBUTES___252 = 146,
    _SC_FILE_LOCKING___252 = 147,
    _SC_FILE_SYSTEM___252 = 148,
    _SC_MONOTONIC_CLOCK___252 = 149,
    _SC_MULTI_PROCESS___252 = 150,
    _SC_SINGLE_PROCESS___252 = 151,
    _SC_NETWORKING___252 = 152,
    _SC_READER_WRITER_LOCKS___252 = 153,
    _SC_SPIN_LOCKS___252 = 154,
    _SC_REGEXP___252 = 155,
    _SC_REGEX_VERSION___252 = 156,
    _SC_SHELL___252 = 157,
    _SC_SIGNALS___252 = 158,
    _SC_SPAWN___252 = 159,
    _SC_SPORADIC_SERVER___252 = 160,
    _SC_THREAD_SPORADIC_SERVER___252 = 161,
    _SC_SYSTEM_DATABASE___252 = 162,
    _SC_SYSTEM_DATABASE_R___252 = 163,
    _SC_TIMEOUTS___252 = 164,
    _SC_TYPED_MEMORY_OBJECTS___252 = 165,
    _SC_USER_GROUPS___252 = 166,
    _SC_USER_GROUPS_R___252 = 167,
    _SC_2_PBS___252 = 168,
    _SC_2_PBS_ACCOUNTING___252 = 169,
    _SC_2_PBS_LOCATE___252 = 170,
    _SC_2_PBS_MESSAGE___252 = 171,
    _SC_2_PBS_TRACK___252 = 172,
    _SC_SYMLOOP_MAX___252 = 173,
    _SC_STREAMS___252 = 174,
    _SC_2_PBS_CHECKPOINT___252 = 175,
    _SC_V6_ILP32_OFF32___252 = 176,
    _SC_V6_ILP32_OFFBIG___252 = 177,
    _SC_V6_LP64_OFF64___252 = 178,
    _SC_V6_LPBIG_OFFBIG___252 = 179,
    _SC_HOST_NAME_MAX___252 = 180,
    _SC_TRACE___252 = 181,
    _SC_TRACE_EVENT_FILTER___252 = 182,
    _SC_TRACE_INHERIT___252 = 183,
    _SC_TRACE_LOG___252 = 184,
    _SC_LEVEL1_ICACHE_SIZE___252 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___252 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___252 = 187,
    _SC_LEVEL1_DCACHE_SIZE___252 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___252 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___252 = 190,
    _SC_LEVEL2_CACHE_SIZE___252 = 191,
    _SC_LEVEL2_CACHE_ASSOC___252 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___252 = 193,
    _SC_LEVEL3_CACHE_SIZE___252 = 194,
    _SC_LEVEL3_CACHE_ASSOC___252 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___252 = 196,
    _SC_LEVEL4_CACHE_SIZE___252 = 197,
    _SC_LEVEL4_CACHE_ASSOC___252 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___252 = 199,
    _SC_IPV6___252 = 235,
    _SC_RAW_SOCKETS___252 = 236,
    _SC_V7_ILP32_OFF32___252 = 237,
    _SC_V7_ILP32_OFFBIG___252 = 238,
    _SC_V7_LP64_OFF64___252 = 239,
    _SC_V7_LPBIG_OFFBIG___252 = 240,
    _SC_SS_REPL_MAX___252 = 241,
    _SC_TRACE_EVENT_NAME_MAX___252 = 242,
    _SC_TRACE_NAME_MAX___252 = 243,
    _SC_TRACE_SYS_MAX___252 = 244,
    _SC_TRACE_USER_EVENT_MAX___252 = 245,
    _SC_XOPEN_STREAMS___252 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___252 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___252 = 248
} ;
enum __anonenum_875524036___252 {
    _CS_PATH___252 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___252 = 1,
    _CS_GNU_LIBC_VERSION___252 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___252 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___252 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___252 = 5,
    _CS_LFS_CFLAGS___252 = 1000,
    _CS_LFS_LDFLAGS___252 = 1001,
    _CS_LFS_LIBS___252 = 1002,
    _CS_LFS_LINTFLAGS___252 = 1003,
    _CS_LFS64_CFLAGS___252 = 1004,
    _CS_LFS64_LDFLAGS___252 = 1005,
    _CS_LFS64_LIBS___252 = 1006,
    _CS_LFS64_LINTFLAGS___252 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___252 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___252 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___252 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___252 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___252 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___252 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___252 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___252 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___252 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___252 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___252 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___252 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___252 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___252 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___252 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___252 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___252 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___252 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___252 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___252 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___252 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___252 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___252 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___252 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___252 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___252 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___252 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___252 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___252 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___252 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___252 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___252 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___252 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___252 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___252 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___252 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___252 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___252 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___252 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___252 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___252 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___252 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___252 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___252 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___252 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___252 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___252 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___252 = 1147,
    _CS_V6_ENV___252 = 1148,
    _CS_V7_ENV___252 = 1149
} ;
enum __anonenum_513775621___252 {
    DT_UNKNOWN___252 = 0,
    DT_FIFO___252 = 1,
    DT_CHR___252 = 2,
    DT_DIR___252 = 4,
    DT_BLK___252 = 6,
    DT_REG___252 = 8,
    DT_LNK___252 = 10,
    DT_SOCK___252 = 12,
    DT_WHT___252 = 14
} ;
enum __anonenum_77002343___252 {
    SI_ASYNCNL___252 = -60,
    SI_TKILL___252 = -6,
    SI_SIGIO___252 = -5,
    SI_ASYNCIO___252 = -4,
    SI_MESGQ___252 = -3,
    SI_TIMER___252 = -2,
    SI_QUEUE___252 = -1,
    SI_USER___252 = 0,
    SI_KERNEL___252 = 128
} ;
enum __anonenum_131038172___252 {
    ILL_ILLOPC___252 = 1,
    ILL_ILLOPN___252 = 2,
    ILL_ILLADR___252 = 3,
    ILL_ILLTRP___252 = 4,
    ILL_PRVOPC___252 = 5,
    ILL_PRVREG___252 = 6,
    ILL_COPROC___252 = 7,
    ILL_BADSTK___252 = 8
} ;
enum __anonenum_452038093___252 {
    FPE_INTDIV___252 = 1,
    FPE_INTOVF___252 = 2,
    FPE_FLTDIV___252 = 3,
    FPE_FLTOVF___252 = 4,
    FPE_FLTUND___252 = 5,
    FPE_FLTRES___252 = 6,
    FPE_FLTINV___252 = 7,
    FPE_FLTSUB___252 = 8
} ;
enum __anonenum_30976155___252 {
    SEGV_MAPERR___252 = 1,
    SEGV_ACCERR___252 = 2,
    SEGV_BNDERR___252 = 3,
    SEGV_PKUERR___252 = 4
} ;
enum __anonenum_1036286214___252 {
    BUS_ADRALN___252 = 1,
    BUS_ADRERR___252 = 2,
    BUS_OBJERR___252 = 3,
    BUS_MCEERR_AR___252 = 4,
    BUS_MCEERR_AO___252 = 5
} ;
enum __anonenum_493465559___252 {
    TRAP_BRKPT___252 = 1,
    TRAP_TRACE___252 = 2
} ;
enum __anonenum_23175539___252 {
    CLD_EXITED___252 = 1,
    CLD_KILLED___252 = 2,
    CLD_DUMPED___252 = 3,
    CLD_TRAPPED___252 = 4,
    CLD_STOPPED___252 = 5,
    CLD_CONTINUED___252 = 6
} ;
enum __anonenum_111643124___252 {
    POLL_IN___252 = 1,
    POLL_OUT___252 = 2,
    POLL_MSG___252 = 3,
    POLL_ERR___252 = 4,
    POLL_PRI___252 = 5,
    POLL_HUP___252 = 6
} ;
enum __anonenum_852341087___252 {
    SIGEV_SIGNAL___252 = 0,
    SIGEV_NONE___252 = 1,
    SIGEV_THREAD___252 = 2,
    SIGEV_THREAD_ID___252 = 4
} ;
enum __anonenum_451154152___252 {
    REG_R8___252 = 0,
    REG_R9___252 = 1,
    REG_R10___252 = 2,
    REG_R11___252 = 3,
    REG_R12___252 = 4,
    REG_R13___252 = 5,
    REG_R14___252 = 6,
    REG_R15___252 = 7,
    REG_RDI___252 = 8,
    REG_RSI___252 = 9,
    REG_RBP___252 = 10,
    REG_RBX___252 = 11,
    REG_RDX___252 = 12,
    REG_RAX___252 = 13,
    REG_RCX___252 = 14,
    REG_RSP___252 = 15,
    REG_RIP___252 = 16,
    REG_EFL___252 = 17,
    REG_CSGSFS___252 = 18,
    REG_ERR___252 = 19,
    REG_TRAPNO___252 = 20,
    REG_OLDMASK___252 = 21,
    REG_CR2___252 = 22
} ;
enum __anonenum_57186863___252 {
    SS_ONSTACK___252 = 1,
    SS_DISABLE___252 = 2
} ;
enum __anonenum_83571709___252 {
    MSG_OOB___252 = 1,
    MSG_PEEK___252 = 2,
    MSG_DONTROUTE___252 = 4,
    MSG_TRYHARD___252 = 4,
    MSG_CTRUNC___252 = 8,
    MSG_PROXY___252 = 16,
    MSG_TRUNC___252 = 32,
    MSG_DONTWAIT___252 = 64,
    MSG_EOR___252 = 128,
    MSG_WAITALL___252 = 256,
    MSG_FIN___252 = 512,
    MSG_SYN___252 = 1024,
    MSG_CONFIRM___252 = 2048,
    MSG_RST___252 = 4096,
    MSG_ERRQUEUE___252 = 8192,
    MSG_NOSIGNAL___252 = 16384,
    MSG_MORE___252 = 32768,
    MSG_WAITFORONE___252 = 65536,
    MSG_BATCH___252 = 262144,
    MSG_ZEROCOPY___252 = 67108864,
    MSG_FASTOPEN___252 = 536870912,
    MSG_CMSG_CLOEXEC___252 = 1073741824
} ;
enum __anonenum_617082774___252 {
    SCM_RIGHTS___252 = 1,
    SCM_CREDENTIALS___252 = 2
} ;
enum __anonenum_606441560___252 {
    SHUT_RD___252 = 0,
    SHUT_WR___252 = 1,
    SHUT_RDWR___252 = 2
} ;
enum __anonenum_681669233___252 {
    IPPROTO_IP___252 = 0,
    IPPROTO_ICMP___252 = 1,
    IPPROTO_IGMP___252 = 2,
    IPPROTO_IPIP___252 = 4,
    IPPROTO_TCP___252 = 6,
    IPPROTO_EGP___252 = 8,
    IPPROTO_PUP___252 = 12,
    IPPROTO_UDP___252 = 17,
    IPPROTO_IDP___252 = 22,
    IPPROTO_TP___252 = 29,
    IPPROTO_DCCP___252 = 33,
    IPPROTO_IPV6___252 = 41,
    IPPROTO_RSVP___252 = 46,
    IPPROTO_GRE___252 = 47,
    IPPROTO_ESP___252 = 50,
    IPPROTO_AH___252 = 51,
    IPPROTO_MTP___252 = 92,
    IPPROTO_BEETPH___252 = 94,
    IPPROTO_ENCAP___252 = 98,
    IPPROTO_PIM___252 = 103,
    IPPROTO_COMP___252 = 108,
    IPPROTO_SCTP___252 = 132,
    IPPROTO_UDPLITE___252 = 136,
    IPPROTO_MPLS___252 = 137,
    IPPROTO_RAW___252 = 255,
    IPPROTO_MAX___252 = 256
} ;
enum __anonenum_218739988___252 {
    IPPROTO_HOPOPTS___252 = 0,
    IPPROTO_ROUTING___252 = 43,
    IPPROTO_FRAGMENT___252 = 44,
    IPPROTO_ICMPV6___252 = 58,
    IPPROTO_NONE___252 = 59,
    IPPROTO_DSTOPTS___252 = 60,
    IPPROTO_MH___252 = 135
} ;
enum __anonenum_662268580___252 {
    IPPORT_ECHO___252 = 7,
    IPPORT_DISCARD___252 = 9,
    IPPORT_SYSTAT___252 = 11,
    IPPORT_DAYTIME___252 = 13,
    IPPORT_NETSTAT___252 = 15,
    IPPORT_FTP___252 = 21,
    IPPORT_TELNET___252 = 23,
    IPPORT_SMTP___252 = 25,
    IPPORT_TIMESERVER___252 = 37,
    IPPORT_NAMESERVER___252 = 42,
    IPPORT_WHOIS___252 = 43,
    IPPORT_MTP___252 = 57,
    IPPORT_TFTP___252 = 69,
    IPPORT_RJE___252 = 77,
    IPPORT_FINGER___252 = 79,
    IPPORT_TTYLINK___252 = 87,
    IPPORT_SUPDUP___252 = 95,
    IPPORT_EXECSERVER___252 = 512,
    IPPORT_LOGINSERVER___252 = 513,
    IPPORT_CMDSERVER___252 = 514,
    IPPORT_EFSSERVER___252 = 520,
    IPPORT_BIFFUDP___252 = 512,
    IPPORT_WHOSERVER___252 = 513,
    IPPORT_ROUTESERVER___252 = 520,
    IPPORT_RESERVED___252 = 1024,
    IPPORT_USERRESERVED___252 = 5000
} ;
enum __anonenum_788308992___252 {
    TCP_ESTABLISHED___252 = 1,
    TCP_SYN_SENT___252 = 2,
    TCP_SYN_RECV___252 = 3,
    TCP_FIN_WAIT1___252 = 4,
    TCP_FIN_WAIT2___252 = 5,
    TCP_TIME_WAIT___252 = 6,
    TCP_CLOSE___252 = 7,
    TCP_CLOSE_WAIT___252 = 8,
    TCP_LAST_ACK___252 = 9,
    TCP_LISTEN___252 = 10,
    TCP_CLOSING___252 = 11
} ;
enum __anonenum_221125648___252 {
    TCP_NO_QUEUE___252 = 0,
    TCP_RECV_QUEUE___252 = 1,
    TCP_SEND_QUEUE___252 = 2,
    TCP_QUEUES_NR___252 = 3
} ;
enum __anonenum_34415463___252 {
    PTHREAD_CREATE_JOINABLE___252 = 0,
    PTHREAD_CREATE_DETACHED___252 = 1
} ;
enum __anonenum_303612439___252 {
    PTHREAD_MUTEX_TIMED_NP___252 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___252 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___252 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___252 = 3,
    PTHREAD_MUTEX_NORMAL___252 = 0,
    PTHREAD_MUTEX_RECURSIVE___252 = 1,
    PTHREAD_MUTEX_ERRORCHECK___252 = 2,
    PTHREAD_MUTEX_DEFAULT___252 = 0,
    PTHREAD_MUTEX_FAST_NP___252 = 0
} ;
enum __anonenum_931900394___252 {
    PTHREAD_MUTEX_STALLED___252 = 0,
    PTHREAD_MUTEX_STALLED_NP___252 = 0,
    PTHREAD_MUTEX_ROBUST___252 = 1,
    PTHREAD_MUTEX_ROBUST_NP___252 = 1
} ;
enum __anonenum_205214487___252 {
    PTHREAD_PRIO_NONE___252 = 0,
    PTHREAD_PRIO_INHERIT___252 = 1,
    PTHREAD_PRIO_PROTECT___252 = 2
} ;
enum __anonenum_25043950___252 {
    PTHREAD_RWLOCK_PREFER_READER_NP___252 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___252 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___252 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___252 = 0
} ;
enum __anonenum_436439511___252 {
    PTHREAD_INHERIT_SCHED___252 = 0,
    PTHREAD_EXPLICIT_SCHED___252 = 1
} ;
enum __anonenum_998661166___252 {
    PTHREAD_SCOPE_SYSTEM___252 = 0,
    PTHREAD_SCOPE_PROCESS___252 = 1
} ;
enum __anonenum_146137331___252 {
    PTHREAD_PROCESS_PRIVATE___252 = 0,
    PTHREAD_PROCESS_SHARED___252 = 1
} ;
enum __anonenum_53396917___252 {
    PTHREAD_CANCEL_ENABLE___252 = 0,
    PTHREAD_CANCEL_DISABLE___252 = 1
} ;
enum __anonenum_904563783___252 {
    PTHREAD_CANCEL_DEFERRED___252 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___252 = 1
} ;
enum __anonenum_672052974___252 {
    SSL_CT_VALIDATION_PERMISSIVE___252 = 0,
    SSL_CT_VALIDATION_STRICT___252 = 1
} ;
enum __anonenum_value_type_72961049 {
    REFTABLE_REF_DELETION = 0,
    REFTABLE_REF_VAL1 = 1,
    REFTABLE_REF_VAL2 = 2,
    REFTABLE_REF_SYMREF = 3
} ;
struct __anonstruct_val2_569059773 {
   uint8_t *value ;
   uint8_t *target_value ;
};
union __anonunion_value_942461666 {
   uint8_t *val1 ;
   struct __anonstruct_val2_569059773 val2 ;
   char *symref ;
};
struct reftable_ref_record {
   char *refname ;
   uint64_t update_index ;
   enum __anonenum_value_type_72961049 value_type ;
   union __anonunion_value_942461666 value ;
};
enum __anonenum_value_type_859643437 {
    REFTABLE_LOG_DELETION = 0,
    REFTABLE_LOG_UPDATE = 1
} ;
struct __anonstruct_update_392505266 {
   uint8_t *new_hash ;
   uint8_t *old_hash ;
   char *name ;
   char *email ;
   uint64_t time ;
   int16_t tz_offset ;
   char *message ;
};
union __anonunion_value_411389496 {
   struct __anonstruct_update_392505266 update ;
};
struct reftable_log_record {
   char *refname ;
   uint64_t update_index ;
   enum __anonenum_value_type_859643437 value_type ;
   union __anonunion_value_411389496 value ;
};
struct string_view {
   uint8_t *buf ;
   size_t len ;
};
struct reftable_record_vtable {
   void (*key)(void const   *rec , struct strbuf *dest ) ;
   uint8_t type ;
   void (*copy_from)(void *dest , void const   *src , int hash_size ) ;
   uint8_t (*val_type)(void const   *rec ) ;
   int (*encode)(void const   *rec , struct string_view dest , int hash_size ) ;
   int (*decode)(void *rec , struct strbuf key , uint8_t extra , struct string_view src ,
                 int hash_size ) ;
   void (*release)(void *rec ) ;
   int (*is_deletion)(void const   *rec ) ;
};
struct reftable_record {
   void *data ;
   struct reftable_record_vtable *ops ;
};
struct reftable_index_record {
   uint64_t offset ;
   struct strbuf last_key ;
};
struct reftable_obj_record {
   uint8_t *hash_prefix ;
   int hash_prefix_len ;
   uint64_t *offsets ;
   int offset_len ;
};
struct reftable_block_source_vtable ;
struct reftable_block_source {
   struct reftable_block_source_vtable *ops ;
   void *arg ;
};
struct reftable_block {
   uint8_t *data ;
   int len ;
   struct reftable_block_source source ;
};
struct reftable_block_source_vtable {
   uint64_t (*size)(void *source ) ;
   int (*read_block)(void *source , struct reftable_block *dest , uint64_t off , uint32_t size ) ;
   void (*return_block)(void *source , struct reftable_block *blockp ) ;
   void (*close)(void *source ) ;
};
struct block_writer {
   uint8_t *buf ;
   uint32_t block_size ;
   uint32_t header_off ;
   int restart_interval ;
   int hash_size ;
   uint32_t next ;
   uint32_t *restarts ;
   uint32_t restart_len ;
   uint32_t restart_cap ;
   struct strbuf last_key ;
   int entries ;
};
struct block_reader {
   uint32_t header_off ;
   struct reftable_block block ;
   int hash_size ;
   uint32_t block_len ;
   uint8_t *restart_bytes ;
   uint16_t restart_count ;
   uint32_t full_block_size ;
};
struct block_iter {
   uint32_t next_off ;
   struct block_reader *br ;
   struct strbuf last_key ;
};
struct restart_find_args {
   int error ;
   struct strbuf key ;
   struct block_reader *r ;
};
enum __anonenum_437032235___253 {
    _PC_LINK_MAX___253 = 0,
    _PC_MAX_CANON___253 = 1,
    _PC_MAX_INPUT___253 = 2,
    _PC_NAME_MAX___253 = 3,
    _PC_PATH_MAX___253 = 4,
    _PC_PIPE_BUF___253 = 5,
    _PC_CHOWN_RESTRICTED___253 = 6,
    _PC_NO_TRUNC___253 = 7,
    _PC_VDISABLE___253 = 8,
    _PC_SYNC_IO___253 = 9,
    _PC_ASYNC_IO___253 = 10,
    _PC_PRIO_IO___253 = 11,
    _PC_SOCK_MAXBUF___253 = 12,
    _PC_FILESIZEBITS___253 = 13,
    _PC_REC_INCR_XFER_SIZE___253 = 14,
    _PC_REC_MAX_XFER_SIZE___253 = 15,
    _PC_REC_MIN_XFER_SIZE___253 = 16,
    _PC_REC_XFER_ALIGN___253 = 17,
    _PC_ALLOC_SIZE_MIN___253 = 18,
    _PC_SYMLINK_MAX___253 = 19,
    _PC_2_SYMLINKS___253 = 20
} ;
enum __anonenum_315186338___253 {
    _SC_ARG_MAX___253 = 0,
    _SC_CHILD_MAX___253 = 1,
    _SC_CLK_TCK___253 = 2,
    _SC_NGROUPS_MAX___253 = 3,
    _SC_OPEN_MAX___253 = 4,
    _SC_STREAM_MAX___253 = 5,
    _SC_TZNAME_MAX___253 = 6,
    _SC_JOB_CONTROL___253 = 7,
    _SC_SAVED_IDS___253 = 8,
    _SC_REALTIME_SIGNALS___253 = 9,
    _SC_PRIORITY_SCHEDULING___253 = 10,
    _SC_TIMERS___253 = 11,
    _SC_ASYNCHRONOUS_IO___253 = 12,
    _SC_PRIORITIZED_IO___253 = 13,
    _SC_SYNCHRONIZED_IO___253 = 14,
    _SC_FSYNC___253 = 15,
    _SC_MAPPED_FILES___253 = 16,
    _SC_MEMLOCK___253 = 17,
    _SC_MEMLOCK_RANGE___253 = 18,
    _SC_MEMORY_PROTECTION___253 = 19,
    _SC_MESSAGE_PASSING___253 = 20,
    _SC_SEMAPHORES___253 = 21,
    _SC_SHARED_MEMORY_OBJECTS___253 = 22,
    _SC_AIO_LISTIO_MAX___253 = 23,
    _SC_AIO_MAX___253 = 24,
    _SC_AIO_PRIO_DELTA_MAX___253 = 25,
    _SC_DELAYTIMER_MAX___253 = 26,
    _SC_MQ_OPEN_MAX___253 = 27,
    _SC_MQ_PRIO_MAX___253 = 28,
    _SC_VERSION___253 = 29,
    _SC_PAGESIZE___253 = 30,
    _SC_RTSIG_MAX___253 = 31,
    _SC_SEM_NSEMS_MAX___253 = 32,
    _SC_SEM_VALUE_MAX___253 = 33,
    _SC_SIGQUEUE_MAX___253 = 34,
    _SC_TIMER_MAX___253 = 35,
    _SC_BC_BASE_MAX___253 = 36,
    _SC_BC_DIM_MAX___253 = 37,
    _SC_BC_SCALE_MAX___253 = 38,
    _SC_BC_STRING_MAX___253 = 39,
    _SC_COLL_WEIGHTS_MAX___253 = 40,
    _SC_EQUIV_CLASS_MAX___253 = 41,
    _SC_EXPR_NEST_MAX___253 = 42,
    _SC_LINE_MAX___253 = 43,
    _SC_RE_DUP_MAX___253 = 44,
    _SC_CHARCLASS_NAME_MAX___253 = 45,
    _SC_2_VERSION___253 = 46,
    _SC_2_C_BIND___253 = 47,
    _SC_2_C_DEV___253 = 48,
    _SC_2_FORT_DEV___253 = 49,
    _SC_2_FORT_RUN___253 = 50,
    _SC_2_SW_DEV___253 = 51,
    _SC_2_LOCALEDEF___253 = 52,
    _SC_PII___253 = 53,
    _SC_PII_XTI___253 = 54,
    _SC_PII_SOCKET___253 = 55,
    _SC_PII_INTERNET___253 = 56,
    _SC_PII_OSI___253 = 57,
    _SC_POLL___253 = 58,
    _SC_SELECT___253 = 59,
    _SC_UIO_MAXIOV___253 = 60,
    _SC_IOV_MAX___253 = 60,
    _SC_PII_INTERNET_STREAM___253 = 61,
    _SC_PII_INTERNET_DGRAM___253 = 62,
    _SC_PII_OSI_COTS___253 = 63,
    _SC_PII_OSI_CLTS___253 = 64,
    _SC_PII_OSI_M___253 = 65,
    _SC_T_IOV_MAX___253 = 66,
    _SC_THREADS___253 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___253 = 68,
    _SC_GETGR_R_SIZE_MAX___253 = 69,
    _SC_GETPW_R_SIZE_MAX___253 = 70,
    _SC_LOGIN_NAME_MAX___253 = 71,
    _SC_TTY_NAME_MAX___253 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___253 = 73,
    _SC_THREAD_KEYS_MAX___253 = 74,
    _SC_THREAD_STACK_MIN___253 = 75,
    _SC_THREAD_THREADS_MAX___253 = 76,
    _SC_THREAD_ATTR_STACKADDR___253 = 77,
    _SC_THREAD_ATTR_STACKSIZE___253 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___253 = 79,
    _SC_THREAD_PRIO_INHERIT___253 = 80,
    _SC_THREAD_PRIO_PROTECT___253 = 81,
    _SC_THREAD_PROCESS_SHARED___253 = 82,
    _SC_NPROCESSORS_CONF___253 = 83,
    _SC_NPROCESSORS_ONLN___253 = 84,
    _SC_PHYS_PAGES___253 = 85,
    _SC_AVPHYS_PAGES___253 = 86,
    _SC_ATEXIT_MAX___253 = 87,
    _SC_PASS_MAX___253 = 88,
    _SC_XOPEN_VERSION___253 = 89,
    _SC_XOPEN_XCU_VERSION___253 = 90,
    _SC_XOPEN_UNIX___253 = 91,
    _SC_XOPEN_CRYPT___253 = 92,
    _SC_XOPEN_ENH_I18N___253 = 93,
    _SC_XOPEN_SHM___253 = 94,
    _SC_2_CHAR_TERM___253 = 95,
    _SC_2_C_VERSION___253 = 96,
    _SC_2_UPE___253 = 97,
    _SC_XOPEN_XPG2___253 = 98,
    _SC_XOPEN_XPG3___253 = 99,
    _SC_XOPEN_XPG4___253 = 100,
    _SC_CHAR_BIT___253 = 101,
    _SC_CHAR_MAX___253 = 102,
    _SC_CHAR_MIN___253 = 103,
    _SC_INT_MAX___253 = 104,
    _SC_INT_MIN___253 = 105,
    _SC_LONG_BIT___253 = 106,
    _SC_WORD_BIT___253 = 107,
    _SC_MB_LEN_MAX___253 = 108,
    _SC_NZERO___253 = 109,
    _SC_SSIZE_MAX___253 = 110,
    _SC_SCHAR_MAX___253 = 111,
    _SC_SCHAR_MIN___253 = 112,
    _SC_SHRT_MAX___253 = 113,
    _SC_SHRT_MIN___253 = 114,
    _SC_UCHAR_MAX___253 = 115,
    _SC_UINT_MAX___253 = 116,
    _SC_ULONG_MAX___253 = 117,
    _SC_USHRT_MAX___253 = 118,
    _SC_NL_ARGMAX___253 = 119,
    _SC_NL_LANGMAX___253 = 120,
    _SC_NL_MSGMAX___253 = 121,
    _SC_NL_NMAX___253 = 122,
    _SC_NL_SETMAX___253 = 123,
    _SC_NL_TEXTMAX___253 = 124,
    _SC_XBS5_ILP32_OFF32___253 = 125,
    _SC_XBS5_ILP32_OFFBIG___253 = 126,
    _SC_XBS5_LP64_OFF64___253 = 127,
    _SC_XBS5_LPBIG_OFFBIG___253 = 128,
    _SC_XOPEN_LEGACY___253 = 129,
    _SC_XOPEN_REALTIME___253 = 130,
    _SC_XOPEN_REALTIME_THREADS___253 = 131,
    _SC_ADVISORY_INFO___253 = 132,
    _SC_BARRIERS___253 = 133,
    _SC_BASE___253 = 134,
    _SC_C_LANG_SUPPORT___253 = 135,
    _SC_C_LANG_SUPPORT_R___253 = 136,
    _SC_CLOCK_SELECTION___253 = 137,
    _SC_CPUTIME___253 = 138,
    _SC_THREAD_CPUTIME___253 = 139,
    _SC_DEVICE_IO___253 = 140,
    _SC_DEVICE_SPECIFIC___253 = 141,
    _SC_DEVICE_SPECIFIC_R___253 = 142,
    _SC_FD_MGMT___253 = 143,
    _SC_FIFO___253 = 144,
    _SC_PIPE___253 = 145,
    _SC_FILE_ATTRIBUTES___253 = 146,
    _SC_FILE_LOCKING___253 = 147,
    _SC_FILE_SYSTEM___253 = 148,
    _SC_MONOTONIC_CLOCK___253 = 149,
    _SC_MULTI_PROCESS___253 = 150,
    _SC_SINGLE_PROCESS___253 = 151,
    _SC_NETWORKING___253 = 152,
    _SC_READER_WRITER_LOCKS___253 = 153,
    _SC_SPIN_LOCKS___253 = 154,
    _SC_REGEXP___253 = 155,
    _SC_REGEX_VERSION___253 = 156,
    _SC_SHELL___253 = 157,
    _SC_SIGNALS___253 = 158,
    _SC_SPAWN___253 = 159,
    _SC_SPORADIC_SERVER___253 = 160,
    _SC_THREAD_SPORADIC_SERVER___253 = 161,
    _SC_SYSTEM_DATABASE___253 = 162,
    _SC_SYSTEM_DATABASE_R___253 = 163,
    _SC_TIMEOUTS___253 = 164,
    _SC_TYPED_MEMORY_OBJECTS___253 = 165,
    _SC_USER_GROUPS___253 = 166,
    _SC_USER_GROUPS_R___253 = 167,
    _SC_2_PBS___253 = 168,
    _SC_2_PBS_ACCOUNTING___253 = 169,
    _SC_2_PBS_LOCATE___253 = 170,
    _SC_2_PBS_MESSAGE___253 = 171,
    _SC_2_PBS_TRACK___253 = 172,
    _SC_SYMLOOP_MAX___253 = 173,
    _SC_STREAMS___253 = 174,
    _SC_2_PBS_CHECKPOINT___253 = 175,
    _SC_V6_ILP32_OFF32___253 = 176,
    _SC_V6_ILP32_OFFBIG___253 = 177,
    _SC_V6_LP64_OFF64___253 = 178,
    _SC_V6_LPBIG_OFFBIG___253 = 179,
    _SC_HOST_NAME_MAX___253 = 180,
    _SC_TRACE___253 = 181,
    _SC_TRACE_EVENT_FILTER___253 = 182,
    _SC_TRACE_INHERIT___253 = 183,
    _SC_TRACE_LOG___253 = 184,
    _SC_LEVEL1_ICACHE_SIZE___253 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___253 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___253 = 187,
    _SC_LEVEL1_DCACHE_SIZE___253 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___253 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___253 = 190,
    _SC_LEVEL2_CACHE_SIZE___253 = 191,
    _SC_LEVEL2_CACHE_ASSOC___253 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___253 = 193,
    _SC_LEVEL3_CACHE_SIZE___253 = 194,
    _SC_LEVEL3_CACHE_ASSOC___253 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___253 = 196,
    _SC_LEVEL4_CACHE_SIZE___253 = 197,
    _SC_LEVEL4_CACHE_ASSOC___253 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___253 = 199,
    _SC_IPV6___253 = 235,
    _SC_RAW_SOCKETS___253 = 236,
    _SC_V7_ILP32_OFF32___253 = 237,
    _SC_V7_ILP32_OFFBIG___253 = 238,
    _SC_V7_LP64_OFF64___253 = 239,
    _SC_V7_LPBIG_OFFBIG___253 = 240,
    _SC_SS_REPL_MAX___253 = 241,
    _SC_TRACE_EVENT_NAME_MAX___253 = 242,
    _SC_TRACE_NAME_MAX___253 = 243,
    _SC_TRACE_SYS_MAX___253 = 244,
    _SC_TRACE_USER_EVENT_MAX___253 = 245,
    _SC_XOPEN_STREAMS___253 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___253 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___253 = 248
} ;
enum __anonenum_875524036___253 {
    _CS_PATH___253 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___253 = 1,
    _CS_GNU_LIBC_VERSION___253 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___253 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___253 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___253 = 5,
    _CS_LFS_CFLAGS___253 = 1000,
    _CS_LFS_LDFLAGS___253 = 1001,
    _CS_LFS_LIBS___253 = 1002,
    _CS_LFS_LINTFLAGS___253 = 1003,
    _CS_LFS64_CFLAGS___253 = 1004,
    _CS_LFS64_LDFLAGS___253 = 1005,
    _CS_LFS64_LIBS___253 = 1006,
    _CS_LFS64_LINTFLAGS___253 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___253 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___253 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___253 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___253 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___253 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___253 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___253 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___253 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___253 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___253 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___253 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___253 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___253 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___253 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___253 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___253 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___253 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___253 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___253 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___253 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___253 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___253 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___253 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___253 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___253 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___253 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___253 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___253 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___253 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___253 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___253 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___253 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___253 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___253 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___253 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___253 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___253 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___253 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___253 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___253 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___253 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___253 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___253 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___253 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___253 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___253 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___253 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___253 = 1147,
    _CS_V6_ENV___253 = 1148,
    _CS_V7_ENV___253 = 1149
} ;
enum __anonenum_513775621___253 {
    DT_UNKNOWN___253 = 0,
    DT_FIFO___253 = 1,
    DT_CHR___253 = 2,
    DT_DIR___253 = 4,
    DT_BLK___253 = 6,
    DT_REG___253 = 8,
    DT_LNK___253 = 10,
    DT_SOCK___253 = 12,
    DT_WHT___253 = 14
} ;
enum __anonenum_77002343___253 {
    SI_ASYNCNL___253 = -60,
    SI_TKILL___253 = -6,
    SI_SIGIO___253 = -5,
    SI_ASYNCIO___253 = -4,
    SI_MESGQ___253 = -3,
    SI_TIMER___253 = -2,
    SI_QUEUE___253 = -1,
    SI_USER___253 = 0,
    SI_KERNEL___253 = 128
} ;
enum __anonenum_131038172___253 {
    ILL_ILLOPC___253 = 1,
    ILL_ILLOPN___253 = 2,
    ILL_ILLADR___253 = 3,
    ILL_ILLTRP___253 = 4,
    ILL_PRVOPC___253 = 5,
    ILL_PRVREG___253 = 6,
    ILL_COPROC___253 = 7,
    ILL_BADSTK___253 = 8
} ;
enum __anonenum_452038093___253 {
    FPE_INTDIV___253 = 1,
    FPE_INTOVF___253 = 2,
    FPE_FLTDIV___253 = 3,
    FPE_FLTOVF___253 = 4,
    FPE_FLTUND___253 = 5,
    FPE_FLTRES___253 = 6,
    FPE_FLTINV___253 = 7,
    FPE_FLTSUB___253 = 8
} ;
enum __anonenum_30976155___253 {
    SEGV_MAPERR___253 = 1,
    SEGV_ACCERR___253 = 2,
    SEGV_BNDERR___253 = 3,
    SEGV_PKUERR___253 = 4
} ;
enum __anonenum_1036286214___253 {
    BUS_ADRALN___253 = 1,
    BUS_ADRERR___253 = 2,
    BUS_OBJERR___253 = 3,
    BUS_MCEERR_AR___253 = 4,
    BUS_MCEERR_AO___253 = 5
} ;
enum __anonenum_493465559___253 {
    TRAP_BRKPT___253 = 1,
    TRAP_TRACE___253 = 2
} ;
enum __anonenum_23175539___253 {
    CLD_EXITED___253 = 1,
    CLD_KILLED___253 = 2,
    CLD_DUMPED___253 = 3,
    CLD_TRAPPED___253 = 4,
    CLD_STOPPED___253 = 5,
    CLD_CONTINUED___253 = 6
} ;
enum __anonenum_111643124___253 {
    POLL_IN___253 = 1,
    POLL_OUT___253 = 2,
    POLL_MSG___253 = 3,
    POLL_ERR___253 = 4,
    POLL_PRI___253 = 5,
    POLL_HUP___253 = 6
} ;
enum __anonenum_852341087___253 {
    SIGEV_SIGNAL___253 = 0,
    SIGEV_NONE___253 = 1,
    SIGEV_THREAD___253 = 2,
    SIGEV_THREAD_ID___253 = 4
} ;
enum __anonenum_451154152___253 {
    REG_R8___253 = 0,
    REG_R9___253 = 1,
    REG_R10___253 = 2,
    REG_R11___253 = 3,
    REG_R12___253 = 4,
    REG_R13___253 = 5,
    REG_R14___253 = 6,
    REG_R15___253 = 7,
    REG_RDI___253 = 8,
    REG_RSI___253 = 9,
    REG_RBP___253 = 10,
    REG_RBX___253 = 11,
    REG_RDX___253 = 12,
    REG_RAX___253 = 13,
    REG_RCX___253 = 14,
    REG_RSP___253 = 15,
    REG_RIP___253 = 16,
    REG_EFL___253 = 17,
    REG_CSGSFS___253 = 18,
    REG_ERR___253 = 19,
    REG_TRAPNO___253 = 20,
    REG_OLDMASK___253 = 21,
    REG_CR2___253 = 22
} ;
enum __anonenum_57186863___253 {
    SS_ONSTACK___253 = 1,
    SS_DISABLE___253 = 2
} ;
enum __anonenum_83571709___253 {
    MSG_OOB___253 = 1,
    MSG_PEEK___253 = 2,
    MSG_DONTROUTE___253 = 4,
    MSG_TRYHARD___253 = 4,
    MSG_CTRUNC___253 = 8,
    MSG_PROXY___253 = 16,
    MSG_TRUNC___253 = 32,
    MSG_DONTWAIT___253 = 64,
    MSG_EOR___253 = 128,
    MSG_WAITALL___253 = 256,
    MSG_FIN___253 = 512,
    MSG_SYN___253 = 1024,
    MSG_CONFIRM___253 = 2048,
    MSG_RST___253 = 4096,
    MSG_ERRQUEUE___253 = 8192,
    MSG_NOSIGNAL___253 = 16384,
    MSG_MORE___253 = 32768,
    MSG_WAITFORONE___253 = 65536,
    MSG_BATCH___253 = 262144,
    MSG_ZEROCOPY___253 = 67108864,
    MSG_FASTOPEN___253 = 536870912,
    MSG_CMSG_CLOEXEC___253 = 1073741824
} ;
enum __anonenum_617082774___253 {
    SCM_RIGHTS___253 = 1,
    SCM_CREDENTIALS___253 = 2
} ;
enum __anonenum_606441560___253 {
    SHUT_RD___253 = 0,
    SHUT_WR___253 = 1,
    SHUT_RDWR___253 = 2
} ;
enum __anonenum_681669233___253 {
    IPPROTO_IP___253 = 0,
    IPPROTO_ICMP___253 = 1,
    IPPROTO_IGMP___253 = 2,
    IPPROTO_IPIP___253 = 4,
    IPPROTO_TCP___253 = 6,
    IPPROTO_EGP___253 = 8,
    IPPROTO_PUP___253 = 12,
    IPPROTO_UDP___253 = 17,
    IPPROTO_IDP___253 = 22,
    IPPROTO_TP___253 = 29,
    IPPROTO_DCCP___253 = 33,
    IPPROTO_IPV6___253 = 41,
    IPPROTO_RSVP___253 = 46,
    IPPROTO_GRE___253 = 47,
    IPPROTO_ESP___253 = 50,
    IPPROTO_AH___253 = 51,
    IPPROTO_MTP___253 = 92,
    IPPROTO_BEETPH___253 = 94,
    IPPROTO_ENCAP___253 = 98,
    IPPROTO_PIM___253 = 103,
    IPPROTO_COMP___253 = 108,
    IPPROTO_SCTP___253 = 132,
    IPPROTO_UDPLITE___253 = 136,
    IPPROTO_MPLS___253 = 137,
    IPPROTO_RAW___253 = 255,
    IPPROTO_MAX___253 = 256
} ;
enum __anonenum_218739988___253 {
    IPPROTO_HOPOPTS___253 = 0,
    IPPROTO_ROUTING___253 = 43,
    IPPROTO_FRAGMENT___253 = 44,
    IPPROTO_ICMPV6___253 = 58,
    IPPROTO_NONE___253 = 59,
    IPPROTO_DSTOPTS___253 = 60,
    IPPROTO_MH___253 = 135
} ;
enum __anonenum_662268580___253 {
    IPPORT_ECHO___253 = 7,
    IPPORT_DISCARD___253 = 9,
    IPPORT_SYSTAT___253 = 11,
    IPPORT_DAYTIME___253 = 13,
    IPPORT_NETSTAT___253 = 15,
    IPPORT_FTP___253 = 21,
    IPPORT_TELNET___253 = 23,
    IPPORT_SMTP___253 = 25,
    IPPORT_TIMESERVER___253 = 37,
    IPPORT_NAMESERVER___253 = 42,
    IPPORT_WHOIS___253 = 43,
    IPPORT_MTP___253 = 57,
    IPPORT_TFTP___253 = 69,
    IPPORT_RJE___253 = 77,
    IPPORT_FINGER___253 = 79,
    IPPORT_TTYLINK___253 = 87,
    IPPORT_SUPDUP___253 = 95,
    IPPORT_EXECSERVER___253 = 512,
    IPPORT_LOGINSERVER___253 = 513,
    IPPORT_CMDSERVER___253 = 514,
    IPPORT_EFSSERVER___253 = 520,
    IPPORT_BIFFUDP___253 = 512,
    IPPORT_WHOSERVER___253 = 513,
    IPPORT_ROUTESERVER___253 = 520,
    IPPORT_RESERVED___253 = 1024,
    IPPORT_USERRESERVED___253 = 5000
} ;
enum __anonenum_788308992___253 {
    TCP_ESTABLISHED___253 = 1,
    TCP_SYN_SENT___253 = 2,
    TCP_SYN_RECV___253 = 3,
    TCP_FIN_WAIT1___253 = 4,
    TCP_FIN_WAIT2___253 = 5,
    TCP_TIME_WAIT___253 = 6,
    TCP_CLOSE___253 = 7,
    TCP_CLOSE_WAIT___253 = 8,
    TCP_LAST_ACK___253 = 9,
    TCP_LISTEN___253 = 10,
    TCP_CLOSING___253 = 11
} ;
enum __anonenum_221125648___253 {
    TCP_NO_QUEUE___253 = 0,
    TCP_RECV_QUEUE___253 = 1,
    TCP_SEND_QUEUE___253 = 2,
    TCP_QUEUES_NR___253 = 3
} ;
enum __anonenum_34415463___253 {
    PTHREAD_CREATE_JOINABLE___253 = 0,
    PTHREAD_CREATE_DETACHED___253 = 1
} ;
enum __anonenum_303612439___253 {
    PTHREAD_MUTEX_TIMED_NP___253 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___253 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___253 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___253 = 3,
    PTHREAD_MUTEX_NORMAL___253 = 0,
    PTHREAD_MUTEX_RECURSIVE___253 = 1,
    PTHREAD_MUTEX_ERRORCHECK___253 = 2,
    PTHREAD_MUTEX_DEFAULT___253 = 0,
    PTHREAD_MUTEX_FAST_NP___253 = 0
} ;
enum __anonenum_931900394___253 {
    PTHREAD_MUTEX_STALLED___253 = 0,
    PTHREAD_MUTEX_STALLED_NP___253 = 0,
    PTHREAD_MUTEX_ROBUST___253 = 1,
    PTHREAD_MUTEX_ROBUST_NP___253 = 1
} ;
enum __anonenum_205214487___253 {
    PTHREAD_PRIO_NONE___253 = 0,
    PTHREAD_PRIO_INHERIT___253 = 1,
    PTHREAD_PRIO_PROTECT___253 = 2
} ;
enum __anonenum_25043950___253 {
    PTHREAD_RWLOCK_PREFER_READER_NP___253 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___253 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___253 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___253 = 0
} ;
enum __anonenum_436439511___253 {
    PTHREAD_INHERIT_SCHED___253 = 0,
    PTHREAD_EXPLICIT_SCHED___253 = 1
} ;
enum __anonenum_998661166___253 {
    PTHREAD_SCOPE_SYSTEM___253 = 0,
    PTHREAD_SCOPE_PROCESS___253 = 1
} ;
enum __anonenum_146137331___253 {
    PTHREAD_PROCESS_PRIVATE___253 = 0,
    PTHREAD_PROCESS_SHARED___253 = 1
} ;
enum __anonenum_53396917___253 {
    PTHREAD_CANCEL_ENABLE___253 = 0,
    PTHREAD_CANCEL_DISABLE___253 = 1
} ;
enum __anonenum_904563783___253 {
    PTHREAD_CANCEL_DEFERRED___253 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___253 = 1
} ;
enum __anonenum_672052974___253 {
    SSL_CT_VALIDATION_PERMISSIVE___253 = 0,
    SSL_CT_VALIDATION_STRICT___253 = 1
} ;
struct file_block_source {
   int fd ;
   uint64_t size ;
};
enum __anonenum_437032235___254 {
    _PC_LINK_MAX___254 = 0,
    _PC_MAX_CANON___254 = 1,
    _PC_MAX_INPUT___254 = 2,
    _PC_NAME_MAX___254 = 3,
    _PC_PATH_MAX___254 = 4,
    _PC_PIPE_BUF___254 = 5,
    _PC_CHOWN_RESTRICTED___254 = 6,
    _PC_NO_TRUNC___254 = 7,
    _PC_VDISABLE___254 = 8,
    _PC_SYNC_IO___254 = 9,
    _PC_ASYNC_IO___254 = 10,
    _PC_PRIO_IO___254 = 11,
    _PC_SOCK_MAXBUF___254 = 12,
    _PC_FILESIZEBITS___254 = 13,
    _PC_REC_INCR_XFER_SIZE___254 = 14,
    _PC_REC_MAX_XFER_SIZE___254 = 15,
    _PC_REC_MIN_XFER_SIZE___254 = 16,
    _PC_REC_XFER_ALIGN___254 = 17,
    _PC_ALLOC_SIZE_MIN___254 = 18,
    _PC_SYMLINK_MAX___254 = 19,
    _PC_2_SYMLINKS___254 = 20
} ;
enum __anonenum_315186338___254 {
    _SC_ARG_MAX___254 = 0,
    _SC_CHILD_MAX___254 = 1,
    _SC_CLK_TCK___254 = 2,
    _SC_NGROUPS_MAX___254 = 3,
    _SC_OPEN_MAX___254 = 4,
    _SC_STREAM_MAX___254 = 5,
    _SC_TZNAME_MAX___254 = 6,
    _SC_JOB_CONTROL___254 = 7,
    _SC_SAVED_IDS___254 = 8,
    _SC_REALTIME_SIGNALS___254 = 9,
    _SC_PRIORITY_SCHEDULING___254 = 10,
    _SC_TIMERS___254 = 11,
    _SC_ASYNCHRONOUS_IO___254 = 12,
    _SC_PRIORITIZED_IO___254 = 13,
    _SC_SYNCHRONIZED_IO___254 = 14,
    _SC_FSYNC___254 = 15,
    _SC_MAPPED_FILES___254 = 16,
    _SC_MEMLOCK___254 = 17,
    _SC_MEMLOCK_RANGE___254 = 18,
    _SC_MEMORY_PROTECTION___254 = 19,
    _SC_MESSAGE_PASSING___254 = 20,
    _SC_SEMAPHORES___254 = 21,
    _SC_SHARED_MEMORY_OBJECTS___254 = 22,
    _SC_AIO_LISTIO_MAX___254 = 23,
    _SC_AIO_MAX___254 = 24,
    _SC_AIO_PRIO_DELTA_MAX___254 = 25,
    _SC_DELAYTIMER_MAX___254 = 26,
    _SC_MQ_OPEN_MAX___254 = 27,
    _SC_MQ_PRIO_MAX___254 = 28,
    _SC_VERSION___254 = 29,
    _SC_PAGESIZE___254 = 30,
    _SC_RTSIG_MAX___254 = 31,
    _SC_SEM_NSEMS_MAX___254 = 32,
    _SC_SEM_VALUE_MAX___254 = 33,
    _SC_SIGQUEUE_MAX___254 = 34,
    _SC_TIMER_MAX___254 = 35,
    _SC_BC_BASE_MAX___254 = 36,
    _SC_BC_DIM_MAX___254 = 37,
    _SC_BC_SCALE_MAX___254 = 38,
    _SC_BC_STRING_MAX___254 = 39,
    _SC_COLL_WEIGHTS_MAX___254 = 40,
    _SC_EQUIV_CLASS_MAX___254 = 41,
    _SC_EXPR_NEST_MAX___254 = 42,
    _SC_LINE_MAX___254 = 43,
    _SC_RE_DUP_MAX___254 = 44,
    _SC_CHARCLASS_NAME_MAX___254 = 45,
    _SC_2_VERSION___254 = 46,
    _SC_2_C_BIND___254 = 47,
    _SC_2_C_DEV___254 = 48,
    _SC_2_FORT_DEV___254 = 49,
    _SC_2_FORT_RUN___254 = 50,
    _SC_2_SW_DEV___254 = 51,
    _SC_2_LOCALEDEF___254 = 52,
    _SC_PII___254 = 53,
    _SC_PII_XTI___254 = 54,
    _SC_PII_SOCKET___254 = 55,
    _SC_PII_INTERNET___254 = 56,
    _SC_PII_OSI___254 = 57,
    _SC_POLL___254 = 58,
    _SC_SELECT___254 = 59,
    _SC_UIO_MAXIOV___254 = 60,
    _SC_IOV_MAX___254 = 60,
    _SC_PII_INTERNET_STREAM___254 = 61,
    _SC_PII_INTERNET_DGRAM___254 = 62,
    _SC_PII_OSI_COTS___254 = 63,
    _SC_PII_OSI_CLTS___254 = 64,
    _SC_PII_OSI_M___254 = 65,
    _SC_T_IOV_MAX___254 = 66,
    _SC_THREADS___254 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___254 = 68,
    _SC_GETGR_R_SIZE_MAX___254 = 69,
    _SC_GETPW_R_SIZE_MAX___254 = 70,
    _SC_LOGIN_NAME_MAX___254 = 71,
    _SC_TTY_NAME_MAX___254 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___254 = 73,
    _SC_THREAD_KEYS_MAX___254 = 74,
    _SC_THREAD_STACK_MIN___254 = 75,
    _SC_THREAD_THREADS_MAX___254 = 76,
    _SC_THREAD_ATTR_STACKADDR___254 = 77,
    _SC_THREAD_ATTR_STACKSIZE___254 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___254 = 79,
    _SC_THREAD_PRIO_INHERIT___254 = 80,
    _SC_THREAD_PRIO_PROTECT___254 = 81,
    _SC_THREAD_PROCESS_SHARED___254 = 82,
    _SC_NPROCESSORS_CONF___254 = 83,
    _SC_NPROCESSORS_ONLN___254 = 84,
    _SC_PHYS_PAGES___254 = 85,
    _SC_AVPHYS_PAGES___254 = 86,
    _SC_ATEXIT_MAX___254 = 87,
    _SC_PASS_MAX___254 = 88,
    _SC_XOPEN_VERSION___254 = 89,
    _SC_XOPEN_XCU_VERSION___254 = 90,
    _SC_XOPEN_UNIX___254 = 91,
    _SC_XOPEN_CRYPT___254 = 92,
    _SC_XOPEN_ENH_I18N___254 = 93,
    _SC_XOPEN_SHM___254 = 94,
    _SC_2_CHAR_TERM___254 = 95,
    _SC_2_C_VERSION___254 = 96,
    _SC_2_UPE___254 = 97,
    _SC_XOPEN_XPG2___254 = 98,
    _SC_XOPEN_XPG3___254 = 99,
    _SC_XOPEN_XPG4___254 = 100,
    _SC_CHAR_BIT___254 = 101,
    _SC_CHAR_MAX___254 = 102,
    _SC_CHAR_MIN___254 = 103,
    _SC_INT_MAX___254 = 104,
    _SC_INT_MIN___254 = 105,
    _SC_LONG_BIT___254 = 106,
    _SC_WORD_BIT___254 = 107,
    _SC_MB_LEN_MAX___254 = 108,
    _SC_NZERO___254 = 109,
    _SC_SSIZE_MAX___254 = 110,
    _SC_SCHAR_MAX___254 = 111,
    _SC_SCHAR_MIN___254 = 112,
    _SC_SHRT_MAX___254 = 113,
    _SC_SHRT_MIN___254 = 114,
    _SC_UCHAR_MAX___254 = 115,
    _SC_UINT_MAX___254 = 116,
    _SC_ULONG_MAX___254 = 117,
    _SC_USHRT_MAX___254 = 118,
    _SC_NL_ARGMAX___254 = 119,
    _SC_NL_LANGMAX___254 = 120,
    _SC_NL_MSGMAX___254 = 121,
    _SC_NL_NMAX___254 = 122,
    _SC_NL_SETMAX___254 = 123,
    _SC_NL_TEXTMAX___254 = 124,
    _SC_XBS5_ILP32_OFF32___254 = 125,
    _SC_XBS5_ILP32_OFFBIG___254 = 126,
    _SC_XBS5_LP64_OFF64___254 = 127,
    _SC_XBS5_LPBIG_OFFBIG___254 = 128,
    _SC_XOPEN_LEGACY___254 = 129,
    _SC_XOPEN_REALTIME___254 = 130,
    _SC_XOPEN_REALTIME_THREADS___254 = 131,
    _SC_ADVISORY_INFO___254 = 132,
    _SC_BARRIERS___254 = 133,
    _SC_BASE___254 = 134,
    _SC_C_LANG_SUPPORT___254 = 135,
    _SC_C_LANG_SUPPORT_R___254 = 136,
    _SC_CLOCK_SELECTION___254 = 137,
    _SC_CPUTIME___254 = 138,
    _SC_THREAD_CPUTIME___254 = 139,
    _SC_DEVICE_IO___254 = 140,
    _SC_DEVICE_SPECIFIC___254 = 141,
    _SC_DEVICE_SPECIFIC_R___254 = 142,
    _SC_FD_MGMT___254 = 143,
    _SC_FIFO___254 = 144,
    _SC_PIPE___254 = 145,
    _SC_FILE_ATTRIBUTES___254 = 146,
    _SC_FILE_LOCKING___254 = 147,
    _SC_FILE_SYSTEM___254 = 148,
    _SC_MONOTONIC_CLOCK___254 = 149,
    _SC_MULTI_PROCESS___254 = 150,
    _SC_SINGLE_PROCESS___254 = 151,
    _SC_NETWORKING___254 = 152,
    _SC_READER_WRITER_LOCKS___254 = 153,
    _SC_SPIN_LOCKS___254 = 154,
    _SC_REGEXP___254 = 155,
    _SC_REGEX_VERSION___254 = 156,
    _SC_SHELL___254 = 157,
    _SC_SIGNALS___254 = 158,
    _SC_SPAWN___254 = 159,
    _SC_SPORADIC_SERVER___254 = 160,
    _SC_THREAD_SPORADIC_SERVER___254 = 161,
    _SC_SYSTEM_DATABASE___254 = 162,
    _SC_SYSTEM_DATABASE_R___254 = 163,
    _SC_TIMEOUTS___254 = 164,
    _SC_TYPED_MEMORY_OBJECTS___254 = 165,
    _SC_USER_GROUPS___254 = 166,
    _SC_USER_GROUPS_R___254 = 167,
    _SC_2_PBS___254 = 168,
    _SC_2_PBS_ACCOUNTING___254 = 169,
    _SC_2_PBS_LOCATE___254 = 170,
    _SC_2_PBS_MESSAGE___254 = 171,
    _SC_2_PBS_TRACK___254 = 172,
    _SC_SYMLOOP_MAX___254 = 173,
    _SC_STREAMS___254 = 174,
    _SC_2_PBS_CHECKPOINT___254 = 175,
    _SC_V6_ILP32_OFF32___254 = 176,
    _SC_V6_ILP32_OFFBIG___254 = 177,
    _SC_V6_LP64_OFF64___254 = 178,
    _SC_V6_LPBIG_OFFBIG___254 = 179,
    _SC_HOST_NAME_MAX___254 = 180,
    _SC_TRACE___254 = 181,
    _SC_TRACE_EVENT_FILTER___254 = 182,
    _SC_TRACE_INHERIT___254 = 183,
    _SC_TRACE_LOG___254 = 184,
    _SC_LEVEL1_ICACHE_SIZE___254 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___254 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___254 = 187,
    _SC_LEVEL1_DCACHE_SIZE___254 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___254 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___254 = 190,
    _SC_LEVEL2_CACHE_SIZE___254 = 191,
    _SC_LEVEL2_CACHE_ASSOC___254 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___254 = 193,
    _SC_LEVEL3_CACHE_SIZE___254 = 194,
    _SC_LEVEL3_CACHE_ASSOC___254 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___254 = 196,
    _SC_LEVEL4_CACHE_SIZE___254 = 197,
    _SC_LEVEL4_CACHE_ASSOC___254 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___254 = 199,
    _SC_IPV6___254 = 235,
    _SC_RAW_SOCKETS___254 = 236,
    _SC_V7_ILP32_OFF32___254 = 237,
    _SC_V7_ILP32_OFFBIG___254 = 238,
    _SC_V7_LP64_OFF64___254 = 239,
    _SC_V7_LPBIG_OFFBIG___254 = 240,
    _SC_SS_REPL_MAX___254 = 241,
    _SC_TRACE_EVENT_NAME_MAX___254 = 242,
    _SC_TRACE_NAME_MAX___254 = 243,
    _SC_TRACE_SYS_MAX___254 = 244,
    _SC_TRACE_USER_EVENT_MAX___254 = 245,
    _SC_XOPEN_STREAMS___254 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___254 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___254 = 248
} ;
enum __anonenum_875524036___254 {
    _CS_PATH___254 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___254 = 1,
    _CS_GNU_LIBC_VERSION___254 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___254 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___254 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___254 = 5,
    _CS_LFS_CFLAGS___254 = 1000,
    _CS_LFS_LDFLAGS___254 = 1001,
    _CS_LFS_LIBS___254 = 1002,
    _CS_LFS_LINTFLAGS___254 = 1003,
    _CS_LFS64_CFLAGS___254 = 1004,
    _CS_LFS64_LDFLAGS___254 = 1005,
    _CS_LFS64_LIBS___254 = 1006,
    _CS_LFS64_LINTFLAGS___254 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___254 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___254 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___254 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___254 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___254 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___254 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___254 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___254 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___254 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___254 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___254 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___254 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___254 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___254 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___254 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___254 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___254 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___254 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___254 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___254 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___254 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___254 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___254 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___254 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___254 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___254 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___254 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___254 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___254 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___254 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___254 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___254 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___254 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___254 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___254 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___254 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___254 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___254 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___254 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___254 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___254 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___254 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___254 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___254 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___254 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___254 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___254 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___254 = 1147,
    _CS_V6_ENV___254 = 1148,
    _CS_V7_ENV___254 = 1149
} ;
enum __anonenum_513775621___254 {
    DT_UNKNOWN___254 = 0,
    DT_FIFO___254 = 1,
    DT_CHR___254 = 2,
    DT_DIR___254 = 4,
    DT_BLK___254 = 6,
    DT_REG___254 = 8,
    DT_LNK___254 = 10,
    DT_SOCK___254 = 12,
    DT_WHT___254 = 14
} ;
enum __anonenum_77002343___254 {
    SI_ASYNCNL___254 = -60,
    SI_TKILL___254 = -6,
    SI_SIGIO___254 = -5,
    SI_ASYNCIO___254 = -4,
    SI_MESGQ___254 = -3,
    SI_TIMER___254 = -2,
    SI_QUEUE___254 = -1,
    SI_USER___254 = 0,
    SI_KERNEL___254 = 128
} ;
enum __anonenum_131038172___254 {
    ILL_ILLOPC___254 = 1,
    ILL_ILLOPN___254 = 2,
    ILL_ILLADR___254 = 3,
    ILL_ILLTRP___254 = 4,
    ILL_PRVOPC___254 = 5,
    ILL_PRVREG___254 = 6,
    ILL_COPROC___254 = 7,
    ILL_BADSTK___254 = 8
} ;
enum __anonenum_452038093___254 {
    FPE_INTDIV___254 = 1,
    FPE_INTOVF___254 = 2,
    FPE_FLTDIV___254 = 3,
    FPE_FLTOVF___254 = 4,
    FPE_FLTUND___254 = 5,
    FPE_FLTRES___254 = 6,
    FPE_FLTINV___254 = 7,
    FPE_FLTSUB___254 = 8
} ;
enum __anonenum_30976155___254 {
    SEGV_MAPERR___254 = 1,
    SEGV_ACCERR___254 = 2,
    SEGV_BNDERR___254 = 3,
    SEGV_PKUERR___254 = 4
} ;
enum __anonenum_1036286214___254 {
    BUS_ADRALN___254 = 1,
    BUS_ADRERR___254 = 2,
    BUS_OBJERR___254 = 3,
    BUS_MCEERR_AR___254 = 4,
    BUS_MCEERR_AO___254 = 5
} ;
enum __anonenum_493465559___254 {
    TRAP_BRKPT___254 = 1,
    TRAP_TRACE___254 = 2
} ;
enum __anonenum_23175539___254 {
    CLD_EXITED___254 = 1,
    CLD_KILLED___254 = 2,
    CLD_DUMPED___254 = 3,
    CLD_TRAPPED___254 = 4,
    CLD_STOPPED___254 = 5,
    CLD_CONTINUED___254 = 6
} ;
enum __anonenum_111643124___254 {
    POLL_IN___254 = 1,
    POLL_OUT___254 = 2,
    POLL_MSG___254 = 3,
    POLL_ERR___254 = 4,
    POLL_PRI___254 = 5,
    POLL_HUP___254 = 6
} ;
enum __anonenum_852341087___254 {
    SIGEV_SIGNAL___254 = 0,
    SIGEV_NONE___254 = 1,
    SIGEV_THREAD___254 = 2,
    SIGEV_THREAD_ID___254 = 4
} ;
enum __anonenum_451154152___254 {
    REG_R8___254 = 0,
    REG_R9___254 = 1,
    REG_R10___254 = 2,
    REG_R11___254 = 3,
    REG_R12___254 = 4,
    REG_R13___254 = 5,
    REG_R14___254 = 6,
    REG_R15___254 = 7,
    REG_RDI___254 = 8,
    REG_RSI___254 = 9,
    REG_RBP___254 = 10,
    REG_RBX___254 = 11,
    REG_RDX___254 = 12,
    REG_RAX___254 = 13,
    REG_RCX___254 = 14,
    REG_RSP___254 = 15,
    REG_RIP___254 = 16,
    REG_EFL___254 = 17,
    REG_CSGSFS___254 = 18,
    REG_ERR___254 = 19,
    REG_TRAPNO___254 = 20,
    REG_OLDMASK___254 = 21,
    REG_CR2___254 = 22
} ;
enum __anonenum_57186863___254 {
    SS_ONSTACK___254 = 1,
    SS_DISABLE___254 = 2
} ;
enum __anonenum_83571709___254 {
    MSG_OOB___254 = 1,
    MSG_PEEK___254 = 2,
    MSG_DONTROUTE___254 = 4,
    MSG_TRYHARD___254 = 4,
    MSG_CTRUNC___254 = 8,
    MSG_PROXY___254 = 16,
    MSG_TRUNC___254 = 32,
    MSG_DONTWAIT___254 = 64,
    MSG_EOR___254 = 128,
    MSG_WAITALL___254 = 256,
    MSG_FIN___254 = 512,
    MSG_SYN___254 = 1024,
    MSG_CONFIRM___254 = 2048,
    MSG_RST___254 = 4096,
    MSG_ERRQUEUE___254 = 8192,
    MSG_NOSIGNAL___254 = 16384,
    MSG_MORE___254 = 32768,
    MSG_WAITFORONE___254 = 65536,
    MSG_BATCH___254 = 262144,
    MSG_ZEROCOPY___254 = 67108864,
    MSG_FASTOPEN___254 = 536870912,
    MSG_CMSG_CLOEXEC___254 = 1073741824
} ;
enum __anonenum_617082774___254 {
    SCM_RIGHTS___254 = 1,
    SCM_CREDENTIALS___254 = 2
} ;
enum __anonenum_606441560___254 {
    SHUT_RD___254 = 0,
    SHUT_WR___254 = 1,
    SHUT_RDWR___254 = 2
} ;
enum __anonenum_681669233___254 {
    IPPROTO_IP___254 = 0,
    IPPROTO_ICMP___254 = 1,
    IPPROTO_IGMP___254 = 2,
    IPPROTO_IPIP___254 = 4,
    IPPROTO_TCP___254 = 6,
    IPPROTO_EGP___254 = 8,
    IPPROTO_PUP___254 = 12,
    IPPROTO_UDP___254 = 17,
    IPPROTO_IDP___254 = 22,
    IPPROTO_TP___254 = 29,
    IPPROTO_DCCP___254 = 33,
    IPPROTO_IPV6___254 = 41,
    IPPROTO_RSVP___254 = 46,
    IPPROTO_GRE___254 = 47,
    IPPROTO_ESP___254 = 50,
    IPPROTO_AH___254 = 51,
    IPPROTO_MTP___254 = 92,
    IPPROTO_BEETPH___254 = 94,
    IPPROTO_ENCAP___254 = 98,
    IPPROTO_PIM___254 = 103,
    IPPROTO_COMP___254 = 108,
    IPPROTO_SCTP___254 = 132,
    IPPROTO_UDPLITE___254 = 136,
    IPPROTO_MPLS___254 = 137,
    IPPROTO_RAW___254 = 255,
    IPPROTO_MAX___254 = 256
} ;
enum __anonenum_218739988___254 {
    IPPROTO_HOPOPTS___254 = 0,
    IPPROTO_ROUTING___254 = 43,
    IPPROTO_FRAGMENT___254 = 44,
    IPPROTO_ICMPV6___254 = 58,
    IPPROTO_NONE___254 = 59,
    IPPROTO_DSTOPTS___254 = 60,
    IPPROTO_MH___254 = 135
} ;
enum __anonenum_662268580___254 {
    IPPORT_ECHO___254 = 7,
    IPPORT_DISCARD___254 = 9,
    IPPORT_SYSTAT___254 = 11,
    IPPORT_DAYTIME___254 = 13,
    IPPORT_NETSTAT___254 = 15,
    IPPORT_FTP___254 = 21,
    IPPORT_TELNET___254 = 23,
    IPPORT_SMTP___254 = 25,
    IPPORT_TIMESERVER___254 = 37,
    IPPORT_NAMESERVER___254 = 42,
    IPPORT_WHOIS___254 = 43,
    IPPORT_MTP___254 = 57,
    IPPORT_TFTP___254 = 69,
    IPPORT_RJE___254 = 77,
    IPPORT_FINGER___254 = 79,
    IPPORT_TTYLINK___254 = 87,
    IPPORT_SUPDUP___254 = 95,
    IPPORT_EXECSERVER___254 = 512,
    IPPORT_LOGINSERVER___254 = 513,
    IPPORT_CMDSERVER___254 = 514,
    IPPORT_EFSSERVER___254 = 520,
    IPPORT_BIFFUDP___254 = 512,
    IPPORT_WHOSERVER___254 = 513,
    IPPORT_ROUTESERVER___254 = 520,
    IPPORT_RESERVED___254 = 1024,
    IPPORT_USERRESERVED___254 = 5000
} ;
enum __anonenum_788308992___254 {
    TCP_ESTABLISHED___254 = 1,
    TCP_SYN_SENT___254 = 2,
    TCP_SYN_RECV___254 = 3,
    TCP_FIN_WAIT1___254 = 4,
    TCP_FIN_WAIT2___254 = 5,
    TCP_TIME_WAIT___254 = 6,
    TCP_CLOSE___254 = 7,
    TCP_CLOSE_WAIT___254 = 8,
    TCP_LAST_ACK___254 = 9,
    TCP_LISTEN___254 = 10,
    TCP_CLOSING___254 = 11
} ;
enum __anonenum_221125648___254 {
    TCP_NO_QUEUE___254 = 0,
    TCP_RECV_QUEUE___254 = 1,
    TCP_SEND_QUEUE___254 = 2,
    TCP_QUEUES_NR___254 = 3
} ;
enum __anonenum_34415463___254 {
    PTHREAD_CREATE_JOINABLE___254 = 0,
    PTHREAD_CREATE_DETACHED___254 = 1
} ;
enum __anonenum_303612439___254 {
    PTHREAD_MUTEX_TIMED_NP___254 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___254 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___254 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___254 = 3,
    PTHREAD_MUTEX_NORMAL___254 = 0,
    PTHREAD_MUTEX_RECURSIVE___254 = 1,
    PTHREAD_MUTEX_ERRORCHECK___254 = 2,
    PTHREAD_MUTEX_DEFAULT___254 = 0,
    PTHREAD_MUTEX_FAST_NP___254 = 0
} ;
enum __anonenum_931900394___254 {
    PTHREAD_MUTEX_STALLED___254 = 0,
    PTHREAD_MUTEX_STALLED_NP___254 = 0,
    PTHREAD_MUTEX_ROBUST___254 = 1,
    PTHREAD_MUTEX_ROBUST_NP___254 = 1
} ;
enum __anonenum_205214487___254 {
    PTHREAD_PRIO_NONE___254 = 0,
    PTHREAD_PRIO_INHERIT___254 = 1,
    PTHREAD_PRIO_PROTECT___254 = 2
} ;
enum __anonenum_25043950___254 {
    PTHREAD_RWLOCK_PREFER_READER_NP___254 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___254 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___254 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___254 = 0
} ;
enum __anonenum_436439511___254 {
    PTHREAD_INHERIT_SCHED___254 = 0,
    PTHREAD_EXPLICIT_SCHED___254 = 1
} ;
enum __anonenum_998661166___254 {
    PTHREAD_SCOPE_SYSTEM___254 = 0,
    PTHREAD_SCOPE_PROCESS___254 = 1
} ;
enum __anonenum_146137331___254 {
    PTHREAD_PROCESS_PRIVATE___254 = 0,
    PTHREAD_PROCESS_SHARED___254 = 1
} ;
enum __anonenum_53396917___254 {
    PTHREAD_CANCEL_ENABLE___254 = 0,
    PTHREAD_CANCEL_DISABLE___254 = 1
} ;
enum __anonenum_904563783___254 {
    PTHREAD_CANCEL_DEFERRED___254 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___254 = 1
} ;
enum __anonenum_672052974___254 {
    SSL_CT_VALIDATION_PERMISSIVE___254 = 0,
    SSL_CT_VALIDATION_STRICT___254 = 1
} ;
struct reftable_iterator_vtable ;
struct reftable_iterator {
   struct reftable_iterator_vtable *ops ;
   void *iter_arg ;
};
struct reftable_table_vtable ;
struct reftable_table {
   struct reftable_table_vtable *ops ;
   void *table_arg ;
};
struct filtering_ref_iterator {
   int double_check ;
   struct reftable_table tab ;
   struct strbuf oid ;
   struct reftable_iterator it ;
};
struct reftable_reader ;
struct indexed_table_ref_iter {
   struct reftable_reader *r ;
   struct strbuf oid ;
   uint64_t *offsets ;
   int offset_idx ;
   int offset_len ;
   struct block_reader block_reader ;
   struct block_iter cur ;
   int is_finished ;
};
struct reftable_table_vtable {
   int (*seek_record)(void *tab , struct reftable_iterator *it , struct reftable_record * ) ;
   uint32_t (*hash_id)(void *tab ) ;
   uint64_t (*min_update_index)(void *tab ) ;
   uint64_t (*max_update_index)(void *tab ) ;
};
struct reftable_iterator_vtable {
   int (*next)(void *iter_arg , struct reftable_record *rec ) ;
   void (*close)(void *iter_arg ) ;
};
struct reftable_reader_offsets {
   int is_present ;
   uint64_t offset ;
   uint64_t index_offset ;
};
struct reftable_reader {
   char *name ;
   struct reftable_block_source source ;
   uint64_t size ;
   uint32_t hash_id ;
   uint32_t block_size ;
   uint64_t min_update_index ;
   uint64_t max_update_index ;
   int object_id_len ;
   int version ;
   struct reftable_reader_offsets ref_offsets ;
   struct reftable_reader_offsets obj_offsets ;
   struct reftable_reader_offsets log_offsets ;
};
enum __anonenum_437032235___255 {
    _PC_LINK_MAX___255 = 0,
    _PC_MAX_CANON___255 = 1,
    _PC_MAX_INPUT___255 = 2,
    _PC_NAME_MAX___255 = 3,
    _PC_PATH_MAX___255 = 4,
    _PC_PIPE_BUF___255 = 5,
    _PC_CHOWN_RESTRICTED___255 = 6,
    _PC_NO_TRUNC___255 = 7,
    _PC_VDISABLE___255 = 8,
    _PC_SYNC_IO___255 = 9,
    _PC_ASYNC_IO___255 = 10,
    _PC_PRIO_IO___255 = 11,
    _PC_SOCK_MAXBUF___255 = 12,
    _PC_FILESIZEBITS___255 = 13,
    _PC_REC_INCR_XFER_SIZE___255 = 14,
    _PC_REC_MAX_XFER_SIZE___255 = 15,
    _PC_REC_MIN_XFER_SIZE___255 = 16,
    _PC_REC_XFER_ALIGN___255 = 17,
    _PC_ALLOC_SIZE_MIN___255 = 18,
    _PC_SYMLINK_MAX___255 = 19,
    _PC_2_SYMLINKS___255 = 20
} ;
enum __anonenum_315186338___255 {
    _SC_ARG_MAX___255 = 0,
    _SC_CHILD_MAX___255 = 1,
    _SC_CLK_TCK___255 = 2,
    _SC_NGROUPS_MAX___255 = 3,
    _SC_OPEN_MAX___255 = 4,
    _SC_STREAM_MAX___255 = 5,
    _SC_TZNAME_MAX___255 = 6,
    _SC_JOB_CONTROL___255 = 7,
    _SC_SAVED_IDS___255 = 8,
    _SC_REALTIME_SIGNALS___255 = 9,
    _SC_PRIORITY_SCHEDULING___255 = 10,
    _SC_TIMERS___255 = 11,
    _SC_ASYNCHRONOUS_IO___255 = 12,
    _SC_PRIORITIZED_IO___255 = 13,
    _SC_SYNCHRONIZED_IO___255 = 14,
    _SC_FSYNC___255 = 15,
    _SC_MAPPED_FILES___255 = 16,
    _SC_MEMLOCK___255 = 17,
    _SC_MEMLOCK_RANGE___255 = 18,
    _SC_MEMORY_PROTECTION___255 = 19,
    _SC_MESSAGE_PASSING___255 = 20,
    _SC_SEMAPHORES___255 = 21,
    _SC_SHARED_MEMORY_OBJECTS___255 = 22,
    _SC_AIO_LISTIO_MAX___255 = 23,
    _SC_AIO_MAX___255 = 24,
    _SC_AIO_PRIO_DELTA_MAX___255 = 25,
    _SC_DELAYTIMER_MAX___255 = 26,
    _SC_MQ_OPEN_MAX___255 = 27,
    _SC_MQ_PRIO_MAX___255 = 28,
    _SC_VERSION___255 = 29,
    _SC_PAGESIZE___255 = 30,
    _SC_RTSIG_MAX___255 = 31,
    _SC_SEM_NSEMS_MAX___255 = 32,
    _SC_SEM_VALUE_MAX___255 = 33,
    _SC_SIGQUEUE_MAX___255 = 34,
    _SC_TIMER_MAX___255 = 35,
    _SC_BC_BASE_MAX___255 = 36,
    _SC_BC_DIM_MAX___255 = 37,
    _SC_BC_SCALE_MAX___255 = 38,
    _SC_BC_STRING_MAX___255 = 39,
    _SC_COLL_WEIGHTS_MAX___255 = 40,
    _SC_EQUIV_CLASS_MAX___255 = 41,
    _SC_EXPR_NEST_MAX___255 = 42,
    _SC_LINE_MAX___255 = 43,
    _SC_RE_DUP_MAX___255 = 44,
    _SC_CHARCLASS_NAME_MAX___255 = 45,
    _SC_2_VERSION___255 = 46,
    _SC_2_C_BIND___255 = 47,
    _SC_2_C_DEV___255 = 48,
    _SC_2_FORT_DEV___255 = 49,
    _SC_2_FORT_RUN___255 = 50,
    _SC_2_SW_DEV___255 = 51,
    _SC_2_LOCALEDEF___255 = 52,
    _SC_PII___255 = 53,
    _SC_PII_XTI___255 = 54,
    _SC_PII_SOCKET___255 = 55,
    _SC_PII_INTERNET___255 = 56,
    _SC_PII_OSI___255 = 57,
    _SC_POLL___255 = 58,
    _SC_SELECT___255 = 59,
    _SC_UIO_MAXIOV___255 = 60,
    _SC_IOV_MAX___255 = 60,
    _SC_PII_INTERNET_STREAM___255 = 61,
    _SC_PII_INTERNET_DGRAM___255 = 62,
    _SC_PII_OSI_COTS___255 = 63,
    _SC_PII_OSI_CLTS___255 = 64,
    _SC_PII_OSI_M___255 = 65,
    _SC_T_IOV_MAX___255 = 66,
    _SC_THREADS___255 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___255 = 68,
    _SC_GETGR_R_SIZE_MAX___255 = 69,
    _SC_GETPW_R_SIZE_MAX___255 = 70,
    _SC_LOGIN_NAME_MAX___255 = 71,
    _SC_TTY_NAME_MAX___255 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___255 = 73,
    _SC_THREAD_KEYS_MAX___255 = 74,
    _SC_THREAD_STACK_MIN___255 = 75,
    _SC_THREAD_THREADS_MAX___255 = 76,
    _SC_THREAD_ATTR_STACKADDR___255 = 77,
    _SC_THREAD_ATTR_STACKSIZE___255 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___255 = 79,
    _SC_THREAD_PRIO_INHERIT___255 = 80,
    _SC_THREAD_PRIO_PROTECT___255 = 81,
    _SC_THREAD_PROCESS_SHARED___255 = 82,
    _SC_NPROCESSORS_CONF___255 = 83,
    _SC_NPROCESSORS_ONLN___255 = 84,
    _SC_PHYS_PAGES___255 = 85,
    _SC_AVPHYS_PAGES___255 = 86,
    _SC_ATEXIT_MAX___255 = 87,
    _SC_PASS_MAX___255 = 88,
    _SC_XOPEN_VERSION___255 = 89,
    _SC_XOPEN_XCU_VERSION___255 = 90,
    _SC_XOPEN_UNIX___255 = 91,
    _SC_XOPEN_CRYPT___255 = 92,
    _SC_XOPEN_ENH_I18N___255 = 93,
    _SC_XOPEN_SHM___255 = 94,
    _SC_2_CHAR_TERM___255 = 95,
    _SC_2_C_VERSION___255 = 96,
    _SC_2_UPE___255 = 97,
    _SC_XOPEN_XPG2___255 = 98,
    _SC_XOPEN_XPG3___255 = 99,
    _SC_XOPEN_XPG4___255 = 100,
    _SC_CHAR_BIT___255 = 101,
    _SC_CHAR_MAX___255 = 102,
    _SC_CHAR_MIN___255 = 103,
    _SC_INT_MAX___255 = 104,
    _SC_INT_MIN___255 = 105,
    _SC_LONG_BIT___255 = 106,
    _SC_WORD_BIT___255 = 107,
    _SC_MB_LEN_MAX___255 = 108,
    _SC_NZERO___255 = 109,
    _SC_SSIZE_MAX___255 = 110,
    _SC_SCHAR_MAX___255 = 111,
    _SC_SCHAR_MIN___255 = 112,
    _SC_SHRT_MAX___255 = 113,
    _SC_SHRT_MIN___255 = 114,
    _SC_UCHAR_MAX___255 = 115,
    _SC_UINT_MAX___255 = 116,
    _SC_ULONG_MAX___255 = 117,
    _SC_USHRT_MAX___255 = 118,
    _SC_NL_ARGMAX___255 = 119,
    _SC_NL_LANGMAX___255 = 120,
    _SC_NL_MSGMAX___255 = 121,
    _SC_NL_NMAX___255 = 122,
    _SC_NL_SETMAX___255 = 123,
    _SC_NL_TEXTMAX___255 = 124,
    _SC_XBS5_ILP32_OFF32___255 = 125,
    _SC_XBS5_ILP32_OFFBIG___255 = 126,
    _SC_XBS5_LP64_OFF64___255 = 127,
    _SC_XBS5_LPBIG_OFFBIG___255 = 128,
    _SC_XOPEN_LEGACY___255 = 129,
    _SC_XOPEN_REALTIME___255 = 130,
    _SC_XOPEN_REALTIME_THREADS___255 = 131,
    _SC_ADVISORY_INFO___255 = 132,
    _SC_BARRIERS___255 = 133,
    _SC_BASE___255 = 134,
    _SC_C_LANG_SUPPORT___255 = 135,
    _SC_C_LANG_SUPPORT_R___255 = 136,
    _SC_CLOCK_SELECTION___255 = 137,
    _SC_CPUTIME___255 = 138,
    _SC_THREAD_CPUTIME___255 = 139,
    _SC_DEVICE_IO___255 = 140,
    _SC_DEVICE_SPECIFIC___255 = 141,
    _SC_DEVICE_SPECIFIC_R___255 = 142,
    _SC_FD_MGMT___255 = 143,
    _SC_FIFO___255 = 144,
    _SC_PIPE___255 = 145,
    _SC_FILE_ATTRIBUTES___255 = 146,
    _SC_FILE_LOCKING___255 = 147,
    _SC_FILE_SYSTEM___255 = 148,
    _SC_MONOTONIC_CLOCK___255 = 149,
    _SC_MULTI_PROCESS___255 = 150,
    _SC_SINGLE_PROCESS___255 = 151,
    _SC_NETWORKING___255 = 152,
    _SC_READER_WRITER_LOCKS___255 = 153,
    _SC_SPIN_LOCKS___255 = 154,
    _SC_REGEXP___255 = 155,
    _SC_REGEX_VERSION___255 = 156,
    _SC_SHELL___255 = 157,
    _SC_SIGNALS___255 = 158,
    _SC_SPAWN___255 = 159,
    _SC_SPORADIC_SERVER___255 = 160,
    _SC_THREAD_SPORADIC_SERVER___255 = 161,
    _SC_SYSTEM_DATABASE___255 = 162,
    _SC_SYSTEM_DATABASE_R___255 = 163,
    _SC_TIMEOUTS___255 = 164,
    _SC_TYPED_MEMORY_OBJECTS___255 = 165,
    _SC_USER_GROUPS___255 = 166,
    _SC_USER_GROUPS_R___255 = 167,
    _SC_2_PBS___255 = 168,
    _SC_2_PBS_ACCOUNTING___255 = 169,
    _SC_2_PBS_LOCATE___255 = 170,
    _SC_2_PBS_MESSAGE___255 = 171,
    _SC_2_PBS_TRACK___255 = 172,
    _SC_SYMLOOP_MAX___255 = 173,
    _SC_STREAMS___255 = 174,
    _SC_2_PBS_CHECKPOINT___255 = 175,
    _SC_V6_ILP32_OFF32___255 = 176,
    _SC_V6_ILP32_OFFBIG___255 = 177,
    _SC_V6_LP64_OFF64___255 = 178,
    _SC_V6_LPBIG_OFFBIG___255 = 179,
    _SC_HOST_NAME_MAX___255 = 180,
    _SC_TRACE___255 = 181,
    _SC_TRACE_EVENT_FILTER___255 = 182,
    _SC_TRACE_INHERIT___255 = 183,
    _SC_TRACE_LOG___255 = 184,
    _SC_LEVEL1_ICACHE_SIZE___255 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___255 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___255 = 187,
    _SC_LEVEL1_DCACHE_SIZE___255 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___255 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___255 = 190,
    _SC_LEVEL2_CACHE_SIZE___255 = 191,
    _SC_LEVEL2_CACHE_ASSOC___255 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___255 = 193,
    _SC_LEVEL3_CACHE_SIZE___255 = 194,
    _SC_LEVEL3_CACHE_ASSOC___255 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___255 = 196,
    _SC_LEVEL4_CACHE_SIZE___255 = 197,
    _SC_LEVEL4_CACHE_ASSOC___255 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___255 = 199,
    _SC_IPV6___255 = 235,
    _SC_RAW_SOCKETS___255 = 236,
    _SC_V7_ILP32_OFF32___255 = 237,
    _SC_V7_ILP32_OFFBIG___255 = 238,
    _SC_V7_LP64_OFF64___255 = 239,
    _SC_V7_LPBIG_OFFBIG___255 = 240,
    _SC_SS_REPL_MAX___255 = 241,
    _SC_TRACE_EVENT_NAME_MAX___255 = 242,
    _SC_TRACE_NAME_MAX___255 = 243,
    _SC_TRACE_SYS_MAX___255 = 244,
    _SC_TRACE_USER_EVENT_MAX___255 = 245,
    _SC_XOPEN_STREAMS___255 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___255 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___255 = 248
} ;
enum __anonenum_875524036___255 {
    _CS_PATH___255 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___255 = 1,
    _CS_GNU_LIBC_VERSION___255 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___255 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___255 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___255 = 5,
    _CS_LFS_CFLAGS___255 = 1000,
    _CS_LFS_LDFLAGS___255 = 1001,
    _CS_LFS_LIBS___255 = 1002,
    _CS_LFS_LINTFLAGS___255 = 1003,
    _CS_LFS64_CFLAGS___255 = 1004,
    _CS_LFS64_LDFLAGS___255 = 1005,
    _CS_LFS64_LIBS___255 = 1006,
    _CS_LFS64_LINTFLAGS___255 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___255 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___255 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___255 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___255 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___255 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___255 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___255 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___255 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___255 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___255 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___255 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___255 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___255 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___255 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___255 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___255 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___255 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___255 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___255 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___255 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___255 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___255 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___255 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___255 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___255 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___255 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___255 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___255 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___255 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___255 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___255 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___255 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___255 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___255 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___255 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___255 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___255 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___255 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___255 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___255 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___255 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___255 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___255 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___255 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___255 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___255 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___255 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___255 = 1147,
    _CS_V6_ENV___255 = 1148,
    _CS_V7_ENV___255 = 1149
} ;
enum __anonenum_513775621___255 {
    DT_UNKNOWN___255 = 0,
    DT_FIFO___255 = 1,
    DT_CHR___255 = 2,
    DT_DIR___255 = 4,
    DT_BLK___255 = 6,
    DT_REG___255 = 8,
    DT_LNK___255 = 10,
    DT_SOCK___255 = 12,
    DT_WHT___255 = 14
} ;
enum __anonenum_77002343___255 {
    SI_ASYNCNL___255 = -60,
    SI_TKILL___255 = -6,
    SI_SIGIO___255 = -5,
    SI_ASYNCIO___255 = -4,
    SI_MESGQ___255 = -3,
    SI_TIMER___255 = -2,
    SI_QUEUE___255 = -1,
    SI_USER___255 = 0,
    SI_KERNEL___255 = 128
} ;
enum __anonenum_131038172___255 {
    ILL_ILLOPC___255 = 1,
    ILL_ILLOPN___255 = 2,
    ILL_ILLADR___255 = 3,
    ILL_ILLTRP___255 = 4,
    ILL_PRVOPC___255 = 5,
    ILL_PRVREG___255 = 6,
    ILL_COPROC___255 = 7,
    ILL_BADSTK___255 = 8
} ;
enum __anonenum_452038093___255 {
    FPE_INTDIV___255 = 1,
    FPE_INTOVF___255 = 2,
    FPE_FLTDIV___255 = 3,
    FPE_FLTOVF___255 = 4,
    FPE_FLTUND___255 = 5,
    FPE_FLTRES___255 = 6,
    FPE_FLTINV___255 = 7,
    FPE_FLTSUB___255 = 8
} ;
enum __anonenum_30976155___255 {
    SEGV_MAPERR___255 = 1,
    SEGV_ACCERR___255 = 2,
    SEGV_BNDERR___255 = 3,
    SEGV_PKUERR___255 = 4
} ;
enum __anonenum_1036286214___255 {
    BUS_ADRALN___255 = 1,
    BUS_ADRERR___255 = 2,
    BUS_OBJERR___255 = 3,
    BUS_MCEERR_AR___255 = 4,
    BUS_MCEERR_AO___255 = 5
} ;
enum __anonenum_493465559___255 {
    TRAP_BRKPT___255 = 1,
    TRAP_TRACE___255 = 2
} ;
enum __anonenum_23175539___255 {
    CLD_EXITED___255 = 1,
    CLD_KILLED___255 = 2,
    CLD_DUMPED___255 = 3,
    CLD_TRAPPED___255 = 4,
    CLD_STOPPED___255 = 5,
    CLD_CONTINUED___255 = 6
} ;
enum __anonenum_111643124___255 {
    POLL_IN___255 = 1,
    POLL_OUT___255 = 2,
    POLL_MSG___255 = 3,
    POLL_ERR___255 = 4,
    POLL_PRI___255 = 5,
    POLL_HUP___255 = 6
} ;
enum __anonenum_852341087___255 {
    SIGEV_SIGNAL___255 = 0,
    SIGEV_NONE___255 = 1,
    SIGEV_THREAD___255 = 2,
    SIGEV_THREAD_ID___255 = 4
} ;
enum __anonenum_451154152___255 {
    REG_R8___255 = 0,
    REG_R9___255 = 1,
    REG_R10___255 = 2,
    REG_R11___255 = 3,
    REG_R12___255 = 4,
    REG_R13___255 = 5,
    REG_R14___255 = 6,
    REG_R15___255 = 7,
    REG_RDI___255 = 8,
    REG_RSI___255 = 9,
    REG_RBP___255 = 10,
    REG_RBX___255 = 11,
    REG_RDX___255 = 12,
    REG_RAX___255 = 13,
    REG_RCX___255 = 14,
    REG_RSP___255 = 15,
    REG_RIP___255 = 16,
    REG_EFL___255 = 17,
    REG_CSGSFS___255 = 18,
    REG_ERR___255 = 19,
    REG_TRAPNO___255 = 20,
    REG_OLDMASK___255 = 21,
    REG_CR2___255 = 22
} ;
enum __anonenum_57186863___255 {
    SS_ONSTACK___255 = 1,
    SS_DISABLE___255 = 2
} ;
enum __anonenum_83571709___255 {
    MSG_OOB___255 = 1,
    MSG_PEEK___255 = 2,
    MSG_DONTROUTE___255 = 4,
    MSG_TRYHARD___255 = 4,
    MSG_CTRUNC___255 = 8,
    MSG_PROXY___255 = 16,
    MSG_TRUNC___255 = 32,
    MSG_DONTWAIT___255 = 64,
    MSG_EOR___255 = 128,
    MSG_WAITALL___255 = 256,
    MSG_FIN___255 = 512,
    MSG_SYN___255 = 1024,
    MSG_CONFIRM___255 = 2048,
    MSG_RST___255 = 4096,
    MSG_ERRQUEUE___255 = 8192,
    MSG_NOSIGNAL___255 = 16384,
    MSG_MORE___255 = 32768,
    MSG_WAITFORONE___255 = 65536,
    MSG_BATCH___255 = 262144,
    MSG_ZEROCOPY___255 = 67108864,
    MSG_FASTOPEN___255 = 536870912,
    MSG_CMSG_CLOEXEC___255 = 1073741824
} ;
enum __anonenum_617082774___255 {
    SCM_RIGHTS___255 = 1,
    SCM_CREDENTIALS___255 = 2
} ;
enum __anonenum_606441560___255 {
    SHUT_RD___255 = 0,
    SHUT_WR___255 = 1,
    SHUT_RDWR___255 = 2
} ;
enum __anonenum_681669233___255 {
    IPPROTO_IP___255 = 0,
    IPPROTO_ICMP___255 = 1,
    IPPROTO_IGMP___255 = 2,
    IPPROTO_IPIP___255 = 4,
    IPPROTO_TCP___255 = 6,
    IPPROTO_EGP___255 = 8,
    IPPROTO_PUP___255 = 12,
    IPPROTO_UDP___255 = 17,
    IPPROTO_IDP___255 = 22,
    IPPROTO_TP___255 = 29,
    IPPROTO_DCCP___255 = 33,
    IPPROTO_IPV6___255 = 41,
    IPPROTO_RSVP___255 = 46,
    IPPROTO_GRE___255 = 47,
    IPPROTO_ESP___255 = 50,
    IPPROTO_AH___255 = 51,
    IPPROTO_MTP___255 = 92,
    IPPROTO_BEETPH___255 = 94,
    IPPROTO_ENCAP___255 = 98,
    IPPROTO_PIM___255 = 103,
    IPPROTO_COMP___255 = 108,
    IPPROTO_SCTP___255 = 132,
    IPPROTO_UDPLITE___255 = 136,
    IPPROTO_MPLS___255 = 137,
    IPPROTO_RAW___255 = 255,
    IPPROTO_MAX___255 = 256
} ;
enum __anonenum_218739988___255 {
    IPPROTO_HOPOPTS___255 = 0,
    IPPROTO_ROUTING___255 = 43,
    IPPROTO_FRAGMENT___255 = 44,
    IPPROTO_ICMPV6___255 = 58,
    IPPROTO_NONE___255 = 59,
    IPPROTO_DSTOPTS___255 = 60,
    IPPROTO_MH___255 = 135
} ;
enum __anonenum_662268580___255 {
    IPPORT_ECHO___255 = 7,
    IPPORT_DISCARD___255 = 9,
    IPPORT_SYSTAT___255 = 11,
    IPPORT_DAYTIME___255 = 13,
    IPPORT_NETSTAT___255 = 15,
    IPPORT_FTP___255 = 21,
    IPPORT_TELNET___255 = 23,
    IPPORT_SMTP___255 = 25,
    IPPORT_TIMESERVER___255 = 37,
    IPPORT_NAMESERVER___255 = 42,
    IPPORT_WHOIS___255 = 43,
    IPPORT_MTP___255 = 57,
    IPPORT_TFTP___255 = 69,
    IPPORT_RJE___255 = 77,
    IPPORT_FINGER___255 = 79,
    IPPORT_TTYLINK___255 = 87,
    IPPORT_SUPDUP___255 = 95,
    IPPORT_EXECSERVER___255 = 512,
    IPPORT_LOGINSERVER___255 = 513,
    IPPORT_CMDSERVER___255 = 514,
    IPPORT_EFSSERVER___255 = 520,
    IPPORT_BIFFUDP___255 = 512,
    IPPORT_WHOSERVER___255 = 513,
    IPPORT_ROUTESERVER___255 = 520,
    IPPORT_RESERVED___255 = 1024,
    IPPORT_USERRESERVED___255 = 5000
} ;
enum __anonenum_788308992___255 {
    TCP_ESTABLISHED___255 = 1,
    TCP_SYN_SENT___255 = 2,
    TCP_SYN_RECV___255 = 3,
    TCP_FIN_WAIT1___255 = 4,
    TCP_FIN_WAIT2___255 = 5,
    TCP_TIME_WAIT___255 = 6,
    TCP_CLOSE___255 = 7,
    TCP_CLOSE_WAIT___255 = 8,
    TCP_LAST_ACK___255 = 9,
    TCP_LISTEN___255 = 10,
    TCP_CLOSING___255 = 11
} ;
enum __anonenum_221125648___255 {
    TCP_NO_QUEUE___255 = 0,
    TCP_RECV_QUEUE___255 = 1,
    TCP_SEND_QUEUE___255 = 2,
    TCP_QUEUES_NR___255 = 3
} ;
enum __anonenum_34415463___255 {
    PTHREAD_CREATE_JOINABLE___255 = 0,
    PTHREAD_CREATE_DETACHED___255 = 1
} ;
enum __anonenum_303612439___255 {
    PTHREAD_MUTEX_TIMED_NP___255 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___255 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___255 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___255 = 3,
    PTHREAD_MUTEX_NORMAL___255 = 0,
    PTHREAD_MUTEX_RECURSIVE___255 = 1,
    PTHREAD_MUTEX_ERRORCHECK___255 = 2,
    PTHREAD_MUTEX_DEFAULT___255 = 0,
    PTHREAD_MUTEX_FAST_NP___255 = 0
} ;
enum __anonenum_931900394___255 {
    PTHREAD_MUTEX_STALLED___255 = 0,
    PTHREAD_MUTEX_STALLED_NP___255 = 0,
    PTHREAD_MUTEX_ROBUST___255 = 1,
    PTHREAD_MUTEX_ROBUST_NP___255 = 1
} ;
enum __anonenum_205214487___255 {
    PTHREAD_PRIO_NONE___255 = 0,
    PTHREAD_PRIO_INHERIT___255 = 1,
    PTHREAD_PRIO_PROTECT___255 = 2
} ;
enum __anonenum_25043950___255 {
    PTHREAD_RWLOCK_PREFER_READER_NP___255 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___255 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___255 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___255 = 0
} ;
enum __anonenum_436439511___255 {
    PTHREAD_INHERIT_SCHED___255 = 0,
    PTHREAD_EXPLICIT_SCHED___255 = 1
} ;
enum __anonenum_998661166___255 {
    PTHREAD_SCOPE_SYSTEM___255 = 0,
    PTHREAD_SCOPE_PROCESS___255 = 1
} ;
enum __anonenum_146137331___255 {
    PTHREAD_PROCESS_PRIVATE___255 = 0,
    PTHREAD_PROCESS_SHARED___255 = 1
} ;
enum __anonenum_53396917___255 {
    PTHREAD_CANCEL_ENABLE___255 = 0,
    PTHREAD_CANCEL_DISABLE___255 = 1
} ;
enum __anonenum_904563783___255 {
    PTHREAD_CANCEL_DEFERRED___255 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___255 = 1
} ;
enum __anonenum_672052974___255 {
    SSL_CT_VALIDATION_PERMISSIVE___255 = 0,
    SSL_CT_VALIDATION_STRICT___255 = 1
} ;
enum __anonenum_437032235___256 {
    _PC_LINK_MAX___256 = 0,
    _PC_MAX_CANON___256 = 1,
    _PC_MAX_INPUT___256 = 2,
    _PC_NAME_MAX___256 = 3,
    _PC_PATH_MAX___256 = 4,
    _PC_PIPE_BUF___256 = 5,
    _PC_CHOWN_RESTRICTED___256 = 6,
    _PC_NO_TRUNC___256 = 7,
    _PC_VDISABLE___256 = 8,
    _PC_SYNC_IO___256 = 9,
    _PC_ASYNC_IO___256 = 10,
    _PC_PRIO_IO___256 = 11,
    _PC_SOCK_MAXBUF___256 = 12,
    _PC_FILESIZEBITS___256 = 13,
    _PC_REC_INCR_XFER_SIZE___256 = 14,
    _PC_REC_MAX_XFER_SIZE___256 = 15,
    _PC_REC_MIN_XFER_SIZE___256 = 16,
    _PC_REC_XFER_ALIGN___256 = 17,
    _PC_ALLOC_SIZE_MIN___256 = 18,
    _PC_SYMLINK_MAX___256 = 19,
    _PC_2_SYMLINKS___256 = 20
} ;
enum __anonenum_315186338___256 {
    _SC_ARG_MAX___256 = 0,
    _SC_CHILD_MAX___256 = 1,
    _SC_CLK_TCK___256 = 2,
    _SC_NGROUPS_MAX___256 = 3,
    _SC_OPEN_MAX___256 = 4,
    _SC_STREAM_MAX___256 = 5,
    _SC_TZNAME_MAX___256 = 6,
    _SC_JOB_CONTROL___256 = 7,
    _SC_SAVED_IDS___256 = 8,
    _SC_REALTIME_SIGNALS___256 = 9,
    _SC_PRIORITY_SCHEDULING___256 = 10,
    _SC_TIMERS___256 = 11,
    _SC_ASYNCHRONOUS_IO___256 = 12,
    _SC_PRIORITIZED_IO___256 = 13,
    _SC_SYNCHRONIZED_IO___256 = 14,
    _SC_FSYNC___256 = 15,
    _SC_MAPPED_FILES___256 = 16,
    _SC_MEMLOCK___256 = 17,
    _SC_MEMLOCK_RANGE___256 = 18,
    _SC_MEMORY_PROTECTION___256 = 19,
    _SC_MESSAGE_PASSING___256 = 20,
    _SC_SEMAPHORES___256 = 21,
    _SC_SHARED_MEMORY_OBJECTS___256 = 22,
    _SC_AIO_LISTIO_MAX___256 = 23,
    _SC_AIO_MAX___256 = 24,
    _SC_AIO_PRIO_DELTA_MAX___256 = 25,
    _SC_DELAYTIMER_MAX___256 = 26,
    _SC_MQ_OPEN_MAX___256 = 27,
    _SC_MQ_PRIO_MAX___256 = 28,
    _SC_VERSION___256 = 29,
    _SC_PAGESIZE___256 = 30,
    _SC_RTSIG_MAX___256 = 31,
    _SC_SEM_NSEMS_MAX___256 = 32,
    _SC_SEM_VALUE_MAX___256 = 33,
    _SC_SIGQUEUE_MAX___256 = 34,
    _SC_TIMER_MAX___256 = 35,
    _SC_BC_BASE_MAX___256 = 36,
    _SC_BC_DIM_MAX___256 = 37,
    _SC_BC_SCALE_MAX___256 = 38,
    _SC_BC_STRING_MAX___256 = 39,
    _SC_COLL_WEIGHTS_MAX___256 = 40,
    _SC_EQUIV_CLASS_MAX___256 = 41,
    _SC_EXPR_NEST_MAX___256 = 42,
    _SC_LINE_MAX___256 = 43,
    _SC_RE_DUP_MAX___256 = 44,
    _SC_CHARCLASS_NAME_MAX___256 = 45,
    _SC_2_VERSION___256 = 46,
    _SC_2_C_BIND___256 = 47,
    _SC_2_C_DEV___256 = 48,
    _SC_2_FORT_DEV___256 = 49,
    _SC_2_FORT_RUN___256 = 50,
    _SC_2_SW_DEV___256 = 51,
    _SC_2_LOCALEDEF___256 = 52,
    _SC_PII___256 = 53,
    _SC_PII_XTI___256 = 54,
    _SC_PII_SOCKET___256 = 55,
    _SC_PII_INTERNET___256 = 56,
    _SC_PII_OSI___256 = 57,
    _SC_POLL___256 = 58,
    _SC_SELECT___256 = 59,
    _SC_UIO_MAXIOV___256 = 60,
    _SC_IOV_MAX___256 = 60,
    _SC_PII_INTERNET_STREAM___256 = 61,
    _SC_PII_INTERNET_DGRAM___256 = 62,
    _SC_PII_OSI_COTS___256 = 63,
    _SC_PII_OSI_CLTS___256 = 64,
    _SC_PII_OSI_M___256 = 65,
    _SC_T_IOV_MAX___256 = 66,
    _SC_THREADS___256 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___256 = 68,
    _SC_GETGR_R_SIZE_MAX___256 = 69,
    _SC_GETPW_R_SIZE_MAX___256 = 70,
    _SC_LOGIN_NAME_MAX___256 = 71,
    _SC_TTY_NAME_MAX___256 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___256 = 73,
    _SC_THREAD_KEYS_MAX___256 = 74,
    _SC_THREAD_STACK_MIN___256 = 75,
    _SC_THREAD_THREADS_MAX___256 = 76,
    _SC_THREAD_ATTR_STACKADDR___256 = 77,
    _SC_THREAD_ATTR_STACKSIZE___256 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___256 = 79,
    _SC_THREAD_PRIO_INHERIT___256 = 80,
    _SC_THREAD_PRIO_PROTECT___256 = 81,
    _SC_THREAD_PROCESS_SHARED___256 = 82,
    _SC_NPROCESSORS_CONF___256 = 83,
    _SC_NPROCESSORS_ONLN___256 = 84,
    _SC_PHYS_PAGES___256 = 85,
    _SC_AVPHYS_PAGES___256 = 86,
    _SC_ATEXIT_MAX___256 = 87,
    _SC_PASS_MAX___256 = 88,
    _SC_XOPEN_VERSION___256 = 89,
    _SC_XOPEN_XCU_VERSION___256 = 90,
    _SC_XOPEN_UNIX___256 = 91,
    _SC_XOPEN_CRYPT___256 = 92,
    _SC_XOPEN_ENH_I18N___256 = 93,
    _SC_XOPEN_SHM___256 = 94,
    _SC_2_CHAR_TERM___256 = 95,
    _SC_2_C_VERSION___256 = 96,
    _SC_2_UPE___256 = 97,
    _SC_XOPEN_XPG2___256 = 98,
    _SC_XOPEN_XPG3___256 = 99,
    _SC_XOPEN_XPG4___256 = 100,
    _SC_CHAR_BIT___256 = 101,
    _SC_CHAR_MAX___256 = 102,
    _SC_CHAR_MIN___256 = 103,
    _SC_INT_MAX___256 = 104,
    _SC_INT_MIN___256 = 105,
    _SC_LONG_BIT___256 = 106,
    _SC_WORD_BIT___256 = 107,
    _SC_MB_LEN_MAX___256 = 108,
    _SC_NZERO___256 = 109,
    _SC_SSIZE_MAX___256 = 110,
    _SC_SCHAR_MAX___256 = 111,
    _SC_SCHAR_MIN___256 = 112,
    _SC_SHRT_MAX___256 = 113,
    _SC_SHRT_MIN___256 = 114,
    _SC_UCHAR_MAX___256 = 115,
    _SC_UINT_MAX___256 = 116,
    _SC_ULONG_MAX___256 = 117,
    _SC_USHRT_MAX___256 = 118,
    _SC_NL_ARGMAX___256 = 119,
    _SC_NL_LANGMAX___256 = 120,
    _SC_NL_MSGMAX___256 = 121,
    _SC_NL_NMAX___256 = 122,
    _SC_NL_SETMAX___256 = 123,
    _SC_NL_TEXTMAX___256 = 124,
    _SC_XBS5_ILP32_OFF32___256 = 125,
    _SC_XBS5_ILP32_OFFBIG___256 = 126,
    _SC_XBS5_LP64_OFF64___256 = 127,
    _SC_XBS5_LPBIG_OFFBIG___256 = 128,
    _SC_XOPEN_LEGACY___256 = 129,
    _SC_XOPEN_REALTIME___256 = 130,
    _SC_XOPEN_REALTIME_THREADS___256 = 131,
    _SC_ADVISORY_INFO___256 = 132,
    _SC_BARRIERS___256 = 133,
    _SC_BASE___256 = 134,
    _SC_C_LANG_SUPPORT___256 = 135,
    _SC_C_LANG_SUPPORT_R___256 = 136,
    _SC_CLOCK_SELECTION___256 = 137,
    _SC_CPUTIME___256 = 138,
    _SC_THREAD_CPUTIME___256 = 139,
    _SC_DEVICE_IO___256 = 140,
    _SC_DEVICE_SPECIFIC___256 = 141,
    _SC_DEVICE_SPECIFIC_R___256 = 142,
    _SC_FD_MGMT___256 = 143,
    _SC_FIFO___256 = 144,
    _SC_PIPE___256 = 145,
    _SC_FILE_ATTRIBUTES___256 = 146,
    _SC_FILE_LOCKING___256 = 147,
    _SC_FILE_SYSTEM___256 = 148,
    _SC_MONOTONIC_CLOCK___256 = 149,
    _SC_MULTI_PROCESS___256 = 150,
    _SC_SINGLE_PROCESS___256 = 151,
    _SC_NETWORKING___256 = 152,
    _SC_READER_WRITER_LOCKS___256 = 153,
    _SC_SPIN_LOCKS___256 = 154,
    _SC_REGEXP___256 = 155,
    _SC_REGEX_VERSION___256 = 156,
    _SC_SHELL___256 = 157,
    _SC_SIGNALS___256 = 158,
    _SC_SPAWN___256 = 159,
    _SC_SPORADIC_SERVER___256 = 160,
    _SC_THREAD_SPORADIC_SERVER___256 = 161,
    _SC_SYSTEM_DATABASE___256 = 162,
    _SC_SYSTEM_DATABASE_R___256 = 163,
    _SC_TIMEOUTS___256 = 164,
    _SC_TYPED_MEMORY_OBJECTS___256 = 165,
    _SC_USER_GROUPS___256 = 166,
    _SC_USER_GROUPS_R___256 = 167,
    _SC_2_PBS___256 = 168,
    _SC_2_PBS_ACCOUNTING___256 = 169,
    _SC_2_PBS_LOCATE___256 = 170,
    _SC_2_PBS_MESSAGE___256 = 171,
    _SC_2_PBS_TRACK___256 = 172,
    _SC_SYMLOOP_MAX___256 = 173,
    _SC_STREAMS___256 = 174,
    _SC_2_PBS_CHECKPOINT___256 = 175,
    _SC_V6_ILP32_OFF32___256 = 176,
    _SC_V6_ILP32_OFFBIG___256 = 177,
    _SC_V6_LP64_OFF64___256 = 178,
    _SC_V6_LPBIG_OFFBIG___256 = 179,
    _SC_HOST_NAME_MAX___256 = 180,
    _SC_TRACE___256 = 181,
    _SC_TRACE_EVENT_FILTER___256 = 182,
    _SC_TRACE_INHERIT___256 = 183,
    _SC_TRACE_LOG___256 = 184,
    _SC_LEVEL1_ICACHE_SIZE___256 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___256 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___256 = 187,
    _SC_LEVEL1_DCACHE_SIZE___256 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___256 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___256 = 190,
    _SC_LEVEL2_CACHE_SIZE___256 = 191,
    _SC_LEVEL2_CACHE_ASSOC___256 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___256 = 193,
    _SC_LEVEL3_CACHE_SIZE___256 = 194,
    _SC_LEVEL3_CACHE_ASSOC___256 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___256 = 196,
    _SC_LEVEL4_CACHE_SIZE___256 = 197,
    _SC_LEVEL4_CACHE_ASSOC___256 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___256 = 199,
    _SC_IPV6___256 = 235,
    _SC_RAW_SOCKETS___256 = 236,
    _SC_V7_ILP32_OFF32___256 = 237,
    _SC_V7_ILP32_OFFBIG___256 = 238,
    _SC_V7_LP64_OFF64___256 = 239,
    _SC_V7_LPBIG_OFFBIG___256 = 240,
    _SC_SS_REPL_MAX___256 = 241,
    _SC_TRACE_EVENT_NAME_MAX___256 = 242,
    _SC_TRACE_NAME_MAX___256 = 243,
    _SC_TRACE_SYS_MAX___256 = 244,
    _SC_TRACE_USER_EVENT_MAX___256 = 245,
    _SC_XOPEN_STREAMS___256 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___256 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___256 = 248
} ;
enum __anonenum_875524036___256 {
    _CS_PATH___256 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___256 = 1,
    _CS_GNU_LIBC_VERSION___256 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___256 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___256 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___256 = 5,
    _CS_LFS_CFLAGS___256 = 1000,
    _CS_LFS_LDFLAGS___256 = 1001,
    _CS_LFS_LIBS___256 = 1002,
    _CS_LFS_LINTFLAGS___256 = 1003,
    _CS_LFS64_CFLAGS___256 = 1004,
    _CS_LFS64_LDFLAGS___256 = 1005,
    _CS_LFS64_LIBS___256 = 1006,
    _CS_LFS64_LINTFLAGS___256 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___256 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___256 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___256 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___256 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___256 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___256 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___256 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___256 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___256 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___256 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___256 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___256 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___256 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___256 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___256 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___256 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___256 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___256 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___256 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___256 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___256 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___256 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___256 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___256 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___256 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___256 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___256 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___256 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___256 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___256 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___256 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___256 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___256 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___256 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___256 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___256 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___256 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___256 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___256 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___256 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___256 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___256 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___256 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___256 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___256 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___256 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___256 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___256 = 1147,
    _CS_V6_ENV___256 = 1148,
    _CS_V7_ENV___256 = 1149
} ;
enum __anonenum_513775621___256 {
    DT_UNKNOWN___256 = 0,
    DT_FIFO___256 = 1,
    DT_CHR___256 = 2,
    DT_DIR___256 = 4,
    DT_BLK___256 = 6,
    DT_REG___256 = 8,
    DT_LNK___256 = 10,
    DT_SOCK___256 = 12,
    DT_WHT___256 = 14
} ;
enum __anonenum_77002343___256 {
    SI_ASYNCNL___256 = -60,
    SI_TKILL___256 = -6,
    SI_SIGIO___256 = -5,
    SI_ASYNCIO___256 = -4,
    SI_MESGQ___256 = -3,
    SI_TIMER___256 = -2,
    SI_QUEUE___256 = -1,
    SI_USER___256 = 0,
    SI_KERNEL___256 = 128
} ;
enum __anonenum_131038172___256 {
    ILL_ILLOPC___256 = 1,
    ILL_ILLOPN___256 = 2,
    ILL_ILLADR___256 = 3,
    ILL_ILLTRP___256 = 4,
    ILL_PRVOPC___256 = 5,
    ILL_PRVREG___256 = 6,
    ILL_COPROC___256 = 7,
    ILL_BADSTK___256 = 8
} ;
enum __anonenum_452038093___256 {
    FPE_INTDIV___256 = 1,
    FPE_INTOVF___256 = 2,
    FPE_FLTDIV___256 = 3,
    FPE_FLTOVF___256 = 4,
    FPE_FLTUND___256 = 5,
    FPE_FLTRES___256 = 6,
    FPE_FLTINV___256 = 7,
    FPE_FLTSUB___256 = 8
} ;
enum __anonenum_30976155___256 {
    SEGV_MAPERR___256 = 1,
    SEGV_ACCERR___256 = 2,
    SEGV_BNDERR___256 = 3,
    SEGV_PKUERR___256 = 4
} ;
enum __anonenum_1036286214___256 {
    BUS_ADRALN___256 = 1,
    BUS_ADRERR___256 = 2,
    BUS_OBJERR___256 = 3,
    BUS_MCEERR_AR___256 = 4,
    BUS_MCEERR_AO___256 = 5
} ;
enum __anonenum_493465559___256 {
    TRAP_BRKPT___256 = 1,
    TRAP_TRACE___256 = 2
} ;
enum __anonenum_23175539___256 {
    CLD_EXITED___256 = 1,
    CLD_KILLED___256 = 2,
    CLD_DUMPED___256 = 3,
    CLD_TRAPPED___256 = 4,
    CLD_STOPPED___256 = 5,
    CLD_CONTINUED___256 = 6
} ;
enum __anonenum_111643124___256 {
    POLL_IN___256 = 1,
    POLL_OUT___256 = 2,
    POLL_MSG___256 = 3,
    POLL_ERR___256 = 4,
    POLL_PRI___256 = 5,
    POLL_HUP___256 = 6
} ;
enum __anonenum_852341087___256 {
    SIGEV_SIGNAL___256 = 0,
    SIGEV_NONE___256 = 1,
    SIGEV_THREAD___256 = 2,
    SIGEV_THREAD_ID___256 = 4
} ;
enum __anonenum_451154152___256 {
    REG_R8___256 = 0,
    REG_R9___256 = 1,
    REG_R10___256 = 2,
    REG_R11___256 = 3,
    REG_R12___256 = 4,
    REG_R13___256 = 5,
    REG_R14___256 = 6,
    REG_R15___256 = 7,
    REG_RDI___256 = 8,
    REG_RSI___256 = 9,
    REG_RBP___256 = 10,
    REG_RBX___256 = 11,
    REG_RDX___256 = 12,
    REG_RAX___256 = 13,
    REG_RCX___256 = 14,
    REG_RSP___256 = 15,
    REG_RIP___256 = 16,
    REG_EFL___256 = 17,
    REG_CSGSFS___256 = 18,
    REG_ERR___256 = 19,
    REG_TRAPNO___256 = 20,
    REG_OLDMASK___256 = 21,
    REG_CR2___256 = 22
} ;
enum __anonenum_57186863___256 {
    SS_ONSTACK___256 = 1,
    SS_DISABLE___256 = 2
} ;
enum __anonenum_83571709___256 {
    MSG_OOB___256 = 1,
    MSG_PEEK___256 = 2,
    MSG_DONTROUTE___256 = 4,
    MSG_TRYHARD___256 = 4,
    MSG_CTRUNC___256 = 8,
    MSG_PROXY___256 = 16,
    MSG_TRUNC___256 = 32,
    MSG_DONTWAIT___256 = 64,
    MSG_EOR___256 = 128,
    MSG_WAITALL___256 = 256,
    MSG_FIN___256 = 512,
    MSG_SYN___256 = 1024,
    MSG_CONFIRM___256 = 2048,
    MSG_RST___256 = 4096,
    MSG_ERRQUEUE___256 = 8192,
    MSG_NOSIGNAL___256 = 16384,
    MSG_MORE___256 = 32768,
    MSG_WAITFORONE___256 = 65536,
    MSG_BATCH___256 = 262144,
    MSG_ZEROCOPY___256 = 67108864,
    MSG_FASTOPEN___256 = 536870912,
    MSG_CMSG_CLOEXEC___256 = 1073741824
} ;
enum __anonenum_617082774___256 {
    SCM_RIGHTS___256 = 1,
    SCM_CREDENTIALS___256 = 2
} ;
enum __anonenum_606441560___256 {
    SHUT_RD___256 = 0,
    SHUT_WR___256 = 1,
    SHUT_RDWR___256 = 2
} ;
enum __anonenum_681669233___256 {
    IPPROTO_IP___256 = 0,
    IPPROTO_ICMP___256 = 1,
    IPPROTO_IGMP___256 = 2,
    IPPROTO_IPIP___256 = 4,
    IPPROTO_TCP___256 = 6,
    IPPROTO_EGP___256 = 8,
    IPPROTO_PUP___256 = 12,
    IPPROTO_UDP___256 = 17,
    IPPROTO_IDP___256 = 22,
    IPPROTO_TP___256 = 29,
    IPPROTO_DCCP___256 = 33,
    IPPROTO_IPV6___256 = 41,
    IPPROTO_RSVP___256 = 46,
    IPPROTO_GRE___256 = 47,
    IPPROTO_ESP___256 = 50,
    IPPROTO_AH___256 = 51,
    IPPROTO_MTP___256 = 92,
    IPPROTO_BEETPH___256 = 94,
    IPPROTO_ENCAP___256 = 98,
    IPPROTO_PIM___256 = 103,
    IPPROTO_COMP___256 = 108,
    IPPROTO_SCTP___256 = 132,
    IPPROTO_UDPLITE___256 = 136,
    IPPROTO_MPLS___256 = 137,
    IPPROTO_RAW___256 = 255,
    IPPROTO_MAX___256 = 256
} ;
enum __anonenum_218739988___256 {
    IPPROTO_HOPOPTS___256 = 0,
    IPPROTO_ROUTING___256 = 43,
    IPPROTO_FRAGMENT___256 = 44,
    IPPROTO_ICMPV6___256 = 58,
    IPPROTO_NONE___256 = 59,
    IPPROTO_DSTOPTS___256 = 60,
    IPPROTO_MH___256 = 135
} ;
enum __anonenum_662268580___256 {
    IPPORT_ECHO___256 = 7,
    IPPORT_DISCARD___256 = 9,
    IPPORT_SYSTAT___256 = 11,
    IPPORT_DAYTIME___256 = 13,
    IPPORT_NETSTAT___256 = 15,
    IPPORT_FTP___256 = 21,
    IPPORT_TELNET___256 = 23,
    IPPORT_SMTP___256 = 25,
    IPPORT_TIMESERVER___256 = 37,
    IPPORT_NAMESERVER___256 = 42,
    IPPORT_WHOIS___256 = 43,
    IPPORT_MTP___256 = 57,
    IPPORT_TFTP___256 = 69,
    IPPORT_RJE___256 = 77,
    IPPORT_FINGER___256 = 79,
    IPPORT_TTYLINK___256 = 87,
    IPPORT_SUPDUP___256 = 95,
    IPPORT_EXECSERVER___256 = 512,
    IPPORT_LOGINSERVER___256 = 513,
    IPPORT_CMDSERVER___256 = 514,
    IPPORT_EFSSERVER___256 = 520,
    IPPORT_BIFFUDP___256 = 512,
    IPPORT_WHOSERVER___256 = 513,
    IPPORT_ROUTESERVER___256 = 520,
    IPPORT_RESERVED___256 = 1024,
    IPPORT_USERRESERVED___256 = 5000
} ;
enum __anonenum_788308992___256 {
    TCP_ESTABLISHED___256 = 1,
    TCP_SYN_SENT___256 = 2,
    TCP_SYN_RECV___256 = 3,
    TCP_FIN_WAIT1___256 = 4,
    TCP_FIN_WAIT2___256 = 5,
    TCP_TIME_WAIT___256 = 6,
    TCP_CLOSE___256 = 7,
    TCP_CLOSE_WAIT___256 = 8,
    TCP_LAST_ACK___256 = 9,
    TCP_LISTEN___256 = 10,
    TCP_CLOSING___256 = 11
} ;
enum __anonenum_221125648___256 {
    TCP_NO_QUEUE___256 = 0,
    TCP_RECV_QUEUE___256 = 1,
    TCP_SEND_QUEUE___256 = 2,
    TCP_QUEUES_NR___256 = 3
} ;
enum __anonenum_34415463___256 {
    PTHREAD_CREATE_JOINABLE___256 = 0,
    PTHREAD_CREATE_DETACHED___256 = 1
} ;
enum __anonenum_303612439___256 {
    PTHREAD_MUTEX_TIMED_NP___256 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___256 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___256 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___256 = 3,
    PTHREAD_MUTEX_NORMAL___256 = 0,
    PTHREAD_MUTEX_RECURSIVE___256 = 1,
    PTHREAD_MUTEX_ERRORCHECK___256 = 2,
    PTHREAD_MUTEX_DEFAULT___256 = 0,
    PTHREAD_MUTEX_FAST_NP___256 = 0
} ;
enum __anonenum_931900394___256 {
    PTHREAD_MUTEX_STALLED___256 = 0,
    PTHREAD_MUTEX_STALLED_NP___256 = 0,
    PTHREAD_MUTEX_ROBUST___256 = 1,
    PTHREAD_MUTEX_ROBUST_NP___256 = 1
} ;
enum __anonenum_205214487___256 {
    PTHREAD_PRIO_NONE___256 = 0,
    PTHREAD_PRIO_INHERIT___256 = 1,
    PTHREAD_PRIO_PROTECT___256 = 2
} ;
enum __anonenum_25043950___256 {
    PTHREAD_RWLOCK_PREFER_READER_NP___256 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___256 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___256 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___256 = 0
} ;
enum __anonenum_436439511___256 {
    PTHREAD_INHERIT_SCHED___256 = 0,
    PTHREAD_EXPLICIT_SCHED___256 = 1
} ;
enum __anonenum_998661166___256 {
    PTHREAD_SCOPE_SYSTEM___256 = 0,
    PTHREAD_SCOPE_PROCESS___256 = 1
} ;
enum __anonenum_146137331___256 {
    PTHREAD_PROCESS_PRIVATE___256 = 0,
    PTHREAD_PROCESS_SHARED___256 = 1
} ;
enum __anonenum_53396917___256 {
    PTHREAD_CANCEL_ENABLE___256 = 0,
    PTHREAD_CANCEL_DISABLE___256 = 1
} ;
enum __anonenum_904563783___256 {
    PTHREAD_CANCEL_DEFERRED___256 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___256 = 1
} ;
enum __anonenum_672052974___256 {
    SSL_CT_VALIDATION_PERMISSIVE___256 = 0,
    SSL_CT_VALIDATION_STRICT___256 = 1
} ;
struct pq_entry {
   int index ;
   struct reftable_record rec ;
};
struct merged_iter_pqueue {
   struct pq_entry *heap ;
   size_t len ;
   size_t cap ;
};
struct reftable_merged_table {
   struct reftable_table *stack ;
   size_t stack_len ;
   uint32_t hash_id ;
   int suppress_deletions ;
   uint64_t min ;
   uint64_t max ;
};
struct merged_iter {
   struct reftable_iterator *stack ;
   uint32_t hash_id ;
   size_t stack_len ;
   uint8_t typ ;
   int suppress_deletions ;
   struct merged_iter_pqueue pq ;
};
enum __anonenum_437032235___257 {
    _PC_LINK_MAX___257 = 0,
    _PC_MAX_CANON___257 = 1,
    _PC_MAX_INPUT___257 = 2,
    _PC_NAME_MAX___257 = 3,
    _PC_PATH_MAX___257 = 4,
    _PC_PIPE_BUF___257 = 5,
    _PC_CHOWN_RESTRICTED___257 = 6,
    _PC_NO_TRUNC___257 = 7,
    _PC_VDISABLE___257 = 8,
    _PC_SYNC_IO___257 = 9,
    _PC_ASYNC_IO___257 = 10,
    _PC_PRIO_IO___257 = 11,
    _PC_SOCK_MAXBUF___257 = 12,
    _PC_FILESIZEBITS___257 = 13,
    _PC_REC_INCR_XFER_SIZE___257 = 14,
    _PC_REC_MAX_XFER_SIZE___257 = 15,
    _PC_REC_MIN_XFER_SIZE___257 = 16,
    _PC_REC_XFER_ALIGN___257 = 17,
    _PC_ALLOC_SIZE_MIN___257 = 18,
    _PC_SYMLINK_MAX___257 = 19,
    _PC_2_SYMLINKS___257 = 20
} ;
enum __anonenum_315186338___257 {
    _SC_ARG_MAX___257 = 0,
    _SC_CHILD_MAX___257 = 1,
    _SC_CLK_TCK___257 = 2,
    _SC_NGROUPS_MAX___257 = 3,
    _SC_OPEN_MAX___257 = 4,
    _SC_STREAM_MAX___257 = 5,
    _SC_TZNAME_MAX___257 = 6,
    _SC_JOB_CONTROL___257 = 7,
    _SC_SAVED_IDS___257 = 8,
    _SC_REALTIME_SIGNALS___257 = 9,
    _SC_PRIORITY_SCHEDULING___257 = 10,
    _SC_TIMERS___257 = 11,
    _SC_ASYNCHRONOUS_IO___257 = 12,
    _SC_PRIORITIZED_IO___257 = 13,
    _SC_SYNCHRONIZED_IO___257 = 14,
    _SC_FSYNC___257 = 15,
    _SC_MAPPED_FILES___257 = 16,
    _SC_MEMLOCK___257 = 17,
    _SC_MEMLOCK_RANGE___257 = 18,
    _SC_MEMORY_PROTECTION___257 = 19,
    _SC_MESSAGE_PASSING___257 = 20,
    _SC_SEMAPHORES___257 = 21,
    _SC_SHARED_MEMORY_OBJECTS___257 = 22,
    _SC_AIO_LISTIO_MAX___257 = 23,
    _SC_AIO_MAX___257 = 24,
    _SC_AIO_PRIO_DELTA_MAX___257 = 25,
    _SC_DELAYTIMER_MAX___257 = 26,
    _SC_MQ_OPEN_MAX___257 = 27,
    _SC_MQ_PRIO_MAX___257 = 28,
    _SC_VERSION___257 = 29,
    _SC_PAGESIZE___257 = 30,
    _SC_RTSIG_MAX___257 = 31,
    _SC_SEM_NSEMS_MAX___257 = 32,
    _SC_SEM_VALUE_MAX___257 = 33,
    _SC_SIGQUEUE_MAX___257 = 34,
    _SC_TIMER_MAX___257 = 35,
    _SC_BC_BASE_MAX___257 = 36,
    _SC_BC_DIM_MAX___257 = 37,
    _SC_BC_SCALE_MAX___257 = 38,
    _SC_BC_STRING_MAX___257 = 39,
    _SC_COLL_WEIGHTS_MAX___257 = 40,
    _SC_EQUIV_CLASS_MAX___257 = 41,
    _SC_EXPR_NEST_MAX___257 = 42,
    _SC_LINE_MAX___257 = 43,
    _SC_RE_DUP_MAX___257 = 44,
    _SC_CHARCLASS_NAME_MAX___257 = 45,
    _SC_2_VERSION___257 = 46,
    _SC_2_C_BIND___257 = 47,
    _SC_2_C_DEV___257 = 48,
    _SC_2_FORT_DEV___257 = 49,
    _SC_2_FORT_RUN___257 = 50,
    _SC_2_SW_DEV___257 = 51,
    _SC_2_LOCALEDEF___257 = 52,
    _SC_PII___257 = 53,
    _SC_PII_XTI___257 = 54,
    _SC_PII_SOCKET___257 = 55,
    _SC_PII_INTERNET___257 = 56,
    _SC_PII_OSI___257 = 57,
    _SC_POLL___257 = 58,
    _SC_SELECT___257 = 59,
    _SC_UIO_MAXIOV___257 = 60,
    _SC_IOV_MAX___257 = 60,
    _SC_PII_INTERNET_STREAM___257 = 61,
    _SC_PII_INTERNET_DGRAM___257 = 62,
    _SC_PII_OSI_COTS___257 = 63,
    _SC_PII_OSI_CLTS___257 = 64,
    _SC_PII_OSI_M___257 = 65,
    _SC_T_IOV_MAX___257 = 66,
    _SC_THREADS___257 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___257 = 68,
    _SC_GETGR_R_SIZE_MAX___257 = 69,
    _SC_GETPW_R_SIZE_MAX___257 = 70,
    _SC_LOGIN_NAME_MAX___257 = 71,
    _SC_TTY_NAME_MAX___257 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___257 = 73,
    _SC_THREAD_KEYS_MAX___257 = 74,
    _SC_THREAD_STACK_MIN___257 = 75,
    _SC_THREAD_THREADS_MAX___257 = 76,
    _SC_THREAD_ATTR_STACKADDR___257 = 77,
    _SC_THREAD_ATTR_STACKSIZE___257 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___257 = 79,
    _SC_THREAD_PRIO_INHERIT___257 = 80,
    _SC_THREAD_PRIO_PROTECT___257 = 81,
    _SC_THREAD_PROCESS_SHARED___257 = 82,
    _SC_NPROCESSORS_CONF___257 = 83,
    _SC_NPROCESSORS_ONLN___257 = 84,
    _SC_PHYS_PAGES___257 = 85,
    _SC_AVPHYS_PAGES___257 = 86,
    _SC_ATEXIT_MAX___257 = 87,
    _SC_PASS_MAX___257 = 88,
    _SC_XOPEN_VERSION___257 = 89,
    _SC_XOPEN_XCU_VERSION___257 = 90,
    _SC_XOPEN_UNIX___257 = 91,
    _SC_XOPEN_CRYPT___257 = 92,
    _SC_XOPEN_ENH_I18N___257 = 93,
    _SC_XOPEN_SHM___257 = 94,
    _SC_2_CHAR_TERM___257 = 95,
    _SC_2_C_VERSION___257 = 96,
    _SC_2_UPE___257 = 97,
    _SC_XOPEN_XPG2___257 = 98,
    _SC_XOPEN_XPG3___257 = 99,
    _SC_XOPEN_XPG4___257 = 100,
    _SC_CHAR_BIT___257 = 101,
    _SC_CHAR_MAX___257 = 102,
    _SC_CHAR_MIN___257 = 103,
    _SC_INT_MAX___257 = 104,
    _SC_INT_MIN___257 = 105,
    _SC_LONG_BIT___257 = 106,
    _SC_WORD_BIT___257 = 107,
    _SC_MB_LEN_MAX___257 = 108,
    _SC_NZERO___257 = 109,
    _SC_SSIZE_MAX___257 = 110,
    _SC_SCHAR_MAX___257 = 111,
    _SC_SCHAR_MIN___257 = 112,
    _SC_SHRT_MAX___257 = 113,
    _SC_SHRT_MIN___257 = 114,
    _SC_UCHAR_MAX___257 = 115,
    _SC_UINT_MAX___257 = 116,
    _SC_ULONG_MAX___257 = 117,
    _SC_USHRT_MAX___257 = 118,
    _SC_NL_ARGMAX___257 = 119,
    _SC_NL_LANGMAX___257 = 120,
    _SC_NL_MSGMAX___257 = 121,
    _SC_NL_NMAX___257 = 122,
    _SC_NL_SETMAX___257 = 123,
    _SC_NL_TEXTMAX___257 = 124,
    _SC_XBS5_ILP32_OFF32___257 = 125,
    _SC_XBS5_ILP32_OFFBIG___257 = 126,
    _SC_XBS5_LP64_OFF64___257 = 127,
    _SC_XBS5_LPBIG_OFFBIG___257 = 128,
    _SC_XOPEN_LEGACY___257 = 129,
    _SC_XOPEN_REALTIME___257 = 130,
    _SC_XOPEN_REALTIME_THREADS___257 = 131,
    _SC_ADVISORY_INFO___257 = 132,
    _SC_BARRIERS___257 = 133,
    _SC_BASE___257 = 134,
    _SC_C_LANG_SUPPORT___257 = 135,
    _SC_C_LANG_SUPPORT_R___257 = 136,
    _SC_CLOCK_SELECTION___257 = 137,
    _SC_CPUTIME___257 = 138,
    _SC_THREAD_CPUTIME___257 = 139,
    _SC_DEVICE_IO___257 = 140,
    _SC_DEVICE_SPECIFIC___257 = 141,
    _SC_DEVICE_SPECIFIC_R___257 = 142,
    _SC_FD_MGMT___257 = 143,
    _SC_FIFO___257 = 144,
    _SC_PIPE___257 = 145,
    _SC_FILE_ATTRIBUTES___257 = 146,
    _SC_FILE_LOCKING___257 = 147,
    _SC_FILE_SYSTEM___257 = 148,
    _SC_MONOTONIC_CLOCK___257 = 149,
    _SC_MULTI_PROCESS___257 = 150,
    _SC_SINGLE_PROCESS___257 = 151,
    _SC_NETWORKING___257 = 152,
    _SC_READER_WRITER_LOCKS___257 = 153,
    _SC_SPIN_LOCKS___257 = 154,
    _SC_REGEXP___257 = 155,
    _SC_REGEX_VERSION___257 = 156,
    _SC_SHELL___257 = 157,
    _SC_SIGNALS___257 = 158,
    _SC_SPAWN___257 = 159,
    _SC_SPORADIC_SERVER___257 = 160,
    _SC_THREAD_SPORADIC_SERVER___257 = 161,
    _SC_SYSTEM_DATABASE___257 = 162,
    _SC_SYSTEM_DATABASE_R___257 = 163,
    _SC_TIMEOUTS___257 = 164,
    _SC_TYPED_MEMORY_OBJECTS___257 = 165,
    _SC_USER_GROUPS___257 = 166,
    _SC_USER_GROUPS_R___257 = 167,
    _SC_2_PBS___257 = 168,
    _SC_2_PBS_ACCOUNTING___257 = 169,
    _SC_2_PBS_LOCATE___257 = 170,
    _SC_2_PBS_MESSAGE___257 = 171,
    _SC_2_PBS_TRACK___257 = 172,
    _SC_SYMLOOP_MAX___257 = 173,
    _SC_STREAMS___257 = 174,
    _SC_2_PBS_CHECKPOINT___257 = 175,
    _SC_V6_ILP32_OFF32___257 = 176,
    _SC_V6_ILP32_OFFBIG___257 = 177,
    _SC_V6_LP64_OFF64___257 = 178,
    _SC_V6_LPBIG_OFFBIG___257 = 179,
    _SC_HOST_NAME_MAX___257 = 180,
    _SC_TRACE___257 = 181,
    _SC_TRACE_EVENT_FILTER___257 = 182,
    _SC_TRACE_INHERIT___257 = 183,
    _SC_TRACE_LOG___257 = 184,
    _SC_LEVEL1_ICACHE_SIZE___257 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___257 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___257 = 187,
    _SC_LEVEL1_DCACHE_SIZE___257 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___257 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___257 = 190,
    _SC_LEVEL2_CACHE_SIZE___257 = 191,
    _SC_LEVEL2_CACHE_ASSOC___257 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___257 = 193,
    _SC_LEVEL3_CACHE_SIZE___257 = 194,
    _SC_LEVEL3_CACHE_ASSOC___257 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___257 = 196,
    _SC_LEVEL4_CACHE_SIZE___257 = 197,
    _SC_LEVEL4_CACHE_ASSOC___257 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___257 = 199,
    _SC_IPV6___257 = 235,
    _SC_RAW_SOCKETS___257 = 236,
    _SC_V7_ILP32_OFF32___257 = 237,
    _SC_V7_ILP32_OFFBIG___257 = 238,
    _SC_V7_LP64_OFF64___257 = 239,
    _SC_V7_LPBIG_OFFBIG___257 = 240,
    _SC_SS_REPL_MAX___257 = 241,
    _SC_TRACE_EVENT_NAME_MAX___257 = 242,
    _SC_TRACE_NAME_MAX___257 = 243,
    _SC_TRACE_SYS_MAX___257 = 244,
    _SC_TRACE_USER_EVENT_MAX___257 = 245,
    _SC_XOPEN_STREAMS___257 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___257 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___257 = 248
} ;
enum __anonenum_875524036___257 {
    _CS_PATH___257 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___257 = 1,
    _CS_GNU_LIBC_VERSION___257 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___257 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___257 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___257 = 5,
    _CS_LFS_CFLAGS___257 = 1000,
    _CS_LFS_LDFLAGS___257 = 1001,
    _CS_LFS_LIBS___257 = 1002,
    _CS_LFS_LINTFLAGS___257 = 1003,
    _CS_LFS64_CFLAGS___257 = 1004,
    _CS_LFS64_LDFLAGS___257 = 1005,
    _CS_LFS64_LIBS___257 = 1006,
    _CS_LFS64_LINTFLAGS___257 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___257 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___257 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___257 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___257 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___257 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___257 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___257 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___257 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___257 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___257 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___257 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___257 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___257 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___257 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___257 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___257 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___257 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___257 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___257 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___257 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___257 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___257 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___257 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___257 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___257 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___257 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___257 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___257 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___257 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___257 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___257 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___257 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___257 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___257 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___257 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___257 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___257 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___257 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___257 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___257 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___257 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___257 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___257 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___257 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___257 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___257 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___257 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___257 = 1147,
    _CS_V6_ENV___257 = 1148,
    _CS_V7_ENV___257 = 1149
} ;
enum __anonenum_513775621___257 {
    DT_UNKNOWN___257 = 0,
    DT_FIFO___257 = 1,
    DT_CHR___257 = 2,
    DT_DIR___257 = 4,
    DT_BLK___257 = 6,
    DT_REG___257 = 8,
    DT_LNK___257 = 10,
    DT_SOCK___257 = 12,
    DT_WHT___257 = 14
} ;
enum __anonenum_77002343___257 {
    SI_ASYNCNL___257 = -60,
    SI_TKILL___257 = -6,
    SI_SIGIO___257 = -5,
    SI_ASYNCIO___257 = -4,
    SI_MESGQ___257 = -3,
    SI_TIMER___257 = -2,
    SI_QUEUE___257 = -1,
    SI_USER___257 = 0,
    SI_KERNEL___257 = 128
} ;
enum __anonenum_131038172___257 {
    ILL_ILLOPC___257 = 1,
    ILL_ILLOPN___257 = 2,
    ILL_ILLADR___257 = 3,
    ILL_ILLTRP___257 = 4,
    ILL_PRVOPC___257 = 5,
    ILL_PRVREG___257 = 6,
    ILL_COPROC___257 = 7,
    ILL_BADSTK___257 = 8
} ;
enum __anonenum_452038093___257 {
    FPE_INTDIV___257 = 1,
    FPE_INTOVF___257 = 2,
    FPE_FLTDIV___257 = 3,
    FPE_FLTOVF___257 = 4,
    FPE_FLTUND___257 = 5,
    FPE_FLTRES___257 = 6,
    FPE_FLTINV___257 = 7,
    FPE_FLTSUB___257 = 8
} ;
enum __anonenum_30976155___257 {
    SEGV_MAPERR___257 = 1,
    SEGV_ACCERR___257 = 2,
    SEGV_BNDERR___257 = 3,
    SEGV_PKUERR___257 = 4
} ;
enum __anonenum_1036286214___257 {
    BUS_ADRALN___257 = 1,
    BUS_ADRERR___257 = 2,
    BUS_OBJERR___257 = 3,
    BUS_MCEERR_AR___257 = 4,
    BUS_MCEERR_AO___257 = 5
} ;
enum __anonenum_493465559___257 {
    TRAP_BRKPT___257 = 1,
    TRAP_TRACE___257 = 2
} ;
enum __anonenum_23175539___257 {
    CLD_EXITED___257 = 1,
    CLD_KILLED___257 = 2,
    CLD_DUMPED___257 = 3,
    CLD_TRAPPED___257 = 4,
    CLD_STOPPED___257 = 5,
    CLD_CONTINUED___257 = 6
} ;
enum __anonenum_111643124___257 {
    POLL_IN___257 = 1,
    POLL_OUT___257 = 2,
    POLL_MSG___257 = 3,
    POLL_ERR___257 = 4,
    POLL_PRI___257 = 5,
    POLL_HUP___257 = 6
} ;
enum __anonenum_852341087___257 {
    SIGEV_SIGNAL___257 = 0,
    SIGEV_NONE___257 = 1,
    SIGEV_THREAD___257 = 2,
    SIGEV_THREAD_ID___257 = 4
} ;
enum __anonenum_451154152___257 {
    REG_R8___257 = 0,
    REG_R9___257 = 1,
    REG_R10___257 = 2,
    REG_R11___257 = 3,
    REG_R12___257 = 4,
    REG_R13___257 = 5,
    REG_R14___257 = 6,
    REG_R15___257 = 7,
    REG_RDI___257 = 8,
    REG_RSI___257 = 9,
    REG_RBP___257 = 10,
    REG_RBX___257 = 11,
    REG_RDX___257 = 12,
    REG_RAX___257 = 13,
    REG_RCX___257 = 14,
    REG_RSP___257 = 15,
    REG_RIP___257 = 16,
    REG_EFL___257 = 17,
    REG_CSGSFS___257 = 18,
    REG_ERR___257 = 19,
    REG_TRAPNO___257 = 20,
    REG_OLDMASK___257 = 21,
    REG_CR2___257 = 22
} ;
enum __anonenum_57186863___257 {
    SS_ONSTACK___257 = 1,
    SS_DISABLE___257 = 2
} ;
enum __anonenum_83571709___257 {
    MSG_OOB___257 = 1,
    MSG_PEEK___257 = 2,
    MSG_DONTROUTE___257 = 4,
    MSG_TRYHARD___257 = 4,
    MSG_CTRUNC___257 = 8,
    MSG_PROXY___257 = 16,
    MSG_TRUNC___257 = 32,
    MSG_DONTWAIT___257 = 64,
    MSG_EOR___257 = 128,
    MSG_WAITALL___257 = 256,
    MSG_FIN___257 = 512,
    MSG_SYN___257 = 1024,
    MSG_CONFIRM___257 = 2048,
    MSG_RST___257 = 4096,
    MSG_ERRQUEUE___257 = 8192,
    MSG_NOSIGNAL___257 = 16384,
    MSG_MORE___257 = 32768,
    MSG_WAITFORONE___257 = 65536,
    MSG_BATCH___257 = 262144,
    MSG_ZEROCOPY___257 = 67108864,
    MSG_FASTOPEN___257 = 536870912,
    MSG_CMSG_CLOEXEC___257 = 1073741824
} ;
enum __anonenum_617082774___257 {
    SCM_RIGHTS___257 = 1,
    SCM_CREDENTIALS___257 = 2
} ;
enum __anonenum_606441560___257 {
    SHUT_RD___257 = 0,
    SHUT_WR___257 = 1,
    SHUT_RDWR___257 = 2
} ;
enum __anonenum_681669233___257 {
    IPPROTO_IP___257 = 0,
    IPPROTO_ICMP___257 = 1,
    IPPROTO_IGMP___257 = 2,
    IPPROTO_IPIP___257 = 4,
    IPPROTO_TCP___257 = 6,
    IPPROTO_EGP___257 = 8,
    IPPROTO_PUP___257 = 12,
    IPPROTO_UDP___257 = 17,
    IPPROTO_IDP___257 = 22,
    IPPROTO_TP___257 = 29,
    IPPROTO_DCCP___257 = 33,
    IPPROTO_IPV6___257 = 41,
    IPPROTO_RSVP___257 = 46,
    IPPROTO_GRE___257 = 47,
    IPPROTO_ESP___257 = 50,
    IPPROTO_AH___257 = 51,
    IPPROTO_MTP___257 = 92,
    IPPROTO_BEETPH___257 = 94,
    IPPROTO_ENCAP___257 = 98,
    IPPROTO_PIM___257 = 103,
    IPPROTO_COMP___257 = 108,
    IPPROTO_SCTP___257 = 132,
    IPPROTO_UDPLITE___257 = 136,
    IPPROTO_MPLS___257 = 137,
    IPPROTO_RAW___257 = 255,
    IPPROTO_MAX___257 = 256
} ;
enum __anonenum_218739988___257 {
    IPPROTO_HOPOPTS___257 = 0,
    IPPROTO_ROUTING___257 = 43,
    IPPROTO_FRAGMENT___257 = 44,
    IPPROTO_ICMPV6___257 = 58,
    IPPROTO_NONE___257 = 59,
    IPPROTO_DSTOPTS___257 = 60,
    IPPROTO_MH___257 = 135
} ;
enum __anonenum_662268580___257 {
    IPPORT_ECHO___257 = 7,
    IPPORT_DISCARD___257 = 9,
    IPPORT_SYSTAT___257 = 11,
    IPPORT_DAYTIME___257 = 13,
    IPPORT_NETSTAT___257 = 15,
    IPPORT_FTP___257 = 21,
    IPPORT_TELNET___257 = 23,
    IPPORT_SMTP___257 = 25,
    IPPORT_TIMESERVER___257 = 37,
    IPPORT_NAMESERVER___257 = 42,
    IPPORT_WHOIS___257 = 43,
    IPPORT_MTP___257 = 57,
    IPPORT_TFTP___257 = 69,
    IPPORT_RJE___257 = 77,
    IPPORT_FINGER___257 = 79,
    IPPORT_TTYLINK___257 = 87,
    IPPORT_SUPDUP___257 = 95,
    IPPORT_EXECSERVER___257 = 512,
    IPPORT_LOGINSERVER___257 = 513,
    IPPORT_CMDSERVER___257 = 514,
    IPPORT_EFSSERVER___257 = 520,
    IPPORT_BIFFUDP___257 = 512,
    IPPORT_WHOSERVER___257 = 513,
    IPPORT_ROUTESERVER___257 = 520,
    IPPORT_RESERVED___257 = 1024,
    IPPORT_USERRESERVED___257 = 5000
} ;
enum __anonenum_788308992___257 {
    TCP_ESTABLISHED___257 = 1,
    TCP_SYN_SENT___257 = 2,
    TCP_SYN_RECV___257 = 3,
    TCP_FIN_WAIT1___257 = 4,
    TCP_FIN_WAIT2___257 = 5,
    TCP_TIME_WAIT___257 = 6,
    TCP_CLOSE___257 = 7,
    TCP_CLOSE_WAIT___257 = 8,
    TCP_LAST_ACK___257 = 9,
    TCP_LISTEN___257 = 10,
    TCP_CLOSING___257 = 11
} ;
enum __anonenum_221125648___257 {
    TCP_NO_QUEUE___257 = 0,
    TCP_RECV_QUEUE___257 = 1,
    TCP_SEND_QUEUE___257 = 2,
    TCP_QUEUES_NR___257 = 3
} ;
enum __anonenum_34415463___257 {
    PTHREAD_CREATE_JOINABLE___257 = 0,
    PTHREAD_CREATE_DETACHED___257 = 1
} ;
enum __anonenum_303612439___257 {
    PTHREAD_MUTEX_TIMED_NP___257 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___257 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___257 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___257 = 3,
    PTHREAD_MUTEX_NORMAL___257 = 0,
    PTHREAD_MUTEX_RECURSIVE___257 = 1,
    PTHREAD_MUTEX_ERRORCHECK___257 = 2,
    PTHREAD_MUTEX_DEFAULT___257 = 0,
    PTHREAD_MUTEX_FAST_NP___257 = 0
} ;
enum __anonenum_931900394___257 {
    PTHREAD_MUTEX_STALLED___257 = 0,
    PTHREAD_MUTEX_STALLED_NP___257 = 0,
    PTHREAD_MUTEX_ROBUST___257 = 1,
    PTHREAD_MUTEX_ROBUST_NP___257 = 1
} ;
enum __anonenum_205214487___257 {
    PTHREAD_PRIO_NONE___257 = 0,
    PTHREAD_PRIO_INHERIT___257 = 1,
    PTHREAD_PRIO_PROTECT___257 = 2
} ;
enum __anonenum_25043950___257 {
    PTHREAD_RWLOCK_PREFER_READER_NP___257 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___257 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___257 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___257 = 0
} ;
enum __anonenum_436439511___257 {
    PTHREAD_INHERIT_SCHED___257 = 0,
    PTHREAD_EXPLICIT_SCHED___257 = 1
} ;
enum __anonenum_998661166___257 {
    PTHREAD_SCOPE_SYSTEM___257 = 0,
    PTHREAD_SCOPE_PROCESS___257 = 1
} ;
enum __anonenum_146137331___257 {
    PTHREAD_PROCESS_PRIVATE___257 = 0,
    PTHREAD_PROCESS_SHARED___257 = 1
} ;
enum __anonenum_53396917___257 {
    PTHREAD_CANCEL_ENABLE___257 = 0,
    PTHREAD_CANCEL_DISABLE___257 = 1
} ;
enum __anonenum_904563783___257 {
    PTHREAD_CANCEL_DEFERRED___257 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___257 = 1
} ;
enum __anonenum_672052974___257 {
    SSL_CT_VALIDATION_PERMISSIVE___257 = 0,
    SSL_CT_VALIDATION_STRICT___257 = 1
} ;
enum __anonenum_437032235___258 {
    _PC_LINK_MAX___258 = 0,
    _PC_MAX_CANON___258 = 1,
    _PC_MAX_INPUT___258 = 2,
    _PC_NAME_MAX___258 = 3,
    _PC_PATH_MAX___258 = 4,
    _PC_PIPE_BUF___258 = 5,
    _PC_CHOWN_RESTRICTED___258 = 6,
    _PC_NO_TRUNC___258 = 7,
    _PC_VDISABLE___258 = 8,
    _PC_SYNC_IO___258 = 9,
    _PC_ASYNC_IO___258 = 10,
    _PC_PRIO_IO___258 = 11,
    _PC_SOCK_MAXBUF___258 = 12,
    _PC_FILESIZEBITS___258 = 13,
    _PC_REC_INCR_XFER_SIZE___258 = 14,
    _PC_REC_MAX_XFER_SIZE___258 = 15,
    _PC_REC_MIN_XFER_SIZE___258 = 16,
    _PC_REC_XFER_ALIGN___258 = 17,
    _PC_ALLOC_SIZE_MIN___258 = 18,
    _PC_SYMLINK_MAX___258 = 19,
    _PC_2_SYMLINKS___258 = 20
} ;
enum __anonenum_315186338___258 {
    _SC_ARG_MAX___258 = 0,
    _SC_CHILD_MAX___258 = 1,
    _SC_CLK_TCK___258 = 2,
    _SC_NGROUPS_MAX___258 = 3,
    _SC_OPEN_MAX___258 = 4,
    _SC_STREAM_MAX___258 = 5,
    _SC_TZNAME_MAX___258 = 6,
    _SC_JOB_CONTROL___258 = 7,
    _SC_SAVED_IDS___258 = 8,
    _SC_REALTIME_SIGNALS___258 = 9,
    _SC_PRIORITY_SCHEDULING___258 = 10,
    _SC_TIMERS___258 = 11,
    _SC_ASYNCHRONOUS_IO___258 = 12,
    _SC_PRIORITIZED_IO___258 = 13,
    _SC_SYNCHRONIZED_IO___258 = 14,
    _SC_FSYNC___258 = 15,
    _SC_MAPPED_FILES___258 = 16,
    _SC_MEMLOCK___258 = 17,
    _SC_MEMLOCK_RANGE___258 = 18,
    _SC_MEMORY_PROTECTION___258 = 19,
    _SC_MESSAGE_PASSING___258 = 20,
    _SC_SEMAPHORES___258 = 21,
    _SC_SHARED_MEMORY_OBJECTS___258 = 22,
    _SC_AIO_LISTIO_MAX___258 = 23,
    _SC_AIO_MAX___258 = 24,
    _SC_AIO_PRIO_DELTA_MAX___258 = 25,
    _SC_DELAYTIMER_MAX___258 = 26,
    _SC_MQ_OPEN_MAX___258 = 27,
    _SC_MQ_PRIO_MAX___258 = 28,
    _SC_VERSION___258 = 29,
    _SC_PAGESIZE___258 = 30,
    _SC_RTSIG_MAX___258 = 31,
    _SC_SEM_NSEMS_MAX___258 = 32,
    _SC_SEM_VALUE_MAX___258 = 33,
    _SC_SIGQUEUE_MAX___258 = 34,
    _SC_TIMER_MAX___258 = 35,
    _SC_BC_BASE_MAX___258 = 36,
    _SC_BC_DIM_MAX___258 = 37,
    _SC_BC_SCALE_MAX___258 = 38,
    _SC_BC_STRING_MAX___258 = 39,
    _SC_COLL_WEIGHTS_MAX___258 = 40,
    _SC_EQUIV_CLASS_MAX___258 = 41,
    _SC_EXPR_NEST_MAX___258 = 42,
    _SC_LINE_MAX___258 = 43,
    _SC_RE_DUP_MAX___258 = 44,
    _SC_CHARCLASS_NAME_MAX___258 = 45,
    _SC_2_VERSION___258 = 46,
    _SC_2_C_BIND___258 = 47,
    _SC_2_C_DEV___258 = 48,
    _SC_2_FORT_DEV___258 = 49,
    _SC_2_FORT_RUN___258 = 50,
    _SC_2_SW_DEV___258 = 51,
    _SC_2_LOCALEDEF___258 = 52,
    _SC_PII___258 = 53,
    _SC_PII_XTI___258 = 54,
    _SC_PII_SOCKET___258 = 55,
    _SC_PII_INTERNET___258 = 56,
    _SC_PII_OSI___258 = 57,
    _SC_POLL___258 = 58,
    _SC_SELECT___258 = 59,
    _SC_UIO_MAXIOV___258 = 60,
    _SC_IOV_MAX___258 = 60,
    _SC_PII_INTERNET_STREAM___258 = 61,
    _SC_PII_INTERNET_DGRAM___258 = 62,
    _SC_PII_OSI_COTS___258 = 63,
    _SC_PII_OSI_CLTS___258 = 64,
    _SC_PII_OSI_M___258 = 65,
    _SC_T_IOV_MAX___258 = 66,
    _SC_THREADS___258 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___258 = 68,
    _SC_GETGR_R_SIZE_MAX___258 = 69,
    _SC_GETPW_R_SIZE_MAX___258 = 70,
    _SC_LOGIN_NAME_MAX___258 = 71,
    _SC_TTY_NAME_MAX___258 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___258 = 73,
    _SC_THREAD_KEYS_MAX___258 = 74,
    _SC_THREAD_STACK_MIN___258 = 75,
    _SC_THREAD_THREADS_MAX___258 = 76,
    _SC_THREAD_ATTR_STACKADDR___258 = 77,
    _SC_THREAD_ATTR_STACKSIZE___258 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___258 = 79,
    _SC_THREAD_PRIO_INHERIT___258 = 80,
    _SC_THREAD_PRIO_PROTECT___258 = 81,
    _SC_THREAD_PROCESS_SHARED___258 = 82,
    _SC_NPROCESSORS_CONF___258 = 83,
    _SC_NPROCESSORS_ONLN___258 = 84,
    _SC_PHYS_PAGES___258 = 85,
    _SC_AVPHYS_PAGES___258 = 86,
    _SC_ATEXIT_MAX___258 = 87,
    _SC_PASS_MAX___258 = 88,
    _SC_XOPEN_VERSION___258 = 89,
    _SC_XOPEN_XCU_VERSION___258 = 90,
    _SC_XOPEN_UNIX___258 = 91,
    _SC_XOPEN_CRYPT___258 = 92,
    _SC_XOPEN_ENH_I18N___258 = 93,
    _SC_XOPEN_SHM___258 = 94,
    _SC_2_CHAR_TERM___258 = 95,
    _SC_2_C_VERSION___258 = 96,
    _SC_2_UPE___258 = 97,
    _SC_XOPEN_XPG2___258 = 98,
    _SC_XOPEN_XPG3___258 = 99,
    _SC_XOPEN_XPG4___258 = 100,
    _SC_CHAR_BIT___258 = 101,
    _SC_CHAR_MAX___258 = 102,
    _SC_CHAR_MIN___258 = 103,
    _SC_INT_MAX___258 = 104,
    _SC_INT_MIN___258 = 105,
    _SC_LONG_BIT___258 = 106,
    _SC_WORD_BIT___258 = 107,
    _SC_MB_LEN_MAX___258 = 108,
    _SC_NZERO___258 = 109,
    _SC_SSIZE_MAX___258 = 110,
    _SC_SCHAR_MAX___258 = 111,
    _SC_SCHAR_MIN___258 = 112,
    _SC_SHRT_MAX___258 = 113,
    _SC_SHRT_MIN___258 = 114,
    _SC_UCHAR_MAX___258 = 115,
    _SC_UINT_MAX___258 = 116,
    _SC_ULONG_MAX___258 = 117,
    _SC_USHRT_MAX___258 = 118,
    _SC_NL_ARGMAX___258 = 119,
    _SC_NL_LANGMAX___258 = 120,
    _SC_NL_MSGMAX___258 = 121,
    _SC_NL_NMAX___258 = 122,
    _SC_NL_SETMAX___258 = 123,
    _SC_NL_TEXTMAX___258 = 124,
    _SC_XBS5_ILP32_OFF32___258 = 125,
    _SC_XBS5_ILP32_OFFBIG___258 = 126,
    _SC_XBS5_LP64_OFF64___258 = 127,
    _SC_XBS5_LPBIG_OFFBIG___258 = 128,
    _SC_XOPEN_LEGACY___258 = 129,
    _SC_XOPEN_REALTIME___258 = 130,
    _SC_XOPEN_REALTIME_THREADS___258 = 131,
    _SC_ADVISORY_INFO___258 = 132,
    _SC_BARRIERS___258 = 133,
    _SC_BASE___258 = 134,
    _SC_C_LANG_SUPPORT___258 = 135,
    _SC_C_LANG_SUPPORT_R___258 = 136,
    _SC_CLOCK_SELECTION___258 = 137,
    _SC_CPUTIME___258 = 138,
    _SC_THREAD_CPUTIME___258 = 139,
    _SC_DEVICE_IO___258 = 140,
    _SC_DEVICE_SPECIFIC___258 = 141,
    _SC_DEVICE_SPECIFIC_R___258 = 142,
    _SC_FD_MGMT___258 = 143,
    _SC_FIFO___258 = 144,
    _SC_PIPE___258 = 145,
    _SC_FILE_ATTRIBUTES___258 = 146,
    _SC_FILE_LOCKING___258 = 147,
    _SC_FILE_SYSTEM___258 = 148,
    _SC_MONOTONIC_CLOCK___258 = 149,
    _SC_MULTI_PROCESS___258 = 150,
    _SC_SINGLE_PROCESS___258 = 151,
    _SC_NETWORKING___258 = 152,
    _SC_READER_WRITER_LOCKS___258 = 153,
    _SC_SPIN_LOCKS___258 = 154,
    _SC_REGEXP___258 = 155,
    _SC_REGEX_VERSION___258 = 156,
    _SC_SHELL___258 = 157,
    _SC_SIGNALS___258 = 158,
    _SC_SPAWN___258 = 159,
    _SC_SPORADIC_SERVER___258 = 160,
    _SC_THREAD_SPORADIC_SERVER___258 = 161,
    _SC_SYSTEM_DATABASE___258 = 162,
    _SC_SYSTEM_DATABASE_R___258 = 163,
    _SC_TIMEOUTS___258 = 164,
    _SC_TYPED_MEMORY_OBJECTS___258 = 165,
    _SC_USER_GROUPS___258 = 166,
    _SC_USER_GROUPS_R___258 = 167,
    _SC_2_PBS___258 = 168,
    _SC_2_PBS_ACCOUNTING___258 = 169,
    _SC_2_PBS_LOCATE___258 = 170,
    _SC_2_PBS_MESSAGE___258 = 171,
    _SC_2_PBS_TRACK___258 = 172,
    _SC_SYMLOOP_MAX___258 = 173,
    _SC_STREAMS___258 = 174,
    _SC_2_PBS_CHECKPOINT___258 = 175,
    _SC_V6_ILP32_OFF32___258 = 176,
    _SC_V6_ILP32_OFFBIG___258 = 177,
    _SC_V6_LP64_OFF64___258 = 178,
    _SC_V6_LPBIG_OFFBIG___258 = 179,
    _SC_HOST_NAME_MAX___258 = 180,
    _SC_TRACE___258 = 181,
    _SC_TRACE_EVENT_FILTER___258 = 182,
    _SC_TRACE_INHERIT___258 = 183,
    _SC_TRACE_LOG___258 = 184,
    _SC_LEVEL1_ICACHE_SIZE___258 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___258 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___258 = 187,
    _SC_LEVEL1_DCACHE_SIZE___258 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___258 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___258 = 190,
    _SC_LEVEL2_CACHE_SIZE___258 = 191,
    _SC_LEVEL2_CACHE_ASSOC___258 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___258 = 193,
    _SC_LEVEL3_CACHE_SIZE___258 = 194,
    _SC_LEVEL3_CACHE_ASSOC___258 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___258 = 196,
    _SC_LEVEL4_CACHE_SIZE___258 = 197,
    _SC_LEVEL4_CACHE_ASSOC___258 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___258 = 199,
    _SC_IPV6___258 = 235,
    _SC_RAW_SOCKETS___258 = 236,
    _SC_V7_ILP32_OFF32___258 = 237,
    _SC_V7_ILP32_OFFBIG___258 = 238,
    _SC_V7_LP64_OFF64___258 = 239,
    _SC_V7_LPBIG_OFFBIG___258 = 240,
    _SC_SS_REPL_MAX___258 = 241,
    _SC_TRACE_EVENT_NAME_MAX___258 = 242,
    _SC_TRACE_NAME_MAX___258 = 243,
    _SC_TRACE_SYS_MAX___258 = 244,
    _SC_TRACE_USER_EVENT_MAX___258 = 245,
    _SC_XOPEN_STREAMS___258 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___258 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___258 = 248
} ;
enum __anonenum_875524036___258 {
    _CS_PATH___258 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___258 = 1,
    _CS_GNU_LIBC_VERSION___258 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___258 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___258 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___258 = 5,
    _CS_LFS_CFLAGS___258 = 1000,
    _CS_LFS_LDFLAGS___258 = 1001,
    _CS_LFS_LIBS___258 = 1002,
    _CS_LFS_LINTFLAGS___258 = 1003,
    _CS_LFS64_CFLAGS___258 = 1004,
    _CS_LFS64_LDFLAGS___258 = 1005,
    _CS_LFS64_LIBS___258 = 1006,
    _CS_LFS64_LINTFLAGS___258 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___258 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___258 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___258 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___258 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___258 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___258 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___258 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___258 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___258 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___258 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___258 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___258 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___258 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___258 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___258 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___258 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___258 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___258 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___258 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___258 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___258 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___258 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___258 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___258 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___258 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___258 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___258 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___258 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___258 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___258 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___258 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___258 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___258 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___258 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___258 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___258 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___258 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___258 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___258 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___258 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___258 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___258 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___258 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___258 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___258 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___258 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___258 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___258 = 1147,
    _CS_V6_ENV___258 = 1148,
    _CS_V7_ENV___258 = 1149
} ;
enum __anonenum_513775621___258 {
    DT_UNKNOWN___258 = 0,
    DT_FIFO___258 = 1,
    DT_CHR___258 = 2,
    DT_DIR___258 = 4,
    DT_BLK___258 = 6,
    DT_REG___258 = 8,
    DT_LNK___258 = 10,
    DT_SOCK___258 = 12,
    DT_WHT___258 = 14
} ;
enum __anonenum_77002343___258 {
    SI_ASYNCNL___258 = -60,
    SI_TKILL___258 = -6,
    SI_SIGIO___258 = -5,
    SI_ASYNCIO___258 = -4,
    SI_MESGQ___258 = -3,
    SI_TIMER___258 = -2,
    SI_QUEUE___258 = -1,
    SI_USER___258 = 0,
    SI_KERNEL___258 = 128
} ;
enum __anonenum_131038172___258 {
    ILL_ILLOPC___258 = 1,
    ILL_ILLOPN___258 = 2,
    ILL_ILLADR___258 = 3,
    ILL_ILLTRP___258 = 4,
    ILL_PRVOPC___258 = 5,
    ILL_PRVREG___258 = 6,
    ILL_COPROC___258 = 7,
    ILL_BADSTK___258 = 8
} ;
enum __anonenum_452038093___258 {
    FPE_INTDIV___258 = 1,
    FPE_INTOVF___258 = 2,
    FPE_FLTDIV___258 = 3,
    FPE_FLTOVF___258 = 4,
    FPE_FLTUND___258 = 5,
    FPE_FLTRES___258 = 6,
    FPE_FLTINV___258 = 7,
    FPE_FLTSUB___258 = 8
} ;
enum __anonenum_30976155___258 {
    SEGV_MAPERR___258 = 1,
    SEGV_ACCERR___258 = 2,
    SEGV_BNDERR___258 = 3,
    SEGV_PKUERR___258 = 4
} ;
enum __anonenum_1036286214___258 {
    BUS_ADRALN___258 = 1,
    BUS_ADRERR___258 = 2,
    BUS_OBJERR___258 = 3,
    BUS_MCEERR_AR___258 = 4,
    BUS_MCEERR_AO___258 = 5
} ;
enum __anonenum_493465559___258 {
    TRAP_BRKPT___258 = 1,
    TRAP_TRACE___258 = 2
} ;
enum __anonenum_23175539___258 {
    CLD_EXITED___258 = 1,
    CLD_KILLED___258 = 2,
    CLD_DUMPED___258 = 3,
    CLD_TRAPPED___258 = 4,
    CLD_STOPPED___258 = 5,
    CLD_CONTINUED___258 = 6
} ;
enum __anonenum_111643124___258 {
    POLL_IN___258 = 1,
    POLL_OUT___258 = 2,
    POLL_MSG___258 = 3,
    POLL_ERR___258 = 4,
    POLL_PRI___258 = 5,
    POLL_HUP___258 = 6
} ;
enum __anonenum_852341087___258 {
    SIGEV_SIGNAL___258 = 0,
    SIGEV_NONE___258 = 1,
    SIGEV_THREAD___258 = 2,
    SIGEV_THREAD_ID___258 = 4
} ;
enum __anonenum_451154152___258 {
    REG_R8___258 = 0,
    REG_R9___258 = 1,
    REG_R10___258 = 2,
    REG_R11___258 = 3,
    REG_R12___258 = 4,
    REG_R13___258 = 5,
    REG_R14___258 = 6,
    REG_R15___258 = 7,
    REG_RDI___258 = 8,
    REG_RSI___258 = 9,
    REG_RBP___258 = 10,
    REG_RBX___258 = 11,
    REG_RDX___258 = 12,
    REG_RAX___258 = 13,
    REG_RCX___258 = 14,
    REG_RSP___258 = 15,
    REG_RIP___258 = 16,
    REG_EFL___258 = 17,
    REG_CSGSFS___258 = 18,
    REG_ERR___258 = 19,
    REG_TRAPNO___258 = 20,
    REG_OLDMASK___258 = 21,
    REG_CR2___258 = 22
} ;
enum __anonenum_57186863___258 {
    SS_ONSTACK___258 = 1,
    SS_DISABLE___258 = 2
} ;
enum __anonenum_83571709___258 {
    MSG_OOB___258 = 1,
    MSG_PEEK___258 = 2,
    MSG_DONTROUTE___258 = 4,
    MSG_TRYHARD___258 = 4,
    MSG_CTRUNC___258 = 8,
    MSG_PROXY___258 = 16,
    MSG_TRUNC___258 = 32,
    MSG_DONTWAIT___258 = 64,
    MSG_EOR___258 = 128,
    MSG_WAITALL___258 = 256,
    MSG_FIN___258 = 512,
    MSG_SYN___258 = 1024,
    MSG_CONFIRM___258 = 2048,
    MSG_RST___258 = 4096,
    MSG_ERRQUEUE___258 = 8192,
    MSG_NOSIGNAL___258 = 16384,
    MSG_MORE___258 = 32768,
    MSG_WAITFORONE___258 = 65536,
    MSG_BATCH___258 = 262144,
    MSG_ZEROCOPY___258 = 67108864,
    MSG_FASTOPEN___258 = 536870912,
    MSG_CMSG_CLOEXEC___258 = 1073741824
} ;
enum __anonenum_617082774___258 {
    SCM_RIGHTS___258 = 1,
    SCM_CREDENTIALS___258 = 2
} ;
enum __anonenum_606441560___258 {
    SHUT_RD___258 = 0,
    SHUT_WR___258 = 1,
    SHUT_RDWR___258 = 2
} ;
enum __anonenum_681669233___258 {
    IPPROTO_IP___258 = 0,
    IPPROTO_ICMP___258 = 1,
    IPPROTO_IGMP___258 = 2,
    IPPROTO_IPIP___258 = 4,
    IPPROTO_TCP___258 = 6,
    IPPROTO_EGP___258 = 8,
    IPPROTO_PUP___258 = 12,
    IPPROTO_UDP___258 = 17,
    IPPROTO_IDP___258 = 22,
    IPPROTO_TP___258 = 29,
    IPPROTO_DCCP___258 = 33,
    IPPROTO_IPV6___258 = 41,
    IPPROTO_RSVP___258 = 46,
    IPPROTO_GRE___258 = 47,
    IPPROTO_ESP___258 = 50,
    IPPROTO_AH___258 = 51,
    IPPROTO_MTP___258 = 92,
    IPPROTO_BEETPH___258 = 94,
    IPPROTO_ENCAP___258 = 98,
    IPPROTO_PIM___258 = 103,
    IPPROTO_COMP___258 = 108,
    IPPROTO_SCTP___258 = 132,
    IPPROTO_UDPLITE___258 = 136,
    IPPROTO_MPLS___258 = 137,
    IPPROTO_RAW___258 = 255,
    IPPROTO_MAX___258 = 256
} ;
enum __anonenum_218739988___258 {
    IPPROTO_HOPOPTS___258 = 0,
    IPPROTO_ROUTING___258 = 43,
    IPPROTO_FRAGMENT___258 = 44,
    IPPROTO_ICMPV6___258 = 58,
    IPPROTO_NONE___258 = 59,
    IPPROTO_DSTOPTS___258 = 60,
    IPPROTO_MH___258 = 135
} ;
enum __anonenum_662268580___258 {
    IPPORT_ECHO___258 = 7,
    IPPORT_DISCARD___258 = 9,
    IPPORT_SYSTAT___258 = 11,
    IPPORT_DAYTIME___258 = 13,
    IPPORT_NETSTAT___258 = 15,
    IPPORT_FTP___258 = 21,
    IPPORT_TELNET___258 = 23,
    IPPORT_SMTP___258 = 25,
    IPPORT_TIMESERVER___258 = 37,
    IPPORT_NAMESERVER___258 = 42,
    IPPORT_WHOIS___258 = 43,
    IPPORT_MTP___258 = 57,
    IPPORT_TFTP___258 = 69,
    IPPORT_RJE___258 = 77,
    IPPORT_FINGER___258 = 79,
    IPPORT_TTYLINK___258 = 87,
    IPPORT_SUPDUP___258 = 95,
    IPPORT_EXECSERVER___258 = 512,
    IPPORT_LOGINSERVER___258 = 513,
    IPPORT_CMDSERVER___258 = 514,
    IPPORT_EFSSERVER___258 = 520,
    IPPORT_BIFFUDP___258 = 512,
    IPPORT_WHOSERVER___258 = 513,
    IPPORT_ROUTESERVER___258 = 520,
    IPPORT_RESERVED___258 = 1024,
    IPPORT_USERRESERVED___258 = 5000
} ;
enum __anonenum_788308992___258 {
    TCP_ESTABLISHED___258 = 1,
    TCP_SYN_SENT___258 = 2,
    TCP_SYN_RECV___258 = 3,
    TCP_FIN_WAIT1___258 = 4,
    TCP_FIN_WAIT2___258 = 5,
    TCP_TIME_WAIT___258 = 6,
    TCP_CLOSE___258 = 7,
    TCP_CLOSE_WAIT___258 = 8,
    TCP_LAST_ACK___258 = 9,
    TCP_LISTEN___258 = 10,
    TCP_CLOSING___258 = 11
} ;
enum __anonenum_221125648___258 {
    TCP_NO_QUEUE___258 = 0,
    TCP_RECV_QUEUE___258 = 1,
    TCP_SEND_QUEUE___258 = 2,
    TCP_QUEUES_NR___258 = 3
} ;
enum __anonenum_34415463___258 {
    PTHREAD_CREATE_JOINABLE___258 = 0,
    PTHREAD_CREATE_DETACHED___258 = 1
} ;
enum __anonenum_303612439___258 {
    PTHREAD_MUTEX_TIMED_NP___258 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___258 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___258 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___258 = 3,
    PTHREAD_MUTEX_NORMAL___258 = 0,
    PTHREAD_MUTEX_RECURSIVE___258 = 1,
    PTHREAD_MUTEX_ERRORCHECK___258 = 2,
    PTHREAD_MUTEX_DEFAULT___258 = 0,
    PTHREAD_MUTEX_FAST_NP___258 = 0
} ;
enum __anonenum_931900394___258 {
    PTHREAD_MUTEX_STALLED___258 = 0,
    PTHREAD_MUTEX_STALLED_NP___258 = 0,
    PTHREAD_MUTEX_ROBUST___258 = 1,
    PTHREAD_MUTEX_ROBUST_NP___258 = 1
} ;
enum __anonenum_205214487___258 {
    PTHREAD_PRIO_NONE___258 = 0,
    PTHREAD_PRIO_INHERIT___258 = 1,
    PTHREAD_PRIO_PROTECT___258 = 2
} ;
enum __anonenum_25043950___258 {
    PTHREAD_RWLOCK_PREFER_READER_NP___258 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___258 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___258 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___258 = 0
} ;
enum __anonenum_436439511___258 {
    PTHREAD_INHERIT_SCHED___258 = 0,
    PTHREAD_EXPLICIT_SCHED___258 = 1
} ;
enum __anonenum_998661166___258 {
    PTHREAD_SCOPE_SYSTEM___258 = 0,
    PTHREAD_SCOPE_PROCESS___258 = 1
} ;
enum __anonenum_146137331___258 {
    PTHREAD_PROCESS_PRIVATE___258 = 0,
    PTHREAD_PROCESS_SHARED___258 = 1
} ;
enum __anonenum_53396917___258 {
    PTHREAD_CANCEL_ENABLE___258 = 0,
    PTHREAD_CANCEL_DISABLE___258 = 1
} ;
enum __anonenum_904563783___258 {
    PTHREAD_CANCEL_DEFERRED___258 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___258 = 1
} ;
enum __anonenum_672052974___258 {
    SSL_CT_VALIDATION_PERMISSIVE___258 = 0,
    SSL_CT_VALIDATION_STRICT___258 = 1
} ;
struct tree_node {
   void *key ;
   struct tree_node *left ;
   struct tree_node *right ;
};
struct table_iter {
   struct reftable_reader *r ;
   uint8_t typ ;
   uint64_t block_off ;
   struct block_iter bi ;
   int is_finished ;
};
enum __anonenum_437032235___259 {
    _PC_LINK_MAX___259 = 0,
    _PC_MAX_CANON___259 = 1,
    _PC_MAX_INPUT___259 = 2,
    _PC_NAME_MAX___259 = 3,
    _PC_PATH_MAX___259 = 4,
    _PC_PIPE_BUF___259 = 5,
    _PC_CHOWN_RESTRICTED___259 = 6,
    _PC_NO_TRUNC___259 = 7,
    _PC_VDISABLE___259 = 8,
    _PC_SYNC_IO___259 = 9,
    _PC_ASYNC_IO___259 = 10,
    _PC_PRIO_IO___259 = 11,
    _PC_SOCK_MAXBUF___259 = 12,
    _PC_FILESIZEBITS___259 = 13,
    _PC_REC_INCR_XFER_SIZE___259 = 14,
    _PC_REC_MAX_XFER_SIZE___259 = 15,
    _PC_REC_MIN_XFER_SIZE___259 = 16,
    _PC_REC_XFER_ALIGN___259 = 17,
    _PC_ALLOC_SIZE_MIN___259 = 18,
    _PC_SYMLINK_MAX___259 = 19,
    _PC_2_SYMLINKS___259 = 20
} ;
enum __anonenum_315186338___259 {
    _SC_ARG_MAX___259 = 0,
    _SC_CHILD_MAX___259 = 1,
    _SC_CLK_TCK___259 = 2,
    _SC_NGROUPS_MAX___259 = 3,
    _SC_OPEN_MAX___259 = 4,
    _SC_STREAM_MAX___259 = 5,
    _SC_TZNAME_MAX___259 = 6,
    _SC_JOB_CONTROL___259 = 7,
    _SC_SAVED_IDS___259 = 8,
    _SC_REALTIME_SIGNALS___259 = 9,
    _SC_PRIORITY_SCHEDULING___259 = 10,
    _SC_TIMERS___259 = 11,
    _SC_ASYNCHRONOUS_IO___259 = 12,
    _SC_PRIORITIZED_IO___259 = 13,
    _SC_SYNCHRONIZED_IO___259 = 14,
    _SC_FSYNC___259 = 15,
    _SC_MAPPED_FILES___259 = 16,
    _SC_MEMLOCK___259 = 17,
    _SC_MEMLOCK_RANGE___259 = 18,
    _SC_MEMORY_PROTECTION___259 = 19,
    _SC_MESSAGE_PASSING___259 = 20,
    _SC_SEMAPHORES___259 = 21,
    _SC_SHARED_MEMORY_OBJECTS___259 = 22,
    _SC_AIO_LISTIO_MAX___259 = 23,
    _SC_AIO_MAX___259 = 24,
    _SC_AIO_PRIO_DELTA_MAX___259 = 25,
    _SC_DELAYTIMER_MAX___259 = 26,
    _SC_MQ_OPEN_MAX___259 = 27,
    _SC_MQ_PRIO_MAX___259 = 28,
    _SC_VERSION___259 = 29,
    _SC_PAGESIZE___259 = 30,
    _SC_RTSIG_MAX___259 = 31,
    _SC_SEM_NSEMS_MAX___259 = 32,
    _SC_SEM_VALUE_MAX___259 = 33,
    _SC_SIGQUEUE_MAX___259 = 34,
    _SC_TIMER_MAX___259 = 35,
    _SC_BC_BASE_MAX___259 = 36,
    _SC_BC_DIM_MAX___259 = 37,
    _SC_BC_SCALE_MAX___259 = 38,
    _SC_BC_STRING_MAX___259 = 39,
    _SC_COLL_WEIGHTS_MAX___259 = 40,
    _SC_EQUIV_CLASS_MAX___259 = 41,
    _SC_EXPR_NEST_MAX___259 = 42,
    _SC_LINE_MAX___259 = 43,
    _SC_RE_DUP_MAX___259 = 44,
    _SC_CHARCLASS_NAME_MAX___259 = 45,
    _SC_2_VERSION___259 = 46,
    _SC_2_C_BIND___259 = 47,
    _SC_2_C_DEV___259 = 48,
    _SC_2_FORT_DEV___259 = 49,
    _SC_2_FORT_RUN___259 = 50,
    _SC_2_SW_DEV___259 = 51,
    _SC_2_LOCALEDEF___259 = 52,
    _SC_PII___259 = 53,
    _SC_PII_XTI___259 = 54,
    _SC_PII_SOCKET___259 = 55,
    _SC_PII_INTERNET___259 = 56,
    _SC_PII_OSI___259 = 57,
    _SC_POLL___259 = 58,
    _SC_SELECT___259 = 59,
    _SC_UIO_MAXIOV___259 = 60,
    _SC_IOV_MAX___259 = 60,
    _SC_PII_INTERNET_STREAM___259 = 61,
    _SC_PII_INTERNET_DGRAM___259 = 62,
    _SC_PII_OSI_COTS___259 = 63,
    _SC_PII_OSI_CLTS___259 = 64,
    _SC_PII_OSI_M___259 = 65,
    _SC_T_IOV_MAX___259 = 66,
    _SC_THREADS___259 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___259 = 68,
    _SC_GETGR_R_SIZE_MAX___259 = 69,
    _SC_GETPW_R_SIZE_MAX___259 = 70,
    _SC_LOGIN_NAME_MAX___259 = 71,
    _SC_TTY_NAME_MAX___259 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___259 = 73,
    _SC_THREAD_KEYS_MAX___259 = 74,
    _SC_THREAD_STACK_MIN___259 = 75,
    _SC_THREAD_THREADS_MAX___259 = 76,
    _SC_THREAD_ATTR_STACKADDR___259 = 77,
    _SC_THREAD_ATTR_STACKSIZE___259 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___259 = 79,
    _SC_THREAD_PRIO_INHERIT___259 = 80,
    _SC_THREAD_PRIO_PROTECT___259 = 81,
    _SC_THREAD_PROCESS_SHARED___259 = 82,
    _SC_NPROCESSORS_CONF___259 = 83,
    _SC_NPROCESSORS_ONLN___259 = 84,
    _SC_PHYS_PAGES___259 = 85,
    _SC_AVPHYS_PAGES___259 = 86,
    _SC_ATEXIT_MAX___259 = 87,
    _SC_PASS_MAX___259 = 88,
    _SC_XOPEN_VERSION___259 = 89,
    _SC_XOPEN_XCU_VERSION___259 = 90,
    _SC_XOPEN_UNIX___259 = 91,
    _SC_XOPEN_CRYPT___259 = 92,
    _SC_XOPEN_ENH_I18N___259 = 93,
    _SC_XOPEN_SHM___259 = 94,
    _SC_2_CHAR_TERM___259 = 95,
    _SC_2_C_VERSION___259 = 96,
    _SC_2_UPE___259 = 97,
    _SC_XOPEN_XPG2___259 = 98,
    _SC_XOPEN_XPG3___259 = 99,
    _SC_XOPEN_XPG4___259 = 100,
    _SC_CHAR_BIT___259 = 101,
    _SC_CHAR_MAX___259 = 102,
    _SC_CHAR_MIN___259 = 103,
    _SC_INT_MAX___259 = 104,
    _SC_INT_MIN___259 = 105,
    _SC_LONG_BIT___259 = 106,
    _SC_WORD_BIT___259 = 107,
    _SC_MB_LEN_MAX___259 = 108,
    _SC_NZERO___259 = 109,
    _SC_SSIZE_MAX___259 = 110,
    _SC_SCHAR_MAX___259 = 111,
    _SC_SCHAR_MIN___259 = 112,
    _SC_SHRT_MAX___259 = 113,
    _SC_SHRT_MIN___259 = 114,
    _SC_UCHAR_MAX___259 = 115,
    _SC_UINT_MAX___259 = 116,
    _SC_ULONG_MAX___259 = 117,
    _SC_USHRT_MAX___259 = 118,
    _SC_NL_ARGMAX___259 = 119,
    _SC_NL_LANGMAX___259 = 120,
    _SC_NL_MSGMAX___259 = 121,
    _SC_NL_NMAX___259 = 122,
    _SC_NL_SETMAX___259 = 123,
    _SC_NL_TEXTMAX___259 = 124,
    _SC_XBS5_ILP32_OFF32___259 = 125,
    _SC_XBS5_ILP32_OFFBIG___259 = 126,
    _SC_XBS5_LP64_OFF64___259 = 127,
    _SC_XBS5_LPBIG_OFFBIG___259 = 128,
    _SC_XOPEN_LEGACY___259 = 129,
    _SC_XOPEN_REALTIME___259 = 130,
    _SC_XOPEN_REALTIME_THREADS___259 = 131,
    _SC_ADVISORY_INFO___259 = 132,
    _SC_BARRIERS___259 = 133,
    _SC_BASE___259 = 134,
    _SC_C_LANG_SUPPORT___259 = 135,
    _SC_C_LANG_SUPPORT_R___259 = 136,
    _SC_CLOCK_SELECTION___259 = 137,
    _SC_CPUTIME___259 = 138,
    _SC_THREAD_CPUTIME___259 = 139,
    _SC_DEVICE_IO___259 = 140,
    _SC_DEVICE_SPECIFIC___259 = 141,
    _SC_DEVICE_SPECIFIC_R___259 = 142,
    _SC_FD_MGMT___259 = 143,
    _SC_FIFO___259 = 144,
    _SC_PIPE___259 = 145,
    _SC_FILE_ATTRIBUTES___259 = 146,
    _SC_FILE_LOCKING___259 = 147,
    _SC_FILE_SYSTEM___259 = 148,
    _SC_MONOTONIC_CLOCK___259 = 149,
    _SC_MULTI_PROCESS___259 = 150,
    _SC_SINGLE_PROCESS___259 = 151,
    _SC_NETWORKING___259 = 152,
    _SC_READER_WRITER_LOCKS___259 = 153,
    _SC_SPIN_LOCKS___259 = 154,
    _SC_REGEXP___259 = 155,
    _SC_REGEX_VERSION___259 = 156,
    _SC_SHELL___259 = 157,
    _SC_SIGNALS___259 = 158,
    _SC_SPAWN___259 = 159,
    _SC_SPORADIC_SERVER___259 = 160,
    _SC_THREAD_SPORADIC_SERVER___259 = 161,
    _SC_SYSTEM_DATABASE___259 = 162,
    _SC_SYSTEM_DATABASE_R___259 = 163,
    _SC_TIMEOUTS___259 = 164,
    _SC_TYPED_MEMORY_OBJECTS___259 = 165,
    _SC_USER_GROUPS___259 = 166,
    _SC_USER_GROUPS_R___259 = 167,
    _SC_2_PBS___259 = 168,
    _SC_2_PBS_ACCOUNTING___259 = 169,
    _SC_2_PBS_LOCATE___259 = 170,
    _SC_2_PBS_MESSAGE___259 = 171,
    _SC_2_PBS_TRACK___259 = 172,
    _SC_SYMLOOP_MAX___259 = 173,
    _SC_STREAMS___259 = 174,
    _SC_2_PBS_CHECKPOINT___259 = 175,
    _SC_V6_ILP32_OFF32___259 = 176,
    _SC_V6_ILP32_OFFBIG___259 = 177,
    _SC_V6_LP64_OFF64___259 = 178,
    _SC_V6_LPBIG_OFFBIG___259 = 179,
    _SC_HOST_NAME_MAX___259 = 180,
    _SC_TRACE___259 = 181,
    _SC_TRACE_EVENT_FILTER___259 = 182,
    _SC_TRACE_INHERIT___259 = 183,
    _SC_TRACE_LOG___259 = 184,
    _SC_LEVEL1_ICACHE_SIZE___259 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___259 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___259 = 187,
    _SC_LEVEL1_DCACHE_SIZE___259 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___259 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___259 = 190,
    _SC_LEVEL2_CACHE_SIZE___259 = 191,
    _SC_LEVEL2_CACHE_ASSOC___259 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___259 = 193,
    _SC_LEVEL3_CACHE_SIZE___259 = 194,
    _SC_LEVEL3_CACHE_ASSOC___259 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___259 = 196,
    _SC_LEVEL4_CACHE_SIZE___259 = 197,
    _SC_LEVEL4_CACHE_ASSOC___259 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___259 = 199,
    _SC_IPV6___259 = 235,
    _SC_RAW_SOCKETS___259 = 236,
    _SC_V7_ILP32_OFF32___259 = 237,
    _SC_V7_ILP32_OFFBIG___259 = 238,
    _SC_V7_LP64_OFF64___259 = 239,
    _SC_V7_LPBIG_OFFBIG___259 = 240,
    _SC_SS_REPL_MAX___259 = 241,
    _SC_TRACE_EVENT_NAME_MAX___259 = 242,
    _SC_TRACE_NAME_MAX___259 = 243,
    _SC_TRACE_SYS_MAX___259 = 244,
    _SC_TRACE_USER_EVENT_MAX___259 = 245,
    _SC_XOPEN_STREAMS___259 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___259 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___259 = 248
} ;
enum __anonenum_875524036___259 {
    _CS_PATH___259 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___259 = 1,
    _CS_GNU_LIBC_VERSION___259 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___259 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___259 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___259 = 5,
    _CS_LFS_CFLAGS___259 = 1000,
    _CS_LFS_LDFLAGS___259 = 1001,
    _CS_LFS_LIBS___259 = 1002,
    _CS_LFS_LINTFLAGS___259 = 1003,
    _CS_LFS64_CFLAGS___259 = 1004,
    _CS_LFS64_LDFLAGS___259 = 1005,
    _CS_LFS64_LIBS___259 = 1006,
    _CS_LFS64_LINTFLAGS___259 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___259 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___259 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___259 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___259 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___259 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___259 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___259 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___259 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___259 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___259 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___259 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___259 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___259 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___259 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___259 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___259 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___259 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___259 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___259 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___259 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___259 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___259 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___259 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___259 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___259 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___259 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___259 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___259 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___259 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___259 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___259 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___259 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___259 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___259 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___259 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___259 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___259 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___259 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___259 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___259 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___259 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___259 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___259 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___259 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___259 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___259 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___259 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___259 = 1147,
    _CS_V6_ENV___259 = 1148,
    _CS_V7_ENV___259 = 1149
} ;
enum __anonenum_513775621___259 {
    DT_UNKNOWN___259 = 0,
    DT_FIFO___259 = 1,
    DT_CHR___259 = 2,
    DT_DIR___259 = 4,
    DT_BLK___259 = 6,
    DT_REG___259 = 8,
    DT_LNK___259 = 10,
    DT_SOCK___259 = 12,
    DT_WHT___259 = 14
} ;
enum __anonenum_77002343___259 {
    SI_ASYNCNL___259 = -60,
    SI_TKILL___259 = -6,
    SI_SIGIO___259 = -5,
    SI_ASYNCIO___259 = -4,
    SI_MESGQ___259 = -3,
    SI_TIMER___259 = -2,
    SI_QUEUE___259 = -1,
    SI_USER___259 = 0,
    SI_KERNEL___259 = 128
} ;
enum __anonenum_131038172___259 {
    ILL_ILLOPC___259 = 1,
    ILL_ILLOPN___259 = 2,
    ILL_ILLADR___259 = 3,
    ILL_ILLTRP___259 = 4,
    ILL_PRVOPC___259 = 5,
    ILL_PRVREG___259 = 6,
    ILL_COPROC___259 = 7,
    ILL_BADSTK___259 = 8
} ;
enum __anonenum_452038093___259 {
    FPE_INTDIV___259 = 1,
    FPE_INTOVF___259 = 2,
    FPE_FLTDIV___259 = 3,
    FPE_FLTOVF___259 = 4,
    FPE_FLTUND___259 = 5,
    FPE_FLTRES___259 = 6,
    FPE_FLTINV___259 = 7,
    FPE_FLTSUB___259 = 8
} ;
enum __anonenum_30976155___259 {
    SEGV_MAPERR___259 = 1,
    SEGV_ACCERR___259 = 2,
    SEGV_BNDERR___259 = 3,
    SEGV_PKUERR___259 = 4
} ;
enum __anonenum_1036286214___259 {
    BUS_ADRALN___259 = 1,
    BUS_ADRERR___259 = 2,
    BUS_OBJERR___259 = 3,
    BUS_MCEERR_AR___259 = 4,
    BUS_MCEERR_AO___259 = 5
} ;
enum __anonenum_493465559___259 {
    TRAP_BRKPT___259 = 1,
    TRAP_TRACE___259 = 2
} ;
enum __anonenum_23175539___259 {
    CLD_EXITED___259 = 1,
    CLD_KILLED___259 = 2,
    CLD_DUMPED___259 = 3,
    CLD_TRAPPED___259 = 4,
    CLD_STOPPED___259 = 5,
    CLD_CONTINUED___259 = 6
} ;
enum __anonenum_111643124___259 {
    POLL_IN___259 = 1,
    POLL_OUT___259 = 2,
    POLL_MSG___259 = 3,
    POLL_ERR___259 = 4,
    POLL_PRI___259 = 5,
    POLL_HUP___259 = 6
} ;
enum __anonenum_852341087___259 {
    SIGEV_SIGNAL___259 = 0,
    SIGEV_NONE___259 = 1,
    SIGEV_THREAD___259 = 2,
    SIGEV_THREAD_ID___259 = 4
} ;
enum __anonenum_451154152___259 {
    REG_R8___259 = 0,
    REG_R9___259 = 1,
    REG_R10___259 = 2,
    REG_R11___259 = 3,
    REG_R12___259 = 4,
    REG_R13___259 = 5,
    REG_R14___259 = 6,
    REG_R15___259 = 7,
    REG_RDI___259 = 8,
    REG_RSI___259 = 9,
    REG_RBP___259 = 10,
    REG_RBX___259 = 11,
    REG_RDX___259 = 12,
    REG_RAX___259 = 13,
    REG_RCX___259 = 14,
    REG_RSP___259 = 15,
    REG_RIP___259 = 16,
    REG_EFL___259 = 17,
    REG_CSGSFS___259 = 18,
    REG_ERR___259 = 19,
    REG_TRAPNO___259 = 20,
    REG_OLDMASK___259 = 21,
    REG_CR2___259 = 22
} ;
enum __anonenum_57186863___259 {
    SS_ONSTACK___259 = 1,
    SS_DISABLE___259 = 2
} ;
enum __anonenum_83571709___259 {
    MSG_OOB___259 = 1,
    MSG_PEEK___259 = 2,
    MSG_DONTROUTE___259 = 4,
    MSG_TRYHARD___259 = 4,
    MSG_CTRUNC___259 = 8,
    MSG_PROXY___259 = 16,
    MSG_TRUNC___259 = 32,
    MSG_DONTWAIT___259 = 64,
    MSG_EOR___259 = 128,
    MSG_WAITALL___259 = 256,
    MSG_FIN___259 = 512,
    MSG_SYN___259 = 1024,
    MSG_CONFIRM___259 = 2048,
    MSG_RST___259 = 4096,
    MSG_ERRQUEUE___259 = 8192,
    MSG_NOSIGNAL___259 = 16384,
    MSG_MORE___259 = 32768,
    MSG_WAITFORONE___259 = 65536,
    MSG_BATCH___259 = 262144,
    MSG_ZEROCOPY___259 = 67108864,
    MSG_FASTOPEN___259 = 536870912,
    MSG_CMSG_CLOEXEC___259 = 1073741824
} ;
enum __anonenum_617082774___259 {
    SCM_RIGHTS___259 = 1,
    SCM_CREDENTIALS___259 = 2
} ;
enum __anonenum_606441560___259 {
    SHUT_RD___259 = 0,
    SHUT_WR___259 = 1,
    SHUT_RDWR___259 = 2
} ;
enum __anonenum_681669233___259 {
    IPPROTO_IP___259 = 0,
    IPPROTO_ICMP___259 = 1,
    IPPROTO_IGMP___259 = 2,
    IPPROTO_IPIP___259 = 4,
    IPPROTO_TCP___259 = 6,
    IPPROTO_EGP___259 = 8,
    IPPROTO_PUP___259 = 12,
    IPPROTO_UDP___259 = 17,
    IPPROTO_IDP___259 = 22,
    IPPROTO_TP___259 = 29,
    IPPROTO_DCCP___259 = 33,
    IPPROTO_IPV6___259 = 41,
    IPPROTO_RSVP___259 = 46,
    IPPROTO_GRE___259 = 47,
    IPPROTO_ESP___259 = 50,
    IPPROTO_AH___259 = 51,
    IPPROTO_MTP___259 = 92,
    IPPROTO_BEETPH___259 = 94,
    IPPROTO_ENCAP___259 = 98,
    IPPROTO_PIM___259 = 103,
    IPPROTO_COMP___259 = 108,
    IPPROTO_SCTP___259 = 132,
    IPPROTO_UDPLITE___259 = 136,
    IPPROTO_MPLS___259 = 137,
    IPPROTO_RAW___259 = 255,
    IPPROTO_MAX___259 = 256
} ;
enum __anonenum_218739988___259 {
    IPPROTO_HOPOPTS___259 = 0,
    IPPROTO_ROUTING___259 = 43,
    IPPROTO_FRAGMENT___259 = 44,
    IPPROTO_ICMPV6___259 = 58,
    IPPROTO_NONE___259 = 59,
    IPPROTO_DSTOPTS___259 = 60,
    IPPROTO_MH___259 = 135
} ;
enum __anonenum_662268580___259 {
    IPPORT_ECHO___259 = 7,
    IPPORT_DISCARD___259 = 9,
    IPPORT_SYSTAT___259 = 11,
    IPPORT_DAYTIME___259 = 13,
    IPPORT_NETSTAT___259 = 15,
    IPPORT_FTP___259 = 21,
    IPPORT_TELNET___259 = 23,
    IPPORT_SMTP___259 = 25,
    IPPORT_TIMESERVER___259 = 37,
    IPPORT_NAMESERVER___259 = 42,
    IPPORT_WHOIS___259 = 43,
    IPPORT_MTP___259 = 57,
    IPPORT_TFTP___259 = 69,
    IPPORT_RJE___259 = 77,
    IPPORT_FINGER___259 = 79,
    IPPORT_TTYLINK___259 = 87,
    IPPORT_SUPDUP___259 = 95,
    IPPORT_EXECSERVER___259 = 512,
    IPPORT_LOGINSERVER___259 = 513,
    IPPORT_CMDSERVER___259 = 514,
    IPPORT_EFSSERVER___259 = 520,
    IPPORT_BIFFUDP___259 = 512,
    IPPORT_WHOSERVER___259 = 513,
    IPPORT_ROUTESERVER___259 = 520,
    IPPORT_RESERVED___259 = 1024,
    IPPORT_USERRESERVED___259 = 5000
} ;
enum __anonenum_788308992___259 {
    TCP_ESTABLISHED___259 = 1,
    TCP_SYN_SENT___259 = 2,
    TCP_SYN_RECV___259 = 3,
    TCP_FIN_WAIT1___259 = 4,
    TCP_FIN_WAIT2___259 = 5,
    TCP_TIME_WAIT___259 = 6,
    TCP_CLOSE___259 = 7,
    TCP_CLOSE_WAIT___259 = 8,
    TCP_LAST_ACK___259 = 9,
    TCP_LISTEN___259 = 10,
    TCP_CLOSING___259 = 11
} ;
enum __anonenum_221125648___259 {
    TCP_NO_QUEUE___259 = 0,
    TCP_RECV_QUEUE___259 = 1,
    TCP_SEND_QUEUE___259 = 2,
    TCP_QUEUES_NR___259 = 3
} ;
enum __anonenum_34415463___259 {
    PTHREAD_CREATE_JOINABLE___259 = 0,
    PTHREAD_CREATE_DETACHED___259 = 1
} ;
enum __anonenum_303612439___259 {
    PTHREAD_MUTEX_TIMED_NP___259 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___259 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___259 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___259 = 3,
    PTHREAD_MUTEX_NORMAL___259 = 0,
    PTHREAD_MUTEX_RECURSIVE___259 = 1,
    PTHREAD_MUTEX_ERRORCHECK___259 = 2,
    PTHREAD_MUTEX_DEFAULT___259 = 0,
    PTHREAD_MUTEX_FAST_NP___259 = 0
} ;
enum __anonenum_931900394___259 {
    PTHREAD_MUTEX_STALLED___259 = 0,
    PTHREAD_MUTEX_STALLED_NP___259 = 0,
    PTHREAD_MUTEX_ROBUST___259 = 1,
    PTHREAD_MUTEX_ROBUST_NP___259 = 1
} ;
enum __anonenum_205214487___259 {
    PTHREAD_PRIO_NONE___259 = 0,
    PTHREAD_PRIO_INHERIT___259 = 1,
    PTHREAD_PRIO_PROTECT___259 = 2
} ;
enum __anonenum_25043950___259 {
    PTHREAD_RWLOCK_PREFER_READER_NP___259 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___259 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___259 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___259 = 0
} ;
enum __anonenum_436439511___259 {
    PTHREAD_INHERIT_SCHED___259 = 0,
    PTHREAD_EXPLICIT_SCHED___259 = 1
} ;
enum __anonenum_998661166___259 {
    PTHREAD_SCOPE_SYSTEM___259 = 0,
    PTHREAD_SCOPE_PROCESS___259 = 1
} ;
enum __anonenum_146137331___259 {
    PTHREAD_PROCESS_PRIVATE___259 = 0,
    PTHREAD_PROCESS_SHARED___259 = 1
} ;
enum __anonenum_53396917___259 {
    PTHREAD_CANCEL_ENABLE___259 = 0,
    PTHREAD_CANCEL_DISABLE___259 = 1
} ;
enum __anonenum_904563783___259 {
    PTHREAD_CANCEL_DEFERRED___259 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___259 = 1
} ;
enum __anonenum_672052974___259 {
    SSL_CT_VALIDATION_PERMISSIVE___259 = 0,
    SSL_CT_VALIDATION_STRICT___259 = 1
} ;
enum __anonenum_437032235___260 {
    _PC_LINK_MAX___260 = 0,
    _PC_MAX_CANON___260 = 1,
    _PC_MAX_INPUT___260 = 2,
    _PC_NAME_MAX___260 = 3,
    _PC_PATH_MAX___260 = 4,
    _PC_PIPE_BUF___260 = 5,
    _PC_CHOWN_RESTRICTED___260 = 6,
    _PC_NO_TRUNC___260 = 7,
    _PC_VDISABLE___260 = 8,
    _PC_SYNC_IO___260 = 9,
    _PC_ASYNC_IO___260 = 10,
    _PC_PRIO_IO___260 = 11,
    _PC_SOCK_MAXBUF___260 = 12,
    _PC_FILESIZEBITS___260 = 13,
    _PC_REC_INCR_XFER_SIZE___260 = 14,
    _PC_REC_MAX_XFER_SIZE___260 = 15,
    _PC_REC_MIN_XFER_SIZE___260 = 16,
    _PC_REC_XFER_ALIGN___260 = 17,
    _PC_ALLOC_SIZE_MIN___260 = 18,
    _PC_SYMLINK_MAX___260 = 19,
    _PC_2_SYMLINKS___260 = 20
} ;
enum __anonenum_315186338___260 {
    _SC_ARG_MAX___260 = 0,
    _SC_CHILD_MAX___260 = 1,
    _SC_CLK_TCK___260 = 2,
    _SC_NGROUPS_MAX___260 = 3,
    _SC_OPEN_MAX___260 = 4,
    _SC_STREAM_MAX___260 = 5,
    _SC_TZNAME_MAX___260 = 6,
    _SC_JOB_CONTROL___260 = 7,
    _SC_SAVED_IDS___260 = 8,
    _SC_REALTIME_SIGNALS___260 = 9,
    _SC_PRIORITY_SCHEDULING___260 = 10,
    _SC_TIMERS___260 = 11,
    _SC_ASYNCHRONOUS_IO___260 = 12,
    _SC_PRIORITIZED_IO___260 = 13,
    _SC_SYNCHRONIZED_IO___260 = 14,
    _SC_FSYNC___260 = 15,
    _SC_MAPPED_FILES___260 = 16,
    _SC_MEMLOCK___260 = 17,
    _SC_MEMLOCK_RANGE___260 = 18,
    _SC_MEMORY_PROTECTION___260 = 19,
    _SC_MESSAGE_PASSING___260 = 20,
    _SC_SEMAPHORES___260 = 21,
    _SC_SHARED_MEMORY_OBJECTS___260 = 22,
    _SC_AIO_LISTIO_MAX___260 = 23,
    _SC_AIO_MAX___260 = 24,
    _SC_AIO_PRIO_DELTA_MAX___260 = 25,
    _SC_DELAYTIMER_MAX___260 = 26,
    _SC_MQ_OPEN_MAX___260 = 27,
    _SC_MQ_PRIO_MAX___260 = 28,
    _SC_VERSION___260 = 29,
    _SC_PAGESIZE___260 = 30,
    _SC_RTSIG_MAX___260 = 31,
    _SC_SEM_NSEMS_MAX___260 = 32,
    _SC_SEM_VALUE_MAX___260 = 33,
    _SC_SIGQUEUE_MAX___260 = 34,
    _SC_TIMER_MAX___260 = 35,
    _SC_BC_BASE_MAX___260 = 36,
    _SC_BC_DIM_MAX___260 = 37,
    _SC_BC_SCALE_MAX___260 = 38,
    _SC_BC_STRING_MAX___260 = 39,
    _SC_COLL_WEIGHTS_MAX___260 = 40,
    _SC_EQUIV_CLASS_MAX___260 = 41,
    _SC_EXPR_NEST_MAX___260 = 42,
    _SC_LINE_MAX___260 = 43,
    _SC_RE_DUP_MAX___260 = 44,
    _SC_CHARCLASS_NAME_MAX___260 = 45,
    _SC_2_VERSION___260 = 46,
    _SC_2_C_BIND___260 = 47,
    _SC_2_C_DEV___260 = 48,
    _SC_2_FORT_DEV___260 = 49,
    _SC_2_FORT_RUN___260 = 50,
    _SC_2_SW_DEV___260 = 51,
    _SC_2_LOCALEDEF___260 = 52,
    _SC_PII___260 = 53,
    _SC_PII_XTI___260 = 54,
    _SC_PII_SOCKET___260 = 55,
    _SC_PII_INTERNET___260 = 56,
    _SC_PII_OSI___260 = 57,
    _SC_POLL___260 = 58,
    _SC_SELECT___260 = 59,
    _SC_UIO_MAXIOV___260 = 60,
    _SC_IOV_MAX___260 = 60,
    _SC_PII_INTERNET_STREAM___260 = 61,
    _SC_PII_INTERNET_DGRAM___260 = 62,
    _SC_PII_OSI_COTS___260 = 63,
    _SC_PII_OSI_CLTS___260 = 64,
    _SC_PII_OSI_M___260 = 65,
    _SC_T_IOV_MAX___260 = 66,
    _SC_THREADS___260 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___260 = 68,
    _SC_GETGR_R_SIZE_MAX___260 = 69,
    _SC_GETPW_R_SIZE_MAX___260 = 70,
    _SC_LOGIN_NAME_MAX___260 = 71,
    _SC_TTY_NAME_MAX___260 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___260 = 73,
    _SC_THREAD_KEYS_MAX___260 = 74,
    _SC_THREAD_STACK_MIN___260 = 75,
    _SC_THREAD_THREADS_MAX___260 = 76,
    _SC_THREAD_ATTR_STACKADDR___260 = 77,
    _SC_THREAD_ATTR_STACKSIZE___260 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___260 = 79,
    _SC_THREAD_PRIO_INHERIT___260 = 80,
    _SC_THREAD_PRIO_PROTECT___260 = 81,
    _SC_THREAD_PROCESS_SHARED___260 = 82,
    _SC_NPROCESSORS_CONF___260 = 83,
    _SC_NPROCESSORS_ONLN___260 = 84,
    _SC_PHYS_PAGES___260 = 85,
    _SC_AVPHYS_PAGES___260 = 86,
    _SC_ATEXIT_MAX___260 = 87,
    _SC_PASS_MAX___260 = 88,
    _SC_XOPEN_VERSION___260 = 89,
    _SC_XOPEN_XCU_VERSION___260 = 90,
    _SC_XOPEN_UNIX___260 = 91,
    _SC_XOPEN_CRYPT___260 = 92,
    _SC_XOPEN_ENH_I18N___260 = 93,
    _SC_XOPEN_SHM___260 = 94,
    _SC_2_CHAR_TERM___260 = 95,
    _SC_2_C_VERSION___260 = 96,
    _SC_2_UPE___260 = 97,
    _SC_XOPEN_XPG2___260 = 98,
    _SC_XOPEN_XPG3___260 = 99,
    _SC_XOPEN_XPG4___260 = 100,
    _SC_CHAR_BIT___260 = 101,
    _SC_CHAR_MAX___260 = 102,
    _SC_CHAR_MIN___260 = 103,
    _SC_INT_MAX___260 = 104,
    _SC_INT_MIN___260 = 105,
    _SC_LONG_BIT___260 = 106,
    _SC_WORD_BIT___260 = 107,
    _SC_MB_LEN_MAX___260 = 108,
    _SC_NZERO___260 = 109,
    _SC_SSIZE_MAX___260 = 110,
    _SC_SCHAR_MAX___260 = 111,
    _SC_SCHAR_MIN___260 = 112,
    _SC_SHRT_MAX___260 = 113,
    _SC_SHRT_MIN___260 = 114,
    _SC_UCHAR_MAX___260 = 115,
    _SC_UINT_MAX___260 = 116,
    _SC_ULONG_MAX___260 = 117,
    _SC_USHRT_MAX___260 = 118,
    _SC_NL_ARGMAX___260 = 119,
    _SC_NL_LANGMAX___260 = 120,
    _SC_NL_MSGMAX___260 = 121,
    _SC_NL_NMAX___260 = 122,
    _SC_NL_SETMAX___260 = 123,
    _SC_NL_TEXTMAX___260 = 124,
    _SC_XBS5_ILP32_OFF32___260 = 125,
    _SC_XBS5_ILP32_OFFBIG___260 = 126,
    _SC_XBS5_LP64_OFF64___260 = 127,
    _SC_XBS5_LPBIG_OFFBIG___260 = 128,
    _SC_XOPEN_LEGACY___260 = 129,
    _SC_XOPEN_REALTIME___260 = 130,
    _SC_XOPEN_REALTIME_THREADS___260 = 131,
    _SC_ADVISORY_INFO___260 = 132,
    _SC_BARRIERS___260 = 133,
    _SC_BASE___260 = 134,
    _SC_C_LANG_SUPPORT___260 = 135,
    _SC_C_LANG_SUPPORT_R___260 = 136,
    _SC_CLOCK_SELECTION___260 = 137,
    _SC_CPUTIME___260 = 138,
    _SC_THREAD_CPUTIME___260 = 139,
    _SC_DEVICE_IO___260 = 140,
    _SC_DEVICE_SPECIFIC___260 = 141,
    _SC_DEVICE_SPECIFIC_R___260 = 142,
    _SC_FD_MGMT___260 = 143,
    _SC_FIFO___260 = 144,
    _SC_PIPE___260 = 145,
    _SC_FILE_ATTRIBUTES___260 = 146,
    _SC_FILE_LOCKING___260 = 147,
    _SC_FILE_SYSTEM___260 = 148,
    _SC_MONOTONIC_CLOCK___260 = 149,
    _SC_MULTI_PROCESS___260 = 150,
    _SC_SINGLE_PROCESS___260 = 151,
    _SC_NETWORKING___260 = 152,
    _SC_READER_WRITER_LOCKS___260 = 153,
    _SC_SPIN_LOCKS___260 = 154,
    _SC_REGEXP___260 = 155,
    _SC_REGEX_VERSION___260 = 156,
    _SC_SHELL___260 = 157,
    _SC_SIGNALS___260 = 158,
    _SC_SPAWN___260 = 159,
    _SC_SPORADIC_SERVER___260 = 160,
    _SC_THREAD_SPORADIC_SERVER___260 = 161,
    _SC_SYSTEM_DATABASE___260 = 162,
    _SC_SYSTEM_DATABASE_R___260 = 163,
    _SC_TIMEOUTS___260 = 164,
    _SC_TYPED_MEMORY_OBJECTS___260 = 165,
    _SC_USER_GROUPS___260 = 166,
    _SC_USER_GROUPS_R___260 = 167,
    _SC_2_PBS___260 = 168,
    _SC_2_PBS_ACCOUNTING___260 = 169,
    _SC_2_PBS_LOCATE___260 = 170,
    _SC_2_PBS_MESSAGE___260 = 171,
    _SC_2_PBS_TRACK___260 = 172,
    _SC_SYMLOOP_MAX___260 = 173,
    _SC_STREAMS___260 = 174,
    _SC_2_PBS_CHECKPOINT___260 = 175,
    _SC_V6_ILP32_OFF32___260 = 176,
    _SC_V6_ILP32_OFFBIG___260 = 177,
    _SC_V6_LP64_OFF64___260 = 178,
    _SC_V6_LPBIG_OFFBIG___260 = 179,
    _SC_HOST_NAME_MAX___260 = 180,
    _SC_TRACE___260 = 181,
    _SC_TRACE_EVENT_FILTER___260 = 182,
    _SC_TRACE_INHERIT___260 = 183,
    _SC_TRACE_LOG___260 = 184,
    _SC_LEVEL1_ICACHE_SIZE___260 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___260 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___260 = 187,
    _SC_LEVEL1_DCACHE_SIZE___260 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___260 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___260 = 190,
    _SC_LEVEL2_CACHE_SIZE___260 = 191,
    _SC_LEVEL2_CACHE_ASSOC___260 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___260 = 193,
    _SC_LEVEL3_CACHE_SIZE___260 = 194,
    _SC_LEVEL3_CACHE_ASSOC___260 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___260 = 196,
    _SC_LEVEL4_CACHE_SIZE___260 = 197,
    _SC_LEVEL4_CACHE_ASSOC___260 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___260 = 199,
    _SC_IPV6___260 = 235,
    _SC_RAW_SOCKETS___260 = 236,
    _SC_V7_ILP32_OFF32___260 = 237,
    _SC_V7_ILP32_OFFBIG___260 = 238,
    _SC_V7_LP64_OFF64___260 = 239,
    _SC_V7_LPBIG_OFFBIG___260 = 240,
    _SC_SS_REPL_MAX___260 = 241,
    _SC_TRACE_EVENT_NAME_MAX___260 = 242,
    _SC_TRACE_NAME_MAX___260 = 243,
    _SC_TRACE_SYS_MAX___260 = 244,
    _SC_TRACE_USER_EVENT_MAX___260 = 245,
    _SC_XOPEN_STREAMS___260 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___260 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___260 = 248
} ;
enum __anonenum_875524036___260 {
    _CS_PATH___260 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___260 = 1,
    _CS_GNU_LIBC_VERSION___260 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___260 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___260 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___260 = 5,
    _CS_LFS_CFLAGS___260 = 1000,
    _CS_LFS_LDFLAGS___260 = 1001,
    _CS_LFS_LIBS___260 = 1002,
    _CS_LFS_LINTFLAGS___260 = 1003,
    _CS_LFS64_CFLAGS___260 = 1004,
    _CS_LFS64_LDFLAGS___260 = 1005,
    _CS_LFS64_LIBS___260 = 1006,
    _CS_LFS64_LINTFLAGS___260 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___260 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___260 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___260 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___260 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___260 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___260 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___260 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___260 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___260 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___260 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___260 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___260 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___260 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___260 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___260 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___260 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___260 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___260 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___260 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___260 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___260 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___260 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___260 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___260 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___260 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___260 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___260 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___260 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___260 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___260 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___260 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___260 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___260 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___260 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___260 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___260 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___260 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___260 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___260 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___260 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___260 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___260 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___260 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___260 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___260 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___260 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___260 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___260 = 1147,
    _CS_V6_ENV___260 = 1148,
    _CS_V7_ENV___260 = 1149
} ;
enum __anonenum_513775621___260 {
    DT_UNKNOWN___260 = 0,
    DT_FIFO___260 = 1,
    DT_CHR___260 = 2,
    DT_DIR___260 = 4,
    DT_BLK___260 = 6,
    DT_REG___260 = 8,
    DT_LNK___260 = 10,
    DT_SOCK___260 = 12,
    DT_WHT___260 = 14
} ;
enum __anonenum_77002343___260 {
    SI_ASYNCNL___260 = -60,
    SI_TKILL___260 = -6,
    SI_SIGIO___260 = -5,
    SI_ASYNCIO___260 = -4,
    SI_MESGQ___260 = -3,
    SI_TIMER___260 = -2,
    SI_QUEUE___260 = -1,
    SI_USER___260 = 0,
    SI_KERNEL___260 = 128
} ;
enum __anonenum_131038172___260 {
    ILL_ILLOPC___260 = 1,
    ILL_ILLOPN___260 = 2,
    ILL_ILLADR___260 = 3,
    ILL_ILLTRP___260 = 4,
    ILL_PRVOPC___260 = 5,
    ILL_PRVREG___260 = 6,
    ILL_COPROC___260 = 7,
    ILL_BADSTK___260 = 8
} ;
enum __anonenum_452038093___260 {
    FPE_INTDIV___260 = 1,
    FPE_INTOVF___260 = 2,
    FPE_FLTDIV___260 = 3,
    FPE_FLTOVF___260 = 4,
    FPE_FLTUND___260 = 5,
    FPE_FLTRES___260 = 6,
    FPE_FLTINV___260 = 7,
    FPE_FLTSUB___260 = 8
} ;
enum __anonenum_30976155___260 {
    SEGV_MAPERR___260 = 1,
    SEGV_ACCERR___260 = 2,
    SEGV_BNDERR___260 = 3,
    SEGV_PKUERR___260 = 4
} ;
enum __anonenum_1036286214___260 {
    BUS_ADRALN___260 = 1,
    BUS_ADRERR___260 = 2,
    BUS_OBJERR___260 = 3,
    BUS_MCEERR_AR___260 = 4,
    BUS_MCEERR_AO___260 = 5
} ;
enum __anonenum_493465559___260 {
    TRAP_BRKPT___260 = 1,
    TRAP_TRACE___260 = 2
} ;
enum __anonenum_23175539___260 {
    CLD_EXITED___260 = 1,
    CLD_KILLED___260 = 2,
    CLD_DUMPED___260 = 3,
    CLD_TRAPPED___260 = 4,
    CLD_STOPPED___260 = 5,
    CLD_CONTINUED___260 = 6
} ;
enum __anonenum_111643124___260 {
    POLL_IN___260 = 1,
    POLL_OUT___260 = 2,
    POLL_MSG___260 = 3,
    POLL_ERR___260 = 4,
    POLL_PRI___260 = 5,
    POLL_HUP___260 = 6
} ;
enum __anonenum_852341087___260 {
    SIGEV_SIGNAL___260 = 0,
    SIGEV_NONE___260 = 1,
    SIGEV_THREAD___260 = 2,
    SIGEV_THREAD_ID___260 = 4
} ;
enum __anonenum_451154152___260 {
    REG_R8___260 = 0,
    REG_R9___260 = 1,
    REG_R10___260 = 2,
    REG_R11___260 = 3,
    REG_R12___260 = 4,
    REG_R13___260 = 5,
    REG_R14___260 = 6,
    REG_R15___260 = 7,
    REG_RDI___260 = 8,
    REG_RSI___260 = 9,
    REG_RBP___260 = 10,
    REG_RBX___260 = 11,
    REG_RDX___260 = 12,
    REG_RAX___260 = 13,
    REG_RCX___260 = 14,
    REG_RSP___260 = 15,
    REG_RIP___260 = 16,
    REG_EFL___260 = 17,
    REG_CSGSFS___260 = 18,
    REG_ERR___260 = 19,
    REG_TRAPNO___260 = 20,
    REG_OLDMASK___260 = 21,
    REG_CR2___260 = 22
} ;
enum __anonenum_57186863___260 {
    SS_ONSTACK___260 = 1,
    SS_DISABLE___260 = 2
} ;
enum __anonenum_83571709___260 {
    MSG_OOB___260 = 1,
    MSG_PEEK___260 = 2,
    MSG_DONTROUTE___260 = 4,
    MSG_TRYHARD___260 = 4,
    MSG_CTRUNC___260 = 8,
    MSG_PROXY___260 = 16,
    MSG_TRUNC___260 = 32,
    MSG_DONTWAIT___260 = 64,
    MSG_EOR___260 = 128,
    MSG_WAITALL___260 = 256,
    MSG_FIN___260 = 512,
    MSG_SYN___260 = 1024,
    MSG_CONFIRM___260 = 2048,
    MSG_RST___260 = 4096,
    MSG_ERRQUEUE___260 = 8192,
    MSG_NOSIGNAL___260 = 16384,
    MSG_MORE___260 = 32768,
    MSG_WAITFORONE___260 = 65536,
    MSG_BATCH___260 = 262144,
    MSG_ZEROCOPY___260 = 67108864,
    MSG_FASTOPEN___260 = 536870912,
    MSG_CMSG_CLOEXEC___260 = 1073741824
} ;
enum __anonenum_617082774___260 {
    SCM_RIGHTS___260 = 1,
    SCM_CREDENTIALS___260 = 2
} ;
enum __anonenum_606441560___260 {
    SHUT_RD___260 = 0,
    SHUT_WR___260 = 1,
    SHUT_RDWR___260 = 2
} ;
enum __anonenum_681669233___260 {
    IPPROTO_IP___260 = 0,
    IPPROTO_ICMP___260 = 1,
    IPPROTO_IGMP___260 = 2,
    IPPROTO_IPIP___260 = 4,
    IPPROTO_TCP___260 = 6,
    IPPROTO_EGP___260 = 8,
    IPPROTO_PUP___260 = 12,
    IPPROTO_UDP___260 = 17,
    IPPROTO_IDP___260 = 22,
    IPPROTO_TP___260 = 29,
    IPPROTO_DCCP___260 = 33,
    IPPROTO_IPV6___260 = 41,
    IPPROTO_RSVP___260 = 46,
    IPPROTO_GRE___260 = 47,
    IPPROTO_ESP___260 = 50,
    IPPROTO_AH___260 = 51,
    IPPROTO_MTP___260 = 92,
    IPPROTO_BEETPH___260 = 94,
    IPPROTO_ENCAP___260 = 98,
    IPPROTO_PIM___260 = 103,
    IPPROTO_COMP___260 = 108,
    IPPROTO_SCTP___260 = 132,
    IPPROTO_UDPLITE___260 = 136,
    IPPROTO_MPLS___260 = 137,
    IPPROTO_RAW___260 = 255,
    IPPROTO_MAX___260 = 256
} ;
enum __anonenum_218739988___260 {
    IPPROTO_HOPOPTS___260 = 0,
    IPPROTO_ROUTING___260 = 43,
    IPPROTO_FRAGMENT___260 = 44,
    IPPROTO_ICMPV6___260 = 58,
    IPPROTO_NONE___260 = 59,
    IPPROTO_DSTOPTS___260 = 60,
    IPPROTO_MH___260 = 135
} ;
enum __anonenum_662268580___260 {
    IPPORT_ECHO___260 = 7,
    IPPORT_DISCARD___260 = 9,
    IPPORT_SYSTAT___260 = 11,
    IPPORT_DAYTIME___260 = 13,
    IPPORT_NETSTAT___260 = 15,
    IPPORT_FTP___260 = 21,
    IPPORT_TELNET___260 = 23,
    IPPORT_SMTP___260 = 25,
    IPPORT_TIMESERVER___260 = 37,
    IPPORT_NAMESERVER___260 = 42,
    IPPORT_WHOIS___260 = 43,
    IPPORT_MTP___260 = 57,
    IPPORT_TFTP___260 = 69,
    IPPORT_RJE___260 = 77,
    IPPORT_FINGER___260 = 79,
    IPPORT_TTYLINK___260 = 87,
    IPPORT_SUPDUP___260 = 95,
    IPPORT_EXECSERVER___260 = 512,
    IPPORT_LOGINSERVER___260 = 513,
    IPPORT_CMDSERVER___260 = 514,
    IPPORT_EFSSERVER___260 = 520,
    IPPORT_BIFFUDP___260 = 512,
    IPPORT_WHOSERVER___260 = 513,
    IPPORT_ROUTESERVER___260 = 520,
    IPPORT_RESERVED___260 = 1024,
    IPPORT_USERRESERVED___260 = 5000
} ;
enum __anonenum_788308992___260 {
    TCP_ESTABLISHED___260 = 1,
    TCP_SYN_SENT___260 = 2,
    TCP_SYN_RECV___260 = 3,
    TCP_FIN_WAIT1___260 = 4,
    TCP_FIN_WAIT2___260 = 5,
    TCP_TIME_WAIT___260 = 6,
    TCP_CLOSE___260 = 7,
    TCP_CLOSE_WAIT___260 = 8,
    TCP_LAST_ACK___260 = 9,
    TCP_LISTEN___260 = 10,
    TCP_CLOSING___260 = 11
} ;
enum __anonenum_221125648___260 {
    TCP_NO_QUEUE___260 = 0,
    TCP_RECV_QUEUE___260 = 1,
    TCP_SEND_QUEUE___260 = 2,
    TCP_QUEUES_NR___260 = 3
} ;
enum __anonenum_34415463___260 {
    PTHREAD_CREATE_JOINABLE___260 = 0,
    PTHREAD_CREATE_DETACHED___260 = 1
} ;
enum __anonenum_303612439___260 {
    PTHREAD_MUTEX_TIMED_NP___260 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___260 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___260 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___260 = 3,
    PTHREAD_MUTEX_NORMAL___260 = 0,
    PTHREAD_MUTEX_RECURSIVE___260 = 1,
    PTHREAD_MUTEX_ERRORCHECK___260 = 2,
    PTHREAD_MUTEX_DEFAULT___260 = 0,
    PTHREAD_MUTEX_FAST_NP___260 = 0
} ;
enum __anonenum_931900394___260 {
    PTHREAD_MUTEX_STALLED___260 = 0,
    PTHREAD_MUTEX_STALLED_NP___260 = 0,
    PTHREAD_MUTEX_ROBUST___260 = 1,
    PTHREAD_MUTEX_ROBUST_NP___260 = 1
} ;
enum __anonenum_205214487___260 {
    PTHREAD_PRIO_NONE___260 = 0,
    PTHREAD_PRIO_INHERIT___260 = 1,
    PTHREAD_PRIO_PROTECT___260 = 2
} ;
enum __anonenum_25043950___260 {
    PTHREAD_RWLOCK_PREFER_READER_NP___260 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___260 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___260 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___260 = 0
} ;
enum __anonenum_436439511___260 {
    PTHREAD_INHERIT_SCHED___260 = 0,
    PTHREAD_EXPLICIT_SCHED___260 = 1
} ;
enum __anonenum_998661166___260 {
    PTHREAD_SCOPE_SYSTEM___260 = 0,
    PTHREAD_SCOPE_PROCESS___260 = 1
} ;
enum __anonenum_146137331___260 {
    PTHREAD_PROCESS_PRIVATE___260 = 0,
    PTHREAD_PROCESS_SHARED___260 = 1
} ;
enum __anonenum_53396917___260 {
    PTHREAD_CANCEL_ENABLE___260 = 0,
    PTHREAD_CANCEL_DISABLE___260 = 1
} ;
enum __anonenum_904563783___260 {
    PTHREAD_CANCEL_DEFERRED___260 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___260 = 1
} ;
enum __anonenum_672052974___260 {
    SSL_CT_VALIDATION_PERMISSIVE___260 = 0,
    SSL_CT_VALIDATION_STRICT___260 = 1
} ;
struct modification {
   struct reftable_table tab ;
   char **add ;
   size_t add_len ;
   char **del ;
   size_t del_len ;
};
struct find_arg {
   char **names ;
   char const   *want ;
};
enum __anonenum_437032235___261 {
    _PC_LINK_MAX___261 = 0,
    _PC_MAX_CANON___261 = 1,
    _PC_MAX_INPUT___261 = 2,
    _PC_NAME_MAX___261 = 3,
    _PC_PATH_MAX___261 = 4,
    _PC_PIPE_BUF___261 = 5,
    _PC_CHOWN_RESTRICTED___261 = 6,
    _PC_NO_TRUNC___261 = 7,
    _PC_VDISABLE___261 = 8,
    _PC_SYNC_IO___261 = 9,
    _PC_ASYNC_IO___261 = 10,
    _PC_PRIO_IO___261 = 11,
    _PC_SOCK_MAXBUF___261 = 12,
    _PC_FILESIZEBITS___261 = 13,
    _PC_REC_INCR_XFER_SIZE___261 = 14,
    _PC_REC_MAX_XFER_SIZE___261 = 15,
    _PC_REC_MIN_XFER_SIZE___261 = 16,
    _PC_REC_XFER_ALIGN___261 = 17,
    _PC_ALLOC_SIZE_MIN___261 = 18,
    _PC_SYMLINK_MAX___261 = 19,
    _PC_2_SYMLINKS___261 = 20
} ;
enum __anonenum_315186338___261 {
    _SC_ARG_MAX___261 = 0,
    _SC_CHILD_MAX___261 = 1,
    _SC_CLK_TCK___261 = 2,
    _SC_NGROUPS_MAX___261 = 3,
    _SC_OPEN_MAX___261 = 4,
    _SC_STREAM_MAX___261 = 5,
    _SC_TZNAME_MAX___261 = 6,
    _SC_JOB_CONTROL___261 = 7,
    _SC_SAVED_IDS___261 = 8,
    _SC_REALTIME_SIGNALS___261 = 9,
    _SC_PRIORITY_SCHEDULING___261 = 10,
    _SC_TIMERS___261 = 11,
    _SC_ASYNCHRONOUS_IO___261 = 12,
    _SC_PRIORITIZED_IO___261 = 13,
    _SC_SYNCHRONIZED_IO___261 = 14,
    _SC_FSYNC___261 = 15,
    _SC_MAPPED_FILES___261 = 16,
    _SC_MEMLOCK___261 = 17,
    _SC_MEMLOCK_RANGE___261 = 18,
    _SC_MEMORY_PROTECTION___261 = 19,
    _SC_MESSAGE_PASSING___261 = 20,
    _SC_SEMAPHORES___261 = 21,
    _SC_SHARED_MEMORY_OBJECTS___261 = 22,
    _SC_AIO_LISTIO_MAX___261 = 23,
    _SC_AIO_MAX___261 = 24,
    _SC_AIO_PRIO_DELTA_MAX___261 = 25,
    _SC_DELAYTIMER_MAX___261 = 26,
    _SC_MQ_OPEN_MAX___261 = 27,
    _SC_MQ_PRIO_MAX___261 = 28,
    _SC_VERSION___261 = 29,
    _SC_PAGESIZE___261 = 30,
    _SC_RTSIG_MAX___261 = 31,
    _SC_SEM_NSEMS_MAX___261 = 32,
    _SC_SEM_VALUE_MAX___261 = 33,
    _SC_SIGQUEUE_MAX___261 = 34,
    _SC_TIMER_MAX___261 = 35,
    _SC_BC_BASE_MAX___261 = 36,
    _SC_BC_DIM_MAX___261 = 37,
    _SC_BC_SCALE_MAX___261 = 38,
    _SC_BC_STRING_MAX___261 = 39,
    _SC_COLL_WEIGHTS_MAX___261 = 40,
    _SC_EQUIV_CLASS_MAX___261 = 41,
    _SC_EXPR_NEST_MAX___261 = 42,
    _SC_LINE_MAX___261 = 43,
    _SC_RE_DUP_MAX___261 = 44,
    _SC_CHARCLASS_NAME_MAX___261 = 45,
    _SC_2_VERSION___261 = 46,
    _SC_2_C_BIND___261 = 47,
    _SC_2_C_DEV___261 = 48,
    _SC_2_FORT_DEV___261 = 49,
    _SC_2_FORT_RUN___261 = 50,
    _SC_2_SW_DEV___261 = 51,
    _SC_2_LOCALEDEF___261 = 52,
    _SC_PII___261 = 53,
    _SC_PII_XTI___261 = 54,
    _SC_PII_SOCKET___261 = 55,
    _SC_PII_INTERNET___261 = 56,
    _SC_PII_OSI___261 = 57,
    _SC_POLL___261 = 58,
    _SC_SELECT___261 = 59,
    _SC_UIO_MAXIOV___261 = 60,
    _SC_IOV_MAX___261 = 60,
    _SC_PII_INTERNET_STREAM___261 = 61,
    _SC_PII_INTERNET_DGRAM___261 = 62,
    _SC_PII_OSI_COTS___261 = 63,
    _SC_PII_OSI_CLTS___261 = 64,
    _SC_PII_OSI_M___261 = 65,
    _SC_T_IOV_MAX___261 = 66,
    _SC_THREADS___261 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___261 = 68,
    _SC_GETGR_R_SIZE_MAX___261 = 69,
    _SC_GETPW_R_SIZE_MAX___261 = 70,
    _SC_LOGIN_NAME_MAX___261 = 71,
    _SC_TTY_NAME_MAX___261 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___261 = 73,
    _SC_THREAD_KEYS_MAX___261 = 74,
    _SC_THREAD_STACK_MIN___261 = 75,
    _SC_THREAD_THREADS_MAX___261 = 76,
    _SC_THREAD_ATTR_STACKADDR___261 = 77,
    _SC_THREAD_ATTR_STACKSIZE___261 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___261 = 79,
    _SC_THREAD_PRIO_INHERIT___261 = 80,
    _SC_THREAD_PRIO_PROTECT___261 = 81,
    _SC_THREAD_PROCESS_SHARED___261 = 82,
    _SC_NPROCESSORS_CONF___261 = 83,
    _SC_NPROCESSORS_ONLN___261 = 84,
    _SC_PHYS_PAGES___261 = 85,
    _SC_AVPHYS_PAGES___261 = 86,
    _SC_ATEXIT_MAX___261 = 87,
    _SC_PASS_MAX___261 = 88,
    _SC_XOPEN_VERSION___261 = 89,
    _SC_XOPEN_XCU_VERSION___261 = 90,
    _SC_XOPEN_UNIX___261 = 91,
    _SC_XOPEN_CRYPT___261 = 92,
    _SC_XOPEN_ENH_I18N___261 = 93,
    _SC_XOPEN_SHM___261 = 94,
    _SC_2_CHAR_TERM___261 = 95,
    _SC_2_C_VERSION___261 = 96,
    _SC_2_UPE___261 = 97,
    _SC_XOPEN_XPG2___261 = 98,
    _SC_XOPEN_XPG3___261 = 99,
    _SC_XOPEN_XPG4___261 = 100,
    _SC_CHAR_BIT___261 = 101,
    _SC_CHAR_MAX___261 = 102,
    _SC_CHAR_MIN___261 = 103,
    _SC_INT_MAX___261 = 104,
    _SC_INT_MIN___261 = 105,
    _SC_LONG_BIT___261 = 106,
    _SC_WORD_BIT___261 = 107,
    _SC_MB_LEN_MAX___261 = 108,
    _SC_NZERO___261 = 109,
    _SC_SSIZE_MAX___261 = 110,
    _SC_SCHAR_MAX___261 = 111,
    _SC_SCHAR_MIN___261 = 112,
    _SC_SHRT_MAX___261 = 113,
    _SC_SHRT_MIN___261 = 114,
    _SC_UCHAR_MAX___261 = 115,
    _SC_UINT_MAX___261 = 116,
    _SC_ULONG_MAX___261 = 117,
    _SC_USHRT_MAX___261 = 118,
    _SC_NL_ARGMAX___261 = 119,
    _SC_NL_LANGMAX___261 = 120,
    _SC_NL_MSGMAX___261 = 121,
    _SC_NL_NMAX___261 = 122,
    _SC_NL_SETMAX___261 = 123,
    _SC_NL_TEXTMAX___261 = 124,
    _SC_XBS5_ILP32_OFF32___261 = 125,
    _SC_XBS5_ILP32_OFFBIG___261 = 126,
    _SC_XBS5_LP64_OFF64___261 = 127,
    _SC_XBS5_LPBIG_OFFBIG___261 = 128,
    _SC_XOPEN_LEGACY___261 = 129,
    _SC_XOPEN_REALTIME___261 = 130,
    _SC_XOPEN_REALTIME_THREADS___261 = 131,
    _SC_ADVISORY_INFO___261 = 132,
    _SC_BARRIERS___261 = 133,
    _SC_BASE___261 = 134,
    _SC_C_LANG_SUPPORT___261 = 135,
    _SC_C_LANG_SUPPORT_R___261 = 136,
    _SC_CLOCK_SELECTION___261 = 137,
    _SC_CPUTIME___261 = 138,
    _SC_THREAD_CPUTIME___261 = 139,
    _SC_DEVICE_IO___261 = 140,
    _SC_DEVICE_SPECIFIC___261 = 141,
    _SC_DEVICE_SPECIFIC_R___261 = 142,
    _SC_FD_MGMT___261 = 143,
    _SC_FIFO___261 = 144,
    _SC_PIPE___261 = 145,
    _SC_FILE_ATTRIBUTES___261 = 146,
    _SC_FILE_LOCKING___261 = 147,
    _SC_FILE_SYSTEM___261 = 148,
    _SC_MONOTONIC_CLOCK___261 = 149,
    _SC_MULTI_PROCESS___261 = 150,
    _SC_SINGLE_PROCESS___261 = 151,
    _SC_NETWORKING___261 = 152,
    _SC_READER_WRITER_LOCKS___261 = 153,
    _SC_SPIN_LOCKS___261 = 154,
    _SC_REGEXP___261 = 155,
    _SC_REGEX_VERSION___261 = 156,
    _SC_SHELL___261 = 157,
    _SC_SIGNALS___261 = 158,
    _SC_SPAWN___261 = 159,
    _SC_SPORADIC_SERVER___261 = 160,
    _SC_THREAD_SPORADIC_SERVER___261 = 161,
    _SC_SYSTEM_DATABASE___261 = 162,
    _SC_SYSTEM_DATABASE_R___261 = 163,
    _SC_TIMEOUTS___261 = 164,
    _SC_TYPED_MEMORY_OBJECTS___261 = 165,
    _SC_USER_GROUPS___261 = 166,
    _SC_USER_GROUPS_R___261 = 167,
    _SC_2_PBS___261 = 168,
    _SC_2_PBS_ACCOUNTING___261 = 169,
    _SC_2_PBS_LOCATE___261 = 170,
    _SC_2_PBS_MESSAGE___261 = 171,
    _SC_2_PBS_TRACK___261 = 172,
    _SC_SYMLOOP_MAX___261 = 173,
    _SC_STREAMS___261 = 174,
    _SC_2_PBS_CHECKPOINT___261 = 175,
    _SC_V6_ILP32_OFF32___261 = 176,
    _SC_V6_ILP32_OFFBIG___261 = 177,
    _SC_V6_LP64_OFF64___261 = 178,
    _SC_V6_LPBIG_OFFBIG___261 = 179,
    _SC_HOST_NAME_MAX___261 = 180,
    _SC_TRACE___261 = 181,
    _SC_TRACE_EVENT_FILTER___261 = 182,
    _SC_TRACE_INHERIT___261 = 183,
    _SC_TRACE_LOG___261 = 184,
    _SC_LEVEL1_ICACHE_SIZE___261 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___261 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___261 = 187,
    _SC_LEVEL1_DCACHE_SIZE___261 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___261 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___261 = 190,
    _SC_LEVEL2_CACHE_SIZE___261 = 191,
    _SC_LEVEL2_CACHE_ASSOC___261 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___261 = 193,
    _SC_LEVEL3_CACHE_SIZE___261 = 194,
    _SC_LEVEL3_CACHE_ASSOC___261 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___261 = 196,
    _SC_LEVEL4_CACHE_SIZE___261 = 197,
    _SC_LEVEL4_CACHE_ASSOC___261 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___261 = 199,
    _SC_IPV6___261 = 235,
    _SC_RAW_SOCKETS___261 = 236,
    _SC_V7_ILP32_OFF32___261 = 237,
    _SC_V7_ILP32_OFFBIG___261 = 238,
    _SC_V7_LP64_OFF64___261 = 239,
    _SC_V7_LPBIG_OFFBIG___261 = 240,
    _SC_SS_REPL_MAX___261 = 241,
    _SC_TRACE_EVENT_NAME_MAX___261 = 242,
    _SC_TRACE_NAME_MAX___261 = 243,
    _SC_TRACE_SYS_MAX___261 = 244,
    _SC_TRACE_USER_EVENT_MAX___261 = 245,
    _SC_XOPEN_STREAMS___261 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___261 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___261 = 248
} ;
enum __anonenum_875524036___261 {
    _CS_PATH___261 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___261 = 1,
    _CS_GNU_LIBC_VERSION___261 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___261 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___261 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___261 = 5,
    _CS_LFS_CFLAGS___261 = 1000,
    _CS_LFS_LDFLAGS___261 = 1001,
    _CS_LFS_LIBS___261 = 1002,
    _CS_LFS_LINTFLAGS___261 = 1003,
    _CS_LFS64_CFLAGS___261 = 1004,
    _CS_LFS64_LDFLAGS___261 = 1005,
    _CS_LFS64_LIBS___261 = 1006,
    _CS_LFS64_LINTFLAGS___261 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___261 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___261 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___261 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___261 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___261 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___261 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___261 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___261 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___261 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___261 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___261 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___261 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___261 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___261 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___261 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___261 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___261 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___261 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___261 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___261 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___261 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___261 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___261 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___261 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___261 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___261 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___261 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___261 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___261 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___261 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___261 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___261 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___261 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___261 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___261 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___261 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___261 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___261 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___261 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___261 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___261 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___261 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___261 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___261 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___261 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___261 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___261 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___261 = 1147,
    _CS_V6_ENV___261 = 1148,
    _CS_V7_ENV___261 = 1149
} ;
enum __anonenum_513775621___261 {
    DT_UNKNOWN___261 = 0,
    DT_FIFO___261 = 1,
    DT_CHR___261 = 2,
    DT_DIR___261 = 4,
    DT_BLK___261 = 6,
    DT_REG___261 = 8,
    DT_LNK___261 = 10,
    DT_SOCK___261 = 12,
    DT_WHT___261 = 14
} ;
enum __anonenum_77002343___261 {
    SI_ASYNCNL___261 = -60,
    SI_TKILL___261 = -6,
    SI_SIGIO___261 = -5,
    SI_ASYNCIO___261 = -4,
    SI_MESGQ___261 = -3,
    SI_TIMER___261 = -2,
    SI_QUEUE___261 = -1,
    SI_USER___261 = 0,
    SI_KERNEL___261 = 128
} ;
enum __anonenum_131038172___261 {
    ILL_ILLOPC___261 = 1,
    ILL_ILLOPN___261 = 2,
    ILL_ILLADR___261 = 3,
    ILL_ILLTRP___261 = 4,
    ILL_PRVOPC___261 = 5,
    ILL_PRVREG___261 = 6,
    ILL_COPROC___261 = 7,
    ILL_BADSTK___261 = 8
} ;
enum __anonenum_452038093___261 {
    FPE_INTDIV___261 = 1,
    FPE_INTOVF___261 = 2,
    FPE_FLTDIV___261 = 3,
    FPE_FLTOVF___261 = 4,
    FPE_FLTUND___261 = 5,
    FPE_FLTRES___261 = 6,
    FPE_FLTINV___261 = 7,
    FPE_FLTSUB___261 = 8
} ;
enum __anonenum_30976155___261 {
    SEGV_MAPERR___261 = 1,
    SEGV_ACCERR___261 = 2,
    SEGV_BNDERR___261 = 3,
    SEGV_PKUERR___261 = 4
} ;
enum __anonenum_1036286214___261 {
    BUS_ADRALN___261 = 1,
    BUS_ADRERR___261 = 2,
    BUS_OBJERR___261 = 3,
    BUS_MCEERR_AR___261 = 4,
    BUS_MCEERR_AO___261 = 5
} ;
enum __anonenum_493465559___261 {
    TRAP_BRKPT___261 = 1,
    TRAP_TRACE___261 = 2
} ;
enum __anonenum_23175539___261 {
    CLD_EXITED___261 = 1,
    CLD_KILLED___261 = 2,
    CLD_DUMPED___261 = 3,
    CLD_TRAPPED___261 = 4,
    CLD_STOPPED___261 = 5,
    CLD_CONTINUED___261 = 6
} ;
enum __anonenum_111643124___261 {
    POLL_IN___261 = 1,
    POLL_OUT___261 = 2,
    POLL_MSG___261 = 3,
    POLL_ERR___261 = 4,
    POLL_PRI___261 = 5,
    POLL_HUP___261 = 6
} ;
enum __anonenum_852341087___261 {
    SIGEV_SIGNAL___261 = 0,
    SIGEV_NONE___261 = 1,
    SIGEV_THREAD___261 = 2,
    SIGEV_THREAD_ID___261 = 4
} ;
enum __anonenum_451154152___261 {
    REG_R8___261 = 0,
    REG_R9___261 = 1,
    REG_R10___261 = 2,
    REG_R11___261 = 3,
    REG_R12___261 = 4,
    REG_R13___261 = 5,
    REG_R14___261 = 6,
    REG_R15___261 = 7,
    REG_RDI___261 = 8,
    REG_RSI___261 = 9,
    REG_RBP___261 = 10,
    REG_RBX___261 = 11,
    REG_RDX___261 = 12,
    REG_RAX___261 = 13,
    REG_RCX___261 = 14,
    REG_RSP___261 = 15,
    REG_RIP___261 = 16,
    REG_EFL___261 = 17,
    REG_CSGSFS___261 = 18,
    REG_ERR___261 = 19,
    REG_TRAPNO___261 = 20,
    REG_OLDMASK___261 = 21,
    REG_CR2___261 = 22
} ;
enum __anonenum_57186863___261 {
    SS_ONSTACK___261 = 1,
    SS_DISABLE___261 = 2
} ;
enum __anonenum_83571709___261 {
    MSG_OOB___261 = 1,
    MSG_PEEK___261 = 2,
    MSG_DONTROUTE___261 = 4,
    MSG_TRYHARD___261 = 4,
    MSG_CTRUNC___261 = 8,
    MSG_PROXY___261 = 16,
    MSG_TRUNC___261 = 32,
    MSG_DONTWAIT___261 = 64,
    MSG_EOR___261 = 128,
    MSG_WAITALL___261 = 256,
    MSG_FIN___261 = 512,
    MSG_SYN___261 = 1024,
    MSG_CONFIRM___261 = 2048,
    MSG_RST___261 = 4096,
    MSG_ERRQUEUE___261 = 8192,
    MSG_NOSIGNAL___261 = 16384,
    MSG_MORE___261 = 32768,
    MSG_WAITFORONE___261 = 65536,
    MSG_BATCH___261 = 262144,
    MSG_ZEROCOPY___261 = 67108864,
    MSG_FASTOPEN___261 = 536870912,
    MSG_CMSG_CLOEXEC___261 = 1073741824
} ;
enum __anonenum_617082774___261 {
    SCM_RIGHTS___261 = 1,
    SCM_CREDENTIALS___261 = 2
} ;
enum __anonenum_606441560___261 {
    SHUT_RD___261 = 0,
    SHUT_WR___261 = 1,
    SHUT_RDWR___261 = 2
} ;
enum __anonenum_681669233___261 {
    IPPROTO_IP___261 = 0,
    IPPROTO_ICMP___261 = 1,
    IPPROTO_IGMP___261 = 2,
    IPPROTO_IPIP___261 = 4,
    IPPROTO_TCP___261 = 6,
    IPPROTO_EGP___261 = 8,
    IPPROTO_PUP___261 = 12,
    IPPROTO_UDP___261 = 17,
    IPPROTO_IDP___261 = 22,
    IPPROTO_TP___261 = 29,
    IPPROTO_DCCP___261 = 33,
    IPPROTO_IPV6___261 = 41,
    IPPROTO_RSVP___261 = 46,
    IPPROTO_GRE___261 = 47,
    IPPROTO_ESP___261 = 50,
    IPPROTO_AH___261 = 51,
    IPPROTO_MTP___261 = 92,
    IPPROTO_BEETPH___261 = 94,
    IPPROTO_ENCAP___261 = 98,
    IPPROTO_PIM___261 = 103,
    IPPROTO_COMP___261 = 108,
    IPPROTO_SCTP___261 = 132,
    IPPROTO_UDPLITE___261 = 136,
    IPPROTO_MPLS___261 = 137,
    IPPROTO_RAW___261 = 255,
    IPPROTO_MAX___261 = 256
} ;
enum __anonenum_218739988___261 {
    IPPROTO_HOPOPTS___261 = 0,
    IPPROTO_ROUTING___261 = 43,
    IPPROTO_FRAGMENT___261 = 44,
    IPPROTO_ICMPV6___261 = 58,
    IPPROTO_NONE___261 = 59,
    IPPROTO_DSTOPTS___261 = 60,
    IPPROTO_MH___261 = 135
} ;
enum __anonenum_662268580___261 {
    IPPORT_ECHO___261 = 7,
    IPPORT_DISCARD___261 = 9,
    IPPORT_SYSTAT___261 = 11,
    IPPORT_DAYTIME___261 = 13,
    IPPORT_NETSTAT___261 = 15,
    IPPORT_FTP___261 = 21,
    IPPORT_TELNET___261 = 23,
    IPPORT_SMTP___261 = 25,
    IPPORT_TIMESERVER___261 = 37,
    IPPORT_NAMESERVER___261 = 42,
    IPPORT_WHOIS___261 = 43,
    IPPORT_MTP___261 = 57,
    IPPORT_TFTP___261 = 69,
    IPPORT_RJE___261 = 77,
    IPPORT_FINGER___261 = 79,
    IPPORT_TTYLINK___261 = 87,
    IPPORT_SUPDUP___261 = 95,
    IPPORT_EXECSERVER___261 = 512,
    IPPORT_LOGINSERVER___261 = 513,
    IPPORT_CMDSERVER___261 = 514,
    IPPORT_EFSSERVER___261 = 520,
    IPPORT_BIFFUDP___261 = 512,
    IPPORT_WHOSERVER___261 = 513,
    IPPORT_ROUTESERVER___261 = 520,
    IPPORT_RESERVED___261 = 1024,
    IPPORT_USERRESERVED___261 = 5000
} ;
enum __anonenum_788308992___261 {
    TCP_ESTABLISHED___261 = 1,
    TCP_SYN_SENT___261 = 2,
    TCP_SYN_RECV___261 = 3,
    TCP_FIN_WAIT1___261 = 4,
    TCP_FIN_WAIT2___261 = 5,
    TCP_TIME_WAIT___261 = 6,
    TCP_CLOSE___261 = 7,
    TCP_CLOSE_WAIT___261 = 8,
    TCP_LAST_ACK___261 = 9,
    TCP_LISTEN___261 = 10,
    TCP_CLOSING___261 = 11
} ;
enum __anonenum_221125648___261 {
    TCP_NO_QUEUE___261 = 0,
    TCP_RECV_QUEUE___261 = 1,
    TCP_SEND_QUEUE___261 = 2,
    TCP_QUEUES_NR___261 = 3
} ;
enum __anonenum_34415463___261 {
    PTHREAD_CREATE_JOINABLE___261 = 0,
    PTHREAD_CREATE_DETACHED___261 = 1
} ;
enum __anonenum_303612439___261 {
    PTHREAD_MUTEX_TIMED_NP___261 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___261 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___261 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___261 = 3,
    PTHREAD_MUTEX_NORMAL___261 = 0,
    PTHREAD_MUTEX_RECURSIVE___261 = 1,
    PTHREAD_MUTEX_ERRORCHECK___261 = 2,
    PTHREAD_MUTEX_DEFAULT___261 = 0,
    PTHREAD_MUTEX_FAST_NP___261 = 0
} ;
enum __anonenum_931900394___261 {
    PTHREAD_MUTEX_STALLED___261 = 0,
    PTHREAD_MUTEX_STALLED_NP___261 = 0,
    PTHREAD_MUTEX_ROBUST___261 = 1,
    PTHREAD_MUTEX_ROBUST_NP___261 = 1
} ;
enum __anonenum_205214487___261 {
    PTHREAD_PRIO_NONE___261 = 0,
    PTHREAD_PRIO_INHERIT___261 = 1,
    PTHREAD_PRIO_PROTECT___261 = 2
} ;
enum __anonenum_25043950___261 {
    PTHREAD_RWLOCK_PREFER_READER_NP___261 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___261 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___261 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___261 = 0
} ;
enum __anonenum_436439511___261 {
    PTHREAD_INHERIT_SCHED___261 = 0,
    PTHREAD_EXPLICIT_SCHED___261 = 1
} ;
enum __anonenum_998661166___261 {
    PTHREAD_SCOPE_SYSTEM___261 = 0,
    PTHREAD_SCOPE_PROCESS___261 = 1
} ;
enum __anonenum_146137331___261 {
    PTHREAD_PROCESS_PRIVATE___261 = 0,
    PTHREAD_PROCESS_SHARED___261 = 1
} ;
enum __anonenum_53396917___261 {
    PTHREAD_CANCEL_ENABLE___261 = 0,
    PTHREAD_CANCEL_DISABLE___261 = 1
} ;
enum __anonenum_904563783___261 {
    PTHREAD_CANCEL_DEFERRED___261 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___261 = 1
} ;
enum __anonenum_672052974___261 {
    SSL_CT_VALIDATION_PERMISSIVE___261 = 0,
    SSL_CT_VALIDATION_STRICT___261 = 1
} ;
enum __anonenum_437032235___262 {
    _PC_LINK_MAX___262 = 0,
    _PC_MAX_CANON___262 = 1,
    _PC_MAX_INPUT___262 = 2,
    _PC_NAME_MAX___262 = 3,
    _PC_PATH_MAX___262 = 4,
    _PC_PIPE_BUF___262 = 5,
    _PC_CHOWN_RESTRICTED___262 = 6,
    _PC_NO_TRUNC___262 = 7,
    _PC_VDISABLE___262 = 8,
    _PC_SYNC_IO___262 = 9,
    _PC_ASYNC_IO___262 = 10,
    _PC_PRIO_IO___262 = 11,
    _PC_SOCK_MAXBUF___262 = 12,
    _PC_FILESIZEBITS___262 = 13,
    _PC_REC_INCR_XFER_SIZE___262 = 14,
    _PC_REC_MAX_XFER_SIZE___262 = 15,
    _PC_REC_MIN_XFER_SIZE___262 = 16,
    _PC_REC_XFER_ALIGN___262 = 17,
    _PC_ALLOC_SIZE_MIN___262 = 18,
    _PC_SYMLINK_MAX___262 = 19,
    _PC_2_SYMLINKS___262 = 20
} ;
enum __anonenum_315186338___262 {
    _SC_ARG_MAX___262 = 0,
    _SC_CHILD_MAX___262 = 1,
    _SC_CLK_TCK___262 = 2,
    _SC_NGROUPS_MAX___262 = 3,
    _SC_OPEN_MAX___262 = 4,
    _SC_STREAM_MAX___262 = 5,
    _SC_TZNAME_MAX___262 = 6,
    _SC_JOB_CONTROL___262 = 7,
    _SC_SAVED_IDS___262 = 8,
    _SC_REALTIME_SIGNALS___262 = 9,
    _SC_PRIORITY_SCHEDULING___262 = 10,
    _SC_TIMERS___262 = 11,
    _SC_ASYNCHRONOUS_IO___262 = 12,
    _SC_PRIORITIZED_IO___262 = 13,
    _SC_SYNCHRONIZED_IO___262 = 14,
    _SC_FSYNC___262 = 15,
    _SC_MAPPED_FILES___262 = 16,
    _SC_MEMLOCK___262 = 17,
    _SC_MEMLOCK_RANGE___262 = 18,
    _SC_MEMORY_PROTECTION___262 = 19,
    _SC_MESSAGE_PASSING___262 = 20,
    _SC_SEMAPHORES___262 = 21,
    _SC_SHARED_MEMORY_OBJECTS___262 = 22,
    _SC_AIO_LISTIO_MAX___262 = 23,
    _SC_AIO_MAX___262 = 24,
    _SC_AIO_PRIO_DELTA_MAX___262 = 25,
    _SC_DELAYTIMER_MAX___262 = 26,
    _SC_MQ_OPEN_MAX___262 = 27,
    _SC_MQ_PRIO_MAX___262 = 28,
    _SC_VERSION___262 = 29,
    _SC_PAGESIZE___262 = 30,
    _SC_RTSIG_MAX___262 = 31,
    _SC_SEM_NSEMS_MAX___262 = 32,
    _SC_SEM_VALUE_MAX___262 = 33,
    _SC_SIGQUEUE_MAX___262 = 34,
    _SC_TIMER_MAX___262 = 35,
    _SC_BC_BASE_MAX___262 = 36,
    _SC_BC_DIM_MAX___262 = 37,
    _SC_BC_SCALE_MAX___262 = 38,
    _SC_BC_STRING_MAX___262 = 39,
    _SC_COLL_WEIGHTS_MAX___262 = 40,
    _SC_EQUIV_CLASS_MAX___262 = 41,
    _SC_EXPR_NEST_MAX___262 = 42,
    _SC_LINE_MAX___262 = 43,
    _SC_RE_DUP_MAX___262 = 44,
    _SC_CHARCLASS_NAME_MAX___262 = 45,
    _SC_2_VERSION___262 = 46,
    _SC_2_C_BIND___262 = 47,
    _SC_2_C_DEV___262 = 48,
    _SC_2_FORT_DEV___262 = 49,
    _SC_2_FORT_RUN___262 = 50,
    _SC_2_SW_DEV___262 = 51,
    _SC_2_LOCALEDEF___262 = 52,
    _SC_PII___262 = 53,
    _SC_PII_XTI___262 = 54,
    _SC_PII_SOCKET___262 = 55,
    _SC_PII_INTERNET___262 = 56,
    _SC_PII_OSI___262 = 57,
    _SC_POLL___262 = 58,
    _SC_SELECT___262 = 59,
    _SC_UIO_MAXIOV___262 = 60,
    _SC_IOV_MAX___262 = 60,
    _SC_PII_INTERNET_STREAM___262 = 61,
    _SC_PII_INTERNET_DGRAM___262 = 62,
    _SC_PII_OSI_COTS___262 = 63,
    _SC_PII_OSI_CLTS___262 = 64,
    _SC_PII_OSI_M___262 = 65,
    _SC_T_IOV_MAX___262 = 66,
    _SC_THREADS___262 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___262 = 68,
    _SC_GETGR_R_SIZE_MAX___262 = 69,
    _SC_GETPW_R_SIZE_MAX___262 = 70,
    _SC_LOGIN_NAME_MAX___262 = 71,
    _SC_TTY_NAME_MAX___262 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___262 = 73,
    _SC_THREAD_KEYS_MAX___262 = 74,
    _SC_THREAD_STACK_MIN___262 = 75,
    _SC_THREAD_THREADS_MAX___262 = 76,
    _SC_THREAD_ATTR_STACKADDR___262 = 77,
    _SC_THREAD_ATTR_STACKSIZE___262 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___262 = 79,
    _SC_THREAD_PRIO_INHERIT___262 = 80,
    _SC_THREAD_PRIO_PROTECT___262 = 81,
    _SC_THREAD_PROCESS_SHARED___262 = 82,
    _SC_NPROCESSORS_CONF___262 = 83,
    _SC_NPROCESSORS_ONLN___262 = 84,
    _SC_PHYS_PAGES___262 = 85,
    _SC_AVPHYS_PAGES___262 = 86,
    _SC_ATEXIT_MAX___262 = 87,
    _SC_PASS_MAX___262 = 88,
    _SC_XOPEN_VERSION___262 = 89,
    _SC_XOPEN_XCU_VERSION___262 = 90,
    _SC_XOPEN_UNIX___262 = 91,
    _SC_XOPEN_CRYPT___262 = 92,
    _SC_XOPEN_ENH_I18N___262 = 93,
    _SC_XOPEN_SHM___262 = 94,
    _SC_2_CHAR_TERM___262 = 95,
    _SC_2_C_VERSION___262 = 96,
    _SC_2_UPE___262 = 97,
    _SC_XOPEN_XPG2___262 = 98,
    _SC_XOPEN_XPG3___262 = 99,
    _SC_XOPEN_XPG4___262 = 100,
    _SC_CHAR_BIT___262 = 101,
    _SC_CHAR_MAX___262 = 102,
    _SC_CHAR_MIN___262 = 103,
    _SC_INT_MAX___262 = 104,
    _SC_INT_MIN___262 = 105,
    _SC_LONG_BIT___262 = 106,
    _SC_WORD_BIT___262 = 107,
    _SC_MB_LEN_MAX___262 = 108,
    _SC_NZERO___262 = 109,
    _SC_SSIZE_MAX___262 = 110,
    _SC_SCHAR_MAX___262 = 111,
    _SC_SCHAR_MIN___262 = 112,
    _SC_SHRT_MAX___262 = 113,
    _SC_SHRT_MIN___262 = 114,
    _SC_UCHAR_MAX___262 = 115,
    _SC_UINT_MAX___262 = 116,
    _SC_ULONG_MAX___262 = 117,
    _SC_USHRT_MAX___262 = 118,
    _SC_NL_ARGMAX___262 = 119,
    _SC_NL_LANGMAX___262 = 120,
    _SC_NL_MSGMAX___262 = 121,
    _SC_NL_NMAX___262 = 122,
    _SC_NL_SETMAX___262 = 123,
    _SC_NL_TEXTMAX___262 = 124,
    _SC_XBS5_ILP32_OFF32___262 = 125,
    _SC_XBS5_ILP32_OFFBIG___262 = 126,
    _SC_XBS5_LP64_OFF64___262 = 127,
    _SC_XBS5_LPBIG_OFFBIG___262 = 128,
    _SC_XOPEN_LEGACY___262 = 129,
    _SC_XOPEN_REALTIME___262 = 130,
    _SC_XOPEN_REALTIME_THREADS___262 = 131,
    _SC_ADVISORY_INFO___262 = 132,
    _SC_BARRIERS___262 = 133,
    _SC_BASE___262 = 134,
    _SC_C_LANG_SUPPORT___262 = 135,
    _SC_C_LANG_SUPPORT_R___262 = 136,
    _SC_CLOCK_SELECTION___262 = 137,
    _SC_CPUTIME___262 = 138,
    _SC_THREAD_CPUTIME___262 = 139,
    _SC_DEVICE_IO___262 = 140,
    _SC_DEVICE_SPECIFIC___262 = 141,
    _SC_DEVICE_SPECIFIC_R___262 = 142,
    _SC_FD_MGMT___262 = 143,
    _SC_FIFO___262 = 144,
    _SC_PIPE___262 = 145,
    _SC_FILE_ATTRIBUTES___262 = 146,
    _SC_FILE_LOCKING___262 = 147,
    _SC_FILE_SYSTEM___262 = 148,
    _SC_MONOTONIC_CLOCK___262 = 149,
    _SC_MULTI_PROCESS___262 = 150,
    _SC_SINGLE_PROCESS___262 = 151,
    _SC_NETWORKING___262 = 152,
    _SC_READER_WRITER_LOCKS___262 = 153,
    _SC_SPIN_LOCKS___262 = 154,
    _SC_REGEXP___262 = 155,
    _SC_REGEX_VERSION___262 = 156,
    _SC_SHELL___262 = 157,
    _SC_SIGNALS___262 = 158,
    _SC_SPAWN___262 = 159,
    _SC_SPORADIC_SERVER___262 = 160,
    _SC_THREAD_SPORADIC_SERVER___262 = 161,
    _SC_SYSTEM_DATABASE___262 = 162,
    _SC_SYSTEM_DATABASE_R___262 = 163,
    _SC_TIMEOUTS___262 = 164,
    _SC_TYPED_MEMORY_OBJECTS___262 = 165,
    _SC_USER_GROUPS___262 = 166,
    _SC_USER_GROUPS_R___262 = 167,
    _SC_2_PBS___262 = 168,
    _SC_2_PBS_ACCOUNTING___262 = 169,
    _SC_2_PBS_LOCATE___262 = 170,
    _SC_2_PBS_MESSAGE___262 = 171,
    _SC_2_PBS_TRACK___262 = 172,
    _SC_SYMLOOP_MAX___262 = 173,
    _SC_STREAMS___262 = 174,
    _SC_2_PBS_CHECKPOINT___262 = 175,
    _SC_V6_ILP32_OFF32___262 = 176,
    _SC_V6_ILP32_OFFBIG___262 = 177,
    _SC_V6_LP64_OFF64___262 = 178,
    _SC_V6_LPBIG_OFFBIG___262 = 179,
    _SC_HOST_NAME_MAX___262 = 180,
    _SC_TRACE___262 = 181,
    _SC_TRACE_EVENT_FILTER___262 = 182,
    _SC_TRACE_INHERIT___262 = 183,
    _SC_TRACE_LOG___262 = 184,
    _SC_LEVEL1_ICACHE_SIZE___262 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___262 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___262 = 187,
    _SC_LEVEL1_DCACHE_SIZE___262 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___262 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___262 = 190,
    _SC_LEVEL2_CACHE_SIZE___262 = 191,
    _SC_LEVEL2_CACHE_ASSOC___262 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___262 = 193,
    _SC_LEVEL3_CACHE_SIZE___262 = 194,
    _SC_LEVEL3_CACHE_ASSOC___262 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___262 = 196,
    _SC_LEVEL4_CACHE_SIZE___262 = 197,
    _SC_LEVEL4_CACHE_ASSOC___262 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___262 = 199,
    _SC_IPV6___262 = 235,
    _SC_RAW_SOCKETS___262 = 236,
    _SC_V7_ILP32_OFF32___262 = 237,
    _SC_V7_ILP32_OFFBIG___262 = 238,
    _SC_V7_LP64_OFF64___262 = 239,
    _SC_V7_LPBIG_OFFBIG___262 = 240,
    _SC_SS_REPL_MAX___262 = 241,
    _SC_TRACE_EVENT_NAME_MAX___262 = 242,
    _SC_TRACE_NAME_MAX___262 = 243,
    _SC_TRACE_SYS_MAX___262 = 244,
    _SC_TRACE_USER_EVENT_MAX___262 = 245,
    _SC_XOPEN_STREAMS___262 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___262 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___262 = 248
} ;
enum __anonenum_875524036___262 {
    _CS_PATH___262 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___262 = 1,
    _CS_GNU_LIBC_VERSION___262 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___262 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___262 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___262 = 5,
    _CS_LFS_CFLAGS___262 = 1000,
    _CS_LFS_LDFLAGS___262 = 1001,
    _CS_LFS_LIBS___262 = 1002,
    _CS_LFS_LINTFLAGS___262 = 1003,
    _CS_LFS64_CFLAGS___262 = 1004,
    _CS_LFS64_LDFLAGS___262 = 1005,
    _CS_LFS64_LIBS___262 = 1006,
    _CS_LFS64_LINTFLAGS___262 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___262 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___262 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___262 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___262 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___262 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___262 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___262 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___262 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___262 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___262 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___262 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___262 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___262 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___262 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___262 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___262 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___262 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___262 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___262 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___262 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___262 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___262 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___262 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___262 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___262 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___262 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___262 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___262 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___262 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___262 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___262 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___262 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___262 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___262 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___262 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___262 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___262 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___262 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___262 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___262 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___262 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___262 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___262 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___262 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___262 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___262 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___262 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___262 = 1147,
    _CS_V6_ENV___262 = 1148,
    _CS_V7_ENV___262 = 1149
} ;
enum __anonenum_513775621___262 {
    DT_UNKNOWN___262 = 0,
    DT_FIFO___262 = 1,
    DT_CHR___262 = 2,
    DT_DIR___262 = 4,
    DT_BLK___262 = 6,
    DT_REG___262 = 8,
    DT_LNK___262 = 10,
    DT_SOCK___262 = 12,
    DT_WHT___262 = 14
} ;
enum __anonenum_77002343___262 {
    SI_ASYNCNL___262 = -60,
    SI_TKILL___262 = -6,
    SI_SIGIO___262 = -5,
    SI_ASYNCIO___262 = -4,
    SI_MESGQ___262 = -3,
    SI_TIMER___262 = -2,
    SI_QUEUE___262 = -1,
    SI_USER___262 = 0,
    SI_KERNEL___262 = 128
} ;
enum __anonenum_131038172___262 {
    ILL_ILLOPC___262 = 1,
    ILL_ILLOPN___262 = 2,
    ILL_ILLADR___262 = 3,
    ILL_ILLTRP___262 = 4,
    ILL_PRVOPC___262 = 5,
    ILL_PRVREG___262 = 6,
    ILL_COPROC___262 = 7,
    ILL_BADSTK___262 = 8
} ;
enum __anonenum_452038093___262 {
    FPE_INTDIV___262 = 1,
    FPE_INTOVF___262 = 2,
    FPE_FLTDIV___262 = 3,
    FPE_FLTOVF___262 = 4,
    FPE_FLTUND___262 = 5,
    FPE_FLTRES___262 = 6,
    FPE_FLTINV___262 = 7,
    FPE_FLTSUB___262 = 8
} ;
enum __anonenum_30976155___262 {
    SEGV_MAPERR___262 = 1,
    SEGV_ACCERR___262 = 2,
    SEGV_BNDERR___262 = 3,
    SEGV_PKUERR___262 = 4
} ;
enum __anonenum_1036286214___262 {
    BUS_ADRALN___262 = 1,
    BUS_ADRERR___262 = 2,
    BUS_OBJERR___262 = 3,
    BUS_MCEERR_AR___262 = 4,
    BUS_MCEERR_AO___262 = 5
} ;
enum __anonenum_493465559___262 {
    TRAP_BRKPT___262 = 1,
    TRAP_TRACE___262 = 2
} ;
enum __anonenum_23175539___262 {
    CLD_EXITED___262 = 1,
    CLD_KILLED___262 = 2,
    CLD_DUMPED___262 = 3,
    CLD_TRAPPED___262 = 4,
    CLD_STOPPED___262 = 5,
    CLD_CONTINUED___262 = 6
} ;
enum __anonenum_111643124___262 {
    POLL_IN___262 = 1,
    POLL_OUT___262 = 2,
    POLL_MSG___262 = 3,
    POLL_ERR___262 = 4,
    POLL_PRI___262 = 5,
    POLL_HUP___262 = 6
} ;
enum __anonenum_852341087___262 {
    SIGEV_SIGNAL___262 = 0,
    SIGEV_NONE___262 = 1,
    SIGEV_THREAD___262 = 2,
    SIGEV_THREAD_ID___262 = 4
} ;
enum __anonenum_451154152___262 {
    REG_R8___262 = 0,
    REG_R9___262 = 1,
    REG_R10___262 = 2,
    REG_R11___262 = 3,
    REG_R12___262 = 4,
    REG_R13___262 = 5,
    REG_R14___262 = 6,
    REG_R15___262 = 7,
    REG_RDI___262 = 8,
    REG_RSI___262 = 9,
    REG_RBP___262 = 10,
    REG_RBX___262 = 11,
    REG_RDX___262 = 12,
    REG_RAX___262 = 13,
    REG_RCX___262 = 14,
    REG_RSP___262 = 15,
    REG_RIP___262 = 16,
    REG_EFL___262 = 17,
    REG_CSGSFS___262 = 18,
    REG_ERR___262 = 19,
    REG_TRAPNO___262 = 20,
    REG_OLDMASK___262 = 21,
    REG_CR2___262 = 22
} ;
enum __anonenum_57186863___262 {
    SS_ONSTACK___262 = 1,
    SS_DISABLE___262 = 2
} ;
enum __anonenum_83571709___262 {
    MSG_OOB___262 = 1,
    MSG_PEEK___262 = 2,
    MSG_DONTROUTE___262 = 4,
    MSG_TRYHARD___262 = 4,
    MSG_CTRUNC___262 = 8,
    MSG_PROXY___262 = 16,
    MSG_TRUNC___262 = 32,
    MSG_DONTWAIT___262 = 64,
    MSG_EOR___262 = 128,
    MSG_WAITALL___262 = 256,
    MSG_FIN___262 = 512,
    MSG_SYN___262 = 1024,
    MSG_CONFIRM___262 = 2048,
    MSG_RST___262 = 4096,
    MSG_ERRQUEUE___262 = 8192,
    MSG_NOSIGNAL___262 = 16384,
    MSG_MORE___262 = 32768,
    MSG_WAITFORONE___262 = 65536,
    MSG_BATCH___262 = 262144,
    MSG_ZEROCOPY___262 = 67108864,
    MSG_FASTOPEN___262 = 536870912,
    MSG_CMSG_CLOEXEC___262 = 1073741824
} ;
enum __anonenum_617082774___262 {
    SCM_RIGHTS___262 = 1,
    SCM_CREDENTIALS___262 = 2
} ;
enum __anonenum_606441560___262 {
    SHUT_RD___262 = 0,
    SHUT_WR___262 = 1,
    SHUT_RDWR___262 = 2
} ;
enum __anonenum_681669233___262 {
    IPPROTO_IP___262 = 0,
    IPPROTO_ICMP___262 = 1,
    IPPROTO_IGMP___262 = 2,
    IPPROTO_IPIP___262 = 4,
    IPPROTO_TCP___262 = 6,
    IPPROTO_EGP___262 = 8,
    IPPROTO_PUP___262 = 12,
    IPPROTO_UDP___262 = 17,
    IPPROTO_IDP___262 = 22,
    IPPROTO_TP___262 = 29,
    IPPROTO_DCCP___262 = 33,
    IPPROTO_IPV6___262 = 41,
    IPPROTO_RSVP___262 = 46,
    IPPROTO_GRE___262 = 47,
    IPPROTO_ESP___262 = 50,
    IPPROTO_AH___262 = 51,
    IPPROTO_MTP___262 = 92,
    IPPROTO_BEETPH___262 = 94,
    IPPROTO_ENCAP___262 = 98,
    IPPROTO_PIM___262 = 103,
    IPPROTO_COMP___262 = 108,
    IPPROTO_SCTP___262 = 132,
    IPPROTO_UDPLITE___262 = 136,
    IPPROTO_MPLS___262 = 137,
    IPPROTO_RAW___262 = 255,
    IPPROTO_MAX___262 = 256
} ;
enum __anonenum_218739988___262 {
    IPPROTO_HOPOPTS___262 = 0,
    IPPROTO_ROUTING___262 = 43,
    IPPROTO_FRAGMENT___262 = 44,
    IPPROTO_ICMPV6___262 = 58,
    IPPROTO_NONE___262 = 59,
    IPPROTO_DSTOPTS___262 = 60,
    IPPROTO_MH___262 = 135
} ;
enum __anonenum_662268580___262 {
    IPPORT_ECHO___262 = 7,
    IPPORT_DISCARD___262 = 9,
    IPPORT_SYSTAT___262 = 11,
    IPPORT_DAYTIME___262 = 13,
    IPPORT_NETSTAT___262 = 15,
    IPPORT_FTP___262 = 21,
    IPPORT_TELNET___262 = 23,
    IPPORT_SMTP___262 = 25,
    IPPORT_TIMESERVER___262 = 37,
    IPPORT_NAMESERVER___262 = 42,
    IPPORT_WHOIS___262 = 43,
    IPPORT_MTP___262 = 57,
    IPPORT_TFTP___262 = 69,
    IPPORT_RJE___262 = 77,
    IPPORT_FINGER___262 = 79,
    IPPORT_TTYLINK___262 = 87,
    IPPORT_SUPDUP___262 = 95,
    IPPORT_EXECSERVER___262 = 512,
    IPPORT_LOGINSERVER___262 = 513,
    IPPORT_CMDSERVER___262 = 514,
    IPPORT_EFSSERVER___262 = 520,
    IPPORT_BIFFUDP___262 = 512,
    IPPORT_WHOSERVER___262 = 513,
    IPPORT_ROUTESERVER___262 = 520,
    IPPORT_RESERVED___262 = 1024,
    IPPORT_USERRESERVED___262 = 5000
} ;
enum __anonenum_788308992___262 {
    TCP_ESTABLISHED___262 = 1,
    TCP_SYN_SENT___262 = 2,
    TCP_SYN_RECV___262 = 3,
    TCP_FIN_WAIT1___262 = 4,
    TCP_FIN_WAIT2___262 = 5,
    TCP_TIME_WAIT___262 = 6,
    TCP_CLOSE___262 = 7,
    TCP_CLOSE_WAIT___262 = 8,
    TCP_LAST_ACK___262 = 9,
    TCP_LISTEN___262 = 10,
    TCP_CLOSING___262 = 11
} ;
enum __anonenum_221125648___262 {
    TCP_NO_QUEUE___262 = 0,
    TCP_RECV_QUEUE___262 = 1,
    TCP_SEND_QUEUE___262 = 2,
    TCP_QUEUES_NR___262 = 3
} ;
enum __anonenum_34415463___262 {
    PTHREAD_CREATE_JOINABLE___262 = 0,
    PTHREAD_CREATE_DETACHED___262 = 1
} ;
enum __anonenum_303612439___262 {
    PTHREAD_MUTEX_TIMED_NP___262 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___262 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___262 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___262 = 3,
    PTHREAD_MUTEX_NORMAL___262 = 0,
    PTHREAD_MUTEX_RECURSIVE___262 = 1,
    PTHREAD_MUTEX_ERRORCHECK___262 = 2,
    PTHREAD_MUTEX_DEFAULT___262 = 0,
    PTHREAD_MUTEX_FAST_NP___262 = 0
} ;
enum __anonenum_931900394___262 {
    PTHREAD_MUTEX_STALLED___262 = 0,
    PTHREAD_MUTEX_STALLED_NP___262 = 0,
    PTHREAD_MUTEX_ROBUST___262 = 1,
    PTHREAD_MUTEX_ROBUST_NP___262 = 1
} ;
enum __anonenum_205214487___262 {
    PTHREAD_PRIO_NONE___262 = 0,
    PTHREAD_PRIO_INHERIT___262 = 1,
    PTHREAD_PRIO_PROTECT___262 = 2
} ;
enum __anonenum_25043950___262 {
    PTHREAD_RWLOCK_PREFER_READER_NP___262 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___262 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___262 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___262 = 0
} ;
enum __anonenum_436439511___262 {
    PTHREAD_INHERIT_SCHED___262 = 0,
    PTHREAD_EXPLICIT_SCHED___262 = 1
} ;
enum __anonenum_998661166___262 {
    PTHREAD_SCOPE_SYSTEM___262 = 0,
    PTHREAD_SCOPE_PROCESS___262 = 1
} ;
enum __anonenum_146137331___262 {
    PTHREAD_PROCESS_PRIVATE___262 = 0,
    PTHREAD_PROCESS_SHARED___262 = 1
} ;
enum __anonenum_53396917___262 {
    PTHREAD_CANCEL_ENABLE___262 = 0,
    PTHREAD_CANCEL_DISABLE___262 = 1
} ;
enum __anonenum_904563783___262 {
    PTHREAD_CANCEL_DEFERRED___262 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___262 = 1
} ;
enum __anonenum_672052974___262 {
    SSL_CT_VALIDATION_PERMISSIVE___262 = 0,
    SSL_CT_VALIDATION_STRICT___262 = 1
} ;
struct reftable_write_options {
   unsigned int unpadded : 1 ;
   uint32_t block_size ;
   unsigned int skip_index_objects : 1 ;
   int restart_interval ;
   uint32_t hash_id ;
   unsigned int default_permissions ;
   unsigned int skip_name_check : 1 ;
   unsigned int exact_log_message : 1 ;
};
struct reftable_block_stats {
   int entries ;
   int restarts ;
   int blocks ;
   int index_blocks ;
   int max_index_level ;
   uint64_t offset ;
   uint64_t index_offset ;
};
struct reftable_stats {
   int blocks ;
   struct reftable_block_stats ref_stats ;
   struct reftable_block_stats obj_stats ;
   struct reftable_block_stats idx_stats ;
   struct reftable_block_stats log_stats ;
   int object_id_len ;
};
struct reftable_writer ;
struct reftable_stack ;
struct reftable_addition ;
struct reftable_log_expiry_config {
   uint64_t time ;
   uint64_t min_update_index ;
};
struct reftable_compaction_stats {
   uint64_t bytes ;
   uint64_t entries_written ;
   int attempts ;
   int failures ;
};
struct reftable_stack {
   char *list_file ;
   char *reftable_dir ;
   int disable_auto_compact ;
   struct reftable_write_options config ;
   struct reftable_reader **readers ;
   size_t readers_len ;
   struct reftable_merged_table *merged ;
   struct reftable_compaction_stats stats ;
};
struct segment {
   int start ;
   int end ;
   int log ;
   uint64_t bytes ;
};
struct reftable_writer {
   ssize_t (*write)(void * , void const   * , size_t  ) ;
   void *write_arg ;
   int pending_padding ;
   struct strbuf last_key ;
   uint64_t next ;
   uint64_t min_update_index ;
   uint64_t max_update_index ;
   struct reftable_write_options opts ;
   uint8_t *block ;
   struct block_writer *block_writer ;
   struct block_writer block_writer_data ;
   struct reftable_index_record *index ;
   size_t index_len ;
   size_t index_cap ;
   struct tree_node *obj_index_tree ;
   struct reftable_stats stats ;
};
struct reftable_addition {
   int lock_file_fd ;
   struct strbuf lock_file_name ;
   struct reftable_stack *stack ;
   char **new_tables ;
   int new_tables_len ;
   uint64_t next_update_index ;
};
enum __anonenum_437032235___263 {
    _PC_LINK_MAX___263 = 0,
    _PC_MAX_CANON___263 = 1,
    _PC_MAX_INPUT___263 = 2,
    _PC_NAME_MAX___263 = 3,
    _PC_PATH_MAX___263 = 4,
    _PC_PIPE_BUF___263 = 5,
    _PC_CHOWN_RESTRICTED___263 = 6,
    _PC_NO_TRUNC___263 = 7,
    _PC_VDISABLE___263 = 8,
    _PC_SYNC_IO___263 = 9,
    _PC_ASYNC_IO___263 = 10,
    _PC_PRIO_IO___263 = 11,
    _PC_SOCK_MAXBUF___263 = 12,
    _PC_FILESIZEBITS___263 = 13,
    _PC_REC_INCR_XFER_SIZE___263 = 14,
    _PC_REC_MAX_XFER_SIZE___263 = 15,
    _PC_REC_MIN_XFER_SIZE___263 = 16,
    _PC_REC_XFER_ALIGN___263 = 17,
    _PC_ALLOC_SIZE_MIN___263 = 18,
    _PC_SYMLINK_MAX___263 = 19,
    _PC_2_SYMLINKS___263 = 20
} ;
enum __anonenum_315186338___263 {
    _SC_ARG_MAX___263 = 0,
    _SC_CHILD_MAX___263 = 1,
    _SC_CLK_TCK___263 = 2,
    _SC_NGROUPS_MAX___263 = 3,
    _SC_OPEN_MAX___263 = 4,
    _SC_STREAM_MAX___263 = 5,
    _SC_TZNAME_MAX___263 = 6,
    _SC_JOB_CONTROL___263 = 7,
    _SC_SAVED_IDS___263 = 8,
    _SC_REALTIME_SIGNALS___263 = 9,
    _SC_PRIORITY_SCHEDULING___263 = 10,
    _SC_TIMERS___263 = 11,
    _SC_ASYNCHRONOUS_IO___263 = 12,
    _SC_PRIORITIZED_IO___263 = 13,
    _SC_SYNCHRONIZED_IO___263 = 14,
    _SC_FSYNC___263 = 15,
    _SC_MAPPED_FILES___263 = 16,
    _SC_MEMLOCK___263 = 17,
    _SC_MEMLOCK_RANGE___263 = 18,
    _SC_MEMORY_PROTECTION___263 = 19,
    _SC_MESSAGE_PASSING___263 = 20,
    _SC_SEMAPHORES___263 = 21,
    _SC_SHARED_MEMORY_OBJECTS___263 = 22,
    _SC_AIO_LISTIO_MAX___263 = 23,
    _SC_AIO_MAX___263 = 24,
    _SC_AIO_PRIO_DELTA_MAX___263 = 25,
    _SC_DELAYTIMER_MAX___263 = 26,
    _SC_MQ_OPEN_MAX___263 = 27,
    _SC_MQ_PRIO_MAX___263 = 28,
    _SC_VERSION___263 = 29,
    _SC_PAGESIZE___263 = 30,
    _SC_RTSIG_MAX___263 = 31,
    _SC_SEM_NSEMS_MAX___263 = 32,
    _SC_SEM_VALUE_MAX___263 = 33,
    _SC_SIGQUEUE_MAX___263 = 34,
    _SC_TIMER_MAX___263 = 35,
    _SC_BC_BASE_MAX___263 = 36,
    _SC_BC_DIM_MAX___263 = 37,
    _SC_BC_SCALE_MAX___263 = 38,
    _SC_BC_STRING_MAX___263 = 39,
    _SC_COLL_WEIGHTS_MAX___263 = 40,
    _SC_EQUIV_CLASS_MAX___263 = 41,
    _SC_EXPR_NEST_MAX___263 = 42,
    _SC_LINE_MAX___263 = 43,
    _SC_RE_DUP_MAX___263 = 44,
    _SC_CHARCLASS_NAME_MAX___263 = 45,
    _SC_2_VERSION___263 = 46,
    _SC_2_C_BIND___263 = 47,
    _SC_2_C_DEV___263 = 48,
    _SC_2_FORT_DEV___263 = 49,
    _SC_2_FORT_RUN___263 = 50,
    _SC_2_SW_DEV___263 = 51,
    _SC_2_LOCALEDEF___263 = 52,
    _SC_PII___263 = 53,
    _SC_PII_XTI___263 = 54,
    _SC_PII_SOCKET___263 = 55,
    _SC_PII_INTERNET___263 = 56,
    _SC_PII_OSI___263 = 57,
    _SC_POLL___263 = 58,
    _SC_SELECT___263 = 59,
    _SC_UIO_MAXIOV___263 = 60,
    _SC_IOV_MAX___263 = 60,
    _SC_PII_INTERNET_STREAM___263 = 61,
    _SC_PII_INTERNET_DGRAM___263 = 62,
    _SC_PII_OSI_COTS___263 = 63,
    _SC_PII_OSI_CLTS___263 = 64,
    _SC_PII_OSI_M___263 = 65,
    _SC_T_IOV_MAX___263 = 66,
    _SC_THREADS___263 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___263 = 68,
    _SC_GETGR_R_SIZE_MAX___263 = 69,
    _SC_GETPW_R_SIZE_MAX___263 = 70,
    _SC_LOGIN_NAME_MAX___263 = 71,
    _SC_TTY_NAME_MAX___263 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___263 = 73,
    _SC_THREAD_KEYS_MAX___263 = 74,
    _SC_THREAD_STACK_MIN___263 = 75,
    _SC_THREAD_THREADS_MAX___263 = 76,
    _SC_THREAD_ATTR_STACKADDR___263 = 77,
    _SC_THREAD_ATTR_STACKSIZE___263 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___263 = 79,
    _SC_THREAD_PRIO_INHERIT___263 = 80,
    _SC_THREAD_PRIO_PROTECT___263 = 81,
    _SC_THREAD_PROCESS_SHARED___263 = 82,
    _SC_NPROCESSORS_CONF___263 = 83,
    _SC_NPROCESSORS_ONLN___263 = 84,
    _SC_PHYS_PAGES___263 = 85,
    _SC_AVPHYS_PAGES___263 = 86,
    _SC_ATEXIT_MAX___263 = 87,
    _SC_PASS_MAX___263 = 88,
    _SC_XOPEN_VERSION___263 = 89,
    _SC_XOPEN_XCU_VERSION___263 = 90,
    _SC_XOPEN_UNIX___263 = 91,
    _SC_XOPEN_CRYPT___263 = 92,
    _SC_XOPEN_ENH_I18N___263 = 93,
    _SC_XOPEN_SHM___263 = 94,
    _SC_2_CHAR_TERM___263 = 95,
    _SC_2_C_VERSION___263 = 96,
    _SC_2_UPE___263 = 97,
    _SC_XOPEN_XPG2___263 = 98,
    _SC_XOPEN_XPG3___263 = 99,
    _SC_XOPEN_XPG4___263 = 100,
    _SC_CHAR_BIT___263 = 101,
    _SC_CHAR_MAX___263 = 102,
    _SC_CHAR_MIN___263 = 103,
    _SC_INT_MAX___263 = 104,
    _SC_INT_MIN___263 = 105,
    _SC_LONG_BIT___263 = 106,
    _SC_WORD_BIT___263 = 107,
    _SC_MB_LEN_MAX___263 = 108,
    _SC_NZERO___263 = 109,
    _SC_SSIZE_MAX___263 = 110,
    _SC_SCHAR_MAX___263 = 111,
    _SC_SCHAR_MIN___263 = 112,
    _SC_SHRT_MAX___263 = 113,
    _SC_SHRT_MIN___263 = 114,
    _SC_UCHAR_MAX___263 = 115,
    _SC_UINT_MAX___263 = 116,
    _SC_ULONG_MAX___263 = 117,
    _SC_USHRT_MAX___263 = 118,
    _SC_NL_ARGMAX___263 = 119,
    _SC_NL_LANGMAX___263 = 120,
    _SC_NL_MSGMAX___263 = 121,
    _SC_NL_NMAX___263 = 122,
    _SC_NL_SETMAX___263 = 123,
    _SC_NL_TEXTMAX___263 = 124,
    _SC_XBS5_ILP32_OFF32___263 = 125,
    _SC_XBS5_ILP32_OFFBIG___263 = 126,
    _SC_XBS5_LP64_OFF64___263 = 127,
    _SC_XBS5_LPBIG_OFFBIG___263 = 128,
    _SC_XOPEN_LEGACY___263 = 129,
    _SC_XOPEN_REALTIME___263 = 130,
    _SC_XOPEN_REALTIME_THREADS___263 = 131,
    _SC_ADVISORY_INFO___263 = 132,
    _SC_BARRIERS___263 = 133,
    _SC_BASE___263 = 134,
    _SC_C_LANG_SUPPORT___263 = 135,
    _SC_C_LANG_SUPPORT_R___263 = 136,
    _SC_CLOCK_SELECTION___263 = 137,
    _SC_CPUTIME___263 = 138,
    _SC_THREAD_CPUTIME___263 = 139,
    _SC_DEVICE_IO___263 = 140,
    _SC_DEVICE_SPECIFIC___263 = 141,
    _SC_DEVICE_SPECIFIC_R___263 = 142,
    _SC_FD_MGMT___263 = 143,
    _SC_FIFO___263 = 144,
    _SC_PIPE___263 = 145,
    _SC_FILE_ATTRIBUTES___263 = 146,
    _SC_FILE_LOCKING___263 = 147,
    _SC_FILE_SYSTEM___263 = 148,
    _SC_MONOTONIC_CLOCK___263 = 149,
    _SC_MULTI_PROCESS___263 = 150,
    _SC_SINGLE_PROCESS___263 = 151,
    _SC_NETWORKING___263 = 152,
    _SC_READER_WRITER_LOCKS___263 = 153,
    _SC_SPIN_LOCKS___263 = 154,
    _SC_REGEXP___263 = 155,
    _SC_REGEX_VERSION___263 = 156,
    _SC_SHELL___263 = 157,
    _SC_SIGNALS___263 = 158,
    _SC_SPAWN___263 = 159,
    _SC_SPORADIC_SERVER___263 = 160,
    _SC_THREAD_SPORADIC_SERVER___263 = 161,
    _SC_SYSTEM_DATABASE___263 = 162,
    _SC_SYSTEM_DATABASE_R___263 = 163,
    _SC_TIMEOUTS___263 = 164,
    _SC_TYPED_MEMORY_OBJECTS___263 = 165,
    _SC_USER_GROUPS___263 = 166,
    _SC_USER_GROUPS_R___263 = 167,
    _SC_2_PBS___263 = 168,
    _SC_2_PBS_ACCOUNTING___263 = 169,
    _SC_2_PBS_LOCATE___263 = 170,
    _SC_2_PBS_MESSAGE___263 = 171,
    _SC_2_PBS_TRACK___263 = 172,
    _SC_SYMLOOP_MAX___263 = 173,
    _SC_STREAMS___263 = 174,
    _SC_2_PBS_CHECKPOINT___263 = 175,
    _SC_V6_ILP32_OFF32___263 = 176,
    _SC_V6_ILP32_OFFBIG___263 = 177,
    _SC_V6_LP64_OFF64___263 = 178,
    _SC_V6_LPBIG_OFFBIG___263 = 179,
    _SC_HOST_NAME_MAX___263 = 180,
    _SC_TRACE___263 = 181,
    _SC_TRACE_EVENT_FILTER___263 = 182,
    _SC_TRACE_INHERIT___263 = 183,
    _SC_TRACE_LOG___263 = 184,
    _SC_LEVEL1_ICACHE_SIZE___263 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___263 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___263 = 187,
    _SC_LEVEL1_DCACHE_SIZE___263 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___263 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___263 = 190,
    _SC_LEVEL2_CACHE_SIZE___263 = 191,
    _SC_LEVEL2_CACHE_ASSOC___263 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___263 = 193,
    _SC_LEVEL3_CACHE_SIZE___263 = 194,
    _SC_LEVEL3_CACHE_ASSOC___263 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___263 = 196,
    _SC_LEVEL4_CACHE_SIZE___263 = 197,
    _SC_LEVEL4_CACHE_ASSOC___263 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___263 = 199,
    _SC_IPV6___263 = 235,
    _SC_RAW_SOCKETS___263 = 236,
    _SC_V7_ILP32_OFF32___263 = 237,
    _SC_V7_ILP32_OFFBIG___263 = 238,
    _SC_V7_LP64_OFF64___263 = 239,
    _SC_V7_LPBIG_OFFBIG___263 = 240,
    _SC_SS_REPL_MAX___263 = 241,
    _SC_TRACE_EVENT_NAME_MAX___263 = 242,
    _SC_TRACE_NAME_MAX___263 = 243,
    _SC_TRACE_SYS_MAX___263 = 244,
    _SC_TRACE_USER_EVENT_MAX___263 = 245,
    _SC_XOPEN_STREAMS___263 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___263 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___263 = 248
} ;
enum __anonenum_875524036___263 {
    _CS_PATH___263 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___263 = 1,
    _CS_GNU_LIBC_VERSION___263 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___263 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___263 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___263 = 5,
    _CS_LFS_CFLAGS___263 = 1000,
    _CS_LFS_LDFLAGS___263 = 1001,
    _CS_LFS_LIBS___263 = 1002,
    _CS_LFS_LINTFLAGS___263 = 1003,
    _CS_LFS64_CFLAGS___263 = 1004,
    _CS_LFS64_LDFLAGS___263 = 1005,
    _CS_LFS64_LIBS___263 = 1006,
    _CS_LFS64_LINTFLAGS___263 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___263 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___263 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___263 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___263 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___263 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___263 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___263 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___263 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___263 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___263 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___263 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___263 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___263 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___263 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___263 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___263 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___263 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___263 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___263 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___263 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___263 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___263 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___263 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___263 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___263 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___263 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___263 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___263 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___263 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___263 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___263 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___263 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___263 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___263 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___263 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___263 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___263 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___263 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___263 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___263 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___263 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___263 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___263 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___263 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___263 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___263 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___263 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___263 = 1147,
    _CS_V6_ENV___263 = 1148,
    _CS_V7_ENV___263 = 1149
} ;
enum __anonenum_513775621___263 {
    DT_UNKNOWN___263 = 0,
    DT_FIFO___263 = 1,
    DT_CHR___263 = 2,
    DT_DIR___263 = 4,
    DT_BLK___263 = 6,
    DT_REG___263 = 8,
    DT_LNK___263 = 10,
    DT_SOCK___263 = 12,
    DT_WHT___263 = 14
} ;
enum __anonenum_77002343___263 {
    SI_ASYNCNL___263 = -60,
    SI_TKILL___263 = -6,
    SI_SIGIO___263 = -5,
    SI_ASYNCIO___263 = -4,
    SI_MESGQ___263 = -3,
    SI_TIMER___263 = -2,
    SI_QUEUE___263 = -1,
    SI_USER___263 = 0,
    SI_KERNEL___263 = 128
} ;
enum __anonenum_131038172___263 {
    ILL_ILLOPC___263 = 1,
    ILL_ILLOPN___263 = 2,
    ILL_ILLADR___263 = 3,
    ILL_ILLTRP___263 = 4,
    ILL_PRVOPC___263 = 5,
    ILL_PRVREG___263 = 6,
    ILL_COPROC___263 = 7,
    ILL_BADSTK___263 = 8
} ;
enum __anonenum_452038093___263 {
    FPE_INTDIV___263 = 1,
    FPE_INTOVF___263 = 2,
    FPE_FLTDIV___263 = 3,
    FPE_FLTOVF___263 = 4,
    FPE_FLTUND___263 = 5,
    FPE_FLTRES___263 = 6,
    FPE_FLTINV___263 = 7,
    FPE_FLTSUB___263 = 8
} ;
enum __anonenum_30976155___263 {
    SEGV_MAPERR___263 = 1,
    SEGV_ACCERR___263 = 2,
    SEGV_BNDERR___263 = 3,
    SEGV_PKUERR___263 = 4
} ;
enum __anonenum_1036286214___263 {
    BUS_ADRALN___263 = 1,
    BUS_ADRERR___263 = 2,
    BUS_OBJERR___263 = 3,
    BUS_MCEERR_AR___263 = 4,
    BUS_MCEERR_AO___263 = 5
} ;
enum __anonenum_493465559___263 {
    TRAP_BRKPT___263 = 1,
    TRAP_TRACE___263 = 2
} ;
enum __anonenum_23175539___263 {
    CLD_EXITED___263 = 1,
    CLD_KILLED___263 = 2,
    CLD_DUMPED___263 = 3,
    CLD_TRAPPED___263 = 4,
    CLD_STOPPED___263 = 5,
    CLD_CONTINUED___263 = 6
} ;
enum __anonenum_111643124___263 {
    POLL_IN___263 = 1,
    POLL_OUT___263 = 2,
    POLL_MSG___263 = 3,
    POLL_ERR___263 = 4,
    POLL_PRI___263 = 5,
    POLL_HUP___263 = 6
} ;
enum __anonenum_852341087___263 {
    SIGEV_SIGNAL___263 = 0,
    SIGEV_NONE___263 = 1,
    SIGEV_THREAD___263 = 2,
    SIGEV_THREAD_ID___263 = 4
} ;
enum __anonenum_451154152___263 {
    REG_R8___263 = 0,
    REG_R9___263 = 1,
    REG_R10___263 = 2,
    REG_R11___263 = 3,
    REG_R12___263 = 4,
    REG_R13___263 = 5,
    REG_R14___263 = 6,
    REG_R15___263 = 7,
    REG_RDI___263 = 8,
    REG_RSI___263 = 9,
    REG_RBP___263 = 10,
    REG_RBX___263 = 11,
    REG_RDX___263 = 12,
    REG_RAX___263 = 13,
    REG_RCX___263 = 14,
    REG_RSP___263 = 15,
    REG_RIP___263 = 16,
    REG_EFL___263 = 17,
    REG_CSGSFS___263 = 18,
    REG_ERR___263 = 19,
    REG_TRAPNO___263 = 20,
    REG_OLDMASK___263 = 21,
    REG_CR2___263 = 22
} ;
enum __anonenum_57186863___263 {
    SS_ONSTACK___263 = 1,
    SS_DISABLE___263 = 2
} ;
enum __anonenum_83571709___263 {
    MSG_OOB___263 = 1,
    MSG_PEEK___263 = 2,
    MSG_DONTROUTE___263 = 4,
    MSG_TRYHARD___263 = 4,
    MSG_CTRUNC___263 = 8,
    MSG_PROXY___263 = 16,
    MSG_TRUNC___263 = 32,
    MSG_DONTWAIT___263 = 64,
    MSG_EOR___263 = 128,
    MSG_WAITALL___263 = 256,
    MSG_FIN___263 = 512,
    MSG_SYN___263 = 1024,
    MSG_CONFIRM___263 = 2048,
    MSG_RST___263 = 4096,
    MSG_ERRQUEUE___263 = 8192,
    MSG_NOSIGNAL___263 = 16384,
    MSG_MORE___263 = 32768,
    MSG_WAITFORONE___263 = 65536,
    MSG_BATCH___263 = 262144,
    MSG_ZEROCOPY___263 = 67108864,
    MSG_FASTOPEN___263 = 536870912,
    MSG_CMSG_CLOEXEC___263 = 1073741824
} ;
enum __anonenum_617082774___263 {
    SCM_RIGHTS___263 = 1,
    SCM_CREDENTIALS___263 = 2
} ;
enum __anonenum_606441560___263 {
    SHUT_RD___263 = 0,
    SHUT_WR___263 = 1,
    SHUT_RDWR___263 = 2
} ;
enum __anonenum_681669233___263 {
    IPPROTO_IP___263 = 0,
    IPPROTO_ICMP___263 = 1,
    IPPROTO_IGMP___263 = 2,
    IPPROTO_IPIP___263 = 4,
    IPPROTO_TCP___263 = 6,
    IPPROTO_EGP___263 = 8,
    IPPROTO_PUP___263 = 12,
    IPPROTO_UDP___263 = 17,
    IPPROTO_IDP___263 = 22,
    IPPROTO_TP___263 = 29,
    IPPROTO_DCCP___263 = 33,
    IPPROTO_IPV6___263 = 41,
    IPPROTO_RSVP___263 = 46,
    IPPROTO_GRE___263 = 47,
    IPPROTO_ESP___263 = 50,
    IPPROTO_AH___263 = 51,
    IPPROTO_MTP___263 = 92,
    IPPROTO_BEETPH___263 = 94,
    IPPROTO_ENCAP___263 = 98,
    IPPROTO_PIM___263 = 103,
    IPPROTO_COMP___263 = 108,
    IPPROTO_SCTP___263 = 132,
    IPPROTO_UDPLITE___263 = 136,
    IPPROTO_MPLS___263 = 137,
    IPPROTO_RAW___263 = 255,
    IPPROTO_MAX___263 = 256
} ;
enum __anonenum_218739988___263 {
    IPPROTO_HOPOPTS___263 = 0,
    IPPROTO_ROUTING___263 = 43,
    IPPROTO_FRAGMENT___263 = 44,
    IPPROTO_ICMPV6___263 = 58,
    IPPROTO_NONE___263 = 59,
    IPPROTO_DSTOPTS___263 = 60,
    IPPROTO_MH___263 = 135
} ;
enum __anonenum_662268580___263 {
    IPPORT_ECHO___263 = 7,
    IPPORT_DISCARD___263 = 9,
    IPPORT_SYSTAT___263 = 11,
    IPPORT_DAYTIME___263 = 13,
    IPPORT_NETSTAT___263 = 15,
    IPPORT_FTP___263 = 21,
    IPPORT_TELNET___263 = 23,
    IPPORT_SMTP___263 = 25,
    IPPORT_TIMESERVER___263 = 37,
    IPPORT_NAMESERVER___263 = 42,
    IPPORT_WHOIS___263 = 43,
    IPPORT_MTP___263 = 57,
    IPPORT_TFTP___263 = 69,
    IPPORT_RJE___263 = 77,
    IPPORT_FINGER___263 = 79,
    IPPORT_TTYLINK___263 = 87,
    IPPORT_SUPDUP___263 = 95,
    IPPORT_EXECSERVER___263 = 512,
    IPPORT_LOGINSERVER___263 = 513,
    IPPORT_CMDSERVER___263 = 514,
    IPPORT_EFSSERVER___263 = 520,
    IPPORT_BIFFUDP___263 = 512,
    IPPORT_WHOSERVER___263 = 513,
    IPPORT_ROUTESERVER___263 = 520,
    IPPORT_RESERVED___263 = 1024,
    IPPORT_USERRESERVED___263 = 5000
} ;
enum __anonenum_788308992___263 {
    TCP_ESTABLISHED___263 = 1,
    TCP_SYN_SENT___263 = 2,
    TCP_SYN_RECV___263 = 3,
    TCP_FIN_WAIT1___263 = 4,
    TCP_FIN_WAIT2___263 = 5,
    TCP_TIME_WAIT___263 = 6,
    TCP_CLOSE___263 = 7,
    TCP_CLOSE_WAIT___263 = 8,
    TCP_LAST_ACK___263 = 9,
    TCP_LISTEN___263 = 10,
    TCP_CLOSING___263 = 11
} ;
enum __anonenum_221125648___263 {
    TCP_NO_QUEUE___263 = 0,
    TCP_RECV_QUEUE___263 = 1,
    TCP_SEND_QUEUE___263 = 2,
    TCP_QUEUES_NR___263 = 3
} ;
enum __anonenum_34415463___263 {
    PTHREAD_CREATE_JOINABLE___263 = 0,
    PTHREAD_CREATE_DETACHED___263 = 1
} ;
enum __anonenum_303612439___263 {
    PTHREAD_MUTEX_TIMED_NP___263 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___263 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___263 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___263 = 3,
    PTHREAD_MUTEX_NORMAL___263 = 0,
    PTHREAD_MUTEX_RECURSIVE___263 = 1,
    PTHREAD_MUTEX_ERRORCHECK___263 = 2,
    PTHREAD_MUTEX_DEFAULT___263 = 0,
    PTHREAD_MUTEX_FAST_NP___263 = 0
} ;
enum __anonenum_931900394___263 {
    PTHREAD_MUTEX_STALLED___263 = 0,
    PTHREAD_MUTEX_STALLED_NP___263 = 0,
    PTHREAD_MUTEX_ROBUST___263 = 1,
    PTHREAD_MUTEX_ROBUST_NP___263 = 1
} ;
enum __anonenum_205214487___263 {
    PTHREAD_PRIO_NONE___263 = 0,
    PTHREAD_PRIO_INHERIT___263 = 1,
    PTHREAD_PRIO_PROTECT___263 = 2
} ;
enum __anonenum_25043950___263 {
    PTHREAD_RWLOCK_PREFER_READER_NP___263 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___263 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___263 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___263 = 0
} ;
enum __anonenum_436439511___263 {
    PTHREAD_INHERIT_SCHED___263 = 0,
    PTHREAD_EXPLICIT_SCHED___263 = 1
} ;
enum __anonenum_998661166___263 {
    PTHREAD_SCOPE_SYSTEM___263 = 0,
    PTHREAD_SCOPE_PROCESS___263 = 1
} ;
enum __anonenum_146137331___263 {
    PTHREAD_PROCESS_PRIVATE___263 = 0,
    PTHREAD_PROCESS_SHARED___263 = 1
} ;
enum __anonenum_53396917___263 {
    PTHREAD_CANCEL_ENABLE___263 = 0,
    PTHREAD_CANCEL_DISABLE___263 = 1
} ;
enum __anonenum_904563783___263 {
    PTHREAD_CANCEL_DEFERRED___263 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___263 = 1
} ;
enum __anonenum_672052974___263 {
    SSL_CT_VALIDATION_PERMISSIVE___263 = 0,
    SSL_CT_VALIDATION_STRICT___263 = 1
} ;
enum __anonenum_437032235___264 {
    _PC_LINK_MAX___264 = 0,
    _PC_MAX_CANON___264 = 1,
    _PC_MAX_INPUT___264 = 2,
    _PC_NAME_MAX___264 = 3,
    _PC_PATH_MAX___264 = 4,
    _PC_PIPE_BUF___264 = 5,
    _PC_CHOWN_RESTRICTED___264 = 6,
    _PC_NO_TRUNC___264 = 7,
    _PC_VDISABLE___264 = 8,
    _PC_SYNC_IO___264 = 9,
    _PC_ASYNC_IO___264 = 10,
    _PC_PRIO_IO___264 = 11,
    _PC_SOCK_MAXBUF___264 = 12,
    _PC_FILESIZEBITS___264 = 13,
    _PC_REC_INCR_XFER_SIZE___264 = 14,
    _PC_REC_MAX_XFER_SIZE___264 = 15,
    _PC_REC_MIN_XFER_SIZE___264 = 16,
    _PC_REC_XFER_ALIGN___264 = 17,
    _PC_ALLOC_SIZE_MIN___264 = 18,
    _PC_SYMLINK_MAX___264 = 19,
    _PC_2_SYMLINKS___264 = 20
} ;
enum __anonenum_315186338___264 {
    _SC_ARG_MAX___264 = 0,
    _SC_CHILD_MAX___264 = 1,
    _SC_CLK_TCK___264 = 2,
    _SC_NGROUPS_MAX___264 = 3,
    _SC_OPEN_MAX___264 = 4,
    _SC_STREAM_MAX___264 = 5,
    _SC_TZNAME_MAX___264 = 6,
    _SC_JOB_CONTROL___264 = 7,
    _SC_SAVED_IDS___264 = 8,
    _SC_REALTIME_SIGNALS___264 = 9,
    _SC_PRIORITY_SCHEDULING___264 = 10,
    _SC_TIMERS___264 = 11,
    _SC_ASYNCHRONOUS_IO___264 = 12,
    _SC_PRIORITIZED_IO___264 = 13,
    _SC_SYNCHRONIZED_IO___264 = 14,
    _SC_FSYNC___264 = 15,
    _SC_MAPPED_FILES___264 = 16,
    _SC_MEMLOCK___264 = 17,
    _SC_MEMLOCK_RANGE___264 = 18,
    _SC_MEMORY_PROTECTION___264 = 19,
    _SC_MESSAGE_PASSING___264 = 20,
    _SC_SEMAPHORES___264 = 21,
    _SC_SHARED_MEMORY_OBJECTS___264 = 22,
    _SC_AIO_LISTIO_MAX___264 = 23,
    _SC_AIO_MAX___264 = 24,
    _SC_AIO_PRIO_DELTA_MAX___264 = 25,
    _SC_DELAYTIMER_MAX___264 = 26,
    _SC_MQ_OPEN_MAX___264 = 27,
    _SC_MQ_PRIO_MAX___264 = 28,
    _SC_VERSION___264 = 29,
    _SC_PAGESIZE___264 = 30,
    _SC_RTSIG_MAX___264 = 31,
    _SC_SEM_NSEMS_MAX___264 = 32,
    _SC_SEM_VALUE_MAX___264 = 33,
    _SC_SIGQUEUE_MAX___264 = 34,
    _SC_TIMER_MAX___264 = 35,
    _SC_BC_BASE_MAX___264 = 36,
    _SC_BC_DIM_MAX___264 = 37,
    _SC_BC_SCALE_MAX___264 = 38,
    _SC_BC_STRING_MAX___264 = 39,
    _SC_COLL_WEIGHTS_MAX___264 = 40,
    _SC_EQUIV_CLASS_MAX___264 = 41,
    _SC_EXPR_NEST_MAX___264 = 42,
    _SC_LINE_MAX___264 = 43,
    _SC_RE_DUP_MAX___264 = 44,
    _SC_CHARCLASS_NAME_MAX___264 = 45,
    _SC_2_VERSION___264 = 46,
    _SC_2_C_BIND___264 = 47,
    _SC_2_C_DEV___264 = 48,
    _SC_2_FORT_DEV___264 = 49,
    _SC_2_FORT_RUN___264 = 50,
    _SC_2_SW_DEV___264 = 51,
    _SC_2_LOCALEDEF___264 = 52,
    _SC_PII___264 = 53,
    _SC_PII_XTI___264 = 54,
    _SC_PII_SOCKET___264 = 55,
    _SC_PII_INTERNET___264 = 56,
    _SC_PII_OSI___264 = 57,
    _SC_POLL___264 = 58,
    _SC_SELECT___264 = 59,
    _SC_UIO_MAXIOV___264 = 60,
    _SC_IOV_MAX___264 = 60,
    _SC_PII_INTERNET_STREAM___264 = 61,
    _SC_PII_INTERNET_DGRAM___264 = 62,
    _SC_PII_OSI_COTS___264 = 63,
    _SC_PII_OSI_CLTS___264 = 64,
    _SC_PII_OSI_M___264 = 65,
    _SC_T_IOV_MAX___264 = 66,
    _SC_THREADS___264 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___264 = 68,
    _SC_GETGR_R_SIZE_MAX___264 = 69,
    _SC_GETPW_R_SIZE_MAX___264 = 70,
    _SC_LOGIN_NAME_MAX___264 = 71,
    _SC_TTY_NAME_MAX___264 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___264 = 73,
    _SC_THREAD_KEYS_MAX___264 = 74,
    _SC_THREAD_STACK_MIN___264 = 75,
    _SC_THREAD_THREADS_MAX___264 = 76,
    _SC_THREAD_ATTR_STACKADDR___264 = 77,
    _SC_THREAD_ATTR_STACKSIZE___264 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___264 = 79,
    _SC_THREAD_PRIO_INHERIT___264 = 80,
    _SC_THREAD_PRIO_PROTECT___264 = 81,
    _SC_THREAD_PROCESS_SHARED___264 = 82,
    _SC_NPROCESSORS_CONF___264 = 83,
    _SC_NPROCESSORS_ONLN___264 = 84,
    _SC_PHYS_PAGES___264 = 85,
    _SC_AVPHYS_PAGES___264 = 86,
    _SC_ATEXIT_MAX___264 = 87,
    _SC_PASS_MAX___264 = 88,
    _SC_XOPEN_VERSION___264 = 89,
    _SC_XOPEN_XCU_VERSION___264 = 90,
    _SC_XOPEN_UNIX___264 = 91,
    _SC_XOPEN_CRYPT___264 = 92,
    _SC_XOPEN_ENH_I18N___264 = 93,
    _SC_XOPEN_SHM___264 = 94,
    _SC_2_CHAR_TERM___264 = 95,
    _SC_2_C_VERSION___264 = 96,
    _SC_2_UPE___264 = 97,
    _SC_XOPEN_XPG2___264 = 98,
    _SC_XOPEN_XPG3___264 = 99,
    _SC_XOPEN_XPG4___264 = 100,
    _SC_CHAR_BIT___264 = 101,
    _SC_CHAR_MAX___264 = 102,
    _SC_CHAR_MIN___264 = 103,
    _SC_INT_MAX___264 = 104,
    _SC_INT_MIN___264 = 105,
    _SC_LONG_BIT___264 = 106,
    _SC_WORD_BIT___264 = 107,
    _SC_MB_LEN_MAX___264 = 108,
    _SC_NZERO___264 = 109,
    _SC_SSIZE_MAX___264 = 110,
    _SC_SCHAR_MAX___264 = 111,
    _SC_SCHAR_MIN___264 = 112,
    _SC_SHRT_MAX___264 = 113,
    _SC_SHRT_MIN___264 = 114,
    _SC_UCHAR_MAX___264 = 115,
    _SC_UINT_MAX___264 = 116,
    _SC_ULONG_MAX___264 = 117,
    _SC_USHRT_MAX___264 = 118,
    _SC_NL_ARGMAX___264 = 119,
    _SC_NL_LANGMAX___264 = 120,
    _SC_NL_MSGMAX___264 = 121,
    _SC_NL_NMAX___264 = 122,
    _SC_NL_SETMAX___264 = 123,
    _SC_NL_TEXTMAX___264 = 124,
    _SC_XBS5_ILP32_OFF32___264 = 125,
    _SC_XBS5_ILP32_OFFBIG___264 = 126,
    _SC_XBS5_LP64_OFF64___264 = 127,
    _SC_XBS5_LPBIG_OFFBIG___264 = 128,
    _SC_XOPEN_LEGACY___264 = 129,
    _SC_XOPEN_REALTIME___264 = 130,
    _SC_XOPEN_REALTIME_THREADS___264 = 131,
    _SC_ADVISORY_INFO___264 = 132,
    _SC_BARRIERS___264 = 133,
    _SC_BASE___264 = 134,
    _SC_C_LANG_SUPPORT___264 = 135,
    _SC_C_LANG_SUPPORT_R___264 = 136,
    _SC_CLOCK_SELECTION___264 = 137,
    _SC_CPUTIME___264 = 138,
    _SC_THREAD_CPUTIME___264 = 139,
    _SC_DEVICE_IO___264 = 140,
    _SC_DEVICE_SPECIFIC___264 = 141,
    _SC_DEVICE_SPECIFIC_R___264 = 142,
    _SC_FD_MGMT___264 = 143,
    _SC_FIFO___264 = 144,
    _SC_PIPE___264 = 145,
    _SC_FILE_ATTRIBUTES___264 = 146,
    _SC_FILE_LOCKING___264 = 147,
    _SC_FILE_SYSTEM___264 = 148,
    _SC_MONOTONIC_CLOCK___264 = 149,
    _SC_MULTI_PROCESS___264 = 150,
    _SC_SINGLE_PROCESS___264 = 151,
    _SC_NETWORKING___264 = 152,
    _SC_READER_WRITER_LOCKS___264 = 153,
    _SC_SPIN_LOCKS___264 = 154,
    _SC_REGEXP___264 = 155,
    _SC_REGEX_VERSION___264 = 156,
    _SC_SHELL___264 = 157,
    _SC_SIGNALS___264 = 158,
    _SC_SPAWN___264 = 159,
    _SC_SPORADIC_SERVER___264 = 160,
    _SC_THREAD_SPORADIC_SERVER___264 = 161,
    _SC_SYSTEM_DATABASE___264 = 162,
    _SC_SYSTEM_DATABASE_R___264 = 163,
    _SC_TIMEOUTS___264 = 164,
    _SC_TYPED_MEMORY_OBJECTS___264 = 165,
    _SC_USER_GROUPS___264 = 166,
    _SC_USER_GROUPS_R___264 = 167,
    _SC_2_PBS___264 = 168,
    _SC_2_PBS_ACCOUNTING___264 = 169,
    _SC_2_PBS_LOCATE___264 = 170,
    _SC_2_PBS_MESSAGE___264 = 171,
    _SC_2_PBS_TRACK___264 = 172,
    _SC_SYMLOOP_MAX___264 = 173,
    _SC_STREAMS___264 = 174,
    _SC_2_PBS_CHECKPOINT___264 = 175,
    _SC_V6_ILP32_OFF32___264 = 176,
    _SC_V6_ILP32_OFFBIG___264 = 177,
    _SC_V6_LP64_OFF64___264 = 178,
    _SC_V6_LPBIG_OFFBIG___264 = 179,
    _SC_HOST_NAME_MAX___264 = 180,
    _SC_TRACE___264 = 181,
    _SC_TRACE_EVENT_FILTER___264 = 182,
    _SC_TRACE_INHERIT___264 = 183,
    _SC_TRACE_LOG___264 = 184,
    _SC_LEVEL1_ICACHE_SIZE___264 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___264 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___264 = 187,
    _SC_LEVEL1_DCACHE_SIZE___264 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___264 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___264 = 190,
    _SC_LEVEL2_CACHE_SIZE___264 = 191,
    _SC_LEVEL2_CACHE_ASSOC___264 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___264 = 193,
    _SC_LEVEL3_CACHE_SIZE___264 = 194,
    _SC_LEVEL3_CACHE_ASSOC___264 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___264 = 196,
    _SC_LEVEL4_CACHE_SIZE___264 = 197,
    _SC_LEVEL4_CACHE_ASSOC___264 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___264 = 199,
    _SC_IPV6___264 = 235,
    _SC_RAW_SOCKETS___264 = 236,
    _SC_V7_ILP32_OFF32___264 = 237,
    _SC_V7_ILP32_OFFBIG___264 = 238,
    _SC_V7_LP64_OFF64___264 = 239,
    _SC_V7_LPBIG_OFFBIG___264 = 240,
    _SC_SS_REPL_MAX___264 = 241,
    _SC_TRACE_EVENT_NAME_MAX___264 = 242,
    _SC_TRACE_NAME_MAX___264 = 243,
    _SC_TRACE_SYS_MAX___264 = 244,
    _SC_TRACE_USER_EVENT_MAX___264 = 245,
    _SC_XOPEN_STREAMS___264 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___264 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___264 = 248
} ;
enum __anonenum_875524036___264 {
    _CS_PATH___264 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___264 = 1,
    _CS_GNU_LIBC_VERSION___264 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___264 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___264 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___264 = 5,
    _CS_LFS_CFLAGS___264 = 1000,
    _CS_LFS_LDFLAGS___264 = 1001,
    _CS_LFS_LIBS___264 = 1002,
    _CS_LFS_LINTFLAGS___264 = 1003,
    _CS_LFS64_CFLAGS___264 = 1004,
    _CS_LFS64_LDFLAGS___264 = 1005,
    _CS_LFS64_LIBS___264 = 1006,
    _CS_LFS64_LINTFLAGS___264 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___264 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___264 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___264 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___264 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___264 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___264 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___264 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___264 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___264 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___264 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___264 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___264 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___264 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___264 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___264 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___264 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___264 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___264 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___264 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___264 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___264 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___264 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___264 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___264 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___264 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___264 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___264 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___264 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___264 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___264 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___264 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___264 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___264 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___264 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___264 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___264 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___264 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___264 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___264 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___264 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___264 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___264 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___264 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___264 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___264 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___264 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___264 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___264 = 1147,
    _CS_V6_ENV___264 = 1148,
    _CS_V7_ENV___264 = 1149
} ;
enum __anonenum_513775621___264 {
    DT_UNKNOWN___264 = 0,
    DT_FIFO___264 = 1,
    DT_CHR___264 = 2,
    DT_DIR___264 = 4,
    DT_BLK___264 = 6,
    DT_REG___264 = 8,
    DT_LNK___264 = 10,
    DT_SOCK___264 = 12,
    DT_WHT___264 = 14
} ;
enum __anonenum_77002343___264 {
    SI_ASYNCNL___264 = -60,
    SI_TKILL___264 = -6,
    SI_SIGIO___264 = -5,
    SI_ASYNCIO___264 = -4,
    SI_MESGQ___264 = -3,
    SI_TIMER___264 = -2,
    SI_QUEUE___264 = -1,
    SI_USER___264 = 0,
    SI_KERNEL___264 = 128
} ;
enum __anonenum_131038172___264 {
    ILL_ILLOPC___264 = 1,
    ILL_ILLOPN___264 = 2,
    ILL_ILLADR___264 = 3,
    ILL_ILLTRP___264 = 4,
    ILL_PRVOPC___264 = 5,
    ILL_PRVREG___264 = 6,
    ILL_COPROC___264 = 7,
    ILL_BADSTK___264 = 8
} ;
enum __anonenum_452038093___264 {
    FPE_INTDIV___264 = 1,
    FPE_INTOVF___264 = 2,
    FPE_FLTDIV___264 = 3,
    FPE_FLTOVF___264 = 4,
    FPE_FLTUND___264 = 5,
    FPE_FLTRES___264 = 6,
    FPE_FLTINV___264 = 7,
    FPE_FLTSUB___264 = 8
} ;
enum __anonenum_30976155___264 {
    SEGV_MAPERR___264 = 1,
    SEGV_ACCERR___264 = 2,
    SEGV_BNDERR___264 = 3,
    SEGV_PKUERR___264 = 4
} ;
enum __anonenum_1036286214___264 {
    BUS_ADRALN___264 = 1,
    BUS_ADRERR___264 = 2,
    BUS_OBJERR___264 = 3,
    BUS_MCEERR_AR___264 = 4,
    BUS_MCEERR_AO___264 = 5
} ;
enum __anonenum_493465559___264 {
    TRAP_BRKPT___264 = 1,
    TRAP_TRACE___264 = 2
} ;
enum __anonenum_23175539___264 {
    CLD_EXITED___264 = 1,
    CLD_KILLED___264 = 2,
    CLD_DUMPED___264 = 3,
    CLD_TRAPPED___264 = 4,
    CLD_STOPPED___264 = 5,
    CLD_CONTINUED___264 = 6
} ;
enum __anonenum_111643124___264 {
    POLL_IN___264 = 1,
    POLL_OUT___264 = 2,
    POLL_MSG___264 = 3,
    POLL_ERR___264 = 4,
    POLL_PRI___264 = 5,
    POLL_HUP___264 = 6
} ;
enum __anonenum_852341087___264 {
    SIGEV_SIGNAL___264 = 0,
    SIGEV_NONE___264 = 1,
    SIGEV_THREAD___264 = 2,
    SIGEV_THREAD_ID___264 = 4
} ;
enum __anonenum_451154152___264 {
    REG_R8___264 = 0,
    REG_R9___264 = 1,
    REG_R10___264 = 2,
    REG_R11___264 = 3,
    REG_R12___264 = 4,
    REG_R13___264 = 5,
    REG_R14___264 = 6,
    REG_R15___264 = 7,
    REG_RDI___264 = 8,
    REG_RSI___264 = 9,
    REG_RBP___264 = 10,
    REG_RBX___264 = 11,
    REG_RDX___264 = 12,
    REG_RAX___264 = 13,
    REG_RCX___264 = 14,
    REG_RSP___264 = 15,
    REG_RIP___264 = 16,
    REG_EFL___264 = 17,
    REG_CSGSFS___264 = 18,
    REG_ERR___264 = 19,
    REG_TRAPNO___264 = 20,
    REG_OLDMASK___264 = 21,
    REG_CR2___264 = 22
} ;
enum __anonenum_57186863___264 {
    SS_ONSTACK___264 = 1,
    SS_DISABLE___264 = 2
} ;
enum __anonenum_83571709___264 {
    MSG_OOB___264 = 1,
    MSG_PEEK___264 = 2,
    MSG_DONTROUTE___264 = 4,
    MSG_TRYHARD___264 = 4,
    MSG_CTRUNC___264 = 8,
    MSG_PROXY___264 = 16,
    MSG_TRUNC___264 = 32,
    MSG_DONTWAIT___264 = 64,
    MSG_EOR___264 = 128,
    MSG_WAITALL___264 = 256,
    MSG_FIN___264 = 512,
    MSG_SYN___264 = 1024,
    MSG_CONFIRM___264 = 2048,
    MSG_RST___264 = 4096,
    MSG_ERRQUEUE___264 = 8192,
    MSG_NOSIGNAL___264 = 16384,
    MSG_MORE___264 = 32768,
    MSG_WAITFORONE___264 = 65536,
    MSG_BATCH___264 = 262144,
    MSG_ZEROCOPY___264 = 67108864,
    MSG_FASTOPEN___264 = 536870912,
    MSG_CMSG_CLOEXEC___264 = 1073741824
} ;
enum __anonenum_617082774___264 {
    SCM_RIGHTS___264 = 1,
    SCM_CREDENTIALS___264 = 2
} ;
enum __anonenum_606441560___264 {
    SHUT_RD___264 = 0,
    SHUT_WR___264 = 1,
    SHUT_RDWR___264 = 2
} ;
enum __anonenum_681669233___264 {
    IPPROTO_IP___264 = 0,
    IPPROTO_ICMP___264 = 1,
    IPPROTO_IGMP___264 = 2,
    IPPROTO_IPIP___264 = 4,
    IPPROTO_TCP___264 = 6,
    IPPROTO_EGP___264 = 8,
    IPPROTO_PUP___264 = 12,
    IPPROTO_UDP___264 = 17,
    IPPROTO_IDP___264 = 22,
    IPPROTO_TP___264 = 29,
    IPPROTO_DCCP___264 = 33,
    IPPROTO_IPV6___264 = 41,
    IPPROTO_RSVP___264 = 46,
    IPPROTO_GRE___264 = 47,
    IPPROTO_ESP___264 = 50,
    IPPROTO_AH___264 = 51,
    IPPROTO_MTP___264 = 92,
    IPPROTO_BEETPH___264 = 94,
    IPPROTO_ENCAP___264 = 98,
    IPPROTO_PIM___264 = 103,
    IPPROTO_COMP___264 = 108,
    IPPROTO_SCTP___264 = 132,
    IPPROTO_UDPLITE___264 = 136,
    IPPROTO_MPLS___264 = 137,
    IPPROTO_RAW___264 = 255,
    IPPROTO_MAX___264 = 256
} ;
enum __anonenum_218739988___264 {
    IPPROTO_HOPOPTS___264 = 0,
    IPPROTO_ROUTING___264 = 43,
    IPPROTO_FRAGMENT___264 = 44,
    IPPROTO_ICMPV6___264 = 58,
    IPPROTO_NONE___264 = 59,
    IPPROTO_DSTOPTS___264 = 60,
    IPPROTO_MH___264 = 135
} ;
enum __anonenum_662268580___264 {
    IPPORT_ECHO___264 = 7,
    IPPORT_DISCARD___264 = 9,
    IPPORT_SYSTAT___264 = 11,
    IPPORT_DAYTIME___264 = 13,
    IPPORT_NETSTAT___264 = 15,
    IPPORT_FTP___264 = 21,
    IPPORT_TELNET___264 = 23,
    IPPORT_SMTP___264 = 25,
    IPPORT_TIMESERVER___264 = 37,
    IPPORT_NAMESERVER___264 = 42,
    IPPORT_WHOIS___264 = 43,
    IPPORT_MTP___264 = 57,
    IPPORT_TFTP___264 = 69,
    IPPORT_RJE___264 = 77,
    IPPORT_FINGER___264 = 79,
    IPPORT_TTYLINK___264 = 87,
    IPPORT_SUPDUP___264 = 95,
    IPPORT_EXECSERVER___264 = 512,
    IPPORT_LOGINSERVER___264 = 513,
    IPPORT_CMDSERVER___264 = 514,
    IPPORT_EFSSERVER___264 = 520,
    IPPORT_BIFFUDP___264 = 512,
    IPPORT_WHOSERVER___264 = 513,
    IPPORT_ROUTESERVER___264 = 520,
    IPPORT_RESERVED___264 = 1024,
    IPPORT_USERRESERVED___264 = 5000
} ;
enum __anonenum_788308992___264 {
    TCP_ESTABLISHED___264 = 1,
    TCP_SYN_SENT___264 = 2,
    TCP_SYN_RECV___264 = 3,
    TCP_FIN_WAIT1___264 = 4,
    TCP_FIN_WAIT2___264 = 5,
    TCP_TIME_WAIT___264 = 6,
    TCP_CLOSE___264 = 7,
    TCP_CLOSE_WAIT___264 = 8,
    TCP_LAST_ACK___264 = 9,
    TCP_LISTEN___264 = 10,
    TCP_CLOSING___264 = 11
} ;
enum __anonenum_221125648___264 {
    TCP_NO_QUEUE___264 = 0,
    TCP_RECV_QUEUE___264 = 1,
    TCP_SEND_QUEUE___264 = 2,
    TCP_QUEUES_NR___264 = 3
} ;
enum __anonenum_34415463___264 {
    PTHREAD_CREATE_JOINABLE___264 = 0,
    PTHREAD_CREATE_DETACHED___264 = 1
} ;
enum __anonenum_303612439___264 {
    PTHREAD_MUTEX_TIMED_NP___264 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___264 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___264 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___264 = 3,
    PTHREAD_MUTEX_NORMAL___264 = 0,
    PTHREAD_MUTEX_RECURSIVE___264 = 1,
    PTHREAD_MUTEX_ERRORCHECK___264 = 2,
    PTHREAD_MUTEX_DEFAULT___264 = 0,
    PTHREAD_MUTEX_FAST_NP___264 = 0
} ;
enum __anonenum_931900394___264 {
    PTHREAD_MUTEX_STALLED___264 = 0,
    PTHREAD_MUTEX_STALLED_NP___264 = 0,
    PTHREAD_MUTEX_ROBUST___264 = 1,
    PTHREAD_MUTEX_ROBUST_NP___264 = 1
} ;
enum __anonenum_205214487___264 {
    PTHREAD_PRIO_NONE___264 = 0,
    PTHREAD_PRIO_INHERIT___264 = 1,
    PTHREAD_PRIO_PROTECT___264 = 2
} ;
enum __anonenum_25043950___264 {
    PTHREAD_RWLOCK_PREFER_READER_NP___264 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___264 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___264 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___264 = 0
} ;
enum __anonenum_436439511___264 {
    PTHREAD_INHERIT_SCHED___264 = 0,
    PTHREAD_EXPLICIT_SCHED___264 = 1
} ;
enum __anonenum_998661166___264 {
    PTHREAD_SCOPE_SYSTEM___264 = 0,
    PTHREAD_SCOPE_PROCESS___264 = 1
} ;
enum __anonenum_146137331___264 {
    PTHREAD_PROCESS_PRIVATE___264 = 0,
    PTHREAD_PROCESS_SHARED___264 = 1
} ;
enum __anonenum_53396917___264 {
    PTHREAD_CANCEL_ENABLE___264 = 0,
    PTHREAD_CANCEL_DISABLE___264 = 1
} ;
enum __anonenum_904563783___264 {
    PTHREAD_CANCEL_DEFERRED___264 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___264 = 1
} ;
enum __anonenum_672052974___264 {
    SSL_CT_VALIDATION_PERMISSIVE___264 = 0,
    SSL_CT_VALIDATION_STRICT___264 = 1
} ;
struct obj_index_tree_node {
   struct strbuf hash ;
   uint64_t *offsets ;
   size_t offset_len ;
   size_t offset_cap ;
};
struct common_prefix_arg {
   struct strbuf *last ;
   int max ;
};
struct write_record_arg {
   struct reftable_writer *w ;
   int err ;
};
enum __anonenum_437032235___265 {
    _PC_LINK_MAX___265 = 0,
    _PC_MAX_CANON___265 = 1,
    _PC_MAX_INPUT___265 = 2,
    _PC_NAME_MAX___265 = 3,
    _PC_PATH_MAX___265 = 4,
    _PC_PIPE_BUF___265 = 5,
    _PC_CHOWN_RESTRICTED___265 = 6,
    _PC_NO_TRUNC___265 = 7,
    _PC_VDISABLE___265 = 8,
    _PC_SYNC_IO___265 = 9,
    _PC_ASYNC_IO___265 = 10,
    _PC_PRIO_IO___265 = 11,
    _PC_SOCK_MAXBUF___265 = 12,
    _PC_FILESIZEBITS___265 = 13,
    _PC_REC_INCR_XFER_SIZE___265 = 14,
    _PC_REC_MAX_XFER_SIZE___265 = 15,
    _PC_REC_MIN_XFER_SIZE___265 = 16,
    _PC_REC_XFER_ALIGN___265 = 17,
    _PC_ALLOC_SIZE_MIN___265 = 18,
    _PC_SYMLINK_MAX___265 = 19,
    _PC_2_SYMLINKS___265 = 20
} ;
enum __anonenum_315186338___265 {
    _SC_ARG_MAX___265 = 0,
    _SC_CHILD_MAX___265 = 1,
    _SC_CLK_TCK___265 = 2,
    _SC_NGROUPS_MAX___265 = 3,
    _SC_OPEN_MAX___265 = 4,
    _SC_STREAM_MAX___265 = 5,
    _SC_TZNAME_MAX___265 = 6,
    _SC_JOB_CONTROL___265 = 7,
    _SC_SAVED_IDS___265 = 8,
    _SC_REALTIME_SIGNALS___265 = 9,
    _SC_PRIORITY_SCHEDULING___265 = 10,
    _SC_TIMERS___265 = 11,
    _SC_ASYNCHRONOUS_IO___265 = 12,
    _SC_PRIORITIZED_IO___265 = 13,
    _SC_SYNCHRONIZED_IO___265 = 14,
    _SC_FSYNC___265 = 15,
    _SC_MAPPED_FILES___265 = 16,
    _SC_MEMLOCK___265 = 17,
    _SC_MEMLOCK_RANGE___265 = 18,
    _SC_MEMORY_PROTECTION___265 = 19,
    _SC_MESSAGE_PASSING___265 = 20,
    _SC_SEMAPHORES___265 = 21,
    _SC_SHARED_MEMORY_OBJECTS___265 = 22,
    _SC_AIO_LISTIO_MAX___265 = 23,
    _SC_AIO_MAX___265 = 24,
    _SC_AIO_PRIO_DELTA_MAX___265 = 25,
    _SC_DELAYTIMER_MAX___265 = 26,
    _SC_MQ_OPEN_MAX___265 = 27,
    _SC_MQ_PRIO_MAX___265 = 28,
    _SC_VERSION___265 = 29,
    _SC_PAGESIZE___265 = 30,
    _SC_RTSIG_MAX___265 = 31,
    _SC_SEM_NSEMS_MAX___265 = 32,
    _SC_SEM_VALUE_MAX___265 = 33,
    _SC_SIGQUEUE_MAX___265 = 34,
    _SC_TIMER_MAX___265 = 35,
    _SC_BC_BASE_MAX___265 = 36,
    _SC_BC_DIM_MAX___265 = 37,
    _SC_BC_SCALE_MAX___265 = 38,
    _SC_BC_STRING_MAX___265 = 39,
    _SC_COLL_WEIGHTS_MAX___265 = 40,
    _SC_EQUIV_CLASS_MAX___265 = 41,
    _SC_EXPR_NEST_MAX___265 = 42,
    _SC_LINE_MAX___265 = 43,
    _SC_RE_DUP_MAX___265 = 44,
    _SC_CHARCLASS_NAME_MAX___265 = 45,
    _SC_2_VERSION___265 = 46,
    _SC_2_C_BIND___265 = 47,
    _SC_2_C_DEV___265 = 48,
    _SC_2_FORT_DEV___265 = 49,
    _SC_2_FORT_RUN___265 = 50,
    _SC_2_SW_DEV___265 = 51,
    _SC_2_LOCALEDEF___265 = 52,
    _SC_PII___265 = 53,
    _SC_PII_XTI___265 = 54,
    _SC_PII_SOCKET___265 = 55,
    _SC_PII_INTERNET___265 = 56,
    _SC_PII_OSI___265 = 57,
    _SC_POLL___265 = 58,
    _SC_SELECT___265 = 59,
    _SC_UIO_MAXIOV___265 = 60,
    _SC_IOV_MAX___265 = 60,
    _SC_PII_INTERNET_STREAM___265 = 61,
    _SC_PII_INTERNET_DGRAM___265 = 62,
    _SC_PII_OSI_COTS___265 = 63,
    _SC_PII_OSI_CLTS___265 = 64,
    _SC_PII_OSI_M___265 = 65,
    _SC_T_IOV_MAX___265 = 66,
    _SC_THREADS___265 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___265 = 68,
    _SC_GETGR_R_SIZE_MAX___265 = 69,
    _SC_GETPW_R_SIZE_MAX___265 = 70,
    _SC_LOGIN_NAME_MAX___265 = 71,
    _SC_TTY_NAME_MAX___265 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___265 = 73,
    _SC_THREAD_KEYS_MAX___265 = 74,
    _SC_THREAD_STACK_MIN___265 = 75,
    _SC_THREAD_THREADS_MAX___265 = 76,
    _SC_THREAD_ATTR_STACKADDR___265 = 77,
    _SC_THREAD_ATTR_STACKSIZE___265 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___265 = 79,
    _SC_THREAD_PRIO_INHERIT___265 = 80,
    _SC_THREAD_PRIO_PROTECT___265 = 81,
    _SC_THREAD_PROCESS_SHARED___265 = 82,
    _SC_NPROCESSORS_CONF___265 = 83,
    _SC_NPROCESSORS_ONLN___265 = 84,
    _SC_PHYS_PAGES___265 = 85,
    _SC_AVPHYS_PAGES___265 = 86,
    _SC_ATEXIT_MAX___265 = 87,
    _SC_PASS_MAX___265 = 88,
    _SC_XOPEN_VERSION___265 = 89,
    _SC_XOPEN_XCU_VERSION___265 = 90,
    _SC_XOPEN_UNIX___265 = 91,
    _SC_XOPEN_CRYPT___265 = 92,
    _SC_XOPEN_ENH_I18N___265 = 93,
    _SC_XOPEN_SHM___265 = 94,
    _SC_2_CHAR_TERM___265 = 95,
    _SC_2_C_VERSION___265 = 96,
    _SC_2_UPE___265 = 97,
    _SC_XOPEN_XPG2___265 = 98,
    _SC_XOPEN_XPG3___265 = 99,
    _SC_XOPEN_XPG4___265 = 100,
    _SC_CHAR_BIT___265 = 101,
    _SC_CHAR_MAX___265 = 102,
    _SC_CHAR_MIN___265 = 103,
    _SC_INT_MAX___265 = 104,
    _SC_INT_MIN___265 = 105,
    _SC_LONG_BIT___265 = 106,
    _SC_WORD_BIT___265 = 107,
    _SC_MB_LEN_MAX___265 = 108,
    _SC_NZERO___265 = 109,
    _SC_SSIZE_MAX___265 = 110,
    _SC_SCHAR_MAX___265 = 111,
    _SC_SCHAR_MIN___265 = 112,
    _SC_SHRT_MAX___265 = 113,
    _SC_SHRT_MIN___265 = 114,
    _SC_UCHAR_MAX___265 = 115,
    _SC_UINT_MAX___265 = 116,
    _SC_ULONG_MAX___265 = 117,
    _SC_USHRT_MAX___265 = 118,
    _SC_NL_ARGMAX___265 = 119,
    _SC_NL_LANGMAX___265 = 120,
    _SC_NL_MSGMAX___265 = 121,
    _SC_NL_NMAX___265 = 122,
    _SC_NL_SETMAX___265 = 123,
    _SC_NL_TEXTMAX___265 = 124,
    _SC_XBS5_ILP32_OFF32___265 = 125,
    _SC_XBS5_ILP32_OFFBIG___265 = 126,
    _SC_XBS5_LP64_OFF64___265 = 127,
    _SC_XBS5_LPBIG_OFFBIG___265 = 128,
    _SC_XOPEN_LEGACY___265 = 129,
    _SC_XOPEN_REALTIME___265 = 130,
    _SC_XOPEN_REALTIME_THREADS___265 = 131,
    _SC_ADVISORY_INFO___265 = 132,
    _SC_BARRIERS___265 = 133,
    _SC_BASE___265 = 134,
    _SC_C_LANG_SUPPORT___265 = 135,
    _SC_C_LANG_SUPPORT_R___265 = 136,
    _SC_CLOCK_SELECTION___265 = 137,
    _SC_CPUTIME___265 = 138,
    _SC_THREAD_CPUTIME___265 = 139,
    _SC_DEVICE_IO___265 = 140,
    _SC_DEVICE_SPECIFIC___265 = 141,
    _SC_DEVICE_SPECIFIC_R___265 = 142,
    _SC_FD_MGMT___265 = 143,
    _SC_FIFO___265 = 144,
    _SC_PIPE___265 = 145,
    _SC_FILE_ATTRIBUTES___265 = 146,
    _SC_FILE_LOCKING___265 = 147,
    _SC_FILE_SYSTEM___265 = 148,
    _SC_MONOTONIC_CLOCK___265 = 149,
    _SC_MULTI_PROCESS___265 = 150,
    _SC_SINGLE_PROCESS___265 = 151,
    _SC_NETWORKING___265 = 152,
    _SC_READER_WRITER_LOCKS___265 = 153,
    _SC_SPIN_LOCKS___265 = 154,
    _SC_REGEXP___265 = 155,
    _SC_REGEX_VERSION___265 = 156,
    _SC_SHELL___265 = 157,
    _SC_SIGNALS___265 = 158,
    _SC_SPAWN___265 = 159,
    _SC_SPORADIC_SERVER___265 = 160,
    _SC_THREAD_SPORADIC_SERVER___265 = 161,
    _SC_SYSTEM_DATABASE___265 = 162,
    _SC_SYSTEM_DATABASE_R___265 = 163,
    _SC_TIMEOUTS___265 = 164,
    _SC_TYPED_MEMORY_OBJECTS___265 = 165,
    _SC_USER_GROUPS___265 = 166,
    _SC_USER_GROUPS_R___265 = 167,
    _SC_2_PBS___265 = 168,
    _SC_2_PBS_ACCOUNTING___265 = 169,
    _SC_2_PBS_LOCATE___265 = 170,
    _SC_2_PBS_MESSAGE___265 = 171,
    _SC_2_PBS_TRACK___265 = 172,
    _SC_SYMLOOP_MAX___265 = 173,
    _SC_STREAMS___265 = 174,
    _SC_2_PBS_CHECKPOINT___265 = 175,
    _SC_V6_ILP32_OFF32___265 = 176,
    _SC_V6_ILP32_OFFBIG___265 = 177,
    _SC_V6_LP64_OFF64___265 = 178,
    _SC_V6_LPBIG_OFFBIG___265 = 179,
    _SC_HOST_NAME_MAX___265 = 180,
    _SC_TRACE___265 = 181,
    _SC_TRACE_EVENT_FILTER___265 = 182,
    _SC_TRACE_INHERIT___265 = 183,
    _SC_TRACE_LOG___265 = 184,
    _SC_LEVEL1_ICACHE_SIZE___265 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___265 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___265 = 187,
    _SC_LEVEL1_DCACHE_SIZE___265 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___265 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___265 = 190,
    _SC_LEVEL2_CACHE_SIZE___265 = 191,
    _SC_LEVEL2_CACHE_ASSOC___265 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___265 = 193,
    _SC_LEVEL3_CACHE_SIZE___265 = 194,
    _SC_LEVEL3_CACHE_ASSOC___265 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___265 = 196,
    _SC_LEVEL4_CACHE_SIZE___265 = 197,
    _SC_LEVEL4_CACHE_ASSOC___265 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___265 = 199,
    _SC_IPV6___265 = 235,
    _SC_RAW_SOCKETS___265 = 236,
    _SC_V7_ILP32_OFF32___265 = 237,
    _SC_V7_ILP32_OFFBIG___265 = 238,
    _SC_V7_LP64_OFF64___265 = 239,
    _SC_V7_LPBIG_OFFBIG___265 = 240,
    _SC_SS_REPL_MAX___265 = 241,
    _SC_TRACE_EVENT_NAME_MAX___265 = 242,
    _SC_TRACE_NAME_MAX___265 = 243,
    _SC_TRACE_SYS_MAX___265 = 244,
    _SC_TRACE_USER_EVENT_MAX___265 = 245,
    _SC_XOPEN_STREAMS___265 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___265 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___265 = 248
} ;
enum __anonenum_875524036___265 {
    _CS_PATH___265 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___265 = 1,
    _CS_GNU_LIBC_VERSION___265 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___265 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___265 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___265 = 5,
    _CS_LFS_CFLAGS___265 = 1000,
    _CS_LFS_LDFLAGS___265 = 1001,
    _CS_LFS_LIBS___265 = 1002,
    _CS_LFS_LINTFLAGS___265 = 1003,
    _CS_LFS64_CFLAGS___265 = 1004,
    _CS_LFS64_LDFLAGS___265 = 1005,
    _CS_LFS64_LIBS___265 = 1006,
    _CS_LFS64_LINTFLAGS___265 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___265 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___265 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___265 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___265 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___265 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___265 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___265 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___265 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___265 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___265 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___265 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___265 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___265 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___265 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___265 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___265 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___265 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___265 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___265 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___265 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___265 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___265 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___265 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___265 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___265 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___265 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___265 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___265 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___265 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___265 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___265 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___265 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___265 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___265 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___265 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___265 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___265 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___265 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___265 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___265 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___265 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___265 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___265 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___265 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___265 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___265 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___265 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___265 = 1147,
    _CS_V6_ENV___265 = 1148,
    _CS_V7_ENV___265 = 1149
} ;
enum __anonenum_513775621___265 {
    DT_UNKNOWN___265 = 0,
    DT_FIFO___265 = 1,
    DT_CHR___265 = 2,
    DT_DIR___265 = 4,
    DT_BLK___265 = 6,
    DT_REG___265 = 8,
    DT_LNK___265 = 10,
    DT_SOCK___265 = 12,
    DT_WHT___265 = 14
} ;
enum __anonenum_77002343___265 {
    SI_ASYNCNL___265 = -60,
    SI_TKILL___265 = -6,
    SI_SIGIO___265 = -5,
    SI_ASYNCIO___265 = -4,
    SI_MESGQ___265 = -3,
    SI_TIMER___265 = -2,
    SI_QUEUE___265 = -1,
    SI_USER___265 = 0,
    SI_KERNEL___265 = 128
} ;
enum __anonenum_131038172___265 {
    ILL_ILLOPC___265 = 1,
    ILL_ILLOPN___265 = 2,
    ILL_ILLADR___265 = 3,
    ILL_ILLTRP___265 = 4,
    ILL_PRVOPC___265 = 5,
    ILL_PRVREG___265 = 6,
    ILL_COPROC___265 = 7,
    ILL_BADSTK___265 = 8
} ;
enum __anonenum_452038093___265 {
    FPE_INTDIV___265 = 1,
    FPE_INTOVF___265 = 2,
    FPE_FLTDIV___265 = 3,
    FPE_FLTOVF___265 = 4,
    FPE_FLTUND___265 = 5,
    FPE_FLTRES___265 = 6,
    FPE_FLTINV___265 = 7,
    FPE_FLTSUB___265 = 8
} ;
enum __anonenum_30976155___265 {
    SEGV_MAPERR___265 = 1,
    SEGV_ACCERR___265 = 2,
    SEGV_BNDERR___265 = 3,
    SEGV_PKUERR___265 = 4
} ;
enum __anonenum_1036286214___265 {
    BUS_ADRALN___265 = 1,
    BUS_ADRERR___265 = 2,
    BUS_OBJERR___265 = 3,
    BUS_MCEERR_AR___265 = 4,
    BUS_MCEERR_AO___265 = 5
} ;
enum __anonenum_493465559___265 {
    TRAP_BRKPT___265 = 1,
    TRAP_TRACE___265 = 2
} ;
enum __anonenum_23175539___265 {
    CLD_EXITED___265 = 1,
    CLD_KILLED___265 = 2,
    CLD_DUMPED___265 = 3,
    CLD_TRAPPED___265 = 4,
    CLD_STOPPED___265 = 5,
    CLD_CONTINUED___265 = 6
} ;
enum __anonenum_111643124___265 {
    POLL_IN___265 = 1,
    POLL_OUT___265 = 2,
    POLL_MSG___265 = 3,
    POLL_ERR___265 = 4,
    POLL_PRI___265 = 5,
    POLL_HUP___265 = 6
} ;
enum __anonenum_852341087___265 {
    SIGEV_SIGNAL___265 = 0,
    SIGEV_NONE___265 = 1,
    SIGEV_THREAD___265 = 2,
    SIGEV_THREAD_ID___265 = 4
} ;
enum __anonenum_451154152___265 {
    REG_R8___265 = 0,
    REG_R9___265 = 1,
    REG_R10___265 = 2,
    REG_R11___265 = 3,
    REG_R12___265 = 4,
    REG_R13___265 = 5,
    REG_R14___265 = 6,
    REG_R15___265 = 7,
    REG_RDI___265 = 8,
    REG_RSI___265 = 9,
    REG_RBP___265 = 10,
    REG_RBX___265 = 11,
    REG_RDX___265 = 12,
    REG_RAX___265 = 13,
    REG_RCX___265 = 14,
    REG_RSP___265 = 15,
    REG_RIP___265 = 16,
    REG_EFL___265 = 17,
    REG_CSGSFS___265 = 18,
    REG_ERR___265 = 19,
    REG_TRAPNO___265 = 20,
    REG_OLDMASK___265 = 21,
    REG_CR2___265 = 22
} ;
enum __anonenum_57186863___265 {
    SS_ONSTACK___265 = 1,
    SS_DISABLE___265 = 2
} ;
enum __anonenum_83571709___265 {
    MSG_OOB___265 = 1,
    MSG_PEEK___265 = 2,
    MSG_DONTROUTE___265 = 4,
    MSG_TRYHARD___265 = 4,
    MSG_CTRUNC___265 = 8,
    MSG_PROXY___265 = 16,
    MSG_TRUNC___265 = 32,
    MSG_DONTWAIT___265 = 64,
    MSG_EOR___265 = 128,
    MSG_WAITALL___265 = 256,
    MSG_FIN___265 = 512,
    MSG_SYN___265 = 1024,
    MSG_CONFIRM___265 = 2048,
    MSG_RST___265 = 4096,
    MSG_ERRQUEUE___265 = 8192,
    MSG_NOSIGNAL___265 = 16384,
    MSG_MORE___265 = 32768,
    MSG_WAITFORONE___265 = 65536,
    MSG_BATCH___265 = 262144,
    MSG_ZEROCOPY___265 = 67108864,
    MSG_FASTOPEN___265 = 536870912,
    MSG_CMSG_CLOEXEC___265 = 1073741824
} ;
enum __anonenum_617082774___265 {
    SCM_RIGHTS___265 = 1,
    SCM_CREDENTIALS___265 = 2
} ;
enum __anonenum_606441560___265 {
    SHUT_RD___265 = 0,
    SHUT_WR___265 = 1,
    SHUT_RDWR___265 = 2
} ;
enum __anonenum_681669233___265 {
    IPPROTO_IP___265 = 0,
    IPPROTO_ICMP___265 = 1,
    IPPROTO_IGMP___265 = 2,
    IPPROTO_IPIP___265 = 4,
    IPPROTO_TCP___265 = 6,
    IPPROTO_EGP___265 = 8,
    IPPROTO_PUP___265 = 12,
    IPPROTO_UDP___265 = 17,
    IPPROTO_IDP___265 = 22,
    IPPROTO_TP___265 = 29,
    IPPROTO_DCCP___265 = 33,
    IPPROTO_IPV6___265 = 41,
    IPPROTO_RSVP___265 = 46,
    IPPROTO_GRE___265 = 47,
    IPPROTO_ESP___265 = 50,
    IPPROTO_AH___265 = 51,
    IPPROTO_MTP___265 = 92,
    IPPROTO_BEETPH___265 = 94,
    IPPROTO_ENCAP___265 = 98,
    IPPROTO_PIM___265 = 103,
    IPPROTO_COMP___265 = 108,
    IPPROTO_SCTP___265 = 132,
    IPPROTO_UDPLITE___265 = 136,
    IPPROTO_MPLS___265 = 137,
    IPPROTO_RAW___265 = 255,
    IPPROTO_MAX___265 = 256
} ;
enum __anonenum_218739988___265 {
    IPPROTO_HOPOPTS___265 = 0,
    IPPROTO_ROUTING___265 = 43,
    IPPROTO_FRAGMENT___265 = 44,
    IPPROTO_ICMPV6___265 = 58,
    IPPROTO_NONE___265 = 59,
    IPPROTO_DSTOPTS___265 = 60,
    IPPROTO_MH___265 = 135
} ;
enum __anonenum_662268580___265 {
    IPPORT_ECHO___265 = 7,
    IPPORT_DISCARD___265 = 9,
    IPPORT_SYSTAT___265 = 11,
    IPPORT_DAYTIME___265 = 13,
    IPPORT_NETSTAT___265 = 15,
    IPPORT_FTP___265 = 21,
    IPPORT_TELNET___265 = 23,
    IPPORT_SMTP___265 = 25,
    IPPORT_TIMESERVER___265 = 37,
    IPPORT_NAMESERVER___265 = 42,
    IPPORT_WHOIS___265 = 43,
    IPPORT_MTP___265 = 57,
    IPPORT_TFTP___265 = 69,
    IPPORT_RJE___265 = 77,
    IPPORT_FINGER___265 = 79,
    IPPORT_TTYLINK___265 = 87,
    IPPORT_SUPDUP___265 = 95,
    IPPORT_EXECSERVER___265 = 512,
    IPPORT_LOGINSERVER___265 = 513,
    IPPORT_CMDSERVER___265 = 514,
    IPPORT_EFSSERVER___265 = 520,
    IPPORT_BIFFUDP___265 = 512,
    IPPORT_WHOSERVER___265 = 513,
    IPPORT_ROUTESERVER___265 = 520,
    IPPORT_RESERVED___265 = 1024,
    IPPORT_USERRESERVED___265 = 5000
} ;
enum __anonenum_788308992___265 {
    TCP_ESTABLISHED___265 = 1,
    TCP_SYN_SENT___265 = 2,
    TCP_SYN_RECV___265 = 3,
    TCP_FIN_WAIT1___265 = 4,
    TCP_FIN_WAIT2___265 = 5,
    TCP_TIME_WAIT___265 = 6,
    TCP_CLOSE___265 = 7,
    TCP_CLOSE_WAIT___265 = 8,
    TCP_LAST_ACK___265 = 9,
    TCP_LISTEN___265 = 10,
    TCP_CLOSING___265 = 11
} ;
enum __anonenum_221125648___265 {
    TCP_NO_QUEUE___265 = 0,
    TCP_RECV_QUEUE___265 = 1,
    TCP_SEND_QUEUE___265 = 2,
    TCP_QUEUES_NR___265 = 3
} ;
enum __anonenum_34415463___265 {
    PTHREAD_CREATE_JOINABLE___265 = 0,
    PTHREAD_CREATE_DETACHED___265 = 1
} ;
enum __anonenum_303612439___265 {
    PTHREAD_MUTEX_TIMED_NP___265 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___265 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___265 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___265 = 3,
    PTHREAD_MUTEX_NORMAL___265 = 0,
    PTHREAD_MUTEX_RECURSIVE___265 = 1,
    PTHREAD_MUTEX_ERRORCHECK___265 = 2,
    PTHREAD_MUTEX_DEFAULT___265 = 0,
    PTHREAD_MUTEX_FAST_NP___265 = 0
} ;
enum __anonenum_931900394___265 {
    PTHREAD_MUTEX_STALLED___265 = 0,
    PTHREAD_MUTEX_STALLED_NP___265 = 0,
    PTHREAD_MUTEX_ROBUST___265 = 1,
    PTHREAD_MUTEX_ROBUST_NP___265 = 1
} ;
enum __anonenum_205214487___265 {
    PTHREAD_PRIO_NONE___265 = 0,
    PTHREAD_PRIO_INHERIT___265 = 1,
    PTHREAD_PRIO_PROTECT___265 = 2
} ;
enum __anonenum_25043950___265 {
    PTHREAD_RWLOCK_PREFER_READER_NP___265 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___265 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___265 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___265 = 0
} ;
enum __anonenum_436439511___265 {
    PTHREAD_INHERIT_SCHED___265 = 0,
    PTHREAD_EXPLICIT_SCHED___265 = 1
} ;
enum __anonenum_998661166___265 {
    PTHREAD_SCOPE_SYSTEM___265 = 0,
    PTHREAD_SCOPE_PROCESS___265 = 1
} ;
enum __anonenum_146137331___265 {
    PTHREAD_PROCESS_PRIVATE___265 = 0,
    PTHREAD_PROCESS_SHARED___265 = 1
} ;
enum __anonenum_53396917___265 {
    PTHREAD_CANCEL_ENABLE___265 = 0,
    PTHREAD_CANCEL_DISABLE___265 = 1
} ;
enum __anonenum_904563783___265 {
    PTHREAD_CANCEL_DEFERRED___265 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___265 = 1
} ;
enum __anonenum_672052974___265 {
    SSL_CT_VALIDATION_PERMISSIVE___265 = 0,
    SSL_CT_VALIDATION_STRICT___265 = 1
} ;
struct rpc_service {
   char const   *name ;
   char const   *config_name ;
   unsigned int buffer_input : 1 ;
   int enabled : 2 ;
};
struct service_cmd {
   char const   *method ;
   char const   *pattern ;
   void (*imp)(struct strbuf * , char * ) ;
};
enum __anonenum_437032235___266 {
    _PC_LINK_MAX___266 = 0,
    _PC_MAX_CANON___266 = 1,
    _PC_MAX_INPUT___266 = 2,
    _PC_NAME_MAX___266 = 3,
    _PC_PATH_MAX___266 = 4,
    _PC_PIPE_BUF___266 = 5,
    _PC_CHOWN_RESTRICTED___266 = 6,
    _PC_NO_TRUNC___266 = 7,
    _PC_VDISABLE___266 = 8,
    _PC_SYNC_IO___266 = 9,
    _PC_ASYNC_IO___266 = 10,
    _PC_PRIO_IO___266 = 11,
    _PC_SOCK_MAXBUF___266 = 12,
    _PC_FILESIZEBITS___266 = 13,
    _PC_REC_INCR_XFER_SIZE___266 = 14,
    _PC_REC_MAX_XFER_SIZE___266 = 15,
    _PC_REC_MIN_XFER_SIZE___266 = 16,
    _PC_REC_XFER_ALIGN___266 = 17,
    _PC_ALLOC_SIZE_MIN___266 = 18,
    _PC_SYMLINK_MAX___266 = 19,
    _PC_2_SYMLINKS___266 = 20
} ;
enum __anonenum_315186338___266 {
    _SC_ARG_MAX___266 = 0,
    _SC_CHILD_MAX___266 = 1,
    _SC_CLK_TCK___266 = 2,
    _SC_NGROUPS_MAX___266 = 3,
    _SC_OPEN_MAX___266 = 4,
    _SC_STREAM_MAX___266 = 5,
    _SC_TZNAME_MAX___266 = 6,
    _SC_JOB_CONTROL___266 = 7,
    _SC_SAVED_IDS___266 = 8,
    _SC_REALTIME_SIGNALS___266 = 9,
    _SC_PRIORITY_SCHEDULING___266 = 10,
    _SC_TIMERS___266 = 11,
    _SC_ASYNCHRONOUS_IO___266 = 12,
    _SC_PRIORITIZED_IO___266 = 13,
    _SC_SYNCHRONIZED_IO___266 = 14,
    _SC_FSYNC___266 = 15,
    _SC_MAPPED_FILES___266 = 16,
    _SC_MEMLOCK___266 = 17,
    _SC_MEMLOCK_RANGE___266 = 18,
    _SC_MEMORY_PROTECTION___266 = 19,
    _SC_MESSAGE_PASSING___266 = 20,
    _SC_SEMAPHORES___266 = 21,
    _SC_SHARED_MEMORY_OBJECTS___266 = 22,
    _SC_AIO_LISTIO_MAX___266 = 23,
    _SC_AIO_MAX___266 = 24,
    _SC_AIO_PRIO_DELTA_MAX___266 = 25,
    _SC_DELAYTIMER_MAX___266 = 26,
    _SC_MQ_OPEN_MAX___266 = 27,
    _SC_MQ_PRIO_MAX___266 = 28,
    _SC_VERSION___266 = 29,
    _SC_PAGESIZE___266 = 30,
    _SC_RTSIG_MAX___266 = 31,
    _SC_SEM_NSEMS_MAX___266 = 32,
    _SC_SEM_VALUE_MAX___266 = 33,
    _SC_SIGQUEUE_MAX___266 = 34,
    _SC_TIMER_MAX___266 = 35,
    _SC_BC_BASE_MAX___266 = 36,
    _SC_BC_DIM_MAX___266 = 37,
    _SC_BC_SCALE_MAX___266 = 38,
    _SC_BC_STRING_MAX___266 = 39,
    _SC_COLL_WEIGHTS_MAX___266 = 40,
    _SC_EQUIV_CLASS_MAX___266 = 41,
    _SC_EXPR_NEST_MAX___266 = 42,
    _SC_LINE_MAX___266 = 43,
    _SC_RE_DUP_MAX___266 = 44,
    _SC_CHARCLASS_NAME_MAX___266 = 45,
    _SC_2_VERSION___266 = 46,
    _SC_2_C_BIND___266 = 47,
    _SC_2_C_DEV___266 = 48,
    _SC_2_FORT_DEV___266 = 49,
    _SC_2_FORT_RUN___266 = 50,
    _SC_2_SW_DEV___266 = 51,
    _SC_2_LOCALEDEF___266 = 52,
    _SC_PII___266 = 53,
    _SC_PII_XTI___266 = 54,
    _SC_PII_SOCKET___266 = 55,
    _SC_PII_INTERNET___266 = 56,
    _SC_PII_OSI___266 = 57,
    _SC_POLL___266 = 58,
    _SC_SELECT___266 = 59,
    _SC_UIO_MAXIOV___266 = 60,
    _SC_IOV_MAX___266 = 60,
    _SC_PII_INTERNET_STREAM___266 = 61,
    _SC_PII_INTERNET_DGRAM___266 = 62,
    _SC_PII_OSI_COTS___266 = 63,
    _SC_PII_OSI_CLTS___266 = 64,
    _SC_PII_OSI_M___266 = 65,
    _SC_T_IOV_MAX___266 = 66,
    _SC_THREADS___266 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___266 = 68,
    _SC_GETGR_R_SIZE_MAX___266 = 69,
    _SC_GETPW_R_SIZE_MAX___266 = 70,
    _SC_LOGIN_NAME_MAX___266 = 71,
    _SC_TTY_NAME_MAX___266 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___266 = 73,
    _SC_THREAD_KEYS_MAX___266 = 74,
    _SC_THREAD_STACK_MIN___266 = 75,
    _SC_THREAD_THREADS_MAX___266 = 76,
    _SC_THREAD_ATTR_STACKADDR___266 = 77,
    _SC_THREAD_ATTR_STACKSIZE___266 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___266 = 79,
    _SC_THREAD_PRIO_INHERIT___266 = 80,
    _SC_THREAD_PRIO_PROTECT___266 = 81,
    _SC_THREAD_PROCESS_SHARED___266 = 82,
    _SC_NPROCESSORS_CONF___266 = 83,
    _SC_NPROCESSORS_ONLN___266 = 84,
    _SC_PHYS_PAGES___266 = 85,
    _SC_AVPHYS_PAGES___266 = 86,
    _SC_ATEXIT_MAX___266 = 87,
    _SC_PASS_MAX___266 = 88,
    _SC_XOPEN_VERSION___266 = 89,
    _SC_XOPEN_XCU_VERSION___266 = 90,
    _SC_XOPEN_UNIX___266 = 91,
    _SC_XOPEN_CRYPT___266 = 92,
    _SC_XOPEN_ENH_I18N___266 = 93,
    _SC_XOPEN_SHM___266 = 94,
    _SC_2_CHAR_TERM___266 = 95,
    _SC_2_C_VERSION___266 = 96,
    _SC_2_UPE___266 = 97,
    _SC_XOPEN_XPG2___266 = 98,
    _SC_XOPEN_XPG3___266 = 99,
    _SC_XOPEN_XPG4___266 = 100,
    _SC_CHAR_BIT___266 = 101,
    _SC_CHAR_MAX___266 = 102,
    _SC_CHAR_MIN___266 = 103,
    _SC_INT_MAX___266 = 104,
    _SC_INT_MIN___266 = 105,
    _SC_LONG_BIT___266 = 106,
    _SC_WORD_BIT___266 = 107,
    _SC_MB_LEN_MAX___266 = 108,
    _SC_NZERO___266 = 109,
    _SC_SSIZE_MAX___266 = 110,
    _SC_SCHAR_MAX___266 = 111,
    _SC_SCHAR_MIN___266 = 112,
    _SC_SHRT_MAX___266 = 113,
    _SC_SHRT_MIN___266 = 114,
    _SC_UCHAR_MAX___266 = 115,
    _SC_UINT_MAX___266 = 116,
    _SC_ULONG_MAX___266 = 117,
    _SC_USHRT_MAX___266 = 118,
    _SC_NL_ARGMAX___266 = 119,
    _SC_NL_LANGMAX___266 = 120,
    _SC_NL_MSGMAX___266 = 121,
    _SC_NL_NMAX___266 = 122,
    _SC_NL_SETMAX___266 = 123,
    _SC_NL_TEXTMAX___266 = 124,
    _SC_XBS5_ILP32_OFF32___266 = 125,
    _SC_XBS5_ILP32_OFFBIG___266 = 126,
    _SC_XBS5_LP64_OFF64___266 = 127,
    _SC_XBS5_LPBIG_OFFBIG___266 = 128,
    _SC_XOPEN_LEGACY___266 = 129,
    _SC_XOPEN_REALTIME___266 = 130,
    _SC_XOPEN_REALTIME_THREADS___266 = 131,
    _SC_ADVISORY_INFO___266 = 132,
    _SC_BARRIERS___266 = 133,
    _SC_BASE___266 = 134,
    _SC_C_LANG_SUPPORT___266 = 135,
    _SC_C_LANG_SUPPORT_R___266 = 136,
    _SC_CLOCK_SELECTION___266 = 137,
    _SC_CPUTIME___266 = 138,
    _SC_THREAD_CPUTIME___266 = 139,
    _SC_DEVICE_IO___266 = 140,
    _SC_DEVICE_SPECIFIC___266 = 141,
    _SC_DEVICE_SPECIFIC_R___266 = 142,
    _SC_FD_MGMT___266 = 143,
    _SC_FIFO___266 = 144,
    _SC_PIPE___266 = 145,
    _SC_FILE_ATTRIBUTES___266 = 146,
    _SC_FILE_LOCKING___266 = 147,
    _SC_FILE_SYSTEM___266 = 148,
    _SC_MONOTONIC_CLOCK___266 = 149,
    _SC_MULTI_PROCESS___266 = 150,
    _SC_SINGLE_PROCESS___266 = 151,
    _SC_NETWORKING___266 = 152,
    _SC_READER_WRITER_LOCKS___266 = 153,
    _SC_SPIN_LOCKS___266 = 154,
    _SC_REGEXP___266 = 155,
    _SC_REGEX_VERSION___266 = 156,
    _SC_SHELL___266 = 157,
    _SC_SIGNALS___266 = 158,
    _SC_SPAWN___266 = 159,
    _SC_SPORADIC_SERVER___266 = 160,
    _SC_THREAD_SPORADIC_SERVER___266 = 161,
    _SC_SYSTEM_DATABASE___266 = 162,
    _SC_SYSTEM_DATABASE_R___266 = 163,
    _SC_TIMEOUTS___266 = 164,
    _SC_TYPED_MEMORY_OBJECTS___266 = 165,
    _SC_USER_GROUPS___266 = 166,
    _SC_USER_GROUPS_R___266 = 167,
    _SC_2_PBS___266 = 168,
    _SC_2_PBS_ACCOUNTING___266 = 169,
    _SC_2_PBS_LOCATE___266 = 170,
    _SC_2_PBS_MESSAGE___266 = 171,
    _SC_2_PBS_TRACK___266 = 172,
    _SC_SYMLOOP_MAX___266 = 173,
    _SC_STREAMS___266 = 174,
    _SC_2_PBS_CHECKPOINT___266 = 175,
    _SC_V6_ILP32_OFF32___266 = 176,
    _SC_V6_ILP32_OFFBIG___266 = 177,
    _SC_V6_LP64_OFF64___266 = 178,
    _SC_V6_LPBIG_OFFBIG___266 = 179,
    _SC_HOST_NAME_MAX___266 = 180,
    _SC_TRACE___266 = 181,
    _SC_TRACE_EVENT_FILTER___266 = 182,
    _SC_TRACE_INHERIT___266 = 183,
    _SC_TRACE_LOG___266 = 184,
    _SC_LEVEL1_ICACHE_SIZE___266 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___266 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___266 = 187,
    _SC_LEVEL1_DCACHE_SIZE___266 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___266 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___266 = 190,
    _SC_LEVEL2_CACHE_SIZE___266 = 191,
    _SC_LEVEL2_CACHE_ASSOC___266 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___266 = 193,
    _SC_LEVEL3_CACHE_SIZE___266 = 194,
    _SC_LEVEL3_CACHE_ASSOC___266 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___266 = 196,
    _SC_LEVEL4_CACHE_SIZE___266 = 197,
    _SC_LEVEL4_CACHE_ASSOC___266 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___266 = 199,
    _SC_IPV6___266 = 235,
    _SC_RAW_SOCKETS___266 = 236,
    _SC_V7_ILP32_OFF32___266 = 237,
    _SC_V7_ILP32_OFFBIG___266 = 238,
    _SC_V7_LP64_OFF64___266 = 239,
    _SC_V7_LPBIG_OFFBIG___266 = 240,
    _SC_SS_REPL_MAX___266 = 241,
    _SC_TRACE_EVENT_NAME_MAX___266 = 242,
    _SC_TRACE_NAME_MAX___266 = 243,
    _SC_TRACE_SYS_MAX___266 = 244,
    _SC_TRACE_USER_EVENT_MAX___266 = 245,
    _SC_XOPEN_STREAMS___266 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___266 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___266 = 248
} ;
enum __anonenum_875524036___266 {
    _CS_PATH___266 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___266 = 1,
    _CS_GNU_LIBC_VERSION___266 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___266 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___266 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___266 = 5,
    _CS_LFS_CFLAGS___266 = 1000,
    _CS_LFS_LDFLAGS___266 = 1001,
    _CS_LFS_LIBS___266 = 1002,
    _CS_LFS_LINTFLAGS___266 = 1003,
    _CS_LFS64_CFLAGS___266 = 1004,
    _CS_LFS64_LDFLAGS___266 = 1005,
    _CS_LFS64_LIBS___266 = 1006,
    _CS_LFS64_LINTFLAGS___266 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___266 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___266 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___266 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___266 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___266 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___266 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___266 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___266 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___266 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___266 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___266 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___266 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___266 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___266 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___266 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___266 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___266 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___266 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___266 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___266 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___266 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___266 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___266 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___266 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___266 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___266 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___266 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___266 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___266 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___266 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___266 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___266 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___266 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___266 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___266 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___266 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___266 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___266 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___266 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___266 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___266 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___266 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___266 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___266 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___266 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___266 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___266 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___266 = 1147,
    _CS_V6_ENV___266 = 1148,
    _CS_V7_ENV___266 = 1149
} ;
enum __anonenum_513775621___266 {
    DT_UNKNOWN___266 = 0,
    DT_FIFO___266 = 1,
    DT_CHR___266 = 2,
    DT_DIR___266 = 4,
    DT_BLK___266 = 6,
    DT_REG___266 = 8,
    DT_LNK___266 = 10,
    DT_SOCK___266 = 12,
    DT_WHT___266 = 14
} ;
enum __anonenum_77002343___266 {
    SI_ASYNCNL___266 = -60,
    SI_TKILL___266 = -6,
    SI_SIGIO___266 = -5,
    SI_ASYNCIO___266 = -4,
    SI_MESGQ___266 = -3,
    SI_TIMER___266 = -2,
    SI_QUEUE___266 = -1,
    SI_USER___266 = 0,
    SI_KERNEL___266 = 128
} ;
enum __anonenum_131038172___266 {
    ILL_ILLOPC___266 = 1,
    ILL_ILLOPN___266 = 2,
    ILL_ILLADR___266 = 3,
    ILL_ILLTRP___266 = 4,
    ILL_PRVOPC___266 = 5,
    ILL_PRVREG___266 = 6,
    ILL_COPROC___266 = 7,
    ILL_BADSTK___266 = 8
} ;
enum __anonenum_452038093___266 {
    FPE_INTDIV___266 = 1,
    FPE_INTOVF___266 = 2,
    FPE_FLTDIV___266 = 3,
    FPE_FLTOVF___266 = 4,
    FPE_FLTUND___266 = 5,
    FPE_FLTRES___266 = 6,
    FPE_FLTINV___266 = 7,
    FPE_FLTSUB___266 = 8
} ;
enum __anonenum_30976155___266 {
    SEGV_MAPERR___266 = 1,
    SEGV_ACCERR___266 = 2,
    SEGV_BNDERR___266 = 3,
    SEGV_PKUERR___266 = 4
} ;
enum __anonenum_1036286214___266 {
    BUS_ADRALN___266 = 1,
    BUS_ADRERR___266 = 2,
    BUS_OBJERR___266 = 3,
    BUS_MCEERR_AR___266 = 4,
    BUS_MCEERR_AO___266 = 5
} ;
enum __anonenum_493465559___266 {
    TRAP_BRKPT___266 = 1,
    TRAP_TRACE___266 = 2
} ;
enum __anonenum_23175539___266 {
    CLD_EXITED___266 = 1,
    CLD_KILLED___266 = 2,
    CLD_DUMPED___266 = 3,
    CLD_TRAPPED___266 = 4,
    CLD_STOPPED___266 = 5,
    CLD_CONTINUED___266 = 6
} ;
enum __anonenum_111643124___266 {
    POLL_IN___266 = 1,
    POLL_OUT___266 = 2,
    POLL_MSG___266 = 3,
    POLL_ERR___266 = 4,
    POLL_PRI___266 = 5,
    POLL_HUP___266 = 6
} ;
enum __anonenum_852341087___266 {
    SIGEV_SIGNAL___266 = 0,
    SIGEV_NONE___266 = 1,
    SIGEV_THREAD___266 = 2,
    SIGEV_THREAD_ID___266 = 4
} ;
enum __anonenum_451154152___266 {
    REG_R8___266 = 0,
    REG_R9___266 = 1,
    REG_R10___266 = 2,
    REG_R11___266 = 3,
    REG_R12___266 = 4,
    REG_R13___266 = 5,
    REG_R14___266 = 6,
    REG_R15___266 = 7,
    REG_RDI___266 = 8,
    REG_RSI___266 = 9,
    REG_RBP___266 = 10,
    REG_RBX___266 = 11,
    REG_RDX___266 = 12,
    REG_RAX___266 = 13,
    REG_RCX___266 = 14,
    REG_RSP___266 = 15,
    REG_RIP___266 = 16,
    REG_EFL___266 = 17,
    REG_CSGSFS___266 = 18,
    REG_ERR___266 = 19,
    REG_TRAPNO___266 = 20,
    REG_OLDMASK___266 = 21,
    REG_CR2___266 = 22
} ;
enum __anonenum_57186863___266 {
    SS_ONSTACK___266 = 1,
    SS_DISABLE___266 = 2
} ;
enum __anonenum_83571709___266 {
    MSG_OOB___266 = 1,
    MSG_PEEK___266 = 2,
    MSG_DONTROUTE___266 = 4,
    MSG_TRYHARD___266 = 4,
    MSG_CTRUNC___266 = 8,
    MSG_PROXY___266 = 16,
    MSG_TRUNC___266 = 32,
    MSG_DONTWAIT___266 = 64,
    MSG_EOR___266 = 128,
    MSG_WAITALL___266 = 256,
    MSG_FIN___266 = 512,
    MSG_SYN___266 = 1024,
    MSG_CONFIRM___266 = 2048,
    MSG_RST___266 = 4096,
    MSG_ERRQUEUE___266 = 8192,
    MSG_NOSIGNAL___266 = 16384,
    MSG_MORE___266 = 32768,
    MSG_WAITFORONE___266 = 65536,
    MSG_BATCH___266 = 262144,
    MSG_ZEROCOPY___266 = 67108864,
    MSG_FASTOPEN___266 = 536870912,
    MSG_CMSG_CLOEXEC___266 = 1073741824
} ;
enum __anonenum_617082774___266 {
    SCM_RIGHTS___266 = 1,
    SCM_CREDENTIALS___266 = 2
} ;
enum __anonenum_606441560___266 {
    SHUT_RD___266 = 0,
    SHUT_WR___266 = 1,
    SHUT_RDWR___266 = 2
} ;
enum __anonenum_681669233___266 {
    IPPROTO_IP___266 = 0,
    IPPROTO_ICMP___266 = 1,
    IPPROTO_IGMP___266 = 2,
    IPPROTO_IPIP___266 = 4,
    IPPROTO_TCP___266 = 6,
    IPPROTO_EGP___266 = 8,
    IPPROTO_PUP___266 = 12,
    IPPROTO_UDP___266 = 17,
    IPPROTO_IDP___266 = 22,
    IPPROTO_TP___266 = 29,
    IPPROTO_DCCP___266 = 33,
    IPPROTO_IPV6___266 = 41,
    IPPROTO_RSVP___266 = 46,
    IPPROTO_GRE___266 = 47,
    IPPROTO_ESP___266 = 50,
    IPPROTO_AH___266 = 51,
    IPPROTO_MTP___266 = 92,
    IPPROTO_BEETPH___266 = 94,
    IPPROTO_ENCAP___266 = 98,
    IPPROTO_PIM___266 = 103,
    IPPROTO_COMP___266 = 108,
    IPPROTO_SCTP___266 = 132,
    IPPROTO_UDPLITE___266 = 136,
    IPPROTO_MPLS___266 = 137,
    IPPROTO_RAW___266 = 255,
    IPPROTO_MAX___266 = 256
} ;
enum __anonenum_218739988___266 {
    IPPROTO_HOPOPTS___266 = 0,
    IPPROTO_ROUTING___266 = 43,
    IPPROTO_FRAGMENT___266 = 44,
    IPPROTO_ICMPV6___266 = 58,
    IPPROTO_NONE___266 = 59,
    IPPROTO_DSTOPTS___266 = 60,
    IPPROTO_MH___266 = 135
} ;
enum __anonenum_662268580___266 {
    IPPORT_ECHO___266 = 7,
    IPPORT_DISCARD___266 = 9,
    IPPORT_SYSTAT___266 = 11,
    IPPORT_DAYTIME___266 = 13,
    IPPORT_NETSTAT___266 = 15,
    IPPORT_FTP___266 = 21,
    IPPORT_TELNET___266 = 23,
    IPPORT_SMTP___266 = 25,
    IPPORT_TIMESERVER___266 = 37,
    IPPORT_NAMESERVER___266 = 42,
    IPPORT_WHOIS___266 = 43,
    IPPORT_MTP___266 = 57,
    IPPORT_TFTP___266 = 69,
    IPPORT_RJE___266 = 77,
    IPPORT_FINGER___266 = 79,
    IPPORT_TTYLINK___266 = 87,
    IPPORT_SUPDUP___266 = 95,
    IPPORT_EXECSERVER___266 = 512,
    IPPORT_LOGINSERVER___266 = 513,
    IPPORT_CMDSERVER___266 = 514,
    IPPORT_EFSSERVER___266 = 520,
    IPPORT_BIFFUDP___266 = 512,
    IPPORT_WHOSERVER___266 = 513,
    IPPORT_ROUTESERVER___266 = 520,
    IPPORT_RESERVED___266 = 1024,
    IPPORT_USERRESERVED___266 = 5000
} ;
enum __anonenum_788308992___266 {
    TCP_ESTABLISHED___266 = 1,
    TCP_SYN_SENT___266 = 2,
    TCP_SYN_RECV___266 = 3,
    TCP_FIN_WAIT1___266 = 4,
    TCP_FIN_WAIT2___266 = 5,
    TCP_TIME_WAIT___266 = 6,
    TCP_CLOSE___266 = 7,
    TCP_CLOSE_WAIT___266 = 8,
    TCP_LAST_ACK___266 = 9,
    TCP_LISTEN___266 = 10,
    TCP_CLOSING___266 = 11
} ;
enum __anonenum_221125648___266 {
    TCP_NO_QUEUE___266 = 0,
    TCP_RECV_QUEUE___266 = 1,
    TCP_SEND_QUEUE___266 = 2,
    TCP_QUEUES_NR___266 = 3
} ;
enum __anonenum_34415463___266 {
    PTHREAD_CREATE_JOINABLE___266 = 0,
    PTHREAD_CREATE_DETACHED___266 = 1
} ;
enum __anonenum_303612439___266 {
    PTHREAD_MUTEX_TIMED_NP___266 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___266 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___266 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___266 = 3,
    PTHREAD_MUTEX_NORMAL___266 = 0,
    PTHREAD_MUTEX_RECURSIVE___266 = 1,
    PTHREAD_MUTEX_ERRORCHECK___266 = 2,
    PTHREAD_MUTEX_DEFAULT___266 = 0,
    PTHREAD_MUTEX_FAST_NP___266 = 0
} ;
enum __anonenum_931900394___266 {
    PTHREAD_MUTEX_STALLED___266 = 0,
    PTHREAD_MUTEX_STALLED_NP___266 = 0,
    PTHREAD_MUTEX_ROBUST___266 = 1,
    PTHREAD_MUTEX_ROBUST_NP___266 = 1
} ;
enum __anonenum_205214487___266 {
    PTHREAD_PRIO_NONE___266 = 0,
    PTHREAD_PRIO_INHERIT___266 = 1,
    PTHREAD_PRIO_PROTECT___266 = 2
} ;
enum __anonenum_25043950___266 {
    PTHREAD_RWLOCK_PREFER_READER_NP___266 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___266 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___266 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___266 = 0
} ;
enum __anonenum_436439511___266 {
    PTHREAD_INHERIT_SCHED___266 = 0,
    PTHREAD_EXPLICIT_SCHED___266 = 1
} ;
enum __anonenum_998661166___266 {
    PTHREAD_SCOPE_SYSTEM___266 = 0,
    PTHREAD_SCOPE_PROCESS___266 = 1
} ;
enum __anonenum_146137331___266 {
    PTHREAD_PROCESS_PRIVATE___266 = 0,
    PTHREAD_PROCESS_SHARED___266 = 1
} ;
enum __anonenum_53396917___266 {
    PTHREAD_CANCEL_ENABLE___266 = 0,
    PTHREAD_CANCEL_DISABLE___266 = 1
} ;
enum __anonenum_904563783___266 {
    PTHREAD_CANCEL_DEFERRED___266 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___266 = 1
} ;
enum __anonenum_672052974___266 {
    SSL_CT_VALIDATION_PERMISSIVE___266 = 0,
    SSL_CT_VALIDATION_STRICT___266 = 1
} ;
struct imap_server_conf {
   char const   *name ;
   char const   *tunnel ;
   char const   *host ;
   int port ;
   char const   *folder ;
   char const   *user ;
   char const   *pass ;
   int use_ssl ;
   int ssl_verify ;
   int use_html ;
   char const   *auth_method ;
};
struct imap_socket {
   int fd[2] ;
   SSL *ssl ;
};
struct imap_buffer {
   struct imap_socket sock ;
   int bytes ;
   int offset ;
   char buf[1024] ;
};
struct imap_cmd ;
struct imap {
   int uidnext ;
   unsigned int caps ;
   unsigned int rcaps ;
   int nexttag ;
   int num_in_progress ;
   int literal_pending ;
   struct imap_cmd *in_progress ;
   struct imap_cmd **in_progress_append ;
   struct imap_buffer buf ;
};
struct imap_store {
   char const   *name ;
   int uidvalidity ;
   struct imap *imap ;
   char const   *prefix ;
};
struct imap_cmd_cb {
   int (*cont)(struct imap_store *ctx , struct imap_cmd *cmd , char const   *prompt ) ;
   void (*done)(struct imap_store *ctx , struct imap_cmd *cmd , int response ) ;
   void *ctx ;
   char *data ;
   int dlen ;
   int uid ;
};
struct imap_cmd {
   struct imap_cmd *next ;
   struct imap_cmd_cb cb ;
   char *cmd ;
   int tag ;
};
enum CAPABILITY {
    NOLOGIN = 0,
    UIDPLUS = 1,
    LITERALPLUS = 2,
    NAMESPACE = 3,
    STARTTLS = 4,
    AUTH_CRAM_MD5 = 5
} ;
enum __anonenum_437032235___267 {
    _PC_LINK_MAX___267 = 0,
    _PC_MAX_CANON___267 = 1,
    _PC_MAX_INPUT___267 = 2,
    _PC_NAME_MAX___267 = 3,
    _PC_PATH_MAX___267 = 4,
    _PC_PIPE_BUF___267 = 5,
    _PC_CHOWN_RESTRICTED___267 = 6,
    _PC_NO_TRUNC___267 = 7,
    _PC_VDISABLE___267 = 8,
    _PC_SYNC_IO___267 = 9,
    _PC_ASYNC_IO___267 = 10,
    _PC_PRIO_IO___267 = 11,
    _PC_SOCK_MAXBUF___267 = 12,
    _PC_FILESIZEBITS___267 = 13,
    _PC_REC_INCR_XFER_SIZE___267 = 14,
    _PC_REC_MAX_XFER_SIZE___267 = 15,
    _PC_REC_MIN_XFER_SIZE___267 = 16,
    _PC_REC_XFER_ALIGN___267 = 17,
    _PC_ALLOC_SIZE_MIN___267 = 18,
    _PC_SYMLINK_MAX___267 = 19,
    _PC_2_SYMLINKS___267 = 20
} ;
enum __anonenum_315186338___267 {
    _SC_ARG_MAX___267 = 0,
    _SC_CHILD_MAX___267 = 1,
    _SC_CLK_TCK___267 = 2,
    _SC_NGROUPS_MAX___267 = 3,
    _SC_OPEN_MAX___267 = 4,
    _SC_STREAM_MAX___267 = 5,
    _SC_TZNAME_MAX___267 = 6,
    _SC_JOB_CONTROL___267 = 7,
    _SC_SAVED_IDS___267 = 8,
    _SC_REALTIME_SIGNALS___267 = 9,
    _SC_PRIORITY_SCHEDULING___267 = 10,
    _SC_TIMERS___267 = 11,
    _SC_ASYNCHRONOUS_IO___267 = 12,
    _SC_PRIORITIZED_IO___267 = 13,
    _SC_SYNCHRONIZED_IO___267 = 14,
    _SC_FSYNC___267 = 15,
    _SC_MAPPED_FILES___267 = 16,
    _SC_MEMLOCK___267 = 17,
    _SC_MEMLOCK_RANGE___267 = 18,
    _SC_MEMORY_PROTECTION___267 = 19,
    _SC_MESSAGE_PASSING___267 = 20,
    _SC_SEMAPHORES___267 = 21,
    _SC_SHARED_MEMORY_OBJECTS___267 = 22,
    _SC_AIO_LISTIO_MAX___267 = 23,
    _SC_AIO_MAX___267 = 24,
    _SC_AIO_PRIO_DELTA_MAX___267 = 25,
    _SC_DELAYTIMER_MAX___267 = 26,
    _SC_MQ_OPEN_MAX___267 = 27,
    _SC_MQ_PRIO_MAX___267 = 28,
    _SC_VERSION___267 = 29,
    _SC_PAGESIZE___267 = 30,
    _SC_RTSIG_MAX___267 = 31,
    _SC_SEM_NSEMS_MAX___267 = 32,
    _SC_SEM_VALUE_MAX___267 = 33,
    _SC_SIGQUEUE_MAX___267 = 34,
    _SC_TIMER_MAX___267 = 35,
    _SC_BC_BASE_MAX___267 = 36,
    _SC_BC_DIM_MAX___267 = 37,
    _SC_BC_SCALE_MAX___267 = 38,
    _SC_BC_STRING_MAX___267 = 39,
    _SC_COLL_WEIGHTS_MAX___267 = 40,
    _SC_EQUIV_CLASS_MAX___267 = 41,
    _SC_EXPR_NEST_MAX___267 = 42,
    _SC_LINE_MAX___267 = 43,
    _SC_RE_DUP_MAX___267 = 44,
    _SC_CHARCLASS_NAME_MAX___267 = 45,
    _SC_2_VERSION___267 = 46,
    _SC_2_C_BIND___267 = 47,
    _SC_2_C_DEV___267 = 48,
    _SC_2_FORT_DEV___267 = 49,
    _SC_2_FORT_RUN___267 = 50,
    _SC_2_SW_DEV___267 = 51,
    _SC_2_LOCALEDEF___267 = 52,
    _SC_PII___267 = 53,
    _SC_PII_XTI___267 = 54,
    _SC_PII_SOCKET___267 = 55,
    _SC_PII_INTERNET___267 = 56,
    _SC_PII_OSI___267 = 57,
    _SC_POLL___267 = 58,
    _SC_SELECT___267 = 59,
    _SC_UIO_MAXIOV___267 = 60,
    _SC_IOV_MAX___267 = 60,
    _SC_PII_INTERNET_STREAM___267 = 61,
    _SC_PII_INTERNET_DGRAM___267 = 62,
    _SC_PII_OSI_COTS___267 = 63,
    _SC_PII_OSI_CLTS___267 = 64,
    _SC_PII_OSI_M___267 = 65,
    _SC_T_IOV_MAX___267 = 66,
    _SC_THREADS___267 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___267 = 68,
    _SC_GETGR_R_SIZE_MAX___267 = 69,
    _SC_GETPW_R_SIZE_MAX___267 = 70,
    _SC_LOGIN_NAME_MAX___267 = 71,
    _SC_TTY_NAME_MAX___267 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___267 = 73,
    _SC_THREAD_KEYS_MAX___267 = 74,
    _SC_THREAD_STACK_MIN___267 = 75,
    _SC_THREAD_THREADS_MAX___267 = 76,
    _SC_THREAD_ATTR_STACKADDR___267 = 77,
    _SC_THREAD_ATTR_STACKSIZE___267 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___267 = 79,
    _SC_THREAD_PRIO_INHERIT___267 = 80,
    _SC_THREAD_PRIO_PROTECT___267 = 81,
    _SC_THREAD_PROCESS_SHARED___267 = 82,
    _SC_NPROCESSORS_CONF___267 = 83,
    _SC_NPROCESSORS_ONLN___267 = 84,
    _SC_PHYS_PAGES___267 = 85,
    _SC_AVPHYS_PAGES___267 = 86,
    _SC_ATEXIT_MAX___267 = 87,
    _SC_PASS_MAX___267 = 88,
    _SC_XOPEN_VERSION___267 = 89,
    _SC_XOPEN_XCU_VERSION___267 = 90,
    _SC_XOPEN_UNIX___267 = 91,
    _SC_XOPEN_CRYPT___267 = 92,
    _SC_XOPEN_ENH_I18N___267 = 93,
    _SC_XOPEN_SHM___267 = 94,
    _SC_2_CHAR_TERM___267 = 95,
    _SC_2_C_VERSION___267 = 96,
    _SC_2_UPE___267 = 97,
    _SC_XOPEN_XPG2___267 = 98,
    _SC_XOPEN_XPG3___267 = 99,
    _SC_XOPEN_XPG4___267 = 100,
    _SC_CHAR_BIT___267 = 101,
    _SC_CHAR_MAX___267 = 102,
    _SC_CHAR_MIN___267 = 103,
    _SC_INT_MAX___267 = 104,
    _SC_INT_MIN___267 = 105,
    _SC_LONG_BIT___267 = 106,
    _SC_WORD_BIT___267 = 107,
    _SC_MB_LEN_MAX___267 = 108,
    _SC_NZERO___267 = 109,
    _SC_SSIZE_MAX___267 = 110,
    _SC_SCHAR_MAX___267 = 111,
    _SC_SCHAR_MIN___267 = 112,
    _SC_SHRT_MAX___267 = 113,
    _SC_SHRT_MIN___267 = 114,
    _SC_UCHAR_MAX___267 = 115,
    _SC_UINT_MAX___267 = 116,
    _SC_ULONG_MAX___267 = 117,
    _SC_USHRT_MAX___267 = 118,
    _SC_NL_ARGMAX___267 = 119,
    _SC_NL_LANGMAX___267 = 120,
    _SC_NL_MSGMAX___267 = 121,
    _SC_NL_NMAX___267 = 122,
    _SC_NL_SETMAX___267 = 123,
    _SC_NL_TEXTMAX___267 = 124,
    _SC_XBS5_ILP32_OFF32___267 = 125,
    _SC_XBS5_ILP32_OFFBIG___267 = 126,
    _SC_XBS5_LP64_OFF64___267 = 127,
    _SC_XBS5_LPBIG_OFFBIG___267 = 128,
    _SC_XOPEN_LEGACY___267 = 129,
    _SC_XOPEN_REALTIME___267 = 130,
    _SC_XOPEN_REALTIME_THREADS___267 = 131,
    _SC_ADVISORY_INFO___267 = 132,
    _SC_BARRIERS___267 = 133,
    _SC_BASE___267 = 134,
    _SC_C_LANG_SUPPORT___267 = 135,
    _SC_C_LANG_SUPPORT_R___267 = 136,
    _SC_CLOCK_SELECTION___267 = 137,
    _SC_CPUTIME___267 = 138,
    _SC_THREAD_CPUTIME___267 = 139,
    _SC_DEVICE_IO___267 = 140,
    _SC_DEVICE_SPECIFIC___267 = 141,
    _SC_DEVICE_SPECIFIC_R___267 = 142,
    _SC_FD_MGMT___267 = 143,
    _SC_FIFO___267 = 144,
    _SC_PIPE___267 = 145,
    _SC_FILE_ATTRIBUTES___267 = 146,
    _SC_FILE_LOCKING___267 = 147,
    _SC_FILE_SYSTEM___267 = 148,
    _SC_MONOTONIC_CLOCK___267 = 149,
    _SC_MULTI_PROCESS___267 = 150,
    _SC_SINGLE_PROCESS___267 = 151,
    _SC_NETWORKING___267 = 152,
    _SC_READER_WRITER_LOCKS___267 = 153,
    _SC_SPIN_LOCKS___267 = 154,
    _SC_REGEXP___267 = 155,
    _SC_REGEX_VERSION___267 = 156,
    _SC_SHELL___267 = 157,
    _SC_SIGNALS___267 = 158,
    _SC_SPAWN___267 = 159,
    _SC_SPORADIC_SERVER___267 = 160,
    _SC_THREAD_SPORADIC_SERVER___267 = 161,
    _SC_SYSTEM_DATABASE___267 = 162,
    _SC_SYSTEM_DATABASE_R___267 = 163,
    _SC_TIMEOUTS___267 = 164,
    _SC_TYPED_MEMORY_OBJECTS___267 = 165,
    _SC_USER_GROUPS___267 = 166,
    _SC_USER_GROUPS_R___267 = 167,
    _SC_2_PBS___267 = 168,
    _SC_2_PBS_ACCOUNTING___267 = 169,
    _SC_2_PBS_LOCATE___267 = 170,
    _SC_2_PBS_MESSAGE___267 = 171,
    _SC_2_PBS_TRACK___267 = 172,
    _SC_SYMLOOP_MAX___267 = 173,
    _SC_STREAMS___267 = 174,
    _SC_2_PBS_CHECKPOINT___267 = 175,
    _SC_V6_ILP32_OFF32___267 = 176,
    _SC_V6_ILP32_OFFBIG___267 = 177,
    _SC_V6_LP64_OFF64___267 = 178,
    _SC_V6_LPBIG_OFFBIG___267 = 179,
    _SC_HOST_NAME_MAX___267 = 180,
    _SC_TRACE___267 = 181,
    _SC_TRACE_EVENT_FILTER___267 = 182,
    _SC_TRACE_INHERIT___267 = 183,
    _SC_TRACE_LOG___267 = 184,
    _SC_LEVEL1_ICACHE_SIZE___267 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___267 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___267 = 187,
    _SC_LEVEL1_DCACHE_SIZE___267 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___267 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___267 = 190,
    _SC_LEVEL2_CACHE_SIZE___267 = 191,
    _SC_LEVEL2_CACHE_ASSOC___267 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___267 = 193,
    _SC_LEVEL3_CACHE_SIZE___267 = 194,
    _SC_LEVEL3_CACHE_ASSOC___267 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___267 = 196,
    _SC_LEVEL4_CACHE_SIZE___267 = 197,
    _SC_LEVEL4_CACHE_ASSOC___267 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___267 = 199,
    _SC_IPV6___267 = 235,
    _SC_RAW_SOCKETS___267 = 236,
    _SC_V7_ILP32_OFF32___267 = 237,
    _SC_V7_ILP32_OFFBIG___267 = 238,
    _SC_V7_LP64_OFF64___267 = 239,
    _SC_V7_LPBIG_OFFBIG___267 = 240,
    _SC_SS_REPL_MAX___267 = 241,
    _SC_TRACE_EVENT_NAME_MAX___267 = 242,
    _SC_TRACE_NAME_MAX___267 = 243,
    _SC_TRACE_SYS_MAX___267 = 244,
    _SC_TRACE_USER_EVENT_MAX___267 = 245,
    _SC_XOPEN_STREAMS___267 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___267 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___267 = 248
} ;
enum __anonenum_875524036___267 {
    _CS_PATH___267 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___267 = 1,
    _CS_GNU_LIBC_VERSION___267 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___267 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___267 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___267 = 5,
    _CS_LFS_CFLAGS___267 = 1000,
    _CS_LFS_LDFLAGS___267 = 1001,
    _CS_LFS_LIBS___267 = 1002,
    _CS_LFS_LINTFLAGS___267 = 1003,
    _CS_LFS64_CFLAGS___267 = 1004,
    _CS_LFS64_LDFLAGS___267 = 1005,
    _CS_LFS64_LIBS___267 = 1006,
    _CS_LFS64_LINTFLAGS___267 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___267 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___267 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___267 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___267 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___267 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___267 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___267 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___267 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___267 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___267 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___267 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___267 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___267 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___267 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___267 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___267 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___267 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___267 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___267 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___267 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___267 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___267 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___267 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___267 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___267 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___267 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___267 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___267 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___267 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___267 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___267 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___267 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___267 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___267 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___267 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___267 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___267 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___267 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___267 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___267 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___267 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___267 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___267 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___267 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___267 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___267 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___267 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___267 = 1147,
    _CS_V6_ENV___267 = 1148,
    _CS_V7_ENV___267 = 1149
} ;
enum __anonenum_513775621___267 {
    DT_UNKNOWN___267 = 0,
    DT_FIFO___267 = 1,
    DT_CHR___267 = 2,
    DT_DIR___267 = 4,
    DT_BLK___267 = 6,
    DT_REG___267 = 8,
    DT_LNK___267 = 10,
    DT_SOCK___267 = 12,
    DT_WHT___267 = 14
} ;
enum __anonenum_77002343___267 {
    SI_ASYNCNL___267 = -60,
    SI_TKILL___267 = -6,
    SI_SIGIO___267 = -5,
    SI_ASYNCIO___267 = -4,
    SI_MESGQ___267 = -3,
    SI_TIMER___267 = -2,
    SI_QUEUE___267 = -1,
    SI_USER___267 = 0,
    SI_KERNEL___267 = 128
} ;
enum __anonenum_131038172___267 {
    ILL_ILLOPC___267 = 1,
    ILL_ILLOPN___267 = 2,
    ILL_ILLADR___267 = 3,
    ILL_ILLTRP___267 = 4,
    ILL_PRVOPC___267 = 5,
    ILL_PRVREG___267 = 6,
    ILL_COPROC___267 = 7,
    ILL_BADSTK___267 = 8
} ;
enum __anonenum_452038093___267 {
    FPE_INTDIV___267 = 1,
    FPE_INTOVF___267 = 2,
    FPE_FLTDIV___267 = 3,
    FPE_FLTOVF___267 = 4,
    FPE_FLTUND___267 = 5,
    FPE_FLTRES___267 = 6,
    FPE_FLTINV___267 = 7,
    FPE_FLTSUB___267 = 8
} ;
enum __anonenum_30976155___267 {
    SEGV_MAPERR___267 = 1,
    SEGV_ACCERR___267 = 2,
    SEGV_BNDERR___267 = 3,
    SEGV_PKUERR___267 = 4
} ;
enum __anonenum_1036286214___267 {
    BUS_ADRALN___267 = 1,
    BUS_ADRERR___267 = 2,
    BUS_OBJERR___267 = 3,
    BUS_MCEERR_AR___267 = 4,
    BUS_MCEERR_AO___267 = 5
} ;
enum __anonenum_493465559___267 {
    TRAP_BRKPT___267 = 1,
    TRAP_TRACE___267 = 2
} ;
enum __anonenum_23175539___267 {
    CLD_EXITED___267 = 1,
    CLD_KILLED___267 = 2,
    CLD_DUMPED___267 = 3,
    CLD_TRAPPED___267 = 4,
    CLD_STOPPED___267 = 5,
    CLD_CONTINUED___267 = 6
} ;
enum __anonenum_111643124___267 {
    POLL_IN___267 = 1,
    POLL_OUT___267 = 2,
    POLL_MSG___267 = 3,
    POLL_ERR___267 = 4,
    POLL_PRI___267 = 5,
    POLL_HUP___267 = 6
} ;
enum __anonenum_852341087___267 {
    SIGEV_SIGNAL___267 = 0,
    SIGEV_NONE___267 = 1,
    SIGEV_THREAD___267 = 2,
    SIGEV_THREAD_ID___267 = 4
} ;
enum __anonenum_451154152___267 {
    REG_R8___267 = 0,
    REG_R9___267 = 1,
    REG_R10___267 = 2,
    REG_R11___267 = 3,
    REG_R12___267 = 4,
    REG_R13___267 = 5,
    REG_R14___267 = 6,
    REG_R15___267 = 7,
    REG_RDI___267 = 8,
    REG_RSI___267 = 9,
    REG_RBP___267 = 10,
    REG_RBX___267 = 11,
    REG_RDX___267 = 12,
    REG_RAX___267 = 13,
    REG_RCX___267 = 14,
    REG_RSP___267 = 15,
    REG_RIP___267 = 16,
    REG_EFL___267 = 17,
    REG_CSGSFS___267 = 18,
    REG_ERR___267 = 19,
    REG_TRAPNO___267 = 20,
    REG_OLDMASK___267 = 21,
    REG_CR2___267 = 22
} ;
enum __anonenum_57186863___267 {
    SS_ONSTACK___267 = 1,
    SS_DISABLE___267 = 2
} ;
enum __anonenum_83571709___267 {
    MSG_OOB___267 = 1,
    MSG_PEEK___267 = 2,
    MSG_DONTROUTE___267 = 4,
    MSG_TRYHARD___267 = 4,
    MSG_CTRUNC___267 = 8,
    MSG_PROXY___267 = 16,
    MSG_TRUNC___267 = 32,
    MSG_DONTWAIT___267 = 64,
    MSG_EOR___267 = 128,
    MSG_WAITALL___267 = 256,
    MSG_FIN___267 = 512,
    MSG_SYN___267 = 1024,
    MSG_CONFIRM___267 = 2048,
    MSG_RST___267 = 4096,
    MSG_ERRQUEUE___267 = 8192,
    MSG_NOSIGNAL___267 = 16384,
    MSG_MORE___267 = 32768,
    MSG_WAITFORONE___267 = 65536,
    MSG_BATCH___267 = 262144,
    MSG_ZEROCOPY___267 = 67108864,
    MSG_FASTOPEN___267 = 536870912,
    MSG_CMSG_CLOEXEC___267 = 1073741824
} ;
enum __anonenum_617082774___267 {
    SCM_RIGHTS___267 = 1,
    SCM_CREDENTIALS___267 = 2
} ;
enum __anonenum_606441560___267 {
    SHUT_RD___267 = 0,
    SHUT_WR___267 = 1,
    SHUT_RDWR___267 = 2
} ;
enum __anonenum_681669233___267 {
    IPPROTO_IP___267 = 0,
    IPPROTO_ICMP___267 = 1,
    IPPROTO_IGMP___267 = 2,
    IPPROTO_IPIP___267 = 4,
    IPPROTO_TCP___267 = 6,
    IPPROTO_EGP___267 = 8,
    IPPROTO_PUP___267 = 12,
    IPPROTO_UDP___267 = 17,
    IPPROTO_IDP___267 = 22,
    IPPROTO_TP___267 = 29,
    IPPROTO_DCCP___267 = 33,
    IPPROTO_IPV6___267 = 41,
    IPPROTO_RSVP___267 = 46,
    IPPROTO_GRE___267 = 47,
    IPPROTO_ESP___267 = 50,
    IPPROTO_AH___267 = 51,
    IPPROTO_MTP___267 = 92,
    IPPROTO_BEETPH___267 = 94,
    IPPROTO_ENCAP___267 = 98,
    IPPROTO_PIM___267 = 103,
    IPPROTO_COMP___267 = 108,
    IPPROTO_SCTP___267 = 132,
    IPPROTO_UDPLITE___267 = 136,
    IPPROTO_MPLS___267 = 137,
    IPPROTO_RAW___267 = 255,
    IPPROTO_MAX___267 = 256
} ;
enum __anonenum_218739988___267 {
    IPPROTO_HOPOPTS___267 = 0,
    IPPROTO_ROUTING___267 = 43,
    IPPROTO_FRAGMENT___267 = 44,
    IPPROTO_ICMPV6___267 = 58,
    IPPROTO_NONE___267 = 59,
    IPPROTO_DSTOPTS___267 = 60,
    IPPROTO_MH___267 = 135
} ;
enum __anonenum_662268580___267 {
    IPPORT_ECHO___267 = 7,
    IPPORT_DISCARD___267 = 9,
    IPPORT_SYSTAT___267 = 11,
    IPPORT_DAYTIME___267 = 13,
    IPPORT_NETSTAT___267 = 15,
    IPPORT_FTP___267 = 21,
    IPPORT_TELNET___267 = 23,
    IPPORT_SMTP___267 = 25,
    IPPORT_TIMESERVER___267 = 37,
    IPPORT_NAMESERVER___267 = 42,
    IPPORT_WHOIS___267 = 43,
    IPPORT_MTP___267 = 57,
    IPPORT_TFTP___267 = 69,
    IPPORT_RJE___267 = 77,
    IPPORT_FINGER___267 = 79,
    IPPORT_TTYLINK___267 = 87,
    IPPORT_SUPDUP___267 = 95,
    IPPORT_EXECSERVER___267 = 512,
    IPPORT_LOGINSERVER___267 = 513,
    IPPORT_CMDSERVER___267 = 514,
    IPPORT_EFSSERVER___267 = 520,
    IPPORT_BIFFUDP___267 = 512,
    IPPORT_WHOSERVER___267 = 513,
    IPPORT_ROUTESERVER___267 = 520,
    IPPORT_RESERVED___267 = 1024,
    IPPORT_USERRESERVED___267 = 5000
} ;
enum __anonenum_788308992___267 {
    TCP_ESTABLISHED___267 = 1,
    TCP_SYN_SENT___267 = 2,
    TCP_SYN_RECV___267 = 3,
    TCP_FIN_WAIT1___267 = 4,
    TCP_FIN_WAIT2___267 = 5,
    TCP_TIME_WAIT___267 = 6,
    TCP_CLOSE___267 = 7,
    TCP_CLOSE_WAIT___267 = 8,
    TCP_LAST_ACK___267 = 9,
    TCP_LISTEN___267 = 10,
    TCP_CLOSING___267 = 11
} ;
enum __anonenum_221125648___267 {
    TCP_NO_QUEUE___267 = 0,
    TCP_RECV_QUEUE___267 = 1,
    TCP_SEND_QUEUE___267 = 2,
    TCP_QUEUES_NR___267 = 3
} ;
enum __anonenum_34415463___267 {
    PTHREAD_CREATE_JOINABLE___267 = 0,
    PTHREAD_CREATE_DETACHED___267 = 1
} ;
enum __anonenum_303612439___267 {
    PTHREAD_MUTEX_TIMED_NP___267 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___267 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___267 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___267 = 3,
    PTHREAD_MUTEX_NORMAL___267 = 0,
    PTHREAD_MUTEX_RECURSIVE___267 = 1,
    PTHREAD_MUTEX_ERRORCHECK___267 = 2,
    PTHREAD_MUTEX_DEFAULT___267 = 0,
    PTHREAD_MUTEX_FAST_NP___267 = 0
} ;
enum __anonenum_931900394___267 {
    PTHREAD_MUTEX_STALLED___267 = 0,
    PTHREAD_MUTEX_STALLED_NP___267 = 0,
    PTHREAD_MUTEX_ROBUST___267 = 1,
    PTHREAD_MUTEX_ROBUST_NP___267 = 1
} ;
enum __anonenum_205214487___267 {
    PTHREAD_PRIO_NONE___267 = 0,
    PTHREAD_PRIO_INHERIT___267 = 1,
    PTHREAD_PRIO_PROTECT___267 = 2
} ;
enum __anonenum_25043950___267 {
    PTHREAD_RWLOCK_PREFER_READER_NP___267 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___267 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___267 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___267 = 0
} ;
enum __anonenum_436439511___267 {
    PTHREAD_INHERIT_SCHED___267 = 0,
    PTHREAD_EXPLICIT_SCHED___267 = 1
} ;
enum __anonenum_998661166___267 {
    PTHREAD_SCOPE_SYSTEM___267 = 0,
    PTHREAD_SCOPE_PROCESS___267 = 1
} ;
enum __anonenum_146137331___267 {
    PTHREAD_PROCESS_PRIVATE___267 = 0,
    PTHREAD_PROCESS_SHARED___267 = 1
} ;
enum __anonenum_53396917___267 {
    PTHREAD_CANCEL_ENABLE___267 = 0,
    PTHREAD_CANCEL_DISABLE___267 = 1
} ;
enum __anonenum_904563783___267 {
    PTHREAD_CANCEL_DEFERRED___267 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___267 = 1
} ;
enum __anonenum_672052974___267 {
    SSL_CT_VALIDATION_PERMISSIVE___267 = 0,
    SSL_CT_VALIDATION_STRICT___267 = 1
} ;
struct string_list_ty ;
typedef struct string_list_ty string_list_ty;
struct string_list_ty {
   char const   **item ;
   size_t nitems ;
   size_t nitems_max ;
};
enum __anonenum_437032235___268 {
    _PC_LINK_MAX___268 = 0,
    _PC_MAX_CANON___268 = 1,
    _PC_MAX_INPUT___268 = 2,
    _PC_NAME_MAX___268 = 3,
    _PC_PATH_MAX___268 = 4,
    _PC_PIPE_BUF___268 = 5,
    _PC_CHOWN_RESTRICTED___268 = 6,
    _PC_NO_TRUNC___268 = 7,
    _PC_VDISABLE___268 = 8,
    _PC_SYNC_IO___268 = 9,
    _PC_ASYNC_IO___268 = 10,
    _PC_PRIO_IO___268 = 11,
    _PC_SOCK_MAXBUF___268 = 12,
    _PC_FILESIZEBITS___268 = 13,
    _PC_REC_INCR_XFER_SIZE___268 = 14,
    _PC_REC_MAX_XFER_SIZE___268 = 15,
    _PC_REC_MIN_XFER_SIZE___268 = 16,
    _PC_REC_XFER_ALIGN___268 = 17,
    _PC_ALLOC_SIZE_MIN___268 = 18,
    _PC_SYMLINK_MAX___268 = 19,
    _PC_2_SYMLINKS___268 = 20
} ;
enum __anonenum_315186338___268 {
    _SC_ARG_MAX___268 = 0,
    _SC_CHILD_MAX___268 = 1,
    _SC_CLK_TCK___268 = 2,
    _SC_NGROUPS_MAX___268 = 3,
    _SC_OPEN_MAX___268 = 4,
    _SC_STREAM_MAX___268 = 5,
    _SC_TZNAME_MAX___268 = 6,
    _SC_JOB_CONTROL___268 = 7,
    _SC_SAVED_IDS___268 = 8,
    _SC_REALTIME_SIGNALS___268 = 9,
    _SC_PRIORITY_SCHEDULING___268 = 10,
    _SC_TIMERS___268 = 11,
    _SC_ASYNCHRONOUS_IO___268 = 12,
    _SC_PRIORITIZED_IO___268 = 13,
    _SC_SYNCHRONIZED_IO___268 = 14,
    _SC_FSYNC___268 = 15,
    _SC_MAPPED_FILES___268 = 16,
    _SC_MEMLOCK___268 = 17,
    _SC_MEMLOCK_RANGE___268 = 18,
    _SC_MEMORY_PROTECTION___268 = 19,
    _SC_MESSAGE_PASSING___268 = 20,
    _SC_SEMAPHORES___268 = 21,
    _SC_SHARED_MEMORY_OBJECTS___268 = 22,
    _SC_AIO_LISTIO_MAX___268 = 23,
    _SC_AIO_MAX___268 = 24,
    _SC_AIO_PRIO_DELTA_MAX___268 = 25,
    _SC_DELAYTIMER_MAX___268 = 26,
    _SC_MQ_OPEN_MAX___268 = 27,
    _SC_MQ_PRIO_MAX___268 = 28,
    _SC_VERSION___268 = 29,
    _SC_PAGESIZE___268 = 30,
    _SC_RTSIG_MAX___268 = 31,
    _SC_SEM_NSEMS_MAX___268 = 32,
    _SC_SEM_VALUE_MAX___268 = 33,
    _SC_SIGQUEUE_MAX___268 = 34,
    _SC_TIMER_MAX___268 = 35,
    _SC_BC_BASE_MAX___268 = 36,
    _SC_BC_DIM_MAX___268 = 37,
    _SC_BC_SCALE_MAX___268 = 38,
    _SC_BC_STRING_MAX___268 = 39,
    _SC_COLL_WEIGHTS_MAX___268 = 40,
    _SC_EQUIV_CLASS_MAX___268 = 41,
    _SC_EXPR_NEST_MAX___268 = 42,
    _SC_LINE_MAX___268 = 43,
    _SC_RE_DUP_MAX___268 = 44,
    _SC_CHARCLASS_NAME_MAX___268 = 45,
    _SC_2_VERSION___268 = 46,
    _SC_2_C_BIND___268 = 47,
    _SC_2_C_DEV___268 = 48,
    _SC_2_FORT_DEV___268 = 49,
    _SC_2_FORT_RUN___268 = 50,
    _SC_2_SW_DEV___268 = 51,
    _SC_2_LOCALEDEF___268 = 52,
    _SC_PII___268 = 53,
    _SC_PII_XTI___268 = 54,
    _SC_PII_SOCKET___268 = 55,
    _SC_PII_INTERNET___268 = 56,
    _SC_PII_OSI___268 = 57,
    _SC_POLL___268 = 58,
    _SC_SELECT___268 = 59,
    _SC_UIO_MAXIOV___268 = 60,
    _SC_IOV_MAX___268 = 60,
    _SC_PII_INTERNET_STREAM___268 = 61,
    _SC_PII_INTERNET_DGRAM___268 = 62,
    _SC_PII_OSI_COTS___268 = 63,
    _SC_PII_OSI_CLTS___268 = 64,
    _SC_PII_OSI_M___268 = 65,
    _SC_T_IOV_MAX___268 = 66,
    _SC_THREADS___268 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___268 = 68,
    _SC_GETGR_R_SIZE_MAX___268 = 69,
    _SC_GETPW_R_SIZE_MAX___268 = 70,
    _SC_LOGIN_NAME_MAX___268 = 71,
    _SC_TTY_NAME_MAX___268 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___268 = 73,
    _SC_THREAD_KEYS_MAX___268 = 74,
    _SC_THREAD_STACK_MIN___268 = 75,
    _SC_THREAD_THREADS_MAX___268 = 76,
    _SC_THREAD_ATTR_STACKADDR___268 = 77,
    _SC_THREAD_ATTR_STACKSIZE___268 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___268 = 79,
    _SC_THREAD_PRIO_INHERIT___268 = 80,
    _SC_THREAD_PRIO_PROTECT___268 = 81,
    _SC_THREAD_PROCESS_SHARED___268 = 82,
    _SC_NPROCESSORS_CONF___268 = 83,
    _SC_NPROCESSORS_ONLN___268 = 84,
    _SC_PHYS_PAGES___268 = 85,
    _SC_AVPHYS_PAGES___268 = 86,
    _SC_ATEXIT_MAX___268 = 87,
    _SC_PASS_MAX___268 = 88,
    _SC_XOPEN_VERSION___268 = 89,
    _SC_XOPEN_XCU_VERSION___268 = 90,
    _SC_XOPEN_UNIX___268 = 91,
    _SC_XOPEN_CRYPT___268 = 92,
    _SC_XOPEN_ENH_I18N___268 = 93,
    _SC_XOPEN_SHM___268 = 94,
    _SC_2_CHAR_TERM___268 = 95,
    _SC_2_C_VERSION___268 = 96,
    _SC_2_UPE___268 = 97,
    _SC_XOPEN_XPG2___268 = 98,
    _SC_XOPEN_XPG3___268 = 99,
    _SC_XOPEN_XPG4___268 = 100,
    _SC_CHAR_BIT___268 = 101,
    _SC_CHAR_MAX___268 = 102,
    _SC_CHAR_MIN___268 = 103,
    _SC_INT_MAX___268 = 104,
    _SC_INT_MIN___268 = 105,
    _SC_LONG_BIT___268 = 106,
    _SC_WORD_BIT___268 = 107,
    _SC_MB_LEN_MAX___268 = 108,
    _SC_NZERO___268 = 109,
    _SC_SSIZE_MAX___268 = 110,
    _SC_SCHAR_MAX___268 = 111,
    _SC_SCHAR_MIN___268 = 112,
    _SC_SHRT_MAX___268 = 113,
    _SC_SHRT_MIN___268 = 114,
    _SC_UCHAR_MAX___268 = 115,
    _SC_UINT_MAX___268 = 116,
    _SC_ULONG_MAX___268 = 117,
    _SC_USHRT_MAX___268 = 118,
    _SC_NL_ARGMAX___268 = 119,
    _SC_NL_LANGMAX___268 = 120,
    _SC_NL_MSGMAX___268 = 121,
    _SC_NL_NMAX___268 = 122,
    _SC_NL_SETMAX___268 = 123,
    _SC_NL_TEXTMAX___268 = 124,
    _SC_XBS5_ILP32_OFF32___268 = 125,
    _SC_XBS5_ILP32_OFFBIG___268 = 126,
    _SC_XBS5_LP64_OFF64___268 = 127,
    _SC_XBS5_LPBIG_OFFBIG___268 = 128,
    _SC_XOPEN_LEGACY___268 = 129,
    _SC_XOPEN_REALTIME___268 = 130,
    _SC_XOPEN_REALTIME_THREADS___268 = 131,
    _SC_ADVISORY_INFO___268 = 132,
    _SC_BARRIERS___268 = 133,
    _SC_BASE___268 = 134,
    _SC_C_LANG_SUPPORT___268 = 135,
    _SC_C_LANG_SUPPORT_R___268 = 136,
    _SC_CLOCK_SELECTION___268 = 137,
    _SC_CPUTIME___268 = 138,
    _SC_THREAD_CPUTIME___268 = 139,
    _SC_DEVICE_IO___268 = 140,
    _SC_DEVICE_SPECIFIC___268 = 141,
    _SC_DEVICE_SPECIFIC_R___268 = 142,
    _SC_FD_MGMT___268 = 143,
    _SC_FIFO___268 = 144,
    _SC_PIPE___268 = 145,
    _SC_FILE_ATTRIBUTES___268 = 146,
    _SC_FILE_LOCKING___268 = 147,
    _SC_FILE_SYSTEM___268 = 148,
    _SC_MONOTONIC_CLOCK___268 = 149,
    _SC_MULTI_PROCESS___268 = 150,
    _SC_SINGLE_PROCESS___268 = 151,
    _SC_NETWORKING___268 = 152,
    _SC_READER_WRITER_LOCKS___268 = 153,
    _SC_SPIN_LOCKS___268 = 154,
    _SC_REGEXP___268 = 155,
    _SC_REGEX_VERSION___268 = 156,
    _SC_SHELL___268 = 157,
    _SC_SIGNALS___268 = 158,
    _SC_SPAWN___268 = 159,
    _SC_SPORADIC_SERVER___268 = 160,
    _SC_THREAD_SPORADIC_SERVER___268 = 161,
    _SC_SYSTEM_DATABASE___268 = 162,
    _SC_SYSTEM_DATABASE_R___268 = 163,
    _SC_TIMEOUTS___268 = 164,
    _SC_TYPED_MEMORY_OBJECTS___268 = 165,
    _SC_USER_GROUPS___268 = 166,
    _SC_USER_GROUPS_R___268 = 167,
    _SC_2_PBS___268 = 168,
    _SC_2_PBS_ACCOUNTING___268 = 169,
    _SC_2_PBS_LOCATE___268 = 170,
    _SC_2_PBS_MESSAGE___268 = 171,
    _SC_2_PBS_TRACK___268 = 172,
    _SC_SYMLOOP_MAX___268 = 173,
    _SC_STREAMS___268 = 174,
    _SC_2_PBS_CHECKPOINT___268 = 175,
    _SC_V6_ILP32_OFF32___268 = 176,
    _SC_V6_ILP32_OFFBIG___268 = 177,
    _SC_V6_LP64_OFF64___268 = 178,
    _SC_V6_LPBIG_OFFBIG___268 = 179,
    _SC_HOST_NAME_MAX___268 = 180,
    _SC_TRACE___268 = 181,
    _SC_TRACE_EVENT_FILTER___268 = 182,
    _SC_TRACE_INHERIT___268 = 183,
    _SC_TRACE_LOG___268 = 184,
    _SC_LEVEL1_ICACHE_SIZE___268 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___268 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___268 = 187,
    _SC_LEVEL1_DCACHE_SIZE___268 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___268 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___268 = 190,
    _SC_LEVEL2_CACHE_SIZE___268 = 191,
    _SC_LEVEL2_CACHE_ASSOC___268 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___268 = 193,
    _SC_LEVEL3_CACHE_SIZE___268 = 194,
    _SC_LEVEL3_CACHE_ASSOC___268 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___268 = 196,
    _SC_LEVEL4_CACHE_SIZE___268 = 197,
    _SC_LEVEL4_CACHE_ASSOC___268 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___268 = 199,
    _SC_IPV6___268 = 235,
    _SC_RAW_SOCKETS___268 = 236,
    _SC_V7_ILP32_OFF32___268 = 237,
    _SC_V7_ILP32_OFFBIG___268 = 238,
    _SC_V7_LP64_OFF64___268 = 239,
    _SC_V7_LPBIG_OFFBIG___268 = 240,
    _SC_SS_REPL_MAX___268 = 241,
    _SC_TRACE_EVENT_NAME_MAX___268 = 242,
    _SC_TRACE_NAME_MAX___268 = 243,
    _SC_TRACE_SYS_MAX___268 = 244,
    _SC_TRACE_USER_EVENT_MAX___268 = 245,
    _SC_XOPEN_STREAMS___268 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___268 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___268 = 248
} ;
enum __anonenum_875524036___268 {
    _CS_PATH___268 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___268 = 1,
    _CS_GNU_LIBC_VERSION___268 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___268 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___268 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___268 = 5,
    _CS_LFS_CFLAGS___268 = 1000,
    _CS_LFS_LDFLAGS___268 = 1001,
    _CS_LFS_LIBS___268 = 1002,
    _CS_LFS_LINTFLAGS___268 = 1003,
    _CS_LFS64_CFLAGS___268 = 1004,
    _CS_LFS64_LDFLAGS___268 = 1005,
    _CS_LFS64_LIBS___268 = 1006,
    _CS_LFS64_LINTFLAGS___268 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___268 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___268 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___268 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___268 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___268 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___268 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___268 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___268 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___268 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___268 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___268 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___268 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___268 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___268 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___268 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___268 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___268 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___268 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___268 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___268 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___268 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___268 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___268 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___268 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___268 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___268 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___268 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___268 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___268 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___268 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___268 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___268 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___268 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___268 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___268 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___268 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___268 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___268 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___268 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___268 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___268 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___268 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___268 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___268 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___268 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___268 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___268 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___268 = 1147,
    _CS_V6_ENV___268 = 1148,
    _CS_V7_ENV___268 = 1149
} ;
enum __anonenum_513775621___268 {
    DT_UNKNOWN___268 = 0,
    DT_FIFO___268 = 1,
    DT_CHR___268 = 2,
    DT_DIR___268 = 4,
    DT_BLK___268 = 6,
    DT_REG___268 = 8,
    DT_LNK___268 = 10,
    DT_SOCK___268 = 12,
    DT_WHT___268 = 14
} ;
enum __anonenum_77002343___268 {
    SI_ASYNCNL___268 = -60,
    SI_TKILL___268 = -6,
    SI_SIGIO___268 = -5,
    SI_ASYNCIO___268 = -4,
    SI_MESGQ___268 = -3,
    SI_TIMER___268 = -2,
    SI_QUEUE___268 = -1,
    SI_USER___268 = 0,
    SI_KERNEL___268 = 128
} ;
enum __anonenum_131038172___268 {
    ILL_ILLOPC___268 = 1,
    ILL_ILLOPN___268 = 2,
    ILL_ILLADR___268 = 3,
    ILL_ILLTRP___268 = 4,
    ILL_PRVOPC___268 = 5,
    ILL_PRVREG___268 = 6,
    ILL_COPROC___268 = 7,
    ILL_BADSTK___268 = 8
} ;
enum __anonenum_452038093___268 {
    FPE_INTDIV___268 = 1,
    FPE_INTOVF___268 = 2,
    FPE_FLTDIV___268 = 3,
    FPE_FLTOVF___268 = 4,
    FPE_FLTUND___268 = 5,
    FPE_FLTRES___268 = 6,
    FPE_FLTINV___268 = 7,
    FPE_FLTSUB___268 = 8
} ;
enum __anonenum_30976155___268 {
    SEGV_MAPERR___268 = 1,
    SEGV_ACCERR___268 = 2,
    SEGV_BNDERR___268 = 3,
    SEGV_PKUERR___268 = 4
} ;
enum __anonenum_1036286214___268 {
    BUS_ADRALN___268 = 1,
    BUS_ADRERR___268 = 2,
    BUS_OBJERR___268 = 3,
    BUS_MCEERR_AR___268 = 4,
    BUS_MCEERR_AO___268 = 5
} ;
enum __anonenum_493465559___268 {
    TRAP_BRKPT___268 = 1,
    TRAP_TRACE___268 = 2
} ;
enum __anonenum_23175539___268 {
    CLD_EXITED___268 = 1,
    CLD_KILLED___268 = 2,
    CLD_DUMPED___268 = 3,
    CLD_TRAPPED___268 = 4,
    CLD_STOPPED___268 = 5,
    CLD_CONTINUED___268 = 6
} ;
enum __anonenum_111643124___268 {
    POLL_IN___268 = 1,
    POLL_OUT___268 = 2,
    POLL_MSG___268 = 3,
    POLL_ERR___268 = 4,
    POLL_PRI___268 = 5,
    POLL_HUP___268 = 6
} ;
enum __anonenum_852341087___268 {
    SIGEV_SIGNAL___268 = 0,
    SIGEV_NONE___268 = 1,
    SIGEV_THREAD___268 = 2,
    SIGEV_THREAD_ID___268 = 4
} ;
enum __anonenum_451154152___268 {
    REG_R8___268 = 0,
    REG_R9___268 = 1,
    REG_R10___268 = 2,
    REG_R11___268 = 3,
    REG_R12___268 = 4,
    REG_R13___268 = 5,
    REG_R14___268 = 6,
    REG_R15___268 = 7,
    REG_RDI___268 = 8,
    REG_RSI___268 = 9,
    REG_RBP___268 = 10,
    REG_RBX___268 = 11,
    REG_RDX___268 = 12,
    REG_RAX___268 = 13,
    REG_RCX___268 = 14,
    REG_RSP___268 = 15,
    REG_RIP___268 = 16,
    REG_EFL___268 = 17,
    REG_CSGSFS___268 = 18,
    REG_ERR___268 = 19,
    REG_TRAPNO___268 = 20,
    REG_OLDMASK___268 = 21,
    REG_CR2___268 = 22
} ;
enum __anonenum_57186863___268 {
    SS_ONSTACK___268 = 1,
    SS_DISABLE___268 = 2
} ;
enum __anonenum_83571709___268 {
    MSG_OOB___268 = 1,
    MSG_PEEK___268 = 2,
    MSG_DONTROUTE___268 = 4,
    MSG_TRYHARD___268 = 4,
    MSG_CTRUNC___268 = 8,
    MSG_PROXY___268 = 16,
    MSG_TRUNC___268 = 32,
    MSG_DONTWAIT___268 = 64,
    MSG_EOR___268 = 128,
    MSG_WAITALL___268 = 256,
    MSG_FIN___268 = 512,
    MSG_SYN___268 = 1024,
    MSG_CONFIRM___268 = 2048,
    MSG_RST___268 = 4096,
    MSG_ERRQUEUE___268 = 8192,
    MSG_NOSIGNAL___268 = 16384,
    MSG_MORE___268 = 32768,
    MSG_WAITFORONE___268 = 65536,
    MSG_BATCH___268 = 262144,
    MSG_ZEROCOPY___268 = 67108864,
    MSG_FASTOPEN___268 = 536870912,
    MSG_CMSG_CLOEXEC___268 = 1073741824
} ;
enum __anonenum_617082774___268 {
    SCM_RIGHTS___268 = 1,
    SCM_CREDENTIALS___268 = 2
} ;
enum __anonenum_606441560___268 {
    SHUT_RD___268 = 0,
    SHUT_WR___268 = 1,
    SHUT_RDWR___268 = 2
} ;
enum __anonenum_681669233___268 {
    IPPROTO_IP___268 = 0,
    IPPROTO_ICMP___268 = 1,
    IPPROTO_IGMP___268 = 2,
    IPPROTO_IPIP___268 = 4,
    IPPROTO_TCP___268 = 6,
    IPPROTO_EGP___268 = 8,
    IPPROTO_PUP___268 = 12,
    IPPROTO_UDP___268 = 17,
    IPPROTO_IDP___268 = 22,
    IPPROTO_TP___268 = 29,
    IPPROTO_DCCP___268 = 33,
    IPPROTO_IPV6___268 = 41,
    IPPROTO_RSVP___268 = 46,
    IPPROTO_GRE___268 = 47,
    IPPROTO_ESP___268 = 50,
    IPPROTO_AH___268 = 51,
    IPPROTO_MTP___268 = 92,
    IPPROTO_BEETPH___268 = 94,
    IPPROTO_ENCAP___268 = 98,
    IPPROTO_PIM___268 = 103,
    IPPROTO_COMP___268 = 108,
    IPPROTO_SCTP___268 = 132,
    IPPROTO_UDPLITE___268 = 136,
    IPPROTO_MPLS___268 = 137,
    IPPROTO_RAW___268 = 255,
    IPPROTO_MAX___268 = 256
} ;
enum __anonenum_218739988___268 {
    IPPROTO_HOPOPTS___268 = 0,
    IPPROTO_ROUTING___268 = 43,
    IPPROTO_FRAGMENT___268 = 44,
    IPPROTO_ICMPV6___268 = 58,
    IPPROTO_NONE___268 = 59,
    IPPROTO_DSTOPTS___268 = 60,
    IPPROTO_MH___268 = 135
} ;
enum __anonenum_662268580___268 {
    IPPORT_ECHO___268 = 7,
    IPPORT_DISCARD___268 = 9,
    IPPORT_SYSTAT___268 = 11,
    IPPORT_DAYTIME___268 = 13,
    IPPORT_NETSTAT___268 = 15,
    IPPORT_FTP___268 = 21,
    IPPORT_TELNET___268 = 23,
    IPPORT_SMTP___268 = 25,
    IPPORT_TIMESERVER___268 = 37,
    IPPORT_NAMESERVER___268 = 42,
    IPPORT_WHOIS___268 = 43,
    IPPORT_MTP___268 = 57,
    IPPORT_TFTP___268 = 69,
    IPPORT_RJE___268 = 77,
    IPPORT_FINGER___268 = 79,
    IPPORT_TTYLINK___268 = 87,
    IPPORT_SUPDUP___268 = 95,
    IPPORT_EXECSERVER___268 = 512,
    IPPORT_LOGINSERVER___268 = 513,
    IPPORT_CMDSERVER___268 = 514,
    IPPORT_EFSSERVER___268 = 520,
    IPPORT_BIFFUDP___268 = 512,
    IPPORT_WHOSERVER___268 = 513,
    IPPORT_ROUTESERVER___268 = 520,
    IPPORT_RESERVED___268 = 1024,
    IPPORT_USERRESERVED___268 = 5000
} ;
enum __anonenum_788308992___268 {
    TCP_ESTABLISHED___268 = 1,
    TCP_SYN_SENT___268 = 2,
    TCP_SYN_RECV___268 = 3,
    TCP_FIN_WAIT1___268 = 4,
    TCP_FIN_WAIT2___268 = 5,
    TCP_TIME_WAIT___268 = 6,
    TCP_CLOSE___268 = 7,
    TCP_CLOSE_WAIT___268 = 8,
    TCP_LAST_ACK___268 = 9,
    TCP_LISTEN___268 = 10,
    TCP_CLOSING___268 = 11
} ;
enum __anonenum_221125648___268 {
    TCP_NO_QUEUE___268 = 0,
    TCP_RECV_QUEUE___268 = 1,
    TCP_SEND_QUEUE___268 = 2,
    TCP_QUEUES_NR___268 = 3
} ;
enum __anonenum_34415463___268 {
    PTHREAD_CREATE_JOINABLE___268 = 0,
    PTHREAD_CREATE_DETACHED___268 = 1
} ;
enum __anonenum_303612439___268 {
    PTHREAD_MUTEX_TIMED_NP___268 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___268 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___268 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___268 = 3,
    PTHREAD_MUTEX_NORMAL___268 = 0,
    PTHREAD_MUTEX_RECURSIVE___268 = 1,
    PTHREAD_MUTEX_ERRORCHECK___268 = 2,
    PTHREAD_MUTEX_DEFAULT___268 = 0,
    PTHREAD_MUTEX_FAST_NP___268 = 0
} ;
enum __anonenum_931900394___268 {
    PTHREAD_MUTEX_STALLED___268 = 0,
    PTHREAD_MUTEX_STALLED_NP___268 = 0,
    PTHREAD_MUTEX_ROBUST___268 = 1,
    PTHREAD_MUTEX_ROBUST_NP___268 = 1
} ;
enum __anonenum_205214487___268 {
    PTHREAD_PRIO_NONE___268 = 0,
    PTHREAD_PRIO_INHERIT___268 = 1,
    PTHREAD_PRIO_PROTECT___268 = 2
} ;
enum __anonenum_25043950___268 {
    PTHREAD_RWLOCK_PREFER_READER_NP___268 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___268 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___268 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___268 = 0
} ;
enum __anonenum_436439511___268 {
    PTHREAD_INHERIT_SCHED___268 = 0,
    PTHREAD_EXPLICIT_SCHED___268 = 1
} ;
enum __anonenum_998661166___268 {
    PTHREAD_SCOPE_SYSTEM___268 = 0,
    PTHREAD_SCOPE_PROCESS___268 = 1
} ;
enum __anonenum_146137331___268 {
    PTHREAD_PROCESS_PRIVATE___268 = 0,
    PTHREAD_PROCESS_SHARED___268 = 1
} ;
enum __anonenum_53396917___268 {
    PTHREAD_CANCEL_ENABLE___268 = 0,
    PTHREAD_CANCEL_DISABLE___268 = 1
} ;
enum __anonenum_904563783___268 {
    PTHREAD_CANCEL_DEFERRED___268 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___268 = 1
} ;
enum __anonenum_672052974___268 {
    SSL_CT_VALIDATION_PERMISSIVE___268 = 0,
    SSL_CT_VALIDATION_STRICT___268 = 1
} ;
struct commands {
   char const   *name ;
   int (*exec)(char const   *me , char *arg ) ;
};
enum __anonenum_437032235___269 {
    _PC_LINK_MAX___269 = 0,
    _PC_MAX_CANON___269 = 1,
    _PC_MAX_INPUT___269 = 2,
    _PC_NAME_MAX___269 = 3,
    _PC_PATH_MAX___269 = 4,
    _PC_PIPE_BUF___269 = 5,
    _PC_CHOWN_RESTRICTED___269 = 6,
    _PC_NO_TRUNC___269 = 7,
    _PC_VDISABLE___269 = 8,
    _PC_SYNC_IO___269 = 9,
    _PC_ASYNC_IO___269 = 10,
    _PC_PRIO_IO___269 = 11,
    _PC_SOCK_MAXBUF___269 = 12,
    _PC_FILESIZEBITS___269 = 13,
    _PC_REC_INCR_XFER_SIZE___269 = 14,
    _PC_REC_MAX_XFER_SIZE___269 = 15,
    _PC_REC_MIN_XFER_SIZE___269 = 16,
    _PC_REC_XFER_ALIGN___269 = 17,
    _PC_ALLOC_SIZE_MIN___269 = 18,
    _PC_SYMLINK_MAX___269 = 19,
    _PC_2_SYMLINKS___269 = 20
} ;
enum __anonenum_315186338___269 {
    _SC_ARG_MAX___269 = 0,
    _SC_CHILD_MAX___269 = 1,
    _SC_CLK_TCK___269 = 2,
    _SC_NGROUPS_MAX___269 = 3,
    _SC_OPEN_MAX___269 = 4,
    _SC_STREAM_MAX___269 = 5,
    _SC_TZNAME_MAX___269 = 6,
    _SC_JOB_CONTROL___269 = 7,
    _SC_SAVED_IDS___269 = 8,
    _SC_REALTIME_SIGNALS___269 = 9,
    _SC_PRIORITY_SCHEDULING___269 = 10,
    _SC_TIMERS___269 = 11,
    _SC_ASYNCHRONOUS_IO___269 = 12,
    _SC_PRIORITIZED_IO___269 = 13,
    _SC_SYNCHRONIZED_IO___269 = 14,
    _SC_FSYNC___269 = 15,
    _SC_MAPPED_FILES___269 = 16,
    _SC_MEMLOCK___269 = 17,
    _SC_MEMLOCK_RANGE___269 = 18,
    _SC_MEMORY_PROTECTION___269 = 19,
    _SC_MESSAGE_PASSING___269 = 20,
    _SC_SEMAPHORES___269 = 21,
    _SC_SHARED_MEMORY_OBJECTS___269 = 22,
    _SC_AIO_LISTIO_MAX___269 = 23,
    _SC_AIO_MAX___269 = 24,
    _SC_AIO_PRIO_DELTA_MAX___269 = 25,
    _SC_DELAYTIMER_MAX___269 = 26,
    _SC_MQ_OPEN_MAX___269 = 27,
    _SC_MQ_PRIO_MAX___269 = 28,
    _SC_VERSION___269 = 29,
    _SC_PAGESIZE___269 = 30,
    _SC_RTSIG_MAX___269 = 31,
    _SC_SEM_NSEMS_MAX___269 = 32,
    _SC_SEM_VALUE_MAX___269 = 33,
    _SC_SIGQUEUE_MAX___269 = 34,
    _SC_TIMER_MAX___269 = 35,
    _SC_BC_BASE_MAX___269 = 36,
    _SC_BC_DIM_MAX___269 = 37,
    _SC_BC_SCALE_MAX___269 = 38,
    _SC_BC_STRING_MAX___269 = 39,
    _SC_COLL_WEIGHTS_MAX___269 = 40,
    _SC_EQUIV_CLASS_MAX___269 = 41,
    _SC_EXPR_NEST_MAX___269 = 42,
    _SC_LINE_MAX___269 = 43,
    _SC_RE_DUP_MAX___269 = 44,
    _SC_CHARCLASS_NAME_MAX___269 = 45,
    _SC_2_VERSION___269 = 46,
    _SC_2_C_BIND___269 = 47,
    _SC_2_C_DEV___269 = 48,
    _SC_2_FORT_DEV___269 = 49,
    _SC_2_FORT_RUN___269 = 50,
    _SC_2_SW_DEV___269 = 51,
    _SC_2_LOCALEDEF___269 = 52,
    _SC_PII___269 = 53,
    _SC_PII_XTI___269 = 54,
    _SC_PII_SOCKET___269 = 55,
    _SC_PII_INTERNET___269 = 56,
    _SC_PII_OSI___269 = 57,
    _SC_POLL___269 = 58,
    _SC_SELECT___269 = 59,
    _SC_UIO_MAXIOV___269 = 60,
    _SC_IOV_MAX___269 = 60,
    _SC_PII_INTERNET_STREAM___269 = 61,
    _SC_PII_INTERNET_DGRAM___269 = 62,
    _SC_PII_OSI_COTS___269 = 63,
    _SC_PII_OSI_CLTS___269 = 64,
    _SC_PII_OSI_M___269 = 65,
    _SC_T_IOV_MAX___269 = 66,
    _SC_THREADS___269 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___269 = 68,
    _SC_GETGR_R_SIZE_MAX___269 = 69,
    _SC_GETPW_R_SIZE_MAX___269 = 70,
    _SC_LOGIN_NAME_MAX___269 = 71,
    _SC_TTY_NAME_MAX___269 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___269 = 73,
    _SC_THREAD_KEYS_MAX___269 = 74,
    _SC_THREAD_STACK_MIN___269 = 75,
    _SC_THREAD_THREADS_MAX___269 = 76,
    _SC_THREAD_ATTR_STACKADDR___269 = 77,
    _SC_THREAD_ATTR_STACKSIZE___269 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___269 = 79,
    _SC_THREAD_PRIO_INHERIT___269 = 80,
    _SC_THREAD_PRIO_PROTECT___269 = 81,
    _SC_THREAD_PROCESS_SHARED___269 = 82,
    _SC_NPROCESSORS_CONF___269 = 83,
    _SC_NPROCESSORS_ONLN___269 = 84,
    _SC_PHYS_PAGES___269 = 85,
    _SC_AVPHYS_PAGES___269 = 86,
    _SC_ATEXIT_MAX___269 = 87,
    _SC_PASS_MAX___269 = 88,
    _SC_XOPEN_VERSION___269 = 89,
    _SC_XOPEN_XCU_VERSION___269 = 90,
    _SC_XOPEN_UNIX___269 = 91,
    _SC_XOPEN_CRYPT___269 = 92,
    _SC_XOPEN_ENH_I18N___269 = 93,
    _SC_XOPEN_SHM___269 = 94,
    _SC_2_CHAR_TERM___269 = 95,
    _SC_2_C_VERSION___269 = 96,
    _SC_2_UPE___269 = 97,
    _SC_XOPEN_XPG2___269 = 98,
    _SC_XOPEN_XPG3___269 = 99,
    _SC_XOPEN_XPG4___269 = 100,
    _SC_CHAR_BIT___269 = 101,
    _SC_CHAR_MAX___269 = 102,
    _SC_CHAR_MIN___269 = 103,
    _SC_INT_MAX___269 = 104,
    _SC_INT_MIN___269 = 105,
    _SC_LONG_BIT___269 = 106,
    _SC_WORD_BIT___269 = 107,
    _SC_MB_LEN_MAX___269 = 108,
    _SC_NZERO___269 = 109,
    _SC_SSIZE_MAX___269 = 110,
    _SC_SCHAR_MAX___269 = 111,
    _SC_SCHAR_MIN___269 = 112,
    _SC_SHRT_MAX___269 = 113,
    _SC_SHRT_MIN___269 = 114,
    _SC_UCHAR_MAX___269 = 115,
    _SC_UINT_MAX___269 = 116,
    _SC_ULONG_MAX___269 = 117,
    _SC_USHRT_MAX___269 = 118,
    _SC_NL_ARGMAX___269 = 119,
    _SC_NL_LANGMAX___269 = 120,
    _SC_NL_MSGMAX___269 = 121,
    _SC_NL_NMAX___269 = 122,
    _SC_NL_SETMAX___269 = 123,
    _SC_NL_TEXTMAX___269 = 124,
    _SC_XBS5_ILP32_OFF32___269 = 125,
    _SC_XBS5_ILP32_OFFBIG___269 = 126,
    _SC_XBS5_LP64_OFF64___269 = 127,
    _SC_XBS5_LPBIG_OFFBIG___269 = 128,
    _SC_XOPEN_LEGACY___269 = 129,
    _SC_XOPEN_REALTIME___269 = 130,
    _SC_XOPEN_REALTIME_THREADS___269 = 131,
    _SC_ADVISORY_INFO___269 = 132,
    _SC_BARRIERS___269 = 133,
    _SC_BASE___269 = 134,
    _SC_C_LANG_SUPPORT___269 = 135,
    _SC_C_LANG_SUPPORT_R___269 = 136,
    _SC_CLOCK_SELECTION___269 = 137,
    _SC_CPUTIME___269 = 138,
    _SC_THREAD_CPUTIME___269 = 139,
    _SC_DEVICE_IO___269 = 140,
    _SC_DEVICE_SPECIFIC___269 = 141,
    _SC_DEVICE_SPECIFIC_R___269 = 142,
    _SC_FD_MGMT___269 = 143,
    _SC_FIFO___269 = 144,
    _SC_PIPE___269 = 145,
    _SC_FILE_ATTRIBUTES___269 = 146,
    _SC_FILE_LOCKING___269 = 147,
    _SC_FILE_SYSTEM___269 = 148,
    _SC_MONOTONIC_CLOCK___269 = 149,
    _SC_MULTI_PROCESS___269 = 150,
    _SC_SINGLE_PROCESS___269 = 151,
    _SC_NETWORKING___269 = 152,
    _SC_READER_WRITER_LOCKS___269 = 153,
    _SC_SPIN_LOCKS___269 = 154,
    _SC_REGEXP___269 = 155,
    _SC_REGEX_VERSION___269 = 156,
    _SC_SHELL___269 = 157,
    _SC_SIGNALS___269 = 158,
    _SC_SPAWN___269 = 159,
    _SC_SPORADIC_SERVER___269 = 160,
    _SC_THREAD_SPORADIC_SERVER___269 = 161,
    _SC_SYSTEM_DATABASE___269 = 162,
    _SC_SYSTEM_DATABASE_R___269 = 163,
    _SC_TIMEOUTS___269 = 164,
    _SC_TYPED_MEMORY_OBJECTS___269 = 165,
    _SC_USER_GROUPS___269 = 166,
    _SC_USER_GROUPS_R___269 = 167,
    _SC_2_PBS___269 = 168,
    _SC_2_PBS_ACCOUNTING___269 = 169,
    _SC_2_PBS_LOCATE___269 = 170,
    _SC_2_PBS_MESSAGE___269 = 171,
    _SC_2_PBS_TRACK___269 = 172,
    _SC_SYMLOOP_MAX___269 = 173,
    _SC_STREAMS___269 = 174,
    _SC_2_PBS_CHECKPOINT___269 = 175,
    _SC_V6_ILP32_OFF32___269 = 176,
    _SC_V6_ILP32_OFFBIG___269 = 177,
    _SC_V6_LP64_OFF64___269 = 178,
    _SC_V6_LPBIG_OFFBIG___269 = 179,
    _SC_HOST_NAME_MAX___269 = 180,
    _SC_TRACE___269 = 181,
    _SC_TRACE_EVENT_FILTER___269 = 182,
    _SC_TRACE_INHERIT___269 = 183,
    _SC_TRACE_LOG___269 = 184,
    _SC_LEVEL1_ICACHE_SIZE___269 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___269 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___269 = 187,
    _SC_LEVEL1_DCACHE_SIZE___269 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___269 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___269 = 190,
    _SC_LEVEL2_CACHE_SIZE___269 = 191,
    _SC_LEVEL2_CACHE_ASSOC___269 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___269 = 193,
    _SC_LEVEL3_CACHE_SIZE___269 = 194,
    _SC_LEVEL3_CACHE_ASSOC___269 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___269 = 196,
    _SC_LEVEL4_CACHE_SIZE___269 = 197,
    _SC_LEVEL4_CACHE_ASSOC___269 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___269 = 199,
    _SC_IPV6___269 = 235,
    _SC_RAW_SOCKETS___269 = 236,
    _SC_V7_ILP32_OFF32___269 = 237,
    _SC_V7_ILP32_OFFBIG___269 = 238,
    _SC_V7_LP64_OFF64___269 = 239,
    _SC_V7_LPBIG_OFFBIG___269 = 240,
    _SC_SS_REPL_MAX___269 = 241,
    _SC_TRACE_EVENT_NAME_MAX___269 = 242,
    _SC_TRACE_NAME_MAX___269 = 243,
    _SC_TRACE_SYS_MAX___269 = 244,
    _SC_TRACE_USER_EVENT_MAX___269 = 245,
    _SC_XOPEN_STREAMS___269 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___269 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___269 = 248
} ;
enum __anonenum_875524036___269 {
    _CS_PATH___269 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___269 = 1,
    _CS_GNU_LIBC_VERSION___269 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___269 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___269 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___269 = 5,
    _CS_LFS_CFLAGS___269 = 1000,
    _CS_LFS_LDFLAGS___269 = 1001,
    _CS_LFS_LIBS___269 = 1002,
    _CS_LFS_LINTFLAGS___269 = 1003,
    _CS_LFS64_CFLAGS___269 = 1004,
    _CS_LFS64_LDFLAGS___269 = 1005,
    _CS_LFS64_LIBS___269 = 1006,
    _CS_LFS64_LINTFLAGS___269 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___269 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___269 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___269 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___269 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___269 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___269 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___269 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___269 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___269 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___269 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___269 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___269 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___269 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___269 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___269 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___269 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___269 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___269 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___269 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___269 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___269 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___269 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___269 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___269 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___269 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___269 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___269 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___269 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___269 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___269 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___269 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___269 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___269 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___269 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___269 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___269 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___269 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___269 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___269 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___269 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___269 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___269 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___269 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___269 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___269 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___269 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___269 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___269 = 1147,
    _CS_V6_ENV___269 = 1148,
    _CS_V7_ENV___269 = 1149
} ;
enum __anonenum_513775621___269 {
    DT_UNKNOWN___269 = 0,
    DT_FIFO___269 = 1,
    DT_CHR___269 = 2,
    DT_DIR___269 = 4,
    DT_BLK___269 = 6,
    DT_REG___269 = 8,
    DT_LNK___269 = 10,
    DT_SOCK___269 = 12,
    DT_WHT___269 = 14
} ;
enum __anonenum_77002343___269 {
    SI_ASYNCNL___269 = -60,
    SI_TKILL___269 = -6,
    SI_SIGIO___269 = -5,
    SI_ASYNCIO___269 = -4,
    SI_MESGQ___269 = -3,
    SI_TIMER___269 = -2,
    SI_QUEUE___269 = -1,
    SI_USER___269 = 0,
    SI_KERNEL___269 = 128
} ;
enum __anonenum_131038172___269 {
    ILL_ILLOPC___269 = 1,
    ILL_ILLOPN___269 = 2,
    ILL_ILLADR___269 = 3,
    ILL_ILLTRP___269 = 4,
    ILL_PRVOPC___269 = 5,
    ILL_PRVREG___269 = 6,
    ILL_COPROC___269 = 7,
    ILL_BADSTK___269 = 8
} ;
enum __anonenum_452038093___269 {
    FPE_INTDIV___269 = 1,
    FPE_INTOVF___269 = 2,
    FPE_FLTDIV___269 = 3,
    FPE_FLTOVF___269 = 4,
    FPE_FLTUND___269 = 5,
    FPE_FLTRES___269 = 6,
    FPE_FLTINV___269 = 7,
    FPE_FLTSUB___269 = 8
} ;
enum __anonenum_30976155___269 {
    SEGV_MAPERR___269 = 1,
    SEGV_ACCERR___269 = 2,
    SEGV_BNDERR___269 = 3,
    SEGV_PKUERR___269 = 4
} ;
enum __anonenum_1036286214___269 {
    BUS_ADRALN___269 = 1,
    BUS_ADRERR___269 = 2,
    BUS_OBJERR___269 = 3,
    BUS_MCEERR_AR___269 = 4,
    BUS_MCEERR_AO___269 = 5
} ;
enum __anonenum_493465559___269 {
    TRAP_BRKPT___269 = 1,
    TRAP_TRACE___269 = 2
} ;
enum __anonenum_23175539___269 {
    CLD_EXITED___269 = 1,
    CLD_KILLED___269 = 2,
    CLD_DUMPED___269 = 3,
    CLD_TRAPPED___269 = 4,
    CLD_STOPPED___269 = 5,
    CLD_CONTINUED___269 = 6
} ;
enum __anonenum_111643124___269 {
    POLL_IN___269 = 1,
    POLL_OUT___269 = 2,
    POLL_MSG___269 = 3,
    POLL_ERR___269 = 4,
    POLL_PRI___269 = 5,
    POLL_HUP___269 = 6
} ;
enum __anonenum_852341087___269 {
    SIGEV_SIGNAL___269 = 0,
    SIGEV_NONE___269 = 1,
    SIGEV_THREAD___269 = 2,
    SIGEV_THREAD_ID___269 = 4
} ;
enum __anonenum_451154152___269 {
    REG_R8___269 = 0,
    REG_R9___269 = 1,
    REG_R10___269 = 2,
    REG_R11___269 = 3,
    REG_R12___269 = 4,
    REG_R13___269 = 5,
    REG_R14___269 = 6,
    REG_R15___269 = 7,
    REG_RDI___269 = 8,
    REG_RSI___269 = 9,
    REG_RBP___269 = 10,
    REG_RBX___269 = 11,
    REG_RDX___269 = 12,
    REG_RAX___269 = 13,
    REG_RCX___269 = 14,
    REG_RSP___269 = 15,
    REG_RIP___269 = 16,
    REG_EFL___269 = 17,
    REG_CSGSFS___269 = 18,
    REG_ERR___269 = 19,
    REG_TRAPNO___269 = 20,
    REG_OLDMASK___269 = 21,
    REG_CR2___269 = 22
} ;
enum __anonenum_57186863___269 {
    SS_ONSTACK___269 = 1,
    SS_DISABLE___269 = 2
} ;
enum __anonenum_83571709___269 {
    MSG_OOB___269 = 1,
    MSG_PEEK___269 = 2,
    MSG_DONTROUTE___269 = 4,
    MSG_TRYHARD___269 = 4,
    MSG_CTRUNC___269 = 8,
    MSG_PROXY___269 = 16,
    MSG_TRUNC___269 = 32,
    MSG_DONTWAIT___269 = 64,
    MSG_EOR___269 = 128,
    MSG_WAITALL___269 = 256,
    MSG_FIN___269 = 512,
    MSG_SYN___269 = 1024,
    MSG_CONFIRM___269 = 2048,
    MSG_RST___269 = 4096,
    MSG_ERRQUEUE___269 = 8192,
    MSG_NOSIGNAL___269 = 16384,
    MSG_MORE___269 = 32768,
    MSG_WAITFORONE___269 = 65536,
    MSG_BATCH___269 = 262144,
    MSG_ZEROCOPY___269 = 67108864,
    MSG_FASTOPEN___269 = 536870912,
    MSG_CMSG_CLOEXEC___269 = 1073741824
} ;
enum __anonenum_617082774___269 {
    SCM_RIGHTS___269 = 1,
    SCM_CREDENTIALS___269 = 2
} ;
enum __anonenum_606441560___269 {
    SHUT_RD___269 = 0,
    SHUT_WR___269 = 1,
    SHUT_RDWR___269 = 2
} ;
enum __anonenum_681669233___269 {
    IPPROTO_IP___269 = 0,
    IPPROTO_ICMP___269 = 1,
    IPPROTO_IGMP___269 = 2,
    IPPROTO_IPIP___269 = 4,
    IPPROTO_TCP___269 = 6,
    IPPROTO_EGP___269 = 8,
    IPPROTO_PUP___269 = 12,
    IPPROTO_UDP___269 = 17,
    IPPROTO_IDP___269 = 22,
    IPPROTO_TP___269 = 29,
    IPPROTO_DCCP___269 = 33,
    IPPROTO_IPV6___269 = 41,
    IPPROTO_RSVP___269 = 46,
    IPPROTO_GRE___269 = 47,
    IPPROTO_ESP___269 = 50,
    IPPROTO_AH___269 = 51,
    IPPROTO_MTP___269 = 92,
    IPPROTO_BEETPH___269 = 94,
    IPPROTO_ENCAP___269 = 98,
    IPPROTO_PIM___269 = 103,
    IPPROTO_COMP___269 = 108,
    IPPROTO_SCTP___269 = 132,
    IPPROTO_UDPLITE___269 = 136,
    IPPROTO_MPLS___269 = 137,
    IPPROTO_RAW___269 = 255,
    IPPROTO_MAX___269 = 256
} ;
enum __anonenum_218739988___269 {
    IPPROTO_HOPOPTS___269 = 0,
    IPPROTO_ROUTING___269 = 43,
    IPPROTO_FRAGMENT___269 = 44,
    IPPROTO_ICMPV6___269 = 58,
    IPPROTO_NONE___269 = 59,
    IPPROTO_DSTOPTS___269 = 60,
    IPPROTO_MH___269 = 135
} ;
enum __anonenum_662268580___269 {
    IPPORT_ECHO___269 = 7,
    IPPORT_DISCARD___269 = 9,
    IPPORT_SYSTAT___269 = 11,
    IPPORT_DAYTIME___269 = 13,
    IPPORT_NETSTAT___269 = 15,
    IPPORT_FTP___269 = 21,
    IPPORT_TELNET___269 = 23,
    IPPORT_SMTP___269 = 25,
    IPPORT_TIMESERVER___269 = 37,
    IPPORT_NAMESERVER___269 = 42,
    IPPORT_WHOIS___269 = 43,
    IPPORT_MTP___269 = 57,
    IPPORT_TFTP___269 = 69,
    IPPORT_RJE___269 = 77,
    IPPORT_FINGER___269 = 79,
    IPPORT_TTYLINK___269 = 87,
    IPPORT_SUPDUP___269 = 95,
    IPPORT_EXECSERVER___269 = 512,
    IPPORT_LOGINSERVER___269 = 513,
    IPPORT_CMDSERVER___269 = 514,
    IPPORT_EFSSERVER___269 = 520,
    IPPORT_BIFFUDP___269 = 512,
    IPPORT_WHOSERVER___269 = 513,
    IPPORT_ROUTESERVER___269 = 520,
    IPPORT_RESERVED___269 = 1024,
    IPPORT_USERRESERVED___269 = 5000
} ;
enum __anonenum_788308992___269 {
    TCP_ESTABLISHED___269 = 1,
    TCP_SYN_SENT___269 = 2,
    TCP_SYN_RECV___269 = 3,
    TCP_FIN_WAIT1___269 = 4,
    TCP_FIN_WAIT2___269 = 5,
    TCP_TIME_WAIT___269 = 6,
    TCP_CLOSE___269 = 7,
    TCP_CLOSE_WAIT___269 = 8,
    TCP_LAST_ACK___269 = 9,
    TCP_LISTEN___269 = 10,
    TCP_CLOSING___269 = 11
} ;
enum __anonenum_221125648___269 {
    TCP_NO_QUEUE___269 = 0,
    TCP_RECV_QUEUE___269 = 1,
    TCP_SEND_QUEUE___269 = 2,
    TCP_QUEUES_NR___269 = 3
} ;
enum __anonenum_34415463___269 {
    PTHREAD_CREATE_JOINABLE___269 = 0,
    PTHREAD_CREATE_DETACHED___269 = 1
} ;
enum __anonenum_303612439___269 {
    PTHREAD_MUTEX_TIMED_NP___269 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___269 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___269 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___269 = 3,
    PTHREAD_MUTEX_NORMAL___269 = 0,
    PTHREAD_MUTEX_RECURSIVE___269 = 1,
    PTHREAD_MUTEX_ERRORCHECK___269 = 2,
    PTHREAD_MUTEX_DEFAULT___269 = 0,
    PTHREAD_MUTEX_FAST_NP___269 = 0
} ;
enum __anonenum_931900394___269 {
    PTHREAD_MUTEX_STALLED___269 = 0,
    PTHREAD_MUTEX_STALLED_NP___269 = 0,
    PTHREAD_MUTEX_ROBUST___269 = 1,
    PTHREAD_MUTEX_ROBUST_NP___269 = 1
} ;
enum __anonenum_205214487___269 {
    PTHREAD_PRIO_NONE___269 = 0,
    PTHREAD_PRIO_INHERIT___269 = 1,
    PTHREAD_PRIO_PROTECT___269 = 2
} ;
enum __anonenum_25043950___269 {
    PTHREAD_RWLOCK_PREFER_READER_NP___269 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___269 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___269 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___269 = 0
} ;
enum __anonenum_436439511___269 {
    PTHREAD_INHERIT_SCHED___269 = 0,
    PTHREAD_EXPLICIT_SCHED___269 = 1
} ;
enum __anonenum_998661166___269 {
    PTHREAD_SCOPE_SYSTEM___269 = 0,
    PTHREAD_SCOPE_PROCESS___269 = 1
} ;
enum __anonenum_146137331___269 {
    PTHREAD_PROCESS_PRIVATE___269 = 0,
    PTHREAD_PROCESS_SHARED___269 = 1
} ;
enum __anonenum_53396917___269 {
    PTHREAD_CANCEL_ENABLE___269 = 0,
    PTHREAD_CANCEL_DISABLE___269 = 1
} ;
enum __anonenum_904563783___269 {
    PTHREAD_CANCEL_DEFERRED___269 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___269 = 1
} ;
enum __anonenum_672052974___269 {
    SSL_CT_VALIDATION_PERMISSIVE___269 = 0,
    SSL_CT_VALIDATION_STRICT___269 = 1
} ;
struct cmd_struct {
   char const   *cmd ;
   int (*fn)(int  , char const   ** , char const   * ) ;
   unsigned int option ;
};
enum __anonenum_437032235___270 {
    _PC_LINK_MAX___270 = 0,
    _PC_MAX_CANON___270 = 1,
    _PC_MAX_INPUT___270 = 2,
    _PC_NAME_MAX___270 = 3,
    _PC_PATH_MAX___270 = 4,
    _PC_PIPE_BUF___270 = 5,
    _PC_CHOWN_RESTRICTED___270 = 6,
    _PC_NO_TRUNC___270 = 7,
    _PC_VDISABLE___270 = 8,
    _PC_SYNC_IO___270 = 9,
    _PC_ASYNC_IO___270 = 10,
    _PC_PRIO_IO___270 = 11,
    _PC_SOCK_MAXBUF___270 = 12,
    _PC_FILESIZEBITS___270 = 13,
    _PC_REC_INCR_XFER_SIZE___270 = 14,
    _PC_REC_MAX_XFER_SIZE___270 = 15,
    _PC_REC_MIN_XFER_SIZE___270 = 16,
    _PC_REC_XFER_ALIGN___270 = 17,
    _PC_ALLOC_SIZE_MIN___270 = 18,
    _PC_SYMLINK_MAX___270 = 19,
    _PC_2_SYMLINKS___270 = 20
} ;
enum __anonenum_315186338___270 {
    _SC_ARG_MAX___270 = 0,
    _SC_CHILD_MAX___270 = 1,
    _SC_CLK_TCK___270 = 2,
    _SC_NGROUPS_MAX___270 = 3,
    _SC_OPEN_MAX___270 = 4,
    _SC_STREAM_MAX___270 = 5,
    _SC_TZNAME_MAX___270 = 6,
    _SC_JOB_CONTROL___270 = 7,
    _SC_SAVED_IDS___270 = 8,
    _SC_REALTIME_SIGNALS___270 = 9,
    _SC_PRIORITY_SCHEDULING___270 = 10,
    _SC_TIMERS___270 = 11,
    _SC_ASYNCHRONOUS_IO___270 = 12,
    _SC_PRIORITIZED_IO___270 = 13,
    _SC_SYNCHRONIZED_IO___270 = 14,
    _SC_FSYNC___270 = 15,
    _SC_MAPPED_FILES___270 = 16,
    _SC_MEMLOCK___270 = 17,
    _SC_MEMLOCK_RANGE___270 = 18,
    _SC_MEMORY_PROTECTION___270 = 19,
    _SC_MESSAGE_PASSING___270 = 20,
    _SC_SEMAPHORES___270 = 21,
    _SC_SHARED_MEMORY_OBJECTS___270 = 22,
    _SC_AIO_LISTIO_MAX___270 = 23,
    _SC_AIO_MAX___270 = 24,
    _SC_AIO_PRIO_DELTA_MAX___270 = 25,
    _SC_DELAYTIMER_MAX___270 = 26,
    _SC_MQ_OPEN_MAX___270 = 27,
    _SC_MQ_PRIO_MAX___270 = 28,
    _SC_VERSION___270 = 29,
    _SC_PAGESIZE___270 = 30,
    _SC_RTSIG_MAX___270 = 31,
    _SC_SEM_NSEMS_MAX___270 = 32,
    _SC_SEM_VALUE_MAX___270 = 33,
    _SC_SIGQUEUE_MAX___270 = 34,
    _SC_TIMER_MAX___270 = 35,
    _SC_BC_BASE_MAX___270 = 36,
    _SC_BC_DIM_MAX___270 = 37,
    _SC_BC_SCALE_MAX___270 = 38,
    _SC_BC_STRING_MAX___270 = 39,
    _SC_COLL_WEIGHTS_MAX___270 = 40,
    _SC_EQUIV_CLASS_MAX___270 = 41,
    _SC_EXPR_NEST_MAX___270 = 42,
    _SC_LINE_MAX___270 = 43,
    _SC_RE_DUP_MAX___270 = 44,
    _SC_CHARCLASS_NAME_MAX___270 = 45,
    _SC_2_VERSION___270 = 46,
    _SC_2_C_BIND___270 = 47,
    _SC_2_C_DEV___270 = 48,
    _SC_2_FORT_DEV___270 = 49,
    _SC_2_FORT_RUN___270 = 50,
    _SC_2_SW_DEV___270 = 51,
    _SC_2_LOCALEDEF___270 = 52,
    _SC_PII___270 = 53,
    _SC_PII_XTI___270 = 54,
    _SC_PII_SOCKET___270 = 55,
    _SC_PII_INTERNET___270 = 56,
    _SC_PII_OSI___270 = 57,
    _SC_POLL___270 = 58,
    _SC_SELECT___270 = 59,
    _SC_UIO_MAXIOV___270 = 60,
    _SC_IOV_MAX___270 = 60,
    _SC_PII_INTERNET_STREAM___270 = 61,
    _SC_PII_INTERNET_DGRAM___270 = 62,
    _SC_PII_OSI_COTS___270 = 63,
    _SC_PII_OSI_CLTS___270 = 64,
    _SC_PII_OSI_M___270 = 65,
    _SC_T_IOV_MAX___270 = 66,
    _SC_THREADS___270 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___270 = 68,
    _SC_GETGR_R_SIZE_MAX___270 = 69,
    _SC_GETPW_R_SIZE_MAX___270 = 70,
    _SC_LOGIN_NAME_MAX___270 = 71,
    _SC_TTY_NAME_MAX___270 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___270 = 73,
    _SC_THREAD_KEYS_MAX___270 = 74,
    _SC_THREAD_STACK_MIN___270 = 75,
    _SC_THREAD_THREADS_MAX___270 = 76,
    _SC_THREAD_ATTR_STACKADDR___270 = 77,
    _SC_THREAD_ATTR_STACKSIZE___270 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___270 = 79,
    _SC_THREAD_PRIO_INHERIT___270 = 80,
    _SC_THREAD_PRIO_PROTECT___270 = 81,
    _SC_THREAD_PROCESS_SHARED___270 = 82,
    _SC_NPROCESSORS_CONF___270 = 83,
    _SC_NPROCESSORS_ONLN___270 = 84,
    _SC_PHYS_PAGES___270 = 85,
    _SC_AVPHYS_PAGES___270 = 86,
    _SC_ATEXIT_MAX___270 = 87,
    _SC_PASS_MAX___270 = 88,
    _SC_XOPEN_VERSION___270 = 89,
    _SC_XOPEN_XCU_VERSION___270 = 90,
    _SC_XOPEN_UNIX___270 = 91,
    _SC_XOPEN_CRYPT___270 = 92,
    _SC_XOPEN_ENH_I18N___270 = 93,
    _SC_XOPEN_SHM___270 = 94,
    _SC_2_CHAR_TERM___270 = 95,
    _SC_2_C_VERSION___270 = 96,
    _SC_2_UPE___270 = 97,
    _SC_XOPEN_XPG2___270 = 98,
    _SC_XOPEN_XPG3___270 = 99,
    _SC_XOPEN_XPG4___270 = 100,
    _SC_CHAR_BIT___270 = 101,
    _SC_CHAR_MAX___270 = 102,
    _SC_CHAR_MIN___270 = 103,
    _SC_INT_MAX___270 = 104,
    _SC_INT_MIN___270 = 105,
    _SC_LONG_BIT___270 = 106,
    _SC_WORD_BIT___270 = 107,
    _SC_MB_LEN_MAX___270 = 108,
    _SC_NZERO___270 = 109,
    _SC_SSIZE_MAX___270 = 110,
    _SC_SCHAR_MAX___270 = 111,
    _SC_SCHAR_MIN___270 = 112,
    _SC_SHRT_MAX___270 = 113,
    _SC_SHRT_MIN___270 = 114,
    _SC_UCHAR_MAX___270 = 115,
    _SC_UINT_MAX___270 = 116,
    _SC_ULONG_MAX___270 = 117,
    _SC_USHRT_MAX___270 = 118,
    _SC_NL_ARGMAX___270 = 119,
    _SC_NL_LANGMAX___270 = 120,
    _SC_NL_MSGMAX___270 = 121,
    _SC_NL_NMAX___270 = 122,
    _SC_NL_SETMAX___270 = 123,
    _SC_NL_TEXTMAX___270 = 124,
    _SC_XBS5_ILP32_OFF32___270 = 125,
    _SC_XBS5_ILP32_OFFBIG___270 = 126,
    _SC_XBS5_LP64_OFF64___270 = 127,
    _SC_XBS5_LPBIG_OFFBIG___270 = 128,
    _SC_XOPEN_LEGACY___270 = 129,
    _SC_XOPEN_REALTIME___270 = 130,
    _SC_XOPEN_REALTIME_THREADS___270 = 131,
    _SC_ADVISORY_INFO___270 = 132,
    _SC_BARRIERS___270 = 133,
    _SC_BASE___270 = 134,
    _SC_C_LANG_SUPPORT___270 = 135,
    _SC_C_LANG_SUPPORT_R___270 = 136,
    _SC_CLOCK_SELECTION___270 = 137,
    _SC_CPUTIME___270 = 138,
    _SC_THREAD_CPUTIME___270 = 139,
    _SC_DEVICE_IO___270 = 140,
    _SC_DEVICE_SPECIFIC___270 = 141,
    _SC_DEVICE_SPECIFIC_R___270 = 142,
    _SC_FD_MGMT___270 = 143,
    _SC_FIFO___270 = 144,
    _SC_PIPE___270 = 145,
    _SC_FILE_ATTRIBUTES___270 = 146,
    _SC_FILE_LOCKING___270 = 147,
    _SC_FILE_SYSTEM___270 = 148,
    _SC_MONOTONIC_CLOCK___270 = 149,
    _SC_MULTI_PROCESS___270 = 150,
    _SC_SINGLE_PROCESS___270 = 151,
    _SC_NETWORKING___270 = 152,
    _SC_READER_WRITER_LOCKS___270 = 153,
    _SC_SPIN_LOCKS___270 = 154,
    _SC_REGEXP___270 = 155,
    _SC_REGEX_VERSION___270 = 156,
    _SC_SHELL___270 = 157,
    _SC_SIGNALS___270 = 158,
    _SC_SPAWN___270 = 159,
    _SC_SPORADIC_SERVER___270 = 160,
    _SC_THREAD_SPORADIC_SERVER___270 = 161,
    _SC_SYSTEM_DATABASE___270 = 162,
    _SC_SYSTEM_DATABASE_R___270 = 163,
    _SC_TIMEOUTS___270 = 164,
    _SC_TYPED_MEMORY_OBJECTS___270 = 165,
    _SC_USER_GROUPS___270 = 166,
    _SC_USER_GROUPS_R___270 = 167,
    _SC_2_PBS___270 = 168,
    _SC_2_PBS_ACCOUNTING___270 = 169,
    _SC_2_PBS_LOCATE___270 = 170,
    _SC_2_PBS_MESSAGE___270 = 171,
    _SC_2_PBS_TRACK___270 = 172,
    _SC_SYMLOOP_MAX___270 = 173,
    _SC_STREAMS___270 = 174,
    _SC_2_PBS_CHECKPOINT___270 = 175,
    _SC_V6_ILP32_OFF32___270 = 176,
    _SC_V6_ILP32_OFFBIG___270 = 177,
    _SC_V6_LP64_OFF64___270 = 178,
    _SC_V6_LPBIG_OFFBIG___270 = 179,
    _SC_HOST_NAME_MAX___270 = 180,
    _SC_TRACE___270 = 181,
    _SC_TRACE_EVENT_FILTER___270 = 182,
    _SC_TRACE_INHERIT___270 = 183,
    _SC_TRACE_LOG___270 = 184,
    _SC_LEVEL1_ICACHE_SIZE___270 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___270 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___270 = 187,
    _SC_LEVEL1_DCACHE_SIZE___270 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___270 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___270 = 190,
    _SC_LEVEL2_CACHE_SIZE___270 = 191,
    _SC_LEVEL2_CACHE_ASSOC___270 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___270 = 193,
    _SC_LEVEL3_CACHE_SIZE___270 = 194,
    _SC_LEVEL3_CACHE_ASSOC___270 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___270 = 196,
    _SC_LEVEL4_CACHE_SIZE___270 = 197,
    _SC_LEVEL4_CACHE_ASSOC___270 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___270 = 199,
    _SC_IPV6___270 = 235,
    _SC_RAW_SOCKETS___270 = 236,
    _SC_V7_ILP32_OFF32___270 = 237,
    _SC_V7_ILP32_OFFBIG___270 = 238,
    _SC_V7_LP64_OFF64___270 = 239,
    _SC_V7_LPBIG_OFFBIG___270 = 240,
    _SC_SS_REPL_MAX___270 = 241,
    _SC_TRACE_EVENT_NAME_MAX___270 = 242,
    _SC_TRACE_NAME_MAX___270 = 243,
    _SC_TRACE_SYS_MAX___270 = 244,
    _SC_TRACE_USER_EVENT_MAX___270 = 245,
    _SC_XOPEN_STREAMS___270 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___270 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___270 = 248
} ;
enum __anonenum_875524036___270 {
    _CS_PATH___270 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___270 = 1,
    _CS_GNU_LIBC_VERSION___270 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___270 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___270 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___270 = 5,
    _CS_LFS_CFLAGS___270 = 1000,
    _CS_LFS_LDFLAGS___270 = 1001,
    _CS_LFS_LIBS___270 = 1002,
    _CS_LFS_LINTFLAGS___270 = 1003,
    _CS_LFS64_CFLAGS___270 = 1004,
    _CS_LFS64_LDFLAGS___270 = 1005,
    _CS_LFS64_LIBS___270 = 1006,
    _CS_LFS64_LINTFLAGS___270 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___270 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___270 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___270 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___270 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___270 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___270 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___270 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___270 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___270 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___270 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___270 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___270 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___270 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___270 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___270 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___270 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___270 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___270 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___270 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___270 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___270 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___270 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___270 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___270 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___270 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___270 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___270 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___270 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___270 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___270 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___270 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___270 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___270 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___270 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___270 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___270 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___270 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___270 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___270 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___270 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___270 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___270 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___270 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___270 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___270 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___270 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___270 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___270 = 1147,
    _CS_V6_ENV___270 = 1148,
    _CS_V7_ENV___270 = 1149
} ;
enum __anonenum_513775621___270 {
    DT_UNKNOWN___270 = 0,
    DT_FIFO___270 = 1,
    DT_CHR___270 = 2,
    DT_DIR___270 = 4,
    DT_BLK___270 = 6,
    DT_REG___270 = 8,
    DT_LNK___270 = 10,
    DT_SOCK___270 = 12,
    DT_WHT___270 = 14
} ;
enum __anonenum_77002343___270 {
    SI_ASYNCNL___270 = -60,
    SI_TKILL___270 = -6,
    SI_SIGIO___270 = -5,
    SI_ASYNCIO___270 = -4,
    SI_MESGQ___270 = -3,
    SI_TIMER___270 = -2,
    SI_QUEUE___270 = -1,
    SI_USER___270 = 0,
    SI_KERNEL___270 = 128
} ;
enum __anonenum_131038172___270 {
    ILL_ILLOPC___270 = 1,
    ILL_ILLOPN___270 = 2,
    ILL_ILLADR___270 = 3,
    ILL_ILLTRP___270 = 4,
    ILL_PRVOPC___270 = 5,
    ILL_PRVREG___270 = 6,
    ILL_COPROC___270 = 7,
    ILL_BADSTK___270 = 8
} ;
enum __anonenum_452038093___270 {
    FPE_INTDIV___270 = 1,
    FPE_INTOVF___270 = 2,
    FPE_FLTDIV___270 = 3,
    FPE_FLTOVF___270 = 4,
    FPE_FLTUND___270 = 5,
    FPE_FLTRES___270 = 6,
    FPE_FLTINV___270 = 7,
    FPE_FLTSUB___270 = 8
} ;
enum __anonenum_30976155___270 {
    SEGV_MAPERR___270 = 1,
    SEGV_ACCERR___270 = 2,
    SEGV_BNDERR___270 = 3,
    SEGV_PKUERR___270 = 4
} ;
enum __anonenum_1036286214___270 {
    BUS_ADRALN___270 = 1,
    BUS_ADRERR___270 = 2,
    BUS_OBJERR___270 = 3,
    BUS_MCEERR_AR___270 = 4,
    BUS_MCEERR_AO___270 = 5
} ;
enum __anonenum_493465559___270 {
    TRAP_BRKPT___270 = 1,
    TRAP_TRACE___270 = 2
} ;
enum __anonenum_23175539___270 {
    CLD_EXITED___270 = 1,
    CLD_KILLED___270 = 2,
    CLD_DUMPED___270 = 3,
    CLD_TRAPPED___270 = 4,
    CLD_STOPPED___270 = 5,
    CLD_CONTINUED___270 = 6
} ;
enum __anonenum_111643124___270 {
    POLL_IN___270 = 1,
    POLL_OUT___270 = 2,
    POLL_MSG___270 = 3,
    POLL_ERR___270 = 4,
    POLL_PRI___270 = 5,
    POLL_HUP___270 = 6
} ;
enum __anonenum_852341087___270 {
    SIGEV_SIGNAL___270 = 0,
    SIGEV_NONE___270 = 1,
    SIGEV_THREAD___270 = 2,
    SIGEV_THREAD_ID___270 = 4
} ;
enum __anonenum_451154152___270 {
    REG_R8___270 = 0,
    REG_R9___270 = 1,
    REG_R10___270 = 2,
    REG_R11___270 = 3,
    REG_R12___270 = 4,
    REG_R13___270 = 5,
    REG_R14___270 = 6,
    REG_R15___270 = 7,
    REG_RDI___270 = 8,
    REG_RSI___270 = 9,
    REG_RBP___270 = 10,
    REG_RBX___270 = 11,
    REG_RDX___270 = 12,
    REG_RAX___270 = 13,
    REG_RCX___270 = 14,
    REG_RSP___270 = 15,
    REG_RIP___270 = 16,
    REG_EFL___270 = 17,
    REG_CSGSFS___270 = 18,
    REG_ERR___270 = 19,
    REG_TRAPNO___270 = 20,
    REG_OLDMASK___270 = 21,
    REG_CR2___270 = 22
} ;
enum __anonenum_57186863___270 {
    SS_ONSTACK___270 = 1,
    SS_DISABLE___270 = 2
} ;
enum __anonenum_83571709___270 {
    MSG_OOB___270 = 1,
    MSG_PEEK___270 = 2,
    MSG_DONTROUTE___270 = 4,
    MSG_TRYHARD___270 = 4,
    MSG_CTRUNC___270 = 8,
    MSG_PROXY___270 = 16,
    MSG_TRUNC___270 = 32,
    MSG_DONTWAIT___270 = 64,
    MSG_EOR___270 = 128,
    MSG_WAITALL___270 = 256,
    MSG_FIN___270 = 512,
    MSG_SYN___270 = 1024,
    MSG_CONFIRM___270 = 2048,
    MSG_RST___270 = 4096,
    MSG_ERRQUEUE___270 = 8192,
    MSG_NOSIGNAL___270 = 16384,
    MSG_MORE___270 = 32768,
    MSG_WAITFORONE___270 = 65536,
    MSG_BATCH___270 = 262144,
    MSG_ZEROCOPY___270 = 67108864,
    MSG_FASTOPEN___270 = 536870912,
    MSG_CMSG_CLOEXEC___270 = 1073741824
} ;
enum __anonenum_617082774___270 {
    SCM_RIGHTS___270 = 1,
    SCM_CREDENTIALS___270 = 2
} ;
enum __anonenum_606441560___270 {
    SHUT_RD___270 = 0,
    SHUT_WR___270 = 1,
    SHUT_RDWR___270 = 2
} ;
enum __anonenum_681669233___270 {
    IPPROTO_IP___270 = 0,
    IPPROTO_ICMP___270 = 1,
    IPPROTO_IGMP___270 = 2,
    IPPROTO_IPIP___270 = 4,
    IPPROTO_TCP___270 = 6,
    IPPROTO_EGP___270 = 8,
    IPPROTO_PUP___270 = 12,
    IPPROTO_UDP___270 = 17,
    IPPROTO_IDP___270 = 22,
    IPPROTO_TP___270 = 29,
    IPPROTO_DCCP___270 = 33,
    IPPROTO_IPV6___270 = 41,
    IPPROTO_RSVP___270 = 46,
    IPPROTO_GRE___270 = 47,
    IPPROTO_ESP___270 = 50,
    IPPROTO_AH___270 = 51,
    IPPROTO_MTP___270 = 92,
    IPPROTO_BEETPH___270 = 94,
    IPPROTO_ENCAP___270 = 98,
    IPPROTO_PIM___270 = 103,
    IPPROTO_COMP___270 = 108,
    IPPROTO_SCTP___270 = 132,
    IPPROTO_UDPLITE___270 = 136,
    IPPROTO_MPLS___270 = 137,
    IPPROTO_RAW___270 = 255,
    IPPROTO_MAX___270 = 256
} ;
enum __anonenum_218739988___270 {
    IPPROTO_HOPOPTS___270 = 0,
    IPPROTO_ROUTING___270 = 43,
    IPPROTO_FRAGMENT___270 = 44,
    IPPROTO_ICMPV6___270 = 58,
    IPPROTO_NONE___270 = 59,
    IPPROTO_DSTOPTS___270 = 60,
    IPPROTO_MH___270 = 135
} ;
enum __anonenum_662268580___270 {
    IPPORT_ECHO___270 = 7,
    IPPORT_DISCARD___270 = 9,
    IPPORT_SYSTAT___270 = 11,
    IPPORT_DAYTIME___270 = 13,
    IPPORT_NETSTAT___270 = 15,
    IPPORT_FTP___270 = 21,
    IPPORT_TELNET___270 = 23,
    IPPORT_SMTP___270 = 25,
    IPPORT_TIMESERVER___270 = 37,
    IPPORT_NAMESERVER___270 = 42,
    IPPORT_WHOIS___270 = 43,
    IPPORT_MTP___270 = 57,
    IPPORT_TFTP___270 = 69,
    IPPORT_RJE___270 = 77,
    IPPORT_FINGER___270 = 79,
    IPPORT_TTYLINK___270 = 87,
    IPPORT_SUPDUP___270 = 95,
    IPPORT_EXECSERVER___270 = 512,
    IPPORT_LOGINSERVER___270 = 513,
    IPPORT_CMDSERVER___270 = 514,
    IPPORT_EFSSERVER___270 = 520,
    IPPORT_BIFFUDP___270 = 512,
    IPPORT_WHOSERVER___270 = 513,
    IPPORT_ROUTESERVER___270 = 520,
    IPPORT_RESERVED___270 = 1024,
    IPPORT_USERRESERVED___270 = 5000
} ;
enum __anonenum_788308992___270 {
    TCP_ESTABLISHED___270 = 1,
    TCP_SYN_SENT___270 = 2,
    TCP_SYN_RECV___270 = 3,
    TCP_FIN_WAIT1___270 = 4,
    TCP_FIN_WAIT2___270 = 5,
    TCP_TIME_WAIT___270 = 6,
    TCP_CLOSE___270 = 7,
    TCP_CLOSE_WAIT___270 = 8,
    TCP_LAST_ACK___270 = 9,
    TCP_LISTEN___270 = 10,
    TCP_CLOSING___270 = 11
} ;
enum __anonenum_221125648___270 {
    TCP_NO_QUEUE___270 = 0,
    TCP_RECV_QUEUE___270 = 1,
    TCP_SEND_QUEUE___270 = 2,
    TCP_QUEUES_NR___270 = 3
} ;
enum __anonenum_34415463___270 {
    PTHREAD_CREATE_JOINABLE___270 = 0,
    PTHREAD_CREATE_DETACHED___270 = 1
} ;
enum __anonenum_303612439___270 {
    PTHREAD_MUTEX_TIMED_NP___270 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___270 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___270 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___270 = 3,
    PTHREAD_MUTEX_NORMAL___270 = 0,
    PTHREAD_MUTEX_RECURSIVE___270 = 1,
    PTHREAD_MUTEX_ERRORCHECK___270 = 2,
    PTHREAD_MUTEX_DEFAULT___270 = 0,
    PTHREAD_MUTEX_FAST_NP___270 = 0
} ;
enum __anonenum_931900394___270 {
    PTHREAD_MUTEX_STALLED___270 = 0,
    PTHREAD_MUTEX_STALLED_NP___270 = 0,
    PTHREAD_MUTEX_ROBUST___270 = 1,
    PTHREAD_MUTEX_ROBUST_NP___270 = 1
} ;
enum __anonenum_205214487___270 {
    PTHREAD_PRIO_NONE___270 = 0,
    PTHREAD_PRIO_INHERIT___270 = 1,
    PTHREAD_PRIO_PROTECT___270 = 2
} ;
enum __anonenum_25043950___270 {
    PTHREAD_RWLOCK_PREFER_READER_NP___270 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___270 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___270 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___270 = 0
} ;
enum __anonenum_436439511___270 {
    PTHREAD_INHERIT_SCHED___270 = 0,
    PTHREAD_EXPLICIT_SCHED___270 = 1
} ;
enum __anonenum_998661166___270 {
    PTHREAD_SCOPE_SYSTEM___270 = 0,
    PTHREAD_SCOPE_PROCESS___270 = 1
} ;
enum __anonenum_146137331___270 {
    PTHREAD_PROCESS_PRIVATE___270 = 0,
    PTHREAD_PROCESS_SHARED___270 = 1
} ;
enum __anonenum_53396917___270 {
    PTHREAD_CANCEL_ENABLE___270 = 0,
    PTHREAD_CANCEL_DISABLE___270 = 1
} ;
enum __anonenum_904563783___270 {
    PTHREAD_CANCEL_DEFERRED___270 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___270 = 1
} ;
enum __anonenum_672052974___270 {
    SSL_CT_VALIDATION_PERMISSIVE___270 = 0,
    SSL_CT_VALIDATION_STRICT___270 = 1
} ;
enum __anonenum_561748495___16 {
    RECURSE_SUBMODULES_ONLY___16 = -5,
    RECURSE_SUBMODULES_CHECK___16 = -4,
    RECURSE_SUBMODULES_ERROR___16 = -3,
    RECURSE_SUBMODULES_NONE___16 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___16 = -1,
    RECURSE_SUBMODULES_OFF___16 = 0,
    RECURSE_SUBMODULES_DEFAULT___16 = 1,
    RECURSE_SUBMODULES_ON___16 = 2
} ;
struct update_callback_data {
   int flags ;
   int add_errors ;
};
enum __anonenum_437032235___271 {
    _PC_LINK_MAX___271 = 0,
    _PC_MAX_CANON___271 = 1,
    _PC_MAX_INPUT___271 = 2,
    _PC_NAME_MAX___271 = 3,
    _PC_PATH_MAX___271 = 4,
    _PC_PIPE_BUF___271 = 5,
    _PC_CHOWN_RESTRICTED___271 = 6,
    _PC_NO_TRUNC___271 = 7,
    _PC_VDISABLE___271 = 8,
    _PC_SYNC_IO___271 = 9,
    _PC_ASYNC_IO___271 = 10,
    _PC_PRIO_IO___271 = 11,
    _PC_SOCK_MAXBUF___271 = 12,
    _PC_FILESIZEBITS___271 = 13,
    _PC_REC_INCR_XFER_SIZE___271 = 14,
    _PC_REC_MAX_XFER_SIZE___271 = 15,
    _PC_REC_MIN_XFER_SIZE___271 = 16,
    _PC_REC_XFER_ALIGN___271 = 17,
    _PC_ALLOC_SIZE_MIN___271 = 18,
    _PC_SYMLINK_MAX___271 = 19,
    _PC_2_SYMLINKS___271 = 20
} ;
enum __anonenum_315186338___271 {
    _SC_ARG_MAX___271 = 0,
    _SC_CHILD_MAX___271 = 1,
    _SC_CLK_TCK___271 = 2,
    _SC_NGROUPS_MAX___271 = 3,
    _SC_OPEN_MAX___271 = 4,
    _SC_STREAM_MAX___271 = 5,
    _SC_TZNAME_MAX___271 = 6,
    _SC_JOB_CONTROL___271 = 7,
    _SC_SAVED_IDS___271 = 8,
    _SC_REALTIME_SIGNALS___271 = 9,
    _SC_PRIORITY_SCHEDULING___271 = 10,
    _SC_TIMERS___271 = 11,
    _SC_ASYNCHRONOUS_IO___271 = 12,
    _SC_PRIORITIZED_IO___271 = 13,
    _SC_SYNCHRONIZED_IO___271 = 14,
    _SC_FSYNC___271 = 15,
    _SC_MAPPED_FILES___271 = 16,
    _SC_MEMLOCK___271 = 17,
    _SC_MEMLOCK_RANGE___271 = 18,
    _SC_MEMORY_PROTECTION___271 = 19,
    _SC_MESSAGE_PASSING___271 = 20,
    _SC_SEMAPHORES___271 = 21,
    _SC_SHARED_MEMORY_OBJECTS___271 = 22,
    _SC_AIO_LISTIO_MAX___271 = 23,
    _SC_AIO_MAX___271 = 24,
    _SC_AIO_PRIO_DELTA_MAX___271 = 25,
    _SC_DELAYTIMER_MAX___271 = 26,
    _SC_MQ_OPEN_MAX___271 = 27,
    _SC_MQ_PRIO_MAX___271 = 28,
    _SC_VERSION___271 = 29,
    _SC_PAGESIZE___271 = 30,
    _SC_RTSIG_MAX___271 = 31,
    _SC_SEM_NSEMS_MAX___271 = 32,
    _SC_SEM_VALUE_MAX___271 = 33,
    _SC_SIGQUEUE_MAX___271 = 34,
    _SC_TIMER_MAX___271 = 35,
    _SC_BC_BASE_MAX___271 = 36,
    _SC_BC_DIM_MAX___271 = 37,
    _SC_BC_SCALE_MAX___271 = 38,
    _SC_BC_STRING_MAX___271 = 39,
    _SC_COLL_WEIGHTS_MAX___271 = 40,
    _SC_EQUIV_CLASS_MAX___271 = 41,
    _SC_EXPR_NEST_MAX___271 = 42,
    _SC_LINE_MAX___271 = 43,
    _SC_RE_DUP_MAX___271 = 44,
    _SC_CHARCLASS_NAME_MAX___271 = 45,
    _SC_2_VERSION___271 = 46,
    _SC_2_C_BIND___271 = 47,
    _SC_2_C_DEV___271 = 48,
    _SC_2_FORT_DEV___271 = 49,
    _SC_2_FORT_RUN___271 = 50,
    _SC_2_SW_DEV___271 = 51,
    _SC_2_LOCALEDEF___271 = 52,
    _SC_PII___271 = 53,
    _SC_PII_XTI___271 = 54,
    _SC_PII_SOCKET___271 = 55,
    _SC_PII_INTERNET___271 = 56,
    _SC_PII_OSI___271 = 57,
    _SC_POLL___271 = 58,
    _SC_SELECT___271 = 59,
    _SC_UIO_MAXIOV___271 = 60,
    _SC_IOV_MAX___271 = 60,
    _SC_PII_INTERNET_STREAM___271 = 61,
    _SC_PII_INTERNET_DGRAM___271 = 62,
    _SC_PII_OSI_COTS___271 = 63,
    _SC_PII_OSI_CLTS___271 = 64,
    _SC_PII_OSI_M___271 = 65,
    _SC_T_IOV_MAX___271 = 66,
    _SC_THREADS___271 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___271 = 68,
    _SC_GETGR_R_SIZE_MAX___271 = 69,
    _SC_GETPW_R_SIZE_MAX___271 = 70,
    _SC_LOGIN_NAME_MAX___271 = 71,
    _SC_TTY_NAME_MAX___271 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___271 = 73,
    _SC_THREAD_KEYS_MAX___271 = 74,
    _SC_THREAD_STACK_MIN___271 = 75,
    _SC_THREAD_THREADS_MAX___271 = 76,
    _SC_THREAD_ATTR_STACKADDR___271 = 77,
    _SC_THREAD_ATTR_STACKSIZE___271 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___271 = 79,
    _SC_THREAD_PRIO_INHERIT___271 = 80,
    _SC_THREAD_PRIO_PROTECT___271 = 81,
    _SC_THREAD_PROCESS_SHARED___271 = 82,
    _SC_NPROCESSORS_CONF___271 = 83,
    _SC_NPROCESSORS_ONLN___271 = 84,
    _SC_PHYS_PAGES___271 = 85,
    _SC_AVPHYS_PAGES___271 = 86,
    _SC_ATEXIT_MAX___271 = 87,
    _SC_PASS_MAX___271 = 88,
    _SC_XOPEN_VERSION___271 = 89,
    _SC_XOPEN_XCU_VERSION___271 = 90,
    _SC_XOPEN_UNIX___271 = 91,
    _SC_XOPEN_CRYPT___271 = 92,
    _SC_XOPEN_ENH_I18N___271 = 93,
    _SC_XOPEN_SHM___271 = 94,
    _SC_2_CHAR_TERM___271 = 95,
    _SC_2_C_VERSION___271 = 96,
    _SC_2_UPE___271 = 97,
    _SC_XOPEN_XPG2___271 = 98,
    _SC_XOPEN_XPG3___271 = 99,
    _SC_XOPEN_XPG4___271 = 100,
    _SC_CHAR_BIT___271 = 101,
    _SC_CHAR_MAX___271 = 102,
    _SC_CHAR_MIN___271 = 103,
    _SC_INT_MAX___271 = 104,
    _SC_INT_MIN___271 = 105,
    _SC_LONG_BIT___271 = 106,
    _SC_WORD_BIT___271 = 107,
    _SC_MB_LEN_MAX___271 = 108,
    _SC_NZERO___271 = 109,
    _SC_SSIZE_MAX___271 = 110,
    _SC_SCHAR_MAX___271 = 111,
    _SC_SCHAR_MIN___271 = 112,
    _SC_SHRT_MAX___271 = 113,
    _SC_SHRT_MIN___271 = 114,
    _SC_UCHAR_MAX___271 = 115,
    _SC_UINT_MAX___271 = 116,
    _SC_ULONG_MAX___271 = 117,
    _SC_USHRT_MAX___271 = 118,
    _SC_NL_ARGMAX___271 = 119,
    _SC_NL_LANGMAX___271 = 120,
    _SC_NL_MSGMAX___271 = 121,
    _SC_NL_NMAX___271 = 122,
    _SC_NL_SETMAX___271 = 123,
    _SC_NL_TEXTMAX___271 = 124,
    _SC_XBS5_ILP32_OFF32___271 = 125,
    _SC_XBS5_ILP32_OFFBIG___271 = 126,
    _SC_XBS5_LP64_OFF64___271 = 127,
    _SC_XBS5_LPBIG_OFFBIG___271 = 128,
    _SC_XOPEN_LEGACY___271 = 129,
    _SC_XOPEN_REALTIME___271 = 130,
    _SC_XOPEN_REALTIME_THREADS___271 = 131,
    _SC_ADVISORY_INFO___271 = 132,
    _SC_BARRIERS___271 = 133,
    _SC_BASE___271 = 134,
    _SC_C_LANG_SUPPORT___271 = 135,
    _SC_C_LANG_SUPPORT_R___271 = 136,
    _SC_CLOCK_SELECTION___271 = 137,
    _SC_CPUTIME___271 = 138,
    _SC_THREAD_CPUTIME___271 = 139,
    _SC_DEVICE_IO___271 = 140,
    _SC_DEVICE_SPECIFIC___271 = 141,
    _SC_DEVICE_SPECIFIC_R___271 = 142,
    _SC_FD_MGMT___271 = 143,
    _SC_FIFO___271 = 144,
    _SC_PIPE___271 = 145,
    _SC_FILE_ATTRIBUTES___271 = 146,
    _SC_FILE_LOCKING___271 = 147,
    _SC_FILE_SYSTEM___271 = 148,
    _SC_MONOTONIC_CLOCK___271 = 149,
    _SC_MULTI_PROCESS___271 = 150,
    _SC_SINGLE_PROCESS___271 = 151,
    _SC_NETWORKING___271 = 152,
    _SC_READER_WRITER_LOCKS___271 = 153,
    _SC_SPIN_LOCKS___271 = 154,
    _SC_REGEXP___271 = 155,
    _SC_REGEX_VERSION___271 = 156,
    _SC_SHELL___271 = 157,
    _SC_SIGNALS___271 = 158,
    _SC_SPAWN___271 = 159,
    _SC_SPORADIC_SERVER___271 = 160,
    _SC_THREAD_SPORADIC_SERVER___271 = 161,
    _SC_SYSTEM_DATABASE___271 = 162,
    _SC_SYSTEM_DATABASE_R___271 = 163,
    _SC_TIMEOUTS___271 = 164,
    _SC_TYPED_MEMORY_OBJECTS___271 = 165,
    _SC_USER_GROUPS___271 = 166,
    _SC_USER_GROUPS_R___271 = 167,
    _SC_2_PBS___271 = 168,
    _SC_2_PBS_ACCOUNTING___271 = 169,
    _SC_2_PBS_LOCATE___271 = 170,
    _SC_2_PBS_MESSAGE___271 = 171,
    _SC_2_PBS_TRACK___271 = 172,
    _SC_SYMLOOP_MAX___271 = 173,
    _SC_STREAMS___271 = 174,
    _SC_2_PBS_CHECKPOINT___271 = 175,
    _SC_V6_ILP32_OFF32___271 = 176,
    _SC_V6_ILP32_OFFBIG___271 = 177,
    _SC_V6_LP64_OFF64___271 = 178,
    _SC_V6_LPBIG_OFFBIG___271 = 179,
    _SC_HOST_NAME_MAX___271 = 180,
    _SC_TRACE___271 = 181,
    _SC_TRACE_EVENT_FILTER___271 = 182,
    _SC_TRACE_INHERIT___271 = 183,
    _SC_TRACE_LOG___271 = 184,
    _SC_LEVEL1_ICACHE_SIZE___271 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___271 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___271 = 187,
    _SC_LEVEL1_DCACHE_SIZE___271 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___271 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___271 = 190,
    _SC_LEVEL2_CACHE_SIZE___271 = 191,
    _SC_LEVEL2_CACHE_ASSOC___271 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___271 = 193,
    _SC_LEVEL3_CACHE_SIZE___271 = 194,
    _SC_LEVEL3_CACHE_ASSOC___271 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___271 = 196,
    _SC_LEVEL4_CACHE_SIZE___271 = 197,
    _SC_LEVEL4_CACHE_ASSOC___271 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___271 = 199,
    _SC_IPV6___271 = 235,
    _SC_RAW_SOCKETS___271 = 236,
    _SC_V7_ILP32_OFF32___271 = 237,
    _SC_V7_ILP32_OFFBIG___271 = 238,
    _SC_V7_LP64_OFF64___271 = 239,
    _SC_V7_LPBIG_OFFBIG___271 = 240,
    _SC_SS_REPL_MAX___271 = 241,
    _SC_TRACE_EVENT_NAME_MAX___271 = 242,
    _SC_TRACE_NAME_MAX___271 = 243,
    _SC_TRACE_SYS_MAX___271 = 244,
    _SC_TRACE_USER_EVENT_MAX___271 = 245,
    _SC_XOPEN_STREAMS___271 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___271 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___271 = 248
} ;
enum __anonenum_875524036___271 {
    _CS_PATH___271 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___271 = 1,
    _CS_GNU_LIBC_VERSION___271 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___271 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___271 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___271 = 5,
    _CS_LFS_CFLAGS___271 = 1000,
    _CS_LFS_LDFLAGS___271 = 1001,
    _CS_LFS_LIBS___271 = 1002,
    _CS_LFS_LINTFLAGS___271 = 1003,
    _CS_LFS64_CFLAGS___271 = 1004,
    _CS_LFS64_LDFLAGS___271 = 1005,
    _CS_LFS64_LIBS___271 = 1006,
    _CS_LFS64_LINTFLAGS___271 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___271 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___271 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___271 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___271 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___271 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___271 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___271 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___271 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___271 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___271 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___271 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___271 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___271 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___271 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___271 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___271 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___271 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___271 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___271 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___271 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___271 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___271 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___271 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___271 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___271 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___271 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___271 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___271 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___271 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___271 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___271 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___271 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___271 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___271 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___271 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___271 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___271 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___271 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___271 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___271 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___271 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___271 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___271 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___271 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___271 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___271 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___271 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___271 = 1147,
    _CS_V6_ENV___271 = 1148,
    _CS_V7_ENV___271 = 1149
} ;
enum __anonenum_513775621___271 {
    DT_UNKNOWN___271 = 0,
    DT_FIFO___271 = 1,
    DT_CHR___271 = 2,
    DT_DIR___271 = 4,
    DT_BLK___271 = 6,
    DT_REG___271 = 8,
    DT_LNK___271 = 10,
    DT_SOCK___271 = 12,
    DT_WHT___271 = 14
} ;
enum __anonenum_77002343___271 {
    SI_ASYNCNL___271 = -60,
    SI_TKILL___271 = -6,
    SI_SIGIO___271 = -5,
    SI_ASYNCIO___271 = -4,
    SI_MESGQ___271 = -3,
    SI_TIMER___271 = -2,
    SI_QUEUE___271 = -1,
    SI_USER___271 = 0,
    SI_KERNEL___271 = 128
} ;
enum __anonenum_131038172___271 {
    ILL_ILLOPC___271 = 1,
    ILL_ILLOPN___271 = 2,
    ILL_ILLADR___271 = 3,
    ILL_ILLTRP___271 = 4,
    ILL_PRVOPC___271 = 5,
    ILL_PRVREG___271 = 6,
    ILL_COPROC___271 = 7,
    ILL_BADSTK___271 = 8
} ;
enum __anonenum_452038093___271 {
    FPE_INTDIV___271 = 1,
    FPE_INTOVF___271 = 2,
    FPE_FLTDIV___271 = 3,
    FPE_FLTOVF___271 = 4,
    FPE_FLTUND___271 = 5,
    FPE_FLTRES___271 = 6,
    FPE_FLTINV___271 = 7,
    FPE_FLTSUB___271 = 8
} ;
enum __anonenum_30976155___271 {
    SEGV_MAPERR___271 = 1,
    SEGV_ACCERR___271 = 2,
    SEGV_BNDERR___271 = 3,
    SEGV_PKUERR___271 = 4
} ;
enum __anonenum_1036286214___271 {
    BUS_ADRALN___271 = 1,
    BUS_ADRERR___271 = 2,
    BUS_OBJERR___271 = 3,
    BUS_MCEERR_AR___271 = 4,
    BUS_MCEERR_AO___271 = 5
} ;
enum __anonenum_493465559___271 {
    TRAP_BRKPT___271 = 1,
    TRAP_TRACE___271 = 2
} ;
enum __anonenum_23175539___271 {
    CLD_EXITED___271 = 1,
    CLD_KILLED___271 = 2,
    CLD_DUMPED___271 = 3,
    CLD_TRAPPED___271 = 4,
    CLD_STOPPED___271 = 5,
    CLD_CONTINUED___271 = 6
} ;
enum __anonenum_111643124___271 {
    POLL_IN___271 = 1,
    POLL_OUT___271 = 2,
    POLL_MSG___271 = 3,
    POLL_ERR___271 = 4,
    POLL_PRI___271 = 5,
    POLL_HUP___271 = 6
} ;
enum __anonenum_852341087___271 {
    SIGEV_SIGNAL___271 = 0,
    SIGEV_NONE___271 = 1,
    SIGEV_THREAD___271 = 2,
    SIGEV_THREAD_ID___271 = 4
} ;
enum __anonenum_451154152___271 {
    REG_R8___271 = 0,
    REG_R9___271 = 1,
    REG_R10___271 = 2,
    REG_R11___271 = 3,
    REG_R12___271 = 4,
    REG_R13___271 = 5,
    REG_R14___271 = 6,
    REG_R15___271 = 7,
    REG_RDI___271 = 8,
    REG_RSI___271 = 9,
    REG_RBP___271 = 10,
    REG_RBX___271 = 11,
    REG_RDX___271 = 12,
    REG_RAX___271 = 13,
    REG_RCX___271 = 14,
    REG_RSP___271 = 15,
    REG_RIP___271 = 16,
    REG_EFL___271 = 17,
    REG_CSGSFS___271 = 18,
    REG_ERR___271 = 19,
    REG_TRAPNO___271 = 20,
    REG_OLDMASK___271 = 21,
    REG_CR2___271 = 22
} ;
enum __anonenum_57186863___271 {
    SS_ONSTACK___271 = 1,
    SS_DISABLE___271 = 2
} ;
enum __anonenum_83571709___271 {
    MSG_OOB___271 = 1,
    MSG_PEEK___271 = 2,
    MSG_DONTROUTE___271 = 4,
    MSG_TRYHARD___271 = 4,
    MSG_CTRUNC___271 = 8,
    MSG_PROXY___271 = 16,
    MSG_TRUNC___271 = 32,
    MSG_DONTWAIT___271 = 64,
    MSG_EOR___271 = 128,
    MSG_WAITALL___271 = 256,
    MSG_FIN___271 = 512,
    MSG_SYN___271 = 1024,
    MSG_CONFIRM___271 = 2048,
    MSG_RST___271 = 4096,
    MSG_ERRQUEUE___271 = 8192,
    MSG_NOSIGNAL___271 = 16384,
    MSG_MORE___271 = 32768,
    MSG_WAITFORONE___271 = 65536,
    MSG_BATCH___271 = 262144,
    MSG_ZEROCOPY___271 = 67108864,
    MSG_FASTOPEN___271 = 536870912,
    MSG_CMSG_CLOEXEC___271 = 1073741824
} ;
enum __anonenum_617082774___271 {
    SCM_RIGHTS___271 = 1,
    SCM_CREDENTIALS___271 = 2
} ;
enum __anonenum_606441560___271 {
    SHUT_RD___271 = 0,
    SHUT_WR___271 = 1,
    SHUT_RDWR___271 = 2
} ;
enum __anonenum_681669233___271 {
    IPPROTO_IP___271 = 0,
    IPPROTO_ICMP___271 = 1,
    IPPROTO_IGMP___271 = 2,
    IPPROTO_IPIP___271 = 4,
    IPPROTO_TCP___271 = 6,
    IPPROTO_EGP___271 = 8,
    IPPROTO_PUP___271 = 12,
    IPPROTO_UDP___271 = 17,
    IPPROTO_IDP___271 = 22,
    IPPROTO_TP___271 = 29,
    IPPROTO_DCCP___271 = 33,
    IPPROTO_IPV6___271 = 41,
    IPPROTO_RSVP___271 = 46,
    IPPROTO_GRE___271 = 47,
    IPPROTO_ESP___271 = 50,
    IPPROTO_AH___271 = 51,
    IPPROTO_MTP___271 = 92,
    IPPROTO_BEETPH___271 = 94,
    IPPROTO_ENCAP___271 = 98,
    IPPROTO_PIM___271 = 103,
    IPPROTO_COMP___271 = 108,
    IPPROTO_SCTP___271 = 132,
    IPPROTO_UDPLITE___271 = 136,
    IPPROTO_MPLS___271 = 137,
    IPPROTO_RAW___271 = 255,
    IPPROTO_MAX___271 = 256
} ;
enum __anonenum_218739988___271 {
    IPPROTO_HOPOPTS___271 = 0,
    IPPROTO_ROUTING___271 = 43,
    IPPROTO_FRAGMENT___271 = 44,
    IPPROTO_ICMPV6___271 = 58,
    IPPROTO_NONE___271 = 59,
    IPPROTO_DSTOPTS___271 = 60,
    IPPROTO_MH___271 = 135
} ;
enum __anonenum_662268580___271 {
    IPPORT_ECHO___271 = 7,
    IPPORT_DISCARD___271 = 9,
    IPPORT_SYSTAT___271 = 11,
    IPPORT_DAYTIME___271 = 13,
    IPPORT_NETSTAT___271 = 15,
    IPPORT_FTP___271 = 21,
    IPPORT_TELNET___271 = 23,
    IPPORT_SMTP___271 = 25,
    IPPORT_TIMESERVER___271 = 37,
    IPPORT_NAMESERVER___271 = 42,
    IPPORT_WHOIS___271 = 43,
    IPPORT_MTP___271 = 57,
    IPPORT_TFTP___271 = 69,
    IPPORT_RJE___271 = 77,
    IPPORT_FINGER___271 = 79,
    IPPORT_TTYLINK___271 = 87,
    IPPORT_SUPDUP___271 = 95,
    IPPORT_EXECSERVER___271 = 512,
    IPPORT_LOGINSERVER___271 = 513,
    IPPORT_CMDSERVER___271 = 514,
    IPPORT_EFSSERVER___271 = 520,
    IPPORT_BIFFUDP___271 = 512,
    IPPORT_WHOSERVER___271 = 513,
    IPPORT_ROUTESERVER___271 = 520,
    IPPORT_RESERVED___271 = 1024,
    IPPORT_USERRESERVED___271 = 5000
} ;
enum __anonenum_788308992___271 {
    TCP_ESTABLISHED___271 = 1,
    TCP_SYN_SENT___271 = 2,
    TCP_SYN_RECV___271 = 3,
    TCP_FIN_WAIT1___271 = 4,
    TCP_FIN_WAIT2___271 = 5,
    TCP_TIME_WAIT___271 = 6,
    TCP_CLOSE___271 = 7,
    TCP_CLOSE_WAIT___271 = 8,
    TCP_LAST_ACK___271 = 9,
    TCP_LISTEN___271 = 10,
    TCP_CLOSING___271 = 11
} ;
enum __anonenum_221125648___271 {
    TCP_NO_QUEUE___271 = 0,
    TCP_RECV_QUEUE___271 = 1,
    TCP_SEND_QUEUE___271 = 2,
    TCP_QUEUES_NR___271 = 3
} ;
enum __anonenum_34415463___271 {
    PTHREAD_CREATE_JOINABLE___271 = 0,
    PTHREAD_CREATE_DETACHED___271 = 1
} ;
enum __anonenum_303612439___271 {
    PTHREAD_MUTEX_TIMED_NP___271 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___271 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___271 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___271 = 3,
    PTHREAD_MUTEX_NORMAL___271 = 0,
    PTHREAD_MUTEX_RECURSIVE___271 = 1,
    PTHREAD_MUTEX_ERRORCHECK___271 = 2,
    PTHREAD_MUTEX_DEFAULT___271 = 0,
    PTHREAD_MUTEX_FAST_NP___271 = 0
} ;
enum __anonenum_931900394___271 {
    PTHREAD_MUTEX_STALLED___271 = 0,
    PTHREAD_MUTEX_STALLED_NP___271 = 0,
    PTHREAD_MUTEX_ROBUST___271 = 1,
    PTHREAD_MUTEX_ROBUST_NP___271 = 1
} ;
enum __anonenum_205214487___271 {
    PTHREAD_PRIO_NONE___271 = 0,
    PTHREAD_PRIO_INHERIT___271 = 1,
    PTHREAD_PRIO_PROTECT___271 = 2
} ;
enum __anonenum_25043950___271 {
    PTHREAD_RWLOCK_PREFER_READER_NP___271 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___271 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___271 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___271 = 0
} ;
enum __anonenum_436439511___271 {
    PTHREAD_INHERIT_SCHED___271 = 0,
    PTHREAD_EXPLICIT_SCHED___271 = 1
} ;
enum __anonenum_998661166___271 {
    PTHREAD_SCOPE_SYSTEM___271 = 0,
    PTHREAD_SCOPE_PROCESS___271 = 1
} ;
enum __anonenum_146137331___271 {
    PTHREAD_PROCESS_PRIVATE___271 = 0,
    PTHREAD_PROCESS_SHARED___271 = 1
} ;
enum __anonenum_53396917___271 {
    PTHREAD_CANCEL_ENABLE___271 = 0,
    PTHREAD_CANCEL_DISABLE___271 = 1
} ;
enum __anonenum_904563783___271 {
    PTHREAD_CANCEL_DEFERRED___271 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___271 = 1
} ;
enum __anonenum_672052974___271 {
    SSL_CT_VALIDATION_PERMISSIVE___271 = 0,
    SSL_CT_VALIDATION_STRICT___271 = 1
} ;
enum __anonenum_34023289___23 {
    REMOTE_UNCONFIGURED___23 = 0,
    REMOTE_CONFIG___23 = 1,
    REMOTE_REMOTES___23 = 2,
    REMOTE_BRANCHES___23 = 3
} ;
enum patch_format {
    PATCH_FORMAT_UNKNOWN = 0,
    PATCH_FORMAT_MBOX = 1,
    PATCH_FORMAT_STGIT = 2,
    PATCH_FORMAT_STGIT_SERIES = 3,
    PATCH_FORMAT_HG = 4,
    PATCH_FORMAT_MBOXRD = 5
} ;
enum keep_type {
    KEEP_FALSE = 0,
    KEEP_TRUE = 1,
    KEEP_NON_PATCH = 2
} ;
enum scissors_type {
    SCISSORS_UNSET = -1,
    SCISSORS_FALSE = 0,
    SCISSORS_TRUE = 1
} ;
enum signoff_type {
    SIGNOFF_FALSE = 0,
    SIGNOFF_TRUE = 1,
    SIGNOFF_EXPLICIT = 2
} ;
enum show_patch_type {
    SHOW_PATCH_RAW = 0,
    SHOW_PATCH_DIFF = 1
} ;
enum empty_action {
    STOP_ON_EMPTY_COMMIT = 0,
    DROP_EMPTY_COMMIT = 1,
    KEEP_EMPTY_COMMIT = 2
} ;
struct am_state {
   char *dir ;
   int cur ;
   int last ;
   char *author_name ;
   char *author_email ;
   char *author_date ;
   char *msg ;
   size_t msg_len ;
   struct object_id orig_commit ;
   int prec ;
   int interactive ;
   int threeway ;
   int quiet ;
   int signoff ;
   int utf8 ;
   int keep ;
   int message_id ;
   int scissors ;
   int quoted_cr ;
   int empty_type ;
   struct strvec git_apply_opts ;
   char const   *resolvemsg ;
   int committer_date_is_author_date ;
   int ignore_date ;
   int allow_rerere_autoupdate ;
   char const   *sign_commit ;
   int rebasing ;
};
typedef int (*mail_conv_fn)(FILE *out , FILE *in , int keep_cr );
enum resume_type {
    RESUME_FALSE = 0,
    RESUME_APPLY = 1,
    RESUME_RESOLVED = 2,
    RESUME_SKIP = 3,
    RESUME_ABORT = 4,
    RESUME_QUIT = 5,
    RESUME_SHOW_PATCH = 6,
    RESUME_ALLOW_EMPTY = 7
} ;
struct resume_mode {
   enum resume_type mode ;
   enum show_patch_type sub_mode ;
};
enum __anonenum_437032235___272 {
    _PC_LINK_MAX___272 = 0,
    _PC_MAX_CANON___272 = 1,
    _PC_MAX_INPUT___272 = 2,
    _PC_NAME_MAX___272 = 3,
    _PC_PATH_MAX___272 = 4,
    _PC_PIPE_BUF___272 = 5,
    _PC_CHOWN_RESTRICTED___272 = 6,
    _PC_NO_TRUNC___272 = 7,
    _PC_VDISABLE___272 = 8,
    _PC_SYNC_IO___272 = 9,
    _PC_ASYNC_IO___272 = 10,
    _PC_PRIO_IO___272 = 11,
    _PC_SOCK_MAXBUF___272 = 12,
    _PC_FILESIZEBITS___272 = 13,
    _PC_REC_INCR_XFER_SIZE___272 = 14,
    _PC_REC_MAX_XFER_SIZE___272 = 15,
    _PC_REC_MIN_XFER_SIZE___272 = 16,
    _PC_REC_XFER_ALIGN___272 = 17,
    _PC_ALLOC_SIZE_MIN___272 = 18,
    _PC_SYMLINK_MAX___272 = 19,
    _PC_2_SYMLINKS___272 = 20
} ;
enum __anonenum_315186338___272 {
    _SC_ARG_MAX___272 = 0,
    _SC_CHILD_MAX___272 = 1,
    _SC_CLK_TCK___272 = 2,
    _SC_NGROUPS_MAX___272 = 3,
    _SC_OPEN_MAX___272 = 4,
    _SC_STREAM_MAX___272 = 5,
    _SC_TZNAME_MAX___272 = 6,
    _SC_JOB_CONTROL___272 = 7,
    _SC_SAVED_IDS___272 = 8,
    _SC_REALTIME_SIGNALS___272 = 9,
    _SC_PRIORITY_SCHEDULING___272 = 10,
    _SC_TIMERS___272 = 11,
    _SC_ASYNCHRONOUS_IO___272 = 12,
    _SC_PRIORITIZED_IO___272 = 13,
    _SC_SYNCHRONIZED_IO___272 = 14,
    _SC_FSYNC___272 = 15,
    _SC_MAPPED_FILES___272 = 16,
    _SC_MEMLOCK___272 = 17,
    _SC_MEMLOCK_RANGE___272 = 18,
    _SC_MEMORY_PROTECTION___272 = 19,
    _SC_MESSAGE_PASSING___272 = 20,
    _SC_SEMAPHORES___272 = 21,
    _SC_SHARED_MEMORY_OBJECTS___272 = 22,
    _SC_AIO_LISTIO_MAX___272 = 23,
    _SC_AIO_MAX___272 = 24,
    _SC_AIO_PRIO_DELTA_MAX___272 = 25,
    _SC_DELAYTIMER_MAX___272 = 26,
    _SC_MQ_OPEN_MAX___272 = 27,
    _SC_MQ_PRIO_MAX___272 = 28,
    _SC_VERSION___272 = 29,
    _SC_PAGESIZE___272 = 30,
    _SC_RTSIG_MAX___272 = 31,
    _SC_SEM_NSEMS_MAX___272 = 32,
    _SC_SEM_VALUE_MAX___272 = 33,
    _SC_SIGQUEUE_MAX___272 = 34,
    _SC_TIMER_MAX___272 = 35,
    _SC_BC_BASE_MAX___272 = 36,
    _SC_BC_DIM_MAX___272 = 37,
    _SC_BC_SCALE_MAX___272 = 38,
    _SC_BC_STRING_MAX___272 = 39,
    _SC_COLL_WEIGHTS_MAX___272 = 40,
    _SC_EQUIV_CLASS_MAX___272 = 41,
    _SC_EXPR_NEST_MAX___272 = 42,
    _SC_LINE_MAX___272 = 43,
    _SC_RE_DUP_MAX___272 = 44,
    _SC_CHARCLASS_NAME_MAX___272 = 45,
    _SC_2_VERSION___272 = 46,
    _SC_2_C_BIND___272 = 47,
    _SC_2_C_DEV___272 = 48,
    _SC_2_FORT_DEV___272 = 49,
    _SC_2_FORT_RUN___272 = 50,
    _SC_2_SW_DEV___272 = 51,
    _SC_2_LOCALEDEF___272 = 52,
    _SC_PII___272 = 53,
    _SC_PII_XTI___272 = 54,
    _SC_PII_SOCKET___272 = 55,
    _SC_PII_INTERNET___272 = 56,
    _SC_PII_OSI___272 = 57,
    _SC_POLL___272 = 58,
    _SC_SELECT___272 = 59,
    _SC_UIO_MAXIOV___272 = 60,
    _SC_IOV_MAX___272 = 60,
    _SC_PII_INTERNET_STREAM___272 = 61,
    _SC_PII_INTERNET_DGRAM___272 = 62,
    _SC_PII_OSI_COTS___272 = 63,
    _SC_PII_OSI_CLTS___272 = 64,
    _SC_PII_OSI_M___272 = 65,
    _SC_T_IOV_MAX___272 = 66,
    _SC_THREADS___272 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___272 = 68,
    _SC_GETGR_R_SIZE_MAX___272 = 69,
    _SC_GETPW_R_SIZE_MAX___272 = 70,
    _SC_LOGIN_NAME_MAX___272 = 71,
    _SC_TTY_NAME_MAX___272 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___272 = 73,
    _SC_THREAD_KEYS_MAX___272 = 74,
    _SC_THREAD_STACK_MIN___272 = 75,
    _SC_THREAD_THREADS_MAX___272 = 76,
    _SC_THREAD_ATTR_STACKADDR___272 = 77,
    _SC_THREAD_ATTR_STACKSIZE___272 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___272 = 79,
    _SC_THREAD_PRIO_INHERIT___272 = 80,
    _SC_THREAD_PRIO_PROTECT___272 = 81,
    _SC_THREAD_PROCESS_SHARED___272 = 82,
    _SC_NPROCESSORS_CONF___272 = 83,
    _SC_NPROCESSORS_ONLN___272 = 84,
    _SC_PHYS_PAGES___272 = 85,
    _SC_AVPHYS_PAGES___272 = 86,
    _SC_ATEXIT_MAX___272 = 87,
    _SC_PASS_MAX___272 = 88,
    _SC_XOPEN_VERSION___272 = 89,
    _SC_XOPEN_XCU_VERSION___272 = 90,
    _SC_XOPEN_UNIX___272 = 91,
    _SC_XOPEN_CRYPT___272 = 92,
    _SC_XOPEN_ENH_I18N___272 = 93,
    _SC_XOPEN_SHM___272 = 94,
    _SC_2_CHAR_TERM___272 = 95,
    _SC_2_C_VERSION___272 = 96,
    _SC_2_UPE___272 = 97,
    _SC_XOPEN_XPG2___272 = 98,
    _SC_XOPEN_XPG3___272 = 99,
    _SC_XOPEN_XPG4___272 = 100,
    _SC_CHAR_BIT___272 = 101,
    _SC_CHAR_MAX___272 = 102,
    _SC_CHAR_MIN___272 = 103,
    _SC_INT_MAX___272 = 104,
    _SC_INT_MIN___272 = 105,
    _SC_LONG_BIT___272 = 106,
    _SC_WORD_BIT___272 = 107,
    _SC_MB_LEN_MAX___272 = 108,
    _SC_NZERO___272 = 109,
    _SC_SSIZE_MAX___272 = 110,
    _SC_SCHAR_MAX___272 = 111,
    _SC_SCHAR_MIN___272 = 112,
    _SC_SHRT_MAX___272 = 113,
    _SC_SHRT_MIN___272 = 114,
    _SC_UCHAR_MAX___272 = 115,
    _SC_UINT_MAX___272 = 116,
    _SC_ULONG_MAX___272 = 117,
    _SC_USHRT_MAX___272 = 118,
    _SC_NL_ARGMAX___272 = 119,
    _SC_NL_LANGMAX___272 = 120,
    _SC_NL_MSGMAX___272 = 121,
    _SC_NL_NMAX___272 = 122,
    _SC_NL_SETMAX___272 = 123,
    _SC_NL_TEXTMAX___272 = 124,
    _SC_XBS5_ILP32_OFF32___272 = 125,
    _SC_XBS5_ILP32_OFFBIG___272 = 126,
    _SC_XBS5_LP64_OFF64___272 = 127,
    _SC_XBS5_LPBIG_OFFBIG___272 = 128,
    _SC_XOPEN_LEGACY___272 = 129,
    _SC_XOPEN_REALTIME___272 = 130,
    _SC_XOPEN_REALTIME_THREADS___272 = 131,
    _SC_ADVISORY_INFO___272 = 132,
    _SC_BARRIERS___272 = 133,
    _SC_BASE___272 = 134,
    _SC_C_LANG_SUPPORT___272 = 135,
    _SC_C_LANG_SUPPORT_R___272 = 136,
    _SC_CLOCK_SELECTION___272 = 137,
    _SC_CPUTIME___272 = 138,
    _SC_THREAD_CPUTIME___272 = 139,
    _SC_DEVICE_IO___272 = 140,
    _SC_DEVICE_SPECIFIC___272 = 141,
    _SC_DEVICE_SPECIFIC_R___272 = 142,
    _SC_FD_MGMT___272 = 143,
    _SC_FIFO___272 = 144,
    _SC_PIPE___272 = 145,
    _SC_FILE_ATTRIBUTES___272 = 146,
    _SC_FILE_LOCKING___272 = 147,
    _SC_FILE_SYSTEM___272 = 148,
    _SC_MONOTONIC_CLOCK___272 = 149,
    _SC_MULTI_PROCESS___272 = 150,
    _SC_SINGLE_PROCESS___272 = 151,
    _SC_NETWORKING___272 = 152,
    _SC_READER_WRITER_LOCKS___272 = 153,
    _SC_SPIN_LOCKS___272 = 154,
    _SC_REGEXP___272 = 155,
    _SC_REGEX_VERSION___272 = 156,
    _SC_SHELL___272 = 157,
    _SC_SIGNALS___272 = 158,
    _SC_SPAWN___272 = 159,
    _SC_SPORADIC_SERVER___272 = 160,
    _SC_THREAD_SPORADIC_SERVER___272 = 161,
    _SC_SYSTEM_DATABASE___272 = 162,
    _SC_SYSTEM_DATABASE_R___272 = 163,
    _SC_TIMEOUTS___272 = 164,
    _SC_TYPED_MEMORY_OBJECTS___272 = 165,
    _SC_USER_GROUPS___272 = 166,
    _SC_USER_GROUPS_R___272 = 167,
    _SC_2_PBS___272 = 168,
    _SC_2_PBS_ACCOUNTING___272 = 169,
    _SC_2_PBS_LOCATE___272 = 170,
    _SC_2_PBS_MESSAGE___272 = 171,
    _SC_2_PBS_TRACK___272 = 172,
    _SC_SYMLOOP_MAX___272 = 173,
    _SC_STREAMS___272 = 174,
    _SC_2_PBS_CHECKPOINT___272 = 175,
    _SC_V6_ILP32_OFF32___272 = 176,
    _SC_V6_ILP32_OFFBIG___272 = 177,
    _SC_V6_LP64_OFF64___272 = 178,
    _SC_V6_LPBIG_OFFBIG___272 = 179,
    _SC_HOST_NAME_MAX___272 = 180,
    _SC_TRACE___272 = 181,
    _SC_TRACE_EVENT_FILTER___272 = 182,
    _SC_TRACE_INHERIT___272 = 183,
    _SC_TRACE_LOG___272 = 184,
    _SC_LEVEL1_ICACHE_SIZE___272 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___272 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___272 = 187,
    _SC_LEVEL1_DCACHE_SIZE___272 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___272 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___272 = 190,
    _SC_LEVEL2_CACHE_SIZE___272 = 191,
    _SC_LEVEL2_CACHE_ASSOC___272 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___272 = 193,
    _SC_LEVEL3_CACHE_SIZE___272 = 194,
    _SC_LEVEL3_CACHE_ASSOC___272 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___272 = 196,
    _SC_LEVEL4_CACHE_SIZE___272 = 197,
    _SC_LEVEL4_CACHE_ASSOC___272 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___272 = 199,
    _SC_IPV6___272 = 235,
    _SC_RAW_SOCKETS___272 = 236,
    _SC_V7_ILP32_OFF32___272 = 237,
    _SC_V7_ILP32_OFFBIG___272 = 238,
    _SC_V7_LP64_OFF64___272 = 239,
    _SC_V7_LPBIG_OFFBIG___272 = 240,
    _SC_SS_REPL_MAX___272 = 241,
    _SC_TRACE_EVENT_NAME_MAX___272 = 242,
    _SC_TRACE_NAME_MAX___272 = 243,
    _SC_TRACE_SYS_MAX___272 = 244,
    _SC_TRACE_USER_EVENT_MAX___272 = 245,
    _SC_XOPEN_STREAMS___272 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___272 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___272 = 248
} ;
enum __anonenum_875524036___272 {
    _CS_PATH___272 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___272 = 1,
    _CS_GNU_LIBC_VERSION___272 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___272 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___272 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___272 = 5,
    _CS_LFS_CFLAGS___272 = 1000,
    _CS_LFS_LDFLAGS___272 = 1001,
    _CS_LFS_LIBS___272 = 1002,
    _CS_LFS_LINTFLAGS___272 = 1003,
    _CS_LFS64_CFLAGS___272 = 1004,
    _CS_LFS64_LDFLAGS___272 = 1005,
    _CS_LFS64_LIBS___272 = 1006,
    _CS_LFS64_LINTFLAGS___272 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___272 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___272 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___272 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___272 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___272 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___272 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___272 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___272 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___272 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___272 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___272 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___272 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___272 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___272 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___272 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___272 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___272 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___272 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___272 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___272 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___272 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___272 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___272 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___272 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___272 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___272 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___272 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___272 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___272 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___272 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___272 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___272 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___272 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___272 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___272 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___272 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___272 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___272 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___272 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___272 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___272 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___272 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___272 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___272 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___272 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___272 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___272 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___272 = 1147,
    _CS_V6_ENV___272 = 1148,
    _CS_V7_ENV___272 = 1149
} ;
enum __anonenum_513775621___272 {
    DT_UNKNOWN___272 = 0,
    DT_FIFO___272 = 1,
    DT_CHR___272 = 2,
    DT_DIR___272 = 4,
    DT_BLK___272 = 6,
    DT_REG___272 = 8,
    DT_LNK___272 = 10,
    DT_SOCK___272 = 12,
    DT_WHT___272 = 14
} ;
enum __anonenum_77002343___272 {
    SI_ASYNCNL___272 = -60,
    SI_TKILL___272 = -6,
    SI_SIGIO___272 = -5,
    SI_ASYNCIO___272 = -4,
    SI_MESGQ___272 = -3,
    SI_TIMER___272 = -2,
    SI_QUEUE___272 = -1,
    SI_USER___272 = 0,
    SI_KERNEL___272 = 128
} ;
enum __anonenum_131038172___272 {
    ILL_ILLOPC___272 = 1,
    ILL_ILLOPN___272 = 2,
    ILL_ILLADR___272 = 3,
    ILL_ILLTRP___272 = 4,
    ILL_PRVOPC___272 = 5,
    ILL_PRVREG___272 = 6,
    ILL_COPROC___272 = 7,
    ILL_BADSTK___272 = 8
} ;
enum __anonenum_452038093___272 {
    FPE_INTDIV___272 = 1,
    FPE_INTOVF___272 = 2,
    FPE_FLTDIV___272 = 3,
    FPE_FLTOVF___272 = 4,
    FPE_FLTUND___272 = 5,
    FPE_FLTRES___272 = 6,
    FPE_FLTINV___272 = 7,
    FPE_FLTSUB___272 = 8
} ;
enum __anonenum_30976155___272 {
    SEGV_MAPERR___272 = 1,
    SEGV_ACCERR___272 = 2,
    SEGV_BNDERR___272 = 3,
    SEGV_PKUERR___272 = 4
} ;
enum __anonenum_1036286214___272 {
    BUS_ADRALN___272 = 1,
    BUS_ADRERR___272 = 2,
    BUS_OBJERR___272 = 3,
    BUS_MCEERR_AR___272 = 4,
    BUS_MCEERR_AO___272 = 5
} ;
enum __anonenum_493465559___272 {
    TRAP_BRKPT___272 = 1,
    TRAP_TRACE___272 = 2
} ;
enum __anonenum_23175539___272 {
    CLD_EXITED___272 = 1,
    CLD_KILLED___272 = 2,
    CLD_DUMPED___272 = 3,
    CLD_TRAPPED___272 = 4,
    CLD_STOPPED___272 = 5,
    CLD_CONTINUED___272 = 6
} ;
enum __anonenum_111643124___272 {
    POLL_IN___272 = 1,
    POLL_OUT___272 = 2,
    POLL_MSG___272 = 3,
    POLL_ERR___272 = 4,
    POLL_PRI___272 = 5,
    POLL_HUP___272 = 6
} ;
enum __anonenum_852341087___272 {
    SIGEV_SIGNAL___272 = 0,
    SIGEV_NONE___272 = 1,
    SIGEV_THREAD___272 = 2,
    SIGEV_THREAD_ID___272 = 4
} ;
enum __anonenum_451154152___272 {
    REG_R8___272 = 0,
    REG_R9___272 = 1,
    REG_R10___272 = 2,
    REG_R11___272 = 3,
    REG_R12___272 = 4,
    REG_R13___272 = 5,
    REG_R14___272 = 6,
    REG_R15___272 = 7,
    REG_RDI___272 = 8,
    REG_RSI___272 = 9,
    REG_RBP___272 = 10,
    REG_RBX___272 = 11,
    REG_RDX___272 = 12,
    REG_RAX___272 = 13,
    REG_RCX___272 = 14,
    REG_RSP___272 = 15,
    REG_RIP___272 = 16,
    REG_EFL___272 = 17,
    REG_CSGSFS___272 = 18,
    REG_ERR___272 = 19,
    REG_TRAPNO___272 = 20,
    REG_OLDMASK___272 = 21,
    REG_CR2___272 = 22
} ;
enum __anonenum_57186863___272 {
    SS_ONSTACK___272 = 1,
    SS_DISABLE___272 = 2
} ;
enum __anonenum_83571709___272 {
    MSG_OOB___272 = 1,
    MSG_PEEK___272 = 2,
    MSG_DONTROUTE___272 = 4,
    MSG_TRYHARD___272 = 4,
    MSG_CTRUNC___272 = 8,
    MSG_PROXY___272 = 16,
    MSG_TRUNC___272 = 32,
    MSG_DONTWAIT___272 = 64,
    MSG_EOR___272 = 128,
    MSG_WAITALL___272 = 256,
    MSG_FIN___272 = 512,
    MSG_SYN___272 = 1024,
    MSG_CONFIRM___272 = 2048,
    MSG_RST___272 = 4096,
    MSG_ERRQUEUE___272 = 8192,
    MSG_NOSIGNAL___272 = 16384,
    MSG_MORE___272 = 32768,
    MSG_WAITFORONE___272 = 65536,
    MSG_BATCH___272 = 262144,
    MSG_ZEROCOPY___272 = 67108864,
    MSG_FASTOPEN___272 = 536870912,
    MSG_CMSG_CLOEXEC___272 = 1073741824
} ;
enum __anonenum_617082774___272 {
    SCM_RIGHTS___272 = 1,
    SCM_CREDENTIALS___272 = 2
} ;
enum __anonenum_606441560___272 {
    SHUT_RD___272 = 0,
    SHUT_WR___272 = 1,
    SHUT_RDWR___272 = 2
} ;
enum __anonenum_681669233___272 {
    IPPROTO_IP___272 = 0,
    IPPROTO_ICMP___272 = 1,
    IPPROTO_IGMP___272 = 2,
    IPPROTO_IPIP___272 = 4,
    IPPROTO_TCP___272 = 6,
    IPPROTO_EGP___272 = 8,
    IPPROTO_PUP___272 = 12,
    IPPROTO_UDP___272 = 17,
    IPPROTO_IDP___272 = 22,
    IPPROTO_TP___272 = 29,
    IPPROTO_DCCP___272 = 33,
    IPPROTO_IPV6___272 = 41,
    IPPROTO_RSVP___272 = 46,
    IPPROTO_GRE___272 = 47,
    IPPROTO_ESP___272 = 50,
    IPPROTO_AH___272 = 51,
    IPPROTO_MTP___272 = 92,
    IPPROTO_BEETPH___272 = 94,
    IPPROTO_ENCAP___272 = 98,
    IPPROTO_PIM___272 = 103,
    IPPROTO_COMP___272 = 108,
    IPPROTO_SCTP___272 = 132,
    IPPROTO_UDPLITE___272 = 136,
    IPPROTO_MPLS___272 = 137,
    IPPROTO_RAW___272 = 255,
    IPPROTO_MAX___272 = 256
} ;
enum __anonenum_218739988___272 {
    IPPROTO_HOPOPTS___272 = 0,
    IPPROTO_ROUTING___272 = 43,
    IPPROTO_FRAGMENT___272 = 44,
    IPPROTO_ICMPV6___272 = 58,
    IPPROTO_NONE___272 = 59,
    IPPROTO_DSTOPTS___272 = 60,
    IPPROTO_MH___272 = 135
} ;
enum __anonenum_662268580___272 {
    IPPORT_ECHO___272 = 7,
    IPPORT_DISCARD___272 = 9,
    IPPORT_SYSTAT___272 = 11,
    IPPORT_DAYTIME___272 = 13,
    IPPORT_NETSTAT___272 = 15,
    IPPORT_FTP___272 = 21,
    IPPORT_TELNET___272 = 23,
    IPPORT_SMTP___272 = 25,
    IPPORT_TIMESERVER___272 = 37,
    IPPORT_NAMESERVER___272 = 42,
    IPPORT_WHOIS___272 = 43,
    IPPORT_MTP___272 = 57,
    IPPORT_TFTP___272 = 69,
    IPPORT_RJE___272 = 77,
    IPPORT_FINGER___272 = 79,
    IPPORT_TTYLINK___272 = 87,
    IPPORT_SUPDUP___272 = 95,
    IPPORT_EXECSERVER___272 = 512,
    IPPORT_LOGINSERVER___272 = 513,
    IPPORT_CMDSERVER___272 = 514,
    IPPORT_EFSSERVER___272 = 520,
    IPPORT_BIFFUDP___272 = 512,
    IPPORT_WHOSERVER___272 = 513,
    IPPORT_ROUTESERVER___272 = 520,
    IPPORT_RESERVED___272 = 1024,
    IPPORT_USERRESERVED___272 = 5000
} ;
enum __anonenum_788308992___272 {
    TCP_ESTABLISHED___272 = 1,
    TCP_SYN_SENT___272 = 2,
    TCP_SYN_RECV___272 = 3,
    TCP_FIN_WAIT1___272 = 4,
    TCP_FIN_WAIT2___272 = 5,
    TCP_TIME_WAIT___272 = 6,
    TCP_CLOSE___272 = 7,
    TCP_CLOSE_WAIT___272 = 8,
    TCP_LAST_ACK___272 = 9,
    TCP_LISTEN___272 = 10,
    TCP_CLOSING___272 = 11
} ;
enum __anonenum_221125648___272 {
    TCP_NO_QUEUE___272 = 0,
    TCP_RECV_QUEUE___272 = 1,
    TCP_SEND_QUEUE___272 = 2,
    TCP_QUEUES_NR___272 = 3
} ;
enum __anonenum_34415463___272 {
    PTHREAD_CREATE_JOINABLE___272 = 0,
    PTHREAD_CREATE_DETACHED___272 = 1
} ;
enum __anonenum_303612439___272 {
    PTHREAD_MUTEX_TIMED_NP___272 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___272 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___272 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___272 = 3,
    PTHREAD_MUTEX_NORMAL___272 = 0,
    PTHREAD_MUTEX_RECURSIVE___272 = 1,
    PTHREAD_MUTEX_ERRORCHECK___272 = 2,
    PTHREAD_MUTEX_DEFAULT___272 = 0,
    PTHREAD_MUTEX_FAST_NP___272 = 0
} ;
enum __anonenum_931900394___272 {
    PTHREAD_MUTEX_STALLED___272 = 0,
    PTHREAD_MUTEX_STALLED_NP___272 = 0,
    PTHREAD_MUTEX_ROBUST___272 = 1,
    PTHREAD_MUTEX_ROBUST_NP___272 = 1
} ;
enum __anonenum_205214487___272 {
    PTHREAD_PRIO_NONE___272 = 0,
    PTHREAD_PRIO_INHERIT___272 = 1,
    PTHREAD_PRIO_PROTECT___272 = 2
} ;
enum __anonenum_25043950___272 {
    PTHREAD_RWLOCK_PREFER_READER_NP___272 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___272 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___272 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___272 = 0
} ;
enum __anonenum_436439511___272 {
    PTHREAD_INHERIT_SCHED___272 = 0,
    PTHREAD_EXPLICIT_SCHED___272 = 1
} ;
enum __anonenum_998661166___272 {
    PTHREAD_SCOPE_SYSTEM___272 = 0,
    PTHREAD_SCOPE_PROCESS___272 = 1
} ;
enum __anonenum_146137331___272 {
    PTHREAD_PROCESS_PRIVATE___272 = 0,
    PTHREAD_PROCESS_SHARED___272 = 1
} ;
enum __anonenum_53396917___272 {
    PTHREAD_CANCEL_ENABLE___272 = 0,
    PTHREAD_CANCEL_DISABLE___272 = 1
} ;
enum __anonenum_904563783___272 {
    PTHREAD_CANCEL_DEFERRED___272 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___272 = 1
} ;
enum __anonenum_672052974___272 {
    SSL_CT_VALIDATION_PERMISSIVE___272 = 0,
    SSL_CT_VALIDATION_STRICT___272 = 1
} ;
enum __anonenum_437032235___273 {
    _PC_LINK_MAX___273 = 0,
    _PC_MAX_CANON___273 = 1,
    _PC_MAX_INPUT___273 = 2,
    _PC_NAME_MAX___273 = 3,
    _PC_PATH_MAX___273 = 4,
    _PC_PIPE_BUF___273 = 5,
    _PC_CHOWN_RESTRICTED___273 = 6,
    _PC_NO_TRUNC___273 = 7,
    _PC_VDISABLE___273 = 8,
    _PC_SYNC_IO___273 = 9,
    _PC_ASYNC_IO___273 = 10,
    _PC_PRIO_IO___273 = 11,
    _PC_SOCK_MAXBUF___273 = 12,
    _PC_FILESIZEBITS___273 = 13,
    _PC_REC_INCR_XFER_SIZE___273 = 14,
    _PC_REC_MAX_XFER_SIZE___273 = 15,
    _PC_REC_MIN_XFER_SIZE___273 = 16,
    _PC_REC_XFER_ALIGN___273 = 17,
    _PC_ALLOC_SIZE_MIN___273 = 18,
    _PC_SYMLINK_MAX___273 = 19,
    _PC_2_SYMLINKS___273 = 20
} ;
enum __anonenum_315186338___273 {
    _SC_ARG_MAX___273 = 0,
    _SC_CHILD_MAX___273 = 1,
    _SC_CLK_TCK___273 = 2,
    _SC_NGROUPS_MAX___273 = 3,
    _SC_OPEN_MAX___273 = 4,
    _SC_STREAM_MAX___273 = 5,
    _SC_TZNAME_MAX___273 = 6,
    _SC_JOB_CONTROL___273 = 7,
    _SC_SAVED_IDS___273 = 8,
    _SC_REALTIME_SIGNALS___273 = 9,
    _SC_PRIORITY_SCHEDULING___273 = 10,
    _SC_TIMERS___273 = 11,
    _SC_ASYNCHRONOUS_IO___273 = 12,
    _SC_PRIORITIZED_IO___273 = 13,
    _SC_SYNCHRONIZED_IO___273 = 14,
    _SC_FSYNC___273 = 15,
    _SC_MAPPED_FILES___273 = 16,
    _SC_MEMLOCK___273 = 17,
    _SC_MEMLOCK_RANGE___273 = 18,
    _SC_MEMORY_PROTECTION___273 = 19,
    _SC_MESSAGE_PASSING___273 = 20,
    _SC_SEMAPHORES___273 = 21,
    _SC_SHARED_MEMORY_OBJECTS___273 = 22,
    _SC_AIO_LISTIO_MAX___273 = 23,
    _SC_AIO_MAX___273 = 24,
    _SC_AIO_PRIO_DELTA_MAX___273 = 25,
    _SC_DELAYTIMER_MAX___273 = 26,
    _SC_MQ_OPEN_MAX___273 = 27,
    _SC_MQ_PRIO_MAX___273 = 28,
    _SC_VERSION___273 = 29,
    _SC_PAGESIZE___273 = 30,
    _SC_RTSIG_MAX___273 = 31,
    _SC_SEM_NSEMS_MAX___273 = 32,
    _SC_SEM_VALUE_MAX___273 = 33,
    _SC_SIGQUEUE_MAX___273 = 34,
    _SC_TIMER_MAX___273 = 35,
    _SC_BC_BASE_MAX___273 = 36,
    _SC_BC_DIM_MAX___273 = 37,
    _SC_BC_SCALE_MAX___273 = 38,
    _SC_BC_STRING_MAX___273 = 39,
    _SC_COLL_WEIGHTS_MAX___273 = 40,
    _SC_EQUIV_CLASS_MAX___273 = 41,
    _SC_EXPR_NEST_MAX___273 = 42,
    _SC_LINE_MAX___273 = 43,
    _SC_RE_DUP_MAX___273 = 44,
    _SC_CHARCLASS_NAME_MAX___273 = 45,
    _SC_2_VERSION___273 = 46,
    _SC_2_C_BIND___273 = 47,
    _SC_2_C_DEV___273 = 48,
    _SC_2_FORT_DEV___273 = 49,
    _SC_2_FORT_RUN___273 = 50,
    _SC_2_SW_DEV___273 = 51,
    _SC_2_LOCALEDEF___273 = 52,
    _SC_PII___273 = 53,
    _SC_PII_XTI___273 = 54,
    _SC_PII_SOCKET___273 = 55,
    _SC_PII_INTERNET___273 = 56,
    _SC_PII_OSI___273 = 57,
    _SC_POLL___273 = 58,
    _SC_SELECT___273 = 59,
    _SC_UIO_MAXIOV___273 = 60,
    _SC_IOV_MAX___273 = 60,
    _SC_PII_INTERNET_STREAM___273 = 61,
    _SC_PII_INTERNET_DGRAM___273 = 62,
    _SC_PII_OSI_COTS___273 = 63,
    _SC_PII_OSI_CLTS___273 = 64,
    _SC_PII_OSI_M___273 = 65,
    _SC_T_IOV_MAX___273 = 66,
    _SC_THREADS___273 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___273 = 68,
    _SC_GETGR_R_SIZE_MAX___273 = 69,
    _SC_GETPW_R_SIZE_MAX___273 = 70,
    _SC_LOGIN_NAME_MAX___273 = 71,
    _SC_TTY_NAME_MAX___273 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___273 = 73,
    _SC_THREAD_KEYS_MAX___273 = 74,
    _SC_THREAD_STACK_MIN___273 = 75,
    _SC_THREAD_THREADS_MAX___273 = 76,
    _SC_THREAD_ATTR_STACKADDR___273 = 77,
    _SC_THREAD_ATTR_STACKSIZE___273 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___273 = 79,
    _SC_THREAD_PRIO_INHERIT___273 = 80,
    _SC_THREAD_PRIO_PROTECT___273 = 81,
    _SC_THREAD_PROCESS_SHARED___273 = 82,
    _SC_NPROCESSORS_CONF___273 = 83,
    _SC_NPROCESSORS_ONLN___273 = 84,
    _SC_PHYS_PAGES___273 = 85,
    _SC_AVPHYS_PAGES___273 = 86,
    _SC_ATEXIT_MAX___273 = 87,
    _SC_PASS_MAX___273 = 88,
    _SC_XOPEN_VERSION___273 = 89,
    _SC_XOPEN_XCU_VERSION___273 = 90,
    _SC_XOPEN_UNIX___273 = 91,
    _SC_XOPEN_CRYPT___273 = 92,
    _SC_XOPEN_ENH_I18N___273 = 93,
    _SC_XOPEN_SHM___273 = 94,
    _SC_2_CHAR_TERM___273 = 95,
    _SC_2_C_VERSION___273 = 96,
    _SC_2_UPE___273 = 97,
    _SC_XOPEN_XPG2___273 = 98,
    _SC_XOPEN_XPG3___273 = 99,
    _SC_XOPEN_XPG4___273 = 100,
    _SC_CHAR_BIT___273 = 101,
    _SC_CHAR_MAX___273 = 102,
    _SC_CHAR_MIN___273 = 103,
    _SC_INT_MAX___273 = 104,
    _SC_INT_MIN___273 = 105,
    _SC_LONG_BIT___273 = 106,
    _SC_WORD_BIT___273 = 107,
    _SC_MB_LEN_MAX___273 = 108,
    _SC_NZERO___273 = 109,
    _SC_SSIZE_MAX___273 = 110,
    _SC_SCHAR_MAX___273 = 111,
    _SC_SCHAR_MIN___273 = 112,
    _SC_SHRT_MAX___273 = 113,
    _SC_SHRT_MIN___273 = 114,
    _SC_UCHAR_MAX___273 = 115,
    _SC_UINT_MAX___273 = 116,
    _SC_ULONG_MAX___273 = 117,
    _SC_USHRT_MAX___273 = 118,
    _SC_NL_ARGMAX___273 = 119,
    _SC_NL_LANGMAX___273 = 120,
    _SC_NL_MSGMAX___273 = 121,
    _SC_NL_NMAX___273 = 122,
    _SC_NL_SETMAX___273 = 123,
    _SC_NL_TEXTMAX___273 = 124,
    _SC_XBS5_ILP32_OFF32___273 = 125,
    _SC_XBS5_ILP32_OFFBIG___273 = 126,
    _SC_XBS5_LP64_OFF64___273 = 127,
    _SC_XBS5_LPBIG_OFFBIG___273 = 128,
    _SC_XOPEN_LEGACY___273 = 129,
    _SC_XOPEN_REALTIME___273 = 130,
    _SC_XOPEN_REALTIME_THREADS___273 = 131,
    _SC_ADVISORY_INFO___273 = 132,
    _SC_BARRIERS___273 = 133,
    _SC_BASE___273 = 134,
    _SC_C_LANG_SUPPORT___273 = 135,
    _SC_C_LANG_SUPPORT_R___273 = 136,
    _SC_CLOCK_SELECTION___273 = 137,
    _SC_CPUTIME___273 = 138,
    _SC_THREAD_CPUTIME___273 = 139,
    _SC_DEVICE_IO___273 = 140,
    _SC_DEVICE_SPECIFIC___273 = 141,
    _SC_DEVICE_SPECIFIC_R___273 = 142,
    _SC_FD_MGMT___273 = 143,
    _SC_FIFO___273 = 144,
    _SC_PIPE___273 = 145,
    _SC_FILE_ATTRIBUTES___273 = 146,
    _SC_FILE_LOCKING___273 = 147,
    _SC_FILE_SYSTEM___273 = 148,
    _SC_MONOTONIC_CLOCK___273 = 149,
    _SC_MULTI_PROCESS___273 = 150,
    _SC_SINGLE_PROCESS___273 = 151,
    _SC_NETWORKING___273 = 152,
    _SC_READER_WRITER_LOCKS___273 = 153,
    _SC_SPIN_LOCKS___273 = 154,
    _SC_REGEXP___273 = 155,
    _SC_REGEX_VERSION___273 = 156,
    _SC_SHELL___273 = 157,
    _SC_SIGNALS___273 = 158,
    _SC_SPAWN___273 = 159,
    _SC_SPORADIC_SERVER___273 = 160,
    _SC_THREAD_SPORADIC_SERVER___273 = 161,
    _SC_SYSTEM_DATABASE___273 = 162,
    _SC_SYSTEM_DATABASE_R___273 = 163,
    _SC_TIMEOUTS___273 = 164,
    _SC_TYPED_MEMORY_OBJECTS___273 = 165,
    _SC_USER_GROUPS___273 = 166,
    _SC_USER_GROUPS_R___273 = 167,
    _SC_2_PBS___273 = 168,
    _SC_2_PBS_ACCOUNTING___273 = 169,
    _SC_2_PBS_LOCATE___273 = 170,
    _SC_2_PBS_MESSAGE___273 = 171,
    _SC_2_PBS_TRACK___273 = 172,
    _SC_SYMLOOP_MAX___273 = 173,
    _SC_STREAMS___273 = 174,
    _SC_2_PBS_CHECKPOINT___273 = 175,
    _SC_V6_ILP32_OFF32___273 = 176,
    _SC_V6_ILP32_OFFBIG___273 = 177,
    _SC_V6_LP64_OFF64___273 = 178,
    _SC_V6_LPBIG_OFFBIG___273 = 179,
    _SC_HOST_NAME_MAX___273 = 180,
    _SC_TRACE___273 = 181,
    _SC_TRACE_EVENT_FILTER___273 = 182,
    _SC_TRACE_INHERIT___273 = 183,
    _SC_TRACE_LOG___273 = 184,
    _SC_LEVEL1_ICACHE_SIZE___273 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___273 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___273 = 187,
    _SC_LEVEL1_DCACHE_SIZE___273 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___273 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___273 = 190,
    _SC_LEVEL2_CACHE_SIZE___273 = 191,
    _SC_LEVEL2_CACHE_ASSOC___273 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___273 = 193,
    _SC_LEVEL3_CACHE_SIZE___273 = 194,
    _SC_LEVEL3_CACHE_ASSOC___273 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___273 = 196,
    _SC_LEVEL4_CACHE_SIZE___273 = 197,
    _SC_LEVEL4_CACHE_ASSOC___273 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___273 = 199,
    _SC_IPV6___273 = 235,
    _SC_RAW_SOCKETS___273 = 236,
    _SC_V7_ILP32_OFF32___273 = 237,
    _SC_V7_ILP32_OFFBIG___273 = 238,
    _SC_V7_LP64_OFF64___273 = 239,
    _SC_V7_LPBIG_OFFBIG___273 = 240,
    _SC_SS_REPL_MAX___273 = 241,
    _SC_TRACE_EVENT_NAME_MAX___273 = 242,
    _SC_TRACE_NAME_MAX___273 = 243,
    _SC_TRACE_SYS_MAX___273 = 244,
    _SC_TRACE_USER_EVENT_MAX___273 = 245,
    _SC_XOPEN_STREAMS___273 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___273 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___273 = 248
} ;
enum __anonenum_875524036___273 {
    _CS_PATH___273 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___273 = 1,
    _CS_GNU_LIBC_VERSION___273 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___273 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___273 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___273 = 5,
    _CS_LFS_CFLAGS___273 = 1000,
    _CS_LFS_LDFLAGS___273 = 1001,
    _CS_LFS_LIBS___273 = 1002,
    _CS_LFS_LINTFLAGS___273 = 1003,
    _CS_LFS64_CFLAGS___273 = 1004,
    _CS_LFS64_LDFLAGS___273 = 1005,
    _CS_LFS64_LIBS___273 = 1006,
    _CS_LFS64_LINTFLAGS___273 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___273 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___273 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___273 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___273 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___273 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___273 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___273 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___273 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___273 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___273 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___273 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___273 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___273 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___273 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___273 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___273 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___273 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___273 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___273 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___273 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___273 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___273 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___273 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___273 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___273 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___273 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___273 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___273 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___273 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___273 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___273 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___273 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___273 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___273 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___273 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___273 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___273 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___273 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___273 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___273 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___273 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___273 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___273 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___273 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___273 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___273 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___273 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___273 = 1147,
    _CS_V6_ENV___273 = 1148,
    _CS_V7_ENV___273 = 1149
} ;
enum __anonenum_513775621___273 {
    DT_UNKNOWN___273 = 0,
    DT_FIFO___273 = 1,
    DT_CHR___273 = 2,
    DT_DIR___273 = 4,
    DT_BLK___273 = 6,
    DT_REG___273 = 8,
    DT_LNK___273 = 10,
    DT_SOCK___273 = 12,
    DT_WHT___273 = 14
} ;
enum __anonenum_77002343___273 {
    SI_ASYNCNL___273 = -60,
    SI_TKILL___273 = -6,
    SI_SIGIO___273 = -5,
    SI_ASYNCIO___273 = -4,
    SI_MESGQ___273 = -3,
    SI_TIMER___273 = -2,
    SI_QUEUE___273 = -1,
    SI_USER___273 = 0,
    SI_KERNEL___273 = 128
} ;
enum __anonenum_131038172___273 {
    ILL_ILLOPC___273 = 1,
    ILL_ILLOPN___273 = 2,
    ILL_ILLADR___273 = 3,
    ILL_ILLTRP___273 = 4,
    ILL_PRVOPC___273 = 5,
    ILL_PRVREG___273 = 6,
    ILL_COPROC___273 = 7,
    ILL_BADSTK___273 = 8
} ;
enum __anonenum_452038093___273 {
    FPE_INTDIV___273 = 1,
    FPE_INTOVF___273 = 2,
    FPE_FLTDIV___273 = 3,
    FPE_FLTOVF___273 = 4,
    FPE_FLTUND___273 = 5,
    FPE_FLTRES___273 = 6,
    FPE_FLTINV___273 = 7,
    FPE_FLTSUB___273 = 8
} ;
enum __anonenum_30976155___273 {
    SEGV_MAPERR___273 = 1,
    SEGV_ACCERR___273 = 2,
    SEGV_BNDERR___273 = 3,
    SEGV_PKUERR___273 = 4
} ;
enum __anonenum_1036286214___273 {
    BUS_ADRALN___273 = 1,
    BUS_ADRERR___273 = 2,
    BUS_OBJERR___273 = 3,
    BUS_MCEERR_AR___273 = 4,
    BUS_MCEERR_AO___273 = 5
} ;
enum __anonenum_493465559___273 {
    TRAP_BRKPT___273 = 1,
    TRAP_TRACE___273 = 2
} ;
enum __anonenum_23175539___273 {
    CLD_EXITED___273 = 1,
    CLD_KILLED___273 = 2,
    CLD_DUMPED___273 = 3,
    CLD_TRAPPED___273 = 4,
    CLD_STOPPED___273 = 5,
    CLD_CONTINUED___273 = 6
} ;
enum __anonenum_111643124___273 {
    POLL_IN___273 = 1,
    POLL_OUT___273 = 2,
    POLL_MSG___273 = 3,
    POLL_ERR___273 = 4,
    POLL_PRI___273 = 5,
    POLL_HUP___273 = 6
} ;
enum __anonenum_852341087___273 {
    SIGEV_SIGNAL___273 = 0,
    SIGEV_NONE___273 = 1,
    SIGEV_THREAD___273 = 2,
    SIGEV_THREAD_ID___273 = 4
} ;
enum __anonenum_451154152___273 {
    REG_R8___273 = 0,
    REG_R9___273 = 1,
    REG_R10___273 = 2,
    REG_R11___273 = 3,
    REG_R12___273 = 4,
    REG_R13___273 = 5,
    REG_R14___273 = 6,
    REG_R15___273 = 7,
    REG_RDI___273 = 8,
    REG_RSI___273 = 9,
    REG_RBP___273 = 10,
    REG_RBX___273 = 11,
    REG_RDX___273 = 12,
    REG_RAX___273 = 13,
    REG_RCX___273 = 14,
    REG_RSP___273 = 15,
    REG_RIP___273 = 16,
    REG_EFL___273 = 17,
    REG_CSGSFS___273 = 18,
    REG_ERR___273 = 19,
    REG_TRAPNO___273 = 20,
    REG_OLDMASK___273 = 21,
    REG_CR2___273 = 22
} ;
enum __anonenum_57186863___273 {
    SS_ONSTACK___273 = 1,
    SS_DISABLE___273 = 2
} ;
enum __anonenum_83571709___273 {
    MSG_OOB___273 = 1,
    MSG_PEEK___273 = 2,
    MSG_DONTROUTE___273 = 4,
    MSG_TRYHARD___273 = 4,
    MSG_CTRUNC___273 = 8,
    MSG_PROXY___273 = 16,
    MSG_TRUNC___273 = 32,
    MSG_DONTWAIT___273 = 64,
    MSG_EOR___273 = 128,
    MSG_WAITALL___273 = 256,
    MSG_FIN___273 = 512,
    MSG_SYN___273 = 1024,
    MSG_CONFIRM___273 = 2048,
    MSG_RST___273 = 4096,
    MSG_ERRQUEUE___273 = 8192,
    MSG_NOSIGNAL___273 = 16384,
    MSG_MORE___273 = 32768,
    MSG_WAITFORONE___273 = 65536,
    MSG_BATCH___273 = 262144,
    MSG_ZEROCOPY___273 = 67108864,
    MSG_FASTOPEN___273 = 536870912,
    MSG_CMSG_CLOEXEC___273 = 1073741824
} ;
enum __anonenum_617082774___273 {
    SCM_RIGHTS___273 = 1,
    SCM_CREDENTIALS___273 = 2
} ;
enum __anonenum_606441560___273 {
    SHUT_RD___273 = 0,
    SHUT_WR___273 = 1,
    SHUT_RDWR___273 = 2
} ;
enum __anonenum_681669233___273 {
    IPPROTO_IP___273 = 0,
    IPPROTO_ICMP___273 = 1,
    IPPROTO_IGMP___273 = 2,
    IPPROTO_IPIP___273 = 4,
    IPPROTO_TCP___273 = 6,
    IPPROTO_EGP___273 = 8,
    IPPROTO_PUP___273 = 12,
    IPPROTO_UDP___273 = 17,
    IPPROTO_IDP___273 = 22,
    IPPROTO_TP___273 = 29,
    IPPROTO_DCCP___273 = 33,
    IPPROTO_IPV6___273 = 41,
    IPPROTO_RSVP___273 = 46,
    IPPROTO_GRE___273 = 47,
    IPPROTO_ESP___273 = 50,
    IPPROTO_AH___273 = 51,
    IPPROTO_MTP___273 = 92,
    IPPROTO_BEETPH___273 = 94,
    IPPROTO_ENCAP___273 = 98,
    IPPROTO_PIM___273 = 103,
    IPPROTO_COMP___273 = 108,
    IPPROTO_SCTP___273 = 132,
    IPPROTO_UDPLITE___273 = 136,
    IPPROTO_MPLS___273 = 137,
    IPPROTO_RAW___273 = 255,
    IPPROTO_MAX___273 = 256
} ;
enum __anonenum_218739988___273 {
    IPPROTO_HOPOPTS___273 = 0,
    IPPROTO_ROUTING___273 = 43,
    IPPROTO_FRAGMENT___273 = 44,
    IPPROTO_ICMPV6___273 = 58,
    IPPROTO_NONE___273 = 59,
    IPPROTO_DSTOPTS___273 = 60,
    IPPROTO_MH___273 = 135
} ;
enum __anonenum_662268580___273 {
    IPPORT_ECHO___273 = 7,
    IPPORT_DISCARD___273 = 9,
    IPPORT_SYSTAT___273 = 11,
    IPPORT_DAYTIME___273 = 13,
    IPPORT_NETSTAT___273 = 15,
    IPPORT_FTP___273 = 21,
    IPPORT_TELNET___273 = 23,
    IPPORT_SMTP___273 = 25,
    IPPORT_TIMESERVER___273 = 37,
    IPPORT_NAMESERVER___273 = 42,
    IPPORT_WHOIS___273 = 43,
    IPPORT_MTP___273 = 57,
    IPPORT_TFTP___273 = 69,
    IPPORT_RJE___273 = 77,
    IPPORT_FINGER___273 = 79,
    IPPORT_TTYLINK___273 = 87,
    IPPORT_SUPDUP___273 = 95,
    IPPORT_EXECSERVER___273 = 512,
    IPPORT_LOGINSERVER___273 = 513,
    IPPORT_CMDSERVER___273 = 514,
    IPPORT_EFSSERVER___273 = 520,
    IPPORT_BIFFUDP___273 = 512,
    IPPORT_WHOSERVER___273 = 513,
    IPPORT_ROUTESERVER___273 = 520,
    IPPORT_RESERVED___273 = 1024,
    IPPORT_USERRESERVED___273 = 5000
} ;
enum __anonenum_788308992___273 {
    TCP_ESTABLISHED___273 = 1,
    TCP_SYN_SENT___273 = 2,
    TCP_SYN_RECV___273 = 3,
    TCP_FIN_WAIT1___273 = 4,
    TCP_FIN_WAIT2___273 = 5,
    TCP_TIME_WAIT___273 = 6,
    TCP_CLOSE___273 = 7,
    TCP_CLOSE_WAIT___273 = 8,
    TCP_LAST_ACK___273 = 9,
    TCP_LISTEN___273 = 10,
    TCP_CLOSING___273 = 11
} ;
enum __anonenum_221125648___273 {
    TCP_NO_QUEUE___273 = 0,
    TCP_RECV_QUEUE___273 = 1,
    TCP_SEND_QUEUE___273 = 2,
    TCP_QUEUES_NR___273 = 3
} ;
enum __anonenum_34415463___273 {
    PTHREAD_CREATE_JOINABLE___273 = 0,
    PTHREAD_CREATE_DETACHED___273 = 1
} ;
enum __anonenum_303612439___273 {
    PTHREAD_MUTEX_TIMED_NP___273 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___273 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___273 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___273 = 3,
    PTHREAD_MUTEX_NORMAL___273 = 0,
    PTHREAD_MUTEX_RECURSIVE___273 = 1,
    PTHREAD_MUTEX_ERRORCHECK___273 = 2,
    PTHREAD_MUTEX_DEFAULT___273 = 0,
    PTHREAD_MUTEX_FAST_NP___273 = 0
} ;
enum __anonenum_931900394___273 {
    PTHREAD_MUTEX_STALLED___273 = 0,
    PTHREAD_MUTEX_STALLED_NP___273 = 0,
    PTHREAD_MUTEX_ROBUST___273 = 1,
    PTHREAD_MUTEX_ROBUST_NP___273 = 1
} ;
enum __anonenum_205214487___273 {
    PTHREAD_PRIO_NONE___273 = 0,
    PTHREAD_PRIO_INHERIT___273 = 1,
    PTHREAD_PRIO_PROTECT___273 = 2
} ;
enum __anonenum_25043950___273 {
    PTHREAD_RWLOCK_PREFER_READER_NP___273 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___273 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___273 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___273 = 0
} ;
enum __anonenum_436439511___273 {
    PTHREAD_INHERIT_SCHED___273 = 0,
    PTHREAD_EXPLICIT_SCHED___273 = 1
} ;
enum __anonenum_998661166___273 {
    PTHREAD_SCOPE_SYSTEM___273 = 0,
    PTHREAD_SCOPE_PROCESS___273 = 1
} ;
enum __anonenum_146137331___273 {
    PTHREAD_PROCESS_PRIVATE___273 = 0,
    PTHREAD_PROCESS_SHARED___273 = 1
} ;
enum __anonenum_53396917___273 {
    PTHREAD_CANCEL_ENABLE___273 = 0,
    PTHREAD_CANCEL_DISABLE___273 = 1
} ;
enum __anonenum_904563783___273 {
    PTHREAD_CANCEL_DEFERRED___273 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___273 = 1
} ;
enum __anonenum_672052974___273 {
    SSL_CT_VALIDATION_PERMISSIVE___273 = 0,
    SSL_CT_VALIDATION_STRICT___273 = 1
} ;
enum __anonenum_437032235___274 {
    _PC_LINK_MAX___274 = 0,
    _PC_MAX_CANON___274 = 1,
    _PC_MAX_INPUT___274 = 2,
    _PC_NAME_MAX___274 = 3,
    _PC_PATH_MAX___274 = 4,
    _PC_PIPE_BUF___274 = 5,
    _PC_CHOWN_RESTRICTED___274 = 6,
    _PC_NO_TRUNC___274 = 7,
    _PC_VDISABLE___274 = 8,
    _PC_SYNC_IO___274 = 9,
    _PC_ASYNC_IO___274 = 10,
    _PC_PRIO_IO___274 = 11,
    _PC_SOCK_MAXBUF___274 = 12,
    _PC_FILESIZEBITS___274 = 13,
    _PC_REC_INCR_XFER_SIZE___274 = 14,
    _PC_REC_MAX_XFER_SIZE___274 = 15,
    _PC_REC_MIN_XFER_SIZE___274 = 16,
    _PC_REC_XFER_ALIGN___274 = 17,
    _PC_ALLOC_SIZE_MIN___274 = 18,
    _PC_SYMLINK_MAX___274 = 19,
    _PC_2_SYMLINKS___274 = 20
} ;
enum __anonenum_315186338___274 {
    _SC_ARG_MAX___274 = 0,
    _SC_CHILD_MAX___274 = 1,
    _SC_CLK_TCK___274 = 2,
    _SC_NGROUPS_MAX___274 = 3,
    _SC_OPEN_MAX___274 = 4,
    _SC_STREAM_MAX___274 = 5,
    _SC_TZNAME_MAX___274 = 6,
    _SC_JOB_CONTROL___274 = 7,
    _SC_SAVED_IDS___274 = 8,
    _SC_REALTIME_SIGNALS___274 = 9,
    _SC_PRIORITY_SCHEDULING___274 = 10,
    _SC_TIMERS___274 = 11,
    _SC_ASYNCHRONOUS_IO___274 = 12,
    _SC_PRIORITIZED_IO___274 = 13,
    _SC_SYNCHRONIZED_IO___274 = 14,
    _SC_FSYNC___274 = 15,
    _SC_MAPPED_FILES___274 = 16,
    _SC_MEMLOCK___274 = 17,
    _SC_MEMLOCK_RANGE___274 = 18,
    _SC_MEMORY_PROTECTION___274 = 19,
    _SC_MESSAGE_PASSING___274 = 20,
    _SC_SEMAPHORES___274 = 21,
    _SC_SHARED_MEMORY_OBJECTS___274 = 22,
    _SC_AIO_LISTIO_MAX___274 = 23,
    _SC_AIO_MAX___274 = 24,
    _SC_AIO_PRIO_DELTA_MAX___274 = 25,
    _SC_DELAYTIMER_MAX___274 = 26,
    _SC_MQ_OPEN_MAX___274 = 27,
    _SC_MQ_PRIO_MAX___274 = 28,
    _SC_VERSION___274 = 29,
    _SC_PAGESIZE___274 = 30,
    _SC_RTSIG_MAX___274 = 31,
    _SC_SEM_NSEMS_MAX___274 = 32,
    _SC_SEM_VALUE_MAX___274 = 33,
    _SC_SIGQUEUE_MAX___274 = 34,
    _SC_TIMER_MAX___274 = 35,
    _SC_BC_BASE_MAX___274 = 36,
    _SC_BC_DIM_MAX___274 = 37,
    _SC_BC_SCALE_MAX___274 = 38,
    _SC_BC_STRING_MAX___274 = 39,
    _SC_COLL_WEIGHTS_MAX___274 = 40,
    _SC_EQUIV_CLASS_MAX___274 = 41,
    _SC_EXPR_NEST_MAX___274 = 42,
    _SC_LINE_MAX___274 = 43,
    _SC_RE_DUP_MAX___274 = 44,
    _SC_CHARCLASS_NAME_MAX___274 = 45,
    _SC_2_VERSION___274 = 46,
    _SC_2_C_BIND___274 = 47,
    _SC_2_C_DEV___274 = 48,
    _SC_2_FORT_DEV___274 = 49,
    _SC_2_FORT_RUN___274 = 50,
    _SC_2_SW_DEV___274 = 51,
    _SC_2_LOCALEDEF___274 = 52,
    _SC_PII___274 = 53,
    _SC_PII_XTI___274 = 54,
    _SC_PII_SOCKET___274 = 55,
    _SC_PII_INTERNET___274 = 56,
    _SC_PII_OSI___274 = 57,
    _SC_POLL___274 = 58,
    _SC_SELECT___274 = 59,
    _SC_UIO_MAXIOV___274 = 60,
    _SC_IOV_MAX___274 = 60,
    _SC_PII_INTERNET_STREAM___274 = 61,
    _SC_PII_INTERNET_DGRAM___274 = 62,
    _SC_PII_OSI_COTS___274 = 63,
    _SC_PII_OSI_CLTS___274 = 64,
    _SC_PII_OSI_M___274 = 65,
    _SC_T_IOV_MAX___274 = 66,
    _SC_THREADS___274 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___274 = 68,
    _SC_GETGR_R_SIZE_MAX___274 = 69,
    _SC_GETPW_R_SIZE_MAX___274 = 70,
    _SC_LOGIN_NAME_MAX___274 = 71,
    _SC_TTY_NAME_MAX___274 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___274 = 73,
    _SC_THREAD_KEYS_MAX___274 = 74,
    _SC_THREAD_STACK_MIN___274 = 75,
    _SC_THREAD_THREADS_MAX___274 = 76,
    _SC_THREAD_ATTR_STACKADDR___274 = 77,
    _SC_THREAD_ATTR_STACKSIZE___274 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___274 = 79,
    _SC_THREAD_PRIO_INHERIT___274 = 80,
    _SC_THREAD_PRIO_PROTECT___274 = 81,
    _SC_THREAD_PROCESS_SHARED___274 = 82,
    _SC_NPROCESSORS_CONF___274 = 83,
    _SC_NPROCESSORS_ONLN___274 = 84,
    _SC_PHYS_PAGES___274 = 85,
    _SC_AVPHYS_PAGES___274 = 86,
    _SC_ATEXIT_MAX___274 = 87,
    _SC_PASS_MAX___274 = 88,
    _SC_XOPEN_VERSION___274 = 89,
    _SC_XOPEN_XCU_VERSION___274 = 90,
    _SC_XOPEN_UNIX___274 = 91,
    _SC_XOPEN_CRYPT___274 = 92,
    _SC_XOPEN_ENH_I18N___274 = 93,
    _SC_XOPEN_SHM___274 = 94,
    _SC_2_CHAR_TERM___274 = 95,
    _SC_2_C_VERSION___274 = 96,
    _SC_2_UPE___274 = 97,
    _SC_XOPEN_XPG2___274 = 98,
    _SC_XOPEN_XPG3___274 = 99,
    _SC_XOPEN_XPG4___274 = 100,
    _SC_CHAR_BIT___274 = 101,
    _SC_CHAR_MAX___274 = 102,
    _SC_CHAR_MIN___274 = 103,
    _SC_INT_MAX___274 = 104,
    _SC_INT_MIN___274 = 105,
    _SC_LONG_BIT___274 = 106,
    _SC_WORD_BIT___274 = 107,
    _SC_MB_LEN_MAX___274 = 108,
    _SC_NZERO___274 = 109,
    _SC_SSIZE_MAX___274 = 110,
    _SC_SCHAR_MAX___274 = 111,
    _SC_SCHAR_MIN___274 = 112,
    _SC_SHRT_MAX___274 = 113,
    _SC_SHRT_MIN___274 = 114,
    _SC_UCHAR_MAX___274 = 115,
    _SC_UINT_MAX___274 = 116,
    _SC_ULONG_MAX___274 = 117,
    _SC_USHRT_MAX___274 = 118,
    _SC_NL_ARGMAX___274 = 119,
    _SC_NL_LANGMAX___274 = 120,
    _SC_NL_MSGMAX___274 = 121,
    _SC_NL_NMAX___274 = 122,
    _SC_NL_SETMAX___274 = 123,
    _SC_NL_TEXTMAX___274 = 124,
    _SC_XBS5_ILP32_OFF32___274 = 125,
    _SC_XBS5_ILP32_OFFBIG___274 = 126,
    _SC_XBS5_LP64_OFF64___274 = 127,
    _SC_XBS5_LPBIG_OFFBIG___274 = 128,
    _SC_XOPEN_LEGACY___274 = 129,
    _SC_XOPEN_REALTIME___274 = 130,
    _SC_XOPEN_REALTIME_THREADS___274 = 131,
    _SC_ADVISORY_INFO___274 = 132,
    _SC_BARRIERS___274 = 133,
    _SC_BASE___274 = 134,
    _SC_C_LANG_SUPPORT___274 = 135,
    _SC_C_LANG_SUPPORT_R___274 = 136,
    _SC_CLOCK_SELECTION___274 = 137,
    _SC_CPUTIME___274 = 138,
    _SC_THREAD_CPUTIME___274 = 139,
    _SC_DEVICE_IO___274 = 140,
    _SC_DEVICE_SPECIFIC___274 = 141,
    _SC_DEVICE_SPECIFIC_R___274 = 142,
    _SC_FD_MGMT___274 = 143,
    _SC_FIFO___274 = 144,
    _SC_PIPE___274 = 145,
    _SC_FILE_ATTRIBUTES___274 = 146,
    _SC_FILE_LOCKING___274 = 147,
    _SC_FILE_SYSTEM___274 = 148,
    _SC_MONOTONIC_CLOCK___274 = 149,
    _SC_MULTI_PROCESS___274 = 150,
    _SC_SINGLE_PROCESS___274 = 151,
    _SC_NETWORKING___274 = 152,
    _SC_READER_WRITER_LOCKS___274 = 153,
    _SC_SPIN_LOCKS___274 = 154,
    _SC_REGEXP___274 = 155,
    _SC_REGEX_VERSION___274 = 156,
    _SC_SHELL___274 = 157,
    _SC_SIGNALS___274 = 158,
    _SC_SPAWN___274 = 159,
    _SC_SPORADIC_SERVER___274 = 160,
    _SC_THREAD_SPORADIC_SERVER___274 = 161,
    _SC_SYSTEM_DATABASE___274 = 162,
    _SC_SYSTEM_DATABASE_R___274 = 163,
    _SC_TIMEOUTS___274 = 164,
    _SC_TYPED_MEMORY_OBJECTS___274 = 165,
    _SC_USER_GROUPS___274 = 166,
    _SC_USER_GROUPS_R___274 = 167,
    _SC_2_PBS___274 = 168,
    _SC_2_PBS_ACCOUNTING___274 = 169,
    _SC_2_PBS_LOCATE___274 = 170,
    _SC_2_PBS_MESSAGE___274 = 171,
    _SC_2_PBS_TRACK___274 = 172,
    _SC_SYMLOOP_MAX___274 = 173,
    _SC_STREAMS___274 = 174,
    _SC_2_PBS_CHECKPOINT___274 = 175,
    _SC_V6_ILP32_OFF32___274 = 176,
    _SC_V6_ILP32_OFFBIG___274 = 177,
    _SC_V6_LP64_OFF64___274 = 178,
    _SC_V6_LPBIG_OFFBIG___274 = 179,
    _SC_HOST_NAME_MAX___274 = 180,
    _SC_TRACE___274 = 181,
    _SC_TRACE_EVENT_FILTER___274 = 182,
    _SC_TRACE_INHERIT___274 = 183,
    _SC_TRACE_LOG___274 = 184,
    _SC_LEVEL1_ICACHE_SIZE___274 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___274 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___274 = 187,
    _SC_LEVEL1_DCACHE_SIZE___274 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___274 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___274 = 190,
    _SC_LEVEL2_CACHE_SIZE___274 = 191,
    _SC_LEVEL2_CACHE_ASSOC___274 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___274 = 193,
    _SC_LEVEL3_CACHE_SIZE___274 = 194,
    _SC_LEVEL3_CACHE_ASSOC___274 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___274 = 196,
    _SC_LEVEL4_CACHE_SIZE___274 = 197,
    _SC_LEVEL4_CACHE_ASSOC___274 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___274 = 199,
    _SC_IPV6___274 = 235,
    _SC_RAW_SOCKETS___274 = 236,
    _SC_V7_ILP32_OFF32___274 = 237,
    _SC_V7_ILP32_OFFBIG___274 = 238,
    _SC_V7_LP64_OFF64___274 = 239,
    _SC_V7_LPBIG_OFFBIG___274 = 240,
    _SC_SS_REPL_MAX___274 = 241,
    _SC_TRACE_EVENT_NAME_MAX___274 = 242,
    _SC_TRACE_NAME_MAX___274 = 243,
    _SC_TRACE_SYS_MAX___274 = 244,
    _SC_TRACE_USER_EVENT_MAX___274 = 245,
    _SC_XOPEN_STREAMS___274 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___274 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___274 = 248
} ;
enum __anonenum_875524036___274 {
    _CS_PATH___274 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___274 = 1,
    _CS_GNU_LIBC_VERSION___274 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___274 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___274 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___274 = 5,
    _CS_LFS_CFLAGS___274 = 1000,
    _CS_LFS_LDFLAGS___274 = 1001,
    _CS_LFS_LIBS___274 = 1002,
    _CS_LFS_LINTFLAGS___274 = 1003,
    _CS_LFS64_CFLAGS___274 = 1004,
    _CS_LFS64_LDFLAGS___274 = 1005,
    _CS_LFS64_LIBS___274 = 1006,
    _CS_LFS64_LINTFLAGS___274 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___274 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___274 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___274 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___274 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___274 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___274 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___274 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___274 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___274 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___274 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___274 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___274 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___274 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___274 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___274 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___274 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___274 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___274 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___274 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___274 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___274 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___274 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___274 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___274 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___274 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___274 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___274 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___274 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___274 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___274 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___274 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___274 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___274 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___274 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___274 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___274 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___274 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___274 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___274 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___274 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___274 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___274 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___274 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___274 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___274 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___274 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___274 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___274 = 1147,
    _CS_V6_ENV___274 = 1148,
    _CS_V7_ENV___274 = 1149
} ;
enum __anonenum_513775621___274 {
    DT_UNKNOWN___274 = 0,
    DT_FIFO___274 = 1,
    DT_CHR___274 = 2,
    DT_DIR___274 = 4,
    DT_BLK___274 = 6,
    DT_REG___274 = 8,
    DT_LNK___274 = 10,
    DT_SOCK___274 = 12,
    DT_WHT___274 = 14
} ;
enum __anonenum_77002343___274 {
    SI_ASYNCNL___274 = -60,
    SI_TKILL___274 = -6,
    SI_SIGIO___274 = -5,
    SI_ASYNCIO___274 = -4,
    SI_MESGQ___274 = -3,
    SI_TIMER___274 = -2,
    SI_QUEUE___274 = -1,
    SI_USER___274 = 0,
    SI_KERNEL___274 = 128
} ;
enum __anonenum_131038172___274 {
    ILL_ILLOPC___274 = 1,
    ILL_ILLOPN___274 = 2,
    ILL_ILLADR___274 = 3,
    ILL_ILLTRP___274 = 4,
    ILL_PRVOPC___274 = 5,
    ILL_PRVREG___274 = 6,
    ILL_COPROC___274 = 7,
    ILL_BADSTK___274 = 8
} ;
enum __anonenum_452038093___274 {
    FPE_INTDIV___274 = 1,
    FPE_INTOVF___274 = 2,
    FPE_FLTDIV___274 = 3,
    FPE_FLTOVF___274 = 4,
    FPE_FLTUND___274 = 5,
    FPE_FLTRES___274 = 6,
    FPE_FLTINV___274 = 7,
    FPE_FLTSUB___274 = 8
} ;
enum __anonenum_30976155___274 {
    SEGV_MAPERR___274 = 1,
    SEGV_ACCERR___274 = 2,
    SEGV_BNDERR___274 = 3,
    SEGV_PKUERR___274 = 4
} ;
enum __anonenum_1036286214___274 {
    BUS_ADRALN___274 = 1,
    BUS_ADRERR___274 = 2,
    BUS_OBJERR___274 = 3,
    BUS_MCEERR_AR___274 = 4,
    BUS_MCEERR_AO___274 = 5
} ;
enum __anonenum_493465559___274 {
    TRAP_BRKPT___274 = 1,
    TRAP_TRACE___274 = 2
} ;
enum __anonenum_23175539___274 {
    CLD_EXITED___274 = 1,
    CLD_KILLED___274 = 2,
    CLD_DUMPED___274 = 3,
    CLD_TRAPPED___274 = 4,
    CLD_STOPPED___274 = 5,
    CLD_CONTINUED___274 = 6
} ;
enum __anonenum_111643124___274 {
    POLL_IN___274 = 1,
    POLL_OUT___274 = 2,
    POLL_MSG___274 = 3,
    POLL_ERR___274 = 4,
    POLL_PRI___274 = 5,
    POLL_HUP___274 = 6
} ;
enum __anonenum_852341087___274 {
    SIGEV_SIGNAL___274 = 0,
    SIGEV_NONE___274 = 1,
    SIGEV_THREAD___274 = 2,
    SIGEV_THREAD_ID___274 = 4
} ;
enum __anonenum_451154152___274 {
    REG_R8___274 = 0,
    REG_R9___274 = 1,
    REG_R10___274 = 2,
    REG_R11___274 = 3,
    REG_R12___274 = 4,
    REG_R13___274 = 5,
    REG_R14___274 = 6,
    REG_R15___274 = 7,
    REG_RDI___274 = 8,
    REG_RSI___274 = 9,
    REG_RBP___274 = 10,
    REG_RBX___274 = 11,
    REG_RDX___274 = 12,
    REG_RAX___274 = 13,
    REG_RCX___274 = 14,
    REG_RSP___274 = 15,
    REG_RIP___274 = 16,
    REG_EFL___274 = 17,
    REG_CSGSFS___274 = 18,
    REG_ERR___274 = 19,
    REG_TRAPNO___274 = 20,
    REG_OLDMASK___274 = 21,
    REG_CR2___274 = 22
} ;
enum __anonenum_57186863___274 {
    SS_ONSTACK___274 = 1,
    SS_DISABLE___274 = 2
} ;
enum __anonenum_83571709___274 {
    MSG_OOB___274 = 1,
    MSG_PEEK___274 = 2,
    MSG_DONTROUTE___274 = 4,
    MSG_TRYHARD___274 = 4,
    MSG_CTRUNC___274 = 8,
    MSG_PROXY___274 = 16,
    MSG_TRUNC___274 = 32,
    MSG_DONTWAIT___274 = 64,
    MSG_EOR___274 = 128,
    MSG_WAITALL___274 = 256,
    MSG_FIN___274 = 512,
    MSG_SYN___274 = 1024,
    MSG_CONFIRM___274 = 2048,
    MSG_RST___274 = 4096,
    MSG_ERRQUEUE___274 = 8192,
    MSG_NOSIGNAL___274 = 16384,
    MSG_MORE___274 = 32768,
    MSG_WAITFORONE___274 = 65536,
    MSG_BATCH___274 = 262144,
    MSG_ZEROCOPY___274 = 67108864,
    MSG_FASTOPEN___274 = 536870912,
    MSG_CMSG_CLOEXEC___274 = 1073741824
} ;
enum __anonenum_617082774___274 {
    SCM_RIGHTS___274 = 1,
    SCM_CREDENTIALS___274 = 2
} ;
enum __anonenum_606441560___274 {
    SHUT_RD___274 = 0,
    SHUT_WR___274 = 1,
    SHUT_RDWR___274 = 2
} ;
enum __anonenum_681669233___274 {
    IPPROTO_IP___274 = 0,
    IPPROTO_ICMP___274 = 1,
    IPPROTO_IGMP___274 = 2,
    IPPROTO_IPIP___274 = 4,
    IPPROTO_TCP___274 = 6,
    IPPROTO_EGP___274 = 8,
    IPPROTO_PUP___274 = 12,
    IPPROTO_UDP___274 = 17,
    IPPROTO_IDP___274 = 22,
    IPPROTO_TP___274 = 29,
    IPPROTO_DCCP___274 = 33,
    IPPROTO_IPV6___274 = 41,
    IPPROTO_RSVP___274 = 46,
    IPPROTO_GRE___274 = 47,
    IPPROTO_ESP___274 = 50,
    IPPROTO_AH___274 = 51,
    IPPROTO_MTP___274 = 92,
    IPPROTO_BEETPH___274 = 94,
    IPPROTO_ENCAP___274 = 98,
    IPPROTO_PIM___274 = 103,
    IPPROTO_COMP___274 = 108,
    IPPROTO_SCTP___274 = 132,
    IPPROTO_UDPLITE___274 = 136,
    IPPROTO_MPLS___274 = 137,
    IPPROTO_RAW___274 = 255,
    IPPROTO_MAX___274 = 256
} ;
enum __anonenum_218739988___274 {
    IPPROTO_HOPOPTS___274 = 0,
    IPPROTO_ROUTING___274 = 43,
    IPPROTO_FRAGMENT___274 = 44,
    IPPROTO_ICMPV6___274 = 58,
    IPPROTO_NONE___274 = 59,
    IPPROTO_DSTOPTS___274 = 60,
    IPPROTO_MH___274 = 135
} ;
enum __anonenum_662268580___274 {
    IPPORT_ECHO___274 = 7,
    IPPORT_DISCARD___274 = 9,
    IPPORT_SYSTAT___274 = 11,
    IPPORT_DAYTIME___274 = 13,
    IPPORT_NETSTAT___274 = 15,
    IPPORT_FTP___274 = 21,
    IPPORT_TELNET___274 = 23,
    IPPORT_SMTP___274 = 25,
    IPPORT_TIMESERVER___274 = 37,
    IPPORT_NAMESERVER___274 = 42,
    IPPORT_WHOIS___274 = 43,
    IPPORT_MTP___274 = 57,
    IPPORT_TFTP___274 = 69,
    IPPORT_RJE___274 = 77,
    IPPORT_FINGER___274 = 79,
    IPPORT_TTYLINK___274 = 87,
    IPPORT_SUPDUP___274 = 95,
    IPPORT_EXECSERVER___274 = 512,
    IPPORT_LOGINSERVER___274 = 513,
    IPPORT_CMDSERVER___274 = 514,
    IPPORT_EFSSERVER___274 = 520,
    IPPORT_BIFFUDP___274 = 512,
    IPPORT_WHOSERVER___274 = 513,
    IPPORT_ROUTESERVER___274 = 520,
    IPPORT_RESERVED___274 = 1024,
    IPPORT_USERRESERVED___274 = 5000
} ;
enum __anonenum_788308992___274 {
    TCP_ESTABLISHED___274 = 1,
    TCP_SYN_SENT___274 = 2,
    TCP_SYN_RECV___274 = 3,
    TCP_FIN_WAIT1___274 = 4,
    TCP_FIN_WAIT2___274 = 5,
    TCP_TIME_WAIT___274 = 6,
    TCP_CLOSE___274 = 7,
    TCP_CLOSE_WAIT___274 = 8,
    TCP_LAST_ACK___274 = 9,
    TCP_LISTEN___274 = 10,
    TCP_CLOSING___274 = 11
} ;
enum __anonenum_221125648___274 {
    TCP_NO_QUEUE___274 = 0,
    TCP_RECV_QUEUE___274 = 1,
    TCP_SEND_QUEUE___274 = 2,
    TCP_QUEUES_NR___274 = 3
} ;
enum __anonenum_34415463___274 {
    PTHREAD_CREATE_JOINABLE___274 = 0,
    PTHREAD_CREATE_DETACHED___274 = 1
} ;
enum __anonenum_303612439___274 {
    PTHREAD_MUTEX_TIMED_NP___274 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___274 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___274 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___274 = 3,
    PTHREAD_MUTEX_NORMAL___274 = 0,
    PTHREAD_MUTEX_RECURSIVE___274 = 1,
    PTHREAD_MUTEX_ERRORCHECK___274 = 2,
    PTHREAD_MUTEX_DEFAULT___274 = 0,
    PTHREAD_MUTEX_FAST_NP___274 = 0
} ;
enum __anonenum_931900394___274 {
    PTHREAD_MUTEX_STALLED___274 = 0,
    PTHREAD_MUTEX_STALLED_NP___274 = 0,
    PTHREAD_MUTEX_ROBUST___274 = 1,
    PTHREAD_MUTEX_ROBUST_NP___274 = 1
} ;
enum __anonenum_205214487___274 {
    PTHREAD_PRIO_NONE___274 = 0,
    PTHREAD_PRIO_INHERIT___274 = 1,
    PTHREAD_PRIO_PROTECT___274 = 2
} ;
enum __anonenum_25043950___274 {
    PTHREAD_RWLOCK_PREFER_READER_NP___274 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___274 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___274 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___274 = 0
} ;
enum __anonenum_436439511___274 {
    PTHREAD_INHERIT_SCHED___274 = 0,
    PTHREAD_EXPLICIT_SCHED___274 = 1
} ;
enum __anonenum_998661166___274 {
    PTHREAD_SCOPE_SYSTEM___274 = 0,
    PTHREAD_SCOPE_PROCESS___274 = 1
} ;
enum __anonenum_146137331___274 {
    PTHREAD_PROCESS_PRIVATE___274 = 0,
    PTHREAD_PROCESS_SHARED___274 = 1
} ;
enum __anonenum_53396917___274 {
    PTHREAD_CANCEL_ENABLE___274 = 0,
    PTHREAD_CANCEL_DISABLE___274 = 1
} ;
enum __anonenum_904563783___274 {
    PTHREAD_CANCEL_DEFERRED___274 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___274 = 1
} ;
enum __anonenum_672052974___274 {
    SSL_CT_VALIDATION_PERMISSIVE___274 = 0,
    SSL_CT_VALIDATION_STRICT___274 = 1
} ;
enum __anonenum_34023289___24 {
    REMOTE_UNCONFIGURED___24 = 0,
    REMOTE_CONFIG___24 = 1,
    REMOTE_REMOTES___24 = 2,
    REMOTE_BRANCHES___24 = 3
} ;
enum __anonenum_437032235___275 {
    _PC_LINK_MAX___275 = 0,
    _PC_MAX_CANON___275 = 1,
    _PC_MAX_INPUT___275 = 2,
    _PC_NAME_MAX___275 = 3,
    _PC_PATH_MAX___275 = 4,
    _PC_PIPE_BUF___275 = 5,
    _PC_CHOWN_RESTRICTED___275 = 6,
    _PC_NO_TRUNC___275 = 7,
    _PC_VDISABLE___275 = 8,
    _PC_SYNC_IO___275 = 9,
    _PC_ASYNC_IO___275 = 10,
    _PC_PRIO_IO___275 = 11,
    _PC_SOCK_MAXBUF___275 = 12,
    _PC_FILESIZEBITS___275 = 13,
    _PC_REC_INCR_XFER_SIZE___275 = 14,
    _PC_REC_MAX_XFER_SIZE___275 = 15,
    _PC_REC_MIN_XFER_SIZE___275 = 16,
    _PC_REC_XFER_ALIGN___275 = 17,
    _PC_ALLOC_SIZE_MIN___275 = 18,
    _PC_SYMLINK_MAX___275 = 19,
    _PC_2_SYMLINKS___275 = 20
} ;
enum __anonenum_315186338___275 {
    _SC_ARG_MAX___275 = 0,
    _SC_CHILD_MAX___275 = 1,
    _SC_CLK_TCK___275 = 2,
    _SC_NGROUPS_MAX___275 = 3,
    _SC_OPEN_MAX___275 = 4,
    _SC_STREAM_MAX___275 = 5,
    _SC_TZNAME_MAX___275 = 6,
    _SC_JOB_CONTROL___275 = 7,
    _SC_SAVED_IDS___275 = 8,
    _SC_REALTIME_SIGNALS___275 = 9,
    _SC_PRIORITY_SCHEDULING___275 = 10,
    _SC_TIMERS___275 = 11,
    _SC_ASYNCHRONOUS_IO___275 = 12,
    _SC_PRIORITIZED_IO___275 = 13,
    _SC_SYNCHRONIZED_IO___275 = 14,
    _SC_FSYNC___275 = 15,
    _SC_MAPPED_FILES___275 = 16,
    _SC_MEMLOCK___275 = 17,
    _SC_MEMLOCK_RANGE___275 = 18,
    _SC_MEMORY_PROTECTION___275 = 19,
    _SC_MESSAGE_PASSING___275 = 20,
    _SC_SEMAPHORES___275 = 21,
    _SC_SHARED_MEMORY_OBJECTS___275 = 22,
    _SC_AIO_LISTIO_MAX___275 = 23,
    _SC_AIO_MAX___275 = 24,
    _SC_AIO_PRIO_DELTA_MAX___275 = 25,
    _SC_DELAYTIMER_MAX___275 = 26,
    _SC_MQ_OPEN_MAX___275 = 27,
    _SC_MQ_PRIO_MAX___275 = 28,
    _SC_VERSION___275 = 29,
    _SC_PAGESIZE___275 = 30,
    _SC_RTSIG_MAX___275 = 31,
    _SC_SEM_NSEMS_MAX___275 = 32,
    _SC_SEM_VALUE_MAX___275 = 33,
    _SC_SIGQUEUE_MAX___275 = 34,
    _SC_TIMER_MAX___275 = 35,
    _SC_BC_BASE_MAX___275 = 36,
    _SC_BC_DIM_MAX___275 = 37,
    _SC_BC_SCALE_MAX___275 = 38,
    _SC_BC_STRING_MAX___275 = 39,
    _SC_COLL_WEIGHTS_MAX___275 = 40,
    _SC_EQUIV_CLASS_MAX___275 = 41,
    _SC_EXPR_NEST_MAX___275 = 42,
    _SC_LINE_MAX___275 = 43,
    _SC_RE_DUP_MAX___275 = 44,
    _SC_CHARCLASS_NAME_MAX___275 = 45,
    _SC_2_VERSION___275 = 46,
    _SC_2_C_BIND___275 = 47,
    _SC_2_C_DEV___275 = 48,
    _SC_2_FORT_DEV___275 = 49,
    _SC_2_FORT_RUN___275 = 50,
    _SC_2_SW_DEV___275 = 51,
    _SC_2_LOCALEDEF___275 = 52,
    _SC_PII___275 = 53,
    _SC_PII_XTI___275 = 54,
    _SC_PII_SOCKET___275 = 55,
    _SC_PII_INTERNET___275 = 56,
    _SC_PII_OSI___275 = 57,
    _SC_POLL___275 = 58,
    _SC_SELECT___275 = 59,
    _SC_UIO_MAXIOV___275 = 60,
    _SC_IOV_MAX___275 = 60,
    _SC_PII_INTERNET_STREAM___275 = 61,
    _SC_PII_INTERNET_DGRAM___275 = 62,
    _SC_PII_OSI_COTS___275 = 63,
    _SC_PII_OSI_CLTS___275 = 64,
    _SC_PII_OSI_M___275 = 65,
    _SC_T_IOV_MAX___275 = 66,
    _SC_THREADS___275 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___275 = 68,
    _SC_GETGR_R_SIZE_MAX___275 = 69,
    _SC_GETPW_R_SIZE_MAX___275 = 70,
    _SC_LOGIN_NAME_MAX___275 = 71,
    _SC_TTY_NAME_MAX___275 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___275 = 73,
    _SC_THREAD_KEYS_MAX___275 = 74,
    _SC_THREAD_STACK_MIN___275 = 75,
    _SC_THREAD_THREADS_MAX___275 = 76,
    _SC_THREAD_ATTR_STACKADDR___275 = 77,
    _SC_THREAD_ATTR_STACKSIZE___275 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___275 = 79,
    _SC_THREAD_PRIO_INHERIT___275 = 80,
    _SC_THREAD_PRIO_PROTECT___275 = 81,
    _SC_THREAD_PROCESS_SHARED___275 = 82,
    _SC_NPROCESSORS_CONF___275 = 83,
    _SC_NPROCESSORS_ONLN___275 = 84,
    _SC_PHYS_PAGES___275 = 85,
    _SC_AVPHYS_PAGES___275 = 86,
    _SC_ATEXIT_MAX___275 = 87,
    _SC_PASS_MAX___275 = 88,
    _SC_XOPEN_VERSION___275 = 89,
    _SC_XOPEN_XCU_VERSION___275 = 90,
    _SC_XOPEN_UNIX___275 = 91,
    _SC_XOPEN_CRYPT___275 = 92,
    _SC_XOPEN_ENH_I18N___275 = 93,
    _SC_XOPEN_SHM___275 = 94,
    _SC_2_CHAR_TERM___275 = 95,
    _SC_2_C_VERSION___275 = 96,
    _SC_2_UPE___275 = 97,
    _SC_XOPEN_XPG2___275 = 98,
    _SC_XOPEN_XPG3___275 = 99,
    _SC_XOPEN_XPG4___275 = 100,
    _SC_CHAR_BIT___275 = 101,
    _SC_CHAR_MAX___275 = 102,
    _SC_CHAR_MIN___275 = 103,
    _SC_INT_MAX___275 = 104,
    _SC_INT_MIN___275 = 105,
    _SC_LONG_BIT___275 = 106,
    _SC_WORD_BIT___275 = 107,
    _SC_MB_LEN_MAX___275 = 108,
    _SC_NZERO___275 = 109,
    _SC_SSIZE_MAX___275 = 110,
    _SC_SCHAR_MAX___275 = 111,
    _SC_SCHAR_MIN___275 = 112,
    _SC_SHRT_MAX___275 = 113,
    _SC_SHRT_MIN___275 = 114,
    _SC_UCHAR_MAX___275 = 115,
    _SC_UINT_MAX___275 = 116,
    _SC_ULONG_MAX___275 = 117,
    _SC_USHRT_MAX___275 = 118,
    _SC_NL_ARGMAX___275 = 119,
    _SC_NL_LANGMAX___275 = 120,
    _SC_NL_MSGMAX___275 = 121,
    _SC_NL_NMAX___275 = 122,
    _SC_NL_SETMAX___275 = 123,
    _SC_NL_TEXTMAX___275 = 124,
    _SC_XBS5_ILP32_OFF32___275 = 125,
    _SC_XBS5_ILP32_OFFBIG___275 = 126,
    _SC_XBS5_LP64_OFF64___275 = 127,
    _SC_XBS5_LPBIG_OFFBIG___275 = 128,
    _SC_XOPEN_LEGACY___275 = 129,
    _SC_XOPEN_REALTIME___275 = 130,
    _SC_XOPEN_REALTIME_THREADS___275 = 131,
    _SC_ADVISORY_INFO___275 = 132,
    _SC_BARRIERS___275 = 133,
    _SC_BASE___275 = 134,
    _SC_C_LANG_SUPPORT___275 = 135,
    _SC_C_LANG_SUPPORT_R___275 = 136,
    _SC_CLOCK_SELECTION___275 = 137,
    _SC_CPUTIME___275 = 138,
    _SC_THREAD_CPUTIME___275 = 139,
    _SC_DEVICE_IO___275 = 140,
    _SC_DEVICE_SPECIFIC___275 = 141,
    _SC_DEVICE_SPECIFIC_R___275 = 142,
    _SC_FD_MGMT___275 = 143,
    _SC_FIFO___275 = 144,
    _SC_PIPE___275 = 145,
    _SC_FILE_ATTRIBUTES___275 = 146,
    _SC_FILE_LOCKING___275 = 147,
    _SC_FILE_SYSTEM___275 = 148,
    _SC_MONOTONIC_CLOCK___275 = 149,
    _SC_MULTI_PROCESS___275 = 150,
    _SC_SINGLE_PROCESS___275 = 151,
    _SC_NETWORKING___275 = 152,
    _SC_READER_WRITER_LOCKS___275 = 153,
    _SC_SPIN_LOCKS___275 = 154,
    _SC_REGEXP___275 = 155,
    _SC_REGEX_VERSION___275 = 156,
    _SC_SHELL___275 = 157,
    _SC_SIGNALS___275 = 158,
    _SC_SPAWN___275 = 159,
    _SC_SPORADIC_SERVER___275 = 160,
    _SC_THREAD_SPORADIC_SERVER___275 = 161,
    _SC_SYSTEM_DATABASE___275 = 162,
    _SC_SYSTEM_DATABASE_R___275 = 163,
    _SC_TIMEOUTS___275 = 164,
    _SC_TYPED_MEMORY_OBJECTS___275 = 165,
    _SC_USER_GROUPS___275 = 166,
    _SC_USER_GROUPS_R___275 = 167,
    _SC_2_PBS___275 = 168,
    _SC_2_PBS_ACCOUNTING___275 = 169,
    _SC_2_PBS_LOCATE___275 = 170,
    _SC_2_PBS_MESSAGE___275 = 171,
    _SC_2_PBS_TRACK___275 = 172,
    _SC_SYMLOOP_MAX___275 = 173,
    _SC_STREAMS___275 = 174,
    _SC_2_PBS_CHECKPOINT___275 = 175,
    _SC_V6_ILP32_OFF32___275 = 176,
    _SC_V6_ILP32_OFFBIG___275 = 177,
    _SC_V6_LP64_OFF64___275 = 178,
    _SC_V6_LPBIG_OFFBIG___275 = 179,
    _SC_HOST_NAME_MAX___275 = 180,
    _SC_TRACE___275 = 181,
    _SC_TRACE_EVENT_FILTER___275 = 182,
    _SC_TRACE_INHERIT___275 = 183,
    _SC_TRACE_LOG___275 = 184,
    _SC_LEVEL1_ICACHE_SIZE___275 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___275 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___275 = 187,
    _SC_LEVEL1_DCACHE_SIZE___275 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___275 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___275 = 190,
    _SC_LEVEL2_CACHE_SIZE___275 = 191,
    _SC_LEVEL2_CACHE_ASSOC___275 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___275 = 193,
    _SC_LEVEL3_CACHE_SIZE___275 = 194,
    _SC_LEVEL3_CACHE_ASSOC___275 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___275 = 196,
    _SC_LEVEL4_CACHE_SIZE___275 = 197,
    _SC_LEVEL4_CACHE_ASSOC___275 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___275 = 199,
    _SC_IPV6___275 = 235,
    _SC_RAW_SOCKETS___275 = 236,
    _SC_V7_ILP32_OFF32___275 = 237,
    _SC_V7_ILP32_OFFBIG___275 = 238,
    _SC_V7_LP64_OFF64___275 = 239,
    _SC_V7_LPBIG_OFFBIG___275 = 240,
    _SC_SS_REPL_MAX___275 = 241,
    _SC_TRACE_EVENT_NAME_MAX___275 = 242,
    _SC_TRACE_NAME_MAX___275 = 243,
    _SC_TRACE_SYS_MAX___275 = 244,
    _SC_TRACE_USER_EVENT_MAX___275 = 245,
    _SC_XOPEN_STREAMS___275 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___275 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___275 = 248
} ;
enum __anonenum_875524036___275 {
    _CS_PATH___275 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___275 = 1,
    _CS_GNU_LIBC_VERSION___275 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___275 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___275 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___275 = 5,
    _CS_LFS_CFLAGS___275 = 1000,
    _CS_LFS_LDFLAGS___275 = 1001,
    _CS_LFS_LIBS___275 = 1002,
    _CS_LFS_LINTFLAGS___275 = 1003,
    _CS_LFS64_CFLAGS___275 = 1004,
    _CS_LFS64_LDFLAGS___275 = 1005,
    _CS_LFS64_LIBS___275 = 1006,
    _CS_LFS64_LINTFLAGS___275 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___275 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___275 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___275 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___275 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___275 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___275 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___275 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___275 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___275 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___275 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___275 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___275 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___275 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___275 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___275 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___275 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___275 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___275 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___275 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___275 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___275 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___275 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___275 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___275 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___275 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___275 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___275 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___275 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___275 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___275 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___275 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___275 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___275 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___275 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___275 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___275 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___275 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___275 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___275 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___275 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___275 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___275 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___275 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___275 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___275 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___275 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___275 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___275 = 1147,
    _CS_V6_ENV___275 = 1148,
    _CS_V7_ENV___275 = 1149
} ;
enum __anonenum_513775621___275 {
    DT_UNKNOWN___275 = 0,
    DT_FIFO___275 = 1,
    DT_CHR___275 = 2,
    DT_DIR___275 = 4,
    DT_BLK___275 = 6,
    DT_REG___275 = 8,
    DT_LNK___275 = 10,
    DT_SOCK___275 = 12,
    DT_WHT___275 = 14
} ;
enum __anonenum_77002343___275 {
    SI_ASYNCNL___275 = -60,
    SI_TKILL___275 = -6,
    SI_SIGIO___275 = -5,
    SI_ASYNCIO___275 = -4,
    SI_MESGQ___275 = -3,
    SI_TIMER___275 = -2,
    SI_QUEUE___275 = -1,
    SI_USER___275 = 0,
    SI_KERNEL___275 = 128
} ;
enum __anonenum_131038172___275 {
    ILL_ILLOPC___275 = 1,
    ILL_ILLOPN___275 = 2,
    ILL_ILLADR___275 = 3,
    ILL_ILLTRP___275 = 4,
    ILL_PRVOPC___275 = 5,
    ILL_PRVREG___275 = 6,
    ILL_COPROC___275 = 7,
    ILL_BADSTK___275 = 8
} ;
enum __anonenum_452038093___275 {
    FPE_INTDIV___275 = 1,
    FPE_INTOVF___275 = 2,
    FPE_FLTDIV___275 = 3,
    FPE_FLTOVF___275 = 4,
    FPE_FLTUND___275 = 5,
    FPE_FLTRES___275 = 6,
    FPE_FLTINV___275 = 7,
    FPE_FLTSUB___275 = 8
} ;
enum __anonenum_30976155___275 {
    SEGV_MAPERR___275 = 1,
    SEGV_ACCERR___275 = 2,
    SEGV_BNDERR___275 = 3,
    SEGV_PKUERR___275 = 4
} ;
enum __anonenum_1036286214___275 {
    BUS_ADRALN___275 = 1,
    BUS_ADRERR___275 = 2,
    BUS_OBJERR___275 = 3,
    BUS_MCEERR_AR___275 = 4,
    BUS_MCEERR_AO___275 = 5
} ;
enum __anonenum_493465559___275 {
    TRAP_BRKPT___275 = 1,
    TRAP_TRACE___275 = 2
} ;
enum __anonenum_23175539___275 {
    CLD_EXITED___275 = 1,
    CLD_KILLED___275 = 2,
    CLD_DUMPED___275 = 3,
    CLD_TRAPPED___275 = 4,
    CLD_STOPPED___275 = 5,
    CLD_CONTINUED___275 = 6
} ;
enum __anonenum_111643124___275 {
    POLL_IN___275 = 1,
    POLL_OUT___275 = 2,
    POLL_MSG___275 = 3,
    POLL_ERR___275 = 4,
    POLL_PRI___275 = 5,
    POLL_HUP___275 = 6
} ;
enum __anonenum_852341087___275 {
    SIGEV_SIGNAL___275 = 0,
    SIGEV_NONE___275 = 1,
    SIGEV_THREAD___275 = 2,
    SIGEV_THREAD_ID___275 = 4
} ;
enum __anonenum_451154152___275 {
    REG_R8___275 = 0,
    REG_R9___275 = 1,
    REG_R10___275 = 2,
    REG_R11___275 = 3,
    REG_R12___275 = 4,
    REG_R13___275 = 5,
    REG_R14___275 = 6,
    REG_R15___275 = 7,
    REG_RDI___275 = 8,
    REG_RSI___275 = 9,
    REG_RBP___275 = 10,
    REG_RBX___275 = 11,
    REG_RDX___275 = 12,
    REG_RAX___275 = 13,
    REG_RCX___275 = 14,
    REG_RSP___275 = 15,
    REG_RIP___275 = 16,
    REG_EFL___275 = 17,
    REG_CSGSFS___275 = 18,
    REG_ERR___275 = 19,
    REG_TRAPNO___275 = 20,
    REG_OLDMASK___275 = 21,
    REG_CR2___275 = 22
} ;
enum __anonenum_57186863___275 {
    SS_ONSTACK___275 = 1,
    SS_DISABLE___275 = 2
} ;
enum __anonenum_83571709___275 {
    MSG_OOB___275 = 1,
    MSG_PEEK___275 = 2,
    MSG_DONTROUTE___275 = 4,
    MSG_TRYHARD___275 = 4,
    MSG_CTRUNC___275 = 8,
    MSG_PROXY___275 = 16,
    MSG_TRUNC___275 = 32,
    MSG_DONTWAIT___275 = 64,
    MSG_EOR___275 = 128,
    MSG_WAITALL___275 = 256,
    MSG_FIN___275 = 512,
    MSG_SYN___275 = 1024,
    MSG_CONFIRM___275 = 2048,
    MSG_RST___275 = 4096,
    MSG_ERRQUEUE___275 = 8192,
    MSG_NOSIGNAL___275 = 16384,
    MSG_MORE___275 = 32768,
    MSG_WAITFORONE___275 = 65536,
    MSG_BATCH___275 = 262144,
    MSG_ZEROCOPY___275 = 67108864,
    MSG_FASTOPEN___275 = 536870912,
    MSG_CMSG_CLOEXEC___275 = 1073741824
} ;
enum __anonenum_617082774___275 {
    SCM_RIGHTS___275 = 1,
    SCM_CREDENTIALS___275 = 2
} ;
enum __anonenum_606441560___275 {
    SHUT_RD___275 = 0,
    SHUT_WR___275 = 1,
    SHUT_RDWR___275 = 2
} ;
enum __anonenum_681669233___275 {
    IPPROTO_IP___275 = 0,
    IPPROTO_ICMP___275 = 1,
    IPPROTO_IGMP___275 = 2,
    IPPROTO_IPIP___275 = 4,
    IPPROTO_TCP___275 = 6,
    IPPROTO_EGP___275 = 8,
    IPPROTO_PUP___275 = 12,
    IPPROTO_UDP___275 = 17,
    IPPROTO_IDP___275 = 22,
    IPPROTO_TP___275 = 29,
    IPPROTO_DCCP___275 = 33,
    IPPROTO_IPV6___275 = 41,
    IPPROTO_RSVP___275 = 46,
    IPPROTO_GRE___275 = 47,
    IPPROTO_ESP___275 = 50,
    IPPROTO_AH___275 = 51,
    IPPROTO_MTP___275 = 92,
    IPPROTO_BEETPH___275 = 94,
    IPPROTO_ENCAP___275 = 98,
    IPPROTO_PIM___275 = 103,
    IPPROTO_COMP___275 = 108,
    IPPROTO_SCTP___275 = 132,
    IPPROTO_UDPLITE___275 = 136,
    IPPROTO_MPLS___275 = 137,
    IPPROTO_RAW___275 = 255,
    IPPROTO_MAX___275 = 256
} ;
enum __anonenum_218739988___275 {
    IPPROTO_HOPOPTS___275 = 0,
    IPPROTO_ROUTING___275 = 43,
    IPPROTO_FRAGMENT___275 = 44,
    IPPROTO_ICMPV6___275 = 58,
    IPPROTO_NONE___275 = 59,
    IPPROTO_DSTOPTS___275 = 60,
    IPPROTO_MH___275 = 135
} ;
enum __anonenum_662268580___275 {
    IPPORT_ECHO___275 = 7,
    IPPORT_DISCARD___275 = 9,
    IPPORT_SYSTAT___275 = 11,
    IPPORT_DAYTIME___275 = 13,
    IPPORT_NETSTAT___275 = 15,
    IPPORT_FTP___275 = 21,
    IPPORT_TELNET___275 = 23,
    IPPORT_SMTP___275 = 25,
    IPPORT_TIMESERVER___275 = 37,
    IPPORT_NAMESERVER___275 = 42,
    IPPORT_WHOIS___275 = 43,
    IPPORT_MTP___275 = 57,
    IPPORT_TFTP___275 = 69,
    IPPORT_RJE___275 = 77,
    IPPORT_FINGER___275 = 79,
    IPPORT_TTYLINK___275 = 87,
    IPPORT_SUPDUP___275 = 95,
    IPPORT_EXECSERVER___275 = 512,
    IPPORT_LOGINSERVER___275 = 513,
    IPPORT_CMDSERVER___275 = 514,
    IPPORT_EFSSERVER___275 = 520,
    IPPORT_BIFFUDP___275 = 512,
    IPPORT_WHOSERVER___275 = 513,
    IPPORT_ROUTESERVER___275 = 520,
    IPPORT_RESERVED___275 = 1024,
    IPPORT_USERRESERVED___275 = 5000
} ;
enum __anonenum_788308992___275 {
    TCP_ESTABLISHED___275 = 1,
    TCP_SYN_SENT___275 = 2,
    TCP_SYN_RECV___275 = 3,
    TCP_FIN_WAIT1___275 = 4,
    TCP_FIN_WAIT2___275 = 5,
    TCP_TIME_WAIT___275 = 6,
    TCP_CLOSE___275 = 7,
    TCP_CLOSE_WAIT___275 = 8,
    TCP_LAST_ACK___275 = 9,
    TCP_LISTEN___275 = 10,
    TCP_CLOSING___275 = 11
} ;
enum __anonenum_221125648___275 {
    TCP_NO_QUEUE___275 = 0,
    TCP_RECV_QUEUE___275 = 1,
    TCP_SEND_QUEUE___275 = 2,
    TCP_QUEUES_NR___275 = 3
} ;
enum __anonenum_34415463___275 {
    PTHREAD_CREATE_JOINABLE___275 = 0,
    PTHREAD_CREATE_DETACHED___275 = 1
} ;
enum __anonenum_303612439___275 {
    PTHREAD_MUTEX_TIMED_NP___275 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___275 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___275 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___275 = 3,
    PTHREAD_MUTEX_NORMAL___275 = 0,
    PTHREAD_MUTEX_RECURSIVE___275 = 1,
    PTHREAD_MUTEX_ERRORCHECK___275 = 2,
    PTHREAD_MUTEX_DEFAULT___275 = 0,
    PTHREAD_MUTEX_FAST_NP___275 = 0
} ;
enum __anonenum_931900394___275 {
    PTHREAD_MUTEX_STALLED___275 = 0,
    PTHREAD_MUTEX_STALLED_NP___275 = 0,
    PTHREAD_MUTEX_ROBUST___275 = 1,
    PTHREAD_MUTEX_ROBUST_NP___275 = 1
} ;
enum __anonenum_205214487___275 {
    PTHREAD_PRIO_NONE___275 = 0,
    PTHREAD_PRIO_INHERIT___275 = 1,
    PTHREAD_PRIO_PROTECT___275 = 2
} ;
enum __anonenum_25043950___275 {
    PTHREAD_RWLOCK_PREFER_READER_NP___275 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___275 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___275 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___275 = 0
} ;
enum __anonenum_436439511___275 {
    PTHREAD_INHERIT_SCHED___275 = 0,
    PTHREAD_EXPLICIT_SCHED___275 = 1
} ;
enum __anonenum_998661166___275 {
    PTHREAD_SCOPE_SYSTEM___275 = 0,
    PTHREAD_SCOPE_PROCESS___275 = 1
} ;
enum __anonenum_146137331___275 {
    PTHREAD_PROCESS_PRIVATE___275 = 0,
    PTHREAD_PROCESS_SHARED___275 = 1
} ;
enum __anonenum_53396917___275 {
    PTHREAD_CANCEL_ENABLE___275 = 0,
    PTHREAD_CANCEL_DISABLE___275 = 1
} ;
enum __anonenum_904563783___275 {
    PTHREAD_CANCEL_DEFERRED___275 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___275 = 1
} ;
enum __anonenum_672052974___275 {
    SSL_CT_VALIDATION_PERMISSIVE___275 = 0,
    SSL_CT_VALIDATION_STRICT___275 = 1
} ;
struct add_bisect_ref_data {
   struct rev_info *revs ;
   unsigned int object_flags ;
};
struct bisect_terms {
   char *term_good ;
   char *term_bad ;
};
enum __anonenum_cmdmode_301081615 {
    BISECT_RESET = 1,
    BISECT_NEXT_CHECK = 2,
    BISECT_TERMS = 3,
    BISECT_START = 4,
    BISECT_AUTOSTART = 5,
    BISECT_NEXT = 6,
    BISECT_STATE = 7,
    BISECT_LOG = 8,
    BISECT_REPLAY = 9,
    BISECT_SKIP = 10,
    BISECT_VISUALIZE = 11,
    BISECT_RUN = 12
} ;
enum __anonenum_437032235___276 {
    _PC_LINK_MAX___276 = 0,
    _PC_MAX_CANON___276 = 1,
    _PC_MAX_INPUT___276 = 2,
    _PC_NAME_MAX___276 = 3,
    _PC_PATH_MAX___276 = 4,
    _PC_PIPE_BUF___276 = 5,
    _PC_CHOWN_RESTRICTED___276 = 6,
    _PC_NO_TRUNC___276 = 7,
    _PC_VDISABLE___276 = 8,
    _PC_SYNC_IO___276 = 9,
    _PC_ASYNC_IO___276 = 10,
    _PC_PRIO_IO___276 = 11,
    _PC_SOCK_MAXBUF___276 = 12,
    _PC_FILESIZEBITS___276 = 13,
    _PC_REC_INCR_XFER_SIZE___276 = 14,
    _PC_REC_MAX_XFER_SIZE___276 = 15,
    _PC_REC_MIN_XFER_SIZE___276 = 16,
    _PC_REC_XFER_ALIGN___276 = 17,
    _PC_ALLOC_SIZE_MIN___276 = 18,
    _PC_SYMLINK_MAX___276 = 19,
    _PC_2_SYMLINKS___276 = 20
} ;
enum __anonenum_315186338___276 {
    _SC_ARG_MAX___276 = 0,
    _SC_CHILD_MAX___276 = 1,
    _SC_CLK_TCK___276 = 2,
    _SC_NGROUPS_MAX___276 = 3,
    _SC_OPEN_MAX___276 = 4,
    _SC_STREAM_MAX___276 = 5,
    _SC_TZNAME_MAX___276 = 6,
    _SC_JOB_CONTROL___276 = 7,
    _SC_SAVED_IDS___276 = 8,
    _SC_REALTIME_SIGNALS___276 = 9,
    _SC_PRIORITY_SCHEDULING___276 = 10,
    _SC_TIMERS___276 = 11,
    _SC_ASYNCHRONOUS_IO___276 = 12,
    _SC_PRIORITIZED_IO___276 = 13,
    _SC_SYNCHRONIZED_IO___276 = 14,
    _SC_FSYNC___276 = 15,
    _SC_MAPPED_FILES___276 = 16,
    _SC_MEMLOCK___276 = 17,
    _SC_MEMLOCK_RANGE___276 = 18,
    _SC_MEMORY_PROTECTION___276 = 19,
    _SC_MESSAGE_PASSING___276 = 20,
    _SC_SEMAPHORES___276 = 21,
    _SC_SHARED_MEMORY_OBJECTS___276 = 22,
    _SC_AIO_LISTIO_MAX___276 = 23,
    _SC_AIO_MAX___276 = 24,
    _SC_AIO_PRIO_DELTA_MAX___276 = 25,
    _SC_DELAYTIMER_MAX___276 = 26,
    _SC_MQ_OPEN_MAX___276 = 27,
    _SC_MQ_PRIO_MAX___276 = 28,
    _SC_VERSION___276 = 29,
    _SC_PAGESIZE___276 = 30,
    _SC_RTSIG_MAX___276 = 31,
    _SC_SEM_NSEMS_MAX___276 = 32,
    _SC_SEM_VALUE_MAX___276 = 33,
    _SC_SIGQUEUE_MAX___276 = 34,
    _SC_TIMER_MAX___276 = 35,
    _SC_BC_BASE_MAX___276 = 36,
    _SC_BC_DIM_MAX___276 = 37,
    _SC_BC_SCALE_MAX___276 = 38,
    _SC_BC_STRING_MAX___276 = 39,
    _SC_COLL_WEIGHTS_MAX___276 = 40,
    _SC_EQUIV_CLASS_MAX___276 = 41,
    _SC_EXPR_NEST_MAX___276 = 42,
    _SC_LINE_MAX___276 = 43,
    _SC_RE_DUP_MAX___276 = 44,
    _SC_CHARCLASS_NAME_MAX___276 = 45,
    _SC_2_VERSION___276 = 46,
    _SC_2_C_BIND___276 = 47,
    _SC_2_C_DEV___276 = 48,
    _SC_2_FORT_DEV___276 = 49,
    _SC_2_FORT_RUN___276 = 50,
    _SC_2_SW_DEV___276 = 51,
    _SC_2_LOCALEDEF___276 = 52,
    _SC_PII___276 = 53,
    _SC_PII_XTI___276 = 54,
    _SC_PII_SOCKET___276 = 55,
    _SC_PII_INTERNET___276 = 56,
    _SC_PII_OSI___276 = 57,
    _SC_POLL___276 = 58,
    _SC_SELECT___276 = 59,
    _SC_UIO_MAXIOV___276 = 60,
    _SC_IOV_MAX___276 = 60,
    _SC_PII_INTERNET_STREAM___276 = 61,
    _SC_PII_INTERNET_DGRAM___276 = 62,
    _SC_PII_OSI_COTS___276 = 63,
    _SC_PII_OSI_CLTS___276 = 64,
    _SC_PII_OSI_M___276 = 65,
    _SC_T_IOV_MAX___276 = 66,
    _SC_THREADS___276 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___276 = 68,
    _SC_GETGR_R_SIZE_MAX___276 = 69,
    _SC_GETPW_R_SIZE_MAX___276 = 70,
    _SC_LOGIN_NAME_MAX___276 = 71,
    _SC_TTY_NAME_MAX___276 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___276 = 73,
    _SC_THREAD_KEYS_MAX___276 = 74,
    _SC_THREAD_STACK_MIN___276 = 75,
    _SC_THREAD_THREADS_MAX___276 = 76,
    _SC_THREAD_ATTR_STACKADDR___276 = 77,
    _SC_THREAD_ATTR_STACKSIZE___276 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___276 = 79,
    _SC_THREAD_PRIO_INHERIT___276 = 80,
    _SC_THREAD_PRIO_PROTECT___276 = 81,
    _SC_THREAD_PROCESS_SHARED___276 = 82,
    _SC_NPROCESSORS_CONF___276 = 83,
    _SC_NPROCESSORS_ONLN___276 = 84,
    _SC_PHYS_PAGES___276 = 85,
    _SC_AVPHYS_PAGES___276 = 86,
    _SC_ATEXIT_MAX___276 = 87,
    _SC_PASS_MAX___276 = 88,
    _SC_XOPEN_VERSION___276 = 89,
    _SC_XOPEN_XCU_VERSION___276 = 90,
    _SC_XOPEN_UNIX___276 = 91,
    _SC_XOPEN_CRYPT___276 = 92,
    _SC_XOPEN_ENH_I18N___276 = 93,
    _SC_XOPEN_SHM___276 = 94,
    _SC_2_CHAR_TERM___276 = 95,
    _SC_2_C_VERSION___276 = 96,
    _SC_2_UPE___276 = 97,
    _SC_XOPEN_XPG2___276 = 98,
    _SC_XOPEN_XPG3___276 = 99,
    _SC_XOPEN_XPG4___276 = 100,
    _SC_CHAR_BIT___276 = 101,
    _SC_CHAR_MAX___276 = 102,
    _SC_CHAR_MIN___276 = 103,
    _SC_INT_MAX___276 = 104,
    _SC_INT_MIN___276 = 105,
    _SC_LONG_BIT___276 = 106,
    _SC_WORD_BIT___276 = 107,
    _SC_MB_LEN_MAX___276 = 108,
    _SC_NZERO___276 = 109,
    _SC_SSIZE_MAX___276 = 110,
    _SC_SCHAR_MAX___276 = 111,
    _SC_SCHAR_MIN___276 = 112,
    _SC_SHRT_MAX___276 = 113,
    _SC_SHRT_MIN___276 = 114,
    _SC_UCHAR_MAX___276 = 115,
    _SC_UINT_MAX___276 = 116,
    _SC_ULONG_MAX___276 = 117,
    _SC_USHRT_MAX___276 = 118,
    _SC_NL_ARGMAX___276 = 119,
    _SC_NL_LANGMAX___276 = 120,
    _SC_NL_MSGMAX___276 = 121,
    _SC_NL_NMAX___276 = 122,
    _SC_NL_SETMAX___276 = 123,
    _SC_NL_TEXTMAX___276 = 124,
    _SC_XBS5_ILP32_OFF32___276 = 125,
    _SC_XBS5_ILP32_OFFBIG___276 = 126,
    _SC_XBS5_LP64_OFF64___276 = 127,
    _SC_XBS5_LPBIG_OFFBIG___276 = 128,
    _SC_XOPEN_LEGACY___276 = 129,
    _SC_XOPEN_REALTIME___276 = 130,
    _SC_XOPEN_REALTIME_THREADS___276 = 131,
    _SC_ADVISORY_INFO___276 = 132,
    _SC_BARRIERS___276 = 133,
    _SC_BASE___276 = 134,
    _SC_C_LANG_SUPPORT___276 = 135,
    _SC_C_LANG_SUPPORT_R___276 = 136,
    _SC_CLOCK_SELECTION___276 = 137,
    _SC_CPUTIME___276 = 138,
    _SC_THREAD_CPUTIME___276 = 139,
    _SC_DEVICE_IO___276 = 140,
    _SC_DEVICE_SPECIFIC___276 = 141,
    _SC_DEVICE_SPECIFIC_R___276 = 142,
    _SC_FD_MGMT___276 = 143,
    _SC_FIFO___276 = 144,
    _SC_PIPE___276 = 145,
    _SC_FILE_ATTRIBUTES___276 = 146,
    _SC_FILE_LOCKING___276 = 147,
    _SC_FILE_SYSTEM___276 = 148,
    _SC_MONOTONIC_CLOCK___276 = 149,
    _SC_MULTI_PROCESS___276 = 150,
    _SC_SINGLE_PROCESS___276 = 151,
    _SC_NETWORKING___276 = 152,
    _SC_READER_WRITER_LOCKS___276 = 153,
    _SC_SPIN_LOCKS___276 = 154,
    _SC_REGEXP___276 = 155,
    _SC_REGEX_VERSION___276 = 156,
    _SC_SHELL___276 = 157,
    _SC_SIGNALS___276 = 158,
    _SC_SPAWN___276 = 159,
    _SC_SPORADIC_SERVER___276 = 160,
    _SC_THREAD_SPORADIC_SERVER___276 = 161,
    _SC_SYSTEM_DATABASE___276 = 162,
    _SC_SYSTEM_DATABASE_R___276 = 163,
    _SC_TIMEOUTS___276 = 164,
    _SC_TYPED_MEMORY_OBJECTS___276 = 165,
    _SC_USER_GROUPS___276 = 166,
    _SC_USER_GROUPS_R___276 = 167,
    _SC_2_PBS___276 = 168,
    _SC_2_PBS_ACCOUNTING___276 = 169,
    _SC_2_PBS_LOCATE___276 = 170,
    _SC_2_PBS_MESSAGE___276 = 171,
    _SC_2_PBS_TRACK___276 = 172,
    _SC_SYMLOOP_MAX___276 = 173,
    _SC_STREAMS___276 = 174,
    _SC_2_PBS_CHECKPOINT___276 = 175,
    _SC_V6_ILP32_OFF32___276 = 176,
    _SC_V6_ILP32_OFFBIG___276 = 177,
    _SC_V6_LP64_OFF64___276 = 178,
    _SC_V6_LPBIG_OFFBIG___276 = 179,
    _SC_HOST_NAME_MAX___276 = 180,
    _SC_TRACE___276 = 181,
    _SC_TRACE_EVENT_FILTER___276 = 182,
    _SC_TRACE_INHERIT___276 = 183,
    _SC_TRACE_LOG___276 = 184,
    _SC_LEVEL1_ICACHE_SIZE___276 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___276 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___276 = 187,
    _SC_LEVEL1_DCACHE_SIZE___276 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___276 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___276 = 190,
    _SC_LEVEL2_CACHE_SIZE___276 = 191,
    _SC_LEVEL2_CACHE_ASSOC___276 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___276 = 193,
    _SC_LEVEL3_CACHE_SIZE___276 = 194,
    _SC_LEVEL3_CACHE_ASSOC___276 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___276 = 196,
    _SC_LEVEL4_CACHE_SIZE___276 = 197,
    _SC_LEVEL4_CACHE_ASSOC___276 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___276 = 199,
    _SC_IPV6___276 = 235,
    _SC_RAW_SOCKETS___276 = 236,
    _SC_V7_ILP32_OFF32___276 = 237,
    _SC_V7_ILP32_OFFBIG___276 = 238,
    _SC_V7_LP64_OFF64___276 = 239,
    _SC_V7_LPBIG_OFFBIG___276 = 240,
    _SC_SS_REPL_MAX___276 = 241,
    _SC_TRACE_EVENT_NAME_MAX___276 = 242,
    _SC_TRACE_NAME_MAX___276 = 243,
    _SC_TRACE_SYS_MAX___276 = 244,
    _SC_TRACE_USER_EVENT_MAX___276 = 245,
    _SC_XOPEN_STREAMS___276 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___276 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___276 = 248
} ;
enum __anonenum_875524036___276 {
    _CS_PATH___276 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___276 = 1,
    _CS_GNU_LIBC_VERSION___276 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___276 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___276 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___276 = 5,
    _CS_LFS_CFLAGS___276 = 1000,
    _CS_LFS_LDFLAGS___276 = 1001,
    _CS_LFS_LIBS___276 = 1002,
    _CS_LFS_LINTFLAGS___276 = 1003,
    _CS_LFS64_CFLAGS___276 = 1004,
    _CS_LFS64_LDFLAGS___276 = 1005,
    _CS_LFS64_LIBS___276 = 1006,
    _CS_LFS64_LINTFLAGS___276 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___276 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___276 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___276 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___276 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___276 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___276 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___276 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___276 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___276 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___276 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___276 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___276 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___276 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___276 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___276 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___276 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___276 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___276 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___276 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___276 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___276 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___276 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___276 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___276 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___276 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___276 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___276 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___276 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___276 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___276 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___276 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___276 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___276 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___276 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___276 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___276 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___276 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___276 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___276 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___276 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___276 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___276 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___276 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___276 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___276 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___276 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___276 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___276 = 1147,
    _CS_V6_ENV___276 = 1148,
    _CS_V7_ENV___276 = 1149
} ;
enum __anonenum_513775621___276 {
    DT_UNKNOWN___276 = 0,
    DT_FIFO___276 = 1,
    DT_CHR___276 = 2,
    DT_DIR___276 = 4,
    DT_BLK___276 = 6,
    DT_REG___276 = 8,
    DT_LNK___276 = 10,
    DT_SOCK___276 = 12,
    DT_WHT___276 = 14
} ;
enum __anonenum_77002343___276 {
    SI_ASYNCNL___276 = -60,
    SI_TKILL___276 = -6,
    SI_SIGIO___276 = -5,
    SI_ASYNCIO___276 = -4,
    SI_MESGQ___276 = -3,
    SI_TIMER___276 = -2,
    SI_QUEUE___276 = -1,
    SI_USER___276 = 0,
    SI_KERNEL___276 = 128
} ;
enum __anonenum_131038172___276 {
    ILL_ILLOPC___276 = 1,
    ILL_ILLOPN___276 = 2,
    ILL_ILLADR___276 = 3,
    ILL_ILLTRP___276 = 4,
    ILL_PRVOPC___276 = 5,
    ILL_PRVREG___276 = 6,
    ILL_COPROC___276 = 7,
    ILL_BADSTK___276 = 8
} ;
enum __anonenum_452038093___276 {
    FPE_INTDIV___276 = 1,
    FPE_INTOVF___276 = 2,
    FPE_FLTDIV___276 = 3,
    FPE_FLTOVF___276 = 4,
    FPE_FLTUND___276 = 5,
    FPE_FLTRES___276 = 6,
    FPE_FLTINV___276 = 7,
    FPE_FLTSUB___276 = 8
} ;
enum __anonenum_30976155___276 {
    SEGV_MAPERR___276 = 1,
    SEGV_ACCERR___276 = 2,
    SEGV_BNDERR___276 = 3,
    SEGV_PKUERR___276 = 4
} ;
enum __anonenum_1036286214___276 {
    BUS_ADRALN___276 = 1,
    BUS_ADRERR___276 = 2,
    BUS_OBJERR___276 = 3,
    BUS_MCEERR_AR___276 = 4,
    BUS_MCEERR_AO___276 = 5
} ;
enum __anonenum_493465559___276 {
    TRAP_BRKPT___276 = 1,
    TRAP_TRACE___276 = 2
} ;
enum __anonenum_23175539___276 {
    CLD_EXITED___276 = 1,
    CLD_KILLED___276 = 2,
    CLD_DUMPED___276 = 3,
    CLD_TRAPPED___276 = 4,
    CLD_STOPPED___276 = 5,
    CLD_CONTINUED___276 = 6
} ;
enum __anonenum_111643124___276 {
    POLL_IN___276 = 1,
    POLL_OUT___276 = 2,
    POLL_MSG___276 = 3,
    POLL_ERR___276 = 4,
    POLL_PRI___276 = 5,
    POLL_HUP___276 = 6
} ;
enum __anonenum_852341087___276 {
    SIGEV_SIGNAL___276 = 0,
    SIGEV_NONE___276 = 1,
    SIGEV_THREAD___276 = 2,
    SIGEV_THREAD_ID___276 = 4
} ;
enum __anonenum_451154152___276 {
    REG_R8___276 = 0,
    REG_R9___276 = 1,
    REG_R10___276 = 2,
    REG_R11___276 = 3,
    REG_R12___276 = 4,
    REG_R13___276 = 5,
    REG_R14___276 = 6,
    REG_R15___276 = 7,
    REG_RDI___276 = 8,
    REG_RSI___276 = 9,
    REG_RBP___276 = 10,
    REG_RBX___276 = 11,
    REG_RDX___276 = 12,
    REG_RAX___276 = 13,
    REG_RCX___276 = 14,
    REG_RSP___276 = 15,
    REG_RIP___276 = 16,
    REG_EFL___276 = 17,
    REG_CSGSFS___276 = 18,
    REG_ERR___276 = 19,
    REG_TRAPNO___276 = 20,
    REG_OLDMASK___276 = 21,
    REG_CR2___276 = 22
} ;
enum __anonenum_57186863___276 {
    SS_ONSTACK___276 = 1,
    SS_DISABLE___276 = 2
} ;
enum __anonenum_83571709___276 {
    MSG_OOB___276 = 1,
    MSG_PEEK___276 = 2,
    MSG_DONTROUTE___276 = 4,
    MSG_TRYHARD___276 = 4,
    MSG_CTRUNC___276 = 8,
    MSG_PROXY___276 = 16,
    MSG_TRUNC___276 = 32,
    MSG_DONTWAIT___276 = 64,
    MSG_EOR___276 = 128,
    MSG_WAITALL___276 = 256,
    MSG_FIN___276 = 512,
    MSG_SYN___276 = 1024,
    MSG_CONFIRM___276 = 2048,
    MSG_RST___276 = 4096,
    MSG_ERRQUEUE___276 = 8192,
    MSG_NOSIGNAL___276 = 16384,
    MSG_MORE___276 = 32768,
    MSG_WAITFORONE___276 = 65536,
    MSG_BATCH___276 = 262144,
    MSG_ZEROCOPY___276 = 67108864,
    MSG_FASTOPEN___276 = 536870912,
    MSG_CMSG_CLOEXEC___276 = 1073741824
} ;
enum __anonenum_617082774___276 {
    SCM_RIGHTS___276 = 1,
    SCM_CREDENTIALS___276 = 2
} ;
enum __anonenum_606441560___276 {
    SHUT_RD___276 = 0,
    SHUT_WR___276 = 1,
    SHUT_RDWR___276 = 2
} ;
enum __anonenum_681669233___276 {
    IPPROTO_IP___276 = 0,
    IPPROTO_ICMP___276 = 1,
    IPPROTO_IGMP___276 = 2,
    IPPROTO_IPIP___276 = 4,
    IPPROTO_TCP___276 = 6,
    IPPROTO_EGP___276 = 8,
    IPPROTO_PUP___276 = 12,
    IPPROTO_UDP___276 = 17,
    IPPROTO_IDP___276 = 22,
    IPPROTO_TP___276 = 29,
    IPPROTO_DCCP___276 = 33,
    IPPROTO_IPV6___276 = 41,
    IPPROTO_RSVP___276 = 46,
    IPPROTO_GRE___276 = 47,
    IPPROTO_ESP___276 = 50,
    IPPROTO_AH___276 = 51,
    IPPROTO_MTP___276 = 92,
    IPPROTO_BEETPH___276 = 94,
    IPPROTO_ENCAP___276 = 98,
    IPPROTO_PIM___276 = 103,
    IPPROTO_COMP___276 = 108,
    IPPROTO_SCTP___276 = 132,
    IPPROTO_UDPLITE___276 = 136,
    IPPROTO_MPLS___276 = 137,
    IPPROTO_RAW___276 = 255,
    IPPROTO_MAX___276 = 256
} ;
enum __anonenum_218739988___276 {
    IPPROTO_HOPOPTS___276 = 0,
    IPPROTO_ROUTING___276 = 43,
    IPPROTO_FRAGMENT___276 = 44,
    IPPROTO_ICMPV6___276 = 58,
    IPPROTO_NONE___276 = 59,
    IPPROTO_DSTOPTS___276 = 60,
    IPPROTO_MH___276 = 135
} ;
enum __anonenum_662268580___276 {
    IPPORT_ECHO___276 = 7,
    IPPORT_DISCARD___276 = 9,
    IPPORT_SYSTAT___276 = 11,
    IPPORT_DAYTIME___276 = 13,
    IPPORT_NETSTAT___276 = 15,
    IPPORT_FTP___276 = 21,
    IPPORT_TELNET___276 = 23,
    IPPORT_SMTP___276 = 25,
    IPPORT_TIMESERVER___276 = 37,
    IPPORT_NAMESERVER___276 = 42,
    IPPORT_WHOIS___276 = 43,
    IPPORT_MTP___276 = 57,
    IPPORT_TFTP___276 = 69,
    IPPORT_RJE___276 = 77,
    IPPORT_FINGER___276 = 79,
    IPPORT_TTYLINK___276 = 87,
    IPPORT_SUPDUP___276 = 95,
    IPPORT_EXECSERVER___276 = 512,
    IPPORT_LOGINSERVER___276 = 513,
    IPPORT_CMDSERVER___276 = 514,
    IPPORT_EFSSERVER___276 = 520,
    IPPORT_BIFFUDP___276 = 512,
    IPPORT_WHOSERVER___276 = 513,
    IPPORT_ROUTESERVER___276 = 520,
    IPPORT_RESERVED___276 = 1024,
    IPPORT_USERRESERVED___276 = 5000
} ;
enum __anonenum_788308992___276 {
    TCP_ESTABLISHED___276 = 1,
    TCP_SYN_SENT___276 = 2,
    TCP_SYN_RECV___276 = 3,
    TCP_FIN_WAIT1___276 = 4,
    TCP_FIN_WAIT2___276 = 5,
    TCP_TIME_WAIT___276 = 6,
    TCP_CLOSE___276 = 7,
    TCP_CLOSE_WAIT___276 = 8,
    TCP_LAST_ACK___276 = 9,
    TCP_LISTEN___276 = 10,
    TCP_CLOSING___276 = 11
} ;
enum __anonenum_221125648___276 {
    TCP_NO_QUEUE___276 = 0,
    TCP_RECV_QUEUE___276 = 1,
    TCP_SEND_QUEUE___276 = 2,
    TCP_QUEUES_NR___276 = 3
} ;
enum __anonenum_34415463___276 {
    PTHREAD_CREATE_JOINABLE___276 = 0,
    PTHREAD_CREATE_DETACHED___276 = 1
} ;
enum __anonenum_303612439___276 {
    PTHREAD_MUTEX_TIMED_NP___276 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___276 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___276 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___276 = 3,
    PTHREAD_MUTEX_NORMAL___276 = 0,
    PTHREAD_MUTEX_RECURSIVE___276 = 1,
    PTHREAD_MUTEX_ERRORCHECK___276 = 2,
    PTHREAD_MUTEX_DEFAULT___276 = 0,
    PTHREAD_MUTEX_FAST_NP___276 = 0
} ;
enum __anonenum_931900394___276 {
    PTHREAD_MUTEX_STALLED___276 = 0,
    PTHREAD_MUTEX_STALLED_NP___276 = 0,
    PTHREAD_MUTEX_ROBUST___276 = 1,
    PTHREAD_MUTEX_ROBUST_NP___276 = 1
} ;
enum __anonenum_205214487___276 {
    PTHREAD_PRIO_NONE___276 = 0,
    PTHREAD_PRIO_INHERIT___276 = 1,
    PTHREAD_PRIO_PROTECT___276 = 2
} ;
enum __anonenum_25043950___276 {
    PTHREAD_RWLOCK_PREFER_READER_NP___276 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___276 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___276 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___276 = 0
} ;
enum __anonenum_436439511___276 {
    PTHREAD_INHERIT_SCHED___276 = 0,
    PTHREAD_EXPLICIT_SCHED___276 = 1
} ;
enum __anonenum_998661166___276 {
    PTHREAD_SCOPE_SYSTEM___276 = 0,
    PTHREAD_SCOPE_PROCESS___276 = 1
} ;
enum __anonenum_146137331___276 {
    PTHREAD_PROCESS_PRIVATE___276 = 0,
    PTHREAD_PROCESS_SHARED___276 = 1
} ;
enum __anonenum_53396917___276 {
    PTHREAD_CANCEL_ENABLE___276 = 0,
    PTHREAD_CANCEL_DISABLE___276 = 1
} ;
enum __anonenum_904563783___276 {
    PTHREAD_CANCEL_DEFERRED___276 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___276 = 1
} ;
enum __anonenum_672052974___276 {
    SSL_CT_VALIDATION_PERMISSIVE___276 = 0,
    SSL_CT_VALIDATION_STRICT___276 = 1
} ;
struct progress_info {
   struct progress *progress ;
   int blamed_lines ;
};
struct commit_info {
   struct strbuf author ;
   struct strbuf author_mail ;
   timestamp_t author_time ;
   struct strbuf author_tz ;
   struct strbuf committer ;
   struct strbuf committer_mail ;
   timestamp_t committer_time ;
   struct strbuf committer_tz ;
   struct strbuf summary ;
};
struct color_field {
   timestamp_t hop ;
   char col[75] ;
};
enum __anonenum_next_815233789 {
    EXPECT_DATE = 0,
    EXPECT_COLOR = 1
} ;
enum __anonenum_437032235___277 {
    _PC_LINK_MAX___277 = 0,
    _PC_MAX_CANON___277 = 1,
    _PC_MAX_INPUT___277 = 2,
    _PC_NAME_MAX___277 = 3,
    _PC_PATH_MAX___277 = 4,
    _PC_PIPE_BUF___277 = 5,
    _PC_CHOWN_RESTRICTED___277 = 6,
    _PC_NO_TRUNC___277 = 7,
    _PC_VDISABLE___277 = 8,
    _PC_SYNC_IO___277 = 9,
    _PC_ASYNC_IO___277 = 10,
    _PC_PRIO_IO___277 = 11,
    _PC_SOCK_MAXBUF___277 = 12,
    _PC_FILESIZEBITS___277 = 13,
    _PC_REC_INCR_XFER_SIZE___277 = 14,
    _PC_REC_MAX_XFER_SIZE___277 = 15,
    _PC_REC_MIN_XFER_SIZE___277 = 16,
    _PC_REC_XFER_ALIGN___277 = 17,
    _PC_ALLOC_SIZE_MIN___277 = 18,
    _PC_SYMLINK_MAX___277 = 19,
    _PC_2_SYMLINKS___277 = 20
} ;
enum __anonenum_315186338___277 {
    _SC_ARG_MAX___277 = 0,
    _SC_CHILD_MAX___277 = 1,
    _SC_CLK_TCK___277 = 2,
    _SC_NGROUPS_MAX___277 = 3,
    _SC_OPEN_MAX___277 = 4,
    _SC_STREAM_MAX___277 = 5,
    _SC_TZNAME_MAX___277 = 6,
    _SC_JOB_CONTROL___277 = 7,
    _SC_SAVED_IDS___277 = 8,
    _SC_REALTIME_SIGNALS___277 = 9,
    _SC_PRIORITY_SCHEDULING___277 = 10,
    _SC_TIMERS___277 = 11,
    _SC_ASYNCHRONOUS_IO___277 = 12,
    _SC_PRIORITIZED_IO___277 = 13,
    _SC_SYNCHRONIZED_IO___277 = 14,
    _SC_FSYNC___277 = 15,
    _SC_MAPPED_FILES___277 = 16,
    _SC_MEMLOCK___277 = 17,
    _SC_MEMLOCK_RANGE___277 = 18,
    _SC_MEMORY_PROTECTION___277 = 19,
    _SC_MESSAGE_PASSING___277 = 20,
    _SC_SEMAPHORES___277 = 21,
    _SC_SHARED_MEMORY_OBJECTS___277 = 22,
    _SC_AIO_LISTIO_MAX___277 = 23,
    _SC_AIO_MAX___277 = 24,
    _SC_AIO_PRIO_DELTA_MAX___277 = 25,
    _SC_DELAYTIMER_MAX___277 = 26,
    _SC_MQ_OPEN_MAX___277 = 27,
    _SC_MQ_PRIO_MAX___277 = 28,
    _SC_VERSION___277 = 29,
    _SC_PAGESIZE___277 = 30,
    _SC_RTSIG_MAX___277 = 31,
    _SC_SEM_NSEMS_MAX___277 = 32,
    _SC_SEM_VALUE_MAX___277 = 33,
    _SC_SIGQUEUE_MAX___277 = 34,
    _SC_TIMER_MAX___277 = 35,
    _SC_BC_BASE_MAX___277 = 36,
    _SC_BC_DIM_MAX___277 = 37,
    _SC_BC_SCALE_MAX___277 = 38,
    _SC_BC_STRING_MAX___277 = 39,
    _SC_COLL_WEIGHTS_MAX___277 = 40,
    _SC_EQUIV_CLASS_MAX___277 = 41,
    _SC_EXPR_NEST_MAX___277 = 42,
    _SC_LINE_MAX___277 = 43,
    _SC_RE_DUP_MAX___277 = 44,
    _SC_CHARCLASS_NAME_MAX___277 = 45,
    _SC_2_VERSION___277 = 46,
    _SC_2_C_BIND___277 = 47,
    _SC_2_C_DEV___277 = 48,
    _SC_2_FORT_DEV___277 = 49,
    _SC_2_FORT_RUN___277 = 50,
    _SC_2_SW_DEV___277 = 51,
    _SC_2_LOCALEDEF___277 = 52,
    _SC_PII___277 = 53,
    _SC_PII_XTI___277 = 54,
    _SC_PII_SOCKET___277 = 55,
    _SC_PII_INTERNET___277 = 56,
    _SC_PII_OSI___277 = 57,
    _SC_POLL___277 = 58,
    _SC_SELECT___277 = 59,
    _SC_UIO_MAXIOV___277 = 60,
    _SC_IOV_MAX___277 = 60,
    _SC_PII_INTERNET_STREAM___277 = 61,
    _SC_PII_INTERNET_DGRAM___277 = 62,
    _SC_PII_OSI_COTS___277 = 63,
    _SC_PII_OSI_CLTS___277 = 64,
    _SC_PII_OSI_M___277 = 65,
    _SC_T_IOV_MAX___277 = 66,
    _SC_THREADS___277 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___277 = 68,
    _SC_GETGR_R_SIZE_MAX___277 = 69,
    _SC_GETPW_R_SIZE_MAX___277 = 70,
    _SC_LOGIN_NAME_MAX___277 = 71,
    _SC_TTY_NAME_MAX___277 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___277 = 73,
    _SC_THREAD_KEYS_MAX___277 = 74,
    _SC_THREAD_STACK_MIN___277 = 75,
    _SC_THREAD_THREADS_MAX___277 = 76,
    _SC_THREAD_ATTR_STACKADDR___277 = 77,
    _SC_THREAD_ATTR_STACKSIZE___277 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___277 = 79,
    _SC_THREAD_PRIO_INHERIT___277 = 80,
    _SC_THREAD_PRIO_PROTECT___277 = 81,
    _SC_THREAD_PROCESS_SHARED___277 = 82,
    _SC_NPROCESSORS_CONF___277 = 83,
    _SC_NPROCESSORS_ONLN___277 = 84,
    _SC_PHYS_PAGES___277 = 85,
    _SC_AVPHYS_PAGES___277 = 86,
    _SC_ATEXIT_MAX___277 = 87,
    _SC_PASS_MAX___277 = 88,
    _SC_XOPEN_VERSION___277 = 89,
    _SC_XOPEN_XCU_VERSION___277 = 90,
    _SC_XOPEN_UNIX___277 = 91,
    _SC_XOPEN_CRYPT___277 = 92,
    _SC_XOPEN_ENH_I18N___277 = 93,
    _SC_XOPEN_SHM___277 = 94,
    _SC_2_CHAR_TERM___277 = 95,
    _SC_2_C_VERSION___277 = 96,
    _SC_2_UPE___277 = 97,
    _SC_XOPEN_XPG2___277 = 98,
    _SC_XOPEN_XPG3___277 = 99,
    _SC_XOPEN_XPG4___277 = 100,
    _SC_CHAR_BIT___277 = 101,
    _SC_CHAR_MAX___277 = 102,
    _SC_CHAR_MIN___277 = 103,
    _SC_INT_MAX___277 = 104,
    _SC_INT_MIN___277 = 105,
    _SC_LONG_BIT___277 = 106,
    _SC_WORD_BIT___277 = 107,
    _SC_MB_LEN_MAX___277 = 108,
    _SC_NZERO___277 = 109,
    _SC_SSIZE_MAX___277 = 110,
    _SC_SCHAR_MAX___277 = 111,
    _SC_SCHAR_MIN___277 = 112,
    _SC_SHRT_MAX___277 = 113,
    _SC_SHRT_MIN___277 = 114,
    _SC_UCHAR_MAX___277 = 115,
    _SC_UINT_MAX___277 = 116,
    _SC_ULONG_MAX___277 = 117,
    _SC_USHRT_MAX___277 = 118,
    _SC_NL_ARGMAX___277 = 119,
    _SC_NL_LANGMAX___277 = 120,
    _SC_NL_MSGMAX___277 = 121,
    _SC_NL_NMAX___277 = 122,
    _SC_NL_SETMAX___277 = 123,
    _SC_NL_TEXTMAX___277 = 124,
    _SC_XBS5_ILP32_OFF32___277 = 125,
    _SC_XBS5_ILP32_OFFBIG___277 = 126,
    _SC_XBS5_LP64_OFF64___277 = 127,
    _SC_XBS5_LPBIG_OFFBIG___277 = 128,
    _SC_XOPEN_LEGACY___277 = 129,
    _SC_XOPEN_REALTIME___277 = 130,
    _SC_XOPEN_REALTIME_THREADS___277 = 131,
    _SC_ADVISORY_INFO___277 = 132,
    _SC_BARRIERS___277 = 133,
    _SC_BASE___277 = 134,
    _SC_C_LANG_SUPPORT___277 = 135,
    _SC_C_LANG_SUPPORT_R___277 = 136,
    _SC_CLOCK_SELECTION___277 = 137,
    _SC_CPUTIME___277 = 138,
    _SC_THREAD_CPUTIME___277 = 139,
    _SC_DEVICE_IO___277 = 140,
    _SC_DEVICE_SPECIFIC___277 = 141,
    _SC_DEVICE_SPECIFIC_R___277 = 142,
    _SC_FD_MGMT___277 = 143,
    _SC_FIFO___277 = 144,
    _SC_PIPE___277 = 145,
    _SC_FILE_ATTRIBUTES___277 = 146,
    _SC_FILE_LOCKING___277 = 147,
    _SC_FILE_SYSTEM___277 = 148,
    _SC_MONOTONIC_CLOCK___277 = 149,
    _SC_MULTI_PROCESS___277 = 150,
    _SC_SINGLE_PROCESS___277 = 151,
    _SC_NETWORKING___277 = 152,
    _SC_READER_WRITER_LOCKS___277 = 153,
    _SC_SPIN_LOCKS___277 = 154,
    _SC_REGEXP___277 = 155,
    _SC_REGEX_VERSION___277 = 156,
    _SC_SHELL___277 = 157,
    _SC_SIGNALS___277 = 158,
    _SC_SPAWN___277 = 159,
    _SC_SPORADIC_SERVER___277 = 160,
    _SC_THREAD_SPORADIC_SERVER___277 = 161,
    _SC_SYSTEM_DATABASE___277 = 162,
    _SC_SYSTEM_DATABASE_R___277 = 163,
    _SC_TIMEOUTS___277 = 164,
    _SC_TYPED_MEMORY_OBJECTS___277 = 165,
    _SC_USER_GROUPS___277 = 166,
    _SC_USER_GROUPS_R___277 = 167,
    _SC_2_PBS___277 = 168,
    _SC_2_PBS_ACCOUNTING___277 = 169,
    _SC_2_PBS_LOCATE___277 = 170,
    _SC_2_PBS_MESSAGE___277 = 171,
    _SC_2_PBS_TRACK___277 = 172,
    _SC_SYMLOOP_MAX___277 = 173,
    _SC_STREAMS___277 = 174,
    _SC_2_PBS_CHECKPOINT___277 = 175,
    _SC_V6_ILP32_OFF32___277 = 176,
    _SC_V6_ILP32_OFFBIG___277 = 177,
    _SC_V6_LP64_OFF64___277 = 178,
    _SC_V6_LPBIG_OFFBIG___277 = 179,
    _SC_HOST_NAME_MAX___277 = 180,
    _SC_TRACE___277 = 181,
    _SC_TRACE_EVENT_FILTER___277 = 182,
    _SC_TRACE_INHERIT___277 = 183,
    _SC_TRACE_LOG___277 = 184,
    _SC_LEVEL1_ICACHE_SIZE___277 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___277 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___277 = 187,
    _SC_LEVEL1_DCACHE_SIZE___277 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___277 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___277 = 190,
    _SC_LEVEL2_CACHE_SIZE___277 = 191,
    _SC_LEVEL2_CACHE_ASSOC___277 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___277 = 193,
    _SC_LEVEL3_CACHE_SIZE___277 = 194,
    _SC_LEVEL3_CACHE_ASSOC___277 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___277 = 196,
    _SC_LEVEL4_CACHE_SIZE___277 = 197,
    _SC_LEVEL4_CACHE_ASSOC___277 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___277 = 199,
    _SC_IPV6___277 = 235,
    _SC_RAW_SOCKETS___277 = 236,
    _SC_V7_ILP32_OFF32___277 = 237,
    _SC_V7_ILP32_OFFBIG___277 = 238,
    _SC_V7_LP64_OFF64___277 = 239,
    _SC_V7_LPBIG_OFFBIG___277 = 240,
    _SC_SS_REPL_MAX___277 = 241,
    _SC_TRACE_EVENT_NAME_MAX___277 = 242,
    _SC_TRACE_NAME_MAX___277 = 243,
    _SC_TRACE_SYS_MAX___277 = 244,
    _SC_TRACE_USER_EVENT_MAX___277 = 245,
    _SC_XOPEN_STREAMS___277 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___277 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___277 = 248
} ;
enum __anonenum_875524036___277 {
    _CS_PATH___277 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___277 = 1,
    _CS_GNU_LIBC_VERSION___277 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___277 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___277 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___277 = 5,
    _CS_LFS_CFLAGS___277 = 1000,
    _CS_LFS_LDFLAGS___277 = 1001,
    _CS_LFS_LIBS___277 = 1002,
    _CS_LFS_LINTFLAGS___277 = 1003,
    _CS_LFS64_CFLAGS___277 = 1004,
    _CS_LFS64_LDFLAGS___277 = 1005,
    _CS_LFS64_LIBS___277 = 1006,
    _CS_LFS64_LINTFLAGS___277 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___277 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___277 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___277 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___277 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___277 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___277 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___277 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___277 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___277 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___277 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___277 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___277 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___277 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___277 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___277 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___277 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___277 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___277 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___277 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___277 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___277 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___277 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___277 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___277 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___277 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___277 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___277 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___277 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___277 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___277 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___277 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___277 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___277 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___277 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___277 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___277 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___277 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___277 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___277 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___277 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___277 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___277 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___277 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___277 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___277 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___277 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___277 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___277 = 1147,
    _CS_V6_ENV___277 = 1148,
    _CS_V7_ENV___277 = 1149
} ;
enum __anonenum_513775621___277 {
    DT_UNKNOWN___277 = 0,
    DT_FIFO___277 = 1,
    DT_CHR___277 = 2,
    DT_DIR___277 = 4,
    DT_BLK___277 = 6,
    DT_REG___277 = 8,
    DT_LNK___277 = 10,
    DT_SOCK___277 = 12,
    DT_WHT___277 = 14
} ;
enum __anonenum_77002343___277 {
    SI_ASYNCNL___277 = -60,
    SI_TKILL___277 = -6,
    SI_SIGIO___277 = -5,
    SI_ASYNCIO___277 = -4,
    SI_MESGQ___277 = -3,
    SI_TIMER___277 = -2,
    SI_QUEUE___277 = -1,
    SI_USER___277 = 0,
    SI_KERNEL___277 = 128
} ;
enum __anonenum_131038172___277 {
    ILL_ILLOPC___277 = 1,
    ILL_ILLOPN___277 = 2,
    ILL_ILLADR___277 = 3,
    ILL_ILLTRP___277 = 4,
    ILL_PRVOPC___277 = 5,
    ILL_PRVREG___277 = 6,
    ILL_COPROC___277 = 7,
    ILL_BADSTK___277 = 8
} ;
enum __anonenum_452038093___277 {
    FPE_INTDIV___277 = 1,
    FPE_INTOVF___277 = 2,
    FPE_FLTDIV___277 = 3,
    FPE_FLTOVF___277 = 4,
    FPE_FLTUND___277 = 5,
    FPE_FLTRES___277 = 6,
    FPE_FLTINV___277 = 7,
    FPE_FLTSUB___277 = 8
} ;
enum __anonenum_30976155___277 {
    SEGV_MAPERR___277 = 1,
    SEGV_ACCERR___277 = 2,
    SEGV_BNDERR___277 = 3,
    SEGV_PKUERR___277 = 4
} ;
enum __anonenum_1036286214___277 {
    BUS_ADRALN___277 = 1,
    BUS_ADRERR___277 = 2,
    BUS_OBJERR___277 = 3,
    BUS_MCEERR_AR___277 = 4,
    BUS_MCEERR_AO___277 = 5
} ;
enum __anonenum_493465559___277 {
    TRAP_BRKPT___277 = 1,
    TRAP_TRACE___277 = 2
} ;
enum __anonenum_23175539___277 {
    CLD_EXITED___277 = 1,
    CLD_KILLED___277 = 2,
    CLD_DUMPED___277 = 3,
    CLD_TRAPPED___277 = 4,
    CLD_STOPPED___277 = 5,
    CLD_CONTINUED___277 = 6
} ;
enum __anonenum_111643124___277 {
    POLL_IN___277 = 1,
    POLL_OUT___277 = 2,
    POLL_MSG___277 = 3,
    POLL_ERR___277 = 4,
    POLL_PRI___277 = 5,
    POLL_HUP___277 = 6
} ;
enum __anonenum_852341087___277 {
    SIGEV_SIGNAL___277 = 0,
    SIGEV_NONE___277 = 1,
    SIGEV_THREAD___277 = 2,
    SIGEV_THREAD_ID___277 = 4
} ;
enum __anonenum_451154152___277 {
    REG_R8___277 = 0,
    REG_R9___277 = 1,
    REG_R10___277 = 2,
    REG_R11___277 = 3,
    REG_R12___277 = 4,
    REG_R13___277 = 5,
    REG_R14___277 = 6,
    REG_R15___277 = 7,
    REG_RDI___277 = 8,
    REG_RSI___277 = 9,
    REG_RBP___277 = 10,
    REG_RBX___277 = 11,
    REG_RDX___277 = 12,
    REG_RAX___277 = 13,
    REG_RCX___277 = 14,
    REG_RSP___277 = 15,
    REG_RIP___277 = 16,
    REG_EFL___277 = 17,
    REG_CSGSFS___277 = 18,
    REG_ERR___277 = 19,
    REG_TRAPNO___277 = 20,
    REG_OLDMASK___277 = 21,
    REG_CR2___277 = 22
} ;
enum __anonenum_57186863___277 {
    SS_ONSTACK___277 = 1,
    SS_DISABLE___277 = 2
} ;
enum __anonenum_83571709___277 {
    MSG_OOB___277 = 1,
    MSG_PEEK___277 = 2,
    MSG_DONTROUTE___277 = 4,
    MSG_TRYHARD___277 = 4,
    MSG_CTRUNC___277 = 8,
    MSG_PROXY___277 = 16,
    MSG_TRUNC___277 = 32,
    MSG_DONTWAIT___277 = 64,
    MSG_EOR___277 = 128,
    MSG_WAITALL___277 = 256,
    MSG_FIN___277 = 512,
    MSG_SYN___277 = 1024,
    MSG_CONFIRM___277 = 2048,
    MSG_RST___277 = 4096,
    MSG_ERRQUEUE___277 = 8192,
    MSG_NOSIGNAL___277 = 16384,
    MSG_MORE___277 = 32768,
    MSG_WAITFORONE___277 = 65536,
    MSG_BATCH___277 = 262144,
    MSG_ZEROCOPY___277 = 67108864,
    MSG_FASTOPEN___277 = 536870912,
    MSG_CMSG_CLOEXEC___277 = 1073741824
} ;
enum __anonenum_617082774___277 {
    SCM_RIGHTS___277 = 1,
    SCM_CREDENTIALS___277 = 2
} ;
enum __anonenum_606441560___277 {
    SHUT_RD___277 = 0,
    SHUT_WR___277 = 1,
    SHUT_RDWR___277 = 2
} ;
enum __anonenum_681669233___277 {
    IPPROTO_IP___277 = 0,
    IPPROTO_ICMP___277 = 1,
    IPPROTO_IGMP___277 = 2,
    IPPROTO_IPIP___277 = 4,
    IPPROTO_TCP___277 = 6,
    IPPROTO_EGP___277 = 8,
    IPPROTO_PUP___277 = 12,
    IPPROTO_UDP___277 = 17,
    IPPROTO_IDP___277 = 22,
    IPPROTO_TP___277 = 29,
    IPPROTO_DCCP___277 = 33,
    IPPROTO_IPV6___277 = 41,
    IPPROTO_RSVP___277 = 46,
    IPPROTO_GRE___277 = 47,
    IPPROTO_ESP___277 = 50,
    IPPROTO_AH___277 = 51,
    IPPROTO_MTP___277 = 92,
    IPPROTO_BEETPH___277 = 94,
    IPPROTO_ENCAP___277 = 98,
    IPPROTO_PIM___277 = 103,
    IPPROTO_COMP___277 = 108,
    IPPROTO_SCTP___277 = 132,
    IPPROTO_UDPLITE___277 = 136,
    IPPROTO_MPLS___277 = 137,
    IPPROTO_RAW___277 = 255,
    IPPROTO_MAX___277 = 256
} ;
enum __anonenum_218739988___277 {
    IPPROTO_HOPOPTS___277 = 0,
    IPPROTO_ROUTING___277 = 43,
    IPPROTO_FRAGMENT___277 = 44,
    IPPROTO_ICMPV6___277 = 58,
    IPPROTO_NONE___277 = 59,
    IPPROTO_DSTOPTS___277 = 60,
    IPPROTO_MH___277 = 135
} ;
enum __anonenum_662268580___277 {
    IPPORT_ECHO___277 = 7,
    IPPORT_DISCARD___277 = 9,
    IPPORT_SYSTAT___277 = 11,
    IPPORT_DAYTIME___277 = 13,
    IPPORT_NETSTAT___277 = 15,
    IPPORT_FTP___277 = 21,
    IPPORT_TELNET___277 = 23,
    IPPORT_SMTP___277 = 25,
    IPPORT_TIMESERVER___277 = 37,
    IPPORT_NAMESERVER___277 = 42,
    IPPORT_WHOIS___277 = 43,
    IPPORT_MTP___277 = 57,
    IPPORT_TFTP___277 = 69,
    IPPORT_RJE___277 = 77,
    IPPORT_FINGER___277 = 79,
    IPPORT_TTYLINK___277 = 87,
    IPPORT_SUPDUP___277 = 95,
    IPPORT_EXECSERVER___277 = 512,
    IPPORT_LOGINSERVER___277 = 513,
    IPPORT_CMDSERVER___277 = 514,
    IPPORT_EFSSERVER___277 = 520,
    IPPORT_BIFFUDP___277 = 512,
    IPPORT_WHOSERVER___277 = 513,
    IPPORT_ROUTESERVER___277 = 520,
    IPPORT_RESERVED___277 = 1024,
    IPPORT_USERRESERVED___277 = 5000
} ;
enum __anonenum_788308992___277 {
    TCP_ESTABLISHED___277 = 1,
    TCP_SYN_SENT___277 = 2,
    TCP_SYN_RECV___277 = 3,
    TCP_FIN_WAIT1___277 = 4,
    TCP_FIN_WAIT2___277 = 5,
    TCP_TIME_WAIT___277 = 6,
    TCP_CLOSE___277 = 7,
    TCP_CLOSE_WAIT___277 = 8,
    TCP_LAST_ACK___277 = 9,
    TCP_LISTEN___277 = 10,
    TCP_CLOSING___277 = 11
} ;
enum __anonenum_221125648___277 {
    TCP_NO_QUEUE___277 = 0,
    TCP_RECV_QUEUE___277 = 1,
    TCP_SEND_QUEUE___277 = 2,
    TCP_QUEUES_NR___277 = 3
} ;
enum __anonenum_34415463___277 {
    PTHREAD_CREATE_JOINABLE___277 = 0,
    PTHREAD_CREATE_DETACHED___277 = 1
} ;
enum __anonenum_303612439___277 {
    PTHREAD_MUTEX_TIMED_NP___277 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___277 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___277 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___277 = 3,
    PTHREAD_MUTEX_NORMAL___277 = 0,
    PTHREAD_MUTEX_RECURSIVE___277 = 1,
    PTHREAD_MUTEX_ERRORCHECK___277 = 2,
    PTHREAD_MUTEX_DEFAULT___277 = 0,
    PTHREAD_MUTEX_FAST_NP___277 = 0
} ;
enum __anonenum_931900394___277 {
    PTHREAD_MUTEX_STALLED___277 = 0,
    PTHREAD_MUTEX_STALLED_NP___277 = 0,
    PTHREAD_MUTEX_ROBUST___277 = 1,
    PTHREAD_MUTEX_ROBUST_NP___277 = 1
} ;
enum __anonenum_205214487___277 {
    PTHREAD_PRIO_NONE___277 = 0,
    PTHREAD_PRIO_INHERIT___277 = 1,
    PTHREAD_PRIO_PROTECT___277 = 2
} ;
enum __anonenum_25043950___277 {
    PTHREAD_RWLOCK_PREFER_READER_NP___277 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___277 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___277 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___277 = 0
} ;
enum __anonenum_436439511___277 {
    PTHREAD_INHERIT_SCHED___277 = 0,
    PTHREAD_EXPLICIT_SCHED___277 = 1
} ;
enum __anonenum_998661166___277 {
    PTHREAD_SCOPE_SYSTEM___277 = 0,
    PTHREAD_SCOPE_PROCESS___277 = 1
} ;
enum __anonenum_146137331___277 {
    PTHREAD_PROCESS_PRIVATE___277 = 0,
    PTHREAD_PROCESS_SHARED___277 = 1
} ;
enum __anonenum_53396917___277 {
    PTHREAD_CANCEL_ENABLE___277 = 0,
    PTHREAD_CANCEL_DISABLE___277 = 1
} ;
enum __anonenum_904563783___277 {
    PTHREAD_CANCEL_DEFERRED___277 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___277 = 1
} ;
enum __anonenum_672052974___277 {
    SSL_CT_VALIDATION_PERMISSIVE___277 = 0,
    SSL_CT_VALIDATION_STRICT___277 = 1
} ;
enum __anonenum_34023289___25 {
    REMOTE_UNCONFIGURED___25 = 0,
    REMOTE_CONFIG___25 = 1,
    REMOTE_REMOTES___25 = 2,
    REMOTE_BRANCHES___25 = 3
} ;
enum color_branch {
    BRANCH_COLOR_RESET = 0,
    BRANCH_COLOR_PLAIN = 1,
    BRANCH_COLOR_REMOTE = 2,
    BRANCH_COLOR_LOCAL = 3,
    BRANCH_COLOR_CURRENT = 4,
    BRANCH_COLOR_UPSTREAM = 5,
    BRANCH_COLOR_WORKTREE = 6
} ;
enum __anonenum_437032235___278 {
    _PC_LINK_MAX___278 = 0,
    _PC_MAX_CANON___278 = 1,
    _PC_MAX_INPUT___278 = 2,
    _PC_NAME_MAX___278 = 3,
    _PC_PATH_MAX___278 = 4,
    _PC_PIPE_BUF___278 = 5,
    _PC_CHOWN_RESTRICTED___278 = 6,
    _PC_NO_TRUNC___278 = 7,
    _PC_VDISABLE___278 = 8,
    _PC_SYNC_IO___278 = 9,
    _PC_ASYNC_IO___278 = 10,
    _PC_PRIO_IO___278 = 11,
    _PC_SOCK_MAXBUF___278 = 12,
    _PC_FILESIZEBITS___278 = 13,
    _PC_REC_INCR_XFER_SIZE___278 = 14,
    _PC_REC_MAX_XFER_SIZE___278 = 15,
    _PC_REC_MIN_XFER_SIZE___278 = 16,
    _PC_REC_XFER_ALIGN___278 = 17,
    _PC_ALLOC_SIZE_MIN___278 = 18,
    _PC_SYMLINK_MAX___278 = 19,
    _PC_2_SYMLINKS___278 = 20
} ;
enum __anonenum_315186338___278 {
    _SC_ARG_MAX___278 = 0,
    _SC_CHILD_MAX___278 = 1,
    _SC_CLK_TCK___278 = 2,
    _SC_NGROUPS_MAX___278 = 3,
    _SC_OPEN_MAX___278 = 4,
    _SC_STREAM_MAX___278 = 5,
    _SC_TZNAME_MAX___278 = 6,
    _SC_JOB_CONTROL___278 = 7,
    _SC_SAVED_IDS___278 = 8,
    _SC_REALTIME_SIGNALS___278 = 9,
    _SC_PRIORITY_SCHEDULING___278 = 10,
    _SC_TIMERS___278 = 11,
    _SC_ASYNCHRONOUS_IO___278 = 12,
    _SC_PRIORITIZED_IO___278 = 13,
    _SC_SYNCHRONIZED_IO___278 = 14,
    _SC_FSYNC___278 = 15,
    _SC_MAPPED_FILES___278 = 16,
    _SC_MEMLOCK___278 = 17,
    _SC_MEMLOCK_RANGE___278 = 18,
    _SC_MEMORY_PROTECTION___278 = 19,
    _SC_MESSAGE_PASSING___278 = 20,
    _SC_SEMAPHORES___278 = 21,
    _SC_SHARED_MEMORY_OBJECTS___278 = 22,
    _SC_AIO_LISTIO_MAX___278 = 23,
    _SC_AIO_MAX___278 = 24,
    _SC_AIO_PRIO_DELTA_MAX___278 = 25,
    _SC_DELAYTIMER_MAX___278 = 26,
    _SC_MQ_OPEN_MAX___278 = 27,
    _SC_MQ_PRIO_MAX___278 = 28,
    _SC_VERSION___278 = 29,
    _SC_PAGESIZE___278 = 30,
    _SC_RTSIG_MAX___278 = 31,
    _SC_SEM_NSEMS_MAX___278 = 32,
    _SC_SEM_VALUE_MAX___278 = 33,
    _SC_SIGQUEUE_MAX___278 = 34,
    _SC_TIMER_MAX___278 = 35,
    _SC_BC_BASE_MAX___278 = 36,
    _SC_BC_DIM_MAX___278 = 37,
    _SC_BC_SCALE_MAX___278 = 38,
    _SC_BC_STRING_MAX___278 = 39,
    _SC_COLL_WEIGHTS_MAX___278 = 40,
    _SC_EQUIV_CLASS_MAX___278 = 41,
    _SC_EXPR_NEST_MAX___278 = 42,
    _SC_LINE_MAX___278 = 43,
    _SC_RE_DUP_MAX___278 = 44,
    _SC_CHARCLASS_NAME_MAX___278 = 45,
    _SC_2_VERSION___278 = 46,
    _SC_2_C_BIND___278 = 47,
    _SC_2_C_DEV___278 = 48,
    _SC_2_FORT_DEV___278 = 49,
    _SC_2_FORT_RUN___278 = 50,
    _SC_2_SW_DEV___278 = 51,
    _SC_2_LOCALEDEF___278 = 52,
    _SC_PII___278 = 53,
    _SC_PII_XTI___278 = 54,
    _SC_PII_SOCKET___278 = 55,
    _SC_PII_INTERNET___278 = 56,
    _SC_PII_OSI___278 = 57,
    _SC_POLL___278 = 58,
    _SC_SELECT___278 = 59,
    _SC_UIO_MAXIOV___278 = 60,
    _SC_IOV_MAX___278 = 60,
    _SC_PII_INTERNET_STREAM___278 = 61,
    _SC_PII_INTERNET_DGRAM___278 = 62,
    _SC_PII_OSI_COTS___278 = 63,
    _SC_PII_OSI_CLTS___278 = 64,
    _SC_PII_OSI_M___278 = 65,
    _SC_T_IOV_MAX___278 = 66,
    _SC_THREADS___278 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___278 = 68,
    _SC_GETGR_R_SIZE_MAX___278 = 69,
    _SC_GETPW_R_SIZE_MAX___278 = 70,
    _SC_LOGIN_NAME_MAX___278 = 71,
    _SC_TTY_NAME_MAX___278 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___278 = 73,
    _SC_THREAD_KEYS_MAX___278 = 74,
    _SC_THREAD_STACK_MIN___278 = 75,
    _SC_THREAD_THREADS_MAX___278 = 76,
    _SC_THREAD_ATTR_STACKADDR___278 = 77,
    _SC_THREAD_ATTR_STACKSIZE___278 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___278 = 79,
    _SC_THREAD_PRIO_INHERIT___278 = 80,
    _SC_THREAD_PRIO_PROTECT___278 = 81,
    _SC_THREAD_PROCESS_SHARED___278 = 82,
    _SC_NPROCESSORS_CONF___278 = 83,
    _SC_NPROCESSORS_ONLN___278 = 84,
    _SC_PHYS_PAGES___278 = 85,
    _SC_AVPHYS_PAGES___278 = 86,
    _SC_ATEXIT_MAX___278 = 87,
    _SC_PASS_MAX___278 = 88,
    _SC_XOPEN_VERSION___278 = 89,
    _SC_XOPEN_XCU_VERSION___278 = 90,
    _SC_XOPEN_UNIX___278 = 91,
    _SC_XOPEN_CRYPT___278 = 92,
    _SC_XOPEN_ENH_I18N___278 = 93,
    _SC_XOPEN_SHM___278 = 94,
    _SC_2_CHAR_TERM___278 = 95,
    _SC_2_C_VERSION___278 = 96,
    _SC_2_UPE___278 = 97,
    _SC_XOPEN_XPG2___278 = 98,
    _SC_XOPEN_XPG3___278 = 99,
    _SC_XOPEN_XPG4___278 = 100,
    _SC_CHAR_BIT___278 = 101,
    _SC_CHAR_MAX___278 = 102,
    _SC_CHAR_MIN___278 = 103,
    _SC_INT_MAX___278 = 104,
    _SC_INT_MIN___278 = 105,
    _SC_LONG_BIT___278 = 106,
    _SC_WORD_BIT___278 = 107,
    _SC_MB_LEN_MAX___278 = 108,
    _SC_NZERO___278 = 109,
    _SC_SSIZE_MAX___278 = 110,
    _SC_SCHAR_MAX___278 = 111,
    _SC_SCHAR_MIN___278 = 112,
    _SC_SHRT_MAX___278 = 113,
    _SC_SHRT_MIN___278 = 114,
    _SC_UCHAR_MAX___278 = 115,
    _SC_UINT_MAX___278 = 116,
    _SC_ULONG_MAX___278 = 117,
    _SC_USHRT_MAX___278 = 118,
    _SC_NL_ARGMAX___278 = 119,
    _SC_NL_LANGMAX___278 = 120,
    _SC_NL_MSGMAX___278 = 121,
    _SC_NL_NMAX___278 = 122,
    _SC_NL_SETMAX___278 = 123,
    _SC_NL_TEXTMAX___278 = 124,
    _SC_XBS5_ILP32_OFF32___278 = 125,
    _SC_XBS5_ILP32_OFFBIG___278 = 126,
    _SC_XBS5_LP64_OFF64___278 = 127,
    _SC_XBS5_LPBIG_OFFBIG___278 = 128,
    _SC_XOPEN_LEGACY___278 = 129,
    _SC_XOPEN_REALTIME___278 = 130,
    _SC_XOPEN_REALTIME_THREADS___278 = 131,
    _SC_ADVISORY_INFO___278 = 132,
    _SC_BARRIERS___278 = 133,
    _SC_BASE___278 = 134,
    _SC_C_LANG_SUPPORT___278 = 135,
    _SC_C_LANG_SUPPORT_R___278 = 136,
    _SC_CLOCK_SELECTION___278 = 137,
    _SC_CPUTIME___278 = 138,
    _SC_THREAD_CPUTIME___278 = 139,
    _SC_DEVICE_IO___278 = 140,
    _SC_DEVICE_SPECIFIC___278 = 141,
    _SC_DEVICE_SPECIFIC_R___278 = 142,
    _SC_FD_MGMT___278 = 143,
    _SC_FIFO___278 = 144,
    _SC_PIPE___278 = 145,
    _SC_FILE_ATTRIBUTES___278 = 146,
    _SC_FILE_LOCKING___278 = 147,
    _SC_FILE_SYSTEM___278 = 148,
    _SC_MONOTONIC_CLOCK___278 = 149,
    _SC_MULTI_PROCESS___278 = 150,
    _SC_SINGLE_PROCESS___278 = 151,
    _SC_NETWORKING___278 = 152,
    _SC_READER_WRITER_LOCKS___278 = 153,
    _SC_SPIN_LOCKS___278 = 154,
    _SC_REGEXP___278 = 155,
    _SC_REGEX_VERSION___278 = 156,
    _SC_SHELL___278 = 157,
    _SC_SIGNALS___278 = 158,
    _SC_SPAWN___278 = 159,
    _SC_SPORADIC_SERVER___278 = 160,
    _SC_THREAD_SPORADIC_SERVER___278 = 161,
    _SC_SYSTEM_DATABASE___278 = 162,
    _SC_SYSTEM_DATABASE_R___278 = 163,
    _SC_TIMEOUTS___278 = 164,
    _SC_TYPED_MEMORY_OBJECTS___278 = 165,
    _SC_USER_GROUPS___278 = 166,
    _SC_USER_GROUPS_R___278 = 167,
    _SC_2_PBS___278 = 168,
    _SC_2_PBS_ACCOUNTING___278 = 169,
    _SC_2_PBS_LOCATE___278 = 170,
    _SC_2_PBS_MESSAGE___278 = 171,
    _SC_2_PBS_TRACK___278 = 172,
    _SC_SYMLOOP_MAX___278 = 173,
    _SC_STREAMS___278 = 174,
    _SC_2_PBS_CHECKPOINT___278 = 175,
    _SC_V6_ILP32_OFF32___278 = 176,
    _SC_V6_ILP32_OFFBIG___278 = 177,
    _SC_V6_LP64_OFF64___278 = 178,
    _SC_V6_LPBIG_OFFBIG___278 = 179,
    _SC_HOST_NAME_MAX___278 = 180,
    _SC_TRACE___278 = 181,
    _SC_TRACE_EVENT_FILTER___278 = 182,
    _SC_TRACE_INHERIT___278 = 183,
    _SC_TRACE_LOG___278 = 184,
    _SC_LEVEL1_ICACHE_SIZE___278 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___278 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___278 = 187,
    _SC_LEVEL1_DCACHE_SIZE___278 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___278 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___278 = 190,
    _SC_LEVEL2_CACHE_SIZE___278 = 191,
    _SC_LEVEL2_CACHE_ASSOC___278 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___278 = 193,
    _SC_LEVEL3_CACHE_SIZE___278 = 194,
    _SC_LEVEL3_CACHE_ASSOC___278 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___278 = 196,
    _SC_LEVEL4_CACHE_SIZE___278 = 197,
    _SC_LEVEL4_CACHE_ASSOC___278 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___278 = 199,
    _SC_IPV6___278 = 235,
    _SC_RAW_SOCKETS___278 = 236,
    _SC_V7_ILP32_OFF32___278 = 237,
    _SC_V7_ILP32_OFFBIG___278 = 238,
    _SC_V7_LP64_OFF64___278 = 239,
    _SC_V7_LPBIG_OFFBIG___278 = 240,
    _SC_SS_REPL_MAX___278 = 241,
    _SC_TRACE_EVENT_NAME_MAX___278 = 242,
    _SC_TRACE_NAME_MAX___278 = 243,
    _SC_TRACE_SYS_MAX___278 = 244,
    _SC_TRACE_USER_EVENT_MAX___278 = 245,
    _SC_XOPEN_STREAMS___278 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___278 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___278 = 248
} ;
enum __anonenum_875524036___278 {
    _CS_PATH___278 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___278 = 1,
    _CS_GNU_LIBC_VERSION___278 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___278 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___278 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___278 = 5,
    _CS_LFS_CFLAGS___278 = 1000,
    _CS_LFS_LDFLAGS___278 = 1001,
    _CS_LFS_LIBS___278 = 1002,
    _CS_LFS_LINTFLAGS___278 = 1003,
    _CS_LFS64_CFLAGS___278 = 1004,
    _CS_LFS64_LDFLAGS___278 = 1005,
    _CS_LFS64_LIBS___278 = 1006,
    _CS_LFS64_LINTFLAGS___278 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___278 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___278 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___278 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___278 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___278 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___278 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___278 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___278 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___278 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___278 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___278 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___278 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___278 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___278 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___278 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___278 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___278 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___278 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___278 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___278 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___278 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___278 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___278 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___278 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___278 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___278 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___278 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___278 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___278 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___278 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___278 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___278 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___278 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___278 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___278 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___278 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___278 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___278 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___278 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___278 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___278 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___278 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___278 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___278 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___278 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___278 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___278 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___278 = 1147,
    _CS_V6_ENV___278 = 1148,
    _CS_V7_ENV___278 = 1149
} ;
enum __anonenum_513775621___278 {
    DT_UNKNOWN___278 = 0,
    DT_FIFO___278 = 1,
    DT_CHR___278 = 2,
    DT_DIR___278 = 4,
    DT_BLK___278 = 6,
    DT_REG___278 = 8,
    DT_LNK___278 = 10,
    DT_SOCK___278 = 12,
    DT_WHT___278 = 14
} ;
enum __anonenum_77002343___278 {
    SI_ASYNCNL___278 = -60,
    SI_TKILL___278 = -6,
    SI_SIGIO___278 = -5,
    SI_ASYNCIO___278 = -4,
    SI_MESGQ___278 = -3,
    SI_TIMER___278 = -2,
    SI_QUEUE___278 = -1,
    SI_USER___278 = 0,
    SI_KERNEL___278 = 128
} ;
enum __anonenum_131038172___278 {
    ILL_ILLOPC___278 = 1,
    ILL_ILLOPN___278 = 2,
    ILL_ILLADR___278 = 3,
    ILL_ILLTRP___278 = 4,
    ILL_PRVOPC___278 = 5,
    ILL_PRVREG___278 = 6,
    ILL_COPROC___278 = 7,
    ILL_BADSTK___278 = 8
} ;
enum __anonenum_452038093___278 {
    FPE_INTDIV___278 = 1,
    FPE_INTOVF___278 = 2,
    FPE_FLTDIV___278 = 3,
    FPE_FLTOVF___278 = 4,
    FPE_FLTUND___278 = 5,
    FPE_FLTRES___278 = 6,
    FPE_FLTINV___278 = 7,
    FPE_FLTSUB___278 = 8
} ;
enum __anonenum_30976155___278 {
    SEGV_MAPERR___278 = 1,
    SEGV_ACCERR___278 = 2,
    SEGV_BNDERR___278 = 3,
    SEGV_PKUERR___278 = 4
} ;
enum __anonenum_1036286214___278 {
    BUS_ADRALN___278 = 1,
    BUS_ADRERR___278 = 2,
    BUS_OBJERR___278 = 3,
    BUS_MCEERR_AR___278 = 4,
    BUS_MCEERR_AO___278 = 5
} ;
enum __anonenum_493465559___278 {
    TRAP_BRKPT___278 = 1,
    TRAP_TRACE___278 = 2
} ;
enum __anonenum_23175539___278 {
    CLD_EXITED___278 = 1,
    CLD_KILLED___278 = 2,
    CLD_DUMPED___278 = 3,
    CLD_TRAPPED___278 = 4,
    CLD_STOPPED___278 = 5,
    CLD_CONTINUED___278 = 6
} ;
enum __anonenum_111643124___278 {
    POLL_IN___278 = 1,
    POLL_OUT___278 = 2,
    POLL_MSG___278 = 3,
    POLL_ERR___278 = 4,
    POLL_PRI___278 = 5,
    POLL_HUP___278 = 6
} ;
enum __anonenum_852341087___278 {
    SIGEV_SIGNAL___278 = 0,
    SIGEV_NONE___278 = 1,
    SIGEV_THREAD___278 = 2,
    SIGEV_THREAD_ID___278 = 4
} ;
enum __anonenum_451154152___278 {
    REG_R8___278 = 0,
    REG_R9___278 = 1,
    REG_R10___278 = 2,
    REG_R11___278 = 3,
    REG_R12___278 = 4,
    REG_R13___278 = 5,
    REG_R14___278 = 6,
    REG_R15___278 = 7,
    REG_RDI___278 = 8,
    REG_RSI___278 = 9,
    REG_RBP___278 = 10,
    REG_RBX___278 = 11,
    REG_RDX___278 = 12,
    REG_RAX___278 = 13,
    REG_RCX___278 = 14,
    REG_RSP___278 = 15,
    REG_RIP___278 = 16,
    REG_EFL___278 = 17,
    REG_CSGSFS___278 = 18,
    REG_ERR___278 = 19,
    REG_TRAPNO___278 = 20,
    REG_OLDMASK___278 = 21,
    REG_CR2___278 = 22
} ;
enum __anonenum_57186863___278 {
    SS_ONSTACK___278 = 1,
    SS_DISABLE___278 = 2
} ;
enum __anonenum_83571709___278 {
    MSG_OOB___278 = 1,
    MSG_PEEK___278 = 2,
    MSG_DONTROUTE___278 = 4,
    MSG_TRYHARD___278 = 4,
    MSG_CTRUNC___278 = 8,
    MSG_PROXY___278 = 16,
    MSG_TRUNC___278 = 32,
    MSG_DONTWAIT___278 = 64,
    MSG_EOR___278 = 128,
    MSG_WAITALL___278 = 256,
    MSG_FIN___278 = 512,
    MSG_SYN___278 = 1024,
    MSG_CONFIRM___278 = 2048,
    MSG_RST___278 = 4096,
    MSG_ERRQUEUE___278 = 8192,
    MSG_NOSIGNAL___278 = 16384,
    MSG_MORE___278 = 32768,
    MSG_WAITFORONE___278 = 65536,
    MSG_BATCH___278 = 262144,
    MSG_ZEROCOPY___278 = 67108864,
    MSG_FASTOPEN___278 = 536870912,
    MSG_CMSG_CLOEXEC___278 = 1073741824
} ;
enum __anonenum_617082774___278 {
    SCM_RIGHTS___278 = 1,
    SCM_CREDENTIALS___278 = 2
} ;
enum __anonenum_606441560___278 {
    SHUT_RD___278 = 0,
    SHUT_WR___278 = 1,
    SHUT_RDWR___278 = 2
} ;
enum __anonenum_681669233___278 {
    IPPROTO_IP___278 = 0,
    IPPROTO_ICMP___278 = 1,
    IPPROTO_IGMP___278 = 2,
    IPPROTO_IPIP___278 = 4,
    IPPROTO_TCP___278 = 6,
    IPPROTO_EGP___278 = 8,
    IPPROTO_PUP___278 = 12,
    IPPROTO_UDP___278 = 17,
    IPPROTO_IDP___278 = 22,
    IPPROTO_TP___278 = 29,
    IPPROTO_DCCP___278 = 33,
    IPPROTO_IPV6___278 = 41,
    IPPROTO_RSVP___278 = 46,
    IPPROTO_GRE___278 = 47,
    IPPROTO_ESP___278 = 50,
    IPPROTO_AH___278 = 51,
    IPPROTO_MTP___278 = 92,
    IPPROTO_BEETPH___278 = 94,
    IPPROTO_ENCAP___278 = 98,
    IPPROTO_PIM___278 = 103,
    IPPROTO_COMP___278 = 108,
    IPPROTO_SCTP___278 = 132,
    IPPROTO_UDPLITE___278 = 136,
    IPPROTO_MPLS___278 = 137,
    IPPROTO_RAW___278 = 255,
    IPPROTO_MAX___278 = 256
} ;
enum __anonenum_218739988___278 {
    IPPROTO_HOPOPTS___278 = 0,
    IPPROTO_ROUTING___278 = 43,
    IPPROTO_FRAGMENT___278 = 44,
    IPPROTO_ICMPV6___278 = 58,
    IPPROTO_NONE___278 = 59,
    IPPROTO_DSTOPTS___278 = 60,
    IPPROTO_MH___278 = 135
} ;
enum __anonenum_662268580___278 {
    IPPORT_ECHO___278 = 7,
    IPPORT_DISCARD___278 = 9,
    IPPORT_SYSTAT___278 = 11,
    IPPORT_DAYTIME___278 = 13,
    IPPORT_NETSTAT___278 = 15,
    IPPORT_FTP___278 = 21,
    IPPORT_TELNET___278 = 23,
    IPPORT_SMTP___278 = 25,
    IPPORT_TIMESERVER___278 = 37,
    IPPORT_NAMESERVER___278 = 42,
    IPPORT_WHOIS___278 = 43,
    IPPORT_MTP___278 = 57,
    IPPORT_TFTP___278 = 69,
    IPPORT_RJE___278 = 77,
    IPPORT_FINGER___278 = 79,
    IPPORT_TTYLINK___278 = 87,
    IPPORT_SUPDUP___278 = 95,
    IPPORT_EXECSERVER___278 = 512,
    IPPORT_LOGINSERVER___278 = 513,
    IPPORT_CMDSERVER___278 = 514,
    IPPORT_EFSSERVER___278 = 520,
    IPPORT_BIFFUDP___278 = 512,
    IPPORT_WHOSERVER___278 = 513,
    IPPORT_ROUTESERVER___278 = 520,
    IPPORT_RESERVED___278 = 1024,
    IPPORT_USERRESERVED___278 = 5000
} ;
enum __anonenum_788308992___278 {
    TCP_ESTABLISHED___278 = 1,
    TCP_SYN_SENT___278 = 2,
    TCP_SYN_RECV___278 = 3,
    TCP_FIN_WAIT1___278 = 4,
    TCP_FIN_WAIT2___278 = 5,
    TCP_TIME_WAIT___278 = 6,
    TCP_CLOSE___278 = 7,
    TCP_CLOSE_WAIT___278 = 8,
    TCP_LAST_ACK___278 = 9,
    TCP_LISTEN___278 = 10,
    TCP_CLOSING___278 = 11
} ;
enum __anonenum_221125648___278 {
    TCP_NO_QUEUE___278 = 0,
    TCP_RECV_QUEUE___278 = 1,
    TCP_SEND_QUEUE___278 = 2,
    TCP_QUEUES_NR___278 = 3
} ;
enum __anonenum_34415463___278 {
    PTHREAD_CREATE_JOINABLE___278 = 0,
    PTHREAD_CREATE_DETACHED___278 = 1
} ;
enum __anonenum_303612439___278 {
    PTHREAD_MUTEX_TIMED_NP___278 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___278 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___278 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___278 = 3,
    PTHREAD_MUTEX_NORMAL___278 = 0,
    PTHREAD_MUTEX_RECURSIVE___278 = 1,
    PTHREAD_MUTEX_ERRORCHECK___278 = 2,
    PTHREAD_MUTEX_DEFAULT___278 = 0,
    PTHREAD_MUTEX_FAST_NP___278 = 0
} ;
enum __anonenum_931900394___278 {
    PTHREAD_MUTEX_STALLED___278 = 0,
    PTHREAD_MUTEX_STALLED_NP___278 = 0,
    PTHREAD_MUTEX_ROBUST___278 = 1,
    PTHREAD_MUTEX_ROBUST_NP___278 = 1
} ;
enum __anonenum_205214487___278 {
    PTHREAD_PRIO_NONE___278 = 0,
    PTHREAD_PRIO_INHERIT___278 = 1,
    PTHREAD_PRIO_PROTECT___278 = 2
} ;
enum __anonenum_25043950___278 {
    PTHREAD_RWLOCK_PREFER_READER_NP___278 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___278 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___278 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___278 = 0
} ;
enum __anonenum_436439511___278 {
    PTHREAD_INHERIT_SCHED___278 = 0,
    PTHREAD_EXPLICIT_SCHED___278 = 1
} ;
enum __anonenum_998661166___278 {
    PTHREAD_SCOPE_SYSTEM___278 = 0,
    PTHREAD_SCOPE_PROCESS___278 = 1
} ;
enum __anonenum_146137331___278 {
    PTHREAD_PROCESS_PRIVATE___278 = 0,
    PTHREAD_PROCESS_SHARED___278 = 1
} ;
enum __anonenum_53396917___278 {
    PTHREAD_CANCEL_ENABLE___278 = 0,
    PTHREAD_CANCEL_DISABLE___278 = 1
} ;
enum __anonenum_904563783___278 {
    PTHREAD_CANCEL_DEFERRED___278 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___278 = 1
} ;
enum __anonenum_672052974___278 {
    SSL_CT_VALIDATION_PERMISSIVE___278 = 0,
    SSL_CT_VALIDATION_STRICT___278 = 1
} ;
enum __anonenum_437032235___279 {
    _PC_LINK_MAX___279 = 0,
    _PC_MAX_CANON___279 = 1,
    _PC_MAX_INPUT___279 = 2,
    _PC_NAME_MAX___279 = 3,
    _PC_PATH_MAX___279 = 4,
    _PC_PIPE_BUF___279 = 5,
    _PC_CHOWN_RESTRICTED___279 = 6,
    _PC_NO_TRUNC___279 = 7,
    _PC_VDISABLE___279 = 8,
    _PC_SYNC_IO___279 = 9,
    _PC_ASYNC_IO___279 = 10,
    _PC_PRIO_IO___279 = 11,
    _PC_SOCK_MAXBUF___279 = 12,
    _PC_FILESIZEBITS___279 = 13,
    _PC_REC_INCR_XFER_SIZE___279 = 14,
    _PC_REC_MAX_XFER_SIZE___279 = 15,
    _PC_REC_MIN_XFER_SIZE___279 = 16,
    _PC_REC_XFER_ALIGN___279 = 17,
    _PC_ALLOC_SIZE_MIN___279 = 18,
    _PC_SYMLINK_MAX___279 = 19,
    _PC_2_SYMLINKS___279 = 20
} ;
enum __anonenum_315186338___279 {
    _SC_ARG_MAX___279 = 0,
    _SC_CHILD_MAX___279 = 1,
    _SC_CLK_TCK___279 = 2,
    _SC_NGROUPS_MAX___279 = 3,
    _SC_OPEN_MAX___279 = 4,
    _SC_STREAM_MAX___279 = 5,
    _SC_TZNAME_MAX___279 = 6,
    _SC_JOB_CONTROL___279 = 7,
    _SC_SAVED_IDS___279 = 8,
    _SC_REALTIME_SIGNALS___279 = 9,
    _SC_PRIORITY_SCHEDULING___279 = 10,
    _SC_TIMERS___279 = 11,
    _SC_ASYNCHRONOUS_IO___279 = 12,
    _SC_PRIORITIZED_IO___279 = 13,
    _SC_SYNCHRONIZED_IO___279 = 14,
    _SC_FSYNC___279 = 15,
    _SC_MAPPED_FILES___279 = 16,
    _SC_MEMLOCK___279 = 17,
    _SC_MEMLOCK_RANGE___279 = 18,
    _SC_MEMORY_PROTECTION___279 = 19,
    _SC_MESSAGE_PASSING___279 = 20,
    _SC_SEMAPHORES___279 = 21,
    _SC_SHARED_MEMORY_OBJECTS___279 = 22,
    _SC_AIO_LISTIO_MAX___279 = 23,
    _SC_AIO_MAX___279 = 24,
    _SC_AIO_PRIO_DELTA_MAX___279 = 25,
    _SC_DELAYTIMER_MAX___279 = 26,
    _SC_MQ_OPEN_MAX___279 = 27,
    _SC_MQ_PRIO_MAX___279 = 28,
    _SC_VERSION___279 = 29,
    _SC_PAGESIZE___279 = 30,
    _SC_RTSIG_MAX___279 = 31,
    _SC_SEM_NSEMS_MAX___279 = 32,
    _SC_SEM_VALUE_MAX___279 = 33,
    _SC_SIGQUEUE_MAX___279 = 34,
    _SC_TIMER_MAX___279 = 35,
    _SC_BC_BASE_MAX___279 = 36,
    _SC_BC_DIM_MAX___279 = 37,
    _SC_BC_SCALE_MAX___279 = 38,
    _SC_BC_STRING_MAX___279 = 39,
    _SC_COLL_WEIGHTS_MAX___279 = 40,
    _SC_EQUIV_CLASS_MAX___279 = 41,
    _SC_EXPR_NEST_MAX___279 = 42,
    _SC_LINE_MAX___279 = 43,
    _SC_RE_DUP_MAX___279 = 44,
    _SC_CHARCLASS_NAME_MAX___279 = 45,
    _SC_2_VERSION___279 = 46,
    _SC_2_C_BIND___279 = 47,
    _SC_2_C_DEV___279 = 48,
    _SC_2_FORT_DEV___279 = 49,
    _SC_2_FORT_RUN___279 = 50,
    _SC_2_SW_DEV___279 = 51,
    _SC_2_LOCALEDEF___279 = 52,
    _SC_PII___279 = 53,
    _SC_PII_XTI___279 = 54,
    _SC_PII_SOCKET___279 = 55,
    _SC_PII_INTERNET___279 = 56,
    _SC_PII_OSI___279 = 57,
    _SC_POLL___279 = 58,
    _SC_SELECT___279 = 59,
    _SC_UIO_MAXIOV___279 = 60,
    _SC_IOV_MAX___279 = 60,
    _SC_PII_INTERNET_STREAM___279 = 61,
    _SC_PII_INTERNET_DGRAM___279 = 62,
    _SC_PII_OSI_COTS___279 = 63,
    _SC_PII_OSI_CLTS___279 = 64,
    _SC_PII_OSI_M___279 = 65,
    _SC_T_IOV_MAX___279 = 66,
    _SC_THREADS___279 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___279 = 68,
    _SC_GETGR_R_SIZE_MAX___279 = 69,
    _SC_GETPW_R_SIZE_MAX___279 = 70,
    _SC_LOGIN_NAME_MAX___279 = 71,
    _SC_TTY_NAME_MAX___279 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___279 = 73,
    _SC_THREAD_KEYS_MAX___279 = 74,
    _SC_THREAD_STACK_MIN___279 = 75,
    _SC_THREAD_THREADS_MAX___279 = 76,
    _SC_THREAD_ATTR_STACKADDR___279 = 77,
    _SC_THREAD_ATTR_STACKSIZE___279 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___279 = 79,
    _SC_THREAD_PRIO_INHERIT___279 = 80,
    _SC_THREAD_PRIO_PROTECT___279 = 81,
    _SC_THREAD_PROCESS_SHARED___279 = 82,
    _SC_NPROCESSORS_CONF___279 = 83,
    _SC_NPROCESSORS_ONLN___279 = 84,
    _SC_PHYS_PAGES___279 = 85,
    _SC_AVPHYS_PAGES___279 = 86,
    _SC_ATEXIT_MAX___279 = 87,
    _SC_PASS_MAX___279 = 88,
    _SC_XOPEN_VERSION___279 = 89,
    _SC_XOPEN_XCU_VERSION___279 = 90,
    _SC_XOPEN_UNIX___279 = 91,
    _SC_XOPEN_CRYPT___279 = 92,
    _SC_XOPEN_ENH_I18N___279 = 93,
    _SC_XOPEN_SHM___279 = 94,
    _SC_2_CHAR_TERM___279 = 95,
    _SC_2_C_VERSION___279 = 96,
    _SC_2_UPE___279 = 97,
    _SC_XOPEN_XPG2___279 = 98,
    _SC_XOPEN_XPG3___279 = 99,
    _SC_XOPEN_XPG4___279 = 100,
    _SC_CHAR_BIT___279 = 101,
    _SC_CHAR_MAX___279 = 102,
    _SC_CHAR_MIN___279 = 103,
    _SC_INT_MAX___279 = 104,
    _SC_INT_MIN___279 = 105,
    _SC_LONG_BIT___279 = 106,
    _SC_WORD_BIT___279 = 107,
    _SC_MB_LEN_MAX___279 = 108,
    _SC_NZERO___279 = 109,
    _SC_SSIZE_MAX___279 = 110,
    _SC_SCHAR_MAX___279 = 111,
    _SC_SCHAR_MIN___279 = 112,
    _SC_SHRT_MAX___279 = 113,
    _SC_SHRT_MIN___279 = 114,
    _SC_UCHAR_MAX___279 = 115,
    _SC_UINT_MAX___279 = 116,
    _SC_ULONG_MAX___279 = 117,
    _SC_USHRT_MAX___279 = 118,
    _SC_NL_ARGMAX___279 = 119,
    _SC_NL_LANGMAX___279 = 120,
    _SC_NL_MSGMAX___279 = 121,
    _SC_NL_NMAX___279 = 122,
    _SC_NL_SETMAX___279 = 123,
    _SC_NL_TEXTMAX___279 = 124,
    _SC_XBS5_ILP32_OFF32___279 = 125,
    _SC_XBS5_ILP32_OFFBIG___279 = 126,
    _SC_XBS5_LP64_OFF64___279 = 127,
    _SC_XBS5_LPBIG_OFFBIG___279 = 128,
    _SC_XOPEN_LEGACY___279 = 129,
    _SC_XOPEN_REALTIME___279 = 130,
    _SC_XOPEN_REALTIME_THREADS___279 = 131,
    _SC_ADVISORY_INFO___279 = 132,
    _SC_BARRIERS___279 = 133,
    _SC_BASE___279 = 134,
    _SC_C_LANG_SUPPORT___279 = 135,
    _SC_C_LANG_SUPPORT_R___279 = 136,
    _SC_CLOCK_SELECTION___279 = 137,
    _SC_CPUTIME___279 = 138,
    _SC_THREAD_CPUTIME___279 = 139,
    _SC_DEVICE_IO___279 = 140,
    _SC_DEVICE_SPECIFIC___279 = 141,
    _SC_DEVICE_SPECIFIC_R___279 = 142,
    _SC_FD_MGMT___279 = 143,
    _SC_FIFO___279 = 144,
    _SC_PIPE___279 = 145,
    _SC_FILE_ATTRIBUTES___279 = 146,
    _SC_FILE_LOCKING___279 = 147,
    _SC_FILE_SYSTEM___279 = 148,
    _SC_MONOTONIC_CLOCK___279 = 149,
    _SC_MULTI_PROCESS___279 = 150,
    _SC_SINGLE_PROCESS___279 = 151,
    _SC_NETWORKING___279 = 152,
    _SC_READER_WRITER_LOCKS___279 = 153,
    _SC_SPIN_LOCKS___279 = 154,
    _SC_REGEXP___279 = 155,
    _SC_REGEX_VERSION___279 = 156,
    _SC_SHELL___279 = 157,
    _SC_SIGNALS___279 = 158,
    _SC_SPAWN___279 = 159,
    _SC_SPORADIC_SERVER___279 = 160,
    _SC_THREAD_SPORADIC_SERVER___279 = 161,
    _SC_SYSTEM_DATABASE___279 = 162,
    _SC_SYSTEM_DATABASE_R___279 = 163,
    _SC_TIMEOUTS___279 = 164,
    _SC_TYPED_MEMORY_OBJECTS___279 = 165,
    _SC_USER_GROUPS___279 = 166,
    _SC_USER_GROUPS_R___279 = 167,
    _SC_2_PBS___279 = 168,
    _SC_2_PBS_ACCOUNTING___279 = 169,
    _SC_2_PBS_LOCATE___279 = 170,
    _SC_2_PBS_MESSAGE___279 = 171,
    _SC_2_PBS_TRACK___279 = 172,
    _SC_SYMLOOP_MAX___279 = 173,
    _SC_STREAMS___279 = 174,
    _SC_2_PBS_CHECKPOINT___279 = 175,
    _SC_V6_ILP32_OFF32___279 = 176,
    _SC_V6_ILP32_OFFBIG___279 = 177,
    _SC_V6_LP64_OFF64___279 = 178,
    _SC_V6_LPBIG_OFFBIG___279 = 179,
    _SC_HOST_NAME_MAX___279 = 180,
    _SC_TRACE___279 = 181,
    _SC_TRACE_EVENT_FILTER___279 = 182,
    _SC_TRACE_INHERIT___279 = 183,
    _SC_TRACE_LOG___279 = 184,
    _SC_LEVEL1_ICACHE_SIZE___279 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___279 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___279 = 187,
    _SC_LEVEL1_DCACHE_SIZE___279 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___279 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___279 = 190,
    _SC_LEVEL2_CACHE_SIZE___279 = 191,
    _SC_LEVEL2_CACHE_ASSOC___279 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___279 = 193,
    _SC_LEVEL3_CACHE_SIZE___279 = 194,
    _SC_LEVEL3_CACHE_ASSOC___279 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___279 = 196,
    _SC_LEVEL4_CACHE_SIZE___279 = 197,
    _SC_LEVEL4_CACHE_ASSOC___279 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___279 = 199,
    _SC_IPV6___279 = 235,
    _SC_RAW_SOCKETS___279 = 236,
    _SC_V7_ILP32_OFF32___279 = 237,
    _SC_V7_ILP32_OFFBIG___279 = 238,
    _SC_V7_LP64_OFF64___279 = 239,
    _SC_V7_LPBIG_OFFBIG___279 = 240,
    _SC_SS_REPL_MAX___279 = 241,
    _SC_TRACE_EVENT_NAME_MAX___279 = 242,
    _SC_TRACE_NAME_MAX___279 = 243,
    _SC_TRACE_SYS_MAX___279 = 244,
    _SC_TRACE_USER_EVENT_MAX___279 = 245,
    _SC_XOPEN_STREAMS___279 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___279 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___279 = 248
} ;
enum __anonenum_875524036___279 {
    _CS_PATH___279 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___279 = 1,
    _CS_GNU_LIBC_VERSION___279 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___279 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___279 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___279 = 5,
    _CS_LFS_CFLAGS___279 = 1000,
    _CS_LFS_LDFLAGS___279 = 1001,
    _CS_LFS_LIBS___279 = 1002,
    _CS_LFS_LINTFLAGS___279 = 1003,
    _CS_LFS64_CFLAGS___279 = 1004,
    _CS_LFS64_LDFLAGS___279 = 1005,
    _CS_LFS64_LIBS___279 = 1006,
    _CS_LFS64_LINTFLAGS___279 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___279 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___279 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___279 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___279 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___279 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___279 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___279 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___279 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___279 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___279 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___279 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___279 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___279 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___279 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___279 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___279 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___279 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___279 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___279 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___279 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___279 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___279 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___279 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___279 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___279 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___279 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___279 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___279 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___279 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___279 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___279 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___279 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___279 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___279 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___279 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___279 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___279 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___279 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___279 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___279 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___279 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___279 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___279 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___279 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___279 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___279 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___279 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___279 = 1147,
    _CS_V6_ENV___279 = 1148,
    _CS_V7_ENV___279 = 1149
} ;
enum __anonenum_513775621___279 {
    DT_UNKNOWN___279 = 0,
    DT_FIFO___279 = 1,
    DT_CHR___279 = 2,
    DT_DIR___279 = 4,
    DT_BLK___279 = 6,
    DT_REG___279 = 8,
    DT_LNK___279 = 10,
    DT_SOCK___279 = 12,
    DT_WHT___279 = 14
} ;
enum __anonenum_77002343___279 {
    SI_ASYNCNL___279 = -60,
    SI_TKILL___279 = -6,
    SI_SIGIO___279 = -5,
    SI_ASYNCIO___279 = -4,
    SI_MESGQ___279 = -3,
    SI_TIMER___279 = -2,
    SI_QUEUE___279 = -1,
    SI_USER___279 = 0,
    SI_KERNEL___279 = 128
} ;
enum __anonenum_131038172___279 {
    ILL_ILLOPC___279 = 1,
    ILL_ILLOPN___279 = 2,
    ILL_ILLADR___279 = 3,
    ILL_ILLTRP___279 = 4,
    ILL_PRVOPC___279 = 5,
    ILL_PRVREG___279 = 6,
    ILL_COPROC___279 = 7,
    ILL_BADSTK___279 = 8
} ;
enum __anonenum_452038093___279 {
    FPE_INTDIV___279 = 1,
    FPE_INTOVF___279 = 2,
    FPE_FLTDIV___279 = 3,
    FPE_FLTOVF___279 = 4,
    FPE_FLTUND___279 = 5,
    FPE_FLTRES___279 = 6,
    FPE_FLTINV___279 = 7,
    FPE_FLTSUB___279 = 8
} ;
enum __anonenum_30976155___279 {
    SEGV_MAPERR___279 = 1,
    SEGV_ACCERR___279 = 2,
    SEGV_BNDERR___279 = 3,
    SEGV_PKUERR___279 = 4
} ;
enum __anonenum_1036286214___279 {
    BUS_ADRALN___279 = 1,
    BUS_ADRERR___279 = 2,
    BUS_OBJERR___279 = 3,
    BUS_MCEERR_AR___279 = 4,
    BUS_MCEERR_AO___279 = 5
} ;
enum __anonenum_493465559___279 {
    TRAP_BRKPT___279 = 1,
    TRAP_TRACE___279 = 2
} ;
enum __anonenum_23175539___279 {
    CLD_EXITED___279 = 1,
    CLD_KILLED___279 = 2,
    CLD_DUMPED___279 = 3,
    CLD_TRAPPED___279 = 4,
    CLD_STOPPED___279 = 5,
    CLD_CONTINUED___279 = 6
} ;
enum __anonenum_111643124___279 {
    POLL_IN___279 = 1,
    POLL_OUT___279 = 2,
    POLL_MSG___279 = 3,
    POLL_ERR___279 = 4,
    POLL_PRI___279 = 5,
    POLL_HUP___279 = 6
} ;
enum __anonenum_852341087___279 {
    SIGEV_SIGNAL___279 = 0,
    SIGEV_NONE___279 = 1,
    SIGEV_THREAD___279 = 2,
    SIGEV_THREAD_ID___279 = 4
} ;
enum __anonenum_451154152___279 {
    REG_R8___279 = 0,
    REG_R9___279 = 1,
    REG_R10___279 = 2,
    REG_R11___279 = 3,
    REG_R12___279 = 4,
    REG_R13___279 = 5,
    REG_R14___279 = 6,
    REG_R15___279 = 7,
    REG_RDI___279 = 8,
    REG_RSI___279 = 9,
    REG_RBP___279 = 10,
    REG_RBX___279 = 11,
    REG_RDX___279 = 12,
    REG_RAX___279 = 13,
    REG_RCX___279 = 14,
    REG_RSP___279 = 15,
    REG_RIP___279 = 16,
    REG_EFL___279 = 17,
    REG_CSGSFS___279 = 18,
    REG_ERR___279 = 19,
    REG_TRAPNO___279 = 20,
    REG_OLDMASK___279 = 21,
    REG_CR2___279 = 22
} ;
enum __anonenum_57186863___279 {
    SS_ONSTACK___279 = 1,
    SS_DISABLE___279 = 2
} ;
enum __anonenum_83571709___279 {
    MSG_OOB___279 = 1,
    MSG_PEEK___279 = 2,
    MSG_DONTROUTE___279 = 4,
    MSG_TRYHARD___279 = 4,
    MSG_CTRUNC___279 = 8,
    MSG_PROXY___279 = 16,
    MSG_TRUNC___279 = 32,
    MSG_DONTWAIT___279 = 64,
    MSG_EOR___279 = 128,
    MSG_WAITALL___279 = 256,
    MSG_FIN___279 = 512,
    MSG_SYN___279 = 1024,
    MSG_CONFIRM___279 = 2048,
    MSG_RST___279 = 4096,
    MSG_ERRQUEUE___279 = 8192,
    MSG_NOSIGNAL___279 = 16384,
    MSG_MORE___279 = 32768,
    MSG_WAITFORONE___279 = 65536,
    MSG_BATCH___279 = 262144,
    MSG_ZEROCOPY___279 = 67108864,
    MSG_FASTOPEN___279 = 536870912,
    MSG_CMSG_CLOEXEC___279 = 1073741824
} ;
enum __anonenum_617082774___279 {
    SCM_RIGHTS___279 = 1,
    SCM_CREDENTIALS___279 = 2
} ;
enum __anonenum_606441560___279 {
    SHUT_RD___279 = 0,
    SHUT_WR___279 = 1,
    SHUT_RDWR___279 = 2
} ;
enum __anonenum_681669233___279 {
    IPPROTO_IP___279 = 0,
    IPPROTO_ICMP___279 = 1,
    IPPROTO_IGMP___279 = 2,
    IPPROTO_IPIP___279 = 4,
    IPPROTO_TCP___279 = 6,
    IPPROTO_EGP___279 = 8,
    IPPROTO_PUP___279 = 12,
    IPPROTO_UDP___279 = 17,
    IPPROTO_IDP___279 = 22,
    IPPROTO_TP___279 = 29,
    IPPROTO_DCCP___279 = 33,
    IPPROTO_IPV6___279 = 41,
    IPPROTO_RSVP___279 = 46,
    IPPROTO_GRE___279 = 47,
    IPPROTO_ESP___279 = 50,
    IPPROTO_AH___279 = 51,
    IPPROTO_MTP___279 = 92,
    IPPROTO_BEETPH___279 = 94,
    IPPROTO_ENCAP___279 = 98,
    IPPROTO_PIM___279 = 103,
    IPPROTO_COMP___279 = 108,
    IPPROTO_SCTP___279 = 132,
    IPPROTO_UDPLITE___279 = 136,
    IPPROTO_MPLS___279 = 137,
    IPPROTO_RAW___279 = 255,
    IPPROTO_MAX___279 = 256
} ;
enum __anonenum_218739988___279 {
    IPPROTO_HOPOPTS___279 = 0,
    IPPROTO_ROUTING___279 = 43,
    IPPROTO_FRAGMENT___279 = 44,
    IPPROTO_ICMPV6___279 = 58,
    IPPROTO_NONE___279 = 59,
    IPPROTO_DSTOPTS___279 = 60,
    IPPROTO_MH___279 = 135
} ;
enum __anonenum_662268580___279 {
    IPPORT_ECHO___279 = 7,
    IPPORT_DISCARD___279 = 9,
    IPPORT_SYSTAT___279 = 11,
    IPPORT_DAYTIME___279 = 13,
    IPPORT_NETSTAT___279 = 15,
    IPPORT_FTP___279 = 21,
    IPPORT_TELNET___279 = 23,
    IPPORT_SMTP___279 = 25,
    IPPORT_TIMESERVER___279 = 37,
    IPPORT_NAMESERVER___279 = 42,
    IPPORT_WHOIS___279 = 43,
    IPPORT_MTP___279 = 57,
    IPPORT_TFTP___279 = 69,
    IPPORT_RJE___279 = 77,
    IPPORT_FINGER___279 = 79,
    IPPORT_TTYLINK___279 = 87,
    IPPORT_SUPDUP___279 = 95,
    IPPORT_EXECSERVER___279 = 512,
    IPPORT_LOGINSERVER___279 = 513,
    IPPORT_CMDSERVER___279 = 514,
    IPPORT_EFSSERVER___279 = 520,
    IPPORT_BIFFUDP___279 = 512,
    IPPORT_WHOSERVER___279 = 513,
    IPPORT_ROUTESERVER___279 = 520,
    IPPORT_RESERVED___279 = 1024,
    IPPORT_USERRESERVED___279 = 5000
} ;
enum __anonenum_788308992___279 {
    TCP_ESTABLISHED___279 = 1,
    TCP_SYN_SENT___279 = 2,
    TCP_SYN_RECV___279 = 3,
    TCP_FIN_WAIT1___279 = 4,
    TCP_FIN_WAIT2___279 = 5,
    TCP_TIME_WAIT___279 = 6,
    TCP_CLOSE___279 = 7,
    TCP_CLOSE_WAIT___279 = 8,
    TCP_LAST_ACK___279 = 9,
    TCP_LISTEN___279 = 10,
    TCP_CLOSING___279 = 11
} ;
enum __anonenum_221125648___279 {
    TCP_NO_QUEUE___279 = 0,
    TCP_RECV_QUEUE___279 = 1,
    TCP_SEND_QUEUE___279 = 2,
    TCP_QUEUES_NR___279 = 3
} ;
enum __anonenum_34415463___279 {
    PTHREAD_CREATE_JOINABLE___279 = 0,
    PTHREAD_CREATE_DETACHED___279 = 1
} ;
enum __anonenum_303612439___279 {
    PTHREAD_MUTEX_TIMED_NP___279 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___279 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___279 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___279 = 3,
    PTHREAD_MUTEX_NORMAL___279 = 0,
    PTHREAD_MUTEX_RECURSIVE___279 = 1,
    PTHREAD_MUTEX_ERRORCHECK___279 = 2,
    PTHREAD_MUTEX_DEFAULT___279 = 0,
    PTHREAD_MUTEX_FAST_NP___279 = 0
} ;
enum __anonenum_931900394___279 {
    PTHREAD_MUTEX_STALLED___279 = 0,
    PTHREAD_MUTEX_STALLED_NP___279 = 0,
    PTHREAD_MUTEX_ROBUST___279 = 1,
    PTHREAD_MUTEX_ROBUST_NP___279 = 1
} ;
enum __anonenum_205214487___279 {
    PTHREAD_PRIO_NONE___279 = 0,
    PTHREAD_PRIO_INHERIT___279 = 1,
    PTHREAD_PRIO_PROTECT___279 = 2
} ;
enum __anonenum_25043950___279 {
    PTHREAD_RWLOCK_PREFER_READER_NP___279 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___279 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___279 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___279 = 0
} ;
enum __anonenum_436439511___279 {
    PTHREAD_INHERIT_SCHED___279 = 0,
    PTHREAD_EXPLICIT_SCHED___279 = 1
} ;
enum __anonenum_998661166___279 {
    PTHREAD_SCOPE_SYSTEM___279 = 0,
    PTHREAD_SCOPE_PROCESS___279 = 1
} ;
enum __anonenum_146137331___279 {
    PTHREAD_PROCESS_PRIVATE___279 = 0,
    PTHREAD_PROCESS_SHARED___279 = 1
} ;
enum __anonenum_53396917___279 {
    PTHREAD_CANCEL_ENABLE___279 = 0,
    PTHREAD_CANCEL_DISABLE___279 = 1
} ;
enum __anonenum_904563783___279 {
    PTHREAD_CANCEL_DEFERRED___279 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___279 = 1
} ;
enum __anonenum_672052974___279 {
    SSL_CT_VALIDATION_PERMISSIVE___279 = 0,
    SSL_CT_VALIDATION_STRICT___279 = 1
} ;
enum __anonenum_437032235___280 {
    _PC_LINK_MAX___280 = 0,
    _PC_MAX_CANON___280 = 1,
    _PC_MAX_INPUT___280 = 2,
    _PC_NAME_MAX___280 = 3,
    _PC_PATH_MAX___280 = 4,
    _PC_PIPE_BUF___280 = 5,
    _PC_CHOWN_RESTRICTED___280 = 6,
    _PC_NO_TRUNC___280 = 7,
    _PC_VDISABLE___280 = 8,
    _PC_SYNC_IO___280 = 9,
    _PC_ASYNC_IO___280 = 10,
    _PC_PRIO_IO___280 = 11,
    _PC_SOCK_MAXBUF___280 = 12,
    _PC_FILESIZEBITS___280 = 13,
    _PC_REC_INCR_XFER_SIZE___280 = 14,
    _PC_REC_MAX_XFER_SIZE___280 = 15,
    _PC_REC_MIN_XFER_SIZE___280 = 16,
    _PC_REC_XFER_ALIGN___280 = 17,
    _PC_ALLOC_SIZE_MIN___280 = 18,
    _PC_SYMLINK_MAX___280 = 19,
    _PC_2_SYMLINKS___280 = 20
} ;
enum __anonenum_315186338___280 {
    _SC_ARG_MAX___280 = 0,
    _SC_CHILD_MAX___280 = 1,
    _SC_CLK_TCK___280 = 2,
    _SC_NGROUPS_MAX___280 = 3,
    _SC_OPEN_MAX___280 = 4,
    _SC_STREAM_MAX___280 = 5,
    _SC_TZNAME_MAX___280 = 6,
    _SC_JOB_CONTROL___280 = 7,
    _SC_SAVED_IDS___280 = 8,
    _SC_REALTIME_SIGNALS___280 = 9,
    _SC_PRIORITY_SCHEDULING___280 = 10,
    _SC_TIMERS___280 = 11,
    _SC_ASYNCHRONOUS_IO___280 = 12,
    _SC_PRIORITIZED_IO___280 = 13,
    _SC_SYNCHRONIZED_IO___280 = 14,
    _SC_FSYNC___280 = 15,
    _SC_MAPPED_FILES___280 = 16,
    _SC_MEMLOCK___280 = 17,
    _SC_MEMLOCK_RANGE___280 = 18,
    _SC_MEMORY_PROTECTION___280 = 19,
    _SC_MESSAGE_PASSING___280 = 20,
    _SC_SEMAPHORES___280 = 21,
    _SC_SHARED_MEMORY_OBJECTS___280 = 22,
    _SC_AIO_LISTIO_MAX___280 = 23,
    _SC_AIO_MAX___280 = 24,
    _SC_AIO_PRIO_DELTA_MAX___280 = 25,
    _SC_DELAYTIMER_MAX___280 = 26,
    _SC_MQ_OPEN_MAX___280 = 27,
    _SC_MQ_PRIO_MAX___280 = 28,
    _SC_VERSION___280 = 29,
    _SC_PAGESIZE___280 = 30,
    _SC_RTSIG_MAX___280 = 31,
    _SC_SEM_NSEMS_MAX___280 = 32,
    _SC_SEM_VALUE_MAX___280 = 33,
    _SC_SIGQUEUE_MAX___280 = 34,
    _SC_TIMER_MAX___280 = 35,
    _SC_BC_BASE_MAX___280 = 36,
    _SC_BC_DIM_MAX___280 = 37,
    _SC_BC_SCALE_MAX___280 = 38,
    _SC_BC_STRING_MAX___280 = 39,
    _SC_COLL_WEIGHTS_MAX___280 = 40,
    _SC_EQUIV_CLASS_MAX___280 = 41,
    _SC_EXPR_NEST_MAX___280 = 42,
    _SC_LINE_MAX___280 = 43,
    _SC_RE_DUP_MAX___280 = 44,
    _SC_CHARCLASS_NAME_MAX___280 = 45,
    _SC_2_VERSION___280 = 46,
    _SC_2_C_BIND___280 = 47,
    _SC_2_C_DEV___280 = 48,
    _SC_2_FORT_DEV___280 = 49,
    _SC_2_FORT_RUN___280 = 50,
    _SC_2_SW_DEV___280 = 51,
    _SC_2_LOCALEDEF___280 = 52,
    _SC_PII___280 = 53,
    _SC_PII_XTI___280 = 54,
    _SC_PII_SOCKET___280 = 55,
    _SC_PII_INTERNET___280 = 56,
    _SC_PII_OSI___280 = 57,
    _SC_POLL___280 = 58,
    _SC_SELECT___280 = 59,
    _SC_UIO_MAXIOV___280 = 60,
    _SC_IOV_MAX___280 = 60,
    _SC_PII_INTERNET_STREAM___280 = 61,
    _SC_PII_INTERNET_DGRAM___280 = 62,
    _SC_PII_OSI_COTS___280 = 63,
    _SC_PII_OSI_CLTS___280 = 64,
    _SC_PII_OSI_M___280 = 65,
    _SC_T_IOV_MAX___280 = 66,
    _SC_THREADS___280 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___280 = 68,
    _SC_GETGR_R_SIZE_MAX___280 = 69,
    _SC_GETPW_R_SIZE_MAX___280 = 70,
    _SC_LOGIN_NAME_MAX___280 = 71,
    _SC_TTY_NAME_MAX___280 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___280 = 73,
    _SC_THREAD_KEYS_MAX___280 = 74,
    _SC_THREAD_STACK_MIN___280 = 75,
    _SC_THREAD_THREADS_MAX___280 = 76,
    _SC_THREAD_ATTR_STACKADDR___280 = 77,
    _SC_THREAD_ATTR_STACKSIZE___280 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___280 = 79,
    _SC_THREAD_PRIO_INHERIT___280 = 80,
    _SC_THREAD_PRIO_PROTECT___280 = 81,
    _SC_THREAD_PROCESS_SHARED___280 = 82,
    _SC_NPROCESSORS_CONF___280 = 83,
    _SC_NPROCESSORS_ONLN___280 = 84,
    _SC_PHYS_PAGES___280 = 85,
    _SC_AVPHYS_PAGES___280 = 86,
    _SC_ATEXIT_MAX___280 = 87,
    _SC_PASS_MAX___280 = 88,
    _SC_XOPEN_VERSION___280 = 89,
    _SC_XOPEN_XCU_VERSION___280 = 90,
    _SC_XOPEN_UNIX___280 = 91,
    _SC_XOPEN_CRYPT___280 = 92,
    _SC_XOPEN_ENH_I18N___280 = 93,
    _SC_XOPEN_SHM___280 = 94,
    _SC_2_CHAR_TERM___280 = 95,
    _SC_2_C_VERSION___280 = 96,
    _SC_2_UPE___280 = 97,
    _SC_XOPEN_XPG2___280 = 98,
    _SC_XOPEN_XPG3___280 = 99,
    _SC_XOPEN_XPG4___280 = 100,
    _SC_CHAR_BIT___280 = 101,
    _SC_CHAR_MAX___280 = 102,
    _SC_CHAR_MIN___280 = 103,
    _SC_INT_MAX___280 = 104,
    _SC_INT_MIN___280 = 105,
    _SC_LONG_BIT___280 = 106,
    _SC_WORD_BIT___280 = 107,
    _SC_MB_LEN_MAX___280 = 108,
    _SC_NZERO___280 = 109,
    _SC_SSIZE_MAX___280 = 110,
    _SC_SCHAR_MAX___280 = 111,
    _SC_SCHAR_MIN___280 = 112,
    _SC_SHRT_MAX___280 = 113,
    _SC_SHRT_MIN___280 = 114,
    _SC_UCHAR_MAX___280 = 115,
    _SC_UINT_MAX___280 = 116,
    _SC_ULONG_MAX___280 = 117,
    _SC_USHRT_MAX___280 = 118,
    _SC_NL_ARGMAX___280 = 119,
    _SC_NL_LANGMAX___280 = 120,
    _SC_NL_MSGMAX___280 = 121,
    _SC_NL_NMAX___280 = 122,
    _SC_NL_SETMAX___280 = 123,
    _SC_NL_TEXTMAX___280 = 124,
    _SC_XBS5_ILP32_OFF32___280 = 125,
    _SC_XBS5_ILP32_OFFBIG___280 = 126,
    _SC_XBS5_LP64_OFF64___280 = 127,
    _SC_XBS5_LPBIG_OFFBIG___280 = 128,
    _SC_XOPEN_LEGACY___280 = 129,
    _SC_XOPEN_REALTIME___280 = 130,
    _SC_XOPEN_REALTIME_THREADS___280 = 131,
    _SC_ADVISORY_INFO___280 = 132,
    _SC_BARRIERS___280 = 133,
    _SC_BASE___280 = 134,
    _SC_C_LANG_SUPPORT___280 = 135,
    _SC_C_LANG_SUPPORT_R___280 = 136,
    _SC_CLOCK_SELECTION___280 = 137,
    _SC_CPUTIME___280 = 138,
    _SC_THREAD_CPUTIME___280 = 139,
    _SC_DEVICE_IO___280 = 140,
    _SC_DEVICE_SPECIFIC___280 = 141,
    _SC_DEVICE_SPECIFIC_R___280 = 142,
    _SC_FD_MGMT___280 = 143,
    _SC_FIFO___280 = 144,
    _SC_PIPE___280 = 145,
    _SC_FILE_ATTRIBUTES___280 = 146,
    _SC_FILE_LOCKING___280 = 147,
    _SC_FILE_SYSTEM___280 = 148,
    _SC_MONOTONIC_CLOCK___280 = 149,
    _SC_MULTI_PROCESS___280 = 150,
    _SC_SINGLE_PROCESS___280 = 151,
    _SC_NETWORKING___280 = 152,
    _SC_READER_WRITER_LOCKS___280 = 153,
    _SC_SPIN_LOCKS___280 = 154,
    _SC_REGEXP___280 = 155,
    _SC_REGEX_VERSION___280 = 156,
    _SC_SHELL___280 = 157,
    _SC_SIGNALS___280 = 158,
    _SC_SPAWN___280 = 159,
    _SC_SPORADIC_SERVER___280 = 160,
    _SC_THREAD_SPORADIC_SERVER___280 = 161,
    _SC_SYSTEM_DATABASE___280 = 162,
    _SC_SYSTEM_DATABASE_R___280 = 163,
    _SC_TIMEOUTS___280 = 164,
    _SC_TYPED_MEMORY_OBJECTS___280 = 165,
    _SC_USER_GROUPS___280 = 166,
    _SC_USER_GROUPS_R___280 = 167,
    _SC_2_PBS___280 = 168,
    _SC_2_PBS_ACCOUNTING___280 = 169,
    _SC_2_PBS_LOCATE___280 = 170,
    _SC_2_PBS_MESSAGE___280 = 171,
    _SC_2_PBS_TRACK___280 = 172,
    _SC_SYMLOOP_MAX___280 = 173,
    _SC_STREAMS___280 = 174,
    _SC_2_PBS_CHECKPOINT___280 = 175,
    _SC_V6_ILP32_OFF32___280 = 176,
    _SC_V6_ILP32_OFFBIG___280 = 177,
    _SC_V6_LP64_OFF64___280 = 178,
    _SC_V6_LPBIG_OFFBIG___280 = 179,
    _SC_HOST_NAME_MAX___280 = 180,
    _SC_TRACE___280 = 181,
    _SC_TRACE_EVENT_FILTER___280 = 182,
    _SC_TRACE_INHERIT___280 = 183,
    _SC_TRACE_LOG___280 = 184,
    _SC_LEVEL1_ICACHE_SIZE___280 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___280 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___280 = 187,
    _SC_LEVEL1_DCACHE_SIZE___280 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___280 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___280 = 190,
    _SC_LEVEL2_CACHE_SIZE___280 = 191,
    _SC_LEVEL2_CACHE_ASSOC___280 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___280 = 193,
    _SC_LEVEL3_CACHE_SIZE___280 = 194,
    _SC_LEVEL3_CACHE_ASSOC___280 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___280 = 196,
    _SC_LEVEL4_CACHE_SIZE___280 = 197,
    _SC_LEVEL4_CACHE_ASSOC___280 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___280 = 199,
    _SC_IPV6___280 = 235,
    _SC_RAW_SOCKETS___280 = 236,
    _SC_V7_ILP32_OFF32___280 = 237,
    _SC_V7_ILP32_OFFBIG___280 = 238,
    _SC_V7_LP64_OFF64___280 = 239,
    _SC_V7_LPBIG_OFFBIG___280 = 240,
    _SC_SS_REPL_MAX___280 = 241,
    _SC_TRACE_EVENT_NAME_MAX___280 = 242,
    _SC_TRACE_NAME_MAX___280 = 243,
    _SC_TRACE_SYS_MAX___280 = 244,
    _SC_TRACE_USER_EVENT_MAX___280 = 245,
    _SC_XOPEN_STREAMS___280 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___280 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___280 = 248
} ;
enum __anonenum_875524036___280 {
    _CS_PATH___280 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___280 = 1,
    _CS_GNU_LIBC_VERSION___280 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___280 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___280 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___280 = 5,
    _CS_LFS_CFLAGS___280 = 1000,
    _CS_LFS_LDFLAGS___280 = 1001,
    _CS_LFS_LIBS___280 = 1002,
    _CS_LFS_LINTFLAGS___280 = 1003,
    _CS_LFS64_CFLAGS___280 = 1004,
    _CS_LFS64_LDFLAGS___280 = 1005,
    _CS_LFS64_LIBS___280 = 1006,
    _CS_LFS64_LINTFLAGS___280 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___280 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___280 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___280 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___280 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___280 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___280 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___280 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___280 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___280 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___280 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___280 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___280 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___280 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___280 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___280 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___280 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___280 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___280 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___280 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___280 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___280 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___280 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___280 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___280 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___280 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___280 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___280 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___280 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___280 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___280 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___280 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___280 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___280 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___280 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___280 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___280 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___280 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___280 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___280 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___280 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___280 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___280 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___280 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___280 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___280 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___280 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___280 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___280 = 1147,
    _CS_V6_ENV___280 = 1148,
    _CS_V7_ENV___280 = 1149
} ;
enum __anonenum_513775621___280 {
    DT_UNKNOWN___280 = 0,
    DT_FIFO___280 = 1,
    DT_CHR___280 = 2,
    DT_DIR___280 = 4,
    DT_BLK___280 = 6,
    DT_REG___280 = 8,
    DT_LNK___280 = 10,
    DT_SOCK___280 = 12,
    DT_WHT___280 = 14
} ;
enum __anonenum_77002343___280 {
    SI_ASYNCNL___280 = -60,
    SI_TKILL___280 = -6,
    SI_SIGIO___280 = -5,
    SI_ASYNCIO___280 = -4,
    SI_MESGQ___280 = -3,
    SI_TIMER___280 = -2,
    SI_QUEUE___280 = -1,
    SI_USER___280 = 0,
    SI_KERNEL___280 = 128
} ;
enum __anonenum_131038172___280 {
    ILL_ILLOPC___280 = 1,
    ILL_ILLOPN___280 = 2,
    ILL_ILLADR___280 = 3,
    ILL_ILLTRP___280 = 4,
    ILL_PRVOPC___280 = 5,
    ILL_PRVREG___280 = 6,
    ILL_COPROC___280 = 7,
    ILL_BADSTK___280 = 8
} ;
enum __anonenum_452038093___280 {
    FPE_INTDIV___280 = 1,
    FPE_INTOVF___280 = 2,
    FPE_FLTDIV___280 = 3,
    FPE_FLTOVF___280 = 4,
    FPE_FLTUND___280 = 5,
    FPE_FLTRES___280 = 6,
    FPE_FLTINV___280 = 7,
    FPE_FLTSUB___280 = 8
} ;
enum __anonenum_30976155___280 {
    SEGV_MAPERR___280 = 1,
    SEGV_ACCERR___280 = 2,
    SEGV_BNDERR___280 = 3,
    SEGV_PKUERR___280 = 4
} ;
enum __anonenum_1036286214___280 {
    BUS_ADRALN___280 = 1,
    BUS_ADRERR___280 = 2,
    BUS_OBJERR___280 = 3,
    BUS_MCEERR_AR___280 = 4,
    BUS_MCEERR_AO___280 = 5
} ;
enum __anonenum_493465559___280 {
    TRAP_BRKPT___280 = 1,
    TRAP_TRACE___280 = 2
} ;
enum __anonenum_23175539___280 {
    CLD_EXITED___280 = 1,
    CLD_KILLED___280 = 2,
    CLD_DUMPED___280 = 3,
    CLD_TRAPPED___280 = 4,
    CLD_STOPPED___280 = 5,
    CLD_CONTINUED___280 = 6
} ;
enum __anonenum_111643124___280 {
    POLL_IN___280 = 1,
    POLL_OUT___280 = 2,
    POLL_MSG___280 = 3,
    POLL_ERR___280 = 4,
    POLL_PRI___280 = 5,
    POLL_HUP___280 = 6
} ;
enum __anonenum_852341087___280 {
    SIGEV_SIGNAL___280 = 0,
    SIGEV_NONE___280 = 1,
    SIGEV_THREAD___280 = 2,
    SIGEV_THREAD_ID___280 = 4
} ;
enum __anonenum_451154152___280 {
    REG_R8___280 = 0,
    REG_R9___280 = 1,
    REG_R10___280 = 2,
    REG_R11___280 = 3,
    REG_R12___280 = 4,
    REG_R13___280 = 5,
    REG_R14___280 = 6,
    REG_R15___280 = 7,
    REG_RDI___280 = 8,
    REG_RSI___280 = 9,
    REG_RBP___280 = 10,
    REG_RBX___280 = 11,
    REG_RDX___280 = 12,
    REG_RAX___280 = 13,
    REG_RCX___280 = 14,
    REG_RSP___280 = 15,
    REG_RIP___280 = 16,
    REG_EFL___280 = 17,
    REG_CSGSFS___280 = 18,
    REG_ERR___280 = 19,
    REG_TRAPNO___280 = 20,
    REG_OLDMASK___280 = 21,
    REG_CR2___280 = 22
} ;
enum __anonenum_57186863___280 {
    SS_ONSTACK___280 = 1,
    SS_DISABLE___280 = 2
} ;
enum __anonenum_83571709___280 {
    MSG_OOB___280 = 1,
    MSG_PEEK___280 = 2,
    MSG_DONTROUTE___280 = 4,
    MSG_TRYHARD___280 = 4,
    MSG_CTRUNC___280 = 8,
    MSG_PROXY___280 = 16,
    MSG_TRUNC___280 = 32,
    MSG_DONTWAIT___280 = 64,
    MSG_EOR___280 = 128,
    MSG_WAITALL___280 = 256,
    MSG_FIN___280 = 512,
    MSG_SYN___280 = 1024,
    MSG_CONFIRM___280 = 2048,
    MSG_RST___280 = 4096,
    MSG_ERRQUEUE___280 = 8192,
    MSG_NOSIGNAL___280 = 16384,
    MSG_MORE___280 = 32768,
    MSG_WAITFORONE___280 = 65536,
    MSG_BATCH___280 = 262144,
    MSG_ZEROCOPY___280 = 67108864,
    MSG_FASTOPEN___280 = 536870912,
    MSG_CMSG_CLOEXEC___280 = 1073741824
} ;
enum __anonenum_617082774___280 {
    SCM_RIGHTS___280 = 1,
    SCM_CREDENTIALS___280 = 2
} ;
enum __anonenum_606441560___280 {
    SHUT_RD___280 = 0,
    SHUT_WR___280 = 1,
    SHUT_RDWR___280 = 2
} ;
enum __anonenum_681669233___280 {
    IPPROTO_IP___280 = 0,
    IPPROTO_ICMP___280 = 1,
    IPPROTO_IGMP___280 = 2,
    IPPROTO_IPIP___280 = 4,
    IPPROTO_TCP___280 = 6,
    IPPROTO_EGP___280 = 8,
    IPPROTO_PUP___280 = 12,
    IPPROTO_UDP___280 = 17,
    IPPROTO_IDP___280 = 22,
    IPPROTO_TP___280 = 29,
    IPPROTO_DCCP___280 = 33,
    IPPROTO_IPV6___280 = 41,
    IPPROTO_RSVP___280 = 46,
    IPPROTO_GRE___280 = 47,
    IPPROTO_ESP___280 = 50,
    IPPROTO_AH___280 = 51,
    IPPROTO_MTP___280 = 92,
    IPPROTO_BEETPH___280 = 94,
    IPPROTO_ENCAP___280 = 98,
    IPPROTO_PIM___280 = 103,
    IPPROTO_COMP___280 = 108,
    IPPROTO_SCTP___280 = 132,
    IPPROTO_UDPLITE___280 = 136,
    IPPROTO_MPLS___280 = 137,
    IPPROTO_RAW___280 = 255,
    IPPROTO_MAX___280 = 256
} ;
enum __anonenum_218739988___280 {
    IPPROTO_HOPOPTS___280 = 0,
    IPPROTO_ROUTING___280 = 43,
    IPPROTO_FRAGMENT___280 = 44,
    IPPROTO_ICMPV6___280 = 58,
    IPPROTO_NONE___280 = 59,
    IPPROTO_DSTOPTS___280 = 60,
    IPPROTO_MH___280 = 135
} ;
enum __anonenum_662268580___280 {
    IPPORT_ECHO___280 = 7,
    IPPORT_DISCARD___280 = 9,
    IPPORT_SYSTAT___280 = 11,
    IPPORT_DAYTIME___280 = 13,
    IPPORT_NETSTAT___280 = 15,
    IPPORT_FTP___280 = 21,
    IPPORT_TELNET___280 = 23,
    IPPORT_SMTP___280 = 25,
    IPPORT_TIMESERVER___280 = 37,
    IPPORT_NAMESERVER___280 = 42,
    IPPORT_WHOIS___280 = 43,
    IPPORT_MTP___280 = 57,
    IPPORT_TFTP___280 = 69,
    IPPORT_RJE___280 = 77,
    IPPORT_FINGER___280 = 79,
    IPPORT_TTYLINK___280 = 87,
    IPPORT_SUPDUP___280 = 95,
    IPPORT_EXECSERVER___280 = 512,
    IPPORT_LOGINSERVER___280 = 513,
    IPPORT_CMDSERVER___280 = 514,
    IPPORT_EFSSERVER___280 = 520,
    IPPORT_BIFFUDP___280 = 512,
    IPPORT_WHOSERVER___280 = 513,
    IPPORT_ROUTESERVER___280 = 520,
    IPPORT_RESERVED___280 = 1024,
    IPPORT_USERRESERVED___280 = 5000
} ;
enum __anonenum_788308992___280 {
    TCP_ESTABLISHED___280 = 1,
    TCP_SYN_SENT___280 = 2,
    TCP_SYN_RECV___280 = 3,
    TCP_FIN_WAIT1___280 = 4,
    TCP_FIN_WAIT2___280 = 5,
    TCP_TIME_WAIT___280 = 6,
    TCP_CLOSE___280 = 7,
    TCP_CLOSE_WAIT___280 = 8,
    TCP_LAST_ACK___280 = 9,
    TCP_LISTEN___280 = 10,
    TCP_CLOSING___280 = 11
} ;
enum __anonenum_221125648___280 {
    TCP_NO_QUEUE___280 = 0,
    TCP_RECV_QUEUE___280 = 1,
    TCP_SEND_QUEUE___280 = 2,
    TCP_QUEUES_NR___280 = 3
} ;
enum __anonenum_34415463___280 {
    PTHREAD_CREATE_JOINABLE___280 = 0,
    PTHREAD_CREATE_DETACHED___280 = 1
} ;
enum __anonenum_303612439___280 {
    PTHREAD_MUTEX_TIMED_NP___280 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___280 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___280 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___280 = 3,
    PTHREAD_MUTEX_NORMAL___280 = 0,
    PTHREAD_MUTEX_RECURSIVE___280 = 1,
    PTHREAD_MUTEX_ERRORCHECK___280 = 2,
    PTHREAD_MUTEX_DEFAULT___280 = 0,
    PTHREAD_MUTEX_FAST_NP___280 = 0
} ;
enum __anonenum_931900394___280 {
    PTHREAD_MUTEX_STALLED___280 = 0,
    PTHREAD_MUTEX_STALLED_NP___280 = 0,
    PTHREAD_MUTEX_ROBUST___280 = 1,
    PTHREAD_MUTEX_ROBUST_NP___280 = 1
} ;
enum __anonenum_205214487___280 {
    PTHREAD_PRIO_NONE___280 = 0,
    PTHREAD_PRIO_INHERIT___280 = 1,
    PTHREAD_PRIO_PROTECT___280 = 2
} ;
enum __anonenum_25043950___280 {
    PTHREAD_RWLOCK_PREFER_READER_NP___280 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___280 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___280 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___280 = 0
} ;
enum __anonenum_436439511___280 {
    PTHREAD_INHERIT_SCHED___280 = 0,
    PTHREAD_EXPLICIT_SCHED___280 = 1
} ;
enum __anonenum_998661166___280 {
    PTHREAD_SCOPE_SYSTEM___280 = 0,
    PTHREAD_SCOPE_PROCESS___280 = 1
} ;
enum __anonenum_146137331___280 {
    PTHREAD_PROCESS_PRIVATE___280 = 0,
    PTHREAD_PROCESS_SHARED___280 = 1
} ;
enum __anonenum_53396917___280 {
    PTHREAD_CANCEL_ENABLE___280 = 0,
    PTHREAD_CANCEL_DISABLE___280 = 1
} ;
enum __anonenum_904563783___280 {
    PTHREAD_CANCEL_DEFERRED___280 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___280 = 1
} ;
enum __anonenum_672052974___280 {
    SSL_CT_VALIDATION_PERMISSIVE___280 = 0,
    SSL_CT_VALIDATION_STRICT___280 = 1
} ;
struct batch_options {
   int enabled ;
   int follow_symlinks ;
   int print_contents ;
   int buffer_output ;
   int all_objects ;
   int unordered ;
   int cmdmode ;
   char const   *format ;
};
struct expand_data___0 {
   struct object_id oid ;
   enum object_type type ;
   unsigned long size ;
   off_t disk_size ;
   char const   *rest ;
   struct object_id delta_base_oid ;
   int mark_query ;
   int split_on_whitespace ;
   struct object_info info ;
   unsigned int skip_object_info : 1 ;
};
struct object_cb_data {
   struct batch_options *opt ;
   struct expand_data___0 *expand ;
   struct oidset *seen ;
   struct strbuf *scratch ;
};
enum __anonenum_437032235___281 {
    _PC_LINK_MAX___281 = 0,
    _PC_MAX_CANON___281 = 1,
    _PC_MAX_INPUT___281 = 2,
    _PC_NAME_MAX___281 = 3,
    _PC_PATH_MAX___281 = 4,
    _PC_PIPE_BUF___281 = 5,
    _PC_CHOWN_RESTRICTED___281 = 6,
    _PC_NO_TRUNC___281 = 7,
    _PC_VDISABLE___281 = 8,
    _PC_SYNC_IO___281 = 9,
    _PC_ASYNC_IO___281 = 10,
    _PC_PRIO_IO___281 = 11,
    _PC_SOCK_MAXBUF___281 = 12,
    _PC_FILESIZEBITS___281 = 13,
    _PC_REC_INCR_XFER_SIZE___281 = 14,
    _PC_REC_MAX_XFER_SIZE___281 = 15,
    _PC_REC_MIN_XFER_SIZE___281 = 16,
    _PC_REC_XFER_ALIGN___281 = 17,
    _PC_ALLOC_SIZE_MIN___281 = 18,
    _PC_SYMLINK_MAX___281 = 19,
    _PC_2_SYMLINKS___281 = 20
} ;
enum __anonenum_315186338___281 {
    _SC_ARG_MAX___281 = 0,
    _SC_CHILD_MAX___281 = 1,
    _SC_CLK_TCK___281 = 2,
    _SC_NGROUPS_MAX___281 = 3,
    _SC_OPEN_MAX___281 = 4,
    _SC_STREAM_MAX___281 = 5,
    _SC_TZNAME_MAX___281 = 6,
    _SC_JOB_CONTROL___281 = 7,
    _SC_SAVED_IDS___281 = 8,
    _SC_REALTIME_SIGNALS___281 = 9,
    _SC_PRIORITY_SCHEDULING___281 = 10,
    _SC_TIMERS___281 = 11,
    _SC_ASYNCHRONOUS_IO___281 = 12,
    _SC_PRIORITIZED_IO___281 = 13,
    _SC_SYNCHRONIZED_IO___281 = 14,
    _SC_FSYNC___281 = 15,
    _SC_MAPPED_FILES___281 = 16,
    _SC_MEMLOCK___281 = 17,
    _SC_MEMLOCK_RANGE___281 = 18,
    _SC_MEMORY_PROTECTION___281 = 19,
    _SC_MESSAGE_PASSING___281 = 20,
    _SC_SEMAPHORES___281 = 21,
    _SC_SHARED_MEMORY_OBJECTS___281 = 22,
    _SC_AIO_LISTIO_MAX___281 = 23,
    _SC_AIO_MAX___281 = 24,
    _SC_AIO_PRIO_DELTA_MAX___281 = 25,
    _SC_DELAYTIMER_MAX___281 = 26,
    _SC_MQ_OPEN_MAX___281 = 27,
    _SC_MQ_PRIO_MAX___281 = 28,
    _SC_VERSION___281 = 29,
    _SC_PAGESIZE___281 = 30,
    _SC_RTSIG_MAX___281 = 31,
    _SC_SEM_NSEMS_MAX___281 = 32,
    _SC_SEM_VALUE_MAX___281 = 33,
    _SC_SIGQUEUE_MAX___281 = 34,
    _SC_TIMER_MAX___281 = 35,
    _SC_BC_BASE_MAX___281 = 36,
    _SC_BC_DIM_MAX___281 = 37,
    _SC_BC_SCALE_MAX___281 = 38,
    _SC_BC_STRING_MAX___281 = 39,
    _SC_COLL_WEIGHTS_MAX___281 = 40,
    _SC_EQUIV_CLASS_MAX___281 = 41,
    _SC_EXPR_NEST_MAX___281 = 42,
    _SC_LINE_MAX___281 = 43,
    _SC_RE_DUP_MAX___281 = 44,
    _SC_CHARCLASS_NAME_MAX___281 = 45,
    _SC_2_VERSION___281 = 46,
    _SC_2_C_BIND___281 = 47,
    _SC_2_C_DEV___281 = 48,
    _SC_2_FORT_DEV___281 = 49,
    _SC_2_FORT_RUN___281 = 50,
    _SC_2_SW_DEV___281 = 51,
    _SC_2_LOCALEDEF___281 = 52,
    _SC_PII___281 = 53,
    _SC_PII_XTI___281 = 54,
    _SC_PII_SOCKET___281 = 55,
    _SC_PII_INTERNET___281 = 56,
    _SC_PII_OSI___281 = 57,
    _SC_POLL___281 = 58,
    _SC_SELECT___281 = 59,
    _SC_UIO_MAXIOV___281 = 60,
    _SC_IOV_MAX___281 = 60,
    _SC_PII_INTERNET_STREAM___281 = 61,
    _SC_PII_INTERNET_DGRAM___281 = 62,
    _SC_PII_OSI_COTS___281 = 63,
    _SC_PII_OSI_CLTS___281 = 64,
    _SC_PII_OSI_M___281 = 65,
    _SC_T_IOV_MAX___281 = 66,
    _SC_THREADS___281 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___281 = 68,
    _SC_GETGR_R_SIZE_MAX___281 = 69,
    _SC_GETPW_R_SIZE_MAX___281 = 70,
    _SC_LOGIN_NAME_MAX___281 = 71,
    _SC_TTY_NAME_MAX___281 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___281 = 73,
    _SC_THREAD_KEYS_MAX___281 = 74,
    _SC_THREAD_STACK_MIN___281 = 75,
    _SC_THREAD_THREADS_MAX___281 = 76,
    _SC_THREAD_ATTR_STACKADDR___281 = 77,
    _SC_THREAD_ATTR_STACKSIZE___281 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___281 = 79,
    _SC_THREAD_PRIO_INHERIT___281 = 80,
    _SC_THREAD_PRIO_PROTECT___281 = 81,
    _SC_THREAD_PROCESS_SHARED___281 = 82,
    _SC_NPROCESSORS_CONF___281 = 83,
    _SC_NPROCESSORS_ONLN___281 = 84,
    _SC_PHYS_PAGES___281 = 85,
    _SC_AVPHYS_PAGES___281 = 86,
    _SC_ATEXIT_MAX___281 = 87,
    _SC_PASS_MAX___281 = 88,
    _SC_XOPEN_VERSION___281 = 89,
    _SC_XOPEN_XCU_VERSION___281 = 90,
    _SC_XOPEN_UNIX___281 = 91,
    _SC_XOPEN_CRYPT___281 = 92,
    _SC_XOPEN_ENH_I18N___281 = 93,
    _SC_XOPEN_SHM___281 = 94,
    _SC_2_CHAR_TERM___281 = 95,
    _SC_2_C_VERSION___281 = 96,
    _SC_2_UPE___281 = 97,
    _SC_XOPEN_XPG2___281 = 98,
    _SC_XOPEN_XPG3___281 = 99,
    _SC_XOPEN_XPG4___281 = 100,
    _SC_CHAR_BIT___281 = 101,
    _SC_CHAR_MAX___281 = 102,
    _SC_CHAR_MIN___281 = 103,
    _SC_INT_MAX___281 = 104,
    _SC_INT_MIN___281 = 105,
    _SC_LONG_BIT___281 = 106,
    _SC_WORD_BIT___281 = 107,
    _SC_MB_LEN_MAX___281 = 108,
    _SC_NZERO___281 = 109,
    _SC_SSIZE_MAX___281 = 110,
    _SC_SCHAR_MAX___281 = 111,
    _SC_SCHAR_MIN___281 = 112,
    _SC_SHRT_MAX___281 = 113,
    _SC_SHRT_MIN___281 = 114,
    _SC_UCHAR_MAX___281 = 115,
    _SC_UINT_MAX___281 = 116,
    _SC_ULONG_MAX___281 = 117,
    _SC_USHRT_MAX___281 = 118,
    _SC_NL_ARGMAX___281 = 119,
    _SC_NL_LANGMAX___281 = 120,
    _SC_NL_MSGMAX___281 = 121,
    _SC_NL_NMAX___281 = 122,
    _SC_NL_SETMAX___281 = 123,
    _SC_NL_TEXTMAX___281 = 124,
    _SC_XBS5_ILP32_OFF32___281 = 125,
    _SC_XBS5_ILP32_OFFBIG___281 = 126,
    _SC_XBS5_LP64_OFF64___281 = 127,
    _SC_XBS5_LPBIG_OFFBIG___281 = 128,
    _SC_XOPEN_LEGACY___281 = 129,
    _SC_XOPEN_REALTIME___281 = 130,
    _SC_XOPEN_REALTIME_THREADS___281 = 131,
    _SC_ADVISORY_INFO___281 = 132,
    _SC_BARRIERS___281 = 133,
    _SC_BASE___281 = 134,
    _SC_C_LANG_SUPPORT___281 = 135,
    _SC_C_LANG_SUPPORT_R___281 = 136,
    _SC_CLOCK_SELECTION___281 = 137,
    _SC_CPUTIME___281 = 138,
    _SC_THREAD_CPUTIME___281 = 139,
    _SC_DEVICE_IO___281 = 140,
    _SC_DEVICE_SPECIFIC___281 = 141,
    _SC_DEVICE_SPECIFIC_R___281 = 142,
    _SC_FD_MGMT___281 = 143,
    _SC_FIFO___281 = 144,
    _SC_PIPE___281 = 145,
    _SC_FILE_ATTRIBUTES___281 = 146,
    _SC_FILE_LOCKING___281 = 147,
    _SC_FILE_SYSTEM___281 = 148,
    _SC_MONOTONIC_CLOCK___281 = 149,
    _SC_MULTI_PROCESS___281 = 150,
    _SC_SINGLE_PROCESS___281 = 151,
    _SC_NETWORKING___281 = 152,
    _SC_READER_WRITER_LOCKS___281 = 153,
    _SC_SPIN_LOCKS___281 = 154,
    _SC_REGEXP___281 = 155,
    _SC_REGEX_VERSION___281 = 156,
    _SC_SHELL___281 = 157,
    _SC_SIGNALS___281 = 158,
    _SC_SPAWN___281 = 159,
    _SC_SPORADIC_SERVER___281 = 160,
    _SC_THREAD_SPORADIC_SERVER___281 = 161,
    _SC_SYSTEM_DATABASE___281 = 162,
    _SC_SYSTEM_DATABASE_R___281 = 163,
    _SC_TIMEOUTS___281 = 164,
    _SC_TYPED_MEMORY_OBJECTS___281 = 165,
    _SC_USER_GROUPS___281 = 166,
    _SC_USER_GROUPS_R___281 = 167,
    _SC_2_PBS___281 = 168,
    _SC_2_PBS_ACCOUNTING___281 = 169,
    _SC_2_PBS_LOCATE___281 = 170,
    _SC_2_PBS_MESSAGE___281 = 171,
    _SC_2_PBS_TRACK___281 = 172,
    _SC_SYMLOOP_MAX___281 = 173,
    _SC_STREAMS___281 = 174,
    _SC_2_PBS_CHECKPOINT___281 = 175,
    _SC_V6_ILP32_OFF32___281 = 176,
    _SC_V6_ILP32_OFFBIG___281 = 177,
    _SC_V6_LP64_OFF64___281 = 178,
    _SC_V6_LPBIG_OFFBIG___281 = 179,
    _SC_HOST_NAME_MAX___281 = 180,
    _SC_TRACE___281 = 181,
    _SC_TRACE_EVENT_FILTER___281 = 182,
    _SC_TRACE_INHERIT___281 = 183,
    _SC_TRACE_LOG___281 = 184,
    _SC_LEVEL1_ICACHE_SIZE___281 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___281 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___281 = 187,
    _SC_LEVEL1_DCACHE_SIZE___281 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___281 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___281 = 190,
    _SC_LEVEL2_CACHE_SIZE___281 = 191,
    _SC_LEVEL2_CACHE_ASSOC___281 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___281 = 193,
    _SC_LEVEL3_CACHE_SIZE___281 = 194,
    _SC_LEVEL3_CACHE_ASSOC___281 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___281 = 196,
    _SC_LEVEL4_CACHE_SIZE___281 = 197,
    _SC_LEVEL4_CACHE_ASSOC___281 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___281 = 199,
    _SC_IPV6___281 = 235,
    _SC_RAW_SOCKETS___281 = 236,
    _SC_V7_ILP32_OFF32___281 = 237,
    _SC_V7_ILP32_OFFBIG___281 = 238,
    _SC_V7_LP64_OFF64___281 = 239,
    _SC_V7_LPBIG_OFFBIG___281 = 240,
    _SC_SS_REPL_MAX___281 = 241,
    _SC_TRACE_EVENT_NAME_MAX___281 = 242,
    _SC_TRACE_NAME_MAX___281 = 243,
    _SC_TRACE_SYS_MAX___281 = 244,
    _SC_TRACE_USER_EVENT_MAX___281 = 245,
    _SC_XOPEN_STREAMS___281 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___281 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___281 = 248
} ;
enum __anonenum_875524036___281 {
    _CS_PATH___281 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___281 = 1,
    _CS_GNU_LIBC_VERSION___281 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___281 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___281 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___281 = 5,
    _CS_LFS_CFLAGS___281 = 1000,
    _CS_LFS_LDFLAGS___281 = 1001,
    _CS_LFS_LIBS___281 = 1002,
    _CS_LFS_LINTFLAGS___281 = 1003,
    _CS_LFS64_CFLAGS___281 = 1004,
    _CS_LFS64_LDFLAGS___281 = 1005,
    _CS_LFS64_LIBS___281 = 1006,
    _CS_LFS64_LINTFLAGS___281 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___281 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___281 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___281 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___281 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___281 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___281 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___281 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___281 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___281 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___281 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___281 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___281 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___281 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___281 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___281 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___281 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___281 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___281 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___281 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___281 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___281 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___281 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___281 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___281 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___281 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___281 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___281 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___281 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___281 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___281 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___281 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___281 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___281 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___281 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___281 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___281 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___281 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___281 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___281 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___281 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___281 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___281 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___281 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___281 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___281 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___281 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___281 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___281 = 1147,
    _CS_V6_ENV___281 = 1148,
    _CS_V7_ENV___281 = 1149
} ;
enum __anonenum_513775621___281 {
    DT_UNKNOWN___281 = 0,
    DT_FIFO___281 = 1,
    DT_CHR___281 = 2,
    DT_DIR___281 = 4,
    DT_BLK___281 = 6,
    DT_REG___281 = 8,
    DT_LNK___281 = 10,
    DT_SOCK___281 = 12,
    DT_WHT___281 = 14
} ;
enum __anonenum_77002343___281 {
    SI_ASYNCNL___281 = -60,
    SI_TKILL___281 = -6,
    SI_SIGIO___281 = -5,
    SI_ASYNCIO___281 = -4,
    SI_MESGQ___281 = -3,
    SI_TIMER___281 = -2,
    SI_QUEUE___281 = -1,
    SI_USER___281 = 0,
    SI_KERNEL___281 = 128
} ;
enum __anonenum_131038172___281 {
    ILL_ILLOPC___281 = 1,
    ILL_ILLOPN___281 = 2,
    ILL_ILLADR___281 = 3,
    ILL_ILLTRP___281 = 4,
    ILL_PRVOPC___281 = 5,
    ILL_PRVREG___281 = 6,
    ILL_COPROC___281 = 7,
    ILL_BADSTK___281 = 8
} ;
enum __anonenum_452038093___281 {
    FPE_INTDIV___281 = 1,
    FPE_INTOVF___281 = 2,
    FPE_FLTDIV___281 = 3,
    FPE_FLTOVF___281 = 4,
    FPE_FLTUND___281 = 5,
    FPE_FLTRES___281 = 6,
    FPE_FLTINV___281 = 7,
    FPE_FLTSUB___281 = 8
} ;
enum __anonenum_30976155___281 {
    SEGV_MAPERR___281 = 1,
    SEGV_ACCERR___281 = 2,
    SEGV_BNDERR___281 = 3,
    SEGV_PKUERR___281 = 4
} ;
enum __anonenum_1036286214___281 {
    BUS_ADRALN___281 = 1,
    BUS_ADRERR___281 = 2,
    BUS_OBJERR___281 = 3,
    BUS_MCEERR_AR___281 = 4,
    BUS_MCEERR_AO___281 = 5
} ;
enum __anonenum_493465559___281 {
    TRAP_BRKPT___281 = 1,
    TRAP_TRACE___281 = 2
} ;
enum __anonenum_23175539___281 {
    CLD_EXITED___281 = 1,
    CLD_KILLED___281 = 2,
    CLD_DUMPED___281 = 3,
    CLD_TRAPPED___281 = 4,
    CLD_STOPPED___281 = 5,
    CLD_CONTINUED___281 = 6
} ;
enum __anonenum_111643124___281 {
    POLL_IN___281 = 1,
    POLL_OUT___281 = 2,
    POLL_MSG___281 = 3,
    POLL_ERR___281 = 4,
    POLL_PRI___281 = 5,
    POLL_HUP___281 = 6
} ;
enum __anonenum_852341087___281 {
    SIGEV_SIGNAL___281 = 0,
    SIGEV_NONE___281 = 1,
    SIGEV_THREAD___281 = 2,
    SIGEV_THREAD_ID___281 = 4
} ;
enum __anonenum_451154152___281 {
    REG_R8___281 = 0,
    REG_R9___281 = 1,
    REG_R10___281 = 2,
    REG_R11___281 = 3,
    REG_R12___281 = 4,
    REG_R13___281 = 5,
    REG_R14___281 = 6,
    REG_R15___281 = 7,
    REG_RDI___281 = 8,
    REG_RSI___281 = 9,
    REG_RBP___281 = 10,
    REG_RBX___281 = 11,
    REG_RDX___281 = 12,
    REG_RAX___281 = 13,
    REG_RCX___281 = 14,
    REG_RSP___281 = 15,
    REG_RIP___281 = 16,
    REG_EFL___281 = 17,
    REG_CSGSFS___281 = 18,
    REG_ERR___281 = 19,
    REG_TRAPNO___281 = 20,
    REG_OLDMASK___281 = 21,
    REG_CR2___281 = 22
} ;
enum __anonenum_57186863___281 {
    SS_ONSTACK___281 = 1,
    SS_DISABLE___281 = 2
} ;
enum __anonenum_83571709___281 {
    MSG_OOB___281 = 1,
    MSG_PEEK___281 = 2,
    MSG_DONTROUTE___281 = 4,
    MSG_TRYHARD___281 = 4,
    MSG_CTRUNC___281 = 8,
    MSG_PROXY___281 = 16,
    MSG_TRUNC___281 = 32,
    MSG_DONTWAIT___281 = 64,
    MSG_EOR___281 = 128,
    MSG_WAITALL___281 = 256,
    MSG_FIN___281 = 512,
    MSG_SYN___281 = 1024,
    MSG_CONFIRM___281 = 2048,
    MSG_RST___281 = 4096,
    MSG_ERRQUEUE___281 = 8192,
    MSG_NOSIGNAL___281 = 16384,
    MSG_MORE___281 = 32768,
    MSG_WAITFORONE___281 = 65536,
    MSG_BATCH___281 = 262144,
    MSG_ZEROCOPY___281 = 67108864,
    MSG_FASTOPEN___281 = 536870912,
    MSG_CMSG_CLOEXEC___281 = 1073741824
} ;
enum __anonenum_617082774___281 {
    SCM_RIGHTS___281 = 1,
    SCM_CREDENTIALS___281 = 2
} ;
enum __anonenum_606441560___281 {
    SHUT_RD___281 = 0,
    SHUT_WR___281 = 1,
    SHUT_RDWR___281 = 2
} ;
enum __anonenum_681669233___281 {
    IPPROTO_IP___281 = 0,
    IPPROTO_ICMP___281 = 1,
    IPPROTO_IGMP___281 = 2,
    IPPROTO_IPIP___281 = 4,
    IPPROTO_TCP___281 = 6,
    IPPROTO_EGP___281 = 8,
    IPPROTO_PUP___281 = 12,
    IPPROTO_UDP___281 = 17,
    IPPROTO_IDP___281 = 22,
    IPPROTO_TP___281 = 29,
    IPPROTO_DCCP___281 = 33,
    IPPROTO_IPV6___281 = 41,
    IPPROTO_RSVP___281 = 46,
    IPPROTO_GRE___281 = 47,
    IPPROTO_ESP___281 = 50,
    IPPROTO_AH___281 = 51,
    IPPROTO_MTP___281 = 92,
    IPPROTO_BEETPH___281 = 94,
    IPPROTO_ENCAP___281 = 98,
    IPPROTO_PIM___281 = 103,
    IPPROTO_COMP___281 = 108,
    IPPROTO_SCTP___281 = 132,
    IPPROTO_UDPLITE___281 = 136,
    IPPROTO_MPLS___281 = 137,
    IPPROTO_RAW___281 = 255,
    IPPROTO_MAX___281 = 256
} ;
enum __anonenum_218739988___281 {
    IPPROTO_HOPOPTS___281 = 0,
    IPPROTO_ROUTING___281 = 43,
    IPPROTO_FRAGMENT___281 = 44,
    IPPROTO_ICMPV6___281 = 58,
    IPPROTO_NONE___281 = 59,
    IPPROTO_DSTOPTS___281 = 60,
    IPPROTO_MH___281 = 135
} ;
enum __anonenum_662268580___281 {
    IPPORT_ECHO___281 = 7,
    IPPORT_DISCARD___281 = 9,
    IPPORT_SYSTAT___281 = 11,
    IPPORT_DAYTIME___281 = 13,
    IPPORT_NETSTAT___281 = 15,
    IPPORT_FTP___281 = 21,
    IPPORT_TELNET___281 = 23,
    IPPORT_SMTP___281 = 25,
    IPPORT_TIMESERVER___281 = 37,
    IPPORT_NAMESERVER___281 = 42,
    IPPORT_WHOIS___281 = 43,
    IPPORT_MTP___281 = 57,
    IPPORT_TFTP___281 = 69,
    IPPORT_RJE___281 = 77,
    IPPORT_FINGER___281 = 79,
    IPPORT_TTYLINK___281 = 87,
    IPPORT_SUPDUP___281 = 95,
    IPPORT_EXECSERVER___281 = 512,
    IPPORT_LOGINSERVER___281 = 513,
    IPPORT_CMDSERVER___281 = 514,
    IPPORT_EFSSERVER___281 = 520,
    IPPORT_BIFFUDP___281 = 512,
    IPPORT_WHOSERVER___281 = 513,
    IPPORT_ROUTESERVER___281 = 520,
    IPPORT_RESERVED___281 = 1024,
    IPPORT_USERRESERVED___281 = 5000
} ;
enum __anonenum_788308992___281 {
    TCP_ESTABLISHED___281 = 1,
    TCP_SYN_SENT___281 = 2,
    TCP_SYN_RECV___281 = 3,
    TCP_FIN_WAIT1___281 = 4,
    TCP_FIN_WAIT2___281 = 5,
    TCP_TIME_WAIT___281 = 6,
    TCP_CLOSE___281 = 7,
    TCP_CLOSE_WAIT___281 = 8,
    TCP_LAST_ACK___281 = 9,
    TCP_LISTEN___281 = 10,
    TCP_CLOSING___281 = 11
} ;
enum __anonenum_221125648___281 {
    TCP_NO_QUEUE___281 = 0,
    TCP_RECV_QUEUE___281 = 1,
    TCP_SEND_QUEUE___281 = 2,
    TCP_QUEUES_NR___281 = 3
} ;
enum __anonenum_34415463___281 {
    PTHREAD_CREATE_JOINABLE___281 = 0,
    PTHREAD_CREATE_DETACHED___281 = 1
} ;
enum __anonenum_303612439___281 {
    PTHREAD_MUTEX_TIMED_NP___281 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___281 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___281 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___281 = 3,
    PTHREAD_MUTEX_NORMAL___281 = 0,
    PTHREAD_MUTEX_RECURSIVE___281 = 1,
    PTHREAD_MUTEX_ERRORCHECK___281 = 2,
    PTHREAD_MUTEX_DEFAULT___281 = 0,
    PTHREAD_MUTEX_FAST_NP___281 = 0
} ;
enum __anonenum_931900394___281 {
    PTHREAD_MUTEX_STALLED___281 = 0,
    PTHREAD_MUTEX_STALLED_NP___281 = 0,
    PTHREAD_MUTEX_ROBUST___281 = 1,
    PTHREAD_MUTEX_ROBUST_NP___281 = 1
} ;
enum __anonenum_205214487___281 {
    PTHREAD_PRIO_NONE___281 = 0,
    PTHREAD_PRIO_INHERIT___281 = 1,
    PTHREAD_PRIO_PROTECT___281 = 2
} ;
enum __anonenum_25043950___281 {
    PTHREAD_RWLOCK_PREFER_READER_NP___281 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___281 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___281 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___281 = 0
} ;
enum __anonenum_436439511___281 {
    PTHREAD_INHERIT_SCHED___281 = 0,
    PTHREAD_EXPLICIT_SCHED___281 = 1
} ;
enum __anonenum_998661166___281 {
    PTHREAD_SCOPE_SYSTEM___281 = 0,
    PTHREAD_SCOPE_PROCESS___281 = 1
} ;
enum __anonenum_146137331___281 {
    PTHREAD_PROCESS_PRIVATE___281 = 0,
    PTHREAD_PROCESS_SHARED___281 = 1
} ;
enum __anonenum_53396917___281 {
    PTHREAD_CANCEL_ENABLE___281 = 0,
    PTHREAD_CANCEL_DISABLE___281 = 1
} ;
enum __anonenum_904563783___281 {
    PTHREAD_CANCEL_DEFERRED___281 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___281 = 1
} ;
enum __anonenum_672052974___281 {
    SSL_CT_VALIDATION_PERMISSIVE___281 = 0,
    SSL_CT_VALIDATION_STRICT___281 = 1
} ;
enum __anonenum_437032235___282 {
    _PC_LINK_MAX___282 = 0,
    _PC_MAX_CANON___282 = 1,
    _PC_MAX_INPUT___282 = 2,
    _PC_NAME_MAX___282 = 3,
    _PC_PATH_MAX___282 = 4,
    _PC_PIPE_BUF___282 = 5,
    _PC_CHOWN_RESTRICTED___282 = 6,
    _PC_NO_TRUNC___282 = 7,
    _PC_VDISABLE___282 = 8,
    _PC_SYNC_IO___282 = 9,
    _PC_ASYNC_IO___282 = 10,
    _PC_PRIO_IO___282 = 11,
    _PC_SOCK_MAXBUF___282 = 12,
    _PC_FILESIZEBITS___282 = 13,
    _PC_REC_INCR_XFER_SIZE___282 = 14,
    _PC_REC_MAX_XFER_SIZE___282 = 15,
    _PC_REC_MIN_XFER_SIZE___282 = 16,
    _PC_REC_XFER_ALIGN___282 = 17,
    _PC_ALLOC_SIZE_MIN___282 = 18,
    _PC_SYMLINK_MAX___282 = 19,
    _PC_2_SYMLINKS___282 = 20
} ;
enum __anonenum_315186338___282 {
    _SC_ARG_MAX___282 = 0,
    _SC_CHILD_MAX___282 = 1,
    _SC_CLK_TCK___282 = 2,
    _SC_NGROUPS_MAX___282 = 3,
    _SC_OPEN_MAX___282 = 4,
    _SC_STREAM_MAX___282 = 5,
    _SC_TZNAME_MAX___282 = 6,
    _SC_JOB_CONTROL___282 = 7,
    _SC_SAVED_IDS___282 = 8,
    _SC_REALTIME_SIGNALS___282 = 9,
    _SC_PRIORITY_SCHEDULING___282 = 10,
    _SC_TIMERS___282 = 11,
    _SC_ASYNCHRONOUS_IO___282 = 12,
    _SC_PRIORITIZED_IO___282 = 13,
    _SC_SYNCHRONIZED_IO___282 = 14,
    _SC_FSYNC___282 = 15,
    _SC_MAPPED_FILES___282 = 16,
    _SC_MEMLOCK___282 = 17,
    _SC_MEMLOCK_RANGE___282 = 18,
    _SC_MEMORY_PROTECTION___282 = 19,
    _SC_MESSAGE_PASSING___282 = 20,
    _SC_SEMAPHORES___282 = 21,
    _SC_SHARED_MEMORY_OBJECTS___282 = 22,
    _SC_AIO_LISTIO_MAX___282 = 23,
    _SC_AIO_MAX___282 = 24,
    _SC_AIO_PRIO_DELTA_MAX___282 = 25,
    _SC_DELAYTIMER_MAX___282 = 26,
    _SC_MQ_OPEN_MAX___282 = 27,
    _SC_MQ_PRIO_MAX___282 = 28,
    _SC_VERSION___282 = 29,
    _SC_PAGESIZE___282 = 30,
    _SC_RTSIG_MAX___282 = 31,
    _SC_SEM_NSEMS_MAX___282 = 32,
    _SC_SEM_VALUE_MAX___282 = 33,
    _SC_SIGQUEUE_MAX___282 = 34,
    _SC_TIMER_MAX___282 = 35,
    _SC_BC_BASE_MAX___282 = 36,
    _SC_BC_DIM_MAX___282 = 37,
    _SC_BC_SCALE_MAX___282 = 38,
    _SC_BC_STRING_MAX___282 = 39,
    _SC_COLL_WEIGHTS_MAX___282 = 40,
    _SC_EQUIV_CLASS_MAX___282 = 41,
    _SC_EXPR_NEST_MAX___282 = 42,
    _SC_LINE_MAX___282 = 43,
    _SC_RE_DUP_MAX___282 = 44,
    _SC_CHARCLASS_NAME_MAX___282 = 45,
    _SC_2_VERSION___282 = 46,
    _SC_2_C_BIND___282 = 47,
    _SC_2_C_DEV___282 = 48,
    _SC_2_FORT_DEV___282 = 49,
    _SC_2_FORT_RUN___282 = 50,
    _SC_2_SW_DEV___282 = 51,
    _SC_2_LOCALEDEF___282 = 52,
    _SC_PII___282 = 53,
    _SC_PII_XTI___282 = 54,
    _SC_PII_SOCKET___282 = 55,
    _SC_PII_INTERNET___282 = 56,
    _SC_PII_OSI___282 = 57,
    _SC_POLL___282 = 58,
    _SC_SELECT___282 = 59,
    _SC_UIO_MAXIOV___282 = 60,
    _SC_IOV_MAX___282 = 60,
    _SC_PII_INTERNET_STREAM___282 = 61,
    _SC_PII_INTERNET_DGRAM___282 = 62,
    _SC_PII_OSI_COTS___282 = 63,
    _SC_PII_OSI_CLTS___282 = 64,
    _SC_PII_OSI_M___282 = 65,
    _SC_T_IOV_MAX___282 = 66,
    _SC_THREADS___282 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___282 = 68,
    _SC_GETGR_R_SIZE_MAX___282 = 69,
    _SC_GETPW_R_SIZE_MAX___282 = 70,
    _SC_LOGIN_NAME_MAX___282 = 71,
    _SC_TTY_NAME_MAX___282 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___282 = 73,
    _SC_THREAD_KEYS_MAX___282 = 74,
    _SC_THREAD_STACK_MIN___282 = 75,
    _SC_THREAD_THREADS_MAX___282 = 76,
    _SC_THREAD_ATTR_STACKADDR___282 = 77,
    _SC_THREAD_ATTR_STACKSIZE___282 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___282 = 79,
    _SC_THREAD_PRIO_INHERIT___282 = 80,
    _SC_THREAD_PRIO_PROTECT___282 = 81,
    _SC_THREAD_PROCESS_SHARED___282 = 82,
    _SC_NPROCESSORS_CONF___282 = 83,
    _SC_NPROCESSORS_ONLN___282 = 84,
    _SC_PHYS_PAGES___282 = 85,
    _SC_AVPHYS_PAGES___282 = 86,
    _SC_ATEXIT_MAX___282 = 87,
    _SC_PASS_MAX___282 = 88,
    _SC_XOPEN_VERSION___282 = 89,
    _SC_XOPEN_XCU_VERSION___282 = 90,
    _SC_XOPEN_UNIX___282 = 91,
    _SC_XOPEN_CRYPT___282 = 92,
    _SC_XOPEN_ENH_I18N___282 = 93,
    _SC_XOPEN_SHM___282 = 94,
    _SC_2_CHAR_TERM___282 = 95,
    _SC_2_C_VERSION___282 = 96,
    _SC_2_UPE___282 = 97,
    _SC_XOPEN_XPG2___282 = 98,
    _SC_XOPEN_XPG3___282 = 99,
    _SC_XOPEN_XPG4___282 = 100,
    _SC_CHAR_BIT___282 = 101,
    _SC_CHAR_MAX___282 = 102,
    _SC_CHAR_MIN___282 = 103,
    _SC_INT_MAX___282 = 104,
    _SC_INT_MIN___282 = 105,
    _SC_LONG_BIT___282 = 106,
    _SC_WORD_BIT___282 = 107,
    _SC_MB_LEN_MAX___282 = 108,
    _SC_NZERO___282 = 109,
    _SC_SSIZE_MAX___282 = 110,
    _SC_SCHAR_MAX___282 = 111,
    _SC_SCHAR_MIN___282 = 112,
    _SC_SHRT_MAX___282 = 113,
    _SC_SHRT_MIN___282 = 114,
    _SC_UCHAR_MAX___282 = 115,
    _SC_UINT_MAX___282 = 116,
    _SC_ULONG_MAX___282 = 117,
    _SC_USHRT_MAX___282 = 118,
    _SC_NL_ARGMAX___282 = 119,
    _SC_NL_LANGMAX___282 = 120,
    _SC_NL_MSGMAX___282 = 121,
    _SC_NL_NMAX___282 = 122,
    _SC_NL_SETMAX___282 = 123,
    _SC_NL_TEXTMAX___282 = 124,
    _SC_XBS5_ILP32_OFF32___282 = 125,
    _SC_XBS5_ILP32_OFFBIG___282 = 126,
    _SC_XBS5_LP64_OFF64___282 = 127,
    _SC_XBS5_LPBIG_OFFBIG___282 = 128,
    _SC_XOPEN_LEGACY___282 = 129,
    _SC_XOPEN_REALTIME___282 = 130,
    _SC_XOPEN_REALTIME_THREADS___282 = 131,
    _SC_ADVISORY_INFO___282 = 132,
    _SC_BARRIERS___282 = 133,
    _SC_BASE___282 = 134,
    _SC_C_LANG_SUPPORT___282 = 135,
    _SC_C_LANG_SUPPORT_R___282 = 136,
    _SC_CLOCK_SELECTION___282 = 137,
    _SC_CPUTIME___282 = 138,
    _SC_THREAD_CPUTIME___282 = 139,
    _SC_DEVICE_IO___282 = 140,
    _SC_DEVICE_SPECIFIC___282 = 141,
    _SC_DEVICE_SPECIFIC_R___282 = 142,
    _SC_FD_MGMT___282 = 143,
    _SC_FIFO___282 = 144,
    _SC_PIPE___282 = 145,
    _SC_FILE_ATTRIBUTES___282 = 146,
    _SC_FILE_LOCKING___282 = 147,
    _SC_FILE_SYSTEM___282 = 148,
    _SC_MONOTONIC_CLOCK___282 = 149,
    _SC_MULTI_PROCESS___282 = 150,
    _SC_SINGLE_PROCESS___282 = 151,
    _SC_NETWORKING___282 = 152,
    _SC_READER_WRITER_LOCKS___282 = 153,
    _SC_SPIN_LOCKS___282 = 154,
    _SC_REGEXP___282 = 155,
    _SC_REGEX_VERSION___282 = 156,
    _SC_SHELL___282 = 157,
    _SC_SIGNALS___282 = 158,
    _SC_SPAWN___282 = 159,
    _SC_SPORADIC_SERVER___282 = 160,
    _SC_THREAD_SPORADIC_SERVER___282 = 161,
    _SC_SYSTEM_DATABASE___282 = 162,
    _SC_SYSTEM_DATABASE_R___282 = 163,
    _SC_TIMEOUTS___282 = 164,
    _SC_TYPED_MEMORY_OBJECTS___282 = 165,
    _SC_USER_GROUPS___282 = 166,
    _SC_USER_GROUPS_R___282 = 167,
    _SC_2_PBS___282 = 168,
    _SC_2_PBS_ACCOUNTING___282 = 169,
    _SC_2_PBS_LOCATE___282 = 170,
    _SC_2_PBS_MESSAGE___282 = 171,
    _SC_2_PBS_TRACK___282 = 172,
    _SC_SYMLOOP_MAX___282 = 173,
    _SC_STREAMS___282 = 174,
    _SC_2_PBS_CHECKPOINT___282 = 175,
    _SC_V6_ILP32_OFF32___282 = 176,
    _SC_V6_ILP32_OFFBIG___282 = 177,
    _SC_V6_LP64_OFF64___282 = 178,
    _SC_V6_LPBIG_OFFBIG___282 = 179,
    _SC_HOST_NAME_MAX___282 = 180,
    _SC_TRACE___282 = 181,
    _SC_TRACE_EVENT_FILTER___282 = 182,
    _SC_TRACE_INHERIT___282 = 183,
    _SC_TRACE_LOG___282 = 184,
    _SC_LEVEL1_ICACHE_SIZE___282 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___282 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___282 = 187,
    _SC_LEVEL1_DCACHE_SIZE___282 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___282 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___282 = 190,
    _SC_LEVEL2_CACHE_SIZE___282 = 191,
    _SC_LEVEL2_CACHE_ASSOC___282 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___282 = 193,
    _SC_LEVEL3_CACHE_SIZE___282 = 194,
    _SC_LEVEL3_CACHE_ASSOC___282 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___282 = 196,
    _SC_LEVEL4_CACHE_SIZE___282 = 197,
    _SC_LEVEL4_CACHE_ASSOC___282 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___282 = 199,
    _SC_IPV6___282 = 235,
    _SC_RAW_SOCKETS___282 = 236,
    _SC_V7_ILP32_OFF32___282 = 237,
    _SC_V7_ILP32_OFFBIG___282 = 238,
    _SC_V7_LP64_OFF64___282 = 239,
    _SC_V7_LPBIG_OFFBIG___282 = 240,
    _SC_SS_REPL_MAX___282 = 241,
    _SC_TRACE_EVENT_NAME_MAX___282 = 242,
    _SC_TRACE_NAME_MAX___282 = 243,
    _SC_TRACE_SYS_MAX___282 = 244,
    _SC_TRACE_USER_EVENT_MAX___282 = 245,
    _SC_XOPEN_STREAMS___282 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___282 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___282 = 248
} ;
enum __anonenum_875524036___282 {
    _CS_PATH___282 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___282 = 1,
    _CS_GNU_LIBC_VERSION___282 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___282 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___282 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___282 = 5,
    _CS_LFS_CFLAGS___282 = 1000,
    _CS_LFS_LDFLAGS___282 = 1001,
    _CS_LFS_LIBS___282 = 1002,
    _CS_LFS_LINTFLAGS___282 = 1003,
    _CS_LFS64_CFLAGS___282 = 1004,
    _CS_LFS64_LDFLAGS___282 = 1005,
    _CS_LFS64_LIBS___282 = 1006,
    _CS_LFS64_LINTFLAGS___282 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___282 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___282 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___282 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___282 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___282 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___282 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___282 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___282 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___282 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___282 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___282 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___282 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___282 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___282 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___282 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___282 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___282 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___282 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___282 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___282 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___282 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___282 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___282 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___282 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___282 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___282 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___282 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___282 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___282 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___282 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___282 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___282 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___282 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___282 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___282 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___282 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___282 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___282 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___282 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___282 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___282 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___282 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___282 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___282 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___282 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___282 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___282 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___282 = 1147,
    _CS_V6_ENV___282 = 1148,
    _CS_V7_ENV___282 = 1149
} ;
enum __anonenum_513775621___282 {
    DT_UNKNOWN___282 = 0,
    DT_FIFO___282 = 1,
    DT_CHR___282 = 2,
    DT_DIR___282 = 4,
    DT_BLK___282 = 6,
    DT_REG___282 = 8,
    DT_LNK___282 = 10,
    DT_SOCK___282 = 12,
    DT_WHT___282 = 14
} ;
enum __anonenum_77002343___282 {
    SI_ASYNCNL___282 = -60,
    SI_TKILL___282 = -6,
    SI_SIGIO___282 = -5,
    SI_ASYNCIO___282 = -4,
    SI_MESGQ___282 = -3,
    SI_TIMER___282 = -2,
    SI_QUEUE___282 = -1,
    SI_USER___282 = 0,
    SI_KERNEL___282 = 128
} ;
enum __anonenum_131038172___282 {
    ILL_ILLOPC___282 = 1,
    ILL_ILLOPN___282 = 2,
    ILL_ILLADR___282 = 3,
    ILL_ILLTRP___282 = 4,
    ILL_PRVOPC___282 = 5,
    ILL_PRVREG___282 = 6,
    ILL_COPROC___282 = 7,
    ILL_BADSTK___282 = 8
} ;
enum __anonenum_452038093___282 {
    FPE_INTDIV___282 = 1,
    FPE_INTOVF___282 = 2,
    FPE_FLTDIV___282 = 3,
    FPE_FLTOVF___282 = 4,
    FPE_FLTUND___282 = 5,
    FPE_FLTRES___282 = 6,
    FPE_FLTINV___282 = 7,
    FPE_FLTSUB___282 = 8
} ;
enum __anonenum_30976155___282 {
    SEGV_MAPERR___282 = 1,
    SEGV_ACCERR___282 = 2,
    SEGV_BNDERR___282 = 3,
    SEGV_PKUERR___282 = 4
} ;
enum __anonenum_1036286214___282 {
    BUS_ADRALN___282 = 1,
    BUS_ADRERR___282 = 2,
    BUS_OBJERR___282 = 3,
    BUS_MCEERR_AR___282 = 4,
    BUS_MCEERR_AO___282 = 5
} ;
enum __anonenum_493465559___282 {
    TRAP_BRKPT___282 = 1,
    TRAP_TRACE___282 = 2
} ;
enum __anonenum_23175539___282 {
    CLD_EXITED___282 = 1,
    CLD_KILLED___282 = 2,
    CLD_DUMPED___282 = 3,
    CLD_TRAPPED___282 = 4,
    CLD_STOPPED___282 = 5,
    CLD_CONTINUED___282 = 6
} ;
enum __anonenum_111643124___282 {
    POLL_IN___282 = 1,
    POLL_OUT___282 = 2,
    POLL_MSG___282 = 3,
    POLL_ERR___282 = 4,
    POLL_PRI___282 = 5,
    POLL_HUP___282 = 6
} ;
enum __anonenum_852341087___282 {
    SIGEV_SIGNAL___282 = 0,
    SIGEV_NONE___282 = 1,
    SIGEV_THREAD___282 = 2,
    SIGEV_THREAD_ID___282 = 4
} ;
enum __anonenum_451154152___282 {
    REG_R8___282 = 0,
    REG_R9___282 = 1,
    REG_R10___282 = 2,
    REG_R11___282 = 3,
    REG_R12___282 = 4,
    REG_R13___282 = 5,
    REG_R14___282 = 6,
    REG_R15___282 = 7,
    REG_RDI___282 = 8,
    REG_RSI___282 = 9,
    REG_RBP___282 = 10,
    REG_RBX___282 = 11,
    REG_RDX___282 = 12,
    REG_RAX___282 = 13,
    REG_RCX___282 = 14,
    REG_RSP___282 = 15,
    REG_RIP___282 = 16,
    REG_EFL___282 = 17,
    REG_CSGSFS___282 = 18,
    REG_ERR___282 = 19,
    REG_TRAPNO___282 = 20,
    REG_OLDMASK___282 = 21,
    REG_CR2___282 = 22
} ;
enum __anonenum_57186863___282 {
    SS_ONSTACK___282 = 1,
    SS_DISABLE___282 = 2
} ;
enum __anonenum_83571709___282 {
    MSG_OOB___282 = 1,
    MSG_PEEK___282 = 2,
    MSG_DONTROUTE___282 = 4,
    MSG_TRYHARD___282 = 4,
    MSG_CTRUNC___282 = 8,
    MSG_PROXY___282 = 16,
    MSG_TRUNC___282 = 32,
    MSG_DONTWAIT___282 = 64,
    MSG_EOR___282 = 128,
    MSG_WAITALL___282 = 256,
    MSG_FIN___282 = 512,
    MSG_SYN___282 = 1024,
    MSG_CONFIRM___282 = 2048,
    MSG_RST___282 = 4096,
    MSG_ERRQUEUE___282 = 8192,
    MSG_NOSIGNAL___282 = 16384,
    MSG_MORE___282 = 32768,
    MSG_WAITFORONE___282 = 65536,
    MSG_BATCH___282 = 262144,
    MSG_ZEROCOPY___282 = 67108864,
    MSG_FASTOPEN___282 = 536870912,
    MSG_CMSG_CLOEXEC___282 = 1073741824
} ;
enum __anonenum_617082774___282 {
    SCM_RIGHTS___282 = 1,
    SCM_CREDENTIALS___282 = 2
} ;
enum __anonenum_606441560___282 {
    SHUT_RD___282 = 0,
    SHUT_WR___282 = 1,
    SHUT_RDWR___282 = 2
} ;
enum __anonenum_681669233___282 {
    IPPROTO_IP___282 = 0,
    IPPROTO_ICMP___282 = 1,
    IPPROTO_IGMP___282 = 2,
    IPPROTO_IPIP___282 = 4,
    IPPROTO_TCP___282 = 6,
    IPPROTO_EGP___282 = 8,
    IPPROTO_PUP___282 = 12,
    IPPROTO_UDP___282 = 17,
    IPPROTO_IDP___282 = 22,
    IPPROTO_TP___282 = 29,
    IPPROTO_DCCP___282 = 33,
    IPPROTO_IPV6___282 = 41,
    IPPROTO_RSVP___282 = 46,
    IPPROTO_GRE___282 = 47,
    IPPROTO_ESP___282 = 50,
    IPPROTO_AH___282 = 51,
    IPPROTO_MTP___282 = 92,
    IPPROTO_BEETPH___282 = 94,
    IPPROTO_ENCAP___282 = 98,
    IPPROTO_PIM___282 = 103,
    IPPROTO_COMP___282 = 108,
    IPPROTO_SCTP___282 = 132,
    IPPROTO_UDPLITE___282 = 136,
    IPPROTO_MPLS___282 = 137,
    IPPROTO_RAW___282 = 255,
    IPPROTO_MAX___282 = 256
} ;
enum __anonenum_218739988___282 {
    IPPROTO_HOPOPTS___282 = 0,
    IPPROTO_ROUTING___282 = 43,
    IPPROTO_FRAGMENT___282 = 44,
    IPPROTO_ICMPV6___282 = 58,
    IPPROTO_NONE___282 = 59,
    IPPROTO_DSTOPTS___282 = 60,
    IPPROTO_MH___282 = 135
} ;
enum __anonenum_662268580___282 {
    IPPORT_ECHO___282 = 7,
    IPPORT_DISCARD___282 = 9,
    IPPORT_SYSTAT___282 = 11,
    IPPORT_DAYTIME___282 = 13,
    IPPORT_NETSTAT___282 = 15,
    IPPORT_FTP___282 = 21,
    IPPORT_TELNET___282 = 23,
    IPPORT_SMTP___282 = 25,
    IPPORT_TIMESERVER___282 = 37,
    IPPORT_NAMESERVER___282 = 42,
    IPPORT_WHOIS___282 = 43,
    IPPORT_MTP___282 = 57,
    IPPORT_TFTP___282 = 69,
    IPPORT_RJE___282 = 77,
    IPPORT_FINGER___282 = 79,
    IPPORT_TTYLINK___282 = 87,
    IPPORT_SUPDUP___282 = 95,
    IPPORT_EXECSERVER___282 = 512,
    IPPORT_LOGINSERVER___282 = 513,
    IPPORT_CMDSERVER___282 = 514,
    IPPORT_EFSSERVER___282 = 520,
    IPPORT_BIFFUDP___282 = 512,
    IPPORT_WHOSERVER___282 = 513,
    IPPORT_ROUTESERVER___282 = 520,
    IPPORT_RESERVED___282 = 1024,
    IPPORT_USERRESERVED___282 = 5000
} ;
enum __anonenum_788308992___282 {
    TCP_ESTABLISHED___282 = 1,
    TCP_SYN_SENT___282 = 2,
    TCP_SYN_RECV___282 = 3,
    TCP_FIN_WAIT1___282 = 4,
    TCP_FIN_WAIT2___282 = 5,
    TCP_TIME_WAIT___282 = 6,
    TCP_CLOSE___282 = 7,
    TCP_CLOSE_WAIT___282 = 8,
    TCP_LAST_ACK___282 = 9,
    TCP_LISTEN___282 = 10,
    TCP_CLOSING___282 = 11
} ;
enum __anonenum_221125648___282 {
    TCP_NO_QUEUE___282 = 0,
    TCP_RECV_QUEUE___282 = 1,
    TCP_SEND_QUEUE___282 = 2,
    TCP_QUEUES_NR___282 = 3
} ;
enum __anonenum_34415463___282 {
    PTHREAD_CREATE_JOINABLE___282 = 0,
    PTHREAD_CREATE_DETACHED___282 = 1
} ;
enum __anonenum_303612439___282 {
    PTHREAD_MUTEX_TIMED_NP___282 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___282 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___282 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___282 = 3,
    PTHREAD_MUTEX_NORMAL___282 = 0,
    PTHREAD_MUTEX_RECURSIVE___282 = 1,
    PTHREAD_MUTEX_ERRORCHECK___282 = 2,
    PTHREAD_MUTEX_DEFAULT___282 = 0,
    PTHREAD_MUTEX_FAST_NP___282 = 0
} ;
enum __anonenum_931900394___282 {
    PTHREAD_MUTEX_STALLED___282 = 0,
    PTHREAD_MUTEX_STALLED_NP___282 = 0,
    PTHREAD_MUTEX_ROBUST___282 = 1,
    PTHREAD_MUTEX_ROBUST_NP___282 = 1
} ;
enum __anonenum_205214487___282 {
    PTHREAD_PRIO_NONE___282 = 0,
    PTHREAD_PRIO_INHERIT___282 = 1,
    PTHREAD_PRIO_PROTECT___282 = 2
} ;
enum __anonenum_25043950___282 {
    PTHREAD_RWLOCK_PREFER_READER_NP___282 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___282 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___282 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___282 = 0
} ;
enum __anonenum_436439511___282 {
    PTHREAD_INHERIT_SCHED___282 = 0,
    PTHREAD_EXPLICIT_SCHED___282 = 1
} ;
enum __anonenum_998661166___282 {
    PTHREAD_SCOPE_SYSTEM___282 = 0,
    PTHREAD_SCOPE_PROCESS___282 = 1
} ;
enum __anonenum_146137331___282 {
    PTHREAD_PROCESS_PRIVATE___282 = 0,
    PTHREAD_PROCESS_SHARED___282 = 1
} ;
enum __anonenum_53396917___282 {
    PTHREAD_CANCEL_ENABLE___282 = 0,
    PTHREAD_CANCEL_DISABLE___282 = 1
} ;
enum __anonenum_904563783___282 {
    PTHREAD_CANCEL_DEFERRED___282 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___282 = 1
} ;
enum __anonenum_672052974___282 {
    SSL_CT_VALIDATION_PERMISSIVE___282 = 0,
    SSL_CT_VALIDATION_STRICT___282 = 1
} ;
enum __anonenum_561748495___17 {
    RECURSE_SUBMODULES_ONLY___17 = -5,
    RECURSE_SUBMODULES_CHECK___17 = -4,
    RECURSE_SUBMODULES_ERROR___17 = -3,
    RECURSE_SUBMODULES_NONE___17 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___17 = -1,
    RECURSE_SUBMODULES_OFF___17 = 0,
    RECURSE_SUBMODULES_DEFAULT___17 = 1,
    RECURSE_SUBMODULES_ON___17 = 2
} ;
enum __anonenum_437032235___283 {
    _PC_LINK_MAX___283 = 0,
    _PC_MAX_CANON___283 = 1,
    _PC_MAX_INPUT___283 = 2,
    _PC_NAME_MAX___283 = 3,
    _PC_PATH_MAX___283 = 4,
    _PC_PIPE_BUF___283 = 5,
    _PC_CHOWN_RESTRICTED___283 = 6,
    _PC_NO_TRUNC___283 = 7,
    _PC_VDISABLE___283 = 8,
    _PC_SYNC_IO___283 = 9,
    _PC_ASYNC_IO___283 = 10,
    _PC_PRIO_IO___283 = 11,
    _PC_SOCK_MAXBUF___283 = 12,
    _PC_FILESIZEBITS___283 = 13,
    _PC_REC_INCR_XFER_SIZE___283 = 14,
    _PC_REC_MAX_XFER_SIZE___283 = 15,
    _PC_REC_MIN_XFER_SIZE___283 = 16,
    _PC_REC_XFER_ALIGN___283 = 17,
    _PC_ALLOC_SIZE_MIN___283 = 18,
    _PC_SYMLINK_MAX___283 = 19,
    _PC_2_SYMLINKS___283 = 20
} ;
enum __anonenum_315186338___283 {
    _SC_ARG_MAX___283 = 0,
    _SC_CHILD_MAX___283 = 1,
    _SC_CLK_TCK___283 = 2,
    _SC_NGROUPS_MAX___283 = 3,
    _SC_OPEN_MAX___283 = 4,
    _SC_STREAM_MAX___283 = 5,
    _SC_TZNAME_MAX___283 = 6,
    _SC_JOB_CONTROL___283 = 7,
    _SC_SAVED_IDS___283 = 8,
    _SC_REALTIME_SIGNALS___283 = 9,
    _SC_PRIORITY_SCHEDULING___283 = 10,
    _SC_TIMERS___283 = 11,
    _SC_ASYNCHRONOUS_IO___283 = 12,
    _SC_PRIORITIZED_IO___283 = 13,
    _SC_SYNCHRONIZED_IO___283 = 14,
    _SC_FSYNC___283 = 15,
    _SC_MAPPED_FILES___283 = 16,
    _SC_MEMLOCK___283 = 17,
    _SC_MEMLOCK_RANGE___283 = 18,
    _SC_MEMORY_PROTECTION___283 = 19,
    _SC_MESSAGE_PASSING___283 = 20,
    _SC_SEMAPHORES___283 = 21,
    _SC_SHARED_MEMORY_OBJECTS___283 = 22,
    _SC_AIO_LISTIO_MAX___283 = 23,
    _SC_AIO_MAX___283 = 24,
    _SC_AIO_PRIO_DELTA_MAX___283 = 25,
    _SC_DELAYTIMER_MAX___283 = 26,
    _SC_MQ_OPEN_MAX___283 = 27,
    _SC_MQ_PRIO_MAX___283 = 28,
    _SC_VERSION___283 = 29,
    _SC_PAGESIZE___283 = 30,
    _SC_RTSIG_MAX___283 = 31,
    _SC_SEM_NSEMS_MAX___283 = 32,
    _SC_SEM_VALUE_MAX___283 = 33,
    _SC_SIGQUEUE_MAX___283 = 34,
    _SC_TIMER_MAX___283 = 35,
    _SC_BC_BASE_MAX___283 = 36,
    _SC_BC_DIM_MAX___283 = 37,
    _SC_BC_SCALE_MAX___283 = 38,
    _SC_BC_STRING_MAX___283 = 39,
    _SC_COLL_WEIGHTS_MAX___283 = 40,
    _SC_EQUIV_CLASS_MAX___283 = 41,
    _SC_EXPR_NEST_MAX___283 = 42,
    _SC_LINE_MAX___283 = 43,
    _SC_RE_DUP_MAX___283 = 44,
    _SC_CHARCLASS_NAME_MAX___283 = 45,
    _SC_2_VERSION___283 = 46,
    _SC_2_C_BIND___283 = 47,
    _SC_2_C_DEV___283 = 48,
    _SC_2_FORT_DEV___283 = 49,
    _SC_2_FORT_RUN___283 = 50,
    _SC_2_SW_DEV___283 = 51,
    _SC_2_LOCALEDEF___283 = 52,
    _SC_PII___283 = 53,
    _SC_PII_XTI___283 = 54,
    _SC_PII_SOCKET___283 = 55,
    _SC_PII_INTERNET___283 = 56,
    _SC_PII_OSI___283 = 57,
    _SC_POLL___283 = 58,
    _SC_SELECT___283 = 59,
    _SC_UIO_MAXIOV___283 = 60,
    _SC_IOV_MAX___283 = 60,
    _SC_PII_INTERNET_STREAM___283 = 61,
    _SC_PII_INTERNET_DGRAM___283 = 62,
    _SC_PII_OSI_COTS___283 = 63,
    _SC_PII_OSI_CLTS___283 = 64,
    _SC_PII_OSI_M___283 = 65,
    _SC_T_IOV_MAX___283 = 66,
    _SC_THREADS___283 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___283 = 68,
    _SC_GETGR_R_SIZE_MAX___283 = 69,
    _SC_GETPW_R_SIZE_MAX___283 = 70,
    _SC_LOGIN_NAME_MAX___283 = 71,
    _SC_TTY_NAME_MAX___283 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___283 = 73,
    _SC_THREAD_KEYS_MAX___283 = 74,
    _SC_THREAD_STACK_MIN___283 = 75,
    _SC_THREAD_THREADS_MAX___283 = 76,
    _SC_THREAD_ATTR_STACKADDR___283 = 77,
    _SC_THREAD_ATTR_STACKSIZE___283 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___283 = 79,
    _SC_THREAD_PRIO_INHERIT___283 = 80,
    _SC_THREAD_PRIO_PROTECT___283 = 81,
    _SC_THREAD_PROCESS_SHARED___283 = 82,
    _SC_NPROCESSORS_CONF___283 = 83,
    _SC_NPROCESSORS_ONLN___283 = 84,
    _SC_PHYS_PAGES___283 = 85,
    _SC_AVPHYS_PAGES___283 = 86,
    _SC_ATEXIT_MAX___283 = 87,
    _SC_PASS_MAX___283 = 88,
    _SC_XOPEN_VERSION___283 = 89,
    _SC_XOPEN_XCU_VERSION___283 = 90,
    _SC_XOPEN_UNIX___283 = 91,
    _SC_XOPEN_CRYPT___283 = 92,
    _SC_XOPEN_ENH_I18N___283 = 93,
    _SC_XOPEN_SHM___283 = 94,
    _SC_2_CHAR_TERM___283 = 95,
    _SC_2_C_VERSION___283 = 96,
    _SC_2_UPE___283 = 97,
    _SC_XOPEN_XPG2___283 = 98,
    _SC_XOPEN_XPG3___283 = 99,
    _SC_XOPEN_XPG4___283 = 100,
    _SC_CHAR_BIT___283 = 101,
    _SC_CHAR_MAX___283 = 102,
    _SC_CHAR_MIN___283 = 103,
    _SC_INT_MAX___283 = 104,
    _SC_INT_MIN___283 = 105,
    _SC_LONG_BIT___283 = 106,
    _SC_WORD_BIT___283 = 107,
    _SC_MB_LEN_MAX___283 = 108,
    _SC_NZERO___283 = 109,
    _SC_SSIZE_MAX___283 = 110,
    _SC_SCHAR_MAX___283 = 111,
    _SC_SCHAR_MIN___283 = 112,
    _SC_SHRT_MAX___283 = 113,
    _SC_SHRT_MIN___283 = 114,
    _SC_UCHAR_MAX___283 = 115,
    _SC_UINT_MAX___283 = 116,
    _SC_ULONG_MAX___283 = 117,
    _SC_USHRT_MAX___283 = 118,
    _SC_NL_ARGMAX___283 = 119,
    _SC_NL_LANGMAX___283 = 120,
    _SC_NL_MSGMAX___283 = 121,
    _SC_NL_NMAX___283 = 122,
    _SC_NL_SETMAX___283 = 123,
    _SC_NL_TEXTMAX___283 = 124,
    _SC_XBS5_ILP32_OFF32___283 = 125,
    _SC_XBS5_ILP32_OFFBIG___283 = 126,
    _SC_XBS5_LP64_OFF64___283 = 127,
    _SC_XBS5_LPBIG_OFFBIG___283 = 128,
    _SC_XOPEN_LEGACY___283 = 129,
    _SC_XOPEN_REALTIME___283 = 130,
    _SC_XOPEN_REALTIME_THREADS___283 = 131,
    _SC_ADVISORY_INFO___283 = 132,
    _SC_BARRIERS___283 = 133,
    _SC_BASE___283 = 134,
    _SC_C_LANG_SUPPORT___283 = 135,
    _SC_C_LANG_SUPPORT_R___283 = 136,
    _SC_CLOCK_SELECTION___283 = 137,
    _SC_CPUTIME___283 = 138,
    _SC_THREAD_CPUTIME___283 = 139,
    _SC_DEVICE_IO___283 = 140,
    _SC_DEVICE_SPECIFIC___283 = 141,
    _SC_DEVICE_SPECIFIC_R___283 = 142,
    _SC_FD_MGMT___283 = 143,
    _SC_FIFO___283 = 144,
    _SC_PIPE___283 = 145,
    _SC_FILE_ATTRIBUTES___283 = 146,
    _SC_FILE_LOCKING___283 = 147,
    _SC_FILE_SYSTEM___283 = 148,
    _SC_MONOTONIC_CLOCK___283 = 149,
    _SC_MULTI_PROCESS___283 = 150,
    _SC_SINGLE_PROCESS___283 = 151,
    _SC_NETWORKING___283 = 152,
    _SC_READER_WRITER_LOCKS___283 = 153,
    _SC_SPIN_LOCKS___283 = 154,
    _SC_REGEXP___283 = 155,
    _SC_REGEX_VERSION___283 = 156,
    _SC_SHELL___283 = 157,
    _SC_SIGNALS___283 = 158,
    _SC_SPAWN___283 = 159,
    _SC_SPORADIC_SERVER___283 = 160,
    _SC_THREAD_SPORADIC_SERVER___283 = 161,
    _SC_SYSTEM_DATABASE___283 = 162,
    _SC_SYSTEM_DATABASE_R___283 = 163,
    _SC_TIMEOUTS___283 = 164,
    _SC_TYPED_MEMORY_OBJECTS___283 = 165,
    _SC_USER_GROUPS___283 = 166,
    _SC_USER_GROUPS_R___283 = 167,
    _SC_2_PBS___283 = 168,
    _SC_2_PBS_ACCOUNTING___283 = 169,
    _SC_2_PBS_LOCATE___283 = 170,
    _SC_2_PBS_MESSAGE___283 = 171,
    _SC_2_PBS_TRACK___283 = 172,
    _SC_SYMLOOP_MAX___283 = 173,
    _SC_STREAMS___283 = 174,
    _SC_2_PBS_CHECKPOINT___283 = 175,
    _SC_V6_ILP32_OFF32___283 = 176,
    _SC_V6_ILP32_OFFBIG___283 = 177,
    _SC_V6_LP64_OFF64___283 = 178,
    _SC_V6_LPBIG_OFFBIG___283 = 179,
    _SC_HOST_NAME_MAX___283 = 180,
    _SC_TRACE___283 = 181,
    _SC_TRACE_EVENT_FILTER___283 = 182,
    _SC_TRACE_INHERIT___283 = 183,
    _SC_TRACE_LOG___283 = 184,
    _SC_LEVEL1_ICACHE_SIZE___283 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___283 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___283 = 187,
    _SC_LEVEL1_DCACHE_SIZE___283 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___283 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___283 = 190,
    _SC_LEVEL2_CACHE_SIZE___283 = 191,
    _SC_LEVEL2_CACHE_ASSOC___283 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___283 = 193,
    _SC_LEVEL3_CACHE_SIZE___283 = 194,
    _SC_LEVEL3_CACHE_ASSOC___283 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___283 = 196,
    _SC_LEVEL4_CACHE_SIZE___283 = 197,
    _SC_LEVEL4_CACHE_ASSOC___283 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___283 = 199,
    _SC_IPV6___283 = 235,
    _SC_RAW_SOCKETS___283 = 236,
    _SC_V7_ILP32_OFF32___283 = 237,
    _SC_V7_ILP32_OFFBIG___283 = 238,
    _SC_V7_LP64_OFF64___283 = 239,
    _SC_V7_LPBIG_OFFBIG___283 = 240,
    _SC_SS_REPL_MAX___283 = 241,
    _SC_TRACE_EVENT_NAME_MAX___283 = 242,
    _SC_TRACE_NAME_MAX___283 = 243,
    _SC_TRACE_SYS_MAX___283 = 244,
    _SC_TRACE_USER_EVENT_MAX___283 = 245,
    _SC_XOPEN_STREAMS___283 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___283 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___283 = 248
} ;
enum __anonenum_875524036___283 {
    _CS_PATH___283 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___283 = 1,
    _CS_GNU_LIBC_VERSION___283 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___283 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___283 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___283 = 5,
    _CS_LFS_CFLAGS___283 = 1000,
    _CS_LFS_LDFLAGS___283 = 1001,
    _CS_LFS_LIBS___283 = 1002,
    _CS_LFS_LINTFLAGS___283 = 1003,
    _CS_LFS64_CFLAGS___283 = 1004,
    _CS_LFS64_LDFLAGS___283 = 1005,
    _CS_LFS64_LIBS___283 = 1006,
    _CS_LFS64_LINTFLAGS___283 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___283 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___283 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___283 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___283 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___283 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___283 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___283 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___283 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___283 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___283 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___283 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___283 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___283 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___283 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___283 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___283 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___283 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___283 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___283 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___283 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___283 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___283 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___283 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___283 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___283 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___283 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___283 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___283 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___283 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___283 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___283 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___283 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___283 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___283 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___283 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___283 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___283 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___283 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___283 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___283 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___283 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___283 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___283 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___283 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___283 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___283 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___283 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___283 = 1147,
    _CS_V6_ENV___283 = 1148,
    _CS_V7_ENV___283 = 1149
} ;
enum __anonenum_513775621___283 {
    DT_UNKNOWN___283 = 0,
    DT_FIFO___283 = 1,
    DT_CHR___283 = 2,
    DT_DIR___283 = 4,
    DT_BLK___283 = 6,
    DT_REG___283 = 8,
    DT_LNK___283 = 10,
    DT_SOCK___283 = 12,
    DT_WHT___283 = 14
} ;
enum __anonenum_77002343___283 {
    SI_ASYNCNL___283 = -60,
    SI_TKILL___283 = -6,
    SI_SIGIO___283 = -5,
    SI_ASYNCIO___283 = -4,
    SI_MESGQ___283 = -3,
    SI_TIMER___283 = -2,
    SI_QUEUE___283 = -1,
    SI_USER___283 = 0,
    SI_KERNEL___283 = 128
} ;
enum __anonenum_131038172___283 {
    ILL_ILLOPC___283 = 1,
    ILL_ILLOPN___283 = 2,
    ILL_ILLADR___283 = 3,
    ILL_ILLTRP___283 = 4,
    ILL_PRVOPC___283 = 5,
    ILL_PRVREG___283 = 6,
    ILL_COPROC___283 = 7,
    ILL_BADSTK___283 = 8
} ;
enum __anonenum_452038093___283 {
    FPE_INTDIV___283 = 1,
    FPE_INTOVF___283 = 2,
    FPE_FLTDIV___283 = 3,
    FPE_FLTOVF___283 = 4,
    FPE_FLTUND___283 = 5,
    FPE_FLTRES___283 = 6,
    FPE_FLTINV___283 = 7,
    FPE_FLTSUB___283 = 8
} ;
enum __anonenum_30976155___283 {
    SEGV_MAPERR___283 = 1,
    SEGV_ACCERR___283 = 2,
    SEGV_BNDERR___283 = 3,
    SEGV_PKUERR___283 = 4
} ;
enum __anonenum_1036286214___283 {
    BUS_ADRALN___283 = 1,
    BUS_ADRERR___283 = 2,
    BUS_OBJERR___283 = 3,
    BUS_MCEERR_AR___283 = 4,
    BUS_MCEERR_AO___283 = 5
} ;
enum __anonenum_493465559___283 {
    TRAP_BRKPT___283 = 1,
    TRAP_TRACE___283 = 2
} ;
enum __anonenum_23175539___283 {
    CLD_EXITED___283 = 1,
    CLD_KILLED___283 = 2,
    CLD_DUMPED___283 = 3,
    CLD_TRAPPED___283 = 4,
    CLD_STOPPED___283 = 5,
    CLD_CONTINUED___283 = 6
} ;
enum __anonenum_111643124___283 {
    POLL_IN___283 = 1,
    POLL_OUT___283 = 2,
    POLL_MSG___283 = 3,
    POLL_ERR___283 = 4,
    POLL_PRI___283 = 5,
    POLL_HUP___283 = 6
} ;
enum __anonenum_852341087___283 {
    SIGEV_SIGNAL___283 = 0,
    SIGEV_NONE___283 = 1,
    SIGEV_THREAD___283 = 2,
    SIGEV_THREAD_ID___283 = 4
} ;
enum __anonenum_451154152___283 {
    REG_R8___283 = 0,
    REG_R9___283 = 1,
    REG_R10___283 = 2,
    REG_R11___283 = 3,
    REG_R12___283 = 4,
    REG_R13___283 = 5,
    REG_R14___283 = 6,
    REG_R15___283 = 7,
    REG_RDI___283 = 8,
    REG_RSI___283 = 9,
    REG_RBP___283 = 10,
    REG_RBX___283 = 11,
    REG_RDX___283 = 12,
    REG_RAX___283 = 13,
    REG_RCX___283 = 14,
    REG_RSP___283 = 15,
    REG_RIP___283 = 16,
    REG_EFL___283 = 17,
    REG_CSGSFS___283 = 18,
    REG_ERR___283 = 19,
    REG_TRAPNO___283 = 20,
    REG_OLDMASK___283 = 21,
    REG_CR2___283 = 22
} ;
enum __anonenum_57186863___283 {
    SS_ONSTACK___283 = 1,
    SS_DISABLE___283 = 2
} ;
enum __anonenum_83571709___283 {
    MSG_OOB___283 = 1,
    MSG_PEEK___283 = 2,
    MSG_DONTROUTE___283 = 4,
    MSG_TRYHARD___283 = 4,
    MSG_CTRUNC___283 = 8,
    MSG_PROXY___283 = 16,
    MSG_TRUNC___283 = 32,
    MSG_DONTWAIT___283 = 64,
    MSG_EOR___283 = 128,
    MSG_WAITALL___283 = 256,
    MSG_FIN___283 = 512,
    MSG_SYN___283 = 1024,
    MSG_CONFIRM___283 = 2048,
    MSG_RST___283 = 4096,
    MSG_ERRQUEUE___283 = 8192,
    MSG_NOSIGNAL___283 = 16384,
    MSG_MORE___283 = 32768,
    MSG_WAITFORONE___283 = 65536,
    MSG_BATCH___283 = 262144,
    MSG_ZEROCOPY___283 = 67108864,
    MSG_FASTOPEN___283 = 536870912,
    MSG_CMSG_CLOEXEC___283 = 1073741824
} ;
enum __anonenum_617082774___283 {
    SCM_RIGHTS___283 = 1,
    SCM_CREDENTIALS___283 = 2
} ;
enum __anonenum_606441560___283 {
    SHUT_RD___283 = 0,
    SHUT_WR___283 = 1,
    SHUT_RDWR___283 = 2
} ;
enum __anonenum_681669233___283 {
    IPPROTO_IP___283 = 0,
    IPPROTO_ICMP___283 = 1,
    IPPROTO_IGMP___283 = 2,
    IPPROTO_IPIP___283 = 4,
    IPPROTO_TCP___283 = 6,
    IPPROTO_EGP___283 = 8,
    IPPROTO_PUP___283 = 12,
    IPPROTO_UDP___283 = 17,
    IPPROTO_IDP___283 = 22,
    IPPROTO_TP___283 = 29,
    IPPROTO_DCCP___283 = 33,
    IPPROTO_IPV6___283 = 41,
    IPPROTO_RSVP___283 = 46,
    IPPROTO_GRE___283 = 47,
    IPPROTO_ESP___283 = 50,
    IPPROTO_AH___283 = 51,
    IPPROTO_MTP___283 = 92,
    IPPROTO_BEETPH___283 = 94,
    IPPROTO_ENCAP___283 = 98,
    IPPROTO_PIM___283 = 103,
    IPPROTO_COMP___283 = 108,
    IPPROTO_SCTP___283 = 132,
    IPPROTO_UDPLITE___283 = 136,
    IPPROTO_MPLS___283 = 137,
    IPPROTO_RAW___283 = 255,
    IPPROTO_MAX___283 = 256
} ;
enum __anonenum_218739988___283 {
    IPPROTO_HOPOPTS___283 = 0,
    IPPROTO_ROUTING___283 = 43,
    IPPROTO_FRAGMENT___283 = 44,
    IPPROTO_ICMPV6___283 = 58,
    IPPROTO_NONE___283 = 59,
    IPPROTO_DSTOPTS___283 = 60,
    IPPROTO_MH___283 = 135
} ;
enum __anonenum_662268580___283 {
    IPPORT_ECHO___283 = 7,
    IPPORT_DISCARD___283 = 9,
    IPPORT_SYSTAT___283 = 11,
    IPPORT_DAYTIME___283 = 13,
    IPPORT_NETSTAT___283 = 15,
    IPPORT_FTP___283 = 21,
    IPPORT_TELNET___283 = 23,
    IPPORT_SMTP___283 = 25,
    IPPORT_TIMESERVER___283 = 37,
    IPPORT_NAMESERVER___283 = 42,
    IPPORT_WHOIS___283 = 43,
    IPPORT_MTP___283 = 57,
    IPPORT_TFTP___283 = 69,
    IPPORT_RJE___283 = 77,
    IPPORT_FINGER___283 = 79,
    IPPORT_TTYLINK___283 = 87,
    IPPORT_SUPDUP___283 = 95,
    IPPORT_EXECSERVER___283 = 512,
    IPPORT_LOGINSERVER___283 = 513,
    IPPORT_CMDSERVER___283 = 514,
    IPPORT_EFSSERVER___283 = 520,
    IPPORT_BIFFUDP___283 = 512,
    IPPORT_WHOSERVER___283 = 513,
    IPPORT_ROUTESERVER___283 = 520,
    IPPORT_RESERVED___283 = 1024,
    IPPORT_USERRESERVED___283 = 5000
} ;
enum __anonenum_788308992___283 {
    TCP_ESTABLISHED___283 = 1,
    TCP_SYN_SENT___283 = 2,
    TCP_SYN_RECV___283 = 3,
    TCP_FIN_WAIT1___283 = 4,
    TCP_FIN_WAIT2___283 = 5,
    TCP_TIME_WAIT___283 = 6,
    TCP_CLOSE___283 = 7,
    TCP_CLOSE_WAIT___283 = 8,
    TCP_LAST_ACK___283 = 9,
    TCP_LISTEN___283 = 10,
    TCP_CLOSING___283 = 11
} ;
enum __anonenum_221125648___283 {
    TCP_NO_QUEUE___283 = 0,
    TCP_RECV_QUEUE___283 = 1,
    TCP_SEND_QUEUE___283 = 2,
    TCP_QUEUES_NR___283 = 3
} ;
enum __anonenum_34415463___283 {
    PTHREAD_CREATE_JOINABLE___283 = 0,
    PTHREAD_CREATE_DETACHED___283 = 1
} ;
enum __anonenum_303612439___283 {
    PTHREAD_MUTEX_TIMED_NP___283 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___283 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___283 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___283 = 3,
    PTHREAD_MUTEX_NORMAL___283 = 0,
    PTHREAD_MUTEX_RECURSIVE___283 = 1,
    PTHREAD_MUTEX_ERRORCHECK___283 = 2,
    PTHREAD_MUTEX_DEFAULT___283 = 0,
    PTHREAD_MUTEX_FAST_NP___283 = 0
} ;
enum __anonenum_931900394___283 {
    PTHREAD_MUTEX_STALLED___283 = 0,
    PTHREAD_MUTEX_STALLED_NP___283 = 0,
    PTHREAD_MUTEX_ROBUST___283 = 1,
    PTHREAD_MUTEX_ROBUST_NP___283 = 1
} ;
enum __anonenum_205214487___283 {
    PTHREAD_PRIO_NONE___283 = 0,
    PTHREAD_PRIO_INHERIT___283 = 1,
    PTHREAD_PRIO_PROTECT___283 = 2
} ;
enum __anonenum_25043950___283 {
    PTHREAD_RWLOCK_PREFER_READER_NP___283 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___283 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___283 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___283 = 0
} ;
enum __anonenum_436439511___283 {
    PTHREAD_INHERIT_SCHED___283 = 0,
    PTHREAD_EXPLICIT_SCHED___283 = 1
} ;
enum __anonenum_998661166___283 {
    PTHREAD_SCOPE_SYSTEM___283 = 0,
    PTHREAD_SCOPE_PROCESS___283 = 1
} ;
enum __anonenum_146137331___283 {
    PTHREAD_PROCESS_PRIVATE___283 = 0,
    PTHREAD_PROCESS_SHARED___283 = 1
} ;
enum __anonenum_53396917___283 {
    PTHREAD_CANCEL_ENABLE___283 = 0,
    PTHREAD_CANCEL_DISABLE___283 = 1
} ;
enum __anonenum_904563783___283 {
    PTHREAD_CANCEL_DEFERRED___283 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___283 = 1
} ;
enum __anonenum_672052974___283 {
    SSL_CT_VALIDATION_PERMISSIVE___283 = 0,
    SSL_CT_VALIDATION_STRICT___283 = 1
} ;
enum __anonenum_437032235___284 {
    _PC_LINK_MAX___284 = 0,
    _PC_MAX_CANON___284 = 1,
    _PC_MAX_INPUT___284 = 2,
    _PC_NAME_MAX___284 = 3,
    _PC_PATH_MAX___284 = 4,
    _PC_PIPE_BUF___284 = 5,
    _PC_CHOWN_RESTRICTED___284 = 6,
    _PC_NO_TRUNC___284 = 7,
    _PC_VDISABLE___284 = 8,
    _PC_SYNC_IO___284 = 9,
    _PC_ASYNC_IO___284 = 10,
    _PC_PRIO_IO___284 = 11,
    _PC_SOCK_MAXBUF___284 = 12,
    _PC_FILESIZEBITS___284 = 13,
    _PC_REC_INCR_XFER_SIZE___284 = 14,
    _PC_REC_MAX_XFER_SIZE___284 = 15,
    _PC_REC_MIN_XFER_SIZE___284 = 16,
    _PC_REC_XFER_ALIGN___284 = 17,
    _PC_ALLOC_SIZE_MIN___284 = 18,
    _PC_SYMLINK_MAX___284 = 19,
    _PC_2_SYMLINKS___284 = 20
} ;
enum __anonenum_315186338___284 {
    _SC_ARG_MAX___284 = 0,
    _SC_CHILD_MAX___284 = 1,
    _SC_CLK_TCK___284 = 2,
    _SC_NGROUPS_MAX___284 = 3,
    _SC_OPEN_MAX___284 = 4,
    _SC_STREAM_MAX___284 = 5,
    _SC_TZNAME_MAX___284 = 6,
    _SC_JOB_CONTROL___284 = 7,
    _SC_SAVED_IDS___284 = 8,
    _SC_REALTIME_SIGNALS___284 = 9,
    _SC_PRIORITY_SCHEDULING___284 = 10,
    _SC_TIMERS___284 = 11,
    _SC_ASYNCHRONOUS_IO___284 = 12,
    _SC_PRIORITIZED_IO___284 = 13,
    _SC_SYNCHRONIZED_IO___284 = 14,
    _SC_FSYNC___284 = 15,
    _SC_MAPPED_FILES___284 = 16,
    _SC_MEMLOCK___284 = 17,
    _SC_MEMLOCK_RANGE___284 = 18,
    _SC_MEMORY_PROTECTION___284 = 19,
    _SC_MESSAGE_PASSING___284 = 20,
    _SC_SEMAPHORES___284 = 21,
    _SC_SHARED_MEMORY_OBJECTS___284 = 22,
    _SC_AIO_LISTIO_MAX___284 = 23,
    _SC_AIO_MAX___284 = 24,
    _SC_AIO_PRIO_DELTA_MAX___284 = 25,
    _SC_DELAYTIMER_MAX___284 = 26,
    _SC_MQ_OPEN_MAX___284 = 27,
    _SC_MQ_PRIO_MAX___284 = 28,
    _SC_VERSION___284 = 29,
    _SC_PAGESIZE___284 = 30,
    _SC_RTSIG_MAX___284 = 31,
    _SC_SEM_NSEMS_MAX___284 = 32,
    _SC_SEM_VALUE_MAX___284 = 33,
    _SC_SIGQUEUE_MAX___284 = 34,
    _SC_TIMER_MAX___284 = 35,
    _SC_BC_BASE_MAX___284 = 36,
    _SC_BC_DIM_MAX___284 = 37,
    _SC_BC_SCALE_MAX___284 = 38,
    _SC_BC_STRING_MAX___284 = 39,
    _SC_COLL_WEIGHTS_MAX___284 = 40,
    _SC_EQUIV_CLASS_MAX___284 = 41,
    _SC_EXPR_NEST_MAX___284 = 42,
    _SC_LINE_MAX___284 = 43,
    _SC_RE_DUP_MAX___284 = 44,
    _SC_CHARCLASS_NAME_MAX___284 = 45,
    _SC_2_VERSION___284 = 46,
    _SC_2_C_BIND___284 = 47,
    _SC_2_C_DEV___284 = 48,
    _SC_2_FORT_DEV___284 = 49,
    _SC_2_FORT_RUN___284 = 50,
    _SC_2_SW_DEV___284 = 51,
    _SC_2_LOCALEDEF___284 = 52,
    _SC_PII___284 = 53,
    _SC_PII_XTI___284 = 54,
    _SC_PII_SOCKET___284 = 55,
    _SC_PII_INTERNET___284 = 56,
    _SC_PII_OSI___284 = 57,
    _SC_POLL___284 = 58,
    _SC_SELECT___284 = 59,
    _SC_UIO_MAXIOV___284 = 60,
    _SC_IOV_MAX___284 = 60,
    _SC_PII_INTERNET_STREAM___284 = 61,
    _SC_PII_INTERNET_DGRAM___284 = 62,
    _SC_PII_OSI_COTS___284 = 63,
    _SC_PII_OSI_CLTS___284 = 64,
    _SC_PII_OSI_M___284 = 65,
    _SC_T_IOV_MAX___284 = 66,
    _SC_THREADS___284 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___284 = 68,
    _SC_GETGR_R_SIZE_MAX___284 = 69,
    _SC_GETPW_R_SIZE_MAX___284 = 70,
    _SC_LOGIN_NAME_MAX___284 = 71,
    _SC_TTY_NAME_MAX___284 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___284 = 73,
    _SC_THREAD_KEYS_MAX___284 = 74,
    _SC_THREAD_STACK_MIN___284 = 75,
    _SC_THREAD_THREADS_MAX___284 = 76,
    _SC_THREAD_ATTR_STACKADDR___284 = 77,
    _SC_THREAD_ATTR_STACKSIZE___284 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___284 = 79,
    _SC_THREAD_PRIO_INHERIT___284 = 80,
    _SC_THREAD_PRIO_PROTECT___284 = 81,
    _SC_THREAD_PROCESS_SHARED___284 = 82,
    _SC_NPROCESSORS_CONF___284 = 83,
    _SC_NPROCESSORS_ONLN___284 = 84,
    _SC_PHYS_PAGES___284 = 85,
    _SC_AVPHYS_PAGES___284 = 86,
    _SC_ATEXIT_MAX___284 = 87,
    _SC_PASS_MAX___284 = 88,
    _SC_XOPEN_VERSION___284 = 89,
    _SC_XOPEN_XCU_VERSION___284 = 90,
    _SC_XOPEN_UNIX___284 = 91,
    _SC_XOPEN_CRYPT___284 = 92,
    _SC_XOPEN_ENH_I18N___284 = 93,
    _SC_XOPEN_SHM___284 = 94,
    _SC_2_CHAR_TERM___284 = 95,
    _SC_2_C_VERSION___284 = 96,
    _SC_2_UPE___284 = 97,
    _SC_XOPEN_XPG2___284 = 98,
    _SC_XOPEN_XPG3___284 = 99,
    _SC_XOPEN_XPG4___284 = 100,
    _SC_CHAR_BIT___284 = 101,
    _SC_CHAR_MAX___284 = 102,
    _SC_CHAR_MIN___284 = 103,
    _SC_INT_MAX___284 = 104,
    _SC_INT_MIN___284 = 105,
    _SC_LONG_BIT___284 = 106,
    _SC_WORD_BIT___284 = 107,
    _SC_MB_LEN_MAX___284 = 108,
    _SC_NZERO___284 = 109,
    _SC_SSIZE_MAX___284 = 110,
    _SC_SCHAR_MAX___284 = 111,
    _SC_SCHAR_MIN___284 = 112,
    _SC_SHRT_MAX___284 = 113,
    _SC_SHRT_MIN___284 = 114,
    _SC_UCHAR_MAX___284 = 115,
    _SC_UINT_MAX___284 = 116,
    _SC_ULONG_MAX___284 = 117,
    _SC_USHRT_MAX___284 = 118,
    _SC_NL_ARGMAX___284 = 119,
    _SC_NL_LANGMAX___284 = 120,
    _SC_NL_MSGMAX___284 = 121,
    _SC_NL_NMAX___284 = 122,
    _SC_NL_SETMAX___284 = 123,
    _SC_NL_TEXTMAX___284 = 124,
    _SC_XBS5_ILP32_OFF32___284 = 125,
    _SC_XBS5_ILP32_OFFBIG___284 = 126,
    _SC_XBS5_LP64_OFF64___284 = 127,
    _SC_XBS5_LPBIG_OFFBIG___284 = 128,
    _SC_XOPEN_LEGACY___284 = 129,
    _SC_XOPEN_REALTIME___284 = 130,
    _SC_XOPEN_REALTIME_THREADS___284 = 131,
    _SC_ADVISORY_INFO___284 = 132,
    _SC_BARRIERS___284 = 133,
    _SC_BASE___284 = 134,
    _SC_C_LANG_SUPPORT___284 = 135,
    _SC_C_LANG_SUPPORT_R___284 = 136,
    _SC_CLOCK_SELECTION___284 = 137,
    _SC_CPUTIME___284 = 138,
    _SC_THREAD_CPUTIME___284 = 139,
    _SC_DEVICE_IO___284 = 140,
    _SC_DEVICE_SPECIFIC___284 = 141,
    _SC_DEVICE_SPECIFIC_R___284 = 142,
    _SC_FD_MGMT___284 = 143,
    _SC_FIFO___284 = 144,
    _SC_PIPE___284 = 145,
    _SC_FILE_ATTRIBUTES___284 = 146,
    _SC_FILE_LOCKING___284 = 147,
    _SC_FILE_SYSTEM___284 = 148,
    _SC_MONOTONIC_CLOCK___284 = 149,
    _SC_MULTI_PROCESS___284 = 150,
    _SC_SINGLE_PROCESS___284 = 151,
    _SC_NETWORKING___284 = 152,
    _SC_READER_WRITER_LOCKS___284 = 153,
    _SC_SPIN_LOCKS___284 = 154,
    _SC_REGEXP___284 = 155,
    _SC_REGEX_VERSION___284 = 156,
    _SC_SHELL___284 = 157,
    _SC_SIGNALS___284 = 158,
    _SC_SPAWN___284 = 159,
    _SC_SPORADIC_SERVER___284 = 160,
    _SC_THREAD_SPORADIC_SERVER___284 = 161,
    _SC_SYSTEM_DATABASE___284 = 162,
    _SC_SYSTEM_DATABASE_R___284 = 163,
    _SC_TIMEOUTS___284 = 164,
    _SC_TYPED_MEMORY_OBJECTS___284 = 165,
    _SC_USER_GROUPS___284 = 166,
    _SC_USER_GROUPS_R___284 = 167,
    _SC_2_PBS___284 = 168,
    _SC_2_PBS_ACCOUNTING___284 = 169,
    _SC_2_PBS_LOCATE___284 = 170,
    _SC_2_PBS_MESSAGE___284 = 171,
    _SC_2_PBS_TRACK___284 = 172,
    _SC_SYMLOOP_MAX___284 = 173,
    _SC_STREAMS___284 = 174,
    _SC_2_PBS_CHECKPOINT___284 = 175,
    _SC_V6_ILP32_OFF32___284 = 176,
    _SC_V6_ILP32_OFFBIG___284 = 177,
    _SC_V6_LP64_OFF64___284 = 178,
    _SC_V6_LPBIG_OFFBIG___284 = 179,
    _SC_HOST_NAME_MAX___284 = 180,
    _SC_TRACE___284 = 181,
    _SC_TRACE_EVENT_FILTER___284 = 182,
    _SC_TRACE_INHERIT___284 = 183,
    _SC_TRACE_LOG___284 = 184,
    _SC_LEVEL1_ICACHE_SIZE___284 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___284 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___284 = 187,
    _SC_LEVEL1_DCACHE_SIZE___284 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___284 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___284 = 190,
    _SC_LEVEL2_CACHE_SIZE___284 = 191,
    _SC_LEVEL2_CACHE_ASSOC___284 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___284 = 193,
    _SC_LEVEL3_CACHE_SIZE___284 = 194,
    _SC_LEVEL3_CACHE_ASSOC___284 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___284 = 196,
    _SC_LEVEL4_CACHE_SIZE___284 = 197,
    _SC_LEVEL4_CACHE_ASSOC___284 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___284 = 199,
    _SC_IPV6___284 = 235,
    _SC_RAW_SOCKETS___284 = 236,
    _SC_V7_ILP32_OFF32___284 = 237,
    _SC_V7_ILP32_OFFBIG___284 = 238,
    _SC_V7_LP64_OFF64___284 = 239,
    _SC_V7_LPBIG_OFFBIG___284 = 240,
    _SC_SS_REPL_MAX___284 = 241,
    _SC_TRACE_EVENT_NAME_MAX___284 = 242,
    _SC_TRACE_NAME_MAX___284 = 243,
    _SC_TRACE_SYS_MAX___284 = 244,
    _SC_TRACE_USER_EVENT_MAX___284 = 245,
    _SC_XOPEN_STREAMS___284 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___284 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___284 = 248
} ;
enum __anonenum_875524036___284 {
    _CS_PATH___284 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___284 = 1,
    _CS_GNU_LIBC_VERSION___284 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___284 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___284 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___284 = 5,
    _CS_LFS_CFLAGS___284 = 1000,
    _CS_LFS_LDFLAGS___284 = 1001,
    _CS_LFS_LIBS___284 = 1002,
    _CS_LFS_LINTFLAGS___284 = 1003,
    _CS_LFS64_CFLAGS___284 = 1004,
    _CS_LFS64_LDFLAGS___284 = 1005,
    _CS_LFS64_LIBS___284 = 1006,
    _CS_LFS64_LINTFLAGS___284 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___284 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___284 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___284 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___284 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___284 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___284 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___284 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___284 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___284 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___284 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___284 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___284 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___284 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___284 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___284 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___284 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___284 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___284 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___284 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___284 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___284 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___284 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___284 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___284 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___284 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___284 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___284 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___284 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___284 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___284 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___284 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___284 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___284 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___284 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___284 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___284 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___284 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___284 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___284 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___284 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___284 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___284 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___284 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___284 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___284 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___284 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___284 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___284 = 1147,
    _CS_V6_ENV___284 = 1148,
    _CS_V7_ENV___284 = 1149
} ;
enum __anonenum_513775621___284 {
    DT_UNKNOWN___284 = 0,
    DT_FIFO___284 = 1,
    DT_CHR___284 = 2,
    DT_DIR___284 = 4,
    DT_BLK___284 = 6,
    DT_REG___284 = 8,
    DT_LNK___284 = 10,
    DT_SOCK___284 = 12,
    DT_WHT___284 = 14
} ;
enum __anonenum_77002343___284 {
    SI_ASYNCNL___284 = -60,
    SI_TKILL___284 = -6,
    SI_SIGIO___284 = -5,
    SI_ASYNCIO___284 = -4,
    SI_MESGQ___284 = -3,
    SI_TIMER___284 = -2,
    SI_QUEUE___284 = -1,
    SI_USER___284 = 0,
    SI_KERNEL___284 = 128
} ;
enum __anonenum_131038172___284 {
    ILL_ILLOPC___284 = 1,
    ILL_ILLOPN___284 = 2,
    ILL_ILLADR___284 = 3,
    ILL_ILLTRP___284 = 4,
    ILL_PRVOPC___284 = 5,
    ILL_PRVREG___284 = 6,
    ILL_COPROC___284 = 7,
    ILL_BADSTK___284 = 8
} ;
enum __anonenum_452038093___284 {
    FPE_INTDIV___284 = 1,
    FPE_INTOVF___284 = 2,
    FPE_FLTDIV___284 = 3,
    FPE_FLTOVF___284 = 4,
    FPE_FLTUND___284 = 5,
    FPE_FLTRES___284 = 6,
    FPE_FLTINV___284 = 7,
    FPE_FLTSUB___284 = 8
} ;
enum __anonenum_30976155___284 {
    SEGV_MAPERR___284 = 1,
    SEGV_ACCERR___284 = 2,
    SEGV_BNDERR___284 = 3,
    SEGV_PKUERR___284 = 4
} ;
enum __anonenum_1036286214___284 {
    BUS_ADRALN___284 = 1,
    BUS_ADRERR___284 = 2,
    BUS_OBJERR___284 = 3,
    BUS_MCEERR_AR___284 = 4,
    BUS_MCEERR_AO___284 = 5
} ;
enum __anonenum_493465559___284 {
    TRAP_BRKPT___284 = 1,
    TRAP_TRACE___284 = 2
} ;
enum __anonenum_23175539___284 {
    CLD_EXITED___284 = 1,
    CLD_KILLED___284 = 2,
    CLD_DUMPED___284 = 3,
    CLD_TRAPPED___284 = 4,
    CLD_STOPPED___284 = 5,
    CLD_CONTINUED___284 = 6
} ;
enum __anonenum_111643124___284 {
    POLL_IN___284 = 1,
    POLL_OUT___284 = 2,
    POLL_MSG___284 = 3,
    POLL_ERR___284 = 4,
    POLL_PRI___284 = 5,
    POLL_HUP___284 = 6
} ;
enum __anonenum_852341087___284 {
    SIGEV_SIGNAL___284 = 0,
    SIGEV_NONE___284 = 1,
    SIGEV_THREAD___284 = 2,
    SIGEV_THREAD_ID___284 = 4
} ;
enum __anonenum_451154152___284 {
    REG_R8___284 = 0,
    REG_R9___284 = 1,
    REG_R10___284 = 2,
    REG_R11___284 = 3,
    REG_R12___284 = 4,
    REG_R13___284 = 5,
    REG_R14___284 = 6,
    REG_R15___284 = 7,
    REG_RDI___284 = 8,
    REG_RSI___284 = 9,
    REG_RBP___284 = 10,
    REG_RBX___284 = 11,
    REG_RDX___284 = 12,
    REG_RAX___284 = 13,
    REG_RCX___284 = 14,
    REG_RSP___284 = 15,
    REG_RIP___284 = 16,
    REG_EFL___284 = 17,
    REG_CSGSFS___284 = 18,
    REG_ERR___284 = 19,
    REG_TRAPNO___284 = 20,
    REG_OLDMASK___284 = 21,
    REG_CR2___284 = 22
} ;
enum __anonenum_57186863___284 {
    SS_ONSTACK___284 = 1,
    SS_DISABLE___284 = 2
} ;
enum __anonenum_83571709___284 {
    MSG_OOB___284 = 1,
    MSG_PEEK___284 = 2,
    MSG_DONTROUTE___284 = 4,
    MSG_TRYHARD___284 = 4,
    MSG_CTRUNC___284 = 8,
    MSG_PROXY___284 = 16,
    MSG_TRUNC___284 = 32,
    MSG_DONTWAIT___284 = 64,
    MSG_EOR___284 = 128,
    MSG_WAITALL___284 = 256,
    MSG_FIN___284 = 512,
    MSG_SYN___284 = 1024,
    MSG_CONFIRM___284 = 2048,
    MSG_RST___284 = 4096,
    MSG_ERRQUEUE___284 = 8192,
    MSG_NOSIGNAL___284 = 16384,
    MSG_MORE___284 = 32768,
    MSG_WAITFORONE___284 = 65536,
    MSG_BATCH___284 = 262144,
    MSG_ZEROCOPY___284 = 67108864,
    MSG_FASTOPEN___284 = 536870912,
    MSG_CMSG_CLOEXEC___284 = 1073741824
} ;
enum __anonenum_617082774___284 {
    SCM_RIGHTS___284 = 1,
    SCM_CREDENTIALS___284 = 2
} ;
enum __anonenum_606441560___284 {
    SHUT_RD___284 = 0,
    SHUT_WR___284 = 1,
    SHUT_RDWR___284 = 2
} ;
enum __anonenum_681669233___284 {
    IPPROTO_IP___284 = 0,
    IPPROTO_ICMP___284 = 1,
    IPPROTO_IGMP___284 = 2,
    IPPROTO_IPIP___284 = 4,
    IPPROTO_TCP___284 = 6,
    IPPROTO_EGP___284 = 8,
    IPPROTO_PUP___284 = 12,
    IPPROTO_UDP___284 = 17,
    IPPROTO_IDP___284 = 22,
    IPPROTO_TP___284 = 29,
    IPPROTO_DCCP___284 = 33,
    IPPROTO_IPV6___284 = 41,
    IPPROTO_RSVP___284 = 46,
    IPPROTO_GRE___284 = 47,
    IPPROTO_ESP___284 = 50,
    IPPROTO_AH___284 = 51,
    IPPROTO_MTP___284 = 92,
    IPPROTO_BEETPH___284 = 94,
    IPPROTO_ENCAP___284 = 98,
    IPPROTO_PIM___284 = 103,
    IPPROTO_COMP___284 = 108,
    IPPROTO_SCTP___284 = 132,
    IPPROTO_UDPLITE___284 = 136,
    IPPROTO_MPLS___284 = 137,
    IPPROTO_RAW___284 = 255,
    IPPROTO_MAX___284 = 256
} ;
enum __anonenum_218739988___284 {
    IPPROTO_HOPOPTS___284 = 0,
    IPPROTO_ROUTING___284 = 43,
    IPPROTO_FRAGMENT___284 = 44,
    IPPROTO_ICMPV6___284 = 58,
    IPPROTO_NONE___284 = 59,
    IPPROTO_DSTOPTS___284 = 60,
    IPPROTO_MH___284 = 135
} ;
enum __anonenum_662268580___284 {
    IPPORT_ECHO___284 = 7,
    IPPORT_DISCARD___284 = 9,
    IPPORT_SYSTAT___284 = 11,
    IPPORT_DAYTIME___284 = 13,
    IPPORT_NETSTAT___284 = 15,
    IPPORT_FTP___284 = 21,
    IPPORT_TELNET___284 = 23,
    IPPORT_SMTP___284 = 25,
    IPPORT_TIMESERVER___284 = 37,
    IPPORT_NAMESERVER___284 = 42,
    IPPORT_WHOIS___284 = 43,
    IPPORT_MTP___284 = 57,
    IPPORT_TFTP___284 = 69,
    IPPORT_RJE___284 = 77,
    IPPORT_FINGER___284 = 79,
    IPPORT_TTYLINK___284 = 87,
    IPPORT_SUPDUP___284 = 95,
    IPPORT_EXECSERVER___284 = 512,
    IPPORT_LOGINSERVER___284 = 513,
    IPPORT_CMDSERVER___284 = 514,
    IPPORT_EFSSERVER___284 = 520,
    IPPORT_BIFFUDP___284 = 512,
    IPPORT_WHOSERVER___284 = 513,
    IPPORT_ROUTESERVER___284 = 520,
    IPPORT_RESERVED___284 = 1024,
    IPPORT_USERRESERVED___284 = 5000
} ;
enum __anonenum_788308992___284 {
    TCP_ESTABLISHED___284 = 1,
    TCP_SYN_SENT___284 = 2,
    TCP_SYN_RECV___284 = 3,
    TCP_FIN_WAIT1___284 = 4,
    TCP_FIN_WAIT2___284 = 5,
    TCP_TIME_WAIT___284 = 6,
    TCP_CLOSE___284 = 7,
    TCP_CLOSE_WAIT___284 = 8,
    TCP_LAST_ACK___284 = 9,
    TCP_LISTEN___284 = 10,
    TCP_CLOSING___284 = 11
} ;
enum __anonenum_221125648___284 {
    TCP_NO_QUEUE___284 = 0,
    TCP_RECV_QUEUE___284 = 1,
    TCP_SEND_QUEUE___284 = 2,
    TCP_QUEUES_NR___284 = 3
} ;
enum __anonenum_34415463___284 {
    PTHREAD_CREATE_JOINABLE___284 = 0,
    PTHREAD_CREATE_DETACHED___284 = 1
} ;
enum __anonenum_303612439___284 {
    PTHREAD_MUTEX_TIMED_NP___284 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___284 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___284 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___284 = 3,
    PTHREAD_MUTEX_NORMAL___284 = 0,
    PTHREAD_MUTEX_RECURSIVE___284 = 1,
    PTHREAD_MUTEX_ERRORCHECK___284 = 2,
    PTHREAD_MUTEX_DEFAULT___284 = 0,
    PTHREAD_MUTEX_FAST_NP___284 = 0
} ;
enum __anonenum_931900394___284 {
    PTHREAD_MUTEX_STALLED___284 = 0,
    PTHREAD_MUTEX_STALLED_NP___284 = 0,
    PTHREAD_MUTEX_ROBUST___284 = 1,
    PTHREAD_MUTEX_ROBUST_NP___284 = 1
} ;
enum __anonenum_205214487___284 {
    PTHREAD_PRIO_NONE___284 = 0,
    PTHREAD_PRIO_INHERIT___284 = 1,
    PTHREAD_PRIO_PROTECT___284 = 2
} ;
enum __anonenum_25043950___284 {
    PTHREAD_RWLOCK_PREFER_READER_NP___284 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___284 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___284 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___284 = 0
} ;
enum __anonenum_436439511___284 {
    PTHREAD_INHERIT_SCHED___284 = 0,
    PTHREAD_EXPLICIT_SCHED___284 = 1
} ;
enum __anonenum_998661166___284 {
    PTHREAD_SCOPE_SYSTEM___284 = 0,
    PTHREAD_SCOPE_PROCESS___284 = 1
} ;
enum __anonenum_146137331___284 {
    PTHREAD_PROCESS_PRIVATE___284 = 0,
    PTHREAD_PROCESS_SHARED___284 = 1
} ;
enum __anonenum_53396917___284 {
    PTHREAD_CANCEL_ENABLE___284 = 0,
    PTHREAD_CANCEL_DISABLE___284 = 1
} ;
enum __anonenum_904563783___284 {
    PTHREAD_CANCEL_DEFERRED___284 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___284 = 1
} ;
enum __anonenum_672052974___284 {
    SSL_CT_VALIDATION_PERMISSIVE___284 = 0,
    SSL_CT_VALIDATION_STRICT___284 = 1
} ;
enum __anonenum_437032235___285 {
    _PC_LINK_MAX___285 = 0,
    _PC_MAX_CANON___285 = 1,
    _PC_MAX_INPUT___285 = 2,
    _PC_NAME_MAX___285 = 3,
    _PC_PATH_MAX___285 = 4,
    _PC_PIPE_BUF___285 = 5,
    _PC_CHOWN_RESTRICTED___285 = 6,
    _PC_NO_TRUNC___285 = 7,
    _PC_VDISABLE___285 = 8,
    _PC_SYNC_IO___285 = 9,
    _PC_ASYNC_IO___285 = 10,
    _PC_PRIO_IO___285 = 11,
    _PC_SOCK_MAXBUF___285 = 12,
    _PC_FILESIZEBITS___285 = 13,
    _PC_REC_INCR_XFER_SIZE___285 = 14,
    _PC_REC_MAX_XFER_SIZE___285 = 15,
    _PC_REC_MIN_XFER_SIZE___285 = 16,
    _PC_REC_XFER_ALIGN___285 = 17,
    _PC_ALLOC_SIZE_MIN___285 = 18,
    _PC_SYMLINK_MAX___285 = 19,
    _PC_2_SYMLINKS___285 = 20
} ;
enum __anonenum_315186338___285 {
    _SC_ARG_MAX___285 = 0,
    _SC_CHILD_MAX___285 = 1,
    _SC_CLK_TCK___285 = 2,
    _SC_NGROUPS_MAX___285 = 3,
    _SC_OPEN_MAX___285 = 4,
    _SC_STREAM_MAX___285 = 5,
    _SC_TZNAME_MAX___285 = 6,
    _SC_JOB_CONTROL___285 = 7,
    _SC_SAVED_IDS___285 = 8,
    _SC_REALTIME_SIGNALS___285 = 9,
    _SC_PRIORITY_SCHEDULING___285 = 10,
    _SC_TIMERS___285 = 11,
    _SC_ASYNCHRONOUS_IO___285 = 12,
    _SC_PRIORITIZED_IO___285 = 13,
    _SC_SYNCHRONIZED_IO___285 = 14,
    _SC_FSYNC___285 = 15,
    _SC_MAPPED_FILES___285 = 16,
    _SC_MEMLOCK___285 = 17,
    _SC_MEMLOCK_RANGE___285 = 18,
    _SC_MEMORY_PROTECTION___285 = 19,
    _SC_MESSAGE_PASSING___285 = 20,
    _SC_SEMAPHORES___285 = 21,
    _SC_SHARED_MEMORY_OBJECTS___285 = 22,
    _SC_AIO_LISTIO_MAX___285 = 23,
    _SC_AIO_MAX___285 = 24,
    _SC_AIO_PRIO_DELTA_MAX___285 = 25,
    _SC_DELAYTIMER_MAX___285 = 26,
    _SC_MQ_OPEN_MAX___285 = 27,
    _SC_MQ_PRIO_MAX___285 = 28,
    _SC_VERSION___285 = 29,
    _SC_PAGESIZE___285 = 30,
    _SC_RTSIG_MAX___285 = 31,
    _SC_SEM_NSEMS_MAX___285 = 32,
    _SC_SEM_VALUE_MAX___285 = 33,
    _SC_SIGQUEUE_MAX___285 = 34,
    _SC_TIMER_MAX___285 = 35,
    _SC_BC_BASE_MAX___285 = 36,
    _SC_BC_DIM_MAX___285 = 37,
    _SC_BC_SCALE_MAX___285 = 38,
    _SC_BC_STRING_MAX___285 = 39,
    _SC_COLL_WEIGHTS_MAX___285 = 40,
    _SC_EQUIV_CLASS_MAX___285 = 41,
    _SC_EXPR_NEST_MAX___285 = 42,
    _SC_LINE_MAX___285 = 43,
    _SC_RE_DUP_MAX___285 = 44,
    _SC_CHARCLASS_NAME_MAX___285 = 45,
    _SC_2_VERSION___285 = 46,
    _SC_2_C_BIND___285 = 47,
    _SC_2_C_DEV___285 = 48,
    _SC_2_FORT_DEV___285 = 49,
    _SC_2_FORT_RUN___285 = 50,
    _SC_2_SW_DEV___285 = 51,
    _SC_2_LOCALEDEF___285 = 52,
    _SC_PII___285 = 53,
    _SC_PII_XTI___285 = 54,
    _SC_PII_SOCKET___285 = 55,
    _SC_PII_INTERNET___285 = 56,
    _SC_PII_OSI___285 = 57,
    _SC_POLL___285 = 58,
    _SC_SELECT___285 = 59,
    _SC_UIO_MAXIOV___285 = 60,
    _SC_IOV_MAX___285 = 60,
    _SC_PII_INTERNET_STREAM___285 = 61,
    _SC_PII_INTERNET_DGRAM___285 = 62,
    _SC_PII_OSI_COTS___285 = 63,
    _SC_PII_OSI_CLTS___285 = 64,
    _SC_PII_OSI_M___285 = 65,
    _SC_T_IOV_MAX___285 = 66,
    _SC_THREADS___285 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___285 = 68,
    _SC_GETGR_R_SIZE_MAX___285 = 69,
    _SC_GETPW_R_SIZE_MAX___285 = 70,
    _SC_LOGIN_NAME_MAX___285 = 71,
    _SC_TTY_NAME_MAX___285 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___285 = 73,
    _SC_THREAD_KEYS_MAX___285 = 74,
    _SC_THREAD_STACK_MIN___285 = 75,
    _SC_THREAD_THREADS_MAX___285 = 76,
    _SC_THREAD_ATTR_STACKADDR___285 = 77,
    _SC_THREAD_ATTR_STACKSIZE___285 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___285 = 79,
    _SC_THREAD_PRIO_INHERIT___285 = 80,
    _SC_THREAD_PRIO_PROTECT___285 = 81,
    _SC_THREAD_PROCESS_SHARED___285 = 82,
    _SC_NPROCESSORS_CONF___285 = 83,
    _SC_NPROCESSORS_ONLN___285 = 84,
    _SC_PHYS_PAGES___285 = 85,
    _SC_AVPHYS_PAGES___285 = 86,
    _SC_ATEXIT_MAX___285 = 87,
    _SC_PASS_MAX___285 = 88,
    _SC_XOPEN_VERSION___285 = 89,
    _SC_XOPEN_XCU_VERSION___285 = 90,
    _SC_XOPEN_UNIX___285 = 91,
    _SC_XOPEN_CRYPT___285 = 92,
    _SC_XOPEN_ENH_I18N___285 = 93,
    _SC_XOPEN_SHM___285 = 94,
    _SC_2_CHAR_TERM___285 = 95,
    _SC_2_C_VERSION___285 = 96,
    _SC_2_UPE___285 = 97,
    _SC_XOPEN_XPG2___285 = 98,
    _SC_XOPEN_XPG3___285 = 99,
    _SC_XOPEN_XPG4___285 = 100,
    _SC_CHAR_BIT___285 = 101,
    _SC_CHAR_MAX___285 = 102,
    _SC_CHAR_MIN___285 = 103,
    _SC_INT_MAX___285 = 104,
    _SC_INT_MIN___285 = 105,
    _SC_LONG_BIT___285 = 106,
    _SC_WORD_BIT___285 = 107,
    _SC_MB_LEN_MAX___285 = 108,
    _SC_NZERO___285 = 109,
    _SC_SSIZE_MAX___285 = 110,
    _SC_SCHAR_MAX___285 = 111,
    _SC_SCHAR_MIN___285 = 112,
    _SC_SHRT_MAX___285 = 113,
    _SC_SHRT_MIN___285 = 114,
    _SC_UCHAR_MAX___285 = 115,
    _SC_UINT_MAX___285 = 116,
    _SC_ULONG_MAX___285 = 117,
    _SC_USHRT_MAX___285 = 118,
    _SC_NL_ARGMAX___285 = 119,
    _SC_NL_LANGMAX___285 = 120,
    _SC_NL_MSGMAX___285 = 121,
    _SC_NL_NMAX___285 = 122,
    _SC_NL_SETMAX___285 = 123,
    _SC_NL_TEXTMAX___285 = 124,
    _SC_XBS5_ILP32_OFF32___285 = 125,
    _SC_XBS5_ILP32_OFFBIG___285 = 126,
    _SC_XBS5_LP64_OFF64___285 = 127,
    _SC_XBS5_LPBIG_OFFBIG___285 = 128,
    _SC_XOPEN_LEGACY___285 = 129,
    _SC_XOPEN_REALTIME___285 = 130,
    _SC_XOPEN_REALTIME_THREADS___285 = 131,
    _SC_ADVISORY_INFO___285 = 132,
    _SC_BARRIERS___285 = 133,
    _SC_BASE___285 = 134,
    _SC_C_LANG_SUPPORT___285 = 135,
    _SC_C_LANG_SUPPORT_R___285 = 136,
    _SC_CLOCK_SELECTION___285 = 137,
    _SC_CPUTIME___285 = 138,
    _SC_THREAD_CPUTIME___285 = 139,
    _SC_DEVICE_IO___285 = 140,
    _SC_DEVICE_SPECIFIC___285 = 141,
    _SC_DEVICE_SPECIFIC_R___285 = 142,
    _SC_FD_MGMT___285 = 143,
    _SC_FIFO___285 = 144,
    _SC_PIPE___285 = 145,
    _SC_FILE_ATTRIBUTES___285 = 146,
    _SC_FILE_LOCKING___285 = 147,
    _SC_FILE_SYSTEM___285 = 148,
    _SC_MONOTONIC_CLOCK___285 = 149,
    _SC_MULTI_PROCESS___285 = 150,
    _SC_SINGLE_PROCESS___285 = 151,
    _SC_NETWORKING___285 = 152,
    _SC_READER_WRITER_LOCKS___285 = 153,
    _SC_SPIN_LOCKS___285 = 154,
    _SC_REGEXP___285 = 155,
    _SC_REGEX_VERSION___285 = 156,
    _SC_SHELL___285 = 157,
    _SC_SIGNALS___285 = 158,
    _SC_SPAWN___285 = 159,
    _SC_SPORADIC_SERVER___285 = 160,
    _SC_THREAD_SPORADIC_SERVER___285 = 161,
    _SC_SYSTEM_DATABASE___285 = 162,
    _SC_SYSTEM_DATABASE_R___285 = 163,
    _SC_TIMEOUTS___285 = 164,
    _SC_TYPED_MEMORY_OBJECTS___285 = 165,
    _SC_USER_GROUPS___285 = 166,
    _SC_USER_GROUPS_R___285 = 167,
    _SC_2_PBS___285 = 168,
    _SC_2_PBS_ACCOUNTING___285 = 169,
    _SC_2_PBS_LOCATE___285 = 170,
    _SC_2_PBS_MESSAGE___285 = 171,
    _SC_2_PBS_TRACK___285 = 172,
    _SC_SYMLOOP_MAX___285 = 173,
    _SC_STREAMS___285 = 174,
    _SC_2_PBS_CHECKPOINT___285 = 175,
    _SC_V6_ILP32_OFF32___285 = 176,
    _SC_V6_ILP32_OFFBIG___285 = 177,
    _SC_V6_LP64_OFF64___285 = 178,
    _SC_V6_LPBIG_OFFBIG___285 = 179,
    _SC_HOST_NAME_MAX___285 = 180,
    _SC_TRACE___285 = 181,
    _SC_TRACE_EVENT_FILTER___285 = 182,
    _SC_TRACE_INHERIT___285 = 183,
    _SC_TRACE_LOG___285 = 184,
    _SC_LEVEL1_ICACHE_SIZE___285 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___285 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___285 = 187,
    _SC_LEVEL1_DCACHE_SIZE___285 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___285 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___285 = 190,
    _SC_LEVEL2_CACHE_SIZE___285 = 191,
    _SC_LEVEL2_CACHE_ASSOC___285 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___285 = 193,
    _SC_LEVEL3_CACHE_SIZE___285 = 194,
    _SC_LEVEL3_CACHE_ASSOC___285 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___285 = 196,
    _SC_LEVEL4_CACHE_SIZE___285 = 197,
    _SC_LEVEL4_CACHE_ASSOC___285 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___285 = 199,
    _SC_IPV6___285 = 235,
    _SC_RAW_SOCKETS___285 = 236,
    _SC_V7_ILP32_OFF32___285 = 237,
    _SC_V7_ILP32_OFFBIG___285 = 238,
    _SC_V7_LP64_OFF64___285 = 239,
    _SC_V7_LPBIG_OFFBIG___285 = 240,
    _SC_SS_REPL_MAX___285 = 241,
    _SC_TRACE_EVENT_NAME_MAX___285 = 242,
    _SC_TRACE_NAME_MAX___285 = 243,
    _SC_TRACE_SYS_MAX___285 = 244,
    _SC_TRACE_USER_EVENT_MAX___285 = 245,
    _SC_XOPEN_STREAMS___285 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___285 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___285 = 248
} ;
enum __anonenum_875524036___285 {
    _CS_PATH___285 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___285 = 1,
    _CS_GNU_LIBC_VERSION___285 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___285 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___285 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___285 = 5,
    _CS_LFS_CFLAGS___285 = 1000,
    _CS_LFS_LDFLAGS___285 = 1001,
    _CS_LFS_LIBS___285 = 1002,
    _CS_LFS_LINTFLAGS___285 = 1003,
    _CS_LFS64_CFLAGS___285 = 1004,
    _CS_LFS64_LDFLAGS___285 = 1005,
    _CS_LFS64_LIBS___285 = 1006,
    _CS_LFS64_LINTFLAGS___285 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___285 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___285 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___285 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___285 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___285 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___285 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___285 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___285 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___285 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___285 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___285 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___285 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___285 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___285 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___285 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___285 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___285 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___285 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___285 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___285 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___285 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___285 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___285 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___285 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___285 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___285 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___285 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___285 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___285 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___285 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___285 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___285 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___285 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___285 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___285 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___285 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___285 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___285 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___285 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___285 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___285 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___285 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___285 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___285 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___285 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___285 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___285 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___285 = 1147,
    _CS_V6_ENV___285 = 1148,
    _CS_V7_ENV___285 = 1149
} ;
enum __anonenum_513775621___285 {
    DT_UNKNOWN___285 = 0,
    DT_FIFO___285 = 1,
    DT_CHR___285 = 2,
    DT_DIR___285 = 4,
    DT_BLK___285 = 6,
    DT_REG___285 = 8,
    DT_LNK___285 = 10,
    DT_SOCK___285 = 12,
    DT_WHT___285 = 14
} ;
enum __anonenum_77002343___285 {
    SI_ASYNCNL___285 = -60,
    SI_TKILL___285 = -6,
    SI_SIGIO___285 = -5,
    SI_ASYNCIO___285 = -4,
    SI_MESGQ___285 = -3,
    SI_TIMER___285 = -2,
    SI_QUEUE___285 = -1,
    SI_USER___285 = 0,
    SI_KERNEL___285 = 128
} ;
enum __anonenum_131038172___285 {
    ILL_ILLOPC___285 = 1,
    ILL_ILLOPN___285 = 2,
    ILL_ILLADR___285 = 3,
    ILL_ILLTRP___285 = 4,
    ILL_PRVOPC___285 = 5,
    ILL_PRVREG___285 = 6,
    ILL_COPROC___285 = 7,
    ILL_BADSTK___285 = 8
} ;
enum __anonenum_452038093___285 {
    FPE_INTDIV___285 = 1,
    FPE_INTOVF___285 = 2,
    FPE_FLTDIV___285 = 3,
    FPE_FLTOVF___285 = 4,
    FPE_FLTUND___285 = 5,
    FPE_FLTRES___285 = 6,
    FPE_FLTINV___285 = 7,
    FPE_FLTSUB___285 = 8
} ;
enum __anonenum_30976155___285 {
    SEGV_MAPERR___285 = 1,
    SEGV_ACCERR___285 = 2,
    SEGV_BNDERR___285 = 3,
    SEGV_PKUERR___285 = 4
} ;
enum __anonenum_1036286214___285 {
    BUS_ADRALN___285 = 1,
    BUS_ADRERR___285 = 2,
    BUS_OBJERR___285 = 3,
    BUS_MCEERR_AR___285 = 4,
    BUS_MCEERR_AO___285 = 5
} ;
enum __anonenum_493465559___285 {
    TRAP_BRKPT___285 = 1,
    TRAP_TRACE___285 = 2
} ;
enum __anonenum_23175539___285 {
    CLD_EXITED___285 = 1,
    CLD_KILLED___285 = 2,
    CLD_DUMPED___285 = 3,
    CLD_TRAPPED___285 = 4,
    CLD_STOPPED___285 = 5,
    CLD_CONTINUED___285 = 6
} ;
enum __anonenum_111643124___285 {
    POLL_IN___285 = 1,
    POLL_OUT___285 = 2,
    POLL_MSG___285 = 3,
    POLL_ERR___285 = 4,
    POLL_PRI___285 = 5,
    POLL_HUP___285 = 6
} ;
enum __anonenum_852341087___285 {
    SIGEV_SIGNAL___285 = 0,
    SIGEV_NONE___285 = 1,
    SIGEV_THREAD___285 = 2,
    SIGEV_THREAD_ID___285 = 4
} ;
enum __anonenum_451154152___285 {
    REG_R8___285 = 0,
    REG_R9___285 = 1,
    REG_R10___285 = 2,
    REG_R11___285 = 3,
    REG_R12___285 = 4,
    REG_R13___285 = 5,
    REG_R14___285 = 6,
    REG_R15___285 = 7,
    REG_RDI___285 = 8,
    REG_RSI___285 = 9,
    REG_RBP___285 = 10,
    REG_RBX___285 = 11,
    REG_RDX___285 = 12,
    REG_RAX___285 = 13,
    REG_RCX___285 = 14,
    REG_RSP___285 = 15,
    REG_RIP___285 = 16,
    REG_EFL___285 = 17,
    REG_CSGSFS___285 = 18,
    REG_ERR___285 = 19,
    REG_TRAPNO___285 = 20,
    REG_OLDMASK___285 = 21,
    REG_CR2___285 = 22
} ;
enum __anonenum_57186863___285 {
    SS_ONSTACK___285 = 1,
    SS_DISABLE___285 = 2
} ;
enum __anonenum_83571709___285 {
    MSG_OOB___285 = 1,
    MSG_PEEK___285 = 2,
    MSG_DONTROUTE___285 = 4,
    MSG_TRYHARD___285 = 4,
    MSG_CTRUNC___285 = 8,
    MSG_PROXY___285 = 16,
    MSG_TRUNC___285 = 32,
    MSG_DONTWAIT___285 = 64,
    MSG_EOR___285 = 128,
    MSG_WAITALL___285 = 256,
    MSG_FIN___285 = 512,
    MSG_SYN___285 = 1024,
    MSG_CONFIRM___285 = 2048,
    MSG_RST___285 = 4096,
    MSG_ERRQUEUE___285 = 8192,
    MSG_NOSIGNAL___285 = 16384,
    MSG_MORE___285 = 32768,
    MSG_WAITFORONE___285 = 65536,
    MSG_BATCH___285 = 262144,
    MSG_ZEROCOPY___285 = 67108864,
    MSG_FASTOPEN___285 = 536870912,
    MSG_CMSG_CLOEXEC___285 = 1073741824
} ;
enum __anonenum_617082774___285 {
    SCM_RIGHTS___285 = 1,
    SCM_CREDENTIALS___285 = 2
} ;
enum __anonenum_606441560___285 {
    SHUT_RD___285 = 0,
    SHUT_WR___285 = 1,
    SHUT_RDWR___285 = 2
} ;
enum __anonenum_681669233___285 {
    IPPROTO_IP___285 = 0,
    IPPROTO_ICMP___285 = 1,
    IPPROTO_IGMP___285 = 2,
    IPPROTO_IPIP___285 = 4,
    IPPROTO_TCP___285 = 6,
    IPPROTO_EGP___285 = 8,
    IPPROTO_PUP___285 = 12,
    IPPROTO_UDP___285 = 17,
    IPPROTO_IDP___285 = 22,
    IPPROTO_TP___285 = 29,
    IPPROTO_DCCP___285 = 33,
    IPPROTO_IPV6___285 = 41,
    IPPROTO_RSVP___285 = 46,
    IPPROTO_GRE___285 = 47,
    IPPROTO_ESP___285 = 50,
    IPPROTO_AH___285 = 51,
    IPPROTO_MTP___285 = 92,
    IPPROTO_BEETPH___285 = 94,
    IPPROTO_ENCAP___285 = 98,
    IPPROTO_PIM___285 = 103,
    IPPROTO_COMP___285 = 108,
    IPPROTO_SCTP___285 = 132,
    IPPROTO_UDPLITE___285 = 136,
    IPPROTO_MPLS___285 = 137,
    IPPROTO_RAW___285 = 255,
    IPPROTO_MAX___285 = 256
} ;
enum __anonenum_218739988___285 {
    IPPROTO_HOPOPTS___285 = 0,
    IPPROTO_ROUTING___285 = 43,
    IPPROTO_FRAGMENT___285 = 44,
    IPPROTO_ICMPV6___285 = 58,
    IPPROTO_NONE___285 = 59,
    IPPROTO_DSTOPTS___285 = 60,
    IPPROTO_MH___285 = 135
} ;
enum __anonenum_662268580___285 {
    IPPORT_ECHO___285 = 7,
    IPPORT_DISCARD___285 = 9,
    IPPORT_SYSTAT___285 = 11,
    IPPORT_DAYTIME___285 = 13,
    IPPORT_NETSTAT___285 = 15,
    IPPORT_FTP___285 = 21,
    IPPORT_TELNET___285 = 23,
    IPPORT_SMTP___285 = 25,
    IPPORT_TIMESERVER___285 = 37,
    IPPORT_NAMESERVER___285 = 42,
    IPPORT_WHOIS___285 = 43,
    IPPORT_MTP___285 = 57,
    IPPORT_TFTP___285 = 69,
    IPPORT_RJE___285 = 77,
    IPPORT_FINGER___285 = 79,
    IPPORT_TTYLINK___285 = 87,
    IPPORT_SUPDUP___285 = 95,
    IPPORT_EXECSERVER___285 = 512,
    IPPORT_LOGINSERVER___285 = 513,
    IPPORT_CMDSERVER___285 = 514,
    IPPORT_EFSSERVER___285 = 520,
    IPPORT_BIFFUDP___285 = 512,
    IPPORT_WHOSERVER___285 = 513,
    IPPORT_ROUTESERVER___285 = 520,
    IPPORT_RESERVED___285 = 1024,
    IPPORT_USERRESERVED___285 = 5000
} ;
enum __anonenum_788308992___285 {
    TCP_ESTABLISHED___285 = 1,
    TCP_SYN_SENT___285 = 2,
    TCP_SYN_RECV___285 = 3,
    TCP_FIN_WAIT1___285 = 4,
    TCP_FIN_WAIT2___285 = 5,
    TCP_TIME_WAIT___285 = 6,
    TCP_CLOSE___285 = 7,
    TCP_CLOSE_WAIT___285 = 8,
    TCP_LAST_ACK___285 = 9,
    TCP_LISTEN___285 = 10,
    TCP_CLOSING___285 = 11
} ;
enum __anonenum_221125648___285 {
    TCP_NO_QUEUE___285 = 0,
    TCP_RECV_QUEUE___285 = 1,
    TCP_SEND_QUEUE___285 = 2,
    TCP_QUEUES_NR___285 = 3
} ;
enum __anonenum_34415463___285 {
    PTHREAD_CREATE_JOINABLE___285 = 0,
    PTHREAD_CREATE_DETACHED___285 = 1
} ;
enum __anonenum_303612439___285 {
    PTHREAD_MUTEX_TIMED_NP___285 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___285 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___285 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___285 = 3,
    PTHREAD_MUTEX_NORMAL___285 = 0,
    PTHREAD_MUTEX_RECURSIVE___285 = 1,
    PTHREAD_MUTEX_ERRORCHECK___285 = 2,
    PTHREAD_MUTEX_DEFAULT___285 = 0,
    PTHREAD_MUTEX_FAST_NP___285 = 0
} ;
enum __anonenum_931900394___285 {
    PTHREAD_MUTEX_STALLED___285 = 0,
    PTHREAD_MUTEX_STALLED_NP___285 = 0,
    PTHREAD_MUTEX_ROBUST___285 = 1,
    PTHREAD_MUTEX_ROBUST_NP___285 = 1
} ;
enum __anonenum_205214487___285 {
    PTHREAD_PRIO_NONE___285 = 0,
    PTHREAD_PRIO_INHERIT___285 = 1,
    PTHREAD_PRIO_PROTECT___285 = 2
} ;
enum __anonenum_25043950___285 {
    PTHREAD_RWLOCK_PREFER_READER_NP___285 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___285 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___285 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___285 = 0
} ;
enum __anonenum_436439511___285 {
    PTHREAD_INHERIT_SCHED___285 = 0,
    PTHREAD_EXPLICIT_SCHED___285 = 1
} ;
enum __anonenum_998661166___285 {
    PTHREAD_SCOPE_SYSTEM___285 = 0,
    PTHREAD_SCOPE_PROCESS___285 = 1
} ;
enum __anonenum_146137331___285 {
    PTHREAD_PROCESS_PRIVATE___285 = 0,
    PTHREAD_PROCESS_SHARED___285 = 1
} ;
enum __anonenum_53396917___285 {
    PTHREAD_CANCEL_ENABLE___285 = 0,
    PTHREAD_CANCEL_DISABLE___285 = 1
} ;
enum __anonenum_904563783___285 {
    PTHREAD_CANCEL_DEFERRED___285 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___285 = 1
} ;
enum __anonenum_672052974___285 {
    SSL_CT_VALIDATION_PERMISSIVE___285 = 0,
    SSL_CT_VALIDATION_STRICT___285 = 1
} ;
enum __anonenum_437032235___286 {
    _PC_LINK_MAX___286 = 0,
    _PC_MAX_CANON___286 = 1,
    _PC_MAX_INPUT___286 = 2,
    _PC_NAME_MAX___286 = 3,
    _PC_PATH_MAX___286 = 4,
    _PC_PIPE_BUF___286 = 5,
    _PC_CHOWN_RESTRICTED___286 = 6,
    _PC_NO_TRUNC___286 = 7,
    _PC_VDISABLE___286 = 8,
    _PC_SYNC_IO___286 = 9,
    _PC_ASYNC_IO___286 = 10,
    _PC_PRIO_IO___286 = 11,
    _PC_SOCK_MAXBUF___286 = 12,
    _PC_FILESIZEBITS___286 = 13,
    _PC_REC_INCR_XFER_SIZE___286 = 14,
    _PC_REC_MAX_XFER_SIZE___286 = 15,
    _PC_REC_MIN_XFER_SIZE___286 = 16,
    _PC_REC_XFER_ALIGN___286 = 17,
    _PC_ALLOC_SIZE_MIN___286 = 18,
    _PC_SYMLINK_MAX___286 = 19,
    _PC_2_SYMLINKS___286 = 20
} ;
enum __anonenum_315186338___286 {
    _SC_ARG_MAX___286 = 0,
    _SC_CHILD_MAX___286 = 1,
    _SC_CLK_TCK___286 = 2,
    _SC_NGROUPS_MAX___286 = 3,
    _SC_OPEN_MAX___286 = 4,
    _SC_STREAM_MAX___286 = 5,
    _SC_TZNAME_MAX___286 = 6,
    _SC_JOB_CONTROL___286 = 7,
    _SC_SAVED_IDS___286 = 8,
    _SC_REALTIME_SIGNALS___286 = 9,
    _SC_PRIORITY_SCHEDULING___286 = 10,
    _SC_TIMERS___286 = 11,
    _SC_ASYNCHRONOUS_IO___286 = 12,
    _SC_PRIORITIZED_IO___286 = 13,
    _SC_SYNCHRONIZED_IO___286 = 14,
    _SC_FSYNC___286 = 15,
    _SC_MAPPED_FILES___286 = 16,
    _SC_MEMLOCK___286 = 17,
    _SC_MEMLOCK_RANGE___286 = 18,
    _SC_MEMORY_PROTECTION___286 = 19,
    _SC_MESSAGE_PASSING___286 = 20,
    _SC_SEMAPHORES___286 = 21,
    _SC_SHARED_MEMORY_OBJECTS___286 = 22,
    _SC_AIO_LISTIO_MAX___286 = 23,
    _SC_AIO_MAX___286 = 24,
    _SC_AIO_PRIO_DELTA_MAX___286 = 25,
    _SC_DELAYTIMER_MAX___286 = 26,
    _SC_MQ_OPEN_MAX___286 = 27,
    _SC_MQ_PRIO_MAX___286 = 28,
    _SC_VERSION___286 = 29,
    _SC_PAGESIZE___286 = 30,
    _SC_RTSIG_MAX___286 = 31,
    _SC_SEM_NSEMS_MAX___286 = 32,
    _SC_SEM_VALUE_MAX___286 = 33,
    _SC_SIGQUEUE_MAX___286 = 34,
    _SC_TIMER_MAX___286 = 35,
    _SC_BC_BASE_MAX___286 = 36,
    _SC_BC_DIM_MAX___286 = 37,
    _SC_BC_SCALE_MAX___286 = 38,
    _SC_BC_STRING_MAX___286 = 39,
    _SC_COLL_WEIGHTS_MAX___286 = 40,
    _SC_EQUIV_CLASS_MAX___286 = 41,
    _SC_EXPR_NEST_MAX___286 = 42,
    _SC_LINE_MAX___286 = 43,
    _SC_RE_DUP_MAX___286 = 44,
    _SC_CHARCLASS_NAME_MAX___286 = 45,
    _SC_2_VERSION___286 = 46,
    _SC_2_C_BIND___286 = 47,
    _SC_2_C_DEV___286 = 48,
    _SC_2_FORT_DEV___286 = 49,
    _SC_2_FORT_RUN___286 = 50,
    _SC_2_SW_DEV___286 = 51,
    _SC_2_LOCALEDEF___286 = 52,
    _SC_PII___286 = 53,
    _SC_PII_XTI___286 = 54,
    _SC_PII_SOCKET___286 = 55,
    _SC_PII_INTERNET___286 = 56,
    _SC_PII_OSI___286 = 57,
    _SC_POLL___286 = 58,
    _SC_SELECT___286 = 59,
    _SC_UIO_MAXIOV___286 = 60,
    _SC_IOV_MAX___286 = 60,
    _SC_PII_INTERNET_STREAM___286 = 61,
    _SC_PII_INTERNET_DGRAM___286 = 62,
    _SC_PII_OSI_COTS___286 = 63,
    _SC_PII_OSI_CLTS___286 = 64,
    _SC_PII_OSI_M___286 = 65,
    _SC_T_IOV_MAX___286 = 66,
    _SC_THREADS___286 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___286 = 68,
    _SC_GETGR_R_SIZE_MAX___286 = 69,
    _SC_GETPW_R_SIZE_MAX___286 = 70,
    _SC_LOGIN_NAME_MAX___286 = 71,
    _SC_TTY_NAME_MAX___286 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___286 = 73,
    _SC_THREAD_KEYS_MAX___286 = 74,
    _SC_THREAD_STACK_MIN___286 = 75,
    _SC_THREAD_THREADS_MAX___286 = 76,
    _SC_THREAD_ATTR_STACKADDR___286 = 77,
    _SC_THREAD_ATTR_STACKSIZE___286 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___286 = 79,
    _SC_THREAD_PRIO_INHERIT___286 = 80,
    _SC_THREAD_PRIO_PROTECT___286 = 81,
    _SC_THREAD_PROCESS_SHARED___286 = 82,
    _SC_NPROCESSORS_CONF___286 = 83,
    _SC_NPROCESSORS_ONLN___286 = 84,
    _SC_PHYS_PAGES___286 = 85,
    _SC_AVPHYS_PAGES___286 = 86,
    _SC_ATEXIT_MAX___286 = 87,
    _SC_PASS_MAX___286 = 88,
    _SC_XOPEN_VERSION___286 = 89,
    _SC_XOPEN_XCU_VERSION___286 = 90,
    _SC_XOPEN_UNIX___286 = 91,
    _SC_XOPEN_CRYPT___286 = 92,
    _SC_XOPEN_ENH_I18N___286 = 93,
    _SC_XOPEN_SHM___286 = 94,
    _SC_2_CHAR_TERM___286 = 95,
    _SC_2_C_VERSION___286 = 96,
    _SC_2_UPE___286 = 97,
    _SC_XOPEN_XPG2___286 = 98,
    _SC_XOPEN_XPG3___286 = 99,
    _SC_XOPEN_XPG4___286 = 100,
    _SC_CHAR_BIT___286 = 101,
    _SC_CHAR_MAX___286 = 102,
    _SC_CHAR_MIN___286 = 103,
    _SC_INT_MAX___286 = 104,
    _SC_INT_MIN___286 = 105,
    _SC_LONG_BIT___286 = 106,
    _SC_WORD_BIT___286 = 107,
    _SC_MB_LEN_MAX___286 = 108,
    _SC_NZERO___286 = 109,
    _SC_SSIZE_MAX___286 = 110,
    _SC_SCHAR_MAX___286 = 111,
    _SC_SCHAR_MIN___286 = 112,
    _SC_SHRT_MAX___286 = 113,
    _SC_SHRT_MIN___286 = 114,
    _SC_UCHAR_MAX___286 = 115,
    _SC_UINT_MAX___286 = 116,
    _SC_ULONG_MAX___286 = 117,
    _SC_USHRT_MAX___286 = 118,
    _SC_NL_ARGMAX___286 = 119,
    _SC_NL_LANGMAX___286 = 120,
    _SC_NL_MSGMAX___286 = 121,
    _SC_NL_NMAX___286 = 122,
    _SC_NL_SETMAX___286 = 123,
    _SC_NL_TEXTMAX___286 = 124,
    _SC_XBS5_ILP32_OFF32___286 = 125,
    _SC_XBS5_ILP32_OFFBIG___286 = 126,
    _SC_XBS5_LP64_OFF64___286 = 127,
    _SC_XBS5_LPBIG_OFFBIG___286 = 128,
    _SC_XOPEN_LEGACY___286 = 129,
    _SC_XOPEN_REALTIME___286 = 130,
    _SC_XOPEN_REALTIME_THREADS___286 = 131,
    _SC_ADVISORY_INFO___286 = 132,
    _SC_BARRIERS___286 = 133,
    _SC_BASE___286 = 134,
    _SC_C_LANG_SUPPORT___286 = 135,
    _SC_C_LANG_SUPPORT_R___286 = 136,
    _SC_CLOCK_SELECTION___286 = 137,
    _SC_CPUTIME___286 = 138,
    _SC_THREAD_CPUTIME___286 = 139,
    _SC_DEVICE_IO___286 = 140,
    _SC_DEVICE_SPECIFIC___286 = 141,
    _SC_DEVICE_SPECIFIC_R___286 = 142,
    _SC_FD_MGMT___286 = 143,
    _SC_FIFO___286 = 144,
    _SC_PIPE___286 = 145,
    _SC_FILE_ATTRIBUTES___286 = 146,
    _SC_FILE_LOCKING___286 = 147,
    _SC_FILE_SYSTEM___286 = 148,
    _SC_MONOTONIC_CLOCK___286 = 149,
    _SC_MULTI_PROCESS___286 = 150,
    _SC_SINGLE_PROCESS___286 = 151,
    _SC_NETWORKING___286 = 152,
    _SC_READER_WRITER_LOCKS___286 = 153,
    _SC_SPIN_LOCKS___286 = 154,
    _SC_REGEXP___286 = 155,
    _SC_REGEX_VERSION___286 = 156,
    _SC_SHELL___286 = 157,
    _SC_SIGNALS___286 = 158,
    _SC_SPAWN___286 = 159,
    _SC_SPORADIC_SERVER___286 = 160,
    _SC_THREAD_SPORADIC_SERVER___286 = 161,
    _SC_SYSTEM_DATABASE___286 = 162,
    _SC_SYSTEM_DATABASE_R___286 = 163,
    _SC_TIMEOUTS___286 = 164,
    _SC_TYPED_MEMORY_OBJECTS___286 = 165,
    _SC_USER_GROUPS___286 = 166,
    _SC_USER_GROUPS_R___286 = 167,
    _SC_2_PBS___286 = 168,
    _SC_2_PBS_ACCOUNTING___286 = 169,
    _SC_2_PBS_LOCATE___286 = 170,
    _SC_2_PBS_MESSAGE___286 = 171,
    _SC_2_PBS_TRACK___286 = 172,
    _SC_SYMLOOP_MAX___286 = 173,
    _SC_STREAMS___286 = 174,
    _SC_2_PBS_CHECKPOINT___286 = 175,
    _SC_V6_ILP32_OFF32___286 = 176,
    _SC_V6_ILP32_OFFBIG___286 = 177,
    _SC_V6_LP64_OFF64___286 = 178,
    _SC_V6_LPBIG_OFFBIG___286 = 179,
    _SC_HOST_NAME_MAX___286 = 180,
    _SC_TRACE___286 = 181,
    _SC_TRACE_EVENT_FILTER___286 = 182,
    _SC_TRACE_INHERIT___286 = 183,
    _SC_TRACE_LOG___286 = 184,
    _SC_LEVEL1_ICACHE_SIZE___286 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___286 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___286 = 187,
    _SC_LEVEL1_DCACHE_SIZE___286 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___286 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___286 = 190,
    _SC_LEVEL2_CACHE_SIZE___286 = 191,
    _SC_LEVEL2_CACHE_ASSOC___286 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___286 = 193,
    _SC_LEVEL3_CACHE_SIZE___286 = 194,
    _SC_LEVEL3_CACHE_ASSOC___286 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___286 = 196,
    _SC_LEVEL4_CACHE_SIZE___286 = 197,
    _SC_LEVEL4_CACHE_ASSOC___286 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___286 = 199,
    _SC_IPV6___286 = 235,
    _SC_RAW_SOCKETS___286 = 236,
    _SC_V7_ILP32_OFF32___286 = 237,
    _SC_V7_ILP32_OFFBIG___286 = 238,
    _SC_V7_LP64_OFF64___286 = 239,
    _SC_V7_LPBIG_OFFBIG___286 = 240,
    _SC_SS_REPL_MAX___286 = 241,
    _SC_TRACE_EVENT_NAME_MAX___286 = 242,
    _SC_TRACE_NAME_MAX___286 = 243,
    _SC_TRACE_SYS_MAX___286 = 244,
    _SC_TRACE_USER_EVENT_MAX___286 = 245,
    _SC_XOPEN_STREAMS___286 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___286 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___286 = 248
} ;
enum __anonenum_875524036___286 {
    _CS_PATH___286 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___286 = 1,
    _CS_GNU_LIBC_VERSION___286 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___286 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___286 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___286 = 5,
    _CS_LFS_CFLAGS___286 = 1000,
    _CS_LFS_LDFLAGS___286 = 1001,
    _CS_LFS_LIBS___286 = 1002,
    _CS_LFS_LINTFLAGS___286 = 1003,
    _CS_LFS64_CFLAGS___286 = 1004,
    _CS_LFS64_LDFLAGS___286 = 1005,
    _CS_LFS64_LIBS___286 = 1006,
    _CS_LFS64_LINTFLAGS___286 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___286 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___286 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___286 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___286 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___286 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___286 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___286 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___286 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___286 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___286 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___286 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___286 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___286 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___286 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___286 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___286 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___286 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___286 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___286 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___286 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___286 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___286 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___286 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___286 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___286 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___286 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___286 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___286 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___286 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___286 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___286 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___286 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___286 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___286 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___286 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___286 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___286 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___286 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___286 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___286 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___286 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___286 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___286 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___286 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___286 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___286 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___286 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___286 = 1147,
    _CS_V6_ENV___286 = 1148,
    _CS_V7_ENV___286 = 1149
} ;
enum __anonenum_513775621___286 {
    DT_UNKNOWN___286 = 0,
    DT_FIFO___286 = 1,
    DT_CHR___286 = 2,
    DT_DIR___286 = 4,
    DT_BLK___286 = 6,
    DT_REG___286 = 8,
    DT_LNK___286 = 10,
    DT_SOCK___286 = 12,
    DT_WHT___286 = 14
} ;
enum __anonenum_77002343___286 {
    SI_ASYNCNL___286 = -60,
    SI_TKILL___286 = -6,
    SI_SIGIO___286 = -5,
    SI_ASYNCIO___286 = -4,
    SI_MESGQ___286 = -3,
    SI_TIMER___286 = -2,
    SI_QUEUE___286 = -1,
    SI_USER___286 = 0,
    SI_KERNEL___286 = 128
} ;
enum __anonenum_131038172___286 {
    ILL_ILLOPC___286 = 1,
    ILL_ILLOPN___286 = 2,
    ILL_ILLADR___286 = 3,
    ILL_ILLTRP___286 = 4,
    ILL_PRVOPC___286 = 5,
    ILL_PRVREG___286 = 6,
    ILL_COPROC___286 = 7,
    ILL_BADSTK___286 = 8
} ;
enum __anonenum_452038093___286 {
    FPE_INTDIV___286 = 1,
    FPE_INTOVF___286 = 2,
    FPE_FLTDIV___286 = 3,
    FPE_FLTOVF___286 = 4,
    FPE_FLTUND___286 = 5,
    FPE_FLTRES___286 = 6,
    FPE_FLTINV___286 = 7,
    FPE_FLTSUB___286 = 8
} ;
enum __anonenum_30976155___286 {
    SEGV_MAPERR___286 = 1,
    SEGV_ACCERR___286 = 2,
    SEGV_BNDERR___286 = 3,
    SEGV_PKUERR___286 = 4
} ;
enum __anonenum_1036286214___286 {
    BUS_ADRALN___286 = 1,
    BUS_ADRERR___286 = 2,
    BUS_OBJERR___286 = 3,
    BUS_MCEERR_AR___286 = 4,
    BUS_MCEERR_AO___286 = 5
} ;
enum __anonenum_493465559___286 {
    TRAP_BRKPT___286 = 1,
    TRAP_TRACE___286 = 2
} ;
enum __anonenum_23175539___286 {
    CLD_EXITED___286 = 1,
    CLD_KILLED___286 = 2,
    CLD_DUMPED___286 = 3,
    CLD_TRAPPED___286 = 4,
    CLD_STOPPED___286 = 5,
    CLD_CONTINUED___286 = 6
} ;
enum __anonenum_111643124___286 {
    POLL_IN___286 = 1,
    POLL_OUT___286 = 2,
    POLL_MSG___286 = 3,
    POLL_ERR___286 = 4,
    POLL_PRI___286 = 5,
    POLL_HUP___286 = 6
} ;
enum __anonenum_852341087___286 {
    SIGEV_SIGNAL___286 = 0,
    SIGEV_NONE___286 = 1,
    SIGEV_THREAD___286 = 2,
    SIGEV_THREAD_ID___286 = 4
} ;
enum __anonenum_451154152___286 {
    REG_R8___286 = 0,
    REG_R9___286 = 1,
    REG_R10___286 = 2,
    REG_R11___286 = 3,
    REG_R12___286 = 4,
    REG_R13___286 = 5,
    REG_R14___286 = 6,
    REG_R15___286 = 7,
    REG_RDI___286 = 8,
    REG_RSI___286 = 9,
    REG_RBP___286 = 10,
    REG_RBX___286 = 11,
    REG_RDX___286 = 12,
    REG_RAX___286 = 13,
    REG_RCX___286 = 14,
    REG_RSP___286 = 15,
    REG_RIP___286 = 16,
    REG_EFL___286 = 17,
    REG_CSGSFS___286 = 18,
    REG_ERR___286 = 19,
    REG_TRAPNO___286 = 20,
    REG_OLDMASK___286 = 21,
    REG_CR2___286 = 22
} ;
enum __anonenum_57186863___286 {
    SS_ONSTACK___286 = 1,
    SS_DISABLE___286 = 2
} ;
enum __anonenum_83571709___286 {
    MSG_OOB___286 = 1,
    MSG_PEEK___286 = 2,
    MSG_DONTROUTE___286 = 4,
    MSG_TRYHARD___286 = 4,
    MSG_CTRUNC___286 = 8,
    MSG_PROXY___286 = 16,
    MSG_TRUNC___286 = 32,
    MSG_DONTWAIT___286 = 64,
    MSG_EOR___286 = 128,
    MSG_WAITALL___286 = 256,
    MSG_FIN___286 = 512,
    MSG_SYN___286 = 1024,
    MSG_CONFIRM___286 = 2048,
    MSG_RST___286 = 4096,
    MSG_ERRQUEUE___286 = 8192,
    MSG_NOSIGNAL___286 = 16384,
    MSG_MORE___286 = 32768,
    MSG_WAITFORONE___286 = 65536,
    MSG_BATCH___286 = 262144,
    MSG_ZEROCOPY___286 = 67108864,
    MSG_FASTOPEN___286 = 536870912,
    MSG_CMSG_CLOEXEC___286 = 1073741824
} ;
enum __anonenum_617082774___286 {
    SCM_RIGHTS___286 = 1,
    SCM_CREDENTIALS___286 = 2
} ;
enum __anonenum_606441560___286 {
    SHUT_RD___286 = 0,
    SHUT_WR___286 = 1,
    SHUT_RDWR___286 = 2
} ;
enum __anonenum_681669233___286 {
    IPPROTO_IP___286 = 0,
    IPPROTO_ICMP___286 = 1,
    IPPROTO_IGMP___286 = 2,
    IPPROTO_IPIP___286 = 4,
    IPPROTO_TCP___286 = 6,
    IPPROTO_EGP___286 = 8,
    IPPROTO_PUP___286 = 12,
    IPPROTO_UDP___286 = 17,
    IPPROTO_IDP___286 = 22,
    IPPROTO_TP___286 = 29,
    IPPROTO_DCCP___286 = 33,
    IPPROTO_IPV6___286 = 41,
    IPPROTO_RSVP___286 = 46,
    IPPROTO_GRE___286 = 47,
    IPPROTO_ESP___286 = 50,
    IPPROTO_AH___286 = 51,
    IPPROTO_MTP___286 = 92,
    IPPROTO_BEETPH___286 = 94,
    IPPROTO_ENCAP___286 = 98,
    IPPROTO_PIM___286 = 103,
    IPPROTO_COMP___286 = 108,
    IPPROTO_SCTP___286 = 132,
    IPPROTO_UDPLITE___286 = 136,
    IPPROTO_MPLS___286 = 137,
    IPPROTO_RAW___286 = 255,
    IPPROTO_MAX___286 = 256
} ;
enum __anonenum_218739988___286 {
    IPPROTO_HOPOPTS___286 = 0,
    IPPROTO_ROUTING___286 = 43,
    IPPROTO_FRAGMENT___286 = 44,
    IPPROTO_ICMPV6___286 = 58,
    IPPROTO_NONE___286 = 59,
    IPPROTO_DSTOPTS___286 = 60,
    IPPROTO_MH___286 = 135
} ;
enum __anonenum_662268580___286 {
    IPPORT_ECHO___286 = 7,
    IPPORT_DISCARD___286 = 9,
    IPPORT_SYSTAT___286 = 11,
    IPPORT_DAYTIME___286 = 13,
    IPPORT_NETSTAT___286 = 15,
    IPPORT_FTP___286 = 21,
    IPPORT_TELNET___286 = 23,
    IPPORT_SMTP___286 = 25,
    IPPORT_TIMESERVER___286 = 37,
    IPPORT_NAMESERVER___286 = 42,
    IPPORT_WHOIS___286 = 43,
    IPPORT_MTP___286 = 57,
    IPPORT_TFTP___286 = 69,
    IPPORT_RJE___286 = 77,
    IPPORT_FINGER___286 = 79,
    IPPORT_TTYLINK___286 = 87,
    IPPORT_SUPDUP___286 = 95,
    IPPORT_EXECSERVER___286 = 512,
    IPPORT_LOGINSERVER___286 = 513,
    IPPORT_CMDSERVER___286 = 514,
    IPPORT_EFSSERVER___286 = 520,
    IPPORT_BIFFUDP___286 = 512,
    IPPORT_WHOSERVER___286 = 513,
    IPPORT_ROUTESERVER___286 = 520,
    IPPORT_RESERVED___286 = 1024,
    IPPORT_USERRESERVED___286 = 5000
} ;
enum __anonenum_788308992___286 {
    TCP_ESTABLISHED___286 = 1,
    TCP_SYN_SENT___286 = 2,
    TCP_SYN_RECV___286 = 3,
    TCP_FIN_WAIT1___286 = 4,
    TCP_FIN_WAIT2___286 = 5,
    TCP_TIME_WAIT___286 = 6,
    TCP_CLOSE___286 = 7,
    TCP_CLOSE_WAIT___286 = 8,
    TCP_LAST_ACK___286 = 9,
    TCP_LISTEN___286 = 10,
    TCP_CLOSING___286 = 11
} ;
enum __anonenum_221125648___286 {
    TCP_NO_QUEUE___286 = 0,
    TCP_RECV_QUEUE___286 = 1,
    TCP_SEND_QUEUE___286 = 2,
    TCP_QUEUES_NR___286 = 3
} ;
enum __anonenum_34415463___286 {
    PTHREAD_CREATE_JOINABLE___286 = 0,
    PTHREAD_CREATE_DETACHED___286 = 1
} ;
enum __anonenum_303612439___286 {
    PTHREAD_MUTEX_TIMED_NP___286 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___286 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___286 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___286 = 3,
    PTHREAD_MUTEX_NORMAL___286 = 0,
    PTHREAD_MUTEX_RECURSIVE___286 = 1,
    PTHREAD_MUTEX_ERRORCHECK___286 = 2,
    PTHREAD_MUTEX_DEFAULT___286 = 0,
    PTHREAD_MUTEX_FAST_NP___286 = 0
} ;
enum __anonenum_931900394___286 {
    PTHREAD_MUTEX_STALLED___286 = 0,
    PTHREAD_MUTEX_STALLED_NP___286 = 0,
    PTHREAD_MUTEX_ROBUST___286 = 1,
    PTHREAD_MUTEX_ROBUST_NP___286 = 1
} ;
enum __anonenum_205214487___286 {
    PTHREAD_PRIO_NONE___286 = 0,
    PTHREAD_PRIO_INHERIT___286 = 1,
    PTHREAD_PRIO_PROTECT___286 = 2
} ;
enum __anonenum_25043950___286 {
    PTHREAD_RWLOCK_PREFER_READER_NP___286 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___286 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___286 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___286 = 0
} ;
enum __anonenum_436439511___286 {
    PTHREAD_INHERIT_SCHED___286 = 0,
    PTHREAD_EXPLICIT_SCHED___286 = 1
} ;
enum __anonenum_998661166___286 {
    PTHREAD_SCOPE_SYSTEM___286 = 0,
    PTHREAD_SCOPE_PROCESS___286 = 1
} ;
enum __anonenum_146137331___286 {
    PTHREAD_PROCESS_PRIVATE___286 = 0,
    PTHREAD_PROCESS_SHARED___286 = 1
} ;
enum __anonenum_53396917___286 {
    PTHREAD_CANCEL_ENABLE___286 = 0,
    PTHREAD_CANCEL_DISABLE___286 = 1
} ;
enum __anonenum_904563783___286 {
    PTHREAD_CANCEL_DEFERRED___286 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___286 = 1
} ;
enum __anonenum_672052974___286 {
    SSL_CT_VALIDATION_PERMISSIVE___286 = 0,
    SSL_CT_VALIDATION_STRICT___286 = 1
} ;
enum __anonenum_437032235___287 {
    _PC_LINK_MAX___287 = 0,
    _PC_MAX_CANON___287 = 1,
    _PC_MAX_INPUT___287 = 2,
    _PC_NAME_MAX___287 = 3,
    _PC_PATH_MAX___287 = 4,
    _PC_PIPE_BUF___287 = 5,
    _PC_CHOWN_RESTRICTED___287 = 6,
    _PC_NO_TRUNC___287 = 7,
    _PC_VDISABLE___287 = 8,
    _PC_SYNC_IO___287 = 9,
    _PC_ASYNC_IO___287 = 10,
    _PC_PRIO_IO___287 = 11,
    _PC_SOCK_MAXBUF___287 = 12,
    _PC_FILESIZEBITS___287 = 13,
    _PC_REC_INCR_XFER_SIZE___287 = 14,
    _PC_REC_MAX_XFER_SIZE___287 = 15,
    _PC_REC_MIN_XFER_SIZE___287 = 16,
    _PC_REC_XFER_ALIGN___287 = 17,
    _PC_ALLOC_SIZE_MIN___287 = 18,
    _PC_SYMLINK_MAX___287 = 19,
    _PC_2_SYMLINKS___287 = 20
} ;
enum __anonenum_315186338___287 {
    _SC_ARG_MAX___287 = 0,
    _SC_CHILD_MAX___287 = 1,
    _SC_CLK_TCK___287 = 2,
    _SC_NGROUPS_MAX___287 = 3,
    _SC_OPEN_MAX___287 = 4,
    _SC_STREAM_MAX___287 = 5,
    _SC_TZNAME_MAX___287 = 6,
    _SC_JOB_CONTROL___287 = 7,
    _SC_SAVED_IDS___287 = 8,
    _SC_REALTIME_SIGNALS___287 = 9,
    _SC_PRIORITY_SCHEDULING___287 = 10,
    _SC_TIMERS___287 = 11,
    _SC_ASYNCHRONOUS_IO___287 = 12,
    _SC_PRIORITIZED_IO___287 = 13,
    _SC_SYNCHRONIZED_IO___287 = 14,
    _SC_FSYNC___287 = 15,
    _SC_MAPPED_FILES___287 = 16,
    _SC_MEMLOCK___287 = 17,
    _SC_MEMLOCK_RANGE___287 = 18,
    _SC_MEMORY_PROTECTION___287 = 19,
    _SC_MESSAGE_PASSING___287 = 20,
    _SC_SEMAPHORES___287 = 21,
    _SC_SHARED_MEMORY_OBJECTS___287 = 22,
    _SC_AIO_LISTIO_MAX___287 = 23,
    _SC_AIO_MAX___287 = 24,
    _SC_AIO_PRIO_DELTA_MAX___287 = 25,
    _SC_DELAYTIMER_MAX___287 = 26,
    _SC_MQ_OPEN_MAX___287 = 27,
    _SC_MQ_PRIO_MAX___287 = 28,
    _SC_VERSION___287 = 29,
    _SC_PAGESIZE___287 = 30,
    _SC_RTSIG_MAX___287 = 31,
    _SC_SEM_NSEMS_MAX___287 = 32,
    _SC_SEM_VALUE_MAX___287 = 33,
    _SC_SIGQUEUE_MAX___287 = 34,
    _SC_TIMER_MAX___287 = 35,
    _SC_BC_BASE_MAX___287 = 36,
    _SC_BC_DIM_MAX___287 = 37,
    _SC_BC_SCALE_MAX___287 = 38,
    _SC_BC_STRING_MAX___287 = 39,
    _SC_COLL_WEIGHTS_MAX___287 = 40,
    _SC_EQUIV_CLASS_MAX___287 = 41,
    _SC_EXPR_NEST_MAX___287 = 42,
    _SC_LINE_MAX___287 = 43,
    _SC_RE_DUP_MAX___287 = 44,
    _SC_CHARCLASS_NAME_MAX___287 = 45,
    _SC_2_VERSION___287 = 46,
    _SC_2_C_BIND___287 = 47,
    _SC_2_C_DEV___287 = 48,
    _SC_2_FORT_DEV___287 = 49,
    _SC_2_FORT_RUN___287 = 50,
    _SC_2_SW_DEV___287 = 51,
    _SC_2_LOCALEDEF___287 = 52,
    _SC_PII___287 = 53,
    _SC_PII_XTI___287 = 54,
    _SC_PII_SOCKET___287 = 55,
    _SC_PII_INTERNET___287 = 56,
    _SC_PII_OSI___287 = 57,
    _SC_POLL___287 = 58,
    _SC_SELECT___287 = 59,
    _SC_UIO_MAXIOV___287 = 60,
    _SC_IOV_MAX___287 = 60,
    _SC_PII_INTERNET_STREAM___287 = 61,
    _SC_PII_INTERNET_DGRAM___287 = 62,
    _SC_PII_OSI_COTS___287 = 63,
    _SC_PII_OSI_CLTS___287 = 64,
    _SC_PII_OSI_M___287 = 65,
    _SC_T_IOV_MAX___287 = 66,
    _SC_THREADS___287 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___287 = 68,
    _SC_GETGR_R_SIZE_MAX___287 = 69,
    _SC_GETPW_R_SIZE_MAX___287 = 70,
    _SC_LOGIN_NAME_MAX___287 = 71,
    _SC_TTY_NAME_MAX___287 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___287 = 73,
    _SC_THREAD_KEYS_MAX___287 = 74,
    _SC_THREAD_STACK_MIN___287 = 75,
    _SC_THREAD_THREADS_MAX___287 = 76,
    _SC_THREAD_ATTR_STACKADDR___287 = 77,
    _SC_THREAD_ATTR_STACKSIZE___287 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___287 = 79,
    _SC_THREAD_PRIO_INHERIT___287 = 80,
    _SC_THREAD_PRIO_PROTECT___287 = 81,
    _SC_THREAD_PROCESS_SHARED___287 = 82,
    _SC_NPROCESSORS_CONF___287 = 83,
    _SC_NPROCESSORS_ONLN___287 = 84,
    _SC_PHYS_PAGES___287 = 85,
    _SC_AVPHYS_PAGES___287 = 86,
    _SC_ATEXIT_MAX___287 = 87,
    _SC_PASS_MAX___287 = 88,
    _SC_XOPEN_VERSION___287 = 89,
    _SC_XOPEN_XCU_VERSION___287 = 90,
    _SC_XOPEN_UNIX___287 = 91,
    _SC_XOPEN_CRYPT___287 = 92,
    _SC_XOPEN_ENH_I18N___287 = 93,
    _SC_XOPEN_SHM___287 = 94,
    _SC_2_CHAR_TERM___287 = 95,
    _SC_2_C_VERSION___287 = 96,
    _SC_2_UPE___287 = 97,
    _SC_XOPEN_XPG2___287 = 98,
    _SC_XOPEN_XPG3___287 = 99,
    _SC_XOPEN_XPG4___287 = 100,
    _SC_CHAR_BIT___287 = 101,
    _SC_CHAR_MAX___287 = 102,
    _SC_CHAR_MIN___287 = 103,
    _SC_INT_MAX___287 = 104,
    _SC_INT_MIN___287 = 105,
    _SC_LONG_BIT___287 = 106,
    _SC_WORD_BIT___287 = 107,
    _SC_MB_LEN_MAX___287 = 108,
    _SC_NZERO___287 = 109,
    _SC_SSIZE_MAX___287 = 110,
    _SC_SCHAR_MAX___287 = 111,
    _SC_SCHAR_MIN___287 = 112,
    _SC_SHRT_MAX___287 = 113,
    _SC_SHRT_MIN___287 = 114,
    _SC_UCHAR_MAX___287 = 115,
    _SC_UINT_MAX___287 = 116,
    _SC_ULONG_MAX___287 = 117,
    _SC_USHRT_MAX___287 = 118,
    _SC_NL_ARGMAX___287 = 119,
    _SC_NL_LANGMAX___287 = 120,
    _SC_NL_MSGMAX___287 = 121,
    _SC_NL_NMAX___287 = 122,
    _SC_NL_SETMAX___287 = 123,
    _SC_NL_TEXTMAX___287 = 124,
    _SC_XBS5_ILP32_OFF32___287 = 125,
    _SC_XBS5_ILP32_OFFBIG___287 = 126,
    _SC_XBS5_LP64_OFF64___287 = 127,
    _SC_XBS5_LPBIG_OFFBIG___287 = 128,
    _SC_XOPEN_LEGACY___287 = 129,
    _SC_XOPEN_REALTIME___287 = 130,
    _SC_XOPEN_REALTIME_THREADS___287 = 131,
    _SC_ADVISORY_INFO___287 = 132,
    _SC_BARRIERS___287 = 133,
    _SC_BASE___287 = 134,
    _SC_C_LANG_SUPPORT___287 = 135,
    _SC_C_LANG_SUPPORT_R___287 = 136,
    _SC_CLOCK_SELECTION___287 = 137,
    _SC_CPUTIME___287 = 138,
    _SC_THREAD_CPUTIME___287 = 139,
    _SC_DEVICE_IO___287 = 140,
    _SC_DEVICE_SPECIFIC___287 = 141,
    _SC_DEVICE_SPECIFIC_R___287 = 142,
    _SC_FD_MGMT___287 = 143,
    _SC_FIFO___287 = 144,
    _SC_PIPE___287 = 145,
    _SC_FILE_ATTRIBUTES___287 = 146,
    _SC_FILE_LOCKING___287 = 147,
    _SC_FILE_SYSTEM___287 = 148,
    _SC_MONOTONIC_CLOCK___287 = 149,
    _SC_MULTI_PROCESS___287 = 150,
    _SC_SINGLE_PROCESS___287 = 151,
    _SC_NETWORKING___287 = 152,
    _SC_READER_WRITER_LOCKS___287 = 153,
    _SC_SPIN_LOCKS___287 = 154,
    _SC_REGEXP___287 = 155,
    _SC_REGEX_VERSION___287 = 156,
    _SC_SHELL___287 = 157,
    _SC_SIGNALS___287 = 158,
    _SC_SPAWN___287 = 159,
    _SC_SPORADIC_SERVER___287 = 160,
    _SC_THREAD_SPORADIC_SERVER___287 = 161,
    _SC_SYSTEM_DATABASE___287 = 162,
    _SC_SYSTEM_DATABASE_R___287 = 163,
    _SC_TIMEOUTS___287 = 164,
    _SC_TYPED_MEMORY_OBJECTS___287 = 165,
    _SC_USER_GROUPS___287 = 166,
    _SC_USER_GROUPS_R___287 = 167,
    _SC_2_PBS___287 = 168,
    _SC_2_PBS_ACCOUNTING___287 = 169,
    _SC_2_PBS_LOCATE___287 = 170,
    _SC_2_PBS_MESSAGE___287 = 171,
    _SC_2_PBS_TRACK___287 = 172,
    _SC_SYMLOOP_MAX___287 = 173,
    _SC_STREAMS___287 = 174,
    _SC_2_PBS_CHECKPOINT___287 = 175,
    _SC_V6_ILP32_OFF32___287 = 176,
    _SC_V6_ILP32_OFFBIG___287 = 177,
    _SC_V6_LP64_OFF64___287 = 178,
    _SC_V6_LPBIG_OFFBIG___287 = 179,
    _SC_HOST_NAME_MAX___287 = 180,
    _SC_TRACE___287 = 181,
    _SC_TRACE_EVENT_FILTER___287 = 182,
    _SC_TRACE_INHERIT___287 = 183,
    _SC_TRACE_LOG___287 = 184,
    _SC_LEVEL1_ICACHE_SIZE___287 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___287 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___287 = 187,
    _SC_LEVEL1_DCACHE_SIZE___287 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___287 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___287 = 190,
    _SC_LEVEL2_CACHE_SIZE___287 = 191,
    _SC_LEVEL2_CACHE_ASSOC___287 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___287 = 193,
    _SC_LEVEL3_CACHE_SIZE___287 = 194,
    _SC_LEVEL3_CACHE_ASSOC___287 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___287 = 196,
    _SC_LEVEL4_CACHE_SIZE___287 = 197,
    _SC_LEVEL4_CACHE_ASSOC___287 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___287 = 199,
    _SC_IPV6___287 = 235,
    _SC_RAW_SOCKETS___287 = 236,
    _SC_V7_ILP32_OFF32___287 = 237,
    _SC_V7_ILP32_OFFBIG___287 = 238,
    _SC_V7_LP64_OFF64___287 = 239,
    _SC_V7_LPBIG_OFFBIG___287 = 240,
    _SC_SS_REPL_MAX___287 = 241,
    _SC_TRACE_EVENT_NAME_MAX___287 = 242,
    _SC_TRACE_NAME_MAX___287 = 243,
    _SC_TRACE_SYS_MAX___287 = 244,
    _SC_TRACE_USER_EVENT_MAX___287 = 245,
    _SC_XOPEN_STREAMS___287 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___287 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___287 = 248
} ;
enum __anonenum_875524036___287 {
    _CS_PATH___287 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___287 = 1,
    _CS_GNU_LIBC_VERSION___287 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___287 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___287 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___287 = 5,
    _CS_LFS_CFLAGS___287 = 1000,
    _CS_LFS_LDFLAGS___287 = 1001,
    _CS_LFS_LIBS___287 = 1002,
    _CS_LFS_LINTFLAGS___287 = 1003,
    _CS_LFS64_CFLAGS___287 = 1004,
    _CS_LFS64_LDFLAGS___287 = 1005,
    _CS_LFS64_LIBS___287 = 1006,
    _CS_LFS64_LINTFLAGS___287 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___287 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___287 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___287 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___287 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___287 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___287 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___287 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___287 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___287 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___287 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___287 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___287 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___287 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___287 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___287 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___287 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___287 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___287 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___287 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___287 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___287 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___287 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___287 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___287 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___287 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___287 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___287 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___287 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___287 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___287 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___287 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___287 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___287 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___287 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___287 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___287 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___287 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___287 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___287 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___287 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___287 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___287 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___287 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___287 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___287 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___287 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___287 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___287 = 1147,
    _CS_V6_ENV___287 = 1148,
    _CS_V7_ENV___287 = 1149
} ;
enum __anonenum_513775621___287 {
    DT_UNKNOWN___287 = 0,
    DT_FIFO___287 = 1,
    DT_CHR___287 = 2,
    DT_DIR___287 = 4,
    DT_BLK___287 = 6,
    DT_REG___287 = 8,
    DT_LNK___287 = 10,
    DT_SOCK___287 = 12,
    DT_WHT___287 = 14
} ;
enum __anonenum_77002343___287 {
    SI_ASYNCNL___287 = -60,
    SI_TKILL___287 = -6,
    SI_SIGIO___287 = -5,
    SI_ASYNCIO___287 = -4,
    SI_MESGQ___287 = -3,
    SI_TIMER___287 = -2,
    SI_QUEUE___287 = -1,
    SI_USER___287 = 0,
    SI_KERNEL___287 = 128
} ;
enum __anonenum_131038172___287 {
    ILL_ILLOPC___287 = 1,
    ILL_ILLOPN___287 = 2,
    ILL_ILLADR___287 = 3,
    ILL_ILLTRP___287 = 4,
    ILL_PRVOPC___287 = 5,
    ILL_PRVREG___287 = 6,
    ILL_COPROC___287 = 7,
    ILL_BADSTK___287 = 8
} ;
enum __anonenum_452038093___287 {
    FPE_INTDIV___287 = 1,
    FPE_INTOVF___287 = 2,
    FPE_FLTDIV___287 = 3,
    FPE_FLTOVF___287 = 4,
    FPE_FLTUND___287 = 5,
    FPE_FLTRES___287 = 6,
    FPE_FLTINV___287 = 7,
    FPE_FLTSUB___287 = 8
} ;
enum __anonenum_30976155___287 {
    SEGV_MAPERR___287 = 1,
    SEGV_ACCERR___287 = 2,
    SEGV_BNDERR___287 = 3,
    SEGV_PKUERR___287 = 4
} ;
enum __anonenum_1036286214___287 {
    BUS_ADRALN___287 = 1,
    BUS_ADRERR___287 = 2,
    BUS_OBJERR___287 = 3,
    BUS_MCEERR_AR___287 = 4,
    BUS_MCEERR_AO___287 = 5
} ;
enum __anonenum_493465559___287 {
    TRAP_BRKPT___287 = 1,
    TRAP_TRACE___287 = 2
} ;
enum __anonenum_23175539___287 {
    CLD_EXITED___287 = 1,
    CLD_KILLED___287 = 2,
    CLD_DUMPED___287 = 3,
    CLD_TRAPPED___287 = 4,
    CLD_STOPPED___287 = 5,
    CLD_CONTINUED___287 = 6
} ;
enum __anonenum_111643124___287 {
    POLL_IN___287 = 1,
    POLL_OUT___287 = 2,
    POLL_MSG___287 = 3,
    POLL_ERR___287 = 4,
    POLL_PRI___287 = 5,
    POLL_HUP___287 = 6
} ;
enum __anonenum_852341087___287 {
    SIGEV_SIGNAL___287 = 0,
    SIGEV_NONE___287 = 1,
    SIGEV_THREAD___287 = 2,
    SIGEV_THREAD_ID___287 = 4
} ;
enum __anonenum_451154152___287 {
    REG_R8___287 = 0,
    REG_R9___287 = 1,
    REG_R10___287 = 2,
    REG_R11___287 = 3,
    REG_R12___287 = 4,
    REG_R13___287 = 5,
    REG_R14___287 = 6,
    REG_R15___287 = 7,
    REG_RDI___287 = 8,
    REG_RSI___287 = 9,
    REG_RBP___287 = 10,
    REG_RBX___287 = 11,
    REG_RDX___287 = 12,
    REG_RAX___287 = 13,
    REG_RCX___287 = 14,
    REG_RSP___287 = 15,
    REG_RIP___287 = 16,
    REG_EFL___287 = 17,
    REG_CSGSFS___287 = 18,
    REG_ERR___287 = 19,
    REG_TRAPNO___287 = 20,
    REG_OLDMASK___287 = 21,
    REG_CR2___287 = 22
} ;
enum __anonenum_57186863___287 {
    SS_ONSTACK___287 = 1,
    SS_DISABLE___287 = 2
} ;
enum __anonenum_83571709___287 {
    MSG_OOB___287 = 1,
    MSG_PEEK___287 = 2,
    MSG_DONTROUTE___287 = 4,
    MSG_TRYHARD___287 = 4,
    MSG_CTRUNC___287 = 8,
    MSG_PROXY___287 = 16,
    MSG_TRUNC___287 = 32,
    MSG_DONTWAIT___287 = 64,
    MSG_EOR___287 = 128,
    MSG_WAITALL___287 = 256,
    MSG_FIN___287 = 512,
    MSG_SYN___287 = 1024,
    MSG_CONFIRM___287 = 2048,
    MSG_RST___287 = 4096,
    MSG_ERRQUEUE___287 = 8192,
    MSG_NOSIGNAL___287 = 16384,
    MSG_MORE___287 = 32768,
    MSG_WAITFORONE___287 = 65536,
    MSG_BATCH___287 = 262144,
    MSG_ZEROCOPY___287 = 67108864,
    MSG_FASTOPEN___287 = 536870912,
    MSG_CMSG_CLOEXEC___287 = 1073741824
} ;
enum __anonenum_617082774___287 {
    SCM_RIGHTS___287 = 1,
    SCM_CREDENTIALS___287 = 2
} ;
enum __anonenum_606441560___287 {
    SHUT_RD___287 = 0,
    SHUT_WR___287 = 1,
    SHUT_RDWR___287 = 2
} ;
enum __anonenum_681669233___287 {
    IPPROTO_IP___287 = 0,
    IPPROTO_ICMP___287 = 1,
    IPPROTO_IGMP___287 = 2,
    IPPROTO_IPIP___287 = 4,
    IPPROTO_TCP___287 = 6,
    IPPROTO_EGP___287 = 8,
    IPPROTO_PUP___287 = 12,
    IPPROTO_UDP___287 = 17,
    IPPROTO_IDP___287 = 22,
    IPPROTO_TP___287 = 29,
    IPPROTO_DCCP___287 = 33,
    IPPROTO_IPV6___287 = 41,
    IPPROTO_RSVP___287 = 46,
    IPPROTO_GRE___287 = 47,
    IPPROTO_ESP___287 = 50,
    IPPROTO_AH___287 = 51,
    IPPROTO_MTP___287 = 92,
    IPPROTO_BEETPH___287 = 94,
    IPPROTO_ENCAP___287 = 98,
    IPPROTO_PIM___287 = 103,
    IPPROTO_COMP___287 = 108,
    IPPROTO_SCTP___287 = 132,
    IPPROTO_UDPLITE___287 = 136,
    IPPROTO_MPLS___287 = 137,
    IPPROTO_RAW___287 = 255,
    IPPROTO_MAX___287 = 256
} ;
enum __anonenum_218739988___287 {
    IPPROTO_HOPOPTS___287 = 0,
    IPPROTO_ROUTING___287 = 43,
    IPPROTO_FRAGMENT___287 = 44,
    IPPROTO_ICMPV6___287 = 58,
    IPPROTO_NONE___287 = 59,
    IPPROTO_DSTOPTS___287 = 60,
    IPPROTO_MH___287 = 135
} ;
enum __anonenum_662268580___287 {
    IPPORT_ECHO___287 = 7,
    IPPORT_DISCARD___287 = 9,
    IPPORT_SYSTAT___287 = 11,
    IPPORT_DAYTIME___287 = 13,
    IPPORT_NETSTAT___287 = 15,
    IPPORT_FTP___287 = 21,
    IPPORT_TELNET___287 = 23,
    IPPORT_SMTP___287 = 25,
    IPPORT_TIMESERVER___287 = 37,
    IPPORT_NAMESERVER___287 = 42,
    IPPORT_WHOIS___287 = 43,
    IPPORT_MTP___287 = 57,
    IPPORT_TFTP___287 = 69,
    IPPORT_RJE___287 = 77,
    IPPORT_FINGER___287 = 79,
    IPPORT_TTYLINK___287 = 87,
    IPPORT_SUPDUP___287 = 95,
    IPPORT_EXECSERVER___287 = 512,
    IPPORT_LOGINSERVER___287 = 513,
    IPPORT_CMDSERVER___287 = 514,
    IPPORT_EFSSERVER___287 = 520,
    IPPORT_BIFFUDP___287 = 512,
    IPPORT_WHOSERVER___287 = 513,
    IPPORT_ROUTESERVER___287 = 520,
    IPPORT_RESERVED___287 = 1024,
    IPPORT_USERRESERVED___287 = 5000
} ;
enum __anonenum_788308992___287 {
    TCP_ESTABLISHED___287 = 1,
    TCP_SYN_SENT___287 = 2,
    TCP_SYN_RECV___287 = 3,
    TCP_FIN_WAIT1___287 = 4,
    TCP_FIN_WAIT2___287 = 5,
    TCP_TIME_WAIT___287 = 6,
    TCP_CLOSE___287 = 7,
    TCP_CLOSE_WAIT___287 = 8,
    TCP_LAST_ACK___287 = 9,
    TCP_LISTEN___287 = 10,
    TCP_CLOSING___287 = 11
} ;
enum __anonenum_221125648___287 {
    TCP_NO_QUEUE___287 = 0,
    TCP_RECV_QUEUE___287 = 1,
    TCP_SEND_QUEUE___287 = 2,
    TCP_QUEUES_NR___287 = 3
} ;
enum __anonenum_34415463___287 {
    PTHREAD_CREATE_JOINABLE___287 = 0,
    PTHREAD_CREATE_DETACHED___287 = 1
} ;
enum __anonenum_303612439___287 {
    PTHREAD_MUTEX_TIMED_NP___287 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___287 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___287 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___287 = 3,
    PTHREAD_MUTEX_NORMAL___287 = 0,
    PTHREAD_MUTEX_RECURSIVE___287 = 1,
    PTHREAD_MUTEX_ERRORCHECK___287 = 2,
    PTHREAD_MUTEX_DEFAULT___287 = 0,
    PTHREAD_MUTEX_FAST_NP___287 = 0
} ;
enum __anonenum_931900394___287 {
    PTHREAD_MUTEX_STALLED___287 = 0,
    PTHREAD_MUTEX_STALLED_NP___287 = 0,
    PTHREAD_MUTEX_ROBUST___287 = 1,
    PTHREAD_MUTEX_ROBUST_NP___287 = 1
} ;
enum __anonenum_205214487___287 {
    PTHREAD_PRIO_NONE___287 = 0,
    PTHREAD_PRIO_INHERIT___287 = 1,
    PTHREAD_PRIO_PROTECT___287 = 2
} ;
enum __anonenum_25043950___287 {
    PTHREAD_RWLOCK_PREFER_READER_NP___287 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___287 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___287 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___287 = 0
} ;
enum __anonenum_436439511___287 {
    PTHREAD_INHERIT_SCHED___287 = 0,
    PTHREAD_EXPLICIT_SCHED___287 = 1
} ;
enum __anonenum_998661166___287 {
    PTHREAD_SCOPE_SYSTEM___287 = 0,
    PTHREAD_SCOPE_PROCESS___287 = 1
} ;
enum __anonenum_146137331___287 {
    PTHREAD_PROCESS_PRIVATE___287 = 0,
    PTHREAD_PROCESS_SHARED___287 = 1
} ;
enum __anonenum_53396917___287 {
    PTHREAD_CANCEL_ENABLE___287 = 0,
    PTHREAD_CANCEL_DISABLE___287 = 1
} ;
enum __anonenum_904563783___287 {
    PTHREAD_CANCEL_DEFERRED___287 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___287 = 1
} ;
enum __anonenum_672052974___287 {
    SSL_CT_VALIDATION_PERMISSIVE___287 = 0,
    SSL_CT_VALIDATION_STRICT___287 = 1
} ;
enum __anonenum_34023289___26 {
    REMOTE_UNCONFIGURED___26 = 0,
    REMOTE_CONFIG___26 = 1,
    REMOTE_REMOTES___26 = 2,
    REMOTE_BRANCHES___26 = 3
} ;
enum __anonenum_561748495___18 {
    RECURSE_SUBMODULES_ONLY___18 = -5,
    RECURSE_SUBMODULES_CHECK___18 = -4,
    RECURSE_SUBMODULES_ERROR___18 = -3,
    RECURSE_SUBMODULES_NONE___18 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___18 = -1,
    RECURSE_SUBMODULES_OFF___18 = 0,
    RECURSE_SUBMODULES_DEFAULT___18 = 1,
    RECURSE_SUBMODULES_ON___18 = 2
} ;
struct checkout_opts {
   int patch_mode ;
   int quiet ;
   int merge ;
   int force ;
   int force_detach ;
   int implicit_detach ;
   int writeout_stage ;
   int overwrite_ignore ;
   int ignore_skipworktree ;
   int ignore_other_worktrees ;
   int show_progress ;
   int count_checkout_paths ;
   int overlay_mode ;
   int dwim_new_local_branch ;
   int discard_changes ;
   int accept_ref ;
   int accept_pathspec ;
   int switch_branch_doing_nothing_is_ok ;
   int only_merge_on_switching_branches ;
   int can_switch_when_in_progress ;
   int orphan_from_empty_tree ;
   int empty_pathspec_ok ;
   int checkout_index ;
   int checkout_worktree ;
   char const   *ignore_unmerged_opt ;
   int ignore_unmerged ;
   int pathspec_file_nul ;
   char const   *pathspec_from_file ;
   char const   *new_branch ;
   char const   *new_branch_force ;
   char const   *new_orphan_branch ;
   int new_branch_log ;
   enum branch_track track ;
   struct diff_options diff_options ;
   char *conflict_style ;
   int branch_exists ;
   char const   *prefix ;
   struct pathspec pathspec ;
   char const   *from_treeish ;
   struct tree *source_tree ;
};
struct branch_info {
   char *name ;
   char *path ;
   struct commit *commit ;
   char *refname ;
   struct object_id oid ;
   char *checkout ;
};
enum __anonenum_437032235___288 {
    _PC_LINK_MAX___288 = 0,
    _PC_MAX_CANON___288 = 1,
    _PC_MAX_INPUT___288 = 2,
    _PC_NAME_MAX___288 = 3,
    _PC_PATH_MAX___288 = 4,
    _PC_PIPE_BUF___288 = 5,
    _PC_CHOWN_RESTRICTED___288 = 6,
    _PC_NO_TRUNC___288 = 7,
    _PC_VDISABLE___288 = 8,
    _PC_SYNC_IO___288 = 9,
    _PC_ASYNC_IO___288 = 10,
    _PC_PRIO_IO___288 = 11,
    _PC_SOCK_MAXBUF___288 = 12,
    _PC_FILESIZEBITS___288 = 13,
    _PC_REC_INCR_XFER_SIZE___288 = 14,
    _PC_REC_MAX_XFER_SIZE___288 = 15,
    _PC_REC_MIN_XFER_SIZE___288 = 16,
    _PC_REC_XFER_ALIGN___288 = 17,
    _PC_ALLOC_SIZE_MIN___288 = 18,
    _PC_SYMLINK_MAX___288 = 19,
    _PC_2_SYMLINKS___288 = 20
} ;
enum __anonenum_315186338___288 {
    _SC_ARG_MAX___288 = 0,
    _SC_CHILD_MAX___288 = 1,
    _SC_CLK_TCK___288 = 2,
    _SC_NGROUPS_MAX___288 = 3,
    _SC_OPEN_MAX___288 = 4,
    _SC_STREAM_MAX___288 = 5,
    _SC_TZNAME_MAX___288 = 6,
    _SC_JOB_CONTROL___288 = 7,
    _SC_SAVED_IDS___288 = 8,
    _SC_REALTIME_SIGNALS___288 = 9,
    _SC_PRIORITY_SCHEDULING___288 = 10,
    _SC_TIMERS___288 = 11,
    _SC_ASYNCHRONOUS_IO___288 = 12,
    _SC_PRIORITIZED_IO___288 = 13,
    _SC_SYNCHRONIZED_IO___288 = 14,
    _SC_FSYNC___288 = 15,
    _SC_MAPPED_FILES___288 = 16,
    _SC_MEMLOCK___288 = 17,
    _SC_MEMLOCK_RANGE___288 = 18,
    _SC_MEMORY_PROTECTION___288 = 19,
    _SC_MESSAGE_PASSING___288 = 20,
    _SC_SEMAPHORES___288 = 21,
    _SC_SHARED_MEMORY_OBJECTS___288 = 22,
    _SC_AIO_LISTIO_MAX___288 = 23,
    _SC_AIO_MAX___288 = 24,
    _SC_AIO_PRIO_DELTA_MAX___288 = 25,
    _SC_DELAYTIMER_MAX___288 = 26,
    _SC_MQ_OPEN_MAX___288 = 27,
    _SC_MQ_PRIO_MAX___288 = 28,
    _SC_VERSION___288 = 29,
    _SC_PAGESIZE___288 = 30,
    _SC_RTSIG_MAX___288 = 31,
    _SC_SEM_NSEMS_MAX___288 = 32,
    _SC_SEM_VALUE_MAX___288 = 33,
    _SC_SIGQUEUE_MAX___288 = 34,
    _SC_TIMER_MAX___288 = 35,
    _SC_BC_BASE_MAX___288 = 36,
    _SC_BC_DIM_MAX___288 = 37,
    _SC_BC_SCALE_MAX___288 = 38,
    _SC_BC_STRING_MAX___288 = 39,
    _SC_COLL_WEIGHTS_MAX___288 = 40,
    _SC_EQUIV_CLASS_MAX___288 = 41,
    _SC_EXPR_NEST_MAX___288 = 42,
    _SC_LINE_MAX___288 = 43,
    _SC_RE_DUP_MAX___288 = 44,
    _SC_CHARCLASS_NAME_MAX___288 = 45,
    _SC_2_VERSION___288 = 46,
    _SC_2_C_BIND___288 = 47,
    _SC_2_C_DEV___288 = 48,
    _SC_2_FORT_DEV___288 = 49,
    _SC_2_FORT_RUN___288 = 50,
    _SC_2_SW_DEV___288 = 51,
    _SC_2_LOCALEDEF___288 = 52,
    _SC_PII___288 = 53,
    _SC_PII_XTI___288 = 54,
    _SC_PII_SOCKET___288 = 55,
    _SC_PII_INTERNET___288 = 56,
    _SC_PII_OSI___288 = 57,
    _SC_POLL___288 = 58,
    _SC_SELECT___288 = 59,
    _SC_UIO_MAXIOV___288 = 60,
    _SC_IOV_MAX___288 = 60,
    _SC_PII_INTERNET_STREAM___288 = 61,
    _SC_PII_INTERNET_DGRAM___288 = 62,
    _SC_PII_OSI_COTS___288 = 63,
    _SC_PII_OSI_CLTS___288 = 64,
    _SC_PII_OSI_M___288 = 65,
    _SC_T_IOV_MAX___288 = 66,
    _SC_THREADS___288 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___288 = 68,
    _SC_GETGR_R_SIZE_MAX___288 = 69,
    _SC_GETPW_R_SIZE_MAX___288 = 70,
    _SC_LOGIN_NAME_MAX___288 = 71,
    _SC_TTY_NAME_MAX___288 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___288 = 73,
    _SC_THREAD_KEYS_MAX___288 = 74,
    _SC_THREAD_STACK_MIN___288 = 75,
    _SC_THREAD_THREADS_MAX___288 = 76,
    _SC_THREAD_ATTR_STACKADDR___288 = 77,
    _SC_THREAD_ATTR_STACKSIZE___288 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___288 = 79,
    _SC_THREAD_PRIO_INHERIT___288 = 80,
    _SC_THREAD_PRIO_PROTECT___288 = 81,
    _SC_THREAD_PROCESS_SHARED___288 = 82,
    _SC_NPROCESSORS_CONF___288 = 83,
    _SC_NPROCESSORS_ONLN___288 = 84,
    _SC_PHYS_PAGES___288 = 85,
    _SC_AVPHYS_PAGES___288 = 86,
    _SC_ATEXIT_MAX___288 = 87,
    _SC_PASS_MAX___288 = 88,
    _SC_XOPEN_VERSION___288 = 89,
    _SC_XOPEN_XCU_VERSION___288 = 90,
    _SC_XOPEN_UNIX___288 = 91,
    _SC_XOPEN_CRYPT___288 = 92,
    _SC_XOPEN_ENH_I18N___288 = 93,
    _SC_XOPEN_SHM___288 = 94,
    _SC_2_CHAR_TERM___288 = 95,
    _SC_2_C_VERSION___288 = 96,
    _SC_2_UPE___288 = 97,
    _SC_XOPEN_XPG2___288 = 98,
    _SC_XOPEN_XPG3___288 = 99,
    _SC_XOPEN_XPG4___288 = 100,
    _SC_CHAR_BIT___288 = 101,
    _SC_CHAR_MAX___288 = 102,
    _SC_CHAR_MIN___288 = 103,
    _SC_INT_MAX___288 = 104,
    _SC_INT_MIN___288 = 105,
    _SC_LONG_BIT___288 = 106,
    _SC_WORD_BIT___288 = 107,
    _SC_MB_LEN_MAX___288 = 108,
    _SC_NZERO___288 = 109,
    _SC_SSIZE_MAX___288 = 110,
    _SC_SCHAR_MAX___288 = 111,
    _SC_SCHAR_MIN___288 = 112,
    _SC_SHRT_MAX___288 = 113,
    _SC_SHRT_MIN___288 = 114,
    _SC_UCHAR_MAX___288 = 115,
    _SC_UINT_MAX___288 = 116,
    _SC_ULONG_MAX___288 = 117,
    _SC_USHRT_MAX___288 = 118,
    _SC_NL_ARGMAX___288 = 119,
    _SC_NL_LANGMAX___288 = 120,
    _SC_NL_MSGMAX___288 = 121,
    _SC_NL_NMAX___288 = 122,
    _SC_NL_SETMAX___288 = 123,
    _SC_NL_TEXTMAX___288 = 124,
    _SC_XBS5_ILP32_OFF32___288 = 125,
    _SC_XBS5_ILP32_OFFBIG___288 = 126,
    _SC_XBS5_LP64_OFF64___288 = 127,
    _SC_XBS5_LPBIG_OFFBIG___288 = 128,
    _SC_XOPEN_LEGACY___288 = 129,
    _SC_XOPEN_REALTIME___288 = 130,
    _SC_XOPEN_REALTIME_THREADS___288 = 131,
    _SC_ADVISORY_INFO___288 = 132,
    _SC_BARRIERS___288 = 133,
    _SC_BASE___288 = 134,
    _SC_C_LANG_SUPPORT___288 = 135,
    _SC_C_LANG_SUPPORT_R___288 = 136,
    _SC_CLOCK_SELECTION___288 = 137,
    _SC_CPUTIME___288 = 138,
    _SC_THREAD_CPUTIME___288 = 139,
    _SC_DEVICE_IO___288 = 140,
    _SC_DEVICE_SPECIFIC___288 = 141,
    _SC_DEVICE_SPECIFIC_R___288 = 142,
    _SC_FD_MGMT___288 = 143,
    _SC_FIFO___288 = 144,
    _SC_PIPE___288 = 145,
    _SC_FILE_ATTRIBUTES___288 = 146,
    _SC_FILE_LOCKING___288 = 147,
    _SC_FILE_SYSTEM___288 = 148,
    _SC_MONOTONIC_CLOCK___288 = 149,
    _SC_MULTI_PROCESS___288 = 150,
    _SC_SINGLE_PROCESS___288 = 151,
    _SC_NETWORKING___288 = 152,
    _SC_READER_WRITER_LOCKS___288 = 153,
    _SC_SPIN_LOCKS___288 = 154,
    _SC_REGEXP___288 = 155,
    _SC_REGEX_VERSION___288 = 156,
    _SC_SHELL___288 = 157,
    _SC_SIGNALS___288 = 158,
    _SC_SPAWN___288 = 159,
    _SC_SPORADIC_SERVER___288 = 160,
    _SC_THREAD_SPORADIC_SERVER___288 = 161,
    _SC_SYSTEM_DATABASE___288 = 162,
    _SC_SYSTEM_DATABASE_R___288 = 163,
    _SC_TIMEOUTS___288 = 164,
    _SC_TYPED_MEMORY_OBJECTS___288 = 165,
    _SC_USER_GROUPS___288 = 166,
    _SC_USER_GROUPS_R___288 = 167,
    _SC_2_PBS___288 = 168,
    _SC_2_PBS_ACCOUNTING___288 = 169,
    _SC_2_PBS_LOCATE___288 = 170,
    _SC_2_PBS_MESSAGE___288 = 171,
    _SC_2_PBS_TRACK___288 = 172,
    _SC_SYMLOOP_MAX___288 = 173,
    _SC_STREAMS___288 = 174,
    _SC_2_PBS_CHECKPOINT___288 = 175,
    _SC_V6_ILP32_OFF32___288 = 176,
    _SC_V6_ILP32_OFFBIG___288 = 177,
    _SC_V6_LP64_OFF64___288 = 178,
    _SC_V6_LPBIG_OFFBIG___288 = 179,
    _SC_HOST_NAME_MAX___288 = 180,
    _SC_TRACE___288 = 181,
    _SC_TRACE_EVENT_FILTER___288 = 182,
    _SC_TRACE_INHERIT___288 = 183,
    _SC_TRACE_LOG___288 = 184,
    _SC_LEVEL1_ICACHE_SIZE___288 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___288 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___288 = 187,
    _SC_LEVEL1_DCACHE_SIZE___288 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___288 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___288 = 190,
    _SC_LEVEL2_CACHE_SIZE___288 = 191,
    _SC_LEVEL2_CACHE_ASSOC___288 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___288 = 193,
    _SC_LEVEL3_CACHE_SIZE___288 = 194,
    _SC_LEVEL3_CACHE_ASSOC___288 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___288 = 196,
    _SC_LEVEL4_CACHE_SIZE___288 = 197,
    _SC_LEVEL4_CACHE_ASSOC___288 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___288 = 199,
    _SC_IPV6___288 = 235,
    _SC_RAW_SOCKETS___288 = 236,
    _SC_V7_ILP32_OFF32___288 = 237,
    _SC_V7_ILP32_OFFBIG___288 = 238,
    _SC_V7_LP64_OFF64___288 = 239,
    _SC_V7_LPBIG_OFFBIG___288 = 240,
    _SC_SS_REPL_MAX___288 = 241,
    _SC_TRACE_EVENT_NAME_MAX___288 = 242,
    _SC_TRACE_NAME_MAX___288 = 243,
    _SC_TRACE_SYS_MAX___288 = 244,
    _SC_TRACE_USER_EVENT_MAX___288 = 245,
    _SC_XOPEN_STREAMS___288 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___288 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___288 = 248
} ;
enum __anonenum_875524036___288 {
    _CS_PATH___288 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___288 = 1,
    _CS_GNU_LIBC_VERSION___288 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___288 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___288 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___288 = 5,
    _CS_LFS_CFLAGS___288 = 1000,
    _CS_LFS_LDFLAGS___288 = 1001,
    _CS_LFS_LIBS___288 = 1002,
    _CS_LFS_LINTFLAGS___288 = 1003,
    _CS_LFS64_CFLAGS___288 = 1004,
    _CS_LFS64_LDFLAGS___288 = 1005,
    _CS_LFS64_LIBS___288 = 1006,
    _CS_LFS64_LINTFLAGS___288 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___288 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___288 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___288 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___288 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___288 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___288 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___288 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___288 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___288 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___288 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___288 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___288 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___288 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___288 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___288 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___288 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___288 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___288 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___288 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___288 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___288 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___288 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___288 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___288 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___288 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___288 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___288 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___288 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___288 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___288 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___288 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___288 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___288 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___288 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___288 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___288 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___288 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___288 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___288 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___288 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___288 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___288 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___288 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___288 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___288 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___288 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___288 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___288 = 1147,
    _CS_V6_ENV___288 = 1148,
    _CS_V7_ENV___288 = 1149
} ;
enum __anonenum_513775621___288 {
    DT_UNKNOWN___288 = 0,
    DT_FIFO___288 = 1,
    DT_CHR___288 = 2,
    DT_DIR___288 = 4,
    DT_BLK___288 = 6,
    DT_REG___288 = 8,
    DT_LNK___288 = 10,
    DT_SOCK___288 = 12,
    DT_WHT___288 = 14
} ;
enum __anonenum_77002343___288 {
    SI_ASYNCNL___288 = -60,
    SI_TKILL___288 = -6,
    SI_SIGIO___288 = -5,
    SI_ASYNCIO___288 = -4,
    SI_MESGQ___288 = -3,
    SI_TIMER___288 = -2,
    SI_QUEUE___288 = -1,
    SI_USER___288 = 0,
    SI_KERNEL___288 = 128
} ;
enum __anonenum_131038172___288 {
    ILL_ILLOPC___288 = 1,
    ILL_ILLOPN___288 = 2,
    ILL_ILLADR___288 = 3,
    ILL_ILLTRP___288 = 4,
    ILL_PRVOPC___288 = 5,
    ILL_PRVREG___288 = 6,
    ILL_COPROC___288 = 7,
    ILL_BADSTK___288 = 8
} ;
enum __anonenum_452038093___288 {
    FPE_INTDIV___288 = 1,
    FPE_INTOVF___288 = 2,
    FPE_FLTDIV___288 = 3,
    FPE_FLTOVF___288 = 4,
    FPE_FLTUND___288 = 5,
    FPE_FLTRES___288 = 6,
    FPE_FLTINV___288 = 7,
    FPE_FLTSUB___288 = 8
} ;
enum __anonenum_30976155___288 {
    SEGV_MAPERR___288 = 1,
    SEGV_ACCERR___288 = 2,
    SEGV_BNDERR___288 = 3,
    SEGV_PKUERR___288 = 4
} ;
enum __anonenum_1036286214___288 {
    BUS_ADRALN___288 = 1,
    BUS_ADRERR___288 = 2,
    BUS_OBJERR___288 = 3,
    BUS_MCEERR_AR___288 = 4,
    BUS_MCEERR_AO___288 = 5
} ;
enum __anonenum_493465559___288 {
    TRAP_BRKPT___288 = 1,
    TRAP_TRACE___288 = 2
} ;
enum __anonenum_23175539___288 {
    CLD_EXITED___288 = 1,
    CLD_KILLED___288 = 2,
    CLD_DUMPED___288 = 3,
    CLD_TRAPPED___288 = 4,
    CLD_STOPPED___288 = 5,
    CLD_CONTINUED___288 = 6
} ;
enum __anonenum_111643124___288 {
    POLL_IN___288 = 1,
    POLL_OUT___288 = 2,
    POLL_MSG___288 = 3,
    POLL_ERR___288 = 4,
    POLL_PRI___288 = 5,
    POLL_HUP___288 = 6
} ;
enum __anonenum_852341087___288 {
    SIGEV_SIGNAL___288 = 0,
    SIGEV_NONE___288 = 1,
    SIGEV_THREAD___288 = 2,
    SIGEV_THREAD_ID___288 = 4
} ;
enum __anonenum_451154152___288 {
    REG_R8___288 = 0,
    REG_R9___288 = 1,
    REG_R10___288 = 2,
    REG_R11___288 = 3,
    REG_R12___288 = 4,
    REG_R13___288 = 5,
    REG_R14___288 = 6,
    REG_R15___288 = 7,
    REG_RDI___288 = 8,
    REG_RSI___288 = 9,
    REG_RBP___288 = 10,
    REG_RBX___288 = 11,
    REG_RDX___288 = 12,
    REG_RAX___288 = 13,
    REG_RCX___288 = 14,
    REG_RSP___288 = 15,
    REG_RIP___288 = 16,
    REG_EFL___288 = 17,
    REG_CSGSFS___288 = 18,
    REG_ERR___288 = 19,
    REG_TRAPNO___288 = 20,
    REG_OLDMASK___288 = 21,
    REG_CR2___288 = 22
} ;
enum __anonenum_57186863___288 {
    SS_ONSTACK___288 = 1,
    SS_DISABLE___288 = 2
} ;
enum __anonenum_83571709___288 {
    MSG_OOB___288 = 1,
    MSG_PEEK___288 = 2,
    MSG_DONTROUTE___288 = 4,
    MSG_TRYHARD___288 = 4,
    MSG_CTRUNC___288 = 8,
    MSG_PROXY___288 = 16,
    MSG_TRUNC___288 = 32,
    MSG_DONTWAIT___288 = 64,
    MSG_EOR___288 = 128,
    MSG_WAITALL___288 = 256,
    MSG_FIN___288 = 512,
    MSG_SYN___288 = 1024,
    MSG_CONFIRM___288 = 2048,
    MSG_RST___288 = 4096,
    MSG_ERRQUEUE___288 = 8192,
    MSG_NOSIGNAL___288 = 16384,
    MSG_MORE___288 = 32768,
    MSG_WAITFORONE___288 = 65536,
    MSG_BATCH___288 = 262144,
    MSG_ZEROCOPY___288 = 67108864,
    MSG_FASTOPEN___288 = 536870912,
    MSG_CMSG_CLOEXEC___288 = 1073741824
} ;
enum __anonenum_617082774___288 {
    SCM_RIGHTS___288 = 1,
    SCM_CREDENTIALS___288 = 2
} ;
enum __anonenum_606441560___288 {
    SHUT_RD___288 = 0,
    SHUT_WR___288 = 1,
    SHUT_RDWR___288 = 2
} ;
enum __anonenum_681669233___288 {
    IPPROTO_IP___288 = 0,
    IPPROTO_ICMP___288 = 1,
    IPPROTO_IGMP___288 = 2,
    IPPROTO_IPIP___288 = 4,
    IPPROTO_TCP___288 = 6,
    IPPROTO_EGP___288 = 8,
    IPPROTO_PUP___288 = 12,
    IPPROTO_UDP___288 = 17,
    IPPROTO_IDP___288 = 22,
    IPPROTO_TP___288 = 29,
    IPPROTO_DCCP___288 = 33,
    IPPROTO_IPV6___288 = 41,
    IPPROTO_RSVP___288 = 46,
    IPPROTO_GRE___288 = 47,
    IPPROTO_ESP___288 = 50,
    IPPROTO_AH___288 = 51,
    IPPROTO_MTP___288 = 92,
    IPPROTO_BEETPH___288 = 94,
    IPPROTO_ENCAP___288 = 98,
    IPPROTO_PIM___288 = 103,
    IPPROTO_COMP___288 = 108,
    IPPROTO_SCTP___288 = 132,
    IPPROTO_UDPLITE___288 = 136,
    IPPROTO_MPLS___288 = 137,
    IPPROTO_RAW___288 = 255,
    IPPROTO_MAX___288 = 256
} ;
enum __anonenum_218739988___288 {
    IPPROTO_HOPOPTS___288 = 0,
    IPPROTO_ROUTING___288 = 43,
    IPPROTO_FRAGMENT___288 = 44,
    IPPROTO_ICMPV6___288 = 58,
    IPPROTO_NONE___288 = 59,
    IPPROTO_DSTOPTS___288 = 60,
    IPPROTO_MH___288 = 135
} ;
enum __anonenum_662268580___288 {
    IPPORT_ECHO___288 = 7,
    IPPORT_DISCARD___288 = 9,
    IPPORT_SYSTAT___288 = 11,
    IPPORT_DAYTIME___288 = 13,
    IPPORT_NETSTAT___288 = 15,
    IPPORT_FTP___288 = 21,
    IPPORT_TELNET___288 = 23,
    IPPORT_SMTP___288 = 25,
    IPPORT_TIMESERVER___288 = 37,
    IPPORT_NAMESERVER___288 = 42,
    IPPORT_WHOIS___288 = 43,
    IPPORT_MTP___288 = 57,
    IPPORT_TFTP___288 = 69,
    IPPORT_RJE___288 = 77,
    IPPORT_FINGER___288 = 79,
    IPPORT_TTYLINK___288 = 87,
    IPPORT_SUPDUP___288 = 95,
    IPPORT_EXECSERVER___288 = 512,
    IPPORT_LOGINSERVER___288 = 513,
    IPPORT_CMDSERVER___288 = 514,
    IPPORT_EFSSERVER___288 = 520,
    IPPORT_BIFFUDP___288 = 512,
    IPPORT_WHOSERVER___288 = 513,
    IPPORT_ROUTESERVER___288 = 520,
    IPPORT_RESERVED___288 = 1024,
    IPPORT_USERRESERVED___288 = 5000
} ;
enum __anonenum_788308992___288 {
    TCP_ESTABLISHED___288 = 1,
    TCP_SYN_SENT___288 = 2,
    TCP_SYN_RECV___288 = 3,
    TCP_FIN_WAIT1___288 = 4,
    TCP_FIN_WAIT2___288 = 5,
    TCP_TIME_WAIT___288 = 6,
    TCP_CLOSE___288 = 7,
    TCP_CLOSE_WAIT___288 = 8,
    TCP_LAST_ACK___288 = 9,
    TCP_LISTEN___288 = 10,
    TCP_CLOSING___288 = 11
} ;
enum __anonenum_221125648___288 {
    TCP_NO_QUEUE___288 = 0,
    TCP_RECV_QUEUE___288 = 1,
    TCP_SEND_QUEUE___288 = 2,
    TCP_QUEUES_NR___288 = 3
} ;
enum __anonenum_34415463___288 {
    PTHREAD_CREATE_JOINABLE___288 = 0,
    PTHREAD_CREATE_DETACHED___288 = 1
} ;
enum __anonenum_303612439___288 {
    PTHREAD_MUTEX_TIMED_NP___288 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___288 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___288 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___288 = 3,
    PTHREAD_MUTEX_NORMAL___288 = 0,
    PTHREAD_MUTEX_RECURSIVE___288 = 1,
    PTHREAD_MUTEX_ERRORCHECK___288 = 2,
    PTHREAD_MUTEX_DEFAULT___288 = 0,
    PTHREAD_MUTEX_FAST_NP___288 = 0
} ;
enum __anonenum_931900394___288 {
    PTHREAD_MUTEX_STALLED___288 = 0,
    PTHREAD_MUTEX_STALLED_NP___288 = 0,
    PTHREAD_MUTEX_ROBUST___288 = 1,
    PTHREAD_MUTEX_ROBUST_NP___288 = 1
} ;
enum __anonenum_205214487___288 {
    PTHREAD_PRIO_NONE___288 = 0,
    PTHREAD_PRIO_INHERIT___288 = 1,
    PTHREAD_PRIO_PROTECT___288 = 2
} ;
enum __anonenum_25043950___288 {
    PTHREAD_RWLOCK_PREFER_READER_NP___288 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___288 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___288 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___288 = 0
} ;
enum __anonenum_436439511___288 {
    PTHREAD_INHERIT_SCHED___288 = 0,
    PTHREAD_EXPLICIT_SCHED___288 = 1
} ;
enum __anonenum_998661166___288 {
    PTHREAD_SCOPE_SYSTEM___288 = 0,
    PTHREAD_SCOPE_PROCESS___288 = 1
} ;
enum __anonenum_146137331___288 {
    PTHREAD_PROCESS_PRIVATE___288 = 0,
    PTHREAD_PROCESS_SHARED___288 = 1
} ;
enum __anonenum_53396917___288 {
    PTHREAD_CANCEL_ENABLE___288 = 0,
    PTHREAD_CANCEL_DISABLE___288 = 1
} ;
enum __anonenum_904563783___288 {
    PTHREAD_CANCEL_DEFERRED___288 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___288 = 1
} ;
enum __anonenum_672052974___288 {
    SSL_CT_VALIDATION_PERMISSIVE___288 = 0,
    SSL_CT_VALIDATION_STRICT___288 = 1
} ;
enum color_clean {
    CLEAN_COLOR_RESET = 0,
    CLEAN_COLOR_PLAIN = 1,
    CLEAN_COLOR_PROMPT = 2,
    CLEAN_COLOR_HEADER = 3,
    CLEAN_COLOR_HELP = 4,
    CLEAN_COLOR_ERROR = 5
} ;
struct menu_opts {
   char const   *header ;
   char const   *prompt ;
   int flags ;
};
struct menu_item {
   char hotkey ;
   char const   *title ;
   int selected ;
   int (*fn)(void) ;
};
enum menu_stuff_type {
    MENU_STUFF_TYPE_STRING_LIST = 1,
    MENU_STUFF_TYPE_MENU_ITEM = 2
} ;
struct menu_stuff {
   enum menu_stuff_type type ;
   int nr ;
   void *stuff ;
};
enum __anonenum_437032235___289 {
    _PC_LINK_MAX___289 = 0,
    _PC_MAX_CANON___289 = 1,
    _PC_MAX_INPUT___289 = 2,
    _PC_NAME_MAX___289 = 3,
    _PC_PATH_MAX___289 = 4,
    _PC_PIPE_BUF___289 = 5,
    _PC_CHOWN_RESTRICTED___289 = 6,
    _PC_NO_TRUNC___289 = 7,
    _PC_VDISABLE___289 = 8,
    _PC_SYNC_IO___289 = 9,
    _PC_ASYNC_IO___289 = 10,
    _PC_PRIO_IO___289 = 11,
    _PC_SOCK_MAXBUF___289 = 12,
    _PC_FILESIZEBITS___289 = 13,
    _PC_REC_INCR_XFER_SIZE___289 = 14,
    _PC_REC_MAX_XFER_SIZE___289 = 15,
    _PC_REC_MIN_XFER_SIZE___289 = 16,
    _PC_REC_XFER_ALIGN___289 = 17,
    _PC_ALLOC_SIZE_MIN___289 = 18,
    _PC_SYMLINK_MAX___289 = 19,
    _PC_2_SYMLINKS___289 = 20
} ;
enum __anonenum_315186338___289 {
    _SC_ARG_MAX___289 = 0,
    _SC_CHILD_MAX___289 = 1,
    _SC_CLK_TCK___289 = 2,
    _SC_NGROUPS_MAX___289 = 3,
    _SC_OPEN_MAX___289 = 4,
    _SC_STREAM_MAX___289 = 5,
    _SC_TZNAME_MAX___289 = 6,
    _SC_JOB_CONTROL___289 = 7,
    _SC_SAVED_IDS___289 = 8,
    _SC_REALTIME_SIGNALS___289 = 9,
    _SC_PRIORITY_SCHEDULING___289 = 10,
    _SC_TIMERS___289 = 11,
    _SC_ASYNCHRONOUS_IO___289 = 12,
    _SC_PRIORITIZED_IO___289 = 13,
    _SC_SYNCHRONIZED_IO___289 = 14,
    _SC_FSYNC___289 = 15,
    _SC_MAPPED_FILES___289 = 16,
    _SC_MEMLOCK___289 = 17,
    _SC_MEMLOCK_RANGE___289 = 18,
    _SC_MEMORY_PROTECTION___289 = 19,
    _SC_MESSAGE_PASSING___289 = 20,
    _SC_SEMAPHORES___289 = 21,
    _SC_SHARED_MEMORY_OBJECTS___289 = 22,
    _SC_AIO_LISTIO_MAX___289 = 23,
    _SC_AIO_MAX___289 = 24,
    _SC_AIO_PRIO_DELTA_MAX___289 = 25,
    _SC_DELAYTIMER_MAX___289 = 26,
    _SC_MQ_OPEN_MAX___289 = 27,
    _SC_MQ_PRIO_MAX___289 = 28,
    _SC_VERSION___289 = 29,
    _SC_PAGESIZE___289 = 30,
    _SC_RTSIG_MAX___289 = 31,
    _SC_SEM_NSEMS_MAX___289 = 32,
    _SC_SEM_VALUE_MAX___289 = 33,
    _SC_SIGQUEUE_MAX___289 = 34,
    _SC_TIMER_MAX___289 = 35,
    _SC_BC_BASE_MAX___289 = 36,
    _SC_BC_DIM_MAX___289 = 37,
    _SC_BC_SCALE_MAX___289 = 38,
    _SC_BC_STRING_MAX___289 = 39,
    _SC_COLL_WEIGHTS_MAX___289 = 40,
    _SC_EQUIV_CLASS_MAX___289 = 41,
    _SC_EXPR_NEST_MAX___289 = 42,
    _SC_LINE_MAX___289 = 43,
    _SC_RE_DUP_MAX___289 = 44,
    _SC_CHARCLASS_NAME_MAX___289 = 45,
    _SC_2_VERSION___289 = 46,
    _SC_2_C_BIND___289 = 47,
    _SC_2_C_DEV___289 = 48,
    _SC_2_FORT_DEV___289 = 49,
    _SC_2_FORT_RUN___289 = 50,
    _SC_2_SW_DEV___289 = 51,
    _SC_2_LOCALEDEF___289 = 52,
    _SC_PII___289 = 53,
    _SC_PII_XTI___289 = 54,
    _SC_PII_SOCKET___289 = 55,
    _SC_PII_INTERNET___289 = 56,
    _SC_PII_OSI___289 = 57,
    _SC_POLL___289 = 58,
    _SC_SELECT___289 = 59,
    _SC_UIO_MAXIOV___289 = 60,
    _SC_IOV_MAX___289 = 60,
    _SC_PII_INTERNET_STREAM___289 = 61,
    _SC_PII_INTERNET_DGRAM___289 = 62,
    _SC_PII_OSI_COTS___289 = 63,
    _SC_PII_OSI_CLTS___289 = 64,
    _SC_PII_OSI_M___289 = 65,
    _SC_T_IOV_MAX___289 = 66,
    _SC_THREADS___289 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___289 = 68,
    _SC_GETGR_R_SIZE_MAX___289 = 69,
    _SC_GETPW_R_SIZE_MAX___289 = 70,
    _SC_LOGIN_NAME_MAX___289 = 71,
    _SC_TTY_NAME_MAX___289 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___289 = 73,
    _SC_THREAD_KEYS_MAX___289 = 74,
    _SC_THREAD_STACK_MIN___289 = 75,
    _SC_THREAD_THREADS_MAX___289 = 76,
    _SC_THREAD_ATTR_STACKADDR___289 = 77,
    _SC_THREAD_ATTR_STACKSIZE___289 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___289 = 79,
    _SC_THREAD_PRIO_INHERIT___289 = 80,
    _SC_THREAD_PRIO_PROTECT___289 = 81,
    _SC_THREAD_PROCESS_SHARED___289 = 82,
    _SC_NPROCESSORS_CONF___289 = 83,
    _SC_NPROCESSORS_ONLN___289 = 84,
    _SC_PHYS_PAGES___289 = 85,
    _SC_AVPHYS_PAGES___289 = 86,
    _SC_ATEXIT_MAX___289 = 87,
    _SC_PASS_MAX___289 = 88,
    _SC_XOPEN_VERSION___289 = 89,
    _SC_XOPEN_XCU_VERSION___289 = 90,
    _SC_XOPEN_UNIX___289 = 91,
    _SC_XOPEN_CRYPT___289 = 92,
    _SC_XOPEN_ENH_I18N___289 = 93,
    _SC_XOPEN_SHM___289 = 94,
    _SC_2_CHAR_TERM___289 = 95,
    _SC_2_C_VERSION___289 = 96,
    _SC_2_UPE___289 = 97,
    _SC_XOPEN_XPG2___289 = 98,
    _SC_XOPEN_XPG3___289 = 99,
    _SC_XOPEN_XPG4___289 = 100,
    _SC_CHAR_BIT___289 = 101,
    _SC_CHAR_MAX___289 = 102,
    _SC_CHAR_MIN___289 = 103,
    _SC_INT_MAX___289 = 104,
    _SC_INT_MIN___289 = 105,
    _SC_LONG_BIT___289 = 106,
    _SC_WORD_BIT___289 = 107,
    _SC_MB_LEN_MAX___289 = 108,
    _SC_NZERO___289 = 109,
    _SC_SSIZE_MAX___289 = 110,
    _SC_SCHAR_MAX___289 = 111,
    _SC_SCHAR_MIN___289 = 112,
    _SC_SHRT_MAX___289 = 113,
    _SC_SHRT_MIN___289 = 114,
    _SC_UCHAR_MAX___289 = 115,
    _SC_UINT_MAX___289 = 116,
    _SC_ULONG_MAX___289 = 117,
    _SC_USHRT_MAX___289 = 118,
    _SC_NL_ARGMAX___289 = 119,
    _SC_NL_LANGMAX___289 = 120,
    _SC_NL_MSGMAX___289 = 121,
    _SC_NL_NMAX___289 = 122,
    _SC_NL_SETMAX___289 = 123,
    _SC_NL_TEXTMAX___289 = 124,
    _SC_XBS5_ILP32_OFF32___289 = 125,
    _SC_XBS5_ILP32_OFFBIG___289 = 126,
    _SC_XBS5_LP64_OFF64___289 = 127,
    _SC_XBS5_LPBIG_OFFBIG___289 = 128,
    _SC_XOPEN_LEGACY___289 = 129,
    _SC_XOPEN_REALTIME___289 = 130,
    _SC_XOPEN_REALTIME_THREADS___289 = 131,
    _SC_ADVISORY_INFO___289 = 132,
    _SC_BARRIERS___289 = 133,
    _SC_BASE___289 = 134,
    _SC_C_LANG_SUPPORT___289 = 135,
    _SC_C_LANG_SUPPORT_R___289 = 136,
    _SC_CLOCK_SELECTION___289 = 137,
    _SC_CPUTIME___289 = 138,
    _SC_THREAD_CPUTIME___289 = 139,
    _SC_DEVICE_IO___289 = 140,
    _SC_DEVICE_SPECIFIC___289 = 141,
    _SC_DEVICE_SPECIFIC_R___289 = 142,
    _SC_FD_MGMT___289 = 143,
    _SC_FIFO___289 = 144,
    _SC_PIPE___289 = 145,
    _SC_FILE_ATTRIBUTES___289 = 146,
    _SC_FILE_LOCKING___289 = 147,
    _SC_FILE_SYSTEM___289 = 148,
    _SC_MONOTONIC_CLOCK___289 = 149,
    _SC_MULTI_PROCESS___289 = 150,
    _SC_SINGLE_PROCESS___289 = 151,
    _SC_NETWORKING___289 = 152,
    _SC_READER_WRITER_LOCKS___289 = 153,
    _SC_SPIN_LOCKS___289 = 154,
    _SC_REGEXP___289 = 155,
    _SC_REGEX_VERSION___289 = 156,
    _SC_SHELL___289 = 157,
    _SC_SIGNALS___289 = 158,
    _SC_SPAWN___289 = 159,
    _SC_SPORADIC_SERVER___289 = 160,
    _SC_THREAD_SPORADIC_SERVER___289 = 161,
    _SC_SYSTEM_DATABASE___289 = 162,
    _SC_SYSTEM_DATABASE_R___289 = 163,
    _SC_TIMEOUTS___289 = 164,
    _SC_TYPED_MEMORY_OBJECTS___289 = 165,
    _SC_USER_GROUPS___289 = 166,
    _SC_USER_GROUPS_R___289 = 167,
    _SC_2_PBS___289 = 168,
    _SC_2_PBS_ACCOUNTING___289 = 169,
    _SC_2_PBS_LOCATE___289 = 170,
    _SC_2_PBS_MESSAGE___289 = 171,
    _SC_2_PBS_TRACK___289 = 172,
    _SC_SYMLOOP_MAX___289 = 173,
    _SC_STREAMS___289 = 174,
    _SC_2_PBS_CHECKPOINT___289 = 175,
    _SC_V6_ILP32_OFF32___289 = 176,
    _SC_V6_ILP32_OFFBIG___289 = 177,
    _SC_V6_LP64_OFF64___289 = 178,
    _SC_V6_LPBIG_OFFBIG___289 = 179,
    _SC_HOST_NAME_MAX___289 = 180,
    _SC_TRACE___289 = 181,
    _SC_TRACE_EVENT_FILTER___289 = 182,
    _SC_TRACE_INHERIT___289 = 183,
    _SC_TRACE_LOG___289 = 184,
    _SC_LEVEL1_ICACHE_SIZE___289 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___289 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___289 = 187,
    _SC_LEVEL1_DCACHE_SIZE___289 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___289 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___289 = 190,
    _SC_LEVEL2_CACHE_SIZE___289 = 191,
    _SC_LEVEL2_CACHE_ASSOC___289 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___289 = 193,
    _SC_LEVEL3_CACHE_SIZE___289 = 194,
    _SC_LEVEL3_CACHE_ASSOC___289 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___289 = 196,
    _SC_LEVEL4_CACHE_SIZE___289 = 197,
    _SC_LEVEL4_CACHE_ASSOC___289 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___289 = 199,
    _SC_IPV6___289 = 235,
    _SC_RAW_SOCKETS___289 = 236,
    _SC_V7_ILP32_OFF32___289 = 237,
    _SC_V7_ILP32_OFFBIG___289 = 238,
    _SC_V7_LP64_OFF64___289 = 239,
    _SC_V7_LPBIG_OFFBIG___289 = 240,
    _SC_SS_REPL_MAX___289 = 241,
    _SC_TRACE_EVENT_NAME_MAX___289 = 242,
    _SC_TRACE_NAME_MAX___289 = 243,
    _SC_TRACE_SYS_MAX___289 = 244,
    _SC_TRACE_USER_EVENT_MAX___289 = 245,
    _SC_XOPEN_STREAMS___289 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___289 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___289 = 248
} ;
enum __anonenum_875524036___289 {
    _CS_PATH___289 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___289 = 1,
    _CS_GNU_LIBC_VERSION___289 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___289 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___289 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___289 = 5,
    _CS_LFS_CFLAGS___289 = 1000,
    _CS_LFS_LDFLAGS___289 = 1001,
    _CS_LFS_LIBS___289 = 1002,
    _CS_LFS_LINTFLAGS___289 = 1003,
    _CS_LFS64_CFLAGS___289 = 1004,
    _CS_LFS64_LDFLAGS___289 = 1005,
    _CS_LFS64_LIBS___289 = 1006,
    _CS_LFS64_LINTFLAGS___289 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___289 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___289 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___289 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___289 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___289 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___289 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___289 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___289 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___289 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___289 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___289 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___289 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___289 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___289 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___289 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___289 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___289 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___289 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___289 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___289 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___289 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___289 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___289 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___289 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___289 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___289 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___289 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___289 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___289 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___289 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___289 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___289 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___289 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___289 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___289 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___289 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___289 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___289 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___289 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___289 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___289 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___289 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___289 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___289 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___289 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___289 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___289 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___289 = 1147,
    _CS_V6_ENV___289 = 1148,
    _CS_V7_ENV___289 = 1149
} ;
enum __anonenum_513775621___289 {
    DT_UNKNOWN___289 = 0,
    DT_FIFO___289 = 1,
    DT_CHR___289 = 2,
    DT_DIR___289 = 4,
    DT_BLK___289 = 6,
    DT_REG___289 = 8,
    DT_LNK___289 = 10,
    DT_SOCK___289 = 12,
    DT_WHT___289 = 14
} ;
enum __anonenum_77002343___289 {
    SI_ASYNCNL___289 = -60,
    SI_TKILL___289 = -6,
    SI_SIGIO___289 = -5,
    SI_ASYNCIO___289 = -4,
    SI_MESGQ___289 = -3,
    SI_TIMER___289 = -2,
    SI_QUEUE___289 = -1,
    SI_USER___289 = 0,
    SI_KERNEL___289 = 128
} ;
enum __anonenum_131038172___289 {
    ILL_ILLOPC___289 = 1,
    ILL_ILLOPN___289 = 2,
    ILL_ILLADR___289 = 3,
    ILL_ILLTRP___289 = 4,
    ILL_PRVOPC___289 = 5,
    ILL_PRVREG___289 = 6,
    ILL_COPROC___289 = 7,
    ILL_BADSTK___289 = 8
} ;
enum __anonenum_452038093___289 {
    FPE_INTDIV___289 = 1,
    FPE_INTOVF___289 = 2,
    FPE_FLTDIV___289 = 3,
    FPE_FLTOVF___289 = 4,
    FPE_FLTUND___289 = 5,
    FPE_FLTRES___289 = 6,
    FPE_FLTINV___289 = 7,
    FPE_FLTSUB___289 = 8
} ;
enum __anonenum_30976155___289 {
    SEGV_MAPERR___289 = 1,
    SEGV_ACCERR___289 = 2,
    SEGV_BNDERR___289 = 3,
    SEGV_PKUERR___289 = 4
} ;
enum __anonenum_1036286214___289 {
    BUS_ADRALN___289 = 1,
    BUS_ADRERR___289 = 2,
    BUS_OBJERR___289 = 3,
    BUS_MCEERR_AR___289 = 4,
    BUS_MCEERR_AO___289 = 5
} ;
enum __anonenum_493465559___289 {
    TRAP_BRKPT___289 = 1,
    TRAP_TRACE___289 = 2
} ;
enum __anonenum_23175539___289 {
    CLD_EXITED___289 = 1,
    CLD_KILLED___289 = 2,
    CLD_DUMPED___289 = 3,
    CLD_TRAPPED___289 = 4,
    CLD_STOPPED___289 = 5,
    CLD_CONTINUED___289 = 6
} ;
enum __anonenum_111643124___289 {
    POLL_IN___289 = 1,
    POLL_OUT___289 = 2,
    POLL_MSG___289 = 3,
    POLL_ERR___289 = 4,
    POLL_PRI___289 = 5,
    POLL_HUP___289 = 6
} ;
enum __anonenum_852341087___289 {
    SIGEV_SIGNAL___289 = 0,
    SIGEV_NONE___289 = 1,
    SIGEV_THREAD___289 = 2,
    SIGEV_THREAD_ID___289 = 4
} ;
enum __anonenum_451154152___289 {
    REG_R8___289 = 0,
    REG_R9___289 = 1,
    REG_R10___289 = 2,
    REG_R11___289 = 3,
    REG_R12___289 = 4,
    REG_R13___289 = 5,
    REG_R14___289 = 6,
    REG_R15___289 = 7,
    REG_RDI___289 = 8,
    REG_RSI___289 = 9,
    REG_RBP___289 = 10,
    REG_RBX___289 = 11,
    REG_RDX___289 = 12,
    REG_RAX___289 = 13,
    REG_RCX___289 = 14,
    REG_RSP___289 = 15,
    REG_RIP___289 = 16,
    REG_EFL___289 = 17,
    REG_CSGSFS___289 = 18,
    REG_ERR___289 = 19,
    REG_TRAPNO___289 = 20,
    REG_OLDMASK___289 = 21,
    REG_CR2___289 = 22
} ;
enum __anonenum_57186863___289 {
    SS_ONSTACK___289 = 1,
    SS_DISABLE___289 = 2
} ;
enum __anonenum_83571709___289 {
    MSG_OOB___289 = 1,
    MSG_PEEK___289 = 2,
    MSG_DONTROUTE___289 = 4,
    MSG_TRYHARD___289 = 4,
    MSG_CTRUNC___289 = 8,
    MSG_PROXY___289 = 16,
    MSG_TRUNC___289 = 32,
    MSG_DONTWAIT___289 = 64,
    MSG_EOR___289 = 128,
    MSG_WAITALL___289 = 256,
    MSG_FIN___289 = 512,
    MSG_SYN___289 = 1024,
    MSG_CONFIRM___289 = 2048,
    MSG_RST___289 = 4096,
    MSG_ERRQUEUE___289 = 8192,
    MSG_NOSIGNAL___289 = 16384,
    MSG_MORE___289 = 32768,
    MSG_WAITFORONE___289 = 65536,
    MSG_BATCH___289 = 262144,
    MSG_ZEROCOPY___289 = 67108864,
    MSG_FASTOPEN___289 = 536870912,
    MSG_CMSG_CLOEXEC___289 = 1073741824
} ;
enum __anonenum_617082774___289 {
    SCM_RIGHTS___289 = 1,
    SCM_CREDENTIALS___289 = 2
} ;
enum __anonenum_606441560___289 {
    SHUT_RD___289 = 0,
    SHUT_WR___289 = 1,
    SHUT_RDWR___289 = 2
} ;
enum __anonenum_681669233___289 {
    IPPROTO_IP___289 = 0,
    IPPROTO_ICMP___289 = 1,
    IPPROTO_IGMP___289 = 2,
    IPPROTO_IPIP___289 = 4,
    IPPROTO_TCP___289 = 6,
    IPPROTO_EGP___289 = 8,
    IPPROTO_PUP___289 = 12,
    IPPROTO_UDP___289 = 17,
    IPPROTO_IDP___289 = 22,
    IPPROTO_TP___289 = 29,
    IPPROTO_DCCP___289 = 33,
    IPPROTO_IPV6___289 = 41,
    IPPROTO_RSVP___289 = 46,
    IPPROTO_GRE___289 = 47,
    IPPROTO_ESP___289 = 50,
    IPPROTO_AH___289 = 51,
    IPPROTO_MTP___289 = 92,
    IPPROTO_BEETPH___289 = 94,
    IPPROTO_ENCAP___289 = 98,
    IPPROTO_PIM___289 = 103,
    IPPROTO_COMP___289 = 108,
    IPPROTO_SCTP___289 = 132,
    IPPROTO_UDPLITE___289 = 136,
    IPPROTO_MPLS___289 = 137,
    IPPROTO_RAW___289 = 255,
    IPPROTO_MAX___289 = 256
} ;
enum __anonenum_218739988___289 {
    IPPROTO_HOPOPTS___289 = 0,
    IPPROTO_ROUTING___289 = 43,
    IPPROTO_FRAGMENT___289 = 44,
    IPPROTO_ICMPV6___289 = 58,
    IPPROTO_NONE___289 = 59,
    IPPROTO_DSTOPTS___289 = 60,
    IPPROTO_MH___289 = 135
} ;
enum __anonenum_662268580___289 {
    IPPORT_ECHO___289 = 7,
    IPPORT_DISCARD___289 = 9,
    IPPORT_SYSTAT___289 = 11,
    IPPORT_DAYTIME___289 = 13,
    IPPORT_NETSTAT___289 = 15,
    IPPORT_FTP___289 = 21,
    IPPORT_TELNET___289 = 23,
    IPPORT_SMTP___289 = 25,
    IPPORT_TIMESERVER___289 = 37,
    IPPORT_NAMESERVER___289 = 42,
    IPPORT_WHOIS___289 = 43,
    IPPORT_MTP___289 = 57,
    IPPORT_TFTP___289 = 69,
    IPPORT_RJE___289 = 77,
    IPPORT_FINGER___289 = 79,
    IPPORT_TTYLINK___289 = 87,
    IPPORT_SUPDUP___289 = 95,
    IPPORT_EXECSERVER___289 = 512,
    IPPORT_LOGINSERVER___289 = 513,
    IPPORT_CMDSERVER___289 = 514,
    IPPORT_EFSSERVER___289 = 520,
    IPPORT_BIFFUDP___289 = 512,
    IPPORT_WHOSERVER___289 = 513,
    IPPORT_ROUTESERVER___289 = 520,
    IPPORT_RESERVED___289 = 1024,
    IPPORT_USERRESERVED___289 = 5000
} ;
enum __anonenum_788308992___289 {
    TCP_ESTABLISHED___289 = 1,
    TCP_SYN_SENT___289 = 2,
    TCP_SYN_RECV___289 = 3,
    TCP_FIN_WAIT1___289 = 4,
    TCP_FIN_WAIT2___289 = 5,
    TCP_TIME_WAIT___289 = 6,
    TCP_CLOSE___289 = 7,
    TCP_CLOSE_WAIT___289 = 8,
    TCP_LAST_ACK___289 = 9,
    TCP_LISTEN___289 = 10,
    TCP_CLOSING___289 = 11
} ;
enum __anonenum_221125648___289 {
    TCP_NO_QUEUE___289 = 0,
    TCP_RECV_QUEUE___289 = 1,
    TCP_SEND_QUEUE___289 = 2,
    TCP_QUEUES_NR___289 = 3
} ;
enum __anonenum_34415463___289 {
    PTHREAD_CREATE_JOINABLE___289 = 0,
    PTHREAD_CREATE_DETACHED___289 = 1
} ;
enum __anonenum_303612439___289 {
    PTHREAD_MUTEX_TIMED_NP___289 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___289 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___289 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___289 = 3,
    PTHREAD_MUTEX_NORMAL___289 = 0,
    PTHREAD_MUTEX_RECURSIVE___289 = 1,
    PTHREAD_MUTEX_ERRORCHECK___289 = 2,
    PTHREAD_MUTEX_DEFAULT___289 = 0,
    PTHREAD_MUTEX_FAST_NP___289 = 0
} ;
enum __anonenum_931900394___289 {
    PTHREAD_MUTEX_STALLED___289 = 0,
    PTHREAD_MUTEX_STALLED_NP___289 = 0,
    PTHREAD_MUTEX_ROBUST___289 = 1,
    PTHREAD_MUTEX_ROBUST_NP___289 = 1
} ;
enum __anonenum_205214487___289 {
    PTHREAD_PRIO_NONE___289 = 0,
    PTHREAD_PRIO_INHERIT___289 = 1,
    PTHREAD_PRIO_PROTECT___289 = 2
} ;
enum __anonenum_25043950___289 {
    PTHREAD_RWLOCK_PREFER_READER_NP___289 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___289 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___289 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___289 = 0
} ;
enum __anonenum_436439511___289 {
    PTHREAD_INHERIT_SCHED___289 = 0,
    PTHREAD_EXPLICIT_SCHED___289 = 1
} ;
enum __anonenum_998661166___289 {
    PTHREAD_SCOPE_SYSTEM___289 = 0,
    PTHREAD_SCOPE_PROCESS___289 = 1
} ;
enum __anonenum_146137331___289 {
    PTHREAD_PROCESS_PRIVATE___289 = 0,
    PTHREAD_PROCESS_SHARED___289 = 1
} ;
enum __anonenum_53396917___289 {
    PTHREAD_CANCEL_ENABLE___289 = 0,
    PTHREAD_CANCEL_DISABLE___289 = 1
} ;
enum __anonenum_904563783___289 {
    PTHREAD_CANCEL_DEFERRED___289 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___289 = 1
} ;
enum __anonenum_672052974___289 {
    SSL_CT_VALIDATION_PERMISSIVE___289 = 0,
    SSL_CT_VALIDATION_STRICT___289 = 1
} ;
enum __anonenum_34023289___27 {
    REMOTE_UNCONFIGURED___27 = 0,
    REMOTE_CONFIG___27 = 1,
    REMOTE_REMOTES___27 = 2,
    REMOTE_BRANCHES___27 = 3
} ;
enum __anonenum_junk_mode_263138370 {
    JUNK_LEAVE_NONE = 0,
    JUNK_LEAVE_REPO = 1,
    JUNK_LEAVE_ALL = 2
} ;
enum __anonenum_437032235___290 {
    _PC_LINK_MAX___290 = 0,
    _PC_MAX_CANON___290 = 1,
    _PC_MAX_INPUT___290 = 2,
    _PC_NAME_MAX___290 = 3,
    _PC_PATH_MAX___290 = 4,
    _PC_PIPE_BUF___290 = 5,
    _PC_CHOWN_RESTRICTED___290 = 6,
    _PC_NO_TRUNC___290 = 7,
    _PC_VDISABLE___290 = 8,
    _PC_SYNC_IO___290 = 9,
    _PC_ASYNC_IO___290 = 10,
    _PC_PRIO_IO___290 = 11,
    _PC_SOCK_MAXBUF___290 = 12,
    _PC_FILESIZEBITS___290 = 13,
    _PC_REC_INCR_XFER_SIZE___290 = 14,
    _PC_REC_MAX_XFER_SIZE___290 = 15,
    _PC_REC_MIN_XFER_SIZE___290 = 16,
    _PC_REC_XFER_ALIGN___290 = 17,
    _PC_ALLOC_SIZE_MIN___290 = 18,
    _PC_SYMLINK_MAX___290 = 19,
    _PC_2_SYMLINKS___290 = 20
} ;
enum __anonenum_315186338___290 {
    _SC_ARG_MAX___290 = 0,
    _SC_CHILD_MAX___290 = 1,
    _SC_CLK_TCK___290 = 2,
    _SC_NGROUPS_MAX___290 = 3,
    _SC_OPEN_MAX___290 = 4,
    _SC_STREAM_MAX___290 = 5,
    _SC_TZNAME_MAX___290 = 6,
    _SC_JOB_CONTROL___290 = 7,
    _SC_SAVED_IDS___290 = 8,
    _SC_REALTIME_SIGNALS___290 = 9,
    _SC_PRIORITY_SCHEDULING___290 = 10,
    _SC_TIMERS___290 = 11,
    _SC_ASYNCHRONOUS_IO___290 = 12,
    _SC_PRIORITIZED_IO___290 = 13,
    _SC_SYNCHRONIZED_IO___290 = 14,
    _SC_FSYNC___290 = 15,
    _SC_MAPPED_FILES___290 = 16,
    _SC_MEMLOCK___290 = 17,
    _SC_MEMLOCK_RANGE___290 = 18,
    _SC_MEMORY_PROTECTION___290 = 19,
    _SC_MESSAGE_PASSING___290 = 20,
    _SC_SEMAPHORES___290 = 21,
    _SC_SHARED_MEMORY_OBJECTS___290 = 22,
    _SC_AIO_LISTIO_MAX___290 = 23,
    _SC_AIO_MAX___290 = 24,
    _SC_AIO_PRIO_DELTA_MAX___290 = 25,
    _SC_DELAYTIMER_MAX___290 = 26,
    _SC_MQ_OPEN_MAX___290 = 27,
    _SC_MQ_PRIO_MAX___290 = 28,
    _SC_VERSION___290 = 29,
    _SC_PAGESIZE___290 = 30,
    _SC_RTSIG_MAX___290 = 31,
    _SC_SEM_NSEMS_MAX___290 = 32,
    _SC_SEM_VALUE_MAX___290 = 33,
    _SC_SIGQUEUE_MAX___290 = 34,
    _SC_TIMER_MAX___290 = 35,
    _SC_BC_BASE_MAX___290 = 36,
    _SC_BC_DIM_MAX___290 = 37,
    _SC_BC_SCALE_MAX___290 = 38,
    _SC_BC_STRING_MAX___290 = 39,
    _SC_COLL_WEIGHTS_MAX___290 = 40,
    _SC_EQUIV_CLASS_MAX___290 = 41,
    _SC_EXPR_NEST_MAX___290 = 42,
    _SC_LINE_MAX___290 = 43,
    _SC_RE_DUP_MAX___290 = 44,
    _SC_CHARCLASS_NAME_MAX___290 = 45,
    _SC_2_VERSION___290 = 46,
    _SC_2_C_BIND___290 = 47,
    _SC_2_C_DEV___290 = 48,
    _SC_2_FORT_DEV___290 = 49,
    _SC_2_FORT_RUN___290 = 50,
    _SC_2_SW_DEV___290 = 51,
    _SC_2_LOCALEDEF___290 = 52,
    _SC_PII___290 = 53,
    _SC_PII_XTI___290 = 54,
    _SC_PII_SOCKET___290 = 55,
    _SC_PII_INTERNET___290 = 56,
    _SC_PII_OSI___290 = 57,
    _SC_POLL___290 = 58,
    _SC_SELECT___290 = 59,
    _SC_UIO_MAXIOV___290 = 60,
    _SC_IOV_MAX___290 = 60,
    _SC_PII_INTERNET_STREAM___290 = 61,
    _SC_PII_INTERNET_DGRAM___290 = 62,
    _SC_PII_OSI_COTS___290 = 63,
    _SC_PII_OSI_CLTS___290 = 64,
    _SC_PII_OSI_M___290 = 65,
    _SC_T_IOV_MAX___290 = 66,
    _SC_THREADS___290 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___290 = 68,
    _SC_GETGR_R_SIZE_MAX___290 = 69,
    _SC_GETPW_R_SIZE_MAX___290 = 70,
    _SC_LOGIN_NAME_MAX___290 = 71,
    _SC_TTY_NAME_MAX___290 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___290 = 73,
    _SC_THREAD_KEYS_MAX___290 = 74,
    _SC_THREAD_STACK_MIN___290 = 75,
    _SC_THREAD_THREADS_MAX___290 = 76,
    _SC_THREAD_ATTR_STACKADDR___290 = 77,
    _SC_THREAD_ATTR_STACKSIZE___290 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___290 = 79,
    _SC_THREAD_PRIO_INHERIT___290 = 80,
    _SC_THREAD_PRIO_PROTECT___290 = 81,
    _SC_THREAD_PROCESS_SHARED___290 = 82,
    _SC_NPROCESSORS_CONF___290 = 83,
    _SC_NPROCESSORS_ONLN___290 = 84,
    _SC_PHYS_PAGES___290 = 85,
    _SC_AVPHYS_PAGES___290 = 86,
    _SC_ATEXIT_MAX___290 = 87,
    _SC_PASS_MAX___290 = 88,
    _SC_XOPEN_VERSION___290 = 89,
    _SC_XOPEN_XCU_VERSION___290 = 90,
    _SC_XOPEN_UNIX___290 = 91,
    _SC_XOPEN_CRYPT___290 = 92,
    _SC_XOPEN_ENH_I18N___290 = 93,
    _SC_XOPEN_SHM___290 = 94,
    _SC_2_CHAR_TERM___290 = 95,
    _SC_2_C_VERSION___290 = 96,
    _SC_2_UPE___290 = 97,
    _SC_XOPEN_XPG2___290 = 98,
    _SC_XOPEN_XPG3___290 = 99,
    _SC_XOPEN_XPG4___290 = 100,
    _SC_CHAR_BIT___290 = 101,
    _SC_CHAR_MAX___290 = 102,
    _SC_CHAR_MIN___290 = 103,
    _SC_INT_MAX___290 = 104,
    _SC_INT_MIN___290 = 105,
    _SC_LONG_BIT___290 = 106,
    _SC_WORD_BIT___290 = 107,
    _SC_MB_LEN_MAX___290 = 108,
    _SC_NZERO___290 = 109,
    _SC_SSIZE_MAX___290 = 110,
    _SC_SCHAR_MAX___290 = 111,
    _SC_SCHAR_MIN___290 = 112,
    _SC_SHRT_MAX___290 = 113,
    _SC_SHRT_MIN___290 = 114,
    _SC_UCHAR_MAX___290 = 115,
    _SC_UINT_MAX___290 = 116,
    _SC_ULONG_MAX___290 = 117,
    _SC_USHRT_MAX___290 = 118,
    _SC_NL_ARGMAX___290 = 119,
    _SC_NL_LANGMAX___290 = 120,
    _SC_NL_MSGMAX___290 = 121,
    _SC_NL_NMAX___290 = 122,
    _SC_NL_SETMAX___290 = 123,
    _SC_NL_TEXTMAX___290 = 124,
    _SC_XBS5_ILP32_OFF32___290 = 125,
    _SC_XBS5_ILP32_OFFBIG___290 = 126,
    _SC_XBS5_LP64_OFF64___290 = 127,
    _SC_XBS5_LPBIG_OFFBIG___290 = 128,
    _SC_XOPEN_LEGACY___290 = 129,
    _SC_XOPEN_REALTIME___290 = 130,
    _SC_XOPEN_REALTIME_THREADS___290 = 131,
    _SC_ADVISORY_INFO___290 = 132,
    _SC_BARRIERS___290 = 133,
    _SC_BASE___290 = 134,
    _SC_C_LANG_SUPPORT___290 = 135,
    _SC_C_LANG_SUPPORT_R___290 = 136,
    _SC_CLOCK_SELECTION___290 = 137,
    _SC_CPUTIME___290 = 138,
    _SC_THREAD_CPUTIME___290 = 139,
    _SC_DEVICE_IO___290 = 140,
    _SC_DEVICE_SPECIFIC___290 = 141,
    _SC_DEVICE_SPECIFIC_R___290 = 142,
    _SC_FD_MGMT___290 = 143,
    _SC_FIFO___290 = 144,
    _SC_PIPE___290 = 145,
    _SC_FILE_ATTRIBUTES___290 = 146,
    _SC_FILE_LOCKING___290 = 147,
    _SC_FILE_SYSTEM___290 = 148,
    _SC_MONOTONIC_CLOCK___290 = 149,
    _SC_MULTI_PROCESS___290 = 150,
    _SC_SINGLE_PROCESS___290 = 151,
    _SC_NETWORKING___290 = 152,
    _SC_READER_WRITER_LOCKS___290 = 153,
    _SC_SPIN_LOCKS___290 = 154,
    _SC_REGEXP___290 = 155,
    _SC_REGEX_VERSION___290 = 156,
    _SC_SHELL___290 = 157,
    _SC_SIGNALS___290 = 158,
    _SC_SPAWN___290 = 159,
    _SC_SPORADIC_SERVER___290 = 160,
    _SC_THREAD_SPORADIC_SERVER___290 = 161,
    _SC_SYSTEM_DATABASE___290 = 162,
    _SC_SYSTEM_DATABASE_R___290 = 163,
    _SC_TIMEOUTS___290 = 164,
    _SC_TYPED_MEMORY_OBJECTS___290 = 165,
    _SC_USER_GROUPS___290 = 166,
    _SC_USER_GROUPS_R___290 = 167,
    _SC_2_PBS___290 = 168,
    _SC_2_PBS_ACCOUNTING___290 = 169,
    _SC_2_PBS_LOCATE___290 = 170,
    _SC_2_PBS_MESSAGE___290 = 171,
    _SC_2_PBS_TRACK___290 = 172,
    _SC_SYMLOOP_MAX___290 = 173,
    _SC_STREAMS___290 = 174,
    _SC_2_PBS_CHECKPOINT___290 = 175,
    _SC_V6_ILP32_OFF32___290 = 176,
    _SC_V6_ILP32_OFFBIG___290 = 177,
    _SC_V6_LP64_OFF64___290 = 178,
    _SC_V6_LPBIG_OFFBIG___290 = 179,
    _SC_HOST_NAME_MAX___290 = 180,
    _SC_TRACE___290 = 181,
    _SC_TRACE_EVENT_FILTER___290 = 182,
    _SC_TRACE_INHERIT___290 = 183,
    _SC_TRACE_LOG___290 = 184,
    _SC_LEVEL1_ICACHE_SIZE___290 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___290 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___290 = 187,
    _SC_LEVEL1_DCACHE_SIZE___290 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___290 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___290 = 190,
    _SC_LEVEL2_CACHE_SIZE___290 = 191,
    _SC_LEVEL2_CACHE_ASSOC___290 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___290 = 193,
    _SC_LEVEL3_CACHE_SIZE___290 = 194,
    _SC_LEVEL3_CACHE_ASSOC___290 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___290 = 196,
    _SC_LEVEL4_CACHE_SIZE___290 = 197,
    _SC_LEVEL4_CACHE_ASSOC___290 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___290 = 199,
    _SC_IPV6___290 = 235,
    _SC_RAW_SOCKETS___290 = 236,
    _SC_V7_ILP32_OFF32___290 = 237,
    _SC_V7_ILP32_OFFBIG___290 = 238,
    _SC_V7_LP64_OFF64___290 = 239,
    _SC_V7_LPBIG_OFFBIG___290 = 240,
    _SC_SS_REPL_MAX___290 = 241,
    _SC_TRACE_EVENT_NAME_MAX___290 = 242,
    _SC_TRACE_NAME_MAX___290 = 243,
    _SC_TRACE_SYS_MAX___290 = 244,
    _SC_TRACE_USER_EVENT_MAX___290 = 245,
    _SC_XOPEN_STREAMS___290 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___290 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___290 = 248
} ;
enum __anonenum_875524036___290 {
    _CS_PATH___290 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___290 = 1,
    _CS_GNU_LIBC_VERSION___290 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___290 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___290 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___290 = 5,
    _CS_LFS_CFLAGS___290 = 1000,
    _CS_LFS_LDFLAGS___290 = 1001,
    _CS_LFS_LIBS___290 = 1002,
    _CS_LFS_LINTFLAGS___290 = 1003,
    _CS_LFS64_CFLAGS___290 = 1004,
    _CS_LFS64_LDFLAGS___290 = 1005,
    _CS_LFS64_LIBS___290 = 1006,
    _CS_LFS64_LINTFLAGS___290 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___290 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___290 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___290 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___290 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___290 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___290 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___290 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___290 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___290 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___290 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___290 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___290 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___290 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___290 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___290 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___290 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___290 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___290 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___290 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___290 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___290 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___290 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___290 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___290 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___290 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___290 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___290 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___290 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___290 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___290 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___290 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___290 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___290 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___290 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___290 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___290 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___290 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___290 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___290 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___290 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___290 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___290 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___290 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___290 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___290 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___290 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___290 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___290 = 1147,
    _CS_V6_ENV___290 = 1148,
    _CS_V7_ENV___290 = 1149
} ;
enum __anonenum_513775621___290 {
    DT_UNKNOWN___290 = 0,
    DT_FIFO___290 = 1,
    DT_CHR___290 = 2,
    DT_DIR___290 = 4,
    DT_BLK___290 = 6,
    DT_REG___290 = 8,
    DT_LNK___290 = 10,
    DT_SOCK___290 = 12,
    DT_WHT___290 = 14
} ;
enum __anonenum_77002343___290 {
    SI_ASYNCNL___290 = -60,
    SI_TKILL___290 = -6,
    SI_SIGIO___290 = -5,
    SI_ASYNCIO___290 = -4,
    SI_MESGQ___290 = -3,
    SI_TIMER___290 = -2,
    SI_QUEUE___290 = -1,
    SI_USER___290 = 0,
    SI_KERNEL___290 = 128
} ;
enum __anonenum_131038172___290 {
    ILL_ILLOPC___290 = 1,
    ILL_ILLOPN___290 = 2,
    ILL_ILLADR___290 = 3,
    ILL_ILLTRP___290 = 4,
    ILL_PRVOPC___290 = 5,
    ILL_PRVREG___290 = 6,
    ILL_COPROC___290 = 7,
    ILL_BADSTK___290 = 8
} ;
enum __anonenum_452038093___290 {
    FPE_INTDIV___290 = 1,
    FPE_INTOVF___290 = 2,
    FPE_FLTDIV___290 = 3,
    FPE_FLTOVF___290 = 4,
    FPE_FLTUND___290 = 5,
    FPE_FLTRES___290 = 6,
    FPE_FLTINV___290 = 7,
    FPE_FLTSUB___290 = 8
} ;
enum __anonenum_30976155___290 {
    SEGV_MAPERR___290 = 1,
    SEGV_ACCERR___290 = 2,
    SEGV_BNDERR___290 = 3,
    SEGV_PKUERR___290 = 4
} ;
enum __anonenum_1036286214___290 {
    BUS_ADRALN___290 = 1,
    BUS_ADRERR___290 = 2,
    BUS_OBJERR___290 = 3,
    BUS_MCEERR_AR___290 = 4,
    BUS_MCEERR_AO___290 = 5
} ;
enum __anonenum_493465559___290 {
    TRAP_BRKPT___290 = 1,
    TRAP_TRACE___290 = 2
} ;
enum __anonenum_23175539___290 {
    CLD_EXITED___290 = 1,
    CLD_KILLED___290 = 2,
    CLD_DUMPED___290 = 3,
    CLD_TRAPPED___290 = 4,
    CLD_STOPPED___290 = 5,
    CLD_CONTINUED___290 = 6
} ;
enum __anonenum_111643124___290 {
    POLL_IN___290 = 1,
    POLL_OUT___290 = 2,
    POLL_MSG___290 = 3,
    POLL_ERR___290 = 4,
    POLL_PRI___290 = 5,
    POLL_HUP___290 = 6
} ;
enum __anonenum_852341087___290 {
    SIGEV_SIGNAL___290 = 0,
    SIGEV_NONE___290 = 1,
    SIGEV_THREAD___290 = 2,
    SIGEV_THREAD_ID___290 = 4
} ;
enum __anonenum_451154152___290 {
    REG_R8___290 = 0,
    REG_R9___290 = 1,
    REG_R10___290 = 2,
    REG_R11___290 = 3,
    REG_R12___290 = 4,
    REG_R13___290 = 5,
    REG_R14___290 = 6,
    REG_R15___290 = 7,
    REG_RDI___290 = 8,
    REG_RSI___290 = 9,
    REG_RBP___290 = 10,
    REG_RBX___290 = 11,
    REG_RDX___290 = 12,
    REG_RAX___290 = 13,
    REG_RCX___290 = 14,
    REG_RSP___290 = 15,
    REG_RIP___290 = 16,
    REG_EFL___290 = 17,
    REG_CSGSFS___290 = 18,
    REG_ERR___290 = 19,
    REG_TRAPNO___290 = 20,
    REG_OLDMASK___290 = 21,
    REG_CR2___290 = 22
} ;
enum __anonenum_57186863___290 {
    SS_ONSTACK___290 = 1,
    SS_DISABLE___290 = 2
} ;
enum __anonenum_83571709___290 {
    MSG_OOB___290 = 1,
    MSG_PEEK___290 = 2,
    MSG_DONTROUTE___290 = 4,
    MSG_TRYHARD___290 = 4,
    MSG_CTRUNC___290 = 8,
    MSG_PROXY___290 = 16,
    MSG_TRUNC___290 = 32,
    MSG_DONTWAIT___290 = 64,
    MSG_EOR___290 = 128,
    MSG_WAITALL___290 = 256,
    MSG_FIN___290 = 512,
    MSG_SYN___290 = 1024,
    MSG_CONFIRM___290 = 2048,
    MSG_RST___290 = 4096,
    MSG_ERRQUEUE___290 = 8192,
    MSG_NOSIGNAL___290 = 16384,
    MSG_MORE___290 = 32768,
    MSG_WAITFORONE___290 = 65536,
    MSG_BATCH___290 = 262144,
    MSG_ZEROCOPY___290 = 67108864,
    MSG_FASTOPEN___290 = 536870912,
    MSG_CMSG_CLOEXEC___290 = 1073741824
} ;
enum __anonenum_617082774___290 {
    SCM_RIGHTS___290 = 1,
    SCM_CREDENTIALS___290 = 2
} ;
enum __anonenum_606441560___290 {
    SHUT_RD___290 = 0,
    SHUT_WR___290 = 1,
    SHUT_RDWR___290 = 2
} ;
enum __anonenum_681669233___290 {
    IPPROTO_IP___290 = 0,
    IPPROTO_ICMP___290 = 1,
    IPPROTO_IGMP___290 = 2,
    IPPROTO_IPIP___290 = 4,
    IPPROTO_TCP___290 = 6,
    IPPROTO_EGP___290 = 8,
    IPPROTO_PUP___290 = 12,
    IPPROTO_UDP___290 = 17,
    IPPROTO_IDP___290 = 22,
    IPPROTO_TP___290 = 29,
    IPPROTO_DCCP___290 = 33,
    IPPROTO_IPV6___290 = 41,
    IPPROTO_RSVP___290 = 46,
    IPPROTO_GRE___290 = 47,
    IPPROTO_ESP___290 = 50,
    IPPROTO_AH___290 = 51,
    IPPROTO_MTP___290 = 92,
    IPPROTO_BEETPH___290 = 94,
    IPPROTO_ENCAP___290 = 98,
    IPPROTO_PIM___290 = 103,
    IPPROTO_COMP___290 = 108,
    IPPROTO_SCTP___290 = 132,
    IPPROTO_UDPLITE___290 = 136,
    IPPROTO_MPLS___290 = 137,
    IPPROTO_RAW___290 = 255,
    IPPROTO_MAX___290 = 256
} ;
enum __anonenum_218739988___290 {
    IPPROTO_HOPOPTS___290 = 0,
    IPPROTO_ROUTING___290 = 43,
    IPPROTO_FRAGMENT___290 = 44,
    IPPROTO_ICMPV6___290 = 58,
    IPPROTO_NONE___290 = 59,
    IPPROTO_DSTOPTS___290 = 60,
    IPPROTO_MH___290 = 135
} ;
enum __anonenum_662268580___290 {
    IPPORT_ECHO___290 = 7,
    IPPORT_DISCARD___290 = 9,
    IPPORT_SYSTAT___290 = 11,
    IPPORT_DAYTIME___290 = 13,
    IPPORT_NETSTAT___290 = 15,
    IPPORT_FTP___290 = 21,
    IPPORT_TELNET___290 = 23,
    IPPORT_SMTP___290 = 25,
    IPPORT_TIMESERVER___290 = 37,
    IPPORT_NAMESERVER___290 = 42,
    IPPORT_WHOIS___290 = 43,
    IPPORT_MTP___290 = 57,
    IPPORT_TFTP___290 = 69,
    IPPORT_RJE___290 = 77,
    IPPORT_FINGER___290 = 79,
    IPPORT_TTYLINK___290 = 87,
    IPPORT_SUPDUP___290 = 95,
    IPPORT_EXECSERVER___290 = 512,
    IPPORT_LOGINSERVER___290 = 513,
    IPPORT_CMDSERVER___290 = 514,
    IPPORT_EFSSERVER___290 = 520,
    IPPORT_BIFFUDP___290 = 512,
    IPPORT_WHOSERVER___290 = 513,
    IPPORT_ROUTESERVER___290 = 520,
    IPPORT_RESERVED___290 = 1024,
    IPPORT_USERRESERVED___290 = 5000
} ;
enum __anonenum_788308992___290 {
    TCP_ESTABLISHED___290 = 1,
    TCP_SYN_SENT___290 = 2,
    TCP_SYN_RECV___290 = 3,
    TCP_FIN_WAIT1___290 = 4,
    TCP_FIN_WAIT2___290 = 5,
    TCP_TIME_WAIT___290 = 6,
    TCP_CLOSE___290 = 7,
    TCP_CLOSE_WAIT___290 = 8,
    TCP_LAST_ACK___290 = 9,
    TCP_LISTEN___290 = 10,
    TCP_CLOSING___290 = 11
} ;
enum __anonenum_221125648___290 {
    TCP_NO_QUEUE___290 = 0,
    TCP_RECV_QUEUE___290 = 1,
    TCP_SEND_QUEUE___290 = 2,
    TCP_QUEUES_NR___290 = 3
} ;
enum __anonenum_34415463___290 {
    PTHREAD_CREATE_JOINABLE___290 = 0,
    PTHREAD_CREATE_DETACHED___290 = 1
} ;
enum __anonenum_303612439___290 {
    PTHREAD_MUTEX_TIMED_NP___290 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___290 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___290 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___290 = 3,
    PTHREAD_MUTEX_NORMAL___290 = 0,
    PTHREAD_MUTEX_RECURSIVE___290 = 1,
    PTHREAD_MUTEX_ERRORCHECK___290 = 2,
    PTHREAD_MUTEX_DEFAULT___290 = 0,
    PTHREAD_MUTEX_FAST_NP___290 = 0
} ;
enum __anonenum_931900394___290 {
    PTHREAD_MUTEX_STALLED___290 = 0,
    PTHREAD_MUTEX_STALLED_NP___290 = 0,
    PTHREAD_MUTEX_ROBUST___290 = 1,
    PTHREAD_MUTEX_ROBUST_NP___290 = 1
} ;
enum __anonenum_205214487___290 {
    PTHREAD_PRIO_NONE___290 = 0,
    PTHREAD_PRIO_INHERIT___290 = 1,
    PTHREAD_PRIO_PROTECT___290 = 2
} ;
enum __anonenum_25043950___290 {
    PTHREAD_RWLOCK_PREFER_READER_NP___290 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___290 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___290 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___290 = 0
} ;
enum __anonenum_436439511___290 {
    PTHREAD_INHERIT_SCHED___290 = 0,
    PTHREAD_EXPLICIT_SCHED___290 = 1
} ;
enum __anonenum_998661166___290 {
    PTHREAD_SCOPE_SYSTEM___290 = 0,
    PTHREAD_SCOPE_PROCESS___290 = 1
} ;
enum __anonenum_146137331___290 {
    PTHREAD_PROCESS_PRIVATE___290 = 0,
    PTHREAD_PROCESS_SHARED___290 = 1
} ;
enum __anonenum_53396917___290 {
    PTHREAD_CANCEL_ENABLE___290 = 0,
    PTHREAD_CANCEL_DISABLE___290 = 1
} ;
enum __anonenum_904563783___290 {
    PTHREAD_CANCEL_DEFERRED___290 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___290 = 1
} ;
enum __anonenum_672052974___290 {
    SSL_CT_VALIDATION_PERMISSIVE___290 = 0,
    SSL_CT_VALIDATION_STRICT___290 = 1
} ;
enum __anonenum_437032235___291 {
    _PC_LINK_MAX___291 = 0,
    _PC_MAX_CANON___291 = 1,
    _PC_MAX_INPUT___291 = 2,
    _PC_NAME_MAX___291 = 3,
    _PC_PATH_MAX___291 = 4,
    _PC_PIPE_BUF___291 = 5,
    _PC_CHOWN_RESTRICTED___291 = 6,
    _PC_NO_TRUNC___291 = 7,
    _PC_VDISABLE___291 = 8,
    _PC_SYNC_IO___291 = 9,
    _PC_ASYNC_IO___291 = 10,
    _PC_PRIO_IO___291 = 11,
    _PC_SOCK_MAXBUF___291 = 12,
    _PC_FILESIZEBITS___291 = 13,
    _PC_REC_INCR_XFER_SIZE___291 = 14,
    _PC_REC_MAX_XFER_SIZE___291 = 15,
    _PC_REC_MIN_XFER_SIZE___291 = 16,
    _PC_REC_XFER_ALIGN___291 = 17,
    _PC_ALLOC_SIZE_MIN___291 = 18,
    _PC_SYMLINK_MAX___291 = 19,
    _PC_2_SYMLINKS___291 = 20
} ;
enum __anonenum_315186338___291 {
    _SC_ARG_MAX___291 = 0,
    _SC_CHILD_MAX___291 = 1,
    _SC_CLK_TCK___291 = 2,
    _SC_NGROUPS_MAX___291 = 3,
    _SC_OPEN_MAX___291 = 4,
    _SC_STREAM_MAX___291 = 5,
    _SC_TZNAME_MAX___291 = 6,
    _SC_JOB_CONTROL___291 = 7,
    _SC_SAVED_IDS___291 = 8,
    _SC_REALTIME_SIGNALS___291 = 9,
    _SC_PRIORITY_SCHEDULING___291 = 10,
    _SC_TIMERS___291 = 11,
    _SC_ASYNCHRONOUS_IO___291 = 12,
    _SC_PRIORITIZED_IO___291 = 13,
    _SC_SYNCHRONIZED_IO___291 = 14,
    _SC_FSYNC___291 = 15,
    _SC_MAPPED_FILES___291 = 16,
    _SC_MEMLOCK___291 = 17,
    _SC_MEMLOCK_RANGE___291 = 18,
    _SC_MEMORY_PROTECTION___291 = 19,
    _SC_MESSAGE_PASSING___291 = 20,
    _SC_SEMAPHORES___291 = 21,
    _SC_SHARED_MEMORY_OBJECTS___291 = 22,
    _SC_AIO_LISTIO_MAX___291 = 23,
    _SC_AIO_MAX___291 = 24,
    _SC_AIO_PRIO_DELTA_MAX___291 = 25,
    _SC_DELAYTIMER_MAX___291 = 26,
    _SC_MQ_OPEN_MAX___291 = 27,
    _SC_MQ_PRIO_MAX___291 = 28,
    _SC_VERSION___291 = 29,
    _SC_PAGESIZE___291 = 30,
    _SC_RTSIG_MAX___291 = 31,
    _SC_SEM_NSEMS_MAX___291 = 32,
    _SC_SEM_VALUE_MAX___291 = 33,
    _SC_SIGQUEUE_MAX___291 = 34,
    _SC_TIMER_MAX___291 = 35,
    _SC_BC_BASE_MAX___291 = 36,
    _SC_BC_DIM_MAX___291 = 37,
    _SC_BC_SCALE_MAX___291 = 38,
    _SC_BC_STRING_MAX___291 = 39,
    _SC_COLL_WEIGHTS_MAX___291 = 40,
    _SC_EQUIV_CLASS_MAX___291 = 41,
    _SC_EXPR_NEST_MAX___291 = 42,
    _SC_LINE_MAX___291 = 43,
    _SC_RE_DUP_MAX___291 = 44,
    _SC_CHARCLASS_NAME_MAX___291 = 45,
    _SC_2_VERSION___291 = 46,
    _SC_2_C_BIND___291 = 47,
    _SC_2_C_DEV___291 = 48,
    _SC_2_FORT_DEV___291 = 49,
    _SC_2_FORT_RUN___291 = 50,
    _SC_2_SW_DEV___291 = 51,
    _SC_2_LOCALEDEF___291 = 52,
    _SC_PII___291 = 53,
    _SC_PII_XTI___291 = 54,
    _SC_PII_SOCKET___291 = 55,
    _SC_PII_INTERNET___291 = 56,
    _SC_PII_OSI___291 = 57,
    _SC_POLL___291 = 58,
    _SC_SELECT___291 = 59,
    _SC_UIO_MAXIOV___291 = 60,
    _SC_IOV_MAX___291 = 60,
    _SC_PII_INTERNET_STREAM___291 = 61,
    _SC_PII_INTERNET_DGRAM___291 = 62,
    _SC_PII_OSI_COTS___291 = 63,
    _SC_PII_OSI_CLTS___291 = 64,
    _SC_PII_OSI_M___291 = 65,
    _SC_T_IOV_MAX___291 = 66,
    _SC_THREADS___291 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___291 = 68,
    _SC_GETGR_R_SIZE_MAX___291 = 69,
    _SC_GETPW_R_SIZE_MAX___291 = 70,
    _SC_LOGIN_NAME_MAX___291 = 71,
    _SC_TTY_NAME_MAX___291 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___291 = 73,
    _SC_THREAD_KEYS_MAX___291 = 74,
    _SC_THREAD_STACK_MIN___291 = 75,
    _SC_THREAD_THREADS_MAX___291 = 76,
    _SC_THREAD_ATTR_STACKADDR___291 = 77,
    _SC_THREAD_ATTR_STACKSIZE___291 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___291 = 79,
    _SC_THREAD_PRIO_INHERIT___291 = 80,
    _SC_THREAD_PRIO_PROTECT___291 = 81,
    _SC_THREAD_PROCESS_SHARED___291 = 82,
    _SC_NPROCESSORS_CONF___291 = 83,
    _SC_NPROCESSORS_ONLN___291 = 84,
    _SC_PHYS_PAGES___291 = 85,
    _SC_AVPHYS_PAGES___291 = 86,
    _SC_ATEXIT_MAX___291 = 87,
    _SC_PASS_MAX___291 = 88,
    _SC_XOPEN_VERSION___291 = 89,
    _SC_XOPEN_XCU_VERSION___291 = 90,
    _SC_XOPEN_UNIX___291 = 91,
    _SC_XOPEN_CRYPT___291 = 92,
    _SC_XOPEN_ENH_I18N___291 = 93,
    _SC_XOPEN_SHM___291 = 94,
    _SC_2_CHAR_TERM___291 = 95,
    _SC_2_C_VERSION___291 = 96,
    _SC_2_UPE___291 = 97,
    _SC_XOPEN_XPG2___291 = 98,
    _SC_XOPEN_XPG3___291 = 99,
    _SC_XOPEN_XPG4___291 = 100,
    _SC_CHAR_BIT___291 = 101,
    _SC_CHAR_MAX___291 = 102,
    _SC_CHAR_MIN___291 = 103,
    _SC_INT_MAX___291 = 104,
    _SC_INT_MIN___291 = 105,
    _SC_LONG_BIT___291 = 106,
    _SC_WORD_BIT___291 = 107,
    _SC_MB_LEN_MAX___291 = 108,
    _SC_NZERO___291 = 109,
    _SC_SSIZE_MAX___291 = 110,
    _SC_SCHAR_MAX___291 = 111,
    _SC_SCHAR_MIN___291 = 112,
    _SC_SHRT_MAX___291 = 113,
    _SC_SHRT_MIN___291 = 114,
    _SC_UCHAR_MAX___291 = 115,
    _SC_UINT_MAX___291 = 116,
    _SC_ULONG_MAX___291 = 117,
    _SC_USHRT_MAX___291 = 118,
    _SC_NL_ARGMAX___291 = 119,
    _SC_NL_LANGMAX___291 = 120,
    _SC_NL_MSGMAX___291 = 121,
    _SC_NL_NMAX___291 = 122,
    _SC_NL_SETMAX___291 = 123,
    _SC_NL_TEXTMAX___291 = 124,
    _SC_XBS5_ILP32_OFF32___291 = 125,
    _SC_XBS5_ILP32_OFFBIG___291 = 126,
    _SC_XBS5_LP64_OFF64___291 = 127,
    _SC_XBS5_LPBIG_OFFBIG___291 = 128,
    _SC_XOPEN_LEGACY___291 = 129,
    _SC_XOPEN_REALTIME___291 = 130,
    _SC_XOPEN_REALTIME_THREADS___291 = 131,
    _SC_ADVISORY_INFO___291 = 132,
    _SC_BARRIERS___291 = 133,
    _SC_BASE___291 = 134,
    _SC_C_LANG_SUPPORT___291 = 135,
    _SC_C_LANG_SUPPORT_R___291 = 136,
    _SC_CLOCK_SELECTION___291 = 137,
    _SC_CPUTIME___291 = 138,
    _SC_THREAD_CPUTIME___291 = 139,
    _SC_DEVICE_IO___291 = 140,
    _SC_DEVICE_SPECIFIC___291 = 141,
    _SC_DEVICE_SPECIFIC_R___291 = 142,
    _SC_FD_MGMT___291 = 143,
    _SC_FIFO___291 = 144,
    _SC_PIPE___291 = 145,
    _SC_FILE_ATTRIBUTES___291 = 146,
    _SC_FILE_LOCKING___291 = 147,
    _SC_FILE_SYSTEM___291 = 148,
    _SC_MONOTONIC_CLOCK___291 = 149,
    _SC_MULTI_PROCESS___291 = 150,
    _SC_SINGLE_PROCESS___291 = 151,
    _SC_NETWORKING___291 = 152,
    _SC_READER_WRITER_LOCKS___291 = 153,
    _SC_SPIN_LOCKS___291 = 154,
    _SC_REGEXP___291 = 155,
    _SC_REGEX_VERSION___291 = 156,
    _SC_SHELL___291 = 157,
    _SC_SIGNALS___291 = 158,
    _SC_SPAWN___291 = 159,
    _SC_SPORADIC_SERVER___291 = 160,
    _SC_THREAD_SPORADIC_SERVER___291 = 161,
    _SC_SYSTEM_DATABASE___291 = 162,
    _SC_SYSTEM_DATABASE_R___291 = 163,
    _SC_TIMEOUTS___291 = 164,
    _SC_TYPED_MEMORY_OBJECTS___291 = 165,
    _SC_USER_GROUPS___291 = 166,
    _SC_USER_GROUPS_R___291 = 167,
    _SC_2_PBS___291 = 168,
    _SC_2_PBS_ACCOUNTING___291 = 169,
    _SC_2_PBS_LOCATE___291 = 170,
    _SC_2_PBS_MESSAGE___291 = 171,
    _SC_2_PBS_TRACK___291 = 172,
    _SC_SYMLOOP_MAX___291 = 173,
    _SC_STREAMS___291 = 174,
    _SC_2_PBS_CHECKPOINT___291 = 175,
    _SC_V6_ILP32_OFF32___291 = 176,
    _SC_V6_ILP32_OFFBIG___291 = 177,
    _SC_V6_LP64_OFF64___291 = 178,
    _SC_V6_LPBIG_OFFBIG___291 = 179,
    _SC_HOST_NAME_MAX___291 = 180,
    _SC_TRACE___291 = 181,
    _SC_TRACE_EVENT_FILTER___291 = 182,
    _SC_TRACE_INHERIT___291 = 183,
    _SC_TRACE_LOG___291 = 184,
    _SC_LEVEL1_ICACHE_SIZE___291 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___291 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___291 = 187,
    _SC_LEVEL1_DCACHE_SIZE___291 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___291 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___291 = 190,
    _SC_LEVEL2_CACHE_SIZE___291 = 191,
    _SC_LEVEL2_CACHE_ASSOC___291 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___291 = 193,
    _SC_LEVEL3_CACHE_SIZE___291 = 194,
    _SC_LEVEL3_CACHE_ASSOC___291 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___291 = 196,
    _SC_LEVEL4_CACHE_SIZE___291 = 197,
    _SC_LEVEL4_CACHE_ASSOC___291 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___291 = 199,
    _SC_IPV6___291 = 235,
    _SC_RAW_SOCKETS___291 = 236,
    _SC_V7_ILP32_OFF32___291 = 237,
    _SC_V7_ILP32_OFFBIG___291 = 238,
    _SC_V7_LP64_OFF64___291 = 239,
    _SC_V7_LPBIG_OFFBIG___291 = 240,
    _SC_SS_REPL_MAX___291 = 241,
    _SC_TRACE_EVENT_NAME_MAX___291 = 242,
    _SC_TRACE_NAME_MAX___291 = 243,
    _SC_TRACE_SYS_MAX___291 = 244,
    _SC_TRACE_USER_EVENT_MAX___291 = 245,
    _SC_XOPEN_STREAMS___291 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___291 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___291 = 248
} ;
enum __anonenum_875524036___291 {
    _CS_PATH___291 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___291 = 1,
    _CS_GNU_LIBC_VERSION___291 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___291 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___291 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___291 = 5,
    _CS_LFS_CFLAGS___291 = 1000,
    _CS_LFS_LDFLAGS___291 = 1001,
    _CS_LFS_LIBS___291 = 1002,
    _CS_LFS_LINTFLAGS___291 = 1003,
    _CS_LFS64_CFLAGS___291 = 1004,
    _CS_LFS64_LDFLAGS___291 = 1005,
    _CS_LFS64_LIBS___291 = 1006,
    _CS_LFS64_LINTFLAGS___291 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___291 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___291 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___291 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___291 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___291 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___291 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___291 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___291 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___291 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___291 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___291 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___291 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___291 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___291 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___291 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___291 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___291 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___291 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___291 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___291 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___291 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___291 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___291 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___291 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___291 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___291 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___291 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___291 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___291 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___291 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___291 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___291 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___291 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___291 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___291 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___291 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___291 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___291 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___291 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___291 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___291 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___291 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___291 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___291 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___291 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___291 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___291 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___291 = 1147,
    _CS_V6_ENV___291 = 1148,
    _CS_V7_ENV___291 = 1149
} ;
enum __anonenum_513775621___291 {
    DT_UNKNOWN___291 = 0,
    DT_FIFO___291 = 1,
    DT_CHR___291 = 2,
    DT_DIR___291 = 4,
    DT_BLK___291 = 6,
    DT_REG___291 = 8,
    DT_LNK___291 = 10,
    DT_SOCK___291 = 12,
    DT_WHT___291 = 14
} ;
enum __anonenum_77002343___291 {
    SI_ASYNCNL___291 = -60,
    SI_TKILL___291 = -6,
    SI_SIGIO___291 = -5,
    SI_ASYNCIO___291 = -4,
    SI_MESGQ___291 = -3,
    SI_TIMER___291 = -2,
    SI_QUEUE___291 = -1,
    SI_USER___291 = 0,
    SI_KERNEL___291 = 128
} ;
enum __anonenum_131038172___291 {
    ILL_ILLOPC___291 = 1,
    ILL_ILLOPN___291 = 2,
    ILL_ILLADR___291 = 3,
    ILL_ILLTRP___291 = 4,
    ILL_PRVOPC___291 = 5,
    ILL_PRVREG___291 = 6,
    ILL_COPROC___291 = 7,
    ILL_BADSTK___291 = 8
} ;
enum __anonenum_452038093___291 {
    FPE_INTDIV___291 = 1,
    FPE_INTOVF___291 = 2,
    FPE_FLTDIV___291 = 3,
    FPE_FLTOVF___291 = 4,
    FPE_FLTUND___291 = 5,
    FPE_FLTRES___291 = 6,
    FPE_FLTINV___291 = 7,
    FPE_FLTSUB___291 = 8
} ;
enum __anonenum_30976155___291 {
    SEGV_MAPERR___291 = 1,
    SEGV_ACCERR___291 = 2,
    SEGV_BNDERR___291 = 3,
    SEGV_PKUERR___291 = 4
} ;
enum __anonenum_1036286214___291 {
    BUS_ADRALN___291 = 1,
    BUS_ADRERR___291 = 2,
    BUS_OBJERR___291 = 3,
    BUS_MCEERR_AR___291 = 4,
    BUS_MCEERR_AO___291 = 5
} ;
enum __anonenum_493465559___291 {
    TRAP_BRKPT___291 = 1,
    TRAP_TRACE___291 = 2
} ;
enum __anonenum_23175539___291 {
    CLD_EXITED___291 = 1,
    CLD_KILLED___291 = 2,
    CLD_DUMPED___291 = 3,
    CLD_TRAPPED___291 = 4,
    CLD_STOPPED___291 = 5,
    CLD_CONTINUED___291 = 6
} ;
enum __anonenum_111643124___291 {
    POLL_IN___291 = 1,
    POLL_OUT___291 = 2,
    POLL_MSG___291 = 3,
    POLL_ERR___291 = 4,
    POLL_PRI___291 = 5,
    POLL_HUP___291 = 6
} ;
enum __anonenum_852341087___291 {
    SIGEV_SIGNAL___291 = 0,
    SIGEV_NONE___291 = 1,
    SIGEV_THREAD___291 = 2,
    SIGEV_THREAD_ID___291 = 4
} ;
enum __anonenum_451154152___291 {
    REG_R8___291 = 0,
    REG_R9___291 = 1,
    REG_R10___291 = 2,
    REG_R11___291 = 3,
    REG_R12___291 = 4,
    REG_R13___291 = 5,
    REG_R14___291 = 6,
    REG_R15___291 = 7,
    REG_RDI___291 = 8,
    REG_RSI___291 = 9,
    REG_RBP___291 = 10,
    REG_RBX___291 = 11,
    REG_RDX___291 = 12,
    REG_RAX___291 = 13,
    REG_RCX___291 = 14,
    REG_RSP___291 = 15,
    REG_RIP___291 = 16,
    REG_EFL___291 = 17,
    REG_CSGSFS___291 = 18,
    REG_ERR___291 = 19,
    REG_TRAPNO___291 = 20,
    REG_OLDMASK___291 = 21,
    REG_CR2___291 = 22
} ;
enum __anonenum_57186863___291 {
    SS_ONSTACK___291 = 1,
    SS_DISABLE___291 = 2
} ;
enum __anonenum_83571709___291 {
    MSG_OOB___291 = 1,
    MSG_PEEK___291 = 2,
    MSG_DONTROUTE___291 = 4,
    MSG_TRYHARD___291 = 4,
    MSG_CTRUNC___291 = 8,
    MSG_PROXY___291 = 16,
    MSG_TRUNC___291 = 32,
    MSG_DONTWAIT___291 = 64,
    MSG_EOR___291 = 128,
    MSG_WAITALL___291 = 256,
    MSG_FIN___291 = 512,
    MSG_SYN___291 = 1024,
    MSG_CONFIRM___291 = 2048,
    MSG_RST___291 = 4096,
    MSG_ERRQUEUE___291 = 8192,
    MSG_NOSIGNAL___291 = 16384,
    MSG_MORE___291 = 32768,
    MSG_WAITFORONE___291 = 65536,
    MSG_BATCH___291 = 262144,
    MSG_ZEROCOPY___291 = 67108864,
    MSG_FASTOPEN___291 = 536870912,
    MSG_CMSG_CLOEXEC___291 = 1073741824
} ;
enum __anonenum_617082774___291 {
    SCM_RIGHTS___291 = 1,
    SCM_CREDENTIALS___291 = 2
} ;
enum __anonenum_606441560___291 {
    SHUT_RD___291 = 0,
    SHUT_WR___291 = 1,
    SHUT_RDWR___291 = 2
} ;
enum __anonenum_681669233___291 {
    IPPROTO_IP___291 = 0,
    IPPROTO_ICMP___291 = 1,
    IPPROTO_IGMP___291 = 2,
    IPPROTO_IPIP___291 = 4,
    IPPROTO_TCP___291 = 6,
    IPPROTO_EGP___291 = 8,
    IPPROTO_PUP___291 = 12,
    IPPROTO_UDP___291 = 17,
    IPPROTO_IDP___291 = 22,
    IPPROTO_TP___291 = 29,
    IPPROTO_DCCP___291 = 33,
    IPPROTO_IPV6___291 = 41,
    IPPROTO_RSVP___291 = 46,
    IPPROTO_GRE___291 = 47,
    IPPROTO_ESP___291 = 50,
    IPPROTO_AH___291 = 51,
    IPPROTO_MTP___291 = 92,
    IPPROTO_BEETPH___291 = 94,
    IPPROTO_ENCAP___291 = 98,
    IPPROTO_PIM___291 = 103,
    IPPROTO_COMP___291 = 108,
    IPPROTO_SCTP___291 = 132,
    IPPROTO_UDPLITE___291 = 136,
    IPPROTO_MPLS___291 = 137,
    IPPROTO_RAW___291 = 255,
    IPPROTO_MAX___291 = 256
} ;
enum __anonenum_218739988___291 {
    IPPROTO_HOPOPTS___291 = 0,
    IPPROTO_ROUTING___291 = 43,
    IPPROTO_FRAGMENT___291 = 44,
    IPPROTO_ICMPV6___291 = 58,
    IPPROTO_NONE___291 = 59,
    IPPROTO_DSTOPTS___291 = 60,
    IPPROTO_MH___291 = 135
} ;
enum __anonenum_662268580___291 {
    IPPORT_ECHO___291 = 7,
    IPPORT_DISCARD___291 = 9,
    IPPORT_SYSTAT___291 = 11,
    IPPORT_DAYTIME___291 = 13,
    IPPORT_NETSTAT___291 = 15,
    IPPORT_FTP___291 = 21,
    IPPORT_TELNET___291 = 23,
    IPPORT_SMTP___291 = 25,
    IPPORT_TIMESERVER___291 = 37,
    IPPORT_NAMESERVER___291 = 42,
    IPPORT_WHOIS___291 = 43,
    IPPORT_MTP___291 = 57,
    IPPORT_TFTP___291 = 69,
    IPPORT_RJE___291 = 77,
    IPPORT_FINGER___291 = 79,
    IPPORT_TTYLINK___291 = 87,
    IPPORT_SUPDUP___291 = 95,
    IPPORT_EXECSERVER___291 = 512,
    IPPORT_LOGINSERVER___291 = 513,
    IPPORT_CMDSERVER___291 = 514,
    IPPORT_EFSSERVER___291 = 520,
    IPPORT_BIFFUDP___291 = 512,
    IPPORT_WHOSERVER___291 = 513,
    IPPORT_ROUTESERVER___291 = 520,
    IPPORT_RESERVED___291 = 1024,
    IPPORT_USERRESERVED___291 = 5000
} ;
enum __anonenum_788308992___291 {
    TCP_ESTABLISHED___291 = 1,
    TCP_SYN_SENT___291 = 2,
    TCP_SYN_RECV___291 = 3,
    TCP_FIN_WAIT1___291 = 4,
    TCP_FIN_WAIT2___291 = 5,
    TCP_TIME_WAIT___291 = 6,
    TCP_CLOSE___291 = 7,
    TCP_CLOSE_WAIT___291 = 8,
    TCP_LAST_ACK___291 = 9,
    TCP_LISTEN___291 = 10,
    TCP_CLOSING___291 = 11
} ;
enum __anonenum_221125648___291 {
    TCP_NO_QUEUE___291 = 0,
    TCP_RECV_QUEUE___291 = 1,
    TCP_SEND_QUEUE___291 = 2,
    TCP_QUEUES_NR___291 = 3
} ;
enum __anonenum_34415463___291 {
    PTHREAD_CREATE_JOINABLE___291 = 0,
    PTHREAD_CREATE_DETACHED___291 = 1
} ;
enum __anonenum_303612439___291 {
    PTHREAD_MUTEX_TIMED_NP___291 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___291 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___291 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___291 = 3,
    PTHREAD_MUTEX_NORMAL___291 = 0,
    PTHREAD_MUTEX_RECURSIVE___291 = 1,
    PTHREAD_MUTEX_ERRORCHECK___291 = 2,
    PTHREAD_MUTEX_DEFAULT___291 = 0,
    PTHREAD_MUTEX_FAST_NP___291 = 0
} ;
enum __anonenum_931900394___291 {
    PTHREAD_MUTEX_STALLED___291 = 0,
    PTHREAD_MUTEX_STALLED_NP___291 = 0,
    PTHREAD_MUTEX_ROBUST___291 = 1,
    PTHREAD_MUTEX_ROBUST_NP___291 = 1
} ;
enum __anonenum_205214487___291 {
    PTHREAD_PRIO_NONE___291 = 0,
    PTHREAD_PRIO_INHERIT___291 = 1,
    PTHREAD_PRIO_PROTECT___291 = 2
} ;
enum __anonenum_25043950___291 {
    PTHREAD_RWLOCK_PREFER_READER_NP___291 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___291 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___291 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___291 = 0
} ;
enum __anonenum_436439511___291 {
    PTHREAD_INHERIT_SCHED___291 = 0,
    PTHREAD_EXPLICIT_SCHED___291 = 1
} ;
enum __anonenum_998661166___291 {
    PTHREAD_SCOPE_SYSTEM___291 = 0,
    PTHREAD_SCOPE_PROCESS___291 = 1
} ;
enum __anonenum_146137331___291 {
    PTHREAD_PROCESS_PRIVATE___291 = 0,
    PTHREAD_PROCESS_SHARED___291 = 1
} ;
enum __anonenum_53396917___291 {
    PTHREAD_CANCEL_ENABLE___291 = 0,
    PTHREAD_CANCEL_DISABLE___291 = 1
} ;
enum __anonenum_904563783___291 {
    PTHREAD_CANCEL_DEFERRED___291 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___291 = 1
} ;
enum __anonenum_672052974___291 {
    SSL_CT_VALIDATION_PERMISSIVE___291 = 0,
    SSL_CT_VALIDATION_STRICT___291 = 1
} ;
struct opts_commit_graph {
   char const   *obj_dir ;
   int reachable ;
   int stdin_packs ;
   int stdin_commits ;
   int append ;
   int split ;
   int shallow ;
   int progress ;
   int enable_changed_paths ;
};
enum __anonenum_437032235___292 {
    _PC_LINK_MAX___292 = 0,
    _PC_MAX_CANON___292 = 1,
    _PC_MAX_INPUT___292 = 2,
    _PC_NAME_MAX___292 = 3,
    _PC_PATH_MAX___292 = 4,
    _PC_PIPE_BUF___292 = 5,
    _PC_CHOWN_RESTRICTED___292 = 6,
    _PC_NO_TRUNC___292 = 7,
    _PC_VDISABLE___292 = 8,
    _PC_SYNC_IO___292 = 9,
    _PC_ASYNC_IO___292 = 10,
    _PC_PRIO_IO___292 = 11,
    _PC_SOCK_MAXBUF___292 = 12,
    _PC_FILESIZEBITS___292 = 13,
    _PC_REC_INCR_XFER_SIZE___292 = 14,
    _PC_REC_MAX_XFER_SIZE___292 = 15,
    _PC_REC_MIN_XFER_SIZE___292 = 16,
    _PC_REC_XFER_ALIGN___292 = 17,
    _PC_ALLOC_SIZE_MIN___292 = 18,
    _PC_SYMLINK_MAX___292 = 19,
    _PC_2_SYMLINKS___292 = 20
} ;
enum __anonenum_315186338___292 {
    _SC_ARG_MAX___292 = 0,
    _SC_CHILD_MAX___292 = 1,
    _SC_CLK_TCK___292 = 2,
    _SC_NGROUPS_MAX___292 = 3,
    _SC_OPEN_MAX___292 = 4,
    _SC_STREAM_MAX___292 = 5,
    _SC_TZNAME_MAX___292 = 6,
    _SC_JOB_CONTROL___292 = 7,
    _SC_SAVED_IDS___292 = 8,
    _SC_REALTIME_SIGNALS___292 = 9,
    _SC_PRIORITY_SCHEDULING___292 = 10,
    _SC_TIMERS___292 = 11,
    _SC_ASYNCHRONOUS_IO___292 = 12,
    _SC_PRIORITIZED_IO___292 = 13,
    _SC_SYNCHRONIZED_IO___292 = 14,
    _SC_FSYNC___292 = 15,
    _SC_MAPPED_FILES___292 = 16,
    _SC_MEMLOCK___292 = 17,
    _SC_MEMLOCK_RANGE___292 = 18,
    _SC_MEMORY_PROTECTION___292 = 19,
    _SC_MESSAGE_PASSING___292 = 20,
    _SC_SEMAPHORES___292 = 21,
    _SC_SHARED_MEMORY_OBJECTS___292 = 22,
    _SC_AIO_LISTIO_MAX___292 = 23,
    _SC_AIO_MAX___292 = 24,
    _SC_AIO_PRIO_DELTA_MAX___292 = 25,
    _SC_DELAYTIMER_MAX___292 = 26,
    _SC_MQ_OPEN_MAX___292 = 27,
    _SC_MQ_PRIO_MAX___292 = 28,
    _SC_VERSION___292 = 29,
    _SC_PAGESIZE___292 = 30,
    _SC_RTSIG_MAX___292 = 31,
    _SC_SEM_NSEMS_MAX___292 = 32,
    _SC_SEM_VALUE_MAX___292 = 33,
    _SC_SIGQUEUE_MAX___292 = 34,
    _SC_TIMER_MAX___292 = 35,
    _SC_BC_BASE_MAX___292 = 36,
    _SC_BC_DIM_MAX___292 = 37,
    _SC_BC_SCALE_MAX___292 = 38,
    _SC_BC_STRING_MAX___292 = 39,
    _SC_COLL_WEIGHTS_MAX___292 = 40,
    _SC_EQUIV_CLASS_MAX___292 = 41,
    _SC_EXPR_NEST_MAX___292 = 42,
    _SC_LINE_MAX___292 = 43,
    _SC_RE_DUP_MAX___292 = 44,
    _SC_CHARCLASS_NAME_MAX___292 = 45,
    _SC_2_VERSION___292 = 46,
    _SC_2_C_BIND___292 = 47,
    _SC_2_C_DEV___292 = 48,
    _SC_2_FORT_DEV___292 = 49,
    _SC_2_FORT_RUN___292 = 50,
    _SC_2_SW_DEV___292 = 51,
    _SC_2_LOCALEDEF___292 = 52,
    _SC_PII___292 = 53,
    _SC_PII_XTI___292 = 54,
    _SC_PII_SOCKET___292 = 55,
    _SC_PII_INTERNET___292 = 56,
    _SC_PII_OSI___292 = 57,
    _SC_POLL___292 = 58,
    _SC_SELECT___292 = 59,
    _SC_UIO_MAXIOV___292 = 60,
    _SC_IOV_MAX___292 = 60,
    _SC_PII_INTERNET_STREAM___292 = 61,
    _SC_PII_INTERNET_DGRAM___292 = 62,
    _SC_PII_OSI_COTS___292 = 63,
    _SC_PII_OSI_CLTS___292 = 64,
    _SC_PII_OSI_M___292 = 65,
    _SC_T_IOV_MAX___292 = 66,
    _SC_THREADS___292 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___292 = 68,
    _SC_GETGR_R_SIZE_MAX___292 = 69,
    _SC_GETPW_R_SIZE_MAX___292 = 70,
    _SC_LOGIN_NAME_MAX___292 = 71,
    _SC_TTY_NAME_MAX___292 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___292 = 73,
    _SC_THREAD_KEYS_MAX___292 = 74,
    _SC_THREAD_STACK_MIN___292 = 75,
    _SC_THREAD_THREADS_MAX___292 = 76,
    _SC_THREAD_ATTR_STACKADDR___292 = 77,
    _SC_THREAD_ATTR_STACKSIZE___292 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___292 = 79,
    _SC_THREAD_PRIO_INHERIT___292 = 80,
    _SC_THREAD_PRIO_PROTECT___292 = 81,
    _SC_THREAD_PROCESS_SHARED___292 = 82,
    _SC_NPROCESSORS_CONF___292 = 83,
    _SC_NPROCESSORS_ONLN___292 = 84,
    _SC_PHYS_PAGES___292 = 85,
    _SC_AVPHYS_PAGES___292 = 86,
    _SC_ATEXIT_MAX___292 = 87,
    _SC_PASS_MAX___292 = 88,
    _SC_XOPEN_VERSION___292 = 89,
    _SC_XOPEN_XCU_VERSION___292 = 90,
    _SC_XOPEN_UNIX___292 = 91,
    _SC_XOPEN_CRYPT___292 = 92,
    _SC_XOPEN_ENH_I18N___292 = 93,
    _SC_XOPEN_SHM___292 = 94,
    _SC_2_CHAR_TERM___292 = 95,
    _SC_2_C_VERSION___292 = 96,
    _SC_2_UPE___292 = 97,
    _SC_XOPEN_XPG2___292 = 98,
    _SC_XOPEN_XPG3___292 = 99,
    _SC_XOPEN_XPG4___292 = 100,
    _SC_CHAR_BIT___292 = 101,
    _SC_CHAR_MAX___292 = 102,
    _SC_CHAR_MIN___292 = 103,
    _SC_INT_MAX___292 = 104,
    _SC_INT_MIN___292 = 105,
    _SC_LONG_BIT___292 = 106,
    _SC_WORD_BIT___292 = 107,
    _SC_MB_LEN_MAX___292 = 108,
    _SC_NZERO___292 = 109,
    _SC_SSIZE_MAX___292 = 110,
    _SC_SCHAR_MAX___292 = 111,
    _SC_SCHAR_MIN___292 = 112,
    _SC_SHRT_MAX___292 = 113,
    _SC_SHRT_MIN___292 = 114,
    _SC_UCHAR_MAX___292 = 115,
    _SC_UINT_MAX___292 = 116,
    _SC_ULONG_MAX___292 = 117,
    _SC_USHRT_MAX___292 = 118,
    _SC_NL_ARGMAX___292 = 119,
    _SC_NL_LANGMAX___292 = 120,
    _SC_NL_MSGMAX___292 = 121,
    _SC_NL_NMAX___292 = 122,
    _SC_NL_SETMAX___292 = 123,
    _SC_NL_TEXTMAX___292 = 124,
    _SC_XBS5_ILP32_OFF32___292 = 125,
    _SC_XBS5_ILP32_OFFBIG___292 = 126,
    _SC_XBS5_LP64_OFF64___292 = 127,
    _SC_XBS5_LPBIG_OFFBIG___292 = 128,
    _SC_XOPEN_LEGACY___292 = 129,
    _SC_XOPEN_REALTIME___292 = 130,
    _SC_XOPEN_REALTIME_THREADS___292 = 131,
    _SC_ADVISORY_INFO___292 = 132,
    _SC_BARRIERS___292 = 133,
    _SC_BASE___292 = 134,
    _SC_C_LANG_SUPPORT___292 = 135,
    _SC_C_LANG_SUPPORT_R___292 = 136,
    _SC_CLOCK_SELECTION___292 = 137,
    _SC_CPUTIME___292 = 138,
    _SC_THREAD_CPUTIME___292 = 139,
    _SC_DEVICE_IO___292 = 140,
    _SC_DEVICE_SPECIFIC___292 = 141,
    _SC_DEVICE_SPECIFIC_R___292 = 142,
    _SC_FD_MGMT___292 = 143,
    _SC_FIFO___292 = 144,
    _SC_PIPE___292 = 145,
    _SC_FILE_ATTRIBUTES___292 = 146,
    _SC_FILE_LOCKING___292 = 147,
    _SC_FILE_SYSTEM___292 = 148,
    _SC_MONOTONIC_CLOCK___292 = 149,
    _SC_MULTI_PROCESS___292 = 150,
    _SC_SINGLE_PROCESS___292 = 151,
    _SC_NETWORKING___292 = 152,
    _SC_READER_WRITER_LOCKS___292 = 153,
    _SC_SPIN_LOCKS___292 = 154,
    _SC_REGEXP___292 = 155,
    _SC_REGEX_VERSION___292 = 156,
    _SC_SHELL___292 = 157,
    _SC_SIGNALS___292 = 158,
    _SC_SPAWN___292 = 159,
    _SC_SPORADIC_SERVER___292 = 160,
    _SC_THREAD_SPORADIC_SERVER___292 = 161,
    _SC_SYSTEM_DATABASE___292 = 162,
    _SC_SYSTEM_DATABASE_R___292 = 163,
    _SC_TIMEOUTS___292 = 164,
    _SC_TYPED_MEMORY_OBJECTS___292 = 165,
    _SC_USER_GROUPS___292 = 166,
    _SC_USER_GROUPS_R___292 = 167,
    _SC_2_PBS___292 = 168,
    _SC_2_PBS_ACCOUNTING___292 = 169,
    _SC_2_PBS_LOCATE___292 = 170,
    _SC_2_PBS_MESSAGE___292 = 171,
    _SC_2_PBS_TRACK___292 = 172,
    _SC_SYMLOOP_MAX___292 = 173,
    _SC_STREAMS___292 = 174,
    _SC_2_PBS_CHECKPOINT___292 = 175,
    _SC_V6_ILP32_OFF32___292 = 176,
    _SC_V6_ILP32_OFFBIG___292 = 177,
    _SC_V6_LP64_OFF64___292 = 178,
    _SC_V6_LPBIG_OFFBIG___292 = 179,
    _SC_HOST_NAME_MAX___292 = 180,
    _SC_TRACE___292 = 181,
    _SC_TRACE_EVENT_FILTER___292 = 182,
    _SC_TRACE_INHERIT___292 = 183,
    _SC_TRACE_LOG___292 = 184,
    _SC_LEVEL1_ICACHE_SIZE___292 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___292 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___292 = 187,
    _SC_LEVEL1_DCACHE_SIZE___292 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___292 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___292 = 190,
    _SC_LEVEL2_CACHE_SIZE___292 = 191,
    _SC_LEVEL2_CACHE_ASSOC___292 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___292 = 193,
    _SC_LEVEL3_CACHE_SIZE___292 = 194,
    _SC_LEVEL3_CACHE_ASSOC___292 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___292 = 196,
    _SC_LEVEL4_CACHE_SIZE___292 = 197,
    _SC_LEVEL4_CACHE_ASSOC___292 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___292 = 199,
    _SC_IPV6___292 = 235,
    _SC_RAW_SOCKETS___292 = 236,
    _SC_V7_ILP32_OFF32___292 = 237,
    _SC_V7_ILP32_OFFBIG___292 = 238,
    _SC_V7_LP64_OFF64___292 = 239,
    _SC_V7_LPBIG_OFFBIG___292 = 240,
    _SC_SS_REPL_MAX___292 = 241,
    _SC_TRACE_EVENT_NAME_MAX___292 = 242,
    _SC_TRACE_NAME_MAX___292 = 243,
    _SC_TRACE_SYS_MAX___292 = 244,
    _SC_TRACE_USER_EVENT_MAX___292 = 245,
    _SC_XOPEN_STREAMS___292 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___292 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___292 = 248
} ;
enum __anonenum_875524036___292 {
    _CS_PATH___292 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___292 = 1,
    _CS_GNU_LIBC_VERSION___292 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___292 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___292 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___292 = 5,
    _CS_LFS_CFLAGS___292 = 1000,
    _CS_LFS_LDFLAGS___292 = 1001,
    _CS_LFS_LIBS___292 = 1002,
    _CS_LFS_LINTFLAGS___292 = 1003,
    _CS_LFS64_CFLAGS___292 = 1004,
    _CS_LFS64_LDFLAGS___292 = 1005,
    _CS_LFS64_LIBS___292 = 1006,
    _CS_LFS64_LINTFLAGS___292 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___292 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___292 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___292 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___292 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___292 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___292 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___292 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___292 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___292 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___292 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___292 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___292 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___292 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___292 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___292 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___292 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___292 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___292 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___292 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___292 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___292 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___292 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___292 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___292 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___292 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___292 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___292 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___292 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___292 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___292 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___292 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___292 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___292 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___292 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___292 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___292 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___292 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___292 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___292 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___292 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___292 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___292 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___292 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___292 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___292 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___292 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___292 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___292 = 1147,
    _CS_V6_ENV___292 = 1148,
    _CS_V7_ENV___292 = 1149
} ;
enum __anonenum_513775621___292 {
    DT_UNKNOWN___292 = 0,
    DT_FIFO___292 = 1,
    DT_CHR___292 = 2,
    DT_DIR___292 = 4,
    DT_BLK___292 = 6,
    DT_REG___292 = 8,
    DT_LNK___292 = 10,
    DT_SOCK___292 = 12,
    DT_WHT___292 = 14
} ;
enum __anonenum_77002343___292 {
    SI_ASYNCNL___292 = -60,
    SI_TKILL___292 = -6,
    SI_SIGIO___292 = -5,
    SI_ASYNCIO___292 = -4,
    SI_MESGQ___292 = -3,
    SI_TIMER___292 = -2,
    SI_QUEUE___292 = -1,
    SI_USER___292 = 0,
    SI_KERNEL___292 = 128
} ;
enum __anonenum_131038172___292 {
    ILL_ILLOPC___292 = 1,
    ILL_ILLOPN___292 = 2,
    ILL_ILLADR___292 = 3,
    ILL_ILLTRP___292 = 4,
    ILL_PRVOPC___292 = 5,
    ILL_PRVREG___292 = 6,
    ILL_COPROC___292 = 7,
    ILL_BADSTK___292 = 8
} ;
enum __anonenum_452038093___292 {
    FPE_INTDIV___292 = 1,
    FPE_INTOVF___292 = 2,
    FPE_FLTDIV___292 = 3,
    FPE_FLTOVF___292 = 4,
    FPE_FLTUND___292 = 5,
    FPE_FLTRES___292 = 6,
    FPE_FLTINV___292 = 7,
    FPE_FLTSUB___292 = 8
} ;
enum __anonenum_30976155___292 {
    SEGV_MAPERR___292 = 1,
    SEGV_ACCERR___292 = 2,
    SEGV_BNDERR___292 = 3,
    SEGV_PKUERR___292 = 4
} ;
enum __anonenum_1036286214___292 {
    BUS_ADRALN___292 = 1,
    BUS_ADRERR___292 = 2,
    BUS_OBJERR___292 = 3,
    BUS_MCEERR_AR___292 = 4,
    BUS_MCEERR_AO___292 = 5
} ;
enum __anonenum_493465559___292 {
    TRAP_BRKPT___292 = 1,
    TRAP_TRACE___292 = 2
} ;
enum __anonenum_23175539___292 {
    CLD_EXITED___292 = 1,
    CLD_KILLED___292 = 2,
    CLD_DUMPED___292 = 3,
    CLD_TRAPPED___292 = 4,
    CLD_STOPPED___292 = 5,
    CLD_CONTINUED___292 = 6
} ;
enum __anonenum_111643124___292 {
    POLL_IN___292 = 1,
    POLL_OUT___292 = 2,
    POLL_MSG___292 = 3,
    POLL_ERR___292 = 4,
    POLL_PRI___292 = 5,
    POLL_HUP___292 = 6
} ;
enum __anonenum_852341087___292 {
    SIGEV_SIGNAL___292 = 0,
    SIGEV_NONE___292 = 1,
    SIGEV_THREAD___292 = 2,
    SIGEV_THREAD_ID___292 = 4
} ;
enum __anonenum_451154152___292 {
    REG_R8___292 = 0,
    REG_R9___292 = 1,
    REG_R10___292 = 2,
    REG_R11___292 = 3,
    REG_R12___292 = 4,
    REG_R13___292 = 5,
    REG_R14___292 = 6,
    REG_R15___292 = 7,
    REG_RDI___292 = 8,
    REG_RSI___292 = 9,
    REG_RBP___292 = 10,
    REG_RBX___292 = 11,
    REG_RDX___292 = 12,
    REG_RAX___292 = 13,
    REG_RCX___292 = 14,
    REG_RSP___292 = 15,
    REG_RIP___292 = 16,
    REG_EFL___292 = 17,
    REG_CSGSFS___292 = 18,
    REG_ERR___292 = 19,
    REG_TRAPNO___292 = 20,
    REG_OLDMASK___292 = 21,
    REG_CR2___292 = 22
} ;
enum __anonenum_57186863___292 {
    SS_ONSTACK___292 = 1,
    SS_DISABLE___292 = 2
} ;
enum __anonenum_83571709___292 {
    MSG_OOB___292 = 1,
    MSG_PEEK___292 = 2,
    MSG_DONTROUTE___292 = 4,
    MSG_TRYHARD___292 = 4,
    MSG_CTRUNC___292 = 8,
    MSG_PROXY___292 = 16,
    MSG_TRUNC___292 = 32,
    MSG_DONTWAIT___292 = 64,
    MSG_EOR___292 = 128,
    MSG_WAITALL___292 = 256,
    MSG_FIN___292 = 512,
    MSG_SYN___292 = 1024,
    MSG_CONFIRM___292 = 2048,
    MSG_RST___292 = 4096,
    MSG_ERRQUEUE___292 = 8192,
    MSG_NOSIGNAL___292 = 16384,
    MSG_MORE___292 = 32768,
    MSG_WAITFORONE___292 = 65536,
    MSG_BATCH___292 = 262144,
    MSG_ZEROCOPY___292 = 67108864,
    MSG_FASTOPEN___292 = 536870912,
    MSG_CMSG_CLOEXEC___292 = 1073741824
} ;
enum __anonenum_617082774___292 {
    SCM_RIGHTS___292 = 1,
    SCM_CREDENTIALS___292 = 2
} ;
enum __anonenum_606441560___292 {
    SHUT_RD___292 = 0,
    SHUT_WR___292 = 1,
    SHUT_RDWR___292 = 2
} ;
enum __anonenum_681669233___292 {
    IPPROTO_IP___292 = 0,
    IPPROTO_ICMP___292 = 1,
    IPPROTO_IGMP___292 = 2,
    IPPROTO_IPIP___292 = 4,
    IPPROTO_TCP___292 = 6,
    IPPROTO_EGP___292 = 8,
    IPPROTO_PUP___292 = 12,
    IPPROTO_UDP___292 = 17,
    IPPROTO_IDP___292 = 22,
    IPPROTO_TP___292 = 29,
    IPPROTO_DCCP___292 = 33,
    IPPROTO_IPV6___292 = 41,
    IPPROTO_RSVP___292 = 46,
    IPPROTO_GRE___292 = 47,
    IPPROTO_ESP___292 = 50,
    IPPROTO_AH___292 = 51,
    IPPROTO_MTP___292 = 92,
    IPPROTO_BEETPH___292 = 94,
    IPPROTO_ENCAP___292 = 98,
    IPPROTO_PIM___292 = 103,
    IPPROTO_COMP___292 = 108,
    IPPROTO_SCTP___292 = 132,
    IPPROTO_UDPLITE___292 = 136,
    IPPROTO_MPLS___292 = 137,
    IPPROTO_RAW___292 = 255,
    IPPROTO_MAX___292 = 256
} ;
enum __anonenum_218739988___292 {
    IPPROTO_HOPOPTS___292 = 0,
    IPPROTO_ROUTING___292 = 43,
    IPPROTO_FRAGMENT___292 = 44,
    IPPROTO_ICMPV6___292 = 58,
    IPPROTO_NONE___292 = 59,
    IPPROTO_DSTOPTS___292 = 60,
    IPPROTO_MH___292 = 135
} ;
enum __anonenum_662268580___292 {
    IPPORT_ECHO___292 = 7,
    IPPORT_DISCARD___292 = 9,
    IPPORT_SYSTAT___292 = 11,
    IPPORT_DAYTIME___292 = 13,
    IPPORT_NETSTAT___292 = 15,
    IPPORT_FTP___292 = 21,
    IPPORT_TELNET___292 = 23,
    IPPORT_SMTP___292 = 25,
    IPPORT_TIMESERVER___292 = 37,
    IPPORT_NAMESERVER___292 = 42,
    IPPORT_WHOIS___292 = 43,
    IPPORT_MTP___292 = 57,
    IPPORT_TFTP___292 = 69,
    IPPORT_RJE___292 = 77,
    IPPORT_FINGER___292 = 79,
    IPPORT_TTYLINK___292 = 87,
    IPPORT_SUPDUP___292 = 95,
    IPPORT_EXECSERVER___292 = 512,
    IPPORT_LOGINSERVER___292 = 513,
    IPPORT_CMDSERVER___292 = 514,
    IPPORT_EFSSERVER___292 = 520,
    IPPORT_BIFFUDP___292 = 512,
    IPPORT_WHOSERVER___292 = 513,
    IPPORT_ROUTESERVER___292 = 520,
    IPPORT_RESERVED___292 = 1024,
    IPPORT_USERRESERVED___292 = 5000
} ;
enum __anonenum_788308992___292 {
    TCP_ESTABLISHED___292 = 1,
    TCP_SYN_SENT___292 = 2,
    TCP_SYN_RECV___292 = 3,
    TCP_FIN_WAIT1___292 = 4,
    TCP_FIN_WAIT2___292 = 5,
    TCP_TIME_WAIT___292 = 6,
    TCP_CLOSE___292 = 7,
    TCP_CLOSE_WAIT___292 = 8,
    TCP_LAST_ACK___292 = 9,
    TCP_LISTEN___292 = 10,
    TCP_CLOSING___292 = 11
} ;
enum __anonenum_221125648___292 {
    TCP_NO_QUEUE___292 = 0,
    TCP_RECV_QUEUE___292 = 1,
    TCP_SEND_QUEUE___292 = 2,
    TCP_QUEUES_NR___292 = 3
} ;
enum __anonenum_34415463___292 {
    PTHREAD_CREATE_JOINABLE___292 = 0,
    PTHREAD_CREATE_DETACHED___292 = 1
} ;
enum __anonenum_303612439___292 {
    PTHREAD_MUTEX_TIMED_NP___292 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___292 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___292 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___292 = 3,
    PTHREAD_MUTEX_NORMAL___292 = 0,
    PTHREAD_MUTEX_RECURSIVE___292 = 1,
    PTHREAD_MUTEX_ERRORCHECK___292 = 2,
    PTHREAD_MUTEX_DEFAULT___292 = 0,
    PTHREAD_MUTEX_FAST_NP___292 = 0
} ;
enum __anonenum_931900394___292 {
    PTHREAD_MUTEX_STALLED___292 = 0,
    PTHREAD_MUTEX_STALLED_NP___292 = 0,
    PTHREAD_MUTEX_ROBUST___292 = 1,
    PTHREAD_MUTEX_ROBUST_NP___292 = 1
} ;
enum __anonenum_205214487___292 {
    PTHREAD_PRIO_NONE___292 = 0,
    PTHREAD_PRIO_INHERIT___292 = 1,
    PTHREAD_PRIO_PROTECT___292 = 2
} ;
enum __anonenum_25043950___292 {
    PTHREAD_RWLOCK_PREFER_READER_NP___292 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___292 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___292 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___292 = 0
} ;
enum __anonenum_436439511___292 {
    PTHREAD_INHERIT_SCHED___292 = 0,
    PTHREAD_EXPLICIT_SCHED___292 = 1
} ;
enum __anonenum_998661166___292 {
    PTHREAD_SCOPE_SYSTEM___292 = 0,
    PTHREAD_SCOPE_PROCESS___292 = 1
} ;
enum __anonenum_146137331___292 {
    PTHREAD_PROCESS_PRIVATE___292 = 0,
    PTHREAD_PROCESS_SHARED___292 = 1
} ;
enum __anonenum_53396917___292 {
    PTHREAD_CANCEL_ENABLE___292 = 0,
    PTHREAD_CANCEL_DISABLE___292 = 1
} ;
enum __anonenum_904563783___292 {
    PTHREAD_CANCEL_DEFERRED___292 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___292 = 1
} ;
enum __anonenum_672052974___292 {
    SSL_CT_VALIDATION_PERMISSIVE___292 = 0,
    SSL_CT_VALIDATION_STRICT___292 = 1
} ;
enum __anonenum_437032235___293 {
    _PC_LINK_MAX___293 = 0,
    _PC_MAX_CANON___293 = 1,
    _PC_MAX_INPUT___293 = 2,
    _PC_NAME_MAX___293 = 3,
    _PC_PATH_MAX___293 = 4,
    _PC_PIPE_BUF___293 = 5,
    _PC_CHOWN_RESTRICTED___293 = 6,
    _PC_NO_TRUNC___293 = 7,
    _PC_VDISABLE___293 = 8,
    _PC_SYNC_IO___293 = 9,
    _PC_ASYNC_IO___293 = 10,
    _PC_PRIO_IO___293 = 11,
    _PC_SOCK_MAXBUF___293 = 12,
    _PC_FILESIZEBITS___293 = 13,
    _PC_REC_INCR_XFER_SIZE___293 = 14,
    _PC_REC_MAX_XFER_SIZE___293 = 15,
    _PC_REC_MIN_XFER_SIZE___293 = 16,
    _PC_REC_XFER_ALIGN___293 = 17,
    _PC_ALLOC_SIZE_MIN___293 = 18,
    _PC_SYMLINK_MAX___293 = 19,
    _PC_2_SYMLINKS___293 = 20
} ;
enum __anonenum_315186338___293 {
    _SC_ARG_MAX___293 = 0,
    _SC_CHILD_MAX___293 = 1,
    _SC_CLK_TCK___293 = 2,
    _SC_NGROUPS_MAX___293 = 3,
    _SC_OPEN_MAX___293 = 4,
    _SC_STREAM_MAX___293 = 5,
    _SC_TZNAME_MAX___293 = 6,
    _SC_JOB_CONTROL___293 = 7,
    _SC_SAVED_IDS___293 = 8,
    _SC_REALTIME_SIGNALS___293 = 9,
    _SC_PRIORITY_SCHEDULING___293 = 10,
    _SC_TIMERS___293 = 11,
    _SC_ASYNCHRONOUS_IO___293 = 12,
    _SC_PRIORITIZED_IO___293 = 13,
    _SC_SYNCHRONIZED_IO___293 = 14,
    _SC_FSYNC___293 = 15,
    _SC_MAPPED_FILES___293 = 16,
    _SC_MEMLOCK___293 = 17,
    _SC_MEMLOCK_RANGE___293 = 18,
    _SC_MEMORY_PROTECTION___293 = 19,
    _SC_MESSAGE_PASSING___293 = 20,
    _SC_SEMAPHORES___293 = 21,
    _SC_SHARED_MEMORY_OBJECTS___293 = 22,
    _SC_AIO_LISTIO_MAX___293 = 23,
    _SC_AIO_MAX___293 = 24,
    _SC_AIO_PRIO_DELTA_MAX___293 = 25,
    _SC_DELAYTIMER_MAX___293 = 26,
    _SC_MQ_OPEN_MAX___293 = 27,
    _SC_MQ_PRIO_MAX___293 = 28,
    _SC_VERSION___293 = 29,
    _SC_PAGESIZE___293 = 30,
    _SC_RTSIG_MAX___293 = 31,
    _SC_SEM_NSEMS_MAX___293 = 32,
    _SC_SEM_VALUE_MAX___293 = 33,
    _SC_SIGQUEUE_MAX___293 = 34,
    _SC_TIMER_MAX___293 = 35,
    _SC_BC_BASE_MAX___293 = 36,
    _SC_BC_DIM_MAX___293 = 37,
    _SC_BC_SCALE_MAX___293 = 38,
    _SC_BC_STRING_MAX___293 = 39,
    _SC_COLL_WEIGHTS_MAX___293 = 40,
    _SC_EQUIV_CLASS_MAX___293 = 41,
    _SC_EXPR_NEST_MAX___293 = 42,
    _SC_LINE_MAX___293 = 43,
    _SC_RE_DUP_MAX___293 = 44,
    _SC_CHARCLASS_NAME_MAX___293 = 45,
    _SC_2_VERSION___293 = 46,
    _SC_2_C_BIND___293 = 47,
    _SC_2_C_DEV___293 = 48,
    _SC_2_FORT_DEV___293 = 49,
    _SC_2_FORT_RUN___293 = 50,
    _SC_2_SW_DEV___293 = 51,
    _SC_2_LOCALEDEF___293 = 52,
    _SC_PII___293 = 53,
    _SC_PII_XTI___293 = 54,
    _SC_PII_SOCKET___293 = 55,
    _SC_PII_INTERNET___293 = 56,
    _SC_PII_OSI___293 = 57,
    _SC_POLL___293 = 58,
    _SC_SELECT___293 = 59,
    _SC_UIO_MAXIOV___293 = 60,
    _SC_IOV_MAX___293 = 60,
    _SC_PII_INTERNET_STREAM___293 = 61,
    _SC_PII_INTERNET_DGRAM___293 = 62,
    _SC_PII_OSI_COTS___293 = 63,
    _SC_PII_OSI_CLTS___293 = 64,
    _SC_PII_OSI_M___293 = 65,
    _SC_T_IOV_MAX___293 = 66,
    _SC_THREADS___293 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___293 = 68,
    _SC_GETGR_R_SIZE_MAX___293 = 69,
    _SC_GETPW_R_SIZE_MAX___293 = 70,
    _SC_LOGIN_NAME_MAX___293 = 71,
    _SC_TTY_NAME_MAX___293 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___293 = 73,
    _SC_THREAD_KEYS_MAX___293 = 74,
    _SC_THREAD_STACK_MIN___293 = 75,
    _SC_THREAD_THREADS_MAX___293 = 76,
    _SC_THREAD_ATTR_STACKADDR___293 = 77,
    _SC_THREAD_ATTR_STACKSIZE___293 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___293 = 79,
    _SC_THREAD_PRIO_INHERIT___293 = 80,
    _SC_THREAD_PRIO_PROTECT___293 = 81,
    _SC_THREAD_PROCESS_SHARED___293 = 82,
    _SC_NPROCESSORS_CONF___293 = 83,
    _SC_NPROCESSORS_ONLN___293 = 84,
    _SC_PHYS_PAGES___293 = 85,
    _SC_AVPHYS_PAGES___293 = 86,
    _SC_ATEXIT_MAX___293 = 87,
    _SC_PASS_MAX___293 = 88,
    _SC_XOPEN_VERSION___293 = 89,
    _SC_XOPEN_XCU_VERSION___293 = 90,
    _SC_XOPEN_UNIX___293 = 91,
    _SC_XOPEN_CRYPT___293 = 92,
    _SC_XOPEN_ENH_I18N___293 = 93,
    _SC_XOPEN_SHM___293 = 94,
    _SC_2_CHAR_TERM___293 = 95,
    _SC_2_C_VERSION___293 = 96,
    _SC_2_UPE___293 = 97,
    _SC_XOPEN_XPG2___293 = 98,
    _SC_XOPEN_XPG3___293 = 99,
    _SC_XOPEN_XPG4___293 = 100,
    _SC_CHAR_BIT___293 = 101,
    _SC_CHAR_MAX___293 = 102,
    _SC_CHAR_MIN___293 = 103,
    _SC_INT_MAX___293 = 104,
    _SC_INT_MIN___293 = 105,
    _SC_LONG_BIT___293 = 106,
    _SC_WORD_BIT___293 = 107,
    _SC_MB_LEN_MAX___293 = 108,
    _SC_NZERO___293 = 109,
    _SC_SSIZE_MAX___293 = 110,
    _SC_SCHAR_MAX___293 = 111,
    _SC_SCHAR_MIN___293 = 112,
    _SC_SHRT_MAX___293 = 113,
    _SC_SHRT_MIN___293 = 114,
    _SC_UCHAR_MAX___293 = 115,
    _SC_UINT_MAX___293 = 116,
    _SC_ULONG_MAX___293 = 117,
    _SC_USHRT_MAX___293 = 118,
    _SC_NL_ARGMAX___293 = 119,
    _SC_NL_LANGMAX___293 = 120,
    _SC_NL_MSGMAX___293 = 121,
    _SC_NL_NMAX___293 = 122,
    _SC_NL_SETMAX___293 = 123,
    _SC_NL_TEXTMAX___293 = 124,
    _SC_XBS5_ILP32_OFF32___293 = 125,
    _SC_XBS5_ILP32_OFFBIG___293 = 126,
    _SC_XBS5_LP64_OFF64___293 = 127,
    _SC_XBS5_LPBIG_OFFBIG___293 = 128,
    _SC_XOPEN_LEGACY___293 = 129,
    _SC_XOPEN_REALTIME___293 = 130,
    _SC_XOPEN_REALTIME_THREADS___293 = 131,
    _SC_ADVISORY_INFO___293 = 132,
    _SC_BARRIERS___293 = 133,
    _SC_BASE___293 = 134,
    _SC_C_LANG_SUPPORT___293 = 135,
    _SC_C_LANG_SUPPORT_R___293 = 136,
    _SC_CLOCK_SELECTION___293 = 137,
    _SC_CPUTIME___293 = 138,
    _SC_THREAD_CPUTIME___293 = 139,
    _SC_DEVICE_IO___293 = 140,
    _SC_DEVICE_SPECIFIC___293 = 141,
    _SC_DEVICE_SPECIFIC_R___293 = 142,
    _SC_FD_MGMT___293 = 143,
    _SC_FIFO___293 = 144,
    _SC_PIPE___293 = 145,
    _SC_FILE_ATTRIBUTES___293 = 146,
    _SC_FILE_LOCKING___293 = 147,
    _SC_FILE_SYSTEM___293 = 148,
    _SC_MONOTONIC_CLOCK___293 = 149,
    _SC_MULTI_PROCESS___293 = 150,
    _SC_SINGLE_PROCESS___293 = 151,
    _SC_NETWORKING___293 = 152,
    _SC_READER_WRITER_LOCKS___293 = 153,
    _SC_SPIN_LOCKS___293 = 154,
    _SC_REGEXP___293 = 155,
    _SC_REGEX_VERSION___293 = 156,
    _SC_SHELL___293 = 157,
    _SC_SIGNALS___293 = 158,
    _SC_SPAWN___293 = 159,
    _SC_SPORADIC_SERVER___293 = 160,
    _SC_THREAD_SPORADIC_SERVER___293 = 161,
    _SC_SYSTEM_DATABASE___293 = 162,
    _SC_SYSTEM_DATABASE_R___293 = 163,
    _SC_TIMEOUTS___293 = 164,
    _SC_TYPED_MEMORY_OBJECTS___293 = 165,
    _SC_USER_GROUPS___293 = 166,
    _SC_USER_GROUPS_R___293 = 167,
    _SC_2_PBS___293 = 168,
    _SC_2_PBS_ACCOUNTING___293 = 169,
    _SC_2_PBS_LOCATE___293 = 170,
    _SC_2_PBS_MESSAGE___293 = 171,
    _SC_2_PBS_TRACK___293 = 172,
    _SC_SYMLOOP_MAX___293 = 173,
    _SC_STREAMS___293 = 174,
    _SC_2_PBS_CHECKPOINT___293 = 175,
    _SC_V6_ILP32_OFF32___293 = 176,
    _SC_V6_ILP32_OFFBIG___293 = 177,
    _SC_V6_LP64_OFF64___293 = 178,
    _SC_V6_LPBIG_OFFBIG___293 = 179,
    _SC_HOST_NAME_MAX___293 = 180,
    _SC_TRACE___293 = 181,
    _SC_TRACE_EVENT_FILTER___293 = 182,
    _SC_TRACE_INHERIT___293 = 183,
    _SC_TRACE_LOG___293 = 184,
    _SC_LEVEL1_ICACHE_SIZE___293 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___293 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___293 = 187,
    _SC_LEVEL1_DCACHE_SIZE___293 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___293 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___293 = 190,
    _SC_LEVEL2_CACHE_SIZE___293 = 191,
    _SC_LEVEL2_CACHE_ASSOC___293 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___293 = 193,
    _SC_LEVEL3_CACHE_SIZE___293 = 194,
    _SC_LEVEL3_CACHE_ASSOC___293 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___293 = 196,
    _SC_LEVEL4_CACHE_SIZE___293 = 197,
    _SC_LEVEL4_CACHE_ASSOC___293 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___293 = 199,
    _SC_IPV6___293 = 235,
    _SC_RAW_SOCKETS___293 = 236,
    _SC_V7_ILP32_OFF32___293 = 237,
    _SC_V7_ILP32_OFFBIG___293 = 238,
    _SC_V7_LP64_OFF64___293 = 239,
    _SC_V7_LPBIG_OFFBIG___293 = 240,
    _SC_SS_REPL_MAX___293 = 241,
    _SC_TRACE_EVENT_NAME_MAX___293 = 242,
    _SC_TRACE_NAME_MAX___293 = 243,
    _SC_TRACE_SYS_MAX___293 = 244,
    _SC_TRACE_USER_EVENT_MAX___293 = 245,
    _SC_XOPEN_STREAMS___293 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___293 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___293 = 248
} ;
enum __anonenum_875524036___293 {
    _CS_PATH___293 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___293 = 1,
    _CS_GNU_LIBC_VERSION___293 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___293 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___293 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___293 = 5,
    _CS_LFS_CFLAGS___293 = 1000,
    _CS_LFS_LDFLAGS___293 = 1001,
    _CS_LFS_LIBS___293 = 1002,
    _CS_LFS_LINTFLAGS___293 = 1003,
    _CS_LFS64_CFLAGS___293 = 1004,
    _CS_LFS64_LDFLAGS___293 = 1005,
    _CS_LFS64_LIBS___293 = 1006,
    _CS_LFS64_LINTFLAGS___293 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___293 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___293 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___293 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___293 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___293 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___293 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___293 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___293 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___293 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___293 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___293 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___293 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___293 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___293 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___293 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___293 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___293 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___293 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___293 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___293 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___293 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___293 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___293 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___293 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___293 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___293 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___293 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___293 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___293 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___293 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___293 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___293 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___293 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___293 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___293 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___293 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___293 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___293 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___293 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___293 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___293 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___293 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___293 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___293 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___293 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___293 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___293 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___293 = 1147,
    _CS_V6_ENV___293 = 1148,
    _CS_V7_ENV___293 = 1149
} ;
enum __anonenum_513775621___293 {
    DT_UNKNOWN___293 = 0,
    DT_FIFO___293 = 1,
    DT_CHR___293 = 2,
    DT_DIR___293 = 4,
    DT_BLK___293 = 6,
    DT_REG___293 = 8,
    DT_LNK___293 = 10,
    DT_SOCK___293 = 12,
    DT_WHT___293 = 14
} ;
enum __anonenum_77002343___293 {
    SI_ASYNCNL___293 = -60,
    SI_TKILL___293 = -6,
    SI_SIGIO___293 = -5,
    SI_ASYNCIO___293 = -4,
    SI_MESGQ___293 = -3,
    SI_TIMER___293 = -2,
    SI_QUEUE___293 = -1,
    SI_USER___293 = 0,
    SI_KERNEL___293 = 128
} ;
enum __anonenum_131038172___293 {
    ILL_ILLOPC___293 = 1,
    ILL_ILLOPN___293 = 2,
    ILL_ILLADR___293 = 3,
    ILL_ILLTRP___293 = 4,
    ILL_PRVOPC___293 = 5,
    ILL_PRVREG___293 = 6,
    ILL_COPROC___293 = 7,
    ILL_BADSTK___293 = 8
} ;
enum __anonenum_452038093___293 {
    FPE_INTDIV___293 = 1,
    FPE_INTOVF___293 = 2,
    FPE_FLTDIV___293 = 3,
    FPE_FLTOVF___293 = 4,
    FPE_FLTUND___293 = 5,
    FPE_FLTRES___293 = 6,
    FPE_FLTINV___293 = 7,
    FPE_FLTSUB___293 = 8
} ;
enum __anonenum_30976155___293 {
    SEGV_MAPERR___293 = 1,
    SEGV_ACCERR___293 = 2,
    SEGV_BNDERR___293 = 3,
    SEGV_PKUERR___293 = 4
} ;
enum __anonenum_1036286214___293 {
    BUS_ADRALN___293 = 1,
    BUS_ADRERR___293 = 2,
    BUS_OBJERR___293 = 3,
    BUS_MCEERR_AR___293 = 4,
    BUS_MCEERR_AO___293 = 5
} ;
enum __anonenum_493465559___293 {
    TRAP_BRKPT___293 = 1,
    TRAP_TRACE___293 = 2
} ;
enum __anonenum_23175539___293 {
    CLD_EXITED___293 = 1,
    CLD_KILLED___293 = 2,
    CLD_DUMPED___293 = 3,
    CLD_TRAPPED___293 = 4,
    CLD_STOPPED___293 = 5,
    CLD_CONTINUED___293 = 6
} ;
enum __anonenum_111643124___293 {
    POLL_IN___293 = 1,
    POLL_OUT___293 = 2,
    POLL_MSG___293 = 3,
    POLL_ERR___293 = 4,
    POLL_PRI___293 = 5,
    POLL_HUP___293 = 6
} ;
enum __anonenum_852341087___293 {
    SIGEV_SIGNAL___293 = 0,
    SIGEV_NONE___293 = 1,
    SIGEV_THREAD___293 = 2,
    SIGEV_THREAD_ID___293 = 4
} ;
enum __anonenum_451154152___293 {
    REG_R8___293 = 0,
    REG_R9___293 = 1,
    REG_R10___293 = 2,
    REG_R11___293 = 3,
    REG_R12___293 = 4,
    REG_R13___293 = 5,
    REG_R14___293 = 6,
    REG_R15___293 = 7,
    REG_RDI___293 = 8,
    REG_RSI___293 = 9,
    REG_RBP___293 = 10,
    REG_RBX___293 = 11,
    REG_RDX___293 = 12,
    REG_RAX___293 = 13,
    REG_RCX___293 = 14,
    REG_RSP___293 = 15,
    REG_RIP___293 = 16,
    REG_EFL___293 = 17,
    REG_CSGSFS___293 = 18,
    REG_ERR___293 = 19,
    REG_TRAPNO___293 = 20,
    REG_OLDMASK___293 = 21,
    REG_CR2___293 = 22
} ;
enum __anonenum_57186863___293 {
    SS_ONSTACK___293 = 1,
    SS_DISABLE___293 = 2
} ;
enum __anonenum_83571709___293 {
    MSG_OOB___293 = 1,
    MSG_PEEK___293 = 2,
    MSG_DONTROUTE___293 = 4,
    MSG_TRYHARD___293 = 4,
    MSG_CTRUNC___293 = 8,
    MSG_PROXY___293 = 16,
    MSG_TRUNC___293 = 32,
    MSG_DONTWAIT___293 = 64,
    MSG_EOR___293 = 128,
    MSG_WAITALL___293 = 256,
    MSG_FIN___293 = 512,
    MSG_SYN___293 = 1024,
    MSG_CONFIRM___293 = 2048,
    MSG_RST___293 = 4096,
    MSG_ERRQUEUE___293 = 8192,
    MSG_NOSIGNAL___293 = 16384,
    MSG_MORE___293 = 32768,
    MSG_WAITFORONE___293 = 65536,
    MSG_BATCH___293 = 262144,
    MSG_ZEROCOPY___293 = 67108864,
    MSG_FASTOPEN___293 = 536870912,
    MSG_CMSG_CLOEXEC___293 = 1073741824
} ;
enum __anonenum_617082774___293 {
    SCM_RIGHTS___293 = 1,
    SCM_CREDENTIALS___293 = 2
} ;
enum __anonenum_606441560___293 {
    SHUT_RD___293 = 0,
    SHUT_WR___293 = 1,
    SHUT_RDWR___293 = 2
} ;
enum __anonenum_681669233___293 {
    IPPROTO_IP___293 = 0,
    IPPROTO_ICMP___293 = 1,
    IPPROTO_IGMP___293 = 2,
    IPPROTO_IPIP___293 = 4,
    IPPROTO_TCP___293 = 6,
    IPPROTO_EGP___293 = 8,
    IPPROTO_PUP___293 = 12,
    IPPROTO_UDP___293 = 17,
    IPPROTO_IDP___293 = 22,
    IPPROTO_TP___293 = 29,
    IPPROTO_DCCP___293 = 33,
    IPPROTO_IPV6___293 = 41,
    IPPROTO_RSVP___293 = 46,
    IPPROTO_GRE___293 = 47,
    IPPROTO_ESP___293 = 50,
    IPPROTO_AH___293 = 51,
    IPPROTO_MTP___293 = 92,
    IPPROTO_BEETPH___293 = 94,
    IPPROTO_ENCAP___293 = 98,
    IPPROTO_PIM___293 = 103,
    IPPROTO_COMP___293 = 108,
    IPPROTO_SCTP___293 = 132,
    IPPROTO_UDPLITE___293 = 136,
    IPPROTO_MPLS___293 = 137,
    IPPROTO_RAW___293 = 255,
    IPPROTO_MAX___293 = 256
} ;
enum __anonenum_218739988___293 {
    IPPROTO_HOPOPTS___293 = 0,
    IPPROTO_ROUTING___293 = 43,
    IPPROTO_FRAGMENT___293 = 44,
    IPPROTO_ICMPV6___293 = 58,
    IPPROTO_NONE___293 = 59,
    IPPROTO_DSTOPTS___293 = 60,
    IPPROTO_MH___293 = 135
} ;
enum __anonenum_662268580___293 {
    IPPORT_ECHO___293 = 7,
    IPPORT_DISCARD___293 = 9,
    IPPORT_SYSTAT___293 = 11,
    IPPORT_DAYTIME___293 = 13,
    IPPORT_NETSTAT___293 = 15,
    IPPORT_FTP___293 = 21,
    IPPORT_TELNET___293 = 23,
    IPPORT_SMTP___293 = 25,
    IPPORT_TIMESERVER___293 = 37,
    IPPORT_NAMESERVER___293 = 42,
    IPPORT_WHOIS___293 = 43,
    IPPORT_MTP___293 = 57,
    IPPORT_TFTP___293 = 69,
    IPPORT_RJE___293 = 77,
    IPPORT_FINGER___293 = 79,
    IPPORT_TTYLINK___293 = 87,
    IPPORT_SUPDUP___293 = 95,
    IPPORT_EXECSERVER___293 = 512,
    IPPORT_LOGINSERVER___293 = 513,
    IPPORT_CMDSERVER___293 = 514,
    IPPORT_EFSSERVER___293 = 520,
    IPPORT_BIFFUDP___293 = 512,
    IPPORT_WHOSERVER___293 = 513,
    IPPORT_ROUTESERVER___293 = 520,
    IPPORT_RESERVED___293 = 1024,
    IPPORT_USERRESERVED___293 = 5000
} ;
enum __anonenum_788308992___293 {
    TCP_ESTABLISHED___293 = 1,
    TCP_SYN_SENT___293 = 2,
    TCP_SYN_RECV___293 = 3,
    TCP_FIN_WAIT1___293 = 4,
    TCP_FIN_WAIT2___293 = 5,
    TCP_TIME_WAIT___293 = 6,
    TCP_CLOSE___293 = 7,
    TCP_CLOSE_WAIT___293 = 8,
    TCP_LAST_ACK___293 = 9,
    TCP_LISTEN___293 = 10,
    TCP_CLOSING___293 = 11
} ;
enum __anonenum_221125648___293 {
    TCP_NO_QUEUE___293 = 0,
    TCP_RECV_QUEUE___293 = 1,
    TCP_SEND_QUEUE___293 = 2,
    TCP_QUEUES_NR___293 = 3
} ;
enum __anonenum_34415463___293 {
    PTHREAD_CREATE_JOINABLE___293 = 0,
    PTHREAD_CREATE_DETACHED___293 = 1
} ;
enum __anonenum_303612439___293 {
    PTHREAD_MUTEX_TIMED_NP___293 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___293 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___293 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___293 = 3,
    PTHREAD_MUTEX_NORMAL___293 = 0,
    PTHREAD_MUTEX_RECURSIVE___293 = 1,
    PTHREAD_MUTEX_ERRORCHECK___293 = 2,
    PTHREAD_MUTEX_DEFAULT___293 = 0,
    PTHREAD_MUTEX_FAST_NP___293 = 0
} ;
enum __anonenum_931900394___293 {
    PTHREAD_MUTEX_STALLED___293 = 0,
    PTHREAD_MUTEX_STALLED_NP___293 = 0,
    PTHREAD_MUTEX_ROBUST___293 = 1,
    PTHREAD_MUTEX_ROBUST_NP___293 = 1
} ;
enum __anonenum_205214487___293 {
    PTHREAD_PRIO_NONE___293 = 0,
    PTHREAD_PRIO_INHERIT___293 = 1,
    PTHREAD_PRIO_PROTECT___293 = 2
} ;
enum __anonenum_25043950___293 {
    PTHREAD_RWLOCK_PREFER_READER_NP___293 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___293 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___293 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___293 = 0
} ;
enum __anonenum_436439511___293 {
    PTHREAD_INHERIT_SCHED___293 = 0,
    PTHREAD_EXPLICIT_SCHED___293 = 1
} ;
enum __anonenum_998661166___293 {
    PTHREAD_SCOPE_SYSTEM___293 = 0,
    PTHREAD_SCOPE_PROCESS___293 = 1
} ;
enum __anonenum_146137331___293 {
    PTHREAD_PROCESS_PRIVATE___293 = 0,
    PTHREAD_PROCESS_SHARED___293 = 1
} ;
enum __anonenum_53396917___293 {
    PTHREAD_CANCEL_ENABLE___293 = 0,
    PTHREAD_CANCEL_DISABLE___293 = 1
} ;
enum __anonenum_904563783___293 {
    PTHREAD_CANCEL_DEFERRED___293 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___293 = 1
} ;
enum __anonenum_672052974___293 {
    SSL_CT_VALIDATION_PERMISSIVE___293 = 0,
    SSL_CT_VALIDATION_STRICT___293 = 1
} ;
enum __anonenum_34023289___28 {
    REMOTE_UNCONFIGURED___28 = 0,
    REMOTE_CONFIG___28 = 1,
    REMOTE_REMOTES___28 = 2,
    REMOTE_BRANCHES___28 = 3
} ;
enum __anonenum_561748495___19 {
    RECURSE_SUBMODULES_ONLY___19 = -5,
    RECURSE_SUBMODULES_CHECK___19 = -4,
    RECURSE_SUBMODULES_ERROR___19 = -3,
    RECURSE_SUBMODULES_NONE___19 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___19 = -1,
    RECURSE_SUBMODULES_OFF___19 = 0,
    RECURSE_SUBMODULES_DEFAULT___19 = 1,
    RECURSE_SUBMODULES_ON___19 = 2
} ;
enum __anonenum_commit_style_66131555 {
    COMMIT_AS_IS = 1,
    COMMIT_NORMAL = 2,
    COMMIT_PARTIAL = 3
} ;
struct status_deferred_config {
   enum wt_status_format status_format ;
   int show_branch ;
   enum ahead_behind_flags ahead_behind ;
};
enum __anonenum_437032235___294 {
    _PC_LINK_MAX___294 = 0,
    _PC_MAX_CANON___294 = 1,
    _PC_MAX_INPUT___294 = 2,
    _PC_NAME_MAX___294 = 3,
    _PC_PATH_MAX___294 = 4,
    _PC_PIPE_BUF___294 = 5,
    _PC_CHOWN_RESTRICTED___294 = 6,
    _PC_NO_TRUNC___294 = 7,
    _PC_VDISABLE___294 = 8,
    _PC_SYNC_IO___294 = 9,
    _PC_ASYNC_IO___294 = 10,
    _PC_PRIO_IO___294 = 11,
    _PC_SOCK_MAXBUF___294 = 12,
    _PC_FILESIZEBITS___294 = 13,
    _PC_REC_INCR_XFER_SIZE___294 = 14,
    _PC_REC_MAX_XFER_SIZE___294 = 15,
    _PC_REC_MIN_XFER_SIZE___294 = 16,
    _PC_REC_XFER_ALIGN___294 = 17,
    _PC_ALLOC_SIZE_MIN___294 = 18,
    _PC_SYMLINK_MAX___294 = 19,
    _PC_2_SYMLINKS___294 = 20
} ;
enum __anonenum_315186338___294 {
    _SC_ARG_MAX___294 = 0,
    _SC_CHILD_MAX___294 = 1,
    _SC_CLK_TCK___294 = 2,
    _SC_NGROUPS_MAX___294 = 3,
    _SC_OPEN_MAX___294 = 4,
    _SC_STREAM_MAX___294 = 5,
    _SC_TZNAME_MAX___294 = 6,
    _SC_JOB_CONTROL___294 = 7,
    _SC_SAVED_IDS___294 = 8,
    _SC_REALTIME_SIGNALS___294 = 9,
    _SC_PRIORITY_SCHEDULING___294 = 10,
    _SC_TIMERS___294 = 11,
    _SC_ASYNCHRONOUS_IO___294 = 12,
    _SC_PRIORITIZED_IO___294 = 13,
    _SC_SYNCHRONIZED_IO___294 = 14,
    _SC_FSYNC___294 = 15,
    _SC_MAPPED_FILES___294 = 16,
    _SC_MEMLOCK___294 = 17,
    _SC_MEMLOCK_RANGE___294 = 18,
    _SC_MEMORY_PROTECTION___294 = 19,
    _SC_MESSAGE_PASSING___294 = 20,
    _SC_SEMAPHORES___294 = 21,
    _SC_SHARED_MEMORY_OBJECTS___294 = 22,
    _SC_AIO_LISTIO_MAX___294 = 23,
    _SC_AIO_MAX___294 = 24,
    _SC_AIO_PRIO_DELTA_MAX___294 = 25,
    _SC_DELAYTIMER_MAX___294 = 26,
    _SC_MQ_OPEN_MAX___294 = 27,
    _SC_MQ_PRIO_MAX___294 = 28,
    _SC_VERSION___294 = 29,
    _SC_PAGESIZE___294 = 30,
    _SC_RTSIG_MAX___294 = 31,
    _SC_SEM_NSEMS_MAX___294 = 32,
    _SC_SEM_VALUE_MAX___294 = 33,
    _SC_SIGQUEUE_MAX___294 = 34,
    _SC_TIMER_MAX___294 = 35,
    _SC_BC_BASE_MAX___294 = 36,
    _SC_BC_DIM_MAX___294 = 37,
    _SC_BC_SCALE_MAX___294 = 38,
    _SC_BC_STRING_MAX___294 = 39,
    _SC_COLL_WEIGHTS_MAX___294 = 40,
    _SC_EQUIV_CLASS_MAX___294 = 41,
    _SC_EXPR_NEST_MAX___294 = 42,
    _SC_LINE_MAX___294 = 43,
    _SC_RE_DUP_MAX___294 = 44,
    _SC_CHARCLASS_NAME_MAX___294 = 45,
    _SC_2_VERSION___294 = 46,
    _SC_2_C_BIND___294 = 47,
    _SC_2_C_DEV___294 = 48,
    _SC_2_FORT_DEV___294 = 49,
    _SC_2_FORT_RUN___294 = 50,
    _SC_2_SW_DEV___294 = 51,
    _SC_2_LOCALEDEF___294 = 52,
    _SC_PII___294 = 53,
    _SC_PII_XTI___294 = 54,
    _SC_PII_SOCKET___294 = 55,
    _SC_PII_INTERNET___294 = 56,
    _SC_PII_OSI___294 = 57,
    _SC_POLL___294 = 58,
    _SC_SELECT___294 = 59,
    _SC_UIO_MAXIOV___294 = 60,
    _SC_IOV_MAX___294 = 60,
    _SC_PII_INTERNET_STREAM___294 = 61,
    _SC_PII_INTERNET_DGRAM___294 = 62,
    _SC_PII_OSI_COTS___294 = 63,
    _SC_PII_OSI_CLTS___294 = 64,
    _SC_PII_OSI_M___294 = 65,
    _SC_T_IOV_MAX___294 = 66,
    _SC_THREADS___294 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___294 = 68,
    _SC_GETGR_R_SIZE_MAX___294 = 69,
    _SC_GETPW_R_SIZE_MAX___294 = 70,
    _SC_LOGIN_NAME_MAX___294 = 71,
    _SC_TTY_NAME_MAX___294 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___294 = 73,
    _SC_THREAD_KEYS_MAX___294 = 74,
    _SC_THREAD_STACK_MIN___294 = 75,
    _SC_THREAD_THREADS_MAX___294 = 76,
    _SC_THREAD_ATTR_STACKADDR___294 = 77,
    _SC_THREAD_ATTR_STACKSIZE___294 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___294 = 79,
    _SC_THREAD_PRIO_INHERIT___294 = 80,
    _SC_THREAD_PRIO_PROTECT___294 = 81,
    _SC_THREAD_PROCESS_SHARED___294 = 82,
    _SC_NPROCESSORS_CONF___294 = 83,
    _SC_NPROCESSORS_ONLN___294 = 84,
    _SC_PHYS_PAGES___294 = 85,
    _SC_AVPHYS_PAGES___294 = 86,
    _SC_ATEXIT_MAX___294 = 87,
    _SC_PASS_MAX___294 = 88,
    _SC_XOPEN_VERSION___294 = 89,
    _SC_XOPEN_XCU_VERSION___294 = 90,
    _SC_XOPEN_UNIX___294 = 91,
    _SC_XOPEN_CRYPT___294 = 92,
    _SC_XOPEN_ENH_I18N___294 = 93,
    _SC_XOPEN_SHM___294 = 94,
    _SC_2_CHAR_TERM___294 = 95,
    _SC_2_C_VERSION___294 = 96,
    _SC_2_UPE___294 = 97,
    _SC_XOPEN_XPG2___294 = 98,
    _SC_XOPEN_XPG3___294 = 99,
    _SC_XOPEN_XPG4___294 = 100,
    _SC_CHAR_BIT___294 = 101,
    _SC_CHAR_MAX___294 = 102,
    _SC_CHAR_MIN___294 = 103,
    _SC_INT_MAX___294 = 104,
    _SC_INT_MIN___294 = 105,
    _SC_LONG_BIT___294 = 106,
    _SC_WORD_BIT___294 = 107,
    _SC_MB_LEN_MAX___294 = 108,
    _SC_NZERO___294 = 109,
    _SC_SSIZE_MAX___294 = 110,
    _SC_SCHAR_MAX___294 = 111,
    _SC_SCHAR_MIN___294 = 112,
    _SC_SHRT_MAX___294 = 113,
    _SC_SHRT_MIN___294 = 114,
    _SC_UCHAR_MAX___294 = 115,
    _SC_UINT_MAX___294 = 116,
    _SC_ULONG_MAX___294 = 117,
    _SC_USHRT_MAX___294 = 118,
    _SC_NL_ARGMAX___294 = 119,
    _SC_NL_LANGMAX___294 = 120,
    _SC_NL_MSGMAX___294 = 121,
    _SC_NL_NMAX___294 = 122,
    _SC_NL_SETMAX___294 = 123,
    _SC_NL_TEXTMAX___294 = 124,
    _SC_XBS5_ILP32_OFF32___294 = 125,
    _SC_XBS5_ILP32_OFFBIG___294 = 126,
    _SC_XBS5_LP64_OFF64___294 = 127,
    _SC_XBS5_LPBIG_OFFBIG___294 = 128,
    _SC_XOPEN_LEGACY___294 = 129,
    _SC_XOPEN_REALTIME___294 = 130,
    _SC_XOPEN_REALTIME_THREADS___294 = 131,
    _SC_ADVISORY_INFO___294 = 132,
    _SC_BARRIERS___294 = 133,
    _SC_BASE___294 = 134,
    _SC_C_LANG_SUPPORT___294 = 135,
    _SC_C_LANG_SUPPORT_R___294 = 136,
    _SC_CLOCK_SELECTION___294 = 137,
    _SC_CPUTIME___294 = 138,
    _SC_THREAD_CPUTIME___294 = 139,
    _SC_DEVICE_IO___294 = 140,
    _SC_DEVICE_SPECIFIC___294 = 141,
    _SC_DEVICE_SPECIFIC_R___294 = 142,
    _SC_FD_MGMT___294 = 143,
    _SC_FIFO___294 = 144,
    _SC_PIPE___294 = 145,
    _SC_FILE_ATTRIBUTES___294 = 146,
    _SC_FILE_LOCKING___294 = 147,
    _SC_FILE_SYSTEM___294 = 148,
    _SC_MONOTONIC_CLOCK___294 = 149,
    _SC_MULTI_PROCESS___294 = 150,
    _SC_SINGLE_PROCESS___294 = 151,
    _SC_NETWORKING___294 = 152,
    _SC_READER_WRITER_LOCKS___294 = 153,
    _SC_SPIN_LOCKS___294 = 154,
    _SC_REGEXP___294 = 155,
    _SC_REGEX_VERSION___294 = 156,
    _SC_SHELL___294 = 157,
    _SC_SIGNALS___294 = 158,
    _SC_SPAWN___294 = 159,
    _SC_SPORADIC_SERVER___294 = 160,
    _SC_THREAD_SPORADIC_SERVER___294 = 161,
    _SC_SYSTEM_DATABASE___294 = 162,
    _SC_SYSTEM_DATABASE_R___294 = 163,
    _SC_TIMEOUTS___294 = 164,
    _SC_TYPED_MEMORY_OBJECTS___294 = 165,
    _SC_USER_GROUPS___294 = 166,
    _SC_USER_GROUPS_R___294 = 167,
    _SC_2_PBS___294 = 168,
    _SC_2_PBS_ACCOUNTING___294 = 169,
    _SC_2_PBS_LOCATE___294 = 170,
    _SC_2_PBS_MESSAGE___294 = 171,
    _SC_2_PBS_TRACK___294 = 172,
    _SC_SYMLOOP_MAX___294 = 173,
    _SC_STREAMS___294 = 174,
    _SC_2_PBS_CHECKPOINT___294 = 175,
    _SC_V6_ILP32_OFF32___294 = 176,
    _SC_V6_ILP32_OFFBIG___294 = 177,
    _SC_V6_LP64_OFF64___294 = 178,
    _SC_V6_LPBIG_OFFBIG___294 = 179,
    _SC_HOST_NAME_MAX___294 = 180,
    _SC_TRACE___294 = 181,
    _SC_TRACE_EVENT_FILTER___294 = 182,
    _SC_TRACE_INHERIT___294 = 183,
    _SC_TRACE_LOG___294 = 184,
    _SC_LEVEL1_ICACHE_SIZE___294 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___294 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___294 = 187,
    _SC_LEVEL1_DCACHE_SIZE___294 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___294 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___294 = 190,
    _SC_LEVEL2_CACHE_SIZE___294 = 191,
    _SC_LEVEL2_CACHE_ASSOC___294 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___294 = 193,
    _SC_LEVEL3_CACHE_SIZE___294 = 194,
    _SC_LEVEL3_CACHE_ASSOC___294 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___294 = 196,
    _SC_LEVEL4_CACHE_SIZE___294 = 197,
    _SC_LEVEL4_CACHE_ASSOC___294 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___294 = 199,
    _SC_IPV6___294 = 235,
    _SC_RAW_SOCKETS___294 = 236,
    _SC_V7_ILP32_OFF32___294 = 237,
    _SC_V7_ILP32_OFFBIG___294 = 238,
    _SC_V7_LP64_OFF64___294 = 239,
    _SC_V7_LPBIG_OFFBIG___294 = 240,
    _SC_SS_REPL_MAX___294 = 241,
    _SC_TRACE_EVENT_NAME_MAX___294 = 242,
    _SC_TRACE_NAME_MAX___294 = 243,
    _SC_TRACE_SYS_MAX___294 = 244,
    _SC_TRACE_USER_EVENT_MAX___294 = 245,
    _SC_XOPEN_STREAMS___294 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___294 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___294 = 248
} ;
enum __anonenum_875524036___294 {
    _CS_PATH___294 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___294 = 1,
    _CS_GNU_LIBC_VERSION___294 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___294 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___294 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___294 = 5,
    _CS_LFS_CFLAGS___294 = 1000,
    _CS_LFS_LDFLAGS___294 = 1001,
    _CS_LFS_LIBS___294 = 1002,
    _CS_LFS_LINTFLAGS___294 = 1003,
    _CS_LFS64_CFLAGS___294 = 1004,
    _CS_LFS64_LDFLAGS___294 = 1005,
    _CS_LFS64_LIBS___294 = 1006,
    _CS_LFS64_LINTFLAGS___294 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___294 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___294 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___294 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___294 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___294 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___294 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___294 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___294 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___294 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___294 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___294 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___294 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___294 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___294 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___294 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___294 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___294 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___294 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___294 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___294 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___294 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___294 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___294 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___294 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___294 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___294 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___294 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___294 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___294 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___294 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___294 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___294 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___294 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___294 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___294 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___294 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___294 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___294 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___294 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___294 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___294 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___294 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___294 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___294 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___294 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___294 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___294 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___294 = 1147,
    _CS_V6_ENV___294 = 1148,
    _CS_V7_ENV___294 = 1149
} ;
enum __anonenum_513775621___294 {
    DT_UNKNOWN___294 = 0,
    DT_FIFO___294 = 1,
    DT_CHR___294 = 2,
    DT_DIR___294 = 4,
    DT_BLK___294 = 6,
    DT_REG___294 = 8,
    DT_LNK___294 = 10,
    DT_SOCK___294 = 12,
    DT_WHT___294 = 14
} ;
enum __anonenum_77002343___294 {
    SI_ASYNCNL___294 = -60,
    SI_TKILL___294 = -6,
    SI_SIGIO___294 = -5,
    SI_ASYNCIO___294 = -4,
    SI_MESGQ___294 = -3,
    SI_TIMER___294 = -2,
    SI_QUEUE___294 = -1,
    SI_USER___294 = 0,
    SI_KERNEL___294 = 128
} ;
enum __anonenum_131038172___294 {
    ILL_ILLOPC___294 = 1,
    ILL_ILLOPN___294 = 2,
    ILL_ILLADR___294 = 3,
    ILL_ILLTRP___294 = 4,
    ILL_PRVOPC___294 = 5,
    ILL_PRVREG___294 = 6,
    ILL_COPROC___294 = 7,
    ILL_BADSTK___294 = 8
} ;
enum __anonenum_452038093___294 {
    FPE_INTDIV___294 = 1,
    FPE_INTOVF___294 = 2,
    FPE_FLTDIV___294 = 3,
    FPE_FLTOVF___294 = 4,
    FPE_FLTUND___294 = 5,
    FPE_FLTRES___294 = 6,
    FPE_FLTINV___294 = 7,
    FPE_FLTSUB___294 = 8
} ;
enum __anonenum_30976155___294 {
    SEGV_MAPERR___294 = 1,
    SEGV_ACCERR___294 = 2,
    SEGV_BNDERR___294 = 3,
    SEGV_PKUERR___294 = 4
} ;
enum __anonenum_1036286214___294 {
    BUS_ADRALN___294 = 1,
    BUS_ADRERR___294 = 2,
    BUS_OBJERR___294 = 3,
    BUS_MCEERR_AR___294 = 4,
    BUS_MCEERR_AO___294 = 5
} ;
enum __anonenum_493465559___294 {
    TRAP_BRKPT___294 = 1,
    TRAP_TRACE___294 = 2
} ;
enum __anonenum_23175539___294 {
    CLD_EXITED___294 = 1,
    CLD_KILLED___294 = 2,
    CLD_DUMPED___294 = 3,
    CLD_TRAPPED___294 = 4,
    CLD_STOPPED___294 = 5,
    CLD_CONTINUED___294 = 6
} ;
enum __anonenum_111643124___294 {
    POLL_IN___294 = 1,
    POLL_OUT___294 = 2,
    POLL_MSG___294 = 3,
    POLL_ERR___294 = 4,
    POLL_PRI___294 = 5,
    POLL_HUP___294 = 6
} ;
enum __anonenum_852341087___294 {
    SIGEV_SIGNAL___294 = 0,
    SIGEV_NONE___294 = 1,
    SIGEV_THREAD___294 = 2,
    SIGEV_THREAD_ID___294 = 4
} ;
enum __anonenum_451154152___294 {
    REG_R8___294 = 0,
    REG_R9___294 = 1,
    REG_R10___294 = 2,
    REG_R11___294 = 3,
    REG_R12___294 = 4,
    REG_R13___294 = 5,
    REG_R14___294 = 6,
    REG_R15___294 = 7,
    REG_RDI___294 = 8,
    REG_RSI___294 = 9,
    REG_RBP___294 = 10,
    REG_RBX___294 = 11,
    REG_RDX___294 = 12,
    REG_RAX___294 = 13,
    REG_RCX___294 = 14,
    REG_RSP___294 = 15,
    REG_RIP___294 = 16,
    REG_EFL___294 = 17,
    REG_CSGSFS___294 = 18,
    REG_ERR___294 = 19,
    REG_TRAPNO___294 = 20,
    REG_OLDMASK___294 = 21,
    REG_CR2___294 = 22
} ;
enum __anonenum_57186863___294 {
    SS_ONSTACK___294 = 1,
    SS_DISABLE___294 = 2
} ;
enum __anonenum_83571709___294 {
    MSG_OOB___294 = 1,
    MSG_PEEK___294 = 2,
    MSG_DONTROUTE___294 = 4,
    MSG_TRYHARD___294 = 4,
    MSG_CTRUNC___294 = 8,
    MSG_PROXY___294 = 16,
    MSG_TRUNC___294 = 32,
    MSG_DONTWAIT___294 = 64,
    MSG_EOR___294 = 128,
    MSG_WAITALL___294 = 256,
    MSG_FIN___294 = 512,
    MSG_SYN___294 = 1024,
    MSG_CONFIRM___294 = 2048,
    MSG_RST___294 = 4096,
    MSG_ERRQUEUE___294 = 8192,
    MSG_NOSIGNAL___294 = 16384,
    MSG_MORE___294 = 32768,
    MSG_WAITFORONE___294 = 65536,
    MSG_BATCH___294 = 262144,
    MSG_ZEROCOPY___294 = 67108864,
    MSG_FASTOPEN___294 = 536870912,
    MSG_CMSG_CLOEXEC___294 = 1073741824
} ;
enum __anonenum_617082774___294 {
    SCM_RIGHTS___294 = 1,
    SCM_CREDENTIALS___294 = 2
} ;
enum __anonenum_606441560___294 {
    SHUT_RD___294 = 0,
    SHUT_WR___294 = 1,
    SHUT_RDWR___294 = 2
} ;
enum __anonenum_681669233___294 {
    IPPROTO_IP___294 = 0,
    IPPROTO_ICMP___294 = 1,
    IPPROTO_IGMP___294 = 2,
    IPPROTO_IPIP___294 = 4,
    IPPROTO_TCP___294 = 6,
    IPPROTO_EGP___294 = 8,
    IPPROTO_PUP___294 = 12,
    IPPROTO_UDP___294 = 17,
    IPPROTO_IDP___294 = 22,
    IPPROTO_TP___294 = 29,
    IPPROTO_DCCP___294 = 33,
    IPPROTO_IPV6___294 = 41,
    IPPROTO_RSVP___294 = 46,
    IPPROTO_GRE___294 = 47,
    IPPROTO_ESP___294 = 50,
    IPPROTO_AH___294 = 51,
    IPPROTO_MTP___294 = 92,
    IPPROTO_BEETPH___294 = 94,
    IPPROTO_ENCAP___294 = 98,
    IPPROTO_PIM___294 = 103,
    IPPROTO_COMP___294 = 108,
    IPPROTO_SCTP___294 = 132,
    IPPROTO_UDPLITE___294 = 136,
    IPPROTO_MPLS___294 = 137,
    IPPROTO_RAW___294 = 255,
    IPPROTO_MAX___294 = 256
} ;
enum __anonenum_218739988___294 {
    IPPROTO_HOPOPTS___294 = 0,
    IPPROTO_ROUTING___294 = 43,
    IPPROTO_FRAGMENT___294 = 44,
    IPPROTO_ICMPV6___294 = 58,
    IPPROTO_NONE___294 = 59,
    IPPROTO_DSTOPTS___294 = 60,
    IPPROTO_MH___294 = 135
} ;
enum __anonenum_662268580___294 {
    IPPORT_ECHO___294 = 7,
    IPPORT_DISCARD___294 = 9,
    IPPORT_SYSTAT___294 = 11,
    IPPORT_DAYTIME___294 = 13,
    IPPORT_NETSTAT___294 = 15,
    IPPORT_FTP___294 = 21,
    IPPORT_TELNET___294 = 23,
    IPPORT_SMTP___294 = 25,
    IPPORT_TIMESERVER___294 = 37,
    IPPORT_NAMESERVER___294 = 42,
    IPPORT_WHOIS___294 = 43,
    IPPORT_MTP___294 = 57,
    IPPORT_TFTP___294 = 69,
    IPPORT_RJE___294 = 77,
    IPPORT_FINGER___294 = 79,
    IPPORT_TTYLINK___294 = 87,
    IPPORT_SUPDUP___294 = 95,
    IPPORT_EXECSERVER___294 = 512,
    IPPORT_LOGINSERVER___294 = 513,
    IPPORT_CMDSERVER___294 = 514,
    IPPORT_EFSSERVER___294 = 520,
    IPPORT_BIFFUDP___294 = 512,
    IPPORT_WHOSERVER___294 = 513,
    IPPORT_ROUTESERVER___294 = 520,
    IPPORT_RESERVED___294 = 1024,
    IPPORT_USERRESERVED___294 = 5000
} ;
enum __anonenum_788308992___294 {
    TCP_ESTABLISHED___294 = 1,
    TCP_SYN_SENT___294 = 2,
    TCP_SYN_RECV___294 = 3,
    TCP_FIN_WAIT1___294 = 4,
    TCP_FIN_WAIT2___294 = 5,
    TCP_TIME_WAIT___294 = 6,
    TCP_CLOSE___294 = 7,
    TCP_CLOSE_WAIT___294 = 8,
    TCP_LAST_ACK___294 = 9,
    TCP_LISTEN___294 = 10,
    TCP_CLOSING___294 = 11
} ;
enum __anonenum_221125648___294 {
    TCP_NO_QUEUE___294 = 0,
    TCP_RECV_QUEUE___294 = 1,
    TCP_SEND_QUEUE___294 = 2,
    TCP_QUEUES_NR___294 = 3
} ;
enum __anonenum_34415463___294 {
    PTHREAD_CREATE_JOINABLE___294 = 0,
    PTHREAD_CREATE_DETACHED___294 = 1
} ;
enum __anonenum_303612439___294 {
    PTHREAD_MUTEX_TIMED_NP___294 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___294 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___294 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___294 = 3,
    PTHREAD_MUTEX_NORMAL___294 = 0,
    PTHREAD_MUTEX_RECURSIVE___294 = 1,
    PTHREAD_MUTEX_ERRORCHECK___294 = 2,
    PTHREAD_MUTEX_DEFAULT___294 = 0,
    PTHREAD_MUTEX_FAST_NP___294 = 0
} ;
enum __anonenum_931900394___294 {
    PTHREAD_MUTEX_STALLED___294 = 0,
    PTHREAD_MUTEX_STALLED_NP___294 = 0,
    PTHREAD_MUTEX_ROBUST___294 = 1,
    PTHREAD_MUTEX_ROBUST_NP___294 = 1
} ;
enum __anonenum_205214487___294 {
    PTHREAD_PRIO_NONE___294 = 0,
    PTHREAD_PRIO_INHERIT___294 = 1,
    PTHREAD_PRIO_PROTECT___294 = 2
} ;
enum __anonenum_25043950___294 {
    PTHREAD_RWLOCK_PREFER_READER_NP___294 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___294 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___294 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___294 = 0
} ;
enum __anonenum_436439511___294 {
    PTHREAD_INHERIT_SCHED___294 = 0,
    PTHREAD_EXPLICIT_SCHED___294 = 1
} ;
enum __anonenum_998661166___294 {
    PTHREAD_SCOPE_SYSTEM___294 = 0,
    PTHREAD_SCOPE_PROCESS___294 = 1
} ;
enum __anonenum_146137331___294 {
    PTHREAD_PROCESS_PRIVATE___294 = 0,
    PTHREAD_PROCESS_SHARED___294 = 1
} ;
enum __anonenum_53396917___294 {
    PTHREAD_CANCEL_ENABLE___294 = 0,
    PTHREAD_CANCEL_DISABLE___294 = 1
} ;
enum __anonenum_904563783___294 {
    PTHREAD_CANCEL_DEFERRED___294 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___294 = 1
} ;
enum __anonenum_672052974___294 {
    SSL_CT_VALIDATION_PERMISSIVE___294 = 0,
    SSL_CT_VALIDATION_STRICT___294 = 1
} ;
struct strbuf_list {
   struct strbuf *items ;
   int nr ;
   int alloc ;
};
struct urlmatch_current_candidate_value {
   char value_is_null ;
   struct strbuf value ;
};
enum __anonenum_437032235___295 {
    _PC_LINK_MAX___295 = 0,
    _PC_MAX_CANON___295 = 1,
    _PC_MAX_INPUT___295 = 2,
    _PC_NAME_MAX___295 = 3,
    _PC_PATH_MAX___295 = 4,
    _PC_PIPE_BUF___295 = 5,
    _PC_CHOWN_RESTRICTED___295 = 6,
    _PC_NO_TRUNC___295 = 7,
    _PC_VDISABLE___295 = 8,
    _PC_SYNC_IO___295 = 9,
    _PC_ASYNC_IO___295 = 10,
    _PC_PRIO_IO___295 = 11,
    _PC_SOCK_MAXBUF___295 = 12,
    _PC_FILESIZEBITS___295 = 13,
    _PC_REC_INCR_XFER_SIZE___295 = 14,
    _PC_REC_MAX_XFER_SIZE___295 = 15,
    _PC_REC_MIN_XFER_SIZE___295 = 16,
    _PC_REC_XFER_ALIGN___295 = 17,
    _PC_ALLOC_SIZE_MIN___295 = 18,
    _PC_SYMLINK_MAX___295 = 19,
    _PC_2_SYMLINKS___295 = 20
} ;
enum __anonenum_315186338___295 {
    _SC_ARG_MAX___295 = 0,
    _SC_CHILD_MAX___295 = 1,
    _SC_CLK_TCK___295 = 2,
    _SC_NGROUPS_MAX___295 = 3,
    _SC_OPEN_MAX___295 = 4,
    _SC_STREAM_MAX___295 = 5,
    _SC_TZNAME_MAX___295 = 6,
    _SC_JOB_CONTROL___295 = 7,
    _SC_SAVED_IDS___295 = 8,
    _SC_REALTIME_SIGNALS___295 = 9,
    _SC_PRIORITY_SCHEDULING___295 = 10,
    _SC_TIMERS___295 = 11,
    _SC_ASYNCHRONOUS_IO___295 = 12,
    _SC_PRIORITIZED_IO___295 = 13,
    _SC_SYNCHRONIZED_IO___295 = 14,
    _SC_FSYNC___295 = 15,
    _SC_MAPPED_FILES___295 = 16,
    _SC_MEMLOCK___295 = 17,
    _SC_MEMLOCK_RANGE___295 = 18,
    _SC_MEMORY_PROTECTION___295 = 19,
    _SC_MESSAGE_PASSING___295 = 20,
    _SC_SEMAPHORES___295 = 21,
    _SC_SHARED_MEMORY_OBJECTS___295 = 22,
    _SC_AIO_LISTIO_MAX___295 = 23,
    _SC_AIO_MAX___295 = 24,
    _SC_AIO_PRIO_DELTA_MAX___295 = 25,
    _SC_DELAYTIMER_MAX___295 = 26,
    _SC_MQ_OPEN_MAX___295 = 27,
    _SC_MQ_PRIO_MAX___295 = 28,
    _SC_VERSION___295 = 29,
    _SC_PAGESIZE___295 = 30,
    _SC_RTSIG_MAX___295 = 31,
    _SC_SEM_NSEMS_MAX___295 = 32,
    _SC_SEM_VALUE_MAX___295 = 33,
    _SC_SIGQUEUE_MAX___295 = 34,
    _SC_TIMER_MAX___295 = 35,
    _SC_BC_BASE_MAX___295 = 36,
    _SC_BC_DIM_MAX___295 = 37,
    _SC_BC_SCALE_MAX___295 = 38,
    _SC_BC_STRING_MAX___295 = 39,
    _SC_COLL_WEIGHTS_MAX___295 = 40,
    _SC_EQUIV_CLASS_MAX___295 = 41,
    _SC_EXPR_NEST_MAX___295 = 42,
    _SC_LINE_MAX___295 = 43,
    _SC_RE_DUP_MAX___295 = 44,
    _SC_CHARCLASS_NAME_MAX___295 = 45,
    _SC_2_VERSION___295 = 46,
    _SC_2_C_BIND___295 = 47,
    _SC_2_C_DEV___295 = 48,
    _SC_2_FORT_DEV___295 = 49,
    _SC_2_FORT_RUN___295 = 50,
    _SC_2_SW_DEV___295 = 51,
    _SC_2_LOCALEDEF___295 = 52,
    _SC_PII___295 = 53,
    _SC_PII_XTI___295 = 54,
    _SC_PII_SOCKET___295 = 55,
    _SC_PII_INTERNET___295 = 56,
    _SC_PII_OSI___295 = 57,
    _SC_POLL___295 = 58,
    _SC_SELECT___295 = 59,
    _SC_UIO_MAXIOV___295 = 60,
    _SC_IOV_MAX___295 = 60,
    _SC_PII_INTERNET_STREAM___295 = 61,
    _SC_PII_INTERNET_DGRAM___295 = 62,
    _SC_PII_OSI_COTS___295 = 63,
    _SC_PII_OSI_CLTS___295 = 64,
    _SC_PII_OSI_M___295 = 65,
    _SC_T_IOV_MAX___295 = 66,
    _SC_THREADS___295 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___295 = 68,
    _SC_GETGR_R_SIZE_MAX___295 = 69,
    _SC_GETPW_R_SIZE_MAX___295 = 70,
    _SC_LOGIN_NAME_MAX___295 = 71,
    _SC_TTY_NAME_MAX___295 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___295 = 73,
    _SC_THREAD_KEYS_MAX___295 = 74,
    _SC_THREAD_STACK_MIN___295 = 75,
    _SC_THREAD_THREADS_MAX___295 = 76,
    _SC_THREAD_ATTR_STACKADDR___295 = 77,
    _SC_THREAD_ATTR_STACKSIZE___295 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___295 = 79,
    _SC_THREAD_PRIO_INHERIT___295 = 80,
    _SC_THREAD_PRIO_PROTECT___295 = 81,
    _SC_THREAD_PROCESS_SHARED___295 = 82,
    _SC_NPROCESSORS_CONF___295 = 83,
    _SC_NPROCESSORS_ONLN___295 = 84,
    _SC_PHYS_PAGES___295 = 85,
    _SC_AVPHYS_PAGES___295 = 86,
    _SC_ATEXIT_MAX___295 = 87,
    _SC_PASS_MAX___295 = 88,
    _SC_XOPEN_VERSION___295 = 89,
    _SC_XOPEN_XCU_VERSION___295 = 90,
    _SC_XOPEN_UNIX___295 = 91,
    _SC_XOPEN_CRYPT___295 = 92,
    _SC_XOPEN_ENH_I18N___295 = 93,
    _SC_XOPEN_SHM___295 = 94,
    _SC_2_CHAR_TERM___295 = 95,
    _SC_2_C_VERSION___295 = 96,
    _SC_2_UPE___295 = 97,
    _SC_XOPEN_XPG2___295 = 98,
    _SC_XOPEN_XPG3___295 = 99,
    _SC_XOPEN_XPG4___295 = 100,
    _SC_CHAR_BIT___295 = 101,
    _SC_CHAR_MAX___295 = 102,
    _SC_CHAR_MIN___295 = 103,
    _SC_INT_MAX___295 = 104,
    _SC_INT_MIN___295 = 105,
    _SC_LONG_BIT___295 = 106,
    _SC_WORD_BIT___295 = 107,
    _SC_MB_LEN_MAX___295 = 108,
    _SC_NZERO___295 = 109,
    _SC_SSIZE_MAX___295 = 110,
    _SC_SCHAR_MAX___295 = 111,
    _SC_SCHAR_MIN___295 = 112,
    _SC_SHRT_MAX___295 = 113,
    _SC_SHRT_MIN___295 = 114,
    _SC_UCHAR_MAX___295 = 115,
    _SC_UINT_MAX___295 = 116,
    _SC_ULONG_MAX___295 = 117,
    _SC_USHRT_MAX___295 = 118,
    _SC_NL_ARGMAX___295 = 119,
    _SC_NL_LANGMAX___295 = 120,
    _SC_NL_MSGMAX___295 = 121,
    _SC_NL_NMAX___295 = 122,
    _SC_NL_SETMAX___295 = 123,
    _SC_NL_TEXTMAX___295 = 124,
    _SC_XBS5_ILP32_OFF32___295 = 125,
    _SC_XBS5_ILP32_OFFBIG___295 = 126,
    _SC_XBS5_LP64_OFF64___295 = 127,
    _SC_XBS5_LPBIG_OFFBIG___295 = 128,
    _SC_XOPEN_LEGACY___295 = 129,
    _SC_XOPEN_REALTIME___295 = 130,
    _SC_XOPEN_REALTIME_THREADS___295 = 131,
    _SC_ADVISORY_INFO___295 = 132,
    _SC_BARRIERS___295 = 133,
    _SC_BASE___295 = 134,
    _SC_C_LANG_SUPPORT___295 = 135,
    _SC_C_LANG_SUPPORT_R___295 = 136,
    _SC_CLOCK_SELECTION___295 = 137,
    _SC_CPUTIME___295 = 138,
    _SC_THREAD_CPUTIME___295 = 139,
    _SC_DEVICE_IO___295 = 140,
    _SC_DEVICE_SPECIFIC___295 = 141,
    _SC_DEVICE_SPECIFIC_R___295 = 142,
    _SC_FD_MGMT___295 = 143,
    _SC_FIFO___295 = 144,
    _SC_PIPE___295 = 145,
    _SC_FILE_ATTRIBUTES___295 = 146,
    _SC_FILE_LOCKING___295 = 147,
    _SC_FILE_SYSTEM___295 = 148,
    _SC_MONOTONIC_CLOCK___295 = 149,
    _SC_MULTI_PROCESS___295 = 150,
    _SC_SINGLE_PROCESS___295 = 151,
    _SC_NETWORKING___295 = 152,
    _SC_READER_WRITER_LOCKS___295 = 153,
    _SC_SPIN_LOCKS___295 = 154,
    _SC_REGEXP___295 = 155,
    _SC_REGEX_VERSION___295 = 156,
    _SC_SHELL___295 = 157,
    _SC_SIGNALS___295 = 158,
    _SC_SPAWN___295 = 159,
    _SC_SPORADIC_SERVER___295 = 160,
    _SC_THREAD_SPORADIC_SERVER___295 = 161,
    _SC_SYSTEM_DATABASE___295 = 162,
    _SC_SYSTEM_DATABASE_R___295 = 163,
    _SC_TIMEOUTS___295 = 164,
    _SC_TYPED_MEMORY_OBJECTS___295 = 165,
    _SC_USER_GROUPS___295 = 166,
    _SC_USER_GROUPS_R___295 = 167,
    _SC_2_PBS___295 = 168,
    _SC_2_PBS_ACCOUNTING___295 = 169,
    _SC_2_PBS_LOCATE___295 = 170,
    _SC_2_PBS_MESSAGE___295 = 171,
    _SC_2_PBS_TRACK___295 = 172,
    _SC_SYMLOOP_MAX___295 = 173,
    _SC_STREAMS___295 = 174,
    _SC_2_PBS_CHECKPOINT___295 = 175,
    _SC_V6_ILP32_OFF32___295 = 176,
    _SC_V6_ILP32_OFFBIG___295 = 177,
    _SC_V6_LP64_OFF64___295 = 178,
    _SC_V6_LPBIG_OFFBIG___295 = 179,
    _SC_HOST_NAME_MAX___295 = 180,
    _SC_TRACE___295 = 181,
    _SC_TRACE_EVENT_FILTER___295 = 182,
    _SC_TRACE_INHERIT___295 = 183,
    _SC_TRACE_LOG___295 = 184,
    _SC_LEVEL1_ICACHE_SIZE___295 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___295 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___295 = 187,
    _SC_LEVEL1_DCACHE_SIZE___295 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___295 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___295 = 190,
    _SC_LEVEL2_CACHE_SIZE___295 = 191,
    _SC_LEVEL2_CACHE_ASSOC___295 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___295 = 193,
    _SC_LEVEL3_CACHE_SIZE___295 = 194,
    _SC_LEVEL3_CACHE_ASSOC___295 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___295 = 196,
    _SC_LEVEL4_CACHE_SIZE___295 = 197,
    _SC_LEVEL4_CACHE_ASSOC___295 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___295 = 199,
    _SC_IPV6___295 = 235,
    _SC_RAW_SOCKETS___295 = 236,
    _SC_V7_ILP32_OFF32___295 = 237,
    _SC_V7_ILP32_OFFBIG___295 = 238,
    _SC_V7_LP64_OFF64___295 = 239,
    _SC_V7_LPBIG_OFFBIG___295 = 240,
    _SC_SS_REPL_MAX___295 = 241,
    _SC_TRACE_EVENT_NAME_MAX___295 = 242,
    _SC_TRACE_NAME_MAX___295 = 243,
    _SC_TRACE_SYS_MAX___295 = 244,
    _SC_TRACE_USER_EVENT_MAX___295 = 245,
    _SC_XOPEN_STREAMS___295 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___295 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___295 = 248
} ;
enum __anonenum_875524036___295 {
    _CS_PATH___295 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___295 = 1,
    _CS_GNU_LIBC_VERSION___295 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___295 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___295 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___295 = 5,
    _CS_LFS_CFLAGS___295 = 1000,
    _CS_LFS_LDFLAGS___295 = 1001,
    _CS_LFS_LIBS___295 = 1002,
    _CS_LFS_LINTFLAGS___295 = 1003,
    _CS_LFS64_CFLAGS___295 = 1004,
    _CS_LFS64_LDFLAGS___295 = 1005,
    _CS_LFS64_LIBS___295 = 1006,
    _CS_LFS64_LINTFLAGS___295 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___295 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___295 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___295 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___295 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___295 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___295 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___295 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___295 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___295 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___295 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___295 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___295 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___295 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___295 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___295 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___295 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___295 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___295 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___295 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___295 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___295 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___295 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___295 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___295 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___295 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___295 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___295 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___295 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___295 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___295 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___295 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___295 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___295 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___295 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___295 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___295 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___295 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___295 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___295 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___295 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___295 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___295 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___295 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___295 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___295 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___295 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___295 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___295 = 1147,
    _CS_V6_ENV___295 = 1148,
    _CS_V7_ENV___295 = 1149
} ;
enum __anonenum_513775621___295 {
    DT_UNKNOWN___295 = 0,
    DT_FIFO___295 = 1,
    DT_CHR___295 = 2,
    DT_DIR___295 = 4,
    DT_BLK___295 = 6,
    DT_REG___295 = 8,
    DT_LNK___295 = 10,
    DT_SOCK___295 = 12,
    DT_WHT___295 = 14
} ;
enum __anonenum_77002343___295 {
    SI_ASYNCNL___295 = -60,
    SI_TKILL___295 = -6,
    SI_SIGIO___295 = -5,
    SI_ASYNCIO___295 = -4,
    SI_MESGQ___295 = -3,
    SI_TIMER___295 = -2,
    SI_QUEUE___295 = -1,
    SI_USER___295 = 0,
    SI_KERNEL___295 = 128
} ;
enum __anonenum_131038172___295 {
    ILL_ILLOPC___295 = 1,
    ILL_ILLOPN___295 = 2,
    ILL_ILLADR___295 = 3,
    ILL_ILLTRP___295 = 4,
    ILL_PRVOPC___295 = 5,
    ILL_PRVREG___295 = 6,
    ILL_COPROC___295 = 7,
    ILL_BADSTK___295 = 8
} ;
enum __anonenum_452038093___295 {
    FPE_INTDIV___295 = 1,
    FPE_INTOVF___295 = 2,
    FPE_FLTDIV___295 = 3,
    FPE_FLTOVF___295 = 4,
    FPE_FLTUND___295 = 5,
    FPE_FLTRES___295 = 6,
    FPE_FLTINV___295 = 7,
    FPE_FLTSUB___295 = 8
} ;
enum __anonenum_30976155___295 {
    SEGV_MAPERR___295 = 1,
    SEGV_ACCERR___295 = 2,
    SEGV_BNDERR___295 = 3,
    SEGV_PKUERR___295 = 4
} ;
enum __anonenum_1036286214___295 {
    BUS_ADRALN___295 = 1,
    BUS_ADRERR___295 = 2,
    BUS_OBJERR___295 = 3,
    BUS_MCEERR_AR___295 = 4,
    BUS_MCEERR_AO___295 = 5
} ;
enum __anonenum_493465559___295 {
    TRAP_BRKPT___295 = 1,
    TRAP_TRACE___295 = 2
} ;
enum __anonenum_23175539___295 {
    CLD_EXITED___295 = 1,
    CLD_KILLED___295 = 2,
    CLD_DUMPED___295 = 3,
    CLD_TRAPPED___295 = 4,
    CLD_STOPPED___295 = 5,
    CLD_CONTINUED___295 = 6
} ;
enum __anonenum_111643124___295 {
    POLL_IN___295 = 1,
    POLL_OUT___295 = 2,
    POLL_MSG___295 = 3,
    POLL_ERR___295 = 4,
    POLL_PRI___295 = 5,
    POLL_HUP___295 = 6
} ;
enum __anonenum_852341087___295 {
    SIGEV_SIGNAL___295 = 0,
    SIGEV_NONE___295 = 1,
    SIGEV_THREAD___295 = 2,
    SIGEV_THREAD_ID___295 = 4
} ;
enum __anonenum_451154152___295 {
    REG_R8___295 = 0,
    REG_R9___295 = 1,
    REG_R10___295 = 2,
    REG_R11___295 = 3,
    REG_R12___295 = 4,
    REG_R13___295 = 5,
    REG_R14___295 = 6,
    REG_R15___295 = 7,
    REG_RDI___295 = 8,
    REG_RSI___295 = 9,
    REG_RBP___295 = 10,
    REG_RBX___295 = 11,
    REG_RDX___295 = 12,
    REG_RAX___295 = 13,
    REG_RCX___295 = 14,
    REG_RSP___295 = 15,
    REG_RIP___295 = 16,
    REG_EFL___295 = 17,
    REG_CSGSFS___295 = 18,
    REG_ERR___295 = 19,
    REG_TRAPNO___295 = 20,
    REG_OLDMASK___295 = 21,
    REG_CR2___295 = 22
} ;
enum __anonenum_57186863___295 {
    SS_ONSTACK___295 = 1,
    SS_DISABLE___295 = 2
} ;
enum __anonenum_83571709___295 {
    MSG_OOB___295 = 1,
    MSG_PEEK___295 = 2,
    MSG_DONTROUTE___295 = 4,
    MSG_TRYHARD___295 = 4,
    MSG_CTRUNC___295 = 8,
    MSG_PROXY___295 = 16,
    MSG_TRUNC___295 = 32,
    MSG_DONTWAIT___295 = 64,
    MSG_EOR___295 = 128,
    MSG_WAITALL___295 = 256,
    MSG_FIN___295 = 512,
    MSG_SYN___295 = 1024,
    MSG_CONFIRM___295 = 2048,
    MSG_RST___295 = 4096,
    MSG_ERRQUEUE___295 = 8192,
    MSG_NOSIGNAL___295 = 16384,
    MSG_MORE___295 = 32768,
    MSG_WAITFORONE___295 = 65536,
    MSG_BATCH___295 = 262144,
    MSG_ZEROCOPY___295 = 67108864,
    MSG_FASTOPEN___295 = 536870912,
    MSG_CMSG_CLOEXEC___295 = 1073741824
} ;
enum __anonenum_617082774___295 {
    SCM_RIGHTS___295 = 1,
    SCM_CREDENTIALS___295 = 2
} ;
enum __anonenum_606441560___295 {
    SHUT_RD___295 = 0,
    SHUT_WR___295 = 1,
    SHUT_RDWR___295 = 2
} ;
enum __anonenum_681669233___295 {
    IPPROTO_IP___295 = 0,
    IPPROTO_ICMP___295 = 1,
    IPPROTO_IGMP___295 = 2,
    IPPROTO_IPIP___295 = 4,
    IPPROTO_TCP___295 = 6,
    IPPROTO_EGP___295 = 8,
    IPPROTO_PUP___295 = 12,
    IPPROTO_UDP___295 = 17,
    IPPROTO_IDP___295 = 22,
    IPPROTO_TP___295 = 29,
    IPPROTO_DCCP___295 = 33,
    IPPROTO_IPV6___295 = 41,
    IPPROTO_RSVP___295 = 46,
    IPPROTO_GRE___295 = 47,
    IPPROTO_ESP___295 = 50,
    IPPROTO_AH___295 = 51,
    IPPROTO_MTP___295 = 92,
    IPPROTO_BEETPH___295 = 94,
    IPPROTO_ENCAP___295 = 98,
    IPPROTO_PIM___295 = 103,
    IPPROTO_COMP___295 = 108,
    IPPROTO_SCTP___295 = 132,
    IPPROTO_UDPLITE___295 = 136,
    IPPROTO_MPLS___295 = 137,
    IPPROTO_RAW___295 = 255,
    IPPROTO_MAX___295 = 256
} ;
enum __anonenum_218739988___295 {
    IPPROTO_HOPOPTS___295 = 0,
    IPPROTO_ROUTING___295 = 43,
    IPPROTO_FRAGMENT___295 = 44,
    IPPROTO_ICMPV6___295 = 58,
    IPPROTO_NONE___295 = 59,
    IPPROTO_DSTOPTS___295 = 60,
    IPPROTO_MH___295 = 135
} ;
enum __anonenum_662268580___295 {
    IPPORT_ECHO___295 = 7,
    IPPORT_DISCARD___295 = 9,
    IPPORT_SYSTAT___295 = 11,
    IPPORT_DAYTIME___295 = 13,
    IPPORT_NETSTAT___295 = 15,
    IPPORT_FTP___295 = 21,
    IPPORT_TELNET___295 = 23,
    IPPORT_SMTP___295 = 25,
    IPPORT_TIMESERVER___295 = 37,
    IPPORT_NAMESERVER___295 = 42,
    IPPORT_WHOIS___295 = 43,
    IPPORT_MTP___295 = 57,
    IPPORT_TFTP___295 = 69,
    IPPORT_RJE___295 = 77,
    IPPORT_FINGER___295 = 79,
    IPPORT_TTYLINK___295 = 87,
    IPPORT_SUPDUP___295 = 95,
    IPPORT_EXECSERVER___295 = 512,
    IPPORT_LOGINSERVER___295 = 513,
    IPPORT_CMDSERVER___295 = 514,
    IPPORT_EFSSERVER___295 = 520,
    IPPORT_BIFFUDP___295 = 512,
    IPPORT_WHOSERVER___295 = 513,
    IPPORT_ROUTESERVER___295 = 520,
    IPPORT_RESERVED___295 = 1024,
    IPPORT_USERRESERVED___295 = 5000
} ;
enum __anonenum_788308992___295 {
    TCP_ESTABLISHED___295 = 1,
    TCP_SYN_SENT___295 = 2,
    TCP_SYN_RECV___295 = 3,
    TCP_FIN_WAIT1___295 = 4,
    TCP_FIN_WAIT2___295 = 5,
    TCP_TIME_WAIT___295 = 6,
    TCP_CLOSE___295 = 7,
    TCP_CLOSE_WAIT___295 = 8,
    TCP_LAST_ACK___295 = 9,
    TCP_LISTEN___295 = 10,
    TCP_CLOSING___295 = 11
} ;
enum __anonenum_221125648___295 {
    TCP_NO_QUEUE___295 = 0,
    TCP_RECV_QUEUE___295 = 1,
    TCP_SEND_QUEUE___295 = 2,
    TCP_QUEUES_NR___295 = 3
} ;
enum __anonenum_34415463___295 {
    PTHREAD_CREATE_JOINABLE___295 = 0,
    PTHREAD_CREATE_DETACHED___295 = 1
} ;
enum __anonenum_303612439___295 {
    PTHREAD_MUTEX_TIMED_NP___295 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___295 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___295 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___295 = 3,
    PTHREAD_MUTEX_NORMAL___295 = 0,
    PTHREAD_MUTEX_RECURSIVE___295 = 1,
    PTHREAD_MUTEX_ERRORCHECK___295 = 2,
    PTHREAD_MUTEX_DEFAULT___295 = 0,
    PTHREAD_MUTEX_FAST_NP___295 = 0
} ;
enum __anonenum_931900394___295 {
    PTHREAD_MUTEX_STALLED___295 = 0,
    PTHREAD_MUTEX_STALLED_NP___295 = 0,
    PTHREAD_MUTEX_ROBUST___295 = 1,
    PTHREAD_MUTEX_ROBUST_NP___295 = 1
} ;
enum __anonenum_205214487___295 {
    PTHREAD_PRIO_NONE___295 = 0,
    PTHREAD_PRIO_INHERIT___295 = 1,
    PTHREAD_PRIO_PROTECT___295 = 2
} ;
enum __anonenum_25043950___295 {
    PTHREAD_RWLOCK_PREFER_READER_NP___295 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___295 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___295 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___295 = 0
} ;
enum __anonenum_436439511___295 {
    PTHREAD_INHERIT_SCHED___295 = 0,
    PTHREAD_EXPLICIT_SCHED___295 = 1
} ;
enum __anonenum_998661166___295 {
    PTHREAD_SCOPE_SYSTEM___295 = 0,
    PTHREAD_SCOPE_PROCESS___295 = 1
} ;
enum __anonenum_146137331___295 {
    PTHREAD_PROCESS_PRIVATE___295 = 0,
    PTHREAD_PROCESS_SHARED___295 = 1
} ;
enum __anonenum_53396917___295 {
    PTHREAD_CANCEL_ENABLE___295 = 0,
    PTHREAD_CANCEL_DISABLE___295 = 1
} ;
enum __anonenum_904563783___295 {
    PTHREAD_CANCEL_DEFERRED___295 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___295 = 1
} ;
enum __anonenum_672052974___295 {
    SSL_CT_VALIDATION_PERMISSIVE___295 = 0,
    SSL_CT_VALIDATION_STRICT___295 = 1
} ;
enum __anonenum_437032235___296 {
    _PC_LINK_MAX___296 = 0,
    _PC_MAX_CANON___296 = 1,
    _PC_MAX_INPUT___296 = 2,
    _PC_NAME_MAX___296 = 3,
    _PC_PATH_MAX___296 = 4,
    _PC_PIPE_BUF___296 = 5,
    _PC_CHOWN_RESTRICTED___296 = 6,
    _PC_NO_TRUNC___296 = 7,
    _PC_VDISABLE___296 = 8,
    _PC_SYNC_IO___296 = 9,
    _PC_ASYNC_IO___296 = 10,
    _PC_PRIO_IO___296 = 11,
    _PC_SOCK_MAXBUF___296 = 12,
    _PC_FILESIZEBITS___296 = 13,
    _PC_REC_INCR_XFER_SIZE___296 = 14,
    _PC_REC_MAX_XFER_SIZE___296 = 15,
    _PC_REC_MIN_XFER_SIZE___296 = 16,
    _PC_REC_XFER_ALIGN___296 = 17,
    _PC_ALLOC_SIZE_MIN___296 = 18,
    _PC_SYMLINK_MAX___296 = 19,
    _PC_2_SYMLINKS___296 = 20
} ;
enum __anonenum_315186338___296 {
    _SC_ARG_MAX___296 = 0,
    _SC_CHILD_MAX___296 = 1,
    _SC_CLK_TCK___296 = 2,
    _SC_NGROUPS_MAX___296 = 3,
    _SC_OPEN_MAX___296 = 4,
    _SC_STREAM_MAX___296 = 5,
    _SC_TZNAME_MAX___296 = 6,
    _SC_JOB_CONTROL___296 = 7,
    _SC_SAVED_IDS___296 = 8,
    _SC_REALTIME_SIGNALS___296 = 9,
    _SC_PRIORITY_SCHEDULING___296 = 10,
    _SC_TIMERS___296 = 11,
    _SC_ASYNCHRONOUS_IO___296 = 12,
    _SC_PRIORITIZED_IO___296 = 13,
    _SC_SYNCHRONIZED_IO___296 = 14,
    _SC_FSYNC___296 = 15,
    _SC_MAPPED_FILES___296 = 16,
    _SC_MEMLOCK___296 = 17,
    _SC_MEMLOCK_RANGE___296 = 18,
    _SC_MEMORY_PROTECTION___296 = 19,
    _SC_MESSAGE_PASSING___296 = 20,
    _SC_SEMAPHORES___296 = 21,
    _SC_SHARED_MEMORY_OBJECTS___296 = 22,
    _SC_AIO_LISTIO_MAX___296 = 23,
    _SC_AIO_MAX___296 = 24,
    _SC_AIO_PRIO_DELTA_MAX___296 = 25,
    _SC_DELAYTIMER_MAX___296 = 26,
    _SC_MQ_OPEN_MAX___296 = 27,
    _SC_MQ_PRIO_MAX___296 = 28,
    _SC_VERSION___296 = 29,
    _SC_PAGESIZE___296 = 30,
    _SC_RTSIG_MAX___296 = 31,
    _SC_SEM_NSEMS_MAX___296 = 32,
    _SC_SEM_VALUE_MAX___296 = 33,
    _SC_SIGQUEUE_MAX___296 = 34,
    _SC_TIMER_MAX___296 = 35,
    _SC_BC_BASE_MAX___296 = 36,
    _SC_BC_DIM_MAX___296 = 37,
    _SC_BC_SCALE_MAX___296 = 38,
    _SC_BC_STRING_MAX___296 = 39,
    _SC_COLL_WEIGHTS_MAX___296 = 40,
    _SC_EQUIV_CLASS_MAX___296 = 41,
    _SC_EXPR_NEST_MAX___296 = 42,
    _SC_LINE_MAX___296 = 43,
    _SC_RE_DUP_MAX___296 = 44,
    _SC_CHARCLASS_NAME_MAX___296 = 45,
    _SC_2_VERSION___296 = 46,
    _SC_2_C_BIND___296 = 47,
    _SC_2_C_DEV___296 = 48,
    _SC_2_FORT_DEV___296 = 49,
    _SC_2_FORT_RUN___296 = 50,
    _SC_2_SW_DEV___296 = 51,
    _SC_2_LOCALEDEF___296 = 52,
    _SC_PII___296 = 53,
    _SC_PII_XTI___296 = 54,
    _SC_PII_SOCKET___296 = 55,
    _SC_PII_INTERNET___296 = 56,
    _SC_PII_OSI___296 = 57,
    _SC_POLL___296 = 58,
    _SC_SELECT___296 = 59,
    _SC_UIO_MAXIOV___296 = 60,
    _SC_IOV_MAX___296 = 60,
    _SC_PII_INTERNET_STREAM___296 = 61,
    _SC_PII_INTERNET_DGRAM___296 = 62,
    _SC_PII_OSI_COTS___296 = 63,
    _SC_PII_OSI_CLTS___296 = 64,
    _SC_PII_OSI_M___296 = 65,
    _SC_T_IOV_MAX___296 = 66,
    _SC_THREADS___296 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___296 = 68,
    _SC_GETGR_R_SIZE_MAX___296 = 69,
    _SC_GETPW_R_SIZE_MAX___296 = 70,
    _SC_LOGIN_NAME_MAX___296 = 71,
    _SC_TTY_NAME_MAX___296 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___296 = 73,
    _SC_THREAD_KEYS_MAX___296 = 74,
    _SC_THREAD_STACK_MIN___296 = 75,
    _SC_THREAD_THREADS_MAX___296 = 76,
    _SC_THREAD_ATTR_STACKADDR___296 = 77,
    _SC_THREAD_ATTR_STACKSIZE___296 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___296 = 79,
    _SC_THREAD_PRIO_INHERIT___296 = 80,
    _SC_THREAD_PRIO_PROTECT___296 = 81,
    _SC_THREAD_PROCESS_SHARED___296 = 82,
    _SC_NPROCESSORS_CONF___296 = 83,
    _SC_NPROCESSORS_ONLN___296 = 84,
    _SC_PHYS_PAGES___296 = 85,
    _SC_AVPHYS_PAGES___296 = 86,
    _SC_ATEXIT_MAX___296 = 87,
    _SC_PASS_MAX___296 = 88,
    _SC_XOPEN_VERSION___296 = 89,
    _SC_XOPEN_XCU_VERSION___296 = 90,
    _SC_XOPEN_UNIX___296 = 91,
    _SC_XOPEN_CRYPT___296 = 92,
    _SC_XOPEN_ENH_I18N___296 = 93,
    _SC_XOPEN_SHM___296 = 94,
    _SC_2_CHAR_TERM___296 = 95,
    _SC_2_C_VERSION___296 = 96,
    _SC_2_UPE___296 = 97,
    _SC_XOPEN_XPG2___296 = 98,
    _SC_XOPEN_XPG3___296 = 99,
    _SC_XOPEN_XPG4___296 = 100,
    _SC_CHAR_BIT___296 = 101,
    _SC_CHAR_MAX___296 = 102,
    _SC_CHAR_MIN___296 = 103,
    _SC_INT_MAX___296 = 104,
    _SC_INT_MIN___296 = 105,
    _SC_LONG_BIT___296 = 106,
    _SC_WORD_BIT___296 = 107,
    _SC_MB_LEN_MAX___296 = 108,
    _SC_NZERO___296 = 109,
    _SC_SSIZE_MAX___296 = 110,
    _SC_SCHAR_MAX___296 = 111,
    _SC_SCHAR_MIN___296 = 112,
    _SC_SHRT_MAX___296 = 113,
    _SC_SHRT_MIN___296 = 114,
    _SC_UCHAR_MAX___296 = 115,
    _SC_UINT_MAX___296 = 116,
    _SC_ULONG_MAX___296 = 117,
    _SC_USHRT_MAX___296 = 118,
    _SC_NL_ARGMAX___296 = 119,
    _SC_NL_LANGMAX___296 = 120,
    _SC_NL_MSGMAX___296 = 121,
    _SC_NL_NMAX___296 = 122,
    _SC_NL_SETMAX___296 = 123,
    _SC_NL_TEXTMAX___296 = 124,
    _SC_XBS5_ILP32_OFF32___296 = 125,
    _SC_XBS5_ILP32_OFFBIG___296 = 126,
    _SC_XBS5_LP64_OFF64___296 = 127,
    _SC_XBS5_LPBIG_OFFBIG___296 = 128,
    _SC_XOPEN_LEGACY___296 = 129,
    _SC_XOPEN_REALTIME___296 = 130,
    _SC_XOPEN_REALTIME_THREADS___296 = 131,
    _SC_ADVISORY_INFO___296 = 132,
    _SC_BARRIERS___296 = 133,
    _SC_BASE___296 = 134,
    _SC_C_LANG_SUPPORT___296 = 135,
    _SC_C_LANG_SUPPORT_R___296 = 136,
    _SC_CLOCK_SELECTION___296 = 137,
    _SC_CPUTIME___296 = 138,
    _SC_THREAD_CPUTIME___296 = 139,
    _SC_DEVICE_IO___296 = 140,
    _SC_DEVICE_SPECIFIC___296 = 141,
    _SC_DEVICE_SPECIFIC_R___296 = 142,
    _SC_FD_MGMT___296 = 143,
    _SC_FIFO___296 = 144,
    _SC_PIPE___296 = 145,
    _SC_FILE_ATTRIBUTES___296 = 146,
    _SC_FILE_LOCKING___296 = 147,
    _SC_FILE_SYSTEM___296 = 148,
    _SC_MONOTONIC_CLOCK___296 = 149,
    _SC_MULTI_PROCESS___296 = 150,
    _SC_SINGLE_PROCESS___296 = 151,
    _SC_NETWORKING___296 = 152,
    _SC_READER_WRITER_LOCKS___296 = 153,
    _SC_SPIN_LOCKS___296 = 154,
    _SC_REGEXP___296 = 155,
    _SC_REGEX_VERSION___296 = 156,
    _SC_SHELL___296 = 157,
    _SC_SIGNALS___296 = 158,
    _SC_SPAWN___296 = 159,
    _SC_SPORADIC_SERVER___296 = 160,
    _SC_THREAD_SPORADIC_SERVER___296 = 161,
    _SC_SYSTEM_DATABASE___296 = 162,
    _SC_SYSTEM_DATABASE_R___296 = 163,
    _SC_TIMEOUTS___296 = 164,
    _SC_TYPED_MEMORY_OBJECTS___296 = 165,
    _SC_USER_GROUPS___296 = 166,
    _SC_USER_GROUPS_R___296 = 167,
    _SC_2_PBS___296 = 168,
    _SC_2_PBS_ACCOUNTING___296 = 169,
    _SC_2_PBS_LOCATE___296 = 170,
    _SC_2_PBS_MESSAGE___296 = 171,
    _SC_2_PBS_TRACK___296 = 172,
    _SC_SYMLOOP_MAX___296 = 173,
    _SC_STREAMS___296 = 174,
    _SC_2_PBS_CHECKPOINT___296 = 175,
    _SC_V6_ILP32_OFF32___296 = 176,
    _SC_V6_ILP32_OFFBIG___296 = 177,
    _SC_V6_LP64_OFF64___296 = 178,
    _SC_V6_LPBIG_OFFBIG___296 = 179,
    _SC_HOST_NAME_MAX___296 = 180,
    _SC_TRACE___296 = 181,
    _SC_TRACE_EVENT_FILTER___296 = 182,
    _SC_TRACE_INHERIT___296 = 183,
    _SC_TRACE_LOG___296 = 184,
    _SC_LEVEL1_ICACHE_SIZE___296 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___296 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___296 = 187,
    _SC_LEVEL1_DCACHE_SIZE___296 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___296 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___296 = 190,
    _SC_LEVEL2_CACHE_SIZE___296 = 191,
    _SC_LEVEL2_CACHE_ASSOC___296 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___296 = 193,
    _SC_LEVEL3_CACHE_SIZE___296 = 194,
    _SC_LEVEL3_CACHE_ASSOC___296 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___296 = 196,
    _SC_LEVEL4_CACHE_SIZE___296 = 197,
    _SC_LEVEL4_CACHE_ASSOC___296 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___296 = 199,
    _SC_IPV6___296 = 235,
    _SC_RAW_SOCKETS___296 = 236,
    _SC_V7_ILP32_OFF32___296 = 237,
    _SC_V7_ILP32_OFFBIG___296 = 238,
    _SC_V7_LP64_OFF64___296 = 239,
    _SC_V7_LPBIG_OFFBIG___296 = 240,
    _SC_SS_REPL_MAX___296 = 241,
    _SC_TRACE_EVENT_NAME_MAX___296 = 242,
    _SC_TRACE_NAME_MAX___296 = 243,
    _SC_TRACE_SYS_MAX___296 = 244,
    _SC_TRACE_USER_EVENT_MAX___296 = 245,
    _SC_XOPEN_STREAMS___296 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___296 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___296 = 248
} ;
enum __anonenum_875524036___296 {
    _CS_PATH___296 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___296 = 1,
    _CS_GNU_LIBC_VERSION___296 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___296 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___296 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___296 = 5,
    _CS_LFS_CFLAGS___296 = 1000,
    _CS_LFS_LDFLAGS___296 = 1001,
    _CS_LFS_LIBS___296 = 1002,
    _CS_LFS_LINTFLAGS___296 = 1003,
    _CS_LFS64_CFLAGS___296 = 1004,
    _CS_LFS64_LDFLAGS___296 = 1005,
    _CS_LFS64_LIBS___296 = 1006,
    _CS_LFS64_LINTFLAGS___296 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___296 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___296 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___296 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___296 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___296 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___296 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___296 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___296 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___296 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___296 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___296 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___296 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___296 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___296 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___296 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___296 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___296 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___296 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___296 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___296 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___296 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___296 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___296 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___296 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___296 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___296 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___296 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___296 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___296 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___296 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___296 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___296 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___296 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___296 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___296 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___296 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___296 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___296 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___296 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___296 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___296 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___296 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___296 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___296 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___296 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___296 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___296 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___296 = 1147,
    _CS_V6_ENV___296 = 1148,
    _CS_V7_ENV___296 = 1149
} ;
enum __anonenum_513775621___296 {
    DT_UNKNOWN___296 = 0,
    DT_FIFO___296 = 1,
    DT_CHR___296 = 2,
    DT_DIR___296 = 4,
    DT_BLK___296 = 6,
    DT_REG___296 = 8,
    DT_LNK___296 = 10,
    DT_SOCK___296 = 12,
    DT_WHT___296 = 14
} ;
enum __anonenum_77002343___296 {
    SI_ASYNCNL___296 = -60,
    SI_TKILL___296 = -6,
    SI_SIGIO___296 = -5,
    SI_ASYNCIO___296 = -4,
    SI_MESGQ___296 = -3,
    SI_TIMER___296 = -2,
    SI_QUEUE___296 = -1,
    SI_USER___296 = 0,
    SI_KERNEL___296 = 128
} ;
enum __anonenum_131038172___296 {
    ILL_ILLOPC___296 = 1,
    ILL_ILLOPN___296 = 2,
    ILL_ILLADR___296 = 3,
    ILL_ILLTRP___296 = 4,
    ILL_PRVOPC___296 = 5,
    ILL_PRVREG___296 = 6,
    ILL_COPROC___296 = 7,
    ILL_BADSTK___296 = 8
} ;
enum __anonenum_452038093___296 {
    FPE_INTDIV___296 = 1,
    FPE_INTOVF___296 = 2,
    FPE_FLTDIV___296 = 3,
    FPE_FLTOVF___296 = 4,
    FPE_FLTUND___296 = 5,
    FPE_FLTRES___296 = 6,
    FPE_FLTINV___296 = 7,
    FPE_FLTSUB___296 = 8
} ;
enum __anonenum_30976155___296 {
    SEGV_MAPERR___296 = 1,
    SEGV_ACCERR___296 = 2,
    SEGV_BNDERR___296 = 3,
    SEGV_PKUERR___296 = 4
} ;
enum __anonenum_1036286214___296 {
    BUS_ADRALN___296 = 1,
    BUS_ADRERR___296 = 2,
    BUS_OBJERR___296 = 3,
    BUS_MCEERR_AR___296 = 4,
    BUS_MCEERR_AO___296 = 5
} ;
enum __anonenum_493465559___296 {
    TRAP_BRKPT___296 = 1,
    TRAP_TRACE___296 = 2
} ;
enum __anonenum_23175539___296 {
    CLD_EXITED___296 = 1,
    CLD_KILLED___296 = 2,
    CLD_DUMPED___296 = 3,
    CLD_TRAPPED___296 = 4,
    CLD_STOPPED___296 = 5,
    CLD_CONTINUED___296 = 6
} ;
enum __anonenum_111643124___296 {
    POLL_IN___296 = 1,
    POLL_OUT___296 = 2,
    POLL_MSG___296 = 3,
    POLL_ERR___296 = 4,
    POLL_PRI___296 = 5,
    POLL_HUP___296 = 6
} ;
enum __anonenum_852341087___296 {
    SIGEV_SIGNAL___296 = 0,
    SIGEV_NONE___296 = 1,
    SIGEV_THREAD___296 = 2,
    SIGEV_THREAD_ID___296 = 4
} ;
enum __anonenum_451154152___296 {
    REG_R8___296 = 0,
    REG_R9___296 = 1,
    REG_R10___296 = 2,
    REG_R11___296 = 3,
    REG_R12___296 = 4,
    REG_R13___296 = 5,
    REG_R14___296 = 6,
    REG_R15___296 = 7,
    REG_RDI___296 = 8,
    REG_RSI___296 = 9,
    REG_RBP___296 = 10,
    REG_RBX___296 = 11,
    REG_RDX___296 = 12,
    REG_RAX___296 = 13,
    REG_RCX___296 = 14,
    REG_RSP___296 = 15,
    REG_RIP___296 = 16,
    REG_EFL___296 = 17,
    REG_CSGSFS___296 = 18,
    REG_ERR___296 = 19,
    REG_TRAPNO___296 = 20,
    REG_OLDMASK___296 = 21,
    REG_CR2___296 = 22
} ;
enum __anonenum_57186863___296 {
    SS_ONSTACK___296 = 1,
    SS_DISABLE___296 = 2
} ;
enum __anonenum_83571709___296 {
    MSG_OOB___296 = 1,
    MSG_PEEK___296 = 2,
    MSG_DONTROUTE___296 = 4,
    MSG_TRYHARD___296 = 4,
    MSG_CTRUNC___296 = 8,
    MSG_PROXY___296 = 16,
    MSG_TRUNC___296 = 32,
    MSG_DONTWAIT___296 = 64,
    MSG_EOR___296 = 128,
    MSG_WAITALL___296 = 256,
    MSG_FIN___296 = 512,
    MSG_SYN___296 = 1024,
    MSG_CONFIRM___296 = 2048,
    MSG_RST___296 = 4096,
    MSG_ERRQUEUE___296 = 8192,
    MSG_NOSIGNAL___296 = 16384,
    MSG_MORE___296 = 32768,
    MSG_WAITFORONE___296 = 65536,
    MSG_BATCH___296 = 262144,
    MSG_ZEROCOPY___296 = 67108864,
    MSG_FASTOPEN___296 = 536870912,
    MSG_CMSG_CLOEXEC___296 = 1073741824
} ;
enum __anonenum_617082774___296 {
    SCM_RIGHTS___296 = 1,
    SCM_CREDENTIALS___296 = 2
} ;
enum __anonenum_606441560___296 {
    SHUT_RD___296 = 0,
    SHUT_WR___296 = 1,
    SHUT_RDWR___296 = 2
} ;
enum __anonenum_681669233___296 {
    IPPROTO_IP___296 = 0,
    IPPROTO_ICMP___296 = 1,
    IPPROTO_IGMP___296 = 2,
    IPPROTO_IPIP___296 = 4,
    IPPROTO_TCP___296 = 6,
    IPPROTO_EGP___296 = 8,
    IPPROTO_PUP___296 = 12,
    IPPROTO_UDP___296 = 17,
    IPPROTO_IDP___296 = 22,
    IPPROTO_TP___296 = 29,
    IPPROTO_DCCP___296 = 33,
    IPPROTO_IPV6___296 = 41,
    IPPROTO_RSVP___296 = 46,
    IPPROTO_GRE___296 = 47,
    IPPROTO_ESP___296 = 50,
    IPPROTO_AH___296 = 51,
    IPPROTO_MTP___296 = 92,
    IPPROTO_BEETPH___296 = 94,
    IPPROTO_ENCAP___296 = 98,
    IPPROTO_PIM___296 = 103,
    IPPROTO_COMP___296 = 108,
    IPPROTO_SCTP___296 = 132,
    IPPROTO_UDPLITE___296 = 136,
    IPPROTO_MPLS___296 = 137,
    IPPROTO_RAW___296 = 255,
    IPPROTO_MAX___296 = 256
} ;
enum __anonenum_218739988___296 {
    IPPROTO_HOPOPTS___296 = 0,
    IPPROTO_ROUTING___296 = 43,
    IPPROTO_FRAGMENT___296 = 44,
    IPPROTO_ICMPV6___296 = 58,
    IPPROTO_NONE___296 = 59,
    IPPROTO_DSTOPTS___296 = 60,
    IPPROTO_MH___296 = 135
} ;
enum __anonenum_662268580___296 {
    IPPORT_ECHO___296 = 7,
    IPPORT_DISCARD___296 = 9,
    IPPORT_SYSTAT___296 = 11,
    IPPORT_DAYTIME___296 = 13,
    IPPORT_NETSTAT___296 = 15,
    IPPORT_FTP___296 = 21,
    IPPORT_TELNET___296 = 23,
    IPPORT_SMTP___296 = 25,
    IPPORT_TIMESERVER___296 = 37,
    IPPORT_NAMESERVER___296 = 42,
    IPPORT_WHOIS___296 = 43,
    IPPORT_MTP___296 = 57,
    IPPORT_TFTP___296 = 69,
    IPPORT_RJE___296 = 77,
    IPPORT_FINGER___296 = 79,
    IPPORT_TTYLINK___296 = 87,
    IPPORT_SUPDUP___296 = 95,
    IPPORT_EXECSERVER___296 = 512,
    IPPORT_LOGINSERVER___296 = 513,
    IPPORT_CMDSERVER___296 = 514,
    IPPORT_EFSSERVER___296 = 520,
    IPPORT_BIFFUDP___296 = 512,
    IPPORT_WHOSERVER___296 = 513,
    IPPORT_ROUTESERVER___296 = 520,
    IPPORT_RESERVED___296 = 1024,
    IPPORT_USERRESERVED___296 = 5000
} ;
enum __anonenum_788308992___296 {
    TCP_ESTABLISHED___296 = 1,
    TCP_SYN_SENT___296 = 2,
    TCP_SYN_RECV___296 = 3,
    TCP_FIN_WAIT1___296 = 4,
    TCP_FIN_WAIT2___296 = 5,
    TCP_TIME_WAIT___296 = 6,
    TCP_CLOSE___296 = 7,
    TCP_CLOSE_WAIT___296 = 8,
    TCP_LAST_ACK___296 = 9,
    TCP_LISTEN___296 = 10,
    TCP_CLOSING___296 = 11
} ;
enum __anonenum_221125648___296 {
    TCP_NO_QUEUE___296 = 0,
    TCP_RECV_QUEUE___296 = 1,
    TCP_SEND_QUEUE___296 = 2,
    TCP_QUEUES_NR___296 = 3
} ;
enum __anonenum_34415463___296 {
    PTHREAD_CREATE_JOINABLE___296 = 0,
    PTHREAD_CREATE_DETACHED___296 = 1
} ;
enum __anonenum_303612439___296 {
    PTHREAD_MUTEX_TIMED_NP___296 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___296 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___296 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___296 = 3,
    PTHREAD_MUTEX_NORMAL___296 = 0,
    PTHREAD_MUTEX_RECURSIVE___296 = 1,
    PTHREAD_MUTEX_ERRORCHECK___296 = 2,
    PTHREAD_MUTEX_DEFAULT___296 = 0,
    PTHREAD_MUTEX_FAST_NP___296 = 0
} ;
enum __anonenum_931900394___296 {
    PTHREAD_MUTEX_STALLED___296 = 0,
    PTHREAD_MUTEX_STALLED_NP___296 = 0,
    PTHREAD_MUTEX_ROBUST___296 = 1,
    PTHREAD_MUTEX_ROBUST_NP___296 = 1
} ;
enum __anonenum_205214487___296 {
    PTHREAD_PRIO_NONE___296 = 0,
    PTHREAD_PRIO_INHERIT___296 = 1,
    PTHREAD_PRIO_PROTECT___296 = 2
} ;
enum __anonenum_25043950___296 {
    PTHREAD_RWLOCK_PREFER_READER_NP___296 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___296 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___296 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___296 = 0
} ;
enum __anonenum_436439511___296 {
    PTHREAD_INHERIT_SCHED___296 = 0,
    PTHREAD_EXPLICIT_SCHED___296 = 1
} ;
enum __anonenum_998661166___296 {
    PTHREAD_SCOPE_SYSTEM___296 = 0,
    PTHREAD_SCOPE_PROCESS___296 = 1
} ;
enum __anonenum_146137331___296 {
    PTHREAD_PROCESS_PRIVATE___296 = 0,
    PTHREAD_PROCESS_SHARED___296 = 1
} ;
enum __anonenum_53396917___296 {
    PTHREAD_CANCEL_ENABLE___296 = 0,
    PTHREAD_CANCEL_DISABLE___296 = 1
} ;
enum __anonenum_904563783___296 {
    PTHREAD_CANCEL_DEFERRED___296 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___296 = 1
} ;
enum __anonenum_672052974___296 {
    SSL_CT_VALIDATION_PERMISSIVE___296 = 0,
    SSL_CT_VALIDATION_STRICT___296 = 1
} ;
struct credential_cache_entry {
   struct credential item ;
   timestamp_t expiration ;
};
enum __anonenum_437032235___297 {
    _PC_LINK_MAX___297 = 0,
    _PC_MAX_CANON___297 = 1,
    _PC_MAX_INPUT___297 = 2,
    _PC_NAME_MAX___297 = 3,
    _PC_PATH_MAX___297 = 4,
    _PC_PIPE_BUF___297 = 5,
    _PC_CHOWN_RESTRICTED___297 = 6,
    _PC_NO_TRUNC___297 = 7,
    _PC_VDISABLE___297 = 8,
    _PC_SYNC_IO___297 = 9,
    _PC_ASYNC_IO___297 = 10,
    _PC_PRIO_IO___297 = 11,
    _PC_SOCK_MAXBUF___297 = 12,
    _PC_FILESIZEBITS___297 = 13,
    _PC_REC_INCR_XFER_SIZE___297 = 14,
    _PC_REC_MAX_XFER_SIZE___297 = 15,
    _PC_REC_MIN_XFER_SIZE___297 = 16,
    _PC_REC_XFER_ALIGN___297 = 17,
    _PC_ALLOC_SIZE_MIN___297 = 18,
    _PC_SYMLINK_MAX___297 = 19,
    _PC_2_SYMLINKS___297 = 20
} ;
enum __anonenum_315186338___297 {
    _SC_ARG_MAX___297 = 0,
    _SC_CHILD_MAX___297 = 1,
    _SC_CLK_TCK___297 = 2,
    _SC_NGROUPS_MAX___297 = 3,
    _SC_OPEN_MAX___297 = 4,
    _SC_STREAM_MAX___297 = 5,
    _SC_TZNAME_MAX___297 = 6,
    _SC_JOB_CONTROL___297 = 7,
    _SC_SAVED_IDS___297 = 8,
    _SC_REALTIME_SIGNALS___297 = 9,
    _SC_PRIORITY_SCHEDULING___297 = 10,
    _SC_TIMERS___297 = 11,
    _SC_ASYNCHRONOUS_IO___297 = 12,
    _SC_PRIORITIZED_IO___297 = 13,
    _SC_SYNCHRONIZED_IO___297 = 14,
    _SC_FSYNC___297 = 15,
    _SC_MAPPED_FILES___297 = 16,
    _SC_MEMLOCK___297 = 17,
    _SC_MEMLOCK_RANGE___297 = 18,
    _SC_MEMORY_PROTECTION___297 = 19,
    _SC_MESSAGE_PASSING___297 = 20,
    _SC_SEMAPHORES___297 = 21,
    _SC_SHARED_MEMORY_OBJECTS___297 = 22,
    _SC_AIO_LISTIO_MAX___297 = 23,
    _SC_AIO_MAX___297 = 24,
    _SC_AIO_PRIO_DELTA_MAX___297 = 25,
    _SC_DELAYTIMER_MAX___297 = 26,
    _SC_MQ_OPEN_MAX___297 = 27,
    _SC_MQ_PRIO_MAX___297 = 28,
    _SC_VERSION___297 = 29,
    _SC_PAGESIZE___297 = 30,
    _SC_RTSIG_MAX___297 = 31,
    _SC_SEM_NSEMS_MAX___297 = 32,
    _SC_SEM_VALUE_MAX___297 = 33,
    _SC_SIGQUEUE_MAX___297 = 34,
    _SC_TIMER_MAX___297 = 35,
    _SC_BC_BASE_MAX___297 = 36,
    _SC_BC_DIM_MAX___297 = 37,
    _SC_BC_SCALE_MAX___297 = 38,
    _SC_BC_STRING_MAX___297 = 39,
    _SC_COLL_WEIGHTS_MAX___297 = 40,
    _SC_EQUIV_CLASS_MAX___297 = 41,
    _SC_EXPR_NEST_MAX___297 = 42,
    _SC_LINE_MAX___297 = 43,
    _SC_RE_DUP_MAX___297 = 44,
    _SC_CHARCLASS_NAME_MAX___297 = 45,
    _SC_2_VERSION___297 = 46,
    _SC_2_C_BIND___297 = 47,
    _SC_2_C_DEV___297 = 48,
    _SC_2_FORT_DEV___297 = 49,
    _SC_2_FORT_RUN___297 = 50,
    _SC_2_SW_DEV___297 = 51,
    _SC_2_LOCALEDEF___297 = 52,
    _SC_PII___297 = 53,
    _SC_PII_XTI___297 = 54,
    _SC_PII_SOCKET___297 = 55,
    _SC_PII_INTERNET___297 = 56,
    _SC_PII_OSI___297 = 57,
    _SC_POLL___297 = 58,
    _SC_SELECT___297 = 59,
    _SC_UIO_MAXIOV___297 = 60,
    _SC_IOV_MAX___297 = 60,
    _SC_PII_INTERNET_STREAM___297 = 61,
    _SC_PII_INTERNET_DGRAM___297 = 62,
    _SC_PII_OSI_COTS___297 = 63,
    _SC_PII_OSI_CLTS___297 = 64,
    _SC_PII_OSI_M___297 = 65,
    _SC_T_IOV_MAX___297 = 66,
    _SC_THREADS___297 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___297 = 68,
    _SC_GETGR_R_SIZE_MAX___297 = 69,
    _SC_GETPW_R_SIZE_MAX___297 = 70,
    _SC_LOGIN_NAME_MAX___297 = 71,
    _SC_TTY_NAME_MAX___297 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___297 = 73,
    _SC_THREAD_KEYS_MAX___297 = 74,
    _SC_THREAD_STACK_MIN___297 = 75,
    _SC_THREAD_THREADS_MAX___297 = 76,
    _SC_THREAD_ATTR_STACKADDR___297 = 77,
    _SC_THREAD_ATTR_STACKSIZE___297 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___297 = 79,
    _SC_THREAD_PRIO_INHERIT___297 = 80,
    _SC_THREAD_PRIO_PROTECT___297 = 81,
    _SC_THREAD_PROCESS_SHARED___297 = 82,
    _SC_NPROCESSORS_CONF___297 = 83,
    _SC_NPROCESSORS_ONLN___297 = 84,
    _SC_PHYS_PAGES___297 = 85,
    _SC_AVPHYS_PAGES___297 = 86,
    _SC_ATEXIT_MAX___297 = 87,
    _SC_PASS_MAX___297 = 88,
    _SC_XOPEN_VERSION___297 = 89,
    _SC_XOPEN_XCU_VERSION___297 = 90,
    _SC_XOPEN_UNIX___297 = 91,
    _SC_XOPEN_CRYPT___297 = 92,
    _SC_XOPEN_ENH_I18N___297 = 93,
    _SC_XOPEN_SHM___297 = 94,
    _SC_2_CHAR_TERM___297 = 95,
    _SC_2_C_VERSION___297 = 96,
    _SC_2_UPE___297 = 97,
    _SC_XOPEN_XPG2___297 = 98,
    _SC_XOPEN_XPG3___297 = 99,
    _SC_XOPEN_XPG4___297 = 100,
    _SC_CHAR_BIT___297 = 101,
    _SC_CHAR_MAX___297 = 102,
    _SC_CHAR_MIN___297 = 103,
    _SC_INT_MAX___297 = 104,
    _SC_INT_MIN___297 = 105,
    _SC_LONG_BIT___297 = 106,
    _SC_WORD_BIT___297 = 107,
    _SC_MB_LEN_MAX___297 = 108,
    _SC_NZERO___297 = 109,
    _SC_SSIZE_MAX___297 = 110,
    _SC_SCHAR_MAX___297 = 111,
    _SC_SCHAR_MIN___297 = 112,
    _SC_SHRT_MAX___297 = 113,
    _SC_SHRT_MIN___297 = 114,
    _SC_UCHAR_MAX___297 = 115,
    _SC_UINT_MAX___297 = 116,
    _SC_ULONG_MAX___297 = 117,
    _SC_USHRT_MAX___297 = 118,
    _SC_NL_ARGMAX___297 = 119,
    _SC_NL_LANGMAX___297 = 120,
    _SC_NL_MSGMAX___297 = 121,
    _SC_NL_NMAX___297 = 122,
    _SC_NL_SETMAX___297 = 123,
    _SC_NL_TEXTMAX___297 = 124,
    _SC_XBS5_ILP32_OFF32___297 = 125,
    _SC_XBS5_ILP32_OFFBIG___297 = 126,
    _SC_XBS5_LP64_OFF64___297 = 127,
    _SC_XBS5_LPBIG_OFFBIG___297 = 128,
    _SC_XOPEN_LEGACY___297 = 129,
    _SC_XOPEN_REALTIME___297 = 130,
    _SC_XOPEN_REALTIME_THREADS___297 = 131,
    _SC_ADVISORY_INFO___297 = 132,
    _SC_BARRIERS___297 = 133,
    _SC_BASE___297 = 134,
    _SC_C_LANG_SUPPORT___297 = 135,
    _SC_C_LANG_SUPPORT_R___297 = 136,
    _SC_CLOCK_SELECTION___297 = 137,
    _SC_CPUTIME___297 = 138,
    _SC_THREAD_CPUTIME___297 = 139,
    _SC_DEVICE_IO___297 = 140,
    _SC_DEVICE_SPECIFIC___297 = 141,
    _SC_DEVICE_SPECIFIC_R___297 = 142,
    _SC_FD_MGMT___297 = 143,
    _SC_FIFO___297 = 144,
    _SC_PIPE___297 = 145,
    _SC_FILE_ATTRIBUTES___297 = 146,
    _SC_FILE_LOCKING___297 = 147,
    _SC_FILE_SYSTEM___297 = 148,
    _SC_MONOTONIC_CLOCK___297 = 149,
    _SC_MULTI_PROCESS___297 = 150,
    _SC_SINGLE_PROCESS___297 = 151,
    _SC_NETWORKING___297 = 152,
    _SC_READER_WRITER_LOCKS___297 = 153,
    _SC_SPIN_LOCKS___297 = 154,
    _SC_REGEXP___297 = 155,
    _SC_REGEX_VERSION___297 = 156,
    _SC_SHELL___297 = 157,
    _SC_SIGNALS___297 = 158,
    _SC_SPAWN___297 = 159,
    _SC_SPORADIC_SERVER___297 = 160,
    _SC_THREAD_SPORADIC_SERVER___297 = 161,
    _SC_SYSTEM_DATABASE___297 = 162,
    _SC_SYSTEM_DATABASE_R___297 = 163,
    _SC_TIMEOUTS___297 = 164,
    _SC_TYPED_MEMORY_OBJECTS___297 = 165,
    _SC_USER_GROUPS___297 = 166,
    _SC_USER_GROUPS_R___297 = 167,
    _SC_2_PBS___297 = 168,
    _SC_2_PBS_ACCOUNTING___297 = 169,
    _SC_2_PBS_LOCATE___297 = 170,
    _SC_2_PBS_MESSAGE___297 = 171,
    _SC_2_PBS_TRACK___297 = 172,
    _SC_SYMLOOP_MAX___297 = 173,
    _SC_STREAMS___297 = 174,
    _SC_2_PBS_CHECKPOINT___297 = 175,
    _SC_V6_ILP32_OFF32___297 = 176,
    _SC_V6_ILP32_OFFBIG___297 = 177,
    _SC_V6_LP64_OFF64___297 = 178,
    _SC_V6_LPBIG_OFFBIG___297 = 179,
    _SC_HOST_NAME_MAX___297 = 180,
    _SC_TRACE___297 = 181,
    _SC_TRACE_EVENT_FILTER___297 = 182,
    _SC_TRACE_INHERIT___297 = 183,
    _SC_TRACE_LOG___297 = 184,
    _SC_LEVEL1_ICACHE_SIZE___297 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___297 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___297 = 187,
    _SC_LEVEL1_DCACHE_SIZE___297 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___297 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___297 = 190,
    _SC_LEVEL2_CACHE_SIZE___297 = 191,
    _SC_LEVEL2_CACHE_ASSOC___297 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___297 = 193,
    _SC_LEVEL3_CACHE_SIZE___297 = 194,
    _SC_LEVEL3_CACHE_ASSOC___297 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___297 = 196,
    _SC_LEVEL4_CACHE_SIZE___297 = 197,
    _SC_LEVEL4_CACHE_ASSOC___297 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___297 = 199,
    _SC_IPV6___297 = 235,
    _SC_RAW_SOCKETS___297 = 236,
    _SC_V7_ILP32_OFF32___297 = 237,
    _SC_V7_ILP32_OFFBIG___297 = 238,
    _SC_V7_LP64_OFF64___297 = 239,
    _SC_V7_LPBIG_OFFBIG___297 = 240,
    _SC_SS_REPL_MAX___297 = 241,
    _SC_TRACE_EVENT_NAME_MAX___297 = 242,
    _SC_TRACE_NAME_MAX___297 = 243,
    _SC_TRACE_SYS_MAX___297 = 244,
    _SC_TRACE_USER_EVENT_MAX___297 = 245,
    _SC_XOPEN_STREAMS___297 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___297 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___297 = 248
} ;
enum __anonenum_875524036___297 {
    _CS_PATH___297 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___297 = 1,
    _CS_GNU_LIBC_VERSION___297 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___297 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___297 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___297 = 5,
    _CS_LFS_CFLAGS___297 = 1000,
    _CS_LFS_LDFLAGS___297 = 1001,
    _CS_LFS_LIBS___297 = 1002,
    _CS_LFS_LINTFLAGS___297 = 1003,
    _CS_LFS64_CFLAGS___297 = 1004,
    _CS_LFS64_LDFLAGS___297 = 1005,
    _CS_LFS64_LIBS___297 = 1006,
    _CS_LFS64_LINTFLAGS___297 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___297 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___297 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___297 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___297 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___297 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___297 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___297 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___297 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___297 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___297 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___297 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___297 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___297 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___297 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___297 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___297 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___297 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___297 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___297 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___297 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___297 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___297 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___297 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___297 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___297 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___297 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___297 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___297 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___297 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___297 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___297 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___297 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___297 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___297 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___297 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___297 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___297 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___297 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___297 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___297 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___297 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___297 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___297 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___297 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___297 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___297 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___297 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___297 = 1147,
    _CS_V6_ENV___297 = 1148,
    _CS_V7_ENV___297 = 1149
} ;
enum __anonenum_513775621___297 {
    DT_UNKNOWN___297 = 0,
    DT_FIFO___297 = 1,
    DT_CHR___297 = 2,
    DT_DIR___297 = 4,
    DT_BLK___297 = 6,
    DT_REG___297 = 8,
    DT_LNK___297 = 10,
    DT_SOCK___297 = 12,
    DT_WHT___297 = 14
} ;
enum __anonenum_77002343___297 {
    SI_ASYNCNL___297 = -60,
    SI_TKILL___297 = -6,
    SI_SIGIO___297 = -5,
    SI_ASYNCIO___297 = -4,
    SI_MESGQ___297 = -3,
    SI_TIMER___297 = -2,
    SI_QUEUE___297 = -1,
    SI_USER___297 = 0,
    SI_KERNEL___297 = 128
} ;
enum __anonenum_131038172___297 {
    ILL_ILLOPC___297 = 1,
    ILL_ILLOPN___297 = 2,
    ILL_ILLADR___297 = 3,
    ILL_ILLTRP___297 = 4,
    ILL_PRVOPC___297 = 5,
    ILL_PRVREG___297 = 6,
    ILL_COPROC___297 = 7,
    ILL_BADSTK___297 = 8
} ;
enum __anonenum_452038093___297 {
    FPE_INTDIV___297 = 1,
    FPE_INTOVF___297 = 2,
    FPE_FLTDIV___297 = 3,
    FPE_FLTOVF___297 = 4,
    FPE_FLTUND___297 = 5,
    FPE_FLTRES___297 = 6,
    FPE_FLTINV___297 = 7,
    FPE_FLTSUB___297 = 8
} ;
enum __anonenum_30976155___297 {
    SEGV_MAPERR___297 = 1,
    SEGV_ACCERR___297 = 2,
    SEGV_BNDERR___297 = 3,
    SEGV_PKUERR___297 = 4
} ;
enum __anonenum_1036286214___297 {
    BUS_ADRALN___297 = 1,
    BUS_ADRERR___297 = 2,
    BUS_OBJERR___297 = 3,
    BUS_MCEERR_AR___297 = 4,
    BUS_MCEERR_AO___297 = 5
} ;
enum __anonenum_493465559___297 {
    TRAP_BRKPT___297 = 1,
    TRAP_TRACE___297 = 2
} ;
enum __anonenum_23175539___297 {
    CLD_EXITED___297 = 1,
    CLD_KILLED___297 = 2,
    CLD_DUMPED___297 = 3,
    CLD_TRAPPED___297 = 4,
    CLD_STOPPED___297 = 5,
    CLD_CONTINUED___297 = 6
} ;
enum __anonenum_111643124___297 {
    POLL_IN___297 = 1,
    POLL_OUT___297 = 2,
    POLL_MSG___297 = 3,
    POLL_ERR___297 = 4,
    POLL_PRI___297 = 5,
    POLL_HUP___297 = 6
} ;
enum __anonenum_852341087___297 {
    SIGEV_SIGNAL___297 = 0,
    SIGEV_NONE___297 = 1,
    SIGEV_THREAD___297 = 2,
    SIGEV_THREAD_ID___297 = 4
} ;
enum __anonenum_451154152___297 {
    REG_R8___297 = 0,
    REG_R9___297 = 1,
    REG_R10___297 = 2,
    REG_R11___297 = 3,
    REG_R12___297 = 4,
    REG_R13___297 = 5,
    REG_R14___297 = 6,
    REG_R15___297 = 7,
    REG_RDI___297 = 8,
    REG_RSI___297 = 9,
    REG_RBP___297 = 10,
    REG_RBX___297 = 11,
    REG_RDX___297 = 12,
    REG_RAX___297 = 13,
    REG_RCX___297 = 14,
    REG_RSP___297 = 15,
    REG_RIP___297 = 16,
    REG_EFL___297 = 17,
    REG_CSGSFS___297 = 18,
    REG_ERR___297 = 19,
    REG_TRAPNO___297 = 20,
    REG_OLDMASK___297 = 21,
    REG_CR2___297 = 22
} ;
enum __anonenum_57186863___297 {
    SS_ONSTACK___297 = 1,
    SS_DISABLE___297 = 2
} ;
enum __anonenum_83571709___297 {
    MSG_OOB___297 = 1,
    MSG_PEEK___297 = 2,
    MSG_DONTROUTE___297 = 4,
    MSG_TRYHARD___297 = 4,
    MSG_CTRUNC___297 = 8,
    MSG_PROXY___297 = 16,
    MSG_TRUNC___297 = 32,
    MSG_DONTWAIT___297 = 64,
    MSG_EOR___297 = 128,
    MSG_WAITALL___297 = 256,
    MSG_FIN___297 = 512,
    MSG_SYN___297 = 1024,
    MSG_CONFIRM___297 = 2048,
    MSG_RST___297 = 4096,
    MSG_ERRQUEUE___297 = 8192,
    MSG_NOSIGNAL___297 = 16384,
    MSG_MORE___297 = 32768,
    MSG_WAITFORONE___297 = 65536,
    MSG_BATCH___297 = 262144,
    MSG_ZEROCOPY___297 = 67108864,
    MSG_FASTOPEN___297 = 536870912,
    MSG_CMSG_CLOEXEC___297 = 1073741824
} ;
enum __anonenum_617082774___297 {
    SCM_RIGHTS___297 = 1,
    SCM_CREDENTIALS___297 = 2
} ;
enum __anonenum_606441560___297 {
    SHUT_RD___297 = 0,
    SHUT_WR___297 = 1,
    SHUT_RDWR___297 = 2
} ;
enum __anonenum_681669233___297 {
    IPPROTO_IP___297 = 0,
    IPPROTO_ICMP___297 = 1,
    IPPROTO_IGMP___297 = 2,
    IPPROTO_IPIP___297 = 4,
    IPPROTO_TCP___297 = 6,
    IPPROTO_EGP___297 = 8,
    IPPROTO_PUP___297 = 12,
    IPPROTO_UDP___297 = 17,
    IPPROTO_IDP___297 = 22,
    IPPROTO_TP___297 = 29,
    IPPROTO_DCCP___297 = 33,
    IPPROTO_IPV6___297 = 41,
    IPPROTO_RSVP___297 = 46,
    IPPROTO_GRE___297 = 47,
    IPPROTO_ESP___297 = 50,
    IPPROTO_AH___297 = 51,
    IPPROTO_MTP___297 = 92,
    IPPROTO_BEETPH___297 = 94,
    IPPROTO_ENCAP___297 = 98,
    IPPROTO_PIM___297 = 103,
    IPPROTO_COMP___297 = 108,
    IPPROTO_SCTP___297 = 132,
    IPPROTO_UDPLITE___297 = 136,
    IPPROTO_MPLS___297 = 137,
    IPPROTO_RAW___297 = 255,
    IPPROTO_MAX___297 = 256
} ;
enum __anonenum_218739988___297 {
    IPPROTO_HOPOPTS___297 = 0,
    IPPROTO_ROUTING___297 = 43,
    IPPROTO_FRAGMENT___297 = 44,
    IPPROTO_ICMPV6___297 = 58,
    IPPROTO_NONE___297 = 59,
    IPPROTO_DSTOPTS___297 = 60,
    IPPROTO_MH___297 = 135
} ;
enum __anonenum_662268580___297 {
    IPPORT_ECHO___297 = 7,
    IPPORT_DISCARD___297 = 9,
    IPPORT_SYSTAT___297 = 11,
    IPPORT_DAYTIME___297 = 13,
    IPPORT_NETSTAT___297 = 15,
    IPPORT_FTP___297 = 21,
    IPPORT_TELNET___297 = 23,
    IPPORT_SMTP___297 = 25,
    IPPORT_TIMESERVER___297 = 37,
    IPPORT_NAMESERVER___297 = 42,
    IPPORT_WHOIS___297 = 43,
    IPPORT_MTP___297 = 57,
    IPPORT_TFTP___297 = 69,
    IPPORT_RJE___297 = 77,
    IPPORT_FINGER___297 = 79,
    IPPORT_TTYLINK___297 = 87,
    IPPORT_SUPDUP___297 = 95,
    IPPORT_EXECSERVER___297 = 512,
    IPPORT_LOGINSERVER___297 = 513,
    IPPORT_CMDSERVER___297 = 514,
    IPPORT_EFSSERVER___297 = 520,
    IPPORT_BIFFUDP___297 = 512,
    IPPORT_WHOSERVER___297 = 513,
    IPPORT_ROUTESERVER___297 = 520,
    IPPORT_RESERVED___297 = 1024,
    IPPORT_USERRESERVED___297 = 5000
} ;
enum __anonenum_788308992___297 {
    TCP_ESTABLISHED___297 = 1,
    TCP_SYN_SENT___297 = 2,
    TCP_SYN_RECV___297 = 3,
    TCP_FIN_WAIT1___297 = 4,
    TCP_FIN_WAIT2___297 = 5,
    TCP_TIME_WAIT___297 = 6,
    TCP_CLOSE___297 = 7,
    TCP_CLOSE_WAIT___297 = 8,
    TCP_LAST_ACK___297 = 9,
    TCP_LISTEN___297 = 10,
    TCP_CLOSING___297 = 11
} ;
enum __anonenum_221125648___297 {
    TCP_NO_QUEUE___297 = 0,
    TCP_RECV_QUEUE___297 = 1,
    TCP_SEND_QUEUE___297 = 2,
    TCP_QUEUES_NR___297 = 3
} ;
enum __anonenum_34415463___297 {
    PTHREAD_CREATE_JOINABLE___297 = 0,
    PTHREAD_CREATE_DETACHED___297 = 1
} ;
enum __anonenum_303612439___297 {
    PTHREAD_MUTEX_TIMED_NP___297 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___297 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___297 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___297 = 3,
    PTHREAD_MUTEX_NORMAL___297 = 0,
    PTHREAD_MUTEX_RECURSIVE___297 = 1,
    PTHREAD_MUTEX_ERRORCHECK___297 = 2,
    PTHREAD_MUTEX_DEFAULT___297 = 0,
    PTHREAD_MUTEX_FAST_NP___297 = 0
} ;
enum __anonenum_931900394___297 {
    PTHREAD_MUTEX_STALLED___297 = 0,
    PTHREAD_MUTEX_STALLED_NP___297 = 0,
    PTHREAD_MUTEX_ROBUST___297 = 1,
    PTHREAD_MUTEX_ROBUST_NP___297 = 1
} ;
enum __anonenum_205214487___297 {
    PTHREAD_PRIO_NONE___297 = 0,
    PTHREAD_PRIO_INHERIT___297 = 1,
    PTHREAD_PRIO_PROTECT___297 = 2
} ;
enum __anonenum_25043950___297 {
    PTHREAD_RWLOCK_PREFER_READER_NP___297 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___297 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___297 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___297 = 0
} ;
enum __anonenum_436439511___297 {
    PTHREAD_INHERIT_SCHED___297 = 0,
    PTHREAD_EXPLICIT_SCHED___297 = 1
} ;
enum __anonenum_998661166___297 {
    PTHREAD_SCOPE_SYSTEM___297 = 0,
    PTHREAD_SCOPE_PROCESS___297 = 1
} ;
enum __anonenum_146137331___297 {
    PTHREAD_PROCESS_PRIVATE___297 = 0,
    PTHREAD_PROCESS_SHARED___297 = 1
} ;
enum __anonenum_53396917___297 {
    PTHREAD_CANCEL_ENABLE___297 = 0,
    PTHREAD_CANCEL_DISABLE___297 = 1
} ;
enum __anonenum_904563783___297 {
    PTHREAD_CANCEL_DEFERRED___297 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___297 = 1
} ;
enum __anonenum_672052974___297 {
    SSL_CT_VALIDATION_PERMISSIVE___297 = 0,
    SSL_CT_VALIDATION_STRICT___297 = 1
} ;
enum __anonenum_437032235___298 {
    _PC_LINK_MAX___298 = 0,
    _PC_MAX_CANON___298 = 1,
    _PC_MAX_INPUT___298 = 2,
    _PC_NAME_MAX___298 = 3,
    _PC_PATH_MAX___298 = 4,
    _PC_PIPE_BUF___298 = 5,
    _PC_CHOWN_RESTRICTED___298 = 6,
    _PC_NO_TRUNC___298 = 7,
    _PC_VDISABLE___298 = 8,
    _PC_SYNC_IO___298 = 9,
    _PC_ASYNC_IO___298 = 10,
    _PC_PRIO_IO___298 = 11,
    _PC_SOCK_MAXBUF___298 = 12,
    _PC_FILESIZEBITS___298 = 13,
    _PC_REC_INCR_XFER_SIZE___298 = 14,
    _PC_REC_MAX_XFER_SIZE___298 = 15,
    _PC_REC_MIN_XFER_SIZE___298 = 16,
    _PC_REC_XFER_ALIGN___298 = 17,
    _PC_ALLOC_SIZE_MIN___298 = 18,
    _PC_SYMLINK_MAX___298 = 19,
    _PC_2_SYMLINKS___298 = 20
} ;
enum __anonenum_315186338___298 {
    _SC_ARG_MAX___298 = 0,
    _SC_CHILD_MAX___298 = 1,
    _SC_CLK_TCK___298 = 2,
    _SC_NGROUPS_MAX___298 = 3,
    _SC_OPEN_MAX___298 = 4,
    _SC_STREAM_MAX___298 = 5,
    _SC_TZNAME_MAX___298 = 6,
    _SC_JOB_CONTROL___298 = 7,
    _SC_SAVED_IDS___298 = 8,
    _SC_REALTIME_SIGNALS___298 = 9,
    _SC_PRIORITY_SCHEDULING___298 = 10,
    _SC_TIMERS___298 = 11,
    _SC_ASYNCHRONOUS_IO___298 = 12,
    _SC_PRIORITIZED_IO___298 = 13,
    _SC_SYNCHRONIZED_IO___298 = 14,
    _SC_FSYNC___298 = 15,
    _SC_MAPPED_FILES___298 = 16,
    _SC_MEMLOCK___298 = 17,
    _SC_MEMLOCK_RANGE___298 = 18,
    _SC_MEMORY_PROTECTION___298 = 19,
    _SC_MESSAGE_PASSING___298 = 20,
    _SC_SEMAPHORES___298 = 21,
    _SC_SHARED_MEMORY_OBJECTS___298 = 22,
    _SC_AIO_LISTIO_MAX___298 = 23,
    _SC_AIO_MAX___298 = 24,
    _SC_AIO_PRIO_DELTA_MAX___298 = 25,
    _SC_DELAYTIMER_MAX___298 = 26,
    _SC_MQ_OPEN_MAX___298 = 27,
    _SC_MQ_PRIO_MAX___298 = 28,
    _SC_VERSION___298 = 29,
    _SC_PAGESIZE___298 = 30,
    _SC_RTSIG_MAX___298 = 31,
    _SC_SEM_NSEMS_MAX___298 = 32,
    _SC_SEM_VALUE_MAX___298 = 33,
    _SC_SIGQUEUE_MAX___298 = 34,
    _SC_TIMER_MAX___298 = 35,
    _SC_BC_BASE_MAX___298 = 36,
    _SC_BC_DIM_MAX___298 = 37,
    _SC_BC_SCALE_MAX___298 = 38,
    _SC_BC_STRING_MAX___298 = 39,
    _SC_COLL_WEIGHTS_MAX___298 = 40,
    _SC_EQUIV_CLASS_MAX___298 = 41,
    _SC_EXPR_NEST_MAX___298 = 42,
    _SC_LINE_MAX___298 = 43,
    _SC_RE_DUP_MAX___298 = 44,
    _SC_CHARCLASS_NAME_MAX___298 = 45,
    _SC_2_VERSION___298 = 46,
    _SC_2_C_BIND___298 = 47,
    _SC_2_C_DEV___298 = 48,
    _SC_2_FORT_DEV___298 = 49,
    _SC_2_FORT_RUN___298 = 50,
    _SC_2_SW_DEV___298 = 51,
    _SC_2_LOCALEDEF___298 = 52,
    _SC_PII___298 = 53,
    _SC_PII_XTI___298 = 54,
    _SC_PII_SOCKET___298 = 55,
    _SC_PII_INTERNET___298 = 56,
    _SC_PII_OSI___298 = 57,
    _SC_POLL___298 = 58,
    _SC_SELECT___298 = 59,
    _SC_UIO_MAXIOV___298 = 60,
    _SC_IOV_MAX___298 = 60,
    _SC_PII_INTERNET_STREAM___298 = 61,
    _SC_PII_INTERNET_DGRAM___298 = 62,
    _SC_PII_OSI_COTS___298 = 63,
    _SC_PII_OSI_CLTS___298 = 64,
    _SC_PII_OSI_M___298 = 65,
    _SC_T_IOV_MAX___298 = 66,
    _SC_THREADS___298 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___298 = 68,
    _SC_GETGR_R_SIZE_MAX___298 = 69,
    _SC_GETPW_R_SIZE_MAX___298 = 70,
    _SC_LOGIN_NAME_MAX___298 = 71,
    _SC_TTY_NAME_MAX___298 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___298 = 73,
    _SC_THREAD_KEYS_MAX___298 = 74,
    _SC_THREAD_STACK_MIN___298 = 75,
    _SC_THREAD_THREADS_MAX___298 = 76,
    _SC_THREAD_ATTR_STACKADDR___298 = 77,
    _SC_THREAD_ATTR_STACKSIZE___298 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___298 = 79,
    _SC_THREAD_PRIO_INHERIT___298 = 80,
    _SC_THREAD_PRIO_PROTECT___298 = 81,
    _SC_THREAD_PROCESS_SHARED___298 = 82,
    _SC_NPROCESSORS_CONF___298 = 83,
    _SC_NPROCESSORS_ONLN___298 = 84,
    _SC_PHYS_PAGES___298 = 85,
    _SC_AVPHYS_PAGES___298 = 86,
    _SC_ATEXIT_MAX___298 = 87,
    _SC_PASS_MAX___298 = 88,
    _SC_XOPEN_VERSION___298 = 89,
    _SC_XOPEN_XCU_VERSION___298 = 90,
    _SC_XOPEN_UNIX___298 = 91,
    _SC_XOPEN_CRYPT___298 = 92,
    _SC_XOPEN_ENH_I18N___298 = 93,
    _SC_XOPEN_SHM___298 = 94,
    _SC_2_CHAR_TERM___298 = 95,
    _SC_2_C_VERSION___298 = 96,
    _SC_2_UPE___298 = 97,
    _SC_XOPEN_XPG2___298 = 98,
    _SC_XOPEN_XPG3___298 = 99,
    _SC_XOPEN_XPG4___298 = 100,
    _SC_CHAR_BIT___298 = 101,
    _SC_CHAR_MAX___298 = 102,
    _SC_CHAR_MIN___298 = 103,
    _SC_INT_MAX___298 = 104,
    _SC_INT_MIN___298 = 105,
    _SC_LONG_BIT___298 = 106,
    _SC_WORD_BIT___298 = 107,
    _SC_MB_LEN_MAX___298 = 108,
    _SC_NZERO___298 = 109,
    _SC_SSIZE_MAX___298 = 110,
    _SC_SCHAR_MAX___298 = 111,
    _SC_SCHAR_MIN___298 = 112,
    _SC_SHRT_MAX___298 = 113,
    _SC_SHRT_MIN___298 = 114,
    _SC_UCHAR_MAX___298 = 115,
    _SC_UINT_MAX___298 = 116,
    _SC_ULONG_MAX___298 = 117,
    _SC_USHRT_MAX___298 = 118,
    _SC_NL_ARGMAX___298 = 119,
    _SC_NL_LANGMAX___298 = 120,
    _SC_NL_MSGMAX___298 = 121,
    _SC_NL_NMAX___298 = 122,
    _SC_NL_SETMAX___298 = 123,
    _SC_NL_TEXTMAX___298 = 124,
    _SC_XBS5_ILP32_OFF32___298 = 125,
    _SC_XBS5_ILP32_OFFBIG___298 = 126,
    _SC_XBS5_LP64_OFF64___298 = 127,
    _SC_XBS5_LPBIG_OFFBIG___298 = 128,
    _SC_XOPEN_LEGACY___298 = 129,
    _SC_XOPEN_REALTIME___298 = 130,
    _SC_XOPEN_REALTIME_THREADS___298 = 131,
    _SC_ADVISORY_INFO___298 = 132,
    _SC_BARRIERS___298 = 133,
    _SC_BASE___298 = 134,
    _SC_C_LANG_SUPPORT___298 = 135,
    _SC_C_LANG_SUPPORT_R___298 = 136,
    _SC_CLOCK_SELECTION___298 = 137,
    _SC_CPUTIME___298 = 138,
    _SC_THREAD_CPUTIME___298 = 139,
    _SC_DEVICE_IO___298 = 140,
    _SC_DEVICE_SPECIFIC___298 = 141,
    _SC_DEVICE_SPECIFIC_R___298 = 142,
    _SC_FD_MGMT___298 = 143,
    _SC_FIFO___298 = 144,
    _SC_PIPE___298 = 145,
    _SC_FILE_ATTRIBUTES___298 = 146,
    _SC_FILE_LOCKING___298 = 147,
    _SC_FILE_SYSTEM___298 = 148,
    _SC_MONOTONIC_CLOCK___298 = 149,
    _SC_MULTI_PROCESS___298 = 150,
    _SC_SINGLE_PROCESS___298 = 151,
    _SC_NETWORKING___298 = 152,
    _SC_READER_WRITER_LOCKS___298 = 153,
    _SC_SPIN_LOCKS___298 = 154,
    _SC_REGEXP___298 = 155,
    _SC_REGEX_VERSION___298 = 156,
    _SC_SHELL___298 = 157,
    _SC_SIGNALS___298 = 158,
    _SC_SPAWN___298 = 159,
    _SC_SPORADIC_SERVER___298 = 160,
    _SC_THREAD_SPORADIC_SERVER___298 = 161,
    _SC_SYSTEM_DATABASE___298 = 162,
    _SC_SYSTEM_DATABASE_R___298 = 163,
    _SC_TIMEOUTS___298 = 164,
    _SC_TYPED_MEMORY_OBJECTS___298 = 165,
    _SC_USER_GROUPS___298 = 166,
    _SC_USER_GROUPS_R___298 = 167,
    _SC_2_PBS___298 = 168,
    _SC_2_PBS_ACCOUNTING___298 = 169,
    _SC_2_PBS_LOCATE___298 = 170,
    _SC_2_PBS_MESSAGE___298 = 171,
    _SC_2_PBS_TRACK___298 = 172,
    _SC_SYMLOOP_MAX___298 = 173,
    _SC_STREAMS___298 = 174,
    _SC_2_PBS_CHECKPOINT___298 = 175,
    _SC_V6_ILP32_OFF32___298 = 176,
    _SC_V6_ILP32_OFFBIG___298 = 177,
    _SC_V6_LP64_OFF64___298 = 178,
    _SC_V6_LPBIG_OFFBIG___298 = 179,
    _SC_HOST_NAME_MAX___298 = 180,
    _SC_TRACE___298 = 181,
    _SC_TRACE_EVENT_FILTER___298 = 182,
    _SC_TRACE_INHERIT___298 = 183,
    _SC_TRACE_LOG___298 = 184,
    _SC_LEVEL1_ICACHE_SIZE___298 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___298 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___298 = 187,
    _SC_LEVEL1_DCACHE_SIZE___298 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___298 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___298 = 190,
    _SC_LEVEL2_CACHE_SIZE___298 = 191,
    _SC_LEVEL2_CACHE_ASSOC___298 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___298 = 193,
    _SC_LEVEL3_CACHE_SIZE___298 = 194,
    _SC_LEVEL3_CACHE_ASSOC___298 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___298 = 196,
    _SC_LEVEL4_CACHE_SIZE___298 = 197,
    _SC_LEVEL4_CACHE_ASSOC___298 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___298 = 199,
    _SC_IPV6___298 = 235,
    _SC_RAW_SOCKETS___298 = 236,
    _SC_V7_ILP32_OFF32___298 = 237,
    _SC_V7_ILP32_OFFBIG___298 = 238,
    _SC_V7_LP64_OFF64___298 = 239,
    _SC_V7_LPBIG_OFFBIG___298 = 240,
    _SC_SS_REPL_MAX___298 = 241,
    _SC_TRACE_EVENT_NAME_MAX___298 = 242,
    _SC_TRACE_NAME_MAX___298 = 243,
    _SC_TRACE_SYS_MAX___298 = 244,
    _SC_TRACE_USER_EVENT_MAX___298 = 245,
    _SC_XOPEN_STREAMS___298 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___298 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___298 = 248
} ;
enum __anonenum_875524036___298 {
    _CS_PATH___298 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___298 = 1,
    _CS_GNU_LIBC_VERSION___298 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___298 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___298 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___298 = 5,
    _CS_LFS_CFLAGS___298 = 1000,
    _CS_LFS_LDFLAGS___298 = 1001,
    _CS_LFS_LIBS___298 = 1002,
    _CS_LFS_LINTFLAGS___298 = 1003,
    _CS_LFS64_CFLAGS___298 = 1004,
    _CS_LFS64_LDFLAGS___298 = 1005,
    _CS_LFS64_LIBS___298 = 1006,
    _CS_LFS64_LINTFLAGS___298 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___298 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___298 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___298 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___298 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___298 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___298 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___298 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___298 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___298 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___298 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___298 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___298 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___298 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___298 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___298 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___298 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___298 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___298 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___298 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___298 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___298 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___298 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___298 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___298 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___298 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___298 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___298 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___298 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___298 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___298 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___298 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___298 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___298 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___298 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___298 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___298 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___298 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___298 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___298 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___298 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___298 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___298 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___298 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___298 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___298 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___298 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___298 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___298 = 1147,
    _CS_V6_ENV___298 = 1148,
    _CS_V7_ENV___298 = 1149
} ;
enum __anonenum_513775621___298 {
    DT_UNKNOWN___298 = 0,
    DT_FIFO___298 = 1,
    DT_CHR___298 = 2,
    DT_DIR___298 = 4,
    DT_BLK___298 = 6,
    DT_REG___298 = 8,
    DT_LNK___298 = 10,
    DT_SOCK___298 = 12,
    DT_WHT___298 = 14
} ;
enum __anonenum_77002343___298 {
    SI_ASYNCNL___298 = -60,
    SI_TKILL___298 = -6,
    SI_SIGIO___298 = -5,
    SI_ASYNCIO___298 = -4,
    SI_MESGQ___298 = -3,
    SI_TIMER___298 = -2,
    SI_QUEUE___298 = -1,
    SI_USER___298 = 0,
    SI_KERNEL___298 = 128
} ;
enum __anonenum_131038172___298 {
    ILL_ILLOPC___298 = 1,
    ILL_ILLOPN___298 = 2,
    ILL_ILLADR___298 = 3,
    ILL_ILLTRP___298 = 4,
    ILL_PRVOPC___298 = 5,
    ILL_PRVREG___298 = 6,
    ILL_COPROC___298 = 7,
    ILL_BADSTK___298 = 8
} ;
enum __anonenum_452038093___298 {
    FPE_INTDIV___298 = 1,
    FPE_INTOVF___298 = 2,
    FPE_FLTDIV___298 = 3,
    FPE_FLTOVF___298 = 4,
    FPE_FLTUND___298 = 5,
    FPE_FLTRES___298 = 6,
    FPE_FLTINV___298 = 7,
    FPE_FLTSUB___298 = 8
} ;
enum __anonenum_30976155___298 {
    SEGV_MAPERR___298 = 1,
    SEGV_ACCERR___298 = 2,
    SEGV_BNDERR___298 = 3,
    SEGV_PKUERR___298 = 4
} ;
enum __anonenum_1036286214___298 {
    BUS_ADRALN___298 = 1,
    BUS_ADRERR___298 = 2,
    BUS_OBJERR___298 = 3,
    BUS_MCEERR_AR___298 = 4,
    BUS_MCEERR_AO___298 = 5
} ;
enum __anonenum_493465559___298 {
    TRAP_BRKPT___298 = 1,
    TRAP_TRACE___298 = 2
} ;
enum __anonenum_23175539___298 {
    CLD_EXITED___298 = 1,
    CLD_KILLED___298 = 2,
    CLD_DUMPED___298 = 3,
    CLD_TRAPPED___298 = 4,
    CLD_STOPPED___298 = 5,
    CLD_CONTINUED___298 = 6
} ;
enum __anonenum_111643124___298 {
    POLL_IN___298 = 1,
    POLL_OUT___298 = 2,
    POLL_MSG___298 = 3,
    POLL_ERR___298 = 4,
    POLL_PRI___298 = 5,
    POLL_HUP___298 = 6
} ;
enum __anonenum_852341087___298 {
    SIGEV_SIGNAL___298 = 0,
    SIGEV_NONE___298 = 1,
    SIGEV_THREAD___298 = 2,
    SIGEV_THREAD_ID___298 = 4
} ;
enum __anonenum_451154152___298 {
    REG_R8___298 = 0,
    REG_R9___298 = 1,
    REG_R10___298 = 2,
    REG_R11___298 = 3,
    REG_R12___298 = 4,
    REG_R13___298 = 5,
    REG_R14___298 = 6,
    REG_R15___298 = 7,
    REG_RDI___298 = 8,
    REG_RSI___298 = 9,
    REG_RBP___298 = 10,
    REG_RBX___298 = 11,
    REG_RDX___298 = 12,
    REG_RAX___298 = 13,
    REG_RCX___298 = 14,
    REG_RSP___298 = 15,
    REG_RIP___298 = 16,
    REG_EFL___298 = 17,
    REG_CSGSFS___298 = 18,
    REG_ERR___298 = 19,
    REG_TRAPNO___298 = 20,
    REG_OLDMASK___298 = 21,
    REG_CR2___298 = 22
} ;
enum __anonenum_57186863___298 {
    SS_ONSTACK___298 = 1,
    SS_DISABLE___298 = 2
} ;
enum __anonenum_83571709___298 {
    MSG_OOB___298 = 1,
    MSG_PEEK___298 = 2,
    MSG_DONTROUTE___298 = 4,
    MSG_TRYHARD___298 = 4,
    MSG_CTRUNC___298 = 8,
    MSG_PROXY___298 = 16,
    MSG_TRUNC___298 = 32,
    MSG_DONTWAIT___298 = 64,
    MSG_EOR___298 = 128,
    MSG_WAITALL___298 = 256,
    MSG_FIN___298 = 512,
    MSG_SYN___298 = 1024,
    MSG_CONFIRM___298 = 2048,
    MSG_RST___298 = 4096,
    MSG_ERRQUEUE___298 = 8192,
    MSG_NOSIGNAL___298 = 16384,
    MSG_MORE___298 = 32768,
    MSG_WAITFORONE___298 = 65536,
    MSG_BATCH___298 = 262144,
    MSG_ZEROCOPY___298 = 67108864,
    MSG_FASTOPEN___298 = 536870912,
    MSG_CMSG_CLOEXEC___298 = 1073741824
} ;
enum __anonenum_617082774___298 {
    SCM_RIGHTS___298 = 1,
    SCM_CREDENTIALS___298 = 2
} ;
enum __anonenum_606441560___298 {
    SHUT_RD___298 = 0,
    SHUT_WR___298 = 1,
    SHUT_RDWR___298 = 2
} ;
enum __anonenum_681669233___298 {
    IPPROTO_IP___298 = 0,
    IPPROTO_ICMP___298 = 1,
    IPPROTO_IGMP___298 = 2,
    IPPROTO_IPIP___298 = 4,
    IPPROTO_TCP___298 = 6,
    IPPROTO_EGP___298 = 8,
    IPPROTO_PUP___298 = 12,
    IPPROTO_UDP___298 = 17,
    IPPROTO_IDP___298 = 22,
    IPPROTO_TP___298 = 29,
    IPPROTO_DCCP___298 = 33,
    IPPROTO_IPV6___298 = 41,
    IPPROTO_RSVP___298 = 46,
    IPPROTO_GRE___298 = 47,
    IPPROTO_ESP___298 = 50,
    IPPROTO_AH___298 = 51,
    IPPROTO_MTP___298 = 92,
    IPPROTO_BEETPH___298 = 94,
    IPPROTO_ENCAP___298 = 98,
    IPPROTO_PIM___298 = 103,
    IPPROTO_COMP___298 = 108,
    IPPROTO_SCTP___298 = 132,
    IPPROTO_UDPLITE___298 = 136,
    IPPROTO_MPLS___298 = 137,
    IPPROTO_RAW___298 = 255,
    IPPROTO_MAX___298 = 256
} ;
enum __anonenum_218739988___298 {
    IPPROTO_HOPOPTS___298 = 0,
    IPPROTO_ROUTING___298 = 43,
    IPPROTO_FRAGMENT___298 = 44,
    IPPROTO_ICMPV6___298 = 58,
    IPPROTO_NONE___298 = 59,
    IPPROTO_DSTOPTS___298 = 60,
    IPPROTO_MH___298 = 135
} ;
enum __anonenum_662268580___298 {
    IPPORT_ECHO___298 = 7,
    IPPORT_DISCARD___298 = 9,
    IPPORT_SYSTAT___298 = 11,
    IPPORT_DAYTIME___298 = 13,
    IPPORT_NETSTAT___298 = 15,
    IPPORT_FTP___298 = 21,
    IPPORT_TELNET___298 = 23,
    IPPORT_SMTP___298 = 25,
    IPPORT_TIMESERVER___298 = 37,
    IPPORT_NAMESERVER___298 = 42,
    IPPORT_WHOIS___298 = 43,
    IPPORT_MTP___298 = 57,
    IPPORT_TFTP___298 = 69,
    IPPORT_RJE___298 = 77,
    IPPORT_FINGER___298 = 79,
    IPPORT_TTYLINK___298 = 87,
    IPPORT_SUPDUP___298 = 95,
    IPPORT_EXECSERVER___298 = 512,
    IPPORT_LOGINSERVER___298 = 513,
    IPPORT_CMDSERVER___298 = 514,
    IPPORT_EFSSERVER___298 = 520,
    IPPORT_BIFFUDP___298 = 512,
    IPPORT_WHOSERVER___298 = 513,
    IPPORT_ROUTESERVER___298 = 520,
    IPPORT_RESERVED___298 = 1024,
    IPPORT_USERRESERVED___298 = 5000
} ;
enum __anonenum_788308992___298 {
    TCP_ESTABLISHED___298 = 1,
    TCP_SYN_SENT___298 = 2,
    TCP_SYN_RECV___298 = 3,
    TCP_FIN_WAIT1___298 = 4,
    TCP_FIN_WAIT2___298 = 5,
    TCP_TIME_WAIT___298 = 6,
    TCP_CLOSE___298 = 7,
    TCP_CLOSE_WAIT___298 = 8,
    TCP_LAST_ACK___298 = 9,
    TCP_LISTEN___298 = 10,
    TCP_CLOSING___298 = 11
} ;
enum __anonenum_221125648___298 {
    TCP_NO_QUEUE___298 = 0,
    TCP_RECV_QUEUE___298 = 1,
    TCP_SEND_QUEUE___298 = 2,
    TCP_QUEUES_NR___298 = 3
} ;
enum __anonenum_34415463___298 {
    PTHREAD_CREATE_JOINABLE___298 = 0,
    PTHREAD_CREATE_DETACHED___298 = 1
} ;
enum __anonenum_303612439___298 {
    PTHREAD_MUTEX_TIMED_NP___298 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___298 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___298 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___298 = 3,
    PTHREAD_MUTEX_NORMAL___298 = 0,
    PTHREAD_MUTEX_RECURSIVE___298 = 1,
    PTHREAD_MUTEX_ERRORCHECK___298 = 2,
    PTHREAD_MUTEX_DEFAULT___298 = 0,
    PTHREAD_MUTEX_FAST_NP___298 = 0
} ;
enum __anonenum_931900394___298 {
    PTHREAD_MUTEX_STALLED___298 = 0,
    PTHREAD_MUTEX_STALLED_NP___298 = 0,
    PTHREAD_MUTEX_ROBUST___298 = 1,
    PTHREAD_MUTEX_ROBUST_NP___298 = 1
} ;
enum __anonenum_205214487___298 {
    PTHREAD_PRIO_NONE___298 = 0,
    PTHREAD_PRIO_INHERIT___298 = 1,
    PTHREAD_PRIO_PROTECT___298 = 2
} ;
enum __anonenum_25043950___298 {
    PTHREAD_RWLOCK_PREFER_READER_NP___298 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___298 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___298 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___298 = 0
} ;
enum __anonenum_436439511___298 {
    PTHREAD_INHERIT_SCHED___298 = 0,
    PTHREAD_EXPLICIT_SCHED___298 = 1
} ;
enum __anonenum_998661166___298 {
    PTHREAD_SCOPE_SYSTEM___298 = 0,
    PTHREAD_SCOPE_PROCESS___298 = 1
} ;
enum __anonenum_146137331___298 {
    PTHREAD_PROCESS_PRIVATE___298 = 0,
    PTHREAD_PROCESS_SHARED___298 = 1
} ;
enum __anonenum_53396917___298 {
    PTHREAD_CANCEL_ENABLE___298 = 0,
    PTHREAD_CANCEL_DISABLE___298 = 1
} ;
enum __anonenum_904563783___298 {
    PTHREAD_CANCEL_DEFERRED___298 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___298 = 1
} ;
enum __anonenum_672052974___298 {
    SSL_CT_VALIDATION_PERMISSIVE___298 = 0,
    SSL_CT_VALIDATION_STRICT___298 = 1
} ;
enum __anonenum_437032235___299 {
    _PC_LINK_MAX___299 = 0,
    _PC_MAX_CANON___299 = 1,
    _PC_MAX_INPUT___299 = 2,
    _PC_NAME_MAX___299 = 3,
    _PC_PATH_MAX___299 = 4,
    _PC_PIPE_BUF___299 = 5,
    _PC_CHOWN_RESTRICTED___299 = 6,
    _PC_NO_TRUNC___299 = 7,
    _PC_VDISABLE___299 = 8,
    _PC_SYNC_IO___299 = 9,
    _PC_ASYNC_IO___299 = 10,
    _PC_PRIO_IO___299 = 11,
    _PC_SOCK_MAXBUF___299 = 12,
    _PC_FILESIZEBITS___299 = 13,
    _PC_REC_INCR_XFER_SIZE___299 = 14,
    _PC_REC_MAX_XFER_SIZE___299 = 15,
    _PC_REC_MIN_XFER_SIZE___299 = 16,
    _PC_REC_XFER_ALIGN___299 = 17,
    _PC_ALLOC_SIZE_MIN___299 = 18,
    _PC_SYMLINK_MAX___299 = 19,
    _PC_2_SYMLINKS___299 = 20
} ;
enum __anonenum_315186338___299 {
    _SC_ARG_MAX___299 = 0,
    _SC_CHILD_MAX___299 = 1,
    _SC_CLK_TCK___299 = 2,
    _SC_NGROUPS_MAX___299 = 3,
    _SC_OPEN_MAX___299 = 4,
    _SC_STREAM_MAX___299 = 5,
    _SC_TZNAME_MAX___299 = 6,
    _SC_JOB_CONTROL___299 = 7,
    _SC_SAVED_IDS___299 = 8,
    _SC_REALTIME_SIGNALS___299 = 9,
    _SC_PRIORITY_SCHEDULING___299 = 10,
    _SC_TIMERS___299 = 11,
    _SC_ASYNCHRONOUS_IO___299 = 12,
    _SC_PRIORITIZED_IO___299 = 13,
    _SC_SYNCHRONIZED_IO___299 = 14,
    _SC_FSYNC___299 = 15,
    _SC_MAPPED_FILES___299 = 16,
    _SC_MEMLOCK___299 = 17,
    _SC_MEMLOCK_RANGE___299 = 18,
    _SC_MEMORY_PROTECTION___299 = 19,
    _SC_MESSAGE_PASSING___299 = 20,
    _SC_SEMAPHORES___299 = 21,
    _SC_SHARED_MEMORY_OBJECTS___299 = 22,
    _SC_AIO_LISTIO_MAX___299 = 23,
    _SC_AIO_MAX___299 = 24,
    _SC_AIO_PRIO_DELTA_MAX___299 = 25,
    _SC_DELAYTIMER_MAX___299 = 26,
    _SC_MQ_OPEN_MAX___299 = 27,
    _SC_MQ_PRIO_MAX___299 = 28,
    _SC_VERSION___299 = 29,
    _SC_PAGESIZE___299 = 30,
    _SC_RTSIG_MAX___299 = 31,
    _SC_SEM_NSEMS_MAX___299 = 32,
    _SC_SEM_VALUE_MAX___299 = 33,
    _SC_SIGQUEUE_MAX___299 = 34,
    _SC_TIMER_MAX___299 = 35,
    _SC_BC_BASE_MAX___299 = 36,
    _SC_BC_DIM_MAX___299 = 37,
    _SC_BC_SCALE_MAX___299 = 38,
    _SC_BC_STRING_MAX___299 = 39,
    _SC_COLL_WEIGHTS_MAX___299 = 40,
    _SC_EQUIV_CLASS_MAX___299 = 41,
    _SC_EXPR_NEST_MAX___299 = 42,
    _SC_LINE_MAX___299 = 43,
    _SC_RE_DUP_MAX___299 = 44,
    _SC_CHARCLASS_NAME_MAX___299 = 45,
    _SC_2_VERSION___299 = 46,
    _SC_2_C_BIND___299 = 47,
    _SC_2_C_DEV___299 = 48,
    _SC_2_FORT_DEV___299 = 49,
    _SC_2_FORT_RUN___299 = 50,
    _SC_2_SW_DEV___299 = 51,
    _SC_2_LOCALEDEF___299 = 52,
    _SC_PII___299 = 53,
    _SC_PII_XTI___299 = 54,
    _SC_PII_SOCKET___299 = 55,
    _SC_PII_INTERNET___299 = 56,
    _SC_PII_OSI___299 = 57,
    _SC_POLL___299 = 58,
    _SC_SELECT___299 = 59,
    _SC_UIO_MAXIOV___299 = 60,
    _SC_IOV_MAX___299 = 60,
    _SC_PII_INTERNET_STREAM___299 = 61,
    _SC_PII_INTERNET_DGRAM___299 = 62,
    _SC_PII_OSI_COTS___299 = 63,
    _SC_PII_OSI_CLTS___299 = 64,
    _SC_PII_OSI_M___299 = 65,
    _SC_T_IOV_MAX___299 = 66,
    _SC_THREADS___299 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___299 = 68,
    _SC_GETGR_R_SIZE_MAX___299 = 69,
    _SC_GETPW_R_SIZE_MAX___299 = 70,
    _SC_LOGIN_NAME_MAX___299 = 71,
    _SC_TTY_NAME_MAX___299 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___299 = 73,
    _SC_THREAD_KEYS_MAX___299 = 74,
    _SC_THREAD_STACK_MIN___299 = 75,
    _SC_THREAD_THREADS_MAX___299 = 76,
    _SC_THREAD_ATTR_STACKADDR___299 = 77,
    _SC_THREAD_ATTR_STACKSIZE___299 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___299 = 79,
    _SC_THREAD_PRIO_INHERIT___299 = 80,
    _SC_THREAD_PRIO_PROTECT___299 = 81,
    _SC_THREAD_PROCESS_SHARED___299 = 82,
    _SC_NPROCESSORS_CONF___299 = 83,
    _SC_NPROCESSORS_ONLN___299 = 84,
    _SC_PHYS_PAGES___299 = 85,
    _SC_AVPHYS_PAGES___299 = 86,
    _SC_ATEXIT_MAX___299 = 87,
    _SC_PASS_MAX___299 = 88,
    _SC_XOPEN_VERSION___299 = 89,
    _SC_XOPEN_XCU_VERSION___299 = 90,
    _SC_XOPEN_UNIX___299 = 91,
    _SC_XOPEN_CRYPT___299 = 92,
    _SC_XOPEN_ENH_I18N___299 = 93,
    _SC_XOPEN_SHM___299 = 94,
    _SC_2_CHAR_TERM___299 = 95,
    _SC_2_C_VERSION___299 = 96,
    _SC_2_UPE___299 = 97,
    _SC_XOPEN_XPG2___299 = 98,
    _SC_XOPEN_XPG3___299 = 99,
    _SC_XOPEN_XPG4___299 = 100,
    _SC_CHAR_BIT___299 = 101,
    _SC_CHAR_MAX___299 = 102,
    _SC_CHAR_MIN___299 = 103,
    _SC_INT_MAX___299 = 104,
    _SC_INT_MIN___299 = 105,
    _SC_LONG_BIT___299 = 106,
    _SC_WORD_BIT___299 = 107,
    _SC_MB_LEN_MAX___299 = 108,
    _SC_NZERO___299 = 109,
    _SC_SSIZE_MAX___299 = 110,
    _SC_SCHAR_MAX___299 = 111,
    _SC_SCHAR_MIN___299 = 112,
    _SC_SHRT_MAX___299 = 113,
    _SC_SHRT_MIN___299 = 114,
    _SC_UCHAR_MAX___299 = 115,
    _SC_UINT_MAX___299 = 116,
    _SC_ULONG_MAX___299 = 117,
    _SC_USHRT_MAX___299 = 118,
    _SC_NL_ARGMAX___299 = 119,
    _SC_NL_LANGMAX___299 = 120,
    _SC_NL_MSGMAX___299 = 121,
    _SC_NL_NMAX___299 = 122,
    _SC_NL_SETMAX___299 = 123,
    _SC_NL_TEXTMAX___299 = 124,
    _SC_XBS5_ILP32_OFF32___299 = 125,
    _SC_XBS5_ILP32_OFFBIG___299 = 126,
    _SC_XBS5_LP64_OFF64___299 = 127,
    _SC_XBS5_LPBIG_OFFBIG___299 = 128,
    _SC_XOPEN_LEGACY___299 = 129,
    _SC_XOPEN_REALTIME___299 = 130,
    _SC_XOPEN_REALTIME_THREADS___299 = 131,
    _SC_ADVISORY_INFO___299 = 132,
    _SC_BARRIERS___299 = 133,
    _SC_BASE___299 = 134,
    _SC_C_LANG_SUPPORT___299 = 135,
    _SC_C_LANG_SUPPORT_R___299 = 136,
    _SC_CLOCK_SELECTION___299 = 137,
    _SC_CPUTIME___299 = 138,
    _SC_THREAD_CPUTIME___299 = 139,
    _SC_DEVICE_IO___299 = 140,
    _SC_DEVICE_SPECIFIC___299 = 141,
    _SC_DEVICE_SPECIFIC_R___299 = 142,
    _SC_FD_MGMT___299 = 143,
    _SC_FIFO___299 = 144,
    _SC_PIPE___299 = 145,
    _SC_FILE_ATTRIBUTES___299 = 146,
    _SC_FILE_LOCKING___299 = 147,
    _SC_FILE_SYSTEM___299 = 148,
    _SC_MONOTONIC_CLOCK___299 = 149,
    _SC_MULTI_PROCESS___299 = 150,
    _SC_SINGLE_PROCESS___299 = 151,
    _SC_NETWORKING___299 = 152,
    _SC_READER_WRITER_LOCKS___299 = 153,
    _SC_SPIN_LOCKS___299 = 154,
    _SC_REGEXP___299 = 155,
    _SC_REGEX_VERSION___299 = 156,
    _SC_SHELL___299 = 157,
    _SC_SIGNALS___299 = 158,
    _SC_SPAWN___299 = 159,
    _SC_SPORADIC_SERVER___299 = 160,
    _SC_THREAD_SPORADIC_SERVER___299 = 161,
    _SC_SYSTEM_DATABASE___299 = 162,
    _SC_SYSTEM_DATABASE_R___299 = 163,
    _SC_TIMEOUTS___299 = 164,
    _SC_TYPED_MEMORY_OBJECTS___299 = 165,
    _SC_USER_GROUPS___299 = 166,
    _SC_USER_GROUPS_R___299 = 167,
    _SC_2_PBS___299 = 168,
    _SC_2_PBS_ACCOUNTING___299 = 169,
    _SC_2_PBS_LOCATE___299 = 170,
    _SC_2_PBS_MESSAGE___299 = 171,
    _SC_2_PBS_TRACK___299 = 172,
    _SC_SYMLOOP_MAX___299 = 173,
    _SC_STREAMS___299 = 174,
    _SC_2_PBS_CHECKPOINT___299 = 175,
    _SC_V6_ILP32_OFF32___299 = 176,
    _SC_V6_ILP32_OFFBIG___299 = 177,
    _SC_V6_LP64_OFF64___299 = 178,
    _SC_V6_LPBIG_OFFBIG___299 = 179,
    _SC_HOST_NAME_MAX___299 = 180,
    _SC_TRACE___299 = 181,
    _SC_TRACE_EVENT_FILTER___299 = 182,
    _SC_TRACE_INHERIT___299 = 183,
    _SC_TRACE_LOG___299 = 184,
    _SC_LEVEL1_ICACHE_SIZE___299 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___299 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___299 = 187,
    _SC_LEVEL1_DCACHE_SIZE___299 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___299 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___299 = 190,
    _SC_LEVEL2_CACHE_SIZE___299 = 191,
    _SC_LEVEL2_CACHE_ASSOC___299 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___299 = 193,
    _SC_LEVEL3_CACHE_SIZE___299 = 194,
    _SC_LEVEL3_CACHE_ASSOC___299 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___299 = 196,
    _SC_LEVEL4_CACHE_SIZE___299 = 197,
    _SC_LEVEL4_CACHE_ASSOC___299 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___299 = 199,
    _SC_IPV6___299 = 235,
    _SC_RAW_SOCKETS___299 = 236,
    _SC_V7_ILP32_OFF32___299 = 237,
    _SC_V7_ILP32_OFFBIG___299 = 238,
    _SC_V7_LP64_OFF64___299 = 239,
    _SC_V7_LPBIG_OFFBIG___299 = 240,
    _SC_SS_REPL_MAX___299 = 241,
    _SC_TRACE_EVENT_NAME_MAX___299 = 242,
    _SC_TRACE_NAME_MAX___299 = 243,
    _SC_TRACE_SYS_MAX___299 = 244,
    _SC_TRACE_USER_EVENT_MAX___299 = 245,
    _SC_XOPEN_STREAMS___299 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___299 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___299 = 248
} ;
enum __anonenum_875524036___299 {
    _CS_PATH___299 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___299 = 1,
    _CS_GNU_LIBC_VERSION___299 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___299 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___299 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___299 = 5,
    _CS_LFS_CFLAGS___299 = 1000,
    _CS_LFS_LDFLAGS___299 = 1001,
    _CS_LFS_LIBS___299 = 1002,
    _CS_LFS_LINTFLAGS___299 = 1003,
    _CS_LFS64_CFLAGS___299 = 1004,
    _CS_LFS64_LDFLAGS___299 = 1005,
    _CS_LFS64_LIBS___299 = 1006,
    _CS_LFS64_LINTFLAGS___299 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___299 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___299 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___299 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___299 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___299 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___299 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___299 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___299 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___299 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___299 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___299 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___299 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___299 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___299 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___299 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___299 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___299 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___299 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___299 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___299 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___299 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___299 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___299 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___299 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___299 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___299 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___299 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___299 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___299 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___299 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___299 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___299 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___299 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___299 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___299 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___299 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___299 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___299 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___299 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___299 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___299 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___299 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___299 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___299 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___299 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___299 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___299 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___299 = 1147,
    _CS_V6_ENV___299 = 1148,
    _CS_V7_ENV___299 = 1149
} ;
enum __anonenum_513775621___299 {
    DT_UNKNOWN___299 = 0,
    DT_FIFO___299 = 1,
    DT_CHR___299 = 2,
    DT_DIR___299 = 4,
    DT_BLK___299 = 6,
    DT_REG___299 = 8,
    DT_LNK___299 = 10,
    DT_SOCK___299 = 12,
    DT_WHT___299 = 14
} ;
enum __anonenum_77002343___299 {
    SI_ASYNCNL___299 = -60,
    SI_TKILL___299 = -6,
    SI_SIGIO___299 = -5,
    SI_ASYNCIO___299 = -4,
    SI_MESGQ___299 = -3,
    SI_TIMER___299 = -2,
    SI_QUEUE___299 = -1,
    SI_USER___299 = 0,
    SI_KERNEL___299 = 128
} ;
enum __anonenum_131038172___299 {
    ILL_ILLOPC___299 = 1,
    ILL_ILLOPN___299 = 2,
    ILL_ILLADR___299 = 3,
    ILL_ILLTRP___299 = 4,
    ILL_PRVOPC___299 = 5,
    ILL_PRVREG___299 = 6,
    ILL_COPROC___299 = 7,
    ILL_BADSTK___299 = 8
} ;
enum __anonenum_452038093___299 {
    FPE_INTDIV___299 = 1,
    FPE_INTOVF___299 = 2,
    FPE_FLTDIV___299 = 3,
    FPE_FLTOVF___299 = 4,
    FPE_FLTUND___299 = 5,
    FPE_FLTRES___299 = 6,
    FPE_FLTINV___299 = 7,
    FPE_FLTSUB___299 = 8
} ;
enum __anonenum_30976155___299 {
    SEGV_MAPERR___299 = 1,
    SEGV_ACCERR___299 = 2,
    SEGV_BNDERR___299 = 3,
    SEGV_PKUERR___299 = 4
} ;
enum __anonenum_1036286214___299 {
    BUS_ADRALN___299 = 1,
    BUS_ADRERR___299 = 2,
    BUS_OBJERR___299 = 3,
    BUS_MCEERR_AR___299 = 4,
    BUS_MCEERR_AO___299 = 5
} ;
enum __anonenum_493465559___299 {
    TRAP_BRKPT___299 = 1,
    TRAP_TRACE___299 = 2
} ;
enum __anonenum_23175539___299 {
    CLD_EXITED___299 = 1,
    CLD_KILLED___299 = 2,
    CLD_DUMPED___299 = 3,
    CLD_TRAPPED___299 = 4,
    CLD_STOPPED___299 = 5,
    CLD_CONTINUED___299 = 6
} ;
enum __anonenum_111643124___299 {
    POLL_IN___299 = 1,
    POLL_OUT___299 = 2,
    POLL_MSG___299 = 3,
    POLL_ERR___299 = 4,
    POLL_PRI___299 = 5,
    POLL_HUP___299 = 6
} ;
enum __anonenum_852341087___299 {
    SIGEV_SIGNAL___299 = 0,
    SIGEV_NONE___299 = 1,
    SIGEV_THREAD___299 = 2,
    SIGEV_THREAD_ID___299 = 4
} ;
enum __anonenum_451154152___299 {
    REG_R8___299 = 0,
    REG_R9___299 = 1,
    REG_R10___299 = 2,
    REG_R11___299 = 3,
    REG_R12___299 = 4,
    REG_R13___299 = 5,
    REG_R14___299 = 6,
    REG_R15___299 = 7,
    REG_RDI___299 = 8,
    REG_RSI___299 = 9,
    REG_RBP___299 = 10,
    REG_RBX___299 = 11,
    REG_RDX___299 = 12,
    REG_RAX___299 = 13,
    REG_RCX___299 = 14,
    REG_RSP___299 = 15,
    REG_RIP___299 = 16,
    REG_EFL___299 = 17,
    REG_CSGSFS___299 = 18,
    REG_ERR___299 = 19,
    REG_TRAPNO___299 = 20,
    REG_OLDMASK___299 = 21,
    REG_CR2___299 = 22
} ;
enum __anonenum_57186863___299 {
    SS_ONSTACK___299 = 1,
    SS_DISABLE___299 = 2
} ;
enum __anonenum_83571709___299 {
    MSG_OOB___299 = 1,
    MSG_PEEK___299 = 2,
    MSG_DONTROUTE___299 = 4,
    MSG_TRYHARD___299 = 4,
    MSG_CTRUNC___299 = 8,
    MSG_PROXY___299 = 16,
    MSG_TRUNC___299 = 32,
    MSG_DONTWAIT___299 = 64,
    MSG_EOR___299 = 128,
    MSG_WAITALL___299 = 256,
    MSG_FIN___299 = 512,
    MSG_SYN___299 = 1024,
    MSG_CONFIRM___299 = 2048,
    MSG_RST___299 = 4096,
    MSG_ERRQUEUE___299 = 8192,
    MSG_NOSIGNAL___299 = 16384,
    MSG_MORE___299 = 32768,
    MSG_WAITFORONE___299 = 65536,
    MSG_BATCH___299 = 262144,
    MSG_ZEROCOPY___299 = 67108864,
    MSG_FASTOPEN___299 = 536870912,
    MSG_CMSG_CLOEXEC___299 = 1073741824
} ;
enum __anonenum_617082774___299 {
    SCM_RIGHTS___299 = 1,
    SCM_CREDENTIALS___299 = 2
} ;
enum __anonenum_606441560___299 {
    SHUT_RD___299 = 0,
    SHUT_WR___299 = 1,
    SHUT_RDWR___299 = 2
} ;
enum __anonenum_681669233___299 {
    IPPROTO_IP___299 = 0,
    IPPROTO_ICMP___299 = 1,
    IPPROTO_IGMP___299 = 2,
    IPPROTO_IPIP___299 = 4,
    IPPROTO_TCP___299 = 6,
    IPPROTO_EGP___299 = 8,
    IPPROTO_PUP___299 = 12,
    IPPROTO_UDP___299 = 17,
    IPPROTO_IDP___299 = 22,
    IPPROTO_TP___299 = 29,
    IPPROTO_DCCP___299 = 33,
    IPPROTO_IPV6___299 = 41,
    IPPROTO_RSVP___299 = 46,
    IPPROTO_GRE___299 = 47,
    IPPROTO_ESP___299 = 50,
    IPPROTO_AH___299 = 51,
    IPPROTO_MTP___299 = 92,
    IPPROTO_BEETPH___299 = 94,
    IPPROTO_ENCAP___299 = 98,
    IPPROTO_PIM___299 = 103,
    IPPROTO_COMP___299 = 108,
    IPPROTO_SCTP___299 = 132,
    IPPROTO_UDPLITE___299 = 136,
    IPPROTO_MPLS___299 = 137,
    IPPROTO_RAW___299 = 255,
    IPPROTO_MAX___299 = 256
} ;
enum __anonenum_218739988___299 {
    IPPROTO_HOPOPTS___299 = 0,
    IPPROTO_ROUTING___299 = 43,
    IPPROTO_FRAGMENT___299 = 44,
    IPPROTO_ICMPV6___299 = 58,
    IPPROTO_NONE___299 = 59,
    IPPROTO_DSTOPTS___299 = 60,
    IPPROTO_MH___299 = 135
} ;
enum __anonenum_662268580___299 {
    IPPORT_ECHO___299 = 7,
    IPPORT_DISCARD___299 = 9,
    IPPORT_SYSTAT___299 = 11,
    IPPORT_DAYTIME___299 = 13,
    IPPORT_NETSTAT___299 = 15,
    IPPORT_FTP___299 = 21,
    IPPORT_TELNET___299 = 23,
    IPPORT_SMTP___299 = 25,
    IPPORT_TIMESERVER___299 = 37,
    IPPORT_NAMESERVER___299 = 42,
    IPPORT_WHOIS___299 = 43,
    IPPORT_MTP___299 = 57,
    IPPORT_TFTP___299 = 69,
    IPPORT_RJE___299 = 77,
    IPPORT_FINGER___299 = 79,
    IPPORT_TTYLINK___299 = 87,
    IPPORT_SUPDUP___299 = 95,
    IPPORT_EXECSERVER___299 = 512,
    IPPORT_LOGINSERVER___299 = 513,
    IPPORT_CMDSERVER___299 = 514,
    IPPORT_EFSSERVER___299 = 520,
    IPPORT_BIFFUDP___299 = 512,
    IPPORT_WHOSERVER___299 = 513,
    IPPORT_ROUTESERVER___299 = 520,
    IPPORT_RESERVED___299 = 1024,
    IPPORT_USERRESERVED___299 = 5000
} ;
enum __anonenum_788308992___299 {
    TCP_ESTABLISHED___299 = 1,
    TCP_SYN_SENT___299 = 2,
    TCP_SYN_RECV___299 = 3,
    TCP_FIN_WAIT1___299 = 4,
    TCP_FIN_WAIT2___299 = 5,
    TCP_TIME_WAIT___299 = 6,
    TCP_CLOSE___299 = 7,
    TCP_CLOSE_WAIT___299 = 8,
    TCP_LAST_ACK___299 = 9,
    TCP_LISTEN___299 = 10,
    TCP_CLOSING___299 = 11
} ;
enum __anonenum_221125648___299 {
    TCP_NO_QUEUE___299 = 0,
    TCP_RECV_QUEUE___299 = 1,
    TCP_SEND_QUEUE___299 = 2,
    TCP_QUEUES_NR___299 = 3
} ;
enum __anonenum_34415463___299 {
    PTHREAD_CREATE_JOINABLE___299 = 0,
    PTHREAD_CREATE_DETACHED___299 = 1
} ;
enum __anonenum_303612439___299 {
    PTHREAD_MUTEX_TIMED_NP___299 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___299 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___299 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___299 = 3,
    PTHREAD_MUTEX_NORMAL___299 = 0,
    PTHREAD_MUTEX_RECURSIVE___299 = 1,
    PTHREAD_MUTEX_ERRORCHECK___299 = 2,
    PTHREAD_MUTEX_DEFAULT___299 = 0,
    PTHREAD_MUTEX_FAST_NP___299 = 0
} ;
enum __anonenum_931900394___299 {
    PTHREAD_MUTEX_STALLED___299 = 0,
    PTHREAD_MUTEX_STALLED_NP___299 = 0,
    PTHREAD_MUTEX_ROBUST___299 = 1,
    PTHREAD_MUTEX_ROBUST_NP___299 = 1
} ;
enum __anonenum_205214487___299 {
    PTHREAD_PRIO_NONE___299 = 0,
    PTHREAD_PRIO_INHERIT___299 = 1,
    PTHREAD_PRIO_PROTECT___299 = 2
} ;
enum __anonenum_25043950___299 {
    PTHREAD_RWLOCK_PREFER_READER_NP___299 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___299 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___299 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___299 = 0
} ;
enum __anonenum_436439511___299 {
    PTHREAD_INHERIT_SCHED___299 = 0,
    PTHREAD_EXPLICIT_SCHED___299 = 1
} ;
enum __anonenum_998661166___299 {
    PTHREAD_SCOPE_SYSTEM___299 = 0,
    PTHREAD_SCOPE_PROCESS___299 = 1
} ;
enum __anonenum_146137331___299 {
    PTHREAD_PROCESS_PRIVATE___299 = 0,
    PTHREAD_PROCESS_SHARED___299 = 1
} ;
enum __anonenum_53396917___299 {
    PTHREAD_CANCEL_ENABLE___299 = 0,
    PTHREAD_CANCEL_DISABLE___299 = 1
} ;
enum __anonenum_904563783___299 {
    PTHREAD_CANCEL_DEFERRED___299 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___299 = 1
} ;
enum __anonenum_672052974___299 {
    SSL_CT_VALIDATION_PERMISSIVE___299 = 0,
    SSL_CT_VALIDATION_STRICT___299 = 1
} ;
enum __anonenum_437032235___300 {
    _PC_LINK_MAX___300 = 0,
    _PC_MAX_CANON___300 = 1,
    _PC_MAX_INPUT___300 = 2,
    _PC_NAME_MAX___300 = 3,
    _PC_PATH_MAX___300 = 4,
    _PC_PIPE_BUF___300 = 5,
    _PC_CHOWN_RESTRICTED___300 = 6,
    _PC_NO_TRUNC___300 = 7,
    _PC_VDISABLE___300 = 8,
    _PC_SYNC_IO___300 = 9,
    _PC_ASYNC_IO___300 = 10,
    _PC_PRIO_IO___300 = 11,
    _PC_SOCK_MAXBUF___300 = 12,
    _PC_FILESIZEBITS___300 = 13,
    _PC_REC_INCR_XFER_SIZE___300 = 14,
    _PC_REC_MAX_XFER_SIZE___300 = 15,
    _PC_REC_MIN_XFER_SIZE___300 = 16,
    _PC_REC_XFER_ALIGN___300 = 17,
    _PC_ALLOC_SIZE_MIN___300 = 18,
    _PC_SYMLINK_MAX___300 = 19,
    _PC_2_SYMLINKS___300 = 20
} ;
enum __anonenum_315186338___300 {
    _SC_ARG_MAX___300 = 0,
    _SC_CHILD_MAX___300 = 1,
    _SC_CLK_TCK___300 = 2,
    _SC_NGROUPS_MAX___300 = 3,
    _SC_OPEN_MAX___300 = 4,
    _SC_STREAM_MAX___300 = 5,
    _SC_TZNAME_MAX___300 = 6,
    _SC_JOB_CONTROL___300 = 7,
    _SC_SAVED_IDS___300 = 8,
    _SC_REALTIME_SIGNALS___300 = 9,
    _SC_PRIORITY_SCHEDULING___300 = 10,
    _SC_TIMERS___300 = 11,
    _SC_ASYNCHRONOUS_IO___300 = 12,
    _SC_PRIORITIZED_IO___300 = 13,
    _SC_SYNCHRONIZED_IO___300 = 14,
    _SC_FSYNC___300 = 15,
    _SC_MAPPED_FILES___300 = 16,
    _SC_MEMLOCK___300 = 17,
    _SC_MEMLOCK_RANGE___300 = 18,
    _SC_MEMORY_PROTECTION___300 = 19,
    _SC_MESSAGE_PASSING___300 = 20,
    _SC_SEMAPHORES___300 = 21,
    _SC_SHARED_MEMORY_OBJECTS___300 = 22,
    _SC_AIO_LISTIO_MAX___300 = 23,
    _SC_AIO_MAX___300 = 24,
    _SC_AIO_PRIO_DELTA_MAX___300 = 25,
    _SC_DELAYTIMER_MAX___300 = 26,
    _SC_MQ_OPEN_MAX___300 = 27,
    _SC_MQ_PRIO_MAX___300 = 28,
    _SC_VERSION___300 = 29,
    _SC_PAGESIZE___300 = 30,
    _SC_RTSIG_MAX___300 = 31,
    _SC_SEM_NSEMS_MAX___300 = 32,
    _SC_SEM_VALUE_MAX___300 = 33,
    _SC_SIGQUEUE_MAX___300 = 34,
    _SC_TIMER_MAX___300 = 35,
    _SC_BC_BASE_MAX___300 = 36,
    _SC_BC_DIM_MAX___300 = 37,
    _SC_BC_SCALE_MAX___300 = 38,
    _SC_BC_STRING_MAX___300 = 39,
    _SC_COLL_WEIGHTS_MAX___300 = 40,
    _SC_EQUIV_CLASS_MAX___300 = 41,
    _SC_EXPR_NEST_MAX___300 = 42,
    _SC_LINE_MAX___300 = 43,
    _SC_RE_DUP_MAX___300 = 44,
    _SC_CHARCLASS_NAME_MAX___300 = 45,
    _SC_2_VERSION___300 = 46,
    _SC_2_C_BIND___300 = 47,
    _SC_2_C_DEV___300 = 48,
    _SC_2_FORT_DEV___300 = 49,
    _SC_2_FORT_RUN___300 = 50,
    _SC_2_SW_DEV___300 = 51,
    _SC_2_LOCALEDEF___300 = 52,
    _SC_PII___300 = 53,
    _SC_PII_XTI___300 = 54,
    _SC_PII_SOCKET___300 = 55,
    _SC_PII_INTERNET___300 = 56,
    _SC_PII_OSI___300 = 57,
    _SC_POLL___300 = 58,
    _SC_SELECT___300 = 59,
    _SC_UIO_MAXIOV___300 = 60,
    _SC_IOV_MAX___300 = 60,
    _SC_PII_INTERNET_STREAM___300 = 61,
    _SC_PII_INTERNET_DGRAM___300 = 62,
    _SC_PII_OSI_COTS___300 = 63,
    _SC_PII_OSI_CLTS___300 = 64,
    _SC_PII_OSI_M___300 = 65,
    _SC_T_IOV_MAX___300 = 66,
    _SC_THREADS___300 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___300 = 68,
    _SC_GETGR_R_SIZE_MAX___300 = 69,
    _SC_GETPW_R_SIZE_MAX___300 = 70,
    _SC_LOGIN_NAME_MAX___300 = 71,
    _SC_TTY_NAME_MAX___300 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___300 = 73,
    _SC_THREAD_KEYS_MAX___300 = 74,
    _SC_THREAD_STACK_MIN___300 = 75,
    _SC_THREAD_THREADS_MAX___300 = 76,
    _SC_THREAD_ATTR_STACKADDR___300 = 77,
    _SC_THREAD_ATTR_STACKSIZE___300 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___300 = 79,
    _SC_THREAD_PRIO_INHERIT___300 = 80,
    _SC_THREAD_PRIO_PROTECT___300 = 81,
    _SC_THREAD_PROCESS_SHARED___300 = 82,
    _SC_NPROCESSORS_CONF___300 = 83,
    _SC_NPROCESSORS_ONLN___300 = 84,
    _SC_PHYS_PAGES___300 = 85,
    _SC_AVPHYS_PAGES___300 = 86,
    _SC_ATEXIT_MAX___300 = 87,
    _SC_PASS_MAX___300 = 88,
    _SC_XOPEN_VERSION___300 = 89,
    _SC_XOPEN_XCU_VERSION___300 = 90,
    _SC_XOPEN_UNIX___300 = 91,
    _SC_XOPEN_CRYPT___300 = 92,
    _SC_XOPEN_ENH_I18N___300 = 93,
    _SC_XOPEN_SHM___300 = 94,
    _SC_2_CHAR_TERM___300 = 95,
    _SC_2_C_VERSION___300 = 96,
    _SC_2_UPE___300 = 97,
    _SC_XOPEN_XPG2___300 = 98,
    _SC_XOPEN_XPG3___300 = 99,
    _SC_XOPEN_XPG4___300 = 100,
    _SC_CHAR_BIT___300 = 101,
    _SC_CHAR_MAX___300 = 102,
    _SC_CHAR_MIN___300 = 103,
    _SC_INT_MAX___300 = 104,
    _SC_INT_MIN___300 = 105,
    _SC_LONG_BIT___300 = 106,
    _SC_WORD_BIT___300 = 107,
    _SC_MB_LEN_MAX___300 = 108,
    _SC_NZERO___300 = 109,
    _SC_SSIZE_MAX___300 = 110,
    _SC_SCHAR_MAX___300 = 111,
    _SC_SCHAR_MIN___300 = 112,
    _SC_SHRT_MAX___300 = 113,
    _SC_SHRT_MIN___300 = 114,
    _SC_UCHAR_MAX___300 = 115,
    _SC_UINT_MAX___300 = 116,
    _SC_ULONG_MAX___300 = 117,
    _SC_USHRT_MAX___300 = 118,
    _SC_NL_ARGMAX___300 = 119,
    _SC_NL_LANGMAX___300 = 120,
    _SC_NL_MSGMAX___300 = 121,
    _SC_NL_NMAX___300 = 122,
    _SC_NL_SETMAX___300 = 123,
    _SC_NL_TEXTMAX___300 = 124,
    _SC_XBS5_ILP32_OFF32___300 = 125,
    _SC_XBS5_ILP32_OFFBIG___300 = 126,
    _SC_XBS5_LP64_OFF64___300 = 127,
    _SC_XBS5_LPBIG_OFFBIG___300 = 128,
    _SC_XOPEN_LEGACY___300 = 129,
    _SC_XOPEN_REALTIME___300 = 130,
    _SC_XOPEN_REALTIME_THREADS___300 = 131,
    _SC_ADVISORY_INFO___300 = 132,
    _SC_BARRIERS___300 = 133,
    _SC_BASE___300 = 134,
    _SC_C_LANG_SUPPORT___300 = 135,
    _SC_C_LANG_SUPPORT_R___300 = 136,
    _SC_CLOCK_SELECTION___300 = 137,
    _SC_CPUTIME___300 = 138,
    _SC_THREAD_CPUTIME___300 = 139,
    _SC_DEVICE_IO___300 = 140,
    _SC_DEVICE_SPECIFIC___300 = 141,
    _SC_DEVICE_SPECIFIC_R___300 = 142,
    _SC_FD_MGMT___300 = 143,
    _SC_FIFO___300 = 144,
    _SC_PIPE___300 = 145,
    _SC_FILE_ATTRIBUTES___300 = 146,
    _SC_FILE_LOCKING___300 = 147,
    _SC_FILE_SYSTEM___300 = 148,
    _SC_MONOTONIC_CLOCK___300 = 149,
    _SC_MULTI_PROCESS___300 = 150,
    _SC_SINGLE_PROCESS___300 = 151,
    _SC_NETWORKING___300 = 152,
    _SC_READER_WRITER_LOCKS___300 = 153,
    _SC_SPIN_LOCKS___300 = 154,
    _SC_REGEXP___300 = 155,
    _SC_REGEX_VERSION___300 = 156,
    _SC_SHELL___300 = 157,
    _SC_SIGNALS___300 = 158,
    _SC_SPAWN___300 = 159,
    _SC_SPORADIC_SERVER___300 = 160,
    _SC_THREAD_SPORADIC_SERVER___300 = 161,
    _SC_SYSTEM_DATABASE___300 = 162,
    _SC_SYSTEM_DATABASE_R___300 = 163,
    _SC_TIMEOUTS___300 = 164,
    _SC_TYPED_MEMORY_OBJECTS___300 = 165,
    _SC_USER_GROUPS___300 = 166,
    _SC_USER_GROUPS_R___300 = 167,
    _SC_2_PBS___300 = 168,
    _SC_2_PBS_ACCOUNTING___300 = 169,
    _SC_2_PBS_LOCATE___300 = 170,
    _SC_2_PBS_MESSAGE___300 = 171,
    _SC_2_PBS_TRACK___300 = 172,
    _SC_SYMLOOP_MAX___300 = 173,
    _SC_STREAMS___300 = 174,
    _SC_2_PBS_CHECKPOINT___300 = 175,
    _SC_V6_ILP32_OFF32___300 = 176,
    _SC_V6_ILP32_OFFBIG___300 = 177,
    _SC_V6_LP64_OFF64___300 = 178,
    _SC_V6_LPBIG_OFFBIG___300 = 179,
    _SC_HOST_NAME_MAX___300 = 180,
    _SC_TRACE___300 = 181,
    _SC_TRACE_EVENT_FILTER___300 = 182,
    _SC_TRACE_INHERIT___300 = 183,
    _SC_TRACE_LOG___300 = 184,
    _SC_LEVEL1_ICACHE_SIZE___300 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___300 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___300 = 187,
    _SC_LEVEL1_DCACHE_SIZE___300 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___300 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___300 = 190,
    _SC_LEVEL2_CACHE_SIZE___300 = 191,
    _SC_LEVEL2_CACHE_ASSOC___300 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___300 = 193,
    _SC_LEVEL3_CACHE_SIZE___300 = 194,
    _SC_LEVEL3_CACHE_ASSOC___300 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___300 = 196,
    _SC_LEVEL4_CACHE_SIZE___300 = 197,
    _SC_LEVEL4_CACHE_ASSOC___300 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___300 = 199,
    _SC_IPV6___300 = 235,
    _SC_RAW_SOCKETS___300 = 236,
    _SC_V7_ILP32_OFF32___300 = 237,
    _SC_V7_ILP32_OFFBIG___300 = 238,
    _SC_V7_LP64_OFF64___300 = 239,
    _SC_V7_LPBIG_OFFBIG___300 = 240,
    _SC_SS_REPL_MAX___300 = 241,
    _SC_TRACE_EVENT_NAME_MAX___300 = 242,
    _SC_TRACE_NAME_MAX___300 = 243,
    _SC_TRACE_SYS_MAX___300 = 244,
    _SC_TRACE_USER_EVENT_MAX___300 = 245,
    _SC_XOPEN_STREAMS___300 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___300 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___300 = 248
} ;
enum __anonenum_875524036___300 {
    _CS_PATH___300 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___300 = 1,
    _CS_GNU_LIBC_VERSION___300 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___300 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___300 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___300 = 5,
    _CS_LFS_CFLAGS___300 = 1000,
    _CS_LFS_LDFLAGS___300 = 1001,
    _CS_LFS_LIBS___300 = 1002,
    _CS_LFS_LINTFLAGS___300 = 1003,
    _CS_LFS64_CFLAGS___300 = 1004,
    _CS_LFS64_LDFLAGS___300 = 1005,
    _CS_LFS64_LIBS___300 = 1006,
    _CS_LFS64_LINTFLAGS___300 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___300 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___300 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___300 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___300 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___300 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___300 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___300 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___300 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___300 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___300 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___300 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___300 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___300 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___300 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___300 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___300 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___300 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___300 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___300 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___300 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___300 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___300 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___300 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___300 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___300 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___300 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___300 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___300 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___300 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___300 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___300 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___300 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___300 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___300 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___300 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___300 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___300 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___300 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___300 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___300 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___300 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___300 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___300 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___300 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___300 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___300 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___300 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___300 = 1147,
    _CS_V6_ENV___300 = 1148,
    _CS_V7_ENV___300 = 1149
} ;
enum __anonenum_513775621___300 {
    DT_UNKNOWN___300 = 0,
    DT_FIFO___300 = 1,
    DT_CHR___300 = 2,
    DT_DIR___300 = 4,
    DT_BLK___300 = 6,
    DT_REG___300 = 8,
    DT_LNK___300 = 10,
    DT_SOCK___300 = 12,
    DT_WHT___300 = 14
} ;
enum __anonenum_77002343___300 {
    SI_ASYNCNL___300 = -60,
    SI_TKILL___300 = -6,
    SI_SIGIO___300 = -5,
    SI_ASYNCIO___300 = -4,
    SI_MESGQ___300 = -3,
    SI_TIMER___300 = -2,
    SI_QUEUE___300 = -1,
    SI_USER___300 = 0,
    SI_KERNEL___300 = 128
} ;
enum __anonenum_131038172___300 {
    ILL_ILLOPC___300 = 1,
    ILL_ILLOPN___300 = 2,
    ILL_ILLADR___300 = 3,
    ILL_ILLTRP___300 = 4,
    ILL_PRVOPC___300 = 5,
    ILL_PRVREG___300 = 6,
    ILL_COPROC___300 = 7,
    ILL_BADSTK___300 = 8
} ;
enum __anonenum_452038093___300 {
    FPE_INTDIV___300 = 1,
    FPE_INTOVF___300 = 2,
    FPE_FLTDIV___300 = 3,
    FPE_FLTOVF___300 = 4,
    FPE_FLTUND___300 = 5,
    FPE_FLTRES___300 = 6,
    FPE_FLTINV___300 = 7,
    FPE_FLTSUB___300 = 8
} ;
enum __anonenum_30976155___300 {
    SEGV_MAPERR___300 = 1,
    SEGV_ACCERR___300 = 2,
    SEGV_BNDERR___300 = 3,
    SEGV_PKUERR___300 = 4
} ;
enum __anonenum_1036286214___300 {
    BUS_ADRALN___300 = 1,
    BUS_ADRERR___300 = 2,
    BUS_OBJERR___300 = 3,
    BUS_MCEERR_AR___300 = 4,
    BUS_MCEERR_AO___300 = 5
} ;
enum __anonenum_493465559___300 {
    TRAP_BRKPT___300 = 1,
    TRAP_TRACE___300 = 2
} ;
enum __anonenum_23175539___300 {
    CLD_EXITED___300 = 1,
    CLD_KILLED___300 = 2,
    CLD_DUMPED___300 = 3,
    CLD_TRAPPED___300 = 4,
    CLD_STOPPED___300 = 5,
    CLD_CONTINUED___300 = 6
} ;
enum __anonenum_111643124___300 {
    POLL_IN___300 = 1,
    POLL_OUT___300 = 2,
    POLL_MSG___300 = 3,
    POLL_ERR___300 = 4,
    POLL_PRI___300 = 5,
    POLL_HUP___300 = 6
} ;
enum __anonenum_852341087___300 {
    SIGEV_SIGNAL___300 = 0,
    SIGEV_NONE___300 = 1,
    SIGEV_THREAD___300 = 2,
    SIGEV_THREAD_ID___300 = 4
} ;
enum __anonenum_451154152___300 {
    REG_R8___300 = 0,
    REG_R9___300 = 1,
    REG_R10___300 = 2,
    REG_R11___300 = 3,
    REG_R12___300 = 4,
    REG_R13___300 = 5,
    REG_R14___300 = 6,
    REG_R15___300 = 7,
    REG_RDI___300 = 8,
    REG_RSI___300 = 9,
    REG_RBP___300 = 10,
    REG_RBX___300 = 11,
    REG_RDX___300 = 12,
    REG_RAX___300 = 13,
    REG_RCX___300 = 14,
    REG_RSP___300 = 15,
    REG_RIP___300 = 16,
    REG_EFL___300 = 17,
    REG_CSGSFS___300 = 18,
    REG_ERR___300 = 19,
    REG_TRAPNO___300 = 20,
    REG_OLDMASK___300 = 21,
    REG_CR2___300 = 22
} ;
enum __anonenum_57186863___300 {
    SS_ONSTACK___300 = 1,
    SS_DISABLE___300 = 2
} ;
enum __anonenum_83571709___300 {
    MSG_OOB___300 = 1,
    MSG_PEEK___300 = 2,
    MSG_DONTROUTE___300 = 4,
    MSG_TRYHARD___300 = 4,
    MSG_CTRUNC___300 = 8,
    MSG_PROXY___300 = 16,
    MSG_TRUNC___300 = 32,
    MSG_DONTWAIT___300 = 64,
    MSG_EOR___300 = 128,
    MSG_WAITALL___300 = 256,
    MSG_FIN___300 = 512,
    MSG_SYN___300 = 1024,
    MSG_CONFIRM___300 = 2048,
    MSG_RST___300 = 4096,
    MSG_ERRQUEUE___300 = 8192,
    MSG_NOSIGNAL___300 = 16384,
    MSG_MORE___300 = 32768,
    MSG_WAITFORONE___300 = 65536,
    MSG_BATCH___300 = 262144,
    MSG_ZEROCOPY___300 = 67108864,
    MSG_FASTOPEN___300 = 536870912,
    MSG_CMSG_CLOEXEC___300 = 1073741824
} ;
enum __anonenum_617082774___300 {
    SCM_RIGHTS___300 = 1,
    SCM_CREDENTIALS___300 = 2
} ;
enum __anonenum_606441560___300 {
    SHUT_RD___300 = 0,
    SHUT_WR___300 = 1,
    SHUT_RDWR___300 = 2
} ;
enum __anonenum_681669233___300 {
    IPPROTO_IP___300 = 0,
    IPPROTO_ICMP___300 = 1,
    IPPROTO_IGMP___300 = 2,
    IPPROTO_IPIP___300 = 4,
    IPPROTO_TCP___300 = 6,
    IPPROTO_EGP___300 = 8,
    IPPROTO_PUP___300 = 12,
    IPPROTO_UDP___300 = 17,
    IPPROTO_IDP___300 = 22,
    IPPROTO_TP___300 = 29,
    IPPROTO_DCCP___300 = 33,
    IPPROTO_IPV6___300 = 41,
    IPPROTO_RSVP___300 = 46,
    IPPROTO_GRE___300 = 47,
    IPPROTO_ESP___300 = 50,
    IPPROTO_AH___300 = 51,
    IPPROTO_MTP___300 = 92,
    IPPROTO_BEETPH___300 = 94,
    IPPROTO_ENCAP___300 = 98,
    IPPROTO_PIM___300 = 103,
    IPPROTO_COMP___300 = 108,
    IPPROTO_SCTP___300 = 132,
    IPPROTO_UDPLITE___300 = 136,
    IPPROTO_MPLS___300 = 137,
    IPPROTO_RAW___300 = 255,
    IPPROTO_MAX___300 = 256
} ;
enum __anonenum_218739988___300 {
    IPPROTO_HOPOPTS___300 = 0,
    IPPROTO_ROUTING___300 = 43,
    IPPROTO_FRAGMENT___300 = 44,
    IPPROTO_ICMPV6___300 = 58,
    IPPROTO_NONE___300 = 59,
    IPPROTO_DSTOPTS___300 = 60,
    IPPROTO_MH___300 = 135
} ;
enum __anonenum_662268580___300 {
    IPPORT_ECHO___300 = 7,
    IPPORT_DISCARD___300 = 9,
    IPPORT_SYSTAT___300 = 11,
    IPPORT_DAYTIME___300 = 13,
    IPPORT_NETSTAT___300 = 15,
    IPPORT_FTP___300 = 21,
    IPPORT_TELNET___300 = 23,
    IPPORT_SMTP___300 = 25,
    IPPORT_TIMESERVER___300 = 37,
    IPPORT_NAMESERVER___300 = 42,
    IPPORT_WHOIS___300 = 43,
    IPPORT_MTP___300 = 57,
    IPPORT_TFTP___300 = 69,
    IPPORT_RJE___300 = 77,
    IPPORT_FINGER___300 = 79,
    IPPORT_TTYLINK___300 = 87,
    IPPORT_SUPDUP___300 = 95,
    IPPORT_EXECSERVER___300 = 512,
    IPPORT_LOGINSERVER___300 = 513,
    IPPORT_CMDSERVER___300 = 514,
    IPPORT_EFSSERVER___300 = 520,
    IPPORT_BIFFUDP___300 = 512,
    IPPORT_WHOSERVER___300 = 513,
    IPPORT_ROUTESERVER___300 = 520,
    IPPORT_RESERVED___300 = 1024,
    IPPORT_USERRESERVED___300 = 5000
} ;
enum __anonenum_788308992___300 {
    TCP_ESTABLISHED___300 = 1,
    TCP_SYN_SENT___300 = 2,
    TCP_SYN_RECV___300 = 3,
    TCP_FIN_WAIT1___300 = 4,
    TCP_FIN_WAIT2___300 = 5,
    TCP_TIME_WAIT___300 = 6,
    TCP_CLOSE___300 = 7,
    TCP_CLOSE_WAIT___300 = 8,
    TCP_LAST_ACK___300 = 9,
    TCP_LISTEN___300 = 10,
    TCP_CLOSING___300 = 11
} ;
enum __anonenum_221125648___300 {
    TCP_NO_QUEUE___300 = 0,
    TCP_RECV_QUEUE___300 = 1,
    TCP_SEND_QUEUE___300 = 2,
    TCP_QUEUES_NR___300 = 3
} ;
enum __anonenum_34415463___300 {
    PTHREAD_CREATE_JOINABLE___300 = 0,
    PTHREAD_CREATE_DETACHED___300 = 1
} ;
enum __anonenum_303612439___300 {
    PTHREAD_MUTEX_TIMED_NP___300 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___300 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___300 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___300 = 3,
    PTHREAD_MUTEX_NORMAL___300 = 0,
    PTHREAD_MUTEX_RECURSIVE___300 = 1,
    PTHREAD_MUTEX_ERRORCHECK___300 = 2,
    PTHREAD_MUTEX_DEFAULT___300 = 0,
    PTHREAD_MUTEX_FAST_NP___300 = 0
} ;
enum __anonenum_931900394___300 {
    PTHREAD_MUTEX_STALLED___300 = 0,
    PTHREAD_MUTEX_STALLED_NP___300 = 0,
    PTHREAD_MUTEX_ROBUST___300 = 1,
    PTHREAD_MUTEX_ROBUST_NP___300 = 1
} ;
enum __anonenum_205214487___300 {
    PTHREAD_PRIO_NONE___300 = 0,
    PTHREAD_PRIO_INHERIT___300 = 1,
    PTHREAD_PRIO_PROTECT___300 = 2
} ;
enum __anonenum_25043950___300 {
    PTHREAD_RWLOCK_PREFER_READER_NP___300 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___300 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___300 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___300 = 0
} ;
enum __anonenum_436439511___300 {
    PTHREAD_INHERIT_SCHED___300 = 0,
    PTHREAD_EXPLICIT_SCHED___300 = 1
} ;
enum __anonenum_998661166___300 {
    PTHREAD_SCOPE_SYSTEM___300 = 0,
    PTHREAD_SCOPE_PROCESS___300 = 1
} ;
enum __anonenum_146137331___300 {
    PTHREAD_PROCESS_PRIVATE___300 = 0,
    PTHREAD_PROCESS_SHARED___300 = 1
} ;
enum __anonenum_53396917___300 {
    PTHREAD_CANCEL_ENABLE___300 = 0,
    PTHREAD_CANCEL_DISABLE___300 = 1
} ;
enum __anonenum_904563783___300 {
    PTHREAD_CANCEL_DEFERRED___300 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___300 = 1
} ;
enum __anonenum_672052974___300 {
    SSL_CT_VALIDATION_PERMISSIVE___300 = 0,
    SSL_CT_VALIDATION_STRICT___300 = 1
} ;
struct commit_name ;
struct commit_names {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   struct commit_name ***slab ;
};
struct commit_name {
   struct hashmap_entry entry ;
   struct object_id peeled ;
   struct tag *tag ;
   unsigned int prio : 2 ;
   unsigned int name_checked : 1 ;
   unsigned int misnamed : 1 ;
   struct object_id oid ;
   char *path ;
};
struct possible_tag {
   struct commit_name *name ;
   int depth ;
   int found_order ;
   unsigned int flag_within ;
};
struct process_commit_data {
   struct object_id current_commit ;
   struct object_id looking_for ;
   struct strbuf *dst ;
   struct rev_info *revs ;
};
enum __anonenum_437032235___301 {
    _PC_LINK_MAX___301 = 0,
    _PC_MAX_CANON___301 = 1,
    _PC_MAX_INPUT___301 = 2,
    _PC_NAME_MAX___301 = 3,
    _PC_PATH_MAX___301 = 4,
    _PC_PIPE_BUF___301 = 5,
    _PC_CHOWN_RESTRICTED___301 = 6,
    _PC_NO_TRUNC___301 = 7,
    _PC_VDISABLE___301 = 8,
    _PC_SYNC_IO___301 = 9,
    _PC_ASYNC_IO___301 = 10,
    _PC_PRIO_IO___301 = 11,
    _PC_SOCK_MAXBUF___301 = 12,
    _PC_FILESIZEBITS___301 = 13,
    _PC_REC_INCR_XFER_SIZE___301 = 14,
    _PC_REC_MAX_XFER_SIZE___301 = 15,
    _PC_REC_MIN_XFER_SIZE___301 = 16,
    _PC_REC_XFER_ALIGN___301 = 17,
    _PC_ALLOC_SIZE_MIN___301 = 18,
    _PC_SYMLINK_MAX___301 = 19,
    _PC_2_SYMLINKS___301 = 20
} ;
enum __anonenum_315186338___301 {
    _SC_ARG_MAX___301 = 0,
    _SC_CHILD_MAX___301 = 1,
    _SC_CLK_TCK___301 = 2,
    _SC_NGROUPS_MAX___301 = 3,
    _SC_OPEN_MAX___301 = 4,
    _SC_STREAM_MAX___301 = 5,
    _SC_TZNAME_MAX___301 = 6,
    _SC_JOB_CONTROL___301 = 7,
    _SC_SAVED_IDS___301 = 8,
    _SC_REALTIME_SIGNALS___301 = 9,
    _SC_PRIORITY_SCHEDULING___301 = 10,
    _SC_TIMERS___301 = 11,
    _SC_ASYNCHRONOUS_IO___301 = 12,
    _SC_PRIORITIZED_IO___301 = 13,
    _SC_SYNCHRONIZED_IO___301 = 14,
    _SC_FSYNC___301 = 15,
    _SC_MAPPED_FILES___301 = 16,
    _SC_MEMLOCK___301 = 17,
    _SC_MEMLOCK_RANGE___301 = 18,
    _SC_MEMORY_PROTECTION___301 = 19,
    _SC_MESSAGE_PASSING___301 = 20,
    _SC_SEMAPHORES___301 = 21,
    _SC_SHARED_MEMORY_OBJECTS___301 = 22,
    _SC_AIO_LISTIO_MAX___301 = 23,
    _SC_AIO_MAX___301 = 24,
    _SC_AIO_PRIO_DELTA_MAX___301 = 25,
    _SC_DELAYTIMER_MAX___301 = 26,
    _SC_MQ_OPEN_MAX___301 = 27,
    _SC_MQ_PRIO_MAX___301 = 28,
    _SC_VERSION___301 = 29,
    _SC_PAGESIZE___301 = 30,
    _SC_RTSIG_MAX___301 = 31,
    _SC_SEM_NSEMS_MAX___301 = 32,
    _SC_SEM_VALUE_MAX___301 = 33,
    _SC_SIGQUEUE_MAX___301 = 34,
    _SC_TIMER_MAX___301 = 35,
    _SC_BC_BASE_MAX___301 = 36,
    _SC_BC_DIM_MAX___301 = 37,
    _SC_BC_SCALE_MAX___301 = 38,
    _SC_BC_STRING_MAX___301 = 39,
    _SC_COLL_WEIGHTS_MAX___301 = 40,
    _SC_EQUIV_CLASS_MAX___301 = 41,
    _SC_EXPR_NEST_MAX___301 = 42,
    _SC_LINE_MAX___301 = 43,
    _SC_RE_DUP_MAX___301 = 44,
    _SC_CHARCLASS_NAME_MAX___301 = 45,
    _SC_2_VERSION___301 = 46,
    _SC_2_C_BIND___301 = 47,
    _SC_2_C_DEV___301 = 48,
    _SC_2_FORT_DEV___301 = 49,
    _SC_2_FORT_RUN___301 = 50,
    _SC_2_SW_DEV___301 = 51,
    _SC_2_LOCALEDEF___301 = 52,
    _SC_PII___301 = 53,
    _SC_PII_XTI___301 = 54,
    _SC_PII_SOCKET___301 = 55,
    _SC_PII_INTERNET___301 = 56,
    _SC_PII_OSI___301 = 57,
    _SC_POLL___301 = 58,
    _SC_SELECT___301 = 59,
    _SC_UIO_MAXIOV___301 = 60,
    _SC_IOV_MAX___301 = 60,
    _SC_PII_INTERNET_STREAM___301 = 61,
    _SC_PII_INTERNET_DGRAM___301 = 62,
    _SC_PII_OSI_COTS___301 = 63,
    _SC_PII_OSI_CLTS___301 = 64,
    _SC_PII_OSI_M___301 = 65,
    _SC_T_IOV_MAX___301 = 66,
    _SC_THREADS___301 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___301 = 68,
    _SC_GETGR_R_SIZE_MAX___301 = 69,
    _SC_GETPW_R_SIZE_MAX___301 = 70,
    _SC_LOGIN_NAME_MAX___301 = 71,
    _SC_TTY_NAME_MAX___301 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___301 = 73,
    _SC_THREAD_KEYS_MAX___301 = 74,
    _SC_THREAD_STACK_MIN___301 = 75,
    _SC_THREAD_THREADS_MAX___301 = 76,
    _SC_THREAD_ATTR_STACKADDR___301 = 77,
    _SC_THREAD_ATTR_STACKSIZE___301 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___301 = 79,
    _SC_THREAD_PRIO_INHERIT___301 = 80,
    _SC_THREAD_PRIO_PROTECT___301 = 81,
    _SC_THREAD_PROCESS_SHARED___301 = 82,
    _SC_NPROCESSORS_CONF___301 = 83,
    _SC_NPROCESSORS_ONLN___301 = 84,
    _SC_PHYS_PAGES___301 = 85,
    _SC_AVPHYS_PAGES___301 = 86,
    _SC_ATEXIT_MAX___301 = 87,
    _SC_PASS_MAX___301 = 88,
    _SC_XOPEN_VERSION___301 = 89,
    _SC_XOPEN_XCU_VERSION___301 = 90,
    _SC_XOPEN_UNIX___301 = 91,
    _SC_XOPEN_CRYPT___301 = 92,
    _SC_XOPEN_ENH_I18N___301 = 93,
    _SC_XOPEN_SHM___301 = 94,
    _SC_2_CHAR_TERM___301 = 95,
    _SC_2_C_VERSION___301 = 96,
    _SC_2_UPE___301 = 97,
    _SC_XOPEN_XPG2___301 = 98,
    _SC_XOPEN_XPG3___301 = 99,
    _SC_XOPEN_XPG4___301 = 100,
    _SC_CHAR_BIT___301 = 101,
    _SC_CHAR_MAX___301 = 102,
    _SC_CHAR_MIN___301 = 103,
    _SC_INT_MAX___301 = 104,
    _SC_INT_MIN___301 = 105,
    _SC_LONG_BIT___301 = 106,
    _SC_WORD_BIT___301 = 107,
    _SC_MB_LEN_MAX___301 = 108,
    _SC_NZERO___301 = 109,
    _SC_SSIZE_MAX___301 = 110,
    _SC_SCHAR_MAX___301 = 111,
    _SC_SCHAR_MIN___301 = 112,
    _SC_SHRT_MAX___301 = 113,
    _SC_SHRT_MIN___301 = 114,
    _SC_UCHAR_MAX___301 = 115,
    _SC_UINT_MAX___301 = 116,
    _SC_ULONG_MAX___301 = 117,
    _SC_USHRT_MAX___301 = 118,
    _SC_NL_ARGMAX___301 = 119,
    _SC_NL_LANGMAX___301 = 120,
    _SC_NL_MSGMAX___301 = 121,
    _SC_NL_NMAX___301 = 122,
    _SC_NL_SETMAX___301 = 123,
    _SC_NL_TEXTMAX___301 = 124,
    _SC_XBS5_ILP32_OFF32___301 = 125,
    _SC_XBS5_ILP32_OFFBIG___301 = 126,
    _SC_XBS5_LP64_OFF64___301 = 127,
    _SC_XBS5_LPBIG_OFFBIG___301 = 128,
    _SC_XOPEN_LEGACY___301 = 129,
    _SC_XOPEN_REALTIME___301 = 130,
    _SC_XOPEN_REALTIME_THREADS___301 = 131,
    _SC_ADVISORY_INFO___301 = 132,
    _SC_BARRIERS___301 = 133,
    _SC_BASE___301 = 134,
    _SC_C_LANG_SUPPORT___301 = 135,
    _SC_C_LANG_SUPPORT_R___301 = 136,
    _SC_CLOCK_SELECTION___301 = 137,
    _SC_CPUTIME___301 = 138,
    _SC_THREAD_CPUTIME___301 = 139,
    _SC_DEVICE_IO___301 = 140,
    _SC_DEVICE_SPECIFIC___301 = 141,
    _SC_DEVICE_SPECIFIC_R___301 = 142,
    _SC_FD_MGMT___301 = 143,
    _SC_FIFO___301 = 144,
    _SC_PIPE___301 = 145,
    _SC_FILE_ATTRIBUTES___301 = 146,
    _SC_FILE_LOCKING___301 = 147,
    _SC_FILE_SYSTEM___301 = 148,
    _SC_MONOTONIC_CLOCK___301 = 149,
    _SC_MULTI_PROCESS___301 = 150,
    _SC_SINGLE_PROCESS___301 = 151,
    _SC_NETWORKING___301 = 152,
    _SC_READER_WRITER_LOCKS___301 = 153,
    _SC_SPIN_LOCKS___301 = 154,
    _SC_REGEXP___301 = 155,
    _SC_REGEX_VERSION___301 = 156,
    _SC_SHELL___301 = 157,
    _SC_SIGNALS___301 = 158,
    _SC_SPAWN___301 = 159,
    _SC_SPORADIC_SERVER___301 = 160,
    _SC_THREAD_SPORADIC_SERVER___301 = 161,
    _SC_SYSTEM_DATABASE___301 = 162,
    _SC_SYSTEM_DATABASE_R___301 = 163,
    _SC_TIMEOUTS___301 = 164,
    _SC_TYPED_MEMORY_OBJECTS___301 = 165,
    _SC_USER_GROUPS___301 = 166,
    _SC_USER_GROUPS_R___301 = 167,
    _SC_2_PBS___301 = 168,
    _SC_2_PBS_ACCOUNTING___301 = 169,
    _SC_2_PBS_LOCATE___301 = 170,
    _SC_2_PBS_MESSAGE___301 = 171,
    _SC_2_PBS_TRACK___301 = 172,
    _SC_SYMLOOP_MAX___301 = 173,
    _SC_STREAMS___301 = 174,
    _SC_2_PBS_CHECKPOINT___301 = 175,
    _SC_V6_ILP32_OFF32___301 = 176,
    _SC_V6_ILP32_OFFBIG___301 = 177,
    _SC_V6_LP64_OFF64___301 = 178,
    _SC_V6_LPBIG_OFFBIG___301 = 179,
    _SC_HOST_NAME_MAX___301 = 180,
    _SC_TRACE___301 = 181,
    _SC_TRACE_EVENT_FILTER___301 = 182,
    _SC_TRACE_INHERIT___301 = 183,
    _SC_TRACE_LOG___301 = 184,
    _SC_LEVEL1_ICACHE_SIZE___301 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___301 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___301 = 187,
    _SC_LEVEL1_DCACHE_SIZE___301 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___301 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___301 = 190,
    _SC_LEVEL2_CACHE_SIZE___301 = 191,
    _SC_LEVEL2_CACHE_ASSOC___301 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___301 = 193,
    _SC_LEVEL3_CACHE_SIZE___301 = 194,
    _SC_LEVEL3_CACHE_ASSOC___301 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___301 = 196,
    _SC_LEVEL4_CACHE_SIZE___301 = 197,
    _SC_LEVEL4_CACHE_ASSOC___301 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___301 = 199,
    _SC_IPV6___301 = 235,
    _SC_RAW_SOCKETS___301 = 236,
    _SC_V7_ILP32_OFF32___301 = 237,
    _SC_V7_ILP32_OFFBIG___301 = 238,
    _SC_V7_LP64_OFF64___301 = 239,
    _SC_V7_LPBIG_OFFBIG___301 = 240,
    _SC_SS_REPL_MAX___301 = 241,
    _SC_TRACE_EVENT_NAME_MAX___301 = 242,
    _SC_TRACE_NAME_MAX___301 = 243,
    _SC_TRACE_SYS_MAX___301 = 244,
    _SC_TRACE_USER_EVENT_MAX___301 = 245,
    _SC_XOPEN_STREAMS___301 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___301 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___301 = 248
} ;
enum __anonenum_875524036___301 {
    _CS_PATH___301 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___301 = 1,
    _CS_GNU_LIBC_VERSION___301 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___301 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___301 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___301 = 5,
    _CS_LFS_CFLAGS___301 = 1000,
    _CS_LFS_LDFLAGS___301 = 1001,
    _CS_LFS_LIBS___301 = 1002,
    _CS_LFS_LINTFLAGS___301 = 1003,
    _CS_LFS64_CFLAGS___301 = 1004,
    _CS_LFS64_LDFLAGS___301 = 1005,
    _CS_LFS64_LIBS___301 = 1006,
    _CS_LFS64_LINTFLAGS___301 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___301 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___301 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___301 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___301 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___301 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___301 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___301 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___301 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___301 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___301 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___301 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___301 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___301 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___301 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___301 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___301 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___301 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___301 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___301 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___301 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___301 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___301 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___301 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___301 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___301 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___301 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___301 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___301 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___301 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___301 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___301 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___301 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___301 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___301 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___301 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___301 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___301 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___301 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___301 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___301 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___301 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___301 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___301 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___301 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___301 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___301 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___301 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___301 = 1147,
    _CS_V6_ENV___301 = 1148,
    _CS_V7_ENV___301 = 1149
} ;
enum __anonenum_513775621___301 {
    DT_UNKNOWN___301 = 0,
    DT_FIFO___301 = 1,
    DT_CHR___301 = 2,
    DT_DIR___301 = 4,
    DT_BLK___301 = 6,
    DT_REG___301 = 8,
    DT_LNK___301 = 10,
    DT_SOCK___301 = 12,
    DT_WHT___301 = 14
} ;
enum __anonenum_77002343___301 {
    SI_ASYNCNL___301 = -60,
    SI_TKILL___301 = -6,
    SI_SIGIO___301 = -5,
    SI_ASYNCIO___301 = -4,
    SI_MESGQ___301 = -3,
    SI_TIMER___301 = -2,
    SI_QUEUE___301 = -1,
    SI_USER___301 = 0,
    SI_KERNEL___301 = 128
} ;
enum __anonenum_131038172___301 {
    ILL_ILLOPC___301 = 1,
    ILL_ILLOPN___301 = 2,
    ILL_ILLADR___301 = 3,
    ILL_ILLTRP___301 = 4,
    ILL_PRVOPC___301 = 5,
    ILL_PRVREG___301 = 6,
    ILL_COPROC___301 = 7,
    ILL_BADSTK___301 = 8
} ;
enum __anonenum_452038093___301 {
    FPE_INTDIV___301 = 1,
    FPE_INTOVF___301 = 2,
    FPE_FLTDIV___301 = 3,
    FPE_FLTOVF___301 = 4,
    FPE_FLTUND___301 = 5,
    FPE_FLTRES___301 = 6,
    FPE_FLTINV___301 = 7,
    FPE_FLTSUB___301 = 8
} ;
enum __anonenum_30976155___301 {
    SEGV_MAPERR___301 = 1,
    SEGV_ACCERR___301 = 2,
    SEGV_BNDERR___301 = 3,
    SEGV_PKUERR___301 = 4
} ;
enum __anonenum_1036286214___301 {
    BUS_ADRALN___301 = 1,
    BUS_ADRERR___301 = 2,
    BUS_OBJERR___301 = 3,
    BUS_MCEERR_AR___301 = 4,
    BUS_MCEERR_AO___301 = 5
} ;
enum __anonenum_493465559___301 {
    TRAP_BRKPT___301 = 1,
    TRAP_TRACE___301 = 2
} ;
enum __anonenum_23175539___301 {
    CLD_EXITED___301 = 1,
    CLD_KILLED___301 = 2,
    CLD_DUMPED___301 = 3,
    CLD_TRAPPED___301 = 4,
    CLD_STOPPED___301 = 5,
    CLD_CONTINUED___301 = 6
} ;
enum __anonenum_111643124___301 {
    POLL_IN___301 = 1,
    POLL_OUT___301 = 2,
    POLL_MSG___301 = 3,
    POLL_ERR___301 = 4,
    POLL_PRI___301 = 5,
    POLL_HUP___301 = 6
} ;
enum __anonenum_852341087___301 {
    SIGEV_SIGNAL___301 = 0,
    SIGEV_NONE___301 = 1,
    SIGEV_THREAD___301 = 2,
    SIGEV_THREAD_ID___301 = 4
} ;
enum __anonenum_451154152___301 {
    REG_R8___301 = 0,
    REG_R9___301 = 1,
    REG_R10___301 = 2,
    REG_R11___301 = 3,
    REG_R12___301 = 4,
    REG_R13___301 = 5,
    REG_R14___301 = 6,
    REG_R15___301 = 7,
    REG_RDI___301 = 8,
    REG_RSI___301 = 9,
    REG_RBP___301 = 10,
    REG_RBX___301 = 11,
    REG_RDX___301 = 12,
    REG_RAX___301 = 13,
    REG_RCX___301 = 14,
    REG_RSP___301 = 15,
    REG_RIP___301 = 16,
    REG_EFL___301 = 17,
    REG_CSGSFS___301 = 18,
    REG_ERR___301 = 19,
    REG_TRAPNO___301 = 20,
    REG_OLDMASK___301 = 21,
    REG_CR2___301 = 22
} ;
enum __anonenum_57186863___301 {
    SS_ONSTACK___301 = 1,
    SS_DISABLE___301 = 2
} ;
enum __anonenum_83571709___301 {
    MSG_OOB___301 = 1,
    MSG_PEEK___301 = 2,
    MSG_DONTROUTE___301 = 4,
    MSG_TRYHARD___301 = 4,
    MSG_CTRUNC___301 = 8,
    MSG_PROXY___301 = 16,
    MSG_TRUNC___301 = 32,
    MSG_DONTWAIT___301 = 64,
    MSG_EOR___301 = 128,
    MSG_WAITALL___301 = 256,
    MSG_FIN___301 = 512,
    MSG_SYN___301 = 1024,
    MSG_CONFIRM___301 = 2048,
    MSG_RST___301 = 4096,
    MSG_ERRQUEUE___301 = 8192,
    MSG_NOSIGNAL___301 = 16384,
    MSG_MORE___301 = 32768,
    MSG_WAITFORONE___301 = 65536,
    MSG_BATCH___301 = 262144,
    MSG_ZEROCOPY___301 = 67108864,
    MSG_FASTOPEN___301 = 536870912,
    MSG_CMSG_CLOEXEC___301 = 1073741824
} ;
enum __anonenum_617082774___301 {
    SCM_RIGHTS___301 = 1,
    SCM_CREDENTIALS___301 = 2
} ;
enum __anonenum_606441560___301 {
    SHUT_RD___301 = 0,
    SHUT_WR___301 = 1,
    SHUT_RDWR___301 = 2
} ;
enum __anonenum_681669233___301 {
    IPPROTO_IP___301 = 0,
    IPPROTO_ICMP___301 = 1,
    IPPROTO_IGMP___301 = 2,
    IPPROTO_IPIP___301 = 4,
    IPPROTO_TCP___301 = 6,
    IPPROTO_EGP___301 = 8,
    IPPROTO_PUP___301 = 12,
    IPPROTO_UDP___301 = 17,
    IPPROTO_IDP___301 = 22,
    IPPROTO_TP___301 = 29,
    IPPROTO_DCCP___301 = 33,
    IPPROTO_IPV6___301 = 41,
    IPPROTO_RSVP___301 = 46,
    IPPROTO_GRE___301 = 47,
    IPPROTO_ESP___301 = 50,
    IPPROTO_AH___301 = 51,
    IPPROTO_MTP___301 = 92,
    IPPROTO_BEETPH___301 = 94,
    IPPROTO_ENCAP___301 = 98,
    IPPROTO_PIM___301 = 103,
    IPPROTO_COMP___301 = 108,
    IPPROTO_SCTP___301 = 132,
    IPPROTO_UDPLITE___301 = 136,
    IPPROTO_MPLS___301 = 137,
    IPPROTO_RAW___301 = 255,
    IPPROTO_MAX___301 = 256
} ;
enum __anonenum_218739988___301 {
    IPPROTO_HOPOPTS___301 = 0,
    IPPROTO_ROUTING___301 = 43,
    IPPROTO_FRAGMENT___301 = 44,
    IPPROTO_ICMPV6___301 = 58,
    IPPROTO_NONE___301 = 59,
    IPPROTO_DSTOPTS___301 = 60,
    IPPROTO_MH___301 = 135
} ;
enum __anonenum_662268580___301 {
    IPPORT_ECHO___301 = 7,
    IPPORT_DISCARD___301 = 9,
    IPPORT_SYSTAT___301 = 11,
    IPPORT_DAYTIME___301 = 13,
    IPPORT_NETSTAT___301 = 15,
    IPPORT_FTP___301 = 21,
    IPPORT_TELNET___301 = 23,
    IPPORT_SMTP___301 = 25,
    IPPORT_TIMESERVER___301 = 37,
    IPPORT_NAMESERVER___301 = 42,
    IPPORT_WHOIS___301 = 43,
    IPPORT_MTP___301 = 57,
    IPPORT_TFTP___301 = 69,
    IPPORT_RJE___301 = 77,
    IPPORT_FINGER___301 = 79,
    IPPORT_TTYLINK___301 = 87,
    IPPORT_SUPDUP___301 = 95,
    IPPORT_EXECSERVER___301 = 512,
    IPPORT_LOGINSERVER___301 = 513,
    IPPORT_CMDSERVER___301 = 514,
    IPPORT_EFSSERVER___301 = 520,
    IPPORT_BIFFUDP___301 = 512,
    IPPORT_WHOSERVER___301 = 513,
    IPPORT_ROUTESERVER___301 = 520,
    IPPORT_RESERVED___301 = 1024,
    IPPORT_USERRESERVED___301 = 5000
} ;
enum __anonenum_788308992___301 {
    TCP_ESTABLISHED___301 = 1,
    TCP_SYN_SENT___301 = 2,
    TCP_SYN_RECV___301 = 3,
    TCP_FIN_WAIT1___301 = 4,
    TCP_FIN_WAIT2___301 = 5,
    TCP_TIME_WAIT___301 = 6,
    TCP_CLOSE___301 = 7,
    TCP_CLOSE_WAIT___301 = 8,
    TCP_LAST_ACK___301 = 9,
    TCP_LISTEN___301 = 10,
    TCP_CLOSING___301 = 11
} ;
enum __anonenum_221125648___301 {
    TCP_NO_QUEUE___301 = 0,
    TCP_RECV_QUEUE___301 = 1,
    TCP_SEND_QUEUE___301 = 2,
    TCP_QUEUES_NR___301 = 3
} ;
enum __anonenum_34415463___301 {
    PTHREAD_CREATE_JOINABLE___301 = 0,
    PTHREAD_CREATE_DETACHED___301 = 1
} ;
enum __anonenum_303612439___301 {
    PTHREAD_MUTEX_TIMED_NP___301 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___301 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___301 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___301 = 3,
    PTHREAD_MUTEX_NORMAL___301 = 0,
    PTHREAD_MUTEX_RECURSIVE___301 = 1,
    PTHREAD_MUTEX_ERRORCHECK___301 = 2,
    PTHREAD_MUTEX_DEFAULT___301 = 0,
    PTHREAD_MUTEX_FAST_NP___301 = 0
} ;
enum __anonenum_931900394___301 {
    PTHREAD_MUTEX_STALLED___301 = 0,
    PTHREAD_MUTEX_STALLED_NP___301 = 0,
    PTHREAD_MUTEX_ROBUST___301 = 1,
    PTHREAD_MUTEX_ROBUST_NP___301 = 1
} ;
enum __anonenum_205214487___301 {
    PTHREAD_PRIO_NONE___301 = 0,
    PTHREAD_PRIO_INHERIT___301 = 1,
    PTHREAD_PRIO_PROTECT___301 = 2
} ;
enum __anonenum_25043950___301 {
    PTHREAD_RWLOCK_PREFER_READER_NP___301 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___301 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___301 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___301 = 0
} ;
enum __anonenum_436439511___301 {
    PTHREAD_INHERIT_SCHED___301 = 0,
    PTHREAD_EXPLICIT_SCHED___301 = 1
} ;
enum __anonenum_998661166___301 {
    PTHREAD_SCOPE_SYSTEM___301 = 0,
    PTHREAD_SCOPE_PROCESS___301 = 1
} ;
enum __anonenum_146137331___301 {
    PTHREAD_PROCESS_PRIVATE___301 = 0,
    PTHREAD_PROCESS_SHARED___301 = 1
} ;
enum __anonenum_53396917___301 {
    PTHREAD_CANCEL_ENABLE___301 = 0,
    PTHREAD_CANCEL_DISABLE___301 = 1
} ;
enum __anonenum_904563783___301 {
    PTHREAD_CANCEL_DEFERRED___301 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___301 = 1
} ;
enum __anonenum_672052974___301 {
    SSL_CT_VALIDATION_PERMISSIVE___301 = 0,
    SSL_CT_VALIDATION_STRICT___301 = 1
} ;
enum __anonenum_561748495___20 {
    RECURSE_SUBMODULES_ONLY___20 = -5,
    RECURSE_SUBMODULES_CHECK___20 = -4,
    RECURSE_SUBMODULES_ERROR___20 = -3,
    RECURSE_SUBMODULES_NONE___20 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___20 = -1,
    RECURSE_SUBMODULES_OFF___20 = 0,
    RECURSE_SUBMODULES_DEFAULT___20 = 1,
    RECURSE_SUBMODULES_ON___20 = 2
} ;
enum __anonenum_437032235___302 {
    _PC_LINK_MAX___302 = 0,
    _PC_MAX_CANON___302 = 1,
    _PC_MAX_INPUT___302 = 2,
    _PC_NAME_MAX___302 = 3,
    _PC_PATH_MAX___302 = 4,
    _PC_PIPE_BUF___302 = 5,
    _PC_CHOWN_RESTRICTED___302 = 6,
    _PC_NO_TRUNC___302 = 7,
    _PC_VDISABLE___302 = 8,
    _PC_SYNC_IO___302 = 9,
    _PC_ASYNC_IO___302 = 10,
    _PC_PRIO_IO___302 = 11,
    _PC_SOCK_MAXBUF___302 = 12,
    _PC_FILESIZEBITS___302 = 13,
    _PC_REC_INCR_XFER_SIZE___302 = 14,
    _PC_REC_MAX_XFER_SIZE___302 = 15,
    _PC_REC_MIN_XFER_SIZE___302 = 16,
    _PC_REC_XFER_ALIGN___302 = 17,
    _PC_ALLOC_SIZE_MIN___302 = 18,
    _PC_SYMLINK_MAX___302 = 19,
    _PC_2_SYMLINKS___302 = 20
} ;
enum __anonenum_315186338___302 {
    _SC_ARG_MAX___302 = 0,
    _SC_CHILD_MAX___302 = 1,
    _SC_CLK_TCK___302 = 2,
    _SC_NGROUPS_MAX___302 = 3,
    _SC_OPEN_MAX___302 = 4,
    _SC_STREAM_MAX___302 = 5,
    _SC_TZNAME_MAX___302 = 6,
    _SC_JOB_CONTROL___302 = 7,
    _SC_SAVED_IDS___302 = 8,
    _SC_REALTIME_SIGNALS___302 = 9,
    _SC_PRIORITY_SCHEDULING___302 = 10,
    _SC_TIMERS___302 = 11,
    _SC_ASYNCHRONOUS_IO___302 = 12,
    _SC_PRIORITIZED_IO___302 = 13,
    _SC_SYNCHRONIZED_IO___302 = 14,
    _SC_FSYNC___302 = 15,
    _SC_MAPPED_FILES___302 = 16,
    _SC_MEMLOCK___302 = 17,
    _SC_MEMLOCK_RANGE___302 = 18,
    _SC_MEMORY_PROTECTION___302 = 19,
    _SC_MESSAGE_PASSING___302 = 20,
    _SC_SEMAPHORES___302 = 21,
    _SC_SHARED_MEMORY_OBJECTS___302 = 22,
    _SC_AIO_LISTIO_MAX___302 = 23,
    _SC_AIO_MAX___302 = 24,
    _SC_AIO_PRIO_DELTA_MAX___302 = 25,
    _SC_DELAYTIMER_MAX___302 = 26,
    _SC_MQ_OPEN_MAX___302 = 27,
    _SC_MQ_PRIO_MAX___302 = 28,
    _SC_VERSION___302 = 29,
    _SC_PAGESIZE___302 = 30,
    _SC_RTSIG_MAX___302 = 31,
    _SC_SEM_NSEMS_MAX___302 = 32,
    _SC_SEM_VALUE_MAX___302 = 33,
    _SC_SIGQUEUE_MAX___302 = 34,
    _SC_TIMER_MAX___302 = 35,
    _SC_BC_BASE_MAX___302 = 36,
    _SC_BC_DIM_MAX___302 = 37,
    _SC_BC_SCALE_MAX___302 = 38,
    _SC_BC_STRING_MAX___302 = 39,
    _SC_COLL_WEIGHTS_MAX___302 = 40,
    _SC_EQUIV_CLASS_MAX___302 = 41,
    _SC_EXPR_NEST_MAX___302 = 42,
    _SC_LINE_MAX___302 = 43,
    _SC_RE_DUP_MAX___302 = 44,
    _SC_CHARCLASS_NAME_MAX___302 = 45,
    _SC_2_VERSION___302 = 46,
    _SC_2_C_BIND___302 = 47,
    _SC_2_C_DEV___302 = 48,
    _SC_2_FORT_DEV___302 = 49,
    _SC_2_FORT_RUN___302 = 50,
    _SC_2_SW_DEV___302 = 51,
    _SC_2_LOCALEDEF___302 = 52,
    _SC_PII___302 = 53,
    _SC_PII_XTI___302 = 54,
    _SC_PII_SOCKET___302 = 55,
    _SC_PII_INTERNET___302 = 56,
    _SC_PII_OSI___302 = 57,
    _SC_POLL___302 = 58,
    _SC_SELECT___302 = 59,
    _SC_UIO_MAXIOV___302 = 60,
    _SC_IOV_MAX___302 = 60,
    _SC_PII_INTERNET_STREAM___302 = 61,
    _SC_PII_INTERNET_DGRAM___302 = 62,
    _SC_PII_OSI_COTS___302 = 63,
    _SC_PII_OSI_CLTS___302 = 64,
    _SC_PII_OSI_M___302 = 65,
    _SC_T_IOV_MAX___302 = 66,
    _SC_THREADS___302 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___302 = 68,
    _SC_GETGR_R_SIZE_MAX___302 = 69,
    _SC_GETPW_R_SIZE_MAX___302 = 70,
    _SC_LOGIN_NAME_MAX___302 = 71,
    _SC_TTY_NAME_MAX___302 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___302 = 73,
    _SC_THREAD_KEYS_MAX___302 = 74,
    _SC_THREAD_STACK_MIN___302 = 75,
    _SC_THREAD_THREADS_MAX___302 = 76,
    _SC_THREAD_ATTR_STACKADDR___302 = 77,
    _SC_THREAD_ATTR_STACKSIZE___302 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___302 = 79,
    _SC_THREAD_PRIO_INHERIT___302 = 80,
    _SC_THREAD_PRIO_PROTECT___302 = 81,
    _SC_THREAD_PROCESS_SHARED___302 = 82,
    _SC_NPROCESSORS_CONF___302 = 83,
    _SC_NPROCESSORS_ONLN___302 = 84,
    _SC_PHYS_PAGES___302 = 85,
    _SC_AVPHYS_PAGES___302 = 86,
    _SC_ATEXIT_MAX___302 = 87,
    _SC_PASS_MAX___302 = 88,
    _SC_XOPEN_VERSION___302 = 89,
    _SC_XOPEN_XCU_VERSION___302 = 90,
    _SC_XOPEN_UNIX___302 = 91,
    _SC_XOPEN_CRYPT___302 = 92,
    _SC_XOPEN_ENH_I18N___302 = 93,
    _SC_XOPEN_SHM___302 = 94,
    _SC_2_CHAR_TERM___302 = 95,
    _SC_2_C_VERSION___302 = 96,
    _SC_2_UPE___302 = 97,
    _SC_XOPEN_XPG2___302 = 98,
    _SC_XOPEN_XPG3___302 = 99,
    _SC_XOPEN_XPG4___302 = 100,
    _SC_CHAR_BIT___302 = 101,
    _SC_CHAR_MAX___302 = 102,
    _SC_CHAR_MIN___302 = 103,
    _SC_INT_MAX___302 = 104,
    _SC_INT_MIN___302 = 105,
    _SC_LONG_BIT___302 = 106,
    _SC_WORD_BIT___302 = 107,
    _SC_MB_LEN_MAX___302 = 108,
    _SC_NZERO___302 = 109,
    _SC_SSIZE_MAX___302 = 110,
    _SC_SCHAR_MAX___302 = 111,
    _SC_SCHAR_MIN___302 = 112,
    _SC_SHRT_MAX___302 = 113,
    _SC_SHRT_MIN___302 = 114,
    _SC_UCHAR_MAX___302 = 115,
    _SC_UINT_MAX___302 = 116,
    _SC_ULONG_MAX___302 = 117,
    _SC_USHRT_MAX___302 = 118,
    _SC_NL_ARGMAX___302 = 119,
    _SC_NL_LANGMAX___302 = 120,
    _SC_NL_MSGMAX___302 = 121,
    _SC_NL_NMAX___302 = 122,
    _SC_NL_SETMAX___302 = 123,
    _SC_NL_TEXTMAX___302 = 124,
    _SC_XBS5_ILP32_OFF32___302 = 125,
    _SC_XBS5_ILP32_OFFBIG___302 = 126,
    _SC_XBS5_LP64_OFF64___302 = 127,
    _SC_XBS5_LPBIG_OFFBIG___302 = 128,
    _SC_XOPEN_LEGACY___302 = 129,
    _SC_XOPEN_REALTIME___302 = 130,
    _SC_XOPEN_REALTIME_THREADS___302 = 131,
    _SC_ADVISORY_INFO___302 = 132,
    _SC_BARRIERS___302 = 133,
    _SC_BASE___302 = 134,
    _SC_C_LANG_SUPPORT___302 = 135,
    _SC_C_LANG_SUPPORT_R___302 = 136,
    _SC_CLOCK_SELECTION___302 = 137,
    _SC_CPUTIME___302 = 138,
    _SC_THREAD_CPUTIME___302 = 139,
    _SC_DEVICE_IO___302 = 140,
    _SC_DEVICE_SPECIFIC___302 = 141,
    _SC_DEVICE_SPECIFIC_R___302 = 142,
    _SC_FD_MGMT___302 = 143,
    _SC_FIFO___302 = 144,
    _SC_PIPE___302 = 145,
    _SC_FILE_ATTRIBUTES___302 = 146,
    _SC_FILE_LOCKING___302 = 147,
    _SC_FILE_SYSTEM___302 = 148,
    _SC_MONOTONIC_CLOCK___302 = 149,
    _SC_MULTI_PROCESS___302 = 150,
    _SC_SINGLE_PROCESS___302 = 151,
    _SC_NETWORKING___302 = 152,
    _SC_READER_WRITER_LOCKS___302 = 153,
    _SC_SPIN_LOCKS___302 = 154,
    _SC_REGEXP___302 = 155,
    _SC_REGEX_VERSION___302 = 156,
    _SC_SHELL___302 = 157,
    _SC_SIGNALS___302 = 158,
    _SC_SPAWN___302 = 159,
    _SC_SPORADIC_SERVER___302 = 160,
    _SC_THREAD_SPORADIC_SERVER___302 = 161,
    _SC_SYSTEM_DATABASE___302 = 162,
    _SC_SYSTEM_DATABASE_R___302 = 163,
    _SC_TIMEOUTS___302 = 164,
    _SC_TYPED_MEMORY_OBJECTS___302 = 165,
    _SC_USER_GROUPS___302 = 166,
    _SC_USER_GROUPS_R___302 = 167,
    _SC_2_PBS___302 = 168,
    _SC_2_PBS_ACCOUNTING___302 = 169,
    _SC_2_PBS_LOCATE___302 = 170,
    _SC_2_PBS_MESSAGE___302 = 171,
    _SC_2_PBS_TRACK___302 = 172,
    _SC_SYMLOOP_MAX___302 = 173,
    _SC_STREAMS___302 = 174,
    _SC_2_PBS_CHECKPOINT___302 = 175,
    _SC_V6_ILP32_OFF32___302 = 176,
    _SC_V6_ILP32_OFFBIG___302 = 177,
    _SC_V6_LP64_OFF64___302 = 178,
    _SC_V6_LPBIG_OFFBIG___302 = 179,
    _SC_HOST_NAME_MAX___302 = 180,
    _SC_TRACE___302 = 181,
    _SC_TRACE_EVENT_FILTER___302 = 182,
    _SC_TRACE_INHERIT___302 = 183,
    _SC_TRACE_LOG___302 = 184,
    _SC_LEVEL1_ICACHE_SIZE___302 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___302 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___302 = 187,
    _SC_LEVEL1_DCACHE_SIZE___302 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___302 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___302 = 190,
    _SC_LEVEL2_CACHE_SIZE___302 = 191,
    _SC_LEVEL2_CACHE_ASSOC___302 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___302 = 193,
    _SC_LEVEL3_CACHE_SIZE___302 = 194,
    _SC_LEVEL3_CACHE_ASSOC___302 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___302 = 196,
    _SC_LEVEL4_CACHE_SIZE___302 = 197,
    _SC_LEVEL4_CACHE_ASSOC___302 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___302 = 199,
    _SC_IPV6___302 = 235,
    _SC_RAW_SOCKETS___302 = 236,
    _SC_V7_ILP32_OFF32___302 = 237,
    _SC_V7_ILP32_OFFBIG___302 = 238,
    _SC_V7_LP64_OFF64___302 = 239,
    _SC_V7_LPBIG_OFFBIG___302 = 240,
    _SC_SS_REPL_MAX___302 = 241,
    _SC_TRACE_EVENT_NAME_MAX___302 = 242,
    _SC_TRACE_NAME_MAX___302 = 243,
    _SC_TRACE_SYS_MAX___302 = 244,
    _SC_TRACE_USER_EVENT_MAX___302 = 245,
    _SC_XOPEN_STREAMS___302 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___302 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___302 = 248
} ;
enum __anonenum_875524036___302 {
    _CS_PATH___302 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___302 = 1,
    _CS_GNU_LIBC_VERSION___302 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___302 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___302 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___302 = 5,
    _CS_LFS_CFLAGS___302 = 1000,
    _CS_LFS_LDFLAGS___302 = 1001,
    _CS_LFS_LIBS___302 = 1002,
    _CS_LFS_LINTFLAGS___302 = 1003,
    _CS_LFS64_CFLAGS___302 = 1004,
    _CS_LFS64_LDFLAGS___302 = 1005,
    _CS_LFS64_LIBS___302 = 1006,
    _CS_LFS64_LINTFLAGS___302 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___302 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___302 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___302 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___302 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___302 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___302 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___302 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___302 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___302 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___302 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___302 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___302 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___302 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___302 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___302 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___302 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___302 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___302 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___302 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___302 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___302 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___302 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___302 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___302 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___302 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___302 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___302 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___302 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___302 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___302 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___302 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___302 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___302 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___302 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___302 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___302 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___302 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___302 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___302 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___302 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___302 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___302 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___302 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___302 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___302 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___302 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___302 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___302 = 1147,
    _CS_V6_ENV___302 = 1148,
    _CS_V7_ENV___302 = 1149
} ;
enum __anonenum_513775621___302 {
    DT_UNKNOWN___302 = 0,
    DT_FIFO___302 = 1,
    DT_CHR___302 = 2,
    DT_DIR___302 = 4,
    DT_BLK___302 = 6,
    DT_REG___302 = 8,
    DT_LNK___302 = 10,
    DT_SOCK___302 = 12,
    DT_WHT___302 = 14
} ;
enum __anonenum_77002343___302 {
    SI_ASYNCNL___302 = -60,
    SI_TKILL___302 = -6,
    SI_SIGIO___302 = -5,
    SI_ASYNCIO___302 = -4,
    SI_MESGQ___302 = -3,
    SI_TIMER___302 = -2,
    SI_QUEUE___302 = -1,
    SI_USER___302 = 0,
    SI_KERNEL___302 = 128
} ;
enum __anonenum_131038172___302 {
    ILL_ILLOPC___302 = 1,
    ILL_ILLOPN___302 = 2,
    ILL_ILLADR___302 = 3,
    ILL_ILLTRP___302 = 4,
    ILL_PRVOPC___302 = 5,
    ILL_PRVREG___302 = 6,
    ILL_COPROC___302 = 7,
    ILL_BADSTK___302 = 8
} ;
enum __anonenum_452038093___302 {
    FPE_INTDIV___302 = 1,
    FPE_INTOVF___302 = 2,
    FPE_FLTDIV___302 = 3,
    FPE_FLTOVF___302 = 4,
    FPE_FLTUND___302 = 5,
    FPE_FLTRES___302 = 6,
    FPE_FLTINV___302 = 7,
    FPE_FLTSUB___302 = 8
} ;
enum __anonenum_30976155___302 {
    SEGV_MAPERR___302 = 1,
    SEGV_ACCERR___302 = 2,
    SEGV_BNDERR___302 = 3,
    SEGV_PKUERR___302 = 4
} ;
enum __anonenum_1036286214___302 {
    BUS_ADRALN___302 = 1,
    BUS_ADRERR___302 = 2,
    BUS_OBJERR___302 = 3,
    BUS_MCEERR_AR___302 = 4,
    BUS_MCEERR_AO___302 = 5
} ;
enum __anonenum_493465559___302 {
    TRAP_BRKPT___302 = 1,
    TRAP_TRACE___302 = 2
} ;
enum __anonenum_23175539___302 {
    CLD_EXITED___302 = 1,
    CLD_KILLED___302 = 2,
    CLD_DUMPED___302 = 3,
    CLD_TRAPPED___302 = 4,
    CLD_STOPPED___302 = 5,
    CLD_CONTINUED___302 = 6
} ;
enum __anonenum_111643124___302 {
    POLL_IN___302 = 1,
    POLL_OUT___302 = 2,
    POLL_MSG___302 = 3,
    POLL_ERR___302 = 4,
    POLL_PRI___302 = 5,
    POLL_HUP___302 = 6
} ;
enum __anonenum_852341087___302 {
    SIGEV_SIGNAL___302 = 0,
    SIGEV_NONE___302 = 1,
    SIGEV_THREAD___302 = 2,
    SIGEV_THREAD_ID___302 = 4
} ;
enum __anonenum_451154152___302 {
    REG_R8___302 = 0,
    REG_R9___302 = 1,
    REG_R10___302 = 2,
    REG_R11___302 = 3,
    REG_R12___302 = 4,
    REG_R13___302 = 5,
    REG_R14___302 = 6,
    REG_R15___302 = 7,
    REG_RDI___302 = 8,
    REG_RSI___302 = 9,
    REG_RBP___302 = 10,
    REG_RBX___302 = 11,
    REG_RDX___302 = 12,
    REG_RAX___302 = 13,
    REG_RCX___302 = 14,
    REG_RSP___302 = 15,
    REG_RIP___302 = 16,
    REG_EFL___302 = 17,
    REG_CSGSFS___302 = 18,
    REG_ERR___302 = 19,
    REG_TRAPNO___302 = 20,
    REG_OLDMASK___302 = 21,
    REG_CR2___302 = 22
} ;
enum __anonenum_57186863___302 {
    SS_ONSTACK___302 = 1,
    SS_DISABLE___302 = 2
} ;
enum __anonenum_83571709___302 {
    MSG_OOB___302 = 1,
    MSG_PEEK___302 = 2,
    MSG_DONTROUTE___302 = 4,
    MSG_TRYHARD___302 = 4,
    MSG_CTRUNC___302 = 8,
    MSG_PROXY___302 = 16,
    MSG_TRUNC___302 = 32,
    MSG_DONTWAIT___302 = 64,
    MSG_EOR___302 = 128,
    MSG_WAITALL___302 = 256,
    MSG_FIN___302 = 512,
    MSG_SYN___302 = 1024,
    MSG_CONFIRM___302 = 2048,
    MSG_RST___302 = 4096,
    MSG_ERRQUEUE___302 = 8192,
    MSG_NOSIGNAL___302 = 16384,
    MSG_MORE___302 = 32768,
    MSG_WAITFORONE___302 = 65536,
    MSG_BATCH___302 = 262144,
    MSG_ZEROCOPY___302 = 67108864,
    MSG_FASTOPEN___302 = 536870912,
    MSG_CMSG_CLOEXEC___302 = 1073741824
} ;
enum __anonenum_617082774___302 {
    SCM_RIGHTS___302 = 1,
    SCM_CREDENTIALS___302 = 2
} ;
enum __anonenum_606441560___302 {
    SHUT_RD___302 = 0,
    SHUT_WR___302 = 1,
    SHUT_RDWR___302 = 2
} ;
enum __anonenum_681669233___302 {
    IPPROTO_IP___302 = 0,
    IPPROTO_ICMP___302 = 1,
    IPPROTO_IGMP___302 = 2,
    IPPROTO_IPIP___302 = 4,
    IPPROTO_TCP___302 = 6,
    IPPROTO_EGP___302 = 8,
    IPPROTO_PUP___302 = 12,
    IPPROTO_UDP___302 = 17,
    IPPROTO_IDP___302 = 22,
    IPPROTO_TP___302 = 29,
    IPPROTO_DCCP___302 = 33,
    IPPROTO_IPV6___302 = 41,
    IPPROTO_RSVP___302 = 46,
    IPPROTO_GRE___302 = 47,
    IPPROTO_ESP___302 = 50,
    IPPROTO_AH___302 = 51,
    IPPROTO_MTP___302 = 92,
    IPPROTO_BEETPH___302 = 94,
    IPPROTO_ENCAP___302 = 98,
    IPPROTO_PIM___302 = 103,
    IPPROTO_COMP___302 = 108,
    IPPROTO_SCTP___302 = 132,
    IPPROTO_UDPLITE___302 = 136,
    IPPROTO_MPLS___302 = 137,
    IPPROTO_RAW___302 = 255,
    IPPROTO_MAX___302 = 256
} ;
enum __anonenum_218739988___302 {
    IPPROTO_HOPOPTS___302 = 0,
    IPPROTO_ROUTING___302 = 43,
    IPPROTO_FRAGMENT___302 = 44,
    IPPROTO_ICMPV6___302 = 58,
    IPPROTO_NONE___302 = 59,
    IPPROTO_DSTOPTS___302 = 60,
    IPPROTO_MH___302 = 135
} ;
enum __anonenum_662268580___302 {
    IPPORT_ECHO___302 = 7,
    IPPORT_DISCARD___302 = 9,
    IPPORT_SYSTAT___302 = 11,
    IPPORT_DAYTIME___302 = 13,
    IPPORT_NETSTAT___302 = 15,
    IPPORT_FTP___302 = 21,
    IPPORT_TELNET___302 = 23,
    IPPORT_SMTP___302 = 25,
    IPPORT_TIMESERVER___302 = 37,
    IPPORT_NAMESERVER___302 = 42,
    IPPORT_WHOIS___302 = 43,
    IPPORT_MTP___302 = 57,
    IPPORT_TFTP___302 = 69,
    IPPORT_RJE___302 = 77,
    IPPORT_FINGER___302 = 79,
    IPPORT_TTYLINK___302 = 87,
    IPPORT_SUPDUP___302 = 95,
    IPPORT_EXECSERVER___302 = 512,
    IPPORT_LOGINSERVER___302 = 513,
    IPPORT_CMDSERVER___302 = 514,
    IPPORT_EFSSERVER___302 = 520,
    IPPORT_BIFFUDP___302 = 512,
    IPPORT_WHOSERVER___302 = 513,
    IPPORT_ROUTESERVER___302 = 520,
    IPPORT_RESERVED___302 = 1024,
    IPPORT_USERRESERVED___302 = 5000
} ;
enum __anonenum_788308992___302 {
    TCP_ESTABLISHED___302 = 1,
    TCP_SYN_SENT___302 = 2,
    TCP_SYN_RECV___302 = 3,
    TCP_FIN_WAIT1___302 = 4,
    TCP_FIN_WAIT2___302 = 5,
    TCP_TIME_WAIT___302 = 6,
    TCP_CLOSE___302 = 7,
    TCP_CLOSE_WAIT___302 = 8,
    TCP_LAST_ACK___302 = 9,
    TCP_LISTEN___302 = 10,
    TCP_CLOSING___302 = 11
} ;
enum __anonenum_221125648___302 {
    TCP_NO_QUEUE___302 = 0,
    TCP_RECV_QUEUE___302 = 1,
    TCP_SEND_QUEUE___302 = 2,
    TCP_QUEUES_NR___302 = 3
} ;
enum __anonenum_34415463___302 {
    PTHREAD_CREATE_JOINABLE___302 = 0,
    PTHREAD_CREATE_DETACHED___302 = 1
} ;
enum __anonenum_303612439___302 {
    PTHREAD_MUTEX_TIMED_NP___302 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___302 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___302 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___302 = 3,
    PTHREAD_MUTEX_NORMAL___302 = 0,
    PTHREAD_MUTEX_RECURSIVE___302 = 1,
    PTHREAD_MUTEX_ERRORCHECK___302 = 2,
    PTHREAD_MUTEX_DEFAULT___302 = 0,
    PTHREAD_MUTEX_FAST_NP___302 = 0
} ;
enum __anonenum_931900394___302 {
    PTHREAD_MUTEX_STALLED___302 = 0,
    PTHREAD_MUTEX_STALLED_NP___302 = 0,
    PTHREAD_MUTEX_ROBUST___302 = 1,
    PTHREAD_MUTEX_ROBUST_NP___302 = 1
} ;
enum __anonenum_205214487___302 {
    PTHREAD_PRIO_NONE___302 = 0,
    PTHREAD_PRIO_INHERIT___302 = 1,
    PTHREAD_PRIO_PROTECT___302 = 2
} ;
enum __anonenum_25043950___302 {
    PTHREAD_RWLOCK_PREFER_READER_NP___302 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___302 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___302 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___302 = 0
} ;
enum __anonenum_436439511___302 {
    PTHREAD_INHERIT_SCHED___302 = 0,
    PTHREAD_EXPLICIT_SCHED___302 = 1
} ;
enum __anonenum_998661166___302 {
    PTHREAD_SCOPE_SYSTEM___302 = 0,
    PTHREAD_SCOPE_PROCESS___302 = 1
} ;
enum __anonenum_146137331___302 {
    PTHREAD_PROCESS_PRIVATE___302 = 0,
    PTHREAD_PROCESS_SHARED___302 = 1
} ;
enum __anonenum_53396917___302 {
    PTHREAD_CANCEL_ENABLE___302 = 0,
    PTHREAD_CANCEL_DISABLE___302 = 1
} ;
enum __anonenum_904563783___302 {
    PTHREAD_CANCEL_DEFERRED___302 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___302 = 1
} ;
enum __anonenum_672052974___302 {
    SSL_CT_VALIDATION_PERMISSIVE___302 = 0,
    SSL_CT_VALIDATION_STRICT___302 = 1
} ;
enum __anonenum_561748495___21 {
    RECURSE_SUBMODULES_ONLY___21 = -5,
    RECURSE_SUBMODULES_CHECK___21 = -4,
    RECURSE_SUBMODULES_ERROR___21 = -3,
    RECURSE_SUBMODULES_NONE___21 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___21 = -1,
    RECURSE_SUBMODULES_OFF___21 = 0,
    RECURSE_SUBMODULES_DEFAULT___21 = 1,
    RECURSE_SUBMODULES_ON___21 = 2
} ;
enum __anonenum_437032235___303 {
    _PC_LINK_MAX___303 = 0,
    _PC_MAX_CANON___303 = 1,
    _PC_MAX_INPUT___303 = 2,
    _PC_NAME_MAX___303 = 3,
    _PC_PATH_MAX___303 = 4,
    _PC_PIPE_BUF___303 = 5,
    _PC_CHOWN_RESTRICTED___303 = 6,
    _PC_NO_TRUNC___303 = 7,
    _PC_VDISABLE___303 = 8,
    _PC_SYNC_IO___303 = 9,
    _PC_ASYNC_IO___303 = 10,
    _PC_PRIO_IO___303 = 11,
    _PC_SOCK_MAXBUF___303 = 12,
    _PC_FILESIZEBITS___303 = 13,
    _PC_REC_INCR_XFER_SIZE___303 = 14,
    _PC_REC_MAX_XFER_SIZE___303 = 15,
    _PC_REC_MIN_XFER_SIZE___303 = 16,
    _PC_REC_XFER_ALIGN___303 = 17,
    _PC_ALLOC_SIZE_MIN___303 = 18,
    _PC_SYMLINK_MAX___303 = 19,
    _PC_2_SYMLINKS___303 = 20
} ;
enum __anonenum_315186338___303 {
    _SC_ARG_MAX___303 = 0,
    _SC_CHILD_MAX___303 = 1,
    _SC_CLK_TCK___303 = 2,
    _SC_NGROUPS_MAX___303 = 3,
    _SC_OPEN_MAX___303 = 4,
    _SC_STREAM_MAX___303 = 5,
    _SC_TZNAME_MAX___303 = 6,
    _SC_JOB_CONTROL___303 = 7,
    _SC_SAVED_IDS___303 = 8,
    _SC_REALTIME_SIGNALS___303 = 9,
    _SC_PRIORITY_SCHEDULING___303 = 10,
    _SC_TIMERS___303 = 11,
    _SC_ASYNCHRONOUS_IO___303 = 12,
    _SC_PRIORITIZED_IO___303 = 13,
    _SC_SYNCHRONIZED_IO___303 = 14,
    _SC_FSYNC___303 = 15,
    _SC_MAPPED_FILES___303 = 16,
    _SC_MEMLOCK___303 = 17,
    _SC_MEMLOCK_RANGE___303 = 18,
    _SC_MEMORY_PROTECTION___303 = 19,
    _SC_MESSAGE_PASSING___303 = 20,
    _SC_SEMAPHORES___303 = 21,
    _SC_SHARED_MEMORY_OBJECTS___303 = 22,
    _SC_AIO_LISTIO_MAX___303 = 23,
    _SC_AIO_MAX___303 = 24,
    _SC_AIO_PRIO_DELTA_MAX___303 = 25,
    _SC_DELAYTIMER_MAX___303 = 26,
    _SC_MQ_OPEN_MAX___303 = 27,
    _SC_MQ_PRIO_MAX___303 = 28,
    _SC_VERSION___303 = 29,
    _SC_PAGESIZE___303 = 30,
    _SC_RTSIG_MAX___303 = 31,
    _SC_SEM_NSEMS_MAX___303 = 32,
    _SC_SEM_VALUE_MAX___303 = 33,
    _SC_SIGQUEUE_MAX___303 = 34,
    _SC_TIMER_MAX___303 = 35,
    _SC_BC_BASE_MAX___303 = 36,
    _SC_BC_DIM_MAX___303 = 37,
    _SC_BC_SCALE_MAX___303 = 38,
    _SC_BC_STRING_MAX___303 = 39,
    _SC_COLL_WEIGHTS_MAX___303 = 40,
    _SC_EQUIV_CLASS_MAX___303 = 41,
    _SC_EXPR_NEST_MAX___303 = 42,
    _SC_LINE_MAX___303 = 43,
    _SC_RE_DUP_MAX___303 = 44,
    _SC_CHARCLASS_NAME_MAX___303 = 45,
    _SC_2_VERSION___303 = 46,
    _SC_2_C_BIND___303 = 47,
    _SC_2_C_DEV___303 = 48,
    _SC_2_FORT_DEV___303 = 49,
    _SC_2_FORT_RUN___303 = 50,
    _SC_2_SW_DEV___303 = 51,
    _SC_2_LOCALEDEF___303 = 52,
    _SC_PII___303 = 53,
    _SC_PII_XTI___303 = 54,
    _SC_PII_SOCKET___303 = 55,
    _SC_PII_INTERNET___303 = 56,
    _SC_PII_OSI___303 = 57,
    _SC_POLL___303 = 58,
    _SC_SELECT___303 = 59,
    _SC_UIO_MAXIOV___303 = 60,
    _SC_IOV_MAX___303 = 60,
    _SC_PII_INTERNET_STREAM___303 = 61,
    _SC_PII_INTERNET_DGRAM___303 = 62,
    _SC_PII_OSI_COTS___303 = 63,
    _SC_PII_OSI_CLTS___303 = 64,
    _SC_PII_OSI_M___303 = 65,
    _SC_T_IOV_MAX___303 = 66,
    _SC_THREADS___303 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___303 = 68,
    _SC_GETGR_R_SIZE_MAX___303 = 69,
    _SC_GETPW_R_SIZE_MAX___303 = 70,
    _SC_LOGIN_NAME_MAX___303 = 71,
    _SC_TTY_NAME_MAX___303 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___303 = 73,
    _SC_THREAD_KEYS_MAX___303 = 74,
    _SC_THREAD_STACK_MIN___303 = 75,
    _SC_THREAD_THREADS_MAX___303 = 76,
    _SC_THREAD_ATTR_STACKADDR___303 = 77,
    _SC_THREAD_ATTR_STACKSIZE___303 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___303 = 79,
    _SC_THREAD_PRIO_INHERIT___303 = 80,
    _SC_THREAD_PRIO_PROTECT___303 = 81,
    _SC_THREAD_PROCESS_SHARED___303 = 82,
    _SC_NPROCESSORS_CONF___303 = 83,
    _SC_NPROCESSORS_ONLN___303 = 84,
    _SC_PHYS_PAGES___303 = 85,
    _SC_AVPHYS_PAGES___303 = 86,
    _SC_ATEXIT_MAX___303 = 87,
    _SC_PASS_MAX___303 = 88,
    _SC_XOPEN_VERSION___303 = 89,
    _SC_XOPEN_XCU_VERSION___303 = 90,
    _SC_XOPEN_UNIX___303 = 91,
    _SC_XOPEN_CRYPT___303 = 92,
    _SC_XOPEN_ENH_I18N___303 = 93,
    _SC_XOPEN_SHM___303 = 94,
    _SC_2_CHAR_TERM___303 = 95,
    _SC_2_C_VERSION___303 = 96,
    _SC_2_UPE___303 = 97,
    _SC_XOPEN_XPG2___303 = 98,
    _SC_XOPEN_XPG3___303 = 99,
    _SC_XOPEN_XPG4___303 = 100,
    _SC_CHAR_BIT___303 = 101,
    _SC_CHAR_MAX___303 = 102,
    _SC_CHAR_MIN___303 = 103,
    _SC_INT_MAX___303 = 104,
    _SC_INT_MIN___303 = 105,
    _SC_LONG_BIT___303 = 106,
    _SC_WORD_BIT___303 = 107,
    _SC_MB_LEN_MAX___303 = 108,
    _SC_NZERO___303 = 109,
    _SC_SSIZE_MAX___303 = 110,
    _SC_SCHAR_MAX___303 = 111,
    _SC_SCHAR_MIN___303 = 112,
    _SC_SHRT_MAX___303 = 113,
    _SC_SHRT_MIN___303 = 114,
    _SC_UCHAR_MAX___303 = 115,
    _SC_UINT_MAX___303 = 116,
    _SC_ULONG_MAX___303 = 117,
    _SC_USHRT_MAX___303 = 118,
    _SC_NL_ARGMAX___303 = 119,
    _SC_NL_LANGMAX___303 = 120,
    _SC_NL_MSGMAX___303 = 121,
    _SC_NL_NMAX___303 = 122,
    _SC_NL_SETMAX___303 = 123,
    _SC_NL_TEXTMAX___303 = 124,
    _SC_XBS5_ILP32_OFF32___303 = 125,
    _SC_XBS5_ILP32_OFFBIG___303 = 126,
    _SC_XBS5_LP64_OFF64___303 = 127,
    _SC_XBS5_LPBIG_OFFBIG___303 = 128,
    _SC_XOPEN_LEGACY___303 = 129,
    _SC_XOPEN_REALTIME___303 = 130,
    _SC_XOPEN_REALTIME_THREADS___303 = 131,
    _SC_ADVISORY_INFO___303 = 132,
    _SC_BARRIERS___303 = 133,
    _SC_BASE___303 = 134,
    _SC_C_LANG_SUPPORT___303 = 135,
    _SC_C_LANG_SUPPORT_R___303 = 136,
    _SC_CLOCK_SELECTION___303 = 137,
    _SC_CPUTIME___303 = 138,
    _SC_THREAD_CPUTIME___303 = 139,
    _SC_DEVICE_IO___303 = 140,
    _SC_DEVICE_SPECIFIC___303 = 141,
    _SC_DEVICE_SPECIFIC_R___303 = 142,
    _SC_FD_MGMT___303 = 143,
    _SC_FIFO___303 = 144,
    _SC_PIPE___303 = 145,
    _SC_FILE_ATTRIBUTES___303 = 146,
    _SC_FILE_LOCKING___303 = 147,
    _SC_FILE_SYSTEM___303 = 148,
    _SC_MONOTONIC_CLOCK___303 = 149,
    _SC_MULTI_PROCESS___303 = 150,
    _SC_SINGLE_PROCESS___303 = 151,
    _SC_NETWORKING___303 = 152,
    _SC_READER_WRITER_LOCKS___303 = 153,
    _SC_SPIN_LOCKS___303 = 154,
    _SC_REGEXP___303 = 155,
    _SC_REGEX_VERSION___303 = 156,
    _SC_SHELL___303 = 157,
    _SC_SIGNALS___303 = 158,
    _SC_SPAWN___303 = 159,
    _SC_SPORADIC_SERVER___303 = 160,
    _SC_THREAD_SPORADIC_SERVER___303 = 161,
    _SC_SYSTEM_DATABASE___303 = 162,
    _SC_SYSTEM_DATABASE_R___303 = 163,
    _SC_TIMEOUTS___303 = 164,
    _SC_TYPED_MEMORY_OBJECTS___303 = 165,
    _SC_USER_GROUPS___303 = 166,
    _SC_USER_GROUPS_R___303 = 167,
    _SC_2_PBS___303 = 168,
    _SC_2_PBS_ACCOUNTING___303 = 169,
    _SC_2_PBS_LOCATE___303 = 170,
    _SC_2_PBS_MESSAGE___303 = 171,
    _SC_2_PBS_TRACK___303 = 172,
    _SC_SYMLOOP_MAX___303 = 173,
    _SC_STREAMS___303 = 174,
    _SC_2_PBS_CHECKPOINT___303 = 175,
    _SC_V6_ILP32_OFF32___303 = 176,
    _SC_V6_ILP32_OFFBIG___303 = 177,
    _SC_V6_LP64_OFF64___303 = 178,
    _SC_V6_LPBIG_OFFBIG___303 = 179,
    _SC_HOST_NAME_MAX___303 = 180,
    _SC_TRACE___303 = 181,
    _SC_TRACE_EVENT_FILTER___303 = 182,
    _SC_TRACE_INHERIT___303 = 183,
    _SC_TRACE_LOG___303 = 184,
    _SC_LEVEL1_ICACHE_SIZE___303 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___303 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___303 = 187,
    _SC_LEVEL1_DCACHE_SIZE___303 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___303 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___303 = 190,
    _SC_LEVEL2_CACHE_SIZE___303 = 191,
    _SC_LEVEL2_CACHE_ASSOC___303 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___303 = 193,
    _SC_LEVEL3_CACHE_SIZE___303 = 194,
    _SC_LEVEL3_CACHE_ASSOC___303 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___303 = 196,
    _SC_LEVEL4_CACHE_SIZE___303 = 197,
    _SC_LEVEL4_CACHE_ASSOC___303 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___303 = 199,
    _SC_IPV6___303 = 235,
    _SC_RAW_SOCKETS___303 = 236,
    _SC_V7_ILP32_OFF32___303 = 237,
    _SC_V7_ILP32_OFFBIG___303 = 238,
    _SC_V7_LP64_OFF64___303 = 239,
    _SC_V7_LPBIG_OFFBIG___303 = 240,
    _SC_SS_REPL_MAX___303 = 241,
    _SC_TRACE_EVENT_NAME_MAX___303 = 242,
    _SC_TRACE_NAME_MAX___303 = 243,
    _SC_TRACE_SYS_MAX___303 = 244,
    _SC_TRACE_USER_EVENT_MAX___303 = 245,
    _SC_XOPEN_STREAMS___303 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___303 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___303 = 248
} ;
enum __anonenum_875524036___303 {
    _CS_PATH___303 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___303 = 1,
    _CS_GNU_LIBC_VERSION___303 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___303 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___303 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___303 = 5,
    _CS_LFS_CFLAGS___303 = 1000,
    _CS_LFS_LDFLAGS___303 = 1001,
    _CS_LFS_LIBS___303 = 1002,
    _CS_LFS_LINTFLAGS___303 = 1003,
    _CS_LFS64_CFLAGS___303 = 1004,
    _CS_LFS64_LDFLAGS___303 = 1005,
    _CS_LFS64_LIBS___303 = 1006,
    _CS_LFS64_LINTFLAGS___303 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___303 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___303 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___303 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___303 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___303 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___303 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___303 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___303 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___303 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___303 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___303 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___303 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___303 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___303 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___303 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___303 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___303 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___303 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___303 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___303 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___303 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___303 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___303 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___303 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___303 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___303 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___303 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___303 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___303 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___303 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___303 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___303 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___303 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___303 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___303 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___303 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___303 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___303 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___303 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___303 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___303 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___303 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___303 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___303 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___303 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___303 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___303 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___303 = 1147,
    _CS_V6_ENV___303 = 1148,
    _CS_V7_ENV___303 = 1149
} ;
enum __anonenum_513775621___303 {
    DT_UNKNOWN___303 = 0,
    DT_FIFO___303 = 1,
    DT_CHR___303 = 2,
    DT_DIR___303 = 4,
    DT_BLK___303 = 6,
    DT_REG___303 = 8,
    DT_LNK___303 = 10,
    DT_SOCK___303 = 12,
    DT_WHT___303 = 14
} ;
enum __anonenum_77002343___303 {
    SI_ASYNCNL___303 = -60,
    SI_TKILL___303 = -6,
    SI_SIGIO___303 = -5,
    SI_ASYNCIO___303 = -4,
    SI_MESGQ___303 = -3,
    SI_TIMER___303 = -2,
    SI_QUEUE___303 = -1,
    SI_USER___303 = 0,
    SI_KERNEL___303 = 128
} ;
enum __anonenum_131038172___303 {
    ILL_ILLOPC___303 = 1,
    ILL_ILLOPN___303 = 2,
    ILL_ILLADR___303 = 3,
    ILL_ILLTRP___303 = 4,
    ILL_PRVOPC___303 = 5,
    ILL_PRVREG___303 = 6,
    ILL_COPROC___303 = 7,
    ILL_BADSTK___303 = 8
} ;
enum __anonenum_452038093___303 {
    FPE_INTDIV___303 = 1,
    FPE_INTOVF___303 = 2,
    FPE_FLTDIV___303 = 3,
    FPE_FLTOVF___303 = 4,
    FPE_FLTUND___303 = 5,
    FPE_FLTRES___303 = 6,
    FPE_FLTINV___303 = 7,
    FPE_FLTSUB___303 = 8
} ;
enum __anonenum_30976155___303 {
    SEGV_MAPERR___303 = 1,
    SEGV_ACCERR___303 = 2,
    SEGV_BNDERR___303 = 3,
    SEGV_PKUERR___303 = 4
} ;
enum __anonenum_1036286214___303 {
    BUS_ADRALN___303 = 1,
    BUS_ADRERR___303 = 2,
    BUS_OBJERR___303 = 3,
    BUS_MCEERR_AR___303 = 4,
    BUS_MCEERR_AO___303 = 5
} ;
enum __anonenum_493465559___303 {
    TRAP_BRKPT___303 = 1,
    TRAP_TRACE___303 = 2
} ;
enum __anonenum_23175539___303 {
    CLD_EXITED___303 = 1,
    CLD_KILLED___303 = 2,
    CLD_DUMPED___303 = 3,
    CLD_TRAPPED___303 = 4,
    CLD_STOPPED___303 = 5,
    CLD_CONTINUED___303 = 6
} ;
enum __anonenum_111643124___303 {
    POLL_IN___303 = 1,
    POLL_OUT___303 = 2,
    POLL_MSG___303 = 3,
    POLL_ERR___303 = 4,
    POLL_PRI___303 = 5,
    POLL_HUP___303 = 6
} ;
enum __anonenum_852341087___303 {
    SIGEV_SIGNAL___303 = 0,
    SIGEV_NONE___303 = 1,
    SIGEV_THREAD___303 = 2,
    SIGEV_THREAD_ID___303 = 4
} ;
enum __anonenum_451154152___303 {
    REG_R8___303 = 0,
    REG_R9___303 = 1,
    REG_R10___303 = 2,
    REG_R11___303 = 3,
    REG_R12___303 = 4,
    REG_R13___303 = 5,
    REG_R14___303 = 6,
    REG_R15___303 = 7,
    REG_RDI___303 = 8,
    REG_RSI___303 = 9,
    REG_RBP___303 = 10,
    REG_RBX___303 = 11,
    REG_RDX___303 = 12,
    REG_RAX___303 = 13,
    REG_RCX___303 = 14,
    REG_RSP___303 = 15,
    REG_RIP___303 = 16,
    REG_EFL___303 = 17,
    REG_CSGSFS___303 = 18,
    REG_ERR___303 = 19,
    REG_TRAPNO___303 = 20,
    REG_OLDMASK___303 = 21,
    REG_CR2___303 = 22
} ;
enum __anonenum_57186863___303 {
    SS_ONSTACK___303 = 1,
    SS_DISABLE___303 = 2
} ;
enum __anonenum_83571709___303 {
    MSG_OOB___303 = 1,
    MSG_PEEK___303 = 2,
    MSG_DONTROUTE___303 = 4,
    MSG_TRYHARD___303 = 4,
    MSG_CTRUNC___303 = 8,
    MSG_PROXY___303 = 16,
    MSG_TRUNC___303 = 32,
    MSG_DONTWAIT___303 = 64,
    MSG_EOR___303 = 128,
    MSG_WAITALL___303 = 256,
    MSG_FIN___303 = 512,
    MSG_SYN___303 = 1024,
    MSG_CONFIRM___303 = 2048,
    MSG_RST___303 = 4096,
    MSG_ERRQUEUE___303 = 8192,
    MSG_NOSIGNAL___303 = 16384,
    MSG_MORE___303 = 32768,
    MSG_WAITFORONE___303 = 65536,
    MSG_BATCH___303 = 262144,
    MSG_ZEROCOPY___303 = 67108864,
    MSG_FASTOPEN___303 = 536870912,
    MSG_CMSG_CLOEXEC___303 = 1073741824
} ;
enum __anonenum_617082774___303 {
    SCM_RIGHTS___303 = 1,
    SCM_CREDENTIALS___303 = 2
} ;
enum __anonenum_606441560___303 {
    SHUT_RD___303 = 0,
    SHUT_WR___303 = 1,
    SHUT_RDWR___303 = 2
} ;
enum __anonenum_681669233___303 {
    IPPROTO_IP___303 = 0,
    IPPROTO_ICMP___303 = 1,
    IPPROTO_IGMP___303 = 2,
    IPPROTO_IPIP___303 = 4,
    IPPROTO_TCP___303 = 6,
    IPPROTO_EGP___303 = 8,
    IPPROTO_PUP___303 = 12,
    IPPROTO_UDP___303 = 17,
    IPPROTO_IDP___303 = 22,
    IPPROTO_TP___303 = 29,
    IPPROTO_DCCP___303 = 33,
    IPPROTO_IPV6___303 = 41,
    IPPROTO_RSVP___303 = 46,
    IPPROTO_GRE___303 = 47,
    IPPROTO_ESP___303 = 50,
    IPPROTO_AH___303 = 51,
    IPPROTO_MTP___303 = 92,
    IPPROTO_BEETPH___303 = 94,
    IPPROTO_ENCAP___303 = 98,
    IPPROTO_PIM___303 = 103,
    IPPROTO_COMP___303 = 108,
    IPPROTO_SCTP___303 = 132,
    IPPROTO_UDPLITE___303 = 136,
    IPPROTO_MPLS___303 = 137,
    IPPROTO_RAW___303 = 255,
    IPPROTO_MAX___303 = 256
} ;
enum __anonenum_218739988___303 {
    IPPROTO_HOPOPTS___303 = 0,
    IPPROTO_ROUTING___303 = 43,
    IPPROTO_FRAGMENT___303 = 44,
    IPPROTO_ICMPV6___303 = 58,
    IPPROTO_NONE___303 = 59,
    IPPROTO_DSTOPTS___303 = 60,
    IPPROTO_MH___303 = 135
} ;
enum __anonenum_662268580___303 {
    IPPORT_ECHO___303 = 7,
    IPPORT_DISCARD___303 = 9,
    IPPORT_SYSTAT___303 = 11,
    IPPORT_DAYTIME___303 = 13,
    IPPORT_NETSTAT___303 = 15,
    IPPORT_FTP___303 = 21,
    IPPORT_TELNET___303 = 23,
    IPPORT_SMTP___303 = 25,
    IPPORT_TIMESERVER___303 = 37,
    IPPORT_NAMESERVER___303 = 42,
    IPPORT_WHOIS___303 = 43,
    IPPORT_MTP___303 = 57,
    IPPORT_TFTP___303 = 69,
    IPPORT_RJE___303 = 77,
    IPPORT_FINGER___303 = 79,
    IPPORT_TTYLINK___303 = 87,
    IPPORT_SUPDUP___303 = 95,
    IPPORT_EXECSERVER___303 = 512,
    IPPORT_LOGINSERVER___303 = 513,
    IPPORT_CMDSERVER___303 = 514,
    IPPORT_EFSSERVER___303 = 520,
    IPPORT_BIFFUDP___303 = 512,
    IPPORT_WHOSERVER___303 = 513,
    IPPORT_ROUTESERVER___303 = 520,
    IPPORT_RESERVED___303 = 1024,
    IPPORT_USERRESERVED___303 = 5000
} ;
enum __anonenum_788308992___303 {
    TCP_ESTABLISHED___303 = 1,
    TCP_SYN_SENT___303 = 2,
    TCP_SYN_RECV___303 = 3,
    TCP_FIN_WAIT1___303 = 4,
    TCP_FIN_WAIT2___303 = 5,
    TCP_TIME_WAIT___303 = 6,
    TCP_CLOSE___303 = 7,
    TCP_CLOSE_WAIT___303 = 8,
    TCP_LAST_ACK___303 = 9,
    TCP_LISTEN___303 = 10,
    TCP_CLOSING___303 = 11
} ;
enum __anonenum_221125648___303 {
    TCP_NO_QUEUE___303 = 0,
    TCP_RECV_QUEUE___303 = 1,
    TCP_SEND_QUEUE___303 = 2,
    TCP_QUEUES_NR___303 = 3
} ;
enum __anonenum_34415463___303 {
    PTHREAD_CREATE_JOINABLE___303 = 0,
    PTHREAD_CREATE_DETACHED___303 = 1
} ;
enum __anonenum_303612439___303 {
    PTHREAD_MUTEX_TIMED_NP___303 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___303 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___303 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___303 = 3,
    PTHREAD_MUTEX_NORMAL___303 = 0,
    PTHREAD_MUTEX_RECURSIVE___303 = 1,
    PTHREAD_MUTEX_ERRORCHECK___303 = 2,
    PTHREAD_MUTEX_DEFAULT___303 = 0,
    PTHREAD_MUTEX_FAST_NP___303 = 0
} ;
enum __anonenum_931900394___303 {
    PTHREAD_MUTEX_STALLED___303 = 0,
    PTHREAD_MUTEX_STALLED_NP___303 = 0,
    PTHREAD_MUTEX_ROBUST___303 = 1,
    PTHREAD_MUTEX_ROBUST_NP___303 = 1
} ;
enum __anonenum_205214487___303 {
    PTHREAD_PRIO_NONE___303 = 0,
    PTHREAD_PRIO_INHERIT___303 = 1,
    PTHREAD_PRIO_PROTECT___303 = 2
} ;
enum __anonenum_25043950___303 {
    PTHREAD_RWLOCK_PREFER_READER_NP___303 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___303 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___303 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___303 = 0
} ;
enum __anonenum_436439511___303 {
    PTHREAD_INHERIT_SCHED___303 = 0,
    PTHREAD_EXPLICIT_SCHED___303 = 1
} ;
enum __anonenum_998661166___303 {
    PTHREAD_SCOPE_SYSTEM___303 = 0,
    PTHREAD_SCOPE_PROCESS___303 = 1
} ;
enum __anonenum_146137331___303 {
    PTHREAD_PROCESS_PRIVATE___303 = 0,
    PTHREAD_PROCESS_SHARED___303 = 1
} ;
enum __anonenum_53396917___303 {
    PTHREAD_CANCEL_ENABLE___303 = 0,
    PTHREAD_CANCEL_DISABLE___303 = 1
} ;
enum __anonenum_904563783___303 {
    PTHREAD_CANCEL_DEFERRED___303 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___303 = 1
} ;
enum __anonenum_672052974___303 {
    SSL_CT_VALIDATION_PERMISSIVE___303 = 0,
    SSL_CT_VALIDATION_STRICT___303 = 1
} ;
enum __anonenum_561748495___22 {
    RECURSE_SUBMODULES_ONLY___22 = -5,
    RECURSE_SUBMODULES_CHECK___22 = -4,
    RECURSE_SUBMODULES_ERROR___22 = -3,
    RECURSE_SUBMODULES_NONE___22 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___22 = -1,
    RECURSE_SUBMODULES_OFF___22 = 0,
    RECURSE_SUBMODULES_DEFAULT___22 = 1,
    RECURSE_SUBMODULES_ON___22 = 2
} ;
enum __anonenum_437032235___304 {
    _PC_LINK_MAX___304 = 0,
    _PC_MAX_CANON___304 = 1,
    _PC_MAX_INPUT___304 = 2,
    _PC_NAME_MAX___304 = 3,
    _PC_PATH_MAX___304 = 4,
    _PC_PIPE_BUF___304 = 5,
    _PC_CHOWN_RESTRICTED___304 = 6,
    _PC_NO_TRUNC___304 = 7,
    _PC_VDISABLE___304 = 8,
    _PC_SYNC_IO___304 = 9,
    _PC_ASYNC_IO___304 = 10,
    _PC_PRIO_IO___304 = 11,
    _PC_SOCK_MAXBUF___304 = 12,
    _PC_FILESIZEBITS___304 = 13,
    _PC_REC_INCR_XFER_SIZE___304 = 14,
    _PC_REC_MAX_XFER_SIZE___304 = 15,
    _PC_REC_MIN_XFER_SIZE___304 = 16,
    _PC_REC_XFER_ALIGN___304 = 17,
    _PC_ALLOC_SIZE_MIN___304 = 18,
    _PC_SYMLINK_MAX___304 = 19,
    _PC_2_SYMLINKS___304 = 20
} ;
enum __anonenum_315186338___304 {
    _SC_ARG_MAX___304 = 0,
    _SC_CHILD_MAX___304 = 1,
    _SC_CLK_TCK___304 = 2,
    _SC_NGROUPS_MAX___304 = 3,
    _SC_OPEN_MAX___304 = 4,
    _SC_STREAM_MAX___304 = 5,
    _SC_TZNAME_MAX___304 = 6,
    _SC_JOB_CONTROL___304 = 7,
    _SC_SAVED_IDS___304 = 8,
    _SC_REALTIME_SIGNALS___304 = 9,
    _SC_PRIORITY_SCHEDULING___304 = 10,
    _SC_TIMERS___304 = 11,
    _SC_ASYNCHRONOUS_IO___304 = 12,
    _SC_PRIORITIZED_IO___304 = 13,
    _SC_SYNCHRONIZED_IO___304 = 14,
    _SC_FSYNC___304 = 15,
    _SC_MAPPED_FILES___304 = 16,
    _SC_MEMLOCK___304 = 17,
    _SC_MEMLOCK_RANGE___304 = 18,
    _SC_MEMORY_PROTECTION___304 = 19,
    _SC_MESSAGE_PASSING___304 = 20,
    _SC_SEMAPHORES___304 = 21,
    _SC_SHARED_MEMORY_OBJECTS___304 = 22,
    _SC_AIO_LISTIO_MAX___304 = 23,
    _SC_AIO_MAX___304 = 24,
    _SC_AIO_PRIO_DELTA_MAX___304 = 25,
    _SC_DELAYTIMER_MAX___304 = 26,
    _SC_MQ_OPEN_MAX___304 = 27,
    _SC_MQ_PRIO_MAX___304 = 28,
    _SC_VERSION___304 = 29,
    _SC_PAGESIZE___304 = 30,
    _SC_RTSIG_MAX___304 = 31,
    _SC_SEM_NSEMS_MAX___304 = 32,
    _SC_SEM_VALUE_MAX___304 = 33,
    _SC_SIGQUEUE_MAX___304 = 34,
    _SC_TIMER_MAX___304 = 35,
    _SC_BC_BASE_MAX___304 = 36,
    _SC_BC_DIM_MAX___304 = 37,
    _SC_BC_SCALE_MAX___304 = 38,
    _SC_BC_STRING_MAX___304 = 39,
    _SC_COLL_WEIGHTS_MAX___304 = 40,
    _SC_EQUIV_CLASS_MAX___304 = 41,
    _SC_EXPR_NEST_MAX___304 = 42,
    _SC_LINE_MAX___304 = 43,
    _SC_RE_DUP_MAX___304 = 44,
    _SC_CHARCLASS_NAME_MAX___304 = 45,
    _SC_2_VERSION___304 = 46,
    _SC_2_C_BIND___304 = 47,
    _SC_2_C_DEV___304 = 48,
    _SC_2_FORT_DEV___304 = 49,
    _SC_2_FORT_RUN___304 = 50,
    _SC_2_SW_DEV___304 = 51,
    _SC_2_LOCALEDEF___304 = 52,
    _SC_PII___304 = 53,
    _SC_PII_XTI___304 = 54,
    _SC_PII_SOCKET___304 = 55,
    _SC_PII_INTERNET___304 = 56,
    _SC_PII_OSI___304 = 57,
    _SC_POLL___304 = 58,
    _SC_SELECT___304 = 59,
    _SC_UIO_MAXIOV___304 = 60,
    _SC_IOV_MAX___304 = 60,
    _SC_PII_INTERNET_STREAM___304 = 61,
    _SC_PII_INTERNET_DGRAM___304 = 62,
    _SC_PII_OSI_COTS___304 = 63,
    _SC_PII_OSI_CLTS___304 = 64,
    _SC_PII_OSI_M___304 = 65,
    _SC_T_IOV_MAX___304 = 66,
    _SC_THREADS___304 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___304 = 68,
    _SC_GETGR_R_SIZE_MAX___304 = 69,
    _SC_GETPW_R_SIZE_MAX___304 = 70,
    _SC_LOGIN_NAME_MAX___304 = 71,
    _SC_TTY_NAME_MAX___304 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___304 = 73,
    _SC_THREAD_KEYS_MAX___304 = 74,
    _SC_THREAD_STACK_MIN___304 = 75,
    _SC_THREAD_THREADS_MAX___304 = 76,
    _SC_THREAD_ATTR_STACKADDR___304 = 77,
    _SC_THREAD_ATTR_STACKSIZE___304 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___304 = 79,
    _SC_THREAD_PRIO_INHERIT___304 = 80,
    _SC_THREAD_PRIO_PROTECT___304 = 81,
    _SC_THREAD_PROCESS_SHARED___304 = 82,
    _SC_NPROCESSORS_CONF___304 = 83,
    _SC_NPROCESSORS_ONLN___304 = 84,
    _SC_PHYS_PAGES___304 = 85,
    _SC_AVPHYS_PAGES___304 = 86,
    _SC_ATEXIT_MAX___304 = 87,
    _SC_PASS_MAX___304 = 88,
    _SC_XOPEN_VERSION___304 = 89,
    _SC_XOPEN_XCU_VERSION___304 = 90,
    _SC_XOPEN_UNIX___304 = 91,
    _SC_XOPEN_CRYPT___304 = 92,
    _SC_XOPEN_ENH_I18N___304 = 93,
    _SC_XOPEN_SHM___304 = 94,
    _SC_2_CHAR_TERM___304 = 95,
    _SC_2_C_VERSION___304 = 96,
    _SC_2_UPE___304 = 97,
    _SC_XOPEN_XPG2___304 = 98,
    _SC_XOPEN_XPG3___304 = 99,
    _SC_XOPEN_XPG4___304 = 100,
    _SC_CHAR_BIT___304 = 101,
    _SC_CHAR_MAX___304 = 102,
    _SC_CHAR_MIN___304 = 103,
    _SC_INT_MAX___304 = 104,
    _SC_INT_MIN___304 = 105,
    _SC_LONG_BIT___304 = 106,
    _SC_WORD_BIT___304 = 107,
    _SC_MB_LEN_MAX___304 = 108,
    _SC_NZERO___304 = 109,
    _SC_SSIZE_MAX___304 = 110,
    _SC_SCHAR_MAX___304 = 111,
    _SC_SCHAR_MIN___304 = 112,
    _SC_SHRT_MAX___304 = 113,
    _SC_SHRT_MIN___304 = 114,
    _SC_UCHAR_MAX___304 = 115,
    _SC_UINT_MAX___304 = 116,
    _SC_ULONG_MAX___304 = 117,
    _SC_USHRT_MAX___304 = 118,
    _SC_NL_ARGMAX___304 = 119,
    _SC_NL_LANGMAX___304 = 120,
    _SC_NL_MSGMAX___304 = 121,
    _SC_NL_NMAX___304 = 122,
    _SC_NL_SETMAX___304 = 123,
    _SC_NL_TEXTMAX___304 = 124,
    _SC_XBS5_ILP32_OFF32___304 = 125,
    _SC_XBS5_ILP32_OFFBIG___304 = 126,
    _SC_XBS5_LP64_OFF64___304 = 127,
    _SC_XBS5_LPBIG_OFFBIG___304 = 128,
    _SC_XOPEN_LEGACY___304 = 129,
    _SC_XOPEN_REALTIME___304 = 130,
    _SC_XOPEN_REALTIME_THREADS___304 = 131,
    _SC_ADVISORY_INFO___304 = 132,
    _SC_BARRIERS___304 = 133,
    _SC_BASE___304 = 134,
    _SC_C_LANG_SUPPORT___304 = 135,
    _SC_C_LANG_SUPPORT_R___304 = 136,
    _SC_CLOCK_SELECTION___304 = 137,
    _SC_CPUTIME___304 = 138,
    _SC_THREAD_CPUTIME___304 = 139,
    _SC_DEVICE_IO___304 = 140,
    _SC_DEVICE_SPECIFIC___304 = 141,
    _SC_DEVICE_SPECIFIC_R___304 = 142,
    _SC_FD_MGMT___304 = 143,
    _SC_FIFO___304 = 144,
    _SC_PIPE___304 = 145,
    _SC_FILE_ATTRIBUTES___304 = 146,
    _SC_FILE_LOCKING___304 = 147,
    _SC_FILE_SYSTEM___304 = 148,
    _SC_MONOTONIC_CLOCK___304 = 149,
    _SC_MULTI_PROCESS___304 = 150,
    _SC_SINGLE_PROCESS___304 = 151,
    _SC_NETWORKING___304 = 152,
    _SC_READER_WRITER_LOCKS___304 = 153,
    _SC_SPIN_LOCKS___304 = 154,
    _SC_REGEXP___304 = 155,
    _SC_REGEX_VERSION___304 = 156,
    _SC_SHELL___304 = 157,
    _SC_SIGNALS___304 = 158,
    _SC_SPAWN___304 = 159,
    _SC_SPORADIC_SERVER___304 = 160,
    _SC_THREAD_SPORADIC_SERVER___304 = 161,
    _SC_SYSTEM_DATABASE___304 = 162,
    _SC_SYSTEM_DATABASE_R___304 = 163,
    _SC_TIMEOUTS___304 = 164,
    _SC_TYPED_MEMORY_OBJECTS___304 = 165,
    _SC_USER_GROUPS___304 = 166,
    _SC_USER_GROUPS_R___304 = 167,
    _SC_2_PBS___304 = 168,
    _SC_2_PBS_ACCOUNTING___304 = 169,
    _SC_2_PBS_LOCATE___304 = 170,
    _SC_2_PBS_MESSAGE___304 = 171,
    _SC_2_PBS_TRACK___304 = 172,
    _SC_SYMLOOP_MAX___304 = 173,
    _SC_STREAMS___304 = 174,
    _SC_2_PBS_CHECKPOINT___304 = 175,
    _SC_V6_ILP32_OFF32___304 = 176,
    _SC_V6_ILP32_OFFBIG___304 = 177,
    _SC_V6_LP64_OFF64___304 = 178,
    _SC_V6_LPBIG_OFFBIG___304 = 179,
    _SC_HOST_NAME_MAX___304 = 180,
    _SC_TRACE___304 = 181,
    _SC_TRACE_EVENT_FILTER___304 = 182,
    _SC_TRACE_INHERIT___304 = 183,
    _SC_TRACE_LOG___304 = 184,
    _SC_LEVEL1_ICACHE_SIZE___304 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___304 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___304 = 187,
    _SC_LEVEL1_DCACHE_SIZE___304 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___304 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___304 = 190,
    _SC_LEVEL2_CACHE_SIZE___304 = 191,
    _SC_LEVEL2_CACHE_ASSOC___304 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___304 = 193,
    _SC_LEVEL3_CACHE_SIZE___304 = 194,
    _SC_LEVEL3_CACHE_ASSOC___304 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___304 = 196,
    _SC_LEVEL4_CACHE_SIZE___304 = 197,
    _SC_LEVEL4_CACHE_ASSOC___304 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___304 = 199,
    _SC_IPV6___304 = 235,
    _SC_RAW_SOCKETS___304 = 236,
    _SC_V7_ILP32_OFF32___304 = 237,
    _SC_V7_ILP32_OFFBIG___304 = 238,
    _SC_V7_LP64_OFF64___304 = 239,
    _SC_V7_LPBIG_OFFBIG___304 = 240,
    _SC_SS_REPL_MAX___304 = 241,
    _SC_TRACE_EVENT_NAME_MAX___304 = 242,
    _SC_TRACE_NAME_MAX___304 = 243,
    _SC_TRACE_SYS_MAX___304 = 244,
    _SC_TRACE_USER_EVENT_MAX___304 = 245,
    _SC_XOPEN_STREAMS___304 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___304 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___304 = 248
} ;
enum __anonenum_875524036___304 {
    _CS_PATH___304 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___304 = 1,
    _CS_GNU_LIBC_VERSION___304 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___304 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___304 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___304 = 5,
    _CS_LFS_CFLAGS___304 = 1000,
    _CS_LFS_LDFLAGS___304 = 1001,
    _CS_LFS_LIBS___304 = 1002,
    _CS_LFS_LINTFLAGS___304 = 1003,
    _CS_LFS64_CFLAGS___304 = 1004,
    _CS_LFS64_LDFLAGS___304 = 1005,
    _CS_LFS64_LIBS___304 = 1006,
    _CS_LFS64_LINTFLAGS___304 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___304 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___304 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___304 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___304 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___304 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___304 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___304 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___304 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___304 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___304 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___304 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___304 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___304 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___304 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___304 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___304 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___304 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___304 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___304 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___304 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___304 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___304 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___304 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___304 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___304 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___304 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___304 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___304 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___304 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___304 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___304 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___304 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___304 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___304 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___304 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___304 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___304 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___304 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___304 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___304 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___304 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___304 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___304 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___304 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___304 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___304 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___304 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___304 = 1147,
    _CS_V6_ENV___304 = 1148,
    _CS_V7_ENV___304 = 1149
} ;
enum __anonenum_513775621___304 {
    DT_UNKNOWN___304 = 0,
    DT_FIFO___304 = 1,
    DT_CHR___304 = 2,
    DT_DIR___304 = 4,
    DT_BLK___304 = 6,
    DT_REG___304 = 8,
    DT_LNK___304 = 10,
    DT_SOCK___304 = 12,
    DT_WHT___304 = 14
} ;
enum __anonenum_77002343___304 {
    SI_ASYNCNL___304 = -60,
    SI_TKILL___304 = -6,
    SI_SIGIO___304 = -5,
    SI_ASYNCIO___304 = -4,
    SI_MESGQ___304 = -3,
    SI_TIMER___304 = -2,
    SI_QUEUE___304 = -1,
    SI_USER___304 = 0,
    SI_KERNEL___304 = 128
} ;
enum __anonenum_131038172___304 {
    ILL_ILLOPC___304 = 1,
    ILL_ILLOPN___304 = 2,
    ILL_ILLADR___304 = 3,
    ILL_ILLTRP___304 = 4,
    ILL_PRVOPC___304 = 5,
    ILL_PRVREG___304 = 6,
    ILL_COPROC___304 = 7,
    ILL_BADSTK___304 = 8
} ;
enum __anonenum_452038093___304 {
    FPE_INTDIV___304 = 1,
    FPE_INTOVF___304 = 2,
    FPE_FLTDIV___304 = 3,
    FPE_FLTOVF___304 = 4,
    FPE_FLTUND___304 = 5,
    FPE_FLTRES___304 = 6,
    FPE_FLTINV___304 = 7,
    FPE_FLTSUB___304 = 8
} ;
enum __anonenum_30976155___304 {
    SEGV_MAPERR___304 = 1,
    SEGV_ACCERR___304 = 2,
    SEGV_BNDERR___304 = 3,
    SEGV_PKUERR___304 = 4
} ;
enum __anonenum_1036286214___304 {
    BUS_ADRALN___304 = 1,
    BUS_ADRERR___304 = 2,
    BUS_OBJERR___304 = 3,
    BUS_MCEERR_AR___304 = 4,
    BUS_MCEERR_AO___304 = 5
} ;
enum __anonenum_493465559___304 {
    TRAP_BRKPT___304 = 1,
    TRAP_TRACE___304 = 2
} ;
enum __anonenum_23175539___304 {
    CLD_EXITED___304 = 1,
    CLD_KILLED___304 = 2,
    CLD_DUMPED___304 = 3,
    CLD_TRAPPED___304 = 4,
    CLD_STOPPED___304 = 5,
    CLD_CONTINUED___304 = 6
} ;
enum __anonenum_111643124___304 {
    POLL_IN___304 = 1,
    POLL_OUT___304 = 2,
    POLL_MSG___304 = 3,
    POLL_ERR___304 = 4,
    POLL_PRI___304 = 5,
    POLL_HUP___304 = 6
} ;
enum __anonenum_852341087___304 {
    SIGEV_SIGNAL___304 = 0,
    SIGEV_NONE___304 = 1,
    SIGEV_THREAD___304 = 2,
    SIGEV_THREAD_ID___304 = 4
} ;
enum __anonenum_451154152___304 {
    REG_R8___304 = 0,
    REG_R9___304 = 1,
    REG_R10___304 = 2,
    REG_R11___304 = 3,
    REG_R12___304 = 4,
    REG_R13___304 = 5,
    REG_R14___304 = 6,
    REG_R15___304 = 7,
    REG_RDI___304 = 8,
    REG_RSI___304 = 9,
    REG_RBP___304 = 10,
    REG_RBX___304 = 11,
    REG_RDX___304 = 12,
    REG_RAX___304 = 13,
    REG_RCX___304 = 14,
    REG_RSP___304 = 15,
    REG_RIP___304 = 16,
    REG_EFL___304 = 17,
    REG_CSGSFS___304 = 18,
    REG_ERR___304 = 19,
    REG_TRAPNO___304 = 20,
    REG_OLDMASK___304 = 21,
    REG_CR2___304 = 22
} ;
enum __anonenum_57186863___304 {
    SS_ONSTACK___304 = 1,
    SS_DISABLE___304 = 2
} ;
enum __anonenum_83571709___304 {
    MSG_OOB___304 = 1,
    MSG_PEEK___304 = 2,
    MSG_DONTROUTE___304 = 4,
    MSG_TRYHARD___304 = 4,
    MSG_CTRUNC___304 = 8,
    MSG_PROXY___304 = 16,
    MSG_TRUNC___304 = 32,
    MSG_DONTWAIT___304 = 64,
    MSG_EOR___304 = 128,
    MSG_WAITALL___304 = 256,
    MSG_FIN___304 = 512,
    MSG_SYN___304 = 1024,
    MSG_CONFIRM___304 = 2048,
    MSG_RST___304 = 4096,
    MSG_ERRQUEUE___304 = 8192,
    MSG_NOSIGNAL___304 = 16384,
    MSG_MORE___304 = 32768,
    MSG_WAITFORONE___304 = 65536,
    MSG_BATCH___304 = 262144,
    MSG_ZEROCOPY___304 = 67108864,
    MSG_FASTOPEN___304 = 536870912,
    MSG_CMSG_CLOEXEC___304 = 1073741824
} ;
enum __anonenum_617082774___304 {
    SCM_RIGHTS___304 = 1,
    SCM_CREDENTIALS___304 = 2
} ;
enum __anonenum_606441560___304 {
    SHUT_RD___304 = 0,
    SHUT_WR___304 = 1,
    SHUT_RDWR___304 = 2
} ;
enum __anonenum_681669233___304 {
    IPPROTO_IP___304 = 0,
    IPPROTO_ICMP___304 = 1,
    IPPROTO_IGMP___304 = 2,
    IPPROTO_IPIP___304 = 4,
    IPPROTO_TCP___304 = 6,
    IPPROTO_EGP___304 = 8,
    IPPROTO_PUP___304 = 12,
    IPPROTO_UDP___304 = 17,
    IPPROTO_IDP___304 = 22,
    IPPROTO_TP___304 = 29,
    IPPROTO_DCCP___304 = 33,
    IPPROTO_IPV6___304 = 41,
    IPPROTO_RSVP___304 = 46,
    IPPROTO_GRE___304 = 47,
    IPPROTO_ESP___304 = 50,
    IPPROTO_AH___304 = 51,
    IPPROTO_MTP___304 = 92,
    IPPROTO_BEETPH___304 = 94,
    IPPROTO_ENCAP___304 = 98,
    IPPROTO_PIM___304 = 103,
    IPPROTO_COMP___304 = 108,
    IPPROTO_SCTP___304 = 132,
    IPPROTO_UDPLITE___304 = 136,
    IPPROTO_MPLS___304 = 137,
    IPPROTO_RAW___304 = 255,
    IPPROTO_MAX___304 = 256
} ;
enum __anonenum_218739988___304 {
    IPPROTO_HOPOPTS___304 = 0,
    IPPROTO_ROUTING___304 = 43,
    IPPROTO_FRAGMENT___304 = 44,
    IPPROTO_ICMPV6___304 = 58,
    IPPROTO_NONE___304 = 59,
    IPPROTO_DSTOPTS___304 = 60,
    IPPROTO_MH___304 = 135
} ;
enum __anonenum_662268580___304 {
    IPPORT_ECHO___304 = 7,
    IPPORT_DISCARD___304 = 9,
    IPPORT_SYSTAT___304 = 11,
    IPPORT_DAYTIME___304 = 13,
    IPPORT_NETSTAT___304 = 15,
    IPPORT_FTP___304 = 21,
    IPPORT_TELNET___304 = 23,
    IPPORT_SMTP___304 = 25,
    IPPORT_TIMESERVER___304 = 37,
    IPPORT_NAMESERVER___304 = 42,
    IPPORT_WHOIS___304 = 43,
    IPPORT_MTP___304 = 57,
    IPPORT_TFTP___304 = 69,
    IPPORT_RJE___304 = 77,
    IPPORT_FINGER___304 = 79,
    IPPORT_TTYLINK___304 = 87,
    IPPORT_SUPDUP___304 = 95,
    IPPORT_EXECSERVER___304 = 512,
    IPPORT_LOGINSERVER___304 = 513,
    IPPORT_CMDSERVER___304 = 514,
    IPPORT_EFSSERVER___304 = 520,
    IPPORT_BIFFUDP___304 = 512,
    IPPORT_WHOSERVER___304 = 513,
    IPPORT_ROUTESERVER___304 = 520,
    IPPORT_RESERVED___304 = 1024,
    IPPORT_USERRESERVED___304 = 5000
} ;
enum __anonenum_788308992___304 {
    TCP_ESTABLISHED___304 = 1,
    TCP_SYN_SENT___304 = 2,
    TCP_SYN_RECV___304 = 3,
    TCP_FIN_WAIT1___304 = 4,
    TCP_FIN_WAIT2___304 = 5,
    TCP_TIME_WAIT___304 = 6,
    TCP_CLOSE___304 = 7,
    TCP_CLOSE_WAIT___304 = 8,
    TCP_LAST_ACK___304 = 9,
    TCP_LISTEN___304 = 10,
    TCP_CLOSING___304 = 11
} ;
enum __anonenum_221125648___304 {
    TCP_NO_QUEUE___304 = 0,
    TCP_RECV_QUEUE___304 = 1,
    TCP_SEND_QUEUE___304 = 2,
    TCP_QUEUES_NR___304 = 3
} ;
enum __anonenum_34415463___304 {
    PTHREAD_CREATE_JOINABLE___304 = 0,
    PTHREAD_CREATE_DETACHED___304 = 1
} ;
enum __anonenum_303612439___304 {
    PTHREAD_MUTEX_TIMED_NP___304 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___304 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___304 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___304 = 3,
    PTHREAD_MUTEX_NORMAL___304 = 0,
    PTHREAD_MUTEX_RECURSIVE___304 = 1,
    PTHREAD_MUTEX_ERRORCHECK___304 = 2,
    PTHREAD_MUTEX_DEFAULT___304 = 0,
    PTHREAD_MUTEX_FAST_NP___304 = 0
} ;
enum __anonenum_931900394___304 {
    PTHREAD_MUTEX_STALLED___304 = 0,
    PTHREAD_MUTEX_STALLED_NP___304 = 0,
    PTHREAD_MUTEX_ROBUST___304 = 1,
    PTHREAD_MUTEX_ROBUST_NP___304 = 1
} ;
enum __anonenum_205214487___304 {
    PTHREAD_PRIO_NONE___304 = 0,
    PTHREAD_PRIO_INHERIT___304 = 1,
    PTHREAD_PRIO_PROTECT___304 = 2
} ;
enum __anonenum_25043950___304 {
    PTHREAD_RWLOCK_PREFER_READER_NP___304 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___304 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___304 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___304 = 0
} ;
enum __anonenum_436439511___304 {
    PTHREAD_INHERIT_SCHED___304 = 0,
    PTHREAD_EXPLICIT_SCHED___304 = 1
} ;
enum __anonenum_998661166___304 {
    PTHREAD_SCOPE_SYSTEM___304 = 0,
    PTHREAD_SCOPE_PROCESS___304 = 1
} ;
enum __anonenum_146137331___304 {
    PTHREAD_PROCESS_PRIVATE___304 = 0,
    PTHREAD_PROCESS_SHARED___304 = 1
} ;
enum __anonenum_53396917___304 {
    PTHREAD_CANCEL_ENABLE___304 = 0,
    PTHREAD_CANCEL_DISABLE___304 = 1
} ;
enum __anonenum_904563783___304 {
    PTHREAD_CANCEL_DEFERRED___304 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___304 = 1
} ;
enum __anonenum_672052974___304 {
    SSL_CT_VALIDATION_PERMISSIVE___304 = 0,
    SSL_CT_VALIDATION_STRICT___304 = 1
} ;
enum __anonenum_561748495___23 {
    RECURSE_SUBMODULES_ONLY___23 = -5,
    RECURSE_SUBMODULES_CHECK___23 = -4,
    RECURSE_SUBMODULES_ERROR___23 = -3,
    RECURSE_SUBMODULES_NONE___23 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___23 = -1,
    RECURSE_SUBMODULES_OFF___23 = 0,
    RECURSE_SUBMODULES_DEFAULT___23 = 1,
    RECURSE_SUBMODULES_ON___23 = 2
} ;
struct symdiff {
   struct bitmap *skip ;
   int warn ;
   char const   *base ;
   char const   *left ;
   char const   *right ;
};
enum __anonenum_437032235___305 {
    _PC_LINK_MAX___305 = 0,
    _PC_MAX_CANON___305 = 1,
    _PC_MAX_INPUT___305 = 2,
    _PC_NAME_MAX___305 = 3,
    _PC_PATH_MAX___305 = 4,
    _PC_PIPE_BUF___305 = 5,
    _PC_CHOWN_RESTRICTED___305 = 6,
    _PC_NO_TRUNC___305 = 7,
    _PC_VDISABLE___305 = 8,
    _PC_SYNC_IO___305 = 9,
    _PC_ASYNC_IO___305 = 10,
    _PC_PRIO_IO___305 = 11,
    _PC_SOCK_MAXBUF___305 = 12,
    _PC_FILESIZEBITS___305 = 13,
    _PC_REC_INCR_XFER_SIZE___305 = 14,
    _PC_REC_MAX_XFER_SIZE___305 = 15,
    _PC_REC_MIN_XFER_SIZE___305 = 16,
    _PC_REC_XFER_ALIGN___305 = 17,
    _PC_ALLOC_SIZE_MIN___305 = 18,
    _PC_SYMLINK_MAX___305 = 19,
    _PC_2_SYMLINKS___305 = 20
} ;
enum __anonenum_315186338___305 {
    _SC_ARG_MAX___305 = 0,
    _SC_CHILD_MAX___305 = 1,
    _SC_CLK_TCK___305 = 2,
    _SC_NGROUPS_MAX___305 = 3,
    _SC_OPEN_MAX___305 = 4,
    _SC_STREAM_MAX___305 = 5,
    _SC_TZNAME_MAX___305 = 6,
    _SC_JOB_CONTROL___305 = 7,
    _SC_SAVED_IDS___305 = 8,
    _SC_REALTIME_SIGNALS___305 = 9,
    _SC_PRIORITY_SCHEDULING___305 = 10,
    _SC_TIMERS___305 = 11,
    _SC_ASYNCHRONOUS_IO___305 = 12,
    _SC_PRIORITIZED_IO___305 = 13,
    _SC_SYNCHRONIZED_IO___305 = 14,
    _SC_FSYNC___305 = 15,
    _SC_MAPPED_FILES___305 = 16,
    _SC_MEMLOCK___305 = 17,
    _SC_MEMLOCK_RANGE___305 = 18,
    _SC_MEMORY_PROTECTION___305 = 19,
    _SC_MESSAGE_PASSING___305 = 20,
    _SC_SEMAPHORES___305 = 21,
    _SC_SHARED_MEMORY_OBJECTS___305 = 22,
    _SC_AIO_LISTIO_MAX___305 = 23,
    _SC_AIO_MAX___305 = 24,
    _SC_AIO_PRIO_DELTA_MAX___305 = 25,
    _SC_DELAYTIMER_MAX___305 = 26,
    _SC_MQ_OPEN_MAX___305 = 27,
    _SC_MQ_PRIO_MAX___305 = 28,
    _SC_VERSION___305 = 29,
    _SC_PAGESIZE___305 = 30,
    _SC_RTSIG_MAX___305 = 31,
    _SC_SEM_NSEMS_MAX___305 = 32,
    _SC_SEM_VALUE_MAX___305 = 33,
    _SC_SIGQUEUE_MAX___305 = 34,
    _SC_TIMER_MAX___305 = 35,
    _SC_BC_BASE_MAX___305 = 36,
    _SC_BC_DIM_MAX___305 = 37,
    _SC_BC_SCALE_MAX___305 = 38,
    _SC_BC_STRING_MAX___305 = 39,
    _SC_COLL_WEIGHTS_MAX___305 = 40,
    _SC_EQUIV_CLASS_MAX___305 = 41,
    _SC_EXPR_NEST_MAX___305 = 42,
    _SC_LINE_MAX___305 = 43,
    _SC_RE_DUP_MAX___305 = 44,
    _SC_CHARCLASS_NAME_MAX___305 = 45,
    _SC_2_VERSION___305 = 46,
    _SC_2_C_BIND___305 = 47,
    _SC_2_C_DEV___305 = 48,
    _SC_2_FORT_DEV___305 = 49,
    _SC_2_FORT_RUN___305 = 50,
    _SC_2_SW_DEV___305 = 51,
    _SC_2_LOCALEDEF___305 = 52,
    _SC_PII___305 = 53,
    _SC_PII_XTI___305 = 54,
    _SC_PII_SOCKET___305 = 55,
    _SC_PII_INTERNET___305 = 56,
    _SC_PII_OSI___305 = 57,
    _SC_POLL___305 = 58,
    _SC_SELECT___305 = 59,
    _SC_UIO_MAXIOV___305 = 60,
    _SC_IOV_MAX___305 = 60,
    _SC_PII_INTERNET_STREAM___305 = 61,
    _SC_PII_INTERNET_DGRAM___305 = 62,
    _SC_PII_OSI_COTS___305 = 63,
    _SC_PII_OSI_CLTS___305 = 64,
    _SC_PII_OSI_M___305 = 65,
    _SC_T_IOV_MAX___305 = 66,
    _SC_THREADS___305 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___305 = 68,
    _SC_GETGR_R_SIZE_MAX___305 = 69,
    _SC_GETPW_R_SIZE_MAX___305 = 70,
    _SC_LOGIN_NAME_MAX___305 = 71,
    _SC_TTY_NAME_MAX___305 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___305 = 73,
    _SC_THREAD_KEYS_MAX___305 = 74,
    _SC_THREAD_STACK_MIN___305 = 75,
    _SC_THREAD_THREADS_MAX___305 = 76,
    _SC_THREAD_ATTR_STACKADDR___305 = 77,
    _SC_THREAD_ATTR_STACKSIZE___305 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___305 = 79,
    _SC_THREAD_PRIO_INHERIT___305 = 80,
    _SC_THREAD_PRIO_PROTECT___305 = 81,
    _SC_THREAD_PROCESS_SHARED___305 = 82,
    _SC_NPROCESSORS_CONF___305 = 83,
    _SC_NPROCESSORS_ONLN___305 = 84,
    _SC_PHYS_PAGES___305 = 85,
    _SC_AVPHYS_PAGES___305 = 86,
    _SC_ATEXIT_MAX___305 = 87,
    _SC_PASS_MAX___305 = 88,
    _SC_XOPEN_VERSION___305 = 89,
    _SC_XOPEN_XCU_VERSION___305 = 90,
    _SC_XOPEN_UNIX___305 = 91,
    _SC_XOPEN_CRYPT___305 = 92,
    _SC_XOPEN_ENH_I18N___305 = 93,
    _SC_XOPEN_SHM___305 = 94,
    _SC_2_CHAR_TERM___305 = 95,
    _SC_2_C_VERSION___305 = 96,
    _SC_2_UPE___305 = 97,
    _SC_XOPEN_XPG2___305 = 98,
    _SC_XOPEN_XPG3___305 = 99,
    _SC_XOPEN_XPG4___305 = 100,
    _SC_CHAR_BIT___305 = 101,
    _SC_CHAR_MAX___305 = 102,
    _SC_CHAR_MIN___305 = 103,
    _SC_INT_MAX___305 = 104,
    _SC_INT_MIN___305 = 105,
    _SC_LONG_BIT___305 = 106,
    _SC_WORD_BIT___305 = 107,
    _SC_MB_LEN_MAX___305 = 108,
    _SC_NZERO___305 = 109,
    _SC_SSIZE_MAX___305 = 110,
    _SC_SCHAR_MAX___305 = 111,
    _SC_SCHAR_MIN___305 = 112,
    _SC_SHRT_MAX___305 = 113,
    _SC_SHRT_MIN___305 = 114,
    _SC_UCHAR_MAX___305 = 115,
    _SC_UINT_MAX___305 = 116,
    _SC_ULONG_MAX___305 = 117,
    _SC_USHRT_MAX___305 = 118,
    _SC_NL_ARGMAX___305 = 119,
    _SC_NL_LANGMAX___305 = 120,
    _SC_NL_MSGMAX___305 = 121,
    _SC_NL_NMAX___305 = 122,
    _SC_NL_SETMAX___305 = 123,
    _SC_NL_TEXTMAX___305 = 124,
    _SC_XBS5_ILP32_OFF32___305 = 125,
    _SC_XBS5_ILP32_OFFBIG___305 = 126,
    _SC_XBS5_LP64_OFF64___305 = 127,
    _SC_XBS5_LPBIG_OFFBIG___305 = 128,
    _SC_XOPEN_LEGACY___305 = 129,
    _SC_XOPEN_REALTIME___305 = 130,
    _SC_XOPEN_REALTIME_THREADS___305 = 131,
    _SC_ADVISORY_INFO___305 = 132,
    _SC_BARRIERS___305 = 133,
    _SC_BASE___305 = 134,
    _SC_C_LANG_SUPPORT___305 = 135,
    _SC_C_LANG_SUPPORT_R___305 = 136,
    _SC_CLOCK_SELECTION___305 = 137,
    _SC_CPUTIME___305 = 138,
    _SC_THREAD_CPUTIME___305 = 139,
    _SC_DEVICE_IO___305 = 140,
    _SC_DEVICE_SPECIFIC___305 = 141,
    _SC_DEVICE_SPECIFIC_R___305 = 142,
    _SC_FD_MGMT___305 = 143,
    _SC_FIFO___305 = 144,
    _SC_PIPE___305 = 145,
    _SC_FILE_ATTRIBUTES___305 = 146,
    _SC_FILE_LOCKING___305 = 147,
    _SC_FILE_SYSTEM___305 = 148,
    _SC_MONOTONIC_CLOCK___305 = 149,
    _SC_MULTI_PROCESS___305 = 150,
    _SC_SINGLE_PROCESS___305 = 151,
    _SC_NETWORKING___305 = 152,
    _SC_READER_WRITER_LOCKS___305 = 153,
    _SC_SPIN_LOCKS___305 = 154,
    _SC_REGEXP___305 = 155,
    _SC_REGEX_VERSION___305 = 156,
    _SC_SHELL___305 = 157,
    _SC_SIGNALS___305 = 158,
    _SC_SPAWN___305 = 159,
    _SC_SPORADIC_SERVER___305 = 160,
    _SC_THREAD_SPORADIC_SERVER___305 = 161,
    _SC_SYSTEM_DATABASE___305 = 162,
    _SC_SYSTEM_DATABASE_R___305 = 163,
    _SC_TIMEOUTS___305 = 164,
    _SC_TYPED_MEMORY_OBJECTS___305 = 165,
    _SC_USER_GROUPS___305 = 166,
    _SC_USER_GROUPS_R___305 = 167,
    _SC_2_PBS___305 = 168,
    _SC_2_PBS_ACCOUNTING___305 = 169,
    _SC_2_PBS_LOCATE___305 = 170,
    _SC_2_PBS_MESSAGE___305 = 171,
    _SC_2_PBS_TRACK___305 = 172,
    _SC_SYMLOOP_MAX___305 = 173,
    _SC_STREAMS___305 = 174,
    _SC_2_PBS_CHECKPOINT___305 = 175,
    _SC_V6_ILP32_OFF32___305 = 176,
    _SC_V6_ILP32_OFFBIG___305 = 177,
    _SC_V6_LP64_OFF64___305 = 178,
    _SC_V6_LPBIG_OFFBIG___305 = 179,
    _SC_HOST_NAME_MAX___305 = 180,
    _SC_TRACE___305 = 181,
    _SC_TRACE_EVENT_FILTER___305 = 182,
    _SC_TRACE_INHERIT___305 = 183,
    _SC_TRACE_LOG___305 = 184,
    _SC_LEVEL1_ICACHE_SIZE___305 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___305 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___305 = 187,
    _SC_LEVEL1_DCACHE_SIZE___305 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___305 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___305 = 190,
    _SC_LEVEL2_CACHE_SIZE___305 = 191,
    _SC_LEVEL2_CACHE_ASSOC___305 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___305 = 193,
    _SC_LEVEL3_CACHE_SIZE___305 = 194,
    _SC_LEVEL3_CACHE_ASSOC___305 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___305 = 196,
    _SC_LEVEL4_CACHE_SIZE___305 = 197,
    _SC_LEVEL4_CACHE_ASSOC___305 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___305 = 199,
    _SC_IPV6___305 = 235,
    _SC_RAW_SOCKETS___305 = 236,
    _SC_V7_ILP32_OFF32___305 = 237,
    _SC_V7_ILP32_OFFBIG___305 = 238,
    _SC_V7_LP64_OFF64___305 = 239,
    _SC_V7_LPBIG_OFFBIG___305 = 240,
    _SC_SS_REPL_MAX___305 = 241,
    _SC_TRACE_EVENT_NAME_MAX___305 = 242,
    _SC_TRACE_NAME_MAX___305 = 243,
    _SC_TRACE_SYS_MAX___305 = 244,
    _SC_TRACE_USER_EVENT_MAX___305 = 245,
    _SC_XOPEN_STREAMS___305 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___305 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___305 = 248
} ;
enum __anonenum_875524036___305 {
    _CS_PATH___305 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___305 = 1,
    _CS_GNU_LIBC_VERSION___305 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___305 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___305 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___305 = 5,
    _CS_LFS_CFLAGS___305 = 1000,
    _CS_LFS_LDFLAGS___305 = 1001,
    _CS_LFS_LIBS___305 = 1002,
    _CS_LFS_LINTFLAGS___305 = 1003,
    _CS_LFS64_CFLAGS___305 = 1004,
    _CS_LFS64_LDFLAGS___305 = 1005,
    _CS_LFS64_LIBS___305 = 1006,
    _CS_LFS64_LINTFLAGS___305 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___305 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___305 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___305 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___305 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___305 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___305 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___305 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___305 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___305 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___305 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___305 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___305 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___305 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___305 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___305 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___305 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___305 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___305 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___305 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___305 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___305 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___305 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___305 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___305 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___305 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___305 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___305 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___305 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___305 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___305 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___305 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___305 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___305 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___305 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___305 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___305 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___305 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___305 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___305 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___305 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___305 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___305 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___305 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___305 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___305 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___305 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___305 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___305 = 1147,
    _CS_V6_ENV___305 = 1148,
    _CS_V7_ENV___305 = 1149
} ;
enum __anonenum_513775621___305 {
    DT_UNKNOWN___305 = 0,
    DT_FIFO___305 = 1,
    DT_CHR___305 = 2,
    DT_DIR___305 = 4,
    DT_BLK___305 = 6,
    DT_REG___305 = 8,
    DT_LNK___305 = 10,
    DT_SOCK___305 = 12,
    DT_WHT___305 = 14
} ;
enum __anonenum_77002343___305 {
    SI_ASYNCNL___305 = -60,
    SI_TKILL___305 = -6,
    SI_SIGIO___305 = -5,
    SI_ASYNCIO___305 = -4,
    SI_MESGQ___305 = -3,
    SI_TIMER___305 = -2,
    SI_QUEUE___305 = -1,
    SI_USER___305 = 0,
    SI_KERNEL___305 = 128
} ;
enum __anonenum_131038172___305 {
    ILL_ILLOPC___305 = 1,
    ILL_ILLOPN___305 = 2,
    ILL_ILLADR___305 = 3,
    ILL_ILLTRP___305 = 4,
    ILL_PRVOPC___305 = 5,
    ILL_PRVREG___305 = 6,
    ILL_COPROC___305 = 7,
    ILL_BADSTK___305 = 8
} ;
enum __anonenum_452038093___305 {
    FPE_INTDIV___305 = 1,
    FPE_INTOVF___305 = 2,
    FPE_FLTDIV___305 = 3,
    FPE_FLTOVF___305 = 4,
    FPE_FLTUND___305 = 5,
    FPE_FLTRES___305 = 6,
    FPE_FLTINV___305 = 7,
    FPE_FLTSUB___305 = 8
} ;
enum __anonenum_30976155___305 {
    SEGV_MAPERR___305 = 1,
    SEGV_ACCERR___305 = 2,
    SEGV_BNDERR___305 = 3,
    SEGV_PKUERR___305 = 4
} ;
enum __anonenum_1036286214___305 {
    BUS_ADRALN___305 = 1,
    BUS_ADRERR___305 = 2,
    BUS_OBJERR___305 = 3,
    BUS_MCEERR_AR___305 = 4,
    BUS_MCEERR_AO___305 = 5
} ;
enum __anonenum_493465559___305 {
    TRAP_BRKPT___305 = 1,
    TRAP_TRACE___305 = 2
} ;
enum __anonenum_23175539___305 {
    CLD_EXITED___305 = 1,
    CLD_KILLED___305 = 2,
    CLD_DUMPED___305 = 3,
    CLD_TRAPPED___305 = 4,
    CLD_STOPPED___305 = 5,
    CLD_CONTINUED___305 = 6
} ;
enum __anonenum_111643124___305 {
    POLL_IN___305 = 1,
    POLL_OUT___305 = 2,
    POLL_MSG___305 = 3,
    POLL_ERR___305 = 4,
    POLL_PRI___305 = 5,
    POLL_HUP___305 = 6
} ;
enum __anonenum_852341087___305 {
    SIGEV_SIGNAL___305 = 0,
    SIGEV_NONE___305 = 1,
    SIGEV_THREAD___305 = 2,
    SIGEV_THREAD_ID___305 = 4
} ;
enum __anonenum_451154152___305 {
    REG_R8___305 = 0,
    REG_R9___305 = 1,
    REG_R10___305 = 2,
    REG_R11___305 = 3,
    REG_R12___305 = 4,
    REG_R13___305 = 5,
    REG_R14___305 = 6,
    REG_R15___305 = 7,
    REG_RDI___305 = 8,
    REG_RSI___305 = 9,
    REG_RBP___305 = 10,
    REG_RBX___305 = 11,
    REG_RDX___305 = 12,
    REG_RAX___305 = 13,
    REG_RCX___305 = 14,
    REG_RSP___305 = 15,
    REG_RIP___305 = 16,
    REG_EFL___305 = 17,
    REG_CSGSFS___305 = 18,
    REG_ERR___305 = 19,
    REG_TRAPNO___305 = 20,
    REG_OLDMASK___305 = 21,
    REG_CR2___305 = 22
} ;
enum __anonenum_57186863___305 {
    SS_ONSTACK___305 = 1,
    SS_DISABLE___305 = 2
} ;
enum __anonenum_83571709___305 {
    MSG_OOB___305 = 1,
    MSG_PEEK___305 = 2,
    MSG_DONTROUTE___305 = 4,
    MSG_TRYHARD___305 = 4,
    MSG_CTRUNC___305 = 8,
    MSG_PROXY___305 = 16,
    MSG_TRUNC___305 = 32,
    MSG_DONTWAIT___305 = 64,
    MSG_EOR___305 = 128,
    MSG_WAITALL___305 = 256,
    MSG_FIN___305 = 512,
    MSG_SYN___305 = 1024,
    MSG_CONFIRM___305 = 2048,
    MSG_RST___305 = 4096,
    MSG_ERRQUEUE___305 = 8192,
    MSG_NOSIGNAL___305 = 16384,
    MSG_MORE___305 = 32768,
    MSG_WAITFORONE___305 = 65536,
    MSG_BATCH___305 = 262144,
    MSG_ZEROCOPY___305 = 67108864,
    MSG_FASTOPEN___305 = 536870912,
    MSG_CMSG_CLOEXEC___305 = 1073741824
} ;
enum __anonenum_617082774___305 {
    SCM_RIGHTS___305 = 1,
    SCM_CREDENTIALS___305 = 2
} ;
enum __anonenum_606441560___305 {
    SHUT_RD___305 = 0,
    SHUT_WR___305 = 1,
    SHUT_RDWR___305 = 2
} ;
enum __anonenum_681669233___305 {
    IPPROTO_IP___305 = 0,
    IPPROTO_ICMP___305 = 1,
    IPPROTO_IGMP___305 = 2,
    IPPROTO_IPIP___305 = 4,
    IPPROTO_TCP___305 = 6,
    IPPROTO_EGP___305 = 8,
    IPPROTO_PUP___305 = 12,
    IPPROTO_UDP___305 = 17,
    IPPROTO_IDP___305 = 22,
    IPPROTO_TP___305 = 29,
    IPPROTO_DCCP___305 = 33,
    IPPROTO_IPV6___305 = 41,
    IPPROTO_RSVP___305 = 46,
    IPPROTO_GRE___305 = 47,
    IPPROTO_ESP___305 = 50,
    IPPROTO_AH___305 = 51,
    IPPROTO_MTP___305 = 92,
    IPPROTO_BEETPH___305 = 94,
    IPPROTO_ENCAP___305 = 98,
    IPPROTO_PIM___305 = 103,
    IPPROTO_COMP___305 = 108,
    IPPROTO_SCTP___305 = 132,
    IPPROTO_UDPLITE___305 = 136,
    IPPROTO_MPLS___305 = 137,
    IPPROTO_RAW___305 = 255,
    IPPROTO_MAX___305 = 256
} ;
enum __anonenum_218739988___305 {
    IPPROTO_HOPOPTS___305 = 0,
    IPPROTO_ROUTING___305 = 43,
    IPPROTO_FRAGMENT___305 = 44,
    IPPROTO_ICMPV6___305 = 58,
    IPPROTO_NONE___305 = 59,
    IPPROTO_DSTOPTS___305 = 60,
    IPPROTO_MH___305 = 135
} ;
enum __anonenum_662268580___305 {
    IPPORT_ECHO___305 = 7,
    IPPORT_DISCARD___305 = 9,
    IPPORT_SYSTAT___305 = 11,
    IPPORT_DAYTIME___305 = 13,
    IPPORT_NETSTAT___305 = 15,
    IPPORT_FTP___305 = 21,
    IPPORT_TELNET___305 = 23,
    IPPORT_SMTP___305 = 25,
    IPPORT_TIMESERVER___305 = 37,
    IPPORT_NAMESERVER___305 = 42,
    IPPORT_WHOIS___305 = 43,
    IPPORT_MTP___305 = 57,
    IPPORT_TFTP___305 = 69,
    IPPORT_RJE___305 = 77,
    IPPORT_FINGER___305 = 79,
    IPPORT_TTYLINK___305 = 87,
    IPPORT_SUPDUP___305 = 95,
    IPPORT_EXECSERVER___305 = 512,
    IPPORT_LOGINSERVER___305 = 513,
    IPPORT_CMDSERVER___305 = 514,
    IPPORT_EFSSERVER___305 = 520,
    IPPORT_BIFFUDP___305 = 512,
    IPPORT_WHOSERVER___305 = 513,
    IPPORT_ROUTESERVER___305 = 520,
    IPPORT_RESERVED___305 = 1024,
    IPPORT_USERRESERVED___305 = 5000
} ;
enum __anonenum_788308992___305 {
    TCP_ESTABLISHED___305 = 1,
    TCP_SYN_SENT___305 = 2,
    TCP_SYN_RECV___305 = 3,
    TCP_FIN_WAIT1___305 = 4,
    TCP_FIN_WAIT2___305 = 5,
    TCP_TIME_WAIT___305 = 6,
    TCP_CLOSE___305 = 7,
    TCP_CLOSE_WAIT___305 = 8,
    TCP_LAST_ACK___305 = 9,
    TCP_LISTEN___305 = 10,
    TCP_CLOSING___305 = 11
} ;
enum __anonenum_221125648___305 {
    TCP_NO_QUEUE___305 = 0,
    TCP_RECV_QUEUE___305 = 1,
    TCP_SEND_QUEUE___305 = 2,
    TCP_QUEUES_NR___305 = 3
} ;
enum __anonenum_34415463___305 {
    PTHREAD_CREATE_JOINABLE___305 = 0,
    PTHREAD_CREATE_DETACHED___305 = 1
} ;
enum __anonenum_303612439___305 {
    PTHREAD_MUTEX_TIMED_NP___305 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___305 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___305 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___305 = 3,
    PTHREAD_MUTEX_NORMAL___305 = 0,
    PTHREAD_MUTEX_RECURSIVE___305 = 1,
    PTHREAD_MUTEX_ERRORCHECK___305 = 2,
    PTHREAD_MUTEX_DEFAULT___305 = 0,
    PTHREAD_MUTEX_FAST_NP___305 = 0
} ;
enum __anonenum_931900394___305 {
    PTHREAD_MUTEX_STALLED___305 = 0,
    PTHREAD_MUTEX_STALLED_NP___305 = 0,
    PTHREAD_MUTEX_ROBUST___305 = 1,
    PTHREAD_MUTEX_ROBUST_NP___305 = 1
} ;
enum __anonenum_205214487___305 {
    PTHREAD_PRIO_NONE___305 = 0,
    PTHREAD_PRIO_INHERIT___305 = 1,
    PTHREAD_PRIO_PROTECT___305 = 2
} ;
enum __anonenum_25043950___305 {
    PTHREAD_RWLOCK_PREFER_READER_NP___305 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___305 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___305 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___305 = 0
} ;
enum __anonenum_436439511___305 {
    PTHREAD_INHERIT_SCHED___305 = 0,
    PTHREAD_EXPLICIT_SCHED___305 = 1
} ;
enum __anonenum_998661166___305 {
    PTHREAD_SCOPE_SYSTEM___305 = 0,
    PTHREAD_SCOPE_PROCESS___305 = 1
} ;
enum __anonenum_146137331___305 {
    PTHREAD_PROCESS_PRIVATE___305 = 0,
    PTHREAD_PROCESS_SHARED___305 = 1
} ;
enum __anonenum_53396917___305 {
    PTHREAD_CANCEL_ENABLE___305 = 0,
    PTHREAD_CANCEL_DISABLE___305 = 1
} ;
enum __anonenum_904563783___305 {
    PTHREAD_CANCEL_DEFERRED___305 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___305 = 1
} ;
enum __anonenum_672052974___305 {
    SSL_CT_VALIDATION_PERMISSIVE___305 = 0,
    SSL_CT_VALIDATION_STRICT___305 = 1
} ;
struct working_tree_entry {
   struct hashmap_entry entry ;
   char path[] ;
};
struct pair_entry {
   struct hashmap_entry entry ;
   char left[4096] ;
   char right[4096] ;
   char const   path[] ;
};
struct path_entry {
   struct hashmap_entry entry ;
   char path[] ;
};
enum __anonenum_437032235___306 {
    _PC_LINK_MAX___306 = 0,
    _PC_MAX_CANON___306 = 1,
    _PC_MAX_INPUT___306 = 2,
    _PC_NAME_MAX___306 = 3,
    _PC_PATH_MAX___306 = 4,
    _PC_PIPE_BUF___306 = 5,
    _PC_CHOWN_RESTRICTED___306 = 6,
    _PC_NO_TRUNC___306 = 7,
    _PC_VDISABLE___306 = 8,
    _PC_SYNC_IO___306 = 9,
    _PC_ASYNC_IO___306 = 10,
    _PC_PRIO_IO___306 = 11,
    _PC_SOCK_MAXBUF___306 = 12,
    _PC_FILESIZEBITS___306 = 13,
    _PC_REC_INCR_XFER_SIZE___306 = 14,
    _PC_REC_MAX_XFER_SIZE___306 = 15,
    _PC_REC_MIN_XFER_SIZE___306 = 16,
    _PC_REC_XFER_ALIGN___306 = 17,
    _PC_ALLOC_SIZE_MIN___306 = 18,
    _PC_SYMLINK_MAX___306 = 19,
    _PC_2_SYMLINKS___306 = 20
} ;
enum __anonenum_315186338___306 {
    _SC_ARG_MAX___306 = 0,
    _SC_CHILD_MAX___306 = 1,
    _SC_CLK_TCK___306 = 2,
    _SC_NGROUPS_MAX___306 = 3,
    _SC_OPEN_MAX___306 = 4,
    _SC_STREAM_MAX___306 = 5,
    _SC_TZNAME_MAX___306 = 6,
    _SC_JOB_CONTROL___306 = 7,
    _SC_SAVED_IDS___306 = 8,
    _SC_REALTIME_SIGNALS___306 = 9,
    _SC_PRIORITY_SCHEDULING___306 = 10,
    _SC_TIMERS___306 = 11,
    _SC_ASYNCHRONOUS_IO___306 = 12,
    _SC_PRIORITIZED_IO___306 = 13,
    _SC_SYNCHRONIZED_IO___306 = 14,
    _SC_FSYNC___306 = 15,
    _SC_MAPPED_FILES___306 = 16,
    _SC_MEMLOCK___306 = 17,
    _SC_MEMLOCK_RANGE___306 = 18,
    _SC_MEMORY_PROTECTION___306 = 19,
    _SC_MESSAGE_PASSING___306 = 20,
    _SC_SEMAPHORES___306 = 21,
    _SC_SHARED_MEMORY_OBJECTS___306 = 22,
    _SC_AIO_LISTIO_MAX___306 = 23,
    _SC_AIO_MAX___306 = 24,
    _SC_AIO_PRIO_DELTA_MAX___306 = 25,
    _SC_DELAYTIMER_MAX___306 = 26,
    _SC_MQ_OPEN_MAX___306 = 27,
    _SC_MQ_PRIO_MAX___306 = 28,
    _SC_VERSION___306 = 29,
    _SC_PAGESIZE___306 = 30,
    _SC_RTSIG_MAX___306 = 31,
    _SC_SEM_NSEMS_MAX___306 = 32,
    _SC_SEM_VALUE_MAX___306 = 33,
    _SC_SIGQUEUE_MAX___306 = 34,
    _SC_TIMER_MAX___306 = 35,
    _SC_BC_BASE_MAX___306 = 36,
    _SC_BC_DIM_MAX___306 = 37,
    _SC_BC_SCALE_MAX___306 = 38,
    _SC_BC_STRING_MAX___306 = 39,
    _SC_COLL_WEIGHTS_MAX___306 = 40,
    _SC_EQUIV_CLASS_MAX___306 = 41,
    _SC_EXPR_NEST_MAX___306 = 42,
    _SC_LINE_MAX___306 = 43,
    _SC_RE_DUP_MAX___306 = 44,
    _SC_CHARCLASS_NAME_MAX___306 = 45,
    _SC_2_VERSION___306 = 46,
    _SC_2_C_BIND___306 = 47,
    _SC_2_C_DEV___306 = 48,
    _SC_2_FORT_DEV___306 = 49,
    _SC_2_FORT_RUN___306 = 50,
    _SC_2_SW_DEV___306 = 51,
    _SC_2_LOCALEDEF___306 = 52,
    _SC_PII___306 = 53,
    _SC_PII_XTI___306 = 54,
    _SC_PII_SOCKET___306 = 55,
    _SC_PII_INTERNET___306 = 56,
    _SC_PII_OSI___306 = 57,
    _SC_POLL___306 = 58,
    _SC_SELECT___306 = 59,
    _SC_UIO_MAXIOV___306 = 60,
    _SC_IOV_MAX___306 = 60,
    _SC_PII_INTERNET_STREAM___306 = 61,
    _SC_PII_INTERNET_DGRAM___306 = 62,
    _SC_PII_OSI_COTS___306 = 63,
    _SC_PII_OSI_CLTS___306 = 64,
    _SC_PII_OSI_M___306 = 65,
    _SC_T_IOV_MAX___306 = 66,
    _SC_THREADS___306 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___306 = 68,
    _SC_GETGR_R_SIZE_MAX___306 = 69,
    _SC_GETPW_R_SIZE_MAX___306 = 70,
    _SC_LOGIN_NAME_MAX___306 = 71,
    _SC_TTY_NAME_MAX___306 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___306 = 73,
    _SC_THREAD_KEYS_MAX___306 = 74,
    _SC_THREAD_STACK_MIN___306 = 75,
    _SC_THREAD_THREADS_MAX___306 = 76,
    _SC_THREAD_ATTR_STACKADDR___306 = 77,
    _SC_THREAD_ATTR_STACKSIZE___306 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___306 = 79,
    _SC_THREAD_PRIO_INHERIT___306 = 80,
    _SC_THREAD_PRIO_PROTECT___306 = 81,
    _SC_THREAD_PROCESS_SHARED___306 = 82,
    _SC_NPROCESSORS_CONF___306 = 83,
    _SC_NPROCESSORS_ONLN___306 = 84,
    _SC_PHYS_PAGES___306 = 85,
    _SC_AVPHYS_PAGES___306 = 86,
    _SC_ATEXIT_MAX___306 = 87,
    _SC_PASS_MAX___306 = 88,
    _SC_XOPEN_VERSION___306 = 89,
    _SC_XOPEN_XCU_VERSION___306 = 90,
    _SC_XOPEN_UNIX___306 = 91,
    _SC_XOPEN_CRYPT___306 = 92,
    _SC_XOPEN_ENH_I18N___306 = 93,
    _SC_XOPEN_SHM___306 = 94,
    _SC_2_CHAR_TERM___306 = 95,
    _SC_2_C_VERSION___306 = 96,
    _SC_2_UPE___306 = 97,
    _SC_XOPEN_XPG2___306 = 98,
    _SC_XOPEN_XPG3___306 = 99,
    _SC_XOPEN_XPG4___306 = 100,
    _SC_CHAR_BIT___306 = 101,
    _SC_CHAR_MAX___306 = 102,
    _SC_CHAR_MIN___306 = 103,
    _SC_INT_MAX___306 = 104,
    _SC_INT_MIN___306 = 105,
    _SC_LONG_BIT___306 = 106,
    _SC_WORD_BIT___306 = 107,
    _SC_MB_LEN_MAX___306 = 108,
    _SC_NZERO___306 = 109,
    _SC_SSIZE_MAX___306 = 110,
    _SC_SCHAR_MAX___306 = 111,
    _SC_SCHAR_MIN___306 = 112,
    _SC_SHRT_MAX___306 = 113,
    _SC_SHRT_MIN___306 = 114,
    _SC_UCHAR_MAX___306 = 115,
    _SC_UINT_MAX___306 = 116,
    _SC_ULONG_MAX___306 = 117,
    _SC_USHRT_MAX___306 = 118,
    _SC_NL_ARGMAX___306 = 119,
    _SC_NL_LANGMAX___306 = 120,
    _SC_NL_MSGMAX___306 = 121,
    _SC_NL_NMAX___306 = 122,
    _SC_NL_SETMAX___306 = 123,
    _SC_NL_TEXTMAX___306 = 124,
    _SC_XBS5_ILP32_OFF32___306 = 125,
    _SC_XBS5_ILP32_OFFBIG___306 = 126,
    _SC_XBS5_LP64_OFF64___306 = 127,
    _SC_XBS5_LPBIG_OFFBIG___306 = 128,
    _SC_XOPEN_LEGACY___306 = 129,
    _SC_XOPEN_REALTIME___306 = 130,
    _SC_XOPEN_REALTIME_THREADS___306 = 131,
    _SC_ADVISORY_INFO___306 = 132,
    _SC_BARRIERS___306 = 133,
    _SC_BASE___306 = 134,
    _SC_C_LANG_SUPPORT___306 = 135,
    _SC_C_LANG_SUPPORT_R___306 = 136,
    _SC_CLOCK_SELECTION___306 = 137,
    _SC_CPUTIME___306 = 138,
    _SC_THREAD_CPUTIME___306 = 139,
    _SC_DEVICE_IO___306 = 140,
    _SC_DEVICE_SPECIFIC___306 = 141,
    _SC_DEVICE_SPECIFIC_R___306 = 142,
    _SC_FD_MGMT___306 = 143,
    _SC_FIFO___306 = 144,
    _SC_PIPE___306 = 145,
    _SC_FILE_ATTRIBUTES___306 = 146,
    _SC_FILE_LOCKING___306 = 147,
    _SC_FILE_SYSTEM___306 = 148,
    _SC_MONOTONIC_CLOCK___306 = 149,
    _SC_MULTI_PROCESS___306 = 150,
    _SC_SINGLE_PROCESS___306 = 151,
    _SC_NETWORKING___306 = 152,
    _SC_READER_WRITER_LOCKS___306 = 153,
    _SC_SPIN_LOCKS___306 = 154,
    _SC_REGEXP___306 = 155,
    _SC_REGEX_VERSION___306 = 156,
    _SC_SHELL___306 = 157,
    _SC_SIGNALS___306 = 158,
    _SC_SPAWN___306 = 159,
    _SC_SPORADIC_SERVER___306 = 160,
    _SC_THREAD_SPORADIC_SERVER___306 = 161,
    _SC_SYSTEM_DATABASE___306 = 162,
    _SC_SYSTEM_DATABASE_R___306 = 163,
    _SC_TIMEOUTS___306 = 164,
    _SC_TYPED_MEMORY_OBJECTS___306 = 165,
    _SC_USER_GROUPS___306 = 166,
    _SC_USER_GROUPS_R___306 = 167,
    _SC_2_PBS___306 = 168,
    _SC_2_PBS_ACCOUNTING___306 = 169,
    _SC_2_PBS_LOCATE___306 = 170,
    _SC_2_PBS_MESSAGE___306 = 171,
    _SC_2_PBS_TRACK___306 = 172,
    _SC_SYMLOOP_MAX___306 = 173,
    _SC_STREAMS___306 = 174,
    _SC_2_PBS_CHECKPOINT___306 = 175,
    _SC_V6_ILP32_OFF32___306 = 176,
    _SC_V6_ILP32_OFFBIG___306 = 177,
    _SC_V6_LP64_OFF64___306 = 178,
    _SC_V6_LPBIG_OFFBIG___306 = 179,
    _SC_HOST_NAME_MAX___306 = 180,
    _SC_TRACE___306 = 181,
    _SC_TRACE_EVENT_FILTER___306 = 182,
    _SC_TRACE_INHERIT___306 = 183,
    _SC_TRACE_LOG___306 = 184,
    _SC_LEVEL1_ICACHE_SIZE___306 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___306 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___306 = 187,
    _SC_LEVEL1_DCACHE_SIZE___306 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___306 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___306 = 190,
    _SC_LEVEL2_CACHE_SIZE___306 = 191,
    _SC_LEVEL2_CACHE_ASSOC___306 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___306 = 193,
    _SC_LEVEL3_CACHE_SIZE___306 = 194,
    _SC_LEVEL3_CACHE_ASSOC___306 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___306 = 196,
    _SC_LEVEL4_CACHE_SIZE___306 = 197,
    _SC_LEVEL4_CACHE_ASSOC___306 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___306 = 199,
    _SC_IPV6___306 = 235,
    _SC_RAW_SOCKETS___306 = 236,
    _SC_V7_ILP32_OFF32___306 = 237,
    _SC_V7_ILP32_OFFBIG___306 = 238,
    _SC_V7_LP64_OFF64___306 = 239,
    _SC_V7_LPBIG_OFFBIG___306 = 240,
    _SC_SS_REPL_MAX___306 = 241,
    _SC_TRACE_EVENT_NAME_MAX___306 = 242,
    _SC_TRACE_NAME_MAX___306 = 243,
    _SC_TRACE_SYS_MAX___306 = 244,
    _SC_TRACE_USER_EVENT_MAX___306 = 245,
    _SC_XOPEN_STREAMS___306 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___306 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___306 = 248
} ;
enum __anonenum_875524036___306 {
    _CS_PATH___306 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___306 = 1,
    _CS_GNU_LIBC_VERSION___306 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___306 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___306 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___306 = 5,
    _CS_LFS_CFLAGS___306 = 1000,
    _CS_LFS_LDFLAGS___306 = 1001,
    _CS_LFS_LIBS___306 = 1002,
    _CS_LFS_LINTFLAGS___306 = 1003,
    _CS_LFS64_CFLAGS___306 = 1004,
    _CS_LFS64_LDFLAGS___306 = 1005,
    _CS_LFS64_LIBS___306 = 1006,
    _CS_LFS64_LINTFLAGS___306 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___306 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___306 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___306 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___306 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___306 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___306 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___306 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___306 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___306 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___306 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___306 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___306 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___306 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___306 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___306 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___306 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___306 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___306 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___306 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___306 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___306 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___306 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___306 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___306 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___306 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___306 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___306 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___306 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___306 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___306 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___306 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___306 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___306 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___306 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___306 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___306 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___306 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___306 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___306 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___306 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___306 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___306 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___306 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___306 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___306 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___306 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___306 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___306 = 1147,
    _CS_V6_ENV___306 = 1148,
    _CS_V7_ENV___306 = 1149
} ;
enum __anonenum_513775621___306 {
    DT_UNKNOWN___306 = 0,
    DT_FIFO___306 = 1,
    DT_CHR___306 = 2,
    DT_DIR___306 = 4,
    DT_BLK___306 = 6,
    DT_REG___306 = 8,
    DT_LNK___306 = 10,
    DT_SOCK___306 = 12,
    DT_WHT___306 = 14
} ;
enum __anonenum_77002343___306 {
    SI_ASYNCNL___306 = -60,
    SI_TKILL___306 = -6,
    SI_SIGIO___306 = -5,
    SI_ASYNCIO___306 = -4,
    SI_MESGQ___306 = -3,
    SI_TIMER___306 = -2,
    SI_QUEUE___306 = -1,
    SI_USER___306 = 0,
    SI_KERNEL___306 = 128
} ;
enum __anonenum_131038172___306 {
    ILL_ILLOPC___306 = 1,
    ILL_ILLOPN___306 = 2,
    ILL_ILLADR___306 = 3,
    ILL_ILLTRP___306 = 4,
    ILL_PRVOPC___306 = 5,
    ILL_PRVREG___306 = 6,
    ILL_COPROC___306 = 7,
    ILL_BADSTK___306 = 8
} ;
enum __anonenum_452038093___306 {
    FPE_INTDIV___306 = 1,
    FPE_INTOVF___306 = 2,
    FPE_FLTDIV___306 = 3,
    FPE_FLTOVF___306 = 4,
    FPE_FLTUND___306 = 5,
    FPE_FLTRES___306 = 6,
    FPE_FLTINV___306 = 7,
    FPE_FLTSUB___306 = 8
} ;
enum __anonenum_30976155___306 {
    SEGV_MAPERR___306 = 1,
    SEGV_ACCERR___306 = 2,
    SEGV_BNDERR___306 = 3,
    SEGV_PKUERR___306 = 4
} ;
enum __anonenum_1036286214___306 {
    BUS_ADRALN___306 = 1,
    BUS_ADRERR___306 = 2,
    BUS_OBJERR___306 = 3,
    BUS_MCEERR_AR___306 = 4,
    BUS_MCEERR_AO___306 = 5
} ;
enum __anonenum_493465559___306 {
    TRAP_BRKPT___306 = 1,
    TRAP_TRACE___306 = 2
} ;
enum __anonenum_23175539___306 {
    CLD_EXITED___306 = 1,
    CLD_KILLED___306 = 2,
    CLD_DUMPED___306 = 3,
    CLD_TRAPPED___306 = 4,
    CLD_STOPPED___306 = 5,
    CLD_CONTINUED___306 = 6
} ;
enum __anonenum_111643124___306 {
    POLL_IN___306 = 1,
    POLL_OUT___306 = 2,
    POLL_MSG___306 = 3,
    POLL_ERR___306 = 4,
    POLL_PRI___306 = 5,
    POLL_HUP___306 = 6
} ;
enum __anonenum_852341087___306 {
    SIGEV_SIGNAL___306 = 0,
    SIGEV_NONE___306 = 1,
    SIGEV_THREAD___306 = 2,
    SIGEV_THREAD_ID___306 = 4
} ;
enum __anonenum_451154152___306 {
    REG_R8___306 = 0,
    REG_R9___306 = 1,
    REG_R10___306 = 2,
    REG_R11___306 = 3,
    REG_R12___306 = 4,
    REG_R13___306 = 5,
    REG_R14___306 = 6,
    REG_R15___306 = 7,
    REG_RDI___306 = 8,
    REG_RSI___306 = 9,
    REG_RBP___306 = 10,
    REG_RBX___306 = 11,
    REG_RDX___306 = 12,
    REG_RAX___306 = 13,
    REG_RCX___306 = 14,
    REG_RSP___306 = 15,
    REG_RIP___306 = 16,
    REG_EFL___306 = 17,
    REG_CSGSFS___306 = 18,
    REG_ERR___306 = 19,
    REG_TRAPNO___306 = 20,
    REG_OLDMASK___306 = 21,
    REG_CR2___306 = 22
} ;
enum __anonenum_57186863___306 {
    SS_ONSTACK___306 = 1,
    SS_DISABLE___306 = 2
} ;
enum __anonenum_83571709___306 {
    MSG_OOB___306 = 1,
    MSG_PEEK___306 = 2,
    MSG_DONTROUTE___306 = 4,
    MSG_TRYHARD___306 = 4,
    MSG_CTRUNC___306 = 8,
    MSG_PROXY___306 = 16,
    MSG_TRUNC___306 = 32,
    MSG_DONTWAIT___306 = 64,
    MSG_EOR___306 = 128,
    MSG_WAITALL___306 = 256,
    MSG_FIN___306 = 512,
    MSG_SYN___306 = 1024,
    MSG_CONFIRM___306 = 2048,
    MSG_RST___306 = 4096,
    MSG_ERRQUEUE___306 = 8192,
    MSG_NOSIGNAL___306 = 16384,
    MSG_MORE___306 = 32768,
    MSG_WAITFORONE___306 = 65536,
    MSG_BATCH___306 = 262144,
    MSG_ZEROCOPY___306 = 67108864,
    MSG_FASTOPEN___306 = 536870912,
    MSG_CMSG_CLOEXEC___306 = 1073741824
} ;
enum __anonenum_617082774___306 {
    SCM_RIGHTS___306 = 1,
    SCM_CREDENTIALS___306 = 2
} ;
enum __anonenum_606441560___306 {
    SHUT_RD___306 = 0,
    SHUT_WR___306 = 1,
    SHUT_RDWR___306 = 2
} ;
enum __anonenum_681669233___306 {
    IPPROTO_IP___306 = 0,
    IPPROTO_ICMP___306 = 1,
    IPPROTO_IGMP___306 = 2,
    IPPROTO_IPIP___306 = 4,
    IPPROTO_TCP___306 = 6,
    IPPROTO_EGP___306 = 8,
    IPPROTO_PUP___306 = 12,
    IPPROTO_UDP___306 = 17,
    IPPROTO_IDP___306 = 22,
    IPPROTO_TP___306 = 29,
    IPPROTO_DCCP___306 = 33,
    IPPROTO_IPV6___306 = 41,
    IPPROTO_RSVP___306 = 46,
    IPPROTO_GRE___306 = 47,
    IPPROTO_ESP___306 = 50,
    IPPROTO_AH___306 = 51,
    IPPROTO_MTP___306 = 92,
    IPPROTO_BEETPH___306 = 94,
    IPPROTO_ENCAP___306 = 98,
    IPPROTO_PIM___306 = 103,
    IPPROTO_COMP___306 = 108,
    IPPROTO_SCTP___306 = 132,
    IPPROTO_UDPLITE___306 = 136,
    IPPROTO_MPLS___306 = 137,
    IPPROTO_RAW___306 = 255,
    IPPROTO_MAX___306 = 256
} ;
enum __anonenum_218739988___306 {
    IPPROTO_HOPOPTS___306 = 0,
    IPPROTO_ROUTING___306 = 43,
    IPPROTO_FRAGMENT___306 = 44,
    IPPROTO_ICMPV6___306 = 58,
    IPPROTO_NONE___306 = 59,
    IPPROTO_DSTOPTS___306 = 60,
    IPPROTO_MH___306 = 135
} ;
enum __anonenum_662268580___306 {
    IPPORT_ECHO___306 = 7,
    IPPORT_DISCARD___306 = 9,
    IPPORT_SYSTAT___306 = 11,
    IPPORT_DAYTIME___306 = 13,
    IPPORT_NETSTAT___306 = 15,
    IPPORT_FTP___306 = 21,
    IPPORT_TELNET___306 = 23,
    IPPORT_SMTP___306 = 25,
    IPPORT_TIMESERVER___306 = 37,
    IPPORT_NAMESERVER___306 = 42,
    IPPORT_WHOIS___306 = 43,
    IPPORT_MTP___306 = 57,
    IPPORT_TFTP___306 = 69,
    IPPORT_RJE___306 = 77,
    IPPORT_FINGER___306 = 79,
    IPPORT_TTYLINK___306 = 87,
    IPPORT_SUPDUP___306 = 95,
    IPPORT_EXECSERVER___306 = 512,
    IPPORT_LOGINSERVER___306 = 513,
    IPPORT_CMDSERVER___306 = 514,
    IPPORT_EFSSERVER___306 = 520,
    IPPORT_BIFFUDP___306 = 512,
    IPPORT_WHOSERVER___306 = 513,
    IPPORT_ROUTESERVER___306 = 520,
    IPPORT_RESERVED___306 = 1024,
    IPPORT_USERRESERVED___306 = 5000
} ;
enum __anonenum_788308992___306 {
    TCP_ESTABLISHED___306 = 1,
    TCP_SYN_SENT___306 = 2,
    TCP_SYN_RECV___306 = 3,
    TCP_FIN_WAIT1___306 = 4,
    TCP_FIN_WAIT2___306 = 5,
    TCP_TIME_WAIT___306 = 6,
    TCP_CLOSE___306 = 7,
    TCP_CLOSE_WAIT___306 = 8,
    TCP_LAST_ACK___306 = 9,
    TCP_LISTEN___306 = 10,
    TCP_CLOSING___306 = 11
} ;
enum __anonenum_221125648___306 {
    TCP_NO_QUEUE___306 = 0,
    TCP_RECV_QUEUE___306 = 1,
    TCP_SEND_QUEUE___306 = 2,
    TCP_QUEUES_NR___306 = 3
} ;
enum __anonenum_34415463___306 {
    PTHREAD_CREATE_JOINABLE___306 = 0,
    PTHREAD_CREATE_DETACHED___306 = 1
} ;
enum __anonenum_303612439___306 {
    PTHREAD_MUTEX_TIMED_NP___306 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___306 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___306 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___306 = 3,
    PTHREAD_MUTEX_NORMAL___306 = 0,
    PTHREAD_MUTEX_RECURSIVE___306 = 1,
    PTHREAD_MUTEX_ERRORCHECK___306 = 2,
    PTHREAD_MUTEX_DEFAULT___306 = 0,
    PTHREAD_MUTEX_FAST_NP___306 = 0
} ;
enum __anonenum_931900394___306 {
    PTHREAD_MUTEX_STALLED___306 = 0,
    PTHREAD_MUTEX_STALLED_NP___306 = 0,
    PTHREAD_MUTEX_ROBUST___306 = 1,
    PTHREAD_MUTEX_ROBUST_NP___306 = 1
} ;
enum __anonenum_205214487___306 {
    PTHREAD_PRIO_NONE___306 = 0,
    PTHREAD_PRIO_INHERIT___306 = 1,
    PTHREAD_PRIO_PROTECT___306 = 2
} ;
enum __anonenum_25043950___306 {
    PTHREAD_RWLOCK_PREFER_READER_NP___306 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___306 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___306 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___306 = 0
} ;
enum __anonenum_436439511___306 {
    PTHREAD_INHERIT_SCHED___306 = 0,
    PTHREAD_EXPLICIT_SCHED___306 = 1
} ;
enum __anonenum_998661166___306 {
    PTHREAD_SCOPE_SYSTEM___306 = 0,
    PTHREAD_SCOPE_PROCESS___306 = 1
} ;
enum __anonenum_146137331___306 {
    PTHREAD_PROCESS_PRIVATE___306 = 0,
    PTHREAD_PROCESS_SHARED___306 = 1
} ;
enum __anonenum_53396917___306 {
    PTHREAD_CANCEL_ENABLE___306 = 0,
    PTHREAD_CANCEL_DISABLE___306 = 1
} ;
enum __anonenum_904563783___306 {
    PTHREAD_CANCEL_DEFERRED___306 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___306 = 1
} ;
enum __anonenum_672052974___306 {
    SSL_CT_VALIDATION_PERMISSIVE___306 = 0,
    SSL_CT_VALIDATION_STRICT___306 = 1
} ;
enum cmdmode {
    ENV_HELPER_TYPE_BOOL = 1,
    ENV_HELPER_TYPE_ULONG = 2
} ;
enum __anonenum_437032235___307 {
    _PC_LINK_MAX___307 = 0,
    _PC_MAX_CANON___307 = 1,
    _PC_MAX_INPUT___307 = 2,
    _PC_NAME_MAX___307 = 3,
    _PC_PATH_MAX___307 = 4,
    _PC_PIPE_BUF___307 = 5,
    _PC_CHOWN_RESTRICTED___307 = 6,
    _PC_NO_TRUNC___307 = 7,
    _PC_VDISABLE___307 = 8,
    _PC_SYNC_IO___307 = 9,
    _PC_ASYNC_IO___307 = 10,
    _PC_PRIO_IO___307 = 11,
    _PC_SOCK_MAXBUF___307 = 12,
    _PC_FILESIZEBITS___307 = 13,
    _PC_REC_INCR_XFER_SIZE___307 = 14,
    _PC_REC_MAX_XFER_SIZE___307 = 15,
    _PC_REC_MIN_XFER_SIZE___307 = 16,
    _PC_REC_XFER_ALIGN___307 = 17,
    _PC_ALLOC_SIZE_MIN___307 = 18,
    _PC_SYMLINK_MAX___307 = 19,
    _PC_2_SYMLINKS___307 = 20
} ;
enum __anonenum_315186338___307 {
    _SC_ARG_MAX___307 = 0,
    _SC_CHILD_MAX___307 = 1,
    _SC_CLK_TCK___307 = 2,
    _SC_NGROUPS_MAX___307 = 3,
    _SC_OPEN_MAX___307 = 4,
    _SC_STREAM_MAX___307 = 5,
    _SC_TZNAME_MAX___307 = 6,
    _SC_JOB_CONTROL___307 = 7,
    _SC_SAVED_IDS___307 = 8,
    _SC_REALTIME_SIGNALS___307 = 9,
    _SC_PRIORITY_SCHEDULING___307 = 10,
    _SC_TIMERS___307 = 11,
    _SC_ASYNCHRONOUS_IO___307 = 12,
    _SC_PRIORITIZED_IO___307 = 13,
    _SC_SYNCHRONIZED_IO___307 = 14,
    _SC_FSYNC___307 = 15,
    _SC_MAPPED_FILES___307 = 16,
    _SC_MEMLOCK___307 = 17,
    _SC_MEMLOCK_RANGE___307 = 18,
    _SC_MEMORY_PROTECTION___307 = 19,
    _SC_MESSAGE_PASSING___307 = 20,
    _SC_SEMAPHORES___307 = 21,
    _SC_SHARED_MEMORY_OBJECTS___307 = 22,
    _SC_AIO_LISTIO_MAX___307 = 23,
    _SC_AIO_MAX___307 = 24,
    _SC_AIO_PRIO_DELTA_MAX___307 = 25,
    _SC_DELAYTIMER_MAX___307 = 26,
    _SC_MQ_OPEN_MAX___307 = 27,
    _SC_MQ_PRIO_MAX___307 = 28,
    _SC_VERSION___307 = 29,
    _SC_PAGESIZE___307 = 30,
    _SC_RTSIG_MAX___307 = 31,
    _SC_SEM_NSEMS_MAX___307 = 32,
    _SC_SEM_VALUE_MAX___307 = 33,
    _SC_SIGQUEUE_MAX___307 = 34,
    _SC_TIMER_MAX___307 = 35,
    _SC_BC_BASE_MAX___307 = 36,
    _SC_BC_DIM_MAX___307 = 37,
    _SC_BC_SCALE_MAX___307 = 38,
    _SC_BC_STRING_MAX___307 = 39,
    _SC_COLL_WEIGHTS_MAX___307 = 40,
    _SC_EQUIV_CLASS_MAX___307 = 41,
    _SC_EXPR_NEST_MAX___307 = 42,
    _SC_LINE_MAX___307 = 43,
    _SC_RE_DUP_MAX___307 = 44,
    _SC_CHARCLASS_NAME_MAX___307 = 45,
    _SC_2_VERSION___307 = 46,
    _SC_2_C_BIND___307 = 47,
    _SC_2_C_DEV___307 = 48,
    _SC_2_FORT_DEV___307 = 49,
    _SC_2_FORT_RUN___307 = 50,
    _SC_2_SW_DEV___307 = 51,
    _SC_2_LOCALEDEF___307 = 52,
    _SC_PII___307 = 53,
    _SC_PII_XTI___307 = 54,
    _SC_PII_SOCKET___307 = 55,
    _SC_PII_INTERNET___307 = 56,
    _SC_PII_OSI___307 = 57,
    _SC_POLL___307 = 58,
    _SC_SELECT___307 = 59,
    _SC_UIO_MAXIOV___307 = 60,
    _SC_IOV_MAX___307 = 60,
    _SC_PII_INTERNET_STREAM___307 = 61,
    _SC_PII_INTERNET_DGRAM___307 = 62,
    _SC_PII_OSI_COTS___307 = 63,
    _SC_PII_OSI_CLTS___307 = 64,
    _SC_PII_OSI_M___307 = 65,
    _SC_T_IOV_MAX___307 = 66,
    _SC_THREADS___307 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___307 = 68,
    _SC_GETGR_R_SIZE_MAX___307 = 69,
    _SC_GETPW_R_SIZE_MAX___307 = 70,
    _SC_LOGIN_NAME_MAX___307 = 71,
    _SC_TTY_NAME_MAX___307 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___307 = 73,
    _SC_THREAD_KEYS_MAX___307 = 74,
    _SC_THREAD_STACK_MIN___307 = 75,
    _SC_THREAD_THREADS_MAX___307 = 76,
    _SC_THREAD_ATTR_STACKADDR___307 = 77,
    _SC_THREAD_ATTR_STACKSIZE___307 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___307 = 79,
    _SC_THREAD_PRIO_INHERIT___307 = 80,
    _SC_THREAD_PRIO_PROTECT___307 = 81,
    _SC_THREAD_PROCESS_SHARED___307 = 82,
    _SC_NPROCESSORS_CONF___307 = 83,
    _SC_NPROCESSORS_ONLN___307 = 84,
    _SC_PHYS_PAGES___307 = 85,
    _SC_AVPHYS_PAGES___307 = 86,
    _SC_ATEXIT_MAX___307 = 87,
    _SC_PASS_MAX___307 = 88,
    _SC_XOPEN_VERSION___307 = 89,
    _SC_XOPEN_XCU_VERSION___307 = 90,
    _SC_XOPEN_UNIX___307 = 91,
    _SC_XOPEN_CRYPT___307 = 92,
    _SC_XOPEN_ENH_I18N___307 = 93,
    _SC_XOPEN_SHM___307 = 94,
    _SC_2_CHAR_TERM___307 = 95,
    _SC_2_C_VERSION___307 = 96,
    _SC_2_UPE___307 = 97,
    _SC_XOPEN_XPG2___307 = 98,
    _SC_XOPEN_XPG3___307 = 99,
    _SC_XOPEN_XPG4___307 = 100,
    _SC_CHAR_BIT___307 = 101,
    _SC_CHAR_MAX___307 = 102,
    _SC_CHAR_MIN___307 = 103,
    _SC_INT_MAX___307 = 104,
    _SC_INT_MIN___307 = 105,
    _SC_LONG_BIT___307 = 106,
    _SC_WORD_BIT___307 = 107,
    _SC_MB_LEN_MAX___307 = 108,
    _SC_NZERO___307 = 109,
    _SC_SSIZE_MAX___307 = 110,
    _SC_SCHAR_MAX___307 = 111,
    _SC_SCHAR_MIN___307 = 112,
    _SC_SHRT_MAX___307 = 113,
    _SC_SHRT_MIN___307 = 114,
    _SC_UCHAR_MAX___307 = 115,
    _SC_UINT_MAX___307 = 116,
    _SC_ULONG_MAX___307 = 117,
    _SC_USHRT_MAX___307 = 118,
    _SC_NL_ARGMAX___307 = 119,
    _SC_NL_LANGMAX___307 = 120,
    _SC_NL_MSGMAX___307 = 121,
    _SC_NL_NMAX___307 = 122,
    _SC_NL_SETMAX___307 = 123,
    _SC_NL_TEXTMAX___307 = 124,
    _SC_XBS5_ILP32_OFF32___307 = 125,
    _SC_XBS5_ILP32_OFFBIG___307 = 126,
    _SC_XBS5_LP64_OFF64___307 = 127,
    _SC_XBS5_LPBIG_OFFBIG___307 = 128,
    _SC_XOPEN_LEGACY___307 = 129,
    _SC_XOPEN_REALTIME___307 = 130,
    _SC_XOPEN_REALTIME_THREADS___307 = 131,
    _SC_ADVISORY_INFO___307 = 132,
    _SC_BARRIERS___307 = 133,
    _SC_BASE___307 = 134,
    _SC_C_LANG_SUPPORT___307 = 135,
    _SC_C_LANG_SUPPORT_R___307 = 136,
    _SC_CLOCK_SELECTION___307 = 137,
    _SC_CPUTIME___307 = 138,
    _SC_THREAD_CPUTIME___307 = 139,
    _SC_DEVICE_IO___307 = 140,
    _SC_DEVICE_SPECIFIC___307 = 141,
    _SC_DEVICE_SPECIFIC_R___307 = 142,
    _SC_FD_MGMT___307 = 143,
    _SC_FIFO___307 = 144,
    _SC_PIPE___307 = 145,
    _SC_FILE_ATTRIBUTES___307 = 146,
    _SC_FILE_LOCKING___307 = 147,
    _SC_FILE_SYSTEM___307 = 148,
    _SC_MONOTONIC_CLOCK___307 = 149,
    _SC_MULTI_PROCESS___307 = 150,
    _SC_SINGLE_PROCESS___307 = 151,
    _SC_NETWORKING___307 = 152,
    _SC_READER_WRITER_LOCKS___307 = 153,
    _SC_SPIN_LOCKS___307 = 154,
    _SC_REGEXP___307 = 155,
    _SC_REGEX_VERSION___307 = 156,
    _SC_SHELL___307 = 157,
    _SC_SIGNALS___307 = 158,
    _SC_SPAWN___307 = 159,
    _SC_SPORADIC_SERVER___307 = 160,
    _SC_THREAD_SPORADIC_SERVER___307 = 161,
    _SC_SYSTEM_DATABASE___307 = 162,
    _SC_SYSTEM_DATABASE_R___307 = 163,
    _SC_TIMEOUTS___307 = 164,
    _SC_TYPED_MEMORY_OBJECTS___307 = 165,
    _SC_USER_GROUPS___307 = 166,
    _SC_USER_GROUPS_R___307 = 167,
    _SC_2_PBS___307 = 168,
    _SC_2_PBS_ACCOUNTING___307 = 169,
    _SC_2_PBS_LOCATE___307 = 170,
    _SC_2_PBS_MESSAGE___307 = 171,
    _SC_2_PBS_TRACK___307 = 172,
    _SC_SYMLOOP_MAX___307 = 173,
    _SC_STREAMS___307 = 174,
    _SC_2_PBS_CHECKPOINT___307 = 175,
    _SC_V6_ILP32_OFF32___307 = 176,
    _SC_V6_ILP32_OFFBIG___307 = 177,
    _SC_V6_LP64_OFF64___307 = 178,
    _SC_V6_LPBIG_OFFBIG___307 = 179,
    _SC_HOST_NAME_MAX___307 = 180,
    _SC_TRACE___307 = 181,
    _SC_TRACE_EVENT_FILTER___307 = 182,
    _SC_TRACE_INHERIT___307 = 183,
    _SC_TRACE_LOG___307 = 184,
    _SC_LEVEL1_ICACHE_SIZE___307 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___307 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___307 = 187,
    _SC_LEVEL1_DCACHE_SIZE___307 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___307 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___307 = 190,
    _SC_LEVEL2_CACHE_SIZE___307 = 191,
    _SC_LEVEL2_CACHE_ASSOC___307 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___307 = 193,
    _SC_LEVEL3_CACHE_SIZE___307 = 194,
    _SC_LEVEL3_CACHE_ASSOC___307 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___307 = 196,
    _SC_LEVEL4_CACHE_SIZE___307 = 197,
    _SC_LEVEL4_CACHE_ASSOC___307 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___307 = 199,
    _SC_IPV6___307 = 235,
    _SC_RAW_SOCKETS___307 = 236,
    _SC_V7_ILP32_OFF32___307 = 237,
    _SC_V7_ILP32_OFFBIG___307 = 238,
    _SC_V7_LP64_OFF64___307 = 239,
    _SC_V7_LPBIG_OFFBIG___307 = 240,
    _SC_SS_REPL_MAX___307 = 241,
    _SC_TRACE_EVENT_NAME_MAX___307 = 242,
    _SC_TRACE_NAME_MAX___307 = 243,
    _SC_TRACE_SYS_MAX___307 = 244,
    _SC_TRACE_USER_EVENT_MAX___307 = 245,
    _SC_XOPEN_STREAMS___307 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___307 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___307 = 248
} ;
enum __anonenum_875524036___307 {
    _CS_PATH___307 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___307 = 1,
    _CS_GNU_LIBC_VERSION___307 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___307 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___307 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___307 = 5,
    _CS_LFS_CFLAGS___307 = 1000,
    _CS_LFS_LDFLAGS___307 = 1001,
    _CS_LFS_LIBS___307 = 1002,
    _CS_LFS_LINTFLAGS___307 = 1003,
    _CS_LFS64_CFLAGS___307 = 1004,
    _CS_LFS64_LDFLAGS___307 = 1005,
    _CS_LFS64_LIBS___307 = 1006,
    _CS_LFS64_LINTFLAGS___307 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___307 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___307 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___307 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___307 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___307 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___307 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___307 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___307 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___307 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___307 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___307 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___307 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___307 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___307 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___307 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___307 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___307 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___307 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___307 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___307 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___307 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___307 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___307 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___307 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___307 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___307 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___307 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___307 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___307 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___307 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___307 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___307 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___307 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___307 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___307 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___307 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___307 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___307 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___307 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___307 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___307 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___307 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___307 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___307 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___307 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___307 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___307 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___307 = 1147,
    _CS_V6_ENV___307 = 1148,
    _CS_V7_ENV___307 = 1149
} ;
enum __anonenum_513775621___307 {
    DT_UNKNOWN___307 = 0,
    DT_FIFO___307 = 1,
    DT_CHR___307 = 2,
    DT_DIR___307 = 4,
    DT_BLK___307 = 6,
    DT_REG___307 = 8,
    DT_LNK___307 = 10,
    DT_SOCK___307 = 12,
    DT_WHT___307 = 14
} ;
enum __anonenum_77002343___307 {
    SI_ASYNCNL___307 = -60,
    SI_TKILL___307 = -6,
    SI_SIGIO___307 = -5,
    SI_ASYNCIO___307 = -4,
    SI_MESGQ___307 = -3,
    SI_TIMER___307 = -2,
    SI_QUEUE___307 = -1,
    SI_USER___307 = 0,
    SI_KERNEL___307 = 128
} ;
enum __anonenum_131038172___307 {
    ILL_ILLOPC___307 = 1,
    ILL_ILLOPN___307 = 2,
    ILL_ILLADR___307 = 3,
    ILL_ILLTRP___307 = 4,
    ILL_PRVOPC___307 = 5,
    ILL_PRVREG___307 = 6,
    ILL_COPROC___307 = 7,
    ILL_BADSTK___307 = 8
} ;
enum __anonenum_452038093___307 {
    FPE_INTDIV___307 = 1,
    FPE_INTOVF___307 = 2,
    FPE_FLTDIV___307 = 3,
    FPE_FLTOVF___307 = 4,
    FPE_FLTUND___307 = 5,
    FPE_FLTRES___307 = 6,
    FPE_FLTINV___307 = 7,
    FPE_FLTSUB___307 = 8
} ;
enum __anonenum_30976155___307 {
    SEGV_MAPERR___307 = 1,
    SEGV_ACCERR___307 = 2,
    SEGV_BNDERR___307 = 3,
    SEGV_PKUERR___307 = 4
} ;
enum __anonenum_1036286214___307 {
    BUS_ADRALN___307 = 1,
    BUS_ADRERR___307 = 2,
    BUS_OBJERR___307 = 3,
    BUS_MCEERR_AR___307 = 4,
    BUS_MCEERR_AO___307 = 5
} ;
enum __anonenum_493465559___307 {
    TRAP_BRKPT___307 = 1,
    TRAP_TRACE___307 = 2
} ;
enum __anonenum_23175539___307 {
    CLD_EXITED___307 = 1,
    CLD_KILLED___307 = 2,
    CLD_DUMPED___307 = 3,
    CLD_TRAPPED___307 = 4,
    CLD_STOPPED___307 = 5,
    CLD_CONTINUED___307 = 6
} ;
enum __anonenum_111643124___307 {
    POLL_IN___307 = 1,
    POLL_OUT___307 = 2,
    POLL_MSG___307 = 3,
    POLL_ERR___307 = 4,
    POLL_PRI___307 = 5,
    POLL_HUP___307 = 6
} ;
enum __anonenum_852341087___307 {
    SIGEV_SIGNAL___307 = 0,
    SIGEV_NONE___307 = 1,
    SIGEV_THREAD___307 = 2,
    SIGEV_THREAD_ID___307 = 4
} ;
enum __anonenum_451154152___307 {
    REG_R8___307 = 0,
    REG_R9___307 = 1,
    REG_R10___307 = 2,
    REG_R11___307 = 3,
    REG_R12___307 = 4,
    REG_R13___307 = 5,
    REG_R14___307 = 6,
    REG_R15___307 = 7,
    REG_RDI___307 = 8,
    REG_RSI___307 = 9,
    REG_RBP___307 = 10,
    REG_RBX___307 = 11,
    REG_RDX___307 = 12,
    REG_RAX___307 = 13,
    REG_RCX___307 = 14,
    REG_RSP___307 = 15,
    REG_RIP___307 = 16,
    REG_EFL___307 = 17,
    REG_CSGSFS___307 = 18,
    REG_ERR___307 = 19,
    REG_TRAPNO___307 = 20,
    REG_OLDMASK___307 = 21,
    REG_CR2___307 = 22
} ;
enum __anonenum_57186863___307 {
    SS_ONSTACK___307 = 1,
    SS_DISABLE___307 = 2
} ;
enum __anonenum_83571709___307 {
    MSG_OOB___307 = 1,
    MSG_PEEK___307 = 2,
    MSG_DONTROUTE___307 = 4,
    MSG_TRYHARD___307 = 4,
    MSG_CTRUNC___307 = 8,
    MSG_PROXY___307 = 16,
    MSG_TRUNC___307 = 32,
    MSG_DONTWAIT___307 = 64,
    MSG_EOR___307 = 128,
    MSG_WAITALL___307 = 256,
    MSG_FIN___307 = 512,
    MSG_SYN___307 = 1024,
    MSG_CONFIRM___307 = 2048,
    MSG_RST___307 = 4096,
    MSG_ERRQUEUE___307 = 8192,
    MSG_NOSIGNAL___307 = 16384,
    MSG_MORE___307 = 32768,
    MSG_WAITFORONE___307 = 65536,
    MSG_BATCH___307 = 262144,
    MSG_ZEROCOPY___307 = 67108864,
    MSG_FASTOPEN___307 = 536870912,
    MSG_CMSG_CLOEXEC___307 = 1073741824
} ;
enum __anonenum_617082774___307 {
    SCM_RIGHTS___307 = 1,
    SCM_CREDENTIALS___307 = 2
} ;
enum __anonenum_606441560___307 {
    SHUT_RD___307 = 0,
    SHUT_WR___307 = 1,
    SHUT_RDWR___307 = 2
} ;
enum __anonenum_681669233___307 {
    IPPROTO_IP___307 = 0,
    IPPROTO_ICMP___307 = 1,
    IPPROTO_IGMP___307 = 2,
    IPPROTO_IPIP___307 = 4,
    IPPROTO_TCP___307 = 6,
    IPPROTO_EGP___307 = 8,
    IPPROTO_PUP___307 = 12,
    IPPROTO_UDP___307 = 17,
    IPPROTO_IDP___307 = 22,
    IPPROTO_TP___307 = 29,
    IPPROTO_DCCP___307 = 33,
    IPPROTO_IPV6___307 = 41,
    IPPROTO_RSVP___307 = 46,
    IPPROTO_GRE___307 = 47,
    IPPROTO_ESP___307 = 50,
    IPPROTO_AH___307 = 51,
    IPPROTO_MTP___307 = 92,
    IPPROTO_BEETPH___307 = 94,
    IPPROTO_ENCAP___307 = 98,
    IPPROTO_PIM___307 = 103,
    IPPROTO_COMP___307 = 108,
    IPPROTO_SCTP___307 = 132,
    IPPROTO_UDPLITE___307 = 136,
    IPPROTO_MPLS___307 = 137,
    IPPROTO_RAW___307 = 255,
    IPPROTO_MAX___307 = 256
} ;
enum __anonenum_218739988___307 {
    IPPROTO_HOPOPTS___307 = 0,
    IPPROTO_ROUTING___307 = 43,
    IPPROTO_FRAGMENT___307 = 44,
    IPPROTO_ICMPV6___307 = 58,
    IPPROTO_NONE___307 = 59,
    IPPROTO_DSTOPTS___307 = 60,
    IPPROTO_MH___307 = 135
} ;
enum __anonenum_662268580___307 {
    IPPORT_ECHO___307 = 7,
    IPPORT_DISCARD___307 = 9,
    IPPORT_SYSTAT___307 = 11,
    IPPORT_DAYTIME___307 = 13,
    IPPORT_NETSTAT___307 = 15,
    IPPORT_FTP___307 = 21,
    IPPORT_TELNET___307 = 23,
    IPPORT_SMTP___307 = 25,
    IPPORT_TIMESERVER___307 = 37,
    IPPORT_NAMESERVER___307 = 42,
    IPPORT_WHOIS___307 = 43,
    IPPORT_MTP___307 = 57,
    IPPORT_TFTP___307 = 69,
    IPPORT_RJE___307 = 77,
    IPPORT_FINGER___307 = 79,
    IPPORT_TTYLINK___307 = 87,
    IPPORT_SUPDUP___307 = 95,
    IPPORT_EXECSERVER___307 = 512,
    IPPORT_LOGINSERVER___307 = 513,
    IPPORT_CMDSERVER___307 = 514,
    IPPORT_EFSSERVER___307 = 520,
    IPPORT_BIFFUDP___307 = 512,
    IPPORT_WHOSERVER___307 = 513,
    IPPORT_ROUTESERVER___307 = 520,
    IPPORT_RESERVED___307 = 1024,
    IPPORT_USERRESERVED___307 = 5000
} ;
enum __anonenum_788308992___307 {
    TCP_ESTABLISHED___307 = 1,
    TCP_SYN_SENT___307 = 2,
    TCP_SYN_RECV___307 = 3,
    TCP_FIN_WAIT1___307 = 4,
    TCP_FIN_WAIT2___307 = 5,
    TCP_TIME_WAIT___307 = 6,
    TCP_CLOSE___307 = 7,
    TCP_CLOSE_WAIT___307 = 8,
    TCP_LAST_ACK___307 = 9,
    TCP_LISTEN___307 = 10,
    TCP_CLOSING___307 = 11
} ;
enum __anonenum_221125648___307 {
    TCP_NO_QUEUE___307 = 0,
    TCP_RECV_QUEUE___307 = 1,
    TCP_SEND_QUEUE___307 = 2,
    TCP_QUEUES_NR___307 = 3
} ;
enum __anonenum_34415463___307 {
    PTHREAD_CREATE_JOINABLE___307 = 0,
    PTHREAD_CREATE_DETACHED___307 = 1
} ;
enum __anonenum_303612439___307 {
    PTHREAD_MUTEX_TIMED_NP___307 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___307 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___307 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___307 = 3,
    PTHREAD_MUTEX_NORMAL___307 = 0,
    PTHREAD_MUTEX_RECURSIVE___307 = 1,
    PTHREAD_MUTEX_ERRORCHECK___307 = 2,
    PTHREAD_MUTEX_DEFAULT___307 = 0,
    PTHREAD_MUTEX_FAST_NP___307 = 0
} ;
enum __anonenum_931900394___307 {
    PTHREAD_MUTEX_STALLED___307 = 0,
    PTHREAD_MUTEX_STALLED_NP___307 = 0,
    PTHREAD_MUTEX_ROBUST___307 = 1,
    PTHREAD_MUTEX_ROBUST_NP___307 = 1
} ;
enum __anonenum_205214487___307 {
    PTHREAD_PRIO_NONE___307 = 0,
    PTHREAD_PRIO_INHERIT___307 = 1,
    PTHREAD_PRIO_PROTECT___307 = 2
} ;
enum __anonenum_25043950___307 {
    PTHREAD_RWLOCK_PREFER_READER_NP___307 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___307 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___307 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___307 = 0
} ;
enum __anonenum_436439511___307 {
    PTHREAD_INHERIT_SCHED___307 = 0,
    PTHREAD_EXPLICIT_SCHED___307 = 1
} ;
enum __anonenum_998661166___307 {
    PTHREAD_SCOPE_SYSTEM___307 = 0,
    PTHREAD_SCOPE_PROCESS___307 = 1
} ;
enum __anonenum_146137331___307 {
    PTHREAD_PROCESS_PRIVATE___307 = 0,
    PTHREAD_PROCESS_SHARED___307 = 1
} ;
enum __anonenum_53396917___307 {
    PTHREAD_CANCEL_ENABLE___307 = 0,
    PTHREAD_CANCEL_DISABLE___307 = 1
} ;
enum __anonenum_904563783___307 {
    PTHREAD_CANCEL_DEFERRED___307 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___307 = 1
} ;
enum __anonenum_672052974___307 {
    SSL_CT_VALIDATION_PERMISSIVE___307 = 0,
    SSL_CT_VALIDATION_STRICT___307 = 1
} ;
enum __anonenum_34023289___29 {
    REMOTE_UNCONFIGURED___29 = 0,
    REMOTE_CONFIG___29 = 1,
    REMOTE_REMOTES___29 = 2,
    REMOTE_BRANCHES___29 = 3
} ;
enum __anonenum_signed_tag_mode_883610529 {
    SIGNED_TAG_ABORT = 0,
    VERBATIM = 1,
    WARN = 2,
    WARN_STRIP = 3,
    STRIP = 4
} ;
enum __anonenum_tag_of_filtered_mode_701047571 {
    TAG_FILTERING_ABORT = 0,
    DROP = 1,
    REWRITE = 2
} ;
enum __anonenum_reencode_mode_163128792 {
    REENCODE_ABORT = 0,
    REENCODE_YES = 1,
    REENCODE_NO = 2
} ;
struct anonymized_entry {
   struct hashmap_entry hash ;
   char const   *anon ;
   char const   orig[] ;
};
struct anonymized_entry_key {
   struct hashmap_entry hash ;
   char const   *orig ;
   size_t orig_len ;
};
enum __anonenum_437032235___308 {
    _PC_LINK_MAX___308 = 0,
    _PC_MAX_CANON___308 = 1,
    _PC_MAX_INPUT___308 = 2,
    _PC_NAME_MAX___308 = 3,
    _PC_PATH_MAX___308 = 4,
    _PC_PIPE_BUF___308 = 5,
    _PC_CHOWN_RESTRICTED___308 = 6,
    _PC_NO_TRUNC___308 = 7,
    _PC_VDISABLE___308 = 8,
    _PC_SYNC_IO___308 = 9,
    _PC_ASYNC_IO___308 = 10,
    _PC_PRIO_IO___308 = 11,
    _PC_SOCK_MAXBUF___308 = 12,
    _PC_FILESIZEBITS___308 = 13,
    _PC_REC_INCR_XFER_SIZE___308 = 14,
    _PC_REC_MAX_XFER_SIZE___308 = 15,
    _PC_REC_MIN_XFER_SIZE___308 = 16,
    _PC_REC_XFER_ALIGN___308 = 17,
    _PC_ALLOC_SIZE_MIN___308 = 18,
    _PC_SYMLINK_MAX___308 = 19,
    _PC_2_SYMLINKS___308 = 20
} ;
enum __anonenum_315186338___308 {
    _SC_ARG_MAX___308 = 0,
    _SC_CHILD_MAX___308 = 1,
    _SC_CLK_TCK___308 = 2,
    _SC_NGROUPS_MAX___308 = 3,
    _SC_OPEN_MAX___308 = 4,
    _SC_STREAM_MAX___308 = 5,
    _SC_TZNAME_MAX___308 = 6,
    _SC_JOB_CONTROL___308 = 7,
    _SC_SAVED_IDS___308 = 8,
    _SC_REALTIME_SIGNALS___308 = 9,
    _SC_PRIORITY_SCHEDULING___308 = 10,
    _SC_TIMERS___308 = 11,
    _SC_ASYNCHRONOUS_IO___308 = 12,
    _SC_PRIORITIZED_IO___308 = 13,
    _SC_SYNCHRONIZED_IO___308 = 14,
    _SC_FSYNC___308 = 15,
    _SC_MAPPED_FILES___308 = 16,
    _SC_MEMLOCK___308 = 17,
    _SC_MEMLOCK_RANGE___308 = 18,
    _SC_MEMORY_PROTECTION___308 = 19,
    _SC_MESSAGE_PASSING___308 = 20,
    _SC_SEMAPHORES___308 = 21,
    _SC_SHARED_MEMORY_OBJECTS___308 = 22,
    _SC_AIO_LISTIO_MAX___308 = 23,
    _SC_AIO_MAX___308 = 24,
    _SC_AIO_PRIO_DELTA_MAX___308 = 25,
    _SC_DELAYTIMER_MAX___308 = 26,
    _SC_MQ_OPEN_MAX___308 = 27,
    _SC_MQ_PRIO_MAX___308 = 28,
    _SC_VERSION___308 = 29,
    _SC_PAGESIZE___308 = 30,
    _SC_RTSIG_MAX___308 = 31,
    _SC_SEM_NSEMS_MAX___308 = 32,
    _SC_SEM_VALUE_MAX___308 = 33,
    _SC_SIGQUEUE_MAX___308 = 34,
    _SC_TIMER_MAX___308 = 35,
    _SC_BC_BASE_MAX___308 = 36,
    _SC_BC_DIM_MAX___308 = 37,
    _SC_BC_SCALE_MAX___308 = 38,
    _SC_BC_STRING_MAX___308 = 39,
    _SC_COLL_WEIGHTS_MAX___308 = 40,
    _SC_EQUIV_CLASS_MAX___308 = 41,
    _SC_EXPR_NEST_MAX___308 = 42,
    _SC_LINE_MAX___308 = 43,
    _SC_RE_DUP_MAX___308 = 44,
    _SC_CHARCLASS_NAME_MAX___308 = 45,
    _SC_2_VERSION___308 = 46,
    _SC_2_C_BIND___308 = 47,
    _SC_2_C_DEV___308 = 48,
    _SC_2_FORT_DEV___308 = 49,
    _SC_2_FORT_RUN___308 = 50,
    _SC_2_SW_DEV___308 = 51,
    _SC_2_LOCALEDEF___308 = 52,
    _SC_PII___308 = 53,
    _SC_PII_XTI___308 = 54,
    _SC_PII_SOCKET___308 = 55,
    _SC_PII_INTERNET___308 = 56,
    _SC_PII_OSI___308 = 57,
    _SC_POLL___308 = 58,
    _SC_SELECT___308 = 59,
    _SC_UIO_MAXIOV___308 = 60,
    _SC_IOV_MAX___308 = 60,
    _SC_PII_INTERNET_STREAM___308 = 61,
    _SC_PII_INTERNET_DGRAM___308 = 62,
    _SC_PII_OSI_COTS___308 = 63,
    _SC_PII_OSI_CLTS___308 = 64,
    _SC_PII_OSI_M___308 = 65,
    _SC_T_IOV_MAX___308 = 66,
    _SC_THREADS___308 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___308 = 68,
    _SC_GETGR_R_SIZE_MAX___308 = 69,
    _SC_GETPW_R_SIZE_MAX___308 = 70,
    _SC_LOGIN_NAME_MAX___308 = 71,
    _SC_TTY_NAME_MAX___308 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___308 = 73,
    _SC_THREAD_KEYS_MAX___308 = 74,
    _SC_THREAD_STACK_MIN___308 = 75,
    _SC_THREAD_THREADS_MAX___308 = 76,
    _SC_THREAD_ATTR_STACKADDR___308 = 77,
    _SC_THREAD_ATTR_STACKSIZE___308 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___308 = 79,
    _SC_THREAD_PRIO_INHERIT___308 = 80,
    _SC_THREAD_PRIO_PROTECT___308 = 81,
    _SC_THREAD_PROCESS_SHARED___308 = 82,
    _SC_NPROCESSORS_CONF___308 = 83,
    _SC_NPROCESSORS_ONLN___308 = 84,
    _SC_PHYS_PAGES___308 = 85,
    _SC_AVPHYS_PAGES___308 = 86,
    _SC_ATEXIT_MAX___308 = 87,
    _SC_PASS_MAX___308 = 88,
    _SC_XOPEN_VERSION___308 = 89,
    _SC_XOPEN_XCU_VERSION___308 = 90,
    _SC_XOPEN_UNIX___308 = 91,
    _SC_XOPEN_CRYPT___308 = 92,
    _SC_XOPEN_ENH_I18N___308 = 93,
    _SC_XOPEN_SHM___308 = 94,
    _SC_2_CHAR_TERM___308 = 95,
    _SC_2_C_VERSION___308 = 96,
    _SC_2_UPE___308 = 97,
    _SC_XOPEN_XPG2___308 = 98,
    _SC_XOPEN_XPG3___308 = 99,
    _SC_XOPEN_XPG4___308 = 100,
    _SC_CHAR_BIT___308 = 101,
    _SC_CHAR_MAX___308 = 102,
    _SC_CHAR_MIN___308 = 103,
    _SC_INT_MAX___308 = 104,
    _SC_INT_MIN___308 = 105,
    _SC_LONG_BIT___308 = 106,
    _SC_WORD_BIT___308 = 107,
    _SC_MB_LEN_MAX___308 = 108,
    _SC_NZERO___308 = 109,
    _SC_SSIZE_MAX___308 = 110,
    _SC_SCHAR_MAX___308 = 111,
    _SC_SCHAR_MIN___308 = 112,
    _SC_SHRT_MAX___308 = 113,
    _SC_SHRT_MIN___308 = 114,
    _SC_UCHAR_MAX___308 = 115,
    _SC_UINT_MAX___308 = 116,
    _SC_ULONG_MAX___308 = 117,
    _SC_USHRT_MAX___308 = 118,
    _SC_NL_ARGMAX___308 = 119,
    _SC_NL_LANGMAX___308 = 120,
    _SC_NL_MSGMAX___308 = 121,
    _SC_NL_NMAX___308 = 122,
    _SC_NL_SETMAX___308 = 123,
    _SC_NL_TEXTMAX___308 = 124,
    _SC_XBS5_ILP32_OFF32___308 = 125,
    _SC_XBS5_ILP32_OFFBIG___308 = 126,
    _SC_XBS5_LP64_OFF64___308 = 127,
    _SC_XBS5_LPBIG_OFFBIG___308 = 128,
    _SC_XOPEN_LEGACY___308 = 129,
    _SC_XOPEN_REALTIME___308 = 130,
    _SC_XOPEN_REALTIME_THREADS___308 = 131,
    _SC_ADVISORY_INFO___308 = 132,
    _SC_BARRIERS___308 = 133,
    _SC_BASE___308 = 134,
    _SC_C_LANG_SUPPORT___308 = 135,
    _SC_C_LANG_SUPPORT_R___308 = 136,
    _SC_CLOCK_SELECTION___308 = 137,
    _SC_CPUTIME___308 = 138,
    _SC_THREAD_CPUTIME___308 = 139,
    _SC_DEVICE_IO___308 = 140,
    _SC_DEVICE_SPECIFIC___308 = 141,
    _SC_DEVICE_SPECIFIC_R___308 = 142,
    _SC_FD_MGMT___308 = 143,
    _SC_FIFO___308 = 144,
    _SC_PIPE___308 = 145,
    _SC_FILE_ATTRIBUTES___308 = 146,
    _SC_FILE_LOCKING___308 = 147,
    _SC_FILE_SYSTEM___308 = 148,
    _SC_MONOTONIC_CLOCK___308 = 149,
    _SC_MULTI_PROCESS___308 = 150,
    _SC_SINGLE_PROCESS___308 = 151,
    _SC_NETWORKING___308 = 152,
    _SC_READER_WRITER_LOCKS___308 = 153,
    _SC_SPIN_LOCKS___308 = 154,
    _SC_REGEXP___308 = 155,
    _SC_REGEX_VERSION___308 = 156,
    _SC_SHELL___308 = 157,
    _SC_SIGNALS___308 = 158,
    _SC_SPAWN___308 = 159,
    _SC_SPORADIC_SERVER___308 = 160,
    _SC_THREAD_SPORADIC_SERVER___308 = 161,
    _SC_SYSTEM_DATABASE___308 = 162,
    _SC_SYSTEM_DATABASE_R___308 = 163,
    _SC_TIMEOUTS___308 = 164,
    _SC_TYPED_MEMORY_OBJECTS___308 = 165,
    _SC_USER_GROUPS___308 = 166,
    _SC_USER_GROUPS_R___308 = 167,
    _SC_2_PBS___308 = 168,
    _SC_2_PBS_ACCOUNTING___308 = 169,
    _SC_2_PBS_LOCATE___308 = 170,
    _SC_2_PBS_MESSAGE___308 = 171,
    _SC_2_PBS_TRACK___308 = 172,
    _SC_SYMLOOP_MAX___308 = 173,
    _SC_STREAMS___308 = 174,
    _SC_2_PBS_CHECKPOINT___308 = 175,
    _SC_V6_ILP32_OFF32___308 = 176,
    _SC_V6_ILP32_OFFBIG___308 = 177,
    _SC_V6_LP64_OFF64___308 = 178,
    _SC_V6_LPBIG_OFFBIG___308 = 179,
    _SC_HOST_NAME_MAX___308 = 180,
    _SC_TRACE___308 = 181,
    _SC_TRACE_EVENT_FILTER___308 = 182,
    _SC_TRACE_INHERIT___308 = 183,
    _SC_TRACE_LOG___308 = 184,
    _SC_LEVEL1_ICACHE_SIZE___308 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___308 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___308 = 187,
    _SC_LEVEL1_DCACHE_SIZE___308 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___308 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___308 = 190,
    _SC_LEVEL2_CACHE_SIZE___308 = 191,
    _SC_LEVEL2_CACHE_ASSOC___308 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___308 = 193,
    _SC_LEVEL3_CACHE_SIZE___308 = 194,
    _SC_LEVEL3_CACHE_ASSOC___308 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___308 = 196,
    _SC_LEVEL4_CACHE_SIZE___308 = 197,
    _SC_LEVEL4_CACHE_ASSOC___308 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___308 = 199,
    _SC_IPV6___308 = 235,
    _SC_RAW_SOCKETS___308 = 236,
    _SC_V7_ILP32_OFF32___308 = 237,
    _SC_V7_ILP32_OFFBIG___308 = 238,
    _SC_V7_LP64_OFF64___308 = 239,
    _SC_V7_LPBIG_OFFBIG___308 = 240,
    _SC_SS_REPL_MAX___308 = 241,
    _SC_TRACE_EVENT_NAME_MAX___308 = 242,
    _SC_TRACE_NAME_MAX___308 = 243,
    _SC_TRACE_SYS_MAX___308 = 244,
    _SC_TRACE_USER_EVENT_MAX___308 = 245,
    _SC_XOPEN_STREAMS___308 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___308 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___308 = 248
} ;
enum __anonenum_875524036___308 {
    _CS_PATH___308 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___308 = 1,
    _CS_GNU_LIBC_VERSION___308 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___308 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___308 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___308 = 5,
    _CS_LFS_CFLAGS___308 = 1000,
    _CS_LFS_LDFLAGS___308 = 1001,
    _CS_LFS_LIBS___308 = 1002,
    _CS_LFS_LINTFLAGS___308 = 1003,
    _CS_LFS64_CFLAGS___308 = 1004,
    _CS_LFS64_LDFLAGS___308 = 1005,
    _CS_LFS64_LIBS___308 = 1006,
    _CS_LFS64_LINTFLAGS___308 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___308 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___308 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___308 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___308 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___308 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___308 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___308 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___308 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___308 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___308 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___308 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___308 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___308 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___308 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___308 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___308 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___308 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___308 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___308 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___308 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___308 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___308 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___308 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___308 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___308 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___308 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___308 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___308 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___308 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___308 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___308 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___308 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___308 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___308 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___308 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___308 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___308 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___308 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___308 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___308 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___308 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___308 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___308 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___308 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___308 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___308 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___308 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___308 = 1147,
    _CS_V6_ENV___308 = 1148,
    _CS_V7_ENV___308 = 1149
} ;
enum __anonenum_513775621___308 {
    DT_UNKNOWN___308 = 0,
    DT_FIFO___308 = 1,
    DT_CHR___308 = 2,
    DT_DIR___308 = 4,
    DT_BLK___308 = 6,
    DT_REG___308 = 8,
    DT_LNK___308 = 10,
    DT_SOCK___308 = 12,
    DT_WHT___308 = 14
} ;
enum __anonenum_77002343___308 {
    SI_ASYNCNL___308 = -60,
    SI_TKILL___308 = -6,
    SI_SIGIO___308 = -5,
    SI_ASYNCIO___308 = -4,
    SI_MESGQ___308 = -3,
    SI_TIMER___308 = -2,
    SI_QUEUE___308 = -1,
    SI_USER___308 = 0,
    SI_KERNEL___308 = 128
} ;
enum __anonenum_131038172___308 {
    ILL_ILLOPC___308 = 1,
    ILL_ILLOPN___308 = 2,
    ILL_ILLADR___308 = 3,
    ILL_ILLTRP___308 = 4,
    ILL_PRVOPC___308 = 5,
    ILL_PRVREG___308 = 6,
    ILL_COPROC___308 = 7,
    ILL_BADSTK___308 = 8
} ;
enum __anonenum_452038093___308 {
    FPE_INTDIV___308 = 1,
    FPE_INTOVF___308 = 2,
    FPE_FLTDIV___308 = 3,
    FPE_FLTOVF___308 = 4,
    FPE_FLTUND___308 = 5,
    FPE_FLTRES___308 = 6,
    FPE_FLTINV___308 = 7,
    FPE_FLTSUB___308 = 8
} ;
enum __anonenum_30976155___308 {
    SEGV_MAPERR___308 = 1,
    SEGV_ACCERR___308 = 2,
    SEGV_BNDERR___308 = 3,
    SEGV_PKUERR___308 = 4
} ;
enum __anonenum_1036286214___308 {
    BUS_ADRALN___308 = 1,
    BUS_ADRERR___308 = 2,
    BUS_OBJERR___308 = 3,
    BUS_MCEERR_AR___308 = 4,
    BUS_MCEERR_AO___308 = 5
} ;
enum __anonenum_493465559___308 {
    TRAP_BRKPT___308 = 1,
    TRAP_TRACE___308 = 2
} ;
enum __anonenum_23175539___308 {
    CLD_EXITED___308 = 1,
    CLD_KILLED___308 = 2,
    CLD_DUMPED___308 = 3,
    CLD_TRAPPED___308 = 4,
    CLD_STOPPED___308 = 5,
    CLD_CONTINUED___308 = 6
} ;
enum __anonenum_111643124___308 {
    POLL_IN___308 = 1,
    POLL_OUT___308 = 2,
    POLL_MSG___308 = 3,
    POLL_ERR___308 = 4,
    POLL_PRI___308 = 5,
    POLL_HUP___308 = 6
} ;
enum __anonenum_852341087___308 {
    SIGEV_SIGNAL___308 = 0,
    SIGEV_NONE___308 = 1,
    SIGEV_THREAD___308 = 2,
    SIGEV_THREAD_ID___308 = 4
} ;
enum __anonenum_451154152___308 {
    REG_R8___308 = 0,
    REG_R9___308 = 1,
    REG_R10___308 = 2,
    REG_R11___308 = 3,
    REG_R12___308 = 4,
    REG_R13___308 = 5,
    REG_R14___308 = 6,
    REG_R15___308 = 7,
    REG_RDI___308 = 8,
    REG_RSI___308 = 9,
    REG_RBP___308 = 10,
    REG_RBX___308 = 11,
    REG_RDX___308 = 12,
    REG_RAX___308 = 13,
    REG_RCX___308 = 14,
    REG_RSP___308 = 15,
    REG_RIP___308 = 16,
    REG_EFL___308 = 17,
    REG_CSGSFS___308 = 18,
    REG_ERR___308 = 19,
    REG_TRAPNO___308 = 20,
    REG_OLDMASK___308 = 21,
    REG_CR2___308 = 22
} ;
enum __anonenum_57186863___308 {
    SS_ONSTACK___308 = 1,
    SS_DISABLE___308 = 2
} ;
enum __anonenum_83571709___308 {
    MSG_OOB___308 = 1,
    MSG_PEEK___308 = 2,
    MSG_DONTROUTE___308 = 4,
    MSG_TRYHARD___308 = 4,
    MSG_CTRUNC___308 = 8,
    MSG_PROXY___308 = 16,
    MSG_TRUNC___308 = 32,
    MSG_DONTWAIT___308 = 64,
    MSG_EOR___308 = 128,
    MSG_WAITALL___308 = 256,
    MSG_FIN___308 = 512,
    MSG_SYN___308 = 1024,
    MSG_CONFIRM___308 = 2048,
    MSG_RST___308 = 4096,
    MSG_ERRQUEUE___308 = 8192,
    MSG_NOSIGNAL___308 = 16384,
    MSG_MORE___308 = 32768,
    MSG_WAITFORONE___308 = 65536,
    MSG_BATCH___308 = 262144,
    MSG_ZEROCOPY___308 = 67108864,
    MSG_FASTOPEN___308 = 536870912,
    MSG_CMSG_CLOEXEC___308 = 1073741824
} ;
enum __anonenum_617082774___308 {
    SCM_RIGHTS___308 = 1,
    SCM_CREDENTIALS___308 = 2
} ;
enum __anonenum_606441560___308 {
    SHUT_RD___308 = 0,
    SHUT_WR___308 = 1,
    SHUT_RDWR___308 = 2
} ;
enum __anonenum_681669233___308 {
    IPPROTO_IP___308 = 0,
    IPPROTO_ICMP___308 = 1,
    IPPROTO_IGMP___308 = 2,
    IPPROTO_IPIP___308 = 4,
    IPPROTO_TCP___308 = 6,
    IPPROTO_EGP___308 = 8,
    IPPROTO_PUP___308 = 12,
    IPPROTO_UDP___308 = 17,
    IPPROTO_IDP___308 = 22,
    IPPROTO_TP___308 = 29,
    IPPROTO_DCCP___308 = 33,
    IPPROTO_IPV6___308 = 41,
    IPPROTO_RSVP___308 = 46,
    IPPROTO_GRE___308 = 47,
    IPPROTO_ESP___308 = 50,
    IPPROTO_AH___308 = 51,
    IPPROTO_MTP___308 = 92,
    IPPROTO_BEETPH___308 = 94,
    IPPROTO_ENCAP___308 = 98,
    IPPROTO_PIM___308 = 103,
    IPPROTO_COMP___308 = 108,
    IPPROTO_SCTP___308 = 132,
    IPPROTO_UDPLITE___308 = 136,
    IPPROTO_MPLS___308 = 137,
    IPPROTO_RAW___308 = 255,
    IPPROTO_MAX___308 = 256
} ;
enum __anonenum_218739988___308 {
    IPPROTO_HOPOPTS___308 = 0,
    IPPROTO_ROUTING___308 = 43,
    IPPROTO_FRAGMENT___308 = 44,
    IPPROTO_ICMPV6___308 = 58,
    IPPROTO_NONE___308 = 59,
    IPPROTO_DSTOPTS___308 = 60,
    IPPROTO_MH___308 = 135
} ;
enum __anonenum_662268580___308 {
    IPPORT_ECHO___308 = 7,
    IPPORT_DISCARD___308 = 9,
    IPPORT_SYSTAT___308 = 11,
    IPPORT_DAYTIME___308 = 13,
    IPPORT_NETSTAT___308 = 15,
    IPPORT_FTP___308 = 21,
    IPPORT_TELNET___308 = 23,
    IPPORT_SMTP___308 = 25,
    IPPORT_TIMESERVER___308 = 37,
    IPPORT_NAMESERVER___308 = 42,
    IPPORT_WHOIS___308 = 43,
    IPPORT_MTP___308 = 57,
    IPPORT_TFTP___308 = 69,
    IPPORT_RJE___308 = 77,
    IPPORT_FINGER___308 = 79,
    IPPORT_TTYLINK___308 = 87,
    IPPORT_SUPDUP___308 = 95,
    IPPORT_EXECSERVER___308 = 512,
    IPPORT_LOGINSERVER___308 = 513,
    IPPORT_CMDSERVER___308 = 514,
    IPPORT_EFSSERVER___308 = 520,
    IPPORT_BIFFUDP___308 = 512,
    IPPORT_WHOSERVER___308 = 513,
    IPPORT_ROUTESERVER___308 = 520,
    IPPORT_RESERVED___308 = 1024,
    IPPORT_USERRESERVED___308 = 5000
} ;
enum __anonenum_788308992___308 {
    TCP_ESTABLISHED___308 = 1,
    TCP_SYN_SENT___308 = 2,
    TCP_SYN_RECV___308 = 3,
    TCP_FIN_WAIT1___308 = 4,
    TCP_FIN_WAIT2___308 = 5,
    TCP_TIME_WAIT___308 = 6,
    TCP_CLOSE___308 = 7,
    TCP_CLOSE_WAIT___308 = 8,
    TCP_LAST_ACK___308 = 9,
    TCP_LISTEN___308 = 10,
    TCP_CLOSING___308 = 11
} ;
enum __anonenum_221125648___308 {
    TCP_NO_QUEUE___308 = 0,
    TCP_RECV_QUEUE___308 = 1,
    TCP_SEND_QUEUE___308 = 2,
    TCP_QUEUES_NR___308 = 3
} ;
enum __anonenum_34415463___308 {
    PTHREAD_CREATE_JOINABLE___308 = 0,
    PTHREAD_CREATE_DETACHED___308 = 1
} ;
enum __anonenum_303612439___308 {
    PTHREAD_MUTEX_TIMED_NP___308 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___308 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___308 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___308 = 3,
    PTHREAD_MUTEX_NORMAL___308 = 0,
    PTHREAD_MUTEX_RECURSIVE___308 = 1,
    PTHREAD_MUTEX_ERRORCHECK___308 = 2,
    PTHREAD_MUTEX_DEFAULT___308 = 0,
    PTHREAD_MUTEX_FAST_NP___308 = 0
} ;
enum __anonenum_931900394___308 {
    PTHREAD_MUTEX_STALLED___308 = 0,
    PTHREAD_MUTEX_STALLED_NP___308 = 0,
    PTHREAD_MUTEX_ROBUST___308 = 1,
    PTHREAD_MUTEX_ROBUST_NP___308 = 1
} ;
enum __anonenum_205214487___308 {
    PTHREAD_PRIO_NONE___308 = 0,
    PTHREAD_PRIO_INHERIT___308 = 1,
    PTHREAD_PRIO_PROTECT___308 = 2
} ;
enum __anonenum_25043950___308 {
    PTHREAD_RWLOCK_PREFER_READER_NP___308 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___308 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___308 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___308 = 0
} ;
enum __anonenum_436439511___308 {
    PTHREAD_INHERIT_SCHED___308 = 0,
    PTHREAD_EXPLICIT_SCHED___308 = 1
} ;
enum __anonenum_998661166___308 {
    PTHREAD_SCOPE_SYSTEM___308 = 0,
    PTHREAD_SCOPE_PROCESS___308 = 1
} ;
enum __anonenum_146137331___308 {
    PTHREAD_PROCESS_PRIVATE___308 = 0,
    PTHREAD_PROCESS_SHARED___308 = 1
} ;
enum __anonenum_53396917___308 {
    PTHREAD_CANCEL_ENABLE___308 = 0,
    PTHREAD_CANCEL_DISABLE___308 = 1
} ;
enum __anonenum_904563783___308 {
    PTHREAD_CANCEL_DEFERRED___308 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___308 = 1
} ;
enum __anonenum_672052974___308 {
    SSL_CT_VALIDATION_PERMISSIVE___308 = 0,
    SSL_CT_VALIDATION_STRICT___308 = 1
} ;
struct object_entry___0 {
   struct pack_idx_entry idx ;
   struct hashmap_entry ent ;
   uint32_t type : 3 ;
   uint32_t pack_id : 16 ;
   uint32_t depth : 13 ;
};
struct object_entry_pool {
   struct object_entry_pool *next_pool ;
   struct object_entry___0 *next_free ;
   struct object_entry___0 *end ;
   struct object_entry___0 entries[] ;
};
union __anonunion_data_131244163 {
   struct object_id *oids[1024] ;
   struct object_entry___0 *marked[1024] ;
   struct mark_set *sets[1024] ;
};
struct mark_set {
   union __anonunion_data_131244163 data ;
   unsigned int shift ;
};
struct last_object {
   struct strbuf data ;
   off_t offset ;
   unsigned int depth ;
   unsigned int no_swap : 1 ;
};
struct atom_str {
   struct atom_str *next_atom ;
   unsigned short str_len ;
   char str_dat[] ;
};
struct tree_content ;
struct tree_entry_ms {
   uint16_t mode ;
   struct object_id oid ;
};
struct tree_entry {
   struct tree_content *tree ;
   struct atom_str *name ;
   struct tree_entry_ms versions[2] ;
};
struct tree_content {
   unsigned int entry_capacity ;
   unsigned int entry_count ;
   unsigned int delta_depth ;
   struct tree_entry *entries[] ;
};
struct avail_tree_content {
   unsigned int entry_capacity ;
   struct avail_tree_content *next_avail ;
};
struct branch___0 {
   struct branch___0 *table_next_branch ;
   struct branch___0 *active_next_branch ;
   char const   *name ;
   struct tree_entry branch_tree ;
   uintmax_t last_commit ;
   uintmax_t num_notes ;
   unsigned int active : 1 ;
   unsigned int delete : 1 ;
   unsigned int pack_id : 16 ;
   struct object_id oid ;
};
struct tag___0 {
   struct tag___0 *next_tag ;
   char const   *name ;
   unsigned int pack_id ;
   struct object_id oid ;
};
struct hash_list {
   struct hash_list *next ;
   struct object_id oid ;
};
enum __anonenum_whenspec_type_828998507 {
    WHENSPEC_RAW = 1,
    WHENSPEC_RAW_PERMISSIVE = 2,
    WHENSPEC_RFC2822 = 3,
    WHENSPEC_NOW = 4
} ;
typedef enum __anonenum_whenspec_type_828998507 whenspec_type;
struct recent_command {
   struct recent_command *prev ;
   struct recent_command *next ;
   char *buf ;
};
typedef void (*mark_set_inserter_t)(struct mark_set **s , struct object_id *oid ,
                                    uintmax_t mark );
typedef void (*each_mark_fn_t)(uintmax_t mark , void *obj , void *cbp );
enum __anonenum_437032235___309 {
    _PC_LINK_MAX___309 = 0,
    _PC_MAX_CANON___309 = 1,
    _PC_MAX_INPUT___309 = 2,
    _PC_NAME_MAX___309 = 3,
    _PC_PATH_MAX___309 = 4,
    _PC_PIPE_BUF___309 = 5,
    _PC_CHOWN_RESTRICTED___309 = 6,
    _PC_NO_TRUNC___309 = 7,
    _PC_VDISABLE___309 = 8,
    _PC_SYNC_IO___309 = 9,
    _PC_ASYNC_IO___309 = 10,
    _PC_PRIO_IO___309 = 11,
    _PC_SOCK_MAXBUF___309 = 12,
    _PC_FILESIZEBITS___309 = 13,
    _PC_REC_INCR_XFER_SIZE___309 = 14,
    _PC_REC_MAX_XFER_SIZE___309 = 15,
    _PC_REC_MIN_XFER_SIZE___309 = 16,
    _PC_REC_XFER_ALIGN___309 = 17,
    _PC_ALLOC_SIZE_MIN___309 = 18,
    _PC_SYMLINK_MAX___309 = 19,
    _PC_2_SYMLINKS___309 = 20
} ;
enum __anonenum_315186338___309 {
    _SC_ARG_MAX___309 = 0,
    _SC_CHILD_MAX___309 = 1,
    _SC_CLK_TCK___309 = 2,
    _SC_NGROUPS_MAX___309 = 3,
    _SC_OPEN_MAX___309 = 4,
    _SC_STREAM_MAX___309 = 5,
    _SC_TZNAME_MAX___309 = 6,
    _SC_JOB_CONTROL___309 = 7,
    _SC_SAVED_IDS___309 = 8,
    _SC_REALTIME_SIGNALS___309 = 9,
    _SC_PRIORITY_SCHEDULING___309 = 10,
    _SC_TIMERS___309 = 11,
    _SC_ASYNCHRONOUS_IO___309 = 12,
    _SC_PRIORITIZED_IO___309 = 13,
    _SC_SYNCHRONIZED_IO___309 = 14,
    _SC_FSYNC___309 = 15,
    _SC_MAPPED_FILES___309 = 16,
    _SC_MEMLOCK___309 = 17,
    _SC_MEMLOCK_RANGE___309 = 18,
    _SC_MEMORY_PROTECTION___309 = 19,
    _SC_MESSAGE_PASSING___309 = 20,
    _SC_SEMAPHORES___309 = 21,
    _SC_SHARED_MEMORY_OBJECTS___309 = 22,
    _SC_AIO_LISTIO_MAX___309 = 23,
    _SC_AIO_MAX___309 = 24,
    _SC_AIO_PRIO_DELTA_MAX___309 = 25,
    _SC_DELAYTIMER_MAX___309 = 26,
    _SC_MQ_OPEN_MAX___309 = 27,
    _SC_MQ_PRIO_MAX___309 = 28,
    _SC_VERSION___309 = 29,
    _SC_PAGESIZE___309 = 30,
    _SC_RTSIG_MAX___309 = 31,
    _SC_SEM_NSEMS_MAX___309 = 32,
    _SC_SEM_VALUE_MAX___309 = 33,
    _SC_SIGQUEUE_MAX___309 = 34,
    _SC_TIMER_MAX___309 = 35,
    _SC_BC_BASE_MAX___309 = 36,
    _SC_BC_DIM_MAX___309 = 37,
    _SC_BC_SCALE_MAX___309 = 38,
    _SC_BC_STRING_MAX___309 = 39,
    _SC_COLL_WEIGHTS_MAX___309 = 40,
    _SC_EQUIV_CLASS_MAX___309 = 41,
    _SC_EXPR_NEST_MAX___309 = 42,
    _SC_LINE_MAX___309 = 43,
    _SC_RE_DUP_MAX___309 = 44,
    _SC_CHARCLASS_NAME_MAX___309 = 45,
    _SC_2_VERSION___309 = 46,
    _SC_2_C_BIND___309 = 47,
    _SC_2_C_DEV___309 = 48,
    _SC_2_FORT_DEV___309 = 49,
    _SC_2_FORT_RUN___309 = 50,
    _SC_2_SW_DEV___309 = 51,
    _SC_2_LOCALEDEF___309 = 52,
    _SC_PII___309 = 53,
    _SC_PII_XTI___309 = 54,
    _SC_PII_SOCKET___309 = 55,
    _SC_PII_INTERNET___309 = 56,
    _SC_PII_OSI___309 = 57,
    _SC_POLL___309 = 58,
    _SC_SELECT___309 = 59,
    _SC_UIO_MAXIOV___309 = 60,
    _SC_IOV_MAX___309 = 60,
    _SC_PII_INTERNET_STREAM___309 = 61,
    _SC_PII_INTERNET_DGRAM___309 = 62,
    _SC_PII_OSI_COTS___309 = 63,
    _SC_PII_OSI_CLTS___309 = 64,
    _SC_PII_OSI_M___309 = 65,
    _SC_T_IOV_MAX___309 = 66,
    _SC_THREADS___309 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___309 = 68,
    _SC_GETGR_R_SIZE_MAX___309 = 69,
    _SC_GETPW_R_SIZE_MAX___309 = 70,
    _SC_LOGIN_NAME_MAX___309 = 71,
    _SC_TTY_NAME_MAX___309 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___309 = 73,
    _SC_THREAD_KEYS_MAX___309 = 74,
    _SC_THREAD_STACK_MIN___309 = 75,
    _SC_THREAD_THREADS_MAX___309 = 76,
    _SC_THREAD_ATTR_STACKADDR___309 = 77,
    _SC_THREAD_ATTR_STACKSIZE___309 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___309 = 79,
    _SC_THREAD_PRIO_INHERIT___309 = 80,
    _SC_THREAD_PRIO_PROTECT___309 = 81,
    _SC_THREAD_PROCESS_SHARED___309 = 82,
    _SC_NPROCESSORS_CONF___309 = 83,
    _SC_NPROCESSORS_ONLN___309 = 84,
    _SC_PHYS_PAGES___309 = 85,
    _SC_AVPHYS_PAGES___309 = 86,
    _SC_ATEXIT_MAX___309 = 87,
    _SC_PASS_MAX___309 = 88,
    _SC_XOPEN_VERSION___309 = 89,
    _SC_XOPEN_XCU_VERSION___309 = 90,
    _SC_XOPEN_UNIX___309 = 91,
    _SC_XOPEN_CRYPT___309 = 92,
    _SC_XOPEN_ENH_I18N___309 = 93,
    _SC_XOPEN_SHM___309 = 94,
    _SC_2_CHAR_TERM___309 = 95,
    _SC_2_C_VERSION___309 = 96,
    _SC_2_UPE___309 = 97,
    _SC_XOPEN_XPG2___309 = 98,
    _SC_XOPEN_XPG3___309 = 99,
    _SC_XOPEN_XPG4___309 = 100,
    _SC_CHAR_BIT___309 = 101,
    _SC_CHAR_MAX___309 = 102,
    _SC_CHAR_MIN___309 = 103,
    _SC_INT_MAX___309 = 104,
    _SC_INT_MIN___309 = 105,
    _SC_LONG_BIT___309 = 106,
    _SC_WORD_BIT___309 = 107,
    _SC_MB_LEN_MAX___309 = 108,
    _SC_NZERO___309 = 109,
    _SC_SSIZE_MAX___309 = 110,
    _SC_SCHAR_MAX___309 = 111,
    _SC_SCHAR_MIN___309 = 112,
    _SC_SHRT_MAX___309 = 113,
    _SC_SHRT_MIN___309 = 114,
    _SC_UCHAR_MAX___309 = 115,
    _SC_UINT_MAX___309 = 116,
    _SC_ULONG_MAX___309 = 117,
    _SC_USHRT_MAX___309 = 118,
    _SC_NL_ARGMAX___309 = 119,
    _SC_NL_LANGMAX___309 = 120,
    _SC_NL_MSGMAX___309 = 121,
    _SC_NL_NMAX___309 = 122,
    _SC_NL_SETMAX___309 = 123,
    _SC_NL_TEXTMAX___309 = 124,
    _SC_XBS5_ILP32_OFF32___309 = 125,
    _SC_XBS5_ILP32_OFFBIG___309 = 126,
    _SC_XBS5_LP64_OFF64___309 = 127,
    _SC_XBS5_LPBIG_OFFBIG___309 = 128,
    _SC_XOPEN_LEGACY___309 = 129,
    _SC_XOPEN_REALTIME___309 = 130,
    _SC_XOPEN_REALTIME_THREADS___309 = 131,
    _SC_ADVISORY_INFO___309 = 132,
    _SC_BARRIERS___309 = 133,
    _SC_BASE___309 = 134,
    _SC_C_LANG_SUPPORT___309 = 135,
    _SC_C_LANG_SUPPORT_R___309 = 136,
    _SC_CLOCK_SELECTION___309 = 137,
    _SC_CPUTIME___309 = 138,
    _SC_THREAD_CPUTIME___309 = 139,
    _SC_DEVICE_IO___309 = 140,
    _SC_DEVICE_SPECIFIC___309 = 141,
    _SC_DEVICE_SPECIFIC_R___309 = 142,
    _SC_FD_MGMT___309 = 143,
    _SC_FIFO___309 = 144,
    _SC_PIPE___309 = 145,
    _SC_FILE_ATTRIBUTES___309 = 146,
    _SC_FILE_LOCKING___309 = 147,
    _SC_FILE_SYSTEM___309 = 148,
    _SC_MONOTONIC_CLOCK___309 = 149,
    _SC_MULTI_PROCESS___309 = 150,
    _SC_SINGLE_PROCESS___309 = 151,
    _SC_NETWORKING___309 = 152,
    _SC_READER_WRITER_LOCKS___309 = 153,
    _SC_SPIN_LOCKS___309 = 154,
    _SC_REGEXP___309 = 155,
    _SC_REGEX_VERSION___309 = 156,
    _SC_SHELL___309 = 157,
    _SC_SIGNALS___309 = 158,
    _SC_SPAWN___309 = 159,
    _SC_SPORADIC_SERVER___309 = 160,
    _SC_THREAD_SPORADIC_SERVER___309 = 161,
    _SC_SYSTEM_DATABASE___309 = 162,
    _SC_SYSTEM_DATABASE_R___309 = 163,
    _SC_TIMEOUTS___309 = 164,
    _SC_TYPED_MEMORY_OBJECTS___309 = 165,
    _SC_USER_GROUPS___309 = 166,
    _SC_USER_GROUPS_R___309 = 167,
    _SC_2_PBS___309 = 168,
    _SC_2_PBS_ACCOUNTING___309 = 169,
    _SC_2_PBS_LOCATE___309 = 170,
    _SC_2_PBS_MESSAGE___309 = 171,
    _SC_2_PBS_TRACK___309 = 172,
    _SC_SYMLOOP_MAX___309 = 173,
    _SC_STREAMS___309 = 174,
    _SC_2_PBS_CHECKPOINT___309 = 175,
    _SC_V6_ILP32_OFF32___309 = 176,
    _SC_V6_ILP32_OFFBIG___309 = 177,
    _SC_V6_LP64_OFF64___309 = 178,
    _SC_V6_LPBIG_OFFBIG___309 = 179,
    _SC_HOST_NAME_MAX___309 = 180,
    _SC_TRACE___309 = 181,
    _SC_TRACE_EVENT_FILTER___309 = 182,
    _SC_TRACE_INHERIT___309 = 183,
    _SC_TRACE_LOG___309 = 184,
    _SC_LEVEL1_ICACHE_SIZE___309 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___309 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___309 = 187,
    _SC_LEVEL1_DCACHE_SIZE___309 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___309 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___309 = 190,
    _SC_LEVEL2_CACHE_SIZE___309 = 191,
    _SC_LEVEL2_CACHE_ASSOC___309 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___309 = 193,
    _SC_LEVEL3_CACHE_SIZE___309 = 194,
    _SC_LEVEL3_CACHE_ASSOC___309 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___309 = 196,
    _SC_LEVEL4_CACHE_SIZE___309 = 197,
    _SC_LEVEL4_CACHE_ASSOC___309 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___309 = 199,
    _SC_IPV6___309 = 235,
    _SC_RAW_SOCKETS___309 = 236,
    _SC_V7_ILP32_OFF32___309 = 237,
    _SC_V7_ILP32_OFFBIG___309 = 238,
    _SC_V7_LP64_OFF64___309 = 239,
    _SC_V7_LPBIG_OFFBIG___309 = 240,
    _SC_SS_REPL_MAX___309 = 241,
    _SC_TRACE_EVENT_NAME_MAX___309 = 242,
    _SC_TRACE_NAME_MAX___309 = 243,
    _SC_TRACE_SYS_MAX___309 = 244,
    _SC_TRACE_USER_EVENT_MAX___309 = 245,
    _SC_XOPEN_STREAMS___309 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___309 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___309 = 248
} ;
enum __anonenum_875524036___309 {
    _CS_PATH___309 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___309 = 1,
    _CS_GNU_LIBC_VERSION___309 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___309 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___309 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___309 = 5,
    _CS_LFS_CFLAGS___309 = 1000,
    _CS_LFS_LDFLAGS___309 = 1001,
    _CS_LFS_LIBS___309 = 1002,
    _CS_LFS_LINTFLAGS___309 = 1003,
    _CS_LFS64_CFLAGS___309 = 1004,
    _CS_LFS64_LDFLAGS___309 = 1005,
    _CS_LFS64_LIBS___309 = 1006,
    _CS_LFS64_LINTFLAGS___309 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___309 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___309 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___309 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___309 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___309 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___309 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___309 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___309 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___309 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___309 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___309 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___309 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___309 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___309 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___309 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___309 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___309 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___309 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___309 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___309 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___309 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___309 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___309 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___309 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___309 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___309 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___309 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___309 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___309 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___309 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___309 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___309 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___309 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___309 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___309 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___309 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___309 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___309 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___309 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___309 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___309 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___309 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___309 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___309 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___309 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___309 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___309 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___309 = 1147,
    _CS_V6_ENV___309 = 1148,
    _CS_V7_ENV___309 = 1149
} ;
enum __anonenum_513775621___309 {
    DT_UNKNOWN___309 = 0,
    DT_FIFO___309 = 1,
    DT_CHR___309 = 2,
    DT_DIR___309 = 4,
    DT_BLK___309 = 6,
    DT_REG___309 = 8,
    DT_LNK___309 = 10,
    DT_SOCK___309 = 12,
    DT_WHT___309 = 14
} ;
enum __anonenum_77002343___309 {
    SI_ASYNCNL___309 = -60,
    SI_TKILL___309 = -6,
    SI_SIGIO___309 = -5,
    SI_ASYNCIO___309 = -4,
    SI_MESGQ___309 = -3,
    SI_TIMER___309 = -2,
    SI_QUEUE___309 = -1,
    SI_USER___309 = 0,
    SI_KERNEL___309 = 128
} ;
enum __anonenum_131038172___309 {
    ILL_ILLOPC___309 = 1,
    ILL_ILLOPN___309 = 2,
    ILL_ILLADR___309 = 3,
    ILL_ILLTRP___309 = 4,
    ILL_PRVOPC___309 = 5,
    ILL_PRVREG___309 = 6,
    ILL_COPROC___309 = 7,
    ILL_BADSTK___309 = 8
} ;
enum __anonenum_452038093___309 {
    FPE_INTDIV___309 = 1,
    FPE_INTOVF___309 = 2,
    FPE_FLTDIV___309 = 3,
    FPE_FLTOVF___309 = 4,
    FPE_FLTUND___309 = 5,
    FPE_FLTRES___309 = 6,
    FPE_FLTINV___309 = 7,
    FPE_FLTSUB___309 = 8
} ;
enum __anonenum_30976155___309 {
    SEGV_MAPERR___309 = 1,
    SEGV_ACCERR___309 = 2,
    SEGV_BNDERR___309 = 3,
    SEGV_PKUERR___309 = 4
} ;
enum __anonenum_1036286214___309 {
    BUS_ADRALN___309 = 1,
    BUS_ADRERR___309 = 2,
    BUS_OBJERR___309 = 3,
    BUS_MCEERR_AR___309 = 4,
    BUS_MCEERR_AO___309 = 5
} ;
enum __anonenum_493465559___309 {
    TRAP_BRKPT___309 = 1,
    TRAP_TRACE___309 = 2
} ;
enum __anonenum_23175539___309 {
    CLD_EXITED___309 = 1,
    CLD_KILLED___309 = 2,
    CLD_DUMPED___309 = 3,
    CLD_TRAPPED___309 = 4,
    CLD_STOPPED___309 = 5,
    CLD_CONTINUED___309 = 6
} ;
enum __anonenum_111643124___309 {
    POLL_IN___309 = 1,
    POLL_OUT___309 = 2,
    POLL_MSG___309 = 3,
    POLL_ERR___309 = 4,
    POLL_PRI___309 = 5,
    POLL_HUP___309 = 6
} ;
enum __anonenum_852341087___309 {
    SIGEV_SIGNAL___309 = 0,
    SIGEV_NONE___309 = 1,
    SIGEV_THREAD___309 = 2,
    SIGEV_THREAD_ID___309 = 4
} ;
enum __anonenum_451154152___309 {
    REG_R8___309 = 0,
    REG_R9___309 = 1,
    REG_R10___309 = 2,
    REG_R11___309 = 3,
    REG_R12___309 = 4,
    REG_R13___309 = 5,
    REG_R14___309 = 6,
    REG_R15___309 = 7,
    REG_RDI___309 = 8,
    REG_RSI___309 = 9,
    REG_RBP___309 = 10,
    REG_RBX___309 = 11,
    REG_RDX___309 = 12,
    REG_RAX___309 = 13,
    REG_RCX___309 = 14,
    REG_RSP___309 = 15,
    REG_RIP___309 = 16,
    REG_EFL___309 = 17,
    REG_CSGSFS___309 = 18,
    REG_ERR___309 = 19,
    REG_TRAPNO___309 = 20,
    REG_OLDMASK___309 = 21,
    REG_CR2___309 = 22
} ;
enum __anonenum_57186863___309 {
    SS_ONSTACK___309 = 1,
    SS_DISABLE___309 = 2
} ;
enum __anonenum_83571709___309 {
    MSG_OOB___309 = 1,
    MSG_PEEK___309 = 2,
    MSG_DONTROUTE___309 = 4,
    MSG_TRYHARD___309 = 4,
    MSG_CTRUNC___309 = 8,
    MSG_PROXY___309 = 16,
    MSG_TRUNC___309 = 32,
    MSG_DONTWAIT___309 = 64,
    MSG_EOR___309 = 128,
    MSG_WAITALL___309 = 256,
    MSG_FIN___309 = 512,
    MSG_SYN___309 = 1024,
    MSG_CONFIRM___309 = 2048,
    MSG_RST___309 = 4096,
    MSG_ERRQUEUE___309 = 8192,
    MSG_NOSIGNAL___309 = 16384,
    MSG_MORE___309 = 32768,
    MSG_WAITFORONE___309 = 65536,
    MSG_BATCH___309 = 262144,
    MSG_ZEROCOPY___309 = 67108864,
    MSG_FASTOPEN___309 = 536870912,
    MSG_CMSG_CLOEXEC___309 = 1073741824
} ;
enum __anonenum_617082774___309 {
    SCM_RIGHTS___309 = 1,
    SCM_CREDENTIALS___309 = 2
} ;
enum __anonenum_606441560___309 {
    SHUT_RD___309 = 0,
    SHUT_WR___309 = 1,
    SHUT_RDWR___309 = 2
} ;
enum __anonenum_681669233___309 {
    IPPROTO_IP___309 = 0,
    IPPROTO_ICMP___309 = 1,
    IPPROTO_IGMP___309 = 2,
    IPPROTO_IPIP___309 = 4,
    IPPROTO_TCP___309 = 6,
    IPPROTO_EGP___309 = 8,
    IPPROTO_PUP___309 = 12,
    IPPROTO_UDP___309 = 17,
    IPPROTO_IDP___309 = 22,
    IPPROTO_TP___309 = 29,
    IPPROTO_DCCP___309 = 33,
    IPPROTO_IPV6___309 = 41,
    IPPROTO_RSVP___309 = 46,
    IPPROTO_GRE___309 = 47,
    IPPROTO_ESP___309 = 50,
    IPPROTO_AH___309 = 51,
    IPPROTO_MTP___309 = 92,
    IPPROTO_BEETPH___309 = 94,
    IPPROTO_ENCAP___309 = 98,
    IPPROTO_PIM___309 = 103,
    IPPROTO_COMP___309 = 108,
    IPPROTO_SCTP___309 = 132,
    IPPROTO_UDPLITE___309 = 136,
    IPPROTO_MPLS___309 = 137,
    IPPROTO_RAW___309 = 255,
    IPPROTO_MAX___309 = 256
} ;
enum __anonenum_218739988___309 {
    IPPROTO_HOPOPTS___309 = 0,
    IPPROTO_ROUTING___309 = 43,
    IPPROTO_FRAGMENT___309 = 44,
    IPPROTO_ICMPV6___309 = 58,
    IPPROTO_NONE___309 = 59,
    IPPROTO_DSTOPTS___309 = 60,
    IPPROTO_MH___309 = 135
} ;
enum __anonenum_662268580___309 {
    IPPORT_ECHO___309 = 7,
    IPPORT_DISCARD___309 = 9,
    IPPORT_SYSTAT___309 = 11,
    IPPORT_DAYTIME___309 = 13,
    IPPORT_NETSTAT___309 = 15,
    IPPORT_FTP___309 = 21,
    IPPORT_TELNET___309 = 23,
    IPPORT_SMTP___309 = 25,
    IPPORT_TIMESERVER___309 = 37,
    IPPORT_NAMESERVER___309 = 42,
    IPPORT_WHOIS___309 = 43,
    IPPORT_MTP___309 = 57,
    IPPORT_TFTP___309 = 69,
    IPPORT_RJE___309 = 77,
    IPPORT_FINGER___309 = 79,
    IPPORT_TTYLINK___309 = 87,
    IPPORT_SUPDUP___309 = 95,
    IPPORT_EXECSERVER___309 = 512,
    IPPORT_LOGINSERVER___309 = 513,
    IPPORT_CMDSERVER___309 = 514,
    IPPORT_EFSSERVER___309 = 520,
    IPPORT_BIFFUDP___309 = 512,
    IPPORT_WHOSERVER___309 = 513,
    IPPORT_ROUTESERVER___309 = 520,
    IPPORT_RESERVED___309 = 1024,
    IPPORT_USERRESERVED___309 = 5000
} ;
enum __anonenum_788308992___309 {
    TCP_ESTABLISHED___309 = 1,
    TCP_SYN_SENT___309 = 2,
    TCP_SYN_RECV___309 = 3,
    TCP_FIN_WAIT1___309 = 4,
    TCP_FIN_WAIT2___309 = 5,
    TCP_TIME_WAIT___309 = 6,
    TCP_CLOSE___309 = 7,
    TCP_CLOSE_WAIT___309 = 8,
    TCP_LAST_ACK___309 = 9,
    TCP_LISTEN___309 = 10,
    TCP_CLOSING___309 = 11
} ;
enum __anonenum_221125648___309 {
    TCP_NO_QUEUE___309 = 0,
    TCP_RECV_QUEUE___309 = 1,
    TCP_SEND_QUEUE___309 = 2,
    TCP_QUEUES_NR___309 = 3
} ;
enum __anonenum_34415463___309 {
    PTHREAD_CREATE_JOINABLE___309 = 0,
    PTHREAD_CREATE_DETACHED___309 = 1
} ;
enum __anonenum_303612439___309 {
    PTHREAD_MUTEX_TIMED_NP___309 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___309 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___309 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___309 = 3,
    PTHREAD_MUTEX_NORMAL___309 = 0,
    PTHREAD_MUTEX_RECURSIVE___309 = 1,
    PTHREAD_MUTEX_ERRORCHECK___309 = 2,
    PTHREAD_MUTEX_DEFAULT___309 = 0,
    PTHREAD_MUTEX_FAST_NP___309 = 0
} ;
enum __anonenum_931900394___309 {
    PTHREAD_MUTEX_STALLED___309 = 0,
    PTHREAD_MUTEX_STALLED_NP___309 = 0,
    PTHREAD_MUTEX_ROBUST___309 = 1,
    PTHREAD_MUTEX_ROBUST_NP___309 = 1
} ;
enum __anonenum_205214487___309 {
    PTHREAD_PRIO_NONE___309 = 0,
    PTHREAD_PRIO_INHERIT___309 = 1,
    PTHREAD_PRIO_PROTECT___309 = 2
} ;
enum __anonenum_25043950___309 {
    PTHREAD_RWLOCK_PREFER_READER_NP___309 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___309 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___309 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___309 = 0
} ;
enum __anonenum_436439511___309 {
    PTHREAD_INHERIT_SCHED___309 = 0,
    PTHREAD_EXPLICIT_SCHED___309 = 1
} ;
enum __anonenum_998661166___309 {
    PTHREAD_SCOPE_SYSTEM___309 = 0,
    PTHREAD_SCOPE_PROCESS___309 = 1
} ;
enum __anonenum_146137331___309 {
    PTHREAD_PROCESS_PRIVATE___309 = 0,
    PTHREAD_PROCESS_SHARED___309 = 1
} ;
enum __anonenum_53396917___309 {
    PTHREAD_CANCEL_ENABLE___309 = 0,
    PTHREAD_CANCEL_DISABLE___309 = 1
} ;
enum __anonenum_904563783___309 {
    PTHREAD_CANCEL_DEFERRED___309 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___309 = 1
} ;
enum __anonenum_672052974___309 {
    SSL_CT_VALIDATION_PERMISSIVE___309 = 0,
    SSL_CT_VALIDATION_STRICT___309 = 1
} ;
enum __anonenum_34023289___30 {
    REMOTE_UNCONFIGURED___30 = 0,
    REMOTE_CONFIG___30 = 1,
    REMOTE_REMOTES___30 = 2,
    REMOTE_BRANCHES___30 = 3
} ;
enum __anonenum_437032235___310 {
    _PC_LINK_MAX___310 = 0,
    _PC_MAX_CANON___310 = 1,
    _PC_MAX_INPUT___310 = 2,
    _PC_NAME_MAX___310 = 3,
    _PC_PATH_MAX___310 = 4,
    _PC_PIPE_BUF___310 = 5,
    _PC_CHOWN_RESTRICTED___310 = 6,
    _PC_NO_TRUNC___310 = 7,
    _PC_VDISABLE___310 = 8,
    _PC_SYNC_IO___310 = 9,
    _PC_ASYNC_IO___310 = 10,
    _PC_PRIO_IO___310 = 11,
    _PC_SOCK_MAXBUF___310 = 12,
    _PC_FILESIZEBITS___310 = 13,
    _PC_REC_INCR_XFER_SIZE___310 = 14,
    _PC_REC_MAX_XFER_SIZE___310 = 15,
    _PC_REC_MIN_XFER_SIZE___310 = 16,
    _PC_REC_XFER_ALIGN___310 = 17,
    _PC_ALLOC_SIZE_MIN___310 = 18,
    _PC_SYMLINK_MAX___310 = 19,
    _PC_2_SYMLINKS___310 = 20
} ;
enum __anonenum_315186338___310 {
    _SC_ARG_MAX___310 = 0,
    _SC_CHILD_MAX___310 = 1,
    _SC_CLK_TCK___310 = 2,
    _SC_NGROUPS_MAX___310 = 3,
    _SC_OPEN_MAX___310 = 4,
    _SC_STREAM_MAX___310 = 5,
    _SC_TZNAME_MAX___310 = 6,
    _SC_JOB_CONTROL___310 = 7,
    _SC_SAVED_IDS___310 = 8,
    _SC_REALTIME_SIGNALS___310 = 9,
    _SC_PRIORITY_SCHEDULING___310 = 10,
    _SC_TIMERS___310 = 11,
    _SC_ASYNCHRONOUS_IO___310 = 12,
    _SC_PRIORITIZED_IO___310 = 13,
    _SC_SYNCHRONIZED_IO___310 = 14,
    _SC_FSYNC___310 = 15,
    _SC_MAPPED_FILES___310 = 16,
    _SC_MEMLOCK___310 = 17,
    _SC_MEMLOCK_RANGE___310 = 18,
    _SC_MEMORY_PROTECTION___310 = 19,
    _SC_MESSAGE_PASSING___310 = 20,
    _SC_SEMAPHORES___310 = 21,
    _SC_SHARED_MEMORY_OBJECTS___310 = 22,
    _SC_AIO_LISTIO_MAX___310 = 23,
    _SC_AIO_MAX___310 = 24,
    _SC_AIO_PRIO_DELTA_MAX___310 = 25,
    _SC_DELAYTIMER_MAX___310 = 26,
    _SC_MQ_OPEN_MAX___310 = 27,
    _SC_MQ_PRIO_MAX___310 = 28,
    _SC_VERSION___310 = 29,
    _SC_PAGESIZE___310 = 30,
    _SC_RTSIG_MAX___310 = 31,
    _SC_SEM_NSEMS_MAX___310 = 32,
    _SC_SEM_VALUE_MAX___310 = 33,
    _SC_SIGQUEUE_MAX___310 = 34,
    _SC_TIMER_MAX___310 = 35,
    _SC_BC_BASE_MAX___310 = 36,
    _SC_BC_DIM_MAX___310 = 37,
    _SC_BC_SCALE_MAX___310 = 38,
    _SC_BC_STRING_MAX___310 = 39,
    _SC_COLL_WEIGHTS_MAX___310 = 40,
    _SC_EQUIV_CLASS_MAX___310 = 41,
    _SC_EXPR_NEST_MAX___310 = 42,
    _SC_LINE_MAX___310 = 43,
    _SC_RE_DUP_MAX___310 = 44,
    _SC_CHARCLASS_NAME_MAX___310 = 45,
    _SC_2_VERSION___310 = 46,
    _SC_2_C_BIND___310 = 47,
    _SC_2_C_DEV___310 = 48,
    _SC_2_FORT_DEV___310 = 49,
    _SC_2_FORT_RUN___310 = 50,
    _SC_2_SW_DEV___310 = 51,
    _SC_2_LOCALEDEF___310 = 52,
    _SC_PII___310 = 53,
    _SC_PII_XTI___310 = 54,
    _SC_PII_SOCKET___310 = 55,
    _SC_PII_INTERNET___310 = 56,
    _SC_PII_OSI___310 = 57,
    _SC_POLL___310 = 58,
    _SC_SELECT___310 = 59,
    _SC_UIO_MAXIOV___310 = 60,
    _SC_IOV_MAX___310 = 60,
    _SC_PII_INTERNET_STREAM___310 = 61,
    _SC_PII_INTERNET_DGRAM___310 = 62,
    _SC_PII_OSI_COTS___310 = 63,
    _SC_PII_OSI_CLTS___310 = 64,
    _SC_PII_OSI_M___310 = 65,
    _SC_T_IOV_MAX___310 = 66,
    _SC_THREADS___310 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___310 = 68,
    _SC_GETGR_R_SIZE_MAX___310 = 69,
    _SC_GETPW_R_SIZE_MAX___310 = 70,
    _SC_LOGIN_NAME_MAX___310 = 71,
    _SC_TTY_NAME_MAX___310 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___310 = 73,
    _SC_THREAD_KEYS_MAX___310 = 74,
    _SC_THREAD_STACK_MIN___310 = 75,
    _SC_THREAD_THREADS_MAX___310 = 76,
    _SC_THREAD_ATTR_STACKADDR___310 = 77,
    _SC_THREAD_ATTR_STACKSIZE___310 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___310 = 79,
    _SC_THREAD_PRIO_INHERIT___310 = 80,
    _SC_THREAD_PRIO_PROTECT___310 = 81,
    _SC_THREAD_PROCESS_SHARED___310 = 82,
    _SC_NPROCESSORS_CONF___310 = 83,
    _SC_NPROCESSORS_ONLN___310 = 84,
    _SC_PHYS_PAGES___310 = 85,
    _SC_AVPHYS_PAGES___310 = 86,
    _SC_ATEXIT_MAX___310 = 87,
    _SC_PASS_MAX___310 = 88,
    _SC_XOPEN_VERSION___310 = 89,
    _SC_XOPEN_XCU_VERSION___310 = 90,
    _SC_XOPEN_UNIX___310 = 91,
    _SC_XOPEN_CRYPT___310 = 92,
    _SC_XOPEN_ENH_I18N___310 = 93,
    _SC_XOPEN_SHM___310 = 94,
    _SC_2_CHAR_TERM___310 = 95,
    _SC_2_C_VERSION___310 = 96,
    _SC_2_UPE___310 = 97,
    _SC_XOPEN_XPG2___310 = 98,
    _SC_XOPEN_XPG3___310 = 99,
    _SC_XOPEN_XPG4___310 = 100,
    _SC_CHAR_BIT___310 = 101,
    _SC_CHAR_MAX___310 = 102,
    _SC_CHAR_MIN___310 = 103,
    _SC_INT_MAX___310 = 104,
    _SC_INT_MIN___310 = 105,
    _SC_LONG_BIT___310 = 106,
    _SC_WORD_BIT___310 = 107,
    _SC_MB_LEN_MAX___310 = 108,
    _SC_NZERO___310 = 109,
    _SC_SSIZE_MAX___310 = 110,
    _SC_SCHAR_MAX___310 = 111,
    _SC_SCHAR_MIN___310 = 112,
    _SC_SHRT_MAX___310 = 113,
    _SC_SHRT_MIN___310 = 114,
    _SC_UCHAR_MAX___310 = 115,
    _SC_UINT_MAX___310 = 116,
    _SC_ULONG_MAX___310 = 117,
    _SC_USHRT_MAX___310 = 118,
    _SC_NL_ARGMAX___310 = 119,
    _SC_NL_LANGMAX___310 = 120,
    _SC_NL_MSGMAX___310 = 121,
    _SC_NL_NMAX___310 = 122,
    _SC_NL_SETMAX___310 = 123,
    _SC_NL_TEXTMAX___310 = 124,
    _SC_XBS5_ILP32_OFF32___310 = 125,
    _SC_XBS5_ILP32_OFFBIG___310 = 126,
    _SC_XBS5_LP64_OFF64___310 = 127,
    _SC_XBS5_LPBIG_OFFBIG___310 = 128,
    _SC_XOPEN_LEGACY___310 = 129,
    _SC_XOPEN_REALTIME___310 = 130,
    _SC_XOPEN_REALTIME_THREADS___310 = 131,
    _SC_ADVISORY_INFO___310 = 132,
    _SC_BARRIERS___310 = 133,
    _SC_BASE___310 = 134,
    _SC_C_LANG_SUPPORT___310 = 135,
    _SC_C_LANG_SUPPORT_R___310 = 136,
    _SC_CLOCK_SELECTION___310 = 137,
    _SC_CPUTIME___310 = 138,
    _SC_THREAD_CPUTIME___310 = 139,
    _SC_DEVICE_IO___310 = 140,
    _SC_DEVICE_SPECIFIC___310 = 141,
    _SC_DEVICE_SPECIFIC_R___310 = 142,
    _SC_FD_MGMT___310 = 143,
    _SC_FIFO___310 = 144,
    _SC_PIPE___310 = 145,
    _SC_FILE_ATTRIBUTES___310 = 146,
    _SC_FILE_LOCKING___310 = 147,
    _SC_FILE_SYSTEM___310 = 148,
    _SC_MONOTONIC_CLOCK___310 = 149,
    _SC_MULTI_PROCESS___310 = 150,
    _SC_SINGLE_PROCESS___310 = 151,
    _SC_NETWORKING___310 = 152,
    _SC_READER_WRITER_LOCKS___310 = 153,
    _SC_SPIN_LOCKS___310 = 154,
    _SC_REGEXP___310 = 155,
    _SC_REGEX_VERSION___310 = 156,
    _SC_SHELL___310 = 157,
    _SC_SIGNALS___310 = 158,
    _SC_SPAWN___310 = 159,
    _SC_SPORADIC_SERVER___310 = 160,
    _SC_THREAD_SPORADIC_SERVER___310 = 161,
    _SC_SYSTEM_DATABASE___310 = 162,
    _SC_SYSTEM_DATABASE_R___310 = 163,
    _SC_TIMEOUTS___310 = 164,
    _SC_TYPED_MEMORY_OBJECTS___310 = 165,
    _SC_USER_GROUPS___310 = 166,
    _SC_USER_GROUPS_R___310 = 167,
    _SC_2_PBS___310 = 168,
    _SC_2_PBS_ACCOUNTING___310 = 169,
    _SC_2_PBS_LOCATE___310 = 170,
    _SC_2_PBS_MESSAGE___310 = 171,
    _SC_2_PBS_TRACK___310 = 172,
    _SC_SYMLOOP_MAX___310 = 173,
    _SC_STREAMS___310 = 174,
    _SC_2_PBS_CHECKPOINT___310 = 175,
    _SC_V6_ILP32_OFF32___310 = 176,
    _SC_V6_ILP32_OFFBIG___310 = 177,
    _SC_V6_LP64_OFF64___310 = 178,
    _SC_V6_LPBIG_OFFBIG___310 = 179,
    _SC_HOST_NAME_MAX___310 = 180,
    _SC_TRACE___310 = 181,
    _SC_TRACE_EVENT_FILTER___310 = 182,
    _SC_TRACE_INHERIT___310 = 183,
    _SC_TRACE_LOG___310 = 184,
    _SC_LEVEL1_ICACHE_SIZE___310 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___310 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___310 = 187,
    _SC_LEVEL1_DCACHE_SIZE___310 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___310 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___310 = 190,
    _SC_LEVEL2_CACHE_SIZE___310 = 191,
    _SC_LEVEL2_CACHE_ASSOC___310 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___310 = 193,
    _SC_LEVEL3_CACHE_SIZE___310 = 194,
    _SC_LEVEL3_CACHE_ASSOC___310 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___310 = 196,
    _SC_LEVEL4_CACHE_SIZE___310 = 197,
    _SC_LEVEL4_CACHE_ASSOC___310 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___310 = 199,
    _SC_IPV6___310 = 235,
    _SC_RAW_SOCKETS___310 = 236,
    _SC_V7_ILP32_OFF32___310 = 237,
    _SC_V7_ILP32_OFFBIG___310 = 238,
    _SC_V7_LP64_OFF64___310 = 239,
    _SC_V7_LPBIG_OFFBIG___310 = 240,
    _SC_SS_REPL_MAX___310 = 241,
    _SC_TRACE_EVENT_NAME_MAX___310 = 242,
    _SC_TRACE_NAME_MAX___310 = 243,
    _SC_TRACE_SYS_MAX___310 = 244,
    _SC_TRACE_USER_EVENT_MAX___310 = 245,
    _SC_XOPEN_STREAMS___310 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___310 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___310 = 248
} ;
enum __anonenum_875524036___310 {
    _CS_PATH___310 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___310 = 1,
    _CS_GNU_LIBC_VERSION___310 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___310 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___310 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___310 = 5,
    _CS_LFS_CFLAGS___310 = 1000,
    _CS_LFS_LDFLAGS___310 = 1001,
    _CS_LFS_LIBS___310 = 1002,
    _CS_LFS_LINTFLAGS___310 = 1003,
    _CS_LFS64_CFLAGS___310 = 1004,
    _CS_LFS64_LDFLAGS___310 = 1005,
    _CS_LFS64_LIBS___310 = 1006,
    _CS_LFS64_LINTFLAGS___310 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___310 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___310 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___310 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___310 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___310 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___310 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___310 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___310 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___310 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___310 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___310 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___310 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___310 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___310 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___310 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___310 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___310 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___310 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___310 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___310 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___310 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___310 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___310 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___310 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___310 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___310 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___310 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___310 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___310 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___310 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___310 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___310 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___310 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___310 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___310 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___310 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___310 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___310 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___310 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___310 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___310 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___310 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___310 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___310 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___310 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___310 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___310 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___310 = 1147,
    _CS_V6_ENV___310 = 1148,
    _CS_V7_ENV___310 = 1149
} ;
enum __anonenum_513775621___310 {
    DT_UNKNOWN___310 = 0,
    DT_FIFO___310 = 1,
    DT_CHR___310 = 2,
    DT_DIR___310 = 4,
    DT_BLK___310 = 6,
    DT_REG___310 = 8,
    DT_LNK___310 = 10,
    DT_SOCK___310 = 12,
    DT_WHT___310 = 14
} ;
enum __anonenum_77002343___310 {
    SI_ASYNCNL___310 = -60,
    SI_TKILL___310 = -6,
    SI_SIGIO___310 = -5,
    SI_ASYNCIO___310 = -4,
    SI_MESGQ___310 = -3,
    SI_TIMER___310 = -2,
    SI_QUEUE___310 = -1,
    SI_USER___310 = 0,
    SI_KERNEL___310 = 128
} ;
enum __anonenum_131038172___310 {
    ILL_ILLOPC___310 = 1,
    ILL_ILLOPN___310 = 2,
    ILL_ILLADR___310 = 3,
    ILL_ILLTRP___310 = 4,
    ILL_PRVOPC___310 = 5,
    ILL_PRVREG___310 = 6,
    ILL_COPROC___310 = 7,
    ILL_BADSTK___310 = 8
} ;
enum __anonenum_452038093___310 {
    FPE_INTDIV___310 = 1,
    FPE_INTOVF___310 = 2,
    FPE_FLTDIV___310 = 3,
    FPE_FLTOVF___310 = 4,
    FPE_FLTUND___310 = 5,
    FPE_FLTRES___310 = 6,
    FPE_FLTINV___310 = 7,
    FPE_FLTSUB___310 = 8
} ;
enum __anonenum_30976155___310 {
    SEGV_MAPERR___310 = 1,
    SEGV_ACCERR___310 = 2,
    SEGV_BNDERR___310 = 3,
    SEGV_PKUERR___310 = 4
} ;
enum __anonenum_1036286214___310 {
    BUS_ADRALN___310 = 1,
    BUS_ADRERR___310 = 2,
    BUS_OBJERR___310 = 3,
    BUS_MCEERR_AR___310 = 4,
    BUS_MCEERR_AO___310 = 5
} ;
enum __anonenum_493465559___310 {
    TRAP_BRKPT___310 = 1,
    TRAP_TRACE___310 = 2
} ;
enum __anonenum_23175539___310 {
    CLD_EXITED___310 = 1,
    CLD_KILLED___310 = 2,
    CLD_DUMPED___310 = 3,
    CLD_TRAPPED___310 = 4,
    CLD_STOPPED___310 = 5,
    CLD_CONTINUED___310 = 6
} ;
enum __anonenum_111643124___310 {
    POLL_IN___310 = 1,
    POLL_OUT___310 = 2,
    POLL_MSG___310 = 3,
    POLL_ERR___310 = 4,
    POLL_PRI___310 = 5,
    POLL_HUP___310 = 6
} ;
enum __anonenum_852341087___310 {
    SIGEV_SIGNAL___310 = 0,
    SIGEV_NONE___310 = 1,
    SIGEV_THREAD___310 = 2,
    SIGEV_THREAD_ID___310 = 4
} ;
enum __anonenum_451154152___310 {
    REG_R8___310 = 0,
    REG_R9___310 = 1,
    REG_R10___310 = 2,
    REG_R11___310 = 3,
    REG_R12___310 = 4,
    REG_R13___310 = 5,
    REG_R14___310 = 6,
    REG_R15___310 = 7,
    REG_RDI___310 = 8,
    REG_RSI___310 = 9,
    REG_RBP___310 = 10,
    REG_RBX___310 = 11,
    REG_RDX___310 = 12,
    REG_RAX___310 = 13,
    REG_RCX___310 = 14,
    REG_RSP___310 = 15,
    REG_RIP___310 = 16,
    REG_EFL___310 = 17,
    REG_CSGSFS___310 = 18,
    REG_ERR___310 = 19,
    REG_TRAPNO___310 = 20,
    REG_OLDMASK___310 = 21,
    REG_CR2___310 = 22
} ;
enum __anonenum_57186863___310 {
    SS_ONSTACK___310 = 1,
    SS_DISABLE___310 = 2
} ;
enum __anonenum_83571709___310 {
    MSG_OOB___310 = 1,
    MSG_PEEK___310 = 2,
    MSG_DONTROUTE___310 = 4,
    MSG_TRYHARD___310 = 4,
    MSG_CTRUNC___310 = 8,
    MSG_PROXY___310 = 16,
    MSG_TRUNC___310 = 32,
    MSG_DONTWAIT___310 = 64,
    MSG_EOR___310 = 128,
    MSG_WAITALL___310 = 256,
    MSG_FIN___310 = 512,
    MSG_SYN___310 = 1024,
    MSG_CONFIRM___310 = 2048,
    MSG_RST___310 = 4096,
    MSG_ERRQUEUE___310 = 8192,
    MSG_NOSIGNAL___310 = 16384,
    MSG_MORE___310 = 32768,
    MSG_WAITFORONE___310 = 65536,
    MSG_BATCH___310 = 262144,
    MSG_ZEROCOPY___310 = 67108864,
    MSG_FASTOPEN___310 = 536870912,
    MSG_CMSG_CLOEXEC___310 = 1073741824
} ;
enum __anonenum_617082774___310 {
    SCM_RIGHTS___310 = 1,
    SCM_CREDENTIALS___310 = 2
} ;
enum __anonenum_606441560___310 {
    SHUT_RD___310 = 0,
    SHUT_WR___310 = 1,
    SHUT_RDWR___310 = 2
} ;
enum __anonenum_681669233___310 {
    IPPROTO_IP___310 = 0,
    IPPROTO_ICMP___310 = 1,
    IPPROTO_IGMP___310 = 2,
    IPPROTO_IPIP___310 = 4,
    IPPROTO_TCP___310 = 6,
    IPPROTO_EGP___310 = 8,
    IPPROTO_PUP___310 = 12,
    IPPROTO_UDP___310 = 17,
    IPPROTO_IDP___310 = 22,
    IPPROTO_TP___310 = 29,
    IPPROTO_DCCP___310 = 33,
    IPPROTO_IPV6___310 = 41,
    IPPROTO_RSVP___310 = 46,
    IPPROTO_GRE___310 = 47,
    IPPROTO_ESP___310 = 50,
    IPPROTO_AH___310 = 51,
    IPPROTO_MTP___310 = 92,
    IPPROTO_BEETPH___310 = 94,
    IPPROTO_ENCAP___310 = 98,
    IPPROTO_PIM___310 = 103,
    IPPROTO_COMP___310 = 108,
    IPPROTO_SCTP___310 = 132,
    IPPROTO_UDPLITE___310 = 136,
    IPPROTO_MPLS___310 = 137,
    IPPROTO_RAW___310 = 255,
    IPPROTO_MAX___310 = 256
} ;
enum __anonenum_218739988___310 {
    IPPROTO_HOPOPTS___310 = 0,
    IPPROTO_ROUTING___310 = 43,
    IPPROTO_FRAGMENT___310 = 44,
    IPPROTO_ICMPV6___310 = 58,
    IPPROTO_NONE___310 = 59,
    IPPROTO_DSTOPTS___310 = 60,
    IPPROTO_MH___310 = 135
} ;
enum __anonenum_662268580___310 {
    IPPORT_ECHO___310 = 7,
    IPPORT_DISCARD___310 = 9,
    IPPORT_SYSTAT___310 = 11,
    IPPORT_DAYTIME___310 = 13,
    IPPORT_NETSTAT___310 = 15,
    IPPORT_FTP___310 = 21,
    IPPORT_TELNET___310 = 23,
    IPPORT_SMTP___310 = 25,
    IPPORT_TIMESERVER___310 = 37,
    IPPORT_NAMESERVER___310 = 42,
    IPPORT_WHOIS___310 = 43,
    IPPORT_MTP___310 = 57,
    IPPORT_TFTP___310 = 69,
    IPPORT_RJE___310 = 77,
    IPPORT_FINGER___310 = 79,
    IPPORT_TTYLINK___310 = 87,
    IPPORT_SUPDUP___310 = 95,
    IPPORT_EXECSERVER___310 = 512,
    IPPORT_LOGINSERVER___310 = 513,
    IPPORT_CMDSERVER___310 = 514,
    IPPORT_EFSSERVER___310 = 520,
    IPPORT_BIFFUDP___310 = 512,
    IPPORT_WHOSERVER___310 = 513,
    IPPORT_ROUTESERVER___310 = 520,
    IPPORT_RESERVED___310 = 1024,
    IPPORT_USERRESERVED___310 = 5000
} ;
enum __anonenum_788308992___310 {
    TCP_ESTABLISHED___310 = 1,
    TCP_SYN_SENT___310 = 2,
    TCP_SYN_RECV___310 = 3,
    TCP_FIN_WAIT1___310 = 4,
    TCP_FIN_WAIT2___310 = 5,
    TCP_TIME_WAIT___310 = 6,
    TCP_CLOSE___310 = 7,
    TCP_CLOSE_WAIT___310 = 8,
    TCP_LAST_ACK___310 = 9,
    TCP_LISTEN___310 = 10,
    TCP_CLOSING___310 = 11
} ;
enum __anonenum_221125648___310 {
    TCP_NO_QUEUE___310 = 0,
    TCP_RECV_QUEUE___310 = 1,
    TCP_SEND_QUEUE___310 = 2,
    TCP_QUEUES_NR___310 = 3
} ;
enum __anonenum_34415463___310 {
    PTHREAD_CREATE_JOINABLE___310 = 0,
    PTHREAD_CREATE_DETACHED___310 = 1
} ;
enum __anonenum_303612439___310 {
    PTHREAD_MUTEX_TIMED_NP___310 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___310 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___310 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___310 = 3,
    PTHREAD_MUTEX_NORMAL___310 = 0,
    PTHREAD_MUTEX_RECURSIVE___310 = 1,
    PTHREAD_MUTEX_ERRORCHECK___310 = 2,
    PTHREAD_MUTEX_DEFAULT___310 = 0,
    PTHREAD_MUTEX_FAST_NP___310 = 0
} ;
enum __anonenum_931900394___310 {
    PTHREAD_MUTEX_STALLED___310 = 0,
    PTHREAD_MUTEX_STALLED_NP___310 = 0,
    PTHREAD_MUTEX_ROBUST___310 = 1,
    PTHREAD_MUTEX_ROBUST_NP___310 = 1
} ;
enum __anonenum_205214487___310 {
    PTHREAD_PRIO_NONE___310 = 0,
    PTHREAD_PRIO_INHERIT___310 = 1,
    PTHREAD_PRIO_PROTECT___310 = 2
} ;
enum __anonenum_25043950___310 {
    PTHREAD_RWLOCK_PREFER_READER_NP___310 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___310 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___310 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___310 = 0
} ;
enum __anonenum_436439511___310 {
    PTHREAD_INHERIT_SCHED___310 = 0,
    PTHREAD_EXPLICIT_SCHED___310 = 1
} ;
enum __anonenum_998661166___310 {
    PTHREAD_SCOPE_SYSTEM___310 = 0,
    PTHREAD_SCOPE_PROCESS___310 = 1
} ;
enum __anonenum_146137331___310 {
    PTHREAD_PROCESS_PRIVATE___310 = 0,
    PTHREAD_PROCESS_SHARED___310 = 1
} ;
enum __anonenum_53396917___310 {
    PTHREAD_CANCEL_ENABLE___310 = 0,
    PTHREAD_CANCEL_DISABLE___310 = 1
} ;
enum __anonenum_904563783___310 {
    PTHREAD_CANCEL_DEFERRED___310 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___310 = 1
} ;
enum __anonenum_672052974___310 {
    SSL_CT_VALIDATION_PERMISSIVE___310 = 0,
    SSL_CT_VALIDATION_STRICT___310 = 1
} ;
enum __anonenum_34023289___31 {
    REMOTE_UNCONFIGURED___31 = 0,
    REMOTE_CONFIG___31 = 1,
    REMOTE_REMOTES___31 = 2,
    REMOTE_BRANCHES___31 = 3
} ;
enum __anonenum_561748495___24 {
    RECURSE_SUBMODULES_ONLY___24 = -5,
    RECURSE_SUBMODULES_CHECK___24 = -4,
    RECURSE_SUBMODULES_ERROR___24 = -3,
    RECURSE_SUBMODULES_NONE___24 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___24 = -1,
    RECURSE_SUBMODULES_OFF___24 = 0,
    RECURSE_SUBMODULES_DEFAULT___24 = 1,
    RECURSE_SUBMODULES_ON___24 = 2
} ;
enum __anonenum_924703984 {
    TAGS_UNSET = 0,
    TAGS_DEFAULT = 1,
    TAGS_SET = 2
} ;
struct refname_hash_entry {
   struct hashmap_entry ent ;
   struct object_id oid ;
   int ignore ;
   char refname[] ;
};
struct fetch_head {
   FILE *fp ;
   struct strbuf buf ;
};
struct remote_group_data {
   char const   *name ;
   struct string_list *list ;
};
struct parallel_fetch_state {
   char const   **argv ;
   struct string_list *remotes ;
   int next ;
   int result ;
};
enum __anonenum_437032235___311 {
    _PC_LINK_MAX___311 = 0,
    _PC_MAX_CANON___311 = 1,
    _PC_MAX_INPUT___311 = 2,
    _PC_NAME_MAX___311 = 3,
    _PC_PATH_MAX___311 = 4,
    _PC_PIPE_BUF___311 = 5,
    _PC_CHOWN_RESTRICTED___311 = 6,
    _PC_NO_TRUNC___311 = 7,
    _PC_VDISABLE___311 = 8,
    _PC_SYNC_IO___311 = 9,
    _PC_ASYNC_IO___311 = 10,
    _PC_PRIO_IO___311 = 11,
    _PC_SOCK_MAXBUF___311 = 12,
    _PC_FILESIZEBITS___311 = 13,
    _PC_REC_INCR_XFER_SIZE___311 = 14,
    _PC_REC_MAX_XFER_SIZE___311 = 15,
    _PC_REC_MIN_XFER_SIZE___311 = 16,
    _PC_REC_XFER_ALIGN___311 = 17,
    _PC_ALLOC_SIZE_MIN___311 = 18,
    _PC_SYMLINK_MAX___311 = 19,
    _PC_2_SYMLINKS___311 = 20
} ;
enum __anonenum_315186338___311 {
    _SC_ARG_MAX___311 = 0,
    _SC_CHILD_MAX___311 = 1,
    _SC_CLK_TCK___311 = 2,
    _SC_NGROUPS_MAX___311 = 3,
    _SC_OPEN_MAX___311 = 4,
    _SC_STREAM_MAX___311 = 5,
    _SC_TZNAME_MAX___311 = 6,
    _SC_JOB_CONTROL___311 = 7,
    _SC_SAVED_IDS___311 = 8,
    _SC_REALTIME_SIGNALS___311 = 9,
    _SC_PRIORITY_SCHEDULING___311 = 10,
    _SC_TIMERS___311 = 11,
    _SC_ASYNCHRONOUS_IO___311 = 12,
    _SC_PRIORITIZED_IO___311 = 13,
    _SC_SYNCHRONIZED_IO___311 = 14,
    _SC_FSYNC___311 = 15,
    _SC_MAPPED_FILES___311 = 16,
    _SC_MEMLOCK___311 = 17,
    _SC_MEMLOCK_RANGE___311 = 18,
    _SC_MEMORY_PROTECTION___311 = 19,
    _SC_MESSAGE_PASSING___311 = 20,
    _SC_SEMAPHORES___311 = 21,
    _SC_SHARED_MEMORY_OBJECTS___311 = 22,
    _SC_AIO_LISTIO_MAX___311 = 23,
    _SC_AIO_MAX___311 = 24,
    _SC_AIO_PRIO_DELTA_MAX___311 = 25,
    _SC_DELAYTIMER_MAX___311 = 26,
    _SC_MQ_OPEN_MAX___311 = 27,
    _SC_MQ_PRIO_MAX___311 = 28,
    _SC_VERSION___311 = 29,
    _SC_PAGESIZE___311 = 30,
    _SC_RTSIG_MAX___311 = 31,
    _SC_SEM_NSEMS_MAX___311 = 32,
    _SC_SEM_VALUE_MAX___311 = 33,
    _SC_SIGQUEUE_MAX___311 = 34,
    _SC_TIMER_MAX___311 = 35,
    _SC_BC_BASE_MAX___311 = 36,
    _SC_BC_DIM_MAX___311 = 37,
    _SC_BC_SCALE_MAX___311 = 38,
    _SC_BC_STRING_MAX___311 = 39,
    _SC_COLL_WEIGHTS_MAX___311 = 40,
    _SC_EQUIV_CLASS_MAX___311 = 41,
    _SC_EXPR_NEST_MAX___311 = 42,
    _SC_LINE_MAX___311 = 43,
    _SC_RE_DUP_MAX___311 = 44,
    _SC_CHARCLASS_NAME_MAX___311 = 45,
    _SC_2_VERSION___311 = 46,
    _SC_2_C_BIND___311 = 47,
    _SC_2_C_DEV___311 = 48,
    _SC_2_FORT_DEV___311 = 49,
    _SC_2_FORT_RUN___311 = 50,
    _SC_2_SW_DEV___311 = 51,
    _SC_2_LOCALEDEF___311 = 52,
    _SC_PII___311 = 53,
    _SC_PII_XTI___311 = 54,
    _SC_PII_SOCKET___311 = 55,
    _SC_PII_INTERNET___311 = 56,
    _SC_PII_OSI___311 = 57,
    _SC_POLL___311 = 58,
    _SC_SELECT___311 = 59,
    _SC_UIO_MAXIOV___311 = 60,
    _SC_IOV_MAX___311 = 60,
    _SC_PII_INTERNET_STREAM___311 = 61,
    _SC_PII_INTERNET_DGRAM___311 = 62,
    _SC_PII_OSI_COTS___311 = 63,
    _SC_PII_OSI_CLTS___311 = 64,
    _SC_PII_OSI_M___311 = 65,
    _SC_T_IOV_MAX___311 = 66,
    _SC_THREADS___311 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___311 = 68,
    _SC_GETGR_R_SIZE_MAX___311 = 69,
    _SC_GETPW_R_SIZE_MAX___311 = 70,
    _SC_LOGIN_NAME_MAX___311 = 71,
    _SC_TTY_NAME_MAX___311 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___311 = 73,
    _SC_THREAD_KEYS_MAX___311 = 74,
    _SC_THREAD_STACK_MIN___311 = 75,
    _SC_THREAD_THREADS_MAX___311 = 76,
    _SC_THREAD_ATTR_STACKADDR___311 = 77,
    _SC_THREAD_ATTR_STACKSIZE___311 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___311 = 79,
    _SC_THREAD_PRIO_INHERIT___311 = 80,
    _SC_THREAD_PRIO_PROTECT___311 = 81,
    _SC_THREAD_PROCESS_SHARED___311 = 82,
    _SC_NPROCESSORS_CONF___311 = 83,
    _SC_NPROCESSORS_ONLN___311 = 84,
    _SC_PHYS_PAGES___311 = 85,
    _SC_AVPHYS_PAGES___311 = 86,
    _SC_ATEXIT_MAX___311 = 87,
    _SC_PASS_MAX___311 = 88,
    _SC_XOPEN_VERSION___311 = 89,
    _SC_XOPEN_XCU_VERSION___311 = 90,
    _SC_XOPEN_UNIX___311 = 91,
    _SC_XOPEN_CRYPT___311 = 92,
    _SC_XOPEN_ENH_I18N___311 = 93,
    _SC_XOPEN_SHM___311 = 94,
    _SC_2_CHAR_TERM___311 = 95,
    _SC_2_C_VERSION___311 = 96,
    _SC_2_UPE___311 = 97,
    _SC_XOPEN_XPG2___311 = 98,
    _SC_XOPEN_XPG3___311 = 99,
    _SC_XOPEN_XPG4___311 = 100,
    _SC_CHAR_BIT___311 = 101,
    _SC_CHAR_MAX___311 = 102,
    _SC_CHAR_MIN___311 = 103,
    _SC_INT_MAX___311 = 104,
    _SC_INT_MIN___311 = 105,
    _SC_LONG_BIT___311 = 106,
    _SC_WORD_BIT___311 = 107,
    _SC_MB_LEN_MAX___311 = 108,
    _SC_NZERO___311 = 109,
    _SC_SSIZE_MAX___311 = 110,
    _SC_SCHAR_MAX___311 = 111,
    _SC_SCHAR_MIN___311 = 112,
    _SC_SHRT_MAX___311 = 113,
    _SC_SHRT_MIN___311 = 114,
    _SC_UCHAR_MAX___311 = 115,
    _SC_UINT_MAX___311 = 116,
    _SC_ULONG_MAX___311 = 117,
    _SC_USHRT_MAX___311 = 118,
    _SC_NL_ARGMAX___311 = 119,
    _SC_NL_LANGMAX___311 = 120,
    _SC_NL_MSGMAX___311 = 121,
    _SC_NL_NMAX___311 = 122,
    _SC_NL_SETMAX___311 = 123,
    _SC_NL_TEXTMAX___311 = 124,
    _SC_XBS5_ILP32_OFF32___311 = 125,
    _SC_XBS5_ILP32_OFFBIG___311 = 126,
    _SC_XBS5_LP64_OFF64___311 = 127,
    _SC_XBS5_LPBIG_OFFBIG___311 = 128,
    _SC_XOPEN_LEGACY___311 = 129,
    _SC_XOPEN_REALTIME___311 = 130,
    _SC_XOPEN_REALTIME_THREADS___311 = 131,
    _SC_ADVISORY_INFO___311 = 132,
    _SC_BARRIERS___311 = 133,
    _SC_BASE___311 = 134,
    _SC_C_LANG_SUPPORT___311 = 135,
    _SC_C_LANG_SUPPORT_R___311 = 136,
    _SC_CLOCK_SELECTION___311 = 137,
    _SC_CPUTIME___311 = 138,
    _SC_THREAD_CPUTIME___311 = 139,
    _SC_DEVICE_IO___311 = 140,
    _SC_DEVICE_SPECIFIC___311 = 141,
    _SC_DEVICE_SPECIFIC_R___311 = 142,
    _SC_FD_MGMT___311 = 143,
    _SC_FIFO___311 = 144,
    _SC_PIPE___311 = 145,
    _SC_FILE_ATTRIBUTES___311 = 146,
    _SC_FILE_LOCKING___311 = 147,
    _SC_FILE_SYSTEM___311 = 148,
    _SC_MONOTONIC_CLOCK___311 = 149,
    _SC_MULTI_PROCESS___311 = 150,
    _SC_SINGLE_PROCESS___311 = 151,
    _SC_NETWORKING___311 = 152,
    _SC_READER_WRITER_LOCKS___311 = 153,
    _SC_SPIN_LOCKS___311 = 154,
    _SC_REGEXP___311 = 155,
    _SC_REGEX_VERSION___311 = 156,
    _SC_SHELL___311 = 157,
    _SC_SIGNALS___311 = 158,
    _SC_SPAWN___311 = 159,
    _SC_SPORADIC_SERVER___311 = 160,
    _SC_THREAD_SPORADIC_SERVER___311 = 161,
    _SC_SYSTEM_DATABASE___311 = 162,
    _SC_SYSTEM_DATABASE_R___311 = 163,
    _SC_TIMEOUTS___311 = 164,
    _SC_TYPED_MEMORY_OBJECTS___311 = 165,
    _SC_USER_GROUPS___311 = 166,
    _SC_USER_GROUPS_R___311 = 167,
    _SC_2_PBS___311 = 168,
    _SC_2_PBS_ACCOUNTING___311 = 169,
    _SC_2_PBS_LOCATE___311 = 170,
    _SC_2_PBS_MESSAGE___311 = 171,
    _SC_2_PBS_TRACK___311 = 172,
    _SC_SYMLOOP_MAX___311 = 173,
    _SC_STREAMS___311 = 174,
    _SC_2_PBS_CHECKPOINT___311 = 175,
    _SC_V6_ILP32_OFF32___311 = 176,
    _SC_V6_ILP32_OFFBIG___311 = 177,
    _SC_V6_LP64_OFF64___311 = 178,
    _SC_V6_LPBIG_OFFBIG___311 = 179,
    _SC_HOST_NAME_MAX___311 = 180,
    _SC_TRACE___311 = 181,
    _SC_TRACE_EVENT_FILTER___311 = 182,
    _SC_TRACE_INHERIT___311 = 183,
    _SC_TRACE_LOG___311 = 184,
    _SC_LEVEL1_ICACHE_SIZE___311 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___311 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___311 = 187,
    _SC_LEVEL1_DCACHE_SIZE___311 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___311 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___311 = 190,
    _SC_LEVEL2_CACHE_SIZE___311 = 191,
    _SC_LEVEL2_CACHE_ASSOC___311 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___311 = 193,
    _SC_LEVEL3_CACHE_SIZE___311 = 194,
    _SC_LEVEL3_CACHE_ASSOC___311 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___311 = 196,
    _SC_LEVEL4_CACHE_SIZE___311 = 197,
    _SC_LEVEL4_CACHE_ASSOC___311 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___311 = 199,
    _SC_IPV6___311 = 235,
    _SC_RAW_SOCKETS___311 = 236,
    _SC_V7_ILP32_OFF32___311 = 237,
    _SC_V7_ILP32_OFFBIG___311 = 238,
    _SC_V7_LP64_OFF64___311 = 239,
    _SC_V7_LPBIG_OFFBIG___311 = 240,
    _SC_SS_REPL_MAX___311 = 241,
    _SC_TRACE_EVENT_NAME_MAX___311 = 242,
    _SC_TRACE_NAME_MAX___311 = 243,
    _SC_TRACE_SYS_MAX___311 = 244,
    _SC_TRACE_USER_EVENT_MAX___311 = 245,
    _SC_XOPEN_STREAMS___311 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___311 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___311 = 248
} ;
enum __anonenum_875524036___311 {
    _CS_PATH___311 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___311 = 1,
    _CS_GNU_LIBC_VERSION___311 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___311 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___311 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___311 = 5,
    _CS_LFS_CFLAGS___311 = 1000,
    _CS_LFS_LDFLAGS___311 = 1001,
    _CS_LFS_LIBS___311 = 1002,
    _CS_LFS_LINTFLAGS___311 = 1003,
    _CS_LFS64_CFLAGS___311 = 1004,
    _CS_LFS64_LDFLAGS___311 = 1005,
    _CS_LFS64_LIBS___311 = 1006,
    _CS_LFS64_LINTFLAGS___311 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___311 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___311 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___311 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___311 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___311 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___311 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___311 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___311 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___311 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___311 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___311 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___311 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___311 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___311 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___311 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___311 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___311 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___311 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___311 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___311 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___311 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___311 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___311 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___311 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___311 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___311 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___311 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___311 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___311 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___311 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___311 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___311 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___311 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___311 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___311 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___311 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___311 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___311 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___311 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___311 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___311 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___311 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___311 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___311 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___311 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___311 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___311 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___311 = 1147,
    _CS_V6_ENV___311 = 1148,
    _CS_V7_ENV___311 = 1149
} ;
enum __anonenum_513775621___311 {
    DT_UNKNOWN___311 = 0,
    DT_FIFO___311 = 1,
    DT_CHR___311 = 2,
    DT_DIR___311 = 4,
    DT_BLK___311 = 6,
    DT_REG___311 = 8,
    DT_LNK___311 = 10,
    DT_SOCK___311 = 12,
    DT_WHT___311 = 14
} ;
enum __anonenum_77002343___311 {
    SI_ASYNCNL___311 = -60,
    SI_TKILL___311 = -6,
    SI_SIGIO___311 = -5,
    SI_ASYNCIO___311 = -4,
    SI_MESGQ___311 = -3,
    SI_TIMER___311 = -2,
    SI_QUEUE___311 = -1,
    SI_USER___311 = 0,
    SI_KERNEL___311 = 128
} ;
enum __anonenum_131038172___311 {
    ILL_ILLOPC___311 = 1,
    ILL_ILLOPN___311 = 2,
    ILL_ILLADR___311 = 3,
    ILL_ILLTRP___311 = 4,
    ILL_PRVOPC___311 = 5,
    ILL_PRVREG___311 = 6,
    ILL_COPROC___311 = 7,
    ILL_BADSTK___311 = 8
} ;
enum __anonenum_452038093___311 {
    FPE_INTDIV___311 = 1,
    FPE_INTOVF___311 = 2,
    FPE_FLTDIV___311 = 3,
    FPE_FLTOVF___311 = 4,
    FPE_FLTUND___311 = 5,
    FPE_FLTRES___311 = 6,
    FPE_FLTINV___311 = 7,
    FPE_FLTSUB___311 = 8
} ;
enum __anonenum_30976155___311 {
    SEGV_MAPERR___311 = 1,
    SEGV_ACCERR___311 = 2,
    SEGV_BNDERR___311 = 3,
    SEGV_PKUERR___311 = 4
} ;
enum __anonenum_1036286214___311 {
    BUS_ADRALN___311 = 1,
    BUS_ADRERR___311 = 2,
    BUS_OBJERR___311 = 3,
    BUS_MCEERR_AR___311 = 4,
    BUS_MCEERR_AO___311 = 5
} ;
enum __anonenum_493465559___311 {
    TRAP_BRKPT___311 = 1,
    TRAP_TRACE___311 = 2
} ;
enum __anonenum_23175539___311 {
    CLD_EXITED___311 = 1,
    CLD_KILLED___311 = 2,
    CLD_DUMPED___311 = 3,
    CLD_TRAPPED___311 = 4,
    CLD_STOPPED___311 = 5,
    CLD_CONTINUED___311 = 6
} ;
enum __anonenum_111643124___311 {
    POLL_IN___311 = 1,
    POLL_OUT___311 = 2,
    POLL_MSG___311 = 3,
    POLL_ERR___311 = 4,
    POLL_PRI___311 = 5,
    POLL_HUP___311 = 6
} ;
enum __anonenum_852341087___311 {
    SIGEV_SIGNAL___311 = 0,
    SIGEV_NONE___311 = 1,
    SIGEV_THREAD___311 = 2,
    SIGEV_THREAD_ID___311 = 4
} ;
enum __anonenum_451154152___311 {
    REG_R8___311 = 0,
    REG_R9___311 = 1,
    REG_R10___311 = 2,
    REG_R11___311 = 3,
    REG_R12___311 = 4,
    REG_R13___311 = 5,
    REG_R14___311 = 6,
    REG_R15___311 = 7,
    REG_RDI___311 = 8,
    REG_RSI___311 = 9,
    REG_RBP___311 = 10,
    REG_RBX___311 = 11,
    REG_RDX___311 = 12,
    REG_RAX___311 = 13,
    REG_RCX___311 = 14,
    REG_RSP___311 = 15,
    REG_RIP___311 = 16,
    REG_EFL___311 = 17,
    REG_CSGSFS___311 = 18,
    REG_ERR___311 = 19,
    REG_TRAPNO___311 = 20,
    REG_OLDMASK___311 = 21,
    REG_CR2___311 = 22
} ;
enum __anonenum_57186863___311 {
    SS_ONSTACK___311 = 1,
    SS_DISABLE___311 = 2
} ;
enum __anonenum_83571709___311 {
    MSG_OOB___311 = 1,
    MSG_PEEK___311 = 2,
    MSG_DONTROUTE___311 = 4,
    MSG_TRYHARD___311 = 4,
    MSG_CTRUNC___311 = 8,
    MSG_PROXY___311 = 16,
    MSG_TRUNC___311 = 32,
    MSG_DONTWAIT___311 = 64,
    MSG_EOR___311 = 128,
    MSG_WAITALL___311 = 256,
    MSG_FIN___311 = 512,
    MSG_SYN___311 = 1024,
    MSG_CONFIRM___311 = 2048,
    MSG_RST___311 = 4096,
    MSG_ERRQUEUE___311 = 8192,
    MSG_NOSIGNAL___311 = 16384,
    MSG_MORE___311 = 32768,
    MSG_WAITFORONE___311 = 65536,
    MSG_BATCH___311 = 262144,
    MSG_ZEROCOPY___311 = 67108864,
    MSG_FASTOPEN___311 = 536870912,
    MSG_CMSG_CLOEXEC___311 = 1073741824
} ;
enum __anonenum_617082774___311 {
    SCM_RIGHTS___311 = 1,
    SCM_CREDENTIALS___311 = 2
} ;
enum __anonenum_606441560___311 {
    SHUT_RD___311 = 0,
    SHUT_WR___311 = 1,
    SHUT_RDWR___311 = 2
} ;
enum __anonenum_681669233___311 {
    IPPROTO_IP___311 = 0,
    IPPROTO_ICMP___311 = 1,
    IPPROTO_IGMP___311 = 2,
    IPPROTO_IPIP___311 = 4,
    IPPROTO_TCP___311 = 6,
    IPPROTO_EGP___311 = 8,
    IPPROTO_PUP___311 = 12,
    IPPROTO_UDP___311 = 17,
    IPPROTO_IDP___311 = 22,
    IPPROTO_TP___311 = 29,
    IPPROTO_DCCP___311 = 33,
    IPPROTO_IPV6___311 = 41,
    IPPROTO_RSVP___311 = 46,
    IPPROTO_GRE___311 = 47,
    IPPROTO_ESP___311 = 50,
    IPPROTO_AH___311 = 51,
    IPPROTO_MTP___311 = 92,
    IPPROTO_BEETPH___311 = 94,
    IPPROTO_ENCAP___311 = 98,
    IPPROTO_PIM___311 = 103,
    IPPROTO_COMP___311 = 108,
    IPPROTO_SCTP___311 = 132,
    IPPROTO_UDPLITE___311 = 136,
    IPPROTO_MPLS___311 = 137,
    IPPROTO_RAW___311 = 255,
    IPPROTO_MAX___311 = 256
} ;
enum __anonenum_218739988___311 {
    IPPROTO_HOPOPTS___311 = 0,
    IPPROTO_ROUTING___311 = 43,
    IPPROTO_FRAGMENT___311 = 44,
    IPPROTO_ICMPV6___311 = 58,
    IPPROTO_NONE___311 = 59,
    IPPROTO_DSTOPTS___311 = 60,
    IPPROTO_MH___311 = 135
} ;
enum __anonenum_662268580___311 {
    IPPORT_ECHO___311 = 7,
    IPPORT_DISCARD___311 = 9,
    IPPORT_SYSTAT___311 = 11,
    IPPORT_DAYTIME___311 = 13,
    IPPORT_NETSTAT___311 = 15,
    IPPORT_FTP___311 = 21,
    IPPORT_TELNET___311 = 23,
    IPPORT_SMTP___311 = 25,
    IPPORT_TIMESERVER___311 = 37,
    IPPORT_NAMESERVER___311 = 42,
    IPPORT_WHOIS___311 = 43,
    IPPORT_MTP___311 = 57,
    IPPORT_TFTP___311 = 69,
    IPPORT_RJE___311 = 77,
    IPPORT_FINGER___311 = 79,
    IPPORT_TTYLINK___311 = 87,
    IPPORT_SUPDUP___311 = 95,
    IPPORT_EXECSERVER___311 = 512,
    IPPORT_LOGINSERVER___311 = 513,
    IPPORT_CMDSERVER___311 = 514,
    IPPORT_EFSSERVER___311 = 520,
    IPPORT_BIFFUDP___311 = 512,
    IPPORT_WHOSERVER___311 = 513,
    IPPORT_ROUTESERVER___311 = 520,
    IPPORT_RESERVED___311 = 1024,
    IPPORT_USERRESERVED___311 = 5000
} ;
enum __anonenum_788308992___311 {
    TCP_ESTABLISHED___311 = 1,
    TCP_SYN_SENT___311 = 2,
    TCP_SYN_RECV___311 = 3,
    TCP_FIN_WAIT1___311 = 4,
    TCP_FIN_WAIT2___311 = 5,
    TCP_TIME_WAIT___311 = 6,
    TCP_CLOSE___311 = 7,
    TCP_CLOSE_WAIT___311 = 8,
    TCP_LAST_ACK___311 = 9,
    TCP_LISTEN___311 = 10,
    TCP_CLOSING___311 = 11
} ;
enum __anonenum_221125648___311 {
    TCP_NO_QUEUE___311 = 0,
    TCP_RECV_QUEUE___311 = 1,
    TCP_SEND_QUEUE___311 = 2,
    TCP_QUEUES_NR___311 = 3
} ;
enum __anonenum_34415463___311 {
    PTHREAD_CREATE_JOINABLE___311 = 0,
    PTHREAD_CREATE_DETACHED___311 = 1
} ;
enum __anonenum_303612439___311 {
    PTHREAD_MUTEX_TIMED_NP___311 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___311 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___311 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___311 = 3,
    PTHREAD_MUTEX_NORMAL___311 = 0,
    PTHREAD_MUTEX_RECURSIVE___311 = 1,
    PTHREAD_MUTEX_ERRORCHECK___311 = 2,
    PTHREAD_MUTEX_DEFAULT___311 = 0,
    PTHREAD_MUTEX_FAST_NP___311 = 0
} ;
enum __anonenum_931900394___311 {
    PTHREAD_MUTEX_STALLED___311 = 0,
    PTHREAD_MUTEX_STALLED_NP___311 = 0,
    PTHREAD_MUTEX_ROBUST___311 = 1,
    PTHREAD_MUTEX_ROBUST_NP___311 = 1
} ;
enum __anonenum_205214487___311 {
    PTHREAD_PRIO_NONE___311 = 0,
    PTHREAD_PRIO_INHERIT___311 = 1,
    PTHREAD_PRIO_PROTECT___311 = 2
} ;
enum __anonenum_25043950___311 {
    PTHREAD_RWLOCK_PREFER_READER_NP___311 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___311 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___311 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___311 = 0
} ;
enum __anonenum_436439511___311 {
    PTHREAD_INHERIT_SCHED___311 = 0,
    PTHREAD_EXPLICIT_SCHED___311 = 1
} ;
enum __anonenum_998661166___311 {
    PTHREAD_SCOPE_SYSTEM___311 = 0,
    PTHREAD_SCOPE_PROCESS___311 = 1
} ;
enum __anonenum_146137331___311 {
    PTHREAD_PROCESS_PRIVATE___311 = 0,
    PTHREAD_PROCESS_SHARED___311 = 1
} ;
enum __anonenum_53396917___311 {
    PTHREAD_CANCEL_ENABLE___311 = 0,
    PTHREAD_CANCEL_DISABLE___311 = 1
} ;
enum __anonenum_904563783___311 {
    PTHREAD_CANCEL_DEFERRED___311 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___311 = 1
} ;
enum __anonenum_672052974___311 {
    SSL_CT_VALIDATION_PERMISSIVE___311 = 0,
    SSL_CT_VALIDATION_STRICT___311 = 1
} ;
enum __anonenum_437032235___312 {
    _PC_LINK_MAX___312 = 0,
    _PC_MAX_CANON___312 = 1,
    _PC_MAX_INPUT___312 = 2,
    _PC_NAME_MAX___312 = 3,
    _PC_PATH_MAX___312 = 4,
    _PC_PIPE_BUF___312 = 5,
    _PC_CHOWN_RESTRICTED___312 = 6,
    _PC_NO_TRUNC___312 = 7,
    _PC_VDISABLE___312 = 8,
    _PC_SYNC_IO___312 = 9,
    _PC_ASYNC_IO___312 = 10,
    _PC_PRIO_IO___312 = 11,
    _PC_SOCK_MAXBUF___312 = 12,
    _PC_FILESIZEBITS___312 = 13,
    _PC_REC_INCR_XFER_SIZE___312 = 14,
    _PC_REC_MAX_XFER_SIZE___312 = 15,
    _PC_REC_MIN_XFER_SIZE___312 = 16,
    _PC_REC_XFER_ALIGN___312 = 17,
    _PC_ALLOC_SIZE_MIN___312 = 18,
    _PC_SYMLINK_MAX___312 = 19,
    _PC_2_SYMLINKS___312 = 20
} ;
enum __anonenum_315186338___312 {
    _SC_ARG_MAX___312 = 0,
    _SC_CHILD_MAX___312 = 1,
    _SC_CLK_TCK___312 = 2,
    _SC_NGROUPS_MAX___312 = 3,
    _SC_OPEN_MAX___312 = 4,
    _SC_STREAM_MAX___312 = 5,
    _SC_TZNAME_MAX___312 = 6,
    _SC_JOB_CONTROL___312 = 7,
    _SC_SAVED_IDS___312 = 8,
    _SC_REALTIME_SIGNALS___312 = 9,
    _SC_PRIORITY_SCHEDULING___312 = 10,
    _SC_TIMERS___312 = 11,
    _SC_ASYNCHRONOUS_IO___312 = 12,
    _SC_PRIORITIZED_IO___312 = 13,
    _SC_SYNCHRONIZED_IO___312 = 14,
    _SC_FSYNC___312 = 15,
    _SC_MAPPED_FILES___312 = 16,
    _SC_MEMLOCK___312 = 17,
    _SC_MEMLOCK_RANGE___312 = 18,
    _SC_MEMORY_PROTECTION___312 = 19,
    _SC_MESSAGE_PASSING___312 = 20,
    _SC_SEMAPHORES___312 = 21,
    _SC_SHARED_MEMORY_OBJECTS___312 = 22,
    _SC_AIO_LISTIO_MAX___312 = 23,
    _SC_AIO_MAX___312 = 24,
    _SC_AIO_PRIO_DELTA_MAX___312 = 25,
    _SC_DELAYTIMER_MAX___312 = 26,
    _SC_MQ_OPEN_MAX___312 = 27,
    _SC_MQ_PRIO_MAX___312 = 28,
    _SC_VERSION___312 = 29,
    _SC_PAGESIZE___312 = 30,
    _SC_RTSIG_MAX___312 = 31,
    _SC_SEM_NSEMS_MAX___312 = 32,
    _SC_SEM_VALUE_MAX___312 = 33,
    _SC_SIGQUEUE_MAX___312 = 34,
    _SC_TIMER_MAX___312 = 35,
    _SC_BC_BASE_MAX___312 = 36,
    _SC_BC_DIM_MAX___312 = 37,
    _SC_BC_SCALE_MAX___312 = 38,
    _SC_BC_STRING_MAX___312 = 39,
    _SC_COLL_WEIGHTS_MAX___312 = 40,
    _SC_EQUIV_CLASS_MAX___312 = 41,
    _SC_EXPR_NEST_MAX___312 = 42,
    _SC_LINE_MAX___312 = 43,
    _SC_RE_DUP_MAX___312 = 44,
    _SC_CHARCLASS_NAME_MAX___312 = 45,
    _SC_2_VERSION___312 = 46,
    _SC_2_C_BIND___312 = 47,
    _SC_2_C_DEV___312 = 48,
    _SC_2_FORT_DEV___312 = 49,
    _SC_2_FORT_RUN___312 = 50,
    _SC_2_SW_DEV___312 = 51,
    _SC_2_LOCALEDEF___312 = 52,
    _SC_PII___312 = 53,
    _SC_PII_XTI___312 = 54,
    _SC_PII_SOCKET___312 = 55,
    _SC_PII_INTERNET___312 = 56,
    _SC_PII_OSI___312 = 57,
    _SC_POLL___312 = 58,
    _SC_SELECT___312 = 59,
    _SC_UIO_MAXIOV___312 = 60,
    _SC_IOV_MAX___312 = 60,
    _SC_PII_INTERNET_STREAM___312 = 61,
    _SC_PII_INTERNET_DGRAM___312 = 62,
    _SC_PII_OSI_COTS___312 = 63,
    _SC_PII_OSI_CLTS___312 = 64,
    _SC_PII_OSI_M___312 = 65,
    _SC_T_IOV_MAX___312 = 66,
    _SC_THREADS___312 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___312 = 68,
    _SC_GETGR_R_SIZE_MAX___312 = 69,
    _SC_GETPW_R_SIZE_MAX___312 = 70,
    _SC_LOGIN_NAME_MAX___312 = 71,
    _SC_TTY_NAME_MAX___312 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___312 = 73,
    _SC_THREAD_KEYS_MAX___312 = 74,
    _SC_THREAD_STACK_MIN___312 = 75,
    _SC_THREAD_THREADS_MAX___312 = 76,
    _SC_THREAD_ATTR_STACKADDR___312 = 77,
    _SC_THREAD_ATTR_STACKSIZE___312 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___312 = 79,
    _SC_THREAD_PRIO_INHERIT___312 = 80,
    _SC_THREAD_PRIO_PROTECT___312 = 81,
    _SC_THREAD_PROCESS_SHARED___312 = 82,
    _SC_NPROCESSORS_CONF___312 = 83,
    _SC_NPROCESSORS_ONLN___312 = 84,
    _SC_PHYS_PAGES___312 = 85,
    _SC_AVPHYS_PAGES___312 = 86,
    _SC_ATEXIT_MAX___312 = 87,
    _SC_PASS_MAX___312 = 88,
    _SC_XOPEN_VERSION___312 = 89,
    _SC_XOPEN_XCU_VERSION___312 = 90,
    _SC_XOPEN_UNIX___312 = 91,
    _SC_XOPEN_CRYPT___312 = 92,
    _SC_XOPEN_ENH_I18N___312 = 93,
    _SC_XOPEN_SHM___312 = 94,
    _SC_2_CHAR_TERM___312 = 95,
    _SC_2_C_VERSION___312 = 96,
    _SC_2_UPE___312 = 97,
    _SC_XOPEN_XPG2___312 = 98,
    _SC_XOPEN_XPG3___312 = 99,
    _SC_XOPEN_XPG4___312 = 100,
    _SC_CHAR_BIT___312 = 101,
    _SC_CHAR_MAX___312 = 102,
    _SC_CHAR_MIN___312 = 103,
    _SC_INT_MAX___312 = 104,
    _SC_INT_MIN___312 = 105,
    _SC_LONG_BIT___312 = 106,
    _SC_WORD_BIT___312 = 107,
    _SC_MB_LEN_MAX___312 = 108,
    _SC_NZERO___312 = 109,
    _SC_SSIZE_MAX___312 = 110,
    _SC_SCHAR_MAX___312 = 111,
    _SC_SCHAR_MIN___312 = 112,
    _SC_SHRT_MAX___312 = 113,
    _SC_SHRT_MIN___312 = 114,
    _SC_UCHAR_MAX___312 = 115,
    _SC_UINT_MAX___312 = 116,
    _SC_ULONG_MAX___312 = 117,
    _SC_USHRT_MAX___312 = 118,
    _SC_NL_ARGMAX___312 = 119,
    _SC_NL_LANGMAX___312 = 120,
    _SC_NL_MSGMAX___312 = 121,
    _SC_NL_NMAX___312 = 122,
    _SC_NL_SETMAX___312 = 123,
    _SC_NL_TEXTMAX___312 = 124,
    _SC_XBS5_ILP32_OFF32___312 = 125,
    _SC_XBS5_ILP32_OFFBIG___312 = 126,
    _SC_XBS5_LP64_OFF64___312 = 127,
    _SC_XBS5_LPBIG_OFFBIG___312 = 128,
    _SC_XOPEN_LEGACY___312 = 129,
    _SC_XOPEN_REALTIME___312 = 130,
    _SC_XOPEN_REALTIME_THREADS___312 = 131,
    _SC_ADVISORY_INFO___312 = 132,
    _SC_BARRIERS___312 = 133,
    _SC_BASE___312 = 134,
    _SC_C_LANG_SUPPORT___312 = 135,
    _SC_C_LANG_SUPPORT_R___312 = 136,
    _SC_CLOCK_SELECTION___312 = 137,
    _SC_CPUTIME___312 = 138,
    _SC_THREAD_CPUTIME___312 = 139,
    _SC_DEVICE_IO___312 = 140,
    _SC_DEVICE_SPECIFIC___312 = 141,
    _SC_DEVICE_SPECIFIC_R___312 = 142,
    _SC_FD_MGMT___312 = 143,
    _SC_FIFO___312 = 144,
    _SC_PIPE___312 = 145,
    _SC_FILE_ATTRIBUTES___312 = 146,
    _SC_FILE_LOCKING___312 = 147,
    _SC_FILE_SYSTEM___312 = 148,
    _SC_MONOTONIC_CLOCK___312 = 149,
    _SC_MULTI_PROCESS___312 = 150,
    _SC_SINGLE_PROCESS___312 = 151,
    _SC_NETWORKING___312 = 152,
    _SC_READER_WRITER_LOCKS___312 = 153,
    _SC_SPIN_LOCKS___312 = 154,
    _SC_REGEXP___312 = 155,
    _SC_REGEX_VERSION___312 = 156,
    _SC_SHELL___312 = 157,
    _SC_SIGNALS___312 = 158,
    _SC_SPAWN___312 = 159,
    _SC_SPORADIC_SERVER___312 = 160,
    _SC_THREAD_SPORADIC_SERVER___312 = 161,
    _SC_SYSTEM_DATABASE___312 = 162,
    _SC_SYSTEM_DATABASE_R___312 = 163,
    _SC_TIMEOUTS___312 = 164,
    _SC_TYPED_MEMORY_OBJECTS___312 = 165,
    _SC_USER_GROUPS___312 = 166,
    _SC_USER_GROUPS_R___312 = 167,
    _SC_2_PBS___312 = 168,
    _SC_2_PBS_ACCOUNTING___312 = 169,
    _SC_2_PBS_LOCATE___312 = 170,
    _SC_2_PBS_MESSAGE___312 = 171,
    _SC_2_PBS_TRACK___312 = 172,
    _SC_SYMLOOP_MAX___312 = 173,
    _SC_STREAMS___312 = 174,
    _SC_2_PBS_CHECKPOINT___312 = 175,
    _SC_V6_ILP32_OFF32___312 = 176,
    _SC_V6_ILP32_OFFBIG___312 = 177,
    _SC_V6_LP64_OFF64___312 = 178,
    _SC_V6_LPBIG_OFFBIG___312 = 179,
    _SC_HOST_NAME_MAX___312 = 180,
    _SC_TRACE___312 = 181,
    _SC_TRACE_EVENT_FILTER___312 = 182,
    _SC_TRACE_INHERIT___312 = 183,
    _SC_TRACE_LOG___312 = 184,
    _SC_LEVEL1_ICACHE_SIZE___312 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___312 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___312 = 187,
    _SC_LEVEL1_DCACHE_SIZE___312 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___312 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___312 = 190,
    _SC_LEVEL2_CACHE_SIZE___312 = 191,
    _SC_LEVEL2_CACHE_ASSOC___312 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___312 = 193,
    _SC_LEVEL3_CACHE_SIZE___312 = 194,
    _SC_LEVEL3_CACHE_ASSOC___312 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___312 = 196,
    _SC_LEVEL4_CACHE_SIZE___312 = 197,
    _SC_LEVEL4_CACHE_ASSOC___312 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___312 = 199,
    _SC_IPV6___312 = 235,
    _SC_RAW_SOCKETS___312 = 236,
    _SC_V7_ILP32_OFF32___312 = 237,
    _SC_V7_ILP32_OFFBIG___312 = 238,
    _SC_V7_LP64_OFF64___312 = 239,
    _SC_V7_LPBIG_OFFBIG___312 = 240,
    _SC_SS_REPL_MAX___312 = 241,
    _SC_TRACE_EVENT_NAME_MAX___312 = 242,
    _SC_TRACE_NAME_MAX___312 = 243,
    _SC_TRACE_SYS_MAX___312 = 244,
    _SC_TRACE_USER_EVENT_MAX___312 = 245,
    _SC_XOPEN_STREAMS___312 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___312 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___312 = 248
} ;
enum __anonenum_875524036___312 {
    _CS_PATH___312 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___312 = 1,
    _CS_GNU_LIBC_VERSION___312 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___312 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___312 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___312 = 5,
    _CS_LFS_CFLAGS___312 = 1000,
    _CS_LFS_LDFLAGS___312 = 1001,
    _CS_LFS_LIBS___312 = 1002,
    _CS_LFS_LINTFLAGS___312 = 1003,
    _CS_LFS64_CFLAGS___312 = 1004,
    _CS_LFS64_LDFLAGS___312 = 1005,
    _CS_LFS64_LIBS___312 = 1006,
    _CS_LFS64_LINTFLAGS___312 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___312 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___312 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___312 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___312 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___312 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___312 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___312 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___312 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___312 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___312 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___312 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___312 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___312 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___312 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___312 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___312 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___312 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___312 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___312 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___312 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___312 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___312 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___312 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___312 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___312 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___312 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___312 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___312 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___312 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___312 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___312 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___312 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___312 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___312 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___312 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___312 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___312 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___312 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___312 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___312 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___312 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___312 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___312 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___312 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___312 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___312 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___312 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___312 = 1147,
    _CS_V6_ENV___312 = 1148,
    _CS_V7_ENV___312 = 1149
} ;
enum __anonenum_513775621___312 {
    DT_UNKNOWN___312 = 0,
    DT_FIFO___312 = 1,
    DT_CHR___312 = 2,
    DT_DIR___312 = 4,
    DT_BLK___312 = 6,
    DT_REG___312 = 8,
    DT_LNK___312 = 10,
    DT_SOCK___312 = 12,
    DT_WHT___312 = 14
} ;
enum __anonenum_77002343___312 {
    SI_ASYNCNL___312 = -60,
    SI_TKILL___312 = -6,
    SI_SIGIO___312 = -5,
    SI_ASYNCIO___312 = -4,
    SI_MESGQ___312 = -3,
    SI_TIMER___312 = -2,
    SI_QUEUE___312 = -1,
    SI_USER___312 = 0,
    SI_KERNEL___312 = 128
} ;
enum __anonenum_131038172___312 {
    ILL_ILLOPC___312 = 1,
    ILL_ILLOPN___312 = 2,
    ILL_ILLADR___312 = 3,
    ILL_ILLTRP___312 = 4,
    ILL_PRVOPC___312 = 5,
    ILL_PRVREG___312 = 6,
    ILL_COPROC___312 = 7,
    ILL_BADSTK___312 = 8
} ;
enum __anonenum_452038093___312 {
    FPE_INTDIV___312 = 1,
    FPE_INTOVF___312 = 2,
    FPE_FLTDIV___312 = 3,
    FPE_FLTOVF___312 = 4,
    FPE_FLTUND___312 = 5,
    FPE_FLTRES___312 = 6,
    FPE_FLTINV___312 = 7,
    FPE_FLTSUB___312 = 8
} ;
enum __anonenum_30976155___312 {
    SEGV_MAPERR___312 = 1,
    SEGV_ACCERR___312 = 2,
    SEGV_BNDERR___312 = 3,
    SEGV_PKUERR___312 = 4
} ;
enum __anonenum_1036286214___312 {
    BUS_ADRALN___312 = 1,
    BUS_ADRERR___312 = 2,
    BUS_OBJERR___312 = 3,
    BUS_MCEERR_AR___312 = 4,
    BUS_MCEERR_AO___312 = 5
} ;
enum __anonenum_493465559___312 {
    TRAP_BRKPT___312 = 1,
    TRAP_TRACE___312 = 2
} ;
enum __anonenum_23175539___312 {
    CLD_EXITED___312 = 1,
    CLD_KILLED___312 = 2,
    CLD_DUMPED___312 = 3,
    CLD_TRAPPED___312 = 4,
    CLD_STOPPED___312 = 5,
    CLD_CONTINUED___312 = 6
} ;
enum __anonenum_111643124___312 {
    POLL_IN___312 = 1,
    POLL_OUT___312 = 2,
    POLL_MSG___312 = 3,
    POLL_ERR___312 = 4,
    POLL_PRI___312 = 5,
    POLL_HUP___312 = 6
} ;
enum __anonenum_852341087___312 {
    SIGEV_SIGNAL___312 = 0,
    SIGEV_NONE___312 = 1,
    SIGEV_THREAD___312 = 2,
    SIGEV_THREAD_ID___312 = 4
} ;
enum __anonenum_451154152___312 {
    REG_R8___312 = 0,
    REG_R9___312 = 1,
    REG_R10___312 = 2,
    REG_R11___312 = 3,
    REG_R12___312 = 4,
    REG_R13___312 = 5,
    REG_R14___312 = 6,
    REG_R15___312 = 7,
    REG_RDI___312 = 8,
    REG_RSI___312 = 9,
    REG_RBP___312 = 10,
    REG_RBX___312 = 11,
    REG_RDX___312 = 12,
    REG_RAX___312 = 13,
    REG_RCX___312 = 14,
    REG_RSP___312 = 15,
    REG_RIP___312 = 16,
    REG_EFL___312 = 17,
    REG_CSGSFS___312 = 18,
    REG_ERR___312 = 19,
    REG_TRAPNO___312 = 20,
    REG_OLDMASK___312 = 21,
    REG_CR2___312 = 22
} ;
enum __anonenum_57186863___312 {
    SS_ONSTACK___312 = 1,
    SS_DISABLE___312 = 2
} ;
enum __anonenum_83571709___312 {
    MSG_OOB___312 = 1,
    MSG_PEEK___312 = 2,
    MSG_DONTROUTE___312 = 4,
    MSG_TRYHARD___312 = 4,
    MSG_CTRUNC___312 = 8,
    MSG_PROXY___312 = 16,
    MSG_TRUNC___312 = 32,
    MSG_DONTWAIT___312 = 64,
    MSG_EOR___312 = 128,
    MSG_WAITALL___312 = 256,
    MSG_FIN___312 = 512,
    MSG_SYN___312 = 1024,
    MSG_CONFIRM___312 = 2048,
    MSG_RST___312 = 4096,
    MSG_ERRQUEUE___312 = 8192,
    MSG_NOSIGNAL___312 = 16384,
    MSG_MORE___312 = 32768,
    MSG_WAITFORONE___312 = 65536,
    MSG_BATCH___312 = 262144,
    MSG_ZEROCOPY___312 = 67108864,
    MSG_FASTOPEN___312 = 536870912,
    MSG_CMSG_CLOEXEC___312 = 1073741824
} ;
enum __anonenum_617082774___312 {
    SCM_RIGHTS___312 = 1,
    SCM_CREDENTIALS___312 = 2
} ;
enum __anonenum_606441560___312 {
    SHUT_RD___312 = 0,
    SHUT_WR___312 = 1,
    SHUT_RDWR___312 = 2
} ;
enum __anonenum_681669233___312 {
    IPPROTO_IP___312 = 0,
    IPPROTO_ICMP___312 = 1,
    IPPROTO_IGMP___312 = 2,
    IPPROTO_IPIP___312 = 4,
    IPPROTO_TCP___312 = 6,
    IPPROTO_EGP___312 = 8,
    IPPROTO_PUP___312 = 12,
    IPPROTO_UDP___312 = 17,
    IPPROTO_IDP___312 = 22,
    IPPROTO_TP___312 = 29,
    IPPROTO_DCCP___312 = 33,
    IPPROTO_IPV6___312 = 41,
    IPPROTO_RSVP___312 = 46,
    IPPROTO_GRE___312 = 47,
    IPPROTO_ESP___312 = 50,
    IPPROTO_AH___312 = 51,
    IPPROTO_MTP___312 = 92,
    IPPROTO_BEETPH___312 = 94,
    IPPROTO_ENCAP___312 = 98,
    IPPROTO_PIM___312 = 103,
    IPPROTO_COMP___312 = 108,
    IPPROTO_SCTP___312 = 132,
    IPPROTO_UDPLITE___312 = 136,
    IPPROTO_MPLS___312 = 137,
    IPPROTO_RAW___312 = 255,
    IPPROTO_MAX___312 = 256
} ;
enum __anonenum_218739988___312 {
    IPPROTO_HOPOPTS___312 = 0,
    IPPROTO_ROUTING___312 = 43,
    IPPROTO_FRAGMENT___312 = 44,
    IPPROTO_ICMPV6___312 = 58,
    IPPROTO_NONE___312 = 59,
    IPPROTO_DSTOPTS___312 = 60,
    IPPROTO_MH___312 = 135
} ;
enum __anonenum_662268580___312 {
    IPPORT_ECHO___312 = 7,
    IPPORT_DISCARD___312 = 9,
    IPPORT_SYSTAT___312 = 11,
    IPPORT_DAYTIME___312 = 13,
    IPPORT_NETSTAT___312 = 15,
    IPPORT_FTP___312 = 21,
    IPPORT_TELNET___312 = 23,
    IPPORT_SMTP___312 = 25,
    IPPORT_TIMESERVER___312 = 37,
    IPPORT_NAMESERVER___312 = 42,
    IPPORT_WHOIS___312 = 43,
    IPPORT_MTP___312 = 57,
    IPPORT_TFTP___312 = 69,
    IPPORT_RJE___312 = 77,
    IPPORT_FINGER___312 = 79,
    IPPORT_TTYLINK___312 = 87,
    IPPORT_SUPDUP___312 = 95,
    IPPORT_EXECSERVER___312 = 512,
    IPPORT_LOGINSERVER___312 = 513,
    IPPORT_CMDSERVER___312 = 514,
    IPPORT_EFSSERVER___312 = 520,
    IPPORT_BIFFUDP___312 = 512,
    IPPORT_WHOSERVER___312 = 513,
    IPPORT_ROUTESERVER___312 = 520,
    IPPORT_RESERVED___312 = 1024,
    IPPORT_USERRESERVED___312 = 5000
} ;
enum __anonenum_788308992___312 {
    TCP_ESTABLISHED___312 = 1,
    TCP_SYN_SENT___312 = 2,
    TCP_SYN_RECV___312 = 3,
    TCP_FIN_WAIT1___312 = 4,
    TCP_FIN_WAIT2___312 = 5,
    TCP_TIME_WAIT___312 = 6,
    TCP_CLOSE___312 = 7,
    TCP_CLOSE_WAIT___312 = 8,
    TCP_LAST_ACK___312 = 9,
    TCP_LISTEN___312 = 10,
    TCP_CLOSING___312 = 11
} ;
enum __anonenum_221125648___312 {
    TCP_NO_QUEUE___312 = 0,
    TCP_RECV_QUEUE___312 = 1,
    TCP_SEND_QUEUE___312 = 2,
    TCP_QUEUES_NR___312 = 3
} ;
enum __anonenum_34415463___312 {
    PTHREAD_CREATE_JOINABLE___312 = 0,
    PTHREAD_CREATE_DETACHED___312 = 1
} ;
enum __anonenum_303612439___312 {
    PTHREAD_MUTEX_TIMED_NP___312 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___312 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___312 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___312 = 3,
    PTHREAD_MUTEX_NORMAL___312 = 0,
    PTHREAD_MUTEX_RECURSIVE___312 = 1,
    PTHREAD_MUTEX_ERRORCHECK___312 = 2,
    PTHREAD_MUTEX_DEFAULT___312 = 0,
    PTHREAD_MUTEX_FAST_NP___312 = 0
} ;
enum __anonenum_931900394___312 {
    PTHREAD_MUTEX_STALLED___312 = 0,
    PTHREAD_MUTEX_STALLED_NP___312 = 0,
    PTHREAD_MUTEX_ROBUST___312 = 1,
    PTHREAD_MUTEX_ROBUST_NP___312 = 1
} ;
enum __anonenum_205214487___312 {
    PTHREAD_PRIO_NONE___312 = 0,
    PTHREAD_PRIO_INHERIT___312 = 1,
    PTHREAD_PRIO_PROTECT___312 = 2
} ;
enum __anonenum_25043950___312 {
    PTHREAD_RWLOCK_PREFER_READER_NP___312 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___312 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___312 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___312 = 0
} ;
enum __anonenum_436439511___312 {
    PTHREAD_INHERIT_SCHED___312 = 0,
    PTHREAD_EXPLICIT_SCHED___312 = 1
} ;
enum __anonenum_998661166___312 {
    PTHREAD_SCOPE_SYSTEM___312 = 0,
    PTHREAD_SCOPE_PROCESS___312 = 1
} ;
enum __anonenum_146137331___312 {
    PTHREAD_PROCESS_PRIVATE___312 = 0,
    PTHREAD_PROCESS_SHARED___312 = 1
} ;
enum __anonenum_53396917___312 {
    PTHREAD_CANCEL_ENABLE___312 = 0,
    PTHREAD_CANCEL_DISABLE___312 = 1
} ;
enum __anonenum_904563783___312 {
    PTHREAD_CANCEL_DEFERRED___312 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___312 = 1
} ;
enum __anonenum_672052974___312 {
    SSL_CT_VALIDATION_PERMISSIVE___312 = 0,
    SSL_CT_VALIDATION_STRICT___312 = 1
} ;
enum __anonenum_437032235___313 {
    _PC_LINK_MAX___313 = 0,
    _PC_MAX_CANON___313 = 1,
    _PC_MAX_INPUT___313 = 2,
    _PC_NAME_MAX___313 = 3,
    _PC_PATH_MAX___313 = 4,
    _PC_PIPE_BUF___313 = 5,
    _PC_CHOWN_RESTRICTED___313 = 6,
    _PC_NO_TRUNC___313 = 7,
    _PC_VDISABLE___313 = 8,
    _PC_SYNC_IO___313 = 9,
    _PC_ASYNC_IO___313 = 10,
    _PC_PRIO_IO___313 = 11,
    _PC_SOCK_MAXBUF___313 = 12,
    _PC_FILESIZEBITS___313 = 13,
    _PC_REC_INCR_XFER_SIZE___313 = 14,
    _PC_REC_MAX_XFER_SIZE___313 = 15,
    _PC_REC_MIN_XFER_SIZE___313 = 16,
    _PC_REC_XFER_ALIGN___313 = 17,
    _PC_ALLOC_SIZE_MIN___313 = 18,
    _PC_SYMLINK_MAX___313 = 19,
    _PC_2_SYMLINKS___313 = 20
} ;
enum __anonenum_315186338___313 {
    _SC_ARG_MAX___313 = 0,
    _SC_CHILD_MAX___313 = 1,
    _SC_CLK_TCK___313 = 2,
    _SC_NGROUPS_MAX___313 = 3,
    _SC_OPEN_MAX___313 = 4,
    _SC_STREAM_MAX___313 = 5,
    _SC_TZNAME_MAX___313 = 6,
    _SC_JOB_CONTROL___313 = 7,
    _SC_SAVED_IDS___313 = 8,
    _SC_REALTIME_SIGNALS___313 = 9,
    _SC_PRIORITY_SCHEDULING___313 = 10,
    _SC_TIMERS___313 = 11,
    _SC_ASYNCHRONOUS_IO___313 = 12,
    _SC_PRIORITIZED_IO___313 = 13,
    _SC_SYNCHRONIZED_IO___313 = 14,
    _SC_FSYNC___313 = 15,
    _SC_MAPPED_FILES___313 = 16,
    _SC_MEMLOCK___313 = 17,
    _SC_MEMLOCK_RANGE___313 = 18,
    _SC_MEMORY_PROTECTION___313 = 19,
    _SC_MESSAGE_PASSING___313 = 20,
    _SC_SEMAPHORES___313 = 21,
    _SC_SHARED_MEMORY_OBJECTS___313 = 22,
    _SC_AIO_LISTIO_MAX___313 = 23,
    _SC_AIO_MAX___313 = 24,
    _SC_AIO_PRIO_DELTA_MAX___313 = 25,
    _SC_DELAYTIMER_MAX___313 = 26,
    _SC_MQ_OPEN_MAX___313 = 27,
    _SC_MQ_PRIO_MAX___313 = 28,
    _SC_VERSION___313 = 29,
    _SC_PAGESIZE___313 = 30,
    _SC_RTSIG_MAX___313 = 31,
    _SC_SEM_NSEMS_MAX___313 = 32,
    _SC_SEM_VALUE_MAX___313 = 33,
    _SC_SIGQUEUE_MAX___313 = 34,
    _SC_TIMER_MAX___313 = 35,
    _SC_BC_BASE_MAX___313 = 36,
    _SC_BC_DIM_MAX___313 = 37,
    _SC_BC_SCALE_MAX___313 = 38,
    _SC_BC_STRING_MAX___313 = 39,
    _SC_COLL_WEIGHTS_MAX___313 = 40,
    _SC_EQUIV_CLASS_MAX___313 = 41,
    _SC_EXPR_NEST_MAX___313 = 42,
    _SC_LINE_MAX___313 = 43,
    _SC_RE_DUP_MAX___313 = 44,
    _SC_CHARCLASS_NAME_MAX___313 = 45,
    _SC_2_VERSION___313 = 46,
    _SC_2_C_BIND___313 = 47,
    _SC_2_C_DEV___313 = 48,
    _SC_2_FORT_DEV___313 = 49,
    _SC_2_FORT_RUN___313 = 50,
    _SC_2_SW_DEV___313 = 51,
    _SC_2_LOCALEDEF___313 = 52,
    _SC_PII___313 = 53,
    _SC_PII_XTI___313 = 54,
    _SC_PII_SOCKET___313 = 55,
    _SC_PII_INTERNET___313 = 56,
    _SC_PII_OSI___313 = 57,
    _SC_POLL___313 = 58,
    _SC_SELECT___313 = 59,
    _SC_UIO_MAXIOV___313 = 60,
    _SC_IOV_MAX___313 = 60,
    _SC_PII_INTERNET_STREAM___313 = 61,
    _SC_PII_INTERNET_DGRAM___313 = 62,
    _SC_PII_OSI_COTS___313 = 63,
    _SC_PII_OSI_CLTS___313 = 64,
    _SC_PII_OSI_M___313 = 65,
    _SC_T_IOV_MAX___313 = 66,
    _SC_THREADS___313 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___313 = 68,
    _SC_GETGR_R_SIZE_MAX___313 = 69,
    _SC_GETPW_R_SIZE_MAX___313 = 70,
    _SC_LOGIN_NAME_MAX___313 = 71,
    _SC_TTY_NAME_MAX___313 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___313 = 73,
    _SC_THREAD_KEYS_MAX___313 = 74,
    _SC_THREAD_STACK_MIN___313 = 75,
    _SC_THREAD_THREADS_MAX___313 = 76,
    _SC_THREAD_ATTR_STACKADDR___313 = 77,
    _SC_THREAD_ATTR_STACKSIZE___313 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___313 = 79,
    _SC_THREAD_PRIO_INHERIT___313 = 80,
    _SC_THREAD_PRIO_PROTECT___313 = 81,
    _SC_THREAD_PROCESS_SHARED___313 = 82,
    _SC_NPROCESSORS_CONF___313 = 83,
    _SC_NPROCESSORS_ONLN___313 = 84,
    _SC_PHYS_PAGES___313 = 85,
    _SC_AVPHYS_PAGES___313 = 86,
    _SC_ATEXIT_MAX___313 = 87,
    _SC_PASS_MAX___313 = 88,
    _SC_XOPEN_VERSION___313 = 89,
    _SC_XOPEN_XCU_VERSION___313 = 90,
    _SC_XOPEN_UNIX___313 = 91,
    _SC_XOPEN_CRYPT___313 = 92,
    _SC_XOPEN_ENH_I18N___313 = 93,
    _SC_XOPEN_SHM___313 = 94,
    _SC_2_CHAR_TERM___313 = 95,
    _SC_2_C_VERSION___313 = 96,
    _SC_2_UPE___313 = 97,
    _SC_XOPEN_XPG2___313 = 98,
    _SC_XOPEN_XPG3___313 = 99,
    _SC_XOPEN_XPG4___313 = 100,
    _SC_CHAR_BIT___313 = 101,
    _SC_CHAR_MAX___313 = 102,
    _SC_CHAR_MIN___313 = 103,
    _SC_INT_MAX___313 = 104,
    _SC_INT_MIN___313 = 105,
    _SC_LONG_BIT___313 = 106,
    _SC_WORD_BIT___313 = 107,
    _SC_MB_LEN_MAX___313 = 108,
    _SC_NZERO___313 = 109,
    _SC_SSIZE_MAX___313 = 110,
    _SC_SCHAR_MAX___313 = 111,
    _SC_SCHAR_MIN___313 = 112,
    _SC_SHRT_MAX___313 = 113,
    _SC_SHRT_MIN___313 = 114,
    _SC_UCHAR_MAX___313 = 115,
    _SC_UINT_MAX___313 = 116,
    _SC_ULONG_MAX___313 = 117,
    _SC_USHRT_MAX___313 = 118,
    _SC_NL_ARGMAX___313 = 119,
    _SC_NL_LANGMAX___313 = 120,
    _SC_NL_MSGMAX___313 = 121,
    _SC_NL_NMAX___313 = 122,
    _SC_NL_SETMAX___313 = 123,
    _SC_NL_TEXTMAX___313 = 124,
    _SC_XBS5_ILP32_OFF32___313 = 125,
    _SC_XBS5_ILP32_OFFBIG___313 = 126,
    _SC_XBS5_LP64_OFF64___313 = 127,
    _SC_XBS5_LPBIG_OFFBIG___313 = 128,
    _SC_XOPEN_LEGACY___313 = 129,
    _SC_XOPEN_REALTIME___313 = 130,
    _SC_XOPEN_REALTIME_THREADS___313 = 131,
    _SC_ADVISORY_INFO___313 = 132,
    _SC_BARRIERS___313 = 133,
    _SC_BASE___313 = 134,
    _SC_C_LANG_SUPPORT___313 = 135,
    _SC_C_LANG_SUPPORT_R___313 = 136,
    _SC_CLOCK_SELECTION___313 = 137,
    _SC_CPUTIME___313 = 138,
    _SC_THREAD_CPUTIME___313 = 139,
    _SC_DEVICE_IO___313 = 140,
    _SC_DEVICE_SPECIFIC___313 = 141,
    _SC_DEVICE_SPECIFIC_R___313 = 142,
    _SC_FD_MGMT___313 = 143,
    _SC_FIFO___313 = 144,
    _SC_PIPE___313 = 145,
    _SC_FILE_ATTRIBUTES___313 = 146,
    _SC_FILE_LOCKING___313 = 147,
    _SC_FILE_SYSTEM___313 = 148,
    _SC_MONOTONIC_CLOCK___313 = 149,
    _SC_MULTI_PROCESS___313 = 150,
    _SC_SINGLE_PROCESS___313 = 151,
    _SC_NETWORKING___313 = 152,
    _SC_READER_WRITER_LOCKS___313 = 153,
    _SC_SPIN_LOCKS___313 = 154,
    _SC_REGEXP___313 = 155,
    _SC_REGEX_VERSION___313 = 156,
    _SC_SHELL___313 = 157,
    _SC_SIGNALS___313 = 158,
    _SC_SPAWN___313 = 159,
    _SC_SPORADIC_SERVER___313 = 160,
    _SC_THREAD_SPORADIC_SERVER___313 = 161,
    _SC_SYSTEM_DATABASE___313 = 162,
    _SC_SYSTEM_DATABASE_R___313 = 163,
    _SC_TIMEOUTS___313 = 164,
    _SC_TYPED_MEMORY_OBJECTS___313 = 165,
    _SC_USER_GROUPS___313 = 166,
    _SC_USER_GROUPS_R___313 = 167,
    _SC_2_PBS___313 = 168,
    _SC_2_PBS_ACCOUNTING___313 = 169,
    _SC_2_PBS_LOCATE___313 = 170,
    _SC_2_PBS_MESSAGE___313 = 171,
    _SC_2_PBS_TRACK___313 = 172,
    _SC_SYMLOOP_MAX___313 = 173,
    _SC_STREAMS___313 = 174,
    _SC_2_PBS_CHECKPOINT___313 = 175,
    _SC_V6_ILP32_OFF32___313 = 176,
    _SC_V6_ILP32_OFFBIG___313 = 177,
    _SC_V6_LP64_OFF64___313 = 178,
    _SC_V6_LPBIG_OFFBIG___313 = 179,
    _SC_HOST_NAME_MAX___313 = 180,
    _SC_TRACE___313 = 181,
    _SC_TRACE_EVENT_FILTER___313 = 182,
    _SC_TRACE_INHERIT___313 = 183,
    _SC_TRACE_LOG___313 = 184,
    _SC_LEVEL1_ICACHE_SIZE___313 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___313 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___313 = 187,
    _SC_LEVEL1_DCACHE_SIZE___313 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___313 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___313 = 190,
    _SC_LEVEL2_CACHE_SIZE___313 = 191,
    _SC_LEVEL2_CACHE_ASSOC___313 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___313 = 193,
    _SC_LEVEL3_CACHE_SIZE___313 = 194,
    _SC_LEVEL3_CACHE_ASSOC___313 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___313 = 196,
    _SC_LEVEL4_CACHE_SIZE___313 = 197,
    _SC_LEVEL4_CACHE_ASSOC___313 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___313 = 199,
    _SC_IPV6___313 = 235,
    _SC_RAW_SOCKETS___313 = 236,
    _SC_V7_ILP32_OFF32___313 = 237,
    _SC_V7_ILP32_OFFBIG___313 = 238,
    _SC_V7_LP64_OFF64___313 = 239,
    _SC_V7_LPBIG_OFFBIG___313 = 240,
    _SC_SS_REPL_MAX___313 = 241,
    _SC_TRACE_EVENT_NAME_MAX___313 = 242,
    _SC_TRACE_NAME_MAX___313 = 243,
    _SC_TRACE_SYS_MAX___313 = 244,
    _SC_TRACE_USER_EVENT_MAX___313 = 245,
    _SC_XOPEN_STREAMS___313 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___313 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___313 = 248
} ;
enum __anonenum_875524036___313 {
    _CS_PATH___313 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___313 = 1,
    _CS_GNU_LIBC_VERSION___313 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___313 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___313 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___313 = 5,
    _CS_LFS_CFLAGS___313 = 1000,
    _CS_LFS_LDFLAGS___313 = 1001,
    _CS_LFS_LIBS___313 = 1002,
    _CS_LFS_LINTFLAGS___313 = 1003,
    _CS_LFS64_CFLAGS___313 = 1004,
    _CS_LFS64_LDFLAGS___313 = 1005,
    _CS_LFS64_LIBS___313 = 1006,
    _CS_LFS64_LINTFLAGS___313 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___313 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___313 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___313 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___313 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___313 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___313 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___313 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___313 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___313 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___313 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___313 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___313 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___313 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___313 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___313 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___313 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___313 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___313 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___313 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___313 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___313 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___313 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___313 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___313 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___313 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___313 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___313 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___313 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___313 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___313 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___313 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___313 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___313 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___313 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___313 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___313 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___313 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___313 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___313 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___313 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___313 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___313 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___313 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___313 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___313 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___313 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___313 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___313 = 1147,
    _CS_V6_ENV___313 = 1148,
    _CS_V7_ENV___313 = 1149
} ;
enum __anonenum_513775621___313 {
    DT_UNKNOWN___313 = 0,
    DT_FIFO___313 = 1,
    DT_CHR___313 = 2,
    DT_DIR___313 = 4,
    DT_BLK___313 = 6,
    DT_REG___313 = 8,
    DT_LNK___313 = 10,
    DT_SOCK___313 = 12,
    DT_WHT___313 = 14
} ;
enum __anonenum_77002343___313 {
    SI_ASYNCNL___313 = -60,
    SI_TKILL___313 = -6,
    SI_SIGIO___313 = -5,
    SI_ASYNCIO___313 = -4,
    SI_MESGQ___313 = -3,
    SI_TIMER___313 = -2,
    SI_QUEUE___313 = -1,
    SI_USER___313 = 0,
    SI_KERNEL___313 = 128
} ;
enum __anonenum_131038172___313 {
    ILL_ILLOPC___313 = 1,
    ILL_ILLOPN___313 = 2,
    ILL_ILLADR___313 = 3,
    ILL_ILLTRP___313 = 4,
    ILL_PRVOPC___313 = 5,
    ILL_PRVREG___313 = 6,
    ILL_COPROC___313 = 7,
    ILL_BADSTK___313 = 8
} ;
enum __anonenum_452038093___313 {
    FPE_INTDIV___313 = 1,
    FPE_INTOVF___313 = 2,
    FPE_FLTDIV___313 = 3,
    FPE_FLTOVF___313 = 4,
    FPE_FLTUND___313 = 5,
    FPE_FLTRES___313 = 6,
    FPE_FLTINV___313 = 7,
    FPE_FLTSUB___313 = 8
} ;
enum __anonenum_30976155___313 {
    SEGV_MAPERR___313 = 1,
    SEGV_ACCERR___313 = 2,
    SEGV_BNDERR___313 = 3,
    SEGV_PKUERR___313 = 4
} ;
enum __anonenum_1036286214___313 {
    BUS_ADRALN___313 = 1,
    BUS_ADRERR___313 = 2,
    BUS_OBJERR___313 = 3,
    BUS_MCEERR_AR___313 = 4,
    BUS_MCEERR_AO___313 = 5
} ;
enum __anonenum_493465559___313 {
    TRAP_BRKPT___313 = 1,
    TRAP_TRACE___313 = 2
} ;
enum __anonenum_23175539___313 {
    CLD_EXITED___313 = 1,
    CLD_KILLED___313 = 2,
    CLD_DUMPED___313 = 3,
    CLD_TRAPPED___313 = 4,
    CLD_STOPPED___313 = 5,
    CLD_CONTINUED___313 = 6
} ;
enum __anonenum_111643124___313 {
    POLL_IN___313 = 1,
    POLL_OUT___313 = 2,
    POLL_MSG___313 = 3,
    POLL_ERR___313 = 4,
    POLL_PRI___313 = 5,
    POLL_HUP___313 = 6
} ;
enum __anonenum_852341087___313 {
    SIGEV_SIGNAL___313 = 0,
    SIGEV_NONE___313 = 1,
    SIGEV_THREAD___313 = 2,
    SIGEV_THREAD_ID___313 = 4
} ;
enum __anonenum_451154152___313 {
    REG_R8___313 = 0,
    REG_R9___313 = 1,
    REG_R10___313 = 2,
    REG_R11___313 = 3,
    REG_R12___313 = 4,
    REG_R13___313 = 5,
    REG_R14___313 = 6,
    REG_R15___313 = 7,
    REG_RDI___313 = 8,
    REG_RSI___313 = 9,
    REG_RBP___313 = 10,
    REG_RBX___313 = 11,
    REG_RDX___313 = 12,
    REG_RAX___313 = 13,
    REG_RCX___313 = 14,
    REG_RSP___313 = 15,
    REG_RIP___313 = 16,
    REG_EFL___313 = 17,
    REG_CSGSFS___313 = 18,
    REG_ERR___313 = 19,
    REG_TRAPNO___313 = 20,
    REG_OLDMASK___313 = 21,
    REG_CR2___313 = 22
} ;
enum __anonenum_57186863___313 {
    SS_ONSTACK___313 = 1,
    SS_DISABLE___313 = 2
} ;
enum __anonenum_83571709___313 {
    MSG_OOB___313 = 1,
    MSG_PEEK___313 = 2,
    MSG_DONTROUTE___313 = 4,
    MSG_TRYHARD___313 = 4,
    MSG_CTRUNC___313 = 8,
    MSG_PROXY___313 = 16,
    MSG_TRUNC___313 = 32,
    MSG_DONTWAIT___313 = 64,
    MSG_EOR___313 = 128,
    MSG_WAITALL___313 = 256,
    MSG_FIN___313 = 512,
    MSG_SYN___313 = 1024,
    MSG_CONFIRM___313 = 2048,
    MSG_RST___313 = 4096,
    MSG_ERRQUEUE___313 = 8192,
    MSG_NOSIGNAL___313 = 16384,
    MSG_MORE___313 = 32768,
    MSG_WAITFORONE___313 = 65536,
    MSG_BATCH___313 = 262144,
    MSG_ZEROCOPY___313 = 67108864,
    MSG_FASTOPEN___313 = 536870912,
    MSG_CMSG_CLOEXEC___313 = 1073741824
} ;
enum __anonenum_617082774___313 {
    SCM_RIGHTS___313 = 1,
    SCM_CREDENTIALS___313 = 2
} ;
enum __anonenum_606441560___313 {
    SHUT_RD___313 = 0,
    SHUT_WR___313 = 1,
    SHUT_RDWR___313 = 2
} ;
enum __anonenum_681669233___313 {
    IPPROTO_IP___313 = 0,
    IPPROTO_ICMP___313 = 1,
    IPPROTO_IGMP___313 = 2,
    IPPROTO_IPIP___313 = 4,
    IPPROTO_TCP___313 = 6,
    IPPROTO_EGP___313 = 8,
    IPPROTO_PUP___313 = 12,
    IPPROTO_UDP___313 = 17,
    IPPROTO_IDP___313 = 22,
    IPPROTO_TP___313 = 29,
    IPPROTO_DCCP___313 = 33,
    IPPROTO_IPV6___313 = 41,
    IPPROTO_RSVP___313 = 46,
    IPPROTO_GRE___313 = 47,
    IPPROTO_ESP___313 = 50,
    IPPROTO_AH___313 = 51,
    IPPROTO_MTP___313 = 92,
    IPPROTO_BEETPH___313 = 94,
    IPPROTO_ENCAP___313 = 98,
    IPPROTO_PIM___313 = 103,
    IPPROTO_COMP___313 = 108,
    IPPROTO_SCTP___313 = 132,
    IPPROTO_UDPLITE___313 = 136,
    IPPROTO_MPLS___313 = 137,
    IPPROTO_RAW___313 = 255,
    IPPROTO_MAX___313 = 256
} ;
enum __anonenum_218739988___313 {
    IPPROTO_HOPOPTS___313 = 0,
    IPPROTO_ROUTING___313 = 43,
    IPPROTO_FRAGMENT___313 = 44,
    IPPROTO_ICMPV6___313 = 58,
    IPPROTO_NONE___313 = 59,
    IPPROTO_DSTOPTS___313 = 60,
    IPPROTO_MH___313 = 135
} ;
enum __anonenum_662268580___313 {
    IPPORT_ECHO___313 = 7,
    IPPORT_DISCARD___313 = 9,
    IPPORT_SYSTAT___313 = 11,
    IPPORT_DAYTIME___313 = 13,
    IPPORT_NETSTAT___313 = 15,
    IPPORT_FTP___313 = 21,
    IPPORT_TELNET___313 = 23,
    IPPORT_SMTP___313 = 25,
    IPPORT_TIMESERVER___313 = 37,
    IPPORT_NAMESERVER___313 = 42,
    IPPORT_WHOIS___313 = 43,
    IPPORT_MTP___313 = 57,
    IPPORT_TFTP___313 = 69,
    IPPORT_RJE___313 = 77,
    IPPORT_FINGER___313 = 79,
    IPPORT_TTYLINK___313 = 87,
    IPPORT_SUPDUP___313 = 95,
    IPPORT_EXECSERVER___313 = 512,
    IPPORT_LOGINSERVER___313 = 513,
    IPPORT_CMDSERVER___313 = 514,
    IPPORT_EFSSERVER___313 = 520,
    IPPORT_BIFFUDP___313 = 512,
    IPPORT_WHOSERVER___313 = 513,
    IPPORT_ROUTESERVER___313 = 520,
    IPPORT_RESERVED___313 = 1024,
    IPPORT_USERRESERVED___313 = 5000
} ;
enum __anonenum_788308992___313 {
    TCP_ESTABLISHED___313 = 1,
    TCP_SYN_SENT___313 = 2,
    TCP_SYN_RECV___313 = 3,
    TCP_FIN_WAIT1___313 = 4,
    TCP_FIN_WAIT2___313 = 5,
    TCP_TIME_WAIT___313 = 6,
    TCP_CLOSE___313 = 7,
    TCP_CLOSE_WAIT___313 = 8,
    TCP_LAST_ACK___313 = 9,
    TCP_LISTEN___313 = 10,
    TCP_CLOSING___313 = 11
} ;
enum __anonenum_221125648___313 {
    TCP_NO_QUEUE___313 = 0,
    TCP_RECV_QUEUE___313 = 1,
    TCP_SEND_QUEUE___313 = 2,
    TCP_QUEUES_NR___313 = 3
} ;
enum __anonenum_34415463___313 {
    PTHREAD_CREATE_JOINABLE___313 = 0,
    PTHREAD_CREATE_DETACHED___313 = 1
} ;
enum __anonenum_303612439___313 {
    PTHREAD_MUTEX_TIMED_NP___313 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___313 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___313 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___313 = 3,
    PTHREAD_MUTEX_NORMAL___313 = 0,
    PTHREAD_MUTEX_RECURSIVE___313 = 1,
    PTHREAD_MUTEX_ERRORCHECK___313 = 2,
    PTHREAD_MUTEX_DEFAULT___313 = 0,
    PTHREAD_MUTEX_FAST_NP___313 = 0
} ;
enum __anonenum_931900394___313 {
    PTHREAD_MUTEX_STALLED___313 = 0,
    PTHREAD_MUTEX_STALLED_NP___313 = 0,
    PTHREAD_MUTEX_ROBUST___313 = 1,
    PTHREAD_MUTEX_ROBUST_NP___313 = 1
} ;
enum __anonenum_205214487___313 {
    PTHREAD_PRIO_NONE___313 = 0,
    PTHREAD_PRIO_INHERIT___313 = 1,
    PTHREAD_PRIO_PROTECT___313 = 2
} ;
enum __anonenum_25043950___313 {
    PTHREAD_RWLOCK_PREFER_READER_NP___313 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___313 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___313 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___313 = 0
} ;
enum __anonenum_436439511___313 {
    PTHREAD_INHERIT_SCHED___313 = 0,
    PTHREAD_EXPLICIT_SCHED___313 = 1
} ;
enum __anonenum_998661166___313 {
    PTHREAD_SCOPE_SYSTEM___313 = 0,
    PTHREAD_SCOPE_PROCESS___313 = 1
} ;
enum __anonenum_146137331___313 {
    PTHREAD_PROCESS_PRIVATE___313 = 0,
    PTHREAD_PROCESS_SHARED___313 = 1
} ;
enum __anonenum_53396917___313 {
    PTHREAD_CANCEL_ENABLE___313 = 0,
    PTHREAD_CANCEL_DISABLE___313 = 1
} ;
enum __anonenum_904563783___313 {
    PTHREAD_CANCEL_DEFERRED___313 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___313 = 1
} ;
enum __anonenum_672052974___313 {
    SSL_CT_VALIDATION_PERMISSIVE___313 = 0,
    SSL_CT_VALIDATION_STRICT___313 = 1
} ;
enum __anonenum_437032235___314 {
    _PC_LINK_MAX___314 = 0,
    _PC_MAX_CANON___314 = 1,
    _PC_MAX_INPUT___314 = 2,
    _PC_NAME_MAX___314 = 3,
    _PC_PATH_MAX___314 = 4,
    _PC_PIPE_BUF___314 = 5,
    _PC_CHOWN_RESTRICTED___314 = 6,
    _PC_NO_TRUNC___314 = 7,
    _PC_VDISABLE___314 = 8,
    _PC_SYNC_IO___314 = 9,
    _PC_ASYNC_IO___314 = 10,
    _PC_PRIO_IO___314 = 11,
    _PC_SOCK_MAXBUF___314 = 12,
    _PC_FILESIZEBITS___314 = 13,
    _PC_REC_INCR_XFER_SIZE___314 = 14,
    _PC_REC_MAX_XFER_SIZE___314 = 15,
    _PC_REC_MIN_XFER_SIZE___314 = 16,
    _PC_REC_XFER_ALIGN___314 = 17,
    _PC_ALLOC_SIZE_MIN___314 = 18,
    _PC_SYMLINK_MAX___314 = 19,
    _PC_2_SYMLINKS___314 = 20
} ;
enum __anonenum_315186338___314 {
    _SC_ARG_MAX___314 = 0,
    _SC_CHILD_MAX___314 = 1,
    _SC_CLK_TCK___314 = 2,
    _SC_NGROUPS_MAX___314 = 3,
    _SC_OPEN_MAX___314 = 4,
    _SC_STREAM_MAX___314 = 5,
    _SC_TZNAME_MAX___314 = 6,
    _SC_JOB_CONTROL___314 = 7,
    _SC_SAVED_IDS___314 = 8,
    _SC_REALTIME_SIGNALS___314 = 9,
    _SC_PRIORITY_SCHEDULING___314 = 10,
    _SC_TIMERS___314 = 11,
    _SC_ASYNCHRONOUS_IO___314 = 12,
    _SC_PRIORITIZED_IO___314 = 13,
    _SC_SYNCHRONIZED_IO___314 = 14,
    _SC_FSYNC___314 = 15,
    _SC_MAPPED_FILES___314 = 16,
    _SC_MEMLOCK___314 = 17,
    _SC_MEMLOCK_RANGE___314 = 18,
    _SC_MEMORY_PROTECTION___314 = 19,
    _SC_MESSAGE_PASSING___314 = 20,
    _SC_SEMAPHORES___314 = 21,
    _SC_SHARED_MEMORY_OBJECTS___314 = 22,
    _SC_AIO_LISTIO_MAX___314 = 23,
    _SC_AIO_MAX___314 = 24,
    _SC_AIO_PRIO_DELTA_MAX___314 = 25,
    _SC_DELAYTIMER_MAX___314 = 26,
    _SC_MQ_OPEN_MAX___314 = 27,
    _SC_MQ_PRIO_MAX___314 = 28,
    _SC_VERSION___314 = 29,
    _SC_PAGESIZE___314 = 30,
    _SC_RTSIG_MAX___314 = 31,
    _SC_SEM_NSEMS_MAX___314 = 32,
    _SC_SEM_VALUE_MAX___314 = 33,
    _SC_SIGQUEUE_MAX___314 = 34,
    _SC_TIMER_MAX___314 = 35,
    _SC_BC_BASE_MAX___314 = 36,
    _SC_BC_DIM_MAX___314 = 37,
    _SC_BC_SCALE_MAX___314 = 38,
    _SC_BC_STRING_MAX___314 = 39,
    _SC_COLL_WEIGHTS_MAX___314 = 40,
    _SC_EQUIV_CLASS_MAX___314 = 41,
    _SC_EXPR_NEST_MAX___314 = 42,
    _SC_LINE_MAX___314 = 43,
    _SC_RE_DUP_MAX___314 = 44,
    _SC_CHARCLASS_NAME_MAX___314 = 45,
    _SC_2_VERSION___314 = 46,
    _SC_2_C_BIND___314 = 47,
    _SC_2_C_DEV___314 = 48,
    _SC_2_FORT_DEV___314 = 49,
    _SC_2_FORT_RUN___314 = 50,
    _SC_2_SW_DEV___314 = 51,
    _SC_2_LOCALEDEF___314 = 52,
    _SC_PII___314 = 53,
    _SC_PII_XTI___314 = 54,
    _SC_PII_SOCKET___314 = 55,
    _SC_PII_INTERNET___314 = 56,
    _SC_PII_OSI___314 = 57,
    _SC_POLL___314 = 58,
    _SC_SELECT___314 = 59,
    _SC_UIO_MAXIOV___314 = 60,
    _SC_IOV_MAX___314 = 60,
    _SC_PII_INTERNET_STREAM___314 = 61,
    _SC_PII_INTERNET_DGRAM___314 = 62,
    _SC_PII_OSI_COTS___314 = 63,
    _SC_PII_OSI_CLTS___314 = 64,
    _SC_PII_OSI_M___314 = 65,
    _SC_T_IOV_MAX___314 = 66,
    _SC_THREADS___314 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___314 = 68,
    _SC_GETGR_R_SIZE_MAX___314 = 69,
    _SC_GETPW_R_SIZE_MAX___314 = 70,
    _SC_LOGIN_NAME_MAX___314 = 71,
    _SC_TTY_NAME_MAX___314 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___314 = 73,
    _SC_THREAD_KEYS_MAX___314 = 74,
    _SC_THREAD_STACK_MIN___314 = 75,
    _SC_THREAD_THREADS_MAX___314 = 76,
    _SC_THREAD_ATTR_STACKADDR___314 = 77,
    _SC_THREAD_ATTR_STACKSIZE___314 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___314 = 79,
    _SC_THREAD_PRIO_INHERIT___314 = 80,
    _SC_THREAD_PRIO_PROTECT___314 = 81,
    _SC_THREAD_PROCESS_SHARED___314 = 82,
    _SC_NPROCESSORS_CONF___314 = 83,
    _SC_NPROCESSORS_ONLN___314 = 84,
    _SC_PHYS_PAGES___314 = 85,
    _SC_AVPHYS_PAGES___314 = 86,
    _SC_ATEXIT_MAX___314 = 87,
    _SC_PASS_MAX___314 = 88,
    _SC_XOPEN_VERSION___314 = 89,
    _SC_XOPEN_XCU_VERSION___314 = 90,
    _SC_XOPEN_UNIX___314 = 91,
    _SC_XOPEN_CRYPT___314 = 92,
    _SC_XOPEN_ENH_I18N___314 = 93,
    _SC_XOPEN_SHM___314 = 94,
    _SC_2_CHAR_TERM___314 = 95,
    _SC_2_C_VERSION___314 = 96,
    _SC_2_UPE___314 = 97,
    _SC_XOPEN_XPG2___314 = 98,
    _SC_XOPEN_XPG3___314 = 99,
    _SC_XOPEN_XPG4___314 = 100,
    _SC_CHAR_BIT___314 = 101,
    _SC_CHAR_MAX___314 = 102,
    _SC_CHAR_MIN___314 = 103,
    _SC_INT_MAX___314 = 104,
    _SC_INT_MIN___314 = 105,
    _SC_LONG_BIT___314 = 106,
    _SC_WORD_BIT___314 = 107,
    _SC_MB_LEN_MAX___314 = 108,
    _SC_NZERO___314 = 109,
    _SC_SSIZE_MAX___314 = 110,
    _SC_SCHAR_MAX___314 = 111,
    _SC_SCHAR_MIN___314 = 112,
    _SC_SHRT_MAX___314 = 113,
    _SC_SHRT_MIN___314 = 114,
    _SC_UCHAR_MAX___314 = 115,
    _SC_UINT_MAX___314 = 116,
    _SC_ULONG_MAX___314 = 117,
    _SC_USHRT_MAX___314 = 118,
    _SC_NL_ARGMAX___314 = 119,
    _SC_NL_LANGMAX___314 = 120,
    _SC_NL_MSGMAX___314 = 121,
    _SC_NL_NMAX___314 = 122,
    _SC_NL_SETMAX___314 = 123,
    _SC_NL_TEXTMAX___314 = 124,
    _SC_XBS5_ILP32_OFF32___314 = 125,
    _SC_XBS5_ILP32_OFFBIG___314 = 126,
    _SC_XBS5_LP64_OFF64___314 = 127,
    _SC_XBS5_LPBIG_OFFBIG___314 = 128,
    _SC_XOPEN_LEGACY___314 = 129,
    _SC_XOPEN_REALTIME___314 = 130,
    _SC_XOPEN_REALTIME_THREADS___314 = 131,
    _SC_ADVISORY_INFO___314 = 132,
    _SC_BARRIERS___314 = 133,
    _SC_BASE___314 = 134,
    _SC_C_LANG_SUPPORT___314 = 135,
    _SC_C_LANG_SUPPORT_R___314 = 136,
    _SC_CLOCK_SELECTION___314 = 137,
    _SC_CPUTIME___314 = 138,
    _SC_THREAD_CPUTIME___314 = 139,
    _SC_DEVICE_IO___314 = 140,
    _SC_DEVICE_SPECIFIC___314 = 141,
    _SC_DEVICE_SPECIFIC_R___314 = 142,
    _SC_FD_MGMT___314 = 143,
    _SC_FIFO___314 = 144,
    _SC_PIPE___314 = 145,
    _SC_FILE_ATTRIBUTES___314 = 146,
    _SC_FILE_LOCKING___314 = 147,
    _SC_FILE_SYSTEM___314 = 148,
    _SC_MONOTONIC_CLOCK___314 = 149,
    _SC_MULTI_PROCESS___314 = 150,
    _SC_SINGLE_PROCESS___314 = 151,
    _SC_NETWORKING___314 = 152,
    _SC_READER_WRITER_LOCKS___314 = 153,
    _SC_SPIN_LOCKS___314 = 154,
    _SC_REGEXP___314 = 155,
    _SC_REGEX_VERSION___314 = 156,
    _SC_SHELL___314 = 157,
    _SC_SIGNALS___314 = 158,
    _SC_SPAWN___314 = 159,
    _SC_SPORADIC_SERVER___314 = 160,
    _SC_THREAD_SPORADIC_SERVER___314 = 161,
    _SC_SYSTEM_DATABASE___314 = 162,
    _SC_SYSTEM_DATABASE_R___314 = 163,
    _SC_TIMEOUTS___314 = 164,
    _SC_TYPED_MEMORY_OBJECTS___314 = 165,
    _SC_USER_GROUPS___314 = 166,
    _SC_USER_GROUPS_R___314 = 167,
    _SC_2_PBS___314 = 168,
    _SC_2_PBS_ACCOUNTING___314 = 169,
    _SC_2_PBS_LOCATE___314 = 170,
    _SC_2_PBS_MESSAGE___314 = 171,
    _SC_2_PBS_TRACK___314 = 172,
    _SC_SYMLOOP_MAX___314 = 173,
    _SC_STREAMS___314 = 174,
    _SC_2_PBS_CHECKPOINT___314 = 175,
    _SC_V6_ILP32_OFF32___314 = 176,
    _SC_V6_ILP32_OFFBIG___314 = 177,
    _SC_V6_LP64_OFF64___314 = 178,
    _SC_V6_LPBIG_OFFBIG___314 = 179,
    _SC_HOST_NAME_MAX___314 = 180,
    _SC_TRACE___314 = 181,
    _SC_TRACE_EVENT_FILTER___314 = 182,
    _SC_TRACE_INHERIT___314 = 183,
    _SC_TRACE_LOG___314 = 184,
    _SC_LEVEL1_ICACHE_SIZE___314 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___314 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___314 = 187,
    _SC_LEVEL1_DCACHE_SIZE___314 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___314 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___314 = 190,
    _SC_LEVEL2_CACHE_SIZE___314 = 191,
    _SC_LEVEL2_CACHE_ASSOC___314 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___314 = 193,
    _SC_LEVEL3_CACHE_SIZE___314 = 194,
    _SC_LEVEL3_CACHE_ASSOC___314 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___314 = 196,
    _SC_LEVEL4_CACHE_SIZE___314 = 197,
    _SC_LEVEL4_CACHE_ASSOC___314 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___314 = 199,
    _SC_IPV6___314 = 235,
    _SC_RAW_SOCKETS___314 = 236,
    _SC_V7_ILP32_OFF32___314 = 237,
    _SC_V7_ILP32_OFFBIG___314 = 238,
    _SC_V7_LP64_OFF64___314 = 239,
    _SC_V7_LPBIG_OFFBIG___314 = 240,
    _SC_SS_REPL_MAX___314 = 241,
    _SC_TRACE_EVENT_NAME_MAX___314 = 242,
    _SC_TRACE_NAME_MAX___314 = 243,
    _SC_TRACE_SYS_MAX___314 = 244,
    _SC_TRACE_USER_EVENT_MAX___314 = 245,
    _SC_XOPEN_STREAMS___314 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___314 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___314 = 248
} ;
enum __anonenum_875524036___314 {
    _CS_PATH___314 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___314 = 1,
    _CS_GNU_LIBC_VERSION___314 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___314 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___314 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___314 = 5,
    _CS_LFS_CFLAGS___314 = 1000,
    _CS_LFS_LDFLAGS___314 = 1001,
    _CS_LFS_LIBS___314 = 1002,
    _CS_LFS_LINTFLAGS___314 = 1003,
    _CS_LFS64_CFLAGS___314 = 1004,
    _CS_LFS64_LDFLAGS___314 = 1005,
    _CS_LFS64_LIBS___314 = 1006,
    _CS_LFS64_LINTFLAGS___314 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___314 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___314 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___314 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___314 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___314 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___314 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___314 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___314 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___314 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___314 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___314 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___314 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___314 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___314 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___314 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___314 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___314 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___314 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___314 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___314 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___314 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___314 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___314 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___314 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___314 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___314 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___314 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___314 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___314 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___314 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___314 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___314 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___314 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___314 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___314 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___314 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___314 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___314 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___314 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___314 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___314 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___314 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___314 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___314 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___314 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___314 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___314 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___314 = 1147,
    _CS_V6_ENV___314 = 1148,
    _CS_V7_ENV___314 = 1149
} ;
enum __anonenum_513775621___314 {
    DT_UNKNOWN___314 = 0,
    DT_FIFO___314 = 1,
    DT_CHR___314 = 2,
    DT_DIR___314 = 4,
    DT_BLK___314 = 6,
    DT_REG___314 = 8,
    DT_LNK___314 = 10,
    DT_SOCK___314 = 12,
    DT_WHT___314 = 14
} ;
enum __anonenum_77002343___314 {
    SI_ASYNCNL___314 = -60,
    SI_TKILL___314 = -6,
    SI_SIGIO___314 = -5,
    SI_ASYNCIO___314 = -4,
    SI_MESGQ___314 = -3,
    SI_TIMER___314 = -2,
    SI_QUEUE___314 = -1,
    SI_USER___314 = 0,
    SI_KERNEL___314 = 128
} ;
enum __anonenum_131038172___314 {
    ILL_ILLOPC___314 = 1,
    ILL_ILLOPN___314 = 2,
    ILL_ILLADR___314 = 3,
    ILL_ILLTRP___314 = 4,
    ILL_PRVOPC___314 = 5,
    ILL_PRVREG___314 = 6,
    ILL_COPROC___314 = 7,
    ILL_BADSTK___314 = 8
} ;
enum __anonenum_452038093___314 {
    FPE_INTDIV___314 = 1,
    FPE_INTOVF___314 = 2,
    FPE_FLTDIV___314 = 3,
    FPE_FLTOVF___314 = 4,
    FPE_FLTUND___314 = 5,
    FPE_FLTRES___314 = 6,
    FPE_FLTINV___314 = 7,
    FPE_FLTSUB___314 = 8
} ;
enum __anonenum_30976155___314 {
    SEGV_MAPERR___314 = 1,
    SEGV_ACCERR___314 = 2,
    SEGV_BNDERR___314 = 3,
    SEGV_PKUERR___314 = 4
} ;
enum __anonenum_1036286214___314 {
    BUS_ADRALN___314 = 1,
    BUS_ADRERR___314 = 2,
    BUS_OBJERR___314 = 3,
    BUS_MCEERR_AR___314 = 4,
    BUS_MCEERR_AO___314 = 5
} ;
enum __anonenum_493465559___314 {
    TRAP_BRKPT___314 = 1,
    TRAP_TRACE___314 = 2
} ;
enum __anonenum_23175539___314 {
    CLD_EXITED___314 = 1,
    CLD_KILLED___314 = 2,
    CLD_DUMPED___314 = 3,
    CLD_TRAPPED___314 = 4,
    CLD_STOPPED___314 = 5,
    CLD_CONTINUED___314 = 6
} ;
enum __anonenum_111643124___314 {
    POLL_IN___314 = 1,
    POLL_OUT___314 = 2,
    POLL_MSG___314 = 3,
    POLL_ERR___314 = 4,
    POLL_PRI___314 = 5,
    POLL_HUP___314 = 6
} ;
enum __anonenum_852341087___314 {
    SIGEV_SIGNAL___314 = 0,
    SIGEV_NONE___314 = 1,
    SIGEV_THREAD___314 = 2,
    SIGEV_THREAD_ID___314 = 4
} ;
enum __anonenum_451154152___314 {
    REG_R8___314 = 0,
    REG_R9___314 = 1,
    REG_R10___314 = 2,
    REG_R11___314 = 3,
    REG_R12___314 = 4,
    REG_R13___314 = 5,
    REG_R14___314 = 6,
    REG_R15___314 = 7,
    REG_RDI___314 = 8,
    REG_RSI___314 = 9,
    REG_RBP___314 = 10,
    REG_RBX___314 = 11,
    REG_RDX___314 = 12,
    REG_RAX___314 = 13,
    REG_RCX___314 = 14,
    REG_RSP___314 = 15,
    REG_RIP___314 = 16,
    REG_EFL___314 = 17,
    REG_CSGSFS___314 = 18,
    REG_ERR___314 = 19,
    REG_TRAPNO___314 = 20,
    REG_OLDMASK___314 = 21,
    REG_CR2___314 = 22
} ;
enum __anonenum_57186863___314 {
    SS_ONSTACK___314 = 1,
    SS_DISABLE___314 = 2
} ;
enum __anonenum_83571709___314 {
    MSG_OOB___314 = 1,
    MSG_PEEK___314 = 2,
    MSG_DONTROUTE___314 = 4,
    MSG_TRYHARD___314 = 4,
    MSG_CTRUNC___314 = 8,
    MSG_PROXY___314 = 16,
    MSG_TRUNC___314 = 32,
    MSG_DONTWAIT___314 = 64,
    MSG_EOR___314 = 128,
    MSG_WAITALL___314 = 256,
    MSG_FIN___314 = 512,
    MSG_SYN___314 = 1024,
    MSG_CONFIRM___314 = 2048,
    MSG_RST___314 = 4096,
    MSG_ERRQUEUE___314 = 8192,
    MSG_NOSIGNAL___314 = 16384,
    MSG_MORE___314 = 32768,
    MSG_WAITFORONE___314 = 65536,
    MSG_BATCH___314 = 262144,
    MSG_ZEROCOPY___314 = 67108864,
    MSG_FASTOPEN___314 = 536870912,
    MSG_CMSG_CLOEXEC___314 = 1073741824
} ;
enum __anonenum_617082774___314 {
    SCM_RIGHTS___314 = 1,
    SCM_CREDENTIALS___314 = 2
} ;
enum __anonenum_606441560___314 {
    SHUT_RD___314 = 0,
    SHUT_WR___314 = 1,
    SHUT_RDWR___314 = 2
} ;
enum __anonenum_681669233___314 {
    IPPROTO_IP___314 = 0,
    IPPROTO_ICMP___314 = 1,
    IPPROTO_IGMP___314 = 2,
    IPPROTO_IPIP___314 = 4,
    IPPROTO_TCP___314 = 6,
    IPPROTO_EGP___314 = 8,
    IPPROTO_PUP___314 = 12,
    IPPROTO_UDP___314 = 17,
    IPPROTO_IDP___314 = 22,
    IPPROTO_TP___314 = 29,
    IPPROTO_DCCP___314 = 33,
    IPPROTO_IPV6___314 = 41,
    IPPROTO_RSVP___314 = 46,
    IPPROTO_GRE___314 = 47,
    IPPROTO_ESP___314 = 50,
    IPPROTO_AH___314 = 51,
    IPPROTO_MTP___314 = 92,
    IPPROTO_BEETPH___314 = 94,
    IPPROTO_ENCAP___314 = 98,
    IPPROTO_PIM___314 = 103,
    IPPROTO_COMP___314 = 108,
    IPPROTO_SCTP___314 = 132,
    IPPROTO_UDPLITE___314 = 136,
    IPPROTO_MPLS___314 = 137,
    IPPROTO_RAW___314 = 255,
    IPPROTO_MAX___314 = 256
} ;
enum __anonenum_218739988___314 {
    IPPROTO_HOPOPTS___314 = 0,
    IPPROTO_ROUTING___314 = 43,
    IPPROTO_FRAGMENT___314 = 44,
    IPPROTO_ICMPV6___314 = 58,
    IPPROTO_NONE___314 = 59,
    IPPROTO_DSTOPTS___314 = 60,
    IPPROTO_MH___314 = 135
} ;
enum __anonenum_662268580___314 {
    IPPORT_ECHO___314 = 7,
    IPPORT_DISCARD___314 = 9,
    IPPORT_SYSTAT___314 = 11,
    IPPORT_DAYTIME___314 = 13,
    IPPORT_NETSTAT___314 = 15,
    IPPORT_FTP___314 = 21,
    IPPORT_TELNET___314 = 23,
    IPPORT_SMTP___314 = 25,
    IPPORT_TIMESERVER___314 = 37,
    IPPORT_NAMESERVER___314 = 42,
    IPPORT_WHOIS___314 = 43,
    IPPORT_MTP___314 = 57,
    IPPORT_TFTP___314 = 69,
    IPPORT_RJE___314 = 77,
    IPPORT_FINGER___314 = 79,
    IPPORT_TTYLINK___314 = 87,
    IPPORT_SUPDUP___314 = 95,
    IPPORT_EXECSERVER___314 = 512,
    IPPORT_LOGINSERVER___314 = 513,
    IPPORT_CMDSERVER___314 = 514,
    IPPORT_EFSSERVER___314 = 520,
    IPPORT_BIFFUDP___314 = 512,
    IPPORT_WHOSERVER___314 = 513,
    IPPORT_ROUTESERVER___314 = 520,
    IPPORT_RESERVED___314 = 1024,
    IPPORT_USERRESERVED___314 = 5000
} ;
enum __anonenum_788308992___314 {
    TCP_ESTABLISHED___314 = 1,
    TCP_SYN_SENT___314 = 2,
    TCP_SYN_RECV___314 = 3,
    TCP_FIN_WAIT1___314 = 4,
    TCP_FIN_WAIT2___314 = 5,
    TCP_TIME_WAIT___314 = 6,
    TCP_CLOSE___314 = 7,
    TCP_CLOSE_WAIT___314 = 8,
    TCP_LAST_ACK___314 = 9,
    TCP_LISTEN___314 = 10,
    TCP_CLOSING___314 = 11
} ;
enum __anonenum_221125648___314 {
    TCP_NO_QUEUE___314 = 0,
    TCP_RECV_QUEUE___314 = 1,
    TCP_SEND_QUEUE___314 = 2,
    TCP_QUEUES_NR___314 = 3
} ;
enum __anonenum_34415463___314 {
    PTHREAD_CREATE_JOINABLE___314 = 0,
    PTHREAD_CREATE_DETACHED___314 = 1
} ;
enum __anonenum_303612439___314 {
    PTHREAD_MUTEX_TIMED_NP___314 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___314 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___314 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___314 = 3,
    PTHREAD_MUTEX_NORMAL___314 = 0,
    PTHREAD_MUTEX_RECURSIVE___314 = 1,
    PTHREAD_MUTEX_ERRORCHECK___314 = 2,
    PTHREAD_MUTEX_DEFAULT___314 = 0,
    PTHREAD_MUTEX_FAST_NP___314 = 0
} ;
enum __anonenum_931900394___314 {
    PTHREAD_MUTEX_STALLED___314 = 0,
    PTHREAD_MUTEX_STALLED_NP___314 = 0,
    PTHREAD_MUTEX_ROBUST___314 = 1,
    PTHREAD_MUTEX_ROBUST_NP___314 = 1
} ;
enum __anonenum_205214487___314 {
    PTHREAD_PRIO_NONE___314 = 0,
    PTHREAD_PRIO_INHERIT___314 = 1,
    PTHREAD_PRIO_PROTECT___314 = 2
} ;
enum __anonenum_25043950___314 {
    PTHREAD_RWLOCK_PREFER_READER_NP___314 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___314 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___314 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___314 = 0
} ;
enum __anonenum_436439511___314 {
    PTHREAD_INHERIT_SCHED___314 = 0,
    PTHREAD_EXPLICIT_SCHED___314 = 1
} ;
enum __anonenum_998661166___314 {
    PTHREAD_SCOPE_SYSTEM___314 = 0,
    PTHREAD_SCOPE_PROCESS___314 = 1
} ;
enum __anonenum_146137331___314 {
    PTHREAD_PROCESS_PRIVATE___314 = 0,
    PTHREAD_PROCESS_SHARED___314 = 1
} ;
enum __anonenum_53396917___314 {
    PTHREAD_CANCEL_ENABLE___314 = 0,
    PTHREAD_CANCEL_DISABLE___314 = 1
} ;
enum __anonenum_904563783___314 {
    PTHREAD_CANCEL_DEFERRED___314 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___314 = 1
} ;
enum __anonenum_672052974___314 {
    SSL_CT_VALIDATION_PERMISSIVE___314 = 0,
    SSL_CT_VALIDATION_STRICT___314 = 1
} ;
struct for_each_loose_cb {
   struct progress *progress ;
   struct strbuf obj_type ;
};
enum __anonenum_437032235___315 {
    _PC_LINK_MAX___315 = 0,
    _PC_MAX_CANON___315 = 1,
    _PC_MAX_INPUT___315 = 2,
    _PC_NAME_MAX___315 = 3,
    _PC_PATH_MAX___315 = 4,
    _PC_PIPE_BUF___315 = 5,
    _PC_CHOWN_RESTRICTED___315 = 6,
    _PC_NO_TRUNC___315 = 7,
    _PC_VDISABLE___315 = 8,
    _PC_SYNC_IO___315 = 9,
    _PC_ASYNC_IO___315 = 10,
    _PC_PRIO_IO___315 = 11,
    _PC_SOCK_MAXBUF___315 = 12,
    _PC_FILESIZEBITS___315 = 13,
    _PC_REC_INCR_XFER_SIZE___315 = 14,
    _PC_REC_MAX_XFER_SIZE___315 = 15,
    _PC_REC_MIN_XFER_SIZE___315 = 16,
    _PC_REC_XFER_ALIGN___315 = 17,
    _PC_ALLOC_SIZE_MIN___315 = 18,
    _PC_SYMLINK_MAX___315 = 19,
    _PC_2_SYMLINKS___315 = 20
} ;
enum __anonenum_315186338___315 {
    _SC_ARG_MAX___315 = 0,
    _SC_CHILD_MAX___315 = 1,
    _SC_CLK_TCK___315 = 2,
    _SC_NGROUPS_MAX___315 = 3,
    _SC_OPEN_MAX___315 = 4,
    _SC_STREAM_MAX___315 = 5,
    _SC_TZNAME_MAX___315 = 6,
    _SC_JOB_CONTROL___315 = 7,
    _SC_SAVED_IDS___315 = 8,
    _SC_REALTIME_SIGNALS___315 = 9,
    _SC_PRIORITY_SCHEDULING___315 = 10,
    _SC_TIMERS___315 = 11,
    _SC_ASYNCHRONOUS_IO___315 = 12,
    _SC_PRIORITIZED_IO___315 = 13,
    _SC_SYNCHRONIZED_IO___315 = 14,
    _SC_FSYNC___315 = 15,
    _SC_MAPPED_FILES___315 = 16,
    _SC_MEMLOCK___315 = 17,
    _SC_MEMLOCK_RANGE___315 = 18,
    _SC_MEMORY_PROTECTION___315 = 19,
    _SC_MESSAGE_PASSING___315 = 20,
    _SC_SEMAPHORES___315 = 21,
    _SC_SHARED_MEMORY_OBJECTS___315 = 22,
    _SC_AIO_LISTIO_MAX___315 = 23,
    _SC_AIO_MAX___315 = 24,
    _SC_AIO_PRIO_DELTA_MAX___315 = 25,
    _SC_DELAYTIMER_MAX___315 = 26,
    _SC_MQ_OPEN_MAX___315 = 27,
    _SC_MQ_PRIO_MAX___315 = 28,
    _SC_VERSION___315 = 29,
    _SC_PAGESIZE___315 = 30,
    _SC_RTSIG_MAX___315 = 31,
    _SC_SEM_NSEMS_MAX___315 = 32,
    _SC_SEM_VALUE_MAX___315 = 33,
    _SC_SIGQUEUE_MAX___315 = 34,
    _SC_TIMER_MAX___315 = 35,
    _SC_BC_BASE_MAX___315 = 36,
    _SC_BC_DIM_MAX___315 = 37,
    _SC_BC_SCALE_MAX___315 = 38,
    _SC_BC_STRING_MAX___315 = 39,
    _SC_COLL_WEIGHTS_MAX___315 = 40,
    _SC_EQUIV_CLASS_MAX___315 = 41,
    _SC_EXPR_NEST_MAX___315 = 42,
    _SC_LINE_MAX___315 = 43,
    _SC_RE_DUP_MAX___315 = 44,
    _SC_CHARCLASS_NAME_MAX___315 = 45,
    _SC_2_VERSION___315 = 46,
    _SC_2_C_BIND___315 = 47,
    _SC_2_C_DEV___315 = 48,
    _SC_2_FORT_DEV___315 = 49,
    _SC_2_FORT_RUN___315 = 50,
    _SC_2_SW_DEV___315 = 51,
    _SC_2_LOCALEDEF___315 = 52,
    _SC_PII___315 = 53,
    _SC_PII_XTI___315 = 54,
    _SC_PII_SOCKET___315 = 55,
    _SC_PII_INTERNET___315 = 56,
    _SC_PII_OSI___315 = 57,
    _SC_POLL___315 = 58,
    _SC_SELECT___315 = 59,
    _SC_UIO_MAXIOV___315 = 60,
    _SC_IOV_MAX___315 = 60,
    _SC_PII_INTERNET_STREAM___315 = 61,
    _SC_PII_INTERNET_DGRAM___315 = 62,
    _SC_PII_OSI_COTS___315 = 63,
    _SC_PII_OSI_CLTS___315 = 64,
    _SC_PII_OSI_M___315 = 65,
    _SC_T_IOV_MAX___315 = 66,
    _SC_THREADS___315 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___315 = 68,
    _SC_GETGR_R_SIZE_MAX___315 = 69,
    _SC_GETPW_R_SIZE_MAX___315 = 70,
    _SC_LOGIN_NAME_MAX___315 = 71,
    _SC_TTY_NAME_MAX___315 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___315 = 73,
    _SC_THREAD_KEYS_MAX___315 = 74,
    _SC_THREAD_STACK_MIN___315 = 75,
    _SC_THREAD_THREADS_MAX___315 = 76,
    _SC_THREAD_ATTR_STACKADDR___315 = 77,
    _SC_THREAD_ATTR_STACKSIZE___315 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___315 = 79,
    _SC_THREAD_PRIO_INHERIT___315 = 80,
    _SC_THREAD_PRIO_PROTECT___315 = 81,
    _SC_THREAD_PROCESS_SHARED___315 = 82,
    _SC_NPROCESSORS_CONF___315 = 83,
    _SC_NPROCESSORS_ONLN___315 = 84,
    _SC_PHYS_PAGES___315 = 85,
    _SC_AVPHYS_PAGES___315 = 86,
    _SC_ATEXIT_MAX___315 = 87,
    _SC_PASS_MAX___315 = 88,
    _SC_XOPEN_VERSION___315 = 89,
    _SC_XOPEN_XCU_VERSION___315 = 90,
    _SC_XOPEN_UNIX___315 = 91,
    _SC_XOPEN_CRYPT___315 = 92,
    _SC_XOPEN_ENH_I18N___315 = 93,
    _SC_XOPEN_SHM___315 = 94,
    _SC_2_CHAR_TERM___315 = 95,
    _SC_2_C_VERSION___315 = 96,
    _SC_2_UPE___315 = 97,
    _SC_XOPEN_XPG2___315 = 98,
    _SC_XOPEN_XPG3___315 = 99,
    _SC_XOPEN_XPG4___315 = 100,
    _SC_CHAR_BIT___315 = 101,
    _SC_CHAR_MAX___315 = 102,
    _SC_CHAR_MIN___315 = 103,
    _SC_INT_MAX___315 = 104,
    _SC_INT_MIN___315 = 105,
    _SC_LONG_BIT___315 = 106,
    _SC_WORD_BIT___315 = 107,
    _SC_MB_LEN_MAX___315 = 108,
    _SC_NZERO___315 = 109,
    _SC_SSIZE_MAX___315 = 110,
    _SC_SCHAR_MAX___315 = 111,
    _SC_SCHAR_MIN___315 = 112,
    _SC_SHRT_MAX___315 = 113,
    _SC_SHRT_MIN___315 = 114,
    _SC_UCHAR_MAX___315 = 115,
    _SC_UINT_MAX___315 = 116,
    _SC_ULONG_MAX___315 = 117,
    _SC_USHRT_MAX___315 = 118,
    _SC_NL_ARGMAX___315 = 119,
    _SC_NL_LANGMAX___315 = 120,
    _SC_NL_MSGMAX___315 = 121,
    _SC_NL_NMAX___315 = 122,
    _SC_NL_SETMAX___315 = 123,
    _SC_NL_TEXTMAX___315 = 124,
    _SC_XBS5_ILP32_OFF32___315 = 125,
    _SC_XBS5_ILP32_OFFBIG___315 = 126,
    _SC_XBS5_LP64_OFF64___315 = 127,
    _SC_XBS5_LPBIG_OFFBIG___315 = 128,
    _SC_XOPEN_LEGACY___315 = 129,
    _SC_XOPEN_REALTIME___315 = 130,
    _SC_XOPEN_REALTIME_THREADS___315 = 131,
    _SC_ADVISORY_INFO___315 = 132,
    _SC_BARRIERS___315 = 133,
    _SC_BASE___315 = 134,
    _SC_C_LANG_SUPPORT___315 = 135,
    _SC_C_LANG_SUPPORT_R___315 = 136,
    _SC_CLOCK_SELECTION___315 = 137,
    _SC_CPUTIME___315 = 138,
    _SC_THREAD_CPUTIME___315 = 139,
    _SC_DEVICE_IO___315 = 140,
    _SC_DEVICE_SPECIFIC___315 = 141,
    _SC_DEVICE_SPECIFIC_R___315 = 142,
    _SC_FD_MGMT___315 = 143,
    _SC_FIFO___315 = 144,
    _SC_PIPE___315 = 145,
    _SC_FILE_ATTRIBUTES___315 = 146,
    _SC_FILE_LOCKING___315 = 147,
    _SC_FILE_SYSTEM___315 = 148,
    _SC_MONOTONIC_CLOCK___315 = 149,
    _SC_MULTI_PROCESS___315 = 150,
    _SC_SINGLE_PROCESS___315 = 151,
    _SC_NETWORKING___315 = 152,
    _SC_READER_WRITER_LOCKS___315 = 153,
    _SC_SPIN_LOCKS___315 = 154,
    _SC_REGEXP___315 = 155,
    _SC_REGEX_VERSION___315 = 156,
    _SC_SHELL___315 = 157,
    _SC_SIGNALS___315 = 158,
    _SC_SPAWN___315 = 159,
    _SC_SPORADIC_SERVER___315 = 160,
    _SC_THREAD_SPORADIC_SERVER___315 = 161,
    _SC_SYSTEM_DATABASE___315 = 162,
    _SC_SYSTEM_DATABASE_R___315 = 163,
    _SC_TIMEOUTS___315 = 164,
    _SC_TYPED_MEMORY_OBJECTS___315 = 165,
    _SC_USER_GROUPS___315 = 166,
    _SC_USER_GROUPS_R___315 = 167,
    _SC_2_PBS___315 = 168,
    _SC_2_PBS_ACCOUNTING___315 = 169,
    _SC_2_PBS_LOCATE___315 = 170,
    _SC_2_PBS_MESSAGE___315 = 171,
    _SC_2_PBS_TRACK___315 = 172,
    _SC_SYMLOOP_MAX___315 = 173,
    _SC_STREAMS___315 = 174,
    _SC_2_PBS_CHECKPOINT___315 = 175,
    _SC_V6_ILP32_OFF32___315 = 176,
    _SC_V6_ILP32_OFFBIG___315 = 177,
    _SC_V6_LP64_OFF64___315 = 178,
    _SC_V6_LPBIG_OFFBIG___315 = 179,
    _SC_HOST_NAME_MAX___315 = 180,
    _SC_TRACE___315 = 181,
    _SC_TRACE_EVENT_FILTER___315 = 182,
    _SC_TRACE_INHERIT___315 = 183,
    _SC_TRACE_LOG___315 = 184,
    _SC_LEVEL1_ICACHE_SIZE___315 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___315 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___315 = 187,
    _SC_LEVEL1_DCACHE_SIZE___315 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___315 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___315 = 190,
    _SC_LEVEL2_CACHE_SIZE___315 = 191,
    _SC_LEVEL2_CACHE_ASSOC___315 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___315 = 193,
    _SC_LEVEL3_CACHE_SIZE___315 = 194,
    _SC_LEVEL3_CACHE_ASSOC___315 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___315 = 196,
    _SC_LEVEL4_CACHE_SIZE___315 = 197,
    _SC_LEVEL4_CACHE_ASSOC___315 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___315 = 199,
    _SC_IPV6___315 = 235,
    _SC_RAW_SOCKETS___315 = 236,
    _SC_V7_ILP32_OFF32___315 = 237,
    _SC_V7_ILP32_OFFBIG___315 = 238,
    _SC_V7_LP64_OFF64___315 = 239,
    _SC_V7_LPBIG_OFFBIG___315 = 240,
    _SC_SS_REPL_MAX___315 = 241,
    _SC_TRACE_EVENT_NAME_MAX___315 = 242,
    _SC_TRACE_NAME_MAX___315 = 243,
    _SC_TRACE_SYS_MAX___315 = 244,
    _SC_TRACE_USER_EVENT_MAX___315 = 245,
    _SC_XOPEN_STREAMS___315 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___315 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___315 = 248
} ;
enum __anonenum_875524036___315 {
    _CS_PATH___315 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___315 = 1,
    _CS_GNU_LIBC_VERSION___315 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___315 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___315 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___315 = 5,
    _CS_LFS_CFLAGS___315 = 1000,
    _CS_LFS_LDFLAGS___315 = 1001,
    _CS_LFS_LIBS___315 = 1002,
    _CS_LFS_LINTFLAGS___315 = 1003,
    _CS_LFS64_CFLAGS___315 = 1004,
    _CS_LFS64_LDFLAGS___315 = 1005,
    _CS_LFS64_LIBS___315 = 1006,
    _CS_LFS64_LINTFLAGS___315 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___315 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___315 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___315 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___315 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___315 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___315 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___315 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___315 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___315 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___315 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___315 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___315 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___315 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___315 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___315 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___315 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___315 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___315 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___315 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___315 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___315 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___315 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___315 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___315 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___315 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___315 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___315 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___315 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___315 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___315 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___315 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___315 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___315 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___315 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___315 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___315 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___315 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___315 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___315 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___315 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___315 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___315 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___315 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___315 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___315 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___315 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___315 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___315 = 1147,
    _CS_V6_ENV___315 = 1148,
    _CS_V7_ENV___315 = 1149
} ;
enum __anonenum_513775621___315 {
    DT_UNKNOWN___315 = 0,
    DT_FIFO___315 = 1,
    DT_CHR___315 = 2,
    DT_DIR___315 = 4,
    DT_BLK___315 = 6,
    DT_REG___315 = 8,
    DT_LNK___315 = 10,
    DT_SOCK___315 = 12,
    DT_WHT___315 = 14
} ;
enum __anonenum_77002343___315 {
    SI_ASYNCNL___315 = -60,
    SI_TKILL___315 = -6,
    SI_SIGIO___315 = -5,
    SI_ASYNCIO___315 = -4,
    SI_MESGQ___315 = -3,
    SI_TIMER___315 = -2,
    SI_QUEUE___315 = -1,
    SI_USER___315 = 0,
    SI_KERNEL___315 = 128
} ;
enum __anonenum_131038172___315 {
    ILL_ILLOPC___315 = 1,
    ILL_ILLOPN___315 = 2,
    ILL_ILLADR___315 = 3,
    ILL_ILLTRP___315 = 4,
    ILL_PRVOPC___315 = 5,
    ILL_PRVREG___315 = 6,
    ILL_COPROC___315 = 7,
    ILL_BADSTK___315 = 8
} ;
enum __anonenum_452038093___315 {
    FPE_INTDIV___315 = 1,
    FPE_INTOVF___315 = 2,
    FPE_FLTDIV___315 = 3,
    FPE_FLTOVF___315 = 4,
    FPE_FLTUND___315 = 5,
    FPE_FLTRES___315 = 6,
    FPE_FLTINV___315 = 7,
    FPE_FLTSUB___315 = 8
} ;
enum __anonenum_30976155___315 {
    SEGV_MAPERR___315 = 1,
    SEGV_ACCERR___315 = 2,
    SEGV_BNDERR___315 = 3,
    SEGV_PKUERR___315 = 4
} ;
enum __anonenum_1036286214___315 {
    BUS_ADRALN___315 = 1,
    BUS_ADRERR___315 = 2,
    BUS_OBJERR___315 = 3,
    BUS_MCEERR_AR___315 = 4,
    BUS_MCEERR_AO___315 = 5
} ;
enum __anonenum_493465559___315 {
    TRAP_BRKPT___315 = 1,
    TRAP_TRACE___315 = 2
} ;
enum __anonenum_23175539___315 {
    CLD_EXITED___315 = 1,
    CLD_KILLED___315 = 2,
    CLD_DUMPED___315 = 3,
    CLD_TRAPPED___315 = 4,
    CLD_STOPPED___315 = 5,
    CLD_CONTINUED___315 = 6
} ;
enum __anonenum_111643124___315 {
    POLL_IN___315 = 1,
    POLL_OUT___315 = 2,
    POLL_MSG___315 = 3,
    POLL_ERR___315 = 4,
    POLL_PRI___315 = 5,
    POLL_HUP___315 = 6
} ;
enum __anonenum_852341087___315 {
    SIGEV_SIGNAL___315 = 0,
    SIGEV_NONE___315 = 1,
    SIGEV_THREAD___315 = 2,
    SIGEV_THREAD_ID___315 = 4
} ;
enum __anonenum_451154152___315 {
    REG_R8___315 = 0,
    REG_R9___315 = 1,
    REG_R10___315 = 2,
    REG_R11___315 = 3,
    REG_R12___315 = 4,
    REG_R13___315 = 5,
    REG_R14___315 = 6,
    REG_R15___315 = 7,
    REG_RDI___315 = 8,
    REG_RSI___315 = 9,
    REG_RBP___315 = 10,
    REG_RBX___315 = 11,
    REG_RDX___315 = 12,
    REG_RAX___315 = 13,
    REG_RCX___315 = 14,
    REG_RSP___315 = 15,
    REG_RIP___315 = 16,
    REG_EFL___315 = 17,
    REG_CSGSFS___315 = 18,
    REG_ERR___315 = 19,
    REG_TRAPNO___315 = 20,
    REG_OLDMASK___315 = 21,
    REG_CR2___315 = 22
} ;
enum __anonenum_57186863___315 {
    SS_ONSTACK___315 = 1,
    SS_DISABLE___315 = 2
} ;
enum __anonenum_83571709___315 {
    MSG_OOB___315 = 1,
    MSG_PEEK___315 = 2,
    MSG_DONTROUTE___315 = 4,
    MSG_TRYHARD___315 = 4,
    MSG_CTRUNC___315 = 8,
    MSG_PROXY___315 = 16,
    MSG_TRUNC___315 = 32,
    MSG_DONTWAIT___315 = 64,
    MSG_EOR___315 = 128,
    MSG_WAITALL___315 = 256,
    MSG_FIN___315 = 512,
    MSG_SYN___315 = 1024,
    MSG_CONFIRM___315 = 2048,
    MSG_RST___315 = 4096,
    MSG_ERRQUEUE___315 = 8192,
    MSG_NOSIGNAL___315 = 16384,
    MSG_MORE___315 = 32768,
    MSG_WAITFORONE___315 = 65536,
    MSG_BATCH___315 = 262144,
    MSG_ZEROCOPY___315 = 67108864,
    MSG_FASTOPEN___315 = 536870912,
    MSG_CMSG_CLOEXEC___315 = 1073741824
} ;
enum __anonenum_617082774___315 {
    SCM_RIGHTS___315 = 1,
    SCM_CREDENTIALS___315 = 2
} ;
enum __anonenum_606441560___315 {
    SHUT_RD___315 = 0,
    SHUT_WR___315 = 1,
    SHUT_RDWR___315 = 2
} ;
enum __anonenum_681669233___315 {
    IPPROTO_IP___315 = 0,
    IPPROTO_ICMP___315 = 1,
    IPPROTO_IGMP___315 = 2,
    IPPROTO_IPIP___315 = 4,
    IPPROTO_TCP___315 = 6,
    IPPROTO_EGP___315 = 8,
    IPPROTO_PUP___315 = 12,
    IPPROTO_UDP___315 = 17,
    IPPROTO_IDP___315 = 22,
    IPPROTO_TP___315 = 29,
    IPPROTO_DCCP___315 = 33,
    IPPROTO_IPV6___315 = 41,
    IPPROTO_RSVP___315 = 46,
    IPPROTO_GRE___315 = 47,
    IPPROTO_ESP___315 = 50,
    IPPROTO_AH___315 = 51,
    IPPROTO_MTP___315 = 92,
    IPPROTO_BEETPH___315 = 94,
    IPPROTO_ENCAP___315 = 98,
    IPPROTO_PIM___315 = 103,
    IPPROTO_COMP___315 = 108,
    IPPROTO_SCTP___315 = 132,
    IPPROTO_UDPLITE___315 = 136,
    IPPROTO_MPLS___315 = 137,
    IPPROTO_RAW___315 = 255,
    IPPROTO_MAX___315 = 256
} ;
enum __anonenum_218739988___315 {
    IPPROTO_HOPOPTS___315 = 0,
    IPPROTO_ROUTING___315 = 43,
    IPPROTO_FRAGMENT___315 = 44,
    IPPROTO_ICMPV6___315 = 58,
    IPPROTO_NONE___315 = 59,
    IPPROTO_DSTOPTS___315 = 60,
    IPPROTO_MH___315 = 135
} ;
enum __anonenum_662268580___315 {
    IPPORT_ECHO___315 = 7,
    IPPORT_DISCARD___315 = 9,
    IPPORT_SYSTAT___315 = 11,
    IPPORT_DAYTIME___315 = 13,
    IPPORT_NETSTAT___315 = 15,
    IPPORT_FTP___315 = 21,
    IPPORT_TELNET___315 = 23,
    IPPORT_SMTP___315 = 25,
    IPPORT_TIMESERVER___315 = 37,
    IPPORT_NAMESERVER___315 = 42,
    IPPORT_WHOIS___315 = 43,
    IPPORT_MTP___315 = 57,
    IPPORT_TFTP___315 = 69,
    IPPORT_RJE___315 = 77,
    IPPORT_FINGER___315 = 79,
    IPPORT_TTYLINK___315 = 87,
    IPPORT_SUPDUP___315 = 95,
    IPPORT_EXECSERVER___315 = 512,
    IPPORT_LOGINSERVER___315 = 513,
    IPPORT_CMDSERVER___315 = 514,
    IPPORT_EFSSERVER___315 = 520,
    IPPORT_BIFFUDP___315 = 512,
    IPPORT_WHOSERVER___315 = 513,
    IPPORT_ROUTESERVER___315 = 520,
    IPPORT_RESERVED___315 = 1024,
    IPPORT_USERRESERVED___315 = 5000
} ;
enum __anonenum_788308992___315 {
    TCP_ESTABLISHED___315 = 1,
    TCP_SYN_SENT___315 = 2,
    TCP_SYN_RECV___315 = 3,
    TCP_FIN_WAIT1___315 = 4,
    TCP_FIN_WAIT2___315 = 5,
    TCP_TIME_WAIT___315 = 6,
    TCP_CLOSE___315 = 7,
    TCP_CLOSE_WAIT___315 = 8,
    TCP_LAST_ACK___315 = 9,
    TCP_LISTEN___315 = 10,
    TCP_CLOSING___315 = 11
} ;
enum __anonenum_221125648___315 {
    TCP_NO_QUEUE___315 = 0,
    TCP_RECV_QUEUE___315 = 1,
    TCP_SEND_QUEUE___315 = 2,
    TCP_QUEUES_NR___315 = 3
} ;
enum __anonenum_34415463___315 {
    PTHREAD_CREATE_JOINABLE___315 = 0,
    PTHREAD_CREATE_DETACHED___315 = 1
} ;
enum __anonenum_303612439___315 {
    PTHREAD_MUTEX_TIMED_NP___315 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___315 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___315 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___315 = 3,
    PTHREAD_MUTEX_NORMAL___315 = 0,
    PTHREAD_MUTEX_RECURSIVE___315 = 1,
    PTHREAD_MUTEX_ERRORCHECK___315 = 2,
    PTHREAD_MUTEX_DEFAULT___315 = 0,
    PTHREAD_MUTEX_FAST_NP___315 = 0
} ;
enum __anonenum_931900394___315 {
    PTHREAD_MUTEX_STALLED___315 = 0,
    PTHREAD_MUTEX_STALLED_NP___315 = 0,
    PTHREAD_MUTEX_ROBUST___315 = 1,
    PTHREAD_MUTEX_ROBUST_NP___315 = 1
} ;
enum __anonenum_205214487___315 {
    PTHREAD_PRIO_NONE___315 = 0,
    PTHREAD_PRIO_INHERIT___315 = 1,
    PTHREAD_PRIO_PROTECT___315 = 2
} ;
enum __anonenum_25043950___315 {
    PTHREAD_RWLOCK_PREFER_READER_NP___315 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___315 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___315 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___315 = 0
} ;
enum __anonenum_436439511___315 {
    PTHREAD_INHERIT_SCHED___315 = 0,
    PTHREAD_EXPLICIT_SCHED___315 = 1
} ;
enum __anonenum_998661166___315 {
    PTHREAD_SCOPE_SYSTEM___315 = 0,
    PTHREAD_SCOPE_PROCESS___315 = 1
} ;
enum __anonenum_146137331___315 {
    PTHREAD_PROCESS_PRIVATE___315 = 0,
    PTHREAD_PROCESS_SHARED___315 = 1
} ;
enum __anonenum_53396917___315 {
    PTHREAD_CANCEL_ENABLE___315 = 0,
    PTHREAD_CANCEL_DISABLE___315 = 1
} ;
enum __anonenum_904563783___315 {
    PTHREAD_CANCEL_DEFERRED___315 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___315 = 1
} ;
enum __anonenum_672052974___315 {
    SSL_CT_VALIDATION_PERMISSIVE___315 = 0,
    SSL_CT_VALIDATION_STRICT___315 = 1
} ;
enum __anonenum_34023289___32 {
    REMOTE_UNCONFIGURED___32 = 0,
    REMOTE_CONFIG___32 = 1,
    REMOTE_REMOTES___32 = 2,
    REMOTE_BRANCHES___32 = 3
} ;
struct maintenance_run_opts ;
enum schedule_priority {
    SCHEDULE_NONE = 0,
    SCHEDULE_WEEKLY = 1,
    SCHEDULE_DAILY = 2,
    SCHEDULE_HOURLY = 3
} ;
struct maintenance_run_opts {
   int auto_flag ;
   int quiet ;
   enum schedule_priority schedule ;
};
struct cg_auto_data {
   int num_not_in_graph ;
   int limit ;
};
struct write_loose_object_data {
   FILE *in ;
   int count ;
   int batch_size ;
};
typedef int maintenance_task_fn(struct maintenance_run_opts *opts );
typedef int maintenance_auto_fn(void);
struct maintenance_task {
   char const   *name ;
   maintenance_task_fn *fn ;
   maintenance_auto_fn *auto_condition ;
   unsigned int enabled : 1 ;
   enum schedule_priority schedule ;
   int selected_order ;
};
enum maintenance_task_label {
    TASK_PREFETCH = 0,
    TASK_LOOSE_OBJECTS = 1,
    TASK_INCREMENTAL_REPACK = 2,
    TASK_GC = 3,
    TASK_COMMIT_GRAPH = 4,
    TASK_PACK_REFS = 5,
    TASK__COUNT = 6
} ;
enum scheduler {
    SCHEDULER_INVALID = -1,
    SCHEDULER_AUTO = 0,
    SCHEDULER_CRON = 1,
    SCHEDULER_SYSTEMD = 2,
    SCHEDULER_LAUNCHCTL = 3,
    SCHEDULER_SCHTASKS = 4
} ;
struct __anonstruct_scheduler_fn_37437826 {
   char const   *name ;
   int (*is_available)(void) ;
   int (*update_schedule)(int run_maintenance , int fd ) ;
};
struct maintenance_start_opts {
   enum scheduler scheduler ;
};
enum __anonenum_437032235___316 {
    _PC_LINK_MAX___316 = 0,
    _PC_MAX_CANON___316 = 1,
    _PC_MAX_INPUT___316 = 2,
    _PC_NAME_MAX___316 = 3,
    _PC_PATH_MAX___316 = 4,
    _PC_PIPE_BUF___316 = 5,
    _PC_CHOWN_RESTRICTED___316 = 6,
    _PC_NO_TRUNC___316 = 7,
    _PC_VDISABLE___316 = 8,
    _PC_SYNC_IO___316 = 9,
    _PC_ASYNC_IO___316 = 10,
    _PC_PRIO_IO___316 = 11,
    _PC_SOCK_MAXBUF___316 = 12,
    _PC_FILESIZEBITS___316 = 13,
    _PC_REC_INCR_XFER_SIZE___316 = 14,
    _PC_REC_MAX_XFER_SIZE___316 = 15,
    _PC_REC_MIN_XFER_SIZE___316 = 16,
    _PC_REC_XFER_ALIGN___316 = 17,
    _PC_ALLOC_SIZE_MIN___316 = 18,
    _PC_SYMLINK_MAX___316 = 19,
    _PC_2_SYMLINKS___316 = 20
} ;
enum __anonenum_315186338___316 {
    _SC_ARG_MAX___316 = 0,
    _SC_CHILD_MAX___316 = 1,
    _SC_CLK_TCK___316 = 2,
    _SC_NGROUPS_MAX___316 = 3,
    _SC_OPEN_MAX___316 = 4,
    _SC_STREAM_MAX___316 = 5,
    _SC_TZNAME_MAX___316 = 6,
    _SC_JOB_CONTROL___316 = 7,
    _SC_SAVED_IDS___316 = 8,
    _SC_REALTIME_SIGNALS___316 = 9,
    _SC_PRIORITY_SCHEDULING___316 = 10,
    _SC_TIMERS___316 = 11,
    _SC_ASYNCHRONOUS_IO___316 = 12,
    _SC_PRIORITIZED_IO___316 = 13,
    _SC_SYNCHRONIZED_IO___316 = 14,
    _SC_FSYNC___316 = 15,
    _SC_MAPPED_FILES___316 = 16,
    _SC_MEMLOCK___316 = 17,
    _SC_MEMLOCK_RANGE___316 = 18,
    _SC_MEMORY_PROTECTION___316 = 19,
    _SC_MESSAGE_PASSING___316 = 20,
    _SC_SEMAPHORES___316 = 21,
    _SC_SHARED_MEMORY_OBJECTS___316 = 22,
    _SC_AIO_LISTIO_MAX___316 = 23,
    _SC_AIO_MAX___316 = 24,
    _SC_AIO_PRIO_DELTA_MAX___316 = 25,
    _SC_DELAYTIMER_MAX___316 = 26,
    _SC_MQ_OPEN_MAX___316 = 27,
    _SC_MQ_PRIO_MAX___316 = 28,
    _SC_VERSION___316 = 29,
    _SC_PAGESIZE___316 = 30,
    _SC_RTSIG_MAX___316 = 31,
    _SC_SEM_NSEMS_MAX___316 = 32,
    _SC_SEM_VALUE_MAX___316 = 33,
    _SC_SIGQUEUE_MAX___316 = 34,
    _SC_TIMER_MAX___316 = 35,
    _SC_BC_BASE_MAX___316 = 36,
    _SC_BC_DIM_MAX___316 = 37,
    _SC_BC_SCALE_MAX___316 = 38,
    _SC_BC_STRING_MAX___316 = 39,
    _SC_COLL_WEIGHTS_MAX___316 = 40,
    _SC_EQUIV_CLASS_MAX___316 = 41,
    _SC_EXPR_NEST_MAX___316 = 42,
    _SC_LINE_MAX___316 = 43,
    _SC_RE_DUP_MAX___316 = 44,
    _SC_CHARCLASS_NAME_MAX___316 = 45,
    _SC_2_VERSION___316 = 46,
    _SC_2_C_BIND___316 = 47,
    _SC_2_C_DEV___316 = 48,
    _SC_2_FORT_DEV___316 = 49,
    _SC_2_FORT_RUN___316 = 50,
    _SC_2_SW_DEV___316 = 51,
    _SC_2_LOCALEDEF___316 = 52,
    _SC_PII___316 = 53,
    _SC_PII_XTI___316 = 54,
    _SC_PII_SOCKET___316 = 55,
    _SC_PII_INTERNET___316 = 56,
    _SC_PII_OSI___316 = 57,
    _SC_POLL___316 = 58,
    _SC_SELECT___316 = 59,
    _SC_UIO_MAXIOV___316 = 60,
    _SC_IOV_MAX___316 = 60,
    _SC_PII_INTERNET_STREAM___316 = 61,
    _SC_PII_INTERNET_DGRAM___316 = 62,
    _SC_PII_OSI_COTS___316 = 63,
    _SC_PII_OSI_CLTS___316 = 64,
    _SC_PII_OSI_M___316 = 65,
    _SC_T_IOV_MAX___316 = 66,
    _SC_THREADS___316 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___316 = 68,
    _SC_GETGR_R_SIZE_MAX___316 = 69,
    _SC_GETPW_R_SIZE_MAX___316 = 70,
    _SC_LOGIN_NAME_MAX___316 = 71,
    _SC_TTY_NAME_MAX___316 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___316 = 73,
    _SC_THREAD_KEYS_MAX___316 = 74,
    _SC_THREAD_STACK_MIN___316 = 75,
    _SC_THREAD_THREADS_MAX___316 = 76,
    _SC_THREAD_ATTR_STACKADDR___316 = 77,
    _SC_THREAD_ATTR_STACKSIZE___316 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___316 = 79,
    _SC_THREAD_PRIO_INHERIT___316 = 80,
    _SC_THREAD_PRIO_PROTECT___316 = 81,
    _SC_THREAD_PROCESS_SHARED___316 = 82,
    _SC_NPROCESSORS_CONF___316 = 83,
    _SC_NPROCESSORS_ONLN___316 = 84,
    _SC_PHYS_PAGES___316 = 85,
    _SC_AVPHYS_PAGES___316 = 86,
    _SC_ATEXIT_MAX___316 = 87,
    _SC_PASS_MAX___316 = 88,
    _SC_XOPEN_VERSION___316 = 89,
    _SC_XOPEN_XCU_VERSION___316 = 90,
    _SC_XOPEN_UNIX___316 = 91,
    _SC_XOPEN_CRYPT___316 = 92,
    _SC_XOPEN_ENH_I18N___316 = 93,
    _SC_XOPEN_SHM___316 = 94,
    _SC_2_CHAR_TERM___316 = 95,
    _SC_2_C_VERSION___316 = 96,
    _SC_2_UPE___316 = 97,
    _SC_XOPEN_XPG2___316 = 98,
    _SC_XOPEN_XPG3___316 = 99,
    _SC_XOPEN_XPG4___316 = 100,
    _SC_CHAR_BIT___316 = 101,
    _SC_CHAR_MAX___316 = 102,
    _SC_CHAR_MIN___316 = 103,
    _SC_INT_MAX___316 = 104,
    _SC_INT_MIN___316 = 105,
    _SC_LONG_BIT___316 = 106,
    _SC_WORD_BIT___316 = 107,
    _SC_MB_LEN_MAX___316 = 108,
    _SC_NZERO___316 = 109,
    _SC_SSIZE_MAX___316 = 110,
    _SC_SCHAR_MAX___316 = 111,
    _SC_SCHAR_MIN___316 = 112,
    _SC_SHRT_MAX___316 = 113,
    _SC_SHRT_MIN___316 = 114,
    _SC_UCHAR_MAX___316 = 115,
    _SC_UINT_MAX___316 = 116,
    _SC_ULONG_MAX___316 = 117,
    _SC_USHRT_MAX___316 = 118,
    _SC_NL_ARGMAX___316 = 119,
    _SC_NL_LANGMAX___316 = 120,
    _SC_NL_MSGMAX___316 = 121,
    _SC_NL_NMAX___316 = 122,
    _SC_NL_SETMAX___316 = 123,
    _SC_NL_TEXTMAX___316 = 124,
    _SC_XBS5_ILP32_OFF32___316 = 125,
    _SC_XBS5_ILP32_OFFBIG___316 = 126,
    _SC_XBS5_LP64_OFF64___316 = 127,
    _SC_XBS5_LPBIG_OFFBIG___316 = 128,
    _SC_XOPEN_LEGACY___316 = 129,
    _SC_XOPEN_REALTIME___316 = 130,
    _SC_XOPEN_REALTIME_THREADS___316 = 131,
    _SC_ADVISORY_INFO___316 = 132,
    _SC_BARRIERS___316 = 133,
    _SC_BASE___316 = 134,
    _SC_C_LANG_SUPPORT___316 = 135,
    _SC_C_LANG_SUPPORT_R___316 = 136,
    _SC_CLOCK_SELECTION___316 = 137,
    _SC_CPUTIME___316 = 138,
    _SC_THREAD_CPUTIME___316 = 139,
    _SC_DEVICE_IO___316 = 140,
    _SC_DEVICE_SPECIFIC___316 = 141,
    _SC_DEVICE_SPECIFIC_R___316 = 142,
    _SC_FD_MGMT___316 = 143,
    _SC_FIFO___316 = 144,
    _SC_PIPE___316 = 145,
    _SC_FILE_ATTRIBUTES___316 = 146,
    _SC_FILE_LOCKING___316 = 147,
    _SC_FILE_SYSTEM___316 = 148,
    _SC_MONOTONIC_CLOCK___316 = 149,
    _SC_MULTI_PROCESS___316 = 150,
    _SC_SINGLE_PROCESS___316 = 151,
    _SC_NETWORKING___316 = 152,
    _SC_READER_WRITER_LOCKS___316 = 153,
    _SC_SPIN_LOCKS___316 = 154,
    _SC_REGEXP___316 = 155,
    _SC_REGEX_VERSION___316 = 156,
    _SC_SHELL___316 = 157,
    _SC_SIGNALS___316 = 158,
    _SC_SPAWN___316 = 159,
    _SC_SPORADIC_SERVER___316 = 160,
    _SC_THREAD_SPORADIC_SERVER___316 = 161,
    _SC_SYSTEM_DATABASE___316 = 162,
    _SC_SYSTEM_DATABASE_R___316 = 163,
    _SC_TIMEOUTS___316 = 164,
    _SC_TYPED_MEMORY_OBJECTS___316 = 165,
    _SC_USER_GROUPS___316 = 166,
    _SC_USER_GROUPS_R___316 = 167,
    _SC_2_PBS___316 = 168,
    _SC_2_PBS_ACCOUNTING___316 = 169,
    _SC_2_PBS_LOCATE___316 = 170,
    _SC_2_PBS_MESSAGE___316 = 171,
    _SC_2_PBS_TRACK___316 = 172,
    _SC_SYMLOOP_MAX___316 = 173,
    _SC_STREAMS___316 = 174,
    _SC_2_PBS_CHECKPOINT___316 = 175,
    _SC_V6_ILP32_OFF32___316 = 176,
    _SC_V6_ILP32_OFFBIG___316 = 177,
    _SC_V6_LP64_OFF64___316 = 178,
    _SC_V6_LPBIG_OFFBIG___316 = 179,
    _SC_HOST_NAME_MAX___316 = 180,
    _SC_TRACE___316 = 181,
    _SC_TRACE_EVENT_FILTER___316 = 182,
    _SC_TRACE_INHERIT___316 = 183,
    _SC_TRACE_LOG___316 = 184,
    _SC_LEVEL1_ICACHE_SIZE___316 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___316 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___316 = 187,
    _SC_LEVEL1_DCACHE_SIZE___316 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___316 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___316 = 190,
    _SC_LEVEL2_CACHE_SIZE___316 = 191,
    _SC_LEVEL2_CACHE_ASSOC___316 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___316 = 193,
    _SC_LEVEL3_CACHE_SIZE___316 = 194,
    _SC_LEVEL3_CACHE_ASSOC___316 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___316 = 196,
    _SC_LEVEL4_CACHE_SIZE___316 = 197,
    _SC_LEVEL4_CACHE_ASSOC___316 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___316 = 199,
    _SC_IPV6___316 = 235,
    _SC_RAW_SOCKETS___316 = 236,
    _SC_V7_ILP32_OFF32___316 = 237,
    _SC_V7_ILP32_OFFBIG___316 = 238,
    _SC_V7_LP64_OFF64___316 = 239,
    _SC_V7_LPBIG_OFFBIG___316 = 240,
    _SC_SS_REPL_MAX___316 = 241,
    _SC_TRACE_EVENT_NAME_MAX___316 = 242,
    _SC_TRACE_NAME_MAX___316 = 243,
    _SC_TRACE_SYS_MAX___316 = 244,
    _SC_TRACE_USER_EVENT_MAX___316 = 245,
    _SC_XOPEN_STREAMS___316 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___316 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___316 = 248
} ;
enum __anonenum_875524036___316 {
    _CS_PATH___316 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___316 = 1,
    _CS_GNU_LIBC_VERSION___316 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___316 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___316 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___316 = 5,
    _CS_LFS_CFLAGS___316 = 1000,
    _CS_LFS_LDFLAGS___316 = 1001,
    _CS_LFS_LIBS___316 = 1002,
    _CS_LFS_LINTFLAGS___316 = 1003,
    _CS_LFS64_CFLAGS___316 = 1004,
    _CS_LFS64_LDFLAGS___316 = 1005,
    _CS_LFS64_LIBS___316 = 1006,
    _CS_LFS64_LINTFLAGS___316 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___316 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___316 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___316 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___316 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___316 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___316 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___316 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___316 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___316 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___316 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___316 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___316 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___316 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___316 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___316 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___316 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___316 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___316 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___316 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___316 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___316 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___316 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___316 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___316 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___316 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___316 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___316 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___316 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___316 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___316 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___316 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___316 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___316 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___316 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___316 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___316 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___316 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___316 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___316 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___316 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___316 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___316 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___316 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___316 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___316 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___316 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___316 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___316 = 1147,
    _CS_V6_ENV___316 = 1148,
    _CS_V7_ENV___316 = 1149
} ;
enum __anonenum_513775621___316 {
    DT_UNKNOWN___316 = 0,
    DT_FIFO___316 = 1,
    DT_CHR___316 = 2,
    DT_DIR___316 = 4,
    DT_BLK___316 = 6,
    DT_REG___316 = 8,
    DT_LNK___316 = 10,
    DT_SOCK___316 = 12,
    DT_WHT___316 = 14
} ;
enum __anonenum_77002343___316 {
    SI_ASYNCNL___316 = -60,
    SI_TKILL___316 = -6,
    SI_SIGIO___316 = -5,
    SI_ASYNCIO___316 = -4,
    SI_MESGQ___316 = -3,
    SI_TIMER___316 = -2,
    SI_QUEUE___316 = -1,
    SI_USER___316 = 0,
    SI_KERNEL___316 = 128
} ;
enum __anonenum_131038172___316 {
    ILL_ILLOPC___316 = 1,
    ILL_ILLOPN___316 = 2,
    ILL_ILLADR___316 = 3,
    ILL_ILLTRP___316 = 4,
    ILL_PRVOPC___316 = 5,
    ILL_PRVREG___316 = 6,
    ILL_COPROC___316 = 7,
    ILL_BADSTK___316 = 8
} ;
enum __anonenum_452038093___316 {
    FPE_INTDIV___316 = 1,
    FPE_INTOVF___316 = 2,
    FPE_FLTDIV___316 = 3,
    FPE_FLTOVF___316 = 4,
    FPE_FLTUND___316 = 5,
    FPE_FLTRES___316 = 6,
    FPE_FLTINV___316 = 7,
    FPE_FLTSUB___316 = 8
} ;
enum __anonenum_30976155___316 {
    SEGV_MAPERR___316 = 1,
    SEGV_ACCERR___316 = 2,
    SEGV_BNDERR___316 = 3,
    SEGV_PKUERR___316 = 4
} ;
enum __anonenum_1036286214___316 {
    BUS_ADRALN___316 = 1,
    BUS_ADRERR___316 = 2,
    BUS_OBJERR___316 = 3,
    BUS_MCEERR_AR___316 = 4,
    BUS_MCEERR_AO___316 = 5
} ;
enum __anonenum_493465559___316 {
    TRAP_BRKPT___316 = 1,
    TRAP_TRACE___316 = 2
} ;
enum __anonenum_23175539___316 {
    CLD_EXITED___316 = 1,
    CLD_KILLED___316 = 2,
    CLD_DUMPED___316 = 3,
    CLD_TRAPPED___316 = 4,
    CLD_STOPPED___316 = 5,
    CLD_CONTINUED___316 = 6
} ;
enum __anonenum_111643124___316 {
    POLL_IN___316 = 1,
    POLL_OUT___316 = 2,
    POLL_MSG___316 = 3,
    POLL_ERR___316 = 4,
    POLL_PRI___316 = 5,
    POLL_HUP___316 = 6
} ;
enum __anonenum_852341087___316 {
    SIGEV_SIGNAL___316 = 0,
    SIGEV_NONE___316 = 1,
    SIGEV_THREAD___316 = 2,
    SIGEV_THREAD_ID___316 = 4
} ;
enum __anonenum_451154152___316 {
    REG_R8___316 = 0,
    REG_R9___316 = 1,
    REG_R10___316 = 2,
    REG_R11___316 = 3,
    REG_R12___316 = 4,
    REG_R13___316 = 5,
    REG_R14___316 = 6,
    REG_R15___316 = 7,
    REG_RDI___316 = 8,
    REG_RSI___316 = 9,
    REG_RBP___316 = 10,
    REG_RBX___316 = 11,
    REG_RDX___316 = 12,
    REG_RAX___316 = 13,
    REG_RCX___316 = 14,
    REG_RSP___316 = 15,
    REG_RIP___316 = 16,
    REG_EFL___316 = 17,
    REG_CSGSFS___316 = 18,
    REG_ERR___316 = 19,
    REG_TRAPNO___316 = 20,
    REG_OLDMASK___316 = 21,
    REG_CR2___316 = 22
} ;
enum __anonenum_57186863___316 {
    SS_ONSTACK___316 = 1,
    SS_DISABLE___316 = 2
} ;
enum __anonenum_83571709___316 {
    MSG_OOB___316 = 1,
    MSG_PEEK___316 = 2,
    MSG_DONTROUTE___316 = 4,
    MSG_TRYHARD___316 = 4,
    MSG_CTRUNC___316 = 8,
    MSG_PROXY___316 = 16,
    MSG_TRUNC___316 = 32,
    MSG_DONTWAIT___316 = 64,
    MSG_EOR___316 = 128,
    MSG_WAITALL___316 = 256,
    MSG_FIN___316 = 512,
    MSG_SYN___316 = 1024,
    MSG_CONFIRM___316 = 2048,
    MSG_RST___316 = 4096,
    MSG_ERRQUEUE___316 = 8192,
    MSG_NOSIGNAL___316 = 16384,
    MSG_MORE___316 = 32768,
    MSG_WAITFORONE___316 = 65536,
    MSG_BATCH___316 = 262144,
    MSG_ZEROCOPY___316 = 67108864,
    MSG_FASTOPEN___316 = 536870912,
    MSG_CMSG_CLOEXEC___316 = 1073741824
} ;
enum __anonenum_617082774___316 {
    SCM_RIGHTS___316 = 1,
    SCM_CREDENTIALS___316 = 2
} ;
enum __anonenum_606441560___316 {
    SHUT_RD___316 = 0,
    SHUT_WR___316 = 1,
    SHUT_RDWR___316 = 2
} ;
enum __anonenum_681669233___316 {
    IPPROTO_IP___316 = 0,
    IPPROTO_ICMP___316 = 1,
    IPPROTO_IGMP___316 = 2,
    IPPROTO_IPIP___316 = 4,
    IPPROTO_TCP___316 = 6,
    IPPROTO_EGP___316 = 8,
    IPPROTO_PUP___316 = 12,
    IPPROTO_UDP___316 = 17,
    IPPROTO_IDP___316 = 22,
    IPPROTO_TP___316 = 29,
    IPPROTO_DCCP___316 = 33,
    IPPROTO_IPV6___316 = 41,
    IPPROTO_RSVP___316 = 46,
    IPPROTO_GRE___316 = 47,
    IPPROTO_ESP___316 = 50,
    IPPROTO_AH___316 = 51,
    IPPROTO_MTP___316 = 92,
    IPPROTO_BEETPH___316 = 94,
    IPPROTO_ENCAP___316 = 98,
    IPPROTO_PIM___316 = 103,
    IPPROTO_COMP___316 = 108,
    IPPROTO_SCTP___316 = 132,
    IPPROTO_UDPLITE___316 = 136,
    IPPROTO_MPLS___316 = 137,
    IPPROTO_RAW___316 = 255,
    IPPROTO_MAX___316 = 256
} ;
enum __anonenum_218739988___316 {
    IPPROTO_HOPOPTS___316 = 0,
    IPPROTO_ROUTING___316 = 43,
    IPPROTO_FRAGMENT___316 = 44,
    IPPROTO_ICMPV6___316 = 58,
    IPPROTO_NONE___316 = 59,
    IPPROTO_DSTOPTS___316 = 60,
    IPPROTO_MH___316 = 135
} ;
enum __anonenum_662268580___316 {
    IPPORT_ECHO___316 = 7,
    IPPORT_DISCARD___316 = 9,
    IPPORT_SYSTAT___316 = 11,
    IPPORT_DAYTIME___316 = 13,
    IPPORT_NETSTAT___316 = 15,
    IPPORT_FTP___316 = 21,
    IPPORT_TELNET___316 = 23,
    IPPORT_SMTP___316 = 25,
    IPPORT_TIMESERVER___316 = 37,
    IPPORT_NAMESERVER___316 = 42,
    IPPORT_WHOIS___316 = 43,
    IPPORT_MTP___316 = 57,
    IPPORT_TFTP___316 = 69,
    IPPORT_RJE___316 = 77,
    IPPORT_FINGER___316 = 79,
    IPPORT_TTYLINK___316 = 87,
    IPPORT_SUPDUP___316 = 95,
    IPPORT_EXECSERVER___316 = 512,
    IPPORT_LOGINSERVER___316 = 513,
    IPPORT_CMDSERVER___316 = 514,
    IPPORT_EFSSERVER___316 = 520,
    IPPORT_BIFFUDP___316 = 512,
    IPPORT_WHOSERVER___316 = 513,
    IPPORT_ROUTESERVER___316 = 520,
    IPPORT_RESERVED___316 = 1024,
    IPPORT_USERRESERVED___316 = 5000
} ;
enum __anonenum_788308992___316 {
    TCP_ESTABLISHED___316 = 1,
    TCP_SYN_SENT___316 = 2,
    TCP_SYN_RECV___316 = 3,
    TCP_FIN_WAIT1___316 = 4,
    TCP_FIN_WAIT2___316 = 5,
    TCP_TIME_WAIT___316 = 6,
    TCP_CLOSE___316 = 7,
    TCP_CLOSE_WAIT___316 = 8,
    TCP_LAST_ACK___316 = 9,
    TCP_LISTEN___316 = 10,
    TCP_CLOSING___316 = 11
} ;
enum __anonenum_221125648___316 {
    TCP_NO_QUEUE___316 = 0,
    TCP_RECV_QUEUE___316 = 1,
    TCP_SEND_QUEUE___316 = 2,
    TCP_QUEUES_NR___316 = 3
} ;
enum __anonenum_34415463___316 {
    PTHREAD_CREATE_JOINABLE___316 = 0,
    PTHREAD_CREATE_DETACHED___316 = 1
} ;
enum __anonenum_303612439___316 {
    PTHREAD_MUTEX_TIMED_NP___316 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___316 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___316 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___316 = 3,
    PTHREAD_MUTEX_NORMAL___316 = 0,
    PTHREAD_MUTEX_RECURSIVE___316 = 1,
    PTHREAD_MUTEX_ERRORCHECK___316 = 2,
    PTHREAD_MUTEX_DEFAULT___316 = 0,
    PTHREAD_MUTEX_FAST_NP___316 = 0
} ;
enum __anonenum_931900394___316 {
    PTHREAD_MUTEX_STALLED___316 = 0,
    PTHREAD_MUTEX_STALLED_NP___316 = 0,
    PTHREAD_MUTEX_ROBUST___316 = 1,
    PTHREAD_MUTEX_ROBUST_NP___316 = 1
} ;
enum __anonenum_205214487___316 {
    PTHREAD_PRIO_NONE___316 = 0,
    PTHREAD_PRIO_INHERIT___316 = 1,
    PTHREAD_PRIO_PROTECT___316 = 2
} ;
enum __anonenum_25043950___316 {
    PTHREAD_RWLOCK_PREFER_READER_NP___316 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___316 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___316 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___316 = 0
} ;
enum __anonenum_436439511___316 {
    PTHREAD_INHERIT_SCHED___316 = 0,
    PTHREAD_EXPLICIT_SCHED___316 = 1
} ;
enum __anonenum_998661166___316 {
    PTHREAD_SCOPE_SYSTEM___316 = 0,
    PTHREAD_SCOPE_PROCESS___316 = 1
} ;
enum __anonenum_146137331___316 {
    PTHREAD_PROCESS_PRIVATE___316 = 0,
    PTHREAD_PROCESS_SHARED___316 = 1
} ;
enum __anonenum_53396917___316 {
    PTHREAD_CANCEL_ENABLE___316 = 0,
    PTHREAD_CANCEL_DISABLE___316 = 1
} ;
enum __anonenum_904563783___316 {
    PTHREAD_CANCEL_DEFERRED___316 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___316 = 1
} ;
enum __anonenum_672052974___316 {
    SSL_CT_VALIDATION_PERMISSIVE___316 = 0,
    SSL_CT_VALIDATION_STRICT___316 = 1
} ;
enum __anonenum_437032235___317 {
    _PC_LINK_MAX___317 = 0,
    _PC_MAX_CANON___317 = 1,
    _PC_MAX_INPUT___317 = 2,
    _PC_NAME_MAX___317 = 3,
    _PC_PATH_MAX___317 = 4,
    _PC_PIPE_BUF___317 = 5,
    _PC_CHOWN_RESTRICTED___317 = 6,
    _PC_NO_TRUNC___317 = 7,
    _PC_VDISABLE___317 = 8,
    _PC_SYNC_IO___317 = 9,
    _PC_ASYNC_IO___317 = 10,
    _PC_PRIO_IO___317 = 11,
    _PC_SOCK_MAXBUF___317 = 12,
    _PC_FILESIZEBITS___317 = 13,
    _PC_REC_INCR_XFER_SIZE___317 = 14,
    _PC_REC_MAX_XFER_SIZE___317 = 15,
    _PC_REC_MIN_XFER_SIZE___317 = 16,
    _PC_REC_XFER_ALIGN___317 = 17,
    _PC_ALLOC_SIZE_MIN___317 = 18,
    _PC_SYMLINK_MAX___317 = 19,
    _PC_2_SYMLINKS___317 = 20
} ;
enum __anonenum_315186338___317 {
    _SC_ARG_MAX___317 = 0,
    _SC_CHILD_MAX___317 = 1,
    _SC_CLK_TCK___317 = 2,
    _SC_NGROUPS_MAX___317 = 3,
    _SC_OPEN_MAX___317 = 4,
    _SC_STREAM_MAX___317 = 5,
    _SC_TZNAME_MAX___317 = 6,
    _SC_JOB_CONTROL___317 = 7,
    _SC_SAVED_IDS___317 = 8,
    _SC_REALTIME_SIGNALS___317 = 9,
    _SC_PRIORITY_SCHEDULING___317 = 10,
    _SC_TIMERS___317 = 11,
    _SC_ASYNCHRONOUS_IO___317 = 12,
    _SC_PRIORITIZED_IO___317 = 13,
    _SC_SYNCHRONIZED_IO___317 = 14,
    _SC_FSYNC___317 = 15,
    _SC_MAPPED_FILES___317 = 16,
    _SC_MEMLOCK___317 = 17,
    _SC_MEMLOCK_RANGE___317 = 18,
    _SC_MEMORY_PROTECTION___317 = 19,
    _SC_MESSAGE_PASSING___317 = 20,
    _SC_SEMAPHORES___317 = 21,
    _SC_SHARED_MEMORY_OBJECTS___317 = 22,
    _SC_AIO_LISTIO_MAX___317 = 23,
    _SC_AIO_MAX___317 = 24,
    _SC_AIO_PRIO_DELTA_MAX___317 = 25,
    _SC_DELAYTIMER_MAX___317 = 26,
    _SC_MQ_OPEN_MAX___317 = 27,
    _SC_MQ_PRIO_MAX___317 = 28,
    _SC_VERSION___317 = 29,
    _SC_PAGESIZE___317 = 30,
    _SC_RTSIG_MAX___317 = 31,
    _SC_SEM_NSEMS_MAX___317 = 32,
    _SC_SEM_VALUE_MAX___317 = 33,
    _SC_SIGQUEUE_MAX___317 = 34,
    _SC_TIMER_MAX___317 = 35,
    _SC_BC_BASE_MAX___317 = 36,
    _SC_BC_DIM_MAX___317 = 37,
    _SC_BC_SCALE_MAX___317 = 38,
    _SC_BC_STRING_MAX___317 = 39,
    _SC_COLL_WEIGHTS_MAX___317 = 40,
    _SC_EQUIV_CLASS_MAX___317 = 41,
    _SC_EXPR_NEST_MAX___317 = 42,
    _SC_LINE_MAX___317 = 43,
    _SC_RE_DUP_MAX___317 = 44,
    _SC_CHARCLASS_NAME_MAX___317 = 45,
    _SC_2_VERSION___317 = 46,
    _SC_2_C_BIND___317 = 47,
    _SC_2_C_DEV___317 = 48,
    _SC_2_FORT_DEV___317 = 49,
    _SC_2_FORT_RUN___317 = 50,
    _SC_2_SW_DEV___317 = 51,
    _SC_2_LOCALEDEF___317 = 52,
    _SC_PII___317 = 53,
    _SC_PII_XTI___317 = 54,
    _SC_PII_SOCKET___317 = 55,
    _SC_PII_INTERNET___317 = 56,
    _SC_PII_OSI___317 = 57,
    _SC_POLL___317 = 58,
    _SC_SELECT___317 = 59,
    _SC_UIO_MAXIOV___317 = 60,
    _SC_IOV_MAX___317 = 60,
    _SC_PII_INTERNET_STREAM___317 = 61,
    _SC_PII_INTERNET_DGRAM___317 = 62,
    _SC_PII_OSI_COTS___317 = 63,
    _SC_PII_OSI_CLTS___317 = 64,
    _SC_PII_OSI_M___317 = 65,
    _SC_T_IOV_MAX___317 = 66,
    _SC_THREADS___317 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___317 = 68,
    _SC_GETGR_R_SIZE_MAX___317 = 69,
    _SC_GETPW_R_SIZE_MAX___317 = 70,
    _SC_LOGIN_NAME_MAX___317 = 71,
    _SC_TTY_NAME_MAX___317 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___317 = 73,
    _SC_THREAD_KEYS_MAX___317 = 74,
    _SC_THREAD_STACK_MIN___317 = 75,
    _SC_THREAD_THREADS_MAX___317 = 76,
    _SC_THREAD_ATTR_STACKADDR___317 = 77,
    _SC_THREAD_ATTR_STACKSIZE___317 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___317 = 79,
    _SC_THREAD_PRIO_INHERIT___317 = 80,
    _SC_THREAD_PRIO_PROTECT___317 = 81,
    _SC_THREAD_PROCESS_SHARED___317 = 82,
    _SC_NPROCESSORS_CONF___317 = 83,
    _SC_NPROCESSORS_ONLN___317 = 84,
    _SC_PHYS_PAGES___317 = 85,
    _SC_AVPHYS_PAGES___317 = 86,
    _SC_ATEXIT_MAX___317 = 87,
    _SC_PASS_MAX___317 = 88,
    _SC_XOPEN_VERSION___317 = 89,
    _SC_XOPEN_XCU_VERSION___317 = 90,
    _SC_XOPEN_UNIX___317 = 91,
    _SC_XOPEN_CRYPT___317 = 92,
    _SC_XOPEN_ENH_I18N___317 = 93,
    _SC_XOPEN_SHM___317 = 94,
    _SC_2_CHAR_TERM___317 = 95,
    _SC_2_C_VERSION___317 = 96,
    _SC_2_UPE___317 = 97,
    _SC_XOPEN_XPG2___317 = 98,
    _SC_XOPEN_XPG3___317 = 99,
    _SC_XOPEN_XPG4___317 = 100,
    _SC_CHAR_BIT___317 = 101,
    _SC_CHAR_MAX___317 = 102,
    _SC_CHAR_MIN___317 = 103,
    _SC_INT_MAX___317 = 104,
    _SC_INT_MIN___317 = 105,
    _SC_LONG_BIT___317 = 106,
    _SC_WORD_BIT___317 = 107,
    _SC_MB_LEN_MAX___317 = 108,
    _SC_NZERO___317 = 109,
    _SC_SSIZE_MAX___317 = 110,
    _SC_SCHAR_MAX___317 = 111,
    _SC_SCHAR_MIN___317 = 112,
    _SC_SHRT_MAX___317 = 113,
    _SC_SHRT_MIN___317 = 114,
    _SC_UCHAR_MAX___317 = 115,
    _SC_UINT_MAX___317 = 116,
    _SC_ULONG_MAX___317 = 117,
    _SC_USHRT_MAX___317 = 118,
    _SC_NL_ARGMAX___317 = 119,
    _SC_NL_LANGMAX___317 = 120,
    _SC_NL_MSGMAX___317 = 121,
    _SC_NL_NMAX___317 = 122,
    _SC_NL_SETMAX___317 = 123,
    _SC_NL_TEXTMAX___317 = 124,
    _SC_XBS5_ILP32_OFF32___317 = 125,
    _SC_XBS5_ILP32_OFFBIG___317 = 126,
    _SC_XBS5_LP64_OFF64___317 = 127,
    _SC_XBS5_LPBIG_OFFBIG___317 = 128,
    _SC_XOPEN_LEGACY___317 = 129,
    _SC_XOPEN_REALTIME___317 = 130,
    _SC_XOPEN_REALTIME_THREADS___317 = 131,
    _SC_ADVISORY_INFO___317 = 132,
    _SC_BARRIERS___317 = 133,
    _SC_BASE___317 = 134,
    _SC_C_LANG_SUPPORT___317 = 135,
    _SC_C_LANG_SUPPORT_R___317 = 136,
    _SC_CLOCK_SELECTION___317 = 137,
    _SC_CPUTIME___317 = 138,
    _SC_THREAD_CPUTIME___317 = 139,
    _SC_DEVICE_IO___317 = 140,
    _SC_DEVICE_SPECIFIC___317 = 141,
    _SC_DEVICE_SPECIFIC_R___317 = 142,
    _SC_FD_MGMT___317 = 143,
    _SC_FIFO___317 = 144,
    _SC_PIPE___317 = 145,
    _SC_FILE_ATTRIBUTES___317 = 146,
    _SC_FILE_LOCKING___317 = 147,
    _SC_FILE_SYSTEM___317 = 148,
    _SC_MONOTONIC_CLOCK___317 = 149,
    _SC_MULTI_PROCESS___317 = 150,
    _SC_SINGLE_PROCESS___317 = 151,
    _SC_NETWORKING___317 = 152,
    _SC_READER_WRITER_LOCKS___317 = 153,
    _SC_SPIN_LOCKS___317 = 154,
    _SC_REGEXP___317 = 155,
    _SC_REGEX_VERSION___317 = 156,
    _SC_SHELL___317 = 157,
    _SC_SIGNALS___317 = 158,
    _SC_SPAWN___317 = 159,
    _SC_SPORADIC_SERVER___317 = 160,
    _SC_THREAD_SPORADIC_SERVER___317 = 161,
    _SC_SYSTEM_DATABASE___317 = 162,
    _SC_SYSTEM_DATABASE_R___317 = 163,
    _SC_TIMEOUTS___317 = 164,
    _SC_TYPED_MEMORY_OBJECTS___317 = 165,
    _SC_USER_GROUPS___317 = 166,
    _SC_USER_GROUPS_R___317 = 167,
    _SC_2_PBS___317 = 168,
    _SC_2_PBS_ACCOUNTING___317 = 169,
    _SC_2_PBS_LOCATE___317 = 170,
    _SC_2_PBS_MESSAGE___317 = 171,
    _SC_2_PBS_TRACK___317 = 172,
    _SC_SYMLOOP_MAX___317 = 173,
    _SC_STREAMS___317 = 174,
    _SC_2_PBS_CHECKPOINT___317 = 175,
    _SC_V6_ILP32_OFF32___317 = 176,
    _SC_V6_ILP32_OFFBIG___317 = 177,
    _SC_V6_LP64_OFF64___317 = 178,
    _SC_V6_LPBIG_OFFBIG___317 = 179,
    _SC_HOST_NAME_MAX___317 = 180,
    _SC_TRACE___317 = 181,
    _SC_TRACE_EVENT_FILTER___317 = 182,
    _SC_TRACE_INHERIT___317 = 183,
    _SC_TRACE_LOG___317 = 184,
    _SC_LEVEL1_ICACHE_SIZE___317 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___317 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___317 = 187,
    _SC_LEVEL1_DCACHE_SIZE___317 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___317 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___317 = 190,
    _SC_LEVEL2_CACHE_SIZE___317 = 191,
    _SC_LEVEL2_CACHE_ASSOC___317 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___317 = 193,
    _SC_LEVEL3_CACHE_SIZE___317 = 194,
    _SC_LEVEL3_CACHE_ASSOC___317 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___317 = 196,
    _SC_LEVEL4_CACHE_SIZE___317 = 197,
    _SC_LEVEL4_CACHE_ASSOC___317 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___317 = 199,
    _SC_IPV6___317 = 235,
    _SC_RAW_SOCKETS___317 = 236,
    _SC_V7_ILP32_OFF32___317 = 237,
    _SC_V7_ILP32_OFFBIG___317 = 238,
    _SC_V7_LP64_OFF64___317 = 239,
    _SC_V7_LPBIG_OFFBIG___317 = 240,
    _SC_SS_REPL_MAX___317 = 241,
    _SC_TRACE_EVENT_NAME_MAX___317 = 242,
    _SC_TRACE_NAME_MAX___317 = 243,
    _SC_TRACE_SYS_MAX___317 = 244,
    _SC_TRACE_USER_EVENT_MAX___317 = 245,
    _SC_XOPEN_STREAMS___317 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___317 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___317 = 248
} ;
enum __anonenum_875524036___317 {
    _CS_PATH___317 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___317 = 1,
    _CS_GNU_LIBC_VERSION___317 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___317 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___317 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___317 = 5,
    _CS_LFS_CFLAGS___317 = 1000,
    _CS_LFS_LDFLAGS___317 = 1001,
    _CS_LFS_LIBS___317 = 1002,
    _CS_LFS_LINTFLAGS___317 = 1003,
    _CS_LFS64_CFLAGS___317 = 1004,
    _CS_LFS64_LDFLAGS___317 = 1005,
    _CS_LFS64_LIBS___317 = 1006,
    _CS_LFS64_LINTFLAGS___317 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___317 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___317 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___317 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___317 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___317 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___317 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___317 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___317 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___317 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___317 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___317 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___317 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___317 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___317 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___317 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___317 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___317 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___317 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___317 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___317 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___317 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___317 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___317 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___317 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___317 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___317 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___317 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___317 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___317 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___317 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___317 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___317 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___317 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___317 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___317 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___317 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___317 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___317 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___317 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___317 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___317 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___317 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___317 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___317 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___317 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___317 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___317 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___317 = 1147,
    _CS_V6_ENV___317 = 1148,
    _CS_V7_ENV___317 = 1149
} ;
enum __anonenum_513775621___317 {
    DT_UNKNOWN___317 = 0,
    DT_FIFO___317 = 1,
    DT_CHR___317 = 2,
    DT_DIR___317 = 4,
    DT_BLK___317 = 6,
    DT_REG___317 = 8,
    DT_LNK___317 = 10,
    DT_SOCK___317 = 12,
    DT_WHT___317 = 14
} ;
enum __anonenum_77002343___317 {
    SI_ASYNCNL___317 = -60,
    SI_TKILL___317 = -6,
    SI_SIGIO___317 = -5,
    SI_ASYNCIO___317 = -4,
    SI_MESGQ___317 = -3,
    SI_TIMER___317 = -2,
    SI_QUEUE___317 = -1,
    SI_USER___317 = 0,
    SI_KERNEL___317 = 128
} ;
enum __anonenum_131038172___317 {
    ILL_ILLOPC___317 = 1,
    ILL_ILLOPN___317 = 2,
    ILL_ILLADR___317 = 3,
    ILL_ILLTRP___317 = 4,
    ILL_PRVOPC___317 = 5,
    ILL_PRVREG___317 = 6,
    ILL_COPROC___317 = 7,
    ILL_BADSTK___317 = 8
} ;
enum __anonenum_452038093___317 {
    FPE_INTDIV___317 = 1,
    FPE_INTOVF___317 = 2,
    FPE_FLTDIV___317 = 3,
    FPE_FLTOVF___317 = 4,
    FPE_FLTUND___317 = 5,
    FPE_FLTRES___317 = 6,
    FPE_FLTINV___317 = 7,
    FPE_FLTSUB___317 = 8
} ;
enum __anonenum_30976155___317 {
    SEGV_MAPERR___317 = 1,
    SEGV_ACCERR___317 = 2,
    SEGV_BNDERR___317 = 3,
    SEGV_PKUERR___317 = 4
} ;
enum __anonenum_1036286214___317 {
    BUS_ADRALN___317 = 1,
    BUS_ADRERR___317 = 2,
    BUS_OBJERR___317 = 3,
    BUS_MCEERR_AR___317 = 4,
    BUS_MCEERR_AO___317 = 5
} ;
enum __anonenum_493465559___317 {
    TRAP_BRKPT___317 = 1,
    TRAP_TRACE___317 = 2
} ;
enum __anonenum_23175539___317 {
    CLD_EXITED___317 = 1,
    CLD_KILLED___317 = 2,
    CLD_DUMPED___317 = 3,
    CLD_TRAPPED___317 = 4,
    CLD_STOPPED___317 = 5,
    CLD_CONTINUED___317 = 6
} ;
enum __anonenum_111643124___317 {
    POLL_IN___317 = 1,
    POLL_OUT___317 = 2,
    POLL_MSG___317 = 3,
    POLL_ERR___317 = 4,
    POLL_PRI___317 = 5,
    POLL_HUP___317 = 6
} ;
enum __anonenum_852341087___317 {
    SIGEV_SIGNAL___317 = 0,
    SIGEV_NONE___317 = 1,
    SIGEV_THREAD___317 = 2,
    SIGEV_THREAD_ID___317 = 4
} ;
enum __anonenum_451154152___317 {
    REG_R8___317 = 0,
    REG_R9___317 = 1,
    REG_R10___317 = 2,
    REG_R11___317 = 3,
    REG_R12___317 = 4,
    REG_R13___317 = 5,
    REG_R14___317 = 6,
    REG_R15___317 = 7,
    REG_RDI___317 = 8,
    REG_RSI___317 = 9,
    REG_RBP___317 = 10,
    REG_RBX___317 = 11,
    REG_RDX___317 = 12,
    REG_RAX___317 = 13,
    REG_RCX___317 = 14,
    REG_RSP___317 = 15,
    REG_RIP___317 = 16,
    REG_EFL___317 = 17,
    REG_CSGSFS___317 = 18,
    REG_ERR___317 = 19,
    REG_TRAPNO___317 = 20,
    REG_OLDMASK___317 = 21,
    REG_CR2___317 = 22
} ;
enum __anonenum_57186863___317 {
    SS_ONSTACK___317 = 1,
    SS_DISABLE___317 = 2
} ;
enum __anonenum_83571709___317 {
    MSG_OOB___317 = 1,
    MSG_PEEK___317 = 2,
    MSG_DONTROUTE___317 = 4,
    MSG_TRYHARD___317 = 4,
    MSG_CTRUNC___317 = 8,
    MSG_PROXY___317 = 16,
    MSG_TRUNC___317 = 32,
    MSG_DONTWAIT___317 = 64,
    MSG_EOR___317 = 128,
    MSG_WAITALL___317 = 256,
    MSG_FIN___317 = 512,
    MSG_SYN___317 = 1024,
    MSG_CONFIRM___317 = 2048,
    MSG_RST___317 = 4096,
    MSG_ERRQUEUE___317 = 8192,
    MSG_NOSIGNAL___317 = 16384,
    MSG_MORE___317 = 32768,
    MSG_WAITFORONE___317 = 65536,
    MSG_BATCH___317 = 262144,
    MSG_ZEROCOPY___317 = 67108864,
    MSG_FASTOPEN___317 = 536870912,
    MSG_CMSG_CLOEXEC___317 = 1073741824
} ;
enum __anonenum_617082774___317 {
    SCM_RIGHTS___317 = 1,
    SCM_CREDENTIALS___317 = 2
} ;
enum __anonenum_606441560___317 {
    SHUT_RD___317 = 0,
    SHUT_WR___317 = 1,
    SHUT_RDWR___317 = 2
} ;
enum __anonenum_681669233___317 {
    IPPROTO_IP___317 = 0,
    IPPROTO_ICMP___317 = 1,
    IPPROTO_IGMP___317 = 2,
    IPPROTO_IPIP___317 = 4,
    IPPROTO_TCP___317 = 6,
    IPPROTO_EGP___317 = 8,
    IPPROTO_PUP___317 = 12,
    IPPROTO_UDP___317 = 17,
    IPPROTO_IDP___317 = 22,
    IPPROTO_TP___317 = 29,
    IPPROTO_DCCP___317 = 33,
    IPPROTO_IPV6___317 = 41,
    IPPROTO_RSVP___317 = 46,
    IPPROTO_GRE___317 = 47,
    IPPROTO_ESP___317 = 50,
    IPPROTO_AH___317 = 51,
    IPPROTO_MTP___317 = 92,
    IPPROTO_BEETPH___317 = 94,
    IPPROTO_ENCAP___317 = 98,
    IPPROTO_PIM___317 = 103,
    IPPROTO_COMP___317 = 108,
    IPPROTO_SCTP___317 = 132,
    IPPROTO_UDPLITE___317 = 136,
    IPPROTO_MPLS___317 = 137,
    IPPROTO_RAW___317 = 255,
    IPPROTO_MAX___317 = 256
} ;
enum __anonenum_218739988___317 {
    IPPROTO_HOPOPTS___317 = 0,
    IPPROTO_ROUTING___317 = 43,
    IPPROTO_FRAGMENT___317 = 44,
    IPPROTO_ICMPV6___317 = 58,
    IPPROTO_NONE___317 = 59,
    IPPROTO_DSTOPTS___317 = 60,
    IPPROTO_MH___317 = 135
} ;
enum __anonenum_662268580___317 {
    IPPORT_ECHO___317 = 7,
    IPPORT_DISCARD___317 = 9,
    IPPORT_SYSTAT___317 = 11,
    IPPORT_DAYTIME___317 = 13,
    IPPORT_NETSTAT___317 = 15,
    IPPORT_FTP___317 = 21,
    IPPORT_TELNET___317 = 23,
    IPPORT_SMTP___317 = 25,
    IPPORT_TIMESERVER___317 = 37,
    IPPORT_NAMESERVER___317 = 42,
    IPPORT_WHOIS___317 = 43,
    IPPORT_MTP___317 = 57,
    IPPORT_TFTP___317 = 69,
    IPPORT_RJE___317 = 77,
    IPPORT_FINGER___317 = 79,
    IPPORT_TTYLINK___317 = 87,
    IPPORT_SUPDUP___317 = 95,
    IPPORT_EXECSERVER___317 = 512,
    IPPORT_LOGINSERVER___317 = 513,
    IPPORT_CMDSERVER___317 = 514,
    IPPORT_EFSSERVER___317 = 520,
    IPPORT_BIFFUDP___317 = 512,
    IPPORT_WHOSERVER___317 = 513,
    IPPORT_ROUTESERVER___317 = 520,
    IPPORT_RESERVED___317 = 1024,
    IPPORT_USERRESERVED___317 = 5000
} ;
enum __anonenum_788308992___317 {
    TCP_ESTABLISHED___317 = 1,
    TCP_SYN_SENT___317 = 2,
    TCP_SYN_RECV___317 = 3,
    TCP_FIN_WAIT1___317 = 4,
    TCP_FIN_WAIT2___317 = 5,
    TCP_TIME_WAIT___317 = 6,
    TCP_CLOSE___317 = 7,
    TCP_CLOSE_WAIT___317 = 8,
    TCP_LAST_ACK___317 = 9,
    TCP_LISTEN___317 = 10,
    TCP_CLOSING___317 = 11
} ;
enum __anonenum_221125648___317 {
    TCP_NO_QUEUE___317 = 0,
    TCP_RECV_QUEUE___317 = 1,
    TCP_SEND_QUEUE___317 = 2,
    TCP_QUEUES_NR___317 = 3
} ;
enum __anonenum_34415463___317 {
    PTHREAD_CREATE_JOINABLE___317 = 0,
    PTHREAD_CREATE_DETACHED___317 = 1
} ;
enum __anonenum_303612439___317 {
    PTHREAD_MUTEX_TIMED_NP___317 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___317 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___317 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___317 = 3,
    PTHREAD_MUTEX_NORMAL___317 = 0,
    PTHREAD_MUTEX_RECURSIVE___317 = 1,
    PTHREAD_MUTEX_ERRORCHECK___317 = 2,
    PTHREAD_MUTEX_DEFAULT___317 = 0,
    PTHREAD_MUTEX_FAST_NP___317 = 0
} ;
enum __anonenum_931900394___317 {
    PTHREAD_MUTEX_STALLED___317 = 0,
    PTHREAD_MUTEX_STALLED_NP___317 = 0,
    PTHREAD_MUTEX_ROBUST___317 = 1,
    PTHREAD_MUTEX_ROBUST_NP___317 = 1
} ;
enum __anonenum_205214487___317 {
    PTHREAD_PRIO_NONE___317 = 0,
    PTHREAD_PRIO_INHERIT___317 = 1,
    PTHREAD_PRIO_PROTECT___317 = 2
} ;
enum __anonenum_25043950___317 {
    PTHREAD_RWLOCK_PREFER_READER_NP___317 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___317 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___317 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___317 = 0
} ;
enum __anonenum_436439511___317 {
    PTHREAD_INHERIT_SCHED___317 = 0,
    PTHREAD_EXPLICIT_SCHED___317 = 1
} ;
enum __anonenum_998661166___317 {
    PTHREAD_SCOPE_SYSTEM___317 = 0,
    PTHREAD_SCOPE_PROCESS___317 = 1
} ;
enum __anonenum_146137331___317 {
    PTHREAD_PROCESS_PRIVATE___317 = 0,
    PTHREAD_PROCESS_SHARED___317 = 1
} ;
enum __anonenum_53396917___317 {
    PTHREAD_CANCEL_ENABLE___317 = 0,
    PTHREAD_CANCEL_DISABLE___317 = 1
} ;
enum __anonenum_904563783___317 {
    PTHREAD_CANCEL_DEFERRED___317 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___317 = 1
} ;
enum __anonenum_672052974___317 {
    SSL_CT_VALIDATION_PERMISSIVE___317 = 0,
    SSL_CT_VALIDATION_STRICT___317 = 1
} ;
enum __anonenum_561748495___25 {
    RECURSE_SUBMODULES_ONLY___25 = -5,
    RECURSE_SUBMODULES_CHECK___25 = -4,
    RECURSE_SUBMODULES_ERROR___25 = -3,
    RECURSE_SUBMODULES_NONE___25 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___25 = -1,
    RECURSE_SUBMODULES_OFF___25 = 0,
    RECURSE_SUBMODULES_DEFAULT___25 = 1,
    RECURSE_SUBMODULES_ON___25 = 2
} ;
struct work_item {
   struct grep_source source ;
   char done ;
   struct strbuf out ;
};
enum __anonenum_437032235___318 {
    _PC_LINK_MAX___318 = 0,
    _PC_MAX_CANON___318 = 1,
    _PC_MAX_INPUT___318 = 2,
    _PC_NAME_MAX___318 = 3,
    _PC_PATH_MAX___318 = 4,
    _PC_PIPE_BUF___318 = 5,
    _PC_CHOWN_RESTRICTED___318 = 6,
    _PC_NO_TRUNC___318 = 7,
    _PC_VDISABLE___318 = 8,
    _PC_SYNC_IO___318 = 9,
    _PC_ASYNC_IO___318 = 10,
    _PC_PRIO_IO___318 = 11,
    _PC_SOCK_MAXBUF___318 = 12,
    _PC_FILESIZEBITS___318 = 13,
    _PC_REC_INCR_XFER_SIZE___318 = 14,
    _PC_REC_MAX_XFER_SIZE___318 = 15,
    _PC_REC_MIN_XFER_SIZE___318 = 16,
    _PC_REC_XFER_ALIGN___318 = 17,
    _PC_ALLOC_SIZE_MIN___318 = 18,
    _PC_SYMLINK_MAX___318 = 19,
    _PC_2_SYMLINKS___318 = 20
} ;
enum __anonenum_315186338___318 {
    _SC_ARG_MAX___318 = 0,
    _SC_CHILD_MAX___318 = 1,
    _SC_CLK_TCK___318 = 2,
    _SC_NGROUPS_MAX___318 = 3,
    _SC_OPEN_MAX___318 = 4,
    _SC_STREAM_MAX___318 = 5,
    _SC_TZNAME_MAX___318 = 6,
    _SC_JOB_CONTROL___318 = 7,
    _SC_SAVED_IDS___318 = 8,
    _SC_REALTIME_SIGNALS___318 = 9,
    _SC_PRIORITY_SCHEDULING___318 = 10,
    _SC_TIMERS___318 = 11,
    _SC_ASYNCHRONOUS_IO___318 = 12,
    _SC_PRIORITIZED_IO___318 = 13,
    _SC_SYNCHRONIZED_IO___318 = 14,
    _SC_FSYNC___318 = 15,
    _SC_MAPPED_FILES___318 = 16,
    _SC_MEMLOCK___318 = 17,
    _SC_MEMLOCK_RANGE___318 = 18,
    _SC_MEMORY_PROTECTION___318 = 19,
    _SC_MESSAGE_PASSING___318 = 20,
    _SC_SEMAPHORES___318 = 21,
    _SC_SHARED_MEMORY_OBJECTS___318 = 22,
    _SC_AIO_LISTIO_MAX___318 = 23,
    _SC_AIO_MAX___318 = 24,
    _SC_AIO_PRIO_DELTA_MAX___318 = 25,
    _SC_DELAYTIMER_MAX___318 = 26,
    _SC_MQ_OPEN_MAX___318 = 27,
    _SC_MQ_PRIO_MAX___318 = 28,
    _SC_VERSION___318 = 29,
    _SC_PAGESIZE___318 = 30,
    _SC_RTSIG_MAX___318 = 31,
    _SC_SEM_NSEMS_MAX___318 = 32,
    _SC_SEM_VALUE_MAX___318 = 33,
    _SC_SIGQUEUE_MAX___318 = 34,
    _SC_TIMER_MAX___318 = 35,
    _SC_BC_BASE_MAX___318 = 36,
    _SC_BC_DIM_MAX___318 = 37,
    _SC_BC_SCALE_MAX___318 = 38,
    _SC_BC_STRING_MAX___318 = 39,
    _SC_COLL_WEIGHTS_MAX___318 = 40,
    _SC_EQUIV_CLASS_MAX___318 = 41,
    _SC_EXPR_NEST_MAX___318 = 42,
    _SC_LINE_MAX___318 = 43,
    _SC_RE_DUP_MAX___318 = 44,
    _SC_CHARCLASS_NAME_MAX___318 = 45,
    _SC_2_VERSION___318 = 46,
    _SC_2_C_BIND___318 = 47,
    _SC_2_C_DEV___318 = 48,
    _SC_2_FORT_DEV___318 = 49,
    _SC_2_FORT_RUN___318 = 50,
    _SC_2_SW_DEV___318 = 51,
    _SC_2_LOCALEDEF___318 = 52,
    _SC_PII___318 = 53,
    _SC_PII_XTI___318 = 54,
    _SC_PII_SOCKET___318 = 55,
    _SC_PII_INTERNET___318 = 56,
    _SC_PII_OSI___318 = 57,
    _SC_POLL___318 = 58,
    _SC_SELECT___318 = 59,
    _SC_UIO_MAXIOV___318 = 60,
    _SC_IOV_MAX___318 = 60,
    _SC_PII_INTERNET_STREAM___318 = 61,
    _SC_PII_INTERNET_DGRAM___318 = 62,
    _SC_PII_OSI_COTS___318 = 63,
    _SC_PII_OSI_CLTS___318 = 64,
    _SC_PII_OSI_M___318 = 65,
    _SC_T_IOV_MAX___318 = 66,
    _SC_THREADS___318 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___318 = 68,
    _SC_GETGR_R_SIZE_MAX___318 = 69,
    _SC_GETPW_R_SIZE_MAX___318 = 70,
    _SC_LOGIN_NAME_MAX___318 = 71,
    _SC_TTY_NAME_MAX___318 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___318 = 73,
    _SC_THREAD_KEYS_MAX___318 = 74,
    _SC_THREAD_STACK_MIN___318 = 75,
    _SC_THREAD_THREADS_MAX___318 = 76,
    _SC_THREAD_ATTR_STACKADDR___318 = 77,
    _SC_THREAD_ATTR_STACKSIZE___318 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___318 = 79,
    _SC_THREAD_PRIO_INHERIT___318 = 80,
    _SC_THREAD_PRIO_PROTECT___318 = 81,
    _SC_THREAD_PROCESS_SHARED___318 = 82,
    _SC_NPROCESSORS_CONF___318 = 83,
    _SC_NPROCESSORS_ONLN___318 = 84,
    _SC_PHYS_PAGES___318 = 85,
    _SC_AVPHYS_PAGES___318 = 86,
    _SC_ATEXIT_MAX___318 = 87,
    _SC_PASS_MAX___318 = 88,
    _SC_XOPEN_VERSION___318 = 89,
    _SC_XOPEN_XCU_VERSION___318 = 90,
    _SC_XOPEN_UNIX___318 = 91,
    _SC_XOPEN_CRYPT___318 = 92,
    _SC_XOPEN_ENH_I18N___318 = 93,
    _SC_XOPEN_SHM___318 = 94,
    _SC_2_CHAR_TERM___318 = 95,
    _SC_2_C_VERSION___318 = 96,
    _SC_2_UPE___318 = 97,
    _SC_XOPEN_XPG2___318 = 98,
    _SC_XOPEN_XPG3___318 = 99,
    _SC_XOPEN_XPG4___318 = 100,
    _SC_CHAR_BIT___318 = 101,
    _SC_CHAR_MAX___318 = 102,
    _SC_CHAR_MIN___318 = 103,
    _SC_INT_MAX___318 = 104,
    _SC_INT_MIN___318 = 105,
    _SC_LONG_BIT___318 = 106,
    _SC_WORD_BIT___318 = 107,
    _SC_MB_LEN_MAX___318 = 108,
    _SC_NZERO___318 = 109,
    _SC_SSIZE_MAX___318 = 110,
    _SC_SCHAR_MAX___318 = 111,
    _SC_SCHAR_MIN___318 = 112,
    _SC_SHRT_MAX___318 = 113,
    _SC_SHRT_MIN___318 = 114,
    _SC_UCHAR_MAX___318 = 115,
    _SC_UINT_MAX___318 = 116,
    _SC_ULONG_MAX___318 = 117,
    _SC_USHRT_MAX___318 = 118,
    _SC_NL_ARGMAX___318 = 119,
    _SC_NL_LANGMAX___318 = 120,
    _SC_NL_MSGMAX___318 = 121,
    _SC_NL_NMAX___318 = 122,
    _SC_NL_SETMAX___318 = 123,
    _SC_NL_TEXTMAX___318 = 124,
    _SC_XBS5_ILP32_OFF32___318 = 125,
    _SC_XBS5_ILP32_OFFBIG___318 = 126,
    _SC_XBS5_LP64_OFF64___318 = 127,
    _SC_XBS5_LPBIG_OFFBIG___318 = 128,
    _SC_XOPEN_LEGACY___318 = 129,
    _SC_XOPEN_REALTIME___318 = 130,
    _SC_XOPEN_REALTIME_THREADS___318 = 131,
    _SC_ADVISORY_INFO___318 = 132,
    _SC_BARRIERS___318 = 133,
    _SC_BASE___318 = 134,
    _SC_C_LANG_SUPPORT___318 = 135,
    _SC_C_LANG_SUPPORT_R___318 = 136,
    _SC_CLOCK_SELECTION___318 = 137,
    _SC_CPUTIME___318 = 138,
    _SC_THREAD_CPUTIME___318 = 139,
    _SC_DEVICE_IO___318 = 140,
    _SC_DEVICE_SPECIFIC___318 = 141,
    _SC_DEVICE_SPECIFIC_R___318 = 142,
    _SC_FD_MGMT___318 = 143,
    _SC_FIFO___318 = 144,
    _SC_PIPE___318 = 145,
    _SC_FILE_ATTRIBUTES___318 = 146,
    _SC_FILE_LOCKING___318 = 147,
    _SC_FILE_SYSTEM___318 = 148,
    _SC_MONOTONIC_CLOCK___318 = 149,
    _SC_MULTI_PROCESS___318 = 150,
    _SC_SINGLE_PROCESS___318 = 151,
    _SC_NETWORKING___318 = 152,
    _SC_READER_WRITER_LOCKS___318 = 153,
    _SC_SPIN_LOCKS___318 = 154,
    _SC_REGEXP___318 = 155,
    _SC_REGEX_VERSION___318 = 156,
    _SC_SHELL___318 = 157,
    _SC_SIGNALS___318 = 158,
    _SC_SPAWN___318 = 159,
    _SC_SPORADIC_SERVER___318 = 160,
    _SC_THREAD_SPORADIC_SERVER___318 = 161,
    _SC_SYSTEM_DATABASE___318 = 162,
    _SC_SYSTEM_DATABASE_R___318 = 163,
    _SC_TIMEOUTS___318 = 164,
    _SC_TYPED_MEMORY_OBJECTS___318 = 165,
    _SC_USER_GROUPS___318 = 166,
    _SC_USER_GROUPS_R___318 = 167,
    _SC_2_PBS___318 = 168,
    _SC_2_PBS_ACCOUNTING___318 = 169,
    _SC_2_PBS_LOCATE___318 = 170,
    _SC_2_PBS_MESSAGE___318 = 171,
    _SC_2_PBS_TRACK___318 = 172,
    _SC_SYMLOOP_MAX___318 = 173,
    _SC_STREAMS___318 = 174,
    _SC_2_PBS_CHECKPOINT___318 = 175,
    _SC_V6_ILP32_OFF32___318 = 176,
    _SC_V6_ILP32_OFFBIG___318 = 177,
    _SC_V6_LP64_OFF64___318 = 178,
    _SC_V6_LPBIG_OFFBIG___318 = 179,
    _SC_HOST_NAME_MAX___318 = 180,
    _SC_TRACE___318 = 181,
    _SC_TRACE_EVENT_FILTER___318 = 182,
    _SC_TRACE_INHERIT___318 = 183,
    _SC_TRACE_LOG___318 = 184,
    _SC_LEVEL1_ICACHE_SIZE___318 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___318 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___318 = 187,
    _SC_LEVEL1_DCACHE_SIZE___318 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___318 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___318 = 190,
    _SC_LEVEL2_CACHE_SIZE___318 = 191,
    _SC_LEVEL2_CACHE_ASSOC___318 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___318 = 193,
    _SC_LEVEL3_CACHE_SIZE___318 = 194,
    _SC_LEVEL3_CACHE_ASSOC___318 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___318 = 196,
    _SC_LEVEL4_CACHE_SIZE___318 = 197,
    _SC_LEVEL4_CACHE_ASSOC___318 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___318 = 199,
    _SC_IPV6___318 = 235,
    _SC_RAW_SOCKETS___318 = 236,
    _SC_V7_ILP32_OFF32___318 = 237,
    _SC_V7_ILP32_OFFBIG___318 = 238,
    _SC_V7_LP64_OFF64___318 = 239,
    _SC_V7_LPBIG_OFFBIG___318 = 240,
    _SC_SS_REPL_MAX___318 = 241,
    _SC_TRACE_EVENT_NAME_MAX___318 = 242,
    _SC_TRACE_NAME_MAX___318 = 243,
    _SC_TRACE_SYS_MAX___318 = 244,
    _SC_TRACE_USER_EVENT_MAX___318 = 245,
    _SC_XOPEN_STREAMS___318 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___318 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___318 = 248
} ;
enum __anonenum_875524036___318 {
    _CS_PATH___318 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___318 = 1,
    _CS_GNU_LIBC_VERSION___318 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___318 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___318 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___318 = 5,
    _CS_LFS_CFLAGS___318 = 1000,
    _CS_LFS_LDFLAGS___318 = 1001,
    _CS_LFS_LIBS___318 = 1002,
    _CS_LFS_LINTFLAGS___318 = 1003,
    _CS_LFS64_CFLAGS___318 = 1004,
    _CS_LFS64_LDFLAGS___318 = 1005,
    _CS_LFS64_LIBS___318 = 1006,
    _CS_LFS64_LINTFLAGS___318 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___318 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___318 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___318 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___318 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___318 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___318 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___318 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___318 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___318 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___318 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___318 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___318 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___318 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___318 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___318 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___318 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___318 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___318 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___318 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___318 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___318 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___318 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___318 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___318 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___318 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___318 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___318 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___318 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___318 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___318 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___318 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___318 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___318 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___318 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___318 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___318 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___318 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___318 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___318 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___318 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___318 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___318 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___318 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___318 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___318 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___318 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___318 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___318 = 1147,
    _CS_V6_ENV___318 = 1148,
    _CS_V7_ENV___318 = 1149
} ;
enum __anonenum_513775621___318 {
    DT_UNKNOWN___318 = 0,
    DT_FIFO___318 = 1,
    DT_CHR___318 = 2,
    DT_DIR___318 = 4,
    DT_BLK___318 = 6,
    DT_REG___318 = 8,
    DT_LNK___318 = 10,
    DT_SOCK___318 = 12,
    DT_WHT___318 = 14
} ;
enum __anonenum_77002343___318 {
    SI_ASYNCNL___318 = -60,
    SI_TKILL___318 = -6,
    SI_SIGIO___318 = -5,
    SI_ASYNCIO___318 = -4,
    SI_MESGQ___318 = -3,
    SI_TIMER___318 = -2,
    SI_QUEUE___318 = -1,
    SI_USER___318 = 0,
    SI_KERNEL___318 = 128
} ;
enum __anonenum_131038172___318 {
    ILL_ILLOPC___318 = 1,
    ILL_ILLOPN___318 = 2,
    ILL_ILLADR___318 = 3,
    ILL_ILLTRP___318 = 4,
    ILL_PRVOPC___318 = 5,
    ILL_PRVREG___318 = 6,
    ILL_COPROC___318 = 7,
    ILL_BADSTK___318 = 8
} ;
enum __anonenum_452038093___318 {
    FPE_INTDIV___318 = 1,
    FPE_INTOVF___318 = 2,
    FPE_FLTDIV___318 = 3,
    FPE_FLTOVF___318 = 4,
    FPE_FLTUND___318 = 5,
    FPE_FLTRES___318 = 6,
    FPE_FLTINV___318 = 7,
    FPE_FLTSUB___318 = 8
} ;
enum __anonenum_30976155___318 {
    SEGV_MAPERR___318 = 1,
    SEGV_ACCERR___318 = 2,
    SEGV_BNDERR___318 = 3,
    SEGV_PKUERR___318 = 4
} ;
enum __anonenum_1036286214___318 {
    BUS_ADRALN___318 = 1,
    BUS_ADRERR___318 = 2,
    BUS_OBJERR___318 = 3,
    BUS_MCEERR_AR___318 = 4,
    BUS_MCEERR_AO___318 = 5
} ;
enum __anonenum_493465559___318 {
    TRAP_BRKPT___318 = 1,
    TRAP_TRACE___318 = 2
} ;
enum __anonenum_23175539___318 {
    CLD_EXITED___318 = 1,
    CLD_KILLED___318 = 2,
    CLD_DUMPED___318 = 3,
    CLD_TRAPPED___318 = 4,
    CLD_STOPPED___318 = 5,
    CLD_CONTINUED___318 = 6
} ;
enum __anonenum_111643124___318 {
    POLL_IN___318 = 1,
    POLL_OUT___318 = 2,
    POLL_MSG___318 = 3,
    POLL_ERR___318 = 4,
    POLL_PRI___318 = 5,
    POLL_HUP___318 = 6
} ;
enum __anonenum_852341087___318 {
    SIGEV_SIGNAL___318 = 0,
    SIGEV_NONE___318 = 1,
    SIGEV_THREAD___318 = 2,
    SIGEV_THREAD_ID___318 = 4
} ;
enum __anonenum_451154152___318 {
    REG_R8___318 = 0,
    REG_R9___318 = 1,
    REG_R10___318 = 2,
    REG_R11___318 = 3,
    REG_R12___318 = 4,
    REG_R13___318 = 5,
    REG_R14___318 = 6,
    REG_R15___318 = 7,
    REG_RDI___318 = 8,
    REG_RSI___318 = 9,
    REG_RBP___318 = 10,
    REG_RBX___318 = 11,
    REG_RDX___318 = 12,
    REG_RAX___318 = 13,
    REG_RCX___318 = 14,
    REG_RSP___318 = 15,
    REG_RIP___318 = 16,
    REG_EFL___318 = 17,
    REG_CSGSFS___318 = 18,
    REG_ERR___318 = 19,
    REG_TRAPNO___318 = 20,
    REG_OLDMASK___318 = 21,
    REG_CR2___318 = 22
} ;
enum __anonenum_57186863___318 {
    SS_ONSTACK___318 = 1,
    SS_DISABLE___318 = 2
} ;
enum __anonenum_83571709___318 {
    MSG_OOB___318 = 1,
    MSG_PEEK___318 = 2,
    MSG_DONTROUTE___318 = 4,
    MSG_TRYHARD___318 = 4,
    MSG_CTRUNC___318 = 8,
    MSG_PROXY___318 = 16,
    MSG_TRUNC___318 = 32,
    MSG_DONTWAIT___318 = 64,
    MSG_EOR___318 = 128,
    MSG_WAITALL___318 = 256,
    MSG_FIN___318 = 512,
    MSG_SYN___318 = 1024,
    MSG_CONFIRM___318 = 2048,
    MSG_RST___318 = 4096,
    MSG_ERRQUEUE___318 = 8192,
    MSG_NOSIGNAL___318 = 16384,
    MSG_MORE___318 = 32768,
    MSG_WAITFORONE___318 = 65536,
    MSG_BATCH___318 = 262144,
    MSG_ZEROCOPY___318 = 67108864,
    MSG_FASTOPEN___318 = 536870912,
    MSG_CMSG_CLOEXEC___318 = 1073741824
} ;
enum __anonenum_617082774___318 {
    SCM_RIGHTS___318 = 1,
    SCM_CREDENTIALS___318 = 2
} ;
enum __anonenum_606441560___318 {
    SHUT_RD___318 = 0,
    SHUT_WR___318 = 1,
    SHUT_RDWR___318 = 2
} ;
enum __anonenum_681669233___318 {
    IPPROTO_IP___318 = 0,
    IPPROTO_ICMP___318 = 1,
    IPPROTO_IGMP___318 = 2,
    IPPROTO_IPIP___318 = 4,
    IPPROTO_TCP___318 = 6,
    IPPROTO_EGP___318 = 8,
    IPPROTO_PUP___318 = 12,
    IPPROTO_UDP___318 = 17,
    IPPROTO_IDP___318 = 22,
    IPPROTO_TP___318 = 29,
    IPPROTO_DCCP___318 = 33,
    IPPROTO_IPV6___318 = 41,
    IPPROTO_RSVP___318 = 46,
    IPPROTO_GRE___318 = 47,
    IPPROTO_ESP___318 = 50,
    IPPROTO_AH___318 = 51,
    IPPROTO_MTP___318 = 92,
    IPPROTO_BEETPH___318 = 94,
    IPPROTO_ENCAP___318 = 98,
    IPPROTO_PIM___318 = 103,
    IPPROTO_COMP___318 = 108,
    IPPROTO_SCTP___318 = 132,
    IPPROTO_UDPLITE___318 = 136,
    IPPROTO_MPLS___318 = 137,
    IPPROTO_RAW___318 = 255,
    IPPROTO_MAX___318 = 256
} ;
enum __anonenum_218739988___318 {
    IPPROTO_HOPOPTS___318 = 0,
    IPPROTO_ROUTING___318 = 43,
    IPPROTO_FRAGMENT___318 = 44,
    IPPROTO_ICMPV6___318 = 58,
    IPPROTO_NONE___318 = 59,
    IPPROTO_DSTOPTS___318 = 60,
    IPPROTO_MH___318 = 135
} ;
enum __anonenum_662268580___318 {
    IPPORT_ECHO___318 = 7,
    IPPORT_DISCARD___318 = 9,
    IPPORT_SYSTAT___318 = 11,
    IPPORT_DAYTIME___318 = 13,
    IPPORT_NETSTAT___318 = 15,
    IPPORT_FTP___318 = 21,
    IPPORT_TELNET___318 = 23,
    IPPORT_SMTP___318 = 25,
    IPPORT_TIMESERVER___318 = 37,
    IPPORT_NAMESERVER___318 = 42,
    IPPORT_WHOIS___318 = 43,
    IPPORT_MTP___318 = 57,
    IPPORT_TFTP___318 = 69,
    IPPORT_RJE___318 = 77,
    IPPORT_FINGER___318 = 79,
    IPPORT_TTYLINK___318 = 87,
    IPPORT_SUPDUP___318 = 95,
    IPPORT_EXECSERVER___318 = 512,
    IPPORT_LOGINSERVER___318 = 513,
    IPPORT_CMDSERVER___318 = 514,
    IPPORT_EFSSERVER___318 = 520,
    IPPORT_BIFFUDP___318 = 512,
    IPPORT_WHOSERVER___318 = 513,
    IPPORT_ROUTESERVER___318 = 520,
    IPPORT_RESERVED___318 = 1024,
    IPPORT_USERRESERVED___318 = 5000
} ;
enum __anonenum_788308992___318 {
    TCP_ESTABLISHED___318 = 1,
    TCP_SYN_SENT___318 = 2,
    TCP_SYN_RECV___318 = 3,
    TCP_FIN_WAIT1___318 = 4,
    TCP_FIN_WAIT2___318 = 5,
    TCP_TIME_WAIT___318 = 6,
    TCP_CLOSE___318 = 7,
    TCP_CLOSE_WAIT___318 = 8,
    TCP_LAST_ACK___318 = 9,
    TCP_LISTEN___318 = 10,
    TCP_CLOSING___318 = 11
} ;
enum __anonenum_221125648___318 {
    TCP_NO_QUEUE___318 = 0,
    TCP_RECV_QUEUE___318 = 1,
    TCP_SEND_QUEUE___318 = 2,
    TCP_QUEUES_NR___318 = 3
} ;
enum __anonenum_34415463___318 {
    PTHREAD_CREATE_JOINABLE___318 = 0,
    PTHREAD_CREATE_DETACHED___318 = 1
} ;
enum __anonenum_303612439___318 {
    PTHREAD_MUTEX_TIMED_NP___318 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___318 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___318 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___318 = 3,
    PTHREAD_MUTEX_NORMAL___318 = 0,
    PTHREAD_MUTEX_RECURSIVE___318 = 1,
    PTHREAD_MUTEX_ERRORCHECK___318 = 2,
    PTHREAD_MUTEX_DEFAULT___318 = 0,
    PTHREAD_MUTEX_FAST_NP___318 = 0
} ;
enum __anonenum_931900394___318 {
    PTHREAD_MUTEX_STALLED___318 = 0,
    PTHREAD_MUTEX_STALLED_NP___318 = 0,
    PTHREAD_MUTEX_ROBUST___318 = 1,
    PTHREAD_MUTEX_ROBUST_NP___318 = 1
} ;
enum __anonenum_205214487___318 {
    PTHREAD_PRIO_NONE___318 = 0,
    PTHREAD_PRIO_INHERIT___318 = 1,
    PTHREAD_PRIO_PROTECT___318 = 2
} ;
enum __anonenum_25043950___318 {
    PTHREAD_RWLOCK_PREFER_READER_NP___318 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___318 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___318 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___318 = 0
} ;
enum __anonenum_436439511___318 {
    PTHREAD_INHERIT_SCHED___318 = 0,
    PTHREAD_EXPLICIT_SCHED___318 = 1
} ;
enum __anonenum_998661166___318 {
    PTHREAD_SCOPE_SYSTEM___318 = 0,
    PTHREAD_SCOPE_PROCESS___318 = 1
} ;
enum __anonenum_146137331___318 {
    PTHREAD_PROCESS_PRIVATE___318 = 0,
    PTHREAD_PROCESS_SHARED___318 = 1
} ;
enum __anonenum_53396917___318 {
    PTHREAD_CANCEL_ENABLE___318 = 0,
    PTHREAD_CANCEL_DISABLE___318 = 1
} ;
enum __anonenum_904563783___318 {
    PTHREAD_CANCEL_DEFERRED___318 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___318 = 1
} ;
enum __anonenum_672052974___318 {
    SSL_CT_VALIDATION_PERMISSIVE___318 = 0,
    SSL_CT_VALIDATION_STRICT___318 = 1
} ;
enum __anonenum_437032235___319 {
    _PC_LINK_MAX___319 = 0,
    _PC_MAX_CANON___319 = 1,
    _PC_MAX_INPUT___319 = 2,
    _PC_NAME_MAX___319 = 3,
    _PC_PATH_MAX___319 = 4,
    _PC_PIPE_BUF___319 = 5,
    _PC_CHOWN_RESTRICTED___319 = 6,
    _PC_NO_TRUNC___319 = 7,
    _PC_VDISABLE___319 = 8,
    _PC_SYNC_IO___319 = 9,
    _PC_ASYNC_IO___319 = 10,
    _PC_PRIO_IO___319 = 11,
    _PC_SOCK_MAXBUF___319 = 12,
    _PC_FILESIZEBITS___319 = 13,
    _PC_REC_INCR_XFER_SIZE___319 = 14,
    _PC_REC_MAX_XFER_SIZE___319 = 15,
    _PC_REC_MIN_XFER_SIZE___319 = 16,
    _PC_REC_XFER_ALIGN___319 = 17,
    _PC_ALLOC_SIZE_MIN___319 = 18,
    _PC_SYMLINK_MAX___319 = 19,
    _PC_2_SYMLINKS___319 = 20
} ;
enum __anonenum_315186338___319 {
    _SC_ARG_MAX___319 = 0,
    _SC_CHILD_MAX___319 = 1,
    _SC_CLK_TCK___319 = 2,
    _SC_NGROUPS_MAX___319 = 3,
    _SC_OPEN_MAX___319 = 4,
    _SC_STREAM_MAX___319 = 5,
    _SC_TZNAME_MAX___319 = 6,
    _SC_JOB_CONTROL___319 = 7,
    _SC_SAVED_IDS___319 = 8,
    _SC_REALTIME_SIGNALS___319 = 9,
    _SC_PRIORITY_SCHEDULING___319 = 10,
    _SC_TIMERS___319 = 11,
    _SC_ASYNCHRONOUS_IO___319 = 12,
    _SC_PRIORITIZED_IO___319 = 13,
    _SC_SYNCHRONIZED_IO___319 = 14,
    _SC_FSYNC___319 = 15,
    _SC_MAPPED_FILES___319 = 16,
    _SC_MEMLOCK___319 = 17,
    _SC_MEMLOCK_RANGE___319 = 18,
    _SC_MEMORY_PROTECTION___319 = 19,
    _SC_MESSAGE_PASSING___319 = 20,
    _SC_SEMAPHORES___319 = 21,
    _SC_SHARED_MEMORY_OBJECTS___319 = 22,
    _SC_AIO_LISTIO_MAX___319 = 23,
    _SC_AIO_MAX___319 = 24,
    _SC_AIO_PRIO_DELTA_MAX___319 = 25,
    _SC_DELAYTIMER_MAX___319 = 26,
    _SC_MQ_OPEN_MAX___319 = 27,
    _SC_MQ_PRIO_MAX___319 = 28,
    _SC_VERSION___319 = 29,
    _SC_PAGESIZE___319 = 30,
    _SC_RTSIG_MAX___319 = 31,
    _SC_SEM_NSEMS_MAX___319 = 32,
    _SC_SEM_VALUE_MAX___319 = 33,
    _SC_SIGQUEUE_MAX___319 = 34,
    _SC_TIMER_MAX___319 = 35,
    _SC_BC_BASE_MAX___319 = 36,
    _SC_BC_DIM_MAX___319 = 37,
    _SC_BC_SCALE_MAX___319 = 38,
    _SC_BC_STRING_MAX___319 = 39,
    _SC_COLL_WEIGHTS_MAX___319 = 40,
    _SC_EQUIV_CLASS_MAX___319 = 41,
    _SC_EXPR_NEST_MAX___319 = 42,
    _SC_LINE_MAX___319 = 43,
    _SC_RE_DUP_MAX___319 = 44,
    _SC_CHARCLASS_NAME_MAX___319 = 45,
    _SC_2_VERSION___319 = 46,
    _SC_2_C_BIND___319 = 47,
    _SC_2_C_DEV___319 = 48,
    _SC_2_FORT_DEV___319 = 49,
    _SC_2_FORT_RUN___319 = 50,
    _SC_2_SW_DEV___319 = 51,
    _SC_2_LOCALEDEF___319 = 52,
    _SC_PII___319 = 53,
    _SC_PII_XTI___319 = 54,
    _SC_PII_SOCKET___319 = 55,
    _SC_PII_INTERNET___319 = 56,
    _SC_PII_OSI___319 = 57,
    _SC_POLL___319 = 58,
    _SC_SELECT___319 = 59,
    _SC_UIO_MAXIOV___319 = 60,
    _SC_IOV_MAX___319 = 60,
    _SC_PII_INTERNET_STREAM___319 = 61,
    _SC_PII_INTERNET_DGRAM___319 = 62,
    _SC_PII_OSI_COTS___319 = 63,
    _SC_PII_OSI_CLTS___319 = 64,
    _SC_PII_OSI_M___319 = 65,
    _SC_T_IOV_MAX___319 = 66,
    _SC_THREADS___319 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___319 = 68,
    _SC_GETGR_R_SIZE_MAX___319 = 69,
    _SC_GETPW_R_SIZE_MAX___319 = 70,
    _SC_LOGIN_NAME_MAX___319 = 71,
    _SC_TTY_NAME_MAX___319 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___319 = 73,
    _SC_THREAD_KEYS_MAX___319 = 74,
    _SC_THREAD_STACK_MIN___319 = 75,
    _SC_THREAD_THREADS_MAX___319 = 76,
    _SC_THREAD_ATTR_STACKADDR___319 = 77,
    _SC_THREAD_ATTR_STACKSIZE___319 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___319 = 79,
    _SC_THREAD_PRIO_INHERIT___319 = 80,
    _SC_THREAD_PRIO_PROTECT___319 = 81,
    _SC_THREAD_PROCESS_SHARED___319 = 82,
    _SC_NPROCESSORS_CONF___319 = 83,
    _SC_NPROCESSORS_ONLN___319 = 84,
    _SC_PHYS_PAGES___319 = 85,
    _SC_AVPHYS_PAGES___319 = 86,
    _SC_ATEXIT_MAX___319 = 87,
    _SC_PASS_MAX___319 = 88,
    _SC_XOPEN_VERSION___319 = 89,
    _SC_XOPEN_XCU_VERSION___319 = 90,
    _SC_XOPEN_UNIX___319 = 91,
    _SC_XOPEN_CRYPT___319 = 92,
    _SC_XOPEN_ENH_I18N___319 = 93,
    _SC_XOPEN_SHM___319 = 94,
    _SC_2_CHAR_TERM___319 = 95,
    _SC_2_C_VERSION___319 = 96,
    _SC_2_UPE___319 = 97,
    _SC_XOPEN_XPG2___319 = 98,
    _SC_XOPEN_XPG3___319 = 99,
    _SC_XOPEN_XPG4___319 = 100,
    _SC_CHAR_BIT___319 = 101,
    _SC_CHAR_MAX___319 = 102,
    _SC_CHAR_MIN___319 = 103,
    _SC_INT_MAX___319 = 104,
    _SC_INT_MIN___319 = 105,
    _SC_LONG_BIT___319 = 106,
    _SC_WORD_BIT___319 = 107,
    _SC_MB_LEN_MAX___319 = 108,
    _SC_NZERO___319 = 109,
    _SC_SSIZE_MAX___319 = 110,
    _SC_SCHAR_MAX___319 = 111,
    _SC_SCHAR_MIN___319 = 112,
    _SC_SHRT_MAX___319 = 113,
    _SC_SHRT_MIN___319 = 114,
    _SC_UCHAR_MAX___319 = 115,
    _SC_UINT_MAX___319 = 116,
    _SC_ULONG_MAX___319 = 117,
    _SC_USHRT_MAX___319 = 118,
    _SC_NL_ARGMAX___319 = 119,
    _SC_NL_LANGMAX___319 = 120,
    _SC_NL_MSGMAX___319 = 121,
    _SC_NL_NMAX___319 = 122,
    _SC_NL_SETMAX___319 = 123,
    _SC_NL_TEXTMAX___319 = 124,
    _SC_XBS5_ILP32_OFF32___319 = 125,
    _SC_XBS5_ILP32_OFFBIG___319 = 126,
    _SC_XBS5_LP64_OFF64___319 = 127,
    _SC_XBS5_LPBIG_OFFBIG___319 = 128,
    _SC_XOPEN_LEGACY___319 = 129,
    _SC_XOPEN_REALTIME___319 = 130,
    _SC_XOPEN_REALTIME_THREADS___319 = 131,
    _SC_ADVISORY_INFO___319 = 132,
    _SC_BARRIERS___319 = 133,
    _SC_BASE___319 = 134,
    _SC_C_LANG_SUPPORT___319 = 135,
    _SC_C_LANG_SUPPORT_R___319 = 136,
    _SC_CLOCK_SELECTION___319 = 137,
    _SC_CPUTIME___319 = 138,
    _SC_THREAD_CPUTIME___319 = 139,
    _SC_DEVICE_IO___319 = 140,
    _SC_DEVICE_SPECIFIC___319 = 141,
    _SC_DEVICE_SPECIFIC_R___319 = 142,
    _SC_FD_MGMT___319 = 143,
    _SC_FIFO___319 = 144,
    _SC_PIPE___319 = 145,
    _SC_FILE_ATTRIBUTES___319 = 146,
    _SC_FILE_LOCKING___319 = 147,
    _SC_FILE_SYSTEM___319 = 148,
    _SC_MONOTONIC_CLOCK___319 = 149,
    _SC_MULTI_PROCESS___319 = 150,
    _SC_SINGLE_PROCESS___319 = 151,
    _SC_NETWORKING___319 = 152,
    _SC_READER_WRITER_LOCKS___319 = 153,
    _SC_SPIN_LOCKS___319 = 154,
    _SC_REGEXP___319 = 155,
    _SC_REGEX_VERSION___319 = 156,
    _SC_SHELL___319 = 157,
    _SC_SIGNALS___319 = 158,
    _SC_SPAWN___319 = 159,
    _SC_SPORADIC_SERVER___319 = 160,
    _SC_THREAD_SPORADIC_SERVER___319 = 161,
    _SC_SYSTEM_DATABASE___319 = 162,
    _SC_SYSTEM_DATABASE_R___319 = 163,
    _SC_TIMEOUTS___319 = 164,
    _SC_TYPED_MEMORY_OBJECTS___319 = 165,
    _SC_USER_GROUPS___319 = 166,
    _SC_USER_GROUPS_R___319 = 167,
    _SC_2_PBS___319 = 168,
    _SC_2_PBS_ACCOUNTING___319 = 169,
    _SC_2_PBS_LOCATE___319 = 170,
    _SC_2_PBS_MESSAGE___319 = 171,
    _SC_2_PBS_TRACK___319 = 172,
    _SC_SYMLOOP_MAX___319 = 173,
    _SC_STREAMS___319 = 174,
    _SC_2_PBS_CHECKPOINT___319 = 175,
    _SC_V6_ILP32_OFF32___319 = 176,
    _SC_V6_ILP32_OFFBIG___319 = 177,
    _SC_V6_LP64_OFF64___319 = 178,
    _SC_V6_LPBIG_OFFBIG___319 = 179,
    _SC_HOST_NAME_MAX___319 = 180,
    _SC_TRACE___319 = 181,
    _SC_TRACE_EVENT_FILTER___319 = 182,
    _SC_TRACE_INHERIT___319 = 183,
    _SC_TRACE_LOG___319 = 184,
    _SC_LEVEL1_ICACHE_SIZE___319 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___319 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___319 = 187,
    _SC_LEVEL1_DCACHE_SIZE___319 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___319 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___319 = 190,
    _SC_LEVEL2_CACHE_SIZE___319 = 191,
    _SC_LEVEL2_CACHE_ASSOC___319 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___319 = 193,
    _SC_LEVEL3_CACHE_SIZE___319 = 194,
    _SC_LEVEL3_CACHE_ASSOC___319 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___319 = 196,
    _SC_LEVEL4_CACHE_SIZE___319 = 197,
    _SC_LEVEL4_CACHE_ASSOC___319 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___319 = 199,
    _SC_IPV6___319 = 235,
    _SC_RAW_SOCKETS___319 = 236,
    _SC_V7_ILP32_OFF32___319 = 237,
    _SC_V7_ILP32_OFFBIG___319 = 238,
    _SC_V7_LP64_OFF64___319 = 239,
    _SC_V7_LPBIG_OFFBIG___319 = 240,
    _SC_SS_REPL_MAX___319 = 241,
    _SC_TRACE_EVENT_NAME_MAX___319 = 242,
    _SC_TRACE_NAME_MAX___319 = 243,
    _SC_TRACE_SYS_MAX___319 = 244,
    _SC_TRACE_USER_EVENT_MAX___319 = 245,
    _SC_XOPEN_STREAMS___319 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___319 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___319 = 248
} ;
enum __anonenum_875524036___319 {
    _CS_PATH___319 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___319 = 1,
    _CS_GNU_LIBC_VERSION___319 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___319 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___319 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___319 = 5,
    _CS_LFS_CFLAGS___319 = 1000,
    _CS_LFS_LDFLAGS___319 = 1001,
    _CS_LFS_LIBS___319 = 1002,
    _CS_LFS_LINTFLAGS___319 = 1003,
    _CS_LFS64_CFLAGS___319 = 1004,
    _CS_LFS64_LDFLAGS___319 = 1005,
    _CS_LFS64_LIBS___319 = 1006,
    _CS_LFS64_LINTFLAGS___319 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___319 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___319 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___319 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___319 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___319 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___319 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___319 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___319 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___319 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___319 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___319 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___319 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___319 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___319 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___319 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___319 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___319 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___319 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___319 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___319 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___319 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___319 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___319 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___319 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___319 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___319 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___319 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___319 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___319 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___319 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___319 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___319 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___319 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___319 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___319 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___319 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___319 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___319 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___319 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___319 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___319 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___319 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___319 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___319 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___319 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___319 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___319 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___319 = 1147,
    _CS_V6_ENV___319 = 1148,
    _CS_V7_ENV___319 = 1149
} ;
enum __anonenum_513775621___319 {
    DT_UNKNOWN___319 = 0,
    DT_FIFO___319 = 1,
    DT_CHR___319 = 2,
    DT_DIR___319 = 4,
    DT_BLK___319 = 6,
    DT_REG___319 = 8,
    DT_LNK___319 = 10,
    DT_SOCK___319 = 12,
    DT_WHT___319 = 14
} ;
enum __anonenum_77002343___319 {
    SI_ASYNCNL___319 = -60,
    SI_TKILL___319 = -6,
    SI_SIGIO___319 = -5,
    SI_ASYNCIO___319 = -4,
    SI_MESGQ___319 = -3,
    SI_TIMER___319 = -2,
    SI_QUEUE___319 = -1,
    SI_USER___319 = 0,
    SI_KERNEL___319 = 128
} ;
enum __anonenum_131038172___319 {
    ILL_ILLOPC___319 = 1,
    ILL_ILLOPN___319 = 2,
    ILL_ILLADR___319 = 3,
    ILL_ILLTRP___319 = 4,
    ILL_PRVOPC___319 = 5,
    ILL_PRVREG___319 = 6,
    ILL_COPROC___319 = 7,
    ILL_BADSTK___319 = 8
} ;
enum __anonenum_452038093___319 {
    FPE_INTDIV___319 = 1,
    FPE_INTOVF___319 = 2,
    FPE_FLTDIV___319 = 3,
    FPE_FLTOVF___319 = 4,
    FPE_FLTUND___319 = 5,
    FPE_FLTRES___319 = 6,
    FPE_FLTINV___319 = 7,
    FPE_FLTSUB___319 = 8
} ;
enum __anonenum_30976155___319 {
    SEGV_MAPERR___319 = 1,
    SEGV_ACCERR___319 = 2,
    SEGV_BNDERR___319 = 3,
    SEGV_PKUERR___319 = 4
} ;
enum __anonenum_1036286214___319 {
    BUS_ADRALN___319 = 1,
    BUS_ADRERR___319 = 2,
    BUS_OBJERR___319 = 3,
    BUS_MCEERR_AR___319 = 4,
    BUS_MCEERR_AO___319 = 5
} ;
enum __anonenum_493465559___319 {
    TRAP_BRKPT___319 = 1,
    TRAP_TRACE___319 = 2
} ;
enum __anonenum_23175539___319 {
    CLD_EXITED___319 = 1,
    CLD_KILLED___319 = 2,
    CLD_DUMPED___319 = 3,
    CLD_TRAPPED___319 = 4,
    CLD_STOPPED___319 = 5,
    CLD_CONTINUED___319 = 6
} ;
enum __anonenum_111643124___319 {
    POLL_IN___319 = 1,
    POLL_OUT___319 = 2,
    POLL_MSG___319 = 3,
    POLL_ERR___319 = 4,
    POLL_PRI___319 = 5,
    POLL_HUP___319 = 6
} ;
enum __anonenum_852341087___319 {
    SIGEV_SIGNAL___319 = 0,
    SIGEV_NONE___319 = 1,
    SIGEV_THREAD___319 = 2,
    SIGEV_THREAD_ID___319 = 4
} ;
enum __anonenum_451154152___319 {
    REG_R8___319 = 0,
    REG_R9___319 = 1,
    REG_R10___319 = 2,
    REG_R11___319 = 3,
    REG_R12___319 = 4,
    REG_R13___319 = 5,
    REG_R14___319 = 6,
    REG_R15___319 = 7,
    REG_RDI___319 = 8,
    REG_RSI___319 = 9,
    REG_RBP___319 = 10,
    REG_RBX___319 = 11,
    REG_RDX___319 = 12,
    REG_RAX___319 = 13,
    REG_RCX___319 = 14,
    REG_RSP___319 = 15,
    REG_RIP___319 = 16,
    REG_EFL___319 = 17,
    REG_CSGSFS___319 = 18,
    REG_ERR___319 = 19,
    REG_TRAPNO___319 = 20,
    REG_OLDMASK___319 = 21,
    REG_CR2___319 = 22
} ;
enum __anonenum_57186863___319 {
    SS_ONSTACK___319 = 1,
    SS_DISABLE___319 = 2
} ;
enum __anonenum_83571709___319 {
    MSG_OOB___319 = 1,
    MSG_PEEK___319 = 2,
    MSG_DONTROUTE___319 = 4,
    MSG_TRYHARD___319 = 4,
    MSG_CTRUNC___319 = 8,
    MSG_PROXY___319 = 16,
    MSG_TRUNC___319 = 32,
    MSG_DONTWAIT___319 = 64,
    MSG_EOR___319 = 128,
    MSG_WAITALL___319 = 256,
    MSG_FIN___319 = 512,
    MSG_SYN___319 = 1024,
    MSG_CONFIRM___319 = 2048,
    MSG_RST___319 = 4096,
    MSG_ERRQUEUE___319 = 8192,
    MSG_NOSIGNAL___319 = 16384,
    MSG_MORE___319 = 32768,
    MSG_WAITFORONE___319 = 65536,
    MSG_BATCH___319 = 262144,
    MSG_ZEROCOPY___319 = 67108864,
    MSG_FASTOPEN___319 = 536870912,
    MSG_CMSG_CLOEXEC___319 = 1073741824
} ;
enum __anonenum_617082774___319 {
    SCM_RIGHTS___319 = 1,
    SCM_CREDENTIALS___319 = 2
} ;
enum __anonenum_606441560___319 {
    SHUT_RD___319 = 0,
    SHUT_WR___319 = 1,
    SHUT_RDWR___319 = 2
} ;
enum __anonenum_681669233___319 {
    IPPROTO_IP___319 = 0,
    IPPROTO_ICMP___319 = 1,
    IPPROTO_IGMP___319 = 2,
    IPPROTO_IPIP___319 = 4,
    IPPROTO_TCP___319 = 6,
    IPPROTO_EGP___319 = 8,
    IPPROTO_PUP___319 = 12,
    IPPROTO_UDP___319 = 17,
    IPPROTO_IDP___319 = 22,
    IPPROTO_TP___319 = 29,
    IPPROTO_DCCP___319 = 33,
    IPPROTO_IPV6___319 = 41,
    IPPROTO_RSVP___319 = 46,
    IPPROTO_GRE___319 = 47,
    IPPROTO_ESP___319 = 50,
    IPPROTO_AH___319 = 51,
    IPPROTO_MTP___319 = 92,
    IPPROTO_BEETPH___319 = 94,
    IPPROTO_ENCAP___319 = 98,
    IPPROTO_PIM___319 = 103,
    IPPROTO_COMP___319 = 108,
    IPPROTO_SCTP___319 = 132,
    IPPROTO_UDPLITE___319 = 136,
    IPPROTO_MPLS___319 = 137,
    IPPROTO_RAW___319 = 255,
    IPPROTO_MAX___319 = 256
} ;
enum __anonenum_218739988___319 {
    IPPROTO_HOPOPTS___319 = 0,
    IPPROTO_ROUTING___319 = 43,
    IPPROTO_FRAGMENT___319 = 44,
    IPPROTO_ICMPV6___319 = 58,
    IPPROTO_NONE___319 = 59,
    IPPROTO_DSTOPTS___319 = 60,
    IPPROTO_MH___319 = 135
} ;
enum __anonenum_662268580___319 {
    IPPORT_ECHO___319 = 7,
    IPPORT_DISCARD___319 = 9,
    IPPORT_SYSTAT___319 = 11,
    IPPORT_DAYTIME___319 = 13,
    IPPORT_NETSTAT___319 = 15,
    IPPORT_FTP___319 = 21,
    IPPORT_TELNET___319 = 23,
    IPPORT_SMTP___319 = 25,
    IPPORT_TIMESERVER___319 = 37,
    IPPORT_NAMESERVER___319 = 42,
    IPPORT_WHOIS___319 = 43,
    IPPORT_MTP___319 = 57,
    IPPORT_TFTP___319 = 69,
    IPPORT_RJE___319 = 77,
    IPPORT_FINGER___319 = 79,
    IPPORT_TTYLINK___319 = 87,
    IPPORT_SUPDUP___319 = 95,
    IPPORT_EXECSERVER___319 = 512,
    IPPORT_LOGINSERVER___319 = 513,
    IPPORT_CMDSERVER___319 = 514,
    IPPORT_EFSSERVER___319 = 520,
    IPPORT_BIFFUDP___319 = 512,
    IPPORT_WHOSERVER___319 = 513,
    IPPORT_ROUTESERVER___319 = 520,
    IPPORT_RESERVED___319 = 1024,
    IPPORT_USERRESERVED___319 = 5000
} ;
enum __anonenum_788308992___319 {
    TCP_ESTABLISHED___319 = 1,
    TCP_SYN_SENT___319 = 2,
    TCP_SYN_RECV___319 = 3,
    TCP_FIN_WAIT1___319 = 4,
    TCP_FIN_WAIT2___319 = 5,
    TCP_TIME_WAIT___319 = 6,
    TCP_CLOSE___319 = 7,
    TCP_CLOSE_WAIT___319 = 8,
    TCP_LAST_ACK___319 = 9,
    TCP_LISTEN___319 = 10,
    TCP_CLOSING___319 = 11
} ;
enum __anonenum_221125648___319 {
    TCP_NO_QUEUE___319 = 0,
    TCP_RECV_QUEUE___319 = 1,
    TCP_SEND_QUEUE___319 = 2,
    TCP_QUEUES_NR___319 = 3
} ;
enum __anonenum_34415463___319 {
    PTHREAD_CREATE_JOINABLE___319 = 0,
    PTHREAD_CREATE_DETACHED___319 = 1
} ;
enum __anonenum_303612439___319 {
    PTHREAD_MUTEX_TIMED_NP___319 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___319 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___319 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___319 = 3,
    PTHREAD_MUTEX_NORMAL___319 = 0,
    PTHREAD_MUTEX_RECURSIVE___319 = 1,
    PTHREAD_MUTEX_ERRORCHECK___319 = 2,
    PTHREAD_MUTEX_DEFAULT___319 = 0,
    PTHREAD_MUTEX_FAST_NP___319 = 0
} ;
enum __anonenum_931900394___319 {
    PTHREAD_MUTEX_STALLED___319 = 0,
    PTHREAD_MUTEX_STALLED_NP___319 = 0,
    PTHREAD_MUTEX_ROBUST___319 = 1,
    PTHREAD_MUTEX_ROBUST_NP___319 = 1
} ;
enum __anonenum_205214487___319 {
    PTHREAD_PRIO_NONE___319 = 0,
    PTHREAD_PRIO_INHERIT___319 = 1,
    PTHREAD_PRIO_PROTECT___319 = 2
} ;
enum __anonenum_25043950___319 {
    PTHREAD_RWLOCK_PREFER_READER_NP___319 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___319 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___319 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___319 = 0
} ;
enum __anonenum_436439511___319 {
    PTHREAD_INHERIT_SCHED___319 = 0,
    PTHREAD_EXPLICIT_SCHED___319 = 1
} ;
enum __anonenum_998661166___319 {
    PTHREAD_SCOPE_SYSTEM___319 = 0,
    PTHREAD_SCOPE_PROCESS___319 = 1
} ;
enum __anonenum_146137331___319 {
    PTHREAD_PROCESS_PRIVATE___319 = 0,
    PTHREAD_PROCESS_SHARED___319 = 1
} ;
enum __anonenum_53396917___319 {
    PTHREAD_CANCEL_ENABLE___319 = 0,
    PTHREAD_CANCEL_DISABLE___319 = 1
} ;
enum __anonenum_904563783___319 {
    PTHREAD_CANCEL_DEFERRED___319 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___319 = 1
} ;
enum __anonenum_672052974___319 {
    SSL_CT_VALIDATION_PERMISSIVE___319 = 0,
    SSL_CT_VALIDATION_STRICT___319 = 1
} ;
struct man_viewer_list {
   struct man_viewer_list *next ;
   char name[] ;
};
struct man_viewer_info_list {
   struct man_viewer_info_list *next ;
   char const   *info ;
   char name[] ;
};
enum help_format {
    HELP_FORMAT_NONE = 0,
    HELP_FORMAT_MAN = 1,
    HELP_FORMAT_INFO = 2,
    HELP_FORMAT_WEB = 3
} ;
enum show_config_type {
    SHOW_CONFIG_HUMAN = 0,
    SHOW_CONFIG_VARS = 1,
    SHOW_CONFIG_SECTIONS = 2
} ;
enum help_action {
    HELP_ACTION_ALL = 1,
    HELP_ACTION_GUIDES = 2,
    HELP_ACTION_CONFIG = 3,
    HELP_ACTION_CONFIG_FOR_COMPLETION = 4,
    HELP_ACTION_CONFIG_SECTIONS_FOR_COMPLETION = 5
} ;
struct slot_expansion {
   char const   *prefix ;
   char const   *placeholder ;
   void (*fn)(struct string_list *list , char const   *prefix ) ;
   int found ;
};
enum __anonenum_437032235___320 {
    _PC_LINK_MAX___320 = 0,
    _PC_MAX_CANON___320 = 1,
    _PC_MAX_INPUT___320 = 2,
    _PC_NAME_MAX___320 = 3,
    _PC_PATH_MAX___320 = 4,
    _PC_PIPE_BUF___320 = 5,
    _PC_CHOWN_RESTRICTED___320 = 6,
    _PC_NO_TRUNC___320 = 7,
    _PC_VDISABLE___320 = 8,
    _PC_SYNC_IO___320 = 9,
    _PC_ASYNC_IO___320 = 10,
    _PC_PRIO_IO___320 = 11,
    _PC_SOCK_MAXBUF___320 = 12,
    _PC_FILESIZEBITS___320 = 13,
    _PC_REC_INCR_XFER_SIZE___320 = 14,
    _PC_REC_MAX_XFER_SIZE___320 = 15,
    _PC_REC_MIN_XFER_SIZE___320 = 16,
    _PC_REC_XFER_ALIGN___320 = 17,
    _PC_ALLOC_SIZE_MIN___320 = 18,
    _PC_SYMLINK_MAX___320 = 19,
    _PC_2_SYMLINKS___320 = 20
} ;
enum __anonenum_315186338___320 {
    _SC_ARG_MAX___320 = 0,
    _SC_CHILD_MAX___320 = 1,
    _SC_CLK_TCK___320 = 2,
    _SC_NGROUPS_MAX___320 = 3,
    _SC_OPEN_MAX___320 = 4,
    _SC_STREAM_MAX___320 = 5,
    _SC_TZNAME_MAX___320 = 6,
    _SC_JOB_CONTROL___320 = 7,
    _SC_SAVED_IDS___320 = 8,
    _SC_REALTIME_SIGNALS___320 = 9,
    _SC_PRIORITY_SCHEDULING___320 = 10,
    _SC_TIMERS___320 = 11,
    _SC_ASYNCHRONOUS_IO___320 = 12,
    _SC_PRIORITIZED_IO___320 = 13,
    _SC_SYNCHRONIZED_IO___320 = 14,
    _SC_FSYNC___320 = 15,
    _SC_MAPPED_FILES___320 = 16,
    _SC_MEMLOCK___320 = 17,
    _SC_MEMLOCK_RANGE___320 = 18,
    _SC_MEMORY_PROTECTION___320 = 19,
    _SC_MESSAGE_PASSING___320 = 20,
    _SC_SEMAPHORES___320 = 21,
    _SC_SHARED_MEMORY_OBJECTS___320 = 22,
    _SC_AIO_LISTIO_MAX___320 = 23,
    _SC_AIO_MAX___320 = 24,
    _SC_AIO_PRIO_DELTA_MAX___320 = 25,
    _SC_DELAYTIMER_MAX___320 = 26,
    _SC_MQ_OPEN_MAX___320 = 27,
    _SC_MQ_PRIO_MAX___320 = 28,
    _SC_VERSION___320 = 29,
    _SC_PAGESIZE___320 = 30,
    _SC_RTSIG_MAX___320 = 31,
    _SC_SEM_NSEMS_MAX___320 = 32,
    _SC_SEM_VALUE_MAX___320 = 33,
    _SC_SIGQUEUE_MAX___320 = 34,
    _SC_TIMER_MAX___320 = 35,
    _SC_BC_BASE_MAX___320 = 36,
    _SC_BC_DIM_MAX___320 = 37,
    _SC_BC_SCALE_MAX___320 = 38,
    _SC_BC_STRING_MAX___320 = 39,
    _SC_COLL_WEIGHTS_MAX___320 = 40,
    _SC_EQUIV_CLASS_MAX___320 = 41,
    _SC_EXPR_NEST_MAX___320 = 42,
    _SC_LINE_MAX___320 = 43,
    _SC_RE_DUP_MAX___320 = 44,
    _SC_CHARCLASS_NAME_MAX___320 = 45,
    _SC_2_VERSION___320 = 46,
    _SC_2_C_BIND___320 = 47,
    _SC_2_C_DEV___320 = 48,
    _SC_2_FORT_DEV___320 = 49,
    _SC_2_FORT_RUN___320 = 50,
    _SC_2_SW_DEV___320 = 51,
    _SC_2_LOCALEDEF___320 = 52,
    _SC_PII___320 = 53,
    _SC_PII_XTI___320 = 54,
    _SC_PII_SOCKET___320 = 55,
    _SC_PII_INTERNET___320 = 56,
    _SC_PII_OSI___320 = 57,
    _SC_POLL___320 = 58,
    _SC_SELECT___320 = 59,
    _SC_UIO_MAXIOV___320 = 60,
    _SC_IOV_MAX___320 = 60,
    _SC_PII_INTERNET_STREAM___320 = 61,
    _SC_PII_INTERNET_DGRAM___320 = 62,
    _SC_PII_OSI_COTS___320 = 63,
    _SC_PII_OSI_CLTS___320 = 64,
    _SC_PII_OSI_M___320 = 65,
    _SC_T_IOV_MAX___320 = 66,
    _SC_THREADS___320 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___320 = 68,
    _SC_GETGR_R_SIZE_MAX___320 = 69,
    _SC_GETPW_R_SIZE_MAX___320 = 70,
    _SC_LOGIN_NAME_MAX___320 = 71,
    _SC_TTY_NAME_MAX___320 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___320 = 73,
    _SC_THREAD_KEYS_MAX___320 = 74,
    _SC_THREAD_STACK_MIN___320 = 75,
    _SC_THREAD_THREADS_MAX___320 = 76,
    _SC_THREAD_ATTR_STACKADDR___320 = 77,
    _SC_THREAD_ATTR_STACKSIZE___320 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___320 = 79,
    _SC_THREAD_PRIO_INHERIT___320 = 80,
    _SC_THREAD_PRIO_PROTECT___320 = 81,
    _SC_THREAD_PROCESS_SHARED___320 = 82,
    _SC_NPROCESSORS_CONF___320 = 83,
    _SC_NPROCESSORS_ONLN___320 = 84,
    _SC_PHYS_PAGES___320 = 85,
    _SC_AVPHYS_PAGES___320 = 86,
    _SC_ATEXIT_MAX___320 = 87,
    _SC_PASS_MAX___320 = 88,
    _SC_XOPEN_VERSION___320 = 89,
    _SC_XOPEN_XCU_VERSION___320 = 90,
    _SC_XOPEN_UNIX___320 = 91,
    _SC_XOPEN_CRYPT___320 = 92,
    _SC_XOPEN_ENH_I18N___320 = 93,
    _SC_XOPEN_SHM___320 = 94,
    _SC_2_CHAR_TERM___320 = 95,
    _SC_2_C_VERSION___320 = 96,
    _SC_2_UPE___320 = 97,
    _SC_XOPEN_XPG2___320 = 98,
    _SC_XOPEN_XPG3___320 = 99,
    _SC_XOPEN_XPG4___320 = 100,
    _SC_CHAR_BIT___320 = 101,
    _SC_CHAR_MAX___320 = 102,
    _SC_CHAR_MIN___320 = 103,
    _SC_INT_MAX___320 = 104,
    _SC_INT_MIN___320 = 105,
    _SC_LONG_BIT___320 = 106,
    _SC_WORD_BIT___320 = 107,
    _SC_MB_LEN_MAX___320 = 108,
    _SC_NZERO___320 = 109,
    _SC_SSIZE_MAX___320 = 110,
    _SC_SCHAR_MAX___320 = 111,
    _SC_SCHAR_MIN___320 = 112,
    _SC_SHRT_MAX___320 = 113,
    _SC_SHRT_MIN___320 = 114,
    _SC_UCHAR_MAX___320 = 115,
    _SC_UINT_MAX___320 = 116,
    _SC_ULONG_MAX___320 = 117,
    _SC_USHRT_MAX___320 = 118,
    _SC_NL_ARGMAX___320 = 119,
    _SC_NL_LANGMAX___320 = 120,
    _SC_NL_MSGMAX___320 = 121,
    _SC_NL_NMAX___320 = 122,
    _SC_NL_SETMAX___320 = 123,
    _SC_NL_TEXTMAX___320 = 124,
    _SC_XBS5_ILP32_OFF32___320 = 125,
    _SC_XBS5_ILP32_OFFBIG___320 = 126,
    _SC_XBS5_LP64_OFF64___320 = 127,
    _SC_XBS5_LPBIG_OFFBIG___320 = 128,
    _SC_XOPEN_LEGACY___320 = 129,
    _SC_XOPEN_REALTIME___320 = 130,
    _SC_XOPEN_REALTIME_THREADS___320 = 131,
    _SC_ADVISORY_INFO___320 = 132,
    _SC_BARRIERS___320 = 133,
    _SC_BASE___320 = 134,
    _SC_C_LANG_SUPPORT___320 = 135,
    _SC_C_LANG_SUPPORT_R___320 = 136,
    _SC_CLOCK_SELECTION___320 = 137,
    _SC_CPUTIME___320 = 138,
    _SC_THREAD_CPUTIME___320 = 139,
    _SC_DEVICE_IO___320 = 140,
    _SC_DEVICE_SPECIFIC___320 = 141,
    _SC_DEVICE_SPECIFIC_R___320 = 142,
    _SC_FD_MGMT___320 = 143,
    _SC_FIFO___320 = 144,
    _SC_PIPE___320 = 145,
    _SC_FILE_ATTRIBUTES___320 = 146,
    _SC_FILE_LOCKING___320 = 147,
    _SC_FILE_SYSTEM___320 = 148,
    _SC_MONOTONIC_CLOCK___320 = 149,
    _SC_MULTI_PROCESS___320 = 150,
    _SC_SINGLE_PROCESS___320 = 151,
    _SC_NETWORKING___320 = 152,
    _SC_READER_WRITER_LOCKS___320 = 153,
    _SC_SPIN_LOCKS___320 = 154,
    _SC_REGEXP___320 = 155,
    _SC_REGEX_VERSION___320 = 156,
    _SC_SHELL___320 = 157,
    _SC_SIGNALS___320 = 158,
    _SC_SPAWN___320 = 159,
    _SC_SPORADIC_SERVER___320 = 160,
    _SC_THREAD_SPORADIC_SERVER___320 = 161,
    _SC_SYSTEM_DATABASE___320 = 162,
    _SC_SYSTEM_DATABASE_R___320 = 163,
    _SC_TIMEOUTS___320 = 164,
    _SC_TYPED_MEMORY_OBJECTS___320 = 165,
    _SC_USER_GROUPS___320 = 166,
    _SC_USER_GROUPS_R___320 = 167,
    _SC_2_PBS___320 = 168,
    _SC_2_PBS_ACCOUNTING___320 = 169,
    _SC_2_PBS_LOCATE___320 = 170,
    _SC_2_PBS_MESSAGE___320 = 171,
    _SC_2_PBS_TRACK___320 = 172,
    _SC_SYMLOOP_MAX___320 = 173,
    _SC_STREAMS___320 = 174,
    _SC_2_PBS_CHECKPOINT___320 = 175,
    _SC_V6_ILP32_OFF32___320 = 176,
    _SC_V6_ILP32_OFFBIG___320 = 177,
    _SC_V6_LP64_OFF64___320 = 178,
    _SC_V6_LPBIG_OFFBIG___320 = 179,
    _SC_HOST_NAME_MAX___320 = 180,
    _SC_TRACE___320 = 181,
    _SC_TRACE_EVENT_FILTER___320 = 182,
    _SC_TRACE_INHERIT___320 = 183,
    _SC_TRACE_LOG___320 = 184,
    _SC_LEVEL1_ICACHE_SIZE___320 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___320 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___320 = 187,
    _SC_LEVEL1_DCACHE_SIZE___320 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___320 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___320 = 190,
    _SC_LEVEL2_CACHE_SIZE___320 = 191,
    _SC_LEVEL2_CACHE_ASSOC___320 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___320 = 193,
    _SC_LEVEL3_CACHE_SIZE___320 = 194,
    _SC_LEVEL3_CACHE_ASSOC___320 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___320 = 196,
    _SC_LEVEL4_CACHE_SIZE___320 = 197,
    _SC_LEVEL4_CACHE_ASSOC___320 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___320 = 199,
    _SC_IPV6___320 = 235,
    _SC_RAW_SOCKETS___320 = 236,
    _SC_V7_ILP32_OFF32___320 = 237,
    _SC_V7_ILP32_OFFBIG___320 = 238,
    _SC_V7_LP64_OFF64___320 = 239,
    _SC_V7_LPBIG_OFFBIG___320 = 240,
    _SC_SS_REPL_MAX___320 = 241,
    _SC_TRACE_EVENT_NAME_MAX___320 = 242,
    _SC_TRACE_NAME_MAX___320 = 243,
    _SC_TRACE_SYS_MAX___320 = 244,
    _SC_TRACE_USER_EVENT_MAX___320 = 245,
    _SC_XOPEN_STREAMS___320 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___320 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___320 = 248
} ;
enum __anonenum_875524036___320 {
    _CS_PATH___320 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___320 = 1,
    _CS_GNU_LIBC_VERSION___320 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___320 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___320 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___320 = 5,
    _CS_LFS_CFLAGS___320 = 1000,
    _CS_LFS_LDFLAGS___320 = 1001,
    _CS_LFS_LIBS___320 = 1002,
    _CS_LFS_LINTFLAGS___320 = 1003,
    _CS_LFS64_CFLAGS___320 = 1004,
    _CS_LFS64_LDFLAGS___320 = 1005,
    _CS_LFS64_LIBS___320 = 1006,
    _CS_LFS64_LINTFLAGS___320 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___320 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___320 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___320 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___320 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___320 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___320 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___320 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___320 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___320 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___320 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___320 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___320 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___320 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___320 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___320 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___320 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___320 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___320 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___320 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___320 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___320 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___320 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___320 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___320 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___320 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___320 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___320 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___320 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___320 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___320 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___320 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___320 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___320 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___320 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___320 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___320 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___320 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___320 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___320 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___320 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___320 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___320 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___320 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___320 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___320 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___320 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___320 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___320 = 1147,
    _CS_V6_ENV___320 = 1148,
    _CS_V7_ENV___320 = 1149
} ;
enum __anonenum_513775621___320 {
    DT_UNKNOWN___320 = 0,
    DT_FIFO___320 = 1,
    DT_CHR___320 = 2,
    DT_DIR___320 = 4,
    DT_BLK___320 = 6,
    DT_REG___320 = 8,
    DT_LNK___320 = 10,
    DT_SOCK___320 = 12,
    DT_WHT___320 = 14
} ;
enum __anonenum_77002343___320 {
    SI_ASYNCNL___320 = -60,
    SI_TKILL___320 = -6,
    SI_SIGIO___320 = -5,
    SI_ASYNCIO___320 = -4,
    SI_MESGQ___320 = -3,
    SI_TIMER___320 = -2,
    SI_QUEUE___320 = -1,
    SI_USER___320 = 0,
    SI_KERNEL___320 = 128
} ;
enum __anonenum_131038172___320 {
    ILL_ILLOPC___320 = 1,
    ILL_ILLOPN___320 = 2,
    ILL_ILLADR___320 = 3,
    ILL_ILLTRP___320 = 4,
    ILL_PRVOPC___320 = 5,
    ILL_PRVREG___320 = 6,
    ILL_COPROC___320 = 7,
    ILL_BADSTK___320 = 8
} ;
enum __anonenum_452038093___320 {
    FPE_INTDIV___320 = 1,
    FPE_INTOVF___320 = 2,
    FPE_FLTDIV___320 = 3,
    FPE_FLTOVF___320 = 4,
    FPE_FLTUND___320 = 5,
    FPE_FLTRES___320 = 6,
    FPE_FLTINV___320 = 7,
    FPE_FLTSUB___320 = 8
} ;
enum __anonenum_30976155___320 {
    SEGV_MAPERR___320 = 1,
    SEGV_ACCERR___320 = 2,
    SEGV_BNDERR___320 = 3,
    SEGV_PKUERR___320 = 4
} ;
enum __anonenum_1036286214___320 {
    BUS_ADRALN___320 = 1,
    BUS_ADRERR___320 = 2,
    BUS_OBJERR___320 = 3,
    BUS_MCEERR_AR___320 = 4,
    BUS_MCEERR_AO___320 = 5
} ;
enum __anonenum_493465559___320 {
    TRAP_BRKPT___320 = 1,
    TRAP_TRACE___320 = 2
} ;
enum __anonenum_23175539___320 {
    CLD_EXITED___320 = 1,
    CLD_KILLED___320 = 2,
    CLD_DUMPED___320 = 3,
    CLD_TRAPPED___320 = 4,
    CLD_STOPPED___320 = 5,
    CLD_CONTINUED___320 = 6
} ;
enum __anonenum_111643124___320 {
    POLL_IN___320 = 1,
    POLL_OUT___320 = 2,
    POLL_MSG___320 = 3,
    POLL_ERR___320 = 4,
    POLL_PRI___320 = 5,
    POLL_HUP___320 = 6
} ;
enum __anonenum_852341087___320 {
    SIGEV_SIGNAL___320 = 0,
    SIGEV_NONE___320 = 1,
    SIGEV_THREAD___320 = 2,
    SIGEV_THREAD_ID___320 = 4
} ;
enum __anonenum_451154152___320 {
    REG_R8___320 = 0,
    REG_R9___320 = 1,
    REG_R10___320 = 2,
    REG_R11___320 = 3,
    REG_R12___320 = 4,
    REG_R13___320 = 5,
    REG_R14___320 = 6,
    REG_R15___320 = 7,
    REG_RDI___320 = 8,
    REG_RSI___320 = 9,
    REG_RBP___320 = 10,
    REG_RBX___320 = 11,
    REG_RDX___320 = 12,
    REG_RAX___320 = 13,
    REG_RCX___320 = 14,
    REG_RSP___320 = 15,
    REG_RIP___320 = 16,
    REG_EFL___320 = 17,
    REG_CSGSFS___320 = 18,
    REG_ERR___320 = 19,
    REG_TRAPNO___320 = 20,
    REG_OLDMASK___320 = 21,
    REG_CR2___320 = 22
} ;
enum __anonenum_57186863___320 {
    SS_ONSTACK___320 = 1,
    SS_DISABLE___320 = 2
} ;
enum __anonenum_83571709___320 {
    MSG_OOB___320 = 1,
    MSG_PEEK___320 = 2,
    MSG_DONTROUTE___320 = 4,
    MSG_TRYHARD___320 = 4,
    MSG_CTRUNC___320 = 8,
    MSG_PROXY___320 = 16,
    MSG_TRUNC___320 = 32,
    MSG_DONTWAIT___320 = 64,
    MSG_EOR___320 = 128,
    MSG_WAITALL___320 = 256,
    MSG_FIN___320 = 512,
    MSG_SYN___320 = 1024,
    MSG_CONFIRM___320 = 2048,
    MSG_RST___320 = 4096,
    MSG_ERRQUEUE___320 = 8192,
    MSG_NOSIGNAL___320 = 16384,
    MSG_MORE___320 = 32768,
    MSG_WAITFORONE___320 = 65536,
    MSG_BATCH___320 = 262144,
    MSG_ZEROCOPY___320 = 67108864,
    MSG_FASTOPEN___320 = 536870912,
    MSG_CMSG_CLOEXEC___320 = 1073741824
} ;
enum __anonenum_617082774___320 {
    SCM_RIGHTS___320 = 1,
    SCM_CREDENTIALS___320 = 2
} ;
enum __anonenum_606441560___320 {
    SHUT_RD___320 = 0,
    SHUT_WR___320 = 1,
    SHUT_RDWR___320 = 2
} ;
enum __anonenum_681669233___320 {
    IPPROTO_IP___320 = 0,
    IPPROTO_ICMP___320 = 1,
    IPPROTO_IGMP___320 = 2,
    IPPROTO_IPIP___320 = 4,
    IPPROTO_TCP___320 = 6,
    IPPROTO_EGP___320 = 8,
    IPPROTO_PUP___320 = 12,
    IPPROTO_UDP___320 = 17,
    IPPROTO_IDP___320 = 22,
    IPPROTO_TP___320 = 29,
    IPPROTO_DCCP___320 = 33,
    IPPROTO_IPV6___320 = 41,
    IPPROTO_RSVP___320 = 46,
    IPPROTO_GRE___320 = 47,
    IPPROTO_ESP___320 = 50,
    IPPROTO_AH___320 = 51,
    IPPROTO_MTP___320 = 92,
    IPPROTO_BEETPH___320 = 94,
    IPPROTO_ENCAP___320 = 98,
    IPPROTO_PIM___320 = 103,
    IPPROTO_COMP___320 = 108,
    IPPROTO_SCTP___320 = 132,
    IPPROTO_UDPLITE___320 = 136,
    IPPROTO_MPLS___320 = 137,
    IPPROTO_RAW___320 = 255,
    IPPROTO_MAX___320 = 256
} ;
enum __anonenum_218739988___320 {
    IPPROTO_HOPOPTS___320 = 0,
    IPPROTO_ROUTING___320 = 43,
    IPPROTO_FRAGMENT___320 = 44,
    IPPROTO_ICMPV6___320 = 58,
    IPPROTO_NONE___320 = 59,
    IPPROTO_DSTOPTS___320 = 60,
    IPPROTO_MH___320 = 135
} ;
enum __anonenum_662268580___320 {
    IPPORT_ECHO___320 = 7,
    IPPORT_DISCARD___320 = 9,
    IPPORT_SYSTAT___320 = 11,
    IPPORT_DAYTIME___320 = 13,
    IPPORT_NETSTAT___320 = 15,
    IPPORT_FTP___320 = 21,
    IPPORT_TELNET___320 = 23,
    IPPORT_SMTP___320 = 25,
    IPPORT_TIMESERVER___320 = 37,
    IPPORT_NAMESERVER___320 = 42,
    IPPORT_WHOIS___320 = 43,
    IPPORT_MTP___320 = 57,
    IPPORT_TFTP___320 = 69,
    IPPORT_RJE___320 = 77,
    IPPORT_FINGER___320 = 79,
    IPPORT_TTYLINK___320 = 87,
    IPPORT_SUPDUP___320 = 95,
    IPPORT_EXECSERVER___320 = 512,
    IPPORT_LOGINSERVER___320 = 513,
    IPPORT_CMDSERVER___320 = 514,
    IPPORT_EFSSERVER___320 = 520,
    IPPORT_BIFFUDP___320 = 512,
    IPPORT_WHOSERVER___320 = 513,
    IPPORT_ROUTESERVER___320 = 520,
    IPPORT_RESERVED___320 = 1024,
    IPPORT_USERRESERVED___320 = 5000
} ;
enum __anonenum_788308992___320 {
    TCP_ESTABLISHED___320 = 1,
    TCP_SYN_SENT___320 = 2,
    TCP_SYN_RECV___320 = 3,
    TCP_FIN_WAIT1___320 = 4,
    TCP_FIN_WAIT2___320 = 5,
    TCP_TIME_WAIT___320 = 6,
    TCP_CLOSE___320 = 7,
    TCP_CLOSE_WAIT___320 = 8,
    TCP_LAST_ACK___320 = 9,
    TCP_LISTEN___320 = 10,
    TCP_CLOSING___320 = 11
} ;
enum __anonenum_221125648___320 {
    TCP_NO_QUEUE___320 = 0,
    TCP_RECV_QUEUE___320 = 1,
    TCP_SEND_QUEUE___320 = 2,
    TCP_QUEUES_NR___320 = 3
} ;
enum __anonenum_34415463___320 {
    PTHREAD_CREATE_JOINABLE___320 = 0,
    PTHREAD_CREATE_DETACHED___320 = 1
} ;
enum __anonenum_303612439___320 {
    PTHREAD_MUTEX_TIMED_NP___320 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___320 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___320 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___320 = 3,
    PTHREAD_MUTEX_NORMAL___320 = 0,
    PTHREAD_MUTEX_RECURSIVE___320 = 1,
    PTHREAD_MUTEX_ERRORCHECK___320 = 2,
    PTHREAD_MUTEX_DEFAULT___320 = 0,
    PTHREAD_MUTEX_FAST_NP___320 = 0
} ;
enum __anonenum_931900394___320 {
    PTHREAD_MUTEX_STALLED___320 = 0,
    PTHREAD_MUTEX_STALLED_NP___320 = 0,
    PTHREAD_MUTEX_ROBUST___320 = 1,
    PTHREAD_MUTEX_ROBUST_NP___320 = 1
} ;
enum __anonenum_205214487___320 {
    PTHREAD_PRIO_NONE___320 = 0,
    PTHREAD_PRIO_INHERIT___320 = 1,
    PTHREAD_PRIO_PROTECT___320 = 2
} ;
enum __anonenum_25043950___320 {
    PTHREAD_RWLOCK_PREFER_READER_NP___320 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___320 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___320 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___320 = 0
} ;
enum __anonenum_436439511___320 {
    PTHREAD_INHERIT_SCHED___320 = 0,
    PTHREAD_EXPLICIT_SCHED___320 = 1
} ;
enum __anonenum_998661166___320 {
    PTHREAD_SCOPE_SYSTEM___320 = 0,
    PTHREAD_SCOPE_PROCESS___320 = 1
} ;
enum __anonenum_146137331___320 {
    PTHREAD_PROCESS_PRIVATE___320 = 0,
    PTHREAD_PROCESS_SHARED___320 = 1
} ;
enum __anonenum_53396917___320 {
    PTHREAD_CANCEL_ENABLE___320 = 0,
    PTHREAD_CANCEL_DISABLE___320 = 1
} ;
enum __anonenum_904563783___320 {
    PTHREAD_CANCEL_DEFERRED___320 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___320 = 1
} ;
enum __anonenum_672052974___320 {
    SSL_CT_VALIDATION_PERMISSIVE___320 = 0,
    SSL_CT_VALIDATION_STRICT___320 = 1
} ;
struct object_entry___1 {
   struct pack_idx_entry idx ;
   unsigned long size ;
   unsigned char hdr_size ;
   signed char type ;
   signed char real_type ;
};
struct object_stat {
   unsigned int delta_depth ;
   int base_object_no ;
};
struct base_data {
   struct base_data *base ;
   struct object_entry___1 *obj ;
   int ref_first ;
   int ref_last ;
   int ofs_first ;
   int ofs_last ;
   int retain_data ;
   int children_remaining ;
   struct list_head list ;
   void *data ;
   unsigned long size ;
};
struct thread_local {
   pthread_t thread ;
   int pack_fd ;
};
struct ofs_delta_entry {
   off_t offset ;
   int obj_no ;
};
struct ref_delta_entry {
   struct object_id oid ;
   int obj_no ;
};
struct compare_data {
   struct object_entry___1 *entry ;
   struct git_istream *st ;
   unsigned char *buf ;
   unsigned long buf_size ;
};
enum __anonenum_437032235___321 {
    _PC_LINK_MAX___321 = 0,
    _PC_MAX_CANON___321 = 1,
    _PC_MAX_INPUT___321 = 2,
    _PC_NAME_MAX___321 = 3,
    _PC_PATH_MAX___321 = 4,
    _PC_PIPE_BUF___321 = 5,
    _PC_CHOWN_RESTRICTED___321 = 6,
    _PC_NO_TRUNC___321 = 7,
    _PC_VDISABLE___321 = 8,
    _PC_SYNC_IO___321 = 9,
    _PC_ASYNC_IO___321 = 10,
    _PC_PRIO_IO___321 = 11,
    _PC_SOCK_MAXBUF___321 = 12,
    _PC_FILESIZEBITS___321 = 13,
    _PC_REC_INCR_XFER_SIZE___321 = 14,
    _PC_REC_MAX_XFER_SIZE___321 = 15,
    _PC_REC_MIN_XFER_SIZE___321 = 16,
    _PC_REC_XFER_ALIGN___321 = 17,
    _PC_ALLOC_SIZE_MIN___321 = 18,
    _PC_SYMLINK_MAX___321 = 19,
    _PC_2_SYMLINKS___321 = 20
} ;
enum __anonenum_315186338___321 {
    _SC_ARG_MAX___321 = 0,
    _SC_CHILD_MAX___321 = 1,
    _SC_CLK_TCK___321 = 2,
    _SC_NGROUPS_MAX___321 = 3,
    _SC_OPEN_MAX___321 = 4,
    _SC_STREAM_MAX___321 = 5,
    _SC_TZNAME_MAX___321 = 6,
    _SC_JOB_CONTROL___321 = 7,
    _SC_SAVED_IDS___321 = 8,
    _SC_REALTIME_SIGNALS___321 = 9,
    _SC_PRIORITY_SCHEDULING___321 = 10,
    _SC_TIMERS___321 = 11,
    _SC_ASYNCHRONOUS_IO___321 = 12,
    _SC_PRIORITIZED_IO___321 = 13,
    _SC_SYNCHRONIZED_IO___321 = 14,
    _SC_FSYNC___321 = 15,
    _SC_MAPPED_FILES___321 = 16,
    _SC_MEMLOCK___321 = 17,
    _SC_MEMLOCK_RANGE___321 = 18,
    _SC_MEMORY_PROTECTION___321 = 19,
    _SC_MESSAGE_PASSING___321 = 20,
    _SC_SEMAPHORES___321 = 21,
    _SC_SHARED_MEMORY_OBJECTS___321 = 22,
    _SC_AIO_LISTIO_MAX___321 = 23,
    _SC_AIO_MAX___321 = 24,
    _SC_AIO_PRIO_DELTA_MAX___321 = 25,
    _SC_DELAYTIMER_MAX___321 = 26,
    _SC_MQ_OPEN_MAX___321 = 27,
    _SC_MQ_PRIO_MAX___321 = 28,
    _SC_VERSION___321 = 29,
    _SC_PAGESIZE___321 = 30,
    _SC_RTSIG_MAX___321 = 31,
    _SC_SEM_NSEMS_MAX___321 = 32,
    _SC_SEM_VALUE_MAX___321 = 33,
    _SC_SIGQUEUE_MAX___321 = 34,
    _SC_TIMER_MAX___321 = 35,
    _SC_BC_BASE_MAX___321 = 36,
    _SC_BC_DIM_MAX___321 = 37,
    _SC_BC_SCALE_MAX___321 = 38,
    _SC_BC_STRING_MAX___321 = 39,
    _SC_COLL_WEIGHTS_MAX___321 = 40,
    _SC_EQUIV_CLASS_MAX___321 = 41,
    _SC_EXPR_NEST_MAX___321 = 42,
    _SC_LINE_MAX___321 = 43,
    _SC_RE_DUP_MAX___321 = 44,
    _SC_CHARCLASS_NAME_MAX___321 = 45,
    _SC_2_VERSION___321 = 46,
    _SC_2_C_BIND___321 = 47,
    _SC_2_C_DEV___321 = 48,
    _SC_2_FORT_DEV___321 = 49,
    _SC_2_FORT_RUN___321 = 50,
    _SC_2_SW_DEV___321 = 51,
    _SC_2_LOCALEDEF___321 = 52,
    _SC_PII___321 = 53,
    _SC_PII_XTI___321 = 54,
    _SC_PII_SOCKET___321 = 55,
    _SC_PII_INTERNET___321 = 56,
    _SC_PII_OSI___321 = 57,
    _SC_POLL___321 = 58,
    _SC_SELECT___321 = 59,
    _SC_UIO_MAXIOV___321 = 60,
    _SC_IOV_MAX___321 = 60,
    _SC_PII_INTERNET_STREAM___321 = 61,
    _SC_PII_INTERNET_DGRAM___321 = 62,
    _SC_PII_OSI_COTS___321 = 63,
    _SC_PII_OSI_CLTS___321 = 64,
    _SC_PII_OSI_M___321 = 65,
    _SC_T_IOV_MAX___321 = 66,
    _SC_THREADS___321 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___321 = 68,
    _SC_GETGR_R_SIZE_MAX___321 = 69,
    _SC_GETPW_R_SIZE_MAX___321 = 70,
    _SC_LOGIN_NAME_MAX___321 = 71,
    _SC_TTY_NAME_MAX___321 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___321 = 73,
    _SC_THREAD_KEYS_MAX___321 = 74,
    _SC_THREAD_STACK_MIN___321 = 75,
    _SC_THREAD_THREADS_MAX___321 = 76,
    _SC_THREAD_ATTR_STACKADDR___321 = 77,
    _SC_THREAD_ATTR_STACKSIZE___321 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___321 = 79,
    _SC_THREAD_PRIO_INHERIT___321 = 80,
    _SC_THREAD_PRIO_PROTECT___321 = 81,
    _SC_THREAD_PROCESS_SHARED___321 = 82,
    _SC_NPROCESSORS_CONF___321 = 83,
    _SC_NPROCESSORS_ONLN___321 = 84,
    _SC_PHYS_PAGES___321 = 85,
    _SC_AVPHYS_PAGES___321 = 86,
    _SC_ATEXIT_MAX___321 = 87,
    _SC_PASS_MAX___321 = 88,
    _SC_XOPEN_VERSION___321 = 89,
    _SC_XOPEN_XCU_VERSION___321 = 90,
    _SC_XOPEN_UNIX___321 = 91,
    _SC_XOPEN_CRYPT___321 = 92,
    _SC_XOPEN_ENH_I18N___321 = 93,
    _SC_XOPEN_SHM___321 = 94,
    _SC_2_CHAR_TERM___321 = 95,
    _SC_2_C_VERSION___321 = 96,
    _SC_2_UPE___321 = 97,
    _SC_XOPEN_XPG2___321 = 98,
    _SC_XOPEN_XPG3___321 = 99,
    _SC_XOPEN_XPG4___321 = 100,
    _SC_CHAR_BIT___321 = 101,
    _SC_CHAR_MAX___321 = 102,
    _SC_CHAR_MIN___321 = 103,
    _SC_INT_MAX___321 = 104,
    _SC_INT_MIN___321 = 105,
    _SC_LONG_BIT___321 = 106,
    _SC_WORD_BIT___321 = 107,
    _SC_MB_LEN_MAX___321 = 108,
    _SC_NZERO___321 = 109,
    _SC_SSIZE_MAX___321 = 110,
    _SC_SCHAR_MAX___321 = 111,
    _SC_SCHAR_MIN___321 = 112,
    _SC_SHRT_MAX___321 = 113,
    _SC_SHRT_MIN___321 = 114,
    _SC_UCHAR_MAX___321 = 115,
    _SC_UINT_MAX___321 = 116,
    _SC_ULONG_MAX___321 = 117,
    _SC_USHRT_MAX___321 = 118,
    _SC_NL_ARGMAX___321 = 119,
    _SC_NL_LANGMAX___321 = 120,
    _SC_NL_MSGMAX___321 = 121,
    _SC_NL_NMAX___321 = 122,
    _SC_NL_SETMAX___321 = 123,
    _SC_NL_TEXTMAX___321 = 124,
    _SC_XBS5_ILP32_OFF32___321 = 125,
    _SC_XBS5_ILP32_OFFBIG___321 = 126,
    _SC_XBS5_LP64_OFF64___321 = 127,
    _SC_XBS5_LPBIG_OFFBIG___321 = 128,
    _SC_XOPEN_LEGACY___321 = 129,
    _SC_XOPEN_REALTIME___321 = 130,
    _SC_XOPEN_REALTIME_THREADS___321 = 131,
    _SC_ADVISORY_INFO___321 = 132,
    _SC_BARRIERS___321 = 133,
    _SC_BASE___321 = 134,
    _SC_C_LANG_SUPPORT___321 = 135,
    _SC_C_LANG_SUPPORT_R___321 = 136,
    _SC_CLOCK_SELECTION___321 = 137,
    _SC_CPUTIME___321 = 138,
    _SC_THREAD_CPUTIME___321 = 139,
    _SC_DEVICE_IO___321 = 140,
    _SC_DEVICE_SPECIFIC___321 = 141,
    _SC_DEVICE_SPECIFIC_R___321 = 142,
    _SC_FD_MGMT___321 = 143,
    _SC_FIFO___321 = 144,
    _SC_PIPE___321 = 145,
    _SC_FILE_ATTRIBUTES___321 = 146,
    _SC_FILE_LOCKING___321 = 147,
    _SC_FILE_SYSTEM___321 = 148,
    _SC_MONOTONIC_CLOCK___321 = 149,
    _SC_MULTI_PROCESS___321 = 150,
    _SC_SINGLE_PROCESS___321 = 151,
    _SC_NETWORKING___321 = 152,
    _SC_READER_WRITER_LOCKS___321 = 153,
    _SC_SPIN_LOCKS___321 = 154,
    _SC_REGEXP___321 = 155,
    _SC_REGEX_VERSION___321 = 156,
    _SC_SHELL___321 = 157,
    _SC_SIGNALS___321 = 158,
    _SC_SPAWN___321 = 159,
    _SC_SPORADIC_SERVER___321 = 160,
    _SC_THREAD_SPORADIC_SERVER___321 = 161,
    _SC_SYSTEM_DATABASE___321 = 162,
    _SC_SYSTEM_DATABASE_R___321 = 163,
    _SC_TIMEOUTS___321 = 164,
    _SC_TYPED_MEMORY_OBJECTS___321 = 165,
    _SC_USER_GROUPS___321 = 166,
    _SC_USER_GROUPS_R___321 = 167,
    _SC_2_PBS___321 = 168,
    _SC_2_PBS_ACCOUNTING___321 = 169,
    _SC_2_PBS_LOCATE___321 = 170,
    _SC_2_PBS_MESSAGE___321 = 171,
    _SC_2_PBS_TRACK___321 = 172,
    _SC_SYMLOOP_MAX___321 = 173,
    _SC_STREAMS___321 = 174,
    _SC_2_PBS_CHECKPOINT___321 = 175,
    _SC_V6_ILP32_OFF32___321 = 176,
    _SC_V6_ILP32_OFFBIG___321 = 177,
    _SC_V6_LP64_OFF64___321 = 178,
    _SC_V6_LPBIG_OFFBIG___321 = 179,
    _SC_HOST_NAME_MAX___321 = 180,
    _SC_TRACE___321 = 181,
    _SC_TRACE_EVENT_FILTER___321 = 182,
    _SC_TRACE_INHERIT___321 = 183,
    _SC_TRACE_LOG___321 = 184,
    _SC_LEVEL1_ICACHE_SIZE___321 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___321 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___321 = 187,
    _SC_LEVEL1_DCACHE_SIZE___321 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___321 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___321 = 190,
    _SC_LEVEL2_CACHE_SIZE___321 = 191,
    _SC_LEVEL2_CACHE_ASSOC___321 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___321 = 193,
    _SC_LEVEL3_CACHE_SIZE___321 = 194,
    _SC_LEVEL3_CACHE_ASSOC___321 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___321 = 196,
    _SC_LEVEL4_CACHE_SIZE___321 = 197,
    _SC_LEVEL4_CACHE_ASSOC___321 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___321 = 199,
    _SC_IPV6___321 = 235,
    _SC_RAW_SOCKETS___321 = 236,
    _SC_V7_ILP32_OFF32___321 = 237,
    _SC_V7_ILP32_OFFBIG___321 = 238,
    _SC_V7_LP64_OFF64___321 = 239,
    _SC_V7_LPBIG_OFFBIG___321 = 240,
    _SC_SS_REPL_MAX___321 = 241,
    _SC_TRACE_EVENT_NAME_MAX___321 = 242,
    _SC_TRACE_NAME_MAX___321 = 243,
    _SC_TRACE_SYS_MAX___321 = 244,
    _SC_TRACE_USER_EVENT_MAX___321 = 245,
    _SC_XOPEN_STREAMS___321 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___321 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___321 = 248
} ;
enum __anonenum_875524036___321 {
    _CS_PATH___321 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___321 = 1,
    _CS_GNU_LIBC_VERSION___321 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___321 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___321 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___321 = 5,
    _CS_LFS_CFLAGS___321 = 1000,
    _CS_LFS_LDFLAGS___321 = 1001,
    _CS_LFS_LIBS___321 = 1002,
    _CS_LFS_LINTFLAGS___321 = 1003,
    _CS_LFS64_CFLAGS___321 = 1004,
    _CS_LFS64_LDFLAGS___321 = 1005,
    _CS_LFS64_LIBS___321 = 1006,
    _CS_LFS64_LINTFLAGS___321 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___321 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___321 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___321 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___321 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___321 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___321 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___321 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___321 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___321 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___321 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___321 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___321 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___321 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___321 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___321 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___321 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___321 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___321 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___321 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___321 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___321 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___321 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___321 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___321 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___321 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___321 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___321 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___321 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___321 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___321 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___321 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___321 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___321 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___321 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___321 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___321 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___321 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___321 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___321 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___321 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___321 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___321 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___321 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___321 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___321 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___321 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___321 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___321 = 1147,
    _CS_V6_ENV___321 = 1148,
    _CS_V7_ENV___321 = 1149
} ;
enum __anonenum_513775621___321 {
    DT_UNKNOWN___321 = 0,
    DT_FIFO___321 = 1,
    DT_CHR___321 = 2,
    DT_DIR___321 = 4,
    DT_BLK___321 = 6,
    DT_REG___321 = 8,
    DT_LNK___321 = 10,
    DT_SOCK___321 = 12,
    DT_WHT___321 = 14
} ;
enum __anonenum_77002343___321 {
    SI_ASYNCNL___321 = -60,
    SI_TKILL___321 = -6,
    SI_SIGIO___321 = -5,
    SI_ASYNCIO___321 = -4,
    SI_MESGQ___321 = -3,
    SI_TIMER___321 = -2,
    SI_QUEUE___321 = -1,
    SI_USER___321 = 0,
    SI_KERNEL___321 = 128
} ;
enum __anonenum_131038172___321 {
    ILL_ILLOPC___321 = 1,
    ILL_ILLOPN___321 = 2,
    ILL_ILLADR___321 = 3,
    ILL_ILLTRP___321 = 4,
    ILL_PRVOPC___321 = 5,
    ILL_PRVREG___321 = 6,
    ILL_COPROC___321 = 7,
    ILL_BADSTK___321 = 8
} ;
enum __anonenum_452038093___321 {
    FPE_INTDIV___321 = 1,
    FPE_INTOVF___321 = 2,
    FPE_FLTDIV___321 = 3,
    FPE_FLTOVF___321 = 4,
    FPE_FLTUND___321 = 5,
    FPE_FLTRES___321 = 6,
    FPE_FLTINV___321 = 7,
    FPE_FLTSUB___321 = 8
} ;
enum __anonenum_30976155___321 {
    SEGV_MAPERR___321 = 1,
    SEGV_ACCERR___321 = 2,
    SEGV_BNDERR___321 = 3,
    SEGV_PKUERR___321 = 4
} ;
enum __anonenum_1036286214___321 {
    BUS_ADRALN___321 = 1,
    BUS_ADRERR___321 = 2,
    BUS_OBJERR___321 = 3,
    BUS_MCEERR_AR___321 = 4,
    BUS_MCEERR_AO___321 = 5
} ;
enum __anonenum_493465559___321 {
    TRAP_BRKPT___321 = 1,
    TRAP_TRACE___321 = 2
} ;
enum __anonenum_23175539___321 {
    CLD_EXITED___321 = 1,
    CLD_KILLED___321 = 2,
    CLD_DUMPED___321 = 3,
    CLD_TRAPPED___321 = 4,
    CLD_STOPPED___321 = 5,
    CLD_CONTINUED___321 = 6
} ;
enum __anonenum_111643124___321 {
    POLL_IN___321 = 1,
    POLL_OUT___321 = 2,
    POLL_MSG___321 = 3,
    POLL_ERR___321 = 4,
    POLL_PRI___321 = 5,
    POLL_HUP___321 = 6
} ;
enum __anonenum_852341087___321 {
    SIGEV_SIGNAL___321 = 0,
    SIGEV_NONE___321 = 1,
    SIGEV_THREAD___321 = 2,
    SIGEV_THREAD_ID___321 = 4
} ;
enum __anonenum_451154152___321 {
    REG_R8___321 = 0,
    REG_R9___321 = 1,
    REG_R10___321 = 2,
    REG_R11___321 = 3,
    REG_R12___321 = 4,
    REG_R13___321 = 5,
    REG_R14___321 = 6,
    REG_R15___321 = 7,
    REG_RDI___321 = 8,
    REG_RSI___321 = 9,
    REG_RBP___321 = 10,
    REG_RBX___321 = 11,
    REG_RDX___321 = 12,
    REG_RAX___321 = 13,
    REG_RCX___321 = 14,
    REG_RSP___321 = 15,
    REG_RIP___321 = 16,
    REG_EFL___321 = 17,
    REG_CSGSFS___321 = 18,
    REG_ERR___321 = 19,
    REG_TRAPNO___321 = 20,
    REG_OLDMASK___321 = 21,
    REG_CR2___321 = 22
} ;
enum __anonenum_57186863___321 {
    SS_ONSTACK___321 = 1,
    SS_DISABLE___321 = 2
} ;
enum __anonenum_83571709___321 {
    MSG_OOB___321 = 1,
    MSG_PEEK___321 = 2,
    MSG_DONTROUTE___321 = 4,
    MSG_TRYHARD___321 = 4,
    MSG_CTRUNC___321 = 8,
    MSG_PROXY___321 = 16,
    MSG_TRUNC___321 = 32,
    MSG_DONTWAIT___321 = 64,
    MSG_EOR___321 = 128,
    MSG_WAITALL___321 = 256,
    MSG_FIN___321 = 512,
    MSG_SYN___321 = 1024,
    MSG_CONFIRM___321 = 2048,
    MSG_RST___321 = 4096,
    MSG_ERRQUEUE___321 = 8192,
    MSG_NOSIGNAL___321 = 16384,
    MSG_MORE___321 = 32768,
    MSG_WAITFORONE___321 = 65536,
    MSG_BATCH___321 = 262144,
    MSG_ZEROCOPY___321 = 67108864,
    MSG_FASTOPEN___321 = 536870912,
    MSG_CMSG_CLOEXEC___321 = 1073741824
} ;
enum __anonenum_617082774___321 {
    SCM_RIGHTS___321 = 1,
    SCM_CREDENTIALS___321 = 2
} ;
enum __anonenum_606441560___321 {
    SHUT_RD___321 = 0,
    SHUT_WR___321 = 1,
    SHUT_RDWR___321 = 2
} ;
enum __anonenum_681669233___321 {
    IPPROTO_IP___321 = 0,
    IPPROTO_ICMP___321 = 1,
    IPPROTO_IGMP___321 = 2,
    IPPROTO_IPIP___321 = 4,
    IPPROTO_TCP___321 = 6,
    IPPROTO_EGP___321 = 8,
    IPPROTO_PUP___321 = 12,
    IPPROTO_UDP___321 = 17,
    IPPROTO_IDP___321 = 22,
    IPPROTO_TP___321 = 29,
    IPPROTO_DCCP___321 = 33,
    IPPROTO_IPV6___321 = 41,
    IPPROTO_RSVP___321 = 46,
    IPPROTO_GRE___321 = 47,
    IPPROTO_ESP___321 = 50,
    IPPROTO_AH___321 = 51,
    IPPROTO_MTP___321 = 92,
    IPPROTO_BEETPH___321 = 94,
    IPPROTO_ENCAP___321 = 98,
    IPPROTO_PIM___321 = 103,
    IPPROTO_COMP___321 = 108,
    IPPROTO_SCTP___321 = 132,
    IPPROTO_UDPLITE___321 = 136,
    IPPROTO_MPLS___321 = 137,
    IPPROTO_RAW___321 = 255,
    IPPROTO_MAX___321 = 256
} ;
enum __anonenum_218739988___321 {
    IPPROTO_HOPOPTS___321 = 0,
    IPPROTO_ROUTING___321 = 43,
    IPPROTO_FRAGMENT___321 = 44,
    IPPROTO_ICMPV6___321 = 58,
    IPPROTO_NONE___321 = 59,
    IPPROTO_DSTOPTS___321 = 60,
    IPPROTO_MH___321 = 135
} ;
enum __anonenum_662268580___321 {
    IPPORT_ECHO___321 = 7,
    IPPORT_DISCARD___321 = 9,
    IPPORT_SYSTAT___321 = 11,
    IPPORT_DAYTIME___321 = 13,
    IPPORT_NETSTAT___321 = 15,
    IPPORT_FTP___321 = 21,
    IPPORT_TELNET___321 = 23,
    IPPORT_SMTP___321 = 25,
    IPPORT_TIMESERVER___321 = 37,
    IPPORT_NAMESERVER___321 = 42,
    IPPORT_WHOIS___321 = 43,
    IPPORT_MTP___321 = 57,
    IPPORT_TFTP___321 = 69,
    IPPORT_RJE___321 = 77,
    IPPORT_FINGER___321 = 79,
    IPPORT_TTYLINK___321 = 87,
    IPPORT_SUPDUP___321 = 95,
    IPPORT_EXECSERVER___321 = 512,
    IPPORT_LOGINSERVER___321 = 513,
    IPPORT_CMDSERVER___321 = 514,
    IPPORT_EFSSERVER___321 = 520,
    IPPORT_BIFFUDP___321 = 512,
    IPPORT_WHOSERVER___321 = 513,
    IPPORT_ROUTESERVER___321 = 520,
    IPPORT_RESERVED___321 = 1024,
    IPPORT_USERRESERVED___321 = 5000
} ;
enum __anonenum_788308992___321 {
    TCP_ESTABLISHED___321 = 1,
    TCP_SYN_SENT___321 = 2,
    TCP_SYN_RECV___321 = 3,
    TCP_FIN_WAIT1___321 = 4,
    TCP_FIN_WAIT2___321 = 5,
    TCP_TIME_WAIT___321 = 6,
    TCP_CLOSE___321 = 7,
    TCP_CLOSE_WAIT___321 = 8,
    TCP_LAST_ACK___321 = 9,
    TCP_LISTEN___321 = 10,
    TCP_CLOSING___321 = 11
} ;
enum __anonenum_221125648___321 {
    TCP_NO_QUEUE___321 = 0,
    TCP_RECV_QUEUE___321 = 1,
    TCP_SEND_QUEUE___321 = 2,
    TCP_QUEUES_NR___321 = 3
} ;
enum __anonenum_34415463___321 {
    PTHREAD_CREATE_JOINABLE___321 = 0,
    PTHREAD_CREATE_DETACHED___321 = 1
} ;
enum __anonenum_303612439___321 {
    PTHREAD_MUTEX_TIMED_NP___321 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___321 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___321 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___321 = 3,
    PTHREAD_MUTEX_NORMAL___321 = 0,
    PTHREAD_MUTEX_RECURSIVE___321 = 1,
    PTHREAD_MUTEX_ERRORCHECK___321 = 2,
    PTHREAD_MUTEX_DEFAULT___321 = 0,
    PTHREAD_MUTEX_FAST_NP___321 = 0
} ;
enum __anonenum_931900394___321 {
    PTHREAD_MUTEX_STALLED___321 = 0,
    PTHREAD_MUTEX_STALLED_NP___321 = 0,
    PTHREAD_MUTEX_ROBUST___321 = 1,
    PTHREAD_MUTEX_ROBUST_NP___321 = 1
} ;
enum __anonenum_205214487___321 {
    PTHREAD_PRIO_NONE___321 = 0,
    PTHREAD_PRIO_INHERIT___321 = 1,
    PTHREAD_PRIO_PROTECT___321 = 2
} ;
enum __anonenum_25043950___321 {
    PTHREAD_RWLOCK_PREFER_READER_NP___321 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___321 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___321 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___321 = 0
} ;
enum __anonenum_436439511___321 {
    PTHREAD_INHERIT_SCHED___321 = 0,
    PTHREAD_EXPLICIT_SCHED___321 = 1
} ;
enum __anonenum_998661166___321 {
    PTHREAD_SCOPE_SYSTEM___321 = 0,
    PTHREAD_SCOPE_PROCESS___321 = 1
} ;
enum __anonenum_146137331___321 {
    PTHREAD_PROCESS_PRIVATE___321 = 0,
    PTHREAD_PROCESS_SHARED___321 = 1
} ;
enum __anonenum_53396917___321 {
    PTHREAD_CANCEL_ENABLE___321 = 0,
    PTHREAD_CANCEL_DISABLE___321 = 1
} ;
enum __anonenum_904563783___321 {
    PTHREAD_CANCEL_DEFERRED___321 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___321 = 1
} ;
enum __anonenum_672052974___321 {
    SSL_CT_VALIDATION_PERMISSIVE___321 = 0,
    SSL_CT_VALIDATION_STRICT___321 = 1
} ;
enum __anonenum_437032235___322 {
    _PC_LINK_MAX___322 = 0,
    _PC_MAX_CANON___322 = 1,
    _PC_MAX_INPUT___322 = 2,
    _PC_NAME_MAX___322 = 3,
    _PC_PATH_MAX___322 = 4,
    _PC_PIPE_BUF___322 = 5,
    _PC_CHOWN_RESTRICTED___322 = 6,
    _PC_NO_TRUNC___322 = 7,
    _PC_VDISABLE___322 = 8,
    _PC_SYNC_IO___322 = 9,
    _PC_ASYNC_IO___322 = 10,
    _PC_PRIO_IO___322 = 11,
    _PC_SOCK_MAXBUF___322 = 12,
    _PC_FILESIZEBITS___322 = 13,
    _PC_REC_INCR_XFER_SIZE___322 = 14,
    _PC_REC_MAX_XFER_SIZE___322 = 15,
    _PC_REC_MIN_XFER_SIZE___322 = 16,
    _PC_REC_XFER_ALIGN___322 = 17,
    _PC_ALLOC_SIZE_MIN___322 = 18,
    _PC_SYMLINK_MAX___322 = 19,
    _PC_2_SYMLINKS___322 = 20
} ;
enum __anonenum_315186338___322 {
    _SC_ARG_MAX___322 = 0,
    _SC_CHILD_MAX___322 = 1,
    _SC_CLK_TCK___322 = 2,
    _SC_NGROUPS_MAX___322 = 3,
    _SC_OPEN_MAX___322 = 4,
    _SC_STREAM_MAX___322 = 5,
    _SC_TZNAME_MAX___322 = 6,
    _SC_JOB_CONTROL___322 = 7,
    _SC_SAVED_IDS___322 = 8,
    _SC_REALTIME_SIGNALS___322 = 9,
    _SC_PRIORITY_SCHEDULING___322 = 10,
    _SC_TIMERS___322 = 11,
    _SC_ASYNCHRONOUS_IO___322 = 12,
    _SC_PRIORITIZED_IO___322 = 13,
    _SC_SYNCHRONIZED_IO___322 = 14,
    _SC_FSYNC___322 = 15,
    _SC_MAPPED_FILES___322 = 16,
    _SC_MEMLOCK___322 = 17,
    _SC_MEMLOCK_RANGE___322 = 18,
    _SC_MEMORY_PROTECTION___322 = 19,
    _SC_MESSAGE_PASSING___322 = 20,
    _SC_SEMAPHORES___322 = 21,
    _SC_SHARED_MEMORY_OBJECTS___322 = 22,
    _SC_AIO_LISTIO_MAX___322 = 23,
    _SC_AIO_MAX___322 = 24,
    _SC_AIO_PRIO_DELTA_MAX___322 = 25,
    _SC_DELAYTIMER_MAX___322 = 26,
    _SC_MQ_OPEN_MAX___322 = 27,
    _SC_MQ_PRIO_MAX___322 = 28,
    _SC_VERSION___322 = 29,
    _SC_PAGESIZE___322 = 30,
    _SC_RTSIG_MAX___322 = 31,
    _SC_SEM_NSEMS_MAX___322 = 32,
    _SC_SEM_VALUE_MAX___322 = 33,
    _SC_SIGQUEUE_MAX___322 = 34,
    _SC_TIMER_MAX___322 = 35,
    _SC_BC_BASE_MAX___322 = 36,
    _SC_BC_DIM_MAX___322 = 37,
    _SC_BC_SCALE_MAX___322 = 38,
    _SC_BC_STRING_MAX___322 = 39,
    _SC_COLL_WEIGHTS_MAX___322 = 40,
    _SC_EQUIV_CLASS_MAX___322 = 41,
    _SC_EXPR_NEST_MAX___322 = 42,
    _SC_LINE_MAX___322 = 43,
    _SC_RE_DUP_MAX___322 = 44,
    _SC_CHARCLASS_NAME_MAX___322 = 45,
    _SC_2_VERSION___322 = 46,
    _SC_2_C_BIND___322 = 47,
    _SC_2_C_DEV___322 = 48,
    _SC_2_FORT_DEV___322 = 49,
    _SC_2_FORT_RUN___322 = 50,
    _SC_2_SW_DEV___322 = 51,
    _SC_2_LOCALEDEF___322 = 52,
    _SC_PII___322 = 53,
    _SC_PII_XTI___322 = 54,
    _SC_PII_SOCKET___322 = 55,
    _SC_PII_INTERNET___322 = 56,
    _SC_PII_OSI___322 = 57,
    _SC_POLL___322 = 58,
    _SC_SELECT___322 = 59,
    _SC_UIO_MAXIOV___322 = 60,
    _SC_IOV_MAX___322 = 60,
    _SC_PII_INTERNET_STREAM___322 = 61,
    _SC_PII_INTERNET_DGRAM___322 = 62,
    _SC_PII_OSI_COTS___322 = 63,
    _SC_PII_OSI_CLTS___322 = 64,
    _SC_PII_OSI_M___322 = 65,
    _SC_T_IOV_MAX___322 = 66,
    _SC_THREADS___322 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___322 = 68,
    _SC_GETGR_R_SIZE_MAX___322 = 69,
    _SC_GETPW_R_SIZE_MAX___322 = 70,
    _SC_LOGIN_NAME_MAX___322 = 71,
    _SC_TTY_NAME_MAX___322 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___322 = 73,
    _SC_THREAD_KEYS_MAX___322 = 74,
    _SC_THREAD_STACK_MIN___322 = 75,
    _SC_THREAD_THREADS_MAX___322 = 76,
    _SC_THREAD_ATTR_STACKADDR___322 = 77,
    _SC_THREAD_ATTR_STACKSIZE___322 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___322 = 79,
    _SC_THREAD_PRIO_INHERIT___322 = 80,
    _SC_THREAD_PRIO_PROTECT___322 = 81,
    _SC_THREAD_PROCESS_SHARED___322 = 82,
    _SC_NPROCESSORS_CONF___322 = 83,
    _SC_NPROCESSORS_ONLN___322 = 84,
    _SC_PHYS_PAGES___322 = 85,
    _SC_AVPHYS_PAGES___322 = 86,
    _SC_ATEXIT_MAX___322 = 87,
    _SC_PASS_MAX___322 = 88,
    _SC_XOPEN_VERSION___322 = 89,
    _SC_XOPEN_XCU_VERSION___322 = 90,
    _SC_XOPEN_UNIX___322 = 91,
    _SC_XOPEN_CRYPT___322 = 92,
    _SC_XOPEN_ENH_I18N___322 = 93,
    _SC_XOPEN_SHM___322 = 94,
    _SC_2_CHAR_TERM___322 = 95,
    _SC_2_C_VERSION___322 = 96,
    _SC_2_UPE___322 = 97,
    _SC_XOPEN_XPG2___322 = 98,
    _SC_XOPEN_XPG3___322 = 99,
    _SC_XOPEN_XPG4___322 = 100,
    _SC_CHAR_BIT___322 = 101,
    _SC_CHAR_MAX___322 = 102,
    _SC_CHAR_MIN___322 = 103,
    _SC_INT_MAX___322 = 104,
    _SC_INT_MIN___322 = 105,
    _SC_LONG_BIT___322 = 106,
    _SC_WORD_BIT___322 = 107,
    _SC_MB_LEN_MAX___322 = 108,
    _SC_NZERO___322 = 109,
    _SC_SSIZE_MAX___322 = 110,
    _SC_SCHAR_MAX___322 = 111,
    _SC_SCHAR_MIN___322 = 112,
    _SC_SHRT_MAX___322 = 113,
    _SC_SHRT_MIN___322 = 114,
    _SC_UCHAR_MAX___322 = 115,
    _SC_UINT_MAX___322 = 116,
    _SC_ULONG_MAX___322 = 117,
    _SC_USHRT_MAX___322 = 118,
    _SC_NL_ARGMAX___322 = 119,
    _SC_NL_LANGMAX___322 = 120,
    _SC_NL_MSGMAX___322 = 121,
    _SC_NL_NMAX___322 = 122,
    _SC_NL_SETMAX___322 = 123,
    _SC_NL_TEXTMAX___322 = 124,
    _SC_XBS5_ILP32_OFF32___322 = 125,
    _SC_XBS5_ILP32_OFFBIG___322 = 126,
    _SC_XBS5_LP64_OFF64___322 = 127,
    _SC_XBS5_LPBIG_OFFBIG___322 = 128,
    _SC_XOPEN_LEGACY___322 = 129,
    _SC_XOPEN_REALTIME___322 = 130,
    _SC_XOPEN_REALTIME_THREADS___322 = 131,
    _SC_ADVISORY_INFO___322 = 132,
    _SC_BARRIERS___322 = 133,
    _SC_BASE___322 = 134,
    _SC_C_LANG_SUPPORT___322 = 135,
    _SC_C_LANG_SUPPORT_R___322 = 136,
    _SC_CLOCK_SELECTION___322 = 137,
    _SC_CPUTIME___322 = 138,
    _SC_THREAD_CPUTIME___322 = 139,
    _SC_DEVICE_IO___322 = 140,
    _SC_DEVICE_SPECIFIC___322 = 141,
    _SC_DEVICE_SPECIFIC_R___322 = 142,
    _SC_FD_MGMT___322 = 143,
    _SC_FIFO___322 = 144,
    _SC_PIPE___322 = 145,
    _SC_FILE_ATTRIBUTES___322 = 146,
    _SC_FILE_LOCKING___322 = 147,
    _SC_FILE_SYSTEM___322 = 148,
    _SC_MONOTONIC_CLOCK___322 = 149,
    _SC_MULTI_PROCESS___322 = 150,
    _SC_SINGLE_PROCESS___322 = 151,
    _SC_NETWORKING___322 = 152,
    _SC_READER_WRITER_LOCKS___322 = 153,
    _SC_SPIN_LOCKS___322 = 154,
    _SC_REGEXP___322 = 155,
    _SC_REGEX_VERSION___322 = 156,
    _SC_SHELL___322 = 157,
    _SC_SIGNALS___322 = 158,
    _SC_SPAWN___322 = 159,
    _SC_SPORADIC_SERVER___322 = 160,
    _SC_THREAD_SPORADIC_SERVER___322 = 161,
    _SC_SYSTEM_DATABASE___322 = 162,
    _SC_SYSTEM_DATABASE_R___322 = 163,
    _SC_TIMEOUTS___322 = 164,
    _SC_TYPED_MEMORY_OBJECTS___322 = 165,
    _SC_USER_GROUPS___322 = 166,
    _SC_USER_GROUPS_R___322 = 167,
    _SC_2_PBS___322 = 168,
    _SC_2_PBS_ACCOUNTING___322 = 169,
    _SC_2_PBS_LOCATE___322 = 170,
    _SC_2_PBS_MESSAGE___322 = 171,
    _SC_2_PBS_TRACK___322 = 172,
    _SC_SYMLOOP_MAX___322 = 173,
    _SC_STREAMS___322 = 174,
    _SC_2_PBS_CHECKPOINT___322 = 175,
    _SC_V6_ILP32_OFF32___322 = 176,
    _SC_V6_ILP32_OFFBIG___322 = 177,
    _SC_V6_LP64_OFF64___322 = 178,
    _SC_V6_LPBIG_OFFBIG___322 = 179,
    _SC_HOST_NAME_MAX___322 = 180,
    _SC_TRACE___322 = 181,
    _SC_TRACE_EVENT_FILTER___322 = 182,
    _SC_TRACE_INHERIT___322 = 183,
    _SC_TRACE_LOG___322 = 184,
    _SC_LEVEL1_ICACHE_SIZE___322 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___322 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___322 = 187,
    _SC_LEVEL1_DCACHE_SIZE___322 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___322 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___322 = 190,
    _SC_LEVEL2_CACHE_SIZE___322 = 191,
    _SC_LEVEL2_CACHE_ASSOC___322 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___322 = 193,
    _SC_LEVEL3_CACHE_SIZE___322 = 194,
    _SC_LEVEL3_CACHE_ASSOC___322 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___322 = 196,
    _SC_LEVEL4_CACHE_SIZE___322 = 197,
    _SC_LEVEL4_CACHE_ASSOC___322 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___322 = 199,
    _SC_IPV6___322 = 235,
    _SC_RAW_SOCKETS___322 = 236,
    _SC_V7_ILP32_OFF32___322 = 237,
    _SC_V7_ILP32_OFFBIG___322 = 238,
    _SC_V7_LP64_OFF64___322 = 239,
    _SC_V7_LPBIG_OFFBIG___322 = 240,
    _SC_SS_REPL_MAX___322 = 241,
    _SC_TRACE_EVENT_NAME_MAX___322 = 242,
    _SC_TRACE_NAME_MAX___322 = 243,
    _SC_TRACE_SYS_MAX___322 = 244,
    _SC_TRACE_USER_EVENT_MAX___322 = 245,
    _SC_XOPEN_STREAMS___322 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___322 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___322 = 248
} ;
enum __anonenum_875524036___322 {
    _CS_PATH___322 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___322 = 1,
    _CS_GNU_LIBC_VERSION___322 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___322 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___322 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___322 = 5,
    _CS_LFS_CFLAGS___322 = 1000,
    _CS_LFS_LDFLAGS___322 = 1001,
    _CS_LFS_LIBS___322 = 1002,
    _CS_LFS_LINTFLAGS___322 = 1003,
    _CS_LFS64_CFLAGS___322 = 1004,
    _CS_LFS64_LDFLAGS___322 = 1005,
    _CS_LFS64_LIBS___322 = 1006,
    _CS_LFS64_LINTFLAGS___322 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___322 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___322 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___322 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___322 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___322 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___322 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___322 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___322 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___322 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___322 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___322 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___322 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___322 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___322 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___322 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___322 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___322 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___322 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___322 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___322 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___322 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___322 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___322 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___322 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___322 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___322 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___322 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___322 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___322 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___322 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___322 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___322 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___322 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___322 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___322 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___322 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___322 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___322 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___322 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___322 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___322 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___322 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___322 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___322 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___322 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___322 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___322 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___322 = 1147,
    _CS_V6_ENV___322 = 1148,
    _CS_V7_ENV___322 = 1149
} ;
enum __anonenum_513775621___322 {
    DT_UNKNOWN___322 = 0,
    DT_FIFO___322 = 1,
    DT_CHR___322 = 2,
    DT_DIR___322 = 4,
    DT_BLK___322 = 6,
    DT_REG___322 = 8,
    DT_LNK___322 = 10,
    DT_SOCK___322 = 12,
    DT_WHT___322 = 14
} ;
enum __anonenum_77002343___322 {
    SI_ASYNCNL___322 = -60,
    SI_TKILL___322 = -6,
    SI_SIGIO___322 = -5,
    SI_ASYNCIO___322 = -4,
    SI_MESGQ___322 = -3,
    SI_TIMER___322 = -2,
    SI_QUEUE___322 = -1,
    SI_USER___322 = 0,
    SI_KERNEL___322 = 128
} ;
enum __anonenum_131038172___322 {
    ILL_ILLOPC___322 = 1,
    ILL_ILLOPN___322 = 2,
    ILL_ILLADR___322 = 3,
    ILL_ILLTRP___322 = 4,
    ILL_PRVOPC___322 = 5,
    ILL_PRVREG___322 = 6,
    ILL_COPROC___322 = 7,
    ILL_BADSTK___322 = 8
} ;
enum __anonenum_452038093___322 {
    FPE_INTDIV___322 = 1,
    FPE_INTOVF___322 = 2,
    FPE_FLTDIV___322 = 3,
    FPE_FLTOVF___322 = 4,
    FPE_FLTUND___322 = 5,
    FPE_FLTRES___322 = 6,
    FPE_FLTINV___322 = 7,
    FPE_FLTSUB___322 = 8
} ;
enum __anonenum_30976155___322 {
    SEGV_MAPERR___322 = 1,
    SEGV_ACCERR___322 = 2,
    SEGV_BNDERR___322 = 3,
    SEGV_PKUERR___322 = 4
} ;
enum __anonenum_1036286214___322 {
    BUS_ADRALN___322 = 1,
    BUS_ADRERR___322 = 2,
    BUS_OBJERR___322 = 3,
    BUS_MCEERR_AR___322 = 4,
    BUS_MCEERR_AO___322 = 5
} ;
enum __anonenum_493465559___322 {
    TRAP_BRKPT___322 = 1,
    TRAP_TRACE___322 = 2
} ;
enum __anonenum_23175539___322 {
    CLD_EXITED___322 = 1,
    CLD_KILLED___322 = 2,
    CLD_DUMPED___322 = 3,
    CLD_TRAPPED___322 = 4,
    CLD_STOPPED___322 = 5,
    CLD_CONTINUED___322 = 6
} ;
enum __anonenum_111643124___322 {
    POLL_IN___322 = 1,
    POLL_OUT___322 = 2,
    POLL_MSG___322 = 3,
    POLL_ERR___322 = 4,
    POLL_PRI___322 = 5,
    POLL_HUP___322 = 6
} ;
enum __anonenum_852341087___322 {
    SIGEV_SIGNAL___322 = 0,
    SIGEV_NONE___322 = 1,
    SIGEV_THREAD___322 = 2,
    SIGEV_THREAD_ID___322 = 4
} ;
enum __anonenum_451154152___322 {
    REG_R8___322 = 0,
    REG_R9___322 = 1,
    REG_R10___322 = 2,
    REG_R11___322 = 3,
    REG_R12___322 = 4,
    REG_R13___322 = 5,
    REG_R14___322 = 6,
    REG_R15___322 = 7,
    REG_RDI___322 = 8,
    REG_RSI___322 = 9,
    REG_RBP___322 = 10,
    REG_RBX___322 = 11,
    REG_RDX___322 = 12,
    REG_RAX___322 = 13,
    REG_RCX___322 = 14,
    REG_RSP___322 = 15,
    REG_RIP___322 = 16,
    REG_EFL___322 = 17,
    REG_CSGSFS___322 = 18,
    REG_ERR___322 = 19,
    REG_TRAPNO___322 = 20,
    REG_OLDMASK___322 = 21,
    REG_CR2___322 = 22
} ;
enum __anonenum_57186863___322 {
    SS_ONSTACK___322 = 1,
    SS_DISABLE___322 = 2
} ;
enum __anonenum_83571709___322 {
    MSG_OOB___322 = 1,
    MSG_PEEK___322 = 2,
    MSG_DONTROUTE___322 = 4,
    MSG_TRYHARD___322 = 4,
    MSG_CTRUNC___322 = 8,
    MSG_PROXY___322 = 16,
    MSG_TRUNC___322 = 32,
    MSG_DONTWAIT___322 = 64,
    MSG_EOR___322 = 128,
    MSG_WAITALL___322 = 256,
    MSG_FIN___322 = 512,
    MSG_SYN___322 = 1024,
    MSG_CONFIRM___322 = 2048,
    MSG_RST___322 = 4096,
    MSG_ERRQUEUE___322 = 8192,
    MSG_NOSIGNAL___322 = 16384,
    MSG_MORE___322 = 32768,
    MSG_WAITFORONE___322 = 65536,
    MSG_BATCH___322 = 262144,
    MSG_ZEROCOPY___322 = 67108864,
    MSG_FASTOPEN___322 = 536870912,
    MSG_CMSG_CLOEXEC___322 = 1073741824
} ;
enum __anonenum_617082774___322 {
    SCM_RIGHTS___322 = 1,
    SCM_CREDENTIALS___322 = 2
} ;
enum __anonenum_606441560___322 {
    SHUT_RD___322 = 0,
    SHUT_WR___322 = 1,
    SHUT_RDWR___322 = 2
} ;
enum __anonenum_681669233___322 {
    IPPROTO_IP___322 = 0,
    IPPROTO_ICMP___322 = 1,
    IPPROTO_IGMP___322 = 2,
    IPPROTO_IPIP___322 = 4,
    IPPROTO_TCP___322 = 6,
    IPPROTO_EGP___322 = 8,
    IPPROTO_PUP___322 = 12,
    IPPROTO_UDP___322 = 17,
    IPPROTO_IDP___322 = 22,
    IPPROTO_TP___322 = 29,
    IPPROTO_DCCP___322 = 33,
    IPPROTO_IPV6___322 = 41,
    IPPROTO_RSVP___322 = 46,
    IPPROTO_GRE___322 = 47,
    IPPROTO_ESP___322 = 50,
    IPPROTO_AH___322 = 51,
    IPPROTO_MTP___322 = 92,
    IPPROTO_BEETPH___322 = 94,
    IPPROTO_ENCAP___322 = 98,
    IPPROTO_PIM___322 = 103,
    IPPROTO_COMP___322 = 108,
    IPPROTO_SCTP___322 = 132,
    IPPROTO_UDPLITE___322 = 136,
    IPPROTO_MPLS___322 = 137,
    IPPROTO_RAW___322 = 255,
    IPPROTO_MAX___322 = 256
} ;
enum __anonenum_218739988___322 {
    IPPROTO_HOPOPTS___322 = 0,
    IPPROTO_ROUTING___322 = 43,
    IPPROTO_FRAGMENT___322 = 44,
    IPPROTO_ICMPV6___322 = 58,
    IPPROTO_NONE___322 = 59,
    IPPROTO_DSTOPTS___322 = 60,
    IPPROTO_MH___322 = 135
} ;
enum __anonenum_662268580___322 {
    IPPORT_ECHO___322 = 7,
    IPPORT_DISCARD___322 = 9,
    IPPORT_SYSTAT___322 = 11,
    IPPORT_DAYTIME___322 = 13,
    IPPORT_NETSTAT___322 = 15,
    IPPORT_FTP___322 = 21,
    IPPORT_TELNET___322 = 23,
    IPPORT_SMTP___322 = 25,
    IPPORT_TIMESERVER___322 = 37,
    IPPORT_NAMESERVER___322 = 42,
    IPPORT_WHOIS___322 = 43,
    IPPORT_MTP___322 = 57,
    IPPORT_TFTP___322 = 69,
    IPPORT_RJE___322 = 77,
    IPPORT_FINGER___322 = 79,
    IPPORT_TTYLINK___322 = 87,
    IPPORT_SUPDUP___322 = 95,
    IPPORT_EXECSERVER___322 = 512,
    IPPORT_LOGINSERVER___322 = 513,
    IPPORT_CMDSERVER___322 = 514,
    IPPORT_EFSSERVER___322 = 520,
    IPPORT_BIFFUDP___322 = 512,
    IPPORT_WHOSERVER___322 = 513,
    IPPORT_ROUTESERVER___322 = 520,
    IPPORT_RESERVED___322 = 1024,
    IPPORT_USERRESERVED___322 = 5000
} ;
enum __anonenum_788308992___322 {
    TCP_ESTABLISHED___322 = 1,
    TCP_SYN_SENT___322 = 2,
    TCP_SYN_RECV___322 = 3,
    TCP_FIN_WAIT1___322 = 4,
    TCP_FIN_WAIT2___322 = 5,
    TCP_TIME_WAIT___322 = 6,
    TCP_CLOSE___322 = 7,
    TCP_CLOSE_WAIT___322 = 8,
    TCP_LAST_ACK___322 = 9,
    TCP_LISTEN___322 = 10,
    TCP_CLOSING___322 = 11
} ;
enum __anonenum_221125648___322 {
    TCP_NO_QUEUE___322 = 0,
    TCP_RECV_QUEUE___322 = 1,
    TCP_SEND_QUEUE___322 = 2,
    TCP_QUEUES_NR___322 = 3
} ;
enum __anonenum_34415463___322 {
    PTHREAD_CREATE_JOINABLE___322 = 0,
    PTHREAD_CREATE_DETACHED___322 = 1
} ;
enum __anonenum_303612439___322 {
    PTHREAD_MUTEX_TIMED_NP___322 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___322 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___322 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___322 = 3,
    PTHREAD_MUTEX_NORMAL___322 = 0,
    PTHREAD_MUTEX_RECURSIVE___322 = 1,
    PTHREAD_MUTEX_ERRORCHECK___322 = 2,
    PTHREAD_MUTEX_DEFAULT___322 = 0,
    PTHREAD_MUTEX_FAST_NP___322 = 0
} ;
enum __anonenum_931900394___322 {
    PTHREAD_MUTEX_STALLED___322 = 0,
    PTHREAD_MUTEX_STALLED_NP___322 = 0,
    PTHREAD_MUTEX_ROBUST___322 = 1,
    PTHREAD_MUTEX_ROBUST_NP___322 = 1
} ;
enum __anonenum_205214487___322 {
    PTHREAD_PRIO_NONE___322 = 0,
    PTHREAD_PRIO_INHERIT___322 = 1,
    PTHREAD_PRIO_PROTECT___322 = 2
} ;
enum __anonenum_25043950___322 {
    PTHREAD_RWLOCK_PREFER_READER_NP___322 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___322 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___322 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___322 = 0
} ;
enum __anonenum_436439511___322 {
    PTHREAD_INHERIT_SCHED___322 = 0,
    PTHREAD_EXPLICIT_SCHED___322 = 1
} ;
enum __anonenum_998661166___322 {
    PTHREAD_SCOPE_SYSTEM___322 = 0,
    PTHREAD_SCOPE_PROCESS___322 = 1
} ;
enum __anonenum_146137331___322 {
    PTHREAD_PROCESS_PRIVATE___322 = 0,
    PTHREAD_PROCESS_SHARED___322 = 1
} ;
enum __anonenum_53396917___322 {
    PTHREAD_CANCEL_ENABLE___322 = 0,
    PTHREAD_CANCEL_DISABLE___322 = 1
} ;
enum __anonenum_904563783___322 {
    PTHREAD_CANCEL_DEFERRED___322 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___322 = 1
} ;
enum __anonenum_672052974___322 {
    SSL_CT_VALIDATION_PERMISSIVE___322 = 0,
    SSL_CT_VALIDATION_STRICT___322 = 1
} ;
enum __anonenum_437032235___323 {
    _PC_LINK_MAX___323 = 0,
    _PC_MAX_CANON___323 = 1,
    _PC_MAX_INPUT___323 = 2,
    _PC_NAME_MAX___323 = 3,
    _PC_PATH_MAX___323 = 4,
    _PC_PIPE_BUF___323 = 5,
    _PC_CHOWN_RESTRICTED___323 = 6,
    _PC_NO_TRUNC___323 = 7,
    _PC_VDISABLE___323 = 8,
    _PC_SYNC_IO___323 = 9,
    _PC_ASYNC_IO___323 = 10,
    _PC_PRIO_IO___323 = 11,
    _PC_SOCK_MAXBUF___323 = 12,
    _PC_FILESIZEBITS___323 = 13,
    _PC_REC_INCR_XFER_SIZE___323 = 14,
    _PC_REC_MAX_XFER_SIZE___323 = 15,
    _PC_REC_MIN_XFER_SIZE___323 = 16,
    _PC_REC_XFER_ALIGN___323 = 17,
    _PC_ALLOC_SIZE_MIN___323 = 18,
    _PC_SYMLINK_MAX___323 = 19,
    _PC_2_SYMLINKS___323 = 20
} ;
enum __anonenum_315186338___323 {
    _SC_ARG_MAX___323 = 0,
    _SC_CHILD_MAX___323 = 1,
    _SC_CLK_TCK___323 = 2,
    _SC_NGROUPS_MAX___323 = 3,
    _SC_OPEN_MAX___323 = 4,
    _SC_STREAM_MAX___323 = 5,
    _SC_TZNAME_MAX___323 = 6,
    _SC_JOB_CONTROL___323 = 7,
    _SC_SAVED_IDS___323 = 8,
    _SC_REALTIME_SIGNALS___323 = 9,
    _SC_PRIORITY_SCHEDULING___323 = 10,
    _SC_TIMERS___323 = 11,
    _SC_ASYNCHRONOUS_IO___323 = 12,
    _SC_PRIORITIZED_IO___323 = 13,
    _SC_SYNCHRONIZED_IO___323 = 14,
    _SC_FSYNC___323 = 15,
    _SC_MAPPED_FILES___323 = 16,
    _SC_MEMLOCK___323 = 17,
    _SC_MEMLOCK_RANGE___323 = 18,
    _SC_MEMORY_PROTECTION___323 = 19,
    _SC_MESSAGE_PASSING___323 = 20,
    _SC_SEMAPHORES___323 = 21,
    _SC_SHARED_MEMORY_OBJECTS___323 = 22,
    _SC_AIO_LISTIO_MAX___323 = 23,
    _SC_AIO_MAX___323 = 24,
    _SC_AIO_PRIO_DELTA_MAX___323 = 25,
    _SC_DELAYTIMER_MAX___323 = 26,
    _SC_MQ_OPEN_MAX___323 = 27,
    _SC_MQ_PRIO_MAX___323 = 28,
    _SC_VERSION___323 = 29,
    _SC_PAGESIZE___323 = 30,
    _SC_RTSIG_MAX___323 = 31,
    _SC_SEM_NSEMS_MAX___323 = 32,
    _SC_SEM_VALUE_MAX___323 = 33,
    _SC_SIGQUEUE_MAX___323 = 34,
    _SC_TIMER_MAX___323 = 35,
    _SC_BC_BASE_MAX___323 = 36,
    _SC_BC_DIM_MAX___323 = 37,
    _SC_BC_SCALE_MAX___323 = 38,
    _SC_BC_STRING_MAX___323 = 39,
    _SC_COLL_WEIGHTS_MAX___323 = 40,
    _SC_EQUIV_CLASS_MAX___323 = 41,
    _SC_EXPR_NEST_MAX___323 = 42,
    _SC_LINE_MAX___323 = 43,
    _SC_RE_DUP_MAX___323 = 44,
    _SC_CHARCLASS_NAME_MAX___323 = 45,
    _SC_2_VERSION___323 = 46,
    _SC_2_C_BIND___323 = 47,
    _SC_2_C_DEV___323 = 48,
    _SC_2_FORT_DEV___323 = 49,
    _SC_2_FORT_RUN___323 = 50,
    _SC_2_SW_DEV___323 = 51,
    _SC_2_LOCALEDEF___323 = 52,
    _SC_PII___323 = 53,
    _SC_PII_XTI___323 = 54,
    _SC_PII_SOCKET___323 = 55,
    _SC_PII_INTERNET___323 = 56,
    _SC_PII_OSI___323 = 57,
    _SC_POLL___323 = 58,
    _SC_SELECT___323 = 59,
    _SC_UIO_MAXIOV___323 = 60,
    _SC_IOV_MAX___323 = 60,
    _SC_PII_INTERNET_STREAM___323 = 61,
    _SC_PII_INTERNET_DGRAM___323 = 62,
    _SC_PII_OSI_COTS___323 = 63,
    _SC_PII_OSI_CLTS___323 = 64,
    _SC_PII_OSI_M___323 = 65,
    _SC_T_IOV_MAX___323 = 66,
    _SC_THREADS___323 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___323 = 68,
    _SC_GETGR_R_SIZE_MAX___323 = 69,
    _SC_GETPW_R_SIZE_MAX___323 = 70,
    _SC_LOGIN_NAME_MAX___323 = 71,
    _SC_TTY_NAME_MAX___323 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___323 = 73,
    _SC_THREAD_KEYS_MAX___323 = 74,
    _SC_THREAD_STACK_MIN___323 = 75,
    _SC_THREAD_THREADS_MAX___323 = 76,
    _SC_THREAD_ATTR_STACKADDR___323 = 77,
    _SC_THREAD_ATTR_STACKSIZE___323 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___323 = 79,
    _SC_THREAD_PRIO_INHERIT___323 = 80,
    _SC_THREAD_PRIO_PROTECT___323 = 81,
    _SC_THREAD_PROCESS_SHARED___323 = 82,
    _SC_NPROCESSORS_CONF___323 = 83,
    _SC_NPROCESSORS_ONLN___323 = 84,
    _SC_PHYS_PAGES___323 = 85,
    _SC_AVPHYS_PAGES___323 = 86,
    _SC_ATEXIT_MAX___323 = 87,
    _SC_PASS_MAX___323 = 88,
    _SC_XOPEN_VERSION___323 = 89,
    _SC_XOPEN_XCU_VERSION___323 = 90,
    _SC_XOPEN_UNIX___323 = 91,
    _SC_XOPEN_CRYPT___323 = 92,
    _SC_XOPEN_ENH_I18N___323 = 93,
    _SC_XOPEN_SHM___323 = 94,
    _SC_2_CHAR_TERM___323 = 95,
    _SC_2_C_VERSION___323 = 96,
    _SC_2_UPE___323 = 97,
    _SC_XOPEN_XPG2___323 = 98,
    _SC_XOPEN_XPG3___323 = 99,
    _SC_XOPEN_XPG4___323 = 100,
    _SC_CHAR_BIT___323 = 101,
    _SC_CHAR_MAX___323 = 102,
    _SC_CHAR_MIN___323 = 103,
    _SC_INT_MAX___323 = 104,
    _SC_INT_MIN___323 = 105,
    _SC_LONG_BIT___323 = 106,
    _SC_WORD_BIT___323 = 107,
    _SC_MB_LEN_MAX___323 = 108,
    _SC_NZERO___323 = 109,
    _SC_SSIZE_MAX___323 = 110,
    _SC_SCHAR_MAX___323 = 111,
    _SC_SCHAR_MIN___323 = 112,
    _SC_SHRT_MAX___323 = 113,
    _SC_SHRT_MIN___323 = 114,
    _SC_UCHAR_MAX___323 = 115,
    _SC_UINT_MAX___323 = 116,
    _SC_ULONG_MAX___323 = 117,
    _SC_USHRT_MAX___323 = 118,
    _SC_NL_ARGMAX___323 = 119,
    _SC_NL_LANGMAX___323 = 120,
    _SC_NL_MSGMAX___323 = 121,
    _SC_NL_NMAX___323 = 122,
    _SC_NL_SETMAX___323 = 123,
    _SC_NL_TEXTMAX___323 = 124,
    _SC_XBS5_ILP32_OFF32___323 = 125,
    _SC_XBS5_ILP32_OFFBIG___323 = 126,
    _SC_XBS5_LP64_OFF64___323 = 127,
    _SC_XBS5_LPBIG_OFFBIG___323 = 128,
    _SC_XOPEN_LEGACY___323 = 129,
    _SC_XOPEN_REALTIME___323 = 130,
    _SC_XOPEN_REALTIME_THREADS___323 = 131,
    _SC_ADVISORY_INFO___323 = 132,
    _SC_BARRIERS___323 = 133,
    _SC_BASE___323 = 134,
    _SC_C_LANG_SUPPORT___323 = 135,
    _SC_C_LANG_SUPPORT_R___323 = 136,
    _SC_CLOCK_SELECTION___323 = 137,
    _SC_CPUTIME___323 = 138,
    _SC_THREAD_CPUTIME___323 = 139,
    _SC_DEVICE_IO___323 = 140,
    _SC_DEVICE_SPECIFIC___323 = 141,
    _SC_DEVICE_SPECIFIC_R___323 = 142,
    _SC_FD_MGMT___323 = 143,
    _SC_FIFO___323 = 144,
    _SC_PIPE___323 = 145,
    _SC_FILE_ATTRIBUTES___323 = 146,
    _SC_FILE_LOCKING___323 = 147,
    _SC_FILE_SYSTEM___323 = 148,
    _SC_MONOTONIC_CLOCK___323 = 149,
    _SC_MULTI_PROCESS___323 = 150,
    _SC_SINGLE_PROCESS___323 = 151,
    _SC_NETWORKING___323 = 152,
    _SC_READER_WRITER_LOCKS___323 = 153,
    _SC_SPIN_LOCKS___323 = 154,
    _SC_REGEXP___323 = 155,
    _SC_REGEX_VERSION___323 = 156,
    _SC_SHELL___323 = 157,
    _SC_SIGNALS___323 = 158,
    _SC_SPAWN___323 = 159,
    _SC_SPORADIC_SERVER___323 = 160,
    _SC_THREAD_SPORADIC_SERVER___323 = 161,
    _SC_SYSTEM_DATABASE___323 = 162,
    _SC_SYSTEM_DATABASE_R___323 = 163,
    _SC_TIMEOUTS___323 = 164,
    _SC_TYPED_MEMORY_OBJECTS___323 = 165,
    _SC_USER_GROUPS___323 = 166,
    _SC_USER_GROUPS_R___323 = 167,
    _SC_2_PBS___323 = 168,
    _SC_2_PBS_ACCOUNTING___323 = 169,
    _SC_2_PBS_LOCATE___323 = 170,
    _SC_2_PBS_MESSAGE___323 = 171,
    _SC_2_PBS_TRACK___323 = 172,
    _SC_SYMLOOP_MAX___323 = 173,
    _SC_STREAMS___323 = 174,
    _SC_2_PBS_CHECKPOINT___323 = 175,
    _SC_V6_ILP32_OFF32___323 = 176,
    _SC_V6_ILP32_OFFBIG___323 = 177,
    _SC_V6_LP64_OFF64___323 = 178,
    _SC_V6_LPBIG_OFFBIG___323 = 179,
    _SC_HOST_NAME_MAX___323 = 180,
    _SC_TRACE___323 = 181,
    _SC_TRACE_EVENT_FILTER___323 = 182,
    _SC_TRACE_INHERIT___323 = 183,
    _SC_TRACE_LOG___323 = 184,
    _SC_LEVEL1_ICACHE_SIZE___323 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___323 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___323 = 187,
    _SC_LEVEL1_DCACHE_SIZE___323 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___323 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___323 = 190,
    _SC_LEVEL2_CACHE_SIZE___323 = 191,
    _SC_LEVEL2_CACHE_ASSOC___323 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___323 = 193,
    _SC_LEVEL3_CACHE_SIZE___323 = 194,
    _SC_LEVEL3_CACHE_ASSOC___323 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___323 = 196,
    _SC_LEVEL4_CACHE_SIZE___323 = 197,
    _SC_LEVEL4_CACHE_ASSOC___323 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___323 = 199,
    _SC_IPV6___323 = 235,
    _SC_RAW_SOCKETS___323 = 236,
    _SC_V7_ILP32_OFF32___323 = 237,
    _SC_V7_ILP32_OFFBIG___323 = 238,
    _SC_V7_LP64_OFF64___323 = 239,
    _SC_V7_LPBIG_OFFBIG___323 = 240,
    _SC_SS_REPL_MAX___323 = 241,
    _SC_TRACE_EVENT_NAME_MAX___323 = 242,
    _SC_TRACE_NAME_MAX___323 = 243,
    _SC_TRACE_SYS_MAX___323 = 244,
    _SC_TRACE_USER_EVENT_MAX___323 = 245,
    _SC_XOPEN_STREAMS___323 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___323 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___323 = 248
} ;
enum __anonenum_875524036___323 {
    _CS_PATH___323 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___323 = 1,
    _CS_GNU_LIBC_VERSION___323 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___323 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___323 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___323 = 5,
    _CS_LFS_CFLAGS___323 = 1000,
    _CS_LFS_LDFLAGS___323 = 1001,
    _CS_LFS_LIBS___323 = 1002,
    _CS_LFS_LINTFLAGS___323 = 1003,
    _CS_LFS64_CFLAGS___323 = 1004,
    _CS_LFS64_LDFLAGS___323 = 1005,
    _CS_LFS64_LIBS___323 = 1006,
    _CS_LFS64_LINTFLAGS___323 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___323 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___323 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___323 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___323 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___323 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___323 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___323 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___323 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___323 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___323 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___323 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___323 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___323 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___323 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___323 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___323 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___323 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___323 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___323 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___323 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___323 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___323 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___323 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___323 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___323 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___323 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___323 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___323 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___323 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___323 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___323 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___323 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___323 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___323 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___323 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___323 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___323 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___323 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___323 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___323 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___323 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___323 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___323 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___323 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___323 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___323 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___323 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___323 = 1147,
    _CS_V6_ENV___323 = 1148,
    _CS_V7_ENV___323 = 1149
} ;
enum __anonenum_513775621___323 {
    DT_UNKNOWN___323 = 0,
    DT_FIFO___323 = 1,
    DT_CHR___323 = 2,
    DT_DIR___323 = 4,
    DT_BLK___323 = 6,
    DT_REG___323 = 8,
    DT_LNK___323 = 10,
    DT_SOCK___323 = 12,
    DT_WHT___323 = 14
} ;
enum __anonenum_77002343___323 {
    SI_ASYNCNL___323 = -60,
    SI_TKILL___323 = -6,
    SI_SIGIO___323 = -5,
    SI_ASYNCIO___323 = -4,
    SI_MESGQ___323 = -3,
    SI_TIMER___323 = -2,
    SI_QUEUE___323 = -1,
    SI_USER___323 = 0,
    SI_KERNEL___323 = 128
} ;
enum __anonenum_131038172___323 {
    ILL_ILLOPC___323 = 1,
    ILL_ILLOPN___323 = 2,
    ILL_ILLADR___323 = 3,
    ILL_ILLTRP___323 = 4,
    ILL_PRVOPC___323 = 5,
    ILL_PRVREG___323 = 6,
    ILL_COPROC___323 = 7,
    ILL_BADSTK___323 = 8
} ;
enum __anonenum_452038093___323 {
    FPE_INTDIV___323 = 1,
    FPE_INTOVF___323 = 2,
    FPE_FLTDIV___323 = 3,
    FPE_FLTOVF___323 = 4,
    FPE_FLTUND___323 = 5,
    FPE_FLTRES___323 = 6,
    FPE_FLTINV___323 = 7,
    FPE_FLTSUB___323 = 8
} ;
enum __anonenum_30976155___323 {
    SEGV_MAPERR___323 = 1,
    SEGV_ACCERR___323 = 2,
    SEGV_BNDERR___323 = 3,
    SEGV_PKUERR___323 = 4
} ;
enum __anonenum_1036286214___323 {
    BUS_ADRALN___323 = 1,
    BUS_ADRERR___323 = 2,
    BUS_OBJERR___323 = 3,
    BUS_MCEERR_AR___323 = 4,
    BUS_MCEERR_AO___323 = 5
} ;
enum __anonenum_493465559___323 {
    TRAP_BRKPT___323 = 1,
    TRAP_TRACE___323 = 2
} ;
enum __anonenum_23175539___323 {
    CLD_EXITED___323 = 1,
    CLD_KILLED___323 = 2,
    CLD_DUMPED___323 = 3,
    CLD_TRAPPED___323 = 4,
    CLD_STOPPED___323 = 5,
    CLD_CONTINUED___323 = 6
} ;
enum __anonenum_111643124___323 {
    POLL_IN___323 = 1,
    POLL_OUT___323 = 2,
    POLL_MSG___323 = 3,
    POLL_ERR___323 = 4,
    POLL_PRI___323 = 5,
    POLL_HUP___323 = 6
} ;
enum __anonenum_852341087___323 {
    SIGEV_SIGNAL___323 = 0,
    SIGEV_NONE___323 = 1,
    SIGEV_THREAD___323 = 2,
    SIGEV_THREAD_ID___323 = 4
} ;
enum __anonenum_451154152___323 {
    REG_R8___323 = 0,
    REG_R9___323 = 1,
    REG_R10___323 = 2,
    REG_R11___323 = 3,
    REG_R12___323 = 4,
    REG_R13___323 = 5,
    REG_R14___323 = 6,
    REG_R15___323 = 7,
    REG_RDI___323 = 8,
    REG_RSI___323 = 9,
    REG_RBP___323 = 10,
    REG_RBX___323 = 11,
    REG_RDX___323 = 12,
    REG_RAX___323 = 13,
    REG_RCX___323 = 14,
    REG_RSP___323 = 15,
    REG_RIP___323 = 16,
    REG_EFL___323 = 17,
    REG_CSGSFS___323 = 18,
    REG_ERR___323 = 19,
    REG_TRAPNO___323 = 20,
    REG_OLDMASK___323 = 21,
    REG_CR2___323 = 22
} ;
enum __anonenum_57186863___323 {
    SS_ONSTACK___323 = 1,
    SS_DISABLE___323 = 2
} ;
enum __anonenum_83571709___323 {
    MSG_OOB___323 = 1,
    MSG_PEEK___323 = 2,
    MSG_DONTROUTE___323 = 4,
    MSG_TRYHARD___323 = 4,
    MSG_CTRUNC___323 = 8,
    MSG_PROXY___323 = 16,
    MSG_TRUNC___323 = 32,
    MSG_DONTWAIT___323 = 64,
    MSG_EOR___323 = 128,
    MSG_WAITALL___323 = 256,
    MSG_FIN___323 = 512,
    MSG_SYN___323 = 1024,
    MSG_CONFIRM___323 = 2048,
    MSG_RST___323 = 4096,
    MSG_ERRQUEUE___323 = 8192,
    MSG_NOSIGNAL___323 = 16384,
    MSG_MORE___323 = 32768,
    MSG_WAITFORONE___323 = 65536,
    MSG_BATCH___323 = 262144,
    MSG_ZEROCOPY___323 = 67108864,
    MSG_FASTOPEN___323 = 536870912,
    MSG_CMSG_CLOEXEC___323 = 1073741824
} ;
enum __anonenum_617082774___323 {
    SCM_RIGHTS___323 = 1,
    SCM_CREDENTIALS___323 = 2
} ;
enum __anonenum_606441560___323 {
    SHUT_RD___323 = 0,
    SHUT_WR___323 = 1,
    SHUT_RDWR___323 = 2
} ;
enum __anonenum_681669233___323 {
    IPPROTO_IP___323 = 0,
    IPPROTO_ICMP___323 = 1,
    IPPROTO_IGMP___323 = 2,
    IPPROTO_IPIP___323 = 4,
    IPPROTO_TCP___323 = 6,
    IPPROTO_EGP___323 = 8,
    IPPROTO_PUP___323 = 12,
    IPPROTO_UDP___323 = 17,
    IPPROTO_IDP___323 = 22,
    IPPROTO_TP___323 = 29,
    IPPROTO_DCCP___323 = 33,
    IPPROTO_IPV6___323 = 41,
    IPPROTO_RSVP___323 = 46,
    IPPROTO_GRE___323 = 47,
    IPPROTO_ESP___323 = 50,
    IPPROTO_AH___323 = 51,
    IPPROTO_MTP___323 = 92,
    IPPROTO_BEETPH___323 = 94,
    IPPROTO_ENCAP___323 = 98,
    IPPROTO_PIM___323 = 103,
    IPPROTO_COMP___323 = 108,
    IPPROTO_SCTP___323 = 132,
    IPPROTO_UDPLITE___323 = 136,
    IPPROTO_MPLS___323 = 137,
    IPPROTO_RAW___323 = 255,
    IPPROTO_MAX___323 = 256
} ;
enum __anonenum_218739988___323 {
    IPPROTO_HOPOPTS___323 = 0,
    IPPROTO_ROUTING___323 = 43,
    IPPROTO_FRAGMENT___323 = 44,
    IPPROTO_ICMPV6___323 = 58,
    IPPROTO_NONE___323 = 59,
    IPPROTO_DSTOPTS___323 = 60,
    IPPROTO_MH___323 = 135
} ;
enum __anonenum_662268580___323 {
    IPPORT_ECHO___323 = 7,
    IPPORT_DISCARD___323 = 9,
    IPPORT_SYSTAT___323 = 11,
    IPPORT_DAYTIME___323 = 13,
    IPPORT_NETSTAT___323 = 15,
    IPPORT_FTP___323 = 21,
    IPPORT_TELNET___323 = 23,
    IPPORT_SMTP___323 = 25,
    IPPORT_TIMESERVER___323 = 37,
    IPPORT_NAMESERVER___323 = 42,
    IPPORT_WHOIS___323 = 43,
    IPPORT_MTP___323 = 57,
    IPPORT_TFTP___323 = 69,
    IPPORT_RJE___323 = 77,
    IPPORT_FINGER___323 = 79,
    IPPORT_TTYLINK___323 = 87,
    IPPORT_SUPDUP___323 = 95,
    IPPORT_EXECSERVER___323 = 512,
    IPPORT_LOGINSERVER___323 = 513,
    IPPORT_CMDSERVER___323 = 514,
    IPPORT_EFSSERVER___323 = 520,
    IPPORT_BIFFUDP___323 = 512,
    IPPORT_WHOSERVER___323 = 513,
    IPPORT_ROUTESERVER___323 = 520,
    IPPORT_RESERVED___323 = 1024,
    IPPORT_USERRESERVED___323 = 5000
} ;
enum __anonenum_788308992___323 {
    TCP_ESTABLISHED___323 = 1,
    TCP_SYN_SENT___323 = 2,
    TCP_SYN_RECV___323 = 3,
    TCP_FIN_WAIT1___323 = 4,
    TCP_FIN_WAIT2___323 = 5,
    TCP_TIME_WAIT___323 = 6,
    TCP_CLOSE___323 = 7,
    TCP_CLOSE_WAIT___323 = 8,
    TCP_LAST_ACK___323 = 9,
    TCP_LISTEN___323 = 10,
    TCP_CLOSING___323 = 11
} ;
enum __anonenum_221125648___323 {
    TCP_NO_QUEUE___323 = 0,
    TCP_RECV_QUEUE___323 = 1,
    TCP_SEND_QUEUE___323 = 2,
    TCP_QUEUES_NR___323 = 3
} ;
enum __anonenum_34415463___323 {
    PTHREAD_CREATE_JOINABLE___323 = 0,
    PTHREAD_CREATE_DETACHED___323 = 1
} ;
enum __anonenum_303612439___323 {
    PTHREAD_MUTEX_TIMED_NP___323 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___323 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___323 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___323 = 3,
    PTHREAD_MUTEX_NORMAL___323 = 0,
    PTHREAD_MUTEX_RECURSIVE___323 = 1,
    PTHREAD_MUTEX_ERRORCHECK___323 = 2,
    PTHREAD_MUTEX_DEFAULT___323 = 0,
    PTHREAD_MUTEX_FAST_NP___323 = 0
} ;
enum __anonenum_931900394___323 {
    PTHREAD_MUTEX_STALLED___323 = 0,
    PTHREAD_MUTEX_STALLED_NP___323 = 0,
    PTHREAD_MUTEX_ROBUST___323 = 1,
    PTHREAD_MUTEX_ROBUST_NP___323 = 1
} ;
enum __anonenum_205214487___323 {
    PTHREAD_PRIO_NONE___323 = 0,
    PTHREAD_PRIO_INHERIT___323 = 1,
    PTHREAD_PRIO_PROTECT___323 = 2
} ;
enum __anonenum_25043950___323 {
    PTHREAD_RWLOCK_PREFER_READER_NP___323 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___323 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___323 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___323 = 0
} ;
enum __anonenum_436439511___323 {
    PTHREAD_INHERIT_SCHED___323 = 0,
    PTHREAD_EXPLICIT_SCHED___323 = 1
} ;
enum __anonenum_998661166___323 {
    PTHREAD_SCOPE_SYSTEM___323 = 0,
    PTHREAD_SCOPE_PROCESS___323 = 1
} ;
enum __anonenum_146137331___323 {
    PTHREAD_PROCESS_PRIVATE___323 = 0,
    PTHREAD_PROCESS_SHARED___323 = 1
} ;
enum __anonenum_53396917___323 {
    PTHREAD_CANCEL_ENABLE___323 = 0,
    PTHREAD_CANCEL_DISABLE___323 = 1
} ;
enum __anonenum_904563783___323 {
    PTHREAD_CANCEL_DEFERRED___323 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___323 = 1
} ;
enum __anonenum_672052974___323 {
    SSL_CT_VALIDATION_PERMISSIVE___323 = 0,
    SSL_CT_VALIDATION_STRICT___323 = 1
} ;
enum __anonenum_groups_87157389 {
    SHORTLOG_GROUP_AUTHOR = 1,
    SHORTLOG_GROUP_COMMITTER = 2,
    SHORTLOG_GROUP_TRAILER = 4
} ;
struct shortlog {
   struct string_list list ;
   int summary ;
   int wrap_lines ;
   int sort_by_number ;
   int wrap ;
   int in1 ;
   int in2 ;
   int user_format ;
   int abbrev ;
   enum __anonenum_groups_87157389 groups ;
   struct string_list trailers ;
   int email ;
   struct string_list mailmap ;
   FILE *file ;
};
enum __anonenum_34023289___33 {
    REMOTE_UNCONFIGURED___33 = 0,
    REMOTE_CONFIG___33 = 1,
    REMOTE_REMOTES___33 = 2,
    REMOTE_BRANCHES___33 = 3
} ;
struct line_opt_callback_data {
   struct rev_info *rev ;
   char const   *prefix ;
   struct string_list args ;
};
enum cover_setting {
    COVER_UNSET = 0,
    COVER_OFF = 1,
    COVER_ON = 2,
    COVER_AUTO = 3
} ;
enum thread_level {
    THREAD_UNSET = 0,
    THREAD_SHALLOW = 1,
    THREAD_DEEP = 2
} ;
enum cover_from_description {
    COVER_FROM_NONE = 0,
    COVER_FROM_MESSAGE = 1,
    COVER_FROM_SUBJECT = 2,
    COVER_FROM_AUTO = 3
} ;
enum auto_base_setting {
    AUTO_BASE_NEVER = 0,
    AUTO_BASE_ALWAYS = 1,
    AUTO_BASE_WHEN_ABLE = 2
} ;
struct base_tree_info {
   struct object_id base_commit ;
   int nr_patch_id ;
   int alloc_patch_id ;
   struct object_id *patch_id ;
};
struct commit_base {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   int **slab ;
};
enum __anonenum_437032235___324 {
    _PC_LINK_MAX___324 = 0,
    _PC_MAX_CANON___324 = 1,
    _PC_MAX_INPUT___324 = 2,
    _PC_NAME_MAX___324 = 3,
    _PC_PATH_MAX___324 = 4,
    _PC_PIPE_BUF___324 = 5,
    _PC_CHOWN_RESTRICTED___324 = 6,
    _PC_NO_TRUNC___324 = 7,
    _PC_VDISABLE___324 = 8,
    _PC_SYNC_IO___324 = 9,
    _PC_ASYNC_IO___324 = 10,
    _PC_PRIO_IO___324 = 11,
    _PC_SOCK_MAXBUF___324 = 12,
    _PC_FILESIZEBITS___324 = 13,
    _PC_REC_INCR_XFER_SIZE___324 = 14,
    _PC_REC_MAX_XFER_SIZE___324 = 15,
    _PC_REC_MIN_XFER_SIZE___324 = 16,
    _PC_REC_XFER_ALIGN___324 = 17,
    _PC_ALLOC_SIZE_MIN___324 = 18,
    _PC_SYMLINK_MAX___324 = 19,
    _PC_2_SYMLINKS___324 = 20
} ;
enum __anonenum_315186338___324 {
    _SC_ARG_MAX___324 = 0,
    _SC_CHILD_MAX___324 = 1,
    _SC_CLK_TCK___324 = 2,
    _SC_NGROUPS_MAX___324 = 3,
    _SC_OPEN_MAX___324 = 4,
    _SC_STREAM_MAX___324 = 5,
    _SC_TZNAME_MAX___324 = 6,
    _SC_JOB_CONTROL___324 = 7,
    _SC_SAVED_IDS___324 = 8,
    _SC_REALTIME_SIGNALS___324 = 9,
    _SC_PRIORITY_SCHEDULING___324 = 10,
    _SC_TIMERS___324 = 11,
    _SC_ASYNCHRONOUS_IO___324 = 12,
    _SC_PRIORITIZED_IO___324 = 13,
    _SC_SYNCHRONIZED_IO___324 = 14,
    _SC_FSYNC___324 = 15,
    _SC_MAPPED_FILES___324 = 16,
    _SC_MEMLOCK___324 = 17,
    _SC_MEMLOCK_RANGE___324 = 18,
    _SC_MEMORY_PROTECTION___324 = 19,
    _SC_MESSAGE_PASSING___324 = 20,
    _SC_SEMAPHORES___324 = 21,
    _SC_SHARED_MEMORY_OBJECTS___324 = 22,
    _SC_AIO_LISTIO_MAX___324 = 23,
    _SC_AIO_MAX___324 = 24,
    _SC_AIO_PRIO_DELTA_MAX___324 = 25,
    _SC_DELAYTIMER_MAX___324 = 26,
    _SC_MQ_OPEN_MAX___324 = 27,
    _SC_MQ_PRIO_MAX___324 = 28,
    _SC_VERSION___324 = 29,
    _SC_PAGESIZE___324 = 30,
    _SC_RTSIG_MAX___324 = 31,
    _SC_SEM_NSEMS_MAX___324 = 32,
    _SC_SEM_VALUE_MAX___324 = 33,
    _SC_SIGQUEUE_MAX___324 = 34,
    _SC_TIMER_MAX___324 = 35,
    _SC_BC_BASE_MAX___324 = 36,
    _SC_BC_DIM_MAX___324 = 37,
    _SC_BC_SCALE_MAX___324 = 38,
    _SC_BC_STRING_MAX___324 = 39,
    _SC_COLL_WEIGHTS_MAX___324 = 40,
    _SC_EQUIV_CLASS_MAX___324 = 41,
    _SC_EXPR_NEST_MAX___324 = 42,
    _SC_LINE_MAX___324 = 43,
    _SC_RE_DUP_MAX___324 = 44,
    _SC_CHARCLASS_NAME_MAX___324 = 45,
    _SC_2_VERSION___324 = 46,
    _SC_2_C_BIND___324 = 47,
    _SC_2_C_DEV___324 = 48,
    _SC_2_FORT_DEV___324 = 49,
    _SC_2_FORT_RUN___324 = 50,
    _SC_2_SW_DEV___324 = 51,
    _SC_2_LOCALEDEF___324 = 52,
    _SC_PII___324 = 53,
    _SC_PII_XTI___324 = 54,
    _SC_PII_SOCKET___324 = 55,
    _SC_PII_INTERNET___324 = 56,
    _SC_PII_OSI___324 = 57,
    _SC_POLL___324 = 58,
    _SC_SELECT___324 = 59,
    _SC_UIO_MAXIOV___324 = 60,
    _SC_IOV_MAX___324 = 60,
    _SC_PII_INTERNET_STREAM___324 = 61,
    _SC_PII_INTERNET_DGRAM___324 = 62,
    _SC_PII_OSI_COTS___324 = 63,
    _SC_PII_OSI_CLTS___324 = 64,
    _SC_PII_OSI_M___324 = 65,
    _SC_T_IOV_MAX___324 = 66,
    _SC_THREADS___324 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___324 = 68,
    _SC_GETGR_R_SIZE_MAX___324 = 69,
    _SC_GETPW_R_SIZE_MAX___324 = 70,
    _SC_LOGIN_NAME_MAX___324 = 71,
    _SC_TTY_NAME_MAX___324 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___324 = 73,
    _SC_THREAD_KEYS_MAX___324 = 74,
    _SC_THREAD_STACK_MIN___324 = 75,
    _SC_THREAD_THREADS_MAX___324 = 76,
    _SC_THREAD_ATTR_STACKADDR___324 = 77,
    _SC_THREAD_ATTR_STACKSIZE___324 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___324 = 79,
    _SC_THREAD_PRIO_INHERIT___324 = 80,
    _SC_THREAD_PRIO_PROTECT___324 = 81,
    _SC_THREAD_PROCESS_SHARED___324 = 82,
    _SC_NPROCESSORS_CONF___324 = 83,
    _SC_NPROCESSORS_ONLN___324 = 84,
    _SC_PHYS_PAGES___324 = 85,
    _SC_AVPHYS_PAGES___324 = 86,
    _SC_ATEXIT_MAX___324 = 87,
    _SC_PASS_MAX___324 = 88,
    _SC_XOPEN_VERSION___324 = 89,
    _SC_XOPEN_XCU_VERSION___324 = 90,
    _SC_XOPEN_UNIX___324 = 91,
    _SC_XOPEN_CRYPT___324 = 92,
    _SC_XOPEN_ENH_I18N___324 = 93,
    _SC_XOPEN_SHM___324 = 94,
    _SC_2_CHAR_TERM___324 = 95,
    _SC_2_C_VERSION___324 = 96,
    _SC_2_UPE___324 = 97,
    _SC_XOPEN_XPG2___324 = 98,
    _SC_XOPEN_XPG3___324 = 99,
    _SC_XOPEN_XPG4___324 = 100,
    _SC_CHAR_BIT___324 = 101,
    _SC_CHAR_MAX___324 = 102,
    _SC_CHAR_MIN___324 = 103,
    _SC_INT_MAX___324 = 104,
    _SC_INT_MIN___324 = 105,
    _SC_LONG_BIT___324 = 106,
    _SC_WORD_BIT___324 = 107,
    _SC_MB_LEN_MAX___324 = 108,
    _SC_NZERO___324 = 109,
    _SC_SSIZE_MAX___324 = 110,
    _SC_SCHAR_MAX___324 = 111,
    _SC_SCHAR_MIN___324 = 112,
    _SC_SHRT_MAX___324 = 113,
    _SC_SHRT_MIN___324 = 114,
    _SC_UCHAR_MAX___324 = 115,
    _SC_UINT_MAX___324 = 116,
    _SC_ULONG_MAX___324 = 117,
    _SC_USHRT_MAX___324 = 118,
    _SC_NL_ARGMAX___324 = 119,
    _SC_NL_LANGMAX___324 = 120,
    _SC_NL_MSGMAX___324 = 121,
    _SC_NL_NMAX___324 = 122,
    _SC_NL_SETMAX___324 = 123,
    _SC_NL_TEXTMAX___324 = 124,
    _SC_XBS5_ILP32_OFF32___324 = 125,
    _SC_XBS5_ILP32_OFFBIG___324 = 126,
    _SC_XBS5_LP64_OFF64___324 = 127,
    _SC_XBS5_LPBIG_OFFBIG___324 = 128,
    _SC_XOPEN_LEGACY___324 = 129,
    _SC_XOPEN_REALTIME___324 = 130,
    _SC_XOPEN_REALTIME_THREADS___324 = 131,
    _SC_ADVISORY_INFO___324 = 132,
    _SC_BARRIERS___324 = 133,
    _SC_BASE___324 = 134,
    _SC_C_LANG_SUPPORT___324 = 135,
    _SC_C_LANG_SUPPORT_R___324 = 136,
    _SC_CLOCK_SELECTION___324 = 137,
    _SC_CPUTIME___324 = 138,
    _SC_THREAD_CPUTIME___324 = 139,
    _SC_DEVICE_IO___324 = 140,
    _SC_DEVICE_SPECIFIC___324 = 141,
    _SC_DEVICE_SPECIFIC_R___324 = 142,
    _SC_FD_MGMT___324 = 143,
    _SC_FIFO___324 = 144,
    _SC_PIPE___324 = 145,
    _SC_FILE_ATTRIBUTES___324 = 146,
    _SC_FILE_LOCKING___324 = 147,
    _SC_FILE_SYSTEM___324 = 148,
    _SC_MONOTONIC_CLOCK___324 = 149,
    _SC_MULTI_PROCESS___324 = 150,
    _SC_SINGLE_PROCESS___324 = 151,
    _SC_NETWORKING___324 = 152,
    _SC_READER_WRITER_LOCKS___324 = 153,
    _SC_SPIN_LOCKS___324 = 154,
    _SC_REGEXP___324 = 155,
    _SC_REGEX_VERSION___324 = 156,
    _SC_SHELL___324 = 157,
    _SC_SIGNALS___324 = 158,
    _SC_SPAWN___324 = 159,
    _SC_SPORADIC_SERVER___324 = 160,
    _SC_THREAD_SPORADIC_SERVER___324 = 161,
    _SC_SYSTEM_DATABASE___324 = 162,
    _SC_SYSTEM_DATABASE_R___324 = 163,
    _SC_TIMEOUTS___324 = 164,
    _SC_TYPED_MEMORY_OBJECTS___324 = 165,
    _SC_USER_GROUPS___324 = 166,
    _SC_USER_GROUPS_R___324 = 167,
    _SC_2_PBS___324 = 168,
    _SC_2_PBS_ACCOUNTING___324 = 169,
    _SC_2_PBS_LOCATE___324 = 170,
    _SC_2_PBS_MESSAGE___324 = 171,
    _SC_2_PBS_TRACK___324 = 172,
    _SC_SYMLOOP_MAX___324 = 173,
    _SC_STREAMS___324 = 174,
    _SC_2_PBS_CHECKPOINT___324 = 175,
    _SC_V6_ILP32_OFF32___324 = 176,
    _SC_V6_ILP32_OFFBIG___324 = 177,
    _SC_V6_LP64_OFF64___324 = 178,
    _SC_V6_LPBIG_OFFBIG___324 = 179,
    _SC_HOST_NAME_MAX___324 = 180,
    _SC_TRACE___324 = 181,
    _SC_TRACE_EVENT_FILTER___324 = 182,
    _SC_TRACE_INHERIT___324 = 183,
    _SC_TRACE_LOG___324 = 184,
    _SC_LEVEL1_ICACHE_SIZE___324 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___324 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___324 = 187,
    _SC_LEVEL1_DCACHE_SIZE___324 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___324 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___324 = 190,
    _SC_LEVEL2_CACHE_SIZE___324 = 191,
    _SC_LEVEL2_CACHE_ASSOC___324 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___324 = 193,
    _SC_LEVEL3_CACHE_SIZE___324 = 194,
    _SC_LEVEL3_CACHE_ASSOC___324 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___324 = 196,
    _SC_LEVEL4_CACHE_SIZE___324 = 197,
    _SC_LEVEL4_CACHE_ASSOC___324 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___324 = 199,
    _SC_IPV6___324 = 235,
    _SC_RAW_SOCKETS___324 = 236,
    _SC_V7_ILP32_OFF32___324 = 237,
    _SC_V7_ILP32_OFFBIG___324 = 238,
    _SC_V7_LP64_OFF64___324 = 239,
    _SC_V7_LPBIG_OFFBIG___324 = 240,
    _SC_SS_REPL_MAX___324 = 241,
    _SC_TRACE_EVENT_NAME_MAX___324 = 242,
    _SC_TRACE_NAME_MAX___324 = 243,
    _SC_TRACE_SYS_MAX___324 = 244,
    _SC_TRACE_USER_EVENT_MAX___324 = 245,
    _SC_XOPEN_STREAMS___324 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___324 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___324 = 248
} ;
enum __anonenum_875524036___324 {
    _CS_PATH___324 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___324 = 1,
    _CS_GNU_LIBC_VERSION___324 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___324 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___324 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___324 = 5,
    _CS_LFS_CFLAGS___324 = 1000,
    _CS_LFS_LDFLAGS___324 = 1001,
    _CS_LFS_LIBS___324 = 1002,
    _CS_LFS_LINTFLAGS___324 = 1003,
    _CS_LFS64_CFLAGS___324 = 1004,
    _CS_LFS64_LDFLAGS___324 = 1005,
    _CS_LFS64_LIBS___324 = 1006,
    _CS_LFS64_LINTFLAGS___324 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___324 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___324 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___324 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___324 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___324 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___324 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___324 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___324 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___324 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___324 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___324 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___324 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___324 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___324 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___324 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___324 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___324 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___324 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___324 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___324 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___324 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___324 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___324 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___324 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___324 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___324 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___324 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___324 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___324 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___324 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___324 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___324 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___324 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___324 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___324 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___324 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___324 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___324 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___324 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___324 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___324 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___324 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___324 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___324 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___324 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___324 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___324 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___324 = 1147,
    _CS_V6_ENV___324 = 1148,
    _CS_V7_ENV___324 = 1149
} ;
enum __anonenum_513775621___324 {
    DT_UNKNOWN___324 = 0,
    DT_FIFO___324 = 1,
    DT_CHR___324 = 2,
    DT_DIR___324 = 4,
    DT_BLK___324 = 6,
    DT_REG___324 = 8,
    DT_LNK___324 = 10,
    DT_SOCK___324 = 12,
    DT_WHT___324 = 14
} ;
enum __anonenum_77002343___324 {
    SI_ASYNCNL___324 = -60,
    SI_TKILL___324 = -6,
    SI_SIGIO___324 = -5,
    SI_ASYNCIO___324 = -4,
    SI_MESGQ___324 = -3,
    SI_TIMER___324 = -2,
    SI_QUEUE___324 = -1,
    SI_USER___324 = 0,
    SI_KERNEL___324 = 128
} ;
enum __anonenum_131038172___324 {
    ILL_ILLOPC___324 = 1,
    ILL_ILLOPN___324 = 2,
    ILL_ILLADR___324 = 3,
    ILL_ILLTRP___324 = 4,
    ILL_PRVOPC___324 = 5,
    ILL_PRVREG___324 = 6,
    ILL_COPROC___324 = 7,
    ILL_BADSTK___324 = 8
} ;
enum __anonenum_452038093___324 {
    FPE_INTDIV___324 = 1,
    FPE_INTOVF___324 = 2,
    FPE_FLTDIV___324 = 3,
    FPE_FLTOVF___324 = 4,
    FPE_FLTUND___324 = 5,
    FPE_FLTRES___324 = 6,
    FPE_FLTINV___324 = 7,
    FPE_FLTSUB___324 = 8
} ;
enum __anonenum_30976155___324 {
    SEGV_MAPERR___324 = 1,
    SEGV_ACCERR___324 = 2,
    SEGV_BNDERR___324 = 3,
    SEGV_PKUERR___324 = 4
} ;
enum __anonenum_1036286214___324 {
    BUS_ADRALN___324 = 1,
    BUS_ADRERR___324 = 2,
    BUS_OBJERR___324 = 3,
    BUS_MCEERR_AR___324 = 4,
    BUS_MCEERR_AO___324 = 5
} ;
enum __anonenum_493465559___324 {
    TRAP_BRKPT___324 = 1,
    TRAP_TRACE___324 = 2
} ;
enum __anonenum_23175539___324 {
    CLD_EXITED___324 = 1,
    CLD_KILLED___324 = 2,
    CLD_DUMPED___324 = 3,
    CLD_TRAPPED___324 = 4,
    CLD_STOPPED___324 = 5,
    CLD_CONTINUED___324 = 6
} ;
enum __anonenum_111643124___324 {
    POLL_IN___324 = 1,
    POLL_OUT___324 = 2,
    POLL_MSG___324 = 3,
    POLL_ERR___324 = 4,
    POLL_PRI___324 = 5,
    POLL_HUP___324 = 6
} ;
enum __anonenum_852341087___324 {
    SIGEV_SIGNAL___324 = 0,
    SIGEV_NONE___324 = 1,
    SIGEV_THREAD___324 = 2,
    SIGEV_THREAD_ID___324 = 4
} ;
enum __anonenum_451154152___324 {
    REG_R8___324 = 0,
    REG_R9___324 = 1,
    REG_R10___324 = 2,
    REG_R11___324 = 3,
    REG_R12___324 = 4,
    REG_R13___324 = 5,
    REG_R14___324 = 6,
    REG_R15___324 = 7,
    REG_RDI___324 = 8,
    REG_RSI___324 = 9,
    REG_RBP___324 = 10,
    REG_RBX___324 = 11,
    REG_RDX___324 = 12,
    REG_RAX___324 = 13,
    REG_RCX___324 = 14,
    REG_RSP___324 = 15,
    REG_RIP___324 = 16,
    REG_EFL___324 = 17,
    REG_CSGSFS___324 = 18,
    REG_ERR___324 = 19,
    REG_TRAPNO___324 = 20,
    REG_OLDMASK___324 = 21,
    REG_CR2___324 = 22
} ;
enum __anonenum_57186863___324 {
    SS_ONSTACK___324 = 1,
    SS_DISABLE___324 = 2
} ;
enum __anonenum_83571709___324 {
    MSG_OOB___324 = 1,
    MSG_PEEK___324 = 2,
    MSG_DONTROUTE___324 = 4,
    MSG_TRYHARD___324 = 4,
    MSG_CTRUNC___324 = 8,
    MSG_PROXY___324 = 16,
    MSG_TRUNC___324 = 32,
    MSG_DONTWAIT___324 = 64,
    MSG_EOR___324 = 128,
    MSG_WAITALL___324 = 256,
    MSG_FIN___324 = 512,
    MSG_SYN___324 = 1024,
    MSG_CONFIRM___324 = 2048,
    MSG_RST___324 = 4096,
    MSG_ERRQUEUE___324 = 8192,
    MSG_NOSIGNAL___324 = 16384,
    MSG_MORE___324 = 32768,
    MSG_WAITFORONE___324 = 65536,
    MSG_BATCH___324 = 262144,
    MSG_ZEROCOPY___324 = 67108864,
    MSG_FASTOPEN___324 = 536870912,
    MSG_CMSG_CLOEXEC___324 = 1073741824
} ;
enum __anonenum_617082774___324 {
    SCM_RIGHTS___324 = 1,
    SCM_CREDENTIALS___324 = 2
} ;
enum __anonenum_606441560___324 {
    SHUT_RD___324 = 0,
    SHUT_WR___324 = 1,
    SHUT_RDWR___324 = 2
} ;
enum __anonenum_681669233___324 {
    IPPROTO_IP___324 = 0,
    IPPROTO_ICMP___324 = 1,
    IPPROTO_IGMP___324 = 2,
    IPPROTO_IPIP___324 = 4,
    IPPROTO_TCP___324 = 6,
    IPPROTO_EGP___324 = 8,
    IPPROTO_PUP___324 = 12,
    IPPROTO_UDP___324 = 17,
    IPPROTO_IDP___324 = 22,
    IPPROTO_TP___324 = 29,
    IPPROTO_DCCP___324 = 33,
    IPPROTO_IPV6___324 = 41,
    IPPROTO_RSVP___324 = 46,
    IPPROTO_GRE___324 = 47,
    IPPROTO_ESP___324 = 50,
    IPPROTO_AH___324 = 51,
    IPPROTO_MTP___324 = 92,
    IPPROTO_BEETPH___324 = 94,
    IPPROTO_ENCAP___324 = 98,
    IPPROTO_PIM___324 = 103,
    IPPROTO_COMP___324 = 108,
    IPPROTO_SCTP___324 = 132,
    IPPROTO_UDPLITE___324 = 136,
    IPPROTO_MPLS___324 = 137,
    IPPROTO_RAW___324 = 255,
    IPPROTO_MAX___324 = 256
} ;
enum __anonenum_218739988___324 {
    IPPROTO_HOPOPTS___324 = 0,
    IPPROTO_ROUTING___324 = 43,
    IPPROTO_FRAGMENT___324 = 44,
    IPPROTO_ICMPV6___324 = 58,
    IPPROTO_NONE___324 = 59,
    IPPROTO_DSTOPTS___324 = 60,
    IPPROTO_MH___324 = 135
} ;
enum __anonenum_662268580___324 {
    IPPORT_ECHO___324 = 7,
    IPPORT_DISCARD___324 = 9,
    IPPORT_SYSTAT___324 = 11,
    IPPORT_DAYTIME___324 = 13,
    IPPORT_NETSTAT___324 = 15,
    IPPORT_FTP___324 = 21,
    IPPORT_TELNET___324 = 23,
    IPPORT_SMTP___324 = 25,
    IPPORT_TIMESERVER___324 = 37,
    IPPORT_NAMESERVER___324 = 42,
    IPPORT_WHOIS___324 = 43,
    IPPORT_MTP___324 = 57,
    IPPORT_TFTP___324 = 69,
    IPPORT_RJE___324 = 77,
    IPPORT_FINGER___324 = 79,
    IPPORT_TTYLINK___324 = 87,
    IPPORT_SUPDUP___324 = 95,
    IPPORT_EXECSERVER___324 = 512,
    IPPORT_LOGINSERVER___324 = 513,
    IPPORT_CMDSERVER___324 = 514,
    IPPORT_EFSSERVER___324 = 520,
    IPPORT_BIFFUDP___324 = 512,
    IPPORT_WHOSERVER___324 = 513,
    IPPORT_ROUTESERVER___324 = 520,
    IPPORT_RESERVED___324 = 1024,
    IPPORT_USERRESERVED___324 = 5000
} ;
enum __anonenum_788308992___324 {
    TCP_ESTABLISHED___324 = 1,
    TCP_SYN_SENT___324 = 2,
    TCP_SYN_RECV___324 = 3,
    TCP_FIN_WAIT1___324 = 4,
    TCP_FIN_WAIT2___324 = 5,
    TCP_TIME_WAIT___324 = 6,
    TCP_CLOSE___324 = 7,
    TCP_CLOSE_WAIT___324 = 8,
    TCP_LAST_ACK___324 = 9,
    TCP_LISTEN___324 = 10,
    TCP_CLOSING___324 = 11
} ;
enum __anonenum_221125648___324 {
    TCP_NO_QUEUE___324 = 0,
    TCP_RECV_QUEUE___324 = 1,
    TCP_SEND_QUEUE___324 = 2,
    TCP_QUEUES_NR___324 = 3
} ;
enum __anonenum_34415463___324 {
    PTHREAD_CREATE_JOINABLE___324 = 0,
    PTHREAD_CREATE_DETACHED___324 = 1
} ;
enum __anonenum_303612439___324 {
    PTHREAD_MUTEX_TIMED_NP___324 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___324 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___324 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___324 = 3,
    PTHREAD_MUTEX_NORMAL___324 = 0,
    PTHREAD_MUTEX_RECURSIVE___324 = 1,
    PTHREAD_MUTEX_ERRORCHECK___324 = 2,
    PTHREAD_MUTEX_DEFAULT___324 = 0,
    PTHREAD_MUTEX_FAST_NP___324 = 0
} ;
enum __anonenum_931900394___324 {
    PTHREAD_MUTEX_STALLED___324 = 0,
    PTHREAD_MUTEX_STALLED_NP___324 = 0,
    PTHREAD_MUTEX_ROBUST___324 = 1,
    PTHREAD_MUTEX_ROBUST_NP___324 = 1
} ;
enum __anonenum_205214487___324 {
    PTHREAD_PRIO_NONE___324 = 0,
    PTHREAD_PRIO_INHERIT___324 = 1,
    PTHREAD_PRIO_PROTECT___324 = 2
} ;
enum __anonenum_25043950___324 {
    PTHREAD_RWLOCK_PREFER_READER_NP___324 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___324 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___324 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___324 = 0
} ;
enum __anonenum_436439511___324 {
    PTHREAD_INHERIT_SCHED___324 = 0,
    PTHREAD_EXPLICIT_SCHED___324 = 1
} ;
enum __anonenum_998661166___324 {
    PTHREAD_SCOPE_SYSTEM___324 = 0,
    PTHREAD_SCOPE_PROCESS___324 = 1
} ;
enum __anonenum_146137331___324 {
    PTHREAD_PROCESS_PRIVATE___324 = 0,
    PTHREAD_PROCESS_SHARED___324 = 1
} ;
enum __anonenum_53396917___324 {
    PTHREAD_CANCEL_ENABLE___324 = 0,
    PTHREAD_CANCEL_DISABLE___324 = 1
} ;
enum __anonenum_904563783___324 {
    PTHREAD_CANCEL_DEFERRED___324 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___324 = 1
} ;
enum __anonenum_672052974___324 {
    SSL_CT_VALIDATION_PERMISSIVE___324 = 0,
    SSL_CT_VALIDATION_STRICT___324 = 1
} ;
enum __anonenum_561748495___26 {
    RECURSE_SUBMODULES_ONLY___26 = -5,
    RECURSE_SUBMODULES_CHECK___26 = -4,
    RECURSE_SUBMODULES_ERROR___26 = -3,
    RECURSE_SUBMODULES_NONE___26 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___26 = -1,
    RECURSE_SUBMODULES_OFF___26 = 0,
    RECURSE_SUBMODULES_DEFAULT___26 = 1,
    RECURSE_SUBMODULES_ON___26 = 2
} ;
enum __anonenum_437032235___325 {
    _PC_LINK_MAX___325 = 0,
    _PC_MAX_CANON___325 = 1,
    _PC_MAX_INPUT___325 = 2,
    _PC_NAME_MAX___325 = 3,
    _PC_PATH_MAX___325 = 4,
    _PC_PIPE_BUF___325 = 5,
    _PC_CHOWN_RESTRICTED___325 = 6,
    _PC_NO_TRUNC___325 = 7,
    _PC_VDISABLE___325 = 8,
    _PC_SYNC_IO___325 = 9,
    _PC_ASYNC_IO___325 = 10,
    _PC_PRIO_IO___325 = 11,
    _PC_SOCK_MAXBUF___325 = 12,
    _PC_FILESIZEBITS___325 = 13,
    _PC_REC_INCR_XFER_SIZE___325 = 14,
    _PC_REC_MAX_XFER_SIZE___325 = 15,
    _PC_REC_MIN_XFER_SIZE___325 = 16,
    _PC_REC_XFER_ALIGN___325 = 17,
    _PC_ALLOC_SIZE_MIN___325 = 18,
    _PC_SYMLINK_MAX___325 = 19,
    _PC_2_SYMLINKS___325 = 20
} ;
enum __anonenum_315186338___325 {
    _SC_ARG_MAX___325 = 0,
    _SC_CHILD_MAX___325 = 1,
    _SC_CLK_TCK___325 = 2,
    _SC_NGROUPS_MAX___325 = 3,
    _SC_OPEN_MAX___325 = 4,
    _SC_STREAM_MAX___325 = 5,
    _SC_TZNAME_MAX___325 = 6,
    _SC_JOB_CONTROL___325 = 7,
    _SC_SAVED_IDS___325 = 8,
    _SC_REALTIME_SIGNALS___325 = 9,
    _SC_PRIORITY_SCHEDULING___325 = 10,
    _SC_TIMERS___325 = 11,
    _SC_ASYNCHRONOUS_IO___325 = 12,
    _SC_PRIORITIZED_IO___325 = 13,
    _SC_SYNCHRONIZED_IO___325 = 14,
    _SC_FSYNC___325 = 15,
    _SC_MAPPED_FILES___325 = 16,
    _SC_MEMLOCK___325 = 17,
    _SC_MEMLOCK_RANGE___325 = 18,
    _SC_MEMORY_PROTECTION___325 = 19,
    _SC_MESSAGE_PASSING___325 = 20,
    _SC_SEMAPHORES___325 = 21,
    _SC_SHARED_MEMORY_OBJECTS___325 = 22,
    _SC_AIO_LISTIO_MAX___325 = 23,
    _SC_AIO_MAX___325 = 24,
    _SC_AIO_PRIO_DELTA_MAX___325 = 25,
    _SC_DELAYTIMER_MAX___325 = 26,
    _SC_MQ_OPEN_MAX___325 = 27,
    _SC_MQ_PRIO_MAX___325 = 28,
    _SC_VERSION___325 = 29,
    _SC_PAGESIZE___325 = 30,
    _SC_RTSIG_MAX___325 = 31,
    _SC_SEM_NSEMS_MAX___325 = 32,
    _SC_SEM_VALUE_MAX___325 = 33,
    _SC_SIGQUEUE_MAX___325 = 34,
    _SC_TIMER_MAX___325 = 35,
    _SC_BC_BASE_MAX___325 = 36,
    _SC_BC_DIM_MAX___325 = 37,
    _SC_BC_SCALE_MAX___325 = 38,
    _SC_BC_STRING_MAX___325 = 39,
    _SC_COLL_WEIGHTS_MAX___325 = 40,
    _SC_EQUIV_CLASS_MAX___325 = 41,
    _SC_EXPR_NEST_MAX___325 = 42,
    _SC_LINE_MAX___325 = 43,
    _SC_RE_DUP_MAX___325 = 44,
    _SC_CHARCLASS_NAME_MAX___325 = 45,
    _SC_2_VERSION___325 = 46,
    _SC_2_C_BIND___325 = 47,
    _SC_2_C_DEV___325 = 48,
    _SC_2_FORT_DEV___325 = 49,
    _SC_2_FORT_RUN___325 = 50,
    _SC_2_SW_DEV___325 = 51,
    _SC_2_LOCALEDEF___325 = 52,
    _SC_PII___325 = 53,
    _SC_PII_XTI___325 = 54,
    _SC_PII_SOCKET___325 = 55,
    _SC_PII_INTERNET___325 = 56,
    _SC_PII_OSI___325 = 57,
    _SC_POLL___325 = 58,
    _SC_SELECT___325 = 59,
    _SC_UIO_MAXIOV___325 = 60,
    _SC_IOV_MAX___325 = 60,
    _SC_PII_INTERNET_STREAM___325 = 61,
    _SC_PII_INTERNET_DGRAM___325 = 62,
    _SC_PII_OSI_COTS___325 = 63,
    _SC_PII_OSI_CLTS___325 = 64,
    _SC_PII_OSI_M___325 = 65,
    _SC_T_IOV_MAX___325 = 66,
    _SC_THREADS___325 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___325 = 68,
    _SC_GETGR_R_SIZE_MAX___325 = 69,
    _SC_GETPW_R_SIZE_MAX___325 = 70,
    _SC_LOGIN_NAME_MAX___325 = 71,
    _SC_TTY_NAME_MAX___325 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___325 = 73,
    _SC_THREAD_KEYS_MAX___325 = 74,
    _SC_THREAD_STACK_MIN___325 = 75,
    _SC_THREAD_THREADS_MAX___325 = 76,
    _SC_THREAD_ATTR_STACKADDR___325 = 77,
    _SC_THREAD_ATTR_STACKSIZE___325 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___325 = 79,
    _SC_THREAD_PRIO_INHERIT___325 = 80,
    _SC_THREAD_PRIO_PROTECT___325 = 81,
    _SC_THREAD_PROCESS_SHARED___325 = 82,
    _SC_NPROCESSORS_CONF___325 = 83,
    _SC_NPROCESSORS_ONLN___325 = 84,
    _SC_PHYS_PAGES___325 = 85,
    _SC_AVPHYS_PAGES___325 = 86,
    _SC_ATEXIT_MAX___325 = 87,
    _SC_PASS_MAX___325 = 88,
    _SC_XOPEN_VERSION___325 = 89,
    _SC_XOPEN_XCU_VERSION___325 = 90,
    _SC_XOPEN_UNIX___325 = 91,
    _SC_XOPEN_CRYPT___325 = 92,
    _SC_XOPEN_ENH_I18N___325 = 93,
    _SC_XOPEN_SHM___325 = 94,
    _SC_2_CHAR_TERM___325 = 95,
    _SC_2_C_VERSION___325 = 96,
    _SC_2_UPE___325 = 97,
    _SC_XOPEN_XPG2___325 = 98,
    _SC_XOPEN_XPG3___325 = 99,
    _SC_XOPEN_XPG4___325 = 100,
    _SC_CHAR_BIT___325 = 101,
    _SC_CHAR_MAX___325 = 102,
    _SC_CHAR_MIN___325 = 103,
    _SC_INT_MAX___325 = 104,
    _SC_INT_MIN___325 = 105,
    _SC_LONG_BIT___325 = 106,
    _SC_WORD_BIT___325 = 107,
    _SC_MB_LEN_MAX___325 = 108,
    _SC_NZERO___325 = 109,
    _SC_SSIZE_MAX___325 = 110,
    _SC_SCHAR_MAX___325 = 111,
    _SC_SCHAR_MIN___325 = 112,
    _SC_SHRT_MAX___325 = 113,
    _SC_SHRT_MIN___325 = 114,
    _SC_UCHAR_MAX___325 = 115,
    _SC_UINT_MAX___325 = 116,
    _SC_ULONG_MAX___325 = 117,
    _SC_USHRT_MAX___325 = 118,
    _SC_NL_ARGMAX___325 = 119,
    _SC_NL_LANGMAX___325 = 120,
    _SC_NL_MSGMAX___325 = 121,
    _SC_NL_NMAX___325 = 122,
    _SC_NL_SETMAX___325 = 123,
    _SC_NL_TEXTMAX___325 = 124,
    _SC_XBS5_ILP32_OFF32___325 = 125,
    _SC_XBS5_ILP32_OFFBIG___325 = 126,
    _SC_XBS5_LP64_OFF64___325 = 127,
    _SC_XBS5_LPBIG_OFFBIG___325 = 128,
    _SC_XOPEN_LEGACY___325 = 129,
    _SC_XOPEN_REALTIME___325 = 130,
    _SC_XOPEN_REALTIME_THREADS___325 = 131,
    _SC_ADVISORY_INFO___325 = 132,
    _SC_BARRIERS___325 = 133,
    _SC_BASE___325 = 134,
    _SC_C_LANG_SUPPORT___325 = 135,
    _SC_C_LANG_SUPPORT_R___325 = 136,
    _SC_CLOCK_SELECTION___325 = 137,
    _SC_CPUTIME___325 = 138,
    _SC_THREAD_CPUTIME___325 = 139,
    _SC_DEVICE_IO___325 = 140,
    _SC_DEVICE_SPECIFIC___325 = 141,
    _SC_DEVICE_SPECIFIC_R___325 = 142,
    _SC_FD_MGMT___325 = 143,
    _SC_FIFO___325 = 144,
    _SC_PIPE___325 = 145,
    _SC_FILE_ATTRIBUTES___325 = 146,
    _SC_FILE_LOCKING___325 = 147,
    _SC_FILE_SYSTEM___325 = 148,
    _SC_MONOTONIC_CLOCK___325 = 149,
    _SC_MULTI_PROCESS___325 = 150,
    _SC_SINGLE_PROCESS___325 = 151,
    _SC_NETWORKING___325 = 152,
    _SC_READER_WRITER_LOCKS___325 = 153,
    _SC_SPIN_LOCKS___325 = 154,
    _SC_REGEXP___325 = 155,
    _SC_REGEX_VERSION___325 = 156,
    _SC_SHELL___325 = 157,
    _SC_SIGNALS___325 = 158,
    _SC_SPAWN___325 = 159,
    _SC_SPORADIC_SERVER___325 = 160,
    _SC_THREAD_SPORADIC_SERVER___325 = 161,
    _SC_SYSTEM_DATABASE___325 = 162,
    _SC_SYSTEM_DATABASE_R___325 = 163,
    _SC_TIMEOUTS___325 = 164,
    _SC_TYPED_MEMORY_OBJECTS___325 = 165,
    _SC_USER_GROUPS___325 = 166,
    _SC_USER_GROUPS_R___325 = 167,
    _SC_2_PBS___325 = 168,
    _SC_2_PBS_ACCOUNTING___325 = 169,
    _SC_2_PBS_LOCATE___325 = 170,
    _SC_2_PBS_MESSAGE___325 = 171,
    _SC_2_PBS_TRACK___325 = 172,
    _SC_SYMLOOP_MAX___325 = 173,
    _SC_STREAMS___325 = 174,
    _SC_2_PBS_CHECKPOINT___325 = 175,
    _SC_V6_ILP32_OFF32___325 = 176,
    _SC_V6_ILP32_OFFBIG___325 = 177,
    _SC_V6_LP64_OFF64___325 = 178,
    _SC_V6_LPBIG_OFFBIG___325 = 179,
    _SC_HOST_NAME_MAX___325 = 180,
    _SC_TRACE___325 = 181,
    _SC_TRACE_EVENT_FILTER___325 = 182,
    _SC_TRACE_INHERIT___325 = 183,
    _SC_TRACE_LOG___325 = 184,
    _SC_LEVEL1_ICACHE_SIZE___325 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___325 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___325 = 187,
    _SC_LEVEL1_DCACHE_SIZE___325 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___325 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___325 = 190,
    _SC_LEVEL2_CACHE_SIZE___325 = 191,
    _SC_LEVEL2_CACHE_ASSOC___325 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___325 = 193,
    _SC_LEVEL3_CACHE_SIZE___325 = 194,
    _SC_LEVEL3_CACHE_ASSOC___325 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___325 = 196,
    _SC_LEVEL4_CACHE_SIZE___325 = 197,
    _SC_LEVEL4_CACHE_ASSOC___325 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___325 = 199,
    _SC_IPV6___325 = 235,
    _SC_RAW_SOCKETS___325 = 236,
    _SC_V7_ILP32_OFF32___325 = 237,
    _SC_V7_ILP32_OFFBIG___325 = 238,
    _SC_V7_LP64_OFF64___325 = 239,
    _SC_V7_LPBIG_OFFBIG___325 = 240,
    _SC_SS_REPL_MAX___325 = 241,
    _SC_TRACE_EVENT_NAME_MAX___325 = 242,
    _SC_TRACE_NAME_MAX___325 = 243,
    _SC_TRACE_SYS_MAX___325 = 244,
    _SC_TRACE_USER_EVENT_MAX___325 = 245,
    _SC_XOPEN_STREAMS___325 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___325 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___325 = 248
} ;
enum __anonenum_875524036___325 {
    _CS_PATH___325 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___325 = 1,
    _CS_GNU_LIBC_VERSION___325 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___325 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___325 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___325 = 5,
    _CS_LFS_CFLAGS___325 = 1000,
    _CS_LFS_LDFLAGS___325 = 1001,
    _CS_LFS_LIBS___325 = 1002,
    _CS_LFS_LINTFLAGS___325 = 1003,
    _CS_LFS64_CFLAGS___325 = 1004,
    _CS_LFS64_LDFLAGS___325 = 1005,
    _CS_LFS64_LIBS___325 = 1006,
    _CS_LFS64_LINTFLAGS___325 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___325 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___325 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___325 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___325 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___325 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___325 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___325 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___325 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___325 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___325 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___325 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___325 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___325 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___325 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___325 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___325 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___325 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___325 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___325 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___325 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___325 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___325 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___325 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___325 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___325 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___325 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___325 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___325 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___325 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___325 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___325 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___325 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___325 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___325 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___325 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___325 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___325 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___325 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___325 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___325 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___325 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___325 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___325 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___325 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___325 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___325 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___325 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___325 = 1147,
    _CS_V6_ENV___325 = 1148,
    _CS_V7_ENV___325 = 1149
} ;
enum __anonenum_513775621___325 {
    DT_UNKNOWN___325 = 0,
    DT_FIFO___325 = 1,
    DT_CHR___325 = 2,
    DT_DIR___325 = 4,
    DT_BLK___325 = 6,
    DT_REG___325 = 8,
    DT_LNK___325 = 10,
    DT_SOCK___325 = 12,
    DT_WHT___325 = 14
} ;
enum __anonenum_77002343___325 {
    SI_ASYNCNL___325 = -60,
    SI_TKILL___325 = -6,
    SI_SIGIO___325 = -5,
    SI_ASYNCIO___325 = -4,
    SI_MESGQ___325 = -3,
    SI_TIMER___325 = -2,
    SI_QUEUE___325 = -1,
    SI_USER___325 = 0,
    SI_KERNEL___325 = 128
} ;
enum __anonenum_131038172___325 {
    ILL_ILLOPC___325 = 1,
    ILL_ILLOPN___325 = 2,
    ILL_ILLADR___325 = 3,
    ILL_ILLTRP___325 = 4,
    ILL_PRVOPC___325 = 5,
    ILL_PRVREG___325 = 6,
    ILL_COPROC___325 = 7,
    ILL_BADSTK___325 = 8
} ;
enum __anonenum_452038093___325 {
    FPE_INTDIV___325 = 1,
    FPE_INTOVF___325 = 2,
    FPE_FLTDIV___325 = 3,
    FPE_FLTOVF___325 = 4,
    FPE_FLTUND___325 = 5,
    FPE_FLTRES___325 = 6,
    FPE_FLTINV___325 = 7,
    FPE_FLTSUB___325 = 8
} ;
enum __anonenum_30976155___325 {
    SEGV_MAPERR___325 = 1,
    SEGV_ACCERR___325 = 2,
    SEGV_BNDERR___325 = 3,
    SEGV_PKUERR___325 = 4
} ;
enum __anonenum_1036286214___325 {
    BUS_ADRALN___325 = 1,
    BUS_ADRERR___325 = 2,
    BUS_OBJERR___325 = 3,
    BUS_MCEERR_AR___325 = 4,
    BUS_MCEERR_AO___325 = 5
} ;
enum __anonenum_493465559___325 {
    TRAP_BRKPT___325 = 1,
    TRAP_TRACE___325 = 2
} ;
enum __anonenum_23175539___325 {
    CLD_EXITED___325 = 1,
    CLD_KILLED___325 = 2,
    CLD_DUMPED___325 = 3,
    CLD_TRAPPED___325 = 4,
    CLD_STOPPED___325 = 5,
    CLD_CONTINUED___325 = 6
} ;
enum __anonenum_111643124___325 {
    POLL_IN___325 = 1,
    POLL_OUT___325 = 2,
    POLL_MSG___325 = 3,
    POLL_ERR___325 = 4,
    POLL_PRI___325 = 5,
    POLL_HUP___325 = 6
} ;
enum __anonenum_852341087___325 {
    SIGEV_SIGNAL___325 = 0,
    SIGEV_NONE___325 = 1,
    SIGEV_THREAD___325 = 2,
    SIGEV_THREAD_ID___325 = 4
} ;
enum __anonenum_451154152___325 {
    REG_R8___325 = 0,
    REG_R9___325 = 1,
    REG_R10___325 = 2,
    REG_R11___325 = 3,
    REG_R12___325 = 4,
    REG_R13___325 = 5,
    REG_R14___325 = 6,
    REG_R15___325 = 7,
    REG_RDI___325 = 8,
    REG_RSI___325 = 9,
    REG_RBP___325 = 10,
    REG_RBX___325 = 11,
    REG_RDX___325 = 12,
    REG_RAX___325 = 13,
    REG_RCX___325 = 14,
    REG_RSP___325 = 15,
    REG_RIP___325 = 16,
    REG_EFL___325 = 17,
    REG_CSGSFS___325 = 18,
    REG_ERR___325 = 19,
    REG_TRAPNO___325 = 20,
    REG_OLDMASK___325 = 21,
    REG_CR2___325 = 22
} ;
enum __anonenum_57186863___325 {
    SS_ONSTACK___325 = 1,
    SS_DISABLE___325 = 2
} ;
enum __anonenum_83571709___325 {
    MSG_OOB___325 = 1,
    MSG_PEEK___325 = 2,
    MSG_DONTROUTE___325 = 4,
    MSG_TRYHARD___325 = 4,
    MSG_CTRUNC___325 = 8,
    MSG_PROXY___325 = 16,
    MSG_TRUNC___325 = 32,
    MSG_DONTWAIT___325 = 64,
    MSG_EOR___325 = 128,
    MSG_WAITALL___325 = 256,
    MSG_FIN___325 = 512,
    MSG_SYN___325 = 1024,
    MSG_CONFIRM___325 = 2048,
    MSG_RST___325 = 4096,
    MSG_ERRQUEUE___325 = 8192,
    MSG_NOSIGNAL___325 = 16384,
    MSG_MORE___325 = 32768,
    MSG_WAITFORONE___325 = 65536,
    MSG_BATCH___325 = 262144,
    MSG_ZEROCOPY___325 = 67108864,
    MSG_FASTOPEN___325 = 536870912,
    MSG_CMSG_CLOEXEC___325 = 1073741824
} ;
enum __anonenum_617082774___325 {
    SCM_RIGHTS___325 = 1,
    SCM_CREDENTIALS___325 = 2
} ;
enum __anonenum_606441560___325 {
    SHUT_RD___325 = 0,
    SHUT_WR___325 = 1,
    SHUT_RDWR___325 = 2
} ;
enum __anonenum_681669233___325 {
    IPPROTO_IP___325 = 0,
    IPPROTO_ICMP___325 = 1,
    IPPROTO_IGMP___325 = 2,
    IPPROTO_IPIP___325 = 4,
    IPPROTO_TCP___325 = 6,
    IPPROTO_EGP___325 = 8,
    IPPROTO_PUP___325 = 12,
    IPPROTO_UDP___325 = 17,
    IPPROTO_IDP___325 = 22,
    IPPROTO_TP___325 = 29,
    IPPROTO_DCCP___325 = 33,
    IPPROTO_IPV6___325 = 41,
    IPPROTO_RSVP___325 = 46,
    IPPROTO_GRE___325 = 47,
    IPPROTO_ESP___325 = 50,
    IPPROTO_AH___325 = 51,
    IPPROTO_MTP___325 = 92,
    IPPROTO_BEETPH___325 = 94,
    IPPROTO_ENCAP___325 = 98,
    IPPROTO_PIM___325 = 103,
    IPPROTO_COMP___325 = 108,
    IPPROTO_SCTP___325 = 132,
    IPPROTO_UDPLITE___325 = 136,
    IPPROTO_MPLS___325 = 137,
    IPPROTO_RAW___325 = 255,
    IPPROTO_MAX___325 = 256
} ;
enum __anonenum_218739988___325 {
    IPPROTO_HOPOPTS___325 = 0,
    IPPROTO_ROUTING___325 = 43,
    IPPROTO_FRAGMENT___325 = 44,
    IPPROTO_ICMPV6___325 = 58,
    IPPROTO_NONE___325 = 59,
    IPPROTO_DSTOPTS___325 = 60,
    IPPROTO_MH___325 = 135
} ;
enum __anonenum_662268580___325 {
    IPPORT_ECHO___325 = 7,
    IPPORT_DISCARD___325 = 9,
    IPPORT_SYSTAT___325 = 11,
    IPPORT_DAYTIME___325 = 13,
    IPPORT_NETSTAT___325 = 15,
    IPPORT_FTP___325 = 21,
    IPPORT_TELNET___325 = 23,
    IPPORT_SMTP___325 = 25,
    IPPORT_TIMESERVER___325 = 37,
    IPPORT_NAMESERVER___325 = 42,
    IPPORT_WHOIS___325 = 43,
    IPPORT_MTP___325 = 57,
    IPPORT_TFTP___325 = 69,
    IPPORT_RJE___325 = 77,
    IPPORT_FINGER___325 = 79,
    IPPORT_TTYLINK___325 = 87,
    IPPORT_SUPDUP___325 = 95,
    IPPORT_EXECSERVER___325 = 512,
    IPPORT_LOGINSERVER___325 = 513,
    IPPORT_CMDSERVER___325 = 514,
    IPPORT_EFSSERVER___325 = 520,
    IPPORT_BIFFUDP___325 = 512,
    IPPORT_WHOSERVER___325 = 513,
    IPPORT_ROUTESERVER___325 = 520,
    IPPORT_RESERVED___325 = 1024,
    IPPORT_USERRESERVED___325 = 5000
} ;
enum __anonenum_788308992___325 {
    TCP_ESTABLISHED___325 = 1,
    TCP_SYN_SENT___325 = 2,
    TCP_SYN_RECV___325 = 3,
    TCP_FIN_WAIT1___325 = 4,
    TCP_FIN_WAIT2___325 = 5,
    TCP_TIME_WAIT___325 = 6,
    TCP_CLOSE___325 = 7,
    TCP_CLOSE_WAIT___325 = 8,
    TCP_LAST_ACK___325 = 9,
    TCP_LISTEN___325 = 10,
    TCP_CLOSING___325 = 11
} ;
enum __anonenum_221125648___325 {
    TCP_NO_QUEUE___325 = 0,
    TCP_RECV_QUEUE___325 = 1,
    TCP_SEND_QUEUE___325 = 2,
    TCP_QUEUES_NR___325 = 3
} ;
enum __anonenum_34415463___325 {
    PTHREAD_CREATE_JOINABLE___325 = 0,
    PTHREAD_CREATE_DETACHED___325 = 1
} ;
enum __anonenum_303612439___325 {
    PTHREAD_MUTEX_TIMED_NP___325 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___325 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___325 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___325 = 3,
    PTHREAD_MUTEX_NORMAL___325 = 0,
    PTHREAD_MUTEX_RECURSIVE___325 = 1,
    PTHREAD_MUTEX_ERRORCHECK___325 = 2,
    PTHREAD_MUTEX_DEFAULT___325 = 0,
    PTHREAD_MUTEX_FAST_NP___325 = 0
} ;
enum __anonenum_931900394___325 {
    PTHREAD_MUTEX_STALLED___325 = 0,
    PTHREAD_MUTEX_STALLED_NP___325 = 0,
    PTHREAD_MUTEX_ROBUST___325 = 1,
    PTHREAD_MUTEX_ROBUST_NP___325 = 1
} ;
enum __anonenum_205214487___325 {
    PTHREAD_PRIO_NONE___325 = 0,
    PTHREAD_PRIO_INHERIT___325 = 1,
    PTHREAD_PRIO_PROTECT___325 = 2
} ;
enum __anonenum_25043950___325 {
    PTHREAD_RWLOCK_PREFER_READER_NP___325 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___325 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___325 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___325 = 0
} ;
enum __anonenum_436439511___325 {
    PTHREAD_INHERIT_SCHED___325 = 0,
    PTHREAD_EXPLICIT_SCHED___325 = 1
} ;
enum __anonenum_998661166___325 {
    PTHREAD_SCOPE_SYSTEM___325 = 0,
    PTHREAD_SCOPE_PROCESS___325 = 1
} ;
enum __anonenum_146137331___325 {
    PTHREAD_PROCESS_PRIVATE___325 = 0,
    PTHREAD_PROCESS_SHARED___325 = 1
} ;
enum __anonenum_53396917___325 {
    PTHREAD_CANCEL_ENABLE___325 = 0,
    PTHREAD_CANCEL_DISABLE___325 = 1
} ;
enum __anonenum_904563783___325 {
    PTHREAD_CANCEL_DEFERRED___325 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___325 = 1
} ;
enum __anonenum_672052974___325 {
    SSL_CT_VALIDATION_PERMISSIVE___325 = 0,
    SSL_CT_VALIDATION_STRICT___325 = 1
} ;
enum __anonenum_34023289___34 {
    REMOTE_UNCONFIGURED___34 = 0,
    REMOTE_CONFIG___34 = 1,
    REMOTE_REMOTES___34 = 2,
    REMOTE_BRANCHES___34 = 3
} ;
enum __anonenum_437032235___326 {
    _PC_LINK_MAX___326 = 0,
    _PC_MAX_CANON___326 = 1,
    _PC_MAX_INPUT___326 = 2,
    _PC_NAME_MAX___326 = 3,
    _PC_PATH_MAX___326 = 4,
    _PC_PIPE_BUF___326 = 5,
    _PC_CHOWN_RESTRICTED___326 = 6,
    _PC_NO_TRUNC___326 = 7,
    _PC_VDISABLE___326 = 8,
    _PC_SYNC_IO___326 = 9,
    _PC_ASYNC_IO___326 = 10,
    _PC_PRIO_IO___326 = 11,
    _PC_SOCK_MAXBUF___326 = 12,
    _PC_FILESIZEBITS___326 = 13,
    _PC_REC_INCR_XFER_SIZE___326 = 14,
    _PC_REC_MAX_XFER_SIZE___326 = 15,
    _PC_REC_MIN_XFER_SIZE___326 = 16,
    _PC_REC_XFER_ALIGN___326 = 17,
    _PC_ALLOC_SIZE_MIN___326 = 18,
    _PC_SYMLINK_MAX___326 = 19,
    _PC_2_SYMLINKS___326 = 20
} ;
enum __anonenum_315186338___326 {
    _SC_ARG_MAX___326 = 0,
    _SC_CHILD_MAX___326 = 1,
    _SC_CLK_TCK___326 = 2,
    _SC_NGROUPS_MAX___326 = 3,
    _SC_OPEN_MAX___326 = 4,
    _SC_STREAM_MAX___326 = 5,
    _SC_TZNAME_MAX___326 = 6,
    _SC_JOB_CONTROL___326 = 7,
    _SC_SAVED_IDS___326 = 8,
    _SC_REALTIME_SIGNALS___326 = 9,
    _SC_PRIORITY_SCHEDULING___326 = 10,
    _SC_TIMERS___326 = 11,
    _SC_ASYNCHRONOUS_IO___326 = 12,
    _SC_PRIORITIZED_IO___326 = 13,
    _SC_SYNCHRONIZED_IO___326 = 14,
    _SC_FSYNC___326 = 15,
    _SC_MAPPED_FILES___326 = 16,
    _SC_MEMLOCK___326 = 17,
    _SC_MEMLOCK_RANGE___326 = 18,
    _SC_MEMORY_PROTECTION___326 = 19,
    _SC_MESSAGE_PASSING___326 = 20,
    _SC_SEMAPHORES___326 = 21,
    _SC_SHARED_MEMORY_OBJECTS___326 = 22,
    _SC_AIO_LISTIO_MAX___326 = 23,
    _SC_AIO_MAX___326 = 24,
    _SC_AIO_PRIO_DELTA_MAX___326 = 25,
    _SC_DELAYTIMER_MAX___326 = 26,
    _SC_MQ_OPEN_MAX___326 = 27,
    _SC_MQ_PRIO_MAX___326 = 28,
    _SC_VERSION___326 = 29,
    _SC_PAGESIZE___326 = 30,
    _SC_RTSIG_MAX___326 = 31,
    _SC_SEM_NSEMS_MAX___326 = 32,
    _SC_SEM_VALUE_MAX___326 = 33,
    _SC_SIGQUEUE_MAX___326 = 34,
    _SC_TIMER_MAX___326 = 35,
    _SC_BC_BASE_MAX___326 = 36,
    _SC_BC_DIM_MAX___326 = 37,
    _SC_BC_SCALE_MAX___326 = 38,
    _SC_BC_STRING_MAX___326 = 39,
    _SC_COLL_WEIGHTS_MAX___326 = 40,
    _SC_EQUIV_CLASS_MAX___326 = 41,
    _SC_EXPR_NEST_MAX___326 = 42,
    _SC_LINE_MAX___326 = 43,
    _SC_RE_DUP_MAX___326 = 44,
    _SC_CHARCLASS_NAME_MAX___326 = 45,
    _SC_2_VERSION___326 = 46,
    _SC_2_C_BIND___326 = 47,
    _SC_2_C_DEV___326 = 48,
    _SC_2_FORT_DEV___326 = 49,
    _SC_2_FORT_RUN___326 = 50,
    _SC_2_SW_DEV___326 = 51,
    _SC_2_LOCALEDEF___326 = 52,
    _SC_PII___326 = 53,
    _SC_PII_XTI___326 = 54,
    _SC_PII_SOCKET___326 = 55,
    _SC_PII_INTERNET___326 = 56,
    _SC_PII_OSI___326 = 57,
    _SC_POLL___326 = 58,
    _SC_SELECT___326 = 59,
    _SC_UIO_MAXIOV___326 = 60,
    _SC_IOV_MAX___326 = 60,
    _SC_PII_INTERNET_STREAM___326 = 61,
    _SC_PII_INTERNET_DGRAM___326 = 62,
    _SC_PII_OSI_COTS___326 = 63,
    _SC_PII_OSI_CLTS___326 = 64,
    _SC_PII_OSI_M___326 = 65,
    _SC_T_IOV_MAX___326 = 66,
    _SC_THREADS___326 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___326 = 68,
    _SC_GETGR_R_SIZE_MAX___326 = 69,
    _SC_GETPW_R_SIZE_MAX___326 = 70,
    _SC_LOGIN_NAME_MAX___326 = 71,
    _SC_TTY_NAME_MAX___326 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___326 = 73,
    _SC_THREAD_KEYS_MAX___326 = 74,
    _SC_THREAD_STACK_MIN___326 = 75,
    _SC_THREAD_THREADS_MAX___326 = 76,
    _SC_THREAD_ATTR_STACKADDR___326 = 77,
    _SC_THREAD_ATTR_STACKSIZE___326 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___326 = 79,
    _SC_THREAD_PRIO_INHERIT___326 = 80,
    _SC_THREAD_PRIO_PROTECT___326 = 81,
    _SC_THREAD_PROCESS_SHARED___326 = 82,
    _SC_NPROCESSORS_CONF___326 = 83,
    _SC_NPROCESSORS_ONLN___326 = 84,
    _SC_PHYS_PAGES___326 = 85,
    _SC_AVPHYS_PAGES___326 = 86,
    _SC_ATEXIT_MAX___326 = 87,
    _SC_PASS_MAX___326 = 88,
    _SC_XOPEN_VERSION___326 = 89,
    _SC_XOPEN_XCU_VERSION___326 = 90,
    _SC_XOPEN_UNIX___326 = 91,
    _SC_XOPEN_CRYPT___326 = 92,
    _SC_XOPEN_ENH_I18N___326 = 93,
    _SC_XOPEN_SHM___326 = 94,
    _SC_2_CHAR_TERM___326 = 95,
    _SC_2_C_VERSION___326 = 96,
    _SC_2_UPE___326 = 97,
    _SC_XOPEN_XPG2___326 = 98,
    _SC_XOPEN_XPG3___326 = 99,
    _SC_XOPEN_XPG4___326 = 100,
    _SC_CHAR_BIT___326 = 101,
    _SC_CHAR_MAX___326 = 102,
    _SC_CHAR_MIN___326 = 103,
    _SC_INT_MAX___326 = 104,
    _SC_INT_MIN___326 = 105,
    _SC_LONG_BIT___326 = 106,
    _SC_WORD_BIT___326 = 107,
    _SC_MB_LEN_MAX___326 = 108,
    _SC_NZERO___326 = 109,
    _SC_SSIZE_MAX___326 = 110,
    _SC_SCHAR_MAX___326 = 111,
    _SC_SCHAR_MIN___326 = 112,
    _SC_SHRT_MAX___326 = 113,
    _SC_SHRT_MIN___326 = 114,
    _SC_UCHAR_MAX___326 = 115,
    _SC_UINT_MAX___326 = 116,
    _SC_ULONG_MAX___326 = 117,
    _SC_USHRT_MAX___326 = 118,
    _SC_NL_ARGMAX___326 = 119,
    _SC_NL_LANGMAX___326 = 120,
    _SC_NL_MSGMAX___326 = 121,
    _SC_NL_NMAX___326 = 122,
    _SC_NL_SETMAX___326 = 123,
    _SC_NL_TEXTMAX___326 = 124,
    _SC_XBS5_ILP32_OFF32___326 = 125,
    _SC_XBS5_ILP32_OFFBIG___326 = 126,
    _SC_XBS5_LP64_OFF64___326 = 127,
    _SC_XBS5_LPBIG_OFFBIG___326 = 128,
    _SC_XOPEN_LEGACY___326 = 129,
    _SC_XOPEN_REALTIME___326 = 130,
    _SC_XOPEN_REALTIME_THREADS___326 = 131,
    _SC_ADVISORY_INFO___326 = 132,
    _SC_BARRIERS___326 = 133,
    _SC_BASE___326 = 134,
    _SC_C_LANG_SUPPORT___326 = 135,
    _SC_C_LANG_SUPPORT_R___326 = 136,
    _SC_CLOCK_SELECTION___326 = 137,
    _SC_CPUTIME___326 = 138,
    _SC_THREAD_CPUTIME___326 = 139,
    _SC_DEVICE_IO___326 = 140,
    _SC_DEVICE_SPECIFIC___326 = 141,
    _SC_DEVICE_SPECIFIC_R___326 = 142,
    _SC_FD_MGMT___326 = 143,
    _SC_FIFO___326 = 144,
    _SC_PIPE___326 = 145,
    _SC_FILE_ATTRIBUTES___326 = 146,
    _SC_FILE_LOCKING___326 = 147,
    _SC_FILE_SYSTEM___326 = 148,
    _SC_MONOTONIC_CLOCK___326 = 149,
    _SC_MULTI_PROCESS___326 = 150,
    _SC_SINGLE_PROCESS___326 = 151,
    _SC_NETWORKING___326 = 152,
    _SC_READER_WRITER_LOCKS___326 = 153,
    _SC_SPIN_LOCKS___326 = 154,
    _SC_REGEXP___326 = 155,
    _SC_REGEX_VERSION___326 = 156,
    _SC_SHELL___326 = 157,
    _SC_SIGNALS___326 = 158,
    _SC_SPAWN___326 = 159,
    _SC_SPORADIC_SERVER___326 = 160,
    _SC_THREAD_SPORADIC_SERVER___326 = 161,
    _SC_SYSTEM_DATABASE___326 = 162,
    _SC_SYSTEM_DATABASE_R___326 = 163,
    _SC_TIMEOUTS___326 = 164,
    _SC_TYPED_MEMORY_OBJECTS___326 = 165,
    _SC_USER_GROUPS___326 = 166,
    _SC_USER_GROUPS_R___326 = 167,
    _SC_2_PBS___326 = 168,
    _SC_2_PBS_ACCOUNTING___326 = 169,
    _SC_2_PBS_LOCATE___326 = 170,
    _SC_2_PBS_MESSAGE___326 = 171,
    _SC_2_PBS_TRACK___326 = 172,
    _SC_SYMLOOP_MAX___326 = 173,
    _SC_STREAMS___326 = 174,
    _SC_2_PBS_CHECKPOINT___326 = 175,
    _SC_V6_ILP32_OFF32___326 = 176,
    _SC_V6_ILP32_OFFBIG___326 = 177,
    _SC_V6_LP64_OFF64___326 = 178,
    _SC_V6_LPBIG_OFFBIG___326 = 179,
    _SC_HOST_NAME_MAX___326 = 180,
    _SC_TRACE___326 = 181,
    _SC_TRACE_EVENT_FILTER___326 = 182,
    _SC_TRACE_INHERIT___326 = 183,
    _SC_TRACE_LOG___326 = 184,
    _SC_LEVEL1_ICACHE_SIZE___326 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___326 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___326 = 187,
    _SC_LEVEL1_DCACHE_SIZE___326 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___326 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___326 = 190,
    _SC_LEVEL2_CACHE_SIZE___326 = 191,
    _SC_LEVEL2_CACHE_ASSOC___326 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___326 = 193,
    _SC_LEVEL3_CACHE_SIZE___326 = 194,
    _SC_LEVEL3_CACHE_ASSOC___326 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___326 = 196,
    _SC_LEVEL4_CACHE_SIZE___326 = 197,
    _SC_LEVEL4_CACHE_ASSOC___326 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___326 = 199,
    _SC_IPV6___326 = 235,
    _SC_RAW_SOCKETS___326 = 236,
    _SC_V7_ILP32_OFF32___326 = 237,
    _SC_V7_ILP32_OFFBIG___326 = 238,
    _SC_V7_LP64_OFF64___326 = 239,
    _SC_V7_LPBIG_OFFBIG___326 = 240,
    _SC_SS_REPL_MAX___326 = 241,
    _SC_TRACE_EVENT_NAME_MAX___326 = 242,
    _SC_TRACE_NAME_MAX___326 = 243,
    _SC_TRACE_SYS_MAX___326 = 244,
    _SC_TRACE_USER_EVENT_MAX___326 = 245,
    _SC_XOPEN_STREAMS___326 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___326 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___326 = 248
} ;
enum __anonenum_875524036___326 {
    _CS_PATH___326 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___326 = 1,
    _CS_GNU_LIBC_VERSION___326 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___326 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___326 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___326 = 5,
    _CS_LFS_CFLAGS___326 = 1000,
    _CS_LFS_LDFLAGS___326 = 1001,
    _CS_LFS_LIBS___326 = 1002,
    _CS_LFS_LINTFLAGS___326 = 1003,
    _CS_LFS64_CFLAGS___326 = 1004,
    _CS_LFS64_LDFLAGS___326 = 1005,
    _CS_LFS64_LIBS___326 = 1006,
    _CS_LFS64_LINTFLAGS___326 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___326 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___326 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___326 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___326 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___326 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___326 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___326 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___326 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___326 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___326 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___326 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___326 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___326 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___326 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___326 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___326 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___326 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___326 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___326 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___326 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___326 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___326 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___326 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___326 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___326 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___326 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___326 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___326 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___326 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___326 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___326 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___326 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___326 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___326 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___326 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___326 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___326 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___326 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___326 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___326 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___326 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___326 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___326 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___326 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___326 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___326 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___326 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___326 = 1147,
    _CS_V6_ENV___326 = 1148,
    _CS_V7_ENV___326 = 1149
} ;
enum __anonenum_513775621___326 {
    DT_UNKNOWN___326 = 0,
    DT_FIFO___326 = 1,
    DT_CHR___326 = 2,
    DT_DIR___326 = 4,
    DT_BLK___326 = 6,
    DT_REG___326 = 8,
    DT_LNK___326 = 10,
    DT_SOCK___326 = 12,
    DT_WHT___326 = 14
} ;
enum __anonenum_77002343___326 {
    SI_ASYNCNL___326 = -60,
    SI_TKILL___326 = -6,
    SI_SIGIO___326 = -5,
    SI_ASYNCIO___326 = -4,
    SI_MESGQ___326 = -3,
    SI_TIMER___326 = -2,
    SI_QUEUE___326 = -1,
    SI_USER___326 = 0,
    SI_KERNEL___326 = 128
} ;
enum __anonenum_131038172___326 {
    ILL_ILLOPC___326 = 1,
    ILL_ILLOPN___326 = 2,
    ILL_ILLADR___326 = 3,
    ILL_ILLTRP___326 = 4,
    ILL_PRVOPC___326 = 5,
    ILL_PRVREG___326 = 6,
    ILL_COPROC___326 = 7,
    ILL_BADSTK___326 = 8
} ;
enum __anonenum_452038093___326 {
    FPE_INTDIV___326 = 1,
    FPE_INTOVF___326 = 2,
    FPE_FLTDIV___326 = 3,
    FPE_FLTOVF___326 = 4,
    FPE_FLTUND___326 = 5,
    FPE_FLTRES___326 = 6,
    FPE_FLTINV___326 = 7,
    FPE_FLTSUB___326 = 8
} ;
enum __anonenum_30976155___326 {
    SEGV_MAPERR___326 = 1,
    SEGV_ACCERR___326 = 2,
    SEGV_BNDERR___326 = 3,
    SEGV_PKUERR___326 = 4
} ;
enum __anonenum_1036286214___326 {
    BUS_ADRALN___326 = 1,
    BUS_ADRERR___326 = 2,
    BUS_OBJERR___326 = 3,
    BUS_MCEERR_AR___326 = 4,
    BUS_MCEERR_AO___326 = 5
} ;
enum __anonenum_493465559___326 {
    TRAP_BRKPT___326 = 1,
    TRAP_TRACE___326 = 2
} ;
enum __anonenum_23175539___326 {
    CLD_EXITED___326 = 1,
    CLD_KILLED___326 = 2,
    CLD_DUMPED___326 = 3,
    CLD_TRAPPED___326 = 4,
    CLD_STOPPED___326 = 5,
    CLD_CONTINUED___326 = 6
} ;
enum __anonenum_111643124___326 {
    POLL_IN___326 = 1,
    POLL_OUT___326 = 2,
    POLL_MSG___326 = 3,
    POLL_ERR___326 = 4,
    POLL_PRI___326 = 5,
    POLL_HUP___326 = 6
} ;
enum __anonenum_852341087___326 {
    SIGEV_SIGNAL___326 = 0,
    SIGEV_NONE___326 = 1,
    SIGEV_THREAD___326 = 2,
    SIGEV_THREAD_ID___326 = 4
} ;
enum __anonenum_451154152___326 {
    REG_R8___326 = 0,
    REG_R9___326 = 1,
    REG_R10___326 = 2,
    REG_R11___326 = 3,
    REG_R12___326 = 4,
    REG_R13___326 = 5,
    REG_R14___326 = 6,
    REG_R15___326 = 7,
    REG_RDI___326 = 8,
    REG_RSI___326 = 9,
    REG_RBP___326 = 10,
    REG_RBX___326 = 11,
    REG_RDX___326 = 12,
    REG_RAX___326 = 13,
    REG_RCX___326 = 14,
    REG_RSP___326 = 15,
    REG_RIP___326 = 16,
    REG_EFL___326 = 17,
    REG_CSGSFS___326 = 18,
    REG_ERR___326 = 19,
    REG_TRAPNO___326 = 20,
    REG_OLDMASK___326 = 21,
    REG_CR2___326 = 22
} ;
enum __anonenum_57186863___326 {
    SS_ONSTACK___326 = 1,
    SS_DISABLE___326 = 2
} ;
enum __anonenum_83571709___326 {
    MSG_OOB___326 = 1,
    MSG_PEEK___326 = 2,
    MSG_DONTROUTE___326 = 4,
    MSG_TRYHARD___326 = 4,
    MSG_CTRUNC___326 = 8,
    MSG_PROXY___326 = 16,
    MSG_TRUNC___326 = 32,
    MSG_DONTWAIT___326 = 64,
    MSG_EOR___326 = 128,
    MSG_WAITALL___326 = 256,
    MSG_FIN___326 = 512,
    MSG_SYN___326 = 1024,
    MSG_CONFIRM___326 = 2048,
    MSG_RST___326 = 4096,
    MSG_ERRQUEUE___326 = 8192,
    MSG_NOSIGNAL___326 = 16384,
    MSG_MORE___326 = 32768,
    MSG_WAITFORONE___326 = 65536,
    MSG_BATCH___326 = 262144,
    MSG_ZEROCOPY___326 = 67108864,
    MSG_FASTOPEN___326 = 536870912,
    MSG_CMSG_CLOEXEC___326 = 1073741824
} ;
enum __anonenum_617082774___326 {
    SCM_RIGHTS___326 = 1,
    SCM_CREDENTIALS___326 = 2
} ;
enum __anonenum_606441560___326 {
    SHUT_RD___326 = 0,
    SHUT_WR___326 = 1,
    SHUT_RDWR___326 = 2
} ;
enum __anonenum_681669233___326 {
    IPPROTO_IP___326 = 0,
    IPPROTO_ICMP___326 = 1,
    IPPROTO_IGMP___326 = 2,
    IPPROTO_IPIP___326 = 4,
    IPPROTO_TCP___326 = 6,
    IPPROTO_EGP___326 = 8,
    IPPROTO_PUP___326 = 12,
    IPPROTO_UDP___326 = 17,
    IPPROTO_IDP___326 = 22,
    IPPROTO_TP___326 = 29,
    IPPROTO_DCCP___326 = 33,
    IPPROTO_IPV6___326 = 41,
    IPPROTO_RSVP___326 = 46,
    IPPROTO_GRE___326 = 47,
    IPPROTO_ESP___326 = 50,
    IPPROTO_AH___326 = 51,
    IPPROTO_MTP___326 = 92,
    IPPROTO_BEETPH___326 = 94,
    IPPROTO_ENCAP___326 = 98,
    IPPROTO_PIM___326 = 103,
    IPPROTO_COMP___326 = 108,
    IPPROTO_SCTP___326 = 132,
    IPPROTO_UDPLITE___326 = 136,
    IPPROTO_MPLS___326 = 137,
    IPPROTO_RAW___326 = 255,
    IPPROTO_MAX___326 = 256
} ;
enum __anonenum_218739988___326 {
    IPPROTO_HOPOPTS___326 = 0,
    IPPROTO_ROUTING___326 = 43,
    IPPROTO_FRAGMENT___326 = 44,
    IPPROTO_ICMPV6___326 = 58,
    IPPROTO_NONE___326 = 59,
    IPPROTO_DSTOPTS___326 = 60,
    IPPROTO_MH___326 = 135
} ;
enum __anonenum_662268580___326 {
    IPPORT_ECHO___326 = 7,
    IPPORT_DISCARD___326 = 9,
    IPPORT_SYSTAT___326 = 11,
    IPPORT_DAYTIME___326 = 13,
    IPPORT_NETSTAT___326 = 15,
    IPPORT_FTP___326 = 21,
    IPPORT_TELNET___326 = 23,
    IPPORT_SMTP___326 = 25,
    IPPORT_TIMESERVER___326 = 37,
    IPPORT_NAMESERVER___326 = 42,
    IPPORT_WHOIS___326 = 43,
    IPPORT_MTP___326 = 57,
    IPPORT_TFTP___326 = 69,
    IPPORT_RJE___326 = 77,
    IPPORT_FINGER___326 = 79,
    IPPORT_TTYLINK___326 = 87,
    IPPORT_SUPDUP___326 = 95,
    IPPORT_EXECSERVER___326 = 512,
    IPPORT_LOGINSERVER___326 = 513,
    IPPORT_CMDSERVER___326 = 514,
    IPPORT_EFSSERVER___326 = 520,
    IPPORT_BIFFUDP___326 = 512,
    IPPORT_WHOSERVER___326 = 513,
    IPPORT_ROUTESERVER___326 = 520,
    IPPORT_RESERVED___326 = 1024,
    IPPORT_USERRESERVED___326 = 5000
} ;
enum __anonenum_788308992___326 {
    TCP_ESTABLISHED___326 = 1,
    TCP_SYN_SENT___326 = 2,
    TCP_SYN_RECV___326 = 3,
    TCP_FIN_WAIT1___326 = 4,
    TCP_FIN_WAIT2___326 = 5,
    TCP_TIME_WAIT___326 = 6,
    TCP_CLOSE___326 = 7,
    TCP_CLOSE_WAIT___326 = 8,
    TCP_LAST_ACK___326 = 9,
    TCP_LISTEN___326 = 10,
    TCP_CLOSING___326 = 11
} ;
enum __anonenum_221125648___326 {
    TCP_NO_QUEUE___326 = 0,
    TCP_RECV_QUEUE___326 = 1,
    TCP_SEND_QUEUE___326 = 2,
    TCP_QUEUES_NR___326 = 3
} ;
enum __anonenum_34415463___326 {
    PTHREAD_CREATE_JOINABLE___326 = 0,
    PTHREAD_CREATE_DETACHED___326 = 1
} ;
enum __anonenum_303612439___326 {
    PTHREAD_MUTEX_TIMED_NP___326 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___326 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___326 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___326 = 3,
    PTHREAD_MUTEX_NORMAL___326 = 0,
    PTHREAD_MUTEX_RECURSIVE___326 = 1,
    PTHREAD_MUTEX_ERRORCHECK___326 = 2,
    PTHREAD_MUTEX_DEFAULT___326 = 0,
    PTHREAD_MUTEX_FAST_NP___326 = 0
} ;
enum __anonenum_931900394___326 {
    PTHREAD_MUTEX_STALLED___326 = 0,
    PTHREAD_MUTEX_STALLED_NP___326 = 0,
    PTHREAD_MUTEX_ROBUST___326 = 1,
    PTHREAD_MUTEX_ROBUST_NP___326 = 1
} ;
enum __anonenum_205214487___326 {
    PTHREAD_PRIO_NONE___326 = 0,
    PTHREAD_PRIO_INHERIT___326 = 1,
    PTHREAD_PRIO_PROTECT___326 = 2
} ;
enum __anonenum_25043950___326 {
    PTHREAD_RWLOCK_PREFER_READER_NP___326 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___326 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___326 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___326 = 0
} ;
enum __anonenum_436439511___326 {
    PTHREAD_INHERIT_SCHED___326 = 0,
    PTHREAD_EXPLICIT_SCHED___326 = 1
} ;
enum __anonenum_998661166___326 {
    PTHREAD_SCOPE_SYSTEM___326 = 0,
    PTHREAD_SCOPE_PROCESS___326 = 1
} ;
enum __anonenum_146137331___326 {
    PTHREAD_PROCESS_PRIVATE___326 = 0,
    PTHREAD_PROCESS_SHARED___326 = 1
} ;
enum __anonenum_53396917___326 {
    PTHREAD_CANCEL_ENABLE___326 = 0,
    PTHREAD_CANCEL_DISABLE___326 = 1
} ;
enum __anonenum_904563783___326 {
    PTHREAD_CANCEL_DEFERRED___326 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___326 = 1
} ;
enum __anonenum_672052974___326 {
    SSL_CT_VALIDATION_PERMISSIVE___326 = 0,
    SSL_CT_VALIDATION_STRICT___326 = 1
} ;
enum __anonenum_437032235___327 {
    _PC_LINK_MAX___327 = 0,
    _PC_MAX_CANON___327 = 1,
    _PC_MAX_INPUT___327 = 2,
    _PC_NAME_MAX___327 = 3,
    _PC_PATH_MAX___327 = 4,
    _PC_PIPE_BUF___327 = 5,
    _PC_CHOWN_RESTRICTED___327 = 6,
    _PC_NO_TRUNC___327 = 7,
    _PC_VDISABLE___327 = 8,
    _PC_SYNC_IO___327 = 9,
    _PC_ASYNC_IO___327 = 10,
    _PC_PRIO_IO___327 = 11,
    _PC_SOCK_MAXBUF___327 = 12,
    _PC_FILESIZEBITS___327 = 13,
    _PC_REC_INCR_XFER_SIZE___327 = 14,
    _PC_REC_MAX_XFER_SIZE___327 = 15,
    _PC_REC_MIN_XFER_SIZE___327 = 16,
    _PC_REC_XFER_ALIGN___327 = 17,
    _PC_ALLOC_SIZE_MIN___327 = 18,
    _PC_SYMLINK_MAX___327 = 19,
    _PC_2_SYMLINKS___327 = 20
} ;
enum __anonenum_315186338___327 {
    _SC_ARG_MAX___327 = 0,
    _SC_CHILD_MAX___327 = 1,
    _SC_CLK_TCK___327 = 2,
    _SC_NGROUPS_MAX___327 = 3,
    _SC_OPEN_MAX___327 = 4,
    _SC_STREAM_MAX___327 = 5,
    _SC_TZNAME_MAX___327 = 6,
    _SC_JOB_CONTROL___327 = 7,
    _SC_SAVED_IDS___327 = 8,
    _SC_REALTIME_SIGNALS___327 = 9,
    _SC_PRIORITY_SCHEDULING___327 = 10,
    _SC_TIMERS___327 = 11,
    _SC_ASYNCHRONOUS_IO___327 = 12,
    _SC_PRIORITIZED_IO___327 = 13,
    _SC_SYNCHRONIZED_IO___327 = 14,
    _SC_FSYNC___327 = 15,
    _SC_MAPPED_FILES___327 = 16,
    _SC_MEMLOCK___327 = 17,
    _SC_MEMLOCK_RANGE___327 = 18,
    _SC_MEMORY_PROTECTION___327 = 19,
    _SC_MESSAGE_PASSING___327 = 20,
    _SC_SEMAPHORES___327 = 21,
    _SC_SHARED_MEMORY_OBJECTS___327 = 22,
    _SC_AIO_LISTIO_MAX___327 = 23,
    _SC_AIO_MAX___327 = 24,
    _SC_AIO_PRIO_DELTA_MAX___327 = 25,
    _SC_DELAYTIMER_MAX___327 = 26,
    _SC_MQ_OPEN_MAX___327 = 27,
    _SC_MQ_PRIO_MAX___327 = 28,
    _SC_VERSION___327 = 29,
    _SC_PAGESIZE___327 = 30,
    _SC_RTSIG_MAX___327 = 31,
    _SC_SEM_NSEMS_MAX___327 = 32,
    _SC_SEM_VALUE_MAX___327 = 33,
    _SC_SIGQUEUE_MAX___327 = 34,
    _SC_TIMER_MAX___327 = 35,
    _SC_BC_BASE_MAX___327 = 36,
    _SC_BC_DIM_MAX___327 = 37,
    _SC_BC_SCALE_MAX___327 = 38,
    _SC_BC_STRING_MAX___327 = 39,
    _SC_COLL_WEIGHTS_MAX___327 = 40,
    _SC_EQUIV_CLASS_MAX___327 = 41,
    _SC_EXPR_NEST_MAX___327 = 42,
    _SC_LINE_MAX___327 = 43,
    _SC_RE_DUP_MAX___327 = 44,
    _SC_CHARCLASS_NAME_MAX___327 = 45,
    _SC_2_VERSION___327 = 46,
    _SC_2_C_BIND___327 = 47,
    _SC_2_C_DEV___327 = 48,
    _SC_2_FORT_DEV___327 = 49,
    _SC_2_FORT_RUN___327 = 50,
    _SC_2_SW_DEV___327 = 51,
    _SC_2_LOCALEDEF___327 = 52,
    _SC_PII___327 = 53,
    _SC_PII_XTI___327 = 54,
    _SC_PII_SOCKET___327 = 55,
    _SC_PII_INTERNET___327 = 56,
    _SC_PII_OSI___327 = 57,
    _SC_POLL___327 = 58,
    _SC_SELECT___327 = 59,
    _SC_UIO_MAXIOV___327 = 60,
    _SC_IOV_MAX___327 = 60,
    _SC_PII_INTERNET_STREAM___327 = 61,
    _SC_PII_INTERNET_DGRAM___327 = 62,
    _SC_PII_OSI_COTS___327 = 63,
    _SC_PII_OSI_CLTS___327 = 64,
    _SC_PII_OSI_M___327 = 65,
    _SC_T_IOV_MAX___327 = 66,
    _SC_THREADS___327 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___327 = 68,
    _SC_GETGR_R_SIZE_MAX___327 = 69,
    _SC_GETPW_R_SIZE_MAX___327 = 70,
    _SC_LOGIN_NAME_MAX___327 = 71,
    _SC_TTY_NAME_MAX___327 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___327 = 73,
    _SC_THREAD_KEYS_MAX___327 = 74,
    _SC_THREAD_STACK_MIN___327 = 75,
    _SC_THREAD_THREADS_MAX___327 = 76,
    _SC_THREAD_ATTR_STACKADDR___327 = 77,
    _SC_THREAD_ATTR_STACKSIZE___327 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___327 = 79,
    _SC_THREAD_PRIO_INHERIT___327 = 80,
    _SC_THREAD_PRIO_PROTECT___327 = 81,
    _SC_THREAD_PROCESS_SHARED___327 = 82,
    _SC_NPROCESSORS_CONF___327 = 83,
    _SC_NPROCESSORS_ONLN___327 = 84,
    _SC_PHYS_PAGES___327 = 85,
    _SC_AVPHYS_PAGES___327 = 86,
    _SC_ATEXIT_MAX___327 = 87,
    _SC_PASS_MAX___327 = 88,
    _SC_XOPEN_VERSION___327 = 89,
    _SC_XOPEN_XCU_VERSION___327 = 90,
    _SC_XOPEN_UNIX___327 = 91,
    _SC_XOPEN_CRYPT___327 = 92,
    _SC_XOPEN_ENH_I18N___327 = 93,
    _SC_XOPEN_SHM___327 = 94,
    _SC_2_CHAR_TERM___327 = 95,
    _SC_2_C_VERSION___327 = 96,
    _SC_2_UPE___327 = 97,
    _SC_XOPEN_XPG2___327 = 98,
    _SC_XOPEN_XPG3___327 = 99,
    _SC_XOPEN_XPG4___327 = 100,
    _SC_CHAR_BIT___327 = 101,
    _SC_CHAR_MAX___327 = 102,
    _SC_CHAR_MIN___327 = 103,
    _SC_INT_MAX___327 = 104,
    _SC_INT_MIN___327 = 105,
    _SC_LONG_BIT___327 = 106,
    _SC_WORD_BIT___327 = 107,
    _SC_MB_LEN_MAX___327 = 108,
    _SC_NZERO___327 = 109,
    _SC_SSIZE_MAX___327 = 110,
    _SC_SCHAR_MAX___327 = 111,
    _SC_SCHAR_MIN___327 = 112,
    _SC_SHRT_MAX___327 = 113,
    _SC_SHRT_MIN___327 = 114,
    _SC_UCHAR_MAX___327 = 115,
    _SC_UINT_MAX___327 = 116,
    _SC_ULONG_MAX___327 = 117,
    _SC_USHRT_MAX___327 = 118,
    _SC_NL_ARGMAX___327 = 119,
    _SC_NL_LANGMAX___327 = 120,
    _SC_NL_MSGMAX___327 = 121,
    _SC_NL_NMAX___327 = 122,
    _SC_NL_SETMAX___327 = 123,
    _SC_NL_TEXTMAX___327 = 124,
    _SC_XBS5_ILP32_OFF32___327 = 125,
    _SC_XBS5_ILP32_OFFBIG___327 = 126,
    _SC_XBS5_LP64_OFF64___327 = 127,
    _SC_XBS5_LPBIG_OFFBIG___327 = 128,
    _SC_XOPEN_LEGACY___327 = 129,
    _SC_XOPEN_REALTIME___327 = 130,
    _SC_XOPEN_REALTIME_THREADS___327 = 131,
    _SC_ADVISORY_INFO___327 = 132,
    _SC_BARRIERS___327 = 133,
    _SC_BASE___327 = 134,
    _SC_C_LANG_SUPPORT___327 = 135,
    _SC_C_LANG_SUPPORT_R___327 = 136,
    _SC_CLOCK_SELECTION___327 = 137,
    _SC_CPUTIME___327 = 138,
    _SC_THREAD_CPUTIME___327 = 139,
    _SC_DEVICE_IO___327 = 140,
    _SC_DEVICE_SPECIFIC___327 = 141,
    _SC_DEVICE_SPECIFIC_R___327 = 142,
    _SC_FD_MGMT___327 = 143,
    _SC_FIFO___327 = 144,
    _SC_PIPE___327 = 145,
    _SC_FILE_ATTRIBUTES___327 = 146,
    _SC_FILE_LOCKING___327 = 147,
    _SC_FILE_SYSTEM___327 = 148,
    _SC_MONOTONIC_CLOCK___327 = 149,
    _SC_MULTI_PROCESS___327 = 150,
    _SC_SINGLE_PROCESS___327 = 151,
    _SC_NETWORKING___327 = 152,
    _SC_READER_WRITER_LOCKS___327 = 153,
    _SC_SPIN_LOCKS___327 = 154,
    _SC_REGEXP___327 = 155,
    _SC_REGEX_VERSION___327 = 156,
    _SC_SHELL___327 = 157,
    _SC_SIGNALS___327 = 158,
    _SC_SPAWN___327 = 159,
    _SC_SPORADIC_SERVER___327 = 160,
    _SC_THREAD_SPORADIC_SERVER___327 = 161,
    _SC_SYSTEM_DATABASE___327 = 162,
    _SC_SYSTEM_DATABASE_R___327 = 163,
    _SC_TIMEOUTS___327 = 164,
    _SC_TYPED_MEMORY_OBJECTS___327 = 165,
    _SC_USER_GROUPS___327 = 166,
    _SC_USER_GROUPS_R___327 = 167,
    _SC_2_PBS___327 = 168,
    _SC_2_PBS_ACCOUNTING___327 = 169,
    _SC_2_PBS_LOCATE___327 = 170,
    _SC_2_PBS_MESSAGE___327 = 171,
    _SC_2_PBS_TRACK___327 = 172,
    _SC_SYMLOOP_MAX___327 = 173,
    _SC_STREAMS___327 = 174,
    _SC_2_PBS_CHECKPOINT___327 = 175,
    _SC_V6_ILP32_OFF32___327 = 176,
    _SC_V6_ILP32_OFFBIG___327 = 177,
    _SC_V6_LP64_OFF64___327 = 178,
    _SC_V6_LPBIG_OFFBIG___327 = 179,
    _SC_HOST_NAME_MAX___327 = 180,
    _SC_TRACE___327 = 181,
    _SC_TRACE_EVENT_FILTER___327 = 182,
    _SC_TRACE_INHERIT___327 = 183,
    _SC_TRACE_LOG___327 = 184,
    _SC_LEVEL1_ICACHE_SIZE___327 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___327 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___327 = 187,
    _SC_LEVEL1_DCACHE_SIZE___327 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___327 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___327 = 190,
    _SC_LEVEL2_CACHE_SIZE___327 = 191,
    _SC_LEVEL2_CACHE_ASSOC___327 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___327 = 193,
    _SC_LEVEL3_CACHE_SIZE___327 = 194,
    _SC_LEVEL3_CACHE_ASSOC___327 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___327 = 196,
    _SC_LEVEL4_CACHE_SIZE___327 = 197,
    _SC_LEVEL4_CACHE_ASSOC___327 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___327 = 199,
    _SC_IPV6___327 = 235,
    _SC_RAW_SOCKETS___327 = 236,
    _SC_V7_ILP32_OFF32___327 = 237,
    _SC_V7_ILP32_OFFBIG___327 = 238,
    _SC_V7_LP64_OFF64___327 = 239,
    _SC_V7_LPBIG_OFFBIG___327 = 240,
    _SC_SS_REPL_MAX___327 = 241,
    _SC_TRACE_EVENT_NAME_MAX___327 = 242,
    _SC_TRACE_NAME_MAX___327 = 243,
    _SC_TRACE_SYS_MAX___327 = 244,
    _SC_TRACE_USER_EVENT_MAX___327 = 245,
    _SC_XOPEN_STREAMS___327 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___327 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___327 = 248
} ;
enum __anonenum_875524036___327 {
    _CS_PATH___327 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___327 = 1,
    _CS_GNU_LIBC_VERSION___327 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___327 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___327 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___327 = 5,
    _CS_LFS_CFLAGS___327 = 1000,
    _CS_LFS_LDFLAGS___327 = 1001,
    _CS_LFS_LIBS___327 = 1002,
    _CS_LFS_LINTFLAGS___327 = 1003,
    _CS_LFS64_CFLAGS___327 = 1004,
    _CS_LFS64_LDFLAGS___327 = 1005,
    _CS_LFS64_LIBS___327 = 1006,
    _CS_LFS64_LINTFLAGS___327 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___327 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___327 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___327 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___327 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___327 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___327 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___327 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___327 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___327 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___327 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___327 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___327 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___327 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___327 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___327 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___327 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___327 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___327 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___327 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___327 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___327 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___327 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___327 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___327 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___327 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___327 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___327 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___327 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___327 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___327 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___327 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___327 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___327 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___327 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___327 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___327 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___327 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___327 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___327 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___327 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___327 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___327 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___327 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___327 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___327 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___327 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___327 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___327 = 1147,
    _CS_V6_ENV___327 = 1148,
    _CS_V7_ENV___327 = 1149
} ;
enum __anonenum_513775621___327 {
    DT_UNKNOWN___327 = 0,
    DT_FIFO___327 = 1,
    DT_CHR___327 = 2,
    DT_DIR___327 = 4,
    DT_BLK___327 = 6,
    DT_REG___327 = 8,
    DT_LNK___327 = 10,
    DT_SOCK___327 = 12,
    DT_WHT___327 = 14
} ;
enum __anonenum_77002343___327 {
    SI_ASYNCNL___327 = -60,
    SI_TKILL___327 = -6,
    SI_SIGIO___327 = -5,
    SI_ASYNCIO___327 = -4,
    SI_MESGQ___327 = -3,
    SI_TIMER___327 = -2,
    SI_QUEUE___327 = -1,
    SI_USER___327 = 0,
    SI_KERNEL___327 = 128
} ;
enum __anonenum_131038172___327 {
    ILL_ILLOPC___327 = 1,
    ILL_ILLOPN___327 = 2,
    ILL_ILLADR___327 = 3,
    ILL_ILLTRP___327 = 4,
    ILL_PRVOPC___327 = 5,
    ILL_PRVREG___327 = 6,
    ILL_COPROC___327 = 7,
    ILL_BADSTK___327 = 8
} ;
enum __anonenum_452038093___327 {
    FPE_INTDIV___327 = 1,
    FPE_INTOVF___327 = 2,
    FPE_FLTDIV___327 = 3,
    FPE_FLTOVF___327 = 4,
    FPE_FLTUND___327 = 5,
    FPE_FLTRES___327 = 6,
    FPE_FLTINV___327 = 7,
    FPE_FLTSUB___327 = 8
} ;
enum __anonenum_30976155___327 {
    SEGV_MAPERR___327 = 1,
    SEGV_ACCERR___327 = 2,
    SEGV_BNDERR___327 = 3,
    SEGV_PKUERR___327 = 4
} ;
enum __anonenum_1036286214___327 {
    BUS_ADRALN___327 = 1,
    BUS_ADRERR___327 = 2,
    BUS_OBJERR___327 = 3,
    BUS_MCEERR_AR___327 = 4,
    BUS_MCEERR_AO___327 = 5
} ;
enum __anonenum_493465559___327 {
    TRAP_BRKPT___327 = 1,
    TRAP_TRACE___327 = 2
} ;
enum __anonenum_23175539___327 {
    CLD_EXITED___327 = 1,
    CLD_KILLED___327 = 2,
    CLD_DUMPED___327 = 3,
    CLD_TRAPPED___327 = 4,
    CLD_STOPPED___327 = 5,
    CLD_CONTINUED___327 = 6
} ;
enum __anonenum_111643124___327 {
    POLL_IN___327 = 1,
    POLL_OUT___327 = 2,
    POLL_MSG___327 = 3,
    POLL_ERR___327 = 4,
    POLL_PRI___327 = 5,
    POLL_HUP___327 = 6
} ;
enum __anonenum_852341087___327 {
    SIGEV_SIGNAL___327 = 0,
    SIGEV_NONE___327 = 1,
    SIGEV_THREAD___327 = 2,
    SIGEV_THREAD_ID___327 = 4
} ;
enum __anonenum_451154152___327 {
    REG_R8___327 = 0,
    REG_R9___327 = 1,
    REG_R10___327 = 2,
    REG_R11___327 = 3,
    REG_R12___327 = 4,
    REG_R13___327 = 5,
    REG_R14___327 = 6,
    REG_R15___327 = 7,
    REG_RDI___327 = 8,
    REG_RSI___327 = 9,
    REG_RBP___327 = 10,
    REG_RBX___327 = 11,
    REG_RDX___327 = 12,
    REG_RAX___327 = 13,
    REG_RCX___327 = 14,
    REG_RSP___327 = 15,
    REG_RIP___327 = 16,
    REG_EFL___327 = 17,
    REG_CSGSFS___327 = 18,
    REG_ERR___327 = 19,
    REG_TRAPNO___327 = 20,
    REG_OLDMASK___327 = 21,
    REG_CR2___327 = 22
} ;
enum __anonenum_57186863___327 {
    SS_ONSTACK___327 = 1,
    SS_DISABLE___327 = 2
} ;
enum __anonenum_83571709___327 {
    MSG_OOB___327 = 1,
    MSG_PEEK___327 = 2,
    MSG_DONTROUTE___327 = 4,
    MSG_TRYHARD___327 = 4,
    MSG_CTRUNC___327 = 8,
    MSG_PROXY___327 = 16,
    MSG_TRUNC___327 = 32,
    MSG_DONTWAIT___327 = 64,
    MSG_EOR___327 = 128,
    MSG_WAITALL___327 = 256,
    MSG_FIN___327 = 512,
    MSG_SYN___327 = 1024,
    MSG_CONFIRM___327 = 2048,
    MSG_RST___327 = 4096,
    MSG_ERRQUEUE___327 = 8192,
    MSG_NOSIGNAL___327 = 16384,
    MSG_MORE___327 = 32768,
    MSG_WAITFORONE___327 = 65536,
    MSG_BATCH___327 = 262144,
    MSG_ZEROCOPY___327 = 67108864,
    MSG_FASTOPEN___327 = 536870912,
    MSG_CMSG_CLOEXEC___327 = 1073741824
} ;
enum __anonenum_617082774___327 {
    SCM_RIGHTS___327 = 1,
    SCM_CREDENTIALS___327 = 2
} ;
enum __anonenum_606441560___327 {
    SHUT_RD___327 = 0,
    SHUT_WR___327 = 1,
    SHUT_RDWR___327 = 2
} ;
enum __anonenum_681669233___327 {
    IPPROTO_IP___327 = 0,
    IPPROTO_ICMP___327 = 1,
    IPPROTO_IGMP___327 = 2,
    IPPROTO_IPIP___327 = 4,
    IPPROTO_TCP___327 = 6,
    IPPROTO_EGP___327 = 8,
    IPPROTO_PUP___327 = 12,
    IPPROTO_UDP___327 = 17,
    IPPROTO_IDP___327 = 22,
    IPPROTO_TP___327 = 29,
    IPPROTO_DCCP___327 = 33,
    IPPROTO_IPV6___327 = 41,
    IPPROTO_RSVP___327 = 46,
    IPPROTO_GRE___327 = 47,
    IPPROTO_ESP___327 = 50,
    IPPROTO_AH___327 = 51,
    IPPROTO_MTP___327 = 92,
    IPPROTO_BEETPH___327 = 94,
    IPPROTO_ENCAP___327 = 98,
    IPPROTO_PIM___327 = 103,
    IPPROTO_COMP___327 = 108,
    IPPROTO_SCTP___327 = 132,
    IPPROTO_UDPLITE___327 = 136,
    IPPROTO_MPLS___327 = 137,
    IPPROTO_RAW___327 = 255,
    IPPROTO_MAX___327 = 256
} ;
enum __anonenum_218739988___327 {
    IPPROTO_HOPOPTS___327 = 0,
    IPPROTO_ROUTING___327 = 43,
    IPPROTO_FRAGMENT___327 = 44,
    IPPROTO_ICMPV6___327 = 58,
    IPPROTO_NONE___327 = 59,
    IPPROTO_DSTOPTS___327 = 60,
    IPPROTO_MH___327 = 135
} ;
enum __anonenum_662268580___327 {
    IPPORT_ECHO___327 = 7,
    IPPORT_DISCARD___327 = 9,
    IPPORT_SYSTAT___327 = 11,
    IPPORT_DAYTIME___327 = 13,
    IPPORT_NETSTAT___327 = 15,
    IPPORT_FTP___327 = 21,
    IPPORT_TELNET___327 = 23,
    IPPORT_SMTP___327 = 25,
    IPPORT_TIMESERVER___327 = 37,
    IPPORT_NAMESERVER___327 = 42,
    IPPORT_WHOIS___327 = 43,
    IPPORT_MTP___327 = 57,
    IPPORT_TFTP___327 = 69,
    IPPORT_RJE___327 = 77,
    IPPORT_FINGER___327 = 79,
    IPPORT_TTYLINK___327 = 87,
    IPPORT_SUPDUP___327 = 95,
    IPPORT_EXECSERVER___327 = 512,
    IPPORT_LOGINSERVER___327 = 513,
    IPPORT_CMDSERVER___327 = 514,
    IPPORT_EFSSERVER___327 = 520,
    IPPORT_BIFFUDP___327 = 512,
    IPPORT_WHOSERVER___327 = 513,
    IPPORT_ROUTESERVER___327 = 520,
    IPPORT_RESERVED___327 = 1024,
    IPPORT_USERRESERVED___327 = 5000
} ;
enum __anonenum_788308992___327 {
    TCP_ESTABLISHED___327 = 1,
    TCP_SYN_SENT___327 = 2,
    TCP_SYN_RECV___327 = 3,
    TCP_FIN_WAIT1___327 = 4,
    TCP_FIN_WAIT2___327 = 5,
    TCP_TIME_WAIT___327 = 6,
    TCP_CLOSE___327 = 7,
    TCP_CLOSE_WAIT___327 = 8,
    TCP_LAST_ACK___327 = 9,
    TCP_LISTEN___327 = 10,
    TCP_CLOSING___327 = 11
} ;
enum __anonenum_221125648___327 {
    TCP_NO_QUEUE___327 = 0,
    TCP_RECV_QUEUE___327 = 1,
    TCP_SEND_QUEUE___327 = 2,
    TCP_QUEUES_NR___327 = 3
} ;
enum __anonenum_34415463___327 {
    PTHREAD_CREATE_JOINABLE___327 = 0,
    PTHREAD_CREATE_DETACHED___327 = 1
} ;
enum __anonenum_303612439___327 {
    PTHREAD_MUTEX_TIMED_NP___327 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___327 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___327 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___327 = 3,
    PTHREAD_MUTEX_NORMAL___327 = 0,
    PTHREAD_MUTEX_RECURSIVE___327 = 1,
    PTHREAD_MUTEX_ERRORCHECK___327 = 2,
    PTHREAD_MUTEX_DEFAULT___327 = 0,
    PTHREAD_MUTEX_FAST_NP___327 = 0
} ;
enum __anonenum_931900394___327 {
    PTHREAD_MUTEX_STALLED___327 = 0,
    PTHREAD_MUTEX_STALLED_NP___327 = 0,
    PTHREAD_MUTEX_ROBUST___327 = 1,
    PTHREAD_MUTEX_ROBUST_NP___327 = 1
} ;
enum __anonenum_205214487___327 {
    PTHREAD_PRIO_NONE___327 = 0,
    PTHREAD_PRIO_INHERIT___327 = 1,
    PTHREAD_PRIO_PROTECT___327 = 2
} ;
enum __anonenum_25043950___327 {
    PTHREAD_RWLOCK_PREFER_READER_NP___327 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___327 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___327 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___327 = 0
} ;
enum __anonenum_436439511___327 {
    PTHREAD_INHERIT_SCHED___327 = 0,
    PTHREAD_EXPLICIT_SCHED___327 = 1
} ;
enum __anonenum_998661166___327 {
    PTHREAD_SCOPE_SYSTEM___327 = 0,
    PTHREAD_SCOPE_PROCESS___327 = 1
} ;
enum __anonenum_146137331___327 {
    PTHREAD_PROCESS_PRIVATE___327 = 0,
    PTHREAD_PROCESS_SHARED___327 = 1
} ;
enum __anonenum_53396917___327 {
    PTHREAD_CANCEL_ENABLE___327 = 0,
    PTHREAD_CANCEL_DISABLE___327 = 1
} ;
enum __anonenum_904563783___327 {
    PTHREAD_CANCEL_DEFERRED___327 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___327 = 1
} ;
enum __anonenum_672052974___327 {
    SSL_CT_VALIDATION_PERMISSIVE___327 = 0,
    SSL_CT_VALIDATION_STRICT___327 = 1
} ;
enum __anonenum_policy_109145473 {
    CHARSET_DEFAULT = 0,
    CHARSET_NO_REENCODE = 1,
    CHARSET_EXPLICIT = 2
} ;
struct metainfo_charset {
   enum __anonenum_policy_109145473 policy ;
   char const   *charset ;
};
enum __anonenum_437032235___328 {
    _PC_LINK_MAX___328 = 0,
    _PC_MAX_CANON___328 = 1,
    _PC_MAX_INPUT___328 = 2,
    _PC_NAME_MAX___328 = 3,
    _PC_PATH_MAX___328 = 4,
    _PC_PIPE_BUF___328 = 5,
    _PC_CHOWN_RESTRICTED___328 = 6,
    _PC_NO_TRUNC___328 = 7,
    _PC_VDISABLE___328 = 8,
    _PC_SYNC_IO___328 = 9,
    _PC_ASYNC_IO___328 = 10,
    _PC_PRIO_IO___328 = 11,
    _PC_SOCK_MAXBUF___328 = 12,
    _PC_FILESIZEBITS___328 = 13,
    _PC_REC_INCR_XFER_SIZE___328 = 14,
    _PC_REC_MAX_XFER_SIZE___328 = 15,
    _PC_REC_MIN_XFER_SIZE___328 = 16,
    _PC_REC_XFER_ALIGN___328 = 17,
    _PC_ALLOC_SIZE_MIN___328 = 18,
    _PC_SYMLINK_MAX___328 = 19,
    _PC_2_SYMLINKS___328 = 20
} ;
enum __anonenum_315186338___328 {
    _SC_ARG_MAX___328 = 0,
    _SC_CHILD_MAX___328 = 1,
    _SC_CLK_TCK___328 = 2,
    _SC_NGROUPS_MAX___328 = 3,
    _SC_OPEN_MAX___328 = 4,
    _SC_STREAM_MAX___328 = 5,
    _SC_TZNAME_MAX___328 = 6,
    _SC_JOB_CONTROL___328 = 7,
    _SC_SAVED_IDS___328 = 8,
    _SC_REALTIME_SIGNALS___328 = 9,
    _SC_PRIORITY_SCHEDULING___328 = 10,
    _SC_TIMERS___328 = 11,
    _SC_ASYNCHRONOUS_IO___328 = 12,
    _SC_PRIORITIZED_IO___328 = 13,
    _SC_SYNCHRONIZED_IO___328 = 14,
    _SC_FSYNC___328 = 15,
    _SC_MAPPED_FILES___328 = 16,
    _SC_MEMLOCK___328 = 17,
    _SC_MEMLOCK_RANGE___328 = 18,
    _SC_MEMORY_PROTECTION___328 = 19,
    _SC_MESSAGE_PASSING___328 = 20,
    _SC_SEMAPHORES___328 = 21,
    _SC_SHARED_MEMORY_OBJECTS___328 = 22,
    _SC_AIO_LISTIO_MAX___328 = 23,
    _SC_AIO_MAX___328 = 24,
    _SC_AIO_PRIO_DELTA_MAX___328 = 25,
    _SC_DELAYTIMER_MAX___328 = 26,
    _SC_MQ_OPEN_MAX___328 = 27,
    _SC_MQ_PRIO_MAX___328 = 28,
    _SC_VERSION___328 = 29,
    _SC_PAGESIZE___328 = 30,
    _SC_RTSIG_MAX___328 = 31,
    _SC_SEM_NSEMS_MAX___328 = 32,
    _SC_SEM_VALUE_MAX___328 = 33,
    _SC_SIGQUEUE_MAX___328 = 34,
    _SC_TIMER_MAX___328 = 35,
    _SC_BC_BASE_MAX___328 = 36,
    _SC_BC_DIM_MAX___328 = 37,
    _SC_BC_SCALE_MAX___328 = 38,
    _SC_BC_STRING_MAX___328 = 39,
    _SC_COLL_WEIGHTS_MAX___328 = 40,
    _SC_EQUIV_CLASS_MAX___328 = 41,
    _SC_EXPR_NEST_MAX___328 = 42,
    _SC_LINE_MAX___328 = 43,
    _SC_RE_DUP_MAX___328 = 44,
    _SC_CHARCLASS_NAME_MAX___328 = 45,
    _SC_2_VERSION___328 = 46,
    _SC_2_C_BIND___328 = 47,
    _SC_2_C_DEV___328 = 48,
    _SC_2_FORT_DEV___328 = 49,
    _SC_2_FORT_RUN___328 = 50,
    _SC_2_SW_DEV___328 = 51,
    _SC_2_LOCALEDEF___328 = 52,
    _SC_PII___328 = 53,
    _SC_PII_XTI___328 = 54,
    _SC_PII_SOCKET___328 = 55,
    _SC_PII_INTERNET___328 = 56,
    _SC_PII_OSI___328 = 57,
    _SC_POLL___328 = 58,
    _SC_SELECT___328 = 59,
    _SC_UIO_MAXIOV___328 = 60,
    _SC_IOV_MAX___328 = 60,
    _SC_PII_INTERNET_STREAM___328 = 61,
    _SC_PII_INTERNET_DGRAM___328 = 62,
    _SC_PII_OSI_COTS___328 = 63,
    _SC_PII_OSI_CLTS___328 = 64,
    _SC_PII_OSI_M___328 = 65,
    _SC_T_IOV_MAX___328 = 66,
    _SC_THREADS___328 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___328 = 68,
    _SC_GETGR_R_SIZE_MAX___328 = 69,
    _SC_GETPW_R_SIZE_MAX___328 = 70,
    _SC_LOGIN_NAME_MAX___328 = 71,
    _SC_TTY_NAME_MAX___328 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___328 = 73,
    _SC_THREAD_KEYS_MAX___328 = 74,
    _SC_THREAD_STACK_MIN___328 = 75,
    _SC_THREAD_THREADS_MAX___328 = 76,
    _SC_THREAD_ATTR_STACKADDR___328 = 77,
    _SC_THREAD_ATTR_STACKSIZE___328 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___328 = 79,
    _SC_THREAD_PRIO_INHERIT___328 = 80,
    _SC_THREAD_PRIO_PROTECT___328 = 81,
    _SC_THREAD_PROCESS_SHARED___328 = 82,
    _SC_NPROCESSORS_CONF___328 = 83,
    _SC_NPROCESSORS_ONLN___328 = 84,
    _SC_PHYS_PAGES___328 = 85,
    _SC_AVPHYS_PAGES___328 = 86,
    _SC_ATEXIT_MAX___328 = 87,
    _SC_PASS_MAX___328 = 88,
    _SC_XOPEN_VERSION___328 = 89,
    _SC_XOPEN_XCU_VERSION___328 = 90,
    _SC_XOPEN_UNIX___328 = 91,
    _SC_XOPEN_CRYPT___328 = 92,
    _SC_XOPEN_ENH_I18N___328 = 93,
    _SC_XOPEN_SHM___328 = 94,
    _SC_2_CHAR_TERM___328 = 95,
    _SC_2_C_VERSION___328 = 96,
    _SC_2_UPE___328 = 97,
    _SC_XOPEN_XPG2___328 = 98,
    _SC_XOPEN_XPG3___328 = 99,
    _SC_XOPEN_XPG4___328 = 100,
    _SC_CHAR_BIT___328 = 101,
    _SC_CHAR_MAX___328 = 102,
    _SC_CHAR_MIN___328 = 103,
    _SC_INT_MAX___328 = 104,
    _SC_INT_MIN___328 = 105,
    _SC_LONG_BIT___328 = 106,
    _SC_WORD_BIT___328 = 107,
    _SC_MB_LEN_MAX___328 = 108,
    _SC_NZERO___328 = 109,
    _SC_SSIZE_MAX___328 = 110,
    _SC_SCHAR_MAX___328 = 111,
    _SC_SCHAR_MIN___328 = 112,
    _SC_SHRT_MAX___328 = 113,
    _SC_SHRT_MIN___328 = 114,
    _SC_UCHAR_MAX___328 = 115,
    _SC_UINT_MAX___328 = 116,
    _SC_ULONG_MAX___328 = 117,
    _SC_USHRT_MAX___328 = 118,
    _SC_NL_ARGMAX___328 = 119,
    _SC_NL_LANGMAX___328 = 120,
    _SC_NL_MSGMAX___328 = 121,
    _SC_NL_NMAX___328 = 122,
    _SC_NL_SETMAX___328 = 123,
    _SC_NL_TEXTMAX___328 = 124,
    _SC_XBS5_ILP32_OFF32___328 = 125,
    _SC_XBS5_ILP32_OFFBIG___328 = 126,
    _SC_XBS5_LP64_OFF64___328 = 127,
    _SC_XBS5_LPBIG_OFFBIG___328 = 128,
    _SC_XOPEN_LEGACY___328 = 129,
    _SC_XOPEN_REALTIME___328 = 130,
    _SC_XOPEN_REALTIME_THREADS___328 = 131,
    _SC_ADVISORY_INFO___328 = 132,
    _SC_BARRIERS___328 = 133,
    _SC_BASE___328 = 134,
    _SC_C_LANG_SUPPORT___328 = 135,
    _SC_C_LANG_SUPPORT_R___328 = 136,
    _SC_CLOCK_SELECTION___328 = 137,
    _SC_CPUTIME___328 = 138,
    _SC_THREAD_CPUTIME___328 = 139,
    _SC_DEVICE_IO___328 = 140,
    _SC_DEVICE_SPECIFIC___328 = 141,
    _SC_DEVICE_SPECIFIC_R___328 = 142,
    _SC_FD_MGMT___328 = 143,
    _SC_FIFO___328 = 144,
    _SC_PIPE___328 = 145,
    _SC_FILE_ATTRIBUTES___328 = 146,
    _SC_FILE_LOCKING___328 = 147,
    _SC_FILE_SYSTEM___328 = 148,
    _SC_MONOTONIC_CLOCK___328 = 149,
    _SC_MULTI_PROCESS___328 = 150,
    _SC_SINGLE_PROCESS___328 = 151,
    _SC_NETWORKING___328 = 152,
    _SC_READER_WRITER_LOCKS___328 = 153,
    _SC_SPIN_LOCKS___328 = 154,
    _SC_REGEXP___328 = 155,
    _SC_REGEX_VERSION___328 = 156,
    _SC_SHELL___328 = 157,
    _SC_SIGNALS___328 = 158,
    _SC_SPAWN___328 = 159,
    _SC_SPORADIC_SERVER___328 = 160,
    _SC_THREAD_SPORADIC_SERVER___328 = 161,
    _SC_SYSTEM_DATABASE___328 = 162,
    _SC_SYSTEM_DATABASE_R___328 = 163,
    _SC_TIMEOUTS___328 = 164,
    _SC_TYPED_MEMORY_OBJECTS___328 = 165,
    _SC_USER_GROUPS___328 = 166,
    _SC_USER_GROUPS_R___328 = 167,
    _SC_2_PBS___328 = 168,
    _SC_2_PBS_ACCOUNTING___328 = 169,
    _SC_2_PBS_LOCATE___328 = 170,
    _SC_2_PBS_MESSAGE___328 = 171,
    _SC_2_PBS_TRACK___328 = 172,
    _SC_SYMLOOP_MAX___328 = 173,
    _SC_STREAMS___328 = 174,
    _SC_2_PBS_CHECKPOINT___328 = 175,
    _SC_V6_ILP32_OFF32___328 = 176,
    _SC_V6_ILP32_OFFBIG___328 = 177,
    _SC_V6_LP64_OFF64___328 = 178,
    _SC_V6_LPBIG_OFFBIG___328 = 179,
    _SC_HOST_NAME_MAX___328 = 180,
    _SC_TRACE___328 = 181,
    _SC_TRACE_EVENT_FILTER___328 = 182,
    _SC_TRACE_INHERIT___328 = 183,
    _SC_TRACE_LOG___328 = 184,
    _SC_LEVEL1_ICACHE_SIZE___328 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___328 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___328 = 187,
    _SC_LEVEL1_DCACHE_SIZE___328 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___328 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___328 = 190,
    _SC_LEVEL2_CACHE_SIZE___328 = 191,
    _SC_LEVEL2_CACHE_ASSOC___328 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___328 = 193,
    _SC_LEVEL3_CACHE_SIZE___328 = 194,
    _SC_LEVEL3_CACHE_ASSOC___328 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___328 = 196,
    _SC_LEVEL4_CACHE_SIZE___328 = 197,
    _SC_LEVEL4_CACHE_ASSOC___328 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___328 = 199,
    _SC_IPV6___328 = 235,
    _SC_RAW_SOCKETS___328 = 236,
    _SC_V7_ILP32_OFF32___328 = 237,
    _SC_V7_ILP32_OFFBIG___328 = 238,
    _SC_V7_LP64_OFF64___328 = 239,
    _SC_V7_LPBIG_OFFBIG___328 = 240,
    _SC_SS_REPL_MAX___328 = 241,
    _SC_TRACE_EVENT_NAME_MAX___328 = 242,
    _SC_TRACE_NAME_MAX___328 = 243,
    _SC_TRACE_SYS_MAX___328 = 244,
    _SC_TRACE_USER_EVENT_MAX___328 = 245,
    _SC_XOPEN_STREAMS___328 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___328 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___328 = 248
} ;
enum __anonenum_875524036___328 {
    _CS_PATH___328 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___328 = 1,
    _CS_GNU_LIBC_VERSION___328 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___328 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___328 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___328 = 5,
    _CS_LFS_CFLAGS___328 = 1000,
    _CS_LFS_LDFLAGS___328 = 1001,
    _CS_LFS_LIBS___328 = 1002,
    _CS_LFS_LINTFLAGS___328 = 1003,
    _CS_LFS64_CFLAGS___328 = 1004,
    _CS_LFS64_LDFLAGS___328 = 1005,
    _CS_LFS64_LIBS___328 = 1006,
    _CS_LFS64_LINTFLAGS___328 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___328 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___328 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___328 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___328 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___328 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___328 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___328 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___328 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___328 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___328 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___328 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___328 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___328 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___328 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___328 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___328 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___328 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___328 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___328 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___328 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___328 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___328 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___328 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___328 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___328 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___328 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___328 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___328 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___328 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___328 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___328 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___328 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___328 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___328 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___328 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___328 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___328 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___328 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___328 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___328 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___328 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___328 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___328 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___328 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___328 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___328 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___328 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___328 = 1147,
    _CS_V6_ENV___328 = 1148,
    _CS_V7_ENV___328 = 1149
} ;
enum __anonenum_513775621___328 {
    DT_UNKNOWN___328 = 0,
    DT_FIFO___328 = 1,
    DT_CHR___328 = 2,
    DT_DIR___328 = 4,
    DT_BLK___328 = 6,
    DT_REG___328 = 8,
    DT_LNK___328 = 10,
    DT_SOCK___328 = 12,
    DT_WHT___328 = 14
} ;
enum __anonenum_77002343___328 {
    SI_ASYNCNL___328 = -60,
    SI_TKILL___328 = -6,
    SI_SIGIO___328 = -5,
    SI_ASYNCIO___328 = -4,
    SI_MESGQ___328 = -3,
    SI_TIMER___328 = -2,
    SI_QUEUE___328 = -1,
    SI_USER___328 = 0,
    SI_KERNEL___328 = 128
} ;
enum __anonenum_131038172___328 {
    ILL_ILLOPC___328 = 1,
    ILL_ILLOPN___328 = 2,
    ILL_ILLADR___328 = 3,
    ILL_ILLTRP___328 = 4,
    ILL_PRVOPC___328 = 5,
    ILL_PRVREG___328 = 6,
    ILL_COPROC___328 = 7,
    ILL_BADSTK___328 = 8
} ;
enum __anonenum_452038093___328 {
    FPE_INTDIV___328 = 1,
    FPE_INTOVF___328 = 2,
    FPE_FLTDIV___328 = 3,
    FPE_FLTOVF___328 = 4,
    FPE_FLTUND___328 = 5,
    FPE_FLTRES___328 = 6,
    FPE_FLTINV___328 = 7,
    FPE_FLTSUB___328 = 8
} ;
enum __anonenum_30976155___328 {
    SEGV_MAPERR___328 = 1,
    SEGV_ACCERR___328 = 2,
    SEGV_BNDERR___328 = 3,
    SEGV_PKUERR___328 = 4
} ;
enum __anonenum_1036286214___328 {
    BUS_ADRALN___328 = 1,
    BUS_ADRERR___328 = 2,
    BUS_OBJERR___328 = 3,
    BUS_MCEERR_AR___328 = 4,
    BUS_MCEERR_AO___328 = 5
} ;
enum __anonenum_493465559___328 {
    TRAP_BRKPT___328 = 1,
    TRAP_TRACE___328 = 2
} ;
enum __anonenum_23175539___328 {
    CLD_EXITED___328 = 1,
    CLD_KILLED___328 = 2,
    CLD_DUMPED___328 = 3,
    CLD_TRAPPED___328 = 4,
    CLD_STOPPED___328 = 5,
    CLD_CONTINUED___328 = 6
} ;
enum __anonenum_111643124___328 {
    POLL_IN___328 = 1,
    POLL_OUT___328 = 2,
    POLL_MSG___328 = 3,
    POLL_ERR___328 = 4,
    POLL_PRI___328 = 5,
    POLL_HUP___328 = 6
} ;
enum __anonenum_852341087___328 {
    SIGEV_SIGNAL___328 = 0,
    SIGEV_NONE___328 = 1,
    SIGEV_THREAD___328 = 2,
    SIGEV_THREAD_ID___328 = 4
} ;
enum __anonenum_451154152___328 {
    REG_R8___328 = 0,
    REG_R9___328 = 1,
    REG_R10___328 = 2,
    REG_R11___328 = 3,
    REG_R12___328 = 4,
    REG_R13___328 = 5,
    REG_R14___328 = 6,
    REG_R15___328 = 7,
    REG_RDI___328 = 8,
    REG_RSI___328 = 9,
    REG_RBP___328 = 10,
    REG_RBX___328 = 11,
    REG_RDX___328 = 12,
    REG_RAX___328 = 13,
    REG_RCX___328 = 14,
    REG_RSP___328 = 15,
    REG_RIP___328 = 16,
    REG_EFL___328 = 17,
    REG_CSGSFS___328 = 18,
    REG_ERR___328 = 19,
    REG_TRAPNO___328 = 20,
    REG_OLDMASK___328 = 21,
    REG_CR2___328 = 22
} ;
enum __anonenum_57186863___328 {
    SS_ONSTACK___328 = 1,
    SS_DISABLE___328 = 2
} ;
enum __anonenum_83571709___328 {
    MSG_OOB___328 = 1,
    MSG_PEEK___328 = 2,
    MSG_DONTROUTE___328 = 4,
    MSG_TRYHARD___328 = 4,
    MSG_CTRUNC___328 = 8,
    MSG_PROXY___328 = 16,
    MSG_TRUNC___328 = 32,
    MSG_DONTWAIT___328 = 64,
    MSG_EOR___328 = 128,
    MSG_WAITALL___328 = 256,
    MSG_FIN___328 = 512,
    MSG_SYN___328 = 1024,
    MSG_CONFIRM___328 = 2048,
    MSG_RST___328 = 4096,
    MSG_ERRQUEUE___328 = 8192,
    MSG_NOSIGNAL___328 = 16384,
    MSG_MORE___328 = 32768,
    MSG_WAITFORONE___328 = 65536,
    MSG_BATCH___328 = 262144,
    MSG_ZEROCOPY___328 = 67108864,
    MSG_FASTOPEN___328 = 536870912,
    MSG_CMSG_CLOEXEC___328 = 1073741824
} ;
enum __anonenum_617082774___328 {
    SCM_RIGHTS___328 = 1,
    SCM_CREDENTIALS___328 = 2
} ;
enum __anonenum_606441560___328 {
    SHUT_RD___328 = 0,
    SHUT_WR___328 = 1,
    SHUT_RDWR___328 = 2
} ;
enum __anonenum_681669233___328 {
    IPPROTO_IP___328 = 0,
    IPPROTO_ICMP___328 = 1,
    IPPROTO_IGMP___328 = 2,
    IPPROTO_IPIP___328 = 4,
    IPPROTO_TCP___328 = 6,
    IPPROTO_EGP___328 = 8,
    IPPROTO_PUP___328 = 12,
    IPPROTO_UDP___328 = 17,
    IPPROTO_IDP___328 = 22,
    IPPROTO_TP___328 = 29,
    IPPROTO_DCCP___328 = 33,
    IPPROTO_IPV6___328 = 41,
    IPPROTO_RSVP___328 = 46,
    IPPROTO_GRE___328 = 47,
    IPPROTO_ESP___328 = 50,
    IPPROTO_AH___328 = 51,
    IPPROTO_MTP___328 = 92,
    IPPROTO_BEETPH___328 = 94,
    IPPROTO_ENCAP___328 = 98,
    IPPROTO_PIM___328 = 103,
    IPPROTO_COMP___328 = 108,
    IPPROTO_SCTP___328 = 132,
    IPPROTO_UDPLITE___328 = 136,
    IPPROTO_MPLS___328 = 137,
    IPPROTO_RAW___328 = 255,
    IPPROTO_MAX___328 = 256
} ;
enum __anonenum_218739988___328 {
    IPPROTO_HOPOPTS___328 = 0,
    IPPROTO_ROUTING___328 = 43,
    IPPROTO_FRAGMENT___328 = 44,
    IPPROTO_ICMPV6___328 = 58,
    IPPROTO_NONE___328 = 59,
    IPPROTO_DSTOPTS___328 = 60,
    IPPROTO_MH___328 = 135
} ;
enum __anonenum_662268580___328 {
    IPPORT_ECHO___328 = 7,
    IPPORT_DISCARD___328 = 9,
    IPPORT_SYSTAT___328 = 11,
    IPPORT_DAYTIME___328 = 13,
    IPPORT_NETSTAT___328 = 15,
    IPPORT_FTP___328 = 21,
    IPPORT_TELNET___328 = 23,
    IPPORT_SMTP___328 = 25,
    IPPORT_TIMESERVER___328 = 37,
    IPPORT_NAMESERVER___328 = 42,
    IPPORT_WHOIS___328 = 43,
    IPPORT_MTP___328 = 57,
    IPPORT_TFTP___328 = 69,
    IPPORT_RJE___328 = 77,
    IPPORT_FINGER___328 = 79,
    IPPORT_TTYLINK___328 = 87,
    IPPORT_SUPDUP___328 = 95,
    IPPORT_EXECSERVER___328 = 512,
    IPPORT_LOGINSERVER___328 = 513,
    IPPORT_CMDSERVER___328 = 514,
    IPPORT_EFSSERVER___328 = 520,
    IPPORT_BIFFUDP___328 = 512,
    IPPORT_WHOSERVER___328 = 513,
    IPPORT_ROUTESERVER___328 = 520,
    IPPORT_RESERVED___328 = 1024,
    IPPORT_USERRESERVED___328 = 5000
} ;
enum __anonenum_788308992___328 {
    TCP_ESTABLISHED___328 = 1,
    TCP_SYN_SENT___328 = 2,
    TCP_SYN_RECV___328 = 3,
    TCP_FIN_WAIT1___328 = 4,
    TCP_FIN_WAIT2___328 = 5,
    TCP_TIME_WAIT___328 = 6,
    TCP_CLOSE___328 = 7,
    TCP_CLOSE_WAIT___328 = 8,
    TCP_LAST_ACK___328 = 9,
    TCP_LISTEN___328 = 10,
    TCP_CLOSING___328 = 11
} ;
enum __anonenum_221125648___328 {
    TCP_NO_QUEUE___328 = 0,
    TCP_RECV_QUEUE___328 = 1,
    TCP_SEND_QUEUE___328 = 2,
    TCP_QUEUES_NR___328 = 3
} ;
enum __anonenum_34415463___328 {
    PTHREAD_CREATE_JOINABLE___328 = 0,
    PTHREAD_CREATE_DETACHED___328 = 1
} ;
enum __anonenum_303612439___328 {
    PTHREAD_MUTEX_TIMED_NP___328 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___328 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___328 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___328 = 3,
    PTHREAD_MUTEX_NORMAL___328 = 0,
    PTHREAD_MUTEX_RECURSIVE___328 = 1,
    PTHREAD_MUTEX_ERRORCHECK___328 = 2,
    PTHREAD_MUTEX_DEFAULT___328 = 0,
    PTHREAD_MUTEX_FAST_NP___328 = 0
} ;
enum __anonenum_931900394___328 {
    PTHREAD_MUTEX_STALLED___328 = 0,
    PTHREAD_MUTEX_STALLED_NP___328 = 0,
    PTHREAD_MUTEX_ROBUST___328 = 1,
    PTHREAD_MUTEX_ROBUST_NP___328 = 1
} ;
enum __anonenum_205214487___328 {
    PTHREAD_PRIO_NONE___328 = 0,
    PTHREAD_PRIO_INHERIT___328 = 1,
    PTHREAD_PRIO_PROTECT___328 = 2
} ;
enum __anonenum_25043950___328 {
    PTHREAD_RWLOCK_PREFER_READER_NP___328 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___328 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___328 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___328 = 0
} ;
enum __anonenum_436439511___328 {
    PTHREAD_INHERIT_SCHED___328 = 0,
    PTHREAD_EXPLICIT_SCHED___328 = 1
} ;
enum __anonenum_998661166___328 {
    PTHREAD_SCOPE_SYSTEM___328 = 0,
    PTHREAD_SCOPE_PROCESS___328 = 1
} ;
enum __anonenum_146137331___328 {
    PTHREAD_PROCESS_PRIVATE___328 = 0,
    PTHREAD_PROCESS_SHARED___328 = 1
} ;
enum __anonenum_53396917___328 {
    PTHREAD_CANCEL_ENABLE___328 = 0,
    PTHREAD_CANCEL_DISABLE___328 = 1
} ;
enum __anonenum_904563783___328 {
    PTHREAD_CANCEL_DEFERRED___328 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___328 = 1
} ;
enum __anonenum_672052974___328 {
    SSL_CT_VALIDATION_PERMISSIVE___328 = 0,
    SSL_CT_VALIDATION_STRICT___328 = 1
} ;
enum __anonenum_437032235___329 {
    _PC_LINK_MAX___329 = 0,
    _PC_MAX_CANON___329 = 1,
    _PC_MAX_INPUT___329 = 2,
    _PC_NAME_MAX___329 = 3,
    _PC_PATH_MAX___329 = 4,
    _PC_PIPE_BUF___329 = 5,
    _PC_CHOWN_RESTRICTED___329 = 6,
    _PC_NO_TRUNC___329 = 7,
    _PC_VDISABLE___329 = 8,
    _PC_SYNC_IO___329 = 9,
    _PC_ASYNC_IO___329 = 10,
    _PC_PRIO_IO___329 = 11,
    _PC_SOCK_MAXBUF___329 = 12,
    _PC_FILESIZEBITS___329 = 13,
    _PC_REC_INCR_XFER_SIZE___329 = 14,
    _PC_REC_MAX_XFER_SIZE___329 = 15,
    _PC_REC_MIN_XFER_SIZE___329 = 16,
    _PC_REC_XFER_ALIGN___329 = 17,
    _PC_ALLOC_SIZE_MIN___329 = 18,
    _PC_SYMLINK_MAX___329 = 19,
    _PC_2_SYMLINKS___329 = 20
} ;
enum __anonenum_315186338___329 {
    _SC_ARG_MAX___329 = 0,
    _SC_CHILD_MAX___329 = 1,
    _SC_CLK_TCK___329 = 2,
    _SC_NGROUPS_MAX___329 = 3,
    _SC_OPEN_MAX___329 = 4,
    _SC_STREAM_MAX___329 = 5,
    _SC_TZNAME_MAX___329 = 6,
    _SC_JOB_CONTROL___329 = 7,
    _SC_SAVED_IDS___329 = 8,
    _SC_REALTIME_SIGNALS___329 = 9,
    _SC_PRIORITY_SCHEDULING___329 = 10,
    _SC_TIMERS___329 = 11,
    _SC_ASYNCHRONOUS_IO___329 = 12,
    _SC_PRIORITIZED_IO___329 = 13,
    _SC_SYNCHRONIZED_IO___329 = 14,
    _SC_FSYNC___329 = 15,
    _SC_MAPPED_FILES___329 = 16,
    _SC_MEMLOCK___329 = 17,
    _SC_MEMLOCK_RANGE___329 = 18,
    _SC_MEMORY_PROTECTION___329 = 19,
    _SC_MESSAGE_PASSING___329 = 20,
    _SC_SEMAPHORES___329 = 21,
    _SC_SHARED_MEMORY_OBJECTS___329 = 22,
    _SC_AIO_LISTIO_MAX___329 = 23,
    _SC_AIO_MAX___329 = 24,
    _SC_AIO_PRIO_DELTA_MAX___329 = 25,
    _SC_DELAYTIMER_MAX___329 = 26,
    _SC_MQ_OPEN_MAX___329 = 27,
    _SC_MQ_PRIO_MAX___329 = 28,
    _SC_VERSION___329 = 29,
    _SC_PAGESIZE___329 = 30,
    _SC_RTSIG_MAX___329 = 31,
    _SC_SEM_NSEMS_MAX___329 = 32,
    _SC_SEM_VALUE_MAX___329 = 33,
    _SC_SIGQUEUE_MAX___329 = 34,
    _SC_TIMER_MAX___329 = 35,
    _SC_BC_BASE_MAX___329 = 36,
    _SC_BC_DIM_MAX___329 = 37,
    _SC_BC_SCALE_MAX___329 = 38,
    _SC_BC_STRING_MAX___329 = 39,
    _SC_COLL_WEIGHTS_MAX___329 = 40,
    _SC_EQUIV_CLASS_MAX___329 = 41,
    _SC_EXPR_NEST_MAX___329 = 42,
    _SC_LINE_MAX___329 = 43,
    _SC_RE_DUP_MAX___329 = 44,
    _SC_CHARCLASS_NAME_MAX___329 = 45,
    _SC_2_VERSION___329 = 46,
    _SC_2_C_BIND___329 = 47,
    _SC_2_C_DEV___329 = 48,
    _SC_2_FORT_DEV___329 = 49,
    _SC_2_FORT_RUN___329 = 50,
    _SC_2_SW_DEV___329 = 51,
    _SC_2_LOCALEDEF___329 = 52,
    _SC_PII___329 = 53,
    _SC_PII_XTI___329 = 54,
    _SC_PII_SOCKET___329 = 55,
    _SC_PII_INTERNET___329 = 56,
    _SC_PII_OSI___329 = 57,
    _SC_POLL___329 = 58,
    _SC_SELECT___329 = 59,
    _SC_UIO_MAXIOV___329 = 60,
    _SC_IOV_MAX___329 = 60,
    _SC_PII_INTERNET_STREAM___329 = 61,
    _SC_PII_INTERNET_DGRAM___329 = 62,
    _SC_PII_OSI_COTS___329 = 63,
    _SC_PII_OSI_CLTS___329 = 64,
    _SC_PII_OSI_M___329 = 65,
    _SC_T_IOV_MAX___329 = 66,
    _SC_THREADS___329 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___329 = 68,
    _SC_GETGR_R_SIZE_MAX___329 = 69,
    _SC_GETPW_R_SIZE_MAX___329 = 70,
    _SC_LOGIN_NAME_MAX___329 = 71,
    _SC_TTY_NAME_MAX___329 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___329 = 73,
    _SC_THREAD_KEYS_MAX___329 = 74,
    _SC_THREAD_STACK_MIN___329 = 75,
    _SC_THREAD_THREADS_MAX___329 = 76,
    _SC_THREAD_ATTR_STACKADDR___329 = 77,
    _SC_THREAD_ATTR_STACKSIZE___329 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___329 = 79,
    _SC_THREAD_PRIO_INHERIT___329 = 80,
    _SC_THREAD_PRIO_PROTECT___329 = 81,
    _SC_THREAD_PROCESS_SHARED___329 = 82,
    _SC_NPROCESSORS_CONF___329 = 83,
    _SC_NPROCESSORS_ONLN___329 = 84,
    _SC_PHYS_PAGES___329 = 85,
    _SC_AVPHYS_PAGES___329 = 86,
    _SC_ATEXIT_MAX___329 = 87,
    _SC_PASS_MAX___329 = 88,
    _SC_XOPEN_VERSION___329 = 89,
    _SC_XOPEN_XCU_VERSION___329 = 90,
    _SC_XOPEN_UNIX___329 = 91,
    _SC_XOPEN_CRYPT___329 = 92,
    _SC_XOPEN_ENH_I18N___329 = 93,
    _SC_XOPEN_SHM___329 = 94,
    _SC_2_CHAR_TERM___329 = 95,
    _SC_2_C_VERSION___329 = 96,
    _SC_2_UPE___329 = 97,
    _SC_XOPEN_XPG2___329 = 98,
    _SC_XOPEN_XPG3___329 = 99,
    _SC_XOPEN_XPG4___329 = 100,
    _SC_CHAR_BIT___329 = 101,
    _SC_CHAR_MAX___329 = 102,
    _SC_CHAR_MIN___329 = 103,
    _SC_INT_MAX___329 = 104,
    _SC_INT_MIN___329 = 105,
    _SC_LONG_BIT___329 = 106,
    _SC_WORD_BIT___329 = 107,
    _SC_MB_LEN_MAX___329 = 108,
    _SC_NZERO___329 = 109,
    _SC_SSIZE_MAX___329 = 110,
    _SC_SCHAR_MAX___329 = 111,
    _SC_SCHAR_MIN___329 = 112,
    _SC_SHRT_MAX___329 = 113,
    _SC_SHRT_MIN___329 = 114,
    _SC_UCHAR_MAX___329 = 115,
    _SC_UINT_MAX___329 = 116,
    _SC_ULONG_MAX___329 = 117,
    _SC_USHRT_MAX___329 = 118,
    _SC_NL_ARGMAX___329 = 119,
    _SC_NL_LANGMAX___329 = 120,
    _SC_NL_MSGMAX___329 = 121,
    _SC_NL_NMAX___329 = 122,
    _SC_NL_SETMAX___329 = 123,
    _SC_NL_TEXTMAX___329 = 124,
    _SC_XBS5_ILP32_OFF32___329 = 125,
    _SC_XBS5_ILP32_OFFBIG___329 = 126,
    _SC_XBS5_LP64_OFF64___329 = 127,
    _SC_XBS5_LPBIG_OFFBIG___329 = 128,
    _SC_XOPEN_LEGACY___329 = 129,
    _SC_XOPEN_REALTIME___329 = 130,
    _SC_XOPEN_REALTIME_THREADS___329 = 131,
    _SC_ADVISORY_INFO___329 = 132,
    _SC_BARRIERS___329 = 133,
    _SC_BASE___329 = 134,
    _SC_C_LANG_SUPPORT___329 = 135,
    _SC_C_LANG_SUPPORT_R___329 = 136,
    _SC_CLOCK_SELECTION___329 = 137,
    _SC_CPUTIME___329 = 138,
    _SC_THREAD_CPUTIME___329 = 139,
    _SC_DEVICE_IO___329 = 140,
    _SC_DEVICE_SPECIFIC___329 = 141,
    _SC_DEVICE_SPECIFIC_R___329 = 142,
    _SC_FD_MGMT___329 = 143,
    _SC_FIFO___329 = 144,
    _SC_PIPE___329 = 145,
    _SC_FILE_ATTRIBUTES___329 = 146,
    _SC_FILE_LOCKING___329 = 147,
    _SC_FILE_SYSTEM___329 = 148,
    _SC_MONOTONIC_CLOCK___329 = 149,
    _SC_MULTI_PROCESS___329 = 150,
    _SC_SINGLE_PROCESS___329 = 151,
    _SC_NETWORKING___329 = 152,
    _SC_READER_WRITER_LOCKS___329 = 153,
    _SC_SPIN_LOCKS___329 = 154,
    _SC_REGEXP___329 = 155,
    _SC_REGEX_VERSION___329 = 156,
    _SC_SHELL___329 = 157,
    _SC_SIGNALS___329 = 158,
    _SC_SPAWN___329 = 159,
    _SC_SPORADIC_SERVER___329 = 160,
    _SC_THREAD_SPORADIC_SERVER___329 = 161,
    _SC_SYSTEM_DATABASE___329 = 162,
    _SC_SYSTEM_DATABASE_R___329 = 163,
    _SC_TIMEOUTS___329 = 164,
    _SC_TYPED_MEMORY_OBJECTS___329 = 165,
    _SC_USER_GROUPS___329 = 166,
    _SC_USER_GROUPS_R___329 = 167,
    _SC_2_PBS___329 = 168,
    _SC_2_PBS_ACCOUNTING___329 = 169,
    _SC_2_PBS_LOCATE___329 = 170,
    _SC_2_PBS_MESSAGE___329 = 171,
    _SC_2_PBS_TRACK___329 = 172,
    _SC_SYMLOOP_MAX___329 = 173,
    _SC_STREAMS___329 = 174,
    _SC_2_PBS_CHECKPOINT___329 = 175,
    _SC_V6_ILP32_OFF32___329 = 176,
    _SC_V6_ILP32_OFFBIG___329 = 177,
    _SC_V6_LP64_OFF64___329 = 178,
    _SC_V6_LPBIG_OFFBIG___329 = 179,
    _SC_HOST_NAME_MAX___329 = 180,
    _SC_TRACE___329 = 181,
    _SC_TRACE_EVENT_FILTER___329 = 182,
    _SC_TRACE_INHERIT___329 = 183,
    _SC_TRACE_LOG___329 = 184,
    _SC_LEVEL1_ICACHE_SIZE___329 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___329 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___329 = 187,
    _SC_LEVEL1_DCACHE_SIZE___329 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___329 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___329 = 190,
    _SC_LEVEL2_CACHE_SIZE___329 = 191,
    _SC_LEVEL2_CACHE_ASSOC___329 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___329 = 193,
    _SC_LEVEL3_CACHE_SIZE___329 = 194,
    _SC_LEVEL3_CACHE_ASSOC___329 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___329 = 196,
    _SC_LEVEL4_CACHE_SIZE___329 = 197,
    _SC_LEVEL4_CACHE_ASSOC___329 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___329 = 199,
    _SC_IPV6___329 = 235,
    _SC_RAW_SOCKETS___329 = 236,
    _SC_V7_ILP32_OFF32___329 = 237,
    _SC_V7_ILP32_OFFBIG___329 = 238,
    _SC_V7_LP64_OFF64___329 = 239,
    _SC_V7_LPBIG_OFFBIG___329 = 240,
    _SC_SS_REPL_MAX___329 = 241,
    _SC_TRACE_EVENT_NAME_MAX___329 = 242,
    _SC_TRACE_NAME_MAX___329 = 243,
    _SC_TRACE_SYS_MAX___329 = 244,
    _SC_TRACE_USER_EVENT_MAX___329 = 245,
    _SC_XOPEN_STREAMS___329 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___329 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___329 = 248
} ;
enum __anonenum_875524036___329 {
    _CS_PATH___329 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___329 = 1,
    _CS_GNU_LIBC_VERSION___329 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___329 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___329 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___329 = 5,
    _CS_LFS_CFLAGS___329 = 1000,
    _CS_LFS_LDFLAGS___329 = 1001,
    _CS_LFS_LIBS___329 = 1002,
    _CS_LFS_LINTFLAGS___329 = 1003,
    _CS_LFS64_CFLAGS___329 = 1004,
    _CS_LFS64_LDFLAGS___329 = 1005,
    _CS_LFS64_LIBS___329 = 1006,
    _CS_LFS64_LINTFLAGS___329 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___329 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___329 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___329 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___329 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___329 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___329 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___329 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___329 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___329 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___329 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___329 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___329 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___329 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___329 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___329 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___329 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___329 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___329 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___329 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___329 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___329 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___329 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___329 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___329 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___329 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___329 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___329 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___329 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___329 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___329 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___329 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___329 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___329 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___329 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___329 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___329 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___329 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___329 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___329 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___329 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___329 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___329 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___329 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___329 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___329 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___329 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___329 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___329 = 1147,
    _CS_V6_ENV___329 = 1148,
    _CS_V7_ENV___329 = 1149
} ;
enum __anonenum_513775621___329 {
    DT_UNKNOWN___329 = 0,
    DT_FIFO___329 = 1,
    DT_CHR___329 = 2,
    DT_DIR___329 = 4,
    DT_BLK___329 = 6,
    DT_REG___329 = 8,
    DT_LNK___329 = 10,
    DT_SOCK___329 = 12,
    DT_WHT___329 = 14
} ;
enum __anonenum_77002343___329 {
    SI_ASYNCNL___329 = -60,
    SI_TKILL___329 = -6,
    SI_SIGIO___329 = -5,
    SI_ASYNCIO___329 = -4,
    SI_MESGQ___329 = -3,
    SI_TIMER___329 = -2,
    SI_QUEUE___329 = -1,
    SI_USER___329 = 0,
    SI_KERNEL___329 = 128
} ;
enum __anonenum_131038172___329 {
    ILL_ILLOPC___329 = 1,
    ILL_ILLOPN___329 = 2,
    ILL_ILLADR___329 = 3,
    ILL_ILLTRP___329 = 4,
    ILL_PRVOPC___329 = 5,
    ILL_PRVREG___329 = 6,
    ILL_COPROC___329 = 7,
    ILL_BADSTK___329 = 8
} ;
enum __anonenum_452038093___329 {
    FPE_INTDIV___329 = 1,
    FPE_INTOVF___329 = 2,
    FPE_FLTDIV___329 = 3,
    FPE_FLTOVF___329 = 4,
    FPE_FLTUND___329 = 5,
    FPE_FLTRES___329 = 6,
    FPE_FLTINV___329 = 7,
    FPE_FLTSUB___329 = 8
} ;
enum __anonenum_30976155___329 {
    SEGV_MAPERR___329 = 1,
    SEGV_ACCERR___329 = 2,
    SEGV_BNDERR___329 = 3,
    SEGV_PKUERR___329 = 4
} ;
enum __anonenum_1036286214___329 {
    BUS_ADRALN___329 = 1,
    BUS_ADRERR___329 = 2,
    BUS_OBJERR___329 = 3,
    BUS_MCEERR_AR___329 = 4,
    BUS_MCEERR_AO___329 = 5
} ;
enum __anonenum_493465559___329 {
    TRAP_BRKPT___329 = 1,
    TRAP_TRACE___329 = 2
} ;
enum __anonenum_23175539___329 {
    CLD_EXITED___329 = 1,
    CLD_KILLED___329 = 2,
    CLD_DUMPED___329 = 3,
    CLD_TRAPPED___329 = 4,
    CLD_STOPPED___329 = 5,
    CLD_CONTINUED___329 = 6
} ;
enum __anonenum_111643124___329 {
    POLL_IN___329 = 1,
    POLL_OUT___329 = 2,
    POLL_MSG___329 = 3,
    POLL_ERR___329 = 4,
    POLL_PRI___329 = 5,
    POLL_HUP___329 = 6
} ;
enum __anonenum_852341087___329 {
    SIGEV_SIGNAL___329 = 0,
    SIGEV_NONE___329 = 1,
    SIGEV_THREAD___329 = 2,
    SIGEV_THREAD_ID___329 = 4
} ;
enum __anonenum_451154152___329 {
    REG_R8___329 = 0,
    REG_R9___329 = 1,
    REG_R10___329 = 2,
    REG_R11___329 = 3,
    REG_R12___329 = 4,
    REG_R13___329 = 5,
    REG_R14___329 = 6,
    REG_R15___329 = 7,
    REG_RDI___329 = 8,
    REG_RSI___329 = 9,
    REG_RBP___329 = 10,
    REG_RBX___329 = 11,
    REG_RDX___329 = 12,
    REG_RAX___329 = 13,
    REG_RCX___329 = 14,
    REG_RSP___329 = 15,
    REG_RIP___329 = 16,
    REG_EFL___329 = 17,
    REG_CSGSFS___329 = 18,
    REG_ERR___329 = 19,
    REG_TRAPNO___329 = 20,
    REG_OLDMASK___329 = 21,
    REG_CR2___329 = 22
} ;
enum __anonenum_57186863___329 {
    SS_ONSTACK___329 = 1,
    SS_DISABLE___329 = 2
} ;
enum __anonenum_83571709___329 {
    MSG_OOB___329 = 1,
    MSG_PEEK___329 = 2,
    MSG_DONTROUTE___329 = 4,
    MSG_TRYHARD___329 = 4,
    MSG_CTRUNC___329 = 8,
    MSG_PROXY___329 = 16,
    MSG_TRUNC___329 = 32,
    MSG_DONTWAIT___329 = 64,
    MSG_EOR___329 = 128,
    MSG_WAITALL___329 = 256,
    MSG_FIN___329 = 512,
    MSG_SYN___329 = 1024,
    MSG_CONFIRM___329 = 2048,
    MSG_RST___329 = 4096,
    MSG_ERRQUEUE___329 = 8192,
    MSG_NOSIGNAL___329 = 16384,
    MSG_MORE___329 = 32768,
    MSG_WAITFORONE___329 = 65536,
    MSG_BATCH___329 = 262144,
    MSG_ZEROCOPY___329 = 67108864,
    MSG_FASTOPEN___329 = 536870912,
    MSG_CMSG_CLOEXEC___329 = 1073741824
} ;
enum __anonenum_617082774___329 {
    SCM_RIGHTS___329 = 1,
    SCM_CREDENTIALS___329 = 2
} ;
enum __anonenum_606441560___329 {
    SHUT_RD___329 = 0,
    SHUT_WR___329 = 1,
    SHUT_RDWR___329 = 2
} ;
enum __anonenum_681669233___329 {
    IPPROTO_IP___329 = 0,
    IPPROTO_ICMP___329 = 1,
    IPPROTO_IGMP___329 = 2,
    IPPROTO_IPIP___329 = 4,
    IPPROTO_TCP___329 = 6,
    IPPROTO_EGP___329 = 8,
    IPPROTO_PUP___329 = 12,
    IPPROTO_UDP___329 = 17,
    IPPROTO_IDP___329 = 22,
    IPPROTO_TP___329 = 29,
    IPPROTO_DCCP___329 = 33,
    IPPROTO_IPV6___329 = 41,
    IPPROTO_RSVP___329 = 46,
    IPPROTO_GRE___329 = 47,
    IPPROTO_ESP___329 = 50,
    IPPROTO_AH___329 = 51,
    IPPROTO_MTP___329 = 92,
    IPPROTO_BEETPH___329 = 94,
    IPPROTO_ENCAP___329 = 98,
    IPPROTO_PIM___329 = 103,
    IPPROTO_COMP___329 = 108,
    IPPROTO_SCTP___329 = 132,
    IPPROTO_UDPLITE___329 = 136,
    IPPROTO_MPLS___329 = 137,
    IPPROTO_RAW___329 = 255,
    IPPROTO_MAX___329 = 256
} ;
enum __anonenum_218739988___329 {
    IPPROTO_HOPOPTS___329 = 0,
    IPPROTO_ROUTING___329 = 43,
    IPPROTO_FRAGMENT___329 = 44,
    IPPROTO_ICMPV6___329 = 58,
    IPPROTO_NONE___329 = 59,
    IPPROTO_DSTOPTS___329 = 60,
    IPPROTO_MH___329 = 135
} ;
enum __anonenum_662268580___329 {
    IPPORT_ECHO___329 = 7,
    IPPORT_DISCARD___329 = 9,
    IPPORT_SYSTAT___329 = 11,
    IPPORT_DAYTIME___329 = 13,
    IPPORT_NETSTAT___329 = 15,
    IPPORT_FTP___329 = 21,
    IPPORT_TELNET___329 = 23,
    IPPORT_SMTP___329 = 25,
    IPPORT_TIMESERVER___329 = 37,
    IPPORT_NAMESERVER___329 = 42,
    IPPORT_WHOIS___329 = 43,
    IPPORT_MTP___329 = 57,
    IPPORT_TFTP___329 = 69,
    IPPORT_RJE___329 = 77,
    IPPORT_FINGER___329 = 79,
    IPPORT_TTYLINK___329 = 87,
    IPPORT_SUPDUP___329 = 95,
    IPPORT_EXECSERVER___329 = 512,
    IPPORT_LOGINSERVER___329 = 513,
    IPPORT_CMDSERVER___329 = 514,
    IPPORT_EFSSERVER___329 = 520,
    IPPORT_BIFFUDP___329 = 512,
    IPPORT_WHOSERVER___329 = 513,
    IPPORT_ROUTESERVER___329 = 520,
    IPPORT_RESERVED___329 = 1024,
    IPPORT_USERRESERVED___329 = 5000
} ;
enum __anonenum_788308992___329 {
    TCP_ESTABLISHED___329 = 1,
    TCP_SYN_SENT___329 = 2,
    TCP_SYN_RECV___329 = 3,
    TCP_FIN_WAIT1___329 = 4,
    TCP_FIN_WAIT2___329 = 5,
    TCP_TIME_WAIT___329 = 6,
    TCP_CLOSE___329 = 7,
    TCP_CLOSE_WAIT___329 = 8,
    TCP_LAST_ACK___329 = 9,
    TCP_LISTEN___329 = 10,
    TCP_CLOSING___329 = 11
} ;
enum __anonenum_221125648___329 {
    TCP_NO_QUEUE___329 = 0,
    TCP_RECV_QUEUE___329 = 1,
    TCP_SEND_QUEUE___329 = 2,
    TCP_QUEUES_NR___329 = 3
} ;
enum __anonenum_34415463___329 {
    PTHREAD_CREATE_JOINABLE___329 = 0,
    PTHREAD_CREATE_DETACHED___329 = 1
} ;
enum __anonenum_303612439___329 {
    PTHREAD_MUTEX_TIMED_NP___329 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___329 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___329 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___329 = 3,
    PTHREAD_MUTEX_NORMAL___329 = 0,
    PTHREAD_MUTEX_RECURSIVE___329 = 1,
    PTHREAD_MUTEX_ERRORCHECK___329 = 2,
    PTHREAD_MUTEX_DEFAULT___329 = 0,
    PTHREAD_MUTEX_FAST_NP___329 = 0
} ;
enum __anonenum_931900394___329 {
    PTHREAD_MUTEX_STALLED___329 = 0,
    PTHREAD_MUTEX_STALLED_NP___329 = 0,
    PTHREAD_MUTEX_ROBUST___329 = 1,
    PTHREAD_MUTEX_ROBUST_NP___329 = 1
} ;
enum __anonenum_205214487___329 {
    PTHREAD_PRIO_NONE___329 = 0,
    PTHREAD_PRIO_INHERIT___329 = 1,
    PTHREAD_PRIO_PROTECT___329 = 2
} ;
enum __anonenum_25043950___329 {
    PTHREAD_RWLOCK_PREFER_READER_NP___329 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___329 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___329 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___329 = 0
} ;
enum __anonenum_436439511___329 {
    PTHREAD_INHERIT_SCHED___329 = 0,
    PTHREAD_EXPLICIT_SCHED___329 = 1
} ;
enum __anonenum_998661166___329 {
    PTHREAD_SCOPE_SYSTEM___329 = 0,
    PTHREAD_SCOPE_PROCESS___329 = 1
} ;
enum __anonenum_146137331___329 {
    PTHREAD_PROCESS_PRIVATE___329 = 0,
    PTHREAD_PROCESS_SHARED___329 = 1
} ;
enum __anonenum_53396917___329 {
    PTHREAD_CANCEL_ENABLE___329 = 0,
    PTHREAD_CANCEL_DISABLE___329 = 1
} ;
enum __anonenum_904563783___329 {
    PTHREAD_CANCEL_DEFERRED___329 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___329 = 1
} ;
enum __anonenum_672052974___329 {
    SSL_CT_VALIDATION_PERMISSIVE___329 = 0,
    SSL_CT_VALIDATION_STRICT___329 = 1
} ;
enum __anonenum_437032235___330 {
    _PC_LINK_MAX___330 = 0,
    _PC_MAX_CANON___330 = 1,
    _PC_MAX_INPUT___330 = 2,
    _PC_NAME_MAX___330 = 3,
    _PC_PATH_MAX___330 = 4,
    _PC_PIPE_BUF___330 = 5,
    _PC_CHOWN_RESTRICTED___330 = 6,
    _PC_NO_TRUNC___330 = 7,
    _PC_VDISABLE___330 = 8,
    _PC_SYNC_IO___330 = 9,
    _PC_ASYNC_IO___330 = 10,
    _PC_PRIO_IO___330 = 11,
    _PC_SOCK_MAXBUF___330 = 12,
    _PC_FILESIZEBITS___330 = 13,
    _PC_REC_INCR_XFER_SIZE___330 = 14,
    _PC_REC_MAX_XFER_SIZE___330 = 15,
    _PC_REC_MIN_XFER_SIZE___330 = 16,
    _PC_REC_XFER_ALIGN___330 = 17,
    _PC_ALLOC_SIZE_MIN___330 = 18,
    _PC_SYMLINK_MAX___330 = 19,
    _PC_2_SYMLINKS___330 = 20
} ;
enum __anonenum_315186338___330 {
    _SC_ARG_MAX___330 = 0,
    _SC_CHILD_MAX___330 = 1,
    _SC_CLK_TCK___330 = 2,
    _SC_NGROUPS_MAX___330 = 3,
    _SC_OPEN_MAX___330 = 4,
    _SC_STREAM_MAX___330 = 5,
    _SC_TZNAME_MAX___330 = 6,
    _SC_JOB_CONTROL___330 = 7,
    _SC_SAVED_IDS___330 = 8,
    _SC_REALTIME_SIGNALS___330 = 9,
    _SC_PRIORITY_SCHEDULING___330 = 10,
    _SC_TIMERS___330 = 11,
    _SC_ASYNCHRONOUS_IO___330 = 12,
    _SC_PRIORITIZED_IO___330 = 13,
    _SC_SYNCHRONIZED_IO___330 = 14,
    _SC_FSYNC___330 = 15,
    _SC_MAPPED_FILES___330 = 16,
    _SC_MEMLOCK___330 = 17,
    _SC_MEMLOCK_RANGE___330 = 18,
    _SC_MEMORY_PROTECTION___330 = 19,
    _SC_MESSAGE_PASSING___330 = 20,
    _SC_SEMAPHORES___330 = 21,
    _SC_SHARED_MEMORY_OBJECTS___330 = 22,
    _SC_AIO_LISTIO_MAX___330 = 23,
    _SC_AIO_MAX___330 = 24,
    _SC_AIO_PRIO_DELTA_MAX___330 = 25,
    _SC_DELAYTIMER_MAX___330 = 26,
    _SC_MQ_OPEN_MAX___330 = 27,
    _SC_MQ_PRIO_MAX___330 = 28,
    _SC_VERSION___330 = 29,
    _SC_PAGESIZE___330 = 30,
    _SC_RTSIG_MAX___330 = 31,
    _SC_SEM_NSEMS_MAX___330 = 32,
    _SC_SEM_VALUE_MAX___330 = 33,
    _SC_SIGQUEUE_MAX___330 = 34,
    _SC_TIMER_MAX___330 = 35,
    _SC_BC_BASE_MAX___330 = 36,
    _SC_BC_DIM_MAX___330 = 37,
    _SC_BC_SCALE_MAX___330 = 38,
    _SC_BC_STRING_MAX___330 = 39,
    _SC_COLL_WEIGHTS_MAX___330 = 40,
    _SC_EQUIV_CLASS_MAX___330 = 41,
    _SC_EXPR_NEST_MAX___330 = 42,
    _SC_LINE_MAX___330 = 43,
    _SC_RE_DUP_MAX___330 = 44,
    _SC_CHARCLASS_NAME_MAX___330 = 45,
    _SC_2_VERSION___330 = 46,
    _SC_2_C_BIND___330 = 47,
    _SC_2_C_DEV___330 = 48,
    _SC_2_FORT_DEV___330 = 49,
    _SC_2_FORT_RUN___330 = 50,
    _SC_2_SW_DEV___330 = 51,
    _SC_2_LOCALEDEF___330 = 52,
    _SC_PII___330 = 53,
    _SC_PII_XTI___330 = 54,
    _SC_PII_SOCKET___330 = 55,
    _SC_PII_INTERNET___330 = 56,
    _SC_PII_OSI___330 = 57,
    _SC_POLL___330 = 58,
    _SC_SELECT___330 = 59,
    _SC_UIO_MAXIOV___330 = 60,
    _SC_IOV_MAX___330 = 60,
    _SC_PII_INTERNET_STREAM___330 = 61,
    _SC_PII_INTERNET_DGRAM___330 = 62,
    _SC_PII_OSI_COTS___330 = 63,
    _SC_PII_OSI_CLTS___330 = 64,
    _SC_PII_OSI_M___330 = 65,
    _SC_T_IOV_MAX___330 = 66,
    _SC_THREADS___330 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___330 = 68,
    _SC_GETGR_R_SIZE_MAX___330 = 69,
    _SC_GETPW_R_SIZE_MAX___330 = 70,
    _SC_LOGIN_NAME_MAX___330 = 71,
    _SC_TTY_NAME_MAX___330 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___330 = 73,
    _SC_THREAD_KEYS_MAX___330 = 74,
    _SC_THREAD_STACK_MIN___330 = 75,
    _SC_THREAD_THREADS_MAX___330 = 76,
    _SC_THREAD_ATTR_STACKADDR___330 = 77,
    _SC_THREAD_ATTR_STACKSIZE___330 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___330 = 79,
    _SC_THREAD_PRIO_INHERIT___330 = 80,
    _SC_THREAD_PRIO_PROTECT___330 = 81,
    _SC_THREAD_PROCESS_SHARED___330 = 82,
    _SC_NPROCESSORS_CONF___330 = 83,
    _SC_NPROCESSORS_ONLN___330 = 84,
    _SC_PHYS_PAGES___330 = 85,
    _SC_AVPHYS_PAGES___330 = 86,
    _SC_ATEXIT_MAX___330 = 87,
    _SC_PASS_MAX___330 = 88,
    _SC_XOPEN_VERSION___330 = 89,
    _SC_XOPEN_XCU_VERSION___330 = 90,
    _SC_XOPEN_UNIX___330 = 91,
    _SC_XOPEN_CRYPT___330 = 92,
    _SC_XOPEN_ENH_I18N___330 = 93,
    _SC_XOPEN_SHM___330 = 94,
    _SC_2_CHAR_TERM___330 = 95,
    _SC_2_C_VERSION___330 = 96,
    _SC_2_UPE___330 = 97,
    _SC_XOPEN_XPG2___330 = 98,
    _SC_XOPEN_XPG3___330 = 99,
    _SC_XOPEN_XPG4___330 = 100,
    _SC_CHAR_BIT___330 = 101,
    _SC_CHAR_MAX___330 = 102,
    _SC_CHAR_MIN___330 = 103,
    _SC_INT_MAX___330 = 104,
    _SC_INT_MIN___330 = 105,
    _SC_LONG_BIT___330 = 106,
    _SC_WORD_BIT___330 = 107,
    _SC_MB_LEN_MAX___330 = 108,
    _SC_NZERO___330 = 109,
    _SC_SSIZE_MAX___330 = 110,
    _SC_SCHAR_MAX___330 = 111,
    _SC_SCHAR_MIN___330 = 112,
    _SC_SHRT_MAX___330 = 113,
    _SC_SHRT_MIN___330 = 114,
    _SC_UCHAR_MAX___330 = 115,
    _SC_UINT_MAX___330 = 116,
    _SC_ULONG_MAX___330 = 117,
    _SC_USHRT_MAX___330 = 118,
    _SC_NL_ARGMAX___330 = 119,
    _SC_NL_LANGMAX___330 = 120,
    _SC_NL_MSGMAX___330 = 121,
    _SC_NL_NMAX___330 = 122,
    _SC_NL_SETMAX___330 = 123,
    _SC_NL_TEXTMAX___330 = 124,
    _SC_XBS5_ILP32_OFF32___330 = 125,
    _SC_XBS5_ILP32_OFFBIG___330 = 126,
    _SC_XBS5_LP64_OFF64___330 = 127,
    _SC_XBS5_LPBIG_OFFBIG___330 = 128,
    _SC_XOPEN_LEGACY___330 = 129,
    _SC_XOPEN_REALTIME___330 = 130,
    _SC_XOPEN_REALTIME_THREADS___330 = 131,
    _SC_ADVISORY_INFO___330 = 132,
    _SC_BARRIERS___330 = 133,
    _SC_BASE___330 = 134,
    _SC_C_LANG_SUPPORT___330 = 135,
    _SC_C_LANG_SUPPORT_R___330 = 136,
    _SC_CLOCK_SELECTION___330 = 137,
    _SC_CPUTIME___330 = 138,
    _SC_THREAD_CPUTIME___330 = 139,
    _SC_DEVICE_IO___330 = 140,
    _SC_DEVICE_SPECIFIC___330 = 141,
    _SC_DEVICE_SPECIFIC_R___330 = 142,
    _SC_FD_MGMT___330 = 143,
    _SC_FIFO___330 = 144,
    _SC_PIPE___330 = 145,
    _SC_FILE_ATTRIBUTES___330 = 146,
    _SC_FILE_LOCKING___330 = 147,
    _SC_FILE_SYSTEM___330 = 148,
    _SC_MONOTONIC_CLOCK___330 = 149,
    _SC_MULTI_PROCESS___330 = 150,
    _SC_SINGLE_PROCESS___330 = 151,
    _SC_NETWORKING___330 = 152,
    _SC_READER_WRITER_LOCKS___330 = 153,
    _SC_SPIN_LOCKS___330 = 154,
    _SC_REGEXP___330 = 155,
    _SC_REGEX_VERSION___330 = 156,
    _SC_SHELL___330 = 157,
    _SC_SIGNALS___330 = 158,
    _SC_SPAWN___330 = 159,
    _SC_SPORADIC_SERVER___330 = 160,
    _SC_THREAD_SPORADIC_SERVER___330 = 161,
    _SC_SYSTEM_DATABASE___330 = 162,
    _SC_SYSTEM_DATABASE_R___330 = 163,
    _SC_TIMEOUTS___330 = 164,
    _SC_TYPED_MEMORY_OBJECTS___330 = 165,
    _SC_USER_GROUPS___330 = 166,
    _SC_USER_GROUPS_R___330 = 167,
    _SC_2_PBS___330 = 168,
    _SC_2_PBS_ACCOUNTING___330 = 169,
    _SC_2_PBS_LOCATE___330 = 170,
    _SC_2_PBS_MESSAGE___330 = 171,
    _SC_2_PBS_TRACK___330 = 172,
    _SC_SYMLOOP_MAX___330 = 173,
    _SC_STREAMS___330 = 174,
    _SC_2_PBS_CHECKPOINT___330 = 175,
    _SC_V6_ILP32_OFF32___330 = 176,
    _SC_V6_ILP32_OFFBIG___330 = 177,
    _SC_V6_LP64_OFF64___330 = 178,
    _SC_V6_LPBIG_OFFBIG___330 = 179,
    _SC_HOST_NAME_MAX___330 = 180,
    _SC_TRACE___330 = 181,
    _SC_TRACE_EVENT_FILTER___330 = 182,
    _SC_TRACE_INHERIT___330 = 183,
    _SC_TRACE_LOG___330 = 184,
    _SC_LEVEL1_ICACHE_SIZE___330 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___330 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___330 = 187,
    _SC_LEVEL1_DCACHE_SIZE___330 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___330 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___330 = 190,
    _SC_LEVEL2_CACHE_SIZE___330 = 191,
    _SC_LEVEL2_CACHE_ASSOC___330 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___330 = 193,
    _SC_LEVEL3_CACHE_SIZE___330 = 194,
    _SC_LEVEL3_CACHE_ASSOC___330 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___330 = 196,
    _SC_LEVEL4_CACHE_SIZE___330 = 197,
    _SC_LEVEL4_CACHE_ASSOC___330 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___330 = 199,
    _SC_IPV6___330 = 235,
    _SC_RAW_SOCKETS___330 = 236,
    _SC_V7_ILP32_OFF32___330 = 237,
    _SC_V7_ILP32_OFFBIG___330 = 238,
    _SC_V7_LP64_OFF64___330 = 239,
    _SC_V7_LPBIG_OFFBIG___330 = 240,
    _SC_SS_REPL_MAX___330 = 241,
    _SC_TRACE_EVENT_NAME_MAX___330 = 242,
    _SC_TRACE_NAME_MAX___330 = 243,
    _SC_TRACE_SYS_MAX___330 = 244,
    _SC_TRACE_USER_EVENT_MAX___330 = 245,
    _SC_XOPEN_STREAMS___330 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___330 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___330 = 248
} ;
enum __anonenum_875524036___330 {
    _CS_PATH___330 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___330 = 1,
    _CS_GNU_LIBC_VERSION___330 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___330 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___330 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___330 = 5,
    _CS_LFS_CFLAGS___330 = 1000,
    _CS_LFS_LDFLAGS___330 = 1001,
    _CS_LFS_LIBS___330 = 1002,
    _CS_LFS_LINTFLAGS___330 = 1003,
    _CS_LFS64_CFLAGS___330 = 1004,
    _CS_LFS64_LDFLAGS___330 = 1005,
    _CS_LFS64_LIBS___330 = 1006,
    _CS_LFS64_LINTFLAGS___330 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___330 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___330 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___330 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___330 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___330 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___330 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___330 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___330 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___330 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___330 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___330 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___330 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___330 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___330 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___330 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___330 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___330 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___330 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___330 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___330 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___330 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___330 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___330 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___330 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___330 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___330 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___330 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___330 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___330 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___330 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___330 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___330 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___330 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___330 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___330 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___330 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___330 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___330 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___330 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___330 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___330 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___330 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___330 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___330 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___330 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___330 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___330 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___330 = 1147,
    _CS_V6_ENV___330 = 1148,
    _CS_V7_ENV___330 = 1149
} ;
enum __anonenum_513775621___330 {
    DT_UNKNOWN___330 = 0,
    DT_FIFO___330 = 1,
    DT_CHR___330 = 2,
    DT_DIR___330 = 4,
    DT_BLK___330 = 6,
    DT_REG___330 = 8,
    DT_LNK___330 = 10,
    DT_SOCK___330 = 12,
    DT_WHT___330 = 14
} ;
enum __anonenum_77002343___330 {
    SI_ASYNCNL___330 = -60,
    SI_TKILL___330 = -6,
    SI_SIGIO___330 = -5,
    SI_ASYNCIO___330 = -4,
    SI_MESGQ___330 = -3,
    SI_TIMER___330 = -2,
    SI_QUEUE___330 = -1,
    SI_USER___330 = 0,
    SI_KERNEL___330 = 128
} ;
enum __anonenum_131038172___330 {
    ILL_ILLOPC___330 = 1,
    ILL_ILLOPN___330 = 2,
    ILL_ILLADR___330 = 3,
    ILL_ILLTRP___330 = 4,
    ILL_PRVOPC___330 = 5,
    ILL_PRVREG___330 = 6,
    ILL_COPROC___330 = 7,
    ILL_BADSTK___330 = 8
} ;
enum __anonenum_452038093___330 {
    FPE_INTDIV___330 = 1,
    FPE_INTOVF___330 = 2,
    FPE_FLTDIV___330 = 3,
    FPE_FLTOVF___330 = 4,
    FPE_FLTUND___330 = 5,
    FPE_FLTRES___330 = 6,
    FPE_FLTINV___330 = 7,
    FPE_FLTSUB___330 = 8
} ;
enum __anonenum_30976155___330 {
    SEGV_MAPERR___330 = 1,
    SEGV_ACCERR___330 = 2,
    SEGV_BNDERR___330 = 3,
    SEGV_PKUERR___330 = 4
} ;
enum __anonenum_1036286214___330 {
    BUS_ADRALN___330 = 1,
    BUS_ADRERR___330 = 2,
    BUS_OBJERR___330 = 3,
    BUS_MCEERR_AR___330 = 4,
    BUS_MCEERR_AO___330 = 5
} ;
enum __anonenum_493465559___330 {
    TRAP_BRKPT___330 = 1,
    TRAP_TRACE___330 = 2
} ;
enum __anonenum_23175539___330 {
    CLD_EXITED___330 = 1,
    CLD_KILLED___330 = 2,
    CLD_DUMPED___330 = 3,
    CLD_TRAPPED___330 = 4,
    CLD_STOPPED___330 = 5,
    CLD_CONTINUED___330 = 6
} ;
enum __anonenum_111643124___330 {
    POLL_IN___330 = 1,
    POLL_OUT___330 = 2,
    POLL_MSG___330 = 3,
    POLL_ERR___330 = 4,
    POLL_PRI___330 = 5,
    POLL_HUP___330 = 6
} ;
enum __anonenum_852341087___330 {
    SIGEV_SIGNAL___330 = 0,
    SIGEV_NONE___330 = 1,
    SIGEV_THREAD___330 = 2,
    SIGEV_THREAD_ID___330 = 4
} ;
enum __anonenum_451154152___330 {
    REG_R8___330 = 0,
    REG_R9___330 = 1,
    REG_R10___330 = 2,
    REG_R11___330 = 3,
    REG_R12___330 = 4,
    REG_R13___330 = 5,
    REG_R14___330 = 6,
    REG_R15___330 = 7,
    REG_RDI___330 = 8,
    REG_RSI___330 = 9,
    REG_RBP___330 = 10,
    REG_RBX___330 = 11,
    REG_RDX___330 = 12,
    REG_RAX___330 = 13,
    REG_RCX___330 = 14,
    REG_RSP___330 = 15,
    REG_RIP___330 = 16,
    REG_EFL___330 = 17,
    REG_CSGSFS___330 = 18,
    REG_ERR___330 = 19,
    REG_TRAPNO___330 = 20,
    REG_OLDMASK___330 = 21,
    REG_CR2___330 = 22
} ;
enum __anonenum_57186863___330 {
    SS_ONSTACK___330 = 1,
    SS_DISABLE___330 = 2
} ;
enum __anonenum_83571709___330 {
    MSG_OOB___330 = 1,
    MSG_PEEK___330 = 2,
    MSG_DONTROUTE___330 = 4,
    MSG_TRYHARD___330 = 4,
    MSG_CTRUNC___330 = 8,
    MSG_PROXY___330 = 16,
    MSG_TRUNC___330 = 32,
    MSG_DONTWAIT___330 = 64,
    MSG_EOR___330 = 128,
    MSG_WAITALL___330 = 256,
    MSG_FIN___330 = 512,
    MSG_SYN___330 = 1024,
    MSG_CONFIRM___330 = 2048,
    MSG_RST___330 = 4096,
    MSG_ERRQUEUE___330 = 8192,
    MSG_NOSIGNAL___330 = 16384,
    MSG_MORE___330 = 32768,
    MSG_WAITFORONE___330 = 65536,
    MSG_BATCH___330 = 262144,
    MSG_ZEROCOPY___330 = 67108864,
    MSG_FASTOPEN___330 = 536870912,
    MSG_CMSG_CLOEXEC___330 = 1073741824
} ;
enum __anonenum_617082774___330 {
    SCM_RIGHTS___330 = 1,
    SCM_CREDENTIALS___330 = 2
} ;
enum __anonenum_606441560___330 {
    SHUT_RD___330 = 0,
    SHUT_WR___330 = 1,
    SHUT_RDWR___330 = 2
} ;
enum __anonenum_681669233___330 {
    IPPROTO_IP___330 = 0,
    IPPROTO_ICMP___330 = 1,
    IPPROTO_IGMP___330 = 2,
    IPPROTO_IPIP___330 = 4,
    IPPROTO_TCP___330 = 6,
    IPPROTO_EGP___330 = 8,
    IPPROTO_PUP___330 = 12,
    IPPROTO_UDP___330 = 17,
    IPPROTO_IDP___330 = 22,
    IPPROTO_TP___330 = 29,
    IPPROTO_DCCP___330 = 33,
    IPPROTO_IPV6___330 = 41,
    IPPROTO_RSVP___330 = 46,
    IPPROTO_GRE___330 = 47,
    IPPROTO_ESP___330 = 50,
    IPPROTO_AH___330 = 51,
    IPPROTO_MTP___330 = 92,
    IPPROTO_BEETPH___330 = 94,
    IPPROTO_ENCAP___330 = 98,
    IPPROTO_PIM___330 = 103,
    IPPROTO_COMP___330 = 108,
    IPPROTO_SCTP___330 = 132,
    IPPROTO_UDPLITE___330 = 136,
    IPPROTO_MPLS___330 = 137,
    IPPROTO_RAW___330 = 255,
    IPPROTO_MAX___330 = 256
} ;
enum __anonenum_218739988___330 {
    IPPROTO_HOPOPTS___330 = 0,
    IPPROTO_ROUTING___330 = 43,
    IPPROTO_FRAGMENT___330 = 44,
    IPPROTO_ICMPV6___330 = 58,
    IPPROTO_NONE___330 = 59,
    IPPROTO_DSTOPTS___330 = 60,
    IPPROTO_MH___330 = 135
} ;
enum __anonenum_662268580___330 {
    IPPORT_ECHO___330 = 7,
    IPPORT_DISCARD___330 = 9,
    IPPORT_SYSTAT___330 = 11,
    IPPORT_DAYTIME___330 = 13,
    IPPORT_NETSTAT___330 = 15,
    IPPORT_FTP___330 = 21,
    IPPORT_TELNET___330 = 23,
    IPPORT_SMTP___330 = 25,
    IPPORT_TIMESERVER___330 = 37,
    IPPORT_NAMESERVER___330 = 42,
    IPPORT_WHOIS___330 = 43,
    IPPORT_MTP___330 = 57,
    IPPORT_TFTP___330 = 69,
    IPPORT_RJE___330 = 77,
    IPPORT_FINGER___330 = 79,
    IPPORT_TTYLINK___330 = 87,
    IPPORT_SUPDUP___330 = 95,
    IPPORT_EXECSERVER___330 = 512,
    IPPORT_LOGINSERVER___330 = 513,
    IPPORT_CMDSERVER___330 = 514,
    IPPORT_EFSSERVER___330 = 520,
    IPPORT_BIFFUDP___330 = 512,
    IPPORT_WHOSERVER___330 = 513,
    IPPORT_ROUTESERVER___330 = 520,
    IPPORT_RESERVED___330 = 1024,
    IPPORT_USERRESERVED___330 = 5000
} ;
enum __anonenum_788308992___330 {
    TCP_ESTABLISHED___330 = 1,
    TCP_SYN_SENT___330 = 2,
    TCP_SYN_RECV___330 = 3,
    TCP_FIN_WAIT1___330 = 4,
    TCP_FIN_WAIT2___330 = 5,
    TCP_TIME_WAIT___330 = 6,
    TCP_CLOSE___330 = 7,
    TCP_CLOSE_WAIT___330 = 8,
    TCP_LAST_ACK___330 = 9,
    TCP_LISTEN___330 = 10,
    TCP_CLOSING___330 = 11
} ;
enum __anonenum_221125648___330 {
    TCP_NO_QUEUE___330 = 0,
    TCP_RECV_QUEUE___330 = 1,
    TCP_SEND_QUEUE___330 = 2,
    TCP_QUEUES_NR___330 = 3
} ;
enum __anonenum_34415463___330 {
    PTHREAD_CREATE_JOINABLE___330 = 0,
    PTHREAD_CREATE_DETACHED___330 = 1
} ;
enum __anonenum_303612439___330 {
    PTHREAD_MUTEX_TIMED_NP___330 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___330 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___330 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___330 = 3,
    PTHREAD_MUTEX_NORMAL___330 = 0,
    PTHREAD_MUTEX_RECURSIVE___330 = 1,
    PTHREAD_MUTEX_ERRORCHECK___330 = 2,
    PTHREAD_MUTEX_DEFAULT___330 = 0,
    PTHREAD_MUTEX_FAST_NP___330 = 0
} ;
enum __anonenum_931900394___330 {
    PTHREAD_MUTEX_STALLED___330 = 0,
    PTHREAD_MUTEX_STALLED_NP___330 = 0,
    PTHREAD_MUTEX_ROBUST___330 = 1,
    PTHREAD_MUTEX_ROBUST_NP___330 = 1
} ;
enum __anonenum_205214487___330 {
    PTHREAD_PRIO_NONE___330 = 0,
    PTHREAD_PRIO_INHERIT___330 = 1,
    PTHREAD_PRIO_PROTECT___330 = 2
} ;
enum __anonenum_25043950___330 {
    PTHREAD_RWLOCK_PREFER_READER_NP___330 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___330 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___330 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___330 = 0
} ;
enum __anonenum_436439511___330 {
    PTHREAD_INHERIT_SCHED___330 = 0,
    PTHREAD_EXPLICIT_SCHED___330 = 1
} ;
enum __anonenum_998661166___330 {
    PTHREAD_SCOPE_SYSTEM___330 = 0,
    PTHREAD_SCOPE_PROCESS___330 = 1
} ;
enum __anonenum_146137331___330 {
    PTHREAD_PROCESS_PRIVATE___330 = 0,
    PTHREAD_PROCESS_SHARED___330 = 1
} ;
enum __anonenum_53396917___330 {
    PTHREAD_CANCEL_ENABLE___330 = 0,
    PTHREAD_CANCEL_DISABLE___330 = 1
} ;
enum __anonenum_904563783___330 {
    PTHREAD_CANCEL_DEFERRED___330 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___330 = 1
} ;
enum __anonenum_672052974___330 {
    SSL_CT_VALIDATION_PERMISSIVE___330 = 0,
    SSL_CT_VALIDATION_STRICT___330 = 1
} ;
enum __anonenum_437032235___331 {
    _PC_LINK_MAX___331 = 0,
    _PC_MAX_CANON___331 = 1,
    _PC_MAX_INPUT___331 = 2,
    _PC_NAME_MAX___331 = 3,
    _PC_PATH_MAX___331 = 4,
    _PC_PIPE_BUF___331 = 5,
    _PC_CHOWN_RESTRICTED___331 = 6,
    _PC_NO_TRUNC___331 = 7,
    _PC_VDISABLE___331 = 8,
    _PC_SYNC_IO___331 = 9,
    _PC_ASYNC_IO___331 = 10,
    _PC_PRIO_IO___331 = 11,
    _PC_SOCK_MAXBUF___331 = 12,
    _PC_FILESIZEBITS___331 = 13,
    _PC_REC_INCR_XFER_SIZE___331 = 14,
    _PC_REC_MAX_XFER_SIZE___331 = 15,
    _PC_REC_MIN_XFER_SIZE___331 = 16,
    _PC_REC_XFER_ALIGN___331 = 17,
    _PC_ALLOC_SIZE_MIN___331 = 18,
    _PC_SYMLINK_MAX___331 = 19,
    _PC_2_SYMLINKS___331 = 20
} ;
enum __anonenum_315186338___331 {
    _SC_ARG_MAX___331 = 0,
    _SC_CHILD_MAX___331 = 1,
    _SC_CLK_TCK___331 = 2,
    _SC_NGROUPS_MAX___331 = 3,
    _SC_OPEN_MAX___331 = 4,
    _SC_STREAM_MAX___331 = 5,
    _SC_TZNAME_MAX___331 = 6,
    _SC_JOB_CONTROL___331 = 7,
    _SC_SAVED_IDS___331 = 8,
    _SC_REALTIME_SIGNALS___331 = 9,
    _SC_PRIORITY_SCHEDULING___331 = 10,
    _SC_TIMERS___331 = 11,
    _SC_ASYNCHRONOUS_IO___331 = 12,
    _SC_PRIORITIZED_IO___331 = 13,
    _SC_SYNCHRONIZED_IO___331 = 14,
    _SC_FSYNC___331 = 15,
    _SC_MAPPED_FILES___331 = 16,
    _SC_MEMLOCK___331 = 17,
    _SC_MEMLOCK_RANGE___331 = 18,
    _SC_MEMORY_PROTECTION___331 = 19,
    _SC_MESSAGE_PASSING___331 = 20,
    _SC_SEMAPHORES___331 = 21,
    _SC_SHARED_MEMORY_OBJECTS___331 = 22,
    _SC_AIO_LISTIO_MAX___331 = 23,
    _SC_AIO_MAX___331 = 24,
    _SC_AIO_PRIO_DELTA_MAX___331 = 25,
    _SC_DELAYTIMER_MAX___331 = 26,
    _SC_MQ_OPEN_MAX___331 = 27,
    _SC_MQ_PRIO_MAX___331 = 28,
    _SC_VERSION___331 = 29,
    _SC_PAGESIZE___331 = 30,
    _SC_RTSIG_MAX___331 = 31,
    _SC_SEM_NSEMS_MAX___331 = 32,
    _SC_SEM_VALUE_MAX___331 = 33,
    _SC_SIGQUEUE_MAX___331 = 34,
    _SC_TIMER_MAX___331 = 35,
    _SC_BC_BASE_MAX___331 = 36,
    _SC_BC_DIM_MAX___331 = 37,
    _SC_BC_SCALE_MAX___331 = 38,
    _SC_BC_STRING_MAX___331 = 39,
    _SC_COLL_WEIGHTS_MAX___331 = 40,
    _SC_EQUIV_CLASS_MAX___331 = 41,
    _SC_EXPR_NEST_MAX___331 = 42,
    _SC_LINE_MAX___331 = 43,
    _SC_RE_DUP_MAX___331 = 44,
    _SC_CHARCLASS_NAME_MAX___331 = 45,
    _SC_2_VERSION___331 = 46,
    _SC_2_C_BIND___331 = 47,
    _SC_2_C_DEV___331 = 48,
    _SC_2_FORT_DEV___331 = 49,
    _SC_2_FORT_RUN___331 = 50,
    _SC_2_SW_DEV___331 = 51,
    _SC_2_LOCALEDEF___331 = 52,
    _SC_PII___331 = 53,
    _SC_PII_XTI___331 = 54,
    _SC_PII_SOCKET___331 = 55,
    _SC_PII_INTERNET___331 = 56,
    _SC_PII_OSI___331 = 57,
    _SC_POLL___331 = 58,
    _SC_SELECT___331 = 59,
    _SC_UIO_MAXIOV___331 = 60,
    _SC_IOV_MAX___331 = 60,
    _SC_PII_INTERNET_STREAM___331 = 61,
    _SC_PII_INTERNET_DGRAM___331 = 62,
    _SC_PII_OSI_COTS___331 = 63,
    _SC_PII_OSI_CLTS___331 = 64,
    _SC_PII_OSI_M___331 = 65,
    _SC_T_IOV_MAX___331 = 66,
    _SC_THREADS___331 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___331 = 68,
    _SC_GETGR_R_SIZE_MAX___331 = 69,
    _SC_GETPW_R_SIZE_MAX___331 = 70,
    _SC_LOGIN_NAME_MAX___331 = 71,
    _SC_TTY_NAME_MAX___331 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___331 = 73,
    _SC_THREAD_KEYS_MAX___331 = 74,
    _SC_THREAD_STACK_MIN___331 = 75,
    _SC_THREAD_THREADS_MAX___331 = 76,
    _SC_THREAD_ATTR_STACKADDR___331 = 77,
    _SC_THREAD_ATTR_STACKSIZE___331 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___331 = 79,
    _SC_THREAD_PRIO_INHERIT___331 = 80,
    _SC_THREAD_PRIO_PROTECT___331 = 81,
    _SC_THREAD_PROCESS_SHARED___331 = 82,
    _SC_NPROCESSORS_CONF___331 = 83,
    _SC_NPROCESSORS_ONLN___331 = 84,
    _SC_PHYS_PAGES___331 = 85,
    _SC_AVPHYS_PAGES___331 = 86,
    _SC_ATEXIT_MAX___331 = 87,
    _SC_PASS_MAX___331 = 88,
    _SC_XOPEN_VERSION___331 = 89,
    _SC_XOPEN_XCU_VERSION___331 = 90,
    _SC_XOPEN_UNIX___331 = 91,
    _SC_XOPEN_CRYPT___331 = 92,
    _SC_XOPEN_ENH_I18N___331 = 93,
    _SC_XOPEN_SHM___331 = 94,
    _SC_2_CHAR_TERM___331 = 95,
    _SC_2_C_VERSION___331 = 96,
    _SC_2_UPE___331 = 97,
    _SC_XOPEN_XPG2___331 = 98,
    _SC_XOPEN_XPG3___331 = 99,
    _SC_XOPEN_XPG4___331 = 100,
    _SC_CHAR_BIT___331 = 101,
    _SC_CHAR_MAX___331 = 102,
    _SC_CHAR_MIN___331 = 103,
    _SC_INT_MAX___331 = 104,
    _SC_INT_MIN___331 = 105,
    _SC_LONG_BIT___331 = 106,
    _SC_WORD_BIT___331 = 107,
    _SC_MB_LEN_MAX___331 = 108,
    _SC_NZERO___331 = 109,
    _SC_SSIZE_MAX___331 = 110,
    _SC_SCHAR_MAX___331 = 111,
    _SC_SCHAR_MIN___331 = 112,
    _SC_SHRT_MAX___331 = 113,
    _SC_SHRT_MIN___331 = 114,
    _SC_UCHAR_MAX___331 = 115,
    _SC_UINT_MAX___331 = 116,
    _SC_ULONG_MAX___331 = 117,
    _SC_USHRT_MAX___331 = 118,
    _SC_NL_ARGMAX___331 = 119,
    _SC_NL_LANGMAX___331 = 120,
    _SC_NL_MSGMAX___331 = 121,
    _SC_NL_NMAX___331 = 122,
    _SC_NL_SETMAX___331 = 123,
    _SC_NL_TEXTMAX___331 = 124,
    _SC_XBS5_ILP32_OFF32___331 = 125,
    _SC_XBS5_ILP32_OFFBIG___331 = 126,
    _SC_XBS5_LP64_OFF64___331 = 127,
    _SC_XBS5_LPBIG_OFFBIG___331 = 128,
    _SC_XOPEN_LEGACY___331 = 129,
    _SC_XOPEN_REALTIME___331 = 130,
    _SC_XOPEN_REALTIME_THREADS___331 = 131,
    _SC_ADVISORY_INFO___331 = 132,
    _SC_BARRIERS___331 = 133,
    _SC_BASE___331 = 134,
    _SC_C_LANG_SUPPORT___331 = 135,
    _SC_C_LANG_SUPPORT_R___331 = 136,
    _SC_CLOCK_SELECTION___331 = 137,
    _SC_CPUTIME___331 = 138,
    _SC_THREAD_CPUTIME___331 = 139,
    _SC_DEVICE_IO___331 = 140,
    _SC_DEVICE_SPECIFIC___331 = 141,
    _SC_DEVICE_SPECIFIC_R___331 = 142,
    _SC_FD_MGMT___331 = 143,
    _SC_FIFO___331 = 144,
    _SC_PIPE___331 = 145,
    _SC_FILE_ATTRIBUTES___331 = 146,
    _SC_FILE_LOCKING___331 = 147,
    _SC_FILE_SYSTEM___331 = 148,
    _SC_MONOTONIC_CLOCK___331 = 149,
    _SC_MULTI_PROCESS___331 = 150,
    _SC_SINGLE_PROCESS___331 = 151,
    _SC_NETWORKING___331 = 152,
    _SC_READER_WRITER_LOCKS___331 = 153,
    _SC_SPIN_LOCKS___331 = 154,
    _SC_REGEXP___331 = 155,
    _SC_REGEX_VERSION___331 = 156,
    _SC_SHELL___331 = 157,
    _SC_SIGNALS___331 = 158,
    _SC_SPAWN___331 = 159,
    _SC_SPORADIC_SERVER___331 = 160,
    _SC_THREAD_SPORADIC_SERVER___331 = 161,
    _SC_SYSTEM_DATABASE___331 = 162,
    _SC_SYSTEM_DATABASE_R___331 = 163,
    _SC_TIMEOUTS___331 = 164,
    _SC_TYPED_MEMORY_OBJECTS___331 = 165,
    _SC_USER_GROUPS___331 = 166,
    _SC_USER_GROUPS_R___331 = 167,
    _SC_2_PBS___331 = 168,
    _SC_2_PBS_ACCOUNTING___331 = 169,
    _SC_2_PBS_LOCATE___331 = 170,
    _SC_2_PBS_MESSAGE___331 = 171,
    _SC_2_PBS_TRACK___331 = 172,
    _SC_SYMLOOP_MAX___331 = 173,
    _SC_STREAMS___331 = 174,
    _SC_2_PBS_CHECKPOINT___331 = 175,
    _SC_V6_ILP32_OFF32___331 = 176,
    _SC_V6_ILP32_OFFBIG___331 = 177,
    _SC_V6_LP64_OFF64___331 = 178,
    _SC_V6_LPBIG_OFFBIG___331 = 179,
    _SC_HOST_NAME_MAX___331 = 180,
    _SC_TRACE___331 = 181,
    _SC_TRACE_EVENT_FILTER___331 = 182,
    _SC_TRACE_INHERIT___331 = 183,
    _SC_TRACE_LOG___331 = 184,
    _SC_LEVEL1_ICACHE_SIZE___331 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___331 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___331 = 187,
    _SC_LEVEL1_DCACHE_SIZE___331 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___331 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___331 = 190,
    _SC_LEVEL2_CACHE_SIZE___331 = 191,
    _SC_LEVEL2_CACHE_ASSOC___331 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___331 = 193,
    _SC_LEVEL3_CACHE_SIZE___331 = 194,
    _SC_LEVEL3_CACHE_ASSOC___331 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___331 = 196,
    _SC_LEVEL4_CACHE_SIZE___331 = 197,
    _SC_LEVEL4_CACHE_ASSOC___331 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___331 = 199,
    _SC_IPV6___331 = 235,
    _SC_RAW_SOCKETS___331 = 236,
    _SC_V7_ILP32_OFF32___331 = 237,
    _SC_V7_ILP32_OFFBIG___331 = 238,
    _SC_V7_LP64_OFF64___331 = 239,
    _SC_V7_LPBIG_OFFBIG___331 = 240,
    _SC_SS_REPL_MAX___331 = 241,
    _SC_TRACE_EVENT_NAME_MAX___331 = 242,
    _SC_TRACE_NAME_MAX___331 = 243,
    _SC_TRACE_SYS_MAX___331 = 244,
    _SC_TRACE_USER_EVENT_MAX___331 = 245,
    _SC_XOPEN_STREAMS___331 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___331 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___331 = 248
} ;
enum __anonenum_875524036___331 {
    _CS_PATH___331 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___331 = 1,
    _CS_GNU_LIBC_VERSION___331 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___331 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___331 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___331 = 5,
    _CS_LFS_CFLAGS___331 = 1000,
    _CS_LFS_LDFLAGS___331 = 1001,
    _CS_LFS_LIBS___331 = 1002,
    _CS_LFS_LINTFLAGS___331 = 1003,
    _CS_LFS64_CFLAGS___331 = 1004,
    _CS_LFS64_LDFLAGS___331 = 1005,
    _CS_LFS64_LIBS___331 = 1006,
    _CS_LFS64_LINTFLAGS___331 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___331 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___331 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___331 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___331 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___331 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___331 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___331 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___331 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___331 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___331 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___331 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___331 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___331 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___331 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___331 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___331 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___331 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___331 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___331 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___331 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___331 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___331 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___331 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___331 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___331 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___331 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___331 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___331 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___331 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___331 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___331 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___331 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___331 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___331 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___331 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___331 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___331 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___331 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___331 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___331 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___331 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___331 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___331 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___331 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___331 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___331 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___331 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___331 = 1147,
    _CS_V6_ENV___331 = 1148,
    _CS_V7_ENV___331 = 1149
} ;
enum __anonenum_513775621___331 {
    DT_UNKNOWN___331 = 0,
    DT_FIFO___331 = 1,
    DT_CHR___331 = 2,
    DT_DIR___331 = 4,
    DT_BLK___331 = 6,
    DT_REG___331 = 8,
    DT_LNK___331 = 10,
    DT_SOCK___331 = 12,
    DT_WHT___331 = 14
} ;
enum __anonenum_77002343___331 {
    SI_ASYNCNL___331 = -60,
    SI_TKILL___331 = -6,
    SI_SIGIO___331 = -5,
    SI_ASYNCIO___331 = -4,
    SI_MESGQ___331 = -3,
    SI_TIMER___331 = -2,
    SI_QUEUE___331 = -1,
    SI_USER___331 = 0,
    SI_KERNEL___331 = 128
} ;
enum __anonenum_131038172___331 {
    ILL_ILLOPC___331 = 1,
    ILL_ILLOPN___331 = 2,
    ILL_ILLADR___331 = 3,
    ILL_ILLTRP___331 = 4,
    ILL_PRVOPC___331 = 5,
    ILL_PRVREG___331 = 6,
    ILL_COPROC___331 = 7,
    ILL_BADSTK___331 = 8
} ;
enum __anonenum_452038093___331 {
    FPE_INTDIV___331 = 1,
    FPE_INTOVF___331 = 2,
    FPE_FLTDIV___331 = 3,
    FPE_FLTOVF___331 = 4,
    FPE_FLTUND___331 = 5,
    FPE_FLTRES___331 = 6,
    FPE_FLTINV___331 = 7,
    FPE_FLTSUB___331 = 8
} ;
enum __anonenum_30976155___331 {
    SEGV_MAPERR___331 = 1,
    SEGV_ACCERR___331 = 2,
    SEGV_BNDERR___331 = 3,
    SEGV_PKUERR___331 = 4
} ;
enum __anonenum_1036286214___331 {
    BUS_ADRALN___331 = 1,
    BUS_ADRERR___331 = 2,
    BUS_OBJERR___331 = 3,
    BUS_MCEERR_AR___331 = 4,
    BUS_MCEERR_AO___331 = 5
} ;
enum __anonenum_493465559___331 {
    TRAP_BRKPT___331 = 1,
    TRAP_TRACE___331 = 2
} ;
enum __anonenum_23175539___331 {
    CLD_EXITED___331 = 1,
    CLD_KILLED___331 = 2,
    CLD_DUMPED___331 = 3,
    CLD_TRAPPED___331 = 4,
    CLD_STOPPED___331 = 5,
    CLD_CONTINUED___331 = 6
} ;
enum __anonenum_111643124___331 {
    POLL_IN___331 = 1,
    POLL_OUT___331 = 2,
    POLL_MSG___331 = 3,
    POLL_ERR___331 = 4,
    POLL_PRI___331 = 5,
    POLL_HUP___331 = 6
} ;
enum __anonenum_852341087___331 {
    SIGEV_SIGNAL___331 = 0,
    SIGEV_NONE___331 = 1,
    SIGEV_THREAD___331 = 2,
    SIGEV_THREAD_ID___331 = 4
} ;
enum __anonenum_451154152___331 {
    REG_R8___331 = 0,
    REG_R9___331 = 1,
    REG_R10___331 = 2,
    REG_R11___331 = 3,
    REG_R12___331 = 4,
    REG_R13___331 = 5,
    REG_R14___331 = 6,
    REG_R15___331 = 7,
    REG_RDI___331 = 8,
    REG_RSI___331 = 9,
    REG_RBP___331 = 10,
    REG_RBX___331 = 11,
    REG_RDX___331 = 12,
    REG_RAX___331 = 13,
    REG_RCX___331 = 14,
    REG_RSP___331 = 15,
    REG_RIP___331 = 16,
    REG_EFL___331 = 17,
    REG_CSGSFS___331 = 18,
    REG_ERR___331 = 19,
    REG_TRAPNO___331 = 20,
    REG_OLDMASK___331 = 21,
    REG_CR2___331 = 22
} ;
enum __anonenum_57186863___331 {
    SS_ONSTACK___331 = 1,
    SS_DISABLE___331 = 2
} ;
enum __anonenum_83571709___331 {
    MSG_OOB___331 = 1,
    MSG_PEEK___331 = 2,
    MSG_DONTROUTE___331 = 4,
    MSG_TRYHARD___331 = 4,
    MSG_CTRUNC___331 = 8,
    MSG_PROXY___331 = 16,
    MSG_TRUNC___331 = 32,
    MSG_DONTWAIT___331 = 64,
    MSG_EOR___331 = 128,
    MSG_WAITALL___331 = 256,
    MSG_FIN___331 = 512,
    MSG_SYN___331 = 1024,
    MSG_CONFIRM___331 = 2048,
    MSG_RST___331 = 4096,
    MSG_ERRQUEUE___331 = 8192,
    MSG_NOSIGNAL___331 = 16384,
    MSG_MORE___331 = 32768,
    MSG_WAITFORONE___331 = 65536,
    MSG_BATCH___331 = 262144,
    MSG_ZEROCOPY___331 = 67108864,
    MSG_FASTOPEN___331 = 536870912,
    MSG_CMSG_CLOEXEC___331 = 1073741824
} ;
enum __anonenum_617082774___331 {
    SCM_RIGHTS___331 = 1,
    SCM_CREDENTIALS___331 = 2
} ;
enum __anonenum_606441560___331 {
    SHUT_RD___331 = 0,
    SHUT_WR___331 = 1,
    SHUT_RDWR___331 = 2
} ;
enum __anonenum_681669233___331 {
    IPPROTO_IP___331 = 0,
    IPPROTO_ICMP___331 = 1,
    IPPROTO_IGMP___331 = 2,
    IPPROTO_IPIP___331 = 4,
    IPPROTO_TCP___331 = 6,
    IPPROTO_EGP___331 = 8,
    IPPROTO_PUP___331 = 12,
    IPPROTO_UDP___331 = 17,
    IPPROTO_IDP___331 = 22,
    IPPROTO_TP___331 = 29,
    IPPROTO_DCCP___331 = 33,
    IPPROTO_IPV6___331 = 41,
    IPPROTO_RSVP___331 = 46,
    IPPROTO_GRE___331 = 47,
    IPPROTO_ESP___331 = 50,
    IPPROTO_AH___331 = 51,
    IPPROTO_MTP___331 = 92,
    IPPROTO_BEETPH___331 = 94,
    IPPROTO_ENCAP___331 = 98,
    IPPROTO_PIM___331 = 103,
    IPPROTO_COMP___331 = 108,
    IPPROTO_SCTP___331 = 132,
    IPPROTO_UDPLITE___331 = 136,
    IPPROTO_MPLS___331 = 137,
    IPPROTO_RAW___331 = 255,
    IPPROTO_MAX___331 = 256
} ;
enum __anonenum_218739988___331 {
    IPPROTO_HOPOPTS___331 = 0,
    IPPROTO_ROUTING___331 = 43,
    IPPROTO_FRAGMENT___331 = 44,
    IPPROTO_ICMPV6___331 = 58,
    IPPROTO_NONE___331 = 59,
    IPPROTO_DSTOPTS___331 = 60,
    IPPROTO_MH___331 = 135
} ;
enum __anonenum_662268580___331 {
    IPPORT_ECHO___331 = 7,
    IPPORT_DISCARD___331 = 9,
    IPPORT_SYSTAT___331 = 11,
    IPPORT_DAYTIME___331 = 13,
    IPPORT_NETSTAT___331 = 15,
    IPPORT_FTP___331 = 21,
    IPPORT_TELNET___331 = 23,
    IPPORT_SMTP___331 = 25,
    IPPORT_TIMESERVER___331 = 37,
    IPPORT_NAMESERVER___331 = 42,
    IPPORT_WHOIS___331 = 43,
    IPPORT_MTP___331 = 57,
    IPPORT_TFTP___331 = 69,
    IPPORT_RJE___331 = 77,
    IPPORT_FINGER___331 = 79,
    IPPORT_TTYLINK___331 = 87,
    IPPORT_SUPDUP___331 = 95,
    IPPORT_EXECSERVER___331 = 512,
    IPPORT_LOGINSERVER___331 = 513,
    IPPORT_CMDSERVER___331 = 514,
    IPPORT_EFSSERVER___331 = 520,
    IPPORT_BIFFUDP___331 = 512,
    IPPORT_WHOSERVER___331 = 513,
    IPPORT_ROUTESERVER___331 = 520,
    IPPORT_RESERVED___331 = 1024,
    IPPORT_USERRESERVED___331 = 5000
} ;
enum __anonenum_788308992___331 {
    TCP_ESTABLISHED___331 = 1,
    TCP_SYN_SENT___331 = 2,
    TCP_SYN_RECV___331 = 3,
    TCP_FIN_WAIT1___331 = 4,
    TCP_FIN_WAIT2___331 = 5,
    TCP_TIME_WAIT___331 = 6,
    TCP_CLOSE___331 = 7,
    TCP_CLOSE_WAIT___331 = 8,
    TCP_LAST_ACK___331 = 9,
    TCP_LISTEN___331 = 10,
    TCP_CLOSING___331 = 11
} ;
enum __anonenum_221125648___331 {
    TCP_NO_QUEUE___331 = 0,
    TCP_RECV_QUEUE___331 = 1,
    TCP_SEND_QUEUE___331 = 2,
    TCP_QUEUES_NR___331 = 3
} ;
enum __anonenum_34415463___331 {
    PTHREAD_CREATE_JOINABLE___331 = 0,
    PTHREAD_CREATE_DETACHED___331 = 1
} ;
enum __anonenum_303612439___331 {
    PTHREAD_MUTEX_TIMED_NP___331 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___331 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___331 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___331 = 3,
    PTHREAD_MUTEX_NORMAL___331 = 0,
    PTHREAD_MUTEX_RECURSIVE___331 = 1,
    PTHREAD_MUTEX_ERRORCHECK___331 = 2,
    PTHREAD_MUTEX_DEFAULT___331 = 0,
    PTHREAD_MUTEX_FAST_NP___331 = 0
} ;
enum __anonenum_931900394___331 {
    PTHREAD_MUTEX_STALLED___331 = 0,
    PTHREAD_MUTEX_STALLED_NP___331 = 0,
    PTHREAD_MUTEX_ROBUST___331 = 1,
    PTHREAD_MUTEX_ROBUST_NP___331 = 1
} ;
enum __anonenum_205214487___331 {
    PTHREAD_PRIO_NONE___331 = 0,
    PTHREAD_PRIO_INHERIT___331 = 1,
    PTHREAD_PRIO_PROTECT___331 = 2
} ;
enum __anonenum_25043950___331 {
    PTHREAD_RWLOCK_PREFER_READER_NP___331 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___331 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___331 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___331 = 0
} ;
enum __anonenum_436439511___331 {
    PTHREAD_INHERIT_SCHED___331 = 0,
    PTHREAD_EXPLICIT_SCHED___331 = 1
} ;
enum __anonenum_998661166___331 {
    PTHREAD_SCOPE_SYSTEM___331 = 0,
    PTHREAD_SCOPE_PROCESS___331 = 1
} ;
enum __anonenum_146137331___331 {
    PTHREAD_PROCESS_PRIVATE___331 = 0,
    PTHREAD_PROCESS_SHARED___331 = 1
} ;
enum __anonenum_53396917___331 {
    PTHREAD_CANCEL_ENABLE___331 = 0,
    PTHREAD_CANCEL_DISABLE___331 = 1
} ;
enum __anonenum_904563783___331 {
    PTHREAD_CANCEL_DEFERRED___331 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___331 = 1
} ;
enum __anonenum_672052974___331 {
    SSL_CT_VALIDATION_PERMISSIVE___331 = 0,
    SSL_CT_VALIDATION_STRICT___331 = 1
} ;
enum __anonenum_437032235___332 {
    _PC_LINK_MAX___332 = 0,
    _PC_MAX_CANON___332 = 1,
    _PC_MAX_INPUT___332 = 2,
    _PC_NAME_MAX___332 = 3,
    _PC_PATH_MAX___332 = 4,
    _PC_PIPE_BUF___332 = 5,
    _PC_CHOWN_RESTRICTED___332 = 6,
    _PC_NO_TRUNC___332 = 7,
    _PC_VDISABLE___332 = 8,
    _PC_SYNC_IO___332 = 9,
    _PC_ASYNC_IO___332 = 10,
    _PC_PRIO_IO___332 = 11,
    _PC_SOCK_MAXBUF___332 = 12,
    _PC_FILESIZEBITS___332 = 13,
    _PC_REC_INCR_XFER_SIZE___332 = 14,
    _PC_REC_MAX_XFER_SIZE___332 = 15,
    _PC_REC_MIN_XFER_SIZE___332 = 16,
    _PC_REC_XFER_ALIGN___332 = 17,
    _PC_ALLOC_SIZE_MIN___332 = 18,
    _PC_SYMLINK_MAX___332 = 19,
    _PC_2_SYMLINKS___332 = 20
} ;
enum __anonenum_315186338___332 {
    _SC_ARG_MAX___332 = 0,
    _SC_CHILD_MAX___332 = 1,
    _SC_CLK_TCK___332 = 2,
    _SC_NGROUPS_MAX___332 = 3,
    _SC_OPEN_MAX___332 = 4,
    _SC_STREAM_MAX___332 = 5,
    _SC_TZNAME_MAX___332 = 6,
    _SC_JOB_CONTROL___332 = 7,
    _SC_SAVED_IDS___332 = 8,
    _SC_REALTIME_SIGNALS___332 = 9,
    _SC_PRIORITY_SCHEDULING___332 = 10,
    _SC_TIMERS___332 = 11,
    _SC_ASYNCHRONOUS_IO___332 = 12,
    _SC_PRIORITIZED_IO___332 = 13,
    _SC_SYNCHRONIZED_IO___332 = 14,
    _SC_FSYNC___332 = 15,
    _SC_MAPPED_FILES___332 = 16,
    _SC_MEMLOCK___332 = 17,
    _SC_MEMLOCK_RANGE___332 = 18,
    _SC_MEMORY_PROTECTION___332 = 19,
    _SC_MESSAGE_PASSING___332 = 20,
    _SC_SEMAPHORES___332 = 21,
    _SC_SHARED_MEMORY_OBJECTS___332 = 22,
    _SC_AIO_LISTIO_MAX___332 = 23,
    _SC_AIO_MAX___332 = 24,
    _SC_AIO_PRIO_DELTA_MAX___332 = 25,
    _SC_DELAYTIMER_MAX___332 = 26,
    _SC_MQ_OPEN_MAX___332 = 27,
    _SC_MQ_PRIO_MAX___332 = 28,
    _SC_VERSION___332 = 29,
    _SC_PAGESIZE___332 = 30,
    _SC_RTSIG_MAX___332 = 31,
    _SC_SEM_NSEMS_MAX___332 = 32,
    _SC_SEM_VALUE_MAX___332 = 33,
    _SC_SIGQUEUE_MAX___332 = 34,
    _SC_TIMER_MAX___332 = 35,
    _SC_BC_BASE_MAX___332 = 36,
    _SC_BC_DIM_MAX___332 = 37,
    _SC_BC_SCALE_MAX___332 = 38,
    _SC_BC_STRING_MAX___332 = 39,
    _SC_COLL_WEIGHTS_MAX___332 = 40,
    _SC_EQUIV_CLASS_MAX___332 = 41,
    _SC_EXPR_NEST_MAX___332 = 42,
    _SC_LINE_MAX___332 = 43,
    _SC_RE_DUP_MAX___332 = 44,
    _SC_CHARCLASS_NAME_MAX___332 = 45,
    _SC_2_VERSION___332 = 46,
    _SC_2_C_BIND___332 = 47,
    _SC_2_C_DEV___332 = 48,
    _SC_2_FORT_DEV___332 = 49,
    _SC_2_FORT_RUN___332 = 50,
    _SC_2_SW_DEV___332 = 51,
    _SC_2_LOCALEDEF___332 = 52,
    _SC_PII___332 = 53,
    _SC_PII_XTI___332 = 54,
    _SC_PII_SOCKET___332 = 55,
    _SC_PII_INTERNET___332 = 56,
    _SC_PII_OSI___332 = 57,
    _SC_POLL___332 = 58,
    _SC_SELECT___332 = 59,
    _SC_UIO_MAXIOV___332 = 60,
    _SC_IOV_MAX___332 = 60,
    _SC_PII_INTERNET_STREAM___332 = 61,
    _SC_PII_INTERNET_DGRAM___332 = 62,
    _SC_PII_OSI_COTS___332 = 63,
    _SC_PII_OSI_CLTS___332 = 64,
    _SC_PII_OSI_M___332 = 65,
    _SC_T_IOV_MAX___332 = 66,
    _SC_THREADS___332 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___332 = 68,
    _SC_GETGR_R_SIZE_MAX___332 = 69,
    _SC_GETPW_R_SIZE_MAX___332 = 70,
    _SC_LOGIN_NAME_MAX___332 = 71,
    _SC_TTY_NAME_MAX___332 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___332 = 73,
    _SC_THREAD_KEYS_MAX___332 = 74,
    _SC_THREAD_STACK_MIN___332 = 75,
    _SC_THREAD_THREADS_MAX___332 = 76,
    _SC_THREAD_ATTR_STACKADDR___332 = 77,
    _SC_THREAD_ATTR_STACKSIZE___332 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___332 = 79,
    _SC_THREAD_PRIO_INHERIT___332 = 80,
    _SC_THREAD_PRIO_PROTECT___332 = 81,
    _SC_THREAD_PROCESS_SHARED___332 = 82,
    _SC_NPROCESSORS_CONF___332 = 83,
    _SC_NPROCESSORS_ONLN___332 = 84,
    _SC_PHYS_PAGES___332 = 85,
    _SC_AVPHYS_PAGES___332 = 86,
    _SC_ATEXIT_MAX___332 = 87,
    _SC_PASS_MAX___332 = 88,
    _SC_XOPEN_VERSION___332 = 89,
    _SC_XOPEN_XCU_VERSION___332 = 90,
    _SC_XOPEN_UNIX___332 = 91,
    _SC_XOPEN_CRYPT___332 = 92,
    _SC_XOPEN_ENH_I18N___332 = 93,
    _SC_XOPEN_SHM___332 = 94,
    _SC_2_CHAR_TERM___332 = 95,
    _SC_2_C_VERSION___332 = 96,
    _SC_2_UPE___332 = 97,
    _SC_XOPEN_XPG2___332 = 98,
    _SC_XOPEN_XPG3___332 = 99,
    _SC_XOPEN_XPG4___332 = 100,
    _SC_CHAR_BIT___332 = 101,
    _SC_CHAR_MAX___332 = 102,
    _SC_CHAR_MIN___332 = 103,
    _SC_INT_MAX___332 = 104,
    _SC_INT_MIN___332 = 105,
    _SC_LONG_BIT___332 = 106,
    _SC_WORD_BIT___332 = 107,
    _SC_MB_LEN_MAX___332 = 108,
    _SC_NZERO___332 = 109,
    _SC_SSIZE_MAX___332 = 110,
    _SC_SCHAR_MAX___332 = 111,
    _SC_SCHAR_MIN___332 = 112,
    _SC_SHRT_MAX___332 = 113,
    _SC_SHRT_MIN___332 = 114,
    _SC_UCHAR_MAX___332 = 115,
    _SC_UINT_MAX___332 = 116,
    _SC_ULONG_MAX___332 = 117,
    _SC_USHRT_MAX___332 = 118,
    _SC_NL_ARGMAX___332 = 119,
    _SC_NL_LANGMAX___332 = 120,
    _SC_NL_MSGMAX___332 = 121,
    _SC_NL_NMAX___332 = 122,
    _SC_NL_SETMAX___332 = 123,
    _SC_NL_TEXTMAX___332 = 124,
    _SC_XBS5_ILP32_OFF32___332 = 125,
    _SC_XBS5_ILP32_OFFBIG___332 = 126,
    _SC_XBS5_LP64_OFF64___332 = 127,
    _SC_XBS5_LPBIG_OFFBIG___332 = 128,
    _SC_XOPEN_LEGACY___332 = 129,
    _SC_XOPEN_REALTIME___332 = 130,
    _SC_XOPEN_REALTIME_THREADS___332 = 131,
    _SC_ADVISORY_INFO___332 = 132,
    _SC_BARRIERS___332 = 133,
    _SC_BASE___332 = 134,
    _SC_C_LANG_SUPPORT___332 = 135,
    _SC_C_LANG_SUPPORT_R___332 = 136,
    _SC_CLOCK_SELECTION___332 = 137,
    _SC_CPUTIME___332 = 138,
    _SC_THREAD_CPUTIME___332 = 139,
    _SC_DEVICE_IO___332 = 140,
    _SC_DEVICE_SPECIFIC___332 = 141,
    _SC_DEVICE_SPECIFIC_R___332 = 142,
    _SC_FD_MGMT___332 = 143,
    _SC_FIFO___332 = 144,
    _SC_PIPE___332 = 145,
    _SC_FILE_ATTRIBUTES___332 = 146,
    _SC_FILE_LOCKING___332 = 147,
    _SC_FILE_SYSTEM___332 = 148,
    _SC_MONOTONIC_CLOCK___332 = 149,
    _SC_MULTI_PROCESS___332 = 150,
    _SC_SINGLE_PROCESS___332 = 151,
    _SC_NETWORKING___332 = 152,
    _SC_READER_WRITER_LOCKS___332 = 153,
    _SC_SPIN_LOCKS___332 = 154,
    _SC_REGEXP___332 = 155,
    _SC_REGEX_VERSION___332 = 156,
    _SC_SHELL___332 = 157,
    _SC_SIGNALS___332 = 158,
    _SC_SPAWN___332 = 159,
    _SC_SPORADIC_SERVER___332 = 160,
    _SC_THREAD_SPORADIC_SERVER___332 = 161,
    _SC_SYSTEM_DATABASE___332 = 162,
    _SC_SYSTEM_DATABASE_R___332 = 163,
    _SC_TIMEOUTS___332 = 164,
    _SC_TYPED_MEMORY_OBJECTS___332 = 165,
    _SC_USER_GROUPS___332 = 166,
    _SC_USER_GROUPS_R___332 = 167,
    _SC_2_PBS___332 = 168,
    _SC_2_PBS_ACCOUNTING___332 = 169,
    _SC_2_PBS_LOCATE___332 = 170,
    _SC_2_PBS_MESSAGE___332 = 171,
    _SC_2_PBS_TRACK___332 = 172,
    _SC_SYMLOOP_MAX___332 = 173,
    _SC_STREAMS___332 = 174,
    _SC_2_PBS_CHECKPOINT___332 = 175,
    _SC_V6_ILP32_OFF32___332 = 176,
    _SC_V6_ILP32_OFFBIG___332 = 177,
    _SC_V6_LP64_OFF64___332 = 178,
    _SC_V6_LPBIG_OFFBIG___332 = 179,
    _SC_HOST_NAME_MAX___332 = 180,
    _SC_TRACE___332 = 181,
    _SC_TRACE_EVENT_FILTER___332 = 182,
    _SC_TRACE_INHERIT___332 = 183,
    _SC_TRACE_LOG___332 = 184,
    _SC_LEVEL1_ICACHE_SIZE___332 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___332 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___332 = 187,
    _SC_LEVEL1_DCACHE_SIZE___332 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___332 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___332 = 190,
    _SC_LEVEL2_CACHE_SIZE___332 = 191,
    _SC_LEVEL2_CACHE_ASSOC___332 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___332 = 193,
    _SC_LEVEL3_CACHE_SIZE___332 = 194,
    _SC_LEVEL3_CACHE_ASSOC___332 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___332 = 196,
    _SC_LEVEL4_CACHE_SIZE___332 = 197,
    _SC_LEVEL4_CACHE_ASSOC___332 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___332 = 199,
    _SC_IPV6___332 = 235,
    _SC_RAW_SOCKETS___332 = 236,
    _SC_V7_ILP32_OFF32___332 = 237,
    _SC_V7_ILP32_OFFBIG___332 = 238,
    _SC_V7_LP64_OFF64___332 = 239,
    _SC_V7_LPBIG_OFFBIG___332 = 240,
    _SC_SS_REPL_MAX___332 = 241,
    _SC_TRACE_EVENT_NAME_MAX___332 = 242,
    _SC_TRACE_NAME_MAX___332 = 243,
    _SC_TRACE_SYS_MAX___332 = 244,
    _SC_TRACE_USER_EVENT_MAX___332 = 245,
    _SC_XOPEN_STREAMS___332 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___332 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___332 = 248
} ;
enum __anonenum_875524036___332 {
    _CS_PATH___332 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___332 = 1,
    _CS_GNU_LIBC_VERSION___332 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___332 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___332 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___332 = 5,
    _CS_LFS_CFLAGS___332 = 1000,
    _CS_LFS_LDFLAGS___332 = 1001,
    _CS_LFS_LIBS___332 = 1002,
    _CS_LFS_LINTFLAGS___332 = 1003,
    _CS_LFS64_CFLAGS___332 = 1004,
    _CS_LFS64_LDFLAGS___332 = 1005,
    _CS_LFS64_LIBS___332 = 1006,
    _CS_LFS64_LINTFLAGS___332 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___332 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___332 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___332 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___332 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___332 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___332 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___332 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___332 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___332 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___332 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___332 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___332 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___332 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___332 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___332 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___332 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___332 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___332 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___332 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___332 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___332 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___332 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___332 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___332 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___332 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___332 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___332 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___332 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___332 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___332 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___332 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___332 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___332 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___332 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___332 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___332 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___332 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___332 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___332 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___332 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___332 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___332 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___332 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___332 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___332 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___332 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___332 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___332 = 1147,
    _CS_V6_ENV___332 = 1148,
    _CS_V7_ENV___332 = 1149
} ;
enum __anonenum_513775621___332 {
    DT_UNKNOWN___332 = 0,
    DT_FIFO___332 = 1,
    DT_CHR___332 = 2,
    DT_DIR___332 = 4,
    DT_BLK___332 = 6,
    DT_REG___332 = 8,
    DT_LNK___332 = 10,
    DT_SOCK___332 = 12,
    DT_WHT___332 = 14
} ;
enum __anonenum_77002343___332 {
    SI_ASYNCNL___332 = -60,
    SI_TKILL___332 = -6,
    SI_SIGIO___332 = -5,
    SI_ASYNCIO___332 = -4,
    SI_MESGQ___332 = -3,
    SI_TIMER___332 = -2,
    SI_QUEUE___332 = -1,
    SI_USER___332 = 0,
    SI_KERNEL___332 = 128
} ;
enum __anonenum_131038172___332 {
    ILL_ILLOPC___332 = 1,
    ILL_ILLOPN___332 = 2,
    ILL_ILLADR___332 = 3,
    ILL_ILLTRP___332 = 4,
    ILL_PRVOPC___332 = 5,
    ILL_PRVREG___332 = 6,
    ILL_COPROC___332 = 7,
    ILL_BADSTK___332 = 8
} ;
enum __anonenum_452038093___332 {
    FPE_INTDIV___332 = 1,
    FPE_INTOVF___332 = 2,
    FPE_FLTDIV___332 = 3,
    FPE_FLTOVF___332 = 4,
    FPE_FLTUND___332 = 5,
    FPE_FLTRES___332 = 6,
    FPE_FLTINV___332 = 7,
    FPE_FLTSUB___332 = 8
} ;
enum __anonenum_30976155___332 {
    SEGV_MAPERR___332 = 1,
    SEGV_ACCERR___332 = 2,
    SEGV_BNDERR___332 = 3,
    SEGV_PKUERR___332 = 4
} ;
enum __anonenum_1036286214___332 {
    BUS_ADRALN___332 = 1,
    BUS_ADRERR___332 = 2,
    BUS_OBJERR___332 = 3,
    BUS_MCEERR_AR___332 = 4,
    BUS_MCEERR_AO___332 = 5
} ;
enum __anonenum_493465559___332 {
    TRAP_BRKPT___332 = 1,
    TRAP_TRACE___332 = 2
} ;
enum __anonenum_23175539___332 {
    CLD_EXITED___332 = 1,
    CLD_KILLED___332 = 2,
    CLD_DUMPED___332 = 3,
    CLD_TRAPPED___332 = 4,
    CLD_STOPPED___332 = 5,
    CLD_CONTINUED___332 = 6
} ;
enum __anonenum_111643124___332 {
    POLL_IN___332 = 1,
    POLL_OUT___332 = 2,
    POLL_MSG___332 = 3,
    POLL_ERR___332 = 4,
    POLL_PRI___332 = 5,
    POLL_HUP___332 = 6
} ;
enum __anonenum_852341087___332 {
    SIGEV_SIGNAL___332 = 0,
    SIGEV_NONE___332 = 1,
    SIGEV_THREAD___332 = 2,
    SIGEV_THREAD_ID___332 = 4
} ;
enum __anonenum_451154152___332 {
    REG_R8___332 = 0,
    REG_R9___332 = 1,
    REG_R10___332 = 2,
    REG_R11___332 = 3,
    REG_R12___332 = 4,
    REG_R13___332 = 5,
    REG_R14___332 = 6,
    REG_R15___332 = 7,
    REG_RDI___332 = 8,
    REG_RSI___332 = 9,
    REG_RBP___332 = 10,
    REG_RBX___332 = 11,
    REG_RDX___332 = 12,
    REG_RAX___332 = 13,
    REG_RCX___332 = 14,
    REG_RSP___332 = 15,
    REG_RIP___332 = 16,
    REG_EFL___332 = 17,
    REG_CSGSFS___332 = 18,
    REG_ERR___332 = 19,
    REG_TRAPNO___332 = 20,
    REG_OLDMASK___332 = 21,
    REG_CR2___332 = 22
} ;
enum __anonenum_57186863___332 {
    SS_ONSTACK___332 = 1,
    SS_DISABLE___332 = 2
} ;
enum __anonenum_83571709___332 {
    MSG_OOB___332 = 1,
    MSG_PEEK___332 = 2,
    MSG_DONTROUTE___332 = 4,
    MSG_TRYHARD___332 = 4,
    MSG_CTRUNC___332 = 8,
    MSG_PROXY___332 = 16,
    MSG_TRUNC___332 = 32,
    MSG_DONTWAIT___332 = 64,
    MSG_EOR___332 = 128,
    MSG_WAITALL___332 = 256,
    MSG_FIN___332 = 512,
    MSG_SYN___332 = 1024,
    MSG_CONFIRM___332 = 2048,
    MSG_RST___332 = 4096,
    MSG_ERRQUEUE___332 = 8192,
    MSG_NOSIGNAL___332 = 16384,
    MSG_MORE___332 = 32768,
    MSG_WAITFORONE___332 = 65536,
    MSG_BATCH___332 = 262144,
    MSG_ZEROCOPY___332 = 67108864,
    MSG_FASTOPEN___332 = 536870912,
    MSG_CMSG_CLOEXEC___332 = 1073741824
} ;
enum __anonenum_617082774___332 {
    SCM_RIGHTS___332 = 1,
    SCM_CREDENTIALS___332 = 2
} ;
enum __anonenum_606441560___332 {
    SHUT_RD___332 = 0,
    SHUT_WR___332 = 1,
    SHUT_RDWR___332 = 2
} ;
enum __anonenum_681669233___332 {
    IPPROTO_IP___332 = 0,
    IPPROTO_ICMP___332 = 1,
    IPPROTO_IGMP___332 = 2,
    IPPROTO_IPIP___332 = 4,
    IPPROTO_TCP___332 = 6,
    IPPROTO_EGP___332 = 8,
    IPPROTO_PUP___332 = 12,
    IPPROTO_UDP___332 = 17,
    IPPROTO_IDP___332 = 22,
    IPPROTO_TP___332 = 29,
    IPPROTO_DCCP___332 = 33,
    IPPROTO_IPV6___332 = 41,
    IPPROTO_RSVP___332 = 46,
    IPPROTO_GRE___332 = 47,
    IPPROTO_ESP___332 = 50,
    IPPROTO_AH___332 = 51,
    IPPROTO_MTP___332 = 92,
    IPPROTO_BEETPH___332 = 94,
    IPPROTO_ENCAP___332 = 98,
    IPPROTO_PIM___332 = 103,
    IPPROTO_COMP___332 = 108,
    IPPROTO_SCTP___332 = 132,
    IPPROTO_UDPLITE___332 = 136,
    IPPROTO_MPLS___332 = 137,
    IPPROTO_RAW___332 = 255,
    IPPROTO_MAX___332 = 256
} ;
enum __anonenum_218739988___332 {
    IPPROTO_HOPOPTS___332 = 0,
    IPPROTO_ROUTING___332 = 43,
    IPPROTO_FRAGMENT___332 = 44,
    IPPROTO_ICMPV6___332 = 58,
    IPPROTO_NONE___332 = 59,
    IPPROTO_DSTOPTS___332 = 60,
    IPPROTO_MH___332 = 135
} ;
enum __anonenum_662268580___332 {
    IPPORT_ECHO___332 = 7,
    IPPORT_DISCARD___332 = 9,
    IPPORT_SYSTAT___332 = 11,
    IPPORT_DAYTIME___332 = 13,
    IPPORT_NETSTAT___332 = 15,
    IPPORT_FTP___332 = 21,
    IPPORT_TELNET___332 = 23,
    IPPORT_SMTP___332 = 25,
    IPPORT_TIMESERVER___332 = 37,
    IPPORT_NAMESERVER___332 = 42,
    IPPORT_WHOIS___332 = 43,
    IPPORT_MTP___332 = 57,
    IPPORT_TFTP___332 = 69,
    IPPORT_RJE___332 = 77,
    IPPORT_FINGER___332 = 79,
    IPPORT_TTYLINK___332 = 87,
    IPPORT_SUPDUP___332 = 95,
    IPPORT_EXECSERVER___332 = 512,
    IPPORT_LOGINSERVER___332 = 513,
    IPPORT_CMDSERVER___332 = 514,
    IPPORT_EFSSERVER___332 = 520,
    IPPORT_BIFFUDP___332 = 512,
    IPPORT_WHOSERVER___332 = 513,
    IPPORT_ROUTESERVER___332 = 520,
    IPPORT_RESERVED___332 = 1024,
    IPPORT_USERRESERVED___332 = 5000
} ;
enum __anonenum_788308992___332 {
    TCP_ESTABLISHED___332 = 1,
    TCP_SYN_SENT___332 = 2,
    TCP_SYN_RECV___332 = 3,
    TCP_FIN_WAIT1___332 = 4,
    TCP_FIN_WAIT2___332 = 5,
    TCP_TIME_WAIT___332 = 6,
    TCP_CLOSE___332 = 7,
    TCP_CLOSE_WAIT___332 = 8,
    TCP_LAST_ACK___332 = 9,
    TCP_LISTEN___332 = 10,
    TCP_CLOSING___332 = 11
} ;
enum __anonenum_221125648___332 {
    TCP_NO_QUEUE___332 = 0,
    TCP_RECV_QUEUE___332 = 1,
    TCP_SEND_QUEUE___332 = 2,
    TCP_QUEUES_NR___332 = 3
} ;
enum __anonenum_34415463___332 {
    PTHREAD_CREATE_JOINABLE___332 = 0,
    PTHREAD_CREATE_DETACHED___332 = 1
} ;
enum __anonenum_303612439___332 {
    PTHREAD_MUTEX_TIMED_NP___332 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___332 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___332 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___332 = 3,
    PTHREAD_MUTEX_NORMAL___332 = 0,
    PTHREAD_MUTEX_RECURSIVE___332 = 1,
    PTHREAD_MUTEX_ERRORCHECK___332 = 2,
    PTHREAD_MUTEX_DEFAULT___332 = 0,
    PTHREAD_MUTEX_FAST_NP___332 = 0
} ;
enum __anonenum_931900394___332 {
    PTHREAD_MUTEX_STALLED___332 = 0,
    PTHREAD_MUTEX_STALLED_NP___332 = 0,
    PTHREAD_MUTEX_ROBUST___332 = 1,
    PTHREAD_MUTEX_ROBUST_NP___332 = 1
} ;
enum __anonenum_205214487___332 {
    PTHREAD_PRIO_NONE___332 = 0,
    PTHREAD_PRIO_INHERIT___332 = 1,
    PTHREAD_PRIO_PROTECT___332 = 2
} ;
enum __anonenum_25043950___332 {
    PTHREAD_RWLOCK_PREFER_READER_NP___332 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___332 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___332 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___332 = 0
} ;
enum __anonenum_436439511___332 {
    PTHREAD_INHERIT_SCHED___332 = 0,
    PTHREAD_EXPLICIT_SCHED___332 = 1
} ;
enum __anonenum_998661166___332 {
    PTHREAD_SCOPE_SYSTEM___332 = 0,
    PTHREAD_SCOPE_PROCESS___332 = 1
} ;
enum __anonenum_146137331___332 {
    PTHREAD_PROCESS_PRIVATE___332 = 0,
    PTHREAD_PROCESS_SHARED___332 = 1
} ;
enum __anonenum_53396917___332 {
    PTHREAD_CANCEL_ENABLE___332 = 0,
    PTHREAD_CANCEL_DISABLE___332 = 1
} ;
enum __anonenum_904563783___332 {
    PTHREAD_CANCEL_DEFERRED___332 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___332 = 1
} ;
enum __anonenum_672052974___332 {
    SSL_CT_VALIDATION_PERMISSIVE___332 = 0,
    SSL_CT_VALIDATION_STRICT___332 = 1
} ;
enum __anonenum_437032235___333 {
    _PC_LINK_MAX___333 = 0,
    _PC_MAX_CANON___333 = 1,
    _PC_MAX_INPUT___333 = 2,
    _PC_NAME_MAX___333 = 3,
    _PC_PATH_MAX___333 = 4,
    _PC_PIPE_BUF___333 = 5,
    _PC_CHOWN_RESTRICTED___333 = 6,
    _PC_NO_TRUNC___333 = 7,
    _PC_VDISABLE___333 = 8,
    _PC_SYNC_IO___333 = 9,
    _PC_ASYNC_IO___333 = 10,
    _PC_PRIO_IO___333 = 11,
    _PC_SOCK_MAXBUF___333 = 12,
    _PC_FILESIZEBITS___333 = 13,
    _PC_REC_INCR_XFER_SIZE___333 = 14,
    _PC_REC_MAX_XFER_SIZE___333 = 15,
    _PC_REC_MIN_XFER_SIZE___333 = 16,
    _PC_REC_XFER_ALIGN___333 = 17,
    _PC_ALLOC_SIZE_MIN___333 = 18,
    _PC_SYMLINK_MAX___333 = 19,
    _PC_2_SYMLINKS___333 = 20
} ;
enum __anonenum_315186338___333 {
    _SC_ARG_MAX___333 = 0,
    _SC_CHILD_MAX___333 = 1,
    _SC_CLK_TCK___333 = 2,
    _SC_NGROUPS_MAX___333 = 3,
    _SC_OPEN_MAX___333 = 4,
    _SC_STREAM_MAX___333 = 5,
    _SC_TZNAME_MAX___333 = 6,
    _SC_JOB_CONTROL___333 = 7,
    _SC_SAVED_IDS___333 = 8,
    _SC_REALTIME_SIGNALS___333 = 9,
    _SC_PRIORITY_SCHEDULING___333 = 10,
    _SC_TIMERS___333 = 11,
    _SC_ASYNCHRONOUS_IO___333 = 12,
    _SC_PRIORITIZED_IO___333 = 13,
    _SC_SYNCHRONIZED_IO___333 = 14,
    _SC_FSYNC___333 = 15,
    _SC_MAPPED_FILES___333 = 16,
    _SC_MEMLOCK___333 = 17,
    _SC_MEMLOCK_RANGE___333 = 18,
    _SC_MEMORY_PROTECTION___333 = 19,
    _SC_MESSAGE_PASSING___333 = 20,
    _SC_SEMAPHORES___333 = 21,
    _SC_SHARED_MEMORY_OBJECTS___333 = 22,
    _SC_AIO_LISTIO_MAX___333 = 23,
    _SC_AIO_MAX___333 = 24,
    _SC_AIO_PRIO_DELTA_MAX___333 = 25,
    _SC_DELAYTIMER_MAX___333 = 26,
    _SC_MQ_OPEN_MAX___333 = 27,
    _SC_MQ_PRIO_MAX___333 = 28,
    _SC_VERSION___333 = 29,
    _SC_PAGESIZE___333 = 30,
    _SC_RTSIG_MAX___333 = 31,
    _SC_SEM_NSEMS_MAX___333 = 32,
    _SC_SEM_VALUE_MAX___333 = 33,
    _SC_SIGQUEUE_MAX___333 = 34,
    _SC_TIMER_MAX___333 = 35,
    _SC_BC_BASE_MAX___333 = 36,
    _SC_BC_DIM_MAX___333 = 37,
    _SC_BC_SCALE_MAX___333 = 38,
    _SC_BC_STRING_MAX___333 = 39,
    _SC_COLL_WEIGHTS_MAX___333 = 40,
    _SC_EQUIV_CLASS_MAX___333 = 41,
    _SC_EXPR_NEST_MAX___333 = 42,
    _SC_LINE_MAX___333 = 43,
    _SC_RE_DUP_MAX___333 = 44,
    _SC_CHARCLASS_NAME_MAX___333 = 45,
    _SC_2_VERSION___333 = 46,
    _SC_2_C_BIND___333 = 47,
    _SC_2_C_DEV___333 = 48,
    _SC_2_FORT_DEV___333 = 49,
    _SC_2_FORT_RUN___333 = 50,
    _SC_2_SW_DEV___333 = 51,
    _SC_2_LOCALEDEF___333 = 52,
    _SC_PII___333 = 53,
    _SC_PII_XTI___333 = 54,
    _SC_PII_SOCKET___333 = 55,
    _SC_PII_INTERNET___333 = 56,
    _SC_PII_OSI___333 = 57,
    _SC_POLL___333 = 58,
    _SC_SELECT___333 = 59,
    _SC_UIO_MAXIOV___333 = 60,
    _SC_IOV_MAX___333 = 60,
    _SC_PII_INTERNET_STREAM___333 = 61,
    _SC_PII_INTERNET_DGRAM___333 = 62,
    _SC_PII_OSI_COTS___333 = 63,
    _SC_PII_OSI_CLTS___333 = 64,
    _SC_PII_OSI_M___333 = 65,
    _SC_T_IOV_MAX___333 = 66,
    _SC_THREADS___333 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___333 = 68,
    _SC_GETGR_R_SIZE_MAX___333 = 69,
    _SC_GETPW_R_SIZE_MAX___333 = 70,
    _SC_LOGIN_NAME_MAX___333 = 71,
    _SC_TTY_NAME_MAX___333 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___333 = 73,
    _SC_THREAD_KEYS_MAX___333 = 74,
    _SC_THREAD_STACK_MIN___333 = 75,
    _SC_THREAD_THREADS_MAX___333 = 76,
    _SC_THREAD_ATTR_STACKADDR___333 = 77,
    _SC_THREAD_ATTR_STACKSIZE___333 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___333 = 79,
    _SC_THREAD_PRIO_INHERIT___333 = 80,
    _SC_THREAD_PRIO_PROTECT___333 = 81,
    _SC_THREAD_PROCESS_SHARED___333 = 82,
    _SC_NPROCESSORS_CONF___333 = 83,
    _SC_NPROCESSORS_ONLN___333 = 84,
    _SC_PHYS_PAGES___333 = 85,
    _SC_AVPHYS_PAGES___333 = 86,
    _SC_ATEXIT_MAX___333 = 87,
    _SC_PASS_MAX___333 = 88,
    _SC_XOPEN_VERSION___333 = 89,
    _SC_XOPEN_XCU_VERSION___333 = 90,
    _SC_XOPEN_UNIX___333 = 91,
    _SC_XOPEN_CRYPT___333 = 92,
    _SC_XOPEN_ENH_I18N___333 = 93,
    _SC_XOPEN_SHM___333 = 94,
    _SC_2_CHAR_TERM___333 = 95,
    _SC_2_C_VERSION___333 = 96,
    _SC_2_UPE___333 = 97,
    _SC_XOPEN_XPG2___333 = 98,
    _SC_XOPEN_XPG3___333 = 99,
    _SC_XOPEN_XPG4___333 = 100,
    _SC_CHAR_BIT___333 = 101,
    _SC_CHAR_MAX___333 = 102,
    _SC_CHAR_MIN___333 = 103,
    _SC_INT_MAX___333 = 104,
    _SC_INT_MIN___333 = 105,
    _SC_LONG_BIT___333 = 106,
    _SC_WORD_BIT___333 = 107,
    _SC_MB_LEN_MAX___333 = 108,
    _SC_NZERO___333 = 109,
    _SC_SSIZE_MAX___333 = 110,
    _SC_SCHAR_MAX___333 = 111,
    _SC_SCHAR_MIN___333 = 112,
    _SC_SHRT_MAX___333 = 113,
    _SC_SHRT_MIN___333 = 114,
    _SC_UCHAR_MAX___333 = 115,
    _SC_UINT_MAX___333 = 116,
    _SC_ULONG_MAX___333 = 117,
    _SC_USHRT_MAX___333 = 118,
    _SC_NL_ARGMAX___333 = 119,
    _SC_NL_LANGMAX___333 = 120,
    _SC_NL_MSGMAX___333 = 121,
    _SC_NL_NMAX___333 = 122,
    _SC_NL_SETMAX___333 = 123,
    _SC_NL_TEXTMAX___333 = 124,
    _SC_XBS5_ILP32_OFF32___333 = 125,
    _SC_XBS5_ILP32_OFFBIG___333 = 126,
    _SC_XBS5_LP64_OFF64___333 = 127,
    _SC_XBS5_LPBIG_OFFBIG___333 = 128,
    _SC_XOPEN_LEGACY___333 = 129,
    _SC_XOPEN_REALTIME___333 = 130,
    _SC_XOPEN_REALTIME_THREADS___333 = 131,
    _SC_ADVISORY_INFO___333 = 132,
    _SC_BARRIERS___333 = 133,
    _SC_BASE___333 = 134,
    _SC_C_LANG_SUPPORT___333 = 135,
    _SC_C_LANG_SUPPORT_R___333 = 136,
    _SC_CLOCK_SELECTION___333 = 137,
    _SC_CPUTIME___333 = 138,
    _SC_THREAD_CPUTIME___333 = 139,
    _SC_DEVICE_IO___333 = 140,
    _SC_DEVICE_SPECIFIC___333 = 141,
    _SC_DEVICE_SPECIFIC_R___333 = 142,
    _SC_FD_MGMT___333 = 143,
    _SC_FIFO___333 = 144,
    _SC_PIPE___333 = 145,
    _SC_FILE_ATTRIBUTES___333 = 146,
    _SC_FILE_LOCKING___333 = 147,
    _SC_FILE_SYSTEM___333 = 148,
    _SC_MONOTONIC_CLOCK___333 = 149,
    _SC_MULTI_PROCESS___333 = 150,
    _SC_SINGLE_PROCESS___333 = 151,
    _SC_NETWORKING___333 = 152,
    _SC_READER_WRITER_LOCKS___333 = 153,
    _SC_SPIN_LOCKS___333 = 154,
    _SC_REGEXP___333 = 155,
    _SC_REGEX_VERSION___333 = 156,
    _SC_SHELL___333 = 157,
    _SC_SIGNALS___333 = 158,
    _SC_SPAWN___333 = 159,
    _SC_SPORADIC_SERVER___333 = 160,
    _SC_THREAD_SPORADIC_SERVER___333 = 161,
    _SC_SYSTEM_DATABASE___333 = 162,
    _SC_SYSTEM_DATABASE_R___333 = 163,
    _SC_TIMEOUTS___333 = 164,
    _SC_TYPED_MEMORY_OBJECTS___333 = 165,
    _SC_USER_GROUPS___333 = 166,
    _SC_USER_GROUPS_R___333 = 167,
    _SC_2_PBS___333 = 168,
    _SC_2_PBS_ACCOUNTING___333 = 169,
    _SC_2_PBS_LOCATE___333 = 170,
    _SC_2_PBS_MESSAGE___333 = 171,
    _SC_2_PBS_TRACK___333 = 172,
    _SC_SYMLOOP_MAX___333 = 173,
    _SC_STREAMS___333 = 174,
    _SC_2_PBS_CHECKPOINT___333 = 175,
    _SC_V6_ILP32_OFF32___333 = 176,
    _SC_V6_ILP32_OFFBIG___333 = 177,
    _SC_V6_LP64_OFF64___333 = 178,
    _SC_V6_LPBIG_OFFBIG___333 = 179,
    _SC_HOST_NAME_MAX___333 = 180,
    _SC_TRACE___333 = 181,
    _SC_TRACE_EVENT_FILTER___333 = 182,
    _SC_TRACE_INHERIT___333 = 183,
    _SC_TRACE_LOG___333 = 184,
    _SC_LEVEL1_ICACHE_SIZE___333 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___333 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___333 = 187,
    _SC_LEVEL1_DCACHE_SIZE___333 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___333 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___333 = 190,
    _SC_LEVEL2_CACHE_SIZE___333 = 191,
    _SC_LEVEL2_CACHE_ASSOC___333 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___333 = 193,
    _SC_LEVEL3_CACHE_SIZE___333 = 194,
    _SC_LEVEL3_CACHE_ASSOC___333 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___333 = 196,
    _SC_LEVEL4_CACHE_SIZE___333 = 197,
    _SC_LEVEL4_CACHE_ASSOC___333 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___333 = 199,
    _SC_IPV6___333 = 235,
    _SC_RAW_SOCKETS___333 = 236,
    _SC_V7_ILP32_OFF32___333 = 237,
    _SC_V7_ILP32_OFFBIG___333 = 238,
    _SC_V7_LP64_OFF64___333 = 239,
    _SC_V7_LPBIG_OFFBIG___333 = 240,
    _SC_SS_REPL_MAX___333 = 241,
    _SC_TRACE_EVENT_NAME_MAX___333 = 242,
    _SC_TRACE_NAME_MAX___333 = 243,
    _SC_TRACE_SYS_MAX___333 = 244,
    _SC_TRACE_USER_EVENT_MAX___333 = 245,
    _SC_XOPEN_STREAMS___333 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___333 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___333 = 248
} ;
enum __anonenum_875524036___333 {
    _CS_PATH___333 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___333 = 1,
    _CS_GNU_LIBC_VERSION___333 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___333 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___333 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___333 = 5,
    _CS_LFS_CFLAGS___333 = 1000,
    _CS_LFS_LDFLAGS___333 = 1001,
    _CS_LFS_LIBS___333 = 1002,
    _CS_LFS_LINTFLAGS___333 = 1003,
    _CS_LFS64_CFLAGS___333 = 1004,
    _CS_LFS64_LDFLAGS___333 = 1005,
    _CS_LFS64_LIBS___333 = 1006,
    _CS_LFS64_LINTFLAGS___333 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___333 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___333 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___333 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___333 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___333 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___333 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___333 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___333 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___333 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___333 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___333 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___333 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___333 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___333 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___333 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___333 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___333 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___333 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___333 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___333 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___333 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___333 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___333 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___333 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___333 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___333 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___333 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___333 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___333 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___333 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___333 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___333 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___333 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___333 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___333 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___333 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___333 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___333 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___333 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___333 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___333 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___333 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___333 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___333 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___333 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___333 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___333 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___333 = 1147,
    _CS_V6_ENV___333 = 1148,
    _CS_V7_ENV___333 = 1149
} ;
enum __anonenum_513775621___333 {
    DT_UNKNOWN___333 = 0,
    DT_FIFO___333 = 1,
    DT_CHR___333 = 2,
    DT_DIR___333 = 4,
    DT_BLK___333 = 6,
    DT_REG___333 = 8,
    DT_LNK___333 = 10,
    DT_SOCK___333 = 12,
    DT_WHT___333 = 14
} ;
enum __anonenum_77002343___333 {
    SI_ASYNCNL___333 = -60,
    SI_TKILL___333 = -6,
    SI_SIGIO___333 = -5,
    SI_ASYNCIO___333 = -4,
    SI_MESGQ___333 = -3,
    SI_TIMER___333 = -2,
    SI_QUEUE___333 = -1,
    SI_USER___333 = 0,
    SI_KERNEL___333 = 128
} ;
enum __anonenum_131038172___333 {
    ILL_ILLOPC___333 = 1,
    ILL_ILLOPN___333 = 2,
    ILL_ILLADR___333 = 3,
    ILL_ILLTRP___333 = 4,
    ILL_PRVOPC___333 = 5,
    ILL_PRVREG___333 = 6,
    ILL_COPROC___333 = 7,
    ILL_BADSTK___333 = 8
} ;
enum __anonenum_452038093___333 {
    FPE_INTDIV___333 = 1,
    FPE_INTOVF___333 = 2,
    FPE_FLTDIV___333 = 3,
    FPE_FLTOVF___333 = 4,
    FPE_FLTUND___333 = 5,
    FPE_FLTRES___333 = 6,
    FPE_FLTINV___333 = 7,
    FPE_FLTSUB___333 = 8
} ;
enum __anonenum_30976155___333 {
    SEGV_MAPERR___333 = 1,
    SEGV_ACCERR___333 = 2,
    SEGV_BNDERR___333 = 3,
    SEGV_PKUERR___333 = 4
} ;
enum __anonenum_1036286214___333 {
    BUS_ADRALN___333 = 1,
    BUS_ADRERR___333 = 2,
    BUS_OBJERR___333 = 3,
    BUS_MCEERR_AR___333 = 4,
    BUS_MCEERR_AO___333 = 5
} ;
enum __anonenum_493465559___333 {
    TRAP_BRKPT___333 = 1,
    TRAP_TRACE___333 = 2
} ;
enum __anonenum_23175539___333 {
    CLD_EXITED___333 = 1,
    CLD_KILLED___333 = 2,
    CLD_DUMPED___333 = 3,
    CLD_TRAPPED___333 = 4,
    CLD_STOPPED___333 = 5,
    CLD_CONTINUED___333 = 6
} ;
enum __anonenum_111643124___333 {
    POLL_IN___333 = 1,
    POLL_OUT___333 = 2,
    POLL_MSG___333 = 3,
    POLL_ERR___333 = 4,
    POLL_PRI___333 = 5,
    POLL_HUP___333 = 6
} ;
enum __anonenum_852341087___333 {
    SIGEV_SIGNAL___333 = 0,
    SIGEV_NONE___333 = 1,
    SIGEV_THREAD___333 = 2,
    SIGEV_THREAD_ID___333 = 4
} ;
enum __anonenum_451154152___333 {
    REG_R8___333 = 0,
    REG_R9___333 = 1,
    REG_R10___333 = 2,
    REG_R11___333 = 3,
    REG_R12___333 = 4,
    REG_R13___333 = 5,
    REG_R14___333 = 6,
    REG_R15___333 = 7,
    REG_RDI___333 = 8,
    REG_RSI___333 = 9,
    REG_RBP___333 = 10,
    REG_RBX___333 = 11,
    REG_RDX___333 = 12,
    REG_RAX___333 = 13,
    REG_RCX___333 = 14,
    REG_RSP___333 = 15,
    REG_RIP___333 = 16,
    REG_EFL___333 = 17,
    REG_CSGSFS___333 = 18,
    REG_ERR___333 = 19,
    REG_TRAPNO___333 = 20,
    REG_OLDMASK___333 = 21,
    REG_CR2___333 = 22
} ;
enum __anonenum_57186863___333 {
    SS_ONSTACK___333 = 1,
    SS_DISABLE___333 = 2
} ;
enum __anonenum_83571709___333 {
    MSG_OOB___333 = 1,
    MSG_PEEK___333 = 2,
    MSG_DONTROUTE___333 = 4,
    MSG_TRYHARD___333 = 4,
    MSG_CTRUNC___333 = 8,
    MSG_PROXY___333 = 16,
    MSG_TRUNC___333 = 32,
    MSG_DONTWAIT___333 = 64,
    MSG_EOR___333 = 128,
    MSG_WAITALL___333 = 256,
    MSG_FIN___333 = 512,
    MSG_SYN___333 = 1024,
    MSG_CONFIRM___333 = 2048,
    MSG_RST___333 = 4096,
    MSG_ERRQUEUE___333 = 8192,
    MSG_NOSIGNAL___333 = 16384,
    MSG_MORE___333 = 32768,
    MSG_WAITFORONE___333 = 65536,
    MSG_BATCH___333 = 262144,
    MSG_ZEROCOPY___333 = 67108864,
    MSG_FASTOPEN___333 = 536870912,
    MSG_CMSG_CLOEXEC___333 = 1073741824
} ;
enum __anonenum_617082774___333 {
    SCM_RIGHTS___333 = 1,
    SCM_CREDENTIALS___333 = 2
} ;
enum __anonenum_606441560___333 {
    SHUT_RD___333 = 0,
    SHUT_WR___333 = 1,
    SHUT_RDWR___333 = 2
} ;
enum __anonenum_681669233___333 {
    IPPROTO_IP___333 = 0,
    IPPROTO_ICMP___333 = 1,
    IPPROTO_IGMP___333 = 2,
    IPPROTO_IPIP___333 = 4,
    IPPROTO_TCP___333 = 6,
    IPPROTO_EGP___333 = 8,
    IPPROTO_PUP___333 = 12,
    IPPROTO_UDP___333 = 17,
    IPPROTO_IDP___333 = 22,
    IPPROTO_TP___333 = 29,
    IPPROTO_DCCP___333 = 33,
    IPPROTO_IPV6___333 = 41,
    IPPROTO_RSVP___333 = 46,
    IPPROTO_GRE___333 = 47,
    IPPROTO_ESP___333 = 50,
    IPPROTO_AH___333 = 51,
    IPPROTO_MTP___333 = 92,
    IPPROTO_BEETPH___333 = 94,
    IPPROTO_ENCAP___333 = 98,
    IPPROTO_PIM___333 = 103,
    IPPROTO_COMP___333 = 108,
    IPPROTO_SCTP___333 = 132,
    IPPROTO_UDPLITE___333 = 136,
    IPPROTO_MPLS___333 = 137,
    IPPROTO_RAW___333 = 255,
    IPPROTO_MAX___333 = 256
} ;
enum __anonenum_218739988___333 {
    IPPROTO_HOPOPTS___333 = 0,
    IPPROTO_ROUTING___333 = 43,
    IPPROTO_FRAGMENT___333 = 44,
    IPPROTO_ICMPV6___333 = 58,
    IPPROTO_NONE___333 = 59,
    IPPROTO_DSTOPTS___333 = 60,
    IPPROTO_MH___333 = 135
} ;
enum __anonenum_662268580___333 {
    IPPORT_ECHO___333 = 7,
    IPPORT_DISCARD___333 = 9,
    IPPORT_SYSTAT___333 = 11,
    IPPORT_DAYTIME___333 = 13,
    IPPORT_NETSTAT___333 = 15,
    IPPORT_FTP___333 = 21,
    IPPORT_TELNET___333 = 23,
    IPPORT_SMTP___333 = 25,
    IPPORT_TIMESERVER___333 = 37,
    IPPORT_NAMESERVER___333 = 42,
    IPPORT_WHOIS___333 = 43,
    IPPORT_MTP___333 = 57,
    IPPORT_TFTP___333 = 69,
    IPPORT_RJE___333 = 77,
    IPPORT_FINGER___333 = 79,
    IPPORT_TTYLINK___333 = 87,
    IPPORT_SUPDUP___333 = 95,
    IPPORT_EXECSERVER___333 = 512,
    IPPORT_LOGINSERVER___333 = 513,
    IPPORT_CMDSERVER___333 = 514,
    IPPORT_EFSSERVER___333 = 520,
    IPPORT_BIFFUDP___333 = 512,
    IPPORT_WHOSERVER___333 = 513,
    IPPORT_ROUTESERVER___333 = 520,
    IPPORT_RESERVED___333 = 1024,
    IPPORT_USERRESERVED___333 = 5000
} ;
enum __anonenum_788308992___333 {
    TCP_ESTABLISHED___333 = 1,
    TCP_SYN_SENT___333 = 2,
    TCP_SYN_RECV___333 = 3,
    TCP_FIN_WAIT1___333 = 4,
    TCP_FIN_WAIT2___333 = 5,
    TCP_TIME_WAIT___333 = 6,
    TCP_CLOSE___333 = 7,
    TCP_CLOSE_WAIT___333 = 8,
    TCP_LAST_ACK___333 = 9,
    TCP_LISTEN___333 = 10,
    TCP_CLOSING___333 = 11
} ;
enum __anonenum_221125648___333 {
    TCP_NO_QUEUE___333 = 0,
    TCP_RECV_QUEUE___333 = 1,
    TCP_SEND_QUEUE___333 = 2,
    TCP_QUEUES_NR___333 = 3
} ;
enum __anonenum_34415463___333 {
    PTHREAD_CREATE_JOINABLE___333 = 0,
    PTHREAD_CREATE_DETACHED___333 = 1
} ;
enum __anonenum_303612439___333 {
    PTHREAD_MUTEX_TIMED_NP___333 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___333 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___333 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___333 = 3,
    PTHREAD_MUTEX_NORMAL___333 = 0,
    PTHREAD_MUTEX_RECURSIVE___333 = 1,
    PTHREAD_MUTEX_ERRORCHECK___333 = 2,
    PTHREAD_MUTEX_DEFAULT___333 = 0,
    PTHREAD_MUTEX_FAST_NP___333 = 0
} ;
enum __anonenum_931900394___333 {
    PTHREAD_MUTEX_STALLED___333 = 0,
    PTHREAD_MUTEX_STALLED_NP___333 = 0,
    PTHREAD_MUTEX_ROBUST___333 = 1,
    PTHREAD_MUTEX_ROBUST_NP___333 = 1
} ;
enum __anonenum_205214487___333 {
    PTHREAD_PRIO_NONE___333 = 0,
    PTHREAD_PRIO_INHERIT___333 = 1,
    PTHREAD_PRIO_PROTECT___333 = 2
} ;
enum __anonenum_25043950___333 {
    PTHREAD_RWLOCK_PREFER_READER_NP___333 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___333 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___333 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___333 = 0
} ;
enum __anonenum_436439511___333 {
    PTHREAD_INHERIT_SCHED___333 = 0,
    PTHREAD_EXPLICIT_SCHED___333 = 1
} ;
enum __anonenum_998661166___333 {
    PTHREAD_SCOPE_SYSTEM___333 = 0,
    PTHREAD_SCOPE_PROCESS___333 = 1
} ;
enum __anonenum_146137331___333 {
    PTHREAD_PROCESS_PRIVATE___333 = 0,
    PTHREAD_PROCESS_SHARED___333 = 1
} ;
enum __anonenum_53396917___333 {
    PTHREAD_CANCEL_ENABLE___333 = 0,
    PTHREAD_CANCEL_DISABLE___333 = 1
} ;
enum __anonenum_904563783___333 {
    PTHREAD_CANCEL_DEFERRED___333 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___333 = 1
} ;
enum __anonenum_672052974___333 {
    SSL_CT_VALIDATION_PERMISSIVE___333 = 0,
    SSL_CT_VALIDATION_STRICT___333 = 1
} ;
enum __anonenum_437032235___334 {
    _PC_LINK_MAX___334 = 0,
    _PC_MAX_CANON___334 = 1,
    _PC_MAX_INPUT___334 = 2,
    _PC_NAME_MAX___334 = 3,
    _PC_PATH_MAX___334 = 4,
    _PC_PIPE_BUF___334 = 5,
    _PC_CHOWN_RESTRICTED___334 = 6,
    _PC_NO_TRUNC___334 = 7,
    _PC_VDISABLE___334 = 8,
    _PC_SYNC_IO___334 = 9,
    _PC_ASYNC_IO___334 = 10,
    _PC_PRIO_IO___334 = 11,
    _PC_SOCK_MAXBUF___334 = 12,
    _PC_FILESIZEBITS___334 = 13,
    _PC_REC_INCR_XFER_SIZE___334 = 14,
    _PC_REC_MAX_XFER_SIZE___334 = 15,
    _PC_REC_MIN_XFER_SIZE___334 = 16,
    _PC_REC_XFER_ALIGN___334 = 17,
    _PC_ALLOC_SIZE_MIN___334 = 18,
    _PC_SYMLINK_MAX___334 = 19,
    _PC_2_SYMLINKS___334 = 20
} ;
enum __anonenum_315186338___334 {
    _SC_ARG_MAX___334 = 0,
    _SC_CHILD_MAX___334 = 1,
    _SC_CLK_TCK___334 = 2,
    _SC_NGROUPS_MAX___334 = 3,
    _SC_OPEN_MAX___334 = 4,
    _SC_STREAM_MAX___334 = 5,
    _SC_TZNAME_MAX___334 = 6,
    _SC_JOB_CONTROL___334 = 7,
    _SC_SAVED_IDS___334 = 8,
    _SC_REALTIME_SIGNALS___334 = 9,
    _SC_PRIORITY_SCHEDULING___334 = 10,
    _SC_TIMERS___334 = 11,
    _SC_ASYNCHRONOUS_IO___334 = 12,
    _SC_PRIORITIZED_IO___334 = 13,
    _SC_SYNCHRONIZED_IO___334 = 14,
    _SC_FSYNC___334 = 15,
    _SC_MAPPED_FILES___334 = 16,
    _SC_MEMLOCK___334 = 17,
    _SC_MEMLOCK_RANGE___334 = 18,
    _SC_MEMORY_PROTECTION___334 = 19,
    _SC_MESSAGE_PASSING___334 = 20,
    _SC_SEMAPHORES___334 = 21,
    _SC_SHARED_MEMORY_OBJECTS___334 = 22,
    _SC_AIO_LISTIO_MAX___334 = 23,
    _SC_AIO_MAX___334 = 24,
    _SC_AIO_PRIO_DELTA_MAX___334 = 25,
    _SC_DELAYTIMER_MAX___334 = 26,
    _SC_MQ_OPEN_MAX___334 = 27,
    _SC_MQ_PRIO_MAX___334 = 28,
    _SC_VERSION___334 = 29,
    _SC_PAGESIZE___334 = 30,
    _SC_RTSIG_MAX___334 = 31,
    _SC_SEM_NSEMS_MAX___334 = 32,
    _SC_SEM_VALUE_MAX___334 = 33,
    _SC_SIGQUEUE_MAX___334 = 34,
    _SC_TIMER_MAX___334 = 35,
    _SC_BC_BASE_MAX___334 = 36,
    _SC_BC_DIM_MAX___334 = 37,
    _SC_BC_SCALE_MAX___334 = 38,
    _SC_BC_STRING_MAX___334 = 39,
    _SC_COLL_WEIGHTS_MAX___334 = 40,
    _SC_EQUIV_CLASS_MAX___334 = 41,
    _SC_EXPR_NEST_MAX___334 = 42,
    _SC_LINE_MAX___334 = 43,
    _SC_RE_DUP_MAX___334 = 44,
    _SC_CHARCLASS_NAME_MAX___334 = 45,
    _SC_2_VERSION___334 = 46,
    _SC_2_C_BIND___334 = 47,
    _SC_2_C_DEV___334 = 48,
    _SC_2_FORT_DEV___334 = 49,
    _SC_2_FORT_RUN___334 = 50,
    _SC_2_SW_DEV___334 = 51,
    _SC_2_LOCALEDEF___334 = 52,
    _SC_PII___334 = 53,
    _SC_PII_XTI___334 = 54,
    _SC_PII_SOCKET___334 = 55,
    _SC_PII_INTERNET___334 = 56,
    _SC_PII_OSI___334 = 57,
    _SC_POLL___334 = 58,
    _SC_SELECT___334 = 59,
    _SC_UIO_MAXIOV___334 = 60,
    _SC_IOV_MAX___334 = 60,
    _SC_PII_INTERNET_STREAM___334 = 61,
    _SC_PII_INTERNET_DGRAM___334 = 62,
    _SC_PII_OSI_COTS___334 = 63,
    _SC_PII_OSI_CLTS___334 = 64,
    _SC_PII_OSI_M___334 = 65,
    _SC_T_IOV_MAX___334 = 66,
    _SC_THREADS___334 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___334 = 68,
    _SC_GETGR_R_SIZE_MAX___334 = 69,
    _SC_GETPW_R_SIZE_MAX___334 = 70,
    _SC_LOGIN_NAME_MAX___334 = 71,
    _SC_TTY_NAME_MAX___334 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___334 = 73,
    _SC_THREAD_KEYS_MAX___334 = 74,
    _SC_THREAD_STACK_MIN___334 = 75,
    _SC_THREAD_THREADS_MAX___334 = 76,
    _SC_THREAD_ATTR_STACKADDR___334 = 77,
    _SC_THREAD_ATTR_STACKSIZE___334 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___334 = 79,
    _SC_THREAD_PRIO_INHERIT___334 = 80,
    _SC_THREAD_PRIO_PROTECT___334 = 81,
    _SC_THREAD_PROCESS_SHARED___334 = 82,
    _SC_NPROCESSORS_CONF___334 = 83,
    _SC_NPROCESSORS_ONLN___334 = 84,
    _SC_PHYS_PAGES___334 = 85,
    _SC_AVPHYS_PAGES___334 = 86,
    _SC_ATEXIT_MAX___334 = 87,
    _SC_PASS_MAX___334 = 88,
    _SC_XOPEN_VERSION___334 = 89,
    _SC_XOPEN_XCU_VERSION___334 = 90,
    _SC_XOPEN_UNIX___334 = 91,
    _SC_XOPEN_CRYPT___334 = 92,
    _SC_XOPEN_ENH_I18N___334 = 93,
    _SC_XOPEN_SHM___334 = 94,
    _SC_2_CHAR_TERM___334 = 95,
    _SC_2_C_VERSION___334 = 96,
    _SC_2_UPE___334 = 97,
    _SC_XOPEN_XPG2___334 = 98,
    _SC_XOPEN_XPG3___334 = 99,
    _SC_XOPEN_XPG4___334 = 100,
    _SC_CHAR_BIT___334 = 101,
    _SC_CHAR_MAX___334 = 102,
    _SC_CHAR_MIN___334 = 103,
    _SC_INT_MAX___334 = 104,
    _SC_INT_MIN___334 = 105,
    _SC_LONG_BIT___334 = 106,
    _SC_WORD_BIT___334 = 107,
    _SC_MB_LEN_MAX___334 = 108,
    _SC_NZERO___334 = 109,
    _SC_SSIZE_MAX___334 = 110,
    _SC_SCHAR_MAX___334 = 111,
    _SC_SCHAR_MIN___334 = 112,
    _SC_SHRT_MAX___334 = 113,
    _SC_SHRT_MIN___334 = 114,
    _SC_UCHAR_MAX___334 = 115,
    _SC_UINT_MAX___334 = 116,
    _SC_ULONG_MAX___334 = 117,
    _SC_USHRT_MAX___334 = 118,
    _SC_NL_ARGMAX___334 = 119,
    _SC_NL_LANGMAX___334 = 120,
    _SC_NL_MSGMAX___334 = 121,
    _SC_NL_NMAX___334 = 122,
    _SC_NL_SETMAX___334 = 123,
    _SC_NL_TEXTMAX___334 = 124,
    _SC_XBS5_ILP32_OFF32___334 = 125,
    _SC_XBS5_ILP32_OFFBIG___334 = 126,
    _SC_XBS5_LP64_OFF64___334 = 127,
    _SC_XBS5_LPBIG_OFFBIG___334 = 128,
    _SC_XOPEN_LEGACY___334 = 129,
    _SC_XOPEN_REALTIME___334 = 130,
    _SC_XOPEN_REALTIME_THREADS___334 = 131,
    _SC_ADVISORY_INFO___334 = 132,
    _SC_BARRIERS___334 = 133,
    _SC_BASE___334 = 134,
    _SC_C_LANG_SUPPORT___334 = 135,
    _SC_C_LANG_SUPPORT_R___334 = 136,
    _SC_CLOCK_SELECTION___334 = 137,
    _SC_CPUTIME___334 = 138,
    _SC_THREAD_CPUTIME___334 = 139,
    _SC_DEVICE_IO___334 = 140,
    _SC_DEVICE_SPECIFIC___334 = 141,
    _SC_DEVICE_SPECIFIC_R___334 = 142,
    _SC_FD_MGMT___334 = 143,
    _SC_FIFO___334 = 144,
    _SC_PIPE___334 = 145,
    _SC_FILE_ATTRIBUTES___334 = 146,
    _SC_FILE_LOCKING___334 = 147,
    _SC_FILE_SYSTEM___334 = 148,
    _SC_MONOTONIC_CLOCK___334 = 149,
    _SC_MULTI_PROCESS___334 = 150,
    _SC_SINGLE_PROCESS___334 = 151,
    _SC_NETWORKING___334 = 152,
    _SC_READER_WRITER_LOCKS___334 = 153,
    _SC_SPIN_LOCKS___334 = 154,
    _SC_REGEXP___334 = 155,
    _SC_REGEX_VERSION___334 = 156,
    _SC_SHELL___334 = 157,
    _SC_SIGNALS___334 = 158,
    _SC_SPAWN___334 = 159,
    _SC_SPORADIC_SERVER___334 = 160,
    _SC_THREAD_SPORADIC_SERVER___334 = 161,
    _SC_SYSTEM_DATABASE___334 = 162,
    _SC_SYSTEM_DATABASE_R___334 = 163,
    _SC_TIMEOUTS___334 = 164,
    _SC_TYPED_MEMORY_OBJECTS___334 = 165,
    _SC_USER_GROUPS___334 = 166,
    _SC_USER_GROUPS_R___334 = 167,
    _SC_2_PBS___334 = 168,
    _SC_2_PBS_ACCOUNTING___334 = 169,
    _SC_2_PBS_LOCATE___334 = 170,
    _SC_2_PBS_MESSAGE___334 = 171,
    _SC_2_PBS_TRACK___334 = 172,
    _SC_SYMLOOP_MAX___334 = 173,
    _SC_STREAMS___334 = 174,
    _SC_2_PBS_CHECKPOINT___334 = 175,
    _SC_V6_ILP32_OFF32___334 = 176,
    _SC_V6_ILP32_OFFBIG___334 = 177,
    _SC_V6_LP64_OFF64___334 = 178,
    _SC_V6_LPBIG_OFFBIG___334 = 179,
    _SC_HOST_NAME_MAX___334 = 180,
    _SC_TRACE___334 = 181,
    _SC_TRACE_EVENT_FILTER___334 = 182,
    _SC_TRACE_INHERIT___334 = 183,
    _SC_TRACE_LOG___334 = 184,
    _SC_LEVEL1_ICACHE_SIZE___334 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___334 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___334 = 187,
    _SC_LEVEL1_DCACHE_SIZE___334 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___334 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___334 = 190,
    _SC_LEVEL2_CACHE_SIZE___334 = 191,
    _SC_LEVEL2_CACHE_ASSOC___334 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___334 = 193,
    _SC_LEVEL3_CACHE_SIZE___334 = 194,
    _SC_LEVEL3_CACHE_ASSOC___334 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___334 = 196,
    _SC_LEVEL4_CACHE_SIZE___334 = 197,
    _SC_LEVEL4_CACHE_ASSOC___334 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___334 = 199,
    _SC_IPV6___334 = 235,
    _SC_RAW_SOCKETS___334 = 236,
    _SC_V7_ILP32_OFF32___334 = 237,
    _SC_V7_ILP32_OFFBIG___334 = 238,
    _SC_V7_LP64_OFF64___334 = 239,
    _SC_V7_LPBIG_OFFBIG___334 = 240,
    _SC_SS_REPL_MAX___334 = 241,
    _SC_TRACE_EVENT_NAME_MAX___334 = 242,
    _SC_TRACE_NAME_MAX___334 = 243,
    _SC_TRACE_SYS_MAX___334 = 244,
    _SC_TRACE_USER_EVENT_MAX___334 = 245,
    _SC_XOPEN_STREAMS___334 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___334 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___334 = 248
} ;
enum __anonenum_875524036___334 {
    _CS_PATH___334 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___334 = 1,
    _CS_GNU_LIBC_VERSION___334 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___334 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___334 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___334 = 5,
    _CS_LFS_CFLAGS___334 = 1000,
    _CS_LFS_LDFLAGS___334 = 1001,
    _CS_LFS_LIBS___334 = 1002,
    _CS_LFS_LINTFLAGS___334 = 1003,
    _CS_LFS64_CFLAGS___334 = 1004,
    _CS_LFS64_LDFLAGS___334 = 1005,
    _CS_LFS64_LIBS___334 = 1006,
    _CS_LFS64_LINTFLAGS___334 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___334 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___334 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___334 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___334 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___334 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___334 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___334 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___334 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___334 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___334 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___334 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___334 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___334 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___334 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___334 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___334 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___334 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___334 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___334 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___334 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___334 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___334 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___334 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___334 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___334 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___334 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___334 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___334 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___334 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___334 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___334 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___334 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___334 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___334 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___334 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___334 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___334 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___334 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___334 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___334 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___334 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___334 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___334 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___334 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___334 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___334 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___334 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___334 = 1147,
    _CS_V6_ENV___334 = 1148,
    _CS_V7_ENV___334 = 1149
} ;
enum __anonenum_513775621___334 {
    DT_UNKNOWN___334 = 0,
    DT_FIFO___334 = 1,
    DT_CHR___334 = 2,
    DT_DIR___334 = 4,
    DT_BLK___334 = 6,
    DT_REG___334 = 8,
    DT_LNK___334 = 10,
    DT_SOCK___334 = 12,
    DT_WHT___334 = 14
} ;
enum __anonenum_77002343___334 {
    SI_ASYNCNL___334 = -60,
    SI_TKILL___334 = -6,
    SI_SIGIO___334 = -5,
    SI_ASYNCIO___334 = -4,
    SI_MESGQ___334 = -3,
    SI_TIMER___334 = -2,
    SI_QUEUE___334 = -1,
    SI_USER___334 = 0,
    SI_KERNEL___334 = 128
} ;
enum __anonenum_131038172___334 {
    ILL_ILLOPC___334 = 1,
    ILL_ILLOPN___334 = 2,
    ILL_ILLADR___334 = 3,
    ILL_ILLTRP___334 = 4,
    ILL_PRVOPC___334 = 5,
    ILL_PRVREG___334 = 6,
    ILL_COPROC___334 = 7,
    ILL_BADSTK___334 = 8
} ;
enum __anonenum_452038093___334 {
    FPE_INTDIV___334 = 1,
    FPE_INTOVF___334 = 2,
    FPE_FLTDIV___334 = 3,
    FPE_FLTOVF___334 = 4,
    FPE_FLTUND___334 = 5,
    FPE_FLTRES___334 = 6,
    FPE_FLTINV___334 = 7,
    FPE_FLTSUB___334 = 8
} ;
enum __anonenum_30976155___334 {
    SEGV_MAPERR___334 = 1,
    SEGV_ACCERR___334 = 2,
    SEGV_BNDERR___334 = 3,
    SEGV_PKUERR___334 = 4
} ;
enum __anonenum_1036286214___334 {
    BUS_ADRALN___334 = 1,
    BUS_ADRERR___334 = 2,
    BUS_OBJERR___334 = 3,
    BUS_MCEERR_AR___334 = 4,
    BUS_MCEERR_AO___334 = 5
} ;
enum __anonenum_493465559___334 {
    TRAP_BRKPT___334 = 1,
    TRAP_TRACE___334 = 2
} ;
enum __anonenum_23175539___334 {
    CLD_EXITED___334 = 1,
    CLD_KILLED___334 = 2,
    CLD_DUMPED___334 = 3,
    CLD_TRAPPED___334 = 4,
    CLD_STOPPED___334 = 5,
    CLD_CONTINUED___334 = 6
} ;
enum __anonenum_111643124___334 {
    POLL_IN___334 = 1,
    POLL_OUT___334 = 2,
    POLL_MSG___334 = 3,
    POLL_ERR___334 = 4,
    POLL_PRI___334 = 5,
    POLL_HUP___334 = 6
} ;
enum __anonenum_852341087___334 {
    SIGEV_SIGNAL___334 = 0,
    SIGEV_NONE___334 = 1,
    SIGEV_THREAD___334 = 2,
    SIGEV_THREAD_ID___334 = 4
} ;
enum __anonenum_451154152___334 {
    REG_R8___334 = 0,
    REG_R9___334 = 1,
    REG_R10___334 = 2,
    REG_R11___334 = 3,
    REG_R12___334 = 4,
    REG_R13___334 = 5,
    REG_R14___334 = 6,
    REG_R15___334 = 7,
    REG_RDI___334 = 8,
    REG_RSI___334 = 9,
    REG_RBP___334 = 10,
    REG_RBX___334 = 11,
    REG_RDX___334 = 12,
    REG_RAX___334 = 13,
    REG_RCX___334 = 14,
    REG_RSP___334 = 15,
    REG_RIP___334 = 16,
    REG_EFL___334 = 17,
    REG_CSGSFS___334 = 18,
    REG_ERR___334 = 19,
    REG_TRAPNO___334 = 20,
    REG_OLDMASK___334 = 21,
    REG_CR2___334 = 22
} ;
enum __anonenum_57186863___334 {
    SS_ONSTACK___334 = 1,
    SS_DISABLE___334 = 2
} ;
enum __anonenum_83571709___334 {
    MSG_OOB___334 = 1,
    MSG_PEEK___334 = 2,
    MSG_DONTROUTE___334 = 4,
    MSG_TRYHARD___334 = 4,
    MSG_CTRUNC___334 = 8,
    MSG_PROXY___334 = 16,
    MSG_TRUNC___334 = 32,
    MSG_DONTWAIT___334 = 64,
    MSG_EOR___334 = 128,
    MSG_WAITALL___334 = 256,
    MSG_FIN___334 = 512,
    MSG_SYN___334 = 1024,
    MSG_CONFIRM___334 = 2048,
    MSG_RST___334 = 4096,
    MSG_ERRQUEUE___334 = 8192,
    MSG_NOSIGNAL___334 = 16384,
    MSG_MORE___334 = 32768,
    MSG_WAITFORONE___334 = 65536,
    MSG_BATCH___334 = 262144,
    MSG_ZEROCOPY___334 = 67108864,
    MSG_FASTOPEN___334 = 536870912,
    MSG_CMSG_CLOEXEC___334 = 1073741824
} ;
enum __anonenum_617082774___334 {
    SCM_RIGHTS___334 = 1,
    SCM_CREDENTIALS___334 = 2
} ;
enum __anonenum_606441560___334 {
    SHUT_RD___334 = 0,
    SHUT_WR___334 = 1,
    SHUT_RDWR___334 = 2
} ;
enum __anonenum_681669233___334 {
    IPPROTO_IP___334 = 0,
    IPPROTO_ICMP___334 = 1,
    IPPROTO_IGMP___334 = 2,
    IPPROTO_IPIP___334 = 4,
    IPPROTO_TCP___334 = 6,
    IPPROTO_EGP___334 = 8,
    IPPROTO_PUP___334 = 12,
    IPPROTO_UDP___334 = 17,
    IPPROTO_IDP___334 = 22,
    IPPROTO_TP___334 = 29,
    IPPROTO_DCCP___334 = 33,
    IPPROTO_IPV6___334 = 41,
    IPPROTO_RSVP___334 = 46,
    IPPROTO_GRE___334 = 47,
    IPPROTO_ESP___334 = 50,
    IPPROTO_AH___334 = 51,
    IPPROTO_MTP___334 = 92,
    IPPROTO_BEETPH___334 = 94,
    IPPROTO_ENCAP___334 = 98,
    IPPROTO_PIM___334 = 103,
    IPPROTO_COMP___334 = 108,
    IPPROTO_SCTP___334 = 132,
    IPPROTO_UDPLITE___334 = 136,
    IPPROTO_MPLS___334 = 137,
    IPPROTO_RAW___334 = 255,
    IPPROTO_MAX___334 = 256
} ;
enum __anonenum_218739988___334 {
    IPPROTO_HOPOPTS___334 = 0,
    IPPROTO_ROUTING___334 = 43,
    IPPROTO_FRAGMENT___334 = 44,
    IPPROTO_ICMPV6___334 = 58,
    IPPROTO_NONE___334 = 59,
    IPPROTO_DSTOPTS___334 = 60,
    IPPROTO_MH___334 = 135
} ;
enum __anonenum_662268580___334 {
    IPPORT_ECHO___334 = 7,
    IPPORT_DISCARD___334 = 9,
    IPPORT_SYSTAT___334 = 11,
    IPPORT_DAYTIME___334 = 13,
    IPPORT_NETSTAT___334 = 15,
    IPPORT_FTP___334 = 21,
    IPPORT_TELNET___334 = 23,
    IPPORT_SMTP___334 = 25,
    IPPORT_TIMESERVER___334 = 37,
    IPPORT_NAMESERVER___334 = 42,
    IPPORT_WHOIS___334 = 43,
    IPPORT_MTP___334 = 57,
    IPPORT_TFTP___334 = 69,
    IPPORT_RJE___334 = 77,
    IPPORT_FINGER___334 = 79,
    IPPORT_TTYLINK___334 = 87,
    IPPORT_SUPDUP___334 = 95,
    IPPORT_EXECSERVER___334 = 512,
    IPPORT_LOGINSERVER___334 = 513,
    IPPORT_CMDSERVER___334 = 514,
    IPPORT_EFSSERVER___334 = 520,
    IPPORT_BIFFUDP___334 = 512,
    IPPORT_WHOSERVER___334 = 513,
    IPPORT_ROUTESERVER___334 = 520,
    IPPORT_RESERVED___334 = 1024,
    IPPORT_USERRESERVED___334 = 5000
} ;
enum __anonenum_788308992___334 {
    TCP_ESTABLISHED___334 = 1,
    TCP_SYN_SENT___334 = 2,
    TCP_SYN_RECV___334 = 3,
    TCP_FIN_WAIT1___334 = 4,
    TCP_FIN_WAIT2___334 = 5,
    TCP_TIME_WAIT___334 = 6,
    TCP_CLOSE___334 = 7,
    TCP_CLOSE_WAIT___334 = 8,
    TCP_LAST_ACK___334 = 9,
    TCP_LISTEN___334 = 10,
    TCP_CLOSING___334 = 11
} ;
enum __anonenum_221125648___334 {
    TCP_NO_QUEUE___334 = 0,
    TCP_RECV_QUEUE___334 = 1,
    TCP_SEND_QUEUE___334 = 2,
    TCP_QUEUES_NR___334 = 3
} ;
enum __anonenum_34415463___334 {
    PTHREAD_CREATE_JOINABLE___334 = 0,
    PTHREAD_CREATE_DETACHED___334 = 1
} ;
enum __anonenum_303612439___334 {
    PTHREAD_MUTEX_TIMED_NP___334 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___334 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___334 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___334 = 3,
    PTHREAD_MUTEX_NORMAL___334 = 0,
    PTHREAD_MUTEX_RECURSIVE___334 = 1,
    PTHREAD_MUTEX_ERRORCHECK___334 = 2,
    PTHREAD_MUTEX_DEFAULT___334 = 0,
    PTHREAD_MUTEX_FAST_NP___334 = 0
} ;
enum __anonenum_931900394___334 {
    PTHREAD_MUTEX_STALLED___334 = 0,
    PTHREAD_MUTEX_STALLED_NP___334 = 0,
    PTHREAD_MUTEX_ROBUST___334 = 1,
    PTHREAD_MUTEX_ROBUST_NP___334 = 1
} ;
enum __anonenum_205214487___334 {
    PTHREAD_PRIO_NONE___334 = 0,
    PTHREAD_PRIO_INHERIT___334 = 1,
    PTHREAD_PRIO_PROTECT___334 = 2
} ;
enum __anonenum_25043950___334 {
    PTHREAD_RWLOCK_PREFER_READER_NP___334 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___334 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___334 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___334 = 0
} ;
enum __anonenum_436439511___334 {
    PTHREAD_INHERIT_SCHED___334 = 0,
    PTHREAD_EXPLICIT_SCHED___334 = 1
} ;
enum __anonenum_998661166___334 {
    PTHREAD_SCOPE_SYSTEM___334 = 0,
    PTHREAD_SCOPE_PROCESS___334 = 1
} ;
enum __anonenum_146137331___334 {
    PTHREAD_PROCESS_PRIVATE___334 = 0,
    PTHREAD_PROCESS_SHARED___334 = 1
} ;
enum __anonenum_53396917___334 {
    PTHREAD_CANCEL_ENABLE___334 = 0,
    PTHREAD_CANCEL_DISABLE___334 = 1
} ;
enum __anonenum_904563783___334 {
    PTHREAD_CANCEL_DEFERRED___334 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___334 = 1
} ;
enum __anonenum_672052974___334 {
    SSL_CT_VALIDATION_PERMISSIVE___334 = 0,
    SSL_CT_VALIDATION_STRICT___334 = 1
} ;
struct merge_list {
   struct merge_list *next ;
   struct merge_list *link ;
   unsigned int stage : 2 ;
   unsigned int mode ;
   char const   *path ;
   struct blob *blob ;
};
enum __anonenum_437032235___335 {
    _PC_LINK_MAX___335 = 0,
    _PC_MAX_CANON___335 = 1,
    _PC_MAX_INPUT___335 = 2,
    _PC_NAME_MAX___335 = 3,
    _PC_PATH_MAX___335 = 4,
    _PC_PIPE_BUF___335 = 5,
    _PC_CHOWN_RESTRICTED___335 = 6,
    _PC_NO_TRUNC___335 = 7,
    _PC_VDISABLE___335 = 8,
    _PC_SYNC_IO___335 = 9,
    _PC_ASYNC_IO___335 = 10,
    _PC_PRIO_IO___335 = 11,
    _PC_SOCK_MAXBUF___335 = 12,
    _PC_FILESIZEBITS___335 = 13,
    _PC_REC_INCR_XFER_SIZE___335 = 14,
    _PC_REC_MAX_XFER_SIZE___335 = 15,
    _PC_REC_MIN_XFER_SIZE___335 = 16,
    _PC_REC_XFER_ALIGN___335 = 17,
    _PC_ALLOC_SIZE_MIN___335 = 18,
    _PC_SYMLINK_MAX___335 = 19,
    _PC_2_SYMLINKS___335 = 20
} ;
enum __anonenum_315186338___335 {
    _SC_ARG_MAX___335 = 0,
    _SC_CHILD_MAX___335 = 1,
    _SC_CLK_TCK___335 = 2,
    _SC_NGROUPS_MAX___335 = 3,
    _SC_OPEN_MAX___335 = 4,
    _SC_STREAM_MAX___335 = 5,
    _SC_TZNAME_MAX___335 = 6,
    _SC_JOB_CONTROL___335 = 7,
    _SC_SAVED_IDS___335 = 8,
    _SC_REALTIME_SIGNALS___335 = 9,
    _SC_PRIORITY_SCHEDULING___335 = 10,
    _SC_TIMERS___335 = 11,
    _SC_ASYNCHRONOUS_IO___335 = 12,
    _SC_PRIORITIZED_IO___335 = 13,
    _SC_SYNCHRONIZED_IO___335 = 14,
    _SC_FSYNC___335 = 15,
    _SC_MAPPED_FILES___335 = 16,
    _SC_MEMLOCK___335 = 17,
    _SC_MEMLOCK_RANGE___335 = 18,
    _SC_MEMORY_PROTECTION___335 = 19,
    _SC_MESSAGE_PASSING___335 = 20,
    _SC_SEMAPHORES___335 = 21,
    _SC_SHARED_MEMORY_OBJECTS___335 = 22,
    _SC_AIO_LISTIO_MAX___335 = 23,
    _SC_AIO_MAX___335 = 24,
    _SC_AIO_PRIO_DELTA_MAX___335 = 25,
    _SC_DELAYTIMER_MAX___335 = 26,
    _SC_MQ_OPEN_MAX___335 = 27,
    _SC_MQ_PRIO_MAX___335 = 28,
    _SC_VERSION___335 = 29,
    _SC_PAGESIZE___335 = 30,
    _SC_RTSIG_MAX___335 = 31,
    _SC_SEM_NSEMS_MAX___335 = 32,
    _SC_SEM_VALUE_MAX___335 = 33,
    _SC_SIGQUEUE_MAX___335 = 34,
    _SC_TIMER_MAX___335 = 35,
    _SC_BC_BASE_MAX___335 = 36,
    _SC_BC_DIM_MAX___335 = 37,
    _SC_BC_SCALE_MAX___335 = 38,
    _SC_BC_STRING_MAX___335 = 39,
    _SC_COLL_WEIGHTS_MAX___335 = 40,
    _SC_EQUIV_CLASS_MAX___335 = 41,
    _SC_EXPR_NEST_MAX___335 = 42,
    _SC_LINE_MAX___335 = 43,
    _SC_RE_DUP_MAX___335 = 44,
    _SC_CHARCLASS_NAME_MAX___335 = 45,
    _SC_2_VERSION___335 = 46,
    _SC_2_C_BIND___335 = 47,
    _SC_2_C_DEV___335 = 48,
    _SC_2_FORT_DEV___335 = 49,
    _SC_2_FORT_RUN___335 = 50,
    _SC_2_SW_DEV___335 = 51,
    _SC_2_LOCALEDEF___335 = 52,
    _SC_PII___335 = 53,
    _SC_PII_XTI___335 = 54,
    _SC_PII_SOCKET___335 = 55,
    _SC_PII_INTERNET___335 = 56,
    _SC_PII_OSI___335 = 57,
    _SC_POLL___335 = 58,
    _SC_SELECT___335 = 59,
    _SC_UIO_MAXIOV___335 = 60,
    _SC_IOV_MAX___335 = 60,
    _SC_PII_INTERNET_STREAM___335 = 61,
    _SC_PII_INTERNET_DGRAM___335 = 62,
    _SC_PII_OSI_COTS___335 = 63,
    _SC_PII_OSI_CLTS___335 = 64,
    _SC_PII_OSI_M___335 = 65,
    _SC_T_IOV_MAX___335 = 66,
    _SC_THREADS___335 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___335 = 68,
    _SC_GETGR_R_SIZE_MAX___335 = 69,
    _SC_GETPW_R_SIZE_MAX___335 = 70,
    _SC_LOGIN_NAME_MAX___335 = 71,
    _SC_TTY_NAME_MAX___335 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___335 = 73,
    _SC_THREAD_KEYS_MAX___335 = 74,
    _SC_THREAD_STACK_MIN___335 = 75,
    _SC_THREAD_THREADS_MAX___335 = 76,
    _SC_THREAD_ATTR_STACKADDR___335 = 77,
    _SC_THREAD_ATTR_STACKSIZE___335 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___335 = 79,
    _SC_THREAD_PRIO_INHERIT___335 = 80,
    _SC_THREAD_PRIO_PROTECT___335 = 81,
    _SC_THREAD_PROCESS_SHARED___335 = 82,
    _SC_NPROCESSORS_CONF___335 = 83,
    _SC_NPROCESSORS_ONLN___335 = 84,
    _SC_PHYS_PAGES___335 = 85,
    _SC_AVPHYS_PAGES___335 = 86,
    _SC_ATEXIT_MAX___335 = 87,
    _SC_PASS_MAX___335 = 88,
    _SC_XOPEN_VERSION___335 = 89,
    _SC_XOPEN_XCU_VERSION___335 = 90,
    _SC_XOPEN_UNIX___335 = 91,
    _SC_XOPEN_CRYPT___335 = 92,
    _SC_XOPEN_ENH_I18N___335 = 93,
    _SC_XOPEN_SHM___335 = 94,
    _SC_2_CHAR_TERM___335 = 95,
    _SC_2_C_VERSION___335 = 96,
    _SC_2_UPE___335 = 97,
    _SC_XOPEN_XPG2___335 = 98,
    _SC_XOPEN_XPG3___335 = 99,
    _SC_XOPEN_XPG4___335 = 100,
    _SC_CHAR_BIT___335 = 101,
    _SC_CHAR_MAX___335 = 102,
    _SC_CHAR_MIN___335 = 103,
    _SC_INT_MAX___335 = 104,
    _SC_INT_MIN___335 = 105,
    _SC_LONG_BIT___335 = 106,
    _SC_WORD_BIT___335 = 107,
    _SC_MB_LEN_MAX___335 = 108,
    _SC_NZERO___335 = 109,
    _SC_SSIZE_MAX___335 = 110,
    _SC_SCHAR_MAX___335 = 111,
    _SC_SCHAR_MIN___335 = 112,
    _SC_SHRT_MAX___335 = 113,
    _SC_SHRT_MIN___335 = 114,
    _SC_UCHAR_MAX___335 = 115,
    _SC_UINT_MAX___335 = 116,
    _SC_ULONG_MAX___335 = 117,
    _SC_USHRT_MAX___335 = 118,
    _SC_NL_ARGMAX___335 = 119,
    _SC_NL_LANGMAX___335 = 120,
    _SC_NL_MSGMAX___335 = 121,
    _SC_NL_NMAX___335 = 122,
    _SC_NL_SETMAX___335 = 123,
    _SC_NL_TEXTMAX___335 = 124,
    _SC_XBS5_ILP32_OFF32___335 = 125,
    _SC_XBS5_ILP32_OFFBIG___335 = 126,
    _SC_XBS5_LP64_OFF64___335 = 127,
    _SC_XBS5_LPBIG_OFFBIG___335 = 128,
    _SC_XOPEN_LEGACY___335 = 129,
    _SC_XOPEN_REALTIME___335 = 130,
    _SC_XOPEN_REALTIME_THREADS___335 = 131,
    _SC_ADVISORY_INFO___335 = 132,
    _SC_BARRIERS___335 = 133,
    _SC_BASE___335 = 134,
    _SC_C_LANG_SUPPORT___335 = 135,
    _SC_C_LANG_SUPPORT_R___335 = 136,
    _SC_CLOCK_SELECTION___335 = 137,
    _SC_CPUTIME___335 = 138,
    _SC_THREAD_CPUTIME___335 = 139,
    _SC_DEVICE_IO___335 = 140,
    _SC_DEVICE_SPECIFIC___335 = 141,
    _SC_DEVICE_SPECIFIC_R___335 = 142,
    _SC_FD_MGMT___335 = 143,
    _SC_FIFO___335 = 144,
    _SC_PIPE___335 = 145,
    _SC_FILE_ATTRIBUTES___335 = 146,
    _SC_FILE_LOCKING___335 = 147,
    _SC_FILE_SYSTEM___335 = 148,
    _SC_MONOTONIC_CLOCK___335 = 149,
    _SC_MULTI_PROCESS___335 = 150,
    _SC_SINGLE_PROCESS___335 = 151,
    _SC_NETWORKING___335 = 152,
    _SC_READER_WRITER_LOCKS___335 = 153,
    _SC_SPIN_LOCKS___335 = 154,
    _SC_REGEXP___335 = 155,
    _SC_REGEX_VERSION___335 = 156,
    _SC_SHELL___335 = 157,
    _SC_SIGNALS___335 = 158,
    _SC_SPAWN___335 = 159,
    _SC_SPORADIC_SERVER___335 = 160,
    _SC_THREAD_SPORADIC_SERVER___335 = 161,
    _SC_SYSTEM_DATABASE___335 = 162,
    _SC_SYSTEM_DATABASE_R___335 = 163,
    _SC_TIMEOUTS___335 = 164,
    _SC_TYPED_MEMORY_OBJECTS___335 = 165,
    _SC_USER_GROUPS___335 = 166,
    _SC_USER_GROUPS_R___335 = 167,
    _SC_2_PBS___335 = 168,
    _SC_2_PBS_ACCOUNTING___335 = 169,
    _SC_2_PBS_LOCATE___335 = 170,
    _SC_2_PBS_MESSAGE___335 = 171,
    _SC_2_PBS_TRACK___335 = 172,
    _SC_SYMLOOP_MAX___335 = 173,
    _SC_STREAMS___335 = 174,
    _SC_2_PBS_CHECKPOINT___335 = 175,
    _SC_V6_ILP32_OFF32___335 = 176,
    _SC_V6_ILP32_OFFBIG___335 = 177,
    _SC_V6_LP64_OFF64___335 = 178,
    _SC_V6_LPBIG_OFFBIG___335 = 179,
    _SC_HOST_NAME_MAX___335 = 180,
    _SC_TRACE___335 = 181,
    _SC_TRACE_EVENT_FILTER___335 = 182,
    _SC_TRACE_INHERIT___335 = 183,
    _SC_TRACE_LOG___335 = 184,
    _SC_LEVEL1_ICACHE_SIZE___335 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___335 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___335 = 187,
    _SC_LEVEL1_DCACHE_SIZE___335 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___335 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___335 = 190,
    _SC_LEVEL2_CACHE_SIZE___335 = 191,
    _SC_LEVEL2_CACHE_ASSOC___335 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___335 = 193,
    _SC_LEVEL3_CACHE_SIZE___335 = 194,
    _SC_LEVEL3_CACHE_ASSOC___335 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___335 = 196,
    _SC_LEVEL4_CACHE_SIZE___335 = 197,
    _SC_LEVEL4_CACHE_ASSOC___335 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___335 = 199,
    _SC_IPV6___335 = 235,
    _SC_RAW_SOCKETS___335 = 236,
    _SC_V7_ILP32_OFF32___335 = 237,
    _SC_V7_ILP32_OFFBIG___335 = 238,
    _SC_V7_LP64_OFF64___335 = 239,
    _SC_V7_LPBIG_OFFBIG___335 = 240,
    _SC_SS_REPL_MAX___335 = 241,
    _SC_TRACE_EVENT_NAME_MAX___335 = 242,
    _SC_TRACE_NAME_MAX___335 = 243,
    _SC_TRACE_SYS_MAX___335 = 244,
    _SC_TRACE_USER_EVENT_MAX___335 = 245,
    _SC_XOPEN_STREAMS___335 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___335 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___335 = 248
} ;
enum __anonenum_875524036___335 {
    _CS_PATH___335 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___335 = 1,
    _CS_GNU_LIBC_VERSION___335 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___335 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___335 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___335 = 5,
    _CS_LFS_CFLAGS___335 = 1000,
    _CS_LFS_LDFLAGS___335 = 1001,
    _CS_LFS_LIBS___335 = 1002,
    _CS_LFS_LINTFLAGS___335 = 1003,
    _CS_LFS64_CFLAGS___335 = 1004,
    _CS_LFS64_LDFLAGS___335 = 1005,
    _CS_LFS64_LIBS___335 = 1006,
    _CS_LFS64_LINTFLAGS___335 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___335 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___335 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___335 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___335 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___335 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___335 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___335 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___335 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___335 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___335 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___335 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___335 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___335 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___335 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___335 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___335 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___335 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___335 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___335 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___335 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___335 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___335 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___335 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___335 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___335 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___335 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___335 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___335 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___335 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___335 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___335 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___335 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___335 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___335 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___335 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___335 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___335 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___335 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___335 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___335 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___335 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___335 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___335 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___335 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___335 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___335 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___335 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___335 = 1147,
    _CS_V6_ENV___335 = 1148,
    _CS_V7_ENV___335 = 1149
} ;
enum __anonenum_513775621___335 {
    DT_UNKNOWN___335 = 0,
    DT_FIFO___335 = 1,
    DT_CHR___335 = 2,
    DT_DIR___335 = 4,
    DT_BLK___335 = 6,
    DT_REG___335 = 8,
    DT_LNK___335 = 10,
    DT_SOCK___335 = 12,
    DT_WHT___335 = 14
} ;
enum __anonenum_77002343___335 {
    SI_ASYNCNL___335 = -60,
    SI_TKILL___335 = -6,
    SI_SIGIO___335 = -5,
    SI_ASYNCIO___335 = -4,
    SI_MESGQ___335 = -3,
    SI_TIMER___335 = -2,
    SI_QUEUE___335 = -1,
    SI_USER___335 = 0,
    SI_KERNEL___335 = 128
} ;
enum __anonenum_131038172___335 {
    ILL_ILLOPC___335 = 1,
    ILL_ILLOPN___335 = 2,
    ILL_ILLADR___335 = 3,
    ILL_ILLTRP___335 = 4,
    ILL_PRVOPC___335 = 5,
    ILL_PRVREG___335 = 6,
    ILL_COPROC___335 = 7,
    ILL_BADSTK___335 = 8
} ;
enum __anonenum_452038093___335 {
    FPE_INTDIV___335 = 1,
    FPE_INTOVF___335 = 2,
    FPE_FLTDIV___335 = 3,
    FPE_FLTOVF___335 = 4,
    FPE_FLTUND___335 = 5,
    FPE_FLTRES___335 = 6,
    FPE_FLTINV___335 = 7,
    FPE_FLTSUB___335 = 8
} ;
enum __anonenum_30976155___335 {
    SEGV_MAPERR___335 = 1,
    SEGV_ACCERR___335 = 2,
    SEGV_BNDERR___335 = 3,
    SEGV_PKUERR___335 = 4
} ;
enum __anonenum_1036286214___335 {
    BUS_ADRALN___335 = 1,
    BUS_ADRERR___335 = 2,
    BUS_OBJERR___335 = 3,
    BUS_MCEERR_AR___335 = 4,
    BUS_MCEERR_AO___335 = 5
} ;
enum __anonenum_493465559___335 {
    TRAP_BRKPT___335 = 1,
    TRAP_TRACE___335 = 2
} ;
enum __anonenum_23175539___335 {
    CLD_EXITED___335 = 1,
    CLD_KILLED___335 = 2,
    CLD_DUMPED___335 = 3,
    CLD_TRAPPED___335 = 4,
    CLD_STOPPED___335 = 5,
    CLD_CONTINUED___335 = 6
} ;
enum __anonenum_111643124___335 {
    POLL_IN___335 = 1,
    POLL_OUT___335 = 2,
    POLL_MSG___335 = 3,
    POLL_ERR___335 = 4,
    POLL_PRI___335 = 5,
    POLL_HUP___335 = 6
} ;
enum __anonenum_852341087___335 {
    SIGEV_SIGNAL___335 = 0,
    SIGEV_NONE___335 = 1,
    SIGEV_THREAD___335 = 2,
    SIGEV_THREAD_ID___335 = 4
} ;
enum __anonenum_451154152___335 {
    REG_R8___335 = 0,
    REG_R9___335 = 1,
    REG_R10___335 = 2,
    REG_R11___335 = 3,
    REG_R12___335 = 4,
    REG_R13___335 = 5,
    REG_R14___335 = 6,
    REG_R15___335 = 7,
    REG_RDI___335 = 8,
    REG_RSI___335 = 9,
    REG_RBP___335 = 10,
    REG_RBX___335 = 11,
    REG_RDX___335 = 12,
    REG_RAX___335 = 13,
    REG_RCX___335 = 14,
    REG_RSP___335 = 15,
    REG_RIP___335 = 16,
    REG_EFL___335 = 17,
    REG_CSGSFS___335 = 18,
    REG_ERR___335 = 19,
    REG_TRAPNO___335 = 20,
    REG_OLDMASK___335 = 21,
    REG_CR2___335 = 22
} ;
enum __anonenum_57186863___335 {
    SS_ONSTACK___335 = 1,
    SS_DISABLE___335 = 2
} ;
enum __anonenum_83571709___335 {
    MSG_OOB___335 = 1,
    MSG_PEEK___335 = 2,
    MSG_DONTROUTE___335 = 4,
    MSG_TRYHARD___335 = 4,
    MSG_CTRUNC___335 = 8,
    MSG_PROXY___335 = 16,
    MSG_TRUNC___335 = 32,
    MSG_DONTWAIT___335 = 64,
    MSG_EOR___335 = 128,
    MSG_WAITALL___335 = 256,
    MSG_FIN___335 = 512,
    MSG_SYN___335 = 1024,
    MSG_CONFIRM___335 = 2048,
    MSG_RST___335 = 4096,
    MSG_ERRQUEUE___335 = 8192,
    MSG_NOSIGNAL___335 = 16384,
    MSG_MORE___335 = 32768,
    MSG_WAITFORONE___335 = 65536,
    MSG_BATCH___335 = 262144,
    MSG_ZEROCOPY___335 = 67108864,
    MSG_FASTOPEN___335 = 536870912,
    MSG_CMSG_CLOEXEC___335 = 1073741824
} ;
enum __anonenum_617082774___335 {
    SCM_RIGHTS___335 = 1,
    SCM_CREDENTIALS___335 = 2
} ;
enum __anonenum_606441560___335 {
    SHUT_RD___335 = 0,
    SHUT_WR___335 = 1,
    SHUT_RDWR___335 = 2
} ;
enum __anonenum_681669233___335 {
    IPPROTO_IP___335 = 0,
    IPPROTO_ICMP___335 = 1,
    IPPROTO_IGMP___335 = 2,
    IPPROTO_IPIP___335 = 4,
    IPPROTO_TCP___335 = 6,
    IPPROTO_EGP___335 = 8,
    IPPROTO_PUP___335 = 12,
    IPPROTO_UDP___335 = 17,
    IPPROTO_IDP___335 = 22,
    IPPROTO_TP___335 = 29,
    IPPROTO_DCCP___335 = 33,
    IPPROTO_IPV6___335 = 41,
    IPPROTO_RSVP___335 = 46,
    IPPROTO_GRE___335 = 47,
    IPPROTO_ESP___335 = 50,
    IPPROTO_AH___335 = 51,
    IPPROTO_MTP___335 = 92,
    IPPROTO_BEETPH___335 = 94,
    IPPROTO_ENCAP___335 = 98,
    IPPROTO_PIM___335 = 103,
    IPPROTO_COMP___335 = 108,
    IPPROTO_SCTP___335 = 132,
    IPPROTO_UDPLITE___335 = 136,
    IPPROTO_MPLS___335 = 137,
    IPPROTO_RAW___335 = 255,
    IPPROTO_MAX___335 = 256
} ;
enum __anonenum_218739988___335 {
    IPPROTO_HOPOPTS___335 = 0,
    IPPROTO_ROUTING___335 = 43,
    IPPROTO_FRAGMENT___335 = 44,
    IPPROTO_ICMPV6___335 = 58,
    IPPROTO_NONE___335 = 59,
    IPPROTO_DSTOPTS___335 = 60,
    IPPROTO_MH___335 = 135
} ;
enum __anonenum_662268580___335 {
    IPPORT_ECHO___335 = 7,
    IPPORT_DISCARD___335 = 9,
    IPPORT_SYSTAT___335 = 11,
    IPPORT_DAYTIME___335 = 13,
    IPPORT_NETSTAT___335 = 15,
    IPPORT_FTP___335 = 21,
    IPPORT_TELNET___335 = 23,
    IPPORT_SMTP___335 = 25,
    IPPORT_TIMESERVER___335 = 37,
    IPPORT_NAMESERVER___335 = 42,
    IPPORT_WHOIS___335 = 43,
    IPPORT_MTP___335 = 57,
    IPPORT_TFTP___335 = 69,
    IPPORT_RJE___335 = 77,
    IPPORT_FINGER___335 = 79,
    IPPORT_TTYLINK___335 = 87,
    IPPORT_SUPDUP___335 = 95,
    IPPORT_EXECSERVER___335 = 512,
    IPPORT_LOGINSERVER___335 = 513,
    IPPORT_CMDSERVER___335 = 514,
    IPPORT_EFSSERVER___335 = 520,
    IPPORT_BIFFUDP___335 = 512,
    IPPORT_WHOSERVER___335 = 513,
    IPPORT_ROUTESERVER___335 = 520,
    IPPORT_RESERVED___335 = 1024,
    IPPORT_USERRESERVED___335 = 5000
} ;
enum __anonenum_788308992___335 {
    TCP_ESTABLISHED___335 = 1,
    TCP_SYN_SENT___335 = 2,
    TCP_SYN_RECV___335 = 3,
    TCP_FIN_WAIT1___335 = 4,
    TCP_FIN_WAIT2___335 = 5,
    TCP_TIME_WAIT___335 = 6,
    TCP_CLOSE___335 = 7,
    TCP_CLOSE_WAIT___335 = 8,
    TCP_LAST_ACK___335 = 9,
    TCP_LISTEN___335 = 10,
    TCP_CLOSING___335 = 11
} ;
enum __anonenum_221125648___335 {
    TCP_NO_QUEUE___335 = 0,
    TCP_RECV_QUEUE___335 = 1,
    TCP_SEND_QUEUE___335 = 2,
    TCP_QUEUES_NR___335 = 3
} ;
enum __anonenum_34415463___335 {
    PTHREAD_CREATE_JOINABLE___335 = 0,
    PTHREAD_CREATE_DETACHED___335 = 1
} ;
enum __anonenum_303612439___335 {
    PTHREAD_MUTEX_TIMED_NP___335 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___335 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___335 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___335 = 3,
    PTHREAD_MUTEX_NORMAL___335 = 0,
    PTHREAD_MUTEX_RECURSIVE___335 = 1,
    PTHREAD_MUTEX_ERRORCHECK___335 = 2,
    PTHREAD_MUTEX_DEFAULT___335 = 0,
    PTHREAD_MUTEX_FAST_NP___335 = 0
} ;
enum __anonenum_931900394___335 {
    PTHREAD_MUTEX_STALLED___335 = 0,
    PTHREAD_MUTEX_STALLED_NP___335 = 0,
    PTHREAD_MUTEX_ROBUST___335 = 1,
    PTHREAD_MUTEX_ROBUST_NP___335 = 1
} ;
enum __anonenum_205214487___335 {
    PTHREAD_PRIO_NONE___335 = 0,
    PTHREAD_PRIO_INHERIT___335 = 1,
    PTHREAD_PRIO_PROTECT___335 = 2
} ;
enum __anonenum_25043950___335 {
    PTHREAD_RWLOCK_PREFER_READER_NP___335 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___335 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___335 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___335 = 0
} ;
enum __anonenum_436439511___335 {
    PTHREAD_INHERIT_SCHED___335 = 0,
    PTHREAD_EXPLICIT_SCHED___335 = 1
} ;
enum __anonenum_998661166___335 {
    PTHREAD_SCOPE_SYSTEM___335 = 0,
    PTHREAD_SCOPE_PROCESS___335 = 1
} ;
enum __anonenum_146137331___335 {
    PTHREAD_PROCESS_PRIVATE___335 = 0,
    PTHREAD_PROCESS_SHARED___335 = 1
} ;
enum __anonenum_53396917___335 {
    PTHREAD_CANCEL_ENABLE___335 = 0,
    PTHREAD_CANCEL_DISABLE___335 = 1
} ;
enum __anonenum_904563783___335 {
    PTHREAD_CANCEL_DEFERRED___335 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___335 = 1
} ;
enum __anonenum_672052974___335 {
    SSL_CT_VALIDATION_PERMISSIVE___335 = 0,
    SSL_CT_VALIDATION_STRICT___335 = 1
} ;
enum __anonenum_34023289___35 {
    REMOTE_UNCONFIGURED___35 = 0,
    REMOTE_CONFIG___35 = 1,
    REMOTE_REMOTES___35 = 2,
    REMOTE_BRANCHES___35 = 3
} ;
struct strategy {
   char const   *name ;
   unsigned int attr ;
};
enum ff_type {
    FF_NO = 0,
    FF_ALLOW = 1,
    FF_ONLY = 2
} ;
enum __anonenum_437032235___336 {
    _PC_LINK_MAX___336 = 0,
    _PC_MAX_CANON___336 = 1,
    _PC_MAX_INPUT___336 = 2,
    _PC_NAME_MAX___336 = 3,
    _PC_PATH_MAX___336 = 4,
    _PC_PIPE_BUF___336 = 5,
    _PC_CHOWN_RESTRICTED___336 = 6,
    _PC_NO_TRUNC___336 = 7,
    _PC_VDISABLE___336 = 8,
    _PC_SYNC_IO___336 = 9,
    _PC_ASYNC_IO___336 = 10,
    _PC_PRIO_IO___336 = 11,
    _PC_SOCK_MAXBUF___336 = 12,
    _PC_FILESIZEBITS___336 = 13,
    _PC_REC_INCR_XFER_SIZE___336 = 14,
    _PC_REC_MAX_XFER_SIZE___336 = 15,
    _PC_REC_MIN_XFER_SIZE___336 = 16,
    _PC_REC_XFER_ALIGN___336 = 17,
    _PC_ALLOC_SIZE_MIN___336 = 18,
    _PC_SYMLINK_MAX___336 = 19,
    _PC_2_SYMLINKS___336 = 20
} ;
enum __anonenum_315186338___336 {
    _SC_ARG_MAX___336 = 0,
    _SC_CHILD_MAX___336 = 1,
    _SC_CLK_TCK___336 = 2,
    _SC_NGROUPS_MAX___336 = 3,
    _SC_OPEN_MAX___336 = 4,
    _SC_STREAM_MAX___336 = 5,
    _SC_TZNAME_MAX___336 = 6,
    _SC_JOB_CONTROL___336 = 7,
    _SC_SAVED_IDS___336 = 8,
    _SC_REALTIME_SIGNALS___336 = 9,
    _SC_PRIORITY_SCHEDULING___336 = 10,
    _SC_TIMERS___336 = 11,
    _SC_ASYNCHRONOUS_IO___336 = 12,
    _SC_PRIORITIZED_IO___336 = 13,
    _SC_SYNCHRONIZED_IO___336 = 14,
    _SC_FSYNC___336 = 15,
    _SC_MAPPED_FILES___336 = 16,
    _SC_MEMLOCK___336 = 17,
    _SC_MEMLOCK_RANGE___336 = 18,
    _SC_MEMORY_PROTECTION___336 = 19,
    _SC_MESSAGE_PASSING___336 = 20,
    _SC_SEMAPHORES___336 = 21,
    _SC_SHARED_MEMORY_OBJECTS___336 = 22,
    _SC_AIO_LISTIO_MAX___336 = 23,
    _SC_AIO_MAX___336 = 24,
    _SC_AIO_PRIO_DELTA_MAX___336 = 25,
    _SC_DELAYTIMER_MAX___336 = 26,
    _SC_MQ_OPEN_MAX___336 = 27,
    _SC_MQ_PRIO_MAX___336 = 28,
    _SC_VERSION___336 = 29,
    _SC_PAGESIZE___336 = 30,
    _SC_RTSIG_MAX___336 = 31,
    _SC_SEM_NSEMS_MAX___336 = 32,
    _SC_SEM_VALUE_MAX___336 = 33,
    _SC_SIGQUEUE_MAX___336 = 34,
    _SC_TIMER_MAX___336 = 35,
    _SC_BC_BASE_MAX___336 = 36,
    _SC_BC_DIM_MAX___336 = 37,
    _SC_BC_SCALE_MAX___336 = 38,
    _SC_BC_STRING_MAX___336 = 39,
    _SC_COLL_WEIGHTS_MAX___336 = 40,
    _SC_EQUIV_CLASS_MAX___336 = 41,
    _SC_EXPR_NEST_MAX___336 = 42,
    _SC_LINE_MAX___336 = 43,
    _SC_RE_DUP_MAX___336 = 44,
    _SC_CHARCLASS_NAME_MAX___336 = 45,
    _SC_2_VERSION___336 = 46,
    _SC_2_C_BIND___336 = 47,
    _SC_2_C_DEV___336 = 48,
    _SC_2_FORT_DEV___336 = 49,
    _SC_2_FORT_RUN___336 = 50,
    _SC_2_SW_DEV___336 = 51,
    _SC_2_LOCALEDEF___336 = 52,
    _SC_PII___336 = 53,
    _SC_PII_XTI___336 = 54,
    _SC_PII_SOCKET___336 = 55,
    _SC_PII_INTERNET___336 = 56,
    _SC_PII_OSI___336 = 57,
    _SC_POLL___336 = 58,
    _SC_SELECT___336 = 59,
    _SC_UIO_MAXIOV___336 = 60,
    _SC_IOV_MAX___336 = 60,
    _SC_PII_INTERNET_STREAM___336 = 61,
    _SC_PII_INTERNET_DGRAM___336 = 62,
    _SC_PII_OSI_COTS___336 = 63,
    _SC_PII_OSI_CLTS___336 = 64,
    _SC_PII_OSI_M___336 = 65,
    _SC_T_IOV_MAX___336 = 66,
    _SC_THREADS___336 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___336 = 68,
    _SC_GETGR_R_SIZE_MAX___336 = 69,
    _SC_GETPW_R_SIZE_MAX___336 = 70,
    _SC_LOGIN_NAME_MAX___336 = 71,
    _SC_TTY_NAME_MAX___336 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___336 = 73,
    _SC_THREAD_KEYS_MAX___336 = 74,
    _SC_THREAD_STACK_MIN___336 = 75,
    _SC_THREAD_THREADS_MAX___336 = 76,
    _SC_THREAD_ATTR_STACKADDR___336 = 77,
    _SC_THREAD_ATTR_STACKSIZE___336 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___336 = 79,
    _SC_THREAD_PRIO_INHERIT___336 = 80,
    _SC_THREAD_PRIO_PROTECT___336 = 81,
    _SC_THREAD_PROCESS_SHARED___336 = 82,
    _SC_NPROCESSORS_CONF___336 = 83,
    _SC_NPROCESSORS_ONLN___336 = 84,
    _SC_PHYS_PAGES___336 = 85,
    _SC_AVPHYS_PAGES___336 = 86,
    _SC_ATEXIT_MAX___336 = 87,
    _SC_PASS_MAX___336 = 88,
    _SC_XOPEN_VERSION___336 = 89,
    _SC_XOPEN_XCU_VERSION___336 = 90,
    _SC_XOPEN_UNIX___336 = 91,
    _SC_XOPEN_CRYPT___336 = 92,
    _SC_XOPEN_ENH_I18N___336 = 93,
    _SC_XOPEN_SHM___336 = 94,
    _SC_2_CHAR_TERM___336 = 95,
    _SC_2_C_VERSION___336 = 96,
    _SC_2_UPE___336 = 97,
    _SC_XOPEN_XPG2___336 = 98,
    _SC_XOPEN_XPG3___336 = 99,
    _SC_XOPEN_XPG4___336 = 100,
    _SC_CHAR_BIT___336 = 101,
    _SC_CHAR_MAX___336 = 102,
    _SC_CHAR_MIN___336 = 103,
    _SC_INT_MAX___336 = 104,
    _SC_INT_MIN___336 = 105,
    _SC_LONG_BIT___336 = 106,
    _SC_WORD_BIT___336 = 107,
    _SC_MB_LEN_MAX___336 = 108,
    _SC_NZERO___336 = 109,
    _SC_SSIZE_MAX___336 = 110,
    _SC_SCHAR_MAX___336 = 111,
    _SC_SCHAR_MIN___336 = 112,
    _SC_SHRT_MAX___336 = 113,
    _SC_SHRT_MIN___336 = 114,
    _SC_UCHAR_MAX___336 = 115,
    _SC_UINT_MAX___336 = 116,
    _SC_ULONG_MAX___336 = 117,
    _SC_USHRT_MAX___336 = 118,
    _SC_NL_ARGMAX___336 = 119,
    _SC_NL_LANGMAX___336 = 120,
    _SC_NL_MSGMAX___336 = 121,
    _SC_NL_NMAX___336 = 122,
    _SC_NL_SETMAX___336 = 123,
    _SC_NL_TEXTMAX___336 = 124,
    _SC_XBS5_ILP32_OFF32___336 = 125,
    _SC_XBS5_ILP32_OFFBIG___336 = 126,
    _SC_XBS5_LP64_OFF64___336 = 127,
    _SC_XBS5_LPBIG_OFFBIG___336 = 128,
    _SC_XOPEN_LEGACY___336 = 129,
    _SC_XOPEN_REALTIME___336 = 130,
    _SC_XOPEN_REALTIME_THREADS___336 = 131,
    _SC_ADVISORY_INFO___336 = 132,
    _SC_BARRIERS___336 = 133,
    _SC_BASE___336 = 134,
    _SC_C_LANG_SUPPORT___336 = 135,
    _SC_C_LANG_SUPPORT_R___336 = 136,
    _SC_CLOCK_SELECTION___336 = 137,
    _SC_CPUTIME___336 = 138,
    _SC_THREAD_CPUTIME___336 = 139,
    _SC_DEVICE_IO___336 = 140,
    _SC_DEVICE_SPECIFIC___336 = 141,
    _SC_DEVICE_SPECIFIC_R___336 = 142,
    _SC_FD_MGMT___336 = 143,
    _SC_FIFO___336 = 144,
    _SC_PIPE___336 = 145,
    _SC_FILE_ATTRIBUTES___336 = 146,
    _SC_FILE_LOCKING___336 = 147,
    _SC_FILE_SYSTEM___336 = 148,
    _SC_MONOTONIC_CLOCK___336 = 149,
    _SC_MULTI_PROCESS___336 = 150,
    _SC_SINGLE_PROCESS___336 = 151,
    _SC_NETWORKING___336 = 152,
    _SC_READER_WRITER_LOCKS___336 = 153,
    _SC_SPIN_LOCKS___336 = 154,
    _SC_REGEXP___336 = 155,
    _SC_REGEX_VERSION___336 = 156,
    _SC_SHELL___336 = 157,
    _SC_SIGNALS___336 = 158,
    _SC_SPAWN___336 = 159,
    _SC_SPORADIC_SERVER___336 = 160,
    _SC_THREAD_SPORADIC_SERVER___336 = 161,
    _SC_SYSTEM_DATABASE___336 = 162,
    _SC_SYSTEM_DATABASE_R___336 = 163,
    _SC_TIMEOUTS___336 = 164,
    _SC_TYPED_MEMORY_OBJECTS___336 = 165,
    _SC_USER_GROUPS___336 = 166,
    _SC_USER_GROUPS_R___336 = 167,
    _SC_2_PBS___336 = 168,
    _SC_2_PBS_ACCOUNTING___336 = 169,
    _SC_2_PBS_LOCATE___336 = 170,
    _SC_2_PBS_MESSAGE___336 = 171,
    _SC_2_PBS_TRACK___336 = 172,
    _SC_SYMLOOP_MAX___336 = 173,
    _SC_STREAMS___336 = 174,
    _SC_2_PBS_CHECKPOINT___336 = 175,
    _SC_V6_ILP32_OFF32___336 = 176,
    _SC_V6_ILP32_OFFBIG___336 = 177,
    _SC_V6_LP64_OFF64___336 = 178,
    _SC_V6_LPBIG_OFFBIG___336 = 179,
    _SC_HOST_NAME_MAX___336 = 180,
    _SC_TRACE___336 = 181,
    _SC_TRACE_EVENT_FILTER___336 = 182,
    _SC_TRACE_INHERIT___336 = 183,
    _SC_TRACE_LOG___336 = 184,
    _SC_LEVEL1_ICACHE_SIZE___336 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___336 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___336 = 187,
    _SC_LEVEL1_DCACHE_SIZE___336 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___336 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___336 = 190,
    _SC_LEVEL2_CACHE_SIZE___336 = 191,
    _SC_LEVEL2_CACHE_ASSOC___336 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___336 = 193,
    _SC_LEVEL3_CACHE_SIZE___336 = 194,
    _SC_LEVEL3_CACHE_ASSOC___336 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___336 = 196,
    _SC_LEVEL4_CACHE_SIZE___336 = 197,
    _SC_LEVEL4_CACHE_ASSOC___336 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___336 = 199,
    _SC_IPV6___336 = 235,
    _SC_RAW_SOCKETS___336 = 236,
    _SC_V7_ILP32_OFF32___336 = 237,
    _SC_V7_ILP32_OFFBIG___336 = 238,
    _SC_V7_LP64_OFF64___336 = 239,
    _SC_V7_LPBIG_OFFBIG___336 = 240,
    _SC_SS_REPL_MAX___336 = 241,
    _SC_TRACE_EVENT_NAME_MAX___336 = 242,
    _SC_TRACE_NAME_MAX___336 = 243,
    _SC_TRACE_SYS_MAX___336 = 244,
    _SC_TRACE_USER_EVENT_MAX___336 = 245,
    _SC_XOPEN_STREAMS___336 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___336 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___336 = 248
} ;
enum __anonenum_875524036___336 {
    _CS_PATH___336 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___336 = 1,
    _CS_GNU_LIBC_VERSION___336 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___336 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___336 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___336 = 5,
    _CS_LFS_CFLAGS___336 = 1000,
    _CS_LFS_LDFLAGS___336 = 1001,
    _CS_LFS_LIBS___336 = 1002,
    _CS_LFS_LINTFLAGS___336 = 1003,
    _CS_LFS64_CFLAGS___336 = 1004,
    _CS_LFS64_LDFLAGS___336 = 1005,
    _CS_LFS64_LIBS___336 = 1006,
    _CS_LFS64_LINTFLAGS___336 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___336 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___336 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___336 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___336 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___336 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___336 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___336 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___336 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___336 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___336 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___336 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___336 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___336 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___336 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___336 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___336 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___336 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___336 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___336 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___336 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___336 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___336 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___336 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___336 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___336 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___336 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___336 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___336 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___336 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___336 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___336 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___336 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___336 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___336 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___336 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___336 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___336 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___336 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___336 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___336 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___336 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___336 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___336 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___336 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___336 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___336 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___336 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___336 = 1147,
    _CS_V6_ENV___336 = 1148,
    _CS_V7_ENV___336 = 1149
} ;
enum __anonenum_513775621___336 {
    DT_UNKNOWN___336 = 0,
    DT_FIFO___336 = 1,
    DT_CHR___336 = 2,
    DT_DIR___336 = 4,
    DT_BLK___336 = 6,
    DT_REG___336 = 8,
    DT_LNK___336 = 10,
    DT_SOCK___336 = 12,
    DT_WHT___336 = 14
} ;
enum __anonenum_77002343___336 {
    SI_ASYNCNL___336 = -60,
    SI_TKILL___336 = -6,
    SI_SIGIO___336 = -5,
    SI_ASYNCIO___336 = -4,
    SI_MESGQ___336 = -3,
    SI_TIMER___336 = -2,
    SI_QUEUE___336 = -1,
    SI_USER___336 = 0,
    SI_KERNEL___336 = 128
} ;
enum __anonenum_131038172___336 {
    ILL_ILLOPC___336 = 1,
    ILL_ILLOPN___336 = 2,
    ILL_ILLADR___336 = 3,
    ILL_ILLTRP___336 = 4,
    ILL_PRVOPC___336 = 5,
    ILL_PRVREG___336 = 6,
    ILL_COPROC___336 = 7,
    ILL_BADSTK___336 = 8
} ;
enum __anonenum_452038093___336 {
    FPE_INTDIV___336 = 1,
    FPE_INTOVF___336 = 2,
    FPE_FLTDIV___336 = 3,
    FPE_FLTOVF___336 = 4,
    FPE_FLTUND___336 = 5,
    FPE_FLTRES___336 = 6,
    FPE_FLTINV___336 = 7,
    FPE_FLTSUB___336 = 8
} ;
enum __anonenum_30976155___336 {
    SEGV_MAPERR___336 = 1,
    SEGV_ACCERR___336 = 2,
    SEGV_BNDERR___336 = 3,
    SEGV_PKUERR___336 = 4
} ;
enum __anonenum_1036286214___336 {
    BUS_ADRALN___336 = 1,
    BUS_ADRERR___336 = 2,
    BUS_OBJERR___336 = 3,
    BUS_MCEERR_AR___336 = 4,
    BUS_MCEERR_AO___336 = 5
} ;
enum __anonenum_493465559___336 {
    TRAP_BRKPT___336 = 1,
    TRAP_TRACE___336 = 2
} ;
enum __anonenum_23175539___336 {
    CLD_EXITED___336 = 1,
    CLD_KILLED___336 = 2,
    CLD_DUMPED___336 = 3,
    CLD_TRAPPED___336 = 4,
    CLD_STOPPED___336 = 5,
    CLD_CONTINUED___336 = 6
} ;
enum __anonenum_111643124___336 {
    POLL_IN___336 = 1,
    POLL_OUT___336 = 2,
    POLL_MSG___336 = 3,
    POLL_ERR___336 = 4,
    POLL_PRI___336 = 5,
    POLL_HUP___336 = 6
} ;
enum __anonenum_852341087___336 {
    SIGEV_SIGNAL___336 = 0,
    SIGEV_NONE___336 = 1,
    SIGEV_THREAD___336 = 2,
    SIGEV_THREAD_ID___336 = 4
} ;
enum __anonenum_451154152___336 {
    REG_R8___336 = 0,
    REG_R9___336 = 1,
    REG_R10___336 = 2,
    REG_R11___336 = 3,
    REG_R12___336 = 4,
    REG_R13___336 = 5,
    REG_R14___336 = 6,
    REG_R15___336 = 7,
    REG_RDI___336 = 8,
    REG_RSI___336 = 9,
    REG_RBP___336 = 10,
    REG_RBX___336 = 11,
    REG_RDX___336 = 12,
    REG_RAX___336 = 13,
    REG_RCX___336 = 14,
    REG_RSP___336 = 15,
    REG_RIP___336 = 16,
    REG_EFL___336 = 17,
    REG_CSGSFS___336 = 18,
    REG_ERR___336 = 19,
    REG_TRAPNO___336 = 20,
    REG_OLDMASK___336 = 21,
    REG_CR2___336 = 22
} ;
enum __anonenum_57186863___336 {
    SS_ONSTACK___336 = 1,
    SS_DISABLE___336 = 2
} ;
enum __anonenum_83571709___336 {
    MSG_OOB___336 = 1,
    MSG_PEEK___336 = 2,
    MSG_DONTROUTE___336 = 4,
    MSG_TRYHARD___336 = 4,
    MSG_CTRUNC___336 = 8,
    MSG_PROXY___336 = 16,
    MSG_TRUNC___336 = 32,
    MSG_DONTWAIT___336 = 64,
    MSG_EOR___336 = 128,
    MSG_WAITALL___336 = 256,
    MSG_FIN___336 = 512,
    MSG_SYN___336 = 1024,
    MSG_CONFIRM___336 = 2048,
    MSG_RST___336 = 4096,
    MSG_ERRQUEUE___336 = 8192,
    MSG_NOSIGNAL___336 = 16384,
    MSG_MORE___336 = 32768,
    MSG_WAITFORONE___336 = 65536,
    MSG_BATCH___336 = 262144,
    MSG_ZEROCOPY___336 = 67108864,
    MSG_FASTOPEN___336 = 536870912,
    MSG_CMSG_CLOEXEC___336 = 1073741824
} ;
enum __anonenum_617082774___336 {
    SCM_RIGHTS___336 = 1,
    SCM_CREDENTIALS___336 = 2
} ;
enum __anonenum_606441560___336 {
    SHUT_RD___336 = 0,
    SHUT_WR___336 = 1,
    SHUT_RDWR___336 = 2
} ;
enum __anonenum_681669233___336 {
    IPPROTO_IP___336 = 0,
    IPPROTO_ICMP___336 = 1,
    IPPROTO_IGMP___336 = 2,
    IPPROTO_IPIP___336 = 4,
    IPPROTO_TCP___336 = 6,
    IPPROTO_EGP___336 = 8,
    IPPROTO_PUP___336 = 12,
    IPPROTO_UDP___336 = 17,
    IPPROTO_IDP___336 = 22,
    IPPROTO_TP___336 = 29,
    IPPROTO_DCCP___336 = 33,
    IPPROTO_IPV6___336 = 41,
    IPPROTO_RSVP___336 = 46,
    IPPROTO_GRE___336 = 47,
    IPPROTO_ESP___336 = 50,
    IPPROTO_AH___336 = 51,
    IPPROTO_MTP___336 = 92,
    IPPROTO_BEETPH___336 = 94,
    IPPROTO_ENCAP___336 = 98,
    IPPROTO_PIM___336 = 103,
    IPPROTO_COMP___336 = 108,
    IPPROTO_SCTP___336 = 132,
    IPPROTO_UDPLITE___336 = 136,
    IPPROTO_MPLS___336 = 137,
    IPPROTO_RAW___336 = 255,
    IPPROTO_MAX___336 = 256
} ;
enum __anonenum_218739988___336 {
    IPPROTO_HOPOPTS___336 = 0,
    IPPROTO_ROUTING___336 = 43,
    IPPROTO_FRAGMENT___336 = 44,
    IPPROTO_ICMPV6___336 = 58,
    IPPROTO_NONE___336 = 59,
    IPPROTO_DSTOPTS___336 = 60,
    IPPROTO_MH___336 = 135
} ;
enum __anonenum_662268580___336 {
    IPPORT_ECHO___336 = 7,
    IPPORT_DISCARD___336 = 9,
    IPPORT_SYSTAT___336 = 11,
    IPPORT_DAYTIME___336 = 13,
    IPPORT_NETSTAT___336 = 15,
    IPPORT_FTP___336 = 21,
    IPPORT_TELNET___336 = 23,
    IPPORT_SMTP___336 = 25,
    IPPORT_TIMESERVER___336 = 37,
    IPPORT_NAMESERVER___336 = 42,
    IPPORT_WHOIS___336 = 43,
    IPPORT_MTP___336 = 57,
    IPPORT_TFTP___336 = 69,
    IPPORT_RJE___336 = 77,
    IPPORT_FINGER___336 = 79,
    IPPORT_TTYLINK___336 = 87,
    IPPORT_SUPDUP___336 = 95,
    IPPORT_EXECSERVER___336 = 512,
    IPPORT_LOGINSERVER___336 = 513,
    IPPORT_CMDSERVER___336 = 514,
    IPPORT_EFSSERVER___336 = 520,
    IPPORT_BIFFUDP___336 = 512,
    IPPORT_WHOSERVER___336 = 513,
    IPPORT_ROUTESERVER___336 = 520,
    IPPORT_RESERVED___336 = 1024,
    IPPORT_USERRESERVED___336 = 5000
} ;
enum __anonenum_788308992___336 {
    TCP_ESTABLISHED___336 = 1,
    TCP_SYN_SENT___336 = 2,
    TCP_SYN_RECV___336 = 3,
    TCP_FIN_WAIT1___336 = 4,
    TCP_FIN_WAIT2___336 = 5,
    TCP_TIME_WAIT___336 = 6,
    TCP_CLOSE___336 = 7,
    TCP_CLOSE_WAIT___336 = 8,
    TCP_LAST_ACK___336 = 9,
    TCP_LISTEN___336 = 10,
    TCP_CLOSING___336 = 11
} ;
enum __anonenum_221125648___336 {
    TCP_NO_QUEUE___336 = 0,
    TCP_RECV_QUEUE___336 = 1,
    TCP_SEND_QUEUE___336 = 2,
    TCP_QUEUES_NR___336 = 3
} ;
enum __anonenum_34415463___336 {
    PTHREAD_CREATE_JOINABLE___336 = 0,
    PTHREAD_CREATE_DETACHED___336 = 1
} ;
enum __anonenum_303612439___336 {
    PTHREAD_MUTEX_TIMED_NP___336 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___336 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___336 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___336 = 3,
    PTHREAD_MUTEX_NORMAL___336 = 0,
    PTHREAD_MUTEX_RECURSIVE___336 = 1,
    PTHREAD_MUTEX_ERRORCHECK___336 = 2,
    PTHREAD_MUTEX_DEFAULT___336 = 0,
    PTHREAD_MUTEX_FAST_NP___336 = 0
} ;
enum __anonenum_931900394___336 {
    PTHREAD_MUTEX_STALLED___336 = 0,
    PTHREAD_MUTEX_STALLED_NP___336 = 0,
    PTHREAD_MUTEX_ROBUST___336 = 1,
    PTHREAD_MUTEX_ROBUST_NP___336 = 1
} ;
enum __anonenum_205214487___336 {
    PTHREAD_PRIO_NONE___336 = 0,
    PTHREAD_PRIO_INHERIT___336 = 1,
    PTHREAD_PRIO_PROTECT___336 = 2
} ;
enum __anonenum_25043950___336 {
    PTHREAD_RWLOCK_PREFER_READER_NP___336 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___336 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___336 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___336 = 0
} ;
enum __anonenum_436439511___336 {
    PTHREAD_INHERIT_SCHED___336 = 0,
    PTHREAD_EXPLICIT_SCHED___336 = 1
} ;
enum __anonenum_998661166___336 {
    PTHREAD_SCOPE_SYSTEM___336 = 0,
    PTHREAD_SCOPE_PROCESS___336 = 1
} ;
enum __anonenum_146137331___336 {
    PTHREAD_PROCESS_PRIVATE___336 = 0,
    PTHREAD_PROCESS_SHARED___336 = 1
} ;
enum __anonenum_53396917___336 {
    PTHREAD_CANCEL_ENABLE___336 = 0,
    PTHREAD_CANCEL_DISABLE___336 = 1
} ;
enum __anonenum_904563783___336 {
    PTHREAD_CANCEL_DEFERRED___336 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___336 = 1
} ;
enum __anonenum_672052974___336 {
    SSL_CT_VALIDATION_PERMISSIVE___336 = 0,
    SSL_CT_VALIDATION_STRICT___336 = 1
} ;
enum __anonenum_437032235___337 {
    _PC_LINK_MAX___337 = 0,
    _PC_MAX_CANON___337 = 1,
    _PC_MAX_INPUT___337 = 2,
    _PC_NAME_MAX___337 = 3,
    _PC_PATH_MAX___337 = 4,
    _PC_PIPE_BUF___337 = 5,
    _PC_CHOWN_RESTRICTED___337 = 6,
    _PC_NO_TRUNC___337 = 7,
    _PC_VDISABLE___337 = 8,
    _PC_SYNC_IO___337 = 9,
    _PC_ASYNC_IO___337 = 10,
    _PC_PRIO_IO___337 = 11,
    _PC_SOCK_MAXBUF___337 = 12,
    _PC_FILESIZEBITS___337 = 13,
    _PC_REC_INCR_XFER_SIZE___337 = 14,
    _PC_REC_MAX_XFER_SIZE___337 = 15,
    _PC_REC_MIN_XFER_SIZE___337 = 16,
    _PC_REC_XFER_ALIGN___337 = 17,
    _PC_ALLOC_SIZE_MIN___337 = 18,
    _PC_SYMLINK_MAX___337 = 19,
    _PC_2_SYMLINKS___337 = 20
} ;
enum __anonenum_315186338___337 {
    _SC_ARG_MAX___337 = 0,
    _SC_CHILD_MAX___337 = 1,
    _SC_CLK_TCK___337 = 2,
    _SC_NGROUPS_MAX___337 = 3,
    _SC_OPEN_MAX___337 = 4,
    _SC_STREAM_MAX___337 = 5,
    _SC_TZNAME_MAX___337 = 6,
    _SC_JOB_CONTROL___337 = 7,
    _SC_SAVED_IDS___337 = 8,
    _SC_REALTIME_SIGNALS___337 = 9,
    _SC_PRIORITY_SCHEDULING___337 = 10,
    _SC_TIMERS___337 = 11,
    _SC_ASYNCHRONOUS_IO___337 = 12,
    _SC_PRIORITIZED_IO___337 = 13,
    _SC_SYNCHRONIZED_IO___337 = 14,
    _SC_FSYNC___337 = 15,
    _SC_MAPPED_FILES___337 = 16,
    _SC_MEMLOCK___337 = 17,
    _SC_MEMLOCK_RANGE___337 = 18,
    _SC_MEMORY_PROTECTION___337 = 19,
    _SC_MESSAGE_PASSING___337 = 20,
    _SC_SEMAPHORES___337 = 21,
    _SC_SHARED_MEMORY_OBJECTS___337 = 22,
    _SC_AIO_LISTIO_MAX___337 = 23,
    _SC_AIO_MAX___337 = 24,
    _SC_AIO_PRIO_DELTA_MAX___337 = 25,
    _SC_DELAYTIMER_MAX___337 = 26,
    _SC_MQ_OPEN_MAX___337 = 27,
    _SC_MQ_PRIO_MAX___337 = 28,
    _SC_VERSION___337 = 29,
    _SC_PAGESIZE___337 = 30,
    _SC_RTSIG_MAX___337 = 31,
    _SC_SEM_NSEMS_MAX___337 = 32,
    _SC_SEM_VALUE_MAX___337 = 33,
    _SC_SIGQUEUE_MAX___337 = 34,
    _SC_TIMER_MAX___337 = 35,
    _SC_BC_BASE_MAX___337 = 36,
    _SC_BC_DIM_MAX___337 = 37,
    _SC_BC_SCALE_MAX___337 = 38,
    _SC_BC_STRING_MAX___337 = 39,
    _SC_COLL_WEIGHTS_MAX___337 = 40,
    _SC_EQUIV_CLASS_MAX___337 = 41,
    _SC_EXPR_NEST_MAX___337 = 42,
    _SC_LINE_MAX___337 = 43,
    _SC_RE_DUP_MAX___337 = 44,
    _SC_CHARCLASS_NAME_MAX___337 = 45,
    _SC_2_VERSION___337 = 46,
    _SC_2_C_BIND___337 = 47,
    _SC_2_C_DEV___337 = 48,
    _SC_2_FORT_DEV___337 = 49,
    _SC_2_FORT_RUN___337 = 50,
    _SC_2_SW_DEV___337 = 51,
    _SC_2_LOCALEDEF___337 = 52,
    _SC_PII___337 = 53,
    _SC_PII_XTI___337 = 54,
    _SC_PII_SOCKET___337 = 55,
    _SC_PII_INTERNET___337 = 56,
    _SC_PII_OSI___337 = 57,
    _SC_POLL___337 = 58,
    _SC_SELECT___337 = 59,
    _SC_UIO_MAXIOV___337 = 60,
    _SC_IOV_MAX___337 = 60,
    _SC_PII_INTERNET_STREAM___337 = 61,
    _SC_PII_INTERNET_DGRAM___337 = 62,
    _SC_PII_OSI_COTS___337 = 63,
    _SC_PII_OSI_CLTS___337 = 64,
    _SC_PII_OSI_M___337 = 65,
    _SC_T_IOV_MAX___337 = 66,
    _SC_THREADS___337 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___337 = 68,
    _SC_GETGR_R_SIZE_MAX___337 = 69,
    _SC_GETPW_R_SIZE_MAX___337 = 70,
    _SC_LOGIN_NAME_MAX___337 = 71,
    _SC_TTY_NAME_MAX___337 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___337 = 73,
    _SC_THREAD_KEYS_MAX___337 = 74,
    _SC_THREAD_STACK_MIN___337 = 75,
    _SC_THREAD_THREADS_MAX___337 = 76,
    _SC_THREAD_ATTR_STACKADDR___337 = 77,
    _SC_THREAD_ATTR_STACKSIZE___337 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___337 = 79,
    _SC_THREAD_PRIO_INHERIT___337 = 80,
    _SC_THREAD_PRIO_PROTECT___337 = 81,
    _SC_THREAD_PROCESS_SHARED___337 = 82,
    _SC_NPROCESSORS_CONF___337 = 83,
    _SC_NPROCESSORS_ONLN___337 = 84,
    _SC_PHYS_PAGES___337 = 85,
    _SC_AVPHYS_PAGES___337 = 86,
    _SC_ATEXIT_MAX___337 = 87,
    _SC_PASS_MAX___337 = 88,
    _SC_XOPEN_VERSION___337 = 89,
    _SC_XOPEN_XCU_VERSION___337 = 90,
    _SC_XOPEN_UNIX___337 = 91,
    _SC_XOPEN_CRYPT___337 = 92,
    _SC_XOPEN_ENH_I18N___337 = 93,
    _SC_XOPEN_SHM___337 = 94,
    _SC_2_CHAR_TERM___337 = 95,
    _SC_2_C_VERSION___337 = 96,
    _SC_2_UPE___337 = 97,
    _SC_XOPEN_XPG2___337 = 98,
    _SC_XOPEN_XPG3___337 = 99,
    _SC_XOPEN_XPG4___337 = 100,
    _SC_CHAR_BIT___337 = 101,
    _SC_CHAR_MAX___337 = 102,
    _SC_CHAR_MIN___337 = 103,
    _SC_INT_MAX___337 = 104,
    _SC_INT_MIN___337 = 105,
    _SC_LONG_BIT___337 = 106,
    _SC_WORD_BIT___337 = 107,
    _SC_MB_LEN_MAX___337 = 108,
    _SC_NZERO___337 = 109,
    _SC_SSIZE_MAX___337 = 110,
    _SC_SCHAR_MAX___337 = 111,
    _SC_SCHAR_MIN___337 = 112,
    _SC_SHRT_MAX___337 = 113,
    _SC_SHRT_MIN___337 = 114,
    _SC_UCHAR_MAX___337 = 115,
    _SC_UINT_MAX___337 = 116,
    _SC_ULONG_MAX___337 = 117,
    _SC_USHRT_MAX___337 = 118,
    _SC_NL_ARGMAX___337 = 119,
    _SC_NL_LANGMAX___337 = 120,
    _SC_NL_MSGMAX___337 = 121,
    _SC_NL_NMAX___337 = 122,
    _SC_NL_SETMAX___337 = 123,
    _SC_NL_TEXTMAX___337 = 124,
    _SC_XBS5_ILP32_OFF32___337 = 125,
    _SC_XBS5_ILP32_OFFBIG___337 = 126,
    _SC_XBS5_LP64_OFF64___337 = 127,
    _SC_XBS5_LPBIG_OFFBIG___337 = 128,
    _SC_XOPEN_LEGACY___337 = 129,
    _SC_XOPEN_REALTIME___337 = 130,
    _SC_XOPEN_REALTIME_THREADS___337 = 131,
    _SC_ADVISORY_INFO___337 = 132,
    _SC_BARRIERS___337 = 133,
    _SC_BASE___337 = 134,
    _SC_C_LANG_SUPPORT___337 = 135,
    _SC_C_LANG_SUPPORT_R___337 = 136,
    _SC_CLOCK_SELECTION___337 = 137,
    _SC_CPUTIME___337 = 138,
    _SC_THREAD_CPUTIME___337 = 139,
    _SC_DEVICE_IO___337 = 140,
    _SC_DEVICE_SPECIFIC___337 = 141,
    _SC_DEVICE_SPECIFIC_R___337 = 142,
    _SC_FD_MGMT___337 = 143,
    _SC_FIFO___337 = 144,
    _SC_PIPE___337 = 145,
    _SC_FILE_ATTRIBUTES___337 = 146,
    _SC_FILE_LOCKING___337 = 147,
    _SC_FILE_SYSTEM___337 = 148,
    _SC_MONOTONIC_CLOCK___337 = 149,
    _SC_MULTI_PROCESS___337 = 150,
    _SC_SINGLE_PROCESS___337 = 151,
    _SC_NETWORKING___337 = 152,
    _SC_READER_WRITER_LOCKS___337 = 153,
    _SC_SPIN_LOCKS___337 = 154,
    _SC_REGEXP___337 = 155,
    _SC_REGEX_VERSION___337 = 156,
    _SC_SHELL___337 = 157,
    _SC_SIGNALS___337 = 158,
    _SC_SPAWN___337 = 159,
    _SC_SPORADIC_SERVER___337 = 160,
    _SC_THREAD_SPORADIC_SERVER___337 = 161,
    _SC_SYSTEM_DATABASE___337 = 162,
    _SC_SYSTEM_DATABASE_R___337 = 163,
    _SC_TIMEOUTS___337 = 164,
    _SC_TYPED_MEMORY_OBJECTS___337 = 165,
    _SC_USER_GROUPS___337 = 166,
    _SC_USER_GROUPS_R___337 = 167,
    _SC_2_PBS___337 = 168,
    _SC_2_PBS_ACCOUNTING___337 = 169,
    _SC_2_PBS_LOCATE___337 = 170,
    _SC_2_PBS_MESSAGE___337 = 171,
    _SC_2_PBS_TRACK___337 = 172,
    _SC_SYMLOOP_MAX___337 = 173,
    _SC_STREAMS___337 = 174,
    _SC_2_PBS_CHECKPOINT___337 = 175,
    _SC_V6_ILP32_OFF32___337 = 176,
    _SC_V6_ILP32_OFFBIG___337 = 177,
    _SC_V6_LP64_OFF64___337 = 178,
    _SC_V6_LPBIG_OFFBIG___337 = 179,
    _SC_HOST_NAME_MAX___337 = 180,
    _SC_TRACE___337 = 181,
    _SC_TRACE_EVENT_FILTER___337 = 182,
    _SC_TRACE_INHERIT___337 = 183,
    _SC_TRACE_LOG___337 = 184,
    _SC_LEVEL1_ICACHE_SIZE___337 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___337 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___337 = 187,
    _SC_LEVEL1_DCACHE_SIZE___337 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___337 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___337 = 190,
    _SC_LEVEL2_CACHE_SIZE___337 = 191,
    _SC_LEVEL2_CACHE_ASSOC___337 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___337 = 193,
    _SC_LEVEL3_CACHE_SIZE___337 = 194,
    _SC_LEVEL3_CACHE_ASSOC___337 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___337 = 196,
    _SC_LEVEL4_CACHE_SIZE___337 = 197,
    _SC_LEVEL4_CACHE_ASSOC___337 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___337 = 199,
    _SC_IPV6___337 = 235,
    _SC_RAW_SOCKETS___337 = 236,
    _SC_V7_ILP32_OFF32___337 = 237,
    _SC_V7_ILP32_OFFBIG___337 = 238,
    _SC_V7_LP64_OFF64___337 = 239,
    _SC_V7_LPBIG_OFFBIG___337 = 240,
    _SC_SS_REPL_MAX___337 = 241,
    _SC_TRACE_EVENT_NAME_MAX___337 = 242,
    _SC_TRACE_NAME_MAX___337 = 243,
    _SC_TRACE_SYS_MAX___337 = 244,
    _SC_TRACE_USER_EVENT_MAX___337 = 245,
    _SC_XOPEN_STREAMS___337 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___337 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___337 = 248
} ;
enum __anonenum_875524036___337 {
    _CS_PATH___337 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___337 = 1,
    _CS_GNU_LIBC_VERSION___337 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___337 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___337 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___337 = 5,
    _CS_LFS_CFLAGS___337 = 1000,
    _CS_LFS_LDFLAGS___337 = 1001,
    _CS_LFS_LIBS___337 = 1002,
    _CS_LFS_LINTFLAGS___337 = 1003,
    _CS_LFS64_CFLAGS___337 = 1004,
    _CS_LFS64_LDFLAGS___337 = 1005,
    _CS_LFS64_LIBS___337 = 1006,
    _CS_LFS64_LINTFLAGS___337 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___337 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___337 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___337 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___337 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___337 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___337 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___337 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___337 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___337 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___337 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___337 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___337 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___337 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___337 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___337 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___337 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___337 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___337 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___337 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___337 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___337 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___337 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___337 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___337 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___337 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___337 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___337 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___337 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___337 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___337 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___337 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___337 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___337 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___337 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___337 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___337 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___337 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___337 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___337 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___337 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___337 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___337 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___337 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___337 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___337 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___337 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___337 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___337 = 1147,
    _CS_V6_ENV___337 = 1148,
    _CS_V7_ENV___337 = 1149
} ;
enum __anonenum_513775621___337 {
    DT_UNKNOWN___337 = 0,
    DT_FIFO___337 = 1,
    DT_CHR___337 = 2,
    DT_DIR___337 = 4,
    DT_BLK___337 = 6,
    DT_REG___337 = 8,
    DT_LNK___337 = 10,
    DT_SOCK___337 = 12,
    DT_WHT___337 = 14
} ;
enum __anonenum_77002343___337 {
    SI_ASYNCNL___337 = -60,
    SI_TKILL___337 = -6,
    SI_SIGIO___337 = -5,
    SI_ASYNCIO___337 = -4,
    SI_MESGQ___337 = -3,
    SI_TIMER___337 = -2,
    SI_QUEUE___337 = -1,
    SI_USER___337 = 0,
    SI_KERNEL___337 = 128
} ;
enum __anonenum_131038172___337 {
    ILL_ILLOPC___337 = 1,
    ILL_ILLOPN___337 = 2,
    ILL_ILLADR___337 = 3,
    ILL_ILLTRP___337 = 4,
    ILL_PRVOPC___337 = 5,
    ILL_PRVREG___337 = 6,
    ILL_COPROC___337 = 7,
    ILL_BADSTK___337 = 8
} ;
enum __anonenum_452038093___337 {
    FPE_INTDIV___337 = 1,
    FPE_INTOVF___337 = 2,
    FPE_FLTDIV___337 = 3,
    FPE_FLTOVF___337 = 4,
    FPE_FLTUND___337 = 5,
    FPE_FLTRES___337 = 6,
    FPE_FLTINV___337 = 7,
    FPE_FLTSUB___337 = 8
} ;
enum __anonenum_30976155___337 {
    SEGV_MAPERR___337 = 1,
    SEGV_ACCERR___337 = 2,
    SEGV_BNDERR___337 = 3,
    SEGV_PKUERR___337 = 4
} ;
enum __anonenum_1036286214___337 {
    BUS_ADRALN___337 = 1,
    BUS_ADRERR___337 = 2,
    BUS_OBJERR___337 = 3,
    BUS_MCEERR_AR___337 = 4,
    BUS_MCEERR_AO___337 = 5
} ;
enum __anonenum_493465559___337 {
    TRAP_BRKPT___337 = 1,
    TRAP_TRACE___337 = 2
} ;
enum __anonenum_23175539___337 {
    CLD_EXITED___337 = 1,
    CLD_KILLED___337 = 2,
    CLD_DUMPED___337 = 3,
    CLD_TRAPPED___337 = 4,
    CLD_STOPPED___337 = 5,
    CLD_CONTINUED___337 = 6
} ;
enum __anonenum_111643124___337 {
    POLL_IN___337 = 1,
    POLL_OUT___337 = 2,
    POLL_MSG___337 = 3,
    POLL_ERR___337 = 4,
    POLL_PRI___337 = 5,
    POLL_HUP___337 = 6
} ;
enum __anonenum_852341087___337 {
    SIGEV_SIGNAL___337 = 0,
    SIGEV_NONE___337 = 1,
    SIGEV_THREAD___337 = 2,
    SIGEV_THREAD_ID___337 = 4
} ;
enum __anonenum_451154152___337 {
    REG_R8___337 = 0,
    REG_R9___337 = 1,
    REG_R10___337 = 2,
    REG_R11___337 = 3,
    REG_R12___337 = 4,
    REG_R13___337 = 5,
    REG_R14___337 = 6,
    REG_R15___337 = 7,
    REG_RDI___337 = 8,
    REG_RSI___337 = 9,
    REG_RBP___337 = 10,
    REG_RBX___337 = 11,
    REG_RDX___337 = 12,
    REG_RAX___337 = 13,
    REG_RCX___337 = 14,
    REG_RSP___337 = 15,
    REG_RIP___337 = 16,
    REG_EFL___337 = 17,
    REG_CSGSFS___337 = 18,
    REG_ERR___337 = 19,
    REG_TRAPNO___337 = 20,
    REG_OLDMASK___337 = 21,
    REG_CR2___337 = 22
} ;
enum __anonenum_57186863___337 {
    SS_ONSTACK___337 = 1,
    SS_DISABLE___337 = 2
} ;
enum __anonenum_83571709___337 {
    MSG_OOB___337 = 1,
    MSG_PEEK___337 = 2,
    MSG_DONTROUTE___337 = 4,
    MSG_TRYHARD___337 = 4,
    MSG_CTRUNC___337 = 8,
    MSG_PROXY___337 = 16,
    MSG_TRUNC___337 = 32,
    MSG_DONTWAIT___337 = 64,
    MSG_EOR___337 = 128,
    MSG_WAITALL___337 = 256,
    MSG_FIN___337 = 512,
    MSG_SYN___337 = 1024,
    MSG_CONFIRM___337 = 2048,
    MSG_RST___337 = 4096,
    MSG_ERRQUEUE___337 = 8192,
    MSG_NOSIGNAL___337 = 16384,
    MSG_MORE___337 = 32768,
    MSG_WAITFORONE___337 = 65536,
    MSG_BATCH___337 = 262144,
    MSG_ZEROCOPY___337 = 67108864,
    MSG_FASTOPEN___337 = 536870912,
    MSG_CMSG_CLOEXEC___337 = 1073741824
} ;
enum __anonenum_617082774___337 {
    SCM_RIGHTS___337 = 1,
    SCM_CREDENTIALS___337 = 2
} ;
enum __anonenum_606441560___337 {
    SHUT_RD___337 = 0,
    SHUT_WR___337 = 1,
    SHUT_RDWR___337 = 2
} ;
enum __anonenum_681669233___337 {
    IPPROTO_IP___337 = 0,
    IPPROTO_ICMP___337 = 1,
    IPPROTO_IGMP___337 = 2,
    IPPROTO_IPIP___337 = 4,
    IPPROTO_TCP___337 = 6,
    IPPROTO_EGP___337 = 8,
    IPPROTO_PUP___337 = 12,
    IPPROTO_UDP___337 = 17,
    IPPROTO_IDP___337 = 22,
    IPPROTO_TP___337 = 29,
    IPPROTO_DCCP___337 = 33,
    IPPROTO_IPV6___337 = 41,
    IPPROTO_RSVP___337 = 46,
    IPPROTO_GRE___337 = 47,
    IPPROTO_ESP___337 = 50,
    IPPROTO_AH___337 = 51,
    IPPROTO_MTP___337 = 92,
    IPPROTO_BEETPH___337 = 94,
    IPPROTO_ENCAP___337 = 98,
    IPPROTO_PIM___337 = 103,
    IPPROTO_COMP___337 = 108,
    IPPROTO_SCTP___337 = 132,
    IPPROTO_UDPLITE___337 = 136,
    IPPROTO_MPLS___337 = 137,
    IPPROTO_RAW___337 = 255,
    IPPROTO_MAX___337 = 256
} ;
enum __anonenum_218739988___337 {
    IPPROTO_HOPOPTS___337 = 0,
    IPPROTO_ROUTING___337 = 43,
    IPPROTO_FRAGMENT___337 = 44,
    IPPROTO_ICMPV6___337 = 58,
    IPPROTO_NONE___337 = 59,
    IPPROTO_DSTOPTS___337 = 60,
    IPPROTO_MH___337 = 135
} ;
enum __anonenum_662268580___337 {
    IPPORT_ECHO___337 = 7,
    IPPORT_DISCARD___337 = 9,
    IPPORT_SYSTAT___337 = 11,
    IPPORT_DAYTIME___337 = 13,
    IPPORT_NETSTAT___337 = 15,
    IPPORT_FTP___337 = 21,
    IPPORT_TELNET___337 = 23,
    IPPORT_SMTP___337 = 25,
    IPPORT_TIMESERVER___337 = 37,
    IPPORT_NAMESERVER___337 = 42,
    IPPORT_WHOIS___337 = 43,
    IPPORT_MTP___337 = 57,
    IPPORT_TFTP___337 = 69,
    IPPORT_RJE___337 = 77,
    IPPORT_FINGER___337 = 79,
    IPPORT_TTYLINK___337 = 87,
    IPPORT_SUPDUP___337 = 95,
    IPPORT_EXECSERVER___337 = 512,
    IPPORT_LOGINSERVER___337 = 513,
    IPPORT_CMDSERVER___337 = 514,
    IPPORT_EFSSERVER___337 = 520,
    IPPORT_BIFFUDP___337 = 512,
    IPPORT_WHOSERVER___337 = 513,
    IPPORT_ROUTESERVER___337 = 520,
    IPPORT_RESERVED___337 = 1024,
    IPPORT_USERRESERVED___337 = 5000
} ;
enum __anonenum_788308992___337 {
    TCP_ESTABLISHED___337 = 1,
    TCP_SYN_SENT___337 = 2,
    TCP_SYN_RECV___337 = 3,
    TCP_FIN_WAIT1___337 = 4,
    TCP_FIN_WAIT2___337 = 5,
    TCP_TIME_WAIT___337 = 6,
    TCP_CLOSE___337 = 7,
    TCP_CLOSE_WAIT___337 = 8,
    TCP_LAST_ACK___337 = 9,
    TCP_LISTEN___337 = 10,
    TCP_CLOSING___337 = 11
} ;
enum __anonenum_221125648___337 {
    TCP_NO_QUEUE___337 = 0,
    TCP_RECV_QUEUE___337 = 1,
    TCP_SEND_QUEUE___337 = 2,
    TCP_QUEUES_NR___337 = 3
} ;
enum __anonenum_34415463___337 {
    PTHREAD_CREATE_JOINABLE___337 = 0,
    PTHREAD_CREATE_DETACHED___337 = 1
} ;
enum __anonenum_303612439___337 {
    PTHREAD_MUTEX_TIMED_NP___337 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___337 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___337 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___337 = 3,
    PTHREAD_MUTEX_NORMAL___337 = 0,
    PTHREAD_MUTEX_RECURSIVE___337 = 1,
    PTHREAD_MUTEX_ERRORCHECK___337 = 2,
    PTHREAD_MUTEX_DEFAULT___337 = 0,
    PTHREAD_MUTEX_FAST_NP___337 = 0
} ;
enum __anonenum_931900394___337 {
    PTHREAD_MUTEX_STALLED___337 = 0,
    PTHREAD_MUTEX_STALLED_NP___337 = 0,
    PTHREAD_MUTEX_ROBUST___337 = 1,
    PTHREAD_MUTEX_ROBUST_NP___337 = 1
} ;
enum __anonenum_205214487___337 {
    PTHREAD_PRIO_NONE___337 = 0,
    PTHREAD_PRIO_INHERIT___337 = 1,
    PTHREAD_PRIO_PROTECT___337 = 2
} ;
enum __anonenum_25043950___337 {
    PTHREAD_RWLOCK_PREFER_READER_NP___337 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___337 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___337 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___337 = 0
} ;
enum __anonenum_436439511___337 {
    PTHREAD_INHERIT_SCHED___337 = 0,
    PTHREAD_EXPLICIT_SCHED___337 = 1
} ;
enum __anonenum_998661166___337 {
    PTHREAD_SCOPE_SYSTEM___337 = 0,
    PTHREAD_SCOPE_PROCESS___337 = 1
} ;
enum __anonenum_146137331___337 {
    PTHREAD_PROCESS_PRIVATE___337 = 0,
    PTHREAD_PROCESS_SHARED___337 = 1
} ;
enum __anonenum_53396917___337 {
    PTHREAD_CANCEL_ENABLE___337 = 0,
    PTHREAD_CANCEL_DISABLE___337 = 1
} ;
enum __anonenum_904563783___337 {
    PTHREAD_CANCEL_DEFERRED___337 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___337 = 1
} ;
enum __anonenum_672052974___337 {
    SSL_CT_VALIDATION_PERMISSIVE___337 = 0,
    SSL_CT_VALIDATION_STRICT___337 = 1
} ;
struct treeent {
   unsigned int mode ;
   struct object_id oid ;
   int len ;
   char name[] ;
};
enum __anonenum_437032235___338 {
    _PC_LINK_MAX___338 = 0,
    _PC_MAX_CANON___338 = 1,
    _PC_MAX_INPUT___338 = 2,
    _PC_NAME_MAX___338 = 3,
    _PC_PATH_MAX___338 = 4,
    _PC_PIPE_BUF___338 = 5,
    _PC_CHOWN_RESTRICTED___338 = 6,
    _PC_NO_TRUNC___338 = 7,
    _PC_VDISABLE___338 = 8,
    _PC_SYNC_IO___338 = 9,
    _PC_ASYNC_IO___338 = 10,
    _PC_PRIO_IO___338 = 11,
    _PC_SOCK_MAXBUF___338 = 12,
    _PC_FILESIZEBITS___338 = 13,
    _PC_REC_INCR_XFER_SIZE___338 = 14,
    _PC_REC_MAX_XFER_SIZE___338 = 15,
    _PC_REC_MIN_XFER_SIZE___338 = 16,
    _PC_REC_XFER_ALIGN___338 = 17,
    _PC_ALLOC_SIZE_MIN___338 = 18,
    _PC_SYMLINK_MAX___338 = 19,
    _PC_2_SYMLINKS___338 = 20
} ;
enum __anonenum_315186338___338 {
    _SC_ARG_MAX___338 = 0,
    _SC_CHILD_MAX___338 = 1,
    _SC_CLK_TCK___338 = 2,
    _SC_NGROUPS_MAX___338 = 3,
    _SC_OPEN_MAX___338 = 4,
    _SC_STREAM_MAX___338 = 5,
    _SC_TZNAME_MAX___338 = 6,
    _SC_JOB_CONTROL___338 = 7,
    _SC_SAVED_IDS___338 = 8,
    _SC_REALTIME_SIGNALS___338 = 9,
    _SC_PRIORITY_SCHEDULING___338 = 10,
    _SC_TIMERS___338 = 11,
    _SC_ASYNCHRONOUS_IO___338 = 12,
    _SC_PRIORITIZED_IO___338 = 13,
    _SC_SYNCHRONIZED_IO___338 = 14,
    _SC_FSYNC___338 = 15,
    _SC_MAPPED_FILES___338 = 16,
    _SC_MEMLOCK___338 = 17,
    _SC_MEMLOCK_RANGE___338 = 18,
    _SC_MEMORY_PROTECTION___338 = 19,
    _SC_MESSAGE_PASSING___338 = 20,
    _SC_SEMAPHORES___338 = 21,
    _SC_SHARED_MEMORY_OBJECTS___338 = 22,
    _SC_AIO_LISTIO_MAX___338 = 23,
    _SC_AIO_MAX___338 = 24,
    _SC_AIO_PRIO_DELTA_MAX___338 = 25,
    _SC_DELAYTIMER_MAX___338 = 26,
    _SC_MQ_OPEN_MAX___338 = 27,
    _SC_MQ_PRIO_MAX___338 = 28,
    _SC_VERSION___338 = 29,
    _SC_PAGESIZE___338 = 30,
    _SC_RTSIG_MAX___338 = 31,
    _SC_SEM_NSEMS_MAX___338 = 32,
    _SC_SEM_VALUE_MAX___338 = 33,
    _SC_SIGQUEUE_MAX___338 = 34,
    _SC_TIMER_MAX___338 = 35,
    _SC_BC_BASE_MAX___338 = 36,
    _SC_BC_DIM_MAX___338 = 37,
    _SC_BC_SCALE_MAX___338 = 38,
    _SC_BC_STRING_MAX___338 = 39,
    _SC_COLL_WEIGHTS_MAX___338 = 40,
    _SC_EQUIV_CLASS_MAX___338 = 41,
    _SC_EXPR_NEST_MAX___338 = 42,
    _SC_LINE_MAX___338 = 43,
    _SC_RE_DUP_MAX___338 = 44,
    _SC_CHARCLASS_NAME_MAX___338 = 45,
    _SC_2_VERSION___338 = 46,
    _SC_2_C_BIND___338 = 47,
    _SC_2_C_DEV___338 = 48,
    _SC_2_FORT_DEV___338 = 49,
    _SC_2_FORT_RUN___338 = 50,
    _SC_2_SW_DEV___338 = 51,
    _SC_2_LOCALEDEF___338 = 52,
    _SC_PII___338 = 53,
    _SC_PII_XTI___338 = 54,
    _SC_PII_SOCKET___338 = 55,
    _SC_PII_INTERNET___338 = 56,
    _SC_PII_OSI___338 = 57,
    _SC_POLL___338 = 58,
    _SC_SELECT___338 = 59,
    _SC_UIO_MAXIOV___338 = 60,
    _SC_IOV_MAX___338 = 60,
    _SC_PII_INTERNET_STREAM___338 = 61,
    _SC_PII_INTERNET_DGRAM___338 = 62,
    _SC_PII_OSI_COTS___338 = 63,
    _SC_PII_OSI_CLTS___338 = 64,
    _SC_PII_OSI_M___338 = 65,
    _SC_T_IOV_MAX___338 = 66,
    _SC_THREADS___338 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___338 = 68,
    _SC_GETGR_R_SIZE_MAX___338 = 69,
    _SC_GETPW_R_SIZE_MAX___338 = 70,
    _SC_LOGIN_NAME_MAX___338 = 71,
    _SC_TTY_NAME_MAX___338 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___338 = 73,
    _SC_THREAD_KEYS_MAX___338 = 74,
    _SC_THREAD_STACK_MIN___338 = 75,
    _SC_THREAD_THREADS_MAX___338 = 76,
    _SC_THREAD_ATTR_STACKADDR___338 = 77,
    _SC_THREAD_ATTR_STACKSIZE___338 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___338 = 79,
    _SC_THREAD_PRIO_INHERIT___338 = 80,
    _SC_THREAD_PRIO_PROTECT___338 = 81,
    _SC_THREAD_PROCESS_SHARED___338 = 82,
    _SC_NPROCESSORS_CONF___338 = 83,
    _SC_NPROCESSORS_ONLN___338 = 84,
    _SC_PHYS_PAGES___338 = 85,
    _SC_AVPHYS_PAGES___338 = 86,
    _SC_ATEXIT_MAX___338 = 87,
    _SC_PASS_MAX___338 = 88,
    _SC_XOPEN_VERSION___338 = 89,
    _SC_XOPEN_XCU_VERSION___338 = 90,
    _SC_XOPEN_UNIX___338 = 91,
    _SC_XOPEN_CRYPT___338 = 92,
    _SC_XOPEN_ENH_I18N___338 = 93,
    _SC_XOPEN_SHM___338 = 94,
    _SC_2_CHAR_TERM___338 = 95,
    _SC_2_C_VERSION___338 = 96,
    _SC_2_UPE___338 = 97,
    _SC_XOPEN_XPG2___338 = 98,
    _SC_XOPEN_XPG3___338 = 99,
    _SC_XOPEN_XPG4___338 = 100,
    _SC_CHAR_BIT___338 = 101,
    _SC_CHAR_MAX___338 = 102,
    _SC_CHAR_MIN___338 = 103,
    _SC_INT_MAX___338 = 104,
    _SC_INT_MIN___338 = 105,
    _SC_LONG_BIT___338 = 106,
    _SC_WORD_BIT___338 = 107,
    _SC_MB_LEN_MAX___338 = 108,
    _SC_NZERO___338 = 109,
    _SC_SSIZE_MAX___338 = 110,
    _SC_SCHAR_MAX___338 = 111,
    _SC_SCHAR_MIN___338 = 112,
    _SC_SHRT_MAX___338 = 113,
    _SC_SHRT_MIN___338 = 114,
    _SC_UCHAR_MAX___338 = 115,
    _SC_UINT_MAX___338 = 116,
    _SC_ULONG_MAX___338 = 117,
    _SC_USHRT_MAX___338 = 118,
    _SC_NL_ARGMAX___338 = 119,
    _SC_NL_LANGMAX___338 = 120,
    _SC_NL_MSGMAX___338 = 121,
    _SC_NL_NMAX___338 = 122,
    _SC_NL_SETMAX___338 = 123,
    _SC_NL_TEXTMAX___338 = 124,
    _SC_XBS5_ILP32_OFF32___338 = 125,
    _SC_XBS5_ILP32_OFFBIG___338 = 126,
    _SC_XBS5_LP64_OFF64___338 = 127,
    _SC_XBS5_LPBIG_OFFBIG___338 = 128,
    _SC_XOPEN_LEGACY___338 = 129,
    _SC_XOPEN_REALTIME___338 = 130,
    _SC_XOPEN_REALTIME_THREADS___338 = 131,
    _SC_ADVISORY_INFO___338 = 132,
    _SC_BARRIERS___338 = 133,
    _SC_BASE___338 = 134,
    _SC_C_LANG_SUPPORT___338 = 135,
    _SC_C_LANG_SUPPORT_R___338 = 136,
    _SC_CLOCK_SELECTION___338 = 137,
    _SC_CPUTIME___338 = 138,
    _SC_THREAD_CPUTIME___338 = 139,
    _SC_DEVICE_IO___338 = 140,
    _SC_DEVICE_SPECIFIC___338 = 141,
    _SC_DEVICE_SPECIFIC_R___338 = 142,
    _SC_FD_MGMT___338 = 143,
    _SC_FIFO___338 = 144,
    _SC_PIPE___338 = 145,
    _SC_FILE_ATTRIBUTES___338 = 146,
    _SC_FILE_LOCKING___338 = 147,
    _SC_FILE_SYSTEM___338 = 148,
    _SC_MONOTONIC_CLOCK___338 = 149,
    _SC_MULTI_PROCESS___338 = 150,
    _SC_SINGLE_PROCESS___338 = 151,
    _SC_NETWORKING___338 = 152,
    _SC_READER_WRITER_LOCKS___338 = 153,
    _SC_SPIN_LOCKS___338 = 154,
    _SC_REGEXP___338 = 155,
    _SC_REGEX_VERSION___338 = 156,
    _SC_SHELL___338 = 157,
    _SC_SIGNALS___338 = 158,
    _SC_SPAWN___338 = 159,
    _SC_SPORADIC_SERVER___338 = 160,
    _SC_THREAD_SPORADIC_SERVER___338 = 161,
    _SC_SYSTEM_DATABASE___338 = 162,
    _SC_SYSTEM_DATABASE_R___338 = 163,
    _SC_TIMEOUTS___338 = 164,
    _SC_TYPED_MEMORY_OBJECTS___338 = 165,
    _SC_USER_GROUPS___338 = 166,
    _SC_USER_GROUPS_R___338 = 167,
    _SC_2_PBS___338 = 168,
    _SC_2_PBS_ACCOUNTING___338 = 169,
    _SC_2_PBS_LOCATE___338 = 170,
    _SC_2_PBS_MESSAGE___338 = 171,
    _SC_2_PBS_TRACK___338 = 172,
    _SC_SYMLOOP_MAX___338 = 173,
    _SC_STREAMS___338 = 174,
    _SC_2_PBS_CHECKPOINT___338 = 175,
    _SC_V6_ILP32_OFF32___338 = 176,
    _SC_V6_ILP32_OFFBIG___338 = 177,
    _SC_V6_LP64_OFF64___338 = 178,
    _SC_V6_LPBIG_OFFBIG___338 = 179,
    _SC_HOST_NAME_MAX___338 = 180,
    _SC_TRACE___338 = 181,
    _SC_TRACE_EVENT_FILTER___338 = 182,
    _SC_TRACE_INHERIT___338 = 183,
    _SC_TRACE_LOG___338 = 184,
    _SC_LEVEL1_ICACHE_SIZE___338 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___338 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___338 = 187,
    _SC_LEVEL1_DCACHE_SIZE___338 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___338 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___338 = 190,
    _SC_LEVEL2_CACHE_SIZE___338 = 191,
    _SC_LEVEL2_CACHE_ASSOC___338 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___338 = 193,
    _SC_LEVEL3_CACHE_SIZE___338 = 194,
    _SC_LEVEL3_CACHE_ASSOC___338 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___338 = 196,
    _SC_LEVEL4_CACHE_SIZE___338 = 197,
    _SC_LEVEL4_CACHE_ASSOC___338 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___338 = 199,
    _SC_IPV6___338 = 235,
    _SC_RAW_SOCKETS___338 = 236,
    _SC_V7_ILP32_OFF32___338 = 237,
    _SC_V7_ILP32_OFFBIG___338 = 238,
    _SC_V7_LP64_OFF64___338 = 239,
    _SC_V7_LPBIG_OFFBIG___338 = 240,
    _SC_SS_REPL_MAX___338 = 241,
    _SC_TRACE_EVENT_NAME_MAX___338 = 242,
    _SC_TRACE_NAME_MAX___338 = 243,
    _SC_TRACE_SYS_MAX___338 = 244,
    _SC_TRACE_USER_EVENT_MAX___338 = 245,
    _SC_XOPEN_STREAMS___338 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___338 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___338 = 248
} ;
enum __anonenum_875524036___338 {
    _CS_PATH___338 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___338 = 1,
    _CS_GNU_LIBC_VERSION___338 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___338 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___338 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___338 = 5,
    _CS_LFS_CFLAGS___338 = 1000,
    _CS_LFS_LDFLAGS___338 = 1001,
    _CS_LFS_LIBS___338 = 1002,
    _CS_LFS_LINTFLAGS___338 = 1003,
    _CS_LFS64_CFLAGS___338 = 1004,
    _CS_LFS64_LDFLAGS___338 = 1005,
    _CS_LFS64_LIBS___338 = 1006,
    _CS_LFS64_LINTFLAGS___338 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___338 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___338 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___338 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___338 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___338 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___338 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___338 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___338 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___338 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___338 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___338 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___338 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___338 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___338 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___338 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___338 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___338 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___338 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___338 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___338 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___338 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___338 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___338 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___338 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___338 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___338 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___338 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___338 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___338 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___338 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___338 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___338 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___338 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___338 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___338 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___338 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___338 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___338 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___338 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___338 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___338 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___338 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___338 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___338 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___338 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___338 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___338 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___338 = 1147,
    _CS_V6_ENV___338 = 1148,
    _CS_V7_ENV___338 = 1149
} ;
enum __anonenum_513775621___338 {
    DT_UNKNOWN___338 = 0,
    DT_FIFO___338 = 1,
    DT_CHR___338 = 2,
    DT_DIR___338 = 4,
    DT_BLK___338 = 6,
    DT_REG___338 = 8,
    DT_LNK___338 = 10,
    DT_SOCK___338 = 12,
    DT_WHT___338 = 14
} ;
enum __anonenum_77002343___338 {
    SI_ASYNCNL___338 = -60,
    SI_TKILL___338 = -6,
    SI_SIGIO___338 = -5,
    SI_ASYNCIO___338 = -4,
    SI_MESGQ___338 = -3,
    SI_TIMER___338 = -2,
    SI_QUEUE___338 = -1,
    SI_USER___338 = 0,
    SI_KERNEL___338 = 128
} ;
enum __anonenum_131038172___338 {
    ILL_ILLOPC___338 = 1,
    ILL_ILLOPN___338 = 2,
    ILL_ILLADR___338 = 3,
    ILL_ILLTRP___338 = 4,
    ILL_PRVOPC___338 = 5,
    ILL_PRVREG___338 = 6,
    ILL_COPROC___338 = 7,
    ILL_BADSTK___338 = 8
} ;
enum __anonenum_452038093___338 {
    FPE_INTDIV___338 = 1,
    FPE_INTOVF___338 = 2,
    FPE_FLTDIV___338 = 3,
    FPE_FLTOVF___338 = 4,
    FPE_FLTUND___338 = 5,
    FPE_FLTRES___338 = 6,
    FPE_FLTINV___338 = 7,
    FPE_FLTSUB___338 = 8
} ;
enum __anonenum_30976155___338 {
    SEGV_MAPERR___338 = 1,
    SEGV_ACCERR___338 = 2,
    SEGV_BNDERR___338 = 3,
    SEGV_PKUERR___338 = 4
} ;
enum __anonenum_1036286214___338 {
    BUS_ADRALN___338 = 1,
    BUS_ADRERR___338 = 2,
    BUS_OBJERR___338 = 3,
    BUS_MCEERR_AR___338 = 4,
    BUS_MCEERR_AO___338 = 5
} ;
enum __anonenum_493465559___338 {
    TRAP_BRKPT___338 = 1,
    TRAP_TRACE___338 = 2
} ;
enum __anonenum_23175539___338 {
    CLD_EXITED___338 = 1,
    CLD_KILLED___338 = 2,
    CLD_DUMPED___338 = 3,
    CLD_TRAPPED___338 = 4,
    CLD_STOPPED___338 = 5,
    CLD_CONTINUED___338 = 6
} ;
enum __anonenum_111643124___338 {
    POLL_IN___338 = 1,
    POLL_OUT___338 = 2,
    POLL_MSG___338 = 3,
    POLL_ERR___338 = 4,
    POLL_PRI___338 = 5,
    POLL_HUP___338 = 6
} ;
enum __anonenum_852341087___338 {
    SIGEV_SIGNAL___338 = 0,
    SIGEV_NONE___338 = 1,
    SIGEV_THREAD___338 = 2,
    SIGEV_THREAD_ID___338 = 4
} ;
enum __anonenum_451154152___338 {
    REG_R8___338 = 0,
    REG_R9___338 = 1,
    REG_R10___338 = 2,
    REG_R11___338 = 3,
    REG_R12___338 = 4,
    REG_R13___338 = 5,
    REG_R14___338 = 6,
    REG_R15___338 = 7,
    REG_RDI___338 = 8,
    REG_RSI___338 = 9,
    REG_RBP___338 = 10,
    REG_RBX___338 = 11,
    REG_RDX___338 = 12,
    REG_RAX___338 = 13,
    REG_RCX___338 = 14,
    REG_RSP___338 = 15,
    REG_RIP___338 = 16,
    REG_EFL___338 = 17,
    REG_CSGSFS___338 = 18,
    REG_ERR___338 = 19,
    REG_TRAPNO___338 = 20,
    REG_OLDMASK___338 = 21,
    REG_CR2___338 = 22
} ;
enum __anonenum_57186863___338 {
    SS_ONSTACK___338 = 1,
    SS_DISABLE___338 = 2
} ;
enum __anonenum_83571709___338 {
    MSG_OOB___338 = 1,
    MSG_PEEK___338 = 2,
    MSG_DONTROUTE___338 = 4,
    MSG_TRYHARD___338 = 4,
    MSG_CTRUNC___338 = 8,
    MSG_PROXY___338 = 16,
    MSG_TRUNC___338 = 32,
    MSG_DONTWAIT___338 = 64,
    MSG_EOR___338 = 128,
    MSG_WAITALL___338 = 256,
    MSG_FIN___338 = 512,
    MSG_SYN___338 = 1024,
    MSG_CONFIRM___338 = 2048,
    MSG_RST___338 = 4096,
    MSG_ERRQUEUE___338 = 8192,
    MSG_NOSIGNAL___338 = 16384,
    MSG_MORE___338 = 32768,
    MSG_WAITFORONE___338 = 65536,
    MSG_BATCH___338 = 262144,
    MSG_ZEROCOPY___338 = 67108864,
    MSG_FASTOPEN___338 = 536870912,
    MSG_CMSG_CLOEXEC___338 = 1073741824
} ;
enum __anonenum_617082774___338 {
    SCM_RIGHTS___338 = 1,
    SCM_CREDENTIALS___338 = 2
} ;
enum __anonenum_606441560___338 {
    SHUT_RD___338 = 0,
    SHUT_WR___338 = 1,
    SHUT_RDWR___338 = 2
} ;
enum __anonenum_681669233___338 {
    IPPROTO_IP___338 = 0,
    IPPROTO_ICMP___338 = 1,
    IPPROTO_IGMP___338 = 2,
    IPPROTO_IPIP___338 = 4,
    IPPROTO_TCP___338 = 6,
    IPPROTO_EGP___338 = 8,
    IPPROTO_PUP___338 = 12,
    IPPROTO_UDP___338 = 17,
    IPPROTO_IDP___338 = 22,
    IPPROTO_TP___338 = 29,
    IPPROTO_DCCP___338 = 33,
    IPPROTO_IPV6___338 = 41,
    IPPROTO_RSVP___338 = 46,
    IPPROTO_GRE___338 = 47,
    IPPROTO_ESP___338 = 50,
    IPPROTO_AH___338 = 51,
    IPPROTO_MTP___338 = 92,
    IPPROTO_BEETPH___338 = 94,
    IPPROTO_ENCAP___338 = 98,
    IPPROTO_PIM___338 = 103,
    IPPROTO_COMP___338 = 108,
    IPPROTO_SCTP___338 = 132,
    IPPROTO_UDPLITE___338 = 136,
    IPPROTO_MPLS___338 = 137,
    IPPROTO_RAW___338 = 255,
    IPPROTO_MAX___338 = 256
} ;
enum __anonenum_218739988___338 {
    IPPROTO_HOPOPTS___338 = 0,
    IPPROTO_ROUTING___338 = 43,
    IPPROTO_FRAGMENT___338 = 44,
    IPPROTO_ICMPV6___338 = 58,
    IPPROTO_NONE___338 = 59,
    IPPROTO_DSTOPTS___338 = 60,
    IPPROTO_MH___338 = 135
} ;
enum __anonenum_662268580___338 {
    IPPORT_ECHO___338 = 7,
    IPPORT_DISCARD___338 = 9,
    IPPORT_SYSTAT___338 = 11,
    IPPORT_DAYTIME___338 = 13,
    IPPORT_NETSTAT___338 = 15,
    IPPORT_FTP___338 = 21,
    IPPORT_TELNET___338 = 23,
    IPPORT_SMTP___338 = 25,
    IPPORT_TIMESERVER___338 = 37,
    IPPORT_NAMESERVER___338 = 42,
    IPPORT_WHOIS___338 = 43,
    IPPORT_MTP___338 = 57,
    IPPORT_TFTP___338 = 69,
    IPPORT_RJE___338 = 77,
    IPPORT_FINGER___338 = 79,
    IPPORT_TTYLINK___338 = 87,
    IPPORT_SUPDUP___338 = 95,
    IPPORT_EXECSERVER___338 = 512,
    IPPORT_LOGINSERVER___338 = 513,
    IPPORT_CMDSERVER___338 = 514,
    IPPORT_EFSSERVER___338 = 520,
    IPPORT_BIFFUDP___338 = 512,
    IPPORT_WHOSERVER___338 = 513,
    IPPORT_ROUTESERVER___338 = 520,
    IPPORT_RESERVED___338 = 1024,
    IPPORT_USERRESERVED___338 = 5000
} ;
enum __anonenum_788308992___338 {
    TCP_ESTABLISHED___338 = 1,
    TCP_SYN_SENT___338 = 2,
    TCP_SYN_RECV___338 = 3,
    TCP_FIN_WAIT1___338 = 4,
    TCP_FIN_WAIT2___338 = 5,
    TCP_TIME_WAIT___338 = 6,
    TCP_CLOSE___338 = 7,
    TCP_CLOSE_WAIT___338 = 8,
    TCP_LAST_ACK___338 = 9,
    TCP_LISTEN___338 = 10,
    TCP_CLOSING___338 = 11
} ;
enum __anonenum_221125648___338 {
    TCP_NO_QUEUE___338 = 0,
    TCP_RECV_QUEUE___338 = 1,
    TCP_SEND_QUEUE___338 = 2,
    TCP_QUEUES_NR___338 = 3
} ;
enum __anonenum_34415463___338 {
    PTHREAD_CREATE_JOINABLE___338 = 0,
    PTHREAD_CREATE_DETACHED___338 = 1
} ;
enum __anonenum_303612439___338 {
    PTHREAD_MUTEX_TIMED_NP___338 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___338 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___338 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___338 = 3,
    PTHREAD_MUTEX_NORMAL___338 = 0,
    PTHREAD_MUTEX_RECURSIVE___338 = 1,
    PTHREAD_MUTEX_ERRORCHECK___338 = 2,
    PTHREAD_MUTEX_DEFAULT___338 = 0,
    PTHREAD_MUTEX_FAST_NP___338 = 0
} ;
enum __anonenum_931900394___338 {
    PTHREAD_MUTEX_STALLED___338 = 0,
    PTHREAD_MUTEX_STALLED_NP___338 = 0,
    PTHREAD_MUTEX_ROBUST___338 = 1,
    PTHREAD_MUTEX_ROBUST_NP___338 = 1
} ;
enum __anonenum_205214487___338 {
    PTHREAD_PRIO_NONE___338 = 0,
    PTHREAD_PRIO_INHERIT___338 = 1,
    PTHREAD_PRIO_PROTECT___338 = 2
} ;
enum __anonenum_25043950___338 {
    PTHREAD_RWLOCK_PREFER_READER_NP___338 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___338 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___338 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___338 = 0
} ;
enum __anonenum_436439511___338 {
    PTHREAD_INHERIT_SCHED___338 = 0,
    PTHREAD_EXPLICIT_SCHED___338 = 1
} ;
enum __anonenum_998661166___338 {
    PTHREAD_SCOPE_SYSTEM___338 = 0,
    PTHREAD_SCOPE_PROCESS___338 = 1
} ;
enum __anonenum_146137331___338 {
    PTHREAD_PROCESS_PRIVATE___338 = 0,
    PTHREAD_PROCESS_SHARED___338 = 1
} ;
enum __anonenum_53396917___338 {
    PTHREAD_CANCEL_ENABLE___338 = 0,
    PTHREAD_CANCEL_DISABLE___338 = 1
} ;
enum __anonenum_904563783___338 {
    PTHREAD_CANCEL_DEFERRED___338 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___338 = 1
} ;
enum __anonenum_672052974___338 {
    SSL_CT_VALIDATION_PERMISSIVE___338 = 0,
    SSL_CT_VALIDATION_STRICT___338 = 1
} ;
struct opts_multi_pack_index {
   char const   *object_dir ;
   char const   *preferred_pack ;
   char const   *refs_snapshot ;
   unsigned long batch_size ;
   unsigned int flags ;
   int stdin_packs ;
};
enum __anonenum_437032235___339 {
    _PC_LINK_MAX___339 = 0,
    _PC_MAX_CANON___339 = 1,
    _PC_MAX_INPUT___339 = 2,
    _PC_NAME_MAX___339 = 3,
    _PC_PATH_MAX___339 = 4,
    _PC_PIPE_BUF___339 = 5,
    _PC_CHOWN_RESTRICTED___339 = 6,
    _PC_NO_TRUNC___339 = 7,
    _PC_VDISABLE___339 = 8,
    _PC_SYNC_IO___339 = 9,
    _PC_ASYNC_IO___339 = 10,
    _PC_PRIO_IO___339 = 11,
    _PC_SOCK_MAXBUF___339 = 12,
    _PC_FILESIZEBITS___339 = 13,
    _PC_REC_INCR_XFER_SIZE___339 = 14,
    _PC_REC_MAX_XFER_SIZE___339 = 15,
    _PC_REC_MIN_XFER_SIZE___339 = 16,
    _PC_REC_XFER_ALIGN___339 = 17,
    _PC_ALLOC_SIZE_MIN___339 = 18,
    _PC_SYMLINK_MAX___339 = 19,
    _PC_2_SYMLINKS___339 = 20
} ;
enum __anonenum_315186338___339 {
    _SC_ARG_MAX___339 = 0,
    _SC_CHILD_MAX___339 = 1,
    _SC_CLK_TCK___339 = 2,
    _SC_NGROUPS_MAX___339 = 3,
    _SC_OPEN_MAX___339 = 4,
    _SC_STREAM_MAX___339 = 5,
    _SC_TZNAME_MAX___339 = 6,
    _SC_JOB_CONTROL___339 = 7,
    _SC_SAVED_IDS___339 = 8,
    _SC_REALTIME_SIGNALS___339 = 9,
    _SC_PRIORITY_SCHEDULING___339 = 10,
    _SC_TIMERS___339 = 11,
    _SC_ASYNCHRONOUS_IO___339 = 12,
    _SC_PRIORITIZED_IO___339 = 13,
    _SC_SYNCHRONIZED_IO___339 = 14,
    _SC_FSYNC___339 = 15,
    _SC_MAPPED_FILES___339 = 16,
    _SC_MEMLOCK___339 = 17,
    _SC_MEMLOCK_RANGE___339 = 18,
    _SC_MEMORY_PROTECTION___339 = 19,
    _SC_MESSAGE_PASSING___339 = 20,
    _SC_SEMAPHORES___339 = 21,
    _SC_SHARED_MEMORY_OBJECTS___339 = 22,
    _SC_AIO_LISTIO_MAX___339 = 23,
    _SC_AIO_MAX___339 = 24,
    _SC_AIO_PRIO_DELTA_MAX___339 = 25,
    _SC_DELAYTIMER_MAX___339 = 26,
    _SC_MQ_OPEN_MAX___339 = 27,
    _SC_MQ_PRIO_MAX___339 = 28,
    _SC_VERSION___339 = 29,
    _SC_PAGESIZE___339 = 30,
    _SC_RTSIG_MAX___339 = 31,
    _SC_SEM_NSEMS_MAX___339 = 32,
    _SC_SEM_VALUE_MAX___339 = 33,
    _SC_SIGQUEUE_MAX___339 = 34,
    _SC_TIMER_MAX___339 = 35,
    _SC_BC_BASE_MAX___339 = 36,
    _SC_BC_DIM_MAX___339 = 37,
    _SC_BC_SCALE_MAX___339 = 38,
    _SC_BC_STRING_MAX___339 = 39,
    _SC_COLL_WEIGHTS_MAX___339 = 40,
    _SC_EQUIV_CLASS_MAX___339 = 41,
    _SC_EXPR_NEST_MAX___339 = 42,
    _SC_LINE_MAX___339 = 43,
    _SC_RE_DUP_MAX___339 = 44,
    _SC_CHARCLASS_NAME_MAX___339 = 45,
    _SC_2_VERSION___339 = 46,
    _SC_2_C_BIND___339 = 47,
    _SC_2_C_DEV___339 = 48,
    _SC_2_FORT_DEV___339 = 49,
    _SC_2_FORT_RUN___339 = 50,
    _SC_2_SW_DEV___339 = 51,
    _SC_2_LOCALEDEF___339 = 52,
    _SC_PII___339 = 53,
    _SC_PII_XTI___339 = 54,
    _SC_PII_SOCKET___339 = 55,
    _SC_PII_INTERNET___339 = 56,
    _SC_PII_OSI___339 = 57,
    _SC_POLL___339 = 58,
    _SC_SELECT___339 = 59,
    _SC_UIO_MAXIOV___339 = 60,
    _SC_IOV_MAX___339 = 60,
    _SC_PII_INTERNET_STREAM___339 = 61,
    _SC_PII_INTERNET_DGRAM___339 = 62,
    _SC_PII_OSI_COTS___339 = 63,
    _SC_PII_OSI_CLTS___339 = 64,
    _SC_PII_OSI_M___339 = 65,
    _SC_T_IOV_MAX___339 = 66,
    _SC_THREADS___339 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___339 = 68,
    _SC_GETGR_R_SIZE_MAX___339 = 69,
    _SC_GETPW_R_SIZE_MAX___339 = 70,
    _SC_LOGIN_NAME_MAX___339 = 71,
    _SC_TTY_NAME_MAX___339 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___339 = 73,
    _SC_THREAD_KEYS_MAX___339 = 74,
    _SC_THREAD_STACK_MIN___339 = 75,
    _SC_THREAD_THREADS_MAX___339 = 76,
    _SC_THREAD_ATTR_STACKADDR___339 = 77,
    _SC_THREAD_ATTR_STACKSIZE___339 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___339 = 79,
    _SC_THREAD_PRIO_INHERIT___339 = 80,
    _SC_THREAD_PRIO_PROTECT___339 = 81,
    _SC_THREAD_PROCESS_SHARED___339 = 82,
    _SC_NPROCESSORS_CONF___339 = 83,
    _SC_NPROCESSORS_ONLN___339 = 84,
    _SC_PHYS_PAGES___339 = 85,
    _SC_AVPHYS_PAGES___339 = 86,
    _SC_ATEXIT_MAX___339 = 87,
    _SC_PASS_MAX___339 = 88,
    _SC_XOPEN_VERSION___339 = 89,
    _SC_XOPEN_XCU_VERSION___339 = 90,
    _SC_XOPEN_UNIX___339 = 91,
    _SC_XOPEN_CRYPT___339 = 92,
    _SC_XOPEN_ENH_I18N___339 = 93,
    _SC_XOPEN_SHM___339 = 94,
    _SC_2_CHAR_TERM___339 = 95,
    _SC_2_C_VERSION___339 = 96,
    _SC_2_UPE___339 = 97,
    _SC_XOPEN_XPG2___339 = 98,
    _SC_XOPEN_XPG3___339 = 99,
    _SC_XOPEN_XPG4___339 = 100,
    _SC_CHAR_BIT___339 = 101,
    _SC_CHAR_MAX___339 = 102,
    _SC_CHAR_MIN___339 = 103,
    _SC_INT_MAX___339 = 104,
    _SC_INT_MIN___339 = 105,
    _SC_LONG_BIT___339 = 106,
    _SC_WORD_BIT___339 = 107,
    _SC_MB_LEN_MAX___339 = 108,
    _SC_NZERO___339 = 109,
    _SC_SSIZE_MAX___339 = 110,
    _SC_SCHAR_MAX___339 = 111,
    _SC_SCHAR_MIN___339 = 112,
    _SC_SHRT_MAX___339 = 113,
    _SC_SHRT_MIN___339 = 114,
    _SC_UCHAR_MAX___339 = 115,
    _SC_UINT_MAX___339 = 116,
    _SC_ULONG_MAX___339 = 117,
    _SC_USHRT_MAX___339 = 118,
    _SC_NL_ARGMAX___339 = 119,
    _SC_NL_LANGMAX___339 = 120,
    _SC_NL_MSGMAX___339 = 121,
    _SC_NL_NMAX___339 = 122,
    _SC_NL_SETMAX___339 = 123,
    _SC_NL_TEXTMAX___339 = 124,
    _SC_XBS5_ILP32_OFF32___339 = 125,
    _SC_XBS5_ILP32_OFFBIG___339 = 126,
    _SC_XBS5_LP64_OFF64___339 = 127,
    _SC_XBS5_LPBIG_OFFBIG___339 = 128,
    _SC_XOPEN_LEGACY___339 = 129,
    _SC_XOPEN_REALTIME___339 = 130,
    _SC_XOPEN_REALTIME_THREADS___339 = 131,
    _SC_ADVISORY_INFO___339 = 132,
    _SC_BARRIERS___339 = 133,
    _SC_BASE___339 = 134,
    _SC_C_LANG_SUPPORT___339 = 135,
    _SC_C_LANG_SUPPORT_R___339 = 136,
    _SC_CLOCK_SELECTION___339 = 137,
    _SC_CPUTIME___339 = 138,
    _SC_THREAD_CPUTIME___339 = 139,
    _SC_DEVICE_IO___339 = 140,
    _SC_DEVICE_SPECIFIC___339 = 141,
    _SC_DEVICE_SPECIFIC_R___339 = 142,
    _SC_FD_MGMT___339 = 143,
    _SC_FIFO___339 = 144,
    _SC_PIPE___339 = 145,
    _SC_FILE_ATTRIBUTES___339 = 146,
    _SC_FILE_LOCKING___339 = 147,
    _SC_FILE_SYSTEM___339 = 148,
    _SC_MONOTONIC_CLOCK___339 = 149,
    _SC_MULTI_PROCESS___339 = 150,
    _SC_SINGLE_PROCESS___339 = 151,
    _SC_NETWORKING___339 = 152,
    _SC_READER_WRITER_LOCKS___339 = 153,
    _SC_SPIN_LOCKS___339 = 154,
    _SC_REGEXP___339 = 155,
    _SC_REGEX_VERSION___339 = 156,
    _SC_SHELL___339 = 157,
    _SC_SIGNALS___339 = 158,
    _SC_SPAWN___339 = 159,
    _SC_SPORADIC_SERVER___339 = 160,
    _SC_THREAD_SPORADIC_SERVER___339 = 161,
    _SC_SYSTEM_DATABASE___339 = 162,
    _SC_SYSTEM_DATABASE_R___339 = 163,
    _SC_TIMEOUTS___339 = 164,
    _SC_TYPED_MEMORY_OBJECTS___339 = 165,
    _SC_USER_GROUPS___339 = 166,
    _SC_USER_GROUPS_R___339 = 167,
    _SC_2_PBS___339 = 168,
    _SC_2_PBS_ACCOUNTING___339 = 169,
    _SC_2_PBS_LOCATE___339 = 170,
    _SC_2_PBS_MESSAGE___339 = 171,
    _SC_2_PBS_TRACK___339 = 172,
    _SC_SYMLOOP_MAX___339 = 173,
    _SC_STREAMS___339 = 174,
    _SC_2_PBS_CHECKPOINT___339 = 175,
    _SC_V6_ILP32_OFF32___339 = 176,
    _SC_V6_ILP32_OFFBIG___339 = 177,
    _SC_V6_LP64_OFF64___339 = 178,
    _SC_V6_LPBIG_OFFBIG___339 = 179,
    _SC_HOST_NAME_MAX___339 = 180,
    _SC_TRACE___339 = 181,
    _SC_TRACE_EVENT_FILTER___339 = 182,
    _SC_TRACE_INHERIT___339 = 183,
    _SC_TRACE_LOG___339 = 184,
    _SC_LEVEL1_ICACHE_SIZE___339 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___339 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___339 = 187,
    _SC_LEVEL1_DCACHE_SIZE___339 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___339 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___339 = 190,
    _SC_LEVEL2_CACHE_SIZE___339 = 191,
    _SC_LEVEL2_CACHE_ASSOC___339 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___339 = 193,
    _SC_LEVEL3_CACHE_SIZE___339 = 194,
    _SC_LEVEL3_CACHE_ASSOC___339 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___339 = 196,
    _SC_LEVEL4_CACHE_SIZE___339 = 197,
    _SC_LEVEL4_CACHE_ASSOC___339 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___339 = 199,
    _SC_IPV6___339 = 235,
    _SC_RAW_SOCKETS___339 = 236,
    _SC_V7_ILP32_OFF32___339 = 237,
    _SC_V7_ILP32_OFFBIG___339 = 238,
    _SC_V7_LP64_OFF64___339 = 239,
    _SC_V7_LPBIG_OFFBIG___339 = 240,
    _SC_SS_REPL_MAX___339 = 241,
    _SC_TRACE_EVENT_NAME_MAX___339 = 242,
    _SC_TRACE_NAME_MAX___339 = 243,
    _SC_TRACE_SYS_MAX___339 = 244,
    _SC_TRACE_USER_EVENT_MAX___339 = 245,
    _SC_XOPEN_STREAMS___339 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___339 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___339 = 248
} ;
enum __anonenum_875524036___339 {
    _CS_PATH___339 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___339 = 1,
    _CS_GNU_LIBC_VERSION___339 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___339 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___339 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___339 = 5,
    _CS_LFS_CFLAGS___339 = 1000,
    _CS_LFS_LDFLAGS___339 = 1001,
    _CS_LFS_LIBS___339 = 1002,
    _CS_LFS_LINTFLAGS___339 = 1003,
    _CS_LFS64_CFLAGS___339 = 1004,
    _CS_LFS64_LDFLAGS___339 = 1005,
    _CS_LFS64_LIBS___339 = 1006,
    _CS_LFS64_LINTFLAGS___339 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___339 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___339 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___339 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___339 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___339 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___339 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___339 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___339 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___339 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___339 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___339 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___339 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___339 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___339 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___339 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___339 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___339 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___339 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___339 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___339 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___339 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___339 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___339 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___339 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___339 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___339 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___339 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___339 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___339 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___339 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___339 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___339 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___339 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___339 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___339 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___339 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___339 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___339 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___339 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___339 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___339 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___339 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___339 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___339 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___339 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___339 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___339 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___339 = 1147,
    _CS_V6_ENV___339 = 1148,
    _CS_V7_ENV___339 = 1149
} ;
enum __anonenum_513775621___339 {
    DT_UNKNOWN___339 = 0,
    DT_FIFO___339 = 1,
    DT_CHR___339 = 2,
    DT_DIR___339 = 4,
    DT_BLK___339 = 6,
    DT_REG___339 = 8,
    DT_LNK___339 = 10,
    DT_SOCK___339 = 12,
    DT_WHT___339 = 14
} ;
enum __anonenum_77002343___339 {
    SI_ASYNCNL___339 = -60,
    SI_TKILL___339 = -6,
    SI_SIGIO___339 = -5,
    SI_ASYNCIO___339 = -4,
    SI_MESGQ___339 = -3,
    SI_TIMER___339 = -2,
    SI_QUEUE___339 = -1,
    SI_USER___339 = 0,
    SI_KERNEL___339 = 128
} ;
enum __anonenum_131038172___339 {
    ILL_ILLOPC___339 = 1,
    ILL_ILLOPN___339 = 2,
    ILL_ILLADR___339 = 3,
    ILL_ILLTRP___339 = 4,
    ILL_PRVOPC___339 = 5,
    ILL_PRVREG___339 = 6,
    ILL_COPROC___339 = 7,
    ILL_BADSTK___339 = 8
} ;
enum __anonenum_452038093___339 {
    FPE_INTDIV___339 = 1,
    FPE_INTOVF___339 = 2,
    FPE_FLTDIV___339 = 3,
    FPE_FLTOVF___339 = 4,
    FPE_FLTUND___339 = 5,
    FPE_FLTRES___339 = 6,
    FPE_FLTINV___339 = 7,
    FPE_FLTSUB___339 = 8
} ;
enum __anonenum_30976155___339 {
    SEGV_MAPERR___339 = 1,
    SEGV_ACCERR___339 = 2,
    SEGV_BNDERR___339 = 3,
    SEGV_PKUERR___339 = 4
} ;
enum __anonenum_1036286214___339 {
    BUS_ADRALN___339 = 1,
    BUS_ADRERR___339 = 2,
    BUS_OBJERR___339 = 3,
    BUS_MCEERR_AR___339 = 4,
    BUS_MCEERR_AO___339 = 5
} ;
enum __anonenum_493465559___339 {
    TRAP_BRKPT___339 = 1,
    TRAP_TRACE___339 = 2
} ;
enum __anonenum_23175539___339 {
    CLD_EXITED___339 = 1,
    CLD_KILLED___339 = 2,
    CLD_DUMPED___339 = 3,
    CLD_TRAPPED___339 = 4,
    CLD_STOPPED___339 = 5,
    CLD_CONTINUED___339 = 6
} ;
enum __anonenum_111643124___339 {
    POLL_IN___339 = 1,
    POLL_OUT___339 = 2,
    POLL_MSG___339 = 3,
    POLL_ERR___339 = 4,
    POLL_PRI___339 = 5,
    POLL_HUP___339 = 6
} ;
enum __anonenum_852341087___339 {
    SIGEV_SIGNAL___339 = 0,
    SIGEV_NONE___339 = 1,
    SIGEV_THREAD___339 = 2,
    SIGEV_THREAD_ID___339 = 4
} ;
enum __anonenum_451154152___339 {
    REG_R8___339 = 0,
    REG_R9___339 = 1,
    REG_R10___339 = 2,
    REG_R11___339 = 3,
    REG_R12___339 = 4,
    REG_R13___339 = 5,
    REG_R14___339 = 6,
    REG_R15___339 = 7,
    REG_RDI___339 = 8,
    REG_RSI___339 = 9,
    REG_RBP___339 = 10,
    REG_RBX___339 = 11,
    REG_RDX___339 = 12,
    REG_RAX___339 = 13,
    REG_RCX___339 = 14,
    REG_RSP___339 = 15,
    REG_RIP___339 = 16,
    REG_EFL___339 = 17,
    REG_CSGSFS___339 = 18,
    REG_ERR___339 = 19,
    REG_TRAPNO___339 = 20,
    REG_OLDMASK___339 = 21,
    REG_CR2___339 = 22
} ;
enum __anonenum_57186863___339 {
    SS_ONSTACK___339 = 1,
    SS_DISABLE___339 = 2
} ;
enum __anonenum_83571709___339 {
    MSG_OOB___339 = 1,
    MSG_PEEK___339 = 2,
    MSG_DONTROUTE___339 = 4,
    MSG_TRYHARD___339 = 4,
    MSG_CTRUNC___339 = 8,
    MSG_PROXY___339 = 16,
    MSG_TRUNC___339 = 32,
    MSG_DONTWAIT___339 = 64,
    MSG_EOR___339 = 128,
    MSG_WAITALL___339 = 256,
    MSG_FIN___339 = 512,
    MSG_SYN___339 = 1024,
    MSG_CONFIRM___339 = 2048,
    MSG_RST___339 = 4096,
    MSG_ERRQUEUE___339 = 8192,
    MSG_NOSIGNAL___339 = 16384,
    MSG_MORE___339 = 32768,
    MSG_WAITFORONE___339 = 65536,
    MSG_BATCH___339 = 262144,
    MSG_ZEROCOPY___339 = 67108864,
    MSG_FASTOPEN___339 = 536870912,
    MSG_CMSG_CLOEXEC___339 = 1073741824
} ;
enum __anonenum_617082774___339 {
    SCM_RIGHTS___339 = 1,
    SCM_CREDENTIALS___339 = 2
} ;
enum __anonenum_606441560___339 {
    SHUT_RD___339 = 0,
    SHUT_WR___339 = 1,
    SHUT_RDWR___339 = 2
} ;
enum __anonenum_681669233___339 {
    IPPROTO_IP___339 = 0,
    IPPROTO_ICMP___339 = 1,
    IPPROTO_IGMP___339 = 2,
    IPPROTO_IPIP___339 = 4,
    IPPROTO_TCP___339 = 6,
    IPPROTO_EGP___339 = 8,
    IPPROTO_PUP___339 = 12,
    IPPROTO_UDP___339 = 17,
    IPPROTO_IDP___339 = 22,
    IPPROTO_TP___339 = 29,
    IPPROTO_DCCP___339 = 33,
    IPPROTO_IPV6___339 = 41,
    IPPROTO_RSVP___339 = 46,
    IPPROTO_GRE___339 = 47,
    IPPROTO_ESP___339 = 50,
    IPPROTO_AH___339 = 51,
    IPPROTO_MTP___339 = 92,
    IPPROTO_BEETPH___339 = 94,
    IPPROTO_ENCAP___339 = 98,
    IPPROTO_PIM___339 = 103,
    IPPROTO_COMP___339 = 108,
    IPPROTO_SCTP___339 = 132,
    IPPROTO_UDPLITE___339 = 136,
    IPPROTO_MPLS___339 = 137,
    IPPROTO_RAW___339 = 255,
    IPPROTO_MAX___339 = 256
} ;
enum __anonenum_218739988___339 {
    IPPROTO_HOPOPTS___339 = 0,
    IPPROTO_ROUTING___339 = 43,
    IPPROTO_FRAGMENT___339 = 44,
    IPPROTO_ICMPV6___339 = 58,
    IPPROTO_NONE___339 = 59,
    IPPROTO_DSTOPTS___339 = 60,
    IPPROTO_MH___339 = 135
} ;
enum __anonenum_662268580___339 {
    IPPORT_ECHO___339 = 7,
    IPPORT_DISCARD___339 = 9,
    IPPORT_SYSTAT___339 = 11,
    IPPORT_DAYTIME___339 = 13,
    IPPORT_NETSTAT___339 = 15,
    IPPORT_FTP___339 = 21,
    IPPORT_TELNET___339 = 23,
    IPPORT_SMTP___339 = 25,
    IPPORT_TIMESERVER___339 = 37,
    IPPORT_NAMESERVER___339 = 42,
    IPPORT_WHOIS___339 = 43,
    IPPORT_MTP___339 = 57,
    IPPORT_TFTP___339 = 69,
    IPPORT_RJE___339 = 77,
    IPPORT_FINGER___339 = 79,
    IPPORT_TTYLINK___339 = 87,
    IPPORT_SUPDUP___339 = 95,
    IPPORT_EXECSERVER___339 = 512,
    IPPORT_LOGINSERVER___339 = 513,
    IPPORT_CMDSERVER___339 = 514,
    IPPORT_EFSSERVER___339 = 520,
    IPPORT_BIFFUDP___339 = 512,
    IPPORT_WHOSERVER___339 = 513,
    IPPORT_ROUTESERVER___339 = 520,
    IPPORT_RESERVED___339 = 1024,
    IPPORT_USERRESERVED___339 = 5000
} ;
enum __anonenum_788308992___339 {
    TCP_ESTABLISHED___339 = 1,
    TCP_SYN_SENT___339 = 2,
    TCP_SYN_RECV___339 = 3,
    TCP_FIN_WAIT1___339 = 4,
    TCP_FIN_WAIT2___339 = 5,
    TCP_TIME_WAIT___339 = 6,
    TCP_CLOSE___339 = 7,
    TCP_CLOSE_WAIT___339 = 8,
    TCP_LAST_ACK___339 = 9,
    TCP_LISTEN___339 = 10,
    TCP_CLOSING___339 = 11
} ;
enum __anonenum_221125648___339 {
    TCP_NO_QUEUE___339 = 0,
    TCP_RECV_QUEUE___339 = 1,
    TCP_SEND_QUEUE___339 = 2,
    TCP_QUEUES_NR___339 = 3
} ;
enum __anonenum_34415463___339 {
    PTHREAD_CREATE_JOINABLE___339 = 0,
    PTHREAD_CREATE_DETACHED___339 = 1
} ;
enum __anonenum_303612439___339 {
    PTHREAD_MUTEX_TIMED_NP___339 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___339 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___339 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___339 = 3,
    PTHREAD_MUTEX_NORMAL___339 = 0,
    PTHREAD_MUTEX_RECURSIVE___339 = 1,
    PTHREAD_MUTEX_ERRORCHECK___339 = 2,
    PTHREAD_MUTEX_DEFAULT___339 = 0,
    PTHREAD_MUTEX_FAST_NP___339 = 0
} ;
enum __anonenum_931900394___339 {
    PTHREAD_MUTEX_STALLED___339 = 0,
    PTHREAD_MUTEX_STALLED_NP___339 = 0,
    PTHREAD_MUTEX_ROBUST___339 = 1,
    PTHREAD_MUTEX_ROBUST_NP___339 = 1
} ;
enum __anonenum_205214487___339 {
    PTHREAD_PRIO_NONE___339 = 0,
    PTHREAD_PRIO_INHERIT___339 = 1,
    PTHREAD_PRIO_PROTECT___339 = 2
} ;
enum __anonenum_25043950___339 {
    PTHREAD_RWLOCK_PREFER_READER_NP___339 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___339 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___339 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___339 = 0
} ;
enum __anonenum_436439511___339 {
    PTHREAD_INHERIT_SCHED___339 = 0,
    PTHREAD_EXPLICIT_SCHED___339 = 1
} ;
enum __anonenum_998661166___339 {
    PTHREAD_SCOPE_SYSTEM___339 = 0,
    PTHREAD_SCOPE_PROCESS___339 = 1
} ;
enum __anonenum_146137331___339 {
    PTHREAD_PROCESS_PRIVATE___339 = 0,
    PTHREAD_PROCESS_SHARED___339 = 1
} ;
enum __anonenum_53396917___339 {
    PTHREAD_CANCEL_ENABLE___339 = 0,
    PTHREAD_CANCEL_DISABLE___339 = 1
} ;
enum __anonenum_904563783___339 {
    PTHREAD_CANCEL_DEFERRED___339 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___339 = 1
} ;
enum __anonenum_672052974___339 {
    SSL_CT_VALIDATION_PERMISSIVE___339 = 0,
    SSL_CT_VALIDATION_STRICT___339 = 1
} ;
enum __anonenum_561748495___27 {
    RECURSE_SUBMODULES_ONLY___27 = -5,
    RECURSE_SUBMODULES_CHECK___27 = -4,
    RECURSE_SUBMODULES_ERROR___27 = -3,
    RECURSE_SUBMODULES_NONE___27 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___27 = -1,
    RECURSE_SUBMODULES_OFF___27 = 0,
    RECURSE_SUBMODULES_DEFAULT___27 = 1,
    RECURSE_SUBMODULES_ON___27 = 2
} ;
enum update_mode {
    BOTH = 0,
    WORKING_DIRECTORY = 1,
    INDEX = 2,
    SPARSE = 3
} ;
enum __anonenum_437032235___340 {
    _PC_LINK_MAX___340 = 0,
    _PC_MAX_CANON___340 = 1,
    _PC_MAX_INPUT___340 = 2,
    _PC_NAME_MAX___340 = 3,
    _PC_PATH_MAX___340 = 4,
    _PC_PIPE_BUF___340 = 5,
    _PC_CHOWN_RESTRICTED___340 = 6,
    _PC_NO_TRUNC___340 = 7,
    _PC_VDISABLE___340 = 8,
    _PC_SYNC_IO___340 = 9,
    _PC_ASYNC_IO___340 = 10,
    _PC_PRIO_IO___340 = 11,
    _PC_SOCK_MAXBUF___340 = 12,
    _PC_FILESIZEBITS___340 = 13,
    _PC_REC_INCR_XFER_SIZE___340 = 14,
    _PC_REC_MAX_XFER_SIZE___340 = 15,
    _PC_REC_MIN_XFER_SIZE___340 = 16,
    _PC_REC_XFER_ALIGN___340 = 17,
    _PC_ALLOC_SIZE_MIN___340 = 18,
    _PC_SYMLINK_MAX___340 = 19,
    _PC_2_SYMLINKS___340 = 20
} ;
enum __anonenum_315186338___340 {
    _SC_ARG_MAX___340 = 0,
    _SC_CHILD_MAX___340 = 1,
    _SC_CLK_TCK___340 = 2,
    _SC_NGROUPS_MAX___340 = 3,
    _SC_OPEN_MAX___340 = 4,
    _SC_STREAM_MAX___340 = 5,
    _SC_TZNAME_MAX___340 = 6,
    _SC_JOB_CONTROL___340 = 7,
    _SC_SAVED_IDS___340 = 8,
    _SC_REALTIME_SIGNALS___340 = 9,
    _SC_PRIORITY_SCHEDULING___340 = 10,
    _SC_TIMERS___340 = 11,
    _SC_ASYNCHRONOUS_IO___340 = 12,
    _SC_PRIORITIZED_IO___340 = 13,
    _SC_SYNCHRONIZED_IO___340 = 14,
    _SC_FSYNC___340 = 15,
    _SC_MAPPED_FILES___340 = 16,
    _SC_MEMLOCK___340 = 17,
    _SC_MEMLOCK_RANGE___340 = 18,
    _SC_MEMORY_PROTECTION___340 = 19,
    _SC_MESSAGE_PASSING___340 = 20,
    _SC_SEMAPHORES___340 = 21,
    _SC_SHARED_MEMORY_OBJECTS___340 = 22,
    _SC_AIO_LISTIO_MAX___340 = 23,
    _SC_AIO_MAX___340 = 24,
    _SC_AIO_PRIO_DELTA_MAX___340 = 25,
    _SC_DELAYTIMER_MAX___340 = 26,
    _SC_MQ_OPEN_MAX___340 = 27,
    _SC_MQ_PRIO_MAX___340 = 28,
    _SC_VERSION___340 = 29,
    _SC_PAGESIZE___340 = 30,
    _SC_RTSIG_MAX___340 = 31,
    _SC_SEM_NSEMS_MAX___340 = 32,
    _SC_SEM_VALUE_MAX___340 = 33,
    _SC_SIGQUEUE_MAX___340 = 34,
    _SC_TIMER_MAX___340 = 35,
    _SC_BC_BASE_MAX___340 = 36,
    _SC_BC_DIM_MAX___340 = 37,
    _SC_BC_SCALE_MAX___340 = 38,
    _SC_BC_STRING_MAX___340 = 39,
    _SC_COLL_WEIGHTS_MAX___340 = 40,
    _SC_EQUIV_CLASS_MAX___340 = 41,
    _SC_EXPR_NEST_MAX___340 = 42,
    _SC_LINE_MAX___340 = 43,
    _SC_RE_DUP_MAX___340 = 44,
    _SC_CHARCLASS_NAME_MAX___340 = 45,
    _SC_2_VERSION___340 = 46,
    _SC_2_C_BIND___340 = 47,
    _SC_2_C_DEV___340 = 48,
    _SC_2_FORT_DEV___340 = 49,
    _SC_2_FORT_RUN___340 = 50,
    _SC_2_SW_DEV___340 = 51,
    _SC_2_LOCALEDEF___340 = 52,
    _SC_PII___340 = 53,
    _SC_PII_XTI___340 = 54,
    _SC_PII_SOCKET___340 = 55,
    _SC_PII_INTERNET___340 = 56,
    _SC_PII_OSI___340 = 57,
    _SC_POLL___340 = 58,
    _SC_SELECT___340 = 59,
    _SC_UIO_MAXIOV___340 = 60,
    _SC_IOV_MAX___340 = 60,
    _SC_PII_INTERNET_STREAM___340 = 61,
    _SC_PII_INTERNET_DGRAM___340 = 62,
    _SC_PII_OSI_COTS___340 = 63,
    _SC_PII_OSI_CLTS___340 = 64,
    _SC_PII_OSI_M___340 = 65,
    _SC_T_IOV_MAX___340 = 66,
    _SC_THREADS___340 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___340 = 68,
    _SC_GETGR_R_SIZE_MAX___340 = 69,
    _SC_GETPW_R_SIZE_MAX___340 = 70,
    _SC_LOGIN_NAME_MAX___340 = 71,
    _SC_TTY_NAME_MAX___340 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___340 = 73,
    _SC_THREAD_KEYS_MAX___340 = 74,
    _SC_THREAD_STACK_MIN___340 = 75,
    _SC_THREAD_THREADS_MAX___340 = 76,
    _SC_THREAD_ATTR_STACKADDR___340 = 77,
    _SC_THREAD_ATTR_STACKSIZE___340 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___340 = 79,
    _SC_THREAD_PRIO_INHERIT___340 = 80,
    _SC_THREAD_PRIO_PROTECT___340 = 81,
    _SC_THREAD_PROCESS_SHARED___340 = 82,
    _SC_NPROCESSORS_CONF___340 = 83,
    _SC_NPROCESSORS_ONLN___340 = 84,
    _SC_PHYS_PAGES___340 = 85,
    _SC_AVPHYS_PAGES___340 = 86,
    _SC_ATEXIT_MAX___340 = 87,
    _SC_PASS_MAX___340 = 88,
    _SC_XOPEN_VERSION___340 = 89,
    _SC_XOPEN_XCU_VERSION___340 = 90,
    _SC_XOPEN_UNIX___340 = 91,
    _SC_XOPEN_CRYPT___340 = 92,
    _SC_XOPEN_ENH_I18N___340 = 93,
    _SC_XOPEN_SHM___340 = 94,
    _SC_2_CHAR_TERM___340 = 95,
    _SC_2_C_VERSION___340 = 96,
    _SC_2_UPE___340 = 97,
    _SC_XOPEN_XPG2___340 = 98,
    _SC_XOPEN_XPG3___340 = 99,
    _SC_XOPEN_XPG4___340 = 100,
    _SC_CHAR_BIT___340 = 101,
    _SC_CHAR_MAX___340 = 102,
    _SC_CHAR_MIN___340 = 103,
    _SC_INT_MAX___340 = 104,
    _SC_INT_MIN___340 = 105,
    _SC_LONG_BIT___340 = 106,
    _SC_WORD_BIT___340 = 107,
    _SC_MB_LEN_MAX___340 = 108,
    _SC_NZERO___340 = 109,
    _SC_SSIZE_MAX___340 = 110,
    _SC_SCHAR_MAX___340 = 111,
    _SC_SCHAR_MIN___340 = 112,
    _SC_SHRT_MAX___340 = 113,
    _SC_SHRT_MIN___340 = 114,
    _SC_UCHAR_MAX___340 = 115,
    _SC_UINT_MAX___340 = 116,
    _SC_ULONG_MAX___340 = 117,
    _SC_USHRT_MAX___340 = 118,
    _SC_NL_ARGMAX___340 = 119,
    _SC_NL_LANGMAX___340 = 120,
    _SC_NL_MSGMAX___340 = 121,
    _SC_NL_NMAX___340 = 122,
    _SC_NL_SETMAX___340 = 123,
    _SC_NL_TEXTMAX___340 = 124,
    _SC_XBS5_ILP32_OFF32___340 = 125,
    _SC_XBS5_ILP32_OFFBIG___340 = 126,
    _SC_XBS5_LP64_OFF64___340 = 127,
    _SC_XBS5_LPBIG_OFFBIG___340 = 128,
    _SC_XOPEN_LEGACY___340 = 129,
    _SC_XOPEN_REALTIME___340 = 130,
    _SC_XOPEN_REALTIME_THREADS___340 = 131,
    _SC_ADVISORY_INFO___340 = 132,
    _SC_BARRIERS___340 = 133,
    _SC_BASE___340 = 134,
    _SC_C_LANG_SUPPORT___340 = 135,
    _SC_C_LANG_SUPPORT_R___340 = 136,
    _SC_CLOCK_SELECTION___340 = 137,
    _SC_CPUTIME___340 = 138,
    _SC_THREAD_CPUTIME___340 = 139,
    _SC_DEVICE_IO___340 = 140,
    _SC_DEVICE_SPECIFIC___340 = 141,
    _SC_DEVICE_SPECIFIC_R___340 = 142,
    _SC_FD_MGMT___340 = 143,
    _SC_FIFO___340 = 144,
    _SC_PIPE___340 = 145,
    _SC_FILE_ATTRIBUTES___340 = 146,
    _SC_FILE_LOCKING___340 = 147,
    _SC_FILE_SYSTEM___340 = 148,
    _SC_MONOTONIC_CLOCK___340 = 149,
    _SC_MULTI_PROCESS___340 = 150,
    _SC_SINGLE_PROCESS___340 = 151,
    _SC_NETWORKING___340 = 152,
    _SC_READER_WRITER_LOCKS___340 = 153,
    _SC_SPIN_LOCKS___340 = 154,
    _SC_REGEXP___340 = 155,
    _SC_REGEX_VERSION___340 = 156,
    _SC_SHELL___340 = 157,
    _SC_SIGNALS___340 = 158,
    _SC_SPAWN___340 = 159,
    _SC_SPORADIC_SERVER___340 = 160,
    _SC_THREAD_SPORADIC_SERVER___340 = 161,
    _SC_SYSTEM_DATABASE___340 = 162,
    _SC_SYSTEM_DATABASE_R___340 = 163,
    _SC_TIMEOUTS___340 = 164,
    _SC_TYPED_MEMORY_OBJECTS___340 = 165,
    _SC_USER_GROUPS___340 = 166,
    _SC_USER_GROUPS_R___340 = 167,
    _SC_2_PBS___340 = 168,
    _SC_2_PBS_ACCOUNTING___340 = 169,
    _SC_2_PBS_LOCATE___340 = 170,
    _SC_2_PBS_MESSAGE___340 = 171,
    _SC_2_PBS_TRACK___340 = 172,
    _SC_SYMLOOP_MAX___340 = 173,
    _SC_STREAMS___340 = 174,
    _SC_2_PBS_CHECKPOINT___340 = 175,
    _SC_V6_ILP32_OFF32___340 = 176,
    _SC_V6_ILP32_OFFBIG___340 = 177,
    _SC_V6_LP64_OFF64___340 = 178,
    _SC_V6_LPBIG_OFFBIG___340 = 179,
    _SC_HOST_NAME_MAX___340 = 180,
    _SC_TRACE___340 = 181,
    _SC_TRACE_EVENT_FILTER___340 = 182,
    _SC_TRACE_INHERIT___340 = 183,
    _SC_TRACE_LOG___340 = 184,
    _SC_LEVEL1_ICACHE_SIZE___340 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___340 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___340 = 187,
    _SC_LEVEL1_DCACHE_SIZE___340 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___340 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___340 = 190,
    _SC_LEVEL2_CACHE_SIZE___340 = 191,
    _SC_LEVEL2_CACHE_ASSOC___340 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___340 = 193,
    _SC_LEVEL3_CACHE_SIZE___340 = 194,
    _SC_LEVEL3_CACHE_ASSOC___340 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___340 = 196,
    _SC_LEVEL4_CACHE_SIZE___340 = 197,
    _SC_LEVEL4_CACHE_ASSOC___340 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___340 = 199,
    _SC_IPV6___340 = 235,
    _SC_RAW_SOCKETS___340 = 236,
    _SC_V7_ILP32_OFF32___340 = 237,
    _SC_V7_ILP32_OFFBIG___340 = 238,
    _SC_V7_LP64_OFF64___340 = 239,
    _SC_V7_LPBIG_OFFBIG___340 = 240,
    _SC_SS_REPL_MAX___340 = 241,
    _SC_TRACE_EVENT_NAME_MAX___340 = 242,
    _SC_TRACE_NAME_MAX___340 = 243,
    _SC_TRACE_SYS_MAX___340 = 244,
    _SC_TRACE_USER_EVENT_MAX___340 = 245,
    _SC_XOPEN_STREAMS___340 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___340 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___340 = 248
} ;
enum __anonenum_875524036___340 {
    _CS_PATH___340 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___340 = 1,
    _CS_GNU_LIBC_VERSION___340 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___340 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___340 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___340 = 5,
    _CS_LFS_CFLAGS___340 = 1000,
    _CS_LFS_LDFLAGS___340 = 1001,
    _CS_LFS_LIBS___340 = 1002,
    _CS_LFS_LINTFLAGS___340 = 1003,
    _CS_LFS64_CFLAGS___340 = 1004,
    _CS_LFS64_LDFLAGS___340 = 1005,
    _CS_LFS64_LIBS___340 = 1006,
    _CS_LFS64_LINTFLAGS___340 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___340 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___340 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___340 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___340 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___340 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___340 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___340 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___340 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___340 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___340 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___340 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___340 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___340 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___340 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___340 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___340 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___340 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___340 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___340 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___340 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___340 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___340 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___340 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___340 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___340 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___340 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___340 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___340 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___340 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___340 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___340 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___340 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___340 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___340 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___340 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___340 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___340 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___340 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___340 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___340 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___340 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___340 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___340 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___340 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___340 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___340 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___340 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___340 = 1147,
    _CS_V6_ENV___340 = 1148,
    _CS_V7_ENV___340 = 1149
} ;
enum __anonenum_513775621___340 {
    DT_UNKNOWN___340 = 0,
    DT_FIFO___340 = 1,
    DT_CHR___340 = 2,
    DT_DIR___340 = 4,
    DT_BLK___340 = 6,
    DT_REG___340 = 8,
    DT_LNK___340 = 10,
    DT_SOCK___340 = 12,
    DT_WHT___340 = 14
} ;
enum __anonenum_77002343___340 {
    SI_ASYNCNL___340 = -60,
    SI_TKILL___340 = -6,
    SI_SIGIO___340 = -5,
    SI_ASYNCIO___340 = -4,
    SI_MESGQ___340 = -3,
    SI_TIMER___340 = -2,
    SI_QUEUE___340 = -1,
    SI_USER___340 = 0,
    SI_KERNEL___340 = 128
} ;
enum __anonenum_131038172___340 {
    ILL_ILLOPC___340 = 1,
    ILL_ILLOPN___340 = 2,
    ILL_ILLADR___340 = 3,
    ILL_ILLTRP___340 = 4,
    ILL_PRVOPC___340 = 5,
    ILL_PRVREG___340 = 6,
    ILL_COPROC___340 = 7,
    ILL_BADSTK___340 = 8
} ;
enum __anonenum_452038093___340 {
    FPE_INTDIV___340 = 1,
    FPE_INTOVF___340 = 2,
    FPE_FLTDIV___340 = 3,
    FPE_FLTOVF___340 = 4,
    FPE_FLTUND___340 = 5,
    FPE_FLTRES___340 = 6,
    FPE_FLTINV___340 = 7,
    FPE_FLTSUB___340 = 8
} ;
enum __anonenum_30976155___340 {
    SEGV_MAPERR___340 = 1,
    SEGV_ACCERR___340 = 2,
    SEGV_BNDERR___340 = 3,
    SEGV_PKUERR___340 = 4
} ;
enum __anonenum_1036286214___340 {
    BUS_ADRALN___340 = 1,
    BUS_ADRERR___340 = 2,
    BUS_OBJERR___340 = 3,
    BUS_MCEERR_AR___340 = 4,
    BUS_MCEERR_AO___340 = 5
} ;
enum __anonenum_493465559___340 {
    TRAP_BRKPT___340 = 1,
    TRAP_TRACE___340 = 2
} ;
enum __anonenum_23175539___340 {
    CLD_EXITED___340 = 1,
    CLD_KILLED___340 = 2,
    CLD_DUMPED___340 = 3,
    CLD_TRAPPED___340 = 4,
    CLD_STOPPED___340 = 5,
    CLD_CONTINUED___340 = 6
} ;
enum __anonenum_111643124___340 {
    POLL_IN___340 = 1,
    POLL_OUT___340 = 2,
    POLL_MSG___340 = 3,
    POLL_ERR___340 = 4,
    POLL_PRI___340 = 5,
    POLL_HUP___340 = 6
} ;
enum __anonenum_852341087___340 {
    SIGEV_SIGNAL___340 = 0,
    SIGEV_NONE___340 = 1,
    SIGEV_THREAD___340 = 2,
    SIGEV_THREAD_ID___340 = 4
} ;
enum __anonenum_451154152___340 {
    REG_R8___340 = 0,
    REG_R9___340 = 1,
    REG_R10___340 = 2,
    REG_R11___340 = 3,
    REG_R12___340 = 4,
    REG_R13___340 = 5,
    REG_R14___340 = 6,
    REG_R15___340 = 7,
    REG_RDI___340 = 8,
    REG_RSI___340 = 9,
    REG_RBP___340 = 10,
    REG_RBX___340 = 11,
    REG_RDX___340 = 12,
    REG_RAX___340 = 13,
    REG_RCX___340 = 14,
    REG_RSP___340 = 15,
    REG_RIP___340 = 16,
    REG_EFL___340 = 17,
    REG_CSGSFS___340 = 18,
    REG_ERR___340 = 19,
    REG_TRAPNO___340 = 20,
    REG_OLDMASK___340 = 21,
    REG_CR2___340 = 22
} ;
enum __anonenum_57186863___340 {
    SS_ONSTACK___340 = 1,
    SS_DISABLE___340 = 2
} ;
enum __anonenum_83571709___340 {
    MSG_OOB___340 = 1,
    MSG_PEEK___340 = 2,
    MSG_DONTROUTE___340 = 4,
    MSG_TRYHARD___340 = 4,
    MSG_CTRUNC___340 = 8,
    MSG_PROXY___340 = 16,
    MSG_TRUNC___340 = 32,
    MSG_DONTWAIT___340 = 64,
    MSG_EOR___340 = 128,
    MSG_WAITALL___340 = 256,
    MSG_FIN___340 = 512,
    MSG_SYN___340 = 1024,
    MSG_CONFIRM___340 = 2048,
    MSG_RST___340 = 4096,
    MSG_ERRQUEUE___340 = 8192,
    MSG_NOSIGNAL___340 = 16384,
    MSG_MORE___340 = 32768,
    MSG_WAITFORONE___340 = 65536,
    MSG_BATCH___340 = 262144,
    MSG_ZEROCOPY___340 = 67108864,
    MSG_FASTOPEN___340 = 536870912,
    MSG_CMSG_CLOEXEC___340 = 1073741824
} ;
enum __anonenum_617082774___340 {
    SCM_RIGHTS___340 = 1,
    SCM_CREDENTIALS___340 = 2
} ;
enum __anonenum_606441560___340 {
    SHUT_RD___340 = 0,
    SHUT_WR___340 = 1,
    SHUT_RDWR___340 = 2
} ;
enum __anonenum_681669233___340 {
    IPPROTO_IP___340 = 0,
    IPPROTO_ICMP___340 = 1,
    IPPROTO_IGMP___340 = 2,
    IPPROTO_IPIP___340 = 4,
    IPPROTO_TCP___340 = 6,
    IPPROTO_EGP___340 = 8,
    IPPROTO_PUP___340 = 12,
    IPPROTO_UDP___340 = 17,
    IPPROTO_IDP___340 = 22,
    IPPROTO_TP___340 = 29,
    IPPROTO_DCCP___340 = 33,
    IPPROTO_IPV6___340 = 41,
    IPPROTO_RSVP___340 = 46,
    IPPROTO_GRE___340 = 47,
    IPPROTO_ESP___340 = 50,
    IPPROTO_AH___340 = 51,
    IPPROTO_MTP___340 = 92,
    IPPROTO_BEETPH___340 = 94,
    IPPROTO_ENCAP___340 = 98,
    IPPROTO_PIM___340 = 103,
    IPPROTO_COMP___340 = 108,
    IPPROTO_SCTP___340 = 132,
    IPPROTO_UDPLITE___340 = 136,
    IPPROTO_MPLS___340 = 137,
    IPPROTO_RAW___340 = 255,
    IPPROTO_MAX___340 = 256
} ;
enum __anonenum_218739988___340 {
    IPPROTO_HOPOPTS___340 = 0,
    IPPROTO_ROUTING___340 = 43,
    IPPROTO_FRAGMENT___340 = 44,
    IPPROTO_ICMPV6___340 = 58,
    IPPROTO_NONE___340 = 59,
    IPPROTO_DSTOPTS___340 = 60,
    IPPROTO_MH___340 = 135
} ;
enum __anonenum_662268580___340 {
    IPPORT_ECHO___340 = 7,
    IPPORT_DISCARD___340 = 9,
    IPPORT_SYSTAT___340 = 11,
    IPPORT_DAYTIME___340 = 13,
    IPPORT_NETSTAT___340 = 15,
    IPPORT_FTP___340 = 21,
    IPPORT_TELNET___340 = 23,
    IPPORT_SMTP___340 = 25,
    IPPORT_TIMESERVER___340 = 37,
    IPPORT_NAMESERVER___340 = 42,
    IPPORT_WHOIS___340 = 43,
    IPPORT_MTP___340 = 57,
    IPPORT_TFTP___340 = 69,
    IPPORT_RJE___340 = 77,
    IPPORT_FINGER___340 = 79,
    IPPORT_TTYLINK___340 = 87,
    IPPORT_SUPDUP___340 = 95,
    IPPORT_EXECSERVER___340 = 512,
    IPPORT_LOGINSERVER___340 = 513,
    IPPORT_CMDSERVER___340 = 514,
    IPPORT_EFSSERVER___340 = 520,
    IPPORT_BIFFUDP___340 = 512,
    IPPORT_WHOSERVER___340 = 513,
    IPPORT_ROUTESERVER___340 = 520,
    IPPORT_RESERVED___340 = 1024,
    IPPORT_USERRESERVED___340 = 5000
} ;
enum __anonenum_788308992___340 {
    TCP_ESTABLISHED___340 = 1,
    TCP_SYN_SENT___340 = 2,
    TCP_SYN_RECV___340 = 3,
    TCP_FIN_WAIT1___340 = 4,
    TCP_FIN_WAIT2___340 = 5,
    TCP_TIME_WAIT___340 = 6,
    TCP_CLOSE___340 = 7,
    TCP_CLOSE_WAIT___340 = 8,
    TCP_LAST_ACK___340 = 9,
    TCP_LISTEN___340 = 10,
    TCP_CLOSING___340 = 11
} ;
enum __anonenum_221125648___340 {
    TCP_NO_QUEUE___340 = 0,
    TCP_RECV_QUEUE___340 = 1,
    TCP_SEND_QUEUE___340 = 2,
    TCP_QUEUES_NR___340 = 3
} ;
enum __anonenum_34415463___340 {
    PTHREAD_CREATE_JOINABLE___340 = 0,
    PTHREAD_CREATE_DETACHED___340 = 1
} ;
enum __anonenum_303612439___340 {
    PTHREAD_MUTEX_TIMED_NP___340 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___340 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___340 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___340 = 3,
    PTHREAD_MUTEX_NORMAL___340 = 0,
    PTHREAD_MUTEX_RECURSIVE___340 = 1,
    PTHREAD_MUTEX_ERRORCHECK___340 = 2,
    PTHREAD_MUTEX_DEFAULT___340 = 0,
    PTHREAD_MUTEX_FAST_NP___340 = 0
} ;
enum __anonenum_931900394___340 {
    PTHREAD_MUTEX_STALLED___340 = 0,
    PTHREAD_MUTEX_STALLED_NP___340 = 0,
    PTHREAD_MUTEX_ROBUST___340 = 1,
    PTHREAD_MUTEX_ROBUST_NP___340 = 1
} ;
enum __anonenum_205214487___340 {
    PTHREAD_PRIO_NONE___340 = 0,
    PTHREAD_PRIO_INHERIT___340 = 1,
    PTHREAD_PRIO_PROTECT___340 = 2
} ;
enum __anonenum_25043950___340 {
    PTHREAD_RWLOCK_PREFER_READER_NP___340 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___340 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___340 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___340 = 0
} ;
enum __anonenum_436439511___340 {
    PTHREAD_INHERIT_SCHED___340 = 0,
    PTHREAD_EXPLICIT_SCHED___340 = 1
} ;
enum __anonenum_998661166___340 {
    PTHREAD_SCOPE_SYSTEM___340 = 0,
    PTHREAD_SCOPE_PROCESS___340 = 1
} ;
enum __anonenum_146137331___340 {
    PTHREAD_PROCESS_PRIVATE___340 = 0,
    PTHREAD_PROCESS_SHARED___340 = 1
} ;
enum __anonenum_53396917___340 {
    PTHREAD_CANCEL_ENABLE___340 = 0,
    PTHREAD_CANCEL_DISABLE___340 = 1
} ;
enum __anonenum_904563783___340 {
    PTHREAD_CANCEL_DEFERRED___340 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___340 = 1
} ;
enum __anonenum_672052974___340 {
    SSL_CT_VALIDATION_PERMISSIVE___340 = 0,
    SSL_CT_VALIDATION_STRICT___340 = 1
} ;
struct rev_name {
   char *tip_name ;
   timestamp_t taggerdate ;
   int generation ;
   int distance ;
   int from_tag ;
};
struct commit_rev_name {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   struct rev_name **slab ;
};
struct name_ref_data {
   int tags_only ;
   int name_only ;
   struct string_list ref_filters ;
   struct string_list exclude_filters ;
};
struct tip_table_entry {
   struct object_id oid ;
   char const   *refname ;
   struct commit *commit ;
   timestamp_t taggerdate ;
   unsigned int from_tag : 1 ;
   unsigned int deref : 1 ;
};
struct tip_table {
   struct tip_table_entry *table ;
   int nr ;
   int alloc ;
   int sorted ;
};
enum __anonenum_437032235___341 {
    _PC_LINK_MAX___341 = 0,
    _PC_MAX_CANON___341 = 1,
    _PC_MAX_INPUT___341 = 2,
    _PC_NAME_MAX___341 = 3,
    _PC_PATH_MAX___341 = 4,
    _PC_PIPE_BUF___341 = 5,
    _PC_CHOWN_RESTRICTED___341 = 6,
    _PC_NO_TRUNC___341 = 7,
    _PC_VDISABLE___341 = 8,
    _PC_SYNC_IO___341 = 9,
    _PC_ASYNC_IO___341 = 10,
    _PC_PRIO_IO___341 = 11,
    _PC_SOCK_MAXBUF___341 = 12,
    _PC_FILESIZEBITS___341 = 13,
    _PC_REC_INCR_XFER_SIZE___341 = 14,
    _PC_REC_MAX_XFER_SIZE___341 = 15,
    _PC_REC_MIN_XFER_SIZE___341 = 16,
    _PC_REC_XFER_ALIGN___341 = 17,
    _PC_ALLOC_SIZE_MIN___341 = 18,
    _PC_SYMLINK_MAX___341 = 19,
    _PC_2_SYMLINKS___341 = 20
} ;
enum __anonenum_315186338___341 {
    _SC_ARG_MAX___341 = 0,
    _SC_CHILD_MAX___341 = 1,
    _SC_CLK_TCK___341 = 2,
    _SC_NGROUPS_MAX___341 = 3,
    _SC_OPEN_MAX___341 = 4,
    _SC_STREAM_MAX___341 = 5,
    _SC_TZNAME_MAX___341 = 6,
    _SC_JOB_CONTROL___341 = 7,
    _SC_SAVED_IDS___341 = 8,
    _SC_REALTIME_SIGNALS___341 = 9,
    _SC_PRIORITY_SCHEDULING___341 = 10,
    _SC_TIMERS___341 = 11,
    _SC_ASYNCHRONOUS_IO___341 = 12,
    _SC_PRIORITIZED_IO___341 = 13,
    _SC_SYNCHRONIZED_IO___341 = 14,
    _SC_FSYNC___341 = 15,
    _SC_MAPPED_FILES___341 = 16,
    _SC_MEMLOCK___341 = 17,
    _SC_MEMLOCK_RANGE___341 = 18,
    _SC_MEMORY_PROTECTION___341 = 19,
    _SC_MESSAGE_PASSING___341 = 20,
    _SC_SEMAPHORES___341 = 21,
    _SC_SHARED_MEMORY_OBJECTS___341 = 22,
    _SC_AIO_LISTIO_MAX___341 = 23,
    _SC_AIO_MAX___341 = 24,
    _SC_AIO_PRIO_DELTA_MAX___341 = 25,
    _SC_DELAYTIMER_MAX___341 = 26,
    _SC_MQ_OPEN_MAX___341 = 27,
    _SC_MQ_PRIO_MAX___341 = 28,
    _SC_VERSION___341 = 29,
    _SC_PAGESIZE___341 = 30,
    _SC_RTSIG_MAX___341 = 31,
    _SC_SEM_NSEMS_MAX___341 = 32,
    _SC_SEM_VALUE_MAX___341 = 33,
    _SC_SIGQUEUE_MAX___341 = 34,
    _SC_TIMER_MAX___341 = 35,
    _SC_BC_BASE_MAX___341 = 36,
    _SC_BC_DIM_MAX___341 = 37,
    _SC_BC_SCALE_MAX___341 = 38,
    _SC_BC_STRING_MAX___341 = 39,
    _SC_COLL_WEIGHTS_MAX___341 = 40,
    _SC_EQUIV_CLASS_MAX___341 = 41,
    _SC_EXPR_NEST_MAX___341 = 42,
    _SC_LINE_MAX___341 = 43,
    _SC_RE_DUP_MAX___341 = 44,
    _SC_CHARCLASS_NAME_MAX___341 = 45,
    _SC_2_VERSION___341 = 46,
    _SC_2_C_BIND___341 = 47,
    _SC_2_C_DEV___341 = 48,
    _SC_2_FORT_DEV___341 = 49,
    _SC_2_FORT_RUN___341 = 50,
    _SC_2_SW_DEV___341 = 51,
    _SC_2_LOCALEDEF___341 = 52,
    _SC_PII___341 = 53,
    _SC_PII_XTI___341 = 54,
    _SC_PII_SOCKET___341 = 55,
    _SC_PII_INTERNET___341 = 56,
    _SC_PII_OSI___341 = 57,
    _SC_POLL___341 = 58,
    _SC_SELECT___341 = 59,
    _SC_UIO_MAXIOV___341 = 60,
    _SC_IOV_MAX___341 = 60,
    _SC_PII_INTERNET_STREAM___341 = 61,
    _SC_PII_INTERNET_DGRAM___341 = 62,
    _SC_PII_OSI_COTS___341 = 63,
    _SC_PII_OSI_CLTS___341 = 64,
    _SC_PII_OSI_M___341 = 65,
    _SC_T_IOV_MAX___341 = 66,
    _SC_THREADS___341 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___341 = 68,
    _SC_GETGR_R_SIZE_MAX___341 = 69,
    _SC_GETPW_R_SIZE_MAX___341 = 70,
    _SC_LOGIN_NAME_MAX___341 = 71,
    _SC_TTY_NAME_MAX___341 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___341 = 73,
    _SC_THREAD_KEYS_MAX___341 = 74,
    _SC_THREAD_STACK_MIN___341 = 75,
    _SC_THREAD_THREADS_MAX___341 = 76,
    _SC_THREAD_ATTR_STACKADDR___341 = 77,
    _SC_THREAD_ATTR_STACKSIZE___341 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___341 = 79,
    _SC_THREAD_PRIO_INHERIT___341 = 80,
    _SC_THREAD_PRIO_PROTECT___341 = 81,
    _SC_THREAD_PROCESS_SHARED___341 = 82,
    _SC_NPROCESSORS_CONF___341 = 83,
    _SC_NPROCESSORS_ONLN___341 = 84,
    _SC_PHYS_PAGES___341 = 85,
    _SC_AVPHYS_PAGES___341 = 86,
    _SC_ATEXIT_MAX___341 = 87,
    _SC_PASS_MAX___341 = 88,
    _SC_XOPEN_VERSION___341 = 89,
    _SC_XOPEN_XCU_VERSION___341 = 90,
    _SC_XOPEN_UNIX___341 = 91,
    _SC_XOPEN_CRYPT___341 = 92,
    _SC_XOPEN_ENH_I18N___341 = 93,
    _SC_XOPEN_SHM___341 = 94,
    _SC_2_CHAR_TERM___341 = 95,
    _SC_2_C_VERSION___341 = 96,
    _SC_2_UPE___341 = 97,
    _SC_XOPEN_XPG2___341 = 98,
    _SC_XOPEN_XPG3___341 = 99,
    _SC_XOPEN_XPG4___341 = 100,
    _SC_CHAR_BIT___341 = 101,
    _SC_CHAR_MAX___341 = 102,
    _SC_CHAR_MIN___341 = 103,
    _SC_INT_MAX___341 = 104,
    _SC_INT_MIN___341 = 105,
    _SC_LONG_BIT___341 = 106,
    _SC_WORD_BIT___341 = 107,
    _SC_MB_LEN_MAX___341 = 108,
    _SC_NZERO___341 = 109,
    _SC_SSIZE_MAX___341 = 110,
    _SC_SCHAR_MAX___341 = 111,
    _SC_SCHAR_MIN___341 = 112,
    _SC_SHRT_MAX___341 = 113,
    _SC_SHRT_MIN___341 = 114,
    _SC_UCHAR_MAX___341 = 115,
    _SC_UINT_MAX___341 = 116,
    _SC_ULONG_MAX___341 = 117,
    _SC_USHRT_MAX___341 = 118,
    _SC_NL_ARGMAX___341 = 119,
    _SC_NL_LANGMAX___341 = 120,
    _SC_NL_MSGMAX___341 = 121,
    _SC_NL_NMAX___341 = 122,
    _SC_NL_SETMAX___341 = 123,
    _SC_NL_TEXTMAX___341 = 124,
    _SC_XBS5_ILP32_OFF32___341 = 125,
    _SC_XBS5_ILP32_OFFBIG___341 = 126,
    _SC_XBS5_LP64_OFF64___341 = 127,
    _SC_XBS5_LPBIG_OFFBIG___341 = 128,
    _SC_XOPEN_LEGACY___341 = 129,
    _SC_XOPEN_REALTIME___341 = 130,
    _SC_XOPEN_REALTIME_THREADS___341 = 131,
    _SC_ADVISORY_INFO___341 = 132,
    _SC_BARRIERS___341 = 133,
    _SC_BASE___341 = 134,
    _SC_C_LANG_SUPPORT___341 = 135,
    _SC_C_LANG_SUPPORT_R___341 = 136,
    _SC_CLOCK_SELECTION___341 = 137,
    _SC_CPUTIME___341 = 138,
    _SC_THREAD_CPUTIME___341 = 139,
    _SC_DEVICE_IO___341 = 140,
    _SC_DEVICE_SPECIFIC___341 = 141,
    _SC_DEVICE_SPECIFIC_R___341 = 142,
    _SC_FD_MGMT___341 = 143,
    _SC_FIFO___341 = 144,
    _SC_PIPE___341 = 145,
    _SC_FILE_ATTRIBUTES___341 = 146,
    _SC_FILE_LOCKING___341 = 147,
    _SC_FILE_SYSTEM___341 = 148,
    _SC_MONOTONIC_CLOCK___341 = 149,
    _SC_MULTI_PROCESS___341 = 150,
    _SC_SINGLE_PROCESS___341 = 151,
    _SC_NETWORKING___341 = 152,
    _SC_READER_WRITER_LOCKS___341 = 153,
    _SC_SPIN_LOCKS___341 = 154,
    _SC_REGEXP___341 = 155,
    _SC_REGEX_VERSION___341 = 156,
    _SC_SHELL___341 = 157,
    _SC_SIGNALS___341 = 158,
    _SC_SPAWN___341 = 159,
    _SC_SPORADIC_SERVER___341 = 160,
    _SC_THREAD_SPORADIC_SERVER___341 = 161,
    _SC_SYSTEM_DATABASE___341 = 162,
    _SC_SYSTEM_DATABASE_R___341 = 163,
    _SC_TIMEOUTS___341 = 164,
    _SC_TYPED_MEMORY_OBJECTS___341 = 165,
    _SC_USER_GROUPS___341 = 166,
    _SC_USER_GROUPS_R___341 = 167,
    _SC_2_PBS___341 = 168,
    _SC_2_PBS_ACCOUNTING___341 = 169,
    _SC_2_PBS_LOCATE___341 = 170,
    _SC_2_PBS_MESSAGE___341 = 171,
    _SC_2_PBS_TRACK___341 = 172,
    _SC_SYMLOOP_MAX___341 = 173,
    _SC_STREAMS___341 = 174,
    _SC_2_PBS_CHECKPOINT___341 = 175,
    _SC_V6_ILP32_OFF32___341 = 176,
    _SC_V6_ILP32_OFFBIG___341 = 177,
    _SC_V6_LP64_OFF64___341 = 178,
    _SC_V6_LPBIG_OFFBIG___341 = 179,
    _SC_HOST_NAME_MAX___341 = 180,
    _SC_TRACE___341 = 181,
    _SC_TRACE_EVENT_FILTER___341 = 182,
    _SC_TRACE_INHERIT___341 = 183,
    _SC_TRACE_LOG___341 = 184,
    _SC_LEVEL1_ICACHE_SIZE___341 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___341 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___341 = 187,
    _SC_LEVEL1_DCACHE_SIZE___341 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___341 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___341 = 190,
    _SC_LEVEL2_CACHE_SIZE___341 = 191,
    _SC_LEVEL2_CACHE_ASSOC___341 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___341 = 193,
    _SC_LEVEL3_CACHE_SIZE___341 = 194,
    _SC_LEVEL3_CACHE_ASSOC___341 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___341 = 196,
    _SC_LEVEL4_CACHE_SIZE___341 = 197,
    _SC_LEVEL4_CACHE_ASSOC___341 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___341 = 199,
    _SC_IPV6___341 = 235,
    _SC_RAW_SOCKETS___341 = 236,
    _SC_V7_ILP32_OFF32___341 = 237,
    _SC_V7_ILP32_OFFBIG___341 = 238,
    _SC_V7_LP64_OFF64___341 = 239,
    _SC_V7_LPBIG_OFFBIG___341 = 240,
    _SC_SS_REPL_MAX___341 = 241,
    _SC_TRACE_EVENT_NAME_MAX___341 = 242,
    _SC_TRACE_NAME_MAX___341 = 243,
    _SC_TRACE_SYS_MAX___341 = 244,
    _SC_TRACE_USER_EVENT_MAX___341 = 245,
    _SC_XOPEN_STREAMS___341 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___341 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___341 = 248
} ;
enum __anonenum_875524036___341 {
    _CS_PATH___341 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___341 = 1,
    _CS_GNU_LIBC_VERSION___341 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___341 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___341 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___341 = 5,
    _CS_LFS_CFLAGS___341 = 1000,
    _CS_LFS_LDFLAGS___341 = 1001,
    _CS_LFS_LIBS___341 = 1002,
    _CS_LFS_LINTFLAGS___341 = 1003,
    _CS_LFS64_CFLAGS___341 = 1004,
    _CS_LFS64_LDFLAGS___341 = 1005,
    _CS_LFS64_LIBS___341 = 1006,
    _CS_LFS64_LINTFLAGS___341 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___341 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___341 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___341 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___341 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___341 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___341 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___341 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___341 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___341 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___341 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___341 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___341 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___341 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___341 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___341 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___341 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___341 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___341 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___341 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___341 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___341 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___341 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___341 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___341 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___341 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___341 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___341 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___341 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___341 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___341 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___341 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___341 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___341 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___341 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___341 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___341 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___341 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___341 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___341 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___341 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___341 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___341 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___341 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___341 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___341 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___341 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___341 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___341 = 1147,
    _CS_V6_ENV___341 = 1148,
    _CS_V7_ENV___341 = 1149
} ;
enum __anonenum_513775621___341 {
    DT_UNKNOWN___341 = 0,
    DT_FIFO___341 = 1,
    DT_CHR___341 = 2,
    DT_DIR___341 = 4,
    DT_BLK___341 = 6,
    DT_REG___341 = 8,
    DT_LNK___341 = 10,
    DT_SOCK___341 = 12,
    DT_WHT___341 = 14
} ;
enum __anonenum_77002343___341 {
    SI_ASYNCNL___341 = -60,
    SI_TKILL___341 = -6,
    SI_SIGIO___341 = -5,
    SI_ASYNCIO___341 = -4,
    SI_MESGQ___341 = -3,
    SI_TIMER___341 = -2,
    SI_QUEUE___341 = -1,
    SI_USER___341 = 0,
    SI_KERNEL___341 = 128
} ;
enum __anonenum_131038172___341 {
    ILL_ILLOPC___341 = 1,
    ILL_ILLOPN___341 = 2,
    ILL_ILLADR___341 = 3,
    ILL_ILLTRP___341 = 4,
    ILL_PRVOPC___341 = 5,
    ILL_PRVREG___341 = 6,
    ILL_COPROC___341 = 7,
    ILL_BADSTK___341 = 8
} ;
enum __anonenum_452038093___341 {
    FPE_INTDIV___341 = 1,
    FPE_INTOVF___341 = 2,
    FPE_FLTDIV___341 = 3,
    FPE_FLTOVF___341 = 4,
    FPE_FLTUND___341 = 5,
    FPE_FLTRES___341 = 6,
    FPE_FLTINV___341 = 7,
    FPE_FLTSUB___341 = 8
} ;
enum __anonenum_30976155___341 {
    SEGV_MAPERR___341 = 1,
    SEGV_ACCERR___341 = 2,
    SEGV_BNDERR___341 = 3,
    SEGV_PKUERR___341 = 4
} ;
enum __anonenum_1036286214___341 {
    BUS_ADRALN___341 = 1,
    BUS_ADRERR___341 = 2,
    BUS_OBJERR___341 = 3,
    BUS_MCEERR_AR___341 = 4,
    BUS_MCEERR_AO___341 = 5
} ;
enum __anonenum_493465559___341 {
    TRAP_BRKPT___341 = 1,
    TRAP_TRACE___341 = 2
} ;
enum __anonenum_23175539___341 {
    CLD_EXITED___341 = 1,
    CLD_KILLED___341 = 2,
    CLD_DUMPED___341 = 3,
    CLD_TRAPPED___341 = 4,
    CLD_STOPPED___341 = 5,
    CLD_CONTINUED___341 = 6
} ;
enum __anonenum_111643124___341 {
    POLL_IN___341 = 1,
    POLL_OUT___341 = 2,
    POLL_MSG___341 = 3,
    POLL_ERR___341 = 4,
    POLL_PRI___341 = 5,
    POLL_HUP___341 = 6
} ;
enum __anonenum_852341087___341 {
    SIGEV_SIGNAL___341 = 0,
    SIGEV_NONE___341 = 1,
    SIGEV_THREAD___341 = 2,
    SIGEV_THREAD_ID___341 = 4
} ;
enum __anonenum_451154152___341 {
    REG_R8___341 = 0,
    REG_R9___341 = 1,
    REG_R10___341 = 2,
    REG_R11___341 = 3,
    REG_R12___341 = 4,
    REG_R13___341 = 5,
    REG_R14___341 = 6,
    REG_R15___341 = 7,
    REG_RDI___341 = 8,
    REG_RSI___341 = 9,
    REG_RBP___341 = 10,
    REG_RBX___341 = 11,
    REG_RDX___341 = 12,
    REG_RAX___341 = 13,
    REG_RCX___341 = 14,
    REG_RSP___341 = 15,
    REG_RIP___341 = 16,
    REG_EFL___341 = 17,
    REG_CSGSFS___341 = 18,
    REG_ERR___341 = 19,
    REG_TRAPNO___341 = 20,
    REG_OLDMASK___341 = 21,
    REG_CR2___341 = 22
} ;
enum __anonenum_57186863___341 {
    SS_ONSTACK___341 = 1,
    SS_DISABLE___341 = 2
} ;
enum __anonenum_83571709___341 {
    MSG_OOB___341 = 1,
    MSG_PEEK___341 = 2,
    MSG_DONTROUTE___341 = 4,
    MSG_TRYHARD___341 = 4,
    MSG_CTRUNC___341 = 8,
    MSG_PROXY___341 = 16,
    MSG_TRUNC___341 = 32,
    MSG_DONTWAIT___341 = 64,
    MSG_EOR___341 = 128,
    MSG_WAITALL___341 = 256,
    MSG_FIN___341 = 512,
    MSG_SYN___341 = 1024,
    MSG_CONFIRM___341 = 2048,
    MSG_RST___341 = 4096,
    MSG_ERRQUEUE___341 = 8192,
    MSG_NOSIGNAL___341 = 16384,
    MSG_MORE___341 = 32768,
    MSG_WAITFORONE___341 = 65536,
    MSG_BATCH___341 = 262144,
    MSG_ZEROCOPY___341 = 67108864,
    MSG_FASTOPEN___341 = 536870912,
    MSG_CMSG_CLOEXEC___341 = 1073741824
} ;
enum __anonenum_617082774___341 {
    SCM_RIGHTS___341 = 1,
    SCM_CREDENTIALS___341 = 2
} ;
enum __anonenum_606441560___341 {
    SHUT_RD___341 = 0,
    SHUT_WR___341 = 1,
    SHUT_RDWR___341 = 2
} ;
enum __anonenum_681669233___341 {
    IPPROTO_IP___341 = 0,
    IPPROTO_ICMP___341 = 1,
    IPPROTO_IGMP___341 = 2,
    IPPROTO_IPIP___341 = 4,
    IPPROTO_TCP___341 = 6,
    IPPROTO_EGP___341 = 8,
    IPPROTO_PUP___341 = 12,
    IPPROTO_UDP___341 = 17,
    IPPROTO_IDP___341 = 22,
    IPPROTO_TP___341 = 29,
    IPPROTO_DCCP___341 = 33,
    IPPROTO_IPV6___341 = 41,
    IPPROTO_RSVP___341 = 46,
    IPPROTO_GRE___341 = 47,
    IPPROTO_ESP___341 = 50,
    IPPROTO_AH___341 = 51,
    IPPROTO_MTP___341 = 92,
    IPPROTO_BEETPH___341 = 94,
    IPPROTO_ENCAP___341 = 98,
    IPPROTO_PIM___341 = 103,
    IPPROTO_COMP___341 = 108,
    IPPROTO_SCTP___341 = 132,
    IPPROTO_UDPLITE___341 = 136,
    IPPROTO_MPLS___341 = 137,
    IPPROTO_RAW___341 = 255,
    IPPROTO_MAX___341 = 256
} ;
enum __anonenum_218739988___341 {
    IPPROTO_HOPOPTS___341 = 0,
    IPPROTO_ROUTING___341 = 43,
    IPPROTO_FRAGMENT___341 = 44,
    IPPROTO_ICMPV6___341 = 58,
    IPPROTO_NONE___341 = 59,
    IPPROTO_DSTOPTS___341 = 60,
    IPPROTO_MH___341 = 135
} ;
enum __anonenum_662268580___341 {
    IPPORT_ECHO___341 = 7,
    IPPORT_DISCARD___341 = 9,
    IPPORT_SYSTAT___341 = 11,
    IPPORT_DAYTIME___341 = 13,
    IPPORT_NETSTAT___341 = 15,
    IPPORT_FTP___341 = 21,
    IPPORT_TELNET___341 = 23,
    IPPORT_SMTP___341 = 25,
    IPPORT_TIMESERVER___341 = 37,
    IPPORT_NAMESERVER___341 = 42,
    IPPORT_WHOIS___341 = 43,
    IPPORT_MTP___341 = 57,
    IPPORT_TFTP___341 = 69,
    IPPORT_RJE___341 = 77,
    IPPORT_FINGER___341 = 79,
    IPPORT_TTYLINK___341 = 87,
    IPPORT_SUPDUP___341 = 95,
    IPPORT_EXECSERVER___341 = 512,
    IPPORT_LOGINSERVER___341 = 513,
    IPPORT_CMDSERVER___341 = 514,
    IPPORT_EFSSERVER___341 = 520,
    IPPORT_BIFFUDP___341 = 512,
    IPPORT_WHOSERVER___341 = 513,
    IPPORT_ROUTESERVER___341 = 520,
    IPPORT_RESERVED___341 = 1024,
    IPPORT_USERRESERVED___341 = 5000
} ;
enum __anonenum_788308992___341 {
    TCP_ESTABLISHED___341 = 1,
    TCP_SYN_SENT___341 = 2,
    TCP_SYN_RECV___341 = 3,
    TCP_FIN_WAIT1___341 = 4,
    TCP_FIN_WAIT2___341 = 5,
    TCP_TIME_WAIT___341 = 6,
    TCP_CLOSE___341 = 7,
    TCP_CLOSE_WAIT___341 = 8,
    TCP_LAST_ACK___341 = 9,
    TCP_LISTEN___341 = 10,
    TCP_CLOSING___341 = 11
} ;
enum __anonenum_221125648___341 {
    TCP_NO_QUEUE___341 = 0,
    TCP_RECV_QUEUE___341 = 1,
    TCP_SEND_QUEUE___341 = 2,
    TCP_QUEUES_NR___341 = 3
} ;
enum __anonenum_34415463___341 {
    PTHREAD_CREATE_JOINABLE___341 = 0,
    PTHREAD_CREATE_DETACHED___341 = 1
} ;
enum __anonenum_303612439___341 {
    PTHREAD_MUTEX_TIMED_NP___341 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___341 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___341 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___341 = 3,
    PTHREAD_MUTEX_NORMAL___341 = 0,
    PTHREAD_MUTEX_RECURSIVE___341 = 1,
    PTHREAD_MUTEX_ERRORCHECK___341 = 2,
    PTHREAD_MUTEX_DEFAULT___341 = 0,
    PTHREAD_MUTEX_FAST_NP___341 = 0
} ;
enum __anonenum_931900394___341 {
    PTHREAD_MUTEX_STALLED___341 = 0,
    PTHREAD_MUTEX_STALLED_NP___341 = 0,
    PTHREAD_MUTEX_ROBUST___341 = 1,
    PTHREAD_MUTEX_ROBUST_NP___341 = 1
} ;
enum __anonenum_205214487___341 {
    PTHREAD_PRIO_NONE___341 = 0,
    PTHREAD_PRIO_INHERIT___341 = 1,
    PTHREAD_PRIO_PROTECT___341 = 2
} ;
enum __anonenum_25043950___341 {
    PTHREAD_RWLOCK_PREFER_READER_NP___341 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___341 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___341 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___341 = 0
} ;
enum __anonenum_436439511___341 {
    PTHREAD_INHERIT_SCHED___341 = 0,
    PTHREAD_EXPLICIT_SCHED___341 = 1
} ;
enum __anonenum_998661166___341 {
    PTHREAD_SCOPE_SYSTEM___341 = 0,
    PTHREAD_SCOPE_PROCESS___341 = 1
} ;
enum __anonenum_146137331___341 {
    PTHREAD_PROCESS_PRIVATE___341 = 0,
    PTHREAD_PROCESS_SHARED___341 = 1
} ;
enum __anonenum_53396917___341 {
    PTHREAD_CANCEL_ENABLE___341 = 0,
    PTHREAD_CANCEL_DISABLE___341 = 1
} ;
enum __anonenum_904563783___341 {
    PTHREAD_CANCEL_DEFERRED___341 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___341 = 1
} ;
enum __anonenum_672052974___341 {
    SSL_CT_VALIDATION_PERMISSIVE___341 = 0,
    SSL_CT_VALIDATION_STRICT___341 = 1
} ;
struct note_data {
   int given ;
   int use_editor ;
   char *edit_path ;
   struct strbuf buf ;
};
enum __anonenum_437032235___342 {
    _PC_LINK_MAX___342 = 0,
    _PC_MAX_CANON___342 = 1,
    _PC_MAX_INPUT___342 = 2,
    _PC_NAME_MAX___342 = 3,
    _PC_PATH_MAX___342 = 4,
    _PC_PIPE_BUF___342 = 5,
    _PC_CHOWN_RESTRICTED___342 = 6,
    _PC_NO_TRUNC___342 = 7,
    _PC_VDISABLE___342 = 8,
    _PC_SYNC_IO___342 = 9,
    _PC_ASYNC_IO___342 = 10,
    _PC_PRIO_IO___342 = 11,
    _PC_SOCK_MAXBUF___342 = 12,
    _PC_FILESIZEBITS___342 = 13,
    _PC_REC_INCR_XFER_SIZE___342 = 14,
    _PC_REC_MAX_XFER_SIZE___342 = 15,
    _PC_REC_MIN_XFER_SIZE___342 = 16,
    _PC_REC_XFER_ALIGN___342 = 17,
    _PC_ALLOC_SIZE_MIN___342 = 18,
    _PC_SYMLINK_MAX___342 = 19,
    _PC_2_SYMLINKS___342 = 20
} ;
enum __anonenum_315186338___342 {
    _SC_ARG_MAX___342 = 0,
    _SC_CHILD_MAX___342 = 1,
    _SC_CLK_TCK___342 = 2,
    _SC_NGROUPS_MAX___342 = 3,
    _SC_OPEN_MAX___342 = 4,
    _SC_STREAM_MAX___342 = 5,
    _SC_TZNAME_MAX___342 = 6,
    _SC_JOB_CONTROL___342 = 7,
    _SC_SAVED_IDS___342 = 8,
    _SC_REALTIME_SIGNALS___342 = 9,
    _SC_PRIORITY_SCHEDULING___342 = 10,
    _SC_TIMERS___342 = 11,
    _SC_ASYNCHRONOUS_IO___342 = 12,
    _SC_PRIORITIZED_IO___342 = 13,
    _SC_SYNCHRONIZED_IO___342 = 14,
    _SC_FSYNC___342 = 15,
    _SC_MAPPED_FILES___342 = 16,
    _SC_MEMLOCK___342 = 17,
    _SC_MEMLOCK_RANGE___342 = 18,
    _SC_MEMORY_PROTECTION___342 = 19,
    _SC_MESSAGE_PASSING___342 = 20,
    _SC_SEMAPHORES___342 = 21,
    _SC_SHARED_MEMORY_OBJECTS___342 = 22,
    _SC_AIO_LISTIO_MAX___342 = 23,
    _SC_AIO_MAX___342 = 24,
    _SC_AIO_PRIO_DELTA_MAX___342 = 25,
    _SC_DELAYTIMER_MAX___342 = 26,
    _SC_MQ_OPEN_MAX___342 = 27,
    _SC_MQ_PRIO_MAX___342 = 28,
    _SC_VERSION___342 = 29,
    _SC_PAGESIZE___342 = 30,
    _SC_RTSIG_MAX___342 = 31,
    _SC_SEM_NSEMS_MAX___342 = 32,
    _SC_SEM_VALUE_MAX___342 = 33,
    _SC_SIGQUEUE_MAX___342 = 34,
    _SC_TIMER_MAX___342 = 35,
    _SC_BC_BASE_MAX___342 = 36,
    _SC_BC_DIM_MAX___342 = 37,
    _SC_BC_SCALE_MAX___342 = 38,
    _SC_BC_STRING_MAX___342 = 39,
    _SC_COLL_WEIGHTS_MAX___342 = 40,
    _SC_EQUIV_CLASS_MAX___342 = 41,
    _SC_EXPR_NEST_MAX___342 = 42,
    _SC_LINE_MAX___342 = 43,
    _SC_RE_DUP_MAX___342 = 44,
    _SC_CHARCLASS_NAME_MAX___342 = 45,
    _SC_2_VERSION___342 = 46,
    _SC_2_C_BIND___342 = 47,
    _SC_2_C_DEV___342 = 48,
    _SC_2_FORT_DEV___342 = 49,
    _SC_2_FORT_RUN___342 = 50,
    _SC_2_SW_DEV___342 = 51,
    _SC_2_LOCALEDEF___342 = 52,
    _SC_PII___342 = 53,
    _SC_PII_XTI___342 = 54,
    _SC_PII_SOCKET___342 = 55,
    _SC_PII_INTERNET___342 = 56,
    _SC_PII_OSI___342 = 57,
    _SC_POLL___342 = 58,
    _SC_SELECT___342 = 59,
    _SC_UIO_MAXIOV___342 = 60,
    _SC_IOV_MAX___342 = 60,
    _SC_PII_INTERNET_STREAM___342 = 61,
    _SC_PII_INTERNET_DGRAM___342 = 62,
    _SC_PII_OSI_COTS___342 = 63,
    _SC_PII_OSI_CLTS___342 = 64,
    _SC_PII_OSI_M___342 = 65,
    _SC_T_IOV_MAX___342 = 66,
    _SC_THREADS___342 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___342 = 68,
    _SC_GETGR_R_SIZE_MAX___342 = 69,
    _SC_GETPW_R_SIZE_MAX___342 = 70,
    _SC_LOGIN_NAME_MAX___342 = 71,
    _SC_TTY_NAME_MAX___342 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___342 = 73,
    _SC_THREAD_KEYS_MAX___342 = 74,
    _SC_THREAD_STACK_MIN___342 = 75,
    _SC_THREAD_THREADS_MAX___342 = 76,
    _SC_THREAD_ATTR_STACKADDR___342 = 77,
    _SC_THREAD_ATTR_STACKSIZE___342 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___342 = 79,
    _SC_THREAD_PRIO_INHERIT___342 = 80,
    _SC_THREAD_PRIO_PROTECT___342 = 81,
    _SC_THREAD_PROCESS_SHARED___342 = 82,
    _SC_NPROCESSORS_CONF___342 = 83,
    _SC_NPROCESSORS_ONLN___342 = 84,
    _SC_PHYS_PAGES___342 = 85,
    _SC_AVPHYS_PAGES___342 = 86,
    _SC_ATEXIT_MAX___342 = 87,
    _SC_PASS_MAX___342 = 88,
    _SC_XOPEN_VERSION___342 = 89,
    _SC_XOPEN_XCU_VERSION___342 = 90,
    _SC_XOPEN_UNIX___342 = 91,
    _SC_XOPEN_CRYPT___342 = 92,
    _SC_XOPEN_ENH_I18N___342 = 93,
    _SC_XOPEN_SHM___342 = 94,
    _SC_2_CHAR_TERM___342 = 95,
    _SC_2_C_VERSION___342 = 96,
    _SC_2_UPE___342 = 97,
    _SC_XOPEN_XPG2___342 = 98,
    _SC_XOPEN_XPG3___342 = 99,
    _SC_XOPEN_XPG4___342 = 100,
    _SC_CHAR_BIT___342 = 101,
    _SC_CHAR_MAX___342 = 102,
    _SC_CHAR_MIN___342 = 103,
    _SC_INT_MAX___342 = 104,
    _SC_INT_MIN___342 = 105,
    _SC_LONG_BIT___342 = 106,
    _SC_WORD_BIT___342 = 107,
    _SC_MB_LEN_MAX___342 = 108,
    _SC_NZERO___342 = 109,
    _SC_SSIZE_MAX___342 = 110,
    _SC_SCHAR_MAX___342 = 111,
    _SC_SCHAR_MIN___342 = 112,
    _SC_SHRT_MAX___342 = 113,
    _SC_SHRT_MIN___342 = 114,
    _SC_UCHAR_MAX___342 = 115,
    _SC_UINT_MAX___342 = 116,
    _SC_ULONG_MAX___342 = 117,
    _SC_USHRT_MAX___342 = 118,
    _SC_NL_ARGMAX___342 = 119,
    _SC_NL_LANGMAX___342 = 120,
    _SC_NL_MSGMAX___342 = 121,
    _SC_NL_NMAX___342 = 122,
    _SC_NL_SETMAX___342 = 123,
    _SC_NL_TEXTMAX___342 = 124,
    _SC_XBS5_ILP32_OFF32___342 = 125,
    _SC_XBS5_ILP32_OFFBIG___342 = 126,
    _SC_XBS5_LP64_OFF64___342 = 127,
    _SC_XBS5_LPBIG_OFFBIG___342 = 128,
    _SC_XOPEN_LEGACY___342 = 129,
    _SC_XOPEN_REALTIME___342 = 130,
    _SC_XOPEN_REALTIME_THREADS___342 = 131,
    _SC_ADVISORY_INFO___342 = 132,
    _SC_BARRIERS___342 = 133,
    _SC_BASE___342 = 134,
    _SC_C_LANG_SUPPORT___342 = 135,
    _SC_C_LANG_SUPPORT_R___342 = 136,
    _SC_CLOCK_SELECTION___342 = 137,
    _SC_CPUTIME___342 = 138,
    _SC_THREAD_CPUTIME___342 = 139,
    _SC_DEVICE_IO___342 = 140,
    _SC_DEVICE_SPECIFIC___342 = 141,
    _SC_DEVICE_SPECIFIC_R___342 = 142,
    _SC_FD_MGMT___342 = 143,
    _SC_FIFO___342 = 144,
    _SC_PIPE___342 = 145,
    _SC_FILE_ATTRIBUTES___342 = 146,
    _SC_FILE_LOCKING___342 = 147,
    _SC_FILE_SYSTEM___342 = 148,
    _SC_MONOTONIC_CLOCK___342 = 149,
    _SC_MULTI_PROCESS___342 = 150,
    _SC_SINGLE_PROCESS___342 = 151,
    _SC_NETWORKING___342 = 152,
    _SC_READER_WRITER_LOCKS___342 = 153,
    _SC_SPIN_LOCKS___342 = 154,
    _SC_REGEXP___342 = 155,
    _SC_REGEX_VERSION___342 = 156,
    _SC_SHELL___342 = 157,
    _SC_SIGNALS___342 = 158,
    _SC_SPAWN___342 = 159,
    _SC_SPORADIC_SERVER___342 = 160,
    _SC_THREAD_SPORADIC_SERVER___342 = 161,
    _SC_SYSTEM_DATABASE___342 = 162,
    _SC_SYSTEM_DATABASE_R___342 = 163,
    _SC_TIMEOUTS___342 = 164,
    _SC_TYPED_MEMORY_OBJECTS___342 = 165,
    _SC_USER_GROUPS___342 = 166,
    _SC_USER_GROUPS_R___342 = 167,
    _SC_2_PBS___342 = 168,
    _SC_2_PBS_ACCOUNTING___342 = 169,
    _SC_2_PBS_LOCATE___342 = 170,
    _SC_2_PBS_MESSAGE___342 = 171,
    _SC_2_PBS_TRACK___342 = 172,
    _SC_SYMLOOP_MAX___342 = 173,
    _SC_STREAMS___342 = 174,
    _SC_2_PBS_CHECKPOINT___342 = 175,
    _SC_V6_ILP32_OFF32___342 = 176,
    _SC_V6_ILP32_OFFBIG___342 = 177,
    _SC_V6_LP64_OFF64___342 = 178,
    _SC_V6_LPBIG_OFFBIG___342 = 179,
    _SC_HOST_NAME_MAX___342 = 180,
    _SC_TRACE___342 = 181,
    _SC_TRACE_EVENT_FILTER___342 = 182,
    _SC_TRACE_INHERIT___342 = 183,
    _SC_TRACE_LOG___342 = 184,
    _SC_LEVEL1_ICACHE_SIZE___342 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___342 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___342 = 187,
    _SC_LEVEL1_DCACHE_SIZE___342 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___342 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___342 = 190,
    _SC_LEVEL2_CACHE_SIZE___342 = 191,
    _SC_LEVEL2_CACHE_ASSOC___342 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___342 = 193,
    _SC_LEVEL3_CACHE_SIZE___342 = 194,
    _SC_LEVEL3_CACHE_ASSOC___342 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___342 = 196,
    _SC_LEVEL4_CACHE_SIZE___342 = 197,
    _SC_LEVEL4_CACHE_ASSOC___342 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___342 = 199,
    _SC_IPV6___342 = 235,
    _SC_RAW_SOCKETS___342 = 236,
    _SC_V7_ILP32_OFF32___342 = 237,
    _SC_V7_ILP32_OFFBIG___342 = 238,
    _SC_V7_LP64_OFF64___342 = 239,
    _SC_V7_LPBIG_OFFBIG___342 = 240,
    _SC_SS_REPL_MAX___342 = 241,
    _SC_TRACE_EVENT_NAME_MAX___342 = 242,
    _SC_TRACE_NAME_MAX___342 = 243,
    _SC_TRACE_SYS_MAX___342 = 244,
    _SC_TRACE_USER_EVENT_MAX___342 = 245,
    _SC_XOPEN_STREAMS___342 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___342 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___342 = 248
} ;
enum __anonenum_875524036___342 {
    _CS_PATH___342 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___342 = 1,
    _CS_GNU_LIBC_VERSION___342 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___342 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___342 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___342 = 5,
    _CS_LFS_CFLAGS___342 = 1000,
    _CS_LFS_LDFLAGS___342 = 1001,
    _CS_LFS_LIBS___342 = 1002,
    _CS_LFS_LINTFLAGS___342 = 1003,
    _CS_LFS64_CFLAGS___342 = 1004,
    _CS_LFS64_LDFLAGS___342 = 1005,
    _CS_LFS64_LIBS___342 = 1006,
    _CS_LFS64_LINTFLAGS___342 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___342 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___342 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___342 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___342 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___342 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___342 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___342 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___342 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___342 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___342 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___342 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___342 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___342 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___342 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___342 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___342 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___342 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___342 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___342 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___342 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___342 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___342 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___342 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___342 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___342 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___342 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___342 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___342 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___342 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___342 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___342 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___342 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___342 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___342 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___342 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___342 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___342 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___342 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___342 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___342 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___342 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___342 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___342 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___342 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___342 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___342 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___342 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___342 = 1147,
    _CS_V6_ENV___342 = 1148,
    _CS_V7_ENV___342 = 1149
} ;
enum __anonenum_513775621___342 {
    DT_UNKNOWN___342 = 0,
    DT_FIFO___342 = 1,
    DT_CHR___342 = 2,
    DT_DIR___342 = 4,
    DT_BLK___342 = 6,
    DT_REG___342 = 8,
    DT_LNK___342 = 10,
    DT_SOCK___342 = 12,
    DT_WHT___342 = 14
} ;
enum __anonenum_77002343___342 {
    SI_ASYNCNL___342 = -60,
    SI_TKILL___342 = -6,
    SI_SIGIO___342 = -5,
    SI_ASYNCIO___342 = -4,
    SI_MESGQ___342 = -3,
    SI_TIMER___342 = -2,
    SI_QUEUE___342 = -1,
    SI_USER___342 = 0,
    SI_KERNEL___342 = 128
} ;
enum __anonenum_131038172___342 {
    ILL_ILLOPC___342 = 1,
    ILL_ILLOPN___342 = 2,
    ILL_ILLADR___342 = 3,
    ILL_ILLTRP___342 = 4,
    ILL_PRVOPC___342 = 5,
    ILL_PRVREG___342 = 6,
    ILL_COPROC___342 = 7,
    ILL_BADSTK___342 = 8
} ;
enum __anonenum_452038093___342 {
    FPE_INTDIV___342 = 1,
    FPE_INTOVF___342 = 2,
    FPE_FLTDIV___342 = 3,
    FPE_FLTOVF___342 = 4,
    FPE_FLTUND___342 = 5,
    FPE_FLTRES___342 = 6,
    FPE_FLTINV___342 = 7,
    FPE_FLTSUB___342 = 8
} ;
enum __anonenum_30976155___342 {
    SEGV_MAPERR___342 = 1,
    SEGV_ACCERR___342 = 2,
    SEGV_BNDERR___342 = 3,
    SEGV_PKUERR___342 = 4
} ;
enum __anonenum_1036286214___342 {
    BUS_ADRALN___342 = 1,
    BUS_ADRERR___342 = 2,
    BUS_OBJERR___342 = 3,
    BUS_MCEERR_AR___342 = 4,
    BUS_MCEERR_AO___342 = 5
} ;
enum __anonenum_493465559___342 {
    TRAP_BRKPT___342 = 1,
    TRAP_TRACE___342 = 2
} ;
enum __anonenum_23175539___342 {
    CLD_EXITED___342 = 1,
    CLD_KILLED___342 = 2,
    CLD_DUMPED___342 = 3,
    CLD_TRAPPED___342 = 4,
    CLD_STOPPED___342 = 5,
    CLD_CONTINUED___342 = 6
} ;
enum __anonenum_111643124___342 {
    POLL_IN___342 = 1,
    POLL_OUT___342 = 2,
    POLL_MSG___342 = 3,
    POLL_ERR___342 = 4,
    POLL_PRI___342 = 5,
    POLL_HUP___342 = 6
} ;
enum __anonenum_852341087___342 {
    SIGEV_SIGNAL___342 = 0,
    SIGEV_NONE___342 = 1,
    SIGEV_THREAD___342 = 2,
    SIGEV_THREAD_ID___342 = 4
} ;
enum __anonenum_451154152___342 {
    REG_R8___342 = 0,
    REG_R9___342 = 1,
    REG_R10___342 = 2,
    REG_R11___342 = 3,
    REG_R12___342 = 4,
    REG_R13___342 = 5,
    REG_R14___342 = 6,
    REG_R15___342 = 7,
    REG_RDI___342 = 8,
    REG_RSI___342 = 9,
    REG_RBP___342 = 10,
    REG_RBX___342 = 11,
    REG_RDX___342 = 12,
    REG_RAX___342 = 13,
    REG_RCX___342 = 14,
    REG_RSP___342 = 15,
    REG_RIP___342 = 16,
    REG_EFL___342 = 17,
    REG_CSGSFS___342 = 18,
    REG_ERR___342 = 19,
    REG_TRAPNO___342 = 20,
    REG_OLDMASK___342 = 21,
    REG_CR2___342 = 22
} ;
enum __anonenum_57186863___342 {
    SS_ONSTACK___342 = 1,
    SS_DISABLE___342 = 2
} ;
enum __anonenum_83571709___342 {
    MSG_OOB___342 = 1,
    MSG_PEEK___342 = 2,
    MSG_DONTROUTE___342 = 4,
    MSG_TRYHARD___342 = 4,
    MSG_CTRUNC___342 = 8,
    MSG_PROXY___342 = 16,
    MSG_TRUNC___342 = 32,
    MSG_DONTWAIT___342 = 64,
    MSG_EOR___342 = 128,
    MSG_WAITALL___342 = 256,
    MSG_FIN___342 = 512,
    MSG_SYN___342 = 1024,
    MSG_CONFIRM___342 = 2048,
    MSG_RST___342 = 4096,
    MSG_ERRQUEUE___342 = 8192,
    MSG_NOSIGNAL___342 = 16384,
    MSG_MORE___342 = 32768,
    MSG_WAITFORONE___342 = 65536,
    MSG_BATCH___342 = 262144,
    MSG_ZEROCOPY___342 = 67108864,
    MSG_FASTOPEN___342 = 536870912,
    MSG_CMSG_CLOEXEC___342 = 1073741824
} ;
enum __anonenum_617082774___342 {
    SCM_RIGHTS___342 = 1,
    SCM_CREDENTIALS___342 = 2
} ;
enum __anonenum_606441560___342 {
    SHUT_RD___342 = 0,
    SHUT_WR___342 = 1,
    SHUT_RDWR___342 = 2
} ;
enum __anonenum_681669233___342 {
    IPPROTO_IP___342 = 0,
    IPPROTO_ICMP___342 = 1,
    IPPROTO_IGMP___342 = 2,
    IPPROTO_IPIP___342 = 4,
    IPPROTO_TCP___342 = 6,
    IPPROTO_EGP___342 = 8,
    IPPROTO_PUP___342 = 12,
    IPPROTO_UDP___342 = 17,
    IPPROTO_IDP___342 = 22,
    IPPROTO_TP___342 = 29,
    IPPROTO_DCCP___342 = 33,
    IPPROTO_IPV6___342 = 41,
    IPPROTO_RSVP___342 = 46,
    IPPROTO_GRE___342 = 47,
    IPPROTO_ESP___342 = 50,
    IPPROTO_AH___342 = 51,
    IPPROTO_MTP___342 = 92,
    IPPROTO_BEETPH___342 = 94,
    IPPROTO_ENCAP___342 = 98,
    IPPROTO_PIM___342 = 103,
    IPPROTO_COMP___342 = 108,
    IPPROTO_SCTP___342 = 132,
    IPPROTO_UDPLITE___342 = 136,
    IPPROTO_MPLS___342 = 137,
    IPPROTO_RAW___342 = 255,
    IPPROTO_MAX___342 = 256
} ;
enum __anonenum_218739988___342 {
    IPPROTO_HOPOPTS___342 = 0,
    IPPROTO_ROUTING___342 = 43,
    IPPROTO_FRAGMENT___342 = 44,
    IPPROTO_ICMPV6___342 = 58,
    IPPROTO_NONE___342 = 59,
    IPPROTO_DSTOPTS___342 = 60,
    IPPROTO_MH___342 = 135
} ;
enum __anonenum_662268580___342 {
    IPPORT_ECHO___342 = 7,
    IPPORT_DISCARD___342 = 9,
    IPPORT_SYSTAT___342 = 11,
    IPPORT_DAYTIME___342 = 13,
    IPPORT_NETSTAT___342 = 15,
    IPPORT_FTP___342 = 21,
    IPPORT_TELNET___342 = 23,
    IPPORT_SMTP___342 = 25,
    IPPORT_TIMESERVER___342 = 37,
    IPPORT_NAMESERVER___342 = 42,
    IPPORT_WHOIS___342 = 43,
    IPPORT_MTP___342 = 57,
    IPPORT_TFTP___342 = 69,
    IPPORT_RJE___342 = 77,
    IPPORT_FINGER___342 = 79,
    IPPORT_TTYLINK___342 = 87,
    IPPORT_SUPDUP___342 = 95,
    IPPORT_EXECSERVER___342 = 512,
    IPPORT_LOGINSERVER___342 = 513,
    IPPORT_CMDSERVER___342 = 514,
    IPPORT_EFSSERVER___342 = 520,
    IPPORT_BIFFUDP___342 = 512,
    IPPORT_WHOSERVER___342 = 513,
    IPPORT_ROUTESERVER___342 = 520,
    IPPORT_RESERVED___342 = 1024,
    IPPORT_USERRESERVED___342 = 5000
} ;
enum __anonenum_788308992___342 {
    TCP_ESTABLISHED___342 = 1,
    TCP_SYN_SENT___342 = 2,
    TCP_SYN_RECV___342 = 3,
    TCP_FIN_WAIT1___342 = 4,
    TCP_FIN_WAIT2___342 = 5,
    TCP_TIME_WAIT___342 = 6,
    TCP_CLOSE___342 = 7,
    TCP_CLOSE_WAIT___342 = 8,
    TCP_LAST_ACK___342 = 9,
    TCP_LISTEN___342 = 10,
    TCP_CLOSING___342 = 11
} ;
enum __anonenum_221125648___342 {
    TCP_NO_QUEUE___342 = 0,
    TCP_RECV_QUEUE___342 = 1,
    TCP_SEND_QUEUE___342 = 2,
    TCP_QUEUES_NR___342 = 3
} ;
enum __anonenum_34415463___342 {
    PTHREAD_CREATE_JOINABLE___342 = 0,
    PTHREAD_CREATE_DETACHED___342 = 1
} ;
enum __anonenum_303612439___342 {
    PTHREAD_MUTEX_TIMED_NP___342 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___342 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___342 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___342 = 3,
    PTHREAD_MUTEX_NORMAL___342 = 0,
    PTHREAD_MUTEX_RECURSIVE___342 = 1,
    PTHREAD_MUTEX_ERRORCHECK___342 = 2,
    PTHREAD_MUTEX_DEFAULT___342 = 0,
    PTHREAD_MUTEX_FAST_NP___342 = 0
} ;
enum __anonenum_931900394___342 {
    PTHREAD_MUTEX_STALLED___342 = 0,
    PTHREAD_MUTEX_STALLED_NP___342 = 0,
    PTHREAD_MUTEX_ROBUST___342 = 1,
    PTHREAD_MUTEX_ROBUST_NP___342 = 1
} ;
enum __anonenum_205214487___342 {
    PTHREAD_PRIO_NONE___342 = 0,
    PTHREAD_PRIO_INHERIT___342 = 1,
    PTHREAD_PRIO_PROTECT___342 = 2
} ;
enum __anonenum_25043950___342 {
    PTHREAD_RWLOCK_PREFER_READER_NP___342 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___342 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___342 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___342 = 0
} ;
enum __anonenum_436439511___342 {
    PTHREAD_INHERIT_SCHED___342 = 0,
    PTHREAD_EXPLICIT_SCHED___342 = 1
} ;
enum __anonenum_998661166___342 {
    PTHREAD_SCOPE_SYSTEM___342 = 0,
    PTHREAD_SCOPE_PROCESS___342 = 1
} ;
enum __anonenum_146137331___342 {
    PTHREAD_PROCESS_PRIVATE___342 = 0,
    PTHREAD_PROCESS_SHARED___342 = 1
} ;
enum __anonenum_53396917___342 {
    PTHREAD_CANCEL_ENABLE___342 = 0,
    PTHREAD_CANCEL_DISABLE___342 = 1
} ;
enum __anonenum_904563783___342 {
    PTHREAD_CANCEL_DEFERRED___342 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___342 = 1
} ;
enum __anonenum_672052974___342 {
    SSL_CT_VALIDATION_PERMISSIVE___342 = 0,
    SSL_CT_VALIDATION_STRICT___342 = 1
} ;
enum __anonenum_write_bitmap_index_529642322 {
    WRITE_BITMAP_FALSE = 0,
    WRITE_BITMAP_QUIET = 1,
    WRITE_BITMAP_TRUE = 2
} ;
struct configured_exclusion {
   struct oidmap_entry e ;
   char *pack_hash_hex ;
   char *uri ;
};
enum write_one_status {
    WRITE_ONE_SKIP = -1,
    WRITE_ONE_BREAK = 0,
    WRITE_ONE_WRITTEN = 1,
    WRITE_ONE_RECURSIVE = 2
} ;
struct reused_chunk {
   off_t original ;
   off_t difference ;
};
struct pbase_tree_cache {
   struct object_id oid ;
   int ref ;
   int temporary ;
   void *tree_data ;
   unsigned long tree_size ;
};
struct pbase_tree {
   struct pbase_tree *next ;
   struct pbase_tree_cache pcache ;
};
struct unpacked {
   struct object_entry *entry ;
   void *data ;
   struct delta_index *index ;
   unsigned int depth ;
};
struct thread_params {
   pthread_t thread ;
   struct object_entry **list ;
   unsigned int list_size ;
   unsigned int remaining ;
   int window ;
   int depth ;
   int working ;
   int data_ready ;
   pthread_mutex_t mutex ;
   pthread_cond_t cond ;
   unsigned int *processed ;
};
enum __anonenum_437032235___343 {
    _PC_LINK_MAX___343 = 0,
    _PC_MAX_CANON___343 = 1,
    _PC_MAX_INPUT___343 = 2,
    _PC_NAME_MAX___343 = 3,
    _PC_PATH_MAX___343 = 4,
    _PC_PIPE_BUF___343 = 5,
    _PC_CHOWN_RESTRICTED___343 = 6,
    _PC_NO_TRUNC___343 = 7,
    _PC_VDISABLE___343 = 8,
    _PC_SYNC_IO___343 = 9,
    _PC_ASYNC_IO___343 = 10,
    _PC_PRIO_IO___343 = 11,
    _PC_SOCK_MAXBUF___343 = 12,
    _PC_FILESIZEBITS___343 = 13,
    _PC_REC_INCR_XFER_SIZE___343 = 14,
    _PC_REC_MAX_XFER_SIZE___343 = 15,
    _PC_REC_MIN_XFER_SIZE___343 = 16,
    _PC_REC_XFER_ALIGN___343 = 17,
    _PC_ALLOC_SIZE_MIN___343 = 18,
    _PC_SYMLINK_MAX___343 = 19,
    _PC_2_SYMLINKS___343 = 20
} ;
enum __anonenum_315186338___343 {
    _SC_ARG_MAX___343 = 0,
    _SC_CHILD_MAX___343 = 1,
    _SC_CLK_TCK___343 = 2,
    _SC_NGROUPS_MAX___343 = 3,
    _SC_OPEN_MAX___343 = 4,
    _SC_STREAM_MAX___343 = 5,
    _SC_TZNAME_MAX___343 = 6,
    _SC_JOB_CONTROL___343 = 7,
    _SC_SAVED_IDS___343 = 8,
    _SC_REALTIME_SIGNALS___343 = 9,
    _SC_PRIORITY_SCHEDULING___343 = 10,
    _SC_TIMERS___343 = 11,
    _SC_ASYNCHRONOUS_IO___343 = 12,
    _SC_PRIORITIZED_IO___343 = 13,
    _SC_SYNCHRONIZED_IO___343 = 14,
    _SC_FSYNC___343 = 15,
    _SC_MAPPED_FILES___343 = 16,
    _SC_MEMLOCK___343 = 17,
    _SC_MEMLOCK_RANGE___343 = 18,
    _SC_MEMORY_PROTECTION___343 = 19,
    _SC_MESSAGE_PASSING___343 = 20,
    _SC_SEMAPHORES___343 = 21,
    _SC_SHARED_MEMORY_OBJECTS___343 = 22,
    _SC_AIO_LISTIO_MAX___343 = 23,
    _SC_AIO_MAX___343 = 24,
    _SC_AIO_PRIO_DELTA_MAX___343 = 25,
    _SC_DELAYTIMER_MAX___343 = 26,
    _SC_MQ_OPEN_MAX___343 = 27,
    _SC_MQ_PRIO_MAX___343 = 28,
    _SC_VERSION___343 = 29,
    _SC_PAGESIZE___343 = 30,
    _SC_RTSIG_MAX___343 = 31,
    _SC_SEM_NSEMS_MAX___343 = 32,
    _SC_SEM_VALUE_MAX___343 = 33,
    _SC_SIGQUEUE_MAX___343 = 34,
    _SC_TIMER_MAX___343 = 35,
    _SC_BC_BASE_MAX___343 = 36,
    _SC_BC_DIM_MAX___343 = 37,
    _SC_BC_SCALE_MAX___343 = 38,
    _SC_BC_STRING_MAX___343 = 39,
    _SC_COLL_WEIGHTS_MAX___343 = 40,
    _SC_EQUIV_CLASS_MAX___343 = 41,
    _SC_EXPR_NEST_MAX___343 = 42,
    _SC_LINE_MAX___343 = 43,
    _SC_RE_DUP_MAX___343 = 44,
    _SC_CHARCLASS_NAME_MAX___343 = 45,
    _SC_2_VERSION___343 = 46,
    _SC_2_C_BIND___343 = 47,
    _SC_2_C_DEV___343 = 48,
    _SC_2_FORT_DEV___343 = 49,
    _SC_2_FORT_RUN___343 = 50,
    _SC_2_SW_DEV___343 = 51,
    _SC_2_LOCALEDEF___343 = 52,
    _SC_PII___343 = 53,
    _SC_PII_XTI___343 = 54,
    _SC_PII_SOCKET___343 = 55,
    _SC_PII_INTERNET___343 = 56,
    _SC_PII_OSI___343 = 57,
    _SC_POLL___343 = 58,
    _SC_SELECT___343 = 59,
    _SC_UIO_MAXIOV___343 = 60,
    _SC_IOV_MAX___343 = 60,
    _SC_PII_INTERNET_STREAM___343 = 61,
    _SC_PII_INTERNET_DGRAM___343 = 62,
    _SC_PII_OSI_COTS___343 = 63,
    _SC_PII_OSI_CLTS___343 = 64,
    _SC_PII_OSI_M___343 = 65,
    _SC_T_IOV_MAX___343 = 66,
    _SC_THREADS___343 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___343 = 68,
    _SC_GETGR_R_SIZE_MAX___343 = 69,
    _SC_GETPW_R_SIZE_MAX___343 = 70,
    _SC_LOGIN_NAME_MAX___343 = 71,
    _SC_TTY_NAME_MAX___343 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___343 = 73,
    _SC_THREAD_KEYS_MAX___343 = 74,
    _SC_THREAD_STACK_MIN___343 = 75,
    _SC_THREAD_THREADS_MAX___343 = 76,
    _SC_THREAD_ATTR_STACKADDR___343 = 77,
    _SC_THREAD_ATTR_STACKSIZE___343 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___343 = 79,
    _SC_THREAD_PRIO_INHERIT___343 = 80,
    _SC_THREAD_PRIO_PROTECT___343 = 81,
    _SC_THREAD_PROCESS_SHARED___343 = 82,
    _SC_NPROCESSORS_CONF___343 = 83,
    _SC_NPROCESSORS_ONLN___343 = 84,
    _SC_PHYS_PAGES___343 = 85,
    _SC_AVPHYS_PAGES___343 = 86,
    _SC_ATEXIT_MAX___343 = 87,
    _SC_PASS_MAX___343 = 88,
    _SC_XOPEN_VERSION___343 = 89,
    _SC_XOPEN_XCU_VERSION___343 = 90,
    _SC_XOPEN_UNIX___343 = 91,
    _SC_XOPEN_CRYPT___343 = 92,
    _SC_XOPEN_ENH_I18N___343 = 93,
    _SC_XOPEN_SHM___343 = 94,
    _SC_2_CHAR_TERM___343 = 95,
    _SC_2_C_VERSION___343 = 96,
    _SC_2_UPE___343 = 97,
    _SC_XOPEN_XPG2___343 = 98,
    _SC_XOPEN_XPG3___343 = 99,
    _SC_XOPEN_XPG4___343 = 100,
    _SC_CHAR_BIT___343 = 101,
    _SC_CHAR_MAX___343 = 102,
    _SC_CHAR_MIN___343 = 103,
    _SC_INT_MAX___343 = 104,
    _SC_INT_MIN___343 = 105,
    _SC_LONG_BIT___343 = 106,
    _SC_WORD_BIT___343 = 107,
    _SC_MB_LEN_MAX___343 = 108,
    _SC_NZERO___343 = 109,
    _SC_SSIZE_MAX___343 = 110,
    _SC_SCHAR_MAX___343 = 111,
    _SC_SCHAR_MIN___343 = 112,
    _SC_SHRT_MAX___343 = 113,
    _SC_SHRT_MIN___343 = 114,
    _SC_UCHAR_MAX___343 = 115,
    _SC_UINT_MAX___343 = 116,
    _SC_ULONG_MAX___343 = 117,
    _SC_USHRT_MAX___343 = 118,
    _SC_NL_ARGMAX___343 = 119,
    _SC_NL_LANGMAX___343 = 120,
    _SC_NL_MSGMAX___343 = 121,
    _SC_NL_NMAX___343 = 122,
    _SC_NL_SETMAX___343 = 123,
    _SC_NL_TEXTMAX___343 = 124,
    _SC_XBS5_ILP32_OFF32___343 = 125,
    _SC_XBS5_ILP32_OFFBIG___343 = 126,
    _SC_XBS5_LP64_OFF64___343 = 127,
    _SC_XBS5_LPBIG_OFFBIG___343 = 128,
    _SC_XOPEN_LEGACY___343 = 129,
    _SC_XOPEN_REALTIME___343 = 130,
    _SC_XOPEN_REALTIME_THREADS___343 = 131,
    _SC_ADVISORY_INFO___343 = 132,
    _SC_BARRIERS___343 = 133,
    _SC_BASE___343 = 134,
    _SC_C_LANG_SUPPORT___343 = 135,
    _SC_C_LANG_SUPPORT_R___343 = 136,
    _SC_CLOCK_SELECTION___343 = 137,
    _SC_CPUTIME___343 = 138,
    _SC_THREAD_CPUTIME___343 = 139,
    _SC_DEVICE_IO___343 = 140,
    _SC_DEVICE_SPECIFIC___343 = 141,
    _SC_DEVICE_SPECIFIC_R___343 = 142,
    _SC_FD_MGMT___343 = 143,
    _SC_FIFO___343 = 144,
    _SC_PIPE___343 = 145,
    _SC_FILE_ATTRIBUTES___343 = 146,
    _SC_FILE_LOCKING___343 = 147,
    _SC_FILE_SYSTEM___343 = 148,
    _SC_MONOTONIC_CLOCK___343 = 149,
    _SC_MULTI_PROCESS___343 = 150,
    _SC_SINGLE_PROCESS___343 = 151,
    _SC_NETWORKING___343 = 152,
    _SC_READER_WRITER_LOCKS___343 = 153,
    _SC_SPIN_LOCKS___343 = 154,
    _SC_REGEXP___343 = 155,
    _SC_REGEX_VERSION___343 = 156,
    _SC_SHELL___343 = 157,
    _SC_SIGNALS___343 = 158,
    _SC_SPAWN___343 = 159,
    _SC_SPORADIC_SERVER___343 = 160,
    _SC_THREAD_SPORADIC_SERVER___343 = 161,
    _SC_SYSTEM_DATABASE___343 = 162,
    _SC_SYSTEM_DATABASE_R___343 = 163,
    _SC_TIMEOUTS___343 = 164,
    _SC_TYPED_MEMORY_OBJECTS___343 = 165,
    _SC_USER_GROUPS___343 = 166,
    _SC_USER_GROUPS_R___343 = 167,
    _SC_2_PBS___343 = 168,
    _SC_2_PBS_ACCOUNTING___343 = 169,
    _SC_2_PBS_LOCATE___343 = 170,
    _SC_2_PBS_MESSAGE___343 = 171,
    _SC_2_PBS_TRACK___343 = 172,
    _SC_SYMLOOP_MAX___343 = 173,
    _SC_STREAMS___343 = 174,
    _SC_2_PBS_CHECKPOINT___343 = 175,
    _SC_V6_ILP32_OFF32___343 = 176,
    _SC_V6_ILP32_OFFBIG___343 = 177,
    _SC_V6_LP64_OFF64___343 = 178,
    _SC_V6_LPBIG_OFFBIG___343 = 179,
    _SC_HOST_NAME_MAX___343 = 180,
    _SC_TRACE___343 = 181,
    _SC_TRACE_EVENT_FILTER___343 = 182,
    _SC_TRACE_INHERIT___343 = 183,
    _SC_TRACE_LOG___343 = 184,
    _SC_LEVEL1_ICACHE_SIZE___343 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___343 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___343 = 187,
    _SC_LEVEL1_DCACHE_SIZE___343 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___343 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___343 = 190,
    _SC_LEVEL2_CACHE_SIZE___343 = 191,
    _SC_LEVEL2_CACHE_ASSOC___343 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___343 = 193,
    _SC_LEVEL3_CACHE_SIZE___343 = 194,
    _SC_LEVEL3_CACHE_ASSOC___343 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___343 = 196,
    _SC_LEVEL4_CACHE_SIZE___343 = 197,
    _SC_LEVEL4_CACHE_ASSOC___343 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___343 = 199,
    _SC_IPV6___343 = 235,
    _SC_RAW_SOCKETS___343 = 236,
    _SC_V7_ILP32_OFF32___343 = 237,
    _SC_V7_ILP32_OFFBIG___343 = 238,
    _SC_V7_LP64_OFF64___343 = 239,
    _SC_V7_LPBIG_OFFBIG___343 = 240,
    _SC_SS_REPL_MAX___343 = 241,
    _SC_TRACE_EVENT_NAME_MAX___343 = 242,
    _SC_TRACE_NAME_MAX___343 = 243,
    _SC_TRACE_SYS_MAX___343 = 244,
    _SC_TRACE_USER_EVENT_MAX___343 = 245,
    _SC_XOPEN_STREAMS___343 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___343 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___343 = 248
} ;
enum __anonenum_875524036___343 {
    _CS_PATH___343 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___343 = 1,
    _CS_GNU_LIBC_VERSION___343 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___343 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___343 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___343 = 5,
    _CS_LFS_CFLAGS___343 = 1000,
    _CS_LFS_LDFLAGS___343 = 1001,
    _CS_LFS_LIBS___343 = 1002,
    _CS_LFS_LINTFLAGS___343 = 1003,
    _CS_LFS64_CFLAGS___343 = 1004,
    _CS_LFS64_LDFLAGS___343 = 1005,
    _CS_LFS64_LIBS___343 = 1006,
    _CS_LFS64_LINTFLAGS___343 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___343 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___343 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___343 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___343 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___343 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___343 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___343 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___343 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___343 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___343 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___343 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___343 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___343 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___343 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___343 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___343 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___343 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___343 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___343 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___343 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___343 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___343 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___343 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___343 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___343 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___343 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___343 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___343 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___343 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___343 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___343 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___343 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___343 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___343 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___343 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___343 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___343 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___343 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___343 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___343 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___343 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___343 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___343 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___343 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___343 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___343 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___343 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___343 = 1147,
    _CS_V6_ENV___343 = 1148,
    _CS_V7_ENV___343 = 1149
} ;
enum __anonenum_513775621___343 {
    DT_UNKNOWN___343 = 0,
    DT_FIFO___343 = 1,
    DT_CHR___343 = 2,
    DT_DIR___343 = 4,
    DT_BLK___343 = 6,
    DT_REG___343 = 8,
    DT_LNK___343 = 10,
    DT_SOCK___343 = 12,
    DT_WHT___343 = 14
} ;
enum __anonenum_77002343___343 {
    SI_ASYNCNL___343 = -60,
    SI_TKILL___343 = -6,
    SI_SIGIO___343 = -5,
    SI_ASYNCIO___343 = -4,
    SI_MESGQ___343 = -3,
    SI_TIMER___343 = -2,
    SI_QUEUE___343 = -1,
    SI_USER___343 = 0,
    SI_KERNEL___343 = 128
} ;
enum __anonenum_131038172___343 {
    ILL_ILLOPC___343 = 1,
    ILL_ILLOPN___343 = 2,
    ILL_ILLADR___343 = 3,
    ILL_ILLTRP___343 = 4,
    ILL_PRVOPC___343 = 5,
    ILL_PRVREG___343 = 6,
    ILL_COPROC___343 = 7,
    ILL_BADSTK___343 = 8
} ;
enum __anonenum_452038093___343 {
    FPE_INTDIV___343 = 1,
    FPE_INTOVF___343 = 2,
    FPE_FLTDIV___343 = 3,
    FPE_FLTOVF___343 = 4,
    FPE_FLTUND___343 = 5,
    FPE_FLTRES___343 = 6,
    FPE_FLTINV___343 = 7,
    FPE_FLTSUB___343 = 8
} ;
enum __anonenum_30976155___343 {
    SEGV_MAPERR___343 = 1,
    SEGV_ACCERR___343 = 2,
    SEGV_BNDERR___343 = 3,
    SEGV_PKUERR___343 = 4
} ;
enum __anonenum_1036286214___343 {
    BUS_ADRALN___343 = 1,
    BUS_ADRERR___343 = 2,
    BUS_OBJERR___343 = 3,
    BUS_MCEERR_AR___343 = 4,
    BUS_MCEERR_AO___343 = 5
} ;
enum __anonenum_493465559___343 {
    TRAP_BRKPT___343 = 1,
    TRAP_TRACE___343 = 2
} ;
enum __anonenum_23175539___343 {
    CLD_EXITED___343 = 1,
    CLD_KILLED___343 = 2,
    CLD_DUMPED___343 = 3,
    CLD_TRAPPED___343 = 4,
    CLD_STOPPED___343 = 5,
    CLD_CONTINUED___343 = 6
} ;
enum __anonenum_111643124___343 {
    POLL_IN___343 = 1,
    POLL_OUT___343 = 2,
    POLL_MSG___343 = 3,
    POLL_ERR___343 = 4,
    POLL_PRI___343 = 5,
    POLL_HUP___343 = 6
} ;
enum __anonenum_852341087___343 {
    SIGEV_SIGNAL___343 = 0,
    SIGEV_NONE___343 = 1,
    SIGEV_THREAD___343 = 2,
    SIGEV_THREAD_ID___343 = 4
} ;
enum __anonenum_451154152___343 {
    REG_R8___343 = 0,
    REG_R9___343 = 1,
    REG_R10___343 = 2,
    REG_R11___343 = 3,
    REG_R12___343 = 4,
    REG_R13___343 = 5,
    REG_R14___343 = 6,
    REG_R15___343 = 7,
    REG_RDI___343 = 8,
    REG_RSI___343 = 9,
    REG_RBP___343 = 10,
    REG_RBX___343 = 11,
    REG_RDX___343 = 12,
    REG_RAX___343 = 13,
    REG_RCX___343 = 14,
    REG_RSP___343 = 15,
    REG_RIP___343 = 16,
    REG_EFL___343 = 17,
    REG_CSGSFS___343 = 18,
    REG_ERR___343 = 19,
    REG_TRAPNO___343 = 20,
    REG_OLDMASK___343 = 21,
    REG_CR2___343 = 22
} ;
enum __anonenum_57186863___343 {
    SS_ONSTACK___343 = 1,
    SS_DISABLE___343 = 2
} ;
enum __anonenum_83571709___343 {
    MSG_OOB___343 = 1,
    MSG_PEEK___343 = 2,
    MSG_DONTROUTE___343 = 4,
    MSG_TRYHARD___343 = 4,
    MSG_CTRUNC___343 = 8,
    MSG_PROXY___343 = 16,
    MSG_TRUNC___343 = 32,
    MSG_DONTWAIT___343 = 64,
    MSG_EOR___343 = 128,
    MSG_WAITALL___343 = 256,
    MSG_FIN___343 = 512,
    MSG_SYN___343 = 1024,
    MSG_CONFIRM___343 = 2048,
    MSG_RST___343 = 4096,
    MSG_ERRQUEUE___343 = 8192,
    MSG_NOSIGNAL___343 = 16384,
    MSG_MORE___343 = 32768,
    MSG_WAITFORONE___343 = 65536,
    MSG_BATCH___343 = 262144,
    MSG_ZEROCOPY___343 = 67108864,
    MSG_FASTOPEN___343 = 536870912,
    MSG_CMSG_CLOEXEC___343 = 1073741824
} ;
enum __anonenum_617082774___343 {
    SCM_RIGHTS___343 = 1,
    SCM_CREDENTIALS___343 = 2
} ;
enum __anonenum_606441560___343 {
    SHUT_RD___343 = 0,
    SHUT_WR___343 = 1,
    SHUT_RDWR___343 = 2
} ;
enum __anonenum_681669233___343 {
    IPPROTO_IP___343 = 0,
    IPPROTO_ICMP___343 = 1,
    IPPROTO_IGMP___343 = 2,
    IPPROTO_IPIP___343 = 4,
    IPPROTO_TCP___343 = 6,
    IPPROTO_EGP___343 = 8,
    IPPROTO_PUP___343 = 12,
    IPPROTO_UDP___343 = 17,
    IPPROTO_IDP___343 = 22,
    IPPROTO_TP___343 = 29,
    IPPROTO_DCCP___343 = 33,
    IPPROTO_IPV6___343 = 41,
    IPPROTO_RSVP___343 = 46,
    IPPROTO_GRE___343 = 47,
    IPPROTO_ESP___343 = 50,
    IPPROTO_AH___343 = 51,
    IPPROTO_MTP___343 = 92,
    IPPROTO_BEETPH___343 = 94,
    IPPROTO_ENCAP___343 = 98,
    IPPROTO_PIM___343 = 103,
    IPPROTO_COMP___343 = 108,
    IPPROTO_SCTP___343 = 132,
    IPPROTO_UDPLITE___343 = 136,
    IPPROTO_MPLS___343 = 137,
    IPPROTO_RAW___343 = 255,
    IPPROTO_MAX___343 = 256
} ;
enum __anonenum_218739988___343 {
    IPPROTO_HOPOPTS___343 = 0,
    IPPROTO_ROUTING___343 = 43,
    IPPROTO_FRAGMENT___343 = 44,
    IPPROTO_ICMPV6___343 = 58,
    IPPROTO_NONE___343 = 59,
    IPPROTO_DSTOPTS___343 = 60,
    IPPROTO_MH___343 = 135
} ;
enum __anonenum_662268580___343 {
    IPPORT_ECHO___343 = 7,
    IPPORT_DISCARD___343 = 9,
    IPPORT_SYSTAT___343 = 11,
    IPPORT_DAYTIME___343 = 13,
    IPPORT_NETSTAT___343 = 15,
    IPPORT_FTP___343 = 21,
    IPPORT_TELNET___343 = 23,
    IPPORT_SMTP___343 = 25,
    IPPORT_TIMESERVER___343 = 37,
    IPPORT_NAMESERVER___343 = 42,
    IPPORT_WHOIS___343 = 43,
    IPPORT_MTP___343 = 57,
    IPPORT_TFTP___343 = 69,
    IPPORT_RJE___343 = 77,
    IPPORT_FINGER___343 = 79,
    IPPORT_TTYLINK___343 = 87,
    IPPORT_SUPDUP___343 = 95,
    IPPORT_EXECSERVER___343 = 512,
    IPPORT_LOGINSERVER___343 = 513,
    IPPORT_CMDSERVER___343 = 514,
    IPPORT_EFSSERVER___343 = 520,
    IPPORT_BIFFUDP___343 = 512,
    IPPORT_WHOSERVER___343 = 513,
    IPPORT_ROUTESERVER___343 = 520,
    IPPORT_RESERVED___343 = 1024,
    IPPORT_USERRESERVED___343 = 5000
} ;
enum __anonenum_788308992___343 {
    TCP_ESTABLISHED___343 = 1,
    TCP_SYN_SENT___343 = 2,
    TCP_SYN_RECV___343 = 3,
    TCP_FIN_WAIT1___343 = 4,
    TCP_FIN_WAIT2___343 = 5,
    TCP_TIME_WAIT___343 = 6,
    TCP_CLOSE___343 = 7,
    TCP_CLOSE_WAIT___343 = 8,
    TCP_LAST_ACK___343 = 9,
    TCP_LISTEN___343 = 10,
    TCP_CLOSING___343 = 11
} ;
enum __anonenum_221125648___343 {
    TCP_NO_QUEUE___343 = 0,
    TCP_RECV_QUEUE___343 = 1,
    TCP_SEND_QUEUE___343 = 2,
    TCP_QUEUES_NR___343 = 3
} ;
enum __anonenum_34415463___343 {
    PTHREAD_CREATE_JOINABLE___343 = 0,
    PTHREAD_CREATE_DETACHED___343 = 1
} ;
enum __anonenum_303612439___343 {
    PTHREAD_MUTEX_TIMED_NP___343 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___343 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___343 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___343 = 3,
    PTHREAD_MUTEX_NORMAL___343 = 0,
    PTHREAD_MUTEX_RECURSIVE___343 = 1,
    PTHREAD_MUTEX_ERRORCHECK___343 = 2,
    PTHREAD_MUTEX_DEFAULT___343 = 0,
    PTHREAD_MUTEX_FAST_NP___343 = 0
} ;
enum __anonenum_931900394___343 {
    PTHREAD_MUTEX_STALLED___343 = 0,
    PTHREAD_MUTEX_STALLED_NP___343 = 0,
    PTHREAD_MUTEX_ROBUST___343 = 1,
    PTHREAD_MUTEX_ROBUST_NP___343 = 1
} ;
enum __anonenum_205214487___343 {
    PTHREAD_PRIO_NONE___343 = 0,
    PTHREAD_PRIO_INHERIT___343 = 1,
    PTHREAD_PRIO_PROTECT___343 = 2
} ;
enum __anonenum_25043950___343 {
    PTHREAD_RWLOCK_PREFER_READER_NP___343 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___343 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___343 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___343 = 0
} ;
enum __anonenum_436439511___343 {
    PTHREAD_INHERIT_SCHED___343 = 0,
    PTHREAD_EXPLICIT_SCHED___343 = 1
} ;
enum __anonenum_998661166___343 {
    PTHREAD_SCOPE_SYSTEM___343 = 0,
    PTHREAD_SCOPE_PROCESS___343 = 1
} ;
enum __anonenum_146137331___343 {
    PTHREAD_PROCESS_PRIVATE___343 = 0,
    PTHREAD_PROCESS_SHARED___343 = 1
} ;
enum __anonenum_53396917___343 {
    PTHREAD_CANCEL_ENABLE___343 = 0,
    PTHREAD_CANCEL_DISABLE___343 = 1
} ;
enum __anonenum_904563783___343 {
    PTHREAD_CANCEL_DEFERRED___343 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___343 = 1
} ;
enum __anonenum_672052974___343 {
    SSL_CT_VALIDATION_PERMISSIVE___343 = 0,
    SSL_CT_VALIDATION_STRICT___343 = 1
} ;
struct llist_item {
   struct llist_item *next ;
   struct object_id oid ;
};
struct llist {
   struct llist_item *front ;
   struct llist_item *back ;
   size_t size ;
};
struct pack_list {
   struct pack_list *next ;
   struct packed_git *pack ;
   struct llist *unique_objects ;
   struct llist *remaining_objects ;
   size_t all_objects_size ;
};
enum __anonenum_437032235___344 {
    _PC_LINK_MAX___344 = 0,
    _PC_MAX_CANON___344 = 1,
    _PC_MAX_INPUT___344 = 2,
    _PC_NAME_MAX___344 = 3,
    _PC_PATH_MAX___344 = 4,
    _PC_PIPE_BUF___344 = 5,
    _PC_CHOWN_RESTRICTED___344 = 6,
    _PC_NO_TRUNC___344 = 7,
    _PC_VDISABLE___344 = 8,
    _PC_SYNC_IO___344 = 9,
    _PC_ASYNC_IO___344 = 10,
    _PC_PRIO_IO___344 = 11,
    _PC_SOCK_MAXBUF___344 = 12,
    _PC_FILESIZEBITS___344 = 13,
    _PC_REC_INCR_XFER_SIZE___344 = 14,
    _PC_REC_MAX_XFER_SIZE___344 = 15,
    _PC_REC_MIN_XFER_SIZE___344 = 16,
    _PC_REC_XFER_ALIGN___344 = 17,
    _PC_ALLOC_SIZE_MIN___344 = 18,
    _PC_SYMLINK_MAX___344 = 19,
    _PC_2_SYMLINKS___344 = 20
} ;
enum __anonenum_315186338___344 {
    _SC_ARG_MAX___344 = 0,
    _SC_CHILD_MAX___344 = 1,
    _SC_CLK_TCK___344 = 2,
    _SC_NGROUPS_MAX___344 = 3,
    _SC_OPEN_MAX___344 = 4,
    _SC_STREAM_MAX___344 = 5,
    _SC_TZNAME_MAX___344 = 6,
    _SC_JOB_CONTROL___344 = 7,
    _SC_SAVED_IDS___344 = 8,
    _SC_REALTIME_SIGNALS___344 = 9,
    _SC_PRIORITY_SCHEDULING___344 = 10,
    _SC_TIMERS___344 = 11,
    _SC_ASYNCHRONOUS_IO___344 = 12,
    _SC_PRIORITIZED_IO___344 = 13,
    _SC_SYNCHRONIZED_IO___344 = 14,
    _SC_FSYNC___344 = 15,
    _SC_MAPPED_FILES___344 = 16,
    _SC_MEMLOCK___344 = 17,
    _SC_MEMLOCK_RANGE___344 = 18,
    _SC_MEMORY_PROTECTION___344 = 19,
    _SC_MESSAGE_PASSING___344 = 20,
    _SC_SEMAPHORES___344 = 21,
    _SC_SHARED_MEMORY_OBJECTS___344 = 22,
    _SC_AIO_LISTIO_MAX___344 = 23,
    _SC_AIO_MAX___344 = 24,
    _SC_AIO_PRIO_DELTA_MAX___344 = 25,
    _SC_DELAYTIMER_MAX___344 = 26,
    _SC_MQ_OPEN_MAX___344 = 27,
    _SC_MQ_PRIO_MAX___344 = 28,
    _SC_VERSION___344 = 29,
    _SC_PAGESIZE___344 = 30,
    _SC_RTSIG_MAX___344 = 31,
    _SC_SEM_NSEMS_MAX___344 = 32,
    _SC_SEM_VALUE_MAX___344 = 33,
    _SC_SIGQUEUE_MAX___344 = 34,
    _SC_TIMER_MAX___344 = 35,
    _SC_BC_BASE_MAX___344 = 36,
    _SC_BC_DIM_MAX___344 = 37,
    _SC_BC_SCALE_MAX___344 = 38,
    _SC_BC_STRING_MAX___344 = 39,
    _SC_COLL_WEIGHTS_MAX___344 = 40,
    _SC_EQUIV_CLASS_MAX___344 = 41,
    _SC_EXPR_NEST_MAX___344 = 42,
    _SC_LINE_MAX___344 = 43,
    _SC_RE_DUP_MAX___344 = 44,
    _SC_CHARCLASS_NAME_MAX___344 = 45,
    _SC_2_VERSION___344 = 46,
    _SC_2_C_BIND___344 = 47,
    _SC_2_C_DEV___344 = 48,
    _SC_2_FORT_DEV___344 = 49,
    _SC_2_FORT_RUN___344 = 50,
    _SC_2_SW_DEV___344 = 51,
    _SC_2_LOCALEDEF___344 = 52,
    _SC_PII___344 = 53,
    _SC_PII_XTI___344 = 54,
    _SC_PII_SOCKET___344 = 55,
    _SC_PII_INTERNET___344 = 56,
    _SC_PII_OSI___344 = 57,
    _SC_POLL___344 = 58,
    _SC_SELECT___344 = 59,
    _SC_UIO_MAXIOV___344 = 60,
    _SC_IOV_MAX___344 = 60,
    _SC_PII_INTERNET_STREAM___344 = 61,
    _SC_PII_INTERNET_DGRAM___344 = 62,
    _SC_PII_OSI_COTS___344 = 63,
    _SC_PII_OSI_CLTS___344 = 64,
    _SC_PII_OSI_M___344 = 65,
    _SC_T_IOV_MAX___344 = 66,
    _SC_THREADS___344 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___344 = 68,
    _SC_GETGR_R_SIZE_MAX___344 = 69,
    _SC_GETPW_R_SIZE_MAX___344 = 70,
    _SC_LOGIN_NAME_MAX___344 = 71,
    _SC_TTY_NAME_MAX___344 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___344 = 73,
    _SC_THREAD_KEYS_MAX___344 = 74,
    _SC_THREAD_STACK_MIN___344 = 75,
    _SC_THREAD_THREADS_MAX___344 = 76,
    _SC_THREAD_ATTR_STACKADDR___344 = 77,
    _SC_THREAD_ATTR_STACKSIZE___344 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___344 = 79,
    _SC_THREAD_PRIO_INHERIT___344 = 80,
    _SC_THREAD_PRIO_PROTECT___344 = 81,
    _SC_THREAD_PROCESS_SHARED___344 = 82,
    _SC_NPROCESSORS_CONF___344 = 83,
    _SC_NPROCESSORS_ONLN___344 = 84,
    _SC_PHYS_PAGES___344 = 85,
    _SC_AVPHYS_PAGES___344 = 86,
    _SC_ATEXIT_MAX___344 = 87,
    _SC_PASS_MAX___344 = 88,
    _SC_XOPEN_VERSION___344 = 89,
    _SC_XOPEN_XCU_VERSION___344 = 90,
    _SC_XOPEN_UNIX___344 = 91,
    _SC_XOPEN_CRYPT___344 = 92,
    _SC_XOPEN_ENH_I18N___344 = 93,
    _SC_XOPEN_SHM___344 = 94,
    _SC_2_CHAR_TERM___344 = 95,
    _SC_2_C_VERSION___344 = 96,
    _SC_2_UPE___344 = 97,
    _SC_XOPEN_XPG2___344 = 98,
    _SC_XOPEN_XPG3___344 = 99,
    _SC_XOPEN_XPG4___344 = 100,
    _SC_CHAR_BIT___344 = 101,
    _SC_CHAR_MAX___344 = 102,
    _SC_CHAR_MIN___344 = 103,
    _SC_INT_MAX___344 = 104,
    _SC_INT_MIN___344 = 105,
    _SC_LONG_BIT___344 = 106,
    _SC_WORD_BIT___344 = 107,
    _SC_MB_LEN_MAX___344 = 108,
    _SC_NZERO___344 = 109,
    _SC_SSIZE_MAX___344 = 110,
    _SC_SCHAR_MAX___344 = 111,
    _SC_SCHAR_MIN___344 = 112,
    _SC_SHRT_MAX___344 = 113,
    _SC_SHRT_MIN___344 = 114,
    _SC_UCHAR_MAX___344 = 115,
    _SC_UINT_MAX___344 = 116,
    _SC_ULONG_MAX___344 = 117,
    _SC_USHRT_MAX___344 = 118,
    _SC_NL_ARGMAX___344 = 119,
    _SC_NL_LANGMAX___344 = 120,
    _SC_NL_MSGMAX___344 = 121,
    _SC_NL_NMAX___344 = 122,
    _SC_NL_SETMAX___344 = 123,
    _SC_NL_TEXTMAX___344 = 124,
    _SC_XBS5_ILP32_OFF32___344 = 125,
    _SC_XBS5_ILP32_OFFBIG___344 = 126,
    _SC_XBS5_LP64_OFF64___344 = 127,
    _SC_XBS5_LPBIG_OFFBIG___344 = 128,
    _SC_XOPEN_LEGACY___344 = 129,
    _SC_XOPEN_REALTIME___344 = 130,
    _SC_XOPEN_REALTIME_THREADS___344 = 131,
    _SC_ADVISORY_INFO___344 = 132,
    _SC_BARRIERS___344 = 133,
    _SC_BASE___344 = 134,
    _SC_C_LANG_SUPPORT___344 = 135,
    _SC_C_LANG_SUPPORT_R___344 = 136,
    _SC_CLOCK_SELECTION___344 = 137,
    _SC_CPUTIME___344 = 138,
    _SC_THREAD_CPUTIME___344 = 139,
    _SC_DEVICE_IO___344 = 140,
    _SC_DEVICE_SPECIFIC___344 = 141,
    _SC_DEVICE_SPECIFIC_R___344 = 142,
    _SC_FD_MGMT___344 = 143,
    _SC_FIFO___344 = 144,
    _SC_PIPE___344 = 145,
    _SC_FILE_ATTRIBUTES___344 = 146,
    _SC_FILE_LOCKING___344 = 147,
    _SC_FILE_SYSTEM___344 = 148,
    _SC_MONOTONIC_CLOCK___344 = 149,
    _SC_MULTI_PROCESS___344 = 150,
    _SC_SINGLE_PROCESS___344 = 151,
    _SC_NETWORKING___344 = 152,
    _SC_READER_WRITER_LOCKS___344 = 153,
    _SC_SPIN_LOCKS___344 = 154,
    _SC_REGEXP___344 = 155,
    _SC_REGEX_VERSION___344 = 156,
    _SC_SHELL___344 = 157,
    _SC_SIGNALS___344 = 158,
    _SC_SPAWN___344 = 159,
    _SC_SPORADIC_SERVER___344 = 160,
    _SC_THREAD_SPORADIC_SERVER___344 = 161,
    _SC_SYSTEM_DATABASE___344 = 162,
    _SC_SYSTEM_DATABASE_R___344 = 163,
    _SC_TIMEOUTS___344 = 164,
    _SC_TYPED_MEMORY_OBJECTS___344 = 165,
    _SC_USER_GROUPS___344 = 166,
    _SC_USER_GROUPS_R___344 = 167,
    _SC_2_PBS___344 = 168,
    _SC_2_PBS_ACCOUNTING___344 = 169,
    _SC_2_PBS_LOCATE___344 = 170,
    _SC_2_PBS_MESSAGE___344 = 171,
    _SC_2_PBS_TRACK___344 = 172,
    _SC_SYMLOOP_MAX___344 = 173,
    _SC_STREAMS___344 = 174,
    _SC_2_PBS_CHECKPOINT___344 = 175,
    _SC_V6_ILP32_OFF32___344 = 176,
    _SC_V6_ILP32_OFFBIG___344 = 177,
    _SC_V6_LP64_OFF64___344 = 178,
    _SC_V6_LPBIG_OFFBIG___344 = 179,
    _SC_HOST_NAME_MAX___344 = 180,
    _SC_TRACE___344 = 181,
    _SC_TRACE_EVENT_FILTER___344 = 182,
    _SC_TRACE_INHERIT___344 = 183,
    _SC_TRACE_LOG___344 = 184,
    _SC_LEVEL1_ICACHE_SIZE___344 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___344 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___344 = 187,
    _SC_LEVEL1_DCACHE_SIZE___344 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___344 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___344 = 190,
    _SC_LEVEL2_CACHE_SIZE___344 = 191,
    _SC_LEVEL2_CACHE_ASSOC___344 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___344 = 193,
    _SC_LEVEL3_CACHE_SIZE___344 = 194,
    _SC_LEVEL3_CACHE_ASSOC___344 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___344 = 196,
    _SC_LEVEL4_CACHE_SIZE___344 = 197,
    _SC_LEVEL4_CACHE_ASSOC___344 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___344 = 199,
    _SC_IPV6___344 = 235,
    _SC_RAW_SOCKETS___344 = 236,
    _SC_V7_ILP32_OFF32___344 = 237,
    _SC_V7_ILP32_OFFBIG___344 = 238,
    _SC_V7_LP64_OFF64___344 = 239,
    _SC_V7_LPBIG_OFFBIG___344 = 240,
    _SC_SS_REPL_MAX___344 = 241,
    _SC_TRACE_EVENT_NAME_MAX___344 = 242,
    _SC_TRACE_NAME_MAX___344 = 243,
    _SC_TRACE_SYS_MAX___344 = 244,
    _SC_TRACE_USER_EVENT_MAX___344 = 245,
    _SC_XOPEN_STREAMS___344 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___344 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___344 = 248
} ;
enum __anonenum_875524036___344 {
    _CS_PATH___344 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___344 = 1,
    _CS_GNU_LIBC_VERSION___344 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___344 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___344 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___344 = 5,
    _CS_LFS_CFLAGS___344 = 1000,
    _CS_LFS_LDFLAGS___344 = 1001,
    _CS_LFS_LIBS___344 = 1002,
    _CS_LFS_LINTFLAGS___344 = 1003,
    _CS_LFS64_CFLAGS___344 = 1004,
    _CS_LFS64_LDFLAGS___344 = 1005,
    _CS_LFS64_LIBS___344 = 1006,
    _CS_LFS64_LINTFLAGS___344 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___344 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___344 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___344 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___344 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___344 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___344 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___344 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___344 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___344 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___344 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___344 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___344 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___344 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___344 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___344 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___344 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___344 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___344 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___344 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___344 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___344 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___344 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___344 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___344 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___344 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___344 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___344 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___344 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___344 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___344 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___344 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___344 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___344 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___344 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___344 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___344 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___344 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___344 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___344 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___344 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___344 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___344 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___344 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___344 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___344 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___344 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___344 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___344 = 1147,
    _CS_V6_ENV___344 = 1148,
    _CS_V7_ENV___344 = 1149
} ;
enum __anonenum_513775621___344 {
    DT_UNKNOWN___344 = 0,
    DT_FIFO___344 = 1,
    DT_CHR___344 = 2,
    DT_DIR___344 = 4,
    DT_BLK___344 = 6,
    DT_REG___344 = 8,
    DT_LNK___344 = 10,
    DT_SOCK___344 = 12,
    DT_WHT___344 = 14
} ;
enum __anonenum_77002343___344 {
    SI_ASYNCNL___344 = -60,
    SI_TKILL___344 = -6,
    SI_SIGIO___344 = -5,
    SI_ASYNCIO___344 = -4,
    SI_MESGQ___344 = -3,
    SI_TIMER___344 = -2,
    SI_QUEUE___344 = -1,
    SI_USER___344 = 0,
    SI_KERNEL___344 = 128
} ;
enum __anonenum_131038172___344 {
    ILL_ILLOPC___344 = 1,
    ILL_ILLOPN___344 = 2,
    ILL_ILLADR___344 = 3,
    ILL_ILLTRP___344 = 4,
    ILL_PRVOPC___344 = 5,
    ILL_PRVREG___344 = 6,
    ILL_COPROC___344 = 7,
    ILL_BADSTK___344 = 8
} ;
enum __anonenum_452038093___344 {
    FPE_INTDIV___344 = 1,
    FPE_INTOVF___344 = 2,
    FPE_FLTDIV___344 = 3,
    FPE_FLTOVF___344 = 4,
    FPE_FLTUND___344 = 5,
    FPE_FLTRES___344 = 6,
    FPE_FLTINV___344 = 7,
    FPE_FLTSUB___344 = 8
} ;
enum __anonenum_30976155___344 {
    SEGV_MAPERR___344 = 1,
    SEGV_ACCERR___344 = 2,
    SEGV_BNDERR___344 = 3,
    SEGV_PKUERR___344 = 4
} ;
enum __anonenum_1036286214___344 {
    BUS_ADRALN___344 = 1,
    BUS_ADRERR___344 = 2,
    BUS_OBJERR___344 = 3,
    BUS_MCEERR_AR___344 = 4,
    BUS_MCEERR_AO___344 = 5
} ;
enum __anonenum_493465559___344 {
    TRAP_BRKPT___344 = 1,
    TRAP_TRACE___344 = 2
} ;
enum __anonenum_23175539___344 {
    CLD_EXITED___344 = 1,
    CLD_KILLED___344 = 2,
    CLD_DUMPED___344 = 3,
    CLD_TRAPPED___344 = 4,
    CLD_STOPPED___344 = 5,
    CLD_CONTINUED___344 = 6
} ;
enum __anonenum_111643124___344 {
    POLL_IN___344 = 1,
    POLL_OUT___344 = 2,
    POLL_MSG___344 = 3,
    POLL_ERR___344 = 4,
    POLL_PRI___344 = 5,
    POLL_HUP___344 = 6
} ;
enum __anonenum_852341087___344 {
    SIGEV_SIGNAL___344 = 0,
    SIGEV_NONE___344 = 1,
    SIGEV_THREAD___344 = 2,
    SIGEV_THREAD_ID___344 = 4
} ;
enum __anonenum_451154152___344 {
    REG_R8___344 = 0,
    REG_R9___344 = 1,
    REG_R10___344 = 2,
    REG_R11___344 = 3,
    REG_R12___344 = 4,
    REG_R13___344 = 5,
    REG_R14___344 = 6,
    REG_R15___344 = 7,
    REG_RDI___344 = 8,
    REG_RSI___344 = 9,
    REG_RBP___344 = 10,
    REG_RBX___344 = 11,
    REG_RDX___344 = 12,
    REG_RAX___344 = 13,
    REG_RCX___344 = 14,
    REG_RSP___344 = 15,
    REG_RIP___344 = 16,
    REG_EFL___344 = 17,
    REG_CSGSFS___344 = 18,
    REG_ERR___344 = 19,
    REG_TRAPNO___344 = 20,
    REG_OLDMASK___344 = 21,
    REG_CR2___344 = 22
} ;
enum __anonenum_57186863___344 {
    SS_ONSTACK___344 = 1,
    SS_DISABLE___344 = 2
} ;
enum __anonenum_83571709___344 {
    MSG_OOB___344 = 1,
    MSG_PEEK___344 = 2,
    MSG_DONTROUTE___344 = 4,
    MSG_TRYHARD___344 = 4,
    MSG_CTRUNC___344 = 8,
    MSG_PROXY___344 = 16,
    MSG_TRUNC___344 = 32,
    MSG_DONTWAIT___344 = 64,
    MSG_EOR___344 = 128,
    MSG_WAITALL___344 = 256,
    MSG_FIN___344 = 512,
    MSG_SYN___344 = 1024,
    MSG_CONFIRM___344 = 2048,
    MSG_RST___344 = 4096,
    MSG_ERRQUEUE___344 = 8192,
    MSG_NOSIGNAL___344 = 16384,
    MSG_MORE___344 = 32768,
    MSG_WAITFORONE___344 = 65536,
    MSG_BATCH___344 = 262144,
    MSG_ZEROCOPY___344 = 67108864,
    MSG_FASTOPEN___344 = 536870912,
    MSG_CMSG_CLOEXEC___344 = 1073741824
} ;
enum __anonenum_617082774___344 {
    SCM_RIGHTS___344 = 1,
    SCM_CREDENTIALS___344 = 2
} ;
enum __anonenum_606441560___344 {
    SHUT_RD___344 = 0,
    SHUT_WR___344 = 1,
    SHUT_RDWR___344 = 2
} ;
enum __anonenum_681669233___344 {
    IPPROTO_IP___344 = 0,
    IPPROTO_ICMP___344 = 1,
    IPPROTO_IGMP___344 = 2,
    IPPROTO_IPIP___344 = 4,
    IPPROTO_TCP___344 = 6,
    IPPROTO_EGP___344 = 8,
    IPPROTO_PUP___344 = 12,
    IPPROTO_UDP___344 = 17,
    IPPROTO_IDP___344 = 22,
    IPPROTO_TP___344 = 29,
    IPPROTO_DCCP___344 = 33,
    IPPROTO_IPV6___344 = 41,
    IPPROTO_RSVP___344 = 46,
    IPPROTO_GRE___344 = 47,
    IPPROTO_ESP___344 = 50,
    IPPROTO_AH___344 = 51,
    IPPROTO_MTP___344 = 92,
    IPPROTO_BEETPH___344 = 94,
    IPPROTO_ENCAP___344 = 98,
    IPPROTO_PIM___344 = 103,
    IPPROTO_COMP___344 = 108,
    IPPROTO_SCTP___344 = 132,
    IPPROTO_UDPLITE___344 = 136,
    IPPROTO_MPLS___344 = 137,
    IPPROTO_RAW___344 = 255,
    IPPROTO_MAX___344 = 256
} ;
enum __anonenum_218739988___344 {
    IPPROTO_HOPOPTS___344 = 0,
    IPPROTO_ROUTING___344 = 43,
    IPPROTO_FRAGMENT___344 = 44,
    IPPROTO_ICMPV6___344 = 58,
    IPPROTO_NONE___344 = 59,
    IPPROTO_DSTOPTS___344 = 60,
    IPPROTO_MH___344 = 135
} ;
enum __anonenum_662268580___344 {
    IPPORT_ECHO___344 = 7,
    IPPORT_DISCARD___344 = 9,
    IPPORT_SYSTAT___344 = 11,
    IPPORT_DAYTIME___344 = 13,
    IPPORT_NETSTAT___344 = 15,
    IPPORT_FTP___344 = 21,
    IPPORT_TELNET___344 = 23,
    IPPORT_SMTP___344 = 25,
    IPPORT_TIMESERVER___344 = 37,
    IPPORT_NAMESERVER___344 = 42,
    IPPORT_WHOIS___344 = 43,
    IPPORT_MTP___344 = 57,
    IPPORT_TFTP___344 = 69,
    IPPORT_RJE___344 = 77,
    IPPORT_FINGER___344 = 79,
    IPPORT_TTYLINK___344 = 87,
    IPPORT_SUPDUP___344 = 95,
    IPPORT_EXECSERVER___344 = 512,
    IPPORT_LOGINSERVER___344 = 513,
    IPPORT_CMDSERVER___344 = 514,
    IPPORT_EFSSERVER___344 = 520,
    IPPORT_BIFFUDP___344 = 512,
    IPPORT_WHOSERVER___344 = 513,
    IPPORT_ROUTESERVER___344 = 520,
    IPPORT_RESERVED___344 = 1024,
    IPPORT_USERRESERVED___344 = 5000
} ;
enum __anonenum_788308992___344 {
    TCP_ESTABLISHED___344 = 1,
    TCP_SYN_SENT___344 = 2,
    TCP_SYN_RECV___344 = 3,
    TCP_FIN_WAIT1___344 = 4,
    TCP_FIN_WAIT2___344 = 5,
    TCP_TIME_WAIT___344 = 6,
    TCP_CLOSE___344 = 7,
    TCP_CLOSE_WAIT___344 = 8,
    TCP_LAST_ACK___344 = 9,
    TCP_LISTEN___344 = 10,
    TCP_CLOSING___344 = 11
} ;
enum __anonenum_221125648___344 {
    TCP_NO_QUEUE___344 = 0,
    TCP_RECV_QUEUE___344 = 1,
    TCP_SEND_QUEUE___344 = 2,
    TCP_QUEUES_NR___344 = 3
} ;
enum __anonenum_34415463___344 {
    PTHREAD_CREATE_JOINABLE___344 = 0,
    PTHREAD_CREATE_DETACHED___344 = 1
} ;
enum __anonenum_303612439___344 {
    PTHREAD_MUTEX_TIMED_NP___344 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___344 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___344 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___344 = 3,
    PTHREAD_MUTEX_NORMAL___344 = 0,
    PTHREAD_MUTEX_RECURSIVE___344 = 1,
    PTHREAD_MUTEX_ERRORCHECK___344 = 2,
    PTHREAD_MUTEX_DEFAULT___344 = 0,
    PTHREAD_MUTEX_FAST_NP___344 = 0
} ;
enum __anonenum_931900394___344 {
    PTHREAD_MUTEX_STALLED___344 = 0,
    PTHREAD_MUTEX_STALLED_NP___344 = 0,
    PTHREAD_MUTEX_ROBUST___344 = 1,
    PTHREAD_MUTEX_ROBUST_NP___344 = 1
} ;
enum __anonenum_205214487___344 {
    PTHREAD_PRIO_NONE___344 = 0,
    PTHREAD_PRIO_INHERIT___344 = 1,
    PTHREAD_PRIO_PROTECT___344 = 2
} ;
enum __anonenum_25043950___344 {
    PTHREAD_RWLOCK_PREFER_READER_NP___344 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___344 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___344 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___344 = 0
} ;
enum __anonenum_436439511___344 {
    PTHREAD_INHERIT_SCHED___344 = 0,
    PTHREAD_EXPLICIT_SCHED___344 = 1
} ;
enum __anonenum_998661166___344 {
    PTHREAD_SCOPE_SYSTEM___344 = 0,
    PTHREAD_SCOPE_PROCESS___344 = 1
} ;
enum __anonenum_146137331___344 {
    PTHREAD_PROCESS_PRIVATE___344 = 0,
    PTHREAD_PROCESS_SHARED___344 = 1
} ;
enum __anonenum_53396917___344 {
    PTHREAD_CANCEL_ENABLE___344 = 0,
    PTHREAD_CANCEL_DISABLE___344 = 1
} ;
enum __anonenum_904563783___344 {
    PTHREAD_CANCEL_DEFERRED___344 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___344 = 1
} ;
enum __anonenum_672052974___344 {
    SSL_CT_VALIDATION_PERMISSIVE___344 = 0,
    SSL_CT_VALIDATION_STRICT___344 = 1
} ;
enum __anonenum_437032235___345 {
    _PC_LINK_MAX___345 = 0,
    _PC_MAX_CANON___345 = 1,
    _PC_MAX_INPUT___345 = 2,
    _PC_NAME_MAX___345 = 3,
    _PC_PATH_MAX___345 = 4,
    _PC_PIPE_BUF___345 = 5,
    _PC_CHOWN_RESTRICTED___345 = 6,
    _PC_NO_TRUNC___345 = 7,
    _PC_VDISABLE___345 = 8,
    _PC_SYNC_IO___345 = 9,
    _PC_ASYNC_IO___345 = 10,
    _PC_PRIO_IO___345 = 11,
    _PC_SOCK_MAXBUF___345 = 12,
    _PC_FILESIZEBITS___345 = 13,
    _PC_REC_INCR_XFER_SIZE___345 = 14,
    _PC_REC_MAX_XFER_SIZE___345 = 15,
    _PC_REC_MIN_XFER_SIZE___345 = 16,
    _PC_REC_XFER_ALIGN___345 = 17,
    _PC_ALLOC_SIZE_MIN___345 = 18,
    _PC_SYMLINK_MAX___345 = 19,
    _PC_2_SYMLINKS___345 = 20
} ;
enum __anonenum_315186338___345 {
    _SC_ARG_MAX___345 = 0,
    _SC_CHILD_MAX___345 = 1,
    _SC_CLK_TCK___345 = 2,
    _SC_NGROUPS_MAX___345 = 3,
    _SC_OPEN_MAX___345 = 4,
    _SC_STREAM_MAX___345 = 5,
    _SC_TZNAME_MAX___345 = 6,
    _SC_JOB_CONTROL___345 = 7,
    _SC_SAVED_IDS___345 = 8,
    _SC_REALTIME_SIGNALS___345 = 9,
    _SC_PRIORITY_SCHEDULING___345 = 10,
    _SC_TIMERS___345 = 11,
    _SC_ASYNCHRONOUS_IO___345 = 12,
    _SC_PRIORITIZED_IO___345 = 13,
    _SC_SYNCHRONIZED_IO___345 = 14,
    _SC_FSYNC___345 = 15,
    _SC_MAPPED_FILES___345 = 16,
    _SC_MEMLOCK___345 = 17,
    _SC_MEMLOCK_RANGE___345 = 18,
    _SC_MEMORY_PROTECTION___345 = 19,
    _SC_MESSAGE_PASSING___345 = 20,
    _SC_SEMAPHORES___345 = 21,
    _SC_SHARED_MEMORY_OBJECTS___345 = 22,
    _SC_AIO_LISTIO_MAX___345 = 23,
    _SC_AIO_MAX___345 = 24,
    _SC_AIO_PRIO_DELTA_MAX___345 = 25,
    _SC_DELAYTIMER_MAX___345 = 26,
    _SC_MQ_OPEN_MAX___345 = 27,
    _SC_MQ_PRIO_MAX___345 = 28,
    _SC_VERSION___345 = 29,
    _SC_PAGESIZE___345 = 30,
    _SC_RTSIG_MAX___345 = 31,
    _SC_SEM_NSEMS_MAX___345 = 32,
    _SC_SEM_VALUE_MAX___345 = 33,
    _SC_SIGQUEUE_MAX___345 = 34,
    _SC_TIMER_MAX___345 = 35,
    _SC_BC_BASE_MAX___345 = 36,
    _SC_BC_DIM_MAX___345 = 37,
    _SC_BC_SCALE_MAX___345 = 38,
    _SC_BC_STRING_MAX___345 = 39,
    _SC_COLL_WEIGHTS_MAX___345 = 40,
    _SC_EQUIV_CLASS_MAX___345 = 41,
    _SC_EXPR_NEST_MAX___345 = 42,
    _SC_LINE_MAX___345 = 43,
    _SC_RE_DUP_MAX___345 = 44,
    _SC_CHARCLASS_NAME_MAX___345 = 45,
    _SC_2_VERSION___345 = 46,
    _SC_2_C_BIND___345 = 47,
    _SC_2_C_DEV___345 = 48,
    _SC_2_FORT_DEV___345 = 49,
    _SC_2_FORT_RUN___345 = 50,
    _SC_2_SW_DEV___345 = 51,
    _SC_2_LOCALEDEF___345 = 52,
    _SC_PII___345 = 53,
    _SC_PII_XTI___345 = 54,
    _SC_PII_SOCKET___345 = 55,
    _SC_PII_INTERNET___345 = 56,
    _SC_PII_OSI___345 = 57,
    _SC_POLL___345 = 58,
    _SC_SELECT___345 = 59,
    _SC_UIO_MAXIOV___345 = 60,
    _SC_IOV_MAX___345 = 60,
    _SC_PII_INTERNET_STREAM___345 = 61,
    _SC_PII_INTERNET_DGRAM___345 = 62,
    _SC_PII_OSI_COTS___345 = 63,
    _SC_PII_OSI_CLTS___345 = 64,
    _SC_PII_OSI_M___345 = 65,
    _SC_T_IOV_MAX___345 = 66,
    _SC_THREADS___345 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___345 = 68,
    _SC_GETGR_R_SIZE_MAX___345 = 69,
    _SC_GETPW_R_SIZE_MAX___345 = 70,
    _SC_LOGIN_NAME_MAX___345 = 71,
    _SC_TTY_NAME_MAX___345 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___345 = 73,
    _SC_THREAD_KEYS_MAX___345 = 74,
    _SC_THREAD_STACK_MIN___345 = 75,
    _SC_THREAD_THREADS_MAX___345 = 76,
    _SC_THREAD_ATTR_STACKADDR___345 = 77,
    _SC_THREAD_ATTR_STACKSIZE___345 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___345 = 79,
    _SC_THREAD_PRIO_INHERIT___345 = 80,
    _SC_THREAD_PRIO_PROTECT___345 = 81,
    _SC_THREAD_PROCESS_SHARED___345 = 82,
    _SC_NPROCESSORS_CONF___345 = 83,
    _SC_NPROCESSORS_ONLN___345 = 84,
    _SC_PHYS_PAGES___345 = 85,
    _SC_AVPHYS_PAGES___345 = 86,
    _SC_ATEXIT_MAX___345 = 87,
    _SC_PASS_MAX___345 = 88,
    _SC_XOPEN_VERSION___345 = 89,
    _SC_XOPEN_XCU_VERSION___345 = 90,
    _SC_XOPEN_UNIX___345 = 91,
    _SC_XOPEN_CRYPT___345 = 92,
    _SC_XOPEN_ENH_I18N___345 = 93,
    _SC_XOPEN_SHM___345 = 94,
    _SC_2_CHAR_TERM___345 = 95,
    _SC_2_C_VERSION___345 = 96,
    _SC_2_UPE___345 = 97,
    _SC_XOPEN_XPG2___345 = 98,
    _SC_XOPEN_XPG3___345 = 99,
    _SC_XOPEN_XPG4___345 = 100,
    _SC_CHAR_BIT___345 = 101,
    _SC_CHAR_MAX___345 = 102,
    _SC_CHAR_MIN___345 = 103,
    _SC_INT_MAX___345 = 104,
    _SC_INT_MIN___345 = 105,
    _SC_LONG_BIT___345 = 106,
    _SC_WORD_BIT___345 = 107,
    _SC_MB_LEN_MAX___345 = 108,
    _SC_NZERO___345 = 109,
    _SC_SSIZE_MAX___345 = 110,
    _SC_SCHAR_MAX___345 = 111,
    _SC_SCHAR_MIN___345 = 112,
    _SC_SHRT_MAX___345 = 113,
    _SC_SHRT_MIN___345 = 114,
    _SC_UCHAR_MAX___345 = 115,
    _SC_UINT_MAX___345 = 116,
    _SC_ULONG_MAX___345 = 117,
    _SC_USHRT_MAX___345 = 118,
    _SC_NL_ARGMAX___345 = 119,
    _SC_NL_LANGMAX___345 = 120,
    _SC_NL_MSGMAX___345 = 121,
    _SC_NL_NMAX___345 = 122,
    _SC_NL_SETMAX___345 = 123,
    _SC_NL_TEXTMAX___345 = 124,
    _SC_XBS5_ILP32_OFF32___345 = 125,
    _SC_XBS5_ILP32_OFFBIG___345 = 126,
    _SC_XBS5_LP64_OFF64___345 = 127,
    _SC_XBS5_LPBIG_OFFBIG___345 = 128,
    _SC_XOPEN_LEGACY___345 = 129,
    _SC_XOPEN_REALTIME___345 = 130,
    _SC_XOPEN_REALTIME_THREADS___345 = 131,
    _SC_ADVISORY_INFO___345 = 132,
    _SC_BARRIERS___345 = 133,
    _SC_BASE___345 = 134,
    _SC_C_LANG_SUPPORT___345 = 135,
    _SC_C_LANG_SUPPORT_R___345 = 136,
    _SC_CLOCK_SELECTION___345 = 137,
    _SC_CPUTIME___345 = 138,
    _SC_THREAD_CPUTIME___345 = 139,
    _SC_DEVICE_IO___345 = 140,
    _SC_DEVICE_SPECIFIC___345 = 141,
    _SC_DEVICE_SPECIFIC_R___345 = 142,
    _SC_FD_MGMT___345 = 143,
    _SC_FIFO___345 = 144,
    _SC_PIPE___345 = 145,
    _SC_FILE_ATTRIBUTES___345 = 146,
    _SC_FILE_LOCKING___345 = 147,
    _SC_FILE_SYSTEM___345 = 148,
    _SC_MONOTONIC_CLOCK___345 = 149,
    _SC_MULTI_PROCESS___345 = 150,
    _SC_SINGLE_PROCESS___345 = 151,
    _SC_NETWORKING___345 = 152,
    _SC_READER_WRITER_LOCKS___345 = 153,
    _SC_SPIN_LOCKS___345 = 154,
    _SC_REGEXP___345 = 155,
    _SC_REGEX_VERSION___345 = 156,
    _SC_SHELL___345 = 157,
    _SC_SIGNALS___345 = 158,
    _SC_SPAWN___345 = 159,
    _SC_SPORADIC_SERVER___345 = 160,
    _SC_THREAD_SPORADIC_SERVER___345 = 161,
    _SC_SYSTEM_DATABASE___345 = 162,
    _SC_SYSTEM_DATABASE_R___345 = 163,
    _SC_TIMEOUTS___345 = 164,
    _SC_TYPED_MEMORY_OBJECTS___345 = 165,
    _SC_USER_GROUPS___345 = 166,
    _SC_USER_GROUPS_R___345 = 167,
    _SC_2_PBS___345 = 168,
    _SC_2_PBS_ACCOUNTING___345 = 169,
    _SC_2_PBS_LOCATE___345 = 170,
    _SC_2_PBS_MESSAGE___345 = 171,
    _SC_2_PBS_TRACK___345 = 172,
    _SC_SYMLOOP_MAX___345 = 173,
    _SC_STREAMS___345 = 174,
    _SC_2_PBS_CHECKPOINT___345 = 175,
    _SC_V6_ILP32_OFF32___345 = 176,
    _SC_V6_ILP32_OFFBIG___345 = 177,
    _SC_V6_LP64_OFF64___345 = 178,
    _SC_V6_LPBIG_OFFBIG___345 = 179,
    _SC_HOST_NAME_MAX___345 = 180,
    _SC_TRACE___345 = 181,
    _SC_TRACE_EVENT_FILTER___345 = 182,
    _SC_TRACE_INHERIT___345 = 183,
    _SC_TRACE_LOG___345 = 184,
    _SC_LEVEL1_ICACHE_SIZE___345 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___345 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___345 = 187,
    _SC_LEVEL1_DCACHE_SIZE___345 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___345 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___345 = 190,
    _SC_LEVEL2_CACHE_SIZE___345 = 191,
    _SC_LEVEL2_CACHE_ASSOC___345 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___345 = 193,
    _SC_LEVEL3_CACHE_SIZE___345 = 194,
    _SC_LEVEL3_CACHE_ASSOC___345 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___345 = 196,
    _SC_LEVEL4_CACHE_SIZE___345 = 197,
    _SC_LEVEL4_CACHE_ASSOC___345 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___345 = 199,
    _SC_IPV6___345 = 235,
    _SC_RAW_SOCKETS___345 = 236,
    _SC_V7_ILP32_OFF32___345 = 237,
    _SC_V7_ILP32_OFFBIG___345 = 238,
    _SC_V7_LP64_OFF64___345 = 239,
    _SC_V7_LPBIG_OFFBIG___345 = 240,
    _SC_SS_REPL_MAX___345 = 241,
    _SC_TRACE_EVENT_NAME_MAX___345 = 242,
    _SC_TRACE_NAME_MAX___345 = 243,
    _SC_TRACE_SYS_MAX___345 = 244,
    _SC_TRACE_USER_EVENT_MAX___345 = 245,
    _SC_XOPEN_STREAMS___345 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___345 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___345 = 248
} ;
enum __anonenum_875524036___345 {
    _CS_PATH___345 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___345 = 1,
    _CS_GNU_LIBC_VERSION___345 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___345 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___345 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___345 = 5,
    _CS_LFS_CFLAGS___345 = 1000,
    _CS_LFS_LDFLAGS___345 = 1001,
    _CS_LFS_LIBS___345 = 1002,
    _CS_LFS_LINTFLAGS___345 = 1003,
    _CS_LFS64_CFLAGS___345 = 1004,
    _CS_LFS64_LDFLAGS___345 = 1005,
    _CS_LFS64_LIBS___345 = 1006,
    _CS_LFS64_LINTFLAGS___345 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___345 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___345 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___345 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___345 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___345 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___345 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___345 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___345 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___345 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___345 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___345 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___345 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___345 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___345 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___345 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___345 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___345 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___345 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___345 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___345 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___345 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___345 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___345 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___345 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___345 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___345 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___345 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___345 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___345 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___345 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___345 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___345 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___345 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___345 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___345 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___345 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___345 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___345 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___345 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___345 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___345 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___345 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___345 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___345 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___345 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___345 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___345 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___345 = 1147,
    _CS_V6_ENV___345 = 1148,
    _CS_V7_ENV___345 = 1149
} ;
enum __anonenum_513775621___345 {
    DT_UNKNOWN___345 = 0,
    DT_FIFO___345 = 1,
    DT_CHR___345 = 2,
    DT_DIR___345 = 4,
    DT_BLK___345 = 6,
    DT_REG___345 = 8,
    DT_LNK___345 = 10,
    DT_SOCK___345 = 12,
    DT_WHT___345 = 14
} ;
enum __anonenum_77002343___345 {
    SI_ASYNCNL___345 = -60,
    SI_TKILL___345 = -6,
    SI_SIGIO___345 = -5,
    SI_ASYNCIO___345 = -4,
    SI_MESGQ___345 = -3,
    SI_TIMER___345 = -2,
    SI_QUEUE___345 = -1,
    SI_USER___345 = 0,
    SI_KERNEL___345 = 128
} ;
enum __anonenum_131038172___345 {
    ILL_ILLOPC___345 = 1,
    ILL_ILLOPN___345 = 2,
    ILL_ILLADR___345 = 3,
    ILL_ILLTRP___345 = 4,
    ILL_PRVOPC___345 = 5,
    ILL_PRVREG___345 = 6,
    ILL_COPROC___345 = 7,
    ILL_BADSTK___345 = 8
} ;
enum __anonenum_452038093___345 {
    FPE_INTDIV___345 = 1,
    FPE_INTOVF___345 = 2,
    FPE_FLTDIV___345 = 3,
    FPE_FLTOVF___345 = 4,
    FPE_FLTUND___345 = 5,
    FPE_FLTRES___345 = 6,
    FPE_FLTINV___345 = 7,
    FPE_FLTSUB___345 = 8
} ;
enum __anonenum_30976155___345 {
    SEGV_MAPERR___345 = 1,
    SEGV_ACCERR___345 = 2,
    SEGV_BNDERR___345 = 3,
    SEGV_PKUERR___345 = 4
} ;
enum __anonenum_1036286214___345 {
    BUS_ADRALN___345 = 1,
    BUS_ADRERR___345 = 2,
    BUS_OBJERR___345 = 3,
    BUS_MCEERR_AR___345 = 4,
    BUS_MCEERR_AO___345 = 5
} ;
enum __anonenum_493465559___345 {
    TRAP_BRKPT___345 = 1,
    TRAP_TRACE___345 = 2
} ;
enum __anonenum_23175539___345 {
    CLD_EXITED___345 = 1,
    CLD_KILLED___345 = 2,
    CLD_DUMPED___345 = 3,
    CLD_TRAPPED___345 = 4,
    CLD_STOPPED___345 = 5,
    CLD_CONTINUED___345 = 6
} ;
enum __anonenum_111643124___345 {
    POLL_IN___345 = 1,
    POLL_OUT___345 = 2,
    POLL_MSG___345 = 3,
    POLL_ERR___345 = 4,
    POLL_PRI___345 = 5,
    POLL_HUP___345 = 6
} ;
enum __anonenum_852341087___345 {
    SIGEV_SIGNAL___345 = 0,
    SIGEV_NONE___345 = 1,
    SIGEV_THREAD___345 = 2,
    SIGEV_THREAD_ID___345 = 4
} ;
enum __anonenum_451154152___345 {
    REG_R8___345 = 0,
    REG_R9___345 = 1,
    REG_R10___345 = 2,
    REG_R11___345 = 3,
    REG_R12___345 = 4,
    REG_R13___345 = 5,
    REG_R14___345 = 6,
    REG_R15___345 = 7,
    REG_RDI___345 = 8,
    REG_RSI___345 = 9,
    REG_RBP___345 = 10,
    REG_RBX___345 = 11,
    REG_RDX___345 = 12,
    REG_RAX___345 = 13,
    REG_RCX___345 = 14,
    REG_RSP___345 = 15,
    REG_RIP___345 = 16,
    REG_EFL___345 = 17,
    REG_CSGSFS___345 = 18,
    REG_ERR___345 = 19,
    REG_TRAPNO___345 = 20,
    REG_OLDMASK___345 = 21,
    REG_CR2___345 = 22
} ;
enum __anonenum_57186863___345 {
    SS_ONSTACK___345 = 1,
    SS_DISABLE___345 = 2
} ;
enum __anonenum_83571709___345 {
    MSG_OOB___345 = 1,
    MSG_PEEK___345 = 2,
    MSG_DONTROUTE___345 = 4,
    MSG_TRYHARD___345 = 4,
    MSG_CTRUNC___345 = 8,
    MSG_PROXY___345 = 16,
    MSG_TRUNC___345 = 32,
    MSG_DONTWAIT___345 = 64,
    MSG_EOR___345 = 128,
    MSG_WAITALL___345 = 256,
    MSG_FIN___345 = 512,
    MSG_SYN___345 = 1024,
    MSG_CONFIRM___345 = 2048,
    MSG_RST___345 = 4096,
    MSG_ERRQUEUE___345 = 8192,
    MSG_NOSIGNAL___345 = 16384,
    MSG_MORE___345 = 32768,
    MSG_WAITFORONE___345 = 65536,
    MSG_BATCH___345 = 262144,
    MSG_ZEROCOPY___345 = 67108864,
    MSG_FASTOPEN___345 = 536870912,
    MSG_CMSG_CLOEXEC___345 = 1073741824
} ;
enum __anonenum_617082774___345 {
    SCM_RIGHTS___345 = 1,
    SCM_CREDENTIALS___345 = 2
} ;
enum __anonenum_606441560___345 {
    SHUT_RD___345 = 0,
    SHUT_WR___345 = 1,
    SHUT_RDWR___345 = 2
} ;
enum __anonenum_681669233___345 {
    IPPROTO_IP___345 = 0,
    IPPROTO_ICMP___345 = 1,
    IPPROTO_IGMP___345 = 2,
    IPPROTO_IPIP___345 = 4,
    IPPROTO_TCP___345 = 6,
    IPPROTO_EGP___345 = 8,
    IPPROTO_PUP___345 = 12,
    IPPROTO_UDP___345 = 17,
    IPPROTO_IDP___345 = 22,
    IPPROTO_TP___345 = 29,
    IPPROTO_DCCP___345 = 33,
    IPPROTO_IPV6___345 = 41,
    IPPROTO_RSVP___345 = 46,
    IPPROTO_GRE___345 = 47,
    IPPROTO_ESP___345 = 50,
    IPPROTO_AH___345 = 51,
    IPPROTO_MTP___345 = 92,
    IPPROTO_BEETPH___345 = 94,
    IPPROTO_ENCAP___345 = 98,
    IPPROTO_PIM___345 = 103,
    IPPROTO_COMP___345 = 108,
    IPPROTO_SCTP___345 = 132,
    IPPROTO_UDPLITE___345 = 136,
    IPPROTO_MPLS___345 = 137,
    IPPROTO_RAW___345 = 255,
    IPPROTO_MAX___345 = 256
} ;
enum __anonenum_218739988___345 {
    IPPROTO_HOPOPTS___345 = 0,
    IPPROTO_ROUTING___345 = 43,
    IPPROTO_FRAGMENT___345 = 44,
    IPPROTO_ICMPV6___345 = 58,
    IPPROTO_NONE___345 = 59,
    IPPROTO_DSTOPTS___345 = 60,
    IPPROTO_MH___345 = 135
} ;
enum __anonenum_662268580___345 {
    IPPORT_ECHO___345 = 7,
    IPPORT_DISCARD___345 = 9,
    IPPORT_SYSTAT___345 = 11,
    IPPORT_DAYTIME___345 = 13,
    IPPORT_NETSTAT___345 = 15,
    IPPORT_FTP___345 = 21,
    IPPORT_TELNET___345 = 23,
    IPPORT_SMTP___345 = 25,
    IPPORT_TIMESERVER___345 = 37,
    IPPORT_NAMESERVER___345 = 42,
    IPPORT_WHOIS___345 = 43,
    IPPORT_MTP___345 = 57,
    IPPORT_TFTP___345 = 69,
    IPPORT_RJE___345 = 77,
    IPPORT_FINGER___345 = 79,
    IPPORT_TTYLINK___345 = 87,
    IPPORT_SUPDUP___345 = 95,
    IPPORT_EXECSERVER___345 = 512,
    IPPORT_LOGINSERVER___345 = 513,
    IPPORT_CMDSERVER___345 = 514,
    IPPORT_EFSSERVER___345 = 520,
    IPPORT_BIFFUDP___345 = 512,
    IPPORT_WHOSERVER___345 = 513,
    IPPORT_ROUTESERVER___345 = 520,
    IPPORT_RESERVED___345 = 1024,
    IPPORT_USERRESERVED___345 = 5000
} ;
enum __anonenum_788308992___345 {
    TCP_ESTABLISHED___345 = 1,
    TCP_SYN_SENT___345 = 2,
    TCP_SYN_RECV___345 = 3,
    TCP_FIN_WAIT1___345 = 4,
    TCP_FIN_WAIT2___345 = 5,
    TCP_TIME_WAIT___345 = 6,
    TCP_CLOSE___345 = 7,
    TCP_CLOSE_WAIT___345 = 8,
    TCP_LAST_ACK___345 = 9,
    TCP_LISTEN___345 = 10,
    TCP_CLOSING___345 = 11
} ;
enum __anonenum_221125648___345 {
    TCP_NO_QUEUE___345 = 0,
    TCP_RECV_QUEUE___345 = 1,
    TCP_SEND_QUEUE___345 = 2,
    TCP_QUEUES_NR___345 = 3
} ;
enum __anonenum_34415463___345 {
    PTHREAD_CREATE_JOINABLE___345 = 0,
    PTHREAD_CREATE_DETACHED___345 = 1
} ;
enum __anonenum_303612439___345 {
    PTHREAD_MUTEX_TIMED_NP___345 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___345 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___345 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___345 = 3,
    PTHREAD_MUTEX_NORMAL___345 = 0,
    PTHREAD_MUTEX_RECURSIVE___345 = 1,
    PTHREAD_MUTEX_ERRORCHECK___345 = 2,
    PTHREAD_MUTEX_DEFAULT___345 = 0,
    PTHREAD_MUTEX_FAST_NP___345 = 0
} ;
enum __anonenum_931900394___345 {
    PTHREAD_MUTEX_STALLED___345 = 0,
    PTHREAD_MUTEX_STALLED_NP___345 = 0,
    PTHREAD_MUTEX_ROBUST___345 = 1,
    PTHREAD_MUTEX_ROBUST_NP___345 = 1
} ;
enum __anonenum_205214487___345 {
    PTHREAD_PRIO_NONE___345 = 0,
    PTHREAD_PRIO_INHERIT___345 = 1,
    PTHREAD_PRIO_PROTECT___345 = 2
} ;
enum __anonenum_25043950___345 {
    PTHREAD_RWLOCK_PREFER_READER_NP___345 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___345 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___345 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___345 = 0
} ;
enum __anonenum_436439511___345 {
    PTHREAD_INHERIT_SCHED___345 = 0,
    PTHREAD_EXPLICIT_SCHED___345 = 1
} ;
enum __anonenum_998661166___345 {
    PTHREAD_SCOPE_SYSTEM___345 = 0,
    PTHREAD_SCOPE_PROCESS___345 = 1
} ;
enum __anonenum_146137331___345 {
    PTHREAD_PROCESS_PRIVATE___345 = 0,
    PTHREAD_PROCESS_SHARED___345 = 1
} ;
enum __anonenum_53396917___345 {
    PTHREAD_CANCEL_ENABLE___345 = 0,
    PTHREAD_CANCEL_DISABLE___345 = 1
} ;
enum __anonenum_904563783___345 {
    PTHREAD_CANCEL_DEFERRED___345 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___345 = 1
} ;
enum __anonenum_672052974___345 {
    SSL_CT_VALIDATION_PERMISSIVE___345 = 0,
    SSL_CT_VALIDATION_STRICT___345 = 1
} ;
enum __anonenum_437032235___346 {
    _PC_LINK_MAX___346 = 0,
    _PC_MAX_CANON___346 = 1,
    _PC_MAX_INPUT___346 = 2,
    _PC_NAME_MAX___346 = 3,
    _PC_PATH_MAX___346 = 4,
    _PC_PIPE_BUF___346 = 5,
    _PC_CHOWN_RESTRICTED___346 = 6,
    _PC_NO_TRUNC___346 = 7,
    _PC_VDISABLE___346 = 8,
    _PC_SYNC_IO___346 = 9,
    _PC_ASYNC_IO___346 = 10,
    _PC_PRIO_IO___346 = 11,
    _PC_SOCK_MAXBUF___346 = 12,
    _PC_FILESIZEBITS___346 = 13,
    _PC_REC_INCR_XFER_SIZE___346 = 14,
    _PC_REC_MAX_XFER_SIZE___346 = 15,
    _PC_REC_MIN_XFER_SIZE___346 = 16,
    _PC_REC_XFER_ALIGN___346 = 17,
    _PC_ALLOC_SIZE_MIN___346 = 18,
    _PC_SYMLINK_MAX___346 = 19,
    _PC_2_SYMLINKS___346 = 20
} ;
enum __anonenum_315186338___346 {
    _SC_ARG_MAX___346 = 0,
    _SC_CHILD_MAX___346 = 1,
    _SC_CLK_TCK___346 = 2,
    _SC_NGROUPS_MAX___346 = 3,
    _SC_OPEN_MAX___346 = 4,
    _SC_STREAM_MAX___346 = 5,
    _SC_TZNAME_MAX___346 = 6,
    _SC_JOB_CONTROL___346 = 7,
    _SC_SAVED_IDS___346 = 8,
    _SC_REALTIME_SIGNALS___346 = 9,
    _SC_PRIORITY_SCHEDULING___346 = 10,
    _SC_TIMERS___346 = 11,
    _SC_ASYNCHRONOUS_IO___346 = 12,
    _SC_PRIORITIZED_IO___346 = 13,
    _SC_SYNCHRONIZED_IO___346 = 14,
    _SC_FSYNC___346 = 15,
    _SC_MAPPED_FILES___346 = 16,
    _SC_MEMLOCK___346 = 17,
    _SC_MEMLOCK_RANGE___346 = 18,
    _SC_MEMORY_PROTECTION___346 = 19,
    _SC_MESSAGE_PASSING___346 = 20,
    _SC_SEMAPHORES___346 = 21,
    _SC_SHARED_MEMORY_OBJECTS___346 = 22,
    _SC_AIO_LISTIO_MAX___346 = 23,
    _SC_AIO_MAX___346 = 24,
    _SC_AIO_PRIO_DELTA_MAX___346 = 25,
    _SC_DELAYTIMER_MAX___346 = 26,
    _SC_MQ_OPEN_MAX___346 = 27,
    _SC_MQ_PRIO_MAX___346 = 28,
    _SC_VERSION___346 = 29,
    _SC_PAGESIZE___346 = 30,
    _SC_RTSIG_MAX___346 = 31,
    _SC_SEM_NSEMS_MAX___346 = 32,
    _SC_SEM_VALUE_MAX___346 = 33,
    _SC_SIGQUEUE_MAX___346 = 34,
    _SC_TIMER_MAX___346 = 35,
    _SC_BC_BASE_MAX___346 = 36,
    _SC_BC_DIM_MAX___346 = 37,
    _SC_BC_SCALE_MAX___346 = 38,
    _SC_BC_STRING_MAX___346 = 39,
    _SC_COLL_WEIGHTS_MAX___346 = 40,
    _SC_EQUIV_CLASS_MAX___346 = 41,
    _SC_EXPR_NEST_MAX___346 = 42,
    _SC_LINE_MAX___346 = 43,
    _SC_RE_DUP_MAX___346 = 44,
    _SC_CHARCLASS_NAME_MAX___346 = 45,
    _SC_2_VERSION___346 = 46,
    _SC_2_C_BIND___346 = 47,
    _SC_2_C_DEV___346 = 48,
    _SC_2_FORT_DEV___346 = 49,
    _SC_2_FORT_RUN___346 = 50,
    _SC_2_SW_DEV___346 = 51,
    _SC_2_LOCALEDEF___346 = 52,
    _SC_PII___346 = 53,
    _SC_PII_XTI___346 = 54,
    _SC_PII_SOCKET___346 = 55,
    _SC_PII_INTERNET___346 = 56,
    _SC_PII_OSI___346 = 57,
    _SC_POLL___346 = 58,
    _SC_SELECT___346 = 59,
    _SC_UIO_MAXIOV___346 = 60,
    _SC_IOV_MAX___346 = 60,
    _SC_PII_INTERNET_STREAM___346 = 61,
    _SC_PII_INTERNET_DGRAM___346 = 62,
    _SC_PII_OSI_COTS___346 = 63,
    _SC_PII_OSI_CLTS___346 = 64,
    _SC_PII_OSI_M___346 = 65,
    _SC_T_IOV_MAX___346 = 66,
    _SC_THREADS___346 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___346 = 68,
    _SC_GETGR_R_SIZE_MAX___346 = 69,
    _SC_GETPW_R_SIZE_MAX___346 = 70,
    _SC_LOGIN_NAME_MAX___346 = 71,
    _SC_TTY_NAME_MAX___346 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___346 = 73,
    _SC_THREAD_KEYS_MAX___346 = 74,
    _SC_THREAD_STACK_MIN___346 = 75,
    _SC_THREAD_THREADS_MAX___346 = 76,
    _SC_THREAD_ATTR_STACKADDR___346 = 77,
    _SC_THREAD_ATTR_STACKSIZE___346 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___346 = 79,
    _SC_THREAD_PRIO_INHERIT___346 = 80,
    _SC_THREAD_PRIO_PROTECT___346 = 81,
    _SC_THREAD_PROCESS_SHARED___346 = 82,
    _SC_NPROCESSORS_CONF___346 = 83,
    _SC_NPROCESSORS_ONLN___346 = 84,
    _SC_PHYS_PAGES___346 = 85,
    _SC_AVPHYS_PAGES___346 = 86,
    _SC_ATEXIT_MAX___346 = 87,
    _SC_PASS_MAX___346 = 88,
    _SC_XOPEN_VERSION___346 = 89,
    _SC_XOPEN_XCU_VERSION___346 = 90,
    _SC_XOPEN_UNIX___346 = 91,
    _SC_XOPEN_CRYPT___346 = 92,
    _SC_XOPEN_ENH_I18N___346 = 93,
    _SC_XOPEN_SHM___346 = 94,
    _SC_2_CHAR_TERM___346 = 95,
    _SC_2_C_VERSION___346 = 96,
    _SC_2_UPE___346 = 97,
    _SC_XOPEN_XPG2___346 = 98,
    _SC_XOPEN_XPG3___346 = 99,
    _SC_XOPEN_XPG4___346 = 100,
    _SC_CHAR_BIT___346 = 101,
    _SC_CHAR_MAX___346 = 102,
    _SC_CHAR_MIN___346 = 103,
    _SC_INT_MAX___346 = 104,
    _SC_INT_MIN___346 = 105,
    _SC_LONG_BIT___346 = 106,
    _SC_WORD_BIT___346 = 107,
    _SC_MB_LEN_MAX___346 = 108,
    _SC_NZERO___346 = 109,
    _SC_SSIZE_MAX___346 = 110,
    _SC_SCHAR_MAX___346 = 111,
    _SC_SCHAR_MIN___346 = 112,
    _SC_SHRT_MAX___346 = 113,
    _SC_SHRT_MIN___346 = 114,
    _SC_UCHAR_MAX___346 = 115,
    _SC_UINT_MAX___346 = 116,
    _SC_ULONG_MAX___346 = 117,
    _SC_USHRT_MAX___346 = 118,
    _SC_NL_ARGMAX___346 = 119,
    _SC_NL_LANGMAX___346 = 120,
    _SC_NL_MSGMAX___346 = 121,
    _SC_NL_NMAX___346 = 122,
    _SC_NL_SETMAX___346 = 123,
    _SC_NL_TEXTMAX___346 = 124,
    _SC_XBS5_ILP32_OFF32___346 = 125,
    _SC_XBS5_ILP32_OFFBIG___346 = 126,
    _SC_XBS5_LP64_OFF64___346 = 127,
    _SC_XBS5_LPBIG_OFFBIG___346 = 128,
    _SC_XOPEN_LEGACY___346 = 129,
    _SC_XOPEN_REALTIME___346 = 130,
    _SC_XOPEN_REALTIME_THREADS___346 = 131,
    _SC_ADVISORY_INFO___346 = 132,
    _SC_BARRIERS___346 = 133,
    _SC_BASE___346 = 134,
    _SC_C_LANG_SUPPORT___346 = 135,
    _SC_C_LANG_SUPPORT_R___346 = 136,
    _SC_CLOCK_SELECTION___346 = 137,
    _SC_CPUTIME___346 = 138,
    _SC_THREAD_CPUTIME___346 = 139,
    _SC_DEVICE_IO___346 = 140,
    _SC_DEVICE_SPECIFIC___346 = 141,
    _SC_DEVICE_SPECIFIC_R___346 = 142,
    _SC_FD_MGMT___346 = 143,
    _SC_FIFO___346 = 144,
    _SC_PIPE___346 = 145,
    _SC_FILE_ATTRIBUTES___346 = 146,
    _SC_FILE_LOCKING___346 = 147,
    _SC_FILE_SYSTEM___346 = 148,
    _SC_MONOTONIC_CLOCK___346 = 149,
    _SC_MULTI_PROCESS___346 = 150,
    _SC_SINGLE_PROCESS___346 = 151,
    _SC_NETWORKING___346 = 152,
    _SC_READER_WRITER_LOCKS___346 = 153,
    _SC_SPIN_LOCKS___346 = 154,
    _SC_REGEXP___346 = 155,
    _SC_REGEX_VERSION___346 = 156,
    _SC_SHELL___346 = 157,
    _SC_SIGNALS___346 = 158,
    _SC_SPAWN___346 = 159,
    _SC_SPORADIC_SERVER___346 = 160,
    _SC_THREAD_SPORADIC_SERVER___346 = 161,
    _SC_SYSTEM_DATABASE___346 = 162,
    _SC_SYSTEM_DATABASE_R___346 = 163,
    _SC_TIMEOUTS___346 = 164,
    _SC_TYPED_MEMORY_OBJECTS___346 = 165,
    _SC_USER_GROUPS___346 = 166,
    _SC_USER_GROUPS_R___346 = 167,
    _SC_2_PBS___346 = 168,
    _SC_2_PBS_ACCOUNTING___346 = 169,
    _SC_2_PBS_LOCATE___346 = 170,
    _SC_2_PBS_MESSAGE___346 = 171,
    _SC_2_PBS_TRACK___346 = 172,
    _SC_SYMLOOP_MAX___346 = 173,
    _SC_STREAMS___346 = 174,
    _SC_2_PBS_CHECKPOINT___346 = 175,
    _SC_V6_ILP32_OFF32___346 = 176,
    _SC_V6_ILP32_OFFBIG___346 = 177,
    _SC_V6_LP64_OFF64___346 = 178,
    _SC_V6_LPBIG_OFFBIG___346 = 179,
    _SC_HOST_NAME_MAX___346 = 180,
    _SC_TRACE___346 = 181,
    _SC_TRACE_EVENT_FILTER___346 = 182,
    _SC_TRACE_INHERIT___346 = 183,
    _SC_TRACE_LOG___346 = 184,
    _SC_LEVEL1_ICACHE_SIZE___346 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___346 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___346 = 187,
    _SC_LEVEL1_DCACHE_SIZE___346 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___346 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___346 = 190,
    _SC_LEVEL2_CACHE_SIZE___346 = 191,
    _SC_LEVEL2_CACHE_ASSOC___346 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___346 = 193,
    _SC_LEVEL3_CACHE_SIZE___346 = 194,
    _SC_LEVEL3_CACHE_ASSOC___346 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___346 = 196,
    _SC_LEVEL4_CACHE_SIZE___346 = 197,
    _SC_LEVEL4_CACHE_ASSOC___346 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___346 = 199,
    _SC_IPV6___346 = 235,
    _SC_RAW_SOCKETS___346 = 236,
    _SC_V7_ILP32_OFF32___346 = 237,
    _SC_V7_ILP32_OFFBIG___346 = 238,
    _SC_V7_LP64_OFF64___346 = 239,
    _SC_V7_LPBIG_OFFBIG___346 = 240,
    _SC_SS_REPL_MAX___346 = 241,
    _SC_TRACE_EVENT_NAME_MAX___346 = 242,
    _SC_TRACE_NAME_MAX___346 = 243,
    _SC_TRACE_SYS_MAX___346 = 244,
    _SC_TRACE_USER_EVENT_MAX___346 = 245,
    _SC_XOPEN_STREAMS___346 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___346 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___346 = 248
} ;
enum __anonenum_875524036___346 {
    _CS_PATH___346 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___346 = 1,
    _CS_GNU_LIBC_VERSION___346 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___346 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___346 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___346 = 5,
    _CS_LFS_CFLAGS___346 = 1000,
    _CS_LFS_LDFLAGS___346 = 1001,
    _CS_LFS_LIBS___346 = 1002,
    _CS_LFS_LINTFLAGS___346 = 1003,
    _CS_LFS64_CFLAGS___346 = 1004,
    _CS_LFS64_LDFLAGS___346 = 1005,
    _CS_LFS64_LIBS___346 = 1006,
    _CS_LFS64_LINTFLAGS___346 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___346 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___346 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___346 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___346 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___346 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___346 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___346 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___346 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___346 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___346 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___346 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___346 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___346 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___346 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___346 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___346 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___346 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___346 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___346 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___346 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___346 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___346 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___346 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___346 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___346 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___346 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___346 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___346 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___346 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___346 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___346 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___346 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___346 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___346 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___346 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___346 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___346 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___346 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___346 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___346 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___346 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___346 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___346 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___346 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___346 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___346 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___346 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___346 = 1147,
    _CS_V6_ENV___346 = 1148,
    _CS_V7_ENV___346 = 1149
} ;
enum __anonenum_513775621___346 {
    DT_UNKNOWN___346 = 0,
    DT_FIFO___346 = 1,
    DT_CHR___346 = 2,
    DT_DIR___346 = 4,
    DT_BLK___346 = 6,
    DT_REG___346 = 8,
    DT_LNK___346 = 10,
    DT_SOCK___346 = 12,
    DT_WHT___346 = 14
} ;
enum __anonenum_77002343___346 {
    SI_ASYNCNL___346 = -60,
    SI_TKILL___346 = -6,
    SI_SIGIO___346 = -5,
    SI_ASYNCIO___346 = -4,
    SI_MESGQ___346 = -3,
    SI_TIMER___346 = -2,
    SI_QUEUE___346 = -1,
    SI_USER___346 = 0,
    SI_KERNEL___346 = 128
} ;
enum __anonenum_131038172___346 {
    ILL_ILLOPC___346 = 1,
    ILL_ILLOPN___346 = 2,
    ILL_ILLADR___346 = 3,
    ILL_ILLTRP___346 = 4,
    ILL_PRVOPC___346 = 5,
    ILL_PRVREG___346 = 6,
    ILL_COPROC___346 = 7,
    ILL_BADSTK___346 = 8
} ;
enum __anonenum_452038093___346 {
    FPE_INTDIV___346 = 1,
    FPE_INTOVF___346 = 2,
    FPE_FLTDIV___346 = 3,
    FPE_FLTOVF___346 = 4,
    FPE_FLTUND___346 = 5,
    FPE_FLTRES___346 = 6,
    FPE_FLTINV___346 = 7,
    FPE_FLTSUB___346 = 8
} ;
enum __anonenum_30976155___346 {
    SEGV_MAPERR___346 = 1,
    SEGV_ACCERR___346 = 2,
    SEGV_BNDERR___346 = 3,
    SEGV_PKUERR___346 = 4
} ;
enum __anonenum_1036286214___346 {
    BUS_ADRALN___346 = 1,
    BUS_ADRERR___346 = 2,
    BUS_OBJERR___346 = 3,
    BUS_MCEERR_AR___346 = 4,
    BUS_MCEERR_AO___346 = 5
} ;
enum __anonenum_493465559___346 {
    TRAP_BRKPT___346 = 1,
    TRAP_TRACE___346 = 2
} ;
enum __anonenum_23175539___346 {
    CLD_EXITED___346 = 1,
    CLD_KILLED___346 = 2,
    CLD_DUMPED___346 = 3,
    CLD_TRAPPED___346 = 4,
    CLD_STOPPED___346 = 5,
    CLD_CONTINUED___346 = 6
} ;
enum __anonenum_111643124___346 {
    POLL_IN___346 = 1,
    POLL_OUT___346 = 2,
    POLL_MSG___346 = 3,
    POLL_ERR___346 = 4,
    POLL_PRI___346 = 5,
    POLL_HUP___346 = 6
} ;
enum __anonenum_852341087___346 {
    SIGEV_SIGNAL___346 = 0,
    SIGEV_NONE___346 = 1,
    SIGEV_THREAD___346 = 2,
    SIGEV_THREAD_ID___346 = 4
} ;
enum __anonenum_451154152___346 {
    REG_R8___346 = 0,
    REG_R9___346 = 1,
    REG_R10___346 = 2,
    REG_R11___346 = 3,
    REG_R12___346 = 4,
    REG_R13___346 = 5,
    REG_R14___346 = 6,
    REG_R15___346 = 7,
    REG_RDI___346 = 8,
    REG_RSI___346 = 9,
    REG_RBP___346 = 10,
    REG_RBX___346 = 11,
    REG_RDX___346 = 12,
    REG_RAX___346 = 13,
    REG_RCX___346 = 14,
    REG_RSP___346 = 15,
    REG_RIP___346 = 16,
    REG_EFL___346 = 17,
    REG_CSGSFS___346 = 18,
    REG_ERR___346 = 19,
    REG_TRAPNO___346 = 20,
    REG_OLDMASK___346 = 21,
    REG_CR2___346 = 22
} ;
enum __anonenum_57186863___346 {
    SS_ONSTACK___346 = 1,
    SS_DISABLE___346 = 2
} ;
enum __anonenum_83571709___346 {
    MSG_OOB___346 = 1,
    MSG_PEEK___346 = 2,
    MSG_DONTROUTE___346 = 4,
    MSG_TRYHARD___346 = 4,
    MSG_CTRUNC___346 = 8,
    MSG_PROXY___346 = 16,
    MSG_TRUNC___346 = 32,
    MSG_DONTWAIT___346 = 64,
    MSG_EOR___346 = 128,
    MSG_WAITALL___346 = 256,
    MSG_FIN___346 = 512,
    MSG_SYN___346 = 1024,
    MSG_CONFIRM___346 = 2048,
    MSG_RST___346 = 4096,
    MSG_ERRQUEUE___346 = 8192,
    MSG_NOSIGNAL___346 = 16384,
    MSG_MORE___346 = 32768,
    MSG_WAITFORONE___346 = 65536,
    MSG_BATCH___346 = 262144,
    MSG_ZEROCOPY___346 = 67108864,
    MSG_FASTOPEN___346 = 536870912,
    MSG_CMSG_CLOEXEC___346 = 1073741824
} ;
enum __anonenum_617082774___346 {
    SCM_RIGHTS___346 = 1,
    SCM_CREDENTIALS___346 = 2
} ;
enum __anonenum_606441560___346 {
    SHUT_RD___346 = 0,
    SHUT_WR___346 = 1,
    SHUT_RDWR___346 = 2
} ;
enum __anonenum_681669233___346 {
    IPPROTO_IP___346 = 0,
    IPPROTO_ICMP___346 = 1,
    IPPROTO_IGMP___346 = 2,
    IPPROTO_IPIP___346 = 4,
    IPPROTO_TCP___346 = 6,
    IPPROTO_EGP___346 = 8,
    IPPROTO_PUP___346 = 12,
    IPPROTO_UDP___346 = 17,
    IPPROTO_IDP___346 = 22,
    IPPROTO_TP___346 = 29,
    IPPROTO_DCCP___346 = 33,
    IPPROTO_IPV6___346 = 41,
    IPPROTO_RSVP___346 = 46,
    IPPROTO_GRE___346 = 47,
    IPPROTO_ESP___346 = 50,
    IPPROTO_AH___346 = 51,
    IPPROTO_MTP___346 = 92,
    IPPROTO_BEETPH___346 = 94,
    IPPROTO_ENCAP___346 = 98,
    IPPROTO_PIM___346 = 103,
    IPPROTO_COMP___346 = 108,
    IPPROTO_SCTP___346 = 132,
    IPPROTO_UDPLITE___346 = 136,
    IPPROTO_MPLS___346 = 137,
    IPPROTO_RAW___346 = 255,
    IPPROTO_MAX___346 = 256
} ;
enum __anonenum_218739988___346 {
    IPPROTO_HOPOPTS___346 = 0,
    IPPROTO_ROUTING___346 = 43,
    IPPROTO_FRAGMENT___346 = 44,
    IPPROTO_ICMPV6___346 = 58,
    IPPROTO_NONE___346 = 59,
    IPPROTO_DSTOPTS___346 = 60,
    IPPROTO_MH___346 = 135
} ;
enum __anonenum_662268580___346 {
    IPPORT_ECHO___346 = 7,
    IPPORT_DISCARD___346 = 9,
    IPPORT_SYSTAT___346 = 11,
    IPPORT_DAYTIME___346 = 13,
    IPPORT_NETSTAT___346 = 15,
    IPPORT_FTP___346 = 21,
    IPPORT_TELNET___346 = 23,
    IPPORT_SMTP___346 = 25,
    IPPORT_TIMESERVER___346 = 37,
    IPPORT_NAMESERVER___346 = 42,
    IPPORT_WHOIS___346 = 43,
    IPPORT_MTP___346 = 57,
    IPPORT_TFTP___346 = 69,
    IPPORT_RJE___346 = 77,
    IPPORT_FINGER___346 = 79,
    IPPORT_TTYLINK___346 = 87,
    IPPORT_SUPDUP___346 = 95,
    IPPORT_EXECSERVER___346 = 512,
    IPPORT_LOGINSERVER___346 = 513,
    IPPORT_CMDSERVER___346 = 514,
    IPPORT_EFSSERVER___346 = 520,
    IPPORT_BIFFUDP___346 = 512,
    IPPORT_WHOSERVER___346 = 513,
    IPPORT_ROUTESERVER___346 = 520,
    IPPORT_RESERVED___346 = 1024,
    IPPORT_USERRESERVED___346 = 5000
} ;
enum __anonenum_788308992___346 {
    TCP_ESTABLISHED___346 = 1,
    TCP_SYN_SENT___346 = 2,
    TCP_SYN_RECV___346 = 3,
    TCP_FIN_WAIT1___346 = 4,
    TCP_FIN_WAIT2___346 = 5,
    TCP_TIME_WAIT___346 = 6,
    TCP_CLOSE___346 = 7,
    TCP_CLOSE_WAIT___346 = 8,
    TCP_LAST_ACK___346 = 9,
    TCP_LISTEN___346 = 10,
    TCP_CLOSING___346 = 11
} ;
enum __anonenum_221125648___346 {
    TCP_NO_QUEUE___346 = 0,
    TCP_RECV_QUEUE___346 = 1,
    TCP_SEND_QUEUE___346 = 2,
    TCP_QUEUES_NR___346 = 3
} ;
enum __anonenum_34415463___346 {
    PTHREAD_CREATE_JOINABLE___346 = 0,
    PTHREAD_CREATE_DETACHED___346 = 1
} ;
enum __anonenum_303612439___346 {
    PTHREAD_MUTEX_TIMED_NP___346 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___346 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___346 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___346 = 3,
    PTHREAD_MUTEX_NORMAL___346 = 0,
    PTHREAD_MUTEX_RECURSIVE___346 = 1,
    PTHREAD_MUTEX_ERRORCHECK___346 = 2,
    PTHREAD_MUTEX_DEFAULT___346 = 0,
    PTHREAD_MUTEX_FAST_NP___346 = 0
} ;
enum __anonenum_931900394___346 {
    PTHREAD_MUTEX_STALLED___346 = 0,
    PTHREAD_MUTEX_STALLED_NP___346 = 0,
    PTHREAD_MUTEX_ROBUST___346 = 1,
    PTHREAD_MUTEX_ROBUST_NP___346 = 1
} ;
enum __anonenum_205214487___346 {
    PTHREAD_PRIO_NONE___346 = 0,
    PTHREAD_PRIO_INHERIT___346 = 1,
    PTHREAD_PRIO_PROTECT___346 = 2
} ;
enum __anonenum_25043950___346 {
    PTHREAD_RWLOCK_PREFER_READER_NP___346 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___346 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___346 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___346 = 0
} ;
enum __anonenum_436439511___346 {
    PTHREAD_INHERIT_SCHED___346 = 0,
    PTHREAD_EXPLICIT_SCHED___346 = 1
} ;
enum __anonenum_998661166___346 {
    PTHREAD_SCOPE_SYSTEM___346 = 0,
    PTHREAD_SCOPE_PROCESS___346 = 1
} ;
enum __anonenum_146137331___346 {
    PTHREAD_PROCESS_PRIVATE___346 = 0,
    PTHREAD_PROCESS_SHARED___346 = 1
} ;
enum __anonenum_53396917___346 {
    PTHREAD_CANCEL_ENABLE___346 = 0,
    PTHREAD_CANCEL_DISABLE___346 = 1
} ;
enum __anonenum_904563783___346 {
    PTHREAD_CANCEL_DEFERRED___346 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___346 = 1
} ;
enum __anonenum_672052974___346 {
    SSL_CT_VALIDATION_PERMISSIVE___346 = 0,
    SSL_CT_VALIDATION_STRICT___346 = 1
} ;
enum __anonenum_437032235___347 {
    _PC_LINK_MAX___347 = 0,
    _PC_MAX_CANON___347 = 1,
    _PC_MAX_INPUT___347 = 2,
    _PC_NAME_MAX___347 = 3,
    _PC_PATH_MAX___347 = 4,
    _PC_PIPE_BUF___347 = 5,
    _PC_CHOWN_RESTRICTED___347 = 6,
    _PC_NO_TRUNC___347 = 7,
    _PC_VDISABLE___347 = 8,
    _PC_SYNC_IO___347 = 9,
    _PC_ASYNC_IO___347 = 10,
    _PC_PRIO_IO___347 = 11,
    _PC_SOCK_MAXBUF___347 = 12,
    _PC_FILESIZEBITS___347 = 13,
    _PC_REC_INCR_XFER_SIZE___347 = 14,
    _PC_REC_MAX_XFER_SIZE___347 = 15,
    _PC_REC_MIN_XFER_SIZE___347 = 16,
    _PC_REC_XFER_ALIGN___347 = 17,
    _PC_ALLOC_SIZE_MIN___347 = 18,
    _PC_SYMLINK_MAX___347 = 19,
    _PC_2_SYMLINKS___347 = 20
} ;
enum __anonenum_315186338___347 {
    _SC_ARG_MAX___347 = 0,
    _SC_CHILD_MAX___347 = 1,
    _SC_CLK_TCK___347 = 2,
    _SC_NGROUPS_MAX___347 = 3,
    _SC_OPEN_MAX___347 = 4,
    _SC_STREAM_MAX___347 = 5,
    _SC_TZNAME_MAX___347 = 6,
    _SC_JOB_CONTROL___347 = 7,
    _SC_SAVED_IDS___347 = 8,
    _SC_REALTIME_SIGNALS___347 = 9,
    _SC_PRIORITY_SCHEDULING___347 = 10,
    _SC_TIMERS___347 = 11,
    _SC_ASYNCHRONOUS_IO___347 = 12,
    _SC_PRIORITIZED_IO___347 = 13,
    _SC_SYNCHRONIZED_IO___347 = 14,
    _SC_FSYNC___347 = 15,
    _SC_MAPPED_FILES___347 = 16,
    _SC_MEMLOCK___347 = 17,
    _SC_MEMLOCK_RANGE___347 = 18,
    _SC_MEMORY_PROTECTION___347 = 19,
    _SC_MESSAGE_PASSING___347 = 20,
    _SC_SEMAPHORES___347 = 21,
    _SC_SHARED_MEMORY_OBJECTS___347 = 22,
    _SC_AIO_LISTIO_MAX___347 = 23,
    _SC_AIO_MAX___347 = 24,
    _SC_AIO_PRIO_DELTA_MAX___347 = 25,
    _SC_DELAYTIMER_MAX___347 = 26,
    _SC_MQ_OPEN_MAX___347 = 27,
    _SC_MQ_PRIO_MAX___347 = 28,
    _SC_VERSION___347 = 29,
    _SC_PAGESIZE___347 = 30,
    _SC_RTSIG_MAX___347 = 31,
    _SC_SEM_NSEMS_MAX___347 = 32,
    _SC_SEM_VALUE_MAX___347 = 33,
    _SC_SIGQUEUE_MAX___347 = 34,
    _SC_TIMER_MAX___347 = 35,
    _SC_BC_BASE_MAX___347 = 36,
    _SC_BC_DIM_MAX___347 = 37,
    _SC_BC_SCALE_MAX___347 = 38,
    _SC_BC_STRING_MAX___347 = 39,
    _SC_COLL_WEIGHTS_MAX___347 = 40,
    _SC_EQUIV_CLASS_MAX___347 = 41,
    _SC_EXPR_NEST_MAX___347 = 42,
    _SC_LINE_MAX___347 = 43,
    _SC_RE_DUP_MAX___347 = 44,
    _SC_CHARCLASS_NAME_MAX___347 = 45,
    _SC_2_VERSION___347 = 46,
    _SC_2_C_BIND___347 = 47,
    _SC_2_C_DEV___347 = 48,
    _SC_2_FORT_DEV___347 = 49,
    _SC_2_FORT_RUN___347 = 50,
    _SC_2_SW_DEV___347 = 51,
    _SC_2_LOCALEDEF___347 = 52,
    _SC_PII___347 = 53,
    _SC_PII_XTI___347 = 54,
    _SC_PII_SOCKET___347 = 55,
    _SC_PII_INTERNET___347 = 56,
    _SC_PII_OSI___347 = 57,
    _SC_POLL___347 = 58,
    _SC_SELECT___347 = 59,
    _SC_UIO_MAXIOV___347 = 60,
    _SC_IOV_MAX___347 = 60,
    _SC_PII_INTERNET_STREAM___347 = 61,
    _SC_PII_INTERNET_DGRAM___347 = 62,
    _SC_PII_OSI_COTS___347 = 63,
    _SC_PII_OSI_CLTS___347 = 64,
    _SC_PII_OSI_M___347 = 65,
    _SC_T_IOV_MAX___347 = 66,
    _SC_THREADS___347 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___347 = 68,
    _SC_GETGR_R_SIZE_MAX___347 = 69,
    _SC_GETPW_R_SIZE_MAX___347 = 70,
    _SC_LOGIN_NAME_MAX___347 = 71,
    _SC_TTY_NAME_MAX___347 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___347 = 73,
    _SC_THREAD_KEYS_MAX___347 = 74,
    _SC_THREAD_STACK_MIN___347 = 75,
    _SC_THREAD_THREADS_MAX___347 = 76,
    _SC_THREAD_ATTR_STACKADDR___347 = 77,
    _SC_THREAD_ATTR_STACKSIZE___347 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___347 = 79,
    _SC_THREAD_PRIO_INHERIT___347 = 80,
    _SC_THREAD_PRIO_PROTECT___347 = 81,
    _SC_THREAD_PROCESS_SHARED___347 = 82,
    _SC_NPROCESSORS_CONF___347 = 83,
    _SC_NPROCESSORS_ONLN___347 = 84,
    _SC_PHYS_PAGES___347 = 85,
    _SC_AVPHYS_PAGES___347 = 86,
    _SC_ATEXIT_MAX___347 = 87,
    _SC_PASS_MAX___347 = 88,
    _SC_XOPEN_VERSION___347 = 89,
    _SC_XOPEN_XCU_VERSION___347 = 90,
    _SC_XOPEN_UNIX___347 = 91,
    _SC_XOPEN_CRYPT___347 = 92,
    _SC_XOPEN_ENH_I18N___347 = 93,
    _SC_XOPEN_SHM___347 = 94,
    _SC_2_CHAR_TERM___347 = 95,
    _SC_2_C_VERSION___347 = 96,
    _SC_2_UPE___347 = 97,
    _SC_XOPEN_XPG2___347 = 98,
    _SC_XOPEN_XPG3___347 = 99,
    _SC_XOPEN_XPG4___347 = 100,
    _SC_CHAR_BIT___347 = 101,
    _SC_CHAR_MAX___347 = 102,
    _SC_CHAR_MIN___347 = 103,
    _SC_INT_MAX___347 = 104,
    _SC_INT_MIN___347 = 105,
    _SC_LONG_BIT___347 = 106,
    _SC_WORD_BIT___347 = 107,
    _SC_MB_LEN_MAX___347 = 108,
    _SC_NZERO___347 = 109,
    _SC_SSIZE_MAX___347 = 110,
    _SC_SCHAR_MAX___347 = 111,
    _SC_SCHAR_MIN___347 = 112,
    _SC_SHRT_MAX___347 = 113,
    _SC_SHRT_MIN___347 = 114,
    _SC_UCHAR_MAX___347 = 115,
    _SC_UINT_MAX___347 = 116,
    _SC_ULONG_MAX___347 = 117,
    _SC_USHRT_MAX___347 = 118,
    _SC_NL_ARGMAX___347 = 119,
    _SC_NL_LANGMAX___347 = 120,
    _SC_NL_MSGMAX___347 = 121,
    _SC_NL_NMAX___347 = 122,
    _SC_NL_SETMAX___347 = 123,
    _SC_NL_TEXTMAX___347 = 124,
    _SC_XBS5_ILP32_OFF32___347 = 125,
    _SC_XBS5_ILP32_OFFBIG___347 = 126,
    _SC_XBS5_LP64_OFF64___347 = 127,
    _SC_XBS5_LPBIG_OFFBIG___347 = 128,
    _SC_XOPEN_LEGACY___347 = 129,
    _SC_XOPEN_REALTIME___347 = 130,
    _SC_XOPEN_REALTIME_THREADS___347 = 131,
    _SC_ADVISORY_INFO___347 = 132,
    _SC_BARRIERS___347 = 133,
    _SC_BASE___347 = 134,
    _SC_C_LANG_SUPPORT___347 = 135,
    _SC_C_LANG_SUPPORT_R___347 = 136,
    _SC_CLOCK_SELECTION___347 = 137,
    _SC_CPUTIME___347 = 138,
    _SC_THREAD_CPUTIME___347 = 139,
    _SC_DEVICE_IO___347 = 140,
    _SC_DEVICE_SPECIFIC___347 = 141,
    _SC_DEVICE_SPECIFIC_R___347 = 142,
    _SC_FD_MGMT___347 = 143,
    _SC_FIFO___347 = 144,
    _SC_PIPE___347 = 145,
    _SC_FILE_ATTRIBUTES___347 = 146,
    _SC_FILE_LOCKING___347 = 147,
    _SC_FILE_SYSTEM___347 = 148,
    _SC_MONOTONIC_CLOCK___347 = 149,
    _SC_MULTI_PROCESS___347 = 150,
    _SC_SINGLE_PROCESS___347 = 151,
    _SC_NETWORKING___347 = 152,
    _SC_READER_WRITER_LOCKS___347 = 153,
    _SC_SPIN_LOCKS___347 = 154,
    _SC_REGEXP___347 = 155,
    _SC_REGEX_VERSION___347 = 156,
    _SC_SHELL___347 = 157,
    _SC_SIGNALS___347 = 158,
    _SC_SPAWN___347 = 159,
    _SC_SPORADIC_SERVER___347 = 160,
    _SC_THREAD_SPORADIC_SERVER___347 = 161,
    _SC_SYSTEM_DATABASE___347 = 162,
    _SC_SYSTEM_DATABASE_R___347 = 163,
    _SC_TIMEOUTS___347 = 164,
    _SC_TYPED_MEMORY_OBJECTS___347 = 165,
    _SC_USER_GROUPS___347 = 166,
    _SC_USER_GROUPS_R___347 = 167,
    _SC_2_PBS___347 = 168,
    _SC_2_PBS_ACCOUNTING___347 = 169,
    _SC_2_PBS_LOCATE___347 = 170,
    _SC_2_PBS_MESSAGE___347 = 171,
    _SC_2_PBS_TRACK___347 = 172,
    _SC_SYMLOOP_MAX___347 = 173,
    _SC_STREAMS___347 = 174,
    _SC_2_PBS_CHECKPOINT___347 = 175,
    _SC_V6_ILP32_OFF32___347 = 176,
    _SC_V6_ILP32_OFFBIG___347 = 177,
    _SC_V6_LP64_OFF64___347 = 178,
    _SC_V6_LPBIG_OFFBIG___347 = 179,
    _SC_HOST_NAME_MAX___347 = 180,
    _SC_TRACE___347 = 181,
    _SC_TRACE_EVENT_FILTER___347 = 182,
    _SC_TRACE_INHERIT___347 = 183,
    _SC_TRACE_LOG___347 = 184,
    _SC_LEVEL1_ICACHE_SIZE___347 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___347 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___347 = 187,
    _SC_LEVEL1_DCACHE_SIZE___347 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___347 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___347 = 190,
    _SC_LEVEL2_CACHE_SIZE___347 = 191,
    _SC_LEVEL2_CACHE_ASSOC___347 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___347 = 193,
    _SC_LEVEL3_CACHE_SIZE___347 = 194,
    _SC_LEVEL3_CACHE_ASSOC___347 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___347 = 196,
    _SC_LEVEL4_CACHE_SIZE___347 = 197,
    _SC_LEVEL4_CACHE_ASSOC___347 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___347 = 199,
    _SC_IPV6___347 = 235,
    _SC_RAW_SOCKETS___347 = 236,
    _SC_V7_ILP32_OFF32___347 = 237,
    _SC_V7_ILP32_OFFBIG___347 = 238,
    _SC_V7_LP64_OFF64___347 = 239,
    _SC_V7_LPBIG_OFFBIG___347 = 240,
    _SC_SS_REPL_MAX___347 = 241,
    _SC_TRACE_EVENT_NAME_MAX___347 = 242,
    _SC_TRACE_NAME_MAX___347 = 243,
    _SC_TRACE_SYS_MAX___347 = 244,
    _SC_TRACE_USER_EVENT_MAX___347 = 245,
    _SC_XOPEN_STREAMS___347 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___347 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___347 = 248
} ;
enum __anonenum_875524036___347 {
    _CS_PATH___347 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___347 = 1,
    _CS_GNU_LIBC_VERSION___347 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___347 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___347 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___347 = 5,
    _CS_LFS_CFLAGS___347 = 1000,
    _CS_LFS_LDFLAGS___347 = 1001,
    _CS_LFS_LIBS___347 = 1002,
    _CS_LFS_LINTFLAGS___347 = 1003,
    _CS_LFS64_CFLAGS___347 = 1004,
    _CS_LFS64_LDFLAGS___347 = 1005,
    _CS_LFS64_LIBS___347 = 1006,
    _CS_LFS64_LINTFLAGS___347 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___347 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___347 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___347 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___347 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___347 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___347 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___347 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___347 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___347 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___347 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___347 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___347 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___347 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___347 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___347 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___347 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___347 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___347 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___347 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___347 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___347 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___347 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___347 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___347 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___347 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___347 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___347 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___347 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___347 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___347 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___347 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___347 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___347 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___347 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___347 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___347 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___347 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___347 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___347 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___347 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___347 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___347 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___347 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___347 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___347 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___347 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___347 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___347 = 1147,
    _CS_V6_ENV___347 = 1148,
    _CS_V7_ENV___347 = 1149
} ;
enum __anonenum_513775621___347 {
    DT_UNKNOWN___347 = 0,
    DT_FIFO___347 = 1,
    DT_CHR___347 = 2,
    DT_DIR___347 = 4,
    DT_BLK___347 = 6,
    DT_REG___347 = 8,
    DT_LNK___347 = 10,
    DT_SOCK___347 = 12,
    DT_WHT___347 = 14
} ;
enum __anonenum_77002343___347 {
    SI_ASYNCNL___347 = -60,
    SI_TKILL___347 = -6,
    SI_SIGIO___347 = -5,
    SI_ASYNCIO___347 = -4,
    SI_MESGQ___347 = -3,
    SI_TIMER___347 = -2,
    SI_QUEUE___347 = -1,
    SI_USER___347 = 0,
    SI_KERNEL___347 = 128
} ;
enum __anonenum_131038172___347 {
    ILL_ILLOPC___347 = 1,
    ILL_ILLOPN___347 = 2,
    ILL_ILLADR___347 = 3,
    ILL_ILLTRP___347 = 4,
    ILL_PRVOPC___347 = 5,
    ILL_PRVREG___347 = 6,
    ILL_COPROC___347 = 7,
    ILL_BADSTK___347 = 8
} ;
enum __anonenum_452038093___347 {
    FPE_INTDIV___347 = 1,
    FPE_INTOVF___347 = 2,
    FPE_FLTDIV___347 = 3,
    FPE_FLTOVF___347 = 4,
    FPE_FLTUND___347 = 5,
    FPE_FLTRES___347 = 6,
    FPE_FLTINV___347 = 7,
    FPE_FLTSUB___347 = 8
} ;
enum __anonenum_30976155___347 {
    SEGV_MAPERR___347 = 1,
    SEGV_ACCERR___347 = 2,
    SEGV_BNDERR___347 = 3,
    SEGV_PKUERR___347 = 4
} ;
enum __anonenum_1036286214___347 {
    BUS_ADRALN___347 = 1,
    BUS_ADRERR___347 = 2,
    BUS_OBJERR___347 = 3,
    BUS_MCEERR_AR___347 = 4,
    BUS_MCEERR_AO___347 = 5
} ;
enum __anonenum_493465559___347 {
    TRAP_BRKPT___347 = 1,
    TRAP_TRACE___347 = 2
} ;
enum __anonenum_23175539___347 {
    CLD_EXITED___347 = 1,
    CLD_KILLED___347 = 2,
    CLD_DUMPED___347 = 3,
    CLD_TRAPPED___347 = 4,
    CLD_STOPPED___347 = 5,
    CLD_CONTINUED___347 = 6
} ;
enum __anonenum_111643124___347 {
    POLL_IN___347 = 1,
    POLL_OUT___347 = 2,
    POLL_MSG___347 = 3,
    POLL_ERR___347 = 4,
    POLL_PRI___347 = 5,
    POLL_HUP___347 = 6
} ;
enum __anonenum_852341087___347 {
    SIGEV_SIGNAL___347 = 0,
    SIGEV_NONE___347 = 1,
    SIGEV_THREAD___347 = 2,
    SIGEV_THREAD_ID___347 = 4
} ;
enum __anonenum_451154152___347 {
    REG_R8___347 = 0,
    REG_R9___347 = 1,
    REG_R10___347 = 2,
    REG_R11___347 = 3,
    REG_R12___347 = 4,
    REG_R13___347 = 5,
    REG_R14___347 = 6,
    REG_R15___347 = 7,
    REG_RDI___347 = 8,
    REG_RSI___347 = 9,
    REG_RBP___347 = 10,
    REG_RBX___347 = 11,
    REG_RDX___347 = 12,
    REG_RAX___347 = 13,
    REG_RCX___347 = 14,
    REG_RSP___347 = 15,
    REG_RIP___347 = 16,
    REG_EFL___347 = 17,
    REG_CSGSFS___347 = 18,
    REG_ERR___347 = 19,
    REG_TRAPNO___347 = 20,
    REG_OLDMASK___347 = 21,
    REG_CR2___347 = 22
} ;
enum __anonenum_57186863___347 {
    SS_ONSTACK___347 = 1,
    SS_DISABLE___347 = 2
} ;
enum __anonenum_83571709___347 {
    MSG_OOB___347 = 1,
    MSG_PEEK___347 = 2,
    MSG_DONTROUTE___347 = 4,
    MSG_TRYHARD___347 = 4,
    MSG_CTRUNC___347 = 8,
    MSG_PROXY___347 = 16,
    MSG_TRUNC___347 = 32,
    MSG_DONTWAIT___347 = 64,
    MSG_EOR___347 = 128,
    MSG_WAITALL___347 = 256,
    MSG_FIN___347 = 512,
    MSG_SYN___347 = 1024,
    MSG_CONFIRM___347 = 2048,
    MSG_RST___347 = 4096,
    MSG_ERRQUEUE___347 = 8192,
    MSG_NOSIGNAL___347 = 16384,
    MSG_MORE___347 = 32768,
    MSG_WAITFORONE___347 = 65536,
    MSG_BATCH___347 = 262144,
    MSG_ZEROCOPY___347 = 67108864,
    MSG_FASTOPEN___347 = 536870912,
    MSG_CMSG_CLOEXEC___347 = 1073741824
} ;
enum __anonenum_617082774___347 {
    SCM_RIGHTS___347 = 1,
    SCM_CREDENTIALS___347 = 2
} ;
enum __anonenum_606441560___347 {
    SHUT_RD___347 = 0,
    SHUT_WR___347 = 1,
    SHUT_RDWR___347 = 2
} ;
enum __anonenum_681669233___347 {
    IPPROTO_IP___347 = 0,
    IPPROTO_ICMP___347 = 1,
    IPPROTO_IGMP___347 = 2,
    IPPROTO_IPIP___347 = 4,
    IPPROTO_TCP___347 = 6,
    IPPROTO_EGP___347 = 8,
    IPPROTO_PUP___347 = 12,
    IPPROTO_UDP___347 = 17,
    IPPROTO_IDP___347 = 22,
    IPPROTO_TP___347 = 29,
    IPPROTO_DCCP___347 = 33,
    IPPROTO_IPV6___347 = 41,
    IPPROTO_RSVP___347 = 46,
    IPPROTO_GRE___347 = 47,
    IPPROTO_ESP___347 = 50,
    IPPROTO_AH___347 = 51,
    IPPROTO_MTP___347 = 92,
    IPPROTO_BEETPH___347 = 94,
    IPPROTO_ENCAP___347 = 98,
    IPPROTO_PIM___347 = 103,
    IPPROTO_COMP___347 = 108,
    IPPROTO_SCTP___347 = 132,
    IPPROTO_UDPLITE___347 = 136,
    IPPROTO_MPLS___347 = 137,
    IPPROTO_RAW___347 = 255,
    IPPROTO_MAX___347 = 256
} ;
enum __anonenum_218739988___347 {
    IPPROTO_HOPOPTS___347 = 0,
    IPPROTO_ROUTING___347 = 43,
    IPPROTO_FRAGMENT___347 = 44,
    IPPROTO_ICMPV6___347 = 58,
    IPPROTO_NONE___347 = 59,
    IPPROTO_DSTOPTS___347 = 60,
    IPPROTO_MH___347 = 135
} ;
enum __anonenum_662268580___347 {
    IPPORT_ECHO___347 = 7,
    IPPORT_DISCARD___347 = 9,
    IPPORT_SYSTAT___347 = 11,
    IPPORT_DAYTIME___347 = 13,
    IPPORT_NETSTAT___347 = 15,
    IPPORT_FTP___347 = 21,
    IPPORT_TELNET___347 = 23,
    IPPORT_SMTP___347 = 25,
    IPPORT_TIMESERVER___347 = 37,
    IPPORT_NAMESERVER___347 = 42,
    IPPORT_WHOIS___347 = 43,
    IPPORT_MTP___347 = 57,
    IPPORT_TFTP___347 = 69,
    IPPORT_RJE___347 = 77,
    IPPORT_FINGER___347 = 79,
    IPPORT_TTYLINK___347 = 87,
    IPPORT_SUPDUP___347 = 95,
    IPPORT_EXECSERVER___347 = 512,
    IPPORT_LOGINSERVER___347 = 513,
    IPPORT_CMDSERVER___347 = 514,
    IPPORT_EFSSERVER___347 = 520,
    IPPORT_BIFFUDP___347 = 512,
    IPPORT_WHOSERVER___347 = 513,
    IPPORT_ROUTESERVER___347 = 520,
    IPPORT_RESERVED___347 = 1024,
    IPPORT_USERRESERVED___347 = 5000
} ;
enum __anonenum_788308992___347 {
    TCP_ESTABLISHED___347 = 1,
    TCP_SYN_SENT___347 = 2,
    TCP_SYN_RECV___347 = 3,
    TCP_FIN_WAIT1___347 = 4,
    TCP_FIN_WAIT2___347 = 5,
    TCP_TIME_WAIT___347 = 6,
    TCP_CLOSE___347 = 7,
    TCP_CLOSE_WAIT___347 = 8,
    TCP_LAST_ACK___347 = 9,
    TCP_LISTEN___347 = 10,
    TCP_CLOSING___347 = 11
} ;
enum __anonenum_221125648___347 {
    TCP_NO_QUEUE___347 = 0,
    TCP_RECV_QUEUE___347 = 1,
    TCP_SEND_QUEUE___347 = 2,
    TCP_QUEUES_NR___347 = 3
} ;
enum __anonenum_34415463___347 {
    PTHREAD_CREATE_JOINABLE___347 = 0,
    PTHREAD_CREATE_DETACHED___347 = 1
} ;
enum __anonenum_303612439___347 {
    PTHREAD_MUTEX_TIMED_NP___347 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___347 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___347 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___347 = 3,
    PTHREAD_MUTEX_NORMAL___347 = 0,
    PTHREAD_MUTEX_RECURSIVE___347 = 1,
    PTHREAD_MUTEX_ERRORCHECK___347 = 2,
    PTHREAD_MUTEX_DEFAULT___347 = 0,
    PTHREAD_MUTEX_FAST_NP___347 = 0
} ;
enum __anonenum_931900394___347 {
    PTHREAD_MUTEX_STALLED___347 = 0,
    PTHREAD_MUTEX_STALLED_NP___347 = 0,
    PTHREAD_MUTEX_ROBUST___347 = 1,
    PTHREAD_MUTEX_ROBUST_NP___347 = 1
} ;
enum __anonenum_205214487___347 {
    PTHREAD_PRIO_NONE___347 = 0,
    PTHREAD_PRIO_INHERIT___347 = 1,
    PTHREAD_PRIO_PROTECT___347 = 2
} ;
enum __anonenum_25043950___347 {
    PTHREAD_RWLOCK_PREFER_READER_NP___347 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___347 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___347 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___347 = 0
} ;
enum __anonenum_436439511___347 {
    PTHREAD_INHERIT_SCHED___347 = 0,
    PTHREAD_EXPLICIT_SCHED___347 = 1
} ;
enum __anonenum_998661166___347 {
    PTHREAD_SCOPE_SYSTEM___347 = 0,
    PTHREAD_SCOPE_PROCESS___347 = 1
} ;
enum __anonenum_146137331___347 {
    PTHREAD_PROCESS_PRIVATE___347 = 0,
    PTHREAD_PROCESS_SHARED___347 = 1
} ;
enum __anonenum_53396917___347 {
    PTHREAD_CANCEL_ENABLE___347 = 0,
    PTHREAD_CANCEL_DISABLE___347 = 1
} ;
enum __anonenum_904563783___347 {
    PTHREAD_CANCEL_DEFERRED___347 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___347 = 1
} ;
enum __anonenum_672052974___347 {
    SSL_CT_VALIDATION_PERMISSIVE___347 = 0,
    SSL_CT_VALIDATION_STRICT___347 = 1
} ;
enum __anonenum_437032235___348 {
    _PC_LINK_MAX___348 = 0,
    _PC_MAX_CANON___348 = 1,
    _PC_MAX_INPUT___348 = 2,
    _PC_NAME_MAX___348 = 3,
    _PC_PATH_MAX___348 = 4,
    _PC_PIPE_BUF___348 = 5,
    _PC_CHOWN_RESTRICTED___348 = 6,
    _PC_NO_TRUNC___348 = 7,
    _PC_VDISABLE___348 = 8,
    _PC_SYNC_IO___348 = 9,
    _PC_ASYNC_IO___348 = 10,
    _PC_PRIO_IO___348 = 11,
    _PC_SOCK_MAXBUF___348 = 12,
    _PC_FILESIZEBITS___348 = 13,
    _PC_REC_INCR_XFER_SIZE___348 = 14,
    _PC_REC_MAX_XFER_SIZE___348 = 15,
    _PC_REC_MIN_XFER_SIZE___348 = 16,
    _PC_REC_XFER_ALIGN___348 = 17,
    _PC_ALLOC_SIZE_MIN___348 = 18,
    _PC_SYMLINK_MAX___348 = 19,
    _PC_2_SYMLINKS___348 = 20
} ;
enum __anonenum_315186338___348 {
    _SC_ARG_MAX___348 = 0,
    _SC_CHILD_MAX___348 = 1,
    _SC_CLK_TCK___348 = 2,
    _SC_NGROUPS_MAX___348 = 3,
    _SC_OPEN_MAX___348 = 4,
    _SC_STREAM_MAX___348 = 5,
    _SC_TZNAME_MAX___348 = 6,
    _SC_JOB_CONTROL___348 = 7,
    _SC_SAVED_IDS___348 = 8,
    _SC_REALTIME_SIGNALS___348 = 9,
    _SC_PRIORITY_SCHEDULING___348 = 10,
    _SC_TIMERS___348 = 11,
    _SC_ASYNCHRONOUS_IO___348 = 12,
    _SC_PRIORITIZED_IO___348 = 13,
    _SC_SYNCHRONIZED_IO___348 = 14,
    _SC_FSYNC___348 = 15,
    _SC_MAPPED_FILES___348 = 16,
    _SC_MEMLOCK___348 = 17,
    _SC_MEMLOCK_RANGE___348 = 18,
    _SC_MEMORY_PROTECTION___348 = 19,
    _SC_MESSAGE_PASSING___348 = 20,
    _SC_SEMAPHORES___348 = 21,
    _SC_SHARED_MEMORY_OBJECTS___348 = 22,
    _SC_AIO_LISTIO_MAX___348 = 23,
    _SC_AIO_MAX___348 = 24,
    _SC_AIO_PRIO_DELTA_MAX___348 = 25,
    _SC_DELAYTIMER_MAX___348 = 26,
    _SC_MQ_OPEN_MAX___348 = 27,
    _SC_MQ_PRIO_MAX___348 = 28,
    _SC_VERSION___348 = 29,
    _SC_PAGESIZE___348 = 30,
    _SC_RTSIG_MAX___348 = 31,
    _SC_SEM_NSEMS_MAX___348 = 32,
    _SC_SEM_VALUE_MAX___348 = 33,
    _SC_SIGQUEUE_MAX___348 = 34,
    _SC_TIMER_MAX___348 = 35,
    _SC_BC_BASE_MAX___348 = 36,
    _SC_BC_DIM_MAX___348 = 37,
    _SC_BC_SCALE_MAX___348 = 38,
    _SC_BC_STRING_MAX___348 = 39,
    _SC_COLL_WEIGHTS_MAX___348 = 40,
    _SC_EQUIV_CLASS_MAX___348 = 41,
    _SC_EXPR_NEST_MAX___348 = 42,
    _SC_LINE_MAX___348 = 43,
    _SC_RE_DUP_MAX___348 = 44,
    _SC_CHARCLASS_NAME_MAX___348 = 45,
    _SC_2_VERSION___348 = 46,
    _SC_2_C_BIND___348 = 47,
    _SC_2_C_DEV___348 = 48,
    _SC_2_FORT_DEV___348 = 49,
    _SC_2_FORT_RUN___348 = 50,
    _SC_2_SW_DEV___348 = 51,
    _SC_2_LOCALEDEF___348 = 52,
    _SC_PII___348 = 53,
    _SC_PII_XTI___348 = 54,
    _SC_PII_SOCKET___348 = 55,
    _SC_PII_INTERNET___348 = 56,
    _SC_PII_OSI___348 = 57,
    _SC_POLL___348 = 58,
    _SC_SELECT___348 = 59,
    _SC_UIO_MAXIOV___348 = 60,
    _SC_IOV_MAX___348 = 60,
    _SC_PII_INTERNET_STREAM___348 = 61,
    _SC_PII_INTERNET_DGRAM___348 = 62,
    _SC_PII_OSI_COTS___348 = 63,
    _SC_PII_OSI_CLTS___348 = 64,
    _SC_PII_OSI_M___348 = 65,
    _SC_T_IOV_MAX___348 = 66,
    _SC_THREADS___348 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___348 = 68,
    _SC_GETGR_R_SIZE_MAX___348 = 69,
    _SC_GETPW_R_SIZE_MAX___348 = 70,
    _SC_LOGIN_NAME_MAX___348 = 71,
    _SC_TTY_NAME_MAX___348 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___348 = 73,
    _SC_THREAD_KEYS_MAX___348 = 74,
    _SC_THREAD_STACK_MIN___348 = 75,
    _SC_THREAD_THREADS_MAX___348 = 76,
    _SC_THREAD_ATTR_STACKADDR___348 = 77,
    _SC_THREAD_ATTR_STACKSIZE___348 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___348 = 79,
    _SC_THREAD_PRIO_INHERIT___348 = 80,
    _SC_THREAD_PRIO_PROTECT___348 = 81,
    _SC_THREAD_PROCESS_SHARED___348 = 82,
    _SC_NPROCESSORS_CONF___348 = 83,
    _SC_NPROCESSORS_ONLN___348 = 84,
    _SC_PHYS_PAGES___348 = 85,
    _SC_AVPHYS_PAGES___348 = 86,
    _SC_ATEXIT_MAX___348 = 87,
    _SC_PASS_MAX___348 = 88,
    _SC_XOPEN_VERSION___348 = 89,
    _SC_XOPEN_XCU_VERSION___348 = 90,
    _SC_XOPEN_UNIX___348 = 91,
    _SC_XOPEN_CRYPT___348 = 92,
    _SC_XOPEN_ENH_I18N___348 = 93,
    _SC_XOPEN_SHM___348 = 94,
    _SC_2_CHAR_TERM___348 = 95,
    _SC_2_C_VERSION___348 = 96,
    _SC_2_UPE___348 = 97,
    _SC_XOPEN_XPG2___348 = 98,
    _SC_XOPEN_XPG3___348 = 99,
    _SC_XOPEN_XPG4___348 = 100,
    _SC_CHAR_BIT___348 = 101,
    _SC_CHAR_MAX___348 = 102,
    _SC_CHAR_MIN___348 = 103,
    _SC_INT_MAX___348 = 104,
    _SC_INT_MIN___348 = 105,
    _SC_LONG_BIT___348 = 106,
    _SC_WORD_BIT___348 = 107,
    _SC_MB_LEN_MAX___348 = 108,
    _SC_NZERO___348 = 109,
    _SC_SSIZE_MAX___348 = 110,
    _SC_SCHAR_MAX___348 = 111,
    _SC_SCHAR_MIN___348 = 112,
    _SC_SHRT_MAX___348 = 113,
    _SC_SHRT_MIN___348 = 114,
    _SC_UCHAR_MAX___348 = 115,
    _SC_UINT_MAX___348 = 116,
    _SC_ULONG_MAX___348 = 117,
    _SC_USHRT_MAX___348 = 118,
    _SC_NL_ARGMAX___348 = 119,
    _SC_NL_LANGMAX___348 = 120,
    _SC_NL_MSGMAX___348 = 121,
    _SC_NL_NMAX___348 = 122,
    _SC_NL_SETMAX___348 = 123,
    _SC_NL_TEXTMAX___348 = 124,
    _SC_XBS5_ILP32_OFF32___348 = 125,
    _SC_XBS5_ILP32_OFFBIG___348 = 126,
    _SC_XBS5_LP64_OFF64___348 = 127,
    _SC_XBS5_LPBIG_OFFBIG___348 = 128,
    _SC_XOPEN_LEGACY___348 = 129,
    _SC_XOPEN_REALTIME___348 = 130,
    _SC_XOPEN_REALTIME_THREADS___348 = 131,
    _SC_ADVISORY_INFO___348 = 132,
    _SC_BARRIERS___348 = 133,
    _SC_BASE___348 = 134,
    _SC_C_LANG_SUPPORT___348 = 135,
    _SC_C_LANG_SUPPORT_R___348 = 136,
    _SC_CLOCK_SELECTION___348 = 137,
    _SC_CPUTIME___348 = 138,
    _SC_THREAD_CPUTIME___348 = 139,
    _SC_DEVICE_IO___348 = 140,
    _SC_DEVICE_SPECIFIC___348 = 141,
    _SC_DEVICE_SPECIFIC_R___348 = 142,
    _SC_FD_MGMT___348 = 143,
    _SC_FIFO___348 = 144,
    _SC_PIPE___348 = 145,
    _SC_FILE_ATTRIBUTES___348 = 146,
    _SC_FILE_LOCKING___348 = 147,
    _SC_FILE_SYSTEM___348 = 148,
    _SC_MONOTONIC_CLOCK___348 = 149,
    _SC_MULTI_PROCESS___348 = 150,
    _SC_SINGLE_PROCESS___348 = 151,
    _SC_NETWORKING___348 = 152,
    _SC_READER_WRITER_LOCKS___348 = 153,
    _SC_SPIN_LOCKS___348 = 154,
    _SC_REGEXP___348 = 155,
    _SC_REGEX_VERSION___348 = 156,
    _SC_SHELL___348 = 157,
    _SC_SIGNALS___348 = 158,
    _SC_SPAWN___348 = 159,
    _SC_SPORADIC_SERVER___348 = 160,
    _SC_THREAD_SPORADIC_SERVER___348 = 161,
    _SC_SYSTEM_DATABASE___348 = 162,
    _SC_SYSTEM_DATABASE_R___348 = 163,
    _SC_TIMEOUTS___348 = 164,
    _SC_TYPED_MEMORY_OBJECTS___348 = 165,
    _SC_USER_GROUPS___348 = 166,
    _SC_USER_GROUPS_R___348 = 167,
    _SC_2_PBS___348 = 168,
    _SC_2_PBS_ACCOUNTING___348 = 169,
    _SC_2_PBS_LOCATE___348 = 170,
    _SC_2_PBS_MESSAGE___348 = 171,
    _SC_2_PBS_TRACK___348 = 172,
    _SC_SYMLOOP_MAX___348 = 173,
    _SC_STREAMS___348 = 174,
    _SC_2_PBS_CHECKPOINT___348 = 175,
    _SC_V6_ILP32_OFF32___348 = 176,
    _SC_V6_ILP32_OFFBIG___348 = 177,
    _SC_V6_LP64_OFF64___348 = 178,
    _SC_V6_LPBIG_OFFBIG___348 = 179,
    _SC_HOST_NAME_MAX___348 = 180,
    _SC_TRACE___348 = 181,
    _SC_TRACE_EVENT_FILTER___348 = 182,
    _SC_TRACE_INHERIT___348 = 183,
    _SC_TRACE_LOG___348 = 184,
    _SC_LEVEL1_ICACHE_SIZE___348 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___348 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___348 = 187,
    _SC_LEVEL1_DCACHE_SIZE___348 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___348 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___348 = 190,
    _SC_LEVEL2_CACHE_SIZE___348 = 191,
    _SC_LEVEL2_CACHE_ASSOC___348 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___348 = 193,
    _SC_LEVEL3_CACHE_SIZE___348 = 194,
    _SC_LEVEL3_CACHE_ASSOC___348 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___348 = 196,
    _SC_LEVEL4_CACHE_SIZE___348 = 197,
    _SC_LEVEL4_CACHE_ASSOC___348 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___348 = 199,
    _SC_IPV6___348 = 235,
    _SC_RAW_SOCKETS___348 = 236,
    _SC_V7_ILP32_OFF32___348 = 237,
    _SC_V7_ILP32_OFFBIG___348 = 238,
    _SC_V7_LP64_OFF64___348 = 239,
    _SC_V7_LPBIG_OFFBIG___348 = 240,
    _SC_SS_REPL_MAX___348 = 241,
    _SC_TRACE_EVENT_NAME_MAX___348 = 242,
    _SC_TRACE_NAME_MAX___348 = 243,
    _SC_TRACE_SYS_MAX___348 = 244,
    _SC_TRACE_USER_EVENT_MAX___348 = 245,
    _SC_XOPEN_STREAMS___348 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___348 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___348 = 248
} ;
enum __anonenum_875524036___348 {
    _CS_PATH___348 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___348 = 1,
    _CS_GNU_LIBC_VERSION___348 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___348 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___348 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___348 = 5,
    _CS_LFS_CFLAGS___348 = 1000,
    _CS_LFS_LDFLAGS___348 = 1001,
    _CS_LFS_LIBS___348 = 1002,
    _CS_LFS_LINTFLAGS___348 = 1003,
    _CS_LFS64_CFLAGS___348 = 1004,
    _CS_LFS64_LDFLAGS___348 = 1005,
    _CS_LFS64_LIBS___348 = 1006,
    _CS_LFS64_LINTFLAGS___348 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___348 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___348 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___348 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___348 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___348 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___348 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___348 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___348 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___348 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___348 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___348 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___348 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___348 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___348 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___348 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___348 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___348 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___348 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___348 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___348 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___348 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___348 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___348 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___348 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___348 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___348 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___348 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___348 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___348 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___348 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___348 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___348 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___348 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___348 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___348 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___348 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___348 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___348 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___348 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___348 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___348 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___348 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___348 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___348 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___348 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___348 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___348 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___348 = 1147,
    _CS_V6_ENV___348 = 1148,
    _CS_V7_ENV___348 = 1149
} ;
enum __anonenum_513775621___348 {
    DT_UNKNOWN___348 = 0,
    DT_FIFO___348 = 1,
    DT_CHR___348 = 2,
    DT_DIR___348 = 4,
    DT_BLK___348 = 6,
    DT_REG___348 = 8,
    DT_LNK___348 = 10,
    DT_SOCK___348 = 12,
    DT_WHT___348 = 14
} ;
enum __anonenum_77002343___348 {
    SI_ASYNCNL___348 = -60,
    SI_TKILL___348 = -6,
    SI_SIGIO___348 = -5,
    SI_ASYNCIO___348 = -4,
    SI_MESGQ___348 = -3,
    SI_TIMER___348 = -2,
    SI_QUEUE___348 = -1,
    SI_USER___348 = 0,
    SI_KERNEL___348 = 128
} ;
enum __anonenum_131038172___348 {
    ILL_ILLOPC___348 = 1,
    ILL_ILLOPN___348 = 2,
    ILL_ILLADR___348 = 3,
    ILL_ILLTRP___348 = 4,
    ILL_PRVOPC___348 = 5,
    ILL_PRVREG___348 = 6,
    ILL_COPROC___348 = 7,
    ILL_BADSTK___348 = 8
} ;
enum __anonenum_452038093___348 {
    FPE_INTDIV___348 = 1,
    FPE_INTOVF___348 = 2,
    FPE_FLTDIV___348 = 3,
    FPE_FLTOVF___348 = 4,
    FPE_FLTUND___348 = 5,
    FPE_FLTRES___348 = 6,
    FPE_FLTINV___348 = 7,
    FPE_FLTSUB___348 = 8
} ;
enum __anonenum_30976155___348 {
    SEGV_MAPERR___348 = 1,
    SEGV_ACCERR___348 = 2,
    SEGV_BNDERR___348 = 3,
    SEGV_PKUERR___348 = 4
} ;
enum __anonenum_1036286214___348 {
    BUS_ADRALN___348 = 1,
    BUS_ADRERR___348 = 2,
    BUS_OBJERR___348 = 3,
    BUS_MCEERR_AR___348 = 4,
    BUS_MCEERR_AO___348 = 5
} ;
enum __anonenum_493465559___348 {
    TRAP_BRKPT___348 = 1,
    TRAP_TRACE___348 = 2
} ;
enum __anonenum_23175539___348 {
    CLD_EXITED___348 = 1,
    CLD_KILLED___348 = 2,
    CLD_DUMPED___348 = 3,
    CLD_TRAPPED___348 = 4,
    CLD_STOPPED___348 = 5,
    CLD_CONTINUED___348 = 6
} ;
enum __anonenum_111643124___348 {
    POLL_IN___348 = 1,
    POLL_OUT___348 = 2,
    POLL_MSG___348 = 3,
    POLL_ERR___348 = 4,
    POLL_PRI___348 = 5,
    POLL_HUP___348 = 6
} ;
enum __anonenum_852341087___348 {
    SIGEV_SIGNAL___348 = 0,
    SIGEV_NONE___348 = 1,
    SIGEV_THREAD___348 = 2,
    SIGEV_THREAD_ID___348 = 4
} ;
enum __anonenum_451154152___348 {
    REG_R8___348 = 0,
    REG_R9___348 = 1,
    REG_R10___348 = 2,
    REG_R11___348 = 3,
    REG_R12___348 = 4,
    REG_R13___348 = 5,
    REG_R14___348 = 6,
    REG_R15___348 = 7,
    REG_RDI___348 = 8,
    REG_RSI___348 = 9,
    REG_RBP___348 = 10,
    REG_RBX___348 = 11,
    REG_RDX___348 = 12,
    REG_RAX___348 = 13,
    REG_RCX___348 = 14,
    REG_RSP___348 = 15,
    REG_RIP___348 = 16,
    REG_EFL___348 = 17,
    REG_CSGSFS___348 = 18,
    REG_ERR___348 = 19,
    REG_TRAPNO___348 = 20,
    REG_OLDMASK___348 = 21,
    REG_CR2___348 = 22
} ;
enum __anonenum_57186863___348 {
    SS_ONSTACK___348 = 1,
    SS_DISABLE___348 = 2
} ;
enum __anonenum_83571709___348 {
    MSG_OOB___348 = 1,
    MSG_PEEK___348 = 2,
    MSG_DONTROUTE___348 = 4,
    MSG_TRYHARD___348 = 4,
    MSG_CTRUNC___348 = 8,
    MSG_PROXY___348 = 16,
    MSG_TRUNC___348 = 32,
    MSG_DONTWAIT___348 = 64,
    MSG_EOR___348 = 128,
    MSG_WAITALL___348 = 256,
    MSG_FIN___348 = 512,
    MSG_SYN___348 = 1024,
    MSG_CONFIRM___348 = 2048,
    MSG_RST___348 = 4096,
    MSG_ERRQUEUE___348 = 8192,
    MSG_NOSIGNAL___348 = 16384,
    MSG_MORE___348 = 32768,
    MSG_WAITFORONE___348 = 65536,
    MSG_BATCH___348 = 262144,
    MSG_ZEROCOPY___348 = 67108864,
    MSG_FASTOPEN___348 = 536870912,
    MSG_CMSG_CLOEXEC___348 = 1073741824
} ;
enum __anonenum_617082774___348 {
    SCM_RIGHTS___348 = 1,
    SCM_CREDENTIALS___348 = 2
} ;
enum __anonenum_606441560___348 {
    SHUT_RD___348 = 0,
    SHUT_WR___348 = 1,
    SHUT_RDWR___348 = 2
} ;
enum __anonenum_681669233___348 {
    IPPROTO_IP___348 = 0,
    IPPROTO_ICMP___348 = 1,
    IPPROTO_IGMP___348 = 2,
    IPPROTO_IPIP___348 = 4,
    IPPROTO_TCP___348 = 6,
    IPPROTO_EGP___348 = 8,
    IPPROTO_PUP___348 = 12,
    IPPROTO_UDP___348 = 17,
    IPPROTO_IDP___348 = 22,
    IPPROTO_TP___348 = 29,
    IPPROTO_DCCP___348 = 33,
    IPPROTO_IPV6___348 = 41,
    IPPROTO_RSVP___348 = 46,
    IPPROTO_GRE___348 = 47,
    IPPROTO_ESP___348 = 50,
    IPPROTO_AH___348 = 51,
    IPPROTO_MTP___348 = 92,
    IPPROTO_BEETPH___348 = 94,
    IPPROTO_ENCAP___348 = 98,
    IPPROTO_PIM___348 = 103,
    IPPROTO_COMP___348 = 108,
    IPPROTO_SCTP___348 = 132,
    IPPROTO_UDPLITE___348 = 136,
    IPPROTO_MPLS___348 = 137,
    IPPROTO_RAW___348 = 255,
    IPPROTO_MAX___348 = 256
} ;
enum __anonenum_218739988___348 {
    IPPROTO_HOPOPTS___348 = 0,
    IPPROTO_ROUTING___348 = 43,
    IPPROTO_FRAGMENT___348 = 44,
    IPPROTO_ICMPV6___348 = 58,
    IPPROTO_NONE___348 = 59,
    IPPROTO_DSTOPTS___348 = 60,
    IPPROTO_MH___348 = 135
} ;
enum __anonenum_662268580___348 {
    IPPORT_ECHO___348 = 7,
    IPPORT_DISCARD___348 = 9,
    IPPORT_SYSTAT___348 = 11,
    IPPORT_DAYTIME___348 = 13,
    IPPORT_NETSTAT___348 = 15,
    IPPORT_FTP___348 = 21,
    IPPORT_TELNET___348 = 23,
    IPPORT_SMTP___348 = 25,
    IPPORT_TIMESERVER___348 = 37,
    IPPORT_NAMESERVER___348 = 42,
    IPPORT_WHOIS___348 = 43,
    IPPORT_MTP___348 = 57,
    IPPORT_TFTP___348 = 69,
    IPPORT_RJE___348 = 77,
    IPPORT_FINGER___348 = 79,
    IPPORT_TTYLINK___348 = 87,
    IPPORT_SUPDUP___348 = 95,
    IPPORT_EXECSERVER___348 = 512,
    IPPORT_LOGINSERVER___348 = 513,
    IPPORT_CMDSERVER___348 = 514,
    IPPORT_EFSSERVER___348 = 520,
    IPPORT_BIFFUDP___348 = 512,
    IPPORT_WHOSERVER___348 = 513,
    IPPORT_ROUTESERVER___348 = 520,
    IPPORT_RESERVED___348 = 1024,
    IPPORT_USERRESERVED___348 = 5000
} ;
enum __anonenum_788308992___348 {
    TCP_ESTABLISHED___348 = 1,
    TCP_SYN_SENT___348 = 2,
    TCP_SYN_RECV___348 = 3,
    TCP_FIN_WAIT1___348 = 4,
    TCP_FIN_WAIT2___348 = 5,
    TCP_TIME_WAIT___348 = 6,
    TCP_CLOSE___348 = 7,
    TCP_CLOSE_WAIT___348 = 8,
    TCP_LAST_ACK___348 = 9,
    TCP_LISTEN___348 = 10,
    TCP_CLOSING___348 = 11
} ;
enum __anonenum_221125648___348 {
    TCP_NO_QUEUE___348 = 0,
    TCP_RECV_QUEUE___348 = 1,
    TCP_SEND_QUEUE___348 = 2,
    TCP_QUEUES_NR___348 = 3
} ;
enum __anonenum_34415463___348 {
    PTHREAD_CREATE_JOINABLE___348 = 0,
    PTHREAD_CREATE_DETACHED___348 = 1
} ;
enum __anonenum_303612439___348 {
    PTHREAD_MUTEX_TIMED_NP___348 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___348 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___348 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___348 = 3,
    PTHREAD_MUTEX_NORMAL___348 = 0,
    PTHREAD_MUTEX_RECURSIVE___348 = 1,
    PTHREAD_MUTEX_ERRORCHECK___348 = 2,
    PTHREAD_MUTEX_DEFAULT___348 = 0,
    PTHREAD_MUTEX_FAST_NP___348 = 0
} ;
enum __anonenum_931900394___348 {
    PTHREAD_MUTEX_STALLED___348 = 0,
    PTHREAD_MUTEX_STALLED_NP___348 = 0,
    PTHREAD_MUTEX_ROBUST___348 = 1,
    PTHREAD_MUTEX_ROBUST_NP___348 = 1
} ;
enum __anonenum_205214487___348 {
    PTHREAD_PRIO_NONE___348 = 0,
    PTHREAD_PRIO_INHERIT___348 = 1,
    PTHREAD_PRIO_PROTECT___348 = 2
} ;
enum __anonenum_25043950___348 {
    PTHREAD_RWLOCK_PREFER_READER_NP___348 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___348 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___348 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___348 = 0
} ;
enum __anonenum_436439511___348 {
    PTHREAD_INHERIT_SCHED___348 = 0,
    PTHREAD_EXPLICIT_SCHED___348 = 1
} ;
enum __anonenum_998661166___348 {
    PTHREAD_SCOPE_SYSTEM___348 = 0,
    PTHREAD_SCOPE_PROCESS___348 = 1
} ;
enum __anonenum_146137331___348 {
    PTHREAD_PROCESS_PRIVATE___348 = 0,
    PTHREAD_PROCESS_SHARED___348 = 1
} ;
enum __anonenum_53396917___348 {
    PTHREAD_CANCEL_ENABLE___348 = 0,
    PTHREAD_CANCEL_DISABLE___348 = 1
} ;
enum __anonenum_904563783___348 {
    PTHREAD_CANCEL_DEFERRED___348 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___348 = 1
} ;
enum __anonenum_672052974___348 {
    SSL_CT_VALIDATION_PERMISSIVE___348 = 0,
    SSL_CT_VALIDATION_STRICT___348 = 1
} ;
enum __anonenum_34023289___36 {
    REMOTE_UNCONFIGURED___36 = 0,
    REMOTE_CONFIG___36 = 1,
    REMOTE_REMOTES___36 = 2,
    REMOTE_BRANCHES___36 = 3
} ;
enum __anonenum_561748495___28 {
    RECURSE_SUBMODULES_ONLY___28 = -5,
    RECURSE_SUBMODULES_CHECK___28 = -4,
    RECURSE_SUBMODULES_ERROR___28 = -3,
    RECURSE_SUBMODULES_NONE___28 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___28 = -1,
    RECURSE_SUBMODULES_OFF___28 = 0,
    RECURSE_SUBMODULES_DEFAULT___28 = 1,
    RECURSE_SUBMODULES_ON___28 = 2
} ;
enum __anonenum_437032235___349 {
    _PC_LINK_MAX___349 = 0,
    _PC_MAX_CANON___349 = 1,
    _PC_MAX_INPUT___349 = 2,
    _PC_NAME_MAX___349 = 3,
    _PC_PATH_MAX___349 = 4,
    _PC_PIPE_BUF___349 = 5,
    _PC_CHOWN_RESTRICTED___349 = 6,
    _PC_NO_TRUNC___349 = 7,
    _PC_VDISABLE___349 = 8,
    _PC_SYNC_IO___349 = 9,
    _PC_ASYNC_IO___349 = 10,
    _PC_PRIO_IO___349 = 11,
    _PC_SOCK_MAXBUF___349 = 12,
    _PC_FILESIZEBITS___349 = 13,
    _PC_REC_INCR_XFER_SIZE___349 = 14,
    _PC_REC_MAX_XFER_SIZE___349 = 15,
    _PC_REC_MIN_XFER_SIZE___349 = 16,
    _PC_REC_XFER_ALIGN___349 = 17,
    _PC_ALLOC_SIZE_MIN___349 = 18,
    _PC_SYMLINK_MAX___349 = 19,
    _PC_2_SYMLINKS___349 = 20
} ;
enum __anonenum_315186338___349 {
    _SC_ARG_MAX___349 = 0,
    _SC_CHILD_MAX___349 = 1,
    _SC_CLK_TCK___349 = 2,
    _SC_NGROUPS_MAX___349 = 3,
    _SC_OPEN_MAX___349 = 4,
    _SC_STREAM_MAX___349 = 5,
    _SC_TZNAME_MAX___349 = 6,
    _SC_JOB_CONTROL___349 = 7,
    _SC_SAVED_IDS___349 = 8,
    _SC_REALTIME_SIGNALS___349 = 9,
    _SC_PRIORITY_SCHEDULING___349 = 10,
    _SC_TIMERS___349 = 11,
    _SC_ASYNCHRONOUS_IO___349 = 12,
    _SC_PRIORITIZED_IO___349 = 13,
    _SC_SYNCHRONIZED_IO___349 = 14,
    _SC_FSYNC___349 = 15,
    _SC_MAPPED_FILES___349 = 16,
    _SC_MEMLOCK___349 = 17,
    _SC_MEMLOCK_RANGE___349 = 18,
    _SC_MEMORY_PROTECTION___349 = 19,
    _SC_MESSAGE_PASSING___349 = 20,
    _SC_SEMAPHORES___349 = 21,
    _SC_SHARED_MEMORY_OBJECTS___349 = 22,
    _SC_AIO_LISTIO_MAX___349 = 23,
    _SC_AIO_MAX___349 = 24,
    _SC_AIO_PRIO_DELTA_MAX___349 = 25,
    _SC_DELAYTIMER_MAX___349 = 26,
    _SC_MQ_OPEN_MAX___349 = 27,
    _SC_MQ_PRIO_MAX___349 = 28,
    _SC_VERSION___349 = 29,
    _SC_PAGESIZE___349 = 30,
    _SC_RTSIG_MAX___349 = 31,
    _SC_SEM_NSEMS_MAX___349 = 32,
    _SC_SEM_VALUE_MAX___349 = 33,
    _SC_SIGQUEUE_MAX___349 = 34,
    _SC_TIMER_MAX___349 = 35,
    _SC_BC_BASE_MAX___349 = 36,
    _SC_BC_DIM_MAX___349 = 37,
    _SC_BC_SCALE_MAX___349 = 38,
    _SC_BC_STRING_MAX___349 = 39,
    _SC_COLL_WEIGHTS_MAX___349 = 40,
    _SC_EQUIV_CLASS_MAX___349 = 41,
    _SC_EXPR_NEST_MAX___349 = 42,
    _SC_LINE_MAX___349 = 43,
    _SC_RE_DUP_MAX___349 = 44,
    _SC_CHARCLASS_NAME_MAX___349 = 45,
    _SC_2_VERSION___349 = 46,
    _SC_2_C_BIND___349 = 47,
    _SC_2_C_DEV___349 = 48,
    _SC_2_FORT_DEV___349 = 49,
    _SC_2_FORT_RUN___349 = 50,
    _SC_2_SW_DEV___349 = 51,
    _SC_2_LOCALEDEF___349 = 52,
    _SC_PII___349 = 53,
    _SC_PII_XTI___349 = 54,
    _SC_PII_SOCKET___349 = 55,
    _SC_PII_INTERNET___349 = 56,
    _SC_PII_OSI___349 = 57,
    _SC_POLL___349 = 58,
    _SC_SELECT___349 = 59,
    _SC_UIO_MAXIOV___349 = 60,
    _SC_IOV_MAX___349 = 60,
    _SC_PII_INTERNET_STREAM___349 = 61,
    _SC_PII_INTERNET_DGRAM___349 = 62,
    _SC_PII_OSI_COTS___349 = 63,
    _SC_PII_OSI_CLTS___349 = 64,
    _SC_PII_OSI_M___349 = 65,
    _SC_T_IOV_MAX___349 = 66,
    _SC_THREADS___349 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___349 = 68,
    _SC_GETGR_R_SIZE_MAX___349 = 69,
    _SC_GETPW_R_SIZE_MAX___349 = 70,
    _SC_LOGIN_NAME_MAX___349 = 71,
    _SC_TTY_NAME_MAX___349 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___349 = 73,
    _SC_THREAD_KEYS_MAX___349 = 74,
    _SC_THREAD_STACK_MIN___349 = 75,
    _SC_THREAD_THREADS_MAX___349 = 76,
    _SC_THREAD_ATTR_STACKADDR___349 = 77,
    _SC_THREAD_ATTR_STACKSIZE___349 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___349 = 79,
    _SC_THREAD_PRIO_INHERIT___349 = 80,
    _SC_THREAD_PRIO_PROTECT___349 = 81,
    _SC_THREAD_PROCESS_SHARED___349 = 82,
    _SC_NPROCESSORS_CONF___349 = 83,
    _SC_NPROCESSORS_ONLN___349 = 84,
    _SC_PHYS_PAGES___349 = 85,
    _SC_AVPHYS_PAGES___349 = 86,
    _SC_ATEXIT_MAX___349 = 87,
    _SC_PASS_MAX___349 = 88,
    _SC_XOPEN_VERSION___349 = 89,
    _SC_XOPEN_XCU_VERSION___349 = 90,
    _SC_XOPEN_UNIX___349 = 91,
    _SC_XOPEN_CRYPT___349 = 92,
    _SC_XOPEN_ENH_I18N___349 = 93,
    _SC_XOPEN_SHM___349 = 94,
    _SC_2_CHAR_TERM___349 = 95,
    _SC_2_C_VERSION___349 = 96,
    _SC_2_UPE___349 = 97,
    _SC_XOPEN_XPG2___349 = 98,
    _SC_XOPEN_XPG3___349 = 99,
    _SC_XOPEN_XPG4___349 = 100,
    _SC_CHAR_BIT___349 = 101,
    _SC_CHAR_MAX___349 = 102,
    _SC_CHAR_MIN___349 = 103,
    _SC_INT_MAX___349 = 104,
    _SC_INT_MIN___349 = 105,
    _SC_LONG_BIT___349 = 106,
    _SC_WORD_BIT___349 = 107,
    _SC_MB_LEN_MAX___349 = 108,
    _SC_NZERO___349 = 109,
    _SC_SSIZE_MAX___349 = 110,
    _SC_SCHAR_MAX___349 = 111,
    _SC_SCHAR_MIN___349 = 112,
    _SC_SHRT_MAX___349 = 113,
    _SC_SHRT_MIN___349 = 114,
    _SC_UCHAR_MAX___349 = 115,
    _SC_UINT_MAX___349 = 116,
    _SC_ULONG_MAX___349 = 117,
    _SC_USHRT_MAX___349 = 118,
    _SC_NL_ARGMAX___349 = 119,
    _SC_NL_LANGMAX___349 = 120,
    _SC_NL_MSGMAX___349 = 121,
    _SC_NL_NMAX___349 = 122,
    _SC_NL_SETMAX___349 = 123,
    _SC_NL_TEXTMAX___349 = 124,
    _SC_XBS5_ILP32_OFF32___349 = 125,
    _SC_XBS5_ILP32_OFFBIG___349 = 126,
    _SC_XBS5_LP64_OFF64___349 = 127,
    _SC_XBS5_LPBIG_OFFBIG___349 = 128,
    _SC_XOPEN_LEGACY___349 = 129,
    _SC_XOPEN_REALTIME___349 = 130,
    _SC_XOPEN_REALTIME_THREADS___349 = 131,
    _SC_ADVISORY_INFO___349 = 132,
    _SC_BARRIERS___349 = 133,
    _SC_BASE___349 = 134,
    _SC_C_LANG_SUPPORT___349 = 135,
    _SC_C_LANG_SUPPORT_R___349 = 136,
    _SC_CLOCK_SELECTION___349 = 137,
    _SC_CPUTIME___349 = 138,
    _SC_THREAD_CPUTIME___349 = 139,
    _SC_DEVICE_IO___349 = 140,
    _SC_DEVICE_SPECIFIC___349 = 141,
    _SC_DEVICE_SPECIFIC_R___349 = 142,
    _SC_FD_MGMT___349 = 143,
    _SC_FIFO___349 = 144,
    _SC_PIPE___349 = 145,
    _SC_FILE_ATTRIBUTES___349 = 146,
    _SC_FILE_LOCKING___349 = 147,
    _SC_FILE_SYSTEM___349 = 148,
    _SC_MONOTONIC_CLOCK___349 = 149,
    _SC_MULTI_PROCESS___349 = 150,
    _SC_SINGLE_PROCESS___349 = 151,
    _SC_NETWORKING___349 = 152,
    _SC_READER_WRITER_LOCKS___349 = 153,
    _SC_SPIN_LOCKS___349 = 154,
    _SC_REGEXP___349 = 155,
    _SC_REGEX_VERSION___349 = 156,
    _SC_SHELL___349 = 157,
    _SC_SIGNALS___349 = 158,
    _SC_SPAWN___349 = 159,
    _SC_SPORADIC_SERVER___349 = 160,
    _SC_THREAD_SPORADIC_SERVER___349 = 161,
    _SC_SYSTEM_DATABASE___349 = 162,
    _SC_SYSTEM_DATABASE_R___349 = 163,
    _SC_TIMEOUTS___349 = 164,
    _SC_TYPED_MEMORY_OBJECTS___349 = 165,
    _SC_USER_GROUPS___349 = 166,
    _SC_USER_GROUPS_R___349 = 167,
    _SC_2_PBS___349 = 168,
    _SC_2_PBS_ACCOUNTING___349 = 169,
    _SC_2_PBS_LOCATE___349 = 170,
    _SC_2_PBS_MESSAGE___349 = 171,
    _SC_2_PBS_TRACK___349 = 172,
    _SC_SYMLOOP_MAX___349 = 173,
    _SC_STREAMS___349 = 174,
    _SC_2_PBS_CHECKPOINT___349 = 175,
    _SC_V6_ILP32_OFF32___349 = 176,
    _SC_V6_ILP32_OFFBIG___349 = 177,
    _SC_V6_LP64_OFF64___349 = 178,
    _SC_V6_LPBIG_OFFBIG___349 = 179,
    _SC_HOST_NAME_MAX___349 = 180,
    _SC_TRACE___349 = 181,
    _SC_TRACE_EVENT_FILTER___349 = 182,
    _SC_TRACE_INHERIT___349 = 183,
    _SC_TRACE_LOG___349 = 184,
    _SC_LEVEL1_ICACHE_SIZE___349 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___349 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___349 = 187,
    _SC_LEVEL1_DCACHE_SIZE___349 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___349 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___349 = 190,
    _SC_LEVEL2_CACHE_SIZE___349 = 191,
    _SC_LEVEL2_CACHE_ASSOC___349 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___349 = 193,
    _SC_LEVEL3_CACHE_SIZE___349 = 194,
    _SC_LEVEL3_CACHE_ASSOC___349 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___349 = 196,
    _SC_LEVEL4_CACHE_SIZE___349 = 197,
    _SC_LEVEL4_CACHE_ASSOC___349 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___349 = 199,
    _SC_IPV6___349 = 235,
    _SC_RAW_SOCKETS___349 = 236,
    _SC_V7_ILP32_OFF32___349 = 237,
    _SC_V7_ILP32_OFFBIG___349 = 238,
    _SC_V7_LP64_OFF64___349 = 239,
    _SC_V7_LPBIG_OFFBIG___349 = 240,
    _SC_SS_REPL_MAX___349 = 241,
    _SC_TRACE_EVENT_NAME_MAX___349 = 242,
    _SC_TRACE_NAME_MAX___349 = 243,
    _SC_TRACE_SYS_MAX___349 = 244,
    _SC_TRACE_USER_EVENT_MAX___349 = 245,
    _SC_XOPEN_STREAMS___349 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___349 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___349 = 248
} ;
enum __anonenum_875524036___349 {
    _CS_PATH___349 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___349 = 1,
    _CS_GNU_LIBC_VERSION___349 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___349 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___349 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___349 = 5,
    _CS_LFS_CFLAGS___349 = 1000,
    _CS_LFS_LDFLAGS___349 = 1001,
    _CS_LFS_LIBS___349 = 1002,
    _CS_LFS_LINTFLAGS___349 = 1003,
    _CS_LFS64_CFLAGS___349 = 1004,
    _CS_LFS64_LDFLAGS___349 = 1005,
    _CS_LFS64_LIBS___349 = 1006,
    _CS_LFS64_LINTFLAGS___349 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___349 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___349 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___349 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___349 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___349 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___349 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___349 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___349 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___349 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___349 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___349 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___349 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___349 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___349 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___349 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___349 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___349 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___349 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___349 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___349 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___349 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___349 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___349 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___349 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___349 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___349 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___349 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___349 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___349 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___349 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___349 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___349 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___349 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___349 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___349 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___349 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___349 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___349 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___349 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___349 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___349 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___349 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___349 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___349 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___349 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___349 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___349 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___349 = 1147,
    _CS_V6_ENV___349 = 1148,
    _CS_V7_ENV___349 = 1149
} ;
enum __anonenum_513775621___349 {
    DT_UNKNOWN___349 = 0,
    DT_FIFO___349 = 1,
    DT_CHR___349 = 2,
    DT_DIR___349 = 4,
    DT_BLK___349 = 6,
    DT_REG___349 = 8,
    DT_LNK___349 = 10,
    DT_SOCK___349 = 12,
    DT_WHT___349 = 14
} ;
enum __anonenum_77002343___349 {
    SI_ASYNCNL___349 = -60,
    SI_TKILL___349 = -6,
    SI_SIGIO___349 = -5,
    SI_ASYNCIO___349 = -4,
    SI_MESGQ___349 = -3,
    SI_TIMER___349 = -2,
    SI_QUEUE___349 = -1,
    SI_USER___349 = 0,
    SI_KERNEL___349 = 128
} ;
enum __anonenum_131038172___349 {
    ILL_ILLOPC___349 = 1,
    ILL_ILLOPN___349 = 2,
    ILL_ILLADR___349 = 3,
    ILL_ILLTRP___349 = 4,
    ILL_PRVOPC___349 = 5,
    ILL_PRVREG___349 = 6,
    ILL_COPROC___349 = 7,
    ILL_BADSTK___349 = 8
} ;
enum __anonenum_452038093___349 {
    FPE_INTDIV___349 = 1,
    FPE_INTOVF___349 = 2,
    FPE_FLTDIV___349 = 3,
    FPE_FLTOVF___349 = 4,
    FPE_FLTUND___349 = 5,
    FPE_FLTRES___349 = 6,
    FPE_FLTINV___349 = 7,
    FPE_FLTSUB___349 = 8
} ;
enum __anonenum_30976155___349 {
    SEGV_MAPERR___349 = 1,
    SEGV_ACCERR___349 = 2,
    SEGV_BNDERR___349 = 3,
    SEGV_PKUERR___349 = 4
} ;
enum __anonenum_1036286214___349 {
    BUS_ADRALN___349 = 1,
    BUS_ADRERR___349 = 2,
    BUS_OBJERR___349 = 3,
    BUS_MCEERR_AR___349 = 4,
    BUS_MCEERR_AO___349 = 5
} ;
enum __anonenum_493465559___349 {
    TRAP_BRKPT___349 = 1,
    TRAP_TRACE___349 = 2
} ;
enum __anonenum_23175539___349 {
    CLD_EXITED___349 = 1,
    CLD_KILLED___349 = 2,
    CLD_DUMPED___349 = 3,
    CLD_TRAPPED___349 = 4,
    CLD_STOPPED___349 = 5,
    CLD_CONTINUED___349 = 6
} ;
enum __anonenum_111643124___349 {
    POLL_IN___349 = 1,
    POLL_OUT___349 = 2,
    POLL_MSG___349 = 3,
    POLL_ERR___349 = 4,
    POLL_PRI___349 = 5,
    POLL_HUP___349 = 6
} ;
enum __anonenum_852341087___349 {
    SIGEV_SIGNAL___349 = 0,
    SIGEV_NONE___349 = 1,
    SIGEV_THREAD___349 = 2,
    SIGEV_THREAD_ID___349 = 4
} ;
enum __anonenum_451154152___349 {
    REG_R8___349 = 0,
    REG_R9___349 = 1,
    REG_R10___349 = 2,
    REG_R11___349 = 3,
    REG_R12___349 = 4,
    REG_R13___349 = 5,
    REG_R14___349 = 6,
    REG_R15___349 = 7,
    REG_RDI___349 = 8,
    REG_RSI___349 = 9,
    REG_RBP___349 = 10,
    REG_RBX___349 = 11,
    REG_RDX___349 = 12,
    REG_RAX___349 = 13,
    REG_RCX___349 = 14,
    REG_RSP___349 = 15,
    REG_RIP___349 = 16,
    REG_EFL___349 = 17,
    REG_CSGSFS___349 = 18,
    REG_ERR___349 = 19,
    REG_TRAPNO___349 = 20,
    REG_OLDMASK___349 = 21,
    REG_CR2___349 = 22
} ;
enum __anonenum_57186863___349 {
    SS_ONSTACK___349 = 1,
    SS_DISABLE___349 = 2
} ;
enum __anonenum_83571709___349 {
    MSG_OOB___349 = 1,
    MSG_PEEK___349 = 2,
    MSG_DONTROUTE___349 = 4,
    MSG_TRYHARD___349 = 4,
    MSG_CTRUNC___349 = 8,
    MSG_PROXY___349 = 16,
    MSG_TRUNC___349 = 32,
    MSG_DONTWAIT___349 = 64,
    MSG_EOR___349 = 128,
    MSG_WAITALL___349 = 256,
    MSG_FIN___349 = 512,
    MSG_SYN___349 = 1024,
    MSG_CONFIRM___349 = 2048,
    MSG_RST___349 = 4096,
    MSG_ERRQUEUE___349 = 8192,
    MSG_NOSIGNAL___349 = 16384,
    MSG_MORE___349 = 32768,
    MSG_WAITFORONE___349 = 65536,
    MSG_BATCH___349 = 262144,
    MSG_ZEROCOPY___349 = 67108864,
    MSG_FASTOPEN___349 = 536870912,
    MSG_CMSG_CLOEXEC___349 = 1073741824
} ;
enum __anonenum_617082774___349 {
    SCM_RIGHTS___349 = 1,
    SCM_CREDENTIALS___349 = 2
} ;
enum __anonenum_606441560___349 {
    SHUT_RD___349 = 0,
    SHUT_WR___349 = 1,
    SHUT_RDWR___349 = 2
} ;
enum __anonenum_681669233___349 {
    IPPROTO_IP___349 = 0,
    IPPROTO_ICMP___349 = 1,
    IPPROTO_IGMP___349 = 2,
    IPPROTO_IPIP___349 = 4,
    IPPROTO_TCP___349 = 6,
    IPPROTO_EGP___349 = 8,
    IPPROTO_PUP___349 = 12,
    IPPROTO_UDP___349 = 17,
    IPPROTO_IDP___349 = 22,
    IPPROTO_TP___349 = 29,
    IPPROTO_DCCP___349 = 33,
    IPPROTO_IPV6___349 = 41,
    IPPROTO_RSVP___349 = 46,
    IPPROTO_GRE___349 = 47,
    IPPROTO_ESP___349 = 50,
    IPPROTO_AH___349 = 51,
    IPPROTO_MTP___349 = 92,
    IPPROTO_BEETPH___349 = 94,
    IPPROTO_ENCAP___349 = 98,
    IPPROTO_PIM___349 = 103,
    IPPROTO_COMP___349 = 108,
    IPPROTO_SCTP___349 = 132,
    IPPROTO_UDPLITE___349 = 136,
    IPPROTO_MPLS___349 = 137,
    IPPROTO_RAW___349 = 255,
    IPPROTO_MAX___349 = 256
} ;
enum __anonenum_218739988___349 {
    IPPROTO_HOPOPTS___349 = 0,
    IPPROTO_ROUTING___349 = 43,
    IPPROTO_FRAGMENT___349 = 44,
    IPPROTO_ICMPV6___349 = 58,
    IPPROTO_NONE___349 = 59,
    IPPROTO_DSTOPTS___349 = 60,
    IPPROTO_MH___349 = 135
} ;
enum __anonenum_662268580___349 {
    IPPORT_ECHO___349 = 7,
    IPPORT_DISCARD___349 = 9,
    IPPORT_SYSTAT___349 = 11,
    IPPORT_DAYTIME___349 = 13,
    IPPORT_NETSTAT___349 = 15,
    IPPORT_FTP___349 = 21,
    IPPORT_TELNET___349 = 23,
    IPPORT_SMTP___349 = 25,
    IPPORT_TIMESERVER___349 = 37,
    IPPORT_NAMESERVER___349 = 42,
    IPPORT_WHOIS___349 = 43,
    IPPORT_MTP___349 = 57,
    IPPORT_TFTP___349 = 69,
    IPPORT_RJE___349 = 77,
    IPPORT_FINGER___349 = 79,
    IPPORT_TTYLINK___349 = 87,
    IPPORT_SUPDUP___349 = 95,
    IPPORT_EXECSERVER___349 = 512,
    IPPORT_LOGINSERVER___349 = 513,
    IPPORT_CMDSERVER___349 = 514,
    IPPORT_EFSSERVER___349 = 520,
    IPPORT_BIFFUDP___349 = 512,
    IPPORT_WHOSERVER___349 = 513,
    IPPORT_ROUTESERVER___349 = 520,
    IPPORT_RESERVED___349 = 1024,
    IPPORT_USERRESERVED___349 = 5000
} ;
enum __anonenum_788308992___349 {
    TCP_ESTABLISHED___349 = 1,
    TCP_SYN_SENT___349 = 2,
    TCP_SYN_RECV___349 = 3,
    TCP_FIN_WAIT1___349 = 4,
    TCP_FIN_WAIT2___349 = 5,
    TCP_TIME_WAIT___349 = 6,
    TCP_CLOSE___349 = 7,
    TCP_CLOSE_WAIT___349 = 8,
    TCP_LAST_ACK___349 = 9,
    TCP_LISTEN___349 = 10,
    TCP_CLOSING___349 = 11
} ;
enum __anonenum_221125648___349 {
    TCP_NO_QUEUE___349 = 0,
    TCP_RECV_QUEUE___349 = 1,
    TCP_SEND_QUEUE___349 = 2,
    TCP_QUEUES_NR___349 = 3
} ;
enum __anonenum_34415463___349 {
    PTHREAD_CREATE_JOINABLE___349 = 0,
    PTHREAD_CREATE_DETACHED___349 = 1
} ;
enum __anonenum_303612439___349 {
    PTHREAD_MUTEX_TIMED_NP___349 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___349 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___349 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___349 = 3,
    PTHREAD_MUTEX_NORMAL___349 = 0,
    PTHREAD_MUTEX_RECURSIVE___349 = 1,
    PTHREAD_MUTEX_ERRORCHECK___349 = 2,
    PTHREAD_MUTEX_DEFAULT___349 = 0,
    PTHREAD_MUTEX_FAST_NP___349 = 0
} ;
enum __anonenum_931900394___349 {
    PTHREAD_MUTEX_STALLED___349 = 0,
    PTHREAD_MUTEX_STALLED_NP___349 = 0,
    PTHREAD_MUTEX_ROBUST___349 = 1,
    PTHREAD_MUTEX_ROBUST_NP___349 = 1
} ;
enum __anonenum_205214487___349 {
    PTHREAD_PRIO_NONE___349 = 0,
    PTHREAD_PRIO_INHERIT___349 = 1,
    PTHREAD_PRIO_PROTECT___349 = 2
} ;
enum __anonenum_25043950___349 {
    PTHREAD_RWLOCK_PREFER_READER_NP___349 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___349 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___349 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___349 = 0
} ;
enum __anonenum_436439511___349 {
    PTHREAD_INHERIT_SCHED___349 = 0,
    PTHREAD_EXPLICIT_SCHED___349 = 1
} ;
enum __anonenum_998661166___349 {
    PTHREAD_SCOPE_SYSTEM___349 = 0,
    PTHREAD_SCOPE_PROCESS___349 = 1
} ;
enum __anonenum_146137331___349 {
    PTHREAD_PROCESS_PRIVATE___349 = 0,
    PTHREAD_PROCESS_SHARED___349 = 1
} ;
enum __anonenum_53396917___349 {
    PTHREAD_CANCEL_ENABLE___349 = 0,
    PTHREAD_CANCEL_DISABLE___349 = 1
} ;
enum __anonenum_904563783___349 {
    PTHREAD_CANCEL_DEFERRED___349 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___349 = 1
} ;
enum __anonenum_672052974___349 {
    SSL_CT_VALIDATION_PERMISSIVE___349 = 0,
    SSL_CT_VALIDATION_STRICT___349 = 1
} ;
enum __anonenum_34023289___37 {
    REMOTE_UNCONFIGURED___37 = 0,
    REMOTE_CONFIG___37 = 1,
    REMOTE_REMOTES___37 = 2,
    REMOTE_BRANCHES___37 = 3
} ;
enum __anonenum_561748495___29 {
    RECURSE_SUBMODULES_ONLY___29 = -5,
    RECURSE_SUBMODULES_CHECK___29 = -4,
    RECURSE_SUBMODULES_ERROR___29 = -3,
    RECURSE_SUBMODULES_NONE___29 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___29 = -1,
    RECURSE_SUBMODULES_OFF___29 = 0,
    RECURSE_SUBMODULES_DEFAULT___29 = 1,
    RECURSE_SUBMODULES_ON___29 = 2
} ;
enum color_push {
    PUSH_COLOR_RESET = 0,
    PUSH_COLOR_ERROR = 1
} ;
enum __anonenum_437032235___350 {
    _PC_LINK_MAX___350 = 0,
    _PC_MAX_CANON___350 = 1,
    _PC_MAX_INPUT___350 = 2,
    _PC_NAME_MAX___350 = 3,
    _PC_PATH_MAX___350 = 4,
    _PC_PIPE_BUF___350 = 5,
    _PC_CHOWN_RESTRICTED___350 = 6,
    _PC_NO_TRUNC___350 = 7,
    _PC_VDISABLE___350 = 8,
    _PC_SYNC_IO___350 = 9,
    _PC_ASYNC_IO___350 = 10,
    _PC_PRIO_IO___350 = 11,
    _PC_SOCK_MAXBUF___350 = 12,
    _PC_FILESIZEBITS___350 = 13,
    _PC_REC_INCR_XFER_SIZE___350 = 14,
    _PC_REC_MAX_XFER_SIZE___350 = 15,
    _PC_REC_MIN_XFER_SIZE___350 = 16,
    _PC_REC_XFER_ALIGN___350 = 17,
    _PC_ALLOC_SIZE_MIN___350 = 18,
    _PC_SYMLINK_MAX___350 = 19,
    _PC_2_SYMLINKS___350 = 20
} ;
enum __anonenum_315186338___350 {
    _SC_ARG_MAX___350 = 0,
    _SC_CHILD_MAX___350 = 1,
    _SC_CLK_TCK___350 = 2,
    _SC_NGROUPS_MAX___350 = 3,
    _SC_OPEN_MAX___350 = 4,
    _SC_STREAM_MAX___350 = 5,
    _SC_TZNAME_MAX___350 = 6,
    _SC_JOB_CONTROL___350 = 7,
    _SC_SAVED_IDS___350 = 8,
    _SC_REALTIME_SIGNALS___350 = 9,
    _SC_PRIORITY_SCHEDULING___350 = 10,
    _SC_TIMERS___350 = 11,
    _SC_ASYNCHRONOUS_IO___350 = 12,
    _SC_PRIORITIZED_IO___350 = 13,
    _SC_SYNCHRONIZED_IO___350 = 14,
    _SC_FSYNC___350 = 15,
    _SC_MAPPED_FILES___350 = 16,
    _SC_MEMLOCK___350 = 17,
    _SC_MEMLOCK_RANGE___350 = 18,
    _SC_MEMORY_PROTECTION___350 = 19,
    _SC_MESSAGE_PASSING___350 = 20,
    _SC_SEMAPHORES___350 = 21,
    _SC_SHARED_MEMORY_OBJECTS___350 = 22,
    _SC_AIO_LISTIO_MAX___350 = 23,
    _SC_AIO_MAX___350 = 24,
    _SC_AIO_PRIO_DELTA_MAX___350 = 25,
    _SC_DELAYTIMER_MAX___350 = 26,
    _SC_MQ_OPEN_MAX___350 = 27,
    _SC_MQ_PRIO_MAX___350 = 28,
    _SC_VERSION___350 = 29,
    _SC_PAGESIZE___350 = 30,
    _SC_RTSIG_MAX___350 = 31,
    _SC_SEM_NSEMS_MAX___350 = 32,
    _SC_SEM_VALUE_MAX___350 = 33,
    _SC_SIGQUEUE_MAX___350 = 34,
    _SC_TIMER_MAX___350 = 35,
    _SC_BC_BASE_MAX___350 = 36,
    _SC_BC_DIM_MAX___350 = 37,
    _SC_BC_SCALE_MAX___350 = 38,
    _SC_BC_STRING_MAX___350 = 39,
    _SC_COLL_WEIGHTS_MAX___350 = 40,
    _SC_EQUIV_CLASS_MAX___350 = 41,
    _SC_EXPR_NEST_MAX___350 = 42,
    _SC_LINE_MAX___350 = 43,
    _SC_RE_DUP_MAX___350 = 44,
    _SC_CHARCLASS_NAME_MAX___350 = 45,
    _SC_2_VERSION___350 = 46,
    _SC_2_C_BIND___350 = 47,
    _SC_2_C_DEV___350 = 48,
    _SC_2_FORT_DEV___350 = 49,
    _SC_2_FORT_RUN___350 = 50,
    _SC_2_SW_DEV___350 = 51,
    _SC_2_LOCALEDEF___350 = 52,
    _SC_PII___350 = 53,
    _SC_PII_XTI___350 = 54,
    _SC_PII_SOCKET___350 = 55,
    _SC_PII_INTERNET___350 = 56,
    _SC_PII_OSI___350 = 57,
    _SC_POLL___350 = 58,
    _SC_SELECT___350 = 59,
    _SC_UIO_MAXIOV___350 = 60,
    _SC_IOV_MAX___350 = 60,
    _SC_PII_INTERNET_STREAM___350 = 61,
    _SC_PII_INTERNET_DGRAM___350 = 62,
    _SC_PII_OSI_COTS___350 = 63,
    _SC_PII_OSI_CLTS___350 = 64,
    _SC_PII_OSI_M___350 = 65,
    _SC_T_IOV_MAX___350 = 66,
    _SC_THREADS___350 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___350 = 68,
    _SC_GETGR_R_SIZE_MAX___350 = 69,
    _SC_GETPW_R_SIZE_MAX___350 = 70,
    _SC_LOGIN_NAME_MAX___350 = 71,
    _SC_TTY_NAME_MAX___350 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___350 = 73,
    _SC_THREAD_KEYS_MAX___350 = 74,
    _SC_THREAD_STACK_MIN___350 = 75,
    _SC_THREAD_THREADS_MAX___350 = 76,
    _SC_THREAD_ATTR_STACKADDR___350 = 77,
    _SC_THREAD_ATTR_STACKSIZE___350 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___350 = 79,
    _SC_THREAD_PRIO_INHERIT___350 = 80,
    _SC_THREAD_PRIO_PROTECT___350 = 81,
    _SC_THREAD_PROCESS_SHARED___350 = 82,
    _SC_NPROCESSORS_CONF___350 = 83,
    _SC_NPROCESSORS_ONLN___350 = 84,
    _SC_PHYS_PAGES___350 = 85,
    _SC_AVPHYS_PAGES___350 = 86,
    _SC_ATEXIT_MAX___350 = 87,
    _SC_PASS_MAX___350 = 88,
    _SC_XOPEN_VERSION___350 = 89,
    _SC_XOPEN_XCU_VERSION___350 = 90,
    _SC_XOPEN_UNIX___350 = 91,
    _SC_XOPEN_CRYPT___350 = 92,
    _SC_XOPEN_ENH_I18N___350 = 93,
    _SC_XOPEN_SHM___350 = 94,
    _SC_2_CHAR_TERM___350 = 95,
    _SC_2_C_VERSION___350 = 96,
    _SC_2_UPE___350 = 97,
    _SC_XOPEN_XPG2___350 = 98,
    _SC_XOPEN_XPG3___350 = 99,
    _SC_XOPEN_XPG4___350 = 100,
    _SC_CHAR_BIT___350 = 101,
    _SC_CHAR_MAX___350 = 102,
    _SC_CHAR_MIN___350 = 103,
    _SC_INT_MAX___350 = 104,
    _SC_INT_MIN___350 = 105,
    _SC_LONG_BIT___350 = 106,
    _SC_WORD_BIT___350 = 107,
    _SC_MB_LEN_MAX___350 = 108,
    _SC_NZERO___350 = 109,
    _SC_SSIZE_MAX___350 = 110,
    _SC_SCHAR_MAX___350 = 111,
    _SC_SCHAR_MIN___350 = 112,
    _SC_SHRT_MAX___350 = 113,
    _SC_SHRT_MIN___350 = 114,
    _SC_UCHAR_MAX___350 = 115,
    _SC_UINT_MAX___350 = 116,
    _SC_ULONG_MAX___350 = 117,
    _SC_USHRT_MAX___350 = 118,
    _SC_NL_ARGMAX___350 = 119,
    _SC_NL_LANGMAX___350 = 120,
    _SC_NL_MSGMAX___350 = 121,
    _SC_NL_NMAX___350 = 122,
    _SC_NL_SETMAX___350 = 123,
    _SC_NL_TEXTMAX___350 = 124,
    _SC_XBS5_ILP32_OFF32___350 = 125,
    _SC_XBS5_ILP32_OFFBIG___350 = 126,
    _SC_XBS5_LP64_OFF64___350 = 127,
    _SC_XBS5_LPBIG_OFFBIG___350 = 128,
    _SC_XOPEN_LEGACY___350 = 129,
    _SC_XOPEN_REALTIME___350 = 130,
    _SC_XOPEN_REALTIME_THREADS___350 = 131,
    _SC_ADVISORY_INFO___350 = 132,
    _SC_BARRIERS___350 = 133,
    _SC_BASE___350 = 134,
    _SC_C_LANG_SUPPORT___350 = 135,
    _SC_C_LANG_SUPPORT_R___350 = 136,
    _SC_CLOCK_SELECTION___350 = 137,
    _SC_CPUTIME___350 = 138,
    _SC_THREAD_CPUTIME___350 = 139,
    _SC_DEVICE_IO___350 = 140,
    _SC_DEVICE_SPECIFIC___350 = 141,
    _SC_DEVICE_SPECIFIC_R___350 = 142,
    _SC_FD_MGMT___350 = 143,
    _SC_FIFO___350 = 144,
    _SC_PIPE___350 = 145,
    _SC_FILE_ATTRIBUTES___350 = 146,
    _SC_FILE_LOCKING___350 = 147,
    _SC_FILE_SYSTEM___350 = 148,
    _SC_MONOTONIC_CLOCK___350 = 149,
    _SC_MULTI_PROCESS___350 = 150,
    _SC_SINGLE_PROCESS___350 = 151,
    _SC_NETWORKING___350 = 152,
    _SC_READER_WRITER_LOCKS___350 = 153,
    _SC_SPIN_LOCKS___350 = 154,
    _SC_REGEXP___350 = 155,
    _SC_REGEX_VERSION___350 = 156,
    _SC_SHELL___350 = 157,
    _SC_SIGNALS___350 = 158,
    _SC_SPAWN___350 = 159,
    _SC_SPORADIC_SERVER___350 = 160,
    _SC_THREAD_SPORADIC_SERVER___350 = 161,
    _SC_SYSTEM_DATABASE___350 = 162,
    _SC_SYSTEM_DATABASE_R___350 = 163,
    _SC_TIMEOUTS___350 = 164,
    _SC_TYPED_MEMORY_OBJECTS___350 = 165,
    _SC_USER_GROUPS___350 = 166,
    _SC_USER_GROUPS_R___350 = 167,
    _SC_2_PBS___350 = 168,
    _SC_2_PBS_ACCOUNTING___350 = 169,
    _SC_2_PBS_LOCATE___350 = 170,
    _SC_2_PBS_MESSAGE___350 = 171,
    _SC_2_PBS_TRACK___350 = 172,
    _SC_SYMLOOP_MAX___350 = 173,
    _SC_STREAMS___350 = 174,
    _SC_2_PBS_CHECKPOINT___350 = 175,
    _SC_V6_ILP32_OFF32___350 = 176,
    _SC_V6_ILP32_OFFBIG___350 = 177,
    _SC_V6_LP64_OFF64___350 = 178,
    _SC_V6_LPBIG_OFFBIG___350 = 179,
    _SC_HOST_NAME_MAX___350 = 180,
    _SC_TRACE___350 = 181,
    _SC_TRACE_EVENT_FILTER___350 = 182,
    _SC_TRACE_INHERIT___350 = 183,
    _SC_TRACE_LOG___350 = 184,
    _SC_LEVEL1_ICACHE_SIZE___350 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___350 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___350 = 187,
    _SC_LEVEL1_DCACHE_SIZE___350 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___350 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___350 = 190,
    _SC_LEVEL2_CACHE_SIZE___350 = 191,
    _SC_LEVEL2_CACHE_ASSOC___350 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___350 = 193,
    _SC_LEVEL3_CACHE_SIZE___350 = 194,
    _SC_LEVEL3_CACHE_ASSOC___350 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___350 = 196,
    _SC_LEVEL4_CACHE_SIZE___350 = 197,
    _SC_LEVEL4_CACHE_ASSOC___350 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___350 = 199,
    _SC_IPV6___350 = 235,
    _SC_RAW_SOCKETS___350 = 236,
    _SC_V7_ILP32_OFF32___350 = 237,
    _SC_V7_ILP32_OFFBIG___350 = 238,
    _SC_V7_LP64_OFF64___350 = 239,
    _SC_V7_LPBIG_OFFBIG___350 = 240,
    _SC_SS_REPL_MAX___350 = 241,
    _SC_TRACE_EVENT_NAME_MAX___350 = 242,
    _SC_TRACE_NAME_MAX___350 = 243,
    _SC_TRACE_SYS_MAX___350 = 244,
    _SC_TRACE_USER_EVENT_MAX___350 = 245,
    _SC_XOPEN_STREAMS___350 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___350 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___350 = 248
} ;
enum __anonenum_875524036___350 {
    _CS_PATH___350 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___350 = 1,
    _CS_GNU_LIBC_VERSION___350 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___350 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___350 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___350 = 5,
    _CS_LFS_CFLAGS___350 = 1000,
    _CS_LFS_LDFLAGS___350 = 1001,
    _CS_LFS_LIBS___350 = 1002,
    _CS_LFS_LINTFLAGS___350 = 1003,
    _CS_LFS64_CFLAGS___350 = 1004,
    _CS_LFS64_LDFLAGS___350 = 1005,
    _CS_LFS64_LIBS___350 = 1006,
    _CS_LFS64_LINTFLAGS___350 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___350 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___350 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___350 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___350 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___350 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___350 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___350 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___350 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___350 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___350 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___350 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___350 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___350 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___350 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___350 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___350 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___350 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___350 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___350 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___350 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___350 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___350 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___350 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___350 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___350 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___350 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___350 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___350 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___350 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___350 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___350 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___350 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___350 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___350 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___350 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___350 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___350 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___350 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___350 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___350 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___350 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___350 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___350 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___350 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___350 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___350 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___350 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___350 = 1147,
    _CS_V6_ENV___350 = 1148,
    _CS_V7_ENV___350 = 1149
} ;
enum __anonenum_513775621___350 {
    DT_UNKNOWN___350 = 0,
    DT_FIFO___350 = 1,
    DT_CHR___350 = 2,
    DT_DIR___350 = 4,
    DT_BLK___350 = 6,
    DT_REG___350 = 8,
    DT_LNK___350 = 10,
    DT_SOCK___350 = 12,
    DT_WHT___350 = 14
} ;
enum __anonenum_77002343___350 {
    SI_ASYNCNL___350 = -60,
    SI_TKILL___350 = -6,
    SI_SIGIO___350 = -5,
    SI_ASYNCIO___350 = -4,
    SI_MESGQ___350 = -3,
    SI_TIMER___350 = -2,
    SI_QUEUE___350 = -1,
    SI_USER___350 = 0,
    SI_KERNEL___350 = 128
} ;
enum __anonenum_131038172___350 {
    ILL_ILLOPC___350 = 1,
    ILL_ILLOPN___350 = 2,
    ILL_ILLADR___350 = 3,
    ILL_ILLTRP___350 = 4,
    ILL_PRVOPC___350 = 5,
    ILL_PRVREG___350 = 6,
    ILL_COPROC___350 = 7,
    ILL_BADSTK___350 = 8
} ;
enum __anonenum_452038093___350 {
    FPE_INTDIV___350 = 1,
    FPE_INTOVF___350 = 2,
    FPE_FLTDIV___350 = 3,
    FPE_FLTOVF___350 = 4,
    FPE_FLTUND___350 = 5,
    FPE_FLTRES___350 = 6,
    FPE_FLTINV___350 = 7,
    FPE_FLTSUB___350 = 8
} ;
enum __anonenum_30976155___350 {
    SEGV_MAPERR___350 = 1,
    SEGV_ACCERR___350 = 2,
    SEGV_BNDERR___350 = 3,
    SEGV_PKUERR___350 = 4
} ;
enum __anonenum_1036286214___350 {
    BUS_ADRALN___350 = 1,
    BUS_ADRERR___350 = 2,
    BUS_OBJERR___350 = 3,
    BUS_MCEERR_AR___350 = 4,
    BUS_MCEERR_AO___350 = 5
} ;
enum __anonenum_493465559___350 {
    TRAP_BRKPT___350 = 1,
    TRAP_TRACE___350 = 2
} ;
enum __anonenum_23175539___350 {
    CLD_EXITED___350 = 1,
    CLD_KILLED___350 = 2,
    CLD_DUMPED___350 = 3,
    CLD_TRAPPED___350 = 4,
    CLD_STOPPED___350 = 5,
    CLD_CONTINUED___350 = 6
} ;
enum __anonenum_111643124___350 {
    POLL_IN___350 = 1,
    POLL_OUT___350 = 2,
    POLL_MSG___350 = 3,
    POLL_ERR___350 = 4,
    POLL_PRI___350 = 5,
    POLL_HUP___350 = 6
} ;
enum __anonenum_852341087___350 {
    SIGEV_SIGNAL___350 = 0,
    SIGEV_NONE___350 = 1,
    SIGEV_THREAD___350 = 2,
    SIGEV_THREAD_ID___350 = 4
} ;
enum __anonenum_451154152___350 {
    REG_R8___350 = 0,
    REG_R9___350 = 1,
    REG_R10___350 = 2,
    REG_R11___350 = 3,
    REG_R12___350 = 4,
    REG_R13___350 = 5,
    REG_R14___350 = 6,
    REG_R15___350 = 7,
    REG_RDI___350 = 8,
    REG_RSI___350 = 9,
    REG_RBP___350 = 10,
    REG_RBX___350 = 11,
    REG_RDX___350 = 12,
    REG_RAX___350 = 13,
    REG_RCX___350 = 14,
    REG_RSP___350 = 15,
    REG_RIP___350 = 16,
    REG_EFL___350 = 17,
    REG_CSGSFS___350 = 18,
    REG_ERR___350 = 19,
    REG_TRAPNO___350 = 20,
    REG_OLDMASK___350 = 21,
    REG_CR2___350 = 22
} ;
enum __anonenum_57186863___350 {
    SS_ONSTACK___350 = 1,
    SS_DISABLE___350 = 2
} ;
enum __anonenum_83571709___350 {
    MSG_OOB___350 = 1,
    MSG_PEEK___350 = 2,
    MSG_DONTROUTE___350 = 4,
    MSG_TRYHARD___350 = 4,
    MSG_CTRUNC___350 = 8,
    MSG_PROXY___350 = 16,
    MSG_TRUNC___350 = 32,
    MSG_DONTWAIT___350 = 64,
    MSG_EOR___350 = 128,
    MSG_WAITALL___350 = 256,
    MSG_FIN___350 = 512,
    MSG_SYN___350 = 1024,
    MSG_CONFIRM___350 = 2048,
    MSG_RST___350 = 4096,
    MSG_ERRQUEUE___350 = 8192,
    MSG_NOSIGNAL___350 = 16384,
    MSG_MORE___350 = 32768,
    MSG_WAITFORONE___350 = 65536,
    MSG_BATCH___350 = 262144,
    MSG_ZEROCOPY___350 = 67108864,
    MSG_FASTOPEN___350 = 536870912,
    MSG_CMSG_CLOEXEC___350 = 1073741824
} ;
enum __anonenum_617082774___350 {
    SCM_RIGHTS___350 = 1,
    SCM_CREDENTIALS___350 = 2
} ;
enum __anonenum_606441560___350 {
    SHUT_RD___350 = 0,
    SHUT_WR___350 = 1,
    SHUT_RDWR___350 = 2
} ;
enum __anonenum_681669233___350 {
    IPPROTO_IP___350 = 0,
    IPPROTO_ICMP___350 = 1,
    IPPROTO_IGMP___350 = 2,
    IPPROTO_IPIP___350 = 4,
    IPPROTO_TCP___350 = 6,
    IPPROTO_EGP___350 = 8,
    IPPROTO_PUP___350 = 12,
    IPPROTO_UDP___350 = 17,
    IPPROTO_IDP___350 = 22,
    IPPROTO_TP___350 = 29,
    IPPROTO_DCCP___350 = 33,
    IPPROTO_IPV6___350 = 41,
    IPPROTO_RSVP___350 = 46,
    IPPROTO_GRE___350 = 47,
    IPPROTO_ESP___350 = 50,
    IPPROTO_AH___350 = 51,
    IPPROTO_MTP___350 = 92,
    IPPROTO_BEETPH___350 = 94,
    IPPROTO_ENCAP___350 = 98,
    IPPROTO_PIM___350 = 103,
    IPPROTO_COMP___350 = 108,
    IPPROTO_SCTP___350 = 132,
    IPPROTO_UDPLITE___350 = 136,
    IPPROTO_MPLS___350 = 137,
    IPPROTO_RAW___350 = 255,
    IPPROTO_MAX___350 = 256
} ;
enum __anonenum_218739988___350 {
    IPPROTO_HOPOPTS___350 = 0,
    IPPROTO_ROUTING___350 = 43,
    IPPROTO_FRAGMENT___350 = 44,
    IPPROTO_ICMPV6___350 = 58,
    IPPROTO_NONE___350 = 59,
    IPPROTO_DSTOPTS___350 = 60,
    IPPROTO_MH___350 = 135
} ;
enum __anonenum_662268580___350 {
    IPPORT_ECHO___350 = 7,
    IPPORT_DISCARD___350 = 9,
    IPPORT_SYSTAT___350 = 11,
    IPPORT_DAYTIME___350 = 13,
    IPPORT_NETSTAT___350 = 15,
    IPPORT_FTP___350 = 21,
    IPPORT_TELNET___350 = 23,
    IPPORT_SMTP___350 = 25,
    IPPORT_TIMESERVER___350 = 37,
    IPPORT_NAMESERVER___350 = 42,
    IPPORT_WHOIS___350 = 43,
    IPPORT_MTP___350 = 57,
    IPPORT_TFTP___350 = 69,
    IPPORT_RJE___350 = 77,
    IPPORT_FINGER___350 = 79,
    IPPORT_TTYLINK___350 = 87,
    IPPORT_SUPDUP___350 = 95,
    IPPORT_EXECSERVER___350 = 512,
    IPPORT_LOGINSERVER___350 = 513,
    IPPORT_CMDSERVER___350 = 514,
    IPPORT_EFSSERVER___350 = 520,
    IPPORT_BIFFUDP___350 = 512,
    IPPORT_WHOSERVER___350 = 513,
    IPPORT_ROUTESERVER___350 = 520,
    IPPORT_RESERVED___350 = 1024,
    IPPORT_USERRESERVED___350 = 5000
} ;
enum __anonenum_788308992___350 {
    TCP_ESTABLISHED___350 = 1,
    TCP_SYN_SENT___350 = 2,
    TCP_SYN_RECV___350 = 3,
    TCP_FIN_WAIT1___350 = 4,
    TCP_FIN_WAIT2___350 = 5,
    TCP_TIME_WAIT___350 = 6,
    TCP_CLOSE___350 = 7,
    TCP_CLOSE_WAIT___350 = 8,
    TCP_LAST_ACK___350 = 9,
    TCP_LISTEN___350 = 10,
    TCP_CLOSING___350 = 11
} ;
enum __anonenum_221125648___350 {
    TCP_NO_QUEUE___350 = 0,
    TCP_RECV_QUEUE___350 = 1,
    TCP_SEND_QUEUE___350 = 2,
    TCP_QUEUES_NR___350 = 3
} ;
enum __anonenum_34415463___350 {
    PTHREAD_CREATE_JOINABLE___350 = 0,
    PTHREAD_CREATE_DETACHED___350 = 1
} ;
enum __anonenum_303612439___350 {
    PTHREAD_MUTEX_TIMED_NP___350 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___350 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___350 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___350 = 3,
    PTHREAD_MUTEX_NORMAL___350 = 0,
    PTHREAD_MUTEX_RECURSIVE___350 = 1,
    PTHREAD_MUTEX_ERRORCHECK___350 = 2,
    PTHREAD_MUTEX_DEFAULT___350 = 0,
    PTHREAD_MUTEX_FAST_NP___350 = 0
} ;
enum __anonenum_931900394___350 {
    PTHREAD_MUTEX_STALLED___350 = 0,
    PTHREAD_MUTEX_STALLED_NP___350 = 0,
    PTHREAD_MUTEX_ROBUST___350 = 1,
    PTHREAD_MUTEX_ROBUST_NP___350 = 1
} ;
enum __anonenum_205214487___350 {
    PTHREAD_PRIO_NONE___350 = 0,
    PTHREAD_PRIO_INHERIT___350 = 1,
    PTHREAD_PRIO_PROTECT___350 = 2
} ;
enum __anonenum_25043950___350 {
    PTHREAD_RWLOCK_PREFER_READER_NP___350 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___350 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___350 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___350 = 0
} ;
enum __anonenum_436439511___350 {
    PTHREAD_INHERIT_SCHED___350 = 0,
    PTHREAD_EXPLICIT_SCHED___350 = 1
} ;
enum __anonenum_998661166___350 {
    PTHREAD_SCOPE_SYSTEM___350 = 0,
    PTHREAD_SCOPE_PROCESS___350 = 1
} ;
enum __anonenum_146137331___350 {
    PTHREAD_PROCESS_PRIVATE___350 = 0,
    PTHREAD_PROCESS_SHARED___350 = 1
} ;
enum __anonenum_53396917___350 {
    PTHREAD_CANCEL_ENABLE___350 = 0,
    PTHREAD_CANCEL_DISABLE___350 = 1
} ;
enum __anonenum_904563783___350 {
    PTHREAD_CANCEL_DEFERRED___350 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___350 = 1
} ;
enum __anonenum_672052974___350 {
    SSL_CT_VALIDATION_PERMISSIVE___350 = 0,
    SSL_CT_VALIDATION_STRICT___350 = 1
} ;
enum __anonenum_437032235___351 {
    _PC_LINK_MAX___351 = 0,
    _PC_MAX_CANON___351 = 1,
    _PC_MAX_INPUT___351 = 2,
    _PC_NAME_MAX___351 = 3,
    _PC_PATH_MAX___351 = 4,
    _PC_PIPE_BUF___351 = 5,
    _PC_CHOWN_RESTRICTED___351 = 6,
    _PC_NO_TRUNC___351 = 7,
    _PC_VDISABLE___351 = 8,
    _PC_SYNC_IO___351 = 9,
    _PC_ASYNC_IO___351 = 10,
    _PC_PRIO_IO___351 = 11,
    _PC_SOCK_MAXBUF___351 = 12,
    _PC_FILESIZEBITS___351 = 13,
    _PC_REC_INCR_XFER_SIZE___351 = 14,
    _PC_REC_MAX_XFER_SIZE___351 = 15,
    _PC_REC_MIN_XFER_SIZE___351 = 16,
    _PC_REC_XFER_ALIGN___351 = 17,
    _PC_ALLOC_SIZE_MIN___351 = 18,
    _PC_SYMLINK_MAX___351 = 19,
    _PC_2_SYMLINKS___351 = 20
} ;
enum __anonenum_315186338___351 {
    _SC_ARG_MAX___351 = 0,
    _SC_CHILD_MAX___351 = 1,
    _SC_CLK_TCK___351 = 2,
    _SC_NGROUPS_MAX___351 = 3,
    _SC_OPEN_MAX___351 = 4,
    _SC_STREAM_MAX___351 = 5,
    _SC_TZNAME_MAX___351 = 6,
    _SC_JOB_CONTROL___351 = 7,
    _SC_SAVED_IDS___351 = 8,
    _SC_REALTIME_SIGNALS___351 = 9,
    _SC_PRIORITY_SCHEDULING___351 = 10,
    _SC_TIMERS___351 = 11,
    _SC_ASYNCHRONOUS_IO___351 = 12,
    _SC_PRIORITIZED_IO___351 = 13,
    _SC_SYNCHRONIZED_IO___351 = 14,
    _SC_FSYNC___351 = 15,
    _SC_MAPPED_FILES___351 = 16,
    _SC_MEMLOCK___351 = 17,
    _SC_MEMLOCK_RANGE___351 = 18,
    _SC_MEMORY_PROTECTION___351 = 19,
    _SC_MESSAGE_PASSING___351 = 20,
    _SC_SEMAPHORES___351 = 21,
    _SC_SHARED_MEMORY_OBJECTS___351 = 22,
    _SC_AIO_LISTIO_MAX___351 = 23,
    _SC_AIO_MAX___351 = 24,
    _SC_AIO_PRIO_DELTA_MAX___351 = 25,
    _SC_DELAYTIMER_MAX___351 = 26,
    _SC_MQ_OPEN_MAX___351 = 27,
    _SC_MQ_PRIO_MAX___351 = 28,
    _SC_VERSION___351 = 29,
    _SC_PAGESIZE___351 = 30,
    _SC_RTSIG_MAX___351 = 31,
    _SC_SEM_NSEMS_MAX___351 = 32,
    _SC_SEM_VALUE_MAX___351 = 33,
    _SC_SIGQUEUE_MAX___351 = 34,
    _SC_TIMER_MAX___351 = 35,
    _SC_BC_BASE_MAX___351 = 36,
    _SC_BC_DIM_MAX___351 = 37,
    _SC_BC_SCALE_MAX___351 = 38,
    _SC_BC_STRING_MAX___351 = 39,
    _SC_COLL_WEIGHTS_MAX___351 = 40,
    _SC_EQUIV_CLASS_MAX___351 = 41,
    _SC_EXPR_NEST_MAX___351 = 42,
    _SC_LINE_MAX___351 = 43,
    _SC_RE_DUP_MAX___351 = 44,
    _SC_CHARCLASS_NAME_MAX___351 = 45,
    _SC_2_VERSION___351 = 46,
    _SC_2_C_BIND___351 = 47,
    _SC_2_C_DEV___351 = 48,
    _SC_2_FORT_DEV___351 = 49,
    _SC_2_FORT_RUN___351 = 50,
    _SC_2_SW_DEV___351 = 51,
    _SC_2_LOCALEDEF___351 = 52,
    _SC_PII___351 = 53,
    _SC_PII_XTI___351 = 54,
    _SC_PII_SOCKET___351 = 55,
    _SC_PII_INTERNET___351 = 56,
    _SC_PII_OSI___351 = 57,
    _SC_POLL___351 = 58,
    _SC_SELECT___351 = 59,
    _SC_UIO_MAXIOV___351 = 60,
    _SC_IOV_MAX___351 = 60,
    _SC_PII_INTERNET_STREAM___351 = 61,
    _SC_PII_INTERNET_DGRAM___351 = 62,
    _SC_PII_OSI_COTS___351 = 63,
    _SC_PII_OSI_CLTS___351 = 64,
    _SC_PII_OSI_M___351 = 65,
    _SC_T_IOV_MAX___351 = 66,
    _SC_THREADS___351 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___351 = 68,
    _SC_GETGR_R_SIZE_MAX___351 = 69,
    _SC_GETPW_R_SIZE_MAX___351 = 70,
    _SC_LOGIN_NAME_MAX___351 = 71,
    _SC_TTY_NAME_MAX___351 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___351 = 73,
    _SC_THREAD_KEYS_MAX___351 = 74,
    _SC_THREAD_STACK_MIN___351 = 75,
    _SC_THREAD_THREADS_MAX___351 = 76,
    _SC_THREAD_ATTR_STACKADDR___351 = 77,
    _SC_THREAD_ATTR_STACKSIZE___351 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___351 = 79,
    _SC_THREAD_PRIO_INHERIT___351 = 80,
    _SC_THREAD_PRIO_PROTECT___351 = 81,
    _SC_THREAD_PROCESS_SHARED___351 = 82,
    _SC_NPROCESSORS_CONF___351 = 83,
    _SC_NPROCESSORS_ONLN___351 = 84,
    _SC_PHYS_PAGES___351 = 85,
    _SC_AVPHYS_PAGES___351 = 86,
    _SC_ATEXIT_MAX___351 = 87,
    _SC_PASS_MAX___351 = 88,
    _SC_XOPEN_VERSION___351 = 89,
    _SC_XOPEN_XCU_VERSION___351 = 90,
    _SC_XOPEN_UNIX___351 = 91,
    _SC_XOPEN_CRYPT___351 = 92,
    _SC_XOPEN_ENH_I18N___351 = 93,
    _SC_XOPEN_SHM___351 = 94,
    _SC_2_CHAR_TERM___351 = 95,
    _SC_2_C_VERSION___351 = 96,
    _SC_2_UPE___351 = 97,
    _SC_XOPEN_XPG2___351 = 98,
    _SC_XOPEN_XPG3___351 = 99,
    _SC_XOPEN_XPG4___351 = 100,
    _SC_CHAR_BIT___351 = 101,
    _SC_CHAR_MAX___351 = 102,
    _SC_CHAR_MIN___351 = 103,
    _SC_INT_MAX___351 = 104,
    _SC_INT_MIN___351 = 105,
    _SC_LONG_BIT___351 = 106,
    _SC_WORD_BIT___351 = 107,
    _SC_MB_LEN_MAX___351 = 108,
    _SC_NZERO___351 = 109,
    _SC_SSIZE_MAX___351 = 110,
    _SC_SCHAR_MAX___351 = 111,
    _SC_SCHAR_MIN___351 = 112,
    _SC_SHRT_MAX___351 = 113,
    _SC_SHRT_MIN___351 = 114,
    _SC_UCHAR_MAX___351 = 115,
    _SC_UINT_MAX___351 = 116,
    _SC_ULONG_MAX___351 = 117,
    _SC_USHRT_MAX___351 = 118,
    _SC_NL_ARGMAX___351 = 119,
    _SC_NL_LANGMAX___351 = 120,
    _SC_NL_MSGMAX___351 = 121,
    _SC_NL_NMAX___351 = 122,
    _SC_NL_SETMAX___351 = 123,
    _SC_NL_TEXTMAX___351 = 124,
    _SC_XBS5_ILP32_OFF32___351 = 125,
    _SC_XBS5_ILP32_OFFBIG___351 = 126,
    _SC_XBS5_LP64_OFF64___351 = 127,
    _SC_XBS5_LPBIG_OFFBIG___351 = 128,
    _SC_XOPEN_LEGACY___351 = 129,
    _SC_XOPEN_REALTIME___351 = 130,
    _SC_XOPEN_REALTIME_THREADS___351 = 131,
    _SC_ADVISORY_INFO___351 = 132,
    _SC_BARRIERS___351 = 133,
    _SC_BASE___351 = 134,
    _SC_C_LANG_SUPPORT___351 = 135,
    _SC_C_LANG_SUPPORT_R___351 = 136,
    _SC_CLOCK_SELECTION___351 = 137,
    _SC_CPUTIME___351 = 138,
    _SC_THREAD_CPUTIME___351 = 139,
    _SC_DEVICE_IO___351 = 140,
    _SC_DEVICE_SPECIFIC___351 = 141,
    _SC_DEVICE_SPECIFIC_R___351 = 142,
    _SC_FD_MGMT___351 = 143,
    _SC_FIFO___351 = 144,
    _SC_PIPE___351 = 145,
    _SC_FILE_ATTRIBUTES___351 = 146,
    _SC_FILE_LOCKING___351 = 147,
    _SC_FILE_SYSTEM___351 = 148,
    _SC_MONOTONIC_CLOCK___351 = 149,
    _SC_MULTI_PROCESS___351 = 150,
    _SC_SINGLE_PROCESS___351 = 151,
    _SC_NETWORKING___351 = 152,
    _SC_READER_WRITER_LOCKS___351 = 153,
    _SC_SPIN_LOCKS___351 = 154,
    _SC_REGEXP___351 = 155,
    _SC_REGEX_VERSION___351 = 156,
    _SC_SHELL___351 = 157,
    _SC_SIGNALS___351 = 158,
    _SC_SPAWN___351 = 159,
    _SC_SPORADIC_SERVER___351 = 160,
    _SC_THREAD_SPORADIC_SERVER___351 = 161,
    _SC_SYSTEM_DATABASE___351 = 162,
    _SC_SYSTEM_DATABASE_R___351 = 163,
    _SC_TIMEOUTS___351 = 164,
    _SC_TYPED_MEMORY_OBJECTS___351 = 165,
    _SC_USER_GROUPS___351 = 166,
    _SC_USER_GROUPS_R___351 = 167,
    _SC_2_PBS___351 = 168,
    _SC_2_PBS_ACCOUNTING___351 = 169,
    _SC_2_PBS_LOCATE___351 = 170,
    _SC_2_PBS_MESSAGE___351 = 171,
    _SC_2_PBS_TRACK___351 = 172,
    _SC_SYMLOOP_MAX___351 = 173,
    _SC_STREAMS___351 = 174,
    _SC_2_PBS_CHECKPOINT___351 = 175,
    _SC_V6_ILP32_OFF32___351 = 176,
    _SC_V6_ILP32_OFFBIG___351 = 177,
    _SC_V6_LP64_OFF64___351 = 178,
    _SC_V6_LPBIG_OFFBIG___351 = 179,
    _SC_HOST_NAME_MAX___351 = 180,
    _SC_TRACE___351 = 181,
    _SC_TRACE_EVENT_FILTER___351 = 182,
    _SC_TRACE_INHERIT___351 = 183,
    _SC_TRACE_LOG___351 = 184,
    _SC_LEVEL1_ICACHE_SIZE___351 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___351 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___351 = 187,
    _SC_LEVEL1_DCACHE_SIZE___351 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___351 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___351 = 190,
    _SC_LEVEL2_CACHE_SIZE___351 = 191,
    _SC_LEVEL2_CACHE_ASSOC___351 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___351 = 193,
    _SC_LEVEL3_CACHE_SIZE___351 = 194,
    _SC_LEVEL3_CACHE_ASSOC___351 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___351 = 196,
    _SC_LEVEL4_CACHE_SIZE___351 = 197,
    _SC_LEVEL4_CACHE_ASSOC___351 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___351 = 199,
    _SC_IPV6___351 = 235,
    _SC_RAW_SOCKETS___351 = 236,
    _SC_V7_ILP32_OFF32___351 = 237,
    _SC_V7_ILP32_OFFBIG___351 = 238,
    _SC_V7_LP64_OFF64___351 = 239,
    _SC_V7_LPBIG_OFFBIG___351 = 240,
    _SC_SS_REPL_MAX___351 = 241,
    _SC_TRACE_EVENT_NAME_MAX___351 = 242,
    _SC_TRACE_NAME_MAX___351 = 243,
    _SC_TRACE_SYS_MAX___351 = 244,
    _SC_TRACE_USER_EVENT_MAX___351 = 245,
    _SC_XOPEN_STREAMS___351 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___351 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___351 = 248
} ;
enum __anonenum_875524036___351 {
    _CS_PATH___351 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___351 = 1,
    _CS_GNU_LIBC_VERSION___351 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___351 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___351 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___351 = 5,
    _CS_LFS_CFLAGS___351 = 1000,
    _CS_LFS_LDFLAGS___351 = 1001,
    _CS_LFS_LIBS___351 = 1002,
    _CS_LFS_LINTFLAGS___351 = 1003,
    _CS_LFS64_CFLAGS___351 = 1004,
    _CS_LFS64_LDFLAGS___351 = 1005,
    _CS_LFS64_LIBS___351 = 1006,
    _CS_LFS64_LINTFLAGS___351 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___351 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___351 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___351 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___351 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___351 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___351 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___351 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___351 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___351 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___351 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___351 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___351 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___351 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___351 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___351 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___351 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___351 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___351 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___351 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___351 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___351 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___351 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___351 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___351 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___351 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___351 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___351 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___351 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___351 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___351 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___351 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___351 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___351 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___351 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___351 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___351 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___351 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___351 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___351 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___351 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___351 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___351 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___351 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___351 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___351 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___351 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___351 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___351 = 1147,
    _CS_V6_ENV___351 = 1148,
    _CS_V7_ENV___351 = 1149
} ;
enum __anonenum_513775621___351 {
    DT_UNKNOWN___351 = 0,
    DT_FIFO___351 = 1,
    DT_CHR___351 = 2,
    DT_DIR___351 = 4,
    DT_BLK___351 = 6,
    DT_REG___351 = 8,
    DT_LNK___351 = 10,
    DT_SOCK___351 = 12,
    DT_WHT___351 = 14
} ;
enum __anonenum_77002343___351 {
    SI_ASYNCNL___351 = -60,
    SI_TKILL___351 = -6,
    SI_SIGIO___351 = -5,
    SI_ASYNCIO___351 = -4,
    SI_MESGQ___351 = -3,
    SI_TIMER___351 = -2,
    SI_QUEUE___351 = -1,
    SI_USER___351 = 0,
    SI_KERNEL___351 = 128
} ;
enum __anonenum_131038172___351 {
    ILL_ILLOPC___351 = 1,
    ILL_ILLOPN___351 = 2,
    ILL_ILLADR___351 = 3,
    ILL_ILLTRP___351 = 4,
    ILL_PRVOPC___351 = 5,
    ILL_PRVREG___351 = 6,
    ILL_COPROC___351 = 7,
    ILL_BADSTK___351 = 8
} ;
enum __anonenum_452038093___351 {
    FPE_INTDIV___351 = 1,
    FPE_INTOVF___351 = 2,
    FPE_FLTDIV___351 = 3,
    FPE_FLTOVF___351 = 4,
    FPE_FLTUND___351 = 5,
    FPE_FLTRES___351 = 6,
    FPE_FLTINV___351 = 7,
    FPE_FLTSUB___351 = 8
} ;
enum __anonenum_30976155___351 {
    SEGV_MAPERR___351 = 1,
    SEGV_ACCERR___351 = 2,
    SEGV_BNDERR___351 = 3,
    SEGV_PKUERR___351 = 4
} ;
enum __anonenum_1036286214___351 {
    BUS_ADRALN___351 = 1,
    BUS_ADRERR___351 = 2,
    BUS_OBJERR___351 = 3,
    BUS_MCEERR_AR___351 = 4,
    BUS_MCEERR_AO___351 = 5
} ;
enum __anonenum_493465559___351 {
    TRAP_BRKPT___351 = 1,
    TRAP_TRACE___351 = 2
} ;
enum __anonenum_23175539___351 {
    CLD_EXITED___351 = 1,
    CLD_KILLED___351 = 2,
    CLD_DUMPED___351 = 3,
    CLD_TRAPPED___351 = 4,
    CLD_STOPPED___351 = 5,
    CLD_CONTINUED___351 = 6
} ;
enum __anonenum_111643124___351 {
    POLL_IN___351 = 1,
    POLL_OUT___351 = 2,
    POLL_MSG___351 = 3,
    POLL_ERR___351 = 4,
    POLL_PRI___351 = 5,
    POLL_HUP___351 = 6
} ;
enum __anonenum_852341087___351 {
    SIGEV_SIGNAL___351 = 0,
    SIGEV_NONE___351 = 1,
    SIGEV_THREAD___351 = 2,
    SIGEV_THREAD_ID___351 = 4
} ;
enum __anonenum_451154152___351 {
    REG_R8___351 = 0,
    REG_R9___351 = 1,
    REG_R10___351 = 2,
    REG_R11___351 = 3,
    REG_R12___351 = 4,
    REG_R13___351 = 5,
    REG_R14___351 = 6,
    REG_R15___351 = 7,
    REG_RDI___351 = 8,
    REG_RSI___351 = 9,
    REG_RBP___351 = 10,
    REG_RBX___351 = 11,
    REG_RDX___351 = 12,
    REG_RAX___351 = 13,
    REG_RCX___351 = 14,
    REG_RSP___351 = 15,
    REG_RIP___351 = 16,
    REG_EFL___351 = 17,
    REG_CSGSFS___351 = 18,
    REG_ERR___351 = 19,
    REG_TRAPNO___351 = 20,
    REG_OLDMASK___351 = 21,
    REG_CR2___351 = 22
} ;
enum __anonenum_57186863___351 {
    SS_ONSTACK___351 = 1,
    SS_DISABLE___351 = 2
} ;
enum __anonenum_83571709___351 {
    MSG_OOB___351 = 1,
    MSG_PEEK___351 = 2,
    MSG_DONTROUTE___351 = 4,
    MSG_TRYHARD___351 = 4,
    MSG_CTRUNC___351 = 8,
    MSG_PROXY___351 = 16,
    MSG_TRUNC___351 = 32,
    MSG_DONTWAIT___351 = 64,
    MSG_EOR___351 = 128,
    MSG_WAITALL___351 = 256,
    MSG_FIN___351 = 512,
    MSG_SYN___351 = 1024,
    MSG_CONFIRM___351 = 2048,
    MSG_RST___351 = 4096,
    MSG_ERRQUEUE___351 = 8192,
    MSG_NOSIGNAL___351 = 16384,
    MSG_MORE___351 = 32768,
    MSG_WAITFORONE___351 = 65536,
    MSG_BATCH___351 = 262144,
    MSG_ZEROCOPY___351 = 67108864,
    MSG_FASTOPEN___351 = 536870912,
    MSG_CMSG_CLOEXEC___351 = 1073741824
} ;
enum __anonenum_617082774___351 {
    SCM_RIGHTS___351 = 1,
    SCM_CREDENTIALS___351 = 2
} ;
enum __anonenum_606441560___351 {
    SHUT_RD___351 = 0,
    SHUT_WR___351 = 1,
    SHUT_RDWR___351 = 2
} ;
enum __anonenum_681669233___351 {
    IPPROTO_IP___351 = 0,
    IPPROTO_ICMP___351 = 1,
    IPPROTO_IGMP___351 = 2,
    IPPROTO_IPIP___351 = 4,
    IPPROTO_TCP___351 = 6,
    IPPROTO_EGP___351 = 8,
    IPPROTO_PUP___351 = 12,
    IPPROTO_UDP___351 = 17,
    IPPROTO_IDP___351 = 22,
    IPPROTO_TP___351 = 29,
    IPPROTO_DCCP___351 = 33,
    IPPROTO_IPV6___351 = 41,
    IPPROTO_RSVP___351 = 46,
    IPPROTO_GRE___351 = 47,
    IPPROTO_ESP___351 = 50,
    IPPROTO_AH___351 = 51,
    IPPROTO_MTP___351 = 92,
    IPPROTO_BEETPH___351 = 94,
    IPPROTO_ENCAP___351 = 98,
    IPPROTO_PIM___351 = 103,
    IPPROTO_COMP___351 = 108,
    IPPROTO_SCTP___351 = 132,
    IPPROTO_UDPLITE___351 = 136,
    IPPROTO_MPLS___351 = 137,
    IPPROTO_RAW___351 = 255,
    IPPROTO_MAX___351 = 256
} ;
enum __anonenum_218739988___351 {
    IPPROTO_HOPOPTS___351 = 0,
    IPPROTO_ROUTING___351 = 43,
    IPPROTO_FRAGMENT___351 = 44,
    IPPROTO_ICMPV6___351 = 58,
    IPPROTO_NONE___351 = 59,
    IPPROTO_DSTOPTS___351 = 60,
    IPPROTO_MH___351 = 135
} ;
enum __anonenum_662268580___351 {
    IPPORT_ECHO___351 = 7,
    IPPORT_DISCARD___351 = 9,
    IPPORT_SYSTAT___351 = 11,
    IPPORT_DAYTIME___351 = 13,
    IPPORT_NETSTAT___351 = 15,
    IPPORT_FTP___351 = 21,
    IPPORT_TELNET___351 = 23,
    IPPORT_SMTP___351 = 25,
    IPPORT_TIMESERVER___351 = 37,
    IPPORT_NAMESERVER___351 = 42,
    IPPORT_WHOIS___351 = 43,
    IPPORT_MTP___351 = 57,
    IPPORT_TFTP___351 = 69,
    IPPORT_RJE___351 = 77,
    IPPORT_FINGER___351 = 79,
    IPPORT_TTYLINK___351 = 87,
    IPPORT_SUPDUP___351 = 95,
    IPPORT_EXECSERVER___351 = 512,
    IPPORT_LOGINSERVER___351 = 513,
    IPPORT_CMDSERVER___351 = 514,
    IPPORT_EFSSERVER___351 = 520,
    IPPORT_BIFFUDP___351 = 512,
    IPPORT_WHOSERVER___351 = 513,
    IPPORT_ROUTESERVER___351 = 520,
    IPPORT_RESERVED___351 = 1024,
    IPPORT_USERRESERVED___351 = 5000
} ;
enum __anonenum_788308992___351 {
    TCP_ESTABLISHED___351 = 1,
    TCP_SYN_SENT___351 = 2,
    TCP_SYN_RECV___351 = 3,
    TCP_FIN_WAIT1___351 = 4,
    TCP_FIN_WAIT2___351 = 5,
    TCP_TIME_WAIT___351 = 6,
    TCP_CLOSE___351 = 7,
    TCP_CLOSE_WAIT___351 = 8,
    TCP_LAST_ACK___351 = 9,
    TCP_LISTEN___351 = 10,
    TCP_CLOSING___351 = 11
} ;
enum __anonenum_221125648___351 {
    TCP_NO_QUEUE___351 = 0,
    TCP_RECV_QUEUE___351 = 1,
    TCP_SEND_QUEUE___351 = 2,
    TCP_QUEUES_NR___351 = 3
} ;
enum __anonenum_34415463___351 {
    PTHREAD_CREATE_JOINABLE___351 = 0,
    PTHREAD_CREATE_DETACHED___351 = 1
} ;
enum __anonenum_303612439___351 {
    PTHREAD_MUTEX_TIMED_NP___351 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___351 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___351 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___351 = 3,
    PTHREAD_MUTEX_NORMAL___351 = 0,
    PTHREAD_MUTEX_RECURSIVE___351 = 1,
    PTHREAD_MUTEX_ERRORCHECK___351 = 2,
    PTHREAD_MUTEX_DEFAULT___351 = 0,
    PTHREAD_MUTEX_FAST_NP___351 = 0
} ;
enum __anonenum_931900394___351 {
    PTHREAD_MUTEX_STALLED___351 = 0,
    PTHREAD_MUTEX_STALLED_NP___351 = 0,
    PTHREAD_MUTEX_ROBUST___351 = 1,
    PTHREAD_MUTEX_ROBUST_NP___351 = 1
} ;
enum __anonenum_205214487___351 {
    PTHREAD_PRIO_NONE___351 = 0,
    PTHREAD_PRIO_INHERIT___351 = 1,
    PTHREAD_PRIO_PROTECT___351 = 2
} ;
enum __anonenum_25043950___351 {
    PTHREAD_RWLOCK_PREFER_READER_NP___351 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___351 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___351 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___351 = 0
} ;
enum __anonenum_436439511___351 {
    PTHREAD_INHERIT_SCHED___351 = 0,
    PTHREAD_EXPLICIT_SCHED___351 = 1
} ;
enum __anonenum_998661166___351 {
    PTHREAD_SCOPE_SYSTEM___351 = 0,
    PTHREAD_SCOPE_PROCESS___351 = 1
} ;
enum __anonenum_146137331___351 {
    PTHREAD_PROCESS_PRIVATE___351 = 0,
    PTHREAD_PROCESS_SHARED___351 = 1
} ;
enum __anonenum_53396917___351 {
    PTHREAD_CANCEL_ENABLE___351 = 0,
    PTHREAD_CANCEL_DISABLE___351 = 1
} ;
enum __anonenum_904563783___351 {
    PTHREAD_CANCEL_DEFERRED___351 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___351 = 1
} ;
enum __anonenum_672052974___351 {
    SSL_CT_VALIDATION_PERMISSIVE___351 = 0,
    SSL_CT_VALIDATION_STRICT___351 = 1
} ;
enum __anonenum_561748495___30 {
    RECURSE_SUBMODULES_ONLY___30 = -5,
    RECURSE_SUBMODULES_CHECK___30 = -4,
    RECURSE_SUBMODULES_ERROR___30 = -3,
    RECURSE_SUBMODULES_NONE___30 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___30 = -1,
    RECURSE_SUBMODULES_OFF___30 = 0,
    RECURSE_SUBMODULES_DEFAULT___30 = 1,
    RECURSE_SUBMODULES_ON___30 = 2
} ;
enum __anonenum_437032235___352 {
    _PC_LINK_MAX___352 = 0,
    _PC_MAX_CANON___352 = 1,
    _PC_MAX_INPUT___352 = 2,
    _PC_NAME_MAX___352 = 3,
    _PC_PATH_MAX___352 = 4,
    _PC_PIPE_BUF___352 = 5,
    _PC_CHOWN_RESTRICTED___352 = 6,
    _PC_NO_TRUNC___352 = 7,
    _PC_VDISABLE___352 = 8,
    _PC_SYNC_IO___352 = 9,
    _PC_ASYNC_IO___352 = 10,
    _PC_PRIO_IO___352 = 11,
    _PC_SOCK_MAXBUF___352 = 12,
    _PC_FILESIZEBITS___352 = 13,
    _PC_REC_INCR_XFER_SIZE___352 = 14,
    _PC_REC_MAX_XFER_SIZE___352 = 15,
    _PC_REC_MIN_XFER_SIZE___352 = 16,
    _PC_REC_XFER_ALIGN___352 = 17,
    _PC_ALLOC_SIZE_MIN___352 = 18,
    _PC_SYMLINK_MAX___352 = 19,
    _PC_2_SYMLINKS___352 = 20
} ;
enum __anonenum_315186338___352 {
    _SC_ARG_MAX___352 = 0,
    _SC_CHILD_MAX___352 = 1,
    _SC_CLK_TCK___352 = 2,
    _SC_NGROUPS_MAX___352 = 3,
    _SC_OPEN_MAX___352 = 4,
    _SC_STREAM_MAX___352 = 5,
    _SC_TZNAME_MAX___352 = 6,
    _SC_JOB_CONTROL___352 = 7,
    _SC_SAVED_IDS___352 = 8,
    _SC_REALTIME_SIGNALS___352 = 9,
    _SC_PRIORITY_SCHEDULING___352 = 10,
    _SC_TIMERS___352 = 11,
    _SC_ASYNCHRONOUS_IO___352 = 12,
    _SC_PRIORITIZED_IO___352 = 13,
    _SC_SYNCHRONIZED_IO___352 = 14,
    _SC_FSYNC___352 = 15,
    _SC_MAPPED_FILES___352 = 16,
    _SC_MEMLOCK___352 = 17,
    _SC_MEMLOCK_RANGE___352 = 18,
    _SC_MEMORY_PROTECTION___352 = 19,
    _SC_MESSAGE_PASSING___352 = 20,
    _SC_SEMAPHORES___352 = 21,
    _SC_SHARED_MEMORY_OBJECTS___352 = 22,
    _SC_AIO_LISTIO_MAX___352 = 23,
    _SC_AIO_MAX___352 = 24,
    _SC_AIO_PRIO_DELTA_MAX___352 = 25,
    _SC_DELAYTIMER_MAX___352 = 26,
    _SC_MQ_OPEN_MAX___352 = 27,
    _SC_MQ_PRIO_MAX___352 = 28,
    _SC_VERSION___352 = 29,
    _SC_PAGESIZE___352 = 30,
    _SC_RTSIG_MAX___352 = 31,
    _SC_SEM_NSEMS_MAX___352 = 32,
    _SC_SEM_VALUE_MAX___352 = 33,
    _SC_SIGQUEUE_MAX___352 = 34,
    _SC_TIMER_MAX___352 = 35,
    _SC_BC_BASE_MAX___352 = 36,
    _SC_BC_DIM_MAX___352 = 37,
    _SC_BC_SCALE_MAX___352 = 38,
    _SC_BC_STRING_MAX___352 = 39,
    _SC_COLL_WEIGHTS_MAX___352 = 40,
    _SC_EQUIV_CLASS_MAX___352 = 41,
    _SC_EXPR_NEST_MAX___352 = 42,
    _SC_LINE_MAX___352 = 43,
    _SC_RE_DUP_MAX___352 = 44,
    _SC_CHARCLASS_NAME_MAX___352 = 45,
    _SC_2_VERSION___352 = 46,
    _SC_2_C_BIND___352 = 47,
    _SC_2_C_DEV___352 = 48,
    _SC_2_FORT_DEV___352 = 49,
    _SC_2_FORT_RUN___352 = 50,
    _SC_2_SW_DEV___352 = 51,
    _SC_2_LOCALEDEF___352 = 52,
    _SC_PII___352 = 53,
    _SC_PII_XTI___352 = 54,
    _SC_PII_SOCKET___352 = 55,
    _SC_PII_INTERNET___352 = 56,
    _SC_PII_OSI___352 = 57,
    _SC_POLL___352 = 58,
    _SC_SELECT___352 = 59,
    _SC_UIO_MAXIOV___352 = 60,
    _SC_IOV_MAX___352 = 60,
    _SC_PII_INTERNET_STREAM___352 = 61,
    _SC_PII_INTERNET_DGRAM___352 = 62,
    _SC_PII_OSI_COTS___352 = 63,
    _SC_PII_OSI_CLTS___352 = 64,
    _SC_PII_OSI_M___352 = 65,
    _SC_T_IOV_MAX___352 = 66,
    _SC_THREADS___352 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___352 = 68,
    _SC_GETGR_R_SIZE_MAX___352 = 69,
    _SC_GETPW_R_SIZE_MAX___352 = 70,
    _SC_LOGIN_NAME_MAX___352 = 71,
    _SC_TTY_NAME_MAX___352 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___352 = 73,
    _SC_THREAD_KEYS_MAX___352 = 74,
    _SC_THREAD_STACK_MIN___352 = 75,
    _SC_THREAD_THREADS_MAX___352 = 76,
    _SC_THREAD_ATTR_STACKADDR___352 = 77,
    _SC_THREAD_ATTR_STACKSIZE___352 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___352 = 79,
    _SC_THREAD_PRIO_INHERIT___352 = 80,
    _SC_THREAD_PRIO_PROTECT___352 = 81,
    _SC_THREAD_PROCESS_SHARED___352 = 82,
    _SC_NPROCESSORS_CONF___352 = 83,
    _SC_NPROCESSORS_ONLN___352 = 84,
    _SC_PHYS_PAGES___352 = 85,
    _SC_AVPHYS_PAGES___352 = 86,
    _SC_ATEXIT_MAX___352 = 87,
    _SC_PASS_MAX___352 = 88,
    _SC_XOPEN_VERSION___352 = 89,
    _SC_XOPEN_XCU_VERSION___352 = 90,
    _SC_XOPEN_UNIX___352 = 91,
    _SC_XOPEN_CRYPT___352 = 92,
    _SC_XOPEN_ENH_I18N___352 = 93,
    _SC_XOPEN_SHM___352 = 94,
    _SC_2_CHAR_TERM___352 = 95,
    _SC_2_C_VERSION___352 = 96,
    _SC_2_UPE___352 = 97,
    _SC_XOPEN_XPG2___352 = 98,
    _SC_XOPEN_XPG3___352 = 99,
    _SC_XOPEN_XPG4___352 = 100,
    _SC_CHAR_BIT___352 = 101,
    _SC_CHAR_MAX___352 = 102,
    _SC_CHAR_MIN___352 = 103,
    _SC_INT_MAX___352 = 104,
    _SC_INT_MIN___352 = 105,
    _SC_LONG_BIT___352 = 106,
    _SC_WORD_BIT___352 = 107,
    _SC_MB_LEN_MAX___352 = 108,
    _SC_NZERO___352 = 109,
    _SC_SSIZE_MAX___352 = 110,
    _SC_SCHAR_MAX___352 = 111,
    _SC_SCHAR_MIN___352 = 112,
    _SC_SHRT_MAX___352 = 113,
    _SC_SHRT_MIN___352 = 114,
    _SC_UCHAR_MAX___352 = 115,
    _SC_UINT_MAX___352 = 116,
    _SC_ULONG_MAX___352 = 117,
    _SC_USHRT_MAX___352 = 118,
    _SC_NL_ARGMAX___352 = 119,
    _SC_NL_LANGMAX___352 = 120,
    _SC_NL_MSGMAX___352 = 121,
    _SC_NL_NMAX___352 = 122,
    _SC_NL_SETMAX___352 = 123,
    _SC_NL_TEXTMAX___352 = 124,
    _SC_XBS5_ILP32_OFF32___352 = 125,
    _SC_XBS5_ILP32_OFFBIG___352 = 126,
    _SC_XBS5_LP64_OFF64___352 = 127,
    _SC_XBS5_LPBIG_OFFBIG___352 = 128,
    _SC_XOPEN_LEGACY___352 = 129,
    _SC_XOPEN_REALTIME___352 = 130,
    _SC_XOPEN_REALTIME_THREADS___352 = 131,
    _SC_ADVISORY_INFO___352 = 132,
    _SC_BARRIERS___352 = 133,
    _SC_BASE___352 = 134,
    _SC_C_LANG_SUPPORT___352 = 135,
    _SC_C_LANG_SUPPORT_R___352 = 136,
    _SC_CLOCK_SELECTION___352 = 137,
    _SC_CPUTIME___352 = 138,
    _SC_THREAD_CPUTIME___352 = 139,
    _SC_DEVICE_IO___352 = 140,
    _SC_DEVICE_SPECIFIC___352 = 141,
    _SC_DEVICE_SPECIFIC_R___352 = 142,
    _SC_FD_MGMT___352 = 143,
    _SC_FIFO___352 = 144,
    _SC_PIPE___352 = 145,
    _SC_FILE_ATTRIBUTES___352 = 146,
    _SC_FILE_LOCKING___352 = 147,
    _SC_FILE_SYSTEM___352 = 148,
    _SC_MONOTONIC_CLOCK___352 = 149,
    _SC_MULTI_PROCESS___352 = 150,
    _SC_SINGLE_PROCESS___352 = 151,
    _SC_NETWORKING___352 = 152,
    _SC_READER_WRITER_LOCKS___352 = 153,
    _SC_SPIN_LOCKS___352 = 154,
    _SC_REGEXP___352 = 155,
    _SC_REGEX_VERSION___352 = 156,
    _SC_SHELL___352 = 157,
    _SC_SIGNALS___352 = 158,
    _SC_SPAWN___352 = 159,
    _SC_SPORADIC_SERVER___352 = 160,
    _SC_THREAD_SPORADIC_SERVER___352 = 161,
    _SC_SYSTEM_DATABASE___352 = 162,
    _SC_SYSTEM_DATABASE_R___352 = 163,
    _SC_TIMEOUTS___352 = 164,
    _SC_TYPED_MEMORY_OBJECTS___352 = 165,
    _SC_USER_GROUPS___352 = 166,
    _SC_USER_GROUPS_R___352 = 167,
    _SC_2_PBS___352 = 168,
    _SC_2_PBS_ACCOUNTING___352 = 169,
    _SC_2_PBS_LOCATE___352 = 170,
    _SC_2_PBS_MESSAGE___352 = 171,
    _SC_2_PBS_TRACK___352 = 172,
    _SC_SYMLOOP_MAX___352 = 173,
    _SC_STREAMS___352 = 174,
    _SC_2_PBS_CHECKPOINT___352 = 175,
    _SC_V6_ILP32_OFF32___352 = 176,
    _SC_V6_ILP32_OFFBIG___352 = 177,
    _SC_V6_LP64_OFF64___352 = 178,
    _SC_V6_LPBIG_OFFBIG___352 = 179,
    _SC_HOST_NAME_MAX___352 = 180,
    _SC_TRACE___352 = 181,
    _SC_TRACE_EVENT_FILTER___352 = 182,
    _SC_TRACE_INHERIT___352 = 183,
    _SC_TRACE_LOG___352 = 184,
    _SC_LEVEL1_ICACHE_SIZE___352 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___352 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___352 = 187,
    _SC_LEVEL1_DCACHE_SIZE___352 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___352 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___352 = 190,
    _SC_LEVEL2_CACHE_SIZE___352 = 191,
    _SC_LEVEL2_CACHE_ASSOC___352 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___352 = 193,
    _SC_LEVEL3_CACHE_SIZE___352 = 194,
    _SC_LEVEL3_CACHE_ASSOC___352 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___352 = 196,
    _SC_LEVEL4_CACHE_SIZE___352 = 197,
    _SC_LEVEL4_CACHE_ASSOC___352 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___352 = 199,
    _SC_IPV6___352 = 235,
    _SC_RAW_SOCKETS___352 = 236,
    _SC_V7_ILP32_OFF32___352 = 237,
    _SC_V7_ILP32_OFFBIG___352 = 238,
    _SC_V7_LP64_OFF64___352 = 239,
    _SC_V7_LPBIG_OFFBIG___352 = 240,
    _SC_SS_REPL_MAX___352 = 241,
    _SC_TRACE_EVENT_NAME_MAX___352 = 242,
    _SC_TRACE_NAME_MAX___352 = 243,
    _SC_TRACE_SYS_MAX___352 = 244,
    _SC_TRACE_USER_EVENT_MAX___352 = 245,
    _SC_XOPEN_STREAMS___352 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___352 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___352 = 248
} ;
enum __anonenum_875524036___352 {
    _CS_PATH___352 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___352 = 1,
    _CS_GNU_LIBC_VERSION___352 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___352 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___352 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___352 = 5,
    _CS_LFS_CFLAGS___352 = 1000,
    _CS_LFS_LDFLAGS___352 = 1001,
    _CS_LFS_LIBS___352 = 1002,
    _CS_LFS_LINTFLAGS___352 = 1003,
    _CS_LFS64_CFLAGS___352 = 1004,
    _CS_LFS64_LDFLAGS___352 = 1005,
    _CS_LFS64_LIBS___352 = 1006,
    _CS_LFS64_LINTFLAGS___352 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___352 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___352 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___352 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___352 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___352 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___352 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___352 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___352 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___352 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___352 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___352 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___352 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___352 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___352 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___352 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___352 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___352 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___352 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___352 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___352 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___352 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___352 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___352 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___352 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___352 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___352 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___352 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___352 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___352 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___352 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___352 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___352 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___352 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___352 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___352 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___352 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___352 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___352 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___352 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___352 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___352 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___352 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___352 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___352 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___352 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___352 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___352 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___352 = 1147,
    _CS_V6_ENV___352 = 1148,
    _CS_V7_ENV___352 = 1149
} ;
enum __anonenum_513775621___352 {
    DT_UNKNOWN___352 = 0,
    DT_FIFO___352 = 1,
    DT_CHR___352 = 2,
    DT_DIR___352 = 4,
    DT_BLK___352 = 6,
    DT_REG___352 = 8,
    DT_LNK___352 = 10,
    DT_SOCK___352 = 12,
    DT_WHT___352 = 14
} ;
enum __anonenum_77002343___352 {
    SI_ASYNCNL___352 = -60,
    SI_TKILL___352 = -6,
    SI_SIGIO___352 = -5,
    SI_ASYNCIO___352 = -4,
    SI_MESGQ___352 = -3,
    SI_TIMER___352 = -2,
    SI_QUEUE___352 = -1,
    SI_USER___352 = 0,
    SI_KERNEL___352 = 128
} ;
enum __anonenum_131038172___352 {
    ILL_ILLOPC___352 = 1,
    ILL_ILLOPN___352 = 2,
    ILL_ILLADR___352 = 3,
    ILL_ILLTRP___352 = 4,
    ILL_PRVOPC___352 = 5,
    ILL_PRVREG___352 = 6,
    ILL_COPROC___352 = 7,
    ILL_BADSTK___352 = 8
} ;
enum __anonenum_452038093___352 {
    FPE_INTDIV___352 = 1,
    FPE_INTOVF___352 = 2,
    FPE_FLTDIV___352 = 3,
    FPE_FLTOVF___352 = 4,
    FPE_FLTUND___352 = 5,
    FPE_FLTRES___352 = 6,
    FPE_FLTINV___352 = 7,
    FPE_FLTSUB___352 = 8
} ;
enum __anonenum_30976155___352 {
    SEGV_MAPERR___352 = 1,
    SEGV_ACCERR___352 = 2,
    SEGV_BNDERR___352 = 3,
    SEGV_PKUERR___352 = 4
} ;
enum __anonenum_1036286214___352 {
    BUS_ADRALN___352 = 1,
    BUS_ADRERR___352 = 2,
    BUS_OBJERR___352 = 3,
    BUS_MCEERR_AR___352 = 4,
    BUS_MCEERR_AO___352 = 5
} ;
enum __anonenum_493465559___352 {
    TRAP_BRKPT___352 = 1,
    TRAP_TRACE___352 = 2
} ;
enum __anonenum_23175539___352 {
    CLD_EXITED___352 = 1,
    CLD_KILLED___352 = 2,
    CLD_DUMPED___352 = 3,
    CLD_TRAPPED___352 = 4,
    CLD_STOPPED___352 = 5,
    CLD_CONTINUED___352 = 6
} ;
enum __anonenum_111643124___352 {
    POLL_IN___352 = 1,
    POLL_OUT___352 = 2,
    POLL_MSG___352 = 3,
    POLL_ERR___352 = 4,
    POLL_PRI___352 = 5,
    POLL_HUP___352 = 6
} ;
enum __anonenum_852341087___352 {
    SIGEV_SIGNAL___352 = 0,
    SIGEV_NONE___352 = 1,
    SIGEV_THREAD___352 = 2,
    SIGEV_THREAD_ID___352 = 4
} ;
enum __anonenum_451154152___352 {
    REG_R8___352 = 0,
    REG_R9___352 = 1,
    REG_R10___352 = 2,
    REG_R11___352 = 3,
    REG_R12___352 = 4,
    REG_R13___352 = 5,
    REG_R14___352 = 6,
    REG_R15___352 = 7,
    REG_RDI___352 = 8,
    REG_RSI___352 = 9,
    REG_RBP___352 = 10,
    REG_RBX___352 = 11,
    REG_RDX___352 = 12,
    REG_RAX___352 = 13,
    REG_RCX___352 = 14,
    REG_RSP___352 = 15,
    REG_RIP___352 = 16,
    REG_EFL___352 = 17,
    REG_CSGSFS___352 = 18,
    REG_ERR___352 = 19,
    REG_TRAPNO___352 = 20,
    REG_OLDMASK___352 = 21,
    REG_CR2___352 = 22
} ;
enum __anonenum_57186863___352 {
    SS_ONSTACK___352 = 1,
    SS_DISABLE___352 = 2
} ;
enum __anonenum_83571709___352 {
    MSG_OOB___352 = 1,
    MSG_PEEK___352 = 2,
    MSG_DONTROUTE___352 = 4,
    MSG_TRYHARD___352 = 4,
    MSG_CTRUNC___352 = 8,
    MSG_PROXY___352 = 16,
    MSG_TRUNC___352 = 32,
    MSG_DONTWAIT___352 = 64,
    MSG_EOR___352 = 128,
    MSG_WAITALL___352 = 256,
    MSG_FIN___352 = 512,
    MSG_SYN___352 = 1024,
    MSG_CONFIRM___352 = 2048,
    MSG_RST___352 = 4096,
    MSG_ERRQUEUE___352 = 8192,
    MSG_NOSIGNAL___352 = 16384,
    MSG_MORE___352 = 32768,
    MSG_WAITFORONE___352 = 65536,
    MSG_BATCH___352 = 262144,
    MSG_ZEROCOPY___352 = 67108864,
    MSG_FASTOPEN___352 = 536870912,
    MSG_CMSG_CLOEXEC___352 = 1073741824
} ;
enum __anonenum_617082774___352 {
    SCM_RIGHTS___352 = 1,
    SCM_CREDENTIALS___352 = 2
} ;
enum __anonenum_606441560___352 {
    SHUT_RD___352 = 0,
    SHUT_WR___352 = 1,
    SHUT_RDWR___352 = 2
} ;
enum __anonenum_681669233___352 {
    IPPROTO_IP___352 = 0,
    IPPROTO_ICMP___352 = 1,
    IPPROTO_IGMP___352 = 2,
    IPPROTO_IPIP___352 = 4,
    IPPROTO_TCP___352 = 6,
    IPPROTO_EGP___352 = 8,
    IPPROTO_PUP___352 = 12,
    IPPROTO_UDP___352 = 17,
    IPPROTO_IDP___352 = 22,
    IPPROTO_TP___352 = 29,
    IPPROTO_DCCP___352 = 33,
    IPPROTO_IPV6___352 = 41,
    IPPROTO_RSVP___352 = 46,
    IPPROTO_GRE___352 = 47,
    IPPROTO_ESP___352 = 50,
    IPPROTO_AH___352 = 51,
    IPPROTO_MTP___352 = 92,
    IPPROTO_BEETPH___352 = 94,
    IPPROTO_ENCAP___352 = 98,
    IPPROTO_PIM___352 = 103,
    IPPROTO_COMP___352 = 108,
    IPPROTO_SCTP___352 = 132,
    IPPROTO_UDPLITE___352 = 136,
    IPPROTO_MPLS___352 = 137,
    IPPROTO_RAW___352 = 255,
    IPPROTO_MAX___352 = 256
} ;
enum __anonenum_218739988___352 {
    IPPROTO_HOPOPTS___352 = 0,
    IPPROTO_ROUTING___352 = 43,
    IPPROTO_FRAGMENT___352 = 44,
    IPPROTO_ICMPV6___352 = 58,
    IPPROTO_NONE___352 = 59,
    IPPROTO_DSTOPTS___352 = 60,
    IPPROTO_MH___352 = 135
} ;
enum __anonenum_662268580___352 {
    IPPORT_ECHO___352 = 7,
    IPPORT_DISCARD___352 = 9,
    IPPORT_SYSTAT___352 = 11,
    IPPORT_DAYTIME___352 = 13,
    IPPORT_NETSTAT___352 = 15,
    IPPORT_FTP___352 = 21,
    IPPORT_TELNET___352 = 23,
    IPPORT_SMTP___352 = 25,
    IPPORT_TIMESERVER___352 = 37,
    IPPORT_NAMESERVER___352 = 42,
    IPPORT_WHOIS___352 = 43,
    IPPORT_MTP___352 = 57,
    IPPORT_TFTP___352 = 69,
    IPPORT_RJE___352 = 77,
    IPPORT_FINGER___352 = 79,
    IPPORT_TTYLINK___352 = 87,
    IPPORT_SUPDUP___352 = 95,
    IPPORT_EXECSERVER___352 = 512,
    IPPORT_LOGINSERVER___352 = 513,
    IPPORT_CMDSERVER___352 = 514,
    IPPORT_EFSSERVER___352 = 520,
    IPPORT_BIFFUDP___352 = 512,
    IPPORT_WHOSERVER___352 = 513,
    IPPORT_ROUTESERVER___352 = 520,
    IPPORT_RESERVED___352 = 1024,
    IPPORT_USERRESERVED___352 = 5000
} ;
enum __anonenum_788308992___352 {
    TCP_ESTABLISHED___352 = 1,
    TCP_SYN_SENT___352 = 2,
    TCP_SYN_RECV___352 = 3,
    TCP_FIN_WAIT1___352 = 4,
    TCP_FIN_WAIT2___352 = 5,
    TCP_TIME_WAIT___352 = 6,
    TCP_CLOSE___352 = 7,
    TCP_CLOSE_WAIT___352 = 8,
    TCP_LAST_ACK___352 = 9,
    TCP_LISTEN___352 = 10,
    TCP_CLOSING___352 = 11
} ;
enum __anonenum_221125648___352 {
    TCP_NO_QUEUE___352 = 0,
    TCP_RECV_QUEUE___352 = 1,
    TCP_SEND_QUEUE___352 = 2,
    TCP_QUEUES_NR___352 = 3
} ;
enum __anonenum_34415463___352 {
    PTHREAD_CREATE_JOINABLE___352 = 0,
    PTHREAD_CREATE_DETACHED___352 = 1
} ;
enum __anonenum_303612439___352 {
    PTHREAD_MUTEX_TIMED_NP___352 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___352 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___352 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___352 = 3,
    PTHREAD_MUTEX_NORMAL___352 = 0,
    PTHREAD_MUTEX_RECURSIVE___352 = 1,
    PTHREAD_MUTEX_ERRORCHECK___352 = 2,
    PTHREAD_MUTEX_DEFAULT___352 = 0,
    PTHREAD_MUTEX_FAST_NP___352 = 0
} ;
enum __anonenum_931900394___352 {
    PTHREAD_MUTEX_STALLED___352 = 0,
    PTHREAD_MUTEX_STALLED_NP___352 = 0,
    PTHREAD_MUTEX_ROBUST___352 = 1,
    PTHREAD_MUTEX_ROBUST_NP___352 = 1
} ;
enum __anonenum_205214487___352 {
    PTHREAD_PRIO_NONE___352 = 0,
    PTHREAD_PRIO_INHERIT___352 = 1,
    PTHREAD_PRIO_PROTECT___352 = 2
} ;
enum __anonenum_25043950___352 {
    PTHREAD_RWLOCK_PREFER_READER_NP___352 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___352 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___352 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___352 = 0
} ;
enum __anonenum_436439511___352 {
    PTHREAD_INHERIT_SCHED___352 = 0,
    PTHREAD_EXPLICIT_SCHED___352 = 1
} ;
enum __anonenum_998661166___352 {
    PTHREAD_SCOPE_SYSTEM___352 = 0,
    PTHREAD_SCOPE_PROCESS___352 = 1
} ;
enum __anonenum_146137331___352 {
    PTHREAD_PROCESS_PRIVATE___352 = 0,
    PTHREAD_PROCESS_SHARED___352 = 1
} ;
enum __anonenum_53396917___352 {
    PTHREAD_CANCEL_ENABLE___352 = 0,
    PTHREAD_CANCEL_DISABLE___352 = 1
} ;
enum __anonenum_904563783___352 {
    PTHREAD_CANCEL_DEFERRED___352 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___352 = 1
} ;
enum __anonenum_672052974___352 {
    SSL_CT_VALIDATION_PERMISSIVE___352 = 0,
    SSL_CT_VALIDATION_STRICT___352 = 1
} ;
enum __anonenum_34023289___38 {
    REMOTE_UNCONFIGURED___38 = 0,
    REMOTE_CONFIG___38 = 1,
    REMOTE_REMOTES___38 = 2,
    REMOTE_BRANCHES___38 = 3
} ;
enum empty_type {
    EMPTY_UNSPECIFIED = -1,
    EMPTY_DROP = 0,
    EMPTY_KEEP = 1,
    EMPTY_ASK = 2
} ;
enum __anonenum_flags_10977374 {
    REBASE_NO_QUIET = 1,
    REBASE_VERBOSE = 2,
    REBASE_DIFFSTAT = 4,
    REBASE_FORCE = 8,
    REBASE_INTERACTIVE_EXPLICIT = 16
} ;
struct rebase_options {
   int type ;
   enum empty_type empty ;
   char const   *default_backend ;
   char const   *state_dir ;
   struct commit *upstream ;
   char const   *upstream_name ;
   char const   *upstream_arg ;
   char *head_name ;
   struct object_id orig_head ;
   struct commit *onto ;
   char const   *onto_name ;
   char const   *revisions ;
   char const   *switch_to ;
   int root ;
   int root_with_onto ;
   struct object_id *squash_onto ;
   struct commit *restrict_revision ;
   int dont_finish_rebase ;
   enum __anonenum_flags_10977374 flags ;
   struct strvec git_am_opts ;
   char const   *action ;
   int signoff ;
   int allow_rerere_autoupdate ;
   int keep_empty ;
   int autosquash ;
   char *gpg_sign_opt ;
   int autostash ;
   int committer_date_is_author_date ;
   int ignore_date ;
   char *cmd ;
   int allow_empty_message ;
   int rebase_merges ;
   int rebase_cousins ;
   char *strategy ;
   char *strategy_opts ;
   struct strbuf git_format_patch_opt ;
   int reschedule_failed_exec ;
   int reapply_cherry_picks ;
   int fork_point ;
};
enum action {
    ACTION_NONE = 0,
    ACTION_CONTINUE = 1,
    ACTION_SKIP = 2,
    ACTION_ABORT = 3,
    ACTION_QUIT = 4,
    ACTION_EDIT_TODO = 5,
    ACTION_SHOW_CURRENT_PATCH = 6
} ;
enum __anonenum_437032235___353 {
    _PC_LINK_MAX___353 = 0,
    _PC_MAX_CANON___353 = 1,
    _PC_MAX_INPUT___353 = 2,
    _PC_NAME_MAX___353 = 3,
    _PC_PATH_MAX___353 = 4,
    _PC_PIPE_BUF___353 = 5,
    _PC_CHOWN_RESTRICTED___353 = 6,
    _PC_NO_TRUNC___353 = 7,
    _PC_VDISABLE___353 = 8,
    _PC_SYNC_IO___353 = 9,
    _PC_ASYNC_IO___353 = 10,
    _PC_PRIO_IO___353 = 11,
    _PC_SOCK_MAXBUF___353 = 12,
    _PC_FILESIZEBITS___353 = 13,
    _PC_REC_INCR_XFER_SIZE___353 = 14,
    _PC_REC_MAX_XFER_SIZE___353 = 15,
    _PC_REC_MIN_XFER_SIZE___353 = 16,
    _PC_REC_XFER_ALIGN___353 = 17,
    _PC_ALLOC_SIZE_MIN___353 = 18,
    _PC_SYMLINK_MAX___353 = 19,
    _PC_2_SYMLINKS___353 = 20
} ;
enum __anonenum_315186338___353 {
    _SC_ARG_MAX___353 = 0,
    _SC_CHILD_MAX___353 = 1,
    _SC_CLK_TCK___353 = 2,
    _SC_NGROUPS_MAX___353 = 3,
    _SC_OPEN_MAX___353 = 4,
    _SC_STREAM_MAX___353 = 5,
    _SC_TZNAME_MAX___353 = 6,
    _SC_JOB_CONTROL___353 = 7,
    _SC_SAVED_IDS___353 = 8,
    _SC_REALTIME_SIGNALS___353 = 9,
    _SC_PRIORITY_SCHEDULING___353 = 10,
    _SC_TIMERS___353 = 11,
    _SC_ASYNCHRONOUS_IO___353 = 12,
    _SC_PRIORITIZED_IO___353 = 13,
    _SC_SYNCHRONIZED_IO___353 = 14,
    _SC_FSYNC___353 = 15,
    _SC_MAPPED_FILES___353 = 16,
    _SC_MEMLOCK___353 = 17,
    _SC_MEMLOCK_RANGE___353 = 18,
    _SC_MEMORY_PROTECTION___353 = 19,
    _SC_MESSAGE_PASSING___353 = 20,
    _SC_SEMAPHORES___353 = 21,
    _SC_SHARED_MEMORY_OBJECTS___353 = 22,
    _SC_AIO_LISTIO_MAX___353 = 23,
    _SC_AIO_MAX___353 = 24,
    _SC_AIO_PRIO_DELTA_MAX___353 = 25,
    _SC_DELAYTIMER_MAX___353 = 26,
    _SC_MQ_OPEN_MAX___353 = 27,
    _SC_MQ_PRIO_MAX___353 = 28,
    _SC_VERSION___353 = 29,
    _SC_PAGESIZE___353 = 30,
    _SC_RTSIG_MAX___353 = 31,
    _SC_SEM_NSEMS_MAX___353 = 32,
    _SC_SEM_VALUE_MAX___353 = 33,
    _SC_SIGQUEUE_MAX___353 = 34,
    _SC_TIMER_MAX___353 = 35,
    _SC_BC_BASE_MAX___353 = 36,
    _SC_BC_DIM_MAX___353 = 37,
    _SC_BC_SCALE_MAX___353 = 38,
    _SC_BC_STRING_MAX___353 = 39,
    _SC_COLL_WEIGHTS_MAX___353 = 40,
    _SC_EQUIV_CLASS_MAX___353 = 41,
    _SC_EXPR_NEST_MAX___353 = 42,
    _SC_LINE_MAX___353 = 43,
    _SC_RE_DUP_MAX___353 = 44,
    _SC_CHARCLASS_NAME_MAX___353 = 45,
    _SC_2_VERSION___353 = 46,
    _SC_2_C_BIND___353 = 47,
    _SC_2_C_DEV___353 = 48,
    _SC_2_FORT_DEV___353 = 49,
    _SC_2_FORT_RUN___353 = 50,
    _SC_2_SW_DEV___353 = 51,
    _SC_2_LOCALEDEF___353 = 52,
    _SC_PII___353 = 53,
    _SC_PII_XTI___353 = 54,
    _SC_PII_SOCKET___353 = 55,
    _SC_PII_INTERNET___353 = 56,
    _SC_PII_OSI___353 = 57,
    _SC_POLL___353 = 58,
    _SC_SELECT___353 = 59,
    _SC_UIO_MAXIOV___353 = 60,
    _SC_IOV_MAX___353 = 60,
    _SC_PII_INTERNET_STREAM___353 = 61,
    _SC_PII_INTERNET_DGRAM___353 = 62,
    _SC_PII_OSI_COTS___353 = 63,
    _SC_PII_OSI_CLTS___353 = 64,
    _SC_PII_OSI_M___353 = 65,
    _SC_T_IOV_MAX___353 = 66,
    _SC_THREADS___353 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___353 = 68,
    _SC_GETGR_R_SIZE_MAX___353 = 69,
    _SC_GETPW_R_SIZE_MAX___353 = 70,
    _SC_LOGIN_NAME_MAX___353 = 71,
    _SC_TTY_NAME_MAX___353 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___353 = 73,
    _SC_THREAD_KEYS_MAX___353 = 74,
    _SC_THREAD_STACK_MIN___353 = 75,
    _SC_THREAD_THREADS_MAX___353 = 76,
    _SC_THREAD_ATTR_STACKADDR___353 = 77,
    _SC_THREAD_ATTR_STACKSIZE___353 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___353 = 79,
    _SC_THREAD_PRIO_INHERIT___353 = 80,
    _SC_THREAD_PRIO_PROTECT___353 = 81,
    _SC_THREAD_PROCESS_SHARED___353 = 82,
    _SC_NPROCESSORS_CONF___353 = 83,
    _SC_NPROCESSORS_ONLN___353 = 84,
    _SC_PHYS_PAGES___353 = 85,
    _SC_AVPHYS_PAGES___353 = 86,
    _SC_ATEXIT_MAX___353 = 87,
    _SC_PASS_MAX___353 = 88,
    _SC_XOPEN_VERSION___353 = 89,
    _SC_XOPEN_XCU_VERSION___353 = 90,
    _SC_XOPEN_UNIX___353 = 91,
    _SC_XOPEN_CRYPT___353 = 92,
    _SC_XOPEN_ENH_I18N___353 = 93,
    _SC_XOPEN_SHM___353 = 94,
    _SC_2_CHAR_TERM___353 = 95,
    _SC_2_C_VERSION___353 = 96,
    _SC_2_UPE___353 = 97,
    _SC_XOPEN_XPG2___353 = 98,
    _SC_XOPEN_XPG3___353 = 99,
    _SC_XOPEN_XPG4___353 = 100,
    _SC_CHAR_BIT___353 = 101,
    _SC_CHAR_MAX___353 = 102,
    _SC_CHAR_MIN___353 = 103,
    _SC_INT_MAX___353 = 104,
    _SC_INT_MIN___353 = 105,
    _SC_LONG_BIT___353 = 106,
    _SC_WORD_BIT___353 = 107,
    _SC_MB_LEN_MAX___353 = 108,
    _SC_NZERO___353 = 109,
    _SC_SSIZE_MAX___353 = 110,
    _SC_SCHAR_MAX___353 = 111,
    _SC_SCHAR_MIN___353 = 112,
    _SC_SHRT_MAX___353 = 113,
    _SC_SHRT_MIN___353 = 114,
    _SC_UCHAR_MAX___353 = 115,
    _SC_UINT_MAX___353 = 116,
    _SC_ULONG_MAX___353 = 117,
    _SC_USHRT_MAX___353 = 118,
    _SC_NL_ARGMAX___353 = 119,
    _SC_NL_LANGMAX___353 = 120,
    _SC_NL_MSGMAX___353 = 121,
    _SC_NL_NMAX___353 = 122,
    _SC_NL_SETMAX___353 = 123,
    _SC_NL_TEXTMAX___353 = 124,
    _SC_XBS5_ILP32_OFF32___353 = 125,
    _SC_XBS5_ILP32_OFFBIG___353 = 126,
    _SC_XBS5_LP64_OFF64___353 = 127,
    _SC_XBS5_LPBIG_OFFBIG___353 = 128,
    _SC_XOPEN_LEGACY___353 = 129,
    _SC_XOPEN_REALTIME___353 = 130,
    _SC_XOPEN_REALTIME_THREADS___353 = 131,
    _SC_ADVISORY_INFO___353 = 132,
    _SC_BARRIERS___353 = 133,
    _SC_BASE___353 = 134,
    _SC_C_LANG_SUPPORT___353 = 135,
    _SC_C_LANG_SUPPORT_R___353 = 136,
    _SC_CLOCK_SELECTION___353 = 137,
    _SC_CPUTIME___353 = 138,
    _SC_THREAD_CPUTIME___353 = 139,
    _SC_DEVICE_IO___353 = 140,
    _SC_DEVICE_SPECIFIC___353 = 141,
    _SC_DEVICE_SPECIFIC_R___353 = 142,
    _SC_FD_MGMT___353 = 143,
    _SC_FIFO___353 = 144,
    _SC_PIPE___353 = 145,
    _SC_FILE_ATTRIBUTES___353 = 146,
    _SC_FILE_LOCKING___353 = 147,
    _SC_FILE_SYSTEM___353 = 148,
    _SC_MONOTONIC_CLOCK___353 = 149,
    _SC_MULTI_PROCESS___353 = 150,
    _SC_SINGLE_PROCESS___353 = 151,
    _SC_NETWORKING___353 = 152,
    _SC_READER_WRITER_LOCKS___353 = 153,
    _SC_SPIN_LOCKS___353 = 154,
    _SC_REGEXP___353 = 155,
    _SC_REGEX_VERSION___353 = 156,
    _SC_SHELL___353 = 157,
    _SC_SIGNALS___353 = 158,
    _SC_SPAWN___353 = 159,
    _SC_SPORADIC_SERVER___353 = 160,
    _SC_THREAD_SPORADIC_SERVER___353 = 161,
    _SC_SYSTEM_DATABASE___353 = 162,
    _SC_SYSTEM_DATABASE_R___353 = 163,
    _SC_TIMEOUTS___353 = 164,
    _SC_TYPED_MEMORY_OBJECTS___353 = 165,
    _SC_USER_GROUPS___353 = 166,
    _SC_USER_GROUPS_R___353 = 167,
    _SC_2_PBS___353 = 168,
    _SC_2_PBS_ACCOUNTING___353 = 169,
    _SC_2_PBS_LOCATE___353 = 170,
    _SC_2_PBS_MESSAGE___353 = 171,
    _SC_2_PBS_TRACK___353 = 172,
    _SC_SYMLOOP_MAX___353 = 173,
    _SC_STREAMS___353 = 174,
    _SC_2_PBS_CHECKPOINT___353 = 175,
    _SC_V6_ILP32_OFF32___353 = 176,
    _SC_V6_ILP32_OFFBIG___353 = 177,
    _SC_V6_LP64_OFF64___353 = 178,
    _SC_V6_LPBIG_OFFBIG___353 = 179,
    _SC_HOST_NAME_MAX___353 = 180,
    _SC_TRACE___353 = 181,
    _SC_TRACE_EVENT_FILTER___353 = 182,
    _SC_TRACE_INHERIT___353 = 183,
    _SC_TRACE_LOG___353 = 184,
    _SC_LEVEL1_ICACHE_SIZE___353 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___353 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___353 = 187,
    _SC_LEVEL1_DCACHE_SIZE___353 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___353 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___353 = 190,
    _SC_LEVEL2_CACHE_SIZE___353 = 191,
    _SC_LEVEL2_CACHE_ASSOC___353 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___353 = 193,
    _SC_LEVEL3_CACHE_SIZE___353 = 194,
    _SC_LEVEL3_CACHE_ASSOC___353 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___353 = 196,
    _SC_LEVEL4_CACHE_SIZE___353 = 197,
    _SC_LEVEL4_CACHE_ASSOC___353 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___353 = 199,
    _SC_IPV6___353 = 235,
    _SC_RAW_SOCKETS___353 = 236,
    _SC_V7_ILP32_OFF32___353 = 237,
    _SC_V7_ILP32_OFFBIG___353 = 238,
    _SC_V7_LP64_OFF64___353 = 239,
    _SC_V7_LPBIG_OFFBIG___353 = 240,
    _SC_SS_REPL_MAX___353 = 241,
    _SC_TRACE_EVENT_NAME_MAX___353 = 242,
    _SC_TRACE_NAME_MAX___353 = 243,
    _SC_TRACE_SYS_MAX___353 = 244,
    _SC_TRACE_USER_EVENT_MAX___353 = 245,
    _SC_XOPEN_STREAMS___353 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___353 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___353 = 248
} ;
enum __anonenum_875524036___353 {
    _CS_PATH___353 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___353 = 1,
    _CS_GNU_LIBC_VERSION___353 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___353 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___353 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___353 = 5,
    _CS_LFS_CFLAGS___353 = 1000,
    _CS_LFS_LDFLAGS___353 = 1001,
    _CS_LFS_LIBS___353 = 1002,
    _CS_LFS_LINTFLAGS___353 = 1003,
    _CS_LFS64_CFLAGS___353 = 1004,
    _CS_LFS64_LDFLAGS___353 = 1005,
    _CS_LFS64_LIBS___353 = 1006,
    _CS_LFS64_LINTFLAGS___353 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___353 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___353 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___353 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___353 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___353 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___353 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___353 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___353 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___353 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___353 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___353 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___353 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___353 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___353 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___353 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___353 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___353 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___353 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___353 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___353 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___353 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___353 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___353 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___353 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___353 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___353 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___353 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___353 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___353 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___353 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___353 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___353 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___353 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___353 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___353 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___353 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___353 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___353 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___353 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___353 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___353 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___353 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___353 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___353 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___353 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___353 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___353 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___353 = 1147,
    _CS_V6_ENV___353 = 1148,
    _CS_V7_ENV___353 = 1149
} ;
enum __anonenum_513775621___353 {
    DT_UNKNOWN___353 = 0,
    DT_FIFO___353 = 1,
    DT_CHR___353 = 2,
    DT_DIR___353 = 4,
    DT_BLK___353 = 6,
    DT_REG___353 = 8,
    DT_LNK___353 = 10,
    DT_SOCK___353 = 12,
    DT_WHT___353 = 14
} ;
enum __anonenum_77002343___353 {
    SI_ASYNCNL___353 = -60,
    SI_TKILL___353 = -6,
    SI_SIGIO___353 = -5,
    SI_ASYNCIO___353 = -4,
    SI_MESGQ___353 = -3,
    SI_TIMER___353 = -2,
    SI_QUEUE___353 = -1,
    SI_USER___353 = 0,
    SI_KERNEL___353 = 128
} ;
enum __anonenum_131038172___353 {
    ILL_ILLOPC___353 = 1,
    ILL_ILLOPN___353 = 2,
    ILL_ILLADR___353 = 3,
    ILL_ILLTRP___353 = 4,
    ILL_PRVOPC___353 = 5,
    ILL_PRVREG___353 = 6,
    ILL_COPROC___353 = 7,
    ILL_BADSTK___353 = 8
} ;
enum __anonenum_452038093___353 {
    FPE_INTDIV___353 = 1,
    FPE_INTOVF___353 = 2,
    FPE_FLTDIV___353 = 3,
    FPE_FLTOVF___353 = 4,
    FPE_FLTUND___353 = 5,
    FPE_FLTRES___353 = 6,
    FPE_FLTINV___353 = 7,
    FPE_FLTSUB___353 = 8
} ;
enum __anonenum_30976155___353 {
    SEGV_MAPERR___353 = 1,
    SEGV_ACCERR___353 = 2,
    SEGV_BNDERR___353 = 3,
    SEGV_PKUERR___353 = 4
} ;
enum __anonenum_1036286214___353 {
    BUS_ADRALN___353 = 1,
    BUS_ADRERR___353 = 2,
    BUS_OBJERR___353 = 3,
    BUS_MCEERR_AR___353 = 4,
    BUS_MCEERR_AO___353 = 5
} ;
enum __anonenum_493465559___353 {
    TRAP_BRKPT___353 = 1,
    TRAP_TRACE___353 = 2
} ;
enum __anonenum_23175539___353 {
    CLD_EXITED___353 = 1,
    CLD_KILLED___353 = 2,
    CLD_DUMPED___353 = 3,
    CLD_TRAPPED___353 = 4,
    CLD_STOPPED___353 = 5,
    CLD_CONTINUED___353 = 6
} ;
enum __anonenum_111643124___353 {
    POLL_IN___353 = 1,
    POLL_OUT___353 = 2,
    POLL_MSG___353 = 3,
    POLL_ERR___353 = 4,
    POLL_PRI___353 = 5,
    POLL_HUP___353 = 6
} ;
enum __anonenum_852341087___353 {
    SIGEV_SIGNAL___353 = 0,
    SIGEV_NONE___353 = 1,
    SIGEV_THREAD___353 = 2,
    SIGEV_THREAD_ID___353 = 4
} ;
enum __anonenum_451154152___353 {
    REG_R8___353 = 0,
    REG_R9___353 = 1,
    REG_R10___353 = 2,
    REG_R11___353 = 3,
    REG_R12___353 = 4,
    REG_R13___353 = 5,
    REG_R14___353 = 6,
    REG_R15___353 = 7,
    REG_RDI___353 = 8,
    REG_RSI___353 = 9,
    REG_RBP___353 = 10,
    REG_RBX___353 = 11,
    REG_RDX___353 = 12,
    REG_RAX___353 = 13,
    REG_RCX___353 = 14,
    REG_RSP___353 = 15,
    REG_RIP___353 = 16,
    REG_EFL___353 = 17,
    REG_CSGSFS___353 = 18,
    REG_ERR___353 = 19,
    REG_TRAPNO___353 = 20,
    REG_OLDMASK___353 = 21,
    REG_CR2___353 = 22
} ;
enum __anonenum_57186863___353 {
    SS_ONSTACK___353 = 1,
    SS_DISABLE___353 = 2
} ;
enum __anonenum_83571709___353 {
    MSG_OOB___353 = 1,
    MSG_PEEK___353 = 2,
    MSG_DONTROUTE___353 = 4,
    MSG_TRYHARD___353 = 4,
    MSG_CTRUNC___353 = 8,
    MSG_PROXY___353 = 16,
    MSG_TRUNC___353 = 32,
    MSG_DONTWAIT___353 = 64,
    MSG_EOR___353 = 128,
    MSG_WAITALL___353 = 256,
    MSG_FIN___353 = 512,
    MSG_SYN___353 = 1024,
    MSG_CONFIRM___353 = 2048,
    MSG_RST___353 = 4096,
    MSG_ERRQUEUE___353 = 8192,
    MSG_NOSIGNAL___353 = 16384,
    MSG_MORE___353 = 32768,
    MSG_WAITFORONE___353 = 65536,
    MSG_BATCH___353 = 262144,
    MSG_ZEROCOPY___353 = 67108864,
    MSG_FASTOPEN___353 = 536870912,
    MSG_CMSG_CLOEXEC___353 = 1073741824
} ;
enum __anonenum_617082774___353 {
    SCM_RIGHTS___353 = 1,
    SCM_CREDENTIALS___353 = 2
} ;
enum __anonenum_606441560___353 {
    SHUT_RD___353 = 0,
    SHUT_WR___353 = 1,
    SHUT_RDWR___353 = 2
} ;
enum __anonenum_681669233___353 {
    IPPROTO_IP___353 = 0,
    IPPROTO_ICMP___353 = 1,
    IPPROTO_IGMP___353 = 2,
    IPPROTO_IPIP___353 = 4,
    IPPROTO_TCP___353 = 6,
    IPPROTO_EGP___353 = 8,
    IPPROTO_PUP___353 = 12,
    IPPROTO_UDP___353 = 17,
    IPPROTO_IDP___353 = 22,
    IPPROTO_TP___353 = 29,
    IPPROTO_DCCP___353 = 33,
    IPPROTO_IPV6___353 = 41,
    IPPROTO_RSVP___353 = 46,
    IPPROTO_GRE___353 = 47,
    IPPROTO_ESP___353 = 50,
    IPPROTO_AH___353 = 51,
    IPPROTO_MTP___353 = 92,
    IPPROTO_BEETPH___353 = 94,
    IPPROTO_ENCAP___353 = 98,
    IPPROTO_PIM___353 = 103,
    IPPROTO_COMP___353 = 108,
    IPPROTO_SCTP___353 = 132,
    IPPROTO_UDPLITE___353 = 136,
    IPPROTO_MPLS___353 = 137,
    IPPROTO_RAW___353 = 255,
    IPPROTO_MAX___353 = 256
} ;
enum __anonenum_218739988___353 {
    IPPROTO_HOPOPTS___353 = 0,
    IPPROTO_ROUTING___353 = 43,
    IPPROTO_FRAGMENT___353 = 44,
    IPPROTO_ICMPV6___353 = 58,
    IPPROTO_NONE___353 = 59,
    IPPROTO_DSTOPTS___353 = 60,
    IPPROTO_MH___353 = 135
} ;
enum __anonenum_662268580___353 {
    IPPORT_ECHO___353 = 7,
    IPPORT_DISCARD___353 = 9,
    IPPORT_SYSTAT___353 = 11,
    IPPORT_DAYTIME___353 = 13,
    IPPORT_NETSTAT___353 = 15,
    IPPORT_FTP___353 = 21,
    IPPORT_TELNET___353 = 23,
    IPPORT_SMTP___353 = 25,
    IPPORT_TIMESERVER___353 = 37,
    IPPORT_NAMESERVER___353 = 42,
    IPPORT_WHOIS___353 = 43,
    IPPORT_MTP___353 = 57,
    IPPORT_TFTP___353 = 69,
    IPPORT_RJE___353 = 77,
    IPPORT_FINGER___353 = 79,
    IPPORT_TTYLINK___353 = 87,
    IPPORT_SUPDUP___353 = 95,
    IPPORT_EXECSERVER___353 = 512,
    IPPORT_LOGINSERVER___353 = 513,
    IPPORT_CMDSERVER___353 = 514,
    IPPORT_EFSSERVER___353 = 520,
    IPPORT_BIFFUDP___353 = 512,
    IPPORT_WHOSERVER___353 = 513,
    IPPORT_ROUTESERVER___353 = 520,
    IPPORT_RESERVED___353 = 1024,
    IPPORT_USERRESERVED___353 = 5000
} ;
enum __anonenum_788308992___353 {
    TCP_ESTABLISHED___353 = 1,
    TCP_SYN_SENT___353 = 2,
    TCP_SYN_RECV___353 = 3,
    TCP_FIN_WAIT1___353 = 4,
    TCP_FIN_WAIT2___353 = 5,
    TCP_TIME_WAIT___353 = 6,
    TCP_CLOSE___353 = 7,
    TCP_CLOSE_WAIT___353 = 8,
    TCP_LAST_ACK___353 = 9,
    TCP_LISTEN___353 = 10,
    TCP_CLOSING___353 = 11
} ;
enum __anonenum_221125648___353 {
    TCP_NO_QUEUE___353 = 0,
    TCP_RECV_QUEUE___353 = 1,
    TCP_SEND_QUEUE___353 = 2,
    TCP_QUEUES_NR___353 = 3
} ;
enum __anonenum_34415463___353 {
    PTHREAD_CREATE_JOINABLE___353 = 0,
    PTHREAD_CREATE_DETACHED___353 = 1
} ;
enum __anonenum_303612439___353 {
    PTHREAD_MUTEX_TIMED_NP___353 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___353 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___353 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___353 = 3,
    PTHREAD_MUTEX_NORMAL___353 = 0,
    PTHREAD_MUTEX_RECURSIVE___353 = 1,
    PTHREAD_MUTEX_ERRORCHECK___353 = 2,
    PTHREAD_MUTEX_DEFAULT___353 = 0,
    PTHREAD_MUTEX_FAST_NP___353 = 0
} ;
enum __anonenum_931900394___353 {
    PTHREAD_MUTEX_STALLED___353 = 0,
    PTHREAD_MUTEX_STALLED_NP___353 = 0,
    PTHREAD_MUTEX_ROBUST___353 = 1,
    PTHREAD_MUTEX_ROBUST_NP___353 = 1
} ;
enum __anonenum_205214487___353 {
    PTHREAD_PRIO_NONE___353 = 0,
    PTHREAD_PRIO_INHERIT___353 = 1,
    PTHREAD_PRIO_PROTECT___353 = 2
} ;
enum __anonenum_25043950___353 {
    PTHREAD_RWLOCK_PREFER_READER_NP___353 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___353 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___353 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___353 = 0
} ;
enum __anonenum_436439511___353 {
    PTHREAD_INHERIT_SCHED___353 = 0,
    PTHREAD_EXPLICIT_SCHED___353 = 1
} ;
enum __anonenum_998661166___353 {
    PTHREAD_SCOPE_SYSTEM___353 = 0,
    PTHREAD_SCOPE_PROCESS___353 = 1
} ;
enum __anonenum_146137331___353 {
    PTHREAD_PROCESS_PRIVATE___353 = 0,
    PTHREAD_PROCESS_SHARED___353 = 1
} ;
enum __anonenum_53396917___353 {
    PTHREAD_CANCEL_ENABLE___353 = 0,
    PTHREAD_CANCEL_DISABLE___353 = 1
} ;
enum __anonenum_904563783___353 {
    PTHREAD_CANCEL_DEFERRED___353 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___353 = 1
} ;
enum __anonenum_672052974___353 {
    SSL_CT_VALIDATION_PERMISSIVE___353 = 0,
    SSL_CT_VALIDATION_STRICT___353 = 1
} ;
enum __anonenum_34023289___39 {
    REMOTE_UNCONFIGURED___39 = 0,
    REMOTE_CONFIG___39 = 1,
    REMOTE_REMOTES___39 = 2,
    REMOTE_BRANCHES___39 = 3
} ;
enum deny_action {
    DENY_UNCONFIGURED = 0,
    DENY_IGNORE = 1,
    DENY_WARN = 2,
    DENY_REFUSE = 3,
    DENY_UPDATE_INSTEAD = 4
} ;
enum __anonenum_use_keepalive_966299638 {
    KEEPALIVE_NEVER = 0,
    KEEPALIVE_AFTER_NUL = 1,
    KEEPALIVE_ALWAYS = 2
} ;
struct proc_receive_ref {
   unsigned int want_add : 1 ;
   unsigned int want_delete : 1 ;
   unsigned int want_modify : 1 ;
   unsigned int negative_ref : 1 ;
   char *ref_prefix ;
   struct proc_receive_ref *next ;
};
struct command {
   struct command *next ;
   char const   *error_string ;
   struct ref_push_report *report ;
   unsigned int skip_update : 1 ;
   unsigned int did_not_exist : 1 ;
   unsigned int run_proc_receive : 2 ;
   int index ;
   struct object_id old_oid ;
   struct object_id new_oid ;
   char ref_name[] ;
};
struct receive_hook_feed_state {
   struct command *cmd ;
   struct ref_push_report *report ;
   int skip_broken ;
   struct strbuf buf ;
   struct string_list  const  *push_options ;
};
typedef int (*feed_fn)(void * , char const   ** , size_t * );
struct iterate_data {
   struct command *cmds ;
   struct shallow_info *si ;
};
enum __anonenum_437032235___354 {
    _PC_LINK_MAX___354 = 0,
    _PC_MAX_CANON___354 = 1,
    _PC_MAX_INPUT___354 = 2,
    _PC_NAME_MAX___354 = 3,
    _PC_PATH_MAX___354 = 4,
    _PC_PIPE_BUF___354 = 5,
    _PC_CHOWN_RESTRICTED___354 = 6,
    _PC_NO_TRUNC___354 = 7,
    _PC_VDISABLE___354 = 8,
    _PC_SYNC_IO___354 = 9,
    _PC_ASYNC_IO___354 = 10,
    _PC_PRIO_IO___354 = 11,
    _PC_SOCK_MAXBUF___354 = 12,
    _PC_FILESIZEBITS___354 = 13,
    _PC_REC_INCR_XFER_SIZE___354 = 14,
    _PC_REC_MAX_XFER_SIZE___354 = 15,
    _PC_REC_MIN_XFER_SIZE___354 = 16,
    _PC_REC_XFER_ALIGN___354 = 17,
    _PC_ALLOC_SIZE_MIN___354 = 18,
    _PC_SYMLINK_MAX___354 = 19,
    _PC_2_SYMLINKS___354 = 20
} ;
enum __anonenum_315186338___354 {
    _SC_ARG_MAX___354 = 0,
    _SC_CHILD_MAX___354 = 1,
    _SC_CLK_TCK___354 = 2,
    _SC_NGROUPS_MAX___354 = 3,
    _SC_OPEN_MAX___354 = 4,
    _SC_STREAM_MAX___354 = 5,
    _SC_TZNAME_MAX___354 = 6,
    _SC_JOB_CONTROL___354 = 7,
    _SC_SAVED_IDS___354 = 8,
    _SC_REALTIME_SIGNALS___354 = 9,
    _SC_PRIORITY_SCHEDULING___354 = 10,
    _SC_TIMERS___354 = 11,
    _SC_ASYNCHRONOUS_IO___354 = 12,
    _SC_PRIORITIZED_IO___354 = 13,
    _SC_SYNCHRONIZED_IO___354 = 14,
    _SC_FSYNC___354 = 15,
    _SC_MAPPED_FILES___354 = 16,
    _SC_MEMLOCK___354 = 17,
    _SC_MEMLOCK_RANGE___354 = 18,
    _SC_MEMORY_PROTECTION___354 = 19,
    _SC_MESSAGE_PASSING___354 = 20,
    _SC_SEMAPHORES___354 = 21,
    _SC_SHARED_MEMORY_OBJECTS___354 = 22,
    _SC_AIO_LISTIO_MAX___354 = 23,
    _SC_AIO_MAX___354 = 24,
    _SC_AIO_PRIO_DELTA_MAX___354 = 25,
    _SC_DELAYTIMER_MAX___354 = 26,
    _SC_MQ_OPEN_MAX___354 = 27,
    _SC_MQ_PRIO_MAX___354 = 28,
    _SC_VERSION___354 = 29,
    _SC_PAGESIZE___354 = 30,
    _SC_RTSIG_MAX___354 = 31,
    _SC_SEM_NSEMS_MAX___354 = 32,
    _SC_SEM_VALUE_MAX___354 = 33,
    _SC_SIGQUEUE_MAX___354 = 34,
    _SC_TIMER_MAX___354 = 35,
    _SC_BC_BASE_MAX___354 = 36,
    _SC_BC_DIM_MAX___354 = 37,
    _SC_BC_SCALE_MAX___354 = 38,
    _SC_BC_STRING_MAX___354 = 39,
    _SC_COLL_WEIGHTS_MAX___354 = 40,
    _SC_EQUIV_CLASS_MAX___354 = 41,
    _SC_EXPR_NEST_MAX___354 = 42,
    _SC_LINE_MAX___354 = 43,
    _SC_RE_DUP_MAX___354 = 44,
    _SC_CHARCLASS_NAME_MAX___354 = 45,
    _SC_2_VERSION___354 = 46,
    _SC_2_C_BIND___354 = 47,
    _SC_2_C_DEV___354 = 48,
    _SC_2_FORT_DEV___354 = 49,
    _SC_2_FORT_RUN___354 = 50,
    _SC_2_SW_DEV___354 = 51,
    _SC_2_LOCALEDEF___354 = 52,
    _SC_PII___354 = 53,
    _SC_PII_XTI___354 = 54,
    _SC_PII_SOCKET___354 = 55,
    _SC_PII_INTERNET___354 = 56,
    _SC_PII_OSI___354 = 57,
    _SC_POLL___354 = 58,
    _SC_SELECT___354 = 59,
    _SC_UIO_MAXIOV___354 = 60,
    _SC_IOV_MAX___354 = 60,
    _SC_PII_INTERNET_STREAM___354 = 61,
    _SC_PII_INTERNET_DGRAM___354 = 62,
    _SC_PII_OSI_COTS___354 = 63,
    _SC_PII_OSI_CLTS___354 = 64,
    _SC_PII_OSI_M___354 = 65,
    _SC_T_IOV_MAX___354 = 66,
    _SC_THREADS___354 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___354 = 68,
    _SC_GETGR_R_SIZE_MAX___354 = 69,
    _SC_GETPW_R_SIZE_MAX___354 = 70,
    _SC_LOGIN_NAME_MAX___354 = 71,
    _SC_TTY_NAME_MAX___354 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___354 = 73,
    _SC_THREAD_KEYS_MAX___354 = 74,
    _SC_THREAD_STACK_MIN___354 = 75,
    _SC_THREAD_THREADS_MAX___354 = 76,
    _SC_THREAD_ATTR_STACKADDR___354 = 77,
    _SC_THREAD_ATTR_STACKSIZE___354 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___354 = 79,
    _SC_THREAD_PRIO_INHERIT___354 = 80,
    _SC_THREAD_PRIO_PROTECT___354 = 81,
    _SC_THREAD_PROCESS_SHARED___354 = 82,
    _SC_NPROCESSORS_CONF___354 = 83,
    _SC_NPROCESSORS_ONLN___354 = 84,
    _SC_PHYS_PAGES___354 = 85,
    _SC_AVPHYS_PAGES___354 = 86,
    _SC_ATEXIT_MAX___354 = 87,
    _SC_PASS_MAX___354 = 88,
    _SC_XOPEN_VERSION___354 = 89,
    _SC_XOPEN_XCU_VERSION___354 = 90,
    _SC_XOPEN_UNIX___354 = 91,
    _SC_XOPEN_CRYPT___354 = 92,
    _SC_XOPEN_ENH_I18N___354 = 93,
    _SC_XOPEN_SHM___354 = 94,
    _SC_2_CHAR_TERM___354 = 95,
    _SC_2_C_VERSION___354 = 96,
    _SC_2_UPE___354 = 97,
    _SC_XOPEN_XPG2___354 = 98,
    _SC_XOPEN_XPG3___354 = 99,
    _SC_XOPEN_XPG4___354 = 100,
    _SC_CHAR_BIT___354 = 101,
    _SC_CHAR_MAX___354 = 102,
    _SC_CHAR_MIN___354 = 103,
    _SC_INT_MAX___354 = 104,
    _SC_INT_MIN___354 = 105,
    _SC_LONG_BIT___354 = 106,
    _SC_WORD_BIT___354 = 107,
    _SC_MB_LEN_MAX___354 = 108,
    _SC_NZERO___354 = 109,
    _SC_SSIZE_MAX___354 = 110,
    _SC_SCHAR_MAX___354 = 111,
    _SC_SCHAR_MIN___354 = 112,
    _SC_SHRT_MAX___354 = 113,
    _SC_SHRT_MIN___354 = 114,
    _SC_UCHAR_MAX___354 = 115,
    _SC_UINT_MAX___354 = 116,
    _SC_ULONG_MAX___354 = 117,
    _SC_USHRT_MAX___354 = 118,
    _SC_NL_ARGMAX___354 = 119,
    _SC_NL_LANGMAX___354 = 120,
    _SC_NL_MSGMAX___354 = 121,
    _SC_NL_NMAX___354 = 122,
    _SC_NL_SETMAX___354 = 123,
    _SC_NL_TEXTMAX___354 = 124,
    _SC_XBS5_ILP32_OFF32___354 = 125,
    _SC_XBS5_ILP32_OFFBIG___354 = 126,
    _SC_XBS5_LP64_OFF64___354 = 127,
    _SC_XBS5_LPBIG_OFFBIG___354 = 128,
    _SC_XOPEN_LEGACY___354 = 129,
    _SC_XOPEN_REALTIME___354 = 130,
    _SC_XOPEN_REALTIME_THREADS___354 = 131,
    _SC_ADVISORY_INFO___354 = 132,
    _SC_BARRIERS___354 = 133,
    _SC_BASE___354 = 134,
    _SC_C_LANG_SUPPORT___354 = 135,
    _SC_C_LANG_SUPPORT_R___354 = 136,
    _SC_CLOCK_SELECTION___354 = 137,
    _SC_CPUTIME___354 = 138,
    _SC_THREAD_CPUTIME___354 = 139,
    _SC_DEVICE_IO___354 = 140,
    _SC_DEVICE_SPECIFIC___354 = 141,
    _SC_DEVICE_SPECIFIC_R___354 = 142,
    _SC_FD_MGMT___354 = 143,
    _SC_FIFO___354 = 144,
    _SC_PIPE___354 = 145,
    _SC_FILE_ATTRIBUTES___354 = 146,
    _SC_FILE_LOCKING___354 = 147,
    _SC_FILE_SYSTEM___354 = 148,
    _SC_MONOTONIC_CLOCK___354 = 149,
    _SC_MULTI_PROCESS___354 = 150,
    _SC_SINGLE_PROCESS___354 = 151,
    _SC_NETWORKING___354 = 152,
    _SC_READER_WRITER_LOCKS___354 = 153,
    _SC_SPIN_LOCKS___354 = 154,
    _SC_REGEXP___354 = 155,
    _SC_REGEX_VERSION___354 = 156,
    _SC_SHELL___354 = 157,
    _SC_SIGNALS___354 = 158,
    _SC_SPAWN___354 = 159,
    _SC_SPORADIC_SERVER___354 = 160,
    _SC_THREAD_SPORADIC_SERVER___354 = 161,
    _SC_SYSTEM_DATABASE___354 = 162,
    _SC_SYSTEM_DATABASE_R___354 = 163,
    _SC_TIMEOUTS___354 = 164,
    _SC_TYPED_MEMORY_OBJECTS___354 = 165,
    _SC_USER_GROUPS___354 = 166,
    _SC_USER_GROUPS_R___354 = 167,
    _SC_2_PBS___354 = 168,
    _SC_2_PBS_ACCOUNTING___354 = 169,
    _SC_2_PBS_LOCATE___354 = 170,
    _SC_2_PBS_MESSAGE___354 = 171,
    _SC_2_PBS_TRACK___354 = 172,
    _SC_SYMLOOP_MAX___354 = 173,
    _SC_STREAMS___354 = 174,
    _SC_2_PBS_CHECKPOINT___354 = 175,
    _SC_V6_ILP32_OFF32___354 = 176,
    _SC_V6_ILP32_OFFBIG___354 = 177,
    _SC_V6_LP64_OFF64___354 = 178,
    _SC_V6_LPBIG_OFFBIG___354 = 179,
    _SC_HOST_NAME_MAX___354 = 180,
    _SC_TRACE___354 = 181,
    _SC_TRACE_EVENT_FILTER___354 = 182,
    _SC_TRACE_INHERIT___354 = 183,
    _SC_TRACE_LOG___354 = 184,
    _SC_LEVEL1_ICACHE_SIZE___354 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___354 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___354 = 187,
    _SC_LEVEL1_DCACHE_SIZE___354 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___354 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___354 = 190,
    _SC_LEVEL2_CACHE_SIZE___354 = 191,
    _SC_LEVEL2_CACHE_ASSOC___354 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___354 = 193,
    _SC_LEVEL3_CACHE_SIZE___354 = 194,
    _SC_LEVEL3_CACHE_ASSOC___354 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___354 = 196,
    _SC_LEVEL4_CACHE_SIZE___354 = 197,
    _SC_LEVEL4_CACHE_ASSOC___354 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___354 = 199,
    _SC_IPV6___354 = 235,
    _SC_RAW_SOCKETS___354 = 236,
    _SC_V7_ILP32_OFF32___354 = 237,
    _SC_V7_ILP32_OFFBIG___354 = 238,
    _SC_V7_LP64_OFF64___354 = 239,
    _SC_V7_LPBIG_OFFBIG___354 = 240,
    _SC_SS_REPL_MAX___354 = 241,
    _SC_TRACE_EVENT_NAME_MAX___354 = 242,
    _SC_TRACE_NAME_MAX___354 = 243,
    _SC_TRACE_SYS_MAX___354 = 244,
    _SC_TRACE_USER_EVENT_MAX___354 = 245,
    _SC_XOPEN_STREAMS___354 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___354 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___354 = 248
} ;
enum __anonenum_875524036___354 {
    _CS_PATH___354 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___354 = 1,
    _CS_GNU_LIBC_VERSION___354 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___354 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___354 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___354 = 5,
    _CS_LFS_CFLAGS___354 = 1000,
    _CS_LFS_LDFLAGS___354 = 1001,
    _CS_LFS_LIBS___354 = 1002,
    _CS_LFS_LINTFLAGS___354 = 1003,
    _CS_LFS64_CFLAGS___354 = 1004,
    _CS_LFS64_LDFLAGS___354 = 1005,
    _CS_LFS64_LIBS___354 = 1006,
    _CS_LFS64_LINTFLAGS___354 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___354 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___354 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___354 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___354 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___354 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___354 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___354 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___354 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___354 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___354 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___354 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___354 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___354 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___354 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___354 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___354 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___354 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___354 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___354 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___354 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___354 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___354 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___354 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___354 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___354 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___354 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___354 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___354 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___354 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___354 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___354 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___354 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___354 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___354 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___354 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___354 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___354 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___354 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___354 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___354 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___354 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___354 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___354 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___354 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___354 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___354 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___354 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___354 = 1147,
    _CS_V6_ENV___354 = 1148,
    _CS_V7_ENV___354 = 1149
} ;
enum __anonenum_513775621___354 {
    DT_UNKNOWN___354 = 0,
    DT_FIFO___354 = 1,
    DT_CHR___354 = 2,
    DT_DIR___354 = 4,
    DT_BLK___354 = 6,
    DT_REG___354 = 8,
    DT_LNK___354 = 10,
    DT_SOCK___354 = 12,
    DT_WHT___354 = 14
} ;
enum __anonenum_77002343___354 {
    SI_ASYNCNL___354 = -60,
    SI_TKILL___354 = -6,
    SI_SIGIO___354 = -5,
    SI_ASYNCIO___354 = -4,
    SI_MESGQ___354 = -3,
    SI_TIMER___354 = -2,
    SI_QUEUE___354 = -1,
    SI_USER___354 = 0,
    SI_KERNEL___354 = 128
} ;
enum __anonenum_131038172___354 {
    ILL_ILLOPC___354 = 1,
    ILL_ILLOPN___354 = 2,
    ILL_ILLADR___354 = 3,
    ILL_ILLTRP___354 = 4,
    ILL_PRVOPC___354 = 5,
    ILL_PRVREG___354 = 6,
    ILL_COPROC___354 = 7,
    ILL_BADSTK___354 = 8
} ;
enum __anonenum_452038093___354 {
    FPE_INTDIV___354 = 1,
    FPE_INTOVF___354 = 2,
    FPE_FLTDIV___354 = 3,
    FPE_FLTOVF___354 = 4,
    FPE_FLTUND___354 = 5,
    FPE_FLTRES___354 = 6,
    FPE_FLTINV___354 = 7,
    FPE_FLTSUB___354 = 8
} ;
enum __anonenum_30976155___354 {
    SEGV_MAPERR___354 = 1,
    SEGV_ACCERR___354 = 2,
    SEGV_BNDERR___354 = 3,
    SEGV_PKUERR___354 = 4
} ;
enum __anonenum_1036286214___354 {
    BUS_ADRALN___354 = 1,
    BUS_ADRERR___354 = 2,
    BUS_OBJERR___354 = 3,
    BUS_MCEERR_AR___354 = 4,
    BUS_MCEERR_AO___354 = 5
} ;
enum __anonenum_493465559___354 {
    TRAP_BRKPT___354 = 1,
    TRAP_TRACE___354 = 2
} ;
enum __anonenum_23175539___354 {
    CLD_EXITED___354 = 1,
    CLD_KILLED___354 = 2,
    CLD_DUMPED___354 = 3,
    CLD_TRAPPED___354 = 4,
    CLD_STOPPED___354 = 5,
    CLD_CONTINUED___354 = 6
} ;
enum __anonenum_111643124___354 {
    POLL_IN___354 = 1,
    POLL_OUT___354 = 2,
    POLL_MSG___354 = 3,
    POLL_ERR___354 = 4,
    POLL_PRI___354 = 5,
    POLL_HUP___354 = 6
} ;
enum __anonenum_852341087___354 {
    SIGEV_SIGNAL___354 = 0,
    SIGEV_NONE___354 = 1,
    SIGEV_THREAD___354 = 2,
    SIGEV_THREAD_ID___354 = 4
} ;
enum __anonenum_451154152___354 {
    REG_R8___354 = 0,
    REG_R9___354 = 1,
    REG_R10___354 = 2,
    REG_R11___354 = 3,
    REG_R12___354 = 4,
    REG_R13___354 = 5,
    REG_R14___354 = 6,
    REG_R15___354 = 7,
    REG_RDI___354 = 8,
    REG_RSI___354 = 9,
    REG_RBP___354 = 10,
    REG_RBX___354 = 11,
    REG_RDX___354 = 12,
    REG_RAX___354 = 13,
    REG_RCX___354 = 14,
    REG_RSP___354 = 15,
    REG_RIP___354 = 16,
    REG_EFL___354 = 17,
    REG_CSGSFS___354 = 18,
    REG_ERR___354 = 19,
    REG_TRAPNO___354 = 20,
    REG_OLDMASK___354 = 21,
    REG_CR2___354 = 22
} ;
enum __anonenum_57186863___354 {
    SS_ONSTACK___354 = 1,
    SS_DISABLE___354 = 2
} ;
enum __anonenum_83571709___354 {
    MSG_OOB___354 = 1,
    MSG_PEEK___354 = 2,
    MSG_DONTROUTE___354 = 4,
    MSG_TRYHARD___354 = 4,
    MSG_CTRUNC___354 = 8,
    MSG_PROXY___354 = 16,
    MSG_TRUNC___354 = 32,
    MSG_DONTWAIT___354 = 64,
    MSG_EOR___354 = 128,
    MSG_WAITALL___354 = 256,
    MSG_FIN___354 = 512,
    MSG_SYN___354 = 1024,
    MSG_CONFIRM___354 = 2048,
    MSG_RST___354 = 4096,
    MSG_ERRQUEUE___354 = 8192,
    MSG_NOSIGNAL___354 = 16384,
    MSG_MORE___354 = 32768,
    MSG_WAITFORONE___354 = 65536,
    MSG_BATCH___354 = 262144,
    MSG_ZEROCOPY___354 = 67108864,
    MSG_FASTOPEN___354 = 536870912,
    MSG_CMSG_CLOEXEC___354 = 1073741824
} ;
enum __anonenum_617082774___354 {
    SCM_RIGHTS___354 = 1,
    SCM_CREDENTIALS___354 = 2
} ;
enum __anonenum_606441560___354 {
    SHUT_RD___354 = 0,
    SHUT_WR___354 = 1,
    SHUT_RDWR___354 = 2
} ;
enum __anonenum_681669233___354 {
    IPPROTO_IP___354 = 0,
    IPPROTO_ICMP___354 = 1,
    IPPROTO_IGMP___354 = 2,
    IPPROTO_IPIP___354 = 4,
    IPPROTO_TCP___354 = 6,
    IPPROTO_EGP___354 = 8,
    IPPROTO_PUP___354 = 12,
    IPPROTO_UDP___354 = 17,
    IPPROTO_IDP___354 = 22,
    IPPROTO_TP___354 = 29,
    IPPROTO_DCCP___354 = 33,
    IPPROTO_IPV6___354 = 41,
    IPPROTO_RSVP___354 = 46,
    IPPROTO_GRE___354 = 47,
    IPPROTO_ESP___354 = 50,
    IPPROTO_AH___354 = 51,
    IPPROTO_MTP___354 = 92,
    IPPROTO_BEETPH___354 = 94,
    IPPROTO_ENCAP___354 = 98,
    IPPROTO_PIM___354 = 103,
    IPPROTO_COMP___354 = 108,
    IPPROTO_SCTP___354 = 132,
    IPPROTO_UDPLITE___354 = 136,
    IPPROTO_MPLS___354 = 137,
    IPPROTO_RAW___354 = 255,
    IPPROTO_MAX___354 = 256
} ;
enum __anonenum_218739988___354 {
    IPPROTO_HOPOPTS___354 = 0,
    IPPROTO_ROUTING___354 = 43,
    IPPROTO_FRAGMENT___354 = 44,
    IPPROTO_ICMPV6___354 = 58,
    IPPROTO_NONE___354 = 59,
    IPPROTO_DSTOPTS___354 = 60,
    IPPROTO_MH___354 = 135
} ;
enum __anonenum_662268580___354 {
    IPPORT_ECHO___354 = 7,
    IPPORT_DISCARD___354 = 9,
    IPPORT_SYSTAT___354 = 11,
    IPPORT_DAYTIME___354 = 13,
    IPPORT_NETSTAT___354 = 15,
    IPPORT_FTP___354 = 21,
    IPPORT_TELNET___354 = 23,
    IPPORT_SMTP___354 = 25,
    IPPORT_TIMESERVER___354 = 37,
    IPPORT_NAMESERVER___354 = 42,
    IPPORT_WHOIS___354 = 43,
    IPPORT_MTP___354 = 57,
    IPPORT_TFTP___354 = 69,
    IPPORT_RJE___354 = 77,
    IPPORT_FINGER___354 = 79,
    IPPORT_TTYLINK___354 = 87,
    IPPORT_SUPDUP___354 = 95,
    IPPORT_EXECSERVER___354 = 512,
    IPPORT_LOGINSERVER___354 = 513,
    IPPORT_CMDSERVER___354 = 514,
    IPPORT_EFSSERVER___354 = 520,
    IPPORT_BIFFUDP___354 = 512,
    IPPORT_WHOSERVER___354 = 513,
    IPPORT_ROUTESERVER___354 = 520,
    IPPORT_RESERVED___354 = 1024,
    IPPORT_USERRESERVED___354 = 5000
} ;
enum __anonenum_788308992___354 {
    TCP_ESTABLISHED___354 = 1,
    TCP_SYN_SENT___354 = 2,
    TCP_SYN_RECV___354 = 3,
    TCP_FIN_WAIT1___354 = 4,
    TCP_FIN_WAIT2___354 = 5,
    TCP_TIME_WAIT___354 = 6,
    TCP_CLOSE___354 = 7,
    TCP_CLOSE_WAIT___354 = 8,
    TCP_LAST_ACK___354 = 9,
    TCP_LISTEN___354 = 10,
    TCP_CLOSING___354 = 11
} ;
enum __anonenum_221125648___354 {
    TCP_NO_QUEUE___354 = 0,
    TCP_RECV_QUEUE___354 = 1,
    TCP_SEND_QUEUE___354 = 2,
    TCP_QUEUES_NR___354 = 3
} ;
enum __anonenum_34415463___354 {
    PTHREAD_CREATE_JOINABLE___354 = 0,
    PTHREAD_CREATE_DETACHED___354 = 1
} ;
enum __anonenum_303612439___354 {
    PTHREAD_MUTEX_TIMED_NP___354 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___354 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___354 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___354 = 3,
    PTHREAD_MUTEX_NORMAL___354 = 0,
    PTHREAD_MUTEX_RECURSIVE___354 = 1,
    PTHREAD_MUTEX_ERRORCHECK___354 = 2,
    PTHREAD_MUTEX_DEFAULT___354 = 0,
    PTHREAD_MUTEX_FAST_NP___354 = 0
} ;
enum __anonenum_931900394___354 {
    PTHREAD_MUTEX_STALLED___354 = 0,
    PTHREAD_MUTEX_STALLED_NP___354 = 0,
    PTHREAD_MUTEX_ROBUST___354 = 1,
    PTHREAD_MUTEX_ROBUST_NP___354 = 1
} ;
enum __anonenum_205214487___354 {
    PTHREAD_PRIO_NONE___354 = 0,
    PTHREAD_PRIO_INHERIT___354 = 1,
    PTHREAD_PRIO_PROTECT___354 = 2
} ;
enum __anonenum_25043950___354 {
    PTHREAD_RWLOCK_PREFER_READER_NP___354 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___354 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___354 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___354 = 0
} ;
enum __anonenum_436439511___354 {
    PTHREAD_INHERIT_SCHED___354 = 0,
    PTHREAD_EXPLICIT_SCHED___354 = 1
} ;
enum __anonenum_998661166___354 {
    PTHREAD_SCOPE_SYSTEM___354 = 0,
    PTHREAD_SCOPE_PROCESS___354 = 1
} ;
enum __anonenum_146137331___354 {
    PTHREAD_PROCESS_PRIVATE___354 = 0,
    PTHREAD_PROCESS_SHARED___354 = 1
} ;
enum __anonenum_53396917___354 {
    PTHREAD_CANCEL_ENABLE___354 = 0,
    PTHREAD_CANCEL_DISABLE___354 = 1
} ;
enum __anonenum_904563783___354 {
    PTHREAD_CANCEL_DEFERRED___354 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___354 = 1
} ;
enum __anonenum_672052974___354 {
    SSL_CT_VALIDATION_PERMISSIVE___354 = 0,
    SSL_CT_VALIDATION_STRICT___354 = 1
} ;
struct cmd_reflog_expire_cb {
   int stalefix ;
   timestamp_t expire_total ;
   timestamp_t expire_unreachable ;
   int recno ;
};
enum __anonenum_unreachable_expire_kind_773851274 {
    UE_NORMAL = 0,
    UE_ALWAYS = 1,
    UE_HEAD = 2
} ;
struct expire_reflog_policy_cb {
   enum __anonenum_unreachable_expire_kind_773851274 unreachable_expire_kind ;
   struct commit_list *mark_list ;
   unsigned long mark_limit ;
   struct cmd_reflog_expire_cb cmd ;
   struct commit *tip_commit ;
   struct commit_list *tips ;
   unsigned int dry_run : 1 ;
};
struct worktree_reflogs {
   struct worktree *worktree ;
   struct string_list reflogs ;
};
struct reflog_expire_cfg {
   struct reflog_expire_cfg *next ;
   timestamp_t expire_total ;
   timestamp_t expire_unreachable ;
   char pattern[] ;
};
enum __anonenum_437032235___355 {
    _PC_LINK_MAX___355 = 0,
    _PC_MAX_CANON___355 = 1,
    _PC_MAX_INPUT___355 = 2,
    _PC_NAME_MAX___355 = 3,
    _PC_PATH_MAX___355 = 4,
    _PC_PIPE_BUF___355 = 5,
    _PC_CHOWN_RESTRICTED___355 = 6,
    _PC_NO_TRUNC___355 = 7,
    _PC_VDISABLE___355 = 8,
    _PC_SYNC_IO___355 = 9,
    _PC_ASYNC_IO___355 = 10,
    _PC_PRIO_IO___355 = 11,
    _PC_SOCK_MAXBUF___355 = 12,
    _PC_FILESIZEBITS___355 = 13,
    _PC_REC_INCR_XFER_SIZE___355 = 14,
    _PC_REC_MAX_XFER_SIZE___355 = 15,
    _PC_REC_MIN_XFER_SIZE___355 = 16,
    _PC_REC_XFER_ALIGN___355 = 17,
    _PC_ALLOC_SIZE_MIN___355 = 18,
    _PC_SYMLINK_MAX___355 = 19,
    _PC_2_SYMLINKS___355 = 20
} ;
enum __anonenum_315186338___355 {
    _SC_ARG_MAX___355 = 0,
    _SC_CHILD_MAX___355 = 1,
    _SC_CLK_TCK___355 = 2,
    _SC_NGROUPS_MAX___355 = 3,
    _SC_OPEN_MAX___355 = 4,
    _SC_STREAM_MAX___355 = 5,
    _SC_TZNAME_MAX___355 = 6,
    _SC_JOB_CONTROL___355 = 7,
    _SC_SAVED_IDS___355 = 8,
    _SC_REALTIME_SIGNALS___355 = 9,
    _SC_PRIORITY_SCHEDULING___355 = 10,
    _SC_TIMERS___355 = 11,
    _SC_ASYNCHRONOUS_IO___355 = 12,
    _SC_PRIORITIZED_IO___355 = 13,
    _SC_SYNCHRONIZED_IO___355 = 14,
    _SC_FSYNC___355 = 15,
    _SC_MAPPED_FILES___355 = 16,
    _SC_MEMLOCK___355 = 17,
    _SC_MEMLOCK_RANGE___355 = 18,
    _SC_MEMORY_PROTECTION___355 = 19,
    _SC_MESSAGE_PASSING___355 = 20,
    _SC_SEMAPHORES___355 = 21,
    _SC_SHARED_MEMORY_OBJECTS___355 = 22,
    _SC_AIO_LISTIO_MAX___355 = 23,
    _SC_AIO_MAX___355 = 24,
    _SC_AIO_PRIO_DELTA_MAX___355 = 25,
    _SC_DELAYTIMER_MAX___355 = 26,
    _SC_MQ_OPEN_MAX___355 = 27,
    _SC_MQ_PRIO_MAX___355 = 28,
    _SC_VERSION___355 = 29,
    _SC_PAGESIZE___355 = 30,
    _SC_RTSIG_MAX___355 = 31,
    _SC_SEM_NSEMS_MAX___355 = 32,
    _SC_SEM_VALUE_MAX___355 = 33,
    _SC_SIGQUEUE_MAX___355 = 34,
    _SC_TIMER_MAX___355 = 35,
    _SC_BC_BASE_MAX___355 = 36,
    _SC_BC_DIM_MAX___355 = 37,
    _SC_BC_SCALE_MAX___355 = 38,
    _SC_BC_STRING_MAX___355 = 39,
    _SC_COLL_WEIGHTS_MAX___355 = 40,
    _SC_EQUIV_CLASS_MAX___355 = 41,
    _SC_EXPR_NEST_MAX___355 = 42,
    _SC_LINE_MAX___355 = 43,
    _SC_RE_DUP_MAX___355 = 44,
    _SC_CHARCLASS_NAME_MAX___355 = 45,
    _SC_2_VERSION___355 = 46,
    _SC_2_C_BIND___355 = 47,
    _SC_2_C_DEV___355 = 48,
    _SC_2_FORT_DEV___355 = 49,
    _SC_2_FORT_RUN___355 = 50,
    _SC_2_SW_DEV___355 = 51,
    _SC_2_LOCALEDEF___355 = 52,
    _SC_PII___355 = 53,
    _SC_PII_XTI___355 = 54,
    _SC_PII_SOCKET___355 = 55,
    _SC_PII_INTERNET___355 = 56,
    _SC_PII_OSI___355 = 57,
    _SC_POLL___355 = 58,
    _SC_SELECT___355 = 59,
    _SC_UIO_MAXIOV___355 = 60,
    _SC_IOV_MAX___355 = 60,
    _SC_PII_INTERNET_STREAM___355 = 61,
    _SC_PII_INTERNET_DGRAM___355 = 62,
    _SC_PII_OSI_COTS___355 = 63,
    _SC_PII_OSI_CLTS___355 = 64,
    _SC_PII_OSI_M___355 = 65,
    _SC_T_IOV_MAX___355 = 66,
    _SC_THREADS___355 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___355 = 68,
    _SC_GETGR_R_SIZE_MAX___355 = 69,
    _SC_GETPW_R_SIZE_MAX___355 = 70,
    _SC_LOGIN_NAME_MAX___355 = 71,
    _SC_TTY_NAME_MAX___355 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___355 = 73,
    _SC_THREAD_KEYS_MAX___355 = 74,
    _SC_THREAD_STACK_MIN___355 = 75,
    _SC_THREAD_THREADS_MAX___355 = 76,
    _SC_THREAD_ATTR_STACKADDR___355 = 77,
    _SC_THREAD_ATTR_STACKSIZE___355 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___355 = 79,
    _SC_THREAD_PRIO_INHERIT___355 = 80,
    _SC_THREAD_PRIO_PROTECT___355 = 81,
    _SC_THREAD_PROCESS_SHARED___355 = 82,
    _SC_NPROCESSORS_CONF___355 = 83,
    _SC_NPROCESSORS_ONLN___355 = 84,
    _SC_PHYS_PAGES___355 = 85,
    _SC_AVPHYS_PAGES___355 = 86,
    _SC_ATEXIT_MAX___355 = 87,
    _SC_PASS_MAX___355 = 88,
    _SC_XOPEN_VERSION___355 = 89,
    _SC_XOPEN_XCU_VERSION___355 = 90,
    _SC_XOPEN_UNIX___355 = 91,
    _SC_XOPEN_CRYPT___355 = 92,
    _SC_XOPEN_ENH_I18N___355 = 93,
    _SC_XOPEN_SHM___355 = 94,
    _SC_2_CHAR_TERM___355 = 95,
    _SC_2_C_VERSION___355 = 96,
    _SC_2_UPE___355 = 97,
    _SC_XOPEN_XPG2___355 = 98,
    _SC_XOPEN_XPG3___355 = 99,
    _SC_XOPEN_XPG4___355 = 100,
    _SC_CHAR_BIT___355 = 101,
    _SC_CHAR_MAX___355 = 102,
    _SC_CHAR_MIN___355 = 103,
    _SC_INT_MAX___355 = 104,
    _SC_INT_MIN___355 = 105,
    _SC_LONG_BIT___355 = 106,
    _SC_WORD_BIT___355 = 107,
    _SC_MB_LEN_MAX___355 = 108,
    _SC_NZERO___355 = 109,
    _SC_SSIZE_MAX___355 = 110,
    _SC_SCHAR_MAX___355 = 111,
    _SC_SCHAR_MIN___355 = 112,
    _SC_SHRT_MAX___355 = 113,
    _SC_SHRT_MIN___355 = 114,
    _SC_UCHAR_MAX___355 = 115,
    _SC_UINT_MAX___355 = 116,
    _SC_ULONG_MAX___355 = 117,
    _SC_USHRT_MAX___355 = 118,
    _SC_NL_ARGMAX___355 = 119,
    _SC_NL_LANGMAX___355 = 120,
    _SC_NL_MSGMAX___355 = 121,
    _SC_NL_NMAX___355 = 122,
    _SC_NL_SETMAX___355 = 123,
    _SC_NL_TEXTMAX___355 = 124,
    _SC_XBS5_ILP32_OFF32___355 = 125,
    _SC_XBS5_ILP32_OFFBIG___355 = 126,
    _SC_XBS5_LP64_OFF64___355 = 127,
    _SC_XBS5_LPBIG_OFFBIG___355 = 128,
    _SC_XOPEN_LEGACY___355 = 129,
    _SC_XOPEN_REALTIME___355 = 130,
    _SC_XOPEN_REALTIME_THREADS___355 = 131,
    _SC_ADVISORY_INFO___355 = 132,
    _SC_BARRIERS___355 = 133,
    _SC_BASE___355 = 134,
    _SC_C_LANG_SUPPORT___355 = 135,
    _SC_C_LANG_SUPPORT_R___355 = 136,
    _SC_CLOCK_SELECTION___355 = 137,
    _SC_CPUTIME___355 = 138,
    _SC_THREAD_CPUTIME___355 = 139,
    _SC_DEVICE_IO___355 = 140,
    _SC_DEVICE_SPECIFIC___355 = 141,
    _SC_DEVICE_SPECIFIC_R___355 = 142,
    _SC_FD_MGMT___355 = 143,
    _SC_FIFO___355 = 144,
    _SC_PIPE___355 = 145,
    _SC_FILE_ATTRIBUTES___355 = 146,
    _SC_FILE_LOCKING___355 = 147,
    _SC_FILE_SYSTEM___355 = 148,
    _SC_MONOTONIC_CLOCK___355 = 149,
    _SC_MULTI_PROCESS___355 = 150,
    _SC_SINGLE_PROCESS___355 = 151,
    _SC_NETWORKING___355 = 152,
    _SC_READER_WRITER_LOCKS___355 = 153,
    _SC_SPIN_LOCKS___355 = 154,
    _SC_REGEXP___355 = 155,
    _SC_REGEX_VERSION___355 = 156,
    _SC_SHELL___355 = 157,
    _SC_SIGNALS___355 = 158,
    _SC_SPAWN___355 = 159,
    _SC_SPORADIC_SERVER___355 = 160,
    _SC_THREAD_SPORADIC_SERVER___355 = 161,
    _SC_SYSTEM_DATABASE___355 = 162,
    _SC_SYSTEM_DATABASE_R___355 = 163,
    _SC_TIMEOUTS___355 = 164,
    _SC_TYPED_MEMORY_OBJECTS___355 = 165,
    _SC_USER_GROUPS___355 = 166,
    _SC_USER_GROUPS_R___355 = 167,
    _SC_2_PBS___355 = 168,
    _SC_2_PBS_ACCOUNTING___355 = 169,
    _SC_2_PBS_LOCATE___355 = 170,
    _SC_2_PBS_MESSAGE___355 = 171,
    _SC_2_PBS_TRACK___355 = 172,
    _SC_SYMLOOP_MAX___355 = 173,
    _SC_STREAMS___355 = 174,
    _SC_2_PBS_CHECKPOINT___355 = 175,
    _SC_V6_ILP32_OFF32___355 = 176,
    _SC_V6_ILP32_OFFBIG___355 = 177,
    _SC_V6_LP64_OFF64___355 = 178,
    _SC_V6_LPBIG_OFFBIG___355 = 179,
    _SC_HOST_NAME_MAX___355 = 180,
    _SC_TRACE___355 = 181,
    _SC_TRACE_EVENT_FILTER___355 = 182,
    _SC_TRACE_INHERIT___355 = 183,
    _SC_TRACE_LOG___355 = 184,
    _SC_LEVEL1_ICACHE_SIZE___355 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___355 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___355 = 187,
    _SC_LEVEL1_DCACHE_SIZE___355 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___355 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___355 = 190,
    _SC_LEVEL2_CACHE_SIZE___355 = 191,
    _SC_LEVEL2_CACHE_ASSOC___355 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___355 = 193,
    _SC_LEVEL3_CACHE_SIZE___355 = 194,
    _SC_LEVEL3_CACHE_ASSOC___355 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___355 = 196,
    _SC_LEVEL4_CACHE_SIZE___355 = 197,
    _SC_LEVEL4_CACHE_ASSOC___355 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___355 = 199,
    _SC_IPV6___355 = 235,
    _SC_RAW_SOCKETS___355 = 236,
    _SC_V7_ILP32_OFF32___355 = 237,
    _SC_V7_ILP32_OFFBIG___355 = 238,
    _SC_V7_LP64_OFF64___355 = 239,
    _SC_V7_LPBIG_OFFBIG___355 = 240,
    _SC_SS_REPL_MAX___355 = 241,
    _SC_TRACE_EVENT_NAME_MAX___355 = 242,
    _SC_TRACE_NAME_MAX___355 = 243,
    _SC_TRACE_SYS_MAX___355 = 244,
    _SC_TRACE_USER_EVENT_MAX___355 = 245,
    _SC_XOPEN_STREAMS___355 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___355 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___355 = 248
} ;
enum __anonenum_875524036___355 {
    _CS_PATH___355 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___355 = 1,
    _CS_GNU_LIBC_VERSION___355 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___355 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___355 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___355 = 5,
    _CS_LFS_CFLAGS___355 = 1000,
    _CS_LFS_LDFLAGS___355 = 1001,
    _CS_LFS_LIBS___355 = 1002,
    _CS_LFS_LINTFLAGS___355 = 1003,
    _CS_LFS64_CFLAGS___355 = 1004,
    _CS_LFS64_LDFLAGS___355 = 1005,
    _CS_LFS64_LIBS___355 = 1006,
    _CS_LFS64_LINTFLAGS___355 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___355 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___355 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___355 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___355 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___355 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___355 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___355 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___355 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___355 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___355 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___355 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___355 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___355 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___355 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___355 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___355 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___355 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___355 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___355 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___355 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___355 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___355 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___355 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___355 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___355 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___355 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___355 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___355 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___355 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___355 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___355 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___355 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___355 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___355 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___355 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___355 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___355 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___355 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___355 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___355 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___355 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___355 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___355 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___355 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___355 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___355 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___355 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___355 = 1147,
    _CS_V6_ENV___355 = 1148,
    _CS_V7_ENV___355 = 1149
} ;
enum __anonenum_513775621___355 {
    DT_UNKNOWN___355 = 0,
    DT_FIFO___355 = 1,
    DT_CHR___355 = 2,
    DT_DIR___355 = 4,
    DT_BLK___355 = 6,
    DT_REG___355 = 8,
    DT_LNK___355 = 10,
    DT_SOCK___355 = 12,
    DT_WHT___355 = 14
} ;
enum __anonenum_77002343___355 {
    SI_ASYNCNL___355 = -60,
    SI_TKILL___355 = -6,
    SI_SIGIO___355 = -5,
    SI_ASYNCIO___355 = -4,
    SI_MESGQ___355 = -3,
    SI_TIMER___355 = -2,
    SI_QUEUE___355 = -1,
    SI_USER___355 = 0,
    SI_KERNEL___355 = 128
} ;
enum __anonenum_131038172___355 {
    ILL_ILLOPC___355 = 1,
    ILL_ILLOPN___355 = 2,
    ILL_ILLADR___355 = 3,
    ILL_ILLTRP___355 = 4,
    ILL_PRVOPC___355 = 5,
    ILL_PRVREG___355 = 6,
    ILL_COPROC___355 = 7,
    ILL_BADSTK___355 = 8
} ;
enum __anonenum_452038093___355 {
    FPE_INTDIV___355 = 1,
    FPE_INTOVF___355 = 2,
    FPE_FLTDIV___355 = 3,
    FPE_FLTOVF___355 = 4,
    FPE_FLTUND___355 = 5,
    FPE_FLTRES___355 = 6,
    FPE_FLTINV___355 = 7,
    FPE_FLTSUB___355 = 8
} ;
enum __anonenum_30976155___355 {
    SEGV_MAPERR___355 = 1,
    SEGV_ACCERR___355 = 2,
    SEGV_BNDERR___355 = 3,
    SEGV_PKUERR___355 = 4
} ;
enum __anonenum_1036286214___355 {
    BUS_ADRALN___355 = 1,
    BUS_ADRERR___355 = 2,
    BUS_OBJERR___355 = 3,
    BUS_MCEERR_AR___355 = 4,
    BUS_MCEERR_AO___355 = 5
} ;
enum __anonenum_493465559___355 {
    TRAP_BRKPT___355 = 1,
    TRAP_TRACE___355 = 2
} ;
enum __anonenum_23175539___355 {
    CLD_EXITED___355 = 1,
    CLD_KILLED___355 = 2,
    CLD_DUMPED___355 = 3,
    CLD_TRAPPED___355 = 4,
    CLD_STOPPED___355 = 5,
    CLD_CONTINUED___355 = 6
} ;
enum __anonenum_111643124___355 {
    POLL_IN___355 = 1,
    POLL_OUT___355 = 2,
    POLL_MSG___355 = 3,
    POLL_ERR___355 = 4,
    POLL_PRI___355 = 5,
    POLL_HUP___355 = 6
} ;
enum __anonenum_852341087___355 {
    SIGEV_SIGNAL___355 = 0,
    SIGEV_NONE___355 = 1,
    SIGEV_THREAD___355 = 2,
    SIGEV_THREAD_ID___355 = 4
} ;
enum __anonenum_451154152___355 {
    REG_R8___355 = 0,
    REG_R9___355 = 1,
    REG_R10___355 = 2,
    REG_R11___355 = 3,
    REG_R12___355 = 4,
    REG_R13___355 = 5,
    REG_R14___355 = 6,
    REG_R15___355 = 7,
    REG_RDI___355 = 8,
    REG_RSI___355 = 9,
    REG_RBP___355 = 10,
    REG_RBX___355 = 11,
    REG_RDX___355 = 12,
    REG_RAX___355 = 13,
    REG_RCX___355 = 14,
    REG_RSP___355 = 15,
    REG_RIP___355 = 16,
    REG_EFL___355 = 17,
    REG_CSGSFS___355 = 18,
    REG_ERR___355 = 19,
    REG_TRAPNO___355 = 20,
    REG_OLDMASK___355 = 21,
    REG_CR2___355 = 22
} ;
enum __anonenum_57186863___355 {
    SS_ONSTACK___355 = 1,
    SS_DISABLE___355 = 2
} ;
enum __anonenum_83571709___355 {
    MSG_OOB___355 = 1,
    MSG_PEEK___355 = 2,
    MSG_DONTROUTE___355 = 4,
    MSG_TRYHARD___355 = 4,
    MSG_CTRUNC___355 = 8,
    MSG_PROXY___355 = 16,
    MSG_TRUNC___355 = 32,
    MSG_DONTWAIT___355 = 64,
    MSG_EOR___355 = 128,
    MSG_WAITALL___355 = 256,
    MSG_FIN___355 = 512,
    MSG_SYN___355 = 1024,
    MSG_CONFIRM___355 = 2048,
    MSG_RST___355 = 4096,
    MSG_ERRQUEUE___355 = 8192,
    MSG_NOSIGNAL___355 = 16384,
    MSG_MORE___355 = 32768,
    MSG_WAITFORONE___355 = 65536,
    MSG_BATCH___355 = 262144,
    MSG_ZEROCOPY___355 = 67108864,
    MSG_FASTOPEN___355 = 536870912,
    MSG_CMSG_CLOEXEC___355 = 1073741824
} ;
enum __anonenum_617082774___355 {
    SCM_RIGHTS___355 = 1,
    SCM_CREDENTIALS___355 = 2
} ;
enum __anonenum_606441560___355 {
    SHUT_RD___355 = 0,
    SHUT_WR___355 = 1,
    SHUT_RDWR___355 = 2
} ;
enum __anonenum_681669233___355 {
    IPPROTO_IP___355 = 0,
    IPPROTO_ICMP___355 = 1,
    IPPROTO_IGMP___355 = 2,
    IPPROTO_IPIP___355 = 4,
    IPPROTO_TCP___355 = 6,
    IPPROTO_EGP___355 = 8,
    IPPROTO_PUP___355 = 12,
    IPPROTO_UDP___355 = 17,
    IPPROTO_IDP___355 = 22,
    IPPROTO_TP___355 = 29,
    IPPROTO_DCCP___355 = 33,
    IPPROTO_IPV6___355 = 41,
    IPPROTO_RSVP___355 = 46,
    IPPROTO_GRE___355 = 47,
    IPPROTO_ESP___355 = 50,
    IPPROTO_AH___355 = 51,
    IPPROTO_MTP___355 = 92,
    IPPROTO_BEETPH___355 = 94,
    IPPROTO_ENCAP___355 = 98,
    IPPROTO_PIM___355 = 103,
    IPPROTO_COMP___355 = 108,
    IPPROTO_SCTP___355 = 132,
    IPPROTO_UDPLITE___355 = 136,
    IPPROTO_MPLS___355 = 137,
    IPPROTO_RAW___355 = 255,
    IPPROTO_MAX___355 = 256
} ;
enum __anonenum_218739988___355 {
    IPPROTO_HOPOPTS___355 = 0,
    IPPROTO_ROUTING___355 = 43,
    IPPROTO_FRAGMENT___355 = 44,
    IPPROTO_ICMPV6___355 = 58,
    IPPROTO_NONE___355 = 59,
    IPPROTO_DSTOPTS___355 = 60,
    IPPROTO_MH___355 = 135
} ;
enum __anonenum_662268580___355 {
    IPPORT_ECHO___355 = 7,
    IPPORT_DISCARD___355 = 9,
    IPPORT_SYSTAT___355 = 11,
    IPPORT_DAYTIME___355 = 13,
    IPPORT_NETSTAT___355 = 15,
    IPPORT_FTP___355 = 21,
    IPPORT_TELNET___355 = 23,
    IPPORT_SMTP___355 = 25,
    IPPORT_TIMESERVER___355 = 37,
    IPPORT_NAMESERVER___355 = 42,
    IPPORT_WHOIS___355 = 43,
    IPPORT_MTP___355 = 57,
    IPPORT_TFTP___355 = 69,
    IPPORT_RJE___355 = 77,
    IPPORT_FINGER___355 = 79,
    IPPORT_TTYLINK___355 = 87,
    IPPORT_SUPDUP___355 = 95,
    IPPORT_EXECSERVER___355 = 512,
    IPPORT_LOGINSERVER___355 = 513,
    IPPORT_CMDSERVER___355 = 514,
    IPPORT_EFSSERVER___355 = 520,
    IPPORT_BIFFUDP___355 = 512,
    IPPORT_WHOSERVER___355 = 513,
    IPPORT_ROUTESERVER___355 = 520,
    IPPORT_RESERVED___355 = 1024,
    IPPORT_USERRESERVED___355 = 5000
} ;
enum __anonenum_788308992___355 {
    TCP_ESTABLISHED___355 = 1,
    TCP_SYN_SENT___355 = 2,
    TCP_SYN_RECV___355 = 3,
    TCP_FIN_WAIT1___355 = 4,
    TCP_FIN_WAIT2___355 = 5,
    TCP_TIME_WAIT___355 = 6,
    TCP_CLOSE___355 = 7,
    TCP_CLOSE_WAIT___355 = 8,
    TCP_LAST_ACK___355 = 9,
    TCP_LISTEN___355 = 10,
    TCP_CLOSING___355 = 11
} ;
enum __anonenum_221125648___355 {
    TCP_NO_QUEUE___355 = 0,
    TCP_RECV_QUEUE___355 = 1,
    TCP_SEND_QUEUE___355 = 2,
    TCP_QUEUES_NR___355 = 3
} ;
enum __anonenum_34415463___355 {
    PTHREAD_CREATE_JOINABLE___355 = 0,
    PTHREAD_CREATE_DETACHED___355 = 1
} ;
enum __anonenum_303612439___355 {
    PTHREAD_MUTEX_TIMED_NP___355 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___355 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___355 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___355 = 3,
    PTHREAD_MUTEX_NORMAL___355 = 0,
    PTHREAD_MUTEX_RECURSIVE___355 = 1,
    PTHREAD_MUTEX_ERRORCHECK___355 = 2,
    PTHREAD_MUTEX_DEFAULT___355 = 0,
    PTHREAD_MUTEX_FAST_NP___355 = 0
} ;
enum __anonenum_931900394___355 {
    PTHREAD_MUTEX_STALLED___355 = 0,
    PTHREAD_MUTEX_STALLED_NP___355 = 0,
    PTHREAD_MUTEX_ROBUST___355 = 1,
    PTHREAD_MUTEX_ROBUST_NP___355 = 1
} ;
enum __anonenum_205214487___355 {
    PTHREAD_PRIO_NONE___355 = 0,
    PTHREAD_PRIO_INHERIT___355 = 1,
    PTHREAD_PRIO_PROTECT___355 = 2
} ;
enum __anonenum_25043950___355 {
    PTHREAD_RWLOCK_PREFER_READER_NP___355 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___355 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___355 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___355 = 0
} ;
enum __anonenum_436439511___355 {
    PTHREAD_INHERIT_SCHED___355 = 0,
    PTHREAD_EXPLICIT_SCHED___355 = 1
} ;
enum __anonenum_998661166___355 {
    PTHREAD_SCOPE_SYSTEM___355 = 0,
    PTHREAD_SCOPE_PROCESS___355 = 1
} ;
enum __anonenum_146137331___355 {
    PTHREAD_PROCESS_PRIVATE___355 = 0,
    PTHREAD_PROCESS_SHARED___355 = 1
} ;
enum __anonenum_53396917___355 {
    PTHREAD_CANCEL_ENABLE___355 = 0,
    PTHREAD_CANCEL_DISABLE___355 = 1
} ;
enum __anonenum_904563783___355 {
    PTHREAD_CANCEL_DEFERRED___355 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___355 = 1
} ;
enum __anonenum_672052974___355 {
    SSL_CT_VALIDATION_PERMISSIVE___355 = 0,
    SSL_CT_VALIDATION_STRICT___355 = 1
} ;
enum __anonenum_34023289___40 {
    REMOTE_UNCONFIGURED___40 = 0,
    REMOTE_CONFIG___40 = 1,
    REMOTE_REMOTES___40 = 2,
    REMOTE_BRANCHES___40 = 3
} ;
enum __anonenum_437032235___356 {
    _PC_LINK_MAX___356 = 0,
    _PC_MAX_CANON___356 = 1,
    _PC_MAX_INPUT___356 = 2,
    _PC_NAME_MAX___356 = 3,
    _PC_PATH_MAX___356 = 4,
    _PC_PIPE_BUF___356 = 5,
    _PC_CHOWN_RESTRICTED___356 = 6,
    _PC_NO_TRUNC___356 = 7,
    _PC_VDISABLE___356 = 8,
    _PC_SYNC_IO___356 = 9,
    _PC_ASYNC_IO___356 = 10,
    _PC_PRIO_IO___356 = 11,
    _PC_SOCK_MAXBUF___356 = 12,
    _PC_FILESIZEBITS___356 = 13,
    _PC_REC_INCR_XFER_SIZE___356 = 14,
    _PC_REC_MAX_XFER_SIZE___356 = 15,
    _PC_REC_MIN_XFER_SIZE___356 = 16,
    _PC_REC_XFER_ALIGN___356 = 17,
    _PC_ALLOC_SIZE_MIN___356 = 18,
    _PC_SYMLINK_MAX___356 = 19,
    _PC_2_SYMLINKS___356 = 20
} ;
enum __anonenum_315186338___356 {
    _SC_ARG_MAX___356 = 0,
    _SC_CHILD_MAX___356 = 1,
    _SC_CLK_TCK___356 = 2,
    _SC_NGROUPS_MAX___356 = 3,
    _SC_OPEN_MAX___356 = 4,
    _SC_STREAM_MAX___356 = 5,
    _SC_TZNAME_MAX___356 = 6,
    _SC_JOB_CONTROL___356 = 7,
    _SC_SAVED_IDS___356 = 8,
    _SC_REALTIME_SIGNALS___356 = 9,
    _SC_PRIORITY_SCHEDULING___356 = 10,
    _SC_TIMERS___356 = 11,
    _SC_ASYNCHRONOUS_IO___356 = 12,
    _SC_PRIORITIZED_IO___356 = 13,
    _SC_SYNCHRONIZED_IO___356 = 14,
    _SC_FSYNC___356 = 15,
    _SC_MAPPED_FILES___356 = 16,
    _SC_MEMLOCK___356 = 17,
    _SC_MEMLOCK_RANGE___356 = 18,
    _SC_MEMORY_PROTECTION___356 = 19,
    _SC_MESSAGE_PASSING___356 = 20,
    _SC_SEMAPHORES___356 = 21,
    _SC_SHARED_MEMORY_OBJECTS___356 = 22,
    _SC_AIO_LISTIO_MAX___356 = 23,
    _SC_AIO_MAX___356 = 24,
    _SC_AIO_PRIO_DELTA_MAX___356 = 25,
    _SC_DELAYTIMER_MAX___356 = 26,
    _SC_MQ_OPEN_MAX___356 = 27,
    _SC_MQ_PRIO_MAX___356 = 28,
    _SC_VERSION___356 = 29,
    _SC_PAGESIZE___356 = 30,
    _SC_RTSIG_MAX___356 = 31,
    _SC_SEM_NSEMS_MAX___356 = 32,
    _SC_SEM_VALUE_MAX___356 = 33,
    _SC_SIGQUEUE_MAX___356 = 34,
    _SC_TIMER_MAX___356 = 35,
    _SC_BC_BASE_MAX___356 = 36,
    _SC_BC_DIM_MAX___356 = 37,
    _SC_BC_SCALE_MAX___356 = 38,
    _SC_BC_STRING_MAX___356 = 39,
    _SC_COLL_WEIGHTS_MAX___356 = 40,
    _SC_EQUIV_CLASS_MAX___356 = 41,
    _SC_EXPR_NEST_MAX___356 = 42,
    _SC_LINE_MAX___356 = 43,
    _SC_RE_DUP_MAX___356 = 44,
    _SC_CHARCLASS_NAME_MAX___356 = 45,
    _SC_2_VERSION___356 = 46,
    _SC_2_C_BIND___356 = 47,
    _SC_2_C_DEV___356 = 48,
    _SC_2_FORT_DEV___356 = 49,
    _SC_2_FORT_RUN___356 = 50,
    _SC_2_SW_DEV___356 = 51,
    _SC_2_LOCALEDEF___356 = 52,
    _SC_PII___356 = 53,
    _SC_PII_XTI___356 = 54,
    _SC_PII_SOCKET___356 = 55,
    _SC_PII_INTERNET___356 = 56,
    _SC_PII_OSI___356 = 57,
    _SC_POLL___356 = 58,
    _SC_SELECT___356 = 59,
    _SC_UIO_MAXIOV___356 = 60,
    _SC_IOV_MAX___356 = 60,
    _SC_PII_INTERNET_STREAM___356 = 61,
    _SC_PII_INTERNET_DGRAM___356 = 62,
    _SC_PII_OSI_COTS___356 = 63,
    _SC_PII_OSI_CLTS___356 = 64,
    _SC_PII_OSI_M___356 = 65,
    _SC_T_IOV_MAX___356 = 66,
    _SC_THREADS___356 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___356 = 68,
    _SC_GETGR_R_SIZE_MAX___356 = 69,
    _SC_GETPW_R_SIZE_MAX___356 = 70,
    _SC_LOGIN_NAME_MAX___356 = 71,
    _SC_TTY_NAME_MAX___356 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___356 = 73,
    _SC_THREAD_KEYS_MAX___356 = 74,
    _SC_THREAD_STACK_MIN___356 = 75,
    _SC_THREAD_THREADS_MAX___356 = 76,
    _SC_THREAD_ATTR_STACKADDR___356 = 77,
    _SC_THREAD_ATTR_STACKSIZE___356 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___356 = 79,
    _SC_THREAD_PRIO_INHERIT___356 = 80,
    _SC_THREAD_PRIO_PROTECT___356 = 81,
    _SC_THREAD_PROCESS_SHARED___356 = 82,
    _SC_NPROCESSORS_CONF___356 = 83,
    _SC_NPROCESSORS_ONLN___356 = 84,
    _SC_PHYS_PAGES___356 = 85,
    _SC_AVPHYS_PAGES___356 = 86,
    _SC_ATEXIT_MAX___356 = 87,
    _SC_PASS_MAX___356 = 88,
    _SC_XOPEN_VERSION___356 = 89,
    _SC_XOPEN_XCU_VERSION___356 = 90,
    _SC_XOPEN_UNIX___356 = 91,
    _SC_XOPEN_CRYPT___356 = 92,
    _SC_XOPEN_ENH_I18N___356 = 93,
    _SC_XOPEN_SHM___356 = 94,
    _SC_2_CHAR_TERM___356 = 95,
    _SC_2_C_VERSION___356 = 96,
    _SC_2_UPE___356 = 97,
    _SC_XOPEN_XPG2___356 = 98,
    _SC_XOPEN_XPG3___356 = 99,
    _SC_XOPEN_XPG4___356 = 100,
    _SC_CHAR_BIT___356 = 101,
    _SC_CHAR_MAX___356 = 102,
    _SC_CHAR_MIN___356 = 103,
    _SC_INT_MAX___356 = 104,
    _SC_INT_MIN___356 = 105,
    _SC_LONG_BIT___356 = 106,
    _SC_WORD_BIT___356 = 107,
    _SC_MB_LEN_MAX___356 = 108,
    _SC_NZERO___356 = 109,
    _SC_SSIZE_MAX___356 = 110,
    _SC_SCHAR_MAX___356 = 111,
    _SC_SCHAR_MIN___356 = 112,
    _SC_SHRT_MAX___356 = 113,
    _SC_SHRT_MIN___356 = 114,
    _SC_UCHAR_MAX___356 = 115,
    _SC_UINT_MAX___356 = 116,
    _SC_ULONG_MAX___356 = 117,
    _SC_USHRT_MAX___356 = 118,
    _SC_NL_ARGMAX___356 = 119,
    _SC_NL_LANGMAX___356 = 120,
    _SC_NL_MSGMAX___356 = 121,
    _SC_NL_NMAX___356 = 122,
    _SC_NL_SETMAX___356 = 123,
    _SC_NL_TEXTMAX___356 = 124,
    _SC_XBS5_ILP32_OFF32___356 = 125,
    _SC_XBS5_ILP32_OFFBIG___356 = 126,
    _SC_XBS5_LP64_OFF64___356 = 127,
    _SC_XBS5_LPBIG_OFFBIG___356 = 128,
    _SC_XOPEN_LEGACY___356 = 129,
    _SC_XOPEN_REALTIME___356 = 130,
    _SC_XOPEN_REALTIME_THREADS___356 = 131,
    _SC_ADVISORY_INFO___356 = 132,
    _SC_BARRIERS___356 = 133,
    _SC_BASE___356 = 134,
    _SC_C_LANG_SUPPORT___356 = 135,
    _SC_C_LANG_SUPPORT_R___356 = 136,
    _SC_CLOCK_SELECTION___356 = 137,
    _SC_CPUTIME___356 = 138,
    _SC_THREAD_CPUTIME___356 = 139,
    _SC_DEVICE_IO___356 = 140,
    _SC_DEVICE_SPECIFIC___356 = 141,
    _SC_DEVICE_SPECIFIC_R___356 = 142,
    _SC_FD_MGMT___356 = 143,
    _SC_FIFO___356 = 144,
    _SC_PIPE___356 = 145,
    _SC_FILE_ATTRIBUTES___356 = 146,
    _SC_FILE_LOCKING___356 = 147,
    _SC_FILE_SYSTEM___356 = 148,
    _SC_MONOTONIC_CLOCK___356 = 149,
    _SC_MULTI_PROCESS___356 = 150,
    _SC_SINGLE_PROCESS___356 = 151,
    _SC_NETWORKING___356 = 152,
    _SC_READER_WRITER_LOCKS___356 = 153,
    _SC_SPIN_LOCKS___356 = 154,
    _SC_REGEXP___356 = 155,
    _SC_REGEX_VERSION___356 = 156,
    _SC_SHELL___356 = 157,
    _SC_SIGNALS___356 = 158,
    _SC_SPAWN___356 = 159,
    _SC_SPORADIC_SERVER___356 = 160,
    _SC_THREAD_SPORADIC_SERVER___356 = 161,
    _SC_SYSTEM_DATABASE___356 = 162,
    _SC_SYSTEM_DATABASE_R___356 = 163,
    _SC_TIMEOUTS___356 = 164,
    _SC_TYPED_MEMORY_OBJECTS___356 = 165,
    _SC_USER_GROUPS___356 = 166,
    _SC_USER_GROUPS_R___356 = 167,
    _SC_2_PBS___356 = 168,
    _SC_2_PBS_ACCOUNTING___356 = 169,
    _SC_2_PBS_LOCATE___356 = 170,
    _SC_2_PBS_MESSAGE___356 = 171,
    _SC_2_PBS_TRACK___356 = 172,
    _SC_SYMLOOP_MAX___356 = 173,
    _SC_STREAMS___356 = 174,
    _SC_2_PBS_CHECKPOINT___356 = 175,
    _SC_V6_ILP32_OFF32___356 = 176,
    _SC_V6_ILP32_OFFBIG___356 = 177,
    _SC_V6_LP64_OFF64___356 = 178,
    _SC_V6_LPBIG_OFFBIG___356 = 179,
    _SC_HOST_NAME_MAX___356 = 180,
    _SC_TRACE___356 = 181,
    _SC_TRACE_EVENT_FILTER___356 = 182,
    _SC_TRACE_INHERIT___356 = 183,
    _SC_TRACE_LOG___356 = 184,
    _SC_LEVEL1_ICACHE_SIZE___356 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___356 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___356 = 187,
    _SC_LEVEL1_DCACHE_SIZE___356 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___356 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___356 = 190,
    _SC_LEVEL2_CACHE_SIZE___356 = 191,
    _SC_LEVEL2_CACHE_ASSOC___356 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___356 = 193,
    _SC_LEVEL3_CACHE_SIZE___356 = 194,
    _SC_LEVEL3_CACHE_ASSOC___356 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___356 = 196,
    _SC_LEVEL4_CACHE_SIZE___356 = 197,
    _SC_LEVEL4_CACHE_ASSOC___356 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___356 = 199,
    _SC_IPV6___356 = 235,
    _SC_RAW_SOCKETS___356 = 236,
    _SC_V7_ILP32_OFF32___356 = 237,
    _SC_V7_ILP32_OFFBIG___356 = 238,
    _SC_V7_LP64_OFF64___356 = 239,
    _SC_V7_LPBIG_OFFBIG___356 = 240,
    _SC_SS_REPL_MAX___356 = 241,
    _SC_TRACE_EVENT_NAME_MAX___356 = 242,
    _SC_TRACE_NAME_MAX___356 = 243,
    _SC_TRACE_SYS_MAX___356 = 244,
    _SC_TRACE_USER_EVENT_MAX___356 = 245,
    _SC_XOPEN_STREAMS___356 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___356 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___356 = 248
} ;
enum __anonenum_875524036___356 {
    _CS_PATH___356 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___356 = 1,
    _CS_GNU_LIBC_VERSION___356 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___356 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___356 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___356 = 5,
    _CS_LFS_CFLAGS___356 = 1000,
    _CS_LFS_LDFLAGS___356 = 1001,
    _CS_LFS_LIBS___356 = 1002,
    _CS_LFS_LINTFLAGS___356 = 1003,
    _CS_LFS64_CFLAGS___356 = 1004,
    _CS_LFS64_LDFLAGS___356 = 1005,
    _CS_LFS64_LIBS___356 = 1006,
    _CS_LFS64_LINTFLAGS___356 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___356 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___356 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___356 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___356 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___356 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___356 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___356 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___356 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___356 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___356 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___356 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___356 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___356 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___356 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___356 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___356 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___356 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___356 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___356 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___356 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___356 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___356 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___356 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___356 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___356 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___356 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___356 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___356 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___356 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___356 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___356 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___356 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___356 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___356 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___356 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___356 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___356 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___356 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___356 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___356 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___356 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___356 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___356 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___356 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___356 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___356 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___356 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___356 = 1147,
    _CS_V6_ENV___356 = 1148,
    _CS_V7_ENV___356 = 1149
} ;
enum __anonenum_513775621___356 {
    DT_UNKNOWN___356 = 0,
    DT_FIFO___356 = 1,
    DT_CHR___356 = 2,
    DT_DIR___356 = 4,
    DT_BLK___356 = 6,
    DT_REG___356 = 8,
    DT_LNK___356 = 10,
    DT_SOCK___356 = 12,
    DT_WHT___356 = 14
} ;
enum __anonenum_77002343___356 {
    SI_ASYNCNL___356 = -60,
    SI_TKILL___356 = -6,
    SI_SIGIO___356 = -5,
    SI_ASYNCIO___356 = -4,
    SI_MESGQ___356 = -3,
    SI_TIMER___356 = -2,
    SI_QUEUE___356 = -1,
    SI_USER___356 = 0,
    SI_KERNEL___356 = 128
} ;
enum __anonenum_131038172___356 {
    ILL_ILLOPC___356 = 1,
    ILL_ILLOPN___356 = 2,
    ILL_ILLADR___356 = 3,
    ILL_ILLTRP___356 = 4,
    ILL_PRVOPC___356 = 5,
    ILL_PRVREG___356 = 6,
    ILL_COPROC___356 = 7,
    ILL_BADSTK___356 = 8
} ;
enum __anonenum_452038093___356 {
    FPE_INTDIV___356 = 1,
    FPE_INTOVF___356 = 2,
    FPE_FLTDIV___356 = 3,
    FPE_FLTOVF___356 = 4,
    FPE_FLTUND___356 = 5,
    FPE_FLTRES___356 = 6,
    FPE_FLTINV___356 = 7,
    FPE_FLTSUB___356 = 8
} ;
enum __anonenum_30976155___356 {
    SEGV_MAPERR___356 = 1,
    SEGV_ACCERR___356 = 2,
    SEGV_BNDERR___356 = 3,
    SEGV_PKUERR___356 = 4
} ;
enum __anonenum_1036286214___356 {
    BUS_ADRALN___356 = 1,
    BUS_ADRERR___356 = 2,
    BUS_OBJERR___356 = 3,
    BUS_MCEERR_AR___356 = 4,
    BUS_MCEERR_AO___356 = 5
} ;
enum __anonenum_493465559___356 {
    TRAP_BRKPT___356 = 1,
    TRAP_TRACE___356 = 2
} ;
enum __anonenum_23175539___356 {
    CLD_EXITED___356 = 1,
    CLD_KILLED___356 = 2,
    CLD_DUMPED___356 = 3,
    CLD_TRAPPED___356 = 4,
    CLD_STOPPED___356 = 5,
    CLD_CONTINUED___356 = 6
} ;
enum __anonenum_111643124___356 {
    POLL_IN___356 = 1,
    POLL_OUT___356 = 2,
    POLL_MSG___356 = 3,
    POLL_ERR___356 = 4,
    POLL_PRI___356 = 5,
    POLL_HUP___356 = 6
} ;
enum __anonenum_852341087___356 {
    SIGEV_SIGNAL___356 = 0,
    SIGEV_NONE___356 = 1,
    SIGEV_THREAD___356 = 2,
    SIGEV_THREAD_ID___356 = 4
} ;
enum __anonenum_451154152___356 {
    REG_R8___356 = 0,
    REG_R9___356 = 1,
    REG_R10___356 = 2,
    REG_R11___356 = 3,
    REG_R12___356 = 4,
    REG_R13___356 = 5,
    REG_R14___356 = 6,
    REG_R15___356 = 7,
    REG_RDI___356 = 8,
    REG_RSI___356 = 9,
    REG_RBP___356 = 10,
    REG_RBX___356 = 11,
    REG_RDX___356 = 12,
    REG_RAX___356 = 13,
    REG_RCX___356 = 14,
    REG_RSP___356 = 15,
    REG_RIP___356 = 16,
    REG_EFL___356 = 17,
    REG_CSGSFS___356 = 18,
    REG_ERR___356 = 19,
    REG_TRAPNO___356 = 20,
    REG_OLDMASK___356 = 21,
    REG_CR2___356 = 22
} ;
enum __anonenum_57186863___356 {
    SS_ONSTACK___356 = 1,
    SS_DISABLE___356 = 2
} ;
enum __anonenum_83571709___356 {
    MSG_OOB___356 = 1,
    MSG_PEEK___356 = 2,
    MSG_DONTROUTE___356 = 4,
    MSG_TRYHARD___356 = 4,
    MSG_CTRUNC___356 = 8,
    MSG_PROXY___356 = 16,
    MSG_TRUNC___356 = 32,
    MSG_DONTWAIT___356 = 64,
    MSG_EOR___356 = 128,
    MSG_WAITALL___356 = 256,
    MSG_FIN___356 = 512,
    MSG_SYN___356 = 1024,
    MSG_CONFIRM___356 = 2048,
    MSG_RST___356 = 4096,
    MSG_ERRQUEUE___356 = 8192,
    MSG_NOSIGNAL___356 = 16384,
    MSG_MORE___356 = 32768,
    MSG_WAITFORONE___356 = 65536,
    MSG_BATCH___356 = 262144,
    MSG_ZEROCOPY___356 = 67108864,
    MSG_FASTOPEN___356 = 536870912,
    MSG_CMSG_CLOEXEC___356 = 1073741824
} ;
enum __anonenum_617082774___356 {
    SCM_RIGHTS___356 = 1,
    SCM_CREDENTIALS___356 = 2
} ;
enum __anonenum_606441560___356 {
    SHUT_RD___356 = 0,
    SHUT_WR___356 = 1,
    SHUT_RDWR___356 = 2
} ;
enum __anonenum_681669233___356 {
    IPPROTO_IP___356 = 0,
    IPPROTO_ICMP___356 = 1,
    IPPROTO_IGMP___356 = 2,
    IPPROTO_IPIP___356 = 4,
    IPPROTO_TCP___356 = 6,
    IPPROTO_EGP___356 = 8,
    IPPROTO_PUP___356 = 12,
    IPPROTO_UDP___356 = 17,
    IPPROTO_IDP___356 = 22,
    IPPROTO_TP___356 = 29,
    IPPROTO_DCCP___356 = 33,
    IPPROTO_IPV6___356 = 41,
    IPPROTO_RSVP___356 = 46,
    IPPROTO_GRE___356 = 47,
    IPPROTO_ESP___356 = 50,
    IPPROTO_AH___356 = 51,
    IPPROTO_MTP___356 = 92,
    IPPROTO_BEETPH___356 = 94,
    IPPROTO_ENCAP___356 = 98,
    IPPROTO_PIM___356 = 103,
    IPPROTO_COMP___356 = 108,
    IPPROTO_SCTP___356 = 132,
    IPPROTO_UDPLITE___356 = 136,
    IPPROTO_MPLS___356 = 137,
    IPPROTO_RAW___356 = 255,
    IPPROTO_MAX___356 = 256
} ;
enum __anonenum_218739988___356 {
    IPPROTO_HOPOPTS___356 = 0,
    IPPROTO_ROUTING___356 = 43,
    IPPROTO_FRAGMENT___356 = 44,
    IPPROTO_ICMPV6___356 = 58,
    IPPROTO_NONE___356 = 59,
    IPPROTO_DSTOPTS___356 = 60,
    IPPROTO_MH___356 = 135
} ;
enum __anonenum_662268580___356 {
    IPPORT_ECHO___356 = 7,
    IPPORT_DISCARD___356 = 9,
    IPPORT_SYSTAT___356 = 11,
    IPPORT_DAYTIME___356 = 13,
    IPPORT_NETSTAT___356 = 15,
    IPPORT_FTP___356 = 21,
    IPPORT_TELNET___356 = 23,
    IPPORT_SMTP___356 = 25,
    IPPORT_TIMESERVER___356 = 37,
    IPPORT_NAMESERVER___356 = 42,
    IPPORT_WHOIS___356 = 43,
    IPPORT_MTP___356 = 57,
    IPPORT_TFTP___356 = 69,
    IPPORT_RJE___356 = 77,
    IPPORT_FINGER___356 = 79,
    IPPORT_TTYLINK___356 = 87,
    IPPORT_SUPDUP___356 = 95,
    IPPORT_EXECSERVER___356 = 512,
    IPPORT_LOGINSERVER___356 = 513,
    IPPORT_CMDSERVER___356 = 514,
    IPPORT_EFSSERVER___356 = 520,
    IPPORT_BIFFUDP___356 = 512,
    IPPORT_WHOSERVER___356 = 513,
    IPPORT_ROUTESERVER___356 = 520,
    IPPORT_RESERVED___356 = 1024,
    IPPORT_USERRESERVED___356 = 5000
} ;
enum __anonenum_788308992___356 {
    TCP_ESTABLISHED___356 = 1,
    TCP_SYN_SENT___356 = 2,
    TCP_SYN_RECV___356 = 3,
    TCP_FIN_WAIT1___356 = 4,
    TCP_FIN_WAIT2___356 = 5,
    TCP_TIME_WAIT___356 = 6,
    TCP_CLOSE___356 = 7,
    TCP_CLOSE_WAIT___356 = 8,
    TCP_LAST_ACK___356 = 9,
    TCP_LISTEN___356 = 10,
    TCP_CLOSING___356 = 11
} ;
enum __anonenum_221125648___356 {
    TCP_NO_QUEUE___356 = 0,
    TCP_RECV_QUEUE___356 = 1,
    TCP_SEND_QUEUE___356 = 2,
    TCP_QUEUES_NR___356 = 3
} ;
enum __anonenum_34415463___356 {
    PTHREAD_CREATE_JOINABLE___356 = 0,
    PTHREAD_CREATE_DETACHED___356 = 1
} ;
enum __anonenum_303612439___356 {
    PTHREAD_MUTEX_TIMED_NP___356 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___356 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___356 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___356 = 3,
    PTHREAD_MUTEX_NORMAL___356 = 0,
    PTHREAD_MUTEX_RECURSIVE___356 = 1,
    PTHREAD_MUTEX_ERRORCHECK___356 = 2,
    PTHREAD_MUTEX_DEFAULT___356 = 0,
    PTHREAD_MUTEX_FAST_NP___356 = 0
} ;
enum __anonenum_931900394___356 {
    PTHREAD_MUTEX_STALLED___356 = 0,
    PTHREAD_MUTEX_STALLED_NP___356 = 0,
    PTHREAD_MUTEX_ROBUST___356 = 1,
    PTHREAD_MUTEX_ROBUST_NP___356 = 1
} ;
enum __anonenum_205214487___356 {
    PTHREAD_PRIO_NONE___356 = 0,
    PTHREAD_PRIO_INHERIT___356 = 1,
    PTHREAD_PRIO_PROTECT___356 = 2
} ;
enum __anonenum_25043950___356 {
    PTHREAD_RWLOCK_PREFER_READER_NP___356 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___356 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___356 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___356 = 0
} ;
enum __anonenum_436439511___356 {
    PTHREAD_INHERIT_SCHED___356 = 0,
    PTHREAD_EXPLICIT_SCHED___356 = 1
} ;
enum __anonenum_998661166___356 {
    PTHREAD_SCOPE_SYSTEM___356 = 0,
    PTHREAD_SCOPE_PROCESS___356 = 1
} ;
enum __anonenum_146137331___356 {
    PTHREAD_PROCESS_PRIVATE___356 = 0,
    PTHREAD_PROCESS_SHARED___356 = 1
} ;
enum __anonenum_53396917___356 {
    PTHREAD_CANCEL_ENABLE___356 = 0,
    PTHREAD_CANCEL_DISABLE___356 = 1
} ;
enum __anonenum_904563783___356 {
    PTHREAD_CANCEL_DEFERRED___356 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___356 = 1
} ;
enum __anonenum_672052974___356 {
    SSL_CT_VALIDATION_PERMISSIVE___356 = 0,
    SSL_CT_VALIDATION_STRICT___356 = 1
} ;
enum __anonenum_34023289___41 {
    REMOTE_UNCONFIGURED___41 = 0,
    REMOTE_CONFIG___41 = 1,
    REMOTE_REMOTES___41 = 2,
    REMOTE_BRANCHES___41 = 3
} ;
enum __anonenum_437032235___357 {
    _PC_LINK_MAX___357 = 0,
    _PC_MAX_CANON___357 = 1,
    _PC_MAX_INPUT___357 = 2,
    _PC_NAME_MAX___357 = 3,
    _PC_PATH_MAX___357 = 4,
    _PC_PIPE_BUF___357 = 5,
    _PC_CHOWN_RESTRICTED___357 = 6,
    _PC_NO_TRUNC___357 = 7,
    _PC_VDISABLE___357 = 8,
    _PC_SYNC_IO___357 = 9,
    _PC_ASYNC_IO___357 = 10,
    _PC_PRIO_IO___357 = 11,
    _PC_SOCK_MAXBUF___357 = 12,
    _PC_FILESIZEBITS___357 = 13,
    _PC_REC_INCR_XFER_SIZE___357 = 14,
    _PC_REC_MAX_XFER_SIZE___357 = 15,
    _PC_REC_MIN_XFER_SIZE___357 = 16,
    _PC_REC_XFER_ALIGN___357 = 17,
    _PC_ALLOC_SIZE_MIN___357 = 18,
    _PC_SYMLINK_MAX___357 = 19,
    _PC_2_SYMLINKS___357 = 20
} ;
enum __anonenum_315186338___357 {
    _SC_ARG_MAX___357 = 0,
    _SC_CHILD_MAX___357 = 1,
    _SC_CLK_TCK___357 = 2,
    _SC_NGROUPS_MAX___357 = 3,
    _SC_OPEN_MAX___357 = 4,
    _SC_STREAM_MAX___357 = 5,
    _SC_TZNAME_MAX___357 = 6,
    _SC_JOB_CONTROL___357 = 7,
    _SC_SAVED_IDS___357 = 8,
    _SC_REALTIME_SIGNALS___357 = 9,
    _SC_PRIORITY_SCHEDULING___357 = 10,
    _SC_TIMERS___357 = 11,
    _SC_ASYNCHRONOUS_IO___357 = 12,
    _SC_PRIORITIZED_IO___357 = 13,
    _SC_SYNCHRONIZED_IO___357 = 14,
    _SC_FSYNC___357 = 15,
    _SC_MAPPED_FILES___357 = 16,
    _SC_MEMLOCK___357 = 17,
    _SC_MEMLOCK_RANGE___357 = 18,
    _SC_MEMORY_PROTECTION___357 = 19,
    _SC_MESSAGE_PASSING___357 = 20,
    _SC_SEMAPHORES___357 = 21,
    _SC_SHARED_MEMORY_OBJECTS___357 = 22,
    _SC_AIO_LISTIO_MAX___357 = 23,
    _SC_AIO_MAX___357 = 24,
    _SC_AIO_PRIO_DELTA_MAX___357 = 25,
    _SC_DELAYTIMER_MAX___357 = 26,
    _SC_MQ_OPEN_MAX___357 = 27,
    _SC_MQ_PRIO_MAX___357 = 28,
    _SC_VERSION___357 = 29,
    _SC_PAGESIZE___357 = 30,
    _SC_RTSIG_MAX___357 = 31,
    _SC_SEM_NSEMS_MAX___357 = 32,
    _SC_SEM_VALUE_MAX___357 = 33,
    _SC_SIGQUEUE_MAX___357 = 34,
    _SC_TIMER_MAX___357 = 35,
    _SC_BC_BASE_MAX___357 = 36,
    _SC_BC_DIM_MAX___357 = 37,
    _SC_BC_SCALE_MAX___357 = 38,
    _SC_BC_STRING_MAX___357 = 39,
    _SC_COLL_WEIGHTS_MAX___357 = 40,
    _SC_EQUIV_CLASS_MAX___357 = 41,
    _SC_EXPR_NEST_MAX___357 = 42,
    _SC_LINE_MAX___357 = 43,
    _SC_RE_DUP_MAX___357 = 44,
    _SC_CHARCLASS_NAME_MAX___357 = 45,
    _SC_2_VERSION___357 = 46,
    _SC_2_C_BIND___357 = 47,
    _SC_2_C_DEV___357 = 48,
    _SC_2_FORT_DEV___357 = 49,
    _SC_2_FORT_RUN___357 = 50,
    _SC_2_SW_DEV___357 = 51,
    _SC_2_LOCALEDEF___357 = 52,
    _SC_PII___357 = 53,
    _SC_PII_XTI___357 = 54,
    _SC_PII_SOCKET___357 = 55,
    _SC_PII_INTERNET___357 = 56,
    _SC_PII_OSI___357 = 57,
    _SC_POLL___357 = 58,
    _SC_SELECT___357 = 59,
    _SC_UIO_MAXIOV___357 = 60,
    _SC_IOV_MAX___357 = 60,
    _SC_PII_INTERNET_STREAM___357 = 61,
    _SC_PII_INTERNET_DGRAM___357 = 62,
    _SC_PII_OSI_COTS___357 = 63,
    _SC_PII_OSI_CLTS___357 = 64,
    _SC_PII_OSI_M___357 = 65,
    _SC_T_IOV_MAX___357 = 66,
    _SC_THREADS___357 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___357 = 68,
    _SC_GETGR_R_SIZE_MAX___357 = 69,
    _SC_GETPW_R_SIZE_MAX___357 = 70,
    _SC_LOGIN_NAME_MAX___357 = 71,
    _SC_TTY_NAME_MAX___357 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___357 = 73,
    _SC_THREAD_KEYS_MAX___357 = 74,
    _SC_THREAD_STACK_MIN___357 = 75,
    _SC_THREAD_THREADS_MAX___357 = 76,
    _SC_THREAD_ATTR_STACKADDR___357 = 77,
    _SC_THREAD_ATTR_STACKSIZE___357 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___357 = 79,
    _SC_THREAD_PRIO_INHERIT___357 = 80,
    _SC_THREAD_PRIO_PROTECT___357 = 81,
    _SC_THREAD_PROCESS_SHARED___357 = 82,
    _SC_NPROCESSORS_CONF___357 = 83,
    _SC_NPROCESSORS_ONLN___357 = 84,
    _SC_PHYS_PAGES___357 = 85,
    _SC_AVPHYS_PAGES___357 = 86,
    _SC_ATEXIT_MAX___357 = 87,
    _SC_PASS_MAX___357 = 88,
    _SC_XOPEN_VERSION___357 = 89,
    _SC_XOPEN_XCU_VERSION___357 = 90,
    _SC_XOPEN_UNIX___357 = 91,
    _SC_XOPEN_CRYPT___357 = 92,
    _SC_XOPEN_ENH_I18N___357 = 93,
    _SC_XOPEN_SHM___357 = 94,
    _SC_2_CHAR_TERM___357 = 95,
    _SC_2_C_VERSION___357 = 96,
    _SC_2_UPE___357 = 97,
    _SC_XOPEN_XPG2___357 = 98,
    _SC_XOPEN_XPG3___357 = 99,
    _SC_XOPEN_XPG4___357 = 100,
    _SC_CHAR_BIT___357 = 101,
    _SC_CHAR_MAX___357 = 102,
    _SC_CHAR_MIN___357 = 103,
    _SC_INT_MAX___357 = 104,
    _SC_INT_MIN___357 = 105,
    _SC_LONG_BIT___357 = 106,
    _SC_WORD_BIT___357 = 107,
    _SC_MB_LEN_MAX___357 = 108,
    _SC_NZERO___357 = 109,
    _SC_SSIZE_MAX___357 = 110,
    _SC_SCHAR_MAX___357 = 111,
    _SC_SCHAR_MIN___357 = 112,
    _SC_SHRT_MAX___357 = 113,
    _SC_SHRT_MIN___357 = 114,
    _SC_UCHAR_MAX___357 = 115,
    _SC_UINT_MAX___357 = 116,
    _SC_ULONG_MAX___357 = 117,
    _SC_USHRT_MAX___357 = 118,
    _SC_NL_ARGMAX___357 = 119,
    _SC_NL_LANGMAX___357 = 120,
    _SC_NL_MSGMAX___357 = 121,
    _SC_NL_NMAX___357 = 122,
    _SC_NL_SETMAX___357 = 123,
    _SC_NL_TEXTMAX___357 = 124,
    _SC_XBS5_ILP32_OFF32___357 = 125,
    _SC_XBS5_ILP32_OFFBIG___357 = 126,
    _SC_XBS5_LP64_OFF64___357 = 127,
    _SC_XBS5_LPBIG_OFFBIG___357 = 128,
    _SC_XOPEN_LEGACY___357 = 129,
    _SC_XOPEN_REALTIME___357 = 130,
    _SC_XOPEN_REALTIME_THREADS___357 = 131,
    _SC_ADVISORY_INFO___357 = 132,
    _SC_BARRIERS___357 = 133,
    _SC_BASE___357 = 134,
    _SC_C_LANG_SUPPORT___357 = 135,
    _SC_C_LANG_SUPPORT_R___357 = 136,
    _SC_CLOCK_SELECTION___357 = 137,
    _SC_CPUTIME___357 = 138,
    _SC_THREAD_CPUTIME___357 = 139,
    _SC_DEVICE_IO___357 = 140,
    _SC_DEVICE_SPECIFIC___357 = 141,
    _SC_DEVICE_SPECIFIC_R___357 = 142,
    _SC_FD_MGMT___357 = 143,
    _SC_FIFO___357 = 144,
    _SC_PIPE___357 = 145,
    _SC_FILE_ATTRIBUTES___357 = 146,
    _SC_FILE_LOCKING___357 = 147,
    _SC_FILE_SYSTEM___357 = 148,
    _SC_MONOTONIC_CLOCK___357 = 149,
    _SC_MULTI_PROCESS___357 = 150,
    _SC_SINGLE_PROCESS___357 = 151,
    _SC_NETWORKING___357 = 152,
    _SC_READER_WRITER_LOCKS___357 = 153,
    _SC_SPIN_LOCKS___357 = 154,
    _SC_REGEXP___357 = 155,
    _SC_REGEX_VERSION___357 = 156,
    _SC_SHELL___357 = 157,
    _SC_SIGNALS___357 = 158,
    _SC_SPAWN___357 = 159,
    _SC_SPORADIC_SERVER___357 = 160,
    _SC_THREAD_SPORADIC_SERVER___357 = 161,
    _SC_SYSTEM_DATABASE___357 = 162,
    _SC_SYSTEM_DATABASE_R___357 = 163,
    _SC_TIMEOUTS___357 = 164,
    _SC_TYPED_MEMORY_OBJECTS___357 = 165,
    _SC_USER_GROUPS___357 = 166,
    _SC_USER_GROUPS_R___357 = 167,
    _SC_2_PBS___357 = 168,
    _SC_2_PBS_ACCOUNTING___357 = 169,
    _SC_2_PBS_LOCATE___357 = 170,
    _SC_2_PBS_MESSAGE___357 = 171,
    _SC_2_PBS_TRACK___357 = 172,
    _SC_SYMLOOP_MAX___357 = 173,
    _SC_STREAMS___357 = 174,
    _SC_2_PBS_CHECKPOINT___357 = 175,
    _SC_V6_ILP32_OFF32___357 = 176,
    _SC_V6_ILP32_OFFBIG___357 = 177,
    _SC_V6_LP64_OFF64___357 = 178,
    _SC_V6_LPBIG_OFFBIG___357 = 179,
    _SC_HOST_NAME_MAX___357 = 180,
    _SC_TRACE___357 = 181,
    _SC_TRACE_EVENT_FILTER___357 = 182,
    _SC_TRACE_INHERIT___357 = 183,
    _SC_TRACE_LOG___357 = 184,
    _SC_LEVEL1_ICACHE_SIZE___357 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___357 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___357 = 187,
    _SC_LEVEL1_DCACHE_SIZE___357 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___357 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___357 = 190,
    _SC_LEVEL2_CACHE_SIZE___357 = 191,
    _SC_LEVEL2_CACHE_ASSOC___357 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___357 = 193,
    _SC_LEVEL3_CACHE_SIZE___357 = 194,
    _SC_LEVEL3_CACHE_ASSOC___357 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___357 = 196,
    _SC_LEVEL4_CACHE_SIZE___357 = 197,
    _SC_LEVEL4_CACHE_ASSOC___357 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___357 = 199,
    _SC_IPV6___357 = 235,
    _SC_RAW_SOCKETS___357 = 236,
    _SC_V7_ILP32_OFF32___357 = 237,
    _SC_V7_ILP32_OFFBIG___357 = 238,
    _SC_V7_LP64_OFF64___357 = 239,
    _SC_V7_LPBIG_OFFBIG___357 = 240,
    _SC_SS_REPL_MAX___357 = 241,
    _SC_TRACE_EVENT_NAME_MAX___357 = 242,
    _SC_TRACE_NAME_MAX___357 = 243,
    _SC_TRACE_SYS_MAX___357 = 244,
    _SC_TRACE_USER_EVENT_MAX___357 = 245,
    _SC_XOPEN_STREAMS___357 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___357 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___357 = 248
} ;
enum __anonenum_875524036___357 {
    _CS_PATH___357 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___357 = 1,
    _CS_GNU_LIBC_VERSION___357 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___357 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___357 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___357 = 5,
    _CS_LFS_CFLAGS___357 = 1000,
    _CS_LFS_LDFLAGS___357 = 1001,
    _CS_LFS_LIBS___357 = 1002,
    _CS_LFS_LINTFLAGS___357 = 1003,
    _CS_LFS64_CFLAGS___357 = 1004,
    _CS_LFS64_LDFLAGS___357 = 1005,
    _CS_LFS64_LIBS___357 = 1006,
    _CS_LFS64_LINTFLAGS___357 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___357 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___357 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___357 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___357 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___357 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___357 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___357 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___357 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___357 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___357 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___357 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___357 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___357 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___357 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___357 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___357 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___357 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___357 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___357 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___357 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___357 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___357 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___357 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___357 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___357 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___357 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___357 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___357 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___357 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___357 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___357 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___357 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___357 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___357 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___357 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___357 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___357 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___357 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___357 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___357 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___357 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___357 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___357 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___357 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___357 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___357 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___357 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___357 = 1147,
    _CS_V6_ENV___357 = 1148,
    _CS_V7_ENV___357 = 1149
} ;
enum __anonenum_513775621___357 {
    DT_UNKNOWN___357 = 0,
    DT_FIFO___357 = 1,
    DT_CHR___357 = 2,
    DT_DIR___357 = 4,
    DT_BLK___357 = 6,
    DT_REG___357 = 8,
    DT_LNK___357 = 10,
    DT_SOCK___357 = 12,
    DT_WHT___357 = 14
} ;
enum __anonenum_77002343___357 {
    SI_ASYNCNL___357 = -60,
    SI_TKILL___357 = -6,
    SI_SIGIO___357 = -5,
    SI_ASYNCIO___357 = -4,
    SI_MESGQ___357 = -3,
    SI_TIMER___357 = -2,
    SI_QUEUE___357 = -1,
    SI_USER___357 = 0,
    SI_KERNEL___357 = 128
} ;
enum __anonenum_131038172___357 {
    ILL_ILLOPC___357 = 1,
    ILL_ILLOPN___357 = 2,
    ILL_ILLADR___357 = 3,
    ILL_ILLTRP___357 = 4,
    ILL_PRVOPC___357 = 5,
    ILL_PRVREG___357 = 6,
    ILL_COPROC___357 = 7,
    ILL_BADSTK___357 = 8
} ;
enum __anonenum_452038093___357 {
    FPE_INTDIV___357 = 1,
    FPE_INTOVF___357 = 2,
    FPE_FLTDIV___357 = 3,
    FPE_FLTOVF___357 = 4,
    FPE_FLTUND___357 = 5,
    FPE_FLTRES___357 = 6,
    FPE_FLTINV___357 = 7,
    FPE_FLTSUB___357 = 8
} ;
enum __anonenum_30976155___357 {
    SEGV_MAPERR___357 = 1,
    SEGV_ACCERR___357 = 2,
    SEGV_BNDERR___357 = 3,
    SEGV_PKUERR___357 = 4
} ;
enum __anonenum_1036286214___357 {
    BUS_ADRALN___357 = 1,
    BUS_ADRERR___357 = 2,
    BUS_OBJERR___357 = 3,
    BUS_MCEERR_AR___357 = 4,
    BUS_MCEERR_AO___357 = 5
} ;
enum __anonenum_493465559___357 {
    TRAP_BRKPT___357 = 1,
    TRAP_TRACE___357 = 2
} ;
enum __anonenum_23175539___357 {
    CLD_EXITED___357 = 1,
    CLD_KILLED___357 = 2,
    CLD_DUMPED___357 = 3,
    CLD_TRAPPED___357 = 4,
    CLD_STOPPED___357 = 5,
    CLD_CONTINUED___357 = 6
} ;
enum __anonenum_111643124___357 {
    POLL_IN___357 = 1,
    POLL_OUT___357 = 2,
    POLL_MSG___357 = 3,
    POLL_ERR___357 = 4,
    POLL_PRI___357 = 5,
    POLL_HUP___357 = 6
} ;
enum __anonenum_852341087___357 {
    SIGEV_SIGNAL___357 = 0,
    SIGEV_NONE___357 = 1,
    SIGEV_THREAD___357 = 2,
    SIGEV_THREAD_ID___357 = 4
} ;
enum __anonenum_451154152___357 {
    REG_R8___357 = 0,
    REG_R9___357 = 1,
    REG_R10___357 = 2,
    REG_R11___357 = 3,
    REG_R12___357 = 4,
    REG_R13___357 = 5,
    REG_R14___357 = 6,
    REG_R15___357 = 7,
    REG_RDI___357 = 8,
    REG_RSI___357 = 9,
    REG_RBP___357 = 10,
    REG_RBX___357 = 11,
    REG_RDX___357 = 12,
    REG_RAX___357 = 13,
    REG_RCX___357 = 14,
    REG_RSP___357 = 15,
    REG_RIP___357 = 16,
    REG_EFL___357 = 17,
    REG_CSGSFS___357 = 18,
    REG_ERR___357 = 19,
    REG_TRAPNO___357 = 20,
    REG_OLDMASK___357 = 21,
    REG_CR2___357 = 22
} ;
enum __anonenum_57186863___357 {
    SS_ONSTACK___357 = 1,
    SS_DISABLE___357 = 2
} ;
enum __anonenum_83571709___357 {
    MSG_OOB___357 = 1,
    MSG_PEEK___357 = 2,
    MSG_DONTROUTE___357 = 4,
    MSG_TRYHARD___357 = 4,
    MSG_CTRUNC___357 = 8,
    MSG_PROXY___357 = 16,
    MSG_TRUNC___357 = 32,
    MSG_DONTWAIT___357 = 64,
    MSG_EOR___357 = 128,
    MSG_WAITALL___357 = 256,
    MSG_FIN___357 = 512,
    MSG_SYN___357 = 1024,
    MSG_CONFIRM___357 = 2048,
    MSG_RST___357 = 4096,
    MSG_ERRQUEUE___357 = 8192,
    MSG_NOSIGNAL___357 = 16384,
    MSG_MORE___357 = 32768,
    MSG_WAITFORONE___357 = 65536,
    MSG_BATCH___357 = 262144,
    MSG_ZEROCOPY___357 = 67108864,
    MSG_FASTOPEN___357 = 536870912,
    MSG_CMSG_CLOEXEC___357 = 1073741824
} ;
enum __anonenum_617082774___357 {
    SCM_RIGHTS___357 = 1,
    SCM_CREDENTIALS___357 = 2
} ;
enum __anonenum_606441560___357 {
    SHUT_RD___357 = 0,
    SHUT_WR___357 = 1,
    SHUT_RDWR___357 = 2
} ;
enum __anonenum_681669233___357 {
    IPPROTO_IP___357 = 0,
    IPPROTO_ICMP___357 = 1,
    IPPROTO_IGMP___357 = 2,
    IPPROTO_IPIP___357 = 4,
    IPPROTO_TCP___357 = 6,
    IPPROTO_EGP___357 = 8,
    IPPROTO_PUP___357 = 12,
    IPPROTO_UDP___357 = 17,
    IPPROTO_IDP___357 = 22,
    IPPROTO_TP___357 = 29,
    IPPROTO_DCCP___357 = 33,
    IPPROTO_IPV6___357 = 41,
    IPPROTO_RSVP___357 = 46,
    IPPROTO_GRE___357 = 47,
    IPPROTO_ESP___357 = 50,
    IPPROTO_AH___357 = 51,
    IPPROTO_MTP___357 = 92,
    IPPROTO_BEETPH___357 = 94,
    IPPROTO_ENCAP___357 = 98,
    IPPROTO_PIM___357 = 103,
    IPPROTO_COMP___357 = 108,
    IPPROTO_SCTP___357 = 132,
    IPPROTO_UDPLITE___357 = 136,
    IPPROTO_MPLS___357 = 137,
    IPPROTO_RAW___357 = 255,
    IPPROTO_MAX___357 = 256
} ;
enum __anonenum_218739988___357 {
    IPPROTO_HOPOPTS___357 = 0,
    IPPROTO_ROUTING___357 = 43,
    IPPROTO_FRAGMENT___357 = 44,
    IPPROTO_ICMPV6___357 = 58,
    IPPROTO_NONE___357 = 59,
    IPPROTO_DSTOPTS___357 = 60,
    IPPROTO_MH___357 = 135
} ;
enum __anonenum_662268580___357 {
    IPPORT_ECHO___357 = 7,
    IPPORT_DISCARD___357 = 9,
    IPPORT_SYSTAT___357 = 11,
    IPPORT_DAYTIME___357 = 13,
    IPPORT_NETSTAT___357 = 15,
    IPPORT_FTP___357 = 21,
    IPPORT_TELNET___357 = 23,
    IPPORT_SMTP___357 = 25,
    IPPORT_TIMESERVER___357 = 37,
    IPPORT_NAMESERVER___357 = 42,
    IPPORT_WHOIS___357 = 43,
    IPPORT_MTP___357 = 57,
    IPPORT_TFTP___357 = 69,
    IPPORT_RJE___357 = 77,
    IPPORT_FINGER___357 = 79,
    IPPORT_TTYLINK___357 = 87,
    IPPORT_SUPDUP___357 = 95,
    IPPORT_EXECSERVER___357 = 512,
    IPPORT_LOGINSERVER___357 = 513,
    IPPORT_CMDSERVER___357 = 514,
    IPPORT_EFSSERVER___357 = 520,
    IPPORT_BIFFUDP___357 = 512,
    IPPORT_WHOSERVER___357 = 513,
    IPPORT_ROUTESERVER___357 = 520,
    IPPORT_RESERVED___357 = 1024,
    IPPORT_USERRESERVED___357 = 5000
} ;
enum __anonenum_788308992___357 {
    TCP_ESTABLISHED___357 = 1,
    TCP_SYN_SENT___357 = 2,
    TCP_SYN_RECV___357 = 3,
    TCP_FIN_WAIT1___357 = 4,
    TCP_FIN_WAIT2___357 = 5,
    TCP_TIME_WAIT___357 = 6,
    TCP_CLOSE___357 = 7,
    TCP_CLOSE_WAIT___357 = 8,
    TCP_LAST_ACK___357 = 9,
    TCP_LISTEN___357 = 10,
    TCP_CLOSING___357 = 11
} ;
enum __anonenum_221125648___357 {
    TCP_NO_QUEUE___357 = 0,
    TCP_RECV_QUEUE___357 = 1,
    TCP_SEND_QUEUE___357 = 2,
    TCP_QUEUES_NR___357 = 3
} ;
enum __anonenum_34415463___357 {
    PTHREAD_CREATE_JOINABLE___357 = 0,
    PTHREAD_CREATE_DETACHED___357 = 1
} ;
enum __anonenum_303612439___357 {
    PTHREAD_MUTEX_TIMED_NP___357 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___357 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___357 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___357 = 3,
    PTHREAD_MUTEX_NORMAL___357 = 0,
    PTHREAD_MUTEX_RECURSIVE___357 = 1,
    PTHREAD_MUTEX_ERRORCHECK___357 = 2,
    PTHREAD_MUTEX_DEFAULT___357 = 0,
    PTHREAD_MUTEX_FAST_NP___357 = 0
} ;
enum __anonenum_931900394___357 {
    PTHREAD_MUTEX_STALLED___357 = 0,
    PTHREAD_MUTEX_STALLED_NP___357 = 0,
    PTHREAD_MUTEX_ROBUST___357 = 1,
    PTHREAD_MUTEX_ROBUST_NP___357 = 1
} ;
enum __anonenum_205214487___357 {
    PTHREAD_PRIO_NONE___357 = 0,
    PTHREAD_PRIO_INHERIT___357 = 1,
    PTHREAD_PRIO_PROTECT___357 = 2
} ;
enum __anonenum_25043950___357 {
    PTHREAD_RWLOCK_PREFER_READER_NP___357 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___357 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___357 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___357 = 0
} ;
enum __anonenum_436439511___357 {
    PTHREAD_INHERIT_SCHED___357 = 0,
    PTHREAD_EXPLICIT_SCHED___357 = 1
} ;
enum __anonenum_998661166___357 {
    PTHREAD_SCOPE_SYSTEM___357 = 0,
    PTHREAD_SCOPE_PROCESS___357 = 1
} ;
enum __anonenum_146137331___357 {
    PTHREAD_PROCESS_PRIVATE___357 = 0,
    PTHREAD_PROCESS_SHARED___357 = 1
} ;
enum __anonenum_53396917___357 {
    PTHREAD_CANCEL_ENABLE___357 = 0,
    PTHREAD_CANCEL_DISABLE___357 = 1
} ;
enum __anonenum_904563783___357 {
    PTHREAD_CANCEL_DEFERRED___357 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___357 = 1
} ;
enum __anonenum_672052974___357 {
    SSL_CT_VALIDATION_PERMISSIVE___357 = 0,
    SSL_CT_VALIDATION_STRICT___357 = 1
} ;
enum __anonenum_34023289___42 {
    REMOTE_UNCONFIGURED___42 = 0,
    REMOTE_CONFIG___42 = 1,
    REMOTE_REMOTES___42 = 2,
    REMOTE_BRANCHES___42 = 3
} ;
enum __anonenum_924703984___0 {
    TAGS_UNSET___0 = 0,
    TAGS_DEFAULT___0 = 1,
    TAGS_SET___0 = 2
} ;
struct branch_info___0 {
   char *remote_name ;
   struct string_list merge ;
   int rebase ;
   char *push_remote_name ;
};
enum __anonenum_type_1009049786 {
    REMOTE = 0,
    MERGE = 1,
    REBASE = 2,
    PUSH_REMOTE = 3
} ;
struct ref_states {
   struct remote *remote ;
   struct string_list new_refs ;
   struct string_list stale ;
   struct string_list tracked ;
   struct string_list heads ;
   struct string_list push ;
   int queried ;
};
enum __anonenum_status_621525484 {
    PUSH_STATUS_CREATE = 0,
    PUSH_STATUS_DELETE = 1,
    PUSH_STATUS_UPTODATE = 2,
    PUSH_STATUS_FASTFORWARD = 3,
    PUSH_STATUS_OUTOFDATE = 4,
    PUSH_STATUS_NOTQUERIED = 5
} ;
struct push_info {
   char *dest ;
   int forced ;
   enum __anonenum_status_621525484 status ;
};
struct known_remote {
   struct known_remote *next ;
   struct remote *remote ;
};
struct known_remotes {
   struct remote *to_delete ;
   struct known_remote *list ;
};
struct branches_for_remote {
   struct remote *remote ;
   struct string_list *branches ;
   struct string_list *skipped ;
   struct known_remotes *keep ;
};
struct rename_info___1 {
   char const   *old_name ;
   char const   *new_name ;
   struct string_list *remote_branches ;
};
struct push_default_info {
   char const   *old_name ;
   enum config_scope scope ;
   struct strbuf origin ;
   int linenr ;
};
struct show_info {
   struct string_list list ;
   struct ref_states states ;
   int width ;
   int width2 ;
   int any_rebase ;
};
enum __anonenum_437032235___358 {
    _PC_LINK_MAX___358 = 0,
    _PC_MAX_CANON___358 = 1,
    _PC_MAX_INPUT___358 = 2,
    _PC_NAME_MAX___358 = 3,
    _PC_PATH_MAX___358 = 4,
    _PC_PIPE_BUF___358 = 5,
    _PC_CHOWN_RESTRICTED___358 = 6,
    _PC_NO_TRUNC___358 = 7,
    _PC_VDISABLE___358 = 8,
    _PC_SYNC_IO___358 = 9,
    _PC_ASYNC_IO___358 = 10,
    _PC_PRIO_IO___358 = 11,
    _PC_SOCK_MAXBUF___358 = 12,
    _PC_FILESIZEBITS___358 = 13,
    _PC_REC_INCR_XFER_SIZE___358 = 14,
    _PC_REC_MAX_XFER_SIZE___358 = 15,
    _PC_REC_MIN_XFER_SIZE___358 = 16,
    _PC_REC_XFER_ALIGN___358 = 17,
    _PC_ALLOC_SIZE_MIN___358 = 18,
    _PC_SYMLINK_MAX___358 = 19,
    _PC_2_SYMLINKS___358 = 20
} ;
enum __anonenum_315186338___358 {
    _SC_ARG_MAX___358 = 0,
    _SC_CHILD_MAX___358 = 1,
    _SC_CLK_TCK___358 = 2,
    _SC_NGROUPS_MAX___358 = 3,
    _SC_OPEN_MAX___358 = 4,
    _SC_STREAM_MAX___358 = 5,
    _SC_TZNAME_MAX___358 = 6,
    _SC_JOB_CONTROL___358 = 7,
    _SC_SAVED_IDS___358 = 8,
    _SC_REALTIME_SIGNALS___358 = 9,
    _SC_PRIORITY_SCHEDULING___358 = 10,
    _SC_TIMERS___358 = 11,
    _SC_ASYNCHRONOUS_IO___358 = 12,
    _SC_PRIORITIZED_IO___358 = 13,
    _SC_SYNCHRONIZED_IO___358 = 14,
    _SC_FSYNC___358 = 15,
    _SC_MAPPED_FILES___358 = 16,
    _SC_MEMLOCK___358 = 17,
    _SC_MEMLOCK_RANGE___358 = 18,
    _SC_MEMORY_PROTECTION___358 = 19,
    _SC_MESSAGE_PASSING___358 = 20,
    _SC_SEMAPHORES___358 = 21,
    _SC_SHARED_MEMORY_OBJECTS___358 = 22,
    _SC_AIO_LISTIO_MAX___358 = 23,
    _SC_AIO_MAX___358 = 24,
    _SC_AIO_PRIO_DELTA_MAX___358 = 25,
    _SC_DELAYTIMER_MAX___358 = 26,
    _SC_MQ_OPEN_MAX___358 = 27,
    _SC_MQ_PRIO_MAX___358 = 28,
    _SC_VERSION___358 = 29,
    _SC_PAGESIZE___358 = 30,
    _SC_RTSIG_MAX___358 = 31,
    _SC_SEM_NSEMS_MAX___358 = 32,
    _SC_SEM_VALUE_MAX___358 = 33,
    _SC_SIGQUEUE_MAX___358 = 34,
    _SC_TIMER_MAX___358 = 35,
    _SC_BC_BASE_MAX___358 = 36,
    _SC_BC_DIM_MAX___358 = 37,
    _SC_BC_SCALE_MAX___358 = 38,
    _SC_BC_STRING_MAX___358 = 39,
    _SC_COLL_WEIGHTS_MAX___358 = 40,
    _SC_EQUIV_CLASS_MAX___358 = 41,
    _SC_EXPR_NEST_MAX___358 = 42,
    _SC_LINE_MAX___358 = 43,
    _SC_RE_DUP_MAX___358 = 44,
    _SC_CHARCLASS_NAME_MAX___358 = 45,
    _SC_2_VERSION___358 = 46,
    _SC_2_C_BIND___358 = 47,
    _SC_2_C_DEV___358 = 48,
    _SC_2_FORT_DEV___358 = 49,
    _SC_2_FORT_RUN___358 = 50,
    _SC_2_SW_DEV___358 = 51,
    _SC_2_LOCALEDEF___358 = 52,
    _SC_PII___358 = 53,
    _SC_PII_XTI___358 = 54,
    _SC_PII_SOCKET___358 = 55,
    _SC_PII_INTERNET___358 = 56,
    _SC_PII_OSI___358 = 57,
    _SC_POLL___358 = 58,
    _SC_SELECT___358 = 59,
    _SC_UIO_MAXIOV___358 = 60,
    _SC_IOV_MAX___358 = 60,
    _SC_PII_INTERNET_STREAM___358 = 61,
    _SC_PII_INTERNET_DGRAM___358 = 62,
    _SC_PII_OSI_COTS___358 = 63,
    _SC_PII_OSI_CLTS___358 = 64,
    _SC_PII_OSI_M___358 = 65,
    _SC_T_IOV_MAX___358 = 66,
    _SC_THREADS___358 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___358 = 68,
    _SC_GETGR_R_SIZE_MAX___358 = 69,
    _SC_GETPW_R_SIZE_MAX___358 = 70,
    _SC_LOGIN_NAME_MAX___358 = 71,
    _SC_TTY_NAME_MAX___358 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___358 = 73,
    _SC_THREAD_KEYS_MAX___358 = 74,
    _SC_THREAD_STACK_MIN___358 = 75,
    _SC_THREAD_THREADS_MAX___358 = 76,
    _SC_THREAD_ATTR_STACKADDR___358 = 77,
    _SC_THREAD_ATTR_STACKSIZE___358 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___358 = 79,
    _SC_THREAD_PRIO_INHERIT___358 = 80,
    _SC_THREAD_PRIO_PROTECT___358 = 81,
    _SC_THREAD_PROCESS_SHARED___358 = 82,
    _SC_NPROCESSORS_CONF___358 = 83,
    _SC_NPROCESSORS_ONLN___358 = 84,
    _SC_PHYS_PAGES___358 = 85,
    _SC_AVPHYS_PAGES___358 = 86,
    _SC_ATEXIT_MAX___358 = 87,
    _SC_PASS_MAX___358 = 88,
    _SC_XOPEN_VERSION___358 = 89,
    _SC_XOPEN_XCU_VERSION___358 = 90,
    _SC_XOPEN_UNIX___358 = 91,
    _SC_XOPEN_CRYPT___358 = 92,
    _SC_XOPEN_ENH_I18N___358 = 93,
    _SC_XOPEN_SHM___358 = 94,
    _SC_2_CHAR_TERM___358 = 95,
    _SC_2_C_VERSION___358 = 96,
    _SC_2_UPE___358 = 97,
    _SC_XOPEN_XPG2___358 = 98,
    _SC_XOPEN_XPG3___358 = 99,
    _SC_XOPEN_XPG4___358 = 100,
    _SC_CHAR_BIT___358 = 101,
    _SC_CHAR_MAX___358 = 102,
    _SC_CHAR_MIN___358 = 103,
    _SC_INT_MAX___358 = 104,
    _SC_INT_MIN___358 = 105,
    _SC_LONG_BIT___358 = 106,
    _SC_WORD_BIT___358 = 107,
    _SC_MB_LEN_MAX___358 = 108,
    _SC_NZERO___358 = 109,
    _SC_SSIZE_MAX___358 = 110,
    _SC_SCHAR_MAX___358 = 111,
    _SC_SCHAR_MIN___358 = 112,
    _SC_SHRT_MAX___358 = 113,
    _SC_SHRT_MIN___358 = 114,
    _SC_UCHAR_MAX___358 = 115,
    _SC_UINT_MAX___358 = 116,
    _SC_ULONG_MAX___358 = 117,
    _SC_USHRT_MAX___358 = 118,
    _SC_NL_ARGMAX___358 = 119,
    _SC_NL_LANGMAX___358 = 120,
    _SC_NL_MSGMAX___358 = 121,
    _SC_NL_NMAX___358 = 122,
    _SC_NL_SETMAX___358 = 123,
    _SC_NL_TEXTMAX___358 = 124,
    _SC_XBS5_ILP32_OFF32___358 = 125,
    _SC_XBS5_ILP32_OFFBIG___358 = 126,
    _SC_XBS5_LP64_OFF64___358 = 127,
    _SC_XBS5_LPBIG_OFFBIG___358 = 128,
    _SC_XOPEN_LEGACY___358 = 129,
    _SC_XOPEN_REALTIME___358 = 130,
    _SC_XOPEN_REALTIME_THREADS___358 = 131,
    _SC_ADVISORY_INFO___358 = 132,
    _SC_BARRIERS___358 = 133,
    _SC_BASE___358 = 134,
    _SC_C_LANG_SUPPORT___358 = 135,
    _SC_C_LANG_SUPPORT_R___358 = 136,
    _SC_CLOCK_SELECTION___358 = 137,
    _SC_CPUTIME___358 = 138,
    _SC_THREAD_CPUTIME___358 = 139,
    _SC_DEVICE_IO___358 = 140,
    _SC_DEVICE_SPECIFIC___358 = 141,
    _SC_DEVICE_SPECIFIC_R___358 = 142,
    _SC_FD_MGMT___358 = 143,
    _SC_FIFO___358 = 144,
    _SC_PIPE___358 = 145,
    _SC_FILE_ATTRIBUTES___358 = 146,
    _SC_FILE_LOCKING___358 = 147,
    _SC_FILE_SYSTEM___358 = 148,
    _SC_MONOTONIC_CLOCK___358 = 149,
    _SC_MULTI_PROCESS___358 = 150,
    _SC_SINGLE_PROCESS___358 = 151,
    _SC_NETWORKING___358 = 152,
    _SC_READER_WRITER_LOCKS___358 = 153,
    _SC_SPIN_LOCKS___358 = 154,
    _SC_REGEXP___358 = 155,
    _SC_REGEX_VERSION___358 = 156,
    _SC_SHELL___358 = 157,
    _SC_SIGNALS___358 = 158,
    _SC_SPAWN___358 = 159,
    _SC_SPORADIC_SERVER___358 = 160,
    _SC_THREAD_SPORADIC_SERVER___358 = 161,
    _SC_SYSTEM_DATABASE___358 = 162,
    _SC_SYSTEM_DATABASE_R___358 = 163,
    _SC_TIMEOUTS___358 = 164,
    _SC_TYPED_MEMORY_OBJECTS___358 = 165,
    _SC_USER_GROUPS___358 = 166,
    _SC_USER_GROUPS_R___358 = 167,
    _SC_2_PBS___358 = 168,
    _SC_2_PBS_ACCOUNTING___358 = 169,
    _SC_2_PBS_LOCATE___358 = 170,
    _SC_2_PBS_MESSAGE___358 = 171,
    _SC_2_PBS_TRACK___358 = 172,
    _SC_SYMLOOP_MAX___358 = 173,
    _SC_STREAMS___358 = 174,
    _SC_2_PBS_CHECKPOINT___358 = 175,
    _SC_V6_ILP32_OFF32___358 = 176,
    _SC_V6_ILP32_OFFBIG___358 = 177,
    _SC_V6_LP64_OFF64___358 = 178,
    _SC_V6_LPBIG_OFFBIG___358 = 179,
    _SC_HOST_NAME_MAX___358 = 180,
    _SC_TRACE___358 = 181,
    _SC_TRACE_EVENT_FILTER___358 = 182,
    _SC_TRACE_INHERIT___358 = 183,
    _SC_TRACE_LOG___358 = 184,
    _SC_LEVEL1_ICACHE_SIZE___358 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___358 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___358 = 187,
    _SC_LEVEL1_DCACHE_SIZE___358 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___358 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___358 = 190,
    _SC_LEVEL2_CACHE_SIZE___358 = 191,
    _SC_LEVEL2_CACHE_ASSOC___358 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___358 = 193,
    _SC_LEVEL3_CACHE_SIZE___358 = 194,
    _SC_LEVEL3_CACHE_ASSOC___358 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___358 = 196,
    _SC_LEVEL4_CACHE_SIZE___358 = 197,
    _SC_LEVEL4_CACHE_ASSOC___358 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___358 = 199,
    _SC_IPV6___358 = 235,
    _SC_RAW_SOCKETS___358 = 236,
    _SC_V7_ILP32_OFF32___358 = 237,
    _SC_V7_ILP32_OFFBIG___358 = 238,
    _SC_V7_LP64_OFF64___358 = 239,
    _SC_V7_LPBIG_OFFBIG___358 = 240,
    _SC_SS_REPL_MAX___358 = 241,
    _SC_TRACE_EVENT_NAME_MAX___358 = 242,
    _SC_TRACE_NAME_MAX___358 = 243,
    _SC_TRACE_SYS_MAX___358 = 244,
    _SC_TRACE_USER_EVENT_MAX___358 = 245,
    _SC_XOPEN_STREAMS___358 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___358 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___358 = 248
} ;
enum __anonenum_875524036___358 {
    _CS_PATH___358 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___358 = 1,
    _CS_GNU_LIBC_VERSION___358 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___358 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___358 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___358 = 5,
    _CS_LFS_CFLAGS___358 = 1000,
    _CS_LFS_LDFLAGS___358 = 1001,
    _CS_LFS_LIBS___358 = 1002,
    _CS_LFS_LINTFLAGS___358 = 1003,
    _CS_LFS64_CFLAGS___358 = 1004,
    _CS_LFS64_LDFLAGS___358 = 1005,
    _CS_LFS64_LIBS___358 = 1006,
    _CS_LFS64_LINTFLAGS___358 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___358 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___358 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___358 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___358 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___358 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___358 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___358 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___358 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___358 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___358 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___358 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___358 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___358 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___358 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___358 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___358 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___358 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___358 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___358 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___358 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___358 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___358 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___358 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___358 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___358 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___358 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___358 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___358 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___358 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___358 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___358 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___358 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___358 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___358 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___358 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___358 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___358 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___358 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___358 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___358 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___358 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___358 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___358 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___358 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___358 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___358 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___358 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___358 = 1147,
    _CS_V6_ENV___358 = 1148,
    _CS_V7_ENV___358 = 1149
} ;
enum __anonenum_513775621___358 {
    DT_UNKNOWN___358 = 0,
    DT_FIFO___358 = 1,
    DT_CHR___358 = 2,
    DT_DIR___358 = 4,
    DT_BLK___358 = 6,
    DT_REG___358 = 8,
    DT_LNK___358 = 10,
    DT_SOCK___358 = 12,
    DT_WHT___358 = 14
} ;
enum __anonenum_77002343___358 {
    SI_ASYNCNL___358 = -60,
    SI_TKILL___358 = -6,
    SI_SIGIO___358 = -5,
    SI_ASYNCIO___358 = -4,
    SI_MESGQ___358 = -3,
    SI_TIMER___358 = -2,
    SI_QUEUE___358 = -1,
    SI_USER___358 = 0,
    SI_KERNEL___358 = 128
} ;
enum __anonenum_131038172___358 {
    ILL_ILLOPC___358 = 1,
    ILL_ILLOPN___358 = 2,
    ILL_ILLADR___358 = 3,
    ILL_ILLTRP___358 = 4,
    ILL_PRVOPC___358 = 5,
    ILL_PRVREG___358 = 6,
    ILL_COPROC___358 = 7,
    ILL_BADSTK___358 = 8
} ;
enum __anonenum_452038093___358 {
    FPE_INTDIV___358 = 1,
    FPE_INTOVF___358 = 2,
    FPE_FLTDIV___358 = 3,
    FPE_FLTOVF___358 = 4,
    FPE_FLTUND___358 = 5,
    FPE_FLTRES___358 = 6,
    FPE_FLTINV___358 = 7,
    FPE_FLTSUB___358 = 8
} ;
enum __anonenum_30976155___358 {
    SEGV_MAPERR___358 = 1,
    SEGV_ACCERR___358 = 2,
    SEGV_BNDERR___358 = 3,
    SEGV_PKUERR___358 = 4
} ;
enum __anonenum_1036286214___358 {
    BUS_ADRALN___358 = 1,
    BUS_ADRERR___358 = 2,
    BUS_OBJERR___358 = 3,
    BUS_MCEERR_AR___358 = 4,
    BUS_MCEERR_AO___358 = 5
} ;
enum __anonenum_493465559___358 {
    TRAP_BRKPT___358 = 1,
    TRAP_TRACE___358 = 2
} ;
enum __anonenum_23175539___358 {
    CLD_EXITED___358 = 1,
    CLD_KILLED___358 = 2,
    CLD_DUMPED___358 = 3,
    CLD_TRAPPED___358 = 4,
    CLD_STOPPED___358 = 5,
    CLD_CONTINUED___358 = 6
} ;
enum __anonenum_111643124___358 {
    POLL_IN___358 = 1,
    POLL_OUT___358 = 2,
    POLL_MSG___358 = 3,
    POLL_ERR___358 = 4,
    POLL_PRI___358 = 5,
    POLL_HUP___358 = 6
} ;
enum __anonenum_852341087___358 {
    SIGEV_SIGNAL___358 = 0,
    SIGEV_NONE___358 = 1,
    SIGEV_THREAD___358 = 2,
    SIGEV_THREAD_ID___358 = 4
} ;
enum __anonenum_451154152___358 {
    REG_R8___358 = 0,
    REG_R9___358 = 1,
    REG_R10___358 = 2,
    REG_R11___358 = 3,
    REG_R12___358 = 4,
    REG_R13___358 = 5,
    REG_R14___358 = 6,
    REG_R15___358 = 7,
    REG_RDI___358 = 8,
    REG_RSI___358 = 9,
    REG_RBP___358 = 10,
    REG_RBX___358 = 11,
    REG_RDX___358 = 12,
    REG_RAX___358 = 13,
    REG_RCX___358 = 14,
    REG_RSP___358 = 15,
    REG_RIP___358 = 16,
    REG_EFL___358 = 17,
    REG_CSGSFS___358 = 18,
    REG_ERR___358 = 19,
    REG_TRAPNO___358 = 20,
    REG_OLDMASK___358 = 21,
    REG_CR2___358 = 22
} ;
enum __anonenum_57186863___358 {
    SS_ONSTACK___358 = 1,
    SS_DISABLE___358 = 2
} ;
enum __anonenum_83571709___358 {
    MSG_OOB___358 = 1,
    MSG_PEEK___358 = 2,
    MSG_DONTROUTE___358 = 4,
    MSG_TRYHARD___358 = 4,
    MSG_CTRUNC___358 = 8,
    MSG_PROXY___358 = 16,
    MSG_TRUNC___358 = 32,
    MSG_DONTWAIT___358 = 64,
    MSG_EOR___358 = 128,
    MSG_WAITALL___358 = 256,
    MSG_FIN___358 = 512,
    MSG_SYN___358 = 1024,
    MSG_CONFIRM___358 = 2048,
    MSG_RST___358 = 4096,
    MSG_ERRQUEUE___358 = 8192,
    MSG_NOSIGNAL___358 = 16384,
    MSG_MORE___358 = 32768,
    MSG_WAITFORONE___358 = 65536,
    MSG_BATCH___358 = 262144,
    MSG_ZEROCOPY___358 = 67108864,
    MSG_FASTOPEN___358 = 536870912,
    MSG_CMSG_CLOEXEC___358 = 1073741824
} ;
enum __anonenum_617082774___358 {
    SCM_RIGHTS___358 = 1,
    SCM_CREDENTIALS___358 = 2
} ;
enum __anonenum_606441560___358 {
    SHUT_RD___358 = 0,
    SHUT_WR___358 = 1,
    SHUT_RDWR___358 = 2
} ;
enum __anonenum_681669233___358 {
    IPPROTO_IP___358 = 0,
    IPPROTO_ICMP___358 = 1,
    IPPROTO_IGMP___358 = 2,
    IPPROTO_IPIP___358 = 4,
    IPPROTO_TCP___358 = 6,
    IPPROTO_EGP___358 = 8,
    IPPROTO_PUP___358 = 12,
    IPPROTO_UDP___358 = 17,
    IPPROTO_IDP___358 = 22,
    IPPROTO_TP___358 = 29,
    IPPROTO_DCCP___358 = 33,
    IPPROTO_IPV6___358 = 41,
    IPPROTO_RSVP___358 = 46,
    IPPROTO_GRE___358 = 47,
    IPPROTO_ESP___358 = 50,
    IPPROTO_AH___358 = 51,
    IPPROTO_MTP___358 = 92,
    IPPROTO_BEETPH___358 = 94,
    IPPROTO_ENCAP___358 = 98,
    IPPROTO_PIM___358 = 103,
    IPPROTO_COMP___358 = 108,
    IPPROTO_SCTP___358 = 132,
    IPPROTO_UDPLITE___358 = 136,
    IPPROTO_MPLS___358 = 137,
    IPPROTO_RAW___358 = 255,
    IPPROTO_MAX___358 = 256
} ;
enum __anonenum_218739988___358 {
    IPPROTO_HOPOPTS___358 = 0,
    IPPROTO_ROUTING___358 = 43,
    IPPROTO_FRAGMENT___358 = 44,
    IPPROTO_ICMPV6___358 = 58,
    IPPROTO_NONE___358 = 59,
    IPPROTO_DSTOPTS___358 = 60,
    IPPROTO_MH___358 = 135
} ;
enum __anonenum_662268580___358 {
    IPPORT_ECHO___358 = 7,
    IPPORT_DISCARD___358 = 9,
    IPPORT_SYSTAT___358 = 11,
    IPPORT_DAYTIME___358 = 13,
    IPPORT_NETSTAT___358 = 15,
    IPPORT_FTP___358 = 21,
    IPPORT_TELNET___358 = 23,
    IPPORT_SMTP___358 = 25,
    IPPORT_TIMESERVER___358 = 37,
    IPPORT_NAMESERVER___358 = 42,
    IPPORT_WHOIS___358 = 43,
    IPPORT_MTP___358 = 57,
    IPPORT_TFTP___358 = 69,
    IPPORT_RJE___358 = 77,
    IPPORT_FINGER___358 = 79,
    IPPORT_TTYLINK___358 = 87,
    IPPORT_SUPDUP___358 = 95,
    IPPORT_EXECSERVER___358 = 512,
    IPPORT_LOGINSERVER___358 = 513,
    IPPORT_CMDSERVER___358 = 514,
    IPPORT_EFSSERVER___358 = 520,
    IPPORT_BIFFUDP___358 = 512,
    IPPORT_WHOSERVER___358 = 513,
    IPPORT_ROUTESERVER___358 = 520,
    IPPORT_RESERVED___358 = 1024,
    IPPORT_USERRESERVED___358 = 5000
} ;
enum __anonenum_788308992___358 {
    TCP_ESTABLISHED___358 = 1,
    TCP_SYN_SENT___358 = 2,
    TCP_SYN_RECV___358 = 3,
    TCP_FIN_WAIT1___358 = 4,
    TCP_FIN_WAIT2___358 = 5,
    TCP_TIME_WAIT___358 = 6,
    TCP_CLOSE___358 = 7,
    TCP_CLOSE_WAIT___358 = 8,
    TCP_LAST_ACK___358 = 9,
    TCP_LISTEN___358 = 10,
    TCP_CLOSING___358 = 11
} ;
enum __anonenum_221125648___358 {
    TCP_NO_QUEUE___358 = 0,
    TCP_RECV_QUEUE___358 = 1,
    TCP_SEND_QUEUE___358 = 2,
    TCP_QUEUES_NR___358 = 3
} ;
enum __anonenum_34415463___358 {
    PTHREAD_CREATE_JOINABLE___358 = 0,
    PTHREAD_CREATE_DETACHED___358 = 1
} ;
enum __anonenum_303612439___358 {
    PTHREAD_MUTEX_TIMED_NP___358 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___358 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___358 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___358 = 3,
    PTHREAD_MUTEX_NORMAL___358 = 0,
    PTHREAD_MUTEX_RECURSIVE___358 = 1,
    PTHREAD_MUTEX_ERRORCHECK___358 = 2,
    PTHREAD_MUTEX_DEFAULT___358 = 0,
    PTHREAD_MUTEX_FAST_NP___358 = 0
} ;
enum __anonenum_931900394___358 {
    PTHREAD_MUTEX_STALLED___358 = 0,
    PTHREAD_MUTEX_STALLED_NP___358 = 0,
    PTHREAD_MUTEX_ROBUST___358 = 1,
    PTHREAD_MUTEX_ROBUST_NP___358 = 1
} ;
enum __anonenum_205214487___358 {
    PTHREAD_PRIO_NONE___358 = 0,
    PTHREAD_PRIO_INHERIT___358 = 1,
    PTHREAD_PRIO_PROTECT___358 = 2
} ;
enum __anonenum_25043950___358 {
    PTHREAD_RWLOCK_PREFER_READER_NP___358 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___358 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___358 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___358 = 0
} ;
enum __anonenum_436439511___358 {
    PTHREAD_INHERIT_SCHED___358 = 0,
    PTHREAD_EXPLICIT_SCHED___358 = 1
} ;
enum __anonenum_998661166___358 {
    PTHREAD_SCOPE_SYSTEM___358 = 0,
    PTHREAD_SCOPE_PROCESS___358 = 1
} ;
enum __anonenum_146137331___358 {
    PTHREAD_PROCESS_PRIVATE___358 = 0,
    PTHREAD_PROCESS_SHARED___358 = 1
} ;
enum __anonenum_53396917___358 {
    PTHREAD_CANCEL_ENABLE___358 = 0,
    PTHREAD_CANCEL_DISABLE___358 = 1
} ;
enum __anonenum_904563783___358 {
    PTHREAD_CANCEL_DEFERRED___358 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___358 = 1
} ;
enum __anonenum_672052974___358 {
    SSL_CT_VALIDATION_PERMISSIVE___358 = 0,
    SSL_CT_VALIDATION_STRICT___358 = 1
} ;
struct pack_objects_args {
   char const   *window ;
   char const   *window_memory ;
   char const   *depth ;
   char const   *threads ;
   char const   *max_pack_size ;
   int no_reuse_delta ;
   int no_reuse_object ;
   int quiet ;
   int local ;
};
struct __anonstruct_exts_1028234011 {
   char const   *name ;
   unsigned int optional : 1 ;
};
struct pack_geometry {
   struct packed_git **pack ;
   uint32_t pack_nr ;
   uint32_t pack_alloc ;
   uint32_t split ;
};
struct midx_snapshot_ref_data {
   struct tempfile *f ;
   struct oidset seen ;
   int preferred ;
};
enum __anonenum_437032235___359 {
    _PC_LINK_MAX___359 = 0,
    _PC_MAX_CANON___359 = 1,
    _PC_MAX_INPUT___359 = 2,
    _PC_NAME_MAX___359 = 3,
    _PC_PATH_MAX___359 = 4,
    _PC_PIPE_BUF___359 = 5,
    _PC_CHOWN_RESTRICTED___359 = 6,
    _PC_NO_TRUNC___359 = 7,
    _PC_VDISABLE___359 = 8,
    _PC_SYNC_IO___359 = 9,
    _PC_ASYNC_IO___359 = 10,
    _PC_PRIO_IO___359 = 11,
    _PC_SOCK_MAXBUF___359 = 12,
    _PC_FILESIZEBITS___359 = 13,
    _PC_REC_INCR_XFER_SIZE___359 = 14,
    _PC_REC_MAX_XFER_SIZE___359 = 15,
    _PC_REC_MIN_XFER_SIZE___359 = 16,
    _PC_REC_XFER_ALIGN___359 = 17,
    _PC_ALLOC_SIZE_MIN___359 = 18,
    _PC_SYMLINK_MAX___359 = 19,
    _PC_2_SYMLINKS___359 = 20
} ;
enum __anonenum_315186338___359 {
    _SC_ARG_MAX___359 = 0,
    _SC_CHILD_MAX___359 = 1,
    _SC_CLK_TCK___359 = 2,
    _SC_NGROUPS_MAX___359 = 3,
    _SC_OPEN_MAX___359 = 4,
    _SC_STREAM_MAX___359 = 5,
    _SC_TZNAME_MAX___359 = 6,
    _SC_JOB_CONTROL___359 = 7,
    _SC_SAVED_IDS___359 = 8,
    _SC_REALTIME_SIGNALS___359 = 9,
    _SC_PRIORITY_SCHEDULING___359 = 10,
    _SC_TIMERS___359 = 11,
    _SC_ASYNCHRONOUS_IO___359 = 12,
    _SC_PRIORITIZED_IO___359 = 13,
    _SC_SYNCHRONIZED_IO___359 = 14,
    _SC_FSYNC___359 = 15,
    _SC_MAPPED_FILES___359 = 16,
    _SC_MEMLOCK___359 = 17,
    _SC_MEMLOCK_RANGE___359 = 18,
    _SC_MEMORY_PROTECTION___359 = 19,
    _SC_MESSAGE_PASSING___359 = 20,
    _SC_SEMAPHORES___359 = 21,
    _SC_SHARED_MEMORY_OBJECTS___359 = 22,
    _SC_AIO_LISTIO_MAX___359 = 23,
    _SC_AIO_MAX___359 = 24,
    _SC_AIO_PRIO_DELTA_MAX___359 = 25,
    _SC_DELAYTIMER_MAX___359 = 26,
    _SC_MQ_OPEN_MAX___359 = 27,
    _SC_MQ_PRIO_MAX___359 = 28,
    _SC_VERSION___359 = 29,
    _SC_PAGESIZE___359 = 30,
    _SC_RTSIG_MAX___359 = 31,
    _SC_SEM_NSEMS_MAX___359 = 32,
    _SC_SEM_VALUE_MAX___359 = 33,
    _SC_SIGQUEUE_MAX___359 = 34,
    _SC_TIMER_MAX___359 = 35,
    _SC_BC_BASE_MAX___359 = 36,
    _SC_BC_DIM_MAX___359 = 37,
    _SC_BC_SCALE_MAX___359 = 38,
    _SC_BC_STRING_MAX___359 = 39,
    _SC_COLL_WEIGHTS_MAX___359 = 40,
    _SC_EQUIV_CLASS_MAX___359 = 41,
    _SC_EXPR_NEST_MAX___359 = 42,
    _SC_LINE_MAX___359 = 43,
    _SC_RE_DUP_MAX___359 = 44,
    _SC_CHARCLASS_NAME_MAX___359 = 45,
    _SC_2_VERSION___359 = 46,
    _SC_2_C_BIND___359 = 47,
    _SC_2_C_DEV___359 = 48,
    _SC_2_FORT_DEV___359 = 49,
    _SC_2_FORT_RUN___359 = 50,
    _SC_2_SW_DEV___359 = 51,
    _SC_2_LOCALEDEF___359 = 52,
    _SC_PII___359 = 53,
    _SC_PII_XTI___359 = 54,
    _SC_PII_SOCKET___359 = 55,
    _SC_PII_INTERNET___359 = 56,
    _SC_PII_OSI___359 = 57,
    _SC_POLL___359 = 58,
    _SC_SELECT___359 = 59,
    _SC_UIO_MAXIOV___359 = 60,
    _SC_IOV_MAX___359 = 60,
    _SC_PII_INTERNET_STREAM___359 = 61,
    _SC_PII_INTERNET_DGRAM___359 = 62,
    _SC_PII_OSI_COTS___359 = 63,
    _SC_PII_OSI_CLTS___359 = 64,
    _SC_PII_OSI_M___359 = 65,
    _SC_T_IOV_MAX___359 = 66,
    _SC_THREADS___359 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___359 = 68,
    _SC_GETGR_R_SIZE_MAX___359 = 69,
    _SC_GETPW_R_SIZE_MAX___359 = 70,
    _SC_LOGIN_NAME_MAX___359 = 71,
    _SC_TTY_NAME_MAX___359 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___359 = 73,
    _SC_THREAD_KEYS_MAX___359 = 74,
    _SC_THREAD_STACK_MIN___359 = 75,
    _SC_THREAD_THREADS_MAX___359 = 76,
    _SC_THREAD_ATTR_STACKADDR___359 = 77,
    _SC_THREAD_ATTR_STACKSIZE___359 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___359 = 79,
    _SC_THREAD_PRIO_INHERIT___359 = 80,
    _SC_THREAD_PRIO_PROTECT___359 = 81,
    _SC_THREAD_PROCESS_SHARED___359 = 82,
    _SC_NPROCESSORS_CONF___359 = 83,
    _SC_NPROCESSORS_ONLN___359 = 84,
    _SC_PHYS_PAGES___359 = 85,
    _SC_AVPHYS_PAGES___359 = 86,
    _SC_ATEXIT_MAX___359 = 87,
    _SC_PASS_MAX___359 = 88,
    _SC_XOPEN_VERSION___359 = 89,
    _SC_XOPEN_XCU_VERSION___359 = 90,
    _SC_XOPEN_UNIX___359 = 91,
    _SC_XOPEN_CRYPT___359 = 92,
    _SC_XOPEN_ENH_I18N___359 = 93,
    _SC_XOPEN_SHM___359 = 94,
    _SC_2_CHAR_TERM___359 = 95,
    _SC_2_C_VERSION___359 = 96,
    _SC_2_UPE___359 = 97,
    _SC_XOPEN_XPG2___359 = 98,
    _SC_XOPEN_XPG3___359 = 99,
    _SC_XOPEN_XPG4___359 = 100,
    _SC_CHAR_BIT___359 = 101,
    _SC_CHAR_MAX___359 = 102,
    _SC_CHAR_MIN___359 = 103,
    _SC_INT_MAX___359 = 104,
    _SC_INT_MIN___359 = 105,
    _SC_LONG_BIT___359 = 106,
    _SC_WORD_BIT___359 = 107,
    _SC_MB_LEN_MAX___359 = 108,
    _SC_NZERO___359 = 109,
    _SC_SSIZE_MAX___359 = 110,
    _SC_SCHAR_MAX___359 = 111,
    _SC_SCHAR_MIN___359 = 112,
    _SC_SHRT_MAX___359 = 113,
    _SC_SHRT_MIN___359 = 114,
    _SC_UCHAR_MAX___359 = 115,
    _SC_UINT_MAX___359 = 116,
    _SC_ULONG_MAX___359 = 117,
    _SC_USHRT_MAX___359 = 118,
    _SC_NL_ARGMAX___359 = 119,
    _SC_NL_LANGMAX___359 = 120,
    _SC_NL_MSGMAX___359 = 121,
    _SC_NL_NMAX___359 = 122,
    _SC_NL_SETMAX___359 = 123,
    _SC_NL_TEXTMAX___359 = 124,
    _SC_XBS5_ILP32_OFF32___359 = 125,
    _SC_XBS5_ILP32_OFFBIG___359 = 126,
    _SC_XBS5_LP64_OFF64___359 = 127,
    _SC_XBS5_LPBIG_OFFBIG___359 = 128,
    _SC_XOPEN_LEGACY___359 = 129,
    _SC_XOPEN_REALTIME___359 = 130,
    _SC_XOPEN_REALTIME_THREADS___359 = 131,
    _SC_ADVISORY_INFO___359 = 132,
    _SC_BARRIERS___359 = 133,
    _SC_BASE___359 = 134,
    _SC_C_LANG_SUPPORT___359 = 135,
    _SC_C_LANG_SUPPORT_R___359 = 136,
    _SC_CLOCK_SELECTION___359 = 137,
    _SC_CPUTIME___359 = 138,
    _SC_THREAD_CPUTIME___359 = 139,
    _SC_DEVICE_IO___359 = 140,
    _SC_DEVICE_SPECIFIC___359 = 141,
    _SC_DEVICE_SPECIFIC_R___359 = 142,
    _SC_FD_MGMT___359 = 143,
    _SC_FIFO___359 = 144,
    _SC_PIPE___359 = 145,
    _SC_FILE_ATTRIBUTES___359 = 146,
    _SC_FILE_LOCKING___359 = 147,
    _SC_FILE_SYSTEM___359 = 148,
    _SC_MONOTONIC_CLOCK___359 = 149,
    _SC_MULTI_PROCESS___359 = 150,
    _SC_SINGLE_PROCESS___359 = 151,
    _SC_NETWORKING___359 = 152,
    _SC_READER_WRITER_LOCKS___359 = 153,
    _SC_SPIN_LOCKS___359 = 154,
    _SC_REGEXP___359 = 155,
    _SC_REGEX_VERSION___359 = 156,
    _SC_SHELL___359 = 157,
    _SC_SIGNALS___359 = 158,
    _SC_SPAWN___359 = 159,
    _SC_SPORADIC_SERVER___359 = 160,
    _SC_THREAD_SPORADIC_SERVER___359 = 161,
    _SC_SYSTEM_DATABASE___359 = 162,
    _SC_SYSTEM_DATABASE_R___359 = 163,
    _SC_TIMEOUTS___359 = 164,
    _SC_TYPED_MEMORY_OBJECTS___359 = 165,
    _SC_USER_GROUPS___359 = 166,
    _SC_USER_GROUPS_R___359 = 167,
    _SC_2_PBS___359 = 168,
    _SC_2_PBS_ACCOUNTING___359 = 169,
    _SC_2_PBS_LOCATE___359 = 170,
    _SC_2_PBS_MESSAGE___359 = 171,
    _SC_2_PBS_TRACK___359 = 172,
    _SC_SYMLOOP_MAX___359 = 173,
    _SC_STREAMS___359 = 174,
    _SC_2_PBS_CHECKPOINT___359 = 175,
    _SC_V6_ILP32_OFF32___359 = 176,
    _SC_V6_ILP32_OFFBIG___359 = 177,
    _SC_V6_LP64_OFF64___359 = 178,
    _SC_V6_LPBIG_OFFBIG___359 = 179,
    _SC_HOST_NAME_MAX___359 = 180,
    _SC_TRACE___359 = 181,
    _SC_TRACE_EVENT_FILTER___359 = 182,
    _SC_TRACE_INHERIT___359 = 183,
    _SC_TRACE_LOG___359 = 184,
    _SC_LEVEL1_ICACHE_SIZE___359 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___359 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___359 = 187,
    _SC_LEVEL1_DCACHE_SIZE___359 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___359 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___359 = 190,
    _SC_LEVEL2_CACHE_SIZE___359 = 191,
    _SC_LEVEL2_CACHE_ASSOC___359 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___359 = 193,
    _SC_LEVEL3_CACHE_SIZE___359 = 194,
    _SC_LEVEL3_CACHE_ASSOC___359 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___359 = 196,
    _SC_LEVEL4_CACHE_SIZE___359 = 197,
    _SC_LEVEL4_CACHE_ASSOC___359 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___359 = 199,
    _SC_IPV6___359 = 235,
    _SC_RAW_SOCKETS___359 = 236,
    _SC_V7_ILP32_OFF32___359 = 237,
    _SC_V7_ILP32_OFFBIG___359 = 238,
    _SC_V7_LP64_OFF64___359 = 239,
    _SC_V7_LPBIG_OFFBIG___359 = 240,
    _SC_SS_REPL_MAX___359 = 241,
    _SC_TRACE_EVENT_NAME_MAX___359 = 242,
    _SC_TRACE_NAME_MAX___359 = 243,
    _SC_TRACE_SYS_MAX___359 = 244,
    _SC_TRACE_USER_EVENT_MAX___359 = 245,
    _SC_XOPEN_STREAMS___359 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___359 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___359 = 248
} ;
enum __anonenum_875524036___359 {
    _CS_PATH___359 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___359 = 1,
    _CS_GNU_LIBC_VERSION___359 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___359 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___359 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___359 = 5,
    _CS_LFS_CFLAGS___359 = 1000,
    _CS_LFS_LDFLAGS___359 = 1001,
    _CS_LFS_LIBS___359 = 1002,
    _CS_LFS_LINTFLAGS___359 = 1003,
    _CS_LFS64_CFLAGS___359 = 1004,
    _CS_LFS64_LDFLAGS___359 = 1005,
    _CS_LFS64_LIBS___359 = 1006,
    _CS_LFS64_LINTFLAGS___359 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___359 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___359 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___359 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___359 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___359 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___359 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___359 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___359 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___359 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___359 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___359 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___359 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___359 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___359 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___359 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___359 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___359 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___359 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___359 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___359 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___359 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___359 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___359 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___359 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___359 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___359 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___359 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___359 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___359 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___359 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___359 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___359 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___359 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___359 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___359 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___359 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___359 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___359 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___359 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___359 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___359 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___359 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___359 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___359 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___359 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___359 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___359 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___359 = 1147,
    _CS_V6_ENV___359 = 1148,
    _CS_V7_ENV___359 = 1149
} ;
enum __anonenum_513775621___359 {
    DT_UNKNOWN___359 = 0,
    DT_FIFO___359 = 1,
    DT_CHR___359 = 2,
    DT_DIR___359 = 4,
    DT_BLK___359 = 6,
    DT_REG___359 = 8,
    DT_LNK___359 = 10,
    DT_SOCK___359 = 12,
    DT_WHT___359 = 14
} ;
enum __anonenum_77002343___359 {
    SI_ASYNCNL___359 = -60,
    SI_TKILL___359 = -6,
    SI_SIGIO___359 = -5,
    SI_ASYNCIO___359 = -4,
    SI_MESGQ___359 = -3,
    SI_TIMER___359 = -2,
    SI_QUEUE___359 = -1,
    SI_USER___359 = 0,
    SI_KERNEL___359 = 128
} ;
enum __anonenum_131038172___359 {
    ILL_ILLOPC___359 = 1,
    ILL_ILLOPN___359 = 2,
    ILL_ILLADR___359 = 3,
    ILL_ILLTRP___359 = 4,
    ILL_PRVOPC___359 = 5,
    ILL_PRVREG___359 = 6,
    ILL_COPROC___359 = 7,
    ILL_BADSTK___359 = 8
} ;
enum __anonenum_452038093___359 {
    FPE_INTDIV___359 = 1,
    FPE_INTOVF___359 = 2,
    FPE_FLTDIV___359 = 3,
    FPE_FLTOVF___359 = 4,
    FPE_FLTUND___359 = 5,
    FPE_FLTRES___359 = 6,
    FPE_FLTINV___359 = 7,
    FPE_FLTSUB___359 = 8
} ;
enum __anonenum_30976155___359 {
    SEGV_MAPERR___359 = 1,
    SEGV_ACCERR___359 = 2,
    SEGV_BNDERR___359 = 3,
    SEGV_PKUERR___359 = 4
} ;
enum __anonenum_1036286214___359 {
    BUS_ADRALN___359 = 1,
    BUS_ADRERR___359 = 2,
    BUS_OBJERR___359 = 3,
    BUS_MCEERR_AR___359 = 4,
    BUS_MCEERR_AO___359 = 5
} ;
enum __anonenum_493465559___359 {
    TRAP_BRKPT___359 = 1,
    TRAP_TRACE___359 = 2
} ;
enum __anonenum_23175539___359 {
    CLD_EXITED___359 = 1,
    CLD_KILLED___359 = 2,
    CLD_DUMPED___359 = 3,
    CLD_TRAPPED___359 = 4,
    CLD_STOPPED___359 = 5,
    CLD_CONTINUED___359 = 6
} ;
enum __anonenum_111643124___359 {
    POLL_IN___359 = 1,
    POLL_OUT___359 = 2,
    POLL_MSG___359 = 3,
    POLL_ERR___359 = 4,
    POLL_PRI___359 = 5,
    POLL_HUP___359 = 6
} ;
enum __anonenum_852341087___359 {
    SIGEV_SIGNAL___359 = 0,
    SIGEV_NONE___359 = 1,
    SIGEV_THREAD___359 = 2,
    SIGEV_THREAD_ID___359 = 4
} ;
enum __anonenum_451154152___359 {
    REG_R8___359 = 0,
    REG_R9___359 = 1,
    REG_R10___359 = 2,
    REG_R11___359 = 3,
    REG_R12___359 = 4,
    REG_R13___359 = 5,
    REG_R14___359 = 6,
    REG_R15___359 = 7,
    REG_RDI___359 = 8,
    REG_RSI___359 = 9,
    REG_RBP___359 = 10,
    REG_RBX___359 = 11,
    REG_RDX___359 = 12,
    REG_RAX___359 = 13,
    REG_RCX___359 = 14,
    REG_RSP___359 = 15,
    REG_RIP___359 = 16,
    REG_EFL___359 = 17,
    REG_CSGSFS___359 = 18,
    REG_ERR___359 = 19,
    REG_TRAPNO___359 = 20,
    REG_OLDMASK___359 = 21,
    REG_CR2___359 = 22
} ;
enum __anonenum_57186863___359 {
    SS_ONSTACK___359 = 1,
    SS_DISABLE___359 = 2
} ;
enum __anonenum_83571709___359 {
    MSG_OOB___359 = 1,
    MSG_PEEK___359 = 2,
    MSG_DONTROUTE___359 = 4,
    MSG_TRYHARD___359 = 4,
    MSG_CTRUNC___359 = 8,
    MSG_PROXY___359 = 16,
    MSG_TRUNC___359 = 32,
    MSG_DONTWAIT___359 = 64,
    MSG_EOR___359 = 128,
    MSG_WAITALL___359 = 256,
    MSG_FIN___359 = 512,
    MSG_SYN___359 = 1024,
    MSG_CONFIRM___359 = 2048,
    MSG_RST___359 = 4096,
    MSG_ERRQUEUE___359 = 8192,
    MSG_NOSIGNAL___359 = 16384,
    MSG_MORE___359 = 32768,
    MSG_WAITFORONE___359 = 65536,
    MSG_BATCH___359 = 262144,
    MSG_ZEROCOPY___359 = 67108864,
    MSG_FASTOPEN___359 = 536870912,
    MSG_CMSG_CLOEXEC___359 = 1073741824
} ;
enum __anonenum_617082774___359 {
    SCM_RIGHTS___359 = 1,
    SCM_CREDENTIALS___359 = 2
} ;
enum __anonenum_606441560___359 {
    SHUT_RD___359 = 0,
    SHUT_WR___359 = 1,
    SHUT_RDWR___359 = 2
} ;
enum __anonenum_681669233___359 {
    IPPROTO_IP___359 = 0,
    IPPROTO_ICMP___359 = 1,
    IPPROTO_IGMP___359 = 2,
    IPPROTO_IPIP___359 = 4,
    IPPROTO_TCP___359 = 6,
    IPPROTO_EGP___359 = 8,
    IPPROTO_PUP___359 = 12,
    IPPROTO_UDP___359 = 17,
    IPPROTO_IDP___359 = 22,
    IPPROTO_TP___359 = 29,
    IPPROTO_DCCP___359 = 33,
    IPPROTO_IPV6___359 = 41,
    IPPROTO_RSVP___359 = 46,
    IPPROTO_GRE___359 = 47,
    IPPROTO_ESP___359 = 50,
    IPPROTO_AH___359 = 51,
    IPPROTO_MTP___359 = 92,
    IPPROTO_BEETPH___359 = 94,
    IPPROTO_ENCAP___359 = 98,
    IPPROTO_PIM___359 = 103,
    IPPROTO_COMP___359 = 108,
    IPPROTO_SCTP___359 = 132,
    IPPROTO_UDPLITE___359 = 136,
    IPPROTO_MPLS___359 = 137,
    IPPROTO_RAW___359 = 255,
    IPPROTO_MAX___359 = 256
} ;
enum __anonenum_218739988___359 {
    IPPROTO_HOPOPTS___359 = 0,
    IPPROTO_ROUTING___359 = 43,
    IPPROTO_FRAGMENT___359 = 44,
    IPPROTO_ICMPV6___359 = 58,
    IPPROTO_NONE___359 = 59,
    IPPROTO_DSTOPTS___359 = 60,
    IPPROTO_MH___359 = 135
} ;
enum __anonenum_662268580___359 {
    IPPORT_ECHO___359 = 7,
    IPPORT_DISCARD___359 = 9,
    IPPORT_SYSTAT___359 = 11,
    IPPORT_DAYTIME___359 = 13,
    IPPORT_NETSTAT___359 = 15,
    IPPORT_FTP___359 = 21,
    IPPORT_TELNET___359 = 23,
    IPPORT_SMTP___359 = 25,
    IPPORT_TIMESERVER___359 = 37,
    IPPORT_NAMESERVER___359 = 42,
    IPPORT_WHOIS___359 = 43,
    IPPORT_MTP___359 = 57,
    IPPORT_TFTP___359 = 69,
    IPPORT_RJE___359 = 77,
    IPPORT_FINGER___359 = 79,
    IPPORT_TTYLINK___359 = 87,
    IPPORT_SUPDUP___359 = 95,
    IPPORT_EXECSERVER___359 = 512,
    IPPORT_LOGINSERVER___359 = 513,
    IPPORT_CMDSERVER___359 = 514,
    IPPORT_EFSSERVER___359 = 520,
    IPPORT_BIFFUDP___359 = 512,
    IPPORT_WHOSERVER___359 = 513,
    IPPORT_ROUTESERVER___359 = 520,
    IPPORT_RESERVED___359 = 1024,
    IPPORT_USERRESERVED___359 = 5000
} ;
enum __anonenum_788308992___359 {
    TCP_ESTABLISHED___359 = 1,
    TCP_SYN_SENT___359 = 2,
    TCP_SYN_RECV___359 = 3,
    TCP_FIN_WAIT1___359 = 4,
    TCP_FIN_WAIT2___359 = 5,
    TCP_TIME_WAIT___359 = 6,
    TCP_CLOSE___359 = 7,
    TCP_CLOSE_WAIT___359 = 8,
    TCP_LAST_ACK___359 = 9,
    TCP_LISTEN___359 = 10,
    TCP_CLOSING___359 = 11
} ;
enum __anonenum_221125648___359 {
    TCP_NO_QUEUE___359 = 0,
    TCP_RECV_QUEUE___359 = 1,
    TCP_SEND_QUEUE___359 = 2,
    TCP_QUEUES_NR___359 = 3
} ;
enum __anonenum_34415463___359 {
    PTHREAD_CREATE_JOINABLE___359 = 0,
    PTHREAD_CREATE_DETACHED___359 = 1
} ;
enum __anonenum_303612439___359 {
    PTHREAD_MUTEX_TIMED_NP___359 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___359 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___359 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___359 = 3,
    PTHREAD_MUTEX_NORMAL___359 = 0,
    PTHREAD_MUTEX_RECURSIVE___359 = 1,
    PTHREAD_MUTEX_ERRORCHECK___359 = 2,
    PTHREAD_MUTEX_DEFAULT___359 = 0,
    PTHREAD_MUTEX_FAST_NP___359 = 0
} ;
enum __anonenum_931900394___359 {
    PTHREAD_MUTEX_STALLED___359 = 0,
    PTHREAD_MUTEX_STALLED_NP___359 = 0,
    PTHREAD_MUTEX_ROBUST___359 = 1,
    PTHREAD_MUTEX_ROBUST_NP___359 = 1
} ;
enum __anonenum_205214487___359 {
    PTHREAD_PRIO_NONE___359 = 0,
    PTHREAD_PRIO_INHERIT___359 = 1,
    PTHREAD_PRIO_PROTECT___359 = 2
} ;
enum __anonenum_25043950___359 {
    PTHREAD_RWLOCK_PREFER_READER_NP___359 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___359 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___359 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___359 = 0
} ;
enum __anonenum_436439511___359 {
    PTHREAD_INHERIT_SCHED___359 = 0,
    PTHREAD_EXPLICIT_SCHED___359 = 1
} ;
enum __anonenum_998661166___359 {
    PTHREAD_SCOPE_SYSTEM___359 = 0,
    PTHREAD_SCOPE_PROCESS___359 = 1
} ;
enum __anonenum_146137331___359 {
    PTHREAD_PROCESS_PRIVATE___359 = 0,
    PTHREAD_PROCESS_SHARED___359 = 1
} ;
enum __anonenum_53396917___359 {
    PTHREAD_CANCEL_ENABLE___359 = 0,
    PTHREAD_CANCEL_DISABLE___359 = 1
} ;
enum __anonenum_904563783___359 {
    PTHREAD_CANCEL_DEFERRED___359 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___359 = 1
} ;
enum __anonenum_672052974___359 {
    SSL_CT_VALIDATION_PERMISSIVE___359 = 0,
    SSL_CT_VALIDATION_STRICT___359 = 1
} ;
enum replace_format {
    REPLACE_FORMAT_SHORT = 0,
    REPLACE_FORMAT_MEDIUM = 1,
    REPLACE_FORMAT_LONG = 2
} ;
struct show_data {
   char const   *pattern ;
   enum replace_format format ;
};
typedef int (*each_replace_name_fn)(char const   *name , char const   *ref , struct object_id  const  *oid );
struct check_mergetag_data {
   int argc ;
   char const   **argv ;
};
enum __anonenum_cmdmode_716459681 {
    MODE_UNSPECIFIED = 0,
    MODE_LIST = 1,
    MODE_DELETE = 2,
    MODE_EDIT = 3,
    MODE_GRAFT = 4,
    MODE_CONVERT_GRAFT_FILE = 5,
    MODE_REPLACE = 6
} ;
enum __anonenum_437032235___360 {
    _PC_LINK_MAX___360 = 0,
    _PC_MAX_CANON___360 = 1,
    _PC_MAX_INPUT___360 = 2,
    _PC_NAME_MAX___360 = 3,
    _PC_PATH_MAX___360 = 4,
    _PC_PIPE_BUF___360 = 5,
    _PC_CHOWN_RESTRICTED___360 = 6,
    _PC_NO_TRUNC___360 = 7,
    _PC_VDISABLE___360 = 8,
    _PC_SYNC_IO___360 = 9,
    _PC_ASYNC_IO___360 = 10,
    _PC_PRIO_IO___360 = 11,
    _PC_SOCK_MAXBUF___360 = 12,
    _PC_FILESIZEBITS___360 = 13,
    _PC_REC_INCR_XFER_SIZE___360 = 14,
    _PC_REC_MAX_XFER_SIZE___360 = 15,
    _PC_REC_MIN_XFER_SIZE___360 = 16,
    _PC_REC_XFER_ALIGN___360 = 17,
    _PC_ALLOC_SIZE_MIN___360 = 18,
    _PC_SYMLINK_MAX___360 = 19,
    _PC_2_SYMLINKS___360 = 20
} ;
enum __anonenum_315186338___360 {
    _SC_ARG_MAX___360 = 0,
    _SC_CHILD_MAX___360 = 1,
    _SC_CLK_TCK___360 = 2,
    _SC_NGROUPS_MAX___360 = 3,
    _SC_OPEN_MAX___360 = 4,
    _SC_STREAM_MAX___360 = 5,
    _SC_TZNAME_MAX___360 = 6,
    _SC_JOB_CONTROL___360 = 7,
    _SC_SAVED_IDS___360 = 8,
    _SC_REALTIME_SIGNALS___360 = 9,
    _SC_PRIORITY_SCHEDULING___360 = 10,
    _SC_TIMERS___360 = 11,
    _SC_ASYNCHRONOUS_IO___360 = 12,
    _SC_PRIORITIZED_IO___360 = 13,
    _SC_SYNCHRONIZED_IO___360 = 14,
    _SC_FSYNC___360 = 15,
    _SC_MAPPED_FILES___360 = 16,
    _SC_MEMLOCK___360 = 17,
    _SC_MEMLOCK_RANGE___360 = 18,
    _SC_MEMORY_PROTECTION___360 = 19,
    _SC_MESSAGE_PASSING___360 = 20,
    _SC_SEMAPHORES___360 = 21,
    _SC_SHARED_MEMORY_OBJECTS___360 = 22,
    _SC_AIO_LISTIO_MAX___360 = 23,
    _SC_AIO_MAX___360 = 24,
    _SC_AIO_PRIO_DELTA_MAX___360 = 25,
    _SC_DELAYTIMER_MAX___360 = 26,
    _SC_MQ_OPEN_MAX___360 = 27,
    _SC_MQ_PRIO_MAX___360 = 28,
    _SC_VERSION___360 = 29,
    _SC_PAGESIZE___360 = 30,
    _SC_RTSIG_MAX___360 = 31,
    _SC_SEM_NSEMS_MAX___360 = 32,
    _SC_SEM_VALUE_MAX___360 = 33,
    _SC_SIGQUEUE_MAX___360 = 34,
    _SC_TIMER_MAX___360 = 35,
    _SC_BC_BASE_MAX___360 = 36,
    _SC_BC_DIM_MAX___360 = 37,
    _SC_BC_SCALE_MAX___360 = 38,
    _SC_BC_STRING_MAX___360 = 39,
    _SC_COLL_WEIGHTS_MAX___360 = 40,
    _SC_EQUIV_CLASS_MAX___360 = 41,
    _SC_EXPR_NEST_MAX___360 = 42,
    _SC_LINE_MAX___360 = 43,
    _SC_RE_DUP_MAX___360 = 44,
    _SC_CHARCLASS_NAME_MAX___360 = 45,
    _SC_2_VERSION___360 = 46,
    _SC_2_C_BIND___360 = 47,
    _SC_2_C_DEV___360 = 48,
    _SC_2_FORT_DEV___360 = 49,
    _SC_2_FORT_RUN___360 = 50,
    _SC_2_SW_DEV___360 = 51,
    _SC_2_LOCALEDEF___360 = 52,
    _SC_PII___360 = 53,
    _SC_PII_XTI___360 = 54,
    _SC_PII_SOCKET___360 = 55,
    _SC_PII_INTERNET___360 = 56,
    _SC_PII_OSI___360 = 57,
    _SC_POLL___360 = 58,
    _SC_SELECT___360 = 59,
    _SC_UIO_MAXIOV___360 = 60,
    _SC_IOV_MAX___360 = 60,
    _SC_PII_INTERNET_STREAM___360 = 61,
    _SC_PII_INTERNET_DGRAM___360 = 62,
    _SC_PII_OSI_COTS___360 = 63,
    _SC_PII_OSI_CLTS___360 = 64,
    _SC_PII_OSI_M___360 = 65,
    _SC_T_IOV_MAX___360 = 66,
    _SC_THREADS___360 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___360 = 68,
    _SC_GETGR_R_SIZE_MAX___360 = 69,
    _SC_GETPW_R_SIZE_MAX___360 = 70,
    _SC_LOGIN_NAME_MAX___360 = 71,
    _SC_TTY_NAME_MAX___360 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___360 = 73,
    _SC_THREAD_KEYS_MAX___360 = 74,
    _SC_THREAD_STACK_MIN___360 = 75,
    _SC_THREAD_THREADS_MAX___360 = 76,
    _SC_THREAD_ATTR_STACKADDR___360 = 77,
    _SC_THREAD_ATTR_STACKSIZE___360 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___360 = 79,
    _SC_THREAD_PRIO_INHERIT___360 = 80,
    _SC_THREAD_PRIO_PROTECT___360 = 81,
    _SC_THREAD_PROCESS_SHARED___360 = 82,
    _SC_NPROCESSORS_CONF___360 = 83,
    _SC_NPROCESSORS_ONLN___360 = 84,
    _SC_PHYS_PAGES___360 = 85,
    _SC_AVPHYS_PAGES___360 = 86,
    _SC_ATEXIT_MAX___360 = 87,
    _SC_PASS_MAX___360 = 88,
    _SC_XOPEN_VERSION___360 = 89,
    _SC_XOPEN_XCU_VERSION___360 = 90,
    _SC_XOPEN_UNIX___360 = 91,
    _SC_XOPEN_CRYPT___360 = 92,
    _SC_XOPEN_ENH_I18N___360 = 93,
    _SC_XOPEN_SHM___360 = 94,
    _SC_2_CHAR_TERM___360 = 95,
    _SC_2_C_VERSION___360 = 96,
    _SC_2_UPE___360 = 97,
    _SC_XOPEN_XPG2___360 = 98,
    _SC_XOPEN_XPG3___360 = 99,
    _SC_XOPEN_XPG4___360 = 100,
    _SC_CHAR_BIT___360 = 101,
    _SC_CHAR_MAX___360 = 102,
    _SC_CHAR_MIN___360 = 103,
    _SC_INT_MAX___360 = 104,
    _SC_INT_MIN___360 = 105,
    _SC_LONG_BIT___360 = 106,
    _SC_WORD_BIT___360 = 107,
    _SC_MB_LEN_MAX___360 = 108,
    _SC_NZERO___360 = 109,
    _SC_SSIZE_MAX___360 = 110,
    _SC_SCHAR_MAX___360 = 111,
    _SC_SCHAR_MIN___360 = 112,
    _SC_SHRT_MAX___360 = 113,
    _SC_SHRT_MIN___360 = 114,
    _SC_UCHAR_MAX___360 = 115,
    _SC_UINT_MAX___360 = 116,
    _SC_ULONG_MAX___360 = 117,
    _SC_USHRT_MAX___360 = 118,
    _SC_NL_ARGMAX___360 = 119,
    _SC_NL_LANGMAX___360 = 120,
    _SC_NL_MSGMAX___360 = 121,
    _SC_NL_NMAX___360 = 122,
    _SC_NL_SETMAX___360 = 123,
    _SC_NL_TEXTMAX___360 = 124,
    _SC_XBS5_ILP32_OFF32___360 = 125,
    _SC_XBS5_ILP32_OFFBIG___360 = 126,
    _SC_XBS5_LP64_OFF64___360 = 127,
    _SC_XBS5_LPBIG_OFFBIG___360 = 128,
    _SC_XOPEN_LEGACY___360 = 129,
    _SC_XOPEN_REALTIME___360 = 130,
    _SC_XOPEN_REALTIME_THREADS___360 = 131,
    _SC_ADVISORY_INFO___360 = 132,
    _SC_BARRIERS___360 = 133,
    _SC_BASE___360 = 134,
    _SC_C_LANG_SUPPORT___360 = 135,
    _SC_C_LANG_SUPPORT_R___360 = 136,
    _SC_CLOCK_SELECTION___360 = 137,
    _SC_CPUTIME___360 = 138,
    _SC_THREAD_CPUTIME___360 = 139,
    _SC_DEVICE_IO___360 = 140,
    _SC_DEVICE_SPECIFIC___360 = 141,
    _SC_DEVICE_SPECIFIC_R___360 = 142,
    _SC_FD_MGMT___360 = 143,
    _SC_FIFO___360 = 144,
    _SC_PIPE___360 = 145,
    _SC_FILE_ATTRIBUTES___360 = 146,
    _SC_FILE_LOCKING___360 = 147,
    _SC_FILE_SYSTEM___360 = 148,
    _SC_MONOTONIC_CLOCK___360 = 149,
    _SC_MULTI_PROCESS___360 = 150,
    _SC_SINGLE_PROCESS___360 = 151,
    _SC_NETWORKING___360 = 152,
    _SC_READER_WRITER_LOCKS___360 = 153,
    _SC_SPIN_LOCKS___360 = 154,
    _SC_REGEXP___360 = 155,
    _SC_REGEX_VERSION___360 = 156,
    _SC_SHELL___360 = 157,
    _SC_SIGNALS___360 = 158,
    _SC_SPAWN___360 = 159,
    _SC_SPORADIC_SERVER___360 = 160,
    _SC_THREAD_SPORADIC_SERVER___360 = 161,
    _SC_SYSTEM_DATABASE___360 = 162,
    _SC_SYSTEM_DATABASE_R___360 = 163,
    _SC_TIMEOUTS___360 = 164,
    _SC_TYPED_MEMORY_OBJECTS___360 = 165,
    _SC_USER_GROUPS___360 = 166,
    _SC_USER_GROUPS_R___360 = 167,
    _SC_2_PBS___360 = 168,
    _SC_2_PBS_ACCOUNTING___360 = 169,
    _SC_2_PBS_LOCATE___360 = 170,
    _SC_2_PBS_MESSAGE___360 = 171,
    _SC_2_PBS_TRACK___360 = 172,
    _SC_SYMLOOP_MAX___360 = 173,
    _SC_STREAMS___360 = 174,
    _SC_2_PBS_CHECKPOINT___360 = 175,
    _SC_V6_ILP32_OFF32___360 = 176,
    _SC_V6_ILP32_OFFBIG___360 = 177,
    _SC_V6_LP64_OFF64___360 = 178,
    _SC_V6_LPBIG_OFFBIG___360 = 179,
    _SC_HOST_NAME_MAX___360 = 180,
    _SC_TRACE___360 = 181,
    _SC_TRACE_EVENT_FILTER___360 = 182,
    _SC_TRACE_INHERIT___360 = 183,
    _SC_TRACE_LOG___360 = 184,
    _SC_LEVEL1_ICACHE_SIZE___360 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___360 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___360 = 187,
    _SC_LEVEL1_DCACHE_SIZE___360 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___360 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___360 = 190,
    _SC_LEVEL2_CACHE_SIZE___360 = 191,
    _SC_LEVEL2_CACHE_ASSOC___360 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___360 = 193,
    _SC_LEVEL3_CACHE_SIZE___360 = 194,
    _SC_LEVEL3_CACHE_ASSOC___360 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___360 = 196,
    _SC_LEVEL4_CACHE_SIZE___360 = 197,
    _SC_LEVEL4_CACHE_ASSOC___360 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___360 = 199,
    _SC_IPV6___360 = 235,
    _SC_RAW_SOCKETS___360 = 236,
    _SC_V7_ILP32_OFF32___360 = 237,
    _SC_V7_ILP32_OFFBIG___360 = 238,
    _SC_V7_LP64_OFF64___360 = 239,
    _SC_V7_LPBIG_OFFBIG___360 = 240,
    _SC_SS_REPL_MAX___360 = 241,
    _SC_TRACE_EVENT_NAME_MAX___360 = 242,
    _SC_TRACE_NAME_MAX___360 = 243,
    _SC_TRACE_SYS_MAX___360 = 244,
    _SC_TRACE_USER_EVENT_MAX___360 = 245,
    _SC_XOPEN_STREAMS___360 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___360 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___360 = 248
} ;
enum __anonenum_875524036___360 {
    _CS_PATH___360 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___360 = 1,
    _CS_GNU_LIBC_VERSION___360 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___360 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___360 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___360 = 5,
    _CS_LFS_CFLAGS___360 = 1000,
    _CS_LFS_LDFLAGS___360 = 1001,
    _CS_LFS_LIBS___360 = 1002,
    _CS_LFS_LINTFLAGS___360 = 1003,
    _CS_LFS64_CFLAGS___360 = 1004,
    _CS_LFS64_LDFLAGS___360 = 1005,
    _CS_LFS64_LIBS___360 = 1006,
    _CS_LFS64_LINTFLAGS___360 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___360 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___360 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___360 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___360 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___360 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___360 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___360 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___360 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___360 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___360 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___360 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___360 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___360 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___360 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___360 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___360 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___360 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___360 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___360 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___360 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___360 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___360 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___360 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___360 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___360 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___360 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___360 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___360 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___360 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___360 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___360 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___360 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___360 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___360 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___360 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___360 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___360 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___360 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___360 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___360 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___360 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___360 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___360 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___360 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___360 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___360 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___360 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___360 = 1147,
    _CS_V6_ENV___360 = 1148,
    _CS_V7_ENV___360 = 1149
} ;
enum __anonenum_513775621___360 {
    DT_UNKNOWN___360 = 0,
    DT_FIFO___360 = 1,
    DT_CHR___360 = 2,
    DT_DIR___360 = 4,
    DT_BLK___360 = 6,
    DT_REG___360 = 8,
    DT_LNK___360 = 10,
    DT_SOCK___360 = 12,
    DT_WHT___360 = 14
} ;
enum __anonenum_77002343___360 {
    SI_ASYNCNL___360 = -60,
    SI_TKILL___360 = -6,
    SI_SIGIO___360 = -5,
    SI_ASYNCIO___360 = -4,
    SI_MESGQ___360 = -3,
    SI_TIMER___360 = -2,
    SI_QUEUE___360 = -1,
    SI_USER___360 = 0,
    SI_KERNEL___360 = 128
} ;
enum __anonenum_131038172___360 {
    ILL_ILLOPC___360 = 1,
    ILL_ILLOPN___360 = 2,
    ILL_ILLADR___360 = 3,
    ILL_ILLTRP___360 = 4,
    ILL_PRVOPC___360 = 5,
    ILL_PRVREG___360 = 6,
    ILL_COPROC___360 = 7,
    ILL_BADSTK___360 = 8
} ;
enum __anonenum_452038093___360 {
    FPE_INTDIV___360 = 1,
    FPE_INTOVF___360 = 2,
    FPE_FLTDIV___360 = 3,
    FPE_FLTOVF___360 = 4,
    FPE_FLTUND___360 = 5,
    FPE_FLTRES___360 = 6,
    FPE_FLTINV___360 = 7,
    FPE_FLTSUB___360 = 8
} ;
enum __anonenum_30976155___360 {
    SEGV_MAPERR___360 = 1,
    SEGV_ACCERR___360 = 2,
    SEGV_BNDERR___360 = 3,
    SEGV_PKUERR___360 = 4
} ;
enum __anonenum_1036286214___360 {
    BUS_ADRALN___360 = 1,
    BUS_ADRERR___360 = 2,
    BUS_OBJERR___360 = 3,
    BUS_MCEERR_AR___360 = 4,
    BUS_MCEERR_AO___360 = 5
} ;
enum __anonenum_493465559___360 {
    TRAP_BRKPT___360 = 1,
    TRAP_TRACE___360 = 2
} ;
enum __anonenum_23175539___360 {
    CLD_EXITED___360 = 1,
    CLD_KILLED___360 = 2,
    CLD_DUMPED___360 = 3,
    CLD_TRAPPED___360 = 4,
    CLD_STOPPED___360 = 5,
    CLD_CONTINUED___360 = 6
} ;
enum __anonenum_111643124___360 {
    POLL_IN___360 = 1,
    POLL_OUT___360 = 2,
    POLL_MSG___360 = 3,
    POLL_ERR___360 = 4,
    POLL_PRI___360 = 5,
    POLL_HUP___360 = 6
} ;
enum __anonenum_852341087___360 {
    SIGEV_SIGNAL___360 = 0,
    SIGEV_NONE___360 = 1,
    SIGEV_THREAD___360 = 2,
    SIGEV_THREAD_ID___360 = 4
} ;
enum __anonenum_451154152___360 {
    REG_R8___360 = 0,
    REG_R9___360 = 1,
    REG_R10___360 = 2,
    REG_R11___360 = 3,
    REG_R12___360 = 4,
    REG_R13___360 = 5,
    REG_R14___360 = 6,
    REG_R15___360 = 7,
    REG_RDI___360 = 8,
    REG_RSI___360 = 9,
    REG_RBP___360 = 10,
    REG_RBX___360 = 11,
    REG_RDX___360 = 12,
    REG_RAX___360 = 13,
    REG_RCX___360 = 14,
    REG_RSP___360 = 15,
    REG_RIP___360 = 16,
    REG_EFL___360 = 17,
    REG_CSGSFS___360 = 18,
    REG_ERR___360 = 19,
    REG_TRAPNO___360 = 20,
    REG_OLDMASK___360 = 21,
    REG_CR2___360 = 22
} ;
enum __anonenum_57186863___360 {
    SS_ONSTACK___360 = 1,
    SS_DISABLE___360 = 2
} ;
enum __anonenum_83571709___360 {
    MSG_OOB___360 = 1,
    MSG_PEEK___360 = 2,
    MSG_DONTROUTE___360 = 4,
    MSG_TRYHARD___360 = 4,
    MSG_CTRUNC___360 = 8,
    MSG_PROXY___360 = 16,
    MSG_TRUNC___360 = 32,
    MSG_DONTWAIT___360 = 64,
    MSG_EOR___360 = 128,
    MSG_WAITALL___360 = 256,
    MSG_FIN___360 = 512,
    MSG_SYN___360 = 1024,
    MSG_CONFIRM___360 = 2048,
    MSG_RST___360 = 4096,
    MSG_ERRQUEUE___360 = 8192,
    MSG_NOSIGNAL___360 = 16384,
    MSG_MORE___360 = 32768,
    MSG_WAITFORONE___360 = 65536,
    MSG_BATCH___360 = 262144,
    MSG_ZEROCOPY___360 = 67108864,
    MSG_FASTOPEN___360 = 536870912,
    MSG_CMSG_CLOEXEC___360 = 1073741824
} ;
enum __anonenum_617082774___360 {
    SCM_RIGHTS___360 = 1,
    SCM_CREDENTIALS___360 = 2
} ;
enum __anonenum_606441560___360 {
    SHUT_RD___360 = 0,
    SHUT_WR___360 = 1,
    SHUT_RDWR___360 = 2
} ;
enum __anonenum_681669233___360 {
    IPPROTO_IP___360 = 0,
    IPPROTO_ICMP___360 = 1,
    IPPROTO_IGMP___360 = 2,
    IPPROTO_IPIP___360 = 4,
    IPPROTO_TCP___360 = 6,
    IPPROTO_EGP___360 = 8,
    IPPROTO_PUP___360 = 12,
    IPPROTO_UDP___360 = 17,
    IPPROTO_IDP___360 = 22,
    IPPROTO_TP___360 = 29,
    IPPROTO_DCCP___360 = 33,
    IPPROTO_IPV6___360 = 41,
    IPPROTO_RSVP___360 = 46,
    IPPROTO_GRE___360 = 47,
    IPPROTO_ESP___360 = 50,
    IPPROTO_AH___360 = 51,
    IPPROTO_MTP___360 = 92,
    IPPROTO_BEETPH___360 = 94,
    IPPROTO_ENCAP___360 = 98,
    IPPROTO_PIM___360 = 103,
    IPPROTO_COMP___360 = 108,
    IPPROTO_SCTP___360 = 132,
    IPPROTO_UDPLITE___360 = 136,
    IPPROTO_MPLS___360 = 137,
    IPPROTO_RAW___360 = 255,
    IPPROTO_MAX___360 = 256
} ;
enum __anonenum_218739988___360 {
    IPPROTO_HOPOPTS___360 = 0,
    IPPROTO_ROUTING___360 = 43,
    IPPROTO_FRAGMENT___360 = 44,
    IPPROTO_ICMPV6___360 = 58,
    IPPROTO_NONE___360 = 59,
    IPPROTO_DSTOPTS___360 = 60,
    IPPROTO_MH___360 = 135
} ;
enum __anonenum_662268580___360 {
    IPPORT_ECHO___360 = 7,
    IPPORT_DISCARD___360 = 9,
    IPPORT_SYSTAT___360 = 11,
    IPPORT_DAYTIME___360 = 13,
    IPPORT_NETSTAT___360 = 15,
    IPPORT_FTP___360 = 21,
    IPPORT_TELNET___360 = 23,
    IPPORT_SMTP___360 = 25,
    IPPORT_TIMESERVER___360 = 37,
    IPPORT_NAMESERVER___360 = 42,
    IPPORT_WHOIS___360 = 43,
    IPPORT_MTP___360 = 57,
    IPPORT_TFTP___360 = 69,
    IPPORT_RJE___360 = 77,
    IPPORT_FINGER___360 = 79,
    IPPORT_TTYLINK___360 = 87,
    IPPORT_SUPDUP___360 = 95,
    IPPORT_EXECSERVER___360 = 512,
    IPPORT_LOGINSERVER___360 = 513,
    IPPORT_CMDSERVER___360 = 514,
    IPPORT_EFSSERVER___360 = 520,
    IPPORT_BIFFUDP___360 = 512,
    IPPORT_WHOSERVER___360 = 513,
    IPPORT_ROUTESERVER___360 = 520,
    IPPORT_RESERVED___360 = 1024,
    IPPORT_USERRESERVED___360 = 5000
} ;
enum __anonenum_788308992___360 {
    TCP_ESTABLISHED___360 = 1,
    TCP_SYN_SENT___360 = 2,
    TCP_SYN_RECV___360 = 3,
    TCP_FIN_WAIT1___360 = 4,
    TCP_FIN_WAIT2___360 = 5,
    TCP_TIME_WAIT___360 = 6,
    TCP_CLOSE___360 = 7,
    TCP_CLOSE_WAIT___360 = 8,
    TCP_LAST_ACK___360 = 9,
    TCP_LISTEN___360 = 10,
    TCP_CLOSING___360 = 11
} ;
enum __anonenum_221125648___360 {
    TCP_NO_QUEUE___360 = 0,
    TCP_RECV_QUEUE___360 = 1,
    TCP_SEND_QUEUE___360 = 2,
    TCP_QUEUES_NR___360 = 3
} ;
enum __anonenum_34415463___360 {
    PTHREAD_CREATE_JOINABLE___360 = 0,
    PTHREAD_CREATE_DETACHED___360 = 1
} ;
enum __anonenum_303612439___360 {
    PTHREAD_MUTEX_TIMED_NP___360 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___360 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___360 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___360 = 3,
    PTHREAD_MUTEX_NORMAL___360 = 0,
    PTHREAD_MUTEX_RECURSIVE___360 = 1,
    PTHREAD_MUTEX_ERRORCHECK___360 = 2,
    PTHREAD_MUTEX_DEFAULT___360 = 0,
    PTHREAD_MUTEX_FAST_NP___360 = 0
} ;
enum __anonenum_931900394___360 {
    PTHREAD_MUTEX_STALLED___360 = 0,
    PTHREAD_MUTEX_STALLED_NP___360 = 0,
    PTHREAD_MUTEX_ROBUST___360 = 1,
    PTHREAD_MUTEX_ROBUST_NP___360 = 1
} ;
enum __anonenum_205214487___360 {
    PTHREAD_PRIO_NONE___360 = 0,
    PTHREAD_PRIO_INHERIT___360 = 1,
    PTHREAD_PRIO_PROTECT___360 = 2
} ;
enum __anonenum_25043950___360 {
    PTHREAD_RWLOCK_PREFER_READER_NP___360 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___360 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___360 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___360 = 0
} ;
enum __anonenum_436439511___360 {
    PTHREAD_INHERIT_SCHED___360 = 0,
    PTHREAD_EXPLICIT_SCHED___360 = 1
} ;
enum __anonenum_998661166___360 {
    PTHREAD_SCOPE_SYSTEM___360 = 0,
    PTHREAD_SCOPE_PROCESS___360 = 1
} ;
enum __anonenum_146137331___360 {
    PTHREAD_PROCESS_PRIVATE___360 = 0,
    PTHREAD_PROCESS_SHARED___360 = 1
} ;
enum __anonenum_53396917___360 {
    PTHREAD_CANCEL_ENABLE___360 = 0,
    PTHREAD_CANCEL_DISABLE___360 = 1
} ;
enum __anonenum_904563783___360 {
    PTHREAD_CANCEL_DEFERRED___360 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___360 = 1
} ;
enum __anonenum_672052974___360 {
    SSL_CT_VALIDATION_PERMISSIVE___360 = 0,
    SSL_CT_VALIDATION_STRICT___360 = 1
} ;
enum __anonenum_437032235___361 {
    _PC_LINK_MAX___361 = 0,
    _PC_MAX_CANON___361 = 1,
    _PC_MAX_INPUT___361 = 2,
    _PC_NAME_MAX___361 = 3,
    _PC_PATH_MAX___361 = 4,
    _PC_PIPE_BUF___361 = 5,
    _PC_CHOWN_RESTRICTED___361 = 6,
    _PC_NO_TRUNC___361 = 7,
    _PC_VDISABLE___361 = 8,
    _PC_SYNC_IO___361 = 9,
    _PC_ASYNC_IO___361 = 10,
    _PC_PRIO_IO___361 = 11,
    _PC_SOCK_MAXBUF___361 = 12,
    _PC_FILESIZEBITS___361 = 13,
    _PC_REC_INCR_XFER_SIZE___361 = 14,
    _PC_REC_MAX_XFER_SIZE___361 = 15,
    _PC_REC_MIN_XFER_SIZE___361 = 16,
    _PC_REC_XFER_ALIGN___361 = 17,
    _PC_ALLOC_SIZE_MIN___361 = 18,
    _PC_SYMLINK_MAX___361 = 19,
    _PC_2_SYMLINKS___361 = 20
} ;
enum __anonenum_315186338___361 {
    _SC_ARG_MAX___361 = 0,
    _SC_CHILD_MAX___361 = 1,
    _SC_CLK_TCK___361 = 2,
    _SC_NGROUPS_MAX___361 = 3,
    _SC_OPEN_MAX___361 = 4,
    _SC_STREAM_MAX___361 = 5,
    _SC_TZNAME_MAX___361 = 6,
    _SC_JOB_CONTROL___361 = 7,
    _SC_SAVED_IDS___361 = 8,
    _SC_REALTIME_SIGNALS___361 = 9,
    _SC_PRIORITY_SCHEDULING___361 = 10,
    _SC_TIMERS___361 = 11,
    _SC_ASYNCHRONOUS_IO___361 = 12,
    _SC_PRIORITIZED_IO___361 = 13,
    _SC_SYNCHRONIZED_IO___361 = 14,
    _SC_FSYNC___361 = 15,
    _SC_MAPPED_FILES___361 = 16,
    _SC_MEMLOCK___361 = 17,
    _SC_MEMLOCK_RANGE___361 = 18,
    _SC_MEMORY_PROTECTION___361 = 19,
    _SC_MESSAGE_PASSING___361 = 20,
    _SC_SEMAPHORES___361 = 21,
    _SC_SHARED_MEMORY_OBJECTS___361 = 22,
    _SC_AIO_LISTIO_MAX___361 = 23,
    _SC_AIO_MAX___361 = 24,
    _SC_AIO_PRIO_DELTA_MAX___361 = 25,
    _SC_DELAYTIMER_MAX___361 = 26,
    _SC_MQ_OPEN_MAX___361 = 27,
    _SC_MQ_PRIO_MAX___361 = 28,
    _SC_VERSION___361 = 29,
    _SC_PAGESIZE___361 = 30,
    _SC_RTSIG_MAX___361 = 31,
    _SC_SEM_NSEMS_MAX___361 = 32,
    _SC_SEM_VALUE_MAX___361 = 33,
    _SC_SIGQUEUE_MAX___361 = 34,
    _SC_TIMER_MAX___361 = 35,
    _SC_BC_BASE_MAX___361 = 36,
    _SC_BC_DIM_MAX___361 = 37,
    _SC_BC_SCALE_MAX___361 = 38,
    _SC_BC_STRING_MAX___361 = 39,
    _SC_COLL_WEIGHTS_MAX___361 = 40,
    _SC_EQUIV_CLASS_MAX___361 = 41,
    _SC_EXPR_NEST_MAX___361 = 42,
    _SC_LINE_MAX___361 = 43,
    _SC_RE_DUP_MAX___361 = 44,
    _SC_CHARCLASS_NAME_MAX___361 = 45,
    _SC_2_VERSION___361 = 46,
    _SC_2_C_BIND___361 = 47,
    _SC_2_C_DEV___361 = 48,
    _SC_2_FORT_DEV___361 = 49,
    _SC_2_FORT_RUN___361 = 50,
    _SC_2_SW_DEV___361 = 51,
    _SC_2_LOCALEDEF___361 = 52,
    _SC_PII___361 = 53,
    _SC_PII_XTI___361 = 54,
    _SC_PII_SOCKET___361 = 55,
    _SC_PII_INTERNET___361 = 56,
    _SC_PII_OSI___361 = 57,
    _SC_POLL___361 = 58,
    _SC_SELECT___361 = 59,
    _SC_UIO_MAXIOV___361 = 60,
    _SC_IOV_MAX___361 = 60,
    _SC_PII_INTERNET_STREAM___361 = 61,
    _SC_PII_INTERNET_DGRAM___361 = 62,
    _SC_PII_OSI_COTS___361 = 63,
    _SC_PII_OSI_CLTS___361 = 64,
    _SC_PII_OSI_M___361 = 65,
    _SC_T_IOV_MAX___361 = 66,
    _SC_THREADS___361 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___361 = 68,
    _SC_GETGR_R_SIZE_MAX___361 = 69,
    _SC_GETPW_R_SIZE_MAX___361 = 70,
    _SC_LOGIN_NAME_MAX___361 = 71,
    _SC_TTY_NAME_MAX___361 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___361 = 73,
    _SC_THREAD_KEYS_MAX___361 = 74,
    _SC_THREAD_STACK_MIN___361 = 75,
    _SC_THREAD_THREADS_MAX___361 = 76,
    _SC_THREAD_ATTR_STACKADDR___361 = 77,
    _SC_THREAD_ATTR_STACKSIZE___361 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___361 = 79,
    _SC_THREAD_PRIO_INHERIT___361 = 80,
    _SC_THREAD_PRIO_PROTECT___361 = 81,
    _SC_THREAD_PROCESS_SHARED___361 = 82,
    _SC_NPROCESSORS_CONF___361 = 83,
    _SC_NPROCESSORS_ONLN___361 = 84,
    _SC_PHYS_PAGES___361 = 85,
    _SC_AVPHYS_PAGES___361 = 86,
    _SC_ATEXIT_MAX___361 = 87,
    _SC_PASS_MAX___361 = 88,
    _SC_XOPEN_VERSION___361 = 89,
    _SC_XOPEN_XCU_VERSION___361 = 90,
    _SC_XOPEN_UNIX___361 = 91,
    _SC_XOPEN_CRYPT___361 = 92,
    _SC_XOPEN_ENH_I18N___361 = 93,
    _SC_XOPEN_SHM___361 = 94,
    _SC_2_CHAR_TERM___361 = 95,
    _SC_2_C_VERSION___361 = 96,
    _SC_2_UPE___361 = 97,
    _SC_XOPEN_XPG2___361 = 98,
    _SC_XOPEN_XPG3___361 = 99,
    _SC_XOPEN_XPG4___361 = 100,
    _SC_CHAR_BIT___361 = 101,
    _SC_CHAR_MAX___361 = 102,
    _SC_CHAR_MIN___361 = 103,
    _SC_INT_MAX___361 = 104,
    _SC_INT_MIN___361 = 105,
    _SC_LONG_BIT___361 = 106,
    _SC_WORD_BIT___361 = 107,
    _SC_MB_LEN_MAX___361 = 108,
    _SC_NZERO___361 = 109,
    _SC_SSIZE_MAX___361 = 110,
    _SC_SCHAR_MAX___361 = 111,
    _SC_SCHAR_MIN___361 = 112,
    _SC_SHRT_MAX___361 = 113,
    _SC_SHRT_MIN___361 = 114,
    _SC_UCHAR_MAX___361 = 115,
    _SC_UINT_MAX___361 = 116,
    _SC_ULONG_MAX___361 = 117,
    _SC_USHRT_MAX___361 = 118,
    _SC_NL_ARGMAX___361 = 119,
    _SC_NL_LANGMAX___361 = 120,
    _SC_NL_MSGMAX___361 = 121,
    _SC_NL_NMAX___361 = 122,
    _SC_NL_SETMAX___361 = 123,
    _SC_NL_TEXTMAX___361 = 124,
    _SC_XBS5_ILP32_OFF32___361 = 125,
    _SC_XBS5_ILP32_OFFBIG___361 = 126,
    _SC_XBS5_LP64_OFF64___361 = 127,
    _SC_XBS5_LPBIG_OFFBIG___361 = 128,
    _SC_XOPEN_LEGACY___361 = 129,
    _SC_XOPEN_REALTIME___361 = 130,
    _SC_XOPEN_REALTIME_THREADS___361 = 131,
    _SC_ADVISORY_INFO___361 = 132,
    _SC_BARRIERS___361 = 133,
    _SC_BASE___361 = 134,
    _SC_C_LANG_SUPPORT___361 = 135,
    _SC_C_LANG_SUPPORT_R___361 = 136,
    _SC_CLOCK_SELECTION___361 = 137,
    _SC_CPUTIME___361 = 138,
    _SC_THREAD_CPUTIME___361 = 139,
    _SC_DEVICE_IO___361 = 140,
    _SC_DEVICE_SPECIFIC___361 = 141,
    _SC_DEVICE_SPECIFIC_R___361 = 142,
    _SC_FD_MGMT___361 = 143,
    _SC_FIFO___361 = 144,
    _SC_PIPE___361 = 145,
    _SC_FILE_ATTRIBUTES___361 = 146,
    _SC_FILE_LOCKING___361 = 147,
    _SC_FILE_SYSTEM___361 = 148,
    _SC_MONOTONIC_CLOCK___361 = 149,
    _SC_MULTI_PROCESS___361 = 150,
    _SC_SINGLE_PROCESS___361 = 151,
    _SC_NETWORKING___361 = 152,
    _SC_READER_WRITER_LOCKS___361 = 153,
    _SC_SPIN_LOCKS___361 = 154,
    _SC_REGEXP___361 = 155,
    _SC_REGEX_VERSION___361 = 156,
    _SC_SHELL___361 = 157,
    _SC_SIGNALS___361 = 158,
    _SC_SPAWN___361 = 159,
    _SC_SPORADIC_SERVER___361 = 160,
    _SC_THREAD_SPORADIC_SERVER___361 = 161,
    _SC_SYSTEM_DATABASE___361 = 162,
    _SC_SYSTEM_DATABASE_R___361 = 163,
    _SC_TIMEOUTS___361 = 164,
    _SC_TYPED_MEMORY_OBJECTS___361 = 165,
    _SC_USER_GROUPS___361 = 166,
    _SC_USER_GROUPS_R___361 = 167,
    _SC_2_PBS___361 = 168,
    _SC_2_PBS_ACCOUNTING___361 = 169,
    _SC_2_PBS_LOCATE___361 = 170,
    _SC_2_PBS_MESSAGE___361 = 171,
    _SC_2_PBS_TRACK___361 = 172,
    _SC_SYMLOOP_MAX___361 = 173,
    _SC_STREAMS___361 = 174,
    _SC_2_PBS_CHECKPOINT___361 = 175,
    _SC_V6_ILP32_OFF32___361 = 176,
    _SC_V6_ILP32_OFFBIG___361 = 177,
    _SC_V6_LP64_OFF64___361 = 178,
    _SC_V6_LPBIG_OFFBIG___361 = 179,
    _SC_HOST_NAME_MAX___361 = 180,
    _SC_TRACE___361 = 181,
    _SC_TRACE_EVENT_FILTER___361 = 182,
    _SC_TRACE_INHERIT___361 = 183,
    _SC_TRACE_LOG___361 = 184,
    _SC_LEVEL1_ICACHE_SIZE___361 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___361 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___361 = 187,
    _SC_LEVEL1_DCACHE_SIZE___361 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___361 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___361 = 190,
    _SC_LEVEL2_CACHE_SIZE___361 = 191,
    _SC_LEVEL2_CACHE_ASSOC___361 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___361 = 193,
    _SC_LEVEL3_CACHE_SIZE___361 = 194,
    _SC_LEVEL3_CACHE_ASSOC___361 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___361 = 196,
    _SC_LEVEL4_CACHE_SIZE___361 = 197,
    _SC_LEVEL4_CACHE_ASSOC___361 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___361 = 199,
    _SC_IPV6___361 = 235,
    _SC_RAW_SOCKETS___361 = 236,
    _SC_V7_ILP32_OFF32___361 = 237,
    _SC_V7_ILP32_OFFBIG___361 = 238,
    _SC_V7_LP64_OFF64___361 = 239,
    _SC_V7_LPBIG_OFFBIG___361 = 240,
    _SC_SS_REPL_MAX___361 = 241,
    _SC_TRACE_EVENT_NAME_MAX___361 = 242,
    _SC_TRACE_NAME_MAX___361 = 243,
    _SC_TRACE_SYS_MAX___361 = 244,
    _SC_TRACE_USER_EVENT_MAX___361 = 245,
    _SC_XOPEN_STREAMS___361 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___361 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___361 = 248
} ;
enum __anonenum_875524036___361 {
    _CS_PATH___361 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___361 = 1,
    _CS_GNU_LIBC_VERSION___361 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___361 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___361 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___361 = 5,
    _CS_LFS_CFLAGS___361 = 1000,
    _CS_LFS_LDFLAGS___361 = 1001,
    _CS_LFS_LIBS___361 = 1002,
    _CS_LFS_LINTFLAGS___361 = 1003,
    _CS_LFS64_CFLAGS___361 = 1004,
    _CS_LFS64_LDFLAGS___361 = 1005,
    _CS_LFS64_LIBS___361 = 1006,
    _CS_LFS64_LINTFLAGS___361 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___361 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___361 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___361 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___361 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___361 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___361 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___361 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___361 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___361 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___361 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___361 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___361 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___361 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___361 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___361 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___361 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___361 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___361 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___361 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___361 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___361 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___361 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___361 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___361 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___361 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___361 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___361 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___361 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___361 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___361 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___361 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___361 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___361 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___361 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___361 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___361 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___361 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___361 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___361 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___361 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___361 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___361 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___361 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___361 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___361 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___361 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___361 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___361 = 1147,
    _CS_V6_ENV___361 = 1148,
    _CS_V7_ENV___361 = 1149
} ;
enum __anonenum_513775621___361 {
    DT_UNKNOWN___361 = 0,
    DT_FIFO___361 = 1,
    DT_CHR___361 = 2,
    DT_DIR___361 = 4,
    DT_BLK___361 = 6,
    DT_REG___361 = 8,
    DT_LNK___361 = 10,
    DT_SOCK___361 = 12,
    DT_WHT___361 = 14
} ;
enum __anonenum_77002343___361 {
    SI_ASYNCNL___361 = -60,
    SI_TKILL___361 = -6,
    SI_SIGIO___361 = -5,
    SI_ASYNCIO___361 = -4,
    SI_MESGQ___361 = -3,
    SI_TIMER___361 = -2,
    SI_QUEUE___361 = -1,
    SI_USER___361 = 0,
    SI_KERNEL___361 = 128
} ;
enum __anonenum_131038172___361 {
    ILL_ILLOPC___361 = 1,
    ILL_ILLOPN___361 = 2,
    ILL_ILLADR___361 = 3,
    ILL_ILLTRP___361 = 4,
    ILL_PRVOPC___361 = 5,
    ILL_PRVREG___361 = 6,
    ILL_COPROC___361 = 7,
    ILL_BADSTK___361 = 8
} ;
enum __anonenum_452038093___361 {
    FPE_INTDIV___361 = 1,
    FPE_INTOVF___361 = 2,
    FPE_FLTDIV___361 = 3,
    FPE_FLTOVF___361 = 4,
    FPE_FLTUND___361 = 5,
    FPE_FLTRES___361 = 6,
    FPE_FLTINV___361 = 7,
    FPE_FLTSUB___361 = 8
} ;
enum __anonenum_30976155___361 {
    SEGV_MAPERR___361 = 1,
    SEGV_ACCERR___361 = 2,
    SEGV_BNDERR___361 = 3,
    SEGV_PKUERR___361 = 4
} ;
enum __anonenum_1036286214___361 {
    BUS_ADRALN___361 = 1,
    BUS_ADRERR___361 = 2,
    BUS_OBJERR___361 = 3,
    BUS_MCEERR_AR___361 = 4,
    BUS_MCEERR_AO___361 = 5
} ;
enum __anonenum_493465559___361 {
    TRAP_BRKPT___361 = 1,
    TRAP_TRACE___361 = 2
} ;
enum __anonenum_23175539___361 {
    CLD_EXITED___361 = 1,
    CLD_KILLED___361 = 2,
    CLD_DUMPED___361 = 3,
    CLD_TRAPPED___361 = 4,
    CLD_STOPPED___361 = 5,
    CLD_CONTINUED___361 = 6
} ;
enum __anonenum_111643124___361 {
    POLL_IN___361 = 1,
    POLL_OUT___361 = 2,
    POLL_MSG___361 = 3,
    POLL_ERR___361 = 4,
    POLL_PRI___361 = 5,
    POLL_HUP___361 = 6
} ;
enum __anonenum_852341087___361 {
    SIGEV_SIGNAL___361 = 0,
    SIGEV_NONE___361 = 1,
    SIGEV_THREAD___361 = 2,
    SIGEV_THREAD_ID___361 = 4
} ;
enum __anonenum_451154152___361 {
    REG_R8___361 = 0,
    REG_R9___361 = 1,
    REG_R10___361 = 2,
    REG_R11___361 = 3,
    REG_R12___361 = 4,
    REG_R13___361 = 5,
    REG_R14___361 = 6,
    REG_R15___361 = 7,
    REG_RDI___361 = 8,
    REG_RSI___361 = 9,
    REG_RBP___361 = 10,
    REG_RBX___361 = 11,
    REG_RDX___361 = 12,
    REG_RAX___361 = 13,
    REG_RCX___361 = 14,
    REG_RSP___361 = 15,
    REG_RIP___361 = 16,
    REG_EFL___361 = 17,
    REG_CSGSFS___361 = 18,
    REG_ERR___361 = 19,
    REG_TRAPNO___361 = 20,
    REG_OLDMASK___361 = 21,
    REG_CR2___361 = 22
} ;
enum __anonenum_57186863___361 {
    SS_ONSTACK___361 = 1,
    SS_DISABLE___361 = 2
} ;
enum __anonenum_83571709___361 {
    MSG_OOB___361 = 1,
    MSG_PEEK___361 = 2,
    MSG_DONTROUTE___361 = 4,
    MSG_TRYHARD___361 = 4,
    MSG_CTRUNC___361 = 8,
    MSG_PROXY___361 = 16,
    MSG_TRUNC___361 = 32,
    MSG_DONTWAIT___361 = 64,
    MSG_EOR___361 = 128,
    MSG_WAITALL___361 = 256,
    MSG_FIN___361 = 512,
    MSG_SYN___361 = 1024,
    MSG_CONFIRM___361 = 2048,
    MSG_RST___361 = 4096,
    MSG_ERRQUEUE___361 = 8192,
    MSG_NOSIGNAL___361 = 16384,
    MSG_MORE___361 = 32768,
    MSG_WAITFORONE___361 = 65536,
    MSG_BATCH___361 = 262144,
    MSG_ZEROCOPY___361 = 67108864,
    MSG_FASTOPEN___361 = 536870912,
    MSG_CMSG_CLOEXEC___361 = 1073741824
} ;
enum __anonenum_617082774___361 {
    SCM_RIGHTS___361 = 1,
    SCM_CREDENTIALS___361 = 2
} ;
enum __anonenum_606441560___361 {
    SHUT_RD___361 = 0,
    SHUT_WR___361 = 1,
    SHUT_RDWR___361 = 2
} ;
enum __anonenum_681669233___361 {
    IPPROTO_IP___361 = 0,
    IPPROTO_ICMP___361 = 1,
    IPPROTO_IGMP___361 = 2,
    IPPROTO_IPIP___361 = 4,
    IPPROTO_TCP___361 = 6,
    IPPROTO_EGP___361 = 8,
    IPPROTO_PUP___361 = 12,
    IPPROTO_UDP___361 = 17,
    IPPROTO_IDP___361 = 22,
    IPPROTO_TP___361 = 29,
    IPPROTO_DCCP___361 = 33,
    IPPROTO_IPV6___361 = 41,
    IPPROTO_RSVP___361 = 46,
    IPPROTO_GRE___361 = 47,
    IPPROTO_ESP___361 = 50,
    IPPROTO_AH___361 = 51,
    IPPROTO_MTP___361 = 92,
    IPPROTO_BEETPH___361 = 94,
    IPPROTO_ENCAP___361 = 98,
    IPPROTO_PIM___361 = 103,
    IPPROTO_COMP___361 = 108,
    IPPROTO_SCTP___361 = 132,
    IPPROTO_UDPLITE___361 = 136,
    IPPROTO_MPLS___361 = 137,
    IPPROTO_RAW___361 = 255,
    IPPROTO_MAX___361 = 256
} ;
enum __anonenum_218739988___361 {
    IPPROTO_HOPOPTS___361 = 0,
    IPPROTO_ROUTING___361 = 43,
    IPPROTO_FRAGMENT___361 = 44,
    IPPROTO_ICMPV6___361 = 58,
    IPPROTO_NONE___361 = 59,
    IPPROTO_DSTOPTS___361 = 60,
    IPPROTO_MH___361 = 135
} ;
enum __anonenum_662268580___361 {
    IPPORT_ECHO___361 = 7,
    IPPORT_DISCARD___361 = 9,
    IPPORT_SYSTAT___361 = 11,
    IPPORT_DAYTIME___361 = 13,
    IPPORT_NETSTAT___361 = 15,
    IPPORT_FTP___361 = 21,
    IPPORT_TELNET___361 = 23,
    IPPORT_SMTP___361 = 25,
    IPPORT_TIMESERVER___361 = 37,
    IPPORT_NAMESERVER___361 = 42,
    IPPORT_WHOIS___361 = 43,
    IPPORT_MTP___361 = 57,
    IPPORT_TFTP___361 = 69,
    IPPORT_RJE___361 = 77,
    IPPORT_FINGER___361 = 79,
    IPPORT_TTYLINK___361 = 87,
    IPPORT_SUPDUP___361 = 95,
    IPPORT_EXECSERVER___361 = 512,
    IPPORT_LOGINSERVER___361 = 513,
    IPPORT_CMDSERVER___361 = 514,
    IPPORT_EFSSERVER___361 = 520,
    IPPORT_BIFFUDP___361 = 512,
    IPPORT_WHOSERVER___361 = 513,
    IPPORT_ROUTESERVER___361 = 520,
    IPPORT_RESERVED___361 = 1024,
    IPPORT_USERRESERVED___361 = 5000
} ;
enum __anonenum_788308992___361 {
    TCP_ESTABLISHED___361 = 1,
    TCP_SYN_SENT___361 = 2,
    TCP_SYN_RECV___361 = 3,
    TCP_FIN_WAIT1___361 = 4,
    TCP_FIN_WAIT2___361 = 5,
    TCP_TIME_WAIT___361 = 6,
    TCP_CLOSE___361 = 7,
    TCP_CLOSE_WAIT___361 = 8,
    TCP_LAST_ACK___361 = 9,
    TCP_LISTEN___361 = 10,
    TCP_CLOSING___361 = 11
} ;
enum __anonenum_221125648___361 {
    TCP_NO_QUEUE___361 = 0,
    TCP_RECV_QUEUE___361 = 1,
    TCP_SEND_QUEUE___361 = 2,
    TCP_QUEUES_NR___361 = 3
} ;
enum __anonenum_34415463___361 {
    PTHREAD_CREATE_JOINABLE___361 = 0,
    PTHREAD_CREATE_DETACHED___361 = 1
} ;
enum __anonenum_303612439___361 {
    PTHREAD_MUTEX_TIMED_NP___361 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___361 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___361 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___361 = 3,
    PTHREAD_MUTEX_NORMAL___361 = 0,
    PTHREAD_MUTEX_RECURSIVE___361 = 1,
    PTHREAD_MUTEX_ERRORCHECK___361 = 2,
    PTHREAD_MUTEX_DEFAULT___361 = 0,
    PTHREAD_MUTEX_FAST_NP___361 = 0
} ;
enum __anonenum_931900394___361 {
    PTHREAD_MUTEX_STALLED___361 = 0,
    PTHREAD_MUTEX_STALLED_NP___361 = 0,
    PTHREAD_MUTEX_ROBUST___361 = 1,
    PTHREAD_MUTEX_ROBUST_NP___361 = 1
} ;
enum __anonenum_205214487___361 {
    PTHREAD_PRIO_NONE___361 = 0,
    PTHREAD_PRIO_INHERIT___361 = 1,
    PTHREAD_PRIO_PROTECT___361 = 2
} ;
enum __anonenum_25043950___361 {
    PTHREAD_RWLOCK_PREFER_READER_NP___361 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___361 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___361 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___361 = 0
} ;
enum __anonenum_436439511___361 {
    PTHREAD_INHERIT_SCHED___361 = 0,
    PTHREAD_EXPLICIT_SCHED___361 = 1
} ;
enum __anonenum_998661166___361 {
    PTHREAD_SCOPE_SYSTEM___361 = 0,
    PTHREAD_SCOPE_PROCESS___361 = 1
} ;
enum __anonenum_146137331___361 {
    PTHREAD_PROCESS_PRIVATE___361 = 0,
    PTHREAD_PROCESS_SHARED___361 = 1
} ;
enum __anonenum_53396917___361 {
    PTHREAD_CANCEL_ENABLE___361 = 0,
    PTHREAD_CANCEL_DISABLE___361 = 1
} ;
enum __anonenum_904563783___361 {
    PTHREAD_CANCEL_DEFERRED___361 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___361 = 1
} ;
enum __anonenum_672052974___361 {
    SSL_CT_VALIDATION_PERMISSIVE___361 = 0,
    SSL_CT_VALIDATION_STRICT___361 = 1
} ;
enum __anonenum_561748495___31 {
    RECURSE_SUBMODULES_ONLY___31 = -5,
    RECURSE_SUBMODULES_CHECK___31 = -4,
    RECURSE_SUBMODULES_ERROR___31 = -3,
    RECURSE_SUBMODULES_NONE___31 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___31 = -1,
    RECURSE_SUBMODULES_OFF___31 = 0,
    RECURSE_SUBMODULES_DEFAULT___31 = 1,
    RECURSE_SUBMODULES_ON___31 = 2
} ;
enum reset_type {
    MIXED = 0,
    SOFT = 1,
    HARD = 2,
    MERGE___0 = 3,
    KEEP = 4,
    NONE = 5
} ;
enum __anonenum_437032235___362 {
    _PC_LINK_MAX___362 = 0,
    _PC_MAX_CANON___362 = 1,
    _PC_MAX_INPUT___362 = 2,
    _PC_NAME_MAX___362 = 3,
    _PC_PATH_MAX___362 = 4,
    _PC_PIPE_BUF___362 = 5,
    _PC_CHOWN_RESTRICTED___362 = 6,
    _PC_NO_TRUNC___362 = 7,
    _PC_VDISABLE___362 = 8,
    _PC_SYNC_IO___362 = 9,
    _PC_ASYNC_IO___362 = 10,
    _PC_PRIO_IO___362 = 11,
    _PC_SOCK_MAXBUF___362 = 12,
    _PC_FILESIZEBITS___362 = 13,
    _PC_REC_INCR_XFER_SIZE___362 = 14,
    _PC_REC_MAX_XFER_SIZE___362 = 15,
    _PC_REC_MIN_XFER_SIZE___362 = 16,
    _PC_REC_XFER_ALIGN___362 = 17,
    _PC_ALLOC_SIZE_MIN___362 = 18,
    _PC_SYMLINK_MAX___362 = 19,
    _PC_2_SYMLINKS___362 = 20
} ;
enum __anonenum_315186338___362 {
    _SC_ARG_MAX___362 = 0,
    _SC_CHILD_MAX___362 = 1,
    _SC_CLK_TCK___362 = 2,
    _SC_NGROUPS_MAX___362 = 3,
    _SC_OPEN_MAX___362 = 4,
    _SC_STREAM_MAX___362 = 5,
    _SC_TZNAME_MAX___362 = 6,
    _SC_JOB_CONTROL___362 = 7,
    _SC_SAVED_IDS___362 = 8,
    _SC_REALTIME_SIGNALS___362 = 9,
    _SC_PRIORITY_SCHEDULING___362 = 10,
    _SC_TIMERS___362 = 11,
    _SC_ASYNCHRONOUS_IO___362 = 12,
    _SC_PRIORITIZED_IO___362 = 13,
    _SC_SYNCHRONIZED_IO___362 = 14,
    _SC_FSYNC___362 = 15,
    _SC_MAPPED_FILES___362 = 16,
    _SC_MEMLOCK___362 = 17,
    _SC_MEMLOCK_RANGE___362 = 18,
    _SC_MEMORY_PROTECTION___362 = 19,
    _SC_MESSAGE_PASSING___362 = 20,
    _SC_SEMAPHORES___362 = 21,
    _SC_SHARED_MEMORY_OBJECTS___362 = 22,
    _SC_AIO_LISTIO_MAX___362 = 23,
    _SC_AIO_MAX___362 = 24,
    _SC_AIO_PRIO_DELTA_MAX___362 = 25,
    _SC_DELAYTIMER_MAX___362 = 26,
    _SC_MQ_OPEN_MAX___362 = 27,
    _SC_MQ_PRIO_MAX___362 = 28,
    _SC_VERSION___362 = 29,
    _SC_PAGESIZE___362 = 30,
    _SC_RTSIG_MAX___362 = 31,
    _SC_SEM_NSEMS_MAX___362 = 32,
    _SC_SEM_VALUE_MAX___362 = 33,
    _SC_SIGQUEUE_MAX___362 = 34,
    _SC_TIMER_MAX___362 = 35,
    _SC_BC_BASE_MAX___362 = 36,
    _SC_BC_DIM_MAX___362 = 37,
    _SC_BC_SCALE_MAX___362 = 38,
    _SC_BC_STRING_MAX___362 = 39,
    _SC_COLL_WEIGHTS_MAX___362 = 40,
    _SC_EQUIV_CLASS_MAX___362 = 41,
    _SC_EXPR_NEST_MAX___362 = 42,
    _SC_LINE_MAX___362 = 43,
    _SC_RE_DUP_MAX___362 = 44,
    _SC_CHARCLASS_NAME_MAX___362 = 45,
    _SC_2_VERSION___362 = 46,
    _SC_2_C_BIND___362 = 47,
    _SC_2_C_DEV___362 = 48,
    _SC_2_FORT_DEV___362 = 49,
    _SC_2_FORT_RUN___362 = 50,
    _SC_2_SW_DEV___362 = 51,
    _SC_2_LOCALEDEF___362 = 52,
    _SC_PII___362 = 53,
    _SC_PII_XTI___362 = 54,
    _SC_PII_SOCKET___362 = 55,
    _SC_PII_INTERNET___362 = 56,
    _SC_PII_OSI___362 = 57,
    _SC_POLL___362 = 58,
    _SC_SELECT___362 = 59,
    _SC_UIO_MAXIOV___362 = 60,
    _SC_IOV_MAX___362 = 60,
    _SC_PII_INTERNET_STREAM___362 = 61,
    _SC_PII_INTERNET_DGRAM___362 = 62,
    _SC_PII_OSI_COTS___362 = 63,
    _SC_PII_OSI_CLTS___362 = 64,
    _SC_PII_OSI_M___362 = 65,
    _SC_T_IOV_MAX___362 = 66,
    _SC_THREADS___362 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___362 = 68,
    _SC_GETGR_R_SIZE_MAX___362 = 69,
    _SC_GETPW_R_SIZE_MAX___362 = 70,
    _SC_LOGIN_NAME_MAX___362 = 71,
    _SC_TTY_NAME_MAX___362 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___362 = 73,
    _SC_THREAD_KEYS_MAX___362 = 74,
    _SC_THREAD_STACK_MIN___362 = 75,
    _SC_THREAD_THREADS_MAX___362 = 76,
    _SC_THREAD_ATTR_STACKADDR___362 = 77,
    _SC_THREAD_ATTR_STACKSIZE___362 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___362 = 79,
    _SC_THREAD_PRIO_INHERIT___362 = 80,
    _SC_THREAD_PRIO_PROTECT___362 = 81,
    _SC_THREAD_PROCESS_SHARED___362 = 82,
    _SC_NPROCESSORS_CONF___362 = 83,
    _SC_NPROCESSORS_ONLN___362 = 84,
    _SC_PHYS_PAGES___362 = 85,
    _SC_AVPHYS_PAGES___362 = 86,
    _SC_ATEXIT_MAX___362 = 87,
    _SC_PASS_MAX___362 = 88,
    _SC_XOPEN_VERSION___362 = 89,
    _SC_XOPEN_XCU_VERSION___362 = 90,
    _SC_XOPEN_UNIX___362 = 91,
    _SC_XOPEN_CRYPT___362 = 92,
    _SC_XOPEN_ENH_I18N___362 = 93,
    _SC_XOPEN_SHM___362 = 94,
    _SC_2_CHAR_TERM___362 = 95,
    _SC_2_C_VERSION___362 = 96,
    _SC_2_UPE___362 = 97,
    _SC_XOPEN_XPG2___362 = 98,
    _SC_XOPEN_XPG3___362 = 99,
    _SC_XOPEN_XPG4___362 = 100,
    _SC_CHAR_BIT___362 = 101,
    _SC_CHAR_MAX___362 = 102,
    _SC_CHAR_MIN___362 = 103,
    _SC_INT_MAX___362 = 104,
    _SC_INT_MIN___362 = 105,
    _SC_LONG_BIT___362 = 106,
    _SC_WORD_BIT___362 = 107,
    _SC_MB_LEN_MAX___362 = 108,
    _SC_NZERO___362 = 109,
    _SC_SSIZE_MAX___362 = 110,
    _SC_SCHAR_MAX___362 = 111,
    _SC_SCHAR_MIN___362 = 112,
    _SC_SHRT_MAX___362 = 113,
    _SC_SHRT_MIN___362 = 114,
    _SC_UCHAR_MAX___362 = 115,
    _SC_UINT_MAX___362 = 116,
    _SC_ULONG_MAX___362 = 117,
    _SC_USHRT_MAX___362 = 118,
    _SC_NL_ARGMAX___362 = 119,
    _SC_NL_LANGMAX___362 = 120,
    _SC_NL_MSGMAX___362 = 121,
    _SC_NL_NMAX___362 = 122,
    _SC_NL_SETMAX___362 = 123,
    _SC_NL_TEXTMAX___362 = 124,
    _SC_XBS5_ILP32_OFF32___362 = 125,
    _SC_XBS5_ILP32_OFFBIG___362 = 126,
    _SC_XBS5_LP64_OFF64___362 = 127,
    _SC_XBS5_LPBIG_OFFBIG___362 = 128,
    _SC_XOPEN_LEGACY___362 = 129,
    _SC_XOPEN_REALTIME___362 = 130,
    _SC_XOPEN_REALTIME_THREADS___362 = 131,
    _SC_ADVISORY_INFO___362 = 132,
    _SC_BARRIERS___362 = 133,
    _SC_BASE___362 = 134,
    _SC_C_LANG_SUPPORT___362 = 135,
    _SC_C_LANG_SUPPORT_R___362 = 136,
    _SC_CLOCK_SELECTION___362 = 137,
    _SC_CPUTIME___362 = 138,
    _SC_THREAD_CPUTIME___362 = 139,
    _SC_DEVICE_IO___362 = 140,
    _SC_DEVICE_SPECIFIC___362 = 141,
    _SC_DEVICE_SPECIFIC_R___362 = 142,
    _SC_FD_MGMT___362 = 143,
    _SC_FIFO___362 = 144,
    _SC_PIPE___362 = 145,
    _SC_FILE_ATTRIBUTES___362 = 146,
    _SC_FILE_LOCKING___362 = 147,
    _SC_FILE_SYSTEM___362 = 148,
    _SC_MONOTONIC_CLOCK___362 = 149,
    _SC_MULTI_PROCESS___362 = 150,
    _SC_SINGLE_PROCESS___362 = 151,
    _SC_NETWORKING___362 = 152,
    _SC_READER_WRITER_LOCKS___362 = 153,
    _SC_SPIN_LOCKS___362 = 154,
    _SC_REGEXP___362 = 155,
    _SC_REGEX_VERSION___362 = 156,
    _SC_SHELL___362 = 157,
    _SC_SIGNALS___362 = 158,
    _SC_SPAWN___362 = 159,
    _SC_SPORADIC_SERVER___362 = 160,
    _SC_THREAD_SPORADIC_SERVER___362 = 161,
    _SC_SYSTEM_DATABASE___362 = 162,
    _SC_SYSTEM_DATABASE_R___362 = 163,
    _SC_TIMEOUTS___362 = 164,
    _SC_TYPED_MEMORY_OBJECTS___362 = 165,
    _SC_USER_GROUPS___362 = 166,
    _SC_USER_GROUPS_R___362 = 167,
    _SC_2_PBS___362 = 168,
    _SC_2_PBS_ACCOUNTING___362 = 169,
    _SC_2_PBS_LOCATE___362 = 170,
    _SC_2_PBS_MESSAGE___362 = 171,
    _SC_2_PBS_TRACK___362 = 172,
    _SC_SYMLOOP_MAX___362 = 173,
    _SC_STREAMS___362 = 174,
    _SC_2_PBS_CHECKPOINT___362 = 175,
    _SC_V6_ILP32_OFF32___362 = 176,
    _SC_V6_ILP32_OFFBIG___362 = 177,
    _SC_V6_LP64_OFF64___362 = 178,
    _SC_V6_LPBIG_OFFBIG___362 = 179,
    _SC_HOST_NAME_MAX___362 = 180,
    _SC_TRACE___362 = 181,
    _SC_TRACE_EVENT_FILTER___362 = 182,
    _SC_TRACE_INHERIT___362 = 183,
    _SC_TRACE_LOG___362 = 184,
    _SC_LEVEL1_ICACHE_SIZE___362 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___362 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___362 = 187,
    _SC_LEVEL1_DCACHE_SIZE___362 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___362 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___362 = 190,
    _SC_LEVEL2_CACHE_SIZE___362 = 191,
    _SC_LEVEL2_CACHE_ASSOC___362 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___362 = 193,
    _SC_LEVEL3_CACHE_SIZE___362 = 194,
    _SC_LEVEL3_CACHE_ASSOC___362 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___362 = 196,
    _SC_LEVEL4_CACHE_SIZE___362 = 197,
    _SC_LEVEL4_CACHE_ASSOC___362 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___362 = 199,
    _SC_IPV6___362 = 235,
    _SC_RAW_SOCKETS___362 = 236,
    _SC_V7_ILP32_OFF32___362 = 237,
    _SC_V7_ILP32_OFFBIG___362 = 238,
    _SC_V7_LP64_OFF64___362 = 239,
    _SC_V7_LPBIG_OFFBIG___362 = 240,
    _SC_SS_REPL_MAX___362 = 241,
    _SC_TRACE_EVENT_NAME_MAX___362 = 242,
    _SC_TRACE_NAME_MAX___362 = 243,
    _SC_TRACE_SYS_MAX___362 = 244,
    _SC_TRACE_USER_EVENT_MAX___362 = 245,
    _SC_XOPEN_STREAMS___362 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___362 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___362 = 248
} ;
enum __anonenum_875524036___362 {
    _CS_PATH___362 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___362 = 1,
    _CS_GNU_LIBC_VERSION___362 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___362 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___362 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___362 = 5,
    _CS_LFS_CFLAGS___362 = 1000,
    _CS_LFS_LDFLAGS___362 = 1001,
    _CS_LFS_LIBS___362 = 1002,
    _CS_LFS_LINTFLAGS___362 = 1003,
    _CS_LFS64_CFLAGS___362 = 1004,
    _CS_LFS64_LDFLAGS___362 = 1005,
    _CS_LFS64_LIBS___362 = 1006,
    _CS_LFS64_LINTFLAGS___362 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___362 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___362 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___362 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___362 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___362 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___362 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___362 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___362 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___362 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___362 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___362 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___362 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___362 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___362 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___362 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___362 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___362 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___362 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___362 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___362 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___362 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___362 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___362 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___362 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___362 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___362 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___362 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___362 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___362 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___362 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___362 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___362 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___362 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___362 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___362 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___362 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___362 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___362 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___362 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___362 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___362 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___362 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___362 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___362 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___362 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___362 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___362 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___362 = 1147,
    _CS_V6_ENV___362 = 1148,
    _CS_V7_ENV___362 = 1149
} ;
enum __anonenum_513775621___362 {
    DT_UNKNOWN___362 = 0,
    DT_FIFO___362 = 1,
    DT_CHR___362 = 2,
    DT_DIR___362 = 4,
    DT_BLK___362 = 6,
    DT_REG___362 = 8,
    DT_LNK___362 = 10,
    DT_SOCK___362 = 12,
    DT_WHT___362 = 14
} ;
enum __anonenum_77002343___362 {
    SI_ASYNCNL___362 = -60,
    SI_TKILL___362 = -6,
    SI_SIGIO___362 = -5,
    SI_ASYNCIO___362 = -4,
    SI_MESGQ___362 = -3,
    SI_TIMER___362 = -2,
    SI_QUEUE___362 = -1,
    SI_USER___362 = 0,
    SI_KERNEL___362 = 128
} ;
enum __anonenum_131038172___362 {
    ILL_ILLOPC___362 = 1,
    ILL_ILLOPN___362 = 2,
    ILL_ILLADR___362 = 3,
    ILL_ILLTRP___362 = 4,
    ILL_PRVOPC___362 = 5,
    ILL_PRVREG___362 = 6,
    ILL_COPROC___362 = 7,
    ILL_BADSTK___362 = 8
} ;
enum __anonenum_452038093___362 {
    FPE_INTDIV___362 = 1,
    FPE_INTOVF___362 = 2,
    FPE_FLTDIV___362 = 3,
    FPE_FLTOVF___362 = 4,
    FPE_FLTUND___362 = 5,
    FPE_FLTRES___362 = 6,
    FPE_FLTINV___362 = 7,
    FPE_FLTSUB___362 = 8
} ;
enum __anonenum_30976155___362 {
    SEGV_MAPERR___362 = 1,
    SEGV_ACCERR___362 = 2,
    SEGV_BNDERR___362 = 3,
    SEGV_PKUERR___362 = 4
} ;
enum __anonenum_1036286214___362 {
    BUS_ADRALN___362 = 1,
    BUS_ADRERR___362 = 2,
    BUS_OBJERR___362 = 3,
    BUS_MCEERR_AR___362 = 4,
    BUS_MCEERR_AO___362 = 5
} ;
enum __anonenum_493465559___362 {
    TRAP_BRKPT___362 = 1,
    TRAP_TRACE___362 = 2
} ;
enum __anonenum_23175539___362 {
    CLD_EXITED___362 = 1,
    CLD_KILLED___362 = 2,
    CLD_DUMPED___362 = 3,
    CLD_TRAPPED___362 = 4,
    CLD_STOPPED___362 = 5,
    CLD_CONTINUED___362 = 6
} ;
enum __anonenum_111643124___362 {
    POLL_IN___362 = 1,
    POLL_OUT___362 = 2,
    POLL_MSG___362 = 3,
    POLL_ERR___362 = 4,
    POLL_PRI___362 = 5,
    POLL_HUP___362 = 6
} ;
enum __anonenum_852341087___362 {
    SIGEV_SIGNAL___362 = 0,
    SIGEV_NONE___362 = 1,
    SIGEV_THREAD___362 = 2,
    SIGEV_THREAD_ID___362 = 4
} ;
enum __anonenum_451154152___362 {
    REG_R8___362 = 0,
    REG_R9___362 = 1,
    REG_R10___362 = 2,
    REG_R11___362 = 3,
    REG_R12___362 = 4,
    REG_R13___362 = 5,
    REG_R14___362 = 6,
    REG_R15___362 = 7,
    REG_RDI___362 = 8,
    REG_RSI___362 = 9,
    REG_RBP___362 = 10,
    REG_RBX___362 = 11,
    REG_RDX___362 = 12,
    REG_RAX___362 = 13,
    REG_RCX___362 = 14,
    REG_RSP___362 = 15,
    REG_RIP___362 = 16,
    REG_EFL___362 = 17,
    REG_CSGSFS___362 = 18,
    REG_ERR___362 = 19,
    REG_TRAPNO___362 = 20,
    REG_OLDMASK___362 = 21,
    REG_CR2___362 = 22
} ;
enum __anonenum_57186863___362 {
    SS_ONSTACK___362 = 1,
    SS_DISABLE___362 = 2
} ;
enum __anonenum_83571709___362 {
    MSG_OOB___362 = 1,
    MSG_PEEK___362 = 2,
    MSG_DONTROUTE___362 = 4,
    MSG_TRYHARD___362 = 4,
    MSG_CTRUNC___362 = 8,
    MSG_PROXY___362 = 16,
    MSG_TRUNC___362 = 32,
    MSG_DONTWAIT___362 = 64,
    MSG_EOR___362 = 128,
    MSG_WAITALL___362 = 256,
    MSG_FIN___362 = 512,
    MSG_SYN___362 = 1024,
    MSG_CONFIRM___362 = 2048,
    MSG_RST___362 = 4096,
    MSG_ERRQUEUE___362 = 8192,
    MSG_NOSIGNAL___362 = 16384,
    MSG_MORE___362 = 32768,
    MSG_WAITFORONE___362 = 65536,
    MSG_BATCH___362 = 262144,
    MSG_ZEROCOPY___362 = 67108864,
    MSG_FASTOPEN___362 = 536870912,
    MSG_CMSG_CLOEXEC___362 = 1073741824
} ;
enum __anonenum_617082774___362 {
    SCM_RIGHTS___362 = 1,
    SCM_CREDENTIALS___362 = 2
} ;
enum __anonenum_606441560___362 {
    SHUT_RD___362 = 0,
    SHUT_WR___362 = 1,
    SHUT_RDWR___362 = 2
} ;
enum __anonenum_681669233___362 {
    IPPROTO_IP___362 = 0,
    IPPROTO_ICMP___362 = 1,
    IPPROTO_IGMP___362 = 2,
    IPPROTO_IPIP___362 = 4,
    IPPROTO_TCP___362 = 6,
    IPPROTO_EGP___362 = 8,
    IPPROTO_PUP___362 = 12,
    IPPROTO_UDP___362 = 17,
    IPPROTO_IDP___362 = 22,
    IPPROTO_TP___362 = 29,
    IPPROTO_DCCP___362 = 33,
    IPPROTO_IPV6___362 = 41,
    IPPROTO_RSVP___362 = 46,
    IPPROTO_GRE___362 = 47,
    IPPROTO_ESP___362 = 50,
    IPPROTO_AH___362 = 51,
    IPPROTO_MTP___362 = 92,
    IPPROTO_BEETPH___362 = 94,
    IPPROTO_ENCAP___362 = 98,
    IPPROTO_PIM___362 = 103,
    IPPROTO_COMP___362 = 108,
    IPPROTO_SCTP___362 = 132,
    IPPROTO_UDPLITE___362 = 136,
    IPPROTO_MPLS___362 = 137,
    IPPROTO_RAW___362 = 255,
    IPPROTO_MAX___362 = 256
} ;
enum __anonenum_218739988___362 {
    IPPROTO_HOPOPTS___362 = 0,
    IPPROTO_ROUTING___362 = 43,
    IPPROTO_FRAGMENT___362 = 44,
    IPPROTO_ICMPV6___362 = 58,
    IPPROTO_NONE___362 = 59,
    IPPROTO_DSTOPTS___362 = 60,
    IPPROTO_MH___362 = 135
} ;
enum __anonenum_662268580___362 {
    IPPORT_ECHO___362 = 7,
    IPPORT_DISCARD___362 = 9,
    IPPORT_SYSTAT___362 = 11,
    IPPORT_DAYTIME___362 = 13,
    IPPORT_NETSTAT___362 = 15,
    IPPORT_FTP___362 = 21,
    IPPORT_TELNET___362 = 23,
    IPPORT_SMTP___362 = 25,
    IPPORT_TIMESERVER___362 = 37,
    IPPORT_NAMESERVER___362 = 42,
    IPPORT_WHOIS___362 = 43,
    IPPORT_MTP___362 = 57,
    IPPORT_TFTP___362 = 69,
    IPPORT_RJE___362 = 77,
    IPPORT_FINGER___362 = 79,
    IPPORT_TTYLINK___362 = 87,
    IPPORT_SUPDUP___362 = 95,
    IPPORT_EXECSERVER___362 = 512,
    IPPORT_LOGINSERVER___362 = 513,
    IPPORT_CMDSERVER___362 = 514,
    IPPORT_EFSSERVER___362 = 520,
    IPPORT_BIFFUDP___362 = 512,
    IPPORT_WHOSERVER___362 = 513,
    IPPORT_ROUTESERVER___362 = 520,
    IPPORT_RESERVED___362 = 1024,
    IPPORT_USERRESERVED___362 = 5000
} ;
enum __anonenum_788308992___362 {
    TCP_ESTABLISHED___362 = 1,
    TCP_SYN_SENT___362 = 2,
    TCP_SYN_RECV___362 = 3,
    TCP_FIN_WAIT1___362 = 4,
    TCP_FIN_WAIT2___362 = 5,
    TCP_TIME_WAIT___362 = 6,
    TCP_CLOSE___362 = 7,
    TCP_CLOSE_WAIT___362 = 8,
    TCP_LAST_ACK___362 = 9,
    TCP_LISTEN___362 = 10,
    TCP_CLOSING___362 = 11
} ;
enum __anonenum_221125648___362 {
    TCP_NO_QUEUE___362 = 0,
    TCP_RECV_QUEUE___362 = 1,
    TCP_SEND_QUEUE___362 = 2,
    TCP_QUEUES_NR___362 = 3
} ;
enum __anonenum_34415463___362 {
    PTHREAD_CREATE_JOINABLE___362 = 0,
    PTHREAD_CREATE_DETACHED___362 = 1
} ;
enum __anonenum_303612439___362 {
    PTHREAD_MUTEX_TIMED_NP___362 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___362 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___362 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___362 = 3,
    PTHREAD_MUTEX_NORMAL___362 = 0,
    PTHREAD_MUTEX_RECURSIVE___362 = 1,
    PTHREAD_MUTEX_ERRORCHECK___362 = 2,
    PTHREAD_MUTEX_DEFAULT___362 = 0,
    PTHREAD_MUTEX_FAST_NP___362 = 0
} ;
enum __anonenum_931900394___362 {
    PTHREAD_MUTEX_STALLED___362 = 0,
    PTHREAD_MUTEX_STALLED_NP___362 = 0,
    PTHREAD_MUTEX_ROBUST___362 = 1,
    PTHREAD_MUTEX_ROBUST_NP___362 = 1
} ;
enum __anonenum_205214487___362 {
    PTHREAD_PRIO_NONE___362 = 0,
    PTHREAD_PRIO_INHERIT___362 = 1,
    PTHREAD_PRIO_PROTECT___362 = 2
} ;
enum __anonenum_25043950___362 {
    PTHREAD_RWLOCK_PREFER_READER_NP___362 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___362 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___362 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___362 = 0
} ;
enum __anonenum_436439511___362 {
    PTHREAD_INHERIT_SCHED___362 = 0,
    PTHREAD_EXPLICIT_SCHED___362 = 1
} ;
enum __anonenum_998661166___362 {
    PTHREAD_SCOPE_SYSTEM___362 = 0,
    PTHREAD_SCOPE_PROCESS___362 = 1
} ;
enum __anonenum_146137331___362 {
    PTHREAD_PROCESS_PRIVATE___362 = 0,
    PTHREAD_PROCESS_SHARED___362 = 1
} ;
enum __anonenum_53396917___362 {
    PTHREAD_CANCEL_ENABLE___362 = 0,
    PTHREAD_CANCEL_DISABLE___362 = 1
} ;
enum __anonenum_904563783___362 {
    PTHREAD_CANCEL_DEFERRED___362 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___362 = 1
} ;
enum __anonenum_672052974___362 {
    SSL_CT_VALIDATION_PERMISSIVE___362 = 0,
    SSL_CT_VALIDATION_STRICT___362 = 1
} ;
enum __anonenum_437032235___363 {
    _PC_LINK_MAX___363 = 0,
    _PC_MAX_CANON___363 = 1,
    _PC_MAX_INPUT___363 = 2,
    _PC_NAME_MAX___363 = 3,
    _PC_PATH_MAX___363 = 4,
    _PC_PIPE_BUF___363 = 5,
    _PC_CHOWN_RESTRICTED___363 = 6,
    _PC_NO_TRUNC___363 = 7,
    _PC_VDISABLE___363 = 8,
    _PC_SYNC_IO___363 = 9,
    _PC_ASYNC_IO___363 = 10,
    _PC_PRIO_IO___363 = 11,
    _PC_SOCK_MAXBUF___363 = 12,
    _PC_FILESIZEBITS___363 = 13,
    _PC_REC_INCR_XFER_SIZE___363 = 14,
    _PC_REC_MAX_XFER_SIZE___363 = 15,
    _PC_REC_MIN_XFER_SIZE___363 = 16,
    _PC_REC_XFER_ALIGN___363 = 17,
    _PC_ALLOC_SIZE_MIN___363 = 18,
    _PC_SYMLINK_MAX___363 = 19,
    _PC_2_SYMLINKS___363 = 20
} ;
enum __anonenum_315186338___363 {
    _SC_ARG_MAX___363 = 0,
    _SC_CHILD_MAX___363 = 1,
    _SC_CLK_TCK___363 = 2,
    _SC_NGROUPS_MAX___363 = 3,
    _SC_OPEN_MAX___363 = 4,
    _SC_STREAM_MAX___363 = 5,
    _SC_TZNAME_MAX___363 = 6,
    _SC_JOB_CONTROL___363 = 7,
    _SC_SAVED_IDS___363 = 8,
    _SC_REALTIME_SIGNALS___363 = 9,
    _SC_PRIORITY_SCHEDULING___363 = 10,
    _SC_TIMERS___363 = 11,
    _SC_ASYNCHRONOUS_IO___363 = 12,
    _SC_PRIORITIZED_IO___363 = 13,
    _SC_SYNCHRONIZED_IO___363 = 14,
    _SC_FSYNC___363 = 15,
    _SC_MAPPED_FILES___363 = 16,
    _SC_MEMLOCK___363 = 17,
    _SC_MEMLOCK_RANGE___363 = 18,
    _SC_MEMORY_PROTECTION___363 = 19,
    _SC_MESSAGE_PASSING___363 = 20,
    _SC_SEMAPHORES___363 = 21,
    _SC_SHARED_MEMORY_OBJECTS___363 = 22,
    _SC_AIO_LISTIO_MAX___363 = 23,
    _SC_AIO_MAX___363 = 24,
    _SC_AIO_PRIO_DELTA_MAX___363 = 25,
    _SC_DELAYTIMER_MAX___363 = 26,
    _SC_MQ_OPEN_MAX___363 = 27,
    _SC_MQ_PRIO_MAX___363 = 28,
    _SC_VERSION___363 = 29,
    _SC_PAGESIZE___363 = 30,
    _SC_RTSIG_MAX___363 = 31,
    _SC_SEM_NSEMS_MAX___363 = 32,
    _SC_SEM_VALUE_MAX___363 = 33,
    _SC_SIGQUEUE_MAX___363 = 34,
    _SC_TIMER_MAX___363 = 35,
    _SC_BC_BASE_MAX___363 = 36,
    _SC_BC_DIM_MAX___363 = 37,
    _SC_BC_SCALE_MAX___363 = 38,
    _SC_BC_STRING_MAX___363 = 39,
    _SC_COLL_WEIGHTS_MAX___363 = 40,
    _SC_EQUIV_CLASS_MAX___363 = 41,
    _SC_EXPR_NEST_MAX___363 = 42,
    _SC_LINE_MAX___363 = 43,
    _SC_RE_DUP_MAX___363 = 44,
    _SC_CHARCLASS_NAME_MAX___363 = 45,
    _SC_2_VERSION___363 = 46,
    _SC_2_C_BIND___363 = 47,
    _SC_2_C_DEV___363 = 48,
    _SC_2_FORT_DEV___363 = 49,
    _SC_2_FORT_RUN___363 = 50,
    _SC_2_SW_DEV___363 = 51,
    _SC_2_LOCALEDEF___363 = 52,
    _SC_PII___363 = 53,
    _SC_PII_XTI___363 = 54,
    _SC_PII_SOCKET___363 = 55,
    _SC_PII_INTERNET___363 = 56,
    _SC_PII_OSI___363 = 57,
    _SC_POLL___363 = 58,
    _SC_SELECT___363 = 59,
    _SC_UIO_MAXIOV___363 = 60,
    _SC_IOV_MAX___363 = 60,
    _SC_PII_INTERNET_STREAM___363 = 61,
    _SC_PII_INTERNET_DGRAM___363 = 62,
    _SC_PII_OSI_COTS___363 = 63,
    _SC_PII_OSI_CLTS___363 = 64,
    _SC_PII_OSI_M___363 = 65,
    _SC_T_IOV_MAX___363 = 66,
    _SC_THREADS___363 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___363 = 68,
    _SC_GETGR_R_SIZE_MAX___363 = 69,
    _SC_GETPW_R_SIZE_MAX___363 = 70,
    _SC_LOGIN_NAME_MAX___363 = 71,
    _SC_TTY_NAME_MAX___363 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___363 = 73,
    _SC_THREAD_KEYS_MAX___363 = 74,
    _SC_THREAD_STACK_MIN___363 = 75,
    _SC_THREAD_THREADS_MAX___363 = 76,
    _SC_THREAD_ATTR_STACKADDR___363 = 77,
    _SC_THREAD_ATTR_STACKSIZE___363 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___363 = 79,
    _SC_THREAD_PRIO_INHERIT___363 = 80,
    _SC_THREAD_PRIO_PROTECT___363 = 81,
    _SC_THREAD_PROCESS_SHARED___363 = 82,
    _SC_NPROCESSORS_CONF___363 = 83,
    _SC_NPROCESSORS_ONLN___363 = 84,
    _SC_PHYS_PAGES___363 = 85,
    _SC_AVPHYS_PAGES___363 = 86,
    _SC_ATEXIT_MAX___363 = 87,
    _SC_PASS_MAX___363 = 88,
    _SC_XOPEN_VERSION___363 = 89,
    _SC_XOPEN_XCU_VERSION___363 = 90,
    _SC_XOPEN_UNIX___363 = 91,
    _SC_XOPEN_CRYPT___363 = 92,
    _SC_XOPEN_ENH_I18N___363 = 93,
    _SC_XOPEN_SHM___363 = 94,
    _SC_2_CHAR_TERM___363 = 95,
    _SC_2_C_VERSION___363 = 96,
    _SC_2_UPE___363 = 97,
    _SC_XOPEN_XPG2___363 = 98,
    _SC_XOPEN_XPG3___363 = 99,
    _SC_XOPEN_XPG4___363 = 100,
    _SC_CHAR_BIT___363 = 101,
    _SC_CHAR_MAX___363 = 102,
    _SC_CHAR_MIN___363 = 103,
    _SC_INT_MAX___363 = 104,
    _SC_INT_MIN___363 = 105,
    _SC_LONG_BIT___363 = 106,
    _SC_WORD_BIT___363 = 107,
    _SC_MB_LEN_MAX___363 = 108,
    _SC_NZERO___363 = 109,
    _SC_SSIZE_MAX___363 = 110,
    _SC_SCHAR_MAX___363 = 111,
    _SC_SCHAR_MIN___363 = 112,
    _SC_SHRT_MAX___363 = 113,
    _SC_SHRT_MIN___363 = 114,
    _SC_UCHAR_MAX___363 = 115,
    _SC_UINT_MAX___363 = 116,
    _SC_ULONG_MAX___363 = 117,
    _SC_USHRT_MAX___363 = 118,
    _SC_NL_ARGMAX___363 = 119,
    _SC_NL_LANGMAX___363 = 120,
    _SC_NL_MSGMAX___363 = 121,
    _SC_NL_NMAX___363 = 122,
    _SC_NL_SETMAX___363 = 123,
    _SC_NL_TEXTMAX___363 = 124,
    _SC_XBS5_ILP32_OFF32___363 = 125,
    _SC_XBS5_ILP32_OFFBIG___363 = 126,
    _SC_XBS5_LP64_OFF64___363 = 127,
    _SC_XBS5_LPBIG_OFFBIG___363 = 128,
    _SC_XOPEN_LEGACY___363 = 129,
    _SC_XOPEN_REALTIME___363 = 130,
    _SC_XOPEN_REALTIME_THREADS___363 = 131,
    _SC_ADVISORY_INFO___363 = 132,
    _SC_BARRIERS___363 = 133,
    _SC_BASE___363 = 134,
    _SC_C_LANG_SUPPORT___363 = 135,
    _SC_C_LANG_SUPPORT_R___363 = 136,
    _SC_CLOCK_SELECTION___363 = 137,
    _SC_CPUTIME___363 = 138,
    _SC_THREAD_CPUTIME___363 = 139,
    _SC_DEVICE_IO___363 = 140,
    _SC_DEVICE_SPECIFIC___363 = 141,
    _SC_DEVICE_SPECIFIC_R___363 = 142,
    _SC_FD_MGMT___363 = 143,
    _SC_FIFO___363 = 144,
    _SC_PIPE___363 = 145,
    _SC_FILE_ATTRIBUTES___363 = 146,
    _SC_FILE_LOCKING___363 = 147,
    _SC_FILE_SYSTEM___363 = 148,
    _SC_MONOTONIC_CLOCK___363 = 149,
    _SC_MULTI_PROCESS___363 = 150,
    _SC_SINGLE_PROCESS___363 = 151,
    _SC_NETWORKING___363 = 152,
    _SC_READER_WRITER_LOCKS___363 = 153,
    _SC_SPIN_LOCKS___363 = 154,
    _SC_REGEXP___363 = 155,
    _SC_REGEX_VERSION___363 = 156,
    _SC_SHELL___363 = 157,
    _SC_SIGNALS___363 = 158,
    _SC_SPAWN___363 = 159,
    _SC_SPORADIC_SERVER___363 = 160,
    _SC_THREAD_SPORADIC_SERVER___363 = 161,
    _SC_SYSTEM_DATABASE___363 = 162,
    _SC_SYSTEM_DATABASE_R___363 = 163,
    _SC_TIMEOUTS___363 = 164,
    _SC_TYPED_MEMORY_OBJECTS___363 = 165,
    _SC_USER_GROUPS___363 = 166,
    _SC_USER_GROUPS_R___363 = 167,
    _SC_2_PBS___363 = 168,
    _SC_2_PBS_ACCOUNTING___363 = 169,
    _SC_2_PBS_LOCATE___363 = 170,
    _SC_2_PBS_MESSAGE___363 = 171,
    _SC_2_PBS_TRACK___363 = 172,
    _SC_SYMLOOP_MAX___363 = 173,
    _SC_STREAMS___363 = 174,
    _SC_2_PBS_CHECKPOINT___363 = 175,
    _SC_V6_ILP32_OFF32___363 = 176,
    _SC_V6_ILP32_OFFBIG___363 = 177,
    _SC_V6_LP64_OFF64___363 = 178,
    _SC_V6_LPBIG_OFFBIG___363 = 179,
    _SC_HOST_NAME_MAX___363 = 180,
    _SC_TRACE___363 = 181,
    _SC_TRACE_EVENT_FILTER___363 = 182,
    _SC_TRACE_INHERIT___363 = 183,
    _SC_TRACE_LOG___363 = 184,
    _SC_LEVEL1_ICACHE_SIZE___363 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___363 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___363 = 187,
    _SC_LEVEL1_DCACHE_SIZE___363 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___363 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___363 = 190,
    _SC_LEVEL2_CACHE_SIZE___363 = 191,
    _SC_LEVEL2_CACHE_ASSOC___363 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___363 = 193,
    _SC_LEVEL3_CACHE_SIZE___363 = 194,
    _SC_LEVEL3_CACHE_ASSOC___363 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___363 = 196,
    _SC_LEVEL4_CACHE_SIZE___363 = 197,
    _SC_LEVEL4_CACHE_ASSOC___363 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___363 = 199,
    _SC_IPV6___363 = 235,
    _SC_RAW_SOCKETS___363 = 236,
    _SC_V7_ILP32_OFF32___363 = 237,
    _SC_V7_ILP32_OFFBIG___363 = 238,
    _SC_V7_LP64_OFF64___363 = 239,
    _SC_V7_LPBIG_OFFBIG___363 = 240,
    _SC_SS_REPL_MAX___363 = 241,
    _SC_TRACE_EVENT_NAME_MAX___363 = 242,
    _SC_TRACE_NAME_MAX___363 = 243,
    _SC_TRACE_SYS_MAX___363 = 244,
    _SC_TRACE_USER_EVENT_MAX___363 = 245,
    _SC_XOPEN_STREAMS___363 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___363 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___363 = 248
} ;
enum __anonenum_875524036___363 {
    _CS_PATH___363 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___363 = 1,
    _CS_GNU_LIBC_VERSION___363 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___363 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___363 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___363 = 5,
    _CS_LFS_CFLAGS___363 = 1000,
    _CS_LFS_LDFLAGS___363 = 1001,
    _CS_LFS_LIBS___363 = 1002,
    _CS_LFS_LINTFLAGS___363 = 1003,
    _CS_LFS64_CFLAGS___363 = 1004,
    _CS_LFS64_LDFLAGS___363 = 1005,
    _CS_LFS64_LIBS___363 = 1006,
    _CS_LFS64_LINTFLAGS___363 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___363 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___363 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___363 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___363 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___363 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___363 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___363 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___363 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___363 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___363 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___363 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___363 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___363 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___363 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___363 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___363 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___363 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___363 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___363 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___363 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___363 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___363 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___363 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___363 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___363 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___363 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___363 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___363 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___363 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___363 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___363 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___363 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___363 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___363 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___363 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___363 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___363 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___363 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___363 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___363 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___363 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___363 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___363 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___363 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___363 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___363 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___363 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___363 = 1147,
    _CS_V6_ENV___363 = 1148,
    _CS_V7_ENV___363 = 1149
} ;
enum __anonenum_513775621___363 {
    DT_UNKNOWN___363 = 0,
    DT_FIFO___363 = 1,
    DT_CHR___363 = 2,
    DT_DIR___363 = 4,
    DT_BLK___363 = 6,
    DT_REG___363 = 8,
    DT_LNK___363 = 10,
    DT_SOCK___363 = 12,
    DT_WHT___363 = 14
} ;
enum __anonenum_77002343___363 {
    SI_ASYNCNL___363 = -60,
    SI_TKILL___363 = -6,
    SI_SIGIO___363 = -5,
    SI_ASYNCIO___363 = -4,
    SI_MESGQ___363 = -3,
    SI_TIMER___363 = -2,
    SI_QUEUE___363 = -1,
    SI_USER___363 = 0,
    SI_KERNEL___363 = 128
} ;
enum __anonenum_131038172___363 {
    ILL_ILLOPC___363 = 1,
    ILL_ILLOPN___363 = 2,
    ILL_ILLADR___363 = 3,
    ILL_ILLTRP___363 = 4,
    ILL_PRVOPC___363 = 5,
    ILL_PRVREG___363 = 6,
    ILL_COPROC___363 = 7,
    ILL_BADSTK___363 = 8
} ;
enum __anonenum_452038093___363 {
    FPE_INTDIV___363 = 1,
    FPE_INTOVF___363 = 2,
    FPE_FLTDIV___363 = 3,
    FPE_FLTOVF___363 = 4,
    FPE_FLTUND___363 = 5,
    FPE_FLTRES___363 = 6,
    FPE_FLTINV___363 = 7,
    FPE_FLTSUB___363 = 8
} ;
enum __anonenum_30976155___363 {
    SEGV_MAPERR___363 = 1,
    SEGV_ACCERR___363 = 2,
    SEGV_BNDERR___363 = 3,
    SEGV_PKUERR___363 = 4
} ;
enum __anonenum_1036286214___363 {
    BUS_ADRALN___363 = 1,
    BUS_ADRERR___363 = 2,
    BUS_OBJERR___363 = 3,
    BUS_MCEERR_AR___363 = 4,
    BUS_MCEERR_AO___363 = 5
} ;
enum __anonenum_493465559___363 {
    TRAP_BRKPT___363 = 1,
    TRAP_TRACE___363 = 2
} ;
enum __anonenum_23175539___363 {
    CLD_EXITED___363 = 1,
    CLD_KILLED___363 = 2,
    CLD_DUMPED___363 = 3,
    CLD_TRAPPED___363 = 4,
    CLD_STOPPED___363 = 5,
    CLD_CONTINUED___363 = 6
} ;
enum __anonenum_111643124___363 {
    POLL_IN___363 = 1,
    POLL_OUT___363 = 2,
    POLL_MSG___363 = 3,
    POLL_ERR___363 = 4,
    POLL_PRI___363 = 5,
    POLL_HUP___363 = 6
} ;
enum __anonenum_852341087___363 {
    SIGEV_SIGNAL___363 = 0,
    SIGEV_NONE___363 = 1,
    SIGEV_THREAD___363 = 2,
    SIGEV_THREAD_ID___363 = 4
} ;
enum __anonenum_451154152___363 {
    REG_R8___363 = 0,
    REG_R9___363 = 1,
    REG_R10___363 = 2,
    REG_R11___363 = 3,
    REG_R12___363 = 4,
    REG_R13___363 = 5,
    REG_R14___363 = 6,
    REG_R15___363 = 7,
    REG_RDI___363 = 8,
    REG_RSI___363 = 9,
    REG_RBP___363 = 10,
    REG_RBX___363 = 11,
    REG_RDX___363 = 12,
    REG_RAX___363 = 13,
    REG_RCX___363 = 14,
    REG_RSP___363 = 15,
    REG_RIP___363 = 16,
    REG_EFL___363 = 17,
    REG_CSGSFS___363 = 18,
    REG_ERR___363 = 19,
    REG_TRAPNO___363 = 20,
    REG_OLDMASK___363 = 21,
    REG_CR2___363 = 22
} ;
enum __anonenum_57186863___363 {
    SS_ONSTACK___363 = 1,
    SS_DISABLE___363 = 2
} ;
enum __anonenum_83571709___363 {
    MSG_OOB___363 = 1,
    MSG_PEEK___363 = 2,
    MSG_DONTROUTE___363 = 4,
    MSG_TRYHARD___363 = 4,
    MSG_CTRUNC___363 = 8,
    MSG_PROXY___363 = 16,
    MSG_TRUNC___363 = 32,
    MSG_DONTWAIT___363 = 64,
    MSG_EOR___363 = 128,
    MSG_WAITALL___363 = 256,
    MSG_FIN___363 = 512,
    MSG_SYN___363 = 1024,
    MSG_CONFIRM___363 = 2048,
    MSG_RST___363 = 4096,
    MSG_ERRQUEUE___363 = 8192,
    MSG_NOSIGNAL___363 = 16384,
    MSG_MORE___363 = 32768,
    MSG_WAITFORONE___363 = 65536,
    MSG_BATCH___363 = 262144,
    MSG_ZEROCOPY___363 = 67108864,
    MSG_FASTOPEN___363 = 536870912,
    MSG_CMSG_CLOEXEC___363 = 1073741824
} ;
enum __anonenum_617082774___363 {
    SCM_RIGHTS___363 = 1,
    SCM_CREDENTIALS___363 = 2
} ;
enum __anonenum_606441560___363 {
    SHUT_RD___363 = 0,
    SHUT_WR___363 = 1,
    SHUT_RDWR___363 = 2
} ;
enum __anonenum_681669233___363 {
    IPPROTO_IP___363 = 0,
    IPPROTO_ICMP___363 = 1,
    IPPROTO_IGMP___363 = 2,
    IPPROTO_IPIP___363 = 4,
    IPPROTO_TCP___363 = 6,
    IPPROTO_EGP___363 = 8,
    IPPROTO_PUP___363 = 12,
    IPPROTO_UDP___363 = 17,
    IPPROTO_IDP___363 = 22,
    IPPROTO_TP___363 = 29,
    IPPROTO_DCCP___363 = 33,
    IPPROTO_IPV6___363 = 41,
    IPPROTO_RSVP___363 = 46,
    IPPROTO_GRE___363 = 47,
    IPPROTO_ESP___363 = 50,
    IPPROTO_AH___363 = 51,
    IPPROTO_MTP___363 = 92,
    IPPROTO_BEETPH___363 = 94,
    IPPROTO_ENCAP___363 = 98,
    IPPROTO_PIM___363 = 103,
    IPPROTO_COMP___363 = 108,
    IPPROTO_SCTP___363 = 132,
    IPPROTO_UDPLITE___363 = 136,
    IPPROTO_MPLS___363 = 137,
    IPPROTO_RAW___363 = 255,
    IPPROTO_MAX___363 = 256
} ;
enum __anonenum_218739988___363 {
    IPPROTO_HOPOPTS___363 = 0,
    IPPROTO_ROUTING___363 = 43,
    IPPROTO_FRAGMENT___363 = 44,
    IPPROTO_ICMPV6___363 = 58,
    IPPROTO_NONE___363 = 59,
    IPPROTO_DSTOPTS___363 = 60,
    IPPROTO_MH___363 = 135
} ;
enum __anonenum_662268580___363 {
    IPPORT_ECHO___363 = 7,
    IPPORT_DISCARD___363 = 9,
    IPPORT_SYSTAT___363 = 11,
    IPPORT_DAYTIME___363 = 13,
    IPPORT_NETSTAT___363 = 15,
    IPPORT_FTP___363 = 21,
    IPPORT_TELNET___363 = 23,
    IPPORT_SMTP___363 = 25,
    IPPORT_TIMESERVER___363 = 37,
    IPPORT_NAMESERVER___363 = 42,
    IPPORT_WHOIS___363 = 43,
    IPPORT_MTP___363 = 57,
    IPPORT_TFTP___363 = 69,
    IPPORT_RJE___363 = 77,
    IPPORT_FINGER___363 = 79,
    IPPORT_TTYLINK___363 = 87,
    IPPORT_SUPDUP___363 = 95,
    IPPORT_EXECSERVER___363 = 512,
    IPPORT_LOGINSERVER___363 = 513,
    IPPORT_CMDSERVER___363 = 514,
    IPPORT_EFSSERVER___363 = 520,
    IPPORT_BIFFUDP___363 = 512,
    IPPORT_WHOSERVER___363 = 513,
    IPPORT_ROUTESERVER___363 = 520,
    IPPORT_RESERVED___363 = 1024,
    IPPORT_USERRESERVED___363 = 5000
} ;
enum __anonenum_788308992___363 {
    TCP_ESTABLISHED___363 = 1,
    TCP_SYN_SENT___363 = 2,
    TCP_SYN_RECV___363 = 3,
    TCP_FIN_WAIT1___363 = 4,
    TCP_FIN_WAIT2___363 = 5,
    TCP_TIME_WAIT___363 = 6,
    TCP_CLOSE___363 = 7,
    TCP_CLOSE_WAIT___363 = 8,
    TCP_LAST_ACK___363 = 9,
    TCP_LISTEN___363 = 10,
    TCP_CLOSING___363 = 11
} ;
enum __anonenum_221125648___363 {
    TCP_NO_QUEUE___363 = 0,
    TCP_RECV_QUEUE___363 = 1,
    TCP_SEND_QUEUE___363 = 2,
    TCP_QUEUES_NR___363 = 3
} ;
enum __anonenum_34415463___363 {
    PTHREAD_CREATE_JOINABLE___363 = 0,
    PTHREAD_CREATE_DETACHED___363 = 1
} ;
enum __anonenum_303612439___363 {
    PTHREAD_MUTEX_TIMED_NP___363 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___363 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___363 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___363 = 3,
    PTHREAD_MUTEX_NORMAL___363 = 0,
    PTHREAD_MUTEX_RECURSIVE___363 = 1,
    PTHREAD_MUTEX_ERRORCHECK___363 = 2,
    PTHREAD_MUTEX_DEFAULT___363 = 0,
    PTHREAD_MUTEX_FAST_NP___363 = 0
} ;
enum __anonenum_931900394___363 {
    PTHREAD_MUTEX_STALLED___363 = 0,
    PTHREAD_MUTEX_STALLED_NP___363 = 0,
    PTHREAD_MUTEX_ROBUST___363 = 1,
    PTHREAD_MUTEX_ROBUST_NP___363 = 1
} ;
enum __anonenum_205214487___363 {
    PTHREAD_PRIO_NONE___363 = 0,
    PTHREAD_PRIO_INHERIT___363 = 1,
    PTHREAD_PRIO_PROTECT___363 = 2
} ;
enum __anonenum_25043950___363 {
    PTHREAD_RWLOCK_PREFER_READER_NP___363 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___363 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___363 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___363 = 0
} ;
enum __anonenum_436439511___363 {
    PTHREAD_INHERIT_SCHED___363 = 0,
    PTHREAD_EXPLICIT_SCHED___363 = 1
} ;
enum __anonenum_998661166___363 {
    PTHREAD_SCOPE_SYSTEM___363 = 0,
    PTHREAD_SCOPE_PROCESS___363 = 1
} ;
enum __anonenum_146137331___363 {
    PTHREAD_PROCESS_PRIVATE___363 = 0,
    PTHREAD_PROCESS_SHARED___363 = 1
} ;
enum __anonenum_53396917___363 {
    PTHREAD_CANCEL_ENABLE___363 = 0,
    PTHREAD_CANCEL_DISABLE___363 = 1
} ;
enum __anonenum_904563783___363 {
    PTHREAD_CANCEL_DEFERRED___363 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___363 = 1
} ;
enum __anonenum_672052974___363 {
    SSL_CT_VALIDATION_PERMISSIVE___363 = 0,
    SSL_CT_VALIDATION_STRICT___363 = 1
} ;
enum __anonenum_561748495___32 {
    RECURSE_SUBMODULES_ONLY___32 = -5,
    RECURSE_SUBMODULES_CHECK___32 = -4,
    RECURSE_SUBMODULES_ERROR___32 = -3,
    RECURSE_SUBMODULES_NONE___32 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___32 = -1,
    RECURSE_SUBMODULES_OFF___32 = 0,
    RECURSE_SUBMODULES_DEFAULT___32 = 1,
    RECURSE_SUBMODULES_ON___32 = 2
} ;
enum format_type {
    FORMAT_RELATIVE = 0,
    FORMAT_CANONICAL = 1,
    FORMAT_DEFAULT = 2
} ;
enum default_type {
    DEFAULT_RELATIVE = 0,
    DEFAULT_RELATIVE_IF_SHARED = 1,
    DEFAULT_CANONICAL = 2,
    DEFAULT_UNMODIFIED = 3
} ;
enum __anonenum_437032235___364 {
    _PC_LINK_MAX___364 = 0,
    _PC_MAX_CANON___364 = 1,
    _PC_MAX_INPUT___364 = 2,
    _PC_NAME_MAX___364 = 3,
    _PC_PATH_MAX___364 = 4,
    _PC_PIPE_BUF___364 = 5,
    _PC_CHOWN_RESTRICTED___364 = 6,
    _PC_NO_TRUNC___364 = 7,
    _PC_VDISABLE___364 = 8,
    _PC_SYNC_IO___364 = 9,
    _PC_ASYNC_IO___364 = 10,
    _PC_PRIO_IO___364 = 11,
    _PC_SOCK_MAXBUF___364 = 12,
    _PC_FILESIZEBITS___364 = 13,
    _PC_REC_INCR_XFER_SIZE___364 = 14,
    _PC_REC_MAX_XFER_SIZE___364 = 15,
    _PC_REC_MIN_XFER_SIZE___364 = 16,
    _PC_REC_XFER_ALIGN___364 = 17,
    _PC_ALLOC_SIZE_MIN___364 = 18,
    _PC_SYMLINK_MAX___364 = 19,
    _PC_2_SYMLINKS___364 = 20
} ;
enum __anonenum_315186338___364 {
    _SC_ARG_MAX___364 = 0,
    _SC_CHILD_MAX___364 = 1,
    _SC_CLK_TCK___364 = 2,
    _SC_NGROUPS_MAX___364 = 3,
    _SC_OPEN_MAX___364 = 4,
    _SC_STREAM_MAX___364 = 5,
    _SC_TZNAME_MAX___364 = 6,
    _SC_JOB_CONTROL___364 = 7,
    _SC_SAVED_IDS___364 = 8,
    _SC_REALTIME_SIGNALS___364 = 9,
    _SC_PRIORITY_SCHEDULING___364 = 10,
    _SC_TIMERS___364 = 11,
    _SC_ASYNCHRONOUS_IO___364 = 12,
    _SC_PRIORITIZED_IO___364 = 13,
    _SC_SYNCHRONIZED_IO___364 = 14,
    _SC_FSYNC___364 = 15,
    _SC_MAPPED_FILES___364 = 16,
    _SC_MEMLOCK___364 = 17,
    _SC_MEMLOCK_RANGE___364 = 18,
    _SC_MEMORY_PROTECTION___364 = 19,
    _SC_MESSAGE_PASSING___364 = 20,
    _SC_SEMAPHORES___364 = 21,
    _SC_SHARED_MEMORY_OBJECTS___364 = 22,
    _SC_AIO_LISTIO_MAX___364 = 23,
    _SC_AIO_MAX___364 = 24,
    _SC_AIO_PRIO_DELTA_MAX___364 = 25,
    _SC_DELAYTIMER_MAX___364 = 26,
    _SC_MQ_OPEN_MAX___364 = 27,
    _SC_MQ_PRIO_MAX___364 = 28,
    _SC_VERSION___364 = 29,
    _SC_PAGESIZE___364 = 30,
    _SC_RTSIG_MAX___364 = 31,
    _SC_SEM_NSEMS_MAX___364 = 32,
    _SC_SEM_VALUE_MAX___364 = 33,
    _SC_SIGQUEUE_MAX___364 = 34,
    _SC_TIMER_MAX___364 = 35,
    _SC_BC_BASE_MAX___364 = 36,
    _SC_BC_DIM_MAX___364 = 37,
    _SC_BC_SCALE_MAX___364 = 38,
    _SC_BC_STRING_MAX___364 = 39,
    _SC_COLL_WEIGHTS_MAX___364 = 40,
    _SC_EQUIV_CLASS_MAX___364 = 41,
    _SC_EXPR_NEST_MAX___364 = 42,
    _SC_LINE_MAX___364 = 43,
    _SC_RE_DUP_MAX___364 = 44,
    _SC_CHARCLASS_NAME_MAX___364 = 45,
    _SC_2_VERSION___364 = 46,
    _SC_2_C_BIND___364 = 47,
    _SC_2_C_DEV___364 = 48,
    _SC_2_FORT_DEV___364 = 49,
    _SC_2_FORT_RUN___364 = 50,
    _SC_2_SW_DEV___364 = 51,
    _SC_2_LOCALEDEF___364 = 52,
    _SC_PII___364 = 53,
    _SC_PII_XTI___364 = 54,
    _SC_PII_SOCKET___364 = 55,
    _SC_PII_INTERNET___364 = 56,
    _SC_PII_OSI___364 = 57,
    _SC_POLL___364 = 58,
    _SC_SELECT___364 = 59,
    _SC_UIO_MAXIOV___364 = 60,
    _SC_IOV_MAX___364 = 60,
    _SC_PII_INTERNET_STREAM___364 = 61,
    _SC_PII_INTERNET_DGRAM___364 = 62,
    _SC_PII_OSI_COTS___364 = 63,
    _SC_PII_OSI_CLTS___364 = 64,
    _SC_PII_OSI_M___364 = 65,
    _SC_T_IOV_MAX___364 = 66,
    _SC_THREADS___364 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___364 = 68,
    _SC_GETGR_R_SIZE_MAX___364 = 69,
    _SC_GETPW_R_SIZE_MAX___364 = 70,
    _SC_LOGIN_NAME_MAX___364 = 71,
    _SC_TTY_NAME_MAX___364 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___364 = 73,
    _SC_THREAD_KEYS_MAX___364 = 74,
    _SC_THREAD_STACK_MIN___364 = 75,
    _SC_THREAD_THREADS_MAX___364 = 76,
    _SC_THREAD_ATTR_STACKADDR___364 = 77,
    _SC_THREAD_ATTR_STACKSIZE___364 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___364 = 79,
    _SC_THREAD_PRIO_INHERIT___364 = 80,
    _SC_THREAD_PRIO_PROTECT___364 = 81,
    _SC_THREAD_PROCESS_SHARED___364 = 82,
    _SC_NPROCESSORS_CONF___364 = 83,
    _SC_NPROCESSORS_ONLN___364 = 84,
    _SC_PHYS_PAGES___364 = 85,
    _SC_AVPHYS_PAGES___364 = 86,
    _SC_ATEXIT_MAX___364 = 87,
    _SC_PASS_MAX___364 = 88,
    _SC_XOPEN_VERSION___364 = 89,
    _SC_XOPEN_XCU_VERSION___364 = 90,
    _SC_XOPEN_UNIX___364 = 91,
    _SC_XOPEN_CRYPT___364 = 92,
    _SC_XOPEN_ENH_I18N___364 = 93,
    _SC_XOPEN_SHM___364 = 94,
    _SC_2_CHAR_TERM___364 = 95,
    _SC_2_C_VERSION___364 = 96,
    _SC_2_UPE___364 = 97,
    _SC_XOPEN_XPG2___364 = 98,
    _SC_XOPEN_XPG3___364 = 99,
    _SC_XOPEN_XPG4___364 = 100,
    _SC_CHAR_BIT___364 = 101,
    _SC_CHAR_MAX___364 = 102,
    _SC_CHAR_MIN___364 = 103,
    _SC_INT_MAX___364 = 104,
    _SC_INT_MIN___364 = 105,
    _SC_LONG_BIT___364 = 106,
    _SC_WORD_BIT___364 = 107,
    _SC_MB_LEN_MAX___364 = 108,
    _SC_NZERO___364 = 109,
    _SC_SSIZE_MAX___364 = 110,
    _SC_SCHAR_MAX___364 = 111,
    _SC_SCHAR_MIN___364 = 112,
    _SC_SHRT_MAX___364 = 113,
    _SC_SHRT_MIN___364 = 114,
    _SC_UCHAR_MAX___364 = 115,
    _SC_UINT_MAX___364 = 116,
    _SC_ULONG_MAX___364 = 117,
    _SC_USHRT_MAX___364 = 118,
    _SC_NL_ARGMAX___364 = 119,
    _SC_NL_LANGMAX___364 = 120,
    _SC_NL_MSGMAX___364 = 121,
    _SC_NL_NMAX___364 = 122,
    _SC_NL_SETMAX___364 = 123,
    _SC_NL_TEXTMAX___364 = 124,
    _SC_XBS5_ILP32_OFF32___364 = 125,
    _SC_XBS5_ILP32_OFFBIG___364 = 126,
    _SC_XBS5_LP64_OFF64___364 = 127,
    _SC_XBS5_LPBIG_OFFBIG___364 = 128,
    _SC_XOPEN_LEGACY___364 = 129,
    _SC_XOPEN_REALTIME___364 = 130,
    _SC_XOPEN_REALTIME_THREADS___364 = 131,
    _SC_ADVISORY_INFO___364 = 132,
    _SC_BARRIERS___364 = 133,
    _SC_BASE___364 = 134,
    _SC_C_LANG_SUPPORT___364 = 135,
    _SC_C_LANG_SUPPORT_R___364 = 136,
    _SC_CLOCK_SELECTION___364 = 137,
    _SC_CPUTIME___364 = 138,
    _SC_THREAD_CPUTIME___364 = 139,
    _SC_DEVICE_IO___364 = 140,
    _SC_DEVICE_SPECIFIC___364 = 141,
    _SC_DEVICE_SPECIFIC_R___364 = 142,
    _SC_FD_MGMT___364 = 143,
    _SC_FIFO___364 = 144,
    _SC_PIPE___364 = 145,
    _SC_FILE_ATTRIBUTES___364 = 146,
    _SC_FILE_LOCKING___364 = 147,
    _SC_FILE_SYSTEM___364 = 148,
    _SC_MONOTONIC_CLOCK___364 = 149,
    _SC_MULTI_PROCESS___364 = 150,
    _SC_SINGLE_PROCESS___364 = 151,
    _SC_NETWORKING___364 = 152,
    _SC_READER_WRITER_LOCKS___364 = 153,
    _SC_SPIN_LOCKS___364 = 154,
    _SC_REGEXP___364 = 155,
    _SC_REGEX_VERSION___364 = 156,
    _SC_SHELL___364 = 157,
    _SC_SIGNALS___364 = 158,
    _SC_SPAWN___364 = 159,
    _SC_SPORADIC_SERVER___364 = 160,
    _SC_THREAD_SPORADIC_SERVER___364 = 161,
    _SC_SYSTEM_DATABASE___364 = 162,
    _SC_SYSTEM_DATABASE_R___364 = 163,
    _SC_TIMEOUTS___364 = 164,
    _SC_TYPED_MEMORY_OBJECTS___364 = 165,
    _SC_USER_GROUPS___364 = 166,
    _SC_USER_GROUPS_R___364 = 167,
    _SC_2_PBS___364 = 168,
    _SC_2_PBS_ACCOUNTING___364 = 169,
    _SC_2_PBS_LOCATE___364 = 170,
    _SC_2_PBS_MESSAGE___364 = 171,
    _SC_2_PBS_TRACK___364 = 172,
    _SC_SYMLOOP_MAX___364 = 173,
    _SC_STREAMS___364 = 174,
    _SC_2_PBS_CHECKPOINT___364 = 175,
    _SC_V6_ILP32_OFF32___364 = 176,
    _SC_V6_ILP32_OFFBIG___364 = 177,
    _SC_V6_LP64_OFF64___364 = 178,
    _SC_V6_LPBIG_OFFBIG___364 = 179,
    _SC_HOST_NAME_MAX___364 = 180,
    _SC_TRACE___364 = 181,
    _SC_TRACE_EVENT_FILTER___364 = 182,
    _SC_TRACE_INHERIT___364 = 183,
    _SC_TRACE_LOG___364 = 184,
    _SC_LEVEL1_ICACHE_SIZE___364 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___364 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___364 = 187,
    _SC_LEVEL1_DCACHE_SIZE___364 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___364 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___364 = 190,
    _SC_LEVEL2_CACHE_SIZE___364 = 191,
    _SC_LEVEL2_CACHE_ASSOC___364 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___364 = 193,
    _SC_LEVEL3_CACHE_SIZE___364 = 194,
    _SC_LEVEL3_CACHE_ASSOC___364 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___364 = 196,
    _SC_LEVEL4_CACHE_SIZE___364 = 197,
    _SC_LEVEL4_CACHE_ASSOC___364 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___364 = 199,
    _SC_IPV6___364 = 235,
    _SC_RAW_SOCKETS___364 = 236,
    _SC_V7_ILP32_OFF32___364 = 237,
    _SC_V7_ILP32_OFFBIG___364 = 238,
    _SC_V7_LP64_OFF64___364 = 239,
    _SC_V7_LPBIG_OFFBIG___364 = 240,
    _SC_SS_REPL_MAX___364 = 241,
    _SC_TRACE_EVENT_NAME_MAX___364 = 242,
    _SC_TRACE_NAME_MAX___364 = 243,
    _SC_TRACE_SYS_MAX___364 = 244,
    _SC_TRACE_USER_EVENT_MAX___364 = 245,
    _SC_XOPEN_STREAMS___364 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___364 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___364 = 248
} ;
enum __anonenum_875524036___364 {
    _CS_PATH___364 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___364 = 1,
    _CS_GNU_LIBC_VERSION___364 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___364 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___364 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___364 = 5,
    _CS_LFS_CFLAGS___364 = 1000,
    _CS_LFS_LDFLAGS___364 = 1001,
    _CS_LFS_LIBS___364 = 1002,
    _CS_LFS_LINTFLAGS___364 = 1003,
    _CS_LFS64_CFLAGS___364 = 1004,
    _CS_LFS64_LDFLAGS___364 = 1005,
    _CS_LFS64_LIBS___364 = 1006,
    _CS_LFS64_LINTFLAGS___364 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___364 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___364 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___364 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___364 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___364 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___364 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___364 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___364 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___364 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___364 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___364 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___364 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___364 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___364 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___364 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___364 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___364 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___364 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___364 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___364 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___364 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___364 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___364 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___364 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___364 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___364 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___364 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___364 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___364 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___364 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___364 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___364 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___364 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___364 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___364 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___364 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___364 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___364 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___364 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___364 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___364 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___364 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___364 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___364 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___364 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___364 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___364 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___364 = 1147,
    _CS_V6_ENV___364 = 1148,
    _CS_V7_ENV___364 = 1149
} ;
enum __anonenum_513775621___364 {
    DT_UNKNOWN___364 = 0,
    DT_FIFO___364 = 1,
    DT_CHR___364 = 2,
    DT_DIR___364 = 4,
    DT_BLK___364 = 6,
    DT_REG___364 = 8,
    DT_LNK___364 = 10,
    DT_SOCK___364 = 12,
    DT_WHT___364 = 14
} ;
enum __anonenum_77002343___364 {
    SI_ASYNCNL___364 = -60,
    SI_TKILL___364 = -6,
    SI_SIGIO___364 = -5,
    SI_ASYNCIO___364 = -4,
    SI_MESGQ___364 = -3,
    SI_TIMER___364 = -2,
    SI_QUEUE___364 = -1,
    SI_USER___364 = 0,
    SI_KERNEL___364 = 128
} ;
enum __anonenum_131038172___364 {
    ILL_ILLOPC___364 = 1,
    ILL_ILLOPN___364 = 2,
    ILL_ILLADR___364 = 3,
    ILL_ILLTRP___364 = 4,
    ILL_PRVOPC___364 = 5,
    ILL_PRVREG___364 = 6,
    ILL_COPROC___364 = 7,
    ILL_BADSTK___364 = 8
} ;
enum __anonenum_452038093___364 {
    FPE_INTDIV___364 = 1,
    FPE_INTOVF___364 = 2,
    FPE_FLTDIV___364 = 3,
    FPE_FLTOVF___364 = 4,
    FPE_FLTUND___364 = 5,
    FPE_FLTRES___364 = 6,
    FPE_FLTINV___364 = 7,
    FPE_FLTSUB___364 = 8
} ;
enum __anonenum_30976155___364 {
    SEGV_MAPERR___364 = 1,
    SEGV_ACCERR___364 = 2,
    SEGV_BNDERR___364 = 3,
    SEGV_PKUERR___364 = 4
} ;
enum __anonenum_1036286214___364 {
    BUS_ADRALN___364 = 1,
    BUS_ADRERR___364 = 2,
    BUS_OBJERR___364 = 3,
    BUS_MCEERR_AR___364 = 4,
    BUS_MCEERR_AO___364 = 5
} ;
enum __anonenum_493465559___364 {
    TRAP_BRKPT___364 = 1,
    TRAP_TRACE___364 = 2
} ;
enum __anonenum_23175539___364 {
    CLD_EXITED___364 = 1,
    CLD_KILLED___364 = 2,
    CLD_DUMPED___364 = 3,
    CLD_TRAPPED___364 = 4,
    CLD_STOPPED___364 = 5,
    CLD_CONTINUED___364 = 6
} ;
enum __anonenum_111643124___364 {
    POLL_IN___364 = 1,
    POLL_OUT___364 = 2,
    POLL_MSG___364 = 3,
    POLL_ERR___364 = 4,
    POLL_PRI___364 = 5,
    POLL_HUP___364 = 6
} ;
enum __anonenum_852341087___364 {
    SIGEV_SIGNAL___364 = 0,
    SIGEV_NONE___364 = 1,
    SIGEV_THREAD___364 = 2,
    SIGEV_THREAD_ID___364 = 4
} ;
enum __anonenum_451154152___364 {
    REG_R8___364 = 0,
    REG_R9___364 = 1,
    REG_R10___364 = 2,
    REG_R11___364 = 3,
    REG_R12___364 = 4,
    REG_R13___364 = 5,
    REG_R14___364 = 6,
    REG_R15___364 = 7,
    REG_RDI___364 = 8,
    REG_RSI___364 = 9,
    REG_RBP___364 = 10,
    REG_RBX___364 = 11,
    REG_RDX___364 = 12,
    REG_RAX___364 = 13,
    REG_RCX___364 = 14,
    REG_RSP___364 = 15,
    REG_RIP___364 = 16,
    REG_EFL___364 = 17,
    REG_CSGSFS___364 = 18,
    REG_ERR___364 = 19,
    REG_TRAPNO___364 = 20,
    REG_OLDMASK___364 = 21,
    REG_CR2___364 = 22
} ;
enum __anonenum_57186863___364 {
    SS_ONSTACK___364 = 1,
    SS_DISABLE___364 = 2
} ;
enum __anonenum_83571709___364 {
    MSG_OOB___364 = 1,
    MSG_PEEK___364 = 2,
    MSG_DONTROUTE___364 = 4,
    MSG_TRYHARD___364 = 4,
    MSG_CTRUNC___364 = 8,
    MSG_PROXY___364 = 16,
    MSG_TRUNC___364 = 32,
    MSG_DONTWAIT___364 = 64,
    MSG_EOR___364 = 128,
    MSG_WAITALL___364 = 256,
    MSG_FIN___364 = 512,
    MSG_SYN___364 = 1024,
    MSG_CONFIRM___364 = 2048,
    MSG_RST___364 = 4096,
    MSG_ERRQUEUE___364 = 8192,
    MSG_NOSIGNAL___364 = 16384,
    MSG_MORE___364 = 32768,
    MSG_WAITFORONE___364 = 65536,
    MSG_BATCH___364 = 262144,
    MSG_ZEROCOPY___364 = 67108864,
    MSG_FASTOPEN___364 = 536870912,
    MSG_CMSG_CLOEXEC___364 = 1073741824
} ;
enum __anonenum_617082774___364 {
    SCM_RIGHTS___364 = 1,
    SCM_CREDENTIALS___364 = 2
} ;
enum __anonenum_606441560___364 {
    SHUT_RD___364 = 0,
    SHUT_WR___364 = 1,
    SHUT_RDWR___364 = 2
} ;
enum __anonenum_681669233___364 {
    IPPROTO_IP___364 = 0,
    IPPROTO_ICMP___364 = 1,
    IPPROTO_IGMP___364 = 2,
    IPPROTO_IPIP___364 = 4,
    IPPROTO_TCP___364 = 6,
    IPPROTO_EGP___364 = 8,
    IPPROTO_PUP___364 = 12,
    IPPROTO_UDP___364 = 17,
    IPPROTO_IDP___364 = 22,
    IPPROTO_TP___364 = 29,
    IPPROTO_DCCP___364 = 33,
    IPPROTO_IPV6___364 = 41,
    IPPROTO_RSVP___364 = 46,
    IPPROTO_GRE___364 = 47,
    IPPROTO_ESP___364 = 50,
    IPPROTO_AH___364 = 51,
    IPPROTO_MTP___364 = 92,
    IPPROTO_BEETPH___364 = 94,
    IPPROTO_ENCAP___364 = 98,
    IPPROTO_PIM___364 = 103,
    IPPROTO_COMP___364 = 108,
    IPPROTO_SCTP___364 = 132,
    IPPROTO_UDPLITE___364 = 136,
    IPPROTO_MPLS___364 = 137,
    IPPROTO_RAW___364 = 255,
    IPPROTO_MAX___364 = 256
} ;
enum __anonenum_218739988___364 {
    IPPROTO_HOPOPTS___364 = 0,
    IPPROTO_ROUTING___364 = 43,
    IPPROTO_FRAGMENT___364 = 44,
    IPPROTO_ICMPV6___364 = 58,
    IPPROTO_NONE___364 = 59,
    IPPROTO_DSTOPTS___364 = 60,
    IPPROTO_MH___364 = 135
} ;
enum __anonenum_662268580___364 {
    IPPORT_ECHO___364 = 7,
    IPPORT_DISCARD___364 = 9,
    IPPORT_SYSTAT___364 = 11,
    IPPORT_DAYTIME___364 = 13,
    IPPORT_NETSTAT___364 = 15,
    IPPORT_FTP___364 = 21,
    IPPORT_TELNET___364 = 23,
    IPPORT_SMTP___364 = 25,
    IPPORT_TIMESERVER___364 = 37,
    IPPORT_NAMESERVER___364 = 42,
    IPPORT_WHOIS___364 = 43,
    IPPORT_MTP___364 = 57,
    IPPORT_TFTP___364 = 69,
    IPPORT_RJE___364 = 77,
    IPPORT_FINGER___364 = 79,
    IPPORT_TTYLINK___364 = 87,
    IPPORT_SUPDUP___364 = 95,
    IPPORT_EXECSERVER___364 = 512,
    IPPORT_LOGINSERVER___364 = 513,
    IPPORT_CMDSERVER___364 = 514,
    IPPORT_EFSSERVER___364 = 520,
    IPPORT_BIFFUDP___364 = 512,
    IPPORT_WHOSERVER___364 = 513,
    IPPORT_ROUTESERVER___364 = 520,
    IPPORT_RESERVED___364 = 1024,
    IPPORT_USERRESERVED___364 = 5000
} ;
enum __anonenum_788308992___364 {
    TCP_ESTABLISHED___364 = 1,
    TCP_SYN_SENT___364 = 2,
    TCP_SYN_RECV___364 = 3,
    TCP_FIN_WAIT1___364 = 4,
    TCP_FIN_WAIT2___364 = 5,
    TCP_TIME_WAIT___364 = 6,
    TCP_CLOSE___364 = 7,
    TCP_CLOSE_WAIT___364 = 8,
    TCP_LAST_ACK___364 = 9,
    TCP_LISTEN___364 = 10,
    TCP_CLOSING___364 = 11
} ;
enum __anonenum_221125648___364 {
    TCP_NO_QUEUE___364 = 0,
    TCP_RECV_QUEUE___364 = 1,
    TCP_SEND_QUEUE___364 = 2,
    TCP_QUEUES_NR___364 = 3
} ;
enum __anonenum_34415463___364 {
    PTHREAD_CREATE_JOINABLE___364 = 0,
    PTHREAD_CREATE_DETACHED___364 = 1
} ;
enum __anonenum_303612439___364 {
    PTHREAD_MUTEX_TIMED_NP___364 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___364 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___364 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___364 = 3,
    PTHREAD_MUTEX_NORMAL___364 = 0,
    PTHREAD_MUTEX_RECURSIVE___364 = 1,
    PTHREAD_MUTEX_ERRORCHECK___364 = 2,
    PTHREAD_MUTEX_DEFAULT___364 = 0,
    PTHREAD_MUTEX_FAST_NP___364 = 0
} ;
enum __anonenum_931900394___364 {
    PTHREAD_MUTEX_STALLED___364 = 0,
    PTHREAD_MUTEX_STALLED_NP___364 = 0,
    PTHREAD_MUTEX_ROBUST___364 = 1,
    PTHREAD_MUTEX_ROBUST_NP___364 = 1
} ;
enum __anonenum_205214487___364 {
    PTHREAD_PRIO_NONE___364 = 0,
    PTHREAD_PRIO_INHERIT___364 = 1,
    PTHREAD_PRIO_PROTECT___364 = 2
} ;
enum __anonenum_25043950___364 {
    PTHREAD_RWLOCK_PREFER_READER_NP___364 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___364 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___364 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___364 = 0
} ;
enum __anonenum_436439511___364 {
    PTHREAD_INHERIT_SCHED___364 = 0,
    PTHREAD_EXPLICIT_SCHED___364 = 1
} ;
enum __anonenum_998661166___364 {
    PTHREAD_SCOPE_SYSTEM___364 = 0,
    PTHREAD_SCOPE_PROCESS___364 = 1
} ;
enum __anonenum_146137331___364 {
    PTHREAD_PROCESS_PRIVATE___364 = 0,
    PTHREAD_PROCESS_SHARED___364 = 1
} ;
enum __anonenum_53396917___364 {
    PTHREAD_CANCEL_ENABLE___364 = 0,
    PTHREAD_CANCEL_DISABLE___364 = 1
} ;
enum __anonenum_904563783___364 {
    PTHREAD_CANCEL_DEFERRED___364 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___364 = 1
} ;
enum __anonenum_672052974___364 {
    SSL_CT_VALIDATION_PERMISSIVE___364 = 0,
    SSL_CT_VALIDATION_STRICT___364 = 1
} ;
enum __anonenum_34023289___43 {
    REMOTE_UNCONFIGURED___43 = 0,
    REMOTE_CONFIG___43 = 1,
    REMOTE_REMOTES___43 = 2,
    REMOTE_BRANCHES___43 = 3
} ;
enum __anonenum_437032235___365 {
    _PC_LINK_MAX___365 = 0,
    _PC_MAX_CANON___365 = 1,
    _PC_MAX_INPUT___365 = 2,
    _PC_NAME_MAX___365 = 3,
    _PC_PATH_MAX___365 = 4,
    _PC_PIPE_BUF___365 = 5,
    _PC_CHOWN_RESTRICTED___365 = 6,
    _PC_NO_TRUNC___365 = 7,
    _PC_VDISABLE___365 = 8,
    _PC_SYNC_IO___365 = 9,
    _PC_ASYNC_IO___365 = 10,
    _PC_PRIO_IO___365 = 11,
    _PC_SOCK_MAXBUF___365 = 12,
    _PC_FILESIZEBITS___365 = 13,
    _PC_REC_INCR_XFER_SIZE___365 = 14,
    _PC_REC_MAX_XFER_SIZE___365 = 15,
    _PC_REC_MIN_XFER_SIZE___365 = 16,
    _PC_REC_XFER_ALIGN___365 = 17,
    _PC_ALLOC_SIZE_MIN___365 = 18,
    _PC_SYMLINK_MAX___365 = 19,
    _PC_2_SYMLINKS___365 = 20
} ;
enum __anonenum_315186338___365 {
    _SC_ARG_MAX___365 = 0,
    _SC_CHILD_MAX___365 = 1,
    _SC_CLK_TCK___365 = 2,
    _SC_NGROUPS_MAX___365 = 3,
    _SC_OPEN_MAX___365 = 4,
    _SC_STREAM_MAX___365 = 5,
    _SC_TZNAME_MAX___365 = 6,
    _SC_JOB_CONTROL___365 = 7,
    _SC_SAVED_IDS___365 = 8,
    _SC_REALTIME_SIGNALS___365 = 9,
    _SC_PRIORITY_SCHEDULING___365 = 10,
    _SC_TIMERS___365 = 11,
    _SC_ASYNCHRONOUS_IO___365 = 12,
    _SC_PRIORITIZED_IO___365 = 13,
    _SC_SYNCHRONIZED_IO___365 = 14,
    _SC_FSYNC___365 = 15,
    _SC_MAPPED_FILES___365 = 16,
    _SC_MEMLOCK___365 = 17,
    _SC_MEMLOCK_RANGE___365 = 18,
    _SC_MEMORY_PROTECTION___365 = 19,
    _SC_MESSAGE_PASSING___365 = 20,
    _SC_SEMAPHORES___365 = 21,
    _SC_SHARED_MEMORY_OBJECTS___365 = 22,
    _SC_AIO_LISTIO_MAX___365 = 23,
    _SC_AIO_MAX___365 = 24,
    _SC_AIO_PRIO_DELTA_MAX___365 = 25,
    _SC_DELAYTIMER_MAX___365 = 26,
    _SC_MQ_OPEN_MAX___365 = 27,
    _SC_MQ_PRIO_MAX___365 = 28,
    _SC_VERSION___365 = 29,
    _SC_PAGESIZE___365 = 30,
    _SC_RTSIG_MAX___365 = 31,
    _SC_SEM_NSEMS_MAX___365 = 32,
    _SC_SEM_VALUE_MAX___365 = 33,
    _SC_SIGQUEUE_MAX___365 = 34,
    _SC_TIMER_MAX___365 = 35,
    _SC_BC_BASE_MAX___365 = 36,
    _SC_BC_DIM_MAX___365 = 37,
    _SC_BC_SCALE_MAX___365 = 38,
    _SC_BC_STRING_MAX___365 = 39,
    _SC_COLL_WEIGHTS_MAX___365 = 40,
    _SC_EQUIV_CLASS_MAX___365 = 41,
    _SC_EXPR_NEST_MAX___365 = 42,
    _SC_LINE_MAX___365 = 43,
    _SC_RE_DUP_MAX___365 = 44,
    _SC_CHARCLASS_NAME_MAX___365 = 45,
    _SC_2_VERSION___365 = 46,
    _SC_2_C_BIND___365 = 47,
    _SC_2_C_DEV___365 = 48,
    _SC_2_FORT_DEV___365 = 49,
    _SC_2_FORT_RUN___365 = 50,
    _SC_2_SW_DEV___365 = 51,
    _SC_2_LOCALEDEF___365 = 52,
    _SC_PII___365 = 53,
    _SC_PII_XTI___365 = 54,
    _SC_PII_SOCKET___365 = 55,
    _SC_PII_INTERNET___365 = 56,
    _SC_PII_OSI___365 = 57,
    _SC_POLL___365 = 58,
    _SC_SELECT___365 = 59,
    _SC_UIO_MAXIOV___365 = 60,
    _SC_IOV_MAX___365 = 60,
    _SC_PII_INTERNET_STREAM___365 = 61,
    _SC_PII_INTERNET_DGRAM___365 = 62,
    _SC_PII_OSI_COTS___365 = 63,
    _SC_PII_OSI_CLTS___365 = 64,
    _SC_PII_OSI_M___365 = 65,
    _SC_T_IOV_MAX___365 = 66,
    _SC_THREADS___365 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___365 = 68,
    _SC_GETGR_R_SIZE_MAX___365 = 69,
    _SC_GETPW_R_SIZE_MAX___365 = 70,
    _SC_LOGIN_NAME_MAX___365 = 71,
    _SC_TTY_NAME_MAX___365 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___365 = 73,
    _SC_THREAD_KEYS_MAX___365 = 74,
    _SC_THREAD_STACK_MIN___365 = 75,
    _SC_THREAD_THREADS_MAX___365 = 76,
    _SC_THREAD_ATTR_STACKADDR___365 = 77,
    _SC_THREAD_ATTR_STACKSIZE___365 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___365 = 79,
    _SC_THREAD_PRIO_INHERIT___365 = 80,
    _SC_THREAD_PRIO_PROTECT___365 = 81,
    _SC_THREAD_PROCESS_SHARED___365 = 82,
    _SC_NPROCESSORS_CONF___365 = 83,
    _SC_NPROCESSORS_ONLN___365 = 84,
    _SC_PHYS_PAGES___365 = 85,
    _SC_AVPHYS_PAGES___365 = 86,
    _SC_ATEXIT_MAX___365 = 87,
    _SC_PASS_MAX___365 = 88,
    _SC_XOPEN_VERSION___365 = 89,
    _SC_XOPEN_XCU_VERSION___365 = 90,
    _SC_XOPEN_UNIX___365 = 91,
    _SC_XOPEN_CRYPT___365 = 92,
    _SC_XOPEN_ENH_I18N___365 = 93,
    _SC_XOPEN_SHM___365 = 94,
    _SC_2_CHAR_TERM___365 = 95,
    _SC_2_C_VERSION___365 = 96,
    _SC_2_UPE___365 = 97,
    _SC_XOPEN_XPG2___365 = 98,
    _SC_XOPEN_XPG3___365 = 99,
    _SC_XOPEN_XPG4___365 = 100,
    _SC_CHAR_BIT___365 = 101,
    _SC_CHAR_MAX___365 = 102,
    _SC_CHAR_MIN___365 = 103,
    _SC_INT_MAX___365 = 104,
    _SC_INT_MIN___365 = 105,
    _SC_LONG_BIT___365 = 106,
    _SC_WORD_BIT___365 = 107,
    _SC_MB_LEN_MAX___365 = 108,
    _SC_NZERO___365 = 109,
    _SC_SSIZE_MAX___365 = 110,
    _SC_SCHAR_MAX___365 = 111,
    _SC_SCHAR_MIN___365 = 112,
    _SC_SHRT_MAX___365 = 113,
    _SC_SHRT_MIN___365 = 114,
    _SC_UCHAR_MAX___365 = 115,
    _SC_UINT_MAX___365 = 116,
    _SC_ULONG_MAX___365 = 117,
    _SC_USHRT_MAX___365 = 118,
    _SC_NL_ARGMAX___365 = 119,
    _SC_NL_LANGMAX___365 = 120,
    _SC_NL_MSGMAX___365 = 121,
    _SC_NL_NMAX___365 = 122,
    _SC_NL_SETMAX___365 = 123,
    _SC_NL_TEXTMAX___365 = 124,
    _SC_XBS5_ILP32_OFF32___365 = 125,
    _SC_XBS5_ILP32_OFFBIG___365 = 126,
    _SC_XBS5_LP64_OFF64___365 = 127,
    _SC_XBS5_LPBIG_OFFBIG___365 = 128,
    _SC_XOPEN_LEGACY___365 = 129,
    _SC_XOPEN_REALTIME___365 = 130,
    _SC_XOPEN_REALTIME_THREADS___365 = 131,
    _SC_ADVISORY_INFO___365 = 132,
    _SC_BARRIERS___365 = 133,
    _SC_BASE___365 = 134,
    _SC_C_LANG_SUPPORT___365 = 135,
    _SC_C_LANG_SUPPORT_R___365 = 136,
    _SC_CLOCK_SELECTION___365 = 137,
    _SC_CPUTIME___365 = 138,
    _SC_THREAD_CPUTIME___365 = 139,
    _SC_DEVICE_IO___365 = 140,
    _SC_DEVICE_SPECIFIC___365 = 141,
    _SC_DEVICE_SPECIFIC_R___365 = 142,
    _SC_FD_MGMT___365 = 143,
    _SC_FIFO___365 = 144,
    _SC_PIPE___365 = 145,
    _SC_FILE_ATTRIBUTES___365 = 146,
    _SC_FILE_LOCKING___365 = 147,
    _SC_FILE_SYSTEM___365 = 148,
    _SC_MONOTONIC_CLOCK___365 = 149,
    _SC_MULTI_PROCESS___365 = 150,
    _SC_SINGLE_PROCESS___365 = 151,
    _SC_NETWORKING___365 = 152,
    _SC_READER_WRITER_LOCKS___365 = 153,
    _SC_SPIN_LOCKS___365 = 154,
    _SC_REGEXP___365 = 155,
    _SC_REGEX_VERSION___365 = 156,
    _SC_SHELL___365 = 157,
    _SC_SIGNALS___365 = 158,
    _SC_SPAWN___365 = 159,
    _SC_SPORADIC_SERVER___365 = 160,
    _SC_THREAD_SPORADIC_SERVER___365 = 161,
    _SC_SYSTEM_DATABASE___365 = 162,
    _SC_SYSTEM_DATABASE_R___365 = 163,
    _SC_TIMEOUTS___365 = 164,
    _SC_TYPED_MEMORY_OBJECTS___365 = 165,
    _SC_USER_GROUPS___365 = 166,
    _SC_USER_GROUPS_R___365 = 167,
    _SC_2_PBS___365 = 168,
    _SC_2_PBS_ACCOUNTING___365 = 169,
    _SC_2_PBS_LOCATE___365 = 170,
    _SC_2_PBS_MESSAGE___365 = 171,
    _SC_2_PBS_TRACK___365 = 172,
    _SC_SYMLOOP_MAX___365 = 173,
    _SC_STREAMS___365 = 174,
    _SC_2_PBS_CHECKPOINT___365 = 175,
    _SC_V6_ILP32_OFF32___365 = 176,
    _SC_V6_ILP32_OFFBIG___365 = 177,
    _SC_V6_LP64_OFF64___365 = 178,
    _SC_V6_LPBIG_OFFBIG___365 = 179,
    _SC_HOST_NAME_MAX___365 = 180,
    _SC_TRACE___365 = 181,
    _SC_TRACE_EVENT_FILTER___365 = 182,
    _SC_TRACE_INHERIT___365 = 183,
    _SC_TRACE_LOG___365 = 184,
    _SC_LEVEL1_ICACHE_SIZE___365 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___365 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___365 = 187,
    _SC_LEVEL1_DCACHE_SIZE___365 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___365 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___365 = 190,
    _SC_LEVEL2_CACHE_SIZE___365 = 191,
    _SC_LEVEL2_CACHE_ASSOC___365 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___365 = 193,
    _SC_LEVEL3_CACHE_SIZE___365 = 194,
    _SC_LEVEL3_CACHE_ASSOC___365 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___365 = 196,
    _SC_LEVEL4_CACHE_SIZE___365 = 197,
    _SC_LEVEL4_CACHE_ASSOC___365 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___365 = 199,
    _SC_IPV6___365 = 235,
    _SC_RAW_SOCKETS___365 = 236,
    _SC_V7_ILP32_OFF32___365 = 237,
    _SC_V7_ILP32_OFFBIG___365 = 238,
    _SC_V7_LP64_OFF64___365 = 239,
    _SC_V7_LPBIG_OFFBIG___365 = 240,
    _SC_SS_REPL_MAX___365 = 241,
    _SC_TRACE_EVENT_NAME_MAX___365 = 242,
    _SC_TRACE_NAME_MAX___365 = 243,
    _SC_TRACE_SYS_MAX___365 = 244,
    _SC_TRACE_USER_EVENT_MAX___365 = 245,
    _SC_XOPEN_STREAMS___365 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___365 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___365 = 248
} ;
enum __anonenum_875524036___365 {
    _CS_PATH___365 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___365 = 1,
    _CS_GNU_LIBC_VERSION___365 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___365 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___365 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___365 = 5,
    _CS_LFS_CFLAGS___365 = 1000,
    _CS_LFS_LDFLAGS___365 = 1001,
    _CS_LFS_LIBS___365 = 1002,
    _CS_LFS_LINTFLAGS___365 = 1003,
    _CS_LFS64_CFLAGS___365 = 1004,
    _CS_LFS64_LDFLAGS___365 = 1005,
    _CS_LFS64_LIBS___365 = 1006,
    _CS_LFS64_LINTFLAGS___365 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___365 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___365 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___365 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___365 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___365 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___365 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___365 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___365 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___365 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___365 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___365 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___365 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___365 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___365 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___365 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___365 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___365 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___365 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___365 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___365 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___365 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___365 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___365 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___365 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___365 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___365 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___365 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___365 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___365 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___365 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___365 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___365 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___365 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___365 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___365 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___365 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___365 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___365 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___365 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___365 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___365 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___365 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___365 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___365 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___365 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___365 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___365 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___365 = 1147,
    _CS_V6_ENV___365 = 1148,
    _CS_V7_ENV___365 = 1149
} ;
enum __anonenum_513775621___365 {
    DT_UNKNOWN___365 = 0,
    DT_FIFO___365 = 1,
    DT_CHR___365 = 2,
    DT_DIR___365 = 4,
    DT_BLK___365 = 6,
    DT_REG___365 = 8,
    DT_LNK___365 = 10,
    DT_SOCK___365 = 12,
    DT_WHT___365 = 14
} ;
enum __anonenum_77002343___365 {
    SI_ASYNCNL___365 = -60,
    SI_TKILL___365 = -6,
    SI_SIGIO___365 = -5,
    SI_ASYNCIO___365 = -4,
    SI_MESGQ___365 = -3,
    SI_TIMER___365 = -2,
    SI_QUEUE___365 = -1,
    SI_USER___365 = 0,
    SI_KERNEL___365 = 128
} ;
enum __anonenum_131038172___365 {
    ILL_ILLOPC___365 = 1,
    ILL_ILLOPN___365 = 2,
    ILL_ILLADR___365 = 3,
    ILL_ILLTRP___365 = 4,
    ILL_PRVOPC___365 = 5,
    ILL_PRVREG___365 = 6,
    ILL_COPROC___365 = 7,
    ILL_BADSTK___365 = 8
} ;
enum __anonenum_452038093___365 {
    FPE_INTDIV___365 = 1,
    FPE_INTOVF___365 = 2,
    FPE_FLTDIV___365 = 3,
    FPE_FLTOVF___365 = 4,
    FPE_FLTUND___365 = 5,
    FPE_FLTRES___365 = 6,
    FPE_FLTINV___365 = 7,
    FPE_FLTSUB___365 = 8
} ;
enum __anonenum_30976155___365 {
    SEGV_MAPERR___365 = 1,
    SEGV_ACCERR___365 = 2,
    SEGV_BNDERR___365 = 3,
    SEGV_PKUERR___365 = 4
} ;
enum __anonenum_1036286214___365 {
    BUS_ADRALN___365 = 1,
    BUS_ADRERR___365 = 2,
    BUS_OBJERR___365 = 3,
    BUS_MCEERR_AR___365 = 4,
    BUS_MCEERR_AO___365 = 5
} ;
enum __anonenum_493465559___365 {
    TRAP_BRKPT___365 = 1,
    TRAP_TRACE___365 = 2
} ;
enum __anonenum_23175539___365 {
    CLD_EXITED___365 = 1,
    CLD_KILLED___365 = 2,
    CLD_DUMPED___365 = 3,
    CLD_TRAPPED___365 = 4,
    CLD_STOPPED___365 = 5,
    CLD_CONTINUED___365 = 6
} ;
enum __anonenum_111643124___365 {
    POLL_IN___365 = 1,
    POLL_OUT___365 = 2,
    POLL_MSG___365 = 3,
    POLL_ERR___365 = 4,
    POLL_PRI___365 = 5,
    POLL_HUP___365 = 6
} ;
enum __anonenum_852341087___365 {
    SIGEV_SIGNAL___365 = 0,
    SIGEV_NONE___365 = 1,
    SIGEV_THREAD___365 = 2,
    SIGEV_THREAD_ID___365 = 4
} ;
enum __anonenum_451154152___365 {
    REG_R8___365 = 0,
    REG_R9___365 = 1,
    REG_R10___365 = 2,
    REG_R11___365 = 3,
    REG_R12___365 = 4,
    REG_R13___365 = 5,
    REG_R14___365 = 6,
    REG_R15___365 = 7,
    REG_RDI___365 = 8,
    REG_RSI___365 = 9,
    REG_RBP___365 = 10,
    REG_RBX___365 = 11,
    REG_RDX___365 = 12,
    REG_RAX___365 = 13,
    REG_RCX___365 = 14,
    REG_RSP___365 = 15,
    REG_RIP___365 = 16,
    REG_EFL___365 = 17,
    REG_CSGSFS___365 = 18,
    REG_ERR___365 = 19,
    REG_TRAPNO___365 = 20,
    REG_OLDMASK___365 = 21,
    REG_CR2___365 = 22
} ;
enum __anonenum_57186863___365 {
    SS_ONSTACK___365 = 1,
    SS_DISABLE___365 = 2
} ;
enum __anonenum_83571709___365 {
    MSG_OOB___365 = 1,
    MSG_PEEK___365 = 2,
    MSG_DONTROUTE___365 = 4,
    MSG_TRYHARD___365 = 4,
    MSG_CTRUNC___365 = 8,
    MSG_PROXY___365 = 16,
    MSG_TRUNC___365 = 32,
    MSG_DONTWAIT___365 = 64,
    MSG_EOR___365 = 128,
    MSG_WAITALL___365 = 256,
    MSG_FIN___365 = 512,
    MSG_SYN___365 = 1024,
    MSG_CONFIRM___365 = 2048,
    MSG_RST___365 = 4096,
    MSG_ERRQUEUE___365 = 8192,
    MSG_NOSIGNAL___365 = 16384,
    MSG_MORE___365 = 32768,
    MSG_WAITFORONE___365 = 65536,
    MSG_BATCH___365 = 262144,
    MSG_ZEROCOPY___365 = 67108864,
    MSG_FASTOPEN___365 = 536870912,
    MSG_CMSG_CLOEXEC___365 = 1073741824
} ;
enum __anonenum_617082774___365 {
    SCM_RIGHTS___365 = 1,
    SCM_CREDENTIALS___365 = 2
} ;
enum __anonenum_606441560___365 {
    SHUT_RD___365 = 0,
    SHUT_WR___365 = 1,
    SHUT_RDWR___365 = 2
} ;
enum __anonenum_681669233___365 {
    IPPROTO_IP___365 = 0,
    IPPROTO_ICMP___365 = 1,
    IPPROTO_IGMP___365 = 2,
    IPPROTO_IPIP___365 = 4,
    IPPROTO_TCP___365 = 6,
    IPPROTO_EGP___365 = 8,
    IPPROTO_PUP___365 = 12,
    IPPROTO_UDP___365 = 17,
    IPPROTO_IDP___365 = 22,
    IPPROTO_TP___365 = 29,
    IPPROTO_DCCP___365 = 33,
    IPPROTO_IPV6___365 = 41,
    IPPROTO_RSVP___365 = 46,
    IPPROTO_GRE___365 = 47,
    IPPROTO_ESP___365 = 50,
    IPPROTO_AH___365 = 51,
    IPPROTO_MTP___365 = 92,
    IPPROTO_BEETPH___365 = 94,
    IPPROTO_ENCAP___365 = 98,
    IPPROTO_PIM___365 = 103,
    IPPROTO_COMP___365 = 108,
    IPPROTO_SCTP___365 = 132,
    IPPROTO_UDPLITE___365 = 136,
    IPPROTO_MPLS___365 = 137,
    IPPROTO_RAW___365 = 255,
    IPPROTO_MAX___365 = 256
} ;
enum __anonenum_218739988___365 {
    IPPROTO_HOPOPTS___365 = 0,
    IPPROTO_ROUTING___365 = 43,
    IPPROTO_FRAGMENT___365 = 44,
    IPPROTO_ICMPV6___365 = 58,
    IPPROTO_NONE___365 = 59,
    IPPROTO_DSTOPTS___365 = 60,
    IPPROTO_MH___365 = 135
} ;
enum __anonenum_662268580___365 {
    IPPORT_ECHO___365 = 7,
    IPPORT_DISCARD___365 = 9,
    IPPORT_SYSTAT___365 = 11,
    IPPORT_DAYTIME___365 = 13,
    IPPORT_NETSTAT___365 = 15,
    IPPORT_FTP___365 = 21,
    IPPORT_TELNET___365 = 23,
    IPPORT_SMTP___365 = 25,
    IPPORT_TIMESERVER___365 = 37,
    IPPORT_NAMESERVER___365 = 42,
    IPPORT_WHOIS___365 = 43,
    IPPORT_MTP___365 = 57,
    IPPORT_TFTP___365 = 69,
    IPPORT_RJE___365 = 77,
    IPPORT_FINGER___365 = 79,
    IPPORT_TTYLINK___365 = 87,
    IPPORT_SUPDUP___365 = 95,
    IPPORT_EXECSERVER___365 = 512,
    IPPORT_LOGINSERVER___365 = 513,
    IPPORT_CMDSERVER___365 = 514,
    IPPORT_EFSSERVER___365 = 520,
    IPPORT_BIFFUDP___365 = 512,
    IPPORT_WHOSERVER___365 = 513,
    IPPORT_ROUTESERVER___365 = 520,
    IPPORT_RESERVED___365 = 1024,
    IPPORT_USERRESERVED___365 = 5000
} ;
enum __anonenum_788308992___365 {
    TCP_ESTABLISHED___365 = 1,
    TCP_SYN_SENT___365 = 2,
    TCP_SYN_RECV___365 = 3,
    TCP_FIN_WAIT1___365 = 4,
    TCP_FIN_WAIT2___365 = 5,
    TCP_TIME_WAIT___365 = 6,
    TCP_CLOSE___365 = 7,
    TCP_CLOSE_WAIT___365 = 8,
    TCP_LAST_ACK___365 = 9,
    TCP_LISTEN___365 = 10,
    TCP_CLOSING___365 = 11
} ;
enum __anonenum_221125648___365 {
    TCP_NO_QUEUE___365 = 0,
    TCP_RECV_QUEUE___365 = 1,
    TCP_SEND_QUEUE___365 = 2,
    TCP_QUEUES_NR___365 = 3
} ;
enum __anonenum_34415463___365 {
    PTHREAD_CREATE_JOINABLE___365 = 0,
    PTHREAD_CREATE_DETACHED___365 = 1
} ;
enum __anonenum_303612439___365 {
    PTHREAD_MUTEX_TIMED_NP___365 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___365 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___365 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___365 = 3,
    PTHREAD_MUTEX_NORMAL___365 = 0,
    PTHREAD_MUTEX_RECURSIVE___365 = 1,
    PTHREAD_MUTEX_ERRORCHECK___365 = 2,
    PTHREAD_MUTEX_DEFAULT___365 = 0,
    PTHREAD_MUTEX_FAST_NP___365 = 0
} ;
enum __anonenum_931900394___365 {
    PTHREAD_MUTEX_STALLED___365 = 0,
    PTHREAD_MUTEX_STALLED_NP___365 = 0,
    PTHREAD_MUTEX_ROBUST___365 = 1,
    PTHREAD_MUTEX_ROBUST_NP___365 = 1
} ;
enum __anonenum_205214487___365 {
    PTHREAD_PRIO_NONE___365 = 0,
    PTHREAD_PRIO_INHERIT___365 = 1,
    PTHREAD_PRIO_PROTECT___365 = 2
} ;
enum __anonenum_25043950___365 {
    PTHREAD_RWLOCK_PREFER_READER_NP___365 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___365 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___365 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___365 = 0
} ;
enum __anonenum_436439511___365 {
    PTHREAD_INHERIT_SCHED___365 = 0,
    PTHREAD_EXPLICIT_SCHED___365 = 1
} ;
enum __anonenum_998661166___365 {
    PTHREAD_SCOPE_SYSTEM___365 = 0,
    PTHREAD_SCOPE_PROCESS___365 = 1
} ;
enum __anonenum_146137331___365 {
    PTHREAD_PROCESS_PRIVATE___365 = 0,
    PTHREAD_PROCESS_SHARED___365 = 1
} ;
enum __anonenum_53396917___365 {
    PTHREAD_CANCEL_ENABLE___365 = 0,
    PTHREAD_CANCEL_DISABLE___365 = 1
} ;
enum __anonenum_904563783___365 {
    PTHREAD_CANCEL_DEFERRED___365 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___365 = 1
} ;
enum __anonenum_672052974___365 {
    SSL_CT_VALIDATION_PERMISSIVE___365 = 0,
    SSL_CT_VALIDATION_STRICT___365 = 1
} ;
enum __anonenum_561748495___33 {
    RECURSE_SUBMODULES_ONLY___33 = -5,
    RECURSE_SUBMODULES_CHECK___33 = -4,
    RECURSE_SUBMODULES_ERROR___33 = -3,
    RECURSE_SUBMODULES_NONE___33 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___33 = -1,
    RECURSE_SUBMODULES_OFF___33 = 0,
    RECURSE_SUBMODULES_DEFAULT___33 = 1,
    RECURSE_SUBMODULES_ON___33 = 2
} ;
struct __anonstruct_entry_68445535 {
   char const   *name ;
   char is_submodule ;
};
struct __anonstruct_list_163101298 {
   int nr ;
   int alloc ;
   struct __anonstruct_entry_68445535 *entry ;
};
enum __anonenum_437032235___366 {
    _PC_LINK_MAX___366 = 0,
    _PC_MAX_CANON___366 = 1,
    _PC_MAX_INPUT___366 = 2,
    _PC_NAME_MAX___366 = 3,
    _PC_PATH_MAX___366 = 4,
    _PC_PIPE_BUF___366 = 5,
    _PC_CHOWN_RESTRICTED___366 = 6,
    _PC_NO_TRUNC___366 = 7,
    _PC_VDISABLE___366 = 8,
    _PC_SYNC_IO___366 = 9,
    _PC_ASYNC_IO___366 = 10,
    _PC_PRIO_IO___366 = 11,
    _PC_SOCK_MAXBUF___366 = 12,
    _PC_FILESIZEBITS___366 = 13,
    _PC_REC_INCR_XFER_SIZE___366 = 14,
    _PC_REC_MAX_XFER_SIZE___366 = 15,
    _PC_REC_MIN_XFER_SIZE___366 = 16,
    _PC_REC_XFER_ALIGN___366 = 17,
    _PC_ALLOC_SIZE_MIN___366 = 18,
    _PC_SYMLINK_MAX___366 = 19,
    _PC_2_SYMLINKS___366 = 20
} ;
enum __anonenum_315186338___366 {
    _SC_ARG_MAX___366 = 0,
    _SC_CHILD_MAX___366 = 1,
    _SC_CLK_TCK___366 = 2,
    _SC_NGROUPS_MAX___366 = 3,
    _SC_OPEN_MAX___366 = 4,
    _SC_STREAM_MAX___366 = 5,
    _SC_TZNAME_MAX___366 = 6,
    _SC_JOB_CONTROL___366 = 7,
    _SC_SAVED_IDS___366 = 8,
    _SC_REALTIME_SIGNALS___366 = 9,
    _SC_PRIORITY_SCHEDULING___366 = 10,
    _SC_TIMERS___366 = 11,
    _SC_ASYNCHRONOUS_IO___366 = 12,
    _SC_PRIORITIZED_IO___366 = 13,
    _SC_SYNCHRONIZED_IO___366 = 14,
    _SC_FSYNC___366 = 15,
    _SC_MAPPED_FILES___366 = 16,
    _SC_MEMLOCK___366 = 17,
    _SC_MEMLOCK_RANGE___366 = 18,
    _SC_MEMORY_PROTECTION___366 = 19,
    _SC_MESSAGE_PASSING___366 = 20,
    _SC_SEMAPHORES___366 = 21,
    _SC_SHARED_MEMORY_OBJECTS___366 = 22,
    _SC_AIO_LISTIO_MAX___366 = 23,
    _SC_AIO_MAX___366 = 24,
    _SC_AIO_PRIO_DELTA_MAX___366 = 25,
    _SC_DELAYTIMER_MAX___366 = 26,
    _SC_MQ_OPEN_MAX___366 = 27,
    _SC_MQ_PRIO_MAX___366 = 28,
    _SC_VERSION___366 = 29,
    _SC_PAGESIZE___366 = 30,
    _SC_RTSIG_MAX___366 = 31,
    _SC_SEM_NSEMS_MAX___366 = 32,
    _SC_SEM_VALUE_MAX___366 = 33,
    _SC_SIGQUEUE_MAX___366 = 34,
    _SC_TIMER_MAX___366 = 35,
    _SC_BC_BASE_MAX___366 = 36,
    _SC_BC_DIM_MAX___366 = 37,
    _SC_BC_SCALE_MAX___366 = 38,
    _SC_BC_STRING_MAX___366 = 39,
    _SC_COLL_WEIGHTS_MAX___366 = 40,
    _SC_EQUIV_CLASS_MAX___366 = 41,
    _SC_EXPR_NEST_MAX___366 = 42,
    _SC_LINE_MAX___366 = 43,
    _SC_RE_DUP_MAX___366 = 44,
    _SC_CHARCLASS_NAME_MAX___366 = 45,
    _SC_2_VERSION___366 = 46,
    _SC_2_C_BIND___366 = 47,
    _SC_2_C_DEV___366 = 48,
    _SC_2_FORT_DEV___366 = 49,
    _SC_2_FORT_RUN___366 = 50,
    _SC_2_SW_DEV___366 = 51,
    _SC_2_LOCALEDEF___366 = 52,
    _SC_PII___366 = 53,
    _SC_PII_XTI___366 = 54,
    _SC_PII_SOCKET___366 = 55,
    _SC_PII_INTERNET___366 = 56,
    _SC_PII_OSI___366 = 57,
    _SC_POLL___366 = 58,
    _SC_SELECT___366 = 59,
    _SC_UIO_MAXIOV___366 = 60,
    _SC_IOV_MAX___366 = 60,
    _SC_PII_INTERNET_STREAM___366 = 61,
    _SC_PII_INTERNET_DGRAM___366 = 62,
    _SC_PII_OSI_COTS___366 = 63,
    _SC_PII_OSI_CLTS___366 = 64,
    _SC_PII_OSI_M___366 = 65,
    _SC_T_IOV_MAX___366 = 66,
    _SC_THREADS___366 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___366 = 68,
    _SC_GETGR_R_SIZE_MAX___366 = 69,
    _SC_GETPW_R_SIZE_MAX___366 = 70,
    _SC_LOGIN_NAME_MAX___366 = 71,
    _SC_TTY_NAME_MAX___366 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___366 = 73,
    _SC_THREAD_KEYS_MAX___366 = 74,
    _SC_THREAD_STACK_MIN___366 = 75,
    _SC_THREAD_THREADS_MAX___366 = 76,
    _SC_THREAD_ATTR_STACKADDR___366 = 77,
    _SC_THREAD_ATTR_STACKSIZE___366 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___366 = 79,
    _SC_THREAD_PRIO_INHERIT___366 = 80,
    _SC_THREAD_PRIO_PROTECT___366 = 81,
    _SC_THREAD_PROCESS_SHARED___366 = 82,
    _SC_NPROCESSORS_CONF___366 = 83,
    _SC_NPROCESSORS_ONLN___366 = 84,
    _SC_PHYS_PAGES___366 = 85,
    _SC_AVPHYS_PAGES___366 = 86,
    _SC_ATEXIT_MAX___366 = 87,
    _SC_PASS_MAX___366 = 88,
    _SC_XOPEN_VERSION___366 = 89,
    _SC_XOPEN_XCU_VERSION___366 = 90,
    _SC_XOPEN_UNIX___366 = 91,
    _SC_XOPEN_CRYPT___366 = 92,
    _SC_XOPEN_ENH_I18N___366 = 93,
    _SC_XOPEN_SHM___366 = 94,
    _SC_2_CHAR_TERM___366 = 95,
    _SC_2_C_VERSION___366 = 96,
    _SC_2_UPE___366 = 97,
    _SC_XOPEN_XPG2___366 = 98,
    _SC_XOPEN_XPG3___366 = 99,
    _SC_XOPEN_XPG4___366 = 100,
    _SC_CHAR_BIT___366 = 101,
    _SC_CHAR_MAX___366 = 102,
    _SC_CHAR_MIN___366 = 103,
    _SC_INT_MAX___366 = 104,
    _SC_INT_MIN___366 = 105,
    _SC_LONG_BIT___366 = 106,
    _SC_WORD_BIT___366 = 107,
    _SC_MB_LEN_MAX___366 = 108,
    _SC_NZERO___366 = 109,
    _SC_SSIZE_MAX___366 = 110,
    _SC_SCHAR_MAX___366 = 111,
    _SC_SCHAR_MIN___366 = 112,
    _SC_SHRT_MAX___366 = 113,
    _SC_SHRT_MIN___366 = 114,
    _SC_UCHAR_MAX___366 = 115,
    _SC_UINT_MAX___366 = 116,
    _SC_ULONG_MAX___366 = 117,
    _SC_USHRT_MAX___366 = 118,
    _SC_NL_ARGMAX___366 = 119,
    _SC_NL_LANGMAX___366 = 120,
    _SC_NL_MSGMAX___366 = 121,
    _SC_NL_NMAX___366 = 122,
    _SC_NL_SETMAX___366 = 123,
    _SC_NL_TEXTMAX___366 = 124,
    _SC_XBS5_ILP32_OFF32___366 = 125,
    _SC_XBS5_ILP32_OFFBIG___366 = 126,
    _SC_XBS5_LP64_OFF64___366 = 127,
    _SC_XBS5_LPBIG_OFFBIG___366 = 128,
    _SC_XOPEN_LEGACY___366 = 129,
    _SC_XOPEN_REALTIME___366 = 130,
    _SC_XOPEN_REALTIME_THREADS___366 = 131,
    _SC_ADVISORY_INFO___366 = 132,
    _SC_BARRIERS___366 = 133,
    _SC_BASE___366 = 134,
    _SC_C_LANG_SUPPORT___366 = 135,
    _SC_C_LANG_SUPPORT_R___366 = 136,
    _SC_CLOCK_SELECTION___366 = 137,
    _SC_CPUTIME___366 = 138,
    _SC_THREAD_CPUTIME___366 = 139,
    _SC_DEVICE_IO___366 = 140,
    _SC_DEVICE_SPECIFIC___366 = 141,
    _SC_DEVICE_SPECIFIC_R___366 = 142,
    _SC_FD_MGMT___366 = 143,
    _SC_FIFO___366 = 144,
    _SC_PIPE___366 = 145,
    _SC_FILE_ATTRIBUTES___366 = 146,
    _SC_FILE_LOCKING___366 = 147,
    _SC_FILE_SYSTEM___366 = 148,
    _SC_MONOTONIC_CLOCK___366 = 149,
    _SC_MULTI_PROCESS___366 = 150,
    _SC_SINGLE_PROCESS___366 = 151,
    _SC_NETWORKING___366 = 152,
    _SC_READER_WRITER_LOCKS___366 = 153,
    _SC_SPIN_LOCKS___366 = 154,
    _SC_REGEXP___366 = 155,
    _SC_REGEX_VERSION___366 = 156,
    _SC_SHELL___366 = 157,
    _SC_SIGNALS___366 = 158,
    _SC_SPAWN___366 = 159,
    _SC_SPORADIC_SERVER___366 = 160,
    _SC_THREAD_SPORADIC_SERVER___366 = 161,
    _SC_SYSTEM_DATABASE___366 = 162,
    _SC_SYSTEM_DATABASE_R___366 = 163,
    _SC_TIMEOUTS___366 = 164,
    _SC_TYPED_MEMORY_OBJECTS___366 = 165,
    _SC_USER_GROUPS___366 = 166,
    _SC_USER_GROUPS_R___366 = 167,
    _SC_2_PBS___366 = 168,
    _SC_2_PBS_ACCOUNTING___366 = 169,
    _SC_2_PBS_LOCATE___366 = 170,
    _SC_2_PBS_MESSAGE___366 = 171,
    _SC_2_PBS_TRACK___366 = 172,
    _SC_SYMLOOP_MAX___366 = 173,
    _SC_STREAMS___366 = 174,
    _SC_2_PBS_CHECKPOINT___366 = 175,
    _SC_V6_ILP32_OFF32___366 = 176,
    _SC_V6_ILP32_OFFBIG___366 = 177,
    _SC_V6_LP64_OFF64___366 = 178,
    _SC_V6_LPBIG_OFFBIG___366 = 179,
    _SC_HOST_NAME_MAX___366 = 180,
    _SC_TRACE___366 = 181,
    _SC_TRACE_EVENT_FILTER___366 = 182,
    _SC_TRACE_INHERIT___366 = 183,
    _SC_TRACE_LOG___366 = 184,
    _SC_LEVEL1_ICACHE_SIZE___366 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___366 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___366 = 187,
    _SC_LEVEL1_DCACHE_SIZE___366 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___366 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___366 = 190,
    _SC_LEVEL2_CACHE_SIZE___366 = 191,
    _SC_LEVEL2_CACHE_ASSOC___366 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___366 = 193,
    _SC_LEVEL3_CACHE_SIZE___366 = 194,
    _SC_LEVEL3_CACHE_ASSOC___366 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___366 = 196,
    _SC_LEVEL4_CACHE_SIZE___366 = 197,
    _SC_LEVEL4_CACHE_ASSOC___366 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___366 = 199,
    _SC_IPV6___366 = 235,
    _SC_RAW_SOCKETS___366 = 236,
    _SC_V7_ILP32_OFF32___366 = 237,
    _SC_V7_ILP32_OFFBIG___366 = 238,
    _SC_V7_LP64_OFF64___366 = 239,
    _SC_V7_LPBIG_OFFBIG___366 = 240,
    _SC_SS_REPL_MAX___366 = 241,
    _SC_TRACE_EVENT_NAME_MAX___366 = 242,
    _SC_TRACE_NAME_MAX___366 = 243,
    _SC_TRACE_SYS_MAX___366 = 244,
    _SC_TRACE_USER_EVENT_MAX___366 = 245,
    _SC_XOPEN_STREAMS___366 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___366 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___366 = 248
} ;
enum __anonenum_875524036___366 {
    _CS_PATH___366 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___366 = 1,
    _CS_GNU_LIBC_VERSION___366 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___366 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___366 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___366 = 5,
    _CS_LFS_CFLAGS___366 = 1000,
    _CS_LFS_LDFLAGS___366 = 1001,
    _CS_LFS_LIBS___366 = 1002,
    _CS_LFS_LINTFLAGS___366 = 1003,
    _CS_LFS64_CFLAGS___366 = 1004,
    _CS_LFS64_LDFLAGS___366 = 1005,
    _CS_LFS64_LIBS___366 = 1006,
    _CS_LFS64_LINTFLAGS___366 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___366 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___366 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___366 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___366 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___366 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___366 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___366 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___366 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___366 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___366 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___366 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___366 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___366 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___366 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___366 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___366 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___366 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___366 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___366 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___366 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___366 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___366 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___366 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___366 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___366 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___366 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___366 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___366 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___366 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___366 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___366 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___366 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___366 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___366 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___366 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___366 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___366 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___366 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___366 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___366 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___366 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___366 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___366 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___366 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___366 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___366 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___366 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___366 = 1147,
    _CS_V6_ENV___366 = 1148,
    _CS_V7_ENV___366 = 1149
} ;
enum __anonenum_513775621___366 {
    DT_UNKNOWN___366 = 0,
    DT_FIFO___366 = 1,
    DT_CHR___366 = 2,
    DT_DIR___366 = 4,
    DT_BLK___366 = 6,
    DT_REG___366 = 8,
    DT_LNK___366 = 10,
    DT_SOCK___366 = 12,
    DT_WHT___366 = 14
} ;
enum __anonenum_77002343___366 {
    SI_ASYNCNL___366 = -60,
    SI_TKILL___366 = -6,
    SI_SIGIO___366 = -5,
    SI_ASYNCIO___366 = -4,
    SI_MESGQ___366 = -3,
    SI_TIMER___366 = -2,
    SI_QUEUE___366 = -1,
    SI_USER___366 = 0,
    SI_KERNEL___366 = 128
} ;
enum __anonenum_131038172___366 {
    ILL_ILLOPC___366 = 1,
    ILL_ILLOPN___366 = 2,
    ILL_ILLADR___366 = 3,
    ILL_ILLTRP___366 = 4,
    ILL_PRVOPC___366 = 5,
    ILL_PRVREG___366 = 6,
    ILL_COPROC___366 = 7,
    ILL_BADSTK___366 = 8
} ;
enum __anonenum_452038093___366 {
    FPE_INTDIV___366 = 1,
    FPE_INTOVF___366 = 2,
    FPE_FLTDIV___366 = 3,
    FPE_FLTOVF___366 = 4,
    FPE_FLTUND___366 = 5,
    FPE_FLTRES___366 = 6,
    FPE_FLTINV___366 = 7,
    FPE_FLTSUB___366 = 8
} ;
enum __anonenum_30976155___366 {
    SEGV_MAPERR___366 = 1,
    SEGV_ACCERR___366 = 2,
    SEGV_BNDERR___366 = 3,
    SEGV_PKUERR___366 = 4
} ;
enum __anonenum_1036286214___366 {
    BUS_ADRALN___366 = 1,
    BUS_ADRERR___366 = 2,
    BUS_OBJERR___366 = 3,
    BUS_MCEERR_AR___366 = 4,
    BUS_MCEERR_AO___366 = 5
} ;
enum __anonenum_493465559___366 {
    TRAP_BRKPT___366 = 1,
    TRAP_TRACE___366 = 2
} ;
enum __anonenum_23175539___366 {
    CLD_EXITED___366 = 1,
    CLD_KILLED___366 = 2,
    CLD_DUMPED___366 = 3,
    CLD_TRAPPED___366 = 4,
    CLD_STOPPED___366 = 5,
    CLD_CONTINUED___366 = 6
} ;
enum __anonenum_111643124___366 {
    POLL_IN___366 = 1,
    POLL_OUT___366 = 2,
    POLL_MSG___366 = 3,
    POLL_ERR___366 = 4,
    POLL_PRI___366 = 5,
    POLL_HUP___366 = 6
} ;
enum __anonenum_852341087___366 {
    SIGEV_SIGNAL___366 = 0,
    SIGEV_NONE___366 = 1,
    SIGEV_THREAD___366 = 2,
    SIGEV_THREAD_ID___366 = 4
} ;
enum __anonenum_451154152___366 {
    REG_R8___366 = 0,
    REG_R9___366 = 1,
    REG_R10___366 = 2,
    REG_R11___366 = 3,
    REG_R12___366 = 4,
    REG_R13___366 = 5,
    REG_R14___366 = 6,
    REG_R15___366 = 7,
    REG_RDI___366 = 8,
    REG_RSI___366 = 9,
    REG_RBP___366 = 10,
    REG_RBX___366 = 11,
    REG_RDX___366 = 12,
    REG_RAX___366 = 13,
    REG_RCX___366 = 14,
    REG_RSP___366 = 15,
    REG_RIP___366 = 16,
    REG_EFL___366 = 17,
    REG_CSGSFS___366 = 18,
    REG_ERR___366 = 19,
    REG_TRAPNO___366 = 20,
    REG_OLDMASK___366 = 21,
    REG_CR2___366 = 22
} ;
enum __anonenum_57186863___366 {
    SS_ONSTACK___366 = 1,
    SS_DISABLE___366 = 2
} ;
enum __anonenum_83571709___366 {
    MSG_OOB___366 = 1,
    MSG_PEEK___366 = 2,
    MSG_DONTROUTE___366 = 4,
    MSG_TRYHARD___366 = 4,
    MSG_CTRUNC___366 = 8,
    MSG_PROXY___366 = 16,
    MSG_TRUNC___366 = 32,
    MSG_DONTWAIT___366 = 64,
    MSG_EOR___366 = 128,
    MSG_WAITALL___366 = 256,
    MSG_FIN___366 = 512,
    MSG_SYN___366 = 1024,
    MSG_CONFIRM___366 = 2048,
    MSG_RST___366 = 4096,
    MSG_ERRQUEUE___366 = 8192,
    MSG_NOSIGNAL___366 = 16384,
    MSG_MORE___366 = 32768,
    MSG_WAITFORONE___366 = 65536,
    MSG_BATCH___366 = 262144,
    MSG_ZEROCOPY___366 = 67108864,
    MSG_FASTOPEN___366 = 536870912,
    MSG_CMSG_CLOEXEC___366 = 1073741824
} ;
enum __anonenum_617082774___366 {
    SCM_RIGHTS___366 = 1,
    SCM_CREDENTIALS___366 = 2
} ;
enum __anonenum_606441560___366 {
    SHUT_RD___366 = 0,
    SHUT_WR___366 = 1,
    SHUT_RDWR___366 = 2
} ;
enum __anonenum_681669233___366 {
    IPPROTO_IP___366 = 0,
    IPPROTO_ICMP___366 = 1,
    IPPROTO_IGMP___366 = 2,
    IPPROTO_IPIP___366 = 4,
    IPPROTO_TCP___366 = 6,
    IPPROTO_EGP___366 = 8,
    IPPROTO_PUP___366 = 12,
    IPPROTO_UDP___366 = 17,
    IPPROTO_IDP___366 = 22,
    IPPROTO_TP___366 = 29,
    IPPROTO_DCCP___366 = 33,
    IPPROTO_IPV6___366 = 41,
    IPPROTO_RSVP___366 = 46,
    IPPROTO_GRE___366 = 47,
    IPPROTO_ESP___366 = 50,
    IPPROTO_AH___366 = 51,
    IPPROTO_MTP___366 = 92,
    IPPROTO_BEETPH___366 = 94,
    IPPROTO_ENCAP___366 = 98,
    IPPROTO_PIM___366 = 103,
    IPPROTO_COMP___366 = 108,
    IPPROTO_SCTP___366 = 132,
    IPPROTO_UDPLITE___366 = 136,
    IPPROTO_MPLS___366 = 137,
    IPPROTO_RAW___366 = 255,
    IPPROTO_MAX___366 = 256
} ;
enum __anonenum_218739988___366 {
    IPPROTO_HOPOPTS___366 = 0,
    IPPROTO_ROUTING___366 = 43,
    IPPROTO_FRAGMENT___366 = 44,
    IPPROTO_ICMPV6___366 = 58,
    IPPROTO_NONE___366 = 59,
    IPPROTO_DSTOPTS___366 = 60,
    IPPROTO_MH___366 = 135
} ;
enum __anonenum_662268580___366 {
    IPPORT_ECHO___366 = 7,
    IPPORT_DISCARD___366 = 9,
    IPPORT_SYSTAT___366 = 11,
    IPPORT_DAYTIME___366 = 13,
    IPPORT_NETSTAT___366 = 15,
    IPPORT_FTP___366 = 21,
    IPPORT_TELNET___366 = 23,
    IPPORT_SMTP___366 = 25,
    IPPORT_TIMESERVER___366 = 37,
    IPPORT_NAMESERVER___366 = 42,
    IPPORT_WHOIS___366 = 43,
    IPPORT_MTP___366 = 57,
    IPPORT_TFTP___366 = 69,
    IPPORT_RJE___366 = 77,
    IPPORT_FINGER___366 = 79,
    IPPORT_TTYLINK___366 = 87,
    IPPORT_SUPDUP___366 = 95,
    IPPORT_EXECSERVER___366 = 512,
    IPPORT_LOGINSERVER___366 = 513,
    IPPORT_CMDSERVER___366 = 514,
    IPPORT_EFSSERVER___366 = 520,
    IPPORT_BIFFUDP___366 = 512,
    IPPORT_WHOSERVER___366 = 513,
    IPPORT_ROUTESERVER___366 = 520,
    IPPORT_RESERVED___366 = 1024,
    IPPORT_USERRESERVED___366 = 5000
} ;
enum __anonenum_788308992___366 {
    TCP_ESTABLISHED___366 = 1,
    TCP_SYN_SENT___366 = 2,
    TCP_SYN_RECV___366 = 3,
    TCP_FIN_WAIT1___366 = 4,
    TCP_FIN_WAIT2___366 = 5,
    TCP_TIME_WAIT___366 = 6,
    TCP_CLOSE___366 = 7,
    TCP_CLOSE_WAIT___366 = 8,
    TCP_LAST_ACK___366 = 9,
    TCP_LISTEN___366 = 10,
    TCP_CLOSING___366 = 11
} ;
enum __anonenum_221125648___366 {
    TCP_NO_QUEUE___366 = 0,
    TCP_RECV_QUEUE___366 = 1,
    TCP_SEND_QUEUE___366 = 2,
    TCP_QUEUES_NR___366 = 3
} ;
enum __anonenum_34415463___366 {
    PTHREAD_CREATE_JOINABLE___366 = 0,
    PTHREAD_CREATE_DETACHED___366 = 1
} ;
enum __anonenum_303612439___366 {
    PTHREAD_MUTEX_TIMED_NP___366 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___366 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___366 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___366 = 3,
    PTHREAD_MUTEX_NORMAL___366 = 0,
    PTHREAD_MUTEX_RECURSIVE___366 = 1,
    PTHREAD_MUTEX_ERRORCHECK___366 = 2,
    PTHREAD_MUTEX_DEFAULT___366 = 0,
    PTHREAD_MUTEX_FAST_NP___366 = 0
} ;
enum __anonenum_931900394___366 {
    PTHREAD_MUTEX_STALLED___366 = 0,
    PTHREAD_MUTEX_STALLED_NP___366 = 0,
    PTHREAD_MUTEX_ROBUST___366 = 1,
    PTHREAD_MUTEX_ROBUST_NP___366 = 1
} ;
enum __anonenum_205214487___366 {
    PTHREAD_PRIO_NONE___366 = 0,
    PTHREAD_PRIO_INHERIT___366 = 1,
    PTHREAD_PRIO_PROTECT___366 = 2
} ;
enum __anonenum_25043950___366 {
    PTHREAD_RWLOCK_PREFER_READER_NP___366 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___366 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___366 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___366 = 0
} ;
enum __anonenum_436439511___366 {
    PTHREAD_INHERIT_SCHED___366 = 0,
    PTHREAD_EXPLICIT_SCHED___366 = 1
} ;
enum __anonenum_998661166___366 {
    PTHREAD_SCOPE_SYSTEM___366 = 0,
    PTHREAD_SCOPE_PROCESS___366 = 1
} ;
enum __anonenum_146137331___366 {
    PTHREAD_PROCESS_PRIVATE___366 = 0,
    PTHREAD_PROCESS_SHARED___366 = 1
} ;
enum __anonenum_53396917___366 {
    PTHREAD_CANCEL_ENABLE___366 = 0,
    PTHREAD_CANCEL_DISABLE___366 = 1
} ;
enum __anonenum_904563783___366 {
    PTHREAD_CANCEL_DEFERRED___366 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___366 = 1
} ;
enum __anonenum_672052974___366 {
    SSL_CT_VALIDATION_PERMISSIVE___366 = 0,
    SSL_CT_VALIDATION_STRICT___366 = 1
} ;
enum __anonenum_34023289___44 {
    REMOTE_UNCONFIGURED___44 = 0,
    REMOTE_CONFIG___44 = 1,
    REMOTE_REMOTES___44 = 2,
    REMOTE_BRANCHES___44 = 3
} ;
enum __anonenum_437032235___367 {
    _PC_LINK_MAX___367 = 0,
    _PC_MAX_CANON___367 = 1,
    _PC_MAX_INPUT___367 = 2,
    _PC_NAME_MAX___367 = 3,
    _PC_PATH_MAX___367 = 4,
    _PC_PIPE_BUF___367 = 5,
    _PC_CHOWN_RESTRICTED___367 = 6,
    _PC_NO_TRUNC___367 = 7,
    _PC_VDISABLE___367 = 8,
    _PC_SYNC_IO___367 = 9,
    _PC_ASYNC_IO___367 = 10,
    _PC_PRIO_IO___367 = 11,
    _PC_SOCK_MAXBUF___367 = 12,
    _PC_FILESIZEBITS___367 = 13,
    _PC_REC_INCR_XFER_SIZE___367 = 14,
    _PC_REC_MAX_XFER_SIZE___367 = 15,
    _PC_REC_MIN_XFER_SIZE___367 = 16,
    _PC_REC_XFER_ALIGN___367 = 17,
    _PC_ALLOC_SIZE_MIN___367 = 18,
    _PC_SYMLINK_MAX___367 = 19,
    _PC_2_SYMLINKS___367 = 20
} ;
enum __anonenum_315186338___367 {
    _SC_ARG_MAX___367 = 0,
    _SC_CHILD_MAX___367 = 1,
    _SC_CLK_TCK___367 = 2,
    _SC_NGROUPS_MAX___367 = 3,
    _SC_OPEN_MAX___367 = 4,
    _SC_STREAM_MAX___367 = 5,
    _SC_TZNAME_MAX___367 = 6,
    _SC_JOB_CONTROL___367 = 7,
    _SC_SAVED_IDS___367 = 8,
    _SC_REALTIME_SIGNALS___367 = 9,
    _SC_PRIORITY_SCHEDULING___367 = 10,
    _SC_TIMERS___367 = 11,
    _SC_ASYNCHRONOUS_IO___367 = 12,
    _SC_PRIORITIZED_IO___367 = 13,
    _SC_SYNCHRONIZED_IO___367 = 14,
    _SC_FSYNC___367 = 15,
    _SC_MAPPED_FILES___367 = 16,
    _SC_MEMLOCK___367 = 17,
    _SC_MEMLOCK_RANGE___367 = 18,
    _SC_MEMORY_PROTECTION___367 = 19,
    _SC_MESSAGE_PASSING___367 = 20,
    _SC_SEMAPHORES___367 = 21,
    _SC_SHARED_MEMORY_OBJECTS___367 = 22,
    _SC_AIO_LISTIO_MAX___367 = 23,
    _SC_AIO_MAX___367 = 24,
    _SC_AIO_PRIO_DELTA_MAX___367 = 25,
    _SC_DELAYTIMER_MAX___367 = 26,
    _SC_MQ_OPEN_MAX___367 = 27,
    _SC_MQ_PRIO_MAX___367 = 28,
    _SC_VERSION___367 = 29,
    _SC_PAGESIZE___367 = 30,
    _SC_RTSIG_MAX___367 = 31,
    _SC_SEM_NSEMS_MAX___367 = 32,
    _SC_SEM_VALUE_MAX___367 = 33,
    _SC_SIGQUEUE_MAX___367 = 34,
    _SC_TIMER_MAX___367 = 35,
    _SC_BC_BASE_MAX___367 = 36,
    _SC_BC_DIM_MAX___367 = 37,
    _SC_BC_SCALE_MAX___367 = 38,
    _SC_BC_STRING_MAX___367 = 39,
    _SC_COLL_WEIGHTS_MAX___367 = 40,
    _SC_EQUIV_CLASS_MAX___367 = 41,
    _SC_EXPR_NEST_MAX___367 = 42,
    _SC_LINE_MAX___367 = 43,
    _SC_RE_DUP_MAX___367 = 44,
    _SC_CHARCLASS_NAME_MAX___367 = 45,
    _SC_2_VERSION___367 = 46,
    _SC_2_C_BIND___367 = 47,
    _SC_2_C_DEV___367 = 48,
    _SC_2_FORT_DEV___367 = 49,
    _SC_2_FORT_RUN___367 = 50,
    _SC_2_SW_DEV___367 = 51,
    _SC_2_LOCALEDEF___367 = 52,
    _SC_PII___367 = 53,
    _SC_PII_XTI___367 = 54,
    _SC_PII_SOCKET___367 = 55,
    _SC_PII_INTERNET___367 = 56,
    _SC_PII_OSI___367 = 57,
    _SC_POLL___367 = 58,
    _SC_SELECT___367 = 59,
    _SC_UIO_MAXIOV___367 = 60,
    _SC_IOV_MAX___367 = 60,
    _SC_PII_INTERNET_STREAM___367 = 61,
    _SC_PII_INTERNET_DGRAM___367 = 62,
    _SC_PII_OSI_COTS___367 = 63,
    _SC_PII_OSI_CLTS___367 = 64,
    _SC_PII_OSI_M___367 = 65,
    _SC_T_IOV_MAX___367 = 66,
    _SC_THREADS___367 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___367 = 68,
    _SC_GETGR_R_SIZE_MAX___367 = 69,
    _SC_GETPW_R_SIZE_MAX___367 = 70,
    _SC_LOGIN_NAME_MAX___367 = 71,
    _SC_TTY_NAME_MAX___367 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___367 = 73,
    _SC_THREAD_KEYS_MAX___367 = 74,
    _SC_THREAD_STACK_MIN___367 = 75,
    _SC_THREAD_THREADS_MAX___367 = 76,
    _SC_THREAD_ATTR_STACKADDR___367 = 77,
    _SC_THREAD_ATTR_STACKSIZE___367 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___367 = 79,
    _SC_THREAD_PRIO_INHERIT___367 = 80,
    _SC_THREAD_PRIO_PROTECT___367 = 81,
    _SC_THREAD_PROCESS_SHARED___367 = 82,
    _SC_NPROCESSORS_CONF___367 = 83,
    _SC_NPROCESSORS_ONLN___367 = 84,
    _SC_PHYS_PAGES___367 = 85,
    _SC_AVPHYS_PAGES___367 = 86,
    _SC_ATEXIT_MAX___367 = 87,
    _SC_PASS_MAX___367 = 88,
    _SC_XOPEN_VERSION___367 = 89,
    _SC_XOPEN_XCU_VERSION___367 = 90,
    _SC_XOPEN_UNIX___367 = 91,
    _SC_XOPEN_CRYPT___367 = 92,
    _SC_XOPEN_ENH_I18N___367 = 93,
    _SC_XOPEN_SHM___367 = 94,
    _SC_2_CHAR_TERM___367 = 95,
    _SC_2_C_VERSION___367 = 96,
    _SC_2_UPE___367 = 97,
    _SC_XOPEN_XPG2___367 = 98,
    _SC_XOPEN_XPG3___367 = 99,
    _SC_XOPEN_XPG4___367 = 100,
    _SC_CHAR_BIT___367 = 101,
    _SC_CHAR_MAX___367 = 102,
    _SC_CHAR_MIN___367 = 103,
    _SC_INT_MAX___367 = 104,
    _SC_INT_MIN___367 = 105,
    _SC_LONG_BIT___367 = 106,
    _SC_WORD_BIT___367 = 107,
    _SC_MB_LEN_MAX___367 = 108,
    _SC_NZERO___367 = 109,
    _SC_SSIZE_MAX___367 = 110,
    _SC_SCHAR_MAX___367 = 111,
    _SC_SCHAR_MIN___367 = 112,
    _SC_SHRT_MAX___367 = 113,
    _SC_SHRT_MIN___367 = 114,
    _SC_UCHAR_MAX___367 = 115,
    _SC_UINT_MAX___367 = 116,
    _SC_ULONG_MAX___367 = 117,
    _SC_USHRT_MAX___367 = 118,
    _SC_NL_ARGMAX___367 = 119,
    _SC_NL_LANGMAX___367 = 120,
    _SC_NL_MSGMAX___367 = 121,
    _SC_NL_NMAX___367 = 122,
    _SC_NL_SETMAX___367 = 123,
    _SC_NL_TEXTMAX___367 = 124,
    _SC_XBS5_ILP32_OFF32___367 = 125,
    _SC_XBS5_ILP32_OFFBIG___367 = 126,
    _SC_XBS5_LP64_OFF64___367 = 127,
    _SC_XBS5_LPBIG_OFFBIG___367 = 128,
    _SC_XOPEN_LEGACY___367 = 129,
    _SC_XOPEN_REALTIME___367 = 130,
    _SC_XOPEN_REALTIME_THREADS___367 = 131,
    _SC_ADVISORY_INFO___367 = 132,
    _SC_BARRIERS___367 = 133,
    _SC_BASE___367 = 134,
    _SC_C_LANG_SUPPORT___367 = 135,
    _SC_C_LANG_SUPPORT_R___367 = 136,
    _SC_CLOCK_SELECTION___367 = 137,
    _SC_CPUTIME___367 = 138,
    _SC_THREAD_CPUTIME___367 = 139,
    _SC_DEVICE_IO___367 = 140,
    _SC_DEVICE_SPECIFIC___367 = 141,
    _SC_DEVICE_SPECIFIC_R___367 = 142,
    _SC_FD_MGMT___367 = 143,
    _SC_FIFO___367 = 144,
    _SC_PIPE___367 = 145,
    _SC_FILE_ATTRIBUTES___367 = 146,
    _SC_FILE_LOCKING___367 = 147,
    _SC_FILE_SYSTEM___367 = 148,
    _SC_MONOTONIC_CLOCK___367 = 149,
    _SC_MULTI_PROCESS___367 = 150,
    _SC_SINGLE_PROCESS___367 = 151,
    _SC_NETWORKING___367 = 152,
    _SC_READER_WRITER_LOCKS___367 = 153,
    _SC_SPIN_LOCKS___367 = 154,
    _SC_REGEXP___367 = 155,
    _SC_REGEX_VERSION___367 = 156,
    _SC_SHELL___367 = 157,
    _SC_SIGNALS___367 = 158,
    _SC_SPAWN___367 = 159,
    _SC_SPORADIC_SERVER___367 = 160,
    _SC_THREAD_SPORADIC_SERVER___367 = 161,
    _SC_SYSTEM_DATABASE___367 = 162,
    _SC_SYSTEM_DATABASE_R___367 = 163,
    _SC_TIMEOUTS___367 = 164,
    _SC_TYPED_MEMORY_OBJECTS___367 = 165,
    _SC_USER_GROUPS___367 = 166,
    _SC_USER_GROUPS_R___367 = 167,
    _SC_2_PBS___367 = 168,
    _SC_2_PBS_ACCOUNTING___367 = 169,
    _SC_2_PBS_LOCATE___367 = 170,
    _SC_2_PBS_MESSAGE___367 = 171,
    _SC_2_PBS_TRACK___367 = 172,
    _SC_SYMLOOP_MAX___367 = 173,
    _SC_STREAMS___367 = 174,
    _SC_2_PBS_CHECKPOINT___367 = 175,
    _SC_V6_ILP32_OFF32___367 = 176,
    _SC_V6_ILP32_OFFBIG___367 = 177,
    _SC_V6_LP64_OFF64___367 = 178,
    _SC_V6_LPBIG_OFFBIG___367 = 179,
    _SC_HOST_NAME_MAX___367 = 180,
    _SC_TRACE___367 = 181,
    _SC_TRACE_EVENT_FILTER___367 = 182,
    _SC_TRACE_INHERIT___367 = 183,
    _SC_TRACE_LOG___367 = 184,
    _SC_LEVEL1_ICACHE_SIZE___367 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___367 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___367 = 187,
    _SC_LEVEL1_DCACHE_SIZE___367 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___367 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___367 = 190,
    _SC_LEVEL2_CACHE_SIZE___367 = 191,
    _SC_LEVEL2_CACHE_ASSOC___367 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___367 = 193,
    _SC_LEVEL3_CACHE_SIZE___367 = 194,
    _SC_LEVEL3_CACHE_ASSOC___367 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___367 = 196,
    _SC_LEVEL4_CACHE_SIZE___367 = 197,
    _SC_LEVEL4_CACHE_ASSOC___367 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___367 = 199,
    _SC_IPV6___367 = 235,
    _SC_RAW_SOCKETS___367 = 236,
    _SC_V7_ILP32_OFF32___367 = 237,
    _SC_V7_ILP32_OFFBIG___367 = 238,
    _SC_V7_LP64_OFF64___367 = 239,
    _SC_V7_LPBIG_OFFBIG___367 = 240,
    _SC_SS_REPL_MAX___367 = 241,
    _SC_TRACE_EVENT_NAME_MAX___367 = 242,
    _SC_TRACE_NAME_MAX___367 = 243,
    _SC_TRACE_SYS_MAX___367 = 244,
    _SC_TRACE_USER_EVENT_MAX___367 = 245,
    _SC_XOPEN_STREAMS___367 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___367 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___367 = 248
} ;
enum __anonenum_875524036___367 {
    _CS_PATH___367 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___367 = 1,
    _CS_GNU_LIBC_VERSION___367 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___367 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___367 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___367 = 5,
    _CS_LFS_CFLAGS___367 = 1000,
    _CS_LFS_LDFLAGS___367 = 1001,
    _CS_LFS_LIBS___367 = 1002,
    _CS_LFS_LINTFLAGS___367 = 1003,
    _CS_LFS64_CFLAGS___367 = 1004,
    _CS_LFS64_LDFLAGS___367 = 1005,
    _CS_LFS64_LIBS___367 = 1006,
    _CS_LFS64_LINTFLAGS___367 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___367 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___367 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___367 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___367 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___367 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___367 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___367 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___367 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___367 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___367 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___367 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___367 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___367 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___367 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___367 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___367 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___367 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___367 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___367 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___367 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___367 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___367 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___367 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___367 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___367 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___367 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___367 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___367 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___367 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___367 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___367 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___367 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___367 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___367 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___367 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___367 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___367 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___367 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___367 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___367 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___367 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___367 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___367 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___367 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___367 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___367 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___367 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___367 = 1147,
    _CS_V6_ENV___367 = 1148,
    _CS_V7_ENV___367 = 1149
} ;
enum __anonenum_513775621___367 {
    DT_UNKNOWN___367 = 0,
    DT_FIFO___367 = 1,
    DT_CHR___367 = 2,
    DT_DIR___367 = 4,
    DT_BLK___367 = 6,
    DT_REG___367 = 8,
    DT_LNK___367 = 10,
    DT_SOCK___367 = 12,
    DT_WHT___367 = 14
} ;
enum __anonenum_77002343___367 {
    SI_ASYNCNL___367 = -60,
    SI_TKILL___367 = -6,
    SI_SIGIO___367 = -5,
    SI_ASYNCIO___367 = -4,
    SI_MESGQ___367 = -3,
    SI_TIMER___367 = -2,
    SI_QUEUE___367 = -1,
    SI_USER___367 = 0,
    SI_KERNEL___367 = 128
} ;
enum __anonenum_131038172___367 {
    ILL_ILLOPC___367 = 1,
    ILL_ILLOPN___367 = 2,
    ILL_ILLADR___367 = 3,
    ILL_ILLTRP___367 = 4,
    ILL_PRVOPC___367 = 5,
    ILL_PRVREG___367 = 6,
    ILL_COPROC___367 = 7,
    ILL_BADSTK___367 = 8
} ;
enum __anonenum_452038093___367 {
    FPE_INTDIV___367 = 1,
    FPE_INTOVF___367 = 2,
    FPE_FLTDIV___367 = 3,
    FPE_FLTOVF___367 = 4,
    FPE_FLTUND___367 = 5,
    FPE_FLTRES___367 = 6,
    FPE_FLTINV___367 = 7,
    FPE_FLTSUB___367 = 8
} ;
enum __anonenum_30976155___367 {
    SEGV_MAPERR___367 = 1,
    SEGV_ACCERR___367 = 2,
    SEGV_BNDERR___367 = 3,
    SEGV_PKUERR___367 = 4
} ;
enum __anonenum_1036286214___367 {
    BUS_ADRALN___367 = 1,
    BUS_ADRERR___367 = 2,
    BUS_OBJERR___367 = 3,
    BUS_MCEERR_AR___367 = 4,
    BUS_MCEERR_AO___367 = 5
} ;
enum __anonenum_493465559___367 {
    TRAP_BRKPT___367 = 1,
    TRAP_TRACE___367 = 2
} ;
enum __anonenum_23175539___367 {
    CLD_EXITED___367 = 1,
    CLD_KILLED___367 = 2,
    CLD_DUMPED___367 = 3,
    CLD_TRAPPED___367 = 4,
    CLD_STOPPED___367 = 5,
    CLD_CONTINUED___367 = 6
} ;
enum __anonenum_111643124___367 {
    POLL_IN___367 = 1,
    POLL_OUT___367 = 2,
    POLL_MSG___367 = 3,
    POLL_ERR___367 = 4,
    POLL_PRI___367 = 5,
    POLL_HUP___367 = 6
} ;
enum __anonenum_852341087___367 {
    SIGEV_SIGNAL___367 = 0,
    SIGEV_NONE___367 = 1,
    SIGEV_THREAD___367 = 2,
    SIGEV_THREAD_ID___367 = 4
} ;
enum __anonenum_451154152___367 {
    REG_R8___367 = 0,
    REG_R9___367 = 1,
    REG_R10___367 = 2,
    REG_R11___367 = 3,
    REG_R12___367 = 4,
    REG_R13___367 = 5,
    REG_R14___367 = 6,
    REG_R15___367 = 7,
    REG_RDI___367 = 8,
    REG_RSI___367 = 9,
    REG_RBP___367 = 10,
    REG_RBX___367 = 11,
    REG_RDX___367 = 12,
    REG_RAX___367 = 13,
    REG_RCX___367 = 14,
    REG_RSP___367 = 15,
    REG_RIP___367 = 16,
    REG_EFL___367 = 17,
    REG_CSGSFS___367 = 18,
    REG_ERR___367 = 19,
    REG_TRAPNO___367 = 20,
    REG_OLDMASK___367 = 21,
    REG_CR2___367 = 22
} ;
enum __anonenum_57186863___367 {
    SS_ONSTACK___367 = 1,
    SS_DISABLE___367 = 2
} ;
enum __anonenum_83571709___367 {
    MSG_OOB___367 = 1,
    MSG_PEEK___367 = 2,
    MSG_DONTROUTE___367 = 4,
    MSG_TRYHARD___367 = 4,
    MSG_CTRUNC___367 = 8,
    MSG_PROXY___367 = 16,
    MSG_TRUNC___367 = 32,
    MSG_DONTWAIT___367 = 64,
    MSG_EOR___367 = 128,
    MSG_WAITALL___367 = 256,
    MSG_FIN___367 = 512,
    MSG_SYN___367 = 1024,
    MSG_CONFIRM___367 = 2048,
    MSG_RST___367 = 4096,
    MSG_ERRQUEUE___367 = 8192,
    MSG_NOSIGNAL___367 = 16384,
    MSG_MORE___367 = 32768,
    MSG_WAITFORONE___367 = 65536,
    MSG_BATCH___367 = 262144,
    MSG_ZEROCOPY___367 = 67108864,
    MSG_FASTOPEN___367 = 536870912,
    MSG_CMSG_CLOEXEC___367 = 1073741824
} ;
enum __anonenum_617082774___367 {
    SCM_RIGHTS___367 = 1,
    SCM_CREDENTIALS___367 = 2
} ;
enum __anonenum_606441560___367 {
    SHUT_RD___367 = 0,
    SHUT_WR___367 = 1,
    SHUT_RDWR___367 = 2
} ;
enum __anonenum_681669233___367 {
    IPPROTO_IP___367 = 0,
    IPPROTO_ICMP___367 = 1,
    IPPROTO_IGMP___367 = 2,
    IPPROTO_IPIP___367 = 4,
    IPPROTO_TCP___367 = 6,
    IPPROTO_EGP___367 = 8,
    IPPROTO_PUP___367 = 12,
    IPPROTO_UDP___367 = 17,
    IPPROTO_IDP___367 = 22,
    IPPROTO_TP___367 = 29,
    IPPROTO_DCCP___367 = 33,
    IPPROTO_IPV6___367 = 41,
    IPPROTO_RSVP___367 = 46,
    IPPROTO_GRE___367 = 47,
    IPPROTO_ESP___367 = 50,
    IPPROTO_AH___367 = 51,
    IPPROTO_MTP___367 = 92,
    IPPROTO_BEETPH___367 = 94,
    IPPROTO_ENCAP___367 = 98,
    IPPROTO_PIM___367 = 103,
    IPPROTO_COMP___367 = 108,
    IPPROTO_SCTP___367 = 132,
    IPPROTO_UDPLITE___367 = 136,
    IPPROTO_MPLS___367 = 137,
    IPPROTO_RAW___367 = 255,
    IPPROTO_MAX___367 = 256
} ;
enum __anonenum_218739988___367 {
    IPPROTO_HOPOPTS___367 = 0,
    IPPROTO_ROUTING___367 = 43,
    IPPROTO_FRAGMENT___367 = 44,
    IPPROTO_ICMPV6___367 = 58,
    IPPROTO_NONE___367 = 59,
    IPPROTO_DSTOPTS___367 = 60,
    IPPROTO_MH___367 = 135
} ;
enum __anonenum_662268580___367 {
    IPPORT_ECHO___367 = 7,
    IPPORT_DISCARD___367 = 9,
    IPPORT_SYSTAT___367 = 11,
    IPPORT_DAYTIME___367 = 13,
    IPPORT_NETSTAT___367 = 15,
    IPPORT_FTP___367 = 21,
    IPPORT_TELNET___367 = 23,
    IPPORT_SMTP___367 = 25,
    IPPORT_TIMESERVER___367 = 37,
    IPPORT_NAMESERVER___367 = 42,
    IPPORT_WHOIS___367 = 43,
    IPPORT_MTP___367 = 57,
    IPPORT_TFTP___367 = 69,
    IPPORT_RJE___367 = 77,
    IPPORT_FINGER___367 = 79,
    IPPORT_TTYLINK___367 = 87,
    IPPORT_SUPDUP___367 = 95,
    IPPORT_EXECSERVER___367 = 512,
    IPPORT_LOGINSERVER___367 = 513,
    IPPORT_CMDSERVER___367 = 514,
    IPPORT_EFSSERVER___367 = 520,
    IPPORT_BIFFUDP___367 = 512,
    IPPORT_WHOSERVER___367 = 513,
    IPPORT_ROUTESERVER___367 = 520,
    IPPORT_RESERVED___367 = 1024,
    IPPORT_USERRESERVED___367 = 5000
} ;
enum __anonenum_788308992___367 {
    TCP_ESTABLISHED___367 = 1,
    TCP_SYN_SENT___367 = 2,
    TCP_SYN_RECV___367 = 3,
    TCP_FIN_WAIT1___367 = 4,
    TCP_FIN_WAIT2___367 = 5,
    TCP_TIME_WAIT___367 = 6,
    TCP_CLOSE___367 = 7,
    TCP_CLOSE_WAIT___367 = 8,
    TCP_LAST_ACK___367 = 9,
    TCP_LISTEN___367 = 10,
    TCP_CLOSING___367 = 11
} ;
enum __anonenum_221125648___367 {
    TCP_NO_QUEUE___367 = 0,
    TCP_RECV_QUEUE___367 = 1,
    TCP_SEND_QUEUE___367 = 2,
    TCP_QUEUES_NR___367 = 3
} ;
enum __anonenum_34415463___367 {
    PTHREAD_CREATE_JOINABLE___367 = 0,
    PTHREAD_CREATE_DETACHED___367 = 1
} ;
enum __anonenum_303612439___367 {
    PTHREAD_MUTEX_TIMED_NP___367 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___367 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___367 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___367 = 3,
    PTHREAD_MUTEX_NORMAL___367 = 0,
    PTHREAD_MUTEX_RECURSIVE___367 = 1,
    PTHREAD_MUTEX_ERRORCHECK___367 = 2,
    PTHREAD_MUTEX_DEFAULT___367 = 0,
    PTHREAD_MUTEX_FAST_NP___367 = 0
} ;
enum __anonenum_931900394___367 {
    PTHREAD_MUTEX_STALLED___367 = 0,
    PTHREAD_MUTEX_STALLED_NP___367 = 0,
    PTHREAD_MUTEX_ROBUST___367 = 1,
    PTHREAD_MUTEX_ROBUST_NP___367 = 1
} ;
enum __anonenum_205214487___367 {
    PTHREAD_PRIO_NONE___367 = 0,
    PTHREAD_PRIO_INHERIT___367 = 1,
    PTHREAD_PRIO_PROTECT___367 = 2
} ;
enum __anonenum_25043950___367 {
    PTHREAD_RWLOCK_PREFER_READER_NP___367 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___367 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___367 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___367 = 0
} ;
enum __anonenum_436439511___367 {
    PTHREAD_INHERIT_SCHED___367 = 0,
    PTHREAD_EXPLICIT_SCHED___367 = 1
} ;
enum __anonenum_998661166___367 {
    PTHREAD_SCOPE_SYSTEM___367 = 0,
    PTHREAD_SCOPE_PROCESS___367 = 1
} ;
enum __anonenum_146137331___367 {
    PTHREAD_PROCESS_PRIVATE___367 = 0,
    PTHREAD_PROCESS_SHARED___367 = 1
} ;
enum __anonenum_53396917___367 {
    PTHREAD_CANCEL_ENABLE___367 = 0,
    PTHREAD_CANCEL_DISABLE___367 = 1
} ;
enum __anonenum_904563783___367 {
    PTHREAD_CANCEL_DEFERRED___367 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___367 = 1
} ;
enum __anonenum_672052974___367 {
    SSL_CT_VALIDATION_PERMISSIVE___367 = 0,
    SSL_CT_VALIDATION_STRICT___367 = 1
} ;
enum __anonenum_437032235___368 {
    _PC_LINK_MAX___368 = 0,
    _PC_MAX_CANON___368 = 1,
    _PC_MAX_INPUT___368 = 2,
    _PC_NAME_MAX___368 = 3,
    _PC_PATH_MAX___368 = 4,
    _PC_PIPE_BUF___368 = 5,
    _PC_CHOWN_RESTRICTED___368 = 6,
    _PC_NO_TRUNC___368 = 7,
    _PC_VDISABLE___368 = 8,
    _PC_SYNC_IO___368 = 9,
    _PC_ASYNC_IO___368 = 10,
    _PC_PRIO_IO___368 = 11,
    _PC_SOCK_MAXBUF___368 = 12,
    _PC_FILESIZEBITS___368 = 13,
    _PC_REC_INCR_XFER_SIZE___368 = 14,
    _PC_REC_MAX_XFER_SIZE___368 = 15,
    _PC_REC_MIN_XFER_SIZE___368 = 16,
    _PC_REC_XFER_ALIGN___368 = 17,
    _PC_ALLOC_SIZE_MIN___368 = 18,
    _PC_SYMLINK_MAX___368 = 19,
    _PC_2_SYMLINKS___368 = 20
} ;
enum __anonenum_315186338___368 {
    _SC_ARG_MAX___368 = 0,
    _SC_CHILD_MAX___368 = 1,
    _SC_CLK_TCK___368 = 2,
    _SC_NGROUPS_MAX___368 = 3,
    _SC_OPEN_MAX___368 = 4,
    _SC_STREAM_MAX___368 = 5,
    _SC_TZNAME_MAX___368 = 6,
    _SC_JOB_CONTROL___368 = 7,
    _SC_SAVED_IDS___368 = 8,
    _SC_REALTIME_SIGNALS___368 = 9,
    _SC_PRIORITY_SCHEDULING___368 = 10,
    _SC_TIMERS___368 = 11,
    _SC_ASYNCHRONOUS_IO___368 = 12,
    _SC_PRIORITIZED_IO___368 = 13,
    _SC_SYNCHRONIZED_IO___368 = 14,
    _SC_FSYNC___368 = 15,
    _SC_MAPPED_FILES___368 = 16,
    _SC_MEMLOCK___368 = 17,
    _SC_MEMLOCK_RANGE___368 = 18,
    _SC_MEMORY_PROTECTION___368 = 19,
    _SC_MESSAGE_PASSING___368 = 20,
    _SC_SEMAPHORES___368 = 21,
    _SC_SHARED_MEMORY_OBJECTS___368 = 22,
    _SC_AIO_LISTIO_MAX___368 = 23,
    _SC_AIO_MAX___368 = 24,
    _SC_AIO_PRIO_DELTA_MAX___368 = 25,
    _SC_DELAYTIMER_MAX___368 = 26,
    _SC_MQ_OPEN_MAX___368 = 27,
    _SC_MQ_PRIO_MAX___368 = 28,
    _SC_VERSION___368 = 29,
    _SC_PAGESIZE___368 = 30,
    _SC_RTSIG_MAX___368 = 31,
    _SC_SEM_NSEMS_MAX___368 = 32,
    _SC_SEM_VALUE_MAX___368 = 33,
    _SC_SIGQUEUE_MAX___368 = 34,
    _SC_TIMER_MAX___368 = 35,
    _SC_BC_BASE_MAX___368 = 36,
    _SC_BC_DIM_MAX___368 = 37,
    _SC_BC_SCALE_MAX___368 = 38,
    _SC_BC_STRING_MAX___368 = 39,
    _SC_COLL_WEIGHTS_MAX___368 = 40,
    _SC_EQUIV_CLASS_MAX___368 = 41,
    _SC_EXPR_NEST_MAX___368 = 42,
    _SC_LINE_MAX___368 = 43,
    _SC_RE_DUP_MAX___368 = 44,
    _SC_CHARCLASS_NAME_MAX___368 = 45,
    _SC_2_VERSION___368 = 46,
    _SC_2_C_BIND___368 = 47,
    _SC_2_C_DEV___368 = 48,
    _SC_2_FORT_DEV___368 = 49,
    _SC_2_FORT_RUN___368 = 50,
    _SC_2_SW_DEV___368 = 51,
    _SC_2_LOCALEDEF___368 = 52,
    _SC_PII___368 = 53,
    _SC_PII_XTI___368 = 54,
    _SC_PII_SOCKET___368 = 55,
    _SC_PII_INTERNET___368 = 56,
    _SC_PII_OSI___368 = 57,
    _SC_POLL___368 = 58,
    _SC_SELECT___368 = 59,
    _SC_UIO_MAXIOV___368 = 60,
    _SC_IOV_MAX___368 = 60,
    _SC_PII_INTERNET_STREAM___368 = 61,
    _SC_PII_INTERNET_DGRAM___368 = 62,
    _SC_PII_OSI_COTS___368 = 63,
    _SC_PII_OSI_CLTS___368 = 64,
    _SC_PII_OSI_M___368 = 65,
    _SC_T_IOV_MAX___368 = 66,
    _SC_THREADS___368 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___368 = 68,
    _SC_GETGR_R_SIZE_MAX___368 = 69,
    _SC_GETPW_R_SIZE_MAX___368 = 70,
    _SC_LOGIN_NAME_MAX___368 = 71,
    _SC_TTY_NAME_MAX___368 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___368 = 73,
    _SC_THREAD_KEYS_MAX___368 = 74,
    _SC_THREAD_STACK_MIN___368 = 75,
    _SC_THREAD_THREADS_MAX___368 = 76,
    _SC_THREAD_ATTR_STACKADDR___368 = 77,
    _SC_THREAD_ATTR_STACKSIZE___368 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___368 = 79,
    _SC_THREAD_PRIO_INHERIT___368 = 80,
    _SC_THREAD_PRIO_PROTECT___368 = 81,
    _SC_THREAD_PROCESS_SHARED___368 = 82,
    _SC_NPROCESSORS_CONF___368 = 83,
    _SC_NPROCESSORS_ONLN___368 = 84,
    _SC_PHYS_PAGES___368 = 85,
    _SC_AVPHYS_PAGES___368 = 86,
    _SC_ATEXIT_MAX___368 = 87,
    _SC_PASS_MAX___368 = 88,
    _SC_XOPEN_VERSION___368 = 89,
    _SC_XOPEN_XCU_VERSION___368 = 90,
    _SC_XOPEN_UNIX___368 = 91,
    _SC_XOPEN_CRYPT___368 = 92,
    _SC_XOPEN_ENH_I18N___368 = 93,
    _SC_XOPEN_SHM___368 = 94,
    _SC_2_CHAR_TERM___368 = 95,
    _SC_2_C_VERSION___368 = 96,
    _SC_2_UPE___368 = 97,
    _SC_XOPEN_XPG2___368 = 98,
    _SC_XOPEN_XPG3___368 = 99,
    _SC_XOPEN_XPG4___368 = 100,
    _SC_CHAR_BIT___368 = 101,
    _SC_CHAR_MAX___368 = 102,
    _SC_CHAR_MIN___368 = 103,
    _SC_INT_MAX___368 = 104,
    _SC_INT_MIN___368 = 105,
    _SC_LONG_BIT___368 = 106,
    _SC_WORD_BIT___368 = 107,
    _SC_MB_LEN_MAX___368 = 108,
    _SC_NZERO___368 = 109,
    _SC_SSIZE_MAX___368 = 110,
    _SC_SCHAR_MAX___368 = 111,
    _SC_SCHAR_MIN___368 = 112,
    _SC_SHRT_MAX___368 = 113,
    _SC_SHRT_MIN___368 = 114,
    _SC_UCHAR_MAX___368 = 115,
    _SC_UINT_MAX___368 = 116,
    _SC_ULONG_MAX___368 = 117,
    _SC_USHRT_MAX___368 = 118,
    _SC_NL_ARGMAX___368 = 119,
    _SC_NL_LANGMAX___368 = 120,
    _SC_NL_MSGMAX___368 = 121,
    _SC_NL_NMAX___368 = 122,
    _SC_NL_SETMAX___368 = 123,
    _SC_NL_TEXTMAX___368 = 124,
    _SC_XBS5_ILP32_OFF32___368 = 125,
    _SC_XBS5_ILP32_OFFBIG___368 = 126,
    _SC_XBS5_LP64_OFF64___368 = 127,
    _SC_XBS5_LPBIG_OFFBIG___368 = 128,
    _SC_XOPEN_LEGACY___368 = 129,
    _SC_XOPEN_REALTIME___368 = 130,
    _SC_XOPEN_REALTIME_THREADS___368 = 131,
    _SC_ADVISORY_INFO___368 = 132,
    _SC_BARRIERS___368 = 133,
    _SC_BASE___368 = 134,
    _SC_C_LANG_SUPPORT___368 = 135,
    _SC_C_LANG_SUPPORT_R___368 = 136,
    _SC_CLOCK_SELECTION___368 = 137,
    _SC_CPUTIME___368 = 138,
    _SC_THREAD_CPUTIME___368 = 139,
    _SC_DEVICE_IO___368 = 140,
    _SC_DEVICE_SPECIFIC___368 = 141,
    _SC_DEVICE_SPECIFIC_R___368 = 142,
    _SC_FD_MGMT___368 = 143,
    _SC_FIFO___368 = 144,
    _SC_PIPE___368 = 145,
    _SC_FILE_ATTRIBUTES___368 = 146,
    _SC_FILE_LOCKING___368 = 147,
    _SC_FILE_SYSTEM___368 = 148,
    _SC_MONOTONIC_CLOCK___368 = 149,
    _SC_MULTI_PROCESS___368 = 150,
    _SC_SINGLE_PROCESS___368 = 151,
    _SC_NETWORKING___368 = 152,
    _SC_READER_WRITER_LOCKS___368 = 153,
    _SC_SPIN_LOCKS___368 = 154,
    _SC_REGEXP___368 = 155,
    _SC_REGEX_VERSION___368 = 156,
    _SC_SHELL___368 = 157,
    _SC_SIGNALS___368 = 158,
    _SC_SPAWN___368 = 159,
    _SC_SPORADIC_SERVER___368 = 160,
    _SC_THREAD_SPORADIC_SERVER___368 = 161,
    _SC_SYSTEM_DATABASE___368 = 162,
    _SC_SYSTEM_DATABASE_R___368 = 163,
    _SC_TIMEOUTS___368 = 164,
    _SC_TYPED_MEMORY_OBJECTS___368 = 165,
    _SC_USER_GROUPS___368 = 166,
    _SC_USER_GROUPS_R___368 = 167,
    _SC_2_PBS___368 = 168,
    _SC_2_PBS_ACCOUNTING___368 = 169,
    _SC_2_PBS_LOCATE___368 = 170,
    _SC_2_PBS_MESSAGE___368 = 171,
    _SC_2_PBS_TRACK___368 = 172,
    _SC_SYMLOOP_MAX___368 = 173,
    _SC_STREAMS___368 = 174,
    _SC_2_PBS_CHECKPOINT___368 = 175,
    _SC_V6_ILP32_OFF32___368 = 176,
    _SC_V6_ILP32_OFFBIG___368 = 177,
    _SC_V6_LP64_OFF64___368 = 178,
    _SC_V6_LPBIG_OFFBIG___368 = 179,
    _SC_HOST_NAME_MAX___368 = 180,
    _SC_TRACE___368 = 181,
    _SC_TRACE_EVENT_FILTER___368 = 182,
    _SC_TRACE_INHERIT___368 = 183,
    _SC_TRACE_LOG___368 = 184,
    _SC_LEVEL1_ICACHE_SIZE___368 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___368 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___368 = 187,
    _SC_LEVEL1_DCACHE_SIZE___368 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___368 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___368 = 190,
    _SC_LEVEL2_CACHE_SIZE___368 = 191,
    _SC_LEVEL2_CACHE_ASSOC___368 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___368 = 193,
    _SC_LEVEL3_CACHE_SIZE___368 = 194,
    _SC_LEVEL3_CACHE_ASSOC___368 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___368 = 196,
    _SC_LEVEL4_CACHE_SIZE___368 = 197,
    _SC_LEVEL4_CACHE_ASSOC___368 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___368 = 199,
    _SC_IPV6___368 = 235,
    _SC_RAW_SOCKETS___368 = 236,
    _SC_V7_ILP32_OFF32___368 = 237,
    _SC_V7_ILP32_OFFBIG___368 = 238,
    _SC_V7_LP64_OFF64___368 = 239,
    _SC_V7_LPBIG_OFFBIG___368 = 240,
    _SC_SS_REPL_MAX___368 = 241,
    _SC_TRACE_EVENT_NAME_MAX___368 = 242,
    _SC_TRACE_NAME_MAX___368 = 243,
    _SC_TRACE_SYS_MAX___368 = 244,
    _SC_TRACE_USER_EVENT_MAX___368 = 245,
    _SC_XOPEN_STREAMS___368 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___368 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___368 = 248
} ;
enum __anonenum_875524036___368 {
    _CS_PATH___368 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___368 = 1,
    _CS_GNU_LIBC_VERSION___368 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___368 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___368 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___368 = 5,
    _CS_LFS_CFLAGS___368 = 1000,
    _CS_LFS_LDFLAGS___368 = 1001,
    _CS_LFS_LIBS___368 = 1002,
    _CS_LFS_LINTFLAGS___368 = 1003,
    _CS_LFS64_CFLAGS___368 = 1004,
    _CS_LFS64_LDFLAGS___368 = 1005,
    _CS_LFS64_LIBS___368 = 1006,
    _CS_LFS64_LINTFLAGS___368 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___368 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___368 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___368 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___368 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___368 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___368 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___368 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___368 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___368 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___368 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___368 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___368 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___368 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___368 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___368 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___368 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___368 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___368 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___368 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___368 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___368 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___368 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___368 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___368 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___368 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___368 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___368 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___368 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___368 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___368 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___368 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___368 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___368 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___368 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___368 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___368 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___368 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___368 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___368 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___368 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___368 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___368 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___368 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___368 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___368 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___368 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___368 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___368 = 1147,
    _CS_V6_ENV___368 = 1148,
    _CS_V7_ENV___368 = 1149
} ;
enum __anonenum_513775621___368 {
    DT_UNKNOWN___368 = 0,
    DT_FIFO___368 = 1,
    DT_CHR___368 = 2,
    DT_DIR___368 = 4,
    DT_BLK___368 = 6,
    DT_REG___368 = 8,
    DT_LNK___368 = 10,
    DT_SOCK___368 = 12,
    DT_WHT___368 = 14
} ;
enum __anonenum_77002343___368 {
    SI_ASYNCNL___368 = -60,
    SI_TKILL___368 = -6,
    SI_SIGIO___368 = -5,
    SI_ASYNCIO___368 = -4,
    SI_MESGQ___368 = -3,
    SI_TIMER___368 = -2,
    SI_QUEUE___368 = -1,
    SI_USER___368 = 0,
    SI_KERNEL___368 = 128
} ;
enum __anonenum_131038172___368 {
    ILL_ILLOPC___368 = 1,
    ILL_ILLOPN___368 = 2,
    ILL_ILLADR___368 = 3,
    ILL_ILLTRP___368 = 4,
    ILL_PRVOPC___368 = 5,
    ILL_PRVREG___368 = 6,
    ILL_COPROC___368 = 7,
    ILL_BADSTK___368 = 8
} ;
enum __anonenum_452038093___368 {
    FPE_INTDIV___368 = 1,
    FPE_INTOVF___368 = 2,
    FPE_FLTDIV___368 = 3,
    FPE_FLTOVF___368 = 4,
    FPE_FLTUND___368 = 5,
    FPE_FLTRES___368 = 6,
    FPE_FLTINV___368 = 7,
    FPE_FLTSUB___368 = 8
} ;
enum __anonenum_30976155___368 {
    SEGV_MAPERR___368 = 1,
    SEGV_ACCERR___368 = 2,
    SEGV_BNDERR___368 = 3,
    SEGV_PKUERR___368 = 4
} ;
enum __anonenum_1036286214___368 {
    BUS_ADRALN___368 = 1,
    BUS_ADRERR___368 = 2,
    BUS_OBJERR___368 = 3,
    BUS_MCEERR_AR___368 = 4,
    BUS_MCEERR_AO___368 = 5
} ;
enum __anonenum_493465559___368 {
    TRAP_BRKPT___368 = 1,
    TRAP_TRACE___368 = 2
} ;
enum __anonenum_23175539___368 {
    CLD_EXITED___368 = 1,
    CLD_KILLED___368 = 2,
    CLD_DUMPED___368 = 3,
    CLD_TRAPPED___368 = 4,
    CLD_STOPPED___368 = 5,
    CLD_CONTINUED___368 = 6
} ;
enum __anonenum_111643124___368 {
    POLL_IN___368 = 1,
    POLL_OUT___368 = 2,
    POLL_MSG___368 = 3,
    POLL_ERR___368 = 4,
    POLL_PRI___368 = 5,
    POLL_HUP___368 = 6
} ;
enum __anonenum_852341087___368 {
    SIGEV_SIGNAL___368 = 0,
    SIGEV_NONE___368 = 1,
    SIGEV_THREAD___368 = 2,
    SIGEV_THREAD_ID___368 = 4
} ;
enum __anonenum_451154152___368 {
    REG_R8___368 = 0,
    REG_R9___368 = 1,
    REG_R10___368 = 2,
    REG_R11___368 = 3,
    REG_R12___368 = 4,
    REG_R13___368 = 5,
    REG_R14___368 = 6,
    REG_R15___368 = 7,
    REG_RDI___368 = 8,
    REG_RSI___368 = 9,
    REG_RBP___368 = 10,
    REG_RBX___368 = 11,
    REG_RDX___368 = 12,
    REG_RAX___368 = 13,
    REG_RCX___368 = 14,
    REG_RSP___368 = 15,
    REG_RIP___368 = 16,
    REG_EFL___368 = 17,
    REG_CSGSFS___368 = 18,
    REG_ERR___368 = 19,
    REG_TRAPNO___368 = 20,
    REG_OLDMASK___368 = 21,
    REG_CR2___368 = 22
} ;
enum __anonenum_57186863___368 {
    SS_ONSTACK___368 = 1,
    SS_DISABLE___368 = 2
} ;
enum __anonenum_83571709___368 {
    MSG_OOB___368 = 1,
    MSG_PEEK___368 = 2,
    MSG_DONTROUTE___368 = 4,
    MSG_TRYHARD___368 = 4,
    MSG_CTRUNC___368 = 8,
    MSG_PROXY___368 = 16,
    MSG_TRUNC___368 = 32,
    MSG_DONTWAIT___368 = 64,
    MSG_EOR___368 = 128,
    MSG_WAITALL___368 = 256,
    MSG_FIN___368 = 512,
    MSG_SYN___368 = 1024,
    MSG_CONFIRM___368 = 2048,
    MSG_RST___368 = 4096,
    MSG_ERRQUEUE___368 = 8192,
    MSG_NOSIGNAL___368 = 16384,
    MSG_MORE___368 = 32768,
    MSG_WAITFORONE___368 = 65536,
    MSG_BATCH___368 = 262144,
    MSG_ZEROCOPY___368 = 67108864,
    MSG_FASTOPEN___368 = 536870912,
    MSG_CMSG_CLOEXEC___368 = 1073741824
} ;
enum __anonenum_617082774___368 {
    SCM_RIGHTS___368 = 1,
    SCM_CREDENTIALS___368 = 2
} ;
enum __anonenum_606441560___368 {
    SHUT_RD___368 = 0,
    SHUT_WR___368 = 1,
    SHUT_RDWR___368 = 2
} ;
enum __anonenum_681669233___368 {
    IPPROTO_IP___368 = 0,
    IPPROTO_ICMP___368 = 1,
    IPPROTO_IGMP___368 = 2,
    IPPROTO_IPIP___368 = 4,
    IPPROTO_TCP___368 = 6,
    IPPROTO_EGP___368 = 8,
    IPPROTO_PUP___368 = 12,
    IPPROTO_UDP___368 = 17,
    IPPROTO_IDP___368 = 22,
    IPPROTO_TP___368 = 29,
    IPPROTO_DCCP___368 = 33,
    IPPROTO_IPV6___368 = 41,
    IPPROTO_RSVP___368 = 46,
    IPPROTO_GRE___368 = 47,
    IPPROTO_ESP___368 = 50,
    IPPROTO_AH___368 = 51,
    IPPROTO_MTP___368 = 92,
    IPPROTO_BEETPH___368 = 94,
    IPPROTO_ENCAP___368 = 98,
    IPPROTO_PIM___368 = 103,
    IPPROTO_COMP___368 = 108,
    IPPROTO_SCTP___368 = 132,
    IPPROTO_UDPLITE___368 = 136,
    IPPROTO_MPLS___368 = 137,
    IPPROTO_RAW___368 = 255,
    IPPROTO_MAX___368 = 256
} ;
enum __anonenum_218739988___368 {
    IPPROTO_HOPOPTS___368 = 0,
    IPPROTO_ROUTING___368 = 43,
    IPPROTO_FRAGMENT___368 = 44,
    IPPROTO_ICMPV6___368 = 58,
    IPPROTO_NONE___368 = 59,
    IPPROTO_DSTOPTS___368 = 60,
    IPPROTO_MH___368 = 135
} ;
enum __anonenum_662268580___368 {
    IPPORT_ECHO___368 = 7,
    IPPORT_DISCARD___368 = 9,
    IPPORT_SYSTAT___368 = 11,
    IPPORT_DAYTIME___368 = 13,
    IPPORT_NETSTAT___368 = 15,
    IPPORT_FTP___368 = 21,
    IPPORT_TELNET___368 = 23,
    IPPORT_SMTP___368 = 25,
    IPPORT_TIMESERVER___368 = 37,
    IPPORT_NAMESERVER___368 = 42,
    IPPORT_WHOIS___368 = 43,
    IPPORT_MTP___368 = 57,
    IPPORT_TFTP___368 = 69,
    IPPORT_RJE___368 = 77,
    IPPORT_FINGER___368 = 79,
    IPPORT_TTYLINK___368 = 87,
    IPPORT_SUPDUP___368 = 95,
    IPPORT_EXECSERVER___368 = 512,
    IPPORT_LOGINSERVER___368 = 513,
    IPPORT_CMDSERVER___368 = 514,
    IPPORT_EFSSERVER___368 = 520,
    IPPORT_BIFFUDP___368 = 512,
    IPPORT_WHOSERVER___368 = 513,
    IPPORT_ROUTESERVER___368 = 520,
    IPPORT_RESERVED___368 = 1024,
    IPPORT_USERRESERVED___368 = 5000
} ;
enum __anonenum_788308992___368 {
    TCP_ESTABLISHED___368 = 1,
    TCP_SYN_SENT___368 = 2,
    TCP_SYN_RECV___368 = 3,
    TCP_FIN_WAIT1___368 = 4,
    TCP_FIN_WAIT2___368 = 5,
    TCP_TIME_WAIT___368 = 6,
    TCP_CLOSE___368 = 7,
    TCP_CLOSE_WAIT___368 = 8,
    TCP_LAST_ACK___368 = 9,
    TCP_LISTEN___368 = 10,
    TCP_CLOSING___368 = 11
} ;
enum __anonenum_221125648___368 {
    TCP_NO_QUEUE___368 = 0,
    TCP_RECV_QUEUE___368 = 1,
    TCP_SEND_QUEUE___368 = 2,
    TCP_QUEUES_NR___368 = 3
} ;
enum __anonenum_34415463___368 {
    PTHREAD_CREATE_JOINABLE___368 = 0,
    PTHREAD_CREATE_DETACHED___368 = 1
} ;
enum __anonenum_303612439___368 {
    PTHREAD_MUTEX_TIMED_NP___368 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___368 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___368 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___368 = 3,
    PTHREAD_MUTEX_NORMAL___368 = 0,
    PTHREAD_MUTEX_RECURSIVE___368 = 1,
    PTHREAD_MUTEX_ERRORCHECK___368 = 2,
    PTHREAD_MUTEX_DEFAULT___368 = 0,
    PTHREAD_MUTEX_FAST_NP___368 = 0
} ;
enum __anonenum_931900394___368 {
    PTHREAD_MUTEX_STALLED___368 = 0,
    PTHREAD_MUTEX_STALLED_NP___368 = 0,
    PTHREAD_MUTEX_ROBUST___368 = 1,
    PTHREAD_MUTEX_ROBUST_NP___368 = 1
} ;
enum __anonenum_205214487___368 {
    PTHREAD_PRIO_NONE___368 = 0,
    PTHREAD_PRIO_INHERIT___368 = 1,
    PTHREAD_PRIO_PROTECT___368 = 2
} ;
enum __anonenum_25043950___368 {
    PTHREAD_RWLOCK_PREFER_READER_NP___368 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___368 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___368 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___368 = 0
} ;
enum __anonenum_436439511___368 {
    PTHREAD_INHERIT_SCHED___368 = 0,
    PTHREAD_EXPLICIT_SCHED___368 = 1
} ;
enum __anonenum_998661166___368 {
    PTHREAD_SCOPE_SYSTEM___368 = 0,
    PTHREAD_SCOPE_PROCESS___368 = 1
} ;
enum __anonenum_146137331___368 {
    PTHREAD_PROCESS_PRIVATE___368 = 0,
    PTHREAD_PROCESS_SHARED___368 = 1
} ;
enum __anonenum_53396917___368 {
    PTHREAD_CANCEL_ENABLE___368 = 0,
    PTHREAD_CANCEL_DISABLE___368 = 1
} ;
enum __anonenum_904563783___368 {
    PTHREAD_CANCEL_DEFERRED___368 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___368 = 1
} ;
enum __anonenum_672052974___368 {
    SSL_CT_VALIDATION_PERMISSIVE___368 = 0,
    SSL_CT_VALIDATION_STRICT___368 = 1
} ;
struct commit_name___0 {
   char const   *head_name ;
   int generation ;
};
struct commit_name_slab {
   unsigned int slab_size ;
   unsigned int stride ;
   unsigned int slab_count ;
   struct commit_name___0 ***slab ;
};
enum __anonenum_437032235___369 {
    _PC_LINK_MAX___369 = 0,
    _PC_MAX_CANON___369 = 1,
    _PC_MAX_INPUT___369 = 2,
    _PC_NAME_MAX___369 = 3,
    _PC_PATH_MAX___369 = 4,
    _PC_PIPE_BUF___369 = 5,
    _PC_CHOWN_RESTRICTED___369 = 6,
    _PC_NO_TRUNC___369 = 7,
    _PC_VDISABLE___369 = 8,
    _PC_SYNC_IO___369 = 9,
    _PC_ASYNC_IO___369 = 10,
    _PC_PRIO_IO___369 = 11,
    _PC_SOCK_MAXBUF___369 = 12,
    _PC_FILESIZEBITS___369 = 13,
    _PC_REC_INCR_XFER_SIZE___369 = 14,
    _PC_REC_MAX_XFER_SIZE___369 = 15,
    _PC_REC_MIN_XFER_SIZE___369 = 16,
    _PC_REC_XFER_ALIGN___369 = 17,
    _PC_ALLOC_SIZE_MIN___369 = 18,
    _PC_SYMLINK_MAX___369 = 19,
    _PC_2_SYMLINKS___369 = 20
} ;
enum __anonenum_315186338___369 {
    _SC_ARG_MAX___369 = 0,
    _SC_CHILD_MAX___369 = 1,
    _SC_CLK_TCK___369 = 2,
    _SC_NGROUPS_MAX___369 = 3,
    _SC_OPEN_MAX___369 = 4,
    _SC_STREAM_MAX___369 = 5,
    _SC_TZNAME_MAX___369 = 6,
    _SC_JOB_CONTROL___369 = 7,
    _SC_SAVED_IDS___369 = 8,
    _SC_REALTIME_SIGNALS___369 = 9,
    _SC_PRIORITY_SCHEDULING___369 = 10,
    _SC_TIMERS___369 = 11,
    _SC_ASYNCHRONOUS_IO___369 = 12,
    _SC_PRIORITIZED_IO___369 = 13,
    _SC_SYNCHRONIZED_IO___369 = 14,
    _SC_FSYNC___369 = 15,
    _SC_MAPPED_FILES___369 = 16,
    _SC_MEMLOCK___369 = 17,
    _SC_MEMLOCK_RANGE___369 = 18,
    _SC_MEMORY_PROTECTION___369 = 19,
    _SC_MESSAGE_PASSING___369 = 20,
    _SC_SEMAPHORES___369 = 21,
    _SC_SHARED_MEMORY_OBJECTS___369 = 22,
    _SC_AIO_LISTIO_MAX___369 = 23,
    _SC_AIO_MAX___369 = 24,
    _SC_AIO_PRIO_DELTA_MAX___369 = 25,
    _SC_DELAYTIMER_MAX___369 = 26,
    _SC_MQ_OPEN_MAX___369 = 27,
    _SC_MQ_PRIO_MAX___369 = 28,
    _SC_VERSION___369 = 29,
    _SC_PAGESIZE___369 = 30,
    _SC_RTSIG_MAX___369 = 31,
    _SC_SEM_NSEMS_MAX___369 = 32,
    _SC_SEM_VALUE_MAX___369 = 33,
    _SC_SIGQUEUE_MAX___369 = 34,
    _SC_TIMER_MAX___369 = 35,
    _SC_BC_BASE_MAX___369 = 36,
    _SC_BC_DIM_MAX___369 = 37,
    _SC_BC_SCALE_MAX___369 = 38,
    _SC_BC_STRING_MAX___369 = 39,
    _SC_COLL_WEIGHTS_MAX___369 = 40,
    _SC_EQUIV_CLASS_MAX___369 = 41,
    _SC_EXPR_NEST_MAX___369 = 42,
    _SC_LINE_MAX___369 = 43,
    _SC_RE_DUP_MAX___369 = 44,
    _SC_CHARCLASS_NAME_MAX___369 = 45,
    _SC_2_VERSION___369 = 46,
    _SC_2_C_BIND___369 = 47,
    _SC_2_C_DEV___369 = 48,
    _SC_2_FORT_DEV___369 = 49,
    _SC_2_FORT_RUN___369 = 50,
    _SC_2_SW_DEV___369 = 51,
    _SC_2_LOCALEDEF___369 = 52,
    _SC_PII___369 = 53,
    _SC_PII_XTI___369 = 54,
    _SC_PII_SOCKET___369 = 55,
    _SC_PII_INTERNET___369 = 56,
    _SC_PII_OSI___369 = 57,
    _SC_POLL___369 = 58,
    _SC_SELECT___369 = 59,
    _SC_UIO_MAXIOV___369 = 60,
    _SC_IOV_MAX___369 = 60,
    _SC_PII_INTERNET_STREAM___369 = 61,
    _SC_PII_INTERNET_DGRAM___369 = 62,
    _SC_PII_OSI_COTS___369 = 63,
    _SC_PII_OSI_CLTS___369 = 64,
    _SC_PII_OSI_M___369 = 65,
    _SC_T_IOV_MAX___369 = 66,
    _SC_THREADS___369 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___369 = 68,
    _SC_GETGR_R_SIZE_MAX___369 = 69,
    _SC_GETPW_R_SIZE_MAX___369 = 70,
    _SC_LOGIN_NAME_MAX___369 = 71,
    _SC_TTY_NAME_MAX___369 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___369 = 73,
    _SC_THREAD_KEYS_MAX___369 = 74,
    _SC_THREAD_STACK_MIN___369 = 75,
    _SC_THREAD_THREADS_MAX___369 = 76,
    _SC_THREAD_ATTR_STACKADDR___369 = 77,
    _SC_THREAD_ATTR_STACKSIZE___369 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___369 = 79,
    _SC_THREAD_PRIO_INHERIT___369 = 80,
    _SC_THREAD_PRIO_PROTECT___369 = 81,
    _SC_THREAD_PROCESS_SHARED___369 = 82,
    _SC_NPROCESSORS_CONF___369 = 83,
    _SC_NPROCESSORS_ONLN___369 = 84,
    _SC_PHYS_PAGES___369 = 85,
    _SC_AVPHYS_PAGES___369 = 86,
    _SC_ATEXIT_MAX___369 = 87,
    _SC_PASS_MAX___369 = 88,
    _SC_XOPEN_VERSION___369 = 89,
    _SC_XOPEN_XCU_VERSION___369 = 90,
    _SC_XOPEN_UNIX___369 = 91,
    _SC_XOPEN_CRYPT___369 = 92,
    _SC_XOPEN_ENH_I18N___369 = 93,
    _SC_XOPEN_SHM___369 = 94,
    _SC_2_CHAR_TERM___369 = 95,
    _SC_2_C_VERSION___369 = 96,
    _SC_2_UPE___369 = 97,
    _SC_XOPEN_XPG2___369 = 98,
    _SC_XOPEN_XPG3___369 = 99,
    _SC_XOPEN_XPG4___369 = 100,
    _SC_CHAR_BIT___369 = 101,
    _SC_CHAR_MAX___369 = 102,
    _SC_CHAR_MIN___369 = 103,
    _SC_INT_MAX___369 = 104,
    _SC_INT_MIN___369 = 105,
    _SC_LONG_BIT___369 = 106,
    _SC_WORD_BIT___369 = 107,
    _SC_MB_LEN_MAX___369 = 108,
    _SC_NZERO___369 = 109,
    _SC_SSIZE_MAX___369 = 110,
    _SC_SCHAR_MAX___369 = 111,
    _SC_SCHAR_MIN___369 = 112,
    _SC_SHRT_MAX___369 = 113,
    _SC_SHRT_MIN___369 = 114,
    _SC_UCHAR_MAX___369 = 115,
    _SC_UINT_MAX___369 = 116,
    _SC_ULONG_MAX___369 = 117,
    _SC_USHRT_MAX___369 = 118,
    _SC_NL_ARGMAX___369 = 119,
    _SC_NL_LANGMAX___369 = 120,
    _SC_NL_MSGMAX___369 = 121,
    _SC_NL_NMAX___369 = 122,
    _SC_NL_SETMAX___369 = 123,
    _SC_NL_TEXTMAX___369 = 124,
    _SC_XBS5_ILP32_OFF32___369 = 125,
    _SC_XBS5_ILP32_OFFBIG___369 = 126,
    _SC_XBS5_LP64_OFF64___369 = 127,
    _SC_XBS5_LPBIG_OFFBIG___369 = 128,
    _SC_XOPEN_LEGACY___369 = 129,
    _SC_XOPEN_REALTIME___369 = 130,
    _SC_XOPEN_REALTIME_THREADS___369 = 131,
    _SC_ADVISORY_INFO___369 = 132,
    _SC_BARRIERS___369 = 133,
    _SC_BASE___369 = 134,
    _SC_C_LANG_SUPPORT___369 = 135,
    _SC_C_LANG_SUPPORT_R___369 = 136,
    _SC_CLOCK_SELECTION___369 = 137,
    _SC_CPUTIME___369 = 138,
    _SC_THREAD_CPUTIME___369 = 139,
    _SC_DEVICE_IO___369 = 140,
    _SC_DEVICE_SPECIFIC___369 = 141,
    _SC_DEVICE_SPECIFIC_R___369 = 142,
    _SC_FD_MGMT___369 = 143,
    _SC_FIFO___369 = 144,
    _SC_PIPE___369 = 145,
    _SC_FILE_ATTRIBUTES___369 = 146,
    _SC_FILE_LOCKING___369 = 147,
    _SC_FILE_SYSTEM___369 = 148,
    _SC_MONOTONIC_CLOCK___369 = 149,
    _SC_MULTI_PROCESS___369 = 150,
    _SC_SINGLE_PROCESS___369 = 151,
    _SC_NETWORKING___369 = 152,
    _SC_READER_WRITER_LOCKS___369 = 153,
    _SC_SPIN_LOCKS___369 = 154,
    _SC_REGEXP___369 = 155,
    _SC_REGEX_VERSION___369 = 156,
    _SC_SHELL___369 = 157,
    _SC_SIGNALS___369 = 158,
    _SC_SPAWN___369 = 159,
    _SC_SPORADIC_SERVER___369 = 160,
    _SC_THREAD_SPORADIC_SERVER___369 = 161,
    _SC_SYSTEM_DATABASE___369 = 162,
    _SC_SYSTEM_DATABASE_R___369 = 163,
    _SC_TIMEOUTS___369 = 164,
    _SC_TYPED_MEMORY_OBJECTS___369 = 165,
    _SC_USER_GROUPS___369 = 166,
    _SC_USER_GROUPS_R___369 = 167,
    _SC_2_PBS___369 = 168,
    _SC_2_PBS_ACCOUNTING___369 = 169,
    _SC_2_PBS_LOCATE___369 = 170,
    _SC_2_PBS_MESSAGE___369 = 171,
    _SC_2_PBS_TRACK___369 = 172,
    _SC_SYMLOOP_MAX___369 = 173,
    _SC_STREAMS___369 = 174,
    _SC_2_PBS_CHECKPOINT___369 = 175,
    _SC_V6_ILP32_OFF32___369 = 176,
    _SC_V6_ILP32_OFFBIG___369 = 177,
    _SC_V6_LP64_OFF64___369 = 178,
    _SC_V6_LPBIG_OFFBIG___369 = 179,
    _SC_HOST_NAME_MAX___369 = 180,
    _SC_TRACE___369 = 181,
    _SC_TRACE_EVENT_FILTER___369 = 182,
    _SC_TRACE_INHERIT___369 = 183,
    _SC_TRACE_LOG___369 = 184,
    _SC_LEVEL1_ICACHE_SIZE___369 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___369 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___369 = 187,
    _SC_LEVEL1_DCACHE_SIZE___369 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___369 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___369 = 190,
    _SC_LEVEL2_CACHE_SIZE___369 = 191,
    _SC_LEVEL2_CACHE_ASSOC___369 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___369 = 193,
    _SC_LEVEL3_CACHE_SIZE___369 = 194,
    _SC_LEVEL3_CACHE_ASSOC___369 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___369 = 196,
    _SC_LEVEL4_CACHE_SIZE___369 = 197,
    _SC_LEVEL4_CACHE_ASSOC___369 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___369 = 199,
    _SC_IPV6___369 = 235,
    _SC_RAW_SOCKETS___369 = 236,
    _SC_V7_ILP32_OFF32___369 = 237,
    _SC_V7_ILP32_OFFBIG___369 = 238,
    _SC_V7_LP64_OFF64___369 = 239,
    _SC_V7_LPBIG_OFFBIG___369 = 240,
    _SC_SS_REPL_MAX___369 = 241,
    _SC_TRACE_EVENT_NAME_MAX___369 = 242,
    _SC_TRACE_NAME_MAX___369 = 243,
    _SC_TRACE_SYS_MAX___369 = 244,
    _SC_TRACE_USER_EVENT_MAX___369 = 245,
    _SC_XOPEN_STREAMS___369 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___369 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___369 = 248
} ;
enum __anonenum_875524036___369 {
    _CS_PATH___369 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___369 = 1,
    _CS_GNU_LIBC_VERSION___369 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___369 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___369 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___369 = 5,
    _CS_LFS_CFLAGS___369 = 1000,
    _CS_LFS_LDFLAGS___369 = 1001,
    _CS_LFS_LIBS___369 = 1002,
    _CS_LFS_LINTFLAGS___369 = 1003,
    _CS_LFS64_CFLAGS___369 = 1004,
    _CS_LFS64_LDFLAGS___369 = 1005,
    _CS_LFS64_LIBS___369 = 1006,
    _CS_LFS64_LINTFLAGS___369 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___369 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___369 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___369 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___369 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___369 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___369 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___369 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___369 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___369 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___369 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___369 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___369 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___369 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___369 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___369 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___369 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___369 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___369 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___369 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___369 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___369 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___369 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___369 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___369 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___369 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___369 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___369 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___369 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___369 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___369 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___369 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___369 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___369 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___369 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___369 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___369 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___369 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___369 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___369 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___369 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___369 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___369 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___369 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___369 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___369 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___369 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___369 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___369 = 1147,
    _CS_V6_ENV___369 = 1148,
    _CS_V7_ENV___369 = 1149
} ;
enum __anonenum_513775621___369 {
    DT_UNKNOWN___369 = 0,
    DT_FIFO___369 = 1,
    DT_CHR___369 = 2,
    DT_DIR___369 = 4,
    DT_BLK___369 = 6,
    DT_REG___369 = 8,
    DT_LNK___369 = 10,
    DT_SOCK___369 = 12,
    DT_WHT___369 = 14
} ;
enum __anonenum_77002343___369 {
    SI_ASYNCNL___369 = -60,
    SI_TKILL___369 = -6,
    SI_SIGIO___369 = -5,
    SI_ASYNCIO___369 = -4,
    SI_MESGQ___369 = -3,
    SI_TIMER___369 = -2,
    SI_QUEUE___369 = -1,
    SI_USER___369 = 0,
    SI_KERNEL___369 = 128
} ;
enum __anonenum_131038172___369 {
    ILL_ILLOPC___369 = 1,
    ILL_ILLOPN___369 = 2,
    ILL_ILLADR___369 = 3,
    ILL_ILLTRP___369 = 4,
    ILL_PRVOPC___369 = 5,
    ILL_PRVREG___369 = 6,
    ILL_COPROC___369 = 7,
    ILL_BADSTK___369 = 8
} ;
enum __anonenum_452038093___369 {
    FPE_INTDIV___369 = 1,
    FPE_INTOVF___369 = 2,
    FPE_FLTDIV___369 = 3,
    FPE_FLTOVF___369 = 4,
    FPE_FLTUND___369 = 5,
    FPE_FLTRES___369 = 6,
    FPE_FLTINV___369 = 7,
    FPE_FLTSUB___369 = 8
} ;
enum __anonenum_30976155___369 {
    SEGV_MAPERR___369 = 1,
    SEGV_ACCERR___369 = 2,
    SEGV_BNDERR___369 = 3,
    SEGV_PKUERR___369 = 4
} ;
enum __anonenum_1036286214___369 {
    BUS_ADRALN___369 = 1,
    BUS_ADRERR___369 = 2,
    BUS_OBJERR___369 = 3,
    BUS_MCEERR_AR___369 = 4,
    BUS_MCEERR_AO___369 = 5
} ;
enum __anonenum_493465559___369 {
    TRAP_BRKPT___369 = 1,
    TRAP_TRACE___369 = 2
} ;
enum __anonenum_23175539___369 {
    CLD_EXITED___369 = 1,
    CLD_KILLED___369 = 2,
    CLD_DUMPED___369 = 3,
    CLD_TRAPPED___369 = 4,
    CLD_STOPPED___369 = 5,
    CLD_CONTINUED___369 = 6
} ;
enum __anonenum_111643124___369 {
    POLL_IN___369 = 1,
    POLL_OUT___369 = 2,
    POLL_MSG___369 = 3,
    POLL_ERR___369 = 4,
    POLL_PRI___369 = 5,
    POLL_HUP___369 = 6
} ;
enum __anonenum_852341087___369 {
    SIGEV_SIGNAL___369 = 0,
    SIGEV_NONE___369 = 1,
    SIGEV_THREAD___369 = 2,
    SIGEV_THREAD_ID___369 = 4
} ;
enum __anonenum_451154152___369 {
    REG_R8___369 = 0,
    REG_R9___369 = 1,
    REG_R10___369 = 2,
    REG_R11___369 = 3,
    REG_R12___369 = 4,
    REG_R13___369 = 5,
    REG_R14___369 = 6,
    REG_R15___369 = 7,
    REG_RDI___369 = 8,
    REG_RSI___369 = 9,
    REG_RBP___369 = 10,
    REG_RBX___369 = 11,
    REG_RDX___369 = 12,
    REG_RAX___369 = 13,
    REG_RCX___369 = 14,
    REG_RSP___369 = 15,
    REG_RIP___369 = 16,
    REG_EFL___369 = 17,
    REG_CSGSFS___369 = 18,
    REG_ERR___369 = 19,
    REG_TRAPNO___369 = 20,
    REG_OLDMASK___369 = 21,
    REG_CR2___369 = 22
} ;
enum __anonenum_57186863___369 {
    SS_ONSTACK___369 = 1,
    SS_DISABLE___369 = 2
} ;
enum __anonenum_83571709___369 {
    MSG_OOB___369 = 1,
    MSG_PEEK___369 = 2,
    MSG_DONTROUTE___369 = 4,
    MSG_TRYHARD___369 = 4,
    MSG_CTRUNC___369 = 8,
    MSG_PROXY___369 = 16,
    MSG_TRUNC___369 = 32,
    MSG_DONTWAIT___369 = 64,
    MSG_EOR___369 = 128,
    MSG_WAITALL___369 = 256,
    MSG_FIN___369 = 512,
    MSG_SYN___369 = 1024,
    MSG_CONFIRM___369 = 2048,
    MSG_RST___369 = 4096,
    MSG_ERRQUEUE___369 = 8192,
    MSG_NOSIGNAL___369 = 16384,
    MSG_MORE___369 = 32768,
    MSG_WAITFORONE___369 = 65536,
    MSG_BATCH___369 = 262144,
    MSG_ZEROCOPY___369 = 67108864,
    MSG_FASTOPEN___369 = 536870912,
    MSG_CMSG_CLOEXEC___369 = 1073741824
} ;
enum __anonenum_617082774___369 {
    SCM_RIGHTS___369 = 1,
    SCM_CREDENTIALS___369 = 2
} ;
enum __anonenum_606441560___369 {
    SHUT_RD___369 = 0,
    SHUT_WR___369 = 1,
    SHUT_RDWR___369 = 2
} ;
enum __anonenum_681669233___369 {
    IPPROTO_IP___369 = 0,
    IPPROTO_ICMP___369 = 1,
    IPPROTO_IGMP___369 = 2,
    IPPROTO_IPIP___369 = 4,
    IPPROTO_TCP___369 = 6,
    IPPROTO_EGP___369 = 8,
    IPPROTO_PUP___369 = 12,
    IPPROTO_UDP___369 = 17,
    IPPROTO_IDP___369 = 22,
    IPPROTO_TP___369 = 29,
    IPPROTO_DCCP___369 = 33,
    IPPROTO_IPV6___369 = 41,
    IPPROTO_RSVP___369 = 46,
    IPPROTO_GRE___369 = 47,
    IPPROTO_ESP___369 = 50,
    IPPROTO_AH___369 = 51,
    IPPROTO_MTP___369 = 92,
    IPPROTO_BEETPH___369 = 94,
    IPPROTO_ENCAP___369 = 98,
    IPPROTO_PIM___369 = 103,
    IPPROTO_COMP___369 = 108,
    IPPROTO_SCTP___369 = 132,
    IPPROTO_UDPLITE___369 = 136,
    IPPROTO_MPLS___369 = 137,
    IPPROTO_RAW___369 = 255,
    IPPROTO_MAX___369 = 256
} ;
enum __anonenum_218739988___369 {
    IPPROTO_HOPOPTS___369 = 0,
    IPPROTO_ROUTING___369 = 43,
    IPPROTO_FRAGMENT___369 = 44,
    IPPROTO_ICMPV6___369 = 58,
    IPPROTO_NONE___369 = 59,
    IPPROTO_DSTOPTS___369 = 60,
    IPPROTO_MH___369 = 135
} ;
enum __anonenum_662268580___369 {
    IPPORT_ECHO___369 = 7,
    IPPORT_DISCARD___369 = 9,
    IPPORT_SYSTAT___369 = 11,
    IPPORT_DAYTIME___369 = 13,
    IPPORT_NETSTAT___369 = 15,
    IPPORT_FTP___369 = 21,
    IPPORT_TELNET___369 = 23,
    IPPORT_SMTP___369 = 25,
    IPPORT_TIMESERVER___369 = 37,
    IPPORT_NAMESERVER___369 = 42,
    IPPORT_WHOIS___369 = 43,
    IPPORT_MTP___369 = 57,
    IPPORT_TFTP___369 = 69,
    IPPORT_RJE___369 = 77,
    IPPORT_FINGER___369 = 79,
    IPPORT_TTYLINK___369 = 87,
    IPPORT_SUPDUP___369 = 95,
    IPPORT_EXECSERVER___369 = 512,
    IPPORT_LOGINSERVER___369 = 513,
    IPPORT_CMDSERVER___369 = 514,
    IPPORT_EFSSERVER___369 = 520,
    IPPORT_BIFFUDP___369 = 512,
    IPPORT_WHOSERVER___369 = 513,
    IPPORT_ROUTESERVER___369 = 520,
    IPPORT_RESERVED___369 = 1024,
    IPPORT_USERRESERVED___369 = 5000
} ;
enum __anonenum_788308992___369 {
    TCP_ESTABLISHED___369 = 1,
    TCP_SYN_SENT___369 = 2,
    TCP_SYN_RECV___369 = 3,
    TCP_FIN_WAIT1___369 = 4,
    TCP_FIN_WAIT2___369 = 5,
    TCP_TIME_WAIT___369 = 6,
    TCP_CLOSE___369 = 7,
    TCP_CLOSE_WAIT___369 = 8,
    TCP_LAST_ACK___369 = 9,
    TCP_LISTEN___369 = 10,
    TCP_CLOSING___369 = 11
} ;
enum __anonenum_221125648___369 {
    TCP_NO_QUEUE___369 = 0,
    TCP_RECV_QUEUE___369 = 1,
    TCP_SEND_QUEUE___369 = 2,
    TCP_QUEUES_NR___369 = 3
} ;
enum __anonenum_34415463___369 {
    PTHREAD_CREATE_JOINABLE___369 = 0,
    PTHREAD_CREATE_DETACHED___369 = 1
} ;
enum __anonenum_303612439___369 {
    PTHREAD_MUTEX_TIMED_NP___369 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___369 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___369 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___369 = 3,
    PTHREAD_MUTEX_NORMAL___369 = 0,
    PTHREAD_MUTEX_RECURSIVE___369 = 1,
    PTHREAD_MUTEX_ERRORCHECK___369 = 2,
    PTHREAD_MUTEX_DEFAULT___369 = 0,
    PTHREAD_MUTEX_FAST_NP___369 = 0
} ;
enum __anonenum_931900394___369 {
    PTHREAD_MUTEX_STALLED___369 = 0,
    PTHREAD_MUTEX_STALLED_NP___369 = 0,
    PTHREAD_MUTEX_ROBUST___369 = 1,
    PTHREAD_MUTEX_ROBUST_NP___369 = 1
} ;
enum __anonenum_205214487___369 {
    PTHREAD_PRIO_NONE___369 = 0,
    PTHREAD_PRIO_INHERIT___369 = 1,
    PTHREAD_PRIO_PROTECT___369 = 2
} ;
enum __anonenum_25043950___369 {
    PTHREAD_RWLOCK_PREFER_READER_NP___369 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___369 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___369 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___369 = 0
} ;
enum __anonenum_436439511___369 {
    PTHREAD_INHERIT_SCHED___369 = 0,
    PTHREAD_EXPLICIT_SCHED___369 = 1
} ;
enum __anonenum_998661166___369 {
    PTHREAD_SCOPE_SYSTEM___369 = 0,
    PTHREAD_SCOPE_PROCESS___369 = 1
} ;
enum __anonenum_146137331___369 {
    PTHREAD_PROCESS_PRIVATE___369 = 0,
    PTHREAD_PROCESS_SHARED___369 = 1
} ;
enum __anonenum_53396917___369 {
    PTHREAD_CANCEL_ENABLE___369 = 0,
    PTHREAD_CANCEL_DISABLE___369 = 1
} ;
enum __anonenum_904563783___369 {
    PTHREAD_CANCEL_DEFERRED___369 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___369 = 1
} ;
enum __anonenum_672052974___369 {
    SSL_CT_VALIDATION_PERMISSIVE___369 = 0,
    SSL_CT_VALIDATION_STRICT___369 = 1
} ;
struct __anonstruct_entries_993874517 {
   struct object_id oid ;
   uint32_t crc ;
   uint32_t off ;
};
enum __anonenum_437032235___370 {
    _PC_LINK_MAX___370 = 0,
    _PC_MAX_CANON___370 = 1,
    _PC_MAX_INPUT___370 = 2,
    _PC_NAME_MAX___370 = 3,
    _PC_PATH_MAX___370 = 4,
    _PC_PIPE_BUF___370 = 5,
    _PC_CHOWN_RESTRICTED___370 = 6,
    _PC_NO_TRUNC___370 = 7,
    _PC_VDISABLE___370 = 8,
    _PC_SYNC_IO___370 = 9,
    _PC_ASYNC_IO___370 = 10,
    _PC_PRIO_IO___370 = 11,
    _PC_SOCK_MAXBUF___370 = 12,
    _PC_FILESIZEBITS___370 = 13,
    _PC_REC_INCR_XFER_SIZE___370 = 14,
    _PC_REC_MAX_XFER_SIZE___370 = 15,
    _PC_REC_MIN_XFER_SIZE___370 = 16,
    _PC_REC_XFER_ALIGN___370 = 17,
    _PC_ALLOC_SIZE_MIN___370 = 18,
    _PC_SYMLINK_MAX___370 = 19,
    _PC_2_SYMLINKS___370 = 20
} ;
enum __anonenum_315186338___370 {
    _SC_ARG_MAX___370 = 0,
    _SC_CHILD_MAX___370 = 1,
    _SC_CLK_TCK___370 = 2,
    _SC_NGROUPS_MAX___370 = 3,
    _SC_OPEN_MAX___370 = 4,
    _SC_STREAM_MAX___370 = 5,
    _SC_TZNAME_MAX___370 = 6,
    _SC_JOB_CONTROL___370 = 7,
    _SC_SAVED_IDS___370 = 8,
    _SC_REALTIME_SIGNALS___370 = 9,
    _SC_PRIORITY_SCHEDULING___370 = 10,
    _SC_TIMERS___370 = 11,
    _SC_ASYNCHRONOUS_IO___370 = 12,
    _SC_PRIORITIZED_IO___370 = 13,
    _SC_SYNCHRONIZED_IO___370 = 14,
    _SC_FSYNC___370 = 15,
    _SC_MAPPED_FILES___370 = 16,
    _SC_MEMLOCK___370 = 17,
    _SC_MEMLOCK_RANGE___370 = 18,
    _SC_MEMORY_PROTECTION___370 = 19,
    _SC_MESSAGE_PASSING___370 = 20,
    _SC_SEMAPHORES___370 = 21,
    _SC_SHARED_MEMORY_OBJECTS___370 = 22,
    _SC_AIO_LISTIO_MAX___370 = 23,
    _SC_AIO_MAX___370 = 24,
    _SC_AIO_PRIO_DELTA_MAX___370 = 25,
    _SC_DELAYTIMER_MAX___370 = 26,
    _SC_MQ_OPEN_MAX___370 = 27,
    _SC_MQ_PRIO_MAX___370 = 28,
    _SC_VERSION___370 = 29,
    _SC_PAGESIZE___370 = 30,
    _SC_RTSIG_MAX___370 = 31,
    _SC_SEM_NSEMS_MAX___370 = 32,
    _SC_SEM_VALUE_MAX___370 = 33,
    _SC_SIGQUEUE_MAX___370 = 34,
    _SC_TIMER_MAX___370 = 35,
    _SC_BC_BASE_MAX___370 = 36,
    _SC_BC_DIM_MAX___370 = 37,
    _SC_BC_SCALE_MAX___370 = 38,
    _SC_BC_STRING_MAX___370 = 39,
    _SC_COLL_WEIGHTS_MAX___370 = 40,
    _SC_EQUIV_CLASS_MAX___370 = 41,
    _SC_EXPR_NEST_MAX___370 = 42,
    _SC_LINE_MAX___370 = 43,
    _SC_RE_DUP_MAX___370 = 44,
    _SC_CHARCLASS_NAME_MAX___370 = 45,
    _SC_2_VERSION___370 = 46,
    _SC_2_C_BIND___370 = 47,
    _SC_2_C_DEV___370 = 48,
    _SC_2_FORT_DEV___370 = 49,
    _SC_2_FORT_RUN___370 = 50,
    _SC_2_SW_DEV___370 = 51,
    _SC_2_LOCALEDEF___370 = 52,
    _SC_PII___370 = 53,
    _SC_PII_XTI___370 = 54,
    _SC_PII_SOCKET___370 = 55,
    _SC_PII_INTERNET___370 = 56,
    _SC_PII_OSI___370 = 57,
    _SC_POLL___370 = 58,
    _SC_SELECT___370 = 59,
    _SC_UIO_MAXIOV___370 = 60,
    _SC_IOV_MAX___370 = 60,
    _SC_PII_INTERNET_STREAM___370 = 61,
    _SC_PII_INTERNET_DGRAM___370 = 62,
    _SC_PII_OSI_COTS___370 = 63,
    _SC_PII_OSI_CLTS___370 = 64,
    _SC_PII_OSI_M___370 = 65,
    _SC_T_IOV_MAX___370 = 66,
    _SC_THREADS___370 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___370 = 68,
    _SC_GETGR_R_SIZE_MAX___370 = 69,
    _SC_GETPW_R_SIZE_MAX___370 = 70,
    _SC_LOGIN_NAME_MAX___370 = 71,
    _SC_TTY_NAME_MAX___370 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___370 = 73,
    _SC_THREAD_KEYS_MAX___370 = 74,
    _SC_THREAD_STACK_MIN___370 = 75,
    _SC_THREAD_THREADS_MAX___370 = 76,
    _SC_THREAD_ATTR_STACKADDR___370 = 77,
    _SC_THREAD_ATTR_STACKSIZE___370 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___370 = 79,
    _SC_THREAD_PRIO_INHERIT___370 = 80,
    _SC_THREAD_PRIO_PROTECT___370 = 81,
    _SC_THREAD_PROCESS_SHARED___370 = 82,
    _SC_NPROCESSORS_CONF___370 = 83,
    _SC_NPROCESSORS_ONLN___370 = 84,
    _SC_PHYS_PAGES___370 = 85,
    _SC_AVPHYS_PAGES___370 = 86,
    _SC_ATEXIT_MAX___370 = 87,
    _SC_PASS_MAX___370 = 88,
    _SC_XOPEN_VERSION___370 = 89,
    _SC_XOPEN_XCU_VERSION___370 = 90,
    _SC_XOPEN_UNIX___370 = 91,
    _SC_XOPEN_CRYPT___370 = 92,
    _SC_XOPEN_ENH_I18N___370 = 93,
    _SC_XOPEN_SHM___370 = 94,
    _SC_2_CHAR_TERM___370 = 95,
    _SC_2_C_VERSION___370 = 96,
    _SC_2_UPE___370 = 97,
    _SC_XOPEN_XPG2___370 = 98,
    _SC_XOPEN_XPG3___370 = 99,
    _SC_XOPEN_XPG4___370 = 100,
    _SC_CHAR_BIT___370 = 101,
    _SC_CHAR_MAX___370 = 102,
    _SC_CHAR_MIN___370 = 103,
    _SC_INT_MAX___370 = 104,
    _SC_INT_MIN___370 = 105,
    _SC_LONG_BIT___370 = 106,
    _SC_WORD_BIT___370 = 107,
    _SC_MB_LEN_MAX___370 = 108,
    _SC_NZERO___370 = 109,
    _SC_SSIZE_MAX___370 = 110,
    _SC_SCHAR_MAX___370 = 111,
    _SC_SCHAR_MIN___370 = 112,
    _SC_SHRT_MAX___370 = 113,
    _SC_SHRT_MIN___370 = 114,
    _SC_UCHAR_MAX___370 = 115,
    _SC_UINT_MAX___370 = 116,
    _SC_ULONG_MAX___370 = 117,
    _SC_USHRT_MAX___370 = 118,
    _SC_NL_ARGMAX___370 = 119,
    _SC_NL_LANGMAX___370 = 120,
    _SC_NL_MSGMAX___370 = 121,
    _SC_NL_NMAX___370 = 122,
    _SC_NL_SETMAX___370 = 123,
    _SC_NL_TEXTMAX___370 = 124,
    _SC_XBS5_ILP32_OFF32___370 = 125,
    _SC_XBS5_ILP32_OFFBIG___370 = 126,
    _SC_XBS5_LP64_OFF64___370 = 127,
    _SC_XBS5_LPBIG_OFFBIG___370 = 128,
    _SC_XOPEN_LEGACY___370 = 129,
    _SC_XOPEN_REALTIME___370 = 130,
    _SC_XOPEN_REALTIME_THREADS___370 = 131,
    _SC_ADVISORY_INFO___370 = 132,
    _SC_BARRIERS___370 = 133,
    _SC_BASE___370 = 134,
    _SC_C_LANG_SUPPORT___370 = 135,
    _SC_C_LANG_SUPPORT_R___370 = 136,
    _SC_CLOCK_SELECTION___370 = 137,
    _SC_CPUTIME___370 = 138,
    _SC_THREAD_CPUTIME___370 = 139,
    _SC_DEVICE_IO___370 = 140,
    _SC_DEVICE_SPECIFIC___370 = 141,
    _SC_DEVICE_SPECIFIC_R___370 = 142,
    _SC_FD_MGMT___370 = 143,
    _SC_FIFO___370 = 144,
    _SC_PIPE___370 = 145,
    _SC_FILE_ATTRIBUTES___370 = 146,
    _SC_FILE_LOCKING___370 = 147,
    _SC_FILE_SYSTEM___370 = 148,
    _SC_MONOTONIC_CLOCK___370 = 149,
    _SC_MULTI_PROCESS___370 = 150,
    _SC_SINGLE_PROCESS___370 = 151,
    _SC_NETWORKING___370 = 152,
    _SC_READER_WRITER_LOCKS___370 = 153,
    _SC_SPIN_LOCKS___370 = 154,
    _SC_REGEXP___370 = 155,
    _SC_REGEX_VERSION___370 = 156,
    _SC_SHELL___370 = 157,
    _SC_SIGNALS___370 = 158,
    _SC_SPAWN___370 = 159,
    _SC_SPORADIC_SERVER___370 = 160,
    _SC_THREAD_SPORADIC_SERVER___370 = 161,
    _SC_SYSTEM_DATABASE___370 = 162,
    _SC_SYSTEM_DATABASE_R___370 = 163,
    _SC_TIMEOUTS___370 = 164,
    _SC_TYPED_MEMORY_OBJECTS___370 = 165,
    _SC_USER_GROUPS___370 = 166,
    _SC_USER_GROUPS_R___370 = 167,
    _SC_2_PBS___370 = 168,
    _SC_2_PBS_ACCOUNTING___370 = 169,
    _SC_2_PBS_LOCATE___370 = 170,
    _SC_2_PBS_MESSAGE___370 = 171,
    _SC_2_PBS_TRACK___370 = 172,
    _SC_SYMLOOP_MAX___370 = 173,
    _SC_STREAMS___370 = 174,
    _SC_2_PBS_CHECKPOINT___370 = 175,
    _SC_V6_ILP32_OFF32___370 = 176,
    _SC_V6_ILP32_OFFBIG___370 = 177,
    _SC_V6_LP64_OFF64___370 = 178,
    _SC_V6_LPBIG_OFFBIG___370 = 179,
    _SC_HOST_NAME_MAX___370 = 180,
    _SC_TRACE___370 = 181,
    _SC_TRACE_EVENT_FILTER___370 = 182,
    _SC_TRACE_INHERIT___370 = 183,
    _SC_TRACE_LOG___370 = 184,
    _SC_LEVEL1_ICACHE_SIZE___370 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___370 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___370 = 187,
    _SC_LEVEL1_DCACHE_SIZE___370 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___370 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___370 = 190,
    _SC_LEVEL2_CACHE_SIZE___370 = 191,
    _SC_LEVEL2_CACHE_ASSOC___370 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___370 = 193,
    _SC_LEVEL3_CACHE_SIZE___370 = 194,
    _SC_LEVEL3_CACHE_ASSOC___370 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___370 = 196,
    _SC_LEVEL4_CACHE_SIZE___370 = 197,
    _SC_LEVEL4_CACHE_ASSOC___370 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___370 = 199,
    _SC_IPV6___370 = 235,
    _SC_RAW_SOCKETS___370 = 236,
    _SC_V7_ILP32_OFF32___370 = 237,
    _SC_V7_ILP32_OFFBIG___370 = 238,
    _SC_V7_LP64_OFF64___370 = 239,
    _SC_V7_LPBIG_OFFBIG___370 = 240,
    _SC_SS_REPL_MAX___370 = 241,
    _SC_TRACE_EVENT_NAME_MAX___370 = 242,
    _SC_TRACE_NAME_MAX___370 = 243,
    _SC_TRACE_SYS_MAX___370 = 244,
    _SC_TRACE_USER_EVENT_MAX___370 = 245,
    _SC_XOPEN_STREAMS___370 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___370 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___370 = 248
} ;
enum __anonenum_875524036___370 {
    _CS_PATH___370 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___370 = 1,
    _CS_GNU_LIBC_VERSION___370 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___370 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___370 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___370 = 5,
    _CS_LFS_CFLAGS___370 = 1000,
    _CS_LFS_LDFLAGS___370 = 1001,
    _CS_LFS_LIBS___370 = 1002,
    _CS_LFS_LINTFLAGS___370 = 1003,
    _CS_LFS64_CFLAGS___370 = 1004,
    _CS_LFS64_LDFLAGS___370 = 1005,
    _CS_LFS64_LIBS___370 = 1006,
    _CS_LFS64_LINTFLAGS___370 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___370 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___370 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___370 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___370 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___370 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___370 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___370 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___370 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___370 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___370 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___370 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___370 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___370 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___370 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___370 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___370 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___370 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___370 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___370 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___370 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___370 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___370 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___370 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___370 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___370 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___370 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___370 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___370 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___370 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___370 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___370 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___370 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___370 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___370 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___370 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___370 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___370 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___370 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___370 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___370 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___370 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___370 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___370 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___370 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___370 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___370 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___370 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___370 = 1147,
    _CS_V6_ENV___370 = 1148,
    _CS_V7_ENV___370 = 1149
} ;
enum __anonenum_513775621___370 {
    DT_UNKNOWN___370 = 0,
    DT_FIFO___370 = 1,
    DT_CHR___370 = 2,
    DT_DIR___370 = 4,
    DT_BLK___370 = 6,
    DT_REG___370 = 8,
    DT_LNK___370 = 10,
    DT_SOCK___370 = 12,
    DT_WHT___370 = 14
} ;
enum __anonenum_77002343___370 {
    SI_ASYNCNL___370 = -60,
    SI_TKILL___370 = -6,
    SI_SIGIO___370 = -5,
    SI_ASYNCIO___370 = -4,
    SI_MESGQ___370 = -3,
    SI_TIMER___370 = -2,
    SI_QUEUE___370 = -1,
    SI_USER___370 = 0,
    SI_KERNEL___370 = 128
} ;
enum __anonenum_131038172___370 {
    ILL_ILLOPC___370 = 1,
    ILL_ILLOPN___370 = 2,
    ILL_ILLADR___370 = 3,
    ILL_ILLTRP___370 = 4,
    ILL_PRVOPC___370 = 5,
    ILL_PRVREG___370 = 6,
    ILL_COPROC___370 = 7,
    ILL_BADSTK___370 = 8
} ;
enum __anonenum_452038093___370 {
    FPE_INTDIV___370 = 1,
    FPE_INTOVF___370 = 2,
    FPE_FLTDIV___370 = 3,
    FPE_FLTOVF___370 = 4,
    FPE_FLTUND___370 = 5,
    FPE_FLTRES___370 = 6,
    FPE_FLTINV___370 = 7,
    FPE_FLTSUB___370 = 8
} ;
enum __anonenum_30976155___370 {
    SEGV_MAPERR___370 = 1,
    SEGV_ACCERR___370 = 2,
    SEGV_BNDERR___370 = 3,
    SEGV_PKUERR___370 = 4
} ;
enum __anonenum_1036286214___370 {
    BUS_ADRALN___370 = 1,
    BUS_ADRERR___370 = 2,
    BUS_OBJERR___370 = 3,
    BUS_MCEERR_AR___370 = 4,
    BUS_MCEERR_AO___370 = 5
} ;
enum __anonenum_493465559___370 {
    TRAP_BRKPT___370 = 1,
    TRAP_TRACE___370 = 2
} ;
enum __anonenum_23175539___370 {
    CLD_EXITED___370 = 1,
    CLD_KILLED___370 = 2,
    CLD_DUMPED___370 = 3,
    CLD_TRAPPED___370 = 4,
    CLD_STOPPED___370 = 5,
    CLD_CONTINUED___370 = 6
} ;
enum __anonenum_111643124___370 {
    POLL_IN___370 = 1,
    POLL_OUT___370 = 2,
    POLL_MSG___370 = 3,
    POLL_ERR___370 = 4,
    POLL_PRI___370 = 5,
    POLL_HUP___370 = 6
} ;
enum __anonenum_852341087___370 {
    SIGEV_SIGNAL___370 = 0,
    SIGEV_NONE___370 = 1,
    SIGEV_THREAD___370 = 2,
    SIGEV_THREAD_ID___370 = 4
} ;
enum __anonenum_451154152___370 {
    REG_R8___370 = 0,
    REG_R9___370 = 1,
    REG_R10___370 = 2,
    REG_R11___370 = 3,
    REG_R12___370 = 4,
    REG_R13___370 = 5,
    REG_R14___370 = 6,
    REG_R15___370 = 7,
    REG_RDI___370 = 8,
    REG_RSI___370 = 9,
    REG_RBP___370 = 10,
    REG_RBX___370 = 11,
    REG_RDX___370 = 12,
    REG_RAX___370 = 13,
    REG_RCX___370 = 14,
    REG_RSP___370 = 15,
    REG_RIP___370 = 16,
    REG_EFL___370 = 17,
    REG_CSGSFS___370 = 18,
    REG_ERR___370 = 19,
    REG_TRAPNO___370 = 20,
    REG_OLDMASK___370 = 21,
    REG_CR2___370 = 22
} ;
enum __anonenum_57186863___370 {
    SS_ONSTACK___370 = 1,
    SS_DISABLE___370 = 2
} ;
enum __anonenum_83571709___370 {
    MSG_OOB___370 = 1,
    MSG_PEEK___370 = 2,
    MSG_DONTROUTE___370 = 4,
    MSG_TRYHARD___370 = 4,
    MSG_CTRUNC___370 = 8,
    MSG_PROXY___370 = 16,
    MSG_TRUNC___370 = 32,
    MSG_DONTWAIT___370 = 64,
    MSG_EOR___370 = 128,
    MSG_WAITALL___370 = 256,
    MSG_FIN___370 = 512,
    MSG_SYN___370 = 1024,
    MSG_CONFIRM___370 = 2048,
    MSG_RST___370 = 4096,
    MSG_ERRQUEUE___370 = 8192,
    MSG_NOSIGNAL___370 = 16384,
    MSG_MORE___370 = 32768,
    MSG_WAITFORONE___370 = 65536,
    MSG_BATCH___370 = 262144,
    MSG_ZEROCOPY___370 = 67108864,
    MSG_FASTOPEN___370 = 536870912,
    MSG_CMSG_CLOEXEC___370 = 1073741824
} ;
enum __anonenum_617082774___370 {
    SCM_RIGHTS___370 = 1,
    SCM_CREDENTIALS___370 = 2
} ;
enum __anonenum_606441560___370 {
    SHUT_RD___370 = 0,
    SHUT_WR___370 = 1,
    SHUT_RDWR___370 = 2
} ;
enum __anonenum_681669233___370 {
    IPPROTO_IP___370 = 0,
    IPPROTO_ICMP___370 = 1,
    IPPROTO_IGMP___370 = 2,
    IPPROTO_IPIP___370 = 4,
    IPPROTO_TCP___370 = 6,
    IPPROTO_EGP___370 = 8,
    IPPROTO_PUP___370 = 12,
    IPPROTO_UDP___370 = 17,
    IPPROTO_IDP___370 = 22,
    IPPROTO_TP___370 = 29,
    IPPROTO_DCCP___370 = 33,
    IPPROTO_IPV6___370 = 41,
    IPPROTO_RSVP___370 = 46,
    IPPROTO_GRE___370 = 47,
    IPPROTO_ESP___370 = 50,
    IPPROTO_AH___370 = 51,
    IPPROTO_MTP___370 = 92,
    IPPROTO_BEETPH___370 = 94,
    IPPROTO_ENCAP___370 = 98,
    IPPROTO_PIM___370 = 103,
    IPPROTO_COMP___370 = 108,
    IPPROTO_SCTP___370 = 132,
    IPPROTO_UDPLITE___370 = 136,
    IPPROTO_MPLS___370 = 137,
    IPPROTO_RAW___370 = 255,
    IPPROTO_MAX___370 = 256
} ;
enum __anonenum_218739988___370 {
    IPPROTO_HOPOPTS___370 = 0,
    IPPROTO_ROUTING___370 = 43,
    IPPROTO_FRAGMENT___370 = 44,
    IPPROTO_ICMPV6___370 = 58,
    IPPROTO_NONE___370 = 59,
    IPPROTO_DSTOPTS___370 = 60,
    IPPROTO_MH___370 = 135
} ;
enum __anonenum_662268580___370 {
    IPPORT_ECHO___370 = 7,
    IPPORT_DISCARD___370 = 9,
    IPPORT_SYSTAT___370 = 11,
    IPPORT_DAYTIME___370 = 13,
    IPPORT_NETSTAT___370 = 15,
    IPPORT_FTP___370 = 21,
    IPPORT_TELNET___370 = 23,
    IPPORT_SMTP___370 = 25,
    IPPORT_TIMESERVER___370 = 37,
    IPPORT_NAMESERVER___370 = 42,
    IPPORT_WHOIS___370 = 43,
    IPPORT_MTP___370 = 57,
    IPPORT_TFTP___370 = 69,
    IPPORT_RJE___370 = 77,
    IPPORT_FINGER___370 = 79,
    IPPORT_TTYLINK___370 = 87,
    IPPORT_SUPDUP___370 = 95,
    IPPORT_EXECSERVER___370 = 512,
    IPPORT_LOGINSERVER___370 = 513,
    IPPORT_CMDSERVER___370 = 514,
    IPPORT_EFSSERVER___370 = 520,
    IPPORT_BIFFUDP___370 = 512,
    IPPORT_WHOSERVER___370 = 513,
    IPPORT_ROUTESERVER___370 = 520,
    IPPORT_RESERVED___370 = 1024,
    IPPORT_USERRESERVED___370 = 5000
} ;
enum __anonenum_788308992___370 {
    TCP_ESTABLISHED___370 = 1,
    TCP_SYN_SENT___370 = 2,
    TCP_SYN_RECV___370 = 3,
    TCP_FIN_WAIT1___370 = 4,
    TCP_FIN_WAIT2___370 = 5,
    TCP_TIME_WAIT___370 = 6,
    TCP_CLOSE___370 = 7,
    TCP_CLOSE_WAIT___370 = 8,
    TCP_LAST_ACK___370 = 9,
    TCP_LISTEN___370 = 10,
    TCP_CLOSING___370 = 11
} ;
enum __anonenum_221125648___370 {
    TCP_NO_QUEUE___370 = 0,
    TCP_RECV_QUEUE___370 = 1,
    TCP_SEND_QUEUE___370 = 2,
    TCP_QUEUES_NR___370 = 3
} ;
enum __anonenum_34415463___370 {
    PTHREAD_CREATE_JOINABLE___370 = 0,
    PTHREAD_CREATE_DETACHED___370 = 1
} ;
enum __anonenum_303612439___370 {
    PTHREAD_MUTEX_TIMED_NP___370 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___370 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___370 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___370 = 3,
    PTHREAD_MUTEX_NORMAL___370 = 0,
    PTHREAD_MUTEX_RECURSIVE___370 = 1,
    PTHREAD_MUTEX_ERRORCHECK___370 = 2,
    PTHREAD_MUTEX_DEFAULT___370 = 0,
    PTHREAD_MUTEX_FAST_NP___370 = 0
} ;
enum __anonenum_931900394___370 {
    PTHREAD_MUTEX_STALLED___370 = 0,
    PTHREAD_MUTEX_STALLED_NP___370 = 0,
    PTHREAD_MUTEX_ROBUST___370 = 1,
    PTHREAD_MUTEX_ROBUST_NP___370 = 1
} ;
enum __anonenum_205214487___370 {
    PTHREAD_PRIO_NONE___370 = 0,
    PTHREAD_PRIO_INHERIT___370 = 1,
    PTHREAD_PRIO_PROTECT___370 = 2
} ;
enum __anonenum_25043950___370 {
    PTHREAD_RWLOCK_PREFER_READER_NP___370 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___370 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___370 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___370 = 0
} ;
enum __anonenum_436439511___370 {
    PTHREAD_INHERIT_SCHED___370 = 0,
    PTHREAD_EXPLICIT_SCHED___370 = 1
} ;
enum __anonenum_998661166___370 {
    PTHREAD_SCOPE_SYSTEM___370 = 0,
    PTHREAD_SCOPE_PROCESS___370 = 1
} ;
enum __anonenum_146137331___370 {
    PTHREAD_PROCESS_PRIVATE___370 = 0,
    PTHREAD_PROCESS_SHARED___370 = 1
} ;
enum __anonenum_53396917___370 {
    PTHREAD_CANCEL_ENABLE___370 = 0,
    PTHREAD_CANCEL_DISABLE___370 = 1
} ;
enum __anonenum_904563783___370 {
    PTHREAD_CANCEL_DEFERRED___370 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___370 = 1
} ;
enum __anonenum_672052974___370 {
    SSL_CT_VALIDATION_PERMISSIVE___370 = 0,
    SSL_CT_VALIDATION_STRICT___370 = 1
} ;
enum __anonenum_437032235___371 {
    _PC_LINK_MAX___371 = 0,
    _PC_MAX_CANON___371 = 1,
    _PC_MAX_INPUT___371 = 2,
    _PC_NAME_MAX___371 = 3,
    _PC_PATH_MAX___371 = 4,
    _PC_PIPE_BUF___371 = 5,
    _PC_CHOWN_RESTRICTED___371 = 6,
    _PC_NO_TRUNC___371 = 7,
    _PC_VDISABLE___371 = 8,
    _PC_SYNC_IO___371 = 9,
    _PC_ASYNC_IO___371 = 10,
    _PC_PRIO_IO___371 = 11,
    _PC_SOCK_MAXBUF___371 = 12,
    _PC_FILESIZEBITS___371 = 13,
    _PC_REC_INCR_XFER_SIZE___371 = 14,
    _PC_REC_MAX_XFER_SIZE___371 = 15,
    _PC_REC_MIN_XFER_SIZE___371 = 16,
    _PC_REC_XFER_ALIGN___371 = 17,
    _PC_ALLOC_SIZE_MIN___371 = 18,
    _PC_SYMLINK_MAX___371 = 19,
    _PC_2_SYMLINKS___371 = 20
} ;
enum __anonenum_315186338___371 {
    _SC_ARG_MAX___371 = 0,
    _SC_CHILD_MAX___371 = 1,
    _SC_CLK_TCK___371 = 2,
    _SC_NGROUPS_MAX___371 = 3,
    _SC_OPEN_MAX___371 = 4,
    _SC_STREAM_MAX___371 = 5,
    _SC_TZNAME_MAX___371 = 6,
    _SC_JOB_CONTROL___371 = 7,
    _SC_SAVED_IDS___371 = 8,
    _SC_REALTIME_SIGNALS___371 = 9,
    _SC_PRIORITY_SCHEDULING___371 = 10,
    _SC_TIMERS___371 = 11,
    _SC_ASYNCHRONOUS_IO___371 = 12,
    _SC_PRIORITIZED_IO___371 = 13,
    _SC_SYNCHRONIZED_IO___371 = 14,
    _SC_FSYNC___371 = 15,
    _SC_MAPPED_FILES___371 = 16,
    _SC_MEMLOCK___371 = 17,
    _SC_MEMLOCK_RANGE___371 = 18,
    _SC_MEMORY_PROTECTION___371 = 19,
    _SC_MESSAGE_PASSING___371 = 20,
    _SC_SEMAPHORES___371 = 21,
    _SC_SHARED_MEMORY_OBJECTS___371 = 22,
    _SC_AIO_LISTIO_MAX___371 = 23,
    _SC_AIO_MAX___371 = 24,
    _SC_AIO_PRIO_DELTA_MAX___371 = 25,
    _SC_DELAYTIMER_MAX___371 = 26,
    _SC_MQ_OPEN_MAX___371 = 27,
    _SC_MQ_PRIO_MAX___371 = 28,
    _SC_VERSION___371 = 29,
    _SC_PAGESIZE___371 = 30,
    _SC_RTSIG_MAX___371 = 31,
    _SC_SEM_NSEMS_MAX___371 = 32,
    _SC_SEM_VALUE_MAX___371 = 33,
    _SC_SIGQUEUE_MAX___371 = 34,
    _SC_TIMER_MAX___371 = 35,
    _SC_BC_BASE_MAX___371 = 36,
    _SC_BC_DIM_MAX___371 = 37,
    _SC_BC_SCALE_MAX___371 = 38,
    _SC_BC_STRING_MAX___371 = 39,
    _SC_COLL_WEIGHTS_MAX___371 = 40,
    _SC_EQUIV_CLASS_MAX___371 = 41,
    _SC_EXPR_NEST_MAX___371 = 42,
    _SC_LINE_MAX___371 = 43,
    _SC_RE_DUP_MAX___371 = 44,
    _SC_CHARCLASS_NAME_MAX___371 = 45,
    _SC_2_VERSION___371 = 46,
    _SC_2_C_BIND___371 = 47,
    _SC_2_C_DEV___371 = 48,
    _SC_2_FORT_DEV___371 = 49,
    _SC_2_FORT_RUN___371 = 50,
    _SC_2_SW_DEV___371 = 51,
    _SC_2_LOCALEDEF___371 = 52,
    _SC_PII___371 = 53,
    _SC_PII_XTI___371 = 54,
    _SC_PII_SOCKET___371 = 55,
    _SC_PII_INTERNET___371 = 56,
    _SC_PII_OSI___371 = 57,
    _SC_POLL___371 = 58,
    _SC_SELECT___371 = 59,
    _SC_UIO_MAXIOV___371 = 60,
    _SC_IOV_MAX___371 = 60,
    _SC_PII_INTERNET_STREAM___371 = 61,
    _SC_PII_INTERNET_DGRAM___371 = 62,
    _SC_PII_OSI_COTS___371 = 63,
    _SC_PII_OSI_CLTS___371 = 64,
    _SC_PII_OSI_M___371 = 65,
    _SC_T_IOV_MAX___371 = 66,
    _SC_THREADS___371 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___371 = 68,
    _SC_GETGR_R_SIZE_MAX___371 = 69,
    _SC_GETPW_R_SIZE_MAX___371 = 70,
    _SC_LOGIN_NAME_MAX___371 = 71,
    _SC_TTY_NAME_MAX___371 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___371 = 73,
    _SC_THREAD_KEYS_MAX___371 = 74,
    _SC_THREAD_STACK_MIN___371 = 75,
    _SC_THREAD_THREADS_MAX___371 = 76,
    _SC_THREAD_ATTR_STACKADDR___371 = 77,
    _SC_THREAD_ATTR_STACKSIZE___371 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___371 = 79,
    _SC_THREAD_PRIO_INHERIT___371 = 80,
    _SC_THREAD_PRIO_PROTECT___371 = 81,
    _SC_THREAD_PROCESS_SHARED___371 = 82,
    _SC_NPROCESSORS_CONF___371 = 83,
    _SC_NPROCESSORS_ONLN___371 = 84,
    _SC_PHYS_PAGES___371 = 85,
    _SC_AVPHYS_PAGES___371 = 86,
    _SC_ATEXIT_MAX___371 = 87,
    _SC_PASS_MAX___371 = 88,
    _SC_XOPEN_VERSION___371 = 89,
    _SC_XOPEN_XCU_VERSION___371 = 90,
    _SC_XOPEN_UNIX___371 = 91,
    _SC_XOPEN_CRYPT___371 = 92,
    _SC_XOPEN_ENH_I18N___371 = 93,
    _SC_XOPEN_SHM___371 = 94,
    _SC_2_CHAR_TERM___371 = 95,
    _SC_2_C_VERSION___371 = 96,
    _SC_2_UPE___371 = 97,
    _SC_XOPEN_XPG2___371 = 98,
    _SC_XOPEN_XPG3___371 = 99,
    _SC_XOPEN_XPG4___371 = 100,
    _SC_CHAR_BIT___371 = 101,
    _SC_CHAR_MAX___371 = 102,
    _SC_CHAR_MIN___371 = 103,
    _SC_INT_MAX___371 = 104,
    _SC_INT_MIN___371 = 105,
    _SC_LONG_BIT___371 = 106,
    _SC_WORD_BIT___371 = 107,
    _SC_MB_LEN_MAX___371 = 108,
    _SC_NZERO___371 = 109,
    _SC_SSIZE_MAX___371 = 110,
    _SC_SCHAR_MAX___371 = 111,
    _SC_SCHAR_MIN___371 = 112,
    _SC_SHRT_MAX___371 = 113,
    _SC_SHRT_MIN___371 = 114,
    _SC_UCHAR_MAX___371 = 115,
    _SC_UINT_MAX___371 = 116,
    _SC_ULONG_MAX___371 = 117,
    _SC_USHRT_MAX___371 = 118,
    _SC_NL_ARGMAX___371 = 119,
    _SC_NL_LANGMAX___371 = 120,
    _SC_NL_MSGMAX___371 = 121,
    _SC_NL_NMAX___371 = 122,
    _SC_NL_SETMAX___371 = 123,
    _SC_NL_TEXTMAX___371 = 124,
    _SC_XBS5_ILP32_OFF32___371 = 125,
    _SC_XBS5_ILP32_OFFBIG___371 = 126,
    _SC_XBS5_LP64_OFF64___371 = 127,
    _SC_XBS5_LPBIG_OFFBIG___371 = 128,
    _SC_XOPEN_LEGACY___371 = 129,
    _SC_XOPEN_REALTIME___371 = 130,
    _SC_XOPEN_REALTIME_THREADS___371 = 131,
    _SC_ADVISORY_INFO___371 = 132,
    _SC_BARRIERS___371 = 133,
    _SC_BASE___371 = 134,
    _SC_C_LANG_SUPPORT___371 = 135,
    _SC_C_LANG_SUPPORT_R___371 = 136,
    _SC_CLOCK_SELECTION___371 = 137,
    _SC_CPUTIME___371 = 138,
    _SC_THREAD_CPUTIME___371 = 139,
    _SC_DEVICE_IO___371 = 140,
    _SC_DEVICE_SPECIFIC___371 = 141,
    _SC_DEVICE_SPECIFIC_R___371 = 142,
    _SC_FD_MGMT___371 = 143,
    _SC_FIFO___371 = 144,
    _SC_PIPE___371 = 145,
    _SC_FILE_ATTRIBUTES___371 = 146,
    _SC_FILE_LOCKING___371 = 147,
    _SC_FILE_SYSTEM___371 = 148,
    _SC_MONOTONIC_CLOCK___371 = 149,
    _SC_MULTI_PROCESS___371 = 150,
    _SC_SINGLE_PROCESS___371 = 151,
    _SC_NETWORKING___371 = 152,
    _SC_READER_WRITER_LOCKS___371 = 153,
    _SC_SPIN_LOCKS___371 = 154,
    _SC_REGEXP___371 = 155,
    _SC_REGEX_VERSION___371 = 156,
    _SC_SHELL___371 = 157,
    _SC_SIGNALS___371 = 158,
    _SC_SPAWN___371 = 159,
    _SC_SPORADIC_SERVER___371 = 160,
    _SC_THREAD_SPORADIC_SERVER___371 = 161,
    _SC_SYSTEM_DATABASE___371 = 162,
    _SC_SYSTEM_DATABASE_R___371 = 163,
    _SC_TIMEOUTS___371 = 164,
    _SC_TYPED_MEMORY_OBJECTS___371 = 165,
    _SC_USER_GROUPS___371 = 166,
    _SC_USER_GROUPS_R___371 = 167,
    _SC_2_PBS___371 = 168,
    _SC_2_PBS_ACCOUNTING___371 = 169,
    _SC_2_PBS_LOCATE___371 = 170,
    _SC_2_PBS_MESSAGE___371 = 171,
    _SC_2_PBS_TRACK___371 = 172,
    _SC_SYMLOOP_MAX___371 = 173,
    _SC_STREAMS___371 = 174,
    _SC_2_PBS_CHECKPOINT___371 = 175,
    _SC_V6_ILP32_OFF32___371 = 176,
    _SC_V6_ILP32_OFFBIG___371 = 177,
    _SC_V6_LP64_OFF64___371 = 178,
    _SC_V6_LPBIG_OFFBIG___371 = 179,
    _SC_HOST_NAME_MAX___371 = 180,
    _SC_TRACE___371 = 181,
    _SC_TRACE_EVENT_FILTER___371 = 182,
    _SC_TRACE_INHERIT___371 = 183,
    _SC_TRACE_LOG___371 = 184,
    _SC_LEVEL1_ICACHE_SIZE___371 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___371 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___371 = 187,
    _SC_LEVEL1_DCACHE_SIZE___371 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___371 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___371 = 190,
    _SC_LEVEL2_CACHE_SIZE___371 = 191,
    _SC_LEVEL2_CACHE_ASSOC___371 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___371 = 193,
    _SC_LEVEL3_CACHE_SIZE___371 = 194,
    _SC_LEVEL3_CACHE_ASSOC___371 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___371 = 196,
    _SC_LEVEL4_CACHE_SIZE___371 = 197,
    _SC_LEVEL4_CACHE_ASSOC___371 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___371 = 199,
    _SC_IPV6___371 = 235,
    _SC_RAW_SOCKETS___371 = 236,
    _SC_V7_ILP32_OFF32___371 = 237,
    _SC_V7_ILP32_OFFBIG___371 = 238,
    _SC_V7_LP64_OFF64___371 = 239,
    _SC_V7_LPBIG_OFFBIG___371 = 240,
    _SC_SS_REPL_MAX___371 = 241,
    _SC_TRACE_EVENT_NAME_MAX___371 = 242,
    _SC_TRACE_NAME_MAX___371 = 243,
    _SC_TRACE_SYS_MAX___371 = 244,
    _SC_TRACE_USER_EVENT_MAX___371 = 245,
    _SC_XOPEN_STREAMS___371 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___371 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___371 = 248
} ;
enum __anonenum_875524036___371 {
    _CS_PATH___371 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___371 = 1,
    _CS_GNU_LIBC_VERSION___371 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___371 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___371 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___371 = 5,
    _CS_LFS_CFLAGS___371 = 1000,
    _CS_LFS_LDFLAGS___371 = 1001,
    _CS_LFS_LIBS___371 = 1002,
    _CS_LFS_LINTFLAGS___371 = 1003,
    _CS_LFS64_CFLAGS___371 = 1004,
    _CS_LFS64_LDFLAGS___371 = 1005,
    _CS_LFS64_LIBS___371 = 1006,
    _CS_LFS64_LINTFLAGS___371 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___371 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___371 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___371 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___371 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___371 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___371 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___371 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___371 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___371 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___371 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___371 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___371 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___371 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___371 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___371 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___371 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___371 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___371 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___371 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___371 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___371 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___371 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___371 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___371 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___371 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___371 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___371 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___371 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___371 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___371 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___371 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___371 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___371 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___371 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___371 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___371 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___371 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___371 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___371 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___371 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___371 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___371 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___371 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___371 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___371 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___371 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___371 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___371 = 1147,
    _CS_V6_ENV___371 = 1148,
    _CS_V7_ENV___371 = 1149
} ;
enum __anonenum_513775621___371 {
    DT_UNKNOWN___371 = 0,
    DT_FIFO___371 = 1,
    DT_CHR___371 = 2,
    DT_DIR___371 = 4,
    DT_BLK___371 = 6,
    DT_REG___371 = 8,
    DT_LNK___371 = 10,
    DT_SOCK___371 = 12,
    DT_WHT___371 = 14
} ;
enum __anonenum_77002343___371 {
    SI_ASYNCNL___371 = -60,
    SI_TKILL___371 = -6,
    SI_SIGIO___371 = -5,
    SI_ASYNCIO___371 = -4,
    SI_MESGQ___371 = -3,
    SI_TIMER___371 = -2,
    SI_QUEUE___371 = -1,
    SI_USER___371 = 0,
    SI_KERNEL___371 = 128
} ;
enum __anonenum_131038172___371 {
    ILL_ILLOPC___371 = 1,
    ILL_ILLOPN___371 = 2,
    ILL_ILLADR___371 = 3,
    ILL_ILLTRP___371 = 4,
    ILL_PRVOPC___371 = 5,
    ILL_PRVREG___371 = 6,
    ILL_COPROC___371 = 7,
    ILL_BADSTK___371 = 8
} ;
enum __anonenum_452038093___371 {
    FPE_INTDIV___371 = 1,
    FPE_INTOVF___371 = 2,
    FPE_FLTDIV___371 = 3,
    FPE_FLTOVF___371 = 4,
    FPE_FLTUND___371 = 5,
    FPE_FLTRES___371 = 6,
    FPE_FLTINV___371 = 7,
    FPE_FLTSUB___371 = 8
} ;
enum __anonenum_30976155___371 {
    SEGV_MAPERR___371 = 1,
    SEGV_ACCERR___371 = 2,
    SEGV_BNDERR___371 = 3,
    SEGV_PKUERR___371 = 4
} ;
enum __anonenum_1036286214___371 {
    BUS_ADRALN___371 = 1,
    BUS_ADRERR___371 = 2,
    BUS_OBJERR___371 = 3,
    BUS_MCEERR_AR___371 = 4,
    BUS_MCEERR_AO___371 = 5
} ;
enum __anonenum_493465559___371 {
    TRAP_BRKPT___371 = 1,
    TRAP_TRACE___371 = 2
} ;
enum __anonenum_23175539___371 {
    CLD_EXITED___371 = 1,
    CLD_KILLED___371 = 2,
    CLD_DUMPED___371 = 3,
    CLD_TRAPPED___371 = 4,
    CLD_STOPPED___371 = 5,
    CLD_CONTINUED___371 = 6
} ;
enum __anonenum_111643124___371 {
    POLL_IN___371 = 1,
    POLL_OUT___371 = 2,
    POLL_MSG___371 = 3,
    POLL_ERR___371 = 4,
    POLL_PRI___371 = 5,
    POLL_HUP___371 = 6
} ;
enum __anonenum_852341087___371 {
    SIGEV_SIGNAL___371 = 0,
    SIGEV_NONE___371 = 1,
    SIGEV_THREAD___371 = 2,
    SIGEV_THREAD_ID___371 = 4
} ;
enum __anonenum_451154152___371 {
    REG_R8___371 = 0,
    REG_R9___371 = 1,
    REG_R10___371 = 2,
    REG_R11___371 = 3,
    REG_R12___371 = 4,
    REG_R13___371 = 5,
    REG_R14___371 = 6,
    REG_R15___371 = 7,
    REG_RDI___371 = 8,
    REG_RSI___371 = 9,
    REG_RBP___371 = 10,
    REG_RBX___371 = 11,
    REG_RDX___371 = 12,
    REG_RAX___371 = 13,
    REG_RCX___371 = 14,
    REG_RSP___371 = 15,
    REG_RIP___371 = 16,
    REG_EFL___371 = 17,
    REG_CSGSFS___371 = 18,
    REG_ERR___371 = 19,
    REG_TRAPNO___371 = 20,
    REG_OLDMASK___371 = 21,
    REG_CR2___371 = 22
} ;
enum __anonenum_57186863___371 {
    SS_ONSTACK___371 = 1,
    SS_DISABLE___371 = 2
} ;
enum __anonenum_83571709___371 {
    MSG_OOB___371 = 1,
    MSG_PEEK___371 = 2,
    MSG_DONTROUTE___371 = 4,
    MSG_TRYHARD___371 = 4,
    MSG_CTRUNC___371 = 8,
    MSG_PROXY___371 = 16,
    MSG_TRUNC___371 = 32,
    MSG_DONTWAIT___371 = 64,
    MSG_EOR___371 = 128,
    MSG_WAITALL___371 = 256,
    MSG_FIN___371 = 512,
    MSG_SYN___371 = 1024,
    MSG_CONFIRM___371 = 2048,
    MSG_RST___371 = 4096,
    MSG_ERRQUEUE___371 = 8192,
    MSG_NOSIGNAL___371 = 16384,
    MSG_MORE___371 = 32768,
    MSG_WAITFORONE___371 = 65536,
    MSG_BATCH___371 = 262144,
    MSG_ZEROCOPY___371 = 67108864,
    MSG_FASTOPEN___371 = 536870912,
    MSG_CMSG_CLOEXEC___371 = 1073741824
} ;
enum __anonenum_617082774___371 {
    SCM_RIGHTS___371 = 1,
    SCM_CREDENTIALS___371 = 2
} ;
enum __anonenum_606441560___371 {
    SHUT_RD___371 = 0,
    SHUT_WR___371 = 1,
    SHUT_RDWR___371 = 2
} ;
enum __anonenum_681669233___371 {
    IPPROTO_IP___371 = 0,
    IPPROTO_ICMP___371 = 1,
    IPPROTO_IGMP___371 = 2,
    IPPROTO_IPIP___371 = 4,
    IPPROTO_TCP___371 = 6,
    IPPROTO_EGP___371 = 8,
    IPPROTO_PUP___371 = 12,
    IPPROTO_UDP___371 = 17,
    IPPROTO_IDP___371 = 22,
    IPPROTO_TP___371 = 29,
    IPPROTO_DCCP___371 = 33,
    IPPROTO_IPV6___371 = 41,
    IPPROTO_RSVP___371 = 46,
    IPPROTO_GRE___371 = 47,
    IPPROTO_ESP___371 = 50,
    IPPROTO_AH___371 = 51,
    IPPROTO_MTP___371 = 92,
    IPPROTO_BEETPH___371 = 94,
    IPPROTO_ENCAP___371 = 98,
    IPPROTO_PIM___371 = 103,
    IPPROTO_COMP___371 = 108,
    IPPROTO_SCTP___371 = 132,
    IPPROTO_UDPLITE___371 = 136,
    IPPROTO_MPLS___371 = 137,
    IPPROTO_RAW___371 = 255,
    IPPROTO_MAX___371 = 256
} ;
enum __anonenum_218739988___371 {
    IPPROTO_HOPOPTS___371 = 0,
    IPPROTO_ROUTING___371 = 43,
    IPPROTO_FRAGMENT___371 = 44,
    IPPROTO_ICMPV6___371 = 58,
    IPPROTO_NONE___371 = 59,
    IPPROTO_DSTOPTS___371 = 60,
    IPPROTO_MH___371 = 135
} ;
enum __anonenum_662268580___371 {
    IPPORT_ECHO___371 = 7,
    IPPORT_DISCARD___371 = 9,
    IPPORT_SYSTAT___371 = 11,
    IPPORT_DAYTIME___371 = 13,
    IPPORT_NETSTAT___371 = 15,
    IPPORT_FTP___371 = 21,
    IPPORT_TELNET___371 = 23,
    IPPORT_SMTP___371 = 25,
    IPPORT_TIMESERVER___371 = 37,
    IPPORT_NAMESERVER___371 = 42,
    IPPORT_WHOIS___371 = 43,
    IPPORT_MTP___371 = 57,
    IPPORT_TFTP___371 = 69,
    IPPORT_RJE___371 = 77,
    IPPORT_FINGER___371 = 79,
    IPPORT_TTYLINK___371 = 87,
    IPPORT_SUPDUP___371 = 95,
    IPPORT_EXECSERVER___371 = 512,
    IPPORT_LOGINSERVER___371 = 513,
    IPPORT_CMDSERVER___371 = 514,
    IPPORT_EFSSERVER___371 = 520,
    IPPORT_BIFFUDP___371 = 512,
    IPPORT_WHOSERVER___371 = 513,
    IPPORT_ROUTESERVER___371 = 520,
    IPPORT_RESERVED___371 = 1024,
    IPPORT_USERRESERVED___371 = 5000
} ;
enum __anonenum_788308992___371 {
    TCP_ESTABLISHED___371 = 1,
    TCP_SYN_SENT___371 = 2,
    TCP_SYN_RECV___371 = 3,
    TCP_FIN_WAIT1___371 = 4,
    TCP_FIN_WAIT2___371 = 5,
    TCP_TIME_WAIT___371 = 6,
    TCP_CLOSE___371 = 7,
    TCP_CLOSE_WAIT___371 = 8,
    TCP_LAST_ACK___371 = 9,
    TCP_LISTEN___371 = 10,
    TCP_CLOSING___371 = 11
} ;
enum __anonenum_221125648___371 {
    TCP_NO_QUEUE___371 = 0,
    TCP_RECV_QUEUE___371 = 1,
    TCP_SEND_QUEUE___371 = 2,
    TCP_QUEUES_NR___371 = 3
} ;
enum __anonenum_34415463___371 {
    PTHREAD_CREATE_JOINABLE___371 = 0,
    PTHREAD_CREATE_DETACHED___371 = 1
} ;
enum __anonenum_303612439___371 {
    PTHREAD_MUTEX_TIMED_NP___371 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___371 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___371 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___371 = 3,
    PTHREAD_MUTEX_NORMAL___371 = 0,
    PTHREAD_MUTEX_RECURSIVE___371 = 1,
    PTHREAD_MUTEX_ERRORCHECK___371 = 2,
    PTHREAD_MUTEX_DEFAULT___371 = 0,
    PTHREAD_MUTEX_FAST_NP___371 = 0
} ;
enum __anonenum_931900394___371 {
    PTHREAD_MUTEX_STALLED___371 = 0,
    PTHREAD_MUTEX_STALLED_NP___371 = 0,
    PTHREAD_MUTEX_ROBUST___371 = 1,
    PTHREAD_MUTEX_ROBUST_NP___371 = 1
} ;
enum __anonenum_205214487___371 {
    PTHREAD_PRIO_NONE___371 = 0,
    PTHREAD_PRIO_INHERIT___371 = 1,
    PTHREAD_PRIO_PROTECT___371 = 2
} ;
enum __anonenum_25043950___371 {
    PTHREAD_RWLOCK_PREFER_READER_NP___371 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___371 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___371 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___371 = 0
} ;
enum __anonenum_436439511___371 {
    PTHREAD_INHERIT_SCHED___371 = 0,
    PTHREAD_EXPLICIT_SCHED___371 = 1
} ;
enum __anonenum_998661166___371 {
    PTHREAD_SCOPE_SYSTEM___371 = 0,
    PTHREAD_SCOPE_PROCESS___371 = 1
} ;
enum __anonenum_146137331___371 {
    PTHREAD_PROCESS_PRIVATE___371 = 0,
    PTHREAD_PROCESS_SHARED___371 = 1
} ;
enum __anonenum_53396917___371 {
    PTHREAD_CANCEL_ENABLE___371 = 0,
    PTHREAD_CANCEL_DISABLE___371 = 1
} ;
enum __anonenum_904563783___371 {
    PTHREAD_CANCEL_DEFERRED___371 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___371 = 1
} ;
enum __anonenum_672052974___371 {
    SSL_CT_VALIDATION_PERMISSIVE___371 = 0,
    SSL_CT_VALIDATION_STRICT___371 = 1
} ;
enum __anonenum_34023289___45 {
    REMOTE_UNCONFIGURED___45 = 0,
    REMOTE_CONFIG___45 = 1,
    REMOTE_REMOTES___45 = 2,
    REMOTE_BRANCHES___45 = 3
} ;
enum sparse_checkout_mode {
    MODE_NO_PATTERNS = 0,
    MODE_ALL_PATTERNS = 1,
    MODE_CONE_PATTERNS = 2
} ;
struct sparse_checkout_init_opts {
   int cone_mode ;
   int sparse_index ;
};
enum modify_type {
    REPLACE = 0,
    ADD = 1
} ;
struct sparse_checkout_add_opts {
   int use_stdin ;
};
struct sparse_checkout_set_opts {
   int cone_mode ;
   int sparse_index ;
   int use_stdin ;
};
struct sparse_checkout_reapply_opts {
   int cone_mode ;
   int sparse_index ;
};
enum __anonenum_437032235___372 {
    _PC_LINK_MAX___372 = 0,
    _PC_MAX_CANON___372 = 1,
    _PC_MAX_INPUT___372 = 2,
    _PC_NAME_MAX___372 = 3,
    _PC_PATH_MAX___372 = 4,
    _PC_PIPE_BUF___372 = 5,
    _PC_CHOWN_RESTRICTED___372 = 6,
    _PC_NO_TRUNC___372 = 7,
    _PC_VDISABLE___372 = 8,
    _PC_SYNC_IO___372 = 9,
    _PC_ASYNC_IO___372 = 10,
    _PC_PRIO_IO___372 = 11,
    _PC_SOCK_MAXBUF___372 = 12,
    _PC_FILESIZEBITS___372 = 13,
    _PC_REC_INCR_XFER_SIZE___372 = 14,
    _PC_REC_MAX_XFER_SIZE___372 = 15,
    _PC_REC_MIN_XFER_SIZE___372 = 16,
    _PC_REC_XFER_ALIGN___372 = 17,
    _PC_ALLOC_SIZE_MIN___372 = 18,
    _PC_SYMLINK_MAX___372 = 19,
    _PC_2_SYMLINKS___372 = 20
} ;
enum __anonenum_315186338___372 {
    _SC_ARG_MAX___372 = 0,
    _SC_CHILD_MAX___372 = 1,
    _SC_CLK_TCK___372 = 2,
    _SC_NGROUPS_MAX___372 = 3,
    _SC_OPEN_MAX___372 = 4,
    _SC_STREAM_MAX___372 = 5,
    _SC_TZNAME_MAX___372 = 6,
    _SC_JOB_CONTROL___372 = 7,
    _SC_SAVED_IDS___372 = 8,
    _SC_REALTIME_SIGNALS___372 = 9,
    _SC_PRIORITY_SCHEDULING___372 = 10,
    _SC_TIMERS___372 = 11,
    _SC_ASYNCHRONOUS_IO___372 = 12,
    _SC_PRIORITIZED_IO___372 = 13,
    _SC_SYNCHRONIZED_IO___372 = 14,
    _SC_FSYNC___372 = 15,
    _SC_MAPPED_FILES___372 = 16,
    _SC_MEMLOCK___372 = 17,
    _SC_MEMLOCK_RANGE___372 = 18,
    _SC_MEMORY_PROTECTION___372 = 19,
    _SC_MESSAGE_PASSING___372 = 20,
    _SC_SEMAPHORES___372 = 21,
    _SC_SHARED_MEMORY_OBJECTS___372 = 22,
    _SC_AIO_LISTIO_MAX___372 = 23,
    _SC_AIO_MAX___372 = 24,
    _SC_AIO_PRIO_DELTA_MAX___372 = 25,
    _SC_DELAYTIMER_MAX___372 = 26,
    _SC_MQ_OPEN_MAX___372 = 27,
    _SC_MQ_PRIO_MAX___372 = 28,
    _SC_VERSION___372 = 29,
    _SC_PAGESIZE___372 = 30,
    _SC_RTSIG_MAX___372 = 31,
    _SC_SEM_NSEMS_MAX___372 = 32,
    _SC_SEM_VALUE_MAX___372 = 33,
    _SC_SIGQUEUE_MAX___372 = 34,
    _SC_TIMER_MAX___372 = 35,
    _SC_BC_BASE_MAX___372 = 36,
    _SC_BC_DIM_MAX___372 = 37,
    _SC_BC_SCALE_MAX___372 = 38,
    _SC_BC_STRING_MAX___372 = 39,
    _SC_COLL_WEIGHTS_MAX___372 = 40,
    _SC_EQUIV_CLASS_MAX___372 = 41,
    _SC_EXPR_NEST_MAX___372 = 42,
    _SC_LINE_MAX___372 = 43,
    _SC_RE_DUP_MAX___372 = 44,
    _SC_CHARCLASS_NAME_MAX___372 = 45,
    _SC_2_VERSION___372 = 46,
    _SC_2_C_BIND___372 = 47,
    _SC_2_C_DEV___372 = 48,
    _SC_2_FORT_DEV___372 = 49,
    _SC_2_FORT_RUN___372 = 50,
    _SC_2_SW_DEV___372 = 51,
    _SC_2_LOCALEDEF___372 = 52,
    _SC_PII___372 = 53,
    _SC_PII_XTI___372 = 54,
    _SC_PII_SOCKET___372 = 55,
    _SC_PII_INTERNET___372 = 56,
    _SC_PII_OSI___372 = 57,
    _SC_POLL___372 = 58,
    _SC_SELECT___372 = 59,
    _SC_UIO_MAXIOV___372 = 60,
    _SC_IOV_MAX___372 = 60,
    _SC_PII_INTERNET_STREAM___372 = 61,
    _SC_PII_INTERNET_DGRAM___372 = 62,
    _SC_PII_OSI_COTS___372 = 63,
    _SC_PII_OSI_CLTS___372 = 64,
    _SC_PII_OSI_M___372 = 65,
    _SC_T_IOV_MAX___372 = 66,
    _SC_THREADS___372 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___372 = 68,
    _SC_GETGR_R_SIZE_MAX___372 = 69,
    _SC_GETPW_R_SIZE_MAX___372 = 70,
    _SC_LOGIN_NAME_MAX___372 = 71,
    _SC_TTY_NAME_MAX___372 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___372 = 73,
    _SC_THREAD_KEYS_MAX___372 = 74,
    _SC_THREAD_STACK_MIN___372 = 75,
    _SC_THREAD_THREADS_MAX___372 = 76,
    _SC_THREAD_ATTR_STACKADDR___372 = 77,
    _SC_THREAD_ATTR_STACKSIZE___372 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___372 = 79,
    _SC_THREAD_PRIO_INHERIT___372 = 80,
    _SC_THREAD_PRIO_PROTECT___372 = 81,
    _SC_THREAD_PROCESS_SHARED___372 = 82,
    _SC_NPROCESSORS_CONF___372 = 83,
    _SC_NPROCESSORS_ONLN___372 = 84,
    _SC_PHYS_PAGES___372 = 85,
    _SC_AVPHYS_PAGES___372 = 86,
    _SC_ATEXIT_MAX___372 = 87,
    _SC_PASS_MAX___372 = 88,
    _SC_XOPEN_VERSION___372 = 89,
    _SC_XOPEN_XCU_VERSION___372 = 90,
    _SC_XOPEN_UNIX___372 = 91,
    _SC_XOPEN_CRYPT___372 = 92,
    _SC_XOPEN_ENH_I18N___372 = 93,
    _SC_XOPEN_SHM___372 = 94,
    _SC_2_CHAR_TERM___372 = 95,
    _SC_2_C_VERSION___372 = 96,
    _SC_2_UPE___372 = 97,
    _SC_XOPEN_XPG2___372 = 98,
    _SC_XOPEN_XPG3___372 = 99,
    _SC_XOPEN_XPG4___372 = 100,
    _SC_CHAR_BIT___372 = 101,
    _SC_CHAR_MAX___372 = 102,
    _SC_CHAR_MIN___372 = 103,
    _SC_INT_MAX___372 = 104,
    _SC_INT_MIN___372 = 105,
    _SC_LONG_BIT___372 = 106,
    _SC_WORD_BIT___372 = 107,
    _SC_MB_LEN_MAX___372 = 108,
    _SC_NZERO___372 = 109,
    _SC_SSIZE_MAX___372 = 110,
    _SC_SCHAR_MAX___372 = 111,
    _SC_SCHAR_MIN___372 = 112,
    _SC_SHRT_MAX___372 = 113,
    _SC_SHRT_MIN___372 = 114,
    _SC_UCHAR_MAX___372 = 115,
    _SC_UINT_MAX___372 = 116,
    _SC_ULONG_MAX___372 = 117,
    _SC_USHRT_MAX___372 = 118,
    _SC_NL_ARGMAX___372 = 119,
    _SC_NL_LANGMAX___372 = 120,
    _SC_NL_MSGMAX___372 = 121,
    _SC_NL_NMAX___372 = 122,
    _SC_NL_SETMAX___372 = 123,
    _SC_NL_TEXTMAX___372 = 124,
    _SC_XBS5_ILP32_OFF32___372 = 125,
    _SC_XBS5_ILP32_OFFBIG___372 = 126,
    _SC_XBS5_LP64_OFF64___372 = 127,
    _SC_XBS5_LPBIG_OFFBIG___372 = 128,
    _SC_XOPEN_LEGACY___372 = 129,
    _SC_XOPEN_REALTIME___372 = 130,
    _SC_XOPEN_REALTIME_THREADS___372 = 131,
    _SC_ADVISORY_INFO___372 = 132,
    _SC_BARRIERS___372 = 133,
    _SC_BASE___372 = 134,
    _SC_C_LANG_SUPPORT___372 = 135,
    _SC_C_LANG_SUPPORT_R___372 = 136,
    _SC_CLOCK_SELECTION___372 = 137,
    _SC_CPUTIME___372 = 138,
    _SC_THREAD_CPUTIME___372 = 139,
    _SC_DEVICE_IO___372 = 140,
    _SC_DEVICE_SPECIFIC___372 = 141,
    _SC_DEVICE_SPECIFIC_R___372 = 142,
    _SC_FD_MGMT___372 = 143,
    _SC_FIFO___372 = 144,
    _SC_PIPE___372 = 145,
    _SC_FILE_ATTRIBUTES___372 = 146,
    _SC_FILE_LOCKING___372 = 147,
    _SC_FILE_SYSTEM___372 = 148,
    _SC_MONOTONIC_CLOCK___372 = 149,
    _SC_MULTI_PROCESS___372 = 150,
    _SC_SINGLE_PROCESS___372 = 151,
    _SC_NETWORKING___372 = 152,
    _SC_READER_WRITER_LOCKS___372 = 153,
    _SC_SPIN_LOCKS___372 = 154,
    _SC_REGEXP___372 = 155,
    _SC_REGEX_VERSION___372 = 156,
    _SC_SHELL___372 = 157,
    _SC_SIGNALS___372 = 158,
    _SC_SPAWN___372 = 159,
    _SC_SPORADIC_SERVER___372 = 160,
    _SC_THREAD_SPORADIC_SERVER___372 = 161,
    _SC_SYSTEM_DATABASE___372 = 162,
    _SC_SYSTEM_DATABASE_R___372 = 163,
    _SC_TIMEOUTS___372 = 164,
    _SC_TYPED_MEMORY_OBJECTS___372 = 165,
    _SC_USER_GROUPS___372 = 166,
    _SC_USER_GROUPS_R___372 = 167,
    _SC_2_PBS___372 = 168,
    _SC_2_PBS_ACCOUNTING___372 = 169,
    _SC_2_PBS_LOCATE___372 = 170,
    _SC_2_PBS_MESSAGE___372 = 171,
    _SC_2_PBS_TRACK___372 = 172,
    _SC_SYMLOOP_MAX___372 = 173,
    _SC_STREAMS___372 = 174,
    _SC_2_PBS_CHECKPOINT___372 = 175,
    _SC_V6_ILP32_OFF32___372 = 176,
    _SC_V6_ILP32_OFFBIG___372 = 177,
    _SC_V6_LP64_OFF64___372 = 178,
    _SC_V6_LPBIG_OFFBIG___372 = 179,
    _SC_HOST_NAME_MAX___372 = 180,
    _SC_TRACE___372 = 181,
    _SC_TRACE_EVENT_FILTER___372 = 182,
    _SC_TRACE_INHERIT___372 = 183,
    _SC_TRACE_LOG___372 = 184,
    _SC_LEVEL1_ICACHE_SIZE___372 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___372 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___372 = 187,
    _SC_LEVEL1_DCACHE_SIZE___372 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___372 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___372 = 190,
    _SC_LEVEL2_CACHE_SIZE___372 = 191,
    _SC_LEVEL2_CACHE_ASSOC___372 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___372 = 193,
    _SC_LEVEL3_CACHE_SIZE___372 = 194,
    _SC_LEVEL3_CACHE_ASSOC___372 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___372 = 196,
    _SC_LEVEL4_CACHE_SIZE___372 = 197,
    _SC_LEVEL4_CACHE_ASSOC___372 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___372 = 199,
    _SC_IPV6___372 = 235,
    _SC_RAW_SOCKETS___372 = 236,
    _SC_V7_ILP32_OFF32___372 = 237,
    _SC_V7_ILP32_OFFBIG___372 = 238,
    _SC_V7_LP64_OFF64___372 = 239,
    _SC_V7_LPBIG_OFFBIG___372 = 240,
    _SC_SS_REPL_MAX___372 = 241,
    _SC_TRACE_EVENT_NAME_MAX___372 = 242,
    _SC_TRACE_NAME_MAX___372 = 243,
    _SC_TRACE_SYS_MAX___372 = 244,
    _SC_TRACE_USER_EVENT_MAX___372 = 245,
    _SC_XOPEN_STREAMS___372 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___372 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___372 = 248
} ;
enum __anonenum_875524036___372 {
    _CS_PATH___372 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___372 = 1,
    _CS_GNU_LIBC_VERSION___372 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___372 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___372 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___372 = 5,
    _CS_LFS_CFLAGS___372 = 1000,
    _CS_LFS_LDFLAGS___372 = 1001,
    _CS_LFS_LIBS___372 = 1002,
    _CS_LFS_LINTFLAGS___372 = 1003,
    _CS_LFS64_CFLAGS___372 = 1004,
    _CS_LFS64_LDFLAGS___372 = 1005,
    _CS_LFS64_LIBS___372 = 1006,
    _CS_LFS64_LINTFLAGS___372 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___372 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___372 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___372 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___372 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___372 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___372 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___372 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___372 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___372 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___372 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___372 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___372 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___372 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___372 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___372 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___372 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___372 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___372 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___372 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___372 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___372 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___372 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___372 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___372 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___372 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___372 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___372 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___372 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___372 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___372 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___372 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___372 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___372 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___372 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___372 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___372 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___372 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___372 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___372 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___372 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___372 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___372 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___372 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___372 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___372 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___372 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___372 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___372 = 1147,
    _CS_V6_ENV___372 = 1148,
    _CS_V7_ENV___372 = 1149
} ;
enum __anonenum_513775621___372 {
    DT_UNKNOWN___372 = 0,
    DT_FIFO___372 = 1,
    DT_CHR___372 = 2,
    DT_DIR___372 = 4,
    DT_BLK___372 = 6,
    DT_REG___372 = 8,
    DT_LNK___372 = 10,
    DT_SOCK___372 = 12,
    DT_WHT___372 = 14
} ;
enum __anonenum_77002343___372 {
    SI_ASYNCNL___372 = -60,
    SI_TKILL___372 = -6,
    SI_SIGIO___372 = -5,
    SI_ASYNCIO___372 = -4,
    SI_MESGQ___372 = -3,
    SI_TIMER___372 = -2,
    SI_QUEUE___372 = -1,
    SI_USER___372 = 0,
    SI_KERNEL___372 = 128
} ;
enum __anonenum_131038172___372 {
    ILL_ILLOPC___372 = 1,
    ILL_ILLOPN___372 = 2,
    ILL_ILLADR___372 = 3,
    ILL_ILLTRP___372 = 4,
    ILL_PRVOPC___372 = 5,
    ILL_PRVREG___372 = 6,
    ILL_COPROC___372 = 7,
    ILL_BADSTK___372 = 8
} ;
enum __anonenum_452038093___372 {
    FPE_INTDIV___372 = 1,
    FPE_INTOVF___372 = 2,
    FPE_FLTDIV___372 = 3,
    FPE_FLTOVF___372 = 4,
    FPE_FLTUND___372 = 5,
    FPE_FLTRES___372 = 6,
    FPE_FLTINV___372 = 7,
    FPE_FLTSUB___372 = 8
} ;
enum __anonenum_30976155___372 {
    SEGV_MAPERR___372 = 1,
    SEGV_ACCERR___372 = 2,
    SEGV_BNDERR___372 = 3,
    SEGV_PKUERR___372 = 4
} ;
enum __anonenum_1036286214___372 {
    BUS_ADRALN___372 = 1,
    BUS_ADRERR___372 = 2,
    BUS_OBJERR___372 = 3,
    BUS_MCEERR_AR___372 = 4,
    BUS_MCEERR_AO___372 = 5
} ;
enum __anonenum_493465559___372 {
    TRAP_BRKPT___372 = 1,
    TRAP_TRACE___372 = 2
} ;
enum __anonenum_23175539___372 {
    CLD_EXITED___372 = 1,
    CLD_KILLED___372 = 2,
    CLD_DUMPED___372 = 3,
    CLD_TRAPPED___372 = 4,
    CLD_STOPPED___372 = 5,
    CLD_CONTINUED___372 = 6
} ;
enum __anonenum_111643124___372 {
    POLL_IN___372 = 1,
    POLL_OUT___372 = 2,
    POLL_MSG___372 = 3,
    POLL_ERR___372 = 4,
    POLL_PRI___372 = 5,
    POLL_HUP___372 = 6
} ;
enum __anonenum_852341087___372 {
    SIGEV_SIGNAL___372 = 0,
    SIGEV_NONE___372 = 1,
    SIGEV_THREAD___372 = 2,
    SIGEV_THREAD_ID___372 = 4
} ;
enum __anonenum_451154152___372 {
    REG_R8___372 = 0,
    REG_R9___372 = 1,
    REG_R10___372 = 2,
    REG_R11___372 = 3,
    REG_R12___372 = 4,
    REG_R13___372 = 5,
    REG_R14___372 = 6,
    REG_R15___372 = 7,
    REG_RDI___372 = 8,
    REG_RSI___372 = 9,
    REG_RBP___372 = 10,
    REG_RBX___372 = 11,
    REG_RDX___372 = 12,
    REG_RAX___372 = 13,
    REG_RCX___372 = 14,
    REG_RSP___372 = 15,
    REG_RIP___372 = 16,
    REG_EFL___372 = 17,
    REG_CSGSFS___372 = 18,
    REG_ERR___372 = 19,
    REG_TRAPNO___372 = 20,
    REG_OLDMASK___372 = 21,
    REG_CR2___372 = 22
} ;
enum __anonenum_57186863___372 {
    SS_ONSTACK___372 = 1,
    SS_DISABLE___372 = 2
} ;
enum __anonenum_83571709___372 {
    MSG_OOB___372 = 1,
    MSG_PEEK___372 = 2,
    MSG_DONTROUTE___372 = 4,
    MSG_TRYHARD___372 = 4,
    MSG_CTRUNC___372 = 8,
    MSG_PROXY___372 = 16,
    MSG_TRUNC___372 = 32,
    MSG_DONTWAIT___372 = 64,
    MSG_EOR___372 = 128,
    MSG_WAITALL___372 = 256,
    MSG_FIN___372 = 512,
    MSG_SYN___372 = 1024,
    MSG_CONFIRM___372 = 2048,
    MSG_RST___372 = 4096,
    MSG_ERRQUEUE___372 = 8192,
    MSG_NOSIGNAL___372 = 16384,
    MSG_MORE___372 = 32768,
    MSG_WAITFORONE___372 = 65536,
    MSG_BATCH___372 = 262144,
    MSG_ZEROCOPY___372 = 67108864,
    MSG_FASTOPEN___372 = 536870912,
    MSG_CMSG_CLOEXEC___372 = 1073741824
} ;
enum __anonenum_617082774___372 {
    SCM_RIGHTS___372 = 1,
    SCM_CREDENTIALS___372 = 2
} ;
enum __anonenum_606441560___372 {
    SHUT_RD___372 = 0,
    SHUT_WR___372 = 1,
    SHUT_RDWR___372 = 2
} ;
enum __anonenum_681669233___372 {
    IPPROTO_IP___372 = 0,
    IPPROTO_ICMP___372 = 1,
    IPPROTO_IGMP___372 = 2,
    IPPROTO_IPIP___372 = 4,
    IPPROTO_TCP___372 = 6,
    IPPROTO_EGP___372 = 8,
    IPPROTO_PUP___372 = 12,
    IPPROTO_UDP___372 = 17,
    IPPROTO_IDP___372 = 22,
    IPPROTO_TP___372 = 29,
    IPPROTO_DCCP___372 = 33,
    IPPROTO_IPV6___372 = 41,
    IPPROTO_RSVP___372 = 46,
    IPPROTO_GRE___372 = 47,
    IPPROTO_ESP___372 = 50,
    IPPROTO_AH___372 = 51,
    IPPROTO_MTP___372 = 92,
    IPPROTO_BEETPH___372 = 94,
    IPPROTO_ENCAP___372 = 98,
    IPPROTO_PIM___372 = 103,
    IPPROTO_COMP___372 = 108,
    IPPROTO_SCTP___372 = 132,
    IPPROTO_UDPLITE___372 = 136,
    IPPROTO_MPLS___372 = 137,
    IPPROTO_RAW___372 = 255,
    IPPROTO_MAX___372 = 256
} ;
enum __anonenum_218739988___372 {
    IPPROTO_HOPOPTS___372 = 0,
    IPPROTO_ROUTING___372 = 43,
    IPPROTO_FRAGMENT___372 = 44,
    IPPROTO_ICMPV6___372 = 58,
    IPPROTO_NONE___372 = 59,
    IPPROTO_DSTOPTS___372 = 60,
    IPPROTO_MH___372 = 135
} ;
enum __anonenum_662268580___372 {
    IPPORT_ECHO___372 = 7,
    IPPORT_DISCARD___372 = 9,
    IPPORT_SYSTAT___372 = 11,
    IPPORT_DAYTIME___372 = 13,
    IPPORT_NETSTAT___372 = 15,
    IPPORT_FTP___372 = 21,
    IPPORT_TELNET___372 = 23,
    IPPORT_SMTP___372 = 25,
    IPPORT_TIMESERVER___372 = 37,
    IPPORT_NAMESERVER___372 = 42,
    IPPORT_WHOIS___372 = 43,
    IPPORT_MTP___372 = 57,
    IPPORT_TFTP___372 = 69,
    IPPORT_RJE___372 = 77,
    IPPORT_FINGER___372 = 79,
    IPPORT_TTYLINK___372 = 87,
    IPPORT_SUPDUP___372 = 95,
    IPPORT_EXECSERVER___372 = 512,
    IPPORT_LOGINSERVER___372 = 513,
    IPPORT_CMDSERVER___372 = 514,
    IPPORT_EFSSERVER___372 = 520,
    IPPORT_BIFFUDP___372 = 512,
    IPPORT_WHOSERVER___372 = 513,
    IPPORT_ROUTESERVER___372 = 520,
    IPPORT_RESERVED___372 = 1024,
    IPPORT_USERRESERVED___372 = 5000
} ;
enum __anonenum_788308992___372 {
    TCP_ESTABLISHED___372 = 1,
    TCP_SYN_SENT___372 = 2,
    TCP_SYN_RECV___372 = 3,
    TCP_FIN_WAIT1___372 = 4,
    TCP_FIN_WAIT2___372 = 5,
    TCP_TIME_WAIT___372 = 6,
    TCP_CLOSE___372 = 7,
    TCP_CLOSE_WAIT___372 = 8,
    TCP_LAST_ACK___372 = 9,
    TCP_LISTEN___372 = 10,
    TCP_CLOSING___372 = 11
} ;
enum __anonenum_221125648___372 {
    TCP_NO_QUEUE___372 = 0,
    TCP_RECV_QUEUE___372 = 1,
    TCP_SEND_QUEUE___372 = 2,
    TCP_QUEUES_NR___372 = 3
} ;
enum __anonenum_34415463___372 {
    PTHREAD_CREATE_JOINABLE___372 = 0,
    PTHREAD_CREATE_DETACHED___372 = 1
} ;
enum __anonenum_303612439___372 {
    PTHREAD_MUTEX_TIMED_NP___372 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___372 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___372 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___372 = 3,
    PTHREAD_MUTEX_NORMAL___372 = 0,
    PTHREAD_MUTEX_RECURSIVE___372 = 1,
    PTHREAD_MUTEX_ERRORCHECK___372 = 2,
    PTHREAD_MUTEX_DEFAULT___372 = 0,
    PTHREAD_MUTEX_FAST_NP___372 = 0
} ;
enum __anonenum_931900394___372 {
    PTHREAD_MUTEX_STALLED___372 = 0,
    PTHREAD_MUTEX_STALLED_NP___372 = 0,
    PTHREAD_MUTEX_ROBUST___372 = 1,
    PTHREAD_MUTEX_ROBUST_NP___372 = 1
} ;
enum __anonenum_205214487___372 {
    PTHREAD_PRIO_NONE___372 = 0,
    PTHREAD_PRIO_INHERIT___372 = 1,
    PTHREAD_PRIO_PROTECT___372 = 2
} ;
enum __anonenum_25043950___372 {
    PTHREAD_RWLOCK_PREFER_READER_NP___372 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___372 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___372 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___372 = 0
} ;
enum __anonenum_436439511___372 {
    PTHREAD_INHERIT_SCHED___372 = 0,
    PTHREAD_EXPLICIT_SCHED___372 = 1
} ;
enum __anonenum_998661166___372 {
    PTHREAD_SCOPE_SYSTEM___372 = 0,
    PTHREAD_SCOPE_PROCESS___372 = 1
} ;
enum __anonenum_146137331___372 {
    PTHREAD_PROCESS_PRIVATE___372 = 0,
    PTHREAD_PROCESS_SHARED___372 = 1
} ;
enum __anonenum_53396917___372 {
    PTHREAD_CANCEL_ENABLE___372 = 0,
    PTHREAD_CANCEL_DISABLE___372 = 1
} ;
enum __anonenum_904563783___372 {
    PTHREAD_CANCEL_DEFERRED___372 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___372 = 1
} ;
enum __anonenum_672052974___372 {
    SSL_CT_VALIDATION_PERMISSIVE___372 = 0,
    SSL_CT_VALIDATION_STRICT___372 = 1
} ;
struct stash_info {
   struct object_id w_commit ;
   struct object_id b_commit ;
   struct object_id i_commit ;
   struct object_id u_commit ;
   struct object_id w_tree ;
   struct object_id b_tree ;
   struct object_id i_tree ;
   struct object_id u_tree ;
   struct strbuf revision ;
   int is_stash_ref ;
   int has_u ;
};
enum __anonenum_show_untracked_45846912 {
    UNTRACKED_NONE = 0,
    UNTRACKED_INCLUDE = 1,
    UNTRACKED_ONLY = 2
} ;
enum __anonenum_437032235___373 {
    _PC_LINK_MAX___373 = 0,
    _PC_MAX_CANON___373 = 1,
    _PC_MAX_INPUT___373 = 2,
    _PC_NAME_MAX___373 = 3,
    _PC_PATH_MAX___373 = 4,
    _PC_PIPE_BUF___373 = 5,
    _PC_CHOWN_RESTRICTED___373 = 6,
    _PC_NO_TRUNC___373 = 7,
    _PC_VDISABLE___373 = 8,
    _PC_SYNC_IO___373 = 9,
    _PC_ASYNC_IO___373 = 10,
    _PC_PRIO_IO___373 = 11,
    _PC_SOCK_MAXBUF___373 = 12,
    _PC_FILESIZEBITS___373 = 13,
    _PC_REC_INCR_XFER_SIZE___373 = 14,
    _PC_REC_MAX_XFER_SIZE___373 = 15,
    _PC_REC_MIN_XFER_SIZE___373 = 16,
    _PC_REC_XFER_ALIGN___373 = 17,
    _PC_ALLOC_SIZE_MIN___373 = 18,
    _PC_SYMLINK_MAX___373 = 19,
    _PC_2_SYMLINKS___373 = 20
} ;
enum __anonenum_315186338___373 {
    _SC_ARG_MAX___373 = 0,
    _SC_CHILD_MAX___373 = 1,
    _SC_CLK_TCK___373 = 2,
    _SC_NGROUPS_MAX___373 = 3,
    _SC_OPEN_MAX___373 = 4,
    _SC_STREAM_MAX___373 = 5,
    _SC_TZNAME_MAX___373 = 6,
    _SC_JOB_CONTROL___373 = 7,
    _SC_SAVED_IDS___373 = 8,
    _SC_REALTIME_SIGNALS___373 = 9,
    _SC_PRIORITY_SCHEDULING___373 = 10,
    _SC_TIMERS___373 = 11,
    _SC_ASYNCHRONOUS_IO___373 = 12,
    _SC_PRIORITIZED_IO___373 = 13,
    _SC_SYNCHRONIZED_IO___373 = 14,
    _SC_FSYNC___373 = 15,
    _SC_MAPPED_FILES___373 = 16,
    _SC_MEMLOCK___373 = 17,
    _SC_MEMLOCK_RANGE___373 = 18,
    _SC_MEMORY_PROTECTION___373 = 19,
    _SC_MESSAGE_PASSING___373 = 20,
    _SC_SEMAPHORES___373 = 21,
    _SC_SHARED_MEMORY_OBJECTS___373 = 22,
    _SC_AIO_LISTIO_MAX___373 = 23,
    _SC_AIO_MAX___373 = 24,
    _SC_AIO_PRIO_DELTA_MAX___373 = 25,
    _SC_DELAYTIMER_MAX___373 = 26,
    _SC_MQ_OPEN_MAX___373 = 27,
    _SC_MQ_PRIO_MAX___373 = 28,
    _SC_VERSION___373 = 29,
    _SC_PAGESIZE___373 = 30,
    _SC_RTSIG_MAX___373 = 31,
    _SC_SEM_NSEMS_MAX___373 = 32,
    _SC_SEM_VALUE_MAX___373 = 33,
    _SC_SIGQUEUE_MAX___373 = 34,
    _SC_TIMER_MAX___373 = 35,
    _SC_BC_BASE_MAX___373 = 36,
    _SC_BC_DIM_MAX___373 = 37,
    _SC_BC_SCALE_MAX___373 = 38,
    _SC_BC_STRING_MAX___373 = 39,
    _SC_COLL_WEIGHTS_MAX___373 = 40,
    _SC_EQUIV_CLASS_MAX___373 = 41,
    _SC_EXPR_NEST_MAX___373 = 42,
    _SC_LINE_MAX___373 = 43,
    _SC_RE_DUP_MAX___373 = 44,
    _SC_CHARCLASS_NAME_MAX___373 = 45,
    _SC_2_VERSION___373 = 46,
    _SC_2_C_BIND___373 = 47,
    _SC_2_C_DEV___373 = 48,
    _SC_2_FORT_DEV___373 = 49,
    _SC_2_FORT_RUN___373 = 50,
    _SC_2_SW_DEV___373 = 51,
    _SC_2_LOCALEDEF___373 = 52,
    _SC_PII___373 = 53,
    _SC_PII_XTI___373 = 54,
    _SC_PII_SOCKET___373 = 55,
    _SC_PII_INTERNET___373 = 56,
    _SC_PII_OSI___373 = 57,
    _SC_POLL___373 = 58,
    _SC_SELECT___373 = 59,
    _SC_UIO_MAXIOV___373 = 60,
    _SC_IOV_MAX___373 = 60,
    _SC_PII_INTERNET_STREAM___373 = 61,
    _SC_PII_INTERNET_DGRAM___373 = 62,
    _SC_PII_OSI_COTS___373 = 63,
    _SC_PII_OSI_CLTS___373 = 64,
    _SC_PII_OSI_M___373 = 65,
    _SC_T_IOV_MAX___373 = 66,
    _SC_THREADS___373 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___373 = 68,
    _SC_GETGR_R_SIZE_MAX___373 = 69,
    _SC_GETPW_R_SIZE_MAX___373 = 70,
    _SC_LOGIN_NAME_MAX___373 = 71,
    _SC_TTY_NAME_MAX___373 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___373 = 73,
    _SC_THREAD_KEYS_MAX___373 = 74,
    _SC_THREAD_STACK_MIN___373 = 75,
    _SC_THREAD_THREADS_MAX___373 = 76,
    _SC_THREAD_ATTR_STACKADDR___373 = 77,
    _SC_THREAD_ATTR_STACKSIZE___373 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___373 = 79,
    _SC_THREAD_PRIO_INHERIT___373 = 80,
    _SC_THREAD_PRIO_PROTECT___373 = 81,
    _SC_THREAD_PROCESS_SHARED___373 = 82,
    _SC_NPROCESSORS_CONF___373 = 83,
    _SC_NPROCESSORS_ONLN___373 = 84,
    _SC_PHYS_PAGES___373 = 85,
    _SC_AVPHYS_PAGES___373 = 86,
    _SC_ATEXIT_MAX___373 = 87,
    _SC_PASS_MAX___373 = 88,
    _SC_XOPEN_VERSION___373 = 89,
    _SC_XOPEN_XCU_VERSION___373 = 90,
    _SC_XOPEN_UNIX___373 = 91,
    _SC_XOPEN_CRYPT___373 = 92,
    _SC_XOPEN_ENH_I18N___373 = 93,
    _SC_XOPEN_SHM___373 = 94,
    _SC_2_CHAR_TERM___373 = 95,
    _SC_2_C_VERSION___373 = 96,
    _SC_2_UPE___373 = 97,
    _SC_XOPEN_XPG2___373 = 98,
    _SC_XOPEN_XPG3___373 = 99,
    _SC_XOPEN_XPG4___373 = 100,
    _SC_CHAR_BIT___373 = 101,
    _SC_CHAR_MAX___373 = 102,
    _SC_CHAR_MIN___373 = 103,
    _SC_INT_MAX___373 = 104,
    _SC_INT_MIN___373 = 105,
    _SC_LONG_BIT___373 = 106,
    _SC_WORD_BIT___373 = 107,
    _SC_MB_LEN_MAX___373 = 108,
    _SC_NZERO___373 = 109,
    _SC_SSIZE_MAX___373 = 110,
    _SC_SCHAR_MAX___373 = 111,
    _SC_SCHAR_MIN___373 = 112,
    _SC_SHRT_MAX___373 = 113,
    _SC_SHRT_MIN___373 = 114,
    _SC_UCHAR_MAX___373 = 115,
    _SC_UINT_MAX___373 = 116,
    _SC_ULONG_MAX___373 = 117,
    _SC_USHRT_MAX___373 = 118,
    _SC_NL_ARGMAX___373 = 119,
    _SC_NL_LANGMAX___373 = 120,
    _SC_NL_MSGMAX___373 = 121,
    _SC_NL_NMAX___373 = 122,
    _SC_NL_SETMAX___373 = 123,
    _SC_NL_TEXTMAX___373 = 124,
    _SC_XBS5_ILP32_OFF32___373 = 125,
    _SC_XBS5_ILP32_OFFBIG___373 = 126,
    _SC_XBS5_LP64_OFF64___373 = 127,
    _SC_XBS5_LPBIG_OFFBIG___373 = 128,
    _SC_XOPEN_LEGACY___373 = 129,
    _SC_XOPEN_REALTIME___373 = 130,
    _SC_XOPEN_REALTIME_THREADS___373 = 131,
    _SC_ADVISORY_INFO___373 = 132,
    _SC_BARRIERS___373 = 133,
    _SC_BASE___373 = 134,
    _SC_C_LANG_SUPPORT___373 = 135,
    _SC_C_LANG_SUPPORT_R___373 = 136,
    _SC_CLOCK_SELECTION___373 = 137,
    _SC_CPUTIME___373 = 138,
    _SC_THREAD_CPUTIME___373 = 139,
    _SC_DEVICE_IO___373 = 140,
    _SC_DEVICE_SPECIFIC___373 = 141,
    _SC_DEVICE_SPECIFIC_R___373 = 142,
    _SC_FD_MGMT___373 = 143,
    _SC_FIFO___373 = 144,
    _SC_PIPE___373 = 145,
    _SC_FILE_ATTRIBUTES___373 = 146,
    _SC_FILE_LOCKING___373 = 147,
    _SC_FILE_SYSTEM___373 = 148,
    _SC_MONOTONIC_CLOCK___373 = 149,
    _SC_MULTI_PROCESS___373 = 150,
    _SC_SINGLE_PROCESS___373 = 151,
    _SC_NETWORKING___373 = 152,
    _SC_READER_WRITER_LOCKS___373 = 153,
    _SC_SPIN_LOCKS___373 = 154,
    _SC_REGEXP___373 = 155,
    _SC_REGEX_VERSION___373 = 156,
    _SC_SHELL___373 = 157,
    _SC_SIGNALS___373 = 158,
    _SC_SPAWN___373 = 159,
    _SC_SPORADIC_SERVER___373 = 160,
    _SC_THREAD_SPORADIC_SERVER___373 = 161,
    _SC_SYSTEM_DATABASE___373 = 162,
    _SC_SYSTEM_DATABASE_R___373 = 163,
    _SC_TIMEOUTS___373 = 164,
    _SC_TYPED_MEMORY_OBJECTS___373 = 165,
    _SC_USER_GROUPS___373 = 166,
    _SC_USER_GROUPS_R___373 = 167,
    _SC_2_PBS___373 = 168,
    _SC_2_PBS_ACCOUNTING___373 = 169,
    _SC_2_PBS_LOCATE___373 = 170,
    _SC_2_PBS_MESSAGE___373 = 171,
    _SC_2_PBS_TRACK___373 = 172,
    _SC_SYMLOOP_MAX___373 = 173,
    _SC_STREAMS___373 = 174,
    _SC_2_PBS_CHECKPOINT___373 = 175,
    _SC_V6_ILP32_OFF32___373 = 176,
    _SC_V6_ILP32_OFFBIG___373 = 177,
    _SC_V6_LP64_OFF64___373 = 178,
    _SC_V6_LPBIG_OFFBIG___373 = 179,
    _SC_HOST_NAME_MAX___373 = 180,
    _SC_TRACE___373 = 181,
    _SC_TRACE_EVENT_FILTER___373 = 182,
    _SC_TRACE_INHERIT___373 = 183,
    _SC_TRACE_LOG___373 = 184,
    _SC_LEVEL1_ICACHE_SIZE___373 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___373 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___373 = 187,
    _SC_LEVEL1_DCACHE_SIZE___373 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___373 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___373 = 190,
    _SC_LEVEL2_CACHE_SIZE___373 = 191,
    _SC_LEVEL2_CACHE_ASSOC___373 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___373 = 193,
    _SC_LEVEL3_CACHE_SIZE___373 = 194,
    _SC_LEVEL3_CACHE_ASSOC___373 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___373 = 196,
    _SC_LEVEL4_CACHE_SIZE___373 = 197,
    _SC_LEVEL4_CACHE_ASSOC___373 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___373 = 199,
    _SC_IPV6___373 = 235,
    _SC_RAW_SOCKETS___373 = 236,
    _SC_V7_ILP32_OFF32___373 = 237,
    _SC_V7_ILP32_OFFBIG___373 = 238,
    _SC_V7_LP64_OFF64___373 = 239,
    _SC_V7_LPBIG_OFFBIG___373 = 240,
    _SC_SS_REPL_MAX___373 = 241,
    _SC_TRACE_EVENT_NAME_MAX___373 = 242,
    _SC_TRACE_NAME_MAX___373 = 243,
    _SC_TRACE_SYS_MAX___373 = 244,
    _SC_TRACE_USER_EVENT_MAX___373 = 245,
    _SC_XOPEN_STREAMS___373 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___373 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___373 = 248
} ;
enum __anonenum_875524036___373 {
    _CS_PATH___373 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___373 = 1,
    _CS_GNU_LIBC_VERSION___373 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___373 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___373 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___373 = 5,
    _CS_LFS_CFLAGS___373 = 1000,
    _CS_LFS_LDFLAGS___373 = 1001,
    _CS_LFS_LIBS___373 = 1002,
    _CS_LFS_LINTFLAGS___373 = 1003,
    _CS_LFS64_CFLAGS___373 = 1004,
    _CS_LFS64_LDFLAGS___373 = 1005,
    _CS_LFS64_LIBS___373 = 1006,
    _CS_LFS64_LINTFLAGS___373 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___373 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___373 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___373 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___373 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___373 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___373 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___373 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___373 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___373 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___373 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___373 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___373 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___373 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___373 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___373 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___373 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___373 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___373 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___373 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___373 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___373 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___373 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___373 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___373 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___373 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___373 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___373 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___373 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___373 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___373 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___373 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___373 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___373 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___373 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___373 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___373 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___373 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___373 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___373 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___373 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___373 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___373 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___373 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___373 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___373 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___373 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___373 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___373 = 1147,
    _CS_V6_ENV___373 = 1148,
    _CS_V7_ENV___373 = 1149
} ;
enum __anonenum_513775621___373 {
    DT_UNKNOWN___373 = 0,
    DT_FIFO___373 = 1,
    DT_CHR___373 = 2,
    DT_DIR___373 = 4,
    DT_BLK___373 = 6,
    DT_REG___373 = 8,
    DT_LNK___373 = 10,
    DT_SOCK___373 = 12,
    DT_WHT___373 = 14
} ;
enum __anonenum_77002343___373 {
    SI_ASYNCNL___373 = -60,
    SI_TKILL___373 = -6,
    SI_SIGIO___373 = -5,
    SI_ASYNCIO___373 = -4,
    SI_MESGQ___373 = -3,
    SI_TIMER___373 = -2,
    SI_QUEUE___373 = -1,
    SI_USER___373 = 0,
    SI_KERNEL___373 = 128
} ;
enum __anonenum_131038172___373 {
    ILL_ILLOPC___373 = 1,
    ILL_ILLOPN___373 = 2,
    ILL_ILLADR___373 = 3,
    ILL_ILLTRP___373 = 4,
    ILL_PRVOPC___373 = 5,
    ILL_PRVREG___373 = 6,
    ILL_COPROC___373 = 7,
    ILL_BADSTK___373 = 8
} ;
enum __anonenum_452038093___373 {
    FPE_INTDIV___373 = 1,
    FPE_INTOVF___373 = 2,
    FPE_FLTDIV___373 = 3,
    FPE_FLTOVF___373 = 4,
    FPE_FLTUND___373 = 5,
    FPE_FLTRES___373 = 6,
    FPE_FLTINV___373 = 7,
    FPE_FLTSUB___373 = 8
} ;
enum __anonenum_30976155___373 {
    SEGV_MAPERR___373 = 1,
    SEGV_ACCERR___373 = 2,
    SEGV_BNDERR___373 = 3,
    SEGV_PKUERR___373 = 4
} ;
enum __anonenum_1036286214___373 {
    BUS_ADRALN___373 = 1,
    BUS_ADRERR___373 = 2,
    BUS_OBJERR___373 = 3,
    BUS_MCEERR_AR___373 = 4,
    BUS_MCEERR_AO___373 = 5
} ;
enum __anonenum_493465559___373 {
    TRAP_BRKPT___373 = 1,
    TRAP_TRACE___373 = 2
} ;
enum __anonenum_23175539___373 {
    CLD_EXITED___373 = 1,
    CLD_KILLED___373 = 2,
    CLD_DUMPED___373 = 3,
    CLD_TRAPPED___373 = 4,
    CLD_STOPPED___373 = 5,
    CLD_CONTINUED___373 = 6
} ;
enum __anonenum_111643124___373 {
    POLL_IN___373 = 1,
    POLL_OUT___373 = 2,
    POLL_MSG___373 = 3,
    POLL_ERR___373 = 4,
    POLL_PRI___373 = 5,
    POLL_HUP___373 = 6
} ;
enum __anonenum_852341087___373 {
    SIGEV_SIGNAL___373 = 0,
    SIGEV_NONE___373 = 1,
    SIGEV_THREAD___373 = 2,
    SIGEV_THREAD_ID___373 = 4
} ;
enum __anonenum_451154152___373 {
    REG_R8___373 = 0,
    REG_R9___373 = 1,
    REG_R10___373 = 2,
    REG_R11___373 = 3,
    REG_R12___373 = 4,
    REG_R13___373 = 5,
    REG_R14___373 = 6,
    REG_R15___373 = 7,
    REG_RDI___373 = 8,
    REG_RSI___373 = 9,
    REG_RBP___373 = 10,
    REG_RBX___373 = 11,
    REG_RDX___373 = 12,
    REG_RAX___373 = 13,
    REG_RCX___373 = 14,
    REG_RSP___373 = 15,
    REG_RIP___373 = 16,
    REG_EFL___373 = 17,
    REG_CSGSFS___373 = 18,
    REG_ERR___373 = 19,
    REG_TRAPNO___373 = 20,
    REG_OLDMASK___373 = 21,
    REG_CR2___373 = 22
} ;
enum __anonenum_57186863___373 {
    SS_ONSTACK___373 = 1,
    SS_DISABLE___373 = 2
} ;
enum __anonenum_83571709___373 {
    MSG_OOB___373 = 1,
    MSG_PEEK___373 = 2,
    MSG_DONTROUTE___373 = 4,
    MSG_TRYHARD___373 = 4,
    MSG_CTRUNC___373 = 8,
    MSG_PROXY___373 = 16,
    MSG_TRUNC___373 = 32,
    MSG_DONTWAIT___373 = 64,
    MSG_EOR___373 = 128,
    MSG_WAITALL___373 = 256,
    MSG_FIN___373 = 512,
    MSG_SYN___373 = 1024,
    MSG_CONFIRM___373 = 2048,
    MSG_RST___373 = 4096,
    MSG_ERRQUEUE___373 = 8192,
    MSG_NOSIGNAL___373 = 16384,
    MSG_MORE___373 = 32768,
    MSG_WAITFORONE___373 = 65536,
    MSG_BATCH___373 = 262144,
    MSG_ZEROCOPY___373 = 67108864,
    MSG_FASTOPEN___373 = 536870912,
    MSG_CMSG_CLOEXEC___373 = 1073741824
} ;
enum __anonenum_617082774___373 {
    SCM_RIGHTS___373 = 1,
    SCM_CREDENTIALS___373 = 2
} ;
enum __anonenum_606441560___373 {
    SHUT_RD___373 = 0,
    SHUT_WR___373 = 1,
    SHUT_RDWR___373 = 2
} ;
enum __anonenum_681669233___373 {
    IPPROTO_IP___373 = 0,
    IPPROTO_ICMP___373 = 1,
    IPPROTO_IGMP___373 = 2,
    IPPROTO_IPIP___373 = 4,
    IPPROTO_TCP___373 = 6,
    IPPROTO_EGP___373 = 8,
    IPPROTO_PUP___373 = 12,
    IPPROTO_UDP___373 = 17,
    IPPROTO_IDP___373 = 22,
    IPPROTO_TP___373 = 29,
    IPPROTO_DCCP___373 = 33,
    IPPROTO_IPV6___373 = 41,
    IPPROTO_RSVP___373 = 46,
    IPPROTO_GRE___373 = 47,
    IPPROTO_ESP___373 = 50,
    IPPROTO_AH___373 = 51,
    IPPROTO_MTP___373 = 92,
    IPPROTO_BEETPH___373 = 94,
    IPPROTO_ENCAP___373 = 98,
    IPPROTO_PIM___373 = 103,
    IPPROTO_COMP___373 = 108,
    IPPROTO_SCTP___373 = 132,
    IPPROTO_UDPLITE___373 = 136,
    IPPROTO_MPLS___373 = 137,
    IPPROTO_RAW___373 = 255,
    IPPROTO_MAX___373 = 256
} ;
enum __anonenum_218739988___373 {
    IPPROTO_HOPOPTS___373 = 0,
    IPPROTO_ROUTING___373 = 43,
    IPPROTO_FRAGMENT___373 = 44,
    IPPROTO_ICMPV6___373 = 58,
    IPPROTO_NONE___373 = 59,
    IPPROTO_DSTOPTS___373 = 60,
    IPPROTO_MH___373 = 135
} ;
enum __anonenum_662268580___373 {
    IPPORT_ECHO___373 = 7,
    IPPORT_DISCARD___373 = 9,
    IPPORT_SYSTAT___373 = 11,
    IPPORT_DAYTIME___373 = 13,
    IPPORT_NETSTAT___373 = 15,
    IPPORT_FTP___373 = 21,
    IPPORT_TELNET___373 = 23,
    IPPORT_SMTP___373 = 25,
    IPPORT_TIMESERVER___373 = 37,
    IPPORT_NAMESERVER___373 = 42,
    IPPORT_WHOIS___373 = 43,
    IPPORT_MTP___373 = 57,
    IPPORT_TFTP___373 = 69,
    IPPORT_RJE___373 = 77,
    IPPORT_FINGER___373 = 79,
    IPPORT_TTYLINK___373 = 87,
    IPPORT_SUPDUP___373 = 95,
    IPPORT_EXECSERVER___373 = 512,
    IPPORT_LOGINSERVER___373 = 513,
    IPPORT_CMDSERVER___373 = 514,
    IPPORT_EFSSERVER___373 = 520,
    IPPORT_BIFFUDP___373 = 512,
    IPPORT_WHOSERVER___373 = 513,
    IPPORT_ROUTESERVER___373 = 520,
    IPPORT_RESERVED___373 = 1024,
    IPPORT_USERRESERVED___373 = 5000
} ;
enum __anonenum_788308992___373 {
    TCP_ESTABLISHED___373 = 1,
    TCP_SYN_SENT___373 = 2,
    TCP_SYN_RECV___373 = 3,
    TCP_FIN_WAIT1___373 = 4,
    TCP_FIN_WAIT2___373 = 5,
    TCP_TIME_WAIT___373 = 6,
    TCP_CLOSE___373 = 7,
    TCP_CLOSE_WAIT___373 = 8,
    TCP_LAST_ACK___373 = 9,
    TCP_LISTEN___373 = 10,
    TCP_CLOSING___373 = 11
} ;
enum __anonenum_221125648___373 {
    TCP_NO_QUEUE___373 = 0,
    TCP_RECV_QUEUE___373 = 1,
    TCP_SEND_QUEUE___373 = 2,
    TCP_QUEUES_NR___373 = 3
} ;
enum __anonenum_34415463___373 {
    PTHREAD_CREATE_JOINABLE___373 = 0,
    PTHREAD_CREATE_DETACHED___373 = 1
} ;
enum __anonenum_303612439___373 {
    PTHREAD_MUTEX_TIMED_NP___373 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___373 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___373 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___373 = 3,
    PTHREAD_MUTEX_NORMAL___373 = 0,
    PTHREAD_MUTEX_RECURSIVE___373 = 1,
    PTHREAD_MUTEX_ERRORCHECK___373 = 2,
    PTHREAD_MUTEX_DEFAULT___373 = 0,
    PTHREAD_MUTEX_FAST_NP___373 = 0
} ;
enum __anonenum_931900394___373 {
    PTHREAD_MUTEX_STALLED___373 = 0,
    PTHREAD_MUTEX_STALLED_NP___373 = 0,
    PTHREAD_MUTEX_ROBUST___373 = 1,
    PTHREAD_MUTEX_ROBUST_NP___373 = 1
} ;
enum __anonenum_205214487___373 {
    PTHREAD_PRIO_NONE___373 = 0,
    PTHREAD_PRIO_INHERIT___373 = 1,
    PTHREAD_PRIO_PROTECT___373 = 2
} ;
enum __anonenum_25043950___373 {
    PTHREAD_RWLOCK_PREFER_READER_NP___373 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___373 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___373 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___373 = 0
} ;
enum __anonenum_436439511___373 {
    PTHREAD_INHERIT_SCHED___373 = 0,
    PTHREAD_EXPLICIT_SCHED___373 = 1
} ;
enum __anonenum_998661166___373 {
    PTHREAD_SCOPE_SYSTEM___373 = 0,
    PTHREAD_SCOPE_PROCESS___373 = 1
} ;
enum __anonenum_146137331___373 {
    PTHREAD_PROCESS_PRIVATE___373 = 0,
    PTHREAD_PROCESS_SHARED___373 = 1
} ;
enum __anonenum_53396917___373 {
    PTHREAD_CANCEL_ENABLE___373 = 0,
    PTHREAD_CANCEL_DISABLE___373 = 1
} ;
enum __anonenum_904563783___373 {
    PTHREAD_CANCEL_DEFERRED___373 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___373 = 1
} ;
enum __anonenum_672052974___373 {
    SSL_CT_VALIDATION_PERMISSIVE___373 = 0,
    SSL_CT_VALIDATION_STRICT___373 = 1
} ;
enum stripspace_mode {
    STRIP_DEFAULT = 0,
    STRIP_COMMENTS = 1,
    COMMENT_LINES = 2
} ;
enum __anonenum_437032235___374 {
    _PC_LINK_MAX___374 = 0,
    _PC_MAX_CANON___374 = 1,
    _PC_MAX_INPUT___374 = 2,
    _PC_NAME_MAX___374 = 3,
    _PC_PATH_MAX___374 = 4,
    _PC_PIPE_BUF___374 = 5,
    _PC_CHOWN_RESTRICTED___374 = 6,
    _PC_NO_TRUNC___374 = 7,
    _PC_VDISABLE___374 = 8,
    _PC_SYNC_IO___374 = 9,
    _PC_ASYNC_IO___374 = 10,
    _PC_PRIO_IO___374 = 11,
    _PC_SOCK_MAXBUF___374 = 12,
    _PC_FILESIZEBITS___374 = 13,
    _PC_REC_INCR_XFER_SIZE___374 = 14,
    _PC_REC_MAX_XFER_SIZE___374 = 15,
    _PC_REC_MIN_XFER_SIZE___374 = 16,
    _PC_REC_XFER_ALIGN___374 = 17,
    _PC_ALLOC_SIZE_MIN___374 = 18,
    _PC_SYMLINK_MAX___374 = 19,
    _PC_2_SYMLINKS___374 = 20
} ;
enum __anonenum_315186338___374 {
    _SC_ARG_MAX___374 = 0,
    _SC_CHILD_MAX___374 = 1,
    _SC_CLK_TCK___374 = 2,
    _SC_NGROUPS_MAX___374 = 3,
    _SC_OPEN_MAX___374 = 4,
    _SC_STREAM_MAX___374 = 5,
    _SC_TZNAME_MAX___374 = 6,
    _SC_JOB_CONTROL___374 = 7,
    _SC_SAVED_IDS___374 = 8,
    _SC_REALTIME_SIGNALS___374 = 9,
    _SC_PRIORITY_SCHEDULING___374 = 10,
    _SC_TIMERS___374 = 11,
    _SC_ASYNCHRONOUS_IO___374 = 12,
    _SC_PRIORITIZED_IO___374 = 13,
    _SC_SYNCHRONIZED_IO___374 = 14,
    _SC_FSYNC___374 = 15,
    _SC_MAPPED_FILES___374 = 16,
    _SC_MEMLOCK___374 = 17,
    _SC_MEMLOCK_RANGE___374 = 18,
    _SC_MEMORY_PROTECTION___374 = 19,
    _SC_MESSAGE_PASSING___374 = 20,
    _SC_SEMAPHORES___374 = 21,
    _SC_SHARED_MEMORY_OBJECTS___374 = 22,
    _SC_AIO_LISTIO_MAX___374 = 23,
    _SC_AIO_MAX___374 = 24,
    _SC_AIO_PRIO_DELTA_MAX___374 = 25,
    _SC_DELAYTIMER_MAX___374 = 26,
    _SC_MQ_OPEN_MAX___374 = 27,
    _SC_MQ_PRIO_MAX___374 = 28,
    _SC_VERSION___374 = 29,
    _SC_PAGESIZE___374 = 30,
    _SC_RTSIG_MAX___374 = 31,
    _SC_SEM_NSEMS_MAX___374 = 32,
    _SC_SEM_VALUE_MAX___374 = 33,
    _SC_SIGQUEUE_MAX___374 = 34,
    _SC_TIMER_MAX___374 = 35,
    _SC_BC_BASE_MAX___374 = 36,
    _SC_BC_DIM_MAX___374 = 37,
    _SC_BC_SCALE_MAX___374 = 38,
    _SC_BC_STRING_MAX___374 = 39,
    _SC_COLL_WEIGHTS_MAX___374 = 40,
    _SC_EQUIV_CLASS_MAX___374 = 41,
    _SC_EXPR_NEST_MAX___374 = 42,
    _SC_LINE_MAX___374 = 43,
    _SC_RE_DUP_MAX___374 = 44,
    _SC_CHARCLASS_NAME_MAX___374 = 45,
    _SC_2_VERSION___374 = 46,
    _SC_2_C_BIND___374 = 47,
    _SC_2_C_DEV___374 = 48,
    _SC_2_FORT_DEV___374 = 49,
    _SC_2_FORT_RUN___374 = 50,
    _SC_2_SW_DEV___374 = 51,
    _SC_2_LOCALEDEF___374 = 52,
    _SC_PII___374 = 53,
    _SC_PII_XTI___374 = 54,
    _SC_PII_SOCKET___374 = 55,
    _SC_PII_INTERNET___374 = 56,
    _SC_PII_OSI___374 = 57,
    _SC_POLL___374 = 58,
    _SC_SELECT___374 = 59,
    _SC_UIO_MAXIOV___374 = 60,
    _SC_IOV_MAX___374 = 60,
    _SC_PII_INTERNET_STREAM___374 = 61,
    _SC_PII_INTERNET_DGRAM___374 = 62,
    _SC_PII_OSI_COTS___374 = 63,
    _SC_PII_OSI_CLTS___374 = 64,
    _SC_PII_OSI_M___374 = 65,
    _SC_T_IOV_MAX___374 = 66,
    _SC_THREADS___374 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___374 = 68,
    _SC_GETGR_R_SIZE_MAX___374 = 69,
    _SC_GETPW_R_SIZE_MAX___374 = 70,
    _SC_LOGIN_NAME_MAX___374 = 71,
    _SC_TTY_NAME_MAX___374 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___374 = 73,
    _SC_THREAD_KEYS_MAX___374 = 74,
    _SC_THREAD_STACK_MIN___374 = 75,
    _SC_THREAD_THREADS_MAX___374 = 76,
    _SC_THREAD_ATTR_STACKADDR___374 = 77,
    _SC_THREAD_ATTR_STACKSIZE___374 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___374 = 79,
    _SC_THREAD_PRIO_INHERIT___374 = 80,
    _SC_THREAD_PRIO_PROTECT___374 = 81,
    _SC_THREAD_PROCESS_SHARED___374 = 82,
    _SC_NPROCESSORS_CONF___374 = 83,
    _SC_NPROCESSORS_ONLN___374 = 84,
    _SC_PHYS_PAGES___374 = 85,
    _SC_AVPHYS_PAGES___374 = 86,
    _SC_ATEXIT_MAX___374 = 87,
    _SC_PASS_MAX___374 = 88,
    _SC_XOPEN_VERSION___374 = 89,
    _SC_XOPEN_XCU_VERSION___374 = 90,
    _SC_XOPEN_UNIX___374 = 91,
    _SC_XOPEN_CRYPT___374 = 92,
    _SC_XOPEN_ENH_I18N___374 = 93,
    _SC_XOPEN_SHM___374 = 94,
    _SC_2_CHAR_TERM___374 = 95,
    _SC_2_C_VERSION___374 = 96,
    _SC_2_UPE___374 = 97,
    _SC_XOPEN_XPG2___374 = 98,
    _SC_XOPEN_XPG3___374 = 99,
    _SC_XOPEN_XPG4___374 = 100,
    _SC_CHAR_BIT___374 = 101,
    _SC_CHAR_MAX___374 = 102,
    _SC_CHAR_MIN___374 = 103,
    _SC_INT_MAX___374 = 104,
    _SC_INT_MIN___374 = 105,
    _SC_LONG_BIT___374 = 106,
    _SC_WORD_BIT___374 = 107,
    _SC_MB_LEN_MAX___374 = 108,
    _SC_NZERO___374 = 109,
    _SC_SSIZE_MAX___374 = 110,
    _SC_SCHAR_MAX___374 = 111,
    _SC_SCHAR_MIN___374 = 112,
    _SC_SHRT_MAX___374 = 113,
    _SC_SHRT_MIN___374 = 114,
    _SC_UCHAR_MAX___374 = 115,
    _SC_UINT_MAX___374 = 116,
    _SC_ULONG_MAX___374 = 117,
    _SC_USHRT_MAX___374 = 118,
    _SC_NL_ARGMAX___374 = 119,
    _SC_NL_LANGMAX___374 = 120,
    _SC_NL_MSGMAX___374 = 121,
    _SC_NL_NMAX___374 = 122,
    _SC_NL_SETMAX___374 = 123,
    _SC_NL_TEXTMAX___374 = 124,
    _SC_XBS5_ILP32_OFF32___374 = 125,
    _SC_XBS5_ILP32_OFFBIG___374 = 126,
    _SC_XBS5_LP64_OFF64___374 = 127,
    _SC_XBS5_LPBIG_OFFBIG___374 = 128,
    _SC_XOPEN_LEGACY___374 = 129,
    _SC_XOPEN_REALTIME___374 = 130,
    _SC_XOPEN_REALTIME_THREADS___374 = 131,
    _SC_ADVISORY_INFO___374 = 132,
    _SC_BARRIERS___374 = 133,
    _SC_BASE___374 = 134,
    _SC_C_LANG_SUPPORT___374 = 135,
    _SC_C_LANG_SUPPORT_R___374 = 136,
    _SC_CLOCK_SELECTION___374 = 137,
    _SC_CPUTIME___374 = 138,
    _SC_THREAD_CPUTIME___374 = 139,
    _SC_DEVICE_IO___374 = 140,
    _SC_DEVICE_SPECIFIC___374 = 141,
    _SC_DEVICE_SPECIFIC_R___374 = 142,
    _SC_FD_MGMT___374 = 143,
    _SC_FIFO___374 = 144,
    _SC_PIPE___374 = 145,
    _SC_FILE_ATTRIBUTES___374 = 146,
    _SC_FILE_LOCKING___374 = 147,
    _SC_FILE_SYSTEM___374 = 148,
    _SC_MONOTONIC_CLOCK___374 = 149,
    _SC_MULTI_PROCESS___374 = 150,
    _SC_SINGLE_PROCESS___374 = 151,
    _SC_NETWORKING___374 = 152,
    _SC_READER_WRITER_LOCKS___374 = 153,
    _SC_SPIN_LOCKS___374 = 154,
    _SC_REGEXP___374 = 155,
    _SC_REGEX_VERSION___374 = 156,
    _SC_SHELL___374 = 157,
    _SC_SIGNALS___374 = 158,
    _SC_SPAWN___374 = 159,
    _SC_SPORADIC_SERVER___374 = 160,
    _SC_THREAD_SPORADIC_SERVER___374 = 161,
    _SC_SYSTEM_DATABASE___374 = 162,
    _SC_SYSTEM_DATABASE_R___374 = 163,
    _SC_TIMEOUTS___374 = 164,
    _SC_TYPED_MEMORY_OBJECTS___374 = 165,
    _SC_USER_GROUPS___374 = 166,
    _SC_USER_GROUPS_R___374 = 167,
    _SC_2_PBS___374 = 168,
    _SC_2_PBS_ACCOUNTING___374 = 169,
    _SC_2_PBS_LOCATE___374 = 170,
    _SC_2_PBS_MESSAGE___374 = 171,
    _SC_2_PBS_TRACK___374 = 172,
    _SC_SYMLOOP_MAX___374 = 173,
    _SC_STREAMS___374 = 174,
    _SC_2_PBS_CHECKPOINT___374 = 175,
    _SC_V6_ILP32_OFF32___374 = 176,
    _SC_V6_ILP32_OFFBIG___374 = 177,
    _SC_V6_LP64_OFF64___374 = 178,
    _SC_V6_LPBIG_OFFBIG___374 = 179,
    _SC_HOST_NAME_MAX___374 = 180,
    _SC_TRACE___374 = 181,
    _SC_TRACE_EVENT_FILTER___374 = 182,
    _SC_TRACE_INHERIT___374 = 183,
    _SC_TRACE_LOG___374 = 184,
    _SC_LEVEL1_ICACHE_SIZE___374 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___374 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___374 = 187,
    _SC_LEVEL1_DCACHE_SIZE___374 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___374 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___374 = 190,
    _SC_LEVEL2_CACHE_SIZE___374 = 191,
    _SC_LEVEL2_CACHE_ASSOC___374 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___374 = 193,
    _SC_LEVEL3_CACHE_SIZE___374 = 194,
    _SC_LEVEL3_CACHE_ASSOC___374 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___374 = 196,
    _SC_LEVEL4_CACHE_SIZE___374 = 197,
    _SC_LEVEL4_CACHE_ASSOC___374 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___374 = 199,
    _SC_IPV6___374 = 235,
    _SC_RAW_SOCKETS___374 = 236,
    _SC_V7_ILP32_OFF32___374 = 237,
    _SC_V7_ILP32_OFFBIG___374 = 238,
    _SC_V7_LP64_OFF64___374 = 239,
    _SC_V7_LPBIG_OFFBIG___374 = 240,
    _SC_SS_REPL_MAX___374 = 241,
    _SC_TRACE_EVENT_NAME_MAX___374 = 242,
    _SC_TRACE_NAME_MAX___374 = 243,
    _SC_TRACE_SYS_MAX___374 = 244,
    _SC_TRACE_USER_EVENT_MAX___374 = 245,
    _SC_XOPEN_STREAMS___374 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___374 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___374 = 248
} ;
enum __anonenum_875524036___374 {
    _CS_PATH___374 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___374 = 1,
    _CS_GNU_LIBC_VERSION___374 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___374 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___374 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___374 = 5,
    _CS_LFS_CFLAGS___374 = 1000,
    _CS_LFS_LDFLAGS___374 = 1001,
    _CS_LFS_LIBS___374 = 1002,
    _CS_LFS_LINTFLAGS___374 = 1003,
    _CS_LFS64_CFLAGS___374 = 1004,
    _CS_LFS64_LDFLAGS___374 = 1005,
    _CS_LFS64_LIBS___374 = 1006,
    _CS_LFS64_LINTFLAGS___374 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___374 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___374 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___374 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___374 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___374 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___374 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___374 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___374 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___374 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___374 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___374 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___374 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___374 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___374 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___374 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___374 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___374 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___374 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___374 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___374 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___374 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___374 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___374 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___374 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___374 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___374 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___374 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___374 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___374 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___374 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___374 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___374 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___374 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___374 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___374 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___374 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___374 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___374 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___374 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___374 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___374 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___374 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___374 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___374 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___374 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___374 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___374 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___374 = 1147,
    _CS_V6_ENV___374 = 1148,
    _CS_V7_ENV___374 = 1149
} ;
enum __anonenum_513775621___374 {
    DT_UNKNOWN___374 = 0,
    DT_FIFO___374 = 1,
    DT_CHR___374 = 2,
    DT_DIR___374 = 4,
    DT_BLK___374 = 6,
    DT_REG___374 = 8,
    DT_LNK___374 = 10,
    DT_SOCK___374 = 12,
    DT_WHT___374 = 14
} ;
enum __anonenum_77002343___374 {
    SI_ASYNCNL___374 = -60,
    SI_TKILL___374 = -6,
    SI_SIGIO___374 = -5,
    SI_ASYNCIO___374 = -4,
    SI_MESGQ___374 = -3,
    SI_TIMER___374 = -2,
    SI_QUEUE___374 = -1,
    SI_USER___374 = 0,
    SI_KERNEL___374 = 128
} ;
enum __anonenum_131038172___374 {
    ILL_ILLOPC___374 = 1,
    ILL_ILLOPN___374 = 2,
    ILL_ILLADR___374 = 3,
    ILL_ILLTRP___374 = 4,
    ILL_PRVOPC___374 = 5,
    ILL_PRVREG___374 = 6,
    ILL_COPROC___374 = 7,
    ILL_BADSTK___374 = 8
} ;
enum __anonenum_452038093___374 {
    FPE_INTDIV___374 = 1,
    FPE_INTOVF___374 = 2,
    FPE_FLTDIV___374 = 3,
    FPE_FLTOVF___374 = 4,
    FPE_FLTUND___374 = 5,
    FPE_FLTRES___374 = 6,
    FPE_FLTINV___374 = 7,
    FPE_FLTSUB___374 = 8
} ;
enum __anonenum_30976155___374 {
    SEGV_MAPERR___374 = 1,
    SEGV_ACCERR___374 = 2,
    SEGV_BNDERR___374 = 3,
    SEGV_PKUERR___374 = 4
} ;
enum __anonenum_1036286214___374 {
    BUS_ADRALN___374 = 1,
    BUS_ADRERR___374 = 2,
    BUS_OBJERR___374 = 3,
    BUS_MCEERR_AR___374 = 4,
    BUS_MCEERR_AO___374 = 5
} ;
enum __anonenum_493465559___374 {
    TRAP_BRKPT___374 = 1,
    TRAP_TRACE___374 = 2
} ;
enum __anonenum_23175539___374 {
    CLD_EXITED___374 = 1,
    CLD_KILLED___374 = 2,
    CLD_DUMPED___374 = 3,
    CLD_TRAPPED___374 = 4,
    CLD_STOPPED___374 = 5,
    CLD_CONTINUED___374 = 6
} ;
enum __anonenum_111643124___374 {
    POLL_IN___374 = 1,
    POLL_OUT___374 = 2,
    POLL_MSG___374 = 3,
    POLL_ERR___374 = 4,
    POLL_PRI___374 = 5,
    POLL_HUP___374 = 6
} ;
enum __anonenum_852341087___374 {
    SIGEV_SIGNAL___374 = 0,
    SIGEV_NONE___374 = 1,
    SIGEV_THREAD___374 = 2,
    SIGEV_THREAD_ID___374 = 4
} ;
enum __anonenum_451154152___374 {
    REG_R8___374 = 0,
    REG_R9___374 = 1,
    REG_R10___374 = 2,
    REG_R11___374 = 3,
    REG_R12___374 = 4,
    REG_R13___374 = 5,
    REG_R14___374 = 6,
    REG_R15___374 = 7,
    REG_RDI___374 = 8,
    REG_RSI___374 = 9,
    REG_RBP___374 = 10,
    REG_RBX___374 = 11,
    REG_RDX___374 = 12,
    REG_RAX___374 = 13,
    REG_RCX___374 = 14,
    REG_RSP___374 = 15,
    REG_RIP___374 = 16,
    REG_EFL___374 = 17,
    REG_CSGSFS___374 = 18,
    REG_ERR___374 = 19,
    REG_TRAPNO___374 = 20,
    REG_OLDMASK___374 = 21,
    REG_CR2___374 = 22
} ;
enum __anonenum_57186863___374 {
    SS_ONSTACK___374 = 1,
    SS_DISABLE___374 = 2
} ;
enum __anonenum_83571709___374 {
    MSG_OOB___374 = 1,
    MSG_PEEK___374 = 2,
    MSG_DONTROUTE___374 = 4,
    MSG_TRYHARD___374 = 4,
    MSG_CTRUNC___374 = 8,
    MSG_PROXY___374 = 16,
    MSG_TRUNC___374 = 32,
    MSG_DONTWAIT___374 = 64,
    MSG_EOR___374 = 128,
    MSG_WAITALL___374 = 256,
    MSG_FIN___374 = 512,
    MSG_SYN___374 = 1024,
    MSG_CONFIRM___374 = 2048,
    MSG_RST___374 = 4096,
    MSG_ERRQUEUE___374 = 8192,
    MSG_NOSIGNAL___374 = 16384,
    MSG_MORE___374 = 32768,
    MSG_WAITFORONE___374 = 65536,
    MSG_BATCH___374 = 262144,
    MSG_ZEROCOPY___374 = 67108864,
    MSG_FASTOPEN___374 = 536870912,
    MSG_CMSG_CLOEXEC___374 = 1073741824
} ;
enum __anonenum_617082774___374 {
    SCM_RIGHTS___374 = 1,
    SCM_CREDENTIALS___374 = 2
} ;
enum __anonenum_606441560___374 {
    SHUT_RD___374 = 0,
    SHUT_WR___374 = 1,
    SHUT_RDWR___374 = 2
} ;
enum __anonenum_681669233___374 {
    IPPROTO_IP___374 = 0,
    IPPROTO_ICMP___374 = 1,
    IPPROTO_IGMP___374 = 2,
    IPPROTO_IPIP___374 = 4,
    IPPROTO_TCP___374 = 6,
    IPPROTO_EGP___374 = 8,
    IPPROTO_PUP___374 = 12,
    IPPROTO_UDP___374 = 17,
    IPPROTO_IDP___374 = 22,
    IPPROTO_TP___374 = 29,
    IPPROTO_DCCP___374 = 33,
    IPPROTO_IPV6___374 = 41,
    IPPROTO_RSVP___374 = 46,
    IPPROTO_GRE___374 = 47,
    IPPROTO_ESP___374 = 50,
    IPPROTO_AH___374 = 51,
    IPPROTO_MTP___374 = 92,
    IPPROTO_BEETPH___374 = 94,
    IPPROTO_ENCAP___374 = 98,
    IPPROTO_PIM___374 = 103,
    IPPROTO_COMP___374 = 108,
    IPPROTO_SCTP___374 = 132,
    IPPROTO_UDPLITE___374 = 136,
    IPPROTO_MPLS___374 = 137,
    IPPROTO_RAW___374 = 255,
    IPPROTO_MAX___374 = 256
} ;
enum __anonenum_218739988___374 {
    IPPROTO_HOPOPTS___374 = 0,
    IPPROTO_ROUTING___374 = 43,
    IPPROTO_FRAGMENT___374 = 44,
    IPPROTO_ICMPV6___374 = 58,
    IPPROTO_NONE___374 = 59,
    IPPROTO_DSTOPTS___374 = 60,
    IPPROTO_MH___374 = 135
} ;
enum __anonenum_662268580___374 {
    IPPORT_ECHO___374 = 7,
    IPPORT_DISCARD___374 = 9,
    IPPORT_SYSTAT___374 = 11,
    IPPORT_DAYTIME___374 = 13,
    IPPORT_NETSTAT___374 = 15,
    IPPORT_FTP___374 = 21,
    IPPORT_TELNET___374 = 23,
    IPPORT_SMTP___374 = 25,
    IPPORT_TIMESERVER___374 = 37,
    IPPORT_NAMESERVER___374 = 42,
    IPPORT_WHOIS___374 = 43,
    IPPORT_MTP___374 = 57,
    IPPORT_TFTP___374 = 69,
    IPPORT_RJE___374 = 77,
    IPPORT_FINGER___374 = 79,
    IPPORT_TTYLINK___374 = 87,
    IPPORT_SUPDUP___374 = 95,
    IPPORT_EXECSERVER___374 = 512,
    IPPORT_LOGINSERVER___374 = 513,
    IPPORT_CMDSERVER___374 = 514,
    IPPORT_EFSSERVER___374 = 520,
    IPPORT_BIFFUDP___374 = 512,
    IPPORT_WHOSERVER___374 = 513,
    IPPORT_ROUTESERVER___374 = 520,
    IPPORT_RESERVED___374 = 1024,
    IPPORT_USERRESERVED___374 = 5000
} ;
enum __anonenum_788308992___374 {
    TCP_ESTABLISHED___374 = 1,
    TCP_SYN_SENT___374 = 2,
    TCP_SYN_RECV___374 = 3,
    TCP_FIN_WAIT1___374 = 4,
    TCP_FIN_WAIT2___374 = 5,
    TCP_TIME_WAIT___374 = 6,
    TCP_CLOSE___374 = 7,
    TCP_CLOSE_WAIT___374 = 8,
    TCP_LAST_ACK___374 = 9,
    TCP_LISTEN___374 = 10,
    TCP_CLOSING___374 = 11
} ;
enum __anonenum_221125648___374 {
    TCP_NO_QUEUE___374 = 0,
    TCP_RECV_QUEUE___374 = 1,
    TCP_SEND_QUEUE___374 = 2,
    TCP_QUEUES_NR___374 = 3
} ;
enum __anonenum_34415463___374 {
    PTHREAD_CREATE_JOINABLE___374 = 0,
    PTHREAD_CREATE_DETACHED___374 = 1
} ;
enum __anonenum_303612439___374 {
    PTHREAD_MUTEX_TIMED_NP___374 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___374 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___374 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___374 = 3,
    PTHREAD_MUTEX_NORMAL___374 = 0,
    PTHREAD_MUTEX_RECURSIVE___374 = 1,
    PTHREAD_MUTEX_ERRORCHECK___374 = 2,
    PTHREAD_MUTEX_DEFAULT___374 = 0,
    PTHREAD_MUTEX_FAST_NP___374 = 0
} ;
enum __anonenum_931900394___374 {
    PTHREAD_MUTEX_STALLED___374 = 0,
    PTHREAD_MUTEX_STALLED_NP___374 = 0,
    PTHREAD_MUTEX_ROBUST___374 = 1,
    PTHREAD_MUTEX_ROBUST_NP___374 = 1
} ;
enum __anonenum_205214487___374 {
    PTHREAD_PRIO_NONE___374 = 0,
    PTHREAD_PRIO_INHERIT___374 = 1,
    PTHREAD_PRIO_PROTECT___374 = 2
} ;
enum __anonenum_25043950___374 {
    PTHREAD_RWLOCK_PREFER_READER_NP___374 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___374 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___374 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___374 = 0
} ;
enum __anonenum_436439511___374 {
    PTHREAD_INHERIT_SCHED___374 = 0,
    PTHREAD_EXPLICIT_SCHED___374 = 1
} ;
enum __anonenum_998661166___374 {
    PTHREAD_SCOPE_SYSTEM___374 = 0,
    PTHREAD_SCOPE_PROCESS___374 = 1
} ;
enum __anonenum_146137331___374 {
    PTHREAD_PROCESS_PRIVATE___374 = 0,
    PTHREAD_PROCESS_SHARED___374 = 1
} ;
enum __anonenum_53396917___374 {
    PTHREAD_CANCEL_ENABLE___374 = 0,
    PTHREAD_CANCEL_DISABLE___374 = 1
} ;
enum __anonenum_904563783___374 {
    PTHREAD_CANCEL_DEFERRED___374 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___374 = 1
} ;
enum __anonenum_672052974___374 {
    SSL_CT_VALIDATION_PERMISSIVE___374 = 0,
    SSL_CT_VALIDATION_STRICT___374 = 1
} ;
enum __anonenum_561748495___34 {
    RECURSE_SUBMODULES_ONLY___34 = -5,
    RECURSE_SUBMODULES_CHECK___34 = -4,
    RECURSE_SUBMODULES_ERROR___34 = -3,
    RECURSE_SUBMODULES_NONE___34 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___34 = -1,
    RECURSE_SUBMODULES_OFF___34 = 0,
    RECURSE_SUBMODULES_DEFAULT___34 = 1,
    RECURSE_SUBMODULES_ON___34 = 2
} ;
enum __anonenum_34023289___46 {
    REMOTE_UNCONFIGURED___46 = 0,
    REMOTE_CONFIG___46 = 1,
    REMOTE_REMOTES___46 = 2,
    REMOTE_BRANCHES___46 = 3
} ;
typedef void (*each_submodule_fn)(struct cache_entry  const  *list_item , void *cb_data );
struct module_list {
   struct cache_entry  const  **entries ;
   int alloc ;
   int nr ;
};
struct foreach_cb {
   int argc ;
   char const   **argv ;
   char const   *prefix ;
   int quiet ;
   int recursive ;
};
struct init_cb {
   char const   *prefix ;
   unsigned int flags ;
};
struct status_cb {
   char const   *prefix ;
   unsigned int flags ;
};
struct module_cb {
   unsigned int mod_src ;
   unsigned int mod_dst ;
   struct object_id oid_src ;
   struct object_id oid_dst ;
   char status ;
   char const   *sm_path ;
};
struct module_cb_list {
   struct module_cb **entries ;
   int alloc ;
   int nr ;
};
struct summary_cb {
   int argc ;
   char const   **argv ;
   char const   *prefix ;
   unsigned int cached : 1 ;
   unsigned int for_status : 1 ;
   unsigned int files : 1 ;
   int summary_limit ;
};
enum diff_cmd {
    DIFF_INDEX = 0,
    DIFF_FILES = 1
} ;
struct sync_cb {
   char const   *prefix ;
   unsigned int flags ;
};
struct deinit_cb {
   char const   *prefix ;
   unsigned int flags ;
};
struct module_clone_data {
   char const   *prefix ;
   char const   *path ;
   char const   *name ;
   char const   *url ;
   char const   *depth ;
   struct string_list reference ;
   unsigned int quiet : 1 ;
   unsigned int progress : 1 ;
   unsigned int dissociate : 1 ;
   unsigned int require_init : 1 ;
   int single_branch ;
};
enum SUBMODULE_ALTERNATE_ERROR_MODE {
    SUBMODULE_ALTERNATE_ERROR_DIE = 0,
    SUBMODULE_ALTERNATE_ERROR_INFO = 1,
    SUBMODULE_ALTERNATE_ERROR_IGNORE = 2
} ;
struct submodule_alternate_setup {
   char const   *submodule_name ;
   enum SUBMODULE_ALTERNATE_ERROR_MODE error_mode ;
   struct string_list *reference ;
};
struct update_clone_data {
   struct submodule  const  *sub ;
   struct object_id oid ;
   unsigned int just_cloned ;
};
struct submodule_update_clone {
   int current ;
   struct module_list list ;
   unsigned int warn_if_uninitialized : 1 ;
   struct submodule_update_strategy update ;
   int progress ;
   int quiet ;
   int recommend_shallow ;
   struct string_list references ;
   int dissociate ;
   unsigned int require_init ;
   char const   *depth ;
   char const   *recursive_prefix ;
   char const   *prefix ;
   int single_branch ;
   struct update_clone_data *update_clone ;
   int update_clone_nr ;
   int update_clone_alloc ;
   unsigned int quickstop : 1 ;
   struct cache_entry  const  **failed_clones ;
   int failed_clones_nr ;
   int failed_clones_alloc ;
   int max_jobs ;
};
struct update_data {
   char const   *recursive_prefix ;
   char const   *sm_path ;
   char const   *displaypath ;
   struct object_id oid ;
   struct object_id suboid ;
   struct submodule_update_strategy update_strategy ;
   int depth ;
   unsigned int force : 1 ;
   unsigned int quiet : 1 ;
   unsigned int nofetch : 1 ;
   unsigned int just_cloned : 1 ;
};
enum __anonenum_command_1040872824 {
    CHECK_WRITEABLE = 1,
    DO_UNSET = 2
} ;
struct add_data {
   char const   *prefix ;
   char const   *branch ;
   char const   *reference_path ;
   char *sm_path ;
   char const   *sm_name ;
   char const   *repo ;
   char const   *realrepo ;
   int depth ;
   unsigned int force : 1 ;
   unsigned int quiet : 1 ;
   unsigned int progress : 1 ;
   unsigned int dissociate : 1 ;
};
enum __anonenum_437032235___375 {
    _PC_LINK_MAX___375 = 0,
    _PC_MAX_CANON___375 = 1,
    _PC_MAX_INPUT___375 = 2,
    _PC_NAME_MAX___375 = 3,
    _PC_PATH_MAX___375 = 4,
    _PC_PIPE_BUF___375 = 5,
    _PC_CHOWN_RESTRICTED___375 = 6,
    _PC_NO_TRUNC___375 = 7,
    _PC_VDISABLE___375 = 8,
    _PC_SYNC_IO___375 = 9,
    _PC_ASYNC_IO___375 = 10,
    _PC_PRIO_IO___375 = 11,
    _PC_SOCK_MAXBUF___375 = 12,
    _PC_FILESIZEBITS___375 = 13,
    _PC_REC_INCR_XFER_SIZE___375 = 14,
    _PC_REC_MAX_XFER_SIZE___375 = 15,
    _PC_REC_MIN_XFER_SIZE___375 = 16,
    _PC_REC_XFER_ALIGN___375 = 17,
    _PC_ALLOC_SIZE_MIN___375 = 18,
    _PC_SYMLINK_MAX___375 = 19,
    _PC_2_SYMLINKS___375 = 20
} ;
enum __anonenum_315186338___375 {
    _SC_ARG_MAX___375 = 0,
    _SC_CHILD_MAX___375 = 1,
    _SC_CLK_TCK___375 = 2,
    _SC_NGROUPS_MAX___375 = 3,
    _SC_OPEN_MAX___375 = 4,
    _SC_STREAM_MAX___375 = 5,
    _SC_TZNAME_MAX___375 = 6,
    _SC_JOB_CONTROL___375 = 7,
    _SC_SAVED_IDS___375 = 8,
    _SC_REALTIME_SIGNALS___375 = 9,
    _SC_PRIORITY_SCHEDULING___375 = 10,
    _SC_TIMERS___375 = 11,
    _SC_ASYNCHRONOUS_IO___375 = 12,
    _SC_PRIORITIZED_IO___375 = 13,
    _SC_SYNCHRONIZED_IO___375 = 14,
    _SC_FSYNC___375 = 15,
    _SC_MAPPED_FILES___375 = 16,
    _SC_MEMLOCK___375 = 17,
    _SC_MEMLOCK_RANGE___375 = 18,
    _SC_MEMORY_PROTECTION___375 = 19,
    _SC_MESSAGE_PASSING___375 = 20,
    _SC_SEMAPHORES___375 = 21,
    _SC_SHARED_MEMORY_OBJECTS___375 = 22,
    _SC_AIO_LISTIO_MAX___375 = 23,
    _SC_AIO_MAX___375 = 24,
    _SC_AIO_PRIO_DELTA_MAX___375 = 25,
    _SC_DELAYTIMER_MAX___375 = 26,
    _SC_MQ_OPEN_MAX___375 = 27,
    _SC_MQ_PRIO_MAX___375 = 28,
    _SC_VERSION___375 = 29,
    _SC_PAGESIZE___375 = 30,
    _SC_RTSIG_MAX___375 = 31,
    _SC_SEM_NSEMS_MAX___375 = 32,
    _SC_SEM_VALUE_MAX___375 = 33,
    _SC_SIGQUEUE_MAX___375 = 34,
    _SC_TIMER_MAX___375 = 35,
    _SC_BC_BASE_MAX___375 = 36,
    _SC_BC_DIM_MAX___375 = 37,
    _SC_BC_SCALE_MAX___375 = 38,
    _SC_BC_STRING_MAX___375 = 39,
    _SC_COLL_WEIGHTS_MAX___375 = 40,
    _SC_EQUIV_CLASS_MAX___375 = 41,
    _SC_EXPR_NEST_MAX___375 = 42,
    _SC_LINE_MAX___375 = 43,
    _SC_RE_DUP_MAX___375 = 44,
    _SC_CHARCLASS_NAME_MAX___375 = 45,
    _SC_2_VERSION___375 = 46,
    _SC_2_C_BIND___375 = 47,
    _SC_2_C_DEV___375 = 48,
    _SC_2_FORT_DEV___375 = 49,
    _SC_2_FORT_RUN___375 = 50,
    _SC_2_SW_DEV___375 = 51,
    _SC_2_LOCALEDEF___375 = 52,
    _SC_PII___375 = 53,
    _SC_PII_XTI___375 = 54,
    _SC_PII_SOCKET___375 = 55,
    _SC_PII_INTERNET___375 = 56,
    _SC_PII_OSI___375 = 57,
    _SC_POLL___375 = 58,
    _SC_SELECT___375 = 59,
    _SC_UIO_MAXIOV___375 = 60,
    _SC_IOV_MAX___375 = 60,
    _SC_PII_INTERNET_STREAM___375 = 61,
    _SC_PII_INTERNET_DGRAM___375 = 62,
    _SC_PII_OSI_COTS___375 = 63,
    _SC_PII_OSI_CLTS___375 = 64,
    _SC_PII_OSI_M___375 = 65,
    _SC_T_IOV_MAX___375 = 66,
    _SC_THREADS___375 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___375 = 68,
    _SC_GETGR_R_SIZE_MAX___375 = 69,
    _SC_GETPW_R_SIZE_MAX___375 = 70,
    _SC_LOGIN_NAME_MAX___375 = 71,
    _SC_TTY_NAME_MAX___375 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___375 = 73,
    _SC_THREAD_KEYS_MAX___375 = 74,
    _SC_THREAD_STACK_MIN___375 = 75,
    _SC_THREAD_THREADS_MAX___375 = 76,
    _SC_THREAD_ATTR_STACKADDR___375 = 77,
    _SC_THREAD_ATTR_STACKSIZE___375 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___375 = 79,
    _SC_THREAD_PRIO_INHERIT___375 = 80,
    _SC_THREAD_PRIO_PROTECT___375 = 81,
    _SC_THREAD_PROCESS_SHARED___375 = 82,
    _SC_NPROCESSORS_CONF___375 = 83,
    _SC_NPROCESSORS_ONLN___375 = 84,
    _SC_PHYS_PAGES___375 = 85,
    _SC_AVPHYS_PAGES___375 = 86,
    _SC_ATEXIT_MAX___375 = 87,
    _SC_PASS_MAX___375 = 88,
    _SC_XOPEN_VERSION___375 = 89,
    _SC_XOPEN_XCU_VERSION___375 = 90,
    _SC_XOPEN_UNIX___375 = 91,
    _SC_XOPEN_CRYPT___375 = 92,
    _SC_XOPEN_ENH_I18N___375 = 93,
    _SC_XOPEN_SHM___375 = 94,
    _SC_2_CHAR_TERM___375 = 95,
    _SC_2_C_VERSION___375 = 96,
    _SC_2_UPE___375 = 97,
    _SC_XOPEN_XPG2___375 = 98,
    _SC_XOPEN_XPG3___375 = 99,
    _SC_XOPEN_XPG4___375 = 100,
    _SC_CHAR_BIT___375 = 101,
    _SC_CHAR_MAX___375 = 102,
    _SC_CHAR_MIN___375 = 103,
    _SC_INT_MAX___375 = 104,
    _SC_INT_MIN___375 = 105,
    _SC_LONG_BIT___375 = 106,
    _SC_WORD_BIT___375 = 107,
    _SC_MB_LEN_MAX___375 = 108,
    _SC_NZERO___375 = 109,
    _SC_SSIZE_MAX___375 = 110,
    _SC_SCHAR_MAX___375 = 111,
    _SC_SCHAR_MIN___375 = 112,
    _SC_SHRT_MAX___375 = 113,
    _SC_SHRT_MIN___375 = 114,
    _SC_UCHAR_MAX___375 = 115,
    _SC_UINT_MAX___375 = 116,
    _SC_ULONG_MAX___375 = 117,
    _SC_USHRT_MAX___375 = 118,
    _SC_NL_ARGMAX___375 = 119,
    _SC_NL_LANGMAX___375 = 120,
    _SC_NL_MSGMAX___375 = 121,
    _SC_NL_NMAX___375 = 122,
    _SC_NL_SETMAX___375 = 123,
    _SC_NL_TEXTMAX___375 = 124,
    _SC_XBS5_ILP32_OFF32___375 = 125,
    _SC_XBS5_ILP32_OFFBIG___375 = 126,
    _SC_XBS5_LP64_OFF64___375 = 127,
    _SC_XBS5_LPBIG_OFFBIG___375 = 128,
    _SC_XOPEN_LEGACY___375 = 129,
    _SC_XOPEN_REALTIME___375 = 130,
    _SC_XOPEN_REALTIME_THREADS___375 = 131,
    _SC_ADVISORY_INFO___375 = 132,
    _SC_BARRIERS___375 = 133,
    _SC_BASE___375 = 134,
    _SC_C_LANG_SUPPORT___375 = 135,
    _SC_C_LANG_SUPPORT_R___375 = 136,
    _SC_CLOCK_SELECTION___375 = 137,
    _SC_CPUTIME___375 = 138,
    _SC_THREAD_CPUTIME___375 = 139,
    _SC_DEVICE_IO___375 = 140,
    _SC_DEVICE_SPECIFIC___375 = 141,
    _SC_DEVICE_SPECIFIC_R___375 = 142,
    _SC_FD_MGMT___375 = 143,
    _SC_FIFO___375 = 144,
    _SC_PIPE___375 = 145,
    _SC_FILE_ATTRIBUTES___375 = 146,
    _SC_FILE_LOCKING___375 = 147,
    _SC_FILE_SYSTEM___375 = 148,
    _SC_MONOTONIC_CLOCK___375 = 149,
    _SC_MULTI_PROCESS___375 = 150,
    _SC_SINGLE_PROCESS___375 = 151,
    _SC_NETWORKING___375 = 152,
    _SC_READER_WRITER_LOCKS___375 = 153,
    _SC_SPIN_LOCKS___375 = 154,
    _SC_REGEXP___375 = 155,
    _SC_REGEX_VERSION___375 = 156,
    _SC_SHELL___375 = 157,
    _SC_SIGNALS___375 = 158,
    _SC_SPAWN___375 = 159,
    _SC_SPORADIC_SERVER___375 = 160,
    _SC_THREAD_SPORADIC_SERVER___375 = 161,
    _SC_SYSTEM_DATABASE___375 = 162,
    _SC_SYSTEM_DATABASE_R___375 = 163,
    _SC_TIMEOUTS___375 = 164,
    _SC_TYPED_MEMORY_OBJECTS___375 = 165,
    _SC_USER_GROUPS___375 = 166,
    _SC_USER_GROUPS_R___375 = 167,
    _SC_2_PBS___375 = 168,
    _SC_2_PBS_ACCOUNTING___375 = 169,
    _SC_2_PBS_LOCATE___375 = 170,
    _SC_2_PBS_MESSAGE___375 = 171,
    _SC_2_PBS_TRACK___375 = 172,
    _SC_SYMLOOP_MAX___375 = 173,
    _SC_STREAMS___375 = 174,
    _SC_2_PBS_CHECKPOINT___375 = 175,
    _SC_V6_ILP32_OFF32___375 = 176,
    _SC_V6_ILP32_OFFBIG___375 = 177,
    _SC_V6_LP64_OFF64___375 = 178,
    _SC_V6_LPBIG_OFFBIG___375 = 179,
    _SC_HOST_NAME_MAX___375 = 180,
    _SC_TRACE___375 = 181,
    _SC_TRACE_EVENT_FILTER___375 = 182,
    _SC_TRACE_INHERIT___375 = 183,
    _SC_TRACE_LOG___375 = 184,
    _SC_LEVEL1_ICACHE_SIZE___375 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___375 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___375 = 187,
    _SC_LEVEL1_DCACHE_SIZE___375 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___375 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___375 = 190,
    _SC_LEVEL2_CACHE_SIZE___375 = 191,
    _SC_LEVEL2_CACHE_ASSOC___375 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___375 = 193,
    _SC_LEVEL3_CACHE_SIZE___375 = 194,
    _SC_LEVEL3_CACHE_ASSOC___375 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___375 = 196,
    _SC_LEVEL4_CACHE_SIZE___375 = 197,
    _SC_LEVEL4_CACHE_ASSOC___375 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___375 = 199,
    _SC_IPV6___375 = 235,
    _SC_RAW_SOCKETS___375 = 236,
    _SC_V7_ILP32_OFF32___375 = 237,
    _SC_V7_ILP32_OFFBIG___375 = 238,
    _SC_V7_LP64_OFF64___375 = 239,
    _SC_V7_LPBIG_OFFBIG___375 = 240,
    _SC_SS_REPL_MAX___375 = 241,
    _SC_TRACE_EVENT_NAME_MAX___375 = 242,
    _SC_TRACE_NAME_MAX___375 = 243,
    _SC_TRACE_SYS_MAX___375 = 244,
    _SC_TRACE_USER_EVENT_MAX___375 = 245,
    _SC_XOPEN_STREAMS___375 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___375 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___375 = 248
} ;
enum __anonenum_875524036___375 {
    _CS_PATH___375 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___375 = 1,
    _CS_GNU_LIBC_VERSION___375 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___375 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___375 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___375 = 5,
    _CS_LFS_CFLAGS___375 = 1000,
    _CS_LFS_LDFLAGS___375 = 1001,
    _CS_LFS_LIBS___375 = 1002,
    _CS_LFS_LINTFLAGS___375 = 1003,
    _CS_LFS64_CFLAGS___375 = 1004,
    _CS_LFS64_LDFLAGS___375 = 1005,
    _CS_LFS64_LIBS___375 = 1006,
    _CS_LFS64_LINTFLAGS___375 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___375 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___375 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___375 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___375 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___375 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___375 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___375 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___375 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___375 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___375 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___375 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___375 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___375 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___375 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___375 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___375 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___375 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___375 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___375 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___375 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___375 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___375 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___375 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___375 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___375 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___375 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___375 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___375 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___375 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___375 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___375 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___375 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___375 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___375 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___375 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___375 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___375 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___375 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___375 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___375 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___375 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___375 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___375 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___375 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___375 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___375 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___375 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___375 = 1147,
    _CS_V6_ENV___375 = 1148,
    _CS_V7_ENV___375 = 1149
} ;
enum __anonenum_513775621___375 {
    DT_UNKNOWN___375 = 0,
    DT_FIFO___375 = 1,
    DT_CHR___375 = 2,
    DT_DIR___375 = 4,
    DT_BLK___375 = 6,
    DT_REG___375 = 8,
    DT_LNK___375 = 10,
    DT_SOCK___375 = 12,
    DT_WHT___375 = 14
} ;
enum __anonenum_77002343___375 {
    SI_ASYNCNL___375 = -60,
    SI_TKILL___375 = -6,
    SI_SIGIO___375 = -5,
    SI_ASYNCIO___375 = -4,
    SI_MESGQ___375 = -3,
    SI_TIMER___375 = -2,
    SI_QUEUE___375 = -1,
    SI_USER___375 = 0,
    SI_KERNEL___375 = 128
} ;
enum __anonenum_131038172___375 {
    ILL_ILLOPC___375 = 1,
    ILL_ILLOPN___375 = 2,
    ILL_ILLADR___375 = 3,
    ILL_ILLTRP___375 = 4,
    ILL_PRVOPC___375 = 5,
    ILL_PRVREG___375 = 6,
    ILL_COPROC___375 = 7,
    ILL_BADSTK___375 = 8
} ;
enum __anonenum_452038093___375 {
    FPE_INTDIV___375 = 1,
    FPE_INTOVF___375 = 2,
    FPE_FLTDIV___375 = 3,
    FPE_FLTOVF___375 = 4,
    FPE_FLTUND___375 = 5,
    FPE_FLTRES___375 = 6,
    FPE_FLTINV___375 = 7,
    FPE_FLTSUB___375 = 8
} ;
enum __anonenum_30976155___375 {
    SEGV_MAPERR___375 = 1,
    SEGV_ACCERR___375 = 2,
    SEGV_BNDERR___375 = 3,
    SEGV_PKUERR___375 = 4
} ;
enum __anonenum_1036286214___375 {
    BUS_ADRALN___375 = 1,
    BUS_ADRERR___375 = 2,
    BUS_OBJERR___375 = 3,
    BUS_MCEERR_AR___375 = 4,
    BUS_MCEERR_AO___375 = 5
} ;
enum __anonenum_493465559___375 {
    TRAP_BRKPT___375 = 1,
    TRAP_TRACE___375 = 2
} ;
enum __anonenum_23175539___375 {
    CLD_EXITED___375 = 1,
    CLD_KILLED___375 = 2,
    CLD_DUMPED___375 = 3,
    CLD_TRAPPED___375 = 4,
    CLD_STOPPED___375 = 5,
    CLD_CONTINUED___375 = 6
} ;
enum __anonenum_111643124___375 {
    POLL_IN___375 = 1,
    POLL_OUT___375 = 2,
    POLL_MSG___375 = 3,
    POLL_ERR___375 = 4,
    POLL_PRI___375 = 5,
    POLL_HUP___375 = 6
} ;
enum __anonenum_852341087___375 {
    SIGEV_SIGNAL___375 = 0,
    SIGEV_NONE___375 = 1,
    SIGEV_THREAD___375 = 2,
    SIGEV_THREAD_ID___375 = 4
} ;
enum __anonenum_451154152___375 {
    REG_R8___375 = 0,
    REG_R9___375 = 1,
    REG_R10___375 = 2,
    REG_R11___375 = 3,
    REG_R12___375 = 4,
    REG_R13___375 = 5,
    REG_R14___375 = 6,
    REG_R15___375 = 7,
    REG_RDI___375 = 8,
    REG_RSI___375 = 9,
    REG_RBP___375 = 10,
    REG_RBX___375 = 11,
    REG_RDX___375 = 12,
    REG_RAX___375 = 13,
    REG_RCX___375 = 14,
    REG_RSP___375 = 15,
    REG_RIP___375 = 16,
    REG_EFL___375 = 17,
    REG_CSGSFS___375 = 18,
    REG_ERR___375 = 19,
    REG_TRAPNO___375 = 20,
    REG_OLDMASK___375 = 21,
    REG_CR2___375 = 22
} ;
enum __anonenum_57186863___375 {
    SS_ONSTACK___375 = 1,
    SS_DISABLE___375 = 2
} ;
enum __anonenum_83571709___375 {
    MSG_OOB___375 = 1,
    MSG_PEEK___375 = 2,
    MSG_DONTROUTE___375 = 4,
    MSG_TRYHARD___375 = 4,
    MSG_CTRUNC___375 = 8,
    MSG_PROXY___375 = 16,
    MSG_TRUNC___375 = 32,
    MSG_DONTWAIT___375 = 64,
    MSG_EOR___375 = 128,
    MSG_WAITALL___375 = 256,
    MSG_FIN___375 = 512,
    MSG_SYN___375 = 1024,
    MSG_CONFIRM___375 = 2048,
    MSG_RST___375 = 4096,
    MSG_ERRQUEUE___375 = 8192,
    MSG_NOSIGNAL___375 = 16384,
    MSG_MORE___375 = 32768,
    MSG_WAITFORONE___375 = 65536,
    MSG_BATCH___375 = 262144,
    MSG_ZEROCOPY___375 = 67108864,
    MSG_FASTOPEN___375 = 536870912,
    MSG_CMSG_CLOEXEC___375 = 1073741824
} ;
enum __anonenum_617082774___375 {
    SCM_RIGHTS___375 = 1,
    SCM_CREDENTIALS___375 = 2
} ;
enum __anonenum_606441560___375 {
    SHUT_RD___375 = 0,
    SHUT_WR___375 = 1,
    SHUT_RDWR___375 = 2
} ;
enum __anonenum_681669233___375 {
    IPPROTO_IP___375 = 0,
    IPPROTO_ICMP___375 = 1,
    IPPROTO_IGMP___375 = 2,
    IPPROTO_IPIP___375 = 4,
    IPPROTO_TCP___375 = 6,
    IPPROTO_EGP___375 = 8,
    IPPROTO_PUP___375 = 12,
    IPPROTO_UDP___375 = 17,
    IPPROTO_IDP___375 = 22,
    IPPROTO_TP___375 = 29,
    IPPROTO_DCCP___375 = 33,
    IPPROTO_IPV6___375 = 41,
    IPPROTO_RSVP___375 = 46,
    IPPROTO_GRE___375 = 47,
    IPPROTO_ESP___375 = 50,
    IPPROTO_AH___375 = 51,
    IPPROTO_MTP___375 = 92,
    IPPROTO_BEETPH___375 = 94,
    IPPROTO_ENCAP___375 = 98,
    IPPROTO_PIM___375 = 103,
    IPPROTO_COMP___375 = 108,
    IPPROTO_SCTP___375 = 132,
    IPPROTO_UDPLITE___375 = 136,
    IPPROTO_MPLS___375 = 137,
    IPPROTO_RAW___375 = 255,
    IPPROTO_MAX___375 = 256
} ;
enum __anonenum_218739988___375 {
    IPPROTO_HOPOPTS___375 = 0,
    IPPROTO_ROUTING___375 = 43,
    IPPROTO_FRAGMENT___375 = 44,
    IPPROTO_ICMPV6___375 = 58,
    IPPROTO_NONE___375 = 59,
    IPPROTO_DSTOPTS___375 = 60,
    IPPROTO_MH___375 = 135
} ;
enum __anonenum_662268580___375 {
    IPPORT_ECHO___375 = 7,
    IPPORT_DISCARD___375 = 9,
    IPPORT_SYSTAT___375 = 11,
    IPPORT_DAYTIME___375 = 13,
    IPPORT_NETSTAT___375 = 15,
    IPPORT_FTP___375 = 21,
    IPPORT_TELNET___375 = 23,
    IPPORT_SMTP___375 = 25,
    IPPORT_TIMESERVER___375 = 37,
    IPPORT_NAMESERVER___375 = 42,
    IPPORT_WHOIS___375 = 43,
    IPPORT_MTP___375 = 57,
    IPPORT_TFTP___375 = 69,
    IPPORT_RJE___375 = 77,
    IPPORT_FINGER___375 = 79,
    IPPORT_TTYLINK___375 = 87,
    IPPORT_SUPDUP___375 = 95,
    IPPORT_EXECSERVER___375 = 512,
    IPPORT_LOGINSERVER___375 = 513,
    IPPORT_CMDSERVER___375 = 514,
    IPPORT_EFSSERVER___375 = 520,
    IPPORT_BIFFUDP___375 = 512,
    IPPORT_WHOSERVER___375 = 513,
    IPPORT_ROUTESERVER___375 = 520,
    IPPORT_RESERVED___375 = 1024,
    IPPORT_USERRESERVED___375 = 5000
} ;
enum __anonenum_788308992___375 {
    TCP_ESTABLISHED___375 = 1,
    TCP_SYN_SENT___375 = 2,
    TCP_SYN_RECV___375 = 3,
    TCP_FIN_WAIT1___375 = 4,
    TCP_FIN_WAIT2___375 = 5,
    TCP_TIME_WAIT___375 = 6,
    TCP_CLOSE___375 = 7,
    TCP_CLOSE_WAIT___375 = 8,
    TCP_LAST_ACK___375 = 9,
    TCP_LISTEN___375 = 10,
    TCP_CLOSING___375 = 11
} ;
enum __anonenum_221125648___375 {
    TCP_NO_QUEUE___375 = 0,
    TCP_RECV_QUEUE___375 = 1,
    TCP_SEND_QUEUE___375 = 2,
    TCP_QUEUES_NR___375 = 3
} ;
enum __anonenum_34415463___375 {
    PTHREAD_CREATE_JOINABLE___375 = 0,
    PTHREAD_CREATE_DETACHED___375 = 1
} ;
enum __anonenum_303612439___375 {
    PTHREAD_MUTEX_TIMED_NP___375 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___375 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___375 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___375 = 3,
    PTHREAD_MUTEX_NORMAL___375 = 0,
    PTHREAD_MUTEX_RECURSIVE___375 = 1,
    PTHREAD_MUTEX_ERRORCHECK___375 = 2,
    PTHREAD_MUTEX_DEFAULT___375 = 0,
    PTHREAD_MUTEX_FAST_NP___375 = 0
} ;
enum __anonenum_931900394___375 {
    PTHREAD_MUTEX_STALLED___375 = 0,
    PTHREAD_MUTEX_STALLED_NP___375 = 0,
    PTHREAD_MUTEX_ROBUST___375 = 1,
    PTHREAD_MUTEX_ROBUST_NP___375 = 1
} ;
enum __anonenum_205214487___375 {
    PTHREAD_PRIO_NONE___375 = 0,
    PTHREAD_PRIO_INHERIT___375 = 1,
    PTHREAD_PRIO_PROTECT___375 = 2
} ;
enum __anonenum_25043950___375 {
    PTHREAD_RWLOCK_PREFER_READER_NP___375 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___375 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___375 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___375 = 0
} ;
enum __anonenum_436439511___375 {
    PTHREAD_INHERIT_SCHED___375 = 0,
    PTHREAD_EXPLICIT_SCHED___375 = 1
} ;
enum __anonenum_998661166___375 {
    PTHREAD_SCOPE_SYSTEM___375 = 0,
    PTHREAD_SCOPE_PROCESS___375 = 1
} ;
enum __anonenum_146137331___375 {
    PTHREAD_PROCESS_PRIVATE___375 = 0,
    PTHREAD_PROCESS_SHARED___375 = 1
} ;
enum __anonenum_53396917___375 {
    PTHREAD_CANCEL_ENABLE___375 = 0,
    PTHREAD_CANCEL_DISABLE___375 = 1
} ;
enum __anonenum_904563783___375 {
    PTHREAD_CANCEL_DEFERRED___375 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___375 = 1
} ;
enum __anonenum_672052974___375 {
    SSL_CT_VALIDATION_PERMISSIVE___375 = 0,
    SSL_CT_VALIDATION_STRICT___375 = 1
} ;
enum __anonenum_437032235___376 {
    _PC_LINK_MAX___376 = 0,
    _PC_MAX_CANON___376 = 1,
    _PC_MAX_INPUT___376 = 2,
    _PC_NAME_MAX___376 = 3,
    _PC_PATH_MAX___376 = 4,
    _PC_PIPE_BUF___376 = 5,
    _PC_CHOWN_RESTRICTED___376 = 6,
    _PC_NO_TRUNC___376 = 7,
    _PC_VDISABLE___376 = 8,
    _PC_SYNC_IO___376 = 9,
    _PC_ASYNC_IO___376 = 10,
    _PC_PRIO_IO___376 = 11,
    _PC_SOCK_MAXBUF___376 = 12,
    _PC_FILESIZEBITS___376 = 13,
    _PC_REC_INCR_XFER_SIZE___376 = 14,
    _PC_REC_MAX_XFER_SIZE___376 = 15,
    _PC_REC_MIN_XFER_SIZE___376 = 16,
    _PC_REC_XFER_ALIGN___376 = 17,
    _PC_ALLOC_SIZE_MIN___376 = 18,
    _PC_SYMLINK_MAX___376 = 19,
    _PC_2_SYMLINKS___376 = 20
} ;
enum __anonenum_315186338___376 {
    _SC_ARG_MAX___376 = 0,
    _SC_CHILD_MAX___376 = 1,
    _SC_CLK_TCK___376 = 2,
    _SC_NGROUPS_MAX___376 = 3,
    _SC_OPEN_MAX___376 = 4,
    _SC_STREAM_MAX___376 = 5,
    _SC_TZNAME_MAX___376 = 6,
    _SC_JOB_CONTROL___376 = 7,
    _SC_SAVED_IDS___376 = 8,
    _SC_REALTIME_SIGNALS___376 = 9,
    _SC_PRIORITY_SCHEDULING___376 = 10,
    _SC_TIMERS___376 = 11,
    _SC_ASYNCHRONOUS_IO___376 = 12,
    _SC_PRIORITIZED_IO___376 = 13,
    _SC_SYNCHRONIZED_IO___376 = 14,
    _SC_FSYNC___376 = 15,
    _SC_MAPPED_FILES___376 = 16,
    _SC_MEMLOCK___376 = 17,
    _SC_MEMLOCK_RANGE___376 = 18,
    _SC_MEMORY_PROTECTION___376 = 19,
    _SC_MESSAGE_PASSING___376 = 20,
    _SC_SEMAPHORES___376 = 21,
    _SC_SHARED_MEMORY_OBJECTS___376 = 22,
    _SC_AIO_LISTIO_MAX___376 = 23,
    _SC_AIO_MAX___376 = 24,
    _SC_AIO_PRIO_DELTA_MAX___376 = 25,
    _SC_DELAYTIMER_MAX___376 = 26,
    _SC_MQ_OPEN_MAX___376 = 27,
    _SC_MQ_PRIO_MAX___376 = 28,
    _SC_VERSION___376 = 29,
    _SC_PAGESIZE___376 = 30,
    _SC_RTSIG_MAX___376 = 31,
    _SC_SEM_NSEMS_MAX___376 = 32,
    _SC_SEM_VALUE_MAX___376 = 33,
    _SC_SIGQUEUE_MAX___376 = 34,
    _SC_TIMER_MAX___376 = 35,
    _SC_BC_BASE_MAX___376 = 36,
    _SC_BC_DIM_MAX___376 = 37,
    _SC_BC_SCALE_MAX___376 = 38,
    _SC_BC_STRING_MAX___376 = 39,
    _SC_COLL_WEIGHTS_MAX___376 = 40,
    _SC_EQUIV_CLASS_MAX___376 = 41,
    _SC_EXPR_NEST_MAX___376 = 42,
    _SC_LINE_MAX___376 = 43,
    _SC_RE_DUP_MAX___376 = 44,
    _SC_CHARCLASS_NAME_MAX___376 = 45,
    _SC_2_VERSION___376 = 46,
    _SC_2_C_BIND___376 = 47,
    _SC_2_C_DEV___376 = 48,
    _SC_2_FORT_DEV___376 = 49,
    _SC_2_FORT_RUN___376 = 50,
    _SC_2_SW_DEV___376 = 51,
    _SC_2_LOCALEDEF___376 = 52,
    _SC_PII___376 = 53,
    _SC_PII_XTI___376 = 54,
    _SC_PII_SOCKET___376 = 55,
    _SC_PII_INTERNET___376 = 56,
    _SC_PII_OSI___376 = 57,
    _SC_POLL___376 = 58,
    _SC_SELECT___376 = 59,
    _SC_UIO_MAXIOV___376 = 60,
    _SC_IOV_MAX___376 = 60,
    _SC_PII_INTERNET_STREAM___376 = 61,
    _SC_PII_INTERNET_DGRAM___376 = 62,
    _SC_PII_OSI_COTS___376 = 63,
    _SC_PII_OSI_CLTS___376 = 64,
    _SC_PII_OSI_M___376 = 65,
    _SC_T_IOV_MAX___376 = 66,
    _SC_THREADS___376 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___376 = 68,
    _SC_GETGR_R_SIZE_MAX___376 = 69,
    _SC_GETPW_R_SIZE_MAX___376 = 70,
    _SC_LOGIN_NAME_MAX___376 = 71,
    _SC_TTY_NAME_MAX___376 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___376 = 73,
    _SC_THREAD_KEYS_MAX___376 = 74,
    _SC_THREAD_STACK_MIN___376 = 75,
    _SC_THREAD_THREADS_MAX___376 = 76,
    _SC_THREAD_ATTR_STACKADDR___376 = 77,
    _SC_THREAD_ATTR_STACKSIZE___376 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___376 = 79,
    _SC_THREAD_PRIO_INHERIT___376 = 80,
    _SC_THREAD_PRIO_PROTECT___376 = 81,
    _SC_THREAD_PROCESS_SHARED___376 = 82,
    _SC_NPROCESSORS_CONF___376 = 83,
    _SC_NPROCESSORS_ONLN___376 = 84,
    _SC_PHYS_PAGES___376 = 85,
    _SC_AVPHYS_PAGES___376 = 86,
    _SC_ATEXIT_MAX___376 = 87,
    _SC_PASS_MAX___376 = 88,
    _SC_XOPEN_VERSION___376 = 89,
    _SC_XOPEN_XCU_VERSION___376 = 90,
    _SC_XOPEN_UNIX___376 = 91,
    _SC_XOPEN_CRYPT___376 = 92,
    _SC_XOPEN_ENH_I18N___376 = 93,
    _SC_XOPEN_SHM___376 = 94,
    _SC_2_CHAR_TERM___376 = 95,
    _SC_2_C_VERSION___376 = 96,
    _SC_2_UPE___376 = 97,
    _SC_XOPEN_XPG2___376 = 98,
    _SC_XOPEN_XPG3___376 = 99,
    _SC_XOPEN_XPG4___376 = 100,
    _SC_CHAR_BIT___376 = 101,
    _SC_CHAR_MAX___376 = 102,
    _SC_CHAR_MIN___376 = 103,
    _SC_INT_MAX___376 = 104,
    _SC_INT_MIN___376 = 105,
    _SC_LONG_BIT___376 = 106,
    _SC_WORD_BIT___376 = 107,
    _SC_MB_LEN_MAX___376 = 108,
    _SC_NZERO___376 = 109,
    _SC_SSIZE_MAX___376 = 110,
    _SC_SCHAR_MAX___376 = 111,
    _SC_SCHAR_MIN___376 = 112,
    _SC_SHRT_MAX___376 = 113,
    _SC_SHRT_MIN___376 = 114,
    _SC_UCHAR_MAX___376 = 115,
    _SC_UINT_MAX___376 = 116,
    _SC_ULONG_MAX___376 = 117,
    _SC_USHRT_MAX___376 = 118,
    _SC_NL_ARGMAX___376 = 119,
    _SC_NL_LANGMAX___376 = 120,
    _SC_NL_MSGMAX___376 = 121,
    _SC_NL_NMAX___376 = 122,
    _SC_NL_SETMAX___376 = 123,
    _SC_NL_TEXTMAX___376 = 124,
    _SC_XBS5_ILP32_OFF32___376 = 125,
    _SC_XBS5_ILP32_OFFBIG___376 = 126,
    _SC_XBS5_LP64_OFF64___376 = 127,
    _SC_XBS5_LPBIG_OFFBIG___376 = 128,
    _SC_XOPEN_LEGACY___376 = 129,
    _SC_XOPEN_REALTIME___376 = 130,
    _SC_XOPEN_REALTIME_THREADS___376 = 131,
    _SC_ADVISORY_INFO___376 = 132,
    _SC_BARRIERS___376 = 133,
    _SC_BASE___376 = 134,
    _SC_C_LANG_SUPPORT___376 = 135,
    _SC_C_LANG_SUPPORT_R___376 = 136,
    _SC_CLOCK_SELECTION___376 = 137,
    _SC_CPUTIME___376 = 138,
    _SC_THREAD_CPUTIME___376 = 139,
    _SC_DEVICE_IO___376 = 140,
    _SC_DEVICE_SPECIFIC___376 = 141,
    _SC_DEVICE_SPECIFIC_R___376 = 142,
    _SC_FD_MGMT___376 = 143,
    _SC_FIFO___376 = 144,
    _SC_PIPE___376 = 145,
    _SC_FILE_ATTRIBUTES___376 = 146,
    _SC_FILE_LOCKING___376 = 147,
    _SC_FILE_SYSTEM___376 = 148,
    _SC_MONOTONIC_CLOCK___376 = 149,
    _SC_MULTI_PROCESS___376 = 150,
    _SC_SINGLE_PROCESS___376 = 151,
    _SC_NETWORKING___376 = 152,
    _SC_READER_WRITER_LOCKS___376 = 153,
    _SC_SPIN_LOCKS___376 = 154,
    _SC_REGEXP___376 = 155,
    _SC_REGEX_VERSION___376 = 156,
    _SC_SHELL___376 = 157,
    _SC_SIGNALS___376 = 158,
    _SC_SPAWN___376 = 159,
    _SC_SPORADIC_SERVER___376 = 160,
    _SC_THREAD_SPORADIC_SERVER___376 = 161,
    _SC_SYSTEM_DATABASE___376 = 162,
    _SC_SYSTEM_DATABASE_R___376 = 163,
    _SC_TIMEOUTS___376 = 164,
    _SC_TYPED_MEMORY_OBJECTS___376 = 165,
    _SC_USER_GROUPS___376 = 166,
    _SC_USER_GROUPS_R___376 = 167,
    _SC_2_PBS___376 = 168,
    _SC_2_PBS_ACCOUNTING___376 = 169,
    _SC_2_PBS_LOCATE___376 = 170,
    _SC_2_PBS_MESSAGE___376 = 171,
    _SC_2_PBS_TRACK___376 = 172,
    _SC_SYMLOOP_MAX___376 = 173,
    _SC_STREAMS___376 = 174,
    _SC_2_PBS_CHECKPOINT___376 = 175,
    _SC_V6_ILP32_OFF32___376 = 176,
    _SC_V6_ILP32_OFFBIG___376 = 177,
    _SC_V6_LP64_OFF64___376 = 178,
    _SC_V6_LPBIG_OFFBIG___376 = 179,
    _SC_HOST_NAME_MAX___376 = 180,
    _SC_TRACE___376 = 181,
    _SC_TRACE_EVENT_FILTER___376 = 182,
    _SC_TRACE_INHERIT___376 = 183,
    _SC_TRACE_LOG___376 = 184,
    _SC_LEVEL1_ICACHE_SIZE___376 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___376 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___376 = 187,
    _SC_LEVEL1_DCACHE_SIZE___376 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___376 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___376 = 190,
    _SC_LEVEL2_CACHE_SIZE___376 = 191,
    _SC_LEVEL2_CACHE_ASSOC___376 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___376 = 193,
    _SC_LEVEL3_CACHE_SIZE___376 = 194,
    _SC_LEVEL3_CACHE_ASSOC___376 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___376 = 196,
    _SC_LEVEL4_CACHE_SIZE___376 = 197,
    _SC_LEVEL4_CACHE_ASSOC___376 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___376 = 199,
    _SC_IPV6___376 = 235,
    _SC_RAW_SOCKETS___376 = 236,
    _SC_V7_ILP32_OFF32___376 = 237,
    _SC_V7_ILP32_OFFBIG___376 = 238,
    _SC_V7_LP64_OFF64___376 = 239,
    _SC_V7_LPBIG_OFFBIG___376 = 240,
    _SC_SS_REPL_MAX___376 = 241,
    _SC_TRACE_EVENT_NAME_MAX___376 = 242,
    _SC_TRACE_NAME_MAX___376 = 243,
    _SC_TRACE_SYS_MAX___376 = 244,
    _SC_TRACE_USER_EVENT_MAX___376 = 245,
    _SC_XOPEN_STREAMS___376 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___376 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___376 = 248
} ;
enum __anonenum_875524036___376 {
    _CS_PATH___376 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___376 = 1,
    _CS_GNU_LIBC_VERSION___376 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___376 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___376 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___376 = 5,
    _CS_LFS_CFLAGS___376 = 1000,
    _CS_LFS_LDFLAGS___376 = 1001,
    _CS_LFS_LIBS___376 = 1002,
    _CS_LFS_LINTFLAGS___376 = 1003,
    _CS_LFS64_CFLAGS___376 = 1004,
    _CS_LFS64_LDFLAGS___376 = 1005,
    _CS_LFS64_LIBS___376 = 1006,
    _CS_LFS64_LINTFLAGS___376 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___376 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___376 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___376 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___376 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___376 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___376 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___376 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___376 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___376 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___376 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___376 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___376 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___376 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___376 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___376 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___376 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___376 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___376 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___376 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___376 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___376 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___376 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___376 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___376 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___376 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___376 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___376 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___376 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___376 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___376 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___376 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___376 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___376 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___376 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___376 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___376 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___376 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___376 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___376 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___376 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___376 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___376 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___376 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___376 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___376 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___376 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___376 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___376 = 1147,
    _CS_V6_ENV___376 = 1148,
    _CS_V7_ENV___376 = 1149
} ;
enum __anonenum_513775621___376 {
    DT_UNKNOWN___376 = 0,
    DT_FIFO___376 = 1,
    DT_CHR___376 = 2,
    DT_DIR___376 = 4,
    DT_BLK___376 = 6,
    DT_REG___376 = 8,
    DT_LNK___376 = 10,
    DT_SOCK___376 = 12,
    DT_WHT___376 = 14
} ;
enum __anonenum_77002343___376 {
    SI_ASYNCNL___376 = -60,
    SI_TKILL___376 = -6,
    SI_SIGIO___376 = -5,
    SI_ASYNCIO___376 = -4,
    SI_MESGQ___376 = -3,
    SI_TIMER___376 = -2,
    SI_QUEUE___376 = -1,
    SI_USER___376 = 0,
    SI_KERNEL___376 = 128
} ;
enum __anonenum_131038172___376 {
    ILL_ILLOPC___376 = 1,
    ILL_ILLOPN___376 = 2,
    ILL_ILLADR___376 = 3,
    ILL_ILLTRP___376 = 4,
    ILL_PRVOPC___376 = 5,
    ILL_PRVREG___376 = 6,
    ILL_COPROC___376 = 7,
    ILL_BADSTK___376 = 8
} ;
enum __anonenum_452038093___376 {
    FPE_INTDIV___376 = 1,
    FPE_INTOVF___376 = 2,
    FPE_FLTDIV___376 = 3,
    FPE_FLTOVF___376 = 4,
    FPE_FLTUND___376 = 5,
    FPE_FLTRES___376 = 6,
    FPE_FLTINV___376 = 7,
    FPE_FLTSUB___376 = 8
} ;
enum __anonenum_30976155___376 {
    SEGV_MAPERR___376 = 1,
    SEGV_ACCERR___376 = 2,
    SEGV_BNDERR___376 = 3,
    SEGV_PKUERR___376 = 4
} ;
enum __anonenum_1036286214___376 {
    BUS_ADRALN___376 = 1,
    BUS_ADRERR___376 = 2,
    BUS_OBJERR___376 = 3,
    BUS_MCEERR_AR___376 = 4,
    BUS_MCEERR_AO___376 = 5
} ;
enum __anonenum_493465559___376 {
    TRAP_BRKPT___376 = 1,
    TRAP_TRACE___376 = 2
} ;
enum __anonenum_23175539___376 {
    CLD_EXITED___376 = 1,
    CLD_KILLED___376 = 2,
    CLD_DUMPED___376 = 3,
    CLD_TRAPPED___376 = 4,
    CLD_STOPPED___376 = 5,
    CLD_CONTINUED___376 = 6
} ;
enum __anonenum_111643124___376 {
    POLL_IN___376 = 1,
    POLL_OUT___376 = 2,
    POLL_MSG___376 = 3,
    POLL_ERR___376 = 4,
    POLL_PRI___376 = 5,
    POLL_HUP___376 = 6
} ;
enum __anonenum_852341087___376 {
    SIGEV_SIGNAL___376 = 0,
    SIGEV_NONE___376 = 1,
    SIGEV_THREAD___376 = 2,
    SIGEV_THREAD_ID___376 = 4
} ;
enum __anonenum_451154152___376 {
    REG_R8___376 = 0,
    REG_R9___376 = 1,
    REG_R10___376 = 2,
    REG_R11___376 = 3,
    REG_R12___376 = 4,
    REG_R13___376 = 5,
    REG_R14___376 = 6,
    REG_R15___376 = 7,
    REG_RDI___376 = 8,
    REG_RSI___376 = 9,
    REG_RBP___376 = 10,
    REG_RBX___376 = 11,
    REG_RDX___376 = 12,
    REG_RAX___376 = 13,
    REG_RCX___376 = 14,
    REG_RSP___376 = 15,
    REG_RIP___376 = 16,
    REG_EFL___376 = 17,
    REG_CSGSFS___376 = 18,
    REG_ERR___376 = 19,
    REG_TRAPNO___376 = 20,
    REG_OLDMASK___376 = 21,
    REG_CR2___376 = 22
} ;
enum __anonenum_57186863___376 {
    SS_ONSTACK___376 = 1,
    SS_DISABLE___376 = 2
} ;
enum __anonenum_83571709___376 {
    MSG_OOB___376 = 1,
    MSG_PEEK___376 = 2,
    MSG_DONTROUTE___376 = 4,
    MSG_TRYHARD___376 = 4,
    MSG_CTRUNC___376 = 8,
    MSG_PROXY___376 = 16,
    MSG_TRUNC___376 = 32,
    MSG_DONTWAIT___376 = 64,
    MSG_EOR___376 = 128,
    MSG_WAITALL___376 = 256,
    MSG_FIN___376 = 512,
    MSG_SYN___376 = 1024,
    MSG_CONFIRM___376 = 2048,
    MSG_RST___376 = 4096,
    MSG_ERRQUEUE___376 = 8192,
    MSG_NOSIGNAL___376 = 16384,
    MSG_MORE___376 = 32768,
    MSG_WAITFORONE___376 = 65536,
    MSG_BATCH___376 = 262144,
    MSG_ZEROCOPY___376 = 67108864,
    MSG_FASTOPEN___376 = 536870912,
    MSG_CMSG_CLOEXEC___376 = 1073741824
} ;
enum __anonenum_617082774___376 {
    SCM_RIGHTS___376 = 1,
    SCM_CREDENTIALS___376 = 2
} ;
enum __anonenum_606441560___376 {
    SHUT_RD___376 = 0,
    SHUT_WR___376 = 1,
    SHUT_RDWR___376 = 2
} ;
enum __anonenum_681669233___376 {
    IPPROTO_IP___376 = 0,
    IPPROTO_ICMP___376 = 1,
    IPPROTO_IGMP___376 = 2,
    IPPROTO_IPIP___376 = 4,
    IPPROTO_TCP___376 = 6,
    IPPROTO_EGP___376 = 8,
    IPPROTO_PUP___376 = 12,
    IPPROTO_UDP___376 = 17,
    IPPROTO_IDP___376 = 22,
    IPPROTO_TP___376 = 29,
    IPPROTO_DCCP___376 = 33,
    IPPROTO_IPV6___376 = 41,
    IPPROTO_RSVP___376 = 46,
    IPPROTO_GRE___376 = 47,
    IPPROTO_ESP___376 = 50,
    IPPROTO_AH___376 = 51,
    IPPROTO_MTP___376 = 92,
    IPPROTO_BEETPH___376 = 94,
    IPPROTO_ENCAP___376 = 98,
    IPPROTO_PIM___376 = 103,
    IPPROTO_COMP___376 = 108,
    IPPROTO_SCTP___376 = 132,
    IPPROTO_UDPLITE___376 = 136,
    IPPROTO_MPLS___376 = 137,
    IPPROTO_RAW___376 = 255,
    IPPROTO_MAX___376 = 256
} ;
enum __anonenum_218739988___376 {
    IPPROTO_HOPOPTS___376 = 0,
    IPPROTO_ROUTING___376 = 43,
    IPPROTO_FRAGMENT___376 = 44,
    IPPROTO_ICMPV6___376 = 58,
    IPPROTO_NONE___376 = 59,
    IPPROTO_DSTOPTS___376 = 60,
    IPPROTO_MH___376 = 135
} ;
enum __anonenum_662268580___376 {
    IPPORT_ECHO___376 = 7,
    IPPORT_DISCARD___376 = 9,
    IPPORT_SYSTAT___376 = 11,
    IPPORT_DAYTIME___376 = 13,
    IPPORT_NETSTAT___376 = 15,
    IPPORT_FTP___376 = 21,
    IPPORT_TELNET___376 = 23,
    IPPORT_SMTP___376 = 25,
    IPPORT_TIMESERVER___376 = 37,
    IPPORT_NAMESERVER___376 = 42,
    IPPORT_WHOIS___376 = 43,
    IPPORT_MTP___376 = 57,
    IPPORT_TFTP___376 = 69,
    IPPORT_RJE___376 = 77,
    IPPORT_FINGER___376 = 79,
    IPPORT_TTYLINK___376 = 87,
    IPPORT_SUPDUP___376 = 95,
    IPPORT_EXECSERVER___376 = 512,
    IPPORT_LOGINSERVER___376 = 513,
    IPPORT_CMDSERVER___376 = 514,
    IPPORT_EFSSERVER___376 = 520,
    IPPORT_BIFFUDP___376 = 512,
    IPPORT_WHOSERVER___376 = 513,
    IPPORT_ROUTESERVER___376 = 520,
    IPPORT_RESERVED___376 = 1024,
    IPPORT_USERRESERVED___376 = 5000
} ;
enum __anonenum_788308992___376 {
    TCP_ESTABLISHED___376 = 1,
    TCP_SYN_SENT___376 = 2,
    TCP_SYN_RECV___376 = 3,
    TCP_FIN_WAIT1___376 = 4,
    TCP_FIN_WAIT2___376 = 5,
    TCP_TIME_WAIT___376 = 6,
    TCP_CLOSE___376 = 7,
    TCP_CLOSE_WAIT___376 = 8,
    TCP_LAST_ACK___376 = 9,
    TCP_LISTEN___376 = 10,
    TCP_CLOSING___376 = 11
} ;
enum __anonenum_221125648___376 {
    TCP_NO_QUEUE___376 = 0,
    TCP_RECV_QUEUE___376 = 1,
    TCP_SEND_QUEUE___376 = 2,
    TCP_QUEUES_NR___376 = 3
} ;
enum __anonenum_34415463___376 {
    PTHREAD_CREATE_JOINABLE___376 = 0,
    PTHREAD_CREATE_DETACHED___376 = 1
} ;
enum __anonenum_303612439___376 {
    PTHREAD_MUTEX_TIMED_NP___376 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___376 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___376 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___376 = 3,
    PTHREAD_MUTEX_NORMAL___376 = 0,
    PTHREAD_MUTEX_RECURSIVE___376 = 1,
    PTHREAD_MUTEX_ERRORCHECK___376 = 2,
    PTHREAD_MUTEX_DEFAULT___376 = 0,
    PTHREAD_MUTEX_FAST_NP___376 = 0
} ;
enum __anonenum_931900394___376 {
    PTHREAD_MUTEX_STALLED___376 = 0,
    PTHREAD_MUTEX_STALLED_NP___376 = 0,
    PTHREAD_MUTEX_ROBUST___376 = 1,
    PTHREAD_MUTEX_ROBUST_NP___376 = 1
} ;
enum __anonenum_205214487___376 {
    PTHREAD_PRIO_NONE___376 = 0,
    PTHREAD_PRIO_INHERIT___376 = 1,
    PTHREAD_PRIO_PROTECT___376 = 2
} ;
enum __anonenum_25043950___376 {
    PTHREAD_RWLOCK_PREFER_READER_NP___376 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___376 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___376 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___376 = 0
} ;
enum __anonenum_436439511___376 {
    PTHREAD_INHERIT_SCHED___376 = 0,
    PTHREAD_EXPLICIT_SCHED___376 = 1
} ;
enum __anonenum_998661166___376 {
    PTHREAD_SCOPE_SYSTEM___376 = 0,
    PTHREAD_SCOPE_PROCESS___376 = 1
} ;
enum __anonenum_146137331___376 {
    PTHREAD_PROCESS_PRIVATE___376 = 0,
    PTHREAD_PROCESS_SHARED___376 = 1
} ;
enum __anonenum_53396917___376 {
    PTHREAD_CANCEL_ENABLE___376 = 0,
    PTHREAD_CANCEL_DISABLE___376 = 1
} ;
enum __anonenum_904563783___376 {
    PTHREAD_CANCEL_DEFERRED___376 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___376 = 1
} ;
enum __anonenum_672052974___376 {
    SSL_CT_VALIDATION_PERMISSIVE___376 = 0,
    SSL_CT_VALIDATION_STRICT___376 = 1
} ;
typedef int (*each_tag_name_fn)(char const   *name , char const   *ref , struct object_id  const  *oid ,
                                void *cb_data );
enum __anonenum_cleanup_mode_793965826 {
    CLEANUP_NONE = 0,
    CLEANUP_SPACE = 1,
    CLEANUP_ALL = 2
} ;
struct create_tag_options {
   unsigned int message_given : 1 ;
   unsigned int use_editor : 1 ;
   unsigned int sign ;
   enum __anonenum_cleanup_mode_793965826 cleanup_mode ;
};
struct msg_arg {
   int given ;
   struct strbuf buf ;
};
enum __anonenum_437032235___377 {
    _PC_LINK_MAX___377 = 0,
    _PC_MAX_CANON___377 = 1,
    _PC_MAX_INPUT___377 = 2,
    _PC_NAME_MAX___377 = 3,
    _PC_PATH_MAX___377 = 4,
    _PC_PIPE_BUF___377 = 5,
    _PC_CHOWN_RESTRICTED___377 = 6,
    _PC_NO_TRUNC___377 = 7,
    _PC_VDISABLE___377 = 8,
    _PC_SYNC_IO___377 = 9,
    _PC_ASYNC_IO___377 = 10,
    _PC_PRIO_IO___377 = 11,
    _PC_SOCK_MAXBUF___377 = 12,
    _PC_FILESIZEBITS___377 = 13,
    _PC_REC_INCR_XFER_SIZE___377 = 14,
    _PC_REC_MAX_XFER_SIZE___377 = 15,
    _PC_REC_MIN_XFER_SIZE___377 = 16,
    _PC_REC_XFER_ALIGN___377 = 17,
    _PC_ALLOC_SIZE_MIN___377 = 18,
    _PC_SYMLINK_MAX___377 = 19,
    _PC_2_SYMLINKS___377 = 20
} ;
enum __anonenum_315186338___377 {
    _SC_ARG_MAX___377 = 0,
    _SC_CHILD_MAX___377 = 1,
    _SC_CLK_TCK___377 = 2,
    _SC_NGROUPS_MAX___377 = 3,
    _SC_OPEN_MAX___377 = 4,
    _SC_STREAM_MAX___377 = 5,
    _SC_TZNAME_MAX___377 = 6,
    _SC_JOB_CONTROL___377 = 7,
    _SC_SAVED_IDS___377 = 8,
    _SC_REALTIME_SIGNALS___377 = 9,
    _SC_PRIORITY_SCHEDULING___377 = 10,
    _SC_TIMERS___377 = 11,
    _SC_ASYNCHRONOUS_IO___377 = 12,
    _SC_PRIORITIZED_IO___377 = 13,
    _SC_SYNCHRONIZED_IO___377 = 14,
    _SC_FSYNC___377 = 15,
    _SC_MAPPED_FILES___377 = 16,
    _SC_MEMLOCK___377 = 17,
    _SC_MEMLOCK_RANGE___377 = 18,
    _SC_MEMORY_PROTECTION___377 = 19,
    _SC_MESSAGE_PASSING___377 = 20,
    _SC_SEMAPHORES___377 = 21,
    _SC_SHARED_MEMORY_OBJECTS___377 = 22,
    _SC_AIO_LISTIO_MAX___377 = 23,
    _SC_AIO_MAX___377 = 24,
    _SC_AIO_PRIO_DELTA_MAX___377 = 25,
    _SC_DELAYTIMER_MAX___377 = 26,
    _SC_MQ_OPEN_MAX___377 = 27,
    _SC_MQ_PRIO_MAX___377 = 28,
    _SC_VERSION___377 = 29,
    _SC_PAGESIZE___377 = 30,
    _SC_RTSIG_MAX___377 = 31,
    _SC_SEM_NSEMS_MAX___377 = 32,
    _SC_SEM_VALUE_MAX___377 = 33,
    _SC_SIGQUEUE_MAX___377 = 34,
    _SC_TIMER_MAX___377 = 35,
    _SC_BC_BASE_MAX___377 = 36,
    _SC_BC_DIM_MAX___377 = 37,
    _SC_BC_SCALE_MAX___377 = 38,
    _SC_BC_STRING_MAX___377 = 39,
    _SC_COLL_WEIGHTS_MAX___377 = 40,
    _SC_EQUIV_CLASS_MAX___377 = 41,
    _SC_EXPR_NEST_MAX___377 = 42,
    _SC_LINE_MAX___377 = 43,
    _SC_RE_DUP_MAX___377 = 44,
    _SC_CHARCLASS_NAME_MAX___377 = 45,
    _SC_2_VERSION___377 = 46,
    _SC_2_C_BIND___377 = 47,
    _SC_2_C_DEV___377 = 48,
    _SC_2_FORT_DEV___377 = 49,
    _SC_2_FORT_RUN___377 = 50,
    _SC_2_SW_DEV___377 = 51,
    _SC_2_LOCALEDEF___377 = 52,
    _SC_PII___377 = 53,
    _SC_PII_XTI___377 = 54,
    _SC_PII_SOCKET___377 = 55,
    _SC_PII_INTERNET___377 = 56,
    _SC_PII_OSI___377 = 57,
    _SC_POLL___377 = 58,
    _SC_SELECT___377 = 59,
    _SC_UIO_MAXIOV___377 = 60,
    _SC_IOV_MAX___377 = 60,
    _SC_PII_INTERNET_STREAM___377 = 61,
    _SC_PII_INTERNET_DGRAM___377 = 62,
    _SC_PII_OSI_COTS___377 = 63,
    _SC_PII_OSI_CLTS___377 = 64,
    _SC_PII_OSI_M___377 = 65,
    _SC_T_IOV_MAX___377 = 66,
    _SC_THREADS___377 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___377 = 68,
    _SC_GETGR_R_SIZE_MAX___377 = 69,
    _SC_GETPW_R_SIZE_MAX___377 = 70,
    _SC_LOGIN_NAME_MAX___377 = 71,
    _SC_TTY_NAME_MAX___377 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___377 = 73,
    _SC_THREAD_KEYS_MAX___377 = 74,
    _SC_THREAD_STACK_MIN___377 = 75,
    _SC_THREAD_THREADS_MAX___377 = 76,
    _SC_THREAD_ATTR_STACKADDR___377 = 77,
    _SC_THREAD_ATTR_STACKSIZE___377 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___377 = 79,
    _SC_THREAD_PRIO_INHERIT___377 = 80,
    _SC_THREAD_PRIO_PROTECT___377 = 81,
    _SC_THREAD_PROCESS_SHARED___377 = 82,
    _SC_NPROCESSORS_CONF___377 = 83,
    _SC_NPROCESSORS_ONLN___377 = 84,
    _SC_PHYS_PAGES___377 = 85,
    _SC_AVPHYS_PAGES___377 = 86,
    _SC_ATEXIT_MAX___377 = 87,
    _SC_PASS_MAX___377 = 88,
    _SC_XOPEN_VERSION___377 = 89,
    _SC_XOPEN_XCU_VERSION___377 = 90,
    _SC_XOPEN_UNIX___377 = 91,
    _SC_XOPEN_CRYPT___377 = 92,
    _SC_XOPEN_ENH_I18N___377 = 93,
    _SC_XOPEN_SHM___377 = 94,
    _SC_2_CHAR_TERM___377 = 95,
    _SC_2_C_VERSION___377 = 96,
    _SC_2_UPE___377 = 97,
    _SC_XOPEN_XPG2___377 = 98,
    _SC_XOPEN_XPG3___377 = 99,
    _SC_XOPEN_XPG4___377 = 100,
    _SC_CHAR_BIT___377 = 101,
    _SC_CHAR_MAX___377 = 102,
    _SC_CHAR_MIN___377 = 103,
    _SC_INT_MAX___377 = 104,
    _SC_INT_MIN___377 = 105,
    _SC_LONG_BIT___377 = 106,
    _SC_WORD_BIT___377 = 107,
    _SC_MB_LEN_MAX___377 = 108,
    _SC_NZERO___377 = 109,
    _SC_SSIZE_MAX___377 = 110,
    _SC_SCHAR_MAX___377 = 111,
    _SC_SCHAR_MIN___377 = 112,
    _SC_SHRT_MAX___377 = 113,
    _SC_SHRT_MIN___377 = 114,
    _SC_UCHAR_MAX___377 = 115,
    _SC_UINT_MAX___377 = 116,
    _SC_ULONG_MAX___377 = 117,
    _SC_USHRT_MAX___377 = 118,
    _SC_NL_ARGMAX___377 = 119,
    _SC_NL_LANGMAX___377 = 120,
    _SC_NL_MSGMAX___377 = 121,
    _SC_NL_NMAX___377 = 122,
    _SC_NL_SETMAX___377 = 123,
    _SC_NL_TEXTMAX___377 = 124,
    _SC_XBS5_ILP32_OFF32___377 = 125,
    _SC_XBS5_ILP32_OFFBIG___377 = 126,
    _SC_XBS5_LP64_OFF64___377 = 127,
    _SC_XBS5_LPBIG_OFFBIG___377 = 128,
    _SC_XOPEN_LEGACY___377 = 129,
    _SC_XOPEN_REALTIME___377 = 130,
    _SC_XOPEN_REALTIME_THREADS___377 = 131,
    _SC_ADVISORY_INFO___377 = 132,
    _SC_BARRIERS___377 = 133,
    _SC_BASE___377 = 134,
    _SC_C_LANG_SUPPORT___377 = 135,
    _SC_C_LANG_SUPPORT_R___377 = 136,
    _SC_CLOCK_SELECTION___377 = 137,
    _SC_CPUTIME___377 = 138,
    _SC_THREAD_CPUTIME___377 = 139,
    _SC_DEVICE_IO___377 = 140,
    _SC_DEVICE_SPECIFIC___377 = 141,
    _SC_DEVICE_SPECIFIC_R___377 = 142,
    _SC_FD_MGMT___377 = 143,
    _SC_FIFO___377 = 144,
    _SC_PIPE___377 = 145,
    _SC_FILE_ATTRIBUTES___377 = 146,
    _SC_FILE_LOCKING___377 = 147,
    _SC_FILE_SYSTEM___377 = 148,
    _SC_MONOTONIC_CLOCK___377 = 149,
    _SC_MULTI_PROCESS___377 = 150,
    _SC_SINGLE_PROCESS___377 = 151,
    _SC_NETWORKING___377 = 152,
    _SC_READER_WRITER_LOCKS___377 = 153,
    _SC_SPIN_LOCKS___377 = 154,
    _SC_REGEXP___377 = 155,
    _SC_REGEX_VERSION___377 = 156,
    _SC_SHELL___377 = 157,
    _SC_SIGNALS___377 = 158,
    _SC_SPAWN___377 = 159,
    _SC_SPORADIC_SERVER___377 = 160,
    _SC_THREAD_SPORADIC_SERVER___377 = 161,
    _SC_SYSTEM_DATABASE___377 = 162,
    _SC_SYSTEM_DATABASE_R___377 = 163,
    _SC_TIMEOUTS___377 = 164,
    _SC_TYPED_MEMORY_OBJECTS___377 = 165,
    _SC_USER_GROUPS___377 = 166,
    _SC_USER_GROUPS_R___377 = 167,
    _SC_2_PBS___377 = 168,
    _SC_2_PBS_ACCOUNTING___377 = 169,
    _SC_2_PBS_LOCATE___377 = 170,
    _SC_2_PBS_MESSAGE___377 = 171,
    _SC_2_PBS_TRACK___377 = 172,
    _SC_SYMLOOP_MAX___377 = 173,
    _SC_STREAMS___377 = 174,
    _SC_2_PBS_CHECKPOINT___377 = 175,
    _SC_V6_ILP32_OFF32___377 = 176,
    _SC_V6_ILP32_OFFBIG___377 = 177,
    _SC_V6_LP64_OFF64___377 = 178,
    _SC_V6_LPBIG_OFFBIG___377 = 179,
    _SC_HOST_NAME_MAX___377 = 180,
    _SC_TRACE___377 = 181,
    _SC_TRACE_EVENT_FILTER___377 = 182,
    _SC_TRACE_INHERIT___377 = 183,
    _SC_TRACE_LOG___377 = 184,
    _SC_LEVEL1_ICACHE_SIZE___377 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___377 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___377 = 187,
    _SC_LEVEL1_DCACHE_SIZE___377 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___377 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___377 = 190,
    _SC_LEVEL2_CACHE_SIZE___377 = 191,
    _SC_LEVEL2_CACHE_ASSOC___377 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___377 = 193,
    _SC_LEVEL3_CACHE_SIZE___377 = 194,
    _SC_LEVEL3_CACHE_ASSOC___377 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___377 = 196,
    _SC_LEVEL4_CACHE_SIZE___377 = 197,
    _SC_LEVEL4_CACHE_ASSOC___377 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___377 = 199,
    _SC_IPV6___377 = 235,
    _SC_RAW_SOCKETS___377 = 236,
    _SC_V7_ILP32_OFF32___377 = 237,
    _SC_V7_ILP32_OFFBIG___377 = 238,
    _SC_V7_LP64_OFF64___377 = 239,
    _SC_V7_LPBIG_OFFBIG___377 = 240,
    _SC_SS_REPL_MAX___377 = 241,
    _SC_TRACE_EVENT_NAME_MAX___377 = 242,
    _SC_TRACE_NAME_MAX___377 = 243,
    _SC_TRACE_SYS_MAX___377 = 244,
    _SC_TRACE_USER_EVENT_MAX___377 = 245,
    _SC_XOPEN_STREAMS___377 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___377 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___377 = 248
} ;
enum __anonenum_875524036___377 {
    _CS_PATH___377 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___377 = 1,
    _CS_GNU_LIBC_VERSION___377 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___377 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___377 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___377 = 5,
    _CS_LFS_CFLAGS___377 = 1000,
    _CS_LFS_LDFLAGS___377 = 1001,
    _CS_LFS_LIBS___377 = 1002,
    _CS_LFS_LINTFLAGS___377 = 1003,
    _CS_LFS64_CFLAGS___377 = 1004,
    _CS_LFS64_LDFLAGS___377 = 1005,
    _CS_LFS64_LIBS___377 = 1006,
    _CS_LFS64_LINTFLAGS___377 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___377 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___377 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___377 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___377 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___377 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___377 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___377 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___377 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___377 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___377 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___377 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___377 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___377 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___377 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___377 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___377 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___377 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___377 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___377 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___377 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___377 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___377 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___377 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___377 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___377 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___377 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___377 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___377 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___377 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___377 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___377 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___377 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___377 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___377 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___377 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___377 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___377 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___377 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___377 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___377 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___377 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___377 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___377 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___377 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___377 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___377 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___377 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___377 = 1147,
    _CS_V6_ENV___377 = 1148,
    _CS_V7_ENV___377 = 1149
} ;
enum __anonenum_513775621___377 {
    DT_UNKNOWN___377 = 0,
    DT_FIFO___377 = 1,
    DT_CHR___377 = 2,
    DT_DIR___377 = 4,
    DT_BLK___377 = 6,
    DT_REG___377 = 8,
    DT_LNK___377 = 10,
    DT_SOCK___377 = 12,
    DT_WHT___377 = 14
} ;
enum __anonenum_77002343___377 {
    SI_ASYNCNL___377 = -60,
    SI_TKILL___377 = -6,
    SI_SIGIO___377 = -5,
    SI_ASYNCIO___377 = -4,
    SI_MESGQ___377 = -3,
    SI_TIMER___377 = -2,
    SI_QUEUE___377 = -1,
    SI_USER___377 = 0,
    SI_KERNEL___377 = 128
} ;
enum __anonenum_131038172___377 {
    ILL_ILLOPC___377 = 1,
    ILL_ILLOPN___377 = 2,
    ILL_ILLADR___377 = 3,
    ILL_ILLTRP___377 = 4,
    ILL_PRVOPC___377 = 5,
    ILL_PRVREG___377 = 6,
    ILL_COPROC___377 = 7,
    ILL_BADSTK___377 = 8
} ;
enum __anonenum_452038093___377 {
    FPE_INTDIV___377 = 1,
    FPE_INTOVF___377 = 2,
    FPE_FLTDIV___377 = 3,
    FPE_FLTOVF___377 = 4,
    FPE_FLTUND___377 = 5,
    FPE_FLTRES___377 = 6,
    FPE_FLTINV___377 = 7,
    FPE_FLTSUB___377 = 8
} ;
enum __anonenum_30976155___377 {
    SEGV_MAPERR___377 = 1,
    SEGV_ACCERR___377 = 2,
    SEGV_BNDERR___377 = 3,
    SEGV_PKUERR___377 = 4
} ;
enum __anonenum_1036286214___377 {
    BUS_ADRALN___377 = 1,
    BUS_ADRERR___377 = 2,
    BUS_OBJERR___377 = 3,
    BUS_MCEERR_AR___377 = 4,
    BUS_MCEERR_AO___377 = 5
} ;
enum __anonenum_493465559___377 {
    TRAP_BRKPT___377 = 1,
    TRAP_TRACE___377 = 2
} ;
enum __anonenum_23175539___377 {
    CLD_EXITED___377 = 1,
    CLD_KILLED___377 = 2,
    CLD_DUMPED___377 = 3,
    CLD_TRAPPED___377 = 4,
    CLD_STOPPED___377 = 5,
    CLD_CONTINUED___377 = 6
} ;
enum __anonenum_111643124___377 {
    POLL_IN___377 = 1,
    POLL_OUT___377 = 2,
    POLL_MSG___377 = 3,
    POLL_ERR___377 = 4,
    POLL_PRI___377 = 5,
    POLL_HUP___377 = 6
} ;
enum __anonenum_852341087___377 {
    SIGEV_SIGNAL___377 = 0,
    SIGEV_NONE___377 = 1,
    SIGEV_THREAD___377 = 2,
    SIGEV_THREAD_ID___377 = 4
} ;
enum __anonenum_451154152___377 {
    REG_R8___377 = 0,
    REG_R9___377 = 1,
    REG_R10___377 = 2,
    REG_R11___377 = 3,
    REG_R12___377 = 4,
    REG_R13___377 = 5,
    REG_R14___377 = 6,
    REG_R15___377 = 7,
    REG_RDI___377 = 8,
    REG_RSI___377 = 9,
    REG_RBP___377 = 10,
    REG_RBX___377 = 11,
    REG_RDX___377 = 12,
    REG_RAX___377 = 13,
    REG_RCX___377 = 14,
    REG_RSP___377 = 15,
    REG_RIP___377 = 16,
    REG_EFL___377 = 17,
    REG_CSGSFS___377 = 18,
    REG_ERR___377 = 19,
    REG_TRAPNO___377 = 20,
    REG_OLDMASK___377 = 21,
    REG_CR2___377 = 22
} ;
enum __anonenum_57186863___377 {
    SS_ONSTACK___377 = 1,
    SS_DISABLE___377 = 2
} ;
enum __anonenum_83571709___377 {
    MSG_OOB___377 = 1,
    MSG_PEEK___377 = 2,
    MSG_DONTROUTE___377 = 4,
    MSG_TRYHARD___377 = 4,
    MSG_CTRUNC___377 = 8,
    MSG_PROXY___377 = 16,
    MSG_TRUNC___377 = 32,
    MSG_DONTWAIT___377 = 64,
    MSG_EOR___377 = 128,
    MSG_WAITALL___377 = 256,
    MSG_FIN___377 = 512,
    MSG_SYN___377 = 1024,
    MSG_CONFIRM___377 = 2048,
    MSG_RST___377 = 4096,
    MSG_ERRQUEUE___377 = 8192,
    MSG_NOSIGNAL___377 = 16384,
    MSG_MORE___377 = 32768,
    MSG_WAITFORONE___377 = 65536,
    MSG_BATCH___377 = 262144,
    MSG_ZEROCOPY___377 = 67108864,
    MSG_FASTOPEN___377 = 536870912,
    MSG_CMSG_CLOEXEC___377 = 1073741824
} ;
enum __anonenum_617082774___377 {
    SCM_RIGHTS___377 = 1,
    SCM_CREDENTIALS___377 = 2
} ;
enum __anonenum_606441560___377 {
    SHUT_RD___377 = 0,
    SHUT_WR___377 = 1,
    SHUT_RDWR___377 = 2
} ;
enum __anonenum_681669233___377 {
    IPPROTO_IP___377 = 0,
    IPPROTO_ICMP___377 = 1,
    IPPROTO_IGMP___377 = 2,
    IPPROTO_IPIP___377 = 4,
    IPPROTO_TCP___377 = 6,
    IPPROTO_EGP___377 = 8,
    IPPROTO_PUP___377 = 12,
    IPPROTO_UDP___377 = 17,
    IPPROTO_IDP___377 = 22,
    IPPROTO_TP___377 = 29,
    IPPROTO_DCCP___377 = 33,
    IPPROTO_IPV6___377 = 41,
    IPPROTO_RSVP___377 = 46,
    IPPROTO_GRE___377 = 47,
    IPPROTO_ESP___377 = 50,
    IPPROTO_AH___377 = 51,
    IPPROTO_MTP___377 = 92,
    IPPROTO_BEETPH___377 = 94,
    IPPROTO_ENCAP___377 = 98,
    IPPROTO_PIM___377 = 103,
    IPPROTO_COMP___377 = 108,
    IPPROTO_SCTP___377 = 132,
    IPPROTO_UDPLITE___377 = 136,
    IPPROTO_MPLS___377 = 137,
    IPPROTO_RAW___377 = 255,
    IPPROTO_MAX___377 = 256
} ;
enum __anonenum_218739988___377 {
    IPPROTO_HOPOPTS___377 = 0,
    IPPROTO_ROUTING___377 = 43,
    IPPROTO_FRAGMENT___377 = 44,
    IPPROTO_ICMPV6___377 = 58,
    IPPROTO_NONE___377 = 59,
    IPPROTO_DSTOPTS___377 = 60,
    IPPROTO_MH___377 = 135
} ;
enum __anonenum_662268580___377 {
    IPPORT_ECHO___377 = 7,
    IPPORT_DISCARD___377 = 9,
    IPPORT_SYSTAT___377 = 11,
    IPPORT_DAYTIME___377 = 13,
    IPPORT_NETSTAT___377 = 15,
    IPPORT_FTP___377 = 21,
    IPPORT_TELNET___377 = 23,
    IPPORT_SMTP___377 = 25,
    IPPORT_TIMESERVER___377 = 37,
    IPPORT_NAMESERVER___377 = 42,
    IPPORT_WHOIS___377 = 43,
    IPPORT_MTP___377 = 57,
    IPPORT_TFTP___377 = 69,
    IPPORT_RJE___377 = 77,
    IPPORT_FINGER___377 = 79,
    IPPORT_TTYLINK___377 = 87,
    IPPORT_SUPDUP___377 = 95,
    IPPORT_EXECSERVER___377 = 512,
    IPPORT_LOGINSERVER___377 = 513,
    IPPORT_CMDSERVER___377 = 514,
    IPPORT_EFSSERVER___377 = 520,
    IPPORT_BIFFUDP___377 = 512,
    IPPORT_WHOSERVER___377 = 513,
    IPPORT_ROUTESERVER___377 = 520,
    IPPORT_RESERVED___377 = 1024,
    IPPORT_USERRESERVED___377 = 5000
} ;
enum __anonenum_788308992___377 {
    TCP_ESTABLISHED___377 = 1,
    TCP_SYN_SENT___377 = 2,
    TCP_SYN_RECV___377 = 3,
    TCP_FIN_WAIT1___377 = 4,
    TCP_FIN_WAIT2___377 = 5,
    TCP_TIME_WAIT___377 = 6,
    TCP_CLOSE___377 = 7,
    TCP_CLOSE_WAIT___377 = 8,
    TCP_LAST_ACK___377 = 9,
    TCP_LISTEN___377 = 10,
    TCP_CLOSING___377 = 11
} ;
enum __anonenum_221125648___377 {
    TCP_NO_QUEUE___377 = 0,
    TCP_RECV_QUEUE___377 = 1,
    TCP_SEND_QUEUE___377 = 2,
    TCP_QUEUES_NR___377 = 3
} ;
enum __anonenum_34415463___377 {
    PTHREAD_CREATE_JOINABLE___377 = 0,
    PTHREAD_CREATE_DETACHED___377 = 1
} ;
enum __anonenum_303612439___377 {
    PTHREAD_MUTEX_TIMED_NP___377 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___377 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___377 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___377 = 3,
    PTHREAD_MUTEX_NORMAL___377 = 0,
    PTHREAD_MUTEX_RECURSIVE___377 = 1,
    PTHREAD_MUTEX_ERRORCHECK___377 = 2,
    PTHREAD_MUTEX_DEFAULT___377 = 0,
    PTHREAD_MUTEX_FAST_NP___377 = 0
} ;
enum __anonenum_931900394___377 {
    PTHREAD_MUTEX_STALLED___377 = 0,
    PTHREAD_MUTEX_STALLED_NP___377 = 0,
    PTHREAD_MUTEX_ROBUST___377 = 1,
    PTHREAD_MUTEX_ROBUST_NP___377 = 1
} ;
enum __anonenum_205214487___377 {
    PTHREAD_PRIO_NONE___377 = 0,
    PTHREAD_PRIO_INHERIT___377 = 1,
    PTHREAD_PRIO_PROTECT___377 = 2
} ;
enum __anonenum_25043950___377 {
    PTHREAD_RWLOCK_PREFER_READER_NP___377 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___377 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___377 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___377 = 0
} ;
enum __anonenum_436439511___377 {
    PTHREAD_INHERIT_SCHED___377 = 0,
    PTHREAD_EXPLICIT_SCHED___377 = 1
} ;
enum __anonenum_998661166___377 {
    PTHREAD_SCOPE_SYSTEM___377 = 0,
    PTHREAD_SCOPE_PROCESS___377 = 1
} ;
enum __anonenum_146137331___377 {
    PTHREAD_PROCESS_PRIVATE___377 = 0,
    PTHREAD_PROCESS_SHARED___377 = 1
} ;
enum __anonenum_53396917___377 {
    PTHREAD_CANCEL_ENABLE___377 = 0,
    PTHREAD_CANCEL_DISABLE___377 = 1
} ;
enum __anonenum_904563783___377 {
    PTHREAD_CANCEL_DEFERRED___377 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___377 = 1
} ;
enum __anonenum_672052974___377 {
    SSL_CT_VALIDATION_PERMISSIVE___377 = 0,
    SSL_CT_VALIDATION_STRICT___377 = 1
} ;
enum __anonenum_437032235___378 {
    _PC_LINK_MAX___378 = 0,
    _PC_MAX_CANON___378 = 1,
    _PC_MAX_INPUT___378 = 2,
    _PC_NAME_MAX___378 = 3,
    _PC_PATH_MAX___378 = 4,
    _PC_PIPE_BUF___378 = 5,
    _PC_CHOWN_RESTRICTED___378 = 6,
    _PC_NO_TRUNC___378 = 7,
    _PC_VDISABLE___378 = 8,
    _PC_SYNC_IO___378 = 9,
    _PC_ASYNC_IO___378 = 10,
    _PC_PRIO_IO___378 = 11,
    _PC_SOCK_MAXBUF___378 = 12,
    _PC_FILESIZEBITS___378 = 13,
    _PC_REC_INCR_XFER_SIZE___378 = 14,
    _PC_REC_MAX_XFER_SIZE___378 = 15,
    _PC_REC_MIN_XFER_SIZE___378 = 16,
    _PC_REC_XFER_ALIGN___378 = 17,
    _PC_ALLOC_SIZE_MIN___378 = 18,
    _PC_SYMLINK_MAX___378 = 19,
    _PC_2_SYMLINKS___378 = 20
} ;
enum __anonenum_315186338___378 {
    _SC_ARG_MAX___378 = 0,
    _SC_CHILD_MAX___378 = 1,
    _SC_CLK_TCK___378 = 2,
    _SC_NGROUPS_MAX___378 = 3,
    _SC_OPEN_MAX___378 = 4,
    _SC_STREAM_MAX___378 = 5,
    _SC_TZNAME_MAX___378 = 6,
    _SC_JOB_CONTROL___378 = 7,
    _SC_SAVED_IDS___378 = 8,
    _SC_REALTIME_SIGNALS___378 = 9,
    _SC_PRIORITY_SCHEDULING___378 = 10,
    _SC_TIMERS___378 = 11,
    _SC_ASYNCHRONOUS_IO___378 = 12,
    _SC_PRIORITIZED_IO___378 = 13,
    _SC_SYNCHRONIZED_IO___378 = 14,
    _SC_FSYNC___378 = 15,
    _SC_MAPPED_FILES___378 = 16,
    _SC_MEMLOCK___378 = 17,
    _SC_MEMLOCK_RANGE___378 = 18,
    _SC_MEMORY_PROTECTION___378 = 19,
    _SC_MESSAGE_PASSING___378 = 20,
    _SC_SEMAPHORES___378 = 21,
    _SC_SHARED_MEMORY_OBJECTS___378 = 22,
    _SC_AIO_LISTIO_MAX___378 = 23,
    _SC_AIO_MAX___378 = 24,
    _SC_AIO_PRIO_DELTA_MAX___378 = 25,
    _SC_DELAYTIMER_MAX___378 = 26,
    _SC_MQ_OPEN_MAX___378 = 27,
    _SC_MQ_PRIO_MAX___378 = 28,
    _SC_VERSION___378 = 29,
    _SC_PAGESIZE___378 = 30,
    _SC_RTSIG_MAX___378 = 31,
    _SC_SEM_NSEMS_MAX___378 = 32,
    _SC_SEM_VALUE_MAX___378 = 33,
    _SC_SIGQUEUE_MAX___378 = 34,
    _SC_TIMER_MAX___378 = 35,
    _SC_BC_BASE_MAX___378 = 36,
    _SC_BC_DIM_MAX___378 = 37,
    _SC_BC_SCALE_MAX___378 = 38,
    _SC_BC_STRING_MAX___378 = 39,
    _SC_COLL_WEIGHTS_MAX___378 = 40,
    _SC_EQUIV_CLASS_MAX___378 = 41,
    _SC_EXPR_NEST_MAX___378 = 42,
    _SC_LINE_MAX___378 = 43,
    _SC_RE_DUP_MAX___378 = 44,
    _SC_CHARCLASS_NAME_MAX___378 = 45,
    _SC_2_VERSION___378 = 46,
    _SC_2_C_BIND___378 = 47,
    _SC_2_C_DEV___378 = 48,
    _SC_2_FORT_DEV___378 = 49,
    _SC_2_FORT_RUN___378 = 50,
    _SC_2_SW_DEV___378 = 51,
    _SC_2_LOCALEDEF___378 = 52,
    _SC_PII___378 = 53,
    _SC_PII_XTI___378 = 54,
    _SC_PII_SOCKET___378 = 55,
    _SC_PII_INTERNET___378 = 56,
    _SC_PII_OSI___378 = 57,
    _SC_POLL___378 = 58,
    _SC_SELECT___378 = 59,
    _SC_UIO_MAXIOV___378 = 60,
    _SC_IOV_MAX___378 = 60,
    _SC_PII_INTERNET_STREAM___378 = 61,
    _SC_PII_INTERNET_DGRAM___378 = 62,
    _SC_PII_OSI_COTS___378 = 63,
    _SC_PII_OSI_CLTS___378 = 64,
    _SC_PII_OSI_M___378 = 65,
    _SC_T_IOV_MAX___378 = 66,
    _SC_THREADS___378 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___378 = 68,
    _SC_GETGR_R_SIZE_MAX___378 = 69,
    _SC_GETPW_R_SIZE_MAX___378 = 70,
    _SC_LOGIN_NAME_MAX___378 = 71,
    _SC_TTY_NAME_MAX___378 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___378 = 73,
    _SC_THREAD_KEYS_MAX___378 = 74,
    _SC_THREAD_STACK_MIN___378 = 75,
    _SC_THREAD_THREADS_MAX___378 = 76,
    _SC_THREAD_ATTR_STACKADDR___378 = 77,
    _SC_THREAD_ATTR_STACKSIZE___378 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___378 = 79,
    _SC_THREAD_PRIO_INHERIT___378 = 80,
    _SC_THREAD_PRIO_PROTECT___378 = 81,
    _SC_THREAD_PROCESS_SHARED___378 = 82,
    _SC_NPROCESSORS_CONF___378 = 83,
    _SC_NPROCESSORS_ONLN___378 = 84,
    _SC_PHYS_PAGES___378 = 85,
    _SC_AVPHYS_PAGES___378 = 86,
    _SC_ATEXIT_MAX___378 = 87,
    _SC_PASS_MAX___378 = 88,
    _SC_XOPEN_VERSION___378 = 89,
    _SC_XOPEN_XCU_VERSION___378 = 90,
    _SC_XOPEN_UNIX___378 = 91,
    _SC_XOPEN_CRYPT___378 = 92,
    _SC_XOPEN_ENH_I18N___378 = 93,
    _SC_XOPEN_SHM___378 = 94,
    _SC_2_CHAR_TERM___378 = 95,
    _SC_2_C_VERSION___378 = 96,
    _SC_2_UPE___378 = 97,
    _SC_XOPEN_XPG2___378 = 98,
    _SC_XOPEN_XPG3___378 = 99,
    _SC_XOPEN_XPG4___378 = 100,
    _SC_CHAR_BIT___378 = 101,
    _SC_CHAR_MAX___378 = 102,
    _SC_CHAR_MIN___378 = 103,
    _SC_INT_MAX___378 = 104,
    _SC_INT_MIN___378 = 105,
    _SC_LONG_BIT___378 = 106,
    _SC_WORD_BIT___378 = 107,
    _SC_MB_LEN_MAX___378 = 108,
    _SC_NZERO___378 = 109,
    _SC_SSIZE_MAX___378 = 110,
    _SC_SCHAR_MAX___378 = 111,
    _SC_SCHAR_MIN___378 = 112,
    _SC_SHRT_MAX___378 = 113,
    _SC_SHRT_MIN___378 = 114,
    _SC_UCHAR_MAX___378 = 115,
    _SC_UINT_MAX___378 = 116,
    _SC_ULONG_MAX___378 = 117,
    _SC_USHRT_MAX___378 = 118,
    _SC_NL_ARGMAX___378 = 119,
    _SC_NL_LANGMAX___378 = 120,
    _SC_NL_MSGMAX___378 = 121,
    _SC_NL_NMAX___378 = 122,
    _SC_NL_SETMAX___378 = 123,
    _SC_NL_TEXTMAX___378 = 124,
    _SC_XBS5_ILP32_OFF32___378 = 125,
    _SC_XBS5_ILP32_OFFBIG___378 = 126,
    _SC_XBS5_LP64_OFF64___378 = 127,
    _SC_XBS5_LPBIG_OFFBIG___378 = 128,
    _SC_XOPEN_LEGACY___378 = 129,
    _SC_XOPEN_REALTIME___378 = 130,
    _SC_XOPEN_REALTIME_THREADS___378 = 131,
    _SC_ADVISORY_INFO___378 = 132,
    _SC_BARRIERS___378 = 133,
    _SC_BASE___378 = 134,
    _SC_C_LANG_SUPPORT___378 = 135,
    _SC_C_LANG_SUPPORT_R___378 = 136,
    _SC_CLOCK_SELECTION___378 = 137,
    _SC_CPUTIME___378 = 138,
    _SC_THREAD_CPUTIME___378 = 139,
    _SC_DEVICE_IO___378 = 140,
    _SC_DEVICE_SPECIFIC___378 = 141,
    _SC_DEVICE_SPECIFIC_R___378 = 142,
    _SC_FD_MGMT___378 = 143,
    _SC_FIFO___378 = 144,
    _SC_PIPE___378 = 145,
    _SC_FILE_ATTRIBUTES___378 = 146,
    _SC_FILE_LOCKING___378 = 147,
    _SC_FILE_SYSTEM___378 = 148,
    _SC_MONOTONIC_CLOCK___378 = 149,
    _SC_MULTI_PROCESS___378 = 150,
    _SC_SINGLE_PROCESS___378 = 151,
    _SC_NETWORKING___378 = 152,
    _SC_READER_WRITER_LOCKS___378 = 153,
    _SC_SPIN_LOCKS___378 = 154,
    _SC_REGEXP___378 = 155,
    _SC_REGEX_VERSION___378 = 156,
    _SC_SHELL___378 = 157,
    _SC_SIGNALS___378 = 158,
    _SC_SPAWN___378 = 159,
    _SC_SPORADIC_SERVER___378 = 160,
    _SC_THREAD_SPORADIC_SERVER___378 = 161,
    _SC_SYSTEM_DATABASE___378 = 162,
    _SC_SYSTEM_DATABASE_R___378 = 163,
    _SC_TIMEOUTS___378 = 164,
    _SC_TYPED_MEMORY_OBJECTS___378 = 165,
    _SC_USER_GROUPS___378 = 166,
    _SC_USER_GROUPS_R___378 = 167,
    _SC_2_PBS___378 = 168,
    _SC_2_PBS_ACCOUNTING___378 = 169,
    _SC_2_PBS_LOCATE___378 = 170,
    _SC_2_PBS_MESSAGE___378 = 171,
    _SC_2_PBS_TRACK___378 = 172,
    _SC_SYMLOOP_MAX___378 = 173,
    _SC_STREAMS___378 = 174,
    _SC_2_PBS_CHECKPOINT___378 = 175,
    _SC_V6_ILP32_OFF32___378 = 176,
    _SC_V6_ILP32_OFFBIG___378 = 177,
    _SC_V6_LP64_OFF64___378 = 178,
    _SC_V6_LPBIG_OFFBIG___378 = 179,
    _SC_HOST_NAME_MAX___378 = 180,
    _SC_TRACE___378 = 181,
    _SC_TRACE_EVENT_FILTER___378 = 182,
    _SC_TRACE_INHERIT___378 = 183,
    _SC_TRACE_LOG___378 = 184,
    _SC_LEVEL1_ICACHE_SIZE___378 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___378 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___378 = 187,
    _SC_LEVEL1_DCACHE_SIZE___378 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___378 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___378 = 190,
    _SC_LEVEL2_CACHE_SIZE___378 = 191,
    _SC_LEVEL2_CACHE_ASSOC___378 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___378 = 193,
    _SC_LEVEL3_CACHE_SIZE___378 = 194,
    _SC_LEVEL3_CACHE_ASSOC___378 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___378 = 196,
    _SC_LEVEL4_CACHE_SIZE___378 = 197,
    _SC_LEVEL4_CACHE_ASSOC___378 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___378 = 199,
    _SC_IPV6___378 = 235,
    _SC_RAW_SOCKETS___378 = 236,
    _SC_V7_ILP32_OFF32___378 = 237,
    _SC_V7_ILP32_OFFBIG___378 = 238,
    _SC_V7_LP64_OFF64___378 = 239,
    _SC_V7_LPBIG_OFFBIG___378 = 240,
    _SC_SS_REPL_MAX___378 = 241,
    _SC_TRACE_EVENT_NAME_MAX___378 = 242,
    _SC_TRACE_NAME_MAX___378 = 243,
    _SC_TRACE_SYS_MAX___378 = 244,
    _SC_TRACE_USER_EVENT_MAX___378 = 245,
    _SC_XOPEN_STREAMS___378 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___378 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___378 = 248
} ;
enum __anonenum_875524036___378 {
    _CS_PATH___378 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___378 = 1,
    _CS_GNU_LIBC_VERSION___378 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___378 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___378 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___378 = 5,
    _CS_LFS_CFLAGS___378 = 1000,
    _CS_LFS_LDFLAGS___378 = 1001,
    _CS_LFS_LIBS___378 = 1002,
    _CS_LFS_LINTFLAGS___378 = 1003,
    _CS_LFS64_CFLAGS___378 = 1004,
    _CS_LFS64_LDFLAGS___378 = 1005,
    _CS_LFS64_LIBS___378 = 1006,
    _CS_LFS64_LINTFLAGS___378 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___378 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___378 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___378 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___378 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___378 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___378 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___378 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___378 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___378 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___378 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___378 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___378 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___378 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___378 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___378 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___378 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___378 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___378 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___378 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___378 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___378 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___378 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___378 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___378 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___378 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___378 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___378 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___378 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___378 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___378 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___378 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___378 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___378 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___378 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___378 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___378 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___378 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___378 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___378 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___378 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___378 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___378 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___378 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___378 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___378 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___378 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___378 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___378 = 1147,
    _CS_V6_ENV___378 = 1148,
    _CS_V7_ENV___378 = 1149
} ;
enum __anonenum_513775621___378 {
    DT_UNKNOWN___378 = 0,
    DT_FIFO___378 = 1,
    DT_CHR___378 = 2,
    DT_DIR___378 = 4,
    DT_BLK___378 = 6,
    DT_REG___378 = 8,
    DT_LNK___378 = 10,
    DT_SOCK___378 = 12,
    DT_WHT___378 = 14
} ;
enum __anonenum_77002343___378 {
    SI_ASYNCNL___378 = -60,
    SI_TKILL___378 = -6,
    SI_SIGIO___378 = -5,
    SI_ASYNCIO___378 = -4,
    SI_MESGQ___378 = -3,
    SI_TIMER___378 = -2,
    SI_QUEUE___378 = -1,
    SI_USER___378 = 0,
    SI_KERNEL___378 = 128
} ;
enum __anonenum_131038172___378 {
    ILL_ILLOPC___378 = 1,
    ILL_ILLOPN___378 = 2,
    ILL_ILLADR___378 = 3,
    ILL_ILLTRP___378 = 4,
    ILL_PRVOPC___378 = 5,
    ILL_PRVREG___378 = 6,
    ILL_COPROC___378 = 7,
    ILL_BADSTK___378 = 8
} ;
enum __anonenum_452038093___378 {
    FPE_INTDIV___378 = 1,
    FPE_INTOVF___378 = 2,
    FPE_FLTDIV___378 = 3,
    FPE_FLTOVF___378 = 4,
    FPE_FLTUND___378 = 5,
    FPE_FLTRES___378 = 6,
    FPE_FLTINV___378 = 7,
    FPE_FLTSUB___378 = 8
} ;
enum __anonenum_30976155___378 {
    SEGV_MAPERR___378 = 1,
    SEGV_ACCERR___378 = 2,
    SEGV_BNDERR___378 = 3,
    SEGV_PKUERR___378 = 4
} ;
enum __anonenum_1036286214___378 {
    BUS_ADRALN___378 = 1,
    BUS_ADRERR___378 = 2,
    BUS_OBJERR___378 = 3,
    BUS_MCEERR_AR___378 = 4,
    BUS_MCEERR_AO___378 = 5
} ;
enum __anonenum_493465559___378 {
    TRAP_BRKPT___378 = 1,
    TRAP_TRACE___378 = 2
} ;
enum __anonenum_23175539___378 {
    CLD_EXITED___378 = 1,
    CLD_KILLED___378 = 2,
    CLD_DUMPED___378 = 3,
    CLD_TRAPPED___378 = 4,
    CLD_STOPPED___378 = 5,
    CLD_CONTINUED___378 = 6
} ;
enum __anonenum_111643124___378 {
    POLL_IN___378 = 1,
    POLL_OUT___378 = 2,
    POLL_MSG___378 = 3,
    POLL_ERR___378 = 4,
    POLL_PRI___378 = 5,
    POLL_HUP___378 = 6
} ;
enum __anonenum_852341087___378 {
    SIGEV_SIGNAL___378 = 0,
    SIGEV_NONE___378 = 1,
    SIGEV_THREAD___378 = 2,
    SIGEV_THREAD_ID___378 = 4
} ;
enum __anonenum_451154152___378 {
    REG_R8___378 = 0,
    REG_R9___378 = 1,
    REG_R10___378 = 2,
    REG_R11___378 = 3,
    REG_R12___378 = 4,
    REG_R13___378 = 5,
    REG_R14___378 = 6,
    REG_R15___378 = 7,
    REG_RDI___378 = 8,
    REG_RSI___378 = 9,
    REG_RBP___378 = 10,
    REG_RBX___378 = 11,
    REG_RDX___378 = 12,
    REG_RAX___378 = 13,
    REG_RCX___378 = 14,
    REG_RSP___378 = 15,
    REG_RIP___378 = 16,
    REG_EFL___378 = 17,
    REG_CSGSFS___378 = 18,
    REG_ERR___378 = 19,
    REG_TRAPNO___378 = 20,
    REG_OLDMASK___378 = 21,
    REG_CR2___378 = 22
} ;
enum __anonenum_57186863___378 {
    SS_ONSTACK___378 = 1,
    SS_DISABLE___378 = 2
} ;
enum __anonenum_83571709___378 {
    MSG_OOB___378 = 1,
    MSG_PEEK___378 = 2,
    MSG_DONTROUTE___378 = 4,
    MSG_TRYHARD___378 = 4,
    MSG_CTRUNC___378 = 8,
    MSG_PROXY___378 = 16,
    MSG_TRUNC___378 = 32,
    MSG_DONTWAIT___378 = 64,
    MSG_EOR___378 = 128,
    MSG_WAITALL___378 = 256,
    MSG_FIN___378 = 512,
    MSG_SYN___378 = 1024,
    MSG_CONFIRM___378 = 2048,
    MSG_RST___378 = 4096,
    MSG_ERRQUEUE___378 = 8192,
    MSG_NOSIGNAL___378 = 16384,
    MSG_MORE___378 = 32768,
    MSG_WAITFORONE___378 = 65536,
    MSG_BATCH___378 = 262144,
    MSG_ZEROCOPY___378 = 67108864,
    MSG_FASTOPEN___378 = 536870912,
    MSG_CMSG_CLOEXEC___378 = 1073741824
} ;
enum __anonenum_617082774___378 {
    SCM_RIGHTS___378 = 1,
    SCM_CREDENTIALS___378 = 2
} ;
enum __anonenum_606441560___378 {
    SHUT_RD___378 = 0,
    SHUT_WR___378 = 1,
    SHUT_RDWR___378 = 2
} ;
enum __anonenum_681669233___378 {
    IPPROTO_IP___378 = 0,
    IPPROTO_ICMP___378 = 1,
    IPPROTO_IGMP___378 = 2,
    IPPROTO_IPIP___378 = 4,
    IPPROTO_TCP___378 = 6,
    IPPROTO_EGP___378 = 8,
    IPPROTO_PUP___378 = 12,
    IPPROTO_UDP___378 = 17,
    IPPROTO_IDP___378 = 22,
    IPPROTO_TP___378 = 29,
    IPPROTO_DCCP___378 = 33,
    IPPROTO_IPV6___378 = 41,
    IPPROTO_RSVP___378 = 46,
    IPPROTO_GRE___378 = 47,
    IPPROTO_ESP___378 = 50,
    IPPROTO_AH___378 = 51,
    IPPROTO_MTP___378 = 92,
    IPPROTO_BEETPH___378 = 94,
    IPPROTO_ENCAP___378 = 98,
    IPPROTO_PIM___378 = 103,
    IPPROTO_COMP___378 = 108,
    IPPROTO_SCTP___378 = 132,
    IPPROTO_UDPLITE___378 = 136,
    IPPROTO_MPLS___378 = 137,
    IPPROTO_RAW___378 = 255,
    IPPROTO_MAX___378 = 256
} ;
enum __anonenum_218739988___378 {
    IPPROTO_HOPOPTS___378 = 0,
    IPPROTO_ROUTING___378 = 43,
    IPPROTO_FRAGMENT___378 = 44,
    IPPROTO_ICMPV6___378 = 58,
    IPPROTO_NONE___378 = 59,
    IPPROTO_DSTOPTS___378 = 60,
    IPPROTO_MH___378 = 135
} ;
enum __anonenum_662268580___378 {
    IPPORT_ECHO___378 = 7,
    IPPORT_DISCARD___378 = 9,
    IPPORT_SYSTAT___378 = 11,
    IPPORT_DAYTIME___378 = 13,
    IPPORT_NETSTAT___378 = 15,
    IPPORT_FTP___378 = 21,
    IPPORT_TELNET___378 = 23,
    IPPORT_SMTP___378 = 25,
    IPPORT_TIMESERVER___378 = 37,
    IPPORT_NAMESERVER___378 = 42,
    IPPORT_WHOIS___378 = 43,
    IPPORT_MTP___378 = 57,
    IPPORT_TFTP___378 = 69,
    IPPORT_RJE___378 = 77,
    IPPORT_FINGER___378 = 79,
    IPPORT_TTYLINK___378 = 87,
    IPPORT_SUPDUP___378 = 95,
    IPPORT_EXECSERVER___378 = 512,
    IPPORT_LOGINSERVER___378 = 513,
    IPPORT_CMDSERVER___378 = 514,
    IPPORT_EFSSERVER___378 = 520,
    IPPORT_BIFFUDP___378 = 512,
    IPPORT_WHOSERVER___378 = 513,
    IPPORT_ROUTESERVER___378 = 520,
    IPPORT_RESERVED___378 = 1024,
    IPPORT_USERRESERVED___378 = 5000
} ;
enum __anonenum_788308992___378 {
    TCP_ESTABLISHED___378 = 1,
    TCP_SYN_SENT___378 = 2,
    TCP_SYN_RECV___378 = 3,
    TCP_FIN_WAIT1___378 = 4,
    TCP_FIN_WAIT2___378 = 5,
    TCP_TIME_WAIT___378 = 6,
    TCP_CLOSE___378 = 7,
    TCP_CLOSE_WAIT___378 = 8,
    TCP_LAST_ACK___378 = 9,
    TCP_LISTEN___378 = 10,
    TCP_CLOSING___378 = 11
} ;
enum __anonenum_221125648___378 {
    TCP_NO_QUEUE___378 = 0,
    TCP_RECV_QUEUE___378 = 1,
    TCP_SEND_QUEUE___378 = 2,
    TCP_QUEUES_NR___378 = 3
} ;
enum __anonenum_34415463___378 {
    PTHREAD_CREATE_JOINABLE___378 = 0,
    PTHREAD_CREATE_DETACHED___378 = 1
} ;
enum __anonenum_303612439___378 {
    PTHREAD_MUTEX_TIMED_NP___378 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___378 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___378 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___378 = 3,
    PTHREAD_MUTEX_NORMAL___378 = 0,
    PTHREAD_MUTEX_RECURSIVE___378 = 1,
    PTHREAD_MUTEX_ERRORCHECK___378 = 2,
    PTHREAD_MUTEX_DEFAULT___378 = 0,
    PTHREAD_MUTEX_FAST_NP___378 = 0
} ;
enum __anonenum_931900394___378 {
    PTHREAD_MUTEX_STALLED___378 = 0,
    PTHREAD_MUTEX_STALLED_NP___378 = 0,
    PTHREAD_MUTEX_ROBUST___378 = 1,
    PTHREAD_MUTEX_ROBUST_NP___378 = 1
} ;
enum __anonenum_205214487___378 {
    PTHREAD_PRIO_NONE___378 = 0,
    PTHREAD_PRIO_INHERIT___378 = 1,
    PTHREAD_PRIO_PROTECT___378 = 2
} ;
enum __anonenum_25043950___378 {
    PTHREAD_RWLOCK_PREFER_READER_NP___378 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___378 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___378 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___378 = 0
} ;
enum __anonenum_436439511___378 {
    PTHREAD_INHERIT_SCHED___378 = 0,
    PTHREAD_EXPLICIT_SCHED___378 = 1
} ;
enum __anonenum_998661166___378 {
    PTHREAD_SCOPE_SYSTEM___378 = 0,
    PTHREAD_SCOPE_PROCESS___378 = 1
} ;
enum __anonenum_146137331___378 {
    PTHREAD_PROCESS_PRIVATE___378 = 0,
    PTHREAD_PROCESS_SHARED___378 = 1
} ;
enum __anonenum_53396917___378 {
    PTHREAD_CANCEL_ENABLE___378 = 0,
    PTHREAD_CANCEL_DISABLE___378 = 1
} ;
enum __anonenum_904563783___378 {
    PTHREAD_CANCEL_DEFERRED___378 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___378 = 1
} ;
enum __anonenum_672052974___378 {
    SSL_CT_VALIDATION_PERMISSIVE___378 = 0,
    SSL_CT_VALIDATION_STRICT___378 = 1
} ;
struct obj_buffer {
   char *buffer ;
   unsigned long size ;
};
struct delta_info {
   struct object_id base_oid ;
   unsigned int nr ;
   off_t base_offset ;
   unsigned long size ;
   void *delta ;
   struct delta_info *next ;
};
struct obj_info {
   off_t offset ;
   struct object_id oid ;
   struct object *obj ;
};
enum __anonenum_437032235___379 {
    _PC_LINK_MAX___379 = 0,
    _PC_MAX_CANON___379 = 1,
    _PC_MAX_INPUT___379 = 2,
    _PC_NAME_MAX___379 = 3,
    _PC_PATH_MAX___379 = 4,
    _PC_PIPE_BUF___379 = 5,
    _PC_CHOWN_RESTRICTED___379 = 6,
    _PC_NO_TRUNC___379 = 7,
    _PC_VDISABLE___379 = 8,
    _PC_SYNC_IO___379 = 9,
    _PC_ASYNC_IO___379 = 10,
    _PC_PRIO_IO___379 = 11,
    _PC_SOCK_MAXBUF___379 = 12,
    _PC_FILESIZEBITS___379 = 13,
    _PC_REC_INCR_XFER_SIZE___379 = 14,
    _PC_REC_MAX_XFER_SIZE___379 = 15,
    _PC_REC_MIN_XFER_SIZE___379 = 16,
    _PC_REC_XFER_ALIGN___379 = 17,
    _PC_ALLOC_SIZE_MIN___379 = 18,
    _PC_SYMLINK_MAX___379 = 19,
    _PC_2_SYMLINKS___379 = 20
} ;
enum __anonenum_315186338___379 {
    _SC_ARG_MAX___379 = 0,
    _SC_CHILD_MAX___379 = 1,
    _SC_CLK_TCK___379 = 2,
    _SC_NGROUPS_MAX___379 = 3,
    _SC_OPEN_MAX___379 = 4,
    _SC_STREAM_MAX___379 = 5,
    _SC_TZNAME_MAX___379 = 6,
    _SC_JOB_CONTROL___379 = 7,
    _SC_SAVED_IDS___379 = 8,
    _SC_REALTIME_SIGNALS___379 = 9,
    _SC_PRIORITY_SCHEDULING___379 = 10,
    _SC_TIMERS___379 = 11,
    _SC_ASYNCHRONOUS_IO___379 = 12,
    _SC_PRIORITIZED_IO___379 = 13,
    _SC_SYNCHRONIZED_IO___379 = 14,
    _SC_FSYNC___379 = 15,
    _SC_MAPPED_FILES___379 = 16,
    _SC_MEMLOCK___379 = 17,
    _SC_MEMLOCK_RANGE___379 = 18,
    _SC_MEMORY_PROTECTION___379 = 19,
    _SC_MESSAGE_PASSING___379 = 20,
    _SC_SEMAPHORES___379 = 21,
    _SC_SHARED_MEMORY_OBJECTS___379 = 22,
    _SC_AIO_LISTIO_MAX___379 = 23,
    _SC_AIO_MAX___379 = 24,
    _SC_AIO_PRIO_DELTA_MAX___379 = 25,
    _SC_DELAYTIMER_MAX___379 = 26,
    _SC_MQ_OPEN_MAX___379 = 27,
    _SC_MQ_PRIO_MAX___379 = 28,
    _SC_VERSION___379 = 29,
    _SC_PAGESIZE___379 = 30,
    _SC_RTSIG_MAX___379 = 31,
    _SC_SEM_NSEMS_MAX___379 = 32,
    _SC_SEM_VALUE_MAX___379 = 33,
    _SC_SIGQUEUE_MAX___379 = 34,
    _SC_TIMER_MAX___379 = 35,
    _SC_BC_BASE_MAX___379 = 36,
    _SC_BC_DIM_MAX___379 = 37,
    _SC_BC_SCALE_MAX___379 = 38,
    _SC_BC_STRING_MAX___379 = 39,
    _SC_COLL_WEIGHTS_MAX___379 = 40,
    _SC_EQUIV_CLASS_MAX___379 = 41,
    _SC_EXPR_NEST_MAX___379 = 42,
    _SC_LINE_MAX___379 = 43,
    _SC_RE_DUP_MAX___379 = 44,
    _SC_CHARCLASS_NAME_MAX___379 = 45,
    _SC_2_VERSION___379 = 46,
    _SC_2_C_BIND___379 = 47,
    _SC_2_C_DEV___379 = 48,
    _SC_2_FORT_DEV___379 = 49,
    _SC_2_FORT_RUN___379 = 50,
    _SC_2_SW_DEV___379 = 51,
    _SC_2_LOCALEDEF___379 = 52,
    _SC_PII___379 = 53,
    _SC_PII_XTI___379 = 54,
    _SC_PII_SOCKET___379 = 55,
    _SC_PII_INTERNET___379 = 56,
    _SC_PII_OSI___379 = 57,
    _SC_POLL___379 = 58,
    _SC_SELECT___379 = 59,
    _SC_UIO_MAXIOV___379 = 60,
    _SC_IOV_MAX___379 = 60,
    _SC_PII_INTERNET_STREAM___379 = 61,
    _SC_PII_INTERNET_DGRAM___379 = 62,
    _SC_PII_OSI_COTS___379 = 63,
    _SC_PII_OSI_CLTS___379 = 64,
    _SC_PII_OSI_M___379 = 65,
    _SC_T_IOV_MAX___379 = 66,
    _SC_THREADS___379 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___379 = 68,
    _SC_GETGR_R_SIZE_MAX___379 = 69,
    _SC_GETPW_R_SIZE_MAX___379 = 70,
    _SC_LOGIN_NAME_MAX___379 = 71,
    _SC_TTY_NAME_MAX___379 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___379 = 73,
    _SC_THREAD_KEYS_MAX___379 = 74,
    _SC_THREAD_STACK_MIN___379 = 75,
    _SC_THREAD_THREADS_MAX___379 = 76,
    _SC_THREAD_ATTR_STACKADDR___379 = 77,
    _SC_THREAD_ATTR_STACKSIZE___379 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___379 = 79,
    _SC_THREAD_PRIO_INHERIT___379 = 80,
    _SC_THREAD_PRIO_PROTECT___379 = 81,
    _SC_THREAD_PROCESS_SHARED___379 = 82,
    _SC_NPROCESSORS_CONF___379 = 83,
    _SC_NPROCESSORS_ONLN___379 = 84,
    _SC_PHYS_PAGES___379 = 85,
    _SC_AVPHYS_PAGES___379 = 86,
    _SC_ATEXIT_MAX___379 = 87,
    _SC_PASS_MAX___379 = 88,
    _SC_XOPEN_VERSION___379 = 89,
    _SC_XOPEN_XCU_VERSION___379 = 90,
    _SC_XOPEN_UNIX___379 = 91,
    _SC_XOPEN_CRYPT___379 = 92,
    _SC_XOPEN_ENH_I18N___379 = 93,
    _SC_XOPEN_SHM___379 = 94,
    _SC_2_CHAR_TERM___379 = 95,
    _SC_2_C_VERSION___379 = 96,
    _SC_2_UPE___379 = 97,
    _SC_XOPEN_XPG2___379 = 98,
    _SC_XOPEN_XPG3___379 = 99,
    _SC_XOPEN_XPG4___379 = 100,
    _SC_CHAR_BIT___379 = 101,
    _SC_CHAR_MAX___379 = 102,
    _SC_CHAR_MIN___379 = 103,
    _SC_INT_MAX___379 = 104,
    _SC_INT_MIN___379 = 105,
    _SC_LONG_BIT___379 = 106,
    _SC_WORD_BIT___379 = 107,
    _SC_MB_LEN_MAX___379 = 108,
    _SC_NZERO___379 = 109,
    _SC_SSIZE_MAX___379 = 110,
    _SC_SCHAR_MAX___379 = 111,
    _SC_SCHAR_MIN___379 = 112,
    _SC_SHRT_MAX___379 = 113,
    _SC_SHRT_MIN___379 = 114,
    _SC_UCHAR_MAX___379 = 115,
    _SC_UINT_MAX___379 = 116,
    _SC_ULONG_MAX___379 = 117,
    _SC_USHRT_MAX___379 = 118,
    _SC_NL_ARGMAX___379 = 119,
    _SC_NL_LANGMAX___379 = 120,
    _SC_NL_MSGMAX___379 = 121,
    _SC_NL_NMAX___379 = 122,
    _SC_NL_SETMAX___379 = 123,
    _SC_NL_TEXTMAX___379 = 124,
    _SC_XBS5_ILP32_OFF32___379 = 125,
    _SC_XBS5_ILP32_OFFBIG___379 = 126,
    _SC_XBS5_LP64_OFF64___379 = 127,
    _SC_XBS5_LPBIG_OFFBIG___379 = 128,
    _SC_XOPEN_LEGACY___379 = 129,
    _SC_XOPEN_REALTIME___379 = 130,
    _SC_XOPEN_REALTIME_THREADS___379 = 131,
    _SC_ADVISORY_INFO___379 = 132,
    _SC_BARRIERS___379 = 133,
    _SC_BASE___379 = 134,
    _SC_C_LANG_SUPPORT___379 = 135,
    _SC_C_LANG_SUPPORT_R___379 = 136,
    _SC_CLOCK_SELECTION___379 = 137,
    _SC_CPUTIME___379 = 138,
    _SC_THREAD_CPUTIME___379 = 139,
    _SC_DEVICE_IO___379 = 140,
    _SC_DEVICE_SPECIFIC___379 = 141,
    _SC_DEVICE_SPECIFIC_R___379 = 142,
    _SC_FD_MGMT___379 = 143,
    _SC_FIFO___379 = 144,
    _SC_PIPE___379 = 145,
    _SC_FILE_ATTRIBUTES___379 = 146,
    _SC_FILE_LOCKING___379 = 147,
    _SC_FILE_SYSTEM___379 = 148,
    _SC_MONOTONIC_CLOCK___379 = 149,
    _SC_MULTI_PROCESS___379 = 150,
    _SC_SINGLE_PROCESS___379 = 151,
    _SC_NETWORKING___379 = 152,
    _SC_READER_WRITER_LOCKS___379 = 153,
    _SC_SPIN_LOCKS___379 = 154,
    _SC_REGEXP___379 = 155,
    _SC_REGEX_VERSION___379 = 156,
    _SC_SHELL___379 = 157,
    _SC_SIGNALS___379 = 158,
    _SC_SPAWN___379 = 159,
    _SC_SPORADIC_SERVER___379 = 160,
    _SC_THREAD_SPORADIC_SERVER___379 = 161,
    _SC_SYSTEM_DATABASE___379 = 162,
    _SC_SYSTEM_DATABASE_R___379 = 163,
    _SC_TIMEOUTS___379 = 164,
    _SC_TYPED_MEMORY_OBJECTS___379 = 165,
    _SC_USER_GROUPS___379 = 166,
    _SC_USER_GROUPS_R___379 = 167,
    _SC_2_PBS___379 = 168,
    _SC_2_PBS_ACCOUNTING___379 = 169,
    _SC_2_PBS_LOCATE___379 = 170,
    _SC_2_PBS_MESSAGE___379 = 171,
    _SC_2_PBS_TRACK___379 = 172,
    _SC_SYMLOOP_MAX___379 = 173,
    _SC_STREAMS___379 = 174,
    _SC_2_PBS_CHECKPOINT___379 = 175,
    _SC_V6_ILP32_OFF32___379 = 176,
    _SC_V6_ILP32_OFFBIG___379 = 177,
    _SC_V6_LP64_OFF64___379 = 178,
    _SC_V6_LPBIG_OFFBIG___379 = 179,
    _SC_HOST_NAME_MAX___379 = 180,
    _SC_TRACE___379 = 181,
    _SC_TRACE_EVENT_FILTER___379 = 182,
    _SC_TRACE_INHERIT___379 = 183,
    _SC_TRACE_LOG___379 = 184,
    _SC_LEVEL1_ICACHE_SIZE___379 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___379 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___379 = 187,
    _SC_LEVEL1_DCACHE_SIZE___379 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___379 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___379 = 190,
    _SC_LEVEL2_CACHE_SIZE___379 = 191,
    _SC_LEVEL2_CACHE_ASSOC___379 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___379 = 193,
    _SC_LEVEL3_CACHE_SIZE___379 = 194,
    _SC_LEVEL3_CACHE_ASSOC___379 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___379 = 196,
    _SC_LEVEL4_CACHE_SIZE___379 = 197,
    _SC_LEVEL4_CACHE_ASSOC___379 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___379 = 199,
    _SC_IPV6___379 = 235,
    _SC_RAW_SOCKETS___379 = 236,
    _SC_V7_ILP32_OFF32___379 = 237,
    _SC_V7_ILP32_OFFBIG___379 = 238,
    _SC_V7_LP64_OFF64___379 = 239,
    _SC_V7_LPBIG_OFFBIG___379 = 240,
    _SC_SS_REPL_MAX___379 = 241,
    _SC_TRACE_EVENT_NAME_MAX___379 = 242,
    _SC_TRACE_NAME_MAX___379 = 243,
    _SC_TRACE_SYS_MAX___379 = 244,
    _SC_TRACE_USER_EVENT_MAX___379 = 245,
    _SC_XOPEN_STREAMS___379 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___379 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___379 = 248
} ;
enum __anonenum_875524036___379 {
    _CS_PATH___379 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___379 = 1,
    _CS_GNU_LIBC_VERSION___379 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___379 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___379 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___379 = 5,
    _CS_LFS_CFLAGS___379 = 1000,
    _CS_LFS_LDFLAGS___379 = 1001,
    _CS_LFS_LIBS___379 = 1002,
    _CS_LFS_LINTFLAGS___379 = 1003,
    _CS_LFS64_CFLAGS___379 = 1004,
    _CS_LFS64_LDFLAGS___379 = 1005,
    _CS_LFS64_LIBS___379 = 1006,
    _CS_LFS64_LINTFLAGS___379 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___379 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___379 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___379 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___379 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___379 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___379 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___379 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___379 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___379 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___379 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___379 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___379 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___379 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___379 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___379 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___379 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___379 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___379 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___379 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___379 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___379 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___379 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___379 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___379 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___379 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___379 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___379 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___379 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___379 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___379 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___379 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___379 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___379 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___379 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___379 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___379 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___379 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___379 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___379 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___379 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___379 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___379 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___379 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___379 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___379 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___379 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___379 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___379 = 1147,
    _CS_V6_ENV___379 = 1148,
    _CS_V7_ENV___379 = 1149
} ;
enum __anonenum_513775621___379 {
    DT_UNKNOWN___379 = 0,
    DT_FIFO___379 = 1,
    DT_CHR___379 = 2,
    DT_DIR___379 = 4,
    DT_BLK___379 = 6,
    DT_REG___379 = 8,
    DT_LNK___379 = 10,
    DT_SOCK___379 = 12,
    DT_WHT___379 = 14
} ;
enum __anonenum_77002343___379 {
    SI_ASYNCNL___379 = -60,
    SI_TKILL___379 = -6,
    SI_SIGIO___379 = -5,
    SI_ASYNCIO___379 = -4,
    SI_MESGQ___379 = -3,
    SI_TIMER___379 = -2,
    SI_QUEUE___379 = -1,
    SI_USER___379 = 0,
    SI_KERNEL___379 = 128
} ;
enum __anonenum_131038172___379 {
    ILL_ILLOPC___379 = 1,
    ILL_ILLOPN___379 = 2,
    ILL_ILLADR___379 = 3,
    ILL_ILLTRP___379 = 4,
    ILL_PRVOPC___379 = 5,
    ILL_PRVREG___379 = 6,
    ILL_COPROC___379 = 7,
    ILL_BADSTK___379 = 8
} ;
enum __anonenum_452038093___379 {
    FPE_INTDIV___379 = 1,
    FPE_INTOVF___379 = 2,
    FPE_FLTDIV___379 = 3,
    FPE_FLTOVF___379 = 4,
    FPE_FLTUND___379 = 5,
    FPE_FLTRES___379 = 6,
    FPE_FLTINV___379 = 7,
    FPE_FLTSUB___379 = 8
} ;
enum __anonenum_30976155___379 {
    SEGV_MAPERR___379 = 1,
    SEGV_ACCERR___379 = 2,
    SEGV_BNDERR___379 = 3,
    SEGV_PKUERR___379 = 4
} ;
enum __anonenum_1036286214___379 {
    BUS_ADRALN___379 = 1,
    BUS_ADRERR___379 = 2,
    BUS_OBJERR___379 = 3,
    BUS_MCEERR_AR___379 = 4,
    BUS_MCEERR_AO___379 = 5
} ;
enum __anonenum_493465559___379 {
    TRAP_BRKPT___379 = 1,
    TRAP_TRACE___379 = 2
} ;
enum __anonenum_23175539___379 {
    CLD_EXITED___379 = 1,
    CLD_KILLED___379 = 2,
    CLD_DUMPED___379 = 3,
    CLD_TRAPPED___379 = 4,
    CLD_STOPPED___379 = 5,
    CLD_CONTINUED___379 = 6
} ;
enum __anonenum_111643124___379 {
    POLL_IN___379 = 1,
    POLL_OUT___379 = 2,
    POLL_MSG___379 = 3,
    POLL_ERR___379 = 4,
    POLL_PRI___379 = 5,
    POLL_HUP___379 = 6
} ;
enum __anonenum_852341087___379 {
    SIGEV_SIGNAL___379 = 0,
    SIGEV_NONE___379 = 1,
    SIGEV_THREAD___379 = 2,
    SIGEV_THREAD_ID___379 = 4
} ;
enum __anonenum_451154152___379 {
    REG_R8___379 = 0,
    REG_R9___379 = 1,
    REG_R10___379 = 2,
    REG_R11___379 = 3,
    REG_R12___379 = 4,
    REG_R13___379 = 5,
    REG_R14___379 = 6,
    REG_R15___379 = 7,
    REG_RDI___379 = 8,
    REG_RSI___379 = 9,
    REG_RBP___379 = 10,
    REG_RBX___379 = 11,
    REG_RDX___379 = 12,
    REG_RAX___379 = 13,
    REG_RCX___379 = 14,
    REG_RSP___379 = 15,
    REG_RIP___379 = 16,
    REG_EFL___379 = 17,
    REG_CSGSFS___379 = 18,
    REG_ERR___379 = 19,
    REG_TRAPNO___379 = 20,
    REG_OLDMASK___379 = 21,
    REG_CR2___379 = 22
} ;
enum __anonenum_57186863___379 {
    SS_ONSTACK___379 = 1,
    SS_DISABLE___379 = 2
} ;
enum __anonenum_83571709___379 {
    MSG_OOB___379 = 1,
    MSG_PEEK___379 = 2,
    MSG_DONTROUTE___379 = 4,
    MSG_TRYHARD___379 = 4,
    MSG_CTRUNC___379 = 8,
    MSG_PROXY___379 = 16,
    MSG_TRUNC___379 = 32,
    MSG_DONTWAIT___379 = 64,
    MSG_EOR___379 = 128,
    MSG_WAITALL___379 = 256,
    MSG_FIN___379 = 512,
    MSG_SYN___379 = 1024,
    MSG_CONFIRM___379 = 2048,
    MSG_RST___379 = 4096,
    MSG_ERRQUEUE___379 = 8192,
    MSG_NOSIGNAL___379 = 16384,
    MSG_MORE___379 = 32768,
    MSG_WAITFORONE___379 = 65536,
    MSG_BATCH___379 = 262144,
    MSG_ZEROCOPY___379 = 67108864,
    MSG_FASTOPEN___379 = 536870912,
    MSG_CMSG_CLOEXEC___379 = 1073741824
} ;
enum __anonenum_617082774___379 {
    SCM_RIGHTS___379 = 1,
    SCM_CREDENTIALS___379 = 2
} ;
enum __anonenum_606441560___379 {
    SHUT_RD___379 = 0,
    SHUT_WR___379 = 1,
    SHUT_RDWR___379 = 2
} ;
enum __anonenum_681669233___379 {
    IPPROTO_IP___379 = 0,
    IPPROTO_ICMP___379 = 1,
    IPPROTO_IGMP___379 = 2,
    IPPROTO_IPIP___379 = 4,
    IPPROTO_TCP___379 = 6,
    IPPROTO_EGP___379 = 8,
    IPPROTO_PUP___379 = 12,
    IPPROTO_UDP___379 = 17,
    IPPROTO_IDP___379 = 22,
    IPPROTO_TP___379 = 29,
    IPPROTO_DCCP___379 = 33,
    IPPROTO_IPV6___379 = 41,
    IPPROTO_RSVP___379 = 46,
    IPPROTO_GRE___379 = 47,
    IPPROTO_ESP___379 = 50,
    IPPROTO_AH___379 = 51,
    IPPROTO_MTP___379 = 92,
    IPPROTO_BEETPH___379 = 94,
    IPPROTO_ENCAP___379 = 98,
    IPPROTO_PIM___379 = 103,
    IPPROTO_COMP___379 = 108,
    IPPROTO_SCTP___379 = 132,
    IPPROTO_UDPLITE___379 = 136,
    IPPROTO_MPLS___379 = 137,
    IPPROTO_RAW___379 = 255,
    IPPROTO_MAX___379 = 256
} ;
enum __anonenum_218739988___379 {
    IPPROTO_HOPOPTS___379 = 0,
    IPPROTO_ROUTING___379 = 43,
    IPPROTO_FRAGMENT___379 = 44,
    IPPROTO_ICMPV6___379 = 58,
    IPPROTO_NONE___379 = 59,
    IPPROTO_DSTOPTS___379 = 60,
    IPPROTO_MH___379 = 135
} ;
enum __anonenum_662268580___379 {
    IPPORT_ECHO___379 = 7,
    IPPORT_DISCARD___379 = 9,
    IPPORT_SYSTAT___379 = 11,
    IPPORT_DAYTIME___379 = 13,
    IPPORT_NETSTAT___379 = 15,
    IPPORT_FTP___379 = 21,
    IPPORT_TELNET___379 = 23,
    IPPORT_SMTP___379 = 25,
    IPPORT_TIMESERVER___379 = 37,
    IPPORT_NAMESERVER___379 = 42,
    IPPORT_WHOIS___379 = 43,
    IPPORT_MTP___379 = 57,
    IPPORT_TFTP___379 = 69,
    IPPORT_RJE___379 = 77,
    IPPORT_FINGER___379 = 79,
    IPPORT_TTYLINK___379 = 87,
    IPPORT_SUPDUP___379 = 95,
    IPPORT_EXECSERVER___379 = 512,
    IPPORT_LOGINSERVER___379 = 513,
    IPPORT_CMDSERVER___379 = 514,
    IPPORT_EFSSERVER___379 = 520,
    IPPORT_BIFFUDP___379 = 512,
    IPPORT_WHOSERVER___379 = 513,
    IPPORT_ROUTESERVER___379 = 520,
    IPPORT_RESERVED___379 = 1024,
    IPPORT_USERRESERVED___379 = 5000
} ;
enum __anonenum_788308992___379 {
    TCP_ESTABLISHED___379 = 1,
    TCP_SYN_SENT___379 = 2,
    TCP_SYN_RECV___379 = 3,
    TCP_FIN_WAIT1___379 = 4,
    TCP_FIN_WAIT2___379 = 5,
    TCP_TIME_WAIT___379 = 6,
    TCP_CLOSE___379 = 7,
    TCP_CLOSE_WAIT___379 = 8,
    TCP_LAST_ACK___379 = 9,
    TCP_LISTEN___379 = 10,
    TCP_CLOSING___379 = 11
} ;
enum __anonenum_221125648___379 {
    TCP_NO_QUEUE___379 = 0,
    TCP_RECV_QUEUE___379 = 1,
    TCP_SEND_QUEUE___379 = 2,
    TCP_QUEUES_NR___379 = 3
} ;
enum __anonenum_34415463___379 {
    PTHREAD_CREATE_JOINABLE___379 = 0,
    PTHREAD_CREATE_DETACHED___379 = 1
} ;
enum __anonenum_303612439___379 {
    PTHREAD_MUTEX_TIMED_NP___379 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___379 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___379 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___379 = 3,
    PTHREAD_MUTEX_NORMAL___379 = 0,
    PTHREAD_MUTEX_RECURSIVE___379 = 1,
    PTHREAD_MUTEX_ERRORCHECK___379 = 2,
    PTHREAD_MUTEX_DEFAULT___379 = 0,
    PTHREAD_MUTEX_FAST_NP___379 = 0
} ;
enum __anonenum_931900394___379 {
    PTHREAD_MUTEX_STALLED___379 = 0,
    PTHREAD_MUTEX_STALLED_NP___379 = 0,
    PTHREAD_MUTEX_ROBUST___379 = 1,
    PTHREAD_MUTEX_ROBUST_NP___379 = 1
} ;
enum __anonenum_205214487___379 {
    PTHREAD_PRIO_NONE___379 = 0,
    PTHREAD_PRIO_INHERIT___379 = 1,
    PTHREAD_PRIO_PROTECT___379 = 2
} ;
enum __anonenum_25043950___379 {
    PTHREAD_RWLOCK_PREFER_READER_NP___379 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___379 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___379 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___379 = 0
} ;
enum __anonenum_436439511___379 {
    PTHREAD_INHERIT_SCHED___379 = 0,
    PTHREAD_EXPLICIT_SCHED___379 = 1
} ;
enum __anonenum_998661166___379 {
    PTHREAD_SCOPE_SYSTEM___379 = 0,
    PTHREAD_SCOPE_PROCESS___379 = 1
} ;
enum __anonenum_146137331___379 {
    PTHREAD_PROCESS_PRIVATE___379 = 0,
    PTHREAD_PROCESS_SHARED___379 = 1
} ;
enum __anonenum_53396917___379 {
    PTHREAD_CANCEL_ENABLE___379 = 0,
    PTHREAD_CANCEL_DISABLE___379 = 1
} ;
enum __anonenum_904563783___379 {
    PTHREAD_CANCEL_DEFERRED___379 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___379 = 1
} ;
enum __anonenum_672052974___379 {
    SSL_CT_VALIDATION_PERMISSIVE___379 = 0,
    SSL_CT_VALIDATION_STRICT___379 = 1
} ;
enum uc_mode {
    UC_UNSPECIFIED = -1,
    UC_DISABLE = 0,
    UC_ENABLE = 1,
    UC_TEST = 2,
    UC_FORCE = 3
} ;
struct refresh_params {
   unsigned int flags ;
   int *has_errors ;
};
enum __anonenum_437032235___380 {
    _PC_LINK_MAX___380 = 0,
    _PC_MAX_CANON___380 = 1,
    _PC_MAX_INPUT___380 = 2,
    _PC_NAME_MAX___380 = 3,
    _PC_PATH_MAX___380 = 4,
    _PC_PIPE_BUF___380 = 5,
    _PC_CHOWN_RESTRICTED___380 = 6,
    _PC_NO_TRUNC___380 = 7,
    _PC_VDISABLE___380 = 8,
    _PC_SYNC_IO___380 = 9,
    _PC_ASYNC_IO___380 = 10,
    _PC_PRIO_IO___380 = 11,
    _PC_SOCK_MAXBUF___380 = 12,
    _PC_FILESIZEBITS___380 = 13,
    _PC_REC_INCR_XFER_SIZE___380 = 14,
    _PC_REC_MAX_XFER_SIZE___380 = 15,
    _PC_REC_MIN_XFER_SIZE___380 = 16,
    _PC_REC_XFER_ALIGN___380 = 17,
    _PC_ALLOC_SIZE_MIN___380 = 18,
    _PC_SYMLINK_MAX___380 = 19,
    _PC_2_SYMLINKS___380 = 20
} ;
enum __anonenum_315186338___380 {
    _SC_ARG_MAX___380 = 0,
    _SC_CHILD_MAX___380 = 1,
    _SC_CLK_TCK___380 = 2,
    _SC_NGROUPS_MAX___380 = 3,
    _SC_OPEN_MAX___380 = 4,
    _SC_STREAM_MAX___380 = 5,
    _SC_TZNAME_MAX___380 = 6,
    _SC_JOB_CONTROL___380 = 7,
    _SC_SAVED_IDS___380 = 8,
    _SC_REALTIME_SIGNALS___380 = 9,
    _SC_PRIORITY_SCHEDULING___380 = 10,
    _SC_TIMERS___380 = 11,
    _SC_ASYNCHRONOUS_IO___380 = 12,
    _SC_PRIORITIZED_IO___380 = 13,
    _SC_SYNCHRONIZED_IO___380 = 14,
    _SC_FSYNC___380 = 15,
    _SC_MAPPED_FILES___380 = 16,
    _SC_MEMLOCK___380 = 17,
    _SC_MEMLOCK_RANGE___380 = 18,
    _SC_MEMORY_PROTECTION___380 = 19,
    _SC_MESSAGE_PASSING___380 = 20,
    _SC_SEMAPHORES___380 = 21,
    _SC_SHARED_MEMORY_OBJECTS___380 = 22,
    _SC_AIO_LISTIO_MAX___380 = 23,
    _SC_AIO_MAX___380 = 24,
    _SC_AIO_PRIO_DELTA_MAX___380 = 25,
    _SC_DELAYTIMER_MAX___380 = 26,
    _SC_MQ_OPEN_MAX___380 = 27,
    _SC_MQ_PRIO_MAX___380 = 28,
    _SC_VERSION___380 = 29,
    _SC_PAGESIZE___380 = 30,
    _SC_RTSIG_MAX___380 = 31,
    _SC_SEM_NSEMS_MAX___380 = 32,
    _SC_SEM_VALUE_MAX___380 = 33,
    _SC_SIGQUEUE_MAX___380 = 34,
    _SC_TIMER_MAX___380 = 35,
    _SC_BC_BASE_MAX___380 = 36,
    _SC_BC_DIM_MAX___380 = 37,
    _SC_BC_SCALE_MAX___380 = 38,
    _SC_BC_STRING_MAX___380 = 39,
    _SC_COLL_WEIGHTS_MAX___380 = 40,
    _SC_EQUIV_CLASS_MAX___380 = 41,
    _SC_EXPR_NEST_MAX___380 = 42,
    _SC_LINE_MAX___380 = 43,
    _SC_RE_DUP_MAX___380 = 44,
    _SC_CHARCLASS_NAME_MAX___380 = 45,
    _SC_2_VERSION___380 = 46,
    _SC_2_C_BIND___380 = 47,
    _SC_2_C_DEV___380 = 48,
    _SC_2_FORT_DEV___380 = 49,
    _SC_2_FORT_RUN___380 = 50,
    _SC_2_SW_DEV___380 = 51,
    _SC_2_LOCALEDEF___380 = 52,
    _SC_PII___380 = 53,
    _SC_PII_XTI___380 = 54,
    _SC_PII_SOCKET___380 = 55,
    _SC_PII_INTERNET___380 = 56,
    _SC_PII_OSI___380 = 57,
    _SC_POLL___380 = 58,
    _SC_SELECT___380 = 59,
    _SC_UIO_MAXIOV___380 = 60,
    _SC_IOV_MAX___380 = 60,
    _SC_PII_INTERNET_STREAM___380 = 61,
    _SC_PII_INTERNET_DGRAM___380 = 62,
    _SC_PII_OSI_COTS___380 = 63,
    _SC_PII_OSI_CLTS___380 = 64,
    _SC_PII_OSI_M___380 = 65,
    _SC_T_IOV_MAX___380 = 66,
    _SC_THREADS___380 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___380 = 68,
    _SC_GETGR_R_SIZE_MAX___380 = 69,
    _SC_GETPW_R_SIZE_MAX___380 = 70,
    _SC_LOGIN_NAME_MAX___380 = 71,
    _SC_TTY_NAME_MAX___380 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___380 = 73,
    _SC_THREAD_KEYS_MAX___380 = 74,
    _SC_THREAD_STACK_MIN___380 = 75,
    _SC_THREAD_THREADS_MAX___380 = 76,
    _SC_THREAD_ATTR_STACKADDR___380 = 77,
    _SC_THREAD_ATTR_STACKSIZE___380 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___380 = 79,
    _SC_THREAD_PRIO_INHERIT___380 = 80,
    _SC_THREAD_PRIO_PROTECT___380 = 81,
    _SC_THREAD_PROCESS_SHARED___380 = 82,
    _SC_NPROCESSORS_CONF___380 = 83,
    _SC_NPROCESSORS_ONLN___380 = 84,
    _SC_PHYS_PAGES___380 = 85,
    _SC_AVPHYS_PAGES___380 = 86,
    _SC_ATEXIT_MAX___380 = 87,
    _SC_PASS_MAX___380 = 88,
    _SC_XOPEN_VERSION___380 = 89,
    _SC_XOPEN_XCU_VERSION___380 = 90,
    _SC_XOPEN_UNIX___380 = 91,
    _SC_XOPEN_CRYPT___380 = 92,
    _SC_XOPEN_ENH_I18N___380 = 93,
    _SC_XOPEN_SHM___380 = 94,
    _SC_2_CHAR_TERM___380 = 95,
    _SC_2_C_VERSION___380 = 96,
    _SC_2_UPE___380 = 97,
    _SC_XOPEN_XPG2___380 = 98,
    _SC_XOPEN_XPG3___380 = 99,
    _SC_XOPEN_XPG4___380 = 100,
    _SC_CHAR_BIT___380 = 101,
    _SC_CHAR_MAX___380 = 102,
    _SC_CHAR_MIN___380 = 103,
    _SC_INT_MAX___380 = 104,
    _SC_INT_MIN___380 = 105,
    _SC_LONG_BIT___380 = 106,
    _SC_WORD_BIT___380 = 107,
    _SC_MB_LEN_MAX___380 = 108,
    _SC_NZERO___380 = 109,
    _SC_SSIZE_MAX___380 = 110,
    _SC_SCHAR_MAX___380 = 111,
    _SC_SCHAR_MIN___380 = 112,
    _SC_SHRT_MAX___380 = 113,
    _SC_SHRT_MIN___380 = 114,
    _SC_UCHAR_MAX___380 = 115,
    _SC_UINT_MAX___380 = 116,
    _SC_ULONG_MAX___380 = 117,
    _SC_USHRT_MAX___380 = 118,
    _SC_NL_ARGMAX___380 = 119,
    _SC_NL_LANGMAX___380 = 120,
    _SC_NL_MSGMAX___380 = 121,
    _SC_NL_NMAX___380 = 122,
    _SC_NL_SETMAX___380 = 123,
    _SC_NL_TEXTMAX___380 = 124,
    _SC_XBS5_ILP32_OFF32___380 = 125,
    _SC_XBS5_ILP32_OFFBIG___380 = 126,
    _SC_XBS5_LP64_OFF64___380 = 127,
    _SC_XBS5_LPBIG_OFFBIG___380 = 128,
    _SC_XOPEN_LEGACY___380 = 129,
    _SC_XOPEN_REALTIME___380 = 130,
    _SC_XOPEN_REALTIME_THREADS___380 = 131,
    _SC_ADVISORY_INFO___380 = 132,
    _SC_BARRIERS___380 = 133,
    _SC_BASE___380 = 134,
    _SC_C_LANG_SUPPORT___380 = 135,
    _SC_C_LANG_SUPPORT_R___380 = 136,
    _SC_CLOCK_SELECTION___380 = 137,
    _SC_CPUTIME___380 = 138,
    _SC_THREAD_CPUTIME___380 = 139,
    _SC_DEVICE_IO___380 = 140,
    _SC_DEVICE_SPECIFIC___380 = 141,
    _SC_DEVICE_SPECIFIC_R___380 = 142,
    _SC_FD_MGMT___380 = 143,
    _SC_FIFO___380 = 144,
    _SC_PIPE___380 = 145,
    _SC_FILE_ATTRIBUTES___380 = 146,
    _SC_FILE_LOCKING___380 = 147,
    _SC_FILE_SYSTEM___380 = 148,
    _SC_MONOTONIC_CLOCK___380 = 149,
    _SC_MULTI_PROCESS___380 = 150,
    _SC_SINGLE_PROCESS___380 = 151,
    _SC_NETWORKING___380 = 152,
    _SC_READER_WRITER_LOCKS___380 = 153,
    _SC_SPIN_LOCKS___380 = 154,
    _SC_REGEXP___380 = 155,
    _SC_REGEX_VERSION___380 = 156,
    _SC_SHELL___380 = 157,
    _SC_SIGNALS___380 = 158,
    _SC_SPAWN___380 = 159,
    _SC_SPORADIC_SERVER___380 = 160,
    _SC_THREAD_SPORADIC_SERVER___380 = 161,
    _SC_SYSTEM_DATABASE___380 = 162,
    _SC_SYSTEM_DATABASE_R___380 = 163,
    _SC_TIMEOUTS___380 = 164,
    _SC_TYPED_MEMORY_OBJECTS___380 = 165,
    _SC_USER_GROUPS___380 = 166,
    _SC_USER_GROUPS_R___380 = 167,
    _SC_2_PBS___380 = 168,
    _SC_2_PBS_ACCOUNTING___380 = 169,
    _SC_2_PBS_LOCATE___380 = 170,
    _SC_2_PBS_MESSAGE___380 = 171,
    _SC_2_PBS_TRACK___380 = 172,
    _SC_SYMLOOP_MAX___380 = 173,
    _SC_STREAMS___380 = 174,
    _SC_2_PBS_CHECKPOINT___380 = 175,
    _SC_V6_ILP32_OFF32___380 = 176,
    _SC_V6_ILP32_OFFBIG___380 = 177,
    _SC_V6_LP64_OFF64___380 = 178,
    _SC_V6_LPBIG_OFFBIG___380 = 179,
    _SC_HOST_NAME_MAX___380 = 180,
    _SC_TRACE___380 = 181,
    _SC_TRACE_EVENT_FILTER___380 = 182,
    _SC_TRACE_INHERIT___380 = 183,
    _SC_TRACE_LOG___380 = 184,
    _SC_LEVEL1_ICACHE_SIZE___380 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___380 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___380 = 187,
    _SC_LEVEL1_DCACHE_SIZE___380 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___380 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___380 = 190,
    _SC_LEVEL2_CACHE_SIZE___380 = 191,
    _SC_LEVEL2_CACHE_ASSOC___380 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___380 = 193,
    _SC_LEVEL3_CACHE_SIZE___380 = 194,
    _SC_LEVEL3_CACHE_ASSOC___380 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___380 = 196,
    _SC_LEVEL4_CACHE_SIZE___380 = 197,
    _SC_LEVEL4_CACHE_ASSOC___380 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___380 = 199,
    _SC_IPV6___380 = 235,
    _SC_RAW_SOCKETS___380 = 236,
    _SC_V7_ILP32_OFF32___380 = 237,
    _SC_V7_ILP32_OFFBIG___380 = 238,
    _SC_V7_LP64_OFF64___380 = 239,
    _SC_V7_LPBIG_OFFBIG___380 = 240,
    _SC_SS_REPL_MAX___380 = 241,
    _SC_TRACE_EVENT_NAME_MAX___380 = 242,
    _SC_TRACE_NAME_MAX___380 = 243,
    _SC_TRACE_SYS_MAX___380 = 244,
    _SC_TRACE_USER_EVENT_MAX___380 = 245,
    _SC_XOPEN_STREAMS___380 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___380 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___380 = 248
} ;
enum __anonenum_875524036___380 {
    _CS_PATH___380 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___380 = 1,
    _CS_GNU_LIBC_VERSION___380 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___380 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___380 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___380 = 5,
    _CS_LFS_CFLAGS___380 = 1000,
    _CS_LFS_LDFLAGS___380 = 1001,
    _CS_LFS_LIBS___380 = 1002,
    _CS_LFS_LINTFLAGS___380 = 1003,
    _CS_LFS64_CFLAGS___380 = 1004,
    _CS_LFS64_LDFLAGS___380 = 1005,
    _CS_LFS64_LIBS___380 = 1006,
    _CS_LFS64_LINTFLAGS___380 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___380 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___380 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___380 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___380 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___380 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___380 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___380 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___380 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___380 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___380 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___380 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___380 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___380 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___380 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___380 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___380 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___380 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___380 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___380 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___380 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___380 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___380 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___380 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___380 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___380 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___380 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___380 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___380 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___380 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___380 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___380 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___380 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___380 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___380 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___380 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___380 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___380 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___380 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___380 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___380 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___380 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___380 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___380 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___380 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___380 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___380 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___380 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___380 = 1147,
    _CS_V6_ENV___380 = 1148,
    _CS_V7_ENV___380 = 1149
} ;
enum __anonenum_513775621___380 {
    DT_UNKNOWN___380 = 0,
    DT_FIFO___380 = 1,
    DT_CHR___380 = 2,
    DT_DIR___380 = 4,
    DT_BLK___380 = 6,
    DT_REG___380 = 8,
    DT_LNK___380 = 10,
    DT_SOCK___380 = 12,
    DT_WHT___380 = 14
} ;
enum __anonenum_77002343___380 {
    SI_ASYNCNL___380 = -60,
    SI_TKILL___380 = -6,
    SI_SIGIO___380 = -5,
    SI_ASYNCIO___380 = -4,
    SI_MESGQ___380 = -3,
    SI_TIMER___380 = -2,
    SI_QUEUE___380 = -1,
    SI_USER___380 = 0,
    SI_KERNEL___380 = 128
} ;
enum __anonenum_131038172___380 {
    ILL_ILLOPC___380 = 1,
    ILL_ILLOPN___380 = 2,
    ILL_ILLADR___380 = 3,
    ILL_ILLTRP___380 = 4,
    ILL_PRVOPC___380 = 5,
    ILL_PRVREG___380 = 6,
    ILL_COPROC___380 = 7,
    ILL_BADSTK___380 = 8
} ;
enum __anonenum_452038093___380 {
    FPE_INTDIV___380 = 1,
    FPE_INTOVF___380 = 2,
    FPE_FLTDIV___380 = 3,
    FPE_FLTOVF___380 = 4,
    FPE_FLTUND___380 = 5,
    FPE_FLTRES___380 = 6,
    FPE_FLTINV___380 = 7,
    FPE_FLTSUB___380 = 8
} ;
enum __anonenum_30976155___380 {
    SEGV_MAPERR___380 = 1,
    SEGV_ACCERR___380 = 2,
    SEGV_BNDERR___380 = 3,
    SEGV_PKUERR___380 = 4
} ;
enum __anonenum_1036286214___380 {
    BUS_ADRALN___380 = 1,
    BUS_ADRERR___380 = 2,
    BUS_OBJERR___380 = 3,
    BUS_MCEERR_AR___380 = 4,
    BUS_MCEERR_AO___380 = 5
} ;
enum __anonenum_493465559___380 {
    TRAP_BRKPT___380 = 1,
    TRAP_TRACE___380 = 2
} ;
enum __anonenum_23175539___380 {
    CLD_EXITED___380 = 1,
    CLD_KILLED___380 = 2,
    CLD_DUMPED___380 = 3,
    CLD_TRAPPED___380 = 4,
    CLD_STOPPED___380 = 5,
    CLD_CONTINUED___380 = 6
} ;
enum __anonenum_111643124___380 {
    POLL_IN___380 = 1,
    POLL_OUT___380 = 2,
    POLL_MSG___380 = 3,
    POLL_ERR___380 = 4,
    POLL_PRI___380 = 5,
    POLL_HUP___380 = 6
} ;
enum __anonenum_852341087___380 {
    SIGEV_SIGNAL___380 = 0,
    SIGEV_NONE___380 = 1,
    SIGEV_THREAD___380 = 2,
    SIGEV_THREAD_ID___380 = 4
} ;
enum __anonenum_451154152___380 {
    REG_R8___380 = 0,
    REG_R9___380 = 1,
    REG_R10___380 = 2,
    REG_R11___380 = 3,
    REG_R12___380 = 4,
    REG_R13___380 = 5,
    REG_R14___380 = 6,
    REG_R15___380 = 7,
    REG_RDI___380 = 8,
    REG_RSI___380 = 9,
    REG_RBP___380 = 10,
    REG_RBX___380 = 11,
    REG_RDX___380 = 12,
    REG_RAX___380 = 13,
    REG_RCX___380 = 14,
    REG_RSP___380 = 15,
    REG_RIP___380 = 16,
    REG_EFL___380 = 17,
    REG_CSGSFS___380 = 18,
    REG_ERR___380 = 19,
    REG_TRAPNO___380 = 20,
    REG_OLDMASK___380 = 21,
    REG_CR2___380 = 22
} ;
enum __anonenum_57186863___380 {
    SS_ONSTACK___380 = 1,
    SS_DISABLE___380 = 2
} ;
enum __anonenum_83571709___380 {
    MSG_OOB___380 = 1,
    MSG_PEEK___380 = 2,
    MSG_DONTROUTE___380 = 4,
    MSG_TRYHARD___380 = 4,
    MSG_CTRUNC___380 = 8,
    MSG_PROXY___380 = 16,
    MSG_TRUNC___380 = 32,
    MSG_DONTWAIT___380 = 64,
    MSG_EOR___380 = 128,
    MSG_WAITALL___380 = 256,
    MSG_FIN___380 = 512,
    MSG_SYN___380 = 1024,
    MSG_CONFIRM___380 = 2048,
    MSG_RST___380 = 4096,
    MSG_ERRQUEUE___380 = 8192,
    MSG_NOSIGNAL___380 = 16384,
    MSG_MORE___380 = 32768,
    MSG_WAITFORONE___380 = 65536,
    MSG_BATCH___380 = 262144,
    MSG_ZEROCOPY___380 = 67108864,
    MSG_FASTOPEN___380 = 536870912,
    MSG_CMSG_CLOEXEC___380 = 1073741824
} ;
enum __anonenum_617082774___380 {
    SCM_RIGHTS___380 = 1,
    SCM_CREDENTIALS___380 = 2
} ;
enum __anonenum_606441560___380 {
    SHUT_RD___380 = 0,
    SHUT_WR___380 = 1,
    SHUT_RDWR___380 = 2
} ;
enum __anonenum_681669233___380 {
    IPPROTO_IP___380 = 0,
    IPPROTO_ICMP___380 = 1,
    IPPROTO_IGMP___380 = 2,
    IPPROTO_IPIP___380 = 4,
    IPPROTO_TCP___380 = 6,
    IPPROTO_EGP___380 = 8,
    IPPROTO_PUP___380 = 12,
    IPPROTO_UDP___380 = 17,
    IPPROTO_IDP___380 = 22,
    IPPROTO_TP___380 = 29,
    IPPROTO_DCCP___380 = 33,
    IPPROTO_IPV6___380 = 41,
    IPPROTO_RSVP___380 = 46,
    IPPROTO_GRE___380 = 47,
    IPPROTO_ESP___380 = 50,
    IPPROTO_AH___380 = 51,
    IPPROTO_MTP___380 = 92,
    IPPROTO_BEETPH___380 = 94,
    IPPROTO_ENCAP___380 = 98,
    IPPROTO_PIM___380 = 103,
    IPPROTO_COMP___380 = 108,
    IPPROTO_SCTP___380 = 132,
    IPPROTO_UDPLITE___380 = 136,
    IPPROTO_MPLS___380 = 137,
    IPPROTO_RAW___380 = 255,
    IPPROTO_MAX___380 = 256
} ;
enum __anonenum_218739988___380 {
    IPPROTO_HOPOPTS___380 = 0,
    IPPROTO_ROUTING___380 = 43,
    IPPROTO_FRAGMENT___380 = 44,
    IPPROTO_ICMPV6___380 = 58,
    IPPROTO_NONE___380 = 59,
    IPPROTO_DSTOPTS___380 = 60,
    IPPROTO_MH___380 = 135
} ;
enum __anonenum_662268580___380 {
    IPPORT_ECHO___380 = 7,
    IPPORT_DISCARD___380 = 9,
    IPPORT_SYSTAT___380 = 11,
    IPPORT_DAYTIME___380 = 13,
    IPPORT_NETSTAT___380 = 15,
    IPPORT_FTP___380 = 21,
    IPPORT_TELNET___380 = 23,
    IPPORT_SMTP___380 = 25,
    IPPORT_TIMESERVER___380 = 37,
    IPPORT_NAMESERVER___380 = 42,
    IPPORT_WHOIS___380 = 43,
    IPPORT_MTP___380 = 57,
    IPPORT_TFTP___380 = 69,
    IPPORT_RJE___380 = 77,
    IPPORT_FINGER___380 = 79,
    IPPORT_TTYLINK___380 = 87,
    IPPORT_SUPDUP___380 = 95,
    IPPORT_EXECSERVER___380 = 512,
    IPPORT_LOGINSERVER___380 = 513,
    IPPORT_CMDSERVER___380 = 514,
    IPPORT_EFSSERVER___380 = 520,
    IPPORT_BIFFUDP___380 = 512,
    IPPORT_WHOSERVER___380 = 513,
    IPPORT_ROUTESERVER___380 = 520,
    IPPORT_RESERVED___380 = 1024,
    IPPORT_USERRESERVED___380 = 5000
} ;
enum __anonenum_788308992___380 {
    TCP_ESTABLISHED___380 = 1,
    TCP_SYN_SENT___380 = 2,
    TCP_SYN_RECV___380 = 3,
    TCP_FIN_WAIT1___380 = 4,
    TCP_FIN_WAIT2___380 = 5,
    TCP_TIME_WAIT___380 = 6,
    TCP_CLOSE___380 = 7,
    TCP_CLOSE_WAIT___380 = 8,
    TCP_LAST_ACK___380 = 9,
    TCP_LISTEN___380 = 10,
    TCP_CLOSING___380 = 11
} ;
enum __anonenum_221125648___380 {
    TCP_NO_QUEUE___380 = 0,
    TCP_RECV_QUEUE___380 = 1,
    TCP_SEND_QUEUE___380 = 2,
    TCP_QUEUES_NR___380 = 3
} ;
enum __anonenum_34415463___380 {
    PTHREAD_CREATE_JOINABLE___380 = 0,
    PTHREAD_CREATE_DETACHED___380 = 1
} ;
enum __anonenum_303612439___380 {
    PTHREAD_MUTEX_TIMED_NP___380 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___380 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___380 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___380 = 3,
    PTHREAD_MUTEX_NORMAL___380 = 0,
    PTHREAD_MUTEX_RECURSIVE___380 = 1,
    PTHREAD_MUTEX_ERRORCHECK___380 = 2,
    PTHREAD_MUTEX_DEFAULT___380 = 0,
    PTHREAD_MUTEX_FAST_NP___380 = 0
} ;
enum __anonenum_931900394___380 {
    PTHREAD_MUTEX_STALLED___380 = 0,
    PTHREAD_MUTEX_STALLED_NP___380 = 0,
    PTHREAD_MUTEX_ROBUST___380 = 1,
    PTHREAD_MUTEX_ROBUST_NP___380 = 1
} ;
enum __anonenum_205214487___380 {
    PTHREAD_PRIO_NONE___380 = 0,
    PTHREAD_PRIO_INHERIT___380 = 1,
    PTHREAD_PRIO_PROTECT___380 = 2
} ;
enum __anonenum_25043950___380 {
    PTHREAD_RWLOCK_PREFER_READER_NP___380 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___380 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___380 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___380 = 0
} ;
enum __anonenum_436439511___380 {
    PTHREAD_INHERIT_SCHED___380 = 0,
    PTHREAD_EXPLICIT_SCHED___380 = 1
} ;
enum __anonenum_998661166___380 {
    PTHREAD_SCOPE_SYSTEM___380 = 0,
    PTHREAD_SCOPE_PROCESS___380 = 1
} ;
enum __anonenum_146137331___380 {
    PTHREAD_PROCESS_PRIVATE___380 = 0,
    PTHREAD_PROCESS_SHARED___380 = 1
} ;
enum __anonenum_53396917___380 {
    PTHREAD_CANCEL_ENABLE___380 = 0,
    PTHREAD_CANCEL_DISABLE___380 = 1
} ;
enum __anonenum_904563783___380 {
    PTHREAD_CANCEL_DEFERRED___380 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___380 = 1
} ;
enum __anonenum_672052974___380 {
    SSL_CT_VALIDATION_PERMISSIVE___380 = 0,
    SSL_CT_VALIDATION_STRICT___380 = 1
} ;
enum update_refs_state {
    UPDATE_REFS_OPEN = 0,
    UPDATE_REFS_STARTED = 1,
    UPDATE_REFS_PREPARED = 2,
    UPDATE_REFS_CLOSED = 3
} ;
struct parse_cmd {
   char const   *prefix ;
   void (*fn)(struct ref_transaction * , char const   * , char const   * ) ;
   unsigned int args ;
   enum update_refs_state state ;
};
enum __anonenum_437032235___381 {
    _PC_LINK_MAX___381 = 0,
    _PC_MAX_CANON___381 = 1,
    _PC_MAX_INPUT___381 = 2,
    _PC_NAME_MAX___381 = 3,
    _PC_PATH_MAX___381 = 4,
    _PC_PIPE_BUF___381 = 5,
    _PC_CHOWN_RESTRICTED___381 = 6,
    _PC_NO_TRUNC___381 = 7,
    _PC_VDISABLE___381 = 8,
    _PC_SYNC_IO___381 = 9,
    _PC_ASYNC_IO___381 = 10,
    _PC_PRIO_IO___381 = 11,
    _PC_SOCK_MAXBUF___381 = 12,
    _PC_FILESIZEBITS___381 = 13,
    _PC_REC_INCR_XFER_SIZE___381 = 14,
    _PC_REC_MAX_XFER_SIZE___381 = 15,
    _PC_REC_MIN_XFER_SIZE___381 = 16,
    _PC_REC_XFER_ALIGN___381 = 17,
    _PC_ALLOC_SIZE_MIN___381 = 18,
    _PC_SYMLINK_MAX___381 = 19,
    _PC_2_SYMLINKS___381 = 20
} ;
enum __anonenum_315186338___381 {
    _SC_ARG_MAX___381 = 0,
    _SC_CHILD_MAX___381 = 1,
    _SC_CLK_TCK___381 = 2,
    _SC_NGROUPS_MAX___381 = 3,
    _SC_OPEN_MAX___381 = 4,
    _SC_STREAM_MAX___381 = 5,
    _SC_TZNAME_MAX___381 = 6,
    _SC_JOB_CONTROL___381 = 7,
    _SC_SAVED_IDS___381 = 8,
    _SC_REALTIME_SIGNALS___381 = 9,
    _SC_PRIORITY_SCHEDULING___381 = 10,
    _SC_TIMERS___381 = 11,
    _SC_ASYNCHRONOUS_IO___381 = 12,
    _SC_PRIORITIZED_IO___381 = 13,
    _SC_SYNCHRONIZED_IO___381 = 14,
    _SC_FSYNC___381 = 15,
    _SC_MAPPED_FILES___381 = 16,
    _SC_MEMLOCK___381 = 17,
    _SC_MEMLOCK_RANGE___381 = 18,
    _SC_MEMORY_PROTECTION___381 = 19,
    _SC_MESSAGE_PASSING___381 = 20,
    _SC_SEMAPHORES___381 = 21,
    _SC_SHARED_MEMORY_OBJECTS___381 = 22,
    _SC_AIO_LISTIO_MAX___381 = 23,
    _SC_AIO_MAX___381 = 24,
    _SC_AIO_PRIO_DELTA_MAX___381 = 25,
    _SC_DELAYTIMER_MAX___381 = 26,
    _SC_MQ_OPEN_MAX___381 = 27,
    _SC_MQ_PRIO_MAX___381 = 28,
    _SC_VERSION___381 = 29,
    _SC_PAGESIZE___381 = 30,
    _SC_RTSIG_MAX___381 = 31,
    _SC_SEM_NSEMS_MAX___381 = 32,
    _SC_SEM_VALUE_MAX___381 = 33,
    _SC_SIGQUEUE_MAX___381 = 34,
    _SC_TIMER_MAX___381 = 35,
    _SC_BC_BASE_MAX___381 = 36,
    _SC_BC_DIM_MAX___381 = 37,
    _SC_BC_SCALE_MAX___381 = 38,
    _SC_BC_STRING_MAX___381 = 39,
    _SC_COLL_WEIGHTS_MAX___381 = 40,
    _SC_EQUIV_CLASS_MAX___381 = 41,
    _SC_EXPR_NEST_MAX___381 = 42,
    _SC_LINE_MAX___381 = 43,
    _SC_RE_DUP_MAX___381 = 44,
    _SC_CHARCLASS_NAME_MAX___381 = 45,
    _SC_2_VERSION___381 = 46,
    _SC_2_C_BIND___381 = 47,
    _SC_2_C_DEV___381 = 48,
    _SC_2_FORT_DEV___381 = 49,
    _SC_2_FORT_RUN___381 = 50,
    _SC_2_SW_DEV___381 = 51,
    _SC_2_LOCALEDEF___381 = 52,
    _SC_PII___381 = 53,
    _SC_PII_XTI___381 = 54,
    _SC_PII_SOCKET___381 = 55,
    _SC_PII_INTERNET___381 = 56,
    _SC_PII_OSI___381 = 57,
    _SC_POLL___381 = 58,
    _SC_SELECT___381 = 59,
    _SC_UIO_MAXIOV___381 = 60,
    _SC_IOV_MAX___381 = 60,
    _SC_PII_INTERNET_STREAM___381 = 61,
    _SC_PII_INTERNET_DGRAM___381 = 62,
    _SC_PII_OSI_COTS___381 = 63,
    _SC_PII_OSI_CLTS___381 = 64,
    _SC_PII_OSI_M___381 = 65,
    _SC_T_IOV_MAX___381 = 66,
    _SC_THREADS___381 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___381 = 68,
    _SC_GETGR_R_SIZE_MAX___381 = 69,
    _SC_GETPW_R_SIZE_MAX___381 = 70,
    _SC_LOGIN_NAME_MAX___381 = 71,
    _SC_TTY_NAME_MAX___381 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___381 = 73,
    _SC_THREAD_KEYS_MAX___381 = 74,
    _SC_THREAD_STACK_MIN___381 = 75,
    _SC_THREAD_THREADS_MAX___381 = 76,
    _SC_THREAD_ATTR_STACKADDR___381 = 77,
    _SC_THREAD_ATTR_STACKSIZE___381 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___381 = 79,
    _SC_THREAD_PRIO_INHERIT___381 = 80,
    _SC_THREAD_PRIO_PROTECT___381 = 81,
    _SC_THREAD_PROCESS_SHARED___381 = 82,
    _SC_NPROCESSORS_CONF___381 = 83,
    _SC_NPROCESSORS_ONLN___381 = 84,
    _SC_PHYS_PAGES___381 = 85,
    _SC_AVPHYS_PAGES___381 = 86,
    _SC_ATEXIT_MAX___381 = 87,
    _SC_PASS_MAX___381 = 88,
    _SC_XOPEN_VERSION___381 = 89,
    _SC_XOPEN_XCU_VERSION___381 = 90,
    _SC_XOPEN_UNIX___381 = 91,
    _SC_XOPEN_CRYPT___381 = 92,
    _SC_XOPEN_ENH_I18N___381 = 93,
    _SC_XOPEN_SHM___381 = 94,
    _SC_2_CHAR_TERM___381 = 95,
    _SC_2_C_VERSION___381 = 96,
    _SC_2_UPE___381 = 97,
    _SC_XOPEN_XPG2___381 = 98,
    _SC_XOPEN_XPG3___381 = 99,
    _SC_XOPEN_XPG4___381 = 100,
    _SC_CHAR_BIT___381 = 101,
    _SC_CHAR_MAX___381 = 102,
    _SC_CHAR_MIN___381 = 103,
    _SC_INT_MAX___381 = 104,
    _SC_INT_MIN___381 = 105,
    _SC_LONG_BIT___381 = 106,
    _SC_WORD_BIT___381 = 107,
    _SC_MB_LEN_MAX___381 = 108,
    _SC_NZERO___381 = 109,
    _SC_SSIZE_MAX___381 = 110,
    _SC_SCHAR_MAX___381 = 111,
    _SC_SCHAR_MIN___381 = 112,
    _SC_SHRT_MAX___381 = 113,
    _SC_SHRT_MIN___381 = 114,
    _SC_UCHAR_MAX___381 = 115,
    _SC_UINT_MAX___381 = 116,
    _SC_ULONG_MAX___381 = 117,
    _SC_USHRT_MAX___381 = 118,
    _SC_NL_ARGMAX___381 = 119,
    _SC_NL_LANGMAX___381 = 120,
    _SC_NL_MSGMAX___381 = 121,
    _SC_NL_NMAX___381 = 122,
    _SC_NL_SETMAX___381 = 123,
    _SC_NL_TEXTMAX___381 = 124,
    _SC_XBS5_ILP32_OFF32___381 = 125,
    _SC_XBS5_ILP32_OFFBIG___381 = 126,
    _SC_XBS5_LP64_OFF64___381 = 127,
    _SC_XBS5_LPBIG_OFFBIG___381 = 128,
    _SC_XOPEN_LEGACY___381 = 129,
    _SC_XOPEN_REALTIME___381 = 130,
    _SC_XOPEN_REALTIME_THREADS___381 = 131,
    _SC_ADVISORY_INFO___381 = 132,
    _SC_BARRIERS___381 = 133,
    _SC_BASE___381 = 134,
    _SC_C_LANG_SUPPORT___381 = 135,
    _SC_C_LANG_SUPPORT_R___381 = 136,
    _SC_CLOCK_SELECTION___381 = 137,
    _SC_CPUTIME___381 = 138,
    _SC_THREAD_CPUTIME___381 = 139,
    _SC_DEVICE_IO___381 = 140,
    _SC_DEVICE_SPECIFIC___381 = 141,
    _SC_DEVICE_SPECIFIC_R___381 = 142,
    _SC_FD_MGMT___381 = 143,
    _SC_FIFO___381 = 144,
    _SC_PIPE___381 = 145,
    _SC_FILE_ATTRIBUTES___381 = 146,
    _SC_FILE_LOCKING___381 = 147,
    _SC_FILE_SYSTEM___381 = 148,
    _SC_MONOTONIC_CLOCK___381 = 149,
    _SC_MULTI_PROCESS___381 = 150,
    _SC_SINGLE_PROCESS___381 = 151,
    _SC_NETWORKING___381 = 152,
    _SC_READER_WRITER_LOCKS___381 = 153,
    _SC_SPIN_LOCKS___381 = 154,
    _SC_REGEXP___381 = 155,
    _SC_REGEX_VERSION___381 = 156,
    _SC_SHELL___381 = 157,
    _SC_SIGNALS___381 = 158,
    _SC_SPAWN___381 = 159,
    _SC_SPORADIC_SERVER___381 = 160,
    _SC_THREAD_SPORADIC_SERVER___381 = 161,
    _SC_SYSTEM_DATABASE___381 = 162,
    _SC_SYSTEM_DATABASE_R___381 = 163,
    _SC_TIMEOUTS___381 = 164,
    _SC_TYPED_MEMORY_OBJECTS___381 = 165,
    _SC_USER_GROUPS___381 = 166,
    _SC_USER_GROUPS_R___381 = 167,
    _SC_2_PBS___381 = 168,
    _SC_2_PBS_ACCOUNTING___381 = 169,
    _SC_2_PBS_LOCATE___381 = 170,
    _SC_2_PBS_MESSAGE___381 = 171,
    _SC_2_PBS_TRACK___381 = 172,
    _SC_SYMLOOP_MAX___381 = 173,
    _SC_STREAMS___381 = 174,
    _SC_2_PBS_CHECKPOINT___381 = 175,
    _SC_V6_ILP32_OFF32___381 = 176,
    _SC_V6_ILP32_OFFBIG___381 = 177,
    _SC_V6_LP64_OFF64___381 = 178,
    _SC_V6_LPBIG_OFFBIG___381 = 179,
    _SC_HOST_NAME_MAX___381 = 180,
    _SC_TRACE___381 = 181,
    _SC_TRACE_EVENT_FILTER___381 = 182,
    _SC_TRACE_INHERIT___381 = 183,
    _SC_TRACE_LOG___381 = 184,
    _SC_LEVEL1_ICACHE_SIZE___381 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___381 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___381 = 187,
    _SC_LEVEL1_DCACHE_SIZE___381 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___381 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___381 = 190,
    _SC_LEVEL2_CACHE_SIZE___381 = 191,
    _SC_LEVEL2_CACHE_ASSOC___381 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___381 = 193,
    _SC_LEVEL3_CACHE_SIZE___381 = 194,
    _SC_LEVEL3_CACHE_ASSOC___381 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___381 = 196,
    _SC_LEVEL4_CACHE_SIZE___381 = 197,
    _SC_LEVEL4_CACHE_ASSOC___381 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___381 = 199,
    _SC_IPV6___381 = 235,
    _SC_RAW_SOCKETS___381 = 236,
    _SC_V7_ILP32_OFF32___381 = 237,
    _SC_V7_ILP32_OFFBIG___381 = 238,
    _SC_V7_LP64_OFF64___381 = 239,
    _SC_V7_LPBIG_OFFBIG___381 = 240,
    _SC_SS_REPL_MAX___381 = 241,
    _SC_TRACE_EVENT_NAME_MAX___381 = 242,
    _SC_TRACE_NAME_MAX___381 = 243,
    _SC_TRACE_SYS_MAX___381 = 244,
    _SC_TRACE_USER_EVENT_MAX___381 = 245,
    _SC_XOPEN_STREAMS___381 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___381 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___381 = 248
} ;
enum __anonenum_875524036___381 {
    _CS_PATH___381 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___381 = 1,
    _CS_GNU_LIBC_VERSION___381 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___381 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___381 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___381 = 5,
    _CS_LFS_CFLAGS___381 = 1000,
    _CS_LFS_LDFLAGS___381 = 1001,
    _CS_LFS_LIBS___381 = 1002,
    _CS_LFS_LINTFLAGS___381 = 1003,
    _CS_LFS64_CFLAGS___381 = 1004,
    _CS_LFS64_LDFLAGS___381 = 1005,
    _CS_LFS64_LIBS___381 = 1006,
    _CS_LFS64_LINTFLAGS___381 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___381 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___381 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___381 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___381 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___381 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___381 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___381 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___381 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___381 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___381 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___381 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___381 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___381 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___381 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___381 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___381 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___381 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___381 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___381 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___381 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___381 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___381 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___381 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___381 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___381 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___381 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___381 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___381 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___381 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___381 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___381 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___381 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___381 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___381 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___381 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___381 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___381 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___381 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___381 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___381 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___381 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___381 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___381 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___381 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___381 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___381 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___381 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___381 = 1147,
    _CS_V6_ENV___381 = 1148,
    _CS_V7_ENV___381 = 1149
} ;
enum __anonenum_513775621___381 {
    DT_UNKNOWN___381 = 0,
    DT_FIFO___381 = 1,
    DT_CHR___381 = 2,
    DT_DIR___381 = 4,
    DT_BLK___381 = 6,
    DT_REG___381 = 8,
    DT_LNK___381 = 10,
    DT_SOCK___381 = 12,
    DT_WHT___381 = 14
} ;
enum __anonenum_77002343___381 {
    SI_ASYNCNL___381 = -60,
    SI_TKILL___381 = -6,
    SI_SIGIO___381 = -5,
    SI_ASYNCIO___381 = -4,
    SI_MESGQ___381 = -3,
    SI_TIMER___381 = -2,
    SI_QUEUE___381 = -1,
    SI_USER___381 = 0,
    SI_KERNEL___381 = 128
} ;
enum __anonenum_131038172___381 {
    ILL_ILLOPC___381 = 1,
    ILL_ILLOPN___381 = 2,
    ILL_ILLADR___381 = 3,
    ILL_ILLTRP___381 = 4,
    ILL_PRVOPC___381 = 5,
    ILL_PRVREG___381 = 6,
    ILL_COPROC___381 = 7,
    ILL_BADSTK___381 = 8
} ;
enum __anonenum_452038093___381 {
    FPE_INTDIV___381 = 1,
    FPE_INTOVF___381 = 2,
    FPE_FLTDIV___381 = 3,
    FPE_FLTOVF___381 = 4,
    FPE_FLTUND___381 = 5,
    FPE_FLTRES___381 = 6,
    FPE_FLTINV___381 = 7,
    FPE_FLTSUB___381 = 8
} ;
enum __anonenum_30976155___381 {
    SEGV_MAPERR___381 = 1,
    SEGV_ACCERR___381 = 2,
    SEGV_BNDERR___381 = 3,
    SEGV_PKUERR___381 = 4
} ;
enum __anonenum_1036286214___381 {
    BUS_ADRALN___381 = 1,
    BUS_ADRERR___381 = 2,
    BUS_OBJERR___381 = 3,
    BUS_MCEERR_AR___381 = 4,
    BUS_MCEERR_AO___381 = 5
} ;
enum __anonenum_493465559___381 {
    TRAP_BRKPT___381 = 1,
    TRAP_TRACE___381 = 2
} ;
enum __anonenum_23175539___381 {
    CLD_EXITED___381 = 1,
    CLD_KILLED___381 = 2,
    CLD_DUMPED___381 = 3,
    CLD_TRAPPED___381 = 4,
    CLD_STOPPED___381 = 5,
    CLD_CONTINUED___381 = 6
} ;
enum __anonenum_111643124___381 {
    POLL_IN___381 = 1,
    POLL_OUT___381 = 2,
    POLL_MSG___381 = 3,
    POLL_ERR___381 = 4,
    POLL_PRI___381 = 5,
    POLL_HUP___381 = 6
} ;
enum __anonenum_852341087___381 {
    SIGEV_SIGNAL___381 = 0,
    SIGEV_NONE___381 = 1,
    SIGEV_THREAD___381 = 2,
    SIGEV_THREAD_ID___381 = 4
} ;
enum __anonenum_451154152___381 {
    REG_R8___381 = 0,
    REG_R9___381 = 1,
    REG_R10___381 = 2,
    REG_R11___381 = 3,
    REG_R12___381 = 4,
    REG_R13___381 = 5,
    REG_R14___381 = 6,
    REG_R15___381 = 7,
    REG_RDI___381 = 8,
    REG_RSI___381 = 9,
    REG_RBP___381 = 10,
    REG_RBX___381 = 11,
    REG_RDX___381 = 12,
    REG_RAX___381 = 13,
    REG_RCX___381 = 14,
    REG_RSP___381 = 15,
    REG_RIP___381 = 16,
    REG_EFL___381 = 17,
    REG_CSGSFS___381 = 18,
    REG_ERR___381 = 19,
    REG_TRAPNO___381 = 20,
    REG_OLDMASK___381 = 21,
    REG_CR2___381 = 22
} ;
enum __anonenum_57186863___381 {
    SS_ONSTACK___381 = 1,
    SS_DISABLE___381 = 2
} ;
enum __anonenum_83571709___381 {
    MSG_OOB___381 = 1,
    MSG_PEEK___381 = 2,
    MSG_DONTROUTE___381 = 4,
    MSG_TRYHARD___381 = 4,
    MSG_CTRUNC___381 = 8,
    MSG_PROXY___381 = 16,
    MSG_TRUNC___381 = 32,
    MSG_DONTWAIT___381 = 64,
    MSG_EOR___381 = 128,
    MSG_WAITALL___381 = 256,
    MSG_FIN___381 = 512,
    MSG_SYN___381 = 1024,
    MSG_CONFIRM___381 = 2048,
    MSG_RST___381 = 4096,
    MSG_ERRQUEUE___381 = 8192,
    MSG_NOSIGNAL___381 = 16384,
    MSG_MORE___381 = 32768,
    MSG_WAITFORONE___381 = 65536,
    MSG_BATCH___381 = 262144,
    MSG_ZEROCOPY___381 = 67108864,
    MSG_FASTOPEN___381 = 536870912,
    MSG_CMSG_CLOEXEC___381 = 1073741824
} ;
enum __anonenum_617082774___381 {
    SCM_RIGHTS___381 = 1,
    SCM_CREDENTIALS___381 = 2
} ;
enum __anonenum_606441560___381 {
    SHUT_RD___381 = 0,
    SHUT_WR___381 = 1,
    SHUT_RDWR___381 = 2
} ;
enum __anonenum_681669233___381 {
    IPPROTO_IP___381 = 0,
    IPPROTO_ICMP___381 = 1,
    IPPROTO_IGMP___381 = 2,
    IPPROTO_IPIP___381 = 4,
    IPPROTO_TCP___381 = 6,
    IPPROTO_EGP___381 = 8,
    IPPROTO_PUP___381 = 12,
    IPPROTO_UDP___381 = 17,
    IPPROTO_IDP___381 = 22,
    IPPROTO_TP___381 = 29,
    IPPROTO_DCCP___381 = 33,
    IPPROTO_IPV6___381 = 41,
    IPPROTO_RSVP___381 = 46,
    IPPROTO_GRE___381 = 47,
    IPPROTO_ESP___381 = 50,
    IPPROTO_AH___381 = 51,
    IPPROTO_MTP___381 = 92,
    IPPROTO_BEETPH___381 = 94,
    IPPROTO_ENCAP___381 = 98,
    IPPROTO_PIM___381 = 103,
    IPPROTO_COMP___381 = 108,
    IPPROTO_SCTP___381 = 132,
    IPPROTO_UDPLITE___381 = 136,
    IPPROTO_MPLS___381 = 137,
    IPPROTO_RAW___381 = 255,
    IPPROTO_MAX___381 = 256
} ;
enum __anonenum_218739988___381 {
    IPPROTO_HOPOPTS___381 = 0,
    IPPROTO_ROUTING___381 = 43,
    IPPROTO_FRAGMENT___381 = 44,
    IPPROTO_ICMPV6___381 = 58,
    IPPROTO_NONE___381 = 59,
    IPPROTO_DSTOPTS___381 = 60,
    IPPROTO_MH___381 = 135
} ;
enum __anonenum_662268580___381 {
    IPPORT_ECHO___381 = 7,
    IPPORT_DISCARD___381 = 9,
    IPPORT_SYSTAT___381 = 11,
    IPPORT_DAYTIME___381 = 13,
    IPPORT_NETSTAT___381 = 15,
    IPPORT_FTP___381 = 21,
    IPPORT_TELNET___381 = 23,
    IPPORT_SMTP___381 = 25,
    IPPORT_TIMESERVER___381 = 37,
    IPPORT_NAMESERVER___381 = 42,
    IPPORT_WHOIS___381 = 43,
    IPPORT_MTP___381 = 57,
    IPPORT_TFTP___381 = 69,
    IPPORT_RJE___381 = 77,
    IPPORT_FINGER___381 = 79,
    IPPORT_TTYLINK___381 = 87,
    IPPORT_SUPDUP___381 = 95,
    IPPORT_EXECSERVER___381 = 512,
    IPPORT_LOGINSERVER___381 = 513,
    IPPORT_CMDSERVER___381 = 514,
    IPPORT_EFSSERVER___381 = 520,
    IPPORT_BIFFUDP___381 = 512,
    IPPORT_WHOSERVER___381 = 513,
    IPPORT_ROUTESERVER___381 = 520,
    IPPORT_RESERVED___381 = 1024,
    IPPORT_USERRESERVED___381 = 5000
} ;
enum __anonenum_788308992___381 {
    TCP_ESTABLISHED___381 = 1,
    TCP_SYN_SENT___381 = 2,
    TCP_SYN_RECV___381 = 3,
    TCP_FIN_WAIT1___381 = 4,
    TCP_FIN_WAIT2___381 = 5,
    TCP_TIME_WAIT___381 = 6,
    TCP_CLOSE___381 = 7,
    TCP_CLOSE_WAIT___381 = 8,
    TCP_LAST_ACK___381 = 9,
    TCP_LISTEN___381 = 10,
    TCP_CLOSING___381 = 11
} ;
enum __anonenum_221125648___381 {
    TCP_NO_QUEUE___381 = 0,
    TCP_RECV_QUEUE___381 = 1,
    TCP_SEND_QUEUE___381 = 2,
    TCP_QUEUES_NR___381 = 3
} ;
enum __anonenum_34415463___381 {
    PTHREAD_CREATE_JOINABLE___381 = 0,
    PTHREAD_CREATE_DETACHED___381 = 1
} ;
enum __anonenum_303612439___381 {
    PTHREAD_MUTEX_TIMED_NP___381 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___381 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___381 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___381 = 3,
    PTHREAD_MUTEX_NORMAL___381 = 0,
    PTHREAD_MUTEX_RECURSIVE___381 = 1,
    PTHREAD_MUTEX_ERRORCHECK___381 = 2,
    PTHREAD_MUTEX_DEFAULT___381 = 0,
    PTHREAD_MUTEX_FAST_NP___381 = 0
} ;
enum __anonenum_931900394___381 {
    PTHREAD_MUTEX_STALLED___381 = 0,
    PTHREAD_MUTEX_STALLED_NP___381 = 0,
    PTHREAD_MUTEX_ROBUST___381 = 1,
    PTHREAD_MUTEX_ROBUST_NP___381 = 1
} ;
enum __anonenum_205214487___381 {
    PTHREAD_PRIO_NONE___381 = 0,
    PTHREAD_PRIO_INHERIT___381 = 1,
    PTHREAD_PRIO_PROTECT___381 = 2
} ;
enum __anonenum_25043950___381 {
    PTHREAD_RWLOCK_PREFER_READER_NP___381 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___381 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___381 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___381 = 0
} ;
enum __anonenum_436439511___381 {
    PTHREAD_INHERIT_SCHED___381 = 0,
    PTHREAD_EXPLICIT_SCHED___381 = 1
} ;
enum __anonenum_998661166___381 {
    PTHREAD_SCOPE_SYSTEM___381 = 0,
    PTHREAD_SCOPE_PROCESS___381 = 1
} ;
enum __anonenum_146137331___381 {
    PTHREAD_PROCESS_PRIVATE___381 = 0,
    PTHREAD_PROCESS_SHARED___381 = 1
} ;
enum __anonenum_53396917___381 {
    PTHREAD_CANCEL_ENABLE___381 = 0,
    PTHREAD_CANCEL_DISABLE___381 = 1
} ;
enum __anonenum_904563783___381 {
    PTHREAD_CANCEL_DEFERRED___381 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___381 = 1
} ;
enum __anonenum_672052974___381 {
    SSL_CT_VALIDATION_PERMISSIVE___381 = 0,
    SSL_CT_VALIDATION_STRICT___381 = 1
} ;
enum __anonenum_437032235___382 {
    _PC_LINK_MAX___382 = 0,
    _PC_MAX_CANON___382 = 1,
    _PC_MAX_INPUT___382 = 2,
    _PC_NAME_MAX___382 = 3,
    _PC_PATH_MAX___382 = 4,
    _PC_PIPE_BUF___382 = 5,
    _PC_CHOWN_RESTRICTED___382 = 6,
    _PC_NO_TRUNC___382 = 7,
    _PC_VDISABLE___382 = 8,
    _PC_SYNC_IO___382 = 9,
    _PC_ASYNC_IO___382 = 10,
    _PC_PRIO_IO___382 = 11,
    _PC_SOCK_MAXBUF___382 = 12,
    _PC_FILESIZEBITS___382 = 13,
    _PC_REC_INCR_XFER_SIZE___382 = 14,
    _PC_REC_MAX_XFER_SIZE___382 = 15,
    _PC_REC_MIN_XFER_SIZE___382 = 16,
    _PC_REC_XFER_ALIGN___382 = 17,
    _PC_ALLOC_SIZE_MIN___382 = 18,
    _PC_SYMLINK_MAX___382 = 19,
    _PC_2_SYMLINKS___382 = 20
} ;
enum __anonenum_315186338___382 {
    _SC_ARG_MAX___382 = 0,
    _SC_CHILD_MAX___382 = 1,
    _SC_CLK_TCK___382 = 2,
    _SC_NGROUPS_MAX___382 = 3,
    _SC_OPEN_MAX___382 = 4,
    _SC_STREAM_MAX___382 = 5,
    _SC_TZNAME_MAX___382 = 6,
    _SC_JOB_CONTROL___382 = 7,
    _SC_SAVED_IDS___382 = 8,
    _SC_REALTIME_SIGNALS___382 = 9,
    _SC_PRIORITY_SCHEDULING___382 = 10,
    _SC_TIMERS___382 = 11,
    _SC_ASYNCHRONOUS_IO___382 = 12,
    _SC_PRIORITIZED_IO___382 = 13,
    _SC_SYNCHRONIZED_IO___382 = 14,
    _SC_FSYNC___382 = 15,
    _SC_MAPPED_FILES___382 = 16,
    _SC_MEMLOCK___382 = 17,
    _SC_MEMLOCK_RANGE___382 = 18,
    _SC_MEMORY_PROTECTION___382 = 19,
    _SC_MESSAGE_PASSING___382 = 20,
    _SC_SEMAPHORES___382 = 21,
    _SC_SHARED_MEMORY_OBJECTS___382 = 22,
    _SC_AIO_LISTIO_MAX___382 = 23,
    _SC_AIO_MAX___382 = 24,
    _SC_AIO_PRIO_DELTA_MAX___382 = 25,
    _SC_DELAYTIMER_MAX___382 = 26,
    _SC_MQ_OPEN_MAX___382 = 27,
    _SC_MQ_PRIO_MAX___382 = 28,
    _SC_VERSION___382 = 29,
    _SC_PAGESIZE___382 = 30,
    _SC_RTSIG_MAX___382 = 31,
    _SC_SEM_NSEMS_MAX___382 = 32,
    _SC_SEM_VALUE_MAX___382 = 33,
    _SC_SIGQUEUE_MAX___382 = 34,
    _SC_TIMER_MAX___382 = 35,
    _SC_BC_BASE_MAX___382 = 36,
    _SC_BC_DIM_MAX___382 = 37,
    _SC_BC_SCALE_MAX___382 = 38,
    _SC_BC_STRING_MAX___382 = 39,
    _SC_COLL_WEIGHTS_MAX___382 = 40,
    _SC_EQUIV_CLASS_MAX___382 = 41,
    _SC_EXPR_NEST_MAX___382 = 42,
    _SC_LINE_MAX___382 = 43,
    _SC_RE_DUP_MAX___382 = 44,
    _SC_CHARCLASS_NAME_MAX___382 = 45,
    _SC_2_VERSION___382 = 46,
    _SC_2_C_BIND___382 = 47,
    _SC_2_C_DEV___382 = 48,
    _SC_2_FORT_DEV___382 = 49,
    _SC_2_FORT_RUN___382 = 50,
    _SC_2_SW_DEV___382 = 51,
    _SC_2_LOCALEDEF___382 = 52,
    _SC_PII___382 = 53,
    _SC_PII_XTI___382 = 54,
    _SC_PII_SOCKET___382 = 55,
    _SC_PII_INTERNET___382 = 56,
    _SC_PII_OSI___382 = 57,
    _SC_POLL___382 = 58,
    _SC_SELECT___382 = 59,
    _SC_UIO_MAXIOV___382 = 60,
    _SC_IOV_MAX___382 = 60,
    _SC_PII_INTERNET_STREAM___382 = 61,
    _SC_PII_INTERNET_DGRAM___382 = 62,
    _SC_PII_OSI_COTS___382 = 63,
    _SC_PII_OSI_CLTS___382 = 64,
    _SC_PII_OSI_M___382 = 65,
    _SC_T_IOV_MAX___382 = 66,
    _SC_THREADS___382 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___382 = 68,
    _SC_GETGR_R_SIZE_MAX___382 = 69,
    _SC_GETPW_R_SIZE_MAX___382 = 70,
    _SC_LOGIN_NAME_MAX___382 = 71,
    _SC_TTY_NAME_MAX___382 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___382 = 73,
    _SC_THREAD_KEYS_MAX___382 = 74,
    _SC_THREAD_STACK_MIN___382 = 75,
    _SC_THREAD_THREADS_MAX___382 = 76,
    _SC_THREAD_ATTR_STACKADDR___382 = 77,
    _SC_THREAD_ATTR_STACKSIZE___382 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___382 = 79,
    _SC_THREAD_PRIO_INHERIT___382 = 80,
    _SC_THREAD_PRIO_PROTECT___382 = 81,
    _SC_THREAD_PROCESS_SHARED___382 = 82,
    _SC_NPROCESSORS_CONF___382 = 83,
    _SC_NPROCESSORS_ONLN___382 = 84,
    _SC_PHYS_PAGES___382 = 85,
    _SC_AVPHYS_PAGES___382 = 86,
    _SC_ATEXIT_MAX___382 = 87,
    _SC_PASS_MAX___382 = 88,
    _SC_XOPEN_VERSION___382 = 89,
    _SC_XOPEN_XCU_VERSION___382 = 90,
    _SC_XOPEN_UNIX___382 = 91,
    _SC_XOPEN_CRYPT___382 = 92,
    _SC_XOPEN_ENH_I18N___382 = 93,
    _SC_XOPEN_SHM___382 = 94,
    _SC_2_CHAR_TERM___382 = 95,
    _SC_2_C_VERSION___382 = 96,
    _SC_2_UPE___382 = 97,
    _SC_XOPEN_XPG2___382 = 98,
    _SC_XOPEN_XPG3___382 = 99,
    _SC_XOPEN_XPG4___382 = 100,
    _SC_CHAR_BIT___382 = 101,
    _SC_CHAR_MAX___382 = 102,
    _SC_CHAR_MIN___382 = 103,
    _SC_INT_MAX___382 = 104,
    _SC_INT_MIN___382 = 105,
    _SC_LONG_BIT___382 = 106,
    _SC_WORD_BIT___382 = 107,
    _SC_MB_LEN_MAX___382 = 108,
    _SC_NZERO___382 = 109,
    _SC_SSIZE_MAX___382 = 110,
    _SC_SCHAR_MAX___382 = 111,
    _SC_SCHAR_MIN___382 = 112,
    _SC_SHRT_MAX___382 = 113,
    _SC_SHRT_MIN___382 = 114,
    _SC_UCHAR_MAX___382 = 115,
    _SC_UINT_MAX___382 = 116,
    _SC_ULONG_MAX___382 = 117,
    _SC_USHRT_MAX___382 = 118,
    _SC_NL_ARGMAX___382 = 119,
    _SC_NL_LANGMAX___382 = 120,
    _SC_NL_MSGMAX___382 = 121,
    _SC_NL_NMAX___382 = 122,
    _SC_NL_SETMAX___382 = 123,
    _SC_NL_TEXTMAX___382 = 124,
    _SC_XBS5_ILP32_OFF32___382 = 125,
    _SC_XBS5_ILP32_OFFBIG___382 = 126,
    _SC_XBS5_LP64_OFF64___382 = 127,
    _SC_XBS5_LPBIG_OFFBIG___382 = 128,
    _SC_XOPEN_LEGACY___382 = 129,
    _SC_XOPEN_REALTIME___382 = 130,
    _SC_XOPEN_REALTIME_THREADS___382 = 131,
    _SC_ADVISORY_INFO___382 = 132,
    _SC_BARRIERS___382 = 133,
    _SC_BASE___382 = 134,
    _SC_C_LANG_SUPPORT___382 = 135,
    _SC_C_LANG_SUPPORT_R___382 = 136,
    _SC_CLOCK_SELECTION___382 = 137,
    _SC_CPUTIME___382 = 138,
    _SC_THREAD_CPUTIME___382 = 139,
    _SC_DEVICE_IO___382 = 140,
    _SC_DEVICE_SPECIFIC___382 = 141,
    _SC_DEVICE_SPECIFIC_R___382 = 142,
    _SC_FD_MGMT___382 = 143,
    _SC_FIFO___382 = 144,
    _SC_PIPE___382 = 145,
    _SC_FILE_ATTRIBUTES___382 = 146,
    _SC_FILE_LOCKING___382 = 147,
    _SC_FILE_SYSTEM___382 = 148,
    _SC_MONOTONIC_CLOCK___382 = 149,
    _SC_MULTI_PROCESS___382 = 150,
    _SC_SINGLE_PROCESS___382 = 151,
    _SC_NETWORKING___382 = 152,
    _SC_READER_WRITER_LOCKS___382 = 153,
    _SC_SPIN_LOCKS___382 = 154,
    _SC_REGEXP___382 = 155,
    _SC_REGEX_VERSION___382 = 156,
    _SC_SHELL___382 = 157,
    _SC_SIGNALS___382 = 158,
    _SC_SPAWN___382 = 159,
    _SC_SPORADIC_SERVER___382 = 160,
    _SC_THREAD_SPORADIC_SERVER___382 = 161,
    _SC_SYSTEM_DATABASE___382 = 162,
    _SC_SYSTEM_DATABASE_R___382 = 163,
    _SC_TIMEOUTS___382 = 164,
    _SC_TYPED_MEMORY_OBJECTS___382 = 165,
    _SC_USER_GROUPS___382 = 166,
    _SC_USER_GROUPS_R___382 = 167,
    _SC_2_PBS___382 = 168,
    _SC_2_PBS_ACCOUNTING___382 = 169,
    _SC_2_PBS_LOCATE___382 = 170,
    _SC_2_PBS_MESSAGE___382 = 171,
    _SC_2_PBS_TRACK___382 = 172,
    _SC_SYMLOOP_MAX___382 = 173,
    _SC_STREAMS___382 = 174,
    _SC_2_PBS_CHECKPOINT___382 = 175,
    _SC_V6_ILP32_OFF32___382 = 176,
    _SC_V6_ILP32_OFFBIG___382 = 177,
    _SC_V6_LP64_OFF64___382 = 178,
    _SC_V6_LPBIG_OFFBIG___382 = 179,
    _SC_HOST_NAME_MAX___382 = 180,
    _SC_TRACE___382 = 181,
    _SC_TRACE_EVENT_FILTER___382 = 182,
    _SC_TRACE_INHERIT___382 = 183,
    _SC_TRACE_LOG___382 = 184,
    _SC_LEVEL1_ICACHE_SIZE___382 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___382 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___382 = 187,
    _SC_LEVEL1_DCACHE_SIZE___382 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___382 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___382 = 190,
    _SC_LEVEL2_CACHE_SIZE___382 = 191,
    _SC_LEVEL2_CACHE_ASSOC___382 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___382 = 193,
    _SC_LEVEL3_CACHE_SIZE___382 = 194,
    _SC_LEVEL3_CACHE_ASSOC___382 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___382 = 196,
    _SC_LEVEL4_CACHE_SIZE___382 = 197,
    _SC_LEVEL4_CACHE_ASSOC___382 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___382 = 199,
    _SC_IPV6___382 = 235,
    _SC_RAW_SOCKETS___382 = 236,
    _SC_V7_ILP32_OFF32___382 = 237,
    _SC_V7_ILP32_OFFBIG___382 = 238,
    _SC_V7_LP64_OFF64___382 = 239,
    _SC_V7_LPBIG_OFFBIG___382 = 240,
    _SC_SS_REPL_MAX___382 = 241,
    _SC_TRACE_EVENT_NAME_MAX___382 = 242,
    _SC_TRACE_NAME_MAX___382 = 243,
    _SC_TRACE_SYS_MAX___382 = 244,
    _SC_TRACE_USER_EVENT_MAX___382 = 245,
    _SC_XOPEN_STREAMS___382 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___382 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___382 = 248
} ;
enum __anonenum_875524036___382 {
    _CS_PATH___382 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___382 = 1,
    _CS_GNU_LIBC_VERSION___382 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___382 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___382 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___382 = 5,
    _CS_LFS_CFLAGS___382 = 1000,
    _CS_LFS_LDFLAGS___382 = 1001,
    _CS_LFS_LIBS___382 = 1002,
    _CS_LFS_LINTFLAGS___382 = 1003,
    _CS_LFS64_CFLAGS___382 = 1004,
    _CS_LFS64_LDFLAGS___382 = 1005,
    _CS_LFS64_LIBS___382 = 1006,
    _CS_LFS64_LINTFLAGS___382 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___382 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___382 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___382 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___382 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___382 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___382 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___382 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___382 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___382 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___382 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___382 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___382 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___382 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___382 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___382 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___382 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___382 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___382 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___382 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___382 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___382 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___382 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___382 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___382 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___382 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___382 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___382 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___382 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___382 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___382 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___382 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___382 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___382 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___382 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___382 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___382 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___382 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___382 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___382 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___382 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___382 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___382 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___382 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___382 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___382 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___382 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___382 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___382 = 1147,
    _CS_V6_ENV___382 = 1148,
    _CS_V7_ENV___382 = 1149
} ;
enum __anonenum_513775621___382 {
    DT_UNKNOWN___382 = 0,
    DT_FIFO___382 = 1,
    DT_CHR___382 = 2,
    DT_DIR___382 = 4,
    DT_BLK___382 = 6,
    DT_REG___382 = 8,
    DT_LNK___382 = 10,
    DT_SOCK___382 = 12,
    DT_WHT___382 = 14
} ;
enum __anonenum_77002343___382 {
    SI_ASYNCNL___382 = -60,
    SI_TKILL___382 = -6,
    SI_SIGIO___382 = -5,
    SI_ASYNCIO___382 = -4,
    SI_MESGQ___382 = -3,
    SI_TIMER___382 = -2,
    SI_QUEUE___382 = -1,
    SI_USER___382 = 0,
    SI_KERNEL___382 = 128
} ;
enum __anonenum_131038172___382 {
    ILL_ILLOPC___382 = 1,
    ILL_ILLOPN___382 = 2,
    ILL_ILLADR___382 = 3,
    ILL_ILLTRP___382 = 4,
    ILL_PRVOPC___382 = 5,
    ILL_PRVREG___382 = 6,
    ILL_COPROC___382 = 7,
    ILL_BADSTK___382 = 8
} ;
enum __anonenum_452038093___382 {
    FPE_INTDIV___382 = 1,
    FPE_INTOVF___382 = 2,
    FPE_FLTDIV___382 = 3,
    FPE_FLTOVF___382 = 4,
    FPE_FLTUND___382 = 5,
    FPE_FLTRES___382 = 6,
    FPE_FLTINV___382 = 7,
    FPE_FLTSUB___382 = 8
} ;
enum __anonenum_30976155___382 {
    SEGV_MAPERR___382 = 1,
    SEGV_ACCERR___382 = 2,
    SEGV_BNDERR___382 = 3,
    SEGV_PKUERR___382 = 4
} ;
enum __anonenum_1036286214___382 {
    BUS_ADRALN___382 = 1,
    BUS_ADRERR___382 = 2,
    BUS_OBJERR___382 = 3,
    BUS_MCEERR_AR___382 = 4,
    BUS_MCEERR_AO___382 = 5
} ;
enum __anonenum_493465559___382 {
    TRAP_BRKPT___382 = 1,
    TRAP_TRACE___382 = 2
} ;
enum __anonenum_23175539___382 {
    CLD_EXITED___382 = 1,
    CLD_KILLED___382 = 2,
    CLD_DUMPED___382 = 3,
    CLD_TRAPPED___382 = 4,
    CLD_STOPPED___382 = 5,
    CLD_CONTINUED___382 = 6
} ;
enum __anonenum_111643124___382 {
    POLL_IN___382 = 1,
    POLL_OUT___382 = 2,
    POLL_MSG___382 = 3,
    POLL_ERR___382 = 4,
    POLL_PRI___382 = 5,
    POLL_HUP___382 = 6
} ;
enum __anonenum_852341087___382 {
    SIGEV_SIGNAL___382 = 0,
    SIGEV_NONE___382 = 1,
    SIGEV_THREAD___382 = 2,
    SIGEV_THREAD_ID___382 = 4
} ;
enum __anonenum_451154152___382 {
    REG_R8___382 = 0,
    REG_R9___382 = 1,
    REG_R10___382 = 2,
    REG_R11___382 = 3,
    REG_R12___382 = 4,
    REG_R13___382 = 5,
    REG_R14___382 = 6,
    REG_R15___382 = 7,
    REG_RDI___382 = 8,
    REG_RSI___382 = 9,
    REG_RBP___382 = 10,
    REG_RBX___382 = 11,
    REG_RDX___382 = 12,
    REG_RAX___382 = 13,
    REG_RCX___382 = 14,
    REG_RSP___382 = 15,
    REG_RIP___382 = 16,
    REG_EFL___382 = 17,
    REG_CSGSFS___382 = 18,
    REG_ERR___382 = 19,
    REG_TRAPNO___382 = 20,
    REG_OLDMASK___382 = 21,
    REG_CR2___382 = 22
} ;
enum __anonenum_57186863___382 {
    SS_ONSTACK___382 = 1,
    SS_DISABLE___382 = 2
} ;
enum __anonenum_83571709___382 {
    MSG_OOB___382 = 1,
    MSG_PEEK___382 = 2,
    MSG_DONTROUTE___382 = 4,
    MSG_TRYHARD___382 = 4,
    MSG_CTRUNC___382 = 8,
    MSG_PROXY___382 = 16,
    MSG_TRUNC___382 = 32,
    MSG_DONTWAIT___382 = 64,
    MSG_EOR___382 = 128,
    MSG_WAITALL___382 = 256,
    MSG_FIN___382 = 512,
    MSG_SYN___382 = 1024,
    MSG_CONFIRM___382 = 2048,
    MSG_RST___382 = 4096,
    MSG_ERRQUEUE___382 = 8192,
    MSG_NOSIGNAL___382 = 16384,
    MSG_MORE___382 = 32768,
    MSG_WAITFORONE___382 = 65536,
    MSG_BATCH___382 = 262144,
    MSG_ZEROCOPY___382 = 67108864,
    MSG_FASTOPEN___382 = 536870912,
    MSG_CMSG_CLOEXEC___382 = 1073741824
} ;
enum __anonenum_617082774___382 {
    SCM_RIGHTS___382 = 1,
    SCM_CREDENTIALS___382 = 2
} ;
enum __anonenum_606441560___382 {
    SHUT_RD___382 = 0,
    SHUT_WR___382 = 1,
    SHUT_RDWR___382 = 2
} ;
enum __anonenum_681669233___382 {
    IPPROTO_IP___382 = 0,
    IPPROTO_ICMP___382 = 1,
    IPPROTO_IGMP___382 = 2,
    IPPROTO_IPIP___382 = 4,
    IPPROTO_TCP___382 = 6,
    IPPROTO_EGP___382 = 8,
    IPPROTO_PUP___382 = 12,
    IPPROTO_UDP___382 = 17,
    IPPROTO_IDP___382 = 22,
    IPPROTO_TP___382 = 29,
    IPPROTO_DCCP___382 = 33,
    IPPROTO_IPV6___382 = 41,
    IPPROTO_RSVP___382 = 46,
    IPPROTO_GRE___382 = 47,
    IPPROTO_ESP___382 = 50,
    IPPROTO_AH___382 = 51,
    IPPROTO_MTP___382 = 92,
    IPPROTO_BEETPH___382 = 94,
    IPPROTO_ENCAP___382 = 98,
    IPPROTO_PIM___382 = 103,
    IPPROTO_COMP___382 = 108,
    IPPROTO_SCTP___382 = 132,
    IPPROTO_UDPLITE___382 = 136,
    IPPROTO_MPLS___382 = 137,
    IPPROTO_RAW___382 = 255,
    IPPROTO_MAX___382 = 256
} ;
enum __anonenum_218739988___382 {
    IPPROTO_HOPOPTS___382 = 0,
    IPPROTO_ROUTING___382 = 43,
    IPPROTO_FRAGMENT___382 = 44,
    IPPROTO_ICMPV6___382 = 58,
    IPPROTO_NONE___382 = 59,
    IPPROTO_DSTOPTS___382 = 60,
    IPPROTO_MH___382 = 135
} ;
enum __anonenum_662268580___382 {
    IPPORT_ECHO___382 = 7,
    IPPORT_DISCARD___382 = 9,
    IPPORT_SYSTAT___382 = 11,
    IPPORT_DAYTIME___382 = 13,
    IPPORT_NETSTAT___382 = 15,
    IPPORT_FTP___382 = 21,
    IPPORT_TELNET___382 = 23,
    IPPORT_SMTP___382 = 25,
    IPPORT_TIMESERVER___382 = 37,
    IPPORT_NAMESERVER___382 = 42,
    IPPORT_WHOIS___382 = 43,
    IPPORT_MTP___382 = 57,
    IPPORT_TFTP___382 = 69,
    IPPORT_RJE___382 = 77,
    IPPORT_FINGER___382 = 79,
    IPPORT_TTYLINK___382 = 87,
    IPPORT_SUPDUP___382 = 95,
    IPPORT_EXECSERVER___382 = 512,
    IPPORT_LOGINSERVER___382 = 513,
    IPPORT_CMDSERVER___382 = 514,
    IPPORT_EFSSERVER___382 = 520,
    IPPORT_BIFFUDP___382 = 512,
    IPPORT_WHOSERVER___382 = 513,
    IPPORT_ROUTESERVER___382 = 520,
    IPPORT_RESERVED___382 = 1024,
    IPPORT_USERRESERVED___382 = 5000
} ;
enum __anonenum_788308992___382 {
    TCP_ESTABLISHED___382 = 1,
    TCP_SYN_SENT___382 = 2,
    TCP_SYN_RECV___382 = 3,
    TCP_FIN_WAIT1___382 = 4,
    TCP_FIN_WAIT2___382 = 5,
    TCP_TIME_WAIT___382 = 6,
    TCP_CLOSE___382 = 7,
    TCP_CLOSE_WAIT___382 = 8,
    TCP_LAST_ACK___382 = 9,
    TCP_LISTEN___382 = 10,
    TCP_CLOSING___382 = 11
} ;
enum __anonenum_221125648___382 {
    TCP_NO_QUEUE___382 = 0,
    TCP_RECV_QUEUE___382 = 1,
    TCP_SEND_QUEUE___382 = 2,
    TCP_QUEUES_NR___382 = 3
} ;
enum __anonenum_34415463___382 {
    PTHREAD_CREATE_JOINABLE___382 = 0,
    PTHREAD_CREATE_DETACHED___382 = 1
} ;
enum __anonenum_303612439___382 {
    PTHREAD_MUTEX_TIMED_NP___382 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___382 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___382 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___382 = 3,
    PTHREAD_MUTEX_NORMAL___382 = 0,
    PTHREAD_MUTEX_RECURSIVE___382 = 1,
    PTHREAD_MUTEX_ERRORCHECK___382 = 2,
    PTHREAD_MUTEX_DEFAULT___382 = 0,
    PTHREAD_MUTEX_FAST_NP___382 = 0
} ;
enum __anonenum_931900394___382 {
    PTHREAD_MUTEX_STALLED___382 = 0,
    PTHREAD_MUTEX_STALLED_NP___382 = 0,
    PTHREAD_MUTEX_ROBUST___382 = 1,
    PTHREAD_MUTEX_ROBUST_NP___382 = 1
} ;
enum __anonenum_205214487___382 {
    PTHREAD_PRIO_NONE___382 = 0,
    PTHREAD_PRIO_INHERIT___382 = 1,
    PTHREAD_PRIO_PROTECT___382 = 2
} ;
enum __anonenum_25043950___382 {
    PTHREAD_RWLOCK_PREFER_READER_NP___382 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___382 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___382 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___382 = 0
} ;
enum __anonenum_436439511___382 {
    PTHREAD_INHERIT_SCHED___382 = 0,
    PTHREAD_EXPLICIT_SCHED___382 = 1
} ;
enum __anonenum_998661166___382 {
    PTHREAD_SCOPE_SYSTEM___382 = 0,
    PTHREAD_SCOPE_PROCESS___382 = 1
} ;
enum __anonenum_146137331___382 {
    PTHREAD_PROCESS_PRIVATE___382 = 0,
    PTHREAD_PROCESS_SHARED___382 = 1
} ;
enum __anonenum_53396917___382 {
    PTHREAD_CANCEL_ENABLE___382 = 0,
    PTHREAD_CANCEL_DISABLE___382 = 1
} ;
enum __anonenum_904563783___382 {
    PTHREAD_CANCEL_DEFERRED___382 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___382 = 1
} ;
enum __anonenum_672052974___382 {
    SSL_CT_VALIDATION_PERMISSIVE___382 = 0,
    SSL_CT_VALIDATION_STRICT___382 = 1
} ;
enum __anonenum_437032235___383 {
    _PC_LINK_MAX___383 = 0,
    _PC_MAX_CANON___383 = 1,
    _PC_MAX_INPUT___383 = 2,
    _PC_NAME_MAX___383 = 3,
    _PC_PATH_MAX___383 = 4,
    _PC_PIPE_BUF___383 = 5,
    _PC_CHOWN_RESTRICTED___383 = 6,
    _PC_NO_TRUNC___383 = 7,
    _PC_VDISABLE___383 = 8,
    _PC_SYNC_IO___383 = 9,
    _PC_ASYNC_IO___383 = 10,
    _PC_PRIO_IO___383 = 11,
    _PC_SOCK_MAXBUF___383 = 12,
    _PC_FILESIZEBITS___383 = 13,
    _PC_REC_INCR_XFER_SIZE___383 = 14,
    _PC_REC_MAX_XFER_SIZE___383 = 15,
    _PC_REC_MIN_XFER_SIZE___383 = 16,
    _PC_REC_XFER_ALIGN___383 = 17,
    _PC_ALLOC_SIZE_MIN___383 = 18,
    _PC_SYMLINK_MAX___383 = 19,
    _PC_2_SYMLINKS___383 = 20
} ;
enum __anonenum_315186338___383 {
    _SC_ARG_MAX___383 = 0,
    _SC_CHILD_MAX___383 = 1,
    _SC_CLK_TCK___383 = 2,
    _SC_NGROUPS_MAX___383 = 3,
    _SC_OPEN_MAX___383 = 4,
    _SC_STREAM_MAX___383 = 5,
    _SC_TZNAME_MAX___383 = 6,
    _SC_JOB_CONTROL___383 = 7,
    _SC_SAVED_IDS___383 = 8,
    _SC_REALTIME_SIGNALS___383 = 9,
    _SC_PRIORITY_SCHEDULING___383 = 10,
    _SC_TIMERS___383 = 11,
    _SC_ASYNCHRONOUS_IO___383 = 12,
    _SC_PRIORITIZED_IO___383 = 13,
    _SC_SYNCHRONIZED_IO___383 = 14,
    _SC_FSYNC___383 = 15,
    _SC_MAPPED_FILES___383 = 16,
    _SC_MEMLOCK___383 = 17,
    _SC_MEMLOCK_RANGE___383 = 18,
    _SC_MEMORY_PROTECTION___383 = 19,
    _SC_MESSAGE_PASSING___383 = 20,
    _SC_SEMAPHORES___383 = 21,
    _SC_SHARED_MEMORY_OBJECTS___383 = 22,
    _SC_AIO_LISTIO_MAX___383 = 23,
    _SC_AIO_MAX___383 = 24,
    _SC_AIO_PRIO_DELTA_MAX___383 = 25,
    _SC_DELAYTIMER_MAX___383 = 26,
    _SC_MQ_OPEN_MAX___383 = 27,
    _SC_MQ_PRIO_MAX___383 = 28,
    _SC_VERSION___383 = 29,
    _SC_PAGESIZE___383 = 30,
    _SC_RTSIG_MAX___383 = 31,
    _SC_SEM_NSEMS_MAX___383 = 32,
    _SC_SEM_VALUE_MAX___383 = 33,
    _SC_SIGQUEUE_MAX___383 = 34,
    _SC_TIMER_MAX___383 = 35,
    _SC_BC_BASE_MAX___383 = 36,
    _SC_BC_DIM_MAX___383 = 37,
    _SC_BC_SCALE_MAX___383 = 38,
    _SC_BC_STRING_MAX___383 = 39,
    _SC_COLL_WEIGHTS_MAX___383 = 40,
    _SC_EQUIV_CLASS_MAX___383 = 41,
    _SC_EXPR_NEST_MAX___383 = 42,
    _SC_LINE_MAX___383 = 43,
    _SC_RE_DUP_MAX___383 = 44,
    _SC_CHARCLASS_NAME_MAX___383 = 45,
    _SC_2_VERSION___383 = 46,
    _SC_2_C_BIND___383 = 47,
    _SC_2_C_DEV___383 = 48,
    _SC_2_FORT_DEV___383 = 49,
    _SC_2_FORT_RUN___383 = 50,
    _SC_2_SW_DEV___383 = 51,
    _SC_2_LOCALEDEF___383 = 52,
    _SC_PII___383 = 53,
    _SC_PII_XTI___383 = 54,
    _SC_PII_SOCKET___383 = 55,
    _SC_PII_INTERNET___383 = 56,
    _SC_PII_OSI___383 = 57,
    _SC_POLL___383 = 58,
    _SC_SELECT___383 = 59,
    _SC_UIO_MAXIOV___383 = 60,
    _SC_IOV_MAX___383 = 60,
    _SC_PII_INTERNET_STREAM___383 = 61,
    _SC_PII_INTERNET_DGRAM___383 = 62,
    _SC_PII_OSI_COTS___383 = 63,
    _SC_PII_OSI_CLTS___383 = 64,
    _SC_PII_OSI_M___383 = 65,
    _SC_T_IOV_MAX___383 = 66,
    _SC_THREADS___383 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___383 = 68,
    _SC_GETGR_R_SIZE_MAX___383 = 69,
    _SC_GETPW_R_SIZE_MAX___383 = 70,
    _SC_LOGIN_NAME_MAX___383 = 71,
    _SC_TTY_NAME_MAX___383 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___383 = 73,
    _SC_THREAD_KEYS_MAX___383 = 74,
    _SC_THREAD_STACK_MIN___383 = 75,
    _SC_THREAD_THREADS_MAX___383 = 76,
    _SC_THREAD_ATTR_STACKADDR___383 = 77,
    _SC_THREAD_ATTR_STACKSIZE___383 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___383 = 79,
    _SC_THREAD_PRIO_INHERIT___383 = 80,
    _SC_THREAD_PRIO_PROTECT___383 = 81,
    _SC_THREAD_PROCESS_SHARED___383 = 82,
    _SC_NPROCESSORS_CONF___383 = 83,
    _SC_NPROCESSORS_ONLN___383 = 84,
    _SC_PHYS_PAGES___383 = 85,
    _SC_AVPHYS_PAGES___383 = 86,
    _SC_ATEXIT_MAX___383 = 87,
    _SC_PASS_MAX___383 = 88,
    _SC_XOPEN_VERSION___383 = 89,
    _SC_XOPEN_XCU_VERSION___383 = 90,
    _SC_XOPEN_UNIX___383 = 91,
    _SC_XOPEN_CRYPT___383 = 92,
    _SC_XOPEN_ENH_I18N___383 = 93,
    _SC_XOPEN_SHM___383 = 94,
    _SC_2_CHAR_TERM___383 = 95,
    _SC_2_C_VERSION___383 = 96,
    _SC_2_UPE___383 = 97,
    _SC_XOPEN_XPG2___383 = 98,
    _SC_XOPEN_XPG3___383 = 99,
    _SC_XOPEN_XPG4___383 = 100,
    _SC_CHAR_BIT___383 = 101,
    _SC_CHAR_MAX___383 = 102,
    _SC_CHAR_MIN___383 = 103,
    _SC_INT_MAX___383 = 104,
    _SC_INT_MIN___383 = 105,
    _SC_LONG_BIT___383 = 106,
    _SC_WORD_BIT___383 = 107,
    _SC_MB_LEN_MAX___383 = 108,
    _SC_NZERO___383 = 109,
    _SC_SSIZE_MAX___383 = 110,
    _SC_SCHAR_MAX___383 = 111,
    _SC_SCHAR_MIN___383 = 112,
    _SC_SHRT_MAX___383 = 113,
    _SC_SHRT_MIN___383 = 114,
    _SC_UCHAR_MAX___383 = 115,
    _SC_UINT_MAX___383 = 116,
    _SC_ULONG_MAX___383 = 117,
    _SC_USHRT_MAX___383 = 118,
    _SC_NL_ARGMAX___383 = 119,
    _SC_NL_LANGMAX___383 = 120,
    _SC_NL_MSGMAX___383 = 121,
    _SC_NL_NMAX___383 = 122,
    _SC_NL_SETMAX___383 = 123,
    _SC_NL_TEXTMAX___383 = 124,
    _SC_XBS5_ILP32_OFF32___383 = 125,
    _SC_XBS5_ILP32_OFFBIG___383 = 126,
    _SC_XBS5_LP64_OFF64___383 = 127,
    _SC_XBS5_LPBIG_OFFBIG___383 = 128,
    _SC_XOPEN_LEGACY___383 = 129,
    _SC_XOPEN_REALTIME___383 = 130,
    _SC_XOPEN_REALTIME_THREADS___383 = 131,
    _SC_ADVISORY_INFO___383 = 132,
    _SC_BARRIERS___383 = 133,
    _SC_BASE___383 = 134,
    _SC_C_LANG_SUPPORT___383 = 135,
    _SC_C_LANG_SUPPORT_R___383 = 136,
    _SC_CLOCK_SELECTION___383 = 137,
    _SC_CPUTIME___383 = 138,
    _SC_THREAD_CPUTIME___383 = 139,
    _SC_DEVICE_IO___383 = 140,
    _SC_DEVICE_SPECIFIC___383 = 141,
    _SC_DEVICE_SPECIFIC_R___383 = 142,
    _SC_FD_MGMT___383 = 143,
    _SC_FIFO___383 = 144,
    _SC_PIPE___383 = 145,
    _SC_FILE_ATTRIBUTES___383 = 146,
    _SC_FILE_LOCKING___383 = 147,
    _SC_FILE_SYSTEM___383 = 148,
    _SC_MONOTONIC_CLOCK___383 = 149,
    _SC_MULTI_PROCESS___383 = 150,
    _SC_SINGLE_PROCESS___383 = 151,
    _SC_NETWORKING___383 = 152,
    _SC_READER_WRITER_LOCKS___383 = 153,
    _SC_SPIN_LOCKS___383 = 154,
    _SC_REGEXP___383 = 155,
    _SC_REGEX_VERSION___383 = 156,
    _SC_SHELL___383 = 157,
    _SC_SIGNALS___383 = 158,
    _SC_SPAWN___383 = 159,
    _SC_SPORADIC_SERVER___383 = 160,
    _SC_THREAD_SPORADIC_SERVER___383 = 161,
    _SC_SYSTEM_DATABASE___383 = 162,
    _SC_SYSTEM_DATABASE_R___383 = 163,
    _SC_TIMEOUTS___383 = 164,
    _SC_TYPED_MEMORY_OBJECTS___383 = 165,
    _SC_USER_GROUPS___383 = 166,
    _SC_USER_GROUPS_R___383 = 167,
    _SC_2_PBS___383 = 168,
    _SC_2_PBS_ACCOUNTING___383 = 169,
    _SC_2_PBS_LOCATE___383 = 170,
    _SC_2_PBS_MESSAGE___383 = 171,
    _SC_2_PBS_TRACK___383 = 172,
    _SC_SYMLOOP_MAX___383 = 173,
    _SC_STREAMS___383 = 174,
    _SC_2_PBS_CHECKPOINT___383 = 175,
    _SC_V6_ILP32_OFF32___383 = 176,
    _SC_V6_ILP32_OFFBIG___383 = 177,
    _SC_V6_LP64_OFF64___383 = 178,
    _SC_V6_LPBIG_OFFBIG___383 = 179,
    _SC_HOST_NAME_MAX___383 = 180,
    _SC_TRACE___383 = 181,
    _SC_TRACE_EVENT_FILTER___383 = 182,
    _SC_TRACE_INHERIT___383 = 183,
    _SC_TRACE_LOG___383 = 184,
    _SC_LEVEL1_ICACHE_SIZE___383 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___383 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___383 = 187,
    _SC_LEVEL1_DCACHE_SIZE___383 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___383 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___383 = 190,
    _SC_LEVEL2_CACHE_SIZE___383 = 191,
    _SC_LEVEL2_CACHE_ASSOC___383 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___383 = 193,
    _SC_LEVEL3_CACHE_SIZE___383 = 194,
    _SC_LEVEL3_CACHE_ASSOC___383 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___383 = 196,
    _SC_LEVEL4_CACHE_SIZE___383 = 197,
    _SC_LEVEL4_CACHE_ASSOC___383 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___383 = 199,
    _SC_IPV6___383 = 235,
    _SC_RAW_SOCKETS___383 = 236,
    _SC_V7_ILP32_OFF32___383 = 237,
    _SC_V7_ILP32_OFFBIG___383 = 238,
    _SC_V7_LP64_OFF64___383 = 239,
    _SC_V7_LPBIG_OFFBIG___383 = 240,
    _SC_SS_REPL_MAX___383 = 241,
    _SC_TRACE_EVENT_NAME_MAX___383 = 242,
    _SC_TRACE_NAME_MAX___383 = 243,
    _SC_TRACE_SYS_MAX___383 = 244,
    _SC_TRACE_USER_EVENT_MAX___383 = 245,
    _SC_XOPEN_STREAMS___383 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___383 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___383 = 248
} ;
enum __anonenum_875524036___383 {
    _CS_PATH___383 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___383 = 1,
    _CS_GNU_LIBC_VERSION___383 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___383 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___383 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___383 = 5,
    _CS_LFS_CFLAGS___383 = 1000,
    _CS_LFS_LDFLAGS___383 = 1001,
    _CS_LFS_LIBS___383 = 1002,
    _CS_LFS_LINTFLAGS___383 = 1003,
    _CS_LFS64_CFLAGS___383 = 1004,
    _CS_LFS64_LDFLAGS___383 = 1005,
    _CS_LFS64_LIBS___383 = 1006,
    _CS_LFS64_LINTFLAGS___383 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___383 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___383 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___383 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___383 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___383 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___383 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___383 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___383 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___383 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___383 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___383 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___383 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___383 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___383 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___383 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___383 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___383 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___383 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___383 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___383 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___383 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___383 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___383 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___383 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___383 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___383 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___383 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___383 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___383 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___383 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___383 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___383 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___383 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___383 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___383 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___383 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___383 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___383 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___383 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___383 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___383 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___383 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___383 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___383 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___383 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___383 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___383 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___383 = 1147,
    _CS_V6_ENV___383 = 1148,
    _CS_V7_ENV___383 = 1149
} ;
enum __anonenum_513775621___383 {
    DT_UNKNOWN___383 = 0,
    DT_FIFO___383 = 1,
    DT_CHR___383 = 2,
    DT_DIR___383 = 4,
    DT_BLK___383 = 6,
    DT_REG___383 = 8,
    DT_LNK___383 = 10,
    DT_SOCK___383 = 12,
    DT_WHT___383 = 14
} ;
enum __anonenum_77002343___383 {
    SI_ASYNCNL___383 = -60,
    SI_TKILL___383 = -6,
    SI_SIGIO___383 = -5,
    SI_ASYNCIO___383 = -4,
    SI_MESGQ___383 = -3,
    SI_TIMER___383 = -2,
    SI_QUEUE___383 = -1,
    SI_USER___383 = 0,
    SI_KERNEL___383 = 128
} ;
enum __anonenum_131038172___383 {
    ILL_ILLOPC___383 = 1,
    ILL_ILLOPN___383 = 2,
    ILL_ILLADR___383 = 3,
    ILL_ILLTRP___383 = 4,
    ILL_PRVOPC___383 = 5,
    ILL_PRVREG___383 = 6,
    ILL_COPROC___383 = 7,
    ILL_BADSTK___383 = 8
} ;
enum __anonenum_452038093___383 {
    FPE_INTDIV___383 = 1,
    FPE_INTOVF___383 = 2,
    FPE_FLTDIV___383 = 3,
    FPE_FLTOVF___383 = 4,
    FPE_FLTUND___383 = 5,
    FPE_FLTRES___383 = 6,
    FPE_FLTINV___383 = 7,
    FPE_FLTSUB___383 = 8
} ;
enum __anonenum_30976155___383 {
    SEGV_MAPERR___383 = 1,
    SEGV_ACCERR___383 = 2,
    SEGV_BNDERR___383 = 3,
    SEGV_PKUERR___383 = 4
} ;
enum __anonenum_1036286214___383 {
    BUS_ADRALN___383 = 1,
    BUS_ADRERR___383 = 2,
    BUS_OBJERR___383 = 3,
    BUS_MCEERR_AR___383 = 4,
    BUS_MCEERR_AO___383 = 5
} ;
enum __anonenum_493465559___383 {
    TRAP_BRKPT___383 = 1,
    TRAP_TRACE___383 = 2
} ;
enum __anonenum_23175539___383 {
    CLD_EXITED___383 = 1,
    CLD_KILLED___383 = 2,
    CLD_DUMPED___383 = 3,
    CLD_TRAPPED___383 = 4,
    CLD_STOPPED___383 = 5,
    CLD_CONTINUED___383 = 6
} ;
enum __anonenum_111643124___383 {
    POLL_IN___383 = 1,
    POLL_OUT___383 = 2,
    POLL_MSG___383 = 3,
    POLL_ERR___383 = 4,
    POLL_PRI___383 = 5,
    POLL_HUP___383 = 6
} ;
enum __anonenum_852341087___383 {
    SIGEV_SIGNAL___383 = 0,
    SIGEV_NONE___383 = 1,
    SIGEV_THREAD___383 = 2,
    SIGEV_THREAD_ID___383 = 4
} ;
enum __anonenum_451154152___383 {
    REG_R8___383 = 0,
    REG_R9___383 = 1,
    REG_R10___383 = 2,
    REG_R11___383 = 3,
    REG_R12___383 = 4,
    REG_R13___383 = 5,
    REG_R14___383 = 6,
    REG_R15___383 = 7,
    REG_RDI___383 = 8,
    REG_RSI___383 = 9,
    REG_RBP___383 = 10,
    REG_RBX___383 = 11,
    REG_RDX___383 = 12,
    REG_RAX___383 = 13,
    REG_RCX___383 = 14,
    REG_RSP___383 = 15,
    REG_RIP___383 = 16,
    REG_EFL___383 = 17,
    REG_CSGSFS___383 = 18,
    REG_ERR___383 = 19,
    REG_TRAPNO___383 = 20,
    REG_OLDMASK___383 = 21,
    REG_CR2___383 = 22
} ;
enum __anonenum_57186863___383 {
    SS_ONSTACK___383 = 1,
    SS_DISABLE___383 = 2
} ;
enum __anonenum_83571709___383 {
    MSG_OOB___383 = 1,
    MSG_PEEK___383 = 2,
    MSG_DONTROUTE___383 = 4,
    MSG_TRYHARD___383 = 4,
    MSG_CTRUNC___383 = 8,
    MSG_PROXY___383 = 16,
    MSG_TRUNC___383 = 32,
    MSG_DONTWAIT___383 = 64,
    MSG_EOR___383 = 128,
    MSG_WAITALL___383 = 256,
    MSG_FIN___383 = 512,
    MSG_SYN___383 = 1024,
    MSG_CONFIRM___383 = 2048,
    MSG_RST___383 = 4096,
    MSG_ERRQUEUE___383 = 8192,
    MSG_NOSIGNAL___383 = 16384,
    MSG_MORE___383 = 32768,
    MSG_WAITFORONE___383 = 65536,
    MSG_BATCH___383 = 262144,
    MSG_ZEROCOPY___383 = 67108864,
    MSG_FASTOPEN___383 = 536870912,
    MSG_CMSG_CLOEXEC___383 = 1073741824
} ;
enum __anonenum_617082774___383 {
    SCM_RIGHTS___383 = 1,
    SCM_CREDENTIALS___383 = 2
} ;
enum __anonenum_606441560___383 {
    SHUT_RD___383 = 0,
    SHUT_WR___383 = 1,
    SHUT_RDWR___383 = 2
} ;
enum __anonenum_681669233___383 {
    IPPROTO_IP___383 = 0,
    IPPROTO_ICMP___383 = 1,
    IPPROTO_IGMP___383 = 2,
    IPPROTO_IPIP___383 = 4,
    IPPROTO_TCP___383 = 6,
    IPPROTO_EGP___383 = 8,
    IPPROTO_PUP___383 = 12,
    IPPROTO_UDP___383 = 17,
    IPPROTO_IDP___383 = 22,
    IPPROTO_TP___383 = 29,
    IPPROTO_DCCP___383 = 33,
    IPPROTO_IPV6___383 = 41,
    IPPROTO_RSVP___383 = 46,
    IPPROTO_GRE___383 = 47,
    IPPROTO_ESP___383 = 50,
    IPPROTO_AH___383 = 51,
    IPPROTO_MTP___383 = 92,
    IPPROTO_BEETPH___383 = 94,
    IPPROTO_ENCAP___383 = 98,
    IPPROTO_PIM___383 = 103,
    IPPROTO_COMP___383 = 108,
    IPPROTO_SCTP___383 = 132,
    IPPROTO_UDPLITE___383 = 136,
    IPPROTO_MPLS___383 = 137,
    IPPROTO_RAW___383 = 255,
    IPPROTO_MAX___383 = 256
} ;
enum __anonenum_218739988___383 {
    IPPROTO_HOPOPTS___383 = 0,
    IPPROTO_ROUTING___383 = 43,
    IPPROTO_FRAGMENT___383 = 44,
    IPPROTO_ICMPV6___383 = 58,
    IPPROTO_NONE___383 = 59,
    IPPROTO_DSTOPTS___383 = 60,
    IPPROTO_MH___383 = 135
} ;
enum __anonenum_662268580___383 {
    IPPORT_ECHO___383 = 7,
    IPPORT_DISCARD___383 = 9,
    IPPORT_SYSTAT___383 = 11,
    IPPORT_DAYTIME___383 = 13,
    IPPORT_NETSTAT___383 = 15,
    IPPORT_FTP___383 = 21,
    IPPORT_TELNET___383 = 23,
    IPPORT_SMTP___383 = 25,
    IPPORT_TIMESERVER___383 = 37,
    IPPORT_NAMESERVER___383 = 42,
    IPPORT_WHOIS___383 = 43,
    IPPORT_MTP___383 = 57,
    IPPORT_TFTP___383 = 69,
    IPPORT_RJE___383 = 77,
    IPPORT_FINGER___383 = 79,
    IPPORT_TTYLINK___383 = 87,
    IPPORT_SUPDUP___383 = 95,
    IPPORT_EXECSERVER___383 = 512,
    IPPORT_LOGINSERVER___383 = 513,
    IPPORT_CMDSERVER___383 = 514,
    IPPORT_EFSSERVER___383 = 520,
    IPPORT_BIFFUDP___383 = 512,
    IPPORT_WHOSERVER___383 = 513,
    IPPORT_ROUTESERVER___383 = 520,
    IPPORT_RESERVED___383 = 1024,
    IPPORT_USERRESERVED___383 = 5000
} ;
enum __anonenum_788308992___383 {
    TCP_ESTABLISHED___383 = 1,
    TCP_SYN_SENT___383 = 2,
    TCP_SYN_RECV___383 = 3,
    TCP_FIN_WAIT1___383 = 4,
    TCP_FIN_WAIT2___383 = 5,
    TCP_TIME_WAIT___383 = 6,
    TCP_CLOSE___383 = 7,
    TCP_CLOSE_WAIT___383 = 8,
    TCP_LAST_ACK___383 = 9,
    TCP_LISTEN___383 = 10,
    TCP_CLOSING___383 = 11
} ;
enum __anonenum_221125648___383 {
    TCP_NO_QUEUE___383 = 0,
    TCP_RECV_QUEUE___383 = 1,
    TCP_SEND_QUEUE___383 = 2,
    TCP_QUEUES_NR___383 = 3
} ;
enum __anonenum_34415463___383 {
    PTHREAD_CREATE_JOINABLE___383 = 0,
    PTHREAD_CREATE_DETACHED___383 = 1
} ;
enum __anonenum_303612439___383 {
    PTHREAD_MUTEX_TIMED_NP___383 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___383 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___383 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___383 = 3,
    PTHREAD_MUTEX_NORMAL___383 = 0,
    PTHREAD_MUTEX_RECURSIVE___383 = 1,
    PTHREAD_MUTEX_ERRORCHECK___383 = 2,
    PTHREAD_MUTEX_DEFAULT___383 = 0,
    PTHREAD_MUTEX_FAST_NP___383 = 0
} ;
enum __anonenum_931900394___383 {
    PTHREAD_MUTEX_STALLED___383 = 0,
    PTHREAD_MUTEX_STALLED_NP___383 = 0,
    PTHREAD_MUTEX_ROBUST___383 = 1,
    PTHREAD_MUTEX_ROBUST_NP___383 = 1
} ;
enum __anonenum_205214487___383 {
    PTHREAD_PRIO_NONE___383 = 0,
    PTHREAD_PRIO_INHERIT___383 = 1,
    PTHREAD_PRIO_PROTECT___383 = 2
} ;
enum __anonenum_25043950___383 {
    PTHREAD_RWLOCK_PREFER_READER_NP___383 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___383 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___383 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___383 = 0
} ;
enum __anonenum_436439511___383 {
    PTHREAD_INHERIT_SCHED___383 = 0,
    PTHREAD_EXPLICIT_SCHED___383 = 1
} ;
enum __anonenum_998661166___383 {
    PTHREAD_SCOPE_SYSTEM___383 = 0,
    PTHREAD_SCOPE_PROCESS___383 = 1
} ;
enum __anonenum_146137331___383 {
    PTHREAD_PROCESS_PRIVATE___383 = 0,
    PTHREAD_PROCESS_SHARED___383 = 1
} ;
enum __anonenum_53396917___383 {
    PTHREAD_CANCEL_ENABLE___383 = 0,
    PTHREAD_CANCEL_DISABLE___383 = 1
} ;
enum __anonenum_904563783___383 {
    PTHREAD_CANCEL_DEFERRED___383 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___383 = 1
} ;
enum __anonenum_672052974___383 {
    SSL_CT_VALIDATION_PERMISSIVE___383 = 0,
    SSL_CT_VALIDATION_STRICT___383 = 1
} ;
enum __anonenum_437032235___384 {
    _PC_LINK_MAX___384 = 0,
    _PC_MAX_CANON___384 = 1,
    _PC_MAX_INPUT___384 = 2,
    _PC_NAME_MAX___384 = 3,
    _PC_PATH_MAX___384 = 4,
    _PC_PIPE_BUF___384 = 5,
    _PC_CHOWN_RESTRICTED___384 = 6,
    _PC_NO_TRUNC___384 = 7,
    _PC_VDISABLE___384 = 8,
    _PC_SYNC_IO___384 = 9,
    _PC_ASYNC_IO___384 = 10,
    _PC_PRIO_IO___384 = 11,
    _PC_SOCK_MAXBUF___384 = 12,
    _PC_FILESIZEBITS___384 = 13,
    _PC_REC_INCR_XFER_SIZE___384 = 14,
    _PC_REC_MAX_XFER_SIZE___384 = 15,
    _PC_REC_MIN_XFER_SIZE___384 = 16,
    _PC_REC_XFER_ALIGN___384 = 17,
    _PC_ALLOC_SIZE_MIN___384 = 18,
    _PC_SYMLINK_MAX___384 = 19,
    _PC_2_SYMLINKS___384 = 20
} ;
enum __anonenum_315186338___384 {
    _SC_ARG_MAX___384 = 0,
    _SC_CHILD_MAX___384 = 1,
    _SC_CLK_TCK___384 = 2,
    _SC_NGROUPS_MAX___384 = 3,
    _SC_OPEN_MAX___384 = 4,
    _SC_STREAM_MAX___384 = 5,
    _SC_TZNAME_MAX___384 = 6,
    _SC_JOB_CONTROL___384 = 7,
    _SC_SAVED_IDS___384 = 8,
    _SC_REALTIME_SIGNALS___384 = 9,
    _SC_PRIORITY_SCHEDULING___384 = 10,
    _SC_TIMERS___384 = 11,
    _SC_ASYNCHRONOUS_IO___384 = 12,
    _SC_PRIORITIZED_IO___384 = 13,
    _SC_SYNCHRONIZED_IO___384 = 14,
    _SC_FSYNC___384 = 15,
    _SC_MAPPED_FILES___384 = 16,
    _SC_MEMLOCK___384 = 17,
    _SC_MEMLOCK_RANGE___384 = 18,
    _SC_MEMORY_PROTECTION___384 = 19,
    _SC_MESSAGE_PASSING___384 = 20,
    _SC_SEMAPHORES___384 = 21,
    _SC_SHARED_MEMORY_OBJECTS___384 = 22,
    _SC_AIO_LISTIO_MAX___384 = 23,
    _SC_AIO_MAX___384 = 24,
    _SC_AIO_PRIO_DELTA_MAX___384 = 25,
    _SC_DELAYTIMER_MAX___384 = 26,
    _SC_MQ_OPEN_MAX___384 = 27,
    _SC_MQ_PRIO_MAX___384 = 28,
    _SC_VERSION___384 = 29,
    _SC_PAGESIZE___384 = 30,
    _SC_RTSIG_MAX___384 = 31,
    _SC_SEM_NSEMS_MAX___384 = 32,
    _SC_SEM_VALUE_MAX___384 = 33,
    _SC_SIGQUEUE_MAX___384 = 34,
    _SC_TIMER_MAX___384 = 35,
    _SC_BC_BASE_MAX___384 = 36,
    _SC_BC_DIM_MAX___384 = 37,
    _SC_BC_SCALE_MAX___384 = 38,
    _SC_BC_STRING_MAX___384 = 39,
    _SC_COLL_WEIGHTS_MAX___384 = 40,
    _SC_EQUIV_CLASS_MAX___384 = 41,
    _SC_EXPR_NEST_MAX___384 = 42,
    _SC_LINE_MAX___384 = 43,
    _SC_RE_DUP_MAX___384 = 44,
    _SC_CHARCLASS_NAME_MAX___384 = 45,
    _SC_2_VERSION___384 = 46,
    _SC_2_C_BIND___384 = 47,
    _SC_2_C_DEV___384 = 48,
    _SC_2_FORT_DEV___384 = 49,
    _SC_2_FORT_RUN___384 = 50,
    _SC_2_SW_DEV___384 = 51,
    _SC_2_LOCALEDEF___384 = 52,
    _SC_PII___384 = 53,
    _SC_PII_XTI___384 = 54,
    _SC_PII_SOCKET___384 = 55,
    _SC_PII_INTERNET___384 = 56,
    _SC_PII_OSI___384 = 57,
    _SC_POLL___384 = 58,
    _SC_SELECT___384 = 59,
    _SC_UIO_MAXIOV___384 = 60,
    _SC_IOV_MAX___384 = 60,
    _SC_PII_INTERNET_STREAM___384 = 61,
    _SC_PII_INTERNET_DGRAM___384 = 62,
    _SC_PII_OSI_COTS___384 = 63,
    _SC_PII_OSI_CLTS___384 = 64,
    _SC_PII_OSI_M___384 = 65,
    _SC_T_IOV_MAX___384 = 66,
    _SC_THREADS___384 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___384 = 68,
    _SC_GETGR_R_SIZE_MAX___384 = 69,
    _SC_GETPW_R_SIZE_MAX___384 = 70,
    _SC_LOGIN_NAME_MAX___384 = 71,
    _SC_TTY_NAME_MAX___384 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___384 = 73,
    _SC_THREAD_KEYS_MAX___384 = 74,
    _SC_THREAD_STACK_MIN___384 = 75,
    _SC_THREAD_THREADS_MAX___384 = 76,
    _SC_THREAD_ATTR_STACKADDR___384 = 77,
    _SC_THREAD_ATTR_STACKSIZE___384 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___384 = 79,
    _SC_THREAD_PRIO_INHERIT___384 = 80,
    _SC_THREAD_PRIO_PROTECT___384 = 81,
    _SC_THREAD_PROCESS_SHARED___384 = 82,
    _SC_NPROCESSORS_CONF___384 = 83,
    _SC_NPROCESSORS_ONLN___384 = 84,
    _SC_PHYS_PAGES___384 = 85,
    _SC_AVPHYS_PAGES___384 = 86,
    _SC_ATEXIT_MAX___384 = 87,
    _SC_PASS_MAX___384 = 88,
    _SC_XOPEN_VERSION___384 = 89,
    _SC_XOPEN_XCU_VERSION___384 = 90,
    _SC_XOPEN_UNIX___384 = 91,
    _SC_XOPEN_CRYPT___384 = 92,
    _SC_XOPEN_ENH_I18N___384 = 93,
    _SC_XOPEN_SHM___384 = 94,
    _SC_2_CHAR_TERM___384 = 95,
    _SC_2_C_VERSION___384 = 96,
    _SC_2_UPE___384 = 97,
    _SC_XOPEN_XPG2___384 = 98,
    _SC_XOPEN_XPG3___384 = 99,
    _SC_XOPEN_XPG4___384 = 100,
    _SC_CHAR_BIT___384 = 101,
    _SC_CHAR_MAX___384 = 102,
    _SC_CHAR_MIN___384 = 103,
    _SC_INT_MAX___384 = 104,
    _SC_INT_MIN___384 = 105,
    _SC_LONG_BIT___384 = 106,
    _SC_WORD_BIT___384 = 107,
    _SC_MB_LEN_MAX___384 = 108,
    _SC_NZERO___384 = 109,
    _SC_SSIZE_MAX___384 = 110,
    _SC_SCHAR_MAX___384 = 111,
    _SC_SCHAR_MIN___384 = 112,
    _SC_SHRT_MAX___384 = 113,
    _SC_SHRT_MIN___384 = 114,
    _SC_UCHAR_MAX___384 = 115,
    _SC_UINT_MAX___384 = 116,
    _SC_ULONG_MAX___384 = 117,
    _SC_USHRT_MAX___384 = 118,
    _SC_NL_ARGMAX___384 = 119,
    _SC_NL_LANGMAX___384 = 120,
    _SC_NL_MSGMAX___384 = 121,
    _SC_NL_NMAX___384 = 122,
    _SC_NL_SETMAX___384 = 123,
    _SC_NL_TEXTMAX___384 = 124,
    _SC_XBS5_ILP32_OFF32___384 = 125,
    _SC_XBS5_ILP32_OFFBIG___384 = 126,
    _SC_XBS5_LP64_OFF64___384 = 127,
    _SC_XBS5_LPBIG_OFFBIG___384 = 128,
    _SC_XOPEN_LEGACY___384 = 129,
    _SC_XOPEN_REALTIME___384 = 130,
    _SC_XOPEN_REALTIME_THREADS___384 = 131,
    _SC_ADVISORY_INFO___384 = 132,
    _SC_BARRIERS___384 = 133,
    _SC_BASE___384 = 134,
    _SC_C_LANG_SUPPORT___384 = 135,
    _SC_C_LANG_SUPPORT_R___384 = 136,
    _SC_CLOCK_SELECTION___384 = 137,
    _SC_CPUTIME___384 = 138,
    _SC_THREAD_CPUTIME___384 = 139,
    _SC_DEVICE_IO___384 = 140,
    _SC_DEVICE_SPECIFIC___384 = 141,
    _SC_DEVICE_SPECIFIC_R___384 = 142,
    _SC_FD_MGMT___384 = 143,
    _SC_FIFO___384 = 144,
    _SC_PIPE___384 = 145,
    _SC_FILE_ATTRIBUTES___384 = 146,
    _SC_FILE_LOCKING___384 = 147,
    _SC_FILE_SYSTEM___384 = 148,
    _SC_MONOTONIC_CLOCK___384 = 149,
    _SC_MULTI_PROCESS___384 = 150,
    _SC_SINGLE_PROCESS___384 = 151,
    _SC_NETWORKING___384 = 152,
    _SC_READER_WRITER_LOCKS___384 = 153,
    _SC_SPIN_LOCKS___384 = 154,
    _SC_REGEXP___384 = 155,
    _SC_REGEX_VERSION___384 = 156,
    _SC_SHELL___384 = 157,
    _SC_SIGNALS___384 = 158,
    _SC_SPAWN___384 = 159,
    _SC_SPORADIC_SERVER___384 = 160,
    _SC_THREAD_SPORADIC_SERVER___384 = 161,
    _SC_SYSTEM_DATABASE___384 = 162,
    _SC_SYSTEM_DATABASE_R___384 = 163,
    _SC_TIMEOUTS___384 = 164,
    _SC_TYPED_MEMORY_OBJECTS___384 = 165,
    _SC_USER_GROUPS___384 = 166,
    _SC_USER_GROUPS_R___384 = 167,
    _SC_2_PBS___384 = 168,
    _SC_2_PBS_ACCOUNTING___384 = 169,
    _SC_2_PBS_LOCATE___384 = 170,
    _SC_2_PBS_MESSAGE___384 = 171,
    _SC_2_PBS_TRACK___384 = 172,
    _SC_SYMLOOP_MAX___384 = 173,
    _SC_STREAMS___384 = 174,
    _SC_2_PBS_CHECKPOINT___384 = 175,
    _SC_V6_ILP32_OFF32___384 = 176,
    _SC_V6_ILP32_OFFBIG___384 = 177,
    _SC_V6_LP64_OFF64___384 = 178,
    _SC_V6_LPBIG_OFFBIG___384 = 179,
    _SC_HOST_NAME_MAX___384 = 180,
    _SC_TRACE___384 = 181,
    _SC_TRACE_EVENT_FILTER___384 = 182,
    _SC_TRACE_INHERIT___384 = 183,
    _SC_TRACE_LOG___384 = 184,
    _SC_LEVEL1_ICACHE_SIZE___384 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___384 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___384 = 187,
    _SC_LEVEL1_DCACHE_SIZE___384 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___384 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___384 = 190,
    _SC_LEVEL2_CACHE_SIZE___384 = 191,
    _SC_LEVEL2_CACHE_ASSOC___384 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___384 = 193,
    _SC_LEVEL3_CACHE_SIZE___384 = 194,
    _SC_LEVEL3_CACHE_ASSOC___384 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___384 = 196,
    _SC_LEVEL4_CACHE_SIZE___384 = 197,
    _SC_LEVEL4_CACHE_ASSOC___384 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___384 = 199,
    _SC_IPV6___384 = 235,
    _SC_RAW_SOCKETS___384 = 236,
    _SC_V7_ILP32_OFF32___384 = 237,
    _SC_V7_ILP32_OFFBIG___384 = 238,
    _SC_V7_LP64_OFF64___384 = 239,
    _SC_V7_LPBIG_OFFBIG___384 = 240,
    _SC_SS_REPL_MAX___384 = 241,
    _SC_TRACE_EVENT_NAME_MAX___384 = 242,
    _SC_TRACE_NAME_MAX___384 = 243,
    _SC_TRACE_SYS_MAX___384 = 244,
    _SC_TRACE_USER_EVENT_MAX___384 = 245,
    _SC_XOPEN_STREAMS___384 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___384 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___384 = 248
} ;
enum __anonenum_875524036___384 {
    _CS_PATH___384 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___384 = 1,
    _CS_GNU_LIBC_VERSION___384 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___384 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___384 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___384 = 5,
    _CS_LFS_CFLAGS___384 = 1000,
    _CS_LFS_LDFLAGS___384 = 1001,
    _CS_LFS_LIBS___384 = 1002,
    _CS_LFS_LINTFLAGS___384 = 1003,
    _CS_LFS64_CFLAGS___384 = 1004,
    _CS_LFS64_LDFLAGS___384 = 1005,
    _CS_LFS64_LIBS___384 = 1006,
    _CS_LFS64_LINTFLAGS___384 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___384 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___384 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___384 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___384 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___384 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___384 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___384 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___384 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___384 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___384 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___384 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___384 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___384 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___384 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___384 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___384 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___384 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___384 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___384 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___384 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___384 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___384 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___384 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___384 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___384 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___384 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___384 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___384 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___384 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___384 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___384 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___384 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___384 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___384 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___384 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___384 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___384 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___384 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___384 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___384 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___384 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___384 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___384 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___384 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___384 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___384 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___384 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___384 = 1147,
    _CS_V6_ENV___384 = 1148,
    _CS_V7_ENV___384 = 1149
} ;
enum __anonenum_513775621___384 {
    DT_UNKNOWN___384 = 0,
    DT_FIFO___384 = 1,
    DT_CHR___384 = 2,
    DT_DIR___384 = 4,
    DT_BLK___384 = 6,
    DT_REG___384 = 8,
    DT_LNK___384 = 10,
    DT_SOCK___384 = 12,
    DT_WHT___384 = 14
} ;
enum __anonenum_77002343___384 {
    SI_ASYNCNL___384 = -60,
    SI_TKILL___384 = -6,
    SI_SIGIO___384 = -5,
    SI_ASYNCIO___384 = -4,
    SI_MESGQ___384 = -3,
    SI_TIMER___384 = -2,
    SI_QUEUE___384 = -1,
    SI_USER___384 = 0,
    SI_KERNEL___384 = 128
} ;
enum __anonenum_131038172___384 {
    ILL_ILLOPC___384 = 1,
    ILL_ILLOPN___384 = 2,
    ILL_ILLADR___384 = 3,
    ILL_ILLTRP___384 = 4,
    ILL_PRVOPC___384 = 5,
    ILL_PRVREG___384 = 6,
    ILL_COPROC___384 = 7,
    ILL_BADSTK___384 = 8
} ;
enum __anonenum_452038093___384 {
    FPE_INTDIV___384 = 1,
    FPE_INTOVF___384 = 2,
    FPE_FLTDIV___384 = 3,
    FPE_FLTOVF___384 = 4,
    FPE_FLTUND___384 = 5,
    FPE_FLTRES___384 = 6,
    FPE_FLTINV___384 = 7,
    FPE_FLTSUB___384 = 8
} ;
enum __anonenum_30976155___384 {
    SEGV_MAPERR___384 = 1,
    SEGV_ACCERR___384 = 2,
    SEGV_BNDERR___384 = 3,
    SEGV_PKUERR___384 = 4
} ;
enum __anonenum_1036286214___384 {
    BUS_ADRALN___384 = 1,
    BUS_ADRERR___384 = 2,
    BUS_OBJERR___384 = 3,
    BUS_MCEERR_AR___384 = 4,
    BUS_MCEERR_AO___384 = 5
} ;
enum __anonenum_493465559___384 {
    TRAP_BRKPT___384 = 1,
    TRAP_TRACE___384 = 2
} ;
enum __anonenum_23175539___384 {
    CLD_EXITED___384 = 1,
    CLD_KILLED___384 = 2,
    CLD_DUMPED___384 = 3,
    CLD_TRAPPED___384 = 4,
    CLD_STOPPED___384 = 5,
    CLD_CONTINUED___384 = 6
} ;
enum __anonenum_111643124___384 {
    POLL_IN___384 = 1,
    POLL_OUT___384 = 2,
    POLL_MSG___384 = 3,
    POLL_ERR___384 = 4,
    POLL_PRI___384 = 5,
    POLL_HUP___384 = 6
} ;
enum __anonenum_852341087___384 {
    SIGEV_SIGNAL___384 = 0,
    SIGEV_NONE___384 = 1,
    SIGEV_THREAD___384 = 2,
    SIGEV_THREAD_ID___384 = 4
} ;
enum __anonenum_451154152___384 {
    REG_R8___384 = 0,
    REG_R9___384 = 1,
    REG_R10___384 = 2,
    REG_R11___384 = 3,
    REG_R12___384 = 4,
    REG_R13___384 = 5,
    REG_R14___384 = 6,
    REG_R15___384 = 7,
    REG_RDI___384 = 8,
    REG_RSI___384 = 9,
    REG_RBP___384 = 10,
    REG_RBX___384 = 11,
    REG_RDX___384 = 12,
    REG_RAX___384 = 13,
    REG_RCX___384 = 14,
    REG_RSP___384 = 15,
    REG_RIP___384 = 16,
    REG_EFL___384 = 17,
    REG_CSGSFS___384 = 18,
    REG_ERR___384 = 19,
    REG_TRAPNO___384 = 20,
    REG_OLDMASK___384 = 21,
    REG_CR2___384 = 22
} ;
enum __anonenum_57186863___384 {
    SS_ONSTACK___384 = 1,
    SS_DISABLE___384 = 2
} ;
enum __anonenum_83571709___384 {
    MSG_OOB___384 = 1,
    MSG_PEEK___384 = 2,
    MSG_DONTROUTE___384 = 4,
    MSG_TRYHARD___384 = 4,
    MSG_CTRUNC___384 = 8,
    MSG_PROXY___384 = 16,
    MSG_TRUNC___384 = 32,
    MSG_DONTWAIT___384 = 64,
    MSG_EOR___384 = 128,
    MSG_WAITALL___384 = 256,
    MSG_FIN___384 = 512,
    MSG_SYN___384 = 1024,
    MSG_CONFIRM___384 = 2048,
    MSG_RST___384 = 4096,
    MSG_ERRQUEUE___384 = 8192,
    MSG_NOSIGNAL___384 = 16384,
    MSG_MORE___384 = 32768,
    MSG_WAITFORONE___384 = 65536,
    MSG_BATCH___384 = 262144,
    MSG_ZEROCOPY___384 = 67108864,
    MSG_FASTOPEN___384 = 536870912,
    MSG_CMSG_CLOEXEC___384 = 1073741824
} ;
enum __anonenum_617082774___384 {
    SCM_RIGHTS___384 = 1,
    SCM_CREDENTIALS___384 = 2
} ;
enum __anonenum_606441560___384 {
    SHUT_RD___384 = 0,
    SHUT_WR___384 = 1,
    SHUT_RDWR___384 = 2
} ;
enum __anonenum_681669233___384 {
    IPPROTO_IP___384 = 0,
    IPPROTO_ICMP___384 = 1,
    IPPROTO_IGMP___384 = 2,
    IPPROTO_IPIP___384 = 4,
    IPPROTO_TCP___384 = 6,
    IPPROTO_EGP___384 = 8,
    IPPROTO_PUP___384 = 12,
    IPPROTO_UDP___384 = 17,
    IPPROTO_IDP___384 = 22,
    IPPROTO_TP___384 = 29,
    IPPROTO_DCCP___384 = 33,
    IPPROTO_IPV6___384 = 41,
    IPPROTO_RSVP___384 = 46,
    IPPROTO_GRE___384 = 47,
    IPPROTO_ESP___384 = 50,
    IPPROTO_AH___384 = 51,
    IPPROTO_MTP___384 = 92,
    IPPROTO_BEETPH___384 = 94,
    IPPROTO_ENCAP___384 = 98,
    IPPROTO_PIM___384 = 103,
    IPPROTO_COMP___384 = 108,
    IPPROTO_SCTP___384 = 132,
    IPPROTO_UDPLITE___384 = 136,
    IPPROTO_MPLS___384 = 137,
    IPPROTO_RAW___384 = 255,
    IPPROTO_MAX___384 = 256
} ;
enum __anonenum_218739988___384 {
    IPPROTO_HOPOPTS___384 = 0,
    IPPROTO_ROUTING___384 = 43,
    IPPROTO_FRAGMENT___384 = 44,
    IPPROTO_ICMPV6___384 = 58,
    IPPROTO_NONE___384 = 59,
    IPPROTO_DSTOPTS___384 = 60,
    IPPROTO_MH___384 = 135
} ;
enum __anonenum_662268580___384 {
    IPPORT_ECHO___384 = 7,
    IPPORT_DISCARD___384 = 9,
    IPPORT_SYSTAT___384 = 11,
    IPPORT_DAYTIME___384 = 13,
    IPPORT_NETSTAT___384 = 15,
    IPPORT_FTP___384 = 21,
    IPPORT_TELNET___384 = 23,
    IPPORT_SMTP___384 = 25,
    IPPORT_TIMESERVER___384 = 37,
    IPPORT_NAMESERVER___384 = 42,
    IPPORT_WHOIS___384 = 43,
    IPPORT_MTP___384 = 57,
    IPPORT_TFTP___384 = 69,
    IPPORT_RJE___384 = 77,
    IPPORT_FINGER___384 = 79,
    IPPORT_TTYLINK___384 = 87,
    IPPORT_SUPDUP___384 = 95,
    IPPORT_EXECSERVER___384 = 512,
    IPPORT_LOGINSERVER___384 = 513,
    IPPORT_CMDSERVER___384 = 514,
    IPPORT_EFSSERVER___384 = 520,
    IPPORT_BIFFUDP___384 = 512,
    IPPORT_WHOSERVER___384 = 513,
    IPPORT_ROUTESERVER___384 = 520,
    IPPORT_RESERVED___384 = 1024,
    IPPORT_USERRESERVED___384 = 5000
} ;
enum __anonenum_788308992___384 {
    TCP_ESTABLISHED___384 = 1,
    TCP_SYN_SENT___384 = 2,
    TCP_SYN_RECV___384 = 3,
    TCP_FIN_WAIT1___384 = 4,
    TCP_FIN_WAIT2___384 = 5,
    TCP_TIME_WAIT___384 = 6,
    TCP_CLOSE___384 = 7,
    TCP_CLOSE_WAIT___384 = 8,
    TCP_LAST_ACK___384 = 9,
    TCP_LISTEN___384 = 10,
    TCP_CLOSING___384 = 11
} ;
enum __anonenum_221125648___384 {
    TCP_NO_QUEUE___384 = 0,
    TCP_RECV_QUEUE___384 = 1,
    TCP_SEND_QUEUE___384 = 2,
    TCP_QUEUES_NR___384 = 3
} ;
enum __anonenum_34415463___384 {
    PTHREAD_CREATE_JOINABLE___384 = 0,
    PTHREAD_CREATE_DETACHED___384 = 1
} ;
enum __anonenum_303612439___384 {
    PTHREAD_MUTEX_TIMED_NP___384 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___384 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___384 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___384 = 3,
    PTHREAD_MUTEX_NORMAL___384 = 0,
    PTHREAD_MUTEX_RECURSIVE___384 = 1,
    PTHREAD_MUTEX_ERRORCHECK___384 = 2,
    PTHREAD_MUTEX_DEFAULT___384 = 0,
    PTHREAD_MUTEX_FAST_NP___384 = 0
} ;
enum __anonenum_931900394___384 {
    PTHREAD_MUTEX_STALLED___384 = 0,
    PTHREAD_MUTEX_STALLED_NP___384 = 0,
    PTHREAD_MUTEX_ROBUST___384 = 1,
    PTHREAD_MUTEX_ROBUST_NP___384 = 1
} ;
enum __anonenum_205214487___384 {
    PTHREAD_PRIO_NONE___384 = 0,
    PTHREAD_PRIO_INHERIT___384 = 1,
    PTHREAD_PRIO_PROTECT___384 = 2
} ;
enum __anonenum_25043950___384 {
    PTHREAD_RWLOCK_PREFER_READER_NP___384 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___384 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___384 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___384 = 0
} ;
enum __anonenum_436439511___384 {
    PTHREAD_INHERIT_SCHED___384 = 0,
    PTHREAD_EXPLICIT_SCHED___384 = 1
} ;
enum __anonenum_998661166___384 {
    PTHREAD_SCOPE_SYSTEM___384 = 0,
    PTHREAD_SCOPE_PROCESS___384 = 1
} ;
enum __anonenum_146137331___384 {
    PTHREAD_PROCESS_PRIVATE___384 = 0,
    PTHREAD_PROCESS_SHARED___384 = 1
} ;
enum __anonenum_53396917___384 {
    PTHREAD_CANCEL_ENABLE___384 = 0,
    PTHREAD_CANCEL_DISABLE___384 = 1
} ;
enum __anonenum_904563783___384 {
    PTHREAD_CANCEL_DEFERRED___384 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___384 = 1
} ;
enum __anonenum_672052974___384 {
    SSL_CT_VALIDATION_PERMISSIVE___384 = 0,
    SSL_CT_VALIDATION_STRICT___384 = 1
} ;
struct git_var {
   char const   *name ;
   char const   *(*read)(int  ) ;
};
enum __anonenum_437032235___385 {
    _PC_LINK_MAX___385 = 0,
    _PC_MAX_CANON___385 = 1,
    _PC_MAX_INPUT___385 = 2,
    _PC_NAME_MAX___385 = 3,
    _PC_PATH_MAX___385 = 4,
    _PC_PIPE_BUF___385 = 5,
    _PC_CHOWN_RESTRICTED___385 = 6,
    _PC_NO_TRUNC___385 = 7,
    _PC_VDISABLE___385 = 8,
    _PC_SYNC_IO___385 = 9,
    _PC_ASYNC_IO___385 = 10,
    _PC_PRIO_IO___385 = 11,
    _PC_SOCK_MAXBUF___385 = 12,
    _PC_FILESIZEBITS___385 = 13,
    _PC_REC_INCR_XFER_SIZE___385 = 14,
    _PC_REC_MAX_XFER_SIZE___385 = 15,
    _PC_REC_MIN_XFER_SIZE___385 = 16,
    _PC_REC_XFER_ALIGN___385 = 17,
    _PC_ALLOC_SIZE_MIN___385 = 18,
    _PC_SYMLINK_MAX___385 = 19,
    _PC_2_SYMLINKS___385 = 20
} ;
enum __anonenum_315186338___385 {
    _SC_ARG_MAX___385 = 0,
    _SC_CHILD_MAX___385 = 1,
    _SC_CLK_TCK___385 = 2,
    _SC_NGROUPS_MAX___385 = 3,
    _SC_OPEN_MAX___385 = 4,
    _SC_STREAM_MAX___385 = 5,
    _SC_TZNAME_MAX___385 = 6,
    _SC_JOB_CONTROL___385 = 7,
    _SC_SAVED_IDS___385 = 8,
    _SC_REALTIME_SIGNALS___385 = 9,
    _SC_PRIORITY_SCHEDULING___385 = 10,
    _SC_TIMERS___385 = 11,
    _SC_ASYNCHRONOUS_IO___385 = 12,
    _SC_PRIORITIZED_IO___385 = 13,
    _SC_SYNCHRONIZED_IO___385 = 14,
    _SC_FSYNC___385 = 15,
    _SC_MAPPED_FILES___385 = 16,
    _SC_MEMLOCK___385 = 17,
    _SC_MEMLOCK_RANGE___385 = 18,
    _SC_MEMORY_PROTECTION___385 = 19,
    _SC_MESSAGE_PASSING___385 = 20,
    _SC_SEMAPHORES___385 = 21,
    _SC_SHARED_MEMORY_OBJECTS___385 = 22,
    _SC_AIO_LISTIO_MAX___385 = 23,
    _SC_AIO_MAX___385 = 24,
    _SC_AIO_PRIO_DELTA_MAX___385 = 25,
    _SC_DELAYTIMER_MAX___385 = 26,
    _SC_MQ_OPEN_MAX___385 = 27,
    _SC_MQ_PRIO_MAX___385 = 28,
    _SC_VERSION___385 = 29,
    _SC_PAGESIZE___385 = 30,
    _SC_RTSIG_MAX___385 = 31,
    _SC_SEM_NSEMS_MAX___385 = 32,
    _SC_SEM_VALUE_MAX___385 = 33,
    _SC_SIGQUEUE_MAX___385 = 34,
    _SC_TIMER_MAX___385 = 35,
    _SC_BC_BASE_MAX___385 = 36,
    _SC_BC_DIM_MAX___385 = 37,
    _SC_BC_SCALE_MAX___385 = 38,
    _SC_BC_STRING_MAX___385 = 39,
    _SC_COLL_WEIGHTS_MAX___385 = 40,
    _SC_EQUIV_CLASS_MAX___385 = 41,
    _SC_EXPR_NEST_MAX___385 = 42,
    _SC_LINE_MAX___385 = 43,
    _SC_RE_DUP_MAX___385 = 44,
    _SC_CHARCLASS_NAME_MAX___385 = 45,
    _SC_2_VERSION___385 = 46,
    _SC_2_C_BIND___385 = 47,
    _SC_2_C_DEV___385 = 48,
    _SC_2_FORT_DEV___385 = 49,
    _SC_2_FORT_RUN___385 = 50,
    _SC_2_SW_DEV___385 = 51,
    _SC_2_LOCALEDEF___385 = 52,
    _SC_PII___385 = 53,
    _SC_PII_XTI___385 = 54,
    _SC_PII_SOCKET___385 = 55,
    _SC_PII_INTERNET___385 = 56,
    _SC_PII_OSI___385 = 57,
    _SC_POLL___385 = 58,
    _SC_SELECT___385 = 59,
    _SC_UIO_MAXIOV___385 = 60,
    _SC_IOV_MAX___385 = 60,
    _SC_PII_INTERNET_STREAM___385 = 61,
    _SC_PII_INTERNET_DGRAM___385 = 62,
    _SC_PII_OSI_COTS___385 = 63,
    _SC_PII_OSI_CLTS___385 = 64,
    _SC_PII_OSI_M___385 = 65,
    _SC_T_IOV_MAX___385 = 66,
    _SC_THREADS___385 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___385 = 68,
    _SC_GETGR_R_SIZE_MAX___385 = 69,
    _SC_GETPW_R_SIZE_MAX___385 = 70,
    _SC_LOGIN_NAME_MAX___385 = 71,
    _SC_TTY_NAME_MAX___385 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___385 = 73,
    _SC_THREAD_KEYS_MAX___385 = 74,
    _SC_THREAD_STACK_MIN___385 = 75,
    _SC_THREAD_THREADS_MAX___385 = 76,
    _SC_THREAD_ATTR_STACKADDR___385 = 77,
    _SC_THREAD_ATTR_STACKSIZE___385 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___385 = 79,
    _SC_THREAD_PRIO_INHERIT___385 = 80,
    _SC_THREAD_PRIO_PROTECT___385 = 81,
    _SC_THREAD_PROCESS_SHARED___385 = 82,
    _SC_NPROCESSORS_CONF___385 = 83,
    _SC_NPROCESSORS_ONLN___385 = 84,
    _SC_PHYS_PAGES___385 = 85,
    _SC_AVPHYS_PAGES___385 = 86,
    _SC_ATEXIT_MAX___385 = 87,
    _SC_PASS_MAX___385 = 88,
    _SC_XOPEN_VERSION___385 = 89,
    _SC_XOPEN_XCU_VERSION___385 = 90,
    _SC_XOPEN_UNIX___385 = 91,
    _SC_XOPEN_CRYPT___385 = 92,
    _SC_XOPEN_ENH_I18N___385 = 93,
    _SC_XOPEN_SHM___385 = 94,
    _SC_2_CHAR_TERM___385 = 95,
    _SC_2_C_VERSION___385 = 96,
    _SC_2_UPE___385 = 97,
    _SC_XOPEN_XPG2___385 = 98,
    _SC_XOPEN_XPG3___385 = 99,
    _SC_XOPEN_XPG4___385 = 100,
    _SC_CHAR_BIT___385 = 101,
    _SC_CHAR_MAX___385 = 102,
    _SC_CHAR_MIN___385 = 103,
    _SC_INT_MAX___385 = 104,
    _SC_INT_MIN___385 = 105,
    _SC_LONG_BIT___385 = 106,
    _SC_WORD_BIT___385 = 107,
    _SC_MB_LEN_MAX___385 = 108,
    _SC_NZERO___385 = 109,
    _SC_SSIZE_MAX___385 = 110,
    _SC_SCHAR_MAX___385 = 111,
    _SC_SCHAR_MIN___385 = 112,
    _SC_SHRT_MAX___385 = 113,
    _SC_SHRT_MIN___385 = 114,
    _SC_UCHAR_MAX___385 = 115,
    _SC_UINT_MAX___385 = 116,
    _SC_ULONG_MAX___385 = 117,
    _SC_USHRT_MAX___385 = 118,
    _SC_NL_ARGMAX___385 = 119,
    _SC_NL_LANGMAX___385 = 120,
    _SC_NL_MSGMAX___385 = 121,
    _SC_NL_NMAX___385 = 122,
    _SC_NL_SETMAX___385 = 123,
    _SC_NL_TEXTMAX___385 = 124,
    _SC_XBS5_ILP32_OFF32___385 = 125,
    _SC_XBS5_ILP32_OFFBIG___385 = 126,
    _SC_XBS5_LP64_OFF64___385 = 127,
    _SC_XBS5_LPBIG_OFFBIG___385 = 128,
    _SC_XOPEN_LEGACY___385 = 129,
    _SC_XOPEN_REALTIME___385 = 130,
    _SC_XOPEN_REALTIME_THREADS___385 = 131,
    _SC_ADVISORY_INFO___385 = 132,
    _SC_BARRIERS___385 = 133,
    _SC_BASE___385 = 134,
    _SC_C_LANG_SUPPORT___385 = 135,
    _SC_C_LANG_SUPPORT_R___385 = 136,
    _SC_CLOCK_SELECTION___385 = 137,
    _SC_CPUTIME___385 = 138,
    _SC_THREAD_CPUTIME___385 = 139,
    _SC_DEVICE_IO___385 = 140,
    _SC_DEVICE_SPECIFIC___385 = 141,
    _SC_DEVICE_SPECIFIC_R___385 = 142,
    _SC_FD_MGMT___385 = 143,
    _SC_FIFO___385 = 144,
    _SC_PIPE___385 = 145,
    _SC_FILE_ATTRIBUTES___385 = 146,
    _SC_FILE_LOCKING___385 = 147,
    _SC_FILE_SYSTEM___385 = 148,
    _SC_MONOTONIC_CLOCK___385 = 149,
    _SC_MULTI_PROCESS___385 = 150,
    _SC_SINGLE_PROCESS___385 = 151,
    _SC_NETWORKING___385 = 152,
    _SC_READER_WRITER_LOCKS___385 = 153,
    _SC_SPIN_LOCKS___385 = 154,
    _SC_REGEXP___385 = 155,
    _SC_REGEX_VERSION___385 = 156,
    _SC_SHELL___385 = 157,
    _SC_SIGNALS___385 = 158,
    _SC_SPAWN___385 = 159,
    _SC_SPORADIC_SERVER___385 = 160,
    _SC_THREAD_SPORADIC_SERVER___385 = 161,
    _SC_SYSTEM_DATABASE___385 = 162,
    _SC_SYSTEM_DATABASE_R___385 = 163,
    _SC_TIMEOUTS___385 = 164,
    _SC_TYPED_MEMORY_OBJECTS___385 = 165,
    _SC_USER_GROUPS___385 = 166,
    _SC_USER_GROUPS_R___385 = 167,
    _SC_2_PBS___385 = 168,
    _SC_2_PBS_ACCOUNTING___385 = 169,
    _SC_2_PBS_LOCATE___385 = 170,
    _SC_2_PBS_MESSAGE___385 = 171,
    _SC_2_PBS_TRACK___385 = 172,
    _SC_SYMLOOP_MAX___385 = 173,
    _SC_STREAMS___385 = 174,
    _SC_2_PBS_CHECKPOINT___385 = 175,
    _SC_V6_ILP32_OFF32___385 = 176,
    _SC_V6_ILP32_OFFBIG___385 = 177,
    _SC_V6_LP64_OFF64___385 = 178,
    _SC_V6_LPBIG_OFFBIG___385 = 179,
    _SC_HOST_NAME_MAX___385 = 180,
    _SC_TRACE___385 = 181,
    _SC_TRACE_EVENT_FILTER___385 = 182,
    _SC_TRACE_INHERIT___385 = 183,
    _SC_TRACE_LOG___385 = 184,
    _SC_LEVEL1_ICACHE_SIZE___385 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___385 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___385 = 187,
    _SC_LEVEL1_DCACHE_SIZE___385 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___385 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___385 = 190,
    _SC_LEVEL2_CACHE_SIZE___385 = 191,
    _SC_LEVEL2_CACHE_ASSOC___385 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___385 = 193,
    _SC_LEVEL3_CACHE_SIZE___385 = 194,
    _SC_LEVEL3_CACHE_ASSOC___385 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___385 = 196,
    _SC_LEVEL4_CACHE_SIZE___385 = 197,
    _SC_LEVEL4_CACHE_ASSOC___385 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___385 = 199,
    _SC_IPV6___385 = 235,
    _SC_RAW_SOCKETS___385 = 236,
    _SC_V7_ILP32_OFF32___385 = 237,
    _SC_V7_ILP32_OFFBIG___385 = 238,
    _SC_V7_LP64_OFF64___385 = 239,
    _SC_V7_LPBIG_OFFBIG___385 = 240,
    _SC_SS_REPL_MAX___385 = 241,
    _SC_TRACE_EVENT_NAME_MAX___385 = 242,
    _SC_TRACE_NAME_MAX___385 = 243,
    _SC_TRACE_SYS_MAX___385 = 244,
    _SC_TRACE_USER_EVENT_MAX___385 = 245,
    _SC_XOPEN_STREAMS___385 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___385 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___385 = 248
} ;
enum __anonenum_875524036___385 {
    _CS_PATH___385 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___385 = 1,
    _CS_GNU_LIBC_VERSION___385 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___385 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___385 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___385 = 5,
    _CS_LFS_CFLAGS___385 = 1000,
    _CS_LFS_LDFLAGS___385 = 1001,
    _CS_LFS_LIBS___385 = 1002,
    _CS_LFS_LINTFLAGS___385 = 1003,
    _CS_LFS64_CFLAGS___385 = 1004,
    _CS_LFS64_LDFLAGS___385 = 1005,
    _CS_LFS64_LIBS___385 = 1006,
    _CS_LFS64_LINTFLAGS___385 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___385 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___385 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___385 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___385 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___385 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___385 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___385 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___385 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___385 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___385 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___385 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___385 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___385 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___385 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___385 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___385 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___385 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___385 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___385 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___385 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___385 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___385 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___385 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___385 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___385 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___385 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___385 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___385 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___385 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___385 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___385 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___385 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___385 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___385 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___385 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___385 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___385 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___385 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___385 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___385 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___385 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___385 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___385 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___385 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___385 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___385 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___385 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___385 = 1147,
    _CS_V6_ENV___385 = 1148,
    _CS_V7_ENV___385 = 1149
} ;
enum __anonenum_513775621___385 {
    DT_UNKNOWN___385 = 0,
    DT_FIFO___385 = 1,
    DT_CHR___385 = 2,
    DT_DIR___385 = 4,
    DT_BLK___385 = 6,
    DT_REG___385 = 8,
    DT_LNK___385 = 10,
    DT_SOCK___385 = 12,
    DT_WHT___385 = 14
} ;
enum __anonenum_77002343___385 {
    SI_ASYNCNL___385 = -60,
    SI_TKILL___385 = -6,
    SI_SIGIO___385 = -5,
    SI_ASYNCIO___385 = -4,
    SI_MESGQ___385 = -3,
    SI_TIMER___385 = -2,
    SI_QUEUE___385 = -1,
    SI_USER___385 = 0,
    SI_KERNEL___385 = 128
} ;
enum __anonenum_131038172___385 {
    ILL_ILLOPC___385 = 1,
    ILL_ILLOPN___385 = 2,
    ILL_ILLADR___385 = 3,
    ILL_ILLTRP___385 = 4,
    ILL_PRVOPC___385 = 5,
    ILL_PRVREG___385 = 6,
    ILL_COPROC___385 = 7,
    ILL_BADSTK___385 = 8
} ;
enum __anonenum_452038093___385 {
    FPE_INTDIV___385 = 1,
    FPE_INTOVF___385 = 2,
    FPE_FLTDIV___385 = 3,
    FPE_FLTOVF___385 = 4,
    FPE_FLTUND___385 = 5,
    FPE_FLTRES___385 = 6,
    FPE_FLTINV___385 = 7,
    FPE_FLTSUB___385 = 8
} ;
enum __anonenum_30976155___385 {
    SEGV_MAPERR___385 = 1,
    SEGV_ACCERR___385 = 2,
    SEGV_BNDERR___385 = 3,
    SEGV_PKUERR___385 = 4
} ;
enum __anonenum_1036286214___385 {
    BUS_ADRALN___385 = 1,
    BUS_ADRERR___385 = 2,
    BUS_OBJERR___385 = 3,
    BUS_MCEERR_AR___385 = 4,
    BUS_MCEERR_AO___385 = 5
} ;
enum __anonenum_493465559___385 {
    TRAP_BRKPT___385 = 1,
    TRAP_TRACE___385 = 2
} ;
enum __anonenum_23175539___385 {
    CLD_EXITED___385 = 1,
    CLD_KILLED___385 = 2,
    CLD_DUMPED___385 = 3,
    CLD_TRAPPED___385 = 4,
    CLD_STOPPED___385 = 5,
    CLD_CONTINUED___385 = 6
} ;
enum __anonenum_111643124___385 {
    POLL_IN___385 = 1,
    POLL_OUT___385 = 2,
    POLL_MSG___385 = 3,
    POLL_ERR___385 = 4,
    POLL_PRI___385 = 5,
    POLL_HUP___385 = 6
} ;
enum __anonenum_852341087___385 {
    SIGEV_SIGNAL___385 = 0,
    SIGEV_NONE___385 = 1,
    SIGEV_THREAD___385 = 2,
    SIGEV_THREAD_ID___385 = 4
} ;
enum __anonenum_451154152___385 {
    REG_R8___385 = 0,
    REG_R9___385 = 1,
    REG_R10___385 = 2,
    REG_R11___385 = 3,
    REG_R12___385 = 4,
    REG_R13___385 = 5,
    REG_R14___385 = 6,
    REG_R15___385 = 7,
    REG_RDI___385 = 8,
    REG_RSI___385 = 9,
    REG_RBP___385 = 10,
    REG_RBX___385 = 11,
    REG_RDX___385 = 12,
    REG_RAX___385 = 13,
    REG_RCX___385 = 14,
    REG_RSP___385 = 15,
    REG_RIP___385 = 16,
    REG_EFL___385 = 17,
    REG_CSGSFS___385 = 18,
    REG_ERR___385 = 19,
    REG_TRAPNO___385 = 20,
    REG_OLDMASK___385 = 21,
    REG_CR2___385 = 22
} ;
enum __anonenum_57186863___385 {
    SS_ONSTACK___385 = 1,
    SS_DISABLE___385 = 2
} ;
enum __anonenum_83571709___385 {
    MSG_OOB___385 = 1,
    MSG_PEEK___385 = 2,
    MSG_DONTROUTE___385 = 4,
    MSG_TRYHARD___385 = 4,
    MSG_CTRUNC___385 = 8,
    MSG_PROXY___385 = 16,
    MSG_TRUNC___385 = 32,
    MSG_DONTWAIT___385 = 64,
    MSG_EOR___385 = 128,
    MSG_WAITALL___385 = 256,
    MSG_FIN___385 = 512,
    MSG_SYN___385 = 1024,
    MSG_CONFIRM___385 = 2048,
    MSG_RST___385 = 4096,
    MSG_ERRQUEUE___385 = 8192,
    MSG_NOSIGNAL___385 = 16384,
    MSG_MORE___385 = 32768,
    MSG_WAITFORONE___385 = 65536,
    MSG_BATCH___385 = 262144,
    MSG_ZEROCOPY___385 = 67108864,
    MSG_FASTOPEN___385 = 536870912,
    MSG_CMSG_CLOEXEC___385 = 1073741824
} ;
enum __anonenum_617082774___385 {
    SCM_RIGHTS___385 = 1,
    SCM_CREDENTIALS___385 = 2
} ;
enum __anonenum_606441560___385 {
    SHUT_RD___385 = 0,
    SHUT_WR___385 = 1,
    SHUT_RDWR___385 = 2
} ;
enum __anonenum_681669233___385 {
    IPPROTO_IP___385 = 0,
    IPPROTO_ICMP___385 = 1,
    IPPROTO_IGMP___385 = 2,
    IPPROTO_IPIP___385 = 4,
    IPPROTO_TCP___385 = 6,
    IPPROTO_EGP___385 = 8,
    IPPROTO_PUP___385 = 12,
    IPPROTO_UDP___385 = 17,
    IPPROTO_IDP___385 = 22,
    IPPROTO_TP___385 = 29,
    IPPROTO_DCCP___385 = 33,
    IPPROTO_IPV6___385 = 41,
    IPPROTO_RSVP___385 = 46,
    IPPROTO_GRE___385 = 47,
    IPPROTO_ESP___385 = 50,
    IPPROTO_AH___385 = 51,
    IPPROTO_MTP___385 = 92,
    IPPROTO_BEETPH___385 = 94,
    IPPROTO_ENCAP___385 = 98,
    IPPROTO_PIM___385 = 103,
    IPPROTO_COMP___385 = 108,
    IPPROTO_SCTP___385 = 132,
    IPPROTO_UDPLITE___385 = 136,
    IPPROTO_MPLS___385 = 137,
    IPPROTO_RAW___385 = 255,
    IPPROTO_MAX___385 = 256
} ;
enum __anonenum_218739988___385 {
    IPPROTO_HOPOPTS___385 = 0,
    IPPROTO_ROUTING___385 = 43,
    IPPROTO_FRAGMENT___385 = 44,
    IPPROTO_ICMPV6___385 = 58,
    IPPROTO_NONE___385 = 59,
    IPPROTO_DSTOPTS___385 = 60,
    IPPROTO_MH___385 = 135
} ;
enum __anonenum_662268580___385 {
    IPPORT_ECHO___385 = 7,
    IPPORT_DISCARD___385 = 9,
    IPPORT_SYSTAT___385 = 11,
    IPPORT_DAYTIME___385 = 13,
    IPPORT_NETSTAT___385 = 15,
    IPPORT_FTP___385 = 21,
    IPPORT_TELNET___385 = 23,
    IPPORT_SMTP___385 = 25,
    IPPORT_TIMESERVER___385 = 37,
    IPPORT_NAMESERVER___385 = 42,
    IPPORT_WHOIS___385 = 43,
    IPPORT_MTP___385 = 57,
    IPPORT_TFTP___385 = 69,
    IPPORT_RJE___385 = 77,
    IPPORT_FINGER___385 = 79,
    IPPORT_TTYLINK___385 = 87,
    IPPORT_SUPDUP___385 = 95,
    IPPORT_EXECSERVER___385 = 512,
    IPPORT_LOGINSERVER___385 = 513,
    IPPORT_CMDSERVER___385 = 514,
    IPPORT_EFSSERVER___385 = 520,
    IPPORT_BIFFUDP___385 = 512,
    IPPORT_WHOSERVER___385 = 513,
    IPPORT_ROUTESERVER___385 = 520,
    IPPORT_RESERVED___385 = 1024,
    IPPORT_USERRESERVED___385 = 5000
} ;
enum __anonenum_788308992___385 {
    TCP_ESTABLISHED___385 = 1,
    TCP_SYN_SENT___385 = 2,
    TCP_SYN_RECV___385 = 3,
    TCP_FIN_WAIT1___385 = 4,
    TCP_FIN_WAIT2___385 = 5,
    TCP_TIME_WAIT___385 = 6,
    TCP_CLOSE___385 = 7,
    TCP_CLOSE_WAIT___385 = 8,
    TCP_LAST_ACK___385 = 9,
    TCP_LISTEN___385 = 10,
    TCP_CLOSING___385 = 11
} ;
enum __anonenum_221125648___385 {
    TCP_NO_QUEUE___385 = 0,
    TCP_RECV_QUEUE___385 = 1,
    TCP_SEND_QUEUE___385 = 2,
    TCP_QUEUES_NR___385 = 3
} ;
enum __anonenum_34415463___385 {
    PTHREAD_CREATE_JOINABLE___385 = 0,
    PTHREAD_CREATE_DETACHED___385 = 1
} ;
enum __anonenum_303612439___385 {
    PTHREAD_MUTEX_TIMED_NP___385 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___385 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___385 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___385 = 3,
    PTHREAD_MUTEX_NORMAL___385 = 0,
    PTHREAD_MUTEX_RECURSIVE___385 = 1,
    PTHREAD_MUTEX_ERRORCHECK___385 = 2,
    PTHREAD_MUTEX_DEFAULT___385 = 0,
    PTHREAD_MUTEX_FAST_NP___385 = 0
} ;
enum __anonenum_931900394___385 {
    PTHREAD_MUTEX_STALLED___385 = 0,
    PTHREAD_MUTEX_STALLED_NP___385 = 0,
    PTHREAD_MUTEX_ROBUST___385 = 1,
    PTHREAD_MUTEX_ROBUST_NP___385 = 1
} ;
enum __anonenum_205214487___385 {
    PTHREAD_PRIO_NONE___385 = 0,
    PTHREAD_PRIO_INHERIT___385 = 1,
    PTHREAD_PRIO_PROTECT___385 = 2
} ;
enum __anonenum_25043950___385 {
    PTHREAD_RWLOCK_PREFER_READER_NP___385 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___385 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___385 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___385 = 0
} ;
enum __anonenum_436439511___385 {
    PTHREAD_INHERIT_SCHED___385 = 0,
    PTHREAD_EXPLICIT_SCHED___385 = 1
} ;
enum __anonenum_998661166___385 {
    PTHREAD_SCOPE_SYSTEM___385 = 0,
    PTHREAD_SCOPE_PROCESS___385 = 1
} ;
enum __anonenum_146137331___385 {
    PTHREAD_PROCESS_PRIVATE___385 = 0,
    PTHREAD_PROCESS_SHARED___385 = 1
} ;
enum __anonenum_53396917___385 {
    PTHREAD_CANCEL_ENABLE___385 = 0,
    PTHREAD_CANCEL_DISABLE___385 = 1
} ;
enum __anonenum_904563783___385 {
    PTHREAD_CANCEL_DEFERRED___385 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___385 = 1
} ;
enum __anonenum_672052974___385 {
    SSL_CT_VALIDATION_PERMISSIVE___385 = 0,
    SSL_CT_VALIDATION_STRICT___385 = 1
} ;
enum __anonenum_437032235___386 {
    _PC_LINK_MAX___386 = 0,
    _PC_MAX_CANON___386 = 1,
    _PC_MAX_INPUT___386 = 2,
    _PC_NAME_MAX___386 = 3,
    _PC_PATH_MAX___386 = 4,
    _PC_PIPE_BUF___386 = 5,
    _PC_CHOWN_RESTRICTED___386 = 6,
    _PC_NO_TRUNC___386 = 7,
    _PC_VDISABLE___386 = 8,
    _PC_SYNC_IO___386 = 9,
    _PC_ASYNC_IO___386 = 10,
    _PC_PRIO_IO___386 = 11,
    _PC_SOCK_MAXBUF___386 = 12,
    _PC_FILESIZEBITS___386 = 13,
    _PC_REC_INCR_XFER_SIZE___386 = 14,
    _PC_REC_MAX_XFER_SIZE___386 = 15,
    _PC_REC_MIN_XFER_SIZE___386 = 16,
    _PC_REC_XFER_ALIGN___386 = 17,
    _PC_ALLOC_SIZE_MIN___386 = 18,
    _PC_SYMLINK_MAX___386 = 19,
    _PC_2_SYMLINKS___386 = 20
} ;
enum __anonenum_315186338___386 {
    _SC_ARG_MAX___386 = 0,
    _SC_CHILD_MAX___386 = 1,
    _SC_CLK_TCK___386 = 2,
    _SC_NGROUPS_MAX___386 = 3,
    _SC_OPEN_MAX___386 = 4,
    _SC_STREAM_MAX___386 = 5,
    _SC_TZNAME_MAX___386 = 6,
    _SC_JOB_CONTROL___386 = 7,
    _SC_SAVED_IDS___386 = 8,
    _SC_REALTIME_SIGNALS___386 = 9,
    _SC_PRIORITY_SCHEDULING___386 = 10,
    _SC_TIMERS___386 = 11,
    _SC_ASYNCHRONOUS_IO___386 = 12,
    _SC_PRIORITIZED_IO___386 = 13,
    _SC_SYNCHRONIZED_IO___386 = 14,
    _SC_FSYNC___386 = 15,
    _SC_MAPPED_FILES___386 = 16,
    _SC_MEMLOCK___386 = 17,
    _SC_MEMLOCK_RANGE___386 = 18,
    _SC_MEMORY_PROTECTION___386 = 19,
    _SC_MESSAGE_PASSING___386 = 20,
    _SC_SEMAPHORES___386 = 21,
    _SC_SHARED_MEMORY_OBJECTS___386 = 22,
    _SC_AIO_LISTIO_MAX___386 = 23,
    _SC_AIO_MAX___386 = 24,
    _SC_AIO_PRIO_DELTA_MAX___386 = 25,
    _SC_DELAYTIMER_MAX___386 = 26,
    _SC_MQ_OPEN_MAX___386 = 27,
    _SC_MQ_PRIO_MAX___386 = 28,
    _SC_VERSION___386 = 29,
    _SC_PAGESIZE___386 = 30,
    _SC_RTSIG_MAX___386 = 31,
    _SC_SEM_NSEMS_MAX___386 = 32,
    _SC_SEM_VALUE_MAX___386 = 33,
    _SC_SIGQUEUE_MAX___386 = 34,
    _SC_TIMER_MAX___386 = 35,
    _SC_BC_BASE_MAX___386 = 36,
    _SC_BC_DIM_MAX___386 = 37,
    _SC_BC_SCALE_MAX___386 = 38,
    _SC_BC_STRING_MAX___386 = 39,
    _SC_COLL_WEIGHTS_MAX___386 = 40,
    _SC_EQUIV_CLASS_MAX___386 = 41,
    _SC_EXPR_NEST_MAX___386 = 42,
    _SC_LINE_MAX___386 = 43,
    _SC_RE_DUP_MAX___386 = 44,
    _SC_CHARCLASS_NAME_MAX___386 = 45,
    _SC_2_VERSION___386 = 46,
    _SC_2_C_BIND___386 = 47,
    _SC_2_C_DEV___386 = 48,
    _SC_2_FORT_DEV___386 = 49,
    _SC_2_FORT_RUN___386 = 50,
    _SC_2_SW_DEV___386 = 51,
    _SC_2_LOCALEDEF___386 = 52,
    _SC_PII___386 = 53,
    _SC_PII_XTI___386 = 54,
    _SC_PII_SOCKET___386 = 55,
    _SC_PII_INTERNET___386 = 56,
    _SC_PII_OSI___386 = 57,
    _SC_POLL___386 = 58,
    _SC_SELECT___386 = 59,
    _SC_UIO_MAXIOV___386 = 60,
    _SC_IOV_MAX___386 = 60,
    _SC_PII_INTERNET_STREAM___386 = 61,
    _SC_PII_INTERNET_DGRAM___386 = 62,
    _SC_PII_OSI_COTS___386 = 63,
    _SC_PII_OSI_CLTS___386 = 64,
    _SC_PII_OSI_M___386 = 65,
    _SC_T_IOV_MAX___386 = 66,
    _SC_THREADS___386 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___386 = 68,
    _SC_GETGR_R_SIZE_MAX___386 = 69,
    _SC_GETPW_R_SIZE_MAX___386 = 70,
    _SC_LOGIN_NAME_MAX___386 = 71,
    _SC_TTY_NAME_MAX___386 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___386 = 73,
    _SC_THREAD_KEYS_MAX___386 = 74,
    _SC_THREAD_STACK_MIN___386 = 75,
    _SC_THREAD_THREADS_MAX___386 = 76,
    _SC_THREAD_ATTR_STACKADDR___386 = 77,
    _SC_THREAD_ATTR_STACKSIZE___386 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___386 = 79,
    _SC_THREAD_PRIO_INHERIT___386 = 80,
    _SC_THREAD_PRIO_PROTECT___386 = 81,
    _SC_THREAD_PROCESS_SHARED___386 = 82,
    _SC_NPROCESSORS_CONF___386 = 83,
    _SC_NPROCESSORS_ONLN___386 = 84,
    _SC_PHYS_PAGES___386 = 85,
    _SC_AVPHYS_PAGES___386 = 86,
    _SC_ATEXIT_MAX___386 = 87,
    _SC_PASS_MAX___386 = 88,
    _SC_XOPEN_VERSION___386 = 89,
    _SC_XOPEN_XCU_VERSION___386 = 90,
    _SC_XOPEN_UNIX___386 = 91,
    _SC_XOPEN_CRYPT___386 = 92,
    _SC_XOPEN_ENH_I18N___386 = 93,
    _SC_XOPEN_SHM___386 = 94,
    _SC_2_CHAR_TERM___386 = 95,
    _SC_2_C_VERSION___386 = 96,
    _SC_2_UPE___386 = 97,
    _SC_XOPEN_XPG2___386 = 98,
    _SC_XOPEN_XPG3___386 = 99,
    _SC_XOPEN_XPG4___386 = 100,
    _SC_CHAR_BIT___386 = 101,
    _SC_CHAR_MAX___386 = 102,
    _SC_CHAR_MIN___386 = 103,
    _SC_INT_MAX___386 = 104,
    _SC_INT_MIN___386 = 105,
    _SC_LONG_BIT___386 = 106,
    _SC_WORD_BIT___386 = 107,
    _SC_MB_LEN_MAX___386 = 108,
    _SC_NZERO___386 = 109,
    _SC_SSIZE_MAX___386 = 110,
    _SC_SCHAR_MAX___386 = 111,
    _SC_SCHAR_MIN___386 = 112,
    _SC_SHRT_MAX___386 = 113,
    _SC_SHRT_MIN___386 = 114,
    _SC_UCHAR_MAX___386 = 115,
    _SC_UINT_MAX___386 = 116,
    _SC_ULONG_MAX___386 = 117,
    _SC_USHRT_MAX___386 = 118,
    _SC_NL_ARGMAX___386 = 119,
    _SC_NL_LANGMAX___386 = 120,
    _SC_NL_MSGMAX___386 = 121,
    _SC_NL_NMAX___386 = 122,
    _SC_NL_SETMAX___386 = 123,
    _SC_NL_TEXTMAX___386 = 124,
    _SC_XBS5_ILP32_OFF32___386 = 125,
    _SC_XBS5_ILP32_OFFBIG___386 = 126,
    _SC_XBS5_LP64_OFF64___386 = 127,
    _SC_XBS5_LPBIG_OFFBIG___386 = 128,
    _SC_XOPEN_LEGACY___386 = 129,
    _SC_XOPEN_REALTIME___386 = 130,
    _SC_XOPEN_REALTIME_THREADS___386 = 131,
    _SC_ADVISORY_INFO___386 = 132,
    _SC_BARRIERS___386 = 133,
    _SC_BASE___386 = 134,
    _SC_C_LANG_SUPPORT___386 = 135,
    _SC_C_LANG_SUPPORT_R___386 = 136,
    _SC_CLOCK_SELECTION___386 = 137,
    _SC_CPUTIME___386 = 138,
    _SC_THREAD_CPUTIME___386 = 139,
    _SC_DEVICE_IO___386 = 140,
    _SC_DEVICE_SPECIFIC___386 = 141,
    _SC_DEVICE_SPECIFIC_R___386 = 142,
    _SC_FD_MGMT___386 = 143,
    _SC_FIFO___386 = 144,
    _SC_PIPE___386 = 145,
    _SC_FILE_ATTRIBUTES___386 = 146,
    _SC_FILE_LOCKING___386 = 147,
    _SC_FILE_SYSTEM___386 = 148,
    _SC_MONOTONIC_CLOCK___386 = 149,
    _SC_MULTI_PROCESS___386 = 150,
    _SC_SINGLE_PROCESS___386 = 151,
    _SC_NETWORKING___386 = 152,
    _SC_READER_WRITER_LOCKS___386 = 153,
    _SC_SPIN_LOCKS___386 = 154,
    _SC_REGEXP___386 = 155,
    _SC_REGEX_VERSION___386 = 156,
    _SC_SHELL___386 = 157,
    _SC_SIGNALS___386 = 158,
    _SC_SPAWN___386 = 159,
    _SC_SPORADIC_SERVER___386 = 160,
    _SC_THREAD_SPORADIC_SERVER___386 = 161,
    _SC_SYSTEM_DATABASE___386 = 162,
    _SC_SYSTEM_DATABASE_R___386 = 163,
    _SC_TIMEOUTS___386 = 164,
    _SC_TYPED_MEMORY_OBJECTS___386 = 165,
    _SC_USER_GROUPS___386 = 166,
    _SC_USER_GROUPS_R___386 = 167,
    _SC_2_PBS___386 = 168,
    _SC_2_PBS_ACCOUNTING___386 = 169,
    _SC_2_PBS_LOCATE___386 = 170,
    _SC_2_PBS_MESSAGE___386 = 171,
    _SC_2_PBS_TRACK___386 = 172,
    _SC_SYMLOOP_MAX___386 = 173,
    _SC_STREAMS___386 = 174,
    _SC_2_PBS_CHECKPOINT___386 = 175,
    _SC_V6_ILP32_OFF32___386 = 176,
    _SC_V6_ILP32_OFFBIG___386 = 177,
    _SC_V6_LP64_OFF64___386 = 178,
    _SC_V6_LPBIG_OFFBIG___386 = 179,
    _SC_HOST_NAME_MAX___386 = 180,
    _SC_TRACE___386 = 181,
    _SC_TRACE_EVENT_FILTER___386 = 182,
    _SC_TRACE_INHERIT___386 = 183,
    _SC_TRACE_LOG___386 = 184,
    _SC_LEVEL1_ICACHE_SIZE___386 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___386 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___386 = 187,
    _SC_LEVEL1_DCACHE_SIZE___386 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___386 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___386 = 190,
    _SC_LEVEL2_CACHE_SIZE___386 = 191,
    _SC_LEVEL2_CACHE_ASSOC___386 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___386 = 193,
    _SC_LEVEL3_CACHE_SIZE___386 = 194,
    _SC_LEVEL3_CACHE_ASSOC___386 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___386 = 196,
    _SC_LEVEL4_CACHE_SIZE___386 = 197,
    _SC_LEVEL4_CACHE_ASSOC___386 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___386 = 199,
    _SC_IPV6___386 = 235,
    _SC_RAW_SOCKETS___386 = 236,
    _SC_V7_ILP32_OFF32___386 = 237,
    _SC_V7_ILP32_OFFBIG___386 = 238,
    _SC_V7_LP64_OFF64___386 = 239,
    _SC_V7_LPBIG_OFFBIG___386 = 240,
    _SC_SS_REPL_MAX___386 = 241,
    _SC_TRACE_EVENT_NAME_MAX___386 = 242,
    _SC_TRACE_NAME_MAX___386 = 243,
    _SC_TRACE_SYS_MAX___386 = 244,
    _SC_TRACE_USER_EVENT_MAX___386 = 245,
    _SC_XOPEN_STREAMS___386 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___386 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___386 = 248
} ;
enum __anonenum_875524036___386 {
    _CS_PATH___386 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___386 = 1,
    _CS_GNU_LIBC_VERSION___386 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___386 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___386 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___386 = 5,
    _CS_LFS_CFLAGS___386 = 1000,
    _CS_LFS_LDFLAGS___386 = 1001,
    _CS_LFS_LIBS___386 = 1002,
    _CS_LFS_LINTFLAGS___386 = 1003,
    _CS_LFS64_CFLAGS___386 = 1004,
    _CS_LFS64_LDFLAGS___386 = 1005,
    _CS_LFS64_LIBS___386 = 1006,
    _CS_LFS64_LINTFLAGS___386 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___386 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___386 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___386 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___386 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___386 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___386 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___386 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___386 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___386 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___386 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___386 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___386 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___386 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___386 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___386 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___386 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___386 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___386 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___386 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___386 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___386 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___386 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___386 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___386 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___386 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___386 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___386 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___386 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___386 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___386 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___386 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___386 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___386 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___386 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___386 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___386 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___386 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___386 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___386 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___386 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___386 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___386 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___386 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___386 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___386 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___386 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___386 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___386 = 1147,
    _CS_V6_ENV___386 = 1148,
    _CS_V7_ENV___386 = 1149
} ;
enum __anonenum_513775621___386 {
    DT_UNKNOWN___386 = 0,
    DT_FIFO___386 = 1,
    DT_CHR___386 = 2,
    DT_DIR___386 = 4,
    DT_BLK___386 = 6,
    DT_REG___386 = 8,
    DT_LNK___386 = 10,
    DT_SOCK___386 = 12,
    DT_WHT___386 = 14
} ;
enum __anonenum_77002343___386 {
    SI_ASYNCNL___386 = -60,
    SI_TKILL___386 = -6,
    SI_SIGIO___386 = -5,
    SI_ASYNCIO___386 = -4,
    SI_MESGQ___386 = -3,
    SI_TIMER___386 = -2,
    SI_QUEUE___386 = -1,
    SI_USER___386 = 0,
    SI_KERNEL___386 = 128
} ;
enum __anonenum_131038172___386 {
    ILL_ILLOPC___386 = 1,
    ILL_ILLOPN___386 = 2,
    ILL_ILLADR___386 = 3,
    ILL_ILLTRP___386 = 4,
    ILL_PRVOPC___386 = 5,
    ILL_PRVREG___386 = 6,
    ILL_COPROC___386 = 7,
    ILL_BADSTK___386 = 8
} ;
enum __anonenum_452038093___386 {
    FPE_INTDIV___386 = 1,
    FPE_INTOVF___386 = 2,
    FPE_FLTDIV___386 = 3,
    FPE_FLTOVF___386 = 4,
    FPE_FLTUND___386 = 5,
    FPE_FLTRES___386 = 6,
    FPE_FLTINV___386 = 7,
    FPE_FLTSUB___386 = 8
} ;
enum __anonenum_30976155___386 {
    SEGV_MAPERR___386 = 1,
    SEGV_ACCERR___386 = 2,
    SEGV_BNDERR___386 = 3,
    SEGV_PKUERR___386 = 4
} ;
enum __anonenum_1036286214___386 {
    BUS_ADRALN___386 = 1,
    BUS_ADRERR___386 = 2,
    BUS_OBJERR___386 = 3,
    BUS_MCEERR_AR___386 = 4,
    BUS_MCEERR_AO___386 = 5
} ;
enum __anonenum_493465559___386 {
    TRAP_BRKPT___386 = 1,
    TRAP_TRACE___386 = 2
} ;
enum __anonenum_23175539___386 {
    CLD_EXITED___386 = 1,
    CLD_KILLED___386 = 2,
    CLD_DUMPED___386 = 3,
    CLD_TRAPPED___386 = 4,
    CLD_STOPPED___386 = 5,
    CLD_CONTINUED___386 = 6
} ;
enum __anonenum_111643124___386 {
    POLL_IN___386 = 1,
    POLL_OUT___386 = 2,
    POLL_MSG___386 = 3,
    POLL_ERR___386 = 4,
    POLL_PRI___386 = 5,
    POLL_HUP___386 = 6
} ;
enum __anonenum_852341087___386 {
    SIGEV_SIGNAL___386 = 0,
    SIGEV_NONE___386 = 1,
    SIGEV_THREAD___386 = 2,
    SIGEV_THREAD_ID___386 = 4
} ;
enum __anonenum_451154152___386 {
    REG_R8___386 = 0,
    REG_R9___386 = 1,
    REG_R10___386 = 2,
    REG_R11___386 = 3,
    REG_R12___386 = 4,
    REG_R13___386 = 5,
    REG_R14___386 = 6,
    REG_R15___386 = 7,
    REG_RDI___386 = 8,
    REG_RSI___386 = 9,
    REG_RBP___386 = 10,
    REG_RBX___386 = 11,
    REG_RDX___386 = 12,
    REG_RAX___386 = 13,
    REG_RCX___386 = 14,
    REG_RSP___386 = 15,
    REG_RIP___386 = 16,
    REG_EFL___386 = 17,
    REG_CSGSFS___386 = 18,
    REG_ERR___386 = 19,
    REG_TRAPNO___386 = 20,
    REG_OLDMASK___386 = 21,
    REG_CR2___386 = 22
} ;
enum __anonenum_57186863___386 {
    SS_ONSTACK___386 = 1,
    SS_DISABLE___386 = 2
} ;
enum __anonenum_83571709___386 {
    MSG_OOB___386 = 1,
    MSG_PEEK___386 = 2,
    MSG_DONTROUTE___386 = 4,
    MSG_TRYHARD___386 = 4,
    MSG_CTRUNC___386 = 8,
    MSG_PROXY___386 = 16,
    MSG_TRUNC___386 = 32,
    MSG_DONTWAIT___386 = 64,
    MSG_EOR___386 = 128,
    MSG_WAITALL___386 = 256,
    MSG_FIN___386 = 512,
    MSG_SYN___386 = 1024,
    MSG_CONFIRM___386 = 2048,
    MSG_RST___386 = 4096,
    MSG_ERRQUEUE___386 = 8192,
    MSG_NOSIGNAL___386 = 16384,
    MSG_MORE___386 = 32768,
    MSG_WAITFORONE___386 = 65536,
    MSG_BATCH___386 = 262144,
    MSG_ZEROCOPY___386 = 67108864,
    MSG_FASTOPEN___386 = 536870912,
    MSG_CMSG_CLOEXEC___386 = 1073741824
} ;
enum __anonenum_617082774___386 {
    SCM_RIGHTS___386 = 1,
    SCM_CREDENTIALS___386 = 2
} ;
enum __anonenum_606441560___386 {
    SHUT_RD___386 = 0,
    SHUT_WR___386 = 1,
    SHUT_RDWR___386 = 2
} ;
enum __anonenum_681669233___386 {
    IPPROTO_IP___386 = 0,
    IPPROTO_ICMP___386 = 1,
    IPPROTO_IGMP___386 = 2,
    IPPROTO_IPIP___386 = 4,
    IPPROTO_TCP___386 = 6,
    IPPROTO_EGP___386 = 8,
    IPPROTO_PUP___386 = 12,
    IPPROTO_UDP___386 = 17,
    IPPROTO_IDP___386 = 22,
    IPPROTO_TP___386 = 29,
    IPPROTO_DCCP___386 = 33,
    IPPROTO_IPV6___386 = 41,
    IPPROTO_RSVP___386 = 46,
    IPPROTO_GRE___386 = 47,
    IPPROTO_ESP___386 = 50,
    IPPROTO_AH___386 = 51,
    IPPROTO_MTP___386 = 92,
    IPPROTO_BEETPH___386 = 94,
    IPPROTO_ENCAP___386 = 98,
    IPPROTO_PIM___386 = 103,
    IPPROTO_COMP___386 = 108,
    IPPROTO_SCTP___386 = 132,
    IPPROTO_UDPLITE___386 = 136,
    IPPROTO_MPLS___386 = 137,
    IPPROTO_RAW___386 = 255,
    IPPROTO_MAX___386 = 256
} ;
enum __anonenum_218739988___386 {
    IPPROTO_HOPOPTS___386 = 0,
    IPPROTO_ROUTING___386 = 43,
    IPPROTO_FRAGMENT___386 = 44,
    IPPROTO_ICMPV6___386 = 58,
    IPPROTO_NONE___386 = 59,
    IPPROTO_DSTOPTS___386 = 60,
    IPPROTO_MH___386 = 135
} ;
enum __anonenum_662268580___386 {
    IPPORT_ECHO___386 = 7,
    IPPORT_DISCARD___386 = 9,
    IPPORT_SYSTAT___386 = 11,
    IPPORT_DAYTIME___386 = 13,
    IPPORT_NETSTAT___386 = 15,
    IPPORT_FTP___386 = 21,
    IPPORT_TELNET___386 = 23,
    IPPORT_SMTP___386 = 25,
    IPPORT_TIMESERVER___386 = 37,
    IPPORT_NAMESERVER___386 = 42,
    IPPORT_WHOIS___386 = 43,
    IPPORT_MTP___386 = 57,
    IPPORT_TFTP___386 = 69,
    IPPORT_RJE___386 = 77,
    IPPORT_FINGER___386 = 79,
    IPPORT_TTYLINK___386 = 87,
    IPPORT_SUPDUP___386 = 95,
    IPPORT_EXECSERVER___386 = 512,
    IPPORT_LOGINSERVER___386 = 513,
    IPPORT_CMDSERVER___386 = 514,
    IPPORT_EFSSERVER___386 = 520,
    IPPORT_BIFFUDP___386 = 512,
    IPPORT_WHOSERVER___386 = 513,
    IPPORT_ROUTESERVER___386 = 520,
    IPPORT_RESERVED___386 = 1024,
    IPPORT_USERRESERVED___386 = 5000
} ;
enum __anonenum_788308992___386 {
    TCP_ESTABLISHED___386 = 1,
    TCP_SYN_SENT___386 = 2,
    TCP_SYN_RECV___386 = 3,
    TCP_FIN_WAIT1___386 = 4,
    TCP_FIN_WAIT2___386 = 5,
    TCP_TIME_WAIT___386 = 6,
    TCP_CLOSE___386 = 7,
    TCP_CLOSE_WAIT___386 = 8,
    TCP_LAST_ACK___386 = 9,
    TCP_LISTEN___386 = 10,
    TCP_CLOSING___386 = 11
} ;
enum __anonenum_221125648___386 {
    TCP_NO_QUEUE___386 = 0,
    TCP_RECV_QUEUE___386 = 1,
    TCP_SEND_QUEUE___386 = 2,
    TCP_QUEUES_NR___386 = 3
} ;
enum __anonenum_34415463___386 {
    PTHREAD_CREATE_JOINABLE___386 = 0,
    PTHREAD_CREATE_DETACHED___386 = 1
} ;
enum __anonenum_303612439___386 {
    PTHREAD_MUTEX_TIMED_NP___386 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___386 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___386 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___386 = 3,
    PTHREAD_MUTEX_NORMAL___386 = 0,
    PTHREAD_MUTEX_RECURSIVE___386 = 1,
    PTHREAD_MUTEX_ERRORCHECK___386 = 2,
    PTHREAD_MUTEX_DEFAULT___386 = 0,
    PTHREAD_MUTEX_FAST_NP___386 = 0
} ;
enum __anonenum_931900394___386 {
    PTHREAD_MUTEX_STALLED___386 = 0,
    PTHREAD_MUTEX_STALLED_NP___386 = 0,
    PTHREAD_MUTEX_ROBUST___386 = 1,
    PTHREAD_MUTEX_ROBUST_NP___386 = 1
} ;
enum __anonenum_205214487___386 {
    PTHREAD_PRIO_NONE___386 = 0,
    PTHREAD_PRIO_INHERIT___386 = 1,
    PTHREAD_PRIO_PROTECT___386 = 2
} ;
enum __anonenum_25043950___386 {
    PTHREAD_RWLOCK_PREFER_READER_NP___386 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___386 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___386 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___386 = 0
} ;
enum __anonenum_436439511___386 {
    PTHREAD_INHERIT_SCHED___386 = 0,
    PTHREAD_EXPLICIT_SCHED___386 = 1
} ;
enum __anonenum_998661166___386 {
    PTHREAD_SCOPE_SYSTEM___386 = 0,
    PTHREAD_SCOPE_PROCESS___386 = 1
} ;
enum __anonenum_146137331___386 {
    PTHREAD_PROCESS_PRIVATE___386 = 0,
    PTHREAD_PROCESS_SHARED___386 = 1
} ;
enum __anonenum_53396917___386 {
    PTHREAD_CANCEL_ENABLE___386 = 0,
    PTHREAD_CANCEL_DISABLE___386 = 1
} ;
enum __anonenum_904563783___386 {
    PTHREAD_CANCEL_DEFERRED___386 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___386 = 1
} ;
enum __anonenum_672052974___386 {
    SSL_CT_VALIDATION_PERMISSIVE___386 = 0,
    SSL_CT_VALIDATION_STRICT___386 = 1
} ;
enum __anonenum_437032235___387 {
    _PC_LINK_MAX___387 = 0,
    _PC_MAX_CANON___387 = 1,
    _PC_MAX_INPUT___387 = 2,
    _PC_NAME_MAX___387 = 3,
    _PC_PATH_MAX___387 = 4,
    _PC_PIPE_BUF___387 = 5,
    _PC_CHOWN_RESTRICTED___387 = 6,
    _PC_NO_TRUNC___387 = 7,
    _PC_VDISABLE___387 = 8,
    _PC_SYNC_IO___387 = 9,
    _PC_ASYNC_IO___387 = 10,
    _PC_PRIO_IO___387 = 11,
    _PC_SOCK_MAXBUF___387 = 12,
    _PC_FILESIZEBITS___387 = 13,
    _PC_REC_INCR_XFER_SIZE___387 = 14,
    _PC_REC_MAX_XFER_SIZE___387 = 15,
    _PC_REC_MIN_XFER_SIZE___387 = 16,
    _PC_REC_XFER_ALIGN___387 = 17,
    _PC_ALLOC_SIZE_MIN___387 = 18,
    _PC_SYMLINK_MAX___387 = 19,
    _PC_2_SYMLINKS___387 = 20
} ;
enum __anonenum_315186338___387 {
    _SC_ARG_MAX___387 = 0,
    _SC_CHILD_MAX___387 = 1,
    _SC_CLK_TCK___387 = 2,
    _SC_NGROUPS_MAX___387 = 3,
    _SC_OPEN_MAX___387 = 4,
    _SC_STREAM_MAX___387 = 5,
    _SC_TZNAME_MAX___387 = 6,
    _SC_JOB_CONTROL___387 = 7,
    _SC_SAVED_IDS___387 = 8,
    _SC_REALTIME_SIGNALS___387 = 9,
    _SC_PRIORITY_SCHEDULING___387 = 10,
    _SC_TIMERS___387 = 11,
    _SC_ASYNCHRONOUS_IO___387 = 12,
    _SC_PRIORITIZED_IO___387 = 13,
    _SC_SYNCHRONIZED_IO___387 = 14,
    _SC_FSYNC___387 = 15,
    _SC_MAPPED_FILES___387 = 16,
    _SC_MEMLOCK___387 = 17,
    _SC_MEMLOCK_RANGE___387 = 18,
    _SC_MEMORY_PROTECTION___387 = 19,
    _SC_MESSAGE_PASSING___387 = 20,
    _SC_SEMAPHORES___387 = 21,
    _SC_SHARED_MEMORY_OBJECTS___387 = 22,
    _SC_AIO_LISTIO_MAX___387 = 23,
    _SC_AIO_MAX___387 = 24,
    _SC_AIO_PRIO_DELTA_MAX___387 = 25,
    _SC_DELAYTIMER_MAX___387 = 26,
    _SC_MQ_OPEN_MAX___387 = 27,
    _SC_MQ_PRIO_MAX___387 = 28,
    _SC_VERSION___387 = 29,
    _SC_PAGESIZE___387 = 30,
    _SC_RTSIG_MAX___387 = 31,
    _SC_SEM_NSEMS_MAX___387 = 32,
    _SC_SEM_VALUE_MAX___387 = 33,
    _SC_SIGQUEUE_MAX___387 = 34,
    _SC_TIMER_MAX___387 = 35,
    _SC_BC_BASE_MAX___387 = 36,
    _SC_BC_DIM_MAX___387 = 37,
    _SC_BC_SCALE_MAX___387 = 38,
    _SC_BC_STRING_MAX___387 = 39,
    _SC_COLL_WEIGHTS_MAX___387 = 40,
    _SC_EQUIV_CLASS_MAX___387 = 41,
    _SC_EXPR_NEST_MAX___387 = 42,
    _SC_LINE_MAX___387 = 43,
    _SC_RE_DUP_MAX___387 = 44,
    _SC_CHARCLASS_NAME_MAX___387 = 45,
    _SC_2_VERSION___387 = 46,
    _SC_2_C_BIND___387 = 47,
    _SC_2_C_DEV___387 = 48,
    _SC_2_FORT_DEV___387 = 49,
    _SC_2_FORT_RUN___387 = 50,
    _SC_2_SW_DEV___387 = 51,
    _SC_2_LOCALEDEF___387 = 52,
    _SC_PII___387 = 53,
    _SC_PII_XTI___387 = 54,
    _SC_PII_SOCKET___387 = 55,
    _SC_PII_INTERNET___387 = 56,
    _SC_PII_OSI___387 = 57,
    _SC_POLL___387 = 58,
    _SC_SELECT___387 = 59,
    _SC_UIO_MAXIOV___387 = 60,
    _SC_IOV_MAX___387 = 60,
    _SC_PII_INTERNET_STREAM___387 = 61,
    _SC_PII_INTERNET_DGRAM___387 = 62,
    _SC_PII_OSI_COTS___387 = 63,
    _SC_PII_OSI_CLTS___387 = 64,
    _SC_PII_OSI_M___387 = 65,
    _SC_T_IOV_MAX___387 = 66,
    _SC_THREADS___387 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___387 = 68,
    _SC_GETGR_R_SIZE_MAX___387 = 69,
    _SC_GETPW_R_SIZE_MAX___387 = 70,
    _SC_LOGIN_NAME_MAX___387 = 71,
    _SC_TTY_NAME_MAX___387 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___387 = 73,
    _SC_THREAD_KEYS_MAX___387 = 74,
    _SC_THREAD_STACK_MIN___387 = 75,
    _SC_THREAD_THREADS_MAX___387 = 76,
    _SC_THREAD_ATTR_STACKADDR___387 = 77,
    _SC_THREAD_ATTR_STACKSIZE___387 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___387 = 79,
    _SC_THREAD_PRIO_INHERIT___387 = 80,
    _SC_THREAD_PRIO_PROTECT___387 = 81,
    _SC_THREAD_PROCESS_SHARED___387 = 82,
    _SC_NPROCESSORS_CONF___387 = 83,
    _SC_NPROCESSORS_ONLN___387 = 84,
    _SC_PHYS_PAGES___387 = 85,
    _SC_AVPHYS_PAGES___387 = 86,
    _SC_ATEXIT_MAX___387 = 87,
    _SC_PASS_MAX___387 = 88,
    _SC_XOPEN_VERSION___387 = 89,
    _SC_XOPEN_XCU_VERSION___387 = 90,
    _SC_XOPEN_UNIX___387 = 91,
    _SC_XOPEN_CRYPT___387 = 92,
    _SC_XOPEN_ENH_I18N___387 = 93,
    _SC_XOPEN_SHM___387 = 94,
    _SC_2_CHAR_TERM___387 = 95,
    _SC_2_C_VERSION___387 = 96,
    _SC_2_UPE___387 = 97,
    _SC_XOPEN_XPG2___387 = 98,
    _SC_XOPEN_XPG3___387 = 99,
    _SC_XOPEN_XPG4___387 = 100,
    _SC_CHAR_BIT___387 = 101,
    _SC_CHAR_MAX___387 = 102,
    _SC_CHAR_MIN___387 = 103,
    _SC_INT_MAX___387 = 104,
    _SC_INT_MIN___387 = 105,
    _SC_LONG_BIT___387 = 106,
    _SC_WORD_BIT___387 = 107,
    _SC_MB_LEN_MAX___387 = 108,
    _SC_NZERO___387 = 109,
    _SC_SSIZE_MAX___387 = 110,
    _SC_SCHAR_MAX___387 = 111,
    _SC_SCHAR_MIN___387 = 112,
    _SC_SHRT_MAX___387 = 113,
    _SC_SHRT_MIN___387 = 114,
    _SC_UCHAR_MAX___387 = 115,
    _SC_UINT_MAX___387 = 116,
    _SC_ULONG_MAX___387 = 117,
    _SC_USHRT_MAX___387 = 118,
    _SC_NL_ARGMAX___387 = 119,
    _SC_NL_LANGMAX___387 = 120,
    _SC_NL_MSGMAX___387 = 121,
    _SC_NL_NMAX___387 = 122,
    _SC_NL_SETMAX___387 = 123,
    _SC_NL_TEXTMAX___387 = 124,
    _SC_XBS5_ILP32_OFF32___387 = 125,
    _SC_XBS5_ILP32_OFFBIG___387 = 126,
    _SC_XBS5_LP64_OFF64___387 = 127,
    _SC_XBS5_LPBIG_OFFBIG___387 = 128,
    _SC_XOPEN_LEGACY___387 = 129,
    _SC_XOPEN_REALTIME___387 = 130,
    _SC_XOPEN_REALTIME_THREADS___387 = 131,
    _SC_ADVISORY_INFO___387 = 132,
    _SC_BARRIERS___387 = 133,
    _SC_BASE___387 = 134,
    _SC_C_LANG_SUPPORT___387 = 135,
    _SC_C_LANG_SUPPORT_R___387 = 136,
    _SC_CLOCK_SELECTION___387 = 137,
    _SC_CPUTIME___387 = 138,
    _SC_THREAD_CPUTIME___387 = 139,
    _SC_DEVICE_IO___387 = 140,
    _SC_DEVICE_SPECIFIC___387 = 141,
    _SC_DEVICE_SPECIFIC_R___387 = 142,
    _SC_FD_MGMT___387 = 143,
    _SC_FIFO___387 = 144,
    _SC_PIPE___387 = 145,
    _SC_FILE_ATTRIBUTES___387 = 146,
    _SC_FILE_LOCKING___387 = 147,
    _SC_FILE_SYSTEM___387 = 148,
    _SC_MONOTONIC_CLOCK___387 = 149,
    _SC_MULTI_PROCESS___387 = 150,
    _SC_SINGLE_PROCESS___387 = 151,
    _SC_NETWORKING___387 = 152,
    _SC_READER_WRITER_LOCKS___387 = 153,
    _SC_SPIN_LOCKS___387 = 154,
    _SC_REGEXP___387 = 155,
    _SC_REGEX_VERSION___387 = 156,
    _SC_SHELL___387 = 157,
    _SC_SIGNALS___387 = 158,
    _SC_SPAWN___387 = 159,
    _SC_SPORADIC_SERVER___387 = 160,
    _SC_THREAD_SPORADIC_SERVER___387 = 161,
    _SC_SYSTEM_DATABASE___387 = 162,
    _SC_SYSTEM_DATABASE_R___387 = 163,
    _SC_TIMEOUTS___387 = 164,
    _SC_TYPED_MEMORY_OBJECTS___387 = 165,
    _SC_USER_GROUPS___387 = 166,
    _SC_USER_GROUPS_R___387 = 167,
    _SC_2_PBS___387 = 168,
    _SC_2_PBS_ACCOUNTING___387 = 169,
    _SC_2_PBS_LOCATE___387 = 170,
    _SC_2_PBS_MESSAGE___387 = 171,
    _SC_2_PBS_TRACK___387 = 172,
    _SC_SYMLOOP_MAX___387 = 173,
    _SC_STREAMS___387 = 174,
    _SC_2_PBS_CHECKPOINT___387 = 175,
    _SC_V6_ILP32_OFF32___387 = 176,
    _SC_V6_ILP32_OFFBIG___387 = 177,
    _SC_V6_LP64_OFF64___387 = 178,
    _SC_V6_LPBIG_OFFBIG___387 = 179,
    _SC_HOST_NAME_MAX___387 = 180,
    _SC_TRACE___387 = 181,
    _SC_TRACE_EVENT_FILTER___387 = 182,
    _SC_TRACE_INHERIT___387 = 183,
    _SC_TRACE_LOG___387 = 184,
    _SC_LEVEL1_ICACHE_SIZE___387 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___387 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___387 = 187,
    _SC_LEVEL1_DCACHE_SIZE___387 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___387 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___387 = 190,
    _SC_LEVEL2_CACHE_SIZE___387 = 191,
    _SC_LEVEL2_CACHE_ASSOC___387 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___387 = 193,
    _SC_LEVEL3_CACHE_SIZE___387 = 194,
    _SC_LEVEL3_CACHE_ASSOC___387 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___387 = 196,
    _SC_LEVEL4_CACHE_SIZE___387 = 197,
    _SC_LEVEL4_CACHE_ASSOC___387 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___387 = 199,
    _SC_IPV6___387 = 235,
    _SC_RAW_SOCKETS___387 = 236,
    _SC_V7_ILP32_OFF32___387 = 237,
    _SC_V7_ILP32_OFFBIG___387 = 238,
    _SC_V7_LP64_OFF64___387 = 239,
    _SC_V7_LPBIG_OFFBIG___387 = 240,
    _SC_SS_REPL_MAX___387 = 241,
    _SC_TRACE_EVENT_NAME_MAX___387 = 242,
    _SC_TRACE_NAME_MAX___387 = 243,
    _SC_TRACE_SYS_MAX___387 = 244,
    _SC_TRACE_USER_EVENT_MAX___387 = 245,
    _SC_XOPEN_STREAMS___387 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___387 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___387 = 248
} ;
enum __anonenum_875524036___387 {
    _CS_PATH___387 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___387 = 1,
    _CS_GNU_LIBC_VERSION___387 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___387 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___387 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___387 = 5,
    _CS_LFS_CFLAGS___387 = 1000,
    _CS_LFS_LDFLAGS___387 = 1001,
    _CS_LFS_LIBS___387 = 1002,
    _CS_LFS_LINTFLAGS___387 = 1003,
    _CS_LFS64_CFLAGS___387 = 1004,
    _CS_LFS64_LDFLAGS___387 = 1005,
    _CS_LFS64_LIBS___387 = 1006,
    _CS_LFS64_LINTFLAGS___387 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___387 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___387 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___387 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___387 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___387 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___387 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___387 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___387 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___387 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___387 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___387 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___387 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___387 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___387 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___387 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___387 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___387 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___387 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___387 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___387 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___387 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___387 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___387 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___387 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___387 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___387 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___387 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___387 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___387 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___387 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___387 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___387 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___387 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___387 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___387 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___387 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___387 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___387 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___387 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___387 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___387 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___387 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___387 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___387 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___387 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___387 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___387 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___387 = 1147,
    _CS_V6_ENV___387 = 1148,
    _CS_V7_ENV___387 = 1149
} ;
enum __anonenum_513775621___387 {
    DT_UNKNOWN___387 = 0,
    DT_FIFO___387 = 1,
    DT_CHR___387 = 2,
    DT_DIR___387 = 4,
    DT_BLK___387 = 6,
    DT_REG___387 = 8,
    DT_LNK___387 = 10,
    DT_SOCK___387 = 12,
    DT_WHT___387 = 14
} ;
enum __anonenum_77002343___387 {
    SI_ASYNCNL___387 = -60,
    SI_TKILL___387 = -6,
    SI_SIGIO___387 = -5,
    SI_ASYNCIO___387 = -4,
    SI_MESGQ___387 = -3,
    SI_TIMER___387 = -2,
    SI_QUEUE___387 = -1,
    SI_USER___387 = 0,
    SI_KERNEL___387 = 128
} ;
enum __anonenum_131038172___387 {
    ILL_ILLOPC___387 = 1,
    ILL_ILLOPN___387 = 2,
    ILL_ILLADR___387 = 3,
    ILL_ILLTRP___387 = 4,
    ILL_PRVOPC___387 = 5,
    ILL_PRVREG___387 = 6,
    ILL_COPROC___387 = 7,
    ILL_BADSTK___387 = 8
} ;
enum __anonenum_452038093___387 {
    FPE_INTDIV___387 = 1,
    FPE_INTOVF___387 = 2,
    FPE_FLTDIV___387 = 3,
    FPE_FLTOVF___387 = 4,
    FPE_FLTUND___387 = 5,
    FPE_FLTRES___387 = 6,
    FPE_FLTINV___387 = 7,
    FPE_FLTSUB___387 = 8
} ;
enum __anonenum_30976155___387 {
    SEGV_MAPERR___387 = 1,
    SEGV_ACCERR___387 = 2,
    SEGV_BNDERR___387 = 3,
    SEGV_PKUERR___387 = 4
} ;
enum __anonenum_1036286214___387 {
    BUS_ADRALN___387 = 1,
    BUS_ADRERR___387 = 2,
    BUS_OBJERR___387 = 3,
    BUS_MCEERR_AR___387 = 4,
    BUS_MCEERR_AO___387 = 5
} ;
enum __anonenum_493465559___387 {
    TRAP_BRKPT___387 = 1,
    TRAP_TRACE___387 = 2
} ;
enum __anonenum_23175539___387 {
    CLD_EXITED___387 = 1,
    CLD_KILLED___387 = 2,
    CLD_DUMPED___387 = 3,
    CLD_TRAPPED___387 = 4,
    CLD_STOPPED___387 = 5,
    CLD_CONTINUED___387 = 6
} ;
enum __anonenum_111643124___387 {
    POLL_IN___387 = 1,
    POLL_OUT___387 = 2,
    POLL_MSG___387 = 3,
    POLL_ERR___387 = 4,
    POLL_PRI___387 = 5,
    POLL_HUP___387 = 6
} ;
enum __anonenum_852341087___387 {
    SIGEV_SIGNAL___387 = 0,
    SIGEV_NONE___387 = 1,
    SIGEV_THREAD___387 = 2,
    SIGEV_THREAD_ID___387 = 4
} ;
enum __anonenum_451154152___387 {
    REG_R8___387 = 0,
    REG_R9___387 = 1,
    REG_R10___387 = 2,
    REG_R11___387 = 3,
    REG_R12___387 = 4,
    REG_R13___387 = 5,
    REG_R14___387 = 6,
    REG_R15___387 = 7,
    REG_RDI___387 = 8,
    REG_RSI___387 = 9,
    REG_RBP___387 = 10,
    REG_RBX___387 = 11,
    REG_RDX___387 = 12,
    REG_RAX___387 = 13,
    REG_RCX___387 = 14,
    REG_RSP___387 = 15,
    REG_RIP___387 = 16,
    REG_EFL___387 = 17,
    REG_CSGSFS___387 = 18,
    REG_ERR___387 = 19,
    REG_TRAPNO___387 = 20,
    REG_OLDMASK___387 = 21,
    REG_CR2___387 = 22
} ;
enum __anonenum_57186863___387 {
    SS_ONSTACK___387 = 1,
    SS_DISABLE___387 = 2
} ;
enum __anonenum_83571709___387 {
    MSG_OOB___387 = 1,
    MSG_PEEK___387 = 2,
    MSG_DONTROUTE___387 = 4,
    MSG_TRYHARD___387 = 4,
    MSG_CTRUNC___387 = 8,
    MSG_PROXY___387 = 16,
    MSG_TRUNC___387 = 32,
    MSG_DONTWAIT___387 = 64,
    MSG_EOR___387 = 128,
    MSG_WAITALL___387 = 256,
    MSG_FIN___387 = 512,
    MSG_SYN___387 = 1024,
    MSG_CONFIRM___387 = 2048,
    MSG_RST___387 = 4096,
    MSG_ERRQUEUE___387 = 8192,
    MSG_NOSIGNAL___387 = 16384,
    MSG_MORE___387 = 32768,
    MSG_WAITFORONE___387 = 65536,
    MSG_BATCH___387 = 262144,
    MSG_ZEROCOPY___387 = 67108864,
    MSG_FASTOPEN___387 = 536870912,
    MSG_CMSG_CLOEXEC___387 = 1073741824
} ;
enum __anonenum_617082774___387 {
    SCM_RIGHTS___387 = 1,
    SCM_CREDENTIALS___387 = 2
} ;
enum __anonenum_606441560___387 {
    SHUT_RD___387 = 0,
    SHUT_WR___387 = 1,
    SHUT_RDWR___387 = 2
} ;
enum __anonenum_681669233___387 {
    IPPROTO_IP___387 = 0,
    IPPROTO_ICMP___387 = 1,
    IPPROTO_IGMP___387 = 2,
    IPPROTO_IPIP___387 = 4,
    IPPROTO_TCP___387 = 6,
    IPPROTO_EGP___387 = 8,
    IPPROTO_PUP___387 = 12,
    IPPROTO_UDP___387 = 17,
    IPPROTO_IDP___387 = 22,
    IPPROTO_TP___387 = 29,
    IPPROTO_DCCP___387 = 33,
    IPPROTO_IPV6___387 = 41,
    IPPROTO_RSVP___387 = 46,
    IPPROTO_GRE___387 = 47,
    IPPROTO_ESP___387 = 50,
    IPPROTO_AH___387 = 51,
    IPPROTO_MTP___387 = 92,
    IPPROTO_BEETPH___387 = 94,
    IPPROTO_ENCAP___387 = 98,
    IPPROTO_PIM___387 = 103,
    IPPROTO_COMP___387 = 108,
    IPPROTO_SCTP___387 = 132,
    IPPROTO_UDPLITE___387 = 136,
    IPPROTO_MPLS___387 = 137,
    IPPROTO_RAW___387 = 255,
    IPPROTO_MAX___387 = 256
} ;
enum __anonenum_218739988___387 {
    IPPROTO_HOPOPTS___387 = 0,
    IPPROTO_ROUTING___387 = 43,
    IPPROTO_FRAGMENT___387 = 44,
    IPPROTO_ICMPV6___387 = 58,
    IPPROTO_NONE___387 = 59,
    IPPROTO_DSTOPTS___387 = 60,
    IPPROTO_MH___387 = 135
} ;
enum __anonenum_662268580___387 {
    IPPORT_ECHO___387 = 7,
    IPPORT_DISCARD___387 = 9,
    IPPORT_SYSTAT___387 = 11,
    IPPORT_DAYTIME___387 = 13,
    IPPORT_NETSTAT___387 = 15,
    IPPORT_FTP___387 = 21,
    IPPORT_TELNET___387 = 23,
    IPPORT_SMTP___387 = 25,
    IPPORT_TIMESERVER___387 = 37,
    IPPORT_NAMESERVER___387 = 42,
    IPPORT_WHOIS___387 = 43,
    IPPORT_MTP___387 = 57,
    IPPORT_TFTP___387 = 69,
    IPPORT_RJE___387 = 77,
    IPPORT_FINGER___387 = 79,
    IPPORT_TTYLINK___387 = 87,
    IPPORT_SUPDUP___387 = 95,
    IPPORT_EXECSERVER___387 = 512,
    IPPORT_LOGINSERVER___387 = 513,
    IPPORT_CMDSERVER___387 = 514,
    IPPORT_EFSSERVER___387 = 520,
    IPPORT_BIFFUDP___387 = 512,
    IPPORT_WHOSERVER___387 = 513,
    IPPORT_ROUTESERVER___387 = 520,
    IPPORT_RESERVED___387 = 1024,
    IPPORT_USERRESERVED___387 = 5000
} ;
enum __anonenum_788308992___387 {
    TCP_ESTABLISHED___387 = 1,
    TCP_SYN_SENT___387 = 2,
    TCP_SYN_RECV___387 = 3,
    TCP_FIN_WAIT1___387 = 4,
    TCP_FIN_WAIT2___387 = 5,
    TCP_TIME_WAIT___387 = 6,
    TCP_CLOSE___387 = 7,
    TCP_CLOSE_WAIT___387 = 8,
    TCP_LAST_ACK___387 = 9,
    TCP_LISTEN___387 = 10,
    TCP_CLOSING___387 = 11
} ;
enum __anonenum_221125648___387 {
    TCP_NO_QUEUE___387 = 0,
    TCP_RECV_QUEUE___387 = 1,
    TCP_SEND_QUEUE___387 = 2,
    TCP_QUEUES_NR___387 = 3
} ;
enum __anonenum_34415463___387 {
    PTHREAD_CREATE_JOINABLE___387 = 0,
    PTHREAD_CREATE_DETACHED___387 = 1
} ;
enum __anonenum_303612439___387 {
    PTHREAD_MUTEX_TIMED_NP___387 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___387 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___387 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___387 = 3,
    PTHREAD_MUTEX_NORMAL___387 = 0,
    PTHREAD_MUTEX_RECURSIVE___387 = 1,
    PTHREAD_MUTEX_ERRORCHECK___387 = 2,
    PTHREAD_MUTEX_DEFAULT___387 = 0,
    PTHREAD_MUTEX_FAST_NP___387 = 0
} ;
enum __anonenum_931900394___387 {
    PTHREAD_MUTEX_STALLED___387 = 0,
    PTHREAD_MUTEX_STALLED_NP___387 = 0,
    PTHREAD_MUTEX_ROBUST___387 = 1,
    PTHREAD_MUTEX_ROBUST_NP___387 = 1
} ;
enum __anonenum_205214487___387 {
    PTHREAD_PRIO_NONE___387 = 0,
    PTHREAD_PRIO_INHERIT___387 = 1,
    PTHREAD_PRIO_PROTECT___387 = 2
} ;
enum __anonenum_25043950___387 {
    PTHREAD_RWLOCK_PREFER_READER_NP___387 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___387 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___387 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___387 = 0
} ;
enum __anonenum_436439511___387 {
    PTHREAD_INHERIT_SCHED___387 = 0,
    PTHREAD_EXPLICIT_SCHED___387 = 1
} ;
enum __anonenum_998661166___387 {
    PTHREAD_SCOPE_SYSTEM___387 = 0,
    PTHREAD_SCOPE_PROCESS___387 = 1
} ;
enum __anonenum_146137331___387 {
    PTHREAD_PROCESS_PRIVATE___387 = 0,
    PTHREAD_PROCESS_SHARED___387 = 1
} ;
enum __anonenum_53396917___387 {
    PTHREAD_CANCEL_ENABLE___387 = 0,
    PTHREAD_CANCEL_DISABLE___387 = 1
} ;
enum __anonenum_904563783___387 {
    PTHREAD_CANCEL_DEFERRED___387 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___387 = 1
} ;
enum __anonenum_672052974___387 {
    SSL_CT_VALIDATION_PERMISSIVE___387 = 0,
    SSL_CT_VALIDATION_STRICT___387 = 1
} ;
enum __anonenum_437032235___388 {
    _PC_LINK_MAX___388 = 0,
    _PC_MAX_CANON___388 = 1,
    _PC_MAX_INPUT___388 = 2,
    _PC_NAME_MAX___388 = 3,
    _PC_PATH_MAX___388 = 4,
    _PC_PIPE_BUF___388 = 5,
    _PC_CHOWN_RESTRICTED___388 = 6,
    _PC_NO_TRUNC___388 = 7,
    _PC_VDISABLE___388 = 8,
    _PC_SYNC_IO___388 = 9,
    _PC_ASYNC_IO___388 = 10,
    _PC_PRIO_IO___388 = 11,
    _PC_SOCK_MAXBUF___388 = 12,
    _PC_FILESIZEBITS___388 = 13,
    _PC_REC_INCR_XFER_SIZE___388 = 14,
    _PC_REC_MAX_XFER_SIZE___388 = 15,
    _PC_REC_MIN_XFER_SIZE___388 = 16,
    _PC_REC_XFER_ALIGN___388 = 17,
    _PC_ALLOC_SIZE_MIN___388 = 18,
    _PC_SYMLINK_MAX___388 = 19,
    _PC_2_SYMLINKS___388 = 20
} ;
enum __anonenum_315186338___388 {
    _SC_ARG_MAX___388 = 0,
    _SC_CHILD_MAX___388 = 1,
    _SC_CLK_TCK___388 = 2,
    _SC_NGROUPS_MAX___388 = 3,
    _SC_OPEN_MAX___388 = 4,
    _SC_STREAM_MAX___388 = 5,
    _SC_TZNAME_MAX___388 = 6,
    _SC_JOB_CONTROL___388 = 7,
    _SC_SAVED_IDS___388 = 8,
    _SC_REALTIME_SIGNALS___388 = 9,
    _SC_PRIORITY_SCHEDULING___388 = 10,
    _SC_TIMERS___388 = 11,
    _SC_ASYNCHRONOUS_IO___388 = 12,
    _SC_PRIORITIZED_IO___388 = 13,
    _SC_SYNCHRONIZED_IO___388 = 14,
    _SC_FSYNC___388 = 15,
    _SC_MAPPED_FILES___388 = 16,
    _SC_MEMLOCK___388 = 17,
    _SC_MEMLOCK_RANGE___388 = 18,
    _SC_MEMORY_PROTECTION___388 = 19,
    _SC_MESSAGE_PASSING___388 = 20,
    _SC_SEMAPHORES___388 = 21,
    _SC_SHARED_MEMORY_OBJECTS___388 = 22,
    _SC_AIO_LISTIO_MAX___388 = 23,
    _SC_AIO_MAX___388 = 24,
    _SC_AIO_PRIO_DELTA_MAX___388 = 25,
    _SC_DELAYTIMER_MAX___388 = 26,
    _SC_MQ_OPEN_MAX___388 = 27,
    _SC_MQ_PRIO_MAX___388 = 28,
    _SC_VERSION___388 = 29,
    _SC_PAGESIZE___388 = 30,
    _SC_RTSIG_MAX___388 = 31,
    _SC_SEM_NSEMS_MAX___388 = 32,
    _SC_SEM_VALUE_MAX___388 = 33,
    _SC_SIGQUEUE_MAX___388 = 34,
    _SC_TIMER_MAX___388 = 35,
    _SC_BC_BASE_MAX___388 = 36,
    _SC_BC_DIM_MAX___388 = 37,
    _SC_BC_SCALE_MAX___388 = 38,
    _SC_BC_STRING_MAX___388 = 39,
    _SC_COLL_WEIGHTS_MAX___388 = 40,
    _SC_EQUIV_CLASS_MAX___388 = 41,
    _SC_EXPR_NEST_MAX___388 = 42,
    _SC_LINE_MAX___388 = 43,
    _SC_RE_DUP_MAX___388 = 44,
    _SC_CHARCLASS_NAME_MAX___388 = 45,
    _SC_2_VERSION___388 = 46,
    _SC_2_C_BIND___388 = 47,
    _SC_2_C_DEV___388 = 48,
    _SC_2_FORT_DEV___388 = 49,
    _SC_2_FORT_RUN___388 = 50,
    _SC_2_SW_DEV___388 = 51,
    _SC_2_LOCALEDEF___388 = 52,
    _SC_PII___388 = 53,
    _SC_PII_XTI___388 = 54,
    _SC_PII_SOCKET___388 = 55,
    _SC_PII_INTERNET___388 = 56,
    _SC_PII_OSI___388 = 57,
    _SC_POLL___388 = 58,
    _SC_SELECT___388 = 59,
    _SC_UIO_MAXIOV___388 = 60,
    _SC_IOV_MAX___388 = 60,
    _SC_PII_INTERNET_STREAM___388 = 61,
    _SC_PII_INTERNET_DGRAM___388 = 62,
    _SC_PII_OSI_COTS___388 = 63,
    _SC_PII_OSI_CLTS___388 = 64,
    _SC_PII_OSI_M___388 = 65,
    _SC_T_IOV_MAX___388 = 66,
    _SC_THREADS___388 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___388 = 68,
    _SC_GETGR_R_SIZE_MAX___388 = 69,
    _SC_GETPW_R_SIZE_MAX___388 = 70,
    _SC_LOGIN_NAME_MAX___388 = 71,
    _SC_TTY_NAME_MAX___388 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___388 = 73,
    _SC_THREAD_KEYS_MAX___388 = 74,
    _SC_THREAD_STACK_MIN___388 = 75,
    _SC_THREAD_THREADS_MAX___388 = 76,
    _SC_THREAD_ATTR_STACKADDR___388 = 77,
    _SC_THREAD_ATTR_STACKSIZE___388 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___388 = 79,
    _SC_THREAD_PRIO_INHERIT___388 = 80,
    _SC_THREAD_PRIO_PROTECT___388 = 81,
    _SC_THREAD_PROCESS_SHARED___388 = 82,
    _SC_NPROCESSORS_CONF___388 = 83,
    _SC_NPROCESSORS_ONLN___388 = 84,
    _SC_PHYS_PAGES___388 = 85,
    _SC_AVPHYS_PAGES___388 = 86,
    _SC_ATEXIT_MAX___388 = 87,
    _SC_PASS_MAX___388 = 88,
    _SC_XOPEN_VERSION___388 = 89,
    _SC_XOPEN_XCU_VERSION___388 = 90,
    _SC_XOPEN_UNIX___388 = 91,
    _SC_XOPEN_CRYPT___388 = 92,
    _SC_XOPEN_ENH_I18N___388 = 93,
    _SC_XOPEN_SHM___388 = 94,
    _SC_2_CHAR_TERM___388 = 95,
    _SC_2_C_VERSION___388 = 96,
    _SC_2_UPE___388 = 97,
    _SC_XOPEN_XPG2___388 = 98,
    _SC_XOPEN_XPG3___388 = 99,
    _SC_XOPEN_XPG4___388 = 100,
    _SC_CHAR_BIT___388 = 101,
    _SC_CHAR_MAX___388 = 102,
    _SC_CHAR_MIN___388 = 103,
    _SC_INT_MAX___388 = 104,
    _SC_INT_MIN___388 = 105,
    _SC_LONG_BIT___388 = 106,
    _SC_WORD_BIT___388 = 107,
    _SC_MB_LEN_MAX___388 = 108,
    _SC_NZERO___388 = 109,
    _SC_SSIZE_MAX___388 = 110,
    _SC_SCHAR_MAX___388 = 111,
    _SC_SCHAR_MIN___388 = 112,
    _SC_SHRT_MAX___388 = 113,
    _SC_SHRT_MIN___388 = 114,
    _SC_UCHAR_MAX___388 = 115,
    _SC_UINT_MAX___388 = 116,
    _SC_ULONG_MAX___388 = 117,
    _SC_USHRT_MAX___388 = 118,
    _SC_NL_ARGMAX___388 = 119,
    _SC_NL_LANGMAX___388 = 120,
    _SC_NL_MSGMAX___388 = 121,
    _SC_NL_NMAX___388 = 122,
    _SC_NL_SETMAX___388 = 123,
    _SC_NL_TEXTMAX___388 = 124,
    _SC_XBS5_ILP32_OFF32___388 = 125,
    _SC_XBS5_ILP32_OFFBIG___388 = 126,
    _SC_XBS5_LP64_OFF64___388 = 127,
    _SC_XBS5_LPBIG_OFFBIG___388 = 128,
    _SC_XOPEN_LEGACY___388 = 129,
    _SC_XOPEN_REALTIME___388 = 130,
    _SC_XOPEN_REALTIME_THREADS___388 = 131,
    _SC_ADVISORY_INFO___388 = 132,
    _SC_BARRIERS___388 = 133,
    _SC_BASE___388 = 134,
    _SC_C_LANG_SUPPORT___388 = 135,
    _SC_C_LANG_SUPPORT_R___388 = 136,
    _SC_CLOCK_SELECTION___388 = 137,
    _SC_CPUTIME___388 = 138,
    _SC_THREAD_CPUTIME___388 = 139,
    _SC_DEVICE_IO___388 = 140,
    _SC_DEVICE_SPECIFIC___388 = 141,
    _SC_DEVICE_SPECIFIC_R___388 = 142,
    _SC_FD_MGMT___388 = 143,
    _SC_FIFO___388 = 144,
    _SC_PIPE___388 = 145,
    _SC_FILE_ATTRIBUTES___388 = 146,
    _SC_FILE_LOCKING___388 = 147,
    _SC_FILE_SYSTEM___388 = 148,
    _SC_MONOTONIC_CLOCK___388 = 149,
    _SC_MULTI_PROCESS___388 = 150,
    _SC_SINGLE_PROCESS___388 = 151,
    _SC_NETWORKING___388 = 152,
    _SC_READER_WRITER_LOCKS___388 = 153,
    _SC_SPIN_LOCKS___388 = 154,
    _SC_REGEXP___388 = 155,
    _SC_REGEX_VERSION___388 = 156,
    _SC_SHELL___388 = 157,
    _SC_SIGNALS___388 = 158,
    _SC_SPAWN___388 = 159,
    _SC_SPORADIC_SERVER___388 = 160,
    _SC_THREAD_SPORADIC_SERVER___388 = 161,
    _SC_SYSTEM_DATABASE___388 = 162,
    _SC_SYSTEM_DATABASE_R___388 = 163,
    _SC_TIMEOUTS___388 = 164,
    _SC_TYPED_MEMORY_OBJECTS___388 = 165,
    _SC_USER_GROUPS___388 = 166,
    _SC_USER_GROUPS_R___388 = 167,
    _SC_2_PBS___388 = 168,
    _SC_2_PBS_ACCOUNTING___388 = 169,
    _SC_2_PBS_LOCATE___388 = 170,
    _SC_2_PBS_MESSAGE___388 = 171,
    _SC_2_PBS_TRACK___388 = 172,
    _SC_SYMLOOP_MAX___388 = 173,
    _SC_STREAMS___388 = 174,
    _SC_2_PBS_CHECKPOINT___388 = 175,
    _SC_V6_ILP32_OFF32___388 = 176,
    _SC_V6_ILP32_OFFBIG___388 = 177,
    _SC_V6_LP64_OFF64___388 = 178,
    _SC_V6_LPBIG_OFFBIG___388 = 179,
    _SC_HOST_NAME_MAX___388 = 180,
    _SC_TRACE___388 = 181,
    _SC_TRACE_EVENT_FILTER___388 = 182,
    _SC_TRACE_INHERIT___388 = 183,
    _SC_TRACE_LOG___388 = 184,
    _SC_LEVEL1_ICACHE_SIZE___388 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___388 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___388 = 187,
    _SC_LEVEL1_DCACHE_SIZE___388 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___388 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___388 = 190,
    _SC_LEVEL2_CACHE_SIZE___388 = 191,
    _SC_LEVEL2_CACHE_ASSOC___388 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___388 = 193,
    _SC_LEVEL3_CACHE_SIZE___388 = 194,
    _SC_LEVEL3_CACHE_ASSOC___388 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___388 = 196,
    _SC_LEVEL4_CACHE_SIZE___388 = 197,
    _SC_LEVEL4_CACHE_ASSOC___388 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___388 = 199,
    _SC_IPV6___388 = 235,
    _SC_RAW_SOCKETS___388 = 236,
    _SC_V7_ILP32_OFF32___388 = 237,
    _SC_V7_ILP32_OFFBIG___388 = 238,
    _SC_V7_LP64_OFF64___388 = 239,
    _SC_V7_LPBIG_OFFBIG___388 = 240,
    _SC_SS_REPL_MAX___388 = 241,
    _SC_TRACE_EVENT_NAME_MAX___388 = 242,
    _SC_TRACE_NAME_MAX___388 = 243,
    _SC_TRACE_SYS_MAX___388 = 244,
    _SC_TRACE_USER_EVENT_MAX___388 = 245,
    _SC_XOPEN_STREAMS___388 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___388 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___388 = 248
} ;
enum __anonenum_875524036___388 {
    _CS_PATH___388 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___388 = 1,
    _CS_GNU_LIBC_VERSION___388 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___388 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___388 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___388 = 5,
    _CS_LFS_CFLAGS___388 = 1000,
    _CS_LFS_LDFLAGS___388 = 1001,
    _CS_LFS_LIBS___388 = 1002,
    _CS_LFS_LINTFLAGS___388 = 1003,
    _CS_LFS64_CFLAGS___388 = 1004,
    _CS_LFS64_LDFLAGS___388 = 1005,
    _CS_LFS64_LIBS___388 = 1006,
    _CS_LFS64_LINTFLAGS___388 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___388 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___388 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___388 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___388 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___388 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___388 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___388 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___388 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___388 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___388 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___388 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___388 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___388 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___388 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___388 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___388 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___388 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___388 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___388 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___388 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___388 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___388 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___388 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___388 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___388 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___388 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___388 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___388 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___388 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___388 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___388 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___388 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___388 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___388 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___388 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___388 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___388 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___388 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___388 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___388 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___388 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___388 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___388 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___388 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___388 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___388 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___388 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___388 = 1147,
    _CS_V6_ENV___388 = 1148,
    _CS_V7_ENV___388 = 1149
} ;
enum __anonenum_513775621___388 {
    DT_UNKNOWN___388 = 0,
    DT_FIFO___388 = 1,
    DT_CHR___388 = 2,
    DT_DIR___388 = 4,
    DT_BLK___388 = 6,
    DT_REG___388 = 8,
    DT_LNK___388 = 10,
    DT_SOCK___388 = 12,
    DT_WHT___388 = 14
} ;
enum __anonenum_77002343___388 {
    SI_ASYNCNL___388 = -60,
    SI_TKILL___388 = -6,
    SI_SIGIO___388 = -5,
    SI_ASYNCIO___388 = -4,
    SI_MESGQ___388 = -3,
    SI_TIMER___388 = -2,
    SI_QUEUE___388 = -1,
    SI_USER___388 = 0,
    SI_KERNEL___388 = 128
} ;
enum __anonenum_131038172___388 {
    ILL_ILLOPC___388 = 1,
    ILL_ILLOPN___388 = 2,
    ILL_ILLADR___388 = 3,
    ILL_ILLTRP___388 = 4,
    ILL_PRVOPC___388 = 5,
    ILL_PRVREG___388 = 6,
    ILL_COPROC___388 = 7,
    ILL_BADSTK___388 = 8
} ;
enum __anonenum_452038093___388 {
    FPE_INTDIV___388 = 1,
    FPE_INTOVF___388 = 2,
    FPE_FLTDIV___388 = 3,
    FPE_FLTOVF___388 = 4,
    FPE_FLTUND___388 = 5,
    FPE_FLTRES___388 = 6,
    FPE_FLTINV___388 = 7,
    FPE_FLTSUB___388 = 8
} ;
enum __anonenum_30976155___388 {
    SEGV_MAPERR___388 = 1,
    SEGV_ACCERR___388 = 2,
    SEGV_BNDERR___388 = 3,
    SEGV_PKUERR___388 = 4
} ;
enum __anonenum_1036286214___388 {
    BUS_ADRALN___388 = 1,
    BUS_ADRERR___388 = 2,
    BUS_OBJERR___388 = 3,
    BUS_MCEERR_AR___388 = 4,
    BUS_MCEERR_AO___388 = 5
} ;
enum __anonenum_493465559___388 {
    TRAP_BRKPT___388 = 1,
    TRAP_TRACE___388 = 2
} ;
enum __anonenum_23175539___388 {
    CLD_EXITED___388 = 1,
    CLD_KILLED___388 = 2,
    CLD_DUMPED___388 = 3,
    CLD_TRAPPED___388 = 4,
    CLD_STOPPED___388 = 5,
    CLD_CONTINUED___388 = 6
} ;
enum __anonenum_111643124___388 {
    POLL_IN___388 = 1,
    POLL_OUT___388 = 2,
    POLL_MSG___388 = 3,
    POLL_ERR___388 = 4,
    POLL_PRI___388 = 5,
    POLL_HUP___388 = 6
} ;
enum __anonenum_852341087___388 {
    SIGEV_SIGNAL___388 = 0,
    SIGEV_NONE___388 = 1,
    SIGEV_THREAD___388 = 2,
    SIGEV_THREAD_ID___388 = 4
} ;
enum __anonenum_451154152___388 {
    REG_R8___388 = 0,
    REG_R9___388 = 1,
    REG_R10___388 = 2,
    REG_R11___388 = 3,
    REG_R12___388 = 4,
    REG_R13___388 = 5,
    REG_R14___388 = 6,
    REG_R15___388 = 7,
    REG_RDI___388 = 8,
    REG_RSI___388 = 9,
    REG_RBP___388 = 10,
    REG_RBX___388 = 11,
    REG_RDX___388 = 12,
    REG_RAX___388 = 13,
    REG_RCX___388 = 14,
    REG_RSP___388 = 15,
    REG_RIP___388 = 16,
    REG_EFL___388 = 17,
    REG_CSGSFS___388 = 18,
    REG_ERR___388 = 19,
    REG_TRAPNO___388 = 20,
    REG_OLDMASK___388 = 21,
    REG_CR2___388 = 22
} ;
enum __anonenum_57186863___388 {
    SS_ONSTACK___388 = 1,
    SS_DISABLE___388 = 2
} ;
enum __anonenum_83571709___388 {
    MSG_OOB___388 = 1,
    MSG_PEEK___388 = 2,
    MSG_DONTROUTE___388 = 4,
    MSG_TRYHARD___388 = 4,
    MSG_CTRUNC___388 = 8,
    MSG_PROXY___388 = 16,
    MSG_TRUNC___388 = 32,
    MSG_DONTWAIT___388 = 64,
    MSG_EOR___388 = 128,
    MSG_WAITALL___388 = 256,
    MSG_FIN___388 = 512,
    MSG_SYN___388 = 1024,
    MSG_CONFIRM___388 = 2048,
    MSG_RST___388 = 4096,
    MSG_ERRQUEUE___388 = 8192,
    MSG_NOSIGNAL___388 = 16384,
    MSG_MORE___388 = 32768,
    MSG_WAITFORONE___388 = 65536,
    MSG_BATCH___388 = 262144,
    MSG_ZEROCOPY___388 = 67108864,
    MSG_FASTOPEN___388 = 536870912,
    MSG_CMSG_CLOEXEC___388 = 1073741824
} ;
enum __anonenum_617082774___388 {
    SCM_RIGHTS___388 = 1,
    SCM_CREDENTIALS___388 = 2
} ;
enum __anonenum_606441560___388 {
    SHUT_RD___388 = 0,
    SHUT_WR___388 = 1,
    SHUT_RDWR___388 = 2
} ;
enum __anonenum_681669233___388 {
    IPPROTO_IP___388 = 0,
    IPPROTO_ICMP___388 = 1,
    IPPROTO_IGMP___388 = 2,
    IPPROTO_IPIP___388 = 4,
    IPPROTO_TCP___388 = 6,
    IPPROTO_EGP___388 = 8,
    IPPROTO_PUP___388 = 12,
    IPPROTO_UDP___388 = 17,
    IPPROTO_IDP___388 = 22,
    IPPROTO_TP___388 = 29,
    IPPROTO_DCCP___388 = 33,
    IPPROTO_IPV6___388 = 41,
    IPPROTO_RSVP___388 = 46,
    IPPROTO_GRE___388 = 47,
    IPPROTO_ESP___388 = 50,
    IPPROTO_AH___388 = 51,
    IPPROTO_MTP___388 = 92,
    IPPROTO_BEETPH___388 = 94,
    IPPROTO_ENCAP___388 = 98,
    IPPROTO_PIM___388 = 103,
    IPPROTO_COMP___388 = 108,
    IPPROTO_SCTP___388 = 132,
    IPPROTO_UDPLITE___388 = 136,
    IPPROTO_MPLS___388 = 137,
    IPPROTO_RAW___388 = 255,
    IPPROTO_MAX___388 = 256
} ;
enum __anonenum_218739988___388 {
    IPPROTO_HOPOPTS___388 = 0,
    IPPROTO_ROUTING___388 = 43,
    IPPROTO_FRAGMENT___388 = 44,
    IPPROTO_ICMPV6___388 = 58,
    IPPROTO_NONE___388 = 59,
    IPPROTO_DSTOPTS___388 = 60,
    IPPROTO_MH___388 = 135
} ;
enum __anonenum_662268580___388 {
    IPPORT_ECHO___388 = 7,
    IPPORT_DISCARD___388 = 9,
    IPPORT_SYSTAT___388 = 11,
    IPPORT_DAYTIME___388 = 13,
    IPPORT_NETSTAT___388 = 15,
    IPPORT_FTP___388 = 21,
    IPPORT_TELNET___388 = 23,
    IPPORT_SMTP___388 = 25,
    IPPORT_TIMESERVER___388 = 37,
    IPPORT_NAMESERVER___388 = 42,
    IPPORT_WHOIS___388 = 43,
    IPPORT_MTP___388 = 57,
    IPPORT_TFTP___388 = 69,
    IPPORT_RJE___388 = 77,
    IPPORT_FINGER___388 = 79,
    IPPORT_TTYLINK___388 = 87,
    IPPORT_SUPDUP___388 = 95,
    IPPORT_EXECSERVER___388 = 512,
    IPPORT_LOGINSERVER___388 = 513,
    IPPORT_CMDSERVER___388 = 514,
    IPPORT_EFSSERVER___388 = 520,
    IPPORT_BIFFUDP___388 = 512,
    IPPORT_WHOSERVER___388 = 513,
    IPPORT_ROUTESERVER___388 = 520,
    IPPORT_RESERVED___388 = 1024,
    IPPORT_USERRESERVED___388 = 5000
} ;
enum __anonenum_788308992___388 {
    TCP_ESTABLISHED___388 = 1,
    TCP_SYN_SENT___388 = 2,
    TCP_SYN_RECV___388 = 3,
    TCP_FIN_WAIT1___388 = 4,
    TCP_FIN_WAIT2___388 = 5,
    TCP_TIME_WAIT___388 = 6,
    TCP_CLOSE___388 = 7,
    TCP_CLOSE_WAIT___388 = 8,
    TCP_LAST_ACK___388 = 9,
    TCP_LISTEN___388 = 10,
    TCP_CLOSING___388 = 11
} ;
enum __anonenum_221125648___388 {
    TCP_NO_QUEUE___388 = 0,
    TCP_RECV_QUEUE___388 = 1,
    TCP_SEND_QUEUE___388 = 2,
    TCP_QUEUES_NR___388 = 3
} ;
enum __anonenum_34415463___388 {
    PTHREAD_CREATE_JOINABLE___388 = 0,
    PTHREAD_CREATE_DETACHED___388 = 1
} ;
enum __anonenum_303612439___388 {
    PTHREAD_MUTEX_TIMED_NP___388 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___388 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___388 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___388 = 3,
    PTHREAD_MUTEX_NORMAL___388 = 0,
    PTHREAD_MUTEX_RECURSIVE___388 = 1,
    PTHREAD_MUTEX_ERRORCHECK___388 = 2,
    PTHREAD_MUTEX_DEFAULT___388 = 0,
    PTHREAD_MUTEX_FAST_NP___388 = 0
} ;
enum __anonenum_931900394___388 {
    PTHREAD_MUTEX_STALLED___388 = 0,
    PTHREAD_MUTEX_STALLED_NP___388 = 0,
    PTHREAD_MUTEX_ROBUST___388 = 1,
    PTHREAD_MUTEX_ROBUST_NP___388 = 1
} ;
enum __anonenum_205214487___388 {
    PTHREAD_PRIO_NONE___388 = 0,
    PTHREAD_PRIO_INHERIT___388 = 1,
    PTHREAD_PRIO_PROTECT___388 = 2
} ;
enum __anonenum_25043950___388 {
    PTHREAD_RWLOCK_PREFER_READER_NP___388 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___388 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___388 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___388 = 0
} ;
enum __anonenum_436439511___388 {
    PTHREAD_INHERIT_SCHED___388 = 0,
    PTHREAD_EXPLICIT_SCHED___388 = 1
} ;
enum __anonenum_998661166___388 {
    PTHREAD_SCOPE_SYSTEM___388 = 0,
    PTHREAD_SCOPE_PROCESS___388 = 1
} ;
enum __anonenum_146137331___388 {
    PTHREAD_PROCESS_PRIVATE___388 = 0,
    PTHREAD_PROCESS_SHARED___388 = 1
} ;
enum __anonenum_53396917___388 {
    PTHREAD_CANCEL_ENABLE___388 = 0,
    PTHREAD_CANCEL_DISABLE___388 = 1
} ;
enum __anonenum_904563783___388 {
    PTHREAD_CANCEL_DEFERRED___388 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___388 = 1
} ;
enum __anonenum_672052974___388 {
    SSL_CT_VALIDATION_PERMISSIVE___388 = 0,
    SSL_CT_VALIDATION_STRICT___388 = 1
} ;
enum __anonenum_561748495___35 {
    RECURSE_SUBMODULES_ONLY___35 = -5,
    RECURSE_SUBMODULES_CHECK___35 = -4,
    RECURSE_SUBMODULES_ERROR___35 = -3,
    RECURSE_SUBMODULES_NONE___35 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___35 = -1,
    RECURSE_SUBMODULES_OFF___35 = 0,
    RECURSE_SUBMODULES_DEFAULT___35 = 1,
    RECURSE_SUBMODULES_ON___35 = 2
} ;
struct add_opts {
   int force ;
   int detach ;
   int quiet ;
   int checkout ;
   char const   *keep_locked ;
};
enum __anonenum_437032235___389 {
    _PC_LINK_MAX___389 = 0,
    _PC_MAX_CANON___389 = 1,
    _PC_MAX_INPUT___389 = 2,
    _PC_NAME_MAX___389 = 3,
    _PC_PATH_MAX___389 = 4,
    _PC_PIPE_BUF___389 = 5,
    _PC_CHOWN_RESTRICTED___389 = 6,
    _PC_NO_TRUNC___389 = 7,
    _PC_VDISABLE___389 = 8,
    _PC_SYNC_IO___389 = 9,
    _PC_ASYNC_IO___389 = 10,
    _PC_PRIO_IO___389 = 11,
    _PC_SOCK_MAXBUF___389 = 12,
    _PC_FILESIZEBITS___389 = 13,
    _PC_REC_INCR_XFER_SIZE___389 = 14,
    _PC_REC_MAX_XFER_SIZE___389 = 15,
    _PC_REC_MIN_XFER_SIZE___389 = 16,
    _PC_REC_XFER_ALIGN___389 = 17,
    _PC_ALLOC_SIZE_MIN___389 = 18,
    _PC_SYMLINK_MAX___389 = 19,
    _PC_2_SYMLINKS___389 = 20
} ;
enum __anonenum_315186338___389 {
    _SC_ARG_MAX___389 = 0,
    _SC_CHILD_MAX___389 = 1,
    _SC_CLK_TCK___389 = 2,
    _SC_NGROUPS_MAX___389 = 3,
    _SC_OPEN_MAX___389 = 4,
    _SC_STREAM_MAX___389 = 5,
    _SC_TZNAME_MAX___389 = 6,
    _SC_JOB_CONTROL___389 = 7,
    _SC_SAVED_IDS___389 = 8,
    _SC_REALTIME_SIGNALS___389 = 9,
    _SC_PRIORITY_SCHEDULING___389 = 10,
    _SC_TIMERS___389 = 11,
    _SC_ASYNCHRONOUS_IO___389 = 12,
    _SC_PRIORITIZED_IO___389 = 13,
    _SC_SYNCHRONIZED_IO___389 = 14,
    _SC_FSYNC___389 = 15,
    _SC_MAPPED_FILES___389 = 16,
    _SC_MEMLOCK___389 = 17,
    _SC_MEMLOCK_RANGE___389 = 18,
    _SC_MEMORY_PROTECTION___389 = 19,
    _SC_MESSAGE_PASSING___389 = 20,
    _SC_SEMAPHORES___389 = 21,
    _SC_SHARED_MEMORY_OBJECTS___389 = 22,
    _SC_AIO_LISTIO_MAX___389 = 23,
    _SC_AIO_MAX___389 = 24,
    _SC_AIO_PRIO_DELTA_MAX___389 = 25,
    _SC_DELAYTIMER_MAX___389 = 26,
    _SC_MQ_OPEN_MAX___389 = 27,
    _SC_MQ_PRIO_MAX___389 = 28,
    _SC_VERSION___389 = 29,
    _SC_PAGESIZE___389 = 30,
    _SC_RTSIG_MAX___389 = 31,
    _SC_SEM_NSEMS_MAX___389 = 32,
    _SC_SEM_VALUE_MAX___389 = 33,
    _SC_SIGQUEUE_MAX___389 = 34,
    _SC_TIMER_MAX___389 = 35,
    _SC_BC_BASE_MAX___389 = 36,
    _SC_BC_DIM_MAX___389 = 37,
    _SC_BC_SCALE_MAX___389 = 38,
    _SC_BC_STRING_MAX___389 = 39,
    _SC_COLL_WEIGHTS_MAX___389 = 40,
    _SC_EQUIV_CLASS_MAX___389 = 41,
    _SC_EXPR_NEST_MAX___389 = 42,
    _SC_LINE_MAX___389 = 43,
    _SC_RE_DUP_MAX___389 = 44,
    _SC_CHARCLASS_NAME_MAX___389 = 45,
    _SC_2_VERSION___389 = 46,
    _SC_2_C_BIND___389 = 47,
    _SC_2_C_DEV___389 = 48,
    _SC_2_FORT_DEV___389 = 49,
    _SC_2_FORT_RUN___389 = 50,
    _SC_2_SW_DEV___389 = 51,
    _SC_2_LOCALEDEF___389 = 52,
    _SC_PII___389 = 53,
    _SC_PII_XTI___389 = 54,
    _SC_PII_SOCKET___389 = 55,
    _SC_PII_INTERNET___389 = 56,
    _SC_PII_OSI___389 = 57,
    _SC_POLL___389 = 58,
    _SC_SELECT___389 = 59,
    _SC_UIO_MAXIOV___389 = 60,
    _SC_IOV_MAX___389 = 60,
    _SC_PII_INTERNET_STREAM___389 = 61,
    _SC_PII_INTERNET_DGRAM___389 = 62,
    _SC_PII_OSI_COTS___389 = 63,
    _SC_PII_OSI_CLTS___389 = 64,
    _SC_PII_OSI_M___389 = 65,
    _SC_T_IOV_MAX___389 = 66,
    _SC_THREADS___389 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___389 = 68,
    _SC_GETGR_R_SIZE_MAX___389 = 69,
    _SC_GETPW_R_SIZE_MAX___389 = 70,
    _SC_LOGIN_NAME_MAX___389 = 71,
    _SC_TTY_NAME_MAX___389 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___389 = 73,
    _SC_THREAD_KEYS_MAX___389 = 74,
    _SC_THREAD_STACK_MIN___389 = 75,
    _SC_THREAD_THREADS_MAX___389 = 76,
    _SC_THREAD_ATTR_STACKADDR___389 = 77,
    _SC_THREAD_ATTR_STACKSIZE___389 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___389 = 79,
    _SC_THREAD_PRIO_INHERIT___389 = 80,
    _SC_THREAD_PRIO_PROTECT___389 = 81,
    _SC_THREAD_PROCESS_SHARED___389 = 82,
    _SC_NPROCESSORS_CONF___389 = 83,
    _SC_NPROCESSORS_ONLN___389 = 84,
    _SC_PHYS_PAGES___389 = 85,
    _SC_AVPHYS_PAGES___389 = 86,
    _SC_ATEXIT_MAX___389 = 87,
    _SC_PASS_MAX___389 = 88,
    _SC_XOPEN_VERSION___389 = 89,
    _SC_XOPEN_XCU_VERSION___389 = 90,
    _SC_XOPEN_UNIX___389 = 91,
    _SC_XOPEN_CRYPT___389 = 92,
    _SC_XOPEN_ENH_I18N___389 = 93,
    _SC_XOPEN_SHM___389 = 94,
    _SC_2_CHAR_TERM___389 = 95,
    _SC_2_C_VERSION___389 = 96,
    _SC_2_UPE___389 = 97,
    _SC_XOPEN_XPG2___389 = 98,
    _SC_XOPEN_XPG3___389 = 99,
    _SC_XOPEN_XPG4___389 = 100,
    _SC_CHAR_BIT___389 = 101,
    _SC_CHAR_MAX___389 = 102,
    _SC_CHAR_MIN___389 = 103,
    _SC_INT_MAX___389 = 104,
    _SC_INT_MIN___389 = 105,
    _SC_LONG_BIT___389 = 106,
    _SC_WORD_BIT___389 = 107,
    _SC_MB_LEN_MAX___389 = 108,
    _SC_NZERO___389 = 109,
    _SC_SSIZE_MAX___389 = 110,
    _SC_SCHAR_MAX___389 = 111,
    _SC_SCHAR_MIN___389 = 112,
    _SC_SHRT_MAX___389 = 113,
    _SC_SHRT_MIN___389 = 114,
    _SC_UCHAR_MAX___389 = 115,
    _SC_UINT_MAX___389 = 116,
    _SC_ULONG_MAX___389 = 117,
    _SC_USHRT_MAX___389 = 118,
    _SC_NL_ARGMAX___389 = 119,
    _SC_NL_LANGMAX___389 = 120,
    _SC_NL_MSGMAX___389 = 121,
    _SC_NL_NMAX___389 = 122,
    _SC_NL_SETMAX___389 = 123,
    _SC_NL_TEXTMAX___389 = 124,
    _SC_XBS5_ILP32_OFF32___389 = 125,
    _SC_XBS5_ILP32_OFFBIG___389 = 126,
    _SC_XBS5_LP64_OFF64___389 = 127,
    _SC_XBS5_LPBIG_OFFBIG___389 = 128,
    _SC_XOPEN_LEGACY___389 = 129,
    _SC_XOPEN_REALTIME___389 = 130,
    _SC_XOPEN_REALTIME_THREADS___389 = 131,
    _SC_ADVISORY_INFO___389 = 132,
    _SC_BARRIERS___389 = 133,
    _SC_BASE___389 = 134,
    _SC_C_LANG_SUPPORT___389 = 135,
    _SC_C_LANG_SUPPORT_R___389 = 136,
    _SC_CLOCK_SELECTION___389 = 137,
    _SC_CPUTIME___389 = 138,
    _SC_THREAD_CPUTIME___389 = 139,
    _SC_DEVICE_IO___389 = 140,
    _SC_DEVICE_SPECIFIC___389 = 141,
    _SC_DEVICE_SPECIFIC_R___389 = 142,
    _SC_FD_MGMT___389 = 143,
    _SC_FIFO___389 = 144,
    _SC_PIPE___389 = 145,
    _SC_FILE_ATTRIBUTES___389 = 146,
    _SC_FILE_LOCKING___389 = 147,
    _SC_FILE_SYSTEM___389 = 148,
    _SC_MONOTONIC_CLOCK___389 = 149,
    _SC_MULTI_PROCESS___389 = 150,
    _SC_SINGLE_PROCESS___389 = 151,
    _SC_NETWORKING___389 = 152,
    _SC_READER_WRITER_LOCKS___389 = 153,
    _SC_SPIN_LOCKS___389 = 154,
    _SC_REGEXP___389 = 155,
    _SC_REGEX_VERSION___389 = 156,
    _SC_SHELL___389 = 157,
    _SC_SIGNALS___389 = 158,
    _SC_SPAWN___389 = 159,
    _SC_SPORADIC_SERVER___389 = 160,
    _SC_THREAD_SPORADIC_SERVER___389 = 161,
    _SC_SYSTEM_DATABASE___389 = 162,
    _SC_SYSTEM_DATABASE_R___389 = 163,
    _SC_TIMEOUTS___389 = 164,
    _SC_TYPED_MEMORY_OBJECTS___389 = 165,
    _SC_USER_GROUPS___389 = 166,
    _SC_USER_GROUPS_R___389 = 167,
    _SC_2_PBS___389 = 168,
    _SC_2_PBS_ACCOUNTING___389 = 169,
    _SC_2_PBS_LOCATE___389 = 170,
    _SC_2_PBS_MESSAGE___389 = 171,
    _SC_2_PBS_TRACK___389 = 172,
    _SC_SYMLOOP_MAX___389 = 173,
    _SC_STREAMS___389 = 174,
    _SC_2_PBS_CHECKPOINT___389 = 175,
    _SC_V6_ILP32_OFF32___389 = 176,
    _SC_V6_ILP32_OFFBIG___389 = 177,
    _SC_V6_LP64_OFF64___389 = 178,
    _SC_V6_LPBIG_OFFBIG___389 = 179,
    _SC_HOST_NAME_MAX___389 = 180,
    _SC_TRACE___389 = 181,
    _SC_TRACE_EVENT_FILTER___389 = 182,
    _SC_TRACE_INHERIT___389 = 183,
    _SC_TRACE_LOG___389 = 184,
    _SC_LEVEL1_ICACHE_SIZE___389 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___389 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___389 = 187,
    _SC_LEVEL1_DCACHE_SIZE___389 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___389 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___389 = 190,
    _SC_LEVEL2_CACHE_SIZE___389 = 191,
    _SC_LEVEL2_CACHE_ASSOC___389 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___389 = 193,
    _SC_LEVEL3_CACHE_SIZE___389 = 194,
    _SC_LEVEL3_CACHE_ASSOC___389 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___389 = 196,
    _SC_LEVEL4_CACHE_SIZE___389 = 197,
    _SC_LEVEL4_CACHE_ASSOC___389 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___389 = 199,
    _SC_IPV6___389 = 235,
    _SC_RAW_SOCKETS___389 = 236,
    _SC_V7_ILP32_OFF32___389 = 237,
    _SC_V7_ILP32_OFFBIG___389 = 238,
    _SC_V7_LP64_OFF64___389 = 239,
    _SC_V7_LPBIG_OFFBIG___389 = 240,
    _SC_SS_REPL_MAX___389 = 241,
    _SC_TRACE_EVENT_NAME_MAX___389 = 242,
    _SC_TRACE_NAME_MAX___389 = 243,
    _SC_TRACE_SYS_MAX___389 = 244,
    _SC_TRACE_USER_EVENT_MAX___389 = 245,
    _SC_XOPEN_STREAMS___389 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___389 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___389 = 248
} ;
enum __anonenum_875524036___389 {
    _CS_PATH___389 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___389 = 1,
    _CS_GNU_LIBC_VERSION___389 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___389 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___389 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___389 = 5,
    _CS_LFS_CFLAGS___389 = 1000,
    _CS_LFS_LDFLAGS___389 = 1001,
    _CS_LFS_LIBS___389 = 1002,
    _CS_LFS_LINTFLAGS___389 = 1003,
    _CS_LFS64_CFLAGS___389 = 1004,
    _CS_LFS64_LDFLAGS___389 = 1005,
    _CS_LFS64_LIBS___389 = 1006,
    _CS_LFS64_LINTFLAGS___389 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___389 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___389 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___389 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___389 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___389 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___389 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___389 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___389 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___389 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___389 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___389 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___389 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___389 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___389 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___389 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___389 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___389 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___389 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___389 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___389 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___389 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___389 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___389 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___389 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___389 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___389 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___389 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___389 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___389 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___389 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___389 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___389 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___389 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___389 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___389 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___389 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___389 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___389 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___389 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___389 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___389 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___389 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___389 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___389 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___389 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___389 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___389 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___389 = 1147,
    _CS_V6_ENV___389 = 1148,
    _CS_V7_ENV___389 = 1149
} ;
enum __anonenum_513775621___389 {
    DT_UNKNOWN___389 = 0,
    DT_FIFO___389 = 1,
    DT_CHR___389 = 2,
    DT_DIR___389 = 4,
    DT_BLK___389 = 6,
    DT_REG___389 = 8,
    DT_LNK___389 = 10,
    DT_SOCK___389 = 12,
    DT_WHT___389 = 14
} ;
enum __anonenum_77002343___389 {
    SI_ASYNCNL___389 = -60,
    SI_TKILL___389 = -6,
    SI_SIGIO___389 = -5,
    SI_ASYNCIO___389 = -4,
    SI_MESGQ___389 = -3,
    SI_TIMER___389 = -2,
    SI_QUEUE___389 = -1,
    SI_USER___389 = 0,
    SI_KERNEL___389 = 128
} ;
enum __anonenum_131038172___389 {
    ILL_ILLOPC___389 = 1,
    ILL_ILLOPN___389 = 2,
    ILL_ILLADR___389 = 3,
    ILL_ILLTRP___389 = 4,
    ILL_PRVOPC___389 = 5,
    ILL_PRVREG___389 = 6,
    ILL_COPROC___389 = 7,
    ILL_BADSTK___389 = 8
} ;
enum __anonenum_452038093___389 {
    FPE_INTDIV___389 = 1,
    FPE_INTOVF___389 = 2,
    FPE_FLTDIV___389 = 3,
    FPE_FLTOVF___389 = 4,
    FPE_FLTUND___389 = 5,
    FPE_FLTRES___389 = 6,
    FPE_FLTINV___389 = 7,
    FPE_FLTSUB___389 = 8
} ;
enum __anonenum_30976155___389 {
    SEGV_MAPERR___389 = 1,
    SEGV_ACCERR___389 = 2,
    SEGV_BNDERR___389 = 3,
    SEGV_PKUERR___389 = 4
} ;
enum __anonenum_1036286214___389 {
    BUS_ADRALN___389 = 1,
    BUS_ADRERR___389 = 2,
    BUS_OBJERR___389 = 3,
    BUS_MCEERR_AR___389 = 4,
    BUS_MCEERR_AO___389 = 5
} ;
enum __anonenum_493465559___389 {
    TRAP_BRKPT___389 = 1,
    TRAP_TRACE___389 = 2
} ;
enum __anonenum_23175539___389 {
    CLD_EXITED___389 = 1,
    CLD_KILLED___389 = 2,
    CLD_DUMPED___389 = 3,
    CLD_TRAPPED___389 = 4,
    CLD_STOPPED___389 = 5,
    CLD_CONTINUED___389 = 6
} ;
enum __anonenum_111643124___389 {
    POLL_IN___389 = 1,
    POLL_OUT___389 = 2,
    POLL_MSG___389 = 3,
    POLL_ERR___389 = 4,
    POLL_PRI___389 = 5,
    POLL_HUP___389 = 6
} ;
enum __anonenum_852341087___389 {
    SIGEV_SIGNAL___389 = 0,
    SIGEV_NONE___389 = 1,
    SIGEV_THREAD___389 = 2,
    SIGEV_THREAD_ID___389 = 4
} ;
enum __anonenum_451154152___389 {
    REG_R8___389 = 0,
    REG_R9___389 = 1,
    REG_R10___389 = 2,
    REG_R11___389 = 3,
    REG_R12___389 = 4,
    REG_R13___389 = 5,
    REG_R14___389 = 6,
    REG_R15___389 = 7,
    REG_RDI___389 = 8,
    REG_RSI___389 = 9,
    REG_RBP___389 = 10,
    REG_RBX___389 = 11,
    REG_RDX___389 = 12,
    REG_RAX___389 = 13,
    REG_RCX___389 = 14,
    REG_RSP___389 = 15,
    REG_RIP___389 = 16,
    REG_EFL___389 = 17,
    REG_CSGSFS___389 = 18,
    REG_ERR___389 = 19,
    REG_TRAPNO___389 = 20,
    REG_OLDMASK___389 = 21,
    REG_CR2___389 = 22
} ;
enum __anonenum_57186863___389 {
    SS_ONSTACK___389 = 1,
    SS_DISABLE___389 = 2
} ;
enum __anonenum_83571709___389 {
    MSG_OOB___389 = 1,
    MSG_PEEK___389 = 2,
    MSG_DONTROUTE___389 = 4,
    MSG_TRYHARD___389 = 4,
    MSG_CTRUNC___389 = 8,
    MSG_PROXY___389 = 16,
    MSG_TRUNC___389 = 32,
    MSG_DONTWAIT___389 = 64,
    MSG_EOR___389 = 128,
    MSG_WAITALL___389 = 256,
    MSG_FIN___389 = 512,
    MSG_SYN___389 = 1024,
    MSG_CONFIRM___389 = 2048,
    MSG_RST___389 = 4096,
    MSG_ERRQUEUE___389 = 8192,
    MSG_NOSIGNAL___389 = 16384,
    MSG_MORE___389 = 32768,
    MSG_WAITFORONE___389 = 65536,
    MSG_BATCH___389 = 262144,
    MSG_ZEROCOPY___389 = 67108864,
    MSG_FASTOPEN___389 = 536870912,
    MSG_CMSG_CLOEXEC___389 = 1073741824
} ;
enum __anonenum_617082774___389 {
    SCM_RIGHTS___389 = 1,
    SCM_CREDENTIALS___389 = 2
} ;
enum __anonenum_606441560___389 {
    SHUT_RD___389 = 0,
    SHUT_WR___389 = 1,
    SHUT_RDWR___389 = 2
} ;
enum __anonenum_681669233___389 {
    IPPROTO_IP___389 = 0,
    IPPROTO_ICMP___389 = 1,
    IPPROTO_IGMP___389 = 2,
    IPPROTO_IPIP___389 = 4,
    IPPROTO_TCP___389 = 6,
    IPPROTO_EGP___389 = 8,
    IPPROTO_PUP___389 = 12,
    IPPROTO_UDP___389 = 17,
    IPPROTO_IDP___389 = 22,
    IPPROTO_TP___389 = 29,
    IPPROTO_DCCP___389 = 33,
    IPPROTO_IPV6___389 = 41,
    IPPROTO_RSVP___389 = 46,
    IPPROTO_GRE___389 = 47,
    IPPROTO_ESP___389 = 50,
    IPPROTO_AH___389 = 51,
    IPPROTO_MTP___389 = 92,
    IPPROTO_BEETPH___389 = 94,
    IPPROTO_ENCAP___389 = 98,
    IPPROTO_PIM___389 = 103,
    IPPROTO_COMP___389 = 108,
    IPPROTO_SCTP___389 = 132,
    IPPROTO_UDPLITE___389 = 136,
    IPPROTO_MPLS___389 = 137,
    IPPROTO_RAW___389 = 255,
    IPPROTO_MAX___389 = 256
} ;
enum __anonenum_218739988___389 {
    IPPROTO_HOPOPTS___389 = 0,
    IPPROTO_ROUTING___389 = 43,
    IPPROTO_FRAGMENT___389 = 44,
    IPPROTO_ICMPV6___389 = 58,
    IPPROTO_NONE___389 = 59,
    IPPROTO_DSTOPTS___389 = 60,
    IPPROTO_MH___389 = 135
} ;
enum __anonenum_662268580___389 {
    IPPORT_ECHO___389 = 7,
    IPPORT_DISCARD___389 = 9,
    IPPORT_SYSTAT___389 = 11,
    IPPORT_DAYTIME___389 = 13,
    IPPORT_NETSTAT___389 = 15,
    IPPORT_FTP___389 = 21,
    IPPORT_TELNET___389 = 23,
    IPPORT_SMTP___389 = 25,
    IPPORT_TIMESERVER___389 = 37,
    IPPORT_NAMESERVER___389 = 42,
    IPPORT_WHOIS___389 = 43,
    IPPORT_MTP___389 = 57,
    IPPORT_TFTP___389 = 69,
    IPPORT_RJE___389 = 77,
    IPPORT_FINGER___389 = 79,
    IPPORT_TTYLINK___389 = 87,
    IPPORT_SUPDUP___389 = 95,
    IPPORT_EXECSERVER___389 = 512,
    IPPORT_LOGINSERVER___389 = 513,
    IPPORT_CMDSERVER___389 = 514,
    IPPORT_EFSSERVER___389 = 520,
    IPPORT_BIFFUDP___389 = 512,
    IPPORT_WHOSERVER___389 = 513,
    IPPORT_ROUTESERVER___389 = 520,
    IPPORT_RESERVED___389 = 1024,
    IPPORT_USERRESERVED___389 = 5000
} ;
enum __anonenum_788308992___389 {
    TCP_ESTABLISHED___389 = 1,
    TCP_SYN_SENT___389 = 2,
    TCP_SYN_RECV___389 = 3,
    TCP_FIN_WAIT1___389 = 4,
    TCP_FIN_WAIT2___389 = 5,
    TCP_TIME_WAIT___389 = 6,
    TCP_CLOSE___389 = 7,
    TCP_CLOSE_WAIT___389 = 8,
    TCP_LAST_ACK___389 = 9,
    TCP_LISTEN___389 = 10,
    TCP_CLOSING___389 = 11
} ;
enum __anonenum_221125648___389 {
    TCP_NO_QUEUE___389 = 0,
    TCP_RECV_QUEUE___389 = 1,
    TCP_SEND_QUEUE___389 = 2,
    TCP_QUEUES_NR___389 = 3
} ;
enum __anonenum_34415463___389 {
    PTHREAD_CREATE_JOINABLE___389 = 0,
    PTHREAD_CREATE_DETACHED___389 = 1
} ;
enum __anonenum_303612439___389 {
    PTHREAD_MUTEX_TIMED_NP___389 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___389 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___389 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___389 = 3,
    PTHREAD_MUTEX_NORMAL___389 = 0,
    PTHREAD_MUTEX_RECURSIVE___389 = 1,
    PTHREAD_MUTEX_ERRORCHECK___389 = 2,
    PTHREAD_MUTEX_DEFAULT___389 = 0,
    PTHREAD_MUTEX_FAST_NP___389 = 0
} ;
enum __anonenum_931900394___389 {
    PTHREAD_MUTEX_STALLED___389 = 0,
    PTHREAD_MUTEX_STALLED_NP___389 = 0,
    PTHREAD_MUTEX_ROBUST___389 = 1,
    PTHREAD_MUTEX_ROBUST_NP___389 = 1
} ;
enum __anonenum_205214487___389 {
    PTHREAD_PRIO_NONE___389 = 0,
    PTHREAD_PRIO_INHERIT___389 = 1,
    PTHREAD_PRIO_PROTECT___389 = 2
} ;
enum __anonenum_25043950___389 {
    PTHREAD_RWLOCK_PREFER_READER_NP___389 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___389 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___389 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___389 = 0
} ;
enum __anonenum_436439511___389 {
    PTHREAD_INHERIT_SCHED___389 = 0,
    PTHREAD_EXPLICIT_SCHED___389 = 1
} ;
enum __anonenum_998661166___389 {
    PTHREAD_SCOPE_SYSTEM___389 = 0,
    PTHREAD_SCOPE_PROCESS___389 = 1
} ;
enum __anonenum_146137331___389 {
    PTHREAD_PROCESS_PRIVATE___389 = 0,
    PTHREAD_PROCESS_SHARED___389 = 1
} ;
enum __anonenum_53396917___389 {
    PTHREAD_CANCEL_ENABLE___389 = 0,
    PTHREAD_CANCEL_DISABLE___389 = 1
} ;
enum __anonenum_904563783___389 {
    PTHREAD_CANCEL_DEFERRED___389 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___389 = 1
} ;
enum __anonenum_672052974___389 {
    SSL_CT_VALIDATION_PERMISSIVE___389 = 0,
    SSL_CT_VALIDATION_STRICT___389 = 1
} ;
enum __anonenum_437032235___390 {
    _PC_LINK_MAX___390 = 0,
    _PC_MAX_CANON___390 = 1,
    _PC_MAX_INPUT___390 = 2,
    _PC_NAME_MAX___390 = 3,
    _PC_PATH_MAX___390 = 4,
    _PC_PIPE_BUF___390 = 5,
    _PC_CHOWN_RESTRICTED___390 = 6,
    _PC_NO_TRUNC___390 = 7,
    _PC_VDISABLE___390 = 8,
    _PC_SYNC_IO___390 = 9,
    _PC_ASYNC_IO___390 = 10,
    _PC_PRIO_IO___390 = 11,
    _PC_SOCK_MAXBUF___390 = 12,
    _PC_FILESIZEBITS___390 = 13,
    _PC_REC_INCR_XFER_SIZE___390 = 14,
    _PC_REC_MAX_XFER_SIZE___390 = 15,
    _PC_REC_MIN_XFER_SIZE___390 = 16,
    _PC_REC_XFER_ALIGN___390 = 17,
    _PC_ALLOC_SIZE_MIN___390 = 18,
    _PC_SYMLINK_MAX___390 = 19,
    _PC_2_SYMLINKS___390 = 20
} ;
enum __anonenum_315186338___390 {
    _SC_ARG_MAX___390 = 0,
    _SC_CHILD_MAX___390 = 1,
    _SC_CLK_TCK___390 = 2,
    _SC_NGROUPS_MAX___390 = 3,
    _SC_OPEN_MAX___390 = 4,
    _SC_STREAM_MAX___390 = 5,
    _SC_TZNAME_MAX___390 = 6,
    _SC_JOB_CONTROL___390 = 7,
    _SC_SAVED_IDS___390 = 8,
    _SC_REALTIME_SIGNALS___390 = 9,
    _SC_PRIORITY_SCHEDULING___390 = 10,
    _SC_TIMERS___390 = 11,
    _SC_ASYNCHRONOUS_IO___390 = 12,
    _SC_PRIORITIZED_IO___390 = 13,
    _SC_SYNCHRONIZED_IO___390 = 14,
    _SC_FSYNC___390 = 15,
    _SC_MAPPED_FILES___390 = 16,
    _SC_MEMLOCK___390 = 17,
    _SC_MEMLOCK_RANGE___390 = 18,
    _SC_MEMORY_PROTECTION___390 = 19,
    _SC_MESSAGE_PASSING___390 = 20,
    _SC_SEMAPHORES___390 = 21,
    _SC_SHARED_MEMORY_OBJECTS___390 = 22,
    _SC_AIO_LISTIO_MAX___390 = 23,
    _SC_AIO_MAX___390 = 24,
    _SC_AIO_PRIO_DELTA_MAX___390 = 25,
    _SC_DELAYTIMER_MAX___390 = 26,
    _SC_MQ_OPEN_MAX___390 = 27,
    _SC_MQ_PRIO_MAX___390 = 28,
    _SC_VERSION___390 = 29,
    _SC_PAGESIZE___390 = 30,
    _SC_RTSIG_MAX___390 = 31,
    _SC_SEM_NSEMS_MAX___390 = 32,
    _SC_SEM_VALUE_MAX___390 = 33,
    _SC_SIGQUEUE_MAX___390 = 34,
    _SC_TIMER_MAX___390 = 35,
    _SC_BC_BASE_MAX___390 = 36,
    _SC_BC_DIM_MAX___390 = 37,
    _SC_BC_SCALE_MAX___390 = 38,
    _SC_BC_STRING_MAX___390 = 39,
    _SC_COLL_WEIGHTS_MAX___390 = 40,
    _SC_EQUIV_CLASS_MAX___390 = 41,
    _SC_EXPR_NEST_MAX___390 = 42,
    _SC_LINE_MAX___390 = 43,
    _SC_RE_DUP_MAX___390 = 44,
    _SC_CHARCLASS_NAME_MAX___390 = 45,
    _SC_2_VERSION___390 = 46,
    _SC_2_C_BIND___390 = 47,
    _SC_2_C_DEV___390 = 48,
    _SC_2_FORT_DEV___390 = 49,
    _SC_2_FORT_RUN___390 = 50,
    _SC_2_SW_DEV___390 = 51,
    _SC_2_LOCALEDEF___390 = 52,
    _SC_PII___390 = 53,
    _SC_PII_XTI___390 = 54,
    _SC_PII_SOCKET___390 = 55,
    _SC_PII_INTERNET___390 = 56,
    _SC_PII_OSI___390 = 57,
    _SC_POLL___390 = 58,
    _SC_SELECT___390 = 59,
    _SC_UIO_MAXIOV___390 = 60,
    _SC_IOV_MAX___390 = 60,
    _SC_PII_INTERNET_STREAM___390 = 61,
    _SC_PII_INTERNET_DGRAM___390 = 62,
    _SC_PII_OSI_COTS___390 = 63,
    _SC_PII_OSI_CLTS___390 = 64,
    _SC_PII_OSI_M___390 = 65,
    _SC_T_IOV_MAX___390 = 66,
    _SC_THREADS___390 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___390 = 68,
    _SC_GETGR_R_SIZE_MAX___390 = 69,
    _SC_GETPW_R_SIZE_MAX___390 = 70,
    _SC_LOGIN_NAME_MAX___390 = 71,
    _SC_TTY_NAME_MAX___390 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___390 = 73,
    _SC_THREAD_KEYS_MAX___390 = 74,
    _SC_THREAD_STACK_MIN___390 = 75,
    _SC_THREAD_THREADS_MAX___390 = 76,
    _SC_THREAD_ATTR_STACKADDR___390 = 77,
    _SC_THREAD_ATTR_STACKSIZE___390 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___390 = 79,
    _SC_THREAD_PRIO_INHERIT___390 = 80,
    _SC_THREAD_PRIO_PROTECT___390 = 81,
    _SC_THREAD_PROCESS_SHARED___390 = 82,
    _SC_NPROCESSORS_CONF___390 = 83,
    _SC_NPROCESSORS_ONLN___390 = 84,
    _SC_PHYS_PAGES___390 = 85,
    _SC_AVPHYS_PAGES___390 = 86,
    _SC_ATEXIT_MAX___390 = 87,
    _SC_PASS_MAX___390 = 88,
    _SC_XOPEN_VERSION___390 = 89,
    _SC_XOPEN_XCU_VERSION___390 = 90,
    _SC_XOPEN_UNIX___390 = 91,
    _SC_XOPEN_CRYPT___390 = 92,
    _SC_XOPEN_ENH_I18N___390 = 93,
    _SC_XOPEN_SHM___390 = 94,
    _SC_2_CHAR_TERM___390 = 95,
    _SC_2_C_VERSION___390 = 96,
    _SC_2_UPE___390 = 97,
    _SC_XOPEN_XPG2___390 = 98,
    _SC_XOPEN_XPG3___390 = 99,
    _SC_XOPEN_XPG4___390 = 100,
    _SC_CHAR_BIT___390 = 101,
    _SC_CHAR_MAX___390 = 102,
    _SC_CHAR_MIN___390 = 103,
    _SC_INT_MAX___390 = 104,
    _SC_INT_MIN___390 = 105,
    _SC_LONG_BIT___390 = 106,
    _SC_WORD_BIT___390 = 107,
    _SC_MB_LEN_MAX___390 = 108,
    _SC_NZERO___390 = 109,
    _SC_SSIZE_MAX___390 = 110,
    _SC_SCHAR_MAX___390 = 111,
    _SC_SCHAR_MIN___390 = 112,
    _SC_SHRT_MAX___390 = 113,
    _SC_SHRT_MIN___390 = 114,
    _SC_UCHAR_MAX___390 = 115,
    _SC_UINT_MAX___390 = 116,
    _SC_ULONG_MAX___390 = 117,
    _SC_USHRT_MAX___390 = 118,
    _SC_NL_ARGMAX___390 = 119,
    _SC_NL_LANGMAX___390 = 120,
    _SC_NL_MSGMAX___390 = 121,
    _SC_NL_NMAX___390 = 122,
    _SC_NL_SETMAX___390 = 123,
    _SC_NL_TEXTMAX___390 = 124,
    _SC_XBS5_ILP32_OFF32___390 = 125,
    _SC_XBS5_ILP32_OFFBIG___390 = 126,
    _SC_XBS5_LP64_OFF64___390 = 127,
    _SC_XBS5_LPBIG_OFFBIG___390 = 128,
    _SC_XOPEN_LEGACY___390 = 129,
    _SC_XOPEN_REALTIME___390 = 130,
    _SC_XOPEN_REALTIME_THREADS___390 = 131,
    _SC_ADVISORY_INFO___390 = 132,
    _SC_BARRIERS___390 = 133,
    _SC_BASE___390 = 134,
    _SC_C_LANG_SUPPORT___390 = 135,
    _SC_C_LANG_SUPPORT_R___390 = 136,
    _SC_CLOCK_SELECTION___390 = 137,
    _SC_CPUTIME___390 = 138,
    _SC_THREAD_CPUTIME___390 = 139,
    _SC_DEVICE_IO___390 = 140,
    _SC_DEVICE_SPECIFIC___390 = 141,
    _SC_DEVICE_SPECIFIC_R___390 = 142,
    _SC_FD_MGMT___390 = 143,
    _SC_FIFO___390 = 144,
    _SC_PIPE___390 = 145,
    _SC_FILE_ATTRIBUTES___390 = 146,
    _SC_FILE_LOCKING___390 = 147,
    _SC_FILE_SYSTEM___390 = 148,
    _SC_MONOTONIC_CLOCK___390 = 149,
    _SC_MULTI_PROCESS___390 = 150,
    _SC_SINGLE_PROCESS___390 = 151,
    _SC_NETWORKING___390 = 152,
    _SC_READER_WRITER_LOCKS___390 = 153,
    _SC_SPIN_LOCKS___390 = 154,
    _SC_REGEXP___390 = 155,
    _SC_REGEX_VERSION___390 = 156,
    _SC_SHELL___390 = 157,
    _SC_SIGNALS___390 = 158,
    _SC_SPAWN___390 = 159,
    _SC_SPORADIC_SERVER___390 = 160,
    _SC_THREAD_SPORADIC_SERVER___390 = 161,
    _SC_SYSTEM_DATABASE___390 = 162,
    _SC_SYSTEM_DATABASE_R___390 = 163,
    _SC_TIMEOUTS___390 = 164,
    _SC_TYPED_MEMORY_OBJECTS___390 = 165,
    _SC_USER_GROUPS___390 = 166,
    _SC_USER_GROUPS_R___390 = 167,
    _SC_2_PBS___390 = 168,
    _SC_2_PBS_ACCOUNTING___390 = 169,
    _SC_2_PBS_LOCATE___390 = 170,
    _SC_2_PBS_MESSAGE___390 = 171,
    _SC_2_PBS_TRACK___390 = 172,
    _SC_SYMLOOP_MAX___390 = 173,
    _SC_STREAMS___390 = 174,
    _SC_2_PBS_CHECKPOINT___390 = 175,
    _SC_V6_ILP32_OFF32___390 = 176,
    _SC_V6_ILP32_OFFBIG___390 = 177,
    _SC_V6_LP64_OFF64___390 = 178,
    _SC_V6_LPBIG_OFFBIG___390 = 179,
    _SC_HOST_NAME_MAX___390 = 180,
    _SC_TRACE___390 = 181,
    _SC_TRACE_EVENT_FILTER___390 = 182,
    _SC_TRACE_INHERIT___390 = 183,
    _SC_TRACE_LOG___390 = 184,
    _SC_LEVEL1_ICACHE_SIZE___390 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___390 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___390 = 187,
    _SC_LEVEL1_DCACHE_SIZE___390 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___390 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___390 = 190,
    _SC_LEVEL2_CACHE_SIZE___390 = 191,
    _SC_LEVEL2_CACHE_ASSOC___390 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___390 = 193,
    _SC_LEVEL3_CACHE_SIZE___390 = 194,
    _SC_LEVEL3_CACHE_ASSOC___390 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___390 = 196,
    _SC_LEVEL4_CACHE_SIZE___390 = 197,
    _SC_LEVEL4_CACHE_ASSOC___390 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___390 = 199,
    _SC_IPV6___390 = 235,
    _SC_RAW_SOCKETS___390 = 236,
    _SC_V7_ILP32_OFF32___390 = 237,
    _SC_V7_ILP32_OFFBIG___390 = 238,
    _SC_V7_LP64_OFF64___390 = 239,
    _SC_V7_LPBIG_OFFBIG___390 = 240,
    _SC_SS_REPL_MAX___390 = 241,
    _SC_TRACE_EVENT_NAME_MAX___390 = 242,
    _SC_TRACE_NAME_MAX___390 = 243,
    _SC_TRACE_SYS_MAX___390 = 244,
    _SC_TRACE_USER_EVENT_MAX___390 = 245,
    _SC_XOPEN_STREAMS___390 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___390 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___390 = 248
} ;
enum __anonenum_875524036___390 {
    _CS_PATH___390 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___390 = 1,
    _CS_GNU_LIBC_VERSION___390 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___390 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___390 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___390 = 5,
    _CS_LFS_CFLAGS___390 = 1000,
    _CS_LFS_LDFLAGS___390 = 1001,
    _CS_LFS_LIBS___390 = 1002,
    _CS_LFS_LINTFLAGS___390 = 1003,
    _CS_LFS64_CFLAGS___390 = 1004,
    _CS_LFS64_LDFLAGS___390 = 1005,
    _CS_LFS64_LIBS___390 = 1006,
    _CS_LFS64_LINTFLAGS___390 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___390 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___390 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___390 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___390 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___390 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___390 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___390 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___390 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___390 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___390 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___390 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___390 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___390 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___390 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___390 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___390 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___390 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___390 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___390 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___390 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___390 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___390 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___390 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___390 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___390 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___390 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___390 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___390 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___390 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___390 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___390 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___390 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___390 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___390 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___390 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___390 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___390 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___390 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___390 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___390 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___390 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___390 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___390 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___390 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___390 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___390 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___390 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___390 = 1147,
    _CS_V6_ENV___390 = 1148,
    _CS_V7_ENV___390 = 1149
} ;
enum __anonenum_513775621___390 {
    DT_UNKNOWN___390 = 0,
    DT_FIFO___390 = 1,
    DT_CHR___390 = 2,
    DT_DIR___390 = 4,
    DT_BLK___390 = 6,
    DT_REG___390 = 8,
    DT_LNK___390 = 10,
    DT_SOCK___390 = 12,
    DT_WHT___390 = 14
} ;
enum __anonenum_77002343___390 {
    SI_ASYNCNL___390 = -60,
    SI_TKILL___390 = -6,
    SI_SIGIO___390 = -5,
    SI_ASYNCIO___390 = -4,
    SI_MESGQ___390 = -3,
    SI_TIMER___390 = -2,
    SI_QUEUE___390 = -1,
    SI_USER___390 = 0,
    SI_KERNEL___390 = 128
} ;
enum __anonenum_131038172___390 {
    ILL_ILLOPC___390 = 1,
    ILL_ILLOPN___390 = 2,
    ILL_ILLADR___390 = 3,
    ILL_ILLTRP___390 = 4,
    ILL_PRVOPC___390 = 5,
    ILL_PRVREG___390 = 6,
    ILL_COPROC___390 = 7,
    ILL_BADSTK___390 = 8
} ;
enum __anonenum_452038093___390 {
    FPE_INTDIV___390 = 1,
    FPE_INTOVF___390 = 2,
    FPE_FLTDIV___390 = 3,
    FPE_FLTOVF___390 = 4,
    FPE_FLTUND___390 = 5,
    FPE_FLTRES___390 = 6,
    FPE_FLTINV___390 = 7,
    FPE_FLTSUB___390 = 8
} ;
enum __anonenum_30976155___390 {
    SEGV_MAPERR___390 = 1,
    SEGV_ACCERR___390 = 2,
    SEGV_BNDERR___390 = 3,
    SEGV_PKUERR___390 = 4
} ;
enum __anonenum_1036286214___390 {
    BUS_ADRALN___390 = 1,
    BUS_ADRERR___390 = 2,
    BUS_OBJERR___390 = 3,
    BUS_MCEERR_AR___390 = 4,
    BUS_MCEERR_AO___390 = 5
} ;
enum __anonenum_493465559___390 {
    TRAP_BRKPT___390 = 1,
    TRAP_TRACE___390 = 2
} ;
enum __anonenum_23175539___390 {
    CLD_EXITED___390 = 1,
    CLD_KILLED___390 = 2,
    CLD_DUMPED___390 = 3,
    CLD_TRAPPED___390 = 4,
    CLD_STOPPED___390 = 5,
    CLD_CONTINUED___390 = 6
} ;
enum __anonenum_111643124___390 {
    POLL_IN___390 = 1,
    POLL_OUT___390 = 2,
    POLL_MSG___390 = 3,
    POLL_ERR___390 = 4,
    POLL_PRI___390 = 5,
    POLL_HUP___390 = 6
} ;
enum __anonenum_852341087___390 {
    SIGEV_SIGNAL___390 = 0,
    SIGEV_NONE___390 = 1,
    SIGEV_THREAD___390 = 2,
    SIGEV_THREAD_ID___390 = 4
} ;
enum __anonenum_451154152___390 {
    REG_R8___390 = 0,
    REG_R9___390 = 1,
    REG_R10___390 = 2,
    REG_R11___390 = 3,
    REG_R12___390 = 4,
    REG_R13___390 = 5,
    REG_R14___390 = 6,
    REG_R15___390 = 7,
    REG_RDI___390 = 8,
    REG_RSI___390 = 9,
    REG_RBP___390 = 10,
    REG_RBX___390 = 11,
    REG_RDX___390 = 12,
    REG_RAX___390 = 13,
    REG_RCX___390 = 14,
    REG_RSP___390 = 15,
    REG_RIP___390 = 16,
    REG_EFL___390 = 17,
    REG_CSGSFS___390 = 18,
    REG_ERR___390 = 19,
    REG_TRAPNO___390 = 20,
    REG_OLDMASK___390 = 21,
    REG_CR2___390 = 22
} ;
enum __anonenum_57186863___390 {
    SS_ONSTACK___390 = 1,
    SS_DISABLE___390 = 2
} ;
enum __anonenum_83571709___390 {
    MSG_OOB___390 = 1,
    MSG_PEEK___390 = 2,
    MSG_DONTROUTE___390 = 4,
    MSG_TRYHARD___390 = 4,
    MSG_CTRUNC___390 = 8,
    MSG_PROXY___390 = 16,
    MSG_TRUNC___390 = 32,
    MSG_DONTWAIT___390 = 64,
    MSG_EOR___390 = 128,
    MSG_WAITALL___390 = 256,
    MSG_FIN___390 = 512,
    MSG_SYN___390 = 1024,
    MSG_CONFIRM___390 = 2048,
    MSG_RST___390 = 4096,
    MSG_ERRQUEUE___390 = 8192,
    MSG_NOSIGNAL___390 = 16384,
    MSG_MORE___390 = 32768,
    MSG_WAITFORONE___390 = 65536,
    MSG_BATCH___390 = 262144,
    MSG_ZEROCOPY___390 = 67108864,
    MSG_FASTOPEN___390 = 536870912,
    MSG_CMSG_CLOEXEC___390 = 1073741824
} ;
enum __anonenum_617082774___390 {
    SCM_RIGHTS___390 = 1,
    SCM_CREDENTIALS___390 = 2
} ;
enum __anonenum_606441560___390 {
    SHUT_RD___390 = 0,
    SHUT_WR___390 = 1,
    SHUT_RDWR___390 = 2
} ;
enum __anonenum_681669233___390 {
    IPPROTO_IP___390 = 0,
    IPPROTO_ICMP___390 = 1,
    IPPROTO_IGMP___390 = 2,
    IPPROTO_IPIP___390 = 4,
    IPPROTO_TCP___390 = 6,
    IPPROTO_EGP___390 = 8,
    IPPROTO_PUP___390 = 12,
    IPPROTO_UDP___390 = 17,
    IPPROTO_IDP___390 = 22,
    IPPROTO_TP___390 = 29,
    IPPROTO_DCCP___390 = 33,
    IPPROTO_IPV6___390 = 41,
    IPPROTO_RSVP___390 = 46,
    IPPROTO_GRE___390 = 47,
    IPPROTO_ESP___390 = 50,
    IPPROTO_AH___390 = 51,
    IPPROTO_MTP___390 = 92,
    IPPROTO_BEETPH___390 = 94,
    IPPROTO_ENCAP___390 = 98,
    IPPROTO_PIM___390 = 103,
    IPPROTO_COMP___390 = 108,
    IPPROTO_SCTP___390 = 132,
    IPPROTO_UDPLITE___390 = 136,
    IPPROTO_MPLS___390 = 137,
    IPPROTO_RAW___390 = 255,
    IPPROTO_MAX___390 = 256
} ;
enum __anonenum_218739988___390 {
    IPPROTO_HOPOPTS___390 = 0,
    IPPROTO_ROUTING___390 = 43,
    IPPROTO_FRAGMENT___390 = 44,
    IPPROTO_ICMPV6___390 = 58,
    IPPROTO_NONE___390 = 59,
    IPPROTO_DSTOPTS___390 = 60,
    IPPROTO_MH___390 = 135
} ;
enum __anonenum_662268580___390 {
    IPPORT_ECHO___390 = 7,
    IPPORT_DISCARD___390 = 9,
    IPPORT_SYSTAT___390 = 11,
    IPPORT_DAYTIME___390 = 13,
    IPPORT_NETSTAT___390 = 15,
    IPPORT_FTP___390 = 21,
    IPPORT_TELNET___390 = 23,
    IPPORT_SMTP___390 = 25,
    IPPORT_TIMESERVER___390 = 37,
    IPPORT_NAMESERVER___390 = 42,
    IPPORT_WHOIS___390 = 43,
    IPPORT_MTP___390 = 57,
    IPPORT_TFTP___390 = 69,
    IPPORT_RJE___390 = 77,
    IPPORT_FINGER___390 = 79,
    IPPORT_TTYLINK___390 = 87,
    IPPORT_SUPDUP___390 = 95,
    IPPORT_EXECSERVER___390 = 512,
    IPPORT_LOGINSERVER___390 = 513,
    IPPORT_CMDSERVER___390 = 514,
    IPPORT_EFSSERVER___390 = 520,
    IPPORT_BIFFUDP___390 = 512,
    IPPORT_WHOSERVER___390 = 513,
    IPPORT_ROUTESERVER___390 = 520,
    IPPORT_RESERVED___390 = 1024,
    IPPORT_USERRESERVED___390 = 5000
} ;
enum __anonenum_788308992___390 {
    TCP_ESTABLISHED___390 = 1,
    TCP_SYN_SENT___390 = 2,
    TCP_SYN_RECV___390 = 3,
    TCP_FIN_WAIT1___390 = 4,
    TCP_FIN_WAIT2___390 = 5,
    TCP_TIME_WAIT___390 = 6,
    TCP_CLOSE___390 = 7,
    TCP_CLOSE_WAIT___390 = 8,
    TCP_LAST_ACK___390 = 9,
    TCP_LISTEN___390 = 10,
    TCP_CLOSING___390 = 11
} ;
enum __anonenum_221125648___390 {
    TCP_NO_QUEUE___390 = 0,
    TCP_RECV_QUEUE___390 = 1,
    TCP_SEND_QUEUE___390 = 2,
    TCP_QUEUES_NR___390 = 3
} ;
enum __anonenum_34415463___390 {
    PTHREAD_CREATE_JOINABLE___390 = 0,
    PTHREAD_CREATE_DETACHED___390 = 1
} ;
enum __anonenum_303612439___390 {
    PTHREAD_MUTEX_TIMED_NP___390 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___390 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___390 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___390 = 3,
    PTHREAD_MUTEX_NORMAL___390 = 0,
    PTHREAD_MUTEX_RECURSIVE___390 = 1,
    PTHREAD_MUTEX_ERRORCHECK___390 = 2,
    PTHREAD_MUTEX_DEFAULT___390 = 0,
    PTHREAD_MUTEX_FAST_NP___390 = 0
} ;
enum __anonenum_931900394___390 {
    PTHREAD_MUTEX_STALLED___390 = 0,
    PTHREAD_MUTEX_STALLED_NP___390 = 0,
    PTHREAD_MUTEX_ROBUST___390 = 1,
    PTHREAD_MUTEX_ROBUST_NP___390 = 1
} ;
enum __anonenum_205214487___390 {
    PTHREAD_PRIO_NONE___390 = 0,
    PTHREAD_PRIO_INHERIT___390 = 1,
    PTHREAD_PRIO_PROTECT___390 = 2
} ;
enum __anonenum_25043950___390 {
    PTHREAD_RWLOCK_PREFER_READER_NP___390 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___390 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___390 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___390 = 0
} ;
enum __anonenum_436439511___390 {
    PTHREAD_INHERIT_SCHED___390 = 0,
    PTHREAD_EXPLICIT_SCHED___390 = 1
} ;
enum __anonenum_998661166___390 {
    PTHREAD_SCOPE_SYSTEM___390 = 0,
    PTHREAD_SCOPE_PROCESS___390 = 1
} ;
enum __anonenum_146137331___390 {
    PTHREAD_PROCESS_PRIVATE___390 = 0,
    PTHREAD_PROCESS_SHARED___390 = 1
} ;
enum __anonenum_53396917___390 {
    PTHREAD_CANCEL_ENABLE___390 = 0,
    PTHREAD_CANCEL_DISABLE___390 = 1
} ;
enum __anonenum_904563783___390 {
    PTHREAD_CANCEL_DEFERRED___390 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___390 = 1
} ;
enum __anonenum_672052974___390 {
    SSL_CT_VALIDATION_PERMISSIVE___390 = 0,
    SSL_CT_VALIDATION_STRICT___390 = 1
} ;
enum __anonenum_437032235___391 {
    _PC_LINK_MAX___391 = 0,
    _PC_MAX_CANON___391 = 1,
    _PC_MAX_INPUT___391 = 2,
    _PC_NAME_MAX___391 = 3,
    _PC_PATH_MAX___391 = 4,
    _PC_PIPE_BUF___391 = 5,
    _PC_CHOWN_RESTRICTED___391 = 6,
    _PC_NO_TRUNC___391 = 7,
    _PC_VDISABLE___391 = 8,
    _PC_SYNC_IO___391 = 9,
    _PC_ASYNC_IO___391 = 10,
    _PC_PRIO_IO___391 = 11,
    _PC_SOCK_MAXBUF___391 = 12,
    _PC_FILESIZEBITS___391 = 13,
    _PC_REC_INCR_XFER_SIZE___391 = 14,
    _PC_REC_MAX_XFER_SIZE___391 = 15,
    _PC_REC_MIN_XFER_SIZE___391 = 16,
    _PC_REC_XFER_ALIGN___391 = 17,
    _PC_ALLOC_SIZE_MIN___391 = 18,
    _PC_SYMLINK_MAX___391 = 19,
    _PC_2_SYMLINKS___391 = 20
} ;
enum __anonenum_315186338___391 {
    _SC_ARG_MAX___391 = 0,
    _SC_CHILD_MAX___391 = 1,
    _SC_CLK_TCK___391 = 2,
    _SC_NGROUPS_MAX___391 = 3,
    _SC_OPEN_MAX___391 = 4,
    _SC_STREAM_MAX___391 = 5,
    _SC_TZNAME_MAX___391 = 6,
    _SC_JOB_CONTROL___391 = 7,
    _SC_SAVED_IDS___391 = 8,
    _SC_REALTIME_SIGNALS___391 = 9,
    _SC_PRIORITY_SCHEDULING___391 = 10,
    _SC_TIMERS___391 = 11,
    _SC_ASYNCHRONOUS_IO___391 = 12,
    _SC_PRIORITIZED_IO___391 = 13,
    _SC_SYNCHRONIZED_IO___391 = 14,
    _SC_FSYNC___391 = 15,
    _SC_MAPPED_FILES___391 = 16,
    _SC_MEMLOCK___391 = 17,
    _SC_MEMLOCK_RANGE___391 = 18,
    _SC_MEMORY_PROTECTION___391 = 19,
    _SC_MESSAGE_PASSING___391 = 20,
    _SC_SEMAPHORES___391 = 21,
    _SC_SHARED_MEMORY_OBJECTS___391 = 22,
    _SC_AIO_LISTIO_MAX___391 = 23,
    _SC_AIO_MAX___391 = 24,
    _SC_AIO_PRIO_DELTA_MAX___391 = 25,
    _SC_DELAYTIMER_MAX___391 = 26,
    _SC_MQ_OPEN_MAX___391 = 27,
    _SC_MQ_PRIO_MAX___391 = 28,
    _SC_VERSION___391 = 29,
    _SC_PAGESIZE___391 = 30,
    _SC_RTSIG_MAX___391 = 31,
    _SC_SEM_NSEMS_MAX___391 = 32,
    _SC_SEM_VALUE_MAX___391 = 33,
    _SC_SIGQUEUE_MAX___391 = 34,
    _SC_TIMER_MAX___391 = 35,
    _SC_BC_BASE_MAX___391 = 36,
    _SC_BC_DIM_MAX___391 = 37,
    _SC_BC_SCALE_MAX___391 = 38,
    _SC_BC_STRING_MAX___391 = 39,
    _SC_COLL_WEIGHTS_MAX___391 = 40,
    _SC_EQUIV_CLASS_MAX___391 = 41,
    _SC_EXPR_NEST_MAX___391 = 42,
    _SC_LINE_MAX___391 = 43,
    _SC_RE_DUP_MAX___391 = 44,
    _SC_CHARCLASS_NAME_MAX___391 = 45,
    _SC_2_VERSION___391 = 46,
    _SC_2_C_BIND___391 = 47,
    _SC_2_C_DEV___391 = 48,
    _SC_2_FORT_DEV___391 = 49,
    _SC_2_FORT_RUN___391 = 50,
    _SC_2_SW_DEV___391 = 51,
    _SC_2_LOCALEDEF___391 = 52,
    _SC_PII___391 = 53,
    _SC_PII_XTI___391 = 54,
    _SC_PII_SOCKET___391 = 55,
    _SC_PII_INTERNET___391 = 56,
    _SC_PII_OSI___391 = 57,
    _SC_POLL___391 = 58,
    _SC_SELECT___391 = 59,
    _SC_UIO_MAXIOV___391 = 60,
    _SC_IOV_MAX___391 = 60,
    _SC_PII_INTERNET_STREAM___391 = 61,
    _SC_PII_INTERNET_DGRAM___391 = 62,
    _SC_PII_OSI_COTS___391 = 63,
    _SC_PII_OSI_CLTS___391 = 64,
    _SC_PII_OSI_M___391 = 65,
    _SC_T_IOV_MAX___391 = 66,
    _SC_THREADS___391 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___391 = 68,
    _SC_GETGR_R_SIZE_MAX___391 = 69,
    _SC_GETPW_R_SIZE_MAX___391 = 70,
    _SC_LOGIN_NAME_MAX___391 = 71,
    _SC_TTY_NAME_MAX___391 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___391 = 73,
    _SC_THREAD_KEYS_MAX___391 = 74,
    _SC_THREAD_STACK_MIN___391 = 75,
    _SC_THREAD_THREADS_MAX___391 = 76,
    _SC_THREAD_ATTR_STACKADDR___391 = 77,
    _SC_THREAD_ATTR_STACKSIZE___391 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___391 = 79,
    _SC_THREAD_PRIO_INHERIT___391 = 80,
    _SC_THREAD_PRIO_PROTECT___391 = 81,
    _SC_THREAD_PROCESS_SHARED___391 = 82,
    _SC_NPROCESSORS_CONF___391 = 83,
    _SC_NPROCESSORS_ONLN___391 = 84,
    _SC_PHYS_PAGES___391 = 85,
    _SC_AVPHYS_PAGES___391 = 86,
    _SC_ATEXIT_MAX___391 = 87,
    _SC_PASS_MAX___391 = 88,
    _SC_XOPEN_VERSION___391 = 89,
    _SC_XOPEN_XCU_VERSION___391 = 90,
    _SC_XOPEN_UNIX___391 = 91,
    _SC_XOPEN_CRYPT___391 = 92,
    _SC_XOPEN_ENH_I18N___391 = 93,
    _SC_XOPEN_SHM___391 = 94,
    _SC_2_CHAR_TERM___391 = 95,
    _SC_2_C_VERSION___391 = 96,
    _SC_2_UPE___391 = 97,
    _SC_XOPEN_XPG2___391 = 98,
    _SC_XOPEN_XPG3___391 = 99,
    _SC_XOPEN_XPG4___391 = 100,
    _SC_CHAR_BIT___391 = 101,
    _SC_CHAR_MAX___391 = 102,
    _SC_CHAR_MIN___391 = 103,
    _SC_INT_MAX___391 = 104,
    _SC_INT_MIN___391 = 105,
    _SC_LONG_BIT___391 = 106,
    _SC_WORD_BIT___391 = 107,
    _SC_MB_LEN_MAX___391 = 108,
    _SC_NZERO___391 = 109,
    _SC_SSIZE_MAX___391 = 110,
    _SC_SCHAR_MAX___391 = 111,
    _SC_SCHAR_MIN___391 = 112,
    _SC_SHRT_MAX___391 = 113,
    _SC_SHRT_MIN___391 = 114,
    _SC_UCHAR_MAX___391 = 115,
    _SC_UINT_MAX___391 = 116,
    _SC_ULONG_MAX___391 = 117,
    _SC_USHRT_MAX___391 = 118,
    _SC_NL_ARGMAX___391 = 119,
    _SC_NL_LANGMAX___391 = 120,
    _SC_NL_MSGMAX___391 = 121,
    _SC_NL_NMAX___391 = 122,
    _SC_NL_SETMAX___391 = 123,
    _SC_NL_TEXTMAX___391 = 124,
    _SC_XBS5_ILP32_OFF32___391 = 125,
    _SC_XBS5_ILP32_OFFBIG___391 = 126,
    _SC_XBS5_LP64_OFF64___391 = 127,
    _SC_XBS5_LPBIG_OFFBIG___391 = 128,
    _SC_XOPEN_LEGACY___391 = 129,
    _SC_XOPEN_REALTIME___391 = 130,
    _SC_XOPEN_REALTIME_THREADS___391 = 131,
    _SC_ADVISORY_INFO___391 = 132,
    _SC_BARRIERS___391 = 133,
    _SC_BASE___391 = 134,
    _SC_C_LANG_SUPPORT___391 = 135,
    _SC_C_LANG_SUPPORT_R___391 = 136,
    _SC_CLOCK_SELECTION___391 = 137,
    _SC_CPUTIME___391 = 138,
    _SC_THREAD_CPUTIME___391 = 139,
    _SC_DEVICE_IO___391 = 140,
    _SC_DEVICE_SPECIFIC___391 = 141,
    _SC_DEVICE_SPECIFIC_R___391 = 142,
    _SC_FD_MGMT___391 = 143,
    _SC_FIFO___391 = 144,
    _SC_PIPE___391 = 145,
    _SC_FILE_ATTRIBUTES___391 = 146,
    _SC_FILE_LOCKING___391 = 147,
    _SC_FILE_SYSTEM___391 = 148,
    _SC_MONOTONIC_CLOCK___391 = 149,
    _SC_MULTI_PROCESS___391 = 150,
    _SC_SINGLE_PROCESS___391 = 151,
    _SC_NETWORKING___391 = 152,
    _SC_READER_WRITER_LOCKS___391 = 153,
    _SC_SPIN_LOCKS___391 = 154,
    _SC_REGEXP___391 = 155,
    _SC_REGEX_VERSION___391 = 156,
    _SC_SHELL___391 = 157,
    _SC_SIGNALS___391 = 158,
    _SC_SPAWN___391 = 159,
    _SC_SPORADIC_SERVER___391 = 160,
    _SC_THREAD_SPORADIC_SERVER___391 = 161,
    _SC_SYSTEM_DATABASE___391 = 162,
    _SC_SYSTEM_DATABASE_R___391 = 163,
    _SC_TIMEOUTS___391 = 164,
    _SC_TYPED_MEMORY_OBJECTS___391 = 165,
    _SC_USER_GROUPS___391 = 166,
    _SC_USER_GROUPS_R___391 = 167,
    _SC_2_PBS___391 = 168,
    _SC_2_PBS_ACCOUNTING___391 = 169,
    _SC_2_PBS_LOCATE___391 = 170,
    _SC_2_PBS_MESSAGE___391 = 171,
    _SC_2_PBS_TRACK___391 = 172,
    _SC_SYMLOOP_MAX___391 = 173,
    _SC_STREAMS___391 = 174,
    _SC_2_PBS_CHECKPOINT___391 = 175,
    _SC_V6_ILP32_OFF32___391 = 176,
    _SC_V6_ILP32_OFFBIG___391 = 177,
    _SC_V6_LP64_OFF64___391 = 178,
    _SC_V6_LPBIG_OFFBIG___391 = 179,
    _SC_HOST_NAME_MAX___391 = 180,
    _SC_TRACE___391 = 181,
    _SC_TRACE_EVENT_FILTER___391 = 182,
    _SC_TRACE_INHERIT___391 = 183,
    _SC_TRACE_LOG___391 = 184,
    _SC_LEVEL1_ICACHE_SIZE___391 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___391 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___391 = 187,
    _SC_LEVEL1_DCACHE_SIZE___391 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___391 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___391 = 190,
    _SC_LEVEL2_CACHE_SIZE___391 = 191,
    _SC_LEVEL2_CACHE_ASSOC___391 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___391 = 193,
    _SC_LEVEL3_CACHE_SIZE___391 = 194,
    _SC_LEVEL3_CACHE_ASSOC___391 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___391 = 196,
    _SC_LEVEL4_CACHE_SIZE___391 = 197,
    _SC_LEVEL4_CACHE_ASSOC___391 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___391 = 199,
    _SC_IPV6___391 = 235,
    _SC_RAW_SOCKETS___391 = 236,
    _SC_V7_ILP32_OFF32___391 = 237,
    _SC_V7_ILP32_OFFBIG___391 = 238,
    _SC_V7_LP64_OFF64___391 = 239,
    _SC_V7_LPBIG_OFFBIG___391 = 240,
    _SC_SS_REPL_MAX___391 = 241,
    _SC_TRACE_EVENT_NAME_MAX___391 = 242,
    _SC_TRACE_NAME_MAX___391 = 243,
    _SC_TRACE_SYS_MAX___391 = 244,
    _SC_TRACE_USER_EVENT_MAX___391 = 245,
    _SC_XOPEN_STREAMS___391 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___391 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___391 = 248
} ;
enum __anonenum_875524036___391 {
    _CS_PATH___391 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___391 = 1,
    _CS_GNU_LIBC_VERSION___391 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___391 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___391 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___391 = 5,
    _CS_LFS_CFLAGS___391 = 1000,
    _CS_LFS_LDFLAGS___391 = 1001,
    _CS_LFS_LIBS___391 = 1002,
    _CS_LFS_LINTFLAGS___391 = 1003,
    _CS_LFS64_CFLAGS___391 = 1004,
    _CS_LFS64_LDFLAGS___391 = 1005,
    _CS_LFS64_LIBS___391 = 1006,
    _CS_LFS64_LINTFLAGS___391 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___391 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___391 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___391 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___391 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___391 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___391 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___391 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___391 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___391 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___391 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___391 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___391 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___391 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___391 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___391 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___391 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___391 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___391 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___391 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___391 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___391 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___391 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___391 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___391 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___391 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___391 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___391 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___391 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___391 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___391 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___391 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___391 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___391 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___391 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___391 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___391 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___391 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___391 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___391 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___391 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___391 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___391 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___391 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___391 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___391 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___391 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___391 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___391 = 1147,
    _CS_V6_ENV___391 = 1148,
    _CS_V7_ENV___391 = 1149
} ;
enum __anonenum_513775621___391 {
    DT_UNKNOWN___391 = 0,
    DT_FIFO___391 = 1,
    DT_CHR___391 = 2,
    DT_DIR___391 = 4,
    DT_BLK___391 = 6,
    DT_REG___391 = 8,
    DT_LNK___391 = 10,
    DT_SOCK___391 = 12,
    DT_WHT___391 = 14
} ;
enum __anonenum_77002343___391 {
    SI_ASYNCNL___391 = -60,
    SI_TKILL___391 = -6,
    SI_SIGIO___391 = -5,
    SI_ASYNCIO___391 = -4,
    SI_MESGQ___391 = -3,
    SI_TIMER___391 = -2,
    SI_QUEUE___391 = -1,
    SI_USER___391 = 0,
    SI_KERNEL___391 = 128
} ;
enum __anonenum_131038172___391 {
    ILL_ILLOPC___391 = 1,
    ILL_ILLOPN___391 = 2,
    ILL_ILLADR___391 = 3,
    ILL_ILLTRP___391 = 4,
    ILL_PRVOPC___391 = 5,
    ILL_PRVREG___391 = 6,
    ILL_COPROC___391 = 7,
    ILL_BADSTK___391 = 8
} ;
enum __anonenum_452038093___391 {
    FPE_INTDIV___391 = 1,
    FPE_INTOVF___391 = 2,
    FPE_FLTDIV___391 = 3,
    FPE_FLTOVF___391 = 4,
    FPE_FLTUND___391 = 5,
    FPE_FLTRES___391 = 6,
    FPE_FLTINV___391 = 7,
    FPE_FLTSUB___391 = 8
} ;
enum __anonenum_30976155___391 {
    SEGV_MAPERR___391 = 1,
    SEGV_ACCERR___391 = 2,
    SEGV_BNDERR___391 = 3,
    SEGV_PKUERR___391 = 4
} ;
enum __anonenum_1036286214___391 {
    BUS_ADRALN___391 = 1,
    BUS_ADRERR___391 = 2,
    BUS_OBJERR___391 = 3,
    BUS_MCEERR_AR___391 = 4,
    BUS_MCEERR_AO___391 = 5
} ;
enum __anonenum_493465559___391 {
    TRAP_BRKPT___391 = 1,
    TRAP_TRACE___391 = 2
} ;
enum __anonenum_23175539___391 {
    CLD_EXITED___391 = 1,
    CLD_KILLED___391 = 2,
    CLD_DUMPED___391 = 3,
    CLD_TRAPPED___391 = 4,
    CLD_STOPPED___391 = 5,
    CLD_CONTINUED___391 = 6
} ;
enum __anonenum_111643124___391 {
    POLL_IN___391 = 1,
    POLL_OUT___391 = 2,
    POLL_MSG___391 = 3,
    POLL_ERR___391 = 4,
    POLL_PRI___391 = 5,
    POLL_HUP___391 = 6
} ;
enum __anonenum_852341087___391 {
    SIGEV_SIGNAL___391 = 0,
    SIGEV_NONE___391 = 1,
    SIGEV_THREAD___391 = 2,
    SIGEV_THREAD_ID___391 = 4
} ;
enum __anonenum_451154152___391 {
    REG_R8___391 = 0,
    REG_R9___391 = 1,
    REG_R10___391 = 2,
    REG_R11___391 = 3,
    REG_R12___391 = 4,
    REG_R13___391 = 5,
    REG_R14___391 = 6,
    REG_R15___391 = 7,
    REG_RDI___391 = 8,
    REG_RSI___391 = 9,
    REG_RBP___391 = 10,
    REG_RBX___391 = 11,
    REG_RDX___391 = 12,
    REG_RAX___391 = 13,
    REG_RCX___391 = 14,
    REG_RSP___391 = 15,
    REG_RIP___391 = 16,
    REG_EFL___391 = 17,
    REG_CSGSFS___391 = 18,
    REG_ERR___391 = 19,
    REG_TRAPNO___391 = 20,
    REG_OLDMASK___391 = 21,
    REG_CR2___391 = 22
} ;
enum __anonenum_57186863___391 {
    SS_ONSTACK___391 = 1,
    SS_DISABLE___391 = 2
} ;
enum __anonenum_83571709___391 {
    MSG_OOB___391 = 1,
    MSG_PEEK___391 = 2,
    MSG_DONTROUTE___391 = 4,
    MSG_TRYHARD___391 = 4,
    MSG_CTRUNC___391 = 8,
    MSG_PROXY___391 = 16,
    MSG_TRUNC___391 = 32,
    MSG_DONTWAIT___391 = 64,
    MSG_EOR___391 = 128,
    MSG_WAITALL___391 = 256,
    MSG_FIN___391 = 512,
    MSG_SYN___391 = 1024,
    MSG_CONFIRM___391 = 2048,
    MSG_RST___391 = 4096,
    MSG_ERRQUEUE___391 = 8192,
    MSG_NOSIGNAL___391 = 16384,
    MSG_MORE___391 = 32768,
    MSG_WAITFORONE___391 = 65536,
    MSG_BATCH___391 = 262144,
    MSG_ZEROCOPY___391 = 67108864,
    MSG_FASTOPEN___391 = 536870912,
    MSG_CMSG_CLOEXEC___391 = 1073741824
} ;
enum __anonenum_617082774___391 {
    SCM_RIGHTS___391 = 1,
    SCM_CREDENTIALS___391 = 2
} ;
enum __anonenum_606441560___391 {
    SHUT_RD___391 = 0,
    SHUT_WR___391 = 1,
    SHUT_RDWR___391 = 2
} ;
enum __anonenum_681669233___391 {
    IPPROTO_IP___391 = 0,
    IPPROTO_ICMP___391 = 1,
    IPPROTO_IGMP___391 = 2,
    IPPROTO_IPIP___391 = 4,
    IPPROTO_TCP___391 = 6,
    IPPROTO_EGP___391 = 8,
    IPPROTO_PUP___391 = 12,
    IPPROTO_UDP___391 = 17,
    IPPROTO_IDP___391 = 22,
    IPPROTO_TP___391 = 29,
    IPPROTO_DCCP___391 = 33,
    IPPROTO_IPV6___391 = 41,
    IPPROTO_RSVP___391 = 46,
    IPPROTO_GRE___391 = 47,
    IPPROTO_ESP___391 = 50,
    IPPROTO_AH___391 = 51,
    IPPROTO_MTP___391 = 92,
    IPPROTO_BEETPH___391 = 94,
    IPPROTO_ENCAP___391 = 98,
    IPPROTO_PIM___391 = 103,
    IPPROTO_COMP___391 = 108,
    IPPROTO_SCTP___391 = 132,
    IPPROTO_UDPLITE___391 = 136,
    IPPROTO_MPLS___391 = 137,
    IPPROTO_RAW___391 = 255,
    IPPROTO_MAX___391 = 256
} ;
enum __anonenum_218739988___391 {
    IPPROTO_HOPOPTS___391 = 0,
    IPPROTO_ROUTING___391 = 43,
    IPPROTO_FRAGMENT___391 = 44,
    IPPROTO_ICMPV6___391 = 58,
    IPPROTO_NONE___391 = 59,
    IPPROTO_DSTOPTS___391 = 60,
    IPPROTO_MH___391 = 135
} ;
enum __anonenum_662268580___391 {
    IPPORT_ECHO___391 = 7,
    IPPORT_DISCARD___391 = 9,
    IPPORT_SYSTAT___391 = 11,
    IPPORT_DAYTIME___391 = 13,
    IPPORT_NETSTAT___391 = 15,
    IPPORT_FTP___391 = 21,
    IPPORT_TELNET___391 = 23,
    IPPORT_SMTP___391 = 25,
    IPPORT_TIMESERVER___391 = 37,
    IPPORT_NAMESERVER___391 = 42,
    IPPORT_WHOIS___391 = 43,
    IPPORT_MTP___391 = 57,
    IPPORT_TFTP___391 = 69,
    IPPORT_RJE___391 = 77,
    IPPORT_FINGER___391 = 79,
    IPPORT_TTYLINK___391 = 87,
    IPPORT_SUPDUP___391 = 95,
    IPPORT_EXECSERVER___391 = 512,
    IPPORT_LOGINSERVER___391 = 513,
    IPPORT_CMDSERVER___391 = 514,
    IPPORT_EFSSERVER___391 = 520,
    IPPORT_BIFFUDP___391 = 512,
    IPPORT_WHOSERVER___391 = 513,
    IPPORT_ROUTESERVER___391 = 520,
    IPPORT_RESERVED___391 = 1024,
    IPPORT_USERRESERVED___391 = 5000
} ;
enum __anonenum_788308992___391 {
    TCP_ESTABLISHED___391 = 1,
    TCP_SYN_SENT___391 = 2,
    TCP_SYN_RECV___391 = 3,
    TCP_FIN_WAIT1___391 = 4,
    TCP_FIN_WAIT2___391 = 5,
    TCP_TIME_WAIT___391 = 6,
    TCP_CLOSE___391 = 7,
    TCP_CLOSE_WAIT___391 = 8,
    TCP_LAST_ACK___391 = 9,
    TCP_LISTEN___391 = 10,
    TCP_CLOSING___391 = 11
} ;
enum __anonenum_221125648___391 {
    TCP_NO_QUEUE___391 = 0,
    TCP_RECV_QUEUE___391 = 1,
    TCP_SEND_QUEUE___391 = 2,
    TCP_QUEUES_NR___391 = 3
} ;
enum __anonenum_34415463___391 {
    PTHREAD_CREATE_JOINABLE___391 = 0,
    PTHREAD_CREATE_DETACHED___391 = 1
} ;
enum __anonenum_303612439___391 {
    PTHREAD_MUTEX_TIMED_NP___391 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___391 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___391 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___391 = 3,
    PTHREAD_MUTEX_NORMAL___391 = 0,
    PTHREAD_MUTEX_RECURSIVE___391 = 1,
    PTHREAD_MUTEX_ERRORCHECK___391 = 2,
    PTHREAD_MUTEX_DEFAULT___391 = 0,
    PTHREAD_MUTEX_FAST_NP___391 = 0
} ;
enum __anonenum_931900394___391 {
    PTHREAD_MUTEX_STALLED___391 = 0,
    PTHREAD_MUTEX_STALLED_NP___391 = 0,
    PTHREAD_MUTEX_ROBUST___391 = 1,
    PTHREAD_MUTEX_ROBUST_NP___391 = 1
} ;
enum __anonenum_205214487___391 {
    PTHREAD_PRIO_NONE___391 = 0,
    PTHREAD_PRIO_INHERIT___391 = 1,
    PTHREAD_PRIO_PROTECT___391 = 2
} ;
enum __anonenum_25043950___391 {
    PTHREAD_RWLOCK_PREFER_READER_NP___391 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___391 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___391 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___391 = 0
} ;
enum __anonenum_436439511___391 {
    PTHREAD_INHERIT_SCHED___391 = 0,
    PTHREAD_EXPLICIT_SCHED___391 = 1
} ;
enum __anonenum_998661166___391 {
    PTHREAD_SCOPE_SYSTEM___391 = 0,
    PTHREAD_SCOPE_PROCESS___391 = 1
} ;
enum __anonenum_146137331___391 {
    PTHREAD_PROCESS_PRIVATE___391 = 0,
    PTHREAD_PROCESS_SHARED___391 = 1
} ;
enum __anonenum_53396917___391 {
    PTHREAD_CANCEL_ENABLE___391 = 0,
    PTHREAD_CANCEL_DISABLE___391 = 1
} ;
enum __anonenum_904563783___391 {
    PTHREAD_CANCEL_DEFERRED___391 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___391 = 1
} ;
enum __anonenum_672052974___391 {
    SSL_CT_VALIDATION_PERMISSIVE___391 = 0,
    SSL_CT_VALIDATION_STRICT___391 = 1
} ;
struct binsearch_args {
   int key ;
   int *arr ;
};
enum __anonenum_437032235___392 {
    _PC_LINK_MAX___392 = 0,
    _PC_MAX_CANON___392 = 1,
    _PC_MAX_INPUT___392 = 2,
    _PC_NAME_MAX___392 = 3,
    _PC_PATH_MAX___392 = 4,
    _PC_PIPE_BUF___392 = 5,
    _PC_CHOWN_RESTRICTED___392 = 6,
    _PC_NO_TRUNC___392 = 7,
    _PC_VDISABLE___392 = 8,
    _PC_SYNC_IO___392 = 9,
    _PC_ASYNC_IO___392 = 10,
    _PC_PRIO_IO___392 = 11,
    _PC_SOCK_MAXBUF___392 = 12,
    _PC_FILESIZEBITS___392 = 13,
    _PC_REC_INCR_XFER_SIZE___392 = 14,
    _PC_REC_MAX_XFER_SIZE___392 = 15,
    _PC_REC_MIN_XFER_SIZE___392 = 16,
    _PC_REC_XFER_ALIGN___392 = 17,
    _PC_ALLOC_SIZE_MIN___392 = 18,
    _PC_SYMLINK_MAX___392 = 19,
    _PC_2_SYMLINKS___392 = 20
} ;
enum __anonenum_315186338___392 {
    _SC_ARG_MAX___392 = 0,
    _SC_CHILD_MAX___392 = 1,
    _SC_CLK_TCK___392 = 2,
    _SC_NGROUPS_MAX___392 = 3,
    _SC_OPEN_MAX___392 = 4,
    _SC_STREAM_MAX___392 = 5,
    _SC_TZNAME_MAX___392 = 6,
    _SC_JOB_CONTROL___392 = 7,
    _SC_SAVED_IDS___392 = 8,
    _SC_REALTIME_SIGNALS___392 = 9,
    _SC_PRIORITY_SCHEDULING___392 = 10,
    _SC_TIMERS___392 = 11,
    _SC_ASYNCHRONOUS_IO___392 = 12,
    _SC_PRIORITIZED_IO___392 = 13,
    _SC_SYNCHRONIZED_IO___392 = 14,
    _SC_FSYNC___392 = 15,
    _SC_MAPPED_FILES___392 = 16,
    _SC_MEMLOCK___392 = 17,
    _SC_MEMLOCK_RANGE___392 = 18,
    _SC_MEMORY_PROTECTION___392 = 19,
    _SC_MESSAGE_PASSING___392 = 20,
    _SC_SEMAPHORES___392 = 21,
    _SC_SHARED_MEMORY_OBJECTS___392 = 22,
    _SC_AIO_LISTIO_MAX___392 = 23,
    _SC_AIO_MAX___392 = 24,
    _SC_AIO_PRIO_DELTA_MAX___392 = 25,
    _SC_DELAYTIMER_MAX___392 = 26,
    _SC_MQ_OPEN_MAX___392 = 27,
    _SC_MQ_PRIO_MAX___392 = 28,
    _SC_VERSION___392 = 29,
    _SC_PAGESIZE___392 = 30,
    _SC_RTSIG_MAX___392 = 31,
    _SC_SEM_NSEMS_MAX___392 = 32,
    _SC_SEM_VALUE_MAX___392 = 33,
    _SC_SIGQUEUE_MAX___392 = 34,
    _SC_TIMER_MAX___392 = 35,
    _SC_BC_BASE_MAX___392 = 36,
    _SC_BC_DIM_MAX___392 = 37,
    _SC_BC_SCALE_MAX___392 = 38,
    _SC_BC_STRING_MAX___392 = 39,
    _SC_COLL_WEIGHTS_MAX___392 = 40,
    _SC_EQUIV_CLASS_MAX___392 = 41,
    _SC_EXPR_NEST_MAX___392 = 42,
    _SC_LINE_MAX___392 = 43,
    _SC_RE_DUP_MAX___392 = 44,
    _SC_CHARCLASS_NAME_MAX___392 = 45,
    _SC_2_VERSION___392 = 46,
    _SC_2_C_BIND___392 = 47,
    _SC_2_C_DEV___392 = 48,
    _SC_2_FORT_DEV___392 = 49,
    _SC_2_FORT_RUN___392 = 50,
    _SC_2_SW_DEV___392 = 51,
    _SC_2_LOCALEDEF___392 = 52,
    _SC_PII___392 = 53,
    _SC_PII_XTI___392 = 54,
    _SC_PII_SOCKET___392 = 55,
    _SC_PII_INTERNET___392 = 56,
    _SC_PII_OSI___392 = 57,
    _SC_POLL___392 = 58,
    _SC_SELECT___392 = 59,
    _SC_UIO_MAXIOV___392 = 60,
    _SC_IOV_MAX___392 = 60,
    _SC_PII_INTERNET_STREAM___392 = 61,
    _SC_PII_INTERNET_DGRAM___392 = 62,
    _SC_PII_OSI_COTS___392 = 63,
    _SC_PII_OSI_CLTS___392 = 64,
    _SC_PII_OSI_M___392 = 65,
    _SC_T_IOV_MAX___392 = 66,
    _SC_THREADS___392 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___392 = 68,
    _SC_GETGR_R_SIZE_MAX___392 = 69,
    _SC_GETPW_R_SIZE_MAX___392 = 70,
    _SC_LOGIN_NAME_MAX___392 = 71,
    _SC_TTY_NAME_MAX___392 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___392 = 73,
    _SC_THREAD_KEYS_MAX___392 = 74,
    _SC_THREAD_STACK_MIN___392 = 75,
    _SC_THREAD_THREADS_MAX___392 = 76,
    _SC_THREAD_ATTR_STACKADDR___392 = 77,
    _SC_THREAD_ATTR_STACKSIZE___392 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___392 = 79,
    _SC_THREAD_PRIO_INHERIT___392 = 80,
    _SC_THREAD_PRIO_PROTECT___392 = 81,
    _SC_THREAD_PROCESS_SHARED___392 = 82,
    _SC_NPROCESSORS_CONF___392 = 83,
    _SC_NPROCESSORS_ONLN___392 = 84,
    _SC_PHYS_PAGES___392 = 85,
    _SC_AVPHYS_PAGES___392 = 86,
    _SC_ATEXIT_MAX___392 = 87,
    _SC_PASS_MAX___392 = 88,
    _SC_XOPEN_VERSION___392 = 89,
    _SC_XOPEN_XCU_VERSION___392 = 90,
    _SC_XOPEN_UNIX___392 = 91,
    _SC_XOPEN_CRYPT___392 = 92,
    _SC_XOPEN_ENH_I18N___392 = 93,
    _SC_XOPEN_SHM___392 = 94,
    _SC_2_CHAR_TERM___392 = 95,
    _SC_2_C_VERSION___392 = 96,
    _SC_2_UPE___392 = 97,
    _SC_XOPEN_XPG2___392 = 98,
    _SC_XOPEN_XPG3___392 = 99,
    _SC_XOPEN_XPG4___392 = 100,
    _SC_CHAR_BIT___392 = 101,
    _SC_CHAR_MAX___392 = 102,
    _SC_CHAR_MIN___392 = 103,
    _SC_INT_MAX___392 = 104,
    _SC_INT_MIN___392 = 105,
    _SC_LONG_BIT___392 = 106,
    _SC_WORD_BIT___392 = 107,
    _SC_MB_LEN_MAX___392 = 108,
    _SC_NZERO___392 = 109,
    _SC_SSIZE_MAX___392 = 110,
    _SC_SCHAR_MAX___392 = 111,
    _SC_SCHAR_MIN___392 = 112,
    _SC_SHRT_MAX___392 = 113,
    _SC_SHRT_MIN___392 = 114,
    _SC_UCHAR_MAX___392 = 115,
    _SC_UINT_MAX___392 = 116,
    _SC_ULONG_MAX___392 = 117,
    _SC_USHRT_MAX___392 = 118,
    _SC_NL_ARGMAX___392 = 119,
    _SC_NL_LANGMAX___392 = 120,
    _SC_NL_MSGMAX___392 = 121,
    _SC_NL_NMAX___392 = 122,
    _SC_NL_SETMAX___392 = 123,
    _SC_NL_TEXTMAX___392 = 124,
    _SC_XBS5_ILP32_OFF32___392 = 125,
    _SC_XBS5_ILP32_OFFBIG___392 = 126,
    _SC_XBS5_LP64_OFF64___392 = 127,
    _SC_XBS5_LPBIG_OFFBIG___392 = 128,
    _SC_XOPEN_LEGACY___392 = 129,
    _SC_XOPEN_REALTIME___392 = 130,
    _SC_XOPEN_REALTIME_THREADS___392 = 131,
    _SC_ADVISORY_INFO___392 = 132,
    _SC_BARRIERS___392 = 133,
    _SC_BASE___392 = 134,
    _SC_C_LANG_SUPPORT___392 = 135,
    _SC_C_LANG_SUPPORT_R___392 = 136,
    _SC_CLOCK_SELECTION___392 = 137,
    _SC_CPUTIME___392 = 138,
    _SC_THREAD_CPUTIME___392 = 139,
    _SC_DEVICE_IO___392 = 140,
    _SC_DEVICE_SPECIFIC___392 = 141,
    _SC_DEVICE_SPECIFIC_R___392 = 142,
    _SC_FD_MGMT___392 = 143,
    _SC_FIFO___392 = 144,
    _SC_PIPE___392 = 145,
    _SC_FILE_ATTRIBUTES___392 = 146,
    _SC_FILE_LOCKING___392 = 147,
    _SC_FILE_SYSTEM___392 = 148,
    _SC_MONOTONIC_CLOCK___392 = 149,
    _SC_MULTI_PROCESS___392 = 150,
    _SC_SINGLE_PROCESS___392 = 151,
    _SC_NETWORKING___392 = 152,
    _SC_READER_WRITER_LOCKS___392 = 153,
    _SC_SPIN_LOCKS___392 = 154,
    _SC_REGEXP___392 = 155,
    _SC_REGEX_VERSION___392 = 156,
    _SC_SHELL___392 = 157,
    _SC_SIGNALS___392 = 158,
    _SC_SPAWN___392 = 159,
    _SC_SPORADIC_SERVER___392 = 160,
    _SC_THREAD_SPORADIC_SERVER___392 = 161,
    _SC_SYSTEM_DATABASE___392 = 162,
    _SC_SYSTEM_DATABASE_R___392 = 163,
    _SC_TIMEOUTS___392 = 164,
    _SC_TYPED_MEMORY_OBJECTS___392 = 165,
    _SC_USER_GROUPS___392 = 166,
    _SC_USER_GROUPS_R___392 = 167,
    _SC_2_PBS___392 = 168,
    _SC_2_PBS_ACCOUNTING___392 = 169,
    _SC_2_PBS_LOCATE___392 = 170,
    _SC_2_PBS_MESSAGE___392 = 171,
    _SC_2_PBS_TRACK___392 = 172,
    _SC_SYMLOOP_MAX___392 = 173,
    _SC_STREAMS___392 = 174,
    _SC_2_PBS_CHECKPOINT___392 = 175,
    _SC_V6_ILP32_OFF32___392 = 176,
    _SC_V6_ILP32_OFFBIG___392 = 177,
    _SC_V6_LP64_OFF64___392 = 178,
    _SC_V6_LPBIG_OFFBIG___392 = 179,
    _SC_HOST_NAME_MAX___392 = 180,
    _SC_TRACE___392 = 181,
    _SC_TRACE_EVENT_FILTER___392 = 182,
    _SC_TRACE_INHERIT___392 = 183,
    _SC_TRACE_LOG___392 = 184,
    _SC_LEVEL1_ICACHE_SIZE___392 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___392 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___392 = 187,
    _SC_LEVEL1_DCACHE_SIZE___392 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___392 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___392 = 190,
    _SC_LEVEL2_CACHE_SIZE___392 = 191,
    _SC_LEVEL2_CACHE_ASSOC___392 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___392 = 193,
    _SC_LEVEL3_CACHE_SIZE___392 = 194,
    _SC_LEVEL3_CACHE_ASSOC___392 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___392 = 196,
    _SC_LEVEL4_CACHE_SIZE___392 = 197,
    _SC_LEVEL4_CACHE_ASSOC___392 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___392 = 199,
    _SC_IPV6___392 = 235,
    _SC_RAW_SOCKETS___392 = 236,
    _SC_V7_ILP32_OFF32___392 = 237,
    _SC_V7_ILP32_OFFBIG___392 = 238,
    _SC_V7_LP64_OFF64___392 = 239,
    _SC_V7_LPBIG_OFFBIG___392 = 240,
    _SC_SS_REPL_MAX___392 = 241,
    _SC_TRACE_EVENT_NAME_MAX___392 = 242,
    _SC_TRACE_NAME_MAX___392 = 243,
    _SC_TRACE_SYS_MAX___392 = 244,
    _SC_TRACE_USER_EVENT_MAX___392 = 245,
    _SC_XOPEN_STREAMS___392 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___392 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___392 = 248
} ;
enum __anonenum_875524036___392 {
    _CS_PATH___392 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___392 = 1,
    _CS_GNU_LIBC_VERSION___392 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___392 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___392 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___392 = 5,
    _CS_LFS_CFLAGS___392 = 1000,
    _CS_LFS_LDFLAGS___392 = 1001,
    _CS_LFS_LIBS___392 = 1002,
    _CS_LFS_LINTFLAGS___392 = 1003,
    _CS_LFS64_CFLAGS___392 = 1004,
    _CS_LFS64_LDFLAGS___392 = 1005,
    _CS_LFS64_LIBS___392 = 1006,
    _CS_LFS64_LINTFLAGS___392 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___392 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___392 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___392 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___392 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___392 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___392 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___392 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___392 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___392 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___392 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___392 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___392 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___392 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___392 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___392 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___392 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___392 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___392 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___392 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___392 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___392 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___392 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___392 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___392 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___392 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___392 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___392 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___392 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___392 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___392 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___392 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___392 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___392 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___392 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___392 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___392 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___392 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___392 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___392 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___392 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___392 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___392 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___392 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___392 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___392 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___392 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___392 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___392 = 1147,
    _CS_V6_ENV___392 = 1148,
    _CS_V7_ENV___392 = 1149
} ;
enum __anonenum_513775621___392 {
    DT_UNKNOWN___392 = 0,
    DT_FIFO___392 = 1,
    DT_CHR___392 = 2,
    DT_DIR___392 = 4,
    DT_BLK___392 = 6,
    DT_REG___392 = 8,
    DT_LNK___392 = 10,
    DT_SOCK___392 = 12,
    DT_WHT___392 = 14
} ;
enum __anonenum_77002343___392 {
    SI_ASYNCNL___392 = -60,
    SI_TKILL___392 = -6,
    SI_SIGIO___392 = -5,
    SI_ASYNCIO___392 = -4,
    SI_MESGQ___392 = -3,
    SI_TIMER___392 = -2,
    SI_QUEUE___392 = -1,
    SI_USER___392 = 0,
    SI_KERNEL___392 = 128
} ;
enum __anonenum_131038172___392 {
    ILL_ILLOPC___392 = 1,
    ILL_ILLOPN___392 = 2,
    ILL_ILLADR___392 = 3,
    ILL_ILLTRP___392 = 4,
    ILL_PRVOPC___392 = 5,
    ILL_PRVREG___392 = 6,
    ILL_COPROC___392 = 7,
    ILL_BADSTK___392 = 8
} ;
enum __anonenum_452038093___392 {
    FPE_INTDIV___392 = 1,
    FPE_INTOVF___392 = 2,
    FPE_FLTDIV___392 = 3,
    FPE_FLTOVF___392 = 4,
    FPE_FLTUND___392 = 5,
    FPE_FLTRES___392 = 6,
    FPE_FLTINV___392 = 7,
    FPE_FLTSUB___392 = 8
} ;
enum __anonenum_30976155___392 {
    SEGV_MAPERR___392 = 1,
    SEGV_ACCERR___392 = 2,
    SEGV_BNDERR___392 = 3,
    SEGV_PKUERR___392 = 4
} ;
enum __anonenum_1036286214___392 {
    BUS_ADRALN___392 = 1,
    BUS_ADRERR___392 = 2,
    BUS_OBJERR___392 = 3,
    BUS_MCEERR_AR___392 = 4,
    BUS_MCEERR_AO___392 = 5
} ;
enum __anonenum_493465559___392 {
    TRAP_BRKPT___392 = 1,
    TRAP_TRACE___392 = 2
} ;
enum __anonenum_23175539___392 {
    CLD_EXITED___392 = 1,
    CLD_KILLED___392 = 2,
    CLD_DUMPED___392 = 3,
    CLD_TRAPPED___392 = 4,
    CLD_STOPPED___392 = 5,
    CLD_CONTINUED___392 = 6
} ;
enum __anonenum_111643124___392 {
    POLL_IN___392 = 1,
    POLL_OUT___392 = 2,
    POLL_MSG___392 = 3,
    POLL_ERR___392 = 4,
    POLL_PRI___392 = 5,
    POLL_HUP___392 = 6
} ;
enum __anonenum_852341087___392 {
    SIGEV_SIGNAL___392 = 0,
    SIGEV_NONE___392 = 1,
    SIGEV_THREAD___392 = 2,
    SIGEV_THREAD_ID___392 = 4
} ;
enum __anonenum_451154152___392 {
    REG_R8___392 = 0,
    REG_R9___392 = 1,
    REG_R10___392 = 2,
    REG_R11___392 = 3,
    REG_R12___392 = 4,
    REG_R13___392 = 5,
    REG_R14___392 = 6,
    REG_R15___392 = 7,
    REG_RDI___392 = 8,
    REG_RSI___392 = 9,
    REG_RBP___392 = 10,
    REG_RBX___392 = 11,
    REG_RDX___392 = 12,
    REG_RAX___392 = 13,
    REG_RCX___392 = 14,
    REG_RSP___392 = 15,
    REG_RIP___392 = 16,
    REG_EFL___392 = 17,
    REG_CSGSFS___392 = 18,
    REG_ERR___392 = 19,
    REG_TRAPNO___392 = 20,
    REG_OLDMASK___392 = 21,
    REG_CR2___392 = 22
} ;
enum __anonenum_57186863___392 {
    SS_ONSTACK___392 = 1,
    SS_DISABLE___392 = 2
} ;
enum __anonenum_83571709___392 {
    MSG_OOB___392 = 1,
    MSG_PEEK___392 = 2,
    MSG_DONTROUTE___392 = 4,
    MSG_TRYHARD___392 = 4,
    MSG_CTRUNC___392 = 8,
    MSG_PROXY___392 = 16,
    MSG_TRUNC___392 = 32,
    MSG_DONTWAIT___392 = 64,
    MSG_EOR___392 = 128,
    MSG_WAITALL___392 = 256,
    MSG_FIN___392 = 512,
    MSG_SYN___392 = 1024,
    MSG_CONFIRM___392 = 2048,
    MSG_RST___392 = 4096,
    MSG_ERRQUEUE___392 = 8192,
    MSG_NOSIGNAL___392 = 16384,
    MSG_MORE___392 = 32768,
    MSG_WAITFORONE___392 = 65536,
    MSG_BATCH___392 = 262144,
    MSG_ZEROCOPY___392 = 67108864,
    MSG_FASTOPEN___392 = 536870912,
    MSG_CMSG_CLOEXEC___392 = 1073741824
} ;
enum __anonenum_617082774___392 {
    SCM_RIGHTS___392 = 1,
    SCM_CREDENTIALS___392 = 2
} ;
enum __anonenum_606441560___392 {
    SHUT_RD___392 = 0,
    SHUT_WR___392 = 1,
    SHUT_RDWR___392 = 2
} ;
enum __anonenum_681669233___392 {
    IPPROTO_IP___392 = 0,
    IPPROTO_ICMP___392 = 1,
    IPPROTO_IGMP___392 = 2,
    IPPROTO_IPIP___392 = 4,
    IPPROTO_TCP___392 = 6,
    IPPROTO_EGP___392 = 8,
    IPPROTO_PUP___392 = 12,
    IPPROTO_UDP___392 = 17,
    IPPROTO_IDP___392 = 22,
    IPPROTO_TP___392 = 29,
    IPPROTO_DCCP___392 = 33,
    IPPROTO_IPV6___392 = 41,
    IPPROTO_RSVP___392 = 46,
    IPPROTO_GRE___392 = 47,
    IPPROTO_ESP___392 = 50,
    IPPROTO_AH___392 = 51,
    IPPROTO_MTP___392 = 92,
    IPPROTO_BEETPH___392 = 94,
    IPPROTO_ENCAP___392 = 98,
    IPPROTO_PIM___392 = 103,
    IPPROTO_COMP___392 = 108,
    IPPROTO_SCTP___392 = 132,
    IPPROTO_UDPLITE___392 = 136,
    IPPROTO_MPLS___392 = 137,
    IPPROTO_RAW___392 = 255,
    IPPROTO_MAX___392 = 256
} ;
enum __anonenum_218739988___392 {
    IPPROTO_HOPOPTS___392 = 0,
    IPPROTO_ROUTING___392 = 43,
    IPPROTO_FRAGMENT___392 = 44,
    IPPROTO_ICMPV6___392 = 58,
    IPPROTO_NONE___392 = 59,
    IPPROTO_DSTOPTS___392 = 60,
    IPPROTO_MH___392 = 135
} ;
enum __anonenum_662268580___392 {
    IPPORT_ECHO___392 = 7,
    IPPORT_DISCARD___392 = 9,
    IPPORT_SYSTAT___392 = 11,
    IPPORT_DAYTIME___392 = 13,
    IPPORT_NETSTAT___392 = 15,
    IPPORT_FTP___392 = 21,
    IPPORT_TELNET___392 = 23,
    IPPORT_SMTP___392 = 25,
    IPPORT_TIMESERVER___392 = 37,
    IPPORT_NAMESERVER___392 = 42,
    IPPORT_WHOIS___392 = 43,
    IPPORT_MTP___392 = 57,
    IPPORT_TFTP___392 = 69,
    IPPORT_RJE___392 = 77,
    IPPORT_FINGER___392 = 79,
    IPPORT_TTYLINK___392 = 87,
    IPPORT_SUPDUP___392 = 95,
    IPPORT_EXECSERVER___392 = 512,
    IPPORT_LOGINSERVER___392 = 513,
    IPPORT_CMDSERVER___392 = 514,
    IPPORT_EFSSERVER___392 = 520,
    IPPORT_BIFFUDP___392 = 512,
    IPPORT_WHOSERVER___392 = 513,
    IPPORT_ROUTESERVER___392 = 520,
    IPPORT_RESERVED___392 = 1024,
    IPPORT_USERRESERVED___392 = 5000
} ;
enum __anonenum_788308992___392 {
    TCP_ESTABLISHED___392 = 1,
    TCP_SYN_SENT___392 = 2,
    TCP_SYN_RECV___392 = 3,
    TCP_FIN_WAIT1___392 = 4,
    TCP_FIN_WAIT2___392 = 5,
    TCP_TIME_WAIT___392 = 6,
    TCP_CLOSE___392 = 7,
    TCP_CLOSE_WAIT___392 = 8,
    TCP_LAST_ACK___392 = 9,
    TCP_LISTEN___392 = 10,
    TCP_CLOSING___392 = 11
} ;
enum __anonenum_221125648___392 {
    TCP_NO_QUEUE___392 = 0,
    TCP_RECV_QUEUE___392 = 1,
    TCP_SEND_QUEUE___392 = 2,
    TCP_QUEUES_NR___392 = 3
} ;
enum __anonenum_34415463___392 {
    PTHREAD_CREATE_JOINABLE___392 = 0,
    PTHREAD_CREATE_DETACHED___392 = 1
} ;
enum __anonenum_303612439___392 {
    PTHREAD_MUTEX_TIMED_NP___392 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___392 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___392 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___392 = 3,
    PTHREAD_MUTEX_NORMAL___392 = 0,
    PTHREAD_MUTEX_RECURSIVE___392 = 1,
    PTHREAD_MUTEX_ERRORCHECK___392 = 2,
    PTHREAD_MUTEX_DEFAULT___392 = 0,
    PTHREAD_MUTEX_FAST_NP___392 = 0
} ;
enum __anonenum_931900394___392 {
    PTHREAD_MUTEX_STALLED___392 = 0,
    PTHREAD_MUTEX_STALLED_NP___392 = 0,
    PTHREAD_MUTEX_ROBUST___392 = 1,
    PTHREAD_MUTEX_ROBUST_NP___392 = 1
} ;
enum __anonenum_205214487___392 {
    PTHREAD_PRIO_NONE___392 = 0,
    PTHREAD_PRIO_INHERIT___392 = 1,
    PTHREAD_PRIO_PROTECT___392 = 2
} ;
enum __anonenum_25043950___392 {
    PTHREAD_RWLOCK_PREFER_READER_NP___392 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___392 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___392 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___392 = 0
} ;
enum __anonenum_436439511___392 {
    PTHREAD_INHERIT_SCHED___392 = 0,
    PTHREAD_EXPLICIT_SCHED___392 = 1
} ;
enum __anonenum_998661166___392 {
    PTHREAD_SCOPE_SYSTEM___392 = 0,
    PTHREAD_SCOPE_PROCESS___392 = 1
} ;
enum __anonenum_146137331___392 {
    PTHREAD_PROCESS_PRIVATE___392 = 0,
    PTHREAD_PROCESS_SHARED___392 = 1
} ;
enum __anonenum_53396917___392 {
    PTHREAD_CANCEL_ENABLE___392 = 0,
    PTHREAD_CANCEL_DISABLE___392 = 1
} ;
enum __anonenum_904563783___392 {
    PTHREAD_CANCEL_DEFERRED___392 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___392 = 1
} ;
enum __anonenum_672052974___392 {
    SSL_CT_VALIDATION_PERMISSIVE___392 = 0,
    SSL_CT_VALIDATION_STRICT___392 = 1
} ;
enum __anonenum_437032235___393 {
    _PC_LINK_MAX___393 = 0,
    _PC_MAX_CANON___393 = 1,
    _PC_MAX_INPUT___393 = 2,
    _PC_NAME_MAX___393 = 3,
    _PC_PATH_MAX___393 = 4,
    _PC_PIPE_BUF___393 = 5,
    _PC_CHOWN_RESTRICTED___393 = 6,
    _PC_NO_TRUNC___393 = 7,
    _PC_VDISABLE___393 = 8,
    _PC_SYNC_IO___393 = 9,
    _PC_ASYNC_IO___393 = 10,
    _PC_PRIO_IO___393 = 11,
    _PC_SOCK_MAXBUF___393 = 12,
    _PC_FILESIZEBITS___393 = 13,
    _PC_REC_INCR_XFER_SIZE___393 = 14,
    _PC_REC_MAX_XFER_SIZE___393 = 15,
    _PC_REC_MIN_XFER_SIZE___393 = 16,
    _PC_REC_XFER_ALIGN___393 = 17,
    _PC_ALLOC_SIZE_MIN___393 = 18,
    _PC_SYMLINK_MAX___393 = 19,
    _PC_2_SYMLINKS___393 = 20
} ;
enum __anonenum_315186338___393 {
    _SC_ARG_MAX___393 = 0,
    _SC_CHILD_MAX___393 = 1,
    _SC_CLK_TCK___393 = 2,
    _SC_NGROUPS_MAX___393 = 3,
    _SC_OPEN_MAX___393 = 4,
    _SC_STREAM_MAX___393 = 5,
    _SC_TZNAME_MAX___393 = 6,
    _SC_JOB_CONTROL___393 = 7,
    _SC_SAVED_IDS___393 = 8,
    _SC_REALTIME_SIGNALS___393 = 9,
    _SC_PRIORITY_SCHEDULING___393 = 10,
    _SC_TIMERS___393 = 11,
    _SC_ASYNCHRONOUS_IO___393 = 12,
    _SC_PRIORITIZED_IO___393 = 13,
    _SC_SYNCHRONIZED_IO___393 = 14,
    _SC_FSYNC___393 = 15,
    _SC_MAPPED_FILES___393 = 16,
    _SC_MEMLOCK___393 = 17,
    _SC_MEMLOCK_RANGE___393 = 18,
    _SC_MEMORY_PROTECTION___393 = 19,
    _SC_MESSAGE_PASSING___393 = 20,
    _SC_SEMAPHORES___393 = 21,
    _SC_SHARED_MEMORY_OBJECTS___393 = 22,
    _SC_AIO_LISTIO_MAX___393 = 23,
    _SC_AIO_MAX___393 = 24,
    _SC_AIO_PRIO_DELTA_MAX___393 = 25,
    _SC_DELAYTIMER_MAX___393 = 26,
    _SC_MQ_OPEN_MAX___393 = 27,
    _SC_MQ_PRIO_MAX___393 = 28,
    _SC_VERSION___393 = 29,
    _SC_PAGESIZE___393 = 30,
    _SC_RTSIG_MAX___393 = 31,
    _SC_SEM_NSEMS_MAX___393 = 32,
    _SC_SEM_VALUE_MAX___393 = 33,
    _SC_SIGQUEUE_MAX___393 = 34,
    _SC_TIMER_MAX___393 = 35,
    _SC_BC_BASE_MAX___393 = 36,
    _SC_BC_DIM_MAX___393 = 37,
    _SC_BC_SCALE_MAX___393 = 38,
    _SC_BC_STRING_MAX___393 = 39,
    _SC_COLL_WEIGHTS_MAX___393 = 40,
    _SC_EQUIV_CLASS_MAX___393 = 41,
    _SC_EXPR_NEST_MAX___393 = 42,
    _SC_LINE_MAX___393 = 43,
    _SC_RE_DUP_MAX___393 = 44,
    _SC_CHARCLASS_NAME_MAX___393 = 45,
    _SC_2_VERSION___393 = 46,
    _SC_2_C_BIND___393 = 47,
    _SC_2_C_DEV___393 = 48,
    _SC_2_FORT_DEV___393 = 49,
    _SC_2_FORT_RUN___393 = 50,
    _SC_2_SW_DEV___393 = 51,
    _SC_2_LOCALEDEF___393 = 52,
    _SC_PII___393 = 53,
    _SC_PII_XTI___393 = 54,
    _SC_PII_SOCKET___393 = 55,
    _SC_PII_INTERNET___393 = 56,
    _SC_PII_OSI___393 = 57,
    _SC_POLL___393 = 58,
    _SC_SELECT___393 = 59,
    _SC_UIO_MAXIOV___393 = 60,
    _SC_IOV_MAX___393 = 60,
    _SC_PII_INTERNET_STREAM___393 = 61,
    _SC_PII_INTERNET_DGRAM___393 = 62,
    _SC_PII_OSI_COTS___393 = 63,
    _SC_PII_OSI_CLTS___393 = 64,
    _SC_PII_OSI_M___393 = 65,
    _SC_T_IOV_MAX___393 = 66,
    _SC_THREADS___393 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___393 = 68,
    _SC_GETGR_R_SIZE_MAX___393 = 69,
    _SC_GETPW_R_SIZE_MAX___393 = 70,
    _SC_LOGIN_NAME_MAX___393 = 71,
    _SC_TTY_NAME_MAX___393 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___393 = 73,
    _SC_THREAD_KEYS_MAX___393 = 74,
    _SC_THREAD_STACK_MIN___393 = 75,
    _SC_THREAD_THREADS_MAX___393 = 76,
    _SC_THREAD_ATTR_STACKADDR___393 = 77,
    _SC_THREAD_ATTR_STACKSIZE___393 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___393 = 79,
    _SC_THREAD_PRIO_INHERIT___393 = 80,
    _SC_THREAD_PRIO_PROTECT___393 = 81,
    _SC_THREAD_PROCESS_SHARED___393 = 82,
    _SC_NPROCESSORS_CONF___393 = 83,
    _SC_NPROCESSORS_ONLN___393 = 84,
    _SC_PHYS_PAGES___393 = 85,
    _SC_AVPHYS_PAGES___393 = 86,
    _SC_ATEXIT_MAX___393 = 87,
    _SC_PASS_MAX___393 = 88,
    _SC_XOPEN_VERSION___393 = 89,
    _SC_XOPEN_XCU_VERSION___393 = 90,
    _SC_XOPEN_UNIX___393 = 91,
    _SC_XOPEN_CRYPT___393 = 92,
    _SC_XOPEN_ENH_I18N___393 = 93,
    _SC_XOPEN_SHM___393 = 94,
    _SC_2_CHAR_TERM___393 = 95,
    _SC_2_C_VERSION___393 = 96,
    _SC_2_UPE___393 = 97,
    _SC_XOPEN_XPG2___393 = 98,
    _SC_XOPEN_XPG3___393 = 99,
    _SC_XOPEN_XPG4___393 = 100,
    _SC_CHAR_BIT___393 = 101,
    _SC_CHAR_MAX___393 = 102,
    _SC_CHAR_MIN___393 = 103,
    _SC_INT_MAX___393 = 104,
    _SC_INT_MIN___393 = 105,
    _SC_LONG_BIT___393 = 106,
    _SC_WORD_BIT___393 = 107,
    _SC_MB_LEN_MAX___393 = 108,
    _SC_NZERO___393 = 109,
    _SC_SSIZE_MAX___393 = 110,
    _SC_SCHAR_MAX___393 = 111,
    _SC_SCHAR_MIN___393 = 112,
    _SC_SHRT_MAX___393 = 113,
    _SC_SHRT_MIN___393 = 114,
    _SC_UCHAR_MAX___393 = 115,
    _SC_UINT_MAX___393 = 116,
    _SC_ULONG_MAX___393 = 117,
    _SC_USHRT_MAX___393 = 118,
    _SC_NL_ARGMAX___393 = 119,
    _SC_NL_LANGMAX___393 = 120,
    _SC_NL_MSGMAX___393 = 121,
    _SC_NL_NMAX___393 = 122,
    _SC_NL_SETMAX___393 = 123,
    _SC_NL_TEXTMAX___393 = 124,
    _SC_XBS5_ILP32_OFF32___393 = 125,
    _SC_XBS5_ILP32_OFFBIG___393 = 126,
    _SC_XBS5_LP64_OFF64___393 = 127,
    _SC_XBS5_LPBIG_OFFBIG___393 = 128,
    _SC_XOPEN_LEGACY___393 = 129,
    _SC_XOPEN_REALTIME___393 = 130,
    _SC_XOPEN_REALTIME_THREADS___393 = 131,
    _SC_ADVISORY_INFO___393 = 132,
    _SC_BARRIERS___393 = 133,
    _SC_BASE___393 = 134,
    _SC_C_LANG_SUPPORT___393 = 135,
    _SC_C_LANG_SUPPORT_R___393 = 136,
    _SC_CLOCK_SELECTION___393 = 137,
    _SC_CPUTIME___393 = 138,
    _SC_THREAD_CPUTIME___393 = 139,
    _SC_DEVICE_IO___393 = 140,
    _SC_DEVICE_SPECIFIC___393 = 141,
    _SC_DEVICE_SPECIFIC_R___393 = 142,
    _SC_FD_MGMT___393 = 143,
    _SC_FIFO___393 = 144,
    _SC_PIPE___393 = 145,
    _SC_FILE_ATTRIBUTES___393 = 146,
    _SC_FILE_LOCKING___393 = 147,
    _SC_FILE_SYSTEM___393 = 148,
    _SC_MONOTONIC_CLOCK___393 = 149,
    _SC_MULTI_PROCESS___393 = 150,
    _SC_SINGLE_PROCESS___393 = 151,
    _SC_NETWORKING___393 = 152,
    _SC_READER_WRITER_LOCKS___393 = 153,
    _SC_SPIN_LOCKS___393 = 154,
    _SC_REGEXP___393 = 155,
    _SC_REGEX_VERSION___393 = 156,
    _SC_SHELL___393 = 157,
    _SC_SIGNALS___393 = 158,
    _SC_SPAWN___393 = 159,
    _SC_SPORADIC_SERVER___393 = 160,
    _SC_THREAD_SPORADIC_SERVER___393 = 161,
    _SC_SYSTEM_DATABASE___393 = 162,
    _SC_SYSTEM_DATABASE_R___393 = 163,
    _SC_TIMEOUTS___393 = 164,
    _SC_TYPED_MEMORY_OBJECTS___393 = 165,
    _SC_USER_GROUPS___393 = 166,
    _SC_USER_GROUPS_R___393 = 167,
    _SC_2_PBS___393 = 168,
    _SC_2_PBS_ACCOUNTING___393 = 169,
    _SC_2_PBS_LOCATE___393 = 170,
    _SC_2_PBS_MESSAGE___393 = 171,
    _SC_2_PBS_TRACK___393 = 172,
    _SC_SYMLOOP_MAX___393 = 173,
    _SC_STREAMS___393 = 174,
    _SC_2_PBS_CHECKPOINT___393 = 175,
    _SC_V6_ILP32_OFF32___393 = 176,
    _SC_V6_ILP32_OFFBIG___393 = 177,
    _SC_V6_LP64_OFF64___393 = 178,
    _SC_V6_LPBIG_OFFBIG___393 = 179,
    _SC_HOST_NAME_MAX___393 = 180,
    _SC_TRACE___393 = 181,
    _SC_TRACE_EVENT_FILTER___393 = 182,
    _SC_TRACE_INHERIT___393 = 183,
    _SC_TRACE_LOG___393 = 184,
    _SC_LEVEL1_ICACHE_SIZE___393 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___393 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___393 = 187,
    _SC_LEVEL1_DCACHE_SIZE___393 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___393 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___393 = 190,
    _SC_LEVEL2_CACHE_SIZE___393 = 191,
    _SC_LEVEL2_CACHE_ASSOC___393 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___393 = 193,
    _SC_LEVEL3_CACHE_SIZE___393 = 194,
    _SC_LEVEL3_CACHE_ASSOC___393 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___393 = 196,
    _SC_LEVEL4_CACHE_SIZE___393 = 197,
    _SC_LEVEL4_CACHE_ASSOC___393 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___393 = 199,
    _SC_IPV6___393 = 235,
    _SC_RAW_SOCKETS___393 = 236,
    _SC_V7_ILP32_OFF32___393 = 237,
    _SC_V7_ILP32_OFFBIG___393 = 238,
    _SC_V7_LP64_OFF64___393 = 239,
    _SC_V7_LPBIG_OFFBIG___393 = 240,
    _SC_SS_REPL_MAX___393 = 241,
    _SC_TRACE_EVENT_NAME_MAX___393 = 242,
    _SC_TRACE_NAME_MAX___393 = 243,
    _SC_TRACE_SYS_MAX___393 = 244,
    _SC_TRACE_USER_EVENT_MAX___393 = 245,
    _SC_XOPEN_STREAMS___393 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___393 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___393 = 248
} ;
enum __anonenum_875524036___393 {
    _CS_PATH___393 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___393 = 1,
    _CS_GNU_LIBC_VERSION___393 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___393 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___393 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___393 = 5,
    _CS_LFS_CFLAGS___393 = 1000,
    _CS_LFS_LDFLAGS___393 = 1001,
    _CS_LFS_LIBS___393 = 1002,
    _CS_LFS_LINTFLAGS___393 = 1003,
    _CS_LFS64_CFLAGS___393 = 1004,
    _CS_LFS64_LDFLAGS___393 = 1005,
    _CS_LFS64_LIBS___393 = 1006,
    _CS_LFS64_LINTFLAGS___393 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___393 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___393 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___393 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___393 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___393 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___393 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___393 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___393 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___393 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___393 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___393 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___393 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___393 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___393 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___393 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___393 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___393 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___393 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___393 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___393 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___393 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___393 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___393 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___393 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___393 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___393 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___393 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___393 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___393 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___393 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___393 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___393 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___393 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___393 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___393 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___393 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___393 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___393 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___393 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___393 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___393 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___393 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___393 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___393 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___393 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___393 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___393 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___393 = 1147,
    _CS_V6_ENV___393 = 1148,
    _CS_V7_ENV___393 = 1149
} ;
enum __anonenum_513775621___393 {
    DT_UNKNOWN___393 = 0,
    DT_FIFO___393 = 1,
    DT_CHR___393 = 2,
    DT_DIR___393 = 4,
    DT_BLK___393 = 6,
    DT_REG___393 = 8,
    DT_LNK___393 = 10,
    DT_SOCK___393 = 12,
    DT_WHT___393 = 14
} ;
enum __anonenum_77002343___393 {
    SI_ASYNCNL___393 = -60,
    SI_TKILL___393 = -6,
    SI_SIGIO___393 = -5,
    SI_ASYNCIO___393 = -4,
    SI_MESGQ___393 = -3,
    SI_TIMER___393 = -2,
    SI_QUEUE___393 = -1,
    SI_USER___393 = 0,
    SI_KERNEL___393 = 128
} ;
enum __anonenum_131038172___393 {
    ILL_ILLOPC___393 = 1,
    ILL_ILLOPN___393 = 2,
    ILL_ILLADR___393 = 3,
    ILL_ILLTRP___393 = 4,
    ILL_PRVOPC___393 = 5,
    ILL_PRVREG___393 = 6,
    ILL_COPROC___393 = 7,
    ILL_BADSTK___393 = 8
} ;
enum __anonenum_452038093___393 {
    FPE_INTDIV___393 = 1,
    FPE_INTOVF___393 = 2,
    FPE_FLTDIV___393 = 3,
    FPE_FLTOVF___393 = 4,
    FPE_FLTUND___393 = 5,
    FPE_FLTRES___393 = 6,
    FPE_FLTINV___393 = 7,
    FPE_FLTSUB___393 = 8
} ;
enum __anonenum_30976155___393 {
    SEGV_MAPERR___393 = 1,
    SEGV_ACCERR___393 = 2,
    SEGV_BNDERR___393 = 3,
    SEGV_PKUERR___393 = 4
} ;
enum __anonenum_1036286214___393 {
    BUS_ADRALN___393 = 1,
    BUS_ADRERR___393 = 2,
    BUS_OBJERR___393 = 3,
    BUS_MCEERR_AR___393 = 4,
    BUS_MCEERR_AO___393 = 5
} ;
enum __anonenum_493465559___393 {
    TRAP_BRKPT___393 = 1,
    TRAP_TRACE___393 = 2
} ;
enum __anonenum_23175539___393 {
    CLD_EXITED___393 = 1,
    CLD_KILLED___393 = 2,
    CLD_DUMPED___393 = 3,
    CLD_TRAPPED___393 = 4,
    CLD_STOPPED___393 = 5,
    CLD_CONTINUED___393 = 6
} ;
enum __anonenum_111643124___393 {
    POLL_IN___393 = 1,
    POLL_OUT___393 = 2,
    POLL_MSG___393 = 3,
    POLL_ERR___393 = 4,
    POLL_PRI___393 = 5,
    POLL_HUP___393 = 6
} ;
enum __anonenum_852341087___393 {
    SIGEV_SIGNAL___393 = 0,
    SIGEV_NONE___393 = 1,
    SIGEV_THREAD___393 = 2,
    SIGEV_THREAD_ID___393 = 4
} ;
enum __anonenum_451154152___393 {
    REG_R8___393 = 0,
    REG_R9___393 = 1,
    REG_R10___393 = 2,
    REG_R11___393 = 3,
    REG_R12___393 = 4,
    REG_R13___393 = 5,
    REG_R14___393 = 6,
    REG_R15___393 = 7,
    REG_RDI___393 = 8,
    REG_RSI___393 = 9,
    REG_RBP___393 = 10,
    REG_RBX___393 = 11,
    REG_RDX___393 = 12,
    REG_RAX___393 = 13,
    REG_RCX___393 = 14,
    REG_RSP___393 = 15,
    REG_RIP___393 = 16,
    REG_EFL___393 = 17,
    REG_CSGSFS___393 = 18,
    REG_ERR___393 = 19,
    REG_TRAPNO___393 = 20,
    REG_OLDMASK___393 = 21,
    REG_CR2___393 = 22
} ;
enum __anonenum_57186863___393 {
    SS_ONSTACK___393 = 1,
    SS_DISABLE___393 = 2
} ;
enum __anonenum_83571709___393 {
    MSG_OOB___393 = 1,
    MSG_PEEK___393 = 2,
    MSG_DONTROUTE___393 = 4,
    MSG_TRYHARD___393 = 4,
    MSG_CTRUNC___393 = 8,
    MSG_PROXY___393 = 16,
    MSG_TRUNC___393 = 32,
    MSG_DONTWAIT___393 = 64,
    MSG_EOR___393 = 128,
    MSG_WAITALL___393 = 256,
    MSG_FIN___393 = 512,
    MSG_SYN___393 = 1024,
    MSG_CONFIRM___393 = 2048,
    MSG_RST___393 = 4096,
    MSG_ERRQUEUE___393 = 8192,
    MSG_NOSIGNAL___393 = 16384,
    MSG_MORE___393 = 32768,
    MSG_WAITFORONE___393 = 65536,
    MSG_BATCH___393 = 262144,
    MSG_ZEROCOPY___393 = 67108864,
    MSG_FASTOPEN___393 = 536870912,
    MSG_CMSG_CLOEXEC___393 = 1073741824
} ;
enum __anonenum_617082774___393 {
    SCM_RIGHTS___393 = 1,
    SCM_CREDENTIALS___393 = 2
} ;
enum __anonenum_606441560___393 {
    SHUT_RD___393 = 0,
    SHUT_WR___393 = 1,
    SHUT_RDWR___393 = 2
} ;
enum __anonenum_681669233___393 {
    IPPROTO_IP___393 = 0,
    IPPROTO_ICMP___393 = 1,
    IPPROTO_IGMP___393 = 2,
    IPPROTO_IPIP___393 = 4,
    IPPROTO_TCP___393 = 6,
    IPPROTO_EGP___393 = 8,
    IPPROTO_PUP___393 = 12,
    IPPROTO_UDP___393 = 17,
    IPPROTO_IDP___393 = 22,
    IPPROTO_TP___393 = 29,
    IPPROTO_DCCP___393 = 33,
    IPPROTO_IPV6___393 = 41,
    IPPROTO_RSVP___393 = 46,
    IPPROTO_GRE___393 = 47,
    IPPROTO_ESP___393 = 50,
    IPPROTO_AH___393 = 51,
    IPPROTO_MTP___393 = 92,
    IPPROTO_BEETPH___393 = 94,
    IPPROTO_ENCAP___393 = 98,
    IPPROTO_PIM___393 = 103,
    IPPROTO_COMP___393 = 108,
    IPPROTO_SCTP___393 = 132,
    IPPROTO_UDPLITE___393 = 136,
    IPPROTO_MPLS___393 = 137,
    IPPROTO_RAW___393 = 255,
    IPPROTO_MAX___393 = 256
} ;
enum __anonenum_218739988___393 {
    IPPROTO_HOPOPTS___393 = 0,
    IPPROTO_ROUTING___393 = 43,
    IPPROTO_FRAGMENT___393 = 44,
    IPPROTO_ICMPV6___393 = 58,
    IPPROTO_NONE___393 = 59,
    IPPROTO_DSTOPTS___393 = 60,
    IPPROTO_MH___393 = 135
} ;
enum __anonenum_662268580___393 {
    IPPORT_ECHO___393 = 7,
    IPPORT_DISCARD___393 = 9,
    IPPORT_SYSTAT___393 = 11,
    IPPORT_DAYTIME___393 = 13,
    IPPORT_NETSTAT___393 = 15,
    IPPORT_FTP___393 = 21,
    IPPORT_TELNET___393 = 23,
    IPPORT_SMTP___393 = 25,
    IPPORT_TIMESERVER___393 = 37,
    IPPORT_NAMESERVER___393 = 42,
    IPPORT_WHOIS___393 = 43,
    IPPORT_MTP___393 = 57,
    IPPORT_TFTP___393 = 69,
    IPPORT_RJE___393 = 77,
    IPPORT_FINGER___393 = 79,
    IPPORT_TTYLINK___393 = 87,
    IPPORT_SUPDUP___393 = 95,
    IPPORT_EXECSERVER___393 = 512,
    IPPORT_LOGINSERVER___393 = 513,
    IPPORT_CMDSERVER___393 = 514,
    IPPORT_EFSSERVER___393 = 520,
    IPPORT_BIFFUDP___393 = 512,
    IPPORT_WHOSERVER___393 = 513,
    IPPORT_ROUTESERVER___393 = 520,
    IPPORT_RESERVED___393 = 1024,
    IPPORT_USERRESERVED___393 = 5000
} ;
enum __anonenum_788308992___393 {
    TCP_ESTABLISHED___393 = 1,
    TCP_SYN_SENT___393 = 2,
    TCP_SYN_RECV___393 = 3,
    TCP_FIN_WAIT1___393 = 4,
    TCP_FIN_WAIT2___393 = 5,
    TCP_TIME_WAIT___393 = 6,
    TCP_CLOSE___393 = 7,
    TCP_CLOSE_WAIT___393 = 8,
    TCP_LAST_ACK___393 = 9,
    TCP_LISTEN___393 = 10,
    TCP_CLOSING___393 = 11
} ;
enum __anonenum_221125648___393 {
    TCP_NO_QUEUE___393 = 0,
    TCP_RECV_QUEUE___393 = 1,
    TCP_SEND_QUEUE___393 = 2,
    TCP_QUEUES_NR___393 = 3
} ;
enum __anonenum_34415463___393 {
    PTHREAD_CREATE_JOINABLE___393 = 0,
    PTHREAD_CREATE_DETACHED___393 = 1
} ;
enum __anonenum_303612439___393 {
    PTHREAD_MUTEX_TIMED_NP___393 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___393 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___393 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___393 = 3,
    PTHREAD_MUTEX_NORMAL___393 = 0,
    PTHREAD_MUTEX_RECURSIVE___393 = 1,
    PTHREAD_MUTEX_ERRORCHECK___393 = 2,
    PTHREAD_MUTEX_DEFAULT___393 = 0,
    PTHREAD_MUTEX_FAST_NP___393 = 0
} ;
enum __anonenum_931900394___393 {
    PTHREAD_MUTEX_STALLED___393 = 0,
    PTHREAD_MUTEX_STALLED_NP___393 = 0,
    PTHREAD_MUTEX_ROBUST___393 = 1,
    PTHREAD_MUTEX_ROBUST_NP___393 = 1
} ;
enum __anonenum_205214487___393 {
    PTHREAD_PRIO_NONE___393 = 0,
    PTHREAD_PRIO_INHERIT___393 = 1,
    PTHREAD_PRIO_PROTECT___393 = 2
} ;
enum __anonenum_25043950___393 {
    PTHREAD_RWLOCK_PREFER_READER_NP___393 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___393 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___393 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___393 = 0
} ;
enum __anonenum_436439511___393 {
    PTHREAD_INHERIT_SCHED___393 = 0,
    PTHREAD_EXPLICIT_SCHED___393 = 1
} ;
enum __anonenum_998661166___393 {
    PTHREAD_SCOPE_SYSTEM___393 = 0,
    PTHREAD_SCOPE_PROCESS___393 = 1
} ;
enum __anonenum_146137331___393 {
    PTHREAD_PROCESS_PRIVATE___393 = 0,
    PTHREAD_PROCESS_SHARED___393 = 1
} ;
enum __anonenum_53396917___393 {
    PTHREAD_CANCEL_ENABLE___393 = 0,
    PTHREAD_CANCEL_DISABLE___393 = 1
} ;
enum __anonenum_904563783___393 {
    PTHREAD_CANCEL_DEFERRED___393 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___393 = 1
} ;
enum __anonenum_672052974___393 {
    SSL_CT_VALIDATION_PERMISSIVE___393 = 0,
    SSL_CT_VALIDATION_STRICT___393 = 1
} ;
enum __anonenum_437032235___394 {
    _PC_LINK_MAX___394 = 0,
    _PC_MAX_CANON___394 = 1,
    _PC_MAX_INPUT___394 = 2,
    _PC_NAME_MAX___394 = 3,
    _PC_PATH_MAX___394 = 4,
    _PC_PIPE_BUF___394 = 5,
    _PC_CHOWN_RESTRICTED___394 = 6,
    _PC_NO_TRUNC___394 = 7,
    _PC_VDISABLE___394 = 8,
    _PC_SYNC_IO___394 = 9,
    _PC_ASYNC_IO___394 = 10,
    _PC_PRIO_IO___394 = 11,
    _PC_SOCK_MAXBUF___394 = 12,
    _PC_FILESIZEBITS___394 = 13,
    _PC_REC_INCR_XFER_SIZE___394 = 14,
    _PC_REC_MAX_XFER_SIZE___394 = 15,
    _PC_REC_MIN_XFER_SIZE___394 = 16,
    _PC_REC_XFER_ALIGN___394 = 17,
    _PC_ALLOC_SIZE_MIN___394 = 18,
    _PC_SYMLINK_MAX___394 = 19,
    _PC_2_SYMLINKS___394 = 20
} ;
enum __anonenum_315186338___394 {
    _SC_ARG_MAX___394 = 0,
    _SC_CHILD_MAX___394 = 1,
    _SC_CLK_TCK___394 = 2,
    _SC_NGROUPS_MAX___394 = 3,
    _SC_OPEN_MAX___394 = 4,
    _SC_STREAM_MAX___394 = 5,
    _SC_TZNAME_MAX___394 = 6,
    _SC_JOB_CONTROL___394 = 7,
    _SC_SAVED_IDS___394 = 8,
    _SC_REALTIME_SIGNALS___394 = 9,
    _SC_PRIORITY_SCHEDULING___394 = 10,
    _SC_TIMERS___394 = 11,
    _SC_ASYNCHRONOUS_IO___394 = 12,
    _SC_PRIORITIZED_IO___394 = 13,
    _SC_SYNCHRONIZED_IO___394 = 14,
    _SC_FSYNC___394 = 15,
    _SC_MAPPED_FILES___394 = 16,
    _SC_MEMLOCK___394 = 17,
    _SC_MEMLOCK_RANGE___394 = 18,
    _SC_MEMORY_PROTECTION___394 = 19,
    _SC_MESSAGE_PASSING___394 = 20,
    _SC_SEMAPHORES___394 = 21,
    _SC_SHARED_MEMORY_OBJECTS___394 = 22,
    _SC_AIO_LISTIO_MAX___394 = 23,
    _SC_AIO_MAX___394 = 24,
    _SC_AIO_PRIO_DELTA_MAX___394 = 25,
    _SC_DELAYTIMER_MAX___394 = 26,
    _SC_MQ_OPEN_MAX___394 = 27,
    _SC_MQ_PRIO_MAX___394 = 28,
    _SC_VERSION___394 = 29,
    _SC_PAGESIZE___394 = 30,
    _SC_RTSIG_MAX___394 = 31,
    _SC_SEM_NSEMS_MAX___394 = 32,
    _SC_SEM_VALUE_MAX___394 = 33,
    _SC_SIGQUEUE_MAX___394 = 34,
    _SC_TIMER_MAX___394 = 35,
    _SC_BC_BASE_MAX___394 = 36,
    _SC_BC_DIM_MAX___394 = 37,
    _SC_BC_SCALE_MAX___394 = 38,
    _SC_BC_STRING_MAX___394 = 39,
    _SC_COLL_WEIGHTS_MAX___394 = 40,
    _SC_EQUIV_CLASS_MAX___394 = 41,
    _SC_EXPR_NEST_MAX___394 = 42,
    _SC_LINE_MAX___394 = 43,
    _SC_RE_DUP_MAX___394 = 44,
    _SC_CHARCLASS_NAME_MAX___394 = 45,
    _SC_2_VERSION___394 = 46,
    _SC_2_C_BIND___394 = 47,
    _SC_2_C_DEV___394 = 48,
    _SC_2_FORT_DEV___394 = 49,
    _SC_2_FORT_RUN___394 = 50,
    _SC_2_SW_DEV___394 = 51,
    _SC_2_LOCALEDEF___394 = 52,
    _SC_PII___394 = 53,
    _SC_PII_XTI___394 = 54,
    _SC_PII_SOCKET___394 = 55,
    _SC_PII_INTERNET___394 = 56,
    _SC_PII_OSI___394 = 57,
    _SC_POLL___394 = 58,
    _SC_SELECT___394 = 59,
    _SC_UIO_MAXIOV___394 = 60,
    _SC_IOV_MAX___394 = 60,
    _SC_PII_INTERNET_STREAM___394 = 61,
    _SC_PII_INTERNET_DGRAM___394 = 62,
    _SC_PII_OSI_COTS___394 = 63,
    _SC_PII_OSI_CLTS___394 = 64,
    _SC_PII_OSI_M___394 = 65,
    _SC_T_IOV_MAX___394 = 66,
    _SC_THREADS___394 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___394 = 68,
    _SC_GETGR_R_SIZE_MAX___394 = 69,
    _SC_GETPW_R_SIZE_MAX___394 = 70,
    _SC_LOGIN_NAME_MAX___394 = 71,
    _SC_TTY_NAME_MAX___394 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___394 = 73,
    _SC_THREAD_KEYS_MAX___394 = 74,
    _SC_THREAD_STACK_MIN___394 = 75,
    _SC_THREAD_THREADS_MAX___394 = 76,
    _SC_THREAD_ATTR_STACKADDR___394 = 77,
    _SC_THREAD_ATTR_STACKSIZE___394 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___394 = 79,
    _SC_THREAD_PRIO_INHERIT___394 = 80,
    _SC_THREAD_PRIO_PROTECT___394 = 81,
    _SC_THREAD_PROCESS_SHARED___394 = 82,
    _SC_NPROCESSORS_CONF___394 = 83,
    _SC_NPROCESSORS_ONLN___394 = 84,
    _SC_PHYS_PAGES___394 = 85,
    _SC_AVPHYS_PAGES___394 = 86,
    _SC_ATEXIT_MAX___394 = 87,
    _SC_PASS_MAX___394 = 88,
    _SC_XOPEN_VERSION___394 = 89,
    _SC_XOPEN_XCU_VERSION___394 = 90,
    _SC_XOPEN_UNIX___394 = 91,
    _SC_XOPEN_CRYPT___394 = 92,
    _SC_XOPEN_ENH_I18N___394 = 93,
    _SC_XOPEN_SHM___394 = 94,
    _SC_2_CHAR_TERM___394 = 95,
    _SC_2_C_VERSION___394 = 96,
    _SC_2_UPE___394 = 97,
    _SC_XOPEN_XPG2___394 = 98,
    _SC_XOPEN_XPG3___394 = 99,
    _SC_XOPEN_XPG4___394 = 100,
    _SC_CHAR_BIT___394 = 101,
    _SC_CHAR_MAX___394 = 102,
    _SC_CHAR_MIN___394 = 103,
    _SC_INT_MAX___394 = 104,
    _SC_INT_MIN___394 = 105,
    _SC_LONG_BIT___394 = 106,
    _SC_WORD_BIT___394 = 107,
    _SC_MB_LEN_MAX___394 = 108,
    _SC_NZERO___394 = 109,
    _SC_SSIZE_MAX___394 = 110,
    _SC_SCHAR_MAX___394 = 111,
    _SC_SCHAR_MIN___394 = 112,
    _SC_SHRT_MAX___394 = 113,
    _SC_SHRT_MIN___394 = 114,
    _SC_UCHAR_MAX___394 = 115,
    _SC_UINT_MAX___394 = 116,
    _SC_ULONG_MAX___394 = 117,
    _SC_USHRT_MAX___394 = 118,
    _SC_NL_ARGMAX___394 = 119,
    _SC_NL_LANGMAX___394 = 120,
    _SC_NL_MSGMAX___394 = 121,
    _SC_NL_NMAX___394 = 122,
    _SC_NL_SETMAX___394 = 123,
    _SC_NL_TEXTMAX___394 = 124,
    _SC_XBS5_ILP32_OFF32___394 = 125,
    _SC_XBS5_ILP32_OFFBIG___394 = 126,
    _SC_XBS5_LP64_OFF64___394 = 127,
    _SC_XBS5_LPBIG_OFFBIG___394 = 128,
    _SC_XOPEN_LEGACY___394 = 129,
    _SC_XOPEN_REALTIME___394 = 130,
    _SC_XOPEN_REALTIME_THREADS___394 = 131,
    _SC_ADVISORY_INFO___394 = 132,
    _SC_BARRIERS___394 = 133,
    _SC_BASE___394 = 134,
    _SC_C_LANG_SUPPORT___394 = 135,
    _SC_C_LANG_SUPPORT_R___394 = 136,
    _SC_CLOCK_SELECTION___394 = 137,
    _SC_CPUTIME___394 = 138,
    _SC_THREAD_CPUTIME___394 = 139,
    _SC_DEVICE_IO___394 = 140,
    _SC_DEVICE_SPECIFIC___394 = 141,
    _SC_DEVICE_SPECIFIC_R___394 = 142,
    _SC_FD_MGMT___394 = 143,
    _SC_FIFO___394 = 144,
    _SC_PIPE___394 = 145,
    _SC_FILE_ATTRIBUTES___394 = 146,
    _SC_FILE_LOCKING___394 = 147,
    _SC_FILE_SYSTEM___394 = 148,
    _SC_MONOTONIC_CLOCK___394 = 149,
    _SC_MULTI_PROCESS___394 = 150,
    _SC_SINGLE_PROCESS___394 = 151,
    _SC_NETWORKING___394 = 152,
    _SC_READER_WRITER_LOCKS___394 = 153,
    _SC_SPIN_LOCKS___394 = 154,
    _SC_REGEXP___394 = 155,
    _SC_REGEX_VERSION___394 = 156,
    _SC_SHELL___394 = 157,
    _SC_SIGNALS___394 = 158,
    _SC_SPAWN___394 = 159,
    _SC_SPORADIC_SERVER___394 = 160,
    _SC_THREAD_SPORADIC_SERVER___394 = 161,
    _SC_SYSTEM_DATABASE___394 = 162,
    _SC_SYSTEM_DATABASE_R___394 = 163,
    _SC_TIMEOUTS___394 = 164,
    _SC_TYPED_MEMORY_OBJECTS___394 = 165,
    _SC_USER_GROUPS___394 = 166,
    _SC_USER_GROUPS_R___394 = 167,
    _SC_2_PBS___394 = 168,
    _SC_2_PBS_ACCOUNTING___394 = 169,
    _SC_2_PBS_LOCATE___394 = 170,
    _SC_2_PBS_MESSAGE___394 = 171,
    _SC_2_PBS_TRACK___394 = 172,
    _SC_SYMLOOP_MAX___394 = 173,
    _SC_STREAMS___394 = 174,
    _SC_2_PBS_CHECKPOINT___394 = 175,
    _SC_V6_ILP32_OFF32___394 = 176,
    _SC_V6_ILP32_OFFBIG___394 = 177,
    _SC_V6_LP64_OFF64___394 = 178,
    _SC_V6_LPBIG_OFFBIG___394 = 179,
    _SC_HOST_NAME_MAX___394 = 180,
    _SC_TRACE___394 = 181,
    _SC_TRACE_EVENT_FILTER___394 = 182,
    _SC_TRACE_INHERIT___394 = 183,
    _SC_TRACE_LOG___394 = 184,
    _SC_LEVEL1_ICACHE_SIZE___394 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___394 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___394 = 187,
    _SC_LEVEL1_DCACHE_SIZE___394 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___394 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___394 = 190,
    _SC_LEVEL2_CACHE_SIZE___394 = 191,
    _SC_LEVEL2_CACHE_ASSOC___394 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___394 = 193,
    _SC_LEVEL3_CACHE_SIZE___394 = 194,
    _SC_LEVEL3_CACHE_ASSOC___394 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___394 = 196,
    _SC_LEVEL4_CACHE_SIZE___394 = 197,
    _SC_LEVEL4_CACHE_ASSOC___394 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___394 = 199,
    _SC_IPV6___394 = 235,
    _SC_RAW_SOCKETS___394 = 236,
    _SC_V7_ILP32_OFF32___394 = 237,
    _SC_V7_ILP32_OFFBIG___394 = 238,
    _SC_V7_LP64_OFF64___394 = 239,
    _SC_V7_LPBIG_OFFBIG___394 = 240,
    _SC_SS_REPL_MAX___394 = 241,
    _SC_TRACE_EVENT_NAME_MAX___394 = 242,
    _SC_TRACE_NAME_MAX___394 = 243,
    _SC_TRACE_SYS_MAX___394 = 244,
    _SC_TRACE_USER_EVENT_MAX___394 = 245,
    _SC_XOPEN_STREAMS___394 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___394 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___394 = 248
} ;
enum __anonenum_875524036___394 {
    _CS_PATH___394 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___394 = 1,
    _CS_GNU_LIBC_VERSION___394 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___394 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___394 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___394 = 5,
    _CS_LFS_CFLAGS___394 = 1000,
    _CS_LFS_LDFLAGS___394 = 1001,
    _CS_LFS_LIBS___394 = 1002,
    _CS_LFS_LINTFLAGS___394 = 1003,
    _CS_LFS64_CFLAGS___394 = 1004,
    _CS_LFS64_LDFLAGS___394 = 1005,
    _CS_LFS64_LIBS___394 = 1006,
    _CS_LFS64_LINTFLAGS___394 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___394 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___394 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___394 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___394 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___394 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___394 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___394 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___394 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___394 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___394 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___394 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___394 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___394 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___394 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___394 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___394 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___394 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___394 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___394 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___394 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___394 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___394 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___394 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___394 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___394 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___394 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___394 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___394 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___394 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___394 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___394 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___394 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___394 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___394 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___394 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___394 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___394 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___394 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___394 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___394 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___394 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___394 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___394 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___394 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___394 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___394 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___394 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___394 = 1147,
    _CS_V6_ENV___394 = 1148,
    _CS_V7_ENV___394 = 1149
} ;
enum __anonenum_513775621___394 {
    DT_UNKNOWN___394 = 0,
    DT_FIFO___394 = 1,
    DT_CHR___394 = 2,
    DT_DIR___394 = 4,
    DT_BLK___394 = 6,
    DT_REG___394 = 8,
    DT_LNK___394 = 10,
    DT_SOCK___394 = 12,
    DT_WHT___394 = 14
} ;
enum __anonenum_77002343___394 {
    SI_ASYNCNL___394 = -60,
    SI_TKILL___394 = -6,
    SI_SIGIO___394 = -5,
    SI_ASYNCIO___394 = -4,
    SI_MESGQ___394 = -3,
    SI_TIMER___394 = -2,
    SI_QUEUE___394 = -1,
    SI_USER___394 = 0,
    SI_KERNEL___394 = 128
} ;
enum __anonenum_131038172___394 {
    ILL_ILLOPC___394 = 1,
    ILL_ILLOPN___394 = 2,
    ILL_ILLADR___394 = 3,
    ILL_ILLTRP___394 = 4,
    ILL_PRVOPC___394 = 5,
    ILL_PRVREG___394 = 6,
    ILL_COPROC___394 = 7,
    ILL_BADSTK___394 = 8
} ;
enum __anonenum_452038093___394 {
    FPE_INTDIV___394 = 1,
    FPE_INTOVF___394 = 2,
    FPE_FLTDIV___394 = 3,
    FPE_FLTOVF___394 = 4,
    FPE_FLTUND___394 = 5,
    FPE_FLTRES___394 = 6,
    FPE_FLTINV___394 = 7,
    FPE_FLTSUB___394 = 8
} ;
enum __anonenum_30976155___394 {
    SEGV_MAPERR___394 = 1,
    SEGV_ACCERR___394 = 2,
    SEGV_BNDERR___394 = 3,
    SEGV_PKUERR___394 = 4
} ;
enum __anonenum_1036286214___394 {
    BUS_ADRALN___394 = 1,
    BUS_ADRERR___394 = 2,
    BUS_OBJERR___394 = 3,
    BUS_MCEERR_AR___394 = 4,
    BUS_MCEERR_AO___394 = 5
} ;
enum __anonenum_493465559___394 {
    TRAP_BRKPT___394 = 1,
    TRAP_TRACE___394 = 2
} ;
enum __anonenum_23175539___394 {
    CLD_EXITED___394 = 1,
    CLD_KILLED___394 = 2,
    CLD_DUMPED___394 = 3,
    CLD_TRAPPED___394 = 4,
    CLD_STOPPED___394 = 5,
    CLD_CONTINUED___394 = 6
} ;
enum __anonenum_111643124___394 {
    POLL_IN___394 = 1,
    POLL_OUT___394 = 2,
    POLL_MSG___394 = 3,
    POLL_ERR___394 = 4,
    POLL_PRI___394 = 5,
    POLL_HUP___394 = 6
} ;
enum __anonenum_852341087___394 {
    SIGEV_SIGNAL___394 = 0,
    SIGEV_NONE___394 = 1,
    SIGEV_THREAD___394 = 2,
    SIGEV_THREAD_ID___394 = 4
} ;
enum __anonenum_451154152___394 {
    REG_R8___394 = 0,
    REG_R9___394 = 1,
    REG_R10___394 = 2,
    REG_R11___394 = 3,
    REG_R12___394 = 4,
    REG_R13___394 = 5,
    REG_R14___394 = 6,
    REG_R15___394 = 7,
    REG_RDI___394 = 8,
    REG_RSI___394 = 9,
    REG_RBP___394 = 10,
    REG_RBX___394 = 11,
    REG_RDX___394 = 12,
    REG_RAX___394 = 13,
    REG_RCX___394 = 14,
    REG_RSP___394 = 15,
    REG_RIP___394 = 16,
    REG_EFL___394 = 17,
    REG_CSGSFS___394 = 18,
    REG_ERR___394 = 19,
    REG_TRAPNO___394 = 20,
    REG_OLDMASK___394 = 21,
    REG_CR2___394 = 22
} ;
enum __anonenum_57186863___394 {
    SS_ONSTACK___394 = 1,
    SS_DISABLE___394 = 2
} ;
enum __anonenum_83571709___394 {
    MSG_OOB___394 = 1,
    MSG_PEEK___394 = 2,
    MSG_DONTROUTE___394 = 4,
    MSG_TRYHARD___394 = 4,
    MSG_CTRUNC___394 = 8,
    MSG_PROXY___394 = 16,
    MSG_TRUNC___394 = 32,
    MSG_DONTWAIT___394 = 64,
    MSG_EOR___394 = 128,
    MSG_WAITALL___394 = 256,
    MSG_FIN___394 = 512,
    MSG_SYN___394 = 1024,
    MSG_CONFIRM___394 = 2048,
    MSG_RST___394 = 4096,
    MSG_ERRQUEUE___394 = 8192,
    MSG_NOSIGNAL___394 = 16384,
    MSG_MORE___394 = 32768,
    MSG_WAITFORONE___394 = 65536,
    MSG_BATCH___394 = 262144,
    MSG_ZEROCOPY___394 = 67108864,
    MSG_FASTOPEN___394 = 536870912,
    MSG_CMSG_CLOEXEC___394 = 1073741824
} ;
enum __anonenum_617082774___394 {
    SCM_RIGHTS___394 = 1,
    SCM_CREDENTIALS___394 = 2
} ;
enum __anonenum_606441560___394 {
    SHUT_RD___394 = 0,
    SHUT_WR___394 = 1,
    SHUT_RDWR___394 = 2
} ;
enum __anonenum_681669233___394 {
    IPPROTO_IP___394 = 0,
    IPPROTO_ICMP___394 = 1,
    IPPROTO_IGMP___394 = 2,
    IPPROTO_IPIP___394 = 4,
    IPPROTO_TCP___394 = 6,
    IPPROTO_EGP___394 = 8,
    IPPROTO_PUP___394 = 12,
    IPPROTO_UDP___394 = 17,
    IPPROTO_IDP___394 = 22,
    IPPROTO_TP___394 = 29,
    IPPROTO_DCCP___394 = 33,
    IPPROTO_IPV6___394 = 41,
    IPPROTO_RSVP___394 = 46,
    IPPROTO_GRE___394 = 47,
    IPPROTO_ESP___394 = 50,
    IPPROTO_AH___394 = 51,
    IPPROTO_MTP___394 = 92,
    IPPROTO_BEETPH___394 = 94,
    IPPROTO_ENCAP___394 = 98,
    IPPROTO_PIM___394 = 103,
    IPPROTO_COMP___394 = 108,
    IPPROTO_SCTP___394 = 132,
    IPPROTO_UDPLITE___394 = 136,
    IPPROTO_MPLS___394 = 137,
    IPPROTO_RAW___394 = 255,
    IPPROTO_MAX___394 = 256
} ;
enum __anonenum_218739988___394 {
    IPPROTO_HOPOPTS___394 = 0,
    IPPROTO_ROUTING___394 = 43,
    IPPROTO_FRAGMENT___394 = 44,
    IPPROTO_ICMPV6___394 = 58,
    IPPROTO_NONE___394 = 59,
    IPPROTO_DSTOPTS___394 = 60,
    IPPROTO_MH___394 = 135
} ;
enum __anonenum_662268580___394 {
    IPPORT_ECHO___394 = 7,
    IPPORT_DISCARD___394 = 9,
    IPPORT_SYSTAT___394 = 11,
    IPPORT_DAYTIME___394 = 13,
    IPPORT_NETSTAT___394 = 15,
    IPPORT_FTP___394 = 21,
    IPPORT_TELNET___394 = 23,
    IPPORT_SMTP___394 = 25,
    IPPORT_TIMESERVER___394 = 37,
    IPPORT_NAMESERVER___394 = 42,
    IPPORT_WHOIS___394 = 43,
    IPPORT_MTP___394 = 57,
    IPPORT_TFTP___394 = 69,
    IPPORT_RJE___394 = 77,
    IPPORT_FINGER___394 = 79,
    IPPORT_TTYLINK___394 = 87,
    IPPORT_SUPDUP___394 = 95,
    IPPORT_EXECSERVER___394 = 512,
    IPPORT_LOGINSERVER___394 = 513,
    IPPORT_CMDSERVER___394 = 514,
    IPPORT_EFSSERVER___394 = 520,
    IPPORT_BIFFUDP___394 = 512,
    IPPORT_WHOSERVER___394 = 513,
    IPPORT_ROUTESERVER___394 = 520,
    IPPORT_RESERVED___394 = 1024,
    IPPORT_USERRESERVED___394 = 5000
} ;
enum __anonenum_788308992___394 {
    TCP_ESTABLISHED___394 = 1,
    TCP_SYN_SENT___394 = 2,
    TCP_SYN_RECV___394 = 3,
    TCP_FIN_WAIT1___394 = 4,
    TCP_FIN_WAIT2___394 = 5,
    TCP_TIME_WAIT___394 = 6,
    TCP_CLOSE___394 = 7,
    TCP_CLOSE_WAIT___394 = 8,
    TCP_LAST_ACK___394 = 9,
    TCP_LISTEN___394 = 10,
    TCP_CLOSING___394 = 11
} ;
enum __anonenum_221125648___394 {
    TCP_NO_QUEUE___394 = 0,
    TCP_RECV_QUEUE___394 = 1,
    TCP_SEND_QUEUE___394 = 2,
    TCP_QUEUES_NR___394 = 3
} ;
enum __anonenum_34415463___394 {
    PTHREAD_CREATE_JOINABLE___394 = 0,
    PTHREAD_CREATE_DETACHED___394 = 1
} ;
enum __anonenum_303612439___394 {
    PTHREAD_MUTEX_TIMED_NP___394 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___394 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___394 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___394 = 3,
    PTHREAD_MUTEX_NORMAL___394 = 0,
    PTHREAD_MUTEX_RECURSIVE___394 = 1,
    PTHREAD_MUTEX_ERRORCHECK___394 = 2,
    PTHREAD_MUTEX_DEFAULT___394 = 0,
    PTHREAD_MUTEX_FAST_NP___394 = 0
} ;
enum __anonenum_931900394___394 {
    PTHREAD_MUTEX_STALLED___394 = 0,
    PTHREAD_MUTEX_STALLED_NP___394 = 0,
    PTHREAD_MUTEX_ROBUST___394 = 1,
    PTHREAD_MUTEX_ROBUST_NP___394 = 1
} ;
enum __anonenum_205214487___394 {
    PTHREAD_PRIO_NONE___394 = 0,
    PTHREAD_PRIO_INHERIT___394 = 1,
    PTHREAD_PRIO_PROTECT___394 = 2
} ;
enum __anonenum_25043950___394 {
    PTHREAD_RWLOCK_PREFER_READER_NP___394 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___394 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___394 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___394 = 0
} ;
enum __anonenum_436439511___394 {
    PTHREAD_INHERIT_SCHED___394 = 0,
    PTHREAD_EXPLICIT_SCHED___394 = 1
} ;
enum __anonenum_998661166___394 {
    PTHREAD_SCOPE_SYSTEM___394 = 0,
    PTHREAD_SCOPE_PROCESS___394 = 1
} ;
enum __anonenum_146137331___394 {
    PTHREAD_PROCESS_PRIVATE___394 = 0,
    PTHREAD_PROCESS_SHARED___394 = 1
} ;
enum __anonenum_53396917___394 {
    PTHREAD_CANCEL_ENABLE___394 = 0,
    PTHREAD_CANCEL_DISABLE___394 = 1
} ;
enum __anonenum_904563783___394 {
    PTHREAD_CANCEL_DEFERRED___394 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___394 = 1
} ;
enum __anonenum_672052974___394 {
    SSL_CT_VALIDATION_PERMISSIVE___394 = 0,
    SSL_CT_VALIDATION_STRICT___394 = 1
} ;
enum __anonenum_437032235___395 {
    _PC_LINK_MAX___395 = 0,
    _PC_MAX_CANON___395 = 1,
    _PC_MAX_INPUT___395 = 2,
    _PC_NAME_MAX___395 = 3,
    _PC_PATH_MAX___395 = 4,
    _PC_PIPE_BUF___395 = 5,
    _PC_CHOWN_RESTRICTED___395 = 6,
    _PC_NO_TRUNC___395 = 7,
    _PC_VDISABLE___395 = 8,
    _PC_SYNC_IO___395 = 9,
    _PC_ASYNC_IO___395 = 10,
    _PC_PRIO_IO___395 = 11,
    _PC_SOCK_MAXBUF___395 = 12,
    _PC_FILESIZEBITS___395 = 13,
    _PC_REC_INCR_XFER_SIZE___395 = 14,
    _PC_REC_MAX_XFER_SIZE___395 = 15,
    _PC_REC_MIN_XFER_SIZE___395 = 16,
    _PC_REC_XFER_ALIGN___395 = 17,
    _PC_ALLOC_SIZE_MIN___395 = 18,
    _PC_SYMLINK_MAX___395 = 19,
    _PC_2_SYMLINKS___395 = 20
} ;
enum __anonenum_315186338___395 {
    _SC_ARG_MAX___395 = 0,
    _SC_CHILD_MAX___395 = 1,
    _SC_CLK_TCK___395 = 2,
    _SC_NGROUPS_MAX___395 = 3,
    _SC_OPEN_MAX___395 = 4,
    _SC_STREAM_MAX___395 = 5,
    _SC_TZNAME_MAX___395 = 6,
    _SC_JOB_CONTROL___395 = 7,
    _SC_SAVED_IDS___395 = 8,
    _SC_REALTIME_SIGNALS___395 = 9,
    _SC_PRIORITY_SCHEDULING___395 = 10,
    _SC_TIMERS___395 = 11,
    _SC_ASYNCHRONOUS_IO___395 = 12,
    _SC_PRIORITIZED_IO___395 = 13,
    _SC_SYNCHRONIZED_IO___395 = 14,
    _SC_FSYNC___395 = 15,
    _SC_MAPPED_FILES___395 = 16,
    _SC_MEMLOCK___395 = 17,
    _SC_MEMLOCK_RANGE___395 = 18,
    _SC_MEMORY_PROTECTION___395 = 19,
    _SC_MESSAGE_PASSING___395 = 20,
    _SC_SEMAPHORES___395 = 21,
    _SC_SHARED_MEMORY_OBJECTS___395 = 22,
    _SC_AIO_LISTIO_MAX___395 = 23,
    _SC_AIO_MAX___395 = 24,
    _SC_AIO_PRIO_DELTA_MAX___395 = 25,
    _SC_DELAYTIMER_MAX___395 = 26,
    _SC_MQ_OPEN_MAX___395 = 27,
    _SC_MQ_PRIO_MAX___395 = 28,
    _SC_VERSION___395 = 29,
    _SC_PAGESIZE___395 = 30,
    _SC_RTSIG_MAX___395 = 31,
    _SC_SEM_NSEMS_MAX___395 = 32,
    _SC_SEM_VALUE_MAX___395 = 33,
    _SC_SIGQUEUE_MAX___395 = 34,
    _SC_TIMER_MAX___395 = 35,
    _SC_BC_BASE_MAX___395 = 36,
    _SC_BC_DIM_MAX___395 = 37,
    _SC_BC_SCALE_MAX___395 = 38,
    _SC_BC_STRING_MAX___395 = 39,
    _SC_COLL_WEIGHTS_MAX___395 = 40,
    _SC_EQUIV_CLASS_MAX___395 = 41,
    _SC_EXPR_NEST_MAX___395 = 42,
    _SC_LINE_MAX___395 = 43,
    _SC_RE_DUP_MAX___395 = 44,
    _SC_CHARCLASS_NAME_MAX___395 = 45,
    _SC_2_VERSION___395 = 46,
    _SC_2_C_BIND___395 = 47,
    _SC_2_C_DEV___395 = 48,
    _SC_2_FORT_DEV___395 = 49,
    _SC_2_FORT_RUN___395 = 50,
    _SC_2_SW_DEV___395 = 51,
    _SC_2_LOCALEDEF___395 = 52,
    _SC_PII___395 = 53,
    _SC_PII_XTI___395 = 54,
    _SC_PII_SOCKET___395 = 55,
    _SC_PII_INTERNET___395 = 56,
    _SC_PII_OSI___395 = 57,
    _SC_POLL___395 = 58,
    _SC_SELECT___395 = 59,
    _SC_UIO_MAXIOV___395 = 60,
    _SC_IOV_MAX___395 = 60,
    _SC_PII_INTERNET_STREAM___395 = 61,
    _SC_PII_INTERNET_DGRAM___395 = 62,
    _SC_PII_OSI_COTS___395 = 63,
    _SC_PII_OSI_CLTS___395 = 64,
    _SC_PII_OSI_M___395 = 65,
    _SC_T_IOV_MAX___395 = 66,
    _SC_THREADS___395 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___395 = 68,
    _SC_GETGR_R_SIZE_MAX___395 = 69,
    _SC_GETPW_R_SIZE_MAX___395 = 70,
    _SC_LOGIN_NAME_MAX___395 = 71,
    _SC_TTY_NAME_MAX___395 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___395 = 73,
    _SC_THREAD_KEYS_MAX___395 = 74,
    _SC_THREAD_STACK_MIN___395 = 75,
    _SC_THREAD_THREADS_MAX___395 = 76,
    _SC_THREAD_ATTR_STACKADDR___395 = 77,
    _SC_THREAD_ATTR_STACKSIZE___395 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___395 = 79,
    _SC_THREAD_PRIO_INHERIT___395 = 80,
    _SC_THREAD_PRIO_PROTECT___395 = 81,
    _SC_THREAD_PROCESS_SHARED___395 = 82,
    _SC_NPROCESSORS_CONF___395 = 83,
    _SC_NPROCESSORS_ONLN___395 = 84,
    _SC_PHYS_PAGES___395 = 85,
    _SC_AVPHYS_PAGES___395 = 86,
    _SC_ATEXIT_MAX___395 = 87,
    _SC_PASS_MAX___395 = 88,
    _SC_XOPEN_VERSION___395 = 89,
    _SC_XOPEN_XCU_VERSION___395 = 90,
    _SC_XOPEN_UNIX___395 = 91,
    _SC_XOPEN_CRYPT___395 = 92,
    _SC_XOPEN_ENH_I18N___395 = 93,
    _SC_XOPEN_SHM___395 = 94,
    _SC_2_CHAR_TERM___395 = 95,
    _SC_2_C_VERSION___395 = 96,
    _SC_2_UPE___395 = 97,
    _SC_XOPEN_XPG2___395 = 98,
    _SC_XOPEN_XPG3___395 = 99,
    _SC_XOPEN_XPG4___395 = 100,
    _SC_CHAR_BIT___395 = 101,
    _SC_CHAR_MAX___395 = 102,
    _SC_CHAR_MIN___395 = 103,
    _SC_INT_MAX___395 = 104,
    _SC_INT_MIN___395 = 105,
    _SC_LONG_BIT___395 = 106,
    _SC_WORD_BIT___395 = 107,
    _SC_MB_LEN_MAX___395 = 108,
    _SC_NZERO___395 = 109,
    _SC_SSIZE_MAX___395 = 110,
    _SC_SCHAR_MAX___395 = 111,
    _SC_SCHAR_MIN___395 = 112,
    _SC_SHRT_MAX___395 = 113,
    _SC_SHRT_MIN___395 = 114,
    _SC_UCHAR_MAX___395 = 115,
    _SC_UINT_MAX___395 = 116,
    _SC_ULONG_MAX___395 = 117,
    _SC_USHRT_MAX___395 = 118,
    _SC_NL_ARGMAX___395 = 119,
    _SC_NL_LANGMAX___395 = 120,
    _SC_NL_MSGMAX___395 = 121,
    _SC_NL_NMAX___395 = 122,
    _SC_NL_SETMAX___395 = 123,
    _SC_NL_TEXTMAX___395 = 124,
    _SC_XBS5_ILP32_OFF32___395 = 125,
    _SC_XBS5_ILP32_OFFBIG___395 = 126,
    _SC_XBS5_LP64_OFF64___395 = 127,
    _SC_XBS5_LPBIG_OFFBIG___395 = 128,
    _SC_XOPEN_LEGACY___395 = 129,
    _SC_XOPEN_REALTIME___395 = 130,
    _SC_XOPEN_REALTIME_THREADS___395 = 131,
    _SC_ADVISORY_INFO___395 = 132,
    _SC_BARRIERS___395 = 133,
    _SC_BASE___395 = 134,
    _SC_C_LANG_SUPPORT___395 = 135,
    _SC_C_LANG_SUPPORT_R___395 = 136,
    _SC_CLOCK_SELECTION___395 = 137,
    _SC_CPUTIME___395 = 138,
    _SC_THREAD_CPUTIME___395 = 139,
    _SC_DEVICE_IO___395 = 140,
    _SC_DEVICE_SPECIFIC___395 = 141,
    _SC_DEVICE_SPECIFIC_R___395 = 142,
    _SC_FD_MGMT___395 = 143,
    _SC_FIFO___395 = 144,
    _SC_PIPE___395 = 145,
    _SC_FILE_ATTRIBUTES___395 = 146,
    _SC_FILE_LOCKING___395 = 147,
    _SC_FILE_SYSTEM___395 = 148,
    _SC_MONOTONIC_CLOCK___395 = 149,
    _SC_MULTI_PROCESS___395 = 150,
    _SC_SINGLE_PROCESS___395 = 151,
    _SC_NETWORKING___395 = 152,
    _SC_READER_WRITER_LOCKS___395 = 153,
    _SC_SPIN_LOCKS___395 = 154,
    _SC_REGEXP___395 = 155,
    _SC_REGEX_VERSION___395 = 156,
    _SC_SHELL___395 = 157,
    _SC_SIGNALS___395 = 158,
    _SC_SPAWN___395 = 159,
    _SC_SPORADIC_SERVER___395 = 160,
    _SC_THREAD_SPORADIC_SERVER___395 = 161,
    _SC_SYSTEM_DATABASE___395 = 162,
    _SC_SYSTEM_DATABASE_R___395 = 163,
    _SC_TIMEOUTS___395 = 164,
    _SC_TYPED_MEMORY_OBJECTS___395 = 165,
    _SC_USER_GROUPS___395 = 166,
    _SC_USER_GROUPS_R___395 = 167,
    _SC_2_PBS___395 = 168,
    _SC_2_PBS_ACCOUNTING___395 = 169,
    _SC_2_PBS_LOCATE___395 = 170,
    _SC_2_PBS_MESSAGE___395 = 171,
    _SC_2_PBS_TRACK___395 = 172,
    _SC_SYMLOOP_MAX___395 = 173,
    _SC_STREAMS___395 = 174,
    _SC_2_PBS_CHECKPOINT___395 = 175,
    _SC_V6_ILP32_OFF32___395 = 176,
    _SC_V6_ILP32_OFFBIG___395 = 177,
    _SC_V6_LP64_OFF64___395 = 178,
    _SC_V6_LPBIG_OFFBIG___395 = 179,
    _SC_HOST_NAME_MAX___395 = 180,
    _SC_TRACE___395 = 181,
    _SC_TRACE_EVENT_FILTER___395 = 182,
    _SC_TRACE_INHERIT___395 = 183,
    _SC_TRACE_LOG___395 = 184,
    _SC_LEVEL1_ICACHE_SIZE___395 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___395 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___395 = 187,
    _SC_LEVEL1_DCACHE_SIZE___395 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___395 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___395 = 190,
    _SC_LEVEL2_CACHE_SIZE___395 = 191,
    _SC_LEVEL2_CACHE_ASSOC___395 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___395 = 193,
    _SC_LEVEL3_CACHE_SIZE___395 = 194,
    _SC_LEVEL3_CACHE_ASSOC___395 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___395 = 196,
    _SC_LEVEL4_CACHE_SIZE___395 = 197,
    _SC_LEVEL4_CACHE_ASSOC___395 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___395 = 199,
    _SC_IPV6___395 = 235,
    _SC_RAW_SOCKETS___395 = 236,
    _SC_V7_ILP32_OFF32___395 = 237,
    _SC_V7_ILP32_OFFBIG___395 = 238,
    _SC_V7_LP64_OFF64___395 = 239,
    _SC_V7_LPBIG_OFFBIG___395 = 240,
    _SC_SS_REPL_MAX___395 = 241,
    _SC_TRACE_EVENT_NAME_MAX___395 = 242,
    _SC_TRACE_NAME_MAX___395 = 243,
    _SC_TRACE_SYS_MAX___395 = 244,
    _SC_TRACE_USER_EVENT_MAX___395 = 245,
    _SC_XOPEN_STREAMS___395 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___395 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___395 = 248
} ;
enum __anonenum_875524036___395 {
    _CS_PATH___395 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___395 = 1,
    _CS_GNU_LIBC_VERSION___395 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___395 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___395 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___395 = 5,
    _CS_LFS_CFLAGS___395 = 1000,
    _CS_LFS_LDFLAGS___395 = 1001,
    _CS_LFS_LIBS___395 = 1002,
    _CS_LFS_LINTFLAGS___395 = 1003,
    _CS_LFS64_CFLAGS___395 = 1004,
    _CS_LFS64_LDFLAGS___395 = 1005,
    _CS_LFS64_LIBS___395 = 1006,
    _CS_LFS64_LINTFLAGS___395 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___395 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___395 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___395 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___395 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___395 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___395 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___395 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___395 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___395 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___395 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___395 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___395 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___395 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___395 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___395 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___395 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___395 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___395 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___395 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___395 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___395 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___395 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___395 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___395 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___395 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___395 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___395 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___395 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___395 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___395 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___395 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___395 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___395 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___395 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___395 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___395 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___395 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___395 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___395 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___395 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___395 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___395 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___395 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___395 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___395 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___395 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___395 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___395 = 1147,
    _CS_V6_ENV___395 = 1148,
    _CS_V7_ENV___395 = 1149
} ;
enum __anonenum_513775621___395 {
    DT_UNKNOWN___395 = 0,
    DT_FIFO___395 = 1,
    DT_CHR___395 = 2,
    DT_DIR___395 = 4,
    DT_BLK___395 = 6,
    DT_REG___395 = 8,
    DT_LNK___395 = 10,
    DT_SOCK___395 = 12,
    DT_WHT___395 = 14
} ;
enum __anonenum_77002343___395 {
    SI_ASYNCNL___395 = -60,
    SI_TKILL___395 = -6,
    SI_SIGIO___395 = -5,
    SI_ASYNCIO___395 = -4,
    SI_MESGQ___395 = -3,
    SI_TIMER___395 = -2,
    SI_QUEUE___395 = -1,
    SI_USER___395 = 0,
    SI_KERNEL___395 = 128
} ;
enum __anonenum_131038172___395 {
    ILL_ILLOPC___395 = 1,
    ILL_ILLOPN___395 = 2,
    ILL_ILLADR___395 = 3,
    ILL_ILLTRP___395 = 4,
    ILL_PRVOPC___395 = 5,
    ILL_PRVREG___395 = 6,
    ILL_COPROC___395 = 7,
    ILL_BADSTK___395 = 8
} ;
enum __anonenum_452038093___395 {
    FPE_INTDIV___395 = 1,
    FPE_INTOVF___395 = 2,
    FPE_FLTDIV___395 = 3,
    FPE_FLTOVF___395 = 4,
    FPE_FLTUND___395 = 5,
    FPE_FLTRES___395 = 6,
    FPE_FLTINV___395 = 7,
    FPE_FLTSUB___395 = 8
} ;
enum __anonenum_30976155___395 {
    SEGV_MAPERR___395 = 1,
    SEGV_ACCERR___395 = 2,
    SEGV_BNDERR___395 = 3,
    SEGV_PKUERR___395 = 4
} ;
enum __anonenum_1036286214___395 {
    BUS_ADRALN___395 = 1,
    BUS_ADRERR___395 = 2,
    BUS_OBJERR___395 = 3,
    BUS_MCEERR_AR___395 = 4,
    BUS_MCEERR_AO___395 = 5
} ;
enum __anonenum_493465559___395 {
    TRAP_BRKPT___395 = 1,
    TRAP_TRACE___395 = 2
} ;
enum __anonenum_23175539___395 {
    CLD_EXITED___395 = 1,
    CLD_KILLED___395 = 2,
    CLD_DUMPED___395 = 3,
    CLD_TRAPPED___395 = 4,
    CLD_STOPPED___395 = 5,
    CLD_CONTINUED___395 = 6
} ;
enum __anonenum_111643124___395 {
    POLL_IN___395 = 1,
    POLL_OUT___395 = 2,
    POLL_MSG___395 = 3,
    POLL_ERR___395 = 4,
    POLL_PRI___395 = 5,
    POLL_HUP___395 = 6
} ;
enum __anonenum_852341087___395 {
    SIGEV_SIGNAL___395 = 0,
    SIGEV_NONE___395 = 1,
    SIGEV_THREAD___395 = 2,
    SIGEV_THREAD_ID___395 = 4
} ;
enum __anonenum_451154152___395 {
    REG_R8___395 = 0,
    REG_R9___395 = 1,
    REG_R10___395 = 2,
    REG_R11___395 = 3,
    REG_R12___395 = 4,
    REG_R13___395 = 5,
    REG_R14___395 = 6,
    REG_R15___395 = 7,
    REG_RDI___395 = 8,
    REG_RSI___395 = 9,
    REG_RBP___395 = 10,
    REG_RBX___395 = 11,
    REG_RDX___395 = 12,
    REG_RAX___395 = 13,
    REG_RCX___395 = 14,
    REG_RSP___395 = 15,
    REG_RIP___395 = 16,
    REG_EFL___395 = 17,
    REG_CSGSFS___395 = 18,
    REG_ERR___395 = 19,
    REG_TRAPNO___395 = 20,
    REG_OLDMASK___395 = 21,
    REG_CR2___395 = 22
} ;
enum __anonenum_57186863___395 {
    SS_ONSTACK___395 = 1,
    SS_DISABLE___395 = 2
} ;
enum __anonenum_83571709___395 {
    MSG_OOB___395 = 1,
    MSG_PEEK___395 = 2,
    MSG_DONTROUTE___395 = 4,
    MSG_TRYHARD___395 = 4,
    MSG_CTRUNC___395 = 8,
    MSG_PROXY___395 = 16,
    MSG_TRUNC___395 = 32,
    MSG_DONTWAIT___395 = 64,
    MSG_EOR___395 = 128,
    MSG_WAITALL___395 = 256,
    MSG_FIN___395 = 512,
    MSG_SYN___395 = 1024,
    MSG_CONFIRM___395 = 2048,
    MSG_RST___395 = 4096,
    MSG_ERRQUEUE___395 = 8192,
    MSG_NOSIGNAL___395 = 16384,
    MSG_MORE___395 = 32768,
    MSG_WAITFORONE___395 = 65536,
    MSG_BATCH___395 = 262144,
    MSG_ZEROCOPY___395 = 67108864,
    MSG_FASTOPEN___395 = 536870912,
    MSG_CMSG_CLOEXEC___395 = 1073741824
} ;
enum __anonenum_617082774___395 {
    SCM_RIGHTS___395 = 1,
    SCM_CREDENTIALS___395 = 2
} ;
enum __anonenum_606441560___395 {
    SHUT_RD___395 = 0,
    SHUT_WR___395 = 1,
    SHUT_RDWR___395 = 2
} ;
enum __anonenum_681669233___395 {
    IPPROTO_IP___395 = 0,
    IPPROTO_ICMP___395 = 1,
    IPPROTO_IGMP___395 = 2,
    IPPROTO_IPIP___395 = 4,
    IPPROTO_TCP___395 = 6,
    IPPROTO_EGP___395 = 8,
    IPPROTO_PUP___395 = 12,
    IPPROTO_UDP___395 = 17,
    IPPROTO_IDP___395 = 22,
    IPPROTO_TP___395 = 29,
    IPPROTO_DCCP___395 = 33,
    IPPROTO_IPV6___395 = 41,
    IPPROTO_RSVP___395 = 46,
    IPPROTO_GRE___395 = 47,
    IPPROTO_ESP___395 = 50,
    IPPROTO_AH___395 = 51,
    IPPROTO_MTP___395 = 92,
    IPPROTO_BEETPH___395 = 94,
    IPPROTO_ENCAP___395 = 98,
    IPPROTO_PIM___395 = 103,
    IPPROTO_COMP___395 = 108,
    IPPROTO_SCTP___395 = 132,
    IPPROTO_UDPLITE___395 = 136,
    IPPROTO_MPLS___395 = 137,
    IPPROTO_RAW___395 = 255,
    IPPROTO_MAX___395 = 256
} ;
enum __anonenum_218739988___395 {
    IPPROTO_HOPOPTS___395 = 0,
    IPPROTO_ROUTING___395 = 43,
    IPPROTO_FRAGMENT___395 = 44,
    IPPROTO_ICMPV6___395 = 58,
    IPPROTO_NONE___395 = 59,
    IPPROTO_DSTOPTS___395 = 60,
    IPPROTO_MH___395 = 135
} ;
enum __anonenum_662268580___395 {
    IPPORT_ECHO___395 = 7,
    IPPORT_DISCARD___395 = 9,
    IPPORT_SYSTAT___395 = 11,
    IPPORT_DAYTIME___395 = 13,
    IPPORT_NETSTAT___395 = 15,
    IPPORT_FTP___395 = 21,
    IPPORT_TELNET___395 = 23,
    IPPORT_SMTP___395 = 25,
    IPPORT_TIMESERVER___395 = 37,
    IPPORT_NAMESERVER___395 = 42,
    IPPORT_WHOIS___395 = 43,
    IPPORT_MTP___395 = 57,
    IPPORT_TFTP___395 = 69,
    IPPORT_RJE___395 = 77,
    IPPORT_FINGER___395 = 79,
    IPPORT_TTYLINK___395 = 87,
    IPPORT_SUPDUP___395 = 95,
    IPPORT_EXECSERVER___395 = 512,
    IPPORT_LOGINSERVER___395 = 513,
    IPPORT_CMDSERVER___395 = 514,
    IPPORT_EFSSERVER___395 = 520,
    IPPORT_BIFFUDP___395 = 512,
    IPPORT_WHOSERVER___395 = 513,
    IPPORT_ROUTESERVER___395 = 520,
    IPPORT_RESERVED___395 = 1024,
    IPPORT_USERRESERVED___395 = 5000
} ;
enum __anonenum_788308992___395 {
    TCP_ESTABLISHED___395 = 1,
    TCP_SYN_SENT___395 = 2,
    TCP_SYN_RECV___395 = 3,
    TCP_FIN_WAIT1___395 = 4,
    TCP_FIN_WAIT2___395 = 5,
    TCP_TIME_WAIT___395 = 6,
    TCP_CLOSE___395 = 7,
    TCP_CLOSE_WAIT___395 = 8,
    TCP_LAST_ACK___395 = 9,
    TCP_LISTEN___395 = 10,
    TCP_CLOSING___395 = 11
} ;
enum __anonenum_221125648___395 {
    TCP_NO_QUEUE___395 = 0,
    TCP_RECV_QUEUE___395 = 1,
    TCP_SEND_QUEUE___395 = 2,
    TCP_QUEUES_NR___395 = 3
} ;
enum __anonenum_34415463___395 {
    PTHREAD_CREATE_JOINABLE___395 = 0,
    PTHREAD_CREATE_DETACHED___395 = 1
} ;
enum __anonenum_303612439___395 {
    PTHREAD_MUTEX_TIMED_NP___395 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___395 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___395 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___395 = 3,
    PTHREAD_MUTEX_NORMAL___395 = 0,
    PTHREAD_MUTEX_RECURSIVE___395 = 1,
    PTHREAD_MUTEX_ERRORCHECK___395 = 2,
    PTHREAD_MUTEX_DEFAULT___395 = 0,
    PTHREAD_MUTEX_FAST_NP___395 = 0
} ;
enum __anonenum_931900394___395 {
    PTHREAD_MUTEX_STALLED___395 = 0,
    PTHREAD_MUTEX_STALLED_NP___395 = 0,
    PTHREAD_MUTEX_ROBUST___395 = 1,
    PTHREAD_MUTEX_ROBUST_NP___395 = 1
} ;
enum __anonenum_205214487___395 {
    PTHREAD_PRIO_NONE___395 = 0,
    PTHREAD_PRIO_INHERIT___395 = 1,
    PTHREAD_PRIO_PROTECT___395 = 2
} ;
enum __anonenum_25043950___395 {
    PTHREAD_RWLOCK_PREFER_READER_NP___395 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___395 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___395 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___395 = 0
} ;
enum __anonenum_436439511___395 {
    PTHREAD_INHERIT_SCHED___395 = 0,
    PTHREAD_EXPLICIT_SCHED___395 = 1
} ;
enum __anonenum_998661166___395 {
    PTHREAD_SCOPE_SYSTEM___395 = 0,
    PTHREAD_SCOPE_PROCESS___395 = 1
} ;
enum __anonenum_146137331___395 {
    PTHREAD_PROCESS_PRIVATE___395 = 0,
    PTHREAD_PROCESS_SHARED___395 = 1
} ;
enum __anonenum_53396917___395 {
    PTHREAD_CANCEL_ENABLE___395 = 0,
    PTHREAD_CANCEL_DISABLE___395 = 1
} ;
enum __anonenum_904563783___395 {
    PTHREAD_CANCEL_DEFERRED___395 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___395 = 1
} ;
enum __anonenum_672052974___395 {
    SSL_CT_VALIDATION_PERMISSIVE___395 = 0,
    SSL_CT_VALIDATION_STRICT___395 = 1
} ;
enum __anonenum_437032235___396 {
    _PC_LINK_MAX___396 = 0,
    _PC_MAX_CANON___396 = 1,
    _PC_MAX_INPUT___396 = 2,
    _PC_NAME_MAX___396 = 3,
    _PC_PATH_MAX___396 = 4,
    _PC_PIPE_BUF___396 = 5,
    _PC_CHOWN_RESTRICTED___396 = 6,
    _PC_NO_TRUNC___396 = 7,
    _PC_VDISABLE___396 = 8,
    _PC_SYNC_IO___396 = 9,
    _PC_ASYNC_IO___396 = 10,
    _PC_PRIO_IO___396 = 11,
    _PC_SOCK_MAXBUF___396 = 12,
    _PC_FILESIZEBITS___396 = 13,
    _PC_REC_INCR_XFER_SIZE___396 = 14,
    _PC_REC_MAX_XFER_SIZE___396 = 15,
    _PC_REC_MIN_XFER_SIZE___396 = 16,
    _PC_REC_XFER_ALIGN___396 = 17,
    _PC_ALLOC_SIZE_MIN___396 = 18,
    _PC_SYMLINK_MAX___396 = 19,
    _PC_2_SYMLINKS___396 = 20
} ;
enum __anonenum_315186338___396 {
    _SC_ARG_MAX___396 = 0,
    _SC_CHILD_MAX___396 = 1,
    _SC_CLK_TCK___396 = 2,
    _SC_NGROUPS_MAX___396 = 3,
    _SC_OPEN_MAX___396 = 4,
    _SC_STREAM_MAX___396 = 5,
    _SC_TZNAME_MAX___396 = 6,
    _SC_JOB_CONTROL___396 = 7,
    _SC_SAVED_IDS___396 = 8,
    _SC_REALTIME_SIGNALS___396 = 9,
    _SC_PRIORITY_SCHEDULING___396 = 10,
    _SC_TIMERS___396 = 11,
    _SC_ASYNCHRONOUS_IO___396 = 12,
    _SC_PRIORITIZED_IO___396 = 13,
    _SC_SYNCHRONIZED_IO___396 = 14,
    _SC_FSYNC___396 = 15,
    _SC_MAPPED_FILES___396 = 16,
    _SC_MEMLOCK___396 = 17,
    _SC_MEMLOCK_RANGE___396 = 18,
    _SC_MEMORY_PROTECTION___396 = 19,
    _SC_MESSAGE_PASSING___396 = 20,
    _SC_SEMAPHORES___396 = 21,
    _SC_SHARED_MEMORY_OBJECTS___396 = 22,
    _SC_AIO_LISTIO_MAX___396 = 23,
    _SC_AIO_MAX___396 = 24,
    _SC_AIO_PRIO_DELTA_MAX___396 = 25,
    _SC_DELAYTIMER_MAX___396 = 26,
    _SC_MQ_OPEN_MAX___396 = 27,
    _SC_MQ_PRIO_MAX___396 = 28,
    _SC_VERSION___396 = 29,
    _SC_PAGESIZE___396 = 30,
    _SC_RTSIG_MAX___396 = 31,
    _SC_SEM_NSEMS_MAX___396 = 32,
    _SC_SEM_VALUE_MAX___396 = 33,
    _SC_SIGQUEUE_MAX___396 = 34,
    _SC_TIMER_MAX___396 = 35,
    _SC_BC_BASE_MAX___396 = 36,
    _SC_BC_DIM_MAX___396 = 37,
    _SC_BC_SCALE_MAX___396 = 38,
    _SC_BC_STRING_MAX___396 = 39,
    _SC_COLL_WEIGHTS_MAX___396 = 40,
    _SC_EQUIV_CLASS_MAX___396 = 41,
    _SC_EXPR_NEST_MAX___396 = 42,
    _SC_LINE_MAX___396 = 43,
    _SC_RE_DUP_MAX___396 = 44,
    _SC_CHARCLASS_NAME_MAX___396 = 45,
    _SC_2_VERSION___396 = 46,
    _SC_2_C_BIND___396 = 47,
    _SC_2_C_DEV___396 = 48,
    _SC_2_FORT_DEV___396 = 49,
    _SC_2_FORT_RUN___396 = 50,
    _SC_2_SW_DEV___396 = 51,
    _SC_2_LOCALEDEF___396 = 52,
    _SC_PII___396 = 53,
    _SC_PII_XTI___396 = 54,
    _SC_PII_SOCKET___396 = 55,
    _SC_PII_INTERNET___396 = 56,
    _SC_PII_OSI___396 = 57,
    _SC_POLL___396 = 58,
    _SC_SELECT___396 = 59,
    _SC_UIO_MAXIOV___396 = 60,
    _SC_IOV_MAX___396 = 60,
    _SC_PII_INTERNET_STREAM___396 = 61,
    _SC_PII_INTERNET_DGRAM___396 = 62,
    _SC_PII_OSI_COTS___396 = 63,
    _SC_PII_OSI_CLTS___396 = 64,
    _SC_PII_OSI_M___396 = 65,
    _SC_T_IOV_MAX___396 = 66,
    _SC_THREADS___396 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___396 = 68,
    _SC_GETGR_R_SIZE_MAX___396 = 69,
    _SC_GETPW_R_SIZE_MAX___396 = 70,
    _SC_LOGIN_NAME_MAX___396 = 71,
    _SC_TTY_NAME_MAX___396 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___396 = 73,
    _SC_THREAD_KEYS_MAX___396 = 74,
    _SC_THREAD_STACK_MIN___396 = 75,
    _SC_THREAD_THREADS_MAX___396 = 76,
    _SC_THREAD_ATTR_STACKADDR___396 = 77,
    _SC_THREAD_ATTR_STACKSIZE___396 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___396 = 79,
    _SC_THREAD_PRIO_INHERIT___396 = 80,
    _SC_THREAD_PRIO_PROTECT___396 = 81,
    _SC_THREAD_PROCESS_SHARED___396 = 82,
    _SC_NPROCESSORS_CONF___396 = 83,
    _SC_NPROCESSORS_ONLN___396 = 84,
    _SC_PHYS_PAGES___396 = 85,
    _SC_AVPHYS_PAGES___396 = 86,
    _SC_ATEXIT_MAX___396 = 87,
    _SC_PASS_MAX___396 = 88,
    _SC_XOPEN_VERSION___396 = 89,
    _SC_XOPEN_XCU_VERSION___396 = 90,
    _SC_XOPEN_UNIX___396 = 91,
    _SC_XOPEN_CRYPT___396 = 92,
    _SC_XOPEN_ENH_I18N___396 = 93,
    _SC_XOPEN_SHM___396 = 94,
    _SC_2_CHAR_TERM___396 = 95,
    _SC_2_C_VERSION___396 = 96,
    _SC_2_UPE___396 = 97,
    _SC_XOPEN_XPG2___396 = 98,
    _SC_XOPEN_XPG3___396 = 99,
    _SC_XOPEN_XPG4___396 = 100,
    _SC_CHAR_BIT___396 = 101,
    _SC_CHAR_MAX___396 = 102,
    _SC_CHAR_MIN___396 = 103,
    _SC_INT_MAX___396 = 104,
    _SC_INT_MIN___396 = 105,
    _SC_LONG_BIT___396 = 106,
    _SC_WORD_BIT___396 = 107,
    _SC_MB_LEN_MAX___396 = 108,
    _SC_NZERO___396 = 109,
    _SC_SSIZE_MAX___396 = 110,
    _SC_SCHAR_MAX___396 = 111,
    _SC_SCHAR_MIN___396 = 112,
    _SC_SHRT_MAX___396 = 113,
    _SC_SHRT_MIN___396 = 114,
    _SC_UCHAR_MAX___396 = 115,
    _SC_UINT_MAX___396 = 116,
    _SC_ULONG_MAX___396 = 117,
    _SC_USHRT_MAX___396 = 118,
    _SC_NL_ARGMAX___396 = 119,
    _SC_NL_LANGMAX___396 = 120,
    _SC_NL_MSGMAX___396 = 121,
    _SC_NL_NMAX___396 = 122,
    _SC_NL_SETMAX___396 = 123,
    _SC_NL_TEXTMAX___396 = 124,
    _SC_XBS5_ILP32_OFF32___396 = 125,
    _SC_XBS5_ILP32_OFFBIG___396 = 126,
    _SC_XBS5_LP64_OFF64___396 = 127,
    _SC_XBS5_LPBIG_OFFBIG___396 = 128,
    _SC_XOPEN_LEGACY___396 = 129,
    _SC_XOPEN_REALTIME___396 = 130,
    _SC_XOPEN_REALTIME_THREADS___396 = 131,
    _SC_ADVISORY_INFO___396 = 132,
    _SC_BARRIERS___396 = 133,
    _SC_BASE___396 = 134,
    _SC_C_LANG_SUPPORT___396 = 135,
    _SC_C_LANG_SUPPORT_R___396 = 136,
    _SC_CLOCK_SELECTION___396 = 137,
    _SC_CPUTIME___396 = 138,
    _SC_THREAD_CPUTIME___396 = 139,
    _SC_DEVICE_IO___396 = 140,
    _SC_DEVICE_SPECIFIC___396 = 141,
    _SC_DEVICE_SPECIFIC_R___396 = 142,
    _SC_FD_MGMT___396 = 143,
    _SC_FIFO___396 = 144,
    _SC_PIPE___396 = 145,
    _SC_FILE_ATTRIBUTES___396 = 146,
    _SC_FILE_LOCKING___396 = 147,
    _SC_FILE_SYSTEM___396 = 148,
    _SC_MONOTONIC_CLOCK___396 = 149,
    _SC_MULTI_PROCESS___396 = 150,
    _SC_SINGLE_PROCESS___396 = 151,
    _SC_NETWORKING___396 = 152,
    _SC_READER_WRITER_LOCKS___396 = 153,
    _SC_SPIN_LOCKS___396 = 154,
    _SC_REGEXP___396 = 155,
    _SC_REGEX_VERSION___396 = 156,
    _SC_SHELL___396 = 157,
    _SC_SIGNALS___396 = 158,
    _SC_SPAWN___396 = 159,
    _SC_SPORADIC_SERVER___396 = 160,
    _SC_THREAD_SPORADIC_SERVER___396 = 161,
    _SC_SYSTEM_DATABASE___396 = 162,
    _SC_SYSTEM_DATABASE_R___396 = 163,
    _SC_TIMEOUTS___396 = 164,
    _SC_TYPED_MEMORY_OBJECTS___396 = 165,
    _SC_USER_GROUPS___396 = 166,
    _SC_USER_GROUPS_R___396 = 167,
    _SC_2_PBS___396 = 168,
    _SC_2_PBS_ACCOUNTING___396 = 169,
    _SC_2_PBS_LOCATE___396 = 170,
    _SC_2_PBS_MESSAGE___396 = 171,
    _SC_2_PBS_TRACK___396 = 172,
    _SC_SYMLOOP_MAX___396 = 173,
    _SC_STREAMS___396 = 174,
    _SC_2_PBS_CHECKPOINT___396 = 175,
    _SC_V6_ILP32_OFF32___396 = 176,
    _SC_V6_ILP32_OFFBIG___396 = 177,
    _SC_V6_LP64_OFF64___396 = 178,
    _SC_V6_LPBIG_OFFBIG___396 = 179,
    _SC_HOST_NAME_MAX___396 = 180,
    _SC_TRACE___396 = 181,
    _SC_TRACE_EVENT_FILTER___396 = 182,
    _SC_TRACE_INHERIT___396 = 183,
    _SC_TRACE_LOG___396 = 184,
    _SC_LEVEL1_ICACHE_SIZE___396 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___396 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___396 = 187,
    _SC_LEVEL1_DCACHE_SIZE___396 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___396 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___396 = 190,
    _SC_LEVEL2_CACHE_SIZE___396 = 191,
    _SC_LEVEL2_CACHE_ASSOC___396 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___396 = 193,
    _SC_LEVEL3_CACHE_SIZE___396 = 194,
    _SC_LEVEL3_CACHE_ASSOC___396 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___396 = 196,
    _SC_LEVEL4_CACHE_SIZE___396 = 197,
    _SC_LEVEL4_CACHE_ASSOC___396 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___396 = 199,
    _SC_IPV6___396 = 235,
    _SC_RAW_SOCKETS___396 = 236,
    _SC_V7_ILP32_OFF32___396 = 237,
    _SC_V7_ILP32_OFFBIG___396 = 238,
    _SC_V7_LP64_OFF64___396 = 239,
    _SC_V7_LPBIG_OFFBIG___396 = 240,
    _SC_SS_REPL_MAX___396 = 241,
    _SC_TRACE_EVENT_NAME_MAX___396 = 242,
    _SC_TRACE_NAME_MAX___396 = 243,
    _SC_TRACE_SYS_MAX___396 = 244,
    _SC_TRACE_USER_EVENT_MAX___396 = 245,
    _SC_XOPEN_STREAMS___396 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___396 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___396 = 248
} ;
enum __anonenum_875524036___396 {
    _CS_PATH___396 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___396 = 1,
    _CS_GNU_LIBC_VERSION___396 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___396 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___396 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___396 = 5,
    _CS_LFS_CFLAGS___396 = 1000,
    _CS_LFS_LDFLAGS___396 = 1001,
    _CS_LFS_LIBS___396 = 1002,
    _CS_LFS_LINTFLAGS___396 = 1003,
    _CS_LFS64_CFLAGS___396 = 1004,
    _CS_LFS64_LDFLAGS___396 = 1005,
    _CS_LFS64_LIBS___396 = 1006,
    _CS_LFS64_LINTFLAGS___396 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___396 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___396 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___396 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___396 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___396 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___396 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___396 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___396 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___396 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___396 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___396 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___396 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___396 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___396 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___396 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___396 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___396 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___396 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___396 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___396 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___396 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___396 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___396 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___396 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___396 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___396 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___396 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___396 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___396 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___396 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___396 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___396 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___396 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___396 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___396 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___396 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___396 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___396 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___396 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___396 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___396 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___396 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___396 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___396 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___396 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___396 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___396 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___396 = 1147,
    _CS_V6_ENV___396 = 1148,
    _CS_V7_ENV___396 = 1149
} ;
enum __anonenum_513775621___396 {
    DT_UNKNOWN___396 = 0,
    DT_FIFO___396 = 1,
    DT_CHR___396 = 2,
    DT_DIR___396 = 4,
    DT_BLK___396 = 6,
    DT_REG___396 = 8,
    DT_LNK___396 = 10,
    DT_SOCK___396 = 12,
    DT_WHT___396 = 14
} ;
enum __anonenum_77002343___396 {
    SI_ASYNCNL___396 = -60,
    SI_TKILL___396 = -6,
    SI_SIGIO___396 = -5,
    SI_ASYNCIO___396 = -4,
    SI_MESGQ___396 = -3,
    SI_TIMER___396 = -2,
    SI_QUEUE___396 = -1,
    SI_USER___396 = 0,
    SI_KERNEL___396 = 128
} ;
enum __anonenum_131038172___396 {
    ILL_ILLOPC___396 = 1,
    ILL_ILLOPN___396 = 2,
    ILL_ILLADR___396 = 3,
    ILL_ILLTRP___396 = 4,
    ILL_PRVOPC___396 = 5,
    ILL_PRVREG___396 = 6,
    ILL_COPROC___396 = 7,
    ILL_BADSTK___396 = 8
} ;
enum __anonenum_452038093___396 {
    FPE_INTDIV___396 = 1,
    FPE_INTOVF___396 = 2,
    FPE_FLTDIV___396 = 3,
    FPE_FLTOVF___396 = 4,
    FPE_FLTUND___396 = 5,
    FPE_FLTRES___396 = 6,
    FPE_FLTINV___396 = 7,
    FPE_FLTSUB___396 = 8
} ;
enum __anonenum_30976155___396 {
    SEGV_MAPERR___396 = 1,
    SEGV_ACCERR___396 = 2,
    SEGV_BNDERR___396 = 3,
    SEGV_PKUERR___396 = 4
} ;
enum __anonenum_1036286214___396 {
    BUS_ADRALN___396 = 1,
    BUS_ADRERR___396 = 2,
    BUS_OBJERR___396 = 3,
    BUS_MCEERR_AR___396 = 4,
    BUS_MCEERR_AO___396 = 5
} ;
enum __anonenum_493465559___396 {
    TRAP_BRKPT___396 = 1,
    TRAP_TRACE___396 = 2
} ;
enum __anonenum_23175539___396 {
    CLD_EXITED___396 = 1,
    CLD_KILLED___396 = 2,
    CLD_DUMPED___396 = 3,
    CLD_TRAPPED___396 = 4,
    CLD_STOPPED___396 = 5,
    CLD_CONTINUED___396 = 6
} ;
enum __anonenum_111643124___396 {
    POLL_IN___396 = 1,
    POLL_OUT___396 = 2,
    POLL_MSG___396 = 3,
    POLL_ERR___396 = 4,
    POLL_PRI___396 = 5,
    POLL_HUP___396 = 6
} ;
enum __anonenum_852341087___396 {
    SIGEV_SIGNAL___396 = 0,
    SIGEV_NONE___396 = 1,
    SIGEV_THREAD___396 = 2,
    SIGEV_THREAD_ID___396 = 4
} ;
enum __anonenum_451154152___396 {
    REG_R8___396 = 0,
    REG_R9___396 = 1,
    REG_R10___396 = 2,
    REG_R11___396 = 3,
    REG_R12___396 = 4,
    REG_R13___396 = 5,
    REG_R14___396 = 6,
    REG_R15___396 = 7,
    REG_RDI___396 = 8,
    REG_RSI___396 = 9,
    REG_RBP___396 = 10,
    REG_RBX___396 = 11,
    REG_RDX___396 = 12,
    REG_RAX___396 = 13,
    REG_RCX___396 = 14,
    REG_RSP___396 = 15,
    REG_RIP___396 = 16,
    REG_EFL___396 = 17,
    REG_CSGSFS___396 = 18,
    REG_ERR___396 = 19,
    REG_TRAPNO___396 = 20,
    REG_OLDMASK___396 = 21,
    REG_CR2___396 = 22
} ;
enum __anonenum_57186863___396 {
    SS_ONSTACK___396 = 1,
    SS_DISABLE___396 = 2
} ;
enum __anonenum_83571709___396 {
    MSG_OOB___396 = 1,
    MSG_PEEK___396 = 2,
    MSG_DONTROUTE___396 = 4,
    MSG_TRYHARD___396 = 4,
    MSG_CTRUNC___396 = 8,
    MSG_PROXY___396 = 16,
    MSG_TRUNC___396 = 32,
    MSG_DONTWAIT___396 = 64,
    MSG_EOR___396 = 128,
    MSG_WAITALL___396 = 256,
    MSG_FIN___396 = 512,
    MSG_SYN___396 = 1024,
    MSG_CONFIRM___396 = 2048,
    MSG_RST___396 = 4096,
    MSG_ERRQUEUE___396 = 8192,
    MSG_NOSIGNAL___396 = 16384,
    MSG_MORE___396 = 32768,
    MSG_WAITFORONE___396 = 65536,
    MSG_BATCH___396 = 262144,
    MSG_ZEROCOPY___396 = 67108864,
    MSG_FASTOPEN___396 = 536870912,
    MSG_CMSG_CLOEXEC___396 = 1073741824
} ;
enum __anonenum_617082774___396 {
    SCM_RIGHTS___396 = 1,
    SCM_CREDENTIALS___396 = 2
} ;
enum __anonenum_606441560___396 {
    SHUT_RD___396 = 0,
    SHUT_WR___396 = 1,
    SHUT_RDWR___396 = 2
} ;
enum __anonenum_681669233___396 {
    IPPROTO_IP___396 = 0,
    IPPROTO_ICMP___396 = 1,
    IPPROTO_IGMP___396 = 2,
    IPPROTO_IPIP___396 = 4,
    IPPROTO_TCP___396 = 6,
    IPPROTO_EGP___396 = 8,
    IPPROTO_PUP___396 = 12,
    IPPROTO_UDP___396 = 17,
    IPPROTO_IDP___396 = 22,
    IPPROTO_TP___396 = 29,
    IPPROTO_DCCP___396 = 33,
    IPPROTO_IPV6___396 = 41,
    IPPROTO_RSVP___396 = 46,
    IPPROTO_GRE___396 = 47,
    IPPROTO_ESP___396 = 50,
    IPPROTO_AH___396 = 51,
    IPPROTO_MTP___396 = 92,
    IPPROTO_BEETPH___396 = 94,
    IPPROTO_ENCAP___396 = 98,
    IPPROTO_PIM___396 = 103,
    IPPROTO_COMP___396 = 108,
    IPPROTO_SCTP___396 = 132,
    IPPROTO_UDPLITE___396 = 136,
    IPPROTO_MPLS___396 = 137,
    IPPROTO_RAW___396 = 255,
    IPPROTO_MAX___396 = 256
} ;
enum __anonenum_218739988___396 {
    IPPROTO_HOPOPTS___396 = 0,
    IPPROTO_ROUTING___396 = 43,
    IPPROTO_FRAGMENT___396 = 44,
    IPPROTO_ICMPV6___396 = 58,
    IPPROTO_NONE___396 = 59,
    IPPROTO_DSTOPTS___396 = 60,
    IPPROTO_MH___396 = 135
} ;
enum __anonenum_662268580___396 {
    IPPORT_ECHO___396 = 7,
    IPPORT_DISCARD___396 = 9,
    IPPORT_SYSTAT___396 = 11,
    IPPORT_DAYTIME___396 = 13,
    IPPORT_NETSTAT___396 = 15,
    IPPORT_FTP___396 = 21,
    IPPORT_TELNET___396 = 23,
    IPPORT_SMTP___396 = 25,
    IPPORT_TIMESERVER___396 = 37,
    IPPORT_NAMESERVER___396 = 42,
    IPPORT_WHOIS___396 = 43,
    IPPORT_MTP___396 = 57,
    IPPORT_TFTP___396 = 69,
    IPPORT_RJE___396 = 77,
    IPPORT_FINGER___396 = 79,
    IPPORT_TTYLINK___396 = 87,
    IPPORT_SUPDUP___396 = 95,
    IPPORT_EXECSERVER___396 = 512,
    IPPORT_LOGINSERVER___396 = 513,
    IPPORT_CMDSERVER___396 = 514,
    IPPORT_EFSSERVER___396 = 520,
    IPPORT_BIFFUDP___396 = 512,
    IPPORT_WHOSERVER___396 = 513,
    IPPORT_ROUTESERVER___396 = 520,
    IPPORT_RESERVED___396 = 1024,
    IPPORT_USERRESERVED___396 = 5000
} ;
enum __anonenum_788308992___396 {
    TCP_ESTABLISHED___396 = 1,
    TCP_SYN_SENT___396 = 2,
    TCP_SYN_RECV___396 = 3,
    TCP_FIN_WAIT1___396 = 4,
    TCP_FIN_WAIT2___396 = 5,
    TCP_TIME_WAIT___396 = 6,
    TCP_CLOSE___396 = 7,
    TCP_CLOSE_WAIT___396 = 8,
    TCP_LAST_ACK___396 = 9,
    TCP_LISTEN___396 = 10,
    TCP_CLOSING___396 = 11
} ;
enum __anonenum_221125648___396 {
    TCP_NO_QUEUE___396 = 0,
    TCP_RECV_QUEUE___396 = 1,
    TCP_SEND_QUEUE___396 = 2,
    TCP_QUEUES_NR___396 = 3
} ;
enum __anonenum_34415463___396 {
    PTHREAD_CREATE_JOINABLE___396 = 0,
    PTHREAD_CREATE_DETACHED___396 = 1
} ;
enum __anonenum_303612439___396 {
    PTHREAD_MUTEX_TIMED_NP___396 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___396 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___396 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___396 = 3,
    PTHREAD_MUTEX_NORMAL___396 = 0,
    PTHREAD_MUTEX_RECURSIVE___396 = 1,
    PTHREAD_MUTEX_ERRORCHECK___396 = 2,
    PTHREAD_MUTEX_DEFAULT___396 = 0,
    PTHREAD_MUTEX_FAST_NP___396 = 0
} ;
enum __anonenum_931900394___396 {
    PTHREAD_MUTEX_STALLED___396 = 0,
    PTHREAD_MUTEX_STALLED_NP___396 = 0,
    PTHREAD_MUTEX_ROBUST___396 = 1,
    PTHREAD_MUTEX_ROBUST_NP___396 = 1
} ;
enum __anonenum_205214487___396 {
    PTHREAD_PRIO_NONE___396 = 0,
    PTHREAD_PRIO_INHERIT___396 = 1,
    PTHREAD_PRIO_PROTECT___396 = 2
} ;
enum __anonenum_25043950___396 {
    PTHREAD_RWLOCK_PREFER_READER_NP___396 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___396 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___396 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___396 = 0
} ;
enum __anonenum_436439511___396 {
    PTHREAD_INHERIT_SCHED___396 = 0,
    PTHREAD_EXPLICIT_SCHED___396 = 1
} ;
enum __anonenum_998661166___396 {
    PTHREAD_SCOPE_SYSTEM___396 = 0,
    PTHREAD_SCOPE_PROCESS___396 = 1
} ;
enum __anonenum_146137331___396 {
    PTHREAD_PROCESS_PRIVATE___396 = 0,
    PTHREAD_PROCESS_SHARED___396 = 1
} ;
enum __anonenum_53396917___396 {
    PTHREAD_CANCEL_ENABLE___396 = 0,
    PTHREAD_CANCEL_DISABLE___396 = 1
} ;
enum __anonenum_904563783___396 {
    PTHREAD_CANCEL_DEFERRED___396 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___396 = 1
} ;
enum __anonenum_672052974___396 {
    SSL_CT_VALIDATION_PERMISSIVE___396 = 0,
    SSL_CT_VALIDATION_STRICT___396 = 1
} ;
struct __anonstruct_cases_713894858 {
   char const   *a ;
   char const   *b ;
   int want ;
};
enum __anonenum_437032235___397 {
    _PC_LINK_MAX___397 = 0,
    _PC_MAX_CANON___397 = 1,
    _PC_MAX_INPUT___397 = 2,
    _PC_NAME_MAX___397 = 3,
    _PC_PATH_MAX___397 = 4,
    _PC_PIPE_BUF___397 = 5,
    _PC_CHOWN_RESTRICTED___397 = 6,
    _PC_NO_TRUNC___397 = 7,
    _PC_VDISABLE___397 = 8,
    _PC_SYNC_IO___397 = 9,
    _PC_ASYNC_IO___397 = 10,
    _PC_PRIO_IO___397 = 11,
    _PC_SOCK_MAXBUF___397 = 12,
    _PC_FILESIZEBITS___397 = 13,
    _PC_REC_INCR_XFER_SIZE___397 = 14,
    _PC_REC_MAX_XFER_SIZE___397 = 15,
    _PC_REC_MIN_XFER_SIZE___397 = 16,
    _PC_REC_XFER_ALIGN___397 = 17,
    _PC_ALLOC_SIZE_MIN___397 = 18,
    _PC_SYMLINK_MAX___397 = 19,
    _PC_2_SYMLINKS___397 = 20
} ;
enum __anonenum_315186338___397 {
    _SC_ARG_MAX___397 = 0,
    _SC_CHILD_MAX___397 = 1,
    _SC_CLK_TCK___397 = 2,
    _SC_NGROUPS_MAX___397 = 3,
    _SC_OPEN_MAX___397 = 4,
    _SC_STREAM_MAX___397 = 5,
    _SC_TZNAME_MAX___397 = 6,
    _SC_JOB_CONTROL___397 = 7,
    _SC_SAVED_IDS___397 = 8,
    _SC_REALTIME_SIGNALS___397 = 9,
    _SC_PRIORITY_SCHEDULING___397 = 10,
    _SC_TIMERS___397 = 11,
    _SC_ASYNCHRONOUS_IO___397 = 12,
    _SC_PRIORITIZED_IO___397 = 13,
    _SC_SYNCHRONIZED_IO___397 = 14,
    _SC_FSYNC___397 = 15,
    _SC_MAPPED_FILES___397 = 16,
    _SC_MEMLOCK___397 = 17,
    _SC_MEMLOCK_RANGE___397 = 18,
    _SC_MEMORY_PROTECTION___397 = 19,
    _SC_MESSAGE_PASSING___397 = 20,
    _SC_SEMAPHORES___397 = 21,
    _SC_SHARED_MEMORY_OBJECTS___397 = 22,
    _SC_AIO_LISTIO_MAX___397 = 23,
    _SC_AIO_MAX___397 = 24,
    _SC_AIO_PRIO_DELTA_MAX___397 = 25,
    _SC_DELAYTIMER_MAX___397 = 26,
    _SC_MQ_OPEN_MAX___397 = 27,
    _SC_MQ_PRIO_MAX___397 = 28,
    _SC_VERSION___397 = 29,
    _SC_PAGESIZE___397 = 30,
    _SC_RTSIG_MAX___397 = 31,
    _SC_SEM_NSEMS_MAX___397 = 32,
    _SC_SEM_VALUE_MAX___397 = 33,
    _SC_SIGQUEUE_MAX___397 = 34,
    _SC_TIMER_MAX___397 = 35,
    _SC_BC_BASE_MAX___397 = 36,
    _SC_BC_DIM_MAX___397 = 37,
    _SC_BC_SCALE_MAX___397 = 38,
    _SC_BC_STRING_MAX___397 = 39,
    _SC_COLL_WEIGHTS_MAX___397 = 40,
    _SC_EQUIV_CLASS_MAX___397 = 41,
    _SC_EXPR_NEST_MAX___397 = 42,
    _SC_LINE_MAX___397 = 43,
    _SC_RE_DUP_MAX___397 = 44,
    _SC_CHARCLASS_NAME_MAX___397 = 45,
    _SC_2_VERSION___397 = 46,
    _SC_2_C_BIND___397 = 47,
    _SC_2_C_DEV___397 = 48,
    _SC_2_FORT_DEV___397 = 49,
    _SC_2_FORT_RUN___397 = 50,
    _SC_2_SW_DEV___397 = 51,
    _SC_2_LOCALEDEF___397 = 52,
    _SC_PII___397 = 53,
    _SC_PII_XTI___397 = 54,
    _SC_PII_SOCKET___397 = 55,
    _SC_PII_INTERNET___397 = 56,
    _SC_PII_OSI___397 = 57,
    _SC_POLL___397 = 58,
    _SC_SELECT___397 = 59,
    _SC_UIO_MAXIOV___397 = 60,
    _SC_IOV_MAX___397 = 60,
    _SC_PII_INTERNET_STREAM___397 = 61,
    _SC_PII_INTERNET_DGRAM___397 = 62,
    _SC_PII_OSI_COTS___397 = 63,
    _SC_PII_OSI_CLTS___397 = 64,
    _SC_PII_OSI_M___397 = 65,
    _SC_T_IOV_MAX___397 = 66,
    _SC_THREADS___397 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___397 = 68,
    _SC_GETGR_R_SIZE_MAX___397 = 69,
    _SC_GETPW_R_SIZE_MAX___397 = 70,
    _SC_LOGIN_NAME_MAX___397 = 71,
    _SC_TTY_NAME_MAX___397 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___397 = 73,
    _SC_THREAD_KEYS_MAX___397 = 74,
    _SC_THREAD_STACK_MIN___397 = 75,
    _SC_THREAD_THREADS_MAX___397 = 76,
    _SC_THREAD_ATTR_STACKADDR___397 = 77,
    _SC_THREAD_ATTR_STACKSIZE___397 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___397 = 79,
    _SC_THREAD_PRIO_INHERIT___397 = 80,
    _SC_THREAD_PRIO_PROTECT___397 = 81,
    _SC_THREAD_PROCESS_SHARED___397 = 82,
    _SC_NPROCESSORS_CONF___397 = 83,
    _SC_NPROCESSORS_ONLN___397 = 84,
    _SC_PHYS_PAGES___397 = 85,
    _SC_AVPHYS_PAGES___397 = 86,
    _SC_ATEXIT_MAX___397 = 87,
    _SC_PASS_MAX___397 = 88,
    _SC_XOPEN_VERSION___397 = 89,
    _SC_XOPEN_XCU_VERSION___397 = 90,
    _SC_XOPEN_UNIX___397 = 91,
    _SC_XOPEN_CRYPT___397 = 92,
    _SC_XOPEN_ENH_I18N___397 = 93,
    _SC_XOPEN_SHM___397 = 94,
    _SC_2_CHAR_TERM___397 = 95,
    _SC_2_C_VERSION___397 = 96,
    _SC_2_UPE___397 = 97,
    _SC_XOPEN_XPG2___397 = 98,
    _SC_XOPEN_XPG3___397 = 99,
    _SC_XOPEN_XPG4___397 = 100,
    _SC_CHAR_BIT___397 = 101,
    _SC_CHAR_MAX___397 = 102,
    _SC_CHAR_MIN___397 = 103,
    _SC_INT_MAX___397 = 104,
    _SC_INT_MIN___397 = 105,
    _SC_LONG_BIT___397 = 106,
    _SC_WORD_BIT___397 = 107,
    _SC_MB_LEN_MAX___397 = 108,
    _SC_NZERO___397 = 109,
    _SC_SSIZE_MAX___397 = 110,
    _SC_SCHAR_MAX___397 = 111,
    _SC_SCHAR_MIN___397 = 112,
    _SC_SHRT_MAX___397 = 113,
    _SC_SHRT_MIN___397 = 114,
    _SC_UCHAR_MAX___397 = 115,
    _SC_UINT_MAX___397 = 116,
    _SC_ULONG_MAX___397 = 117,
    _SC_USHRT_MAX___397 = 118,
    _SC_NL_ARGMAX___397 = 119,
    _SC_NL_LANGMAX___397 = 120,
    _SC_NL_MSGMAX___397 = 121,
    _SC_NL_NMAX___397 = 122,
    _SC_NL_SETMAX___397 = 123,
    _SC_NL_TEXTMAX___397 = 124,
    _SC_XBS5_ILP32_OFF32___397 = 125,
    _SC_XBS5_ILP32_OFFBIG___397 = 126,
    _SC_XBS5_LP64_OFF64___397 = 127,
    _SC_XBS5_LPBIG_OFFBIG___397 = 128,
    _SC_XOPEN_LEGACY___397 = 129,
    _SC_XOPEN_REALTIME___397 = 130,
    _SC_XOPEN_REALTIME_THREADS___397 = 131,
    _SC_ADVISORY_INFO___397 = 132,
    _SC_BARRIERS___397 = 133,
    _SC_BASE___397 = 134,
    _SC_C_LANG_SUPPORT___397 = 135,
    _SC_C_LANG_SUPPORT_R___397 = 136,
    _SC_CLOCK_SELECTION___397 = 137,
    _SC_CPUTIME___397 = 138,
    _SC_THREAD_CPUTIME___397 = 139,
    _SC_DEVICE_IO___397 = 140,
    _SC_DEVICE_SPECIFIC___397 = 141,
    _SC_DEVICE_SPECIFIC_R___397 = 142,
    _SC_FD_MGMT___397 = 143,
    _SC_FIFO___397 = 144,
    _SC_PIPE___397 = 145,
    _SC_FILE_ATTRIBUTES___397 = 146,
    _SC_FILE_LOCKING___397 = 147,
    _SC_FILE_SYSTEM___397 = 148,
    _SC_MONOTONIC_CLOCK___397 = 149,
    _SC_MULTI_PROCESS___397 = 150,
    _SC_SINGLE_PROCESS___397 = 151,
    _SC_NETWORKING___397 = 152,
    _SC_READER_WRITER_LOCKS___397 = 153,
    _SC_SPIN_LOCKS___397 = 154,
    _SC_REGEXP___397 = 155,
    _SC_REGEX_VERSION___397 = 156,
    _SC_SHELL___397 = 157,
    _SC_SIGNALS___397 = 158,
    _SC_SPAWN___397 = 159,
    _SC_SPORADIC_SERVER___397 = 160,
    _SC_THREAD_SPORADIC_SERVER___397 = 161,
    _SC_SYSTEM_DATABASE___397 = 162,
    _SC_SYSTEM_DATABASE_R___397 = 163,
    _SC_TIMEOUTS___397 = 164,
    _SC_TYPED_MEMORY_OBJECTS___397 = 165,
    _SC_USER_GROUPS___397 = 166,
    _SC_USER_GROUPS_R___397 = 167,
    _SC_2_PBS___397 = 168,
    _SC_2_PBS_ACCOUNTING___397 = 169,
    _SC_2_PBS_LOCATE___397 = 170,
    _SC_2_PBS_MESSAGE___397 = 171,
    _SC_2_PBS_TRACK___397 = 172,
    _SC_SYMLOOP_MAX___397 = 173,
    _SC_STREAMS___397 = 174,
    _SC_2_PBS_CHECKPOINT___397 = 175,
    _SC_V6_ILP32_OFF32___397 = 176,
    _SC_V6_ILP32_OFFBIG___397 = 177,
    _SC_V6_LP64_OFF64___397 = 178,
    _SC_V6_LPBIG_OFFBIG___397 = 179,
    _SC_HOST_NAME_MAX___397 = 180,
    _SC_TRACE___397 = 181,
    _SC_TRACE_EVENT_FILTER___397 = 182,
    _SC_TRACE_INHERIT___397 = 183,
    _SC_TRACE_LOG___397 = 184,
    _SC_LEVEL1_ICACHE_SIZE___397 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___397 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___397 = 187,
    _SC_LEVEL1_DCACHE_SIZE___397 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___397 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___397 = 190,
    _SC_LEVEL2_CACHE_SIZE___397 = 191,
    _SC_LEVEL2_CACHE_ASSOC___397 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___397 = 193,
    _SC_LEVEL3_CACHE_SIZE___397 = 194,
    _SC_LEVEL3_CACHE_ASSOC___397 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___397 = 196,
    _SC_LEVEL4_CACHE_SIZE___397 = 197,
    _SC_LEVEL4_CACHE_ASSOC___397 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___397 = 199,
    _SC_IPV6___397 = 235,
    _SC_RAW_SOCKETS___397 = 236,
    _SC_V7_ILP32_OFF32___397 = 237,
    _SC_V7_ILP32_OFFBIG___397 = 238,
    _SC_V7_LP64_OFF64___397 = 239,
    _SC_V7_LPBIG_OFFBIG___397 = 240,
    _SC_SS_REPL_MAX___397 = 241,
    _SC_TRACE_EVENT_NAME_MAX___397 = 242,
    _SC_TRACE_NAME_MAX___397 = 243,
    _SC_TRACE_SYS_MAX___397 = 244,
    _SC_TRACE_USER_EVENT_MAX___397 = 245,
    _SC_XOPEN_STREAMS___397 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___397 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___397 = 248
} ;
enum __anonenum_875524036___397 {
    _CS_PATH___397 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___397 = 1,
    _CS_GNU_LIBC_VERSION___397 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___397 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___397 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___397 = 5,
    _CS_LFS_CFLAGS___397 = 1000,
    _CS_LFS_LDFLAGS___397 = 1001,
    _CS_LFS_LIBS___397 = 1002,
    _CS_LFS_LINTFLAGS___397 = 1003,
    _CS_LFS64_CFLAGS___397 = 1004,
    _CS_LFS64_LDFLAGS___397 = 1005,
    _CS_LFS64_LIBS___397 = 1006,
    _CS_LFS64_LINTFLAGS___397 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___397 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___397 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___397 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___397 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___397 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___397 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___397 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___397 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___397 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___397 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___397 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___397 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___397 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___397 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___397 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___397 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___397 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___397 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___397 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___397 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___397 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___397 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___397 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___397 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___397 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___397 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___397 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___397 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___397 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___397 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___397 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___397 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___397 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___397 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___397 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___397 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___397 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___397 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___397 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___397 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___397 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___397 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___397 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___397 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___397 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___397 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___397 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___397 = 1147,
    _CS_V6_ENV___397 = 1148,
    _CS_V7_ENV___397 = 1149
} ;
enum __anonenum_513775621___397 {
    DT_UNKNOWN___397 = 0,
    DT_FIFO___397 = 1,
    DT_CHR___397 = 2,
    DT_DIR___397 = 4,
    DT_BLK___397 = 6,
    DT_REG___397 = 8,
    DT_LNK___397 = 10,
    DT_SOCK___397 = 12,
    DT_WHT___397 = 14
} ;
enum __anonenum_77002343___397 {
    SI_ASYNCNL___397 = -60,
    SI_TKILL___397 = -6,
    SI_SIGIO___397 = -5,
    SI_ASYNCIO___397 = -4,
    SI_MESGQ___397 = -3,
    SI_TIMER___397 = -2,
    SI_QUEUE___397 = -1,
    SI_USER___397 = 0,
    SI_KERNEL___397 = 128
} ;
enum __anonenum_131038172___397 {
    ILL_ILLOPC___397 = 1,
    ILL_ILLOPN___397 = 2,
    ILL_ILLADR___397 = 3,
    ILL_ILLTRP___397 = 4,
    ILL_PRVOPC___397 = 5,
    ILL_PRVREG___397 = 6,
    ILL_COPROC___397 = 7,
    ILL_BADSTK___397 = 8
} ;
enum __anonenum_452038093___397 {
    FPE_INTDIV___397 = 1,
    FPE_INTOVF___397 = 2,
    FPE_FLTDIV___397 = 3,
    FPE_FLTOVF___397 = 4,
    FPE_FLTUND___397 = 5,
    FPE_FLTRES___397 = 6,
    FPE_FLTINV___397 = 7,
    FPE_FLTSUB___397 = 8
} ;
enum __anonenum_30976155___397 {
    SEGV_MAPERR___397 = 1,
    SEGV_ACCERR___397 = 2,
    SEGV_BNDERR___397 = 3,
    SEGV_PKUERR___397 = 4
} ;
enum __anonenum_1036286214___397 {
    BUS_ADRALN___397 = 1,
    BUS_ADRERR___397 = 2,
    BUS_OBJERR___397 = 3,
    BUS_MCEERR_AR___397 = 4,
    BUS_MCEERR_AO___397 = 5
} ;
enum __anonenum_493465559___397 {
    TRAP_BRKPT___397 = 1,
    TRAP_TRACE___397 = 2
} ;
enum __anonenum_23175539___397 {
    CLD_EXITED___397 = 1,
    CLD_KILLED___397 = 2,
    CLD_DUMPED___397 = 3,
    CLD_TRAPPED___397 = 4,
    CLD_STOPPED___397 = 5,
    CLD_CONTINUED___397 = 6
} ;
enum __anonenum_111643124___397 {
    POLL_IN___397 = 1,
    POLL_OUT___397 = 2,
    POLL_MSG___397 = 3,
    POLL_ERR___397 = 4,
    POLL_PRI___397 = 5,
    POLL_HUP___397 = 6
} ;
enum __anonenum_852341087___397 {
    SIGEV_SIGNAL___397 = 0,
    SIGEV_NONE___397 = 1,
    SIGEV_THREAD___397 = 2,
    SIGEV_THREAD_ID___397 = 4
} ;
enum __anonenum_451154152___397 {
    REG_R8___397 = 0,
    REG_R9___397 = 1,
    REG_R10___397 = 2,
    REG_R11___397 = 3,
    REG_R12___397 = 4,
    REG_R13___397 = 5,
    REG_R14___397 = 6,
    REG_R15___397 = 7,
    REG_RDI___397 = 8,
    REG_RSI___397 = 9,
    REG_RBP___397 = 10,
    REG_RBX___397 = 11,
    REG_RDX___397 = 12,
    REG_RAX___397 = 13,
    REG_RCX___397 = 14,
    REG_RSP___397 = 15,
    REG_RIP___397 = 16,
    REG_EFL___397 = 17,
    REG_CSGSFS___397 = 18,
    REG_ERR___397 = 19,
    REG_TRAPNO___397 = 20,
    REG_OLDMASK___397 = 21,
    REG_CR2___397 = 22
} ;
enum __anonenum_57186863___397 {
    SS_ONSTACK___397 = 1,
    SS_DISABLE___397 = 2
} ;
enum __anonenum_83571709___397 {
    MSG_OOB___397 = 1,
    MSG_PEEK___397 = 2,
    MSG_DONTROUTE___397 = 4,
    MSG_TRYHARD___397 = 4,
    MSG_CTRUNC___397 = 8,
    MSG_PROXY___397 = 16,
    MSG_TRUNC___397 = 32,
    MSG_DONTWAIT___397 = 64,
    MSG_EOR___397 = 128,
    MSG_WAITALL___397 = 256,
    MSG_FIN___397 = 512,
    MSG_SYN___397 = 1024,
    MSG_CONFIRM___397 = 2048,
    MSG_RST___397 = 4096,
    MSG_ERRQUEUE___397 = 8192,
    MSG_NOSIGNAL___397 = 16384,
    MSG_MORE___397 = 32768,
    MSG_WAITFORONE___397 = 65536,
    MSG_BATCH___397 = 262144,
    MSG_ZEROCOPY___397 = 67108864,
    MSG_FASTOPEN___397 = 536870912,
    MSG_CMSG_CLOEXEC___397 = 1073741824
} ;
enum __anonenum_617082774___397 {
    SCM_RIGHTS___397 = 1,
    SCM_CREDENTIALS___397 = 2
} ;
enum __anonenum_606441560___397 {
    SHUT_RD___397 = 0,
    SHUT_WR___397 = 1,
    SHUT_RDWR___397 = 2
} ;
enum __anonenum_681669233___397 {
    IPPROTO_IP___397 = 0,
    IPPROTO_ICMP___397 = 1,
    IPPROTO_IGMP___397 = 2,
    IPPROTO_IPIP___397 = 4,
    IPPROTO_TCP___397 = 6,
    IPPROTO_EGP___397 = 8,
    IPPROTO_PUP___397 = 12,
    IPPROTO_UDP___397 = 17,
    IPPROTO_IDP___397 = 22,
    IPPROTO_TP___397 = 29,
    IPPROTO_DCCP___397 = 33,
    IPPROTO_IPV6___397 = 41,
    IPPROTO_RSVP___397 = 46,
    IPPROTO_GRE___397 = 47,
    IPPROTO_ESP___397 = 50,
    IPPROTO_AH___397 = 51,
    IPPROTO_MTP___397 = 92,
    IPPROTO_BEETPH___397 = 94,
    IPPROTO_ENCAP___397 = 98,
    IPPROTO_PIM___397 = 103,
    IPPROTO_COMP___397 = 108,
    IPPROTO_SCTP___397 = 132,
    IPPROTO_UDPLITE___397 = 136,
    IPPROTO_MPLS___397 = 137,
    IPPROTO_RAW___397 = 255,
    IPPROTO_MAX___397 = 256
} ;
enum __anonenum_218739988___397 {
    IPPROTO_HOPOPTS___397 = 0,
    IPPROTO_ROUTING___397 = 43,
    IPPROTO_FRAGMENT___397 = 44,
    IPPROTO_ICMPV6___397 = 58,
    IPPROTO_NONE___397 = 59,
    IPPROTO_DSTOPTS___397 = 60,
    IPPROTO_MH___397 = 135
} ;
enum __anonenum_662268580___397 {
    IPPORT_ECHO___397 = 7,
    IPPORT_DISCARD___397 = 9,
    IPPORT_SYSTAT___397 = 11,
    IPPORT_DAYTIME___397 = 13,
    IPPORT_NETSTAT___397 = 15,
    IPPORT_FTP___397 = 21,
    IPPORT_TELNET___397 = 23,
    IPPORT_SMTP___397 = 25,
    IPPORT_TIMESERVER___397 = 37,
    IPPORT_NAMESERVER___397 = 42,
    IPPORT_WHOIS___397 = 43,
    IPPORT_MTP___397 = 57,
    IPPORT_TFTP___397 = 69,
    IPPORT_RJE___397 = 77,
    IPPORT_FINGER___397 = 79,
    IPPORT_TTYLINK___397 = 87,
    IPPORT_SUPDUP___397 = 95,
    IPPORT_EXECSERVER___397 = 512,
    IPPORT_LOGINSERVER___397 = 513,
    IPPORT_CMDSERVER___397 = 514,
    IPPORT_EFSSERVER___397 = 520,
    IPPORT_BIFFUDP___397 = 512,
    IPPORT_WHOSERVER___397 = 513,
    IPPORT_ROUTESERVER___397 = 520,
    IPPORT_RESERVED___397 = 1024,
    IPPORT_USERRESERVED___397 = 5000
} ;
enum __anonenum_788308992___397 {
    TCP_ESTABLISHED___397 = 1,
    TCP_SYN_SENT___397 = 2,
    TCP_SYN_RECV___397 = 3,
    TCP_FIN_WAIT1___397 = 4,
    TCP_FIN_WAIT2___397 = 5,
    TCP_TIME_WAIT___397 = 6,
    TCP_CLOSE___397 = 7,
    TCP_CLOSE_WAIT___397 = 8,
    TCP_LAST_ACK___397 = 9,
    TCP_LISTEN___397 = 10,
    TCP_CLOSING___397 = 11
} ;
enum __anonenum_221125648___397 {
    TCP_NO_QUEUE___397 = 0,
    TCP_RECV_QUEUE___397 = 1,
    TCP_SEND_QUEUE___397 = 2,
    TCP_QUEUES_NR___397 = 3
} ;
enum __anonenum_34415463___397 {
    PTHREAD_CREATE_JOINABLE___397 = 0,
    PTHREAD_CREATE_DETACHED___397 = 1
} ;
enum __anonenum_303612439___397 {
    PTHREAD_MUTEX_TIMED_NP___397 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___397 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___397 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___397 = 3,
    PTHREAD_MUTEX_NORMAL___397 = 0,
    PTHREAD_MUTEX_RECURSIVE___397 = 1,
    PTHREAD_MUTEX_ERRORCHECK___397 = 2,
    PTHREAD_MUTEX_DEFAULT___397 = 0,
    PTHREAD_MUTEX_FAST_NP___397 = 0
} ;
enum __anonenum_931900394___397 {
    PTHREAD_MUTEX_STALLED___397 = 0,
    PTHREAD_MUTEX_STALLED_NP___397 = 0,
    PTHREAD_MUTEX_ROBUST___397 = 1,
    PTHREAD_MUTEX_ROBUST_NP___397 = 1
} ;
enum __anonenum_205214487___397 {
    PTHREAD_PRIO_NONE___397 = 0,
    PTHREAD_PRIO_INHERIT___397 = 1,
    PTHREAD_PRIO_PROTECT___397 = 2
} ;
enum __anonenum_25043950___397 {
    PTHREAD_RWLOCK_PREFER_READER_NP___397 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___397 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___397 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___397 = 0
} ;
enum __anonenum_436439511___397 {
    PTHREAD_INHERIT_SCHED___397 = 0,
    PTHREAD_EXPLICIT_SCHED___397 = 1
} ;
enum __anonenum_998661166___397 {
    PTHREAD_SCOPE_SYSTEM___397 = 0,
    PTHREAD_SCOPE_PROCESS___397 = 1
} ;
enum __anonenum_146137331___397 {
    PTHREAD_PROCESS_PRIVATE___397 = 0,
    PTHREAD_PROCESS_SHARED___397 = 1
} ;
enum __anonenum_53396917___397 {
    PTHREAD_CANCEL_ENABLE___397 = 0,
    PTHREAD_CANCEL_DISABLE___397 = 1
} ;
enum __anonenum_904563783___397 {
    PTHREAD_CANCEL_DEFERRED___397 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___397 = 1
} ;
enum __anonenum_672052974___397 {
    SSL_CT_VALIDATION_PERMISSIVE___397 = 0,
    SSL_CT_VALIDATION_STRICT___397 = 1
} ;
enum __anonenum_437032235___398 {
    _PC_LINK_MAX___398 = 0,
    _PC_MAX_CANON___398 = 1,
    _PC_MAX_INPUT___398 = 2,
    _PC_NAME_MAX___398 = 3,
    _PC_PATH_MAX___398 = 4,
    _PC_PIPE_BUF___398 = 5,
    _PC_CHOWN_RESTRICTED___398 = 6,
    _PC_NO_TRUNC___398 = 7,
    _PC_VDISABLE___398 = 8,
    _PC_SYNC_IO___398 = 9,
    _PC_ASYNC_IO___398 = 10,
    _PC_PRIO_IO___398 = 11,
    _PC_SOCK_MAXBUF___398 = 12,
    _PC_FILESIZEBITS___398 = 13,
    _PC_REC_INCR_XFER_SIZE___398 = 14,
    _PC_REC_MAX_XFER_SIZE___398 = 15,
    _PC_REC_MIN_XFER_SIZE___398 = 16,
    _PC_REC_XFER_ALIGN___398 = 17,
    _PC_ALLOC_SIZE_MIN___398 = 18,
    _PC_SYMLINK_MAX___398 = 19,
    _PC_2_SYMLINKS___398 = 20
} ;
enum __anonenum_315186338___398 {
    _SC_ARG_MAX___398 = 0,
    _SC_CHILD_MAX___398 = 1,
    _SC_CLK_TCK___398 = 2,
    _SC_NGROUPS_MAX___398 = 3,
    _SC_OPEN_MAX___398 = 4,
    _SC_STREAM_MAX___398 = 5,
    _SC_TZNAME_MAX___398 = 6,
    _SC_JOB_CONTROL___398 = 7,
    _SC_SAVED_IDS___398 = 8,
    _SC_REALTIME_SIGNALS___398 = 9,
    _SC_PRIORITY_SCHEDULING___398 = 10,
    _SC_TIMERS___398 = 11,
    _SC_ASYNCHRONOUS_IO___398 = 12,
    _SC_PRIORITIZED_IO___398 = 13,
    _SC_SYNCHRONIZED_IO___398 = 14,
    _SC_FSYNC___398 = 15,
    _SC_MAPPED_FILES___398 = 16,
    _SC_MEMLOCK___398 = 17,
    _SC_MEMLOCK_RANGE___398 = 18,
    _SC_MEMORY_PROTECTION___398 = 19,
    _SC_MESSAGE_PASSING___398 = 20,
    _SC_SEMAPHORES___398 = 21,
    _SC_SHARED_MEMORY_OBJECTS___398 = 22,
    _SC_AIO_LISTIO_MAX___398 = 23,
    _SC_AIO_MAX___398 = 24,
    _SC_AIO_PRIO_DELTA_MAX___398 = 25,
    _SC_DELAYTIMER_MAX___398 = 26,
    _SC_MQ_OPEN_MAX___398 = 27,
    _SC_MQ_PRIO_MAX___398 = 28,
    _SC_VERSION___398 = 29,
    _SC_PAGESIZE___398 = 30,
    _SC_RTSIG_MAX___398 = 31,
    _SC_SEM_NSEMS_MAX___398 = 32,
    _SC_SEM_VALUE_MAX___398 = 33,
    _SC_SIGQUEUE_MAX___398 = 34,
    _SC_TIMER_MAX___398 = 35,
    _SC_BC_BASE_MAX___398 = 36,
    _SC_BC_DIM_MAX___398 = 37,
    _SC_BC_SCALE_MAX___398 = 38,
    _SC_BC_STRING_MAX___398 = 39,
    _SC_COLL_WEIGHTS_MAX___398 = 40,
    _SC_EQUIV_CLASS_MAX___398 = 41,
    _SC_EXPR_NEST_MAX___398 = 42,
    _SC_LINE_MAX___398 = 43,
    _SC_RE_DUP_MAX___398 = 44,
    _SC_CHARCLASS_NAME_MAX___398 = 45,
    _SC_2_VERSION___398 = 46,
    _SC_2_C_BIND___398 = 47,
    _SC_2_C_DEV___398 = 48,
    _SC_2_FORT_DEV___398 = 49,
    _SC_2_FORT_RUN___398 = 50,
    _SC_2_SW_DEV___398 = 51,
    _SC_2_LOCALEDEF___398 = 52,
    _SC_PII___398 = 53,
    _SC_PII_XTI___398 = 54,
    _SC_PII_SOCKET___398 = 55,
    _SC_PII_INTERNET___398 = 56,
    _SC_PII_OSI___398 = 57,
    _SC_POLL___398 = 58,
    _SC_SELECT___398 = 59,
    _SC_UIO_MAXIOV___398 = 60,
    _SC_IOV_MAX___398 = 60,
    _SC_PII_INTERNET_STREAM___398 = 61,
    _SC_PII_INTERNET_DGRAM___398 = 62,
    _SC_PII_OSI_COTS___398 = 63,
    _SC_PII_OSI_CLTS___398 = 64,
    _SC_PII_OSI_M___398 = 65,
    _SC_T_IOV_MAX___398 = 66,
    _SC_THREADS___398 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___398 = 68,
    _SC_GETGR_R_SIZE_MAX___398 = 69,
    _SC_GETPW_R_SIZE_MAX___398 = 70,
    _SC_LOGIN_NAME_MAX___398 = 71,
    _SC_TTY_NAME_MAX___398 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___398 = 73,
    _SC_THREAD_KEYS_MAX___398 = 74,
    _SC_THREAD_STACK_MIN___398 = 75,
    _SC_THREAD_THREADS_MAX___398 = 76,
    _SC_THREAD_ATTR_STACKADDR___398 = 77,
    _SC_THREAD_ATTR_STACKSIZE___398 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___398 = 79,
    _SC_THREAD_PRIO_INHERIT___398 = 80,
    _SC_THREAD_PRIO_PROTECT___398 = 81,
    _SC_THREAD_PROCESS_SHARED___398 = 82,
    _SC_NPROCESSORS_CONF___398 = 83,
    _SC_NPROCESSORS_ONLN___398 = 84,
    _SC_PHYS_PAGES___398 = 85,
    _SC_AVPHYS_PAGES___398 = 86,
    _SC_ATEXIT_MAX___398 = 87,
    _SC_PASS_MAX___398 = 88,
    _SC_XOPEN_VERSION___398 = 89,
    _SC_XOPEN_XCU_VERSION___398 = 90,
    _SC_XOPEN_UNIX___398 = 91,
    _SC_XOPEN_CRYPT___398 = 92,
    _SC_XOPEN_ENH_I18N___398 = 93,
    _SC_XOPEN_SHM___398 = 94,
    _SC_2_CHAR_TERM___398 = 95,
    _SC_2_C_VERSION___398 = 96,
    _SC_2_UPE___398 = 97,
    _SC_XOPEN_XPG2___398 = 98,
    _SC_XOPEN_XPG3___398 = 99,
    _SC_XOPEN_XPG4___398 = 100,
    _SC_CHAR_BIT___398 = 101,
    _SC_CHAR_MAX___398 = 102,
    _SC_CHAR_MIN___398 = 103,
    _SC_INT_MAX___398 = 104,
    _SC_INT_MIN___398 = 105,
    _SC_LONG_BIT___398 = 106,
    _SC_WORD_BIT___398 = 107,
    _SC_MB_LEN_MAX___398 = 108,
    _SC_NZERO___398 = 109,
    _SC_SSIZE_MAX___398 = 110,
    _SC_SCHAR_MAX___398 = 111,
    _SC_SCHAR_MIN___398 = 112,
    _SC_SHRT_MAX___398 = 113,
    _SC_SHRT_MIN___398 = 114,
    _SC_UCHAR_MAX___398 = 115,
    _SC_UINT_MAX___398 = 116,
    _SC_ULONG_MAX___398 = 117,
    _SC_USHRT_MAX___398 = 118,
    _SC_NL_ARGMAX___398 = 119,
    _SC_NL_LANGMAX___398 = 120,
    _SC_NL_MSGMAX___398 = 121,
    _SC_NL_NMAX___398 = 122,
    _SC_NL_SETMAX___398 = 123,
    _SC_NL_TEXTMAX___398 = 124,
    _SC_XBS5_ILP32_OFF32___398 = 125,
    _SC_XBS5_ILP32_OFFBIG___398 = 126,
    _SC_XBS5_LP64_OFF64___398 = 127,
    _SC_XBS5_LPBIG_OFFBIG___398 = 128,
    _SC_XOPEN_LEGACY___398 = 129,
    _SC_XOPEN_REALTIME___398 = 130,
    _SC_XOPEN_REALTIME_THREADS___398 = 131,
    _SC_ADVISORY_INFO___398 = 132,
    _SC_BARRIERS___398 = 133,
    _SC_BASE___398 = 134,
    _SC_C_LANG_SUPPORT___398 = 135,
    _SC_C_LANG_SUPPORT_R___398 = 136,
    _SC_CLOCK_SELECTION___398 = 137,
    _SC_CPUTIME___398 = 138,
    _SC_THREAD_CPUTIME___398 = 139,
    _SC_DEVICE_IO___398 = 140,
    _SC_DEVICE_SPECIFIC___398 = 141,
    _SC_DEVICE_SPECIFIC_R___398 = 142,
    _SC_FD_MGMT___398 = 143,
    _SC_FIFO___398 = 144,
    _SC_PIPE___398 = 145,
    _SC_FILE_ATTRIBUTES___398 = 146,
    _SC_FILE_LOCKING___398 = 147,
    _SC_FILE_SYSTEM___398 = 148,
    _SC_MONOTONIC_CLOCK___398 = 149,
    _SC_MULTI_PROCESS___398 = 150,
    _SC_SINGLE_PROCESS___398 = 151,
    _SC_NETWORKING___398 = 152,
    _SC_READER_WRITER_LOCKS___398 = 153,
    _SC_SPIN_LOCKS___398 = 154,
    _SC_REGEXP___398 = 155,
    _SC_REGEX_VERSION___398 = 156,
    _SC_SHELL___398 = 157,
    _SC_SIGNALS___398 = 158,
    _SC_SPAWN___398 = 159,
    _SC_SPORADIC_SERVER___398 = 160,
    _SC_THREAD_SPORADIC_SERVER___398 = 161,
    _SC_SYSTEM_DATABASE___398 = 162,
    _SC_SYSTEM_DATABASE_R___398 = 163,
    _SC_TIMEOUTS___398 = 164,
    _SC_TYPED_MEMORY_OBJECTS___398 = 165,
    _SC_USER_GROUPS___398 = 166,
    _SC_USER_GROUPS_R___398 = 167,
    _SC_2_PBS___398 = 168,
    _SC_2_PBS_ACCOUNTING___398 = 169,
    _SC_2_PBS_LOCATE___398 = 170,
    _SC_2_PBS_MESSAGE___398 = 171,
    _SC_2_PBS_TRACK___398 = 172,
    _SC_SYMLOOP_MAX___398 = 173,
    _SC_STREAMS___398 = 174,
    _SC_2_PBS_CHECKPOINT___398 = 175,
    _SC_V6_ILP32_OFF32___398 = 176,
    _SC_V6_ILP32_OFFBIG___398 = 177,
    _SC_V6_LP64_OFF64___398 = 178,
    _SC_V6_LPBIG_OFFBIG___398 = 179,
    _SC_HOST_NAME_MAX___398 = 180,
    _SC_TRACE___398 = 181,
    _SC_TRACE_EVENT_FILTER___398 = 182,
    _SC_TRACE_INHERIT___398 = 183,
    _SC_TRACE_LOG___398 = 184,
    _SC_LEVEL1_ICACHE_SIZE___398 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___398 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___398 = 187,
    _SC_LEVEL1_DCACHE_SIZE___398 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___398 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___398 = 190,
    _SC_LEVEL2_CACHE_SIZE___398 = 191,
    _SC_LEVEL2_CACHE_ASSOC___398 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___398 = 193,
    _SC_LEVEL3_CACHE_SIZE___398 = 194,
    _SC_LEVEL3_CACHE_ASSOC___398 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___398 = 196,
    _SC_LEVEL4_CACHE_SIZE___398 = 197,
    _SC_LEVEL4_CACHE_ASSOC___398 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___398 = 199,
    _SC_IPV6___398 = 235,
    _SC_RAW_SOCKETS___398 = 236,
    _SC_V7_ILP32_OFF32___398 = 237,
    _SC_V7_ILP32_OFFBIG___398 = 238,
    _SC_V7_LP64_OFF64___398 = 239,
    _SC_V7_LPBIG_OFFBIG___398 = 240,
    _SC_SS_REPL_MAX___398 = 241,
    _SC_TRACE_EVENT_NAME_MAX___398 = 242,
    _SC_TRACE_NAME_MAX___398 = 243,
    _SC_TRACE_SYS_MAX___398 = 244,
    _SC_TRACE_USER_EVENT_MAX___398 = 245,
    _SC_XOPEN_STREAMS___398 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___398 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___398 = 248
} ;
enum __anonenum_875524036___398 {
    _CS_PATH___398 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___398 = 1,
    _CS_GNU_LIBC_VERSION___398 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___398 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___398 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___398 = 5,
    _CS_LFS_CFLAGS___398 = 1000,
    _CS_LFS_LDFLAGS___398 = 1001,
    _CS_LFS_LIBS___398 = 1002,
    _CS_LFS_LINTFLAGS___398 = 1003,
    _CS_LFS64_CFLAGS___398 = 1004,
    _CS_LFS64_LDFLAGS___398 = 1005,
    _CS_LFS64_LIBS___398 = 1006,
    _CS_LFS64_LINTFLAGS___398 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___398 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___398 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___398 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___398 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___398 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___398 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___398 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___398 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___398 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___398 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___398 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___398 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___398 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___398 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___398 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___398 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___398 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___398 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___398 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___398 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___398 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___398 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___398 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___398 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___398 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___398 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___398 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___398 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___398 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___398 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___398 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___398 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___398 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___398 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___398 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___398 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___398 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___398 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___398 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___398 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___398 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___398 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___398 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___398 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___398 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___398 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___398 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___398 = 1147,
    _CS_V6_ENV___398 = 1148,
    _CS_V7_ENV___398 = 1149
} ;
enum __anonenum_513775621___398 {
    DT_UNKNOWN___398 = 0,
    DT_FIFO___398 = 1,
    DT_CHR___398 = 2,
    DT_DIR___398 = 4,
    DT_BLK___398 = 6,
    DT_REG___398 = 8,
    DT_LNK___398 = 10,
    DT_SOCK___398 = 12,
    DT_WHT___398 = 14
} ;
enum __anonenum_77002343___398 {
    SI_ASYNCNL___398 = -60,
    SI_TKILL___398 = -6,
    SI_SIGIO___398 = -5,
    SI_ASYNCIO___398 = -4,
    SI_MESGQ___398 = -3,
    SI_TIMER___398 = -2,
    SI_QUEUE___398 = -1,
    SI_USER___398 = 0,
    SI_KERNEL___398 = 128
} ;
enum __anonenum_131038172___398 {
    ILL_ILLOPC___398 = 1,
    ILL_ILLOPN___398 = 2,
    ILL_ILLADR___398 = 3,
    ILL_ILLTRP___398 = 4,
    ILL_PRVOPC___398 = 5,
    ILL_PRVREG___398 = 6,
    ILL_COPROC___398 = 7,
    ILL_BADSTK___398 = 8
} ;
enum __anonenum_452038093___398 {
    FPE_INTDIV___398 = 1,
    FPE_INTOVF___398 = 2,
    FPE_FLTDIV___398 = 3,
    FPE_FLTOVF___398 = 4,
    FPE_FLTUND___398 = 5,
    FPE_FLTRES___398 = 6,
    FPE_FLTINV___398 = 7,
    FPE_FLTSUB___398 = 8
} ;
enum __anonenum_30976155___398 {
    SEGV_MAPERR___398 = 1,
    SEGV_ACCERR___398 = 2,
    SEGV_BNDERR___398 = 3,
    SEGV_PKUERR___398 = 4
} ;
enum __anonenum_1036286214___398 {
    BUS_ADRALN___398 = 1,
    BUS_ADRERR___398 = 2,
    BUS_OBJERR___398 = 3,
    BUS_MCEERR_AR___398 = 4,
    BUS_MCEERR_AO___398 = 5
} ;
enum __anonenum_493465559___398 {
    TRAP_BRKPT___398 = 1,
    TRAP_TRACE___398 = 2
} ;
enum __anonenum_23175539___398 {
    CLD_EXITED___398 = 1,
    CLD_KILLED___398 = 2,
    CLD_DUMPED___398 = 3,
    CLD_TRAPPED___398 = 4,
    CLD_STOPPED___398 = 5,
    CLD_CONTINUED___398 = 6
} ;
enum __anonenum_111643124___398 {
    POLL_IN___398 = 1,
    POLL_OUT___398 = 2,
    POLL_MSG___398 = 3,
    POLL_ERR___398 = 4,
    POLL_PRI___398 = 5,
    POLL_HUP___398 = 6
} ;
enum __anonenum_852341087___398 {
    SIGEV_SIGNAL___398 = 0,
    SIGEV_NONE___398 = 1,
    SIGEV_THREAD___398 = 2,
    SIGEV_THREAD_ID___398 = 4
} ;
enum __anonenum_451154152___398 {
    REG_R8___398 = 0,
    REG_R9___398 = 1,
    REG_R10___398 = 2,
    REG_R11___398 = 3,
    REG_R12___398 = 4,
    REG_R13___398 = 5,
    REG_R14___398 = 6,
    REG_R15___398 = 7,
    REG_RDI___398 = 8,
    REG_RSI___398 = 9,
    REG_RBP___398 = 10,
    REG_RBX___398 = 11,
    REG_RDX___398 = 12,
    REG_RAX___398 = 13,
    REG_RCX___398 = 14,
    REG_RSP___398 = 15,
    REG_RIP___398 = 16,
    REG_EFL___398 = 17,
    REG_CSGSFS___398 = 18,
    REG_ERR___398 = 19,
    REG_TRAPNO___398 = 20,
    REG_OLDMASK___398 = 21,
    REG_CR2___398 = 22
} ;
enum __anonenum_57186863___398 {
    SS_ONSTACK___398 = 1,
    SS_DISABLE___398 = 2
} ;
enum __anonenum_83571709___398 {
    MSG_OOB___398 = 1,
    MSG_PEEK___398 = 2,
    MSG_DONTROUTE___398 = 4,
    MSG_TRYHARD___398 = 4,
    MSG_CTRUNC___398 = 8,
    MSG_PROXY___398 = 16,
    MSG_TRUNC___398 = 32,
    MSG_DONTWAIT___398 = 64,
    MSG_EOR___398 = 128,
    MSG_WAITALL___398 = 256,
    MSG_FIN___398 = 512,
    MSG_SYN___398 = 1024,
    MSG_CONFIRM___398 = 2048,
    MSG_RST___398 = 4096,
    MSG_ERRQUEUE___398 = 8192,
    MSG_NOSIGNAL___398 = 16384,
    MSG_MORE___398 = 32768,
    MSG_WAITFORONE___398 = 65536,
    MSG_BATCH___398 = 262144,
    MSG_ZEROCOPY___398 = 67108864,
    MSG_FASTOPEN___398 = 536870912,
    MSG_CMSG_CLOEXEC___398 = 1073741824
} ;
enum __anonenum_617082774___398 {
    SCM_RIGHTS___398 = 1,
    SCM_CREDENTIALS___398 = 2
} ;
enum __anonenum_606441560___398 {
    SHUT_RD___398 = 0,
    SHUT_WR___398 = 1,
    SHUT_RDWR___398 = 2
} ;
enum __anonenum_681669233___398 {
    IPPROTO_IP___398 = 0,
    IPPROTO_ICMP___398 = 1,
    IPPROTO_IGMP___398 = 2,
    IPPROTO_IPIP___398 = 4,
    IPPROTO_TCP___398 = 6,
    IPPROTO_EGP___398 = 8,
    IPPROTO_PUP___398 = 12,
    IPPROTO_UDP___398 = 17,
    IPPROTO_IDP___398 = 22,
    IPPROTO_TP___398 = 29,
    IPPROTO_DCCP___398 = 33,
    IPPROTO_IPV6___398 = 41,
    IPPROTO_RSVP___398 = 46,
    IPPROTO_GRE___398 = 47,
    IPPROTO_ESP___398 = 50,
    IPPROTO_AH___398 = 51,
    IPPROTO_MTP___398 = 92,
    IPPROTO_BEETPH___398 = 94,
    IPPROTO_ENCAP___398 = 98,
    IPPROTO_PIM___398 = 103,
    IPPROTO_COMP___398 = 108,
    IPPROTO_SCTP___398 = 132,
    IPPROTO_UDPLITE___398 = 136,
    IPPROTO_MPLS___398 = 137,
    IPPROTO_RAW___398 = 255,
    IPPROTO_MAX___398 = 256
} ;
enum __anonenum_218739988___398 {
    IPPROTO_HOPOPTS___398 = 0,
    IPPROTO_ROUTING___398 = 43,
    IPPROTO_FRAGMENT___398 = 44,
    IPPROTO_ICMPV6___398 = 58,
    IPPROTO_NONE___398 = 59,
    IPPROTO_DSTOPTS___398 = 60,
    IPPROTO_MH___398 = 135
} ;
enum __anonenum_662268580___398 {
    IPPORT_ECHO___398 = 7,
    IPPORT_DISCARD___398 = 9,
    IPPORT_SYSTAT___398 = 11,
    IPPORT_DAYTIME___398 = 13,
    IPPORT_NETSTAT___398 = 15,
    IPPORT_FTP___398 = 21,
    IPPORT_TELNET___398 = 23,
    IPPORT_SMTP___398 = 25,
    IPPORT_TIMESERVER___398 = 37,
    IPPORT_NAMESERVER___398 = 42,
    IPPORT_WHOIS___398 = 43,
    IPPORT_MTP___398 = 57,
    IPPORT_TFTP___398 = 69,
    IPPORT_RJE___398 = 77,
    IPPORT_FINGER___398 = 79,
    IPPORT_TTYLINK___398 = 87,
    IPPORT_SUPDUP___398 = 95,
    IPPORT_EXECSERVER___398 = 512,
    IPPORT_LOGINSERVER___398 = 513,
    IPPORT_CMDSERVER___398 = 514,
    IPPORT_EFSSERVER___398 = 520,
    IPPORT_BIFFUDP___398 = 512,
    IPPORT_WHOSERVER___398 = 513,
    IPPORT_ROUTESERVER___398 = 520,
    IPPORT_RESERVED___398 = 1024,
    IPPORT_USERRESERVED___398 = 5000
} ;
enum __anonenum_788308992___398 {
    TCP_ESTABLISHED___398 = 1,
    TCP_SYN_SENT___398 = 2,
    TCP_SYN_RECV___398 = 3,
    TCP_FIN_WAIT1___398 = 4,
    TCP_FIN_WAIT2___398 = 5,
    TCP_TIME_WAIT___398 = 6,
    TCP_CLOSE___398 = 7,
    TCP_CLOSE_WAIT___398 = 8,
    TCP_LAST_ACK___398 = 9,
    TCP_LISTEN___398 = 10,
    TCP_CLOSING___398 = 11
} ;
enum __anonenum_221125648___398 {
    TCP_NO_QUEUE___398 = 0,
    TCP_RECV_QUEUE___398 = 1,
    TCP_SEND_QUEUE___398 = 2,
    TCP_QUEUES_NR___398 = 3
} ;
enum __anonenum_34415463___398 {
    PTHREAD_CREATE_JOINABLE___398 = 0,
    PTHREAD_CREATE_DETACHED___398 = 1
} ;
enum __anonenum_303612439___398 {
    PTHREAD_MUTEX_TIMED_NP___398 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___398 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___398 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___398 = 3,
    PTHREAD_MUTEX_NORMAL___398 = 0,
    PTHREAD_MUTEX_RECURSIVE___398 = 1,
    PTHREAD_MUTEX_ERRORCHECK___398 = 2,
    PTHREAD_MUTEX_DEFAULT___398 = 0,
    PTHREAD_MUTEX_FAST_NP___398 = 0
} ;
enum __anonenum_931900394___398 {
    PTHREAD_MUTEX_STALLED___398 = 0,
    PTHREAD_MUTEX_STALLED_NP___398 = 0,
    PTHREAD_MUTEX_ROBUST___398 = 1,
    PTHREAD_MUTEX_ROBUST_NP___398 = 1
} ;
enum __anonenum_205214487___398 {
    PTHREAD_PRIO_NONE___398 = 0,
    PTHREAD_PRIO_INHERIT___398 = 1,
    PTHREAD_PRIO_PROTECT___398 = 2
} ;
enum __anonenum_25043950___398 {
    PTHREAD_RWLOCK_PREFER_READER_NP___398 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___398 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___398 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___398 = 0
} ;
enum __anonenum_436439511___398 {
    PTHREAD_INHERIT_SCHED___398 = 0,
    PTHREAD_EXPLICIT_SCHED___398 = 1
} ;
enum __anonenum_998661166___398 {
    PTHREAD_SCOPE_SYSTEM___398 = 0,
    PTHREAD_SCOPE_PROCESS___398 = 1
} ;
enum __anonenum_146137331___398 {
    PTHREAD_PROCESS_PRIVATE___398 = 0,
    PTHREAD_PROCESS_SHARED___398 = 1
} ;
enum __anonenum_53396917___398 {
    PTHREAD_CANCEL_ENABLE___398 = 0,
    PTHREAD_CANCEL_DISABLE___398 = 1
} ;
enum __anonenum_904563783___398 {
    PTHREAD_CANCEL_DEFERRED___398 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___398 = 1
} ;
enum __anonenum_672052974___398 {
    SSL_CT_VALIDATION_PERMISSIVE___398 = 0,
    SSL_CT_VALIDATION_STRICT___398 = 1
} ;
struct testcase {
   char *add ;
   char *del ;
   int error_code ;
};
enum __anonenum_437032235___399 {
    _PC_LINK_MAX___399 = 0,
    _PC_MAX_CANON___399 = 1,
    _PC_MAX_INPUT___399 = 2,
    _PC_NAME_MAX___399 = 3,
    _PC_PATH_MAX___399 = 4,
    _PC_PIPE_BUF___399 = 5,
    _PC_CHOWN_RESTRICTED___399 = 6,
    _PC_NO_TRUNC___399 = 7,
    _PC_VDISABLE___399 = 8,
    _PC_SYNC_IO___399 = 9,
    _PC_ASYNC_IO___399 = 10,
    _PC_PRIO_IO___399 = 11,
    _PC_SOCK_MAXBUF___399 = 12,
    _PC_FILESIZEBITS___399 = 13,
    _PC_REC_INCR_XFER_SIZE___399 = 14,
    _PC_REC_MAX_XFER_SIZE___399 = 15,
    _PC_REC_MIN_XFER_SIZE___399 = 16,
    _PC_REC_XFER_ALIGN___399 = 17,
    _PC_ALLOC_SIZE_MIN___399 = 18,
    _PC_SYMLINK_MAX___399 = 19,
    _PC_2_SYMLINKS___399 = 20
} ;
enum __anonenum_315186338___399 {
    _SC_ARG_MAX___399 = 0,
    _SC_CHILD_MAX___399 = 1,
    _SC_CLK_TCK___399 = 2,
    _SC_NGROUPS_MAX___399 = 3,
    _SC_OPEN_MAX___399 = 4,
    _SC_STREAM_MAX___399 = 5,
    _SC_TZNAME_MAX___399 = 6,
    _SC_JOB_CONTROL___399 = 7,
    _SC_SAVED_IDS___399 = 8,
    _SC_REALTIME_SIGNALS___399 = 9,
    _SC_PRIORITY_SCHEDULING___399 = 10,
    _SC_TIMERS___399 = 11,
    _SC_ASYNCHRONOUS_IO___399 = 12,
    _SC_PRIORITIZED_IO___399 = 13,
    _SC_SYNCHRONIZED_IO___399 = 14,
    _SC_FSYNC___399 = 15,
    _SC_MAPPED_FILES___399 = 16,
    _SC_MEMLOCK___399 = 17,
    _SC_MEMLOCK_RANGE___399 = 18,
    _SC_MEMORY_PROTECTION___399 = 19,
    _SC_MESSAGE_PASSING___399 = 20,
    _SC_SEMAPHORES___399 = 21,
    _SC_SHARED_MEMORY_OBJECTS___399 = 22,
    _SC_AIO_LISTIO_MAX___399 = 23,
    _SC_AIO_MAX___399 = 24,
    _SC_AIO_PRIO_DELTA_MAX___399 = 25,
    _SC_DELAYTIMER_MAX___399 = 26,
    _SC_MQ_OPEN_MAX___399 = 27,
    _SC_MQ_PRIO_MAX___399 = 28,
    _SC_VERSION___399 = 29,
    _SC_PAGESIZE___399 = 30,
    _SC_RTSIG_MAX___399 = 31,
    _SC_SEM_NSEMS_MAX___399 = 32,
    _SC_SEM_VALUE_MAX___399 = 33,
    _SC_SIGQUEUE_MAX___399 = 34,
    _SC_TIMER_MAX___399 = 35,
    _SC_BC_BASE_MAX___399 = 36,
    _SC_BC_DIM_MAX___399 = 37,
    _SC_BC_SCALE_MAX___399 = 38,
    _SC_BC_STRING_MAX___399 = 39,
    _SC_COLL_WEIGHTS_MAX___399 = 40,
    _SC_EQUIV_CLASS_MAX___399 = 41,
    _SC_EXPR_NEST_MAX___399 = 42,
    _SC_LINE_MAX___399 = 43,
    _SC_RE_DUP_MAX___399 = 44,
    _SC_CHARCLASS_NAME_MAX___399 = 45,
    _SC_2_VERSION___399 = 46,
    _SC_2_C_BIND___399 = 47,
    _SC_2_C_DEV___399 = 48,
    _SC_2_FORT_DEV___399 = 49,
    _SC_2_FORT_RUN___399 = 50,
    _SC_2_SW_DEV___399 = 51,
    _SC_2_LOCALEDEF___399 = 52,
    _SC_PII___399 = 53,
    _SC_PII_XTI___399 = 54,
    _SC_PII_SOCKET___399 = 55,
    _SC_PII_INTERNET___399 = 56,
    _SC_PII_OSI___399 = 57,
    _SC_POLL___399 = 58,
    _SC_SELECT___399 = 59,
    _SC_UIO_MAXIOV___399 = 60,
    _SC_IOV_MAX___399 = 60,
    _SC_PII_INTERNET_STREAM___399 = 61,
    _SC_PII_INTERNET_DGRAM___399 = 62,
    _SC_PII_OSI_COTS___399 = 63,
    _SC_PII_OSI_CLTS___399 = 64,
    _SC_PII_OSI_M___399 = 65,
    _SC_T_IOV_MAX___399 = 66,
    _SC_THREADS___399 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___399 = 68,
    _SC_GETGR_R_SIZE_MAX___399 = 69,
    _SC_GETPW_R_SIZE_MAX___399 = 70,
    _SC_LOGIN_NAME_MAX___399 = 71,
    _SC_TTY_NAME_MAX___399 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___399 = 73,
    _SC_THREAD_KEYS_MAX___399 = 74,
    _SC_THREAD_STACK_MIN___399 = 75,
    _SC_THREAD_THREADS_MAX___399 = 76,
    _SC_THREAD_ATTR_STACKADDR___399 = 77,
    _SC_THREAD_ATTR_STACKSIZE___399 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___399 = 79,
    _SC_THREAD_PRIO_INHERIT___399 = 80,
    _SC_THREAD_PRIO_PROTECT___399 = 81,
    _SC_THREAD_PROCESS_SHARED___399 = 82,
    _SC_NPROCESSORS_CONF___399 = 83,
    _SC_NPROCESSORS_ONLN___399 = 84,
    _SC_PHYS_PAGES___399 = 85,
    _SC_AVPHYS_PAGES___399 = 86,
    _SC_ATEXIT_MAX___399 = 87,
    _SC_PASS_MAX___399 = 88,
    _SC_XOPEN_VERSION___399 = 89,
    _SC_XOPEN_XCU_VERSION___399 = 90,
    _SC_XOPEN_UNIX___399 = 91,
    _SC_XOPEN_CRYPT___399 = 92,
    _SC_XOPEN_ENH_I18N___399 = 93,
    _SC_XOPEN_SHM___399 = 94,
    _SC_2_CHAR_TERM___399 = 95,
    _SC_2_C_VERSION___399 = 96,
    _SC_2_UPE___399 = 97,
    _SC_XOPEN_XPG2___399 = 98,
    _SC_XOPEN_XPG3___399 = 99,
    _SC_XOPEN_XPG4___399 = 100,
    _SC_CHAR_BIT___399 = 101,
    _SC_CHAR_MAX___399 = 102,
    _SC_CHAR_MIN___399 = 103,
    _SC_INT_MAX___399 = 104,
    _SC_INT_MIN___399 = 105,
    _SC_LONG_BIT___399 = 106,
    _SC_WORD_BIT___399 = 107,
    _SC_MB_LEN_MAX___399 = 108,
    _SC_NZERO___399 = 109,
    _SC_SSIZE_MAX___399 = 110,
    _SC_SCHAR_MAX___399 = 111,
    _SC_SCHAR_MIN___399 = 112,
    _SC_SHRT_MAX___399 = 113,
    _SC_SHRT_MIN___399 = 114,
    _SC_UCHAR_MAX___399 = 115,
    _SC_UINT_MAX___399 = 116,
    _SC_ULONG_MAX___399 = 117,
    _SC_USHRT_MAX___399 = 118,
    _SC_NL_ARGMAX___399 = 119,
    _SC_NL_LANGMAX___399 = 120,
    _SC_NL_MSGMAX___399 = 121,
    _SC_NL_NMAX___399 = 122,
    _SC_NL_SETMAX___399 = 123,
    _SC_NL_TEXTMAX___399 = 124,
    _SC_XBS5_ILP32_OFF32___399 = 125,
    _SC_XBS5_ILP32_OFFBIG___399 = 126,
    _SC_XBS5_LP64_OFF64___399 = 127,
    _SC_XBS5_LPBIG_OFFBIG___399 = 128,
    _SC_XOPEN_LEGACY___399 = 129,
    _SC_XOPEN_REALTIME___399 = 130,
    _SC_XOPEN_REALTIME_THREADS___399 = 131,
    _SC_ADVISORY_INFO___399 = 132,
    _SC_BARRIERS___399 = 133,
    _SC_BASE___399 = 134,
    _SC_C_LANG_SUPPORT___399 = 135,
    _SC_C_LANG_SUPPORT_R___399 = 136,
    _SC_CLOCK_SELECTION___399 = 137,
    _SC_CPUTIME___399 = 138,
    _SC_THREAD_CPUTIME___399 = 139,
    _SC_DEVICE_IO___399 = 140,
    _SC_DEVICE_SPECIFIC___399 = 141,
    _SC_DEVICE_SPECIFIC_R___399 = 142,
    _SC_FD_MGMT___399 = 143,
    _SC_FIFO___399 = 144,
    _SC_PIPE___399 = 145,
    _SC_FILE_ATTRIBUTES___399 = 146,
    _SC_FILE_LOCKING___399 = 147,
    _SC_FILE_SYSTEM___399 = 148,
    _SC_MONOTONIC_CLOCK___399 = 149,
    _SC_MULTI_PROCESS___399 = 150,
    _SC_SINGLE_PROCESS___399 = 151,
    _SC_NETWORKING___399 = 152,
    _SC_READER_WRITER_LOCKS___399 = 153,
    _SC_SPIN_LOCKS___399 = 154,
    _SC_REGEXP___399 = 155,
    _SC_REGEX_VERSION___399 = 156,
    _SC_SHELL___399 = 157,
    _SC_SIGNALS___399 = 158,
    _SC_SPAWN___399 = 159,
    _SC_SPORADIC_SERVER___399 = 160,
    _SC_THREAD_SPORADIC_SERVER___399 = 161,
    _SC_SYSTEM_DATABASE___399 = 162,
    _SC_SYSTEM_DATABASE_R___399 = 163,
    _SC_TIMEOUTS___399 = 164,
    _SC_TYPED_MEMORY_OBJECTS___399 = 165,
    _SC_USER_GROUPS___399 = 166,
    _SC_USER_GROUPS_R___399 = 167,
    _SC_2_PBS___399 = 168,
    _SC_2_PBS_ACCOUNTING___399 = 169,
    _SC_2_PBS_LOCATE___399 = 170,
    _SC_2_PBS_MESSAGE___399 = 171,
    _SC_2_PBS_TRACK___399 = 172,
    _SC_SYMLOOP_MAX___399 = 173,
    _SC_STREAMS___399 = 174,
    _SC_2_PBS_CHECKPOINT___399 = 175,
    _SC_V6_ILP32_OFF32___399 = 176,
    _SC_V6_ILP32_OFFBIG___399 = 177,
    _SC_V6_LP64_OFF64___399 = 178,
    _SC_V6_LPBIG_OFFBIG___399 = 179,
    _SC_HOST_NAME_MAX___399 = 180,
    _SC_TRACE___399 = 181,
    _SC_TRACE_EVENT_FILTER___399 = 182,
    _SC_TRACE_INHERIT___399 = 183,
    _SC_TRACE_LOG___399 = 184,
    _SC_LEVEL1_ICACHE_SIZE___399 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___399 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___399 = 187,
    _SC_LEVEL1_DCACHE_SIZE___399 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___399 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___399 = 190,
    _SC_LEVEL2_CACHE_SIZE___399 = 191,
    _SC_LEVEL2_CACHE_ASSOC___399 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___399 = 193,
    _SC_LEVEL3_CACHE_SIZE___399 = 194,
    _SC_LEVEL3_CACHE_ASSOC___399 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___399 = 196,
    _SC_LEVEL4_CACHE_SIZE___399 = 197,
    _SC_LEVEL4_CACHE_ASSOC___399 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___399 = 199,
    _SC_IPV6___399 = 235,
    _SC_RAW_SOCKETS___399 = 236,
    _SC_V7_ILP32_OFF32___399 = 237,
    _SC_V7_ILP32_OFFBIG___399 = 238,
    _SC_V7_LP64_OFF64___399 = 239,
    _SC_V7_LPBIG_OFFBIG___399 = 240,
    _SC_SS_REPL_MAX___399 = 241,
    _SC_TRACE_EVENT_NAME_MAX___399 = 242,
    _SC_TRACE_NAME_MAX___399 = 243,
    _SC_TRACE_SYS_MAX___399 = 244,
    _SC_TRACE_USER_EVENT_MAX___399 = 245,
    _SC_XOPEN_STREAMS___399 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___399 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___399 = 248
} ;
enum __anonenum_875524036___399 {
    _CS_PATH___399 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___399 = 1,
    _CS_GNU_LIBC_VERSION___399 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___399 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___399 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___399 = 5,
    _CS_LFS_CFLAGS___399 = 1000,
    _CS_LFS_LDFLAGS___399 = 1001,
    _CS_LFS_LIBS___399 = 1002,
    _CS_LFS_LINTFLAGS___399 = 1003,
    _CS_LFS64_CFLAGS___399 = 1004,
    _CS_LFS64_LDFLAGS___399 = 1005,
    _CS_LFS64_LIBS___399 = 1006,
    _CS_LFS64_LINTFLAGS___399 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___399 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___399 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___399 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___399 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___399 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___399 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___399 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___399 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___399 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___399 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___399 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___399 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___399 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___399 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___399 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___399 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___399 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___399 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___399 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___399 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___399 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___399 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___399 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___399 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___399 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___399 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___399 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___399 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___399 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___399 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___399 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___399 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___399 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___399 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___399 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___399 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___399 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___399 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___399 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___399 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___399 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___399 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___399 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___399 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___399 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___399 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___399 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___399 = 1147,
    _CS_V6_ENV___399 = 1148,
    _CS_V7_ENV___399 = 1149
} ;
enum __anonenum_513775621___399 {
    DT_UNKNOWN___399 = 0,
    DT_FIFO___399 = 1,
    DT_CHR___399 = 2,
    DT_DIR___399 = 4,
    DT_BLK___399 = 6,
    DT_REG___399 = 8,
    DT_LNK___399 = 10,
    DT_SOCK___399 = 12,
    DT_WHT___399 = 14
} ;
enum __anonenum_77002343___399 {
    SI_ASYNCNL___399 = -60,
    SI_TKILL___399 = -6,
    SI_SIGIO___399 = -5,
    SI_ASYNCIO___399 = -4,
    SI_MESGQ___399 = -3,
    SI_TIMER___399 = -2,
    SI_QUEUE___399 = -1,
    SI_USER___399 = 0,
    SI_KERNEL___399 = 128
} ;
enum __anonenum_131038172___399 {
    ILL_ILLOPC___399 = 1,
    ILL_ILLOPN___399 = 2,
    ILL_ILLADR___399 = 3,
    ILL_ILLTRP___399 = 4,
    ILL_PRVOPC___399 = 5,
    ILL_PRVREG___399 = 6,
    ILL_COPROC___399 = 7,
    ILL_BADSTK___399 = 8
} ;
enum __anonenum_452038093___399 {
    FPE_INTDIV___399 = 1,
    FPE_INTOVF___399 = 2,
    FPE_FLTDIV___399 = 3,
    FPE_FLTOVF___399 = 4,
    FPE_FLTUND___399 = 5,
    FPE_FLTRES___399 = 6,
    FPE_FLTINV___399 = 7,
    FPE_FLTSUB___399 = 8
} ;
enum __anonenum_30976155___399 {
    SEGV_MAPERR___399 = 1,
    SEGV_ACCERR___399 = 2,
    SEGV_BNDERR___399 = 3,
    SEGV_PKUERR___399 = 4
} ;
enum __anonenum_1036286214___399 {
    BUS_ADRALN___399 = 1,
    BUS_ADRERR___399 = 2,
    BUS_OBJERR___399 = 3,
    BUS_MCEERR_AR___399 = 4,
    BUS_MCEERR_AO___399 = 5
} ;
enum __anonenum_493465559___399 {
    TRAP_BRKPT___399 = 1,
    TRAP_TRACE___399 = 2
} ;
enum __anonenum_23175539___399 {
    CLD_EXITED___399 = 1,
    CLD_KILLED___399 = 2,
    CLD_DUMPED___399 = 3,
    CLD_TRAPPED___399 = 4,
    CLD_STOPPED___399 = 5,
    CLD_CONTINUED___399 = 6
} ;
enum __anonenum_111643124___399 {
    POLL_IN___399 = 1,
    POLL_OUT___399 = 2,
    POLL_MSG___399 = 3,
    POLL_ERR___399 = 4,
    POLL_PRI___399 = 5,
    POLL_HUP___399 = 6
} ;
enum __anonenum_852341087___399 {
    SIGEV_SIGNAL___399 = 0,
    SIGEV_NONE___399 = 1,
    SIGEV_THREAD___399 = 2,
    SIGEV_THREAD_ID___399 = 4
} ;
enum __anonenum_451154152___399 {
    REG_R8___399 = 0,
    REG_R9___399 = 1,
    REG_R10___399 = 2,
    REG_R11___399 = 3,
    REG_R12___399 = 4,
    REG_R13___399 = 5,
    REG_R14___399 = 6,
    REG_R15___399 = 7,
    REG_RDI___399 = 8,
    REG_RSI___399 = 9,
    REG_RBP___399 = 10,
    REG_RBX___399 = 11,
    REG_RDX___399 = 12,
    REG_RAX___399 = 13,
    REG_RCX___399 = 14,
    REG_RSP___399 = 15,
    REG_RIP___399 = 16,
    REG_EFL___399 = 17,
    REG_CSGSFS___399 = 18,
    REG_ERR___399 = 19,
    REG_TRAPNO___399 = 20,
    REG_OLDMASK___399 = 21,
    REG_CR2___399 = 22
} ;
enum __anonenum_57186863___399 {
    SS_ONSTACK___399 = 1,
    SS_DISABLE___399 = 2
} ;
enum __anonenum_83571709___399 {
    MSG_OOB___399 = 1,
    MSG_PEEK___399 = 2,
    MSG_DONTROUTE___399 = 4,
    MSG_TRYHARD___399 = 4,
    MSG_CTRUNC___399 = 8,
    MSG_PROXY___399 = 16,
    MSG_TRUNC___399 = 32,
    MSG_DONTWAIT___399 = 64,
    MSG_EOR___399 = 128,
    MSG_WAITALL___399 = 256,
    MSG_FIN___399 = 512,
    MSG_SYN___399 = 1024,
    MSG_CONFIRM___399 = 2048,
    MSG_RST___399 = 4096,
    MSG_ERRQUEUE___399 = 8192,
    MSG_NOSIGNAL___399 = 16384,
    MSG_MORE___399 = 32768,
    MSG_WAITFORONE___399 = 65536,
    MSG_BATCH___399 = 262144,
    MSG_ZEROCOPY___399 = 67108864,
    MSG_FASTOPEN___399 = 536870912,
    MSG_CMSG_CLOEXEC___399 = 1073741824
} ;
enum __anonenum_617082774___399 {
    SCM_RIGHTS___399 = 1,
    SCM_CREDENTIALS___399 = 2
} ;
enum __anonenum_606441560___399 {
    SHUT_RD___399 = 0,
    SHUT_WR___399 = 1,
    SHUT_RDWR___399 = 2
} ;
enum __anonenum_681669233___399 {
    IPPROTO_IP___399 = 0,
    IPPROTO_ICMP___399 = 1,
    IPPROTO_IGMP___399 = 2,
    IPPROTO_IPIP___399 = 4,
    IPPROTO_TCP___399 = 6,
    IPPROTO_EGP___399 = 8,
    IPPROTO_PUP___399 = 12,
    IPPROTO_UDP___399 = 17,
    IPPROTO_IDP___399 = 22,
    IPPROTO_TP___399 = 29,
    IPPROTO_DCCP___399 = 33,
    IPPROTO_IPV6___399 = 41,
    IPPROTO_RSVP___399 = 46,
    IPPROTO_GRE___399 = 47,
    IPPROTO_ESP___399 = 50,
    IPPROTO_AH___399 = 51,
    IPPROTO_MTP___399 = 92,
    IPPROTO_BEETPH___399 = 94,
    IPPROTO_ENCAP___399 = 98,
    IPPROTO_PIM___399 = 103,
    IPPROTO_COMP___399 = 108,
    IPPROTO_SCTP___399 = 132,
    IPPROTO_UDPLITE___399 = 136,
    IPPROTO_MPLS___399 = 137,
    IPPROTO_RAW___399 = 255,
    IPPROTO_MAX___399 = 256
} ;
enum __anonenum_218739988___399 {
    IPPROTO_HOPOPTS___399 = 0,
    IPPROTO_ROUTING___399 = 43,
    IPPROTO_FRAGMENT___399 = 44,
    IPPROTO_ICMPV6___399 = 58,
    IPPROTO_NONE___399 = 59,
    IPPROTO_DSTOPTS___399 = 60,
    IPPROTO_MH___399 = 135
} ;
enum __anonenum_662268580___399 {
    IPPORT_ECHO___399 = 7,
    IPPORT_DISCARD___399 = 9,
    IPPORT_SYSTAT___399 = 11,
    IPPORT_DAYTIME___399 = 13,
    IPPORT_NETSTAT___399 = 15,
    IPPORT_FTP___399 = 21,
    IPPORT_TELNET___399 = 23,
    IPPORT_SMTP___399 = 25,
    IPPORT_TIMESERVER___399 = 37,
    IPPORT_NAMESERVER___399 = 42,
    IPPORT_WHOIS___399 = 43,
    IPPORT_MTP___399 = 57,
    IPPORT_TFTP___399 = 69,
    IPPORT_RJE___399 = 77,
    IPPORT_FINGER___399 = 79,
    IPPORT_TTYLINK___399 = 87,
    IPPORT_SUPDUP___399 = 95,
    IPPORT_EXECSERVER___399 = 512,
    IPPORT_LOGINSERVER___399 = 513,
    IPPORT_CMDSERVER___399 = 514,
    IPPORT_EFSSERVER___399 = 520,
    IPPORT_BIFFUDP___399 = 512,
    IPPORT_WHOSERVER___399 = 513,
    IPPORT_ROUTESERVER___399 = 520,
    IPPORT_RESERVED___399 = 1024,
    IPPORT_USERRESERVED___399 = 5000
} ;
enum __anonenum_788308992___399 {
    TCP_ESTABLISHED___399 = 1,
    TCP_SYN_SENT___399 = 2,
    TCP_SYN_RECV___399 = 3,
    TCP_FIN_WAIT1___399 = 4,
    TCP_FIN_WAIT2___399 = 5,
    TCP_TIME_WAIT___399 = 6,
    TCP_CLOSE___399 = 7,
    TCP_CLOSE_WAIT___399 = 8,
    TCP_LAST_ACK___399 = 9,
    TCP_LISTEN___399 = 10,
    TCP_CLOSING___399 = 11
} ;
enum __anonenum_221125648___399 {
    TCP_NO_QUEUE___399 = 0,
    TCP_RECV_QUEUE___399 = 1,
    TCP_SEND_QUEUE___399 = 2,
    TCP_QUEUES_NR___399 = 3
} ;
enum __anonenum_34415463___399 {
    PTHREAD_CREATE_JOINABLE___399 = 0,
    PTHREAD_CREATE_DETACHED___399 = 1
} ;
enum __anonenum_303612439___399 {
    PTHREAD_MUTEX_TIMED_NP___399 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___399 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___399 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___399 = 3,
    PTHREAD_MUTEX_NORMAL___399 = 0,
    PTHREAD_MUTEX_RECURSIVE___399 = 1,
    PTHREAD_MUTEX_ERRORCHECK___399 = 2,
    PTHREAD_MUTEX_DEFAULT___399 = 0,
    PTHREAD_MUTEX_FAST_NP___399 = 0
} ;
enum __anonenum_931900394___399 {
    PTHREAD_MUTEX_STALLED___399 = 0,
    PTHREAD_MUTEX_STALLED_NP___399 = 0,
    PTHREAD_MUTEX_ROBUST___399 = 1,
    PTHREAD_MUTEX_ROBUST_NP___399 = 1
} ;
enum __anonenum_205214487___399 {
    PTHREAD_PRIO_NONE___399 = 0,
    PTHREAD_PRIO_INHERIT___399 = 1,
    PTHREAD_PRIO_PROTECT___399 = 2
} ;
enum __anonenum_25043950___399 {
    PTHREAD_RWLOCK_PREFER_READER_NP___399 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___399 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___399 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___399 = 0
} ;
enum __anonenum_436439511___399 {
    PTHREAD_INHERIT_SCHED___399 = 0,
    PTHREAD_EXPLICIT_SCHED___399 = 1
} ;
enum __anonenum_998661166___399 {
    PTHREAD_SCOPE_SYSTEM___399 = 0,
    PTHREAD_SCOPE_PROCESS___399 = 1
} ;
enum __anonenum_146137331___399 {
    PTHREAD_PROCESS_PRIVATE___399 = 0,
    PTHREAD_PROCESS_SHARED___399 = 1
} ;
enum __anonenum_53396917___399 {
    PTHREAD_CANCEL_ENABLE___399 = 0,
    PTHREAD_CANCEL_DISABLE___399 = 1
} ;
enum __anonenum_904563783___399 {
    PTHREAD_CANCEL_DEFERRED___399 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___399 = 1
} ;
enum __anonenum_672052974___399 {
    SSL_CT_VALIDATION_PERMISSIVE___399 = 0,
    SSL_CT_VALIDATION_STRICT___399 = 1
} ;
struct write_log_arg {
   struct reftable_log_record *log ;
   uint64_t update_index ;
};
enum __anonenum_437032235___400 {
    _PC_LINK_MAX___400 = 0,
    _PC_MAX_CANON___400 = 1,
    _PC_MAX_INPUT___400 = 2,
    _PC_NAME_MAX___400 = 3,
    _PC_PATH_MAX___400 = 4,
    _PC_PIPE_BUF___400 = 5,
    _PC_CHOWN_RESTRICTED___400 = 6,
    _PC_NO_TRUNC___400 = 7,
    _PC_VDISABLE___400 = 8,
    _PC_SYNC_IO___400 = 9,
    _PC_ASYNC_IO___400 = 10,
    _PC_PRIO_IO___400 = 11,
    _PC_SOCK_MAXBUF___400 = 12,
    _PC_FILESIZEBITS___400 = 13,
    _PC_REC_INCR_XFER_SIZE___400 = 14,
    _PC_REC_MAX_XFER_SIZE___400 = 15,
    _PC_REC_MIN_XFER_SIZE___400 = 16,
    _PC_REC_XFER_ALIGN___400 = 17,
    _PC_ALLOC_SIZE_MIN___400 = 18,
    _PC_SYMLINK_MAX___400 = 19,
    _PC_2_SYMLINKS___400 = 20
} ;
enum __anonenum_315186338___400 {
    _SC_ARG_MAX___400 = 0,
    _SC_CHILD_MAX___400 = 1,
    _SC_CLK_TCK___400 = 2,
    _SC_NGROUPS_MAX___400 = 3,
    _SC_OPEN_MAX___400 = 4,
    _SC_STREAM_MAX___400 = 5,
    _SC_TZNAME_MAX___400 = 6,
    _SC_JOB_CONTROL___400 = 7,
    _SC_SAVED_IDS___400 = 8,
    _SC_REALTIME_SIGNALS___400 = 9,
    _SC_PRIORITY_SCHEDULING___400 = 10,
    _SC_TIMERS___400 = 11,
    _SC_ASYNCHRONOUS_IO___400 = 12,
    _SC_PRIORITIZED_IO___400 = 13,
    _SC_SYNCHRONIZED_IO___400 = 14,
    _SC_FSYNC___400 = 15,
    _SC_MAPPED_FILES___400 = 16,
    _SC_MEMLOCK___400 = 17,
    _SC_MEMLOCK_RANGE___400 = 18,
    _SC_MEMORY_PROTECTION___400 = 19,
    _SC_MESSAGE_PASSING___400 = 20,
    _SC_SEMAPHORES___400 = 21,
    _SC_SHARED_MEMORY_OBJECTS___400 = 22,
    _SC_AIO_LISTIO_MAX___400 = 23,
    _SC_AIO_MAX___400 = 24,
    _SC_AIO_PRIO_DELTA_MAX___400 = 25,
    _SC_DELAYTIMER_MAX___400 = 26,
    _SC_MQ_OPEN_MAX___400 = 27,
    _SC_MQ_PRIO_MAX___400 = 28,
    _SC_VERSION___400 = 29,
    _SC_PAGESIZE___400 = 30,
    _SC_RTSIG_MAX___400 = 31,
    _SC_SEM_NSEMS_MAX___400 = 32,
    _SC_SEM_VALUE_MAX___400 = 33,
    _SC_SIGQUEUE_MAX___400 = 34,
    _SC_TIMER_MAX___400 = 35,
    _SC_BC_BASE_MAX___400 = 36,
    _SC_BC_DIM_MAX___400 = 37,
    _SC_BC_SCALE_MAX___400 = 38,
    _SC_BC_STRING_MAX___400 = 39,
    _SC_COLL_WEIGHTS_MAX___400 = 40,
    _SC_EQUIV_CLASS_MAX___400 = 41,
    _SC_EXPR_NEST_MAX___400 = 42,
    _SC_LINE_MAX___400 = 43,
    _SC_RE_DUP_MAX___400 = 44,
    _SC_CHARCLASS_NAME_MAX___400 = 45,
    _SC_2_VERSION___400 = 46,
    _SC_2_C_BIND___400 = 47,
    _SC_2_C_DEV___400 = 48,
    _SC_2_FORT_DEV___400 = 49,
    _SC_2_FORT_RUN___400 = 50,
    _SC_2_SW_DEV___400 = 51,
    _SC_2_LOCALEDEF___400 = 52,
    _SC_PII___400 = 53,
    _SC_PII_XTI___400 = 54,
    _SC_PII_SOCKET___400 = 55,
    _SC_PII_INTERNET___400 = 56,
    _SC_PII_OSI___400 = 57,
    _SC_POLL___400 = 58,
    _SC_SELECT___400 = 59,
    _SC_UIO_MAXIOV___400 = 60,
    _SC_IOV_MAX___400 = 60,
    _SC_PII_INTERNET_STREAM___400 = 61,
    _SC_PII_INTERNET_DGRAM___400 = 62,
    _SC_PII_OSI_COTS___400 = 63,
    _SC_PII_OSI_CLTS___400 = 64,
    _SC_PII_OSI_M___400 = 65,
    _SC_T_IOV_MAX___400 = 66,
    _SC_THREADS___400 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___400 = 68,
    _SC_GETGR_R_SIZE_MAX___400 = 69,
    _SC_GETPW_R_SIZE_MAX___400 = 70,
    _SC_LOGIN_NAME_MAX___400 = 71,
    _SC_TTY_NAME_MAX___400 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___400 = 73,
    _SC_THREAD_KEYS_MAX___400 = 74,
    _SC_THREAD_STACK_MIN___400 = 75,
    _SC_THREAD_THREADS_MAX___400 = 76,
    _SC_THREAD_ATTR_STACKADDR___400 = 77,
    _SC_THREAD_ATTR_STACKSIZE___400 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___400 = 79,
    _SC_THREAD_PRIO_INHERIT___400 = 80,
    _SC_THREAD_PRIO_PROTECT___400 = 81,
    _SC_THREAD_PROCESS_SHARED___400 = 82,
    _SC_NPROCESSORS_CONF___400 = 83,
    _SC_NPROCESSORS_ONLN___400 = 84,
    _SC_PHYS_PAGES___400 = 85,
    _SC_AVPHYS_PAGES___400 = 86,
    _SC_ATEXIT_MAX___400 = 87,
    _SC_PASS_MAX___400 = 88,
    _SC_XOPEN_VERSION___400 = 89,
    _SC_XOPEN_XCU_VERSION___400 = 90,
    _SC_XOPEN_UNIX___400 = 91,
    _SC_XOPEN_CRYPT___400 = 92,
    _SC_XOPEN_ENH_I18N___400 = 93,
    _SC_XOPEN_SHM___400 = 94,
    _SC_2_CHAR_TERM___400 = 95,
    _SC_2_C_VERSION___400 = 96,
    _SC_2_UPE___400 = 97,
    _SC_XOPEN_XPG2___400 = 98,
    _SC_XOPEN_XPG3___400 = 99,
    _SC_XOPEN_XPG4___400 = 100,
    _SC_CHAR_BIT___400 = 101,
    _SC_CHAR_MAX___400 = 102,
    _SC_CHAR_MIN___400 = 103,
    _SC_INT_MAX___400 = 104,
    _SC_INT_MIN___400 = 105,
    _SC_LONG_BIT___400 = 106,
    _SC_WORD_BIT___400 = 107,
    _SC_MB_LEN_MAX___400 = 108,
    _SC_NZERO___400 = 109,
    _SC_SSIZE_MAX___400 = 110,
    _SC_SCHAR_MAX___400 = 111,
    _SC_SCHAR_MIN___400 = 112,
    _SC_SHRT_MAX___400 = 113,
    _SC_SHRT_MIN___400 = 114,
    _SC_UCHAR_MAX___400 = 115,
    _SC_UINT_MAX___400 = 116,
    _SC_ULONG_MAX___400 = 117,
    _SC_USHRT_MAX___400 = 118,
    _SC_NL_ARGMAX___400 = 119,
    _SC_NL_LANGMAX___400 = 120,
    _SC_NL_MSGMAX___400 = 121,
    _SC_NL_NMAX___400 = 122,
    _SC_NL_SETMAX___400 = 123,
    _SC_NL_TEXTMAX___400 = 124,
    _SC_XBS5_ILP32_OFF32___400 = 125,
    _SC_XBS5_ILP32_OFFBIG___400 = 126,
    _SC_XBS5_LP64_OFF64___400 = 127,
    _SC_XBS5_LPBIG_OFFBIG___400 = 128,
    _SC_XOPEN_LEGACY___400 = 129,
    _SC_XOPEN_REALTIME___400 = 130,
    _SC_XOPEN_REALTIME_THREADS___400 = 131,
    _SC_ADVISORY_INFO___400 = 132,
    _SC_BARRIERS___400 = 133,
    _SC_BASE___400 = 134,
    _SC_C_LANG_SUPPORT___400 = 135,
    _SC_C_LANG_SUPPORT_R___400 = 136,
    _SC_CLOCK_SELECTION___400 = 137,
    _SC_CPUTIME___400 = 138,
    _SC_THREAD_CPUTIME___400 = 139,
    _SC_DEVICE_IO___400 = 140,
    _SC_DEVICE_SPECIFIC___400 = 141,
    _SC_DEVICE_SPECIFIC_R___400 = 142,
    _SC_FD_MGMT___400 = 143,
    _SC_FIFO___400 = 144,
    _SC_PIPE___400 = 145,
    _SC_FILE_ATTRIBUTES___400 = 146,
    _SC_FILE_LOCKING___400 = 147,
    _SC_FILE_SYSTEM___400 = 148,
    _SC_MONOTONIC_CLOCK___400 = 149,
    _SC_MULTI_PROCESS___400 = 150,
    _SC_SINGLE_PROCESS___400 = 151,
    _SC_NETWORKING___400 = 152,
    _SC_READER_WRITER_LOCKS___400 = 153,
    _SC_SPIN_LOCKS___400 = 154,
    _SC_REGEXP___400 = 155,
    _SC_REGEX_VERSION___400 = 156,
    _SC_SHELL___400 = 157,
    _SC_SIGNALS___400 = 158,
    _SC_SPAWN___400 = 159,
    _SC_SPORADIC_SERVER___400 = 160,
    _SC_THREAD_SPORADIC_SERVER___400 = 161,
    _SC_SYSTEM_DATABASE___400 = 162,
    _SC_SYSTEM_DATABASE_R___400 = 163,
    _SC_TIMEOUTS___400 = 164,
    _SC_TYPED_MEMORY_OBJECTS___400 = 165,
    _SC_USER_GROUPS___400 = 166,
    _SC_USER_GROUPS_R___400 = 167,
    _SC_2_PBS___400 = 168,
    _SC_2_PBS_ACCOUNTING___400 = 169,
    _SC_2_PBS_LOCATE___400 = 170,
    _SC_2_PBS_MESSAGE___400 = 171,
    _SC_2_PBS_TRACK___400 = 172,
    _SC_SYMLOOP_MAX___400 = 173,
    _SC_STREAMS___400 = 174,
    _SC_2_PBS_CHECKPOINT___400 = 175,
    _SC_V6_ILP32_OFF32___400 = 176,
    _SC_V6_ILP32_OFFBIG___400 = 177,
    _SC_V6_LP64_OFF64___400 = 178,
    _SC_V6_LPBIG_OFFBIG___400 = 179,
    _SC_HOST_NAME_MAX___400 = 180,
    _SC_TRACE___400 = 181,
    _SC_TRACE_EVENT_FILTER___400 = 182,
    _SC_TRACE_INHERIT___400 = 183,
    _SC_TRACE_LOG___400 = 184,
    _SC_LEVEL1_ICACHE_SIZE___400 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___400 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___400 = 187,
    _SC_LEVEL1_DCACHE_SIZE___400 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___400 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___400 = 190,
    _SC_LEVEL2_CACHE_SIZE___400 = 191,
    _SC_LEVEL2_CACHE_ASSOC___400 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___400 = 193,
    _SC_LEVEL3_CACHE_SIZE___400 = 194,
    _SC_LEVEL3_CACHE_ASSOC___400 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___400 = 196,
    _SC_LEVEL4_CACHE_SIZE___400 = 197,
    _SC_LEVEL4_CACHE_ASSOC___400 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___400 = 199,
    _SC_IPV6___400 = 235,
    _SC_RAW_SOCKETS___400 = 236,
    _SC_V7_ILP32_OFF32___400 = 237,
    _SC_V7_ILP32_OFFBIG___400 = 238,
    _SC_V7_LP64_OFF64___400 = 239,
    _SC_V7_LPBIG_OFFBIG___400 = 240,
    _SC_SS_REPL_MAX___400 = 241,
    _SC_TRACE_EVENT_NAME_MAX___400 = 242,
    _SC_TRACE_NAME_MAX___400 = 243,
    _SC_TRACE_SYS_MAX___400 = 244,
    _SC_TRACE_USER_EVENT_MAX___400 = 245,
    _SC_XOPEN_STREAMS___400 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___400 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___400 = 248
} ;
enum __anonenum_875524036___400 {
    _CS_PATH___400 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___400 = 1,
    _CS_GNU_LIBC_VERSION___400 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___400 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___400 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___400 = 5,
    _CS_LFS_CFLAGS___400 = 1000,
    _CS_LFS_LDFLAGS___400 = 1001,
    _CS_LFS_LIBS___400 = 1002,
    _CS_LFS_LINTFLAGS___400 = 1003,
    _CS_LFS64_CFLAGS___400 = 1004,
    _CS_LFS64_LDFLAGS___400 = 1005,
    _CS_LFS64_LIBS___400 = 1006,
    _CS_LFS64_LINTFLAGS___400 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___400 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___400 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___400 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___400 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___400 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___400 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___400 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___400 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___400 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___400 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___400 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___400 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___400 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___400 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___400 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___400 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___400 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___400 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___400 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___400 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___400 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___400 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___400 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___400 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___400 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___400 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___400 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___400 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___400 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___400 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___400 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___400 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___400 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___400 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___400 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___400 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___400 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___400 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___400 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___400 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___400 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___400 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___400 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___400 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___400 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___400 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___400 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___400 = 1147,
    _CS_V6_ENV___400 = 1148,
    _CS_V7_ENV___400 = 1149
} ;
enum __anonenum_513775621___400 {
    DT_UNKNOWN___400 = 0,
    DT_FIFO___400 = 1,
    DT_CHR___400 = 2,
    DT_DIR___400 = 4,
    DT_BLK___400 = 6,
    DT_REG___400 = 8,
    DT_LNK___400 = 10,
    DT_SOCK___400 = 12,
    DT_WHT___400 = 14
} ;
enum __anonenum_77002343___400 {
    SI_ASYNCNL___400 = -60,
    SI_TKILL___400 = -6,
    SI_SIGIO___400 = -5,
    SI_ASYNCIO___400 = -4,
    SI_MESGQ___400 = -3,
    SI_TIMER___400 = -2,
    SI_QUEUE___400 = -1,
    SI_USER___400 = 0,
    SI_KERNEL___400 = 128
} ;
enum __anonenum_131038172___400 {
    ILL_ILLOPC___400 = 1,
    ILL_ILLOPN___400 = 2,
    ILL_ILLADR___400 = 3,
    ILL_ILLTRP___400 = 4,
    ILL_PRVOPC___400 = 5,
    ILL_PRVREG___400 = 6,
    ILL_COPROC___400 = 7,
    ILL_BADSTK___400 = 8
} ;
enum __anonenum_452038093___400 {
    FPE_INTDIV___400 = 1,
    FPE_INTOVF___400 = 2,
    FPE_FLTDIV___400 = 3,
    FPE_FLTOVF___400 = 4,
    FPE_FLTUND___400 = 5,
    FPE_FLTRES___400 = 6,
    FPE_FLTINV___400 = 7,
    FPE_FLTSUB___400 = 8
} ;
enum __anonenum_30976155___400 {
    SEGV_MAPERR___400 = 1,
    SEGV_ACCERR___400 = 2,
    SEGV_BNDERR___400 = 3,
    SEGV_PKUERR___400 = 4
} ;
enum __anonenum_1036286214___400 {
    BUS_ADRALN___400 = 1,
    BUS_ADRERR___400 = 2,
    BUS_OBJERR___400 = 3,
    BUS_MCEERR_AR___400 = 4,
    BUS_MCEERR_AO___400 = 5
} ;
enum __anonenum_493465559___400 {
    TRAP_BRKPT___400 = 1,
    TRAP_TRACE___400 = 2
} ;
enum __anonenum_23175539___400 {
    CLD_EXITED___400 = 1,
    CLD_KILLED___400 = 2,
    CLD_DUMPED___400 = 3,
    CLD_TRAPPED___400 = 4,
    CLD_STOPPED___400 = 5,
    CLD_CONTINUED___400 = 6
} ;
enum __anonenum_111643124___400 {
    POLL_IN___400 = 1,
    POLL_OUT___400 = 2,
    POLL_MSG___400 = 3,
    POLL_ERR___400 = 4,
    POLL_PRI___400 = 5,
    POLL_HUP___400 = 6
} ;
enum __anonenum_852341087___400 {
    SIGEV_SIGNAL___400 = 0,
    SIGEV_NONE___400 = 1,
    SIGEV_THREAD___400 = 2,
    SIGEV_THREAD_ID___400 = 4
} ;
enum __anonenum_451154152___400 {
    REG_R8___400 = 0,
    REG_R9___400 = 1,
    REG_R10___400 = 2,
    REG_R11___400 = 3,
    REG_R12___400 = 4,
    REG_R13___400 = 5,
    REG_R14___400 = 6,
    REG_R15___400 = 7,
    REG_RDI___400 = 8,
    REG_RSI___400 = 9,
    REG_RBP___400 = 10,
    REG_RBX___400 = 11,
    REG_RDX___400 = 12,
    REG_RAX___400 = 13,
    REG_RCX___400 = 14,
    REG_RSP___400 = 15,
    REG_RIP___400 = 16,
    REG_EFL___400 = 17,
    REG_CSGSFS___400 = 18,
    REG_ERR___400 = 19,
    REG_TRAPNO___400 = 20,
    REG_OLDMASK___400 = 21,
    REG_CR2___400 = 22
} ;
enum __anonenum_57186863___400 {
    SS_ONSTACK___400 = 1,
    SS_DISABLE___400 = 2
} ;
enum __anonenum_83571709___400 {
    MSG_OOB___400 = 1,
    MSG_PEEK___400 = 2,
    MSG_DONTROUTE___400 = 4,
    MSG_TRYHARD___400 = 4,
    MSG_CTRUNC___400 = 8,
    MSG_PROXY___400 = 16,
    MSG_TRUNC___400 = 32,
    MSG_DONTWAIT___400 = 64,
    MSG_EOR___400 = 128,
    MSG_WAITALL___400 = 256,
    MSG_FIN___400 = 512,
    MSG_SYN___400 = 1024,
    MSG_CONFIRM___400 = 2048,
    MSG_RST___400 = 4096,
    MSG_ERRQUEUE___400 = 8192,
    MSG_NOSIGNAL___400 = 16384,
    MSG_MORE___400 = 32768,
    MSG_WAITFORONE___400 = 65536,
    MSG_BATCH___400 = 262144,
    MSG_ZEROCOPY___400 = 67108864,
    MSG_FASTOPEN___400 = 536870912,
    MSG_CMSG_CLOEXEC___400 = 1073741824
} ;
enum __anonenum_617082774___400 {
    SCM_RIGHTS___400 = 1,
    SCM_CREDENTIALS___400 = 2
} ;
enum __anonenum_606441560___400 {
    SHUT_RD___400 = 0,
    SHUT_WR___400 = 1,
    SHUT_RDWR___400 = 2
} ;
enum __anonenum_681669233___400 {
    IPPROTO_IP___400 = 0,
    IPPROTO_ICMP___400 = 1,
    IPPROTO_IGMP___400 = 2,
    IPPROTO_IPIP___400 = 4,
    IPPROTO_TCP___400 = 6,
    IPPROTO_EGP___400 = 8,
    IPPROTO_PUP___400 = 12,
    IPPROTO_UDP___400 = 17,
    IPPROTO_IDP___400 = 22,
    IPPROTO_TP___400 = 29,
    IPPROTO_DCCP___400 = 33,
    IPPROTO_IPV6___400 = 41,
    IPPROTO_RSVP___400 = 46,
    IPPROTO_GRE___400 = 47,
    IPPROTO_ESP___400 = 50,
    IPPROTO_AH___400 = 51,
    IPPROTO_MTP___400 = 92,
    IPPROTO_BEETPH___400 = 94,
    IPPROTO_ENCAP___400 = 98,
    IPPROTO_PIM___400 = 103,
    IPPROTO_COMP___400 = 108,
    IPPROTO_SCTP___400 = 132,
    IPPROTO_UDPLITE___400 = 136,
    IPPROTO_MPLS___400 = 137,
    IPPROTO_RAW___400 = 255,
    IPPROTO_MAX___400 = 256
} ;
enum __anonenum_218739988___400 {
    IPPROTO_HOPOPTS___400 = 0,
    IPPROTO_ROUTING___400 = 43,
    IPPROTO_FRAGMENT___400 = 44,
    IPPROTO_ICMPV6___400 = 58,
    IPPROTO_NONE___400 = 59,
    IPPROTO_DSTOPTS___400 = 60,
    IPPROTO_MH___400 = 135
} ;
enum __anonenum_662268580___400 {
    IPPORT_ECHO___400 = 7,
    IPPORT_DISCARD___400 = 9,
    IPPORT_SYSTAT___400 = 11,
    IPPORT_DAYTIME___400 = 13,
    IPPORT_NETSTAT___400 = 15,
    IPPORT_FTP___400 = 21,
    IPPORT_TELNET___400 = 23,
    IPPORT_SMTP___400 = 25,
    IPPORT_TIMESERVER___400 = 37,
    IPPORT_NAMESERVER___400 = 42,
    IPPORT_WHOIS___400 = 43,
    IPPORT_MTP___400 = 57,
    IPPORT_TFTP___400 = 69,
    IPPORT_RJE___400 = 77,
    IPPORT_FINGER___400 = 79,
    IPPORT_TTYLINK___400 = 87,
    IPPORT_SUPDUP___400 = 95,
    IPPORT_EXECSERVER___400 = 512,
    IPPORT_LOGINSERVER___400 = 513,
    IPPORT_CMDSERVER___400 = 514,
    IPPORT_EFSSERVER___400 = 520,
    IPPORT_BIFFUDP___400 = 512,
    IPPORT_WHOSERVER___400 = 513,
    IPPORT_ROUTESERVER___400 = 520,
    IPPORT_RESERVED___400 = 1024,
    IPPORT_USERRESERVED___400 = 5000
} ;
enum __anonenum_788308992___400 {
    TCP_ESTABLISHED___400 = 1,
    TCP_SYN_SENT___400 = 2,
    TCP_SYN_RECV___400 = 3,
    TCP_FIN_WAIT1___400 = 4,
    TCP_FIN_WAIT2___400 = 5,
    TCP_TIME_WAIT___400 = 6,
    TCP_CLOSE___400 = 7,
    TCP_CLOSE_WAIT___400 = 8,
    TCP_LAST_ACK___400 = 9,
    TCP_LISTEN___400 = 10,
    TCP_CLOSING___400 = 11
} ;
enum __anonenum_221125648___400 {
    TCP_NO_QUEUE___400 = 0,
    TCP_RECV_QUEUE___400 = 1,
    TCP_SEND_QUEUE___400 = 2,
    TCP_QUEUES_NR___400 = 3
} ;
enum __anonenum_34415463___400 {
    PTHREAD_CREATE_JOINABLE___400 = 0,
    PTHREAD_CREATE_DETACHED___400 = 1
} ;
enum __anonenum_303612439___400 {
    PTHREAD_MUTEX_TIMED_NP___400 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___400 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___400 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___400 = 3,
    PTHREAD_MUTEX_NORMAL___400 = 0,
    PTHREAD_MUTEX_RECURSIVE___400 = 1,
    PTHREAD_MUTEX_ERRORCHECK___400 = 2,
    PTHREAD_MUTEX_DEFAULT___400 = 0,
    PTHREAD_MUTEX_FAST_NP___400 = 0
} ;
enum __anonenum_931900394___400 {
    PTHREAD_MUTEX_STALLED___400 = 0,
    PTHREAD_MUTEX_STALLED_NP___400 = 0,
    PTHREAD_MUTEX_ROBUST___400 = 1,
    PTHREAD_MUTEX_ROBUST_NP___400 = 1
} ;
enum __anonenum_205214487___400 {
    PTHREAD_PRIO_NONE___400 = 0,
    PTHREAD_PRIO_INHERIT___400 = 1,
    PTHREAD_PRIO_PROTECT___400 = 2
} ;
enum __anonenum_25043950___400 {
    PTHREAD_RWLOCK_PREFER_READER_NP___400 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___400 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___400 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___400 = 0
} ;
enum __anonenum_436439511___400 {
    PTHREAD_INHERIT_SCHED___400 = 0,
    PTHREAD_EXPLICIT_SCHED___400 = 1
} ;
enum __anonenum_998661166___400 {
    PTHREAD_SCOPE_SYSTEM___400 = 0,
    PTHREAD_SCOPE_PROCESS___400 = 1
} ;
enum __anonenum_146137331___400 {
    PTHREAD_PROCESS_PRIVATE___400 = 0,
    PTHREAD_PROCESS_SHARED___400 = 1
} ;
enum __anonenum_53396917___400 {
    PTHREAD_CANCEL_ENABLE___400 = 0,
    PTHREAD_CANCEL_DISABLE___400 = 1
} ;
enum __anonenum_904563783___400 {
    PTHREAD_CANCEL_DEFERRED___400 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___400 = 1
} ;
enum __anonenum_672052974___400 {
    SSL_CT_VALIDATION_PERMISSIVE___400 = 0,
    SSL_CT_VALIDATION_STRICT___400 = 1
} ;
enum __anonenum_437032235___401 {
    _PC_LINK_MAX___401 = 0,
    _PC_MAX_CANON___401 = 1,
    _PC_MAX_INPUT___401 = 2,
    _PC_NAME_MAX___401 = 3,
    _PC_PATH_MAX___401 = 4,
    _PC_PIPE_BUF___401 = 5,
    _PC_CHOWN_RESTRICTED___401 = 6,
    _PC_NO_TRUNC___401 = 7,
    _PC_VDISABLE___401 = 8,
    _PC_SYNC_IO___401 = 9,
    _PC_ASYNC_IO___401 = 10,
    _PC_PRIO_IO___401 = 11,
    _PC_SOCK_MAXBUF___401 = 12,
    _PC_FILESIZEBITS___401 = 13,
    _PC_REC_INCR_XFER_SIZE___401 = 14,
    _PC_REC_MAX_XFER_SIZE___401 = 15,
    _PC_REC_MIN_XFER_SIZE___401 = 16,
    _PC_REC_XFER_ALIGN___401 = 17,
    _PC_ALLOC_SIZE_MIN___401 = 18,
    _PC_SYMLINK_MAX___401 = 19,
    _PC_2_SYMLINKS___401 = 20
} ;
enum __anonenum_315186338___401 {
    _SC_ARG_MAX___401 = 0,
    _SC_CHILD_MAX___401 = 1,
    _SC_CLK_TCK___401 = 2,
    _SC_NGROUPS_MAX___401 = 3,
    _SC_OPEN_MAX___401 = 4,
    _SC_STREAM_MAX___401 = 5,
    _SC_TZNAME_MAX___401 = 6,
    _SC_JOB_CONTROL___401 = 7,
    _SC_SAVED_IDS___401 = 8,
    _SC_REALTIME_SIGNALS___401 = 9,
    _SC_PRIORITY_SCHEDULING___401 = 10,
    _SC_TIMERS___401 = 11,
    _SC_ASYNCHRONOUS_IO___401 = 12,
    _SC_PRIORITIZED_IO___401 = 13,
    _SC_SYNCHRONIZED_IO___401 = 14,
    _SC_FSYNC___401 = 15,
    _SC_MAPPED_FILES___401 = 16,
    _SC_MEMLOCK___401 = 17,
    _SC_MEMLOCK_RANGE___401 = 18,
    _SC_MEMORY_PROTECTION___401 = 19,
    _SC_MESSAGE_PASSING___401 = 20,
    _SC_SEMAPHORES___401 = 21,
    _SC_SHARED_MEMORY_OBJECTS___401 = 22,
    _SC_AIO_LISTIO_MAX___401 = 23,
    _SC_AIO_MAX___401 = 24,
    _SC_AIO_PRIO_DELTA_MAX___401 = 25,
    _SC_DELAYTIMER_MAX___401 = 26,
    _SC_MQ_OPEN_MAX___401 = 27,
    _SC_MQ_PRIO_MAX___401 = 28,
    _SC_VERSION___401 = 29,
    _SC_PAGESIZE___401 = 30,
    _SC_RTSIG_MAX___401 = 31,
    _SC_SEM_NSEMS_MAX___401 = 32,
    _SC_SEM_VALUE_MAX___401 = 33,
    _SC_SIGQUEUE_MAX___401 = 34,
    _SC_TIMER_MAX___401 = 35,
    _SC_BC_BASE_MAX___401 = 36,
    _SC_BC_DIM_MAX___401 = 37,
    _SC_BC_SCALE_MAX___401 = 38,
    _SC_BC_STRING_MAX___401 = 39,
    _SC_COLL_WEIGHTS_MAX___401 = 40,
    _SC_EQUIV_CLASS_MAX___401 = 41,
    _SC_EXPR_NEST_MAX___401 = 42,
    _SC_LINE_MAX___401 = 43,
    _SC_RE_DUP_MAX___401 = 44,
    _SC_CHARCLASS_NAME_MAX___401 = 45,
    _SC_2_VERSION___401 = 46,
    _SC_2_C_BIND___401 = 47,
    _SC_2_C_DEV___401 = 48,
    _SC_2_FORT_DEV___401 = 49,
    _SC_2_FORT_RUN___401 = 50,
    _SC_2_SW_DEV___401 = 51,
    _SC_2_LOCALEDEF___401 = 52,
    _SC_PII___401 = 53,
    _SC_PII_XTI___401 = 54,
    _SC_PII_SOCKET___401 = 55,
    _SC_PII_INTERNET___401 = 56,
    _SC_PII_OSI___401 = 57,
    _SC_POLL___401 = 58,
    _SC_SELECT___401 = 59,
    _SC_UIO_MAXIOV___401 = 60,
    _SC_IOV_MAX___401 = 60,
    _SC_PII_INTERNET_STREAM___401 = 61,
    _SC_PII_INTERNET_DGRAM___401 = 62,
    _SC_PII_OSI_COTS___401 = 63,
    _SC_PII_OSI_CLTS___401 = 64,
    _SC_PII_OSI_M___401 = 65,
    _SC_T_IOV_MAX___401 = 66,
    _SC_THREADS___401 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___401 = 68,
    _SC_GETGR_R_SIZE_MAX___401 = 69,
    _SC_GETPW_R_SIZE_MAX___401 = 70,
    _SC_LOGIN_NAME_MAX___401 = 71,
    _SC_TTY_NAME_MAX___401 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___401 = 73,
    _SC_THREAD_KEYS_MAX___401 = 74,
    _SC_THREAD_STACK_MIN___401 = 75,
    _SC_THREAD_THREADS_MAX___401 = 76,
    _SC_THREAD_ATTR_STACKADDR___401 = 77,
    _SC_THREAD_ATTR_STACKSIZE___401 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___401 = 79,
    _SC_THREAD_PRIO_INHERIT___401 = 80,
    _SC_THREAD_PRIO_PROTECT___401 = 81,
    _SC_THREAD_PROCESS_SHARED___401 = 82,
    _SC_NPROCESSORS_CONF___401 = 83,
    _SC_NPROCESSORS_ONLN___401 = 84,
    _SC_PHYS_PAGES___401 = 85,
    _SC_AVPHYS_PAGES___401 = 86,
    _SC_ATEXIT_MAX___401 = 87,
    _SC_PASS_MAX___401 = 88,
    _SC_XOPEN_VERSION___401 = 89,
    _SC_XOPEN_XCU_VERSION___401 = 90,
    _SC_XOPEN_UNIX___401 = 91,
    _SC_XOPEN_CRYPT___401 = 92,
    _SC_XOPEN_ENH_I18N___401 = 93,
    _SC_XOPEN_SHM___401 = 94,
    _SC_2_CHAR_TERM___401 = 95,
    _SC_2_C_VERSION___401 = 96,
    _SC_2_UPE___401 = 97,
    _SC_XOPEN_XPG2___401 = 98,
    _SC_XOPEN_XPG3___401 = 99,
    _SC_XOPEN_XPG4___401 = 100,
    _SC_CHAR_BIT___401 = 101,
    _SC_CHAR_MAX___401 = 102,
    _SC_CHAR_MIN___401 = 103,
    _SC_INT_MAX___401 = 104,
    _SC_INT_MIN___401 = 105,
    _SC_LONG_BIT___401 = 106,
    _SC_WORD_BIT___401 = 107,
    _SC_MB_LEN_MAX___401 = 108,
    _SC_NZERO___401 = 109,
    _SC_SSIZE_MAX___401 = 110,
    _SC_SCHAR_MAX___401 = 111,
    _SC_SCHAR_MIN___401 = 112,
    _SC_SHRT_MAX___401 = 113,
    _SC_SHRT_MIN___401 = 114,
    _SC_UCHAR_MAX___401 = 115,
    _SC_UINT_MAX___401 = 116,
    _SC_ULONG_MAX___401 = 117,
    _SC_USHRT_MAX___401 = 118,
    _SC_NL_ARGMAX___401 = 119,
    _SC_NL_LANGMAX___401 = 120,
    _SC_NL_MSGMAX___401 = 121,
    _SC_NL_NMAX___401 = 122,
    _SC_NL_SETMAX___401 = 123,
    _SC_NL_TEXTMAX___401 = 124,
    _SC_XBS5_ILP32_OFF32___401 = 125,
    _SC_XBS5_ILP32_OFFBIG___401 = 126,
    _SC_XBS5_LP64_OFF64___401 = 127,
    _SC_XBS5_LPBIG_OFFBIG___401 = 128,
    _SC_XOPEN_LEGACY___401 = 129,
    _SC_XOPEN_REALTIME___401 = 130,
    _SC_XOPEN_REALTIME_THREADS___401 = 131,
    _SC_ADVISORY_INFO___401 = 132,
    _SC_BARRIERS___401 = 133,
    _SC_BASE___401 = 134,
    _SC_C_LANG_SUPPORT___401 = 135,
    _SC_C_LANG_SUPPORT_R___401 = 136,
    _SC_CLOCK_SELECTION___401 = 137,
    _SC_CPUTIME___401 = 138,
    _SC_THREAD_CPUTIME___401 = 139,
    _SC_DEVICE_IO___401 = 140,
    _SC_DEVICE_SPECIFIC___401 = 141,
    _SC_DEVICE_SPECIFIC_R___401 = 142,
    _SC_FD_MGMT___401 = 143,
    _SC_FIFO___401 = 144,
    _SC_PIPE___401 = 145,
    _SC_FILE_ATTRIBUTES___401 = 146,
    _SC_FILE_LOCKING___401 = 147,
    _SC_FILE_SYSTEM___401 = 148,
    _SC_MONOTONIC_CLOCK___401 = 149,
    _SC_MULTI_PROCESS___401 = 150,
    _SC_SINGLE_PROCESS___401 = 151,
    _SC_NETWORKING___401 = 152,
    _SC_READER_WRITER_LOCKS___401 = 153,
    _SC_SPIN_LOCKS___401 = 154,
    _SC_REGEXP___401 = 155,
    _SC_REGEX_VERSION___401 = 156,
    _SC_SHELL___401 = 157,
    _SC_SIGNALS___401 = 158,
    _SC_SPAWN___401 = 159,
    _SC_SPORADIC_SERVER___401 = 160,
    _SC_THREAD_SPORADIC_SERVER___401 = 161,
    _SC_SYSTEM_DATABASE___401 = 162,
    _SC_SYSTEM_DATABASE_R___401 = 163,
    _SC_TIMEOUTS___401 = 164,
    _SC_TYPED_MEMORY_OBJECTS___401 = 165,
    _SC_USER_GROUPS___401 = 166,
    _SC_USER_GROUPS_R___401 = 167,
    _SC_2_PBS___401 = 168,
    _SC_2_PBS_ACCOUNTING___401 = 169,
    _SC_2_PBS_LOCATE___401 = 170,
    _SC_2_PBS_MESSAGE___401 = 171,
    _SC_2_PBS_TRACK___401 = 172,
    _SC_SYMLOOP_MAX___401 = 173,
    _SC_STREAMS___401 = 174,
    _SC_2_PBS_CHECKPOINT___401 = 175,
    _SC_V6_ILP32_OFF32___401 = 176,
    _SC_V6_ILP32_OFFBIG___401 = 177,
    _SC_V6_LP64_OFF64___401 = 178,
    _SC_V6_LPBIG_OFFBIG___401 = 179,
    _SC_HOST_NAME_MAX___401 = 180,
    _SC_TRACE___401 = 181,
    _SC_TRACE_EVENT_FILTER___401 = 182,
    _SC_TRACE_INHERIT___401 = 183,
    _SC_TRACE_LOG___401 = 184,
    _SC_LEVEL1_ICACHE_SIZE___401 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___401 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___401 = 187,
    _SC_LEVEL1_DCACHE_SIZE___401 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___401 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___401 = 190,
    _SC_LEVEL2_CACHE_SIZE___401 = 191,
    _SC_LEVEL2_CACHE_ASSOC___401 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___401 = 193,
    _SC_LEVEL3_CACHE_SIZE___401 = 194,
    _SC_LEVEL3_CACHE_ASSOC___401 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___401 = 196,
    _SC_LEVEL4_CACHE_SIZE___401 = 197,
    _SC_LEVEL4_CACHE_ASSOC___401 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___401 = 199,
    _SC_IPV6___401 = 235,
    _SC_RAW_SOCKETS___401 = 236,
    _SC_V7_ILP32_OFF32___401 = 237,
    _SC_V7_ILP32_OFFBIG___401 = 238,
    _SC_V7_LP64_OFF64___401 = 239,
    _SC_V7_LPBIG_OFFBIG___401 = 240,
    _SC_SS_REPL_MAX___401 = 241,
    _SC_TRACE_EVENT_NAME_MAX___401 = 242,
    _SC_TRACE_NAME_MAX___401 = 243,
    _SC_TRACE_SYS_MAX___401 = 244,
    _SC_TRACE_USER_EVENT_MAX___401 = 245,
    _SC_XOPEN_STREAMS___401 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___401 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___401 = 248
} ;
enum __anonenum_875524036___401 {
    _CS_PATH___401 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___401 = 1,
    _CS_GNU_LIBC_VERSION___401 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___401 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___401 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___401 = 5,
    _CS_LFS_CFLAGS___401 = 1000,
    _CS_LFS_LDFLAGS___401 = 1001,
    _CS_LFS_LIBS___401 = 1002,
    _CS_LFS_LINTFLAGS___401 = 1003,
    _CS_LFS64_CFLAGS___401 = 1004,
    _CS_LFS64_LDFLAGS___401 = 1005,
    _CS_LFS64_LIBS___401 = 1006,
    _CS_LFS64_LINTFLAGS___401 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___401 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___401 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___401 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___401 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___401 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___401 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___401 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___401 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___401 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___401 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___401 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___401 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___401 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___401 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___401 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___401 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___401 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___401 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___401 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___401 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___401 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___401 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___401 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___401 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___401 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___401 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___401 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___401 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___401 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___401 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___401 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___401 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___401 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___401 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___401 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___401 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___401 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___401 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___401 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___401 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___401 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___401 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___401 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___401 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___401 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___401 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___401 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___401 = 1147,
    _CS_V6_ENV___401 = 1148,
    _CS_V7_ENV___401 = 1149
} ;
enum __anonenum_513775621___401 {
    DT_UNKNOWN___401 = 0,
    DT_FIFO___401 = 1,
    DT_CHR___401 = 2,
    DT_DIR___401 = 4,
    DT_BLK___401 = 6,
    DT_REG___401 = 8,
    DT_LNK___401 = 10,
    DT_SOCK___401 = 12,
    DT_WHT___401 = 14
} ;
enum __anonenum_77002343___401 {
    SI_ASYNCNL___401 = -60,
    SI_TKILL___401 = -6,
    SI_SIGIO___401 = -5,
    SI_ASYNCIO___401 = -4,
    SI_MESGQ___401 = -3,
    SI_TIMER___401 = -2,
    SI_QUEUE___401 = -1,
    SI_USER___401 = 0,
    SI_KERNEL___401 = 128
} ;
enum __anonenum_131038172___401 {
    ILL_ILLOPC___401 = 1,
    ILL_ILLOPN___401 = 2,
    ILL_ILLADR___401 = 3,
    ILL_ILLTRP___401 = 4,
    ILL_PRVOPC___401 = 5,
    ILL_PRVREG___401 = 6,
    ILL_COPROC___401 = 7,
    ILL_BADSTK___401 = 8
} ;
enum __anonenum_452038093___401 {
    FPE_INTDIV___401 = 1,
    FPE_INTOVF___401 = 2,
    FPE_FLTDIV___401 = 3,
    FPE_FLTOVF___401 = 4,
    FPE_FLTUND___401 = 5,
    FPE_FLTRES___401 = 6,
    FPE_FLTINV___401 = 7,
    FPE_FLTSUB___401 = 8
} ;
enum __anonenum_30976155___401 {
    SEGV_MAPERR___401 = 1,
    SEGV_ACCERR___401 = 2,
    SEGV_BNDERR___401 = 3,
    SEGV_PKUERR___401 = 4
} ;
enum __anonenum_1036286214___401 {
    BUS_ADRALN___401 = 1,
    BUS_ADRERR___401 = 2,
    BUS_OBJERR___401 = 3,
    BUS_MCEERR_AR___401 = 4,
    BUS_MCEERR_AO___401 = 5
} ;
enum __anonenum_493465559___401 {
    TRAP_BRKPT___401 = 1,
    TRAP_TRACE___401 = 2
} ;
enum __anonenum_23175539___401 {
    CLD_EXITED___401 = 1,
    CLD_KILLED___401 = 2,
    CLD_DUMPED___401 = 3,
    CLD_TRAPPED___401 = 4,
    CLD_STOPPED___401 = 5,
    CLD_CONTINUED___401 = 6
} ;
enum __anonenum_111643124___401 {
    POLL_IN___401 = 1,
    POLL_OUT___401 = 2,
    POLL_MSG___401 = 3,
    POLL_ERR___401 = 4,
    POLL_PRI___401 = 5,
    POLL_HUP___401 = 6
} ;
enum __anonenum_852341087___401 {
    SIGEV_SIGNAL___401 = 0,
    SIGEV_NONE___401 = 1,
    SIGEV_THREAD___401 = 2,
    SIGEV_THREAD_ID___401 = 4
} ;
enum __anonenum_451154152___401 {
    REG_R8___401 = 0,
    REG_R9___401 = 1,
    REG_R10___401 = 2,
    REG_R11___401 = 3,
    REG_R12___401 = 4,
    REG_R13___401 = 5,
    REG_R14___401 = 6,
    REG_R15___401 = 7,
    REG_RDI___401 = 8,
    REG_RSI___401 = 9,
    REG_RBP___401 = 10,
    REG_RBX___401 = 11,
    REG_RDX___401 = 12,
    REG_RAX___401 = 13,
    REG_RCX___401 = 14,
    REG_RSP___401 = 15,
    REG_RIP___401 = 16,
    REG_EFL___401 = 17,
    REG_CSGSFS___401 = 18,
    REG_ERR___401 = 19,
    REG_TRAPNO___401 = 20,
    REG_OLDMASK___401 = 21,
    REG_CR2___401 = 22
} ;
enum __anonenum_57186863___401 {
    SS_ONSTACK___401 = 1,
    SS_DISABLE___401 = 2
} ;
enum __anonenum_83571709___401 {
    MSG_OOB___401 = 1,
    MSG_PEEK___401 = 2,
    MSG_DONTROUTE___401 = 4,
    MSG_TRYHARD___401 = 4,
    MSG_CTRUNC___401 = 8,
    MSG_PROXY___401 = 16,
    MSG_TRUNC___401 = 32,
    MSG_DONTWAIT___401 = 64,
    MSG_EOR___401 = 128,
    MSG_WAITALL___401 = 256,
    MSG_FIN___401 = 512,
    MSG_SYN___401 = 1024,
    MSG_CONFIRM___401 = 2048,
    MSG_RST___401 = 4096,
    MSG_ERRQUEUE___401 = 8192,
    MSG_NOSIGNAL___401 = 16384,
    MSG_MORE___401 = 32768,
    MSG_WAITFORONE___401 = 65536,
    MSG_BATCH___401 = 262144,
    MSG_ZEROCOPY___401 = 67108864,
    MSG_FASTOPEN___401 = 536870912,
    MSG_CMSG_CLOEXEC___401 = 1073741824
} ;
enum __anonenum_617082774___401 {
    SCM_RIGHTS___401 = 1,
    SCM_CREDENTIALS___401 = 2
} ;
enum __anonenum_606441560___401 {
    SHUT_RD___401 = 0,
    SHUT_WR___401 = 1,
    SHUT_RDWR___401 = 2
} ;
enum __anonenum_681669233___401 {
    IPPROTO_IP___401 = 0,
    IPPROTO_ICMP___401 = 1,
    IPPROTO_IGMP___401 = 2,
    IPPROTO_IPIP___401 = 4,
    IPPROTO_TCP___401 = 6,
    IPPROTO_EGP___401 = 8,
    IPPROTO_PUP___401 = 12,
    IPPROTO_UDP___401 = 17,
    IPPROTO_IDP___401 = 22,
    IPPROTO_TP___401 = 29,
    IPPROTO_DCCP___401 = 33,
    IPPROTO_IPV6___401 = 41,
    IPPROTO_RSVP___401 = 46,
    IPPROTO_GRE___401 = 47,
    IPPROTO_ESP___401 = 50,
    IPPROTO_AH___401 = 51,
    IPPROTO_MTP___401 = 92,
    IPPROTO_BEETPH___401 = 94,
    IPPROTO_ENCAP___401 = 98,
    IPPROTO_PIM___401 = 103,
    IPPROTO_COMP___401 = 108,
    IPPROTO_SCTP___401 = 132,
    IPPROTO_UDPLITE___401 = 136,
    IPPROTO_MPLS___401 = 137,
    IPPROTO_RAW___401 = 255,
    IPPROTO_MAX___401 = 256
} ;
enum __anonenum_218739988___401 {
    IPPROTO_HOPOPTS___401 = 0,
    IPPROTO_ROUTING___401 = 43,
    IPPROTO_FRAGMENT___401 = 44,
    IPPROTO_ICMPV6___401 = 58,
    IPPROTO_NONE___401 = 59,
    IPPROTO_DSTOPTS___401 = 60,
    IPPROTO_MH___401 = 135
} ;
enum __anonenum_662268580___401 {
    IPPORT_ECHO___401 = 7,
    IPPORT_DISCARD___401 = 9,
    IPPORT_SYSTAT___401 = 11,
    IPPORT_DAYTIME___401 = 13,
    IPPORT_NETSTAT___401 = 15,
    IPPORT_FTP___401 = 21,
    IPPORT_TELNET___401 = 23,
    IPPORT_SMTP___401 = 25,
    IPPORT_TIMESERVER___401 = 37,
    IPPORT_NAMESERVER___401 = 42,
    IPPORT_WHOIS___401 = 43,
    IPPORT_MTP___401 = 57,
    IPPORT_TFTP___401 = 69,
    IPPORT_RJE___401 = 77,
    IPPORT_FINGER___401 = 79,
    IPPORT_TTYLINK___401 = 87,
    IPPORT_SUPDUP___401 = 95,
    IPPORT_EXECSERVER___401 = 512,
    IPPORT_LOGINSERVER___401 = 513,
    IPPORT_CMDSERVER___401 = 514,
    IPPORT_EFSSERVER___401 = 520,
    IPPORT_BIFFUDP___401 = 512,
    IPPORT_WHOSERVER___401 = 513,
    IPPORT_ROUTESERVER___401 = 520,
    IPPORT_RESERVED___401 = 1024,
    IPPORT_USERRESERVED___401 = 5000
} ;
enum __anonenum_788308992___401 {
    TCP_ESTABLISHED___401 = 1,
    TCP_SYN_SENT___401 = 2,
    TCP_SYN_RECV___401 = 3,
    TCP_FIN_WAIT1___401 = 4,
    TCP_FIN_WAIT2___401 = 5,
    TCP_TIME_WAIT___401 = 6,
    TCP_CLOSE___401 = 7,
    TCP_CLOSE_WAIT___401 = 8,
    TCP_LAST_ACK___401 = 9,
    TCP_LISTEN___401 = 10,
    TCP_CLOSING___401 = 11
} ;
enum __anonenum_221125648___401 {
    TCP_NO_QUEUE___401 = 0,
    TCP_RECV_QUEUE___401 = 1,
    TCP_SEND_QUEUE___401 = 2,
    TCP_QUEUES_NR___401 = 3
} ;
enum __anonenum_34415463___401 {
    PTHREAD_CREATE_JOINABLE___401 = 0,
    PTHREAD_CREATE_DETACHED___401 = 1
} ;
enum __anonenum_303612439___401 {
    PTHREAD_MUTEX_TIMED_NP___401 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___401 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___401 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___401 = 3,
    PTHREAD_MUTEX_NORMAL___401 = 0,
    PTHREAD_MUTEX_RECURSIVE___401 = 1,
    PTHREAD_MUTEX_ERRORCHECK___401 = 2,
    PTHREAD_MUTEX_DEFAULT___401 = 0,
    PTHREAD_MUTEX_FAST_NP___401 = 0
} ;
enum __anonenum_931900394___401 {
    PTHREAD_MUTEX_STALLED___401 = 0,
    PTHREAD_MUTEX_STALLED_NP___401 = 0,
    PTHREAD_MUTEX_ROBUST___401 = 1,
    PTHREAD_MUTEX_ROBUST_NP___401 = 1
} ;
enum __anonenum_205214487___401 {
    PTHREAD_PRIO_NONE___401 = 0,
    PTHREAD_PRIO_INHERIT___401 = 1,
    PTHREAD_PRIO_PROTECT___401 = 2
} ;
enum __anonenum_25043950___401 {
    PTHREAD_RWLOCK_PREFER_READER_NP___401 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___401 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___401 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___401 = 0
} ;
enum __anonenum_436439511___401 {
    PTHREAD_INHERIT_SCHED___401 = 0,
    PTHREAD_EXPLICIT_SCHED___401 = 1
} ;
enum __anonenum_998661166___401 {
    PTHREAD_SCOPE_SYSTEM___401 = 0,
    PTHREAD_SCOPE_PROCESS___401 = 1
} ;
enum __anonenum_146137331___401 {
    PTHREAD_PROCESS_PRIVATE___401 = 0,
    PTHREAD_PROCESS_SHARED___401 = 1
} ;
enum __anonenum_53396917___401 {
    PTHREAD_CANCEL_ENABLE___401 = 0,
    PTHREAD_CANCEL_DISABLE___401 = 1
} ;
enum __anonenum_904563783___401 {
    PTHREAD_CANCEL_DEFERRED___401 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___401 = 1
} ;
enum __anonenum_672052974___401 {
    SSL_CT_VALIDATION_PERMISSIVE___401 = 0,
    SSL_CT_VALIDATION_STRICT___401 = 1
} ;
struct curry {
   void *last ;
};
enum __anonenum_437032235___402 {
    _PC_LINK_MAX___402 = 0,
    _PC_MAX_CANON___402 = 1,
    _PC_MAX_INPUT___402 = 2,
    _PC_NAME_MAX___402 = 3,
    _PC_PATH_MAX___402 = 4,
    _PC_PIPE_BUF___402 = 5,
    _PC_CHOWN_RESTRICTED___402 = 6,
    _PC_NO_TRUNC___402 = 7,
    _PC_VDISABLE___402 = 8,
    _PC_SYNC_IO___402 = 9,
    _PC_ASYNC_IO___402 = 10,
    _PC_PRIO_IO___402 = 11,
    _PC_SOCK_MAXBUF___402 = 12,
    _PC_FILESIZEBITS___402 = 13,
    _PC_REC_INCR_XFER_SIZE___402 = 14,
    _PC_REC_MAX_XFER_SIZE___402 = 15,
    _PC_REC_MIN_XFER_SIZE___402 = 16,
    _PC_REC_XFER_ALIGN___402 = 17,
    _PC_ALLOC_SIZE_MIN___402 = 18,
    _PC_SYMLINK_MAX___402 = 19,
    _PC_2_SYMLINKS___402 = 20
} ;
enum __anonenum_315186338___402 {
    _SC_ARG_MAX___402 = 0,
    _SC_CHILD_MAX___402 = 1,
    _SC_CLK_TCK___402 = 2,
    _SC_NGROUPS_MAX___402 = 3,
    _SC_OPEN_MAX___402 = 4,
    _SC_STREAM_MAX___402 = 5,
    _SC_TZNAME_MAX___402 = 6,
    _SC_JOB_CONTROL___402 = 7,
    _SC_SAVED_IDS___402 = 8,
    _SC_REALTIME_SIGNALS___402 = 9,
    _SC_PRIORITY_SCHEDULING___402 = 10,
    _SC_TIMERS___402 = 11,
    _SC_ASYNCHRONOUS_IO___402 = 12,
    _SC_PRIORITIZED_IO___402 = 13,
    _SC_SYNCHRONIZED_IO___402 = 14,
    _SC_FSYNC___402 = 15,
    _SC_MAPPED_FILES___402 = 16,
    _SC_MEMLOCK___402 = 17,
    _SC_MEMLOCK_RANGE___402 = 18,
    _SC_MEMORY_PROTECTION___402 = 19,
    _SC_MESSAGE_PASSING___402 = 20,
    _SC_SEMAPHORES___402 = 21,
    _SC_SHARED_MEMORY_OBJECTS___402 = 22,
    _SC_AIO_LISTIO_MAX___402 = 23,
    _SC_AIO_MAX___402 = 24,
    _SC_AIO_PRIO_DELTA_MAX___402 = 25,
    _SC_DELAYTIMER_MAX___402 = 26,
    _SC_MQ_OPEN_MAX___402 = 27,
    _SC_MQ_PRIO_MAX___402 = 28,
    _SC_VERSION___402 = 29,
    _SC_PAGESIZE___402 = 30,
    _SC_RTSIG_MAX___402 = 31,
    _SC_SEM_NSEMS_MAX___402 = 32,
    _SC_SEM_VALUE_MAX___402 = 33,
    _SC_SIGQUEUE_MAX___402 = 34,
    _SC_TIMER_MAX___402 = 35,
    _SC_BC_BASE_MAX___402 = 36,
    _SC_BC_DIM_MAX___402 = 37,
    _SC_BC_SCALE_MAX___402 = 38,
    _SC_BC_STRING_MAX___402 = 39,
    _SC_COLL_WEIGHTS_MAX___402 = 40,
    _SC_EQUIV_CLASS_MAX___402 = 41,
    _SC_EXPR_NEST_MAX___402 = 42,
    _SC_LINE_MAX___402 = 43,
    _SC_RE_DUP_MAX___402 = 44,
    _SC_CHARCLASS_NAME_MAX___402 = 45,
    _SC_2_VERSION___402 = 46,
    _SC_2_C_BIND___402 = 47,
    _SC_2_C_DEV___402 = 48,
    _SC_2_FORT_DEV___402 = 49,
    _SC_2_FORT_RUN___402 = 50,
    _SC_2_SW_DEV___402 = 51,
    _SC_2_LOCALEDEF___402 = 52,
    _SC_PII___402 = 53,
    _SC_PII_XTI___402 = 54,
    _SC_PII_SOCKET___402 = 55,
    _SC_PII_INTERNET___402 = 56,
    _SC_PII_OSI___402 = 57,
    _SC_POLL___402 = 58,
    _SC_SELECT___402 = 59,
    _SC_UIO_MAXIOV___402 = 60,
    _SC_IOV_MAX___402 = 60,
    _SC_PII_INTERNET_STREAM___402 = 61,
    _SC_PII_INTERNET_DGRAM___402 = 62,
    _SC_PII_OSI_COTS___402 = 63,
    _SC_PII_OSI_CLTS___402 = 64,
    _SC_PII_OSI_M___402 = 65,
    _SC_T_IOV_MAX___402 = 66,
    _SC_THREADS___402 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___402 = 68,
    _SC_GETGR_R_SIZE_MAX___402 = 69,
    _SC_GETPW_R_SIZE_MAX___402 = 70,
    _SC_LOGIN_NAME_MAX___402 = 71,
    _SC_TTY_NAME_MAX___402 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___402 = 73,
    _SC_THREAD_KEYS_MAX___402 = 74,
    _SC_THREAD_STACK_MIN___402 = 75,
    _SC_THREAD_THREADS_MAX___402 = 76,
    _SC_THREAD_ATTR_STACKADDR___402 = 77,
    _SC_THREAD_ATTR_STACKSIZE___402 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___402 = 79,
    _SC_THREAD_PRIO_INHERIT___402 = 80,
    _SC_THREAD_PRIO_PROTECT___402 = 81,
    _SC_THREAD_PROCESS_SHARED___402 = 82,
    _SC_NPROCESSORS_CONF___402 = 83,
    _SC_NPROCESSORS_ONLN___402 = 84,
    _SC_PHYS_PAGES___402 = 85,
    _SC_AVPHYS_PAGES___402 = 86,
    _SC_ATEXIT_MAX___402 = 87,
    _SC_PASS_MAX___402 = 88,
    _SC_XOPEN_VERSION___402 = 89,
    _SC_XOPEN_XCU_VERSION___402 = 90,
    _SC_XOPEN_UNIX___402 = 91,
    _SC_XOPEN_CRYPT___402 = 92,
    _SC_XOPEN_ENH_I18N___402 = 93,
    _SC_XOPEN_SHM___402 = 94,
    _SC_2_CHAR_TERM___402 = 95,
    _SC_2_C_VERSION___402 = 96,
    _SC_2_UPE___402 = 97,
    _SC_XOPEN_XPG2___402 = 98,
    _SC_XOPEN_XPG3___402 = 99,
    _SC_XOPEN_XPG4___402 = 100,
    _SC_CHAR_BIT___402 = 101,
    _SC_CHAR_MAX___402 = 102,
    _SC_CHAR_MIN___402 = 103,
    _SC_INT_MAX___402 = 104,
    _SC_INT_MIN___402 = 105,
    _SC_LONG_BIT___402 = 106,
    _SC_WORD_BIT___402 = 107,
    _SC_MB_LEN_MAX___402 = 108,
    _SC_NZERO___402 = 109,
    _SC_SSIZE_MAX___402 = 110,
    _SC_SCHAR_MAX___402 = 111,
    _SC_SCHAR_MIN___402 = 112,
    _SC_SHRT_MAX___402 = 113,
    _SC_SHRT_MIN___402 = 114,
    _SC_UCHAR_MAX___402 = 115,
    _SC_UINT_MAX___402 = 116,
    _SC_ULONG_MAX___402 = 117,
    _SC_USHRT_MAX___402 = 118,
    _SC_NL_ARGMAX___402 = 119,
    _SC_NL_LANGMAX___402 = 120,
    _SC_NL_MSGMAX___402 = 121,
    _SC_NL_NMAX___402 = 122,
    _SC_NL_SETMAX___402 = 123,
    _SC_NL_TEXTMAX___402 = 124,
    _SC_XBS5_ILP32_OFF32___402 = 125,
    _SC_XBS5_ILP32_OFFBIG___402 = 126,
    _SC_XBS5_LP64_OFF64___402 = 127,
    _SC_XBS5_LPBIG_OFFBIG___402 = 128,
    _SC_XOPEN_LEGACY___402 = 129,
    _SC_XOPEN_REALTIME___402 = 130,
    _SC_XOPEN_REALTIME_THREADS___402 = 131,
    _SC_ADVISORY_INFO___402 = 132,
    _SC_BARRIERS___402 = 133,
    _SC_BASE___402 = 134,
    _SC_C_LANG_SUPPORT___402 = 135,
    _SC_C_LANG_SUPPORT_R___402 = 136,
    _SC_CLOCK_SELECTION___402 = 137,
    _SC_CPUTIME___402 = 138,
    _SC_THREAD_CPUTIME___402 = 139,
    _SC_DEVICE_IO___402 = 140,
    _SC_DEVICE_SPECIFIC___402 = 141,
    _SC_DEVICE_SPECIFIC_R___402 = 142,
    _SC_FD_MGMT___402 = 143,
    _SC_FIFO___402 = 144,
    _SC_PIPE___402 = 145,
    _SC_FILE_ATTRIBUTES___402 = 146,
    _SC_FILE_LOCKING___402 = 147,
    _SC_FILE_SYSTEM___402 = 148,
    _SC_MONOTONIC_CLOCK___402 = 149,
    _SC_MULTI_PROCESS___402 = 150,
    _SC_SINGLE_PROCESS___402 = 151,
    _SC_NETWORKING___402 = 152,
    _SC_READER_WRITER_LOCKS___402 = 153,
    _SC_SPIN_LOCKS___402 = 154,
    _SC_REGEXP___402 = 155,
    _SC_REGEX_VERSION___402 = 156,
    _SC_SHELL___402 = 157,
    _SC_SIGNALS___402 = 158,
    _SC_SPAWN___402 = 159,
    _SC_SPORADIC_SERVER___402 = 160,
    _SC_THREAD_SPORADIC_SERVER___402 = 161,
    _SC_SYSTEM_DATABASE___402 = 162,
    _SC_SYSTEM_DATABASE_R___402 = 163,
    _SC_TIMEOUTS___402 = 164,
    _SC_TYPED_MEMORY_OBJECTS___402 = 165,
    _SC_USER_GROUPS___402 = 166,
    _SC_USER_GROUPS_R___402 = 167,
    _SC_2_PBS___402 = 168,
    _SC_2_PBS_ACCOUNTING___402 = 169,
    _SC_2_PBS_LOCATE___402 = 170,
    _SC_2_PBS_MESSAGE___402 = 171,
    _SC_2_PBS_TRACK___402 = 172,
    _SC_SYMLOOP_MAX___402 = 173,
    _SC_STREAMS___402 = 174,
    _SC_2_PBS_CHECKPOINT___402 = 175,
    _SC_V6_ILP32_OFF32___402 = 176,
    _SC_V6_ILP32_OFFBIG___402 = 177,
    _SC_V6_LP64_OFF64___402 = 178,
    _SC_V6_LPBIG_OFFBIG___402 = 179,
    _SC_HOST_NAME_MAX___402 = 180,
    _SC_TRACE___402 = 181,
    _SC_TRACE_EVENT_FILTER___402 = 182,
    _SC_TRACE_INHERIT___402 = 183,
    _SC_TRACE_LOG___402 = 184,
    _SC_LEVEL1_ICACHE_SIZE___402 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___402 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___402 = 187,
    _SC_LEVEL1_DCACHE_SIZE___402 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___402 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___402 = 190,
    _SC_LEVEL2_CACHE_SIZE___402 = 191,
    _SC_LEVEL2_CACHE_ASSOC___402 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___402 = 193,
    _SC_LEVEL3_CACHE_SIZE___402 = 194,
    _SC_LEVEL3_CACHE_ASSOC___402 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___402 = 196,
    _SC_LEVEL4_CACHE_SIZE___402 = 197,
    _SC_LEVEL4_CACHE_ASSOC___402 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___402 = 199,
    _SC_IPV6___402 = 235,
    _SC_RAW_SOCKETS___402 = 236,
    _SC_V7_ILP32_OFF32___402 = 237,
    _SC_V7_ILP32_OFFBIG___402 = 238,
    _SC_V7_LP64_OFF64___402 = 239,
    _SC_V7_LPBIG_OFFBIG___402 = 240,
    _SC_SS_REPL_MAX___402 = 241,
    _SC_TRACE_EVENT_NAME_MAX___402 = 242,
    _SC_TRACE_NAME_MAX___402 = 243,
    _SC_TRACE_SYS_MAX___402 = 244,
    _SC_TRACE_USER_EVENT_MAX___402 = 245,
    _SC_XOPEN_STREAMS___402 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___402 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___402 = 248
} ;
enum __anonenum_875524036___402 {
    _CS_PATH___402 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___402 = 1,
    _CS_GNU_LIBC_VERSION___402 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___402 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___402 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___402 = 5,
    _CS_LFS_CFLAGS___402 = 1000,
    _CS_LFS_LDFLAGS___402 = 1001,
    _CS_LFS_LIBS___402 = 1002,
    _CS_LFS_LINTFLAGS___402 = 1003,
    _CS_LFS64_CFLAGS___402 = 1004,
    _CS_LFS64_LDFLAGS___402 = 1005,
    _CS_LFS64_LIBS___402 = 1006,
    _CS_LFS64_LINTFLAGS___402 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___402 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___402 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___402 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___402 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___402 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___402 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___402 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___402 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___402 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___402 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___402 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___402 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___402 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___402 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___402 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___402 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___402 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___402 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___402 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___402 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___402 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___402 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___402 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___402 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___402 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___402 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___402 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___402 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___402 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___402 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___402 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___402 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___402 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___402 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___402 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___402 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___402 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___402 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___402 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___402 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___402 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___402 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___402 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___402 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___402 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___402 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___402 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___402 = 1147,
    _CS_V6_ENV___402 = 1148,
    _CS_V7_ENV___402 = 1149
} ;
enum __anonenum_513775621___402 {
    DT_UNKNOWN___402 = 0,
    DT_FIFO___402 = 1,
    DT_CHR___402 = 2,
    DT_DIR___402 = 4,
    DT_BLK___402 = 6,
    DT_REG___402 = 8,
    DT_LNK___402 = 10,
    DT_SOCK___402 = 12,
    DT_WHT___402 = 14
} ;
enum __anonenum_77002343___402 {
    SI_ASYNCNL___402 = -60,
    SI_TKILL___402 = -6,
    SI_SIGIO___402 = -5,
    SI_ASYNCIO___402 = -4,
    SI_MESGQ___402 = -3,
    SI_TIMER___402 = -2,
    SI_QUEUE___402 = -1,
    SI_USER___402 = 0,
    SI_KERNEL___402 = 128
} ;
enum __anonenum_131038172___402 {
    ILL_ILLOPC___402 = 1,
    ILL_ILLOPN___402 = 2,
    ILL_ILLADR___402 = 3,
    ILL_ILLTRP___402 = 4,
    ILL_PRVOPC___402 = 5,
    ILL_PRVREG___402 = 6,
    ILL_COPROC___402 = 7,
    ILL_BADSTK___402 = 8
} ;
enum __anonenum_452038093___402 {
    FPE_INTDIV___402 = 1,
    FPE_INTOVF___402 = 2,
    FPE_FLTDIV___402 = 3,
    FPE_FLTOVF___402 = 4,
    FPE_FLTUND___402 = 5,
    FPE_FLTRES___402 = 6,
    FPE_FLTINV___402 = 7,
    FPE_FLTSUB___402 = 8
} ;
enum __anonenum_30976155___402 {
    SEGV_MAPERR___402 = 1,
    SEGV_ACCERR___402 = 2,
    SEGV_BNDERR___402 = 3,
    SEGV_PKUERR___402 = 4
} ;
enum __anonenum_1036286214___402 {
    BUS_ADRALN___402 = 1,
    BUS_ADRERR___402 = 2,
    BUS_OBJERR___402 = 3,
    BUS_MCEERR_AR___402 = 4,
    BUS_MCEERR_AO___402 = 5
} ;
enum __anonenum_493465559___402 {
    TRAP_BRKPT___402 = 1,
    TRAP_TRACE___402 = 2
} ;
enum __anonenum_23175539___402 {
    CLD_EXITED___402 = 1,
    CLD_KILLED___402 = 2,
    CLD_DUMPED___402 = 3,
    CLD_TRAPPED___402 = 4,
    CLD_STOPPED___402 = 5,
    CLD_CONTINUED___402 = 6
} ;
enum __anonenum_111643124___402 {
    POLL_IN___402 = 1,
    POLL_OUT___402 = 2,
    POLL_MSG___402 = 3,
    POLL_ERR___402 = 4,
    POLL_PRI___402 = 5,
    POLL_HUP___402 = 6
} ;
enum __anonenum_852341087___402 {
    SIGEV_SIGNAL___402 = 0,
    SIGEV_NONE___402 = 1,
    SIGEV_THREAD___402 = 2,
    SIGEV_THREAD_ID___402 = 4
} ;
enum __anonenum_451154152___402 {
    REG_R8___402 = 0,
    REG_R9___402 = 1,
    REG_R10___402 = 2,
    REG_R11___402 = 3,
    REG_R12___402 = 4,
    REG_R13___402 = 5,
    REG_R14___402 = 6,
    REG_R15___402 = 7,
    REG_RDI___402 = 8,
    REG_RSI___402 = 9,
    REG_RBP___402 = 10,
    REG_RBX___402 = 11,
    REG_RDX___402 = 12,
    REG_RAX___402 = 13,
    REG_RCX___402 = 14,
    REG_RSP___402 = 15,
    REG_RIP___402 = 16,
    REG_EFL___402 = 17,
    REG_CSGSFS___402 = 18,
    REG_ERR___402 = 19,
    REG_TRAPNO___402 = 20,
    REG_OLDMASK___402 = 21,
    REG_CR2___402 = 22
} ;
enum __anonenum_57186863___402 {
    SS_ONSTACK___402 = 1,
    SS_DISABLE___402 = 2
} ;
enum __anonenum_83571709___402 {
    MSG_OOB___402 = 1,
    MSG_PEEK___402 = 2,
    MSG_DONTROUTE___402 = 4,
    MSG_TRYHARD___402 = 4,
    MSG_CTRUNC___402 = 8,
    MSG_PROXY___402 = 16,
    MSG_TRUNC___402 = 32,
    MSG_DONTWAIT___402 = 64,
    MSG_EOR___402 = 128,
    MSG_WAITALL___402 = 256,
    MSG_FIN___402 = 512,
    MSG_SYN___402 = 1024,
    MSG_CONFIRM___402 = 2048,
    MSG_RST___402 = 4096,
    MSG_ERRQUEUE___402 = 8192,
    MSG_NOSIGNAL___402 = 16384,
    MSG_MORE___402 = 32768,
    MSG_WAITFORONE___402 = 65536,
    MSG_BATCH___402 = 262144,
    MSG_ZEROCOPY___402 = 67108864,
    MSG_FASTOPEN___402 = 536870912,
    MSG_CMSG_CLOEXEC___402 = 1073741824
} ;
enum __anonenum_617082774___402 {
    SCM_RIGHTS___402 = 1,
    SCM_CREDENTIALS___402 = 2
} ;
enum __anonenum_606441560___402 {
    SHUT_RD___402 = 0,
    SHUT_WR___402 = 1,
    SHUT_RDWR___402 = 2
} ;
enum __anonenum_681669233___402 {
    IPPROTO_IP___402 = 0,
    IPPROTO_ICMP___402 = 1,
    IPPROTO_IGMP___402 = 2,
    IPPROTO_IPIP___402 = 4,
    IPPROTO_TCP___402 = 6,
    IPPROTO_EGP___402 = 8,
    IPPROTO_PUP___402 = 12,
    IPPROTO_UDP___402 = 17,
    IPPROTO_IDP___402 = 22,
    IPPROTO_TP___402 = 29,
    IPPROTO_DCCP___402 = 33,
    IPPROTO_IPV6___402 = 41,
    IPPROTO_RSVP___402 = 46,
    IPPROTO_GRE___402 = 47,
    IPPROTO_ESP___402 = 50,
    IPPROTO_AH___402 = 51,
    IPPROTO_MTP___402 = 92,
    IPPROTO_BEETPH___402 = 94,
    IPPROTO_ENCAP___402 = 98,
    IPPROTO_PIM___402 = 103,
    IPPROTO_COMP___402 = 108,
    IPPROTO_SCTP___402 = 132,
    IPPROTO_UDPLITE___402 = 136,
    IPPROTO_MPLS___402 = 137,
    IPPROTO_RAW___402 = 255,
    IPPROTO_MAX___402 = 256
} ;
enum __anonenum_218739988___402 {
    IPPROTO_HOPOPTS___402 = 0,
    IPPROTO_ROUTING___402 = 43,
    IPPROTO_FRAGMENT___402 = 44,
    IPPROTO_ICMPV6___402 = 58,
    IPPROTO_NONE___402 = 59,
    IPPROTO_DSTOPTS___402 = 60,
    IPPROTO_MH___402 = 135
} ;
enum __anonenum_662268580___402 {
    IPPORT_ECHO___402 = 7,
    IPPORT_DISCARD___402 = 9,
    IPPORT_SYSTAT___402 = 11,
    IPPORT_DAYTIME___402 = 13,
    IPPORT_NETSTAT___402 = 15,
    IPPORT_FTP___402 = 21,
    IPPORT_TELNET___402 = 23,
    IPPORT_SMTP___402 = 25,
    IPPORT_TIMESERVER___402 = 37,
    IPPORT_NAMESERVER___402 = 42,
    IPPORT_WHOIS___402 = 43,
    IPPORT_MTP___402 = 57,
    IPPORT_TFTP___402 = 69,
    IPPORT_RJE___402 = 77,
    IPPORT_FINGER___402 = 79,
    IPPORT_TTYLINK___402 = 87,
    IPPORT_SUPDUP___402 = 95,
    IPPORT_EXECSERVER___402 = 512,
    IPPORT_LOGINSERVER___402 = 513,
    IPPORT_CMDSERVER___402 = 514,
    IPPORT_EFSSERVER___402 = 520,
    IPPORT_BIFFUDP___402 = 512,
    IPPORT_WHOSERVER___402 = 513,
    IPPORT_ROUTESERVER___402 = 520,
    IPPORT_RESERVED___402 = 1024,
    IPPORT_USERRESERVED___402 = 5000
} ;
enum __anonenum_788308992___402 {
    TCP_ESTABLISHED___402 = 1,
    TCP_SYN_SENT___402 = 2,
    TCP_SYN_RECV___402 = 3,
    TCP_FIN_WAIT1___402 = 4,
    TCP_FIN_WAIT2___402 = 5,
    TCP_TIME_WAIT___402 = 6,
    TCP_CLOSE___402 = 7,
    TCP_CLOSE_WAIT___402 = 8,
    TCP_LAST_ACK___402 = 9,
    TCP_LISTEN___402 = 10,
    TCP_CLOSING___402 = 11
} ;
enum __anonenum_221125648___402 {
    TCP_NO_QUEUE___402 = 0,
    TCP_RECV_QUEUE___402 = 1,
    TCP_SEND_QUEUE___402 = 2,
    TCP_QUEUES_NR___402 = 3
} ;
enum __anonenum_34415463___402 {
    PTHREAD_CREATE_JOINABLE___402 = 0,
    PTHREAD_CREATE_DETACHED___402 = 1
} ;
enum __anonenum_303612439___402 {
    PTHREAD_MUTEX_TIMED_NP___402 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___402 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___402 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___402 = 3,
    PTHREAD_MUTEX_NORMAL___402 = 0,
    PTHREAD_MUTEX_RECURSIVE___402 = 1,
    PTHREAD_MUTEX_ERRORCHECK___402 = 2,
    PTHREAD_MUTEX_DEFAULT___402 = 0,
    PTHREAD_MUTEX_FAST_NP___402 = 0
} ;
enum __anonenum_931900394___402 {
    PTHREAD_MUTEX_STALLED___402 = 0,
    PTHREAD_MUTEX_STALLED_NP___402 = 0,
    PTHREAD_MUTEX_ROBUST___402 = 1,
    PTHREAD_MUTEX_ROBUST_NP___402 = 1
} ;
enum __anonenum_205214487___402 {
    PTHREAD_PRIO_NONE___402 = 0,
    PTHREAD_PRIO_INHERIT___402 = 1,
    PTHREAD_PRIO_PROTECT___402 = 2
} ;
enum __anonenum_25043950___402 {
    PTHREAD_RWLOCK_PREFER_READER_NP___402 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___402 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___402 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___402 = 0
} ;
enum __anonenum_436439511___402 {
    PTHREAD_INHERIT_SCHED___402 = 0,
    PTHREAD_EXPLICIT_SCHED___402 = 1
} ;
enum __anonenum_998661166___402 {
    PTHREAD_SCOPE_SYSTEM___402 = 0,
    PTHREAD_SCOPE_PROCESS___402 = 1
} ;
enum __anonenum_146137331___402 {
    PTHREAD_PROCESS_PRIVATE___402 = 0,
    PTHREAD_PROCESS_SHARED___402 = 1
} ;
enum __anonenum_53396917___402 {
    PTHREAD_CANCEL_ENABLE___402 = 0,
    PTHREAD_CANCEL_DISABLE___402 = 1
} ;
enum __anonenum_904563783___402 {
    PTHREAD_CANCEL_DEFERRED___402 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___402 = 1
} ;
enum __anonenum_672052974___402 {
    SSL_CT_VALIDATION_PERMISSIVE___402 = 0,
    SSL_CT_VALIDATION_STRICT___402 = 1
} ;
struct test_cmd {
   char const   *name ;
   int (*fn)(int argc , char const   **argv ) ;
};
enum __anonenum_437032235___403 {
    _PC_LINK_MAX___403 = 0,
    _PC_MAX_CANON___403 = 1,
    _PC_MAX_INPUT___403 = 2,
    _PC_NAME_MAX___403 = 3,
    _PC_PATH_MAX___403 = 4,
    _PC_PIPE_BUF___403 = 5,
    _PC_CHOWN_RESTRICTED___403 = 6,
    _PC_NO_TRUNC___403 = 7,
    _PC_VDISABLE___403 = 8,
    _PC_SYNC_IO___403 = 9,
    _PC_ASYNC_IO___403 = 10,
    _PC_PRIO_IO___403 = 11,
    _PC_SOCK_MAXBUF___403 = 12,
    _PC_FILESIZEBITS___403 = 13,
    _PC_REC_INCR_XFER_SIZE___403 = 14,
    _PC_REC_MAX_XFER_SIZE___403 = 15,
    _PC_REC_MIN_XFER_SIZE___403 = 16,
    _PC_REC_XFER_ALIGN___403 = 17,
    _PC_ALLOC_SIZE_MIN___403 = 18,
    _PC_SYMLINK_MAX___403 = 19,
    _PC_2_SYMLINKS___403 = 20
} ;
enum __anonenum_315186338___403 {
    _SC_ARG_MAX___403 = 0,
    _SC_CHILD_MAX___403 = 1,
    _SC_CLK_TCK___403 = 2,
    _SC_NGROUPS_MAX___403 = 3,
    _SC_OPEN_MAX___403 = 4,
    _SC_STREAM_MAX___403 = 5,
    _SC_TZNAME_MAX___403 = 6,
    _SC_JOB_CONTROL___403 = 7,
    _SC_SAVED_IDS___403 = 8,
    _SC_REALTIME_SIGNALS___403 = 9,
    _SC_PRIORITY_SCHEDULING___403 = 10,
    _SC_TIMERS___403 = 11,
    _SC_ASYNCHRONOUS_IO___403 = 12,
    _SC_PRIORITIZED_IO___403 = 13,
    _SC_SYNCHRONIZED_IO___403 = 14,
    _SC_FSYNC___403 = 15,
    _SC_MAPPED_FILES___403 = 16,
    _SC_MEMLOCK___403 = 17,
    _SC_MEMLOCK_RANGE___403 = 18,
    _SC_MEMORY_PROTECTION___403 = 19,
    _SC_MESSAGE_PASSING___403 = 20,
    _SC_SEMAPHORES___403 = 21,
    _SC_SHARED_MEMORY_OBJECTS___403 = 22,
    _SC_AIO_LISTIO_MAX___403 = 23,
    _SC_AIO_MAX___403 = 24,
    _SC_AIO_PRIO_DELTA_MAX___403 = 25,
    _SC_DELAYTIMER_MAX___403 = 26,
    _SC_MQ_OPEN_MAX___403 = 27,
    _SC_MQ_PRIO_MAX___403 = 28,
    _SC_VERSION___403 = 29,
    _SC_PAGESIZE___403 = 30,
    _SC_RTSIG_MAX___403 = 31,
    _SC_SEM_NSEMS_MAX___403 = 32,
    _SC_SEM_VALUE_MAX___403 = 33,
    _SC_SIGQUEUE_MAX___403 = 34,
    _SC_TIMER_MAX___403 = 35,
    _SC_BC_BASE_MAX___403 = 36,
    _SC_BC_DIM_MAX___403 = 37,
    _SC_BC_SCALE_MAX___403 = 38,
    _SC_BC_STRING_MAX___403 = 39,
    _SC_COLL_WEIGHTS_MAX___403 = 40,
    _SC_EQUIV_CLASS_MAX___403 = 41,
    _SC_EXPR_NEST_MAX___403 = 42,
    _SC_LINE_MAX___403 = 43,
    _SC_RE_DUP_MAX___403 = 44,
    _SC_CHARCLASS_NAME_MAX___403 = 45,
    _SC_2_VERSION___403 = 46,
    _SC_2_C_BIND___403 = 47,
    _SC_2_C_DEV___403 = 48,
    _SC_2_FORT_DEV___403 = 49,
    _SC_2_FORT_RUN___403 = 50,
    _SC_2_SW_DEV___403 = 51,
    _SC_2_LOCALEDEF___403 = 52,
    _SC_PII___403 = 53,
    _SC_PII_XTI___403 = 54,
    _SC_PII_SOCKET___403 = 55,
    _SC_PII_INTERNET___403 = 56,
    _SC_PII_OSI___403 = 57,
    _SC_POLL___403 = 58,
    _SC_SELECT___403 = 59,
    _SC_UIO_MAXIOV___403 = 60,
    _SC_IOV_MAX___403 = 60,
    _SC_PII_INTERNET_STREAM___403 = 61,
    _SC_PII_INTERNET_DGRAM___403 = 62,
    _SC_PII_OSI_COTS___403 = 63,
    _SC_PII_OSI_CLTS___403 = 64,
    _SC_PII_OSI_M___403 = 65,
    _SC_T_IOV_MAX___403 = 66,
    _SC_THREADS___403 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___403 = 68,
    _SC_GETGR_R_SIZE_MAX___403 = 69,
    _SC_GETPW_R_SIZE_MAX___403 = 70,
    _SC_LOGIN_NAME_MAX___403 = 71,
    _SC_TTY_NAME_MAX___403 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___403 = 73,
    _SC_THREAD_KEYS_MAX___403 = 74,
    _SC_THREAD_STACK_MIN___403 = 75,
    _SC_THREAD_THREADS_MAX___403 = 76,
    _SC_THREAD_ATTR_STACKADDR___403 = 77,
    _SC_THREAD_ATTR_STACKSIZE___403 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___403 = 79,
    _SC_THREAD_PRIO_INHERIT___403 = 80,
    _SC_THREAD_PRIO_PROTECT___403 = 81,
    _SC_THREAD_PROCESS_SHARED___403 = 82,
    _SC_NPROCESSORS_CONF___403 = 83,
    _SC_NPROCESSORS_ONLN___403 = 84,
    _SC_PHYS_PAGES___403 = 85,
    _SC_AVPHYS_PAGES___403 = 86,
    _SC_ATEXIT_MAX___403 = 87,
    _SC_PASS_MAX___403 = 88,
    _SC_XOPEN_VERSION___403 = 89,
    _SC_XOPEN_XCU_VERSION___403 = 90,
    _SC_XOPEN_UNIX___403 = 91,
    _SC_XOPEN_CRYPT___403 = 92,
    _SC_XOPEN_ENH_I18N___403 = 93,
    _SC_XOPEN_SHM___403 = 94,
    _SC_2_CHAR_TERM___403 = 95,
    _SC_2_C_VERSION___403 = 96,
    _SC_2_UPE___403 = 97,
    _SC_XOPEN_XPG2___403 = 98,
    _SC_XOPEN_XPG3___403 = 99,
    _SC_XOPEN_XPG4___403 = 100,
    _SC_CHAR_BIT___403 = 101,
    _SC_CHAR_MAX___403 = 102,
    _SC_CHAR_MIN___403 = 103,
    _SC_INT_MAX___403 = 104,
    _SC_INT_MIN___403 = 105,
    _SC_LONG_BIT___403 = 106,
    _SC_WORD_BIT___403 = 107,
    _SC_MB_LEN_MAX___403 = 108,
    _SC_NZERO___403 = 109,
    _SC_SSIZE_MAX___403 = 110,
    _SC_SCHAR_MAX___403 = 111,
    _SC_SCHAR_MIN___403 = 112,
    _SC_SHRT_MAX___403 = 113,
    _SC_SHRT_MIN___403 = 114,
    _SC_UCHAR_MAX___403 = 115,
    _SC_UINT_MAX___403 = 116,
    _SC_ULONG_MAX___403 = 117,
    _SC_USHRT_MAX___403 = 118,
    _SC_NL_ARGMAX___403 = 119,
    _SC_NL_LANGMAX___403 = 120,
    _SC_NL_MSGMAX___403 = 121,
    _SC_NL_NMAX___403 = 122,
    _SC_NL_SETMAX___403 = 123,
    _SC_NL_TEXTMAX___403 = 124,
    _SC_XBS5_ILP32_OFF32___403 = 125,
    _SC_XBS5_ILP32_OFFBIG___403 = 126,
    _SC_XBS5_LP64_OFF64___403 = 127,
    _SC_XBS5_LPBIG_OFFBIG___403 = 128,
    _SC_XOPEN_LEGACY___403 = 129,
    _SC_XOPEN_REALTIME___403 = 130,
    _SC_XOPEN_REALTIME_THREADS___403 = 131,
    _SC_ADVISORY_INFO___403 = 132,
    _SC_BARRIERS___403 = 133,
    _SC_BASE___403 = 134,
    _SC_C_LANG_SUPPORT___403 = 135,
    _SC_C_LANG_SUPPORT_R___403 = 136,
    _SC_CLOCK_SELECTION___403 = 137,
    _SC_CPUTIME___403 = 138,
    _SC_THREAD_CPUTIME___403 = 139,
    _SC_DEVICE_IO___403 = 140,
    _SC_DEVICE_SPECIFIC___403 = 141,
    _SC_DEVICE_SPECIFIC_R___403 = 142,
    _SC_FD_MGMT___403 = 143,
    _SC_FIFO___403 = 144,
    _SC_PIPE___403 = 145,
    _SC_FILE_ATTRIBUTES___403 = 146,
    _SC_FILE_LOCKING___403 = 147,
    _SC_FILE_SYSTEM___403 = 148,
    _SC_MONOTONIC_CLOCK___403 = 149,
    _SC_MULTI_PROCESS___403 = 150,
    _SC_SINGLE_PROCESS___403 = 151,
    _SC_NETWORKING___403 = 152,
    _SC_READER_WRITER_LOCKS___403 = 153,
    _SC_SPIN_LOCKS___403 = 154,
    _SC_REGEXP___403 = 155,
    _SC_REGEX_VERSION___403 = 156,
    _SC_SHELL___403 = 157,
    _SC_SIGNALS___403 = 158,
    _SC_SPAWN___403 = 159,
    _SC_SPORADIC_SERVER___403 = 160,
    _SC_THREAD_SPORADIC_SERVER___403 = 161,
    _SC_SYSTEM_DATABASE___403 = 162,
    _SC_SYSTEM_DATABASE_R___403 = 163,
    _SC_TIMEOUTS___403 = 164,
    _SC_TYPED_MEMORY_OBJECTS___403 = 165,
    _SC_USER_GROUPS___403 = 166,
    _SC_USER_GROUPS_R___403 = 167,
    _SC_2_PBS___403 = 168,
    _SC_2_PBS_ACCOUNTING___403 = 169,
    _SC_2_PBS_LOCATE___403 = 170,
    _SC_2_PBS_MESSAGE___403 = 171,
    _SC_2_PBS_TRACK___403 = 172,
    _SC_SYMLOOP_MAX___403 = 173,
    _SC_STREAMS___403 = 174,
    _SC_2_PBS_CHECKPOINT___403 = 175,
    _SC_V6_ILP32_OFF32___403 = 176,
    _SC_V6_ILP32_OFFBIG___403 = 177,
    _SC_V6_LP64_OFF64___403 = 178,
    _SC_V6_LPBIG_OFFBIG___403 = 179,
    _SC_HOST_NAME_MAX___403 = 180,
    _SC_TRACE___403 = 181,
    _SC_TRACE_EVENT_FILTER___403 = 182,
    _SC_TRACE_INHERIT___403 = 183,
    _SC_TRACE_LOG___403 = 184,
    _SC_LEVEL1_ICACHE_SIZE___403 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___403 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___403 = 187,
    _SC_LEVEL1_DCACHE_SIZE___403 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___403 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___403 = 190,
    _SC_LEVEL2_CACHE_SIZE___403 = 191,
    _SC_LEVEL2_CACHE_ASSOC___403 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___403 = 193,
    _SC_LEVEL3_CACHE_SIZE___403 = 194,
    _SC_LEVEL3_CACHE_ASSOC___403 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___403 = 196,
    _SC_LEVEL4_CACHE_SIZE___403 = 197,
    _SC_LEVEL4_CACHE_ASSOC___403 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___403 = 199,
    _SC_IPV6___403 = 235,
    _SC_RAW_SOCKETS___403 = 236,
    _SC_V7_ILP32_OFF32___403 = 237,
    _SC_V7_ILP32_OFFBIG___403 = 238,
    _SC_V7_LP64_OFF64___403 = 239,
    _SC_V7_LPBIG_OFFBIG___403 = 240,
    _SC_SS_REPL_MAX___403 = 241,
    _SC_TRACE_EVENT_NAME_MAX___403 = 242,
    _SC_TRACE_NAME_MAX___403 = 243,
    _SC_TRACE_SYS_MAX___403 = 244,
    _SC_TRACE_USER_EVENT_MAX___403 = 245,
    _SC_XOPEN_STREAMS___403 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___403 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___403 = 248
} ;
enum __anonenum_875524036___403 {
    _CS_PATH___403 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___403 = 1,
    _CS_GNU_LIBC_VERSION___403 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___403 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___403 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___403 = 5,
    _CS_LFS_CFLAGS___403 = 1000,
    _CS_LFS_LDFLAGS___403 = 1001,
    _CS_LFS_LIBS___403 = 1002,
    _CS_LFS_LINTFLAGS___403 = 1003,
    _CS_LFS64_CFLAGS___403 = 1004,
    _CS_LFS64_LDFLAGS___403 = 1005,
    _CS_LFS64_LIBS___403 = 1006,
    _CS_LFS64_LINTFLAGS___403 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___403 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___403 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___403 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___403 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___403 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___403 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___403 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___403 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___403 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___403 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___403 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___403 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___403 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___403 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___403 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___403 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___403 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___403 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___403 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___403 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___403 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___403 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___403 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___403 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___403 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___403 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___403 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___403 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___403 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___403 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___403 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___403 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___403 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___403 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___403 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___403 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___403 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___403 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___403 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___403 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___403 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___403 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___403 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___403 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___403 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___403 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___403 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___403 = 1147,
    _CS_V6_ENV___403 = 1148,
    _CS_V7_ENV___403 = 1149
} ;
enum __anonenum_513775621___403 {
    DT_UNKNOWN___403 = 0,
    DT_FIFO___403 = 1,
    DT_CHR___403 = 2,
    DT_DIR___403 = 4,
    DT_BLK___403 = 6,
    DT_REG___403 = 8,
    DT_LNK___403 = 10,
    DT_SOCK___403 = 12,
    DT_WHT___403 = 14
} ;
enum __anonenum_77002343___403 {
    SI_ASYNCNL___403 = -60,
    SI_TKILL___403 = -6,
    SI_SIGIO___403 = -5,
    SI_ASYNCIO___403 = -4,
    SI_MESGQ___403 = -3,
    SI_TIMER___403 = -2,
    SI_QUEUE___403 = -1,
    SI_USER___403 = 0,
    SI_KERNEL___403 = 128
} ;
enum __anonenum_131038172___403 {
    ILL_ILLOPC___403 = 1,
    ILL_ILLOPN___403 = 2,
    ILL_ILLADR___403 = 3,
    ILL_ILLTRP___403 = 4,
    ILL_PRVOPC___403 = 5,
    ILL_PRVREG___403 = 6,
    ILL_COPROC___403 = 7,
    ILL_BADSTK___403 = 8
} ;
enum __anonenum_452038093___403 {
    FPE_INTDIV___403 = 1,
    FPE_INTOVF___403 = 2,
    FPE_FLTDIV___403 = 3,
    FPE_FLTOVF___403 = 4,
    FPE_FLTUND___403 = 5,
    FPE_FLTRES___403 = 6,
    FPE_FLTINV___403 = 7,
    FPE_FLTSUB___403 = 8
} ;
enum __anonenum_30976155___403 {
    SEGV_MAPERR___403 = 1,
    SEGV_ACCERR___403 = 2,
    SEGV_BNDERR___403 = 3,
    SEGV_PKUERR___403 = 4
} ;
enum __anonenum_1036286214___403 {
    BUS_ADRALN___403 = 1,
    BUS_ADRERR___403 = 2,
    BUS_OBJERR___403 = 3,
    BUS_MCEERR_AR___403 = 4,
    BUS_MCEERR_AO___403 = 5
} ;
enum __anonenum_493465559___403 {
    TRAP_BRKPT___403 = 1,
    TRAP_TRACE___403 = 2
} ;
enum __anonenum_23175539___403 {
    CLD_EXITED___403 = 1,
    CLD_KILLED___403 = 2,
    CLD_DUMPED___403 = 3,
    CLD_TRAPPED___403 = 4,
    CLD_STOPPED___403 = 5,
    CLD_CONTINUED___403 = 6
} ;
enum __anonenum_111643124___403 {
    POLL_IN___403 = 1,
    POLL_OUT___403 = 2,
    POLL_MSG___403 = 3,
    POLL_ERR___403 = 4,
    POLL_PRI___403 = 5,
    POLL_HUP___403 = 6
} ;
enum __anonenum_852341087___403 {
    SIGEV_SIGNAL___403 = 0,
    SIGEV_NONE___403 = 1,
    SIGEV_THREAD___403 = 2,
    SIGEV_THREAD_ID___403 = 4
} ;
enum __anonenum_451154152___403 {
    REG_R8___403 = 0,
    REG_R9___403 = 1,
    REG_R10___403 = 2,
    REG_R11___403 = 3,
    REG_R12___403 = 4,
    REG_R13___403 = 5,
    REG_R14___403 = 6,
    REG_R15___403 = 7,
    REG_RDI___403 = 8,
    REG_RSI___403 = 9,
    REG_RBP___403 = 10,
    REG_RBX___403 = 11,
    REG_RDX___403 = 12,
    REG_RAX___403 = 13,
    REG_RCX___403 = 14,
    REG_RSP___403 = 15,
    REG_RIP___403 = 16,
    REG_EFL___403 = 17,
    REG_CSGSFS___403 = 18,
    REG_ERR___403 = 19,
    REG_TRAPNO___403 = 20,
    REG_OLDMASK___403 = 21,
    REG_CR2___403 = 22
} ;
enum __anonenum_57186863___403 {
    SS_ONSTACK___403 = 1,
    SS_DISABLE___403 = 2
} ;
enum __anonenum_83571709___403 {
    MSG_OOB___403 = 1,
    MSG_PEEK___403 = 2,
    MSG_DONTROUTE___403 = 4,
    MSG_TRYHARD___403 = 4,
    MSG_CTRUNC___403 = 8,
    MSG_PROXY___403 = 16,
    MSG_TRUNC___403 = 32,
    MSG_DONTWAIT___403 = 64,
    MSG_EOR___403 = 128,
    MSG_WAITALL___403 = 256,
    MSG_FIN___403 = 512,
    MSG_SYN___403 = 1024,
    MSG_CONFIRM___403 = 2048,
    MSG_RST___403 = 4096,
    MSG_ERRQUEUE___403 = 8192,
    MSG_NOSIGNAL___403 = 16384,
    MSG_MORE___403 = 32768,
    MSG_WAITFORONE___403 = 65536,
    MSG_BATCH___403 = 262144,
    MSG_ZEROCOPY___403 = 67108864,
    MSG_FASTOPEN___403 = 536870912,
    MSG_CMSG_CLOEXEC___403 = 1073741824
} ;
enum __anonenum_617082774___403 {
    SCM_RIGHTS___403 = 1,
    SCM_CREDENTIALS___403 = 2
} ;
enum __anonenum_606441560___403 {
    SHUT_RD___403 = 0,
    SHUT_WR___403 = 1,
    SHUT_RDWR___403 = 2
} ;
enum __anonenum_681669233___403 {
    IPPROTO_IP___403 = 0,
    IPPROTO_ICMP___403 = 1,
    IPPROTO_IGMP___403 = 2,
    IPPROTO_IPIP___403 = 4,
    IPPROTO_TCP___403 = 6,
    IPPROTO_EGP___403 = 8,
    IPPROTO_PUP___403 = 12,
    IPPROTO_UDP___403 = 17,
    IPPROTO_IDP___403 = 22,
    IPPROTO_TP___403 = 29,
    IPPROTO_DCCP___403 = 33,
    IPPROTO_IPV6___403 = 41,
    IPPROTO_RSVP___403 = 46,
    IPPROTO_GRE___403 = 47,
    IPPROTO_ESP___403 = 50,
    IPPROTO_AH___403 = 51,
    IPPROTO_MTP___403 = 92,
    IPPROTO_BEETPH___403 = 94,
    IPPROTO_ENCAP___403 = 98,
    IPPROTO_PIM___403 = 103,
    IPPROTO_COMP___403 = 108,
    IPPROTO_SCTP___403 = 132,
    IPPROTO_UDPLITE___403 = 136,
    IPPROTO_MPLS___403 = 137,
    IPPROTO_RAW___403 = 255,
    IPPROTO_MAX___403 = 256
} ;
enum __anonenum_218739988___403 {
    IPPROTO_HOPOPTS___403 = 0,
    IPPROTO_ROUTING___403 = 43,
    IPPROTO_FRAGMENT___403 = 44,
    IPPROTO_ICMPV6___403 = 58,
    IPPROTO_NONE___403 = 59,
    IPPROTO_DSTOPTS___403 = 60,
    IPPROTO_MH___403 = 135
} ;
enum __anonenum_662268580___403 {
    IPPORT_ECHO___403 = 7,
    IPPORT_DISCARD___403 = 9,
    IPPORT_SYSTAT___403 = 11,
    IPPORT_DAYTIME___403 = 13,
    IPPORT_NETSTAT___403 = 15,
    IPPORT_FTP___403 = 21,
    IPPORT_TELNET___403 = 23,
    IPPORT_SMTP___403 = 25,
    IPPORT_TIMESERVER___403 = 37,
    IPPORT_NAMESERVER___403 = 42,
    IPPORT_WHOIS___403 = 43,
    IPPORT_MTP___403 = 57,
    IPPORT_TFTP___403 = 69,
    IPPORT_RJE___403 = 77,
    IPPORT_FINGER___403 = 79,
    IPPORT_TTYLINK___403 = 87,
    IPPORT_SUPDUP___403 = 95,
    IPPORT_EXECSERVER___403 = 512,
    IPPORT_LOGINSERVER___403 = 513,
    IPPORT_CMDSERVER___403 = 514,
    IPPORT_EFSSERVER___403 = 520,
    IPPORT_BIFFUDP___403 = 512,
    IPPORT_WHOSERVER___403 = 513,
    IPPORT_ROUTESERVER___403 = 520,
    IPPORT_RESERVED___403 = 1024,
    IPPORT_USERRESERVED___403 = 5000
} ;
enum __anonenum_788308992___403 {
    TCP_ESTABLISHED___403 = 1,
    TCP_SYN_SENT___403 = 2,
    TCP_SYN_RECV___403 = 3,
    TCP_FIN_WAIT1___403 = 4,
    TCP_FIN_WAIT2___403 = 5,
    TCP_TIME_WAIT___403 = 6,
    TCP_CLOSE___403 = 7,
    TCP_CLOSE_WAIT___403 = 8,
    TCP_LAST_ACK___403 = 9,
    TCP_LISTEN___403 = 10,
    TCP_CLOSING___403 = 11
} ;
enum __anonenum_221125648___403 {
    TCP_NO_QUEUE___403 = 0,
    TCP_RECV_QUEUE___403 = 1,
    TCP_SEND_QUEUE___403 = 2,
    TCP_QUEUES_NR___403 = 3
} ;
enum __anonenum_34415463___403 {
    PTHREAD_CREATE_JOINABLE___403 = 0,
    PTHREAD_CREATE_DETACHED___403 = 1
} ;
enum __anonenum_303612439___403 {
    PTHREAD_MUTEX_TIMED_NP___403 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___403 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___403 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___403 = 3,
    PTHREAD_MUTEX_NORMAL___403 = 0,
    PTHREAD_MUTEX_RECURSIVE___403 = 1,
    PTHREAD_MUTEX_ERRORCHECK___403 = 2,
    PTHREAD_MUTEX_DEFAULT___403 = 0,
    PTHREAD_MUTEX_FAST_NP___403 = 0
} ;
enum __anonenum_931900394___403 {
    PTHREAD_MUTEX_STALLED___403 = 0,
    PTHREAD_MUTEX_STALLED_NP___403 = 0,
    PTHREAD_MUTEX_ROBUST___403 = 1,
    PTHREAD_MUTEX_ROBUST_NP___403 = 1
} ;
enum __anonenum_205214487___403 {
    PTHREAD_PRIO_NONE___403 = 0,
    PTHREAD_PRIO_INHERIT___403 = 1,
    PTHREAD_PRIO_PROTECT___403 = 2
} ;
enum __anonenum_25043950___403 {
    PTHREAD_RWLOCK_PREFER_READER_NP___403 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___403 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___403 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___403 = 0
} ;
enum __anonenum_436439511___403 {
    PTHREAD_INHERIT_SCHED___403 = 0,
    PTHREAD_EXPLICIT_SCHED___403 = 1
} ;
enum __anonenum_998661166___403 {
    PTHREAD_SCOPE_SYSTEM___403 = 0,
    PTHREAD_SCOPE_PROCESS___403 = 1
} ;
enum __anonenum_146137331___403 {
    PTHREAD_PROCESS_PRIVATE___403 = 0,
    PTHREAD_PROCESS_SHARED___403 = 1
} ;
enum __anonenum_53396917___403 {
    PTHREAD_CANCEL_ENABLE___403 = 0,
    PTHREAD_CANCEL_DISABLE___403 = 1
} ;
enum __anonenum_904563783___403 {
    PTHREAD_CANCEL_DEFERRED___403 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___403 = 1
} ;
enum __anonenum_672052974___403 {
    SSL_CT_VALIDATION_PERMISSIVE___403 = 0,
    SSL_CT_VALIDATION_STRICT___403 = 1
} ;
enum __anonenum_437032235___404 {
    _PC_LINK_MAX___404 = 0,
    _PC_MAX_CANON___404 = 1,
    _PC_MAX_INPUT___404 = 2,
    _PC_NAME_MAX___404 = 3,
    _PC_PATH_MAX___404 = 4,
    _PC_PIPE_BUF___404 = 5,
    _PC_CHOWN_RESTRICTED___404 = 6,
    _PC_NO_TRUNC___404 = 7,
    _PC_VDISABLE___404 = 8,
    _PC_SYNC_IO___404 = 9,
    _PC_ASYNC_IO___404 = 10,
    _PC_PRIO_IO___404 = 11,
    _PC_SOCK_MAXBUF___404 = 12,
    _PC_FILESIZEBITS___404 = 13,
    _PC_REC_INCR_XFER_SIZE___404 = 14,
    _PC_REC_MAX_XFER_SIZE___404 = 15,
    _PC_REC_MIN_XFER_SIZE___404 = 16,
    _PC_REC_XFER_ALIGN___404 = 17,
    _PC_ALLOC_SIZE_MIN___404 = 18,
    _PC_SYMLINK_MAX___404 = 19,
    _PC_2_SYMLINKS___404 = 20
} ;
enum __anonenum_315186338___404 {
    _SC_ARG_MAX___404 = 0,
    _SC_CHILD_MAX___404 = 1,
    _SC_CLK_TCK___404 = 2,
    _SC_NGROUPS_MAX___404 = 3,
    _SC_OPEN_MAX___404 = 4,
    _SC_STREAM_MAX___404 = 5,
    _SC_TZNAME_MAX___404 = 6,
    _SC_JOB_CONTROL___404 = 7,
    _SC_SAVED_IDS___404 = 8,
    _SC_REALTIME_SIGNALS___404 = 9,
    _SC_PRIORITY_SCHEDULING___404 = 10,
    _SC_TIMERS___404 = 11,
    _SC_ASYNCHRONOUS_IO___404 = 12,
    _SC_PRIORITIZED_IO___404 = 13,
    _SC_SYNCHRONIZED_IO___404 = 14,
    _SC_FSYNC___404 = 15,
    _SC_MAPPED_FILES___404 = 16,
    _SC_MEMLOCK___404 = 17,
    _SC_MEMLOCK_RANGE___404 = 18,
    _SC_MEMORY_PROTECTION___404 = 19,
    _SC_MESSAGE_PASSING___404 = 20,
    _SC_SEMAPHORES___404 = 21,
    _SC_SHARED_MEMORY_OBJECTS___404 = 22,
    _SC_AIO_LISTIO_MAX___404 = 23,
    _SC_AIO_MAX___404 = 24,
    _SC_AIO_PRIO_DELTA_MAX___404 = 25,
    _SC_DELAYTIMER_MAX___404 = 26,
    _SC_MQ_OPEN_MAX___404 = 27,
    _SC_MQ_PRIO_MAX___404 = 28,
    _SC_VERSION___404 = 29,
    _SC_PAGESIZE___404 = 30,
    _SC_RTSIG_MAX___404 = 31,
    _SC_SEM_NSEMS_MAX___404 = 32,
    _SC_SEM_VALUE_MAX___404 = 33,
    _SC_SIGQUEUE_MAX___404 = 34,
    _SC_TIMER_MAX___404 = 35,
    _SC_BC_BASE_MAX___404 = 36,
    _SC_BC_DIM_MAX___404 = 37,
    _SC_BC_SCALE_MAX___404 = 38,
    _SC_BC_STRING_MAX___404 = 39,
    _SC_COLL_WEIGHTS_MAX___404 = 40,
    _SC_EQUIV_CLASS_MAX___404 = 41,
    _SC_EXPR_NEST_MAX___404 = 42,
    _SC_LINE_MAX___404 = 43,
    _SC_RE_DUP_MAX___404 = 44,
    _SC_CHARCLASS_NAME_MAX___404 = 45,
    _SC_2_VERSION___404 = 46,
    _SC_2_C_BIND___404 = 47,
    _SC_2_C_DEV___404 = 48,
    _SC_2_FORT_DEV___404 = 49,
    _SC_2_FORT_RUN___404 = 50,
    _SC_2_SW_DEV___404 = 51,
    _SC_2_LOCALEDEF___404 = 52,
    _SC_PII___404 = 53,
    _SC_PII_XTI___404 = 54,
    _SC_PII_SOCKET___404 = 55,
    _SC_PII_INTERNET___404 = 56,
    _SC_PII_OSI___404 = 57,
    _SC_POLL___404 = 58,
    _SC_SELECT___404 = 59,
    _SC_UIO_MAXIOV___404 = 60,
    _SC_IOV_MAX___404 = 60,
    _SC_PII_INTERNET_STREAM___404 = 61,
    _SC_PII_INTERNET_DGRAM___404 = 62,
    _SC_PII_OSI_COTS___404 = 63,
    _SC_PII_OSI_CLTS___404 = 64,
    _SC_PII_OSI_M___404 = 65,
    _SC_T_IOV_MAX___404 = 66,
    _SC_THREADS___404 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___404 = 68,
    _SC_GETGR_R_SIZE_MAX___404 = 69,
    _SC_GETPW_R_SIZE_MAX___404 = 70,
    _SC_LOGIN_NAME_MAX___404 = 71,
    _SC_TTY_NAME_MAX___404 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___404 = 73,
    _SC_THREAD_KEYS_MAX___404 = 74,
    _SC_THREAD_STACK_MIN___404 = 75,
    _SC_THREAD_THREADS_MAX___404 = 76,
    _SC_THREAD_ATTR_STACKADDR___404 = 77,
    _SC_THREAD_ATTR_STACKSIZE___404 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___404 = 79,
    _SC_THREAD_PRIO_INHERIT___404 = 80,
    _SC_THREAD_PRIO_PROTECT___404 = 81,
    _SC_THREAD_PROCESS_SHARED___404 = 82,
    _SC_NPROCESSORS_CONF___404 = 83,
    _SC_NPROCESSORS_ONLN___404 = 84,
    _SC_PHYS_PAGES___404 = 85,
    _SC_AVPHYS_PAGES___404 = 86,
    _SC_ATEXIT_MAX___404 = 87,
    _SC_PASS_MAX___404 = 88,
    _SC_XOPEN_VERSION___404 = 89,
    _SC_XOPEN_XCU_VERSION___404 = 90,
    _SC_XOPEN_UNIX___404 = 91,
    _SC_XOPEN_CRYPT___404 = 92,
    _SC_XOPEN_ENH_I18N___404 = 93,
    _SC_XOPEN_SHM___404 = 94,
    _SC_2_CHAR_TERM___404 = 95,
    _SC_2_C_VERSION___404 = 96,
    _SC_2_UPE___404 = 97,
    _SC_XOPEN_XPG2___404 = 98,
    _SC_XOPEN_XPG3___404 = 99,
    _SC_XOPEN_XPG4___404 = 100,
    _SC_CHAR_BIT___404 = 101,
    _SC_CHAR_MAX___404 = 102,
    _SC_CHAR_MIN___404 = 103,
    _SC_INT_MAX___404 = 104,
    _SC_INT_MIN___404 = 105,
    _SC_LONG_BIT___404 = 106,
    _SC_WORD_BIT___404 = 107,
    _SC_MB_LEN_MAX___404 = 108,
    _SC_NZERO___404 = 109,
    _SC_SSIZE_MAX___404 = 110,
    _SC_SCHAR_MAX___404 = 111,
    _SC_SCHAR_MIN___404 = 112,
    _SC_SHRT_MAX___404 = 113,
    _SC_SHRT_MIN___404 = 114,
    _SC_UCHAR_MAX___404 = 115,
    _SC_UINT_MAX___404 = 116,
    _SC_ULONG_MAX___404 = 117,
    _SC_USHRT_MAX___404 = 118,
    _SC_NL_ARGMAX___404 = 119,
    _SC_NL_LANGMAX___404 = 120,
    _SC_NL_MSGMAX___404 = 121,
    _SC_NL_NMAX___404 = 122,
    _SC_NL_SETMAX___404 = 123,
    _SC_NL_TEXTMAX___404 = 124,
    _SC_XBS5_ILP32_OFF32___404 = 125,
    _SC_XBS5_ILP32_OFFBIG___404 = 126,
    _SC_XBS5_LP64_OFF64___404 = 127,
    _SC_XBS5_LPBIG_OFFBIG___404 = 128,
    _SC_XOPEN_LEGACY___404 = 129,
    _SC_XOPEN_REALTIME___404 = 130,
    _SC_XOPEN_REALTIME_THREADS___404 = 131,
    _SC_ADVISORY_INFO___404 = 132,
    _SC_BARRIERS___404 = 133,
    _SC_BASE___404 = 134,
    _SC_C_LANG_SUPPORT___404 = 135,
    _SC_C_LANG_SUPPORT_R___404 = 136,
    _SC_CLOCK_SELECTION___404 = 137,
    _SC_CPUTIME___404 = 138,
    _SC_THREAD_CPUTIME___404 = 139,
    _SC_DEVICE_IO___404 = 140,
    _SC_DEVICE_SPECIFIC___404 = 141,
    _SC_DEVICE_SPECIFIC_R___404 = 142,
    _SC_FD_MGMT___404 = 143,
    _SC_FIFO___404 = 144,
    _SC_PIPE___404 = 145,
    _SC_FILE_ATTRIBUTES___404 = 146,
    _SC_FILE_LOCKING___404 = 147,
    _SC_FILE_SYSTEM___404 = 148,
    _SC_MONOTONIC_CLOCK___404 = 149,
    _SC_MULTI_PROCESS___404 = 150,
    _SC_SINGLE_PROCESS___404 = 151,
    _SC_NETWORKING___404 = 152,
    _SC_READER_WRITER_LOCKS___404 = 153,
    _SC_SPIN_LOCKS___404 = 154,
    _SC_REGEXP___404 = 155,
    _SC_REGEX_VERSION___404 = 156,
    _SC_SHELL___404 = 157,
    _SC_SIGNALS___404 = 158,
    _SC_SPAWN___404 = 159,
    _SC_SPORADIC_SERVER___404 = 160,
    _SC_THREAD_SPORADIC_SERVER___404 = 161,
    _SC_SYSTEM_DATABASE___404 = 162,
    _SC_SYSTEM_DATABASE_R___404 = 163,
    _SC_TIMEOUTS___404 = 164,
    _SC_TYPED_MEMORY_OBJECTS___404 = 165,
    _SC_USER_GROUPS___404 = 166,
    _SC_USER_GROUPS_R___404 = 167,
    _SC_2_PBS___404 = 168,
    _SC_2_PBS_ACCOUNTING___404 = 169,
    _SC_2_PBS_LOCATE___404 = 170,
    _SC_2_PBS_MESSAGE___404 = 171,
    _SC_2_PBS_TRACK___404 = 172,
    _SC_SYMLOOP_MAX___404 = 173,
    _SC_STREAMS___404 = 174,
    _SC_2_PBS_CHECKPOINT___404 = 175,
    _SC_V6_ILP32_OFF32___404 = 176,
    _SC_V6_ILP32_OFFBIG___404 = 177,
    _SC_V6_LP64_OFF64___404 = 178,
    _SC_V6_LPBIG_OFFBIG___404 = 179,
    _SC_HOST_NAME_MAX___404 = 180,
    _SC_TRACE___404 = 181,
    _SC_TRACE_EVENT_FILTER___404 = 182,
    _SC_TRACE_INHERIT___404 = 183,
    _SC_TRACE_LOG___404 = 184,
    _SC_LEVEL1_ICACHE_SIZE___404 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___404 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___404 = 187,
    _SC_LEVEL1_DCACHE_SIZE___404 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___404 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___404 = 190,
    _SC_LEVEL2_CACHE_SIZE___404 = 191,
    _SC_LEVEL2_CACHE_ASSOC___404 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___404 = 193,
    _SC_LEVEL3_CACHE_SIZE___404 = 194,
    _SC_LEVEL3_CACHE_ASSOC___404 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___404 = 196,
    _SC_LEVEL4_CACHE_SIZE___404 = 197,
    _SC_LEVEL4_CACHE_ASSOC___404 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___404 = 199,
    _SC_IPV6___404 = 235,
    _SC_RAW_SOCKETS___404 = 236,
    _SC_V7_ILP32_OFF32___404 = 237,
    _SC_V7_ILP32_OFFBIG___404 = 238,
    _SC_V7_LP64_OFF64___404 = 239,
    _SC_V7_LPBIG_OFFBIG___404 = 240,
    _SC_SS_REPL_MAX___404 = 241,
    _SC_TRACE_EVENT_NAME_MAX___404 = 242,
    _SC_TRACE_NAME_MAX___404 = 243,
    _SC_TRACE_SYS_MAX___404 = 244,
    _SC_TRACE_USER_EVENT_MAX___404 = 245,
    _SC_XOPEN_STREAMS___404 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___404 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___404 = 248
} ;
enum __anonenum_875524036___404 {
    _CS_PATH___404 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___404 = 1,
    _CS_GNU_LIBC_VERSION___404 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___404 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___404 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___404 = 5,
    _CS_LFS_CFLAGS___404 = 1000,
    _CS_LFS_LDFLAGS___404 = 1001,
    _CS_LFS_LIBS___404 = 1002,
    _CS_LFS_LINTFLAGS___404 = 1003,
    _CS_LFS64_CFLAGS___404 = 1004,
    _CS_LFS64_LDFLAGS___404 = 1005,
    _CS_LFS64_LIBS___404 = 1006,
    _CS_LFS64_LINTFLAGS___404 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___404 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___404 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___404 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___404 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___404 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___404 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___404 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___404 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___404 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___404 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___404 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___404 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___404 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___404 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___404 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___404 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___404 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___404 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___404 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___404 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___404 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___404 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___404 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___404 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___404 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___404 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___404 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___404 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___404 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___404 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___404 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___404 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___404 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___404 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___404 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___404 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___404 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___404 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___404 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___404 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___404 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___404 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___404 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___404 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___404 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___404 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___404 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___404 = 1147,
    _CS_V6_ENV___404 = 1148,
    _CS_V7_ENV___404 = 1149
} ;
enum __anonenum_513775621___404 {
    DT_UNKNOWN___404 = 0,
    DT_FIFO___404 = 1,
    DT_CHR___404 = 2,
    DT_DIR___404 = 4,
    DT_BLK___404 = 6,
    DT_REG___404 = 8,
    DT_LNK___404 = 10,
    DT_SOCK___404 = 12,
    DT_WHT___404 = 14
} ;
enum __anonenum_77002343___404 {
    SI_ASYNCNL___404 = -60,
    SI_TKILL___404 = -6,
    SI_SIGIO___404 = -5,
    SI_ASYNCIO___404 = -4,
    SI_MESGQ___404 = -3,
    SI_TIMER___404 = -2,
    SI_QUEUE___404 = -1,
    SI_USER___404 = 0,
    SI_KERNEL___404 = 128
} ;
enum __anonenum_131038172___404 {
    ILL_ILLOPC___404 = 1,
    ILL_ILLOPN___404 = 2,
    ILL_ILLADR___404 = 3,
    ILL_ILLTRP___404 = 4,
    ILL_PRVOPC___404 = 5,
    ILL_PRVREG___404 = 6,
    ILL_COPROC___404 = 7,
    ILL_BADSTK___404 = 8
} ;
enum __anonenum_452038093___404 {
    FPE_INTDIV___404 = 1,
    FPE_INTOVF___404 = 2,
    FPE_FLTDIV___404 = 3,
    FPE_FLTOVF___404 = 4,
    FPE_FLTUND___404 = 5,
    FPE_FLTRES___404 = 6,
    FPE_FLTINV___404 = 7,
    FPE_FLTSUB___404 = 8
} ;
enum __anonenum_30976155___404 {
    SEGV_MAPERR___404 = 1,
    SEGV_ACCERR___404 = 2,
    SEGV_BNDERR___404 = 3,
    SEGV_PKUERR___404 = 4
} ;
enum __anonenum_1036286214___404 {
    BUS_ADRALN___404 = 1,
    BUS_ADRERR___404 = 2,
    BUS_OBJERR___404 = 3,
    BUS_MCEERR_AR___404 = 4,
    BUS_MCEERR_AO___404 = 5
} ;
enum __anonenum_493465559___404 {
    TRAP_BRKPT___404 = 1,
    TRAP_TRACE___404 = 2
} ;
enum __anonenum_23175539___404 {
    CLD_EXITED___404 = 1,
    CLD_KILLED___404 = 2,
    CLD_DUMPED___404 = 3,
    CLD_TRAPPED___404 = 4,
    CLD_STOPPED___404 = 5,
    CLD_CONTINUED___404 = 6
} ;
enum __anonenum_111643124___404 {
    POLL_IN___404 = 1,
    POLL_OUT___404 = 2,
    POLL_MSG___404 = 3,
    POLL_ERR___404 = 4,
    POLL_PRI___404 = 5,
    POLL_HUP___404 = 6
} ;
enum __anonenum_852341087___404 {
    SIGEV_SIGNAL___404 = 0,
    SIGEV_NONE___404 = 1,
    SIGEV_THREAD___404 = 2,
    SIGEV_THREAD_ID___404 = 4
} ;
enum __anonenum_451154152___404 {
    REG_R8___404 = 0,
    REG_R9___404 = 1,
    REG_R10___404 = 2,
    REG_R11___404 = 3,
    REG_R12___404 = 4,
    REG_R13___404 = 5,
    REG_R14___404 = 6,
    REG_R15___404 = 7,
    REG_RDI___404 = 8,
    REG_RSI___404 = 9,
    REG_RBP___404 = 10,
    REG_RBX___404 = 11,
    REG_RDX___404 = 12,
    REG_RAX___404 = 13,
    REG_RCX___404 = 14,
    REG_RSP___404 = 15,
    REG_RIP___404 = 16,
    REG_EFL___404 = 17,
    REG_CSGSFS___404 = 18,
    REG_ERR___404 = 19,
    REG_TRAPNO___404 = 20,
    REG_OLDMASK___404 = 21,
    REG_CR2___404 = 22
} ;
enum __anonenum_57186863___404 {
    SS_ONSTACK___404 = 1,
    SS_DISABLE___404 = 2
} ;
enum __anonenum_83571709___404 {
    MSG_OOB___404 = 1,
    MSG_PEEK___404 = 2,
    MSG_DONTROUTE___404 = 4,
    MSG_TRYHARD___404 = 4,
    MSG_CTRUNC___404 = 8,
    MSG_PROXY___404 = 16,
    MSG_TRUNC___404 = 32,
    MSG_DONTWAIT___404 = 64,
    MSG_EOR___404 = 128,
    MSG_WAITALL___404 = 256,
    MSG_FIN___404 = 512,
    MSG_SYN___404 = 1024,
    MSG_CONFIRM___404 = 2048,
    MSG_RST___404 = 4096,
    MSG_ERRQUEUE___404 = 8192,
    MSG_NOSIGNAL___404 = 16384,
    MSG_MORE___404 = 32768,
    MSG_WAITFORONE___404 = 65536,
    MSG_BATCH___404 = 262144,
    MSG_ZEROCOPY___404 = 67108864,
    MSG_FASTOPEN___404 = 536870912,
    MSG_CMSG_CLOEXEC___404 = 1073741824
} ;
enum __anonenum_617082774___404 {
    SCM_RIGHTS___404 = 1,
    SCM_CREDENTIALS___404 = 2
} ;
enum __anonenum_606441560___404 {
    SHUT_RD___404 = 0,
    SHUT_WR___404 = 1,
    SHUT_RDWR___404 = 2
} ;
enum __anonenum_681669233___404 {
    IPPROTO_IP___404 = 0,
    IPPROTO_ICMP___404 = 1,
    IPPROTO_IGMP___404 = 2,
    IPPROTO_IPIP___404 = 4,
    IPPROTO_TCP___404 = 6,
    IPPROTO_EGP___404 = 8,
    IPPROTO_PUP___404 = 12,
    IPPROTO_UDP___404 = 17,
    IPPROTO_IDP___404 = 22,
    IPPROTO_TP___404 = 29,
    IPPROTO_DCCP___404 = 33,
    IPPROTO_IPV6___404 = 41,
    IPPROTO_RSVP___404 = 46,
    IPPROTO_GRE___404 = 47,
    IPPROTO_ESP___404 = 50,
    IPPROTO_AH___404 = 51,
    IPPROTO_MTP___404 = 92,
    IPPROTO_BEETPH___404 = 94,
    IPPROTO_ENCAP___404 = 98,
    IPPROTO_PIM___404 = 103,
    IPPROTO_COMP___404 = 108,
    IPPROTO_SCTP___404 = 132,
    IPPROTO_UDPLITE___404 = 136,
    IPPROTO_MPLS___404 = 137,
    IPPROTO_RAW___404 = 255,
    IPPROTO_MAX___404 = 256
} ;
enum __anonenum_218739988___404 {
    IPPROTO_HOPOPTS___404 = 0,
    IPPROTO_ROUTING___404 = 43,
    IPPROTO_FRAGMENT___404 = 44,
    IPPROTO_ICMPV6___404 = 58,
    IPPROTO_NONE___404 = 59,
    IPPROTO_DSTOPTS___404 = 60,
    IPPROTO_MH___404 = 135
} ;
enum __anonenum_662268580___404 {
    IPPORT_ECHO___404 = 7,
    IPPORT_DISCARD___404 = 9,
    IPPORT_SYSTAT___404 = 11,
    IPPORT_DAYTIME___404 = 13,
    IPPORT_NETSTAT___404 = 15,
    IPPORT_FTP___404 = 21,
    IPPORT_TELNET___404 = 23,
    IPPORT_SMTP___404 = 25,
    IPPORT_TIMESERVER___404 = 37,
    IPPORT_NAMESERVER___404 = 42,
    IPPORT_WHOIS___404 = 43,
    IPPORT_MTP___404 = 57,
    IPPORT_TFTP___404 = 69,
    IPPORT_RJE___404 = 77,
    IPPORT_FINGER___404 = 79,
    IPPORT_TTYLINK___404 = 87,
    IPPORT_SUPDUP___404 = 95,
    IPPORT_EXECSERVER___404 = 512,
    IPPORT_LOGINSERVER___404 = 513,
    IPPORT_CMDSERVER___404 = 514,
    IPPORT_EFSSERVER___404 = 520,
    IPPORT_BIFFUDP___404 = 512,
    IPPORT_WHOSERVER___404 = 513,
    IPPORT_ROUTESERVER___404 = 520,
    IPPORT_RESERVED___404 = 1024,
    IPPORT_USERRESERVED___404 = 5000
} ;
enum __anonenum_788308992___404 {
    TCP_ESTABLISHED___404 = 1,
    TCP_SYN_SENT___404 = 2,
    TCP_SYN_RECV___404 = 3,
    TCP_FIN_WAIT1___404 = 4,
    TCP_FIN_WAIT2___404 = 5,
    TCP_TIME_WAIT___404 = 6,
    TCP_CLOSE___404 = 7,
    TCP_CLOSE_WAIT___404 = 8,
    TCP_LAST_ACK___404 = 9,
    TCP_LISTEN___404 = 10,
    TCP_CLOSING___404 = 11
} ;
enum __anonenum_221125648___404 {
    TCP_NO_QUEUE___404 = 0,
    TCP_RECV_QUEUE___404 = 1,
    TCP_SEND_QUEUE___404 = 2,
    TCP_QUEUES_NR___404 = 3
} ;
enum __anonenum_34415463___404 {
    PTHREAD_CREATE_JOINABLE___404 = 0,
    PTHREAD_CREATE_DETACHED___404 = 1
} ;
enum __anonenum_303612439___404 {
    PTHREAD_MUTEX_TIMED_NP___404 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___404 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___404 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___404 = 3,
    PTHREAD_MUTEX_NORMAL___404 = 0,
    PTHREAD_MUTEX_RECURSIVE___404 = 1,
    PTHREAD_MUTEX_ERRORCHECK___404 = 2,
    PTHREAD_MUTEX_DEFAULT___404 = 0,
    PTHREAD_MUTEX_FAST_NP___404 = 0
} ;
enum __anonenum_931900394___404 {
    PTHREAD_MUTEX_STALLED___404 = 0,
    PTHREAD_MUTEX_STALLED_NP___404 = 0,
    PTHREAD_MUTEX_ROBUST___404 = 1,
    PTHREAD_MUTEX_ROBUST_NP___404 = 1
} ;
enum __anonenum_205214487___404 {
    PTHREAD_PRIO_NONE___404 = 0,
    PTHREAD_PRIO_INHERIT___404 = 1,
    PTHREAD_PRIO_PROTECT___404 = 2
} ;
enum __anonenum_25043950___404 {
    PTHREAD_RWLOCK_PREFER_READER_NP___404 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___404 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___404 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___404 = 0
} ;
enum __anonenum_436439511___404 {
    PTHREAD_INHERIT_SCHED___404 = 0,
    PTHREAD_EXPLICIT_SCHED___404 = 1
} ;
enum __anonenum_998661166___404 {
    PTHREAD_SCOPE_SYSTEM___404 = 0,
    PTHREAD_SCOPE_PROCESS___404 = 1
} ;
enum __anonenum_146137331___404 {
    PTHREAD_PROCESS_PRIVATE___404 = 0,
    PTHREAD_PROCESS_SHARED___404 = 1
} ;
enum __anonenum_53396917___404 {
    PTHREAD_CANCEL_ENABLE___404 = 0,
    PTHREAD_CANCEL_DISABLE___404 = 1
} ;
enum __anonenum_904563783___404 {
    PTHREAD_CANCEL_DEFERRED___404 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___404 = 1
} ;
enum __anonenum_672052974___404 {
    SSL_CT_VALIDATION_PERMISSIVE___404 = 0,
    SSL_CT_VALIDATION_STRICT___404 = 1
} ;
enum __anonenum_437032235___405 {
    _PC_LINK_MAX___405 = 0,
    _PC_MAX_CANON___405 = 1,
    _PC_MAX_INPUT___405 = 2,
    _PC_NAME_MAX___405 = 3,
    _PC_PATH_MAX___405 = 4,
    _PC_PIPE_BUF___405 = 5,
    _PC_CHOWN_RESTRICTED___405 = 6,
    _PC_NO_TRUNC___405 = 7,
    _PC_VDISABLE___405 = 8,
    _PC_SYNC_IO___405 = 9,
    _PC_ASYNC_IO___405 = 10,
    _PC_PRIO_IO___405 = 11,
    _PC_SOCK_MAXBUF___405 = 12,
    _PC_FILESIZEBITS___405 = 13,
    _PC_REC_INCR_XFER_SIZE___405 = 14,
    _PC_REC_MAX_XFER_SIZE___405 = 15,
    _PC_REC_MIN_XFER_SIZE___405 = 16,
    _PC_REC_XFER_ALIGN___405 = 17,
    _PC_ALLOC_SIZE_MIN___405 = 18,
    _PC_SYMLINK_MAX___405 = 19,
    _PC_2_SYMLINKS___405 = 20
} ;
enum __anonenum_315186338___405 {
    _SC_ARG_MAX___405 = 0,
    _SC_CHILD_MAX___405 = 1,
    _SC_CLK_TCK___405 = 2,
    _SC_NGROUPS_MAX___405 = 3,
    _SC_OPEN_MAX___405 = 4,
    _SC_STREAM_MAX___405 = 5,
    _SC_TZNAME_MAX___405 = 6,
    _SC_JOB_CONTROL___405 = 7,
    _SC_SAVED_IDS___405 = 8,
    _SC_REALTIME_SIGNALS___405 = 9,
    _SC_PRIORITY_SCHEDULING___405 = 10,
    _SC_TIMERS___405 = 11,
    _SC_ASYNCHRONOUS_IO___405 = 12,
    _SC_PRIORITIZED_IO___405 = 13,
    _SC_SYNCHRONIZED_IO___405 = 14,
    _SC_FSYNC___405 = 15,
    _SC_MAPPED_FILES___405 = 16,
    _SC_MEMLOCK___405 = 17,
    _SC_MEMLOCK_RANGE___405 = 18,
    _SC_MEMORY_PROTECTION___405 = 19,
    _SC_MESSAGE_PASSING___405 = 20,
    _SC_SEMAPHORES___405 = 21,
    _SC_SHARED_MEMORY_OBJECTS___405 = 22,
    _SC_AIO_LISTIO_MAX___405 = 23,
    _SC_AIO_MAX___405 = 24,
    _SC_AIO_PRIO_DELTA_MAX___405 = 25,
    _SC_DELAYTIMER_MAX___405 = 26,
    _SC_MQ_OPEN_MAX___405 = 27,
    _SC_MQ_PRIO_MAX___405 = 28,
    _SC_VERSION___405 = 29,
    _SC_PAGESIZE___405 = 30,
    _SC_RTSIG_MAX___405 = 31,
    _SC_SEM_NSEMS_MAX___405 = 32,
    _SC_SEM_VALUE_MAX___405 = 33,
    _SC_SIGQUEUE_MAX___405 = 34,
    _SC_TIMER_MAX___405 = 35,
    _SC_BC_BASE_MAX___405 = 36,
    _SC_BC_DIM_MAX___405 = 37,
    _SC_BC_SCALE_MAX___405 = 38,
    _SC_BC_STRING_MAX___405 = 39,
    _SC_COLL_WEIGHTS_MAX___405 = 40,
    _SC_EQUIV_CLASS_MAX___405 = 41,
    _SC_EXPR_NEST_MAX___405 = 42,
    _SC_LINE_MAX___405 = 43,
    _SC_RE_DUP_MAX___405 = 44,
    _SC_CHARCLASS_NAME_MAX___405 = 45,
    _SC_2_VERSION___405 = 46,
    _SC_2_C_BIND___405 = 47,
    _SC_2_C_DEV___405 = 48,
    _SC_2_FORT_DEV___405 = 49,
    _SC_2_FORT_RUN___405 = 50,
    _SC_2_SW_DEV___405 = 51,
    _SC_2_LOCALEDEF___405 = 52,
    _SC_PII___405 = 53,
    _SC_PII_XTI___405 = 54,
    _SC_PII_SOCKET___405 = 55,
    _SC_PII_INTERNET___405 = 56,
    _SC_PII_OSI___405 = 57,
    _SC_POLL___405 = 58,
    _SC_SELECT___405 = 59,
    _SC_UIO_MAXIOV___405 = 60,
    _SC_IOV_MAX___405 = 60,
    _SC_PII_INTERNET_STREAM___405 = 61,
    _SC_PII_INTERNET_DGRAM___405 = 62,
    _SC_PII_OSI_COTS___405 = 63,
    _SC_PII_OSI_CLTS___405 = 64,
    _SC_PII_OSI_M___405 = 65,
    _SC_T_IOV_MAX___405 = 66,
    _SC_THREADS___405 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___405 = 68,
    _SC_GETGR_R_SIZE_MAX___405 = 69,
    _SC_GETPW_R_SIZE_MAX___405 = 70,
    _SC_LOGIN_NAME_MAX___405 = 71,
    _SC_TTY_NAME_MAX___405 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___405 = 73,
    _SC_THREAD_KEYS_MAX___405 = 74,
    _SC_THREAD_STACK_MIN___405 = 75,
    _SC_THREAD_THREADS_MAX___405 = 76,
    _SC_THREAD_ATTR_STACKADDR___405 = 77,
    _SC_THREAD_ATTR_STACKSIZE___405 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___405 = 79,
    _SC_THREAD_PRIO_INHERIT___405 = 80,
    _SC_THREAD_PRIO_PROTECT___405 = 81,
    _SC_THREAD_PROCESS_SHARED___405 = 82,
    _SC_NPROCESSORS_CONF___405 = 83,
    _SC_NPROCESSORS_ONLN___405 = 84,
    _SC_PHYS_PAGES___405 = 85,
    _SC_AVPHYS_PAGES___405 = 86,
    _SC_ATEXIT_MAX___405 = 87,
    _SC_PASS_MAX___405 = 88,
    _SC_XOPEN_VERSION___405 = 89,
    _SC_XOPEN_XCU_VERSION___405 = 90,
    _SC_XOPEN_UNIX___405 = 91,
    _SC_XOPEN_CRYPT___405 = 92,
    _SC_XOPEN_ENH_I18N___405 = 93,
    _SC_XOPEN_SHM___405 = 94,
    _SC_2_CHAR_TERM___405 = 95,
    _SC_2_C_VERSION___405 = 96,
    _SC_2_UPE___405 = 97,
    _SC_XOPEN_XPG2___405 = 98,
    _SC_XOPEN_XPG3___405 = 99,
    _SC_XOPEN_XPG4___405 = 100,
    _SC_CHAR_BIT___405 = 101,
    _SC_CHAR_MAX___405 = 102,
    _SC_CHAR_MIN___405 = 103,
    _SC_INT_MAX___405 = 104,
    _SC_INT_MIN___405 = 105,
    _SC_LONG_BIT___405 = 106,
    _SC_WORD_BIT___405 = 107,
    _SC_MB_LEN_MAX___405 = 108,
    _SC_NZERO___405 = 109,
    _SC_SSIZE_MAX___405 = 110,
    _SC_SCHAR_MAX___405 = 111,
    _SC_SCHAR_MIN___405 = 112,
    _SC_SHRT_MAX___405 = 113,
    _SC_SHRT_MIN___405 = 114,
    _SC_UCHAR_MAX___405 = 115,
    _SC_UINT_MAX___405 = 116,
    _SC_ULONG_MAX___405 = 117,
    _SC_USHRT_MAX___405 = 118,
    _SC_NL_ARGMAX___405 = 119,
    _SC_NL_LANGMAX___405 = 120,
    _SC_NL_MSGMAX___405 = 121,
    _SC_NL_NMAX___405 = 122,
    _SC_NL_SETMAX___405 = 123,
    _SC_NL_TEXTMAX___405 = 124,
    _SC_XBS5_ILP32_OFF32___405 = 125,
    _SC_XBS5_ILP32_OFFBIG___405 = 126,
    _SC_XBS5_LP64_OFF64___405 = 127,
    _SC_XBS5_LPBIG_OFFBIG___405 = 128,
    _SC_XOPEN_LEGACY___405 = 129,
    _SC_XOPEN_REALTIME___405 = 130,
    _SC_XOPEN_REALTIME_THREADS___405 = 131,
    _SC_ADVISORY_INFO___405 = 132,
    _SC_BARRIERS___405 = 133,
    _SC_BASE___405 = 134,
    _SC_C_LANG_SUPPORT___405 = 135,
    _SC_C_LANG_SUPPORT_R___405 = 136,
    _SC_CLOCK_SELECTION___405 = 137,
    _SC_CPUTIME___405 = 138,
    _SC_THREAD_CPUTIME___405 = 139,
    _SC_DEVICE_IO___405 = 140,
    _SC_DEVICE_SPECIFIC___405 = 141,
    _SC_DEVICE_SPECIFIC_R___405 = 142,
    _SC_FD_MGMT___405 = 143,
    _SC_FIFO___405 = 144,
    _SC_PIPE___405 = 145,
    _SC_FILE_ATTRIBUTES___405 = 146,
    _SC_FILE_LOCKING___405 = 147,
    _SC_FILE_SYSTEM___405 = 148,
    _SC_MONOTONIC_CLOCK___405 = 149,
    _SC_MULTI_PROCESS___405 = 150,
    _SC_SINGLE_PROCESS___405 = 151,
    _SC_NETWORKING___405 = 152,
    _SC_READER_WRITER_LOCKS___405 = 153,
    _SC_SPIN_LOCKS___405 = 154,
    _SC_REGEXP___405 = 155,
    _SC_REGEX_VERSION___405 = 156,
    _SC_SHELL___405 = 157,
    _SC_SIGNALS___405 = 158,
    _SC_SPAWN___405 = 159,
    _SC_SPORADIC_SERVER___405 = 160,
    _SC_THREAD_SPORADIC_SERVER___405 = 161,
    _SC_SYSTEM_DATABASE___405 = 162,
    _SC_SYSTEM_DATABASE_R___405 = 163,
    _SC_TIMEOUTS___405 = 164,
    _SC_TYPED_MEMORY_OBJECTS___405 = 165,
    _SC_USER_GROUPS___405 = 166,
    _SC_USER_GROUPS_R___405 = 167,
    _SC_2_PBS___405 = 168,
    _SC_2_PBS_ACCOUNTING___405 = 169,
    _SC_2_PBS_LOCATE___405 = 170,
    _SC_2_PBS_MESSAGE___405 = 171,
    _SC_2_PBS_TRACK___405 = 172,
    _SC_SYMLOOP_MAX___405 = 173,
    _SC_STREAMS___405 = 174,
    _SC_2_PBS_CHECKPOINT___405 = 175,
    _SC_V6_ILP32_OFF32___405 = 176,
    _SC_V6_ILP32_OFFBIG___405 = 177,
    _SC_V6_LP64_OFF64___405 = 178,
    _SC_V6_LPBIG_OFFBIG___405 = 179,
    _SC_HOST_NAME_MAX___405 = 180,
    _SC_TRACE___405 = 181,
    _SC_TRACE_EVENT_FILTER___405 = 182,
    _SC_TRACE_INHERIT___405 = 183,
    _SC_TRACE_LOG___405 = 184,
    _SC_LEVEL1_ICACHE_SIZE___405 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___405 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___405 = 187,
    _SC_LEVEL1_DCACHE_SIZE___405 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___405 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___405 = 190,
    _SC_LEVEL2_CACHE_SIZE___405 = 191,
    _SC_LEVEL2_CACHE_ASSOC___405 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___405 = 193,
    _SC_LEVEL3_CACHE_SIZE___405 = 194,
    _SC_LEVEL3_CACHE_ASSOC___405 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___405 = 196,
    _SC_LEVEL4_CACHE_SIZE___405 = 197,
    _SC_LEVEL4_CACHE_ASSOC___405 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___405 = 199,
    _SC_IPV6___405 = 235,
    _SC_RAW_SOCKETS___405 = 236,
    _SC_V7_ILP32_OFF32___405 = 237,
    _SC_V7_ILP32_OFFBIG___405 = 238,
    _SC_V7_LP64_OFF64___405 = 239,
    _SC_V7_LPBIG_OFFBIG___405 = 240,
    _SC_SS_REPL_MAX___405 = 241,
    _SC_TRACE_EVENT_NAME_MAX___405 = 242,
    _SC_TRACE_NAME_MAX___405 = 243,
    _SC_TRACE_SYS_MAX___405 = 244,
    _SC_TRACE_USER_EVENT_MAX___405 = 245,
    _SC_XOPEN_STREAMS___405 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___405 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___405 = 248
} ;
enum __anonenum_875524036___405 {
    _CS_PATH___405 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___405 = 1,
    _CS_GNU_LIBC_VERSION___405 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___405 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___405 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___405 = 5,
    _CS_LFS_CFLAGS___405 = 1000,
    _CS_LFS_LDFLAGS___405 = 1001,
    _CS_LFS_LIBS___405 = 1002,
    _CS_LFS_LINTFLAGS___405 = 1003,
    _CS_LFS64_CFLAGS___405 = 1004,
    _CS_LFS64_LDFLAGS___405 = 1005,
    _CS_LFS64_LIBS___405 = 1006,
    _CS_LFS64_LINTFLAGS___405 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___405 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___405 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___405 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___405 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___405 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___405 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___405 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___405 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___405 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___405 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___405 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___405 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___405 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___405 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___405 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___405 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___405 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___405 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___405 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___405 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___405 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___405 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___405 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___405 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___405 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___405 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___405 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___405 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___405 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___405 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___405 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___405 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___405 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___405 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___405 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___405 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___405 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___405 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___405 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___405 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___405 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___405 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___405 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___405 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___405 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___405 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___405 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___405 = 1147,
    _CS_V6_ENV___405 = 1148,
    _CS_V7_ENV___405 = 1149
} ;
enum __anonenum_513775621___405 {
    DT_UNKNOWN___405 = 0,
    DT_FIFO___405 = 1,
    DT_CHR___405 = 2,
    DT_DIR___405 = 4,
    DT_BLK___405 = 6,
    DT_REG___405 = 8,
    DT_LNK___405 = 10,
    DT_SOCK___405 = 12,
    DT_WHT___405 = 14
} ;
enum __anonenum_77002343___405 {
    SI_ASYNCNL___405 = -60,
    SI_TKILL___405 = -6,
    SI_SIGIO___405 = -5,
    SI_ASYNCIO___405 = -4,
    SI_MESGQ___405 = -3,
    SI_TIMER___405 = -2,
    SI_QUEUE___405 = -1,
    SI_USER___405 = 0,
    SI_KERNEL___405 = 128
} ;
enum __anonenum_131038172___405 {
    ILL_ILLOPC___405 = 1,
    ILL_ILLOPN___405 = 2,
    ILL_ILLADR___405 = 3,
    ILL_ILLTRP___405 = 4,
    ILL_PRVOPC___405 = 5,
    ILL_PRVREG___405 = 6,
    ILL_COPROC___405 = 7,
    ILL_BADSTK___405 = 8
} ;
enum __anonenum_452038093___405 {
    FPE_INTDIV___405 = 1,
    FPE_INTOVF___405 = 2,
    FPE_FLTDIV___405 = 3,
    FPE_FLTOVF___405 = 4,
    FPE_FLTUND___405 = 5,
    FPE_FLTRES___405 = 6,
    FPE_FLTINV___405 = 7,
    FPE_FLTSUB___405 = 8
} ;
enum __anonenum_30976155___405 {
    SEGV_MAPERR___405 = 1,
    SEGV_ACCERR___405 = 2,
    SEGV_BNDERR___405 = 3,
    SEGV_PKUERR___405 = 4
} ;
enum __anonenum_1036286214___405 {
    BUS_ADRALN___405 = 1,
    BUS_ADRERR___405 = 2,
    BUS_OBJERR___405 = 3,
    BUS_MCEERR_AR___405 = 4,
    BUS_MCEERR_AO___405 = 5
} ;
enum __anonenum_493465559___405 {
    TRAP_BRKPT___405 = 1,
    TRAP_TRACE___405 = 2
} ;
enum __anonenum_23175539___405 {
    CLD_EXITED___405 = 1,
    CLD_KILLED___405 = 2,
    CLD_DUMPED___405 = 3,
    CLD_TRAPPED___405 = 4,
    CLD_STOPPED___405 = 5,
    CLD_CONTINUED___405 = 6
} ;
enum __anonenum_111643124___405 {
    POLL_IN___405 = 1,
    POLL_OUT___405 = 2,
    POLL_MSG___405 = 3,
    POLL_ERR___405 = 4,
    POLL_PRI___405 = 5,
    POLL_HUP___405 = 6
} ;
enum __anonenum_852341087___405 {
    SIGEV_SIGNAL___405 = 0,
    SIGEV_NONE___405 = 1,
    SIGEV_THREAD___405 = 2,
    SIGEV_THREAD_ID___405 = 4
} ;
enum __anonenum_451154152___405 {
    REG_R8___405 = 0,
    REG_R9___405 = 1,
    REG_R10___405 = 2,
    REG_R11___405 = 3,
    REG_R12___405 = 4,
    REG_R13___405 = 5,
    REG_R14___405 = 6,
    REG_R15___405 = 7,
    REG_RDI___405 = 8,
    REG_RSI___405 = 9,
    REG_RBP___405 = 10,
    REG_RBX___405 = 11,
    REG_RDX___405 = 12,
    REG_RAX___405 = 13,
    REG_RCX___405 = 14,
    REG_RSP___405 = 15,
    REG_RIP___405 = 16,
    REG_EFL___405 = 17,
    REG_CSGSFS___405 = 18,
    REG_ERR___405 = 19,
    REG_TRAPNO___405 = 20,
    REG_OLDMASK___405 = 21,
    REG_CR2___405 = 22
} ;
enum __anonenum_57186863___405 {
    SS_ONSTACK___405 = 1,
    SS_DISABLE___405 = 2
} ;
enum __anonenum_83571709___405 {
    MSG_OOB___405 = 1,
    MSG_PEEK___405 = 2,
    MSG_DONTROUTE___405 = 4,
    MSG_TRYHARD___405 = 4,
    MSG_CTRUNC___405 = 8,
    MSG_PROXY___405 = 16,
    MSG_TRUNC___405 = 32,
    MSG_DONTWAIT___405 = 64,
    MSG_EOR___405 = 128,
    MSG_WAITALL___405 = 256,
    MSG_FIN___405 = 512,
    MSG_SYN___405 = 1024,
    MSG_CONFIRM___405 = 2048,
    MSG_RST___405 = 4096,
    MSG_ERRQUEUE___405 = 8192,
    MSG_NOSIGNAL___405 = 16384,
    MSG_MORE___405 = 32768,
    MSG_WAITFORONE___405 = 65536,
    MSG_BATCH___405 = 262144,
    MSG_ZEROCOPY___405 = 67108864,
    MSG_FASTOPEN___405 = 536870912,
    MSG_CMSG_CLOEXEC___405 = 1073741824
} ;
enum __anonenum_617082774___405 {
    SCM_RIGHTS___405 = 1,
    SCM_CREDENTIALS___405 = 2
} ;
enum __anonenum_606441560___405 {
    SHUT_RD___405 = 0,
    SHUT_WR___405 = 1,
    SHUT_RDWR___405 = 2
} ;
enum __anonenum_681669233___405 {
    IPPROTO_IP___405 = 0,
    IPPROTO_ICMP___405 = 1,
    IPPROTO_IGMP___405 = 2,
    IPPROTO_IPIP___405 = 4,
    IPPROTO_TCP___405 = 6,
    IPPROTO_EGP___405 = 8,
    IPPROTO_PUP___405 = 12,
    IPPROTO_UDP___405 = 17,
    IPPROTO_IDP___405 = 22,
    IPPROTO_TP___405 = 29,
    IPPROTO_DCCP___405 = 33,
    IPPROTO_IPV6___405 = 41,
    IPPROTO_RSVP___405 = 46,
    IPPROTO_GRE___405 = 47,
    IPPROTO_ESP___405 = 50,
    IPPROTO_AH___405 = 51,
    IPPROTO_MTP___405 = 92,
    IPPROTO_BEETPH___405 = 94,
    IPPROTO_ENCAP___405 = 98,
    IPPROTO_PIM___405 = 103,
    IPPROTO_COMP___405 = 108,
    IPPROTO_SCTP___405 = 132,
    IPPROTO_UDPLITE___405 = 136,
    IPPROTO_MPLS___405 = 137,
    IPPROTO_RAW___405 = 255,
    IPPROTO_MAX___405 = 256
} ;
enum __anonenum_218739988___405 {
    IPPROTO_HOPOPTS___405 = 0,
    IPPROTO_ROUTING___405 = 43,
    IPPROTO_FRAGMENT___405 = 44,
    IPPROTO_ICMPV6___405 = 58,
    IPPROTO_NONE___405 = 59,
    IPPROTO_DSTOPTS___405 = 60,
    IPPROTO_MH___405 = 135
} ;
enum __anonenum_662268580___405 {
    IPPORT_ECHO___405 = 7,
    IPPORT_DISCARD___405 = 9,
    IPPORT_SYSTAT___405 = 11,
    IPPORT_DAYTIME___405 = 13,
    IPPORT_NETSTAT___405 = 15,
    IPPORT_FTP___405 = 21,
    IPPORT_TELNET___405 = 23,
    IPPORT_SMTP___405 = 25,
    IPPORT_TIMESERVER___405 = 37,
    IPPORT_NAMESERVER___405 = 42,
    IPPORT_WHOIS___405 = 43,
    IPPORT_MTP___405 = 57,
    IPPORT_TFTP___405 = 69,
    IPPORT_RJE___405 = 77,
    IPPORT_FINGER___405 = 79,
    IPPORT_TTYLINK___405 = 87,
    IPPORT_SUPDUP___405 = 95,
    IPPORT_EXECSERVER___405 = 512,
    IPPORT_LOGINSERVER___405 = 513,
    IPPORT_CMDSERVER___405 = 514,
    IPPORT_EFSSERVER___405 = 520,
    IPPORT_BIFFUDP___405 = 512,
    IPPORT_WHOSERVER___405 = 513,
    IPPORT_ROUTESERVER___405 = 520,
    IPPORT_RESERVED___405 = 1024,
    IPPORT_USERRESERVED___405 = 5000
} ;
enum __anonenum_788308992___405 {
    TCP_ESTABLISHED___405 = 1,
    TCP_SYN_SENT___405 = 2,
    TCP_SYN_RECV___405 = 3,
    TCP_FIN_WAIT1___405 = 4,
    TCP_FIN_WAIT2___405 = 5,
    TCP_TIME_WAIT___405 = 6,
    TCP_CLOSE___405 = 7,
    TCP_CLOSE_WAIT___405 = 8,
    TCP_LAST_ACK___405 = 9,
    TCP_LISTEN___405 = 10,
    TCP_CLOSING___405 = 11
} ;
enum __anonenum_221125648___405 {
    TCP_NO_QUEUE___405 = 0,
    TCP_RECV_QUEUE___405 = 1,
    TCP_SEND_QUEUE___405 = 2,
    TCP_QUEUES_NR___405 = 3
} ;
enum __anonenum_34415463___405 {
    PTHREAD_CREATE_JOINABLE___405 = 0,
    PTHREAD_CREATE_DETACHED___405 = 1
} ;
enum __anonenum_303612439___405 {
    PTHREAD_MUTEX_TIMED_NP___405 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___405 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___405 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___405 = 3,
    PTHREAD_MUTEX_NORMAL___405 = 0,
    PTHREAD_MUTEX_RECURSIVE___405 = 1,
    PTHREAD_MUTEX_ERRORCHECK___405 = 2,
    PTHREAD_MUTEX_DEFAULT___405 = 0,
    PTHREAD_MUTEX_FAST_NP___405 = 0
} ;
enum __anonenum_931900394___405 {
    PTHREAD_MUTEX_STALLED___405 = 0,
    PTHREAD_MUTEX_STALLED_NP___405 = 0,
    PTHREAD_MUTEX_ROBUST___405 = 1,
    PTHREAD_MUTEX_ROBUST_NP___405 = 1
} ;
enum __anonenum_205214487___405 {
    PTHREAD_PRIO_NONE___405 = 0,
    PTHREAD_PRIO_INHERIT___405 = 1,
    PTHREAD_PRIO_PROTECT___405 = 2
} ;
enum __anonenum_25043950___405 {
    PTHREAD_RWLOCK_PREFER_READER_NP___405 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___405 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___405 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___405 = 0
} ;
enum __anonenum_436439511___405 {
    PTHREAD_INHERIT_SCHED___405 = 0,
    PTHREAD_EXPLICIT_SCHED___405 = 1
} ;
enum __anonenum_998661166___405 {
    PTHREAD_SCOPE_SYSTEM___405 = 0,
    PTHREAD_SCOPE_PROCESS___405 = 1
} ;
enum __anonenum_146137331___405 {
    PTHREAD_PROCESS_PRIVATE___405 = 0,
    PTHREAD_PROCESS_SHARED___405 = 1
} ;
enum __anonenum_53396917___405 {
    PTHREAD_CANCEL_ENABLE___405 = 0,
    PTHREAD_CANCEL_DISABLE___405 = 1
} ;
enum __anonenum_904563783___405 {
    PTHREAD_CANCEL_DEFERRED___405 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___405 = 1
} ;
enum __anonenum_672052974___405 {
    SSL_CT_VALIDATION_PERMISSIVE___405 = 0,
    SSL_CT_VALIDATION_STRICT___405 = 1
} ;
enum __anonenum_437032235___406 {
    _PC_LINK_MAX___406 = 0,
    _PC_MAX_CANON___406 = 1,
    _PC_MAX_INPUT___406 = 2,
    _PC_NAME_MAX___406 = 3,
    _PC_PATH_MAX___406 = 4,
    _PC_PIPE_BUF___406 = 5,
    _PC_CHOWN_RESTRICTED___406 = 6,
    _PC_NO_TRUNC___406 = 7,
    _PC_VDISABLE___406 = 8,
    _PC_SYNC_IO___406 = 9,
    _PC_ASYNC_IO___406 = 10,
    _PC_PRIO_IO___406 = 11,
    _PC_SOCK_MAXBUF___406 = 12,
    _PC_FILESIZEBITS___406 = 13,
    _PC_REC_INCR_XFER_SIZE___406 = 14,
    _PC_REC_MAX_XFER_SIZE___406 = 15,
    _PC_REC_MIN_XFER_SIZE___406 = 16,
    _PC_REC_XFER_ALIGN___406 = 17,
    _PC_ALLOC_SIZE_MIN___406 = 18,
    _PC_SYMLINK_MAX___406 = 19,
    _PC_2_SYMLINKS___406 = 20
} ;
enum __anonenum_315186338___406 {
    _SC_ARG_MAX___406 = 0,
    _SC_CHILD_MAX___406 = 1,
    _SC_CLK_TCK___406 = 2,
    _SC_NGROUPS_MAX___406 = 3,
    _SC_OPEN_MAX___406 = 4,
    _SC_STREAM_MAX___406 = 5,
    _SC_TZNAME_MAX___406 = 6,
    _SC_JOB_CONTROL___406 = 7,
    _SC_SAVED_IDS___406 = 8,
    _SC_REALTIME_SIGNALS___406 = 9,
    _SC_PRIORITY_SCHEDULING___406 = 10,
    _SC_TIMERS___406 = 11,
    _SC_ASYNCHRONOUS_IO___406 = 12,
    _SC_PRIORITIZED_IO___406 = 13,
    _SC_SYNCHRONIZED_IO___406 = 14,
    _SC_FSYNC___406 = 15,
    _SC_MAPPED_FILES___406 = 16,
    _SC_MEMLOCK___406 = 17,
    _SC_MEMLOCK_RANGE___406 = 18,
    _SC_MEMORY_PROTECTION___406 = 19,
    _SC_MESSAGE_PASSING___406 = 20,
    _SC_SEMAPHORES___406 = 21,
    _SC_SHARED_MEMORY_OBJECTS___406 = 22,
    _SC_AIO_LISTIO_MAX___406 = 23,
    _SC_AIO_MAX___406 = 24,
    _SC_AIO_PRIO_DELTA_MAX___406 = 25,
    _SC_DELAYTIMER_MAX___406 = 26,
    _SC_MQ_OPEN_MAX___406 = 27,
    _SC_MQ_PRIO_MAX___406 = 28,
    _SC_VERSION___406 = 29,
    _SC_PAGESIZE___406 = 30,
    _SC_RTSIG_MAX___406 = 31,
    _SC_SEM_NSEMS_MAX___406 = 32,
    _SC_SEM_VALUE_MAX___406 = 33,
    _SC_SIGQUEUE_MAX___406 = 34,
    _SC_TIMER_MAX___406 = 35,
    _SC_BC_BASE_MAX___406 = 36,
    _SC_BC_DIM_MAX___406 = 37,
    _SC_BC_SCALE_MAX___406 = 38,
    _SC_BC_STRING_MAX___406 = 39,
    _SC_COLL_WEIGHTS_MAX___406 = 40,
    _SC_EQUIV_CLASS_MAX___406 = 41,
    _SC_EXPR_NEST_MAX___406 = 42,
    _SC_LINE_MAX___406 = 43,
    _SC_RE_DUP_MAX___406 = 44,
    _SC_CHARCLASS_NAME_MAX___406 = 45,
    _SC_2_VERSION___406 = 46,
    _SC_2_C_BIND___406 = 47,
    _SC_2_C_DEV___406 = 48,
    _SC_2_FORT_DEV___406 = 49,
    _SC_2_FORT_RUN___406 = 50,
    _SC_2_SW_DEV___406 = 51,
    _SC_2_LOCALEDEF___406 = 52,
    _SC_PII___406 = 53,
    _SC_PII_XTI___406 = 54,
    _SC_PII_SOCKET___406 = 55,
    _SC_PII_INTERNET___406 = 56,
    _SC_PII_OSI___406 = 57,
    _SC_POLL___406 = 58,
    _SC_SELECT___406 = 59,
    _SC_UIO_MAXIOV___406 = 60,
    _SC_IOV_MAX___406 = 60,
    _SC_PII_INTERNET_STREAM___406 = 61,
    _SC_PII_INTERNET_DGRAM___406 = 62,
    _SC_PII_OSI_COTS___406 = 63,
    _SC_PII_OSI_CLTS___406 = 64,
    _SC_PII_OSI_M___406 = 65,
    _SC_T_IOV_MAX___406 = 66,
    _SC_THREADS___406 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___406 = 68,
    _SC_GETGR_R_SIZE_MAX___406 = 69,
    _SC_GETPW_R_SIZE_MAX___406 = 70,
    _SC_LOGIN_NAME_MAX___406 = 71,
    _SC_TTY_NAME_MAX___406 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___406 = 73,
    _SC_THREAD_KEYS_MAX___406 = 74,
    _SC_THREAD_STACK_MIN___406 = 75,
    _SC_THREAD_THREADS_MAX___406 = 76,
    _SC_THREAD_ATTR_STACKADDR___406 = 77,
    _SC_THREAD_ATTR_STACKSIZE___406 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___406 = 79,
    _SC_THREAD_PRIO_INHERIT___406 = 80,
    _SC_THREAD_PRIO_PROTECT___406 = 81,
    _SC_THREAD_PROCESS_SHARED___406 = 82,
    _SC_NPROCESSORS_CONF___406 = 83,
    _SC_NPROCESSORS_ONLN___406 = 84,
    _SC_PHYS_PAGES___406 = 85,
    _SC_AVPHYS_PAGES___406 = 86,
    _SC_ATEXIT_MAX___406 = 87,
    _SC_PASS_MAX___406 = 88,
    _SC_XOPEN_VERSION___406 = 89,
    _SC_XOPEN_XCU_VERSION___406 = 90,
    _SC_XOPEN_UNIX___406 = 91,
    _SC_XOPEN_CRYPT___406 = 92,
    _SC_XOPEN_ENH_I18N___406 = 93,
    _SC_XOPEN_SHM___406 = 94,
    _SC_2_CHAR_TERM___406 = 95,
    _SC_2_C_VERSION___406 = 96,
    _SC_2_UPE___406 = 97,
    _SC_XOPEN_XPG2___406 = 98,
    _SC_XOPEN_XPG3___406 = 99,
    _SC_XOPEN_XPG4___406 = 100,
    _SC_CHAR_BIT___406 = 101,
    _SC_CHAR_MAX___406 = 102,
    _SC_CHAR_MIN___406 = 103,
    _SC_INT_MAX___406 = 104,
    _SC_INT_MIN___406 = 105,
    _SC_LONG_BIT___406 = 106,
    _SC_WORD_BIT___406 = 107,
    _SC_MB_LEN_MAX___406 = 108,
    _SC_NZERO___406 = 109,
    _SC_SSIZE_MAX___406 = 110,
    _SC_SCHAR_MAX___406 = 111,
    _SC_SCHAR_MIN___406 = 112,
    _SC_SHRT_MAX___406 = 113,
    _SC_SHRT_MIN___406 = 114,
    _SC_UCHAR_MAX___406 = 115,
    _SC_UINT_MAX___406 = 116,
    _SC_ULONG_MAX___406 = 117,
    _SC_USHRT_MAX___406 = 118,
    _SC_NL_ARGMAX___406 = 119,
    _SC_NL_LANGMAX___406 = 120,
    _SC_NL_MSGMAX___406 = 121,
    _SC_NL_NMAX___406 = 122,
    _SC_NL_SETMAX___406 = 123,
    _SC_NL_TEXTMAX___406 = 124,
    _SC_XBS5_ILP32_OFF32___406 = 125,
    _SC_XBS5_ILP32_OFFBIG___406 = 126,
    _SC_XBS5_LP64_OFF64___406 = 127,
    _SC_XBS5_LPBIG_OFFBIG___406 = 128,
    _SC_XOPEN_LEGACY___406 = 129,
    _SC_XOPEN_REALTIME___406 = 130,
    _SC_XOPEN_REALTIME_THREADS___406 = 131,
    _SC_ADVISORY_INFO___406 = 132,
    _SC_BARRIERS___406 = 133,
    _SC_BASE___406 = 134,
    _SC_C_LANG_SUPPORT___406 = 135,
    _SC_C_LANG_SUPPORT_R___406 = 136,
    _SC_CLOCK_SELECTION___406 = 137,
    _SC_CPUTIME___406 = 138,
    _SC_THREAD_CPUTIME___406 = 139,
    _SC_DEVICE_IO___406 = 140,
    _SC_DEVICE_SPECIFIC___406 = 141,
    _SC_DEVICE_SPECIFIC_R___406 = 142,
    _SC_FD_MGMT___406 = 143,
    _SC_FIFO___406 = 144,
    _SC_PIPE___406 = 145,
    _SC_FILE_ATTRIBUTES___406 = 146,
    _SC_FILE_LOCKING___406 = 147,
    _SC_FILE_SYSTEM___406 = 148,
    _SC_MONOTONIC_CLOCK___406 = 149,
    _SC_MULTI_PROCESS___406 = 150,
    _SC_SINGLE_PROCESS___406 = 151,
    _SC_NETWORKING___406 = 152,
    _SC_READER_WRITER_LOCKS___406 = 153,
    _SC_SPIN_LOCKS___406 = 154,
    _SC_REGEXP___406 = 155,
    _SC_REGEX_VERSION___406 = 156,
    _SC_SHELL___406 = 157,
    _SC_SIGNALS___406 = 158,
    _SC_SPAWN___406 = 159,
    _SC_SPORADIC_SERVER___406 = 160,
    _SC_THREAD_SPORADIC_SERVER___406 = 161,
    _SC_SYSTEM_DATABASE___406 = 162,
    _SC_SYSTEM_DATABASE_R___406 = 163,
    _SC_TIMEOUTS___406 = 164,
    _SC_TYPED_MEMORY_OBJECTS___406 = 165,
    _SC_USER_GROUPS___406 = 166,
    _SC_USER_GROUPS_R___406 = 167,
    _SC_2_PBS___406 = 168,
    _SC_2_PBS_ACCOUNTING___406 = 169,
    _SC_2_PBS_LOCATE___406 = 170,
    _SC_2_PBS_MESSAGE___406 = 171,
    _SC_2_PBS_TRACK___406 = 172,
    _SC_SYMLOOP_MAX___406 = 173,
    _SC_STREAMS___406 = 174,
    _SC_2_PBS_CHECKPOINT___406 = 175,
    _SC_V6_ILP32_OFF32___406 = 176,
    _SC_V6_ILP32_OFFBIG___406 = 177,
    _SC_V6_LP64_OFF64___406 = 178,
    _SC_V6_LPBIG_OFFBIG___406 = 179,
    _SC_HOST_NAME_MAX___406 = 180,
    _SC_TRACE___406 = 181,
    _SC_TRACE_EVENT_FILTER___406 = 182,
    _SC_TRACE_INHERIT___406 = 183,
    _SC_TRACE_LOG___406 = 184,
    _SC_LEVEL1_ICACHE_SIZE___406 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___406 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___406 = 187,
    _SC_LEVEL1_DCACHE_SIZE___406 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___406 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___406 = 190,
    _SC_LEVEL2_CACHE_SIZE___406 = 191,
    _SC_LEVEL2_CACHE_ASSOC___406 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___406 = 193,
    _SC_LEVEL3_CACHE_SIZE___406 = 194,
    _SC_LEVEL3_CACHE_ASSOC___406 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___406 = 196,
    _SC_LEVEL4_CACHE_SIZE___406 = 197,
    _SC_LEVEL4_CACHE_ASSOC___406 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___406 = 199,
    _SC_IPV6___406 = 235,
    _SC_RAW_SOCKETS___406 = 236,
    _SC_V7_ILP32_OFF32___406 = 237,
    _SC_V7_ILP32_OFFBIG___406 = 238,
    _SC_V7_LP64_OFF64___406 = 239,
    _SC_V7_LPBIG_OFFBIG___406 = 240,
    _SC_SS_REPL_MAX___406 = 241,
    _SC_TRACE_EVENT_NAME_MAX___406 = 242,
    _SC_TRACE_NAME_MAX___406 = 243,
    _SC_TRACE_SYS_MAX___406 = 244,
    _SC_TRACE_USER_EVENT_MAX___406 = 245,
    _SC_XOPEN_STREAMS___406 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___406 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___406 = 248
} ;
enum __anonenum_875524036___406 {
    _CS_PATH___406 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___406 = 1,
    _CS_GNU_LIBC_VERSION___406 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___406 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___406 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___406 = 5,
    _CS_LFS_CFLAGS___406 = 1000,
    _CS_LFS_LDFLAGS___406 = 1001,
    _CS_LFS_LIBS___406 = 1002,
    _CS_LFS_LINTFLAGS___406 = 1003,
    _CS_LFS64_CFLAGS___406 = 1004,
    _CS_LFS64_LDFLAGS___406 = 1005,
    _CS_LFS64_LIBS___406 = 1006,
    _CS_LFS64_LINTFLAGS___406 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___406 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___406 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___406 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___406 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___406 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___406 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___406 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___406 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___406 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___406 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___406 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___406 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___406 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___406 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___406 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___406 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___406 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___406 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___406 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___406 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___406 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___406 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___406 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___406 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___406 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___406 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___406 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___406 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___406 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___406 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___406 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___406 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___406 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___406 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___406 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___406 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___406 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___406 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___406 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___406 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___406 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___406 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___406 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___406 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___406 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___406 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___406 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___406 = 1147,
    _CS_V6_ENV___406 = 1148,
    _CS_V7_ENV___406 = 1149
} ;
enum __anonenum_513775621___406 {
    DT_UNKNOWN___406 = 0,
    DT_FIFO___406 = 1,
    DT_CHR___406 = 2,
    DT_DIR___406 = 4,
    DT_BLK___406 = 6,
    DT_REG___406 = 8,
    DT_LNK___406 = 10,
    DT_SOCK___406 = 12,
    DT_WHT___406 = 14
} ;
enum __anonenum_77002343___406 {
    SI_ASYNCNL___406 = -60,
    SI_TKILL___406 = -6,
    SI_SIGIO___406 = -5,
    SI_ASYNCIO___406 = -4,
    SI_MESGQ___406 = -3,
    SI_TIMER___406 = -2,
    SI_QUEUE___406 = -1,
    SI_USER___406 = 0,
    SI_KERNEL___406 = 128
} ;
enum __anonenum_131038172___406 {
    ILL_ILLOPC___406 = 1,
    ILL_ILLOPN___406 = 2,
    ILL_ILLADR___406 = 3,
    ILL_ILLTRP___406 = 4,
    ILL_PRVOPC___406 = 5,
    ILL_PRVREG___406 = 6,
    ILL_COPROC___406 = 7,
    ILL_BADSTK___406 = 8
} ;
enum __anonenum_452038093___406 {
    FPE_INTDIV___406 = 1,
    FPE_INTOVF___406 = 2,
    FPE_FLTDIV___406 = 3,
    FPE_FLTOVF___406 = 4,
    FPE_FLTUND___406 = 5,
    FPE_FLTRES___406 = 6,
    FPE_FLTINV___406 = 7,
    FPE_FLTSUB___406 = 8
} ;
enum __anonenum_30976155___406 {
    SEGV_MAPERR___406 = 1,
    SEGV_ACCERR___406 = 2,
    SEGV_BNDERR___406 = 3,
    SEGV_PKUERR___406 = 4
} ;
enum __anonenum_1036286214___406 {
    BUS_ADRALN___406 = 1,
    BUS_ADRERR___406 = 2,
    BUS_OBJERR___406 = 3,
    BUS_MCEERR_AR___406 = 4,
    BUS_MCEERR_AO___406 = 5
} ;
enum __anonenum_493465559___406 {
    TRAP_BRKPT___406 = 1,
    TRAP_TRACE___406 = 2
} ;
enum __anonenum_23175539___406 {
    CLD_EXITED___406 = 1,
    CLD_KILLED___406 = 2,
    CLD_DUMPED___406 = 3,
    CLD_TRAPPED___406 = 4,
    CLD_STOPPED___406 = 5,
    CLD_CONTINUED___406 = 6
} ;
enum __anonenum_111643124___406 {
    POLL_IN___406 = 1,
    POLL_OUT___406 = 2,
    POLL_MSG___406 = 3,
    POLL_ERR___406 = 4,
    POLL_PRI___406 = 5,
    POLL_HUP___406 = 6
} ;
enum __anonenum_852341087___406 {
    SIGEV_SIGNAL___406 = 0,
    SIGEV_NONE___406 = 1,
    SIGEV_THREAD___406 = 2,
    SIGEV_THREAD_ID___406 = 4
} ;
enum __anonenum_451154152___406 {
    REG_R8___406 = 0,
    REG_R9___406 = 1,
    REG_R10___406 = 2,
    REG_R11___406 = 3,
    REG_R12___406 = 4,
    REG_R13___406 = 5,
    REG_R14___406 = 6,
    REG_R15___406 = 7,
    REG_RDI___406 = 8,
    REG_RSI___406 = 9,
    REG_RBP___406 = 10,
    REG_RBX___406 = 11,
    REG_RDX___406 = 12,
    REG_RAX___406 = 13,
    REG_RCX___406 = 14,
    REG_RSP___406 = 15,
    REG_RIP___406 = 16,
    REG_EFL___406 = 17,
    REG_CSGSFS___406 = 18,
    REG_ERR___406 = 19,
    REG_TRAPNO___406 = 20,
    REG_OLDMASK___406 = 21,
    REG_CR2___406 = 22
} ;
enum __anonenum_57186863___406 {
    SS_ONSTACK___406 = 1,
    SS_DISABLE___406 = 2
} ;
enum __anonenum_83571709___406 {
    MSG_OOB___406 = 1,
    MSG_PEEK___406 = 2,
    MSG_DONTROUTE___406 = 4,
    MSG_TRYHARD___406 = 4,
    MSG_CTRUNC___406 = 8,
    MSG_PROXY___406 = 16,
    MSG_TRUNC___406 = 32,
    MSG_DONTWAIT___406 = 64,
    MSG_EOR___406 = 128,
    MSG_WAITALL___406 = 256,
    MSG_FIN___406 = 512,
    MSG_SYN___406 = 1024,
    MSG_CONFIRM___406 = 2048,
    MSG_RST___406 = 4096,
    MSG_ERRQUEUE___406 = 8192,
    MSG_NOSIGNAL___406 = 16384,
    MSG_MORE___406 = 32768,
    MSG_WAITFORONE___406 = 65536,
    MSG_BATCH___406 = 262144,
    MSG_ZEROCOPY___406 = 67108864,
    MSG_FASTOPEN___406 = 536870912,
    MSG_CMSG_CLOEXEC___406 = 1073741824
} ;
enum __anonenum_617082774___406 {
    SCM_RIGHTS___406 = 1,
    SCM_CREDENTIALS___406 = 2
} ;
enum __anonenum_606441560___406 {
    SHUT_RD___406 = 0,
    SHUT_WR___406 = 1,
    SHUT_RDWR___406 = 2
} ;
enum __anonenum_681669233___406 {
    IPPROTO_IP___406 = 0,
    IPPROTO_ICMP___406 = 1,
    IPPROTO_IGMP___406 = 2,
    IPPROTO_IPIP___406 = 4,
    IPPROTO_TCP___406 = 6,
    IPPROTO_EGP___406 = 8,
    IPPROTO_PUP___406 = 12,
    IPPROTO_UDP___406 = 17,
    IPPROTO_IDP___406 = 22,
    IPPROTO_TP___406 = 29,
    IPPROTO_DCCP___406 = 33,
    IPPROTO_IPV6___406 = 41,
    IPPROTO_RSVP___406 = 46,
    IPPROTO_GRE___406 = 47,
    IPPROTO_ESP___406 = 50,
    IPPROTO_AH___406 = 51,
    IPPROTO_MTP___406 = 92,
    IPPROTO_BEETPH___406 = 94,
    IPPROTO_ENCAP___406 = 98,
    IPPROTO_PIM___406 = 103,
    IPPROTO_COMP___406 = 108,
    IPPROTO_SCTP___406 = 132,
    IPPROTO_UDPLITE___406 = 136,
    IPPROTO_MPLS___406 = 137,
    IPPROTO_RAW___406 = 255,
    IPPROTO_MAX___406 = 256
} ;
enum __anonenum_218739988___406 {
    IPPROTO_HOPOPTS___406 = 0,
    IPPROTO_ROUTING___406 = 43,
    IPPROTO_FRAGMENT___406 = 44,
    IPPROTO_ICMPV6___406 = 58,
    IPPROTO_NONE___406 = 59,
    IPPROTO_DSTOPTS___406 = 60,
    IPPROTO_MH___406 = 135
} ;
enum __anonenum_662268580___406 {
    IPPORT_ECHO___406 = 7,
    IPPORT_DISCARD___406 = 9,
    IPPORT_SYSTAT___406 = 11,
    IPPORT_DAYTIME___406 = 13,
    IPPORT_NETSTAT___406 = 15,
    IPPORT_FTP___406 = 21,
    IPPORT_TELNET___406 = 23,
    IPPORT_SMTP___406 = 25,
    IPPORT_TIMESERVER___406 = 37,
    IPPORT_NAMESERVER___406 = 42,
    IPPORT_WHOIS___406 = 43,
    IPPORT_MTP___406 = 57,
    IPPORT_TFTP___406 = 69,
    IPPORT_RJE___406 = 77,
    IPPORT_FINGER___406 = 79,
    IPPORT_TTYLINK___406 = 87,
    IPPORT_SUPDUP___406 = 95,
    IPPORT_EXECSERVER___406 = 512,
    IPPORT_LOGINSERVER___406 = 513,
    IPPORT_CMDSERVER___406 = 514,
    IPPORT_EFSSERVER___406 = 520,
    IPPORT_BIFFUDP___406 = 512,
    IPPORT_WHOSERVER___406 = 513,
    IPPORT_ROUTESERVER___406 = 520,
    IPPORT_RESERVED___406 = 1024,
    IPPORT_USERRESERVED___406 = 5000
} ;
enum __anonenum_788308992___406 {
    TCP_ESTABLISHED___406 = 1,
    TCP_SYN_SENT___406 = 2,
    TCP_SYN_RECV___406 = 3,
    TCP_FIN_WAIT1___406 = 4,
    TCP_FIN_WAIT2___406 = 5,
    TCP_TIME_WAIT___406 = 6,
    TCP_CLOSE___406 = 7,
    TCP_CLOSE_WAIT___406 = 8,
    TCP_LAST_ACK___406 = 9,
    TCP_LISTEN___406 = 10,
    TCP_CLOSING___406 = 11
} ;
enum __anonenum_221125648___406 {
    TCP_NO_QUEUE___406 = 0,
    TCP_RECV_QUEUE___406 = 1,
    TCP_SEND_QUEUE___406 = 2,
    TCP_QUEUES_NR___406 = 3
} ;
enum __anonenum_34415463___406 {
    PTHREAD_CREATE_JOINABLE___406 = 0,
    PTHREAD_CREATE_DETACHED___406 = 1
} ;
enum __anonenum_303612439___406 {
    PTHREAD_MUTEX_TIMED_NP___406 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___406 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___406 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___406 = 3,
    PTHREAD_MUTEX_NORMAL___406 = 0,
    PTHREAD_MUTEX_RECURSIVE___406 = 1,
    PTHREAD_MUTEX_ERRORCHECK___406 = 2,
    PTHREAD_MUTEX_DEFAULT___406 = 0,
    PTHREAD_MUTEX_FAST_NP___406 = 0
} ;
enum __anonenum_931900394___406 {
    PTHREAD_MUTEX_STALLED___406 = 0,
    PTHREAD_MUTEX_STALLED_NP___406 = 0,
    PTHREAD_MUTEX_ROBUST___406 = 1,
    PTHREAD_MUTEX_ROBUST_NP___406 = 1
} ;
enum __anonenum_205214487___406 {
    PTHREAD_PRIO_NONE___406 = 0,
    PTHREAD_PRIO_INHERIT___406 = 1,
    PTHREAD_PRIO_PROTECT___406 = 2
} ;
enum __anonenum_25043950___406 {
    PTHREAD_RWLOCK_PREFER_READER_NP___406 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___406 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___406 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___406 = 0
} ;
enum __anonenum_436439511___406 {
    PTHREAD_INHERIT_SCHED___406 = 0,
    PTHREAD_EXPLICIT_SCHED___406 = 1
} ;
enum __anonenum_998661166___406 {
    PTHREAD_SCOPE_SYSTEM___406 = 0,
    PTHREAD_SCOPE_PROCESS___406 = 1
} ;
enum __anonenum_146137331___406 {
    PTHREAD_PROCESS_PRIVATE___406 = 0,
    PTHREAD_PROCESS_SHARED___406 = 1
} ;
enum __anonenum_53396917___406 {
    PTHREAD_CANCEL_ENABLE___406 = 0,
    PTHREAD_CANCEL_DISABLE___406 = 1
} ;
enum __anonenum_904563783___406 {
    PTHREAD_CANCEL_DEFERRED___406 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___406 = 1
} ;
enum __anonenum_672052974___406 {
    SSL_CT_VALIDATION_PERMISSIVE___406 = 0,
    SSL_CT_VALIDATION_STRICT___406 = 1
} ;
enum __anonenum_437032235___407 {
    _PC_LINK_MAX___407 = 0,
    _PC_MAX_CANON___407 = 1,
    _PC_MAX_INPUT___407 = 2,
    _PC_NAME_MAX___407 = 3,
    _PC_PATH_MAX___407 = 4,
    _PC_PIPE_BUF___407 = 5,
    _PC_CHOWN_RESTRICTED___407 = 6,
    _PC_NO_TRUNC___407 = 7,
    _PC_VDISABLE___407 = 8,
    _PC_SYNC_IO___407 = 9,
    _PC_ASYNC_IO___407 = 10,
    _PC_PRIO_IO___407 = 11,
    _PC_SOCK_MAXBUF___407 = 12,
    _PC_FILESIZEBITS___407 = 13,
    _PC_REC_INCR_XFER_SIZE___407 = 14,
    _PC_REC_MAX_XFER_SIZE___407 = 15,
    _PC_REC_MIN_XFER_SIZE___407 = 16,
    _PC_REC_XFER_ALIGN___407 = 17,
    _PC_ALLOC_SIZE_MIN___407 = 18,
    _PC_SYMLINK_MAX___407 = 19,
    _PC_2_SYMLINKS___407 = 20
} ;
enum __anonenum_315186338___407 {
    _SC_ARG_MAX___407 = 0,
    _SC_CHILD_MAX___407 = 1,
    _SC_CLK_TCK___407 = 2,
    _SC_NGROUPS_MAX___407 = 3,
    _SC_OPEN_MAX___407 = 4,
    _SC_STREAM_MAX___407 = 5,
    _SC_TZNAME_MAX___407 = 6,
    _SC_JOB_CONTROL___407 = 7,
    _SC_SAVED_IDS___407 = 8,
    _SC_REALTIME_SIGNALS___407 = 9,
    _SC_PRIORITY_SCHEDULING___407 = 10,
    _SC_TIMERS___407 = 11,
    _SC_ASYNCHRONOUS_IO___407 = 12,
    _SC_PRIORITIZED_IO___407 = 13,
    _SC_SYNCHRONIZED_IO___407 = 14,
    _SC_FSYNC___407 = 15,
    _SC_MAPPED_FILES___407 = 16,
    _SC_MEMLOCK___407 = 17,
    _SC_MEMLOCK_RANGE___407 = 18,
    _SC_MEMORY_PROTECTION___407 = 19,
    _SC_MESSAGE_PASSING___407 = 20,
    _SC_SEMAPHORES___407 = 21,
    _SC_SHARED_MEMORY_OBJECTS___407 = 22,
    _SC_AIO_LISTIO_MAX___407 = 23,
    _SC_AIO_MAX___407 = 24,
    _SC_AIO_PRIO_DELTA_MAX___407 = 25,
    _SC_DELAYTIMER_MAX___407 = 26,
    _SC_MQ_OPEN_MAX___407 = 27,
    _SC_MQ_PRIO_MAX___407 = 28,
    _SC_VERSION___407 = 29,
    _SC_PAGESIZE___407 = 30,
    _SC_RTSIG_MAX___407 = 31,
    _SC_SEM_NSEMS_MAX___407 = 32,
    _SC_SEM_VALUE_MAX___407 = 33,
    _SC_SIGQUEUE_MAX___407 = 34,
    _SC_TIMER_MAX___407 = 35,
    _SC_BC_BASE_MAX___407 = 36,
    _SC_BC_DIM_MAX___407 = 37,
    _SC_BC_SCALE_MAX___407 = 38,
    _SC_BC_STRING_MAX___407 = 39,
    _SC_COLL_WEIGHTS_MAX___407 = 40,
    _SC_EQUIV_CLASS_MAX___407 = 41,
    _SC_EXPR_NEST_MAX___407 = 42,
    _SC_LINE_MAX___407 = 43,
    _SC_RE_DUP_MAX___407 = 44,
    _SC_CHARCLASS_NAME_MAX___407 = 45,
    _SC_2_VERSION___407 = 46,
    _SC_2_C_BIND___407 = 47,
    _SC_2_C_DEV___407 = 48,
    _SC_2_FORT_DEV___407 = 49,
    _SC_2_FORT_RUN___407 = 50,
    _SC_2_SW_DEV___407 = 51,
    _SC_2_LOCALEDEF___407 = 52,
    _SC_PII___407 = 53,
    _SC_PII_XTI___407 = 54,
    _SC_PII_SOCKET___407 = 55,
    _SC_PII_INTERNET___407 = 56,
    _SC_PII_OSI___407 = 57,
    _SC_POLL___407 = 58,
    _SC_SELECT___407 = 59,
    _SC_UIO_MAXIOV___407 = 60,
    _SC_IOV_MAX___407 = 60,
    _SC_PII_INTERNET_STREAM___407 = 61,
    _SC_PII_INTERNET_DGRAM___407 = 62,
    _SC_PII_OSI_COTS___407 = 63,
    _SC_PII_OSI_CLTS___407 = 64,
    _SC_PII_OSI_M___407 = 65,
    _SC_T_IOV_MAX___407 = 66,
    _SC_THREADS___407 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___407 = 68,
    _SC_GETGR_R_SIZE_MAX___407 = 69,
    _SC_GETPW_R_SIZE_MAX___407 = 70,
    _SC_LOGIN_NAME_MAX___407 = 71,
    _SC_TTY_NAME_MAX___407 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___407 = 73,
    _SC_THREAD_KEYS_MAX___407 = 74,
    _SC_THREAD_STACK_MIN___407 = 75,
    _SC_THREAD_THREADS_MAX___407 = 76,
    _SC_THREAD_ATTR_STACKADDR___407 = 77,
    _SC_THREAD_ATTR_STACKSIZE___407 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___407 = 79,
    _SC_THREAD_PRIO_INHERIT___407 = 80,
    _SC_THREAD_PRIO_PROTECT___407 = 81,
    _SC_THREAD_PROCESS_SHARED___407 = 82,
    _SC_NPROCESSORS_CONF___407 = 83,
    _SC_NPROCESSORS_ONLN___407 = 84,
    _SC_PHYS_PAGES___407 = 85,
    _SC_AVPHYS_PAGES___407 = 86,
    _SC_ATEXIT_MAX___407 = 87,
    _SC_PASS_MAX___407 = 88,
    _SC_XOPEN_VERSION___407 = 89,
    _SC_XOPEN_XCU_VERSION___407 = 90,
    _SC_XOPEN_UNIX___407 = 91,
    _SC_XOPEN_CRYPT___407 = 92,
    _SC_XOPEN_ENH_I18N___407 = 93,
    _SC_XOPEN_SHM___407 = 94,
    _SC_2_CHAR_TERM___407 = 95,
    _SC_2_C_VERSION___407 = 96,
    _SC_2_UPE___407 = 97,
    _SC_XOPEN_XPG2___407 = 98,
    _SC_XOPEN_XPG3___407 = 99,
    _SC_XOPEN_XPG4___407 = 100,
    _SC_CHAR_BIT___407 = 101,
    _SC_CHAR_MAX___407 = 102,
    _SC_CHAR_MIN___407 = 103,
    _SC_INT_MAX___407 = 104,
    _SC_INT_MIN___407 = 105,
    _SC_LONG_BIT___407 = 106,
    _SC_WORD_BIT___407 = 107,
    _SC_MB_LEN_MAX___407 = 108,
    _SC_NZERO___407 = 109,
    _SC_SSIZE_MAX___407 = 110,
    _SC_SCHAR_MAX___407 = 111,
    _SC_SCHAR_MIN___407 = 112,
    _SC_SHRT_MAX___407 = 113,
    _SC_SHRT_MIN___407 = 114,
    _SC_UCHAR_MAX___407 = 115,
    _SC_UINT_MAX___407 = 116,
    _SC_ULONG_MAX___407 = 117,
    _SC_USHRT_MAX___407 = 118,
    _SC_NL_ARGMAX___407 = 119,
    _SC_NL_LANGMAX___407 = 120,
    _SC_NL_MSGMAX___407 = 121,
    _SC_NL_NMAX___407 = 122,
    _SC_NL_SETMAX___407 = 123,
    _SC_NL_TEXTMAX___407 = 124,
    _SC_XBS5_ILP32_OFF32___407 = 125,
    _SC_XBS5_ILP32_OFFBIG___407 = 126,
    _SC_XBS5_LP64_OFF64___407 = 127,
    _SC_XBS5_LPBIG_OFFBIG___407 = 128,
    _SC_XOPEN_LEGACY___407 = 129,
    _SC_XOPEN_REALTIME___407 = 130,
    _SC_XOPEN_REALTIME_THREADS___407 = 131,
    _SC_ADVISORY_INFO___407 = 132,
    _SC_BARRIERS___407 = 133,
    _SC_BASE___407 = 134,
    _SC_C_LANG_SUPPORT___407 = 135,
    _SC_C_LANG_SUPPORT_R___407 = 136,
    _SC_CLOCK_SELECTION___407 = 137,
    _SC_CPUTIME___407 = 138,
    _SC_THREAD_CPUTIME___407 = 139,
    _SC_DEVICE_IO___407 = 140,
    _SC_DEVICE_SPECIFIC___407 = 141,
    _SC_DEVICE_SPECIFIC_R___407 = 142,
    _SC_FD_MGMT___407 = 143,
    _SC_FIFO___407 = 144,
    _SC_PIPE___407 = 145,
    _SC_FILE_ATTRIBUTES___407 = 146,
    _SC_FILE_LOCKING___407 = 147,
    _SC_FILE_SYSTEM___407 = 148,
    _SC_MONOTONIC_CLOCK___407 = 149,
    _SC_MULTI_PROCESS___407 = 150,
    _SC_SINGLE_PROCESS___407 = 151,
    _SC_NETWORKING___407 = 152,
    _SC_READER_WRITER_LOCKS___407 = 153,
    _SC_SPIN_LOCKS___407 = 154,
    _SC_REGEXP___407 = 155,
    _SC_REGEX_VERSION___407 = 156,
    _SC_SHELL___407 = 157,
    _SC_SIGNALS___407 = 158,
    _SC_SPAWN___407 = 159,
    _SC_SPORADIC_SERVER___407 = 160,
    _SC_THREAD_SPORADIC_SERVER___407 = 161,
    _SC_SYSTEM_DATABASE___407 = 162,
    _SC_SYSTEM_DATABASE_R___407 = 163,
    _SC_TIMEOUTS___407 = 164,
    _SC_TYPED_MEMORY_OBJECTS___407 = 165,
    _SC_USER_GROUPS___407 = 166,
    _SC_USER_GROUPS_R___407 = 167,
    _SC_2_PBS___407 = 168,
    _SC_2_PBS_ACCOUNTING___407 = 169,
    _SC_2_PBS_LOCATE___407 = 170,
    _SC_2_PBS_MESSAGE___407 = 171,
    _SC_2_PBS_TRACK___407 = 172,
    _SC_SYMLOOP_MAX___407 = 173,
    _SC_STREAMS___407 = 174,
    _SC_2_PBS_CHECKPOINT___407 = 175,
    _SC_V6_ILP32_OFF32___407 = 176,
    _SC_V6_ILP32_OFFBIG___407 = 177,
    _SC_V6_LP64_OFF64___407 = 178,
    _SC_V6_LPBIG_OFFBIG___407 = 179,
    _SC_HOST_NAME_MAX___407 = 180,
    _SC_TRACE___407 = 181,
    _SC_TRACE_EVENT_FILTER___407 = 182,
    _SC_TRACE_INHERIT___407 = 183,
    _SC_TRACE_LOG___407 = 184,
    _SC_LEVEL1_ICACHE_SIZE___407 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___407 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___407 = 187,
    _SC_LEVEL1_DCACHE_SIZE___407 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___407 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___407 = 190,
    _SC_LEVEL2_CACHE_SIZE___407 = 191,
    _SC_LEVEL2_CACHE_ASSOC___407 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___407 = 193,
    _SC_LEVEL3_CACHE_SIZE___407 = 194,
    _SC_LEVEL3_CACHE_ASSOC___407 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___407 = 196,
    _SC_LEVEL4_CACHE_SIZE___407 = 197,
    _SC_LEVEL4_CACHE_ASSOC___407 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___407 = 199,
    _SC_IPV6___407 = 235,
    _SC_RAW_SOCKETS___407 = 236,
    _SC_V7_ILP32_OFF32___407 = 237,
    _SC_V7_ILP32_OFFBIG___407 = 238,
    _SC_V7_LP64_OFF64___407 = 239,
    _SC_V7_LPBIG_OFFBIG___407 = 240,
    _SC_SS_REPL_MAX___407 = 241,
    _SC_TRACE_EVENT_NAME_MAX___407 = 242,
    _SC_TRACE_NAME_MAX___407 = 243,
    _SC_TRACE_SYS_MAX___407 = 244,
    _SC_TRACE_USER_EVENT_MAX___407 = 245,
    _SC_XOPEN_STREAMS___407 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___407 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___407 = 248
} ;
enum __anonenum_875524036___407 {
    _CS_PATH___407 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___407 = 1,
    _CS_GNU_LIBC_VERSION___407 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___407 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___407 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___407 = 5,
    _CS_LFS_CFLAGS___407 = 1000,
    _CS_LFS_LDFLAGS___407 = 1001,
    _CS_LFS_LIBS___407 = 1002,
    _CS_LFS_LINTFLAGS___407 = 1003,
    _CS_LFS64_CFLAGS___407 = 1004,
    _CS_LFS64_LDFLAGS___407 = 1005,
    _CS_LFS64_LIBS___407 = 1006,
    _CS_LFS64_LINTFLAGS___407 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___407 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___407 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___407 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___407 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___407 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___407 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___407 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___407 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___407 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___407 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___407 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___407 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___407 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___407 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___407 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___407 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___407 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___407 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___407 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___407 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___407 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___407 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___407 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___407 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___407 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___407 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___407 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___407 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___407 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___407 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___407 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___407 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___407 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___407 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___407 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___407 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___407 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___407 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___407 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___407 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___407 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___407 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___407 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___407 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___407 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___407 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___407 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___407 = 1147,
    _CS_V6_ENV___407 = 1148,
    _CS_V7_ENV___407 = 1149
} ;
enum __anonenum_513775621___407 {
    DT_UNKNOWN___407 = 0,
    DT_FIFO___407 = 1,
    DT_CHR___407 = 2,
    DT_DIR___407 = 4,
    DT_BLK___407 = 6,
    DT_REG___407 = 8,
    DT_LNK___407 = 10,
    DT_SOCK___407 = 12,
    DT_WHT___407 = 14
} ;
enum __anonenum_77002343___407 {
    SI_ASYNCNL___407 = -60,
    SI_TKILL___407 = -6,
    SI_SIGIO___407 = -5,
    SI_ASYNCIO___407 = -4,
    SI_MESGQ___407 = -3,
    SI_TIMER___407 = -2,
    SI_QUEUE___407 = -1,
    SI_USER___407 = 0,
    SI_KERNEL___407 = 128
} ;
enum __anonenum_131038172___407 {
    ILL_ILLOPC___407 = 1,
    ILL_ILLOPN___407 = 2,
    ILL_ILLADR___407 = 3,
    ILL_ILLTRP___407 = 4,
    ILL_PRVOPC___407 = 5,
    ILL_PRVREG___407 = 6,
    ILL_COPROC___407 = 7,
    ILL_BADSTK___407 = 8
} ;
enum __anonenum_452038093___407 {
    FPE_INTDIV___407 = 1,
    FPE_INTOVF___407 = 2,
    FPE_FLTDIV___407 = 3,
    FPE_FLTOVF___407 = 4,
    FPE_FLTUND___407 = 5,
    FPE_FLTRES___407 = 6,
    FPE_FLTINV___407 = 7,
    FPE_FLTSUB___407 = 8
} ;
enum __anonenum_30976155___407 {
    SEGV_MAPERR___407 = 1,
    SEGV_ACCERR___407 = 2,
    SEGV_BNDERR___407 = 3,
    SEGV_PKUERR___407 = 4
} ;
enum __anonenum_1036286214___407 {
    BUS_ADRALN___407 = 1,
    BUS_ADRERR___407 = 2,
    BUS_OBJERR___407 = 3,
    BUS_MCEERR_AR___407 = 4,
    BUS_MCEERR_AO___407 = 5
} ;
enum __anonenum_493465559___407 {
    TRAP_BRKPT___407 = 1,
    TRAP_TRACE___407 = 2
} ;
enum __anonenum_23175539___407 {
    CLD_EXITED___407 = 1,
    CLD_KILLED___407 = 2,
    CLD_DUMPED___407 = 3,
    CLD_TRAPPED___407 = 4,
    CLD_STOPPED___407 = 5,
    CLD_CONTINUED___407 = 6
} ;
enum __anonenum_111643124___407 {
    POLL_IN___407 = 1,
    POLL_OUT___407 = 2,
    POLL_MSG___407 = 3,
    POLL_ERR___407 = 4,
    POLL_PRI___407 = 5,
    POLL_HUP___407 = 6
} ;
enum __anonenum_852341087___407 {
    SIGEV_SIGNAL___407 = 0,
    SIGEV_NONE___407 = 1,
    SIGEV_THREAD___407 = 2,
    SIGEV_THREAD_ID___407 = 4
} ;
enum __anonenum_451154152___407 {
    REG_R8___407 = 0,
    REG_R9___407 = 1,
    REG_R10___407 = 2,
    REG_R11___407 = 3,
    REG_R12___407 = 4,
    REG_R13___407 = 5,
    REG_R14___407 = 6,
    REG_R15___407 = 7,
    REG_RDI___407 = 8,
    REG_RSI___407 = 9,
    REG_RBP___407 = 10,
    REG_RBX___407 = 11,
    REG_RDX___407 = 12,
    REG_RAX___407 = 13,
    REG_RCX___407 = 14,
    REG_RSP___407 = 15,
    REG_RIP___407 = 16,
    REG_EFL___407 = 17,
    REG_CSGSFS___407 = 18,
    REG_ERR___407 = 19,
    REG_TRAPNO___407 = 20,
    REG_OLDMASK___407 = 21,
    REG_CR2___407 = 22
} ;
enum __anonenum_57186863___407 {
    SS_ONSTACK___407 = 1,
    SS_DISABLE___407 = 2
} ;
enum __anonenum_83571709___407 {
    MSG_OOB___407 = 1,
    MSG_PEEK___407 = 2,
    MSG_DONTROUTE___407 = 4,
    MSG_TRYHARD___407 = 4,
    MSG_CTRUNC___407 = 8,
    MSG_PROXY___407 = 16,
    MSG_TRUNC___407 = 32,
    MSG_DONTWAIT___407 = 64,
    MSG_EOR___407 = 128,
    MSG_WAITALL___407 = 256,
    MSG_FIN___407 = 512,
    MSG_SYN___407 = 1024,
    MSG_CONFIRM___407 = 2048,
    MSG_RST___407 = 4096,
    MSG_ERRQUEUE___407 = 8192,
    MSG_NOSIGNAL___407 = 16384,
    MSG_MORE___407 = 32768,
    MSG_WAITFORONE___407 = 65536,
    MSG_BATCH___407 = 262144,
    MSG_ZEROCOPY___407 = 67108864,
    MSG_FASTOPEN___407 = 536870912,
    MSG_CMSG_CLOEXEC___407 = 1073741824
} ;
enum __anonenum_617082774___407 {
    SCM_RIGHTS___407 = 1,
    SCM_CREDENTIALS___407 = 2
} ;
enum __anonenum_606441560___407 {
    SHUT_RD___407 = 0,
    SHUT_WR___407 = 1,
    SHUT_RDWR___407 = 2
} ;
enum __anonenum_681669233___407 {
    IPPROTO_IP___407 = 0,
    IPPROTO_ICMP___407 = 1,
    IPPROTO_IGMP___407 = 2,
    IPPROTO_IPIP___407 = 4,
    IPPROTO_TCP___407 = 6,
    IPPROTO_EGP___407 = 8,
    IPPROTO_PUP___407 = 12,
    IPPROTO_UDP___407 = 17,
    IPPROTO_IDP___407 = 22,
    IPPROTO_TP___407 = 29,
    IPPROTO_DCCP___407 = 33,
    IPPROTO_IPV6___407 = 41,
    IPPROTO_RSVP___407 = 46,
    IPPROTO_GRE___407 = 47,
    IPPROTO_ESP___407 = 50,
    IPPROTO_AH___407 = 51,
    IPPROTO_MTP___407 = 92,
    IPPROTO_BEETPH___407 = 94,
    IPPROTO_ENCAP___407 = 98,
    IPPROTO_PIM___407 = 103,
    IPPROTO_COMP___407 = 108,
    IPPROTO_SCTP___407 = 132,
    IPPROTO_UDPLITE___407 = 136,
    IPPROTO_MPLS___407 = 137,
    IPPROTO_RAW___407 = 255,
    IPPROTO_MAX___407 = 256
} ;
enum __anonenum_218739988___407 {
    IPPROTO_HOPOPTS___407 = 0,
    IPPROTO_ROUTING___407 = 43,
    IPPROTO_FRAGMENT___407 = 44,
    IPPROTO_ICMPV6___407 = 58,
    IPPROTO_NONE___407 = 59,
    IPPROTO_DSTOPTS___407 = 60,
    IPPROTO_MH___407 = 135
} ;
enum __anonenum_662268580___407 {
    IPPORT_ECHO___407 = 7,
    IPPORT_DISCARD___407 = 9,
    IPPORT_SYSTAT___407 = 11,
    IPPORT_DAYTIME___407 = 13,
    IPPORT_NETSTAT___407 = 15,
    IPPORT_FTP___407 = 21,
    IPPORT_TELNET___407 = 23,
    IPPORT_SMTP___407 = 25,
    IPPORT_TIMESERVER___407 = 37,
    IPPORT_NAMESERVER___407 = 42,
    IPPORT_WHOIS___407 = 43,
    IPPORT_MTP___407 = 57,
    IPPORT_TFTP___407 = 69,
    IPPORT_RJE___407 = 77,
    IPPORT_FINGER___407 = 79,
    IPPORT_TTYLINK___407 = 87,
    IPPORT_SUPDUP___407 = 95,
    IPPORT_EXECSERVER___407 = 512,
    IPPORT_LOGINSERVER___407 = 513,
    IPPORT_CMDSERVER___407 = 514,
    IPPORT_EFSSERVER___407 = 520,
    IPPORT_BIFFUDP___407 = 512,
    IPPORT_WHOSERVER___407 = 513,
    IPPORT_ROUTESERVER___407 = 520,
    IPPORT_RESERVED___407 = 1024,
    IPPORT_USERRESERVED___407 = 5000
} ;
enum __anonenum_788308992___407 {
    TCP_ESTABLISHED___407 = 1,
    TCP_SYN_SENT___407 = 2,
    TCP_SYN_RECV___407 = 3,
    TCP_FIN_WAIT1___407 = 4,
    TCP_FIN_WAIT2___407 = 5,
    TCP_TIME_WAIT___407 = 6,
    TCP_CLOSE___407 = 7,
    TCP_CLOSE_WAIT___407 = 8,
    TCP_LAST_ACK___407 = 9,
    TCP_LISTEN___407 = 10,
    TCP_CLOSING___407 = 11
} ;
enum __anonenum_221125648___407 {
    TCP_NO_QUEUE___407 = 0,
    TCP_RECV_QUEUE___407 = 1,
    TCP_SEND_QUEUE___407 = 2,
    TCP_QUEUES_NR___407 = 3
} ;
enum __anonenum_34415463___407 {
    PTHREAD_CREATE_JOINABLE___407 = 0,
    PTHREAD_CREATE_DETACHED___407 = 1
} ;
enum __anonenum_303612439___407 {
    PTHREAD_MUTEX_TIMED_NP___407 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___407 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___407 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___407 = 3,
    PTHREAD_MUTEX_NORMAL___407 = 0,
    PTHREAD_MUTEX_RECURSIVE___407 = 1,
    PTHREAD_MUTEX_ERRORCHECK___407 = 2,
    PTHREAD_MUTEX_DEFAULT___407 = 0,
    PTHREAD_MUTEX_FAST_NP___407 = 0
} ;
enum __anonenum_931900394___407 {
    PTHREAD_MUTEX_STALLED___407 = 0,
    PTHREAD_MUTEX_STALLED_NP___407 = 0,
    PTHREAD_MUTEX_ROBUST___407 = 1,
    PTHREAD_MUTEX_ROBUST_NP___407 = 1
} ;
enum __anonenum_205214487___407 {
    PTHREAD_PRIO_NONE___407 = 0,
    PTHREAD_PRIO_INHERIT___407 = 1,
    PTHREAD_PRIO_PROTECT___407 = 2
} ;
enum __anonenum_25043950___407 {
    PTHREAD_RWLOCK_PREFER_READER_NP___407 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___407 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___407 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___407 = 0
} ;
enum __anonenum_436439511___407 {
    PTHREAD_INHERIT_SCHED___407 = 0,
    PTHREAD_EXPLICIT_SCHED___407 = 1
} ;
enum __anonenum_998661166___407 {
    PTHREAD_SCOPE_SYSTEM___407 = 0,
    PTHREAD_SCOPE_PROCESS___407 = 1
} ;
enum __anonenum_146137331___407 {
    PTHREAD_PROCESS_PRIVATE___407 = 0,
    PTHREAD_PROCESS_SHARED___407 = 1
} ;
enum __anonenum_53396917___407 {
    PTHREAD_CANCEL_ENABLE___407 = 0,
    PTHREAD_CANCEL_DISABLE___407 = 1
} ;
enum __anonenum_904563783___407 {
    PTHREAD_CANCEL_DEFERRED___407 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___407 = 1
} ;
enum __anonenum_672052974___407 {
    SSL_CT_VALIDATION_PERMISSIVE___407 = 0,
    SSL_CT_VALIDATION_STRICT___407 = 1
} ;
enum __anonenum_437032235___408 {
    _PC_LINK_MAX___408 = 0,
    _PC_MAX_CANON___408 = 1,
    _PC_MAX_INPUT___408 = 2,
    _PC_NAME_MAX___408 = 3,
    _PC_PATH_MAX___408 = 4,
    _PC_PIPE_BUF___408 = 5,
    _PC_CHOWN_RESTRICTED___408 = 6,
    _PC_NO_TRUNC___408 = 7,
    _PC_VDISABLE___408 = 8,
    _PC_SYNC_IO___408 = 9,
    _PC_ASYNC_IO___408 = 10,
    _PC_PRIO_IO___408 = 11,
    _PC_SOCK_MAXBUF___408 = 12,
    _PC_FILESIZEBITS___408 = 13,
    _PC_REC_INCR_XFER_SIZE___408 = 14,
    _PC_REC_MAX_XFER_SIZE___408 = 15,
    _PC_REC_MIN_XFER_SIZE___408 = 16,
    _PC_REC_XFER_ALIGN___408 = 17,
    _PC_ALLOC_SIZE_MIN___408 = 18,
    _PC_SYMLINK_MAX___408 = 19,
    _PC_2_SYMLINKS___408 = 20
} ;
enum __anonenum_315186338___408 {
    _SC_ARG_MAX___408 = 0,
    _SC_CHILD_MAX___408 = 1,
    _SC_CLK_TCK___408 = 2,
    _SC_NGROUPS_MAX___408 = 3,
    _SC_OPEN_MAX___408 = 4,
    _SC_STREAM_MAX___408 = 5,
    _SC_TZNAME_MAX___408 = 6,
    _SC_JOB_CONTROL___408 = 7,
    _SC_SAVED_IDS___408 = 8,
    _SC_REALTIME_SIGNALS___408 = 9,
    _SC_PRIORITY_SCHEDULING___408 = 10,
    _SC_TIMERS___408 = 11,
    _SC_ASYNCHRONOUS_IO___408 = 12,
    _SC_PRIORITIZED_IO___408 = 13,
    _SC_SYNCHRONIZED_IO___408 = 14,
    _SC_FSYNC___408 = 15,
    _SC_MAPPED_FILES___408 = 16,
    _SC_MEMLOCK___408 = 17,
    _SC_MEMLOCK_RANGE___408 = 18,
    _SC_MEMORY_PROTECTION___408 = 19,
    _SC_MESSAGE_PASSING___408 = 20,
    _SC_SEMAPHORES___408 = 21,
    _SC_SHARED_MEMORY_OBJECTS___408 = 22,
    _SC_AIO_LISTIO_MAX___408 = 23,
    _SC_AIO_MAX___408 = 24,
    _SC_AIO_PRIO_DELTA_MAX___408 = 25,
    _SC_DELAYTIMER_MAX___408 = 26,
    _SC_MQ_OPEN_MAX___408 = 27,
    _SC_MQ_PRIO_MAX___408 = 28,
    _SC_VERSION___408 = 29,
    _SC_PAGESIZE___408 = 30,
    _SC_RTSIG_MAX___408 = 31,
    _SC_SEM_NSEMS_MAX___408 = 32,
    _SC_SEM_VALUE_MAX___408 = 33,
    _SC_SIGQUEUE_MAX___408 = 34,
    _SC_TIMER_MAX___408 = 35,
    _SC_BC_BASE_MAX___408 = 36,
    _SC_BC_DIM_MAX___408 = 37,
    _SC_BC_SCALE_MAX___408 = 38,
    _SC_BC_STRING_MAX___408 = 39,
    _SC_COLL_WEIGHTS_MAX___408 = 40,
    _SC_EQUIV_CLASS_MAX___408 = 41,
    _SC_EXPR_NEST_MAX___408 = 42,
    _SC_LINE_MAX___408 = 43,
    _SC_RE_DUP_MAX___408 = 44,
    _SC_CHARCLASS_NAME_MAX___408 = 45,
    _SC_2_VERSION___408 = 46,
    _SC_2_C_BIND___408 = 47,
    _SC_2_C_DEV___408 = 48,
    _SC_2_FORT_DEV___408 = 49,
    _SC_2_FORT_RUN___408 = 50,
    _SC_2_SW_DEV___408 = 51,
    _SC_2_LOCALEDEF___408 = 52,
    _SC_PII___408 = 53,
    _SC_PII_XTI___408 = 54,
    _SC_PII_SOCKET___408 = 55,
    _SC_PII_INTERNET___408 = 56,
    _SC_PII_OSI___408 = 57,
    _SC_POLL___408 = 58,
    _SC_SELECT___408 = 59,
    _SC_UIO_MAXIOV___408 = 60,
    _SC_IOV_MAX___408 = 60,
    _SC_PII_INTERNET_STREAM___408 = 61,
    _SC_PII_INTERNET_DGRAM___408 = 62,
    _SC_PII_OSI_COTS___408 = 63,
    _SC_PII_OSI_CLTS___408 = 64,
    _SC_PII_OSI_M___408 = 65,
    _SC_T_IOV_MAX___408 = 66,
    _SC_THREADS___408 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___408 = 68,
    _SC_GETGR_R_SIZE_MAX___408 = 69,
    _SC_GETPW_R_SIZE_MAX___408 = 70,
    _SC_LOGIN_NAME_MAX___408 = 71,
    _SC_TTY_NAME_MAX___408 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___408 = 73,
    _SC_THREAD_KEYS_MAX___408 = 74,
    _SC_THREAD_STACK_MIN___408 = 75,
    _SC_THREAD_THREADS_MAX___408 = 76,
    _SC_THREAD_ATTR_STACKADDR___408 = 77,
    _SC_THREAD_ATTR_STACKSIZE___408 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___408 = 79,
    _SC_THREAD_PRIO_INHERIT___408 = 80,
    _SC_THREAD_PRIO_PROTECT___408 = 81,
    _SC_THREAD_PROCESS_SHARED___408 = 82,
    _SC_NPROCESSORS_CONF___408 = 83,
    _SC_NPROCESSORS_ONLN___408 = 84,
    _SC_PHYS_PAGES___408 = 85,
    _SC_AVPHYS_PAGES___408 = 86,
    _SC_ATEXIT_MAX___408 = 87,
    _SC_PASS_MAX___408 = 88,
    _SC_XOPEN_VERSION___408 = 89,
    _SC_XOPEN_XCU_VERSION___408 = 90,
    _SC_XOPEN_UNIX___408 = 91,
    _SC_XOPEN_CRYPT___408 = 92,
    _SC_XOPEN_ENH_I18N___408 = 93,
    _SC_XOPEN_SHM___408 = 94,
    _SC_2_CHAR_TERM___408 = 95,
    _SC_2_C_VERSION___408 = 96,
    _SC_2_UPE___408 = 97,
    _SC_XOPEN_XPG2___408 = 98,
    _SC_XOPEN_XPG3___408 = 99,
    _SC_XOPEN_XPG4___408 = 100,
    _SC_CHAR_BIT___408 = 101,
    _SC_CHAR_MAX___408 = 102,
    _SC_CHAR_MIN___408 = 103,
    _SC_INT_MAX___408 = 104,
    _SC_INT_MIN___408 = 105,
    _SC_LONG_BIT___408 = 106,
    _SC_WORD_BIT___408 = 107,
    _SC_MB_LEN_MAX___408 = 108,
    _SC_NZERO___408 = 109,
    _SC_SSIZE_MAX___408 = 110,
    _SC_SCHAR_MAX___408 = 111,
    _SC_SCHAR_MIN___408 = 112,
    _SC_SHRT_MAX___408 = 113,
    _SC_SHRT_MIN___408 = 114,
    _SC_UCHAR_MAX___408 = 115,
    _SC_UINT_MAX___408 = 116,
    _SC_ULONG_MAX___408 = 117,
    _SC_USHRT_MAX___408 = 118,
    _SC_NL_ARGMAX___408 = 119,
    _SC_NL_LANGMAX___408 = 120,
    _SC_NL_MSGMAX___408 = 121,
    _SC_NL_NMAX___408 = 122,
    _SC_NL_SETMAX___408 = 123,
    _SC_NL_TEXTMAX___408 = 124,
    _SC_XBS5_ILP32_OFF32___408 = 125,
    _SC_XBS5_ILP32_OFFBIG___408 = 126,
    _SC_XBS5_LP64_OFF64___408 = 127,
    _SC_XBS5_LPBIG_OFFBIG___408 = 128,
    _SC_XOPEN_LEGACY___408 = 129,
    _SC_XOPEN_REALTIME___408 = 130,
    _SC_XOPEN_REALTIME_THREADS___408 = 131,
    _SC_ADVISORY_INFO___408 = 132,
    _SC_BARRIERS___408 = 133,
    _SC_BASE___408 = 134,
    _SC_C_LANG_SUPPORT___408 = 135,
    _SC_C_LANG_SUPPORT_R___408 = 136,
    _SC_CLOCK_SELECTION___408 = 137,
    _SC_CPUTIME___408 = 138,
    _SC_THREAD_CPUTIME___408 = 139,
    _SC_DEVICE_IO___408 = 140,
    _SC_DEVICE_SPECIFIC___408 = 141,
    _SC_DEVICE_SPECIFIC_R___408 = 142,
    _SC_FD_MGMT___408 = 143,
    _SC_FIFO___408 = 144,
    _SC_PIPE___408 = 145,
    _SC_FILE_ATTRIBUTES___408 = 146,
    _SC_FILE_LOCKING___408 = 147,
    _SC_FILE_SYSTEM___408 = 148,
    _SC_MONOTONIC_CLOCK___408 = 149,
    _SC_MULTI_PROCESS___408 = 150,
    _SC_SINGLE_PROCESS___408 = 151,
    _SC_NETWORKING___408 = 152,
    _SC_READER_WRITER_LOCKS___408 = 153,
    _SC_SPIN_LOCKS___408 = 154,
    _SC_REGEXP___408 = 155,
    _SC_REGEX_VERSION___408 = 156,
    _SC_SHELL___408 = 157,
    _SC_SIGNALS___408 = 158,
    _SC_SPAWN___408 = 159,
    _SC_SPORADIC_SERVER___408 = 160,
    _SC_THREAD_SPORADIC_SERVER___408 = 161,
    _SC_SYSTEM_DATABASE___408 = 162,
    _SC_SYSTEM_DATABASE_R___408 = 163,
    _SC_TIMEOUTS___408 = 164,
    _SC_TYPED_MEMORY_OBJECTS___408 = 165,
    _SC_USER_GROUPS___408 = 166,
    _SC_USER_GROUPS_R___408 = 167,
    _SC_2_PBS___408 = 168,
    _SC_2_PBS_ACCOUNTING___408 = 169,
    _SC_2_PBS_LOCATE___408 = 170,
    _SC_2_PBS_MESSAGE___408 = 171,
    _SC_2_PBS_TRACK___408 = 172,
    _SC_SYMLOOP_MAX___408 = 173,
    _SC_STREAMS___408 = 174,
    _SC_2_PBS_CHECKPOINT___408 = 175,
    _SC_V6_ILP32_OFF32___408 = 176,
    _SC_V6_ILP32_OFFBIG___408 = 177,
    _SC_V6_LP64_OFF64___408 = 178,
    _SC_V6_LPBIG_OFFBIG___408 = 179,
    _SC_HOST_NAME_MAX___408 = 180,
    _SC_TRACE___408 = 181,
    _SC_TRACE_EVENT_FILTER___408 = 182,
    _SC_TRACE_INHERIT___408 = 183,
    _SC_TRACE_LOG___408 = 184,
    _SC_LEVEL1_ICACHE_SIZE___408 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___408 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___408 = 187,
    _SC_LEVEL1_DCACHE_SIZE___408 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___408 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___408 = 190,
    _SC_LEVEL2_CACHE_SIZE___408 = 191,
    _SC_LEVEL2_CACHE_ASSOC___408 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___408 = 193,
    _SC_LEVEL3_CACHE_SIZE___408 = 194,
    _SC_LEVEL3_CACHE_ASSOC___408 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___408 = 196,
    _SC_LEVEL4_CACHE_SIZE___408 = 197,
    _SC_LEVEL4_CACHE_ASSOC___408 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___408 = 199,
    _SC_IPV6___408 = 235,
    _SC_RAW_SOCKETS___408 = 236,
    _SC_V7_ILP32_OFF32___408 = 237,
    _SC_V7_ILP32_OFFBIG___408 = 238,
    _SC_V7_LP64_OFF64___408 = 239,
    _SC_V7_LPBIG_OFFBIG___408 = 240,
    _SC_SS_REPL_MAX___408 = 241,
    _SC_TRACE_EVENT_NAME_MAX___408 = 242,
    _SC_TRACE_NAME_MAX___408 = 243,
    _SC_TRACE_SYS_MAX___408 = 244,
    _SC_TRACE_USER_EVENT_MAX___408 = 245,
    _SC_XOPEN_STREAMS___408 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___408 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___408 = 248
} ;
enum __anonenum_875524036___408 {
    _CS_PATH___408 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___408 = 1,
    _CS_GNU_LIBC_VERSION___408 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___408 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___408 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___408 = 5,
    _CS_LFS_CFLAGS___408 = 1000,
    _CS_LFS_LDFLAGS___408 = 1001,
    _CS_LFS_LIBS___408 = 1002,
    _CS_LFS_LINTFLAGS___408 = 1003,
    _CS_LFS64_CFLAGS___408 = 1004,
    _CS_LFS64_LDFLAGS___408 = 1005,
    _CS_LFS64_LIBS___408 = 1006,
    _CS_LFS64_LINTFLAGS___408 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___408 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___408 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___408 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___408 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___408 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___408 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___408 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___408 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___408 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___408 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___408 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___408 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___408 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___408 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___408 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___408 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___408 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___408 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___408 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___408 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___408 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___408 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___408 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___408 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___408 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___408 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___408 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___408 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___408 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___408 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___408 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___408 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___408 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___408 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___408 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___408 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___408 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___408 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___408 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___408 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___408 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___408 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___408 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___408 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___408 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___408 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___408 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___408 = 1147,
    _CS_V6_ENV___408 = 1148,
    _CS_V7_ENV___408 = 1149
} ;
enum __anonenum_513775621___408 {
    DT_UNKNOWN___408 = 0,
    DT_FIFO___408 = 1,
    DT_CHR___408 = 2,
    DT_DIR___408 = 4,
    DT_BLK___408 = 6,
    DT_REG___408 = 8,
    DT_LNK___408 = 10,
    DT_SOCK___408 = 12,
    DT_WHT___408 = 14
} ;
enum __anonenum_77002343___408 {
    SI_ASYNCNL___408 = -60,
    SI_TKILL___408 = -6,
    SI_SIGIO___408 = -5,
    SI_ASYNCIO___408 = -4,
    SI_MESGQ___408 = -3,
    SI_TIMER___408 = -2,
    SI_QUEUE___408 = -1,
    SI_USER___408 = 0,
    SI_KERNEL___408 = 128
} ;
enum __anonenum_131038172___408 {
    ILL_ILLOPC___408 = 1,
    ILL_ILLOPN___408 = 2,
    ILL_ILLADR___408 = 3,
    ILL_ILLTRP___408 = 4,
    ILL_PRVOPC___408 = 5,
    ILL_PRVREG___408 = 6,
    ILL_COPROC___408 = 7,
    ILL_BADSTK___408 = 8
} ;
enum __anonenum_452038093___408 {
    FPE_INTDIV___408 = 1,
    FPE_INTOVF___408 = 2,
    FPE_FLTDIV___408 = 3,
    FPE_FLTOVF___408 = 4,
    FPE_FLTUND___408 = 5,
    FPE_FLTRES___408 = 6,
    FPE_FLTINV___408 = 7,
    FPE_FLTSUB___408 = 8
} ;
enum __anonenum_30976155___408 {
    SEGV_MAPERR___408 = 1,
    SEGV_ACCERR___408 = 2,
    SEGV_BNDERR___408 = 3,
    SEGV_PKUERR___408 = 4
} ;
enum __anonenum_1036286214___408 {
    BUS_ADRALN___408 = 1,
    BUS_ADRERR___408 = 2,
    BUS_OBJERR___408 = 3,
    BUS_MCEERR_AR___408 = 4,
    BUS_MCEERR_AO___408 = 5
} ;
enum __anonenum_493465559___408 {
    TRAP_BRKPT___408 = 1,
    TRAP_TRACE___408 = 2
} ;
enum __anonenum_23175539___408 {
    CLD_EXITED___408 = 1,
    CLD_KILLED___408 = 2,
    CLD_DUMPED___408 = 3,
    CLD_TRAPPED___408 = 4,
    CLD_STOPPED___408 = 5,
    CLD_CONTINUED___408 = 6
} ;
enum __anonenum_111643124___408 {
    POLL_IN___408 = 1,
    POLL_OUT___408 = 2,
    POLL_MSG___408 = 3,
    POLL_ERR___408 = 4,
    POLL_PRI___408 = 5,
    POLL_HUP___408 = 6
} ;
enum __anonenum_852341087___408 {
    SIGEV_SIGNAL___408 = 0,
    SIGEV_NONE___408 = 1,
    SIGEV_THREAD___408 = 2,
    SIGEV_THREAD_ID___408 = 4
} ;
enum __anonenum_451154152___408 {
    REG_R8___408 = 0,
    REG_R9___408 = 1,
    REG_R10___408 = 2,
    REG_R11___408 = 3,
    REG_R12___408 = 4,
    REG_R13___408 = 5,
    REG_R14___408 = 6,
    REG_R15___408 = 7,
    REG_RDI___408 = 8,
    REG_RSI___408 = 9,
    REG_RBP___408 = 10,
    REG_RBX___408 = 11,
    REG_RDX___408 = 12,
    REG_RAX___408 = 13,
    REG_RCX___408 = 14,
    REG_RSP___408 = 15,
    REG_RIP___408 = 16,
    REG_EFL___408 = 17,
    REG_CSGSFS___408 = 18,
    REG_ERR___408 = 19,
    REG_TRAPNO___408 = 20,
    REG_OLDMASK___408 = 21,
    REG_CR2___408 = 22
} ;
enum __anonenum_57186863___408 {
    SS_ONSTACK___408 = 1,
    SS_DISABLE___408 = 2
} ;
enum __anonenum_83571709___408 {
    MSG_OOB___408 = 1,
    MSG_PEEK___408 = 2,
    MSG_DONTROUTE___408 = 4,
    MSG_TRYHARD___408 = 4,
    MSG_CTRUNC___408 = 8,
    MSG_PROXY___408 = 16,
    MSG_TRUNC___408 = 32,
    MSG_DONTWAIT___408 = 64,
    MSG_EOR___408 = 128,
    MSG_WAITALL___408 = 256,
    MSG_FIN___408 = 512,
    MSG_SYN___408 = 1024,
    MSG_CONFIRM___408 = 2048,
    MSG_RST___408 = 4096,
    MSG_ERRQUEUE___408 = 8192,
    MSG_NOSIGNAL___408 = 16384,
    MSG_MORE___408 = 32768,
    MSG_WAITFORONE___408 = 65536,
    MSG_BATCH___408 = 262144,
    MSG_ZEROCOPY___408 = 67108864,
    MSG_FASTOPEN___408 = 536870912,
    MSG_CMSG_CLOEXEC___408 = 1073741824
} ;
enum __anonenum_617082774___408 {
    SCM_RIGHTS___408 = 1,
    SCM_CREDENTIALS___408 = 2
} ;
enum __anonenum_606441560___408 {
    SHUT_RD___408 = 0,
    SHUT_WR___408 = 1,
    SHUT_RDWR___408 = 2
} ;
enum __anonenum_681669233___408 {
    IPPROTO_IP___408 = 0,
    IPPROTO_ICMP___408 = 1,
    IPPROTO_IGMP___408 = 2,
    IPPROTO_IPIP___408 = 4,
    IPPROTO_TCP___408 = 6,
    IPPROTO_EGP___408 = 8,
    IPPROTO_PUP___408 = 12,
    IPPROTO_UDP___408 = 17,
    IPPROTO_IDP___408 = 22,
    IPPROTO_TP___408 = 29,
    IPPROTO_DCCP___408 = 33,
    IPPROTO_IPV6___408 = 41,
    IPPROTO_RSVP___408 = 46,
    IPPROTO_GRE___408 = 47,
    IPPROTO_ESP___408 = 50,
    IPPROTO_AH___408 = 51,
    IPPROTO_MTP___408 = 92,
    IPPROTO_BEETPH___408 = 94,
    IPPROTO_ENCAP___408 = 98,
    IPPROTO_PIM___408 = 103,
    IPPROTO_COMP___408 = 108,
    IPPROTO_SCTP___408 = 132,
    IPPROTO_UDPLITE___408 = 136,
    IPPROTO_MPLS___408 = 137,
    IPPROTO_RAW___408 = 255,
    IPPROTO_MAX___408 = 256
} ;
enum __anonenum_218739988___408 {
    IPPROTO_HOPOPTS___408 = 0,
    IPPROTO_ROUTING___408 = 43,
    IPPROTO_FRAGMENT___408 = 44,
    IPPROTO_ICMPV6___408 = 58,
    IPPROTO_NONE___408 = 59,
    IPPROTO_DSTOPTS___408 = 60,
    IPPROTO_MH___408 = 135
} ;
enum __anonenum_662268580___408 {
    IPPORT_ECHO___408 = 7,
    IPPORT_DISCARD___408 = 9,
    IPPORT_SYSTAT___408 = 11,
    IPPORT_DAYTIME___408 = 13,
    IPPORT_NETSTAT___408 = 15,
    IPPORT_FTP___408 = 21,
    IPPORT_TELNET___408 = 23,
    IPPORT_SMTP___408 = 25,
    IPPORT_TIMESERVER___408 = 37,
    IPPORT_NAMESERVER___408 = 42,
    IPPORT_WHOIS___408 = 43,
    IPPORT_MTP___408 = 57,
    IPPORT_TFTP___408 = 69,
    IPPORT_RJE___408 = 77,
    IPPORT_FINGER___408 = 79,
    IPPORT_TTYLINK___408 = 87,
    IPPORT_SUPDUP___408 = 95,
    IPPORT_EXECSERVER___408 = 512,
    IPPORT_LOGINSERVER___408 = 513,
    IPPORT_CMDSERVER___408 = 514,
    IPPORT_EFSSERVER___408 = 520,
    IPPORT_BIFFUDP___408 = 512,
    IPPORT_WHOSERVER___408 = 513,
    IPPORT_ROUTESERVER___408 = 520,
    IPPORT_RESERVED___408 = 1024,
    IPPORT_USERRESERVED___408 = 5000
} ;
enum __anonenum_788308992___408 {
    TCP_ESTABLISHED___408 = 1,
    TCP_SYN_SENT___408 = 2,
    TCP_SYN_RECV___408 = 3,
    TCP_FIN_WAIT1___408 = 4,
    TCP_FIN_WAIT2___408 = 5,
    TCP_TIME_WAIT___408 = 6,
    TCP_CLOSE___408 = 7,
    TCP_CLOSE_WAIT___408 = 8,
    TCP_LAST_ACK___408 = 9,
    TCP_LISTEN___408 = 10,
    TCP_CLOSING___408 = 11
} ;
enum __anonenum_221125648___408 {
    TCP_NO_QUEUE___408 = 0,
    TCP_RECV_QUEUE___408 = 1,
    TCP_SEND_QUEUE___408 = 2,
    TCP_QUEUES_NR___408 = 3
} ;
enum __anonenum_34415463___408 {
    PTHREAD_CREATE_JOINABLE___408 = 0,
    PTHREAD_CREATE_DETACHED___408 = 1
} ;
enum __anonenum_303612439___408 {
    PTHREAD_MUTEX_TIMED_NP___408 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___408 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___408 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___408 = 3,
    PTHREAD_MUTEX_NORMAL___408 = 0,
    PTHREAD_MUTEX_RECURSIVE___408 = 1,
    PTHREAD_MUTEX_ERRORCHECK___408 = 2,
    PTHREAD_MUTEX_DEFAULT___408 = 0,
    PTHREAD_MUTEX_FAST_NP___408 = 0
} ;
enum __anonenum_931900394___408 {
    PTHREAD_MUTEX_STALLED___408 = 0,
    PTHREAD_MUTEX_STALLED_NP___408 = 0,
    PTHREAD_MUTEX_ROBUST___408 = 1,
    PTHREAD_MUTEX_ROBUST_NP___408 = 1
} ;
enum __anonenum_205214487___408 {
    PTHREAD_PRIO_NONE___408 = 0,
    PTHREAD_PRIO_INHERIT___408 = 1,
    PTHREAD_PRIO_PROTECT___408 = 2
} ;
enum __anonenum_25043950___408 {
    PTHREAD_RWLOCK_PREFER_READER_NP___408 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___408 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___408 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___408 = 0
} ;
enum __anonenum_436439511___408 {
    PTHREAD_INHERIT_SCHED___408 = 0,
    PTHREAD_EXPLICIT_SCHED___408 = 1
} ;
enum __anonenum_998661166___408 {
    PTHREAD_SCOPE_SYSTEM___408 = 0,
    PTHREAD_SCOPE_PROCESS___408 = 1
} ;
enum __anonenum_146137331___408 {
    PTHREAD_PROCESS_PRIVATE___408 = 0,
    PTHREAD_PROCESS_SHARED___408 = 1
} ;
enum __anonenum_53396917___408 {
    PTHREAD_CANCEL_ENABLE___408 = 0,
    PTHREAD_CANCEL_DISABLE___408 = 1
} ;
enum __anonenum_904563783___408 {
    PTHREAD_CANCEL_DEFERRED___408 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___408 = 1
} ;
enum __anonenum_672052974___408 {
    SSL_CT_VALIDATION_PERMISSIVE___408 = 0,
    SSL_CT_VALIDATION_STRICT___408 = 1
} ;
enum __anonenum_437032235___409 {
    _PC_LINK_MAX___409 = 0,
    _PC_MAX_CANON___409 = 1,
    _PC_MAX_INPUT___409 = 2,
    _PC_NAME_MAX___409 = 3,
    _PC_PATH_MAX___409 = 4,
    _PC_PIPE_BUF___409 = 5,
    _PC_CHOWN_RESTRICTED___409 = 6,
    _PC_NO_TRUNC___409 = 7,
    _PC_VDISABLE___409 = 8,
    _PC_SYNC_IO___409 = 9,
    _PC_ASYNC_IO___409 = 10,
    _PC_PRIO_IO___409 = 11,
    _PC_SOCK_MAXBUF___409 = 12,
    _PC_FILESIZEBITS___409 = 13,
    _PC_REC_INCR_XFER_SIZE___409 = 14,
    _PC_REC_MAX_XFER_SIZE___409 = 15,
    _PC_REC_MIN_XFER_SIZE___409 = 16,
    _PC_REC_XFER_ALIGN___409 = 17,
    _PC_ALLOC_SIZE_MIN___409 = 18,
    _PC_SYMLINK_MAX___409 = 19,
    _PC_2_SYMLINKS___409 = 20
} ;
enum __anonenum_315186338___409 {
    _SC_ARG_MAX___409 = 0,
    _SC_CHILD_MAX___409 = 1,
    _SC_CLK_TCK___409 = 2,
    _SC_NGROUPS_MAX___409 = 3,
    _SC_OPEN_MAX___409 = 4,
    _SC_STREAM_MAX___409 = 5,
    _SC_TZNAME_MAX___409 = 6,
    _SC_JOB_CONTROL___409 = 7,
    _SC_SAVED_IDS___409 = 8,
    _SC_REALTIME_SIGNALS___409 = 9,
    _SC_PRIORITY_SCHEDULING___409 = 10,
    _SC_TIMERS___409 = 11,
    _SC_ASYNCHRONOUS_IO___409 = 12,
    _SC_PRIORITIZED_IO___409 = 13,
    _SC_SYNCHRONIZED_IO___409 = 14,
    _SC_FSYNC___409 = 15,
    _SC_MAPPED_FILES___409 = 16,
    _SC_MEMLOCK___409 = 17,
    _SC_MEMLOCK_RANGE___409 = 18,
    _SC_MEMORY_PROTECTION___409 = 19,
    _SC_MESSAGE_PASSING___409 = 20,
    _SC_SEMAPHORES___409 = 21,
    _SC_SHARED_MEMORY_OBJECTS___409 = 22,
    _SC_AIO_LISTIO_MAX___409 = 23,
    _SC_AIO_MAX___409 = 24,
    _SC_AIO_PRIO_DELTA_MAX___409 = 25,
    _SC_DELAYTIMER_MAX___409 = 26,
    _SC_MQ_OPEN_MAX___409 = 27,
    _SC_MQ_PRIO_MAX___409 = 28,
    _SC_VERSION___409 = 29,
    _SC_PAGESIZE___409 = 30,
    _SC_RTSIG_MAX___409 = 31,
    _SC_SEM_NSEMS_MAX___409 = 32,
    _SC_SEM_VALUE_MAX___409 = 33,
    _SC_SIGQUEUE_MAX___409 = 34,
    _SC_TIMER_MAX___409 = 35,
    _SC_BC_BASE_MAX___409 = 36,
    _SC_BC_DIM_MAX___409 = 37,
    _SC_BC_SCALE_MAX___409 = 38,
    _SC_BC_STRING_MAX___409 = 39,
    _SC_COLL_WEIGHTS_MAX___409 = 40,
    _SC_EQUIV_CLASS_MAX___409 = 41,
    _SC_EXPR_NEST_MAX___409 = 42,
    _SC_LINE_MAX___409 = 43,
    _SC_RE_DUP_MAX___409 = 44,
    _SC_CHARCLASS_NAME_MAX___409 = 45,
    _SC_2_VERSION___409 = 46,
    _SC_2_C_BIND___409 = 47,
    _SC_2_C_DEV___409 = 48,
    _SC_2_FORT_DEV___409 = 49,
    _SC_2_FORT_RUN___409 = 50,
    _SC_2_SW_DEV___409 = 51,
    _SC_2_LOCALEDEF___409 = 52,
    _SC_PII___409 = 53,
    _SC_PII_XTI___409 = 54,
    _SC_PII_SOCKET___409 = 55,
    _SC_PII_INTERNET___409 = 56,
    _SC_PII_OSI___409 = 57,
    _SC_POLL___409 = 58,
    _SC_SELECT___409 = 59,
    _SC_UIO_MAXIOV___409 = 60,
    _SC_IOV_MAX___409 = 60,
    _SC_PII_INTERNET_STREAM___409 = 61,
    _SC_PII_INTERNET_DGRAM___409 = 62,
    _SC_PII_OSI_COTS___409 = 63,
    _SC_PII_OSI_CLTS___409 = 64,
    _SC_PII_OSI_M___409 = 65,
    _SC_T_IOV_MAX___409 = 66,
    _SC_THREADS___409 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___409 = 68,
    _SC_GETGR_R_SIZE_MAX___409 = 69,
    _SC_GETPW_R_SIZE_MAX___409 = 70,
    _SC_LOGIN_NAME_MAX___409 = 71,
    _SC_TTY_NAME_MAX___409 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___409 = 73,
    _SC_THREAD_KEYS_MAX___409 = 74,
    _SC_THREAD_STACK_MIN___409 = 75,
    _SC_THREAD_THREADS_MAX___409 = 76,
    _SC_THREAD_ATTR_STACKADDR___409 = 77,
    _SC_THREAD_ATTR_STACKSIZE___409 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___409 = 79,
    _SC_THREAD_PRIO_INHERIT___409 = 80,
    _SC_THREAD_PRIO_PROTECT___409 = 81,
    _SC_THREAD_PROCESS_SHARED___409 = 82,
    _SC_NPROCESSORS_CONF___409 = 83,
    _SC_NPROCESSORS_ONLN___409 = 84,
    _SC_PHYS_PAGES___409 = 85,
    _SC_AVPHYS_PAGES___409 = 86,
    _SC_ATEXIT_MAX___409 = 87,
    _SC_PASS_MAX___409 = 88,
    _SC_XOPEN_VERSION___409 = 89,
    _SC_XOPEN_XCU_VERSION___409 = 90,
    _SC_XOPEN_UNIX___409 = 91,
    _SC_XOPEN_CRYPT___409 = 92,
    _SC_XOPEN_ENH_I18N___409 = 93,
    _SC_XOPEN_SHM___409 = 94,
    _SC_2_CHAR_TERM___409 = 95,
    _SC_2_C_VERSION___409 = 96,
    _SC_2_UPE___409 = 97,
    _SC_XOPEN_XPG2___409 = 98,
    _SC_XOPEN_XPG3___409 = 99,
    _SC_XOPEN_XPG4___409 = 100,
    _SC_CHAR_BIT___409 = 101,
    _SC_CHAR_MAX___409 = 102,
    _SC_CHAR_MIN___409 = 103,
    _SC_INT_MAX___409 = 104,
    _SC_INT_MIN___409 = 105,
    _SC_LONG_BIT___409 = 106,
    _SC_WORD_BIT___409 = 107,
    _SC_MB_LEN_MAX___409 = 108,
    _SC_NZERO___409 = 109,
    _SC_SSIZE_MAX___409 = 110,
    _SC_SCHAR_MAX___409 = 111,
    _SC_SCHAR_MIN___409 = 112,
    _SC_SHRT_MAX___409 = 113,
    _SC_SHRT_MIN___409 = 114,
    _SC_UCHAR_MAX___409 = 115,
    _SC_UINT_MAX___409 = 116,
    _SC_ULONG_MAX___409 = 117,
    _SC_USHRT_MAX___409 = 118,
    _SC_NL_ARGMAX___409 = 119,
    _SC_NL_LANGMAX___409 = 120,
    _SC_NL_MSGMAX___409 = 121,
    _SC_NL_NMAX___409 = 122,
    _SC_NL_SETMAX___409 = 123,
    _SC_NL_TEXTMAX___409 = 124,
    _SC_XBS5_ILP32_OFF32___409 = 125,
    _SC_XBS5_ILP32_OFFBIG___409 = 126,
    _SC_XBS5_LP64_OFF64___409 = 127,
    _SC_XBS5_LPBIG_OFFBIG___409 = 128,
    _SC_XOPEN_LEGACY___409 = 129,
    _SC_XOPEN_REALTIME___409 = 130,
    _SC_XOPEN_REALTIME_THREADS___409 = 131,
    _SC_ADVISORY_INFO___409 = 132,
    _SC_BARRIERS___409 = 133,
    _SC_BASE___409 = 134,
    _SC_C_LANG_SUPPORT___409 = 135,
    _SC_C_LANG_SUPPORT_R___409 = 136,
    _SC_CLOCK_SELECTION___409 = 137,
    _SC_CPUTIME___409 = 138,
    _SC_THREAD_CPUTIME___409 = 139,
    _SC_DEVICE_IO___409 = 140,
    _SC_DEVICE_SPECIFIC___409 = 141,
    _SC_DEVICE_SPECIFIC_R___409 = 142,
    _SC_FD_MGMT___409 = 143,
    _SC_FIFO___409 = 144,
    _SC_PIPE___409 = 145,
    _SC_FILE_ATTRIBUTES___409 = 146,
    _SC_FILE_LOCKING___409 = 147,
    _SC_FILE_SYSTEM___409 = 148,
    _SC_MONOTONIC_CLOCK___409 = 149,
    _SC_MULTI_PROCESS___409 = 150,
    _SC_SINGLE_PROCESS___409 = 151,
    _SC_NETWORKING___409 = 152,
    _SC_READER_WRITER_LOCKS___409 = 153,
    _SC_SPIN_LOCKS___409 = 154,
    _SC_REGEXP___409 = 155,
    _SC_REGEX_VERSION___409 = 156,
    _SC_SHELL___409 = 157,
    _SC_SIGNALS___409 = 158,
    _SC_SPAWN___409 = 159,
    _SC_SPORADIC_SERVER___409 = 160,
    _SC_THREAD_SPORADIC_SERVER___409 = 161,
    _SC_SYSTEM_DATABASE___409 = 162,
    _SC_SYSTEM_DATABASE_R___409 = 163,
    _SC_TIMEOUTS___409 = 164,
    _SC_TYPED_MEMORY_OBJECTS___409 = 165,
    _SC_USER_GROUPS___409 = 166,
    _SC_USER_GROUPS_R___409 = 167,
    _SC_2_PBS___409 = 168,
    _SC_2_PBS_ACCOUNTING___409 = 169,
    _SC_2_PBS_LOCATE___409 = 170,
    _SC_2_PBS_MESSAGE___409 = 171,
    _SC_2_PBS_TRACK___409 = 172,
    _SC_SYMLOOP_MAX___409 = 173,
    _SC_STREAMS___409 = 174,
    _SC_2_PBS_CHECKPOINT___409 = 175,
    _SC_V6_ILP32_OFF32___409 = 176,
    _SC_V6_ILP32_OFFBIG___409 = 177,
    _SC_V6_LP64_OFF64___409 = 178,
    _SC_V6_LPBIG_OFFBIG___409 = 179,
    _SC_HOST_NAME_MAX___409 = 180,
    _SC_TRACE___409 = 181,
    _SC_TRACE_EVENT_FILTER___409 = 182,
    _SC_TRACE_INHERIT___409 = 183,
    _SC_TRACE_LOG___409 = 184,
    _SC_LEVEL1_ICACHE_SIZE___409 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___409 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___409 = 187,
    _SC_LEVEL1_DCACHE_SIZE___409 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___409 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___409 = 190,
    _SC_LEVEL2_CACHE_SIZE___409 = 191,
    _SC_LEVEL2_CACHE_ASSOC___409 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___409 = 193,
    _SC_LEVEL3_CACHE_SIZE___409 = 194,
    _SC_LEVEL3_CACHE_ASSOC___409 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___409 = 196,
    _SC_LEVEL4_CACHE_SIZE___409 = 197,
    _SC_LEVEL4_CACHE_ASSOC___409 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___409 = 199,
    _SC_IPV6___409 = 235,
    _SC_RAW_SOCKETS___409 = 236,
    _SC_V7_ILP32_OFF32___409 = 237,
    _SC_V7_ILP32_OFFBIG___409 = 238,
    _SC_V7_LP64_OFF64___409 = 239,
    _SC_V7_LPBIG_OFFBIG___409 = 240,
    _SC_SS_REPL_MAX___409 = 241,
    _SC_TRACE_EVENT_NAME_MAX___409 = 242,
    _SC_TRACE_NAME_MAX___409 = 243,
    _SC_TRACE_SYS_MAX___409 = 244,
    _SC_TRACE_USER_EVENT_MAX___409 = 245,
    _SC_XOPEN_STREAMS___409 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___409 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___409 = 248
} ;
enum __anonenum_875524036___409 {
    _CS_PATH___409 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___409 = 1,
    _CS_GNU_LIBC_VERSION___409 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___409 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___409 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___409 = 5,
    _CS_LFS_CFLAGS___409 = 1000,
    _CS_LFS_LDFLAGS___409 = 1001,
    _CS_LFS_LIBS___409 = 1002,
    _CS_LFS_LINTFLAGS___409 = 1003,
    _CS_LFS64_CFLAGS___409 = 1004,
    _CS_LFS64_LDFLAGS___409 = 1005,
    _CS_LFS64_LIBS___409 = 1006,
    _CS_LFS64_LINTFLAGS___409 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___409 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___409 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___409 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___409 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___409 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___409 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___409 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___409 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___409 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___409 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___409 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___409 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___409 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___409 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___409 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___409 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___409 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___409 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___409 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___409 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___409 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___409 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___409 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___409 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___409 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___409 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___409 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___409 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___409 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___409 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___409 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___409 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___409 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___409 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___409 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___409 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___409 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___409 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___409 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___409 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___409 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___409 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___409 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___409 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___409 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___409 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___409 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___409 = 1147,
    _CS_V6_ENV___409 = 1148,
    _CS_V7_ENV___409 = 1149
} ;
enum __anonenum_513775621___409 {
    DT_UNKNOWN___409 = 0,
    DT_FIFO___409 = 1,
    DT_CHR___409 = 2,
    DT_DIR___409 = 4,
    DT_BLK___409 = 6,
    DT_REG___409 = 8,
    DT_LNK___409 = 10,
    DT_SOCK___409 = 12,
    DT_WHT___409 = 14
} ;
enum __anonenum_77002343___409 {
    SI_ASYNCNL___409 = -60,
    SI_TKILL___409 = -6,
    SI_SIGIO___409 = -5,
    SI_ASYNCIO___409 = -4,
    SI_MESGQ___409 = -3,
    SI_TIMER___409 = -2,
    SI_QUEUE___409 = -1,
    SI_USER___409 = 0,
    SI_KERNEL___409 = 128
} ;
enum __anonenum_131038172___409 {
    ILL_ILLOPC___409 = 1,
    ILL_ILLOPN___409 = 2,
    ILL_ILLADR___409 = 3,
    ILL_ILLTRP___409 = 4,
    ILL_PRVOPC___409 = 5,
    ILL_PRVREG___409 = 6,
    ILL_COPROC___409 = 7,
    ILL_BADSTK___409 = 8
} ;
enum __anonenum_452038093___409 {
    FPE_INTDIV___409 = 1,
    FPE_INTOVF___409 = 2,
    FPE_FLTDIV___409 = 3,
    FPE_FLTOVF___409 = 4,
    FPE_FLTUND___409 = 5,
    FPE_FLTRES___409 = 6,
    FPE_FLTINV___409 = 7,
    FPE_FLTSUB___409 = 8
} ;
enum __anonenum_30976155___409 {
    SEGV_MAPERR___409 = 1,
    SEGV_ACCERR___409 = 2,
    SEGV_BNDERR___409 = 3,
    SEGV_PKUERR___409 = 4
} ;
enum __anonenum_1036286214___409 {
    BUS_ADRALN___409 = 1,
    BUS_ADRERR___409 = 2,
    BUS_OBJERR___409 = 3,
    BUS_MCEERR_AR___409 = 4,
    BUS_MCEERR_AO___409 = 5
} ;
enum __anonenum_493465559___409 {
    TRAP_BRKPT___409 = 1,
    TRAP_TRACE___409 = 2
} ;
enum __anonenum_23175539___409 {
    CLD_EXITED___409 = 1,
    CLD_KILLED___409 = 2,
    CLD_DUMPED___409 = 3,
    CLD_TRAPPED___409 = 4,
    CLD_STOPPED___409 = 5,
    CLD_CONTINUED___409 = 6
} ;
enum __anonenum_111643124___409 {
    POLL_IN___409 = 1,
    POLL_OUT___409 = 2,
    POLL_MSG___409 = 3,
    POLL_ERR___409 = 4,
    POLL_PRI___409 = 5,
    POLL_HUP___409 = 6
} ;
enum __anonenum_852341087___409 {
    SIGEV_SIGNAL___409 = 0,
    SIGEV_NONE___409 = 1,
    SIGEV_THREAD___409 = 2,
    SIGEV_THREAD_ID___409 = 4
} ;
enum __anonenum_451154152___409 {
    REG_R8___409 = 0,
    REG_R9___409 = 1,
    REG_R10___409 = 2,
    REG_R11___409 = 3,
    REG_R12___409 = 4,
    REG_R13___409 = 5,
    REG_R14___409 = 6,
    REG_R15___409 = 7,
    REG_RDI___409 = 8,
    REG_RSI___409 = 9,
    REG_RBP___409 = 10,
    REG_RBX___409 = 11,
    REG_RDX___409 = 12,
    REG_RAX___409 = 13,
    REG_RCX___409 = 14,
    REG_RSP___409 = 15,
    REG_RIP___409 = 16,
    REG_EFL___409 = 17,
    REG_CSGSFS___409 = 18,
    REG_ERR___409 = 19,
    REG_TRAPNO___409 = 20,
    REG_OLDMASK___409 = 21,
    REG_CR2___409 = 22
} ;
enum __anonenum_57186863___409 {
    SS_ONSTACK___409 = 1,
    SS_DISABLE___409 = 2
} ;
enum __anonenum_83571709___409 {
    MSG_OOB___409 = 1,
    MSG_PEEK___409 = 2,
    MSG_DONTROUTE___409 = 4,
    MSG_TRYHARD___409 = 4,
    MSG_CTRUNC___409 = 8,
    MSG_PROXY___409 = 16,
    MSG_TRUNC___409 = 32,
    MSG_DONTWAIT___409 = 64,
    MSG_EOR___409 = 128,
    MSG_WAITALL___409 = 256,
    MSG_FIN___409 = 512,
    MSG_SYN___409 = 1024,
    MSG_CONFIRM___409 = 2048,
    MSG_RST___409 = 4096,
    MSG_ERRQUEUE___409 = 8192,
    MSG_NOSIGNAL___409 = 16384,
    MSG_MORE___409 = 32768,
    MSG_WAITFORONE___409 = 65536,
    MSG_BATCH___409 = 262144,
    MSG_ZEROCOPY___409 = 67108864,
    MSG_FASTOPEN___409 = 536870912,
    MSG_CMSG_CLOEXEC___409 = 1073741824
} ;
enum __anonenum_617082774___409 {
    SCM_RIGHTS___409 = 1,
    SCM_CREDENTIALS___409 = 2
} ;
enum __anonenum_606441560___409 {
    SHUT_RD___409 = 0,
    SHUT_WR___409 = 1,
    SHUT_RDWR___409 = 2
} ;
enum __anonenum_681669233___409 {
    IPPROTO_IP___409 = 0,
    IPPROTO_ICMP___409 = 1,
    IPPROTO_IGMP___409 = 2,
    IPPROTO_IPIP___409 = 4,
    IPPROTO_TCP___409 = 6,
    IPPROTO_EGP___409 = 8,
    IPPROTO_PUP___409 = 12,
    IPPROTO_UDP___409 = 17,
    IPPROTO_IDP___409 = 22,
    IPPROTO_TP___409 = 29,
    IPPROTO_DCCP___409 = 33,
    IPPROTO_IPV6___409 = 41,
    IPPROTO_RSVP___409 = 46,
    IPPROTO_GRE___409 = 47,
    IPPROTO_ESP___409 = 50,
    IPPROTO_AH___409 = 51,
    IPPROTO_MTP___409 = 92,
    IPPROTO_BEETPH___409 = 94,
    IPPROTO_ENCAP___409 = 98,
    IPPROTO_PIM___409 = 103,
    IPPROTO_COMP___409 = 108,
    IPPROTO_SCTP___409 = 132,
    IPPROTO_UDPLITE___409 = 136,
    IPPROTO_MPLS___409 = 137,
    IPPROTO_RAW___409 = 255,
    IPPROTO_MAX___409 = 256
} ;
enum __anonenum_218739988___409 {
    IPPROTO_HOPOPTS___409 = 0,
    IPPROTO_ROUTING___409 = 43,
    IPPROTO_FRAGMENT___409 = 44,
    IPPROTO_ICMPV6___409 = 58,
    IPPROTO_NONE___409 = 59,
    IPPROTO_DSTOPTS___409 = 60,
    IPPROTO_MH___409 = 135
} ;
enum __anonenum_662268580___409 {
    IPPORT_ECHO___409 = 7,
    IPPORT_DISCARD___409 = 9,
    IPPORT_SYSTAT___409 = 11,
    IPPORT_DAYTIME___409 = 13,
    IPPORT_NETSTAT___409 = 15,
    IPPORT_FTP___409 = 21,
    IPPORT_TELNET___409 = 23,
    IPPORT_SMTP___409 = 25,
    IPPORT_TIMESERVER___409 = 37,
    IPPORT_NAMESERVER___409 = 42,
    IPPORT_WHOIS___409 = 43,
    IPPORT_MTP___409 = 57,
    IPPORT_TFTP___409 = 69,
    IPPORT_RJE___409 = 77,
    IPPORT_FINGER___409 = 79,
    IPPORT_TTYLINK___409 = 87,
    IPPORT_SUPDUP___409 = 95,
    IPPORT_EXECSERVER___409 = 512,
    IPPORT_LOGINSERVER___409 = 513,
    IPPORT_CMDSERVER___409 = 514,
    IPPORT_EFSSERVER___409 = 520,
    IPPORT_BIFFUDP___409 = 512,
    IPPORT_WHOSERVER___409 = 513,
    IPPORT_ROUTESERVER___409 = 520,
    IPPORT_RESERVED___409 = 1024,
    IPPORT_USERRESERVED___409 = 5000
} ;
enum __anonenum_788308992___409 {
    TCP_ESTABLISHED___409 = 1,
    TCP_SYN_SENT___409 = 2,
    TCP_SYN_RECV___409 = 3,
    TCP_FIN_WAIT1___409 = 4,
    TCP_FIN_WAIT2___409 = 5,
    TCP_TIME_WAIT___409 = 6,
    TCP_CLOSE___409 = 7,
    TCP_CLOSE_WAIT___409 = 8,
    TCP_LAST_ACK___409 = 9,
    TCP_LISTEN___409 = 10,
    TCP_CLOSING___409 = 11
} ;
enum __anonenum_221125648___409 {
    TCP_NO_QUEUE___409 = 0,
    TCP_RECV_QUEUE___409 = 1,
    TCP_SEND_QUEUE___409 = 2,
    TCP_QUEUES_NR___409 = 3
} ;
enum __anonenum_34415463___409 {
    PTHREAD_CREATE_JOINABLE___409 = 0,
    PTHREAD_CREATE_DETACHED___409 = 1
} ;
enum __anonenum_303612439___409 {
    PTHREAD_MUTEX_TIMED_NP___409 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___409 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___409 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___409 = 3,
    PTHREAD_MUTEX_NORMAL___409 = 0,
    PTHREAD_MUTEX_RECURSIVE___409 = 1,
    PTHREAD_MUTEX_ERRORCHECK___409 = 2,
    PTHREAD_MUTEX_DEFAULT___409 = 0,
    PTHREAD_MUTEX_FAST_NP___409 = 0
} ;
enum __anonenum_931900394___409 {
    PTHREAD_MUTEX_STALLED___409 = 0,
    PTHREAD_MUTEX_STALLED_NP___409 = 0,
    PTHREAD_MUTEX_ROBUST___409 = 1,
    PTHREAD_MUTEX_ROBUST_NP___409 = 1
} ;
enum __anonenum_205214487___409 {
    PTHREAD_PRIO_NONE___409 = 0,
    PTHREAD_PRIO_INHERIT___409 = 1,
    PTHREAD_PRIO_PROTECT___409 = 2
} ;
enum __anonenum_25043950___409 {
    PTHREAD_RWLOCK_PREFER_READER_NP___409 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___409 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___409 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___409 = 0
} ;
enum __anonenum_436439511___409 {
    PTHREAD_INHERIT_SCHED___409 = 0,
    PTHREAD_EXPLICIT_SCHED___409 = 1
} ;
enum __anonenum_998661166___409 {
    PTHREAD_SCOPE_SYSTEM___409 = 0,
    PTHREAD_SCOPE_PROCESS___409 = 1
} ;
enum __anonenum_146137331___409 {
    PTHREAD_PROCESS_PRIVATE___409 = 0,
    PTHREAD_PROCESS_SHARED___409 = 1
} ;
enum __anonenum_53396917___409 {
    PTHREAD_CANCEL_ENABLE___409 = 0,
    PTHREAD_CANCEL_DISABLE___409 = 1
} ;
enum __anonenum_904563783___409 {
    PTHREAD_CANCEL_DEFERRED___409 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___409 = 1
} ;
enum __anonenum_672052974___409 {
    SSL_CT_VALIDATION_PERMISSIVE___409 = 0,
    SSL_CT_VALIDATION_STRICT___409 = 1
} ;
enum __anonenum_437032235___410 {
    _PC_LINK_MAX___410 = 0,
    _PC_MAX_CANON___410 = 1,
    _PC_MAX_INPUT___410 = 2,
    _PC_NAME_MAX___410 = 3,
    _PC_PATH_MAX___410 = 4,
    _PC_PIPE_BUF___410 = 5,
    _PC_CHOWN_RESTRICTED___410 = 6,
    _PC_NO_TRUNC___410 = 7,
    _PC_VDISABLE___410 = 8,
    _PC_SYNC_IO___410 = 9,
    _PC_ASYNC_IO___410 = 10,
    _PC_PRIO_IO___410 = 11,
    _PC_SOCK_MAXBUF___410 = 12,
    _PC_FILESIZEBITS___410 = 13,
    _PC_REC_INCR_XFER_SIZE___410 = 14,
    _PC_REC_MAX_XFER_SIZE___410 = 15,
    _PC_REC_MIN_XFER_SIZE___410 = 16,
    _PC_REC_XFER_ALIGN___410 = 17,
    _PC_ALLOC_SIZE_MIN___410 = 18,
    _PC_SYMLINK_MAX___410 = 19,
    _PC_2_SYMLINKS___410 = 20
} ;
enum __anonenum_315186338___410 {
    _SC_ARG_MAX___410 = 0,
    _SC_CHILD_MAX___410 = 1,
    _SC_CLK_TCK___410 = 2,
    _SC_NGROUPS_MAX___410 = 3,
    _SC_OPEN_MAX___410 = 4,
    _SC_STREAM_MAX___410 = 5,
    _SC_TZNAME_MAX___410 = 6,
    _SC_JOB_CONTROL___410 = 7,
    _SC_SAVED_IDS___410 = 8,
    _SC_REALTIME_SIGNALS___410 = 9,
    _SC_PRIORITY_SCHEDULING___410 = 10,
    _SC_TIMERS___410 = 11,
    _SC_ASYNCHRONOUS_IO___410 = 12,
    _SC_PRIORITIZED_IO___410 = 13,
    _SC_SYNCHRONIZED_IO___410 = 14,
    _SC_FSYNC___410 = 15,
    _SC_MAPPED_FILES___410 = 16,
    _SC_MEMLOCK___410 = 17,
    _SC_MEMLOCK_RANGE___410 = 18,
    _SC_MEMORY_PROTECTION___410 = 19,
    _SC_MESSAGE_PASSING___410 = 20,
    _SC_SEMAPHORES___410 = 21,
    _SC_SHARED_MEMORY_OBJECTS___410 = 22,
    _SC_AIO_LISTIO_MAX___410 = 23,
    _SC_AIO_MAX___410 = 24,
    _SC_AIO_PRIO_DELTA_MAX___410 = 25,
    _SC_DELAYTIMER_MAX___410 = 26,
    _SC_MQ_OPEN_MAX___410 = 27,
    _SC_MQ_PRIO_MAX___410 = 28,
    _SC_VERSION___410 = 29,
    _SC_PAGESIZE___410 = 30,
    _SC_RTSIG_MAX___410 = 31,
    _SC_SEM_NSEMS_MAX___410 = 32,
    _SC_SEM_VALUE_MAX___410 = 33,
    _SC_SIGQUEUE_MAX___410 = 34,
    _SC_TIMER_MAX___410 = 35,
    _SC_BC_BASE_MAX___410 = 36,
    _SC_BC_DIM_MAX___410 = 37,
    _SC_BC_SCALE_MAX___410 = 38,
    _SC_BC_STRING_MAX___410 = 39,
    _SC_COLL_WEIGHTS_MAX___410 = 40,
    _SC_EQUIV_CLASS_MAX___410 = 41,
    _SC_EXPR_NEST_MAX___410 = 42,
    _SC_LINE_MAX___410 = 43,
    _SC_RE_DUP_MAX___410 = 44,
    _SC_CHARCLASS_NAME_MAX___410 = 45,
    _SC_2_VERSION___410 = 46,
    _SC_2_C_BIND___410 = 47,
    _SC_2_C_DEV___410 = 48,
    _SC_2_FORT_DEV___410 = 49,
    _SC_2_FORT_RUN___410 = 50,
    _SC_2_SW_DEV___410 = 51,
    _SC_2_LOCALEDEF___410 = 52,
    _SC_PII___410 = 53,
    _SC_PII_XTI___410 = 54,
    _SC_PII_SOCKET___410 = 55,
    _SC_PII_INTERNET___410 = 56,
    _SC_PII_OSI___410 = 57,
    _SC_POLL___410 = 58,
    _SC_SELECT___410 = 59,
    _SC_UIO_MAXIOV___410 = 60,
    _SC_IOV_MAX___410 = 60,
    _SC_PII_INTERNET_STREAM___410 = 61,
    _SC_PII_INTERNET_DGRAM___410 = 62,
    _SC_PII_OSI_COTS___410 = 63,
    _SC_PII_OSI_CLTS___410 = 64,
    _SC_PII_OSI_M___410 = 65,
    _SC_T_IOV_MAX___410 = 66,
    _SC_THREADS___410 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___410 = 68,
    _SC_GETGR_R_SIZE_MAX___410 = 69,
    _SC_GETPW_R_SIZE_MAX___410 = 70,
    _SC_LOGIN_NAME_MAX___410 = 71,
    _SC_TTY_NAME_MAX___410 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___410 = 73,
    _SC_THREAD_KEYS_MAX___410 = 74,
    _SC_THREAD_STACK_MIN___410 = 75,
    _SC_THREAD_THREADS_MAX___410 = 76,
    _SC_THREAD_ATTR_STACKADDR___410 = 77,
    _SC_THREAD_ATTR_STACKSIZE___410 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___410 = 79,
    _SC_THREAD_PRIO_INHERIT___410 = 80,
    _SC_THREAD_PRIO_PROTECT___410 = 81,
    _SC_THREAD_PROCESS_SHARED___410 = 82,
    _SC_NPROCESSORS_CONF___410 = 83,
    _SC_NPROCESSORS_ONLN___410 = 84,
    _SC_PHYS_PAGES___410 = 85,
    _SC_AVPHYS_PAGES___410 = 86,
    _SC_ATEXIT_MAX___410 = 87,
    _SC_PASS_MAX___410 = 88,
    _SC_XOPEN_VERSION___410 = 89,
    _SC_XOPEN_XCU_VERSION___410 = 90,
    _SC_XOPEN_UNIX___410 = 91,
    _SC_XOPEN_CRYPT___410 = 92,
    _SC_XOPEN_ENH_I18N___410 = 93,
    _SC_XOPEN_SHM___410 = 94,
    _SC_2_CHAR_TERM___410 = 95,
    _SC_2_C_VERSION___410 = 96,
    _SC_2_UPE___410 = 97,
    _SC_XOPEN_XPG2___410 = 98,
    _SC_XOPEN_XPG3___410 = 99,
    _SC_XOPEN_XPG4___410 = 100,
    _SC_CHAR_BIT___410 = 101,
    _SC_CHAR_MAX___410 = 102,
    _SC_CHAR_MIN___410 = 103,
    _SC_INT_MAX___410 = 104,
    _SC_INT_MIN___410 = 105,
    _SC_LONG_BIT___410 = 106,
    _SC_WORD_BIT___410 = 107,
    _SC_MB_LEN_MAX___410 = 108,
    _SC_NZERO___410 = 109,
    _SC_SSIZE_MAX___410 = 110,
    _SC_SCHAR_MAX___410 = 111,
    _SC_SCHAR_MIN___410 = 112,
    _SC_SHRT_MAX___410 = 113,
    _SC_SHRT_MIN___410 = 114,
    _SC_UCHAR_MAX___410 = 115,
    _SC_UINT_MAX___410 = 116,
    _SC_ULONG_MAX___410 = 117,
    _SC_USHRT_MAX___410 = 118,
    _SC_NL_ARGMAX___410 = 119,
    _SC_NL_LANGMAX___410 = 120,
    _SC_NL_MSGMAX___410 = 121,
    _SC_NL_NMAX___410 = 122,
    _SC_NL_SETMAX___410 = 123,
    _SC_NL_TEXTMAX___410 = 124,
    _SC_XBS5_ILP32_OFF32___410 = 125,
    _SC_XBS5_ILP32_OFFBIG___410 = 126,
    _SC_XBS5_LP64_OFF64___410 = 127,
    _SC_XBS5_LPBIG_OFFBIG___410 = 128,
    _SC_XOPEN_LEGACY___410 = 129,
    _SC_XOPEN_REALTIME___410 = 130,
    _SC_XOPEN_REALTIME_THREADS___410 = 131,
    _SC_ADVISORY_INFO___410 = 132,
    _SC_BARRIERS___410 = 133,
    _SC_BASE___410 = 134,
    _SC_C_LANG_SUPPORT___410 = 135,
    _SC_C_LANG_SUPPORT_R___410 = 136,
    _SC_CLOCK_SELECTION___410 = 137,
    _SC_CPUTIME___410 = 138,
    _SC_THREAD_CPUTIME___410 = 139,
    _SC_DEVICE_IO___410 = 140,
    _SC_DEVICE_SPECIFIC___410 = 141,
    _SC_DEVICE_SPECIFIC_R___410 = 142,
    _SC_FD_MGMT___410 = 143,
    _SC_FIFO___410 = 144,
    _SC_PIPE___410 = 145,
    _SC_FILE_ATTRIBUTES___410 = 146,
    _SC_FILE_LOCKING___410 = 147,
    _SC_FILE_SYSTEM___410 = 148,
    _SC_MONOTONIC_CLOCK___410 = 149,
    _SC_MULTI_PROCESS___410 = 150,
    _SC_SINGLE_PROCESS___410 = 151,
    _SC_NETWORKING___410 = 152,
    _SC_READER_WRITER_LOCKS___410 = 153,
    _SC_SPIN_LOCKS___410 = 154,
    _SC_REGEXP___410 = 155,
    _SC_REGEX_VERSION___410 = 156,
    _SC_SHELL___410 = 157,
    _SC_SIGNALS___410 = 158,
    _SC_SPAWN___410 = 159,
    _SC_SPORADIC_SERVER___410 = 160,
    _SC_THREAD_SPORADIC_SERVER___410 = 161,
    _SC_SYSTEM_DATABASE___410 = 162,
    _SC_SYSTEM_DATABASE_R___410 = 163,
    _SC_TIMEOUTS___410 = 164,
    _SC_TYPED_MEMORY_OBJECTS___410 = 165,
    _SC_USER_GROUPS___410 = 166,
    _SC_USER_GROUPS_R___410 = 167,
    _SC_2_PBS___410 = 168,
    _SC_2_PBS_ACCOUNTING___410 = 169,
    _SC_2_PBS_LOCATE___410 = 170,
    _SC_2_PBS_MESSAGE___410 = 171,
    _SC_2_PBS_TRACK___410 = 172,
    _SC_SYMLOOP_MAX___410 = 173,
    _SC_STREAMS___410 = 174,
    _SC_2_PBS_CHECKPOINT___410 = 175,
    _SC_V6_ILP32_OFF32___410 = 176,
    _SC_V6_ILP32_OFFBIG___410 = 177,
    _SC_V6_LP64_OFF64___410 = 178,
    _SC_V6_LPBIG_OFFBIG___410 = 179,
    _SC_HOST_NAME_MAX___410 = 180,
    _SC_TRACE___410 = 181,
    _SC_TRACE_EVENT_FILTER___410 = 182,
    _SC_TRACE_INHERIT___410 = 183,
    _SC_TRACE_LOG___410 = 184,
    _SC_LEVEL1_ICACHE_SIZE___410 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___410 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___410 = 187,
    _SC_LEVEL1_DCACHE_SIZE___410 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___410 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___410 = 190,
    _SC_LEVEL2_CACHE_SIZE___410 = 191,
    _SC_LEVEL2_CACHE_ASSOC___410 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___410 = 193,
    _SC_LEVEL3_CACHE_SIZE___410 = 194,
    _SC_LEVEL3_CACHE_ASSOC___410 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___410 = 196,
    _SC_LEVEL4_CACHE_SIZE___410 = 197,
    _SC_LEVEL4_CACHE_ASSOC___410 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___410 = 199,
    _SC_IPV6___410 = 235,
    _SC_RAW_SOCKETS___410 = 236,
    _SC_V7_ILP32_OFF32___410 = 237,
    _SC_V7_ILP32_OFFBIG___410 = 238,
    _SC_V7_LP64_OFF64___410 = 239,
    _SC_V7_LPBIG_OFFBIG___410 = 240,
    _SC_SS_REPL_MAX___410 = 241,
    _SC_TRACE_EVENT_NAME_MAX___410 = 242,
    _SC_TRACE_NAME_MAX___410 = 243,
    _SC_TRACE_SYS_MAX___410 = 244,
    _SC_TRACE_USER_EVENT_MAX___410 = 245,
    _SC_XOPEN_STREAMS___410 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___410 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___410 = 248
} ;
enum __anonenum_875524036___410 {
    _CS_PATH___410 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___410 = 1,
    _CS_GNU_LIBC_VERSION___410 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___410 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___410 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___410 = 5,
    _CS_LFS_CFLAGS___410 = 1000,
    _CS_LFS_LDFLAGS___410 = 1001,
    _CS_LFS_LIBS___410 = 1002,
    _CS_LFS_LINTFLAGS___410 = 1003,
    _CS_LFS64_CFLAGS___410 = 1004,
    _CS_LFS64_LDFLAGS___410 = 1005,
    _CS_LFS64_LIBS___410 = 1006,
    _CS_LFS64_LINTFLAGS___410 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___410 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___410 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___410 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___410 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___410 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___410 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___410 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___410 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___410 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___410 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___410 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___410 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___410 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___410 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___410 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___410 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___410 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___410 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___410 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___410 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___410 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___410 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___410 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___410 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___410 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___410 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___410 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___410 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___410 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___410 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___410 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___410 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___410 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___410 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___410 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___410 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___410 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___410 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___410 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___410 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___410 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___410 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___410 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___410 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___410 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___410 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___410 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___410 = 1147,
    _CS_V6_ENV___410 = 1148,
    _CS_V7_ENV___410 = 1149
} ;
enum __anonenum_513775621___410 {
    DT_UNKNOWN___410 = 0,
    DT_FIFO___410 = 1,
    DT_CHR___410 = 2,
    DT_DIR___410 = 4,
    DT_BLK___410 = 6,
    DT_REG___410 = 8,
    DT_LNK___410 = 10,
    DT_SOCK___410 = 12,
    DT_WHT___410 = 14
} ;
enum __anonenum_77002343___410 {
    SI_ASYNCNL___410 = -60,
    SI_TKILL___410 = -6,
    SI_SIGIO___410 = -5,
    SI_ASYNCIO___410 = -4,
    SI_MESGQ___410 = -3,
    SI_TIMER___410 = -2,
    SI_QUEUE___410 = -1,
    SI_USER___410 = 0,
    SI_KERNEL___410 = 128
} ;
enum __anonenum_131038172___410 {
    ILL_ILLOPC___410 = 1,
    ILL_ILLOPN___410 = 2,
    ILL_ILLADR___410 = 3,
    ILL_ILLTRP___410 = 4,
    ILL_PRVOPC___410 = 5,
    ILL_PRVREG___410 = 6,
    ILL_COPROC___410 = 7,
    ILL_BADSTK___410 = 8
} ;
enum __anonenum_452038093___410 {
    FPE_INTDIV___410 = 1,
    FPE_INTOVF___410 = 2,
    FPE_FLTDIV___410 = 3,
    FPE_FLTOVF___410 = 4,
    FPE_FLTUND___410 = 5,
    FPE_FLTRES___410 = 6,
    FPE_FLTINV___410 = 7,
    FPE_FLTSUB___410 = 8
} ;
enum __anonenum_30976155___410 {
    SEGV_MAPERR___410 = 1,
    SEGV_ACCERR___410 = 2,
    SEGV_BNDERR___410 = 3,
    SEGV_PKUERR___410 = 4
} ;
enum __anonenum_1036286214___410 {
    BUS_ADRALN___410 = 1,
    BUS_ADRERR___410 = 2,
    BUS_OBJERR___410 = 3,
    BUS_MCEERR_AR___410 = 4,
    BUS_MCEERR_AO___410 = 5
} ;
enum __anonenum_493465559___410 {
    TRAP_BRKPT___410 = 1,
    TRAP_TRACE___410 = 2
} ;
enum __anonenum_23175539___410 {
    CLD_EXITED___410 = 1,
    CLD_KILLED___410 = 2,
    CLD_DUMPED___410 = 3,
    CLD_TRAPPED___410 = 4,
    CLD_STOPPED___410 = 5,
    CLD_CONTINUED___410 = 6
} ;
enum __anonenum_111643124___410 {
    POLL_IN___410 = 1,
    POLL_OUT___410 = 2,
    POLL_MSG___410 = 3,
    POLL_ERR___410 = 4,
    POLL_PRI___410 = 5,
    POLL_HUP___410 = 6
} ;
enum __anonenum_852341087___410 {
    SIGEV_SIGNAL___410 = 0,
    SIGEV_NONE___410 = 1,
    SIGEV_THREAD___410 = 2,
    SIGEV_THREAD_ID___410 = 4
} ;
enum __anonenum_451154152___410 {
    REG_R8___410 = 0,
    REG_R9___410 = 1,
    REG_R10___410 = 2,
    REG_R11___410 = 3,
    REG_R12___410 = 4,
    REG_R13___410 = 5,
    REG_R14___410 = 6,
    REG_R15___410 = 7,
    REG_RDI___410 = 8,
    REG_RSI___410 = 9,
    REG_RBP___410 = 10,
    REG_RBX___410 = 11,
    REG_RDX___410 = 12,
    REG_RAX___410 = 13,
    REG_RCX___410 = 14,
    REG_RSP___410 = 15,
    REG_RIP___410 = 16,
    REG_EFL___410 = 17,
    REG_CSGSFS___410 = 18,
    REG_ERR___410 = 19,
    REG_TRAPNO___410 = 20,
    REG_OLDMASK___410 = 21,
    REG_CR2___410 = 22
} ;
enum __anonenum_57186863___410 {
    SS_ONSTACK___410 = 1,
    SS_DISABLE___410 = 2
} ;
enum __anonenum_83571709___410 {
    MSG_OOB___410 = 1,
    MSG_PEEK___410 = 2,
    MSG_DONTROUTE___410 = 4,
    MSG_TRYHARD___410 = 4,
    MSG_CTRUNC___410 = 8,
    MSG_PROXY___410 = 16,
    MSG_TRUNC___410 = 32,
    MSG_DONTWAIT___410 = 64,
    MSG_EOR___410 = 128,
    MSG_WAITALL___410 = 256,
    MSG_FIN___410 = 512,
    MSG_SYN___410 = 1024,
    MSG_CONFIRM___410 = 2048,
    MSG_RST___410 = 4096,
    MSG_ERRQUEUE___410 = 8192,
    MSG_NOSIGNAL___410 = 16384,
    MSG_MORE___410 = 32768,
    MSG_WAITFORONE___410 = 65536,
    MSG_BATCH___410 = 262144,
    MSG_ZEROCOPY___410 = 67108864,
    MSG_FASTOPEN___410 = 536870912,
    MSG_CMSG_CLOEXEC___410 = 1073741824
} ;
enum __anonenum_617082774___410 {
    SCM_RIGHTS___410 = 1,
    SCM_CREDENTIALS___410 = 2
} ;
enum __anonenum_606441560___410 {
    SHUT_RD___410 = 0,
    SHUT_WR___410 = 1,
    SHUT_RDWR___410 = 2
} ;
enum __anonenum_681669233___410 {
    IPPROTO_IP___410 = 0,
    IPPROTO_ICMP___410 = 1,
    IPPROTO_IGMP___410 = 2,
    IPPROTO_IPIP___410 = 4,
    IPPROTO_TCP___410 = 6,
    IPPROTO_EGP___410 = 8,
    IPPROTO_PUP___410 = 12,
    IPPROTO_UDP___410 = 17,
    IPPROTO_IDP___410 = 22,
    IPPROTO_TP___410 = 29,
    IPPROTO_DCCP___410 = 33,
    IPPROTO_IPV6___410 = 41,
    IPPROTO_RSVP___410 = 46,
    IPPROTO_GRE___410 = 47,
    IPPROTO_ESP___410 = 50,
    IPPROTO_AH___410 = 51,
    IPPROTO_MTP___410 = 92,
    IPPROTO_BEETPH___410 = 94,
    IPPROTO_ENCAP___410 = 98,
    IPPROTO_PIM___410 = 103,
    IPPROTO_COMP___410 = 108,
    IPPROTO_SCTP___410 = 132,
    IPPROTO_UDPLITE___410 = 136,
    IPPROTO_MPLS___410 = 137,
    IPPROTO_RAW___410 = 255,
    IPPROTO_MAX___410 = 256
} ;
enum __anonenum_218739988___410 {
    IPPROTO_HOPOPTS___410 = 0,
    IPPROTO_ROUTING___410 = 43,
    IPPROTO_FRAGMENT___410 = 44,
    IPPROTO_ICMPV6___410 = 58,
    IPPROTO_NONE___410 = 59,
    IPPROTO_DSTOPTS___410 = 60,
    IPPROTO_MH___410 = 135
} ;
enum __anonenum_662268580___410 {
    IPPORT_ECHO___410 = 7,
    IPPORT_DISCARD___410 = 9,
    IPPORT_SYSTAT___410 = 11,
    IPPORT_DAYTIME___410 = 13,
    IPPORT_NETSTAT___410 = 15,
    IPPORT_FTP___410 = 21,
    IPPORT_TELNET___410 = 23,
    IPPORT_SMTP___410 = 25,
    IPPORT_TIMESERVER___410 = 37,
    IPPORT_NAMESERVER___410 = 42,
    IPPORT_WHOIS___410 = 43,
    IPPORT_MTP___410 = 57,
    IPPORT_TFTP___410 = 69,
    IPPORT_RJE___410 = 77,
    IPPORT_FINGER___410 = 79,
    IPPORT_TTYLINK___410 = 87,
    IPPORT_SUPDUP___410 = 95,
    IPPORT_EXECSERVER___410 = 512,
    IPPORT_LOGINSERVER___410 = 513,
    IPPORT_CMDSERVER___410 = 514,
    IPPORT_EFSSERVER___410 = 520,
    IPPORT_BIFFUDP___410 = 512,
    IPPORT_WHOSERVER___410 = 513,
    IPPORT_ROUTESERVER___410 = 520,
    IPPORT_RESERVED___410 = 1024,
    IPPORT_USERRESERVED___410 = 5000
} ;
enum __anonenum_788308992___410 {
    TCP_ESTABLISHED___410 = 1,
    TCP_SYN_SENT___410 = 2,
    TCP_SYN_RECV___410 = 3,
    TCP_FIN_WAIT1___410 = 4,
    TCP_FIN_WAIT2___410 = 5,
    TCP_TIME_WAIT___410 = 6,
    TCP_CLOSE___410 = 7,
    TCP_CLOSE_WAIT___410 = 8,
    TCP_LAST_ACK___410 = 9,
    TCP_LISTEN___410 = 10,
    TCP_CLOSING___410 = 11
} ;
enum __anonenum_221125648___410 {
    TCP_NO_QUEUE___410 = 0,
    TCP_RECV_QUEUE___410 = 1,
    TCP_SEND_QUEUE___410 = 2,
    TCP_QUEUES_NR___410 = 3
} ;
enum __anonenum_34415463___410 {
    PTHREAD_CREATE_JOINABLE___410 = 0,
    PTHREAD_CREATE_DETACHED___410 = 1
} ;
enum __anonenum_303612439___410 {
    PTHREAD_MUTEX_TIMED_NP___410 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___410 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___410 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___410 = 3,
    PTHREAD_MUTEX_NORMAL___410 = 0,
    PTHREAD_MUTEX_RECURSIVE___410 = 1,
    PTHREAD_MUTEX_ERRORCHECK___410 = 2,
    PTHREAD_MUTEX_DEFAULT___410 = 0,
    PTHREAD_MUTEX_FAST_NP___410 = 0
} ;
enum __anonenum_931900394___410 {
    PTHREAD_MUTEX_STALLED___410 = 0,
    PTHREAD_MUTEX_STALLED_NP___410 = 0,
    PTHREAD_MUTEX_ROBUST___410 = 1,
    PTHREAD_MUTEX_ROBUST_NP___410 = 1
} ;
enum __anonenum_205214487___410 {
    PTHREAD_PRIO_NONE___410 = 0,
    PTHREAD_PRIO_INHERIT___410 = 1,
    PTHREAD_PRIO_PROTECT___410 = 2
} ;
enum __anonenum_25043950___410 {
    PTHREAD_RWLOCK_PREFER_READER_NP___410 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___410 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___410 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___410 = 0
} ;
enum __anonenum_436439511___410 {
    PTHREAD_INHERIT_SCHED___410 = 0,
    PTHREAD_EXPLICIT_SCHED___410 = 1
} ;
enum __anonenum_998661166___410 {
    PTHREAD_SCOPE_SYSTEM___410 = 0,
    PTHREAD_SCOPE_PROCESS___410 = 1
} ;
enum __anonenum_146137331___410 {
    PTHREAD_PROCESS_PRIVATE___410 = 0,
    PTHREAD_PROCESS_SHARED___410 = 1
} ;
enum __anonenum_53396917___410 {
    PTHREAD_CANCEL_ENABLE___410 = 0,
    PTHREAD_CANCEL_DISABLE___410 = 1
} ;
enum __anonenum_904563783___410 {
    PTHREAD_CANCEL_DEFERRED___410 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___410 = 1
} ;
enum __anonenum_672052974___410 {
    SSL_CT_VALIDATION_PERMISSIVE___410 = 0,
    SSL_CT_VALIDATION_STRICT___410 = 1
} ;
enum __anonenum_437032235___411 {
    _PC_LINK_MAX___411 = 0,
    _PC_MAX_CANON___411 = 1,
    _PC_MAX_INPUT___411 = 2,
    _PC_NAME_MAX___411 = 3,
    _PC_PATH_MAX___411 = 4,
    _PC_PIPE_BUF___411 = 5,
    _PC_CHOWN_RESTRICTED___411 = 6,
    _PC_NO_TRUNC___411 = 7,
    _PC_VDISABLE___411 = 8,
    _PC_SYNC_IO___411 = 9,
    _PC_ASYNC_IO___411 = 10,
    _PC_PRIO_IO___411 = 11,
    _PC_SOCK_MAXBUF___411 = 12,
    _PC_FILESIZEBITS___411 = 13,
    _PC_REC_INCR_XFER_SIZE___411 = 14,
    _PC_REC_MAX_XFER_SIZE___411 = 15,
    _PC_REC_MIN_XFER_SIZE___411 = 16,
    _PC_REC_XFER_ALIGN___411 = 17,
    _PC_ALLOC_SIZE_MIN___411 = 18,
    _PC_SYMLINK_MAX___411 = 19,
    _PC_2_SYMLINKS___411 = 20
} ;
enum __anonenum_315186338___411 {
    _SC_ARG_MAX___411 = 0,
    _SC_CHILD_MAX___411 = 1,
    _SC_CLK_TCK___411 = 2,
    _SC_NGROUPS_MAX___411 = 3,
    _SC_OPEN_MAX___411 = 4,
    _SC_STREAM_MAX___411 = 5,
    _SC_TZNAME_MAX___411 = 6,
    _SC_JOB_CONTROL___411 = 7,
    _SC_SAVED_IDS___411 = 8,
    _SC_REALTIME_SIGNALS___411 = 9,
    _SC_PRIORITY_SCHEDULING___411 = 10,
    _SC_TIMERS___411 = 11,
    _SC_ASYNCHRONOUS_IO___411 = 12,
    _SC_PRIORITIZED_IO___411 = 13,
    _SC_SYNCHRONIZED_IO___411 = 14,
    _SC_FSYNC___411 = 15,
    _SC_MAPPED_FILES___411 = 16,
    _SC_MEMLOCK___411 = 17,
    _SC_MEMLOCK_RANGE___411 = 18,
    _SC_MEMORY_PROTECTION___411 = 19,
    _SC_MESSAGE_PASSING___411 = 20,
    _SC_SEMAPHORES___411 = 21,
    _SC_SHARED_MEMORY_OBJECTS___411 = 22,
    _SC_AIO_LISTIO_MAX___411 = 23,
    _SC_AIO_MAX___411 = 24,
    _SC_AIO_PRIO_DELTA_MAX___411 = 25,
    _SC_DELAYTIMER_MAX___411 = 26,
    _SC_MQ_OPEN_MAX___411 = 27,
    _SC_MQ_PRIO_MAX___411 = 28,
    _SC_VERSION___411 = 29,
    _SC_PAGESIZE___411 = 30,
    _SC_RTSIG_MAX___411 = 31,
    _SC_SEM_NSEMS_MAX___411 = 32,
    _SC_SEM_VALUE_MAX___411 = 33,
    _SC_SIGQUEUE_MAX___411 = 34,
    _SC_TIMER_MAX___411 = 35,
    _SC_BC_BASE_MAX___411 = 36,
    _SC_BC_DIM_MAX___411 = 37,
    _SC_BC_SCALE_MAX___411 = 38,
    _SC_BC_STRING_MAX___411 = 39,
    _SC_COLL_WEIGHTS_MAX___411 = 40,
    _SC_EQUIV_CLASS_MAX___411 = 41,
    _SC_EXPR_NEST_MAX___411 = 42,
    _SC_LINE_MAX___411 = 43,
    _SC_RE_DUP_MAX___411 = 44,
    _SC_CHARCLASS_NAME_MAX___411 = 45,
    _SC_2_VERSION___411 = 46,
    _SC_2_C_BIND___411 = 47,
    _SC_2_C_DEV___411 = 48,
    _SC_2_FORT_DEV___411 = 49,
    _SC_2_FORT_RUN___411 = 50,
    _SC_2_SW_DEV___411 = 51,
    _SC_2_LOCALEDEF___411 = 52,
    _SC_PII___411 = 53,
    _SC_PII_XTI___411 = 54,
    _SC_PII_SOCKET___411 = 55,
    _SC_PII_INTERNET___411 = 56,
    _SC_PII_OSI___411 = 57,
    _SC_POLL___411 = 58,
    _SC_SELECT___411 = 59,
    _SC_UIO_MAXIOV___411 = 60,
    _SC_IOV_MAX___411 = 60,
    _SC_PII_INTERNET_STREAM___411 = 61,
    _SC_PII_INTERNET_DGRAM___411 = 62,
    _SC_PII_OSI_COTS___411 = 63,
    _SC_PII_OSI_CLTS___411 = 64,
    _SC_PII_OSI_M___411 = 65,
    _SC_T_IOV_MAX___411 = 66,
    _SC_THREADS___411 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___411 = 68,
    _SC_GETGR_R_SIZE_MAX___411 = 69,
    _SC_GETPW_R_SIZE_MAX___411 = 70,
    _SC_LOGIN_NAME_MAX___411 = 71,
    _SC_TTY_NAME_MAX___411 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___411 = 73,
    _SC_THREAD_KEYS_MAX___411 = 74,
    _SC_THREAD_STACK_MIN___411 = 75,
    _SC_THREAD_THREADS_MAX___411 = 76,
    _SC_THREAD_ATTR_STACKADDR___411 = 77,
    _SC_THREAD_ATTR_STACKSIZE___411 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___411 = 79,
    _SC_THREAD_PRIO_INHERIT___411 = 80,
    _SC_THREAD_PRIO_PROTECT___411 = 81,
    _SC_THREAD_PROCESS_SHARED___411 = 82,
    _SC_NPROCESSORS_CONF___411 = 83,
    _SC_NPROCESSORS_ONLN___411 = 84,
    _SC_PHYS_PAGES___411 = 85,
    _SC_AVPHYS_PAGES___411 = 86,
    _SC_ATEXIT_MAX___411 = 87,
    _SC_PASS_MAX___411 = 88,
    _SC_XOPEN_VERSION___411 = 89,
    _SC_XOPEN_XCU_VERSION___411 = 90,
    _SC_XOPEN_UNIX___411 = 91,
    _SC_XOPEN_CRYPT___411 = 92,
    _SC_XOPEN_ENH_I18N___411 = 93,
    _SC_XOPEN_SHM___411 = 94,
    _SC_2_CHAR_TERM___411 = 95,
    _SC_2_C_VERSION___411 = 96,
    _SC_2_UPE___411 = 97,
    _SC_XOPEN_XPG2___411 = 98,
    _SC_XOPEN_XPG3___411 = 99,
    _SC_XOPEN_XPG4___411 = 100,
    _SC_CHAR_BIT___411 = 101,
    _SC_CHAR_MAX___411 = 102,
    _SC_CHAR_MIN___411 = 103,
    _SC_INT_MAX___411 = 104,
    _SC_INT_MIN___411 = 105,
    _SC_LONG_BIT___411 = 106,
    _SC_WORD_BIT___411 = 107,
    _SC_MB_LEN_MAX___411 = 108,
    _SC_NZERO___411 = 109,
    _SC_SSIZE_MAX___411 = 110,
    _SC_SCHAR_MAX___411 = 111,
    _SC_SCHAR_MIN___411 = 112,
    _SC_SHRT_MAX___411 = 113,
    _SC_SHRT_MIN___411 = 114,
    _SC_UCHAR_MAX___411 = 115,
    _SC_UINT_MAX___411 = 116,
    _SC_ULONG_MAX___411 = 117,
    _SC_USHRT_MAX___411 = 118,
    _SC_NL_ARGMAX___411 = 119,
    _SC_NL_LANGMAX___411 = 120,
    _SC_NL_MSGMAX___411 = 121,
    _SC_NL_NMAX___411 = 122,
    _SC_NL_SETMAX___411 = 123,
    _SC_NL_TEXTMAX___411 = 124,
    _SC_XBS5_ILP32_OFF32___411 = 125,
    _SC_XBS5_ILP32_OFFBIG___411 = 126,
    _SC_XBS5_LP64_OFF64___411 = 127,
    _SC_XBS5_LPBIG_OFFBIG___411 = 128,
    _SC_XOPEN_LEGACY___411 = 129,
    _SC_XOPEN_REALTIME___411 = 130,
    _SC_XOPEN_REALTIME_THREADS___411 = 131,
    _SC_ADVISORY_INFO___411 = 132,
    _SC_BARRIERS___411 = 133,
    _SC_BASE___411 = 134,
    _SC_C_LANG_SUPPORT___411 = 135,
    _SC_C_LANG_SUPPORT_R___411 = 136,
    _SC_CLOCK_SELECTION___411 = 137,
    _SC_CPUTIME___411 = 138,
    _SC_THREAD_CPUTIME___411 = 139,
    _SC_DEVICE_IO___411 = 140,
    _SC_DEVICE_SPECIFIC___411 = 141,
    _SC_DEVICE_SPECIFIC_R___411 = 142,
    _SC_FD_MGMT___411 = 143,
    _SC_FIFO___411 = 144,
    _SC_PIPE___411 = 145,
    _SC_FILE_ATTRIBUTES___411 = 146,
    _SC_FILE_LOCKING___411 = 147,
    _SC_FILE_SYSTEM___411 = 148,
    _SC_MONOTONIC_CLOCK___411 = 149,
    _SC_MULTI_PROCESS___411 = 150,
    _SC_SINGLE_PROCESS___411 = 151,
    _SC_NETWORKING___411 = 152,
    _SC_READER_WRITER_LOCKS___411 = 153,
    _SC_SPIN_LOCKS___411 = 154,
    _SC_REGEXP___411 = 155,
    _SC_REGEX_VERSION___411 = 156,
    _SC_SHELL___411 = 157,
    _SC_SIGNALS___411 = 158,
    _SC_SPAWN___411 = 159,
    _SC_SPORADIC_SERVER___411 = 160,
    _SC_THREAD_SPORADIC_SERVER___411 = 161,
    _SC_SYSTEM_DATABASE___411 = 162,
    _SC_SYSTEM_DATABASE_R___411 = 163,
    _SC_TIMEOUTS___411 = 164,
    _SC_TYPED_MEMORY_OBJECTS___411 = 165,
    _SC_USER_GROUPS___411 = 166,
    _SC_USER_GROUPS_R___411 = 167,
    _SC_2_PBS___411 = 168,
    _SC_2_PBS_ACCOUNTING___411 = 169,
    _SC_2_PBS_LOCATE___411 = 170,
    _SC_2_PBS_MESSAGE___411 = 171,
    _SC_2_PBS_TRACK___411 = 172,
    _SC_SYMLOOP_MAX___411 = 173,
    _SC_STREAMS___411 = 174,
    _SC_2_PBS_CHECKPOINT___411 = 175,
    _SC_V6_ILP32_OFF32___411 = 176,
    _SC_V6_ILP32_OFFBIG___411 = 177,
    _SC_V6_LP64_OFF64___411 = 178,
    _SC_V6_LPBIG_OFFBIG___411 = 179,
    _SC_HOST_NAME_MAX___411 = 180,
    _SC_TRACE___411 = 181,
    _SC_TRACE_EVENT_FILTER___411 = 182,
    _SC_TRACE_INHERIT___411 = 183,
    _SC_TRACE_LOG___411 = 184,
    _SC_LEVEL1_ICACHE_SIZE___411 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___411 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___411 = 187,
    _SC_LEVEL1_DCACHE_SIZE___411 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___411 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___411 = 190,
    _SC_LEVEL2_CACHE_SIZE___411 = 191,
    _SC_LEVEL2_CACHE_ASSOC___411 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___411 = 193,
    _SC_LEVEL3_CACHE_SIZE___411 = 194,
    _SC_LEVEL3_CACHE_ASSOC___411 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___411 = 196,
    _SC_LEVEL4_CACHE_SIZE___411 = 197,
    _SC_LEVEL4_CACHE_ASSOC___411 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___411 = 199,
    _SC_IPV6___411 = 235,
    _SC_RAW_SOCKETS___411 = 236,
    _SC_V7_ILP32_OFF32___411 = 237,
    _SC_V7_ILP32_OFFBIG___411 = 238,
    _SC_V7_LP64_OFF64___411 = 239,
    _SC_V7_LPBIG_OFFBIG___411 = 240,
    _SC_SS_REPL_MAX___411 = 241,
    _SC_TRACE_EVENT_NAME_MAX___411 = 242,
    _SC_TRACE_NAME_MAX___411 = 243,
    _SC_TRACE_SYS_MAX___411 = 244,
    _SC_TRACE_USER_EVENT_MAX___411 = 245,
    _SC_XOPEN_STREAMS___411 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___411 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___411 = 248
} ;
enum __anonenum_875524036___411 {
    _CS_PATH___411 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___411 = 1,
    _CS_GNU_LIBC_VERSION___411 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___411 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___411 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___411 = 5,
    _CS_LFS_CFLAGS___411 = 1000,
    _CS_LFS_LDFLAGS___411 = 1001,
    _CS_LFS_LIBS___411 = 1002,
    _CS_LFS_LINTFLAGS___411 = 1003,
    _CS_LFS64_CFLAGS___411 = 1004,
    _CS_LFS64_LDFLAGS___411 = 1005,
    _CS_LFS64_LIBS___411 = 1006,
    _CS_LFS64_LINTFLAGS___411 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___411 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___411 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___411 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___411 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___411 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___411 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___411 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___411 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___411 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___411 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___411 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___411 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___411 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___411 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___411 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___411 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___411 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___411 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___411 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___411 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___411 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___411 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___411 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___411 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___411 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___411 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___411 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___411 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___411 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___411 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___411 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___411 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___411 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___411 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___411 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___411 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___411 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___411 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___411 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___411 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___411 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___411 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___411 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___411 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___411 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___411 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___411 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___411 = 1147,
    _CS_V6_ENV___411 = 1148,
    _CS_V7_ENV___411 = 1149
} ;
enum __anonenum_513775621___411 {
    DT_UNKNOWN___411 = 0,
    DT_FIFO___411 = 1,
    DT_CHR___411 = 2,
    DT_DIR___411 = 4,
    DT_BLK___411 = 6,
    DT_REG___411 = 8,
    DT_LNK___411 = 10,
    DT_SOCK___411 = 12,
    DT_WHT___411 = 14
} ;
enum __anonenum_77002343___411 {
    SI_ASYNCNL___411 = -60,
    SI_TKILL___411 = -6,
    SI_SIGIO___411 = -5,
    SI_ASYNCIO___411 = -4,
    SI_MESGQ___411 = -3,
    SI_TIMER___411 = -2,
    SI_QUEUE___411 = -1,
    SI_USER___411 = 0,
    SI_KERNEL___411 = 128
} ;
enum __anonenum_131038172___411 {
    ILL_ILLOPC___411 = 1,
    ILL_ILLOPN___411 = 2,
    ILL_ILLADR___411 = 3,
    ILL_ILLTRP___411 = 4,
    ILL_PRVOPC___411 = 5,
    ILL_PRVREG___411 = 6,
    ILL_COPROC___411 = 7,
    ILL_BADSTK___411 = 8
} ;
enum __anonenum_452038093___411 {
    FPE_INTDIV___411 = 1,
    FPE_INTOVF___411 = 2,
    FPE_FLTDIV___411 = 3,
    FPE_FLTOVF___411 = 4,
    FPE_FLTUND___411 = 5,
    FPE_FLTRES___411 = 6,
    FPE_FLTINV___411 = 7,
    FPE_FLTSUB___411 = 8
} ;
enum __anonenum_30976155___411 {
    SEGV_MAPERR___411 = 1,
    SEGV_ACCERR___411 = 2,
    SEGV_BNDERR___411 = 3,
    SEGV_PKUERR___411 = 4
} ;
enum __anonenum_1036286214___411 {
    BUS_ADRALN___411 = 1,
    BUS_ADRERR___411 = 2,
    BUS_OBJERR___411 = 3,
    BUS_MCEERR_AR___411 = 4,
    BUS_MCEERR_AO___411 = 5
} ;
enum __anonenum_493465559___411 {
    TRAP_BRKPT___411 = 1,
    TRAP_TRACE___411 = 2
} ;
enum __anonenum_23175539___411 {
    CLD_EXITED___411 = 1,
    CLD_KILLED___411 = 2,
    CLD_DUMPED___411 = 3,
    CLD_TRAPPED___411 = 4,
    CLD_STOPPED___411 = 5,
    CLD_CONTINUED___411 = 6
} ;
enum __anonenum_111643124___411 {
    POLL_IN___411 = 1,
    POLL_OUT___411 = 2,
    POLL_MSG___411 = 3,
    POLL_ERR___411 = 4,
    POLL_PRI___411 = 5,
    POLL_HUP___411 = 6
} ;
enum __anonenum_852341087___411 {
    SIGEV_SIGNAL___411 = 0,
    SIGEV_NONE___411 = 1,
    SIGEV_THREAD___411 = 2,
    SIGEV_THREAD_ID___411 = 4
} ;
enum __anonenum_451154152___411 {
    REG_R8___411 = 0,
    REG_R9___411 = 1,
    REG_R10___411 = 2,
    REG_R11___411 = 3,
    REG_R12___411 = 4,
    REG_R13___411 = 5,
    REG_R14___411 = 6,
    REG_R15___411 = 7,
    REG_RDI___411 = 8,
    REG_RSI___411 = 9,
    REG_RBP___411 = 10,
    REG_RBX___411 = 11,
    REG_RDX___411 = 12,
    REG_RAX___411 = 13,
    REG_RCX___411 = 14,
    REG_RSP___411 = 15,
    REG_RIP___411 = 16,
    REG_EFL___411 = 17,
    REG_CSGSFS___411 = 18,
    REG_ERR___411 = 19,
    REG_TRAPNO___411 = 20,
    REG_OLDMASK___411 = 21,
    REG_CR2___411 = 22
} ;
enum __anonenum_57186863___411 {
    SS_ONSTACK___411 = 1,
    SS_DISABLE___411 = 2
} ;
enum __anonenum_83571709___411 {
    MSG_OOB___411 = 1,
    MSG_PEEK___411 = 2,
    MSG_DONTROUTE___411 = 4,
    MSG_TRYHARD___411 = 4,
    MSG_CTRUNC___411 = 8,
    MSG_PROXY___411 = 16,
    MSG_TRUNC___411 = 32,
    MSG_DONTWAIT___411 = 64,
    MSG_EOR___411 = 128,
    MSG_WAITALL___411 = 256,
    MSG_FIN___411 = 512,
    MSG_SYN___411 = 1024,
    MSG_CONFIRM___411 = 2048,
    MSG_RST___411 = 4096,
    MSG_ERRQUEUE___411 = 8192,
    MSG_NOSIGNAL___411 = 16384,
    MSG_MORE___411 = 32768,
    MSG_WAITFORONE___411 = 65536,
    MSG_BATCH___411 = 262144,
    MSG_ZEROCOPY___411 = 67108864,
    MSG_FASTOPEN___411 = 536870912,
    MSG_CMSG_CLOEXEC___411 = 1073741824
} ;
enum __anonenum_617082774___411 {
    SCM_RIGHTS___411 = 1,
    SCM_CREDENTIALS___411 = 2
} ;
enum __anonenum_606441560___411 {
    SHUT_RD___411 = 0,
    SHUT_WR___411 = 1,
    SHUT_RDWR___411 = 2
} ;
enum __anonenum_681669233___411 {
    IPPROTO_IP___411 = 0,
    IPPROTO_ICMP___411 = 1,
    IPPROTO_IGMP___411 = 2,
    IPPROTO_IPIP___411 = 4,
    IPPROTO_TCP___411 = 6,
    IPPROTO_EGP___411 = 8,
    IPPROTO_PUP___411 = 12,
    IPPROTO_UDP___411 = 17,
    IPPROTO_IDP___411 = 22,
    IPPROTO_TP___411 = 29,
    IPPROTO_DCCP___411 = 33,
    IPPROTO_IPV6___411 = 41,
    IPPROTO_RSVP___411 = 46,
    IPPROTO_GRE___411 = 47,
    IPPROTO_ESP___411 = 50,
    IPPROTO_AH___411 = 51,
    IPPROTO_MTP___411 = 92,
    IPPROTO_BEETPH___411 = 94,
    IPPROTO_ENCAP___411 = 98,
    IPPROTO_PIM___411 = 103,
    IPPROTO_COMP___411 = 108,
    IPPROTO_SCTP___411 = 132,
    IPPROTO_UDPLITE___411 = 136,
    IPPROTO_MPLS___411 = 137,
    IPPROTO_RAW___411 = 255,
    IPPROTO_MAX___411 = 256
} ;
enum __anonenum_218739988___411 {
    IPPROTO_HOPOPTS___411 = 0,
    IPPROTO_ROUTING___411 = 43,
    IPPROTO_FRAGMENT___411 = 44,
    IPPROTO_ICMPV6___411 = 58,
    IPPROTO_NONE___411 = 59,
    IPPROTO_DSTOPTS___411 = 60,
    IPPROTO_MH___411 = 135
} ;
enum __anonenum_662268580___411 {
    IPPORT_ECHO___411 = 7,
    IPPORT_DISCARD___411 = 9,
    IPPORT_SYSTAT___411 = 11,
    IPPORT_DAYTIME___411 = 13,
    IPPORT_NETSTAT___411 = 15,
    IPPORT_FTP___411 = 21,
    IPPORT_TELNET___411 = 23,
    IPPORT_SMTP___411 = 25,
    IPPORT_TIMESERVER___411 = 37,
    IPPORT_NAMESERVER___411 = 42,
    IPPORT_WHOIS___411 = 43,
    IPPORT_MTP___411 = 57,
    IPPORT_TFTP___411 = 69,
    IPPORT_RJE___411 = 77,
    IPPORT_FINGER___411 = 79,
    IPPORT_TTYLINK___411 = 87,
    IPPORT_SUPDUP___411 = 95,
    IPPORT_EXECSERVER___411 = 512,
    IPPORT_LOGINSERVER___411 = 513,
    IPPORT_CMDSERVER___411 = 514,
    IPPORT_EFSSERVER___411 = 520,
    IPPORT_BIFFUDP___411 = 512,
    IPPORT_WHOSERVER___411 = 513,
    IPPORT_ROUTESERVER___411 = 520,
    IPPORT_RESERVED___411 = 1024,
    IPPORT_USERRESERVED___411 = 5000
} ;
enum __anonenum_788308992___411 {
    TCP_ESTABLISHED___411 = 1,
    TCP_SYN_SENT___411 = 2,
    TCP_SYN_RECV___411 = 3,
    TCP_FIN_WAIT1___411 = 4,
    TCP_FIN_WAIT2___411 = 5,
    TCP_TIME_WAIT___411 = 6,
    TCP_CLOSE___411 = 7,
    TCP_CLOSE_WAIT___411 = 8,
    TCP_LAST_ACK___411 = 9,
    TCP_LISTEN___411 = 10,
    TCP_CLOSING___411 = 11
} ;
enum __anonenum_221125648___411 {
    TCP_NO_QUEUE___411 = 0,
    TCP_RECV_QUEUE___411 = 1,
    TCP_SEND_QUEUE___411 = 2,
    TCP_QUEUES_NR___411 = 3
} ;
enum __anonenum_34415463___411 {
    PTHREAD_CREATE_JOINABLE___411 = 0,
    PTHREAD_CREATE_DETACHED___411 = 1
} ;
enum __anonenum_303612439___411 {
    PTHREAD_MUTEX_TIMED_NP___411 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___411 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___411 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___411 = 3,
    PTHREAD_MUTEX_NORMAL___411 = 0,
    PTHREAD_MUTEX_RECURSIVE___411 = 1,
    PTHREAD_MUTEX_ERRORCHECK___411 = 2,
    PTHREAD_MUTEX_DEFAULT___411 = 0,
    PTHREAD_MUTEX_FAST_NP___411 = 0
} ;
enum __anonenum_931900394___411 {
    PTHREAD_MUTEX_STALLED___411 = 0,
    PTHREAD_MUTEX_STALLED_NP___411 = 0,
    PTHREAD_MUTEX_ROBUST___411 = 1,
    PTHREAD_MUTEX_ROBUST_NP___411 = 1
} ;
enum __anonenum_205214487___411 {
    PTHREAD_PRIO_NONE___411 = 0,
    PTHREAD_PRIO_INHERIT___411 = 1,
    PTHREAD_PRIO_PROTECT___411 = 2
} ;
enum __anonenum_25043950___411 {
    PTHREAD_RWLOCK_PREFER_READER_NP___411 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___411 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___411 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___411 = 0
} ;
enum __anonenum_436439511___411 {
    PTHREAD_INHERIT_SCHED___411 = 0,
    PTHREAD_EXPLICIT_SCHED___411 = 1
} ;
enum __anonenum_998661166___411 {
    PTHREAD_SCOPE_SYSTEM___411 = 0,
    PTHREAD_SCOPE_PROCESS___411 = 1
} ;
enum __anonenum_146137331___411 {
    PTHREAD_PROCESS_PRIVATE___411 = 0,
    PTHREAD_PROCESS_SHARED___411 = 1
} ;
enum __anonenum_53396917___411 {
    PTHREAD_CANCEL_ENABLE___411 = 0,
    PTHREAD_CANCEL_DISABLE___411 = 1
} ;
enum __anonenum_904563783___411 {
    PTHREAD_CANCEL_DEFERRED___411 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___411 = 1
} ;
enum __anonenum_672052974___411 {
    SSL_CT_VALIDATION_PERMISSIVE___411 = 0,
    SSL_CT_VALIDATION_STRICT___411 = 1
} ;
enum __anonenum_437032235___412 {
    _PC_LINK_MAX___412 = 0,
    _PC_MAX_CANON___412 = 1,
    _PC_MAX_INPUT___412 = 2,
    _PC_NAME_MAX___412 = 3,
    _PC_PATH_MAX___412 = 4,
    _PC_PIPE_BUF___412 = 5,
    _PC_CHOWN_RESTRICTED___412 = 6,
    _PC_NO_TRUNC___412 = 7,
    _PC_VDISABLE___412 = 8,
    _PC_SYNC_IO___412 = 9,
    _PC_ASYNC_IO___412 = 10,
    _PC_PRIO_IO___412 = 11,
    _PC_SOCK_MAXBUF___412 = 12,
    _PC_FILESIZEBITS___412 = 13,
    _PC_REC_INCR_XFER_SIZE___412 = 14,
    _PC_REC_MAX_XFER_SIZE___412 = 15,
    _PC_REC_MIN_XFER_SIZE___412 = 16,
    _PC_REC_XFER_ALIGN___412 = 17,
    _PC_ALLOC_SIZE_MIN___412 = 18,
    _PC_SYMLINK_MAX___412 = 19,
    _PC_2_SYMLINKS___412 = 20
} ;
enum __anonenum_315186338___412 {
    _SC_ARG_MAX___412 = 0,
    _SC_CHILD_MAX___412 = 1,
    _SC_CLK_TCK___412 = 2,
    _SC_NGROUPS_MAX___412 = 3,
    _SC_OPEN_MAX___412 = 4,
    _SC_STREAM_MAX___412 = 5,
    _SC_TZNAME_MAX___412 = 6,
    _SC_JOB_CONTROL___412 = 7,
    _SC_SAVED_IDS___412 = 8,
    _SC_REALTIME_SIGNALS___412 = 9,
    _SC_PRIORITY_SCHEDULING___412 = 10,
    _SC_TIMERS___412 = 11,
    _SC_ASYNCHRONOUS_IO___412 = 12,
    _SC_PRIORITIZED_IO___412 = 13,
    _SC_SYNCHRONIZED_IO___412 = 14,
    _SC_FSYNC___412 = 15,
    _SC_MAPPED_FILES___412 = 16,
    _SC_MEMLOCK___412 = 17,
    _SC_MEMLOCK_RANGE___412 = 18,
    _SC_MEMORY_PROTECTION___412 = 19,
    _SC_MESSAGE_PASSING___412 = 20,
    _SC_SEMAPHORES___412 = 21,
    _SC_SHARED_MEMORY_OBJECTS___412 = 22,
    _SC_AIO_LISTIO_MAX___412 = 23,
    _SC_AIO_MAX___412 = 24,
    _SC_AIO_PRIO_DELTA_MAX___412 = 25,
    _SC_DELAYTIMER_MAX___412 = 26,
    _SC_MQ_OPEN_MAX___412 = 27,
    _SC_MQ_PRIO_MAX___412 = 28,
    _SC_VERSION___412 = 29,
    _SC_PAGESIZE___412 = 30,
    _SC_RTSIG_MAX___412 = 31,
    _SC_SEM_NSEMS_MAX___412 = 32,
    _SC_SEM_VALUE_MAX___412 = 33,
    _SC_SIGQUEUE_MAX___412 = 34,
    _SC_TIMER_MAX___412 = 35,
    _SC_BC_BASE_MAX___412 = 36,
    _SC_BC_DIM_MAX___412 = 37,
    _SC_BC_SCALE_MAX___412 = 38,
    _SC_BC_STRING_MAX___412 = 39,
    _SC_COLL_WEIGHTS_MAX___412 = 40,
    _SC_EQUIV_CLASS_MAX___412 = 41,
    _SC_EXPR_NEST_MAX___412 = 42,
    _SC_LINE_MAX___412 = 43,
    _SC_RE_DUP_MAX___412 = 44,
    _SC_CHARCLASS_NAME_MAX___412 = 45,
    _SC_2_VERSION___412 = 46,
    _SC_2_C_BIND___412 = 47,
    _SC_2_C_DEV___412 = 48,
    _SC_2_FORT_DEV___412 = 49,
    _SC_2_FORT_RUN___412 = 50,
    _SC_2_SW_DEV___412 = 51,
    _SC_2_LOCALEDEF___412 = 52,
    _SC_PII___412 = 53,
    _SC_PII_XTI___412 = 54,
    _SC_PII_SOCKET___412 = 55,
    _SC_PII_INTERNET___412 = 56,
    _SC_PII_OSI___412 = 57,
    _SC_POLL___412 = 58,
    _SC_SELECT___412 = 59,
    _SC_UIO_MAXIOV___412 = 60,
    _SC_IOV_MAX___412 = 60,
    _SC_PII_INTERNET_STREAM___412 = 61,
    _SC_PII_INTERNET_DGRAM___412 = 62,
    _SC_PII_OSI_COTS___412 = 63,
    _SC_PII_OSI_CLTS___412 = 64,
    _SC_PII_OSI_M___412 = 65,
    _SC_T_IOV_MAX___412 = 66,
    _SC_THREADS___412 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___412 = 68,
    _SC_GETGR_R_SIZE_MAX___412 = 69,
    _SC_GETPW_R_SIZE_MAX___412 = 70,
    _SC_LOGIN_NAME_MAX___412 = 71,
    _SC_TTY_NAME_MAX___412 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___412 = 73,
    _SC_THREAD_KEYS_MAX___412 = 74,
    _SC_THREAD_STACK_MIN___412 = 75,
    _SC_THREAD_THREADS_MAX___412 = 76,
    _SC_THREAD_ATTR_STACKADDR___412 = 77,
    _SC_THREAD_ATTR_STACKSIZE___412 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___412 = 79,
    _SC_THREAD_PRIO_INHERIT___412 = 80,
    _SC_THREAD_PRIO_PROTECT___412 = 81,
    _SC_THREAD_PROCESS_SHARED___412 = 82,
    _SC_NPROCESSORS_CONF___412 = 83,
    _SC_NPROCESSORS_ONLN___412 = 84,
    _SC_PHYS_PAGES___412 = 85,
    _SC_AVPHYS_PAGES___412 = 86,
    _SC_ATEXIT_MAX___412 = 87,
    _SC_PASS_MAX___412 = 88,
    _SC_XOPEN_VERSION___412 = 89,
    _SC_XOPEN_XCU_VERSION___412 = 90,
    _SC_XOPEN_UNIX___412 = 91,
    _SC_XOPEN_CRYPT___412 = 92,
    _SC_XOPEN_ENH_I18N___412 = 93,
    _SC_XOPEN_SHM___412 = 94,
    _SC_2_CHAR_TERM___412 = 95,
    _SC_2_C_VERSION___412 = 96,
    _SC_2_UPE___412 = 97,
    _SC_XOPEN_XPG2___412 = 98,
    _SC_XOPEN_XPG3___412 = 99,
    _SC_XOPEN_XPG4___412 = 100,
    _SC_CHAR_BIT___412 = 101,
    _SC_CHAR_MAX___412 = 102,
    _SC_CHAR_MIN___412 = 103,
    _SC_INT_MAX___412 = 104,
    _SC_INT_MIN___412 = 105,
    _SC_LONG_BIT___412 = 106,
    _SC_WORD_BIT___412 = 107,
    _SC_MB_LEN_MAX___412 = 108,
    _SC_NZERO___412 = 109,
    _SC_SSIZE_MAX___412 = 110,
    _SC_SCHAR_MAX___412 = 111,
    _SC_SCHAR_MIN___412 = 112,
    _SC_SHRT_MAX___412 = 113,
    _SC_SHRT_MIN___412 = 114,
    _SC_UCHAR_MAX___412 = 115,
    _SC_UINT_MAX___412 = 116,
    _SC_ULONG_MAX___412 = 117,
    _SC_USHRT_MAX___412 = 118,
    _SC_NL_ARGMAX___412 = 119,
    _SC_NL_LANGMAX___412 = 120,
    _SC_NL_MSGMAX___412 = 121,
    _SC_NL_NMAX___412 = 122,
    _SC_NL_SETMAX___412 = 123,
    _SC_NL_TEXTMAX___412 = 124,
    _SC_XBS5_ILP32_OFF32___412 = 125,
    _SC_XBS5_ILP32_OFFBIG___412 = 126,
    _SC_XBS5_LP64_OFF64___412 = 127,
    _SC_XBS5_LPBIG_OFFBIG___412 = 128,
    _SC_XOPEN_LEGACY___412 = 129,
    _SC_XOPEN_REALTIME___412 = 130,
    _SC_XOPEN_REALTIME_THREADS___412 = 131,
    _SC_ADVISORY_INFO___412 = 132,
    _SC_BARRIERS___412 = 133,
    _SC_BASE___412 = 134,
    _SC_C_LANG_SUPPORT___412 = 135,
    _SC_C_LANG_SUPPORT_R___412 = 136,
    _SC_CLOCK_SELECTION___412 = 137,
    _SC_CPUTIME___412 = 138,
    _SC_THREAD_CPUTIME___412 = 139,
    _SC_DEVICE_IO___412 = 140,
    _SC_DEVICE_SPECIFIC___412 = 141,
    _SC_DEVICE_SPECIFIC_R___412 = 142,
    _SC_FD_MGMT___412 = 143,
    _SC_FIFO___412 = 144,
    _SC_PIPE___412 = 145,
    _SC_FILE_ATTRIBUTES___412 = 146,
    _SC_FILE_LOCKING___412 = 147,
    _SC_FILE_SYSTEM___412 = 148,
    _SC_MONOTONIC_CLOCK___412 = 149,
    _SC_MULTI_PROCESS___412 = 150,
    _SC_SINGLE_PROCESS___412 = 151,
    _SC_NETWORKING___412 = 152,
    _SC_READER_WRITER_LOCKS___412 = 153,
    _SC_SPIN_LOCKS___412 = 154,
    _SC_REGEXP___412 = 155,
    _SC_REGEX_VERSION___412 = 156,
    _SC_SHELL___412 = 157,
    _SC_SIGNALS___412 = 158,
    _SC_SPAWN___412 = 159,
    _SC_SPORADIC_SERVER___412 = 160,
    _SC_THREAD_SPORADIC_SERVER___412 = 161,
    _SC_SYSTEM_DATABASE___412 = 162,
    _SC_SYSTEM_DATABASE_R___412 = 163,
    _SC_TIMEOUTS___412 = 164,
    _SC_TYPED_MEMORY_OBJECTS___412 = 165,
    _SC_USER_GROUPS___412 = 166,
    _SC_USER_GROUPS_R___412 = 167,
    _SC_2_PBS___412 = 168,
    _SC_2_PBS_ACCOUNTING___412 = 169,
    _SC_2_PBS_LOCATE___412 = 170,
    _SC_2_PBS_MESSAGE___412 = 171,
    _SC_2_PBS_TRACK___412 = 172,
    _SC_SYMLOOP_MAX___412 = 173,
    _SC_STREAMS___412 = 174,
    _SC_2_PBS_CHECKPOINT___412 = 175,
    _SC_V6_ILP32_OFF32___412 = 176,
    _SC_V6_ILP32_OFFBIG___412 = 177,
    _SC_V6_LP64_OFF64___412 = 178,
    _SC_V6_LPBIG_OFFBIG___412 = 179,
    _SC_HOST_NAME_MAX___412 = 180,
    _SC_TRACE___412 = 181,
    _SC_TRACE_EVENT_FILTER___412 = 182,
    _SC_TRACE_INHERIT___412 = 183,
    _SC_TRACE_LOG___412 = 184,
    _SC_LEVEL1_ICACHE_SIZE___412 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___412 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___412 = 187,
    _SC_LEVEL1_DCACHE_SIZE___412 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___412 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___412 = 190,
    _SC_LEVEL2_CACHE_SIZE___412 = 191,
    _SC_LEVEL2_CACHE_ASSOC___412 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___412 = 193,
    _SC_LEVEL3_CACHE_SIZE___412 = 194,
    _SC_LEVEL3_CACHE_ASSOC___412 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___412 = 196,
    _SC_LEVEL4_CACHE_SIZE___412 = 197,
    _SC_LEVEL4_CACHE_ASSOC___412 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___412 = 199,
    _SC_IPV6___412 = 235,
    _SC_RAW_SOCKETS___412 = 236,
    _SC_V7_ILP32_OFF32___412 = 237,
    _SC_V7_ILP32_OFFBIG___412 = 238,
    _SC_V7_LP64_OFF64___412 = 239,
    _SC_V7_LPBIG_OFFBIG___412 = 240,
    _SC_SS_REPL_MAX___412 = 241,
    _SC_TRACE_EVENT_NAME_MAX___412 = 242,
    _SC_TRACE_NAME_MAX___412 = 243,
    _SC_TRACE_SYS_MAX___412 = 244,
    _SC_TRACE_USER_EVENT_MAX___412 = 245,
    _SC_XOPEN_STREAMS___412 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___412 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___412 = 248
} ;
enum __anonenum_875524036___412 {
    _CS_PATH___412 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___412 = 1,
    _CS_GNU_LIBC_VERSION___412 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___412 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___412 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___412 = 5,
    _CS_LFS_CFLAGS___412 = 1000,
    _CS_LFS_LDFLAGS___412 = 1001,
    _CS_LFS_LIBS___412 = 1002,
    _CS_LFS_LINTFLAGS___412 = 1003,
    _CS_LFS64_CFLAGS___412 = 1004,
    _CS_LFS64_LDFLAGS___412 = 1005,
    _CS_LFS64_LIBS___412 = 1006,
    _CS_LFS64_LINTFLAGS___412 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___412 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___412 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___412 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___412 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___412 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___412 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___412 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___412 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___412 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___412 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___412 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___412 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___412 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___412 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___412 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___412 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___412 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___412 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___412 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___412 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___412 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___412 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___412 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___412 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___412 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___412 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___412 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___412 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___412 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___412 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___412 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___412 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___412 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___412 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___412 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___412 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___412 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___412 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___412 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___412 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___412 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___412 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___412 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___412 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___412 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___412 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___412 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___412 = 1147,
    _CS_V6_ENV___412 = 1148,
    _CS_V7_ENV___412 = 1149
} ;
enum __anonenum_513775621___412 {
    DT_UNKNOWN___412 = 0,
    DT_FIFO___412 = 1,
    DT_CHR___412 = 2,
    DT_DIR___412 = 4,
    DT_BLK___412 = 6,
    DT_REG___412 = 8,
    DT_LNK___412 = 10,
    DT_SOCK___412 = 12,
    DT_WHT___412 = 14
} ;
enum __anonenum_77002343___412 {
    SI_ASYNCNL___412 = -60,
    SI_TKILL___412 = -6,
    SI_SIGIO___412 = -5,
    SI_ASYNCIO___412 = -4,
    SI_MESGQ___412 = -3,
    SI_TIMER___412 = -2,
    SI_QUEUE___412 = -1,
    SI_USER___412 = 0,
    SI_KERNEL___412 = 128
} ;
enum __anonenum_131038172___412 {
    ILL_ILLOPC___412 = 1,
    ILL_ILLOPN___412 = 2,
    ILL_ILLADR___412 = 3,
    ILL_ILLTRP___412 = 4,
    ILL_PRVOPC___412 = 5,
    ILL_PRVREG___412 = 6,
    ILL_COPROC___412 = 7,
    ILL_BADSTK___412 = 8
} ;
enum __anonenum_452038093___412 {
    FPE_INTDIV___412 = 1,
    FPE_INTOVF___412 = 2,
    FPE_FLTDIV___412 = 3,
    FPE_FLTOVF___412 = 4,
    FPE_FLTUND___412 = 5,
    FPE_FLTRES___412 = 6,
    FPE_FLTINV___412 = 7,
    FPE_FLTSUB___412 = 8
} ;
enum __anonenum_30976155___412 {
    SEGV_MAPERR___412 = 1,
    SEGV_ACCERR___412 = 2,
    SEGV_BNDERR___412 = 3,
    SEGV_PKUERR___412 = 4
} ;
enum __anonenum_1036286214___412 {
    BUS_ADRALN___412 = 1,
    BUS_ADRERR___412 = 2,
    BUS_OBJERR___412 = 3,
    BUS_MCEERR_AR___412 = 4,
    BUS_MCEERR_AO___412 = 5
} ;
enum __anonenum_493465559___412 {
    TRAP_BRKPT___412 = 1,
    TRAP_TRACE___412 = 2
} ;
enum __anonenum_23175539___412 {
    CLD_EXITED___412 = 1,
    CLD_KILLED___412 = 2,
    CLD_DUMPED___412 = 3,
    CLD_TRAPPED___412 = 4,
    CLD_STOPPED___412 = 5,
    CLD_CONTINUED___412 = 6
} ;
enum __anonenum_111643124___412 {
    POLL_IN___412 = 1,
    POLL_OUT___412 = 2,
    POLL_MSG___412 = 3,
    POLL_ERR___412 = 4,
    POLL_PRI___412 = 5,
    POLL_HUP___412 = 6
} ;
enum __anonenum_852341087___412 {
    SIGEV_SIGNAL___412 = 0,
    SIGEV_NONE___412 = 1,
    SIGEV_THREAD___412 = 2,
    SIGEV_THREAD_ID___412 = 4
} ;
enum __anonenum_451154152___412 {
    REG_R8___412 = 0,
    REG_R9___412 = 1,
    REG_R10___412 = 2,
    REG_R11___412 = 3,
    REG_R12___412 = 4,
    REG_R13___412 = 5,
    REG_R14___412 = 6,
    REG_R15___412 = 7,
    REG_RDI___412 = 8,
    REG_RSI___412 = 9,
    REG_RBP___412 = 10,
    REG_RBX___412 = 11,
    REG_RDX___412 = 12,
    REG_RAX___412 = 13,
    REG_RCX___412 = 14,
    REG_RSP___412 = 15,
    REG_RIP___412 = 16,
    REG_EFL___412 = 17,
    REG_CSGSFS___412 = 18,
    REG_ERR___412 = 19,
    REG_TRAPNO___412 = 20,
    REG_OLDMASK___412 = 21,
    REG_CR2___412 = 22
} ;
enum __anonenum_57186863___412 {
    SS_ONSTACK___412 = 1,
    SS_DISABLE___412 = 2
} ;
enum __anonenum_83571709___412 {
    MSG_OOB___412 = 1,
    MSG_PEEK___412 = 2,
    MSG_DONTROUTE___412 = 4,
    MSG_TRYHARD___412 = 4,
    MSG_CTRUNC___412 = 8,
    MSG_PROXY___412 = 16,
    MSG_TRUNC___412 = 32,
    MSG_DONTWAIT___412 = 64,
    MSG_EOR___412 = 128,
    MSG_WAITALL___412 = 256,
    MSG_FIN___412 = 512,
    MSG_SYN___412 = 1024,
    MSG_CONFIRM___412 = 2048,
    MSG_RST___412 = 4096,
    MSG_ERRQUEUE___412 = 8192,
    MSG_NOSIGNAL___412 = 16384,
    MSG_MORE___412 = 32768,
    MSG_WAITFORONE___412 = 65536,
    MSG_BATCH___412 = 262144,
    MSG_ZEROCOPY___412 = 67108864,
    MSG_FASTOPEN___412 = 536870912,
    MSG_CMSG_CLOEXEC___412 = 1073741824
} ;
enum __anonenum_617082774___412 {
    SCM_RIGHTS___412 = 1,
    SCM_CREDENTIALS___412 = 2
} ;
enum __anonenum_606441560___412 {
    SHUT_RD___412 = 0,
    SHUT_WR___412 = 1,
    SHUT_RDWR___412 = 2
} ;
enum __anonenum_681669233___412 {
    IPPROTO_IP___412 = 0,
    IPPROTO_ICMP___412 = 1,
    IPPROTO_IGMP___412 = 2,
    IPPROTO_IPIP___412 = 4,
    IPPROTO_TCP___412 = 6,
    IPPROTO_EGP___412 = 8,
    IPPROTO_PUP___412 = 12,
    IPPROTO_UDP___412 = 17,
    IPPROTO_IDP___412 = 22,
    IPPROTO_TP___412 = 29,
    IPPROTO_DCCP___412 = 33,
    IPPROTO_IPV6___412 = 41,
    IPPROTO_RSVP___412 = 46,
    IPPROTO_GRE___412 = 47,
    IPPROTO_ESP___412 = 50,
    IPPROTO_AH___412 = 51,
    IPPROTO_MTP___412 = 92,
    IPPROTO_BEETPH___412 = 94,
    IPPROTO_ENCAP___412 = 98,
    IPPROTO_PIM___412 = 103,
    IPPROTO_COMP___412 = 108,
    IPPROTO_SCTP___412 = 132,
    IPPROTO_UDPLITE___412 = 136,
    IPPROTO_MPLS___412 = 137,
    IPPROTO_RAW___412 = 255,
    IPPROTO_MAX___412 = 256
} ;
enum __anonenum_218739988___412 {
    IPPROTO_HOPOPTS___412 = 0,
    IPPROTO_ROUTING___412 = 43,
    IPPROTO_FRAGMENT___412 = 44,
    IPPROTO_ICMPV6___412 = 58,
    IPPROTO_NONE___412 = 59,
    IPPROTO_DSTOPTS___412 = 60,
    IPPROTO_MH___412 = 135
} ;
enum __anonenum_662268580___412 {
    IPPORT_ECHO___412 = 7,
    IPPORT_DISCARD___412 = 9,
    IPPORT_SYSTAT___412 = 11,
    IPPORT_DAYTIME___412 = 13,
    IPPORT_NETSTAT___412 = 15,
    IPPORT_FTP___412 = 21,
    IPPORT_TELNET___412 = 23,
    IPPORT_SMTP___412 = 25,
    IPPORT_TIMESERVER___412 = 37,
    IPPORT_NAMESERVER___412 = 42,
    IPPORT_WHOIS___412 = 43,
    IPPORT_MTP___412 = 57,
    IPPORT_TFTP___412 = 69,
    IPPORT_RJE___412 = 77,
    IPPORT_FINGER___412 = 79,
    IPPORT_TTYLINK___412 = 87,
    IPPORT_SUPDUP___412 = 95,
    IPPORT_EXECSERVER___412 = 512,
    IPPORT_LOGINSERVER___412 = 513,
    IPPORT_CMDSERVER___412 = 514,
    IPPORT_EFSSERVER___412 = 520,
    IPPORT_BIFFUDP___412 = 512,
    IPPORT_WHOSERVER___412 = 513,
    IPPORT_ROUTESERVER___412 = 520,
    IPPORT_RESERVED___412 = 1024,
    IPPORT_USERRESERVED___412 = 5000
} ;
enum __anonenum_788308992___412 {
    TCP_ESTABLISHED___412 = 1,
    TCP_SYN_SENT___412 = 2,
    TCP_SYN_RECV___412 = 3,
    TCP_FIN_WAIT1___412 = 4,
    TCP_FIN_WAIT2___412 = 5,
    TCP_TIME_WAIT___412 = 6,
    TCP_CLOSE___412 = 7,
    TCP_CLOSE_WAIT___412 = 8,
    TCP_LAST_ACK___412 = 9,
    TCP_LISTEN___412 = 10,
    TCP_CLOSING___412 = 11
} ;
enum __anonenum_221125648___412 {
    TCP_NO_QUEUE___412 = 0,
    TCP_RECV_QUEUE___412 = 1,
    TCP_SEND_QUEUE___412 = 2,
    TCP_QUEUES_NR___412 = 3
} ;
enum __anonenum_34415463___412 {
    PTHREAD_CREATE_JOINABLE___412 = 0,
    PTHREAD_CREATE_DETACHED___412 = 1
} ;
enum __anonenum_303612439___412 {
    PTHREAD_MUTEX_TIMED_NP___412 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___412 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___412 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___412 = 3,
    PTHREAD_MUTEX_NORMAL___412 = 0,
    PTHREAD_MUTEX_RECURSIVE___412 = 1,
    PTHREAD_MUTEX_ERRORCHECK___412 = 2,
    PTHREAD_MUTEX_DEFAULT___412 = 0,
    PTHREAD_MUTEX_FAST_NP___412 = 0
} ;
enum __anonenum_931900394___412 {
    PTHREAD_MUTEX_STALLED___412 = 0,
    PTHREAD_MUTEX_STALLED_NP___412 = 0,
    PTHREAD_MUTEX_ROBUST___412 = 1,
    PTHREAD_MUTEX_ROBUST_NP___412 = 1
} ;
enum __anonenum_205214487___412 {
    PTHREAD_PRIO_NONE___412 = 0,
    PTHREAD_PRIO_INHERIT___412 = 1,
    PTHREAD_PRIO_PROTECT___412 = 2
} ;
enum __anonenum_25043950___412 {
    PTHREAD_RWLOCK_PREFER_READER_NP___412 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___412 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___412 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___412 = 0
} ;
enum __anonenum_436439511___412 {
    PTHREAD_INHERIT_SCHED___412 = 0,
    PTHREAD_EXPLICIT_SCHED___412 = 1
} ;
enum __anonenum_998661166___412 {
    PTHREAD_SCOPE_SYSTEM___412 = 0,
    PTHREAD_SCOPE_PROCESS___412 = 1
} ;
enum __anonenum_146137331___412 {
    PTHREAD_PROCESS_PRIVATE___412 = 0,
    PTHREAD_PROCESS_SHARED___412 = 1
} ;
enum __anonenum_53396917___412 {
    PTHREAD_CANCEL_ENABLE___412 = 0,
    PTHREAD_CANCEL_DISABLE___412 = 1
} ;
enum __anonenum_904563783___412 {
    PTHREAD_CANCEL_DEFERRED___412 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___412 = 1
} ;
enum __anonenum_672052974___412 {
    SSL_CT_VALIDATION_PERMISSIVE___412 = 0,
    SSL_CT_VALIDATION_STRICT___412 = 1
} ;
enum __anonenum_437032235___413 {
    _PC_LINK_MAX___413 = 0,
    _PC_MAX_CANON___413 = 1,
    _PC_MAX_INPUT___413 = 2,
    _PC_NAME_MAX___413 = 3,
    _PC_PATH_MAX___413 = 4,
    _PC_PIPE_BUF___413 = 5,
    _PC_CHOWN_RESTRICTED___413 = 6,
    _PC_NO_TRUNC___413 = 7,
    _PC_VDISABLE___413 = 8,
    _PC_SYNC_IO___413 = 9,
    _PC_ASYNC_IO___413 = 10,
    _PC_PRIO_IO___413 = 11,
    _PC_SOCK_MAXBUF___413 = 12,
    _PC_FILESIZEBITS___413 = 13,
    _PC_REC_INCR_XFER_SIZE___413 = 14,
    _PC_REC_MAX_XFER_SIZE___413 = 15,
    _PC_REC_MIN_XFER_SIZE___413 = 16,
    _PC_REC_XFER_ALIGN___413 = 17,
    _PC_ALLOC_SIZE_MIN___413 = 18,
    _PC_SYMLINK_MAX___413 = 19,
    _PC_2_SYMLINKS___413 = 20
} ;
enum __anonenum_315186338___413 {
    _SC_ARG_MAX___413 = 0,
    _SC_CHILD_MAX___413 = 1,
    _SC_CLK_TCK___413 = 2,
    _SC_NGROUPS_MAX___413 = 3,
    _SC_OPEN_MAX___413 = 4,
    _SC_STREAM_MAX___413 = 5,
    _SC_TZNAME_MAX___413 = 6,
    _SC_JOB_CONTROL___413 = 7,
    _SC_SAVED_IDS___413 = 8,
    _SC_REALTIME_SIGNALS___413 = 9,
    _SC_PRIORITY_SCHEDULING___413 = 10,
    _SC_TIMERS___413 = 11,
    _SC_ASYNCHRONOUS_IO___413 = 12,
    _SC_PRIORITIZED_IO___413 = 13,
    _SC_SYNCHRONIZED_IO___413 = 14,
    _SC_FSYNC___413 = 15,
    _SC_MAPPED_FILES___413 = 16,
    _SC_MEMLOCK___413 = 17,
    _SC_MEMLOCK_RANGE___413 = 18,
    _SC_MEMORY_PROTECTION___413 = 19,
    _SC_MESSAGE_PASSING___413 = 20,
    _SC_SEMAPHORES___413 = 21,
    _SC_SHARED_MEMORY_OBJECTS___413 = 22,
    _SC_AIO_LISTIO_MAX___413 = 23,
    _SC_AIO_MAX___413 = 24,
    _SC_AIO_PRIO_DELTA_MAX___413 = 25,
    _SC_DELAYTIMER_MAX___413 = 26,
    _SC_MQ_OPEN_MAX___413 = 27,
    _SC_MQ_PRIO_MAX___413 = 28,
    _SC_VERSION___413 = 29,
    _SC_PAGESIZE___413 = 30,
    _SC_RTSIG_MAX___413 = 31,
    _SC_SEM_NSEMS_MAX___413 = 32,
    _SC_SEM_VALUE_MAX___413 = 33,
    _SC_SIGQUEUE_MAX___413 = 34,
    _SC_TIMER_MAX___413 = 35,
    _SC_BC_BASE_MAX___413 = 36,
    _SC_BC_DIM_MAX___413 = 37,
    _SC_BC_SCALE_MAX___413 = 38,
    _SC_BC_STRING_MAX___413 = 39,
    _SC_COLL_WEIGHTS_MAX___413 = 40,
    _SC_EQUIV_CLASS_MAX___413 = 41,
    _SC_EXPR_NEST_MAX___413 = 42,
    _SC_LINE_MAX___413 = 43,
    _SC_RE_DUP_MAX___413 = 44,
    _SC_CHARCLASS_NAME_MAX___413 = 45,
    _SC_2_VERSION___413 = 46,
    _SC_2_C_BIND___413 = 47,
    _SC_2_C_DEV___413 = 48,
    _SC_2_FORT_DEV___413 = 49,
    _SC_2_FORT_RUN___413 = 50,
    _SC_2_SW_DEV___413 = 51,
    _SC_2_LOCALEDEF___413 = 52,
    _SC_PII___413 = 53,
    _SC_PII_XTI___413 = 54,
    _SC_PII_SOCKET___413 = 55,
    _SC_PII_INTERNET___413 = 56,
    _SC_PII_OSI___413 = 57,
    _SC_POLL___413 = 58,
    _SC_SELECT___413 = 59,
    _SC_UIO_MAXIOV___413 = 60,
    _SC_IOV_MAX___413 = 60,
    _SC_PII_INTERNET_STREAM___413 = 61,
    _SC_PII_INTERNET_DGRAM___413 = 62,
    _SC_PII_OSI_COTS___413 = 63,
    _SC_PII_OSI_CLTS___413 = 64,
    _SC_PII_OSI_M___413 = 65,
    _SC_T_IOV_MAX___413 = 66,
    _SC_THREADS___413 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___413 = 68,
    _SC_GETGR_R_SIZE_MAX___413 = 69,
    _SC_GETPW_R_SIZE_MAX___413 = 70,
    _SC_LOGIN_NAME_MAX___413 = 71,
    _SC_TTY_NAME_MAX___413 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___413 = 73,
    _SC_THREAD_KEYS_MAX___413 = 74,
    _SC_THREAD_STACK_MIN___413 = 75,
    _SC_THREAD_THREADS_MAX___413 = 76,
    _SC_THREAD_ATTR_STACKADDR___413 = 77,
    _SC_THREAD_ATTR_STACKSIZE___413 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___413 = 79,
    _SC_THREAD_PRIO_INHERIT___413 = 80,
    _SC_THREAD_PRIO_PROTECT___413 = 81,
    _SC_THREAD_PROCESS_SHARED___413 = 82,
    _SC_NPROCESSORS_CONF___413 = 83,
    _SC_NPROCESSORS_ONLN___413 = 84,
    _SC_PHYS_PAGES___413 = 85,
    _SC_AVPHYS_PAGES___413 = 86,
    _SC_ATEXIT_MAX___413 = 87,
    _SC_PASS_MAX___413 = 88,
    _SC_XOPEN_VERSION___413 = 89,
    _SC_XOPEN_XCU_VERSION___413 = 90,
    _SC_XOPEN_UNIX___413 = 91,
    _SC_XOPEN_CRYPT___413 = 92,
    _SC_XOPEN_ENH_I18N___413 = 93,
    _SC_XOPEN_SHM___413 = 94,
    _SC_2_CHAR_TERM___413 = 95,
    _SC_2_C_VERSION___413 = 96,
    _SC_2_UPE___413 = 97,
    _SC_XOPEN_XPG2___413 = 98,
    _SC_XOPEN_XPG3___413 = 99,
    _SC_XOPEN_XPG4___413 = 100,
    _SC_CHAR_BIT___413 = 101,
    _SC_CHAR_MAX___413 = 102,
    _SC_CHAR_MIN___413 = 103,
    _SC_INT_MAX___413 = 104,
    _SC_INT_MIN___413 = 105,
    _SC_LONG_BIT___413 = 106,
    _SC_WORD_BIT___413 = 107,
    _SC_MB_LEN_MAX___413 = 108,
    _SC_NZERO___413 = 109,
    _SC_SSIZE_MAX___413 = 110,
    _SC_SCHAR_MAX___413 = 111,
    _SC_SCHAR_MIN___413 = 112,
    _SC_SHRT_MAX___413 = 113,
    _SC_SHRT_MIN___413 = 114,
    _SC_UCHAR_MAX___413 = 115,
    _SC_UINT_MAX___413 = 116,
    _SC_ULONG_MAX___413 = 117,
    _SC_USHRT_MAX___413 = 118,
    _SC_NL_ARGMAX___413 = 119,
    _SC_NL_LANGMAX___413 = 120,
    _SC_NL_MSGMAX___413 = 121,
    _SC_NL_NMAX___413 = 122,
    _SC_NL_SETMAX___413 = 123,
    _SC_NL_TEXTMAX___413 = 124,
    _SC_XBS5_ILP32_OFF32___413 = 125,
    _SC_XBS5_ILP32_OFFBIG___413 = 126,
    _SC_XBS5_LP64_OFF64___413 = 127,
    _SC_XBS5_LPBIG_OFFBIG___413 = 128,
    _SC_XOPEN_LEGACY___413 = 129,
    _SC_XOPEN_REALTIME___413 = 130,
    _SC_XOPEN_REALTIME_THREADS___413 = 131,
    _SC_ADVISORY_INFO___413 = 132,
    _SC_BARRIERS___413 = 133,
    _SC_BASE___413 = 134,
    _SC_C_LANG_SUPPORT___413 = 135,
    _SC_C_LANG_SUPPORT_R___413 = 136,
    _SC_CLOCK_SELECTION___413 = 137,
    _SC_CPUTIME___413 = 138,
    _SC_THREAD_CPUTIME___413 = 139,
    _SC_DEVICE_IO___413 = 140,
    _SC_DEVICE_SPECIFIC___413 = 141,
    _SC_DEVICE_SPECIFIC_R___413 = 142,
    _SC_FD_MGMT___413 = 143,
    _SC_FIFO___413 = 144,
    _SC_PIPE___413 = 145,
    _SC_FILE_ATTRIBUTES___413 = 146,
    _SC_FILE_LOCKING___413 = 147,
    _SC_FILE_SYSTEM___413 = 148,
    _SC_MONOTONIC_CLOCK___413 = 149,
    _SC_MULTI_PROCESS___413 = 150,
    _SC_SINGLE_PROCESS___413 = 151,
    _SC_NETWORKING___413 = 152,
    _SC_READER_WRITER_LOCKS___413 = 153,
    _SC_SPIN_LOCKS___413 = 154,
    _SC_REGEXP___413 = 155,
    _SC_REGEX_VERSION___413 = 156,
    _SC_SHELL___413 = 157,
    _SC_SIGNALS___413 = 158,
    _SC_SPAWN___413 = 159,
    _SC_SPORADIC_SERVER___413 = 160,
    _SC_THREAD_SPORADIC_SERVER___413 = 161,
    _SC_SYSTEM_DATABASE___413 = 162,
    _SC_SYSTEM_DATABASE_R___413 = 163,
    _SC_TIMEOUTS___413 = 164,
    _SC_TYPED_MEMORY_OBJECTS___413 = 165,
    _SC_USER_GROUPS___413 = 166,
    _SC_USER_GROUPS_R___413 = 167,
    _SC_2_PBS___413 = 168,
    _SC_2_PBS_ACCOUNTING___413 = 169,
    _SC_2_PBS_LOCATE___413 = 170,
    _SC_2_PBS_MESSAGE___413 = 171,
    _SC_2_PBS_TRACK___413 = 172,
    _SC_SYMLOOP_MAX___413 = 173,
    _SC_STREAMS___413 = 174,
    _SC_2_PBS_CHECKPOINT___413 = 175,
    _SC_V6_ILP32_OFF32___413 = 176,
    _SC_V6_ILP32_OFFBIG___413 = 177,
    _SC_V6_LP64_OFF64___413 = 178,
    _SC_V6_LPBIG_OFFBIG___413 = 179,
    _SC_HOST_NAME_MAX___413 = 180,
    _SC_TRACE___413 = 181,
    _SC_TRACE_EVENT_FILTER___413 = 182,
    _SC_TRACE_INHERIT___413 = 183,
    _SC_TRACE_LOG___413 = 184,
    _SC_LEVEL1_ICACHE_SIZE___413 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___413 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___413 = 187,
    _SC_LEVEL1_DCACHE_SIZE___413 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___413 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___413 = 190,
    _SC_LEVEL2_CACHE_SIZE___413 = 191,
    _SC_LEVEL2_CACHE_ASSOC___413 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___413 = 193,
    _SC_LEVEL3_CACHE_SIZE___413 = 194,
    _SC_LEVEL3_CACHE_ASSOC___413 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___413 = 196,
    _SC_LEVEL4_CACHE_SIZE___413 = 197,
    _SC_LEVEL4_CACHE_ASSOC___413 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___413 = 199,
    _SC_IPV6___413 = 235,
    _SC_RAW_SOCKETS___413 = 236,
    _SC_V7_ILP32_OFF32___413 = 237,
    _SC_V7_ILP32_OFFBIG___413 = 238,
    _SC_V7_LP64_OFF64___413 = 239,
    _SC_V7_LPBIG_OFFBIG___413 = 240,
    _SC_SS_REPL_MAX___413 = 241,
    _SC_TRACE_EVENT_NAME_MAX___413 = 242,
    _SC_TRACE_NAME_MAX___413 = 243,
    _SC_TRACE_SYS_MAX___413 = 244,
    _SC_TRACE_USER_EVENT_MAX___413 = 245,
    _SC_XOPEN_STREAMS___413 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___413 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___413 = 248
} ;
enum __anonenum_875524036___413 {
    _CS_PATH___413 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___413 = 1,
    _CS_GNU_LIBC_VERSION___413 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___413 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___413 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___413 = 5,
    _CS_LFS_CFLAGS___413 = 1000,
    _CS_LFS_LDFLAGS___413 = 1001,
    _CS_LFS_LIBS___413 = 1002,
    _CS_LFS_LINTFLAGS___413 = 1003,
    _CS_LFS64_CFLAGS___413 = 1004,
    _CS_LFS64_LDFLAGS___413 = 1005,
    _CS_LFS64_LIBS___413 = 1006,
    _CS_LFS64_LINTFLAGS___413 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___413 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___413 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___413 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___413 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___413 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___413 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___413 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___413 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___413 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___413 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___413 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___413 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___413 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___413 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___413 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___413 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___413 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___413 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___413 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___413 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___413 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___413 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___413 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___413 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___413 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___413 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___413 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___413 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___413 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___413 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___413 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___413 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___413 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___413 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___413 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___413 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___413 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___413 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___413 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___413 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___413 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___413 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___413 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___413 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___413 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___413 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___413 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___413 = 1147,
    _CS_V6_ENV___413 = 1148,
    _CS_V7_ENV___413 = 1149
} ;
enum __anonenum_513775621___413 {
    DT_UNKNOWN___413 = 0,
    DT_FIFO___413 = 1,
    DT_CHR___413 = 2,
    DT_DIR___413 = 4,
    DT_BLK___413 = 6,
    DT_REG___413 = 8,
    DT_LNK___413 = 10,
    DT_SOCK___413 = 12,
    DT_WHT___413 = 14
} ;
enum __anonenum_77002343___413 {
    SI_ASYNCNL___413 = -60,
    SI_TKILL___413 = -6,
    SI_SIGIO___413 = -5,
    SI_ASYNCIO___413 = -4,
    SI_MESGQ___413 = -3,
    SI_TIMER___413 = -2,
    SI_QUEUE___413 = -1,
    SI_USER___413 = 0,
    SI_KERNEL___413 = 128
} ;
enum __anonenum_131038172___413 {
    ILL_ILLOPC___413 = 1,
    ILL_ILLOPN___413 = 2,
    ILL_ILLADR___413 = 3,
    ILL_ILLTRP___413 = 4,
    ILL_PRVOPC___413 = 5,
    ILL_PRVREG___413 = 6,
    ILL_COPROC___413 = 7,
    ILL_BADSTK___413 = 8
} ;
enum __anonenum_452038093___413 {
    FPE_INTDIV___413 = 1,
    FPE_INTOVF___413 = 2,
    FPE_FLTDIV___413 = 3,
    FPE_FLTOVF___413 = 4,
    FPE_FLTUND___413 = 5,
    FPE_FLTRES___413 = 6,
    FPE_FLTINV___413 = 7,
    FPE_FLTSUB___413 = 8
} ;
enum __anonenum_30976155___413 {
    SEGV_MAPERR___413 = 1,
    SEGV_ACCERR___413 = 2,
    SEGV_BNDERR___413 = 3,
    SEGV_PKUERR___413 = 4
} ;
enum __anonenum_1036286214___413 {
    BUS_ADRALN___413 = 1,
    BUS_ADRERR___413 = 2,
    BUS_OBJERR___413 = 3,
    BUS_MCEERR_AR___413 = 4,
    BUS_MCEERR_AO___413 = 5
} ;
enum __anonenum_493465559___413 {
    TRAP_BRKPT___413 = 1,
    TRAP_TRACE___413 = 2
} ;
enum __anonenum_23175539___413 {
    CLD_EXITED___413 = 1,
    CLD_KILLED___413 = 2,
    CLD_DUMPED___413 = 3,
    CLD_TRAPPED___413 = 4,
    CLD_STOPPED___413 = 5,
    CLD_CONTINUED___413 = 6
} ;
enum __anonenum_111643124___413 {
    POLL_IN___413 = 1,
    POLL_OUT___413 = 2,
    POLL_MSG___413 = 3,
    POLL_ERR___413 = 4,
    POLL_PRI___413 = 5,
    POLL_HUP___413 = 6
} ;
enum __anonenum_852341087___413 {
    SIGEV_SIGNAL___413 = 0,
    SIGEV_NONE___413 = 1,
    SIGEV_THREAD___413 = 2,
    SIGEV_THREAD_ID___413 = 4
} ;
enum __anonenum_451154152___413 {
    REG_R8___413 = 0,
    REG_R9___413 = 1,
    REG_R10___413 = 2,
    REG_R11___413 = 3,
    REG_R12___413 = 4,
    REG_R13___413 = 5,
    REG_R14___413 = 6,
    REG_R15___413 = 7,
    REG_RDI___413 = 8,
    REG_RSI___413 = 9,
    REG_RBP___413 = 10,
    REG_RBX___413 = 11,
    REG_RDX___413 = 12,
    REG_RAX___413 = 13,
    REG_RCX___413 = 14,
    REG_RSP___413 = 15,
    REG_RIP___413 = 16,
    REG_EFL___413 = 17,
    REG_CSGSFS___413 = 18,
    REG_ERR___413 = 19,
    REG_TRAPNO___413 = 20,
    REG_OLDMASK___413 = 21,
    REG_CR2___413 = 22
} ;
enum __anonenum_57186863___413 {
    SS_ONSTACK___413 = 1,
    SS_DISABLE___413 = 2
} ;
enum __anonenum_83571709___413 {
    MSG_OOB___413 = 1,
    MSG_PEEK___413 = 2,
    MSG_DONTROUTE___413 = 4,
    MSG_TRYHARD___413 = 4,
    MSG_CTRUNC___413 = 8,
    MSG_PROXY___413 = 16,
    MSG_TRUNC___413 = 32,
    MSG_DONTWAIT___413 = 64,
    MSG_EOR___413 = 128,
    MSG_WAITALL___413 = 256,
    MSG_FIN___413 = 512,
    MSG_SYN___413 = 1024,
    MSG_CONFIRM___413 = 2048,
    MSG_RST___413 = 4096,
    MSG_ERRQUEUE___413 = 8192,
    MSG_NOSIGNAL___413 = 16384,
    MSG_MORE___413 = 32768,
    MSG_WAITFORONE___413 = 65536,
    MSG_BATCH___413 = 262144,
    MSG_ZEROCOPY___413 = 67108864,
    MSG_FASTOPEN___413 = 536870912,
    MSG_CMSG_CLOEXEC___413 = 1073741824
} ;
enum __anonenum_617082774___413 {
    SCM_RIGHTS___413 = 1,
    SCM_CREDENTIALS___413 = 2
} ;
enum __anonenum_606441560___413 {
    SHUT_RD___413 = 0,
    SHUT_WR___413 = 1,
    SHUT_RDWR___413 = 2
} ;
enum __anonenum_681669233___413 {
    IPPROTO_IP___413 = 0,
    IPPROTO_ICMP___413 = 1,
    IPPROTO_IGMP___413 = 2,
    IPPROTO_IPIP___413 = 4,
    IPPROTO_TCP___413 = 6,
    IPPROTO_EGP___413 = 8,
    IPPROTO_PUP___413 = 12,
    IPPROTO_UDP___413 = 17,
    IPPROTO_IDP___413 = 22,
    IPPROTO_TP___413 = 29,
    IPPROTO_DCCP___413 = 33,
    IPPROTO_IPV6___413 = 41,
    IPPROTO_RSVP___413 = 46,
    IPPROTO_GRE___413 = 47,
    IPPROTO_ESP___413 = 50,
    IPPROTO_AH___413 = 51,
    IPPROTO_MTP___413 = 92,
    IPPROTO_BEETPH___413 = 94,
    IPPROTO_ENCAP___413 = 98,
    IPPROTO_PIM___413 = 103,
    IPPROTO_COMP___413 = 108,
    IPPROTO_SCTP___413 = 132,
    IPPROTO_UDPLITE___413 = 136,
    IPPROTO_MPLS___413 = 137,
    IPPROTO_RAW___413 = 255,
    IPPROTO_MAX___413 = 256
} ;
enum __anonenum_218739988___413 {
    IPPROTO_HOPOPTS___413 = 0,
    IPPROTO_ROUTING___413 = 43,
    IPPROTO_FRAGMENT___413 = 44,
    IPPROTO_ICMPV6___413 = 58,
    IPPROTO_NONE___413 = 59,
    IPPROTO_DSTOPTS___413 = 60,
    IPPROTO_MH___413 = 135
} ;
enum __anonenum_662268580___413 {
    IPPORT_ECHO___413 = 7,
    IPPORT_DISCARD___413 = 9,
    IPPORT_SYSTAT___413 = 11,
    IPPORT_DAYTIME___413 = 13,
    IPPORT_NETSTAT___413 = 15,
    IPPORT_FTP___413 = 21,
    IPPORT_TELNET___413 = 23,
    IPPORT_SMTP___413 = 25,
    IPPORT_TIMESERVER___413 = 37,
    IPPORT_NAMESERVER___413 = 42,
    IPPORT_WHOIS___413 = 43,
    IPPORT_MTP___413 = 57,
    IPPORT_TFTP___413 = 69,
    IPPORT_RJE___413 = 77,
    IPPORT_FINGER___413 = 79,
    IPPORT_TTYLINK___413 = 87,
    IPPORT_SUPDUP___413 = 95,
    IPPORT_EXECSERVER___413 = 512,
    IPPORT_LOGINSERVER___413 = 513,
    IPPORT_CMDSERVER___413 = 514,
    IPPORT_EFSSERVER___413 = 520,
    IPPORT_BIFFUDP___413 = 512,
    IPPORT_WHOSERVER___413 = 513,
    IPPORT_ROUTESERVER___413 = 520,
    IPPORT_RESERVED___413 = 1024,
    IPPORT_USERRESERVED___413 = 5000
} ;
enum __anonenum_788308992___413 {
    TCP_ESTABLISHED___413 = 1,
    TCP_SYN_SENT___413 = 2,
    TCP_SYN_RECV___413 = 3,
    TCP_FIN_WAIT1___413 = 4,
    TCP_FIN_WAIT2___413 = 5,
    TCP_TIME_WAIT___413 = 6,
    TCP_CLOSE___413 = 7,
    TCP_CLOSE_WAIT___413 = 8,
    TCP_LAST_ACK___413 = 9,
    TCP_LISTEN___413 = 10,
    TCP_CLOSING___413 = 11
} ;
enum __anonenum_221125648___413 {
    TCP_NO_QUEUE___413 = 0,
    TCP_RECV_QUEUE___413 = 1,
    TCP_SEND_QUEUE___413 = 2,
    TCP_QUEUES_NR___413 = 3
} ;
enum __anonenum_34415463___413 {
    PTHREAD_CREATE_JOINABLE___413 = 0,
    PTHREAD_CREATE_DETACHED___413 = 1
} ;
enum __anonenum_303612439___413 {
    PTHREAD_MUTEX_TIMED_NP___413 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___413 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___413 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___413 = 3,
    PTHREAD_MUTEX_NORMAL___413 = 0,
    PTHREAD_MUTEX_RECURSIVE___413 = 1,
    PTHREAD_MUTEX_ERRORCHECK___413 = 2,
    PTHREAD_MUTEX_DEFAULT___413 = 0,
    PTHREAD_MUTEX_FAST_NP___413 = 0
} ;
enum __anonenum_931900394___413 {
    PTHREAD_MUTEX_STALLED___413 = 0,
    PTHREAD_MUTEX_STALLED_NP___413 = 0,
    PTHREAD_MUTEX_ROBUST___413 = 1,
    PTHREAD_MUTEX_ROBUST_NP___413 = 1
} ;
enum __anonenum_205214487___413 {
    PTHREAD_PRIO_NONE___413 = 0,
    PTHREAD_PRIO_INHERIT___413 = 1,
    PTHREAD_PRIO_PROTECT___413 = 2
} ;
enum __anonenum_25043950___413 {
    PTHREAD_RWLOCK_PREFER_READER_NP___413 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___413 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___413 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___413 = 0
} ;
enum __anonenum_436439511___413 {
    PTHREAD_INHERIT_SCHED___413 = 0,
    PTHREAD_EXPLICIT_SCHED___413 = 1
} ;
enum __anonenum_998661166___413 {
    PTHREAD_SCOPE_SYSTEM___413 = 0,
    PTHREAD_SCOPE_PROCESS___413 = 1
} ;
enum __anonenum_146137331___413 {
    PTHREAD_PROCESS_PRIVATE___413 = 0,
    PTHREAD_PROCESS_SHARED___413 = 1
} ;
enum __anonenum_53396917___413 {
    PTHREAD_CANCEL_ENABLE___413 = 0,
    PTHREAD_CANCEL_DISABLE___413 = 1
} ;
enum __anonenum_904563783___413 {
    PTHREAD_CANCEL_DEFERRED___413 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___413 = 1
} ;
enum __anonenum_672052974___413 {
    SSL_CT_VALIDATION_PERMISSIVE___413 = 0,
    SSL_CT_VALIDATION_STRICT___413 = 1
} ;
enum __anonenum_437032235___414 {
    _PC_LINK_MAX___414 = 0,
    _PC_MAX_CANON___414 = 1,
    _PC_MAX_INPUT___414 = 2,
    _PC_NAME_MAX___414 = 3,
    _PC_PATH_MAX___414 = 4,
    _PC_PIPE_BUF___414 = 5,
    _PC_CHOWN_RESTRICTED___414 = 6,
    _PC_NO_TRUNC___414 = 7,
    _PC_VDISABLE___414 = 8,
    _PC_SYNC_IO___414 = 9,
    _PC_ASYNC_IO___414 = 10,
    _PC_PRIO_IO___414 = 11,
    _PC_SOCK_MAXBUF___414 = 12,
    _PC_FILESIZEBITS___414 = 13,
    _PC_REC_INCR_XFER_SIZE___414 = 14,
    _PC_REC_MAX_XFER_SIZE___414 = 15,
    _PC_REC_MIN_XFER_SIZE___414 = 16,
    _PC_REC_XFER_ALIGN___414 = 17,
    _PC_ALLOC_SIZE_MIN___414 = 18,
    _PC_SYMLINK_MAX___414 = 19,
    _PC_2_SYMLINKS___414 = 20
} ;
enum __anonenum_315186338___414 {
    _SC_ARG_MAX___414 = 0,
    _SC_CHILD_MAX___414 = 1,
    _SC_CLK_TCK___414 = 2,
    _SC_NGROUPS_MAX___414 = 3,
    _SC_OPEN_MAX___414 = 4,
    _SC_STREAM_MAX___414 = 5,
    _SC_TZNAME_MAX___414 = 6,
    _SC_JOB_CONTROL___414 = 7,
    _SC_SAVED_IDS___414 = 8,
    _SC_REALTIME_SIGNALS___414 = 9,
    _SC_PRIORITY_SCHEDULING___414 = 10,
    _SC_TIMERS___414 = 11,
    _SC_ASYNCHRONOUS_IO___414 = 12,
    _SC_PRIORITIZED_IO___414 = 13,
    _SC_SYNCHRONIZED_IO___414 = 14,
    _SC_FSYNC___414 = 15,
    _SC_MAPPED_FILES___414 = 16,
    _SC_MEMLOCK___414 = 17,
    _SC_MEMLOCK_RANGE___414 = 18,
    _SC_MEMORY_PROTECTION___414 = 19,
    _SC_MESSAGE_PASSING___414 = 20,
    _SC_SEMAPHORES___414 = 21,
    _SC_SHARED_MEMORY_OBJECTS___414 = 22,
    _SC_AIO_LISTIO_MAX___414 = 23,
    _SC_AIO_MAX___414 = 24,
    _SC_AIO_PRIO_DELTA_MAX___414 = 25,
    _SC_DELAYTIMER_MAX___414 = 26,
    _SC_MQ_OPEN_MAX___414 = 27,
    _SC_MQ_PRIO_MAX___414 = 28,
    _SC_VERSION___414 = 29,
    _SC_PAGESIZE___414 = 30,
    _SC_RTSIG_MAX___414 = 31,
    _SC_SEM_NSEMS_MAX___414 = 32,
    _SC_SEM_VALUE_MAX___414 = 33,
    _SC_SIGQUEUE_MAX___414 = 34,
    _SC_TIMER_MAX___414 = 35,
    _SC_BC_BASE_MAX___414 = 36,
    _SC_BC_DIM_MAX___414 = 37,
    _SC_BC_SCALE_MAX___414 = 38,
    _SC_BC_STRING_MAX___414 = 39,
    _SC_COLL_WEIGHTS_MAX___414 = 40,
    _SC_EQUIV_CLASS_MAX___414 = 41,
    _SC_EXPR_NEST_MAX___414 = 42,
    _SC_LINE_MAX___414 = 43,
    _SC_RE_DUP_MAX___414 = 44,
    _SC_CHARCLASS_NAME_MAX___414 = 45,
    _SC_2_VERSION___414 = 46,
    _SC_2_C_BIND___414 = 47,
    _SC_2_C_DEV___414 = 48,
    _SC_2_FORT_DEV___414 = 49,
    _SC_2_FORT_RUN___414 = 50,
    _SC_2_SW_DEV___414 = 51,
    _SC_2_LOCALEDEF___414 = 52,
    _SC_PII___414 = 53,
    _SC_PII_XTI___414 = 54,
    _SC_PII_SOCKET___414 = 55,
    _SC_PII_INTERNET___414 = 56,
    _SC_PII_OSI___414 = 57,
    _SC_POLL___414 = 58,
    _SC_SELECT___414 = 59,
    _SC_UIO_MAXIOV___414 = 60,
    _SC_IOV_MAX___414 = 60,
    _SC_PII_INTERNET_STREAM___414 = 61,
    _SC_PII_INTERNET_DGRAM___414 = 62,
    _SC_PII_OSI_COTS___414 = 63,
    _SC_PII_OSI_CLTS___414 = 64,
    _SC_PII_OSI_M___414 = 65,
    _SC_T_IOV_MAX___414 = 66,
    _SC_THREADS___414 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___414 = 68,
    _SC_GETGR_R_SIZE_MAX___414 = 69,
    _SC_GETPW_R_SIZE_MAX___414 = 70,
    _SC_LOGIN_NAME_MAX___414 = 71,
    _SC_TTY_NAME_MAX___414 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___414 = 73,
    _SC_THREAD_KEYS_MAX___414 = 74,
    _SC_THREAD_STACK_MIN___414 = 75,
    _SC_THREAD_THREADS_MAX___414 = 76,
    _SC_THREAD_ATTR_STACKADDR___414 = 77,
    _SC_THREAD_ATTR_STACKSIZE___414 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___414 = 79,
    _SC_THREAD_PRIO_INHERIT___414 = 80,
    _SC_THREAD_PRIO_PROTECT___414 = 81,
    _SC_THREAD_PROCESS_SHARED___414 = 82,
    _SC_NPROCESSORS_CONF___414 = 83,
    _SC_NPROCESSORS_ONLN___414 = 84,
    _SC_PHYS_PAGES___414 = 85,
    _SC_AVPHYS_PAGES___414 = 86,
    _SC_ATEXIT_MAX___414 = 87,
    _SC_PASS_MAX___414 = 88,
    _SC_XOPEN_VERSION___414 = 89,
    _SC_XOPEN_XCU_VERSION___414 = 90,
    _SC_XOPEN_UNIX___414 = 91,
    _SC_XOPEN_CRYPT___414 = 92,
    _SC_XOPEN_ENH_I18N___414 = 93,
    _SC_XOPEN_SHM___414 = 94,
    _SC_2_CHAR_TERM___414 = 95,
    _SC_2_C_VERSION___414 = 96,
    _SC_2_UPE___414 = 97,
    _SC_XOPEN_XPG2___414 = 98,
    _SC_XOPEN_XPG3___414 = 99,
    _SC_XOPEN_XPG4___414 = 100,
    _SC_CHAR_BIT___414 = 101,
    _SC_CHAR_MAX___414 = 102,
    _SC_CHAR_MIN___414 = 103,
    _SC_INT_MAX___414 = 104,
    _SC_INT_MIN___414 = 105,
    _SC_LONG_BIT___414 = 106,
    _SC_WORD_BIT___414 = 107,
    _SC_MB_LEN_MAX___414 = 108,
    _SC_NZERO___414 = 109,
    _SC_SSIZE_MAX___414 = 110,
    _SC_SCHAR_MAX___414 = 111,
    _SC_SCHAR_MIN___414 = 112,
    _SC_SHRT_MAX___414 = 113,
    _SC_SHRT_MIN___414 = 114,
    _SC_UCHAR_MAX___414 = 115,
    _SC_UINT_MAX___414 = 116,
    _SC_ULONG_MAX___414 = 117,
    _SC_USHRT_MAX___414 = 118,
    _SC_NL_ARGMAX___414 = 119,
    _SC_NL_LANGMAX___414 = 120,
    _SC_NL_MSGMAX___414 = 121,
    _SC_NL_NMAX___414 = 122,
    _SC_NL_SETMAX___414 = 123,
    _SC_NL_TEXTMAX___414 = 124,
    _SC_XBS5_ILP32_OFF32___414 = 125,
    _SC_XBS5_ILP32_OFFBIG___414 = 126,
    _SC_XBS5_LP64_OFF64___414 = 127,
    _SC_XBS5_LPBIG_OFFBIG___414 = 128,
    _SC_XOPEN_LEGACY___414 = 129,
    _SC_XOPEN_REALTIME___414 = 130,
    _SC_XOPEN_REALTIME_THREADS___414 = 131,
    _SC_ADVISORY_INFO___414 = 132,
    _SC_BARRIERS___414 = 133,
    _SC_BASE___414 = 134,
    _SC_C_LANG_SUPPORT___414 = 135,
    _SC_C_LANG_SUPPORT_R___414 = 136,
    _SC_CLOCK_SELECTION___414 = 137,
    _SC_CPUTIME___414 = 138,
    _SC_THREAD_CPUTIME___414 = 139,
    _SC_DEVICE_IO___414 = 140,
    _SC_DEVICE_SPECIFIC___414 = 141,
    _SC_DEVICE_SPECIFIC_R___414 = 142,
    _SC_FD_MGMT___414 = 143,
    _SC_FIFO___414 = 144,
    _SC_PIPE___414 = 145,
    _SC_FILE_ATTRIBUTES___414 = 146,
    _SC_FILE_LOCKING___414 = 147,
    _SC_FILE_SYSTEM___414 = 148,
    _SC_MONOTONIC_CLOCK___414 = 149,
    _SC_MULTI_PROCESS___414 = 150,
    _SC_SINGLE_PROCESS___414 = 151,
    _SC_NETWORKING___414 = 152,
    _SC_READER_WRITER_LOCKS___414 = 153,
    _SC_SPIN_LOCKS___414 = 154,
    _SC_REGEXP___414 = 155,
    _SC_REGEX_VERSION___414 = 156,
    _SC_SHELL___414 = 157,
    _SC_SIGNALS___414 = 158,
    _SC_SPAWN___414 = 159,
    _SC_SPORADIC_SERVER___414 = 160,
    _SC_THREAD_SPORADIC_SERVER___414 = 161,
    _SC_SYSTEM_DATABASE___414 = 162,
    _SC_SYSTEM_DATABASE_R___414 = 163,
    _SC_TIMEOUTS___414 = 164,
    _SC_TYPED_MEMORY_OBJECTS___414 = 165,
    _SC_USER_GROUPS___414 = 166,
    _SC_USER_GROUPS_R___414 = 167,
    _SC_2_PBS___414 = 168,
    _SC_2_PBS_ACCOUNTING___414 = 169,
    _SC_2_PBS_LOCATE___414 = 170,
    _SC_2_PBS_MESSAGE___414 = 171,
    _SC_2_PBS_TRACK___414 = 172,
    _SC_SYMLOOP_MAX___414 = 173,
    _SC_STREAMS___414 = 174,
    _SC_2_PBS_CHECKPOINT___414 = 175,
    _SC_V6_ILP32_OFF32___414 = 176,
    _SC_V6_ILP32_OFFBIG___414 = 177,
    _SC_V6_LP64_OFF64___414 = 178,
    _SC_V6_LPBIG_OFFBIG___414 = 179,
    _SC_HOST_NAME_MAX___414 = 180,
    _SC_TRACE___414 = 181,
    _SC_TRACE_EVENT_FILTER___414 = 182,
    _SC_TRACE_INHERIT___414 = 183,
    _SC_TRACE_LOG___414 = 184,
    _SC_LEVEL1_ICACHE_SIZE___414 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___414 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___414 = 187,
    _SC_LEVEL1_DCACHE_SIZE___414 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___414 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___414 = 190,
    _SC_LEVEL2_CACHE_SIZE___414 = 191,
    _SC_LEVEL2_CACHE_ASSOC___414 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___414 = 193,
    _SC_LEVEL3_CACHE_SIZE___414 = 194,
    _SC_LEVEL3_CACHE_ASSOC___414 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___414 = 196,
    _SC_LEVEL4_CACHE_SIZE___414 = 197,
    _SC_LEVEL4_CACHE_ASSOC___414 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___414 = 199,
    _SC_IPV6___414 = 235,
    _SC_RAW_SOCKETS___414 = 236,
    _SC_V7_ILP32_OFF32___414 = 237,
    _SC_V7_ILP32_OFFBIG___414 = 238,
    _SC_V7_LP64_OFF64___414 = 239,
    _SC_V7_LPBIG_OFFBIG___414 = 240,
    _SC_SS_REPL_MAX___414 = 241,
    _SC_TRACE_EVENT_NAME_MAX___414 = 242,
    _SC_TRACE_NAME_MAX___414 = 243,
    _SC_TRACE_SYS_MAX___414 = 244,
    _SC_TRACE_USER_EVENT_MAX___414 = 245,
    _SC_XOPEN_STREAMS___414 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___414 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___414 = 248
} ;
enum __anonenum_875524036___414 {
    _CS_PATH___414 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___414 = 1,
    _CS_GNU_LIBC_VERSION___414 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___414 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___414 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___414 = 5,
    _CS_LFS_CFLAGS___414 = 1000,
    _CS_LFS_LDFLAGS___414 = 1001,
    _CS_LFS_LIBS___414 = 1002,
    _CS_LFS_LINTFLAGS___414 = 1003,
    _CS_LFS64_CFLAGS___414 = 1004,
    _CS_LFS64_LDFLAGS___414 = 1005,
    _CS_LFS64_LIBS___414 = 1006,
    _CS_LFS64_LINTFLAGS___414 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___414 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___414 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___414 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___414 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___414 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___414 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___414 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___414 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___414 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___414 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___414 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___414 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___414 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___414 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___414 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___414 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___414 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___414 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___414 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___414 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___414 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___414 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___414 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___414 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___414 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___414 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___414 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___414 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___414 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___414 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___414 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___414 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___414 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___414 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___414 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___414 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___414 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___414 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___414 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___414 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___414 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___414 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___414 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___414 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___414 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___414 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___414 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___414 = 1147,
    _CS_V6_ENV___414 = 1148,
    _CS_V7_ENV___414 = 1149
} ;
enum __anonenum_513775621___414 {
    DT_UNKNOWN___414 = 0,
    DT_FIFO___414 = 1,
    DT_CHR___414 = 2,
    DT_DIR___414 = 4,
    DT_BLK___414 = 6,
    DT_REG___414 = 8,
    DT_LNK___414 = 10,
    DT_SOCK___414 = 12,
    DT_WHT___414 = 14
} ;
enum __anonenum_77002343___414 {
    SI_ASYNCNL___414 = -60,
    SI_TKILL___414 = -6,
    SI_SIGIO___414 = -5,
    SI_ASYNCIO___414 = -4,
    SI_MESGQ___414 = -3,
    SI_TIMER___414 = -2,
    SI_QUEUE___414 = -1,
    SI_USER___414 = 0,
    SI_KERNEL___414 = 128
} ;
enum __anonenum_131038172___414 {
    ILL_ILLOPC___414 = 1,
    ILL_ILLOPN___414 = 2,
    ILL_ILLADR___414 = 3,
    ILL_ILLTRP___414 = 4,
    ILL_PRVOPC___414 = 5,
    ILL_PRVREG___414 = 6,
    ILL_COPROC___414 = 7,
    ILL_BADSTK___414 = 8
} ;
enum __anonenum_452038093___414 {
    FPE_INTDIV___414 = 1,
    FPE_INTOVF___414 = 2,
    FPE_FLTDIV___414 = 3,
    FPE_FLTOVF___414 = 4,
    FPE_FLTUND___414 = 5,
    FPE_FLTRES___414 = 6,
    FPE_FLTINV___414 = 7,
    FPE_FLTSUB___414 = 8
} ;
enum __anonenum_30976155___414 {
    SEGV_MAPERR___414 = 1,
    SEGV_ACCERR___414 = 2,
    SEGV_BNDERR___414 = 3,
    SEGV_PKUERR___414 = 4
} ;
enum __anonenum_1036286214___414 {
    BUS_ADRALN___414 = 1,
    BUS_ADRERR___414 = 2,
    BUS_OBJERR___414 = 3,
    BUS_MCEERR_AR___414 = 4,
    BUS_MCEERR_AO___414 = 5
} ;
enum __anonenum_493465559___414 {
    TRAP_BRKPT___414 = 1,
    TRAP_TRACE___414 = 2
} ;
enum __anonenum_23175539___414 {
    CLD_EXITED___414 = 1,
    CLD_KILLED___414 = 2,
    CLD_DUMPED___414 = 3,
    CLD_TRAPPED___414 = 4,
    CLD_STOPPED___414 = 5,
    CLD_CONTINUED___414 = 6
} ;
enum __anonenum_111643124___414 {
    POLL_IN___414 = 1,
    POLL_OUT___414 = 2,
    POLL_MSG___414 = 3,
    POLL_ERR___414 = 4,
    POLL_PRI___414 = 5,
    POLL_HUP___414 = 6
} ;
enum __anonenum_852341087___414 {
    SIGEV_SIGNAL___414 = 0,
    SIGEV_NONE___414 = 1,
    SIGEV_THREAD___414 = 2,
    SIGEV_THREAD_ID___414 = 4
} ;
enum __anonenum_451154152___414 {
    REG_R8___414 = 0,
    REG_R9___414 = 1,
    REG_R10___414 = 2,
    REG_R11___414 = 3,
    REG_R12___414 = 4,
    REG_R13___414 = 5,
    REG_R14___414 = 6,
    REG_R15___414 = 7,
    REG_RDI___414 = 8,
    REG_RSI___414 = 9,
    REG_RBP___414 = 10,
    REG_RBX___414 = 11,
    REG_RDX___414 = 12,
    REG_RAX___414 = 13,
    REG_RCX___414 = 14,
    REG_RSP___414 = 15,
    REG_RIP___414 = 16,
    REG_EFL___414 = 17,
    REG_CSGSFS___414 = 18,
    REG_ERR___414 = 19,
    REG_TRAPNO___414 = 20,
    REG_OLDMASK___414 = 21,
    REG_CR2___414 = 22
} ;
enum __anonenum_57186863___414 {
    SS_ONSTACK___414 = 1,
    SS_DISABLE___414 = 2
} ;
enum __anonenum_83571709___414 {
    MSG_OOB___414 = 1,
    MSG_PEEK___414 = 2,
    MSG_DONTROUTE___414 = 4,
    MSG_TRYHARD___414 = 4,
    MSG_CTRUNC___414 = 8,
    MSG_PROXY___414 = 16,
    MSG_TRUNC___414 = 32,
    MSG_DONTWAIT___414 = 64,
    MSG_EOR___414 = 128,
    MSG_WAITALL___414 = 256,
    MSG_FIN___414 = 512,
    MSG_SYN___414 = 1024,
    MSG_CONFIRM___414 = 2048,
    MSG_RST___414 = 4096,
    MSG_ERRQUEUE___414 = 8192,
    MSG_NOSIGNAL___414 = 16384,
    MSG_MORE___414 = 32768,
    MSG_WAITFORONE___414 = 65536,
    MSG_BATCH___414 = 262144,
    MSG_ZEROCOPY___414 = 67108864,
    MSG_FASTOPEN___414 = 536870912,
    MSG_CMSG_CLOEXEC___414 = 1073741824
} ;
enum __anonenum_617082774___414 {
    SCM_RIGHTS___414 = 1,
    SCM_CREDENTIALS___414 = 2
} ;
enum __anonenum_606441560___414 {
    SHUT_RD___414 = 0,
    SHUT_WR___414 = 1,
    SHUT_RDWR___414 = 2
} ;
enum __anonenum_681669233___414 {
    IPPROTO_IP___414 = 0,
    IPPROTO_ICMP___414 = 1,
    IPPROTO_IGMP___414 = 2,
    IPPROTO_IPIP___414 = 4,
    IPPROTO_TCP___414 = 6,
    IPPROTO_EGP___414 = 8,
    IPPROTO_PUP___414 = 12,
    IPPROTO_UDP___414 = 17,
    IPPROTO_IDP___414 = 22,
    IPPROTO_TP___414 = 29,
    IPPROTO_DCCP___414 = 33,
    IPPROTO_IPV6___414 = 41,
    IPPROTO_RSVP___414 = 46,
    IPPROTO_GRE___414 = 47,
    IPPROTO_ESP___414 = 50,
    IPPROTO_AH___414 = 51,
    IPPROTO_MTP___414 = 92,
    IPPROTO_BEETPH___414 = 94,
    IPPROTO_ENCAP___414 = 98,
    IPPROTO_PIM___414 = 103,
    IPPROTO_COMP___414 = 108,
    IPPROTO_SCTP___414 = 132,
    IPPROTO_UDPLITE___414 = 136,
    IPPROTO_MPLS___414 = 137,
    IPPROTO_RAW___414 = 255,
    IPPROTO_MAX___414 = 256
} ;
enum __anonenum_218739988___414 {
    IPPROTO_HOPOPTS___414 = 0,
    IPPROTO_ROUTING___414 = 43,
    IPPROTO_FRAGMENT___414 = 44,
    IPPROTO_ICMPV6___414 = 58,
    IPPROTO_NONE___414 = 59,
    IPPROTO_DSTOPTS___414 = 60,
    IPPROTO_MH___414 = 135
} ;
enum __anonenum_662268580___414 {
    IPPORT_ECHO___414 = 7,
    IPPORT_DISCARD___414 = 9,
    IPPORT_SYSTAT___414 = 11,
    IPPORT_DAYTIME___414 = 13,
    IPPORT_NETSTAT___414 = 15,
    IPPORT_FTP___414 = 21,
    IPPORT_TELNET___414 = 23,
    IPPORT_SMTP___414 = 25,
    IPPORT_TIMESERVER___414 = 37,
    IPPORT_NAMESERVER___414 = 42,
    IPPORT_WHOIS___414 = 43,
    IPPORT_MTP___414 = 57,
    IPPORT_TFTP___414 = 69,
    IPPORT_RJE___414 = 77,
    IPPORT_FINGER___414 = 79,
    IPPORT_TTYLINK___414 = 87,
    IPPORT_SUPDUP___414 = 95,
    IPPORT_EXECSERVER___414 = 512,
    IPPORT_LOGINSERVER___414 = 513,
    IPPORT_CMDSERVER___414 = 514,
    IPPORT_EFSSERVER___414 = 520,
    IPPORT_BIFFUDP___414 = 512,
    IPPORT_WHOSERVER___414 = 513,
    IPPORT_ROUTESERVER___414 = 520,
    IPPORT_RESERVED___414 = 1024,
    IPPORT_USERRESERVED___414 = 5000
} ;
enum __anonenum_788308992___414 {
    TCP_ESTABLISHED___414 = 1,
    TCP_SYN_SENT___414 = 2,
    TCP_SYN_RECV___414 = 3,
    TCP_FIN_WAIT1___414 = 4,
    TCP_FIN_WAIT2___414 = 5,
    TCP_TIME_WAIT___414 = 6,
    TCP_CLOSE___414 = 7,
    TCP_CLOSE_WAIT___414 = 8,
    TCP_LAST_ACK___414 = 9,
    TCP_LISTEN___414 = 10,
    TCP_CLOSING___414 = 11
} ;
enum __anonenum_221125648___414 {
    TCP_NO_QUEUE___414 = 0,
    TCP_RECV_QUEUE___414 = 1,
    TCP_SEND_QUEUE___414 = 2,
    TCP_QUEUES_NR___414 = 3
} ;
enum __anonenum_34415463___414 {
    PTHREAD_CREATE_JOINABLE___414 = 0,
    PTHREAD_CREATE_DETACHED___414 = 1
} ;
enum __anonenum_303612439___414 {
    PTHREAD_MUTEX_TIMED_NP___414 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___414 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___414 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___414 = 3,
    PTHREAD_MUTEX_NORMAL___414 = 0,
    PTHREAD_MUTEX_RECURSIVE___414 = 1,
    PTHREAD_MUTEX_ERRORCHECK___414 = 2,
    PTHREAD_MUTEX_DEFAULT___414 = 0,
    PTHREAD_MUTEX_FAST_NP___414 = 0
} ;
enum __anonenum_931900394___414 {
    PTHREAD_MUTEX_STALLED___414 = 0,
    PTHREAD_MUTEX_STALLED_NP___414 = 0,
    PTHREAD_MUTEX_ROBUST___414 = 1,
    PTHREAD_MUTEX_ROBUST_NP___414 = 1
} ;
enum __anonenum_205214487___414 {
    PTHREAD_PRIO_NONE___414 = 0,
    PTHREAD_PRIO_INHERIT___414 = 1,
    PTHREAD_PRIO_PROTECT___414 = 2
} ;
enum __anonenum_25043950___414 {
    PTHREAD_RWLOCK_PREFER_READER_NP___414 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___414 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___414 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___414 = 0
} ;
enum __anonenum_436439511___414 {
    PTHREAD_INHERIT_SCHED___414 = 0,
    PTHREAD_EXPLICIT_SCHED___414 = 1
} ;
enum __anonenum_998661166___414 {
    PTHREAD_SCOPE_SYSTEM___414 = 0,
    PTHREAD_SCOPE_PROCESS___414 = 1
} ;
enum __anonenum_146137331___414 {
    PTHREAD_PROCESS_PRIVATE___414 = 0,
    PTHREAD_PROCESS_SHARED___414 = 1
} ;
enum __anonenum_53396917___414 {
    PTHREAD_CANCEL_ENABLE___414 = 0,
    PTHREAD_CANCEL_DISABLE___414 = 1
} ;
enum __anonenum_904563783___414 {
    PTHREAD_CANCEL_DEFERRED___414 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___414 = 1
} ;
enum __anonenum_672052974___414 {
    SSL_CT_VALIDATION_PERMISSIVE___414 = 0,
    SSL_CT_VALIDATION_STRICT___414 = 1
} ;
enum __anonenum_437032235___415 {
    _PC_LINK_MAX___415 = 0,
    _PC_MAX_CANON___415 = 1,
    _PC_MAX_INPUT___415 = 2,
    _PC_NAME_MAX___415 = 3,
    _PC_PATH_MAX___415 = 4,
    _PC_PIPE_BUF___415 = 5,
    _PC_CHOWN_RESTRICTED___415 = 6,
    _PC_NO_TRUNC___415 = 7,
    _PC_VDISABLE___415 = 8,
    _PC_SYNC_IO___415 = 9,
    _PC_ASYNC_IO___415 = 10,
    _PC_PRIO_IO___415 = 11,
    _PC_SOCK_MAXBUF___415 = 12,
    _PC_FILESIZEBITS___415 = 13,
    _PC_REC_INCR_XFER_SIZE___415 = 14,
    _PC_REC_MAX_XFER_SIZE___415 = 15,
    _PC_REC_MIN_XFER_SIZE___415 = 16,
    _PC_REC_XFER_ALIGN___415 = 17,
    _PC_ALLOC_SIZE_MIN___415 = 18,
    _PC_SYMLINK_MAX___415 = 19,
    _PC_2_SYMLINKS___415 = 20
} ;
enum __anonenum_315186338___415 {
    _SC_ARG_MAX___415 = 0,
    _SC_CHILD_MAX___415 = 1,
    _SC_CLK_TCK___415 = 2,
    _SC_NGROUPS_MAX___415 = 3,
    _SC_OPEN_MAX___415 = 4,
    _SC_STREAM_MAX___415 = 5,
    _SC_TZNAME_MAX___415 = 6,
    _SC_JOB_CONTROL___415 = 7,
    _SC_SAVED_IDS___415 = 8,
    _SC_REALTIME_SIGNALS___415 = 9,
    _SC_PRIORITY_SCHEDULING___415 = 10,
    _SC_TIMERS___415 = 11,
    _SC_ASYNCHRONOUS_IO___415 = 12,
    _SC_PRIORITIZED_IO___415 = 13,
    _SC_SYNCHRONIZED_IO___415 = 14,
    _SC_FSYNC___415 = 15,
    _SC_MAPPED_FILES___415 = 16,
    _SC_MEMLOCK___415 = 17,
    _SC_MEMLOCK_RANGE___415 = 18,
    _SC_MEMORY_PROTECTION___415 = 19,
    _SC_MESSAGE_PASSING___415 = 20,
    _SC_SEMAPHORES___415 = 21,
    _SC_SHARED_MEMORY_OBJECTS___415 = 22,
    _SC_AIO_LISTIO_MAX___415 = 23,
    _SC_AIO_MAX___415 = 24,
    _SC_AIO_PRIO_DELTA_MAX___415 = 25,
    _SC_DELAYTIMER_MAX___415 = 26,
    _SC_MQ_OPEN_MAX___415 = 27,
    _SC_MQ_PRIO_MAX___415 = 28,
    _SC_VERSION___415 = 29,
    _SC_PAGESIZE___415 = 30,
    _SC_RTSIG_MAX___415 = 31,
    _SC_SEM_NSEMS_MAX___415 = 32,
    _SC_SEM_VALUE_MAX___415 = 33,
    _SC_SIGQUEUE_MAX___415 = 34,
    _SC_TIMER_MAX___415 = 35,
    _SC_BC_BASE_MAX___415 = 36,
    _SC_BC_DIM_MAX___415 = 37,
    _SC_BC_SCALE_MAX___415 = 38,
    _SC_BC_STRING_MAX___415 = 39,
    _SC_COLL_WEIGHTS_MAX___415 = 40,
    _SC_EQUIV_CLASS_MAX___415 = 41,
    _SC_EXPR_NEST_MAX___415 = 42,
    _SC_LINE_MAX___415 = 43,
    _SC_RE_DUP_MAX___415 = 44,
    _SC_CHARCLASS_NAME_MAX___415 = 45,
    _SC_2_VERSION___415 = 46,
    _SC_2_C_BIND___415 = 47,
    _SC_2_C_DEV___415 = 48,
    _SC_2_FORT_DEV___415 = 49,
    _SC_2_FORT_RUN___415 = 50,
    _SC_2_SW_DEV___415 = 51,
    _SC_2_LOCALEDEF___415 = 52,
    _SC_PII___415 = 53,
    _SC_PII_XTI___415 = 54,
    _SC_PII_SOCKET___415 = 55,
    _SC_PII_INTERNET___415 = 56,
    _SC_PII_OSI___415 = 57,
    _SC_POLL___415 = 58,
    _SC_SELECT___415 = 59,
    _SC_UIO_MAXIOV___415 = 60,
    _SC_IOV_MAX___415 = 60,
    _SC_PII_INTERNET_STREAM___415 = 61,
    _SC_PII_INTERNET_DGRAM___415 = 62,
    _SC_PII_OSI_COTS___415 = 63,
    _SC_PII_OSI_CLTS___415 = 64,
    _SC_PII_OSI_M___415 = 65,
    _SC_T_IOV_MAX___415 = 66,
    _SC_THREADS___415 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___415 = 68,
    _SC_GETGR_R_SIZE_MAX___415 = 69,
    _SC_GETPW_R_SIZE_MAX___415 = 70,
    _SC_LOGIN_NAME_MAX___415 = 71,
    _SC_TTY_NAME_MAX___415 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___415 = 73,
    _SC_THREAD_KEYS_MAX___415 = 74,
    _SC_THREAD_STACK_MIN___415 = 75,
    _SC_THREAD_THREADS_MAX___415 = 76,
    _SC_THREAD_ATTR_STACKADDR___415 = 77,
    _SC_THREAD_ATTR_STACKSIZE___415 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___415 = 79,
    _SC_THREAD_PRIO_INHERIT___415 = 80,
    _SC_THREAD_PRIO_PROTECT___415 = 81,
    _SC_THREAD_PROCESS_SHARED___415 = 82,
    _SC_NPROCESSORS_CONF___415 = 83,
    _SC_NPROCESSORS_ONLN___415 = 84,
    _SC_PHYS_PAGES___415 = 85,
    _SC_AVPHYS_PAGES___415 = 86,
    _SC_ATEXIT_MAX___415 = 87,
    _SC_PASS_MAX___415 = 88,
    _SC_XOPEN_VERSION___415 = 89,
    _SC_XOPEN_XCU_VERSION___415 = 90,
    _SC_XOPEN_UNIX___415 = 91,
    _SC_XOPEN_CRYPT___415 = 92,
    _SC_XOPEN_ENH_I18N___415 = 93,
    _SC_XOPEN_SHM___415 = 94,
    _SC_2_CHAR_TERM___415 = 95,
    _SC_2_C_VERSION___415 = 96,
    _SC_2_UPE___415 = 97,
    _SC_XOPEN_XPG2___415 = 98,
    _SC_XOPEN_XPG3___415 = 99,
    _SC_XOPEN_XPG4___415 = 100,
    _SC_CHAR_BIT___415 = 101,
    _SC_CHAR_MAX___415 = 102,
    _SC_CHAR_MIN___415 = 103,
    _SC_INT_MAX___415 = 104,
    _SC_INT_MIN___415 = 105,
    _SC_LONG_BIT___415 = 106,
    _SC_WORD_BIT___415 = 107,
    _SC_MB_LEN_MAX___415 = 108,
    _SC_NZERO___415 = 109,
    _SC_SSIZE_MAX___415 = 110,
    _SC_SCHAR_MAX___415 = 111,
    _SC_SCHAR_MIN___415 = 112,
    _SC_SHRT_MAX___415 = 113,
    _SC_SHRT_MIN___415 = 114,
    _SC_UCHAR_MAX___415 = 115,
    _SC_UINT_MAX___415 = 116,
    _SC_ULONG_MAX___415 = 117,
    _SC_USHRT_MAX___415 = 118,
    _SC_NL_ARGMAX___415 = 119,
    _SC_NL_LANGMAX___415 = 120,
    _SC_NL_MSGMAX___415 = 121,
    _SC_NL_NMAX___415 = 122,
    _SC_NL_SETMAX___415 = 123,
    _SC_NL_TEXTMAX___415 = 124,
    _SC_XBS5_ILP32_OFF32___415 = 125,
    _SC_XBS5_ILP32_OFFBIG___415 = 126,
    _SC_XBS5_LP64_OFF64___415 = 127,
    _SC_XBS5_LPBIG_OFFBIG___415 = 128,
    _SC_XOPEN_LEGACY___415 = 129,
    _SC_XOPEN_REALTIME___415 = 130,
    _SC_XOPEN_REALTIME_THREADS___415 = 131,
    _SC_ADVISORY_INFO___415 = 132,
    _SC_BARRIERS___415 = 133,
    _SC_BASE___415 = 134,
    _SC_C_LANG_SUPPORT___415 = 135,
    _SC_C_LANG_SUPPORT_R___415 = 136,
    _SC_CLOCK_SELECTION___415 = 137,
    _SC_CPUTIME___415 = 138,
    _SC_THREAD_CPUTIME___415 = 139,
    _SC_DEVICE_IO___415 = 140,
    _SC_DEVICE_SPECIFIC___415 = 141,
    _SC_DEVICE_SPECIFIC_R___415 = 142,
    _SC_FD_MGMT___415 = 143,
    _SC_FIFO___415 = 144,
    _SC_PIPE___415 = 145,
    _SC_FILE_ATTRIBUTES___415 = 146,
    _SC_FILE_LOCKING___415 = 147,
    _SC_FILE_SYSTEM___415 = 148,
    _SC_MONOTONIC_CLOCK___415 = 149,
    _SC_MULTI_PROCESS___415 = 150,
    _SC_SINGLE_PROCESS___415 = 151,
    _SC_NETWORKING___415 = 152,
    _SC_READER_WRITER_LOCKS___415 = 153,
    _SC_SPIN_LOCKS___415 = 154,
    _SC_REGEXP___415 = 155,
    _SC_REGEX_VERSION___415 = 156,
    _SC_SHELL___415 = 157,
    _SC_SIGNALS___415 = 158,
    _SC_SPAWN___415 = 159,
    _SC_SPORADIC_SERVER___415 = 160,
    _SC_THREAD_SPORADIC_SERVER___415 = 161,
    _SC_SYSTEM_DATABASE___415 = 162,
    _SC_SYSTEM_DATABASE_R___415 = 163,
    _SC_TIMEOUTS___415 = 164,
    _SC_TYPED_MEMORY_OBJECTS___415 = 165,
    _SC_USER_GROUPS___415 = 166,
    _SC_USER_GROUPS_R___415 = 167,
    _SC_2_PBS___415 = 168,
    _SC_2_PBS_ACCOUNTING___415 = 169,
    _SC_2_PBS_LOCATE___415 = 170,
    _SC_2_PBS_MESSAGE___415 = 171,
    _SC_2_PBS_TRACK___415 = 172,
    _SC_SYMLOOP_MAX___415 = 173,
    _SC_STREAMS___415 = 174,
    _SC_2_PBS_CHECKPOINT___415 = 175,
    _SC_V6_ILP32_OFF32___415 = 176,
    _SC_V6_ILP32_OFFBIG___415 = 177,
    _SC_V6_LP64_OFF64___415 = 178,
    _SC_V6_LPBIG_OFFBIG___415 = 179,
    _SC_HOST_NAME_MAX___415 = 180,
    _SC_TRACE___415 = 181,
    _SC_TRACE_EVENT_FILTER___415 = 182,
    _SC_TRACE_INHERIT___415 = 183,
    _SC_TRACE_LOG___415 = 184,
    _SC_LEVEL1_ICACHE_SIZE___415 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___415 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___415 = 187,
    _SC_LEVEL1_DCACHE_SIZE___415 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___415 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___415 = 190,
    _SC_LEVEL2_CACHE_SIZE___415 = 191,
    _SC_LEVEL2_CACHE_ASSOC___415 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___415 = 193,
    _SC_LEVEL3_CACHE_SIZE___415 = 194,
    _SC_LEVEL3_CACHE_ASSOC___415 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___415 = 196,
    _SC_LEVEL4_CACHE_SIZE___415 = 197,
    _SC_LEVEL4_CACHE_ASSOC___415 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___415 = 199,
    _SC_IPV6___415 = 235,
    _SC_RAW_SOCKETS___415 = 236,
    _SC_V7_ILP32_OFF32___415 = 237,
    _SC_V7_ILP32_OFFBIG___415 = 238,
    _SC_V7_LP64_OFF64___415 = 239,
    _SC_V7_LPBIG_OFFBIG___415 = 240,
    _SC_SS_REPL_MAX___415 = 241,
    _SC_TRACE_EVENT_NAME_MAX___415 = 242,
    _SC_TRACE_NAME_MAX___415 = 243,
    _SC_TRACE_SYS_MAX___415 = 244,
    _SC_TRACE_USER_EVENT_MAX___415 = 245,
    _SC_XOPEN_STREAMS___415 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___415 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___415 = 248
} ;
enum __anonenum_875524036___415 {
    _CS_PATH___415 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___415 = 1,
    _CS_GNU_LIBC_VERSION___415 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___415 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___415 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___415 = 5,
    _CS_LFS_CFLAGS___415 = 1000,
    _CS_LFS_LDFLAGS___415 = 1001,
    _CS_LFS_LIBS___415 = 1002,
    _CS_LFS_LINTFLAGS___415 = 1003,
    _CS_LFS64_CFLAGS___415 = 1004,
    _CS_LFS64_LDFLAGS___415 = 1005,
    _CS_LFS64_LIBS___415 = 1006,
    _CS_LFS64_LINTFLAGS___415 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___415 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___415 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___415 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___415 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___415 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___415 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___415 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___415 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___415 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___415 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___415 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___415 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___415 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___415 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___415 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___415 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___415 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___415 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___415 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___415 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___415 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___415 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___415 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___415 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___415 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___415 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___415 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___415 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___415 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___415 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___415 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___415 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___415 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___415 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___415 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___415 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___415 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___415 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___415 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___415 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___415 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___415 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___415 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___415 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___415 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___415 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___415 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___415 = 1147,
    _CS_V6_ENV___415 = 1148,
    _CS_V7_ENV___415 = 1149
} ;
enum __anonenum_513775621___415 {
    DT_UNKNOWN___415 = 0,
    DT_FIFO___415 = 1,
    DT_CHR___415 = 2,
    DT_DIR___415 = 4,
    DT_BLK___415 = 6,
    DT_REG___415 = 8,
    DT_LNK___415 = 10,
    DT_SOCK___415 = 12,
    DT_WHT___415 = 14
} ;
enum __anonenum_77002343___415 {
    SI_ASYNCNL___415 = -60,
    SI_TKILL___415 = -6,
    SI_SIGIO___415 = -5,
    SI_ASYNCIO___415 = -4,
    SI_MESGQ___415 = -3,
    SI_TIMER___415 = -2,
    SI_QUEUE___415 = -1,
    SI_USER___415 = 0,
    SI_KERNEL___415 = 128
} ;
enum __anonenum_131038172___415 {
    ILL_ILLOPC___415 = 1,
    ILL_ILLOPN___415 = 2,
    ILL_ILLADR___415 = 3,
    ILL_ILLTRP___415 = 4,
    ILL_PRVOPC___415 = 5,
    ILL_PRVREG___415 = 6,
    ILL_COPROC___415 = 7,
    ILL_BADSTK___415 = 8
} ;
enum __anonenum_452038093___415 {
    FPE_INTDIV___415 = 1,
    FPE_INTOVF___415 = 2,
    FPE_FLTDIV___415 = 3,
    FPE_FLTOVF___415 = 4,
    FPE_FLTUND___415 = 5,
    FPE_FLTRES___415 = 6,
    FPE_FLTINV___415 = 7,
    FPE_FLTSUB___415 = 8
} ;
enum __anonenum_30976155___415 {
    SEGV_MAPERR___415 = 1,
    SEGV_ACCERR___415 = 2,
    SEGV_BNDERR___415 = 3,
    SEGV_PKUERR___415 = 4
} ;
enum __anonenum_1036286214___415 {
    BUS_ADRALN___415 = 1,
    BUS_ADRERR___415 = 2,
    BUS_OBJERR___415 = 3,
    BUS_MCEERR_AR___415 = 4,
    BUS_MCEERR_AO___415 = 5
} ;
enum __anonenum_493465559___415 {
    TRAP_BRKPT___415 = 1,
    TRAP_TRACE___415 = 2
} ;
enum __anonenum_23175539___415 {
    CLD_EXITED___415 = 1,
    CLD_KILLED___415 = 2,
    CLD_DUMPED___415 = 3,
    CLD_TRAPPED___415 = 4,
    CLD_STOPPED___415 = 5,
    CLD_CONTINUED___415 = 6
} ;
enum __anonenum_111643124___415 {
    POLL_IN___415 = 1,
    POLL_OUT___415 = 2,
    POLL_MSG___415 = 3,
    POLL_ERR___415 = 4,
    POLL_PRI___415 = 5,
    POLL_HUP___415 = 6
} ;
enum __anonenum_852341087___415 {
    SIGEV_SIGNAL___415 = 0,
    SIGEV_NONE___415 = 1,
    SIGEV_THREAD___415 = 2,
    SIGEV_THREAD_ID___415 = 4
} ;
enum __anonenum_451154152___415 {
    REG_R8___415 = 0,
    REG_R9___415 = 1,
    REG_R10___415 = 2,
    REG_R11___415 = 3,
    REG_R12___415 = 4,
    REG_R13___415 = 5,
    REG_R14___415 = 6,
    REG_R15___415 = 7,
    REG_RDI___415 = 8,
    REG_RSI___415 = 9,
    REG_RBP___415 = 10,
    REG_RBX___415 = 11,
    REG_RDX___415 = 12,
    REG_RAX___415 = 13,
    REG_RCX___415 = 14,
    REG_RSP___415 = 15,
    REG_RIP___415 = 16,
    REG_EFL___415 = 17,
    REG_CSGSFS___415 = 18,
    REG_ERR___415 = 19,
    REG_TRAPNO___415 = 20,
    REG_OLDMASK___415 = 21,
    REG_CR2___415 = 22
} ;
enum __anonenum_57186863___415 {
    SS_ONSTACK___415 = 1,
    SS_DISABLE___415 = 2
} ;
enum __anonenum_83571709___415 {
    MSG_OOB___415 = 1,
    MSG_PEEK___415 = 2,
    MSG_DONTROUTE___415 = 4,
    MSG_TRYHARD___415 = 4,
    MSG_CTRUNC___415 = 8,
    MSG_PROXY___415 = 16,
    MSG_TRUNC___415 = 32,
    MSG_DONTWAIT___415 = 64,
    MSG_EOR___415 = 128,
    MSG_WAITALL___415 = 256,
    MSG_FIN___415 = 512,
    MSG_SYN___415 = 1024,
    MSG_CONFIRM___415 = 2048,
    MSG_RST___415 = 4096,
    MSG_ERRQUEUE___415 = 8192,
    MSG_NOSIGNAL___415 = 16384,
    MSG_MORE___415 = 32768,
    MSG_WAITFORONE___415 = 65536,
    MSG_BATCH___415 = 262144,
    MSG_ZEROCOPY___415 = 67108864,
    MSG_FASTOPEN___415 = 536870912,
    MSG_CMSG_CLOEXEC___415 = 1073741824
} ;
enum __anonenum_617082774___415 {
    SCM_RIGHTS___415 = 1,
    SCM_CREDENTIALS___415 = 2
} ;
enum __anonenum_606441560___415 {
    SHUT_RD___415 = 0,
    SHUT_WR___415 = 1,
    SHUT_RDWR___415 = 2
} ;
enum __anonenum_681669233___415 {
    IPPROTO_IP___415 = 0,
    IPPROTO_ICMP___415 = 1,
    IPPROTO_IGMP___415 = 2,
    IPPROTO_IPIP___415 = 4,
    IPPROTO_TCP___415 = 6,
    IPPROTO_EGP___415 = 8,
    IPPROTO_PUP___415 = 12,
    IPPROTO_UDP___415 = 17,
    IPPROTO_IDP___415 = 22,
    IPPROTO_TP___415 = 29,
    IPPROTO_DCCP___415 = 33,
    IPPROTO_IPV6___415 = 41,
    IPPROTO_RSVP___415 = 46,
    IPPROTO_GRE___415 = 47,
    IPPROTO_ESP___415 = 50,
    IPPROTO_AH___415 = 51,
    IPPROTO_MTP___415 = 92,
    IPPROTO_BEETPH___415 = 94,
    IPPROTO_ENCAP___415 = 98,
    IPPROTO_PIM___415 = 103,
    IPPROTO_COMP___415 = 108,
    IPPROTO_SCTP___415 = 132,
    IPPROTO_UDPLITE___415 = 136,
    IPPROTO_MPLS___415 = 137,
    IPPROTO_RAW___415 = 255,
    IPPROTO_MAX___415 = 256
} ;
enum __anonenum_218739988___415 {
    IPPROTO_HOPOPTS___415 = 0,
    IPPROTO_ROUTING___415 = 43,
    IPPROTO_FRAGMENT___415 = 44,
    IPPROTO_ICMPV6___415 = 58,
    IPPROTO_NONE___415 = 59,
    IPPROTO_DSTOPTS___415 = 60,
    IPPROTO_MH___415 = 135
} ;
enum __anonenum_662268580___415 {
    IPPORT_ECHO___415 = 7,
    IPPORT_DISCARD___415 = 9,
    IPPORT_SYSTAT___415 = 11,
    IPPORT_DAYTIME___415 = 13,
    IPPORT_NETSTAT___415 = 15,
    IPPORT_FTP___415 = 21,
    IPPORT_TELNET___415 = 23,
    IPPORT_SMTP___415 = 25,
    IPPORT_TIMESERVER___415 = 37,
    IPPORT_NAMESERVER___415 = 42,
    IPPORT_WHOIS___415 = 43,
    IPPORT_MTP___415 = 57,
    IPPORT_TFTP___415 = 69,
    IPPORT_RJE___415 = 77,
    IPPORT_FINGER___415 = 79,
    IPPORT_TTYLINK___415 = 87,
    IPPORT_SUPDUP___415 = 95,
    IPPORT_EXECSERVER___415 = 512,
    IPPORT_LOGINSERVER___415 = 513,
    IPPORT_CMDSERVER___415 = 514,
    IPPORT_EFSSERVER___415 = 520,
    IPPORT_BIFFUDP___415 = 512,
    IPPORT_WHOSERVER___415 = 513,
    IPPORT_ROUTESERVER___415 = 520,
    IPPORT_RESERVED___415 = 1024,
    IPPORT_USERRESERVED___415 = 5000
} ;
enum __anonenum_788308992___415 {
    TCP_ESTABLISHED___415 = 1,
    TCP_SYN_SENT___415 = 2,
    TCP_SYN_RECV___415 = 3,
    TCP_FIN_WAIT1___415 = 4,
    TCP_FIN_WAIT2___415 = 5,
    TCP_TIME_WAIT___415 = 6,
    TCP_CLOSE___415 = 7,
    TCP_CLOSE_WAIT___415 = 8,
    TCP_LAST_ACK___415 = 9,
    TCP_LISTEN___415 = 10,
    TCP_CLOSING___415 = 11
} ;
enum __anonenum_221125648___415 {
    TCP_NO_QUEUE___415 = 0,
    TCP_RECV_QUEUE___415 = 1,
    TCP_SEND_QUEUE___415 = 2,
    TCP_QUEUES_NR___415 = 3
} ;
enum __anonenum_34415463___415 {
    PTHREAD_CREATE_JOINABLE___415 = 0,
    PTHREAD_CREATE_DETACHED___415 = 1
} ;
enum __anonenum_303612439___415 {
    PTHREAD_MUTEX_TIMED_NP___415 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___415 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___415 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___415 = 3,
    PTHREAD_MUTEX_NORMAL___415 = 0,
    PTHREAD_MUTEX_RECURSIVE___415 = 1,
    PTHREAD_MUTEX_ERRORCHECK___415 = 2,
    PTHREAD_MUTEX_DEFAULT___415 = 0,
    PTHREAD_MUTEX_FAST_NP___415 = 0
} ;
enum __anonenum_931900394___415 {
    PTHREAD_MUTEX_STALLED___415 = 0,
    PTHREAD_MUTEX_STALLED_NP___415 = 0,
    PTHREAD_MUTEX_ROBUST___415 = 1,
    PTHREAD_MUTEX_ROBUST_NP___415 = 1
} ;
enum __anonenum_205214487___415 {
    PTHREAD_PRIO_NONE___415 = 0,
    PTHREAD_PRIO_INHERIT___415 = 1,
    PTHREAD_PRIO_PROTECT___415 = 2
} ;
enum __anonenum_25043950___415 {
    PTHREAD_RWLOCK_PREFER_READER_NP___415 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___415 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___415 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___415 = 0
} ;
enum __anonenum_436439511___415 {
    PTHREAD_INHERIT_SCHED___415 = 0,
    PTHREAD_EXPLICIT_SCHED___415 = 1
} ;
enum __anonenum_998661166___415 {
    PTHREAD_SCOPE_SYSTEM___415 = 0,
    PTHREAD_SCOPE_PROCESS___415 = 1
} ;
enum __anonenum_146137331___415 {
    PTHREAD_PROCESS_PRIVATE___415 = 0,
    PTHREAD_PROCESS_SHARED___415 = 1
} ;
enum __anonenum_53396917___415 {
    PTHREAD_CANCEL_ENABLE___415 = 0,
    PTHREAD_CANCEL_DISABLE___415 = 1
} ;
enum __anonenum_904563783___415 {
    PTHREAD_CANCEL_DEFERRED___415 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___415 = 1
} ;
enum __anonenum_672052974___415 {
    SSL_CT_VALIDATION_PERMISSIVE___415 = 0,
    SSL_CT_VALIDATION_STRICT___415 = 1
} ;
enum __anonenum_437032235___416 {
    _PC_LINK_MAX___416 = 0,
    _PC_MAX_CANON___416 = 1,
    _PC_MAX_INPUT___416 = 2,
    _PC_NAME_MAX___416 = 3,
    _PC_PATH_MAX___416 = 4,
    _PC_PIPE_BUF___416 = 5,
    _PC_CHOWN_RESTRICTED___416 = 6,
    _PC_NO_TRUNC___416 = 7,
    _PC_VDISABLE___416 = 8,
    _PC_SYNC_IO___416 = 9,
    _PC_ASYNC_IO___416 = 10,
    _PC_PRIO_IO___416 = 11,
    _PC_SOCK_MAXBUF___416 = 12,
    _PC_FILESIZEBITS___416 = 13,
    _PC_REC_INCR_XFER_SIZE___416 = 14,
    _PC_REC_MAX_XFER_SIZE___416 = 15,
    _PC_REC_MIN_XFER_SIZE___416 = 16,
    _PC_REC_XFER_ALIGN___416 = 17,
    _PC_ALLOC_SIZE_MIN___416 = 18,
    _PC_SYMLINK_MAX___416 = 19,
    _PC_2_SYMLINKS___416 = 20
} ;
enum __anonenum_315186338___416 {
    _SC_ARG_MAX___416 = 0,
    _SC_CHILD_MAX___416 = 1,
    _SC_CLK_TCK___416 = 2,
    _SC_NGROUPS_MAX___416 = 3,
    _SC_OPEN_MAX___416 = 4,
    _SC_STREAM_MAX___416 = 5,
    _SC_TZNAME_MAX___416 = 6,
    _SC_JOB_CONTROL___416 = 7,
    _SC_SAVED_IDS___416 = 8,
    _SC_REALTIME_SIGNALS___416 = 9,
    _SC_PRIORITY_SCHEDULING___416 = 10,
    _SC_TIMERS___416 = 11,
    _SC_ASYNCHRONOUS_IO___416 = 12,
    _SC_PRIORITIZED_IO___416 = 13,
    _SC_SYNCHRONIZED_IO___416 = 14,
    _SC_FSYNC___416 = 15,
    _SC_MAPPED_FILES___416 = 16,
    _SC_MEMLOCK___416 = 17,
    _SC_MEMLOCK_RANGE___416 = 18,
    _SC_MEMORY_PROTECTION___416 = 19,
    _SC_MESSAGE_PASSING___416 = 20,
    _SC_SEMAPHORES___416 = 21,
    _SC_SHARED_MEMORY_OBJECTS___416 = 22,
    _SC_AIO_LISTIO_MAX___416 = 23,
    _SC_AIO_MAX___416 = 24,
    _SC_AIO_PRIO_DELTA_MAX___416 = 25,
    _SC_DELAYTIMER_MAX___416 = 26,
    _SC_MQ_OPEN_MAX___416 = 27,
    _SC_MQ_PRIO_MAX___416 = 28,
    _SC_VERSION___416 = 29,
    _SC_PAGESIZE___416 = 30,
    _SC_RTSIG_MAX___416 = 31,
    _SC_SEM_NSEMS_MAX___416 = 32,
    _SC_SEM_VALUE_MAX___416 = 33,
    _SC_SIGQUEUE_MAX___416 = 34,
    _SC_TIMER_MAX___416 = 35,
    _SC_BC_BASE_MAX___416 = 36,
    _SC_BC_DIM_MAX___416 = 37,
    _SC_BC_SCALE_MAX___416 = 38,
    _SC_BC_STRING_MAX___416 = 39,
    _SC_COLL_WEIGHTS_MAX___416 = 40,
    _SC_EQUIV_CLASS_MAX___416 = 41,
    _SC_EXPR_NEST_MAX___416 = 42,
    _SC_LINE_MAX___416 = 43,
    _SC_RE_DUP_MAX___416 = 44,
    _SC_CHARCLASS_NAME_MAX___416 = 45,
    _SC_2_VERSION___416 = 46,
    _SC_2_C_BIND___416 = 47,
    _SC_2_C_DEV___416 = 48,
    _SC_2_FORT_DEV___416 = 49,
    _SC_2_FORT_RUN___416 = 50,
    _SC_2_SW_DEV___416 = 51,
    _SC_2_LOCALEDEF___416 = 52,
    _SC_PII___416 = 53,
    _SC_PII_XTI___416 = 54,
    _SC_PII_SOCKET___416 = 55,
    _SC_PII_INTERNET___416 = 56,
    _SC_PII_OSI___416 = 57,
    _SC_POLL___416 = 58,
    _SC_SELECT___416 = 59,
    _SC_UIO_MAXIOV___416 = 60,
    _SC_IOV_MAX___416 = 60,
    _SC_PII_INTERNET_STREAM___416 = 61,
    _SC_PII_INTERNET_DGRAM___416 = 62,
    _SC_PII_OSI_COTS___416 = 63,
    _SC_PII_OSI_CLTS___416 = 64,
    _SC_PII_OSI_M___416 = 65,
    _SC_T_IOV_MAX___416 = 66,
    _SC_THREADS___416 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___416 = 68,
    _SC_GETGR_R_SIZE_MAX___416 = 69,
    _SC_GETPW_R_SIZE_MAX___416 = 70,
    _SC_LOGIN_NAME_MAX___416 = 71,
    _SC_TTY_NAME_MAX___416 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___416 = 73,
    _SC_THREAD_KEYS_MAX___416 = 74,
    _SC_THREAD_STACK_MIN___416 = 75,
    _SC_THREAD_THREADS_MAX___416 = 76,
    _SC_THREAD_ATTR_STACKADDR___416 = 77,
    _SC_THREAD_ATTR_STACKSIZE___416 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___416 = 79,
    _SC_THREAD_PRIO_INHERIT___416 = 80,
    _SC_THREAD_PRIO_PROTECT___416 = 81,
    _SC_THREAD_PROCESS_SHARED___416 = 82,
    _SC_NPROCESSORS_CONF___416 = 83,
    _SC_NPROCESSORS_ONLN___416 = 84,
    _SC_PHYS_PAGES___416 = 85,
    _SC_AVPHYS_PAGES___416 = 86,
    _SC_ATEXIT_MAX___416 = 87,
    _SC_PASS_MAX___416 = 88,
    _SC_XOPEN_VERSION___416 = 89,
    _SC_XOPEN_XCU_VERSION___416 = 90,
    _SC_XOPEN_UNIX___416 = 91,
    _SC_XOPEN_CRYPT___416 = 92,
    _SC_XOPEN_ENH_I18N___416 = 93,
    _SC_XOPEN_SHM___416 = 94,
    _SC_2_CHAR_TERM___416 = 95,
    _SC_2_C_VERSION___416 = 96,
    _SC_2_UPE___416 = 97,
    _SC_XOPEN_XPG2___416 = 98,
    _SC_XOPEN_XPG3___416 = 99,
    _SC_XOPEN_XPG4___416 = 100,
    _SC_CHAR_BIT___416 = 101,
    _SC_CHAR_MAX___416 = 102,
    _SC_CHAR_MIN___416 = 103,
    _SC_INT_MAX___416 = 104,
    _SC_INT_MIN___416 = 105,
    _SC_LONG_BIT___416 = 106,
    _SC_WORD_BIT___416 = 107,
    _SC_MB_LEN_MAX___416 = 108,
    _SC_NZERO___416 = 109,
    _SC_SSIZE_MAX___416 = 110,
    _SC_SCHAR_MAX___416 = 111,
    _SC_SCHAR_MIN___416 = 112,
    _SC_SHRT_MAX___416 = 113,
    _SC_SHRT_MIN___416 = 114,
    _SC_UCHAR_MAX___416 = 115,
    _SC_UINT_MAX___416 = 116,
    _SC_ULONG_MAX___416 = 117,
    _SC_USHRT_MAX___416 = 118,
    _SC_NL_ARGMAX___416 = 119,
    _SC_NL_LANGMAX___416 = 120,
    _SC_NL_MSGMAX___416 = 121,
    _SC_NL_NMAX___416 = 122,
    _SC_NL_SETMAX___416 = 123,
    _SC_NL_TEXTMAX___416 = 124,
    _SC_XBS5_ILP32_OFF32___416 = 125,
    _SC_XBS5_ILP32_OFFBIG___416 = 126,
    _SC_XBS5_LP64_OFF64___416 = 127,
    _SC_XBS5_LPBIG_OFFBIG___416 = 128,
    _SC_XOPEN_LEGACY___416 = 129,
    _SC_XOPEN_REALTIME___416 = 130,
    _SC_XOPEN_REALTIME_THREADS___416 = 131,
    _SC_ADVISORY_INFO___416 = 132,
    _SC_BARRIERS___416 = 133,
    _SC_BASE___416 = 134,
    _SC_C_LANG_SUPPORT___416 = 135,
    _SC_C_LANG_SUPPORT_R___416 = 136,
    _SC_CLOCK_SELECTION___416 = 137,
    _SC_CPUTIME___416 = 138,
    _SC_THREAD_CPUTIME___416 = 139,
    _SC_DEVICE_IO___416 = 140,
    _SC_DEVICE_SPECIFIC___416 = 141,
    _SC_DEVICE_SPECIFIC_R___416 = 142,
    _SC_FD_MGMT___416 = 143,
    _SC_FIFO___416 = 144,
    _SC_PIPE___416 = 145,
    _SC_FILE_ATTRIBUTES___416 = 146,
    _SC_FILE_LOCKING___416 = 147,
    _SC_FILE_SYSTEM___416 = 148,
    _SC_MONOTONIC_CLOCK___416 = 149,
    _SC_MULTI_PROCESS___416 = 150,
    _SC_SINGLE_PROCESS___416 = 151,
    _SC_NETWORKING___416 = 152,
    _SC_READER_WRITER_LOCKS___416 = 153,
    _SC_SPIN_LOCKS___416 = 154,
    _SC_REGEXP___416 = 155,
    _SC_REGEX_VERSION___416 = 156,
    _SC_SHELL___416 = 157,
    _SC_SIGNALS___416 = 158,
    _SC_SPAWN___416 = 159,
    _SC_SPORADIC_SERVER___416 = 160,
    _SC_THREAD_SPORADIC_SERVER___416 = 161,
    _SC_SYSTEM_DATABASE___416 = 162,
    _SC_SYSTEM_DATABASE_R___416 = 163,
    _SC_TIMEOUTS___416 = 164,
    _SC_TYPED_MEMORY_OBJECTS___416 = 165,
    _SC_USER_GROUPS___416 = 166,
    _SC_USER_GROUPS_R___416 = 167,
    _SC_2_PBS___416 = 168,
    _SC_2_PBS_ACCOUNTING___416 = 169,
    _SC_2_PBS_LOCATE___416 = 170,
    _SC_2_PBS_MESSAGE___416 = 171,
    _SC_2_PBS_TRACK___416 = 172,
    _SC_SYMLOOP_MAX___416 = 173,
    _SC_STREAMS___416 = 174,
    _SC_2_PBS_CHECKPOINT___416 = 175,
    _SC_V6_ILP32_OFF32___416 = 176,
    _SC_V6_ILP32_OFFBIG___416 = 177,
    _SC_V6_LP64_OFF64___416 = 178,
    _SC_V6_LPBIG_OFFBIG___416 = 179,
    _SC_HOST_NAME_MAX___416 = 180,
    _SC_TRACE___416 = 181,
    _SC_TRACE_EVENT_FILTER___416 = 182,
    _SC_TRACE_INHERIT___416 = 183,
    _SC_TRACE_LOG___416 = 184,
    _SC_LEVEL1_ICACHE_SIZE___416 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___416 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___416 = 187,
    _SC_LEVEL1_DCACHE_SIZE___416 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___416 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___416 = 190,
    _SC_LEVEL2_CACHE_SIZE___416 = 191,
    _SC_LEVEL2_CACHE_ASSOC___416 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___416 = 193,
    _SC_LEVEL3_CACHE_SIZE___416 = 194,
    _SC_LEVEL3_CACHE_ASSOC___416 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___416 = 196,
    _SC_LEVEL4_CACHE_SIZE___416 = 197,
    _SC_LEVEL4_CACHE_ASSOC___416 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___416 = 199,
    _SC_IPV6___416 = 235,
    _SC_RAW_SOCKETS___416 = 236,
    _SC_V7_ILP32_OFF32___416 = 237,
    _SC_V7_ILP32_OFFBIG___416 = 238,
    _SC_V7_LP64_OFF64___416 = 239,
    _SC_V7_LPBIG_OFFBIG___416 = 240,
    _SC_SS_REPL_MAX___416 = 241,
    _SC_TRACE_EVENT_NAME_MAX___416 = 242,
    _SC_TRACE_NAME_MAX___416 = 243,
    _SC_TRACE_SYS_MAX___416 = 244,
    _SC_TRACE_USER_EVENT_MAX___416 = 245,
    _SC_XOPEN_STREAMS___416 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___416 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___416 = 248
} ;
enum __anonenum_875524036___416 {
    _CS_PATH___416 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___416 = 1,
    _CS_GNU_LIBC_VERSION___416 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___416 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___416 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___416 = 5,
    _CS_LFS_CFLAGS___416 = 1000,
    _CS_LFS_LDFLAGS___416 = 1001,
    _CS_LFS_LIBS___416 = 1002,
    _CS_LFS_LINTFLAGS___416 = 1003,
    _CS_LFS64_CFLAGS___416 = 1004,
    _CS_LFS64_LDFLAGS___416 = 1005,
    _CS_LFS64_LIBS___416 = 1006,
    _CS_LFS64_LINTFLAGS___416 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___416 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___416 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___416 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___416 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___416 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___416 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___416 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___416 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___416 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___416 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___416 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___416 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___416 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___416 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___416 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___416 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___416 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___416 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___416 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___416 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___416 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___416 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___416 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___416 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___416 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___416 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___416 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___416 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___416 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___416 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___416 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___416 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___416 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___416 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___416 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___416 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___416 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___416 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___416 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___416 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___416 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___416 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___416 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___416 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___416 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___416 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___416 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___416 = 1147,
    _CS_V6_ENV___416 = 1148,
    _CS_V7_ENV___416 = 1149
} ;
enum __anonenum_513775621___416 {
    DT_UNKNOWN___416 = 0,
    DT_FIFO___416 = 1,
    DT_CHR___416 = 2,
    DT_DIR___416 = 4,
    DT_BLK___416 = 6,
    DT_REG___416 = 8,
    DT_LNK___416 = 10,
    DT_SOCK___416 = 12,
    DT_WHT___416 = 14
} ;
enum __anonenum_77002343___416 {
    SI_ASYNCNL___416 = -60,
    SI_TKILL___416 = -6,
    SI_SIGIO___416 = -5,
    SI_ASYNCIO___416 = -4,
    SI_MESGQ___416 = -3,
    SI_TIMER___416 = -2,
    SI_QUEUE___416 = -1,
    SI_USER___416 = 0,
    SI_KERNEL___416 = 128
} ;
enum __anonenum_131038172___416 {
    ILL_ILLOPC___416 = 1,
    ILL_ILLOPN___416 = 2,
    ILL_ILLADR___416 = 3,
    ILL_ILLTRP___416 = 4,
    ILL_PRVOPC___416 = 5,
    ILL_PRVREG___416 = 6,
    ILL_COPROC___416 = 7,
    ILL_BADSTK___416 = 8
} ;
enum __anonenum_452038093___416 {
    FPE_INTDIV___416 = 1,
    FPE_INTOVF___416 = 2,
    FPE_FLTDIV___416 = 3,
    FPE_FLTOVF___416 = 4,
    FPE_FLTUND___416 = 5,
    FPE_FLTRES___416 = 6,
    FPE_FLTINV___416 = 7,
    FPE_FLTSUB___416 = 8
} ;
enum __anonenum_30976155___416 {
    SEGV_MAPERR___416 = 1,
    SEGV_ACCERR___416 = 2,
    SEGV_BNDERR___416 = 3,
    SEGV_PKUERR___416 = 4
} ;
enum __anonenum_1036286214___416 {
    BUS_ADRALN___416 = 1,
    BUS_ADRERR___416 = 2,
    BUS_OBJERR___416 = 3,
    BUS_MCEERR_AR___416 = 4,
    BUS_MCEERR_AO___416 = 5
} ;
enum __anonenum_493465559___416 {
    TRAP_BRKPT___416 = 1,
    TRAP_TRACE___416 = 2
} ;
enum __anonenum_23175539___416 {
    CLD_EXITED___416 = 1,
    CLD_KILLED___416 = 2,
    CLD_DUMPED___416 = 3,
    CLD_TRAPPED___416 = 4,
    CLD_STOPPED___416 = 5,
    CLD_CONTINUED___416 = 6
} ;
enum __anonenum_111643124___416 {
    POLL_IN___416 = 1,
    POLL_OUT___416 = 2,
    POLL_MSG___416 = 3,
    POLL_ERR___416 = 4,
    POLL_PRI___416 = 5,
    POLL_HUP___416 = 6
} ;
enum __anonenum_852341087___416 {
    SIGEV_SIGNAL___416 = 0,
    SIGEV_NONE___416 = 1,
    SIGEV_THREAD___416 = 2,
    SIGEV_THREAD_ID___416 = 4
} ;
enum __anonenum_451154152___416 {
    REG_R8___416 = 0,
    REG_R9___416 = 1,
    REG_R10___416 = 2,
    REG_R11___416 = 3,
    REG_R12___416 = 4,
    REG_R13___416 = 5,
    REG_R14___416 = 6,
    REG_R15___416 = 7,
    REG_RDI___416 = 8,
    REG_RSI___416 = 9,
    REG_RBP___416 = 10,
    REG_RBX___416 = 11,
    REG_RDX___416 = 12,
    REG_RAX___416 = 13,
    REG_RCX___416 = 14,
    REG_RSP___416 = 15,
    REG_RIP___416 = 16,
    REG_EFL___416 = 17,
    REG_CSGSFS___416 = 18,
    REG_ERR___416 = 19,
    REG_TRAPNO___416 = 20,
    REG_OLDMASK___416 = 21,
    REG_CR2___416 = 22
} ;
enum __anonenum_57186863___416 {
    SS_ONSTACK___416 = 1,
    SS_DISABLE___416 = 2
} ;
enum __anonenum_83571709___416 {
    MSG_OOB___416 = 1,
    MSG_PEEK___416 = 2,
    MSG_DONTROUTE___416 = 4,
    MSG_TRYHARD___416 = 4,
    MSG_CTRUNC___416 = 8,
    MSG_PROXY___416 = 16,
    MSG_TRUNC___416 = 32,
    MSG_DONTWAIT___416 = 64,
    MSG_EOR___416 = 128,
    MSG_WAITALL___416 = 256,
    MSG_FIN___416 = 512,
    MSG_SYN___416 = 1024,
    MSG_CONFIRM___416 = 2048,
    MSG_RST___416 = 4096,
    MSG_ERRQUEUE___416 = 8192,
    MSG_NOSIGNAL___416 = 16384,
    MSG_MORE___416 = 32768,
    MSG_WAITFORONE___416 = 65536,
    MSG_BATCH___416 = 262144,
    MSG_ZEROCOPY___416 = 67108864,
    MSG_FASTOPEN___416 = 536870912,
    MSG_CMSG_CLOEXEC___416 = 1073741824
} ;
enum __anonenum_617082774___416 {
    SCM_RIGHTS___416 = 1,
    SCM_CREDENTIALS___416 = 2
} ;
enum __anonenum_606441560___416 {
    SHUT_RD___416 = 0,
    SHUT_WR___416 = 1,
    SHUT_RDWR___416 = 2
} ;
enum __anonenum_681669233___416 {
    IPPROTO_IP___416 = 0,
    IPPROTO_ICMP___416 = 1,
    IPPROTO_IGMP___416 = 2,
    IPPROTO_IPIP___416 = 4,
    IPPROTO_TCP___416 = 6,
    IPPROTO_EGP___416 = 8,
    IPPROTO_PUP___416 = 12,
    IPPROTO_UDP___416 = 17,
    IPPROTO_IDP___416 = 22,
    IPPROTO_TP___416 = 29,
    IPPROTO_DCCP___416 = 33,
    IPPROTO_IPV6___416 = 41,
    IPPROTO_RSVP___416 = 46,
    IPPROTO_GRE___416 = 47,
    IPPROTO_ESP___416 = 50,
    IPPROTO_AH___416 = 51,
    IPPROTO_MTP___416 = 92,
    IPPROTO_BEETPH___416 = 94,
    IPPROTO_ENCAP___416 = 98,
    IPPROTO_PIM___416 = 103,
    IPPROTO_COMP___416 = 108,
    IPPROTO_SCTP___416 = 132,
    IPPROTO_UDPLITE___416 = 136,
    IPPROTO_MPLS___416 = 137,
    IPPROTO_RAW___416 = 255,
    IPPROTO_MAX___416 = 256
} ;
enum __anonenum_218739988___416 {
    IPPROTO_HOPOPTS___416 = 0,
    IPPROTO_ROUTING___416 = 43,
    IPPROTO_FRAGMENT___416 = 44,
    IPPROTO_ICMPV6___416 = 58,
    IPPROTO_NONE___416 = 59,
    IPPROTO_DSTOPTS___416 = 60,
    IPPROTO_MH___416 = 135
} ;
enum __anonenum_662268580___416 {
    IPPORT_ECHO___416 = 7,
    IPPORT_DISCARD___416 = 9,
    IPPORT_SYSTAT___416 = 11,
    IPPORT_DAYTIME___416 = 13,
    IPPORT_NETSTAT___416 = 15,
    IPPORT_FTP___416 = 21,
    IPPORT_TELNET___416 = 23,
    IPPORT_SMTP___416 = 25,
    IPPORT_TIMESERVER___416 = 37,
    IPPORT_NAMESERVER___416 = 42,
    IPPORT_WHOIS___416 = 43,
    IPPORT_MTP___416 = 57,
    IPPORT_TFTP___416 = 69,
    IPPORT_RJE___416 = 77,
    IPPORT_FINGER___416 = 79,
    IPPORT_TTYLINK___416 = 87,
    IPPORT_SUPDUP___416 = 95,
    IPPORT_EXECSERVER___416 = 512,
    IPPORT_LOGINSERVER___416 = 513,
    IPPORT_CMDSERVER___416 = 514,
    IPPORT_EFSSERVER___416 = 520,
    IPPORT_BIFFUDP___416 = 512,
    IPPORT_WHOSERVER___416 = 513,
    IPPORT_ROUTESERVER___416 = 520,
    IPPORT_RESERVED___416 = 1024,
    IPPORT_USERRESERVED___416 = 5000
} ;
enum __anonenum_788308992___416 {
    TCP_ESTABLISHED___416 = 1,
    TCP_SYN_SENT___416 = 2,
    TCP_SYN_RECV___416 = 3,
    TCP_FIN_WAIT1___416 = 4,
    TCP_FIN_WAIT2___416 = 5,
    TCP_TIME_WAIT___416 = 6,
    TCP_CLOSE___416 = 7,
    TCP_CLOSE_WAIT___416 = 8,
    TCP_LAST_ACK___416 = 9,
    TCP_LISTEN___416 = 10,
    TCP_CLOSING___416 = 11
} ;
enum __anonenum_221125648___416 {
    TCP_NO_QUEUE___416 = 0,
    TCP_RECV_QUEUE___416 = 1,
    TCP_SEND_QUEUE___416 = 2,
    TCP_QUEUES_NR___416 = 3
} ;
enum __anonenum_34415463___416 {
    PTHREAD_CREATE_JOINABLE___416 = 0,
    PTHREAD_CREATE_DETACHED___416 = 1
} ;
enum __anonenum_303612439___416 {
    PTHREAD_MUTEX_TIMED_NP___416 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___416 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___416 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___416 = 3,
    PTHREAD_MUTEX_NORMAL___416 = 0,
    PTHREAD_MUTEX_RECURSIVE___416 = 1,
    PTHREAD_MUTEX_ERRORCHECK___416 = 2,
    PTHREAD_MUTEX_DEFAULT___416 = 0,
    PTHREAD_MUTEX_FAST_NP___416 = 0
} ;
enum __anonenum_931900394___416 {
    PTHREAD_MUTEX_STALLED___416 = 0,
    PTHREAD_MUTEX_STALLED_NP___416 = 0,
    PTHREAD_MUTEX_ROBUST___416 = 1,
    PTHREAD_MUTEX_ROBUST_NP___416 = 1
} ;
enum __anonenum_205214487___416 {
    PTHREAD_PRIO_NONE___416 = 0,
    PTHREAD_PRIO_INHERIT___416 = 1,
    PTHREAD_PRIO_PROTECT___416 = 2
} ;
enum __anonenum_25043950___416 {
    PTHREAD_RWLOCK_PREFER_READER_NP___416 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___416 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___416 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___416 = 0
} ;
enum __anonenum_436439511___416 {
    PTHREAD_INHERIT_SCHED___416 = 0,
    PTHREAD_EXPLICIT_SCHED___416 = 1
} ;
enum __anonenum_998661166___416 {
    PTHREAD_SCOPE_SYSTEM___416 = 0,
    PTHREAD_SCOPE_PROCESS___416 = 1
} ;
enum __anonenum_146137331___416 {
    PTHREAD_PROCESS_PRIVATE___416 = 0,
    PTHREAD_PROCESS_SHARED___416 = 1
} ;
enum __anonenum_53396917___416 {
    PTHREAD_CANCEL_ENABLE___416 = 0,
    PTHREAD_CANCEL_DISABLE___416 = 1
} ;
enum __anonenum_904563783___416 {
    PTHREAD_CANCEL_DEFERRED___416 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___416 = 1
} ;
enum __anonenum_672052974___416 {
    SSL_CT_VALIDATION_PERMISSIVE___416 = 0,
    SSL_CT_VALIDATION_STRICT___416 = 1
} ;
enum __anonenum_437032235___417 {
    _PC_LINK_MAX___417 = 0,
    _PC_MAX_CANON___417 = 1,
    _PC_MAX_INPUT___417 = 2,
    _PC_NAME_MAX___417 = 3,
    _PC_PATH_MAX___417 = 4,
    _PC_PIPE_BUF___417 = 5,
    _PC_CHOWN_RESTRICTED___417 = 6,
    _PC_NO_TRUNC___417 = 7,
    _PC_VDISABLE___417 = 8,
    _PC_SYNC_IO___417 = 9,
    _PC_ASYNC_IO___417 = 10,
    _PC_PRIO_IO___417 = 11,
    _PC_SOCK_MAXBUF___417 = 12,
    _PC_FILESIZEBITS___417 = 13,
    _PC_REC_INCR_XFER_SIZE___417 = 14,
    _PC_REC_MAX_XFER_SIZE___417 = 15,
    _PC_REC_MIN_XFER_SIZE___417 = 16,
    _PC_REC_XFER_ALIGN___417 = 17,
    _PC_ALLOC_SIZE_MIN___417 = 18,
    _PC_SYMLINK_MAX___417 = 19,
    _PC_2_SYMLINKS___417 = 20
} ;
enum __anonenum_315186338___417 {
    _SC_ARG_MAX___417 = 0,
    _SC_CHILD_MAX___417 = 1,
    _SC_CLK_TCK___417 = 2,
    _SC_NGROUPS_MAX___417 = 3,
    _SC_OPEN_MAX___417 = 4,
    _SC_STREAM_MAX___417 = 5,
    _SC_TZNAME_MAX___417 = 6,
    _SC_JOB_CONTROL___417 = 7,
    _SC_SAVED_IDS___417 = 8,
    _SC_REALTIME_SIGNALS___417 = 9,
    _SC_PRIORITY_SCHEDULING___417 = 10,
    _SC_TIMERS___417 = 11,
    _SC_ASYNCHRONOUS_IO___417 = 12,
    _SC_PRIORITIZED_IO___417 = 13,
    _SC_SYNCHRONIZED_IO___417 = 14,
    _SC_FSYNC___417 = 15,
    _SC_MAPPED_FILES___417 = 16,
    _SC_MEMLOCK___417 = 17,
    _SC_MEMLOCK_RANGE___417 = 18,
    _SC_MEMORY_PROTECTION___417 = 19,
    _SC_MESSAGE_PASSING___417 = 20,
    _SC_SEMAPHORES___417 = 21,
    _SC_SHARED_MEMORY_OBJECTS___417 = 22,
    _SC_AIO_LISTIO_MAX___417 = 23,
    _SC_AIO_MAX___417 = 24,
    _SC_AIO_PRIO_DELTA_MAX___417 = 25,
    _SC_DELAYTIMER_MAX___417 = 26,
    _SC_MQ_OPEN_MAX___417 = 27,
    _SC_MQ_PRIO_MAX___417 = 28,
    _SC_VERSION___417 = 29,
    _SC_PAGESIZE___417 = 30,
    _SC_RTSIG_MAX___417 = 31,
    _SC_SEM_NSEMS_MAX___417 = 32,
    _SC_SEM_VALUE_MAX___417 = 33,
    _SC_SIGQUEUE_MAX___417 = 34,
    _SC_TIMER_MAX___417 = 35,
    _SC_BC_BASE_MAX___417 = 36,
    _SC_BC_DIM_MAX___417 = 37,
    _SC_BC_SCALE_MAX___417 = 38,
    _SC_BC_STRING_MAX___417 = 39,
    _SC_COLL_WEIGHTS_MAX___417 = 40,
    _SC_EQUIV_CLASS_MAX___417 = 41,
    _SC_EXPR_NEST_MAX___417 = 42,
    _SC_LINE_MAX___417 = 43,
    _SC_RE_DUP_MAX___417 = 44,
    _SC_CHARCLASS_NAME_MAX___417 = 45,
    _SC_2_VERSION___417 = 46,
    _SC_2_C_BIND___417 = 47,
    _SC_2_C_DEV___417 = 48,
    _SC_2_FORT_DEV___417 = 49,
    _SC_2_FORT_RUN___417 = 50,
    _SC_2_SW_DEV___417 = 51,
    _SC_2_LOCALEDEF___417 = 52,
    _SC_PII___417 = 53,
    _SC_PII_XTI___417 = 54,
    _SC_PII_SOCKET___417 = 55,
    _SC_PII_INTERNET___417 = 56,
    _SC_PII_OSI___417 = 57,
    _SC_POLL___417 = 58,
    _SC_SELECT___417 = 59,
    _SC_UIO_MAXIOV___417 = 60,
    _SC_IOV_MAX___417 = 60,
    _SC_PII_INTERNET_STREAM___417 = 61,
    _SC_PII_INTERNET_DGRAM___417 = 62,
    _SC_PII_OSI_COTS___417 = 63,
    _SC_PII_OSI_CLTS___417 = 64,
    _SC_PII_OSI_M___417 = 65,
    _SC_T_IOV_MAX___417 = 66,
    _SC_THREADS___417 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___417 = 68,
    _SC_GETGR_R_SIZE_MAX___417 = 69,
    _SC_GETPW_R_SIZE_MAX___417 = 70,
    _SC_LOGIN_NAME_MAX___417 = 71,
    _SC_TTY_NAME_MAX___417 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___417 = 73,
    _SC_THREAD_KEYS_MAX___417 = 74,
    _SC_THREAD_STACK_MIN___417 = 75,
    _SC_THREAD_THREADS_MAX___417 = 76,
    _SC_THREAD_ATTR_STACKADDR___417 = 77,
    _SC_THREAD_ATTR_STACKSIZE___417 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___417 = 79,
    _SC_THREAD_PRIO_INHERIT___417 = 80,
    _SC_THREAD_PRIO_PROTECT___417 = 81,
    _SC_THREAD_PROCESS_SHARED___417 = 82,
    _SC_NPROCESSORS_CONF___417 = 83,
    _SC_NPROCESSORS_ONLN___417 = 84,
    _SC_PHYS_PAGES___417 = 85,
    _SC_AVPHYS_PAGES___417 = 86,
    _SC_ATEXIT_MAX___417 = 87,
    _SC_PASS_MAX___417 = 88,
    _SC_XOPEN_VERSION___417 = 89,
    _SC_XOPEN_XCU_VERSION___417 = 90,
    _SC_XOPEN_UNIX___417 = 91,
    _SC_XOPEN_CRYPT___417 = 92,
    _SC_XOPEN_ENH_I18N___417 = 93,
    _SC_XOPEN_SHM___417 = 94,
    _SC_2_CHAR_TERM___417 = 95,
    _SC_2_C_VERSION___417 = 96,
    _SC_2_UPE___417 = 97,
    _SC_XOPEN_XPG2___417 = 98,
    _SC_XOPEN_XPG3___417 = 99,
    _SC_XOPEN_XPG4___417 = 100,
    _SC_CHAR_BIT___417 = 101,
    _SC_CHAR_MAX___417 = 102,
    _SC_CHAR_MIN___417 = 103,
    _SC_INT_MAX___417 = 104,
    _SC_INT_MIN___417 = 105,
    _SC_LONG_BIT___417 = 106,
    _SC_WORD_BIT___417 = 107,
    _SC_MB_LEN_MAX___417 = 108,
    _SC_NZERO___417 = 109,
    _SC_SSIZE_MAX___417 = 110,
    _SC_SCHAR_MAX___417 = 111,
    _SC_SCHAR_MIN___417 = 112,
    _SC_SHRT_MAX___417 = 113,
    _SC_SHRT_MIN___417 = 114,
    _SC_UCHAR_MAX___417 = 115,
    _SC_UINT_MAX___417 = 116,
    _SC_ULONG_MAX___417 = 117,
    _SC_USHRT_MAX___417 = 118,
    _SC_NL_ARGMAX___417 = 119,
    _SC_NL_LANGMAX___417 = 120,
    _SC_NL_MSGMAX___417 = 121,
    _SC_NL_NMAX___417 = 122,
    _SC_NL_SETMAX___417 = 123,
    _SC_NL_TEXTMAX___417 = 124,
    _SC_XBS5_ILP32_OFF32___417 = 125,
    _SC_XBS5_ILP32_OFFBIG___417 = 126,
    _SC_XBS5_LP64_OFF64___417 = 127,
    _SC_XBS5_LPBIG_OFFBIG___417 = 128,
    _SC_XOPEN_LEGACY___417 = 129,
    _SC_XOPEN_REALTIME___417 = 130,
    _SC_XOPEN_REALTIME_THREADS___417 = 131,
    _SC_ADVISORY_INFO___417 = 132,
    _SC_BARRIERS___417 = 133,
    _SC_BASE___417 = 134,
    _SC_C_LANG_SUPPORT___417 = 135,
    _SC_C_LANG_SUPPORT_R___417 = 136,
    _SC_CLOCK_SELECTION___417 = 137,
    _SC_CPUTIME___417 = 138,
    _SC_THREAD_CPUTIME___417 = 139,
    _SC_DEVICE_IO___417 = 140,
    _SC_DEVICE_SPECIFIC___417 = 141,
    _SC_DEVICE_SPECIFIC_R___417 = 142,
    _SC_FD_MGMT___417 = 143,
    _SC_FIFO___417 = 144,
    _SC_PIPE___417 = 145,
    _SC_FILE_ATTRIBUTES___417 = 146,
    _SC_FILE_LOCKING___417 = 147,
    _SC_FILE_SYSTEM___417 = 148,
    _SC_MONOTONIC_CLOCK___417 = 149,
    _SC_MULTI_PROCESS___417 = 150,
    _SC_SINGLE_PROCESS___417 = 151,
    _SC_NETWORKING___417 = 152,
    _SC_READER_WRITER_LOCKS___417 = 153,
    _SC_SPIN_LOCKS___417 = 154,
    _SC_REGEXP___417 = 155,
    _SC_REGEX_VERSION___417 = 156,
    _SC_SHELL___417 = 157,
    _SC_SIGNALS___417 = 158,
    _SC_SPAWN___417 = 159,
    _SC_SPORADIC_SERVER___417 = 160,
    _SC_THREAD_SPORADIC_SERVER___417 = 161,
    _SC_SYSTEM_DATABASE___417 = 162,
    _SC_SYSTEM_DATABASE_R___417 = 163,
    _SC_TIMEOUTS___417 = 164,
    _SC_TYPED_MEMORY_OBJECTS___417 = 165,
    _SC_USER_GROUPS___417 = 166,
    _SC_USER_GROUPS_R___417 = 167,
    _SC_2_PBS___417 = 168,
    _SC_2_PBS_ACCOUNTING___417 = 169,
    _SC_2_PBS_LOCATE___417 = 170,
    _SC_2_PBS_MESSAGE___417 = 171,
    _SC_2_PBS_TRACK___417 = 172,
    _SC_SYMLOOP_MAX___417 = 173,
    _SC_STREAMS___417 = 174,
    _SC_2_PBS_CHECKPOINT___417 = 175,
    _SC_V6_ILP32_OFF32___417 = 176,
    _SC_V6_ILP32_OFFBIG___417 = 177,
    _SC_V6_LP64_OFF64___417 = 178,
    _SC_V6_LPBIG_OFFBIG___417 = 179,
    _SC_HOST_NAME_MAX___417 = 180,
    _SC_TRACE___417 = 181,
    _SC_TRACE_EVENT_FILTER___417 = 182,
    _SC_TRACE_INHERIT___417 = 183,
    _SC_TRACE_LOG___417 = 184,
    _SC_LEVEL1_ICACHE_SIZE___417 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___417 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___417 = 187,
    _SC_LEVEL1_DCACHE_SIZE___417 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___417 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___417 = 190,
    _SC_LEVEL2_CACHE_SIZE___417 = 191,
    _SC_LEVEL2_CACHE_ASSOC___417 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___417 = 193,
    _SC_LEVEL3_CACHE_SIZE___417 = 194,
    _SC_LEVEL3_CACHE_ASSOC___417 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___417 = 196,
    _SC_LEVEL4_CACHE_SIZE___417 = 197,
    _SC_LEVEL4_CACHE_ASSOC___417 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___417 = 199,
    _SC_IPV6___417 = 235,
    _SC_RAW_SOCKETS___417 = 236,
    _SC_V7_ILP32_OFF32___417 = 237,
    _SC_V7_ILP32_OFFBIG___417 = 238,
    _SC_V7_LP64_OFF64___417 = 239,
    _SC_V7_LPBIG_OFFBIG___417 = 240,
    _SC_SS_REPL_MAX___417 = 241,
    _SC_TRACE_EVENT_NAME_MAX___417 = 242,
    _SC_TRACE_NAME_MAX___417 = 243,
    _SC_TRACE_SYS_MAX___417 = 244,
    _SC_TRACE_USER_EVENT_MAX___417 = 245,
    _SC_XOPEN_STREAMS___417 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___417 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___417 = 248
} ;
enum __anonenum_875524036___417 {
    _CS_PATH___417 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___417 = 1,
    _CS_GNU_LIBC_VERSION___417 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___417 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___417 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___417 = 5,
    _CS_LFS_CFLAGS___417 = 1000,
    _CS_LFS_LDFLAGS___417 = 1001,
    _CS_LFS_LIBS___417 = 1002,
    _CS_LFS_LINTFLAGS___417 = 1003,
    _CS_LFS64_CFLAGS___417 = 1004,
    _CS_LFS64_LDFLAGS___417 = 1005,
    _CS_LFS64_LIBS___417 = 1006,
    _CS_LFS64_LINTFLAGS___417 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___417 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___417 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___417 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___417 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___417 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___417 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___417 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___417 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___417 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___417 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___417 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___417 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___417 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___417 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___417 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___417 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___417 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___417 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___417 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___417 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___417 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___417 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___417 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___417 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___417 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___417 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___417 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___417 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___417 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___417 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___417 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___417 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___417 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___417 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___417 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___417 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___417 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___417 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___417 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___417 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___417 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___417 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___417 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___417 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___417 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___417 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___417 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___417 = 1147,
    _CS_V6_ENV___417 = 1148,
    _CS_V7_ENV___417 = 1149
} ;
enum __anonenum_513775621___417 {
    DT_UNKNOWN___417 = 0,
    DT_FIFO___417 = 1,
    DT_CHR___417 = 2,
    DT_DIR___417 = 4,
    DT_BLK___417 = 6,
    DT_REG___417 = 8,
    DT_LNK___417 = 10,
    DT_SOCK___417 = 12,
    DT_WHT___417 = 14
} ;
enum __anonenum_77002343___417 {
    SI_ASYNCNL___417 = -60,
    SI_TKILL___417 = -6,
    SI_SIGIO___417 = -5,
    SI_ASYNCIO___417 = -4,
    SI_MESGQ___417 = -3,
    SI_TIMER___417 = -2,
    SI_QUEUE___417 = -1,
    SI_USER___417 = 0,
    SI_KERNEL___417 = 128
} ;
enum __anonenum_131038172___417 {
    ILL_ILLOPC___417 = 1,
    ILL_ILLOPN___417 = 2,
    ILL_ILLADR___417 = 3,
    ILL_ILLTRP___417 = 4,
    ILL_PRVOPC___417 = 5,
    ILL_PRVREG___417 = 6,
    ILL_COPROC___417 = 7,
    ILL_BADSTK___417 = 8
} ;
enum __anonenum_452038093___417 {
    FPE_INTDIV___417 = 1,
    FPE_INTOVF___417 = 2,
    FPE_FLTDIV___417 = 3,
    FPE_FLTOVF___417 = 4,
    FPE_FLTUND___417 = 5,
    FPE_FLTRES___417 = 6,
    FPE_FLTINV___417 = 7,
    FPE_FLTSUB___417 = 8
} ;
enum __anonenum_30976155___417 {
    SEGV_MAPERR___417 = 1,
    SEGV_ACCERR___417 = 2,
    SEGV_BNDERR___417 = 3,
    SEGV_PKUERR___417 = 4
} ;
enum __anonenum_1036286214___417 {
    BUS_ADRALN___417 = 1,
    BUS_ADRERR___417 = 2,
    BUS_OBJERR___417 = 3,
    BUS_MCEERR_AR___417 = 4,
    BUS_MCEERR_AO___417 = 5
} ;
enum __anonenum_493465559___417 {
    TRAP_BRKPT___417 = 1,
    TRAP_TRACE___417 = 2
} ;
enum __anonenum_23175539___417 {
    CLD_EXITED___417 = 1,
    CLD_KILLED___417 = 2,
    CLD_DUMPED___417 = 3,
    CLD_TRAPPED___417 = 4,
    CLD_STOPPED___417 = 5,
    CLD_CONTINUED___417 = 6
} ;
enum __anonenum_111643124___417 {
    POLL_IN___417 = 1,
    POLL_OUT___417 = 2,
    POLL_MSG___417 = 3,
    POLL_ERR___417 = 4,
    POLL_PRI___417 = 5,
    POLL_HUP___417 = 6
} ;
enum __anonenum_852341087___417 {
    SIGEV_SIGNAL___417 = 0,
    SIGEV_NONE___417 = 1,
    SIGEV_THREAD___417 = 2,
    SIGEV_THREAD_ID___417 = 4
} ;
enum __anonenum_451154152___417 {
    REG_R8___417 = 0,
    REG_R9___417 = 1,
    REG_R10___417 = 2,
    REG_R11___417 = 3,
    REG_R12___417 = 4,
    REG_R13___417 = 5,
    REG_R14___417 = 6,
    REG_R15___417 = 7,
    REG_RDI___417 = 8,
    REG_RSI___417 = 9,
    REG_RBP___417 = 10,
    REG_RBX___417 = 11,
    REG_RDX___417 = 12,
    REG_RAX___417 = 13,
    REG_RCX___417 = 14,
    REG_RSP___417 = 15,
    REG_RIP___417 = 16,
    REG_EFL___417 = 17,
    REG_CSGSFS___417 = 18,
    REG_ERR___417 = 19,
    REG_TRAPNO___417 = 20,
    REG_OLDMASK___417 = 21,
    REG_CR2___417 = 22
} ;
enum __anonenum_57186863___417 {
    SS_ONSTACK___417 = 1,
    SS_DISABLE___417 = 2
} ;
enum __anonenum_83571709___417 {
    MSG_OOB___417 = 1,
    MSG_PEEK___417 = 2,
    MSG_DONTROUTE___417 = 4,
    MSG_TRYHARD___417 = 4,
    MSG_CTRUNC___417 = 8,
    MSG_PROXY___417 = 16,
    MSG_TRUNC___417 = 32,
    MSG_DONTWAIT___417 = 64,
    MSG_EOR___417 = 128,
    MSG_WAITALL___417 = 256,
    MSG_FIN___417 = 512,
    MSG_SYN___417 = 1024,
    MSG_CONFIRM___417 = 2048,
    MSG_RST___417 = 4096,
    MSG_ERRQUEUE___417 = 8192,
    MSG_NOSIGNAL___417 = 16384,
    MSG_MORE___417 = 32768,
    MSG_WAITFORONE___417 = 65536,
    MSG_BATCH___417 = 262144,
    MSG_ZEROCOPY___417 = 67108864,
    MSG_FASTOPEN___417 = 536870912,
    MSG_CMSG_CLOEXEC___417 = 1073741824
} ;
enum __anonenum_617082774___417 {
    SCM_RIGHTS___417 = 1,
    SCM_CREDENTIALS___417 = 2
} ;
enum __anonenum_606441560___417 {
    SHUT_RD___417 = 0,
    SHUT_WR___417 = 1,
    SHUT_RDWR___417 = 2
} ;
enum __anonenum_681669233___417 {
    IPPROTO_IP___417 = 0,
    IPPROTO_ICMP___417 = 1,
    IPPROTO_IGMP___417 = 2,
    IPPROTO_IPIP___417 = 4,
    IPPROTO_TCP___417 = 6,
    IPPROTO_EGP___417 = 8,
    IPPROTO_PUP___417 = 12,
    IPPROTO_UDP___417 = 17,
    IPPROTO_IDP___417 = 22,
    IPPROTO_TP___417 = 29,
    IPPROTO_DCCP___417 = 33,
    IPPROTO_IPV6___417 = 41,
    IPPROTO_RSVP___417 = 46,
    IPPROTO_GRE___417 = 47,
    IPPROTO_ESP___417 = 50,
    IPPROTO_AH___417 = 51,
    IPPROTO_MTP___417 = 92,
    IPPROTO_BEETPH___417 = 94,
    IPPROTO_ENCAP___417 = 98,
    IPPROTO_PIM___417 = 103,
    IPPROTO_COMP___417 = 108,
    IPPROTO_SCTP___417 = 132,
    IPPROTO_UDPLITE___417 = 136,
    IPPROTO_MPLS___417 = 137,
    IPPROTO_RAW___417 = 255,
    IPPROTO_MAX___417 = 256
} ;
enum __anonenum_218739988___417 {
    IPPROTO_HOPOPTS___417 = 0,
    IPPROTO_ROUTING___417 = 43,
    IPPROTO_FRAGMENT___417 = 44,
    IPPROTO_ICMPV6___417 = 58,
    IPPROTO_NONE___417 = 59,
    IPPROTO_DSTOPTS___417 = 60,
    IPPROTO_MH___417 = 135
} ;
enum __anonenum_662268580___417 {
    IPPORT_ECHO___417 = 7,
    IPPORT_DISCARD___417 = 9,
    IPPORT_SYSTAT___417 = 11,
    IPPORT_DAYTIME___417 = 13,
    IPPORT_NETSTAT___417 = 15,
    IPPORT_FTP___417 = 21,
    IPPORT_TELNET___417 = 23,
    IPPORT_SMTP___417 = 25,
    IPPORT_TIMESERVER___417 = 37,
    IPPORT_NAMESERVER___417 = 42,
    IPPORT_WHOIS___417 = 43,
    IPPORT_MTP___417 = 57,
    IPPORT_TFTP___417 = 69,
    IPPORT_RJE___417 = 77,
    IPPORT_FINGER___417 = 79,
    IPPORT_TTYLINK___417 = 87,
    IPPORT_SUPDUP___417 = 95,
    IPPORT_EXECSERVER___417 = 512,
    IPPORT_LOGINSERVER___417 = 513,
    IPPORT_CMDSERVER___417 = 514,
    IPPORT_EFSSERVER___417 = 520,
    IPPORT_BIFFUDP___417 = 512,
    IPPORT_WHOSERVER___417 = 513,
    IPPORT_ROUTESERVER___417 = 520,
    IPPORT_RESERVED___417 = 1024,
    IPPORT_USERRESERVED___417 = 5000
} ;
enum __anonenum_788308992___417 {
    TCP_ESTABLISHED___417 = 1,
    TCP_SYN_SENT___417 = 2,
    TCP_SYN_RECV___417 = 3,
    TCP_FIN_WAIT1___417 = 4,
    TCP_FIN_WAIT2___417 = 5,
    TCP_TIME_WAIT___417 = 6,
    TCP_CLOSE___417 = 7,
    TCP_CLOSE_WAIT___417 = 8,
    TCP_LAST_ACK___417 = 9,
    TCP_LISTEN___417 = 10,
    TCP_CLOSING___417 = 11
} ;
enum __anonenum_221125648___417 {
    TCP_NO_QUEUE___417 = 0,
    TCP_RECV_QUEUE___417 = 1,
    TCP_SEND_QUEUE___417 = 2,
    TCP_QUEUES_NR___417 = 3
} ;
enum __anonenum_34415463___417 {
    PTHREAD_CREATE_JOINABLE___417 = 0,
    PTHREAD_CREATE_DETACHED___417 = 1
} ;
enum __anonenum_303612439___417 {
    PTHREAD_MUTEX_TIMED_NP___417 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___417 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___417 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___417 = 3,
    PTHREAD_MUTEX_NORMAL___417 = 0,
    PTHREAD_MUTEX_RECURSIVE___417 = 1,
    PTHREAD_MUTEX_ERRORCHECK___417 = 2,
    PTHREAD_MUTEX_DEFAULT___417 = 0,
    PTHREAD_MUTEX_FAST_NP___417 = 0
} ;
enum __anonenum_931900394___417 {
    PTHREAD_MUTEX_STALLED___417 = 0,
    PTHREAD_MUTEX_STALLED_NP___417 = 0,
    PTHREAD_MUTEX_ROBUST___417 = 1,
    PTHREAD_MUTEX_ROBUST_NP___417 = 1
} ;
enum __anonenum_205214487___417 {
    PTHREAD_PRIO_NONE___417 = 0,
    PTHREAD_PRIO_INHERIT___417 = 1,
    PTHREAD_PRIO_PROTECT___417 = 2
} ;
enum __anonenum_25043950___417 {
    PTHREAD_RWLOCK_PREFER_READER_NP___417 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___417 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___417 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___417 = 0
} ;
enum __anonenum_436439511___417 {
    PTHREAD_INHERIT_SCHED___417 = 0,
    PTHREAD_EXPLICIT_SCHED___417 = 1
} ;
enum __anonenum_998661166___417 {
    PTHREAD_SCOPE_SYSTEM___417 = 0,
    PTHREAD_SCOPE_PROCESS___417 = 1
} ;
enum __anonenum_146137331___417 {
    PTHREAD_PROCESS_PRIVATE___417 = 0,
    PTHREAD_PROCESS_SHARED___417 = 1
} ;
enum __anonenum_53396917___417 {
    PTHREAD_CANCEL_ENABLE___417 = 0,
    PTHREAD_CANCEL_DISABLE___417 = 1
} ;
enum __anonenum_904563783___417 {
    PTHREAD_CANCEL_DEFERRED___417 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___417 = 1
} ;
enum __anonenum_672052974___417 {
    SSL_CT_VALIDATION_PERMISSIVE___417 = 0,
    SSL_CT_VALIDATION_STRICT___417 = 1
} ;
enum __anonenum_437032235___418 {
    _PC_LINK_MAX___418 = 0,
    _PC_MAX_CANON___418 = 1,
    _PC_MAX_INPUT___418 = 2,
    _PC_NAME_MAX___418 = 3,
    _PC_PATH_MAX___418 = 4,
    _PC_PIPE_BUF___418 = 5,
    _PC_CHOWN_RESTRICTED___418 = 6,
    _PC_NO_TRUNC___418 = 7,
    _PC_VDISABLE___418 = 8,
    _PC_SYNC_IO___418 = 9,
    _PC_ASYNC_IO___418 = 10,
    _PC_PRIO_IO___418 = 11,
    _PC_SOCK_MAXBUF___418 = 12,
    _PC_FILESIZEBITS___418 = 13,
    _PC_REC_INCR_XFER_SIZE___418 = 14,
    _PC_REC_MAX_XFER_SIZE___418 = 15,
    _PC_REC_MIN_XFER_SIZE___418 = 16,
    _PC_REC_XFER_ALIGN___418 = 17,
    _PC_ALLOC_SIZE_MIN___418 = 18,
    _PC_SYMLINK_MAX___418 = 19,
    _PC_2_SYMLINKS___418 = 20
} ;
enum __anonenum_315186338___418 {
    _SC_ARG_MAX___418 = 0,
    _SC_CHILD_MAX___418 = 1,
    _SC_CLK_TCK___418 = 2,
    _SC_NGROUPS_MAX___418 = 3,
    _SC_OPEN_MAX___418 = 4,
    _SC_STREAM_MAX___418 = 5,
    _SC_TZNAME_MAX___418 = 6,
    _SC_JOB_CONTROL___418 = 7,
    _SC_SAVED_IDS___418 = 8,
    _SC_REALTIME_SIGNALS___418 = 9,
    _SC_PRIORITY_SCHEDULING___418 = 10,
    _SC_TIMERS___418 = 11,
    _SC_ASYNCHRONOUS_IO___418 = 12,
    _SC_PRIORITIZED_IO___418 = 13,
    _SC_SYNCHRONIZED_IO___418 = 14,
    _SC_FSYNC___418 = 15,
    _SC_MAPPED_FILES___418 = 16,
    _SC_MEMLOCK___418 = 17,
    _SC_MEMLOCK_RANGE___418 = 18,
    _SC_MEMORY_PROTECTION___418 = 19,
    _SC_MESSAGE_PASSING___418 = 20,
    _SC_SEMAPHORES___418 = 21,
    _SC_SHARED_MEMORY_OBJECTS___418 = 22,
    _SC_AIO_LISTIO_MAX___418 = 23,
    _SC_AIO_MAX___418 = 24,
    _SC_AIO_PRIO_DELTA_MAX___418 = 25,
    _SC_DELAYTIMER_MAX___418 = 26,
    _SC_MQ_OPEN_MAX___418 = 27,
    _SC_MQ_PRIO_MAX___418 = 28,
    _SC_VERSION___418 = 29,
    _SC_PAGESIZE___418 = 30,
    _SC_RTSIG_MAX___418 = 31,
    _SC_SEM_NSEMS_MAX___418 = 32,
    _SC_SEM_VALUE_MAX___418 = 33,
    _SC_SIGQUEUE_MAX___418 = 34,
    _SC_TIMER_MAX___418 = 35,
    _SC_BC_BASE_MAX___418 = 36,
    _SC_BC_DIM_MAX___418 = 37,
    _SC_BC_SCALE_MAX___418 = 38,
    _SC_BC_STRING_MAX___418 = 39,
    _SC_COLL_WEIGHTS_MAX___418 = 40,
    _SC_EQUIV_CLASS_MAX___418 = 41,
    _SC_EXPR_NEST_MAX___418 = 42,
    _SC_LINE_MAX___418 = 43,
    _SC_RE_DUP_MAX___418 = 44,
    _SC_CHARCLASS_NAME_MAX___418 = 45,
    _SC_2_VERSION___418 = 46,
    _SC_2_C_BIND___418 = 47,
    _SC_2_C_DEV___418 = 48,
    _SC_2_FORT_DEV___418 = 49,
    _SC_2_FORT_RUN___418 = 50,
    _SC_2_SW_DEV___418 = 51,
    _SC_2_LOCALEDEF___418 = 52,
    _SC_PII___418 = 53,
    _SC_PII_XTI___418 = 54,
    _SC_PII_SOCKET___418 = 55,
    _SC_PII_INTERNET___418 = 56,
    _SC_PII_OSI___418 = 57,
    _SC_POLL___418 = 58,
    _SC_SELECT___418 = 59,
    _SC_UIO_MAXIOV___418 = 60,
    _SC_IOV_MAX___418 = 60,
    _SC_PII_INTERNET_STREAM___418 = 61,
    _SC_PII_INTERNET_DGRAM___418 = 62,
    _SC_PII_OSI_COTS___418 = 63,
    _SC_PII_OSI_CLTS___418 = 64,
    _SC_PII_OSI_M___418 = 65,
    _SC_T_IOV_MAX___418 = 66,
    _SC_THREADS___418 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___418 = 68,
    _SC_GETGR_R_SIZE_MAX___418 = 69,
    _SC_GETPW_R_SIZE_MAX___418 = 70,
    _SC_LOGIN_NAME_MAX___418 = 71,
    _SC_TTY_NAME_MAX___418 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___418 = 73,
    _SC_THREAD_KEYS_MAX___418 = 74,
    _SC_THREAD_STACK_MIN___418 = 75,
    _SC_THREAD_THREADS_MAX___418 = 76,
    _SC_THREAD_ATTR_STACKADDR___418 = 77,
    _SC_THREAD_ATTR_STACKSIZE___418 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___418 = 79,
    _SC_THREAD_PRIO_INHERIT___418 = 80,
    _SC_THREAD_PRIO_PROTECT___418 = 81,
    _SC_THREAD_PROCESS_SHARED___418 = 82,
    _SC_NPROCESSORS_CONF___418 = 83,
    _SC_NPROCESSORS_ONLN___418 = 84,
    _SC_PHYS_PAGES___418 = 85,
    _SC_AVPHYS_PAGES___418 = 86,
    _SC_ATEXIT_MAX___418 = 87,
    _SC_PASS_MAX___418 = 88,
    _SC_XOPEN_VERSION___418 = 89,
    _SC_XOPEN_XCU_VERSION___418 = 90,
    _SC_XOPEN_UNIX___418 = 91,
    _SC_XOPEN_CRYPT___418 = 92,
    _SC_XOPEN_ENH_I18N___418 = 93,
    _SC_XOPEN_SHM___418 = 94,
    _SC_2_CHAR_TERM___418 = 95,
    _SC_2_C_VERSION___418 = 96,
    _SC_2_UPE___418 = 97,
    _SC_XOPEN_XPG2___418 = 98,
    _SC_XOPEN_XPG3___418 = 99,
    _SC_XOPEN_XPG4___418 = 100,
    _SC_CHAR_BIT___418 = 101,
    _SC_CHAR_MAX___418 = 102,
    _SC_CHAR_MIN___418 = 103,
    _SC_INT_MAX___418 = 104,
    _SC_INT_MIN___418 = 105,
    _SC_LONG_BIT___418 = 106,
    _SC_WORD_BIT___418 = 107,
    _SC_MB_LEN_MAX___418 = 108,
    _SC_NZERO___418 = 109,
    _SC_SSIZE_MAX___418 = 110,
    _SC_SCHAR_MAX___418 = 111,
    _SC_SCHAR_MIN___418 = 112,
    _SC_SHRT_MAX___418 = 113,
    _SC_SHRT_MIN___418 = 114,
    _SC_UCHAR_MAX___418 = 115,
    _SC_UINT_MAX___418 = 116,
    _SC_ULONG_MAX___418 = 117,
    _SC_USHRT_MAX___418 = 118,
    _SC_NL_ARGMAX___418 = 119,
    _SC_NL_LANGMAX___418 = 120,
    _SC_NL_MSGMAX___418 = 121,
    _SC_NL_NMAX___418 = 122,
    _SC_NL_SETMAX___418 = 123,
    _SC_NL_TEXTMAX___418 = 124,
    _SC_XBS5_ILP32_OFF32___418 = 125,
    _SC_XBS5_ILP32_OFFBIG___418 = 126,
    _SC_XBS5_LP64_OFF64___418 = 127,
    _SC_XBS5_LPBIG_OFFBIG___418 = 128,
    _SC_XOPEN_LEGACY___418 = 129,
    _SC_XOPEN_REALTIME___418 = 130,
    _SC_XOPEN_REALTIME_THREADS___418 = 131,
    _SC_ADVISORY_INFO___418 = 132,
    _SC_BARRIERS___418 = 133,
    _SC_BASE___418 = 134,
    _SC_C_LANG_SUPPORT___418 = 135,
    _SC_C_LANG_SUPPORT_R___418 = 136,
    _SC_CLOCK_SELECTION___418 = 137,
    _SC_CPUTIME___418 = 138,
    _SC_THREAD_CPUTIME___418 = 139,
    _SC_DEVICE_IO___418 = 140,
    _SC_DEVICE_SPECIFIC___418 = 141,
    _SC_DEVICE_SPECIFIC_R___418 = 142,
    _SC_FD_MGMT___418 = 143,
    _SC_FIFO___418 = 144,
    _SC_PIPE___418 = 145,
    _SC_FILE_ATTRIBUTES___418 = 146,
    _SC_FILE_LOCKING___418 = 147,
    _SC_FILE_SYSTEM___418 = 148,
    _SC_MONOTONIC_CLOCK___418 = 149,
    _SC_MULTI_PROCESS___418 = 150,
    _SC_SINGLE_PROCESS___418 = 151,
    _SC_NETWORKING___418 = 152,
    _SC_READER_WRITER_LOCKS___418 = 153,
    _SC_SPIN_LOCKS___418 = 154,
    _SC_REGEXP___418 = 155,
    _SC_REGEX_VERSION___418 = 156,
    _SC_SHELL___418 = 157,
    _SC_SIGNALS___418 = 158,
    _SC_SPAWN___418 = 159,
    _SC_SPORADIC_SERVER___418 = 160,
    _SC_THREAD_SPORADIC_SERVER___418 = 161,
    _SC_SYSTEM_DATABASE___418 = 162,
    _SC_SYSTEM_DATABASE_R___418 = 163,
    _SC_TIMEOUTS___418 = 164,
    _SC_TYPED_MEMORY_OBJECTS___418 = 165,
    _SC_USER_GROUPS___418 = 166,
    _SC_USER_GROUPS_R___418 = 167,
    _SC_2_PBS___418 = 168,
    _SC_2_PBS_ACCOUNTING___418 = 169,
    _SC_2_PBS_LOCATE___418 = 170,
    _SC_2_PBS_MESSAGE___418 = 171,
    _SC_2_PBS_TRACK___418 = 172,
    _SC_SYMLOOP_MAX___418 = 173,
    _SC_STREAMS___418 = 174,
    _SC_2_PBS_CHECKPOINT___418 = 175,
    _SC_V6_ILP32_OFF32___418 = 176,
    _SC_V6_ILP32_OFFBIG___418 = 177,
    _SC_V6_LP64_OFF64___418 = 178,
    _SC_V6_LPBIG_OFFBIG___418 = 179,
    _SC_HOST_NAME_MAX___418 = 180,
    _SC_TRACE___418 = 181,
    _SC_TRACE_EVENT_FILTER___418 = 182,
    _SC_TRACE_INHERIT___418 = 183,
    _SC_TRACE_LOG___418 = 184,
    _SC_LEVEL1_ICACHE_SIZE___418 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___418 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___418 = 187,
    _SC_LEVEL1_DCACHE_SIZE___418 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___418 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___418 = 190,
    _SC_LEVEL2_CACHE_SIZE___418 = 191,
    _SC_LEVEL2_CACHE_ASSOC___418 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___418 = 193,
    _SC_LEVEL3_CACHE_SIZE___418 = 194,
    _SC_LEVEL3_CACHE_ASSOC___418 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___418 = 196,
    _SC_LEVEL4_CACHE_SIZE___418 = 197,
    _SC_LEVEL4_CACHE_ASSOC___418 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___418 = 199,
    _SC_IPV6___418 = 235,
    _SC_RAW_SOCKETS___418 = 236,
    _SC_V7_ILP32_OFF32___418 = 237,
    _SC_V7_ILP32_OFFBIG___418 = 238,
    _SC_V7_LP64_OFF64___418 = 239,
    _SC_V7_LPBIG_OFFBIG___418 = 240,
    _SC_SS_REPL_MAX___418 = 241,
    _SC_TRACE_EVENT_NAME_MAX___418 = 242,
    _SC_TRACE_NAME_MAX___418 = 243,
    _SC_TRACE_SYS_MAX___418 = 244,
    _SC_TRACE_USER_EVENT_MAX___418 = 245,
    _SC_XOPEN_STREAMS___418 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___418 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___418 = 248
} ;
enum __anonenum_875524036___418 {
    _CS_PATH___418 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___418 = 1,
    _CS_GNU_LIBC_VERSION___418 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___418 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___418 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___418 = 5,
    _CS_LFS_CFLAGS___418 = 1000,
    _CS_LFS_LDFLAGS___418 = 1001,
    _CS_LFS_LIBS___418 = 1002,
    _CS_LFS_LINTFLAGS___418 = 1003,
    _CS_LFS64_CFLAGS___418 = 1004,
    _CS_LFS64_LDFLAGS___418 = 1005,
    _CS_LFS64_LIBS___418 = 1006,
    _CS_LFS64_LINTFLAGS___418 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___418 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___418 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___418 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___418 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___418 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___418 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___418 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___418 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___418 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___418 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___418 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___418 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___418 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___418 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___418 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___418 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___418 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___418 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___418 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___418 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___418 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___418 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___418 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___418 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___418 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___418 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___418 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___418 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___418 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___418 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___418 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___418 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___418 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___418 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___418 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___418 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___418 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___418 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___418 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___418 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___418 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___418 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___418 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___418 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___418 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___418 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___418 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___418 = 1147,
    _CS_V6_ENV___418 = 1148,
    _CS_V7_ENV___418 = 1149
} ;
enum __anonenum_513775621___418 {
    DT_UNKNOWN___418 = 0,
    DT_FIFO___418 = 1,
    DT_CHR___418 = 2,
    DT_DIR___418 = 4,
    DT_BLK___418 = 6,
    DT_REG___418 = 8,
    DT_LNK___418 = 10,
    DT_SOCK___418 = 12,
    DT_WHT___418 = 14
} ;
enum __anonenum_77002343___418 {
    SI_ASYNCNL___418 = -60,
    SI_TKILL___418 = -6,
    SI_SIGIO___418 = -5,
    SI_ASYNCIO___418 = -4,
    SI_MESGQ___418 = -3,
    SI_TIMER___418 = -2,
    SI_QUEUE___418 = -1,
    SI_USER___418 = 0,
    SI_KERNEL___418 = 128
} ;
enum __anonenum_131038172___418 {
    ILL_ILLOPC___418 = 1,
    ILL_ILLOPN___418 = 2,
    ILL_ILLADR___418 = 3,
    ILL_ILLTRP___418 = 4,
    ILL_PRVOPC___418 = 5,
    ILL_PRVREG___418 = 6,
    ILL_COPROC___418 = 7,
    ILL_BADSTK___418 = 8
} ;
enum __anonenum_452038093___418 {
    FPE_INTDIV___418 = 1,
    FPE_INTOVF___418 = 2,
    FPE_FLTDIV___418 = 3,
    FPE_FLTOVF___418 = 4,
    FPE_FLTUND___418 = 5,
    FPE_FLTRES___418 = 6,
    FPE_FLTINV___418 = 7,
    FPE_FLTSUB___418 = 8
} ;
enum __anonenum_30976155___418 {
    SEGV_MAPERR___418 = 1,
    SEGV_ACCERR___418 = 2,
    SEGV_BNDERR___418 = 3,
    SEGV_PKUERR___418 = 4
} ;
enum __anonenum_1036286214___418 {
    BUS_ADRALN___418 = 1,
    BUS_ADRERR___418 = 2,
    BUS_OBJERR___418 = 3,
    BUS_MCEERR_AR___418 = 4,
    BUS_MCEERR_AO___418 = 5
} ;
enum __anonenum_493465559___418 {
    TRAP_BRKPT___418 = 1,
    TRAP_TRACE___418 = 2
} ;
enum __anonenum_23175539___418 {
    CLD_EXITED___418 = 1,
    CLD_KILLED___418 = 2,
    CLD_DUMPED___418 = 3,
    CLD_TRAPPED___418 = 4,
    CLD_STOPPED___418 = 5,
    CLD_CONTINUED___418 = 6
} ;
enum __anonenum_111643124___418 {
    POLL_IN___418 = 1,
    POLL_OUT___418 = 2,
    POLL_MSG___418 = 3,
    POLL_ERR___418 = 4,
    POLL_PRI___418 = 5,
    POLL_HUP___418 = 6
} ;
enum __anonenum_852341087___418 {
    SIGEV_SIGNAL___418 = 0,
    SIGEV_NONE___418 = 1,
    SIGEV_THREAD___418 = 2,
    SIGEV_THREAD_ID___418 = 4
} ;
enum __anonenum_451154152___418 {
    REG_R8___418 = 0,
    REG_R9___418 = 1,
    REG_R10___418 = 2,
    REG_R11___418 = 3,
    REG_R12___418 = 4,
    REG_R13___418 = 5,
    REG_R14___418 = 6,
    REG_R15___418 = 7,
    REG_RDI___418 = 8,
    REG_RSI___418 = 9,
    REG_RBP___418 = 10,
    REG_RBX___418 = 11,
    REG_RDX___418 = 12,
    REG_RAX___418 = 13,
    REG_RCX___418 = 14,
    REG_RSP___418 = 15,
    REG_RIP___418 = 16,
    REG_EFL___418 = 17,
    REG_CSGSFS___418 = 18,
    REG_ERR___418 = 19,
    REG_TRAPNO___418 = 20,
    REG_OLDMASK___418 = 21,
    REG_CR2___418 = 22
} ;
enum __anonenum_57186863___418 {
    SS_ONSTACK___418 = 1,
    SS_DISABLE___418 = 2
} ;
enum __anonenum_83571709___418 {
    MSG_OOB___418 = 1,
    MSG_PEEK___418 = 2,
    MSG_DONTROUTE___418 = 4,
    MSG_TRYHARD___418 = 4,
    MSG_CTRUNC___418 = 8,
    MSG_PROXY___418 = 16,
    MSG_TRUNC___418 = 32,
    MSG_DONTWAIT___418 = 64,
    MSG_EOR___418 = 128,
    MSG_WAITALL___418 = 256,
    MSG_FIN___418 = 512,
    MSG_SYN___418 = 1024,
    MSG_CONFIRM___418 = 2048,
    MSG_RST___418 = 4096,
    MSG_ERRQUEUE___418 = 8192,
    MSG_NOSIGNAL___418 = 16384,
    MSG_MORE___418 = 32768,
    MSG_WAITFORONE___418 = 65536,
    MSG_BATCH___418 = 262144,
    MSG_ZEROCOPY___418 = 67108864,
    MSG_FASTOPEN___418 = 536870912,
    MSG_CMSG_CLOEXEC___418 = 1073741824
} ;
enum __anonenum_617082774___418 {
    SCM_RIGHTS___418 = 1,
    SCM_CREDENTIALS___418 = 2
} ;
enum __anonenum_606441560___418 {
    SHUT_RD___418 = 0,
    SHUT_WR___418 = 1,
    SHUT_RDWR___418 = 2
} ;
enum __anonenum_681669233___418 {
    IPPROTO_IP___418 = 0,
    IPPROTO_ICMP___418 = 1,
    IPPROTO_IGMP___418 = 2,
    IPPROTO_IPIP___418 = 4,
    IPPROTO_TCP___418 = 6,
    IPPROTO_EGP___418 = 8,
    IPPROTO_PUP___418 = 12,
    IPPROTO_UDP___418 = 17,
    IPPROTO_IDP___418 = 22,
    IPPROTO_TP___418 = 29,
    IPPROTO_DCCP___418 = 33,
    IPPROTO_IPV6___418 = 41,
    IPPROTO_RSVP___418 = 46,
    IPPROTO_GRE___418 = 47,
    IPPROTO_ESP___418 = 50,
    IPPROTO_AH___418 = 51,
    IPPROTO_MTP___418 = 92,
    IPPROTO_BEETPH___418 = 94,
    IPPROTO_ENCAP___418 = 98,
    IPPROTO_PIM___418 = 103,
    IPPROTO_COMP___418 = 108,
    IPPROTO_SCTP___418 = 132,
    IPPROTO_UDPLITE___418 = 136,
    IPPROTO_MPLS___418 = 137,
    IPPROTO_RAW___418 = 255,
    IPPROTO_MAX___418 = 256
} ;
enum __anonenum_218739988___418 {
    IPPROTO_HOPOPTS___418 = 0,
    IPPROTO_ROUTING___418 = 43,
    IPPROTO_FRAGMENT___418 = 44,
    IPPROTO_ICMPV6___418 = 58,
    IPPROTO_NONE___418 = 59,
    IPPROTO_DSTOPTS___418 = 60,
    IPPROTO_MH___418 = 135
} ;
enum __anonenum_662268580___418 {
    IPPORT_ECHO___418 = 7,
    IPPORT_DISCARD___418 = 9,
    IPPORT_SYSTAT___418 = 11,
    IPPORT_DAYTIME___418 = 13,
    IPPORT_NETSTAT___418 = 15,
    IPPORT_FTP___418 = 21,
    IPPORT_TELNET___418 = 23,
    IPPORT_SMTP___418 = 25,
    IPPORT_TIMESERVER___418 = 37,
    IPPORT_NAMESERVER___418 = 42,
    IPPORT_WHOIS___418 = 43,
    IPPORT_MTP___418 = 57,
    IPPORT_TFTP___418 = 69,
    IPPORT_RJE___418 = 77,
    IPPORT_FINGER___418 = 79,
    IPPORT_TTYLINK___418 = 87,
    IPPORT_SUPDUP___418 = 95,
    IPPORT_EXECSERVER___418 = 512,
    IPPORT_LOGINSERVER___418 = 513,
    IPPORT_CMDSERVER___418 = 514,
    IPPORT_EFSSERVER___418 = 520,
    IPPORT_BIFFUDP___418 = 512,
    IPPORT_WHOSERVER___418 = 513,
    IPPORT_ROUTESERVER___418 = 520,
    IPPORT_RESERVED___418 = 1024,
    IPPORT_USERRESERVED___418 = 5000
} ;
enum __anonenum_788308992___418 {
    TCP_ESTABLISHED___418 = 1,
    TCP_SYN_SENT___418 = 2,
    TCP_SYN_RECV___418 = 3,
    TCP_FIN_WAIT1___418 = 4,
    TCP_FIN_WAIT2___418 = 5,
    TCP_TIME_WAIT___418 = 6,
    TCP_CLOSE___418 = 7,
    TCP_CLOSE_WAIT___418 = 8,
    TCP_LAST_ACK___418 = 9,
    TCP_LISTEN___418 = 10,
    TCP_CLOSING___418 = 11
} ;
enum __anonenum_221125648___418 {
    TCP_NO_QUEUE___418 = 0,
    TCP_RECV_QUEUE___418 = 1,
    TCP_SEND_QUEUE___418 = 2,
    TCP_QUEUES_NR___418 = 3
} ;
enum __anonenum_34415463___418 {
    PTHREAD_CREATE_JOINABLE___418 = 0,
    PTHREAD_CREATE_DETACHED___418 = 1
} ;
enum __anonenum_303612439___418 {
    PTHREAD_MUTEX_TIMED_NP___418 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___418 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___418 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___418 = 3,
    PTHREAD_MUTEX_NORMAL___418 = 0,
    PTHREAD_MUTEX_RECURSIVE___418 = 1,
    PTHREAD_MUTEX_ERRORCHECK___418 = 2,
    PTHREAD_MUTEX_DEFAULT___418 = 0,
    PTHREAD_MUTEX_FAST_NP___418 = 0
} ;
enum __anonenum_931900394___418 {
    PTHREAD_MUTEX_STALLED___418 = 0,
    PTHREAD_MUTEX_STALLED_NP___418 = 0,
    PTHREAD_MUTEX_ROBUST___418 = 1,
    PTHREAD_MUTEX_ROBUST_NP___418 = 1
} ;
enum __anonenum_205214487___418 {
    PTHREAD_PRIO_NONE___418 = 0,
    PTHREAD_PRIO_INHERIT___418 = 1,
    PTHREAD_PRIO_PROTECT___418 = 2
} ;
enum __anonenum_25043950___418 {
    PTHREAD_RWLOCK_PREFER_READER_NP___418 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___418 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___418 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___418 = 0
} ;
enum __anonenum_436439511___418 {
    PTHREAD_INHERIT_SCHED___418 = 0,
    PTHREAD_EXPLICIT_SCHED___418 = 1
} ;
enum __anonenum_998661166___418 {
    PTHREAD_SCOPE_SYSTEM___418 = 0,
    PTHREAD_SCOPE_PROCESS___418 = 1
} ;
enum __anonenum_146137331___418 {
    PTHREAD_PROCESS_PRIVATE___418 = 0,
    PTHREAD_PROCESS_SHARED___418 = 1
} ;
enum __anonenum_53396917___418 {
    PTHREAD_CANCEL_ENABLE___418 = 0,
    PTHREAD_CANCEL_DISABLE___418 = 1
} ;
enum __anonenum_904563783___418 {
    PTHREAD_CANCEL_DEFERRED___418 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___418 = 1
} ;
enum __anonenum_672052974___418 {
    SSL_CT_VALIDATION_PERMISSIVE___418 = 0,
    SSL_CT_VALIDATION_STRICT___418 = 1
} ;
enum __anonenum_437032235___419 {
    _PC_LINK_MAX___419 = 0,
    _PC_MAX_CANON___419 = 1,
    _PC_MAX_INPUT___419 = 2,
    _PC_NAME_MAX___419 = 3,
    _PC_PATH_MAX___419 = 4,
    _PC_PIPE_BUF___419 = 5,
    _PC_CHOWN_RESTRICTED___419 = 6,
    _PC_NO_TRUNC___419 = 7,
    _PC_VDISABLE___419 = 8,
    _PC_SYNC_IO___419 = 9,
    _PC_ASYNC_IO___419 = 10,
    _PC_PRIO_IO___419 = 11,
    _PC_SOCK_MAXBUF___419 = 12,
    _PC_FILESIZEBITS___419 = 13,
    _PC_REC_INCR_XFER_SIZE___419 = 14,
    _PC_REC_MAX_XFER_SIZE___419 = 15,
    _PC_REC_MIN_XFER_SIZE___419 = 16,
    _PC_REC_XFER_ALIGN___419 = 17,
    _PC_ALLOC_SIZE_MIN___419 = 18,
    _PC_SYMLINK_MAX___419 = 19,
    _PC_2_SYMLINKS___419 = 20
} ;
enum __anonenum_315186338___419 {
    _SC_ARG_MAX___419 = 0,
    _SC_CHILD_MAX___419 = 1,
    _SC_CLK_TCK___419 = 2,
    _SC_NGROUPS_MAX___419 = 3,
    _SC_OPEN_MAX___419 = 4,
    _SC_STREAM_MAX___419 = 5,
    _SC_TZNAME_MAX___419 = 6,
    _SC_JOB_CONTROL___419 = 7,
    _SC_SAVED_IDS___419 = 8,
    _SC_REALTIME_SIGNALS___419 = 9,
    _SC_PRIORITY_SCHEDULING___419 = 10,
    _SC_TIMERS___419 = 11,
    _SC_ASYNCHRONOUS_IO___419 = 12,
    _SC_PRIORITIZED_IO___419 = 13,
    _SC_SYNCHRONIZED_IO___419 = 14,
    _SC_FSYNC___419 = 15,
    _SC_MAPPED_FILES___419 = 16,
    _SC_MEMLOCK___419 = 17,
    _SC_MEMLOCK_RANGE___419 = 18,
    _SC_MEMORY_PROTECTION___419 = 19,
    _SC_MESSAGE_PASSING___419 = 20,
    _SC_SEMAPHORES___419 = 21,
    _SC_SHARED_MEMORY_OBJECTS___419 = 22,
    _SC_AIO_LISTIO_MAX___419 = 23,
    _SC_AIO_MAX___419 = 24,
    _SC_AIO_PRIO_DELTA_MAX___419 = 25,
    _SC_DELAYTIMER_MAX___419 = 26,
    _SC_MQ_OPEN_MAX___419 = 27,
    _SC_MQ_PRIO_MAX___419 = 28,
    _SC_VERSION___419 = 29,
    _SC_PAGESIZE___419 = 30,
    _SC_RTSIG_MAX___419 = 31,
    _SC_SEM_NSEMS_MAX___419 = 32,
    _SC_SEM_VALUE_MAX___419 = 33,
    _SC_SIGQUEUE_MAX___419 = 34,
    _SC_TIMER_MAX___419 = 35,
    _SC_BC_BASE_MAX___419 = 36,
    _SC_BC_DIM_MAX___419 = 37,
    _SC_BC_SCALE_MAX___419 = 38,
    _SC_BC_STRING_MAX___419 = 39,
    _SC_COLL_WEIGHTS_MAX___419 = 40,
    _SC_EQUIV_CLASS_MAX___419 = 41,
    _SC_EXPR_NEST_MAX___419 = 42,
    _SC_LINE_MAX___419 = 43,
    _SC_RE_DUP_MAX___419 = 44,
    _SC_CHARCLASS_NAME_MAX___419 = 45,
    _SC_2_VERSION___419 = 46,
    _SC_2_C_BIND___419 = 47,
    _SC_2_C_DEV___419 = 48,
    _SC_2_FORT_DEV___419 = 49,
    _SC_2_FORT_RUN___419 = 50,
    _SC_2_SW_DEV___419 = 51,
    _SC_2_LOCALEDEF___419 = 52,
    _SC_PII___419 = 53,
    _SC_PII_XTI___419 = 54,
    _SC_PII_SOCKET___419 = 55,
    _SC_PII_INTERNET___419 = 56,
    _SC_PII_OSI___419 = 57,
    _SC_POLL___419 = 58,
    _SC_SELECT___419 = 59,
    _SC_UIO_MAXIOV___419 = 60,
    _SC_IOV_MAX___419 = 60,
    _SC_PII_INTERNET_STREAM___419 = 61,
    _SC_PII_INTERNET_DGRAM___419 = 62,
    _SC_PII_OSI_COTS___419 = 63,
    _SC_PII_OSI_CLTS___419 = 64,
    _SC_PII_OSI_M___419 = 65,
    _SC_T_IOV_MAX___419 = 66,
    _SC_THREADS___419 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___419 = 68,
    _SC_GETGR_R_SIZE_MAX___419 = 69,
    _SC_GETPW_R_SIZE_MAX___419 = 70,
    _SC_LOGIN_NAME_MAX___419 = 71,
    _SC_TTY_NAME_MAX___419 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___419 = 73,
    _SC_THREAD_KEYS_MAX___419 = 74,
    _SC_THREAD_STACK_MIN___419 = 75,
    _SC_THREAD_THREADS_MAX___419 = 76,
    _SC_THREAD_ATTR_STACKADDR___419 = 77,
    _SC_THREAD_ATTR_STACKSIZE___419 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___419 = 79,
    _SC_THREAD_PRIO_INHERIT___419 = 80,
    _SC_THREAD_PRIO_PROTECT___419 = 81,
    _SC_THREAD_PROCESS_SHARED___419 = 82,
    _SC_NPROCESSORS_CONF___419 = 83,
    _SC_NPROCESSORS_ONLN___419 = 84,
    _SC_PHYS_PAGES___419 = 85,
    _SC_AVPHYS_PAGES___419 = 86,
    _SC_ATEXIT_MAX___419 = 87,
    _SC_PASS_MAX___419 = 88,
    _SC_XOPEN_VERSION___419 = 89,
    _SC_XOPEN_XCU_VERSION___419 = 90,
    _SC_XOPEN_UNIX___419 = 91,
    _SC_XOPEN_CRYPT___419 = 92,
    _SC_XOPEN_ENH_I18N___419 = 93,
    _SC_XOPEN_SHM___419 = 94,
    _SC_2_CHAR_TERM___419 = 95,
    _SC_2_C_VERSION___419 = 96,
    _SC_2_UPE___419 = 97,
    _SC_XOPEN_XPG2___419 = 98,
    _SC_XOPEN_XPG3___419 = 99,
    _SC_XOPEN_XPG4___419 = 100,
    _SC_CHAR_BIT___419 = 101,
    _SC_CHAR_MAX___419 = 102,
    _SC_CHAR_MIN___419 = 103,
    _SC_INT_MAX___419 = 104,
    _SC_INT_MIN___419 = 105,
    _SC_LONG_BIT___419 = 106,
    _SC_WORD_BIT___419 = 107,
    _SC_MB_LEN_MAX___419 = 108,
    _SC_NZERO___419 = 109,
    _SC_SSIZE_MAX___419 = 110,
    _SC_SCHAR_MAX___419 = 111,
    _SC_SCHAR_MIN___419 = 112,
    _SC_SHRT_MAX___419 = 113,
    _SC_SHRT_MIN___419 = 114,
    _SC_UCHAR_MAX___419 = 115,
    _SC_UINT_MAX___419 = 116,
    _SC_ULONG_MAX___419 = 117,
    _SC_USHRT_MAX___419 = 118,
    _SC_NL_ARGMAX___419 = 119,
    _SC_NL_LANGMAX___419 = 120,
    _SC_NL_MSGMAX___419 = 121,
    _SC_NL_NMAX___419 = 122,
    _SC_NL_SETMAX___419 = 123,
    _SC_NL_TEXTMAX___419 = 124,
    _SC_XBS5_ILP32_OFF32___419 = 125,
    _SC_XBS5_ILP32_OFFBIG___419 = 126,
    _SC_XBS5_LP64_OFF64___419 = 127,
    _SC_XBS5_LPBIG_OFFBIG___419 = 128,
    _SC_XOPEN_LEGACY___419 = 129,
    _SC_XOPEN_REALTIME___419 = 130,
    _SC_XOPEN_REALTIME_THREADS___419 = 131,
    _SC_ADVISORY_INFO___419 = 132,
    _SC_BARRIERS___419 = 133,
    _SC_BASE___419 = 134,
    _SC_C_LANG_SUPPORT___419 = 135,
    _SC_C_LANG_SUPPORT_R___419 = 136,
    _SC_CLOCK_SELECTION___419 = 137,
    _SC_CPUTIME___419 = 138,
    _SC_THREAD_CPUTIME___419 = 139,
    _SC_DEVICE_IO___419 = 140,
    _SC_DEVICE_SPECIFIC___419 = 141,
    _SC_DEVICE_SPECIFIC_R___419 = 142,
    _SC_FD_MGMT___419 = 143,
    _SC_FIFO___419 = 144,
    _SC_PIPE___419 = 145,
    _SC_FILE_ATTRIBUTES___419 = 146,
    _SC_FILE_LOCKING___419 = 147,
    _SC_FILE_SYSTEM___419 = 148,
    _SC_MONOTONIC_CLOCK___419 = 149,
    _SC_MULTI_PROCESS___419 = 150,
    _SC_SINGLE_PROCESS___419 = 151,
    _SC_NETWORKING___419 = 152,
    _SC_READER_WRITER_LOCKS___419 = 153,
    _SC_SPIN_LOCKS___419 = 154,
    _SC_REGEXP___419 = 155,
    _SC_REGEX_VERSION___419 = 156,
    _SC_SHELL___419 = 157,
    _SC_SIGNALS___419 = 158,
    _SC_SPAWN___419 = 159,
    _SC_SPORADIC_SERVER___419 = 160,
    _SC_THREAD_SPORADIC_SERVER___419 = 161,
    _SC_SYSTEM_DATABASE___419 = 162,
    _SC_SYSTEM_DATABASE_R___419 = 163,
    _SC_TIMEOUTS___419 = 164,
    _SC_TYPED_MEMORY_OBJECTS___419 = 165,
    _SC_USER_GROUPS___419 = 166,
    _SC_USER_GROUPS_R___419 = 167,
    _SC_2_PBS___419 = 168,
    _SC_2_PBS_ACCOUNTING___419 = 169,
    _SC_2_PBS_LOCATE___419 = 170,
    _SC_2_PBS_MESSAGE___419 = 171,
    _SC_2_PBS_TRACK___419 = 172,
    _SC_SYMLOOP_MAX___419 = 173,
    _SC_STREAMS___419 = 174,
    _SC_2_PBS_CHECKPOINT___419 = 175,
    _SC_V6_ILP32_OFF32___419 = 176,
    _SC_V6_ILP32_OFFBIG___419 = 177,
    _SC_V6_LP64_OFF64___419 = 178,
    _SC_V6_LPBIG_OFFBIG___419 = 179,
    _SC_HOST_NAME_MAX___419 = 180,
    _SC_TRACE___419 = 181,
    _SC_TRACE_EVENT_FILTER___419 = 182,
    _SC_TRACE_INHERIT___419 = 183,
    _SC_TRACE_LOG___419 = 184,
    _SC_LEVEL1_ICACHE_SIZE___419 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___419 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___419 = 187,
    _SC_LEVEL1_DCACHE_SIZE___419 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___419 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___419 = 190,
    _SC_LEVEL2_CACHE_SIZE___419 = 191,
    _SC_LEVEL2_CACHE_ASSOC___419 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___419 = 193,
    _SC_LEVEL3_CACHE_SIZE___419 = 194,
    _SC_LEVEL3_CACHE_ASSOC___419 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___419 = 196,
    _SC_LEVEL4_CACHE_SIZE___419 = 197,
    _SC_LEVEL4_CACHE_ASSOC___419 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___419 = 199,
    _SC_IPV6___419 = 235,
    _SC_RAW_SOCKETS___419 = 236,
    _SC_V7_ILP32_OFF32___419 = 237,
    _SC_V7_ILP32_OFFBIG___419 = 238,
    _SC_V7_LP64_OFF64___419 = 239,
    _SC_V7_LPBIG_OFFBIG___419 = 240,
    _SC_SS_REPL_MAX___419 = 241,
    _SC_TRACE_EVENT_NAME_MAX___419 = 242,
    _SC_TRACE_NAME_MAX___419 = 243,
    _SC_TRACE_SYS_MAX___419 = 244,
    _SC_TRACE_USER_EVENT_MAX___419 = 245,
    _SC_XOPEN_STREAMS___419 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___419 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___419 = 248
} ;
enum __anonenum_875524036___419 {
    _CS_PATH___419 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___419 = 1,
    _CS_GNU_LIBC_VERSION___419 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___419 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___419 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___419 = 5,
    _CS_LFS_CFLAGS___419 = 1000,
    _CS_LFS_LDFLAGS___419 = 1001,
    _CS_LFS_LIBS___419 = 1002,
    _CS_LFS_LINTFLAGS___419 = 1003,
    _CS_LFS64_CFLAGS___419 = 1004,
    _CS_LFS64_LDFLAGS___419 = 1005,
    _CS_LFS64_LIBS___419 = 1006,
    _CS_LFS64_LINTFLAGS___419 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___419 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___419 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___419 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___419 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___419 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___419 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___419 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___419 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___419 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___419 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___419 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___419 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___419 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___419 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___419 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___419 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___419 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___419 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___419 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___419 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___419 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___419 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___419 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___419 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___419 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___419 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___419 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___419 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___419 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___419 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___419 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___419 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___419 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___419 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___419 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___419 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___419 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___419 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___419 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___419 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___419 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___419 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___419 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___419 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___419 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___419 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___419 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___419 = 1147,
    _CS_V6_ENV___419 = 1148,
    _CS_V7_ENV___419 = 1149
} ;
enum __anonenum_513775621___419 {
    DT_UNKNOWN___419 = 0,
    DT_FIFO___419 = 1,
    DT_CHR___419 = 2,
    DT_DIR___419 = 4,
    DT_BLK___419 = 6,
    DT_REG___419 = 8,
    DT_LNK___419 = 10,
    DT_SOCK___419 = 12,
    DT_WHT___419 = 14
} ;
enum __anonenum_77002343___419 {
    SI_ASYNCNL___419 = -60,
    SI_TKILL___419 = -6,
    SI_SIGIO___419 = -5,
    SI_ASYNCIO___419 = -4,
    SI_MESGQ___419 = -3,
    SI_TIMER___419 = -2,
    SI_QUEUE___419 = -1,
    SI_USER___419 = 0,
    SI_KERNEL___419 = 128
} ;
enum __anonenum_131038172___419 {
    ILL_ILLOPC___419 = 1,
    ILL_ILLOPN___419 = 2,
    ILL_ILLADR___419 = 3,
    ILL_ILLTRP___419 = 4,
    ILL_PRVOPC___419 = 5,
    ILL_PRVREG___419 = 6,
    ILL_COPROC___419 = 7,
    ILL_BADSTK___419 = 8
} ;
enum __anonenum_452038093___419 {
    FPE_INTDIV___419 = 1,
    FPE_INTOVF___419 = 2,
    FPE_FLTDIV___419 = 3,
    FPE_FLTOVF___419 = 4,
    FPE_FLTUND___419 = 5,
    FPE_FLTRES___419 = 6,
    FPE_FLTINV___419 = 7,
    FPE_FLTSUB___419 = 8
} ;
enum __anonenum_30976155___419 {
    SEGV_MAPERR___419 = 1,
    SEGV_ACCERR___419 = 2,
    SEGV_BNDERR___419 = 3,
    SEGV_PKUERR___419 = 4
} ;
enum __anonenum_1036286214___419 {
    BUS_ADRALN___419 = 1,
    BUS_ADRERR___419 = 2,
    BUS_OBJERR___419 = 3,
    BUS_MCEERR_AR___419 = 4,
    BUS_MCEERR_AO___419 = 5
} ;
enum __anonenum_493465559___419 {
    TRAP_BRKPT___419 = 1,
    TRAP_TRACE___419 = 2
} ;
enum __anonenum_23175539___419 {
    CLD_EXITED___419 = 1,
    CLD_KILLED___419 = 2,
    CLD_DUMPED___419 = 3,
    CLD_TRAPPED___419 = 4,
    CLD_STOPPED___419 = 5,
    CLD_CONTINUED___419 = 6
} ;
enum __anonenum_111643124___419 {
    POLL_IN___419 = 1,
    POLL_OUT___419 = 2,
    POLL_MSG___419 = 3,
    POLL_ERR___419 = 4,
    POLL_PRI___419 = 5,
    POLL_HUP___419 = 6
} ;
enum __anonenum_852341087___419 {
    SIGEV_SIGNAL___419 = 0,
    SIGEV_NONE___419 = 1,
    SIGEV_THREAD___419 = 2,
    SIGEV_THREAD_ID___419 = 4
} ;
enum __anonenum_451154152___419 {
    REG_R8___419 = 0,
    REG_R9___419 = 1,
    REG_R10___419 = 2,
    REG_R11___419 = 3,
    REG_R12___419 = 4,
    REG_R13___419 = 5,
    REG_R14___419 = 6,
    REG_R15___419 = 7,
    REG_RDI___419 = 8,
    REG_RSI___419 = 9,
    REG_RBP___419 = 10,
    REG_RBX___419 = 11,
    REG_RDX___419 = 12,
    REG_RAX___419 = 13,
    REG_RCX___419 = 14,
    REG_RSP___419 = 15,
    REG_RIP___419 = 16,
    REG_EFL___419 = 17,
    REG_CSGSFS___419 = 18,
    REG_ERR___419 = 19,
    REG_TRAPNO___419 = 20,
    REG_OLDMASK___419 = 21,
    REG_CR2___419 = 22
} ;
enum __anonenum_57186863___419 {
    SS_ONSTACK___419 = 1,
    SS_DISABLE___419 = 2
} ;
enum __anonenum_83571709___419 {
    MSG_OOB___419 = 1,
    MSG_PEEK___419 = 2,
    MSG_DONTROUTE___419 = 4,
    MSG_TRYHARD___419 = 4,
    MSG_CTRUNC___419 = 8,
    MSG_PROXY___419 = 16,
    MSG_TRUNC___419 = 32,
    MSG_DONTWAIT___419 = 64,
    MSG_EOR___419 = 128,
    MSG_WAITALL___419 = 256,
    MSG_FIN___419 = 512,
    MSG_SYN___419 = 1024,
    MSG_CONFIRM___419 = 2048,
    MSG_RST___419 = 4096,
    MSG_ERRQUEUE___419 = 8192,
    MSG_NOSIGNAL___419 = 16384,
    MSG_MORE___419 = 32768,
    MSG_WAITFORONE___419 = 65536,
    MSG_BATCH___419 = 262144,
    MSG_ZEROCOPY___419 = 67108864,
    MSG_FASTOPEN___419 = 536870912,
    MSG_CMSG_CLOEXEC___419 = 1073741824
} ;
enum __anonenum_617082774___419 {
    SCM_RIGHTS___419 = 1,
    SCM_CREDENTIALS___419 = 2
} ;
enum __anonenum_606441560___419 {
    SHUT_RD___419 = 0,
    SHUT_WR___419 = 1,
    SHUT_RDWR___419 = 2
} ;
enum __anonenum_681669233___419 {
    IPPROTO_IP___419 = 0,
    IPPROTO_ICMP___419 = 1,
    IPPROTO_IGMP___419 = 2,
    IPPROTO_IPIP___419 = 4,
    IPPROTO_TCP___419 = 6,
    IPPROTO_EGP___419 = 8,
    IPPROTO_PUP___419 = 12,
    IPPROTO_UDP___419 = 17,
    IPPROTO_IDP___419 = 22,
    IPPROTO_TP___419 = 29,
    IPPROTO_DCCP___419 = 33,
    IPPROTO_IPV6___419 = 41,
    IPPROTO_RSVP___419 = 46,
    IPPROTO_GRE___419 = 47,
    IPPROTO_ESP___419 = 50,
    IPPROTO_AH___419 = 51,
    IPPROTO_MTP___419 = 92,
    IPPROTO_BEETPH___419 = 94,
    IPPROTO_ENCAP___419 = 98,
    IPPROTO_PIM___419 = 103,
    IPPROTO_COMP___419 = 108,
    IPPROTO_SCTP___419 = 132,
    IPPROTO_UDPLITE___419 = 136,
    IPPROTO_MPLS___419 = 137,
    IPPROTO_RAW___419 = 255,
    IPPROTO_MAX___419 = 256
} ;
enum __anonenum_218739988___419 {
    IPPROTO_HOPOPTS___419 = 0,
    IPPROTO_ROUTING___419 = 43,
    IPPROTO_FRAGMENT___419 = 44,
    IPPROTO_ICMPV6___419 = 58,
    IPPROTO_NONE___419 = 59,
    IPPROTO_DSTOPTS___419 = 60,
    IPPROTO_MH___419 = 135
} ;
enum __anonenum_662268580___419 {
    IPPORT_ECHO___419 = 7,
    IPPORT_DISCARD___419 = 9,
    IPPORT_SYSTAT___419 = 11,
    IPPORT_DAYTIME___419 = 13,
    IPPORT_NETSTAT___419 = 15,
    IPPORT_FTP___419 = 21,
    IPPORT_TELNET___419 = 23,
    IPPORT_SMTP___419 = 25,
    IPPORT_TIMESERVER___419 = 37,
    IPPORT_NAMESERVER___419 = 42,
    IPPORT_WHOIS___419 = 43,
    IPPORT_MTP___419 = 57,
    IPPORT_TFTP___419 = 69,
    IPPORT_RJE___419 = 77,
    IPPORT_FINGER___419 = 79,
    IPPORT_TTYLINK___419 = 87,
    IPPORT_SUPDUP___419 = 95,
    IPPORT_EXECSERVER___419 = 512,
    IPPORT_LOGINSERVER___419 = 513,
    IPPORT_CMDSERVER___419 = 514,
    IPPORT_EFSSERVER___419 = 520,
    IPPORT_BIFFUDP___419 = 512,
    IPPORT_WHOSERVER___419 = 513,
    IPPORT_ROUTESERVER___419 = 520,
    IPPORT_RESERVED___419 = 1024,
    IPPORT_USERRESERVED___419 = 5000
} ;
enum __anonenum_788308992___419 {
    TCP_ESTABLISHED___419 = 1,
    TCP_SYN_SENT___419 = 2,
    TCP_SYN_RECV___419 = 3,
    TCP_FIN_WAIT1___419 = 4,
    TCP_FIN_WAIT2___419 = 5,
    TCP_TIME_WAIT___419 = 6,
    TCP_CLOSE___419 = 7,
    TCP_CLOSE_WAIT___419 = 8,
    TCP_LAST_ACK___419 = 9,
    TCP_LISTEN___419 = 10,
    TCP_CLOSING___419 = 11
} ;
enum __anonenum_221125648___419 {
    TCP_NO_QUEUE___419 = 0,
    TCP_RECV_QUEUE___419 = 1,
    TCP_SEND_QUEUE___419 = 2,
    TCP_QUEUES_NR___419 = 3
} ;
enum __anonenum_34415463___419 {
    PTHREAD_CREATE_JOINABLE___419 = 0,
    PTHREAD_CREATE_DETACHED___419 = 1
} ;
enum __anonenum_303612439___419 {
    PTHREAD_MUTEX_TIMED_NP___419 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___419 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___419 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___419 = 3,
    PTHREAD_MUTEX_NORMAL___419 = 0,
    PTHREAD_MUTEX_RECURSIVE___419 = 1,
    PTHREAD_MUTEX_ERRORCHECK___419 = 2,
    PTHREAD_MUTEX_DEFAULT___419 = 0,
    PTHREAD_MUTEX_FAST_NP___419 = 0
} ;
enum __anonenum_931900394___419 {
    PTHREAD_MUTEX_STALLED___419 = 0,
    PTHREAD_MUTEX_STALLED_NP___419 = 0,
    PTHREAD_MUTEX_ROBUST___419 = 1,
    PTHREAD_MUTEX_ROBUST_NP___419 = 1
} ;
enum __anonenum_205214487___419 {
    PTHREAD_PRIO_NONE___419 = 0,
    PTHREAD_PRIO_INHERIT___419 = 1,
    PTHREAD_PRIO_PROTECT___419 = 2
} ;
enum __anonenum_25043950___419 {
    PTHREAD_RWLOCK_PREFER_READER_NP___419 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___419 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___419 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___419 = 0
} ;
enum __anonenum_436439511___419 {
    PTHREAD_INHERIT_SCHED___419 = 0,
    PTHREAD_EXPLICIT_SCHED___419 = 1
} ;
enum __anonenum_998661166___419 {
    PTHREAD_SCOPE_SYSTEM___419 = 0,
    PTHREAD_SCOPE_PROCESS___419 = 1
} ;
enum __anonenum_146137331___419 {
    PTHREAD_PROCESS_PRIVATE___419 = 0,
    PTHREAD_PROCESS_SHARED___419 = 1
} ;
enum __anonenum_53396917___419 {
    PTHREAD_CANCEL_ENABLE___419 = 0,
    PTHREAD_CANCEL_DISABLE___419 = 1
} ;
enum __anonenum_904563783___419 {
    PTHREAD_CANCEL_DEFERRED___419 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___419 = 1
} ;
enum __anonenum_672052974___419 {
    SSL_CT_VALIDATION_PERMISSIVE___419 = 0,
    SSL_CT_VALIDATION_STRICT___419 = 1
} ;
enum __anonenum_34023289___47 {
    REMOTE_UNCONFIGURED___47 = 0,
    REMOTE_CONFIG___47 = 1,
    REMOTE_REMOTES___47 = 2,
    REMOTE_BRANCHES___47 = 3
} ;
enum __anonenum_437032235___420 {
    _PC_LINK_MAX___420 = 0,
    _PC_MAX_CANON___420 = 1,
    _PC_MAX_INPUT___420 = 2,
    _PC_NAME_MAX___420 = 3,
    _PC_PATH_MAX___420 = 4,
    _PC_PIPE_BUF___420 = 5,
    _PC_CHOWN_RESTRICTED___420 = 6,
    _PC_NO_TRUNC___420 = 7,
    _PC_VDISABLE___420 = 8,
    _PC_SYNC_IO___420 = 9,
    _PC_ASYNC_IO___420 = 10,
    _PC_PRIO_IO___420 = 11,
    _PC_SOCK_MAXBUF___420 = 12,
    _PC_FILESIZEBITS___420 = 13,
    _PC_REC_INCR_XFER_SIZE___420 = 14,
    _PC_REC_MAX_XFER_SIZE___420 = 15,
    _PC_REC_MIN_XFER_SIZE___420 = 16,
    _PC_REC_XFER_ALIGN___420 = 17,
    _PC_ALLOC_SIZE_MIN___420 = 18,
    _PC_SYMLINK_MAX___420 = 19,
    _PC_2_SYMLINKS___420 = 20
} ;
enum __anonenum_315186338___420 {
    _SC_ARG_MAX___420 = 0,
    _SC_CHILD_MAX___420 = 1,
    _SC_CLK_TCK___420 = 2,
    _SC_NGROUPS_MAX___420 = 3,
    _SC_OPEN_MAX___420 = 4,
    _SC_STREAM_MAX___420 = 5,
    _SC_TZNAME_MAX___420 = 6,
    _SC_JOB_CONTROL___420 = 7,
    _SC_SAVED_IDS___420 = 8,
    _SC_REALTIME_SIGNALS___420 = 9,
    _SC_PRIORITY_SCHEDULING___420 = 10,
    _SC_TIMERS___420 = 11,
    _SC_ASYNCHRONOUS_IO___420 = 12,
    _SC_PRIORITIZED_IO___420 = 13,
    _SC_SYNCHRONIZED_IO___420 = 14,
    _SC_FSYNC___420 = 15,
    _SC_MAPPED_FILES___420 = 16,
    _SC_MEMLOCK___420 = 17,
    _SC_MEMLOCK_RANGE___420 = 18,
    _SC_MEMORY_PROTECTION___420 = 19,
    _SC_MESSAGE_PASSING___420 = 20,
    _SC_SEMAPHORES___420 = 21,
    _SC_SHARED_MEMORY_OBJECTS___420 = 22,
    _SC_AIO_LISTIO_MAX___420 = 23,
    _SC_AIO_MAX___420 = 24,
    _SC_AIO_PRIO_DELTA_MAX___420 = 25,
    _SC_DELAYTIMER_MAX___420 = 26,
    _SC_MQ_OPEN_MAX___420 = 27,
    _SC_MQ_PRIO_MAX___420 = 28,
    _SC_VERSION___420 = 29,
    _SC_PAGESIZE___420 = 30,
    _SC_RTSIG_MAX___420 = 31,
    _SC_SEM_NSEMS_MAX___420 = 32,
    _SC_SEM_VALUE_MAX___420 = 33,
    _SC_SIGQUEUE_MAX___420 = 34,
    _SC_TIMER_MAX___420 = 35,
    _SC_BC_BASE_MAX___420 = 36,
    _SC_BC_DIM_MAX___420 = 37,
    _SC_BC_SCALE_MAX___420 = 38,
    _SC_BC_STRING_MAX___420 = 39,
    _SC_COLL_WEIGHTS_MAX___420 = 40,
    _SC_EQUIV_CLASS_MAX___420 = 41,
    _SC_EXPR_NEST_MAX___420 = 42,
    _SC_LINE_MAX___420 = 43,
    _SC_RE_DUP_MAX___420 = 44,
    _SC_CHARCLASS_NAME_MAX___420 = 45,
    _SC_2_VERSION___420 = 46,
    _SC_2_C_BIND___420 = 47,
    _SC_2_C_DEV___420 = 48,
    _SC_2_FORT_DEV___420 = 49,
    _SC_2_FORT_RUN___420 = 50,
    _SC_2_SW_DEV___420 = 51,
    _SC_2_LOCALEDEF___420 = 52,
    _SC_PII___420 = 53,
    _SC_PII_XTI___420 = 54,
    _SC_PII_SOCKET___420 = 55,
    _SC_PII_INTERNET___420 = 56,
    _SC_PII_OSI___420 = 57,
    _SC_POLL___420 = 58,
    _SC_SELECT___420 = 59,
    _SC_UIO_MAXIOV___420 = 60,
    _SC_IOV_MAX___420 = 60,
    _SC_PII_INTERNET_STREAM___420 = 61,
    _SC_PII_INTERNET_DGRAM___420 = 62,
    _SC_PII_OSI_COTS___420 = 63,
    _SC_PII_OSI_CLTS___420 = 64,
    _SC_PII_OSI_M___420 = 65,
    _SC_T_IOV_MAX___420 = 66,
    _SC_THREADS___420 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___420 = 68,
    _SC_GETGR_R_SIZE_MAX___420 = 69,
    _SC_GETPW_R_SIZE_MAX___420 = 70,
    _SC_LOGIN_NAME_MAX___420 = 71,
    _SC_TTY_NAME_MAX___420 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___420 = 73,
    _SC_THREAD_KEYS_MAX___420 = 74,
    _SC_THREAD_STACK_MIN___420 = 75,
    _SC_THREAD_THREADS_MAX___420 = 76,
    _SC_THREAD_ATTR_STACKADDR___420 = 77,
    _SC_THREAD_ATTR_STACKSIZE___420 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___420 = 79,
    _SC_THREAD_PRIO_INHERIT___420 = 80,
    _SC_THREAD_PRIO_PROTECT___420 = 81,
    _SC_THREAD_PROCESS_SHARED___420 = 82,
    _SC_NPROCESSORS_CONF___420 = 83,
    _SC_NPROCESSORS_ONLN___420 = 84,
    _SC_PHYS_PAGES___420 = 85,
    _SC_AVPHYS_PAGES___420 = 86,
    _SC_ATEXIT_MAX___420 = 87,
    _SC_PASS_MAX___420 = 88,
    _SC_XOPEN_VERSION___420 = 89,
    _SC_XOPEN_XCU_VERSION___420 = 90,
    _SC_XOPEN_UNIX___420 = 91,
    _SC_XOPEN_CRYPT___420 = 92,
    _SC_XOPEN_ENH_I18N___420 = 93,
    _SC_XOPEN_SHM___420 = 94,
    _SC_2_CHAR_TERM___420 = 95,
    _SC_2_C_VERSION___420 = 96,
    _SC_2_UPE___420 = 97,
    _SC_XOPEN_XPG2___420 = 98,
    _SC_XOPEN_XPG3___420 = 99,
    _SC_XOPEN_XPG4___420 = 100,
    _SC_CHAR_BIT___420 = 101,
    _SC_CHAR_MAX___420 = 102,
    _SC_CHAR_MIN___420 = 103,
    _SC_INT_MAX___420 = 104,
    _SC_INT_MIN___420 = 105,
    _SC_LONG_BIT___420 = 106,
    _SC_WORD_BIT___420 = 107,
    _SC_MB_LEN_MAX___420 = 108,
    _SC_NZERO___420 = 109,
    _SC_SSIZE_MAX___420 = 110,
    _SC_SCHAR_MAX___420 = 111,
    _SC_SCHAR_MIN___420 = 112,
    _SC_SHRT_MAX___420 = 113,
    _SC_SHRT_MIN___420 = 114,
    _SC_UCHAR_MAX___420 = 115,
    _SC_UINT_MAX___420 = 116,
    _SC_ULONG_MAX___420 = 117,
    _SC_USHRT_MAX___420 = 118,
    _SC_NL_ARGMAX___420 = 119,
    _SC_NL_LANGMAX___420 = 120,
    _SC_NL_MSGMAX___420 = 121,
    _SC_NL_NMAX___420 = 122,
    _SC_NL_SETMAX___420 = 123,
    _SC_NL_TEXTMAX___420 = 124,
    _SC_XBS5_ILP32_OFF32___420 = 125,
    _SC_XBS5_ILP32_OFFBIG___420 = 126,
    _SC_XBS5_LP64_OFF64___420 = 127,
    _SC_XBS5_LPBIG_OFFBIG___420 = 128,
    _SC_XOPEN_LEGACY___420 = 129,
    _SC_XOPEN_REALTIME___420 = 130,
    _SC_XOPEN_REALTIME_THREADS___420 = 131,
    _SC_ADVISORY_INFO___420 = 132,
    _SC_BARRIERS___420 = 133,
    _SC_BASE___420 = 134,
    _SC_C_LANG_SUPPORT___420 = 135,
    _SC_C_LANG_SUPPORT_R___420 = 136,
    _SC_CLOCK_SELECTION___420 = 137,
    _SC_CPUTIME___420 = 138,
    _SC_THREAD_CPUTIME___420 = 139,
    _SC_DEVICE_IO___420 = 140,
    _SC_DEVICE_SPECIFIC___420 = 141,
    _SC_DEVICE_SPECIFIC_R___420 = 142,
    _SC_FD_MGMT___420 = 143,
    _SC_FIFO___420 = 144,
    _SC_PIPE___420 = 145,
    _SC_FILE_ATTRIBUTES___420 = 146,
    _SC_FILE_LOCKING___420 = 147,
    _SC_FILE_SYSTEM___420 = 148,
    _SC_MONOTONIC_CLOCK___420 = 149,
    _SC_MULTI_PROCESS___420 = 150,
    _SC_SINGLE_PROCESS___420 = 151,
    _SC_NETWORKING___420 = 152,
    _SC_READER_WRITER_LOCKS___420 = 153,
    _SC_SPIN_LOCKS___420 = 154,
    _SC_REGEXP___420 = 155,
    _SC_REGEX_VERSION___420 = 156,
    _SC_SHELL___420 = 157,
    _SC_SIGNALS___420 = 158,
    _SC_SPAWN___420 = 159,
    _SC_SPORADIC_SERVER___420 = 160,
    _SC_THREAD_SPORADIC_SERVER___420 = 161,
    _SC_SYSTEM_DATABASE___420 = 162,
    _SC_SYSTEM_DATABASE_R___420 = 163,
    _SC_TIMEOUTS___420 = 164,
    _SC_TYPED_MEMORY_OBJECTS___420 = 165,
    _SC_USER_GROUPS___420 = 166,
    _SC_USER_GROUPS_R___420 = 167,
    _SC_2_PBS___420 = 168,
    _SC_2_PBS_ACCOUNTING___420 = 169,
    _SC_2_PBS_LOCATE___420 = 170,
    _SC_2_PBS_MESSAGE___420 = 171,
    _SC_2_PBS_TRACK___420 = 172,
    _SC_SYMLOOP_MAX___420 = 173,
    _SC_STREAMS___420 = 174,
    _SC_2_PBS_CHECKPOINT___420 = 175,
    _SC_V6_ILP32_OFF32___420 = 176,
    _SC_V6_ILP32_OFFBIG___420 = 177,
    _SC_V6_LP64_OFF64___420 = 178,
    _SC_V6_LPBIG_OFFBIG___420 = 179,
    _SC_HOST_NAME_MAX___420 = 180,
    _SC_TRACE___420 = 181,
    _SC_TRACE_EVENT_FILTER___420 = 182,
    _SC_TRACE_INHERIT___420 = 183,
    _SC_TRACE_LOG___420 = 184,
    _SC_LEVEL1_ICACHE_SIZE___420 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___420 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___420 = 187,
    _SC_LEVEL1_DCACHE_SIZE___420 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___420 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___420 = 190,
    _SC_LEVEL2_CACHE_SIZE___420 = 191,
    _SC_LEVEL2_CACHE_ASSOC___420 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___420 = 193,
    _SC_LEVEL3_CACHE_SIZE___420 = 194,
    _SC_LEVEL3_CACHE_ASSOC___420 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___420 = 196,
    _SC_LEVEL4_CACHE_SIZE___420 = 197,
    _SC_LEVEL4_CACHE_ASSOC___420 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___420 = 199,
    _SC_IPV6___420 = 235,
    _SC_RAW_SOCKETS___420 = 236,
    _SC_V7_ILP32_OFF32___420 = 237,
    _SC_V7_ILP32_OFFBIG___420 = 238,
    _SC_V7_LP64_OFF64___420 = 239,
    _SC_V7_LPBIG_OFFBIG___420 = 240,
    _SC_SS_REPL_MAX___420 = 241,
    _SC_TRACE_EVENT_NAME_MAX___420 = 242,
    _SC_TRACE_NAME_MAX___420 = 243,
    _SC_TRACE_SYS_MAX___420 = 244,
    _SC_TRACE_USER_EVENT_MAX___420 = 245,
    _SC_XOPEN_STREAMS___420 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___420 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___420 = 248
} ;
enum __anonenum_875524036___420 {
    _CS_PATH___420 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___420 = 1,
    _CS_GNU_LIBC_VERSION___420 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___420 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___420 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___420 = 5,
    _CS_LFS_CFLAGS___420 = 1000,
    _CS_LFS_LDFLAGS___420 = 1001,
    _CS_LFS_LIBS___420 = 1002,
    _CS_LFS_LINTFLAGS___420 = 1003,
    _CS_LFS64_CFLAGS___420 = 1004,
    _CS_LFS64_LDFLAGS___420 = 1005,
    _CS_LFS64_LIBS___420 = 1006,
    _CS_LFS64_LINTFLAGS___420 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___420 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___420 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___420 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___420 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___420 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___420 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___420 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___420 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___420 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___420 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___420 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___420 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___420 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___420 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___420 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___420 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___420 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___420 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___420 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___420 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___420 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___420 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___420 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___420 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___420 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___420 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___420 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___420 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___420 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___420 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___420 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___420 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___420 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___420 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___420 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___420 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___420 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___420 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___420 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___420 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___420 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___420 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___420 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___420 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___420 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___420 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___420 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___420 = 1147,
    _CS_V6_ENV___420 = 1148,
    _CS_V7_ENV___420 = 1149
} ;
enum __anonenum_513775621___420 {
    DT_UNKNOWN___420 = 0,
    DT_FIFO___420 = 1,
    DT_CHR___420 = 2,
    DT_DIR___420 = 4,
    DT_BLK___420 = 6,
    DT_REG___420 = 8,
    DT_LNK___420 = 10,
    DT_SOCK___420 = 12,
    DT_WHT___420 = 14
} ;
enum __anonenum_77002343___420 {
    SI_ASYNCNL___420 = -60,
    SI_TKILL___420 = -6,
    SI_SIGIO___420 = -5,
    SI_ASYNCIO___420 = -4,
    SI_MESGQ___420 = -3,
    SI_TIMER___420 = -2,
    SI_QUEUE___420 = -1,
    SI_USER___420 = 0,
    SI_KERNEL___420 = 128
} ;
enum __anonenum_131038172___420 {
    ILL_ILLOPC___420 = 1,
    ILL_ILLOPN___420 = 2,
    ILL_ILLADR___420 = 3,
    ILL_ILLTRP___420 = 4,
    ILL_PRVOPC___420 = 5,
    ILL_PRVREG___420 = 6,
    ILL_COPROC___420 = 7,
    ILL_BADSTK___420 = 8
} ;
enum __anonenum_452038093___420 {
    FPE_INTDIV___420 = 1,
    FPE_INTOVF___420 = 2,
    FPE_FLTDIV___420 = 3,
    FPE_FLTOVF___420 = 4,
    FPE_FLTUND___420 = 5,
    FPE_FLTRES___420 = 6,
    FPE_FLTINV___420 = 7,
    FPE_FLTSUB___420 = 8
} ;
enum __anonenum_30976155___420 {
    SEGV_MAPERR___420 = 1,
    SEGV_ACCERR___420 = 2,
    SEGV_BNDERR___420 = 3,
    SEGV_PKUERR___420 = 4
} ;
enum __anonenum_1036286214___420 {
    BUS_ADRALN___420 = 1,
    BUS_ADRERR___420 = 2,
    BUS_OBJERR___420 = 3,
    BUS_MCEERR_AR___420 = 4,
    BUS_MCEERR_AO___420 = 5
} ;
enum __anonenum_493465559___420 {
    TRAP_BRKPT___420 = 1,
    TRAP_TRACE___420 = 2
} ;
enum __anonenum_23175539___420 {
    CLD_EXITED___420 = 1,
    CLD_KILLED___420 = 2,
    CLD_DUMPED___420 = 3,
    CLD_TRAPPED___420 = 4,
    CLD_STOPPED___420 = 5,
    CLD_CONTINUED___420 = 6
} ;
enum __anonenum_111643124___420 {
    POLL_IN___420 = 1,
    POLL_OUT___420 = 2,
    POLL_MSG___420 = 3,
    POLL_ERR___420 = 4,
    POLL_PRI___420 = 5,
    POLL_HUP___420 = 6
} ;
enum __anonenum_852341087___420 {
    SIGEV_SIGNAL___420 = 0,
    SIGEV_NONE___420 = 1,
    SIGEV_THREAD___420 = 2,
    SIGEV_THREAD_ID___420 = 4
} ;
enum __anonenum_451154152___420 {
    REG_R8___420 = 0,
    REG_R9___420 = 1,
    REG_R10___420 = 2,
    REG_R11___420 = 3,
    REG_R12___420 = 4,
    REG_R13___420 = 5,
    REG_R14___420 = 6,
    REG_R15___420 = 7,
    REG_RDI___420 = 8,
    REG_RSI___420 = 9,
    REG_RBP___420 = 10,
    REG_RBX___420 = 11,
    REG_RDX___420 = 12,
    REG_RAX___420 = 13,
    REG_RCX___420 = 14,
    REG_RSP___420 = 15,
    REG_RIP___420 = 16,
    REG_EFL___420 = 17,
    REG_CSGSFS___420 = 18,
    REG_ERR___420 = 19,
    REG_TRAPNO___420 = 20,
    REG_OLDMASK___420 = 21,
    REG_CR2___420 = 22
} ;
enum __anonenum_57186863___420 {
    SS_ONSTACK___420 = 1,
    SS_DISABLE___420 = 2
} ;
enum __anonenum_83571709___420 {
    MSG_OOB___420 = 1,
    MSG_PEEK___420 = 2,
    MSG_DONTROUTE___420 = 4,
    MSG_TRYHARD___420 = 4,
    MSG_CTRUNC___420 = 8,
    MSG_PROXY___420 = 16,
    MSG_TRUNC___420 = 32,
    MSG_DONTWAIT___420 = 64,
    MSG_EOR___420 = 128,
    MSG_WAITALL___420 = 256,
    MSG_FIN___420 = 512,
    MSG_SYN___420 = 1024,
    MSG_CONFIRM___420 = 2048,
    MSG_RST___420 = 4096,
    MSG_ERRQUEUE___420 = 8192,
    MSG_NOSIGNAL___420 = 16384,
    MSG_MORE___420 = 32768,
    MSG_WAITFORONE___420 = 65536,
    MSG_BATCH___420 = 262144,
    MSG_ZEROCOPY___420 = 67108864,
    MSG_FASTOPEN___420 = 536870912,
    MSG_CMSG_CLOEXEC___420 = 1073741824
} ;
enum __anonenum_617082774___420 {
    SCM_RIGHTS___420 = 1,
    SCM_CREDENTIALS___420 = 2
} ;
enum __anonenum_606441560___420 {
    SHUT_RD___420 = 0,
    SHUT_WR___420 = 1,
    SHUT_RDWR___420 = 2
} ;
enum __anonenum_681669233___420 {
    IPPROTO_IP___420 = 0,
    IPPROTO_ICMP___420 = 1,
    IPPROTO_IGMP___420 = 2,
    IPPROTO_IPIP___420 = 4,
    IPPROTO_TCP___420 = 6,
    IPPROTO_EGP___420 = 8,
    IPPROTO_PUP___420 = 12,
    IPPROTO_UDP___420 = 17,
    IPPROTO_IDP___420 = 22,
    IPPROTO_TP___420 = 29,
    IPPROTO_DCCP___420 = 33,
    IPPROTO_IPV6___420 = 41,
    IPPROTO_RSVP___420 = 46,
    IPPROTO_GRE___420 = 47,
    IPPROTO_ESP___420 = 50,
    IPPROTO_AH___420 = 51,
    IPPROTO_MTP___420 = 92,
    IPPROTO_BEETPH___420 = 94,
    IPPROTO_ENCAP___420 = 98,
    IPPROTO_PIM___420 = 103,
    IPPROTO_COMP___420 = 108,
    IPPROTO_SCTP___420 = 132,
    IPPROTO_UDPLITE___420 = 136,
    IPPROTO_MPLS___420 = 137,
    IPPROTO_RAW___420 = 255,
    IPPROTO_MAX___420 = 256
} ;
enum __anonenum_218739988___420 {
    IPPROTO_HOPOPTS___420 = 0,
    IPPROTO_ROUTING___420 = 43,
    IPPROTO_FRAGMENT___420 = 44,
    IPPROTO_ICMPV6___420 = 58,
    IPPROTO_NONE___420 = 59,
    IPPROTO_DSTOPTS___420 = 60,
    IPPROTO_MH___420 = 135
} ;
enum __anonenum_662268580___420 {
    IPPORT_ECHO___420 = 7,
    IPPORT_DISCARD___420 = 9,
    IPPORT_SYSTAT___420 = 11,
    IPPORT_DAYTIME___420 = 13,
    IPPORT_NETSTAT___420 = 15,
    IPPORT_FTP___420 = 21,
    IPPORT_TELNET___420 = 23,
    IPPORT_SMTP___420 = 25,
    IPPORT_TIMESERVER___420 = 37,
    IPPORT_NAMESERVER___420 = 42,
    IPPORT_WHOIS___420 = 43,
    IPPORT_MTP___420 = 57,
    IPPORT_TFTP___420 = 69,
    IPPORT_RJE___420 = 77,
    IPPORT_FINGER___420 = 79,
    IPPORT_TTYLINK___420 = 87,
    IPPORT_SUPDUP___420 = 95,
    IPPORT_EXECSERVER___420 = 512,
    IPPORT_LOGINSERVER___420 = 513,
    IPPORT_CMDSERVER___420 = 514,
    IPPORT_EFSSERVER___420 = 520,
    IPPORT_BIFFUDP___420 = 512,
    IPPORT_WHOSERVER___420 = 513,
    IPPORT_ROUTESERVER___420 = 520,
    IPPORT_RESERVED___420 = 1024,
    IPPORT_USERRESERVED___420 = 5000
} ;
enum __anonenum_788308992___420 {
    TCP_ESTABLISHED___420 = 1,
    TCP_SYN_SENT___420 = 2,
    TCP_SYN_RECV___420 = 3,
    TCP_FIN_WAIT1___420 = 4,
    TCP_FIN_WAIT2___420 = 5,
    TCP_TIME_WAIT___420 = 6,
    TCP_CLOSE___420 = 7,
    TCP_CLOSE_WAIT___420 = 8,
    TCP_LAST_ACK___420 = 9,
    TCP_LISTEN___420 = 10,
    TCP_CLOSING___420 = 11
} ;
enum __anonenum_221125648___420 {
    TCP_NO_QUEUE___420 = 0,
    TCP_RECV_QUEUE___420 = 1,
    TCP_SEND_QUEUE___420 = 2,
    TCP_QUEUES_NR___420 = 3
} ;
enum __anonenum_34415463___420 {
    PTHREAD_CREATE_JOINABLE___420 = 0,
    PTHREAD_CREATE_DETACHED___420 = 1
} ;
enum __anonenum_303612439___420 {
    PTHREAD_MUTEX_TIMED_NP___420 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___420 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___420 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___420 = 3,
    PTHREAD_MUTEX_NORMAL___420 = 0,
    PTHREAD_MUTEX_RECURSIVE___420 = 1,
    PTHREAD_MUTEX_ERRORCHECK___420 = 2,
    PTHREAD_MUTEX_DEFAULT___420 = 0,
    PTHREAD_MUTEX_FAST_NP___420 = 0
} ;
enum __anonenum_931900394___420 {
    PTHREAD_MUTEX_STALLED___420 = 0,
    PTHREAD_MUTEX_STALLED_NP___420 = 0,
    PTHREAD_MUTEX_ROBUST___420 = 1,
    PTHREAD_MUTEX_ROBUST_NP___420 = 1
} ;
enum __anonenum_205214487___420 {
    PTHREAD_PRIO_NONE___420 = 0,
    PTHREAD_PRIO_INHERIT___420 = 1,
    PTHREAD_PRIO_PROTECT___420 = 2
} ;
enum __anonenum_25043950___420 {
    PTHREAD_RWLOCK_PREFER_READER_NP___420 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___420 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___420 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___420 = 0
} ;
enum __anonenum_436439511___420 {
    PTHREAD_INHERIT_SCHED___420 = 0,
    PTHREAD_EXPLICIT_SCHED___420 = 1
} ;
enum __anonenum_998661166___420 {
    PTHREAD_SCOPE_SYSTEM___420 = 0,
    PTHREAD_SCOPE_PROCESS___420 = 1
} ;
enum __anonenum_146137331___420 {
    PTHREAD_PROCESS_PRIVATE___420 = 0,
    PTHREAD_PROCESS_SHARED___420 = 1
} ;
enum __anonenum_53396917___420 {
    PTHREAD_CANCEL_ENABLE___420 = 0,
    PTHREAD_CANCEL_DISABLE___420 = 1
} ;
enum __anonenum_904563783___420 {
    PTHREAD_CANCEL_DEFERRED___420 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___420 = 1
} ;
enum __anonenum_672052974___420 {
    SSL_CT_VALIDATION_PERMISSIVE___420 = 0,
    SSL_CT_VALIDATION_STRICT___420 = 1
} ;
enum __anonenum_437032235___421 {
    _PC_LINK_MAX___421 = 0,
    _PC_MAX_CANON___421 = 1,
    _PC_MAX_INPUT___421 = 2,
    _PC_NAME_MAX___421 = 3,
    _PC_PATH_MAX___421 = 4,
    _PC_PIPE_BUF___421 = 5,
    _PC_CHOWN_RESTRICTED___421 = 6,
    _PC_NO_TRUNC___421 = 7,
    _PC_VDISABLE___421 = 8,
    _PC_SYNC_IO___421 = 9,
    _PC_ASYNC_IO___421 = 10,
    _PC_PRIO_IO___421 = 11,
    _PC_SOCK_MAXBUF___421 = 12,
    _PC_FILESIZEBITS___421 = 13,
    _PC_REC_INCR_XFER_SIZE___421 = 14,
    _PC_REC_MAX_XFER_SIZE___421 = 15,
    _PC_REC_MIN_XFER_SIZE___421 = 16,
    _PC_REC_XFER_ALIGN___421 = 17,
    _PC_ALLOC_SIZE_MIN___421 = 18,
    _PC_SYMLINK_MAX___421 = 19,
    _PC_2_SYMLINKS___421 = 20
} ;
enum __anonenum_315186338___421 {
    _SC_ARG_MAX___421 = 0,
    _SC_CHILD_MAX___421 = 1,
    _SC_CLK_TCK___421 = 2,
    _SC_NGROUPS_MAX___421 = 3,
    _SC_OPEN_MAX___421 = 4,
    _SC_STREAM_MAX___421 = 5,
    _SC_TZNAME_MAX___421 = 6,
    _SC_JOB_CONTROL___421 = 7,
    _SC_SAVED_IDS___421 = 8,
    _SC_REALTIME_SIGNALS___421 = 9,
    _SC_PRIORITY_SCHEDULING___421 = 10,
    _SC_TIMERS___421 = 11,
    _SC_ASYNCHRONOUS_IO___421 = 12,
    _SC_PRIORITIZED_IO___421 = 13,
    _SC_SYNCHRONIZED_IO___421 = 14,
    _SC_FSYNC___421 = 15,
    _SC_MAPPED_FILES___421 = 16,
    _SC_MEMLOCK___421 = 17,
    _SC_MEMLOCK_RANGE___421 = 18,
    _SC_MEMORY_PROTECTION___421 = 19,
    _SC_MESSAGE_PASSING___421 = 20,
    _SC_SEMAPHORES___421 = 21,
    _SC_SHARED_MEMORY_OBJECTS___421 = 22,
    _SC_AIO_LISTIO_MAX___421 = 23,
    _SC_AIO_MAX___421 = 24,
    _SC_AIO_PRIO_DELTA_MAX___421 = 25,
    _SC_DELAYTIMER_MAX___421 = 26,
    _SC_MQ_OPEN_MAX___421 = 27,
    _SC_MQ_PRIO_MAX___421 = 28,
    _SC_VERSION___421 = 29,
    _SC_PAGESIZE___421 = 30,
    _SC_RTSIG_MAX___421 = 31,
    _SC_SEM_NSEMS_MAX___421 = 32,
    _SC_SEM_VALUE_MAX___421 = 33,
    _SC_SIGQUEUE_MAX___421 = 34,
    _SC_TIMER_MAX___421 = 35,
    _SC_BC_BASE_MAX___421 = 36,
    _SC_BC_DIM_MAX___421 = 37,
    _SC_BC_SCALE_MAX___421 = 38,
    _SC_BC_STRING_MAX___421 = 39,
    _SC_COLL_WEIGHTS_MAX___421 = 40,
    _SC_EQUIV_CLASS_MAX___421 = 41,
    _SC_EXPR_NEST_MAX___421 = 42,
    _SC_LINE_MAX___421 = 43,
    _SC_RE_DUP_MAX___421 = 44,
    _SC_CHARCLASS_NAME_MAX___421 = 45,
    _SC_2_VERSION___421 = 46,
    _SC_2_C_BIND___421 = 47,
    _SC_2_C_DEV___421 = 48,
    _SC_2_FORT_DEV___421 = 49,
    _SC_2_FORT_RUN___421 = 50,
    _SC_2_SW_DEV___421 = 51,
    _SC_2_LOCALEDEF___421 = 52,
    _SC_PII___421 = 53,
    _SC_PII_XTI___421 = 54,
    _SC_PII_SOCKET___421 = 55,
    _SC_PII_INTERNET___421 = 56,
    _SC_PII_OSI___421 = 57,
    _SC_POLL___421 = 58,
    _SC_SELECT___421 = 59,
    _SC_UIO_MAXIOV___421 = 60,
    _SC_IOV_MAX___421 = 60,
    _SC_PII_INTERNET_STREAM___421 = 61,
    _SC_PII_INTERNET_DGRAM___421 = 62,
    _SC_PII_OSI_COTS___421 = 63,
    _SC_PII_OSI_CLTS___421 = 64,
    _SC_PII_OSI_M___421 = 65,
    _SC_T_IOV_MAX___421 = 66,
    _SC_THREADS___421 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___421 = 68,
    _SC_GETGR_R_SIZE_MAX___421 = 69,
    _SC_GETPW_R_SIZE_MAX___421 = 70,
    _SC_LOGIN_NAME_MAX___421 = 71,
    _SC_TTY_NAME_MAX___421 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___421 = 73,
    _SC_THREAD_KEYS_MAX___421 = 74,
    _SC_THREAD_STACK_MIN___421 = 75,
    _SC_THREAD_THREADS_MAX___421 = 76,
    _SC_THREAD_ATTR_STACKADDR___421 = 77,
    _SC_THREAD_ATTR_STACKSIZE___421 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___421 = 79,
    _SC_THREAD_PRIO_INHERIT___421 = 80,
    _SC_THREAD_PRIO_PROTECT___421 = 81,
    _SC_THREAD_PROCESS_SHARED___421 = 82,
    _SC_NPROCESSORS_CONF___421 = 83,
    _SC_NPROCESSORS_ONLN___421 = 84,
    _SC_PHYS_PAGES___421 = 85,
    _SC_AVPHYS_PAGES___421 = 86,
    _SC_ATEXIT_MAX___421 = 87,
    _SC_PASS_MAX___421 = 88,
    _SC_XOPEN_VERSION___421 = 89,
    _SC_XOPEN_XCU_VERSION___421 = 90,
    _SC_XOPEN_UNIX___421 = 91,
    _SC_XOPEN_CRYPT___421 = 92,
    _SC_XOPEN_ENH_I18N___421 = 93,
    _SC_XOPEN_SHM___421 = 94,
    _SC_2_CHAR_TERM___421 = 95,
    _SC_2_C_VERSION___421 = 96,
    _SC_2_UPE___421 = 97,
    _SC_XOPEN_XPG2___421 = 98,
    _SC_XOPEN_XPG3___421 = 99,
    _SC_XOPEN_XPG4___421 = 100,
    _SC_CHAR_BIT___421 = 101,
    _SC_CHAR_MAX___421 = 102,
    _SC_CHAR_MIN___421 = 103,
    _SC_INT_MAX___421 = 104,
    _SC_INT_MIN___421 = 105,
    _SC_LONG_BIT___421 = 106,
    _SC_WORD_BIT___421 = 107,
    _SC_MB_LEN_MAX___421 = 108,
    _SC_NZERO___421 = 109,
    _SC_SSIZE_MAX___421 = 110,
    _SC_SCHAR_MAX___421 = 111,
    _SC_SCHAR_MIN___421 = 112,
    _SC_SHRT_MAX___421 = 113,
    _SC_SHRT_MIN___421 = 114,
    _SC_UCHAR_MAX___421 = 115,
    _SC_UINT_MAX___421 = 116,
    _SC_ULONG_MAX___421 = 117,
    _SC_USHRT_MAX___421 = 118,
    _SC_NL_ARGMAX___421 = 119,
    _SC_NL_LANGMAX___421 = 120,
    _SC_NL_MSGMAX___421 = 121,
    _SC_NL_NMAX___421 = 122,
    _SC_NL_SETMAX___421 = 123,
    _SC_NL_TEXTMAX___421 = 124,
    _SC_XBS5_ILP32_OFF32___421 = 125,
    _SC_XBS5_ILP32_OFFBIG___421 = 126,
    _SC_XBS5_LP64_OFF64___421 = 127,
    _SC_XBS5_LPBIG_OFFBIG___421 = 128,
    _SC_XOPEN_LEGACY___421 = 129,
    _SC_XOPEN_REALTIME___421 = 130,
    _SC_XOPEN_REALTIME_THREADS___421 = 131,
    _SC_ADVISORY_INFO___421 = 132,
    _SC_BARRIERS___421 = 133,
    _SC_BASE___421 = 134,
    _SC_C_LANG_SUPPORT___421 = 135,
    _SC_C_LANG_SUPPORT_R___421 = 136,
    _SC_CLOCK_SELECTION___421 = 137,
    _SC_CPUTIME___421 = 138,
    _SC_THREAD_CPUTIME___421 = 139,
    _SC_DEVICE_IO___421 = 140,
    _SC_DEVICE_SPECIFIC___421 = 141,
    _SC_DEVICE_SPECIFIC_R___421 = 142,
    _SC_FD_MGMT___421 = 143,
    _SC_FIFO___421 = 144,
    _SC_PIPE___421 = 145,
    _SC_FILE_ATTRIBUTES___421 = 146,
    _SC_FILE_LOCKING___421 = 147,
    _SC_FILE_SYSTEM___421 = 148,
    _SC_MONOTONIC_CLOCK___421 = 149,
    _SC_MULTI_PROCESS___421 = 150,
    _SC_SINGLE_PROCESS___421 = 151,
    _SC_NETWORKING___421 = 152,
    _SC_READER_WRITER_LOCKS___421 = 153,
    _SC_SPIN_LOCKS___421 = 154,
    _SC_REGEXP___421 = 155,
    _SC_REGEX_VERSION___421 = 156,
    _SC_SHELL___421 = 157,
    _SC_SIGNALS___421 = 158,
    _SC_SPAWN___421 = 159,
    _SC_SPORADIC_SERVER___421 = 160,
    _SC_THREAD_SPORADIC_SERVER___421 = 161,
    _SC_SYSTEM_DATABASE___421 = 162,
    _SC_SYSTEM_DATABASE_R___421 = 163,
    _SC_TIMEOUTS___421 = 164,
    _SC_TYPED_MEMORY_OBJECTS___421 = 165,
    _SC_USER_GROUPS___421 = 166,
    _SC_USER_GROUPS_R___421 = 167,
    _SC_2_PBS___421 = 168,
    _SC_2_PBS_ACCOUNTING___421 = 169,
    _SC_2_PBS_LOCATE___421 = 170,
    _SC_2_PBS_MESSAGE___421 = 171,
    _SC_2_PBS_TRACK___421 = 172,
    _SC_SYMLOOP_MAX___421 = 173,
    _SC_STREAMS___421 = 174,
    _SC_2_PBS_CHECKPOINT___421 = 175,
    _SC_V6_ILP32_OFF32___421 = 176,
    _SC_V6_ILP32_OFFBIG___421 = 177,
    _SC_V6_LP64_OFF64___421 = 178,
    _SC_V6_LPBIG_OFFBIG___421 = 179,
    _SC_HOST_NAME_MAX___421 = 180,
    _SC_TRACE___421 = 181,
    _SC_TRACE_EVENT_FILTER___421 = 182,
    _SC_TRACE_INHERIT___421 = 183,
    _SC_TRACE_LOG___421 = 184,
    _SC_LEVEL1_ICACHE_SIZE___421 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___421 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___421 = 187,
    _SC_LEVEL1_DCACHE_SIZE___421 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___421 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___421 = 190,
    _SC_LEVEL2_CACHE_SIZE___421 = 191,
    _SC_LEVEL2_CACHE_ASSOC___421 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___421 = 193,
    _SC_LEVEL3_CACHE_SIZE___421 = 194,
    _SC_LEVEL3_CACHE_ASSOC___421 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___421 = 196,
    _SC_LEVEL4_CACHE_SIZE___421 = 197,
    _SC_LEVEL4_CACHE_ASSOC___421 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___421 = 199,
    _SC_IPV6___421 = 235,
    _SC_RAW_SOCKETS___421 = 236,
    _SC_V7_ILP32_OFF32___421 = 237,
    _SC_V7_ILP32_OFFBIG___421 = 238,
    _SC_V7_LP64_OFF64___421 = 239,
    _SC_V7_LPBIG_OFFBIG___421 = 240,
    _SC_SS_REPL_MAX___421 = 241,
    _SC_TRACE_EVENT_NAME_MAX___421 = 242,
    _SC_TRACE_NAME_MAX___421 = 243,
    _SC_TRACE_SYS_MAX___421 = 244,
    _SC_TRACE_USER_EVENT_MAX___421 = 245,
    _SC_XOPEN_STREAMS___421 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___421 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___421 = 248
} ;
enum __anonenum_875524036___421 {
    _CS_PATH___421 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___421 = 1,
    _CS_GNU_LIBC_VERSION___421 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___421 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___421 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___421 = 5,
    _CS_LFS_CFLAGS___421 = 1000,
    _CS_LFS_LDFLAGS___421 = 1001,
    _CS_LFS_LIBS___421 = 1002,
    _CS_LFS_LINTFLAGS___421 = 1003,
    _CS_LFS64_CFLAGS___421 = 1004,
    _CS_LFS64_LDFLAGS___421 = 1005,
    _CS_LFS64_LIBS___421 = 1006,
    _CS_LFS64_LINTFLAGS___421 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___421 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___421 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___421 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___421 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___421 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___421 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___421 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___421 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___421 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___421 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___421 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___421 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___421 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___421 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___421 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___421 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___421 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___421 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___421 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___421 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___421 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___421 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___421 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___421 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___421 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___421 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___421 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___421 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___421 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___421 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___421 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___421 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___421 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___421 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___421 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___421 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___421 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___421 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___421 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___421 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___421 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___421 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___421 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___421 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___421 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___421 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___421 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___421 = 1147,
    _CS_V6_ENV___421 = 1148,
    _CS_V7_ENV___421 = 1149
} ;
enum __anonenum_513775621___421 {
    DT_UNKNOWN___421 = 0,
    DT_FIFO___421 = 1,
    DT_CHR___421 = 2,
    DT_DIR___421 = 4,
    DT_BLK___421 = 6,
    DT_REG___421 = 8,
    DT_LNK___421 = 10,
    DT_SOCK___421 = 12,
    DT_WHT___421 = 14
} ;
enum __anonenum_77002343___421 {
    SI_ASYNCNL___421 = -60,
    SI_TKILL___421 = -6,
    SI_SIGIO___421 = -5,
    SI_ASYNCIO___421 = -4,
    SI_MESGQ___421 = -3,
    SI_TIMER___421 = -2,
    SI_QUEUE___421 = -1,
    SI_USER___421 = 0,
    SI_KERNEL___421 = 128
} ;
enum __anonenum_131038172___421 {
    ILL_ILLOPC___421 = 1,
    ILL_ILLOPN___421 = 2,
    ILL_ILLADR___421 = 3,
    ILL_ILLTRP___421 = 4,
    ILL_PRVOPC___421 = 5,
    ILL_PRVREG___421 = 6,
    ILL_COPROC___421 = 7,
    ILL_BADSTK___421 = 8
} ;
enum __anonenum_452038093___421 {
    FPE_INTDIV___421 = 1,
    FPE_INTOVF___421 = 2,
    FPE_FLTDIV___421 = 3,
    FPE_FLTOVF___421 = 4,
    FPE_FLTUND___421 = 5,
    FPE_FLTRES___421 = 6,
    FPE_FLTINV___421 = 7,
    FPE_FLTSUB___421 = 8
} ;
enum __anonenum_30976155___421 {
    SEGV_MAPERR___421 = 1,
    SEGV_ACCERR___421 = 2,
    SEGV_BNDERR___421 = 3,
    SEGV_PKUERR___421 = 4
} ;
enum __anonenum_1036286214___421 {
    BUS_ADRALN___421 = 1,
    BUS_ADRERR___421 = 2,
    BUS_OBJERR___421 = 3,
    BUS_MCEERR_AR___421 = 4,
    BUS_MCEERR_AO___421 = 5
} ;
enum __anonenum_493465559___421 {
    TRAP_BRKPT___421 = 1,
    TRAP_TRACE___421 = 2
} ;
enum __anonenum_23175539___421 {
    CLD_EXITED___421 = 1,
    CLD_KILLED___421 = 2,
    CLD_DUMPED___421 = 3,
    CLD_TRAPPED___421 = 4,
    CLD_STOPPED___421 = 5,
    CLD_CONTINUED___421 = 6
} ;
enum __anonenum_111643124___421 {
    POLL_IN___421 = 1,
    POLL_OUT___421 = 2,
    POLL_MSG___421 = 3,
    POLL_ERR___421 = 4,
    POLL_PRI___421 = 5,
    POLL_HUP___421 = 6
} ;
enum __anonenum_852341087___421 {
    SIGEV_SIGNAL___421 = 0,
    SIGEV_NONE___421 = 1,
    SIGEV_THREAD___421 = 2,
    SIGEV_THREAD_ID___421 = 4
} ;
enum __anonenum_451154152___421 {
    REG_R8___421 = 0,
    REG_R9___421 = 1,
    REG_R10___421 = 2,
    REG_R11___421 = 3,
    REG_R12___421 = 4,
    REG_R13___421 = 5,
    REG_R14___421 = 6,
    REG_R15___421 = 7,
    REG_RDI___421 = 8,
    REG_RSI___421 = 9,
    REG_RBP___421 = 10,
    REG_RBX___421 = 11,
    REG_RDX___421 = 12,
    REG_RAX___421 = 13,
    REG_RCX___421 = 14,
    REG_RSP___421 = 15,
    REG_RIP___421 = 16,
    REG_EFL___421 = 17,
    REG_CSGSFS___421 = 18,
    REG_ERR___421 = 19,
    REG_TRAPNO___421 = 20,
    REG_OLDMASK___421 = 21,
    REG_CR2___421 = 22
} ;
enum __anonenum_57186863___421 {
    SS_ONSTACK___421 = 1,
    SS_DISABLE___421 = 2
} ;
enum __anonenum_83571709___421 {
    MSG_OOB___421 = 1,
    MSG_PEEK___421 = 2,
    MSG_DONTROUTE___421 = 4,
    MSG_TRYHARD___421 = 4,
    MSG_CTRUNC___421 = 8,
    MSG_PROXY___421 = 16,
    MSG_TRUNC___421 = 32,
    MSG_DONTWAIT___421 = 64,
    MSG_EOR___421 = 128,
    MSG_WAITALL___421 = 256,
    MSG_FIN___421 = 512,
    MSG_SYN___421 = 1024,
    MSG_CONFIRM___421 = 2048,
    MSG_RST___421 = 4096,
    MSG_ERRQUEUE___421 = 8192,
    MSG_NOSIGNAL___421 = 16384,
    MSG_MORE___421 = 32768,
    MSG_WAITFORONE___421 = 65536,
    MSG_BATCH___421 = 262144,
    MSG_ZEROCOPY___421 = 67108864,
    MSG_FASTOPEN___421 = 536870912,
    MSG_CMSG_CLOEXEC___421 = 1073741824
} ;
enum __anonenum_617082774___421 {
    SCM_RIGHTS___421 = 1,
    SCM_CREDENTIALS___421 = 2
} ;
enum __anonenum_606441560___421 {
    SHUT_RD___421 = 0,
    SHUT_WR___421 = 1,
    SHUT_RDWR___421 = 2
} ;
enum __anonenum_681669233___421 {
    IPPROTO_IP___421 = 0,
    IPPROTO_ICMP___421 = 1,
    IPPROTO_IGMP___421 = 2,
    IPPROTO_IPIP___421 = 4,
    IPPROTO_TCP___421 = 6,
    IPPROTO_EGP___421 = 8,
    IPPROTO_PUP___421 = 12,
    IPPROTO_UDP___421 = 17,
    IPPROTO_IDP___421 = 22,
    IPPROTO_TP___421 = 29,
    IPPROTO_DCCP___421 = 33,
    IPPROTO_IPV6___421 = 41,
    IPPROTO_RSVP___421 = 46,
    IPPROTO_GRE___421 = 47,
    IPPROTO_ESP___421 = 50,
    IPPROTO_AH___421 = 51,
    IPPROTO_MTP___421 = 92,
    IPPROTO_BEETPH___421 = 94,
    IPPROTO_ENCAP___421 = 98,
    IPPROTO_PIM___421 = 103,
    IPPROTO_COMP___421 = 108,
    IPPROTO_SCTP___421 = 132,
    IPPROTO_UDPLITE___421 = 136,
    IPPROTO_MPLS___421 = 137,
    IPPROTO_RAW___421 = 255,
    IPPROTO_MAX___421 = 256
} ;
enum __anonenum_218739988___421 {
    IPPROTO_HOPOPTS___421 = 0,
    IPPROTO_ROUTING___421 = 43,
    IPPROTO_FRAGMENT___421 = 44,
    IPPROTO_ICMPV6___421 = 58,
    IPPROTO_NONE___421 = 59,
    IPPROTO_DSTOPTS___421 = 60,
    IPPROTO_MH___421 = 135
} ;
enum __anonenum_662268580___421 {
    IPPORT_ECHO___421 = 7,
    IPPORT_DISCARD___421 = 9,
    IPPORT_SYSTAT___421 = 11,
    IPPORT_DAYTIME___421 = 13,
    IPPORT_NETSTAT___421 = 15,
    IPPORT_FTP___421 = 21,
    IPPORT_TELNET___421 = 23,
    IPPORT_SMTP___421 = 25,
    IPPORT_TIMESERVER___421 = 37,
    IPPORT_NAMESERVER___421 = 42,
    IPPORT_WHOIS___421 = 43,
    IPPORT_MTP___421 = 57,
    IPPORT_TFTP___421 = 69,
    IPPORT_RJE___421 = 77,
    IPPORT_FINGER___421 = 79,
    IPPORT_TTYLINK___421 = 87,
    IPPORT_SUPDUP___421 = 95,
    IPPORT_EXECSERVER___421 = 512,
    IPPORT_LOGINSERVER___421 = 513,
    IPPORT_CMDSERVER___421 = 514,
    IPPORT_EFSSERVER___421 = 520,
    IPPORT_BIFFUDP___421 = 512,
    IPPORT_WHOSERVER___421 = 513,
    IPPORT_ROUTESERVER___421 = 520,
    IPPORT_RESERVED___421 = 1024,
    IPPORT_USERRESERVED___421 = 5000
} ;
enum __anonenum_788308992___421 {
    TCP_ESTABLISHED___421 = 1,
    TCP_SYN_SENT___421 = 2,
    TCP_SYN_RECV___421 = 3,
    TCP_FIN_WAIT1___421 = 4,
    TCP_FIN_WAIT2___421 = 5,
    TCP_TIME_WAIT___421 = 6,
    TCP_CLOSE___421 = 7,
    TCP_CLOSE_WAIT___421 = 8,
    TCP_LAST_ACK___421 = 9,
    TCP_LISTEN___421 = 10,
    TCP_CLOSING___421 = 11
} ;
enum __anonenum_221125648___421 {
    TCP_NO_QUEUE___421 = 0,
    TCP_RECV_QUEUE___421 = 1,
    TCP_SEND_QUEUE___421 = 2,
    TCP_QUEUES_NR___421 = 3
} ;
enum __anonenum_34415463___421 {
    PTHREAD_CREATE_JOINABLE___421 = 0,
    PTHREAD_CREATE_DETACHED___421 = 1
} ;
enum __anonenum_303612439___421 {
    PTHREAD_MUTEX_TIMED_NP___421 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___421 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___421 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___421 = 3,
    PTHREAD_MUTEX_NORMAL___421 = 0,
    PTHREAD_MUTEX_RECURSIVE___421 = 1,
    PTHREAD_MUTEX_ERRORCHECK___421 = 2,
    PTHREAD_MUTEX_DEFAULT___421 = 0,
    PTHREAD_MUTEX_FAST_NP___421 = 0
} ;
enum __anonenum_931900394___421 {
    PTHREAD_MUTEX_STALLED___421 = 0,
    PTHREAD_MUTEX_STALLED_NP___421 = 0,
    PTHREAD_MUTEX_ROBUST___421 = 1,
    PTHREAD_MUTEX_ROBUST_NP___421 = 1
} ;
enum __anonenum_205214487___421 {
    PTHREAD_PRIO_NONE___421 = 0,
    PTHREAD_PRIO_INHERIT___421 = 1,
    PTHREAD_PRIO_PROTECT___421 = 2
} ;
enum __anonenum_25043950___421 {
    PTHREAD_RWLOCK_PREFER_READER_NP___421 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___421 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___421 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___421 = 0
} ;
enum __anonenum_436439511___421 {
    PTHREAD_INHERIT_SCHED___421 = 0,
    PTHREAD_EXPLICIT_SCHED___421 = 1
} ;
enum __anonenum_998661166___421 {
    PTHREAD_SCOPE_SYSTEM___421 = 0,
    PTHREAD_SCOPE_PROCESS___421 = 1
} ;
enum __anonenum_146137331___421 {
    PTHREAD_PROCESS_PRIVATE___421 = 0,
    PTHREAD_PROCESS_SHARED___421 = 1
} ;
enum __anonenum_53396917___421 {
    PTHREAD_CANCEL_ENABLE___421 = 0,
    PTHREAD_CANCEL_DISABLE___421 = 1
} ;
enum __anonenum_904563783___421 {
    PTHREAD_CANCEL_DEFERRED___421 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___421 = 1
} ;
enum __anonenum_672052974___421 {
    SSL_CT_VALIDATION_PERMISSIVE___421 = 0,
    SSL_CT_VALIDATION_STRICT___421 = 1
} ;
enum __anonenum_437032235___422 {
    _PC_LINK_MAX___422 = 0,
    _PC_MAX_CANON___422 = 1,
    _PC_MAX_INPUT___422 = 2,
    _PC_NAME_MAX___422 = 3,
    _PC_PATH_MAX___422 = 4,
    _PC_PIPE_BUF___422 = 5,
    _PC_CHOWN_RESTRICTED___422 = 6,
    _PC_NO_TRUNC___422 = 7,
    _PC_VDISABLE___422 = 8,
    _PC_SYNC_IO___422 = 9,
    _PC_ASYNC_IO___422 = 10,
    _PC_PRIO_IO___422 = 11,
    _PC_SOCK_MAXBUF___422 = 12,
    _PC_FILESIZEBITS___422 = 13,
    _PC_REC_INCR_XFER_SIZE___422 = 14,
    _PC_REC_MAX_XFER_SIZE___422 = 15,
    _PC_REC_MIN_XFER_SIZE___422 = 16,
    _PC_REC_XFER_ALIGN___422 = 17,
    _PC_ALLOC_SIZE_MIN___422 = 18,
    _PC_SYMLINK_MAX___422 = 19,
    _PC_2_SYMLINKS___422 = 20
} ;
enum __anonenum_315186338___422 {
    _SC_ARG_MAX___422 = 0,
    _SC_CHILD_MAX___422 = 1,
    _SC_CLK_TCK___422 = 2,
    _SC_NGROUPS_MAX___422 = 3,
    _SC_OPEN_MAX___422 = 4,
    _SC_STREAM_MAX___422 = 5,
    _SC_TZNAME_MAX___422 = 6,
    _SC_JOB_CONTROL___422 = 7,
    _SC_SAVED_IDS___422 = 8,
    _SC_REALTIME_SIGNALS___422 = 9,
    _SC_PRIORITY_SCHEDULING___422 = 10,
    _SC_TIMERS___422 = 11,
    _SC_ASYNCHRONOUS_IO___422 = 12,
    _SC_PRIORITIZED_IO___422 = 13,
    _SC_SYNCHRONIZED_IO___422 = 14,
    _SC_FSYNC___422 = 15,
    _SC_MAPPED_FILES___422 = 16,
    _SC_MEMLOCK___422 = 17,
    _SC_MEMLOCK_RANGE___422 = 18,
    _SC_MEMORY_PROTECTION___422 = 19,
    _SC_MESSAGE_PASSING___422 = 20,
    _SC_SEMAPHORES___422 = 21,
    _SC_SHARED_MEMORY_OBJECTS___422 = 22,
    _SC_AIO_LISTIO_MAX___422 = 23,
    _SC_AIO_MAX___422 = 24,
    _SC_AIO_PRIO_DELTA_MAX___422 = 25,
    _SC_DELAYTIMER_MAX___422 = 26,
    _SC_MQ_OPEN_MAX___422 = 27,
    _SC_MQ_PRIO_MAX___422 = 28,
    _SC_VERSION___422 = 29,
    _SC_PAGESIZE___422 = 30,
    _SC_RTSIG_MAX___422 = 31,
    _SC_SEM_NSEMS_MAX___422 = 32,
    _SC_SEM_VALUE_MAX___422 = 33,
    _SC_SIGQUEUE_MAX___422 = 34,
    _SC_TIMER_MAX___422 = 35,
    _SC_BC_BASE_MAX___422 = 36,
    _SC_BC_DIM_MAX___422 = 37,
    _SC_BC_SCALE_MAX___422 = 38,
    _SC_BC_STRING_MAX___422 = 39,
    _SC_COLL_WEIGHTS_MAX___422 = 40,
    _SC_EQUIV_CLASS_MAX___422 = 41,
    _SC_EXPR_NEST_MAX___422 = 42,
    _SC_LINE_MAX___422 = 43,
    _SC_RE_DUP_MAX___422 = 44,
    _SC_CHARCLASS_NAME_MAX___422 = 45,
    _SC_2_VERSION___422 = 46,
    _SC_2_C_BIND___422 = 47,
    _SC_2_C_DEV___422 = 48,
    _SC_2_FORT_DEV___422 = 49,
    _SC_2_FORT_RUN___422 = 50,
    _SC_2_SW_DEV___422 = 51,
    _SC_2_LOCALEDEF___422 = 52,
    _SC_PII___422 = 53,
    _SC_PII_XTI___422 = 54,
    _SC_PII_SOCKET___422 = 55,
    _SC_PII_INTERNET___422 = 56,
    _SC_PII_OSI___422 = 57,
    _SC_POLL___422 = 58,
    _SC_SELECT___422 = 59,
    _SC_UIO_MAXIOV___422 = 60,
    _SC_IOV_MAX___422 = 60,
    _SC_PII_INTERNET_STREAM___422 = 61,
    _SC_PII_INTERNET_DGRAM___422 = 62,
    _SC_PII_OSI_COTS___422 = 63,
    _SC_PII_OSI_CLTS___422 = 64,
    _SC_PII_OSI_M___422 = 65,
    _SC_T_IOV_MAX___422 = 66,
    _SC_THREADS___422 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___422 = 68,
    _SC_GETGR_R_SIZE_MAX___422 = 69,
    _SC_GETPW_R_SIZE_MAX___422 = 70,
    _SC_LOGIN_NAME_MAX___422 = 71,
    _SC_TTY_NAME_MAX___422 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___422 = 73,
    _SC_THREAD_KEYS_MAX___422 = 74,
    _SC_THREAD_STACK_MIN___422 = 75,
    _SC_THREAD_THREADS_MAX___422 = 76,
    _SC_THREAD_ATTR_STACKADDR___422 = 77,
    _SC_THREAD_ATTR_STACKSIZE___422 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___422 = 79,
    _SC_THREAD_PRIO_INHERIT___422 = 80,
    _SC_THREAD_PRIO_PROTECT___422 = 81,
    _SC_THREAD_PROCESS_SHARED___422 = 82,
    _SC_NPROCESSORS_CONF___422 = 83,
    _SC_NPROCESSORS_ONLN___422 = 84,
    _SC_PHYS_PAGES___422 = 85,
    _SC_AVPHYS_PAGES___422 = 86,
    _SC_ATEXIT_MAX___422 = 87,
    _SC_PASS_MAX___422 = 88,
    _SC_XOPEN_VERSION___422 = 89,
    _SC_XOPEN_XCU_VERSION___422 = 90,
    _SC_XOPEN_UNIX___422 = 91,
    _SC_XOPEN_CRYPT___422 = 92,
    _SC_XOPEN_ENH_I18N___422 = 93,
    _SC_XOPEN_SHM___422 = 94,
    _SC_2_CHAR_TERM___422 = 95,
    _SC_2_C_VERSION___422 = 96,
    _SC_2_UPE___422 = 97,
    _SC_XOPEN_XPG2___422 = 98,
    _SC_XOPEN_XPG3___422 = 99,
    _SC_XOPEN_XPG4___422 = 100,
    _SC_CHAR_BIT___422 = 101,
    _SC_CHAR_MAX___422 = 102,
    _SC_CHAR_MIN___422 = 103,
    _SC_INT_MAX___422 = 104,
    _SC_INT_MIN___422 = 105,
    _SC_LONG_BIT___422 = 106,
    _SC_WORD_BIT___422 = 107,
    _SC_MB_LEN_MAX___422 = 108,
    _SC_NZERO___422 = 109,
    _SC_SSIZE_MAX___422 = 110,
    _SC_SCHAR_MAX___422 = 111,
    _SC_SCHAR_MIN___422 = 112,
    _SC_SHRT_MAX___422 = 113,
    _SC_SHRT_MIN___422 = 114,
    _SC_UCHAR_MAX___422 = 115,
    _SC_UINT_MAX___422 = 116,
    _SC_ULONG_MAX___422 = 117,
    _SC_USHRT_MAX___422 = 118,
    _SC_NL_ARGMAX___422 = 119,
    _SC_NL_LANGMAX___422 = 120,
    _SC_NL_MSGMAX___422 = 121,
    _SC_NL_NMAX___422 = 122,
    _SC_NL_SETMAX___422 = 123,
    _SC_NL_TEXTMAX___422 = 124,
    _SC_XBS5_ILP32_OFF32___422 = 125,
    _SC_XBS5_ILP32_OFFBIG___422 = 126,
    _SC_XBS5_LP64_OFF64___422 = 127,
    _SC_XBS5_LPBIG_OFFBIG___422 = 128,
    _SC_XOPEN_LEGACY___422 = 129,
    _SC_XOPEN_REALTIME___422 = 130,
    _SC_XOPEN_REALTIME_THREADS___422 = 131,
    _SC_ADVISORY_INFO___422 = 132,
    _SC_BARRIERS___422 = 133,
    _SC_BASE___422 = 134,
    _SC_C_LANG_SUPPORT___422 = 135,
    _SC_C_LANG_SUPPORT_R___422 = 136,
    _SC_CLOCK_SELECTION___422 = 137,
    _SC_CPUTIME___422 = 138,
    _SC_THREAD_CPUTIME___422 = 139,
    _SC_DEVICE_IO___422 = 140,
    _SC_DEVICE_SPECIFIC___422 = 141,
    _SC_DEVICE_SPECIFIC_R___422 = 142,
    _SC_FD_MGMT___422 = 143,
    _SC_FIFO___422 = 144,
    _SC_PIPE___422 = 145,
    _SC_FILE_ATTRIBUTES___422 = 146,
    _SC_FILE_LOCKING___422 = 147,
    _SC_FILE_SYSTEM___422 = 148,
    _SC_MONOTONIC_CLOCK___422 = 149,
    _SC_MULTI_PROCESS___422 = 150,
    _SC_SINGLE_PROCESS___422 = 151,
    _SC_NETWORKING___422 = 152,
    _SC_READER_WRITER_LOCKS___422 = 153,
    _SC_SPIN_LOCKS___422 = 154,
    _SC_REGEXP___422 = 155,
    _SC_REGEX_VERSION___422 = 156,
    _SC_SHELL___422 = 157,
    _SC_SIGNALS___422 = 158,
    _SC_SPAWN___422 = 159,
    _SC_SPORADIC_SERVER___422 = 160,
    _SC_THREAD_SPORADIC_SERVER___422 = 161,
    _SC_SYSTEM_DATABASE___422 = 162,
    _SC_SYSTEM_DATABASE_R___422 = 163,
    _SC_TIMEOUTS___422 = 164,
    _SC_TYPED_MEMORY_OBJECTS___422 = 165,
    _SC_USER_GROUPS___422 = 166,
    _SC_USER_GROUPS_R___422 = 167,
    _SC_2_PBS___422 = 168,
    _SC_2_PBS_ACCOUNTING___422 = 169,
    _SC_2_PBS_LOCATE___422 = 170,
    _SC_2_PBS_MESSAGE___422 = 171,
    _SC_2_PBS_TRACK___422 = 172,
    _SC_SYMLOOP_MAX___422 = 173,
    _SC_STREAMS___422 = 174,
    _SC_2_PBS_CHECKPOINT___422 = 175,
    _SC_V6_ILP32_OFF32___422 = 176,
    _SC_V6_ILP32_OFFBIG___422 = 177,
    _SC_V6_LP64_OFF64___422 = 178,
    _SC_V6_LPBIG_OFFBIG___422 = 179,
    _SC_HOST_NAME_MAX___422 = 180,
    _SC_TRACE___422 = 181,
    _SC_TRACE_EVENT_FILTER___422 = 182,
    _SC_TRACE_INHERIT___422 = 183,
    _SC_TRACE_LOG___422 = 184,
    _SC_LEVEL1_ICACHE_SIZE___422 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___422 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___422 = 187,
    _SC_LEVEL1_DCACHE_SIZE___422 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___422 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___422 = 190,
    _SC_LEVEL2_CACHE_SIZE___422 = 191,
    _SC_LEVEL2_CACHE_ASSOC___422 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___422 = 193,
    _SC_LEVEL3_CACHE_SIZE___422 = 194,
    _SC_LEVEL3_CACHE_ASSOC___422 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___422 = 196,
    _SC_LEVEL4_CACHE_SIZE___422 = 197,
    _SC_LEVEL4_CACHE_ASSOC___422 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___422 = 199,
    _SC_IPV6___422 = 235,
    _SC_RAW_SOCKETS___422 = 236,
    _SC_V7_ILP32_OFF32___422 = 237,
    _SC_V7_ILP32_OFFBIG___422 = 238,
    _SC_V7_LP64_OFF64___422 = 239,
    _SC_V7_LPBIG_OFFBIG___422 = 240,
    _SC_SS_REPL_MAX___422 = 241,
    _SC_TRACE_EVENT_NAME_MAX___422 = 242,
    _SC_TRACE_NAME_MAX___422 = 243,
    _SC_TRACE_SYS_MAX___422 = 244,
    _SC_TRACE_USER_EVENT_MAX___422 = 245,
    _SC_XOPEN_STREAMS___422 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___422 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___422 = 248
} ;
enum __anonenum_875524036___422 {
    _CS_PATH___422 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___422 = 1,
    _CS_GNU_LIBC_VERSION___422 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___422 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___422 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___422 = 5,
    _CS_LFS_CFLAGS___422 = 1000,
    _CS_LFS_LDFLAGS___422 = 1001,
    _CS_LFS_LIBS___422 = 1002,
    _CS_LFS_LINTFLAGS___422 = 1003,
    _CS_LFS64_CFLAGS___422 = 1004,
    _CS_LFS64_LDFLAGS___422 = 1005,
    _CS_LFS64_LIBS___422 = 1006,
    _CS_LFS64_LINTFLAGS___422 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___422 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___422 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___422 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___422 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___422 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___422 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___422 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___422 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___422 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___422 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___422 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___422 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___422 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___422 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___422 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___422 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___422 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___422 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___422 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___422 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___422 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___422 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___422 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___422 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___422 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___422 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___422 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___422 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___422 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___422 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___422 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___422 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___422 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___422 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___422 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___422 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___422 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___422 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___422 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___422 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___422 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___422 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___422 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___422 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___422 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___422 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___422 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___422 = 1147,
    _CS_V6_ENV___422 = 1148,
    _CS_V7_ENV___422 = 1149
} ;
enum __anonenum_513775621___422 {
    DT_UNKNOWN___422 = 0,
    DT_FIFO___422 = 1,
    DT_CHR___422 = 2,
    DT_DIR___422 = 4,
    DT_BLK___422 = 6,
    DT_REG___422 = 8,
    DT_LNK___422 = 10,
    DT_SOCK___422 = 12,
    DT_WHT___422 = 14
} ;
enum __anonenum_77002343___422 {
    SI_ASYNCNL___422 = -60,
    SI_TKILL___422 = -6,
    SI_SIGIO___422 = -5,
    SI_ASYNCIO___422 = -4,
    SI_MESGQ___422 = -3,
    SI_TIMER___422 = -2,
    SI_QUEUE___422 = -1,
    SI_USER___422 = 0,
    SI_KERNEL___422 = 128
} ;
enum __anonenum_131038172___422 {
    ILL_ILLOPC___422 = 1,
    ILL_ILLOPN___422 = 2,
    ILL_ILLADR___422 = 3,
    ILL_ILLTRP___422 = 4,
    ILL_PRVOPC___422 = 5,
    ILL_PRVREG___422 = 6,
    ILL_COPROC___422 = 7,
    ILL_BADSTK___422 = 8
} ;
enum __anonenum_452038093___422 {
    FPE_INTDIV___422 = 1,
    FPE_INTOVF___422 = 2,
    FPE_FLTDIV___422 = 3,
    FPE_FLTOVF___422 = 4,
    FPE_FLTUND___422 = 5,
    FPE_FLTRES___422 = 6,
    FPE_FLTINV___422 = 7,
    FPE_FLTSUB___422 = 8
} ;
enum __anonenum_30976155___422 {
    SEGV_MAPERR___422 = 1,
    SEGV_ACCERR___422 = 2,
    SEGV_BNDERR___422 = 3,
    SEGV_PKUERR___422 = 4
} ;
enum __anonenum_1036286214___422 {
    BUS_ADRALN___422 = 1,
    BUS_ADRERR___422 = 2,
    BUS_OBJERR___422 = 3,
    BUS_MCEERR_AR___422 = 4,
    BUS_MCEERR_AO___422 = 5
} ;
enum __anonenum_493465559___422 {
    TRAP_BRKPT___422 = 1,
    TRAP_TRACE___422 = 2
} ;
enum __anonenum_23175539___422 {
    CLD_EXITED___422 = 1,
    CLD_KILLED___422 = 2,
    CLD_DUMPED___422 = 3,
    CLD_TRAPPED___422 = 4,
    CLD_STOPPED___422 = 5,
    CLD_CONTINUED___422 = 6
} ;
enum __anonenum_111643124___422 {
    POLL_IN___422 = 1,
    POLL_OUT___422 = 2,
    POLL_MSG___422 = 3,
    POLL_ERR___422 = 4,
    POLL_PRI___422 = 5,
    POLL_HUP___422 = 6
} ;
enum __anonenum_852341087___422 {
    SIGEV_SIGNAL___422 = 0,
    SIGEV_NONE___422 = 1,
    SIGEV_THREAD___422 = 2,
    SIGEV_THREAD_ID___422 = 4
} ;
enum __anonenum_451154152___422 {
    REG_R8___422 = 0,
    REG_R9___422 = 1,
    REG_R10___422 = 2,
    REG_R11___422 = 3,
    REG_R12___422 = 4,
    REG_R13___422 = 5,
    REG_R14___422 = 6,
    REG_R15___422 = 7,
    REG_RDI___422 = 8,
    REG_RSI___422 = 9,
    REG_RBP___422 = 10,
    REG_RBX___422 = 11,
    REG_RDX___422 = 12,
    REG_RAX___422 = 13,
    REG_RCX___422 = 14,
    REG_RSP___422 = 15,
    REG_RIP___422 = 16,
    REG_EFL___422 = 17,
    REG_CSGSFS___422 = 18,
    REG_ERR___422 = 19,
    REG_TRAPNO___422 = 20,
    REG_OLDMASK___422 = 21,
    REG_CR2___422 = 22
} ;
enum __anonenum_57186863___422 {
    SS_ONSTACK___422 = 1,
    SS_DISABLE___422 = 2
} ;
enum __anonenum_83571709___422 {
    MSG_OOB___422 = 1,
    MSG_PEEK___422 = 2,
    MSG_DONTROUTE___422 = 4,
    MSG_TRYHARD___422 = 4,
    MSG_CTRUNC___422 = 8,
    MSG_PROXY___422 = 16,
    MSG_TRUNC___422 = 32,
    MSG_DONTWAIT___422 = 64,
    MSG_EOR___422 = 128,
    MSG_WAITALL___422 = 256,
    MSG_FIN___422 = 512,
    MSG_SYN___422 = 1024,
    MSG_CONFIRM___422 = 2048,
    MSG_RST___422 = 4096,
    MSG_ERRQUEUE___422 = 8192,
    MSG_NOSIGNAL___422 = 16384,
    MSG_MORE___422 = 32768,
    MSG_WAITFORONE___422 = 65536,
    MSG_BATCH___422 = 262144,
    MSG_ZEROCOPY___422 = 67108864,
    MSG_FASTOPEN___422 = 536870912,
    MSG_CMSG_CLOEXEC___422 = 1073741824
} ;
enum __anonenum_617082774___422 {
    SCM_RIGHTS___422 = 1,
    SCM_CREDENTIALS___422 = 2
} ;
enum __anonenum_606441560___422 {
    SHUT_RD___422 = 0,
    SHUT_WR___422 = 1,
    SHUT_RDWR___422 = 2
} ;
enum __anonenum_681669233___422 {
    IPPROTO_IP___422 = 0,
    IPPROTO_ICMP___422 = 1,
    IPPROTO_IGMP___422 = 2,
    IPPROTO_IPIP___422 = 4,
    IPPROTO_TCP___422 = 6,
    IPPROTO_EGP___422 = 8,
    IPPROTO_PUP___422 = 12,
    IPPROTO_UDP___422 = 17,
    IPPROTO_IDP___422 = 22,
    IPPROTO_TP___422 = 29,
    IPPROTO_DCCP___422 = 33,
    IPPROTO_IPV6___422 = 41,
    IPPROTO_RSVP___422 = 46,
    IPPROTO_GRE___422 = 47,
    IPPROTO_ESP___422 = 50,
    IPPROTO_AH___422 = 51,
    IPPROTO_MTP___422 = 92,
    IPPROTO_BEETPH___422 = 94,
    IPPROTO_ENCAP___422 = 98,
    IPPROTO_PIM___422 = 103,
    IPPROTO_COMP___422 = 108,
    IPPROTO_SCTP___422 = 132,
    IPPROTO_UDPLITE___422 = 136,
    IPPROTO_MPLS___422 = 137,
    IPPROTO_RAW___422 = 255,
    IPPROTO_MAX___422 = 256
} ;
enum __anonenum_218739988___422 {
    IPPROTO_HOPOPTS___422 = 0,
    IPPROTO_ROUTING___422 = 43,
    IPPROTO_FRAGMENT___422 = 44,
    IPPROTO_ICMPV6___422 = 58,
    IPPROTO_NONE___422 = 59,
    IPPROTO_DSTOPTS___422 = 60,
    IPPROTO_MH___422 = 135
} ;
enum __anonenum_662268580___422 {
    IPPORT_ECHO___422 = 7,
    IPPORT_DISCARD___422 = 9,
    IPPORT_SYSTAT___422 = 11,
    IPPORT_DAYTIME___422 = 13,
    IPPORT_NETSTAT___422 = 15,
    IPPORT_FTP___422 = 21,
    IPPORT_TELNET___422 = 23,
    IPPORT_SMTP___422 = 25,
    IPPORT_TIMESERVER___422 = 37,
    IPPORT_NAMESERVER___422 = 42,
    IPPORT_WHOIS___422 = 43,
    IPPORT_MTP___422 = 57,
    IPPORT_TFTP___422 = 69,
    IPPORT_RJE___422 = 77,
    IPPORT_FINGER___422 = 79,
    IPPORT_TTYLINK___422 = 87,
    IPPORT_SUPDUP___422 = 95,
    IPPORT_EXECSERVER___422 = 512,
    IPPORT_LOGINSERVER___422 = 513,
    IPPORT_CMDSERVER___422 = 514,
    IPPORT_EFSSERVER___422 = 520,
    IPPORT_BIFFUDP___422 = 512,
    IPPORT_WHOSERVER___422 = 513,
    IPPORT_ROUTESERVER___422 = 520,
    IPPORT_RESERVED___422 = 1024,
    IPPORT_USERRESERVED___422 = 5000
} ;
enum __anonenum_788308992___422 {
    TCP_ESTABLISHED___422 = 1,
    TCP_SYN_SENT___422 = 2,
    TCP_SYN_RECV___422 = 3,
    TCP_FIN_WAIT1___422 = 4,
    TCP_FIN_WAIT2___422 = 5,
    TCP_TIME_WAIT___422 = 6,
    TCP_CLOSE___422 = 7,
    TCP_CLOSE_WAIT___422 = 8,
    TCP_LAST_ACK___422 = 9,
    TCP_LISTEN___422 = 10,
    TCP_CLOSING___422 = 11
} ;
enum __anonenum_221125648___422 {
    TCP_NO_QUEUE___422 = 0,
    TCP_RECV_QUEUE___422 = 1,
    TCP_SEND_QUEUE___422 = 2,
    TCP_QUEUES_NR___422 = 3
} ;
enum __anonenum_34415463___422 {
    PTHREAD_CREATE_JOINABLE___422 = 0,
    PTHREAD_CREATE_DETACHED___422 = 1
} ;
enum __anonenum_303612439___422 {
    PTHREAD_MUTEX_TIMED_NP___422 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___422 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___422 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___422 = 3,
    PTHREAD_MUTEX_NORMAL___422 = 0,
    PTHREAD_MUTEX_RECURSIVE___422 = 1,
    PTHREAD_MUTEX_ERRORCHECK___422 = 2,
    PTHREAD_MUTEX_DEFAULT___422 = 0,
    PTHREAD_MUTEX_FAST_NP___422 = 0
} ;
enum __anonenum_931900394___422 {
    PTHREAD_MUTEX_STALLED___422 = 0,
    PTHREAD_MUTEX_STALLED_NP___422 = 0,
    PTHREAD_MUTEX_ROBUST___422 = 1,
    PTHREAD_MUTEX_ROBUST_NP___422 = 1
} ;
enum __anonenum_205214487___422 {
    PTHREAD_PRIO_NONE___422 = 0,
    PTHREAD_PRIO_INHERIT___422 = 1,
    PTHREAD_PRIO_PROTECT___422 = 2
} ;
enum __anonenum_25043950___422 {
    PTHREAD_RWLOCK_PREFER_READER_NP___422 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___422 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___422 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___422 = 0
} ;
enum __anonenum_436439511___422 {
    PTHREAD_INHERIT_SCHED___422 = 0,
    PTHREAD_EXPLICIT_SCHED___422 = 1
} ;
enum __anonenum_998661166___422 {
    PTHREAD_SCOPE_SYSTEM___422 = 0,
    PTHREAD_SCOPE_PROCESS___422 = 1
} ;
enum __anonenum_146137331___422 {
    PTHREAD_PROCESS_PRIVATE___422 = 0,
    PTHREAD_PROCESS_SHARED___422 = 1
} ;
enum __anonenum_53396917___422 {
    PTHREAD_CANCEL_ENABLE___422 = 0,
    PTHREAD_CANCEL_DISABLE___422 = 1
} ;
enum __anonenum_904563783___422 {
    PTHREAD_CANCEL_DEFERRED___422 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___422 = 1
} ;
enum __anonenum_672052974___422 {
    SSL_CT_VALIDATION_PERMISSIVE___422 = 0,
    SSL_CT_VALIDATION_STRICT___422 = 1
} ;
enum __anonenum_437032235___423 {
    _PC_LINK_MAX___423 = 0,
    _PC_MAX_CANON___423 = 1,
    _PC_MAX_INPUT___423 = 2,
    _PC_NAME_MAX___423 = 3,
    _PC_PATH_MAX___423 = 4,
    _PC_PIPE_BUF___423 = 5,
    _PC_CHOWN_RESTRICTED___423 = 6,
    _PC_NO_TRUNC___423 = 7,
    _PC_VDISABLE___423 = 8,
    _PC_SYNC_IO___423 = 9,
    _PC_ASYNC_IO___423 = 10,
    _PC_PRIO_IO___423 = 11,
    _PC_SOCK_MAXBUF___423 = 12,
    _PC_FILESIZEBITS___423 = 13,
    _PC_REC_INCR_XFER_SIZE___423 = 14,
    _PC_REC_MAX_XFER_SIZE___423 = 15,
    _PC_REC_MIN_XFER_SIZE___423 = 16,
    _PC_REC_XFER_ALIGN___423 = 17,
    _PC_ALLOC_SIZE_MIN___423 = 18,
    _PC_SYMLINK_MAX___423 = 19,
    _PC_2_SYMLINKS___423 = 20
} ;
enum __anonenum_315186338___423 {
    _SC_ARG_MAX___423 = 0,
    _SC_CHILD_MAX___423 = 1,
    _SC_CLK_TCK___423 = 2,
    _SC_NGROUPS_MAX___423 = 3,
    _SC_OPEN_MAX___423 = 4,
    _SC_STREAM_MAX___423 = 5,
    _SC_TZNAME_MAX___423 = 6,
    _SC_JOB_CONTROL___423 = 7,
    _SC_SAVED_IDS___423 = 8,
    _SC_REALTIME_SIGNALS___423 = 9,
    _SC_PRIORITY_SCHEDULING___423 = 10,
    _SC_TIMERS___423 = 11,
    _SC_ASYNCHRONOUS_IO___423 = 12,
    _SC_PRIORITIZED_IO___423 = 13,
    _SC_SYNCHRONIZED_IO___423 = 14,
    _SC_FSYNC___423 = 15,
    _SC_MAPPED_FILES___423 = 16,
    _SC_MEMLOCK___423 = 17,
    _SC_MEMLOCK_RANGE___423 = 18,
    _SC_MEMORY_PROTECTION___423 = 19,
    _SC_MESSAGE_PASSING___423 = 20,
    _SC_SEMAPHORES___423 = 21,
    _SC_SHARED_MEMORY_OBJECTS___423 = 22,
    _SC_AIO_LISTIO_MAX___423 = 23,
    _SC_AIO_MAX___423 = 24,
    _SC_AIO_PRIO_DELTA_MAX___423 = 25,
    _SC_DELAYTIMER_MAX___423 = 26,
    _SC_MQ_OPEN_MAX___423 = 27,
    _SC_MQ_PRIO_MAX___423 = 28,
    _SC_VERSION___423 = 29,
    _SC_PAGESIZE___423 = 30,
    _SC_RTSIG_MAX___423 = 31,
    _SC_SEM_NSEMS_MAX___423 = 32,
    _SC_SEM_VALUE_MAX___423 = 33,
    _SC_SIGQUEUE_MAX___423 = 34,
    _SC_TIMER_MAX___423 = 35,
    _SC_BC_BASE_MAX___423 = 36,
    _SC_BC_DIM_MAX___423 = 37,
    _SC_BC_SCALE_MAX___423 = 38,
    _SC_BC_STRING_MAX___423 = 39,
    _SC_COLL_WEIGHTS_MAX___423 = 40,
    _SC_EQUIV_CLASS_MAX___423 = 41,
    _SC_EXPR_NEST_MAX___423 = 42,
    _SC_LINE_MAX___423 = 43,
    _SC_RE_DUP_MAX___423 = 44,
    _SC_CHARCLASS_NAME_MAX___423 = 45,
    _SC_2_VERSION___423 = 46,
    _SC_2_C_BIND___423 = 47,
    _SC_2_C_DEV___423 = 48,
    _SC_2_FORT_DEV___423 = 49,
    _SC_2_FORT_RUN___423 = 50,
    _SC_2_SW_DEV___423 = 51,
    _SC_2_LOCALEDEF___423 = 52,
    _SC_PII___423 = 53,
    _SC_PII_XTI___423 = 54,
    _SC_PII_SOCKET___423 = 55,
    _SC_PII_INTERNET___423 = 56,
    _SC_PII_OSI___423 = 57,
    _SC_POLL___423 = 58,
    _SC_SELECT___423 = 59,
    _SC_UIO_MAXIOV___423 = 60,
    _SC_IOV_MAX___423 = 60,
    _SC_PII_INTERNET_STREAM___423 = 61,
    _SC_PII_INTERNET_DGRAM___423 = 62,
    _SC_PII_OSI_COTS___423 = 63,
    _SC_PII_OSI_CLTS___423 = 64,
    _SC_PII_OSI_M___423 = 65,
    _SC_T_IOV_MAX___423 = 66,
    _SC_THREADS___423 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___423 = 68,
    _SC_GETGR_R_SIZE_MAX___423 = 69,
    _SC_GETPW_R_SIZE_MAX___423 = 70,
    _SC_LOGIN_NAME_MAX___423 = 71,
    _SC_TTY_NAME_MAX___423 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___423 = 73,
    _SC_THREAD_KEYS_MAX___423 = 74,
    _SC_THREAD_STACK_MIN___423 = 75,
    _SC_THREAD_THREADS_MAX___423 = 76,
    _SC_THREAD_ATTR_STACKADDR___423 = 77,
    _SC_THREAD_ATTR_STACKSIZE___423 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___423 = 79,
    _SC_THREAD_PRIO_INHERIT___423 = 80,
    _SC_THREAD_PRIO_PROTECT___423 = 81,
    _SC_THREAD_PROCESS_SHARED___423 = 82,
    _SC_NPROCESSORS_CONF___423 = 83,
    _SC_NPROCESSORS_ONLN___423 = 84,
    _SC_PHYS_PAGES___423 = 85,
    _SC_AVPHYS_PAGES___423 = 86,
    _SC_ATEXIT_MAX___423 = 87,
    _SC_PASS_MAX___423 = 88,
    _SC_XOPEN_VERSION___423 = 89,
    _SC_XOPEN_XCU_VERSION___423 = 90,
    _SC_XOPEN_UNIX___423 = 91,
    _SC_XOPEN_CRYPT___423 = 92,
    _SC_XOPEN_ENH_I18N___423 = 93,
    _SC_XOPEN_SHM___423 = 94,
    _SC_2_CHAR_TERM___423 = 95,
    _SC_2_C_VERSION___423 = 96,
    _SC_2_UPE___423 = 97,
    _SC_XOPEN_XPG2___423 = 98,
    _SC_XOPEN_XPG3___423 = 99,
    _SC_XOPEN_XPG4___423 = 100,
    _SC_CHAR_BIT___423 = 101,
    _SC_CHAR_MAX___423 = 102,
    _SC_CHAR_MIN___423 = 103,
    _SC_INT_MAX___423 = 104,
    _SC_INT_MIN___423 = 105,
    _SC_LONG_BIT___423 = 106,
    _SC_WORD_BIT___423 = 107,
    _SC_MB_LEN_MAX___423 = 108,
    _SC_NZERO___423 = 109,
    _SC_SSIZE_MAX___423 = 110,
    _SC_SCHAR_MAX___423 = 111,
    _SC_SCHAR_MIN___423 = 112,
    _SC_SHRT_MAX___423 = 113,
    _SC_SHRT_MIN___423 = 114,
    _SC_UCHAR_MAX___423 = 115,
    _SC_UINT_MAX___423 = 116,
    _SC_ULONG_MAX___423 = 117,
    _SC_USHRT_MAX___423 = 118,
    _SC_NL_ARGMAX___423 = 119,
    _SC_NL_LANGMAX___423 = 120,
    _SC_NL_MSGMAX___423 = 121,
    _SC_NL_NMAX___423 = 122,
    _SC_NL_SETMAX___423 = 123,
    _SC_NL_TEXTMAX___423 = 124,
    _SC_XBS5_ILP32_OFF32___423 = 125,
    _SC_XBS5_ILP32_OFFBIG___423 = 126,
    _SC_XBS5_LP64_OFF64___423 = 127,
    _SC_XBS5_LPBIG_OFFBIG___423 = 128,
    _SC_XOPEN_LEGACY___423 = 129,
    _SC_XOPEN_REALTIME___423 = 130,
    _SC_XOPEN_REALTIME_THREADS___423 = 131,
    _SC_ADVISORY_INFO___423 = 132,
    _SC_BARRIERS___423 = 133,
    _SC_BASE___423 = 134,
    _SC_C_LANG_SUPPORT___423 = 135,
    _SC_C_LANG_SUPPORT_R___423 = 136,
    _SC_CLOCK_SELECTION___423 = 137,
    _SC_CPUTIME___423 = 138,
    _SC_THREAD_CPUTIME___423 = 139,
    _SC_DEVICE_IO___423 = 140,
    _SC_DEVICE_SPECIFIC___423 = 141,
    _SC_DEVICE_SPECIFIC_R___423 = 142,
    _SC_FD_MGMT___423 = 143,
    _SC_FIFO___423 = 144,
    _SC_PIPE___423 = 145,
    _SC_FILE_ATTRIBUTES___423 = 146,
    _SC_FILE_LOCKING___423 = 147,
    _SC_FILE_SYSTEM___423 = 148,
    _SC_MONOTONIC_CLOCK___423 = 149,
    _SC_MULTI_PROCESS___423 = 150,
    _SC_SINGLE_PROCESS___423 = 151,
    _SC_NETWORKING___423 = 152,
    _SC_READER_WRITER_LOCKS___423 = 153,
    _SC_SPIN_LOCKS___423 = 154,
    _SC_REGEXP___423 = 155,
    _SC_REGEX_VERSION___423 = 156,
    _SC_SHELL___423 = 157,
    _SC_SIGNALS___423 = 158,
    _SC_SPAWN___423 = 159,
    _SC_SPORADIC_SERVER___423 = 160,
    _SC_THREAD_SPORADIC_SERVER___423 = 161,
    _SC_SYSTEM_DATABASE___423 = 162,
    _SC_SYSTEM_DATABASE_R___423 = 163,
    _SC_TIMEOUTS___423 = 164,
    _SC_TYPED_MEMORY_OBJECTS___423 = 165,
    _SC_USER_GROUPS___423 = 166,
    _SC_USER_GROUPS_R___423 = 167,
    _SC_2_PBS___423 = 168,
    _SC_2_PBS_ACCOUNTING___423 = 169,
    _SC_2_PBS_LOCATE___423 = 170,
    _SC_2_PBS_MESSAGE___423 = 171,
    _SC_2_PBS_TRACK___423 = 172,
    _SC_SYMLOOP_MAX___423 = 173,
    _SC_STREAMS___423 = 174,
    _SC_2_PBS_CHECKPOINT___423 = 175,
    _SC_V6_ILP32_OFF32___423 = 176,
    _SC_V6_ILP32_OFFBIG___423 = 177,
    _SC_V6_LP64_OFF64___423 = 178,
    _SC_V6_LPBIG_OFFBIG___423 = 179,
    _SC_HOST_NAME_MAX___423 = 180,
    _SC_TRACE___423 = 181,
    _SC_TRACE_EVENT_FILTER___423 = 182,
    _SC_TRACE_INHERIT___423 = 183,
    _SC_TRACE_LOG___423 = 184,
    _SC_LEVEL1_ICACHE_SIZE___423 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___423 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___423 = 187,
    _SC_LEVEL1_DCACHE_SIZE___423 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___423 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___423 = 190,
    _SC_LEVEL2_CACHE_SIZE___423 = 191,
    _SC_LEVEL2_CACHE_ASSOC___423 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___423 = 193,
    _SC_LEVEL3_CACHE_SIZE___423 = 194,
    _SC_LEVEL3_CACHE_ASSOC___423 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___423 = 196,
    _SC_LEVEL4_CACHE_SIZE___423 = 197,
    _SC_LEVEL4_CACHE_ASSOC___423 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___423 = 199,
    _SC_IPV6___423 = 235,
    _SC_RAW_SOCKETS___423 = 236,
    _SC_V7_ILP32_OFF32___423 = 237,
    _SC_V7_ILP32_OFFBIG___423 = 238,
    _SC_V7_LP64_OFF64___423 = 239,
    _SC_V7_LPBIG_OFFBIG___423 = 240,
    _SC_SS_REPL_MAX___423 = 241,
    _SC_TRACE_EVENT_NAME_MAX___423 = 242,
    _SC_TRACE_NAME_MAX___423 = 243,
    _SC_TRACE_SYS_MAX___423 = 244,
    _SC_TRACE_USER_EVENT_MAX___423 = 245,
    _SC_XOPEN_STREAMS___423 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___423 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___423 = 248
} ;
enum __anonenum_875524036___423 {
    _CS_PATH___423 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___423 = 1,
    _CS_GNU_LIBC_VERSION___423 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___423 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___423 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___423 = 5,
    _CS_LFS_CFLAGS___423 = 1000,
    _CS_LFS_LDFLAGS___423 = 1001,
    _CS_LFS_LIBS___423 = 1002,
    _CS_LFS_LINTFLAGS___423 = 1003,
    _CS_LFS64_CFLAGS___423 = 1004,
    _CS_LFS64_LDFLAGS___423 = 1005,
    _CS_LFS64_LIBS___423 = 1006,
    _CS_LFS64_LINTFLAGS___423 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___423 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___423 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___423 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___423 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___423 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___423 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___423 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___423 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___423 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___423 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___423 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___423 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___423 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___423 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___423 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___423 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___423 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___423 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___423 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___423 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___423 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___423 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___423 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___423 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___423 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___423 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___423 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___423 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___423 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___423 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___423 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___423 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___423 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___423 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___423 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___423 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___423 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___423 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___423 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___423 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___423 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___423 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___423 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___423 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___423 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___423 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___423 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___423 = 1147,
    _CS_V6_ENV___423 = 1148,
    _CS_V7_ENV___423 = 1149
} ;
enum __anonenum_513775621___423 {
    DT_UNKNOWN___423 = 0,
    DT_FIFO___423 = 1,
    DT_CHR___423 = 2,
    DT_DIR___423 = 4,
    DT_BLK___423 = 6,
    DT_REG___423 = 8,
    DT_LNK___423 = 10,
    DT_SOCK___423 = 12,
    DT_WHT___423 = 14
} ;
enum __anonenum_77002343___423 {
    SI_ASYNCNL___423 = -60,
    SI_TKILL___423 = -6,
    SI_SIGIO___423 = -5,
    SI_ASYNCIO___423 = -4,
    SI_MESGQ___423 = -3,
    SI_TIMER___423 = -2,
    SI_QUEUE___423 = -1,
    SI_USER___423 = 0,
    SI_KERNEL___423 = 128
} ;
enum __anonenum_131038172___423 {
    ILL_ILLOPC___423 = 1,
    ILL_ILLOPN___423 = 2,
    ILL_ILLADR___423 = 3,
    ILL_ILLTRP___423 = 4,
    ILL_PRVOPC___423 = 5,
    ILL_PRVREG___423 = 6,
    ILL_COPROC___423 = 7,
    ILL_BADSTK___423 = 8
} ;
enum __anonenum_452038093___423 {
    FPE_INTDIV___423 = 1,
    FPE_INTOVF___423 = 2,
    FPE_FLTDIV___423 = 3,
    FPE_FLTOVF___423 = 4,
    FPE_FLTUND___423 = 5,
    FPE_FLTRES___423 = 6,
    FPE_FLTINV___423 = 7,
    FPE_FLTSUB___423 = 8
} ;
enum __anonenum_30976155___423 {
    SEGV_MAPERR___423 = 1,
    SEGV_ACCERR___423 = 2,
    SEGV_BNDERR___423 = 3,
    SEGV_PKUERR___423 = 4
} ;
enum __anonenum_1036286214___423 {
    BUS_ADRALN___423 = 1,
    BUS_ADRERR___423 = 2,
    BUS_OBJERR___423 = 3,
    BUS_MCEERR_AR___423 = 4,
    BUS_MCEERR_AO___423 = 5
} ;
enum __anonenum_493465559___423 {
    TRAP_BRKPT___423 = 1,
    TRAP_TRACE___423 = 2
} ;
enum __anonenum_23175539___423 {
    CLD_EXITED___423 = 1,
    CLD_KILLED___423 = 2,
    CLD_DUMPED___423 = 3,
    CLD_TRAPPED___423 = 4,
    CLD_STOPPED___423 = 5,
    CLD_CONTINUED___423 = 6
} ;
enum __anonenum_111643124___423 {
    POLL_IN___423 = 1,
    POLL_OUT___423 = 2,
    POLL_MSG___423 = 3,
    POLL_ERR___423 = 4,
    POLL_PRI___423 = 5,
    POLL_HUP___423 = 6
} ;
enum __anonenum_852341087___423 {
    SIGEV_SIGNAL___423 = 0,
    SIGEV_NONE___423 = 1,
    SIGEV_THREAD___423 = 2,
    SIGEV_THREAD_ID___423 = 4
} ;
enum __anonenum_451154152___423 {
    REG_R8___423 = 0,
    REG_R9___423 = 1,
    REG_R10___423 = 2,
    REG_R11___423 = 3,
    REG_R12___423 = 4,
    REG_R13___423 = 5,
    REG_R14___423 = 6,
    REG_R15___423 = 7,
    REG_RDI___423 = 8,
    REG_RSI___423 = 9,
    REG_RBP___423 = 10,
    REG_RBX___423 = 11,
    REG_RDX___423 = 12,
    REG_RAX___423 = 13,
    REG_RCX___423 = 14,
    REG_RSP___423 = 15,
    REG_RIP___423 = 16,
    REG_EFL___423 = 17,
    REG_CSGSFS___423 = 18,
    REG_ERR___423 = 19,
    REG_TRAPNO___423 = 20,
    REG_OLDMASK___423 = 21,
    REG_CR2___423 = 22
} ;
enum __anonenum_57186863___423 {
    SS_ONSTACK___423 = 1,
    SS_DISABLE___423 = 2
} ;
enum __anonenum_83571709___423 {
    MSG_OOB___423 = 1,
    MSG_PEEK___423 = 2,
    MSG_DONTROUTE___423 = 4,
    MSG_TRYHARD___423 = 4,
    MSG_CTRUNC___423 = 8,
    MSG_PROXY___423 = 16,
    MSG_TRUNC___423 = 32,
    MSG_DONTWAIT___423 = 64,
    MSG_EOR___423 = 128,
    MSG_WAITALL___423 = 256,
    MSG_FIN___423 = 512,
    MSG_SYN___423 = 1024,
    MSG_CONFIRM___423 = 2048,
    MSG_RST___423 = 4096,
    MSG_ERRQUEUE___423 = 8192,
    MSG_NOSIGNAL___423 = 16384,
    MSG_MORE___423 = 32768,
    MSG_WAITFORONE___423 = 65536,
    MSG_BATCH___423 = 262144,
    MSG_ZEROCOPY___423 = 67108864,
    MSG_FASTOPEN___423 = 536870912,
    MSG_CMSG_CLOEXEC___423 = 1073741824
} ;
enum __anonenum_617082774___423 {
    SCM_RIGHTS___423 = 1,
    SCM_CREDENTIALS___423 = 2
} ;
enum __anonenum_606441560___423 {
    SHUT_RD___423 = 0,
    SHUT_WR___423 = 1,
    SHUT_RDWR___423 = 2
} ;
enum __anonenum_681669233___423 {
    IPPROTO_IP___423 = 0,
    IPPROTO_ICMP___423 = 1,
    IPPROTO_IGMP___423 = 2,
    IPPROTO_IPIP___423 = 4,
    IPPROTO_TCP___423 = 6,
    IPPROTO_EGP___423 = 8,
    IPPROTO_PUP___423 = 12,
    IPPROTO_UDP___423 = 17,
    IPPROTO_IDP___423 = 22,
    IPPROTO_TP___423 = 29,
    IPPROTO_DCCP___423 = 33,
    IPPROTO_IPV6___423 = 41,
    IPPROTO_RSVP___423 = 46,
    IPPROTO_GRE___423 = 47,
    IPPROTO_ESP___423 = 50,
    IPPROTO_AH___423 = 51,
    IPPROTO_MTP___423 = 92,
    IPPROTO_BEETPH___423 = 94,
    IPPROTO_ENCAP___423 = 98,
    IPPROTO_PIM___423 = 103,
    IPPROTO_COMP___423 = 108,
    IPPROTO_SCTP___423 = 132,
    IPPROTO_UDPLITE___423 = 136,
    IPPROTO_MPLS___423 = 137,
    IPPROTO_RAW___423 = 255,
    IPPROTO_MAX___423 = 256
} ;
enum __anonenum_218739988___423 {
    IPPROTO_HOPOPTS___423 = 0,
    IPPROTO_ROUTING___423 = 43,
    IPPROTO_FRAGMENT___423 = 44,
    IPPROTO_ICMPV6___423 = 58,
    IPPROTO_NONE___423 = 59,
    IPPROTO_DSTOPTS___423 = 60,
    IPPROTO_MH___423 = 135
} ;
enum __anonenum_662268580___423 {
    IPPORT_ECHO___423 = 7,
    IPPORT_DISCARD___423 = 9,
    IPPORT_SYSTAT___423 = 11,
    IPPORT_DAYTIME___423 = 13,
    IPPORT_NETSTAT___423 = 15,
    IPPORT_FTP___423 = 21,
    IPPORT_TELNET___423 = 23,
    IPPORT_SMTP___423 = 25,
    IPPORT_TIMESERVER___423 = 37,
    IPPORT_NAMESERVER___423 = 42,
    IPPORT_WHOIS___423 = 43,
    IPPORT_MTP___423 = 57,
    IPPORT_TFTP___423 = 69,
    IPPORT_RJE___423 = 77,
    IPPORT_FINGER___423 = 79,
    IPPORT_TTYLINK___423 = 87,
    IPPORT_SUPDUP___423 = 95,
    IPPORT_EXECSERVER___423 = 512,
    IPPORT_LOGINSERVER___423 = 513,
    IPPORT_CMDSERVER___423 = 514,
    IPPORT_EFSSERVER___423 = 520,
    IPPORT_BIFFUDP___423 = 512,
    IPPORT_WHOSERVER___423 = 513,
    IPPORT_ROUTESERVER___423 = 520,
    IPPORT_RESERVED___423 = 1024,
    IPPORT_USERRESERVED___423 = 5000
} ;
enum __anonenum_788308992___423 {
    TCP_ESTABLISHED___423 = 1,
    TCP_SYN_SENT___423 = 2,
    TCP_SYN_RECV___423 = 3,
    TCP_FIN_WAIT1___423 = 4,
    TCP_FIN_WAIT2___423 = 5,
    TCP_TIME_WAIT___423 = 6,
    TCP_CLOSE___423 = 7,
    TCP_CLOSE_WAIT___423 = 8,
    TCP_LAST_ACK___423 = 9,
    TCP_LISTEN___423 = 10,
    TCP_CLOSING___423 = 11
} ;
enum __anonenum_221125648___423 {
    TCP_NO_QUEUE___423 = 0,
    TCP_RECV_QUEUE___423 = 1,
    TCP_SEND_QUEUE___423 = 2,
    TCP_QUEUES_NR___423 = 3
} ;
enum __anonenum_34415463___423 {
    PTHREAD_CREATE_JOINABLE___423 = 0,
    PTHREAD_CREATE_DETACHED___423 = 1
} ;
enum __anonenum_303612439___423 {
    PTHREAD_MUTEX_TIMED_NP___423 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___423 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___423 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___423 = 3,
    PTHREAD_MUTEX_NORMAL___423 = 0,
    PTHREAD_MUTEX_RECURSIVE___423 = 1,
    PTHREAD_MUTEX_ERRORCHECK___423 = 2,
    PTHREAD_MUTEX_DEFAULT___423 = 0,
    PTHREAD_MUTEX_FAST_NP___423 = 0
} ;
enum __anonenum_931900394___423 {
    PTHREAD_MUTEX_STALLED___423 = 0,
    PTHREAD_MUTEX_STALLED_NP___423 = 0,
    PTHREAD_MUTEX_ROBUST___423 = 1,
    PTHREAD_MUTEX_ROBUST_NP___423 = 1
} ;
enum __anonenum_205214487___423 {
    PTHREAD_PRIO_NONE___423 = 0,
    PTHREAD_PRIO_INHERIT___423 = 1,
    PTHREAD_PRIO_PROTECT___423 = 2
} ;
enum __anonenum_25043950___423 {
    PTHREAD_RWLOCK_PREFER_READER_NP___423 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___423 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___423 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___423 = 0
} ;
enum __anonenum_436439511___423 {
    PTHREAD_INHERIT_SCHED___423 = 0,
    PTHREAD_EXPLICIT_SCHED___423 = 1
} ;
enum __anonenum_998661166___423 {
    PTHREAD_SCOPE_SYSTEM___423 = 0,
    PTHREAD_SCOPE_PROCESS___423 = 1
} ;
enum __anonenum_146137331___423 {
    PTHREAD_PROCESS_PRIVATE___423 = 0,
    PTHREAD_PROCESS_SHARED___423 = 1
} ;
enum __anonenum_53396917___423 {
    PTHREAD_CANCEL_ENABLE___423 = 0,
    PTHREAD_CANCEL_DISABLE___423 = 1
} ;
enum __anonenum_904563783___423 {
    PTHREAD_CANCEL_DEFERRED___423 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___423 = 1
} ;
enum __anonenum_672052974___423 {
    SSL_CT_VALIDATION_PERMISSIVE___423 = 0,
    SSL_CT_VALIDATION_STRICT___423 = 1
} ;
enum __anonenum_437032235___424 {
    _PC_LINK_MAX___424 = 0,
    _PC_MAX_CANON___424 = 1,
    _PC_MAX_INPUT___424 = 2,
    _PC_NAME_MAX___424 = 3,
    _PC_PATH_MAX___424 = 4,
    _PC_PIPE_BUF___424 = 5,
    _PC_CHOWN_RESTRICTED___424 = 6,
    _PC_NO_TRUNC___424 = 7,
    _PC_VDISABLE___424 = 8,
    _PC_SYNC_IO___424 = 9,
    _PC_ASYNC_IO___424 = 10,
    _PC_PRIO_IO___424 = 11,
    _PC_SOCK_MAXBUF___424 = 12,
    _PC_FILESIZEBITS___424 = 13,
    _PC_REC_INCR_XFER_SIZE___424 = 14,
    _PC_REC_MAX_XFER_SIZE___424 = 15,
    _PC_REC_MIN_XFER_SIZE___424 = 16,
    _PC_REC_XFER_ALIGN___424 = 17,
    _PC_ALLOC_SIZE_MIN___424 = 18,
    _PC_SYMLINK_MAX___424 = 19,
    _PC_2_SYMLINKS___424 = 20
} ;
enum __anonenum_315186338___424 {
    _SC_ARG_MAX___424 = 0,
    _SC_CHILD_MAX___424 = 1,
    _SC_CLK_TCK___424 = 2,
    _SC_NGROUPS_MAX___424 = 3,
    _SC_OPEN_MAX___424 = 4,
    _SC_STREAM_MAX___424 = 5,
    _SC_TZNAME_MAX___424 = 6,
    _SC_JOB_CONTROL___424 = 7,
    _SC_SAVED_IDS___424 = 8,
    _SC_REALTIME_SIGNALS___424 = 9,
    _SC_PRIORITY_SCHEDULING___424 = 10,
    _SC_TIMERS___424 = 11,
    _SC_ASYNCHRONOUS_IO___424 = 12,
    _SC_PRIORITIZED_IO___424 = 13,
    _SC_SYNCHRONIZED_IO___424 = 14,
    _SC_FSYNC___424 = 15,
    _SC_MAPPED_FILES___424 = 16,
    _SC_MEMLOCK___424 = 17,
    _SC_MEMLOCK_RANGE___424 = 18,
    _SC_MEMORY_PROTECTION___424 = 19,
    _SC_MESSAGE_PASSING___424 = 20,
    _SC_SEMAPHORES___424 = 21,
    _SC_SHARED_MEMORY_OBJECTS___424 = 22,
    _SC_AIO_LISTIO_MAX___424 = 23,
    _SC_AIO_MAX___424 = 24,
    _SC_AIO_PRIO_DELTA_MAX___424 = 25,
    _SC_DELAYTIMER_MAX___424 = 26,
    _SC_MQ_OPEN_MAX___424 = 27,
    _SC_MQ_PRIO_MAX___424 = 28,
    _SC_VERSION___424 = 29,
    _SC_PAGESIZE___424 = 30,
    _SC_RTSIG_MAX___424 = 31,
    _SC_SEM_NSEMS_MAX___424 = 32,
    _SC_SEM_VALUE_MAX___424 = 33,
    _SC_SIGQUEUE_MAX___424 = 34,
    _SC_TIMER_MAX___424 = 35,
    _SC_BC_BASE_MAX___424 = 36,
    _SC_BC_DIM_MAX___424 = 37,
    _SC_BC_SCALE_MAX___424 = 38,
    _SC_BC_STRING_MAX___424 = 39,
    _SC_COLL_WEIGHTS_MAX___424 = 40,
    _SC_EQUIV_CLASS_MAX___424 = 41,
    _SC_EXPR_NEST_MAX___424 = 42,
    _SC_LINE_MAX___424 = 43,
    _SC_RE_DUP_MAX___424 = 44,
    _SC_CHARCLASS_NAME_MAX___424 = 45,
    _SC_2_VERSION___424 = 46,
    _SC_2_C_BIND___424 = 47,
    _SC_2_C_DEV___424 = 48,
    _SC_2_FORT_DEV___424 = 49,
    _SC_2_FORT_RUN___424 = 50,
    _SC_2_SW_DEV___424 = 51,
    _SC_2_LOCALEDEF___424 = 52,
    _SC_PII___424 = 53,
    _SC_PII_XTI___424 = 54,
    _SC_PII_SOCKET___424 = 55,
    _SC_PII_INTERNET___424 = 56,
    _SC_PII_OSI___424 = 57,
    _SC_POLL___424 = 58,
    _SC_SELECT___424 = 59,
    _SC_UIO_MAXIOV___424 = 60,
    _SC_IOV_MAX___424 = 60,
    _SC_PII_INTERNET_STREAM___424 = 61,
    _SC_PII_INTERNET_DGRAM___424 = 62,
    _SC_PII_OSI_COTS___424 = 63,
    _SC_PII_OSI_CLTS___424 = 64,
    _SC_PII_OSI_M___424 = 65,
    _SC_T_IOV_MAX___424 = 66,
    _SC_THREADS___424 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___424 = 68,
    _SC_GETGR_R_SIZE_MAX___424 = 69,
    _SC_GETPW_R_SIZE_MAX___424 = 70,
    _SC_LOGIN_NAME_MAX___424 = 71,
    _SC_TTY_NAME_MAX___424 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___424 = 73,
    _SC_THREAD_KEYS_MAX___424 = 74,
    _SC_THREAD_STACK_MIN___424 = 75,
    _SC_THREAD_THREADS_MAX___424 = 76,
    _SC_THREAD_ATTR_STACKADDR___424 = 77,
    _SC_THREAD_ATTR_STACKSIZE___424 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___424 = 79,
    _SC_THREAD_PRIO_INHERIT___424 = 80,
    _SC_THREAD_PRIO_PROTECT___424 = 81,
    _SC_THREAD_PROCESS_SHARED___424 = 82,
    _SC_NPROCESSORS_CONF___424 = 83,
    _SC_NPROCESSORS_ONLN___424 = 84,
    _SC_PHYS_PAGES___424 = 85,
    _SC_AVPHYS_PAGES___424 = 86,
    _SC_ATEXIT_MAX___424 = 87,
    _SC_PASS_MAX___424 = 88,
    _SC_XOPEN_VERSION___424 = 89,
    _SC_XOPEN_XCU_VERSION___424 = 90,
    _SC_XOPEN_UNIX___424 = 91,
    _SC_XOPEN_CRYPT___424 = 92,
    _SC_XOPEN_ENH_I18N___424 = 93,
    _SC_XOPEN_SHM___424 = 94,
    _SC_2_CHAR_TERM___424 = 95,
    _SC_2_C_VERSION___424 = 96,
    _SC_2_UPE___424 = 97,
    _SC_XOPEN_XPG2___424 = 98,
    _SC_XOPEN_XPG3___424 = 99,
    _SC_XOPEN_XPG4___424 = 100,
    _SC_CHAR_BIT___424 = 101,
    _SC_CHAR_MAX___424 = 102,
    _SC_CHAR_MIN___424 = 103,
    _SC_INT_MAX___424 = 104,
    _SC_INT_MIN___424 = 105,
    _SC_LONG_BIT___424 = 106,
    _SC_WORD_BIT___424 = 107,
    _SC_MB_LEN_MAX___424 = 108,
    _SC_NZERO___424 = 109,
    _SC_SSIZE_MAX___424 = 110,
    _SC_SCHAR_MAX___424 = 111,
    _SC_SCHAR_MIN___424 = 112,
    _SC_SHRT_MAX___424 = 113,
    _SC_SHRT_MIN___424 = 114,
    _SC_UCHAR_MAX___424 = 115,
    _SC_UINT_MAX___424 = 116,
    _SC_ULONG_MAX___424 = 117,
    _SC_USHRT_MAX___424 = 118,
    _SC_NL_ARGMAX___424 = 119,
    _SC_NL_LANGMAX___424 = 120,
    _SC_NL_MSGMAX___424 = 121,
    _SC_NL_NMAX___424 = 122,
    _SC_NL_SETMAX___424 = 123,
    _SC_NL_TEXTMAX___424 = 124,
    _SC_XBS5_ILP32_OFF32___424 = 125,
    _SC_XBS5_ILP32_OFFBIG___424 = 126,
    _SC_XBS5_LP64_OFF64___424 = 127,
    _SC_XBS5_LPBIG_OFFBIG___424 = 128,
    _SC_XOPEN_LEGACY___424 = 129,
    _SC_XOPEN_REALTIME___424 = 130,
    _SC_XOPEN_REALTIME_THREADS___424 = 131,
    _SC_ADVISORY_INFO___424 = 132,
    _SC_BARRIERS___424 = 133,
    _SC_BASE___424 = 134,
    _SC_C_LANG_SUPPORT___424 = 135,
    _SC_C_LANG_SUPPORT_R___424 = 136,
    _SC_CLOCK_SELECTION___424 = 137,
    _SC_CPUTIME___424 = 138,
    _SC_THREAD_CPUTIME___424 = 139,
    _SC_DEVICE_IO___424 = 140,
    _SC_DEVICE_SPECIFIC___424 = 141,
    _SC_DEVICE_SPECIFIC_R___424 = 142,
    _SC_FD_MGMT___424 = 143,
    _SC_FIFO___424 = 144,
    _SC_PIPE___424 = 145,
    _SC_FILE_ATTRIBUTES___424 = 146,
    _SC_FILE_LOCKING___424 = 147,
    _SC_FILE_SYSTEM___424 = 148,
    _SC_MONOTONIC_CLOCK___424 = 149,
    _SC_MULTI_PROCESS___424 = 150,
    _SC_SINGLE_PROCESS___424 = 151,
    _SC_NETWORKING___424 = 152,
    _SC_READER_WRITER_LOCKS___424 = 153,
    _SC_SPIN_LOCKS___424 = 154,
    _SC_REGEXP___424 = 155,
    _SC_REGEX_VERSION___424 = 156,
    _SC_SHELL___424 = 157,
    _SC_SIGNALS___424 = 158,
    _SC_SPAWN___424 = 159,
    _SC_SPORADIC_SERVER___424 = 160,
    _SC_THREAD_SPORADIC_SERVER___424 = 161,
    _SC_SYSTEM_DATABASE___424 = 162,
    _SC_SYSTEM_DATABASE_R___424 = 163,
    _SC_TIMEOUTS___424 = 164,
    _SC_TYPED_MEMORY_OBJECTS___424 = 165,
    _SC_USER_GROUPS___424 = 166,
    _SC_USER_GROUPS_R___424 = 167,
    _SC_2_PBS___424 = 168,
    _SC_2_PBS_ACCOUNTING___424 = 169,
    _SC_2_PBS_LOCATE___424 = 170,
    _SC_2_PBS_MESSAGE___424 = 171,
    _SC_2_PBS_TRACK___424 = 172,
    _SC_SYMLOOP_MAX___424 = 173,
    _SC_STREAMS___424 = 174,
    _SC_2_PBS_CHECKPOINT___424 = 175,
    _SC_V6_ILP32_OFF32___424 = 176,
    _SC_V6_ILP32_OFFBIG___424 = 177,
    _SC_V6_LP64_OFF64___424 = 178,
    _SC_V6_LPBIG_OFFBIG___424 = 179,
    _SC_HOST_NAME_MAX___424 = 180,
    _SC_TRACE___424 = 181,
    _SC_TRACE_EVENT_FILTER___424 = 182,
    _SC_TRACE_INHERIT___424 = 183,
    _SC_TRACE_LOG___424 = 184,
    _SC_LEVEL1_ICACHE_SIZE___424 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___424 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___424 = 187,
    _SC_LEVEL1_DCACHE_SIZE___424 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___424 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___424 = 190,
    _SC_LEVEL2_CACHE_SIZE___424 = 191,
    _SC_LEVEL2_CACHE_ASSOC___424 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___424 = 193,
    _SC_LEVEL3_CACHE_SIZE___424 = 194,
    _SC_LEVEL3_CACHE_ASSOC___424 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___424 = 196,
    _SC_LEVEL4_CACHE_SIZE___424 = 197,
    _SC_LEVEL4_CACHE_ASSOC___424 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___424 = 199,
    _SC_IPV6___424 = 235,
    _SC_RAW_SOCKETS___424 = 236,
    _SC_V7_ILP32_OFF32___424 = 237,
    _SC_V7_ILP32_OFFBIG___424 = 238,
    _SC_V7_LP64_OFF64___424 = 239,
    _SC_V7_LPBIG_OFFBIG___424 = 240,
    _SC_SS_REPL_MAX___424 = 241,
    _SC_TRACE_EVENT_NAME_MAX___424 = 242,
    _SC_TRACE_NAME_MAX___424 = 243,
    _SC_TRACE_SYS_MAX___424 = 244,
    _SC_TRACE_USER_EVENT_MAX___424 = 245,
    _SC_XOPEN_STREAMS___424 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___424 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___424 = 248
} ;
enum __anonenum_875524036___424 {
    _CS_PATH___424 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___424 = 1,
    _CS_GNU_LIBC_VERSION___424 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___424 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___424 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___424 = 5,
    _CS_LFS_CFLAGS___424 = 1000,
    _CS_LFS_LDFLAGS___424 = 1001,
    _CS_LFS_LIBS___424 = 1002,
    _CS_LFS_LINTFLAGS___424 = 1003,
    _CS_LFS64_CFLAGS___424 = 1004,
    _CS_LFS64_LDFLAGS___424 = 1005,
    _CS_LFS64_LIBS___424 = 1006,
    _CS_LFS64_LINTFLAGS___424 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___424 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___424 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___424 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___424 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___424 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___424 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___424 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___424 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___424 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___424 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___424 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___424 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___424 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___424 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___424 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___424 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___424 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___424 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___424 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___424 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___424 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___424 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___424 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___424 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___424 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___424 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___424 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___424 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___424 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___424 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___424 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___424 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___424 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___424 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___424 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___424 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___424 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___424 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___424 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___424 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___424 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___424 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___424 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___424 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___424 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___424 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___424 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___424 = 1147,
    _CS_V6_ENV___424 = 1148,
    _CS_V7_ENV___424 = 1149
} ;
enum __anonenum_513775621___424 {
    DT_UNKNOWN___424 = 0,
    DT_FIFO___424 = 1,
    DT_CHR___424 = 2,
    DT_DIR___424 = 4,
    DT_BLK___424 = 6,
    DT_REG___424 = 8,
    DT_LNK___424 = 10,
    DT_SOCK___424 = 12,
    DT_WHT___424 = 14
} ;
enum __anonenum_77002343___424 {
    SI_ASYNCNL___424 = -60,
    SI_TKILL___424 = -6,
    SI_SIGIO___424 = -5,
    SI_ASYNCIO___424 = -4,
    SI_MESGQ___424 = -3,
    SI_TIMER___424 = -2,
    SI_QUEUE___424 = -1,
    SI_USER___424 = 0,
    SI_KERNEL___424 = 128
} ;
enum __anonenum_131038172___424 {
    ILL_ILLOPC___424 = 1,
    ILL_ILLOPN___424 = 2,
    ILL_ILLADR___424 = 3,
    ILL_ILLTRP___424 = 4,
    ILL_PRVOPC___424 = 5,
    ILL_PRVREG___424 = 6,
    ILL_COPROC___424 = 7,
    ILL_BADSTK___424 = 8
} ;
enum __anonenum_452038093___424 {
    FPE_INTDIV___424 = 1,
    FPE_INTOVF___424 = 2,
    FPE_FLTDIV___424 = 3,
    FPE_FLTOVF___424 = 4,
    FPE_FLTUND___424 = 5,
    FPE_FLTRES___424 = 6,
    FPE_FLTINV___424 = 7,
    FPE_FLTSUB___424 = 8
} ;
enum __anonenum_30976155___424 {
    SEGV_MAPERR___424 = 1,
    SEGV_ACCERR___424 = 2,
    SEGV_BNDERR___424 = 3,
    SEGV_PKUERR___424 = 4
} ;
enum __anonenum_1036286214___424 {
    BUS_ADRALN___424 = 1,
    BUS_ADRERR___424 = 2,
    BUS_OBJERR___424 = 3,
    BUS_MCEERR_AR___424 = 4,
    BUS_MCEERR_AO___424 = 5
} ;
enum __anonenum_493465559___424 {
    TRAP_BRKPT___424 = 1,
    TRAP_TRACE___424 = 2
} ;
enum __anonenum_23175539___424 {
    CLD_EXITED___424 = 1,
    CLD_KILLED___424 = 2,
    CLD_DUMPED___424 = 3,
    CLD_TRAPPED___424 = 4,
    CLD_STOPPED___424 = 5,
    CLD_CONTINUED___424 = 6
} ;
enum __anonenum_111643124___424 {
    POLL_IN___424 = 1,
    POLL_OUT___424 = 2,
    POLL_MSG___424 = 3,
    POLL_ERR___424 = 4,
    POLL_PRI___424 = 5,
    POLL_HUP___424 = 6
} ;
enum __anonenum_852341087___424 {
    SIGEV_SIGNAL___424 = 0,
    SIGEV_NONE___424 = 1,
    SIGEV_THREAD___424 = 2,
    SIGEV_THREAD_ID___424 = 4
} ;
enum __anonenum_451154152___424 {
    REG_R8___424 = 0,
    REG_R9___424 = 1,
    REG_R10___424 = 2,
    REG_R11___424 = 3,
    REG_R12___424 = 4,
    REG_R13___424 = 5,
    REG_R14___424 = 6,
    REG_R15___424 = 7,
    REG_RDI___424 = 8,
    REG_RSI___424 = 9,
    REG_RBP___424 = 10,
    REG_RBX___424 = 11,
    REG_RDX___424 = 12,
    REG_RAX___424 = 13,
    REG_RCX___424 = 14,
    REG_RSP___424 = 15,
    REG_RIP___424 = 16,
    REG_EFL___424 = 17,
    REG_CSGSFS___424 = 18,
    REG_ERR___424 = 19,
    REG_TRAPNO___424 = 20,
    REG_OLDMASK___424 = 21,
    REG_CR2___424 = 22
} ;
enum __anonenum_57186863___424 {
    SS_ONSTACK___424 = 1,
    SS_DISABLE___424 = 2
} ;
enum __anonenum_83571709___424 {
    MSG_OOB___424 = 1,
    MSG_PEEK___424 = 2,
    MSG_DONTROUTE___424 = 4,
    MSG_TRYHARD___424 = 4,
    MSG_CTRUNC___424 = 8,
    MSG_PROXY___424 = 16,
    MSG_TRUNC___424 = 32,
    MSG_DONTWAIT___424 = 64,
    MSG_EOR___424 = 128,
    MSG_WAITALL___424 = 256,
    MSG_FIN___424 = 512,
    MSG_SYN___424 = 1024,
    MSG_CONFIRM___424 = 2048,
    MSG_RST___424 = 4096,
    MSG_ERRQUEUE___424 = 8192,
    MSG_NOSIGNAL___424 = 16384,
    MSG_MORE___424 = 32768,
    MSG_WAITFORONE___424 = 65536,
    MSG_BATCH___424 = 262144,
    MSG_ZEROCOPY___424 = 67108864,
    MSG_FASTOPEN___424 = 536870912,
    MSG_CMSG_CLOEXEC___424 = 1073741824
} ;
enum __anonenum_617082774___424 {
    SCM_RIGHTS___424 = 1,
    SCM_CREDENTIALS___424 = 2
} ;
enum __anonenum_606441560___424 {
    SHUT_RD___424 = 0,
    SHUT_WR___424 = 1,
    SHUT_RDWR___424 = 2
} ;
enum __anonenum_681669233___424 {
    IPPROTO_IP___424 = 0,
    IPPROTO_ICMP___424 = 1,
    IPPROTO_IGMP___424 = 2,
    IPPROTO_IPIP___424 = 4,
    IPPROTO_TCP___424 = 6,
    IPPROTO_EGP___424 = 8,
    IPPROTO_PUP___424 = 12,
    IPPROTO_UDP___424 = 17,
    IPPROTO_IDP___424 = 22,
    IPPROTO_TP___424 = 29,
    IPPROTO_DCCP___424 = 33,
    IPPROTO_IPV6___424 = 41,
    IPPROTO_RSVP___424 = 46,
    IPPROTO_GRE___424 = 47,
    IPPROTO_ESP___424 = 50,
    IPPROTO_AH___424 = 51,
    IPPROTO_MTP___424 = 92,
    IPPROTO_BEETPH___424 = 94,
    IPPROTO_ENCAP___424 = 98,
    IPPROTO_PIM___424 = 103,
    IPPROTO_COMP___424 = 108,
    IPPROTO_SCTP___424 = 132,
    IPPROTO_UDPLITE___424 = 136,
    IPPROTO_MPLS___424 = 137,
    IPPROTO_RAW___424 = 255,
    IPPROTO_MAX___424 = 256
} ;
enum __anonenum_218739988___424 {
    IPPROTO_HOPOPTS___424 = 0,
    IPPROTO_ROUTING___424 = 43,
    IPPROTO_FRAGMENT___424 = 44,
    IPPROTO_ICMPV6___424 = 58,
    IPPROTO_NONE___424 = 59,
    IPPROTO_DSTOPTS___424 = 60,
    IPPROTO_MH___424 = 135
} ;
enum __anonenum_662268580___424 {
    IPPORT_ECHO___424 = 7,
    IPPORT_DISCARD___424 = 9,
    IPPORT_SYSTAT___424 = 11,
    IPPORT_DAYTIME___424 = 13,
    IPPORT_NETSTAT___424 = 15,
    IPPORT_FTP___424 = 21,
    IPPORT_TELNET___424 = 23,
    IPPORT_SMTP___424 = 25,
    IPPORT_TIMESERVER___424 = 37,
    IPPORT_NAMESERVER___424 = 42,
    IPPORT_WHOIS___424 = 43,
    IPPORT_MTP___424 = 57,
    IPPORT_TFTP___424 = 69,
    IPPORT_RJE___424 = 77,
    IPPORT_FINGER___424 = 79,
    IPPORT_TTYLINK___424 = 87,
    IPPORT_SUPDUP___424 = 95,
    IPPORT_EXECSERVER___424 = 512,
    IPPORT_LOGINSERVER___424 = 513,
    IPPORT_CMDSERVER___424 = 514,
    IPPORT_EFSSERVER___424 = 520,
    IPPORT_BIFFUDP___424 = 512,
    IPPORT_WHOSERVER___424 = 513,
    IPPORT_ROUTESERVER___424 = 520,
    IPPORT_RESERVED___424 = 1024,
    IPPORT_USERRESERVED___424 = 5000
} ;
enum __anonenum_788308992___424 {
    TCP_ESTABLISHED___424 = 1,
    TCP_SYN_SENT___424 = 2,
    TCP_SYN_RECV___424 = 3,
    TCP_FIN_WAIT1___424 = 4,
    TCP_FIN_WAIT2___424 = 5,
    TCP_TIME_WAIT___424 = 6,
    TCP_CLOSE___424 = 7,
    TCP_CLOSE_WAIT___424 = 8,
    TCP_LAST_ACK___424 = 9,
    TCP_LISTEN___424 = 10,
    TCP_CLOSING___424 = 11
} ;
enum __anonenum_221125648___424 {
    TCP_NO_QUEUE___424 = 0,
    TCP_RECV_QUEUE___424 = 1,
    TCP_SEND_QUEUE___424 = 2,
    TCP_QUEUES_NR___424 = 3
} ;
enum __anonenum_34415463___424 {
    PTHREAD_CREATE_JOINABLE___424 = 0,
    PTHREAD_CREATE_DETACHED___424 = 1
} ;
enum __anonenum_303612439___424 {
    PTHREAD_MUTEX_TIMED_NP___424 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___424 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___424 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___424 = 3,
    PTHREAD_MUTEX_NORMAL___424 = 0,
    PTHREAD_MUTEX_RECURSIVE___424 = 1,
    PTHREAD_MUTEX_ERRORCHECK___424 = 2,
    PTHREAD_MUTEX_DEFAULT___424 = 0,
    PTHREAD_MUTEX_FAST_NP___424 = 0
} ;
enum __anonenum_931900394___424 {
    PTHREAD_MUTEX_STALLED___424 = 0,
    PTHREAD_MUTEX_STALLED_NP___424 = 0,
    PTHREAD_MUTEX_ROBUST___424 = 1,
    PTHREAD_MUTEX_ROBUST_NP___424 = 1
} ;
enum __anonenum_205214487___424 {
    PTHREAD_PRIO_NONE___424 = 0,
    PTHREAD_PRIO_INHERIT___424 = 1,
    PTHREAD_PRIO_PROTECT___424 = 2
} ;
enum __anonenum_25043950___424 {
    PTHREAD_RWLOCK_PREFER_READER_NP___424 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___424 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___424 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___424 = 0
} ;
enum __anonenum_436439511___424 {
    PTHREAD_INHERIT_SCHED___424 = 0,
    PTHREAD_EXPLICIT_SCHED___424 = 1
} ;
enum __anonenum_998661166___424 {
    PTHREAD_SCOPE_SYSTEM___424 = 0,
    PTHREAD_SCOPE_PROCESS___424 = 1
} ;
enum __anonenum_146137331___424 {
    PTHREAD_PROCESS_PRIVATE___424 = 0,
    PTHREAD_PROCESS_SHARED___424 = 1
} ;
enum __anonenum_53396917___424 {
    PTHREAD_CANCEL_ENABLE___424 = 0,
    PTHREAD_CANCEL_DISABLE___424 = 1
} ;
enum __anonenum_904563783___424 {
    PTHREAD_CANCEL_DEFERRED___424 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___424 = 1
} ;
enum __anonenum_672052974___424 {
    SSL_CT_VALIDATION_PERMISSIVE___424 = 0,
    SSL_CT_VALIDATION_STRICT___424 = 1
} ;
enum __anonenum_437032235___425 {
    _PC_LINK_MAX___425 = 0,
    _PC_MAX_CANON___425 = 1,
    _PC_MAX_INPUT___425 = 2,
    _PC_NAME_MAX___425 = 3,
    _PC_PATH_MAX___425 = 4,
    _PC_PIPE_BUF___425 = 5,
    _PC_CHOWN_RESTRICTED___425 = 6,
    _PC_NO_TRUNC___425 = 7,
    _PC_VDISABLE___425 = 8,
    _PC_SYNC_IO___425 = 9,
    _PC_ASYNC_IO___425 = 10,
    _PC_PRIO_IO___425 = 11,
    _PC_SOCK_MAXBUF___425 = 12,
    _PC_FILESIZEBITS___425 = 13,
    _PC_REC_INCR_XFER_SIZE___425 = 14,
    _PC_REC_MAX_XFER_SIZE___425 = 15,
    _PC_REC_MIN_XFER_SIZE___425 = 16,
    _PC_REC_XFER_ALIGN___425 = 17,
    _PC_ALLOC_SIZE_MIN___425 = 18,
    _PC_SYMLINK_MAX___425 = 19,
    _PC_2_SYMLINKS___425 = 20
} ;
enum __anonenum_315186338___425 {
    _SC_ARG_MAX___425 = 0,
    _SC_CHILD_MAX___425 = 1,
    _SC_CLK_TCK___425 = 2,
    _SC_NGROUPS_MAX___425 = 3,
    _SC_OPEN_MAX___425 = 4,
    _SC_STREAM_MAX___425 = 5,
    _SC_TZNAME_MAX___425 = 6,
    _SC_JOB_CONTROL___425 = 7,
    _SC_SAVED_IDS___425 = 8,
    _SC_REALTIME_SIGNALS___425 = 9,
    _SC_PRIORITY_SCHEDULING___425 = 10,
    _SC_TIMERS___425 = 11,
    _SC_ASYNCHRONOUS_IO___425 = 12,
    _SC_PRIORITIZED_IO___425 = 13,
    _SC_SYNCHRONIZED_IO___425 = 14,
    _SC_FSYNC___425 = 15,
    _SC_MAPPED_FILES___425 = 16,
    _SC_MEMLOCK___425 = 17,
    _SC_MEMLOCK_RANGE___425 = 18,
    _SC_MEMORY_PROTECTION___425 = 19,
    _SC_MESSAGE_PASSING___425 = 20,
    _SC_SEMAPHORES___425 = 21,
    _SC_SHARED_MEMORY_OBJECTS___425 = 22,
    _SC_AIO_LISTIO_MAX___425 = 23,
    _SC_AIO_MAX___425 = 24,
    _SC_AIO_PRIO_DELTA_MAX___425 = 25,
    _SC_DELAYTIMER_MAX___425 = 26,
    _SC_MQ_OPEN_MAX___425 = 27,
    _SC_MQ_PRIO_MAX___425 = 28,
    _SC_VERSION___425 = 29,
    _SC_PAGESIZE___425 = 30,
    _SC_RTSIG_MAX___425 = 31,
    _SC_SEM_NSEMS_MAX___425 = 32,
    _SC_SEM_VALUE_MAX___425 = 33,
    _SC_SIGQUEUE_MAX___425 = 34,
    _SC_TIMER_MAX___425 = 35,
    _SC_BC_BASE_MAX___425 = 36,
    _SC_BC_DIM_MAX___425 = 37,
    _SC_BC_SCALE_MAX___425 = 38,
    _SC_BC_STRING_MAX___425 = 39,
    _SC_COLL_WEIGHTS_MAX___425 = 40,
    _SC_EQUIV_CLASS_MAX___425 = 41,
    _SC_EXPR_NEST_MAX___425 = 42,
    _SC_LINE_MAX___425 = 43,
    _SC_RE_DUP_MAX___425 = 44,
    _SC_CHARCLASS_NAME_MAX___425 = 45,
    _SC_2_VERSION___425 = 46,
    _SC_2_C_BIND___425 = 47,
    _SC_2_C_DEV___425 = 48,
    _SC_2_FORT_DEV___425 = 49,
    _SC_2_FORT_RUN___425 = 50,
    _SC_2_SW_DEV___425 = 51,
    _SC_2_LOCALEDEF___425 = 52,
    _SC_PII___425 = 53,
    _SC_PII_XTI___425 = 54,
    _SC_PII_SOCKET___425 = 55,
    _SC_PII_INTERNET___425 = 56,
    _SC_PII_OSI___425 = 57,
    _SC_POLL___425 = 58,
    _SC_SELECT___425 = 59,
    _SC_UIO_MAXIOV___425 = 60,
    _SC_IOV_MAX___425 = 60,
    _SC_PII_INTERNET_STREAM___425 = 61,
    _SC_PII_INTERNET_DGRAM___425 = 62,
    _SC_PII_OSI_COTS___425 = 63,
    _SC_PII_OSI_CLTS___425 = 64,
    _SC_PII_OSI_M___425 = 65,
    _SC_T_IOV_MAX___425 = 66,
    _SC_THREADS___425 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___425 = 68,
    _SC_GETGR_R_SIZE_MAX___425 = 69,
    _SC_GETPW_R_SIZE_MAX___425 = 70,
    _SC_LOGIN_NAME_MAX___425 = 71,
    _SC_TTY_NAME_MAX___425 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___425 = 73,
    _SC_THREAD_KEYS_MAX___425 = 74,
    _SC_THREAD_STACK_MIN___425 = 75,
    _SC_THREAD_THREADS_MAX___425 = 76,
    _SC_THREAD_ATTR_STACKADDR___425 = 77,
    _SC_THREAD_ATTR_STACKSIZE___425 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___425 = 79,
    _SC_THREAD_PRIO_INHERIT___425 = 80,
    _SC_THREAD_PRIO_PROTECT___425 = 81,
    _SC_THREAD_PROCESS_SHARED___425 = 82,
    _SC_NPROCESSORS_CONF___425 = 83,
    _SC_NPROCESSORS_ONLN___425 = 84,
    _SC_PHYS_PAGES___425 = 85,
    _SC_AVPHYS_PAGES___425 = 86,
    _SC_ATEXIT_MAX___425 = 87,
    _SC_PASS_MAX___425 = 88,
    _SC_XOPEN_VERSION___425 = 89,
    _SC_XOPEN_XCU_VERSION___425 = 90,
    _SC_XOPEN_UNIX___425 = 91,
    _SC_XOPEN_CRYPT___425 = 92,
    _SC_XOPEN_ENH_I18N___425 = 93,
    _SC_XOPEN_SHM___425 = 94,
    _SC_2_CHAR_TERM___425 = 95,
    _SC_2_C_VERSION___425 = 96,
    _SC_2_UPE___425 = 97,
    _SC_XOPEN_XPG2___425 = 98,
    _SC_XOPEN_XPG3___425 = 99,
    _SC_XOPEN_XPG4___425 = 100,
    _SC_CHAR_BIT___425 = 101,
    _SC_CHAR_MAX___425 = 102,
    _SC_CHAR_MIN___425 = 103,
    _SC_INT_MAX___425 = 104,
    _SC_INT_MIN___425 = 105,
    _SC_LONG_BIT___425 = 106,
    _SC_WORD_BIT___425 = 107,
    _SC_MB_LEN_MAX___425 = 108,
    _SC_NZERO___425 = 109,
    _SC_SSIZE_MAX___425 = 110,
    _SC_SCHAR_MAX___425 = 111,
    _SC_SCHAR_MIN___425 = 112,
    _SC_SHRT_MAX___425 = 113,
    _SC_SHRT_MIN___425 = 114,
    _SC_UCHAR_MAX___425 = 115,
    _SC_UINT_MAX___425 = 116,
    _SC_ULONG_MAX___425 = 117,
    _SC_USHRT_MAX___425 = 118,
    _SC_NL_ARGMAX___425 = 119,
    _SC_NL_LANGMAX___425 = 120,
    _SC_NL_MSGMAX___425 = 121,
    _SC_NL_NMAX___425 = 122,
    _SC_NL_SETMAX___425 = 123,
    _SC_NL_TEXTMAX___425 = 124,
    _SC_XBS5_ILP32_OFF32___425 = 125,
    _SC_XBS5_ILP32_OFFBIG___425 = 126,
    _SC_XBS5_LP64_OFF64___425 = 127,
    _SC_XBS5_LPBIG_OFFBIG___425 = 128,
    _SC_XOPEN_LEGACY___425 = 129,
    _SC_XOPEN_REALTIME___425 = 130,
    _SC_XOPEN_REALTIME_THREADS___425 = 131,
    _SC_ADVISORY_INFO___425 = 132,
    _SC_BARRIERS___425 = 133,
    _SC_BASE___425 = 134,
    _SC_C_LANG_SUPPORT___425 = 135,
    _SC_C_LANG_SUPPORT_R___425 = 136,
    _SC_CLOCK_SELECTION___425 = 137,
    _SC_CPUTIME___425 = 138,
    _SC_THREAD_CPUTIME___425 = 139,
    _SC_DEVICE_IO___425 = 140,
    _SC_DEVICE_SPECIFIC___425 = 141,
    _SC_DEVICE_SPECIFIC_R___425 = 142,
    _SC_FD_MGMT___425 = 143,
    _SC_FIFO___425 = 144,
    _SC_PIPE___425 = 145,
    _SC_FILE_ATTRIBUTES___425 = 146,
    _SC_FILE_LOCKING___425 = 147,
    _SC_FILE_SYSTEM___425 = 148,
    _SC_MONOTONIC_CLOCK___425 = 149,
    _SC_MULTI_PROCESS___425 = 150,
    _SC_SINGLE_PROCESS___425 = 151,
    _SC_NETWORKING___425 = 152,
    _SC_READER_WRITER_LOCKS___425 = 153,
    _SC_SPIN_LOCKS___425 = 154,
    _SC_REGEXP___425 = 155,
    _SC_REGEX_VERSION___425 = 156,
    _SC_SHELL___425 = 157,
    _SC_SIGNALS___425 = 158,
    _SC_SPAWN___425 = 159,
    _SC_SPORADIC_SERVER___425 = 160,
    _SC_THREAD_SPORADIC_SERVER___425 = 161,
    _SC_SYSTEM_DATABASE___425 = 162,
    _SC_SYSTEM_DATABASE_R___425 = 163,
    _SC_TIMEOUTS___425 = 164,
    _SC_TYPED_MEMORY_OBJECTS___425 = 165,
    _SC_USER_GROUPS___425 = 166,
    _SC_USER_GROUPS_R___425 = 167,
    _SC_2_PBS___425 = 168,
    _SC_2_PBS_ACCOUNTING___425 = 169,
    _SC_2_PBS_LOCATE___425 = 170,
    _SC_2_PBS_MESSAGE___425 = 171,
    _SC_2_PBS_TRACK___425 = 172,
    _SC_SYMLOOP_MAX___425 = 173,
    _SC_STREAMS___425 = 174,
    _SC_2_PBS_CHECKPOINT___425 = 175,
    _SC_V6_ILP32_OFF32___425 = 176,
    _SC_V6_ILP32_OFFBIG___425 = 177,
    _SC_V6_LP64_OFF64___425 = 178,
    _SC_V6_LPBIG_OFFBIG___425 = 179,
    _SC_HOST_NAME_MAX___425 = 180,
    _SC_TRACE___425 = 181,
    _SC_TRACE_EVENT_FILTER___425 = 182,
    _SC_TRACE_INHERIT___425 = 183,
    _SC_TRACE_LOG___425 = 184,
    _SC_LEVEL1_ICACHE_SIZE___425 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___425 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___425 = 187,
    _SC_LEVEL1_DCACHE_SIZE___425 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___425 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___425 = 190,
    _SC_LEVEL2_CACHE_SIZE___425 = 191,
    _SC_LEVEL2_CACHE_ASSOC___425 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___425 = 193,
    _SC_LEVEL3_CACHE_SIZE___425 = 194,
    _SC_LEVEL3_CACHE_ASSOC___425 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___425 = 196,
    _SC_LEVEL4_CACHE_SIZE___425 = 197,
    _SC_LEVEL4_CACHE_ASSOC___425 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___425 = 199,
    _SC_IPV6___425 = 235,
    _SC_RAW_SOCKETS___425 = 236,
    _SC_V7_ILP32_OFF32___425 = 237,
    _SC_V7_ILP32_OFFBIG___425 = 238,
    _SC_V7_LP64_OFF64___425 = 239,
    _SC_V7_LPBIG_OFFBIG___425 = 240,
    _SC_SS_REPL_MAX___425 = 241,
    _SC_TRACE_EVENT_NAME_MAX___425 = 242,
    _SC_TRACE_NAME_MAX___425 = 243,
    _SC_TRACE_SYS_MAX___425 = 244,
    _SC_TRACE_USER_EVENT_MAX___425 = 245,
    _SC_XOPEN_STREAMS___425 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___425 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___425 = 248
} ;
enum __anonenum_875524036___425 {
    _CS_PATH___425 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___425 = 1,
    _CS_GNU_LIBC_VERSION___425 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___425 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___425 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___425 = 5,
    _CS_LFS_CFLAGS___425 = 1000,
    _CS_LFS_LDFLAGS___425 = 1001,
    _CS_LFS_LIBS___425 = 1002,
    _CS_LFS_LINTFLAGS___425 = 1003,
    _CS_LFS64_CFLAGS___425 = 1004,
    _CS_LFS64_LDFLAGS___425 = 1005,
    _CS_LFS64_LIBS___425 = 1006,
    _CS_LFS64_LINTFLAGS___425 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___425 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___425 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___425 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___425 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___425 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___425 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___425 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___425 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___425 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___425 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___425 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___425 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___425 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___425 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___425 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___425 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___425 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___425 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___425 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___425 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___425 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___425 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___425 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___425 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___425 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___425 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___425 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___425 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___425 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___425 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___425 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___425 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___425 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___425 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___425 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___425 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___425 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___425 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___425 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___425 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___425 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___425 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___425 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___425 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___425 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___425 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___425 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___425 = 1147,
    _CS_V6_ENV___425 = 1148,
    _CS_V7_ENV___425 = 1149
} ;
enum __anonenum_513775621___425 {
    DT_UNKNOWN___425 = 0,
    DT_FIFO___425 = 1,
    DT_CHR___425 = 2,
    DT_DIR___425 = 4,
    DT_BLK___425 = 6,
    DT_REG___425 = 8,
    DT_LNK___425 = 10,
    DT_SOCK___425 = 12,
    DT_WHT___425 = 14
} ;
enum __anonenum_77002343___425 {
    SI_ASYNCNL___425 = -60,
    SI_TKILL___425 = -6,
    SI_SIGIO___425 = -5,
    SI_ASYNCIO___425 = -4,
    SI_MESGQ___425 = -3,
    SI_TIMER___425 = -2,
    SI_QUEUE___425 = -1,
    SI_USER___425 = 0,
    SI_KERNEL___425 = 128
} ;
enum __anonenum_131038172___425 {
    ILL_ILLOPC___425 = 1,
    ILL_ILLOPN___425 = 2,
    ILL_ILLADR___425 = 3,
    ILL_ILLTRP___425 = 4,
    ILL_PRVOPC___425 = 5,
    ILL_PRVREG___425 = 6,
    ILL_COPROC___425 = 7,
    ILL_BADSTK___425 = 8
} ;
enum __anonenum_452038093___425 {
    FPE_INTDIV___425 = 1,
    FPE_INTOVF___425 = 2,
    FPE_FLTDIV___425 = 3,
    FPE_FLTOVF___425 = 4,
    FPE_FLTUND___425 = 5,
    FPE_FLTRES___425 = 6,
    FPE_FLTINV___425 = 7,
    FPE_FLTSUB___425 = 8
} ;
enum __anonenum_30976155___425 {
    SEGV_MAPERR___425 = 1,
    SEGV_ACCERR___425 = 2,
    SEGV_BNDERR___425 = 3,
    SEGV_PKUERR___425 = 4
} ;
enum __anonenum_1036286214___425 {
    BUS_ADRALN___425 = 1,
    BUS_ADRERR___425 = 2,
    BUS_OBJERR___425 = 3,
    BUS_MCEERR_AR___425 = 4,
    BUS_MCEERR_AO___425 = 5
} ;
enum __anonenum_493465559___425 {
    TRAP_BRKPT___425 = 1,
    TRAP_TRACE___425 = 2
} ;
enum __anonenum_23175539___425 {
    CLD_EXITED___425 = 1,
    CLD_KILLED___425 = 2,
    CLD_DUMPED___425 = 3,
    CLD_TRAPPED___425 = 4,
    CLD_STOPPED___425 = 5,
    CLD_CONTINUED___425 = 6
} ;
enum __anonenum_111643124___425 {
    POLL_IN___425 = 1,
    POLL_OUT___425 = 2,
    POLL_MSG___425 = 3,
    POLL_ERR___425 = 4,
    POLL_PRI___425 = 5,
    POLL_HUP___425 = 6
} ;
enum __anonenum_852341087___425 {
    SIGEV_SIGNAL___425 = 0,
    SIGEV_NONE___425 = 1,
    SIGEV_THREAD___425 = 2,
    SIGEV_THREAD_ID___425 = 4
} ;
enum __anonenum_451154152___425 {
    REG_R8___425 = 0,
    REG_R9___425 = 1,
    REG_R10___425 = 2,
    REG_R11___425 = 3,
    REG_R12___425 = 4,
    REG_R13___425 = 5,
    REG_R14___425 = 6,
    REG_R15___425 = 7,
    REG_RDI___425 = 8,
    REG_RSI___425 = 9,
    REG_RBP___425 = 10,
    REG_RBX___425 = 11,
    REG_RDX___425 = 12,
    REG_RAX___425 = 13,
    REG_RCX___425 = 14,
    REG_RSP___425 = 15,
    REG_RIP___425 = 16,
    REG_EFL___425 = 17,
    REG_CSGSFS___425 = 18,
    REG_ERR___425 = 19,
    REG_TRAPNO___425 = 20,
    REG_OLDMASK___425 = 21,
    REG_CR2___425 = 22
} ;
enum __anonenum_57186863___425 {
    SS_ONSTACK___425 = 1,
    SS_DISABLE___425 = 2
} ;
enum __anonenum_83571709___425 {
    MSG_OOB___425 = 1,
    MSG_PEEK___425 = 2,
    MSG_DONTROUTE___425 = 4,
    MSG_TRYHARD___425 = 4,
    MSG_CTRUNC___425 = 8,
    MSG_PROXY___425 = 16,
    MSG_TRUNC___425 = 32,
    MSG_DONTWAIT___425 = 64,
    MSG_EOR___425 = 128,
    MSG_WAITALL___425 = 256,
    MSG_FIN___425 = 512,
    MSG_SYN___425 = 1024,
    MSG_CONFIRM___425 = 2048,
    MSG_RST___425 = 4096,
    MSG_ERRQUEUE___425 = 8192,
    MSG_NOSIGNAL___425 = 16384,
    MSG_MORE___425 = 32768,
    MSG_WAITFORONE___425 = 65536,
    MSG_BATCH___425 = 262144,
    MSG_ZEROCOPY___425 = 67108864,
    MSG_FASTOPEN___425 = 536870912,
    MSG_CMSG_CLOEXEC___425 = 1073741824
} ;
enum __anonenum_617082774___425 {
    SCM_RIGHTS___425 = 1,
    SCM_CREDENTIALS___425 = 2
} ;
enum __anonenum_606441560___425 {
    SHUT_RD___425 = 0,
    SHUT_WR___425 = 1,
    SHUT_RDWR___425 = 2
} ;
enum __anonenum_681669233___425 {
    IPPROTO_IP___425 = 0,
    IPPROTO_ICMP___425 = 1,
    IPPROTO_IGMP___425 = 2,
    IPPROTO_IPIP___425 = 4,
    IPPROTO_TCP___425 = 6,
    IPPROTO_EGP___425 = 8,
    IPPROTO_PUP___425 = 12,
    IPPROTO_UDP___425 = 17,
    IPPROTO_IDP___425 = 22,
    IPPROTO_TP___425 = 29,
    IPPROTO_DCCP___425 = 33,
    IPPROTO_IPV6___425 = 41,
    IPPROTO_RSVP___425 = 46,
    IPPROTO_GRE___425 = 47,
    IPPROTO_ESP___425 = 50,
    IPPROTO_AH___425 = 51,
    IPPROTO_MTP___425 = 92,
    IPPROTO_BEETPH___425 = 94,
    IPPROTO_ENCAP___425 = 98,
    IPPROTO_PIM___425 = 103,
    IPPROTO_COMP___425 = 108,
    IPPROTO_SCTP___425 = 132,
    IPPROTO_UDPLITE___425 = 136,
    IPPROTO_MPLS___425 = 137,
    IPPROTO_RAW___425 = 255,
    IPPROTO_MAX___425 = 256
} ;
enum __anonenum_218739988___425 {
    IPPROTO_HOPOPTS___425 = 0,
    IPPROTO_ROUTING___425 = 43,
    IPPROTO_FRAGMENT___425 = 44,
    IPPROTO_ICMPV6___425 = 58,
    IPPROTO_NONE___425 = 59,
    IPPROTO_DSTOPTS___425 = 60,
    IPPROTO_MH___425 = 135
} ;
enum __anonenum_662268580___425 {
    IPPORT_ECHO___425 = 7,
    IPPORT_DISCARD___425 = 9,
    IPPORT_SYSTAT___425 = 11,
    IPPORT_DAYTIME___425 = 13,
    IPPORT_NETSTAT___425 = 15,
    IPPORT_FTP___425 = 21,
    IPPORT_TELNET___425 = 23,
    IPPORT_SMTP___425 = 25,
    IPPORT_TIMESERVER___425 = 37,
    IPPORT_NAMESERVER___425 = 42,
    IPPORT_WHOIS___425 = 43,
    IPPORT_MTP___425 = 57,
    IPPORT_TFTP___425 = 69,
    IPPORT_RJE___425 = 77,
    IPPORT_FINGER___425 = 79,
    IPPORT_TTYLINK___425 = 87,
    IPPORT_SUPDUP___425 = 95,
    IPPORT_EXECSERVER___425 = 512,
    IPPORT_LOGINSERVER___425 = 513,
    IPPORT_CMDSERVER___425 = 514,
    IPPORT_EFSSERVER___425 = 520,
    IPPORT_BIFFUDP___425 = 512,
    IPPORT_WHOSERVER___425 = 513,
    IPPORT_ROUTESERVER___425 = 520,
    IPPORT_RESERVED___425 = 1024,
    IPPORT_USERRESERVED___425 = 5000
} ;
enum __anonenum_788308992___425 {
    TCP_ESTABLISHED___425 = 1,
    TCP_SYN_SENT___425 = 2,
    TCP_SYN_RECV___425 = 3,
    TCP_FIN_WAIT1___425 = 4,
    TCP_FIN_WAIT2___425 = 5,
    TCP_TIME_WAIT___425 = 6,
    TCP_CLOSE___425 = 7,
    TCP_CLOSE_WAIT___425 = 8,
    TCP_LAST_ACK___425 = 9,
    TCP_LISTEN___425 = 10,
    TCP_CLOSING___425 = 11
} ;
enum __anonenum_221125648___425 {
    TCP_NO_QUEUE___425 = 0,
    TCP_RECV_QUEUE___425 = 1,
    TCP_SEND_QUEUE___425 = 2,
    TCP_QUEUES_NR___425 = 3
} ;
enum __anonenum_34415463___425 {
    PTHREAD_CREATE_JOINABLE___425 = 0,
    PTHREAD_CREATE_DETACHED___425 = 1
} ;
enum __anonenum_303612439___425 {
    PTHREAD_MUTEX_TIMED_NP___425 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___425 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___425 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___425 = 3,
    PTHREAD_MUTEX_NORMAL___425 = 0,
    PTHREAD_MUTEX_RECURSIVE___425 = 1,
    PTHREAD_MUTEX_ERRORCHECK___425 = 2,
    PTHREAD_MUTEX_DEFAULT___425 = 0,
    PTHREAD_MUTEX_FAST_NP___425 = 0
} ;
enum __anonenum_931900394___425 {
    PTHREAD_MUTEX_STALLED___425 = 0,
    PTHREAD_MUTEX_STALLED_NP___425 = 0,
    PTHREAD_MUTEX_ROBUST___425 = 1,
    PTHREAD_MUTEX_ROBUST_NP___425 = 1
} ;
enum __anonenum_205214487___425 {
    PTHREAD_PRIO_NONE___425 = 0,
    PTHREAD_PRIO_INHERIT___425 = 1,
    PTHREAD_PRIO_PROTECT___425 = 2
} ;
enum __anonenum_25043950___425 {
    PTHREAD_RWLOCK_PREFER_READER_NP___425 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___425 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___425 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___425 = 0
} ;
enum __anonenum_436439511___425 {
    PTHREAD_INHERIT_SCHED___425 = 0,
    PTHREAD_EXPLICIT_SCHED___425 = 1
} ;
enum __anonenum_998661166___425 {
    PTHREAD_SCOPE_SYSTEM___425 = 0,
    PTHREAD_SCOPE_PROCESS___425 = 1
} ;
enum __anonenum_146137331___425 {
    PTHREAD_PROCESS_PRIVATE___425 = 0,
    PTHREAD_PROCESS_SHARED___425 = 1
} ;
enum __anonenum_53396917___425 {
    PTHREAD_CANCEL_ENABLE___425 = 0,
    PTHREAD_CANCEL_DISABLE___425 = 1
} ;
enum __anonenum_904563783___425 {
    PTHREAD_CANCEL_DEFERRED___425 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___425 = 1
} ;
enum __anonenum_672052974___425 {
    SSL_CT_VALIDATION_PERMISSIVE___425 = 0,
    SSL_CT_VALIDATION_STRICT___425 = 1
} ;
struct test_entry {
   int padding ;
   struct hashmap_entry ent ;
   char key[] ;
};
enum __anonenum_437032235___426 {
    _PC_LINK_MAX___426 = 0,
    _PC_MAX_CANON___426 = 1,
    _PC_MAX_INPUT___426 = 2,
    _PC_NAME_MAX___426 = 3,
    _PC_PATH_MAX___426 = 4,
    _PC_PIPE_BUF___426 = 5,
    _PC_CHOWN_RESTRICTED___426 = 6,
    _PC_NO_TRUNC___426 = 7,
    _PC_VDISABLE___426 = 8,
    _PC_SYNC_IO___426 = 9,
    _PC_ASYNC_IO___426 = 10,
    _PC_PRIO_IO___426 = 11,
    _PC_SOCK_MAXBUF___426 = 12,
    _PC_FILESIZEBITS___426 = 13,
    _PC_REC_INCR_XFER_SIZE___426 = 14,
    _PC_REC_MAX_XFER_SIZE___426 = 15,
    _PC_REC_MIN_XFER_SIZE___426 = 16,
    _PC_REC_XFER_ALIGN___426 = 17,
    _PC_ALLOC_SIZE_MIN___426 = 18,
    _PC_SYMLINK_MAX___426 = 19,
    _PC_2_SYMLINKS___426 = 20
} ;
enum __anonenum_315186338___426 {
    _SC_ARG_MAX___426 = 0,
    _SC_CHILD_MAX___426 = 1,
    _SC_CLK_TCK___426 = 2,
    _SC_NGROUPS_MAX___426 = 3,
    _SC_OPEN_MAX___426 = 4,
    _SC_STREAM_MAX___426 = 5,
    _SC_TZNAME_MAX___426 = 6,
    _SC_JOB_CONTROL___426 = 7,
    _SC_SAVED_IDS___426 = 8,
    _SC_REALTIME_SIGNALS___426 = 9,
    _SC_PRIORITY_SCHEDULING___426 = 10,
    _SC_TIMERS___426 = 11,
    _SC_ASYNCHRONOUS_IO___426 = 12,
    _SC_PRIORITIZED_IO___426 = 13,
    _SC_SYNCHRONIZED_IO___426 = 14,
    _SC_FSYNC___426 = 15,
    _SC_MAPPED_FILES___426 = 16,
    _SC_MEMLOCK___426 = 17,
    _SC_MEMLOCK_RANGE___426 = 18,
    _SC_MEMORY_PROTECTION___426 = 19,
    _SC_MESSAGE_PASSING___426 = 20,
    _SC_SEMAPHORES___426 = 21,
    _SC_SHARED_MEMORY_OBJECTS___426 = 22,
    _SC_AIO_LISTIO_MAX___426 = 23,
    _SC_AIO_MAX___426 = 24,
    _SC_AIO_PRIO_DELTA_MAX___426 = 25,
    _SC_DELAYTIMER_MAX___426 = 26,
    _SC_MQ_OPEN_MAX___426 = 27,
    _SC_MQ_PRIO_MAX___426 = 28,
    _SC_VERSION___426 = 29,
    _SC_PAGESIZE___426 = 30,
    _SC_RTSIG_MAX___426 = 31,
    _SC_SEM_NSEMS_MAX___426 = 32,
    _SC_SEM_VALUE_MAX___426 = 33,
    _SC_SIGQUEUE_MAX___426 = 34,
    _SC_TIMER_MAX___426 = 35,
    _SC_BC_BASE_MAX___426 = 36,
    _SC_BC_DIM_MAX___426 = 37,
    _SC_BC_SCALE_MAX___426 = 38,
    _SC_BC_STRING_MAX___426 = 39,
    _SC_COLL_WEIGHTS_MAX___426 = 40,
    _SC_EQUIV_CLASS_MAX___426 = 41,
    _SC_EXPR_NEST_MAX___426 = 42,
    _SC_LINE_MAX___426 = 43,
    _SC_RE_DUP_MAX___426 = 44,
    _SC_CHARCLASS_NAME_MAX___426 = 45,
    _SC_2_VERSION___426 = 46,
    _SC_2_C_BIND___426 = 47,
    _SC_2_C_DEV___426 = 48,
    _SC_2_FORT_DEV___426 = 49,
    _SC_2_FORT_RUN___426 = 50,
    _SC_2_SW_DEV___426 = 51,
    _SC_2_LOCALEDEF___426 = 52,
    _SC_PII___426 = 53,
    _SC_PII_XTI___426 = 54,
    _SC_PII_SOCKET___426 = 55,
    _SC_PII_INTERNET___426 = 56,
    _SC_PII_OSI___426 = 57,
    _SC_POLL___426 = 58,
    _SC_SELECT___426 = 59,
    _SC_UIO_MAXIOV___426 = 60,
    _SC_IOV_MAX___426 = 60,
    _SC_PII_INTERNET_STREAM___426 = 61,
    _SC_PII_INTERNET_DGRAM___426 = 62,
    _SC_PII_OSI_COTS___426 = 63,
    _SC_PII_OSI_CLTS___426 = 64,
    _SC_PII_OSI_M___426 = 65,
    _SC_T_IOV_MAX___426 = 66,
    _SC_THREADS___426 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___426 = 68,
    _SC_GETGR_R_SIZE_MAX___426 = 69,
    _SC_GETPW_R_SIZE_MAX___426 = 70,
    _SC_LOGIN_NAME_MAX___426 = 71,
    _SC_TTY_NAME_MAX___426 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___426 = 73,
    _SC_THREAD_KEYS_MAX___426 = 74,
    _SC_THREAD_STACK_MIN___426 = 75,
    _SC_THREAD_THREADS_MAX___426 = 76,
    _SC_THREAD_ATTR_STACKADDR___426 = 77,
    _SC_THREAD_ATTR_STACKSIZE___426 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___426 = 79,
    _SC_THREAD_PRIO_INHERIT___426 = 80,
    _SC_THREAD_PRIO_PROTECT___426 = 81,
    _SC_THREAD_PROCESS_SHARED___426 = 82,
    _SC_NPROCESSORS_CONF___426 = 83,
    _SC_NPROCESSORS_ONLN___426 = 84,
    _SC_PHYS_PAGES___426 = 85,
    _SC_AVPHYS_PAGES___426 = 86,
    _SC_ATEXIT_MAX___426 = 87,
    _SC_PASS_MAX___426 = 88,
    _SC_XOPEN_VERSION___426 = 89,
    _SC_XOPEN_XCU_VERSION___426 = 90,
    _SC_XOPEN_UNIX___426 = 91,
    _SC_XOPEN_CRYPT___426 = 92,
    _SC_XOPEN_ENH_I18N___426 = 93,
    _SC_XOPEN_SHM___426 = 94,
    _SC_2_CHAR_TERM___426 = 95,
    _SC_2_C_VERSION___426 = 96,
    _SC_2_UPE___426 = 97,
    _SC_XOPEN_XPG2___426 = 98,
    _SC_XOPEN_XPG3___426 = 99,
    _SC_XOPEN_XPG4___426 = 100,
    _SC_CHAR_BIT___426 = 101,
    _SC_CHAR_MAX___426 = 102,
    _SC_CHAR_MIN___426 = 103,
    _SC_INT_MAX___426 = 104,
    _SC_INT_MIN___426 = 105,
    _SC_LONG_BIT___426 = 106,
    _SC_WORD_BIT___426 = 107,
    _SC_MB_LEN_MAX___426 = 108,
    _SC_NZERO___426 = 109,
    _SC_SSIZE_MAX___426 = 110,
    _SC_SCHAR_MAX___426 = 111,
    _SC_SCHAR_MIN___426 = 112,
    _SC_SHRT_MAX___426 = 113,
    _SC_SHRT_MIN___426 = 114,
    _SC_UCHAR_MAX___426 = 115,
    _SC_UINT_MAX___426 = 116,
    _SC_ULONG_MAX___426 = 117,
    _SC_USHRT_MAX___426 = 118,
    _SC_NL_ARGMAX___426 = 119,
    _SC_NL_LANGMAX___426 = 120,
    _SC_NL_MSGMAX___426 = 121,
    _SC_NL_NMAX___426 = 122,
    _SC_NL_SETMAX___426 = 123,
    _SC_NL_TEXTMAX___426 = 124,
    _SC_XBS5_ILP32_OFF32___426 = 125,
    _SC_XBS5_ILP32_OFFBIG___426 = 126,
    _SC_XBS5_LP64_OFF64___426 = 127,
    _SC_XBS5_LPBIG_OFFBIG___426 = 128,
    _SC_XOPEN_LEGACY___426 = 129,
    _SC_XOPEN_REALTIME___426 = 130,
    _SC_XOPEN_REALTIME_THREADS___426 = 131,
    _SC_ADVISORY_INFO___426 = 132,
    _SC_BARRIERS___426 = 133,
    _SC_BASE___426 = 134,
    _SC_C_LANG_SUPPORT___426 = 135,
    _SC_C_LANG_SUPPORT_R___426 = 136,
    _SC_CLOCK_SELECTION___426 = 137,
    _SC_CPUTIME___426 = 138,
    _SC_THREAD_CPUTIME___426 = 139,
    _SC_DEVICE_IO___426 = 140,
    _SC_DEVICE_SPECIFIC___426 = 141,
    _SC_DEVICE_SPECIFIC_R___426 = 142,
    _SC_FD_MGMT___426 = 143,
    _SC_FIFO___426 = 144,
    _SC_PIPE___426 = 145,
    _SC_FILE_ATTRIBUTES___426 = 146,
    _SC_FILE_LOCKING___426 = 147,
    _SC_FILE_SYSTEM___426 = 148,
    _SC_MONOTONIC_CLOCK___426 = 149,
    _SC_MULTI_PROCESS___426 = 150,
    _SC_SINGLE_PROCESS___426 = 151,
    _SC_NETWORKING___426 = 152,
    _SC_READER_WRITER_LOCKS___426 = 153,
    _SC_SPIN_LOCKS___426 = 154,
    _SC_REGEXP___426 = 155,
    _SC_REGEX_VERSION___426 = 156,
    _SC_SHELL___426 = 157,
    _SC_SIGNALS___426 = 158,
    _SC_SPAWN___426 = 159,
    _SC_SPORADIC_SERVER___426 = 160,
    _SC_THREAD_SPORADIC_SERVER___426 = 161,
    _SC_SYSTEM_DATABASE___426 = 162,
    _SC_SYSTEM_DATABASE_R___426 = 163,
    _SC_TIMEOUTS___426 = 164,
    _SC_TYPED_MEMORY_OBJECTS___426 = 165,
    _SC_USER_GROUPS___426 = 166,
    _SC_USER_GROUPS_R___426 = 167,
    _SC_2_PBS___426 = 168,
    _SC_2_PBS_ACCOUNTING___426 = 169,
    _SC_2_PBS_LOCATE___426 = 170,
    _SC_2_PBS_MESSAGE___426 = 171,
    _SC_2_PBS_TRACK___426 = 172,
    _SC_SYMLOOP_MAX___426 = 173,
    _SC_STREAMS___426 = 174,
    _SC_2_PBS_CHECKPOINT___426 = 175,
    _SC_V6_ILP32_OFF32___426 = 176,
    _SC_V6_ILP32_OFFBIG___426 = 177,
    _SC_V6_LP64_OFF64___426 = 178,
    _SC_V6_LPBIG_OFFBIG___426 = 179,
    _SC_HOST_NAME_MAX___426 = 180,
    _SC_TRACE___426 = 181,
    _SC_TRACE_EVENT_FILTER___426 = 182,
    _SC_TRACE_INHERIT___426 = 183,
    _SC_TRACE_LOG___426 = 184,
    _SC_LEVEL1_ICACHE_SIZE___426 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___426 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___426 = 187,
    _SC_LEVEL1_DCACHE_SIZE___426 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___426 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___426 = 190,
    _SC_LEVEL2_CACHE_SIZE___426 = 191,
    _SC_LEVEL2_CACHE_ASSOC___426 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___426 = 193,
    _SC_LEVEL3_CACHE_SIZE___426 = 194,
    _SC_LEVEL3_CACHE_ASSOC___426 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___426 = 196,
    _SC_LEVEL4_CACHE_SIZE___426 = 197,
    _SC_LEVEL4_CACHE_ASSOC___426 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___426 = 199,
    _SC_IPV6___426 = 235,
    _SC_RAW_SOCKETS___426 = 236,
    _SC_V7_ILP32_OFF32___426 = 237,
    _SC_V7_ILP32_OFFBIG___426 = 238,
    _SC_V7_LP64_OFF64___426 = 239,
    _SC_V7_LPBIG_OFFBIG___426 = 240,
    _SC_SS_REPL_MAX___426 = 241,
    _SC_TRACE_EVENT_NAME_MAX___426 = 242,
    _SC_TRACE_NAME_MAX___426 = 243,
    _SC_TRACE_SYS_MAX___426 = 244,
    _SC_TRACE_USER_EVENT_MAX___426 = 245,
    _SC_XOPEN_STREAMS___426 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___426 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___426 = 248
} ;
enum __anonenum_875524036___426 {
    _CS_PATH___426 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___426 = 1,
    _CS_GNU_LIBC_VERSION___426 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___426 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___426 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___426 = 5,
    _CS_LFS_CFLAGS___426 = 1000,
    _CS_LFS_LDFLAGS___426 = 1001,
    _CS_LFS_LIBS___426 = 1002,
    _CS_LFS_LINTFLAGS___426 = 1003,
    _CS_LFS64_CFLAGS___426 = 1004,
    _CS_LFS64_LDFLAGS___426 = 1005,
    _CS_LFS64_LIBS___426 = 1006,
    _CS_LFS64_LINTFLAGS___426 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___426 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___426 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___426 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___426 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___426 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___426 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___426 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___426 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___426 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___426 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___426 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___426 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___426 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___426 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___426 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___426 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___426 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___426 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___426 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___426 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___426 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___426 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___426 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___426 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___426 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___426 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___426 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___426 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___426 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___426 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___426 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___426 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___426 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___426 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___426 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___426 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___426 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___426 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___426 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___426 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___426 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___426 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___426 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___426 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___426 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___426 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___426 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___426 = 1147,
    _CS_V6_ENV___426 = 1148,
    _CS_V7_ENV___426 = 1149
} ;
enum __anonenum_513775621___426 {
    DT_UNKNOWN___426 = 0,
    DT_FIFO___426 = 1,
    DT_CHR___426 = 2,
    DT_DIR___426 = 4,
    DT_BLK___426 = 6,
    DT_REG___426 = 8,
    DT_LNK___426 = 10,
    DT_SOCK___426 = 12,
    DT_WHT___426 = 14
} ;
enum __anonenum_77002343___426 {
    SI_ASYNCNL___426 = -60,
    SI_TKILL___426 = -6,
    SI_SIGIO___426 = -5,
    SI_ASYNCIO___426 = -4,
    SI_MESGQ___426 = -3,
    SI_TIMER___426 = -2,
    SI_QUEUE___426 = -1,
    SI_USER___426 = 0,
    SI_KERNEL___426 = 128
} ;
enum __anonenum_131038172___426 {
    ILL_ILLOPC___426 = 1,
    ILL_ILLOPN___426 = 2,
    ILL_ILLADR___426 = 3,
    ILL_ILLTRP___426 = 4,
    ILL_PRVOPC___426 = 5,
    ILL_PRVREG___426 = 6,
    ILL_COPROC___426 = 7,
    ILL_BADSTK___426 = 8
} ;
enum __anonenum_452038093___426 {
    FPE_INTDIV___426 = 1,
    FPE_INTOVF___426 = 2,
    FPE_FLTDIV___426 = 3,
    FPE_FLTOVF___426 = 4,
    FPE_FLTUND___426 = 5,
    FPE_FLTRES___426 = 6,
    FPE_FLTINV___426 = 7,
    FPE_FLTSUB___426 = 8
} ;
enum __anonenum_30976155___426 {
    SEGV_MAPERR___426 = 1,
    SEGV_ACCERR___426 = 2,
    SEGV_BNDERR___426 = 3,
    SEGV_PKUERR___426 = 4
} ;
enum __anonenum_1036286214___426 {
    BUS_ADRALN___426 = 1,
    BUS_ADRERR___426 = 2,
    BUS_OBJERR___426 = 3,
    BUS_MCEERR_AR___426 = 4,
    BUS_MCEERR_AO___426 = 5
} ;
enum __anonenum_493465559___426 {
    TRAP_BRKPT___426 = 1,
    TRAP_TRACE___426 = 2
} ;
enum __anonenum_23175539___426 {
    CLD_EXITED___426 = 1,
    CLD_KILLED___426 = 2,
    CLD_DUMPED___426 = 3,
    CLD_TRAPPED___426 = 4,
    CLD_STOPPED___426 = 5,
    CLD_CONTINUED___426 = 6
} ;
enum __anonenum_111643124___426 {
    POLL_IN___426 = 1,
    POLL_OUT___426 = 2,
    POLL_MSG___426 = 3,
    POLL_ERR___426 = 4,
    POLL_PRI___426 = 5,
    POLL_HUP___426 = 6
} ;
enum __anonenum_852341087___426 {
    SIGEV_SIGNAL___426 = 0,
    SIGEV_NONE___426 = 1,
    SIGEV_THREAD___426 = 2,
    SIGEV_THREAD_ID___426 = 4
} ;
enum __anonenum_451154152___426 {
    REG_R8___426 = 0,
    REG_R9___426 = 1,
    REG_R10___426 = 2,
    REG_R11___426 = 3,
    REG_R12___426 = 4,
    REG_R13___426 = 5,
    REG_R14___426 = 6,
    REG_R15___426 = 7,
    REG_RDI___426 = 8,
    REG_RSI___426 = 9,
    REG_RBP___426 = 10,
    REG_RBX___426 = 11,
    REG_RDX___426 = 12,
    REG_RAX___426 = 13,
    REG_RCX___426 = 14,
    REG_RSP___426 = 15,
    REG_RIP___426 = 16,
    REG_EFL___426 = 17,
    REG_CSGSFS___426 = 18,
    REG_ERR___426 = 19,
    REG_TRAPNO___426 = 20,
    REG_OLDMASK___426 = 21,
    REG_CR2___426 = 22
} ;
enum __anonenum_57186863___426 {
    SS_ONSTACK___426 = 1,
    SS_DISABLE___426 = 2
} ;
enum __anonenum_83571709___426 {
    MSG_OOB___426 = 1,
    MSG_PEEK___426 = 2,
    MSG_DONTROUTE___426 = 4,
    MSG_TRYHARD___426 = 4,
    MSG_CTRUNC___426 = 8,
    MSG_PROXY___426 = 16,
    MSG_TRUNC___426 = 32,
    MSG_DONTWAIT___426 = 64,
    MSG_EOR___426 = 128,
    MSG_WAITALL___426 = 256,
    MSG_FIN___426 = 512,
    MSG_SYN___426 = 1024,
    MSG_CONFIRM___426 = 2048,
    MSG_RST___426 = 4096,
    MSG_ERRQUEUE___426 = 8192,
    MSG_NOSIGNAL___426 = 16384,
    MSG_MORE___426 = 32768,
    MSG_WAITFORONE___426 = 65536,
    MSG_BATCH___426 = 262144,
    MSG_ZEROCOPY___426 = 67108864,
    MSG_FASTOPEN___426 = 536870912,
    MSG_CMSG_CLOEXEC___426 = 1073741824
} ;
enum __anonenum_617082774___426 {
    SCM_RIGHTS___426 = 1,
    SCM_CREDENTIALS___426 = 2
} ;
enum __anonenum_606441560___426 {
    SHUT_RD___426 = 0,
    SHUT_WR___426 = 1,
    SHUT_RDWR___426 = 2
} ;
enum __anonenum_681669233___426 {
    IPPROTO_IP___426 = 0,
    IPPROTO_ICMP___426 = 1,
    IPPROTO_IGMP___426 = 2,
    IPPROTO_IPIP___426 = 4,
    IPPROTO_TCP___426 = 6,
    IPPROTO_EGP___426 = 8,
    IPPROTO_PUP___426 = 12,
    IPPROTO_UDP___426 = 17,
    IPPROTO_IDP___426 = 22,
    IPPROTO_TP___426 = 29,
    IPPROTO_DCCP___426 = 33,
    IPPROTO_IPV6___426 = 41,
    IPPROTO_RSVP___426 = 46,
    IPPROTO_GRE___426 = 47,
    IPPROTO_ESP___426 = 50,
    IPPROTO_AH___426 = 51,
    IPPROTO_MTP___426 = 92,
    IPPROTO_BEETPH___426 = 94,
    IPPROTO_ENCAP___426 = 98,
    IPPROTO_PIM___426 = 103,
    IPPROTO_COMP___426 = 108,
    IPPROTO_SCTP___426 = 132,
    IPPROTO_UDPLITE___426 = 136,
    IPPROTO_MPLS___426 = 137,
    IPPROTO_RAW___426 = 255,
    IPPROTO_MAX___426 = 256
} ;
enum __anonenum_218739988___426 {
    IPPROTO_HOPOPTS___426 = 0,
    IPPROTO_ROUTING___426 = 43,
    IPPROTO_FRAGMENT___426 = 44,
    IPPROTO_ICMPV6___426 = 58,
    IPPROTO_NONE___426 = 59,
    IPPROTO_DSTOPTS___426 = 60,
    IPPROTO_MH___426 = 135
} ;
enum __anonenum_662268580___426 {
    IPPORT_ECHO___426 = 7,
    IPPORT_DISCARD___426 = 9,
    IPPORT_SYSTAT___426 = 11,
    IPPORT_DAYTIME___426 = 13,
    IPPORT_NETSTAT___426 = 15,
    IPPORT_FTP___426 = 21,
    IPPORT_TELNET___426 = 23,
    IPPORT_SMTP___426 = 25,
    IPPORT_TIMESERVER___426 = 37,
    IPPORT_NAMESERVER___426 = 42,
    IPPORT_WHOIS___426 = 43,
    IPPORT_MTP___426 = 57,
    IPPORT_TFTP___426 = 69,
    IPPORT_RJE___426 = 77,
    IPPORT_FINGER___426 = 79,
    IPPORT_TTYLINK___426 = 87,
    IPPORT_SUPDUP___426 = 95,
    IPPORT_EXECSERVER___426 = 512,
    IPPORT_LOGINSERVER___426 = 513,
    IPPORT_CMDSERVER___426 = 514,
    IPPORT_EFSSERVER___426 = 520,
    IPPORT_BIFFUDP___426 = 512,
    IPPORT_WHOSERVER___426 = 513,
    IPPORT_ROUTESERVER___426 = 520,
    IPPORT_RESERVED___426 = 1024,
    IPPORT_USERRESERVED___426 = 5000
} ;
enum __anonenum_788308992___426 {
    TCP_ESTABLISHED___426 = 1,
    TCP_SYN_SENT___426 = 2,
    TCP_SYN_RECV___426 = 3,
    TCP_FIN_WAIT1___426 = 4,
    TCP_FIN_WAIT2___426 = 5,
    TCP_TIME_WAIT___426 = 6,
    TCP_CLOSE___426 = 7,
    TCP_CLOSE_WAIT___426 = 8,
    TCP_LAST_ACK___426 = 9,
    TCP_LISTEN___426 = 10,
    TCP_CLOSING___426 = 11
} ;
enum __anonenum_221125648___426 {
    TCP_NO_QUEUE___426 = 0,
    TCP_RECV_QUEUE___426 = 1,
    TCP_SEND_QUEUE___426 = 2,
    TCP_QUEUES_NR___426 = 3
} ;
enum __anonenum_34415463___426 {
    PTHREAD_CREATE_JOINABLE___426 = 0,
    PTHREAD_CREATE_DETACHED___426 = 1
} ;
enum __anonenum_303612439___426 {
    PTHREAD_MUTEX_TIMED_NP___426 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___426 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___426 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___426 = 3,
    PTHREAD_MUTEX_NORMAL___426 = 0,
    PTHREAD_MUTEX_RECURSIVE___426 = 1,
    PTHREAD_MUTEX_ERRORCHECK___426 = 2,
    PTHREAD_MUTEX_DEFAULT___426 = 0,
    PTHREAD_MUTEX_FAST_NP___426 = 0
} ;
enum __anonenum_931900394___426 {
    PTHREAD_MUTEX_STALLED___426 = 0,
    PTHREAD_MUTEX_STALLED_NP___426 = 0,
    PTHREAD_MUTEX_ROBUST___426 = 1,
    PTHREAD_MUTEX_ROBUST_NP___426 = 1
} ;
enum __anonenum_205214487___426 {
    PTHREAD_PRIO_NONE___426 = 0,
    PTHREAD_PRIO_INHERIT___426 = 1,
    PTHREAD_PRIO_PROTECT___426 = 2
} ;
enum __anonenum_25043950___426 {
    PTHREAD_RWLOCK_PREFER_READER_NP___426 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___426 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___426 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___426 = 0
} ;
enum __anonenum_436439511___426 {
    PTHREAD_INHERIT_SCHED___426 = 0,
    PTHREAD_EXPLICIT_SCHED___426 = 1
} ;
enum __anonenum_998661166___426 {
    PTHREAD_SCOPE_SYSTEM___426 = 0,
    PTHREAD_SCOPE_PROCESS___426 = 1
} ;
enum __anonenum_146137331___426 {
    PTHREAD_PROCESS_PRIVATE___426 = 0,
    PTHREAD_PROCESS_SHARED___426 = 1
} ;
enum __anonenum_53396917___426 {
    PTHREAD_CANCEL_ENABLE___426 = 0,
    PTHREAD_CANCEL_DISABLE___426 = 1
} ;
enum __anonenum_904563783___426 {
    PTHREAD_CANCEL_DEFERRED___426 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___426 = 1
} ;
enum __anonenum_672052974___426 {
    SSL_CT_VALIDATION_PERMISSIVE___426 = 0,
    SSL_CT_VALIDATION_STRICT___426 = 1
} ;
enum __anonenum_437032235___427 {
    _PC_LINK_MAX___427 = 0,
    _PC_MAX_CANON___427 = 1,
    _PC_MAX_INPUT___427 = 2,
    _PC_NAME_MAX___427 = 3,
    _PC_PATH_MAX___427 = 4,
    _PC_PIPE_BUF___427 = 5,
    _PC_CHOWN_RESTRICTED___427 = 6,
    _PC_NO_TRUNC___427 = 7,
    _PC_VDISABLE___427 = 8,
    _PC_SYNC_IO___427 = 9,
    _PC_ASYNC_IO___427 = 10,
    _PC_PRIO_IO___427 = 11,
    _PC_SOCK_MAXBUF___427 = 12,
    _PC_FILESIZEBITS___427 = 13,
    _PC_REC_INCR_XFER_SIZE___427 = 14,
    _PC_REC_MAX_XFER_SIZE___427 = 15,
    _PC_REC_MIN_XFER_SIZE___427 = 16,
    _PC_REC_XFER_ALIGN___427 = 17,
    _PC_ALLOC_SIZE_MIN___427 = 18,
    _PC_SYMLINK_MAX___427 = 19,
    _PC_2_SYMLINKS___427 = 20
} ;
enum __anonenum_315186338___427 {
    _SC_ARG_MAX___427 = 0,
    _SC_CHILD_MAX___427 = 1,
    _SC_CLK_TCK___427 = 2,
    _SC_NGROUPS_MAX___427 = 3,
    _SC_OPEN_MAX___427 = 4,
    _SC_STREAM_MAX___427 = 5,
    _SC_TZNAME_MAX___427 = 6,
    _SC_JOB_CONTROL___427 = 7,
    _SC_SAVED_IDS___427 = 8,
    _SC_REALTIME_SIGNALS___427 = 9,
    _SC_PRIORITY_SCHEDULING___427 = 10,
    _SC_TIMERS___427 = 11,
    _SC_ASYNCHRONOUS_IO___427 = 12,
    _SC_PRIORITIZED_IO___427 = 13,
    _SC_SYNCHRONIZED_IO___427 = 14,
    _SC_FSYNC___427 = 15,
    _SC_MAPPED_FILES___427 = 16,
    _SC_MEMLOCK___427 = 17,
    _SC_MEMLOCK_RANGE___427 = 18,
    _SC_MEMORY_PROTECTION___427 = 19,
    _SC_MESSAGE_PASSING___427 = 20,
    _SC_SEMAPHORES___427 = 21,
    _SC_SHARED_MEMORY_OBJECTS___427 = 22,
    _SC_AIO_LISTIO_MAX___427 = 23,
    _SC_AIO_MAX___427 = 24,
    _SC_AIO_PRIO_DELTA_MAX___427 = 25,
    _SC_DELAYTIMER_MAX___427 = 26,
    _SC_MQ_OPEN_MAX___427 = 27,
    _SC_MQ_PRIO_MAX___427 = 28,
    _SC_VERSION___427 = 29,
    _SC_PAGESIZE___427 = 30,
    _SC_RTSIG_MAX___427 = 31,
    _SC_SEM_NSEMS_MAX___427 = 32,
    _SC_SEM_VALUE_MAX___427 = 33,
    _SC_SIGQUEUE_MAX___427 = 34,
    _SC_TIMER_MAX___427 = 35,
    _SC_BC_BASE_MAX___427 = 36,
    _SC_BC_DIM_MAX___427 = 37,
    _SC_BC_SCALE_MAX___427 = 38,
    _SC_BC_STRING_MAX___427 = 39,
    _SC_COLL_WEIGHTS_MAX___427 = 40,
    _SC_EQUIV_CLASS_MAX___427 = 41,
    _SC_EXPR_NEST_MAX___427 = 42,
    _SC_LINE_MAX___427 = 43,
    _SC_RE_DUP_MAX___427 = 44,
    _SC_CHARCLASS_NAME_MAX___427 = 45,
    _SC_2_VERSION___427 = 46,
    _SC_2_C_BIND___427 = 47,
    _SC_2_C_DEV___427 = 48,
    _SC_2_FORT_DEV___427 = 49,
    _SC_2_FORT_RUN___427 = 50,
    _SC_2_SW_DEV___427 = 51,
    _SC_2_LOCALEDEF___427 = 52,
    _SC_PII___427 = 53,
    _SC_PII_XTI___427 = 54,
    _SC_PII_SOCKET___427 = 55,
    _SC_PII_INTERNET___427 = 56,
    _SC_PII_OSI___427 = 57,
    _SC_POLL___427 = 58,
    _SC_SELECT___427 = 59,
    _SC_UIO_MAXIOV___427 = 60,
    _SC_IOV_MAX___427 = 60,
    _SC_PII_INTERNET_STREAM___427 = 61,
    _SC_PII_INTERNET_DGRAM___427 = 62,
    _SC_PII_OSI_COTS___427 = 63,
    _SC_PII_OSI_CLTS___427 = 64,
    _SC_PII_OSI_M___427 = 65,
    _SC_T_IOV_MAX___427 = 66,
    _SC_THREADS___427 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___427 = 68,
    _SC_GETGR_R_SIZE_MAX___427 = 69,
    _SC_GETPW_R_SIZE_MAX___427 = 70,
    _SC_LOGIN_NAME_MAX___427 = 71,
    _SC_TTY_NAME_MAX___427 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___427 = 73,
    _SC_THREAD_KEYS_MAX___427 = 74,
    _SC_THREAD_STACK_MIN___427 = 75,
    _SC_THREAD_THREADS_MAX___427 = 76,
    _SC_THREAD_ATTR_STACKADDR___427 = 77,
    _SC_THREAD_ATTR_STACKSIZE___427 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___427 = 79,
    _SC_THREAD_PRIO_INHERIT___427 = 80,
    _SC_THREAD_PRIO_PROTECT___427 = 81,
    _SC_THREAD_PROCESS_SHARED___427 = 82,
    _SC_NPROCESSORS_CONF___427 = 83,
    _SC_NPROCESSORS_ONLN___427 = 84,
    _SC_PHYS_PAGES___427 = 85,
    _SC_AVPHYS_PAGES___427 = 86,
    _SC_ATEXIT_MAX___427 = 87,
    _SC_PASS_MAX___427 = 88,
    _SC_XOPEN_VERSION___427 = 89,
    _SC_XOPEN_XCU_VERSION___427 = 90,
    _SC_XOPEN_UNIX___427 = 91,
    _SC_XOPEN_CRYPT___427 = 92,
    _SC_XOPEN_ENH_I18N___427 = 93,
    _SC_XOPEN_SHM___427 = 94,
    _SC_2_CHAR_TERM___427 = 95,
    _SC_2_C_VERSION___427 = 96,
    _SC_2_UPE___427 = 97,
    _SC_XOPEN_XPG2___427 = 98,
    _SC_XOPEN_XPG3___427 = 99,
    _SC_XOPEN_XPG4___427 = 100,
    _SC_CHAR_BIT___427 = 101,
    _SC_CHAR_MAX___427 = 102,
    _SC_CHAR_MIN___427 = 103,
    _SC_INT_MAX___427 = 104,
    _SC_INT_MIN___427 = 105,
    _SC_LONG_BIT___427 = 106,
    _SC_WORD_BIT___427 = 107,
    _SC_MB_LEN_MAX___427 = 108,
    _SC_NZERO___427 = 109,
    _SC_SSIZE_MAX___427 = 110,
    _SC_SCHAR_MAX___427 = 111,
    _SC_SCHAR_MIN___427 = 112,
    _SC_SHRT_MAX___427 = 113,
    _SC_SHRT_MIN___427 = 114,
    _SC_UCHAR_MAX___427 = 115,
    _SC_UINT_MAX___427 = 116,
    _SC_ULONG_MAX___427 = 117,
    _SC_USHRT_MAX___427 = 118,
    _SC_NL_ARGMAX___427 = 119,
    _SC_NL_LANGMAX___427 = 120,
    _SC_NL_MSGMAX___427 = 121,
    _SC_NL_NMAX___427 = 122,
    _SC_NL_SETMAX___427 = 123,
    _SC_NL_TEXTMAX___427 = 124,
    _SC_XBS5_ILP32_OFF32___427 = 125,
    _SC_XBS5_ILP32_OFFBIG___427 = 126,
    _SC_XBS5_LP64_OFF64___427 = 127,
    _SC_XBS5_LPBIG_OFFBIG___427 = 128,
    _SC_XOPEN_LEGACY___427 = 129,
    _SC_XOPEN_REALTIME___427 = 130,
    _SC_XOPEN_REALTIME_THREADS___427 = 131,
    _SC_ADVISORY_INFO___427 = 132,
    _SC_BARRIERS___427 = 133,
    _SC_BASE___427 = 134,
    _SC_C_LANG_SUPPORT___427 = 135,
    _SC_C_LANG_SUPPORT_R___427 = 136,
    _SC_CLOCK_SELECTION___427 = 137,
    _SC_CPUTIME___427 = 138,
    _SC_THREAD_CPUTIME___427 = 139,
    _SC_DEVICE_IO___427 = 140,
    _SC_DEVICE_SPECIFIC___427 = 141,
    _SC_DEVICE_SPECIFIC_R___427 = 142,
    _SC_FD_MGMT___427 = 143,
    _SC_FIFO___427 = 144,
    _SC_PIPE___427 = 145,
    _SC_FILE_ATTRIBUTES___427 = 146,
    _SC_FILE_LOCKING___427 = 147,
    _SC_FILE_SYSTEM___427 = 148,
    _SC_MONOTONIC_CLOCK___427 = 149,
    _SC_MULTI_PROCESS___427 = 150,
    _SC_SINGLE_PROCESS___427 = 151,
    _SC_NETWORKING___427 = 152,
    _SC_READER_WRITER_LOCKS___427 = 153,
    _SC_SPIN_LOCKS___427 = 154,
    _SC_REGEXP___427 = 155,
    _SC_REGEX_VERSION___427 = 156,
    _SC_SHELL___427 = 157,
    _SC_SIGNALS___427 = 158,
    _SC_SPAWN___427 = 159,
    _SC_SPORADIC_SERVER___427 = 160,
    _SC_THREAD_SPORADIC_SERVER___427 = 161,
    _SC_SYSTEM_DATABASE___427 = 162,
    _SC_SYSTEM_DATABASE_R___427 = 163,
    _SC_TIMEOUTS___427 = 164,
    _SC_TYPED_MEMORY_OBJECTS___427 = 165,
    _SC_USER_GROUPS___427 = 166,
    _SC_USER_GROUPS_R___427 = 167,
    _SC_2_PBS___427 = 168,
    _SC_2_PBS_ACCOUNTING___427 = 169,
    _SC_2_PBS_LOCATE___427 = 170,
    _SC_2_PBS_MESSAGE___427 = 171,
    _SC_2_PBS_TRACK___427 = 172,
    _SC_SYMLOOP_MAX___427 = 173,
    _SC_STREAMS___427 = 174,
    _SC_2_PBS_CHECKPOINT___427 = 175,
    _SC_V6_ILP32_OFF32___427 = 176,
    _SC_V6_ILP32_OFFBIG___427 = 177,
    _SC_V6_LP64_OFF64___427 = 178,
    _SC_V6_LPBIG_OFFBIG___427 = 179,
    _SC_HOST_NAME_MAX___427 = 180,
    _SC_TRACE___427 = 181,
    _SC_TRACE_EVENT_FILTER___427 = 182,
    _SC_TRACE_INHERIT___427 = 183,
    _SC_TRACE_LOG___427 = 184,
    _SC_LEVEL1_ICACHE_SIZE___427 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___427 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___427 = 187,
    _SC_LEVEL1_DCACHE_SIZE___427 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___427 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___427 = 190,
    _SC_LEVEL2_CACHE_SIZE___427 = 191,
    _SC_LEVEL2_CACHE_ASSOC___427 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___427 = 193,
    _SC_LEVEL3_CACHE_SIZE___427 = 194,
    _SC_LEVEL3_CACHE_ASSOC___427 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___427 = 196,
    _SC_LEVEL4_CACHE_SIZE___427 = 197,
    _SC_LEVEL4_CACHE_ASSOC___427 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___427 = 199,
    _SC_IPV6___427 = 235,
    _SC_RAW_SOCKETS___427 = 236,
    _SC_V7_ILP32_OFF32___427 = 237,
    _SC_V7_ILP32_OFFBIG___427 = 238,
    _SC_V7_LP64_OFF64___427 = 239,
    _SC_V7_LPBIG_OFFBIG___427 = 240,
    _SC_SS_REPL_MAX___427 = 241,
    _SC_TRACE_EVENT_NAME_MAX___427 = 242,
    _SC_TRACE_NAME_MAX___427 = 243,
    _SC_TRACE_SYS_MAX___427 = 244,
    _SC_TRACE_USER_EVENT_MAX___427 = 245,
    _SC_XOPEN_STREAMS___427 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___427 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___427 = 248
} ;
enum __anonenum_875524036___427 {
    _CS_PATH___427 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___427 = 1,
    _CS_GNU_LIBC_VERSION___427 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___427 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___427 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___427 = 5,
    _CS_LFS_CFLAGS___427 = 1000,
    _CS_LFS_LDFLAGS___427 = 1001,
    _CS_LFS_LIBS___427 = 1002,
    _CS_LFS_LINTFLAGS___427 = 1003,
    _CS_LFS64_CFLAGS___427 = 1004,
    _CS_LFS64_LDFLAGS___427 = 1005,
    _CS_LFS64_LIBS___427 = 1006,
    _CS_LFS64_LINTFLAGS___427 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___427 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___427 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___427 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___427 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___427 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___427 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___427 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___427 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___427 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___427 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___427 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___427 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___427 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___427 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___427 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___427 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___427 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___427 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___427 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___427 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___427 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___427 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___427 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___427 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___427 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___427 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___427 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___427 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___427 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___427 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___427 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___427 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___427 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___427 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___427 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___427 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___427 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___427 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___427 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___427 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___427 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___427 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___427 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___427 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___427 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___427 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___427 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___427 = 1147,
    _CS_V6_ENV___427 = 1148,
    _CS_V7_ENV___427 = 1149
} ;
enum __anonenum_513775621___427 {
    DT_UNKNOWN___427 = 0,
    DT_FIFO___427 = 1,
    DT_CHR___427 = 2,
    DT_DIR___427 = 4,
    DT_BLK___427 = 6,
    DT_REG___427 = 8,
    DT_LNK___427 = 10,
    DT_SOCK___427 = 12,
    DT_WHT___427 = 14
} ;
enum __anonenum_77002343___427 {
    SI_ASYNCNL___427 = -60,
    SI_TKILL___427 = -6,
    SI_SIGIO___427 = -5,
    SI_ASYNCIO___427 = -4,
    SI_MESGQ___427 = -3,
    SI_TIMER___427 = -2,
    SI_QUEUE___427 = -1,
    SI_USER___427 = 0,
    SI_KERNEL___427 = 128
} ;
enum __anonenum_131038172___427 {
    ILL_ILLOPC___427 = 1,
    ILL_ILLOPN___427 = 2,
    ILL_ILLADR___427 = 3,
    ILL_ILLTRP___427 = 4,
    ILL_PRVOPC___427 = 5,
    ILL_PRVREG___427 = 6,
    ILL_COPROC___427 = 7,
    ILL_BADSTK___427 = 8
} ;
enum __anonenum_452038093___427 {
    FPE_INTDIV___427 = 1,
    FPE_INTOVF___427 = 2,
    FPE_FLTDIV___427 = 3,
    FPE_FLTOVF___427 = 4,
    FPE_FLTUND___427 = 5,
    FPE_FLTRES___427 = 6,
    FPE_FLTINV___427 = 7,
    FPE_FLTSUB___427 = 8
} ;
enum __anonenum_30976155___427 {
    SEGV_MAPERR___427 = 1,
    SEGV_ACCERR___427 = 2,
    SEGV_BNDERR___427 = 3,
    SEGV_PKUERR___427 = 4
} ;
enum __anonenum_1036286214___427 {
    BUS_ADRALN___427 = 1,
    BUS_ADRERR___427 = 2,
    BUS_OBJERR___427 = 3,
    BUS_MCEERR_AR___427 = 4,
    BUS_MCEERR_AO___427 = 5
} ;
enum __anonenum_493465559___427 {
    TRAP_BRKPT___427 = 1,
    TRAP_TRACE___427 = 2
} ;
enum __anonenum_23175539___427 {
    CLD_EXITED___427 = 1,
    CLD_KILLED___427 = 2,
    CLD_DUMPED___427 = 3,
    CLD_TRAPPED___427 = 4,
    CLD_STOPPED___427 = 5,
    CLD_CONTINUED___427 = 6
} ;
enum __anonenum_111643124___427 {
    POLL_IN___427 = 1,
    POLL_OUT___427 = 2,
    POLL_MSG___427 = 3,
    POLL_ERR___427 = 4,
    POLL_PRI___427 = 5,
    POLL_HUP___427 = 6
} ;
enum __anonenum_852341087___427 {
    SIGEV_SIGNAL___427 = 0,
    SIGEV_NONE___427 = 1,
    SIGEV_THREAD___427 = 2,
    SIGEV_THREAD_ID___427 = 4
} ;
enum __anonenum_451154152___427 {
    REG_R8___427 = 0,
    REG_R9___427 = 1,
    REG_R10___427 = 2,
    REG_R11___427 = 3,
    REG_R12___427 = 4,
    REG_R13___427 = 5,
    REG_R14___427 = 6,
    REG_R15___427 = 7,
    REG_RDI___427 = 8,
    REG_RSI___427 = 9,
    REG_RBP___427 = 10,
    REG_RBX___427 = 11,
    REG_RDX___427 = 12,
    REG_RAX___427 = 13,
    REG_RCX___427 = 14,
    REG_RSP___427 = 15,
    REG_RIP___427 = 16,
    REG_EFL___427 = 17,
    REG_CSGSFS___427 = 18,
    REG_ERR___427 = 19,
    REG_TRAPNO___427 = 20,
    REG_OLDMASK___427 = 21,
    REG_CR2___427 = 22
} ;
enum __anonenum_57186863___427 {
    SS_ONSTACK___427 = 1,
    SS_DISABLE___427 = 2
} ;
enum __anonenum_83571709___427 {
    MSG_OOB___427 = 1,
    MSG_PEEK___427 = 2,
    MSG_DONTROUTE___427 = 4,
    MSG_TRYHARD___427 = 4,
    MSG_CTRUNC___427 = 8,
    MSG_PROXY___427 = 16,
    MSG_TRUNC___427 = 32,
    MSG_DONTWAIT___427 = 64,
    MSG_EOR___427 = 128,
    MSG_WAITALL___427 = 256,
    MSG_FIN___427 = 512,
    MSG_SYN___427 = 1024,
    MSG_CONFIRM___427 = 2048,
    MSG_RST___427 = 4096,
    MSG_ERRQUEUE___427 = 8192,
    MSG_NOSIGNAL___427 = 16384,
    MSG_MORE___427 = 32768,
    MSG_WAITFORONE___427 = 65536,
    MSG_BATCH___427 = 262144,
    MSG_ZEROCOPY___427 = 67108864,
    MSG_FASTOPEN___427 = 536870912,
    MSG_CMSG_CLOEXEC___427 = 1073741824
} ;
enum __anonenum_617082774___427 {
    SCM_RIGHTS___427 = 1,
    SCM_CREDENTIALS___427 = 2
} ;
enum __anonenum_606441560___427 {
    SHUT_RD___427 = 0,
    SHUT_WR___427 = 1,
    SHUT_RDWR___427 = 2
} ;
enum __anonenum_681669233___427 {
    IPPROTO_IP___427 = 0,
    IPPROTO_ICMP___427 = 1,
    IPPROTO_IGMP___427 = 2,
    IPPROTO_IPIP___427 = 4,
    IPPROTO_TCP___427 = 6,
    IPPROTO_EGP___427 = 8,
    IPPROTO_PUP___427 = 12,
    IPPROTO_UDP___427 = 17,
    IPPROTO_IDP___427 = 22,
    IPPROTO_TP___427 = 29,
    IPPROTO_DCCP___427 = 33,
    IPPROTO_IPV6___427 = 41,
    IPPROTO_RSVP___427 = 46,
    IPPROTO_GRE___427 = 47,
    IPPROTO_ESP___427 = 50,
    IPPROTO_AH___427 = 51,
    IPPROTO_MTP___427 = 92,
    IPPROTO_BEETPH___427 = 94,
    IPPROTO_ENCAP___427 = 98,
    IPPROTO_PIM___427 = 103,
    IPPROTO_COMP___427 = 108,
    IPPROTO_SCTP___427 = 132,
    IPPROTO_UDPLITE___427 = 136,
    IPPROTO_MPLS___427 = 137,
    IPPROTO_RAW___427 = 255,
    IPPROTO_MAX___427 = 256
} ;
enum __anonenum_218739988___427 {
    IPPROTO_HOPOPTS___427 = 0,
    IPPROTO_ROUTING___427 = 43,
    IPPROTO_FRAGMENT___427 = 44,
    IPPROTO_ICMPV6___427 = 58,
    IPPROTO_NONE___427 = 59,
    IPPROTO_DSTOPTS___427 = 60,
    IPPROTO_MH___427 = 135
} ;
enum __anonenum_662268580___427 {
    IPPORT_ECHO___427 = 7,
    IPPORT_DISCARD___427 = 9,
    IPPORT_SYSTAT___427 = 11,
    IPPORT_DAYTIME___427 = 13,
    IPPORT_NETSTAT___427 = 15,
    IPPORT_FTP___427 = 21,
    IPPORT_TELNET___427 = 23,
    IPPORT_SMTP___427 = 25,
    IPPORT_TIMESERVER___427 = 37,
    IPPORT_NAMESERVER___427 = 42,
    IPPORT_WHOIS___427 = 43,
    IPPORT_MTP___427 = 57,
    IPPORT_TFTP___427 = 69,
    IPPORT_RJE___427 = 77,
    IPPORT_FINGER___427 = 79,
    IPPORT_TTYLINK___427 = 87,
    IPPORT_SUPDUP___427 = 95,
    IPPORT_EXECSERVER___427 = 512,
    IPPORT_LOGINSERVER___427 = 513,
    IPPORT_CMDSERVER___427 = 514,
    IPPORT_EFSSERVER___427 = 520,
    IPPORT_BIFFUDP___427 = 512,
    IPPORT_WHOSERVER___427 = 513,
    IPPORT_ROUTESERVER___427 = 520,
    IPPORT_RESERVED___427 = 1024,
    IPPORT_USERRESERVED___427 = 5000
} ;
enum __anonenum_788308992___427 {
    TCP_ESTABLISHED___427 = 1,
    TCP_SYN_SENT___427 = 2,
    TCP_SYN_RECV___427 = 3,
    TCP_FIN_WAIT1___427 = 4,
    TCP_FIN_WAIT2___427 = 5,
    TCP_TIME_WAIT___427 = 6,
    TCP_CLOSE___427 = 7,
    TCP_CLOSE_WAIT___427 = 8,
    TCP_LAST_ACK___427 = 9,
    TCP_LISTEN___427 = 10,
    TCP_CLOSING___427 = 11
} ;
enum __anonenum_221125648___427 {
    TCP_NO_QUEUE___427 = 0,
    TCP_RECV_QUEUE___427 = 1,
    TCP_SEND_QUEUE___427 = 2,
    TCP_QUEUES_NR___427 = 3
} ;
enum __anonenum_34415463___427 {
    PTHREAD_CREATE_JOINABLE___427 = 0,
    PTHREAD_CREATE_DETACHED___427 = 1
} ;
enum __anonenum_303612439___427 {
    PTHREAD_MUTEX_TIMED_NP___427 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___427 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___427 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___427 = 3,
    PTHREAD_MUTEX_NORMAL___427 = 0,
    PTHREAD_MUTEX_RECURSIVE___427 = 1,
    PTHREAD_MUTEX_ERRORCHECK___427 = 2,
    PTHREAD_MUTEX_DEFAULT___427 = 0,
    PTHREAD_MUTEX_FAST_NP___427 = 0
} ;
enum __anonenum_931900394___427 {
    PTHREAD_MUTEX_STALLED___427 = 0,
    PTHREAD_MUTEX_STALLED_NP___427 = 0,
    PTHREAD_MUTEX_ROBUST___427 = 1,
    PTHREAD_MUTEX_ROBUST_NP___427 = 1
} ;
enum __anonenum_205214487___427 {
    PTHREAD_PRIO_NONE___427 = 0,
    PTHREAD_PRIO_INHERIT___427 = 1,
    PTHREAD_PRIO_PROTECT___427 = 2
} ;
enum __anonenum_25043950___427 {
    PTHREAD_RWLOCK_PREFER_READER_NP___427 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___427 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___427 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___427 = 0
} ;
enum __anonenum_436439511___427 {
    PTHREAD_INHERIT_SCHED___427 = 0,
    PTHREAD_EXPLICIT_SCHED___427 = 1
} ;
enum __anonenum_998661166___427 {
    PTHREAD_SCOPE_SYSTEM___427 = 0,
    PTHREAD_SCOPE_PROCESS___427 = 1
} ;
enum __anonenum_146137331___427 {
    PTHREAD_PROCESS_PRIVATE___427 = 0,
    PTHREAD_PROCESS_SHARED___427 = 1
} ;
enum __anonenum_53396917___427 {
    PTHREAD_CANCEL_ENABLE___427 = 0,
    PTHREAD_CANCEL_DISABLE___427 = 1
} ;
enum __anonenum_904563783___427 {
    PTHREAD_CANCEL_DEFERRED___427 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___427 = 1
} ;
enum __anonenum_672052974___427 {
    SSL_CT_VALIDATION_PERMISSIVE___427 = 0,
    SSL_CT_VALIDATION_STRICT___427 = 1
} ;
enum __anonenum_437032235___428 {
    _PC_LINK_MAX___428 = 0,
    _PC_MAX_CANON___428 = 1,
    _PC_MAX_INPUT___428 = 2,
    _PC_NAME_MAX___428 = 3,
    _PC_PATH_MAX___428 = 4,
    _PC_PIPE_BUF___428 = 5,
    _PC_CHOWN_RESTRICTED___428 = 6,
    _PC_NO_TRUNC___428 = 7,
    _PC_VDISABLE___428 = 8,
    _PC_SYNC_IO___428 = 9,
    _PC_ASYNC_IO___428 = 10,
    _PC_PRIO_IO___428 = 11,
    _PC_SOCK_MAXBUF___428 = 12,
    _PC_FILESIZEBITS___428 = 13,
    _PC_REC_INCR_XFER_SIZE___428 = 14,
    _PC_REC_MAX_XFER_SIZE___428 = 15,
    _PC_REC_MIN_XFER_SIZE___428 = 16,
    _PC_REC_XFER_ALIGN___428 = 17,
    _PC_ALLOC_SIZE_MIN___428 = 18,
    _PC_SYMLINK_MAX___428 = 19,
    _PC_2_SYMLINKS___428 = 20
} ;
enum __anonenum_315186338___428 {
    _SC_ARG_MAX___428 = 0,
    _SC_CHILD_MAX___428 = 1,
    _SC_CLK_TCK___428 = 2,
    _SC_NGROUPS_MAX___428 = 3,
    _SC_OPEN_MAX___428 = 4,
    _SC_STREAM_MAX___428 = 5,
    _SC_TZNAME_MAX___428 = 6,
    _SC_JOB_CONTROL___428 = 7,
    _SC_SAVED_IDS___428 = 8,
    _SC_REALTIME_SIGNALS___428 = 9,
    _SC_PRIORITY_SCHEDULING___428 = 10,
    _SC_TIMERS___428 = 11,
    _SC_ASYNCHRONOUS_IO___428 = 12,
    _SC_PRIORITIZED_IO___428 = 13,
    _SC_SYNCHRONIZED_IO___428 = 14,
    _SC_FSYNC___428 = 15,
    _SC_MAPPED_FILES___428 = 16,
    _SC_MEMLOCK___428 = 17,
    _SC_MEMLOCK_RANGE___428 = 18,
    _SC_MEMORY_PROTECTION___428 = 19,
    _SC_MESSAGE_PASSING___428 = 20,
    _SC_SEMAPHORES___428 = 21,
    _SC_SHARED_MEMORY_OBJECTS___428 = 22,
    _SC_AIO_LISTIO_MAX___428 = 23,
    _SC_AIO_MAX___428 = 24,
    _SC_AIO_PRIO_DELTA_MAX___428 = 25,
    _SC_DELAYTIMER_MAX___428 = 26,
    _SC_MQ_OPEN_MAX___428 = 27,
    _SC_MQ_PRIO_MAX___428 = 28,
    _SC_VERSION___428 = 29,
    _SC_PAGESIZE___428 = 30,
    _SC_RTSIG_MAX___428 = 31,
    _SC_SEM_NSEMS_MAX___428 = 32,
    _SC_SEM_VALUE_MAX___428 = 33,
    _SC_SIGQUEUE_MAX___428 = 34,
    _SC_TIMER_MAX___428 = 35,
    _SC_BC_BASE_MAX___428 = 36,
    _SC_BC_DIM_MAX___428 = 37,
    _SC_BC_SCALE_MAX___428 = 38,
    _SC_BC_STRING_MAX___428 = 39,
    _SC_COLL_WEIGHTS_MAX___428 = 40,
    _SC_EQUIV_CLASS_MAX___428 = 41,
    _SC_EXPR_NEST_MAX___428 = 42,
    _SC_LINE_MAX___428 = 43,
    _SC_RE_DUP_MAX___428 = 44,
    _SC_CHARCLASS_NAME_MAX___428 = 45,
    _SC_2_VERSION___428 = 46,
    _SC_2_C_BIND___428 = 47,
    _SC_2_C_DEV___428 = 48,
    _SC_2_FORT_DEV___428 = 49,
    _SC_2_FORT_RUN___428 = 50,
    _SC_2_SW_DEV___428 = 51,
    _SC_2_LOCALEDEF___428 = 52,
    _SC_PII___428 = 53,
    _SC_PII_XTI___428 = 54,
    _SC_PII_SOCKET___428 = 55,
    _SC_PII_INTERNET___428 = 56,
    _SC_PII_OSI___428 = 57,
    _SC_POLL___428 = 58,
    _SC_SELECT___428 = 59,
    _SC_UIO_MAXIOV___428 = 60,
    _SC_IOV_MAX___428 = 60,
    _SC_PII_INTERNET_STREAM___428 = 61,
    _SC_PII_INTERNET_DGRAM___428 = 62,
    _SC_PII_OSI_COTS___428 = 63,
    _SC_PII_OSI_CLTS___428 = 64,
    _SC_PII_OSI_M___428 = 65,
    _SC_T_IOV_MAX___428 = 66,
    _SC_THREADS___428 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___428 = 68,
    _SC_GETGR_R_SIZE_MAX___428 = 69,
    _SC_GETPW_R_SIZE_MAX___428 = 70,
    _SC_LOGIN_NAME_MAX___428 = 71,
    _SC_TTY_NAME_MAX___428 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___428 = 73,
    _SC_THREAD_KEYS_MAX___428 = 74,
    _SC_THREAD_STACK_MIN___428 = 75,
    _SC_THREAD_THREADS_MAX___428 = 76,
    _SC_THREAD_ATTR_STACKADDR___428 = 77,
    _SC_THREAD_ATTR_STACKSIZE___428 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___428 = 79,
    _SC_THREAD_PRIO_INHERIT___428 = 80,
    _SC_THREAD_PRIO_PROTECT___428 = 81,
    _SC_THREAD_PROCESS_SHARED___428 = 82,
    _SC_NPROCESSORS_CONF___428 = 83,
    _SC_NPROCESSORS_ONLN___428 = 84,
    _SC_PHYS_PAGES___428 = 85,
    _SC_AVPHYS_PAGES___428 = 86,
    _SC_ATEXIT_MAX___428 = 87,
    _SC_PASS_MAX___428 = 88,
    _SC_XOPEN_VERSION___428 = 89,
    _SC_XOPEN_XCU_VERSION___428 = 90,
    _SC_XOPEN_UNIX___428 = 91,
    _SC_XOPEN_CRYPT___428 = 92,
    _SC_XOPEN_ENH_I18N___428 = 93,
    _SC_XOPEN_SHM___428 = 94,
    _SC_2_CHAR_TERM___428 = 95,
    _SC_2_C_VERSION___428 = 96,
    _SC_2_UPE___428 = 97,
    _SC_XOPEN_XPG2___428 = 98,
    _SC_XOPEN_XPG3___428 = 99,
    _SC_XOPEN_XPG4___428 = 100,
    _SC_CHAR_BIT___428 = 101,
    _SC_CHAR_MAX___428 = 102,
    _SC_CHAR_MIN___428 = 103,
    _SC_INT_MAX___428 = 104,
    _SC_INT_MIN___428 = 105,
    _SC_LONG_BIT___428 = 106,
    _SC_WORD_BIT___428 = 107,
    _SC_MB_LEN_MAX___428 = 108,
    _SC_NZERO___428 = 109,
    _SC_SSIZE_MAX___428 = 110,
    _SC_SCHAR_MAX___428 = 111,
    _SC_SCHAR_MIN___428 = 112,
    _SC_SHRT_MAX___428 = 113,
    _SC_SHRT_MIN___428 = 114,
    _SC_UCHAR_MAX___428 = 115,
    _SC_UINT_MAX___428 = 116,
    _SC_ULONG_MAX___428 = 117,
    _SC_USHRT_MAX___428 = 118,
    _SC_NL_ARGMAX___428 = 119,
    _SC_NL_LANGMAX___428 = 120,
    _SC_NL_MSGMAX___428 = 121,
    _SC_NL_NMAX___428 = 122,
    _SC_NL_SETMAX___428 = 123,
    _SC_NL_TEXTMAX___428 = 124,
    _SC_XBS5_ILP32_OFF32___428 = 125,
    _SC_XBS5_ILP32_OFFBIG___428 = 126,
    _SC_XBS5_LP64_OFF64___428 = 127,
    _SC_XBS5_LPBIG_OFFBIG___428 = 128,
    _SC_XOPEN_LEGACY___428 = 129,
    _SC_XOPEN_REALTIME___428 = 130,
    _SC_XOPEN_REALTIME_THREADS___428 = 131,
    _SC_ADVISORY_INFO___428 = 132,
    _SC_BARRIERS___428 = 133,
    _SC_BASE___428 = 134,
    _SC_C_LANG_SUPPORT___428 = 135,
    _SC_C_LANG_SUPPORT_R___428 = 136,
    _SC_CLOCK_SELECTION___428 = 137,
    _SC_CPUTIME___428 = 138,
    _SC_THREAD_CPUTIME___428 = 139,
    _SC_DEVICE_IO___428 = 140,
    _SC_DEVICE_SPECIFIC___428 = 141,
    _SC_DEVICE_SPECIFIC_R___428 = 142,
    _SC_FD_MGMT___428 = 143,
    _SC_FIFO___428 = 144,
    _SC_PIPE___428 = 145,
    _SC_FILE_ATTRIBUTES___428 = 146,
    _SC_FILE_LOCKING___428 = 147,
    _SC_FILE_SYSTEM___428 = 148,
    _SC_MONOTONIC_CLOCK___428 = 149,
    _SC_MULTI_PROCESS___428 = 150,
    _SC_SINGLE_PROCESS___428 = 151,
    _SC_NETWORKING___428 = 152,
    _SC_READER_WRITER_LOCKS___428 = 153,
    _SC_SPIN_LOCKS___428 = 154,
    _SC_REGEXP___428 = 155,
    _SC_REGEX_VERSION___428 = 156,
    _SC_SHELL___428 = 157,
    _SC_SIGNALS___428 = 158,
    _SC_SPAWN___428 = 159,
    _SC_SPORADIC_SERVER___428 = 160,
    _SC_THREAD_SPORADIC_SERVER___428 = 161,
    _SC_SYSTEM_DATABASE___428 = 162,
    _SC_SYSTEM_DATABASE_R___428 = 163,
    _SC_TIMEOUTS___428 = 164,
    _SC_TYPED_MEMORY_OBJECTS___428 = 165,
    _SC_USER_GROUPS___428 = 166,
    _SC_USER_GROUPS_R___428 = 167,
    _SC_2_PBS___428 = 168,
    _SC_2_PBS_ACCOUNTING___428 = 169,
    _SC_2_PBS_LOCATE___428 = 170,
    _SC_2_PBS_MESSAGE___428 = 171,
    _SC_2_PBS_TRACK___428 = 172,
    _SC_SYMLOOP_MAX___428 = 173,
    _SC_STREAMS___428 = 174,
    _SC_2_PBS_CHECKPOINT___428 = 175,
    _SC_V6_ILP32_OFF32___428 = 176,
    _SC_V6_ILP32_OFFBIG___428 = 177,
    _SC_V6_LP64_OFF64___428 = 178,
    _SC_V6_LPBIG_OFFBIG___428 = 179,
    _SC_HOST_NAME_MAX___428 = 180,
    _SC_TRACE___428 = 181,
    _SC_TRACE_EVENT_FILTER___428 = 182,
    _SC_TRACE_INHERIT___428 = 183,
    _SC_TRACE_LOG___428 = 184,
    _SC_LEVEL1_ICACHE_SIZE___428 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___428 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___428 = 187,
    _SC_LEVEL1_DCACHE_SIZE___428 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___428 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___428 = 190,
    _SC_LEVEL2_CACHE_SIZE___428 = 191,
    _SC_LEVEL2_CACHE_ASSOC___428 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___428 = 193,
    _SC_LEVEL3_CACHE_SIZE___428 = 194,
    _SC_LEVEL3_CACHE_ASSOC___428 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___428 = 196,
    _SC_LEVEL4_CACHE_SIZE___428 = 197,
    _SC_LEVEL4_CACHE_ASSOC___428 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___428 = 199,
    _SC_IPV6___428 = 235,
    _SC_RAW_SOCKETS___428 = 236,
    _SC_V7_ILP32_OFF32___428 = 237,
    _SC_V7_ILP32_OFFBIG___428 = 238,
    _SC_V7_LP64_OFF64___428 = 239,
    _SC_V7_LPBIG_OFFBIG___428 = 240,
    _SC_SS_REPL_MAX___428 = 241,
    _SC_TRACE_EVENT_NAME_MAX___428 = 242,
    _SC_TRACE_NAME_MAX___428 = 243,
    _SC_TRACE_SYS_MAX___428 = 244,
    _SC_TRACE_USER_EVENT_MAX___428 = 245,
    _SC_XOPEN_STREAMS___428 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___428 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___428 = 248
} ;
enum __anonenum_875524036___428 {
    _CS_PATH___428 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___428 = 1,
    _CS_GNU_LIBC_VERSION___428 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___428 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___428 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___428 = 5,
    _CS_LFS_CFLAGS___428 = 1000,
    _CS_LFS_LDFLAGS___428 = 1001,
    _CS_LFS_LIBS___428 = 1002,
    _CS_LFS_LINTFLAGS___428 = 1003,
    _CS_LFS64_CFLAGS___428 = 1004,
    _CS_LFS64_LDFLAGS___428 = 1005,
    _CS_LFS64_LIBS___428 = 1006,
    _CS_LFS64_LINTFLAGS___428 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___428 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___428 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___428 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___428 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___428 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___428 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___428 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___428 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___428 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___428 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___428 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___428 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___428 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___428 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___428 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___428 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___428 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___428 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___428 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___428 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___428 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___428 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___428 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___428 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___428 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___428 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___428 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___428 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___428 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___428 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___428 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___428 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___428 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___428 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___428 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___428 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___428 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___428 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___428 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___428 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___428 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___428 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___428 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___428 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___428 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___428 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___428 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___428 = 1147,
    _CS_V6_ENV___428 = 1148,
    _CS_V7_ENV___428 = 1149
} ;
enum __anonenum_513775621___428 {
    DT_UNKNOWN___428 = 0,
    DT_FIFO___428 = 1,
    DT_CHR___428 = 2,
    DT_DIR___428 = 4,
    DT_BLK___428 = 6,
    DT_REG___428 = 8,
    DT_LNK___428 = 10,
    DT_SOCK___428 = 12,
    DT_WHT___428 = 14
} ;
enum __anonenum_77002343___428 {
    SI_ASYNCNL___428 = -60,
    SI_TKILL___428 = -6,
    SI_SIGIO___428 = -5,
    SI_ASYNCIO___428 = -4,
    SI_MESGQ___428 = -3,
    SI_TIMER___428 = -2,
    SI_QUEUE___428 = -1,
    SI_USER___428 = 0,
    SI_KERNEL___428 = 128
} ;
enum __anonenum_131038172___428 {
    ILL_ILLOPC___428 = 1,
    ILL_ILLOPN___428 = 2,
    ILL_ILLADR___428 = 3,
    ILL_ILLTRP___428 = 4,
    ILL_PRVOPC___428 = 5,
    ILL_PRVREG___428 = 6,
    ILL_COPROC___428 = 7,
    ILL_BADSTK___428 = 8
} ;
enum __anonenum_452038093___428 {
    FPE_INTDIV___428 = 1,
    FPE_INTOVF___428 = 2,
    FPE_FLTDIV___428 = 3,
    FPE_FLTOVF___428 = 4,
    FPE_FLTUND___428 = 5,
    FPE_FLTRES___428 = 6,
    FPE_FLTINV___428 = 7,
    FPE_FLTSUB___428 = 8
} ;
enum __anonenum_30976155___428 {
    SEGV_MAPERR___428 = 1,
    SEGV_ACCERR___428 = 2,
    SEGV_BNDERR___428 = 3,
    SEGV_PKUERR___428 = 4
} ;
enum __anonenum_1036286214___428 {
    BUS_ADRALN___428 = 1,
    BUS_ADRERR___428 = 2,
    BUS_OBJERR___428 = 3,
    BUS_MCEERR_AR___428 = 4,
    BUS_MCEERR_AO___428 = 5
} ;
enum __anonenum_493465559___428 {
    TRAP_BRKPT___428 = 1,
    TRAP_TRACE___428 = 2
} ;
enum __anonenum_23175539___428 {
    CLD_EXITED___428 = 1,
    CLD_KILLED___428 = 2,
    CLD_DUMPED___428 = 3,
    CLD_TRAPPED___428 = 4,
    CLD_STOPPED___428 = 5,
    CLD_CONTINUED___428 = 6
} ;
enum __anonenum_111643124___428 {
    POLL_IN___428 = 1,
    POLL_OUT___428 = 2,
    POLL_MSG___428 = 3,
    POLL_ERR___428 = 4,
    POLL_PRI___428 = 5,
    POLL_HUP___428 = 6
} ;
enum __anonenum_852341087___428 {
    SIGEV_SIGNAL___428 = 0,
    SIGEV_NONE___428 = 1,
    SIGEV_THREAD___428 = 2,
    SIGEV_THREAD_ID___428 = 4
} ;
enum __anonenum_451154152___428 {
    REG_R8___428 = 0,
    REG_R9___428 = 1,
    REG_R10___428 = 2,
    REG_R11___428 = 3,
    REG_R12___428 = 4,
    REG_R13___428 = 5,
    REG_R14___428 = 6,
    REG_R15___428 = 7,
    REG_RDI___428 = 8,
    REG_RSI___428 = 9,
    REG_RBP___428 = 10,
    REG_RBX___428 = 11,
    REG_RDX___428 = 12,
    REG_RAX___428 = 13,
    REG_RCX___428 = 14,
    REG_RSP___428 = 15,
    REG_RIP___428 = 16,
    REG_EFL___428 = 17,
    REG_CSGSFS___428 = 18,
    REG_ERR___428 = 19,
    REG_TRAPNO___428 = 20,
    REG_OLDMASK___428 = 21,
    REG_CR2___428 = 22
} ;
enum __anonenum_57186863___428 {
    SS_ONSTACK___428 = 1,
    SS_DISABLE___428 = 2
} ;
enum __anonenum_83571709___428 {
    MSG_OOB___428 = 1,
    MSG_PEEK___428 = 2,
    MSG_DONTROUTE___428 = 4,
    MSG_TRYHARD___428 = 4,
    MSG_CTRUNC___428 = 8,
    MSG_PROXY___428 = 16,
    MSG_TRUNC___428 = 32,
    MSG_DONTWAIT___428 = 64,
    MSG_EOR___428 = 128,
    MSG_WAITALL___428 = 256,
    MSG_FIN___428 = 512,
    MSG_SYN___428 = 1024,
    MSG_CONFIRM___428 = 2048,
    MSG_RST___428 = 4096,
    MSG_ERRQUEUE___428 = 8192,
    MSG_NOSIGNAL___428 = 16384,
    MSG_MORE___428 = 32768,
    MSG_WAITFORONE___428 = 65536,
    MSG_BATCH___428 = 262144,
    MSG_ZEROCOPY___428 = 67108864,
    MSG_FASTOPEN___428 = 536870912,
    MSG_CMSG_CLOEXEC___428 = 1073741824
} ;
enum __anonenum_617082774___428 {
    SCM_RIGHTS___428 = 1,
    SCM_CREDENTIALS___428 = 2
} ;
enum __anonenum_606441560___428 {
    SHUT_RD___428 = 0,
    SHUT_WR___428 = 1,
    SHUT_RDWR___428 = 2
} ;
enum __anonenum_681669233___428 {
    IPPROTO_IP___428 = 0,
    IPPROTO_ICMP___428 = 1,
    IPPROTO_IGMP___428 = 2,
    IPPROTO_IPIP___428 = 4,
    IPPROTO_TCP___428 = 6,
    IPPROTO_EGP___428 = 8,
    IPPROTO_PUP___428 = 12,
    IPPROTO_UDP___428 = 17,
    IPPROTO_IDP___428 = 22,
    IPPROTO_TP___428 = 29,
    IPPROTO_DCCP___428 = 33,
    IPPROTO_IPV6___428 = 41,
    IPPROTO_RSVP___428 = 46,
    IPPROTO_GRE___428 = 47,
    IPPROTO_ESP___428 = 50,
    IPPROTO_AH___428 = 51,
    IPPROTO_MTP___428 = 92,
    IPPROTO_BEETPH___428 = 94,
    IPPROTO_ENCAP___428 = 98,
    IPPROTO_PIM___428 = 103,
    IPPROTO_COMP___428 = 108,
    IPPROTO_SCTP___428 = 132,
    IPPROTO_UDPLITE___428 = 136,
    IPPROTO_MPLS___428 = 137,
    IPPROTO_RAW___428 = 255,
    IPPROTO_MAX___428 = 256
} ;
enum __anonenum_218739988___428 {
    IPPROTO_HOPOPTS___428 = 0,
    IPPROTO_ROUTING___428 = 43,
    IPPROTO_FRAGMENT___428 = 44,
    IPPROTO_ICMPV6___428 = 58,
    IPPROTO_NONE___428 = 59,
    IPPROTO_DSTOPTS___428 = 60,
    IPPROTO_MH___428 = 135
} ;
enum __anonenum_662268580___428 {
    IPPORT_ECHO___428 = 7,
    IPPORT_DISCARD___428 = 9,
    IPPORT_SYSTAT___428 = 11,
    IPPORT_DAYTIME___428 = 13,
    IPPORT_NETSTAT___428 = 15,
    IPPORT_FTP___428 = 21,
    IPPORT_TELNET___428 = 23,
    IPPORT_SMTP___428 = 25,
    IPPORT_TIMESERVER___428 = 37,
    IPPORT_NAMESERVER___428 = 42,
    IPPORT_WHOIS___428 = 43,
    IPPORT_MTP___428 = 57,
    IPPORT_TFTP___428 = 69,
    IPPORT_RJE___428 = 77,
    IPPORT_FINGER___428 = 79,
    IPPORT_TTYLINK___428 = 87,
    IPPORT_SUPDUP___428 = 95,
    IPPORT_EXECSERVER___428 = 512,
    IPPORT_LOGINSERVER___428 = 513,
    IPPORT_CMDSERVER___428 = 514,
    IPPORT_EFSSERVER___428 = 520,
    IPPORT_BIFFUDP___428 = 512,
    IPPORT_WHOSERVER___428 = 513,
    IPPORT_ROUTESERVER___428 = 520,
    IPPORT_RESERVED___428 = 1024,
    IPPORT_USERRESERVED___428 = 5000
} ;
enum __anonenum_788308992___428 {
    TCP_ESTABLISHED___428 = 1,
    TCP_SYN_SENT___428 = 2,
    TCP_SYN_RECV___428 = 3,
    TCP_FIN_WAIT1___428 = 4,
    TCP_FIN_WAIT2___428 = 5,
    TCP_TIME_WAIT___428 = 6,
    TCP_CLOSE___428 = 7,
    TCP_CLOSE_WAIT___428 = 8,
    TCP_LAST_ACK___428 = 9,
    TCP_LISTEN___428 = 10,
    TCP_CLOSING___428 = 11
} ;
enum __anonenum_221125648___428 {
    TCP_NO_QUEUE___428 = 0,
    TCP_RECV_QUEUE___428 = 1,
    TCP_SEND_QUEUE___428 = 2,
    TCP_QUEUES_NR___428 = 3
} ;
enum __anonenum_34415463___428 {
    PTHREAD_CREATE_JOINABLE___428 = 0,
    PTHREAD_CREATE_DETACHED___428 = 1
} ;
enum __anonenum_303612439___428 {
    PTHREAD_MUTEX_TIMED_NP___428 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___428 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___428 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___428 = 3,
    PTHREAD_MUTEX_NORMAL___428 = 0,
    PTHREAD_MUTEX_RECURSIVE___428 = 1,
    PTHREAD_MUTEX_ERRORCHECK___428 = 2,
    PTHREAD_MUTEX_DEFAULT___428 = 0,
    PTHREAD_MUTEX_FAST_NP___428 = 0
} ;
enum __anonenum_931900394___428 {
    PTHREAD_MUTEX_STALLED___428 = 0,
    PTHREAD_MUTEX_STALLED_NP___428 = 0,
    PTHREAD_MUTEX_ROBUST___428 = 1,
    PTHREAD_MUTEX_ROBUST_NP___428 = 1
} ;
enum __anonenum_205214487___428 {
    PTHREAD_PRIO_NONE___428 = 0,
    PTHREAD_PRIO_INHERIT___428 = 1,
    PTHREAD_PRIO_PROTECT___428 = 2
} ;
enum __anonenum_25043950___428 {
    PTHREAD_RWLOCK_PREFER_READER_NP___428 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___428 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___428 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___428 = 0
} ;
enum __anonenum_436439511___428 {
    PTHREAD_INHERIT_SCHED___428 = 0,
    PTHREAD_EXPLICIT_SCHED___428 = 1
} ;
enum __anonenum_998661166___428 {
    PTHREAD_SCOPE_SYSTEM___428 = 0,
    PTHREAD_SCOPE_PROCESS___428 = 1
} ;
enum __anonenum_146137331___428 {
    PTHREAD_PROCESS_PRIVATE___428 = 0,
    PTHREAD_PROCESS_SHARED___428 = 1
} ;
enum __anonenum_53396917___428 {
    PTHREAD_CANCEL_ENABLE___428 = 0,
    PTHREAD_CANCEL_DISABLE___428 = 1
} ;
enum __anonenum_904563783___428 {
    PTHREAD_CANCEL_DEFERRED___428 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___428 = 1
} ;
enum __anonenum_672052974___428 {
    SSL_CT_VALIDATION_PERMISSIVE___428 = 0,
    SSL_CT_VALIDATION_STRICT___428 = 1
} ;
enum __anonenum_437032235___429 {
    _PC_LINK_MAX___429 = 0,
    _PC_MAX_CANON___429 = 1,
    _PC_MAX_INPUT___429 = 2,
    _PC_NAME_MAX___429 = 3,
    _PC_PATH_MAX___429 = 4,
    _PC_PIPE_BUF___429 = 5,
    _PC_CHOWN_RESTRICTED___429 = 6,
    _PC_NO_TRUNC___429 = 7,
    _PC_VDISABLE___429 = 8,
    _PC_SYNC_IO___429 = 9,
    _PC_ASYNC_IO___429 = 10,
    _PC_PRIO_IO___429 = 11,
    _PC_SOCK_MAXBUF___429 = 12,
    _PC_FILESIZEBITS___429 = 13,
    _PC_REC_INCR_XFER_SIZE___429 = 14,
    _PC_REC_MAX_XFER_SIZE___429 = 15,
    _PC_REC_MIN_XFER_SIZE___429 = 16,
    _PC_REC_XFER_ALIGN___429 = 17,
    _PC_ALLOC_SIZE_MIN___429 = 18,
    _PC_SYMLINK_MAX___429 = 19,
    _PC_2_SYMLINKS___429 = 20
} ;
enum __anonenum_315186338___429 {
    _SC_ARG_MAX___429 = 0,
    _SC_CHILD_MAX___429 = 1,
    _SC_CLK_TCK___429 = 2,
    _SC_NGROUPS_MAX___429 = 3,
    _SC_OPEN_MAX___429 = 4,
    _SC_STREAM_MAX___429 = 5,
    _SC_TZNAME_MAX___429 = 6,
    _SC_JOB_CONTROL___429 = 7,
    _SC_SAVED_IDS___429 = 8,
    _SC_REALTIME_SIGNALS___429 = 9,
    _SC_PRIORITY_SCHEDULING___429 = 10,
    _SC_TIMERS___429 = 11,
    _SC_ASYNCHRONOUS_IO___429 = 12,
    _SC_PRIORITIZED_IO___429 = 13,
    _SC_SYNCHRONIZED_IO___429 = 14,
    _SC_FSYNC___429 = 15,
    _SC_MAPPED_FILES___429 = 16,
    _SC_MEMLOCK___429 = 17,
    _SC_MEMLOCK_RANGE___429 = 18,
    _SC_MEMORY_PROTECTION___429 = 19,
    _SC_MESSAGE_PASSING___429 = 20,
    _SC_SEMAPHORES___429 = 21,
    _SC_SHARED_MEMORY_OBJECTS___429 = 22,
    _SC_AIO_LISTIO_MAX___429 = 23,
    _SC_AIO_MAX___429 = 24,
    _SC_AIO_PRIO_DELTA_MAX___429 = 25,
    _SC_DELAYTIMER_MAX___429 = 26,
    _SC_MQ_OPEN_MAX___429 = 27,
    _SC_MQ_PRIO_MAX___429 = 28,
    _SC_VERSION___429 = 29,
    _SC_PAGESIZE___429 = 30,
    _SC_RTSIG_MAX___429 = 31,
    _SC_SEM_NSEMS_MAX___429 = 32,
    _SC_SEM_VALUE_MAX___429 = 33,
    _SC_SIGQUEUE_MAX___429 = 34,
    _SC_TIMER_MAX___429 = 35,
    _SC_BC_BASE_MAX___429 = 36,
    _SC_BC_DIM_MAX___429 = 37,
    _SC_BC_SCALE_MAX___429 = 38,
    _SC_BC_STRING_MAX___429 = 39,
    _SC_COLL_WEIGHTS_MAX___429 = 40,
    _SC_EQUIV_CLASS_MAX___429 = 41,
    _SC_EXPR_NEST_MAX___429 = 42,
    _SC_LINE_MAX___429 = 43,
    _SC_RE_DUP_MAX___429 = 44,
    _SC_CHARCLASS_NAME_MAX___429 = 45,
    _SC_2_VERSION___429 = 46,
    _SC_2_C_BIND___429 = 47,
    _SC_2_C_DEV___429 = 48,
    _SC_2_FORT_DEV___429 = 49,
    _SC_2_FORT_RUN___429 = 50,
    _SC_2_SW_DEV___429 = 51,
    _SC_2_LOCALEDEF___429 = 52,
    _SC_PII___429 = 53,
    _SC_PII_XTI___429 = 54,
    _SC_PII_SOCKET___429 = 55,
    _SC_PII_INTERNET___429 = 56,
    _SC_PII_OSI___429 = 57,
    _SC_POLL___429 = 58,
    _SC_SELECT___429 = 59,
    _SC_UIO_MAXIOV___429 = 60,
    _SC_IOV_MAX___429 = 60,
    _SC_PII_INTERNET_STREAM___429 = 61,
    _SC_PII_INTERNET_DGRAM___429 = 62,
    _SC_PII_OSI_COTS___429 = 63,
    _SC_PII_OSI_CLTS___429 = 64,
    _SC_PII_OSI_M___429 = 65,
    _SC_T_IOV_MAX___429 = 66,
    _SC_THREADS___429 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___429 = 68,
    _SC_GETGR_R_SIZE_MAX___429 = 69,
    _SC_GETPW_R_SIZE_MAX___429 = 70,
    _SC_LOGIN_NAME_MAX___429 = 71,
    _SC_TTY_NAME_MAX___429 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___429 = 73,
    _SC_THREAD_KEYS_MAX___429 = 74,
    _SC_THREAD_STACK_MIN___429 = 75,
    _SC_THREAD_THREADS_MAX___429 = 76,
    _SC_THREAD_ATTR_STACKADDR___429 = 77,
    _SC_THREAD_ATTR_STACKSIZE___429 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___429 = 79,
    _SC_THREAD_PRIO_INHERIT___429 = 80,
    _SC_THREAD_PRIO_PROTECT___429 = 81,
    _SC_THREAD_PROCESS_SHARED___429 = 82,
    _SC_NPROCESSORS_CONF___429 = 83,
    _SC_NPROCESSORS_ONLN___429 = 84,
    _SC_PHYS_PAGES___429 = 85,
    _SC_AVPHYS_PAGES___429 = 86,
    _SC_ATEXIT_MAX___429 = 87,
    _SC_PASS_MAX___429 = 88,
    _SC_XOPEN_VERSION___429 = 89,
    _SC_XOPEN_XCU_VERSION___429 = 90,
    _SC_XOPEN_UNIX___429 = 91,
    _SC_XOPEN_CRYPT___429 = 92,
    _SC_XOPEN_ENH_I18N___429 = 93,
    _SC_XOPEN_SHM___429 = 94,
    _SC_2_CHAR_TERM___429 = 95,
    _SC_2_C_VERSION___429 = 96,
    _SC_2_UPE___429 = 97,
    _SC_XOPEN_XPG2___429 = 98,
    _SC_XOPEN_XPG3___429 = 99,
    _SC_XOPEN_XPG4___429 = 100,
    _SC_CHAR_BIT___429 = 101,
    _SC_CHAR_MAX___429 = 102,
    _SC_CHAR_MIN___429 = 103,
    _SC_INT_MAX___429 = 104,
    _SC_INT_MIN___429 = 105,
    _SC_LONG_BIT___429 = 106,
    _SC_WORD_BIT___429 = 107,
    _SC_MB_LEN_MAX___429 = 108,
    _SC_NZERO___429 = 109,
    _SC_SSIZE_MAX___429 = 110,
    _SC_SCHAR_MAX___429 = 111,
    _SC_SCHAR_MIN___429 = 112,
    _SC_SHRT_MAX___429 = 113,
    _SC_SHRT_MIN___429 = 114,
    _SC_UCHAR_MAX___429 = 115,
    _SC_UINT_MAX___429 = 116,
    _SC_ULONG_MAX___429 = 117,
    _SC_USHRT_MAX___429 = 118,
    _SC_NL_ARGMAX___429 = 119,
    _SC_NL_LANGMAX___429 = 120,
    _SC_NL_MSGMAX___429 = 121,
    _SC_NL_NMAX___429 = 122,
    _SC_NL_SETMAX___429 = 123,
    _SC_NL_TEXTMAX___429 = 124,
    _SC_XBS5_ILP32_OFF32___429 = 125,
    _SC_XBS5_ILP32_OFFBIG___429 = 126,
    _SC_XBS5_LP64_OFF64___429 = 127,
    _SC_XBS5_LPBIG_OFFBIG___429 = 128,
    _SC_XOPEN_LEGACY___429 = 129,
    _SC_XOPEN_REALTIME___429 = 130,
    _SC_XOPEN_REALTIME_THREADS___429 = 131,
    _SC_ADVISORY_INFO___429 = 132,
    _SC_BARRIERS___429 = 133,
    _SC_BASE___429 = 134,
    _SC_C_LANG_SUPPORT___429 = 135,
    _SC_C_LANG_SUPPORT_R___429 = 136,
    _SC_CLOCK_SELECTION___429 = 137,
    _SC_CPUTIME___429 = 138,
    _SC_THREAD_CPUTIME___429 = 139,
    _SC_DEVICE_IO___429 = 140,
    _SC_DEVICE_SPECIFIC___429 = 141,
    _SC_DEVICE_SPECIFIC_R___429 = 142,
    _SC_FD_MGMT___429 = 143,
    _SC_FIFO___429 = 144,
    _SC_PIPE___429 = 145,
    _SC_FILE_ATTRIBUTES___429 = 146,
    _SC_FILE_LOCKING___429 = 147,
    _SC_FILE_SYSTEM___429 = 148,
    _SC_MONOTONIC_CLOCK___429 = 149,
    _SC_MULTI_PROCESS___429 = 150,
    _SC_SINGLE_PROCESS___429 = 151,
    _SC_NETWORKING___429 = 152,
    _SC_READER_WRITER_LOCKS___429 = 153,
    _SC_SPIN_LOCKS___429 = 154,
    _SC_REGEXP___429 = 155,
    _SC_REGEX_VERSION___429 = 156,
    _SC_SHELL___429 = 157,
    _SC_SIGNALS___429 = 158,
    _SC_SPAWN___429 = 159,
    _SC_SPORADIC_SERVER___429 = 160,
    _SC_THREAD_SPORADIC_SERVER___429 = 161,
    _SC_SYSTEM_DATABASE___429 = 162,
    _SC_SYSTEM_DATABASE_R___429 = 163,
    _SC_TIMEOUTS___429 = 164,
    _SC_TYPED_MEMORY_OBJECTS___429 = 165,
    _SC_USER_GROUPS___429 = 166,
    _SC_USER_GROUPS_R___429 = 167,
    _SC_2_PBS___429 = 168,
    _SC_2_PBS_ACCOUNTING___429 = 169,
    _SC_2_PBS_LOCATE___429 = 170,
    _SC_2_PBS_MESSAGE___429 = 171,
    _SC_2_PBS_TRACK___429 = 172,
    _SC_SYMLOOP_MAX___429 = 173,
    _SC_STREAMS___429 = 174,
    _SC_2_PBS_CHECKPOINT___429 = 175,
    _SC_V6_ILP32_OFF32___429 = 176,
    _SC_V6_ILP32_OFFBIG___429 = 177,
    _SC_V6_LP64_OFF64___429 = 178,
    _SC_V6_LPBIG_OFFBIG___429 = 179,
    _SC_HOST_NAME_MAX___429 = 180,
    _SC_TRACE___429 = 181,
    _SC_TRACE_EVENT_FILTER___429 = 182,
    _SC_TRACE_INHERIT___429 = 183,
    _SC_TRACE_LOG___429 = 184,
    _SC_LEVEL1_ICACHE_SIZE___429 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___429 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___429 = 187,
    _SC_LEVEL1_DCACHE_SIZE___429 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___429 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___429 = 190,
    _SC_LEVEL2_CACHE_SIZE___429 = 191,
    _SC_LEVEL2_CACHE_ASSOC___429 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___429 = 193,
    _SC_LEVEL3_CACHE_SIZE___429 = 194,
    _SC_LEVEL3_CACHE_ASSOC___429 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___429 = 196,
    _SC_LEVEL4_CACHE_SIZE___429 = 197,
    _SC_LEVEL4_CACHE_ASSOC___429 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___429 = 199,
    _SC_IPV6___429 = 235,
    _SC_RAW_SOCKETS___429 = 236,
    _SC_V7_ILP32_OFF32___429 = 237,
    _SC_V7_ILP32_OFFBIG___429 = 238,
    _SC_V7_LP64_OFF64___429 = 239,
    _SC_V7_LPBIG_OFFBIG___429 = 240,
    _SC_SS_REPL_MAX___429 = 241,
    _SC_TRACE_EVENT_NAME_MAX___429 = 242,
    _SC_TRACE_NAME_MAX___429 = 243,
    _SC_TRACE_SYS_MAX___429 = 244,
    _SC_TRACE_USER_EVENT_MAX___429 = 245,
    _SC_XOPEN_STREAMS___429 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___429 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___429 = 248
} ;
enum __anonenum_875524036___429 {
    _CS_PATH___429 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___429 = 1,
    _CS_GNU_LIBC_VERSION___429 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___429 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___429 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___429 = 5,
    _CS_LFS_CFLAGS___429 = 1000,
    _CS_LFS_LDFLAGS___429 = 1001,
    _CS_LFS_LIBS___429 = 1002,
    _CS_LFS_LINTFLAGS___429 = 1003,
    _CS_LFS64_CFLAGS___429 = 1004,
    _CS_LFS64_LDFLAGS___429 = 1005,
    _CS_LFS64_LIBS___429 = 1006,
    _CS_LFS64_LINTFLAGS___429 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___429 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___429 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___429 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___429 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___429 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___429 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___429 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___429 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___429 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___429 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___429 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___429 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___429 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___429 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___429 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___429 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___429 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___429 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___429 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___429 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___429 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___429 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___429 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___429 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___429 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___429 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___429 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___429 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___429 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___429 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___429 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___429 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___429 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___429 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___429 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___429 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___429 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___429 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___429 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___429 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___429 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___429 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___429 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___429 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___429 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___429 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___429 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___429 = 1147,
    _CS_V6_ENV___429 = 1148,
    _CS_V7_ENV___429 = 1149
} ;
enum __anonenum_513775621___429 {
    DT_UNKNOWN___429 = 0,
    DT_FIFO___429 = 1,
    DT_CHR___429 = 2,
    DT_DIR___429 = 4,
    DT_BLK___429 = 6,
    DT_REG___429 = 8,
    DT_LNK___429 = 10,
    DT_SOCK___429 = 12,
    DT_WHT___429 = 14
} ;
enum __anonenum_77002343___429 {
    SI_ASYNCNL___429 = -60,
    SI_TKILL___429 = -6,
    SI_SIGIO___429 = -5,
    SI_ASYNCIO___429 = -4,
    SI_MESGQ___429 = -3,
    SI_TIMER___429 = -2,
    SI_QUEUE___429 = -1,
    SI_USER___429 = 0,
    SI_KERNEL___429 = 128
} ;
enum __anonenum_131038172___429 {
    ILL_ILLOPC___429 = 1,
    ILL_ILLOPN___429 = 2,
    ILL_ILLADR___429 = 3,
    ILL_ILLTRP___429 = 4,
    ILL_PRVOPC___429 = 5,
    ILL_PRVREG___429 = 6,
    ILL_COPROC___429 = 7,
    ILL_BADSTK___429 = 8
} ;
enum __anonenum_452038093___429 {
    FPE_INTDIV___429 = 1,
    FPE_INTOVF___429 = 2,
    FPE_FLTDIV___429 = 3,
    FPE_FLTOVF___429 = 4,
    FPE_FLTUND___429 = 5,
    FPE_FLTRES___429 = 6,
    FPE_FLTINV___429 = 7,
    FPE_FLTSUB___429 = 8
} ;
enum __anonenum_30976155___429 {
    SEGV_MAPERR___429 = 1,
    SEGV_ACCERR___429 = 2,
    SEGV_BNDERR___429 = 3,
    SEGV_PKUERR___429 = 4
} ;
enum __anonenum_1036286214___429 {
    BUS_ADRALN___429 = 1,
    BUS_ADRERR___429 = 2,
    BUS_OBJERR___429 = 3,
    BUS_MCEERR_AR___429 = 4,
    BUS_MCEERR_AO___429 = 5
} ;
enum __anonenum_493465559___429 {
    TRAP_BRKPT___429 = 1,
    TRAP_TRACE___429 = 2
} ;
enum __anonenum_23175539___429 {
    CLD_EXITED___429 = 1,
    CLD_KILLED___429 = 2,
    CLD_DUMPED___429 = 3,
    CLD_TRAPPED___429 = 4,
    CLD_STOPPED___429 = 5,
    CLD_CONTINUED___429 = 6
} ;
enum __anonenum_111643124___429 {
    POLL_IN___429 = 1,
    POLL_OUT___429 = 2,
    POLL_MSG___429 = 3,
    POLL_ERR___429 = 4,
    POLL_PRI___429 = 5,
    POLL_HUP___429 = 6
} ;
enum __anonenum_852341087___429 {
    SIGEV_SIGNAL___429 = 0,
    SIGEV_NONE___429 = 1,
    SIGEV_THREAD___429 = 2,
    SIGEV_THREAD_ID___429 = 4
} ;
enum __anonenum_451154152___429 {
    REG_R8___429 = 0,
    REG_R9___429 = 1,
    REG_R10___429 = 2,
    REG_R11___429 = 3,
    REG_R12___429 = 4,
    REG_R13___429 = 5,
    REG_R14___429 = 6,
    REG_R15___429 = 7,
    REG_RDI___429 = 8,
    REG_RSI___429 = 9,
    REG_RBP___429 = 10,
    REG_RBX___429 = 11,
    REG_RDX___429 = 12,
    REG_RAX___429 = 13,
    REG_RCX___429 = 14,
    REG_RSP___429 = 15,
    REG_RIP___429 = 16,
    REG_EFL___429 = 17,
    REG_CSGSFS___429 = 18,
    REG_ERR___429 = 19,
    REG_TRAPNO___429 = 20,
    REG_OLDMASK___429 = 21,
    REG_CR2___429 = 22
} ;
enum __anonenum_57186863___429 {
    SS_ONSTACK___429 = 1,
    SS_DISABLE___429 = 2
} ;
enum __anonenum_83571709___429 {
    MSG_OOB___429 = 1,
    MSG_PEEK___429 = 2,
    MSG_DONTROUTE___429 = 4,
    MSG_TRYHARD___429 = 4,
    MSG_CTRUNC___429 = 8,
    MSG_PROXY___429 = 16,
    MSG_TRUNC___429 = 32,
    MSG_DONTWAIT___429 = 64,
    MSG_EOR___429 = 128,
    MSG_WAITALL___429 = 256,
    MSG_FIN___429 = 512,
    MSG_SYN___429 = 1024,
    MSG_CONFIRM___429 = 2048,
    MSG_RST___429 = 4096,
    MSG_ERRQUEUE___429 = 8192,
    MSG_NOSIGNAL___429 = 16384,
    MSG_MORE___429 = 32768,
    MSG_WAITFORONE___429 = 65536,
    MSG_BATCH___429 = 262144,
    MSG_ZEROCOPY___429 = 67108864,
    MSG_FASTOPEN___429 = 536870912,
    MSG_CMSG_CLOEXEC___429 = 1073741824
} ;
enum __anonenum_617082774___429 {
    SCM_RIGHTS___429 = 1,
    SCM_CREDENTIALS___429 = 2
} ;
enum __anonenum_606441560___429 {
    SHUT_RD___429 = 0,
    SHUT_WR___429 = 1,
    SHUT_RDWR___429 = 2
} ;
enum __anonenum_681669233___429 {
    IPPROTO_IP___429 = 0,
    IPPROTO_ICMP___429 = 1,
    IPPROTO_IGMP___429 = 2,
    IPPROTO_IPIP___429 = 4,
    IPPROTO_TCP___429 = 6,
    IPPROTO_EGP___429 = 8,
    IPPROTO_PUP___429 = 12,
    IPPROTO_UDP___429 = 17,
    IPPROTO_IDP___429 = 22,
    IPPROTO_TP___429 = 29,
    IPPROTO_DCCP___429 = 33,
    IPPROTO_IPV6___429 = 41,
    IPPROTO_RSVP___429 = 46,
    IPPROTO_GRE___429 = 47,
    IPPROTO_ESP___429 = 50,
    IPPROTO_AH___429 = 51,
    IPPROTO_MTP___429 = 92,
    IPPROTO_BEETPH___429 = 94,
    IPPROTO_ENCAP___429 = 98,
    IPPROTO_PIM___429 = 103,
    IPPROTO_COMP___429 = 108,
    IPPROTO_SCTP___429 = 132,
    IPPROTO_UDPLITE___429 = 136,
    IPPROTO_MPLS___429 = 137,
    IPPROTO_RAW___429 = 255,
    IPPROTO_MAX___429 = 256
} ;
enum __anonenum_218739988___429 {
    IPPROTO_HOPOPTS___429 = 0,
    IPPROTO_ROUTING___429 = 43,
    IPPROTO_FRAGMENT___429 = 44,
    IPPROTO_ICMPV6___429 = 58,
    IPPROTO_NONE___429 = 59,
    IPPROTO_DSTOPTS___429 = 60,
    IPPROTO_MH___429 = 135
} ;
enum __anonenum_662268580___429 {
    IPPORT_ECHO___429 = 7,
    IPPORT_DISCARD___429 = 9,
    IPPORT_SYSTAT___429 = 11,
    IPPORT_DAYTIME___429 = 13,
    IPPORT_NETSTAT___429 = 15,
    IPPORT_FTP___429 = 21,
    IPPORT_TELNET___429 = 23,
    IPPORT_SMTP___429 = 25,
    IPPORT_TIMESERVER___429 = 37,
    IPPORT_NAMESERVER___429 = 42,
    IPPORT_WHOIS___429 = 43,
    IPPORT_MTP___429 = 57,
    IPPORT_TFTP___429 = 69,
    IPPORT_RJE___429 = 77,
    IPPORT_FINGER___429 = 79,
    IPPORT_TTYLINK___429 = 87,
    IPPORT_SUPDUP___429 = 95,
    IPPORT_EXECSERVER___429 = 512,
    IPPORT_LOGINSERVER___429 = 513,
    IPPORT_CMDSERVER___429 = 514,
    IPPORT_EFSSERVER___429 = 520,
    IPPORT_BIFFUDP___429 = 512,
    IPPORT_WHOSERVER___429 = 513,
    IPPORT_ROUTESERVER___429 = 520,
    IPPORT_RESERVED___429 = 1024,
    IPPORT_USERRESERVED___429 = 5000
} ;
enum __anonenum_788308992___429 {
    TCP_ESTABLISHED___429 = 1,
    TCP_SYN_SENT___429 = 2,
    TCP_SYN_RECV___429 = 3,
    TCP_FIN_WAIT1___429 = 4,
    TCP_FIN_WAIT2___429 = 5,
    TCP_TIME_WAIT___429 = 6,
    TCP_CLOSE___429 = 7,
    TCP_CLOSE_WAIT___429 = 8,
    TCP_LAST_ACK___429 = 9,
    TCP_LISTEN___429 = 10,
    TCP_CLOSING___429 = 11
} ;
enum __anonenum_221125648___429 {
    TCP_NO_QUEUE___429 = 0,
    TCP_RECV_QUEUE___429 = 1,
    TCP_SEND_QUEUE___429 = 2,
    TCP_QUEUES_NR___429 = 3
} ;
enum __anonenum_34415463___429 {
    PTHREAD_CREATE_JOINABLE___429 = 0,
    PTHREAD_CREATE_DETACHED___429 = 1
} ;
enum __anonenum_303612439___429 {
    PTHREAD_MUTEX_TIMED_NP___429 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___429 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___429 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___429 = 3,
    PTHREAD_MUTEX_NORMAL___429 = 0,
    PTHREAD_MUTEX_RECURSIVE___429 = 1,
    PTHREAD_MUTEX_ERRORCHECK___429 = 2,
    PTHREAD_MUTEX_DEFAULT___429 = 0,
    PTHREAD_MUTEX_FAST_NP___429 = 0
} ;
enum __anonenum_931900394___429 {
    PTHREAD_MUTEX_STALLED___429 = 0,
    PTHREAD_MUTEX_STALLED_NP___429 = 0,
    PTHREAD_MUTEX_ROBUST___429 = 1,
    PTHREAD_MUTEX_ROBUST_NP___429 = 1
} ;
enum __anonenum_205214487___429 {
    PTHREAD_PRIO_NONE___429 = 0,
    PTHREAD_PRIO_INHERIT___429 = 1,
    PTHREAD_PRIO_PROTECT___429 = 2
} ;
enum __anonenum_25043950___429 {
    PTHREAD_RWLOCK_PREFER_READER_NP___429 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___429 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___429 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___429 = 0
} ;
enum __anonenum_436439511___429 {
    PTHREAD_INHERIT_SCHED___429 = 0,
    PTHREAD_EXPLICIT_SCHED___429 = 1
} ;
enum __anonenum_998661166___429 {
    PTHREAD_SCOPE_SYSTEM___429 = 0,
    PTHREAD_SCOPE_PROCESS___429 = 1
} ;
enum __anonenum_146137331___429 {
    PTHREAD_PROCESS_PRIVATE___429 = 0,
    PTHREAD_PROCESS_SHARED___429 = 1
} ;
enum __anonenum_53396917___429 {
    PTHREAD_CANCEL_ENABLE___429 = 0,
    PTHREAD_CANCEL_DISABLE___429 = 1
} ;
enum __anonenum_904563783___429 {
    PTHREAD_CANCEL_DEFERRED___429 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___429 = 1
} ;
enum __anonenum_672052974___429 {
    SSL_CT_VALIDATION_PERMISSIVE___429 = 0,
    SSL_CT_VALIDATION_STRICT___429 = 1
} ;
enum __anonenum_437032235___430 {
    _PC_LINK_MAX___430 = 0,
    _PC_MAX_CANON___430 = 1,
    _PC_MAX_INPUT___430 = 2,
    _PC_NAME_MAX___430 = 3,
    _PC_PATH_MAX___430 = 4,
    _PC_PIPE_BUF___430 = 5,
    _PC_CHOWN_RESTRICTED___430 = 6,
    _PC_NO_TRUNC___430 = 7,
    _PC_VDISABLE___430 = 8,
    _PC_SYNC_IO___430 = 9,
    _PC_ASYNC_IO___430 = 10,
    _PC_PRIO_IO___430 = 11,
    _PC_SOCK_MAXBUF___430 = 12,
    _PC_FILESIZEBITS___430 = 13,
    _PC_REC_INCR_XFER_SIZE___430 = 14,
    _PC_REC_MAX_XFER_SIZE___430 = 15,
    _PC_REC_MIN_XFER_SIZE___430 = 16,
    _PC_REC_XFER_ALIGN___430 = 17,
    _PC_ALLOC_SIZE_MIN___430 = 18,
    _PC_SYMLINK_MAX___430 = 19,
    _PC_2_SYMLINKS___430 = 20
} ;
enum __anonenum_315186338___430 {
    _SC_ARG_MAX___430 = 0,
    _SC_CHILD_MAX___430 = 1,
    _SC_CLK_TCK___430 = 2,
    _SC_NGROUPS_MAX___430 = 3,
    _SC_OPEN_MAX___430 = 4,
    _SC_STREAM_MAX___430 = 5,
    _SC_TZNAME_MAX___430 = 6,
    _SC_JOB_CONTROL___430 = 7,
    _SC_SAVED_IDS___430 = 8,
    _SC_REALTIME_SIGNALS___430 = 9,
    _SC_PRIORITY_SCHEDULING___430 = 10,
    _SC_TIMERS___430 = 11,
    _SC_ASYNCHRONOUS_IO___430 = 12,
    _SC_PRIORITIZED_IO___430 = 13,
    _SC_SYNCHRONIZED_IO___430 = 14,
    _SC_FSYNC___430 = 15,
    _SC_MAPPED_FILES___430 = 16,
    _SC_MEMLOCK___430 = 17,
    _SC_MEMLOCK_RANGE___430 = 18,
    _SC_MEMORY_PROTECTION___430 = 19,
    _SC_MESSAGE_PASSING___430 = 20,
    _SC_SEMAPHORES___430 = 21,
    _SC_SHARED_MEMORY_OBJECTS___430 = 22,
    _SC_AIO_LISTIO_MAX___430 = 23,
    _SC_AIO_MAX___430 = 24,
    _SC_AIO_PRIO_DELTA_MAX___430 = 25,
    _SC_DELAYTIMER_MAX___430 = 26,
    _SC_MQ_OPEN_MAX___430 = 27,
    _SC_MQ_PRIO_MAX___430 = 28,
    _SC_VERSION___430 = 29,
    _SC_PAGESIZE___430 = 30,
    _SC_RTSIG_MAX___430 = 31,
    _SC_SEM_NSEMS_MAX___430 = 32,
    _SC_SEM_VALUE_MAX___430 = 33,
    _SC_SIGQUEUE_MAX___430 = 34,
    _SC_TIMER_MAX___430 = 35,
    _SC_BC_BASE_MAX___430 = 36,
    _SC_BC_DIM_MAX___430 = 37,
    _SC_BC_SCALE_MAX___430 = 38,
    _SC_BC_STRING_MAX___430 = 39,
    _SC_COLL_WEIGHTS_MAX___430 = 40,
    _SC_EQUIV_CLASS_MAX___430 = 41,
    _SC_EXPR_NEST_MAX___430 = 42,
    _SC_LINE_MAX___430 = 43,
    _SC_RE_DUP_MAX___430 = 44,
    _SC_CHARCLASS_NAME_MAX___430 = 45,
    _SC_2_VERSION___430 = 46,
    _SC_2_C_BIND___430 = 47,
    _SC_2_C_DEV___430 = 48,
    _SC_2_FORT_DEV___430 = 49,
    _SC_2_FORT_RUN___430 = 50,
    _SC_2_SW_DEV___430 = 51,
    _SC_2_LOCALEDEF___430 = 52,
    _SC_PII___430 = 53,
    _SC_PII_XTI___430 = 54,
    _SC_PII_SOCKET___430 = 55,
    _SC_PII_INTERNET___430 = 56,
    _SC_PII_OSI___430 = 57,
    _SC_POLL___430 = 58,
    _SC_SELECT___430 = 59,
    _SC_UIO_MAXIOV___430 = 60,
    _SC_IOV_MAX___430 = 60,
    _SC_PII_INTERNET_STREAM___430 = 61,
    _SC_PII_INTERNET_DGRAM___430 = 62,
    _SC_PII_OSI_COTS___430 = 63,
    _SC_PII_OSI_CLTS___430 = 64,
    _SC_PII_OSI_M___430 = 65,
    _SC_T_IOV_MAX___430 = 66,
    _SC_THREADS___430 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___430 = 68,
    _SC_GETGR_R_SIZE_MAX___430 = 69,
    _SC_GETPW_R_SIZE_MAX___430 = 70,
    _SC_LOGIN_NAME_MAX___430 = 71,
    _SC_TTY_NAME_MAX___430 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___430 = 73,
    _SC_THREAD_KEYS_MAX___430 = 74,
    _SC_THREAD_STACK_MIN___430 = 75,
    _SC_THREAD_THREADS_MAX___430 = 76,
    _SC_THREAD_ATTR_STACKADDR___430 = 77,
    _SC_THREAD_ATTR_STACKSIZE___430 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___430 = 79,
    _SC_THREAD_PRIO_INHERIT___430 = 80,
    _SC_THREAD_PRIO_PROTECT___430 = 81,
    _SC_THREAD_PROCESS_SHARED___430 = 82,
    _SC_NPROCESSORS_CONF___430 = 83,
    _SC_NPROCESSORS_ONLN___430 = 84,
    _SC_PHYS_PAGES___430 = 85,
    _SC_AVPHYS_PAGES___430 = 86,
    _SC_ATEXIT_MAX___430 = 87,
    _SC_PASS_MAX___430 = 88,
    _SC_XOPEN_VERSION___430 = 89,
    _SC_XOPEN_XCU_VERSION___430 = 90,
    _SC_XOPEN_UNIX___430 = 91,
    _SC_XOPEN_CRYPT___430 = 92,
    _SC_XOPEN_ENH_I18N___430 = 93,
    _SC_XOPEN_SHM___430 = 94,
    _SC_2_CHAR_TERM___430 = 95,
    _SC_2_C_VERSION___430 = 96,
    _SC_2_UPE___430 = 97,
    _SC_XOPEN_XPG2___430 = 98,
    _SC_XOPEN_XPG3___430 = 99,
    _SC_XOPEN_XPG4___430 = 100,
    _SC_CHAR_BIT___430 = 101,
    _SC_CHAR_MAX___430 = 102,
    _SC_CHAR_MIN___430 = 103,
    _SC_INT_MAX___430 = 104,
    _SC_INT_MIN___430 = 105,
    _SC_LONG_BIT___430 = 106,
    _SC_WORD_BIT___430 = 107,
    _SC_MB_LEN_MAX___430 = 108,
    _SC_NZERO___430 = 109,
    _SC_SSIZE_MAX___430 = 110,
    _SC_SCHAR_MAX___430 = 111,
    _SC_SCHAR_MIN___430 = 112,
    _SC_SHRT_MAX___430 = 113,
    _SC_SHRT_MIN___430 = 114,
    _SC_UCHAR_MAX___430 = 115,
    _SC_UINT_MAX___430 = 116,
    _SC_ULONG_MAX___430 = 117,
    _SC_USHRT_MAX___430 = 118,
    _SC_NL_ARGMAX___430 = 119,
    _SC_NL_LANGMAX___430 = 120,
    _SC_NL_MSGMAX___430 = 121,
    _SC_NL_NMAX___430 = 122,
    _SC_NL_SETMAX___430 = 123,
    _SC_NL_TEXTMAX___430 = 124,
    _SC_XBS5_ILP32_OFF32___430 = 125,
    _SC_XBS5_ILP32_OFFBIG___430 = 126,
    _SC_XBS5_LP64_OFF64___430 = 127,
    _SC_XBS5_LPBIG_OFFBIG___430 = 128,
    _SC_XOPEN_LEGACY___430 = 129,
    _SC_XOPEN_REALTIME___430 = 130,
    _SC_XOPEN_REALTIME_THREADS___430 = 131,
    _SC_ADVISORY_INFO___430 = 132,
    _SC_BARRIERS___430 = 133,
    _SC_BASE___430 = 134,
    _SC_C_LANG_SUPPORT___430 = 135,
    _SC_C_LANG_SUPPORT_R___430 = 136,
    _SC_CLOCK_SELECTION___430 = 137,
    _SC_CPUTIME___430 = 138,
    _SC_THREAD_CPUTIME___430 = 139,
    _SC_DEVICE_IO___430 = 140,
    _SC_DEVICE_SPECIFIC___430 = 141,
    _SC_DEVICE_SPECIFIC_R___430 = 142,
    _SC_FD_MGMT___430 = 143,
    _SC_FIFO___430 = 144,
    _SC_PIPE___430 = 145,
    _SC_FILE_ATTRIBUTES___430 = 146,
    _SC_FILE_LOCKING___430 = 147,
    _SC_FILE_SYSTEM___430 = 148,
    _SC_MONOTONIC_CLOCK___430 = 149,
    _SC_MULTI_PROCESS___430 = 150,
    _SC_SINGLE_PROCESS___430 = 151,
    _SC_NETWORKING___430 = 152,
    _SC_READER_WRITER_LOCKS___430 = 153,
    _SC_SPIN_LOCKS___430 = 154,
    _SC_REGEXP___430 = 155,
    _SC_REGEX_VERSION___430 = 156,
    _SC_SHELL___430 = 157,
    _SC_SIGNALS___430 = 158,
    _SC_SPAWN___430 = 159,
    _SC_SPORADIC_SERVER___430 = 160,
    _SC_THREAD_SPORADIC_SERVER___430 = 161,
    _SC_SYSTEM_DATABASE___430 = 162,
    _SC_SYSTEM_DATABASE_R___430 = 163,
    _SC_TIMEOUTS___430 = 164,
    _SC_TYPED_MEMORY_OBJECTS___430 = 165,
    _SC_USER_GROUPS___430 = 166,
    _SC_USER_GROUPS_R___430 = 167,
    _SC_2_PBS___430 = 168,
    _SC_2_PBS_ACCOUNTING___430 = 169,
    _SC_2_PBS_LOCATE___430 = 170,
    _SC_2_PBS_MESSAGE___430 = 171,
    _SC_2_PBS_TRACK___430 = 172,
    _SC_SYMLOOP_MAX___430 = 173,
    _SC_STREAMS___430 = 174,
    _SC_2_PBS_CHECKPOINT___430 = 175,
    _SC_V6_ILP32_OFF32___430 = 176,
    _SC_V6_ILP32_OFFBIG___430 = 177,
    _SC_V6_LP64_OFF64___430 = 178,
    _SC_V6_LPBIG_OFFBIG___430 = 179,
    _SC_HOST_NAME_MAX___430 = 180,
    _SC_TRACE___430 = 181,
    _SC_TRACE_EVENT_FILTER___430 = 182,
    _SC_TRACE_INHERIT___430 = 183,
    _SC_TRACE_LOG___430 = 184,
    _SC_LEVEL1_ICACHE_SIZE___430 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___430 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___430 = 187,
    _SC_LEVEL1_DCACHE_SIZE___430 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___430 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___430 = 190,
    _SC_LEVEL2_CACHE_SIZE___430 = 191,
    _SC_LEVEL2_CACHE_ASSOC___430 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___430 = 193,
    _SC_LEVEL3_CACHE_SIZE___430 = 194,
    _SC_LEVEL3_CACHE_ASSOC___430 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___430 = 196,
    _SC_LEVEL4_CACHE_SIZE___430 = 197,
    _SC_LEVEL4_CACHE_ASSOC___430 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___430 = 199,
    _SC_IPV6___430 = 235,
    _SC_RAW_SOCKETS___430 = 236,
    _SC_V7_ILP32_OFF32___430 = 237,
    _SC_V7_ILP32_OFFBIG___430 = 238,
    _SC_V7_LP64_OFF64___430 = 239,
    _SC_V7_LPBIG_OFFBIG___430 = 240,
    _SC_SS_REPL_MAX___430 = 241,
    _SC_TRACE_EVENT_NAME_MAX___430 = 242,
    _SC_TRACE_NAME_MAX___430 = 243,
    _SC_TRACE_SYS_MAX___430 = 244,
    _SC_TRACE_USER_EVENT_MAX___430 = 245,
    _SC_XOPEN_STREAMS___430 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___430 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___430 = 248
} ;
enum __anonenum_875524036___430 {
    _CS_PATH___430 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___430 = 1,
    _CS_GNU_LIBC_VERSION___430 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___430 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___430 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___430 = 5,
    _CS_LFS_CFLAGS___430 = 1000,
    _CS_LFS_LDFLAGS___430 = 1001,
    _CS_LFS_LIBS___430 = 1002,
    _CS_LFS_LINTFLAGS___430 = 1003,
    _CS_LFS64_CFLAGS___430 = 1004,
    _CS_LFS64_LDFLAGS___430 = 1005,
    _CS_LFS64_LIBS___430 = 1006,
    _CS_LFS64_LINTFLAGS___430 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___430 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___430 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___430 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___430 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___430 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___430 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___430 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___430 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___430 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___430 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___430 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___430 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___430 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___430 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___430 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___430 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___430 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___430 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___430 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___430 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___430 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___430 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___430 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___430 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___430 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___430 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___430 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___430 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___430 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___430 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___430 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___430 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___430 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___430 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___430 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___430 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___430 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___430 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___430 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___430 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___430 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___430 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___430 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___430 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___430 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___430 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___430 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___430 = 1147,
    _CS_V6_ENV___430 = 1148,
    _CS_V7_ENV___430 = 1149
} ;
enum __anonenum_513775621___430 {
    DT_UNKNOWN___430 = 0,
    DT_FIFO___430 = 1,
    DT_CHR___430 = 2,
    DT_DIR___430 = 4,
    DT_BLK___430 = 6,
    DT_REG___430 = 8,
    DT_LNK___430 = 10,
    DT_SOCK___430 = 12,
    DT_WHT___430 = 14
} ;
enum __anonenum_77002343___430 {
    SI_ASYNCNL___430 = -60,
    SI_TKILL___430 = -6,
    SI_SIGIO___430 = -5,
    SI_ASYNCIO___430 = -4,
    SI_MESGQ___430 = -3,
    SI_TIMER___430 = -2,
    SI_QUEUE___430 = -1,
    SI_USER___430 = 0,
    SI_KERNEL___430 = 128
} ;
enum __anonenum_131038172___430 {
    ILL_ILLOPC___430 = 1,
    ILL_ILLOPN___430 = 2,
    ILL_ILLADR___430 = 3,
    ILL_ILLTRP___430 = 4,
    ILL_PRVOPC___430 = 5,
    ILL_PRVREG___430 = 6,
    ILL_COPROC___430 = 7,
    ILL_BADSTK___430 = 8
} ;
enum __anonenum_452038093___430 {
    FPE_INTDIV___430 = 1,
    FPE_INTOVF___430 = 2,
    FPE_FLTDIV___430 = 3,
    FPE_FLTOVF___430 = 4,
    FPE_FLTUND___430 = 5,
    FPE_FLTRES___430 = 6,
    FPE_FLTINV___430 = 7,
    FPE_FLTSUB___430 = 8
} ;
enum __anonenum_30976155___430 {
    SEGV_MAPERR___430 = 1,
    SEGV_ACCERR___430 = 2,
    SEGV_BNDERR___430 = 3,
    SEGV_PKUERR___430 = 4
} ;
enum __anonenum_1036286214___430 {
    BUS_ADRALN___430 = 1,
    BUS_ADRERR___430 = 2,
    BUS_OBJERR___430 = 3,
    BUS_MCEERR_AR___430 = 4,
    BUS_MCEERR_AO___430 = 5
} ;
enum __anonenum_493465559___430 {
    TRAP_BRKPT___430 = 1,
    TRAP_TRACE___430 = 2
} ;
enum __anonenum_23175539___430 {
    CLD_EXITED___430 = 1,
    CLD_KILLED___430 = 2,
    CLD_DUMPED___430 = 3,
    CLD_TRAPPED___430 = 4,
    CLD_STOPPED___430 = 5,
    CLD_CONTINUED___430 = 6
} ;
enum __anonenum_111643124___430 {
    POLL_IN___430 = 1,
    POLL_OUT___430 = 2,
    POLL_MSG___430 = 3,
    POLL_ERR___430 = 4,
    POLL_PRI___430 = 5,
    POLL_HUP___430 = 6
} ;
enum __anonenum_852341087___430 {
    SIGEV_SIGNAL___430 = 0,
    SIGEV_NONE___430 = 1,
    SIGEV_THREAD___430 = 2,
    SIGEV_THREAD_ID___430 = 4
} ;
enum __anonenum_451154152___430 {
    REG_R8___430 = 0,
    REG_R9___430 = 1,
    REG_R10___430 = 2,
    REG_R11___430 = 3,
    REG_R12___430 = 4,
    REG_R13___430 = 5,
    REG_R14___430 = 6,
    REG_R15___430 = 7,
    REG_RDI___430 = 8,
    REG_RSI___430 = 9,
    REG_RBP___430 = 10,
    REG_RBX___430 = 11,
    REG_RDX___430 = 12,
    REG_RAX___430 = 13,
    REG_RCX___430 = 14,
    REG_RSP___430 = 15,
    REG_RIP___430 = 16,
    REG_EFL___430 = 17,
    REG_CSGSFS___430 = 18,
    REG_ERR___430 = 19,
    REG_TRAPNO___430 = 20,
    REG_OLDMASK___430 = 21,
    REG_CR2___430 = 22
} ;
enum __anonenum_57186863___430 {
    SS_ONSTACK___430 = 1,
    SS_DISABLE___430 = 2
} ;
enum __anonenum_83571709___430 {
    MSG_OOB___430 = 1,
    MSG_PEEK___430 = 2,
    MSG_DONTROUTE___430 = 4,
    MSG_TRYHARD___430 = 4,
    MSG_CTRUNC___430 = 8,
    MSG_PROXY___430 = 16,
    MSG_TRUNC___430 = 32,
    MSG_DONTWAIT___430 = 64,
    MSG_EOR___430 = 128,
    MSG_WAITALL___430 = 256,
    MSG_FIN___430 = 512,
    MSG_SYN___430 = 1024,
    MSG_CONFIRM___430 = 2048,
    MSG_RST___430 = 4096,
    MSG_ERRQUEUE___430 = 8192,
    MSG_NOSIGNAL___430 = 16384,
    MSG_MORE___430 = 32768,
    MSG_WAITFORONE___430 = 65536,
    MSG_BATCH___430 = 262144,
    MSG_ZEROCOPY___430 = 67108864,
    MSG_FASTOPEN___430 = 536870912,
    MSG_CMSG_CLOEXEC___430 = 1073741824
} ;
enum __anonenum_617082774___430 {
    SCM_RIGHTS___430 = 1,
    SCM_CREDENTIALS___430 = 2
} ;
enum __anonenum_606441560___430 {
    SHUT_RD___430 = 0,
    SHUT_WR___430 = 1,
    SHUT_RDWR___430 = 2
} ;
enum __anonenum_681669233___430 {
    IPPROTO_IP___430 = 0,
    IPPROTO_ICMP___430 = 1,
    IPPROTO_IGMP___430 = 2,
    IPPROTO_IPIP___430 = 4,
    IPPROTO_TCP___430 = 6,
    IPPROTO_EGP___430 = 8,
    IPPROTO_PUP___430 = 12,
    IPPROTO_UDP___430 = 17,
    IPPROTO_IDP___430 = 22,
    IPPROTO_TP___430 = 29,
    IPPROTO_DCCP___430 = 33,
    IPPROTO_IPV6___430 = 41,
    IPPROTO_RSVP___430 = 46,
    IPPROTO_GRE___430 = 47,
    IPPROTO_ESP___430 = 50,
    IPPROTO_AH___430 = 51,
    IPPROTO_MTP___430 = 92,
    IPPROTO_BEETPH___430 = 94,
    IPPROTO_ENCAP___430 = 98,
    IPPROTO_PIM___430 = 103,
    IPPROTO_COMP___430 = 108,
    IPPROTO_SCTP___430 = 132,
    IPPROTO_UDPLITE___430 = 136,
    IPPROTO_MPLS___430 = 137,
    IPPROTO_RAW___430 = 255,
    IPPROTO_MAX___430 = 256
} ;
enum __anonenum_218739988___430 {
    IPPROTO_HOPOPTS___430 = 0,
    IPPROTO_ROUTING___430 = 43,
    IPPROTO_FRAGMENT___430 = 44,
    IPPROTO_ICMPV6___430 = 58,
    IPPROTO_NONE___430 = 59,
    IPPROTO_DSTOPTS___430 = 60,
    IPPROTO_MH___430 = 135
} ;
enum __anonenum_662268580___430 {
    IPPORT_ECHO___430 = 7,
    IPPORT_DISCARD___430 = 9,
    IPPORT_SYSTAT___430 = 11,
    IPPORT_DAYTIME___430 = 13,
    IPPORT_NETSTAT___430 = 15,
    IPPORT_FTP___430 = 21,
    IPPORT_TELNET___430 = 23,
    IPPORT_SMTP___430 = 25,
    IPPORT_TIMESERVER___430 = 37,
    IPPORT_NAMESERVER___430 = 42,
    IPPORT_WHOIS___430 = 43,
    IPPORT_MTP___430 = 57,
    IPPORT_TFTP___430 = 69,
    IPPORT_RJE___430 = 77,
    IPPORT_FINGER___430 = 79,
    IPPORT_TTYLINK___430 = 87,
    IPPORT_SUPDUP___430 = 95,
    IPPORT_EXECSERVER___430 = 512,
    IPPORT_LOGINSERVER___430 = 513,
    IPPORT_CMDSERVER___430 = 514,
    IPPORT_EFSSERVER___430 = 520,
    IPPORT_BIFFUDP___430 = 512,
    IPPORT_WHOSERVER___430 = 513,
    IPPORT_ROUTESERVER___430 = 520,
    IPPORT_RESERVED___430 = 1024,
    IPPORT_USERRESERVED___430 = 5000
} ;
enum __anonenum_788308992___430 {
    TCP_ESTABLISHED___430 = 1,
    TCP_SYN_SENT___430 = 2,
    TCP_SYN_RECV___430 = 3,
    TCP_FIN_WAIT1___430 = 4,
    TCP_FIN_WAIT2___430 = 5,
    TCP_TIME_WAIT___430 = 6,
    TCP_CLOSE___430 = 7,
    TCP_CLOSE_WAIT___430 = 8,
    TCP_LAST_ACK___430 = 9,
    TCP_LISTEN___430 = 10,
    TCP_CLOSING___430 = 11
} ;
enum __anonenum_221125648___430 {
    TCP_NO_QUEUE___430 = 0,
    TCP_RECV_QUEUE___430 = 1,
    TCP_SEND_QUEUE___430 = 2,
    TCP_QUEUES_NR___430 = 3
} ;
enum __anonenum_34415463___430 {
    PTHREAD_CREATE_JOINABLE___430 = 0,
    PTHREAD_CREATE_DETACHED___430 = 1
} ;
enum __anonenum_303612439___430 {
    PTHREAD_MUTEX_TIMED_NP___430 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___430 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___430 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___430 = 3,
    PTHREAD_MUTEX_NORMAL___430 = 0,
    PTHREAD_MUTEX_RECURSIVE___430 = 1,
    PTHREAD_MUTEX_ERRORCHECK___430 = 2,
    PTHREAD_MUTEX_DEFAULT___430 = 0,
    PTHREAD_MUTEX_FAST_NP___430 = 0
} ;
enum __anonenum_931900394___430 {
    PTHREAD_MUTEX_STALLED___430 = 0,
    PTHREAD_MUTEX_STALLED_NP___430 = 0,
    PTHREAD_MUTEX_ROBUST___430 = 1,
    PTHREAD_MUTEX_ROBUST_NP___430 = 1
} ;
enum __anonenum_205214487___430 {
    PTHREAD_PRIO_NONE___430 = 0,
    PTHREAD_PRIO_INHERIT___430 = 1,
    PTHREAD_PRIO_PROTECT___430 = 2
} ;
enum __anonenum_25043950___430 {
    PTHREAD_RWLOCK_PREFER_READER_NP___430 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___430 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___430 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___430 = 0
} ;
enum __anonenum_436439511___430 {
    PTHREAD_INHERIT_SCHED___430 = 0,
    PTHREAD_EXPLICIT_SCHED___430 = 1
} ;
enum __anonenum_998661166___430 {
    PTHREAD_SCOPE_SYSTEM___430 = 0,
    PTHREAD_SCOPE_PROCESS___430 = 1
} ;
enum __anonenum_146137331___430 {
    PTHREAD_PROCESS_PRIVATE___430 = 0,
    PTHREAD_PROCESS_SHARED___430 = 1
} ;
enum __anonenum_53396917___430 {
    PTHREAD_CANCEL_ENABLE___430 = 0,
    PTHREAD_CANCEL_DISABLE___430 = 1
} ;
enum __anonenum_904563783___430 {
    PTHREAD_CANCEL_DEFERRED___430 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___430 = 1
} ;
enum __anonenum_672052974___430 {
    SSL_CT_VALIDATION_PERMISSIVE___430 = 0,
    SSL_CT_VALIDATION_STRICT___430 = 1
} ;
struct line___0 {
   char *text ;
   struct line___0 *next ;
};
struct dist {
   char const   *name ;
   void (*fn)(int *arr , int n , int m ) ;
};
struct mode {
   char const   *name ;
   void (*fn)(int *arr , int n ) ;
};
struct stats {
   int get_next ;
   int set_next ;
   int compare ;
};
struct number {
   int value ;
   int rank ;
   struct number *next ;
};
enum __anonenum_437032235___431 {
    _PC_LINK_MAX___431 = 0,
    _PC_MAX_CANON___431 = 1,
    _PC_MAX_INPUT___431 = 2,
    _PC_NAME_MAX___431 = 3,
    _PC_PATH_MAX___431 = 4,
    _PC_PIPE_BUF___431 = 5,
    _PC_CHOWN_RESTRICTED___431 = 6,
    _PC_NO_TRUNC___431 = 7,
    _PC_VDISABLE___431 = 8,
    _PC_SYNC_IO___431 = 9,
    _PC_ASYNC_IO___431 = 10,
    _PC_PRIO_IO___431 = 11,
    _PC_SOCK_MAXBUF___431 = 12,
    _PC_FILESIZEBITS___431 = 13,
    _PC_REC_INCR_XFER_SIZE___431 = 14,
    _PC_REC_MAX_XFER_SIZE___431 = 15,
    _PC_REC_MIN_XFER_SIZE___431 = 16,
    _PC_REC_XFER_ALIGN___431 = 17,
    _PC_ALLOC_SIZE_MIN___431 = 18,
    _PC_SYMLINK_MAX___431 = 19,
    _PC_2_SYMLINKS___431 = 20
} ;
enum __anonenum_315186338___431 {
    _SC_ARG_MAX___431 = 0,
    _SC_CHILD_MAX___431 = 1,
    _SC_CLK_TCK___431 = 2,
    _SC_NGROUPS_MAX___431 = 3,
    _SC_OPEN_MAX___431 = 4,
    _SC_STREAM_MAX___431 = 5,
    _SC_TZNAME_MAX___431 = 6,
    _SC_JOB_CONTROL___431 = 7,
    _SC_SAVED_IDS___431 = 8,
    _SC_REALTIME_SIGNALS___431 = 9,
    _SC_PRIORITY_SCHEDULING___431 = 10,
    _SC_TIMERS___431 = 11,
    _SC_ASYNCHRONOUS_IO___431 = 12,
    _SC_PRIORITIZED_IO___431 = 13,
    _SC_SYNCHRONIZED_IO___431 = 14,
    _SC_FSYNC___431 = 15,
    _SC_MAPPED_FILES___431 = 16,
    _SC_MEMLOCK___431 = 17,
    _SC_MEMLOCK_RANGE___431 = 18,
    _SC_MEMORY_PROTECTION___431 = 19,
    _SC_MESSAGE_PASSING___431 = 20,
    _SC_SEMAPHORES___431 = 21,
    _SC_SHARED_MEMORY_OBJECTS___431 = 22,
    _SC_AIO_LISTIO_MAX___431 = 23,
    _SC_AIO_MAX___431 = 24,
    _SC_AIO_PRIO_DELTA_MAX___431 = 25,
    _SC_DELAYTIMER_MAX___431 = 26,
    _SC_MQ_OPEN_MAX___431 = 27,
    _SC_MQ_PRIO_MAX___431 = 28,
    _SC_VERSION___431 = 29,
    _SC_PAGESIZE___431 = 30,
    _SC_RTSIG_MAX___431 = 31,
    _SC_SEM_NSEMS_MAX___431 = 32,
    _SC_SEM_VALUE_MAX___431 = 33,
    _SC_SIGQUEUE_MAX___431 = 34,
    _SC_TIMER_MAX___431 = 35,
    _SC_BC_BASE_MAX___431 = 36,
    _SC_BC_DIM_MAX___431 = 37,
    _SC_BC_SCALE_MAX___431 = 38,
    _SC_BC_STRING_MAX___431 = 39,
    _SC_COLL_WEIGHTS_MAX___431 = 40,
    _SC_EQUIV_CLASS_MAX___431 = 41,
    _SC_EXPR_NEST_MAX___431 = 42,
    _SC_LINE_MAX___431 = 43,
    _SC_RE_DUP_MAX___431 = 44,
    _SC_CHARCLASS_NAME_MAX___431 = 45,
    _SC_2_VERSION___431 = 46,
    _SC_2_C_BIND___431 = 47,
    _SC_2_C_DEV___431 = 48,
    _SC_2_FORT_DEV___431 = 49,
    _SC_2_FORT_RUN___431 = 50,
    _SC_2_SW_DEV___431 = 51,
    _SC_2_LOCALEDEF___431 = 52,
    _SC_PII___431 = 53,
    _SC_PII_XTI___431 = 54,
    _SC_PII_SOCKET___431 = 55,
    _SC_PII_INTERNET___431 = 56,
    _SC_PII_OSI___431 = 57,
    _SC_POLL___431 = 58,
    _SC_SELECT___431 = 59,
    _SC_UIO_MAXIOV___431 = 60,
    _SC_IOV_MAX___431 = 60,
    _SC_PII_INTERNET_STREAM___431 = 61,
    _SC_PII_INTERNET_DGRAM___431 = 62,
    _SC_PII_OSI_COTS___431 = 63,
    _SC_PII_OSI_CLTS___431 = 64,
    _SC_PII_OSI_M___431 = 65,
    _SC_T_IOV_MAX___431 = 66,
    _SC_THREADS___431 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___431 = 68,
    _SC_GETGR_R_SIZE_MAX___431 = 69,
    _SC_GETPW_R_SIZE_MAX___431 = 70,
    _SC_LOGIN_NAME_MAX___431 = 71,
    _SC_TTY_NAME_MAX___431 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___431 = 73,
    _SC_THREAD_KEYS_MAX___431 = 74,
    _SC_THREAD_STACK_MIN___431 = 75,
    _SC_THREAD_THREADS_MAX___431 = 76,
    _SC_THREAD_ATTR_STACKADDR___431 = 77,
    _SC_THREAD_ATTR_STACKSIZE___431 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___431 = 79,
    _SC_THREAD_PRIO_INHERIT___431 = 80,
    _SC_THREAD_PRIO_PROTECT___431 = 81,
    _SC_THREAD_PROCESS_SHARED___431 = 82,
    _SC_NPROCESSORS_CONF___431 = 83,
    _SC_NPROCESSORS_ONLN___431 = 84,
    _SC_PHYS_PAGES___431 = 85,
    _SC_AVPHYS_PAGES___431 = 86,
    _SC_ATEXIT_MAX___431 = 87,
    _SC_PASS_MAX___431 = 88,
    _SC_XOPEN_VERSION___431 = 89,
    _SC_XOPEN_XCU_VERSION___431 = 90,
    _SC_XOPEN_UNIX___431 = 91,
    _SC_XOPEN_CRYPT___431 = 92,
    _SC_XOPEN_ENH_I18N___431 = 93,
    _SC_XOPEN_SHM___431 = 94,
    _SC_2_CHAR_TERM___431 = 95,
    _SC_2_C_VERSION___431 = 96,
    _SC_2_UPE___431 = 97,
    _SC_XOPEN_XPG2___431 = 98,
    _SC_XOPEN_XPG3___431 = 99,
    _SC_XOPEN_XPG4___431 = 100,
    _SC_CHAR_BIT___431 = 101,
    _SC_CHAR_MAX___431 = 102,
    _SC_CHAR_MIN___431 = 103,
    _SC_INT_MAX___431 = 104,
    _SC_INT_MIN___431 = 105,
    _SC_LONG_BIT___431 = 106,
    _SC_WORD_BIT___431 = 107,
    _SC_MB_LEN_MAX___431 = 108,
    _SC_NZERO___431 = 109,
    _SC_SSIZE_MAX___431 = 110,
    _SC_SCHAR_MAX___431 = 111,
    _SC_SCHAR_MIN___431 = 112,
    _SC_SHRT_MAX___431 = 113,
    _SC_SHRT_MIN___431 = 114,
    _SC_UCHAR_MAX___431 = 115,
    _SC_UINT_MAX___431 = 116,
    _SC_ULONG_MAX___431 = 117,
    _SC_USHRT_MAX___431 = 118,
    _SC_NL_ARGMAX___431 = 119,
    _SC_NL_LANGMAX___431 = 120,
    _SC_NL_MSGMAX___431 = 121,
    _SC_NL_NMAX___431 = 122,
    _SC_NL_SETMAX___431 = 123,
    _SC_NL_TEXTMAX___431 = 124,
    _SC_XBS5_ILP32_OFF32___431 = 125,
    _SC_XBS5_ILP32_OFFBIG___431 = 126,
    _SC_XBS5_LP64_OFF64___431 = 127,
    _SC_XBS5_LPBIG_OFFBIG___431 = 128,
    _SC_XOPEN_LEGACY___431 = 129,
    _SC_XOPEN_REALTIME___431 = 130,
    _SC_XOPEN_REALTIME_THREADS___431 = 131,
    _SC_ADVISORY_INFO___431 = 132,
    _SC_BARRIERS___431 = 133,
    _SC_BASE___431 = 134,
    _SC_C_LANG_SUPPORT___431 = 135,
    _SC_C_LANG_SUPPORT_R___431 = 136,
    _SC_CLOCK_SELECTION___431 = 137,
    _SC_CPUTIME___431 = 138,
    _SC_THREAD_CPUTIME___431 = 139,
    _SC_DEVICE_IO___431 = 140,
    _SC_DEVICE_SPECIFIC___431 = 141,
    _SC_DEVICE_SPECIFIC_R___431 = 142,
    _SC_FD_MGMT___431 = 143,
    _SC_FIFO___431 = 144,
    _SC_PIPE___431 = 145,
    _SC_FILE_ATTRIBUTES___431 = 146,
    _SC_FILE_LOCKING___431 = 147,
    _SC_FILE_SYSTEM___431 = 148,
    _SC_MONOTONIC_CLOCK___431 = 149,
    _SC_MULTI_PROCESS___431 = 150,
    _SC_SINGLE_PROCESS___431 = 151,
    _SC_NETWORKING___431 = 152,
    _SC_READER_WRITER_LOCKS___431 = 153,
    _SC_SPIN_LOCKS___431 = 154,
    _SC_REGEXP___431 = 155,
    _SC_REGEX_VERSION___431 = 156,
    _SC_SHELL___431 = 157,
    _SC_SIGNALS___431 = 158,
    _SC_SPAWN___431 = 159,
    _SC_SPORADIC_SERVER___431 = 160,
    _SC_THREAD_SPORADIC_SERVER___431 = 161,
    _SC_SYSTEM_DATABASE___431 = 162,
    _SC_SYSTEM_DATABASE_R___431 = 163,
    _SC_TIMEOUTS___431 = 164,
    _SC_TYPED_MEMORY_OBJECTS___431 = 165,
    _SC_USER_GROUPS___431 = 166,
    _SC_USER_GROUPS_R___431 = 167,
    _SC_2_PBS___431 = 168,
    _SC_2_PBS_ACCOUNTING___431 = 169,
    _SC_2_PBS_LOCATE___431 = 170,
    _SC_2_PBS_MESSAGE___431 = 171,
    _SC_2_PBS_TRACK___431 = 172,
    _SC_SYMLOOP_MAX___431 = 173,
    _SC_STREAMS___431 = 174,
    _SC_2_PBS_CHECKPOINT___431 = 175,
    _SC_V6_ILP32_OFF32___431 = 176,
    _SC_V6_ILP32_OFFBIG___431 = 177,
    _SC_V6_LP64_OFF64___431 = 178,
    _SC_V6_LPBIG_OFFBIG___431 = 179,
    _SC_HOST_NAME_MAX___431 = 180,
    _SC_TRACE___431 = 181,
    _SC_TRACE_EVENT_FILTER___431 = 182,
    _SC_TRACE_INHERIT___431 = 183,
    _SC_TRACE_LOG___431 = 184,
    _SC_LEVEL1_ICACHE_SIZE___431 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___431 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___431 = 187,
    _SC_LEVEL1_DCACHE_SIZE___431 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___431 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___431 = 190,
    _SC_LEVEL2_CACHE_SIZE___431 = 191,
    _SC_LEVEL2_CACHE_ASSOC___431 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___431 = 193,
    _SC_LEVEL3_CACHE_SIZE___431 = 194,
    _SC_LEVEL3_CACHE_ASSOC___431 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___431 = 196,
    _SC_LEVEL4_CACHE_SIZE___431 = 197,
    _SC_LEVEL4_CACHE_ASSOC___431 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___431 = 199,
    _SC_IPV6___431 = 235,
    _SC_RAW_SOCKETS___431 = 236,
    _SC_V7_ILP32_OFF32___431 = 237,
    _SC_V7_ILP32_OFFBIG___431 = 238,
    _SC_V7_LP64_OFF64___431 = 239,
    _SC_V7_LPBIG_OFFBIG___431 = 240,
    _SC_SS_REPL_MAX___431 = 241,
    _SC_TRACE_EVENT_NAME_MAX___431 = 242,
    _SC_TRACE_NAME_MAX___431 = 243,
    _SC_TRACE_SYS_MAX___431 = 244,
    _SC_TRACE_USER_EVENT_MAX___431 = 245,
    _SC_XOPEN_STREAMS___431 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___431 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___431 = 248
} ;
enum __anonenum_875524036___431 {
    _CS_PATH___431 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___431 = 1,
    _CS_GNU_LIBC_VERSION___431 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___431 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___431 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___431 = 5,
    _CS_LFS_CFLAGS___431 = 1000,
    _CS_LFS_LDFLAGS___431 = 1001,
    _CS_LFS_LIBS___431 = 1002,
    _CS_LFS_LINTFLAGS___431 = 1003,
    _CS_LFS64_CFLAGS___431 = 1004,
    _CS_LFS64_LDFLAGS___431 = 1005,
    _CS_LFS64_LIBS___431 = 1006,
    _CS_LFS64_LINTFLAGS___431 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___431 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___431 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___431 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___431 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___431 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___431 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___431 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___431 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___431 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___431 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___431 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___431 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___431 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___431 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___431 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___431 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___431 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___431 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___431 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___431 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___431 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___431 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___431 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___431 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___431 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___431 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___431 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___431 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___431 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___431 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___431 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___431 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___431 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___431 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___431 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___431 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___431 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___431 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___431 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___431 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___431 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___431 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___431 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___431 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___431 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___431 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___431 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___431 = 1147,
    _CS_V6_ENV___431 = 1148,
    _CS_V7_ENV___431 = 1149
} ;
enum __anonenum_513775621___431 {
    DT_UNKNOWN___431 = 0,
    DT_FIFO___431 = 1,
    DT_CHR___431 = 2,
    DT_DIR___431 = 4,
    DT_BLK___431 = 6,
    DT_REG___431 = 8,
    DT_LNK___431 = 10,
    DT_SOCK___431 = 12,
    DT_WHT___431 = 14
} ;
enum __anonenum_77002343___431 {
    SI_ASYNCNL___431 = -60,
    SI_TKILL___431 = -6,
    SI_SIGIO___431 = -5,
    SI_ASYNCIO___431 = -4,
    SI_MESGQ___431 = -3,
    SI_TIMER___431 = -2,
    SI_QUEUE___431 = -1,
    SI_USER___431 = 0,
    SI_KERNEL___431 = 128
} ;
enum __anonenum_131038172___431 {
    ILL_ILLOPC___431 = 1,
    ILL_ILLOPN___431 = 2,
    ILL_ILLADR___431 = 3,
    ILL_ILLTRP___431 = 4,
    ILL_PRVOPC___431 = 5,
    ILL_PRVREG___431 = 6,
    ILL_COPROC___431 = 7,
    ILL_BADSTK___431 = 8
} ;
enum __anonenum_452038093___431 {
    FPE_INTDIV___431 = 1,
    FPE_INTOVF___431 = 2,
    FPE_FLTDIV___431 = 3,
    FPE_FLTOVF___431 = 4,
    FPE_FLTUND___431 = 5,
    FPE_FLTRES___431 = 6,
    FPE_FLTINV___431 = 7,
    FPE_FLTSUB___431 = 8
} ;
enum __anonenum_30976155___431 {
    SEGV_MAPERR___431 = 1,
    SEGV_ACCERR___431 = 2,
    SEGV_BNDERR___431 = 3,
    SEGV_PKUERR___431 = 4
} ;
enum __anonenum_1036286214___431 {
    BUS_ADRALN___431 = 1,
    BUS_ADRERR___431 = 2,
    BUS_OBJERR___431 = 3,
    BUS_MCEERR_AR___431 = 4,
    BUS_MCEERR_AO___431 = 5
} ;
enum __anonenum_493465559___431 {
    TRAP_BRKPT___431 = 1,
    TRAP_TRACE___431 = 2
} ;
enum __anonenum_23175539___431 {
    CLD_EXITED___431 = 1,
    CLD_KILLED___431 = 2,
    CLD_DUMPED___431 = 3,
    CLD_TRAPPED___431 = 4,
    CLD_STOPPED___431 = 5,
    CLD_CONTINUED___431 = 6
} ;
enum __anonenum_111643124___431 {
    POLL_IN___431 = 1,
    POLL_OUT___431 = 2,
    POLL_MSG___431 = 3,
    POLL_ERR___431 = 4,
    POLL_PRI___431 = 5,
    POLL_HUP___431 = 6
} ;
enum __anonenum_852341087___431 {
    SIGEV_SIGNAL___431 = 0,
    SIGEV_NONE___431 = 1,
    SIGEV_THREAD___431 = 2,
    SIGEV_THREAD_ID___431 = 4
} ;
enum __anonenum_451154152___431 {
    REG_R8___431 = 0,
    REG_R9___431 = 1,
    REG_R10___431 = 2,
    REG_R11___431 = 3,
    REG_R12___431 = 4,
    REG_R13___431 = 5,
    REG_R14___431 = 6,
    REG_R15___431 = 7,
    REG_RDI___431 = 8,
    REG_RSI___431 = 9,
    REG_RBP___431 = 10,
    REG_RBX___431 = 11,
    REG_RDX___431 = 12,
    REG_RAX___431 = 13,
    REG_RCX___431 = 14,
    REG_RSP___431 = 15,
    REG_RIP___431 = 16,
    REG_EFL___431 = 17,
    REG_CSGSFS___431 = 18,
    REG_ERR___431 = 19,
    REG_TRAPNO___431 = 20,
    REG_OLDMASK___431 = 21,
    REG_CR2___431 = 22
} ;
enum __anonenum_57186863___431 {
    SS_ONSTACK___431 = 1,
    SS_DISABLE___431 = 2
} ;
enum __anonenum_83571709___431 {
    MSG_OOB___431 = 1,
    MSG_PEEK___431 = 2,
    MSG_DONTROUTE___431 = 4,
    MSG_TRYHARD___431 = 4,
    MSG_CTRUNC___431 = 8,
    MSG_PROXY___431 = 16,
    MSG_TRUNC___431 = 32,
    MSG_DONTWAIT___431 = 64,
    MSG_EOR___431 = 128,
    MSG_WAITALL___431 = 256,
    MSG_FIN___431 = 512,
    MSG_SYN___431 = 1024,
    MSG_CONFIRM___431 = 2048,
    MSG_RST___431 = 4096,
    MSG_ERRQUEUE___431 = 8192,
    MSG_NOSIGNAL___431 = 16384,
    MSG_MORE___431 = 32768,
    MSG_WAITFORONE___431 = 65536,
    MSG_BATCH___431 = 262144,
    MSG_ZEROCOPY___431 = 67108864,
    MSG_FASTOPEN___431 = 536870912,
    MSG_CMSG_CLOEXEC___431 = 1073741824
} ;
enum __anonenum_617082774___431 {
    SCM_RIGHTS___431 = 1,
    SCM_CREDENTIALS___431 = 2
} ;
enum __anonenum_606441560___431 {
    SHUT_RD___431 = 0,
    SHUT_WR___431 = 1,
    SHUT_RDWR___431 = 2
} ;
enum __anonenum_681669233___431 {
    IPPROTO_IP___431 = 0,
    IPPROTO_ICMP___431 = 1,
    IPPROTO_IGMP___431 = 2,
    IPPROTO_IPIP___431 = 4,
    IPPROTO_TCP___431 = 6,
    IPPROTO_EGP___431 = 8,
    IPPROTO_PUP___431 = 12,
    IPPROTO_UDP___431 = 17,
    IPPROTO_IDP___431 = 22,
    IPPROTO_TP___431 = 29,
    IPPROTO_DCCP___431 = 33,
    IPPROTO_IPV6___431 = 41,
    IPPROTO_RSVP___431 = 46,
    IPPROTO_GRE___431 = 47,
    IPPROTO_ESP___431 = 50,
    IPPROTO_AH___431 = 51,
    IPPROTO_MTP___431 = 92,
    IPPROTO_BEETPH___431 = 94,
    IPPROTO_ENCAP___431 = 98,
    IPPROTO_PIM___431 = 103,
    IPPROTO_COMP___431 = 108,
    IPPROTO_SCTP___431 = 132,
    IPPROTO_UDPLITE___431 = 136,
    IPPROTO_MPLS___431 = 137,
    IPPROTO_RAW___431 = 255,
    IPPROTO_MAX___431 = 256
} ;
enum __anonenum_218739988___431 {
    IPPROTO_HOPOPTS___431 = 0,
    IPPROTO_ROUTING___431 = 43,
    IPPROTO_FRAGMENT___431 = 44,
    IPPROTO_ICMPV6___431 = 58,
    IPPROTO_NONE___431 = 59,
    IPPROTO_DSTOPTS___431 = 60,
    IPPROTO_MH___431 = 135
} ;
enum __anonenum_662268580___431 {
    IPPORT_ECHO___431 = 7,
    IPPORT_DISCARD___431 = 9,
    IPPORT_SYSTAT___431 = 11,
    IPPORT_DAYTIME___431 = 13,
    IPPORT_NETSTAT___431 = 15,
    IPPORT_FTP___431 = 21,
    IPPORT_TELNET___431 = 23,
    IPPORT_SMTP___431 = 25,
    IPPORT_TIMESERVER___431 = 37,
    IPPORT_NAMESERVER___431 = 42,
    IPPORT_WHOIS___431 = 43,
    IPPORT_MTP___431 = 57,
    IPPORT_TFTP___431 = 69,
    IPPORT_RJE___431 = 77,
    IPPORT_FINGER___431 = 79,
    IPPORT_TTYLINK___431 = 87,
    IPPORT_SUPDUP___431 = 95,
    IPPORT_EXECSERVER___431 = 512,
    IPPORT_LOGINSERVER___431 = 513,
    IPPORT_CMDSERVER___431 = 514,
    IPPORT_EFSSERVER___431 = 520,
    IPPORT_BIFFUDP___431 = 512,
    IPPORT_WHOSERVER___431 = 513,
    IPPORT_ROUTESERVER___431 = 520,
    IPPORT_RESERVED___431 = 1024,
    IPPORT_USERRESERVED___431 = 5000
} ;
enum __anonenum_788308992___431 {
    TCP_ESTABLISHED___431 = 1,
    TCP_SYN_SENT___431 = 2,
    TCP_SYN_RECV___431 = 3,
    TCP_FIN_WAIT1___431 = 4,
    TCP_FIN_WAIT2___431 = 5,
    TCP_TIME_WAIT___431 = 6,
    TCP_CLOSE___431 = 7,
    TCP_CLOSE_WAIT___431 = 8,
    TCP_LAST_ACK___431 = 9,
    TCP_LISTEN___431 = 10,
    TCP_CLOSING___431 = 11
} ;
enum __anonenum_221125648___431 {
    TCP_NO_QUEUE___431 = 0,
    TCP_RECV_QUEUE___431 = 1,
    TCP_SEND_QUEUE___431 = 2,
    TCP_QUEUES_NR___431 = 3
} ;
enum __anonenum_34415463___431 {
    PTHREAD_CREATE_JOINABLE___431 = 0,
    PTHREAD_CREATE_DETACHED___431 = 1
} ;
enum __anonenum_303612439___431 {
    PTHREAD_MUTEX_TIMED_NP___431 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___431 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___431 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___431 = 3,
    PTHREAD_MUTEX_NORMAL___431 = 0,
    PTHREAD_MUTEX_RECURSIVE___431 = 1,
    PTHREAD_MUTEX_ERRORCHECK___431 = 2,
    PTHREAD_MUTEX_DEFAULT___431 = 0,
    PTHREAD_MUTEX_FAST_NP___431 = 0
} ;
enum __anonenum_931900394___431 {
    PTHREAD_MUTEX_STALLED___431 = 0,
    PTHREAD_MUTEX_STALLED_NP___431 = 0,
    PTHREAD_MUTEX_ROBUST___431 = 1,
    PTHREAD_MUTEX_ROBUST_NP___431 = 1
} ;
enum __anonenum_205214487___431 {
    PTHREAD_PRIO_NONE___431 = 0,
    PTHREAD_PRIO_INHERIT___431 = 1,
    PTHREAD_PRIO_PROTECT___431 = 2
} ;
enum __anonenum_25043950___431 {
    PTHREAD_RWLOCK_PREFER_READER_NP___431 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___431 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___431 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___431 = 0
} ;
enum __anonenum_436439511___431 {
    PTHREAD_INHERIT_SCHED___431 = 0,
    PTHREAD_EXPLICIT_SCHED___431 = 1
} ;
enum __anonenum_998661166___431 {
    PTHREAD_SCOPE_SYSTEM___431 = 0,
    PTHREAD_SCOPE_PROCESS___431 = 1
} ;
enum __anonenum_146137331___431 {
    PTHREAD_PROCESS_PRIVATE___431 = 0,
    PTHREAD_PROCESS_SHARED___431 = 1
} ;
enum __anonenum_53396917___431 {
    PTHREAD_CANCEL_ENABLE___431 = 0,
    PTHREAD_CANCEL_DISABLE___431 = 1
} ;
enum __anonenum_904563783___431 {
    PTHREAD_CANCEL_DEFERRED___431 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___431 = 1
} ;
enum __anonenum_672052974___431 {
    SSL_CT_VALIDATION_PERMISSIVE___431 = 0,
    SSL_CT_VALIDATION_STRICT___431 = 1
} ;
enum __anonenum_437032235___432 {
    _PC_LINK_MAX___432 = 0,
    _PC_MAX_CANON___432 = 1,
    _PC_MAX_INPUT___432 = 2,
    _PC_NAME_MAX___432 = 3,
    _PC_PATH_MAX___432 = 4,
    _PC_PIPE_BUF___432 = 5,
    _PC_CHOWN_RESTRICTED___432 = 6,
    _PC_NO_TRUNC___432 = 7,
    _PC_VDISABLE___432 = 8,
    _PC_SYNC_IO___432 = 9,
    _PC_ASYNC_IO___432 = 10,
    _PC_PRIO_IO___432 = 11,
    _PC_SOCK_MAXBUF___432 = 12,
    _PC_FILESIZEBITS___432 = 13,
    _PC_REC_INCR_XFER_SIZE___432 = 14,
    _PC_REC_MAX_XFER_SIZE___432 = 15,
    _PC_REC_MIN_XFER_SIZE___432 = 16,
    _PC_REC_XFER_ALIGN___432 = 17,
    _PC_ALLOC_SIZE_MIN___432 = 18,
    _PC_SYMLINK_MAX___432 = 19,
    _PC_2_SYMLINKS___432 = 20
} ;
enum __anonenum_315186338___432 {
    _SC_ARG_MAX___432 = 0,
    _SC_CHILD_MAX___432 = 1,
    _SC_CLK_TCK___432 = 2,
    _SC_NGROUPS_MAX___432 = 3,
    _SC_OPEN_MAX___432 = 4,
    _SC_STREAM_MAX___432 = 5,
    _SC_TZNAME_MAX___432 = 6,
    _SC_JOB_CONTROL___432 = 7,
    _SC_SAVED_IDS___432 = 8,
    _SC_REALTIME_SIGNALS___432 = 9,
    _SC_PRIORITY_SCHEDULING___432 = 10,
    _SC_TIMERS___432 = 11,
    _SC_ASYNCHRONOUS_IO___432 = 12,
    _SC_PRIORITIZED_IO___432 = 13,
    _SC_SYNCHRONIZED_IO___432 = 14,
    _SC_FSYNC___432 = 15,
    _SC_MAPPED_FILES___432 = 16,
    _SC_MEMLOCK___432 = 17,
    _SC_MEMLOCK_RANGE___432 = 18,
    _SC_MEMORY_PROTECTION___432 = 19,
    _SC_MESSAGE_PASSING___432 = 20,
    _SC_SEMAPHORES___432 = 21,
    _SC_SHARED_MEMORY_OBJECTS___432 = 22,
    _SC_AIO_LISTIO_MAX___432 = 23,
    _SC_AIO_MAX___432 = 24,
    _SC_AIO_PRIO_DELTA_MAX___432 = 25,
    _SC_DELAYTIMER_MAX___432 = 26,
    _SC_MQ_OPEN_MAX___432 = 27,
    _SC_MQ_PRIO_MAX___432 = 28,
    _SC_VERSION___432 = 29,
    _SC_PAGESIZE___432 = 30,
    _SC_RTSIG_MAX___432 = 31,
    _SC_SEM_NSEMS_MAX___432 = 32,
    _SC_SEM_VALUE_MAX___432 = 33,
    _SC_SIGQUEUE_MAX___432 = 34,
    _SC_TIMER_MAX___432 = 35,
    _SC_BC_BASE_MAX___432 = 36,
    _SC_BC_DIM_MAX___432 = 37,
    _SC_BC_SCALE_MAX___432 = 38,
    _SC_BC_STRING_MAX___432 = 39,
    _SC_COLL_WEIGHTS_MAX___432 = 40,
    _SC_EQUIV_CLASS_MAX___432 = 41,
    _SC_EXPR_NEST_MAX___432 = 42,
    _SC_LINE_MAX___432 = 43,
    _SC_RE_DUP_MAX___432 = 44,
    _SC_CHARCLASS_NAME_MAX___432 = 45,
    _SC_2_VERSION___432 = 46,
    _SC_2_C_BIND___432 = 47,
    _SC_2_C_DEV___432 = 48,
    _SC_2_FORT_DEV___432 = 49,
    _SC_2_FORT_RUN___432 = 50,
    _SC_2_SW_DEV___432 = 51,
    _SC_2_LOCALEDEF___432 = 52,
    _SC_PII___432 = 53,
    _SC_PII_XTI___432 = 54,
    _SC_PII_SOCKET___432 = 55,
    _SC_PII_INTERNET___432 = 56,
    _SC_PII_OSI___432 = 57,
    _SC_POLL___432 = 58,
    _SC_SELECT___432 = 59,
    _SC_UIO_MAXIOV___432 = 60,
    _SC_IOV_MAX___432 = 60,
    _SC_PII_INTERNET_STREAM___432 = 61,
    _SC_PII_INTERNET_DGRAM___432 = 62,
    _SC_PII_OSI_COTS___432 = 63,
    _SC_PII_OSI_CLTS___432 = 64,
    _SC_PII_OSI_M___432 = 65,
    _SC_T_IOV_MAX___432 = 66,
    _SC_THREADS___432 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___432 = 68,
    _SC_GETGR_R_SIZE_MAX___432 = 69,
    _SC_GETPW_R_SIZE_MAX___432 = 70,
    _SC_LOGIN_NAME_MAX___432 = 71,
    _SC_TTY_NAME_MAX___432 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___432 = 73,
    _SC_THREAD_KEYS_MAX___432 = 74,
    _SC_THREAD_STACK_MIN___432 = 75,
    _SC_THREAD_THREADS_MAX___432 = 76,
    _SC_THREAD_ATTR_STACKADDR___432 = 77,
    _SC_THREAD_ATTR_STACKSIZE___432 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___432 = 79,
    _SC_THREAD_PRIO_INHERIT___432 = 80,
    _SC_THREAD_PRIO_PROTECT___432 = 81,
    _SC_THREAD_PROCESS_SHARED___432 = 82,
    _SC_NPROCESSORS_CONF___432 = 83,
    _SC_NPROCESSORS_ONLN___432 = 84,
    _SC_PHYS_PAGES___432 = 85,
    _SC_AVPHYS_PAGES___432 = 86,
    _SC_ATEXIT_MAX___432 = 87,
    _SC_PASS_MAX___432 = 88,
    _SC_XOPEN_VERSION___432 = 89,
    _SC_XOPEN_XCU_VERSION___432 = 90,
    _SC_XOPEN_UNIX___432 = 91,
    _SC_XOPEN_CRYPT___432 = 92,
    _SC_XOPEN_ENH_I18N___432 = 93,
    _SC_XOPEN_SHM___432 = 94,
    _SC_2_CHAR_TERM___432 = 95,
    _SC_2_C_VERSION___432 = 96,
    _SC_2_UPE___432 = 97,
    _SC_XOPEN_XPG2___432 = 98,
    _SC_XOPEN_XPG3___432 = 99,
    _SC_XOPEN_XPG4___432 = 100,
    _SC_CHAR_BIT___432 = 101,
    _SC_CHAR_MAX___432 = 102,
    _SC_CHAR_MIN___432 = 103,
    _SC_INT_MAX___432 = 104,
    _SC_INT_MIN___432 = 105,
    _SC_LONG_BIT___432 = 106,
    _SC_WORD_BIT___432 = 107,
    _SC_MB_LEN_MAX___432 = 108,
    _SC_NZERO___432 = 109,
    _SC_SSIZE_MAX___432 = 110,
    _SC_SCHAR_MAX___432 = 111,
    _SC_SCHAR_MIN___432 = 112,
    _SC_SHRT_MAX___432 = 113,
    _SC_SHRT_MIN___432 = 114,
    _SC_UCHAR_MAX___432 = 115,
    _SC_UINT_MAX___432 = 116,
    _SC_ULONG_MAX___432 = 117,
    _SC_USHRT_MAX___432 = 118,
    _SC_NL_ARGMAX___432 = 119,
    _SC_NL_LANGMAX___432 = 120,
    _SC_NL_MSGMAX___432 = 121,
    _SC_NL_NMAX___432 = 122,
    _SC_NL_SETMAX___432 = 123,
    _SC_NL_TEXTMAX___432 = 124,
    _SC_XBS5_ILP32_OFF32___432 = 125,
    _SC_XBS5_ILP32_OFFBIG___432 = 126,
    _SC_XBS5_LP64_OFF64___432 = 127,
    _SC_XBS5_LPBIG_OFFBIG___432 = 128,
    _SC_XOPEN_LEGACY___432 = 129,
    _SC_XOPEN_REALTIME___432 = 130,
    _SC_XOPEN_REALTIME_THREADS___432 = 131,
    _SC_ADVISORY_INFO___432 = 132,
    _SC_BARRIERS___432 = 133,
    _SC_BASE___432 = 134,
    _SC_C_LANG_SUPPORT___432 = 135,
    _SC_C_LANG_SUPPORT_R___432 = 136,
    _SC_CLOCK_SELECTION___432 = 137,
    _SC_CPUTIME___432 = 138,
    _SC_THREAD_CPUTIME___432 = 139,
    _SC_DEVICE_IO___432 = 140,
    _SC_DEVICE_SPECIFIC___432 = 141,
    _SC_DEVICE_SPECIFIC_R___432 = 142,
    _SC_FD_MGMT___432 = 143,
    _SC_FIFO___432 = 144,
    _SC_PIPE___432 = 145,
    _SC_FILE_ATTRIBUTES___432 = 146,
    _SC_FILE_LOCKING___432 = 147,
    _SC_FILE_SYSTEM___432 = 148,
    _SC_MONOTONIC_CLOCK___432 = 149,
    _SC_MULTI_PROCESS___432 = 150,
    _SC_SINGLE_PROCESS___432 = 151,
    _SC_NETWORKING___432 = 152,
    _SC_READER_WRITER_LOCKS___432 = 153,
    _SC_SPIN_LOCKS___432 = 154,
    _SC_REGEXP___432 = 155,
    _SC_REGEX_VERSION___432 = 156,
    _SC_SHELL___432 = 157,
    _SC_SIGNALS___432 = 158,
    _SC_SPAWN___432 = 159,
    _SC_SPORADIC_SERVER___432 = 160,
    _SC_THREAD_SPORADIC_SERVER___432 = 161,
    _SC_SYSTEM_DATABASE___432 = 162,
    _SC_SYSTEM_DATABASE_R___432 = 163,
    _SC_TIMEOUTS___432 = 164,
    _SC_TYPED_MEMORY_OBJECTS___432 = 165,
    _SC_USER_GROUPS___432 = 166,
    _SC_USER_GROUPS_R___432 = 167,
    _SC_2_PBS___432 = 168,
    _SC_2_PBS_ACCOUNTING___432 = 169,
    _SC_2_PBS_LOCATE___432 = 170,
    _SC_2_PBS_MESSAGE___432 = 171,
    _SC_2_PBS_TRACK___432 = 172,
    _SC_SYMLOOP_MAX___432 = 173,
    _SC_STREAMS___432 = 174,
    _SC_2_PBS_CHECKPOINT___432 = 175,
    _SC_V6_ILP32_OFF32___432 = 176,
    _SC_V6_ILP32_OFFBIG___432 = 177,
    _SC_V6_LP64_OFF64___432 = 178,
    _SC_V6_LPBIG_OFFBIG___432 = 179,
    _SC_HOST_NAME_MAX___432 = 180,
    _SC_TRACE___432 = 181,
    _SC_TRACE_EVENT_FILTER___432 = 182,
    _SC_TRACE_INHERIT___432 = 183,
    _SC_TRACE_LOG___432 = 184,
    _SC_LEVEL1_ICACHE_SIZE___432 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___432 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___432 = 187,
    _SC_LEVEL1_DCACHE_SIZE___432 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___432 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___432 = 190,
    _SC_LEVEL2_CACHE_SIZE___432 = 191,
    _SC_LEVEL2_CACHE_ASSOC___432 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___432 = 193,
    _SC_LEVEL3_CACHE_SIZE___432 = 194,
    _SC_LEVEL3_CACHE_ASSOC___432 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___432 = 196,
    _SC_LEVEL4_CACHE_SIZE___432 = 197,
    _SC_LEVEL4_CACHE_ASSOC___432 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___432 = 199,
    _SC_IPV6___432 = 235,
    _SC_RAW_SOCKETS___432 = 236,
    _SC_V7_ILP32_OFF32___432 = 237,
    _SC_V7_ILP32_OFFBIG___432 = 238,
    _SC_V7_LP64_OFF64___432 = 239,
    _SC_V7_LPBIG_OFFBIG___432 = 240,
    _SC_SS_REPL_MAX___432 = 241,
    _SC_TRACE_EVENT_NAME_MAX___432 = 242,
    _SC_TRACE_NAME_MAX___432 = 243,
    _SC_TRACE_SYS_MAX___432 = 244,
    _SC_TRACE_USER_EVENT_MAX___432 = 245,
    _SC_XOPEN_STREAMS___432 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___432 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___432 = 248
} ;
enum __anonenum_875524036___432 {
    _CS_PATH___432 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___432 = 1,
    _CS_GNU_LIBC_VERSION___432 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___432 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___432 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___432 = 5,
    _CS_LFS_CFLAGS___432 = 1000,
    _CS_LFS_LDFLAGS___432 = 1001,
    _CS_LFS_LIBS___432 = 1002,
    _CS_LFS_LINTFLAGS___432 = 1003,
    _CS_LFS64_CFLAGS___432 = 1004,
    _CS_LFS64_LDFLAGS___432 = 1005,
    _CS_LFS64_LIBS___432 = 1006,
    _CS_LFS64_LINTFLAGS___432 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___432 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___432 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___432 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___432 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___432 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___432 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___432 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___432 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___432 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___432 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___432 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___432 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___432 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___432 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___432 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___432 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___432 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___432 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___432 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___432 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___432 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___432 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___432 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___432 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___432 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___432 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___432 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___432 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___432 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___432 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___432 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___432 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___432 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___432 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___432 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___432 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___432 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___432 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___432 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___432 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___432 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___432 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___432 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___432 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___432 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___432 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___432 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___432 = 1147,
    _CS_V6_ENV___432 = 1148,
    _CS_V7_ENV___432 = 1149
} ;
enum __anonenum_513775621___432 {
    DT_UNKNOWN___432 = 0,
    DT_FIFO___432 = 1,
    DT_CHR___432 = 2,
    DT_DIR___432 = 4,
    DT_BLK___432 = 6,
    DT_REG___432 = 8,
    DT_LNK___432 = 10,
    DT_SOCK___432 = 12,
    DT_WHT___432 = 14
} ;
enum __anonenum_77002343___432 {
    SI_ASYNCNL___432 = -60,
    SI_TKILL___432 = -6,
    SI_SIGIO___432 = -5,
    SI_ASYNCIO___432 = -4,
    SI_MESGQ___432 = -3,
    SI_TIMER___432 = -2,
    SI_QUEUE___432 = -1,
    SI_USER___432 = 0,
    SI_KERNEL___432 = 128
} ;
enum __anonenum_131038172___432 {
    ILL_ILLOPC___432 = 1,
    ILL_ILLOPN___432 = 2,
    ILL_ILLADR___432 = 3,
    ILL_ILLTRP___432 = 4,
    ILL_PRVOPC___432 = 5,
    ILL_PRVREG___432 = 6,
    ILL_COPROC___432 = 7,
    ILL_BADSTK___432 = 8
} ;
enum __anonenum_452038093___432 {
    FPE_INTDIV___432 = 1,
    FPE_INTOVF___432 = 2,
    FPE_FLTDIV___432 = 3,
    FPE_FLTOVF___432 = 4,
    FPE_FLTUND___432 = 5,
    FPE_FLTRES___432 = 6,
    FPE_FLTINV___432 = 7,
    FPE_FLTSUB___432 = 8
} ;
enum __anonenum_30976155___432 {
    SEGV_MAPERR___432 = 1,
    SEGV_ACCERR___432 = 2,
    SEGV_BNDERR___432 = 3,
    SEGV_PKUERR___432 = 4
} ;
enum __anonenum_1036286214___432 {
    BUS_ADRALN___432 = 1,
    BUS_ADRERR___432 = 2,
    BUS_OBJERR___432 = 3,
    BUS_MCEERR_AR___432 = 4,
    BUS_MCEERR_AO___432 = 5
} ;
enum __anonenum_493465559___432 {
    TRAP_BRKPT___432 = 1,
    TRAP_TRACE___432 = 2
} ;
enum __anonenum_23175539___432 {
    CLD_EXITED___432 = 1,
    CLD_KILLED___432 = 2,
    CLD_DUMPED___432 = 3,
    CLD_TRAPPED___432 = 4,
    CLD_STOPPED___432 = 5,
    CLD_CONTINUED___432 = 6
} ;
enum __anonenum_111643124___432 {
    POLL_IN___432 = 1,
    POLL_OUT___432 = 2,
    POLL_MSG___432 = 3,
    POLL_ERR___432 = 4,
    POLL_PRI___432 = 5,
    POLL_HUP___432 = 6
} ;
enum __anonenum_852341087___432 {
    SIGEV_SIGNAL___432 = 0,
    SIGEV_NONE___432 = 1,
    SIGEV_THREAD___432 = 2,
    SIGEV_THREAD_ID___432 = 4
} ;
enum __anonenum_451154152___432 {
    REG_R8___432 = 0,
    REG_R9___432 = 1,
    REG_R10___432 = 2,
    REG_R11___432 = 3,
    REG_R12___432 = 4,
    REG_R13___432 = 5,
    REG_R14___432 = 6,
    REG_R15___432 = 7,
    REG_RDI___432 = 8,
    REG_RSI___432 = 9,
    REG_RBP___432 = 10,
    REG_RBX___432 = 11,
    REG_RDX___432 = 12,
    REG_RAX___432 = 13,
    REG_RCX___432 = 14,
    REG_RSP___432 = 15,
    REG_RIP___432 = 16,
    REG_EFL___432 = 17,
    REG_CSGSFS___432 = 18,
    REG_ERR___432 = 19,
    REG_TRAPNO___432 = 20,
    REG_OLDMASK___432 = 21,
    REG_CR2___432 = 22
} ;
enum __anonenum_57186863___432 {
    SS_ONSTACK___432 = 1,
    SS_DISABLE___432 = 2
} ;
enum __anonenum_83571709___432 {
    MSG_OOB___432 = 1,
    MSG_PEEK___432 = 2,
    MSG_DONTROUTE___432 = 4,
    MSG_TRYHARD___432 = 4,
    MSG_CTRUNC___432 = 8,
    MSG_PROXY___432 = 16,
    MSG_TRUNC___432 = 32,
    MSG_DONTWAIT___432 = 64,
    MSG_EOR___432 = 128,
    MSG_WAITALL___432 = 256,
    MSG_FIN___432 = 512,
    MSG_SYN___432 = 1024,
    MSG_CONFIRM___432 = 2048,
    MSG_RST___432 = 4096,
    MSG_ERRQUEUE___432 = 8192,
    MSG_NOSIGNAL___432 = 16384,
    MSG_MORE___432 = 32768,
    MSG_WAITFORONE___432 = 65536,
    MSG_BATCH___432 = 262144,
    MSG_ZEROCOPY___432 = 67108864,
    MSG_FASTOPEN___432 = 536870912,
    MSG_CMSG_CLOEXEC___432 = 1073741824
} ;
enum __anonenum_617082774___432 {
    SCM_RIGHTS___432 = 1,
    SCM_CREDENTIALS___432 = 2
} ;
enum __anonenum_606441560___432 {
    SHUT_RD___432 = 0,
    SHUT_WR___432 = 1,
    SHUT_RDWR___432 = 2
} ;
enum __anonenum_681669233___432 {
    IPPROTO_IP___432 = 0,
    IPPROTO_ICMP___432 = 1,
    IPPROTO_IGMP___432 = 2,
    IPPROTO_IPIP___432 = 4,
    IPPROTO_TCP___432 = 6,
    IPPROTO_EGP___432 = 8,
    IPPROTO_PUP___432 = 12,
    IPPROTO_UDP___432 = 17,
    IPPROTO_IDP___432 = 22,
    IPPROTO_TP___432 = 29,
    IPPROTO_DCCP___432 = 33,
    IPPROTO_IPV6___432 = 41,
    IPPROTO_RSVP___432 = 46,
    IPPROTO_GRE___432 = 47,
    IPPROTO_ESP___432 = 50,
    IPPROTO_AH___432 = 51,
    IPPROTO_MTP___432 = 92,
    IPPROTO_BEETPH___432 = 94,
    IPPROTO_ENCAP___432 = 98,
    IPPROTO_PIM___432 = 103,
    IPPROTO_COMP___432 = 108,
    IPPROTO_SCTP___432 = 132,
    IPPROTO_UDPLITE___432 = 136,
    IPPROTO_MPLS___432 = 137,
    IPPROTO_RAW___432 = 255,
    IPPROTO_MAX___432 = 256
} ;
enum __anonenum_218739988___432 {
    IPPROTO_HOPOPTS___432 = 0,
    IPPROTO_ROUTING___432 = 43,
    IPPROTO_FRAGMENT___432 = 44,
    IPPROTO_ICMPV6___432 = 58,
    IPPROTO_NONE___432 = 59,
    IPPROTO_DSTOPTS___432 = 60,
    IPPROTO_MH___432 = 135
} ;
enum __anonenum_662268580___432 {
    IPPORT_ECHO___432 = 7,
    IPPORT_DISCARD___432 = 9,
    IPPORT_SYSTAT___432 = 11,
    IPPORT_DAYTIME___432 = 13,
    IPPORT_NETSTAT___432 = 15,
    IPPORT_FTP___432 = 21,
    IPPORT_TELNET___432 = 23,
    IPPORT_SMTP___432 = 25,
    IPPORT_TIMESERVER___432 = 37,
    IPPORT_NAMESERVER___432 = 42,
    IPPORT_WHOIS___432 = 43,
    IPPORT_MTP___432 = 57,
    IPPORT_TFTP___432 = 69,
    IPPORT_RJE___432 = 77,
    IPPORT_FINGER___432 = 79,
    IPPORT_TTYLINK___432 = 87,
    IPPORT_SUPDUP___432 = 95,
    IPPORT_EXECSERVER___432 = 512,
    IPPORT_LOGINSERVER___432 = 513,
    IPPORT_CMDSERVER___432 = 514,
    IPPORT_EFSSERVER___432 = 520,
    IPPORT_BIFFUDP___432 = 512,
    IPPORT_WHOSERVER___432 = 513,
    IPPORT_ROUTESERVER___432 = 520,
    IPPORT_RESERVED___432 = 1024,
    IPPORT_USERRESERVED___432 = 5000
} ;
enum __anonenum_788308992___432 {
    TCP_ESTABLISHED___432 = 1,
    TCP_SYN_SENT___432 = 2,
    TCP_SYN_RECV___432 = 3,
    TCP_FIN_WAIT1___432 = 4,
    TCP_FIN_WAIT2___432 = 5,
    TCP_TIME_WAIT___432 = 6,
    TCP_CLOSE___432 = 7,
    TCP_CLOSE_WAIT___432 = 8,
    TCP_LAST_ACK___432 = 9,
    TCP_LISTEN___432 = 10,
    TCP_CLOSING___432 = 11
} ;
enum __anonenum_221125648___432 {
    TCP_NO_QUEUE___432 = 0,
    TCP_RECV_QUEUE___432 = 1,
    TCP_SEND_QUEUE___432 = 2,
    TCP_QUEUES_NR___432 = 3
} ;
enum __anonenum_34415463___432 {
    PTHREAD_CREATE_JOINABLE___432 = 0,
    PTHREAD_CREATE_DETACHED___432 = 1
} ;
enum __anonenum_303612439___432 {
    PTHREAD_MUTEX_TIMED_NP___432 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___432 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___432 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___432 = 3,
    PTHREAD_MUTEX_NORMAL___432 = 0,
    PTHREAD_MUTEX_RECURSIVE___432 = 1,
    PTHREAD_MUTEX_ERRORCHECK___432 = 2,
    PTHREAD_MUTEX_DEFAULT___432 = 0,
    PTHREAD_MUTEX_FAST_NP___432 = 0
} ;
enum __anonenum_931900394___432 {
    PTHREAD_MUTEX_STALLED___432 = 0,
    PTHREAD_MUTEX_STALLED_NP___432 = 0,
    PTHREAD_MUTEX_ROBUST___432 = 1,
    PTHREAD_MUTEX_ROBUST_NP___432 = 1
} ;
enum __anonenum_205214487___432 {
    PTHREAD_PRIO_NONE___432 = 0,
    PTHREAD_PRIO_INHERIT___432 = 1,
    PTHREAD_PRIO_PROTECT___432 = 2
} ;
enum __anonenum_25043950___432 {
    PTHREAD_RWLOCK_PREFER_READER_NP___432 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___432 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___432 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___432 = 0
} ;
enum __anonenum_436439511___432 {
    PTHREAD_INHERIT_SCHED___432 = 0,
    PTHREAD_EXPLICIT_SCHED___432 = 1
} ;
enum __anonenum_998661166___432 {
    PTHREAD_SCOPE_SYSTEM___432 = 0,
    PTHREAD_SCOPE_PROCESS___432 = 1
} ;
enum __anonenum_146137331___432 {
    PTHREAD_PROCESS_PRIVATE___432 = 0,
    PTHREAD_PROCESS_SHARED___432 = 1
} ;
enum __anonenum_53396917___432 {
    PTHREAD_CANCEL_ENABLE___432 = 0,
    PTHREAD_CANCEL_DISABLE___432 = 1
} ;
enum __anonenum_904563783___432 {
    PTHREAD_CANCEL_DEFERRED___432 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___432 = 1
} ;
enum __anonenum_672052974___432 {
    SSL_CT_VALIDATION_PERMISSIVE___432 = 0,
    SSL_CT_VALIDATION_STRICT___432 = 1
} ;
enum __anonenum_437032235___433 {
    _PC_LINK_MAX___433 = 0,
    _PC_MAX_CANON___433 = 1,
    _PC_MAX_INPUT___433 = 2,
    _PC_NAME_MAX___433 = 3,
    _PC_PATH_MAX___433 = 4,
    _PC_PIPE_BUF___433 = 5,
    _PC_CHOWN_RESTRICTED___433 = 6,
    _PC_NO_TRUNC___433 = 7,
    _PC_VDISABLE___433 = 8,
    _PC_SYNC_IO___433 = 9,
    _PC_ASYNC_IO___433 = 10,
    _PC_PRIO_IO___433 = 11,
    _PC_SOCK_MAXBUF___433 = 12,
    _PC_FILESIZEBITS___433 = 13,
    _PC_REC_INCR_XFER_SIZE___433 = 14,
    _PC_REC_MAX_XFER_SIZE___433 = 15,
    _PC_REC_MIN_XFER_SIZE___433 = 16,
    _PC_REC_XFER_ALIGN___433 = 17,
    _PC_ALLOC_SIZE_MIN___433 = 18,
    _PC_SYMLINK_MAX___433 = 19,
    _PC_2_SYMLINKS___433 = 20
} ;
enum __anonenum_315186338___433 {
    _SC_ARG_MAX___433 = 0,
    _SC_CHILD_MAX___433 = 1,
    _SC_CLK_TCK___433 = 2,
    _SC_NGROUPS_MAX___433 = 3,
    _SC_OPEN_MAX___433 = 4,
    _SC_STREAM_MAX___433 = 5,
    _SC_TZNAME_MAX___433 = 6,
    _SC_JOB_CONTROL___433 = 7,
    _SC_SAVED_IDS___433 = 8,
    _SC_REALTIME_SIGNALS___433 = 9,
    _SC_PRIORITY_SCHEDULING___433 = 10,
    _SC_TIMERS___433 = 11,
    _SC_ASYNCHRONOUS_IO___433 = 12,
    _SC_PRIORITIZED_IO___433 = 13,
    _SC_SYNCHRONIZED_IO___433 = 14,
    _SC_FSYNC___433 = 15,
    _SC_MAPPED_FILES___433 = 16,
    _SC_MEMLOCK___433 = 17,
    _SC_MEMLOCK_RANGE___433 = 18,
    _SC_MEMORY_PROTECTION___433 = 19,
    _SC_MESSAGE_PASSING___433 = 20,
    _SC_SEMAPHORES___433 = 21,
    _SC_SHARED_MEMORY_OBJECTS___433 = 22,
    _SC_AIO_LISTIO_MAX___433 = 23,
    _SC_AIO_MAX___433 = 24,
    _SC_AIO_PRIO_DELTA_MAX___433 = 25,
    _SC_DELAYTIMER_MAX___433 = 26,
    _SC_MQ_OPEN_MAX___433 = 27,
    _SC_MQ_PRIO_MAX___433 = 28,
    _SC_VERSION___433 = 29,
    _SC_PAGESIZE___433 = 30,
    _SC_RTSIG_MAX___433 = 31,
    _SC_SEM_NSEMS_MAX___433 = 32,
    _SC_SEM_VALUE_MAX___433 = 33,
    _SC_SIGQUEUE_MAX___433 = 34,
    _SC_TIMER_MAX___433 = 35,
    _SC_BC_BASE_MAX___433 = 36,
    _SC_BC_DIM_MAX___433 = 37,
    _SC_BC_SCALE_MAX___433 = 38,
    _SC_BC_STRING_MAX___433 = 39,
    _SC_COLL_WEIGHTS_MAX___433 = 40,
    _SC_EQUIV_CLASS_MAX___433 = 41,
    _SC_EXPR_NEST_MAX___433 = 42,
    _SC_LINE_MAX___433 = 43,
    _SC_RE_DUP_MAX___433 = 44,
    _SC_CHARCLASS_NAME_MAX___433 = 45,
    _SC_2_VERSION___433 = 46,
    _SC_2_C_BIND___433 = 47,
    _SC_2_C_DEV___433 = 48,
    _SC_2_FORT_DEV___433 = 49,
    _SC_2_FORT_RUN___433 = 50,
    _SC_2_SW_DEV___433 = 51,
    _SC_2_LOCALEDEF___433 = 52,
    _SC_PII___433 = 53,
    _SC_PII_XTI___433 = 54,
    _SC_PII_SOCKET___433 = 55,
    _SC_PII_INTERNET___433 = 56,
    _SC_PII_OSI___433 = 57,
    _SC_POLL___433 = 58,
    _SC_SELECT___433 = 59,
    _SC_UIO_MAXIOV___433 = 60,
    _SC_IOV_MAX___433 = 60,
    _SC_PII_INTERNET_STREAM___433 = 61,
    _SC_PII_INTERNET_DGRAM___433 = 62,
    _SC_PII_OSI_COTS___433 = 63,
    _SC_PII_OSI_CLTS___433 = 64,
    _SC_PII_OSI_M___433 = 65,
    _SC_T_IOV_MAX___433 = 66,
    _SC_THREADS___433 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___433 = 68,
    _SC_GETGR_R_SIZE_MAX___433 = 69,
    _SC_GETPW_R_SIZE_MAX___433 = 70,
    _SC_LOGIN_NAME_MAX___433 = 71,
    _SC_TTY_NAME_MAX___433 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___433 = 73,
    _SC_THREAD_KEYS_MAX___433 = 74,
    _SC_THREAD_STACK_MIN___433 = 75,
    _SC_THREAD_THREADS_MAX___433 = 76,
    _SC_THREAD_ATTR_STACKADDR___433 = 77,
    _SC_THREAD_ATTR_STACKSIZE___433 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___433 = 79,
    _SC_THREAD_PRIO_INHERIT___433 = 80,
    _SC_THREAD_PRIO_PROTECT___433 = 81,
    _SC_THREAD_PROCESS_SHARED___433 = 82,
    _SC_NPROCESSORS_CONF___433 = 83,
    _SC_NPROCESSORS_ONLN___433 = 84,
    _SC_PHYS_PAGES___433 = 85,
    _SC_AVPHYS_PAGES___433 = 86,
    _SC_ATEXIT_MAX___433 = 87,
    _SC_PASS_MAX___433 = 88,
    _SC_XOPEN_VERSION___433 = 89,
    _SC_XOPEN_XCU_VERSION___433 = 90,
    _SC_XOPEN_UNIX___433 = 91,
    _SC_XOPEN_CRYPT___433 = 92,
    _SC_XOPEN_ENH_I18N___433 = 93,
    _SC_XOPEN_SHM___433 = 94,
    _SC_2_CHAR_TERM___433 = 95,
    _SC_2_C_VERSION___433 = 96,
    _SC_2_UPE___433 = 97,
    _SC_XOPEN_XPG2___433 = 98,
    _SC_XOPEN_XPG3___433 = 99,
    _SC_XOPEN_XPG4___433 = 100,
    _SC_CHAR_BIT___433 = 101,
    _SC_CHAR_MAX___433 = 102,
    _SC_CHAR_MIN___433 = 103,
    _SC_INT_MAX___433 = 104,
    _SC_INT_MIN___433 = 105,
    _SC_LONG_BIT___433 = 106,
    _SC_WORD_BIT___433 = 107,
    _SC_MB_LEN_MAX___433 = 108,
    _SC_NZERO___433 = 109,
    _SC_SSIZE_MAX___433 = 110,
    _SC_SCHAR_MAX___433 = 111,
    _SC_SCHAR_MIN___433 = 112,
    _SC_SHRT_MAX___433 = 113,
    _SC_SHRT_MIN___433 = 114,
    _SC_UCHAR_MAX___433 = 115,
    _SC_UINT_MAX___433 = 116,
    _SC_ULONG_MAX___433 = 117,
    _SC_USHRT_MAX___433 = 118,
    _SC_NL_ARGMAX___433 = 119,
    _SC_NL_LANGMAX___433 = 120,
    _SC_NL_MSGMAX___433 = 121,
    _SC_NL_NMAX___433 = 122,
    _SC_NL_SETMAX___433 = 123,
    _SC_NL_TEXTMAX___433 = 124,
    _SC_XBS5_ILP32_OFF32___433 = 125,
    _SC_XBS5_ILP32_OFFBIG___433 = 126,
    _SC_XBS5_LP64_OFF64___433 = 127,
    _SC_XBS5_LPBIG_OFFBIG___433 = 128,
    _SC_XOPEN_LEGACY___433 = 129,
    _SC_XOPEN_REALTIME___433 = 130,
    _SC_XOPEN_REALTIME_THREADS___433 = 131,
    _SC_ADVISORY_INFO___433 = 132,
    _SC_BARRIERS___433 = 133,
    _SC_BASE___433 = 134,
    _SC_C_LANG_SUPPORT___433 = 135,
    _SC_C_LANG_SUPPORT_R___433 = 136,
    _SC_CLOCK_SELECTION___433 = 137,
    _SC_CPUTIME___433 = 138,
    _SC_THREAD_CPUTIME___433 = 139,
    _SC_DEVICE_IO___433 = 140,
    _SC_DEVICE_SPECIFIC___433 = 141,
    _SC_DEVICE_SPECIFIC_R___433 = 142,
    _SC_FD_MGMT___433 = 143,
    _SC_FIFO___433 = 144,
    _SC_PIPE___433 = 145,
    _SC_FILE_ATTRIBUTES___433 = 146,
    _SC_FILE_LOCKING___433 = 147,
    _SC_FILE_SYSTEM___433 = 148,
    _SC_MONOTONIC_CLOCK___433 = 149,
    _SC_MULTI_PROCESS___433 = 150,
    _SC_SINGLE_PROCESS___433 = 151,
    _SC_NETWORKING___433 = 152,
    _SC_READER_WRITER_LOCKS___433 = 153,
    _SC_SPIN_LOCKS___433 = 154,
    _SC_REGEXP___433 = 155,
    _SC_REGEX_VERSION___433 = 156,
    _SC_SHELL___433 = 157,
    _SC_SIGNALS___433 = 158,
    _SC_SPAWN___433 = 159,
    _SC_SPORADIC_SERVER___433 = 160,
    _SC_THREAD_SPORADIC_SERVER___433 = 161,
    _SC_SYSTEM_DATABASE___433 = 162,
    _SC_SYSTEM_DATABASE_R___433 = 163,
    _SC_TIMEOUTS___433 = 164,
    _SC_TYPED_MEMORY_OBJECTS___433 = 165,
    _SC_USER_GROUPS___433 = 166,
    _SC_USER_GROUPS_R___433 = 167,
    _SC_2_PBS___433 = 168,
    _SC_2_PBS_ACCOUNTING___433 = 169,
    _SC_2_PBS_LOCATE___433 = 170,
    _SC_2_PBS_MESSAGE___433 = 171,
    _SC_2_PBS_TRACK___433 = 172,
    _SC_SYMLOOP_MAX___433 = 173,
    _SC_STREAMS___433 = 174,
    _SC_2_PBS_CHECKPOINT___433 = 175,
    _SC_V6_ILP32_OFF32___433 = 176,
    _SC_V6_ILP32_OFFBIG___433 = 177,
    _SC_V6_LP64_OFF64___433 = 178,
    _SC_V6_LPBIG_OFFBIG___433 = 179,
    _SC_HOST_NAME_MAX___433 = 180,
    _SC_TRACE___433 = 181,
    _SC_TRACE_EVENT_FILTER___433 = 182,
    _SC_TRACE_INHERIT___433 = 183,
    _SC_TRACE_LOG___433 = 184,
    _SC_LEVEL1_ICACHE_SIZE___433 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___433 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___433 = 187,
    _SC_LEVEL1_DCACHE_SIZE___433 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___433 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___433 = 190,
    _SC_LEVEL2_CACHE_SIZE___433 = 191,
    _SC_LEVEL2_CACHE_ASSOC___433 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___433 = 193,
    _SC_LEVEL3_CACHE_SIZE___433 = 194,
    _SC_LEVEL3_CACHE_ASSOC___433 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___433 = 196,
    _SC_LEVEL4_CACHE_SIZE___433 = 197,
    _SC_LEVEL4_CACHE_ASSOC___433 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___433 = 199,
    _SC_IPV6___433 = 235,
    _SC_RAW_SOCKETS___433 = 236,
    _SC_V7_ILP32_OFF32___433 = 237,
    _SC_V7_ILP32_OFFBIG___433 = 238,
    _SC_V7_LP64_OFF64___433 = 239,
    _SC_V7_LPBIG_OFFBIG___433 = 240,
    _SC_SS_REPL_MAX___433 = 241,
    _SC_TRACE_EVENT_NAME_MAX___433 = 242,
    _SC_TRACE_NAME_MAX___433 = 243,
    _SC_TRACE_SYS_MAX___433 = 244,
    _SC_TRACE_USER_EVENT_MAX___433 = 245,
    _SC_XOPEN_STREAMS___433 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___433 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___433 = 248
} ;
enum __anonenum_875524036___433 {
    _CS_PATH___433 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___433 = 1,
    _CS_GNU_LIBC_VERSION___433 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___433 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___433 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___433 = 5,
    _CS_LFS_CFLAGS___433 = 1000,
    _CS_LFS_LDFLAGS___433 = 1001,
    _CS_LFS_LIBS___433 = 1002,
    _CS_LFS_LINTFLAGS___433 = 1003,
    _CS_LFS64_CFLAGS___433 = 1004,
    _CS_LFS64_LDFLAGS___433 = 1005,
    _CS_LFS64_LIBS___433 = 1006,
    _CS_LFS64_LINTFLAGS___433 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___433 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___433 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___433 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___433 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___433 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___433 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___433 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___433 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___433 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___433 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___433 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___433 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___433 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___433 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___433 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___433 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___433 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___433 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___433 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___433 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___433 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___433 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___433 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___433 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___433 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___433 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___433 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___433 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___433 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___433 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___433 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___433 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___433 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___433 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___433 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___433 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___433 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___433 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___433 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___433 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___433 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___433 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___433 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___433 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___433 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___433 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___433 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___433 = 1147,
    _CS_V6_ENV___433 = 1148,
    _CS_V7_ENV___433 = 1149
} ;
enum __anonenum_513775621___433 {
    DT_UNKNOWN___433 = 0,
    DT_FIFO___433 = 1,
    DT_CHR___433 = 2,
    DT_DIR___433 = 4,
    DT_BLK___433 = 6,
    DT_REG___433 = 8,
    DT_LNK___433 = 10,
    DT_SOCK___433 = 12,
    DT_WHT___433 = 14
} ;
enum __anonenum_77002343___433 {
    SI_ASYNCNL___433 = -60,
    SI_TKILL___433 = -6,
    SI_SIGIO___433 = -5,
    SI_ASYNCIO___433 = -4,
    SI_MESGQ___433 = -3,
    SI_TIMER___433 = -2,
    SI_QUEUE___433 = -1,
    SI_USER___433 = 0,
    SI_KERNEL___433 = 128
} ;
enum __anonenum_131038172___433 {
    ILL_ILLOPC___433 = 1,
    ILL_ILLOPN___433 = 2,
    ILL_ILLADR___433 = 3,
    ILL_ILLTRP___433 = 4,
    ILL_PRVOPC___433 = 5,
    ILL_PRVREG___433 = 6,
    ILL_COPROC___433 = 7,
    ILL_BADSTK___433 = 8
} ;
enum __anonenum_452038093___433 {
    FPE_INTDIV___433 = 1,
    FPE_INTOVF___433 = 2,
    FPE_FLTDIV___433 = 3,
    FPE_FLTOVF___433 = 4,
    FPE_FLTUND___433 = 5,
    FPE_FLTRES___433 = 6,
    FPE_FLTINV___433 = 7,
    FPE_FLTSUB___433 = 8
} ;
enum __anonenum_30976155___433 {
    SEGV_MAPERR___433 = 1,
    SEGV_ACCERR___433 = 2,
    SEGV_BNDERR___433 = 3,
    SEGV_PKUERR___433 = 4
} ;
enum __anonenum_1036286214___433 {
    BUS_ADRALN___433 = 1,
    BUS_ADRERR___433 = 2,
    BUS_OBJERR___433 = 3,
    BUS_MCEERR_AR___433 = 4,
    BUS_MCEERR_AO___433 = 5
} ;
enum __anonenum_493465559___433 {
    TRAP_BRKPT___433 = 1,
    TRAP_TRACE___433 = 2
} ;
enum __anonenum_23175539___433 {
    CLD_EXITED___433 = 1,
    CLD_KILLED___433 = 2,
    CLD_DUMPED___433 = 3,
    CLD_TRAPPED___433 = 4,
    CLD_STOPPED___433 = 5,
    CLD_CONTINUED___433 = 6
} ;
enum __anonenum_111643124___433 {
    POLL_IN___433 = 1,
    POLL_OUT___433 = 2,
    POLL_MSG___433 = 3,
    POLL_ERR___433 = 4,
    POLL_PRI___433 = 5,
    POLL_HUP___433 = 6
} ;
enum __anonenum_852341087___433 {
    SIGEV_SIGNAL___433 = 0,
    SIGEV_NONE___433 = 1,
    SIGEV_THREAD___433 = 2,
    SIGEV_THREAD_ID___433 = 4
} ;
enum __anonenum_451154152___433 {
    REG_R8___433 = 0,
    REG_R9___433 = 1,
    REG_R10___433 = 2,
    REG_R11___433 = 3,
    REG_R12___433 = 4,
    REG_R13___433 = 5,
    REG_R14___433 = 6,
    REG_R15___433 = 7,
    REG_RDI___433 = 8,
    REG_RSI___433 = 9,
    REG_RBP___433 = 10,
    REG_RBX___433 = 11,
    REG_RDX___433 = 12,
    REG_RAX___433 = 13,
    REG_RCX___433 = 14,
    REG_RSP___433 = 15,
    REG_RIP___433 = 16,
    REG_EFL___433 = 17,
    REG_CSGSFS___433 = 18,
    REG_ERR___433 = 19,
    REG_TRAPNO___433 = 20,
    REG_OLDMASK___433 = 21,
    REG_CR2___433 = 22
} ;
enum __anonenum_57186863___433 {
    SS_ONSTACK___433 = 1,
    SS_DISABLE___433 = 2
} ;
enum __anonenum_83571709___433 {
    MSG_OOB___433 = 1,
    MSG_PEEK___433 = 2,
    MSG_DONTROUTE___433 = 4,
    MSG_TRYHARD___433 = 4,
    MSG_CTRUNC___433 = 8,
    MSG_PROXY___433 = 16,
    MSG_TRUNC___433 = 32,
    MSG_DONTWAIT___433 = 64,
    MSG_EOR___433 = 128,
    MSG_WAITALL___433 = 256,
    MSG_FIN___433 = 512,
    MSG_SYN___433 = 1024,
    MSG_CONFIRM___433 = 2048,
    MSG_RST___433 = 4096,
    MSG_ERRQUEUE___433 = 8192,
    MSG_NOSIGNAL___433 = 16384,
    MSG_MORE___433 = 32768,
    MSG_WAITFORONE___433 = 65536,
    MSG_BATCH___433 = 262144,
    MSG_ZEROCOPY___433 = 67108864,
    MSG_FASTOPEN___433 = 536870912,
    MSG_CMSG_CLOEXEC___433 = 1073741824
} ;
enum __anonenum_617082774___433 {
    SCM_RIGHTS___433 = 1,
    SCM_CREDENTIALS___433 = 2
} ;
enum __anonenum_606441560___433 {
    SHUT_RD___433 = 0,
    SHUT_WR___433 = 1,
    SHUT_RDWR___433 = 2
} ;
enum __anonenum_681669233___433 {
    IPPROTO_IP___433 = 0,
    IPPROTO_ICMP___433 = 1,
    IPPROTO_IGMP___433 = 2,
    IPPROTO_IPIP___433 = 4,
    IPPROTO_TCP___433 = 6,
    IPPROTO_EGP___433 = 8,
    IPPROTO_PUP___433 = 12,
    IPPROTO_UDP___433 = 17,
    IPPROTO_IDP___433 = 22,
    IPPROTO_TP___433 = 29,
    IPPROTO_DCCP___433 = 33,
    IPPROTO_IPV6___433 = 41,
    IPPROTO_RSVP___433 = 46,
    IPPROTO_GRE___433 = 47,
    IPPROTO_ESP___433 = 50,
    IPPROTO_AH___433 = 51,
    IPPROTO_MTP___433 = 92,
    IPPROTO_BEETPH___433 = 94,
    IPPROTO_ENCAP___433 = 98,
    IPPROTO_PIM___433 = 103,
    IPPROTO_COMP___433 = 108,
    IPPROTO_SCTP___433 = 132,
    IPPROTO_UDPLITE___433 = 136,
    IPPROTO_MPLS___433 = 137,
    IPPROTO_RAW___433 = 255,
    IPPROTO_MAX___433 = 256
} ;
enum __anonenum_218739988___433 {
    IPPROTO_HOPOPTS___433 = 0,
    IPPROTO_ROUTING___433 = 43,
    IPPROTO_FRAGMENT___433 = 44,
    IPPROTO_ICMPV6___433 = 58,
    IPPROTO_NONE___433 = 59,
    IPPROTO_DSTOPTS___433 = 60,
    IPPROTO_MH___433 = 135
} ;
enum __anonenum_662268580___433 {
    IPPORT_ECHO___433 = 7,
    IPPORT_DISCARD___433 = 9,
    IPPORT_SYSTAT___433 = 11,
    IPPORT_DAYTIME___433 = 13,
    IPPORT_NETSTAT___433 = 15,
    IPPORT_FTP___433 = 21,
    IPPORT_TELNET___433 = 23,
    IPPORT_SMTP___433 = 25,
    IPPORT_TIMESERVER___433 = 37,
    IPPORT_NAMESERVER___433 = 42,
    IPPORT_WHOIS___433 = 43,
    IPPORT_MTP___433 = 57,
    IPPORT_TFTP___433 = 69,
    IPPORT_RJE___433 = 77,
    IPPORT_FINGER___433 = 79,
    IPPORT_TTYLINK___433 = 87,
    IPPORT_SUPDUP___433 = 95,
    IPPORT_EXECSERVER___433 = 512,
    IPPORT_LOGINSERVER___433 = 513,
    IPPORT_CMDSERVER___433 = 514,
    IPPORT_EFSSERVER___433 = 520,
    IPPORT_BIFFUDP___433 = 512,
    IPPORT_WHOSERVER___433 = 513,
    IPPORT_ROUTESERVER___433 = 520,
    IPPORT_RESERVED___433 = 1024,
    IPPORT_USERRESERVED___433 = 5000
} ;
enum __anonenum_788308992___433 {
    TCP_ESTABLISHED___433 = 1,
    TCP_SYN_SENT___433 = 2,
    TCP_SYN_RECV___433 = 3,
    TCP_FIN_WAIT1___433 = 4,
    TCP_FIN_WAIT2___433 = 5,
    TCP_TIME_WAIT___433 = 6,
    TCP_CLOSE___433 = 7,
    TCP_CLOSE_WAIT___433 = 8,
    TCP_LAST_ACK___433 = 9,
    TCP_LISTEN___433 = 10,
    TCP_CLOSING___433 = 11
} ;
enum __anonenum_221125648___433 {
    TCP_NO_QUEUE___433 = 0,
    TCP_RECV_QUEUE___433 = 1,
    TCP_SEND_QUEUE___433 = 2,
    TCP_QUEUES_NR___433 = 3
} ;
enum __anonenum_34415463___433 {
    PTHREAD_CREATE_JOINABLE___433 = 0,
    PTHREAD_CREATE_DETACHED___433 = 1
} ;
enum __anonenum_303612439___433 {
    PTHREAD_MUTEX_TIMED_NP___433 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___433 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___433 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___433 = 3,
    PTHREAD_MUTEX_NORMAL___433 = 0,
    PTHREAD_MUTEX_RECURSIVE___433 = 1,
    PTHREAD_MUTEX_ERRORCHECK___433 = 2,
    PTHREAD_MUTEX_DEFAULT___433 = 0,
    PTHREAD_MUTEX_FAST_NP___433 = 0
} ;
enum __anonenum_931900394___433 {
    PTHREAD_MUTEX_STALLED___433 = 0,
    PTHREAD_MUTEX_STALLED_NP___433 = 0,
    PTHREAD_MUTEX_ROBUST___433 = 1,
    PTHREAD_MUTEX_ROBUST_NP___433 = 1
} ;
enum __anonenum_205214487___433 {
    PTHREAD_PRIO_NONE___433 = 0,
    PTHREAD_PRIO_INHERIT___433 = 1,
    PTHREAD_PRIO_PROTECT___433 = 2
} ;
enum __anonenum_25043950___433 {
    PTHREAD_RWLOCK_PREFER_READER_NP___433 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___433 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___433 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___433 = 0
} ;
enum __anonenum_436439511___433 {
    PTHREAD_INHERIT_SCHED___433 = 0,
    PTHREAD_EXPLICIT_SCHED___433 = 1
} ;
enum __anonenum_998661166___433 {
    PTHREAD_SCOPE_SYSTEM___433 = 0,
    PTHREAD_SCOPE_PROCESS___433 = 1
} ;
enum __anonenum_146137331___433 {
    PTHREAD_PROCESS_PRIVATE___433 = 0,
    PTHREAD_PROCESS_SHARED___433 = 1
} ;
enum __anonenum_53396917___433 {
    PTHREAD_CANCEL_ENABLE___433 = 0,
    PTHREAD_CANCEL_DISABLE___433 = 1
} ;
enum __anonenum_904563783___433 {
    PTHREAD_CANCEL_DEFERRED___433 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___433 = 1
} ;
enum __anonenum_672052974___433 {
    SSL_CT_VALIDATION_PERMISSIVE___433 = 0,
    SSL_CT_VALIDATION_STRICT___433 = 1
} ;
struct test_entry___0 {
   struct oidmap_entry entry ;
   char name[] ;
};
enum __anonenum_437032235___434 {
    _PC_LINK_MAX___434 = 0,
    _PC_MAX_CANON___434 = 1,
    _PC_MAX_INPUT___434 = 2,
    _PC_NAME_MAX___434 = 3,
    _PC_PATH_MAX___434 = 4,
    _PC_PIPE_BUF___434 = 5,
    _PC_CHOWN_RESTRICTED___434 = 6,
    _PC_NO_TRUNC___434 = 7,
    _PC_VDISABLE___434 = 8,
    _PC_SYNC_IO___434 = 9,
    _PC_ASYNC_IO___434 = 10,
    _PC_PRIO_IO___434 = 11,
    _PC_SOCK_MAXBUF___434 = 12,
    _PC_FILESIZEBITS___434 = 13,
    _PC_REC_INCR_XFER_SIZE___434 = 14,
    _PC_REC_MAX_XFER_SIZE___434 = 15,
    _PC_REC_MIN_XFER_SIZE___434 = 16,
    _PC_REC_XFER_ALIGN___434 = 17,
    _PC_ALLOC_SIZE_MIN___434 = 18,
    _PC_SYMLINK_MAX___434 = 19,
    _PC_2_SYMLINKS___434 = 20
} ;
enum __anonenum_315186338___434 {
    _SC_ARG_MAX___434 = 0,
    _SC_CHILD_MAX___434 = 1,
    _SC_CLK_TCK___434 = 2,
    _SC_NGROUPS_MAX___434 = 3,
    _SC_OPEN_MAX___434 = 4,
    _SC_STREAM_MAX___434 = 5,
    _SC_TZNAME_MAX___434 = 6,
    _SC_JOB_CONTROL___434 = 7,
    _SC_SAVED_IDS___434 = 8,
    _SC_REALTIME_SIGNALS___434 = 9,
    _SC_PRIORITY_SCHEDULING___434 = 10,
    _SC_TIMERS___434 = 11,
    _SC_ASYNCHRONOUS_IO___434 = 12,
    _SC_PRIORITIZED_IO___434 = 13,
    _SC_SYNCHRONIZED_IO___434 = 14,
    _SC_FSYNC___434 = 15,
    _SC_MAPPED_FILES___434 = 16,
    _SC_MEMLOCK___434 = 17,
    _SC_MEMLOCK_RANGE___434 = 18,
    _SC_MEMORY_PROTECTION___434 = 19,
    _SC_MESSAGE_PASSING___434 = 20,
    _SC_SEMAPHORES___434 = 21,
    _SC_SHARED_MEMORY_OBJECTS___434 = 22,
    _SC_AIO_LISTIO_MAX___434 = 23,
    _SC_AIO_MAX___434 = 24,
    _SC_AIO_PRIO_DELTA_MAX___434 = 25,
    _SC_DELAYTIMER_MAX___434 = 26,
    _SC_MQ_OPEN_MAX___434 = 27,
    _SC_MQ_PRIO_MAX___434 = 28,
    _SC_VERSION___434 = 29,
    _SC_PAGESIZE___434 = 30,
    _SC_RTSIG_MAX___434 = 31,
    _SC_SEM_NSEMS_MAX___434 = 32,
    _SC_SEM_VALUE_MAX___434 = 33,
    _SC_SIGQUEUE_MAX___434 = 34,
    _SC_TIMER_MAX___434 = 35,
    _SC_BC_BASE_MAX___434 = 36,
    _SC_BC_DIM_MAX___434 = 37,
    _SC_BC_SCALE_MAX___434 = 38,
    _SC_BC_STRING_MAX___434 = 39,
    _SC_COLL_WEIGHTS_MAX___434 = 40,
    _SC_EQUIV_CLASS_MAX___434 = 41,
    _SC_EXPR_NEST_MAX___434 = 42,
    _SC_LINE_MAX___434 = 43,
    _SC_RE_DUP_MAX___434 = 44,
    _SC_CHARCLASS_NAME_MAX___434 = 45,
    _SC_2_VERSION___434 = 46,
    _SC_2_C_BIND___434 = 47,
    _SC_2_C_DEV___434 = 48,
    _SC_2_FORT_DEV___434 = 49,
    _SC_2_FORT_RUN___434 = 50,
    _SC_2_SW_DEV___434 = 51,
    _SC_2_LOCALEDEF___434 = 52,
    _SC_PII___434 = 53,
    _SC_PII_XTI___434 = 54,
    _SC_PII_SOCKET___434 = 55,
    _SC_PII_INTERNET___434 = 56,
    _SC_PII_OSI___434 = 57,
    _SC_POLL___434 = 58,
    _SC_SELECT___434 = 59,
    _SC_UIO_MAXIOV___434 = 60,
    _SC_IOV_MAX___434 = 60,
    _SC_PII_INTERNET_STREAM___434 = 61,
    _SC_PII_INTERNET_DGRAM___434 = 62,
    _SC_PII_OSI_COTS___434 = 63,
    _SC_PII_OSI_CLTS___434 = 64,
    _SC_PII_OSI_M___434 = 65,
    _SC_T_IOV_MAX___434 = 66,
    _SC_THREADS___434 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___434 = 68,
    _SC_GETGR_R_SIZE_MAX___434 = 69,
    _SC_GETPW_R_SIZE_MAX___434 = 70,
    _SC_LOGIN_NAME_MAX___434 = 71,
    _SC_TTY_NAME_MAX___434 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___434 = 73,
    _SC_THREAD_KEYS_MAX___434 = 74,
    _SC_THREAD_STACK_MIN___434 = 75,
    _SC_THREAD_THREADS_MAX___434 = 76,
    _SC_THREAD_ATTR_STACKADDR___434 = 77,
    _SC_THREAD_ATTR_STACKSIZE___434 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___434 = 79,
    _SC_THREAD_PRIO_INHERIT___434 = 80,
    _SC_THREAD_PRIO_PROTECT___434 = 81,
    _SC_THREAD_PROCESS_SHARED___434 = 82,
    _SC_NPROCESSORS_CONF___434 = 83,
    _SC_NPROCESSORS_ONLN___434 = 84,
    _SC_PHYS_PAGES___434 = 85,
    _SC_AVPHYS_PAGES___434 = 86,
    _SC_ATEXIT_MAX___434 = 87,
    _SC_PASS_MAX___434 = 88,
    _SC_XOPEN_VERSION___434 = 89,
    _SC_XOPEN_XCU_VERSION___434 = 90,
    _SC_XOPEN_UNIX___434 = 91,
    _SC_XOPEN_CRYPT___434 = 92,
    _SC_XOPEN_ENH_I18N___434 = 93,
    _SC_XOPEN_SHM___434 = 94,
    _SC_2_CHAR_TERM___434 = 95,
    _SC_2_C_VERSION___434 = 96,
    _SC_2_UPE___434 = 97,
    _SC_XOPEN_XPG2___434 = 98,
    _SC_XOPEN_XPG3___434 = 99,
    _SC_XOPEN_XPG4___434 = 100,
    _SC_CHAR_BIT___434 = 101,
    _SC_CHAR_MAX___434 = 102,
    _SC_CHAR_MIN___434 = 103,
    _SC_INT_MAX___434 = 104,
    _SC_INT_MIN___434 = 105,
    _SC_LONG_BIT___434 = 106,
    _SC_WORD_BIT___434 = 107,
    _SC_MB_LEN_MAX___434 = 108,
    _SC_NZERO___434 = 109,
    _SC_SSIZE_MAX___434 = 110,
    _SC_SCHAR_MAX___434 = 111,
    _SC_SCHAR_MIN___434 = 112,
    _SC_SHRT_MAX___434 = 113,
    _SC_SHRT_MIN___434 = 114,
    _SC_UCHAR_MAX___434 = 115,
    _SC_UINT_MAX___434 = 116,
    _SC_ULONG_MAX___434 = 117,
    _SC_USHRT_MAX___434 = 118,
    _SC_NL_ARGMAX___434 = 119,
    _SC_NL_LANGMAX___434 = 120,
    _SC_NL_MSGMAX___434 = 121,
    _SC_NL_NMAX___434 = 122,
    _SC_NL_SETMAX___434 = 123,
    _SC_NL_TEXTMAX___434 = 124,
    _SC_XBS5_ILP32_OFF32___434 = 125,
    _SC_XBS5_ILP32_OFFBIG___434 = 126,
    _SC_XBS5_LP64_OFF64___434 = 127,
    _SC_XBS5_LPBIG_OFFBIG___434 = 128,
    _SC_XOPEN_LEGACY___434 = 129,
    _SC_XOPEN_REALTIME___434 = 130,
    _SC_XOPEN_REALTIME_THREADS___434 = 131,
    _SC_ADVISORY_INFO___434 = 132,
    _SC_BARRIERS___434 = 133,
    _SC_BASE___434 = 134,
    _SC_C_LANG_SUPPORT___434 = 135,
    _SC_C_LANG_SUPPORT_R___434 = 136,
    _SC_CLOCK_SELECTION___434 = 137,
    _SC_CPUTIME___434 = 138,
    _SC_THREAD_CPUTIME___434 = 139,
    _SC_DEVICE_IO___434 = 140,
    _SC_DEVICE_SPECIFIC___434 = 141,
    _SC_DEVICE_SPECIFIC_R___434 = 142,
    _SC_FD_MGMT___434 = 143,
    _SC_FIFO___434 = 144,
    _SC_PIPE___434 = 145,
    _SC_FILE_ATTRIBUTES___434 = 146,
    _SC_FILE_LOCKING___434 = 147,
    _SC_FILE_SYSTEM___434 = 148,
    _SC_MONOTONIC_CLOCK___434 = 149,
    _SC_MULTI_PROCESS___434 = 150,
    _SC_SINGLE_PROCESS___434 = 151,
    _SC_NETWORKING___434 = 152,
    _SC_READER_WRITER_LOCKS___434 = 153,
    _SC_SPIN_LOCKS___434 = 154,
    _SC_REGEXP___434 = 155,
    _SC_REGEX_VERSION___434 = 156,
    _SC_SHELL___434 = 157,
    _SC_SIGNALS___434 = 158,
    _SC_SPAWN___434 = 159,
    _SC_SPORADIC_SERVER___434 = 160,
    _SC_THREAD_SPORADIC_SERVER___434 = 161,
    _SC_SYSTEM_DATABASE___434 = 162,
    _SC_SYSTEM_DATABASE_R___434 = 163,
    _SC_TIMEOUTS___434 = 164,
    _SC_TYPED_MEMORY_OBJECTS___434 = 165,
    _SC_USER_GROUPS___434 = 166,
    _SC_USER_GROUPS_R___434 = 167,
    _SC_2_PBS___434 = 168,
    _SC_2_PBS_ACCOUNTING___434 = 169,
    _SC_2_PBS_LOCATE___434 = 170,
    _SC_2_PBS_MESSAGE___434 = 171,
    _SC_2_PBS_TRACK___434 = 172,
    _SC_SYMLOOP_MAX___434 = 173,
    _SC_STREAMS___434 = 174,
    _SC_2_PBS_CHECKPOINT___434 = 175,
    _SC_V6_ILP32_OFF32___434 = 176,
    _SC_V6_ILP32_OFFBIG___434 = 177,
    _SC_V6_LP64_OFF64___434 = 178,
    _SC_V6_LPBIG_OFFBIG___434 = 179,
    _SC_HOST_NAME_MAX___434 = 180,
    _SC_TRACE___434 = 181,
    _SC_TRACE_EVENT_FILTER___434 = 182,
    _SC_TRACE_INHERIT___434 = 183,
    _SC_TRACE_LOG___434 = 184,
    _SC_LEVEL1_ICACHE_SIZE___434 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___434 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___434 = 187,
    _SC_LEVEL1_DCACHE_SIZE___434 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___434 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___434 = 190,
    _SC_LEVEL2_CACHE_SIZE___434 = 191,
    _SC_LEVEL2_CACHE_ASSOC___434 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___434 = 193,
    _SC_LEVEL3_CACHE_SIZE___434 = 194,
    _SC_LEVEL3_CACHE_ASSOC___434 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___434 = 196,
    _SC_LEVEL4_CACHE_SIZE___434 = 197,
    _SC_LEVEL4_CACHE_ASSOC___434 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___434 = 199,
    _SC_IPV6___434 = 235,
    _SC_RAW_SOCKETS___434 = 236,
    _SC_V7_ILP32_OFF32___434 = 237,
    _SC_V7_ILP32_OFFBIG___434 = 238,
    _SC_V7_LP64_OFF64___434 = 239,
    _SC_V7_LPBIG_OFFBIG___434 = 240,
    _SC_SS_REPL_MAX___434 = 241,
    _SC_TRACE_EVENT_NAME_MAX___434 = 242,
    _SC_TRACE_NAME_MAX___434 = 243,
    _SC_TRACE_SYS_MAX___434 = 244,
    _SC_TRACE_USER_EVENT_MAX___434 = 245,
    _SC_XOPEN_STREAMS___434 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___434 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___434 = 248
} ;
enum __anonenum_875524036___434 {
    _CS_PATH___434 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___434 = 1,
    _CS_GNU_LIBC_VERSION___434 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___434 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___434 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___434 = 5,
    _CS_LFS_CFLAGS___434 = 1000,
    _CS_LFS_LDFLAGS___434 = 1001,
    _CS_LFS_LIBS___434 = 1002,
    _CS_LFS_LINTFLAGS___434 = 1003,
    _CS_LFS64_CFLAGS___434 = 1004,
    _CS_LFS64_LDFLAGS___434 = 1005,
    _CS_LFS64_LIBS___434 = 1006,
    _CS_LFS64_LINTFLAGS___434 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___434 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___434 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___434 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___434 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___434 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___434 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___434 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___434 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___434 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___434 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___434 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___434 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___434 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___434 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___434 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___434 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___434 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___434 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___434 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___434 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___434 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___434 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___434 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___434 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___434 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___434 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___434 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___434 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___434 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___434 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___434 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___434 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___434 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___434 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___434 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___434 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___434 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___434 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___434 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___434 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___434 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___434 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___434 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___434 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___434 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___434 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___434 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___434 = 1147,
    _CS_V6_ENV___434 = 1148,
    _CS_V7_ENV___434 = 1149
} ;
enum __anonenum_513775621___434 {
    DT_UNKNOWN___434 = 0,
    DT_FIFO___434 = 1,
    DT_CHR___434 = 2,
    DT_DIR___434 = 4,
    DT_BLK___434 = 6,
    DT_REG___434 = 8,
    DT_LNK___434 = 10,
    DT_SOCK___434 = 12,
    DT_WHT___434 = 14
} ;
enum __anonenum_77002343___434 {
    SI_ASYNCNL___434 = -60,
    SI_TKILL___434 = -6,
    SI_SIGIO___434 = -5,
    SI_ASYNCIO___434 = -4,
    SI_MESGQ___434 = -3,
    SI_TIMER___434 = -2,
    SI_QUEUE___434 = -1,
    SI_USER___434 = 0,
    SI_KERNEL___434 = 128
} ;
enum __anonenum_131038172___434 {
    ILL_ILLOPC___434 = 1,
    ILL_ILLOPN___434 = 2,
    ILL_ILLADR___434 = 3,
    ILL_ILLTRP___434 = 4,
    ILL_PRVOPC___434 = 5,
    ILL_PRVREG___434 = 6,
    ILL_COPROC___434 = 7,
    ILL_BADSTK___434 = 8
} ;
enum __anonenum_452038093___434 {
    FPE_INTDIV___434 = 1,
    FPE_INTOVF___434 = 2,
    FPE_FLTDIV___434 = 3,
    FPE_FLTOVF___434 = 4,
    FPE_FLTUND___434 = 5,
    FPE_FLTRES___434 = 6,
    FPE_FLTINV___434 = 7,
    FPE_FLTSUB___434 = 8
} ;
enum __anonenum_30976155___434 {
    SEGV_MAPERR___434 = 1,
    SEGV_ACCERR___434 = 2,
    SEGV_BNDERR___434 = 3,
    SEGV_PKUERR___434 = 4
} ;
enum __anonenum_1036286214___434 {
    BUS_ADRALN___434 = 1,
    BUS_ADRERR___434 = 2,
    BUS_OBJERR___434 = 3,
    BUS_MCEERR_AR___434 = 4,
    BUS_MCEERR_AO___434 = 5
} ;
enum __anonenum_493465559___434 {
    TRAP_BRKPT___434 = 1,
    TRAP_TRACE___434 = 2
} ;
enum __anonenum_23175539___434 {
    CLD_EXITED___434 = 1,
    CLD_KILLED___434 = 2,
    CLD_DUMPED___434 = 3,
    CLD_TRAPPED___434 = 4,
    CLD_STOPPED___434 = 5,
    CLD_CONTINUED___434 = 6
} ;
enum __anonenum_111643124___434 {
    POLL_IN___434 = 1,
    POLL_OUT___434 = 2,
    POLL_MSG___434 = 3,
    POLL_ERR___434 = 4,
    POLL_PRI___434 = 5,
    POLL_HUP___434 = 6
} ;
enum __anonenum_852341087___434 {
    SIGEV_SIGNAL___434 = 0,
    SIGEV_NONE___434 = 1,
    SIGEV_THREAD___434 = 2,
    SIGEV_THREAD_ID___434 = 4
} ;
enum __anonenum_451154152___434 {
    REG_R8___434 = 0,
    REG_R9___434 = 1,
    REG_R10___434 = 2,
    REG_R11___434 = 3,
    REG_R12___434 = 4,
    REG_R13___434 = 5,
    REG_R14___434 = 6,
    REG_R15___434 = 7,
    REG_RDI___434 = 8,
    REG_RSI___434 = 9,
    REG_RBP___434 = 10,
    REG_RBX___434 = 11,
    REG_RDX___434 = 12,
    REG_RAX___434 = 13,
    REG_RCX___434 = 14,
    REG_RSP___434 = 15,
    REG_RIP___434 = 16,
    REG_EFL___434 = 17,
    REG_CSGSFS___434 = 18,
    REG_ERR___434 = 19,
    REG_TRAPNO___434 = 20,
    REG_OLDMASK___434 = 21,
    REG_CR2___434 = 22
} ;
enum __anonenum_57186863___434 {
    SS_ONSTACK___434 = 1,
    SS_DISABLE___434 = 2
} ;
enum __anonenum_83571709___434 {
    MSG_OOB___434 = 1,
    MSG_PEEK___434 = 2,
    MSG_DONTROUTE___434 = 4,
    MSG_TRYHARD___434 = 4,
    MSG_CTRUNC___434 = 8,
    MSG_PROXY___434 = 16,
    MSG_TRUNC___434 = 32,
    MSG_DONTWAIT___434 = 64,
    MSG_EOR___434 = 128,
    MSG_WAITALL___434 = 256,
    MSG_FIN___434 = 512,
    MSG_SYN___434 = 1024,
    MSG_CONFIRM___434 = 2048,
    MSG_RST___434 = 4096,
    MSG_ERRQUEUE___434 = 8192,
    MSG_NOSIGNAL___434 = 16384,
    MSG_MORE___434 = 32768,
    MSG_WAITFORONE___434 = 65536,
    MSG_BATCH___434 = 262144,
    MSG_ZEROCOPY___434 = 67108864,
    MSG_FASTOPEN___434 = 536870912,
    MSG_CMSG_CLOEXEC___434 = 1073741824
} ;
enum __anonenum_617082774___434 {
    SCM_RIGHTS___434 = 1,
    SCM_CREDENTIALS___434 = 2
} ;
enum __anonenum_606441560___434 {
    SHUT_RD___434 = 0,
    SHUT_WR___434 = 1,
    SHUT_RDWR___434 = 2
} ;
enum __anonenum_681669233___434 {
    IPPROTO_IP___434 = 0,
    IPPROTO_ICMP___434 = 1,
    IPPROTO_IGMP___434 = 2,
    IPPROTO_IPIP___434 = 4,
    IPPROTO_TCP___434 = 6,
    IPPROTO_EGP___434 = 8,
    IPPROTO_PUP___434 = 12,
    IPPROTO_UDP___434 = 17,
    IPPROTO_IDP___434 = 22,
    IPPROTO_TP___434 = 29,
    IPPROTO_DCCP___434 = 33,
    IPPROTO_IPV6___434 = 41,
    IPPROTO_RSVP___434 = 46,
    IPPROTO_GRE___434 = 47,
    IPPROTO_ESP___434 = 50,
    IPPROTO_AH___434 = 51,
    IPPROTO_MTP___434 = 92,
    IPPROTO_BEETPH___434 = 94,
    IPPROTO_ENCAP___434 = 98,
    IPPROTO_PIM___434 = 103,
    IPPROTO_COMP___434 = 108,
    IPPROTO_SCTP___434 = 132,
    IPPROTO_UDPLITE___434 = 136,
    IPPROTO_MPLS___434 = 137,
    IPPROTO_RAW___434 = 255,
    IPPROTO_MAX___434 = 256
} ;
enum __anonenum_218739988___434 {
    IPPROTO_HOPOPTS___434 = 0,
    IPPROTO_ROUTING___434 = 43,
    IPPROTO_FRAGMENT___434 = 44,
    IPPROTO_ICMPV6___434 = 58,
    IPPROTO_NONE___434 = 59,
    IPPROTO_DSTOPTS___434 = 60,
    IPPROTO_MH___434 = 135
} ;
enum __anonenum_662268580___434 {
    IPPORT_ECHO___434 = 7,
    IPPORT_DISCARD___434 = 9,
    IPPORT_SYSTAT___434 = 11,
    IPPORT_DAYTIME___434 = 13,
    IPPORT_NETSTAT___434 = 15,
    IPPORT_FTP___434 = 21,
    IPPORT_TELNET___434 = 23,
    IPPORT_SMTP___434 = 25,
    IPPORT_TIMESERVER___434 = 37,
    IPPORT_NAMESERVER___434 = 42,
    IPPORT_WHOIS___434 = 43,
    IPPORT_MTP___434 = 57,
    IPPORT_TFTP___434 = 69,
    IPPORT_RJE___434 = 77,
    IPPORT_FINGER___434 = 79,
    IPPORT_TTYLINK___434 = 87,
    IPPORT_SUPDUP___434 = 95,
    IPPORT_EXECSERVER___434 = 512,
    IPPORT_LOGINSERVER___434 = 513,
    IPPORT_CMDSERVER___434 = 514,
    IPPORT_EFSSERVER___434 = 520,
    IPPORT_BIFFUDP___434 = 512,
    IPPORT_WHOSERVER___434 = 513,
    IPPORT_ROUTESERVER___434 = 520,
    IPPORT_RESERVED___434 = 1024,
    IPPORT_USERRESERVED___434 = 5000
} ;
enum __anonenum_788308992___434 {
    TCP_ESTABLISHED___434 = 1,
    TCP_SYN_SENT___434 = 2,
    TCP_SYN_RECV___434 = 3,
    TCP_FIN_WAIT1___434 = 4,
    TCP_FIN_WAIT2___434 = 5,
    TCP_TIME_WAIT___434 = 6,
    TCP_CLOSE___434 = 7,
    TCP_CLOSE_WAIT___434 = 8,
    TCP_LAST_ACK___434 = 9,
    TCP_LISTEN___434 = 10,
    TCP_CLOSING___434 = 11
} ;
enum __anonenum_221125648___434 {
    TCP_NO_QUEUE___434 = 0,
    TCP_RECV_QUEUE___434 = 1,
    TCP_SEND_QUEUE___434 = 2,
    TCP_QUEUES_NR___434 = 3
} ;
enum __anonenum_34415463___434 {
    PTHREAD_CREATE_JOINABLE___434 = 0,
    PTHREAD_CREATE_DETACHED___434 = 1
} ;
enum __anonenum_303612439___434 {
    PTHREAD_MUTEX_TIMED_NP___434 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___434 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___434 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___434 = 3,
    PTHREAD_MUTEX_NORMAL___434 = 0,
    PTHREAD_MUTEX_RECURSIVE___434 = 1,
    PTHREAD_MUTEX_ERRORCHECK___434 = 2,
    PTHREAD_MUTEX_DEFAULT___434 = 0,
    PTHREAD_MUTEX_FAST_NP___434 = 0
} ;
enum __anonenum_931900394___434 {
    PTHREAD_MUTEX_STALLED___434 = 0,
    PTHREAD_MUTEX_STALLED_NP___434 = 0,
    PTHREAD_MUTEX_ROBUST___434 = 1,
    PTHREAD_MUTEX_ROBUST_NP___434 = 1
} ;
enum __anonenum_205214487___434 {
    PTHREAD_PRIO_NONE___434 = 0,
    PTHREAD_PRIO_INHERIT___434 = 1,
    PTHREAD_PRIO_PROTECT___434 = 2
} ;
enum __anonenum_25043950___434 {
    PTHREAD_RWLOCK_PREFER_READER_NP___434 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___434 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___434 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___434 = 0
} ;
enum __anonenum_436439511___434 {
    PTHREAD_INHERIT_SCHED___434 = 0,
    PTHREAD_EXPLICIT_SCHED___434 = 1
} ;
enum __anonenum_998661166___434 {
    PTHREAD_SCOPE_SYSTEM___434 = 0,
    PTHREAD_SCOPE_PROCESS___434 = 1
} ;
enum __anonenum_146137331___434 {
    PTHREAD_PROCESS_PRIVATE___434 = 0,
    PTHREAD_PROCESS_SHARED___434 = 1
} ;
enum __anonenum_53396917___434 {
    PTHREAD_CANCEL_ENABLE___434 = 0,
    PTHREAD_CANCEL_DISABLE___434 = 1
} ;
enum __anonenum_904563783___434 {
    PTHREAD_CANCEL_DEFERRED___434 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___434 = 1
} ;
enum __anonenum_672052974___434 {
    SSL_CT_VALIDATION_PERMISSIVE___434 = 0,
    SSL_CT_VALIDATION_STRICT___434 = 1
} ;
enum __anonenum_437032235___435 {
    _PC_LINK_MAX___435 = 0,
    _PC_MAX_CANON___435 = 1,
    _PC_MAX_INPUT___435 = 2,
    _PC_NAME_MAX___435 = 3,
    _PC_PATH_MAX___435 = 4,
    _PC_PIPE_BUF___435 = 5,
    _PC_CHOWN_RESTRICTED___435 = 6,
    _PC_NO_TRUNC___435 = 7,
    _PC_VDISABLE___435 = 8,
    _PC_SYNC_IO___435 = 9,
    _PC_ASYNC_IO___435 = 10,
    _PC_PRIO_IO___435 = 11,
    _PC_SOCK_MAXBUF___435 = 12,
    _PC_FILESIZEBITS___435 = 13,
    _PC_REC_INCR_XFER_SIZE___435 = 14,
    _PC_REC_MAX_XFER_SIZE___435 = 15,
    _PC_REC_MIN_XFER_SIZE___435 = 16,
    _PC_REC_XFER_ALIGN___435 = 17,
    _PC_ALLOC_SIZE_MIN___435 = 18,
    _PC_SYMLINK_MAX___435 = 19,
    _PC_2_SYMLINKS___435 = 20
} ;
enum __anonenum_315186338___435 {
    _SC_ARG_MAX___435 = 0,
    _SC_CHILD_MAX___435 = 1,
    _SC_CLK_TCK___435 = 2,
    _SC_NGROUPS_MAX___435 = 3,
    _SC_OPEN_MAX___435 = 4,
    _SC_STREAM_MAX___435 = 5,
    _SC_TZNAME_MAX___435 = 6,
    _SC_JOB_CONTROL___435 = 7,
    _SC_SAVED_IDS___435 = 8,
    _SC_REALTIME_SIGNALS___435 = 9,
    _SC_PRIORITY_SCHEDULING___435 = 10,
    _SC_TIMERS___435 = 11,
    _SC_ASYNCHRONOUS_IO___435 = 12,
    _SC_PRIORITIZED_IO___435 = 13,
    _SC_SYNCHRONIZED_IO___435 = 14,
    _SC_FSYNC___435 = 15,
    _SC_MAPPED_FILES___435 = 16,
    _SC_MEMLOCK___435 = 17,
    _SC_MEMLOCK_RANGE___435 = 18,
    _SC_MEMORY_PROTECTION___435 = 19,
    _SC_MESSAGE_PASSING___435 = 20,
    _SC_SEMAPHORES___435 = 21,
    _SC_SHARED_MEMORY_OBJECTS___435 = 22,
    _SC_AIO_LISTIO_MAX___435 = 23,
    _SC_AIO_MAX___435 = 24,
    _SC_AIO_PRIO_DELTA_MAX___435 = 25,
    _SC_DELAYTIMER_MAX___435 = 26,
    _SC_MQ_OPEN_MAX___435 = 27,
    _SC_MQ_PRIO_MAX___435 = 28,
    _SC_VERSION___435 = 29,
    _SC_PAGESIZE___435 = 30,
    _SC_RTSIG_MAX___435 = 31,
    _SC_SEM_NSEMS_MAX___435 = 32,
    _SC_SEM_VALUE_MAX___435 = 33,
    _SC_SIGQUEUE_MAX___435 = 34,
    _SC_TIMER_MAX___435 = 35,
    _SC_BC_BASE_MAX___435 = 36,
    _SC_BC_DIM_MAX___435 = 37,
    _SC_BC_SCALE_MAX___435 = 38,
    _SC_BC_STRING_MAX___435 = 39,
    _SC_COLL_WEIGHTS_MAX___435 = 40,
    _SC_EQUIV_CLASS_MAX___435 = 41,
    _SC_EXPR_NEST_MAX___435 = 42,
    _SC_LINE_MAX___435 = 43,
    _SC_RE_DUP_MAX___435 = 44,
    _SC_CHARCLASS_NAME_MAX___435 = 45,
    _SC_2_VERSION___435 = 46,
    _SC_2_C_BIND___435 = 47,
    _SC_2_C_DEV___435 = 48,
    _SC_2_FORT_DEV___435 = 49,
    _SC_2_FORT_RUN___435 = 50,
    _SC_2_SW_DEV___435 = 51,
    _SC_2_LOCALEDEF___435 = 52,
    _SC_PII___435 = 53,
    _SC_PII_XTI___435 = 54,
    _SC_PII_SOCKET___435 = 55,
    _SC_PII_INTERNET___435 = 56,
    _SC_PII_OSI___435 = 57,
    _SC_POLL___435 = 58,
    _SC_SELECT___435 = 59,
    _SC_UIO_MAXIOV___435 = 60,
    _SC_IOV_MAX___435 = 60,
    _SC_PII_INTERNET_STREAM___435 = 61,
    _SC_PII_INTERNET_DGRAM___435 = 62,
    _SC_PII_OSI_COTS___435 = 63,
    _SC_PII_OSI_CLTS___435 = 64,
    _SC_PII_OSI_M___435 = 65,
    _SC_T_IOV_MAX___435 = 66,
    _SC_THREADS___435 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___435 = 68,
    _SC_GETGR_R_SIZE_MAX___435 = 69,
    _SC_GETPW_R_SIZE_MAX___435 = 70,
    _SC_LOGIN_NAME_MAX___435 = 71,
    _SC_TTY_NAME_MAX___435 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___435 = 73,
    _SC_THREAD_KEYS_MAX___435 = 74,
    _SC_THREAD_STACK_MIN___435 = 75,
    _SC_THREAD_THREADS_MAX___435 = 76,
    _SC_THREAD_ATTR_STACKADDR___435 = 77,
    _SC_THREAD_ATTR_STACKSIZE___435 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___435 = 79,
    _SC_THREAD_PRIO_INHERIT___435 = 80,
    _SC_THREAD_PRIO_PROTECT___435 = 81,
    _SC_THREAD_PROCESS_SHARED___435 = 82,
    _SC_NPROCESSORS_CONF___435 = 83,
    _SC_NPROCESSORS_ONLN___435 = 84,
    _SC_PHYS_PAGES___435 = 85,
    _SC_AVPHYS_PAGES___435 = 86,
    _SC_ATEXIT_MAX___435 = 87,
    _SC_PASS_MAX___435 = 88,
    _SC_XOPEN_VERSION___435 = 89,
    _SC_XOPEN_XCU_VERSION___435 = 90,
    _SC_XOPEN_UNIX___435 = 91,
    _SC_XOPEN_CRYPT___435 = 92,
    _SC_XOPEN_ENH_I18N___435 = 93,
    _SC_XOPEN_SHM___435 = 94,
    _SC_2_CHAR_TERM___435 = 95,
    _SC_2_C_VERSION___435 = 96,
    _SC_2_UPE___435 = 97,
    _SC_XOPEN_XPG2___435 = 98,
    _SC_XOPEN_XPG3___435 = 99,
    _SC_XOPEN_XPG4___435 = 100,
    _SC_CHAR_BIT___435 = 101,
    _SC_CHAR_MAX___435 = 102,
    _SC_CHAR_MIN___435 = 103,
    _SC_INT_MAX___435 = 104,
    _SC_INT_MIN___435 = 105,
    _SC_LONG_BIT___435 = 106,
    _SC_WORD_BIT___435 = 107,
    _SC_MB_LEN_MAX___435 = 108,
    _SC_NZERO___435 = 109,
    _SC_SSIZE_MAX___435 = 110,
    _SC_SCHAR_MAX___435 = 111,
    _SC_SCHAR_MIN___435 = 112,
    _SC_SHRT_MAX___435 = 113,
    _SC_SHRT_MIN___435 = 114,
    _SC_UCHAR_MAX___435 = 115,
    _SC_UINT_MAX___435 = 116,
    _SC_ULONG_MAX___435 = 117,
    _SC_USHRT_MAX___435 = 118,
    _SC_NL_ARGMAX___435 = 119,
    _SC_NL_LANGMAX___435 = 120,
    _SC_NL_MSGMAX___435 = 121,
    _SC_NL_NMAX___435 = 122,
    _SC_NL_SETMAX___435 = 123,
    _SC_NL_TEXTMAX___435 = 124,
    _SC_XBS5_ILP32_OFF32___435 = 125,
    _SC_XBS5_ILP32_OFFBIG___435 = 126,
    _SC_XBS5_LP64_OFF64___435 = 127,
    _SC_XBS5_LPBIG_OFFBIG___435 = 128,
    _SC_XOPEN_LEGACY___435 = 129,
    _SC_XOPEN_REALTIME___435 = 130,
    _SC_XOPEN_REALTIME_THREADS___435 = 131,
    _SC_ADVISORY_INFO___435 = 132,
    _SC_BARRIERS___435 = 133,
    _SC_BASE___435 = 134,
    _SC_C_LANG_SUPPORT___435 = 135,
    _SC_C_LANG_SUPPORT_R___435 = 136,
    _SC_CLOCK_SELECTION___435 = 137,
    _SC_CPUTIME___435 = 138,
    _SC_THREAD_CPUTIME___435 = 139,
    _SC_DEVICE_IO___435 = 140,
    _SC_DEVICE_SPECIFIC___435 = 141,
    _SC_DEVICE_SPECIFIC_R___435 = 142,
    _SC_FD_MGMT___435 = 143,
    _SC_FIFO___435 = 144,
    _SC_PIPE___435 = 145,
    _SC_FILE_ATTRIBUTES___435 = 146,
    _SC_FILE_LOCKING___435 = 147,
    _SC_FILE_SYSTEM___435 = 148,
    _SC_MONOTONIC_CLOCK___435 = 149,
    _SC_MULTI_PROCESS___435 = 150,
    _SC_SINGLE_PROCESS___435 = 151,
    _SC_NETWORKING___435 = 152,
    _SC_READER_WRITER_LOCKS___435 = 153,
    _SC_SPIN_LOCKS___435 = 154,
    _SC_REGEXP___435 = 155,
    _SC_REGEX_VERSION___435 = 156,
    _SC_SHELL___435 = 157,
    _SC_SIGNALS___435 = 158,
    _SC_SPAWN___435 = 159,
    _SC_SPORADIC_SERVER___435 = 160,
    _SC_THREAD_SPORADIC_SERVER___435 = 161,
    _SC_SYSTEM_DATABASE___435 = 162,
    _SC_SYSTEM_DATABASE_R___435 = 163,
    _SC_TIMEOUTS___435 = 164,
    _SC_TYPED_MEMORY_OBJECTS___435 = 165,
    _SC_USER_GROUPS___435 = 166,
    _SC_USER_GROUPS_R___435 = 167,
    _SC_2_PBS___435 = 168,
    _SC_2_PBS_ACCOUNTING___435 = 169,
    _SC_2_PBS_LOCATE___435 = 170,
    _SC_2_PBS_MESSAGE___435 = 171,
    _SC_2_PBS_TRACK___435 = 172,
    _SC_SYMLOOP_MAX___435 = 173,
    _SC_STREAMS___435 = 174,
    _SC_2_PBS_CHECKPOINT___435 = 175,
    _SC_V6_ILP32_OFF32___435 = 176,
    _SC_V6_ILP32_OFFBIG___435 = 177,
    _SC_V6_LP64_OFF64___435 = 178,
    _SC_V6_LPBIG_OFFBIG___435 = 179,
    _SC_HOST_NAME_MAX___435 = 180,
    _SC_TRACE___435 = 181,
    _SC_TRACE_EVENT_FILTER___435 = 182,
    _SC_TRACE_INHERIT___435 = 183,
    _SC_TRACE_LOG___435 = 184,
    _SC_LEVEL1_ICACHE_SIZE___435 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___435 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___435 = 187,
    _SC_LEVEL1_DCACHE_SIZE___435 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___435 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___435 = 190,
    _SC_LEVEL2_CACHE_SIZE___435 = 191,
    _SC_LEVEL2_CACHE_ASSOC___435 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___435 = 193,
    _SC_LEVEL3_CACHE_SIZE___435 = 194,
    _SC_LEVEL3_CACHE_ASSOC___435 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___435 = 196,
    _SC_LEVEL4_CACHE_SIZE___435 = 197,
    _SC_LEVEL4_CACHE_ASSOC___435 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___435 = 199,
    _SC_IPV6___435 = 235,
    _SC_RAW_SOCKETS___435 = 236,
    _SC_V7_ILP32_OFF32___435 = 237,
    _SC_V7_ILP32_OFFBIG___435 = 238,
    _SC_V7_LP64_OFF64___435 = 239,
    _SC_V7_LPBIG_OFFBIG___435 = 240,
    _SC_SS_REPL_MAX___435 = 241,
    _SC_TRACE_EVENT_NAME_MAX___435 = 242,
    _SC_TRACE_NAME_MAX___435 = 243,
    _SC_TRACE_SYS_MAX___435 = 244,
    _SC_TRACE_USER_EVENT_MAX___435 = 245,
    _SC_XOPEN_STREAMS___435 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___435 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___435 = 248
} ;
enum __anonenum_875524036___435 {
    _CS_PATH___435 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___435 = 1,
    _CS_GNU_LIBC_VERSION___435 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___435 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___435 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___435 = 5,
    _CS_LFS_CFLAGS___435 = 1000,
    _CS_LFS_LDFLAGS___435 = 1001,
    _CS_LFS_LIBS___435 = 1002,
    _CS_LFS_LINTFLAGS___435 = 1003,
    _CS_LFS64_CFLAGS___435 = 1004,
    _CS_LFS64_LDFLAGS___435 = 1005,
    _CS_LFS64_LIBS___435 = 1006,
    _CS_LFS64_LINTFLAGS___435 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___435 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___435 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___435 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___435 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___435 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___435 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___435 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___435 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___435 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___435 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___435 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___435 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___435 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___435 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___435 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___435 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___435 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___435 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___435 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___435 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___435 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___435 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___435 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___435 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___435 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___435 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___435 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___435 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___435 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___435 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___435 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___435 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___435 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___435 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___435 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___435 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___435 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___435 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___435 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___435 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___435 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___435 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___435 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___435 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___435 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___435 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___435 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___435 = 1147,
    _CS_V6_ENV___435 = 1148,
    _CS_V7_ENV___435 = 1149
} ;
enum __anonenum_513775621___435 {
    DT_UNKNOWN___435 = 0,
    DT_FIFO___435 = 1,
    DT_CHR___435 = 2,
    DT_DIR___435 = 4,
    DT_BLK___435 = 6,
    DT_REG___435 = 8,
    DT_LNK___435 = 10,
    DT_SOCK___435 = 12,
    DT_WHT___435 = 14
} ;
enum __anonenum_77002343___435 {
    SI_ASYNCNL___435 = -60,
    SI_TKILL___435 = -6,
    SI_SIGIO___435 = -5,
    SI_ASYNCIO___435 = -4,
    SI_MESGQ___435 = -3,
    SI_TIMER___435 = -2,
    SI_QUEUE___435 = -1,
    SI_USER___435 = 0,
    SI_KERNEL___435 = 128
} ;
enum __anonenum_131038172___435 {
    ILL_ILLOPC___435 = 1,
    ILL_ILLOPN___435 = 2,
    ILL_ILLADR___435 = 3,
    ILL_ILLTRP___435 = 4,
    ILL_PRVOPC___435 = 5,
    ILL_PRVREG___435 = 6,
    ILL_COPROC___435 = 7,
    ILL_BADSTK___435 = 8
} ;
enum __anonenum_452038093___435 {
    FPE_INTDIV___435 = 1,
    FPE_INTOVF___435 = 2,
    FPE_FLTDIV___435 = 3,
    FPE_FLTOVF___435 = 4,
    FPE_FLTUND___435 = 5,
    FPE_FLTRES___435 = 6,
    FPE_FLTINV___435 = 7,
    FPE_FLTSUB___435 = 8
} ;
enum __anonenum_30976155___435 {
    SEGV_MAPERR___435 = 1,
    SEGV_ACCERR___435 = 2,
    SEGV_BNDERR___435 = 3,
    SEGV_PKUERR___435 = 4
} ;
enum __anonenum_1036286214___435 {
    BUS_ADRALN___435 = 1,
    BUS_ADRERR___435 = 2,
    BUS_OBJERR___435 = 3,
    BUS_MCEERR_AR___435 = 4,
    BUS_MCEERR_AO___435 = 5
} ;
enum __anonenum_493465559___435 {
    TRAP_BRKPT___435 = 1,
    TRAP_TRACE___435 = 2
} ;
enum __anonenum_23175539___435 {
    CLD_EXITED___435 = 1,
    CLD_KILLED___435 = 2,
    CLD_DUMPED___435 = 3,
    CLD_TRAPPED___435 = 4,
    CLD_STOPPED___435 = 5,
    CLD_CONTINUED___435 = 6
} ;
enum __anonenum_111643124___435 {
    POLL_IN___435 = 1,
    POLL_OUT___435 = 2,
    POLL_MSG___435 = 3,
    POLL_ERR___435 = 4,
    POLL_PRI___435 = 5,
    POLL_HUP___435 = 6
} ;
enum __anonenum_852341087___435 {
    SIGEV_SIGNAL___435 = 0,
    SIGEV_NONE___435 = 1,
    SIGEV_THREAD___435 = 2,
    SIGEV_THREAD_ID___435 = 4
} ;
enum __anonenum_451154152___435 {
    REG_R8___435 = 0,
    REG_R9___435 = 1,
    REG_R10___435 = 2,
    REG_R11___435 = 3,
    REG_R12___435 = 4,
    REG_R13___435 = 5,
    REG_R14___435 = 6,
    REG_R15___435 = 7,
    REG_RDI___435 = 8,
    REG_RSI___435 = 9,
    REG_RBP___435 = 10,
    REG_RBX___435 = 11,
    REG_RDX___435 = 12,
    REG_RAX___435 = 13,
    REG_RCX___435 = 14,
    REG_RSP___435 = 15,
    REG_RIP___435 = 16,
    REG_EFL___435 = 17,
    REG_CSGSFS___435 = 18,
    REG_ERR___435 = 19,
    REG_TRAPNO___435 = 20,
    REG_OLDMASK___435 = 21,
    REG_CR2___435 = 22
} ;
enum __anonenum_57186863___435 {
    SS_ONSTACK___435 = 1,
    SS_DISABLE___435 = 2
} ;
enum __anonenum_83571709___435 {
    MSG_OOB___435 = 1,
    MSG_PEEK___435 = 2,
    MSG_DONTROUTE___435 = 4,
    MSG_TRYHARD___435 = 4,
    MSG_CTRUNC___435 = 8,
    MSG_PROXY___435 = 16,
    MSG_TRUNC___435 = 32,
    MSG_DONTWAIT___435 = 64,
    MSG_EOR___435 = 128,
    MSG_WAITALL___435 = 256,
    MSG_FIN___435 = 512,
    MSG_SYN___435 = 1024,
    MSG_CONFIRM___435 = 2048,
    MSG_RST___435 = 4096,
    MSG_ERRQUEUE___435 = 8192,
    MSG_NOSIGNAL___435 = 16384,
    MSG_MORE___435 = 32768,
    MSG_WAITFORONE___435 = 65536,
    MSG_BATCH___435 = 262144,
    MSG_ZEROCOPY___435 = 67108864,
    MSG_FASTOPEN___435 = 536870912,
    MSG_CMSG_CLOEXEC___435 = 1073741824
} ;
enum __anonenum_617082774___435 {
    SCM_RIGHTS___435 = 1,
    SCM_CREDENTIALS___435 = 2
} ;
enum __anonenum_606441560___435 {
    SHUT_RD___435 = 0,
    SHUT_WR___435 = 1,
    SHUT_RDWR___435 = 2
} ;
enum __anonenum_681669233___435 {
    IPPROTO_IP___435 = 0,
    IPPROTO_ICMP___435 = 1,
    IPPROTO_IGMP___435 = 2,
    IPPROTO_IPIP___435 = 4,
    IPPROTO_TCP___435 = 6,
    IPPROTO_EGP___435 = 8,
    IPPROTO_PUP___435 = 12,
    IPPROTO_UDP___435 = 17,
    IPPROTO_IDP___435 = 22,
    IPPROTO_TP___435 = 29,
    IPPROTO_DCCP___435 = 33,
    IPPROTO_IPV6___435 = 41,
    IPPROTO_RSVP___435 = 46,
    IPPROTO_GRE___435 = 47,
    IPPROTO_ESP___435 = 50,
    IPPROTO_AH___435 = 51,
    IPPROTO_MTP___435 = 92,
    IPPROTO_BEETPH___435 = 94,
    IPPROTO_ENCAP___435 = 98,
    IPPROTO_PIM___435 = 103,
    IPPROTO_COMP___435 = 108,
    IPPROTO_SCTP___435 = 132,
    IPPROTO_UDPLITE___435 = 136,
    IPPROTO_MPLS___435 = 137,
    IPPROTO_RAW___435 = 255,
    IPPROTO_MAX___435 = 256
} ;
enum __anonenum_218739988___435 {
    IPPROTO_HOPOPTS___435 = 0,
    IPPROTO_ROUTING___435 = 43,
    IPPROTO_FRAGMENT___435 = 44,
    IPPROTO_ICMPV6___435 = 58,
    IPPROTO_NONE___435 = 59,
    IPPROTO_DSTOPTS___435 = 60,
    IPPROTO_MH___435 = 135
} ;
enum __anonenum_662268580___435 {
    IPPORT_ECHO___435 = 7,
    IPPORT_DISCARD___435 = 9,
    IPPORT_SYSTAT___435 = 11,
    IPPORT_DAYTIME___435 = 13,
    IPPORT_NETSTAT___435 = 15,
    IPPORT_FTP___435 = 21,
    IPPORT_TELNET___435 = 23,
    IPPORT_SMTP___435 = 25,
    IPPORT_TIMESERVER___435 = 37,
    IPPORT_NAMESERVER___435 = 42,
    IPPORT_WHOIS___435 = 43,
    IPPORT_MTP___435 = 57,
    IPPORT_TFTP___435 = 69,
    IPPORT_RJE___435 = 77,
    IPPORT_FINGER___435 = 79,
    IPPORT_TTYLINK___435 = 87,
    IPPORT_SUPDUP___435 = 95,
    IPPORT_EXECSERVER___435 = 512,
    IPPORT_LOGINSERVER___435 = 513,
    IPPORT_CMDSERVER___435 = 514,
    IPPORT_EFSSERVER___435 = 520,
    IPPORT_BIFFUDP___435 = 512,
    IPPORT_WHOSERVER___435 = 513,
    IPPORT_ROUTESERVER___435 = 520,
    IPPORT_RESERVED___435 = 1024,
    IPPORT_USERRESERVED___435 = 5000
} ;
enum __anonenum_788308992___435 {
    TCP_ESTABLISHED___435 = 1,
    TCP_SYN_SENT___435 = 2,
    TCP_SYN_RECV___435 = 3,
    TCP_FIN_WAIT1___435 = 4,
    TCP_FIN_WAIT2___435 = 5,
    TCP_TIME_WAIT___435 = 6,
    TCP_CLOSE___435 = 7,
    TCP_CLOSE_WAIT___435 = 8,
    TCP_LAST_ACK___435 = 9,
    TCP_LISTEN___435 = 10,
    TCP_CLOSING___435 = 11
} ;
enum __anonenum_221125648___435 {
    TCP_NO_QUEUE___435 = 0,
    TCP_RECV_QUEUE___435 = 1,
    TCP_SEND_QUEUE___435 = 2,
    TCP_QUEUES_NR___435 = 3
} ;
enum __anonenum_34415463___435 {
    PTHREAD_CREATE_JOINABLE___435 = 0,
    PTHREAD_CREATE_DETACHED___435 = 1
} ;
enum __anonenum_303612439___435 {
    PTHREAD_MUTEX_TIMED_NP___435 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___435 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___435 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___435 = 3,
    PTHREAD_MUTEX_NORMAL___435 = 0,
    PTHREAD_MUTEX_RECURSIVE___435 = 1,
    PTHREAD_MUTEX_ERRORCHECK___435 = 2,
    PTHREAD_MUTEX_DEFAULT___435 = 0,
    PTHREAD_MUTEX_FAST_NP___435 = 0
} ;
enum __anonenum_931900394___435 {
    PTHREAD_MUTEX_STALLED___435 = 0,
    PTHREAD_MUTEX_STALLED_NP___435 = 0,
    PTHREAD_MUTEX_ROBUST___435 = 1,
    PTHREAD_MUTEX_ROBUST_NP___435 = 1
} ;
enum __anonenum_205214487___435 {
    PTHREAD_PRIO_NONE___435 = 0,
    PTHREAD_PRIO_INHERIT___435 = 1,
    PTHREAD_PRIO_PROTECT___435 = 2
} ;
enum __anonenum_25043950___435 {
    PTHREAD_RWLOCK_PREFER_READER_NP___435 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___435 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___435 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___435 = 0
} ;
enum __anonenum_436439511___435 {
    PTHREAD_INHERIT_SCHED___435 = 0,
    PTHREAD_EXPLICIT_SCHED___435 = 1
} ;
enum __anonenum_998661166___435 {
    PTHREAD_SCOPE_SYSTEM___435 = 0,
    PTHREAD_SCOPE_PROCESS___435 = 1
} ;
enum __anonenum_146137331___435 {
    PTHREAD_PROCESS_PRIVATE___435 = 0,
    PTHREAD_PROCESS_SHARED___435 = 1
} ;
enum __anonenum_53396917___435 {
    PTHREAD_CANCEL_ENABLE___435 = 0,
    PTHREAD_CANCEL_DISABLE___435 = 1
} ;
enum __anonenum_904563783___435 {
    PTHREAD_CANCEL_DEFERRED___435 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___435 = 1
} ;
enum __anonenum_672052974___435 {
    SSL_CT_VALIDATION_PERMISSIVE___435 = 0,
    SSL_CT_VALIDATION_STRICT___435 = 1
} ;
enum __anonenum_437032235___436 {
    _PC_LINK_MAX___436 = 0,
    _PC_MAX_CANON___436 = 1,
    _PC_MAX_INPUT___436 = 2,
    _PC_NAME_MAX___436 = 3,
    _PC_PATH_MAX___436 = 4,
    _PC_PIPE_BUF___436 = 5,
    _PC_CHOWN_RESTRICTED___436 = 6,
    _PC_NO_TRUNC___436 = 7,
    _PC_VDISABLE___436 = 8,
    _PC_SYNC_IO___436 = 9,
    _PC_ASYNC_IO___436 = 10,
    _PC_PRIO_IO___436 = 11,
    _PC_SOCK_MAXBUF___436 = 12,
    _PC_FILESIZEBITS___436 = 13,
    _PC_REC_INCR_XFER_SIZE___436 = 14,
    _PC_REC_MAX_XFER_SIZE___436 = 15,
    _PC_REC_MIN_XFER_SIZE___436 = 16,
    _PC_REC_XFER_ALIGN___436 = 17,
    _PC_ALLOC_SIZE_MIN___436 = 18,
    _PC_SYMLINK_MAX___436 = 19,
    _PC_2_SYMLINKS___436 = 20
} ;
enum __anonenum_315186338___436 {
    _SC_ARG_MAX___436 = 0,
    _SC_CHILD_MAX___436 = 1,
    _SC_CLK_TCK___436 = 2,
    _SC_NGROUPS_MAX___436 = 3,
    _SC_OPEN_MAX___436 = 4,
    _SC_STREAM_MAX___436 = 5,
    _SC_TZNAME_MAX___436 = 6,
    _SC_JOB_CONTROL___436 = 7,
    _SC_SAVED_IDS___436 = 8,
    _SC_REALTIME_SIGNALS___436 = 9,
    _SC_PRIORITY_SCHEDULING___436 = 10,
    _SC_TIMERS___436 = 11,
    _SC_ASYNCHRONOUS_IO___436 = 12,
    _SC_PRIORITIZED_IO___436 = 13,
    _SC_SYNCHRONIZED_IO___436 = 14,
    _SC_FSYNC___436 = 15,
    _SC_MAPPED_FILES___436 = 16,
    _SC_MEMLOCK___436 = 17,
    _SC_MEMLOCK_RANGE___436 = 18,
    _SC_MEMORY_PROTECTION___436 = 19,
    _SC_MESSAGE_PASSING___436 = 20,
    _SC_SEMAPHORES___436 = 21,
    _SC_SHARED_MEMORY_OBJECTS___436 = 22,
    _SC_AIO_LISTIO_MAX___436 = 23,
    _SC_AIO_MAX___436 = 24,
    _SC_AIO_PRIO_DELTA_MAX___436 = 25,
    _SC_DELAYTIMER_MAX___436 = 26,
    _SC_MQ_OPEN_MAX___436 = 27,
    _SC_MQ_PRIO_MAX___436 = 28,
    _SC_VERSION___436 = 29,
    _SC_PAGESIZE___436 = 30,
    _SC_RTSIG_MAX___436 = 31,
    _SC_SEM_NSEMS_MAX___436 = 32,
    _SC_SEM_VALUE_MAX___436 = 33,
    _SC_SIGQUEUE_MAX___436 = 34,
    _SC_TIMER_MAX___436 = 35,
    _SC_BC_BASE_MAX___436 = 36,
    _SC_BC_DIM_MAX___436 = 37,
    _SC_BC_SCALE_MAX___436 = 38,
    _SC_BC_STRING_MAX___436 = 39,
    _SC_COLL_WEIGHTS_MAX___436 = 40,
    _SC_EQUIV_CLASS_MAX___436 = 41,
    _SC_EXPR_NEST_MAX___436 = 42,
    _SC_LINE_MAX___436 = 43,
    _SC_RE_DUP_MAX___436 = 44,
    _SC_CHARCLASS_NAME_MAX___436 = 45,
    _SC_2_VERSION___436 = 46,
    _SC_2_C_BIND___436 = 47,
    _SC_2_C_DEV___436 = 48,
    _SC_2_FORT_DEV___436 = 49,
    _SC_2_FORT_RUN___436 = 50,
    _SC_2_SW_DEV___436 = 51,
    _SC_2_LOCALEDEF___436 = 52,
    _SC_PII___436 = 53,
    _SC_PII_XTI___436 = 54,
    _SC_PII_SOCKET___436 = 55,
    _SC_PII_INTERNET___436 = 56,
    _SC_PII_OSI___436 = 57,
    _SC_POLL___436 = 58,
    _SC_SELECT___436 = 59,
    _SC_UIO_MAXIOV___436 = 60,
    _SC_IOV_MAX___436 = 60,
    _SC_PII_INTERNET_STREAM___436 = 61,
    _SC_PII_INTERNET_DGRAM___436 = 62,
    _SC_PII_OSI_COTS___436 = 63,
    _SC_PII_OSI_CLTS___436 = 64,
    _SC_PII_OSI_M___436 = 65,
    _SC_T_IOV_MAX___436 = 66,
    _SC_THREADS___436 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___436 = 68,
    _SC_GETGR_R_SIZE_MAX___436 = 69,
    _SC_GETPW_R_SIZE_MAX___436 = 70,
    _SC_LOGIN_NAME_MAX___436 = 71,
    _SC_TTY_NAME_MAX___436 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___436 = 73,
    _SC_THREAD_KEYS_MAX___436 = 74,
    _SC_THREAD_STACK_MIN___436 = 75,
    _SC_THREAD_THREADS_MAX___436 = 76,
    _SC_THREAD_ATTR_STACKADDR___436 = 77,
    _SC_THREAD_ATTR_STACKSIZE___436 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___436 = 79,
    _SC_THREAD_PRIO_INHERIT___436 = 80,
    _SC_THREAD_PRIO_PROTECT___436 = 81,
    _SC_THREAD_PROCESS_SHARED___436 = 82,
    _SC_NPROCESSORS_CONF___436 = 83,
    _SC_NPROCESSORS_ONLN___436 = 84,
    _SC_PHYS_PAGES___436 = 85,
    _SC_AVPHYS_PAGES___436 = 86,
    _SC_ATEXIT_MAX___436 = 87,
    _SC_PASS_MAX___436 = 88,
    _SC_XOPEN_VERSION___436 = 89,
    _SC_XOPEN_XCU_VERSION___436 = 90,
    _SC_XOPEN_UNIX___436 = 91,
    _SC_XOPEN_CRYPT___436 = 92,
    _SC_XOPEN_ENH_I18N___436 = 93,
    _SC_XOPEN_SHM___436 = 94,
    _SC_2_CHAR_TERM___436 = 95,
    _SC_2_C_VERSION___436 = 96,
    _SC_2_UPE___436 = 97,
    _SC_XOPEN_XPG2___436 = 98,
    _SC_XOPEN_XPG3___436 = 99,
    _SC_XOPEN_XPG4___436 = 100,
    _SC_CHAR_BIT___436 = 101,
    _SC_CHAR_MAX___436 = 102,
    _SC_CHAR_MIN___436 = 103,
    _SC_INT_MAX___436 = 104,
    _SC_INT_MIN___436 = 105,
    _SC_LONG_BIT___436 = 106,
    _SC_WORD_BIT___436 = 107,
    _SC_MB_LEN_MAX___436 = 108,
    _SC_NZERO___436 = 109,
    _SC_SSIZE_MAX___436 = 110,
    _SC_SCHAR_MAX___436 = 111,
    _SC_SCHAR_MIN___436 = 112,
    _SC_SHRT_MAX___436 = 113,
    _SC_SHRT_MIN___436 = 114,
    _SC_UCHAR_MAX___436 = 115,
    _SC_UINT_MAX___436 = 116,
    _SC_ULONG_MAX___436 = 117,
    _SC_USHRT_MAX___436 = 118,
    _SC_NL_ARGMAX___436 = 119,
    _SC_NL_LANGMAX___436 = 120,
    _SC_NL_MSGMAX___436 = 121,
    _SC_NL_NMAX___436 = 122,
    _SC_NL_SETMAX___436 = 123,
    _SC_NL_TEXTMAX___436 = 124,
    _SC_XBS5_ILP32_OFF32___436 = 125,
    _SC_XBS5_ILP32_OFFBIG___436 = 126,
    _SC_XBS5_LP64_OFF64___436 = 127,
    _SC_XBS5_LPBIG_OFFBIG___436 = 128,
    _SC_XOPEN_LEGACY___436 = 129,
    _SC_XOPEN_REALTIME___436 = 130,
    _SC_XOPEN_REALTIME_THREADS___436 = 131,
    _SC_ADVISORY_INFO___436 = 132,
    _SC_BARRIERS___436 = 133,
    _SC_BASE___436 = 134,
    _SC_C_LANG_SUPPORT___436 = 135,
    _SC_C_LANG_SUPPORT_R___436 = 136,
    _SC_CLOCK_SELECTION___436 = 137,
    _SC_CPUTIME___436 = 138,
    _SC_THREAD_CPUTIME___436 = 139,
    _SC_DEVICE_IO___436 = 140,
    _SC_DEVICE_SPECIFIC___436 = 141,
    _SC_DEVICE_SPECIFIC_R___436 = 142,
    _SC_FD_MGMT___436 = 143,
    _SC_FIFO___436 = 144,
    _SC_PIPE___436 = 145,
    _SC_FILE_ATTRIBUTES___436 = 146,
    _SC_FILE_LOCKING___436 = 147,
    _SC_FILE_SYSTEM___436 = 148,
    _SC_MONOTONIC_CLOCK___436 = 149,
    _SC_MULTI_PROCESS___436 = 150,
    _SC_SINGLE_PROCESS___436 = 151,
    _SC_NETWORKING___436 = 152,
    _SC_READER_WRITER_LOCKS___436 = 153,
    _SC_SPIN_LOCKS___436 = 154,
    _SC_REGEXP___436 = 155,
    _SC_REGEX_VERSION___436 = 156,
    _SC_SHELL___436 = 157,
    _SC_SIGNALS___436 = 158,
    _SC_SPAWN___436 = 159,
    _SC_SPORADIC_SERVER___436 = 160,
    _SC_THREAD_SPORADIC_SERVER___436 = 161,
    _SC_SYSTEM_DATABASE___436 = 162,
    _SC_SYSTEM_DATABASE_R___436 = 163,
    _SC_TIMEOUTS___436 = 164,
    _SC_TYPED_MEMORY_OBJECTS___436 = 165,
    _SC_USER_GROUPS___436 = 166,
    _SC_USER_GROUPS_R___436 = 167,
    _SC_2_PBS___436 = 168,
    _SC_2_PBS_ACCOUNTING___436 = 169,
    _SC_2_PBS_LOCATE___436 = 170,
    _SC_2_PBS_MESSAGE___436 = 171,
    _SC_2_PBS_TRACK___436 = 172,
    _SC_SYMLOOP_MAX___436 = 173,
    _SC_STREAMS___436 = 174,
    _SC_2_PBS_CHECKPOINT___436 = 175,
    _SC_V6_ILP32_OFF32___436 = 176,
    _SC_V6_ILP32_OFFBIG___436 = 177,
    _SC_V6_LP64_OFF64___436 = 178,
    _SC_V6_LPBIG_OFFBIG___436 = 179,
    _SC_HOST_NAME_MAX___436 = 180,
    _SC_TRACE___436 = 181,
    _SC_TRACE_EVENT_FILTER___436 = 182,
    _SC_TRACE_INHERIT___436 = 183,
    _SC_TRACE_LOG___436 = 184,
    _SC_LEVEL1_ICACHE_SIZE___436 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___436 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___436 = 187,
    _SC_LEVEL1_DCACHE_SIZE___436 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___436 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___436 = 190,
    _SC_LEVEL2_CACHE_SIZE___436 = 191,
    _SC_LEVEL2_CACHE_ASSOC___436 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___436 = 193,
    _SC_LEVEL3_CACHE_SIZE___436 = 194,
    _SC_LEVEL3_CACHE_ASSOC___436 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___436 = 196,
    _SC_LEVEL4_CACHE_SIZE___436 = 197,
    _SC_LEVEL4_CACHE_ASSOC___436 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___436 = 199,
    _SC_IPV6___436 = 235,
    _SC_RAW_SOCKETS___436 = 236,
    _SC_V7_ILP32_OFF32___436 = 237,
    _SC_V7_ILP32_OFFBIG___436 = 238,
    _SC_V7_LP64_OFF64___436 = 239,
    _SC_V7_LPBIG_OFFBIG___436 = 240,
    _SC_SS_REPL_MAX___436 = 241,
    _SC_TRACE_EVENT_NAME_MAX___436 = 242,
    _SC_TRACE_NAME_MAX___436 = 243,
    _SC_TRACE_SYS_MAX___436 = 244,
    _SC_TRACE_USER_EVENT_MAX___436 = 245,
    _SC_XOPEN_STREAMS___436 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___436 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___436 = 248
} ;
enum __anonenum_875524036___436 {
    _CS_PATH___436 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___436 = 1,
    _CS_GNU_LIBC_VERSION___436 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___436 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___436 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___436 = 5,
    _CS_LFS_CFLAGS___436 = 1000,
    _CS_LFS_LDFLAGS___436 = 1001,
    _CS_LFS_LIBS___436 = 1002,
    _CS_LFS_LINTFLAGS___436 = 1003,
    _CS_LFS64_CFLAGS___436 = 1004,
    _CS_LFS64_LDFLAGS___436 = 1005,
    _CS_LFS64_LIBS___436 = 1006,
    _CS_LFS64_LINTFLAGS___436 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___436 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___436 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___436 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___436 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___436 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___436 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___436 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___436 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___436 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___436 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___436 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___436 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___436 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___436 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___436 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___436 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___436 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___436 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___436 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___436 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___436 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___436 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___436 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___436 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___436 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___436 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___436 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___436 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___436 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___436 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___436 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___436 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___436 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___436 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___436 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___436 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___436 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___436 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___436 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___436 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___436 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___436 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___436 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___436 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___436 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___436 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___436 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___436 = 1147,
    _CS_V6_ENV___436 = 1148,
    _CS_V7_ENV___436 = 1149
} ;
enum __anonenum_513775621___436 {
    DT_UNKNOWN___436 = 0,
    DT_FIFO___436 = 1,
    DT_CHR___436 = 2,
    DT_DIR___436 = 4,
    DT_BLK___436 = 6,
    DT_REG___436 = 8,
    DT_LNK___436 = 10,
    DT_SOCK___436 = 12,
    DT_WHT___436 = 14
} ;
enum __anonenum_77002343___436 {
    SI_ASYNCNL___436 = -60,
    SI_TKILL___436 = -6,
    SI_SIGIO___436 = -5,
    SI_ASYNCIO___436 = -4,
    SI_MESGQ___436 = -3,
    SI_TIMER___436 = -2,
    SI_QUEUE___436 = -1,
    SI_USER___436 = 0,
    SI_KERNEL___436 = 128
} ;
enum __anonenum_131038172___436 {
    ILL_ILLOPC___436 = 1,
    ILL_ILLOPN___436 = 2,
    ILL_ILLADR___436 = 3,
    ILL_ILLTRP___436 = 4,
    ILL_PRVOPC___436 = 5,
    ILL_PRVREG___436 = 6,
    ILL_COPROC___436 = 7,
    ILL_BADSTK___436 = 8
} ;
enum __anonenum_452038093___436 {
    FPE_INTDIV___436 = 1,
    FPE_INTOVF___436 = 2,
    FPE_FLTDIV___436 = 3,
    FPE_FLTOVF___436 = 4,
    FPE_FLTUND___436 = 5,
    FPE_FLTRES___436 = 6,
    FPE_FLTINV___436 = 7,
    FPE_FLTSUB___436 = 8
} ;
enum __anonenum_30976155___436 {
    SEGV_MAPERR___436 = 1,
    SEGV_ACCERR___436 = 2,
    SEGV_BNDERR___436 = 3,
    SEGV_PKUERR___436 = 4
} ;
enum __anonenum_1036286214___436 {
    BUS_ADRALN___436 = 1,
    BUS_ADRERR___436 = 2,
    BUS_OBJERR___436 = 3,
    BUS_MCEERR_AR___436 = 4,
    BUS_MCEERR_AO___436 = 5
} ;
enum __anonenum_493465559___436 {
    TRAP_BRKPT___436 = 1,
    TRAP_TRACE___436 = 2
} ;
enum __anonenum_23175539___436 {
    CLD_EXITED___436 = 1,
    CLD_KILLED___436 = 2,
    CLD_DUMPED___436 = 3,
    CLD_TRAPPED___436 = 4,
    CLD_STOPPED___436 = 5,
    CLD_CONTINUED___436 = 6
} ;
enum __anonenum_111643124___436 {
    POLL_IN___436 = 1,
    POLL_OUT___436 = 2,
    POLL_MSG___436 = 3,
    POLL_ERR___436 = 4,
    POLL_PRI___436 = 5,
    POLL_HUP___436 = 6
} ;
enum __anonenum_852341087___436 {
    SIGEV_SIGNAL___436 = 0,
    SIGEV_NONE___436 = 1,
    SIGEV_THREAD___436 = 2,
    SIGEV_THREAD_ID___436 = 4
} ;
enum __anonenum_451154152___436 {
    REG_R8___436 = 0,
    REG_R9___436 = 1,
    REG_R10___436 = 2,
    REG_R11___436 = 3,
    REG_R12___436 = 4,
    REG_R13___436 = 5,
    REG_R14___436 = 6,
    REG_R15___436 = 7,
    REG_RDI___436 = 8,
    REG_RSI___436 = 9,
    REG_RBP___436 = 10,
    REG_RBX___436 = 11,
    REG_RDX___436 = 12,
    REG_RAX___436 = 13,
    REG_RCX___436 = 14,
    REG_RSP___436 = 15,
    REG_RIP___436 = 16,
    REG_EFL___436 = 17,
    REG_CSGSFS___436 = 18,
    REG_ERR___436 = 19,
    REG_TRAPNO___436 = 20,
    REG_OLDMASK___436 = 21,
    REG_CR2___436 = 22
} ;
enum __anonenum_57186863___436 {
    SS_ONSTACK___436 = 1,
    SS_DISABLE___436 = 2
} ;
enum __anonenum_83571709___436 {
    MSG_OOB___436 = 1,
    MSG_PEEK___436 = 2,
    MSG_DONTROUTE___436 = 4,
    MSG_TRYHARD___436 = 4,
    MSG_CTRUNC___436 = 8,
    MSG_PROXY___436 = 16,
    MSG_TRUNC___436 = 32,
    MSG_DONTWAIT___436 = 64,
    MSG_EOR___436 = 128,
    MSG_WAITALL___436 = 256,
    MSG_FIN___436 = 512,
    MSG_SYN___436 = 1024,
    MSG_CONFIRM___436 = 2048,
    MSG_RST___436 = 4096,
    MSG_ERRQUEUE___436 = 8192,
    MSG_NOSIGNAL___436 = 16384,
    MSG_MORE___436 = 32768,
    MSG_WAITFORONE___436 = 65536,
    MSG_BATCH___436 = 262144,
    MSG_ZEROCOPY___436 = 67108864,
    MSG_FASTOPEN___436 = 536870912,
    MSG_CMSG_CLOEXEC___436 = 1073741824
} ;
enum __anonenum_617082774___436 {
    SCM_RIGHTS___436 = 1,
    SCM_CREDENTIALS___436 = 2
} ;
enum __anonenum_606441560___436 {
    SHUT_RD___436 = 0,
    SHUT_WR___436 = 1,
    SHUT_RDWR___436 = 2
} ;
enum __anonenum_681669233___436 {
    IPPROTO_IP___436 = 0,
    IPPROTO_ICMP___436 = 1,
    IPPROTO_IGMP___436 = 2,
    IPPROTO_IPIP___436 = 4,
    IPPROTO_TCP___436 = 6,
    IPPROTO_EGP___436 = 8,
    IPPROTO_PUP___436 = 12,
    IPPROTO_UDP___436 = 17,
    IPPROTO_IDP___436 = 22,
    IPPROTO_TP___436 = 29,
    IPPROTO_DCCP___436 = 33,
    IPPROTO_IPV6___436 = 41,
    IPPROTO_RSVP___436 = 46,
    IPPROTO_GRE___436 = 47,
    IPPROTO_ESP___436 = 50,
    IPPROTO_AH___436 = 51,
    IPPROTO_MTP___436 = 92,
    IPPROTO_BEETPH___436 = 94,
    IPPROTO_ENCAP___436 = 98,
    IPPROTO_PIM___436 = 103,
    IPPROTO_COMP___436 = 108,
    IPPROTO_SCTP___436 = 132,
    IPPROTO_UDPLITE___436 = 136,
    IPPROTO_MPLS___436 = 137,
    IPPROTO_RAW___436 = 255,
    IPPROTO_MAX___436 = 256
} ;
enum __anonenum_218739988___436 {
    IPPROTO_HOPOPTS___436 = 0,
    IPPROTO_ROUTING___436 = 43,
    IPPROTO_FRAGMENT___436 = 44,
    IPPROTO_ICMPV6___436 = 58,
    IPPROTO_NONE___436 = 59,
    IPPROTO_DSTOPTS___436 = 60,
    IPPROTO_MH___436 = 135
} ;
enum __anonenum_662268580___436 {
    IPPORT_ECHO___436 = 7,
    IPPORT_DISCARD___436 = 9,
    IPPORT_SYSTAT___436 = 11,
    IPPORT_DAYTIME___436 = 13,
    IPPORT_NETSTAT___436 = 15,
    IPPORT_FTP___436 = 21,
    IPPORT_TELNET___436 = 23,
    IPPORT_SMTP___436 = 25,
    IPPORT_TIMESERVER___436 = 37,
    IPPORT_NAMESERVER___436 = 42,
    IPPORT_WHOIS___436 = 43,
    IPPORT_MTP___436 = 57,
    IPPORT_TFTP___436 = 69,
    IPPORT_RJE___436 = 77,
    IPPORT_FINGER___436 = 79,
    IPPORT_TTYLINK___436 = 87,
    IPPORT_SUPDUP___436 = 95,
    IPPORT_EXECSERVER___436 = 512,
    IPPORT_LOGINSERVER___436 = 513,
    IPPORT_CMDSERVER___436 = 514,
    IPPORT_EFSSERVER___436 = 520,
    IPPORT_BIFFUDP___436 = 512,
    IPPORT_WHOSERVER___436 = 513,
    IPPORT_ROUTESERVER___436 = 520,
    IPPORT_RESERVED___436 = 1024,
    IPPORT_USERRESERVED___436 = 5000
} ;
enum __anonenum_788308992___436 {
    TCP_ESTABLISHED___436 = 1,
    TCP_SYN_SENT___436 = 2,
    TCP_SYN_RECV___436 = 3,
    TCP_FIN_WAIT1___436 = 4,
    TCP_FIN_WAIT2___436 = 5,
    TCP_TIME_WAIT___436 = 6,
    TCP_CLOSE___436 = 7,
    TCP_CLOSE_WAIT___436 = 8,
    TCP_LAST_ACK___436 = 9,
    TCP_LISTEN___436 = 10,
    TCP_CLOSING___436 = 11
} ;
enum __anonenum_221125648___436 {
    TCP_NO_QUEUE___436 = 0,
    TCP_RECV_QUEUE___436 = 1,
    TCP_SEND_QUEUE___436 = 2,
    TCP_QUEUES_NR___436 = 3
} ;
enum __anonenum_34415463___436 {
    PTHREAD_CREATE_JOINABLE___436 = 0,
    PTHREAD_CREATE_DETACHED___436 = 1
} ;
enum __anonenum_303612439___436 {
    PTHREAD_MUTEX_TIMED_NP___436 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___436 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___436 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___436 = 3,
    PTHREAD_MUTEX_NORMAL___436 = 0,
    PTHREAD_MUTEX_RECURSIVE___436 = 1,
    PTHREAD_MUTEX_ERRORCHECK___436 = 2,
    PTHREAD_MUTEX_DEFAULT___436 = 0,
    PTHREAD_MUTEX_FAST_NP___436 = 0
} ;
enum __anonenum_931900394___436 {
    PTHREAD_MUTEX_STALLED___436 = 0,
    PTHREAD_MUTEX_STALLED_NP___436 = 0,
    PTHREAD_MUTEX_ROBUST___436 = 1,
    PTHREAD_MUTEX_ROBUST_NP___436 = 1
} ;
enum __anonenum_205214487___436 {
    PTHREAD_PRIO_NONE___436 = 0,
    PTHREAD_PRIO_INHERIT___436 = 1,
    PTHREAD_PRIO_PROTECT___436 = 2
} ;
enum __anonenum_25043950___436 {
    PTHREAD_RWLOCK_PREFER_READER_NP___436 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___436 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___436 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___436 = 0
} ;
enum __anonenum_436439511___436 {
    PTHREAD_INHERIT_SCHED___436 = 0,
    PTHREAD_EXPLICIT_SCHED___436 = 1
} ;
enum __anonenum_998661166___436 {
    PTHREAD_SCOPE_SYSTEM___436 = 0,
    PTHREAD_SCOPE_PROCESS___436 = 1
} ;
enum __anonenum_146137331___436 {
    PTHREAD_PROCESS_PRIVATE___436 = 0,
    PTHREAD_PROCESS_SHARED___436 = 1
} ;
enum __anonenum_53396917___436 {
    PTHREAD_CANCEL_ENABLE___436 = 0,
    PTHREAD_CANCEL_DISABLE___436 = 1
} ;
enum __anonenum_904563783___436 {
    PTHREAD_CANCEL_DEFERRED___436 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___436 = 1
} ;
enum __anonenum_672052974___436 {
    SSL_CT_VALIDATION_PERMISSIVE___436 = 0,
    SSL_CT_VALIDATION_STRICT___436 = 1
} ;
struct __anonstruct_length_cb_269907105 {
   int called ;
   char const   *arg ;
   int unset ;
};
enum __anonenum_437032235___437 {
    _PC_LINK_MAX___437 = 0,
    _PC_MAX_CANON___437 = 1,
    _PC_MAX_INPUT___437 = 2,
    _PC_NAME_MAX___437 = 3,
    _PC_PATH_MAX___437 = 4,
    _PC_PIPE_BUF___437 = 5,
    _PC_CHOWN_RESTRICTED___437 = 6,
    _PC_NO_TRUNC___437 = 7,
    _PC_VDISABLE___437 = 8,
    _PC_SYNC_IO___437 = 9,
    _PC_ASYNC_IO___437 = 10,
    _PC_PRIO_IO___437 = 11,
    _PC_SOCK_MAXBUF___437 = 12,
    _PC_FILESIZEBITS___437 = 13,
    _PC_REC_INCR_XFER_SIZE___437 = 14,
    _PC_REC_MAX_XFER_SIZE___437 = 15,
    _PC_REC_MIN_XFER_SIZE___437 = 16,
    _PC_REC_XFER_ALIGN___437 = 17,
    _PC_ALLOC_SIZE_MIN___437 = 18,
    _PC_SYMLINK_MAX___437 = 19,
    _PC_2_SYMLINKS___437 = 20
} ;
enum __anonenum_315186338___437 {
    _SC_ARG_MAX___437 = 0,
    _SC_CHILD_MAX___437 = 1,
    _SC_CLK_TCK___437 = 2,
    _SC_NGROUPS_MAX___437 = 3,
    _SC_OPEN_MAX___437 = 4,
    _SC_STREAM_MAX___437 = 5,
    _SC_TZNAME_MAX___437 = 6,
    _SC_JOB_CONTROL___437 = 7,
    _SC_SAVED_IDS___437 = 8,
    _SC_REALTIME_SIGNALS___437 = 9,
    _SC_PRIORITY_SCHEDULING___437 = 10,
    _SC_TIMERS___437 = 11,
    _SC_ASYNCHRONOUS_IO___437 = 12,
    _SC_PRIORITIZED_IO___437 = 13,
    _SC_SYNCHRONIZED_IO___437 = 14,
    _SC_FSYNC___437 = 15,
    _SC_MAPPED_FILES___437 = 16,
    _SC_MEMLOCK___437 = 17,
    _SC_MEMLOCK_RANGE___437 = 18,
    _SC_MEMORY_PROTECTION___437 = 19,
    _SC_MESSAGE_PASSING___437 = 20,
    _SC_SEMAPHORES___437 = 21,
    _SC_SHARED_MEMORY_OBJECTS___437 = 22,
    _SC_AIO_LISTIO_MAX___437 = 23,
    _SC_AIO_MAX___437 = 24,
    _SC_AIO_PRIO_DELTA_MAX___437 = 25,
    _SC_DELAYTIMER_MAX___437 = 26,
    _SC_MQ_OPEN_MAX___437 = 27,
    _SC_MQ_PRIO_MAX___437 = 28,
    _SC_VERSION___437 = 29,
    _SC_PAGESIZE___437 = 30,
    _SC_RTSIG_MAX___437 = 31,
    _SC_SEM_NSEMS_MAX___437 = 32,
    _SC_SEM_VALUE_MAX___437 = 33,
    _SC_SIGQUEUE_MAX___437 = 34,
    _SC_TIMER_MAX___437 = 35,
    _SC_BC_BASE_MAX___437 = 36,
    _SC_BC_DIM_MAX___437 = 37,
    _SC_BC_SCALE_MAX___437 = 38,
    _SC_BC_STRING_MAX___437 = 39,
    _SC_COLL_WEIGHTS_MAX___437 = 40,
    _SC_EQUIV_CLASS_MAX___437 = 41,
    _SC_EXPR_NEST_MAX___437 = 42,
    _SC_LINE_MAX___437 = 43,
    _SC_RE_DUP_MAX___437 = 44,
    _SC_CHARCLASS_NAME_MAX___437 = 45,
    _SC_2_VERSION___437 = 46,
    _SC_2_C_BIND___437 = 47,
    _SC_2_C_DEV___437 = 48,
    _SC_2_FORT_DEV___437 = 49,
    _SC_2_FORT_RUN___437 = 50,
    _SC_2_SW_DEV___437 = 51,
    _SC_2_LOCALEDEF___437 = 52,
    _SC_PII___437 = 53,
    _SC_PII_XTI___437 = 54,
    _SC_PII_SOCKET___437 = 55,
    _SC_PII_INTERNET___437 = 56,
    _SC_PII_OSI___437 = 57,
    _SC_POLL___437 = 58,
    _SC_SELECT___437 = 59,
    _SC_UIO_MAXIOV___437 = 60,
    _SC_IOV_MAX___437 = 60,
    _SC_PII_INTERNET_STREAM___437 = 61,
    _SC_PII_INTERNET_DGRAM___437 = 62,
    _SC_PII_OSI_COTS___437 = 63,
    _SC_PII_OSI_CLTS___437 = 64,
    _SC_PII_OSI_M___437 = 65,
    _SC_T_IOV_MAX___437 = 66,
    _SC_THREADS___437 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___437 = 68,
    _SC_GETGR_R_SIZE_MAX___437 = 69,
    _SC_GETPW_R_SIZE_MAX___437 = 70,
    _SC_LOGIN_NAME_MAX___437 = 71,
    _SC_TTY_NAME_MAX___437 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___437 = 73,
    _SC_THREAD_KEYS_MAX___437 = 74,
    _SC_THREAD_STACK_MIN___437 = 75,
    _SC_THREAD_THREADS_MAX___437 = 76,
    _SC_THREAD_ATTR_STACKADDR___437 = 77,
    _SC_THREAD_ATTR_STACKSIZE___437 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___437 = 79,
    _SC_THREAD_PRIO_INHERIT___437 = 80,
    _SC_THREAD_PRIO_PROTECT___437 = 81,
    _SC_THREAD_PROCESS_SHARED___437 = 82,
    _SC_NPROCESSORS_CONF___437 = 83,
    _SC_NPROCESSORS_ONLN___437 = 84,
    _SC_PHYS_PAGES___437 = 85,
    _SC_AVPHYS_PAGES___437 = 86,
    _SC_ATEXIT_MAX___437 = 87,
    _SC_PASS_MAX___437 = 88,
    _SC_XOPEN_VERSION___437 = 89,
    _SC_XOPEN_XCU_VERSION___437 = 90,
    _SC_XOPEN_UNIX___437 = 91,
    _SC_XOPEN_CRYPT___437 = 92,
    _SC_XOPEN_ENH_I18N___437 = 93,
    _SC_XOPEN_SHM___437 = 94,
    _SC_2_CHAR_TERM___437 = 95,
    _SC_2_C_VERSION___437 = 96,
    _SC_2_UPE___437 = 97,
    _SC_XOPEN_XPG2___437 = 98,
    _SC_XOPEN_XPG3___437 = 99,
    _SC_XOPEN_XPG4___437 = 100,
    _SC_CHAR_BIT___437 = 101,
    _SC_CHAR_MAX___437 = 102,
    _SC_CHAR_MIN___437 = 103,
    _SC_INT_MAX___437 = 104,
    _SC_INT_MIN___437 = 105,
    _SC_LONG_BIT___437 = 106,
    _SC_WORD_BIT___437 = 107,
    _SC_MB_LEN_MAX___437 = 108,
    _SC_NZERO___437 = 109,
    _SC_SSIZE_MAX___437 = 110,
    _SC_SCHAR_MAX___437 = 111,
    _SC_SCHAR_MIN___437 = 112,
    _SC_SHRT_MAX___437 = 113,
    _SC_SHRT_MIN___437 = 114,
    _SC_UCHAR_MAX___437 = 115,
    _SC_UINT_MAX___437 = 116,
    _SC_ULONG_MAX___437 = 117,
    _SC_USHRT_MAX___437 = 118,
    _SC_NL_ARGMAX___437 = 119,
    _SC_NL_LANGMAX___437 = 120,
    _SC_NL_MSGMAX___437 = 121,
    _SC_NL_NMAX___437 = 122,
    _SC_NL_SETMAX___437 = 123,
    _SC_NL_TEXTMAX___437 = 124,
    _SC_XBS5_ILP32_OFF32___437 = 125,
    _SC_XBS5_ILP32_OFFBIG___437 = 126,
    _SC_XBS5_LP64_OFF64___437 = 127,
    _SC_XBS5_LPBIG_OFFBIG___437 = 128,
    _SC_XOPEN_LEGACY___437 = 129,
    _SC_XOPEN_REALTIME___437 = 130,
    _SC_XOPEN_REALTIME_THREADS___437 = 131,
    _SC_ADVISORY_INFO___437 = 132,
    _SC_BARRIERS___437 = 133,
    _SC_BASE___437 = 134,
    _SC_C_LANG_SUPPORT___437 = 135,
    _SC_C_LANG_SUPPORT_R___437 = 136,
    _SC_CLOCK_SELECTION___437 = 137,
    _SC_CPUTIME___437 = 138,
    _SC_THREAD_CPUTIME___437 = 139,
    _SC_DEVICE_IO___437 = 140,
    _SC_DEVICE_SPECIFIC___437 = 141,
    _SC_DEVICE_SPECIFIC_R___437 = 142,
    _SC_FD_MGMT___437 = 143,
    _SC_FIFO___437 = 144,
    _SC_PIPE___437 = 145,
    _SC_FILE_ATTRIBUTES___437 = 146,
    _SC_FILE_LOCKING___437 = 147,
    _SC_FILE_SYSTEM___437 = 148,
    _SC_MONOTONIC_CLOCK___437 = 149,
    _SC_MULTI_PROCESS___437 = 150,
    _SC_SINGLE_PROCESS___437 = 151,
    _SC_NETWORKING___437 = 152,
    _SC_READER_WRITER_LOCKS___437 = 153,
    _SC_SPIN_LOCKS___437 = 154,
    _SC_REGEXP___437 = 155,
    _SC_REGEX_VERSION___437 = 156,
    _SC_SHELL___437 = 157,
    _SC_SIGNALS___437 = 158,
    _SC_SPAWN___437 = 159,
    _SC_SPORADIC_SERVER___437 = 160,
    _SC_THREAD_SPORADIC_SERVER___437 = 161,
    _SC_SYSTEM_DATABASE___437 = 162,
    _SC_SYSTEM_DATABASE_R___437 = 163,
    _SC_TIMEOUTS___437 = 164,
    _SC_TYPED_MEMORY_OBJECTS___437 = 165,
    _SC_USER_GROUPS___437 = 166,
    _SC_USER_GROUPS_R___437 = 167,
    _SC_2_PBS___437 = 168,
    _SC_2_PBS_ACCOUNTING___437 = 169,
    _SC_2_PBS_LOCATE___437 = 170,
    _SC_2_PBS_MESSAGE___437 = 171,
    _SC_2_PBS_TRACK___437 = 172,
    _SC_SYMLOOP_MAX___437 = 173,
    _SC_STREAMS___437 = 174,
    _SC_2_PBS_CHECKPOINT___437 = 175,
    _SC_V6_ILP32_OFF32___437 = 176,
    _SC_V6_ILP32_OFFBIG___437 = 177,
    _SC_V6_LP64_OFF64___437 = 178,
    _SC_V6_LPBIG_OFFBIG___437 = 179,
    _SC_HOST_NAME_MAX___437 = 180,
    _SC_TRACE___437 = 181,
    _SC_TRACE_EVENT_FILTER___437 = 182,
    _SC_TRACE_INHERIT___437 = 183,
    _SC_TRACE_LOG___437 = 184,
    _SC_LEVEL1_ICACHE_SIZE___437 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___437 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___437 = 187,
    _SC_LEVEL1_DCACHE_SIZE___437 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___437 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___437 = 190,
    _SC_LEVEL2_CACHE_SIZE___437 = 191,
    _SC_LEVEL2_CACHE_ASSOC___437 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___437 = 193,
    _SC_LEVEL3_CACHE_SIZE___437 = 194,
    _SC_LEVEL3_CACHE_ASSOC___437 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___437 = 196,
    _SC_LEVEL4_CACHE_SIZE___437 = 197,
    _SC_LEVEL4_CACHE_ASSOC___437 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___437 = 199,
    _SC_IPV6___437 = 235,
    _SC_RAW_SOCKETS___437 = 236,
    _SC_V7_ILP32_OFF32___437 = 237,
    _SC_V7_ILP32_OFFBIG___437 = 238,
    _SC_V7_LP64_OFF64___437 = 239,
    _SC_V7_LPBIG_OFFBIG___437 = 240,
    _SC_SS_REPL_MAX___437 = 241,
    _SC_TRACE_EVENT_NAME_MAX___437 = 242,
    _SC_TRACE_NAME_MAX___437 = 243,
    _SC_TRACE_SYS_MAX___437 = 244,
    _SC_TRACE_USER_EVENT_MAX___437 = 245,
    _SC_XOPEN_STREAMS___437 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___437 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___437 = 248
} ;
enum __anonenum_875524036___437 {
    _CS_PATH___437 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___437 = 1,
    _CS_GNU_LIBC_VERSION___437 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___437 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___437 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___437 = 5,
    _CS_LFS_CFLAGS___437 = 1000,
    _CS_LFS_LDFLAGS___437 = 1001,
    _CS_LFS_LIBS___437 = 1002,
    _CS_LFS_LINTFLAGS___437 = 1003,
    _CS_LFS64_CFLAGS___437 = 1004,
    _CS_LFS64_LDFLAGS___437 = 1005,
    _CS_LFS64_LIBS___437 = 1006,
    _CS_LFS64_LINTFLAGS___437 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___437 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___437 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___437 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___437 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___437 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___437 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___437 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___437 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___437 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___437 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___437 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___437 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___437 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___437 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___437 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___437 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___437 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___437 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___437 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___437 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___437 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___437 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___437 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___437 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___437 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___437 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___437 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___437 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___437 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___437 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___437 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___437 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___437 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___437 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___437 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___437 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___437 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___437 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___437 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___437 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___437 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___437 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___437 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___437 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___437 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___437 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___437 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___437 = 1147,
    _CS_V6_ENV___437 = 1148,
    _CS_V7_ENV___437 = 1149
} ;
enum __anonenum_513775621___437 {
    DT_UNKNOWN___437 = 0,
    DT_FIFO___437 = 1,
    DT_CHR___437 = 2,
    DT_DIR___437 = 4,
    DT_BLK___437 = 6,
    DT_REG___437 = 8,
    DT_LNK___437 = 10,
    DT_SOCK___437 = 12,
    DT_WHT___437 = 14
} ;
enum __anonenum_77002343___437 {
    SI_ASYNCNL___437 = -60,
    SI_TKILL___437 = -6,
    SI_SIGIO___437 = -5,
    SI_ASYNCIO___437 = -4,
    SI_MESGQ___437 = -3,
    SI_TIMER___437 = -2,
    SI_QUEUE___437 = -1,
    SI_USER___437 = 0,
    SI_KERNEL___437 = 128
} ;
enum __anonenum_131038172___437 {
    ILL_ILLOPC___437 = 1,
    ILL_ILLOPN___437 = 2,
    ILL_ILLADR___437 = 3,
    ILL_ILLTRP___437 = 4,
    ILL_PRVOPC___437 = 5,
    ILL_PRVREG___437 = 6,
    ILL_COPROC___437 = 7,
    ILL_BADSTK___437 = 8
} ;
enum __anonenum_452038093___437 {
    FPE_INTDIV___437 = 1,
    FPE_INTOVF___437 = 2,
    FPE_FLTDIV___437 = 3,
    FPE_FLTOVF___437 = 4,
    FPE_FLTUND___437 = 5,
    FPE_FLTRES___437 = 6,
    FPE_FLTINV___437 = 7,
    FPE_FLTSUB___437 = 8
} ;
enum __anonenum_30976155___437 {
    SEGV_MAPERR___437 = 1,
    SEGV_ACCERR___437 = 2,
    SEGV_BNDERR___437 = 3,
    SEGV_PKUERR___437 = 4
} ;
enum __anonenum_1036286214___437 {
    BUS_ADRALN___437 = 1,
    BUS_ADRERR___437 = 2,
    BUS_OBJERR___437 = 3,
    BUS_MCEERR_AR___437 = 4,
    BUS_MCEERR_AO___437 = 5
} ;
enum __anonenum_493465559___437 {
    TRAP_BRKPT___437 = 1,
    TRAP_TRACE___437 = 2
} ;
enum __anonenum_23175539___437 {
    CLD_EXITED___437 = 1,
    CLD_KILLED___437 = 2,
    CLD_DUMPED___437 = 3,
    CLD_TRAPPED___437 = 4,
    CLD_STOPPED___437 = 5,
    CLD_CONTINUED___437 = 6
} ;
enum __anonenum_111643124___437 {
    POLL_IN___437 = 1,
    POLL_OUT___437 = 2,
    POLL_MSG___437 = 3,
    POLL_ERR___437 = 4,
    POLL_PRI___437 = 5,
    POLL_HUP___437 = 6
} ;
enum __anonenum_852341087___437 {
    SIGEV_SIGNAL___437 = 0,
    SIGEV_NONE___437 = 1,
    SIGEV_THREAD___437 = 2,
    SIGEV_THREAD_ID___437 = 4
} ;
enum __anonenum_451154152___437 {
    REG_R8___437 = 0,
    REG_R9___437 = 1,
    REG_R10___437 = 2,
    REG_R11___437 = 3,
    REG_R12___437 = 4,
    REG_R13___437 = 5,
    REG_R14___437 = 6,
    REG_R15___437 = 7,
    REG_RDI___437 = 8,
    REG_RSI___437 = 9,
    REG_RBP___437 = 10,
    REG_RBX___437 = 11,
    REG_RDX___437 = 12,
    REG_RAX___437 = 13,
    REG_RCX___437 = 14,
    REG_RSP___437 = 15,
    REG_RIP___437 = 16,
    REG_EFL___437 = 17,
    REG_CSGSFS___437 = 18,
    REG_ERR___437 = 19,
    REG_TRAPNO___437 = 20,
    REG_OLDMASK___437 = 21,
    REG_CR2___437 = 22
} ;
enum __anonenum_57186863___437 {
    SS_ONSTACK___437 = 1,
    SS_DISABLE___437 = 2
} ;
enum __anonenum_83571709___437 {
    MSG_OOB___437 = 1,
    MSG_PEEK___437 = 2,
    MSG_DONTROUTE___437 = 4,
    MSG_TRYHARD___437 = 4,
    MSG_CTRUNC___437 = 8,
    MSG_PROXY___437 = 16,
    MSG_TRUNC___437 = 32,
    MSG_DONTWAIT___437 = 64,
    MSG_EOR___437 = 128,
    MSG_WAITALL___437 = 256,
    MSG_FIN___437 = 512,
    MSG_SYN___437 = 1024,
    MSG_CONFIRM___437 = 2048,
    MSG_RST___437 = 4096,
    MSG_ERRQUEUE___437 = 8192,
    MSG_NOSIGNAL___437 = 16384,
    MSG_MORE___437 = 32768,
    MSG_WAITFORONE___437 = 65536,
    MSG_BATCH___437 = 262144,
    MSG_ZEROCOPY___437 = 67108864,
    MSG_FASTOPEN___437 = 536870912,
    MSG_CMSG_CLOEXEC___437 = 1073741824
} ;
enum __anonenum_617082774___437 {
    SCM_RIGHTS___437 = 1,
    SCM_CREDENTIALS___437 = 2
} ;
enum __anonenum_606441560___437 {
    SHUT_RD___437 = 0,
    SHUT_WR___437 = 1,
    SHUT_RDWR___437 = 2
} ;
enum __anonenum_681669233___437 {
    IPPROTO_IP___437 = 0,
    IPPROTO_ICMP___437 = 1,
    IPPROTO_IGMP___437 = 2,
    IPPROTO_IPIP___437 = 4,
    IPPROTO_TCP___437 = 6,
    IPPROTO_EGP___437 = 8,
    IPPROTO_PUP___437 = 12,
    IPPROTO_UDP___437 = 17,
    IPPROTO_IDP___437 = 22,
    IPPROTO_TP___437 = 29,
    IPPROTO_DCCP___437 = 33,
    IPPROTO_IPV6___437 = 41,
    IPPROTO_RSVP___437 = 46,
    IPPROTO_GRE___437 = 47,
    IPPROTO_ESP___437 = 50,
    IPPROTO_AH___437 = 51,
    IPPROTO_MTP___437 = 92,
    IPPROTO_BEETPH___437 = 94,
    IPPROTO_ENCAP___437 = 98,
    IPPROTO_PIM___437 = 103,
    IPPROTO_COMP___437 = 108,
    IPPROTO_SCTP___437 = 132,
    IPPROTO_UDPLITE___437 = 136,
    IPPROTO_MPLS___437 = 137,
    IPPROTO_RAW___437 = 255,
    IPPROTO_MAX___437 = 256
} ;
enum __anonenum_218739988___437 {
    IPPROTO_HOPOPTS___437 = 0,
    IPPROTO_ROUTING___437 = 43,
    IPPROTO_FRAGMENT___437 = 44,
    IPPROTO_ICMPV6___437 = 58,
    IPPROTO_NONE___437 = 59,
    IPPROTO_DSTOPTS___437 = 60,
    IPPROTO_MH___437 = 135
} ;
enum __anonenum_662268580___437 {
    IPPORT_ECHO___437 = 7,
    IPPORT_DISCARD___437 = 9,
    IPPORT_SYSTAT___437 = 11,
    IPPORT_DAYTIME___437 = 13,
    IPPORT_NETSTAT___437 = 15,
    IPPORT_FTP___437 = 21,
    IPPORT_TELNET___437 = 23,
    IPPORT_SMTP___437 = 25,
    IPPORT_TIMESERVER___437 = 37,
    IPPORT_NAMESERVER___437 = 42,
    IPPORT_WHOIS___437 = 43,
    IPPORT_MTP___437 = 57,
    IPPORT_TFTP___437 = 69,
    IPPORT_RJE___437 = 77,
    IPPORT_FINGER___437 = 79,
    IPPORT_TTYLINK___437 = 87,
    IPPORT_SUPDUP___437 = 95,
    IPPORT_EXECSERVER___437 = 512,
    IPPORT_LOGINSERVER___437 = 513,
    IPPORT_CMDSERVER___437 = 514,
    IPPORT_EFSSERVER___437 = 520,
    IPPORT_BIFFUDP___437 = 512,
    IPPORT_WHOSERVER___437 = 513,
    IPPORT_ROUTESERVER___437 = 520,
    IPPORT_RESERVED___437 = 1024,
    IPPORT_USERRESERVED___437 = 5000
} ;
enum __anonenum_788308992___437 {
    TCP_ESTABLISHED___437 = 1,
    TCP_SYN_SENT___437 = 2,
    TCP_SYN_RECV___437 = 3,
    TCP_FIN_WAIT1___437 = 4,
    TCP_FIN_WAIT2___437 = 5,
    TCP_TIME_WAIT___437 = 6,
    TCP_CLOSE___437 = 7,
    TCP_CLOSE_WAIT___437 = 8,
    TCP_LAST_ACK___437 = 9,
    TCP_LISTEN___437 = 10,
    TCP_CLOSING___437 = 11
} ;
enum __anonenum_221125648___437 {
    TCP_NO_QUEUE___437 = 0,
    TCP_RECV_QUEUE___437 = 1,
    TCP_SEND_QUEUE___437 = 2,
    TCP_QUEUES_NR___437 = 3
} ;
enum __anonenum_34415463___437 {
    PTHREAD_CREATE_JOINABLE___437 = 0,
    PTHREAD_CREATE_DETACHED___437 = 1
} ;
enum __anonenum_303612439___437 {
    PTHREAD_MUTEX_TIMED_NP___437 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___437 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___437 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___437 = 3,
    PTHREAD_MUTEX_NORMAL___437 = 0,
    PTHREAD_MUTEX_RECURSIVE___437 = 1,
    PTHREAD_MUTEX_ERRORCHECK___437 = 2,
    PTHREAD_MUTEX_DEFAULT___437 = 0,
    PTHREAD_MUTEX_FAST_NP___437 = 0
} ;
enum __anonenum_931900394___437 {
    PTHREAD_MUTEX_STALLED___437 = 0,
    PTHREAD_MUTEX_STALLED_NP___437 = 0,
    PTHREAD_MUTEX_ROBUST___437 = 1,
    PTHREAD_MUTEX_ROBUST_NP___437 = 1
} ;
enum __anonenum_205214487___437 {
    PTHREAD_PRIO_NONE___437 = 0,
    PTHREAD_PRIO_INHERIT___437 = 1,
    PTHREAD_PRIO_PROTECT___437 = 2
} ;
enum __anonenum_25043950___437 {
    PTHREAD_RWLOCK_PREFER_READER_NP___437 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___437 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___437 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___437 = 0
} ;
enum __anonenum_436439511___437 {
    PTHREAD_INHERIT_SCHED___437 = 0,
    PTHREAD_EXPLICIT_SCHED___437 = 1
} ;
enum __anonenum_998661166___437 {
    PTHREAD_SCOPE_SYSTEM___437 = 0,
    PTHREAD_SCOPE_PROCESS___437 = 1
} ;
enum __anonenum_146137331___437 {
    PTHREAD_PROCESS_PRIVATE___437 = 0,
    PTHREAD_PROCESS_SHARED___437 = 1
} ;
enum __anonenum_53396917___437 {
    PTHREAD_CANCEL_ENABLE___437 = 0,
    PTHREAD_CANCEL_DISABLE___437 = 1
} ;
enum __anonenum_904563783___437 {
    PTHREAD_CANCEL_DEFERRED___437 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___437 = 1
} ;
enum __anonenum_672052974___437 {
    SSL_CT_VALIDATION_PERMISSIVE___437 = 0,
    SSL_CT_VALIDATION_STRICT___437 = 1
} ;
enum __anonenum_437032235___438 {
    _PC_LINK_MAX___438 = 0,
    _PC_MAX_CANON___438 = 1,
    _PC_MAX_INPUT___438 = 2,
    _PC_NAME_MAX___438 = 3,
    _PC_PATH_MAX___438 = 4,
    _PC_PIPE_BUF___438 = 5,
    _PC_CHOWN_RESTRICTED___438 = 6,
    _PC_NO_TRUNC___438 = 7,
    _PC_VDISABLE___438 = 8,
    _PC_SYNC_IO___438 = 9,
    _PC_ASYNC_IO___438 = 10,
    _PC_PRIO_IO___438 = 11,
    _PC_SOCK_MAXBUF___438 = 12,
    _PC_FILESIZEBITS___438 = 13,
    _PC_REC_INCR_XFER_SIZE___438 = 14,
    _PC_REC_MAX_XFER_SIZE___438 = 15,
    _PC_REC_MIN_XFER_SIZE___438 = 16,
    _PC_REC_XFER_ALIGN___438 = 17,
    _PC_ALLOC_SIZE_MIN___438 = 18,
    _PC_SYMLINK_MAX___438 = 19,
    _PC_2_SYMLINKS___438 = 20
} ;
enum __anonenum_315186338___438 {
    _SC_ARG_MAX___438 = 0,
    _SC_CHILD_MAX___438 = 1,
    _SC_CLK_TCK___438 = 2,
    _SC_NGROUPS_MAX___438 = 3,
    _SC_OPEN_MAX___438 = 4,
    _SC_STREAM_MAX___438 = 5,
    _SC_TZNAME_MAX___438 = 6,
    _SC_JOB_CONTROL___438 = 7,
    _SC_SAVED_IDS___438 = 8,
    _SC_REALTIME_SIGNALS___438 = 9,
    _SC_PRIORITY_SCHEDULING___438 = 10,
    _SC_TIMERS___438 = 11,
    _SC_ASYNCHRONOUS_IO___438 = 12,
    _SC_PRIORITIZED_IO___438 = 13,
    _SC_SYNCHRONIZED_IO___438 = 14,
    _SC_FSYNC___438 = 15,
    _SC_MAPPED_FILES___438 = 16,
    _SC_MEMLOCK___438 = 17,
    _SC_MEMLOCK_RANGE___438 = 18,
    _SC_MEMORY_PROTECTION___438 = 19,
    _SC_MESSAGE_PASSING___438 = 20,
    _SC_SEMAPHORES___438 = 21,
    _SC_SHARED_MEMORY_OBJECTS___438 = 22,
    _SC_AIO_LISTIO_MAX___438 = 23,
    _SC_AIO_MAX___438 = 24,
    _SC_AIO_PRIO_DELTA_MAX___438 = 25,
    _SC_DELAYTIMER_MAX___438 = 26,
    _SC_MQ_OPEN_MAX___438 = 27,
    _SC_MQ_PRIO_MAX___438 = 28,
    _SC_VERSION___438 = 29,
    _SC_PAGESIZE___438 = 30,
    _SC_RTSIG_MAX___438 = 31,
    _SC_SEM_NSEMS_MAX___438 = 32,
    _SC_SEM_VALUE_MAX___438 = 33,
    _SC_SIGQUEUE_MAX___438 = 34,
    _SC_TIMER_MAX___438 = 35,
    _SC_BC_BASE_MAX___438 = 36,
    _SC_BC_DIM_MAX___438 = 37,
    _SC_BC_SCALE_MAX___438 = 38,
    _SC_BC_STRING_MAX___438 = 39,
    _SC_COLL_WEIGHTS_MAX___438 = 40,
    _SC_EQUIV_CLASS_MAX___438 = 41,
    _SC_EXPR_NEST_MAX___438 = 42,
    _SC_LINE_MAX___438 = 43,
    _SC_RE_DUP_MAX___438 = 44,
    _SC_CHARCLASS_NAME_MAX___438 = 45,
    _SC_2_VERSION___438 = 46,
    _SC_2_C_BIND___438 = 47,
    _SC_2_C_DEV___438 = 48,
    _SC_2_FORT_DEV___438 = 49,
    _SC_2_FORT_RUN___438 = 50,
    _SC_2_SW_DEV___438 = 51,
    _SC_2_LOCALEDEF___438 = 52,
    _SC_PII___438 = 53,
    _SC_PII_XTI___438 = 54,
    _SC_PII_SOCKET___438 = 55,
    _SC_PII_INTERNET___438 = 56,
    _SC_PII_OSI___438 = 57,
    _SC_POLL___438 = 58,
    _SC_SELECT___438 = 59,
    _SC_UIO_MAXIOV___438 = 60,
    _SC_IOV_MAX___438 = 60,
    _SC_PII_INTERNET_STREAM___438 = 61,
    _SC_PII_INTERNET_DGRAM___438 = 62,
    _SC_PII_OSI_COTS___438 = 63,
    _SC_PII_OSI_CLTS___438 = 64,
    _SC_PII_OSI_M___438 = 65,
    _SC_T_IOV_MAX___438 = 66,
    _SC_THREADS___438 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___438 = 68,
    _SC_GETGR_R_SIZE_MAX___438 = 69,
    _SC_GETPW_R_SIZE_MAX___438 = 70,
    _SC_LOGIN_NAME_MAX___438 = 71,
    _SC_TTY_NAME_MAX___438 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___438 = 73,
    _SC_THREAD_KEYS_MAX___438 = 74,
    _SC_THREAD_STACK_MIN___438 = 75,
    _SC_THREAD_THREADS_MAX___438 = 76,
    _SC_THREAD_ATTR_STACKADDR___438 = 77,
    _SC_THREAD_ATTR_STACKSIZE___438 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___438 = 79,
    _SC_THREAD_PRIO_INHERIT___438 = 80,
    _SC_THREAD_PRIO_PROTECT___438 = 81,
    _SC_THREAD_PROCESS_SHARED___438 = 82,
    _SC_NPROCESSORS_CONF___438 = 83,
    _SC_NPROCESSORS_ONLN___438 = 84,
    _SC_PHYS_PAGES___438 = 85,
    _SC_AVPHYS_PAGES___438 = 86,
    _SC_ATEXIT_MAX___438 = 87,
    _SC_PASS_MAX___438 = 88,
    _SC_XOPEN_VERSION___438 = 89,
    _SC_XOPEN_XCU_VERSION___438 = 90,
    _SC_XOPEN_UNIX___438 = 91,
    _SC_XOPEN_CRYPT___438 = 92,
    _SC_XOPEN_ENH_I18N___438 = 93,
    _SC_XOPEN_SHM___438 = 94,
    _SC_2_CHAR_TERM___438 = 95,
    _SC_2_C_VERSION___438 = 96,
    _SC_2_UPE___438 = 97,
    _SC_XOPEN_XPG2___438 = 98,
    _SC_XOPEN_XPG3___438 = 99,
    _SC_XOPEN_XPG4___438 = 100,
    _SC_CHAR_BIT___438 = 101,
    _SC_CHAR_MAX___438 = 102,
    _SC_CHAR_MIN___438 = 103,
    _SC_INT_MAX___438 = 104,
    _SC_INT_MIN___438 = 105,
    _SC_LONG_BIT___438 = 106,
    _SC_WORD_BIT___438 = 107,
    _SC_MB_LEN_MAX___438 = 108,
    _SC_NZERO___438 = 109,
    _SC_SSIZE_MAX___438 = 110,
    _SC_SCHAR_MAX___438 = 111,
    _SC_SCHAR_MIN___438 = 112,
    _SC_SHRT_MAX___438 = 113,
    _SC_SHRT_MIN___438 = 114,
    _SC_UCHAR_MAX___438 = 115,
    _SC_UINT_MAX___438 = 116,
    _SC_ULONG_MAX___438 = 117,
    _SC_USHRT_MAX___438 = 118,
    _SC_NL_ARGMAX___438 = 119,
    _SC_NL_LANGMAX___438 = 120,
    _SC_NL_MSGMAX___438 = 121,
    _SC_NL_NMAX___438 = 122,
    _SC_NL_SETMAX___438 = 123,
    _SC_NL_TEXTMAX___438 = 124,
    _SC_XBS5_ILP32_OFF32___438 = 125,
    _SC_XBS5_ILP32_OFFBIG___438 = 126,
    _SC_XBS5_LP64_OFF64___438 = 127,
    _SC_XBS5_LPBIG_OFFBIG___438 = 128,
    _SC_XOPEN_LEGACY___438 = 129,
    _SC_XOPEN_REALTIME___438 = 130,
    _SC_XOPEN_REALTIME_THREADS___438 = 131,
    _SC_ADVISORY_INFO___438 = 132,
    _SC_BARRIERS___438 = 133,
    _SC_BASE___438 = 134,
    _SC_C_LANG_SUPPORT___438 = 135,
    _SC_C_LANG_SUPPORT_R___438 = 136,
    _SC_CLOCK_SELECTION___438 = 137,
    _SC_CPUTIME___438 = 138,
    _SC_THREAD_CPUTIME___438 = 139,
    _SC_DEVICE_IO___438 = 140,
    _SC_DEVICE_SPECIFIC___438 = 141,
    _SC_DEVICE_SPECIFIC_R___438 = 142,
    _SC_FD_MGMT___438 = 143,
    _SC_FIFO___438 = 144,
    _SC_PIPE___438 = 145,
    _SC_FILE_ATTRIBUTES___438 = 146,
    _SC_FILE_LOCKING___438 = 147,
    _SC_FILE_SYSTEM___438 = 148,
    _SC_MONOTONIC_CLOCK___438 = 149,
    _SC_MULTI_PROCESS___438 = 150,
    _SC_SINGLE_PROCESS___438 = 151,
    _SC_NETWORKING___438 = 152,
    _SC_READER_WRITER_LOCKS___438 = 153,
    _SC_SPIN_LOCKS___438 = 154,
    _SC_REGEXP___438 = 155,
    _SC_REGEX_VERSION___438 = 156,
    _SC_SHELL___438 = 157,
    _SC_SIGNALS___438 = 158,
    _SC_SPAWN___438 = 159,
    _SC_SPORADIC_SERVER___438 = 160,
    _SC_THREAD_SPORADIC_SERVER___438 = 161,
    _SC_SYSTEM_DATABASE___438 = 162,
    _SC_SYSTEM_DATABASE_R___438 = 163,
    _SC_TIMEOUTS___438 = 164,
    _SC_TYPED_MEMORY_OBJECTS___438 = 165,
    _SC_USER_GROUPS___438 = 166,
    _SC_USER_GROUPS_R___438 = 167,
    _SC_2_PBS___438 = 168,
    _SC_2_PBS_ACCOUNTING___438 = 169,
    _SC_2_PBS_LOCATE___438 = 170,
    _SC_2_PBS_MESSAGE___438 = 171,
    _SC_2_PBS_TRACK___438 = 172,
    _SC_SYMLOOP_MAX___438 = 173,
    _SC_STREAMS___438 = 174,
    _SC_2_PBS_CHECKPOINT___438 = 175,
    _SC_V6_ILP32_OFF32___438 = 176,
    _SC_V6_ILP32_OFFBIG___438 = 177,
    _SC_V6_LP64_OFF64___438 = 178,
    _SC_V6_LPBIG_OFFBIG___438 = 179,
    _SC_HOST_NAME_MAX___438 = 180,
    _SC_TRACE___438 = 181,
    _SC_TRACE_EVENT_FILTER___438 = 182,
    _SC_TRACE_INHERIT___438 = 183,
    _SC_TRACE_LOG___438 = 184,
    _SC_LEVEL1_ICACHE_SIZE___438 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___438 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___438 = 187,
    _SC_LEVEL1_DCACHE_SIZE___438 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___438 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___438 = 190,
    _SC_LEVEL2_CACHE_SIZE___438 = 191,
    _SC_LEVEL2_CACHE_ASSOC___438 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___438 = 193,
    _SC_LEVEL3_CACHE_SIZE___438 = 194,
    _SC_LEVEL3_CACHE_ASSOC___438 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___438 = 196,
    _SC_LEVEL4_CACHE_SIZE___438 = 197,
    _SC_LEVEL4_CACHE_ASSOC___438 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___438 = 199,
    _SC_IPV6___438 = 235,
    _SC_RAW_SOCKETS___438 = 236,
    _SC_V7_ILP32_OFF32___438 = 237,
    _SC_V7_ILP32_OFFBIG___438 = 238,
    _SC_V7_LP64_OFF64___438 = 239,
    _SC_V7_LPBIG_OFFBIG___438 = 240,
    _SC_SS_REPL_MAX___438 = 241,
    _SC_TRACE_EVENT_NAME_MAX___438 = 242,
    _SC_TRACE_NAME_MAX___438 = 243,
    _SC_TRACE_SYS_MAX___438 = 244,
    _SC_TRACE_USER_EVENT_MAX___438 = 245,
    _SC_XOPEN_STREAMS___438 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___438 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___438 = 248
} ;
enum __anonenum_875524036___438 {
    _CS_PATH___438 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___438 = 1,
    _CS_GNU_LIBC_VERSION___438 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___438 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___438 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___438 = 5,
    _CS_LFS_CFLAGS___438 = 1000,
    _CS_LFS_LDFLAGS___438 = 1001,
    _CS_LFS_LIBS___438 = 1002,
    _CS_LFS_LINTFLAGS___438 = 1003,
    _CS_LFS64_CFLAGS___438 = 1004,
    _CS_LFS64_LDFLAGS___438 = 1005,
    _CS_LFS64_LIBS___438 = 1006,
    _CS_LFS64_LINTFLAGS___438 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___438 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___438 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___438 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___438 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___438 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___438 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___438 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___438 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___438 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___438 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___438 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___438 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___438 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___438 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___438 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___438 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___438 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___438 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___438 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___438 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___438 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___438 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___438 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___438 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___438 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___438 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___438 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___438 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___438 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___438 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___438 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___438 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___438 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___438 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___438 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___438 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___438 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___438 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___438 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___438 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___438 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___438 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___438 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___438 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___438 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___438 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___438 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___438 = 1147,
    _CS_V6_ENV___438 = 1148,
    _CS_V7_ENV___438 = 1149
} ;
enum __anonenum_513775621___438 {
    DT_UNKNOWN___438 = 0,
    DT_FIFO___438 = 1,
    DT_CHR___438 = 2,
    DT_DIR___438 = 4,
    DT_BLK___438 = 6,
    DT_REG___438 = 8,
    DT_LNK___438 = 10,
    DT_SOCK___438 = 12,
    DT_WHT___438 = 14
} ;
enum __anonenum_77002343___438 {
    SI_ASYNCNL___438 = -60,
    SI_TKILL___438 = -6,
    SI_SIGIO___438 = -5,
    SI_ASYNCIO___438 = -4,
    SI_MESGQ___438 = -3,
    SI_TIMER___438 = -2,
    SI_QUEUE___438 = -1,
    SI_USER___438 = 0,
    SI_KERNEL___438 = 128
} ;
enum __anonenum_131038172___438 {
    ILL_ILLOPC___438 = 1,
    ILL_ILLOPN___438 = 2,
    ILL_ILLADR___438 = 3,
    ILL_ILLTRP___438 = 4,
    ILL_PRVOPC___438 = 5,
    ILL_PRVREG___438 = 6,
    ILL_COPROC___438 = 7,
    ILL_BADSTK___438 = 8
} ;
enum __anonenum_452038093___438 {
    FPE_INTDIV___438 = 1,
    FPE_INTOVF___438 = 2,
    FPE_FLTDIV___438 = 3,
    FPE_FLTOVF___438 = 4,
    FPE_FLTUND___438 = 5,
    FPE_FLTRES___438 = 6,
    FPE_FLTINV___438 = 7,
    FPE_FLTSUB___438 = 8
} ;
enum __anonenum_30976155___438 {
    SEGV_MAPERR___438 = 1,
    SEGV_ACCERR___438 = 2,
    SEGV_BNDERR___438 = 3,
    SEGV_PKUERR___438 = 4
} ;
enum __anonenum_1036286214___438 {
    BUS_ADRALN___438 = 1,
    BUS_ADRERR___438 = 2,
    BUS_OBJERR___438 = 3,
    BUS_MCEERR_AR___438 = 4,
    BUS_MCEERR_AO___438 = 5
} ;
enum __anonenum_493465559___438 {
    TRAP_BRKPT___438 = 1,
    TRAP_TRACE___438 = 2
} ;
enum __anonenum_23175539___438 {
    CLD_EXITED___438 = 1,
    CLD_KILLED___438 = 2,
    CLD_DUMPED___438 = 3,
    CLD_TRAPPED___438 = 4,
    CLD_STOPPED___438 = 5,
    CLD_CONTINUED___438 = 6
} ;
enum __anonenum_111643124___438 {
    POLL_IN___438 = 1,
    POLL_OUT___438 = 2,
    POLL_MSG___438 = 3,
    POLL_ERR___438 = 4,
    POLL_PRI___438 = 5,
    POLL_HUP___438 = 6
} ;
enum __anonenum_852341087___438 {
    SIGEV_SIGNAL___438 = 0,
    SIGEV_NONE___438 = 1,
    SIGEV_THREAD___438 = 2,
    SIGEV_THREAD_ID___438 = 4
} ;
enum __anonenum_451154152___438 {
    REG_R8___438 = 0,
    REG_R9___438 = 1,
    REG_R10___438 = 2,
    REG_R11___438 = 3,
    REG_R12___438 = 4,
    REG_R13___438 = 5,
    REG_R14___438 = 6,
    REG_R15___438 = 7,
    REG_RDI___438 = 8,
    REG_RSI___438 = 9,
    REG_RBP___438 = 10,
    REG_RBX___438 = 11,
    REG_RDX___438 = 12,
    REG_RAX___438 = 13,
    REG_RCX___438 = 14,
    REG_RSP___438 = 15,
    REG_RIP___438 = 16,
    REG_EFL___438 = 17,
    REG_CSGSFS___438 = 18,
    REG_ERR___438 = 19,
    REG_TRAPNO___438 = 20,
    REG_OLDMASK___438 = 21,
    REG_CR2___438 = 22
} ;
enum __anonenum_57186863___438 {
    SS_ONSTACK___438 = 1,
    SS_DISABLE___438 = 2
} ;
enum __anonenum_83571709___438 {
    MSG_OOB___438 = 1,
    MSG_PEEK___438 = 2,
    MSG_DONTROUTE___438 = 4,
    MSG_TRYHARD___438 = 4,
    MSG_CTRUNC___438 = 8,
    MSG_PROXY___438 = 16,
    MSG_TRUNC___438 = 32,
    MSG_DONTWAIT___438 = 64,
    MSG_EOR___438 = 128,
    MSG_WAITALL___438 = 256,
    MSG_FIN___438 = 512,
    MSG_SYN___438 = 1024,
    MSG_CONFIRM___438 = 2048,
    MSG_RST___438 = 4096,
    MSG_ERRQUEUE___438 = 8192,
    MSG_NOSIGNAL___438 = 16384,
    MSG_MORE___438 = 32768,
    MSG_WAITFORONE___438 = 65536,
    MSG_BATCH___438 = 262144,
    MSG_ZEROCOPY___438 = 67108864,
    MSG_FASTOPEN___438 = 536870912,
    MSG_CMSG_CLOEXEC___438 = 1073741824
} ;
enum __anonenum_617082774___438 {
    SCM_RIGHTS___438 = 1,
    SCM_CREDENTIALS___438 = 2
} ;
enum __anonenum_606441560___438 {
    SHUT_RD___438 = 0,
    SHUT_WR___438 = 1,
    SHUT_RDWR___438 = 2
} ;
enum __anonenum_681669233___438 {
    IPPROTO_IP___438 = 0,
    IPPROTO_ICMP___438 = 1,
    IPPROTO_IGMP___438 = 2,
    IPPROTO_IPIP___438 = 4,
    IPPROTO_TCP___438 = 6,
    IPPROTO_EGP___438 = 8,
    IPPROTO_PUP___438 = 12,
    IPPROTO_UDP___438 = 17,
    IPPROTO_IDP___438 = 22,
    IPPROTO_TP___438 = 29,
    IPPROTO_DCCP___438 = 33,
    IPPROTO_IPV6___438 = 41,
    IPPROTO_RSVP___438 = 46,
    IPPROTO_GRE___438 = 47,
    IPPROTO_ESP___438 = 50,
    IPPROTO_AH___438 = 51,
    IPPROTO_MTP___438 = 92,
    IPPROTO_BEETPH___438 = 94,
    IPPROTO_ENCAP___438 = 98,
    IPPROTO_PIM___438 = 103,
    IPPROTO_COMP___438 = 108,
    IPPROTO_SCTP___438 = 132,
    IPPROTO_UDPLITE___438 = 136,
    IPPROTO_MPLS___438 = 137,
    IPPROTO_RAW___438 = 255,
    IPPROTO_MAX___438 = 256
} ;
enum __anonenum_218739988___438 {
    IPPROTO_HOPOPTS___438 = 0,
    IPPROTO_ROUTING___438 = 43,
    IPPROTO_FRAGMENT___438 = 44,
    IPPROTO_ICMPV6___438 = 58,
    IPPROTO_NONE___438 = 59,
    IPPROTO_DSTOPTS___438 = 60,
    IPPROTO_MH___438 = 135
} ;
enum __anonenum_662268580___438 {
    IPPORT_ECHO___438 = 7,
    IPPORT_DISCARD___438 = 9,
    IPPORT_SYSTAT___438 = 11,
    IPPORT_DAYTIME___438 = 13,
    IPPORT_NETSTAT___438 = 15,
    IPPORT_FTP___438 = 21,
    IPPORT_TELNET___438 = 23,
    IPPORT_SMTP___438 = 25,
    IPPORT_TIMESERVER___438 = 37,
    IPPORT_NAMESERVER___438 = 42,
    IPPORT_WHOIS___438 = 43,
    IPPORT_MTP___438 = 57,
    IPPORT_TFTP___438 = 69,
    IPPORT_RJE___438 = 77,
    IPPORT_FINGER___438 = 79,
    IPPORT_TTYLINK___438 = 87,
    IPPORT_SUPDUP___438 = 95,
    IPPORT_EXECSERVER___438 = 512,
    IPPORT_LOGINSERVER___438 = 513,
    IPPORT_CMDSERVER___438 = 514,
    IPPORT_EFSSERVER___438 = 520,
    IPPORT_BIFFUDP___438 = 512,
    IPPORT_WHOSERVER___438 = 513,
    IPPORT_ROUTESERVER___438 = 520,
    IPPORT_RESERVED___438 = 1024,
    IPPORT_USERRESERVED___438 = 5000
} ;
enum __anonenum_788308992___438 {
    TCP_ESTABLISHED___438 = 1,
    TCP_SYN_SENT___438 = 2,
    TCP_SYN_RECV___438 = 3,
    TCP_FIN_WAIT1___438 = 4,
    TCP_FIN_WAIT2___438 = 5,
    TCP_TIME_WAIT___438 = 6,
    TCP_CLOSE___438 = 7,
    TCP_CLOSE_WAIT___438 = 8,
    TCP_LAST_ACK___438 = 9,
    TCP_LISTEN___438 = 10,
    TCP_CLOSING___438 = 11
} ;
enum __anonenum_221125648___438 {
    TCP_NO_QUEUE___438 = 0,
    TCP_RECV_QUEUE___438 = 1,
    TCP_SEND_QUEUE___438 = 2,
    TCP_QUEUES_NR___438 = 3
} ;
enum __anonenum_34415463___438 {
    PTHREAD_CREATE_JOINABLE___438 = 0,
    PTHREAD_CREATE_DETACHED___438 = 1
} ;
enum __anonenum_303612439___438 {
    PTHREAD_MUTEX_TIMED_NP___438 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___438 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___438 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___438 = 3,
    PTHREAD_MUTEX_NORMAL___438 = 0,
    PTHREAD_MUTEX_RECURSIVE___438 = 1,
    PTHREAD_MUTEX_ERRORCHECK___438 = 2,
    PTHREAD_MUTEX_DEFAULT___438 = 0,
    PTHREAD_MUTEX_FAST_NP___438 = 0
} ;
enum __anonenum_931900394___438 {
    PTHREAD_MUTEX_STALLED___438 = 0,
    PTHREAD_MUTEX_STALLED_NP___438 = 0,
    PTHREAD_MUTEX_ROBUST___438 = 1,
    PTHREAD_MUTEX_ROBUST_NP___438 = 1
} ;
enum __anonenum_205214487___438 {
    PTHREAD_PRIO_NONE___438 = 0,
    PTHREAD_PRIO_INHERIT___438 = 1,
    PTHREAD_PRIO_PROTECT___438 = 2
} ;
enum __anonenum_25043950___438 {
    PTHREAD_RWLOCK_PREFER_READER_NP___438 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___438 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___438 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___438 = 0
} ;
enum __anonenum_436439511___438 {
    PTHREAD_INHERIT_SCHED___438 = 0,
    PTHREAD_EXPLICIT_SCHED___438 = 1
} ;
enum __anonenum_998661166___438 {
    PTHREAD_SCOPE_SYSTEM___438 = 0,
    PTHREAD_SCOPE_PROCESS___438 = 1
} ;
enum __anonenum_146137331___438 {
    PTHREAD_PROCESS_PRIVATE___438 = 0,
    PTHREAD_PROCESS_SHARED___438 = 1
} ;
enum __anonenum_53396917___438 {
    PTHREAD_CANCEL_ENABLE___438 = 0,
    PTHREAD_CANCEL_DISABLE___438 = 1
} ;
enum __anonenum_904563783___438 {
    PTHREAD_CANCEL_DEFERRED___438 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___438 = 1
} ;
enum __anonenum_672052974___438 {
    SSL_CT_VALIDATION_PERMISSIVE___438 = 0,
    SSL_CT_VALIDATION_STRICT___438 = 1
} ;
enum __anonenum_437032235___439 {
    _PC_LINK_MAX___439 = 0,
    _PC_MAX_CANON___439 = 1,
    _PC_MAX_INPUT___439 = 2,
    _PC_NAME_MAX___439 = 3,
    _PC_PATH_MAX___439 = 4,
    _PC_PIPE_BUF___439 = 5,
    _PC_CHOWN_RESTRICTED___439 = 6,
    _PC_NO_TRUNC___439 = 7,
    _PC_VDISABLE___439 = 8,
    _PC_SYNC_IO___439 = 9,
    _PC_ASYNC_IO___439 = 10,
    _PC_PRIO_IO___439 = 11,
    _PC_SOCK_MAXBUF___439 = 12,
    _PC_FILESIZEBITS___439 = 13,
    _PC_REC_INCR_XFER_SIZE___439 = 14,
    _PC_REC_MAX_XFER_SIZE___439 = 15,
    _PC_REC_MIN_XFER_SIZE___439 = 16,
    _PC_REC_XFER_ALIGN___439 = 17,
    _PC_ALLOC_SIZE_MIN___439 = 18,
    _PC_SYMLINK_MAX___439 = 19,
    _PC_2_SYMLINKS___439 = 20
} ;
enum __anonenum_315186338___439 {
    _SC_ARG_MAX___439 = 0,
    _SC_CHILD_MAX___439 = 1,
    _SC_CLK_TCK___439 = 2,
    _SC_NGROUPS_MAX___439 = 3,
    _SC_OPEN_MAX___439 = 4,
    _SC_STREAM_MAX___439 = 5,
    _SC_TZNAME_MAX___439 = 6,
    _SC_JOB_CONTROL___439 = 7,
    _SC_SAVED_IDS___439 = 8,
    _SC_REALTIME_SIGNALS___439 = 9,
    _SC_PRIORITY_SCHEDULING___439 = 10,
    _SC_TIMERS___439 = 11,
    _SC_ASYNCHRONOUS_IO___439 = 12,
    _SC_PRIORITIZED_IO___439 = 13,
    _SC_SYNCHRONIZED_IO___439 = 14,
    _SC_FSYNC___439 = 15,
    _SC_MAPPED_FILES___439 = 16,
    _SC_MEMLOCK___439 = 17,
    _SC_MEMLOCK_RANGE___439 = 18,
    _SC_MEMORY_PROTECTION___439 = 19,
    _SC_MESSAGE_PASSING___439 = 20,
    _SC_SEMAPHORES___439 = 21,
    _SC_SHARED_MEMORY_OBJECTS___439 = 22,
    _SC_AIO_LISTIO_MAX___439 = 23,
    _SC_AIO_MAX___439 = 24,
    _SC_AIO_PRIO_DELTA_MAX___439 = 25,
    _SC_DELAYTIMER_MAX___439 = 26,
    _SC_MQ_OPEN_MAX___439 = 27,
    _SC_MQ_PRIO_MAX___439 = 28,
    _SC_VERSION___439 = 29,
    _SC_PAGESIZE___439 = 30,
    _SC_RTSIG_MAX___439 = 31,
    _SC_SEM_NSEMS_MAX___439 = 32,
    _SC_SEM_VALUE_MAX___439 = 33,
    _SC_SIGQUEUE_MAX___439 = 34,
    _SC_TIMER_MAX___439 = 35,
    _SC_BC_BASE_MAX___439 = 36,
    _SC_BC_DIM_MAX___439 = 37,
    _SC_BC_SCALE_MAX___439 = 38,
    _SC_BC_STRING_MAX___439 = 39,
    _SC_COLL_WEIGHTS_MAX___439 = 40,
    _SC_EQUIV_CLASS_MAX___439 = 41,
    _SC_EXPR_NEST_MAX___439 = 42,
    _SC_LINE_MAX___439 = 43,
    _SC_RE_DUP_MAX___439 = 44,
    _SC_CHARCLASS_NAME_MAX___439 = 45,
    _SC_2_VERSION___439 = 46,
    _SC_2_C_BIND___439 = 47,
    _SC_2_C_DEV___439 = 48,
    _SC_2_FORT_DEV___439 = 49,
    _SC_2_FORT_RUN___439 = 50,
    _SC_2_SW_DEV___439 = 51,
    _SC_2_LOCALEDEF___439 = 52,
    _SC_PII___439 = 53,
    _SC_PII_XTI___439 = 54,
    _SC_PII_SOCKET___439 = 55,
    _SC_PII_INTERNET___439 = 56,
    _SC_PII_OSI___439 = 57,
    _SC_POLL___439 = 58,
    _SC_SELECT___439 = 59,
    _SC_UIO_MAXIOV___439 = 60,
    _SC_IOV_MAX___439 = 60,
    _SC_PII_INTERNET_STREAM___439 = 61,
    _SC_PII_INTERNET_DGRAM___439 = 62,
    _SC_PII_OSI_COTS___439 = 63,
    _SC_PII_OSI_CLTS___439 = 64,
    _SC_PII_OSI_M___439 = 65,
    _SC_T_IOV_MAX___439 = 66,
    _SC_THREADS___439 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___439 = 68,
    _SC_GETGR_R_SIZE_MAX___439 = 69,
    _SC_GETPW_R_SIZE_MAX___439 = 70,
    _SC_LOGIN_NAME_MAX___439 = 71,
    _SC_TTY_NAME_MAX___439 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___439 = 73,
    _SC_THREAD_KEYS_MAX___439 = 74,
    _SC_THREAD_STACK_MIN___439 = 75,
    _SC_THREAD_THREADS_MAX___439 = 76,
    _SC_THREAD_ATTR_STACKADDR___439 = 77,
    _SC_THREAD_ATTR_STACKSIZE___439 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___439 = 79,
    _SC_THREAD_PRIO_INHERIT___439 = 80,
    _SC_THREAD_PRIO_PROTECT___439 = 81,
    _SC_THREAD_PROCESS_SHARED___439 = 82,
    _SC_NPROCESSORS_CONF___439 = 83,
    _SC_NPROCESSORS_ONLN___439 = 84,
    _SC_PHYS_PAGES___439 = 85,
    _SC_AVPHYS_PAGES___439 = 86,
    _SC_ATEXIT_MAX___439 = 87,
    _SC_PASS_MAX___439 = 88,
    _SC_XOPEN_VERSION___439 = 89,
    _SC_XOPEN_XCU_VERSION___439 = 90,
    _SC_XOPEN_UNIX___439 = 91,
    _SC_XOPEN_CRYPT___439 = 92,
    _SC_XOPEN_ENH_I18N___439 = 93,
    _SC_XOPEN_SHM___439 = 94,
    _SC_2_CHAR_TERM___439 = 95,
    _SC_2_C_VERSION___439 = 96,
    _SC_2_UPE___439 = 97,
    _SC_XOPEN_XPG2___439 = 98,
    _SC_XOPEN_XPG3___439 = 99,
    _SC_XOPEN_XPG4___439 = 100,
    _SC_CHAR_BIT___439 = 101,
    _SC_CHAR_MAX___439 = 102,
    _SC_CHAR_MIN___439 = 103,
    _SC_INT_MAX___439 = 104,
    _SC_INT_MIN___439 = 105,
    _SC_LONG_BIT___439 = 106,
    _SC_WORD_BIT___439 = 107,
    _SC_MB_LEN_MAX___439 = 108,
    _SC_NZERO___439 = 109,
    _SC_SSIZE_MAX___439 = 110,
    _SC_SCHAR_MAX___439 = 111,
    _SC_SCHAR_MIN___439 = 112,
    _SC_SHRT_MAX___439 = 113,
    _SC_SHRT_MIN___439 = 114,
    _SC_UCHAR_MAX___439 = 115,
    _SC_UINT_MAX___439 = 116,
    _SC_ULONG_MAX___439 = 117,
    _SC_USHRT_MAX___439 = 118,
    _SC_NL_ARGMAX___439 = 119,
    _SC_NL_LANGMAX___439 = 120,
    _SC_NL_MSGMAX___439 = 121,
    _SC_NL_NMAX___439 = 122,
    _SC_NL_SETMAX___439 = 123,
    _SC_NL_TEXTMAX___439 = 124,
    _SC_XBS5_ILP32_OFF32___439 = 125,
    _SC_XBS5_ILP32_OFFBIG___439 = 126,
    _SC_XBS5_LP64_OFF64___439 = 127,
    _SC_XBS5_LPBIG_OFFBIG___439 = 128,
    _SC_XOPEN_LEGACY___439 = 129,
    _SC_XOPEN_REALTIME___439 = 130,
    _SC_XOPEN_REALTIME_THREADS___439 = 131,
    _SC_ADVISORY_INFO___439 = 132,
    _SC_BARRIERS___439 = 133,
    _SC_BASE___439 = 134,
    _SC_C_LANG_SUPPORT___439 = 135,
    _SC_C_LANG_SUPPORT_R___439 = 136,
    _SC_CLOCK_SELECTION___439 = 137,
    _SC_CPUTIME___439 = 138,
    _SC_THREAD_CPUTIME___439 = 139,
    _SC_DEVICE_IO___439 = 140,
    _SC_DEVICE_SPECIFIC___439 = 141,
    _SC_DEVICE_SPECIFIC_R___439 = 142,
    _SC_FD_MGMT___439 = 143,
    _SC_FIFO___439 = 144,
    _SC_PIPE___439 = 145,
    _SC_FILE_ATTRIBUTES___439 = 146,
    _SC_FILE_LOCKING___439 = 147,
    _SC_FILE_SYSTEM___439 = 148,
    _SC_MONOTONIC_CLOCK___439 = 149,
    _SC_MULTI_PROCESS___439 = 150,
    _SC_SINGLE_PROCESS___439 = 151,
    _SC_NETWORKING___439 = 152,
    _SC_READER_WRITER_LOCKS___439 = 153,
    _SC_SPIN_LOCKS___439 = 154,
    _SC_REGEXP___439 = 155,
    _SC_REGEX_VERSION___439 = 156,
    _SC_SHELL___439 = 157,
    _SC_SIGNALS___439 = 158,
    _SC_SPAWN___439 = 159,
    _SC_SPORADIC_SERVER___439 = 160,
    _SC_THREAD_SPORADIC_SERVER___439 = 161,
    _SC_SYSTEM_DATABASE___439 = 162,
    _SC_SYSTEM_DATABASE_R___439 = 163,
    _SC_TIMEOUTS___439 = 164,
    _SC_TYPED_MEMORY_OBJECTS___439 = 165,
    _SC_USER_GROUPS___439 = 166,
    _SC_USER_GROUPS_R___439 = 167,
    _SC_2_PBS___439 = 168,
    _SC_2_PBS_ACCOUNTING___439 = 169,
    _SC_2_PBS_LOCATE___439 = 170,
    _SC_2_PBS_MESSAGE___439 = 171,
    _SC_2_PBS_TRACK___439 = 172,
    _SC_SYMLOOP_MAX___439 = 173,
    _SC_STREAMS___439 = 174,
    _SC_2_PBS_CHECKPOINT___439 = 175,
    _SC_V6_ILP32_OFF32___439 = 176,
    _SC_V6_ILP32_OFFBIG___439 = 177,
    _SC_V6_LP64_OFF64___439 = 178,
    _SC_V6_LPBIG_OFFBIG___439 = 179,
    _SC_HOST_NAME_MAX___439 = 180,
    _SC_TRACE___439 = 181,
    _SC_TRACE_EVENT_FILTER___439 = 182,
    _SC_TRACE_INHERIT___439 = 183,
    _SC_TRACE_LOG___439 = 184,
    _SC_LEVEL1_ICACHE_SIZE___439 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___439 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___439 = 187,
    _SC_LEVEL1_DCACHE_SIZE___439 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___439 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___439 = 190,
    _SC_LEVEL2_CACHE_SIZE___439 = 191,
    _SC_LEVEL2_CACHE_ASSOC___439 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___439 = 193,
    _SC_LEVEL3_CACHE_SIZE___439 = 194,
    _SC_LEVEL3_CACHE_ASSOC___439 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___439 = 196,
    _SC_LEVEL4_CACHE_SIZE___439 = 197,
    _SC_LEVEL4_CACHE_ASSOC___439 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___439 = 199,
    _SC_IPV6___439 = 235,
    _SC_RAW_SOCKETS___439 = 236,
    _SC_V7_ILP32_OFF32___439 = 237,
    _SC_V7_ILP32_OFFBIG___439 = 238,
    _SC_V7_LP64_OFF64___439 = 239,
    _SC_V7_LPBIG_OFFBIG___439 = 240,
    _SC_SS_REPL_MAX___439 = 241,
    _SC_TRACE_EVENT_NAME_MAX___439 = 242,
    _SC_TRACE_NAME_MAX___439 = 243,
    _SC_TRACE_SYS_MAX___439 = 244,
    _SC_TRACE_USER_EVENT_MAX___439 = 245,
    _SC_XOPEN_STREAMS___439 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___439 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___439 = 248
} ;
enum __anonenum_875524036___439 {
    _CS_PATH___439 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___439 = 1,
    _CS_GNU_LIBC_VERSION___439 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___439 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___439 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___439 = 5,
    _CS_LFS_CFLAGS___439 = 1000,
    _CS_LFS_LDFLAGS___439 = 1001,
    _CS_LFS_LIBS___439 = 1002,
    _CS_LFS_LINTFLAGS___439 = 1003,
    _CS_LFS64_CFLAGS___439 = 1004,
    _CS_LFS64_LDFLAGS___439 = 1005,
    _CS_LFS64_LIBS___439 = 1006,
    _CS_LFS64_LINTFLAGS___439 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___439 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___439 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___439 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___439 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___439 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___439 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___439 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___439 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___439 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___439 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___439 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___439 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___439 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___439 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___439 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___439 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___439 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___439 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___439 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___439 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___439 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___439 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___439 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___439 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___439 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___439 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___439 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___439 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___439 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___439 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___439 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___439 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___439 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___439 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___439 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___439 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___439 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___439 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___439 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___439 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___439 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___439 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___439 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___439 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___439 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___439 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___439 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___439 = 1147,
    _CS_V6_ENV___439 = 1148,
    _CS_V7_ENV___439 = 1149
} ;
enum __anonenum_513775621___439 {
    DT_UNKNOWN___439 = 0,
    DT_FIFO___439 = 1,
    DT_CHR___439 = 2,
    DT_DIR___439 = 4,
    DT_BLK___439 = 6,
    DT_REG___439 = 8,
    DT_LNK___439 = 10,
    DT_SOCK___439 = 12,
    DT_WHT___439 = 14
} ;
enum __anonenum_77002343___439 {
    SI_ASYNCNL___439 = -60,
    SI_TKILL___439 = -6,
    SI_SIGIO___439 = -5,
    SI_ASYNCIO___439 = -4,
    SI_MESGQ___439 = -3,
    SI_TIMER___439 = -2,
    SI_QUEUE___439 = -1,
    SI_USER___439 = 0,
    SI_KERNEL___439 = 128
} ;
enum __anonenum_131038172___439 {
    ILL_ILLOPC___439 = 1,
    ILL_ILLOPN___439 = 2,
    ILL_ILLADR___439 = 3,
    ILL_ILLTRP___439 = 4,
    ILL_PRVOPC___439 = 5,
    ILL_PRVREG___439 = 6,
    ILL_COPROC___439 = 7,
    ILL_BADSTK___439 = 8
} ;
enum __anonenum_452038093___439 {
    FPE_INTDIV___439 = 1,
    FPE_INTOVF___439 = 2,
    FPE_FLTDIV___439 = 3,
    FPE_FLTOVF___439 = 4,
    FPE_FLTUND___439 = 5,
    FPE_FLTRES___439 = 6,
    FPE_FLTINV___439 = 7,
    FPE_FLTSUB___439 = 8
} ;
enum __anonenum_30976155___439 {
    SEGV_MAPERR___439 = 1,
    SEGV_ACCERR___439 = 2,
    SEGV_BNDERR___439 = 3,
    SEGV_PKUERR___439 = 4
} ;
enum __anonenum_1036286214___439 {
    BUS_ADRALN___439 = 1,
    BUS_ADRERR___439 = 2,
    BUS_OBJERR___439 = 3,
    BUS_MCEERR_AR___439 = 4,
    BUS_MCEERR_AO___439 = 5
} ;
enum __anonenum_493465559___439 {
    TRAP_BRKPT___439 = 1,
    TRAP_TRACE___439 = 2
} ;
enum __anonenum_23175539___439 {
    CLD_EXITED___439 = 1,
    CLD_KILLED___439 = 2,
    CLD_DUMPED___439 = 3,
    CLD_TRAPPED___439 = 4,
    CLD_STOPPED___439 = 5,
    CLD_CONTINUED___439 = 6
} ;
enum __anonenum_111643124___439 {
    POLL_IN___439 = 1,
    POLL_OUT___439 = 2,
    POLL_MSG___439 = 3,
    POLL_ERR___439 = 4,
    POLL_PRI___439 = 5,
    POLL_HUP___439 = 6
} ;
enum __anonenum_852341087___439 {
    SIGEV_SIGNAL___439 = 0,
    SIGEV_NONE___439 = 1,
    SIGEV_THREAD___439 = 2,
    SIGEV_THREAD_ID___439 = 4
} ;
enum __anonenum_451154152___439 {
    REG_R8___439 = 0,
    REG_R9___439 = 1,
    REG_R10___439 = 2,
    REG_R11___439 = 3,
    REG_R12___439 = 4,
    REG_R13___439 = 5,
    REG_R14___439 = 6,
    REG_R15___439 = 7,
    REG_RDI___439 = 8,
    REG_RSI___439 = 9,
    REG_RBP___439 = 10,
    REG_RBX___439 = 11,
    REG_RDX___439 = 12,
    REG_RAX___439 = 13,
    REG_RCX___439 = 14,
    REG_RSP___439 = 15,
    REG_RIP___439 = 16,
    REG_EFL___439 = 17,
    REG_CSGSFS___439 = 18,
    REG_ERR___439 = 19,
    REG_TRAPNO___439 = 20,
    REG_OLDMASK___439 = 21,
    REG_CR2___439 = 22
} ;
enum __anonenum_57186863___439 {
    SS_ONSTACK___439 = 1,
    SS_DISABLE___439 = 2
} ;
enum __anonenum_83571709___439 {
    MSG_OOB___439 = 1,
    MSG_PEEK___439 = 2,
    MSG_DONTROUTE___439 = 4,
    MSG_TRYHARD___439 = 4,
    MSG_CTRUNC___439 = 8,
    MSG_PROXY___439 = 16,
    MSG_TRUNC___439 = 32,
    MSG_DONTWAIT___439 = 64,
    MSG_EOR___439 = 128,
    MSG_WAITALL___439 = 256,
    MSG_FIN___439 = 512,
    MSG_SYN___439 = 1024,
    MSG_CONFIRM___439 = 2048,
    MSG_RST___439 = 4096,
    MSG_ERRQUEUE___439 = 8192,
    MSG_NOSIGNAL___439 = 16384,
    MSG_MORE___439 = 32768,
    MSG_WAITFORONE___439 = 65536,
    MSG_BATCH___439 = 262144,
    MSG_ZEROCOPY___439 = 67108864,
    MSG_FASTOPEN___439 = 536870912,
    MSG_CMSG_CLOEXEC___439 = 1073741824
} ;
enum __anonenum_617082774___439 {
    SCM_RIGHTS___439 = 1,
    SCM_CREDENTIALS___439 = 2
} ;
enum __anonenum_606441560___439 {
    SHUT_RD___439 = 0,
    SHUT_WR___439 = 1,
    SHUT_RDWR___439 = 2
} ;
enum __anonenum_681669233___439 {
    IPPROTO_IP___439 = 0,
    IPPROTO_ICMP___439 = 1,
    IPPROTO_IGMP___439 = 2,
    IPPROTO_IPIP___439 = 4,
    IPPROTO_TCP___439 = 6,
    IPPROTO_EGP___439 = 8,
    IPPROTO_PUP___439 = 12,
    IPPROTO_UDP___439 = 17,
    IPPROTO_IDP___439 = 22,
    IPPROTO_TP___439 = 29,
    IPPROTO_DCCP___439 = 33,
    IPPROTO_IPV6___439 = 41,
    IPPROTO_RSVP___439 = 46,
    IPPROTO_GRE___439 = 47,
    IPPROTO_ESP___439 = 50,
    IPPROTO_AH___439 = 51,
    IPPROTO_MTP___439 = 92,
    IPPROTO_BEETPH___439 = 94,
    IPPROTO_ENCAP___439 = 98,
    IPPROTO_PIM___439 = 103,
    IPPROTO_COMP___439 = 108,
    IPPROTO_SCTP___439 = 132,
    IPPROTO_UDPLITE___439 = 136,
    IPPROTO_MPLS___439 = 137,
    IPPROTO_RAW___439 = 255,
    IPPROTO_MAX___439 = 256
} ;
enum __anonenum_218739988___439 {
    IPPROTO_HOPOPTS___439 = 0,
    IPPROTO_ROUTING___439 = 43,
    IPPROTO_FRAGMENT___439 = 44,
    IPPROTO_ICMPV6___439 = 58,
    IPPROTO_NONE___439 = 59,
    IPPROTO_DSTOPTS___439 = 60,
    IPPROTO_MH___439 = 135
} ;
enum __anonenum_662268580___439 {
    IPPORT_ECHO___439 = 7,
    IPPORT_DISCARD___439 = 9,
    IPPORT_SYSTAT___439 = 11,
    IPPORT_DAYTIME___439 = 13,
    IPPORT_NETSTAT___439 = 15,
    IPPORT_FTP___439 = 21,
    IPPORT_TELNET___439 = 23,
    IPPORT_SMTP___439 = 25,
    IPPORT_TIMESERVER___439 = 37,
    IPPORT_NAMESERVER___439 = 42,
    IPPORT_WHOIS___439 = 43,
    IPPORT_MTP___439 = 57,
    IPPORT_TFTP___439 = 69,
    IPPORT_RJE___439 = 77,
    IPPORT_FINGER___439 = 79,
    IPPORT_TTYLINK___439 = 87,
    IPPORT_SUPDUP___439 = 95,
    IPPORT_EXECSERVER___439 = 512,
    IPPORT_LOGINSERVER___439 = 513,
    IPPORT_CMDSERVER___439 = 514,
    IPPORT_EFSSERVER___439 = 520,
    IPPORT_BIFFUDP___439 = 512,
    IPPORT_WHOSERVER___439 = 513,
    IPPORT_ROUTESERVER___439 = 520,
    IPPORT_RESERVED___439 = 1024,
    IPPORT_USERRESERVED___439 = 5000
} ;
enum __anonenum_788308992___439 {
    TCP_ESTABLISHED___439 = 1,
    TCP_SYN_SENT___439 = 2,
    TCP_SYN_RECV___439 = 3,
    TCP_FIN_WAIT1___439 = 4,
    TCP_FIN_WAIT2___439 = 5,
    TCP_TIME_WAIT___439 = 6,
    TCP_CLOSE___439 = 7,
    TCP_CLOSE_WAIT___439 = 8,
    TCP_LAST_ACK___439 = 9,
    TCP_LISTEN___439 = 10,
    TCP_CLOSING___439 = 11
} ;
enum __anonenum_221125648___439 {
    TCP_NO_QUEUE___439 = 0,
    TCP_RECV_QUEUE___439 = 1,
    TCP_SEND_QUEUE___439 = 2,
    TCP_QUEUES_NR___439 = 3
} ;
enum __anonenum_34415463___439 {
    PTHREAD_CREATE_JOINABLE___439 = 0,
    PTHREAD_CREATE_DETACHED___439 = 1
} ;
enum __anonenum_303612439___439 {
    PTHREAD_MUTEX_TIMED_NP___439 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___439 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___439 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___439 = 3,
    PTHREAD_MUTEX_NORMAL___439 = 0,
    PTHREAD_MUTEX_RECURSIVE___439 = 1,
    PTHREAD_MUTEX_ERRORCHECK___439 = 2,
    PTHREAD_MUTEX_DEFAULT___439 = 0,
    PTHREAD_MUTEX_FAST_NP___439 = 0
} ;
enum __anonenum_931900394___439 {
    PTHREAD_MUTEX_STALLED___439 = 0,
    PTHREAD_MUTEX_STALLED_NP___439 = 0,
    PTHREAD_MUTEX_ROBUST___439 = 1,
    PTHREAD_MUTEX_ROBUST_NP___439 = 1
} ;
enum __anonenum_205214487___439 {
    PTHREAD_PRIO_NONE___439 = 0,
    PTHREAD_PRIO_INHERIT___439 = 1,
    PTHREAD_PRIO_PROTECT___439 = 2
} ;
enum __anonenum_25043950___439 {
    PTHREAD_RWLOCK_PREFER_READER_NP___439 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___439 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___439 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___439 = 0
} ;
enum __anonenum_436439511___439 {
    PTHREAD_INHERIT_SCHED___439 = 0,
    PTHREAD_EXPLICIT_SCHED___439 = 1
} ;
enum __anonenum_998661166___439 {
    PTHREAD_SCOPE_SYSTEM___439 = 0,
    PTHREAD_SCOPE_PROCESS___439 = 1
} ;
enum __anonenum_146137331___439 {
    PTHREAD_PROCESS_PRIVATE___439 = 0,
    PTHREAD_PROCESS_SHARED___439 = 1
} ;
enum __anonenum_53396917___439 {
    PTHREAD_CANCEL_ENABLE___439 = 0,
    PTHREAD_CANCEL_DISABLE___439 = 1
} ;
enum __anonenum_904563783___439 {
    PTHREAD_CANCEL_DEFERRED___439 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___439 = 1
} ;
enum __anonenum_672052974___439 {
    SSL_CT_VALIDATION_PERMISSIVE___439 = 0,
    SSL_CT_VALIDATION_STRICT___439 = 1
} ;
struct test_data {
   char const   *from ;
   char const   *to ;
   char const   *alternative ;
};
enum __anonenum_437032235___440 {
    _PC_LINK_MAX___440 = 0,
    _PC_MAX_CANON___440 = 1,
    _PC_MAX_INPUT___440 = 2,
    _PC_NAME_MAX___440 = 3,
    _PC_PATH_MAX___440 = 4,
    _PC_PIPE_BUF___440 = 5,
    _PC_CHOWN_RESTRICTED___440 = 6,
    _PC_NO_TRUNC___440 = 7,
    _PC_VDISABLE___440 = 8,
    _PC_SYNC_IO___440 = 9,
    _PC_ASYNC_IO___440 = 10,
    _PC_PRIO_IO___440 = 11,
    _PC_SOCK_MAXBUF___440 = 12,
    _PC_FILESIZEBITS___440 = 13,
    _PC_REC_INCR_XFER_SIZE___440 = 14,
    _PC_REC_MAX_XFER_SIZE___440 = 15,
    _PC_REC_MIN_XFER_SIZE___440 = 16,
    _PC_REC_XFER_ALIGN___440 = 17,
    _PC_ALLOC_SIZE_MIN___440 = 18,
    _PC_SYMLINK_MAX___440 = 19,
    _PC_2_SYMLINKS___440 = 20
} ;
enum __anonenum_315186338___440 {
    _SC_ARG_MAX___440 = 0,
    _SC_CHILD_MAX___440 = 1,
    _SC_CLK_TCK___440 = 2,
    _SC_NGROUPS_MAX___440 = 3,
    _SC_OPEN_MAX___440 = 4,
    _SC_STREAM_MAX___440 = 5,
    _SC_TZNAME_MAX___440 = 6,
    _SC_JOB_CONTROL___440 = 7,
    _SC_SAVED_IDS___440 = 8,
    _SC_REALTIME_SIGNALS___440 = 9,
    _SC_PRIORITY_SCHEDULING___440 = 10,
    _SC_TIMERS___440 = 11,
    _SC_ASYNCHRONOUS_IO___440 = 12,
    _SC_PRIORITIZED_IO___440 = 13,
    _SC_SYNCHRONIZED_IO___440 = 14,
    _SC_FSYNC___440 = 15,
    _SC_MAPPED_FILES___440 = 16,
    _SC_MEMLOCK___440 = 17,
    _SC_MEMLOCK_RANGE___440 = 18,
    _SC_MEMORY_PROTECTION___440 = 19,
    _SC_MESSAGE_PASSING___440 = 20,
    _SC_SEMAPHORES___440 = 21,
    _SC_SHARED_MEMORY_OBJECTS___440 = 22,
    _SC_AIO_LISTIO_MAX___440 = 23,
    _SC_AIO_MAX___440 = 24,
    _SC_AIO_PRIO_DELTA_MAX___440 = 25,
    _SC_DELAYTIMER_MAX___440 = 26,
    _SC_MQ_OPEN_MAX___440 = 27,
    _SC_MQ_PRIO_MAX___440 = 28,
    _SC_VERSION___440 = 29,
    _SC_PAGESIZE___440 = 30,
    _SC_RTSIG_MAX___440 = 31,
    _SC_SEM_NSEMS_MAX___440 = 32,
    _SC_SEM_VALUE_MAX___440 = 33,
    _SC_SIGQUEUE_MAX___440 = 34,
    _SC_TIMER_MAX___440 = 35,
    _SC_BC_BASE_MAX___440 = 36,
    _SC_BC_DIM_MAX___440 = 37,
    _SC_BC_SCALE_MAX___440 = 38,
    _SC_BC_STRING_MAX___440 = 39,
    _SC_COLL_WEIGHTS_MAX___440 = 40,
    _SC_EQUIV_CLASS_MAX___440 = 41,
    _SC_EXPR_NEST_MAX___440 = 42,
    _SC_LINE_MAX___440 = 43,
    _SC_RE_DUP_MAX___440 = 44,
    _SC_CHARCLASS_NAME_MAX___440 = 45,
    _SC_2_VERSION___440 = 46,
    _SC_2_C_BIND___440 = 47,
    _SC_2_C_DEV___440 = 48,
    _SC_2_FORT_DEV___440 = 49,
    _SC_2_FORT_RUN___440 = 50,
    _SC_2_SW_DEV___440 = 51,
    _SC_2_LOCALEDEF___440 = 52,
    _SC_PII___440 = 53,
    _SC_PII_XTI___440 = 54,
    _SC_PII_SOCKET___440 = 55,
    _SC_PII_INTERNET___440 = 56,
    _SC_PII_OSI___440 = 57,
    _SC_POLL___440 = 58,
    _SC_SELECT___440 = 59,
    _SC_UIO_MAXIOV___440 = 60,
    _SC_IOV_MAX___440 = 60,
    _SC_PII_INTERNET_STREAM___440 = 61,
    _SC_PII_INTERNET_DGRAM___440 = 62,
    _SC_PII_OSI_COTS___440 = 63,
    _SC_PII_OSI_CLTS___440 = 64,
    _SC_PII_OSI_M___440 = 65,
    _SC_T_IOV_MAX___440 = 66,
    _SC_THREADS___440 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___440 = 68,
    _SC_GETGR_R_SIZE_MAX___440 = 69,
    _SC_GETPW_R_SIZE_MAX___440 = 70,
    _SC_LOGIN_NAME_MAX___440 = 71,
    _SC_TTY_NAME_MAX___440 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___440 = 73,
    _SC_THREAD_KEYS_MAX___440 = 74,
    _SC_THREAD_STACK_MIN___440 = 75,
    _SC_THREAD_THREADS_MAX___440 = 76,
    _SC_THREAD_ATTR_STACKADDR___440 = 77,
    _SC_THREAD_ATTR_STACKSIZE___440 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___440 = 79,
    _SC_THREAD_PRIO_INHERIT___440 = 80,
    _SC_THREAD_PRIO_PROTECT___440 = 81,
    _SC_THREAD_PROCESS_SHARED___440 = 82,
    _SC_NPROCESSORS_CONF___440 = 83,
    _SC_NPROCESSORS_ONLN___440 = 84,
    _SC_PHYS_PAGES___440 = 85,
    _SC_AVPHYS_PAGES___440 = 86,
    _SC_ATEXIT_MAX___440 = 87,
    _SC_PASS_MAX___440 = 88,
    _SC_XOPEN_VERSION___440 = 89,
    _SC_XOPEN_XCU_VERSION___440 = 90,
    _SC_XOPEN_UNIX___440 = 91,
    _SC_XOPEN_CRYPT___440 = 92,
    _SC_XOPEN_ENH_I18N___440 = 93,
    _SC_XOPEN_SHM___440 = 94,
    _SC_2_CHAR_TERM___440 = 95,
    _SC_2_C_VERSION___440 = 96,
    _SC_2_UPE___440 = 97,
    _SC_XOPEN_XPG2___440 = 98,
    _SC_XOPEN_XPG3___440 = 99,
    _SC_XOPEN_XPG4___440 = 100,
    _SC_CHAR_BIT___440 = 101,
    _SC_CHAR_MAX___440 = 102,
    _SC_CHAR_MIN___440 = 103,
    _SC_INT_MAX___440 = 104,
    _SC_INT_MIN___440 = 105,
    _SC_LONG_BIT___440 = 106,
    _SC_WORD_BIT___440 = 107,
    _SC_MB_LEN_MAX___440 = 108,
    _SC_NZERO___440 = 109,
    _SC_SSIZE_MAX___440 = 110,
    _SC_SCHAR_MAX___440 = 111,
    _SC_SCHAR_MIN___440 = 112,
    _SC_SHRT_MAX___440 = 113,
    _SC_SHRT_MIN___440 = 114,
    _SC_UCHAR_MAX___440 = 115,
    _SC_UINT_MAX___440 = 116,
    _SC_ULONG_MAX___440 = 117,
    _SC_USHRT_MAX___440 = 118,
    _SC_NL_ARGMAX___440 = 119,
    _SC_NL_LANGMAX___440 = 120,
    _SC_NL_MSGMAX___440 = 121,
    _SC_NL_NMAX___440 = 122,
    _SC_NL_SETMAX___440 = 123,
    _SC_NL_TEXTMAX___440 = 124,
    _SC_XBS5_ILP32_OFF32___440 = 125,
    _SC_XBS5_ILP32_OFFBIG___440 = 126,
    _SC_XBS5_LP64_OFF64___440 = 127,
    _SC_XBS5_LPBIG_OFFBIG___440 = 128,
    _SC_XOPEN_LEGACY___440 = 129,
    _SC_XOPEN_REALTIME___440 = 130,
    _SC_XOPEN_REALTIME_THREADS___440 = 131,
    _SC_ADVISORY_INFO___440 = 132,
    _SC_BARRIERS___440 = 133,
    _SC_BASE___440 = 134,
    _SC_C_LANG_SUPPORT___440 = 135,
    _SC_C_LANG_SUPPORT_R___440 = 136,
    _SC_CLOCK_SELECTION___440 = 137,
    _SC_CPUTIME___440 = 138,
    _SC_THREAD_CPUTIME___440 = 139,
    _SC_DEVICE_IO___440 = 140,
    _SC_DEVICE_SPECIFIC___440 = 141,
    _SC_DEVICE_SPECIFIC_R___440 = 142,
    _SC_FD_MGMT___440 = 143,
    _SC_FIFO___440 = 144,
    _SC_PIPE___440 = 145,
    _SC_FILE_ATTRIBUTES___440 = 146,
    _SC_FILE_LOCKING___440 = 147,
    _SC_FILE_SYSTEM___440 = 148,
    _SC_MONOTONIC_CLOCK___440 = 149,
    _SC_MULTI_PROCESS___440 = 150,
    _SC_SINGLE_PROCESS___440 = 151,
    _SC_NETWORKING___440 = 152,
    _SC_READER_WRITER_LOCKS___440 = 153,
    _SC_SPIN_LOCKS___440 = 154,
    _SC_REGEXP___440 = 155,
    _SC_REGEX_VERSION___440 = 156,
    _SC_SHELL___440 = 157,
    _SC_SIGNALS___440 = 158,
    _SC_SPAWN___440 = 159,
    _SC_SPORADIC_SERVER___440 = 160,
    _SC_THREAD_SPORADIC_SERVER___440 = 161,
    _SC_SYSTEM_DATABASE___440 = 162,
    _SC_SYSTEM_DATABASE_R___440 = 163,
    _SC_TIMEOUTS___440 = 164,
    _SC_TYPED_MEMORY_OBJECTS___440 = 165,
    _SC_USER_GROUPS___440 = 166,
    _SC_USER_GROUPS_R___440 = 167,
    _SC_2_PBS___440 = 168,
    _SC_2_PBS_ACCOUNTING___440 = 169,
    _SC_2_PBS_LOCATE___440 = 170,
    _SC_2_PBS_MESSAGE___440 = 171,
    _SC_2_PBS_TRACK___440 = 172,
    _SC_SYMLOOP_MAX___440 = 173,
    _SC_STREAMS___440 = 174,
    _SC_2_PBS_CHECKPOINT___440 = 175,
    _SC_V6_ILP32_OFF32___440 = 176,
    _SC_V6_ILP32_OFFBIG___440 = 177,
    _SC_V6_LP64_OFF64___440 = 178,
    _SC_V6_LPBIG_OFFBIG___440 = 179,
    _SC_HOST_NAME_MAX___440 = 180,
    _SC_TRACE___440 = 181,
    _SC_TRACE_EVENT_FILTER___440 = 182,
    _SC_TRACE_INHERIT___440 = 183,
    _SC_TRACE_LOG___440 = 184,
    _SC_LEVEL1_ICACHE_SIZE___440 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___440 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___440 = 187,
    _SC_LEVEL1_DCACHE_SIZE___440 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___440 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___440 = 190,
    _SC_LEVEL2_CACHE_SIZE___440 = 191,
    _SC_LEVEL2_CACHE_ASSOC___440 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___440 = 193,
    _SC_LEVEL3_CACHE_SIZE___440 = 194,
    _SC_LEVEL3_CACHE_ASSOC___440 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___440 = 196,
    _SC_LEVEL4_CACHE_SIZE___440 = 197,
    _SC_LEVEL4_CACHE_ASSOC___440 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___440 = 199,
    _SC_IPV6___440 = 235,
    _SC_RAW_SOCKETS___440 = 236,
    _SC_V7_ILP32_OFF32___440 = 237,
    _SC_V7_ILP32_OFFBIG___440 = 238,
    _SC_V7_LP64_OFF64___440 = 239,
    _SC_V7_LPBIG_OFFBIG___440 = 240,
    _SC_SS_REPL_MAX___440 = 241,
    _SC_TRACE_EVENT_NAME_MAX___440 = 242,
    _SC_TRACE_NAME_MAX___440 = 243,
    _SC_TRACE_SYS_MAX___440 = 244,
    _SC_TRACE_USER_EVENT_MAX___440 = 245,
    _SC_XOPEN_STREAMS___440 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___440 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___440 = 248
} ;
enum __anonenum_875524036___440 {
    _CS_PATH___440 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___440 = 1,
    _CS_GNU_LIBC_VERSION___440 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___440 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___440 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___440 = 5,
    _CS_LFS_CFLAGS___440 = 1000,
    _CS_LFS_LDFLAGS___440 = 1001,
    _CS_LFS_LIBS___440 = 1002,
    _CS_LFS_LINTFLAGS___440 = 1003,
    _CS_LFS64_CFLAGS___440 = 1004,
    _CS_LFS64_LDFLAGS___440 = 1005,
    _CS_LFS64_LIBS___440 = 1006,
    _CS_LFS64_LINTFLAGS___440 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___440 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___440 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___440 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___440 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___440 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___440 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___440 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___440 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___440 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___440 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___440 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___440 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___440 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___440 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___440 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___440 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___440 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___440 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___440 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___440 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___440 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___440 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___440 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___440 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___440 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___440 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___440 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___440 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___440 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___440 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___440 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___440 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___440 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___440 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___440 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___440 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___440 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___440 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___440 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___440 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___440 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___440 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___440 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___440 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___440 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___440 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___440 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___440 = 1147,
    _CS_V6_ENV___440 = 1148,
    _CS_V7_ENV___440 = 1149
} ;
enum __anonenum_513775621___440 {
    DT_UNKNOWN___440 = 0,
    DT_FIFO___440 = 1,
    DT_CHR___440 = 2,
    DT_DIR___440 = 4,
    DT_BLK___440 = 6,
    DT_REG___440 = 8,
    DT_LNK___440 = 10,
    DT_SOCK___440 = 12,
    DT_WHT___440 = 14
} ;
enum __anonenum_77002343___440 {
    SI_ASYNCNL___440 = -60,
    SI_TKILL___440 = -6,
    SI_SIGIO___440 = -5,
    SI_ASYNCIO___440 = -4,
    SI_MESGQ___440 = -3,
    SI_TIMER___440 = -2,
    SI_QUEUE___440 = -1,
    SI_USER___440 = 0,
    SI_KERNEL___440 = 128
} ;
enum __anonenum_131038172___440 {
    ILL_ILLOPC___440 = 1,
    ILL_ILLOPN___440 = 2,
    ILL_ILLADR___440 = 3,
    ILL_ILLTRP___440 = 4,
    ILL_PRVOPC___440 = 5,
    ILL_PRVREG___440 = 6,
    ILL_COPROC___440 = 7,
    ILL_BADSTK___440 = 8
} ;
enum __anonenum_452038093___440 {
    FPE_INTDIV___440 = 1,
    FPE_INTOVF___440 = 2,
    FPE_FLTDIV___440 = 3,
    FPE_FLTOVF___440 = 4,
    FPE_FLTUND___440 = 5,
    FPE_FLTRES___440 = 6,
    FPE_FLTINV___440 = 7,
    FPE_FLTSUB___440 = 8
} ;
enum __anonenum_30976155___440 {
    SEGV_MAPERR___440 = 1,
    SEGV_ACCERR___440 = 2,
    SEGV_BNDERR___440 = 3,
    SEGV_PKUERR___440 = 4
} ;
enum __anonenum_1036286214___440 {
    BUS_ADRALN___440 = 1,
    BUS_ADRERR___440 = 2,
    BUS_OBJERR___440 = 3,
    BUS_MCEERR_AR___440 = 4,
    BUS_MCEERR_AO___440 = 5
} ;
enum __anonenum_493465559___440 {
    TRAP_BRKPT___440 = 1,
    TRAP_TRACE___440 = 2
} ;
enum __anonenum_23175539___440 {
    CLD_EXITED___440 = 1,
    CLD_KILLED___440 = 2,
    CLD_DUMPED___440 = 3,
    CLD_TRAPPED___440 = 4,
    CLD_STOPPED___440 = 5,
    CLD_CONTINUED___440 = 6
} ;
enum __anonenum_111643124___440 {
    POLL_IN___440 = 1,
    POLL_OUT___440 = 2,
    POLL_MSG___440 = 3,
    POLL_ERR___440 = 4,
    POLL_PRI___440 = 5,
    POLL_HUP___440 = 6
} ;
enum __anonenum_852341087___440 {
    SIGEV_SIGNAL___440 = 0,
    SIGEV_NONE___440 = 1,
    SIGEV_THREAD___440 = 2,
    SIGEV_THREAD_ID___440 = 4
} ;
enum __anonenum_451154152___440 {
    REG_R8___440 = 0,
    REG_R9___440 = 1,
    REG_R10___440 = 2,
    REG_R11___440 = 3,
    REG_R12___440 = 4,
    REG_R13___440 = 5,
    REG_R14___440 = 6,
    REG_R15___440 = 7,
    REG_RDI___440 = 8,
    REG_RSI___440 = 9,
    REG_RBP___440 = 10,
    REG_RBX___440 = 11,
    REG_RDX___440 = 12,
    REG_RAX___440 = 13,
    REG_RCX___440 = 14,
    REG_RSP___440 = 15,
    REG_RIP___440 = 16,
    REG_EFL___440 = 17,
    REG_CSGSFS___440 = 18,
    REG_ERR___440 = 19,
    REG_TRAPNO___440 = 20,
    REG_OLDMASK___440 = 21,
    REG_CR2___440 = 22
} ;
enum __anonenum_57186863___440 {
    SS_ONSTACK___440 = 1,
    SS_DISABLE___440 = 2
} ;
enum __anonenum_83571709___440 {
    MSG_OOB___440 = 1,
    MSG_PEEK___440 = 2,
    MSG_DONTROUTE___440 = 4,
    MSG_TRYHARD___440 = 4,
    MSG_CTRUNC___440 = 8,
    MSG_PROXY___440 = 16,
    MSG_TRUNC___440 = 32,
    MSG_DONTWAIT___440 = 64,
    MSG_EOR___440 = 128,
    MSG_WAITALL___440 = 256,
    MSG_FIN___440 = 512,
    MSG_SYN___440 = 1024,
    MSG_CONFIRM___440 = 2048,
    MSG_RST___440 = 4096,
    MSG_ERRQUEUE___440 = 8192,
    MSG_NOSIGNAL___440 = 16384,
    MSG_MORE___440 = 32768,
    MSG_WAITFORONE___440 = 65536,
    MSG_BATCH___440 = 262144,
    MSG_ZEROCOPY___440 = 67108864,
    MSG_FASTOPEN___440 = 536870912,
    MSG_CMSG_CLOEXEC___440 = 1073741824
} ;
enum __anonenum_617082774___440 {
    SCM_RIGHTS___440 = 1,
    SCM_CREDENTIALS___440 = 2
} ;
enum __anonenum_606441560___440 {
    SHUT_RD___440 = 0,
    SHUT_WR___440 = 1,
    SHUT_RDWR___440 = 2
} ;
enum __anonenum_681669233___440 {
    IPPROTO_IP___440 = 0,
    IPPROTO_ICMP___440 = 1,
    IPPROTO_IGMP___440 = 2,
    IPPROTO_IPIP___440 = 4,
    IPPROTO_TCP___440 = 6,
    IPPROTO_EGP___440 = 8,
    IPPROTO_PUP___440 = 12,
    IPPROTO_UDP___440 = 17,
    IPPROTO_IDP___440 = 22,
    IPPROTO_TP___440 = 29,
    IPPROTO_DCCP___440 = 33,
    IPPROTO_IPV6___440 = 41,
    IPPROTO_RSVP___440 = 46,
    IPPROTO_GRE___440 = 47,
    IPPROTO_ESP___440 = 50,
    IPPROTO_AH___440 = 51,
    IPPROTO_MTP___440 = 92,
    IPPROTO_BEETPH___440 = 94,
    IPPROTO_ENCAP___440 = 98,
    IPPROTO_PIM___440 = 103,
    IPPROTO_COMP___440 = 108,
    IPPROTO_SCTP___440 = 132,
    IPPROTO_UDPLITE___440 = 136,
    IPPROTO_MPLS___440 = 137,
    IPPROTO_RAW___440 = 255,
    IPPROTO_MAX___440 = 256
} ;
enum __anonenum_218739988___440 {
    IPPROTO_HOPOPTS___440 = 0,
    IPPROTO_ROUTING___440 = 43,
    IPPROTO_FRAGMENT___440 = 44,
    IPPROTO_ICMPV6___440 = 58,
    IPPROTO_NONE___440 = 59,
    IPPROTO_DSTOPTS___440 = 60,
    IPPROTO_MH___440 = 135
} ;
enum __anonenum_662268580___440 {
    IPPORT_ECHO___440 = 7,
    IPPORT_DISCARD___440 = 9,
    IPPORT_SYSTAT___440 = 11,
    IPPORT_DAYTIME___440 = 13,
    IPPORT_NETSTAT___440 = 15,
    IPPORT_FTP___440 = 21,
    IPPORT_TELNET___440 = 23,
    IPPORT_SMTP___440 = 25,
    IPPORT_TIMESERVER___440 = 37,
    IPPORT_NAMESERVER___440 = 42,
    IPPORT_WHOIS___440 = 43,
    IPPORT_MTP___440 = 57,
    IPPORT_TFTP___440 = 69,
    IPPORT_RJE___440 = 77,
    IPPORT_FINGER___440 = 79,
    IPPORT_TTYLINK___440 = 87,
    IPPORT_SUPDUP___440 = 95,
    IPPORT_EXECSERVER___440 = 512,
    IPPORT_LOGINSERVER___440 = 513,
    IPPORT_CMDSERVER___440 = 514,
    IPPORT_EFSSERVER___440 = 520,
    IPPORT_BIFFUDP___440 = 512,
    IPPORT_WHOSERVER___440 = 513,
    IPPORT_ROUTESERVER___440 = 520,
    IPPORT_RESERVED___440 = 1024,
    IPPORT_USERRESERVED___440 = 5000
} ;
enum __anonenum_788308992___440 {
    TCP_ESTABLISHED___440 = 1,
    TCP_SYN_SENT___440 = 2,
    TCP_SYN_RECV___440 = 3,
    TCP_FIN_WAIT1___440 = 4,
    TCP_FIN_WAIT2___440 = 5,
    TCP_TIME_WAIT___440 = 6,
    TCP_CLOSE___440 = 7,
    TCP_CLOSE_WAIT___440 = 8,
    TCP_LAST_ACK___440 = 9,
    TCP_LISTEN___440 = 10,
    TCP_CLOSING___440 = 11
} ;
enum __anonenum_221125648___440 {
    TCP_NO_QUEUE___440 = 0,
    TCP_RECV_QUEUE___440 = 1,
    TCP_SEND_QUEUE___440 = 2,
    TCP_QUEUES_NR___440 = 3
} ;
enum __anonenum_34415463___440 {
    PTHREAD_CREATE_JOINABLE___440 = 0,
    PTHREAD_CREATE_DETACHED___440 = 1
} ;
enum __anonenum_303612439___440 {
    PTHREAD_MUTEX_TIMED_NP___440 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___440 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___440 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___440 = 3,
    PTHREAD_MUTEX_NORMAL___440 = 0,
    PTHREAD_MUTEX_RECURSIVE___440 = 1,
    PTHREAD_MUTEX_ERRORCHECK___440 = 2,
    PTHREAD_MUTEX_DEFAULT___440 = 0,
    PTHREAD_MUTEX_FAST_NP___440 = 0
} ;
enum __anonenum_931900394___440 {
    PTHREAD_MUTEX_STALLED___440 = 0,
    PTHREAD_MUTEX_STALLED_NP___440 = 0,
    PTHREAD_MUTEX_ROBUST___440 = 1,
    PTHREAD_MUTEX_ROBUST_NP___440 = 1
} ;
enum __anonenum_205214487___440 {
    PTHREAD_PRIO_NONE___440 = 0,
    PTHREAD_PRIO_INHERIT___440 = 1,
    PTHREAD_PRIO_PROTECT___440 = 2
} ;
enum __anonenum_25043950___440 {
    PTHREAD_RWLOCK_PREFER_READER_NP___440 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___440 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___440 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___440 = 0
} ;
enum __anonenum_436439511___440 {
    PTHREAD_INHERIT_SCHED___440 = 0,
    PTHREAD_EXPLICIT_SCHED___440 = 1
} ;
enum __anonenum_998661166___440 {
    PTHREAD_SCOPE_SYSTEM___440 = 0,
    PTHREAD_SCOPE_PROCESS___440 = 1
} ;
enum __anonenum_146137331___440 {
    PTHREAD_PROCESS_PRIVATE___440 = 0,
    PTHREAD_PROCESS_SHARED___440 = 1
} ;
enum __anonenum_53396917___440 {
    PTHREAD_CANCEL_ENABLE___440 = 0,
    PTHREAD_CANCEL_DISABLE___440 = 1
} ;
enum __anonenum_904563783___440 {
    PTHREAD_CANCEL_DEFERRED___440 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___440 = 1
} ;
enum __anonenum_672052974___440 {
    SSL_CT_VALIDATION_PERMISSIVE___440 = 0,
    SSL_CT_VALIDATION_STRICT___440 = 1
} ;
enum __anonenum_437032235___441 {
    _PC_LINK_MAX___441 = 0,
    _PC_MAX_CANON___441 = 1,
    _PC_MAX_INPUT___441 = 2,
    _PC_NAME_MAX___441 = 3,
    _PC_PATH_MAX___441 = 4,
    _PC_PIPE_BUF___441 = 5,
    _PC_CHOWN_RESTRICTED___441 = 6,
    _PC_NO_TRUNC___441 = 7,
    _PC_VDISABLE___441 = 8,
    _PC_SYNC_IO___441 = 9,
    _PC_ASYNC_IO___441 = 10,
    _PC_PRIO_IO___441 = 11,
    _PC_SOCK_MAXBUF___441 = 12,
    _PC_FILESIZEBITS___441 = 13,
    _PC_REC_INCR_XFER_SIZE___441 = 14,
    _PC_REC_MAX_XFER_SIZE___441 = 15,
    _PC_REC_MIN_XFER_SIZE___441 = 16,
    _PC_REC_XFER_ALIGN___441 = 17,
    _PC_ALLOC_SIZE_MIN___441 = 18,
    _PC_SYMLINK_MAX___441 = 19,
    _PC_2_SYMLINKS___441 = 20
} ;
enum __anonenum_315186338___441 {
    _SC_ARG_MAX___441 = 0,
    _SC_CHILD_MAX___441 = 1,
    _SC_CLK_TCK___441 = 2,
    _SC_NGROUPS_MAX___441 = 3,
    _SC_OPEN_MAX___441 = 4,
    _SC_STREAM_MAX___441 = 5,
    _SC_TZNAME_MAX___441 = 6,
    _SC_JOB_CONTROL___441 = 7,
    _SC_SAVED_IDS___441 = 8,
    _SC_REALTIME_SIGNALS___441 = 9,
    _SC_PRIORITY_SCHEDULING___441 = 10,
    _SC_TIMERS___441 = 11,
    _SC_ASYNCHRONOUS_IO___441 = 12,
    _SC_PRIORITIZED_IO___441 = 13,
    _SC_SYNCHRONIZED_IO___441 = 14,
    _SC_FSYNC___441 = 15,
    _SC_MAPPED_FILES___441 = 16,
    _SC_MEMLOCK___441 = 17,
    _SC_MEMLOCK_RANGE___441 = 18,
    _SC_MEMORY_PROTECTION___441 = 19,
    _SC_MESSAGE_PASSING___441 = 20,
    _SC_SEMAPHORES___441 = 21,
    _SC_SHARED_MEMORY_OBJECTS___441 = 22,
    _SC_AIO_LISTIO_MAX___441 = 23,
    _SC_AIO_MAX___441 = 24,
    _SC_AIO_PRIO_DELTA_MAX___441 = 25,
    _SC_DELAYTIMER_MAX___441 = 26,
    _SC_MQ_OPEN_MAX___441 = 27,
    _SC_MQ_PRIO_MAX___441 = 28,
    _SC_VERSION___441 = 29,
    _SC_PAGESIZE___441 = 30,
    _SC_RTSIG_MAX___441 = 31,
    _SC_SEM_NSEMS_MAX___441 = 32,
    _SC_SEM_VALUE_MAX___441 = 33,
    _SC_SIGQUEUE_MAX___441 = 34,
    _SC_TIMER_MAX___441 = 35,
    _SC_BC_BASE_MAX___441 = 36,
    _SC_BC_DIM_MAX___441 = 37,
    _SC_BC_SCALE_MAX___441 = 38,
    _SC_BC_STRING_MAX___441 = 39,
    _SC_COLL_WEIGHTS_MAX___441 = 40,
    _SC_EQUIV_CLASS_MAX___441 = 41,
    _SC_EXPR_NEST_MAX___441 = 42,
    _SC_LINE_MAX___441 = 43,
    _SC_RE_DUP_MAX___441 = 44,
    _SC_CHARCLASS_NAME_MAX___441 = 45,
    _SC_2_VERSION___441 = 46,
    _SC_2_C_BIND___441 = 47,
    _SC_2_C_DEV___441 = 48,
    _SC_2_FORT_DEV___441 = 49,
    _SC_2_FORT_RUN___441 = 50,
    _SC_2_SW_DEV___441 = 51,
    _SC_2_LOCALEDEF___441 = 52,
    _SC_PII___441 = 53,
    _SC_PII_XTI___441 = 54,
    _SC_PII_SOCKET___441 = 55,
    _SC_PII_INTERNET___441 = 56,
    _SC_PII_OSI___441 = 57,
    _SC_POLL___441 = 58,
    _SC_SELECT___441 = 59,
    _SC_UIO_MAXIOV___441 = 60,
    _SC_IOV_MAX___441 = 60,
    _SC_PII_INTERNET_STREAM___441 = 61,
    _SC_PII_INTERNET_DGRAM___441 = 62,
    _SC_PII_OSI_COTS___441 = 63,
    _SC_PII_OSI_CLTS___441 = 64,
    _SC_PII_OSI_M___441 = 65,
    _SC_T_IOV_MAX___441 = 66,
    _SC_THREADS___441 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___441 = 68,
    _SC_GETGR_R_SIZE_MAX___441 = 69,
    _SC_GETPW_R_SIZE_MAX___441 = 70,
    _SC_LOGIN_NAME_MAX___441 = 71,
    _SC_TTY_NAME_MAX___441 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___441 = 73,
    _SC_THREAD_KEYS_MAX___441 = 74,
    _SC_THREAD_STACK_MIN___441 = 75,
    _SC_THREAD_THREADS_MAX___441 = 76,
    _SC_THREAD_ATTR_STACKADDR___441 = 77,
    _SC_THREAD_ATTR_STACKSIZE___441 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___441 = 79,
    _SC_THREAD_PRIO_INHERIT___441 = 80,
    _SC_THREAD_PRIO_PROTECT___441 = 81,
    _SC_THREAD_PROCESS_SHARED___441 = 82,
    _SC_NPROCESSORS_CONF___441 = 83,
    _SC_NPROCESSORS_ONLN___441 = 84,
    _SC_PHYS_PAGES___441 = 85,
    _SC_AVPHYS_PAGES___441 = 86,
    _SC_ATEXIT_MAX___441 = 87,
    _SC_PASS_MAX___441 = 88,
    _SC_XOPEN_VERSION___441 = 89,
    _SC_XOPEN_XCU_VERSION___441 = 90,
    _SC_XOPEN_UNIX___441 = 91,
    _SC_XOPEN_CRYPT___441 = 92,
    _SC_XOPEN_ENH_I18N___441 = 93,
    _SC_XOPEN_SHM___441 = 94,
    _SC_2_CHAR_TERM___441 = 95,
    _SC_2_C_VERSION___441 = 96,
    _SC_2_UPE___441 = 97,
    _SC_XOPEN_XPG2___441 = 98,
    _SC_XOPEN_XPG3___441 = 99,
    _SC_XOPEN_XPG4___441 = 100,
    _SC_CHAR_BIT___441 = 101,
    _SC_CHAR_MAX___441 = 102,
    _SC_CHAR_MIN___441 = 103,
    _SC_INT_MAX___441 = 104,
    _SC_INT_MIN___441 = 105,
    _SC_LONG_BIT___441 = 106,
    _SC_WORD_BIT___441 = 107,
    _SC_MB_LEN_MAX___441 = 108,
    _SC_NZERO___441 = 109,
    _SC_SSIZE_MAX___441 = 110,
    _SC_SCHAR_MAX___441 = 111,
    _SC_SCHAR_MIN___441 = 112,
    _SC_SHRT_MAX___441 = 113,
    _SC_SHRT_MIN___441 = 114,
    _SC_UCHAR_MAX___441 = 115,
    _SC_UINT_MAX___441 = 116,
    _SC_ULONG_MAX___441 = 117,
    _SC_USHRT_MAX___441 = 118,
    _SC_NL_ARGMAX___441 = 119,
    _SC_NL_LANGMAX___441 = 120,
    _SC_NL_MSGMAX___441 = 121,
    _SC_NL_NMAX___441 = 122,
    _SC_NL_SETMAX___441 = 123,
    _SC_NL_TEXTMAX___441 = 124,
    _SC_XBS5_ILP32_OFF32___441 = 125,
    _SC_XBS5_ILP32_OFFBIG___441 = 126,
    _SC_XBS5_LP64_OFF64___441 = 127,
    _SC_XBS5_LPBIG_OFFBIG___441 = 128,
    _SC_XOPEN_LEGACY___441 = 129,
    _SC_XOPEN_REALTIME___441 = 130,
    _SC_XOPEN_REALTIME_THREADS___441 = 131,
    _SC_ADVISORY_INFO___441 = 132,
    _SC_BARRIERS___441 = 133,
    _SC_BASE___441 = 134,
    _SC_C_LANG_SUPPORT___441 = 135,
    _SC_C_LANG_SUPPORT_R___441 = 136,
    _SC_CLOCK_SELECTION___441 = 137,
    _SC_CPUTIME___441 = 138,
    _SC_THREAD_CPUTIME___441 = 139,
    _SC_DEVICE_IO___441 = 140,
    _SC_DEVICE_SPECIFIC___441 = 141,
    _SC_DEVICE_SPECIFIC_R___441 = 142,
    _SC_FD_MGMT___441 = 143,
    _SC_FIFO___441 = 144,
    _SC_PIPE___441 = 145,
    _SC_FILE_ATTRIBUTES___441 = 146,
    _SC_FILE_LOCKING___441 = 147,
    _SC_FILE_SYSTEM___441 = 148,
    _SC_MONOTONIC_CLOCK___441 = 149,
    _SC_MULTI_PROCESS___441 = 150,
    _SC_SINGLE_PROCESS___441 = 151,
    _SC_NETWORKING___441 = 152,
    _SC_READER_WRITER_LOCKS___441 = 153,
    _SC_SPIN_LOCKS___441 = 154,
    _SC_REGEXP___441 = 155,
    _SC_REGEX_VERSION___441 = 156,
    _SC_SHELL___441 = 157,
    _SC_SIGNALS___441 = 158,
    _SC_SPAWN___441 = 159,
    _SC_SPORADIC_SERVER___441 = 160,
    _SC_THREAD_SPORADIC_SERVER___441 = 161,
    _SC_SYSTEM_DATABASE___441 = 162,
    _SC_SYSTEM_DATABASE_R___441 = 163,
    _SC_TIMEOUTS___441 = 164,
    _SC_TYPED_MEMORY_OBJECTS___441 = 165,
    _SC_USER_GROUPS___441 = 166,
    _SC_USER_GROUPS_R___441 = 167,
    _SC_2_PBS___441 = 168,
    _SC_2_PBS_ACCOUNTING___441 = 169,
    _SC_2_PBS_LOCATE___441 = 170,
    _SC_2_PBS_MESSAGE___441 = 171,
    _SC_2_PBS_TRACK___441 = 172,
    _SC_SYMLOOP_MAX___441 = 173,
    _SC_STREAMS___441 = 174,
    _SC_2_PBS_CHECKPOINT___441 = 175,
    _SC_V6_ILP32_OFF32___441 = 176,
    _SC_V6_ILP32_OFFBIG___441 = 177,
    _SC_V6_LP64_OFF64___441 = 178,
    _SC_V6_LPBIG_OFFBIG___441 = 179,
    _SC_HOST_NAME_MAX___441 = 180,
    _SC_TRACE___441 = 181,
    _SC_TRACE_EVENT_FILTER___441 = 182,
    _SC_TRACE_INHERIT___441 = 183,
    _SC_TRACE_LOG___441 = 184,
    _SC_LEVEL1_ICACHE_SIZE___441 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___441 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___441 = 187,
    _SC_LEVEL1_DCACHE_SIZE___441 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___441 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___441 = 190,
    _SC_LEVEL2_CACHE_SIZE___441 = 191,
    _SC_LEVEL2_CACHE_ASSOC___441 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___441 = 193,
    _SC_LEVEL3_CACHE_SIZE___441 = 194,
    _SC_LEVEL3_CACHE_ASSOC___441 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___441 = 196,
    _SC_LEVEL4_CACHE_SIZE___441 = 197,
    _SC_LEVEL4_CACHE_ASSOC___441 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___441 = 199,
    _SC_IPV6___441 = 235,
    _SC_RAW_SOCKETS___441 = 236,
    _SC_V7_ILP32_OFF32___441 = 237,
    _SC_V7_ILP32_OFFBIG___441 = 238,
    _SC_V7_LP64_OFF64___441 = 239,
    _SC_V7_LPBIG_OFFBIG___441 = 240,
    _SC_SS_REPL_MAX___441 = 241,
    _SC_TRACE_EVENT_NAME_MAX___441 = 242,
    _SC_TRACE_NAME_MAX___441 = 243,
    _SC_TRACE_SYS_MAX___441 = 244,
    _SC_TRACE_USER_EVENT_MAX___441 = 245,
    _SC_XOPEN_STREAMS___441 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___441 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___441 = 248
} ;
enum __anonenum_875524036___441 {
    _CS_PATH___441 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___441 = 1,
    _CS_GNU_LIBC_VERSION___441 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___441 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___441 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___441 = 5,
    _CS_LFS_CFLAGS___441 = 1000,
    _CS_LFS_LDFLAGS___441 = 1001,
    _CS_LFS_LIBS___441 = 1002,
    _CS_LFS_LINTFLAGS___441 = 1003,
    _CS_LFS64_CFLAGS___441 = 1004,
    _CS_LFS64_LDFLAGS___441 = 1005,
    _CS_LFS64_LIBS___441 = 1006,
    _CS_LFS64_LINTFLAGS___441 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___441 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___441 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___441 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___441 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___441 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___441 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___441 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___441 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___441 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___441 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___441 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___441 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___441 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___441 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___441 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___441 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___441 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___441 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___441 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___441 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___441 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___441 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___441 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___441 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___441 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___441 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___441 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___441 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___441 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___441 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___441 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___441 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___441 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___441 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___441 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___441 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___441 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___441 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___441 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___441 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___441 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___441 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___441 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___441 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___441 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___441 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___441 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___441 = 1147,
    _CS_V6_ENV___441 = 1148,
    _CS_V7_ENV___441 = 1149
} ;
enum __anonenum_513775621___441 {
    DT_UNKNOWN___441 = 0,
    DT_FIFO___441 = 1,
    DT_CHR___441 = 2,
    DT_DIR___441 = 4,
    DT_BLK___441 = 6,
    DT_REG___441 = 8,
    DT_LNK___441 = 10,
    DT_SOCK___441 = 12,
    DT_WHT___441 = 14
} ;
enum __anonenum_77002343___441 {
    SI_ASYNCNL___441 = -60,
    SI_TKILL___441 = -6,
    SI_SIGIO___441 = -5,
    SI_ASYNCIO___441 = -4,
    SI_MESGQ___441 = -3,
    SI_TIMER___441 = -2,
    SI_QUEUE___441 = -1,
    SI_USER___441 = 0,
    SI_KERNEL___441 = 128
} ;
enum __anonenum_131038172___441 {
    ILL_ILLOPC___441 = 1,
    ILL_ILLOPN___441 = 2,
    ILL_ILLADR___441 = 3,
    ILL_ILLTRP___441 = 4,
    ILL_PRVOPC___441 = 5,
    ILL_PRVREG___441 = 6,
    ILL_COPROC___441 = 7,
    ILL_BADSTK___441 = 8
} ;
enum __anonenum_452038093___441 {
    FPE_INTDIV___441 = 1,
    FPE_INTOVF___441 = 2,
    FPE_FLTDIV___441 = 3,
    FPE_FLTOVF___441 = 4,
    FPE_FLTUND___441 = 5,
    FPE_FLTRES___441 = 6,
    FPE_FLTINV___441 = 7,
    FPE_FLTSUB___441 = 8
} ;
enum __anonenum_30976155___441 {
    SEGV_MAPERR___441 = 1,
    SEGV_ACCERR___441 = 2,
    SEGV_BNDERR___441 = 3,
    SEGV_PKUERR___441 = 4
} ;
enum __anonenum_1036286214___441 {
    BUS_ADRALN___441 = 1,
    BUS_ADRERR___441 = 2,
    BUS_OBJERR___441 = 3,
    BUS_MCEERR_AR___441 = 4,
    BUS_MCEERR_AO___441 = 5
} ;
enum __anonenum_493465559___441 {
    TRAP_BRKPT___441 = 1,
    TRAP_TRACE___441 = 2
} ;
enum __anonenum_23175539___441 {
    CLD_EXITED___441 = 1,
    CLD_KILLED___441 = 2,
    CLD_DUMPED___441 = 3,
    CLD_TRAPPED___441 = 4,
    CLD_STOPPED___441 = 5,
    CLD_CONTINUED___441 = 6
} ;
enum __anonenum_111643124___441 {
    POLL_IN___441 = 1,
    POLL_OUT___441 = 2,
    POLL_MSG___441 = 3,
    POLL_ERR___441 = 4,
    POLL_PRI___441 = 5,
    POLL_HUP___441 = 6
} ;
enum __anonenum_852341087___441 {
    SIGEV_SIGNAL___441 = 0,
    SIGEV_NONE___441 = 1,
    SIGEV_THREAD___441 = 2,
    SIGEV_THREAD_ID___441 = 4
} ;
enum __anonenum_451154152___441 {
    REG_R8___441 = 0,
    REG_R9___441 = 1,
    REG_R10___441 = 2,
    REG_R11___441 = 3,
    REG_R12___441 = 4,
    REG_R13___441 = 5,
    REG_R14___441 = 6,
    REG_R15___441 = 7,
    REG_RDI___441 = 8,
    REG_RSI___441 = 9,
    REG_RBP___441 = 10,
    REG_RBX___441 = 11,
    REG_RDX___441 = 12,
    REG_RAX___441 = 13,
    REG_RCX___441 = 14,
    REG_RSP___441 = 15,
    REG_RIP___441 = 16,
    REG_EFL___441 = 17,
    REG_CSGSFS___441 = 18,
    REG_ERR___441 = 19,
    REG_TRAPNO___441 = 20,
    REG_OLDMASK___441 = 21,
    REG_CR2___441 = 22
} ;
enum __anonenum_57186863___441 {
    SS_ONSTACK___441 = 1,
    SS_DISABLE___441 = 2
} ;
enum __anonenum_83571709___441 {
    MSG_OOB___441 = 1,
    MSG_PEEK___441 = 2,
    MSG_DONTROUTE___441 = 4,
    MSG_TRYHARD___441 = 4,
    MSG_CTRUNC___441 = 8,
    MSG_PROXY___441 = 16,
    MSG_TRUNC___441 = 32,
    MSG_DONTWAIT___441 = 64,
    MSG_EOR___441 = 128,
    MSG_WAITALL___441 = 256,
    MSG_FIN___441 = 512,
    MSG_SYN___441 = 1024,
    MSG_CONFIRM___441 = 2048,
    MSG_RST___441 = 4096,
    MSG_ERRQUEUE___441 = 8192,
    MSG_NOSIGNAL___441 = 16384,
    MSG_MORE___441 = 32768,
    MSG_WAITFORONE___441 = 65536,
    MSG_BATCH___441 = 262144,
    MSG_ZEROCOPY___441 = 67108864,
    MSG_FASTOPEN___441 = 536870912,
    MSG_CMSG_CLOEXEC___441 = 1073741824
} ;
enum __anonenum_617082774___441 {
    SCM_RIGHTS___441 = 1,
    SCM_CREDENTIALS___441 = 2
} ;
enum __anonenum_606441560___441 {
    SHUT_RD___441 = 0,
    SHUT_WR___441 = 1,
    SHUT_RDWR___441 = 2
} ;
enum __anonenum_681669233___441 {
    IPPROTO_IP___441 = 0,
    IPPROTO_ICMP___441 = 1,
    IPPROTO_IGMP___441 = 2,
    IPPROTO_IPIP___441 = 4,
    IPPROTO_TCP___441 = 6,
    IPPROTO_EGP___441 = 8,
    IPPROTO_PUP___441 = 12,
    IPPROTO_UDP___441 = 17,
    IPPROTO_IDP___441 = 22,
    IPPROTO_TP___441 = 29,
    IPPROTO_DCCP___441 = 33,
    IPPROTO_IPV6___441 = 41,
    IPPROTO_RSVP___441 = 46,
    IPPROTO_GRE___441 = 47,
    IPPROTO_ESP___441 = 50,
    IPPROTO_AH___441 = 51,
    IPPROTO_MTP___441 = 92,
    IPPROTO_BEETPH___441 = 94,
    IPPROTO_ENCAP___441 = 98,
    IPPROTO_PIM___441 = 103,
    IPPROTO_COMP___441 = 108,
    IPPROTO_SCTP___441 = 132,
    IPPROTO_UDPLITE___441 = 136,
    IPPROTO_MPLS___441 = 137,
    IPPROTO_RAW___441 = 255,
    IPPROTO_MAX___441 = 256
} ;
enum __anonenum_218739988___441 {
    IPPROTO_HOPOPTS___441 = 0,
    IPPROTO_ROUTING___441 = 43,
    IPPROTO_FRAGMENT___441 = 44,
    IPPROTO_ICMPV6___441 = 58,
    IPPROTO_NONE___441 = 59,
    IPPROTO_DSTOPTS___441 = 60,
    IPPROTO_MH___441 = 135
} ;
enum __anonenum_662268580___441 {
    IPPORT_ECHO___441 = 7,
    IPPORT_DISCARD___441 = 9,
    IPPORT_SYSTAT___441 = 11,
    IPPORT_DAYTIME___441 = 13,
    IPPORT_NETSTAT___441 = 15,
    IPPORT_FTP___441 = 21,
    IPPORT_TELNET___441 = 23,
    IPPORT_SMTP___441 = 25,
    IPPORT_TIMESERVER___441 = 37,
    IPPORT_NAMESERVER___441 = 42,
    IPPORT_WHOIS___441 = 43,
    IPPORT_MTP___441 = 57,
    IPPORT_TFTP___441 = 69,
    IPPORT_RJE___441 = 77,
    IPPORT_FINGER___441 = 79,
    IPPORT_TTYLINK___441 = 87,
    IPPORT_SUPDUP___441 = 95,
    IPPORT_EXECSERVER___441 = 512,
    IPPORT_LOGINSERVER___441 = 513,
    IPPORT_CMDSERVER___441 = 514,
    IPPORT_EFSSERVER___441 = 520,
    IPPORT_BIFFUDP___441 = 512,
    IPPORT_WHOSERVER___441 = 513,
    IPPORT_ROUTESERVER___441 = 520,
    IPPORT_RESERVED___441 = 1024,
    IPPORT_USERRESERVED___441 = 5000
} ;
enum __anonenum_788308992___441 {
    TCP_ESTABLISHED___441 = 1,
    TCP_SYN_SENT___441 = 2,
    TCP_SYN_RECV___441 = 3,
    TCP_FIN_WAIT1___441 = 4,
    TCP_FIN_WAIT2___441 = 5,
    TCP_TIME_WAIT___441 = 6,
    TCP_CLOSE___441 = 7,
    TCP_CLOSE_WAIT___441 = 8,
    TCP_LAST_ACK___441 = 9,
    TCP_LISTEN___441 = 10,
    TCP_CLOSING___441 = 11
} ;
enum __anonenum_221125648___441 {
    TCP_NO_QUEUE___441 = 0,
    TCP_RECV_QUEUE___441 = 1,
    TCP_SEND_QUEUE___441 = 2,
    TCP_QUEUES_NR___441 = 3
} ;
enum __anonenum_34415463___441 {
    PTHREAD_CREATE_JOINABLE___441 = 0,
    PTHREAD_CREATE_DETACHED___441 = 1
} ;
enum __anonenum_303612439___441 {
    PTHREAD_MUTEX_TIMED_NP___441 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___441 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___441 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___441 = 3,
    PTHREAD_MUTEX_NORMAL___441 = 0,
    PTHREAD_MUTEX_RECURSIVE___441 = 1,
    PTHREAD_MUTEX_ERRORCHECK___441 = 2,
    PTHREAD_MUTEX_DEFAULT___441 = 0,
    PTHREAD_MUTEX_FAST_NP___441 = 0
} ;
enum __anonenum_931900394___441 {
    PTHREAD_MUTEX_STALLED___441 = 0,
    PTHREAD_MUTEX_STALLED_NP___441 = 0,
    PTHREAD_MUTEX_ROBUST___441 = 1,
    PTHREAD_MUTEX_ROBUST_NP___441 = 1
} ;
enum __anonenum_205214487___441 {
    PTHREAD_PRIO_NONE___441 = 0,
    PTHREAD_PRIO_INHERIT___441 = 1,
    PTHREAD_PRIO_PROTECT___441 = 2
} ;
enum __anonenum_25043950___441 {
    PTHREAD_RWLOCK_PREFER_READER_NP___441 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___441 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___441 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___441 = 0
} ;
enum __anonenum_436439511___441 {
    PTHREAD_INHERIT_SCHED___441 = 0,
    PTHREAD_EXPLICIT_SCHED___441 = 1
} ;
enum __anonenum_998661166___441 {
    PTHREAD_SCOPE_SYSTEM___441 = 0,
    PTHREAD_SCOPE_PROCESS___441 = 1
} ;
enum __anonenum_146137331___441 {
    PTHREAD_PROCESS_PRIVATE___441 = 0,
    PTHREAD_PROCESS_SHARED___441 = 1
} ;
enum __anonenum_53396917___441 {
    PTHREAD_CANCEL_ENABLE___441 = 0,
    PTHREAD_CANCEL_DISABLE___441 = 1
} ;
enum __anonenum_904563783___441 {
    PTHREAD_CANCEL_DEFERRED___441 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___441 = 1
} ;
enum __anonenum_672052974___441 {
    SSL_CT_VALIDATION_PERMISSIVE___441 = 0,
    SSL_CT_VALIDATION_STRICT___441 = 1
} ;
enum __anonenum_437032235___442 {
    _PC_LINK_MAX___442 = 0,
    _PC_MAX_CANON___442 = 1,
    _PC_MAX_INPUT___442 = 2,
    _PC_NAME_MAX___442 = 3,
    _PC_PATH_MAX___442 = 4,
    _PC_PIPE_BUF___442 = 5,
    _PC_CHOWN_RESTRICTED___442 = 6,
    _PC_NO_TRUNC___442 = 7,
    _PC_VDISABLE___442 = 8,
    _PC_SYNC_IO___442 = 9,
    _PC_ASYNC_IO___442 = 10,
    _PC_PRIO_IO___442 = 11,
    _PC_SOCK_MAXBUF___442 = 12,
    _PC_FILESIZEBITS___442 = 13,
    _PC_REC_INCR_XFER_SIZE___442 = 14,
    _PC_REC_MAX_XFER_SIZE___442 = 15,
    _PC_REC_MIN_XFER_SIZE___442 = 16,
    _PC_REC_XFER_ALIGN___442 = 17,
    _PC_ALLOC_SIZE_MIN___442 = 18,
    _PC_SYMLINK_MAX___442 = 19,
    _PC_2_SYMLINKS___442 = 20
} ;
enum __anonenum_315186338___442 {
    _SC_ARG_MAX___442 = 0,
    _SC_CHILD_MAX___442 = 1,
    _SC_CLK_TCK___442 = 2,
    _SC_NGROUPS_MAX___442 = 3,
    _SC_OPEN_MAX___442 = 4,
    _SC_STREAM_MAX___442 = 5,
    _SC_TZNAME_MAX___442 = 6,
    _SC_JOB_CONTROL___442 = 7,
    _SC_SAVED_IDS___442 = 8,
    _SC_REALTIME_SIGNALS___442 = 9,
    _SC_PRIORITY_SCHEDULING___442 = 10,
    _SC_TIMERS___442 = 11,
    _SC_ASYNCHRONOUS_IO___442 = 12,
    _SC_PRIORITIZED_IO___442 = 13,
    _SC_SYNCHRONIZED_IO___442 = 14,
    _SC_FSYNC___442 = 15,
    _SC_MAPPED_FILES___442 = 16,
    _SC_MEMLOCK___442 = 17,
    _SC_MEMLOCK_RANGE___442 = 18,
    _SC_MEMORY_PROTECTION___442 = 19,
    _SC_MESSAGE_PASSING___442 = 20,
    _SC_SEMAPHORES___442 = 21,
    _SC_SHARED_MEMORY_OBJECTS___442 = 22,
    _SC_AIO_LISTIO_MAX___442 = 23,
    _SC_AIO_MAX___442 = 24,
    _SC_AIO_PRIO_DELTA_MAX___442 = 25,
    _SC_DELAYTIMER_MAX___442 = 26,
    _SC_MQ_OPEN_MAX___442 = 27,
    _SC_MQ_PRIO_MAX___442 = 28,
    _SC_VERSION___442 = 29,
    _SC_PAGESIZE___442 = 30,
    _SC_RTSIG_MAX___442 = 31,
    _SC_SEM_NSEMS_MAX___442 = 32,
    _SC_SEM_VALUE_MAX___442 = 33,
    _SC_SIGQUEUE_MAX___442 = 34,
    _SC_TIMER_MAX___442 = 35,
    _SC_BC_BASE_MAX___442 = 36,
    _SC_BC_DIM_MAX___442 = 37,
    _SC_BC_SCALE_MAX___442 = 38,
    _SC_BC_STRING_MAX___442 = 39,
    _SC_COLL_WEIGHTS_MAX___442 = 40,
    _SC_EQUIV_CLASS_MAX___442 = 41,
    _SC_EXPR_NEST_MAX___442 = 42,
    _SC_LINE_MAX___442 = 43,
    _SC_RE_DUP_MAX___442 = 44,
    _SC_CHARCLASS_NAME_MAX___442 = 45,
    _SC_2_VERSION___442 = 46,
    _SC_2_C_BIND___442 = 47,
    _SC_2_C_DEV___442 = 48,
    _SC_2_FORT_DEV___442 = 49,
    _SC_2_FORT_RUN___442 = 50,
    _SC_2_SW_DEV___442 = 51,
    _SC_2_LOCALEDEF___442 = 52,
    _SC_PII___442 = 53,
    _SC_PII_XTI___442 = 54,
    _SC_PII_SOCKET___442 = 55,
    _SC_PII_INTERNET___442 = 56,
    _SC_PII_OSI___442 = 57,
    _SC_POLL___442 = 58,
    _SC_SELECT___442 = 59,
    _SC_UIO_MAXIOV___442 = 60,
    _SC_IOV_MAX___442 = 60,
    _SC_PII_INTERNET_STREAM___442 = 61,
    _SC_PII_INTERNET_DGRAM___442 = 62,
    _SC_PII_OSI_COTS___442 = 63,
    _SC_PII_OSI_CLTS___442 = 64,
    _SC_PII_OSI_M___442 = 65,
    _SC_T_IOV_MAX___442 = 66,
    _SC_THREADS___442 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___442 = 68,
    _SC_GETGR_R_SIZE_MAX___442 = 69,
    _SC_GETPW_R_SIZE_MAX___442 = 70,
    _SC_LOGIN_NAME_MAX___442 = 71,
    _SC_TTY_NAME_MAX___442 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___442 = 73,
    _SC_THREAD_KEYS_MAX___442 = 74,
    _SC_THREAD_STACK_MIN___442 = 75,
    _SC_THREAD_THREADS_MAX___442 = 76,
    _SC_THREAD_ATTR_STACKADDR___442 = 77,
    _SC_THREAD_ATTR_STACKSIZE___442 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___442 = 79,
    _SC_THREAD_PRIO_INHERIT___442 = 80,
    _SC_THREAD_PRIO_PROTECT___442 = 81,
    _SC_THREAD_PROCESS_SHARED___442 = 82,
    _SC_NPROCESSORS_CONF___442 = 83,
    _SC_NPROCESSORS_ONLN___442 = 84,
    _SC_PHYS_PAGES___442 = 85,
    _SC_AVPHYS_PAGES___442 = 86,
    _SC_ATEXIT_MAX___442 = 87,
    _SC_PASS_MAX___442 = 88,
    _SC_XOPEN_VERSION___442 = 89,
    _SC_XOPEN_XCU_VERSION___442 = 90,
    _SC_XOPEN_UNIX___442 = 91,
    _SC_XOPEN_CRYPT___442 = 92,
    _SC_XOPEN_ENH_I18N___442 = 93,
    _SC_XOPEN_SHM___442 = 94,
    _SC_2_CHAR_TERM___442 = 95,
    _SC_2_C_VERSION___442 = 96,
    _SC_2_UPE___442 = 97,
    _SC_XOPEN_XPG2___442 = 98,
    _SC_XOPEN_XPG3___442 = 99,
    _SC_XOPEN_XPG4___442 = 100,
    _SC_CHAR_BIT___442 = 101,
    _SC_CHAR_MAX___442 = 102,
    _SC_CHAR_MIN___442 = 103,
    _SC_INT_MAX___442 = 104,
    _SC_INT_MIN___442 = 105,
    _SC_LONG_BIT___442 = 106,
    _SC_WORD_BIT___442 = 107,
    _SC_MB_LEN_MAX___442 = 108,
    _SC_NZERO___442 = 109,
    _SC_SSIZE_MAX___442 = 110,
    _SC_SCHAR_MAX___442 = 111,
    _SC_SCHAR_MIN___442 = 112,
    _SC_SHRT_MAX___442 = 113,
    _SC_SHRT_MIN___442 = 114,
    _SC_UCHAR_MAX___442 = 115,
    _SC_UINT_MAX___442 = 116,
    _SC_ULONG_MAX___442 = 117,
    _SC_USHRT_MAX___442 = 118,
    _SC_NL_ARGMAX___442 = 119,
    _SC_NL_LANGMAX___442 = 120,
    _SC_NL_MSGMAX___442 = 121,
    _SC_NL_NMAX___442 = 122,
    _SC_NL_SETMAX___442 = 123,
    _SC_NL_TEXTMAX___442 = 124,
    _SC_XBS5_ILP32_OFF32___442 = 125,
    _SC_XBS5_ILP32_OFFBIG___442 = 126,
    _SC_XBS5_LP64_OFF64___442 = 127,
    _SC_XBS5_LPBIG_OFFBIG___442 = 128,
    _SC_XOPEN_LEGACY___442 = 129,
    _SC_XOPEN_REALTIME___442 = 130,
    _SC_XOPEN_REALTIME_THREADS___442 = 131,
    _SC_ADVISORY_INFO___442 = 132,
    _SC_BARRIERS___442 = 133,
    _SC_BASE___442 = 134,
    _SC_C_LANG_SUPPORT___442 = 135,
    _SC_C_LANG_SUPPORT_R___442 = 136,
    _SC_CLOCK_SELECTION___442 = 137,
    _SC_CPUTIME___442 = 138,
    _SC_THREAD_CPUTIME___442 = 139,
    _SC_DEVICE_IO___442 = 140,
    _SC_DEVICE_SPECIFIC___442 = 141,
    _SC_DEVICE_SPECIFIC_R___442 = 142,
    _SC_FD_MGMT___442 = 143,
    _SC_FIFO___442 = 144,
    _SC_PIPE___442 = 145,
    _SC_FILE_ATTRIBUTES___442 = 146,
    _SC_FILE_LOCKING___442 = 147,
    _SC_FILE_SYSTEM___442 = 148,
    _SC_MONOTONIC_CLOCK___442 = 149,
    _SC_MULTI_PROCESS___442 = 150,
    _SC_SINGLE_PROCESS___442 = 151,
    _SC_NETWORKING___442 = 152,
    _SC_READER_WRITER_LOCKS___442 = 153,
    _SC_SPIN_LOCKS___442 = 154,
    _SC_REGEXP___442 = 155,
    _SC_REGEX_VERSION___442 = 156,
    _SC_SHELL___442 = 157,
    _SC_SIGNALS___442 = 158,
    _SC_SPAWN___442 = 159,
    _SC_SPORADIC_SERVER___442 = 160,
    _SC_THREAD_SPORADIC_SERVER___442 = 161,
    _SC_SYSTEM_DATABASE___442 = 162,
    _SC_SYSTEM_DATABASE_R___442 = 163,
    _SC_TIMEOUTS___442 = 164,
    _SC_TYPED_MEMORY_OBJECTS___442 = 165,
    _SC_USER_GROUPS___442 = 166,
    _SC_USER_GROUPS_R___442 = 167,
    _SC_2_PBS___442 = 168,
    _SC_2_PBS_ACCOUNTING___442 = 169,
    _SC_2_PBS_LOCATE___442 = 170,
    _SC_2_PBS_MESSAGE___442 = 171,
    _SC_2_PBS_TRACK___442 = 172,
    _SC_SYMLOOP_MAX___442 = 173,
    _SC_STREAMS___442 = 174,
    _SC_2_PBS_CHECKPOINT___442 = 175,
    _SC_V6_ILP32_OFF32___442 = 176,
    _SC_V6_ILP32_OFFBIG___442 = 177,
    _SC_V6_LP64_OFF64___442 = 178,
    _SC_V6_LPBIG_OFFBIG___442 = 179,
    _SC_HOST_NAME_MAX___442 = 180,
    _SC_TRACE___442 = 181,
    _SC_TRACE_EVENT_FILTER___442 = 182,
    _SC_TRACE_INHERIT___442 = 183,
    _SC_TRACE_LOG___442 = 184,
    _SC_LEVEL1_ICACHE_SIZE___442 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___442 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___442 = 187,
    _SC_LEVEL1_DCACHE_SIZE___442 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___442 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___442 = 190,
    _SC_LEVEL2_CACHE_SIZE___442 = 191,
    _SC_LEVEL2_CACHE_ASSOC___442 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___442 = 193,
    _SC_LEVEL3_CACHE_SIZE___442 = 194,
    _SC_LEVEL3_CACHE_ASSOC___442 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___442 = 196,
    _SC_LEVEL4_CACHE_SIZE___442 = 197,
    _SC_LEVEL4_CACHE_ASSOC___442 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___442 = 199,
    _SC_IPV6___442 = 235,
    _SC_RAW_SOCKETS___442 = 236,
    _SC_V7_ILP32_OFF32___442 = 237,
    _SC_V7_ILP32_OFFBIG___442 = 238,
    _SC_V7_LP64_OFF64___442 = 239,
    _SC_V7_LPBIG_OFFBIG___442 = 240,
    _SC_SS_REPL_MAX___442 = 241,
    _SC_TRACE_EVENT_NAME_MAX___442 = 242,
    _SC_TRACE_NAME_MAX___442 = 243,
    _SC_TRACE_SYS_MAX___442 = 244,
    _SC_TRACE_USER_EVENT_MAX___442 = 245,
    _SC_XOPEN_STREAMS___442 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___442 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___442 = 248
} ;
enum __anonenum_875524036___442 {
    _CS_PATH___442 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___442 = 1,
    _CS_GNU_LIBC_VERSION___442 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___442 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___442 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___442 = 5,
    _CS_LFS_CFLAGS___442 = 1000,
    _CS_LFS_LDFLAGS___442 = 1001,
    _CS_LFS_LIBS___442 = 1002,
    _CS_LFS_LINTFLAGS___442 = 1003,
    _CS_LFS64_CFLAGS___442 = 1004,
    _CS_LFS64_LDFLAGS___442 = 1005,
    _CS_LFS64_LIBS___442 = 1006,
    _CS_LFS64_LINTFLAGS___442 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___442 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___442 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___442 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___442 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___442 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___442 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___442 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___442 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___442 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___442 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___442 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___442 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___442 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___442 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___442 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___442 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___442 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___442 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___442 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___442 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___442 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___442 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___442 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___442 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___442 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___442 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___442 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___442 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___442 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___442 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___442 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___442 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___442 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___442 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___442 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___442 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___442 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___442 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___442 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___442 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___442 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___442 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___442 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___442 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___442 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___442 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___442 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___442 = 1147,
    _CS_V6_ENV___442 = 1148,
    _CS_V7_ENV___442 = 1149
} ;
enum __anonenum_513775621___442 {
    DT_UNKNOWN___442 = 0,
    DT_FIFO___442 = 1,
    DT_CHR___442 = 2,
    DT_DIR___442 = 4,
    DT_BLK___442 = 6,
    DT_REG___442 = 8,
    DT_LNK___442 = 10,
    DT_SOCK___442 = 12,
    DT_WHT___442 = 14
} ;
enum __anonenum_77002343___442 {
    SI_ASYNCNL___442 = -60,
    SI_TKILL___442 = -6,
    SI_SIGIO___442 = -5,
    SI_ASYNCIO___442 = -4,
    SI_MESGQ___442 = -3,
    SI_TIMER___442 = -2,
    SI_QUEUE___442 = -1,
    SI_USER___442 = 0,
    SI_KERNEL___442 = 128
} ;
enum __anonenum_131038172___442 {
    ILL_ILLOPC___442 = 1,
    ILL_ILLOPN___442 = 2,
    ILL_ILLADR___442 = 3,
    ILL_ILLTRP___442 = 4,
    ILL_PRVOPC___442 = 5,
    ILL_PRVREG___442 = 6,
    ILL_COPROC___442 = 7,
    ILL_BADSTK___442 = 8
} ;
enum __anonenum_452038093___442 {
    FPE_INTDIV___442 = 1,
    FPE_INTOVF___442 = 2,
    FPE_FLTDIV___442 = 3,
    FPE_FLTOVF___442 = 4,
    FPE_FLTUND___442 = 5,
    FPE_FLTRES___442 = 6,
    FPE_FLTINV___442 = 7,
    FPE_FLTSUB___442 = 8
} ;
enum __anonenum_30976155___442 {
    SEGV_MAPERR___442 = 1,
    SEGV_ACCERR___442 = 2,
    SEGV_BNDERR___442 = 3,
    SEGV_PKUERR___442 = 4
} ;
enum __anonenum_1036286214___442 {
    BUS_ADRALN___442 = 1,
    BUS_ADRERR___442 = 2,
    BUS_OBJERR___442 = 3,
    BUS_MCEERR_AR___442 = 4,
    BUS_MCEERR_AO___442 = 5
} ;
enum __anonenum_493465559___442 {
    TRAP_BRKPT___442 = 1,
    TRAP_TRACE___442 = 2
} ;
enum __anonenum_23175539___442 {
    CLD_EXITED___442 = 1,
    CLD_KILLED___442 = 2,
    CLD_DUMPED___442 = 3,
    CLD_TRAPPED___442 = 4,
    CLD_STOPPED___442 = 5,
    CLD_CONTINUED___442 = 6
} ;
enum __anonenum_111643124___442 {
    POLL_IN___442 = 1,
    POLL_OUT___442 = 2,
    POLL_MSG___442 = 3,
    POLL_ERR___442 = 4,
    POLL_PRI___442 = 5,
    POLL_HUP___442 = 6
} ;
enum __anonenum_852341087___442 {
    SIGEV_SIGNAL___442 = 0,
    SIGEV_NONE___442 = 1,
    SIGEV_THREAD___442 = 2,
    SIGEV_THREAD_ID___442 = 4
} ;
enum __anonenum_451154152___442 {
    REG_R8___442 = 0,
    REG_R9___442 = 1,
    REG_R10___442 = 2,
    REG_R11___442 = 3,
    REG_R12___442 = 4,
    REG_R13___442 = 5,
    REG_R14___442 = 6,
    REG_R15___442 = 7,
    REG_RDI___442 = 8,
    REG_RSI___442 = 9,
    REG_RBP___442 = 10,
    REG_RBX___442 = 11,
    REG_RDX___442 = 12,
    REG_RAX___442 = 13,
    REG_RCX___442 = 14,
    REG_RSP___442 = 15,
    REG_RIP___442 = 16,
    REG_EFL___442 = 17,
    REG_CSGSFS___442 = 18,
    REG_ERR___442 = 19,
    REG_TRAPNO___442 = 20,
    REG_OLDMASK___442 = 21,
    REG_CR2___442 = 22
} ;
enum __anonenum_57186863___442 {
    SS_ONSTACK___442 = 1,
    SS_DISABLE___442 = 2
} ;
enum __anonenum_83571709___442 {
    MSG_OOB___442 = 1,
    MSG_PEEK___442 = 2,
    MSG_DONTROUTE___442 = 4,
    MSG_TRYHARD___442 = 4,
    MSG_CTRUNC___442 = 8,
    MSG_PROXY___442 = 16,
    MSG_TRUNC___442 = 32,
    MSG_DONTWAIT___442 = 64,
    MSG_EOR___442 = 128,
    MSG_WAITALL___442 = 256,
    MSG_FIN___442 = 512,
    MSG_SYN___442 = 1024,
    MSG_CONFIRM___442 = 2048,
    MSG_RST___442 = 4096,
    MSG_ERRQUEUE___442 = 8192,
    MSG_NOSIGNAL___442 = 16384,
    MSG_MORE___442 = 32768,
    MSG_WAITFORONE___442 = 65536,
    MSG_BATCH___442 = 262144,
    MSG_ZEROCOPY___442 = 67108864,
    MSG_FASTOPEN___442 = 536870912,
    MSG_CMSG_CLOEXEC___442 = 1073741824
} ;
enum __anonenum_617082774___442 {
    SCM_RIGHTS___442 = 1,
    SCM_CREDENTIALS___442 = 2
} ;
enum __anonenum_606441560___442 {
    SHUT_RD___442 = 0,
    SHUT_WR___442 = 1,
    SHUT_RDWR___442 = 2
} ;
enum __anonenum_681669233___442 {
    IPPROTO_IP___442 = 0,
    IPPROTO_ICMP___442 = 1,
    IPPROTO_IGMP___442 = 2,
    IPPROTO_IPIP___442 = 4,
    IPPROTO_TCP___442 = 6,
    IPPROTO_EGP___442 = 8,
    IPPROTO_PUP___442 = 12,
    IPPROTO_UDP___442 = 17,
    IPPROTO_IDP___442 = 22,
    IPPROTO_TP___442 = 29,
    IPPROTO_DCCP___442 = 33,
    IPPROTO_IPV6___442 = 41,
    IPPROTO_RSVP___442 = 46,
    IPPROTO_GRE___442 = 47,
    IPPROTO_ESP___442 = 50,
    IPPROTO_AH___442 = 51,
    IPPROTO_MTP___442 = 92,
    IPPROTO_BEETPH___442 = 94,
    IPPROTO_ENCAP___442 = 98,
    IPPROTO_PIM___442 = 103,
    IPPROTO_COMP___442 = 108,
    IPPROTO_SCTP___442 = 132,
    IPPROTO_UDPLITE___442 = 136,
    IPPROTO_MPLS___442 = 137,
    IPPROTO_RAW___442 = 255,
    IPPROTO_MAX___442 = 256
} ;
enum __anonenum_218739988___442 {
    IPPROTO_HOPOPTS___442 = 0,
    IPPROTO_ROUTING___442 = 43,
    IPPROTO_FRAGMENT___442 = 44,
    IPPROTO_ICMPV6___442 = 58,
    IPPROTO_NONE___442 = 59,
    IPPROTO_DSTOPTS___442 = 60,
    IPPROTO_MH___442 = 135
} ;
enum __anonenum_662268580___442 {
    IPPORT_ECHO___442 = 7,
    IPPORT_DISCARD___442 = 9,
    IPPORT_SYSTAT___442 = 11,
    IPPORT_DAYTIME___442 = 13,
    IPPORT_NETSTAT___442 = 15,
    IPPORT_FTP___442 = 21,
    IPPORT_TELNET___442 = 23,
    IPPORT_SMTP___442 = 25,
    IPPORT_TIMESERVER___442 = 37,
    IPPORT_NAMESERVER___442 = 42,
    IPPORT_WHOIS___442 = 43,
    IPPORT_MTP___442 = 57,
    IPPORT_TFTP___442 = 69,
    IPPORT_RJE___442 = 77,
    IPPORT_FINGER___442 = 79,
    IPPORT_TTYLINK___442 = 87,
    IPPORT_SUPDUP___442 = 95,
    IPPORT_EXECSERVER___442 = 512,
    IPPORT_LOGINSERVER___442 = 513,
    IPPORT_CMDSERVER___442 = 514,
    IPPORT_EFSSERVER___442 = 520,
    IPPORT_BIFFUDP___442 = 512,
    IPPORT_WHOSERVER___442 = 513,
    IPPORT_ROUTESERVER___442 = 520,
    IPPORT_RESERVED___442 = 1024,
    IPPORT_USERRESERVED___442 = 5000
} ;
enum __anonenum_788308992___442 {
    TCP_ESTABLISHED___442 = 1,
    TCP_SYN_SENT___442 = 2,
    TCP_SYN_RECV___442 = 3,
    TCP_FIN_WAIT1___442 = 4,
    TCP_FIN_WAIT2___442 = 5,
    TCP_TIME_WAIT___442 = 6,
    TCP_CLOSE___442 = 7,
    TCP_CLOSE_WAIT___442 = 8,
    TCP_LAST_ACK___442 = 9,
    TCP_LISTEN___442 = 10,
    TCP_CLOSING___442 = 11
} ;
enum __anonenum_221125648___442 {
    TCP_NO_QUEUE___442 = 0,
    TCP_RECV_QUEUE___442 = 1,
    TCP_SEND_QUEUE___442 = 2,
    TCP_QUEUES_NR___442 = 3
} ;
enum __anonenum_34415463___442 {
    PTHREAD_CREATE_JOINABLE___442 = 0,
    PTHREAD_CREATE_DETACHED___442 = 1
} ;
enum __anonenum_303612439___442 {
    PTHREAD_MUTEX_TIMED_NP___442 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___442 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___442 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___442 = 3,
    PTHREAD_MUTEX_NORMAL___442 = 0,
    PTHREAD_MUTEX_RECURSIVE___442 = 1,
    PTHREAD_MUTEX_ERRORCHECK___442 = 2,
    PTHREAD_MUTEX_DEFAULT___442 = 0,
    PTHREAD_MUTEX_FAST_NP___442 = 0
} ;
enum __anonenum_931900394___442 {
    PTHREAD_MUTEX_STALLED___442 = 0,
    PTHREAD_MUTEX_STALLED_NP___442 = 0,
    PTHREAD_MUTEX_ROBUST___442 = 1,
    PTHREAD_MUTEX_ROBUST_NP___442 = 1
} ;
enum __anonenum_205214487___442 {
    PTHREAD_PRIO_NONE___442 = 0,
    PTHREAD_PRIO_INHERIT___442 = 1,
    PTHREAD_PRIO_PROTECT___442 = 2
} ;
enum __anonenum_25043950___442 {
    PTHREAD_RWLOCK_PREFER_READER_NP___442 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___442 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___442 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___442 = 0
} ;
enum __anonenum_436439511___442 {
    PTHREAD_INHERIT_SCHED___442 = 0,
    PTHREAD_EXPLICIT_SCHED___442 = 1
} ;
enum __anonenum_998661166___442 {
    PTHREAD_SCOPE_SYSTEM___442 = 0,
    PTHREAD_SCOPE_PROCESS___442 = 1
} ;
enum __anonenum_146137331___442 {
    PTHREAD_PROCESS_PRIVATE___442 = 0,
    PTHREAD_PROCESS_SHARED___442 = 1
} ;
enum __anonenum_53396917___442 {
    PTHREAD_CANCEL_ENABLE___442 = 0,
    PTHREAD_CANCEL_DISABLE___442 = 1
} ;
enum __anonenum_904563783___442 {
    PTHREAD_CANCEL_DEFERRED___442 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___442 = 1
} ;
enum __anonenum_672052974___442 {
    SSL_CT_VALIDATION_PERMISSIVE___442 = 0,
    SSL_CT_VALIDATION_STRICT___442 = 1
} ;
enum __anonenum_437032235___443 {
    _PC_LINK_MAX___443 = 0,
    _PC_MAX_CANON___443 = 1,
    _PC_MAX_INPUT___443 = 2,
    _PC_NAME_MAX___443 = 3,
    _PC_PATH_MAX___443 = 4,
    _PC_PIPE_BUF___443 = 5,
    _PC_CHOWN_RESTRICTED___443 = 6,
    _PC_NO_TRUNC___443 = 7,
    _PC_VDISABLE___443 = 8,
    _PC_SYNC_IO___443 = 9,
    _PC_ASYNC_IO___443 = 10,
    _PC_PRIO_IO___443 = 11,
    _PC_SOCK_MAXBUF___443 = 12,
    _PC_FILESIZEBITS___443 = 13,
    _PC_REC_INCR_XFER_SIZE___443 = 14,
    _PC_REC_MAX_XFER_SIZE___443 = 15,
    _PC_REC_MIN_XFER_SIZE___443 = 16,
    _PC_REC_XFER_ALIGN___443 = 17,
    _PC_ALLOC_SIZE_MIN___443 = 18,
    _PC_SYMLINK_MAX___443 = 19,
    _PC_2_SYMLINKS___443 = 20
} ;
enum __anonenum_315186338___443 {
    _SC_ARG_MAX___443 = 0,
    _SC_CHILD_MAX___443 = 1,
    _SC_CLK_TCK___443 = 2,
    _SC_NGROUPS_MAX___443 = 3,
    _SC_OPEN_MAX___443 = 4,
    _SC_STREAM_MAX___443 = 5,
    _SC_TZNAME_MAX___443 = 6,
    _SC_JOB_CONTROL___443 = 7,
    _SC_SAVED_IDS___443 = 8,
    _SC_REALTIME_SIGNALS___443 = 9,
    _SC_PRIORITY_SCHEDULING___443 = 10,
    _SC_TIMERS___443 = 11,
    _SC_ASYNCHRONOUS_IO___443 = 12,
    _SC_PRIORITIZED_IO___443 = 13,
    _SC_SYNCHRONIZED_IO___443 = 14,
    _SC_FSYNC___443 = 15,
    _SC_MAPPED_FILES___443 = 16,
    _SC_MEMLOCK___443 = 17,
    _SC_MEMLOCK_RANGE___443 = 18,
    _SC_MEMORY_PROTECTION___443 = 19,
    _SC_MESSAGE_PASSING___443 = 20,
    _SC_SEMAPHORES___443 = 21,
    _SC_SHARED_MEMORY_OBJECTS___443 = 22,
    _SC_AIO_LISTIO_MAX___443 = 23,
    _SC_AIO_MAX___443 = 24,
    _SC_AIO_PRIO_DELTA_MAX___443 = 25,
    _SC_DELAYTIMER_MAX___443 = 26,
    _SC_MQ_OPEN_MAX___443 = 27,
    _SC_MQ_PRIO_MAX___443 = 28,
    _SC_VERSION___443 = 29,
    _SC_PAGESIZE___443 = 30,
    _SC_RTSIG_MAX___443 = 31,
    _SC_SEM_NSEMS_MAX___443 = 32,
    _SC_SEM_VALUE_MAX___443 = 33,
    _SC_SIGQUEUE_MAX___443 = 34,
    _SC_TIMER_MAX___443 = 35,
    _SC_BC_BASE_MAX___443 = 36,
    _SC_BC_DIM_MAX___443 = 37,
    _SC_BC_SCALE_MAX___443 = 38,
    _SC_BC_STRING_MAX___443 = 39,
    _SC_COLL_WEIGHTS_MAX___443 = 40,
    _SC_EQUIV_CLASS_MAX___443 = 41,
    _SC_EXPR_NEST_MAX___443 = 42,
    _SC_LINE_MAX___443 = 43,
    _SC_RE_DUP_MAX___443 = 44,
    _SC_CHARCLASS_NAME_MAX___443 = 45,
    _SC_2_VERSION___443 = 46,
    _SC_2_C_BIND___443 = 47,
    _SC_2_C_DEV___443 = 48,
    _SC_2_FORT_DEV___443 = 49,
    _SC_2_FORT_RUN___443 = 50,
    _SC_2_SW_DEV___443 = 51,
    _SC_2_LOCALEDEF___443 = 52,
    _SC_PII___443 = 53,
    _SC_PII_XTI___443 = 54,
    _SC_PII_SOCKET___443 = 55,
    _SC_PII_INTERNET___443 = 56,
    _SC_PII_OSI___443 = 57,
    _SC_POLL___443 = 58,
    _SC_SELECT___443 = 59,
    _SC_UIO_MAXIOV___443 = 60,
    _SC_IOV_MAX___443 = 60,
    _SC_PII_INTERNET_STREAM___443 = 61,
    _SC_PII_INTERNET_DGRAM___443 = 62,
    _SC_PII_OSI_COTS___443 = 63,
    _SC_PII_OSI_CLTS___443 = 64,
    _SC_PII_OSI_M___443 = 65,
    _SC_T_IOV_MAX___443 = 66,
    _SC_THREADS___443 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___443 = 68,
    _SC_GETGR_R_SIZE_MAX___443 = 69,
    _SC_GETPW_R_SIZE_MAX___443 = 70,
    _SC_LOGIN_NAME_MAX___443 = 71,
    _SC_TTY_NAME_MAX___443 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___443 = 73,
    _SC_THREAD_KEYS_MAX___443 = 74,
    _SC_THREAD_STACK_MIN___443 = 75,
    _SC_THREAD_THREADS_MAX___443 = 76,
    _SC_THREAD_ATTR_STACKADDR___443 = 77,
    _SC_THREAD_ATTR_STACKSIZE___443 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___443 = 79,
    _SC_THREAD_PRIO_INHERIT___443 = 80,
    _SC_THREAD_PRIO_PROTECT___443 = 81,
    _SC_THREAD_PROCESS_SHARED___443 = 82,
    _SC_NPROCESSORS_CONF___443 = 83,
    _SC_NPROCESSORS_ONLN___443 = 84,
    _SC_PHYS_PAGES___443 = 85,
    _SC_AVPHYS_PAGES___443 = 86,
    _SC_ATEXIT_MAX___443 = 87,
    _SC_PASS_MAX___443 = 88,
    _SC_XOPEN_VERSION___443 = 89,
    _SC_XOPEN_XCU_VERSION___443 = 90,
    _SC_XOPEN_UNIX___443 = 91,
    _SC_XOPEN_CRYPT___443 = 92,
    _SC_XOPEN_ENH_I18N___443 = 93,
    _SC_XOPEN_SHM___443 = 94,
    _SC_2_CHAR_TERM___443 = 95,
    _SC_2_C_VERSION___443 = 96,
    _SC_2_UPE___443 = 97,
    _SC_XOPEN_XPG2___443 = 98,
    _SC_XOPEN_XPG3___443 = 99,
    _SC_XOPEN_XPG4___443 = 100,
    _SC_CHAR_BIT___443 = 101,
    _SC_CHAR_MAX___443 = 102,
    _SC_CHAR_MIN___443 = 103,
    _SC_INT_MAX___443 = 104,
    _SC_INT_MIN___443 = 105,
    _SC_LONG_BIT___443 = 106,
    _SC_WORD_BIT___443 = 107,
    _SC_MB_LEN_MAX___443 = 108,
    _SC_NZERO___443 = 109,
    _SC_SSIZE_MAX___443 = 110,
    _SC_SCHAR_MAX___443 = 111,
    _SC_SCHAR_MIN___443 = 112,
    _SC_SHRT_MAX___443 = 113,
    _SC_SHRT_MIN___443 = 114,
    _SC_UCHAR_MAX___443 = 115,
    _SC_UINT_MAX___443 = 116,
    _SC_ULONG_MAX___443 = 117,
    _SC_USHRT_MAX___443 = 118,
    _SC_NL_ARGMAX___443 = 119,
    _SC_NL_LANGMAX___443 = 120,
    _SC_NL_MSGMAX___443 = 121,
    _SC_NL_NMAX___443 = 122,
    _SC_NL_SETMAX___443 = 123,
    _SC_NL_TEXTMAX___443 = 124,
    _SC_XBS5_ILP32_OFF32___443 = 125,
    _SC_XBS5_ILP32_OFFBIG___443 = 126,
    _SC_XBS5_LP64_OFF64___443 = 127,
    _SC_XBS5_LPBIG_OFFBIG___443 = 128,
    _SC_XOPEN_LEGACY___443 = 129,
    _SC_XOPEN_REALTIME___443 = 130,
    _SC_XOPEN_REALTIME_THREADS___443 = 131,
    _SC_ADVISORY_INFO___443 = 132,
    _SC_BARRIERS___443 = 133,
    _SC_BASE___443 = 134,
    _SC_C_LANG_SUPPORT___443 = 135,
    _SC_C_LANG_SUPPORT_R___443 = 136,
    _SC_CLOCK_SELECTION___443 = 137,
    _SC_CPUTIME___443 = 138,
    _SC_THREAD_CPUTIME___443 = 139,
    _SC_DEVICE_IO___443 = 140,
    _SC_DEVICE_SPECIFIC___443 = 141,
    _SC_DEVICE_SPECIFIC_R___443 = 142,
    _SC_FD_MGMT___443 = 143,
    _SC_FIFO___443 = 144,
    _SC_PIPE___443 = 145,
    _SC_FILE_ATTRIBUTES___443 = 146,
    _SC_FILE_LOCKING___443 = 147,
    _SC_FILE_SYSTEM___443 = 148,
    _SC_MONOTONIC_CLOCK___443 = 149,
    _SC_MULTI_PROCESS___443 = 150,
    _SC_SINGLE_PROCESS___443 = 151,
    _SC_NETWORKING___443 = 152,
    _SC_READER_WRITER_LOCKS___443 = 153,
    _SC_SPIN_LOCKS___443 = 154,
    _SC_REGEXP___443 = 155,
    _SC_REGEX_VERSION___443 = 156,
    _SC_SHELL___443 = 157,
    _SC_SIGNALS___443 = 158,
    _SC_SPAWN___443 = 159,
    _SC_SPORADIC_SERVER___443 = 160,
    _SC_THREAD_SPORADIC_SERVER___443 = 161,
    _SC_SYSTEM_DATABASE___443 = 162,
    _SC_SYSTEM_DATABASE_R___443 = 163,
    _SC_TIMEOUTS___443 = 164,
    _SC_TYPED_MEMORY_OBJECTS___443 = 165,
    _SC_USER_GROUPS___443 = 166,
    _SC_USER_GROUPS_R___443 = 167,
    _SC_2_PBS___443 = 168,
    _SC_2_PBS_ACCOUNTING___443 = 169,
    _SC_2_PBS_LOCATE___443 = 170,
    _SC_2_PBS_MESSAGE___443 = 171,
    _SC_2_PBS_TRACK___443 = 172,
    _SC_SYMLOOP_MAX___443 = 173,
    _SC_STREAMS___443 = 174,
    _SC_2_PBS_CHECKPOINT___443 = 175,
    _SC_V6_ILP32_OFF32___443 = 176,
    _SC_V6_ILP32_OFFBIG___443 = 177,
    _SC_V6_LP64_OFF64___443 = 178,
    _SC_V6_LPBIG_OFFBIG___443 = 179,
    _SC_HOST_NAME_MAX___443 = 180,
    _SC_TRACE___443 = 181,
    _SC_TRACE_EVENT_FILTER___443 = 182,
    _SC_TRACE_INHERIT___443 = 183,
    _SC_TRACE_LOG___443 = 184,
    _SC_LEVEL1_ICACHE_SIZE___443 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___443 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___443 = 187,
    _SC_LEVEL1_DCACHE_SIZE___443 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___443 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___443 = 190,
    _SC_LEVEL2_CACHE_SIZE___443 = 191,
    _SC_LEVEL2_CACHE_ASSOC___443 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___443 = 193,
    _SC_LEVEL3_CACHE_SIZE___443 = 194,
    _SC_LEVEL3_CACHE_ASSOC___443 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___443 = 196,
    _SC_LEVEL4_CACHE_SIZE___443 = 197,
    _SC_LEVEL4_CACHE_ASSOC___443 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___443 = 199,
    _SC_IPV6___443 = 235,
    _SC_RAW_SOCKETS___443 = 236,
    _SC_V7_ILP32_OFF32___443 = 237,
    _SC_V7_ILP32_OFFBIG___443 = 238,
    _SC_V7_LP64_OFF64___443 = 239,
    _SC_V7_LPBIG_OFFBIG___443 = 240,
    _SC_SS_REPL_MAX___443 = 241,
    _SC_TRACE_EVENT_NAME_MAX___443 = 242,
    _SC_TRACE_NAME_MAX___443 = 243,
    _SC_TRACE_SYS_MAX___443 = 244,
    _SC_TRACE_USER_EVENT_MAX___443 = 245,
    _SC_XOPEN_STREAMS___443 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___443 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___443 = 248
} ;
enum __anonenum_875524036___443 {
    _CS_PATH___443 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___443 = 1,
    _CS_GNU_LIBC_VERSION___443 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___443 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___443 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___443 = 5,
    _CS_LFS_CFLAGS___443 = 1000,
    _CS_LFS_LDFLAGS___443 = 1001,
    _CS_LFS_LIBS___443 = 1002,
    _CS_LFS_LINTFLAGS___443 = 1003,
    _CS_LFS64_CFLAGS___443 = 1004,
    _CS_LFS64_LDFLAGS___443 = 1005,
    _CS_LFS64_LIBS___443 = 1006,
    _CS_LFS64_LINTFLAGS___443 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___443 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___443 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___443 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___443 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___443 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___443 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___443 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___443 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___443 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___443 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___443 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___443 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___443 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___443 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___443 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___443 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___443 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___443 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___443 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___443 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___443 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___443 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___443 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___443 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___443 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___443 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___443 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___443 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___443 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___443 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___443 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___443 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___443 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___443 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___443 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___443 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___443 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___443 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___443 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___443 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___443 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___443 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___443 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___443 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___443 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___443 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___443 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___443 = 1147,
    _CS_V6_ENV___443 = 1148,
    _CS_V7_ENV___443 = 1149
} ;
enum __anonenum_513775621___443 {
    DT_UNKNOWN___443 = 0,
    DT_FIFO___443 = 1,
    DT_CHR___443 = 2,
    DT_DIR___443 = 4,
    DT_BLK___443 = 6,
    DT_REG___443 = 8,
    DT_LNK___443 = 10,
    DT_SOCK___443 = 12,
    DT_WHT___443 = 14
} ;
enum __anonenum_77002343___443 {
    SI_ASYNCNL___443 = -60,
    SI_TKILL___443 = -6,
    SI_SIGIO___443 = -5,
    SI_ASYNCIO___443 = -4,
    SI_MESGQ___443 = -3,
    SI_TIMER___443 = -2,
    SI_QUEUE___443 = -1,
    SI_USER___443 = 0,
    SI_KERNEL___443 = 128
} ;
enum __anonenum_131038172___443 {
    ILL_ILLOPC___443 = 1,
    ILL_ILLOPN___443 = 2,
    ILL_ILLADR___443 = 3,
    ILL_ILLTRP___443 = 4,
    ILL_PRVOPC___443 = 5,
    ILL_PRVREG___443 = 6,
    ILL_COPROC___443 = 7,
    ILL_BADSTK___443 = 8
} ;
enum __anonenum_452038093___443 {
    FPE_INTDIV___443 = 1,
    FPE_INTOVF___443 = 2,
    FPE_FLTDIV___443 = 3,
    FPE_FLTOVF___443 = 4,
    FPE_FLTUND___443 = 5,
    FPE_FLTRES___443 = 6,
    FPE_FLTINV___443 = 7,
    FPE_FLTSUB___443 = 8
} ;
enum __anonenum_30976155___443 {
    SEGV_MAPERR___443 = 1,
    SEGV_ACCERR___443 = 2,
    SEGV_BNDERR___443 = 3,
    SEGV_PKUERR___443 = 4
} ;
enum __anonenum_1036286214___443 {
    BUS_ADRALN___443 = 1,
    BUS_ADRERR___443 = 2,
    BUS_OBJERR___443 = 3,
    BUS_MCEERR_AR___443 = 4,
    BUS_MCEERR_AO___443 = 5
} ;
enum __anonenum_493465559___443 {
    TRAP_BRKPT___443 = 1,
    TRAP_TRACE___443 = 2
} ;
enum __anonenum_23175539___443 {
    CLD_EXITED___443 = 1,
    CLD_KILLED___443 = 2,
    CLD_DUMPED___443 = 3,
    CLD_TRAPPED___443 = 4,
    CLD_STOPPED___443 = 5,
    CLD_CONTINUED___443 = 6
} ;
enum __anonenum_111643124___443 {
    POLL_IN___443 = 1,
    POLL_OUT___443 = 2,
    POLL_MSG___443 = 3,
    POLL_ERR___443 = 4,
    POLL_PRI___443 = 5,
    POLL_HUP___443 = 6
} ;
enum __anonenum_852341087___443 {
    SIGEV_SIGNAL___443 = 0,
    SIGEV_NONE___443 = 1,
    SIGEV_THREAD___443 = 2,
    SIGEV_THREAD_ID___443 = 4
} ;
enum __anonenum_451154152___443 {
    REG_R8___443 = 0,
    REG_R9___443 = 1,
    REG_R10___443 = 2,
    REG_R11___443 = 3,
    REG_R12___443 = 4,
    REG_R13___443 = 5,
    REG_R14___443 = 6,
    REG_R15___443 = 7,
    REG_RDI___443 = 8,
    REG_RSI___443 = 9,
    REG_RBP___443 = 10,
    REG_RBX___443 = 11,
    REG_RDX___443 = 12,
    REG_RAX___443 = 13,
    REG_RCX___443 = 14,
    REG_RSP___443 = 15,
    REG_RIP___443 = 16,
    REG_EFL___443 = 17,
    REG_CSGSFS___443 = 18,
    REG_ERR___443 = 19,
    REG_TRAPNO___443 = 20,
    REG_OLDMASK___443 = 21,
    REG_CR2___443 = 22
} ;
enum __anonenum_57186863___443 {
    SS_ONSTACK___443 = 1,
    SS_DISABLE___443 = 2
} ;
enum __anonenum_83571709___443 {
    MSG_OOB___443 = 1,
    MSG_PEEK___443 = 2,
    MSG_DONTROUTE___443 = 4,
    MSG_TRYHARD___443 = 4,
    MSG_CTRUNC___443 = 8,
    MSG_PROXY___443 = 16,
    MSG_TRUNC___443 = 32,
    MSG_DONTWAIT___443 = 64,
    MSG_EOR___443 = 128,
    MSG_WAITALL___443 = 256,
    MSG_FIN___443 = 512,
    MSG_SYN___443 = 1024,
    MSG_CONFIRM___443 = 2048,
    MSG_RST___443 = 4096,
    MSG_ERRQUEUE___443 = 8192,
    MSG_NOSIGNAL___443 = 16384,
    MSG_MORE___443 = 32768,
    MSG_WAITFORONE___443 = 65536,
    MSG_BATCH___443 = 262144,
    MSG_ZEROCOPY___443 = 67108864,
    MSG_FASTOPEN___443 = 536870912,
    MSG_CMSG_CLOEXEC___443 = 1073741824
} ;
enum __anonenum_617082774___443 {
    SCM_RIGHTS___443 = 1,
    SCM_CREDENTIALS___443 = 2
} ;
enum __anonenum_606441560___443 {
    SHUT_RD___443 = 0,
    SHUT_WR___443 = 1,
    SHUT_RDWR___443 = 2
} ;
enum __anonenum_681669233___443 {
    IPPROTO_IP___443 = 0,
    IPPROTO_ICMP___443 = 1,
    IPPROTO_IGMP___443 = 2,
    IPPROTO_IPIP___443 = 4,
    IPPROTO_TCP___443 = 6,
    IPPROTO_EGP___443 = 8,
    IPPROTO_PUP___443 = 12,
    IPPROTO_UDP___443 = 17,
    IPPROTO_IDP___443 = 22,
    IPPROTO_TP___443 = 29,
    IPPROTO_DCCP___443 = 33,
    IPPROTO_IPV6___443 = 41,
    IPPROTO_RSVP___443 = 46,
    IPPROTO_GRE___443 = 47,
    IPPROTO_ESP___443 = 50,
    IPPROTO_AH___443 = 51,
    IPPROTO_MTP___443 = 92,
    IPPROTO_BEETPH___443 = 94,
    IPPROTO_ENCAP___443 = 98,
    IPPROTO_PIM___443 = 103,
    IPPROTO_COMP___443 = 108,
    IPPROTO_SCTP___443 = 132,
    IPPROTO_UDPLITE___443 = 136,
    IPPROTO_MPLS___443 = 137,
    IPPROTO_RAW___443 = 255,
    IPPROTO_MAX___443 = 256
} ;
enum __anonenum_218739988___443 {
    IPPROTO_HOPOPTS___443 = 0,
    IPPROTO_ROUTING___443 = 43,
    IPPROTO_FRAGMENT___443 = 44,
    IPPROTO_ICMPV6___443 = 58,
    IPPROTO_NONE___443 = 59,
    IPPROTO_DSTOPTS___443 = 60,
    IPPROTO_MH___443 = 135
} ;
enum __anonenum_662268580___443 {
    IPPORT_ECHO___443 = 7,
    IPPORT_DISCARD___443 = 9,
    IPPORT_SYSTAT___443 = 11,
    IPPORT_DAYTIME___443 = 13,
    IPPORT_NETSTAT___443 = 15,
    IPPORT_FTP___443 = 21,
    IPPORT_TELNET___443 = 23,
    IPPORT_SMTP___443 = 25,
    IPPORT_TIMESERVER___443 = 37,
    IPPORT_NAMESERVER___443 = 42,
    IPPORT_WHOIS___443 = 43,
    IPPORT_MTP___443 = 57,
    IPPORT_TFTP___443 = 69,
    IPPORT_RJE___443 = 77,
    IPPORT_FINGER___443 = 79,
    IPPORT_TTYLINK___443 = 87,
    IPPORT_SUPDUP___443 = 95,
    IPPORT_EXECSERVER___443 = 512,
    IPPORT_LOGINSERVER___443 = 513,
    IPPORT_CMDSERVER___443 = 514,
    IPPORT_EFSSERVER___443 = 520,
    IPPORT_BIFFUDP___443 = 512,
    IPPORT_WHOSERVER___443 = 513,
    IPPORT_ROUTESERVER___443 = 520,
    IPPORT_RESERVED___443 = 1024,
    IPPORT_USERRESERVED___443 = 5000
} ;
enum __anonenum_788308992___443 {
    TCP_ESTABLISHED___443 = 1,
    TCP_SYN_SENT___443 = 2,
    TCP_SYN_RECV___443 = 3,
    TCP_FIN_WAIT1___443 = 4,
    TCP_FIN_WAIT2___443 = 5,
    TCP_TIME_WAIT___443 = 6,
    TCP_CLOSE___443 = 7,
    TCP_CLOSE_WAIT___443 = 8,
    TCP_LAST_ACK___443 = 9,
    TCP_LISTEN___443 = 10,
    TCP_CLOSING___443 = 11
} ;
enum __anonenum_221125648___443 {
    TCP_NO_QUEUE___443 = 0,
    TCP_RECV_QUEUE___443 = 1,
    TCP_SEND_QUEUE___443 = 2,
    TCP_QUEUES_NR___443 = 3
} ;
enum __anonenum_34415463___443 {
    PTHREAD_CREATE_JOINABLE___443 = 0,
    PTHREAD_CREATE_DETACHED___443 = 1
} ;
enum __anonenum_303612439___443 {
    PTHREAD_MUTEX_TIMED_NP___443 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___443 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___443 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___443 = 3,
    PTHREAD_MUTEX_NORMAL___443 = 0,
    PTHREAD_MUTEX_RECURSIVE___443 = 1,
    PTHREAD_MUTEX_ERRORCHECK___443 = 2,
    PTHREAD_MUTEX_DEFAULT___443 = 0,
    PTHREAD_MUTEX_FAST_NP___443 = 0
} ;
enum __anonenum_931900394___443 {
    PTHREAD_MUTEX_STALLED___443 = 0,
    PTHREAD_MUTEX_STALLED_NP___443 = 0,
    PTHREAD_MUTEX_ROBUST___443 = 1,
    PTHREAD_MUTEX_ROBUST_NP___443 = 1
} ;
enum __anonenum_205214487___443 {
    PTHREAD_PRIO_NONE___443 = 0,
    PTHREAD_PRIO_INHERIT___443 = 1,
    PTHREAD_PRIO_PROTECT___443 = 2
} ;
enum __anonenum_25043950___443 {
    PTHREAD_RWLOCK_PREFER_READER_NP___443 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___443 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___443 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___443 = 0
} ;
enum __anonenum_436439511___443 {
    PTHREAD_INHERIT_SCHED___443 = 0,
    PTHREAD_EXPLICIT_SCHED___443 = 1
} ;
enum __anonenum_998661166___443 {
    PTHREAD_SCOPE_SYSTEM___443 = 0,
    PTHREAD_SCOPE_PROCESS___443 = 1
} ;
enum __anonenum_146137331___443 {
    PTHREAD_PROCESS_PRIVATE___443 = 0,
    PTHREAD_PROCESS_SHARED___443 = 1
} ;
enum __anonenum_53396917___443 {
    PTHREAD_CANCEL_ENABLE___443 = 0,
    PTHREAD_CANCEL_DISABLE___443 = 1
} ;
enum __anonenum_904563783___443 {
    PTHREAD_CANCEL_DEFERRED___443 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___443 = 1
} ;
enum __anonenum_672052974___443 {
    SSL_CT_VALIDATION_PERMISSIVE___443 = 0,
    SSL_CT_VALIDATION_STRICT___443 = 1
} ;
struct command___0 {
   struct command___0 *next ;
   char const   *error_string ;
   unsigned int skip_update : 1 ;
   unsigned int did_not_exist : 1 ;
   int index ;
   struct object_id old_oid ;
   struct object_id new_oid ;
   char ref_name[] ;
};
enum __anonenum_437032235___444 {
    _PC_LINK_MAX___444 = 0,
    _PC_MAX_CANON___444 = 1,
    _PC_MAX_INPUT___444 = 2,
    _PC_NAME_MAX___444 = 3,
    _PC_PATH_MAX___444 = 4,
    _PC_PIPE_BUF___444 = 5,
    _PC_CHOWN_RESTRICTED___444 = 6,
    _PC_NO_TRUNC___444 = 7,
    _PC_VDISABLE___444 = 8,
    _PC_SYNC_IO___444 = 9,
    _PC_ASYNC_IO___444 = 10,
    _PC_PRIO_IO___444 = 11,
    _PC_SOCK_MAXBUF___444 = 12,
    _PC_FILESIZEBITS___444 = 13,
    _PC_REC_INCR_XFER_SIZE___444 = 14,
    _PC_REC_MAX_XFER_SIZE___444 = 15,
    _PC_REC_MIN_XFER_SIZE___444 = 16,
    _PC_REC_XFER_ALIGN___444 = 17,
    _PC_ALLOC_SIZE_MIN___444 = 18,
    _PC_SYMLINK_MAX___444 = 19,
    _PC_2_SYMLINKS___444 = 20
} ;
enum __anonenum_315186338___444 {
    _SC_ARG_MAX___444 = 0,
    _SC_CHILD_MAX___444 = 1,
    _SC_CLK_TCK___444 = 2,
    _SC_NGROUPS_MAX___444 = 3,
    _SC_OPEN_MAX___444 = 4,
    _SC_STREAM_MAX___444 = 5,
    _SC_TZNAME_MAX___444 = 6,
    _SC_JOB_CONTROL___444 = 7,
    _SC_SAVED_IDS___444 = 8,
    _SC_REALTIME_SIGNALS___444 = 9,
    _SC_PRIORITY_SCHEDULING___444 = 10,
    _SC_TIMERS___444 = 11,
    _SC_ASYNCHRONOUS_IO___444 = 12,
    _SC_PRIORITIZED_IO___444 = 13,
    _SC_SYNCHRONIZED_IO___444 = 14,
    _SC_FSYNC___444 = 15,
    _SC_MAPPED_FILES___444 = 16,
    _SC_MEMLOCK___444 = 17,
    _SC_MEMLOCK_RANGE___444 = 18,
    _SC_MEMORY_PROTECTION___444 = 19,
    _SC_MESSAGE_PASSING___444 = 20,
    _SC_SEMAPHORES___444 = 21,
    _SC_SHARED_MEMORY_OBJECTS___444 = 22,
    _SC_AIO_LISTIO_MAX___444 = 23,
    _SC_AIO_MAX___444 = 24,
    _SC_AIO_PRIO_DELTA_MAX___444 = 25,
    _SC_DELAYTIMER_MAX___444 = 26,
    _SC_MQ_OPEN_MAX___444 = 27,
    _SC_MQ_PRIO_MAX___444 = 28,
    _SC_VERSION___444 = 29,
    _SC_PAGESIZE___444 = 30,
    _SC_RTSIG_MAX___444 = 31,
    _SC_SEM_NSEMS_MAX___444 = 32,
    _SC_SEM_VALUE_MAX___444 = 33,
    _SC_SIGQUEUE_MAX___444 = 34,
    _SC_TIMER_MAX___444 = 35,
    _SC_BC_BASE_MAX___444 = 36,
    _SC_BC_DIM_MAX___444 = 37,
    _SC_BC_SCALE_MAX___444 = 38,
    _SC_BC_STRING_MAX___444 = 39,
    _SC_COLL_WEIGHTS_MAX___444 = 40,
    _SC_EQUIV_CLASS_MAX___444 = 41,
    _SC_EXPR_NEST_MAX___444 = 42,
    _SC_LINE_MAX___444 = 43,
    _SC_RE_DUP_MAX___444 = 44,
    _SC_CHARCLASS_NAME_MAX___444 = 45,
    _SC_2_VERSION___444 = 46,
    _SC_2_C_BIND___444 = 47,
    _SC_2_C_DEV___444 = 48,
    _SC_2_FORT_DEV___444 = 49,
    _SC_2_FORT_RUN___444 = 50,
    _SC_2_SW_DEV___444 = 51,
    _SC_2_LOCALEDEF___444 = 52,
    _SC_PII___444 = 53,
    _SC_PII_XTI___444 = 54,
    _SC_PII_SOCKET___444 = 55,
    _SC_PII_INTERNET___444 = 56,
    _SC_PII_OSI___444 = 57,
    _SC_POLL___444 = 58,
    _SC_SELECT___444 = 59,
    _SC_UIO_MAXIOV___444 = 60,
    _SC_IOV_MAX___444 = 60,
    _SC_PII_INTERNET_STREAM___444 = 61,
    _SC_PII_INTERNET_DGRAM___444 = 62,
    _SC_PII_OSI_COTS___444 = 63,
    _SC_PII_OSI_CLTS___444 = 64,
    _SC_PII_OSI_M___444 = 65,
    _SC_T_IOV_MAX___444 = 66,
    _SC_THREADS___444 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___444 = 68,
    _SC_GETGR_R_SIZE_MAX___444 = 69,
    _SC_GETPW_R_SIZE_MAX___444 = 70,
    _SC_LOGIN_NAME_MAX___444 = 71,
    _SC_TTY_NAME_MAX___444 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___444 = 73,
    _SC_THREAD_KEYS_MAX___444 = 74,
    _SC_THREAD_STACK_MIN___444 = 75,
    _SC_THREAD_THREADS_MAX___444 = 76,
    _SC_THREAD_ATTR_STACKADDR___444 = 77,
    _SC_THREAD_ATTR_STACKSIZE___444 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___444 = 79,
    _SC_THREAD_PRIO_INHERIT___444 = 80,
    _SC_THREAD_PRIO_PROTECT___444 = 81,
    _SC_THREAD_PROCESS_SHARED___444 = 82,
    _SC_NPROCESSORS_CONF___444 = 83,
    _SC_NPROCESSORS_ONLN___444 = 84,
    _SC_PHYS_PAGES___444 = 85,
    _SC_AVPHYS_PAGES___444 = 86,
    _SC_ATEXIT_MAX___444 = 87,
    _SC_PASS_MAX___444 = 88,
    _SC_XOPEN_VERSION___444 = 89,
    _SC_XOPEN_XCU_VERSION___444 = 90,
    _SC_XOPEN_UNIX___444 = 91,
    _SC_XOPEN_CRYPT___444 = 92,
    _SC_XOPEN_ENH_I18N___444 = 93,
    _SC_XOPEN_SHM___444 = 94,
    _SC_2_CHAR_TERM___444 = 95,
    _SC_2_C_VERSION___444 = 96,
    _SC_2_UPE___444 = 97,
    _SC_XOPEN_XPG2___444 = 98,
    _SC_XOPEN_XPG3___444 = 99,
    _SC_XOPEN_XPG4___444 = 100,
    _SC_CHAR_BIT___444 = 101,
    _SC_CHAR_MAX___444 = 102,
    _SC_CHAR_MIN___444 = 103,
    _SC_INT_MAX___444 = 104,
    _SC_INT_MIN___444 = 105,
    _SC_LONG_BIT___444 = 106,
    _SC_WORD_BIT___444 = 107,
    _SC_MB_LEN_MAX___444 = 108,
    _SC_NZERO___444 = 109,
    _SC_SSIZE_MAX___444 = 110,
    _SC_SCHAR_MAX___444 = 111,
    _SC_SCHAR_MIN___444 = 112,
    _SC_SHRT_MAX___444 = 113,
    _SC_SHRT_MIN___444 = 114,
    _SC_UCHAR_MAX___444 = 115,
    _SC_UINT_MAX___444 = 116,
    _SC_ULONG_MAX___444 = 117,
    _SC_USHRT_MAX___444 = 118,
    _SC_NL_ARGMAX___444 = 119,
    _SC_NL_LANGMAX___444 = 120,
    _SC_NL_MSGMAX___444 = 121,
    _SC_NL_NMAX___444 = 122,
    _SC_NL_SETMAX___444 = 123,
    _SC_NL_TEXTMAX___444 = 124,
    _SC_XBS5_ILP32_OFF32___444 = 125,
    _SC_XBS5_ILP32_OFFBIG___444 = 126,
    _SC_XBS5_LP64_OFF64___444 = 127,
    _SC_XBS5_LPBIG_OFFBIG___444 = 128,
    _SC_XOPEN_LEGACY___444 = 129,
    _SC_XOPEN_REALTIME___444 = 130,
    _SC_XOPEN_REALTIME_THREADS___444 = 131,
    _SC_ADVISORY_INFO___444 = 132,
    _SC_BARRIERS___444 = 133,
    _SC_BASE___444 = 134,
    _SC_C_LANG_SUPPORT___444 = 135,
    _SC_C_LANG_SUPPORT_R___444 = 136,
    _SC_CLOCK_SELECTION___444 = 137,
    _SC_CPUTIME___444 = 138,
    _SC_THREAD_CPUTIME___444 = 139,
    _SC_DEVICE_IO___444 = 140,
    _SC_DEVICE_SPECIFIC___444 = 141,
    _SC_DEVICE_SPECIFIC_R___444 = 142,
    _SC_FD_MGMT___444 = 143,
    _SC_FIFO___444 = 144,
    _SC_PIPE___444 = 145,
    _SC_FILE_ATTRIBUTES___444 = 146,
    _SC_FILE_LOCKING___444 = 147,
    _SC_FILE_SYSTEM___444 = 148,
    _SC_MONOTONIC_CLOCK___444 = 149,
    _SC_MULTI_PROCESS___444 = 150,
    _SC_SINGLE_PROCESS___444 = 151,
    _SC_NETWORKING___444 = 152,
    _SC_READER_WRITER_LOCKS___444 = 153,
    _SC_SPIN_LOCKS___444 = 154,
    _SC_REGEXP___444 = 155,
    _SC_REGEX_VERSION___444 = 156,
    _SC_SHELL___444 = 157,
    _SC_SIGNALS___444 = 158,
    _SC_SPAWN___444 = 159,
    _SC_SPORADIC_SERVER___444 = 160,
    _SC_THREAD_SPORADIC_SERVER___444 = 161,
    _SC_SYSTEM_DATABASE___444 = 162,
    _SC_SYSTEM_DATABASE_R___444 = 163,
    _SC_TIMEOUTS___444 = 164,
    _SC_TYPED_MEMORY_OBJECTS___444 = 165,
    _SC_USER_GROUPS___444 = 166,
    _SC_USER_GROUPS_R___444 = 167,
    _SC_2_PBS___444 = 168,
    _SC_2_PBS_ACCOUNTING___444 = 169,
    _SC_2_PBS_LOCATE___444 = 170,
    _SC_2_PBS_MESSAGE___444 = 171,
    _SC_2_PBS_TRACK___444 = 172,
    _SC_SYMLOOP_MAX___444 = 173,
    _SC_STREAMS___444 = 174,
    _SC_2_PBS_CHECKPOINT___444 = 175,
    _SC_V6_ILP32_OFF32___444 = 176,
    _SC_V6_ILP32_OFFBIG___444 = 177,
    _SC_V6_LP64_OFF64___444 = 178,
    _SC_V6_LPBIG_OFFBIG___444 = 179,
    _SC_HOST_NAME_MAX___444 = 180,
    _SC_TRACE___444 = 181,
    _SC_TRACE_EVENT_FILTER___444 = 182,
    _SC_TRACE_INHERIT___444 = 183,
    _SC_TRACE_LOG___444 = 184,
    _SC_LEVEL1_ICACHE_SIZE___444 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___444 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___444 = 187,
    _SC_LEVEL1_DCACHE_SIZE___444 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___444 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___444 = 190,
    _SC_LEVEL2_CACHE_SIZE___444 = 191,
    _SC_LEVEL2_CACHE_ASSOC___444 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___444 = 193,
    _SC_LEVEL3_CACHE_SIZE___444 = 194,
    _SC_LEVEL3_CACHE_ASSOC___444 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___444 = 196,
    _SC_LEVEL4_CACHE_SIZE___444 = 197,
    _SC_LEVEL4_CACHE_ASSOC___444 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___444 = 199,
    _SC_IPV6___444 = 235,
    _SC_RAW_SOCKETS___444 = 236,
    _SC_V7_ILP32_OFF32___444 = 237,
    _SC_V7_ILP32_OFFBIG___444 = 238,
    _SC_V7_LP64_OFF64___444 = 239,
    _SC_V7_LPBIG_OFFBIG___444 = 240,
    _SC_SS_REPL_MAX___444 = 241,
    _SC_TRACE_EVENT_NAME_MAX___444 = 242,
    _SC_TRACE_NAME_MAX___444 = 243,
    _SC_TRACE_SYS_MAX___444 = 244,
    _SC_TRACE_USER_EVENT_MAX___444 = 245,
    _SC_XOPEN_STREAMS___444 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___444 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___444 = 248
} ;
enum __anonenum_875524036___444 {
    _CS_PATH___444 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___444 = 1,
    _CS_GNU_LIBC_VERSION___444 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___444 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___444 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___444 = 5,
    _CS_LFS_CFLAGS___444 = 1000,
    _CS_LFS_LDFLAGS___444 = 1001,
    _CS_LFS_LIBS___444 = 1002,
    _CS_LFS_LINTFLAGS___444 = 1003,
    _CS_LFS64_CFLAGS___444 = 1004,
    _CS_LFS64_LDFLAGS___444 = 1005,
    _CS_LFS64_LIBS___444 = 1006,
    _CS_LFS64_LINTFLAGS___444 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___444 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___444 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___444 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___444 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___444 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___444 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___444 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___444 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___444 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___444 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___444 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___444 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___444 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___444 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___444 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___444 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___444 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___444 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___444 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___444 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___444 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___444 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___444 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___444 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___444 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___444 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___444 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___444 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___444 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___444 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___444 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___444 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___444 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___444 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___444 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___444 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___444 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___444 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___444 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___444 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___444 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___444 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___444 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___444 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___444 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___444 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___444 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___444 = 1147,
    _CS_V6_ENV___444 = 1148,
    _CS_V7_ENV___444 = 1149
} ;
enum __anonenum_513775621___444 {
    DT_UNKNOWN___444 = 0,
    DT_FIFO___444 = 1,
    DT_CHR___444 = 2,
    DT_DIR___444 = 4,
    DT_BLK___444 = 6,
    DT_REG___444 = 8,
    DT_LNK___444 = 10,
    DT_SOCK___444 = 12,
    DT_WHT___444 = 14
} ;
enum __anonenum_77002343___444 {
    SI_ASYNCNL___444 = -60,
    SI_TKILL___444 = -6,
    SI_SIGIO___444 = -5,
    SI_ASYNCIO___444 = -4,
    SI_MESGQ___444 = -3,
    SI_TIMER___444 = -2,
    SI_QUEUE___444 = -1,
    SI_USER___444 = 0,
    SI_KERNEL___444 = 128
} ;
enum __anonenum_131038172___444 {
    ILL_ILLOPC___444 = 1,
    ILL_ILLOPN___444 = 2,
    ILL_ILLADR___444 = 3,
    ILL_ILLTRP___444 = 4,
    ILL_PRVOPC___444 = 5,
    ILL_PRVREG___444 = 6,
    ILL_COPROC___444 = 7,
    ILL_BADSTK___444 = 8
} ;
enum __anonenum_452038093___444 {
    FPE_INTDIV___444 = 1,
    FPE_INTOVF___444 = 2,
    FPE_FLTDIV___444 = 3,
    FPE_FLTOVF___444 = 4,
    FPE_FLTUND___444 = 5,
    FPE_FLTRES___444 = 6,
    FPE_FLTINV___444 = 7,
    FPE_FLTSUB___444 = 8
} ;
enum __anonenum_30976155___444 {
    SEGV_MAPERR___444 = 1,
    SEGV_ACCERR___444 = 2,
    SEGV_BNDERR___444 = 3,
    SEGV_PKUERR___444 = 4
} ;
enum __anonenum_1036286214___444 {
    BUS_ADRALN___444 = 1,
    BUS_ADRERR___444 = 2,
    BUS_OBJERR___444 = 3,
    BUS_MCEERR_AR___444 = 4,
    BUS_MCEERR_AO___444 = 5
} ;
enum __anonenum_493465559___444 {
    TRAP_BRKPT___444 = 1,
    TRAP_TRACE___444 = 2
} ;
enum __anonenum_23175539___444 {
    CLD_EXITED___444 = 1,
    CLD_KILLED___444 = 2,
    CLD_DUMPED___444 = 3,
    CLD_TRAPPED___444 = 4,
    CLD_STOPPED___444 = 5,
    CLD_CONTINUED___444 = 6
} ;
enum __anonenum_111643124___444 {
    POLL_IN___444 = 1,
    POLL_OUT___444 = 2,
    POLL_MSG___444 = 3,
    POLL_ERR___444 = 4,
    POLL_PRI___444 = 5,
    POLL_HUP___444 = 6
} ;
enum __anonenum_852341087___444 {
    SIGEV_SIGNAL___444 = 0,
    SIGEV_NONE___444 = 1,
    SIGEV_THREAD___444 = 2,
    SIGEV_THREAD_ID___444 = 4
} ;
enum __anonenum_451154152___444 {
    REG_R8___444 = 0,
    REG_R9___444 = 1,
    REG_R10___444 = 2,
    REG_R11___444 = 3,
    REG_R12___444 = 4,
    REG_R13___444 = 5,
    REG_R14___444 = 6,
    REG_R15___444 = 7,
    REG_RDI___444 = 8,
    REG_RSI___444 = 9,
    REG_RBP___444 = 10,
    REG_RBX___444 = 11,
    REG_RDX___444 = 12,
    REG_RAX___444 = 13,
    REG_RCX___444 = 14,
    REG_RSP___444 = 15,
    REG_RIP___444 = 16,
    REG_EFL___444 = 17,
    REG_CSGSFS___444 = 18,
    REG_ERR___444 = 19,
    REG_TRAPNO___444 = 20,
    REG_OLDMASK___444 = 21,
    REG_CR2___444 = 22
} ;
enum __anonenum_57186863___444 {
    SS_ONSTACK___444 = 1,
    SS_DISABLE___444 = 2
} ;
enum __anonenum_83571709___444 {
    MSG_OOB___444 = 1,
    MSG_PEEK___444 = 2,
    MSG_DONTROUTE___444 = 4,
    MSG_TRYHARD___444 = 4,
    MSG_CTRUNC___444 = 8,
    MSG_PROXY___444 = 16,
    MSG_TRUNC___444 = 32,
    MSG_DONTWAIT___444 = 64,
    MSG_EOR___444 = 128,
    MSG_WAITALL___444 = 256,
    MSG_FIN___444 = 512,
    MSG_SYN___444 = 1024,
    MSG_CONFIRM___444 = 2048,
    MSG_RST___444 = 4096,
    MSG_ERRQUEUE___444 = 8192,
    MSG_NOSIGNAL___444 = 16384,
    MSG_MORE___444 = 32768,
    MSG_WAITFORONE___444 = 65536,
    MSG_BATCH___444 = 262144,
    MSG_ZEROCOPY___444 = 67108864,
    MSG_FASTOPEN___444 = 536870912,
    MSG_CMSG_CLOEXEC___444 = 1073741824
} ;
enum __anonenum_617082774___444 {
    SCM_RIGHTS___444 = 1,
    SCM_CREDENTIALS___444 = 2
} ;
enum __anonenum_606441560___444 {
    SHUT_RD___444 = 0,
    SHUT_WR___444 = 1,
    SHUT_RDWR___444 = 2
} ;
enum __anonenum_681669233___444 {
    IPPROTO_IP___444 = 0,
    IPPROTO_ICMP___444 = 1,
    IPPROTO_IGMP___444 = 2,
    IPPROTO_IPIP___444 = 4,
    IPPROTO_TCP___444 = 6,
    IPPROTO_EGP___444 = 8,
    IPPROTO_PUP___444 = 12,
    IPPROTO_UDP___444 = 17,
    IPPROTO_IDP___444 = 22,
    IPPROTO_TP___444 = 29,
    IPPROTO_DCCP___444 = 33,
    IPPROTO_IPV6___444 = 41,
    IPPROTO_RSVP___444 = 46,
    IPPROTO_GRE___444 = 47,
    IPPROTO_ESP___444 = 50,
    IPPROTO_AH___444 = 51,
    IPPROTO_MTP___444 = 92,
    IPPROTO_BEETPH___444 = 94,
    IPPROTO_ENCAP___444 = 98,
    IPPROTO_PIM___444 = 103,
    IPPROTO_COMP___444 = 108,
    IPPROTO_SCTP___444 = 132,
    IPPROTO_UDPLITE___444 = 136,
    IPPROTO_MPLS___444 = 137,
    IPPROTO_RAW___444 = 255,
    IPPROTO_MAX___444 = 256
} ;
enum __anonenum_218739988___444 {
    IPPROTO_HOPOPTS___444 = 0,
    IPPROTO_ROUTING___444 = 43,
    IPPROTO_FRAGMENT___444 = 44,
    IPPROTO_ICMPV6___444 = 58,
    IPPROTO_NONE___444 = 59,
    IPPROTO_DSTOPTS___444 = 60,
    IPPROTO_MH___444 = 135
} ;
enum __anonenum_662268580___444 {
    IPPORT_ECHO___444 = 7,
    IPPORT_DISCARD___444 = 9,
    IPPORT_SYSTAT___444 = 11,
    IPPORT_DAYTIME___444 = 13,
    IPPORT_NETSTAT___444 = 15,
    IPPORT_FTP___444 = 21,
    IPPORT_TELNET___444 = 23,
    IPPORT_SMTP___444 = 25,
    IPPORT_TIMESERVER___444 = 37,
    IPPORT_NAMESERVER___444 = 42,
    IPPORT_WHOIS___444 = 43,
    IPPORT_MTP___444 = 57,
    IPPORT_TFTP___444 = 69,
    IPPORT_RJE___444 = 77,
    IPPORT_FINGER___444 = 79,
    IPPORT_TTYLINK___444 = 87,
    IPPORT_SUPDUP___444 = 95,
    IPPORT_EXECSERVER___444 = 512,
    IPPORT_LOGINSERVER___444 = 513,
    IPPORT_CMDSERVER___444 = 514,
    IPPORT_EFSSERVER___444 = 520,
    IPPORT_BIFFUDP___444 = 512,
    IPPORT_WHOSERVER___444 = 513,
    IPPORT_ROUTESERVER___444 = 520,
    IPPORT_RESERVED___444 = 1024,
    IPPORT_USERRESERVED___444 = 5000
} ;
enum __anonenum_788308992___444 {
    TCP_ESTABLISHED___444 = 1,
    TCP_SYN_SENT___444 = 2,
    TCP_SYN_RECV___444 = 3,
    TCP_FIN_WAIT1___444 = 4,
    TCP_FIN_WAIT2___444 = 5,
    TCP_TIME_WAIT___444 = 6,
    TCP_CLOSE___444 = 7,
    TCP_CLOSE_WAIT___444 = 8,
    TCP_LAST_ACK___444 = 9,
    TCP_LISTEN___444 = 10,
    TCP_CLOSING___444 = 11
} ;
enum __anonenum_221125648___444 {
    TCP_NO_QUEUE___444 = 0,
    TCP_RECV_QUEUE___444 = 1,
    TCP_SEND_QUEUE___444 = 2,
    TCP_QUEUES_NR___444 = 3
} ;
enum __anonenum_34415463___444 {
    PTHREAD_CREATE_JOINABLE___444 = 0,
    PTHREAD_CREATE_DETACHED___444 = 1
} ;
enum __anonenum_303612439___444 {
    PTHREAD_MUTEX_TIMED_NP___444 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___444 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___444 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___444 = 3,
    PTHREAD_MUTEX_NORMAL___444 = 0,
    PTHREAD_MUTEX_RECURSIVE___444 = 1,
    PTHREAD_MUTEX_ERRORCHECK___444 = 2,
    PTHREAD_MUTEX_DEFAULT___444 = 0,
    PTHREAD_MUTEX_FAST_NP___444 = 0
} ;
enum __anonenum_931900394___444 {
    PTHREAD_MUTEX_STALLED___444 = 0,
    PTHREAD_MUTEX_STALLED_NP___444 = 0,
    PTHREAD_MUTEX_ROBUST___444 = 1,
    PTHREAD_MUTEX_ROBUST_NP___444 = 1
} ;
enum __anonenum_205214487___444 {
    PTHREAD_PRIO_NONE___444 = 0,
    PTHREAD_PRIO_INHERIT___444 = 1,
    PTHREAD_PRIO_PROTECT___444 = 2
} ;
enum __anonenum_25043950___444 {
    PTHREAD_RWLOCK_PREFER_READER_NP___444 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___444 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___444 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___444 = 0
} ;
enum __anonenum_436439511___444 {
    PTHREAD_INHERIT_SCHED___444 = 0,
    PTHREAD_EXPLICIT_SCHED___444 = 1
} ;
enum __anonenum_998661166___444 {
    PTHREAD_SCOPE_SYSTEM___444 = 0,
    PTHREAD_SCOPE_PROCESS___444 = 1
} ;
enum __anonenum_146137331___444 {
    PTHREAD_PROCESS_PRIVATE___444 = 0,
    PTHREAD_PROCESS_SHARED___444 = 1
} ;
enum __anonenum_53396917___444 {
    PTHREAD_CANCEL_ENABLE___444 = 0,
    PTHREAD_CANCEL_DISABLE___444 = 1
} ;
enum __anonenum_904563783___444 {
    PTHREAD_CANCEL_DEFERRED___444 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___444 = 1
} ;
enum __anonenum_672052974___444 {
    SSL_CT_VALIDATION_PERMISSIVE___444 = 0,
    SSL_CT_VALIDATION_STRICT___444 = 1
} ;
enum __anonenum_437032235___445 {
    _PC_LINK_MAX___445 = 0,
    _PC_MAX_CANON___445 = 1,
    _PC_MAX_INPUT___445 = 2,
    _PC_NAME_MAX___445 = 3,
    _PC_PATH_MAX___445 = 4,
    _PC_PIPE_BUF___445 = 5,
    _PC_CHOWN_RESTRICTED___445 = 6,
    _PC_NO_TRUNC___445 = 7,
    _PC_VDISABLE___445 = 8,
    _PC_SYNC_IO___445 = 9,
    _PC_ASYNC_IO___445 = 10,
    _PC_PRIO_IO___445 = 11,
    _PC_SOCK_MAXBUF___445 = 12,
    _PC_FILESIZEBITS___445 = 13,
    _PC_REC_INCR_XFER_SIZE___445 = 14,
    _PC_REC_MAX_XFER_SIZE___445 = 15,
    _PC_REC_MIN_XFER_SIZE___445 = 16,
    _PC_REC_XFER_ALIGN___445 = 17,
    _PC_ALLOC_SIZE_MIN___445 = 18,
    _PC_SYMLINK_MAX___445 = 19,
    _PC_2_SYMLINKS___445 = 20
} ;
enum __anonenum_315186338___445 {
    _SC_ARG_MAX___445 = 0,
    _SC_CHILD_MAX___445 = 1,
    _SC_CLK_TCK___445 = 2,
    _SC_NGROUPS_MAX___445 = 3,
    _SC_OPEN_MAX___445 = 4,
    _SC_STREAM_MAX___445 = 5,
    _SC_TZNAME_MAX___445 = 6,
    _SC_JOB_CONTROL___445 = 7,
    _SC_SAVED_IDS___445 = 8,
    _SC_REALTIME_SIGNALS___445 = 9,
    _SC_PRIORITY_SCHEDULING___445 = 10,
    _SC_TIMERS___445 = 11,
    _SC_ASYNCHRONOUS_IO___445 = 12,
    _SC_PRIORITIZED_IO___445 = 13,
    _SC_SYNCHRONIZED_IO___445 = 14,
    _SC_FSYNC___445 = 15,
    _SC_MAPPED_FILES___445 = 16,
    _SC_MEMLOCK___445 = 17,
    _SC_MEMLOCK_RANGE___445 = 18,
    _SC_MEMORY_PROTECTION___445 = 19,
    _SC_MESSAGE_PASSING___445 = 20,
    _SC_SEMAPHORES___445 = 21,
    _SC_SHARED_MEMORY_OBJECTS___445 = 22,
    _SC_AIO_LISTIO_MAX___445 = 23,
    _SC_AIO_MAX___445 = 24,
    _SC_AIO_PRIO_DELTA_MAX___445 = 25,
    _SC_DELAYTIMER_MAX___445 = 26,
    _SC_MQ_OPEN_MAX___445 = 27,
    _SC_MQ_PRIO_MAX___445 = 28,
    _SC_VERSION___445 = 29,
    _SC_PAGESIZE___445 = 30,
    _SC_RTSIG_MAX___445 = 31,
    _SC_SEM_NSEMS_MAX___445 = 32,
    _SC_SEM_VALUE_MAX___445 = 33,
    _SC_SIGQUEUE_MAX___445 = 34,
    _SC_TIMER_MAX___445 = 35,
    _SC_BC_BASE_MAX___445 = 36,
    _SC_BC_DIM_MAX___445 = 37,
    _SC_BC_SCALE_MAX___445 = 38,
    _SC_BC_STRING_MAX___445 = 39,
    _SC_COLL_WEIGHTS_MAX___445 = 40,
    _SC_EQUIV_CLASS_MAX___445 = 41,
    _SC_EXPR_NEST_MAX___445 = 42,
    _SC_LINE_MAX___445 = 43,
    _SC_RE_DUP_MAX___445 = 44,
    _SC_CHARCLASS_NAME_MAX___445 = 45,
    _SC_2_VERSION___445 = 46,
    _SC_2_C_BIND___445 = 47,
    _SC_2_C_DEV___445 = 48,
    _SC_2_FORT_DEV___445 = 49,
    _SC_2_FORT_RUN___445 = 50,
    _SC_2_SW_DEV___445 = 51,
    _SC_2_LOCALEDEF___445 = 52,
    _SC_PII___445 = 53,
    _SC_PII_XTI___445 = 54,
    _SC_PII_SOCKET___445 = 55,
    _SC_PII_INTERNET___445 = 56,
    _SC_PII_OSI___445 = 57,
    _SC_POLL___445 = 58,
    _SC_SELECT___445 = 59,
    _SC_UIO_MAXIOV___445 = 60,
    _SC_IOV_MAX___445 = 60,
    _SC_PII_INTERNET_STREAM___445 = 61,
    _SC_PII_INTERNET_DGRAM___445 = 62,
    _SC_PII_OSI_COTS___445 = 63,
    _SC_PII_OSI_CLTS___445 = 64,
    _SC_PII_OSI_M___445 = 65,
    _SC_T_IOV_MAX___445 = 66,
    _SC_THREADS___445 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___445 = 68,
    _SC_GETGR_R_SIZE_MAX___445 = 69,
    _SC_GETPW_R_SIZE_MAX___445 = 70,
    _SC_LOGIN_NAME_MAX___445 = 71,
    _SC_TTY_NAME_MAX___445 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___445 = 73,
    _SC_THREAD_KEYS_MAX___445 = 74,
    _SC_THREAD_STACK_MIN___445 = 75,
    _SC_THREAD_THREADS_MAX___445 = 76,
    _SC_THREAD_ATTR_STACKADDR___445 = 77,
    _SC_THREAD_ATTR_STACKSIZE___445 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___445 = 79,
    _SC_THREAD_PRIO_INHERIT___445 = 80,
    _SC_THREAD_PRIO_PROTECT___445 = 81,
    _SC_THREAD_PROCESS_SHARED___445 = 82,
    _SC_NPROCESSORS_CONF___445 = 83,
    _SC_NPROCESSORS_ONLN___445 = 84,
    _SC_PHYS_PAGES___445 = 85,
    _SC_AVPHYS_PAGES___445 = 86,
    _SC_ATEXIT_MAX___445 = 87,
    _SC_PASS_MAX___445 = 88,
    _SC_XOPEN_VERSION___445 = 89,
    _SC_XOPEN_XCU_VERSION___445 = 90,
    _SC_XOPEN_UNIX___445 = 91,
    _SC_XOPEN_CRYPT___445 = 92,
    _SC_XOPEN_ENH_I18N___445 = 93,
    _SC_XOPEN_SHM___445 = 94,
    _SC_2_CHAR_TERM___445 = 95,
    _SC_2_C_VERSION___445 = 96,
    _SC_2_UPE___445 = 97,
    _SC_XOPEN_XPG2___445 = 98,
    _SC_XOPEN_XPG3___445 = 99,
    _SC_XOPEN_XPG4___445 = 100,
    _SC_CHAR_BIT___445 = 101,
    _SC_CHAR_MAX___445 = 102,
    _SC_CHAR_MIN___445 = 103,
    _SC_INT_MAX___445 = 104,
    _SC_INT_MIN___445 = 105,
    _SC_LONG_BIT___445 = 106,
    _SC_WORD_BIT___445 = 107,
    _SC_MB_LEN_MAX___445 = 108,
    _SC_NZERO___445 = 109,
    _SC_SSIZE_MAX___445 = 110,
    _SC_SCHAR_MAX___445 = 111,
    _SC_SCHAR_MIN___445 = 112,
    _SC_SHRT_MAX___445 = 113,
    _SC_SHRT_MIN___445 = 114,
    _SC_UCHAR_MAX___445 = 115,
    _SC_UINT_MAX___445 = 116,
    _SC_ULONG_MAX___445 = 117,
    _SC_USHRT_MAX___445 = 118,
    _SC_NL_ARGMAX___445 = 119,
    _SC_NL_LANGMAX___445 = 120,
    _SC_NL_MSGMAX___445 = 121,
    _SC_NL_NMAX___445 = 122,
    _SC_NL_SETMAX___445 = 123,
    _SC_NL_TEXTMAX___445 = 124,
    _SC_XBS5_ILP32_OFF32___445 = 125,
    _SC_XBS5_ILP32_OFFBIG___445 = 126,
    _SC_XBS5_LP64_OFF64___445 = 127,
    _SC_XBS5_LPBIG_OFFBIG___445 = 128,
    _SC_XOPEN_LEGACY___445 = 129,
    _SC_XOPEN_REALTIME___445 = 130,
    _SC_XOPEN_REALTIME_THREADS___445 = 131,
    _SC_ADVISORY_INFO___445 = 132,
    _SC_BARRIERS___445 = 133,
    _SC_BASE___445 = 134,
    _SC_C_LANG_SUPPORT___445 = 135,
    _SC_C_LANG_SUPPORT_R___445 = 136,
    _SC_CLOCK_SELECTION___445 = 137,
    _SC_CPUTIME___445 = 138,
    _SC_THREAD_CPUTIME___445 = 139,
    _SC_DEVICE_IO___445 = 140,
    _SC_DEVICE_SPECIFIC___445 = 141,
    _SC_DEVICE_SPECIFIC_R___445 = 142,
    _SC_FD_MGMT___445 = 143,
    _SC_FIFO___445 = 144,
    _SC_PIPE___445 = 145,
    _SC_FILE_ATTRIBUTES___445 = 146,
    _SC_FILE_LOCKING___445 = 147,
    _SC_FILE_SYSTEM___445 = 148,
    _SC_MONOTONIC_CLOCK___445 = 149,
    _SC_MULTI_PROCESS___445 = 150,
    _SC_SINGLE_PROCESS___445 = 151,
    _SC_NETWORKING___445 = 152,
    _SC_READER_WRITER_LOCKS___445 = 153,
    _SC_SPIN_LOCKS___445 = 154,
    _SC_REGEXP___445 = 155,
    _SC_REGEX_VERSION___445 = 156,
    _SC_SHELL___445 = 157,
    _SC_SIGNALS___445 = 158,
    _SC_SPAWN___445 = 159,
    _SC_SPORADIC_SERVER___445 = 160,
    _SC_THREAD_SPORADIC_SERVER___445 = 161,
    _SC_SYSTEM_DATABASE___445 = 162,
    _SC_SYSTEM_DATABASE_R___445 = 163,
    _SC_TIMEOUTS___445 = 164,
    _SC_TYPED_MEMORY_OBJECTS___445 = 165,
    _SC_USER_GROUPS___445 = 166,
    _SC_USER_GROUPS_R___445 = 167,
    _SC_2_PBS___445 = 168,
    _SC_2_PBS_ACCOUNTING___445 = 169,
    _SC_2_PBS_LOCATE___445 = 170,
    _SC_2_PBS_MESSAGE___445 = 171,
    _SC_2_PBS_TRACK___445 = 172,
    _SC_SYMLOOP_MAX___445 = 173,
    _SC_STREAMS___445 = 174,
    _SC_2_PBS_CHECKPOINT___445 = 175,
    _SC_V6_ILP32_OFF32___445 = 176,
    _SC_V6_ILP32_OFFBIG___445 = 177,
    _SC_V6_LP64_OFF64___445 = 178,
    _SC_V6_LPBIG_OFFBIG___445 = 179,
    _SC_HOST_NAME_MAX___445 = 180,
    _SC_TRACE___445 = 181,
    _SC_TRACE_EVENT_FILTER___445 = 182,
    _SC_TRACE_INHERIT___445 = 183,
    _SC_TRACE_LOG___445 = 184,
    _SC_LEVEL1_ICACHE_SIZE___445 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___445 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___445 = 187,
    _SC_LEVEL1_DCACHE_SIZE___445 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___445 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___445 = 190,
    _SC_LEVEL2_CACHE_SIZE___445 = 191,
    _SC_LEVEL2_CACHE_ASSOC___445 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___445 = 193,
    _SC_LEVEL3_CACHE_SIZE___445 = 194,
    _SC_LEVEL3_CACHE_ASSOC___445 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___445 = 196,
    _SC_LEVEL4_CACHE_SIZE___445 = 197,
    _SC_LEVEL4_CACHE_ASSOC___445 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___445 = 199,
    _SC_IPV6___445 = 235,
    _SC_RAW_SOCKETS___445 = 236,
    _SC_V7_ILP32_OFF32___445 = 237,
    _SC_V7_ILP32_OFFBIG___445 = 238,
    _SC_V7_LP64_OFF64___445 = 239,
    _SC_V7_LPBIG_OFFBIG___445 = 240,
    _SC_SS_REPL_MAX___445 = 241,
    _SC_TRACE_EVENT_NAME_MAX___445 = 242,
    _SC_TRACE_NAME_MAX___445 = 243,
    _SC_TRACE_SYS_MAX___445 = 244,
    _SC_TRACE_USER_EVENT_MAX___445 = 245,
    _SC_XOPEN_STREAMS___445 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___445 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___445 = 248
} ;
enum __anonenum_875524036___445 {
    _CS_PATH___445 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___445 = 1,
    _CS_GNU_LIBC_VERSION___445 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___445 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___445 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___445 = 5,
    _CS_LFS_CFLAGS___445 = 1000,
    _CS_LFS_LDFLAGS___445 = 1001,
    _CS_LFS_LIBS___445 = 1002,
    _CS_LFS_LINTFLAGS___445 = 1003,
    _CS_LFS64_CFLAGS___445 = 1004,
    _CS_LFS64_LDFLAGS___445 = 1005,
    _CS_LFS64_LIBS___445 = 1006,
    _CS_LFS64_LINTFLAGS___445 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___445 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___445 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___445 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___445 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___445 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___445 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___445 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___445 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___445 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___445 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___445 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___445 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___445 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___445 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___445 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___445 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___445 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___445 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___445 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___445 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___445 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___445 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___445 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___445 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___445 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___445 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___445 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___445 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___445 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___445 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___445 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___445 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___445 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___445 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___445 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___445 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___445 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___445 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___445 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___445 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___445 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___445 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___445 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___445 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___445 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___445 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___445 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___445 = 1147,
    _CS_V6_ENV___445 = 1148,
    _CS_V7_ENV___445 = 1149
} ;
enum __anonenum_513775621___445 {
    DT_UNKNOWN___445 = 0,
    DT_FIFO___445 = 1,
    DT_CHR___445 = 2,
    DT_DIR___445 = 4,
    DT_BLK___445 = 6,
    DT_REG___445 = 8,
    DT_LNK___445 = 10,
    DT_SOCK___445 = 12,
    DT_WHT___445 = 14
} ;
enum __anonenum_77002343___445 {
    SI_ASYNCNL___445 = -60,
    SI_TKILL___445 = -6,
    SI_SIGIO___445 = -5,
    SI_ASYNCIO___445 = -4,
    SI_MESGQ___445 = -3,
    SI_TIMER___445 = -2,
    SI_QUEUE___445 = -1,
    SI_USER___445 = 0,
    SI_KERNEL___445 = 128
} ;
enum __anonenum_131038172___445 {
    ILL_ILLOPC___445 = 1,
    ILL_ILLOPN___445 = 2,
    ILL_ILLADR___445 = 3,
    ILL_ILLTRP___445 = 4,
    ILL_PRVOPC___445 = 5,
    ILL_PRVREG___445 = 6,
    ILL_COPROC___445 = 7,
    ILL_BADSTK___445 = 8
} ;
enum __anonenum_452038093___445 {
    FPE_INTDIV___445 = 1,
    FPE_INTOVF___445 = 2,
    FPE_FLTDIV___445 = 3,
    FPE_FLTOVF___445 = 4,
    FPE_FLTUND___445 = 5,
    FPE_FLTRES___445 = 6,
    FPE_FLTINV___445 = 7,
    FPE_FLTSUB___445 = 8
} ;
enum __anonenum_30976155___445 {
    SEGV_MAPERR___445 = 1,
    SEGV_ACCERR___445 = 2,
    SEGV_BNDERR___445 = 3,
    SEGV_PKUERR___445 = 4
} ;
enum __anonenum_1036286214___445 {
    BUS_ADRALN___445 = 1,
    BUS_ADRERR___445 = 2,
    BUS_OBJERR___445 = 3,
    BUS_MCEERR_AR___445 = 4,
    BUS_MCEERR_AO___445 = 5
} ;
enum __anonenum_493465559___445 {
    TRAP_BRKPT___445 = 1,
    TRAP_TRACE___445 = 2
} ;
enum __anonenum_23175539___445 {
    CLD_EXITED___445 = 1,
    CLD_KILLED___445 = 2,
    CLD_DUMPED___445 = 3,
    CLD_TRAPPED___445 = 4,
    CLD_STOPPED___445 = 5,
    CLD_CONTINUED___445 = 6
} ;
enum __anonenum_111643124___445 {
    POLL_IN___445 = 1,
    POLL_OUT___445 = 2,
    POLL_MSG___445 = 3,
    POLL_ERR___445 = 4,
    POLL_PRI___445 = 5,
    POLL_HUP___445 = 6
} ;
enum __anonenum_852341087___445 {
    SIGEV_SIGNAL___445 = 0,
    SIGEV_NONE___445 = 1,
    SIGEV_THREAD___445 = 2,
    SIGEV_THREAD_ID___445 = 4
} ;
enum __anonenum_451154152___445 {
    REG_R8___445 = 0,
    REG_R9___445 = 1,
    REG_R10___445 = 2,
    REG_R11___445 = 3,
    REG_R12___445 = 4,
    REG_R13___445 = 5,
    REG_R14___445 = 6,
    REG_R15___445 = 7,
    REG_RDI___445 = 8,
    REG_RSI___445 = 9,
    REG_RBP___445 = 10,
    REG_RBX___445 = 11,
    REG_RDX___445 = 12,
    REG_RAX___445 = 13,
    REG_RCX___445 = 14,
    REG_RSP___445 = 15,
    REG_RIP___445 = 16,
    REG_EFL___445 = 17,
    REG_CSGSFS___445 = 18,
    REG_ERR___445 = 19,
    REG_TRAPNO___445 = 20,
    REG_OLDMASK___445 = 21,
    REG_CR2___445 = 22
} ;
enum __anonenum_57186863___445 {
    SS_ONSTACK___445 = 1,
    SS_DISABLE___445 = 2
} ;
enum __anonenum_83571709___445 {
    MSG_OOB___445 = 1,
    MSG_PEEK___445 = 2,
    MSG_DONTROUTE___445 = 4,
    MSG_TRYHARD___445 = 4,
    MSG_CTRUNC___445 = 8,
    MSG_PROXY___445 = 16,
    MSG_TRUNC___445 = 32,
    MSG_DONTWAIT___445 = 64,
    MSG_EOR___445 = 128,
    MSG_WAITALL___445 = 256,
    MSG_FIN___445 = 512,
    MSG_SYN___445 = 1024,
    MSG_CONFIRM___445 = 2048,
    MSG_RST___445 = 4096,
    MSG_ERRQUEUE___445 = 8192,
    MSG_NOSIGNAL___445 = 16384,
    MSG_MORE___445 = 32768,
    MSG_WAITFORONE___445 = 65536,
    MSG_BATCH___445 = 262144,
    MSG_ZEROCOPY___445 = 67108864,
    MSG_FASTOPEN___445 = 536870912,
    MSG_CMSG_CLOEXEC___445 = 1073741824
} ;
enum __anonenum_617082774___445 {
    SCM_RIGHTS___445 = 1,
    SCM_CREDENTIALS___445 = 2
} ;
enum __anonenum_606441560___445 {
    SHUT_RD___445 = 0,
    SHUT_WR___445 = 1,
    SHUT_RDWR___445 = 2
} ;
enum __anonenum_681669233___445 {
    IPPROTO_IP___445 = 0,
    IPPROTO_ICMP___445 = 1,
    IPPROTO_IGMP___445 = 2,
    IPPROTO_IPIP___445 = 4,
    IPPROTO_TCP___445 = 6,
    IPPROTO_EGP___445 = 8,
    IPPROTO_PUP___445 = 12,
    IPPROTO_UDP___445 = 17,
    IPPROTO_IDP___445 = 22,
    IPPROTO_TP___445 = 29,
    IPPROTO_DCCP___445 = 33,
    IPPROTO_IPV6___445 = 41,
    IPPROTO_RSVP___445 = 46,
    IPPROTO_GRE___445 = 47,
    IPPROTO_ESP___445 = 50,
    IPPROTO_AH___445 = 51,
    IPPROTO_MTP___445 = 92,
    IPPROTO_BEETPH___445 = 94,
    IPPROTO_ENCAP___445 = 98,
    IPPROTO_PIM___445 = 103,
    IPPROTO_COMP___445 = 108,
    IPPROTO_SCTP___445 = 132,
    IPPROTO_UDPLITE___445 = 136,
    IPPROTO_MPLS___445 = 137,
    IPPROTO_RAW___445 = 255,
    IPPROTO_MAX___445 = 256
} ;
enum __anonenum_218739988___445 {
    IPPROTO_HOPOPTS___445 = 0,
    IPPROTO_ROUTING___445 = 43,
    IPPROTO_FRAGMENT___445 = 44,
    IPPROTO_ICMPV6___445 = 58,
    IPPROTO_NONE___445 = 59,
    IPPROTO_DSTOPTS___445 = 60,
    IPPROTO_MH___445 = 135
} ;
enum __anonenum_662268580___445 {
    IPPORT_ECHO___445 = 7,
    IPPORT_DISCARD___445 = 9,
    IPPORT_SYSTAT___445 = 11,
    IPPORT_DAYTIME___445 = 13,
    IPPORT_NETSTAT___445 = 15,
    IPPORT_FTP___445 = 21,
    IPPORT_TELNET___445 = 23,
    IPPORT_SMTP___445 = 25,
    IPPORT_TIMESERVER___445 = 37,
    IPPORT_NAMESERVER___445 = 42,
    IPPORT_WHOIS___445 = 43,
    IPPORT_MTP___445 = 57,
    IPPORT_TFTP___445 = 69,
    IPPORT_RJE___445 = 77,
    IPPORT_FINGER___445 = 79,
    IPPORT_TTYLINK___445 = 87,
    IPPORT_SUPDUP___445 = 95,
    IPPORT_EXECSERVER___445 = 512,
    IPPORT_LOGINSERVER___445 = 513,
    IPPORT_CMDSERVER___445 = 514,
    IPPORT_EFSSERVER___445 = 520,
    IPPORT_BIFFUDP___445 = 512,
    IPPORT_WHOSERVER___445 = 513,
    IPPORT_ROUTESERVER___445 = 520,
    IPPORT_RESERVED___445 = 1024,
    IPPORT_USERRESERVED___445 = 5000
} ;
enum __anonenum_788308992___445 {
    TCP_ESTABLISHED___445 = 1,
    TCP_SYN_SENT___445 = 2,
    TCP_SYN_RECV___445 = 3,
    TCP_FIN_WAIT1___445 = 4,
    TCP_FIN_WAIT2___445 = 5,
    TCP_TIME_WAIT___445 = 6,
    TCP_CLOSE___445 = 7,
    TCP_CLOSE_WAIT___445 = 8,
    TCP_LAST_ACK___445 = 9,
    TCP_LISTEN___445 = 10,
    TCP_CLOSING___445 = 11
} ;
enum __anonenum_221125648___445 {
    TCP_NO_QUEUE___445 = 0,
    TCP_RECV_QUEUE___445 = 1,
    TCP_SEND_QUEUE___445 = 2,
    TCP_QUEUES_NR___445 = 3
} ;
enum __anonenum_34415463___445 {
    PTHREAD_CREATE_JOINABLE___445 = 0,
    PTHREAD_CREATE_DETACHED___445 = 1
} ;
enum __anonenum_303612439___445 {
    PTHREAD_MUTEX_TIMED_NP___445 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___445 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___445 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___445 = 3,
    PTHREAD_MUTEX_NORMAL___445 = 0,
    PTHREAD_MUTEX_RECURSIVE___445 = 1,
    PTHREAD_MUTEX_ERRORCHECK___445 = 2,
    PTHREAD_MUTEX_DEFAULT___445 = 0,
    PTHREAD_MUTEX_FAST_NP___445 = 0
} ;
enum __anonenum_931900394___445 {
    PTHREAD_MUTEX_STALLED___445 = 0,
    PTHREAD_MUTEX_STALLED_NP___445 = 0,
    PTHREAD_MUTEX_ROBUST___445 = 1,
    PTHREAD_MUTEX_ROBUST_NP___445 = 1
} ;
enum __anonenum_205214487___445 {
    PTHREAD_PRIO_NONE___445 = 0,
    PTHREAD_PRIO_INHERIT___445 = 1,
    PTHREAD_PRIO_PROTECT___445 = 2
} ;
enum __anonenum_25043950___445 {
    PTHREAD_RWLOCK_PREFER_READER_NP___445 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___445 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___445 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___445 = 0
} ;
enum __anonenum_436439511___445 {
    PTHREAD_INHERIT_SCHED___445 = 0,
    PTHREAD_EXPLICIT_SCHED___445 = 1
} ;
enum __anonenum_998661166___445 {
    PTHREAD_SCOPE_SYSTEM___445 = 0,
    PTHREAD_SCOPE_PROCESS___445 = 1
} ;
enum __anonenum_146137331___445 {
    PTHREAD_PROCESS_PRIVATE___445 = 0,
    PTHREAD_PROCESS_SHARED___445 = 1
} ;
enum __anonenum_53396917___445 {
    PTHREAD_CANCEL_ENABLE___445 = 0,
    PTHREAD_CANCEL_DISABLE___445 = 1
} ;
enum __anonenum_904563783___445 {
    PTHREAD_CANCEL_DEFERRED___445 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___445 = 1
} ;
enum __anonenum_672052974___445 {
    SSL_CT_VALIDATION_PERMISSIVE___445 = 0,
    SSL_CT_VALIDATION_STRICT___445 = 1
} ;
enum __anonenum_437032235___446 {
    _PC_LINK_MAX___446 = 0,
    _PC_MAX_CANON___446 = 1,
    _PC_MAX_INPUT___446 = 2,
    _PC_NAME_MAX___446 = 3,
    _PC_PATH_MAX___446 = 4,
    _PC_PIPE_BUF___446 = 5,
    _PC_CHOWN_RESTRICTED___446 = 6,
    _PC_NO_TRUNC___446 = 7,
    _PC_VDISABLE___446 = 8,
    _PC_SYNC_IO___446 = 9,
    _PC_ASYNC_IO___446 = 10,
    _PC_PRIO_IO___446 = 11,
    _PC_SOCK_MAXBUF___446 = 12,
    _PC_FILESIZEBITS___446 = 13,
    _PC_REC_INCR_XFER_SIZE___446 = 14,
    _PC_REC_MAX_XFER_SIZE___446 = 15,
    _PC_REC_MIN_XFER_SIZE___446 = 16,
    _PC_REC_XFER_ALIGN___446 = 17,
    _PC_ALLOC_SIZE_MIN___446 = 18,
    _PC_SYMLINK_MAX___446 = 19,
    _PC_2_SYMLINKS___446 = 20
} ;
enum __anonenum_315186338___446 {
    _SC_ARG_MAX___446 = 0,
    _SC_CHILD_MAX___446 = 1,
    _SC_CLK_TCK___446 = 2,
    _SC_NGROUPS_MAX___446 = 3,
    _SC_OPEN_MAX___446 = 4,
    _SC_STREAM_MAX___446 = 5,
    _SC_TZNAME_MAX___446 = 6,
    _SC_JOB_CONTROL___446 = 7,
    _SC_SAVED_IDS___446 = 8,
    _SC_REALTIME_SIGNALS___446 = 9,
    _SC_PRIORITY_SCHEDULING___446 = 10,
    _SC_TIMERS___446 = 11,
    _SC_ASYNCHRONOUS_IO___446 = 12,
    _SC_PRIORITIZED_IO___446 = 13,
    _SC_SYNCHRONIZED_IO___446 = 14,
    _SC_FSYNC___446 = 15,
    _SC_MAPPED_FILES___446 = 16,
    _SC_MEMLOCK___446 = 17,
    _SC_MEMLOCK_RANGE___446 = 18,
    _SC_MEMORY_PROTECTION___446 = 19,
    _SC_MESSAGE_PASSING___446 = 20,
    _SC_SEMAPHORES___446 = 21,
    _SC_SHARED_MEMORY_OBJECTS___446 = 22,
    _SC_AIO_LISTIO_MAX___446 = 23,
    _SC_AIO_MAX___446 = 24,
    _SC_AIO_PRIO_DELTA_MAX___446 = 25,
    _SC_DELAYTIMER_MAX___446 = 26,
    _SC_MQ_OPEN_MAX___446 = 27,
    _SC_MQ_PRIO_MAX___446 = 28,
    _SC_VERSION___446 = 29,
    _SC_PAGESIZE___446 = 30,
    _SC_RTSIG_MAX___446 = 31,
    _SC_SEM_NSEMS_MAX___446 = 32,
    _SC_SEM_VALUE_MAX___446 = 33,
    _SC_SIGQUEUE_MAX___446 = 34,
    _SC_TIMER_MAX___446 = 35,
    _SC_BC_BASE_MAX___446 = 36,
    _SC_BC_DIM_MAX___446 = 37,
    _SC_BC_SCALE_MAX___446 = 38,
    _SC_BC_STRING_MAX___446 = 39,
    _SC_COLL_WEIGHTS_MAX___446 = 40,
    _SC_EQUIV_CLASS_MAX___446 = 41,
    _SC_EXPR_NEST_MAX___446 = 42,
    _SC_LINE_MAX___446 = 43,
    _SC_RE_DUP_MAX___446 = 44,
    _SC_CHARCLASS_NAME_MAX___446 = 45,
    _SC_2_VERSION___446 = 46,
    _SC_2_C_BIND___446 = 47,
    _SC_2_C_DEV___446 = 48,
    _SC_2_FORT_DEV___446 = 49,
    _SC_2_FORT_RUN___446 = 50,
    _SC_2_SW_DEV___446 = 51,
    _SC_2_LOCALEDEF___446 = 52,
    _SC_PII___446 = 53,
    _SC_PII_XTI___446 = 54,
    _SC_PII_SOCKET___446 = 55,
    _SC_PII_INTERNET___446 = 56,
    _SC_PII_OSI___446 = 57,
    _SC_POLL___446 = 58,
    _SC_SELECT___446 = 59,
    _SC_UIO_MAXIOV___446 = 60,
    _SC_IOV_MAX___446 = 60,
    _SC_PII_INTERNET_STREAM___446 = 61,
    _SC_PII_INTERNET_DGRAM___446 = 62,
    _SC_PII_OSI_COTS___446 = 63,
    _SC_PII_OSI_CLTS___446 = 64,
    _SC_PII_OSI_M___446 = 65,
    _SC_T_IOV_MAX___446 = 66,
    _SC_THREADS___446 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___446 = 68,
    _SC_GETGR_R_SIZE_MAX___446 = 69,
    _SC_GETPW_R_SIZE_MAX___446 = 70,
    _SC_LOGIN_NAME_MAX___446 = 71,
    _SC_TTY_NAME_MAX___446 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___446 = 73,
    _SC_THREAD_KEYS_MAX___446 = 74,
    _SC_THREAD_STACK_MIN___446 = 75,
    _SC_THREAD_THREADS_MAX___446 = 76,
    _SC_THREAD_ATTR_STACKADDR___446 = 77,
    _SC_THREAD_ATTR_STACKSIZE___446 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___446 = 79,
    _SC_THREAD_PRIO_INHERIT___446 = 80,
    _SC_THREAD_PRIO_PROTECT___446 = 81,
    _SC_THREAD_PROCESS_SHARED___446 = 82,
    _SC_NPROCESSORS_CONF___446 = 83,
    _SC_NPROCESSORS_ONLN___446 = 84,
    _SC_PHYS_PAGES___446 = 85,
    _SC_AVPHYS_PAGES___446 = 86,
    _SC_ATEXIT_MAX___446 = 87,
    _SC_PASS_MAX___446 = 88,
    _SC_XOPEN_VERSION___446 = 89,
    _SC_XOPEN_XCU_VERSION___446 = 90,
    _SC_XOPEN_UNIX___446 = 91,
    _SC_XOPEN_CRYPT___446 = 92,
    _SC_XOPEN_ENH_I18N___446 = 93,
    _SC_XOPEN_SHM___446 = 94,
    _SC_2_CHAR_TERM___446 = 95,
    _SC_2_C_VERSION___446 = 96,
    _SC_2_UPE___446 = 97,
    _SC_XOPEN_XPG2___446 = 98,
    _SC_XOPEN_XPG3___446 = 99,
    _SC_XOPEN_XPG4___446 = 100,
    _SC_CHAR_BIT___446 = 101,
    _SC_CHAR_MAX___446 = 102,
    _SC_CHAR_MIN___446 = 103,
    _SC_INT_MAX___446 = 104,
    _SC_INT_MIN___446 = 105,
    _SC_LONG_BIT___446 = 106,
    _SC_WORD_BIT___446 = 107,
    _SC_MB_LEN_MAX___446 = 108,
    _SC_NZERO___446 = 109,
    _SC_SSIZE_MAX___446 = 110,
    _SC_SCHAR_MAX___446 = 111,
    _SC_SCHAR_MIN___446 = 112,
    _SC_SHRT_MAX___446 = 113,
    _SC_SHRT_MIN___446 = 114,
    _SC_UCHAR_MAX___446 = 115,
    _SC_UINT_MAX___446 = 116,
    _SC_ULONG_MAX___446 = 117,
    _SC_USHRT_MAX___446 = 118,
    _SC_NL_ARGMAX___446 = 119,
    _SC_NL_LANGMAX___446 = 120,
    _SC_NL_MSGMAX___446 = 121,
    _SC_NL_NMAX___446 = 122,
    _SC_NL_SETMAX___446 = 123,
    _SC_NL_TEXTMAX___446 = 124,
    _SC_XBS5_ILP32_OFF32___446 = 125,
    _SC_XBS5_ILP32_OFFBIG___446 = 126,
    _SC_XBS5_LP64_OFF64___446 = 127,
    _SC_XBS5_LPBIG_OFFBIG___446 = 128,
    _SC_XOPEN_LEGACY___446 = 129,
    _SC_XOPEN_REALTIME___446 = 130,
    _SC_XOPEN_REALTIME_THREADS___446 = 131,
    _SC_ADVISORY_INFO___446 = 132,
    _SC_BARRIERS___446 = 133,
    _SC_BASE___446 = 134,
    _SC_C_LANG_SUPPORT___446 = 135,
    _SC_C_LANG_SUPPORT_R___446 = 136,
    _SC_CLOCK_SELECTION___446 = 137,
    _SC_CPUTIME___446 = 138,
    _SC_THREAD_CPUTIME___446 = 139,
    _SC_DEVICE_IO___446 = 140,
    _SC_DEVICE_SPECIFIC___446 = 141,
    _SC_DEVICE_SPECIFIC_R___446 = 142,
    _SC_FD_MGMT___446 = 143,
    _SC_FIFO___446 = 144,
    _SC_PIPE___446 = 145,
    _SC_FILE_ATTRIBUTES___446 = 146,
    _SC_FILE_LOCKING___446 = 147,
    _SC_FILE_SYSTEM___446 = 148,
    _SC_MONOTONIC_CLOCK___446 = 149,
    _SC_MULTI_PROCESS___446 = 150,
    _SC_SINGLE_PROCESS___446 = 151,
    _SC_NETWORKING___446 = 152,
    _SC_READER_WRITER_LOCKS___446 = 153,
    _SC_SPIN_LOCKS___446 = 154,
    _SC_REGEXP___446 = 155,
    _SC_REGEX_VERSION___446 = 156,
    _SC_SHELL___446 = 157,
    _SC_SIGNALS___446 = 158,
    _SC_SPAWN___446 = 159,
    _SC_SPORADIC_SERVER___446 = 160,
    _SC_THREAD_SPORADIC_SERVER___446 = 161,
    _SC_SYSTEM_DATABASE___446 = 162,
    _SC_SYSTEM_DATABASE_R___446 = 163,
    _SC_TIMEOUTS___446 = 164,
    _SC_TYPED_MEMORY_OBJECTS___446 = 165,
    _SC_USER_GROUPS___446 = 166,
    _SC_USER_GROUPS_R___446 = 167,
    _SC_2_PBS___446 = 168,
    _SC_2_PBS_ACCOUNTING___446 = 169,
    _SC_2_PBS_LOCATE___446 = 170,
    _SC_2_PBS_MESSAGE___446 = 171,
    _SC_2_PBS_TRACK___446 = 172,
    _SC_SYMLOOP_MAX___446 = 173,
    _SC_STREAMS___446 = 174,
    _SC_2_PBS_CHECKPOINT___446 = 175,
    _SC_V6_ILP32_OFF32___446 = 176,
    _SC_V6_ILP32_OFFBIG___446 = 177,
    _SC_V6_LP64_OFF64___446 = 178,
    _SC_V6_LPBIG_OFFBIG___446 = 179,
    _SC_HOST_NAME_MAX___446 = 180,
    _SC_TRACE___446 = 181,
    _SC_TRACE_EVENT_FILTER___446 = 182,
    _SC_TRACE_INHERIT___446 = 183,
    _SC_TRACE_LOG___446 = 184,
    _SC_LEVEL1_ICACHE_SIZE___446 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___446 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___446 = 187,
    _SC_LEVEL1_DCACHE_SIZE___446 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___446 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___446 = 190,
    _SC_LEVEL2_CACHE_SIZE___446 = 191,
    _SC_LEVEL2_CACHE_ASSOC___446 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___446 = 193,
    _SC_LEVEL3_CACHE_SIZE___446 = 194,
    _SC_LEVEL3_CACHE_ASSOC___446 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___446 = 196,
    _SC_LEVEL4_CACHE_SIZE___446 = 197,
    _SC_LEVEL4_CACHE_ASSOC___446 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___446 = 199,
    _SC_IPV6___446 = 235,
    _SC_RAW_SOCKETS___446 = 236,
    _SC_V7_ILP32_OFF32___446 = 237,
    _SC_V7_ILP32_OFFBIG___446 = 238,
    _SC_V7_LP64_OFF64___446 = 239,
    _SC_V7_LPBIG_OFFBIG___446 = 240,
    _SC_SS_REPL_MAX___446 = 241,
    _SC_TRACE_EVENT_NAME_MAX___446 = 242,
    _SC_TRACE_NAME_MAX___446 = 243,
    _SC_TRACE_SYS_MAX___446 = 244,
    _SC_TRACE_USER_EVENT_MAX___446 = 245,
    _SC_XOPEN_STREAMS___446 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___446 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___446 = 248
} ;
enum __anonenum_875524036___446 {
    _CS_PATH___446 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___446 = 1,
    _CS_GNU_LIBC_VERSION___446 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___446 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___446 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___446 = 5,
    _CS_LFS_CFLAGS___446 = 1000,
    _CS_LFS_LDFLAGS___446 = 1001,
    _CS_LFS_LIBS___446 = 1002,
    _CS_LFS_LINTFLAGS___446 = 1003,
    _CS_LFS64_CFLAGS___446 = 1004,
    _CS_LFS64_LDFLAGS___446 = 1005,
    _CS_LFS64_LIBS___446 = 1006,
    _CS_LFS64_LINTFLAGS___446 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___446 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___446 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___446 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___446 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___446 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___446 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___446 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___446 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___446 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___446 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___446 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___446 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___446 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___446 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___446 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___446 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___446 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___446 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___446 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___446 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___446 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___446 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___446 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___446 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___446 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___446 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___446 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___446 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___446 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___446 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___446 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___446 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___446 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___446 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___446 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___446 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___446 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___446 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___446 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___446 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___446 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___446 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___446 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___446 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___446 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___446 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___446 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___446 = 1147,
    _CS_V6_ENV___446 = 1148,
    _CS_V7_ENV___446 = 1149
} ;
enum __anonenum_513775621___446 {
    DT_UNKNOWN___446 = 0,
    DT_FIFO___446 = 1,
    DT_CHR___446 = 2,
    DT_DIR___446 = 4,
    DT_BLK___446 = 6,
    DT_REG___446 = 8,
    DT_LNK___446 = 10,
    DT_SOCK___446 = 12,
    DT_WHT___446 = 14
} ;
enum __anonenum_77002343___446 {
    SI_ASYNCNL___446 = -60,
    SI_TKILL___446 = -6,
    SI_SIGIO___446 = -5,
    SI_ASYNCIO___446 = -4,
    SI_MESGQ___446 = -3,
    SI_TIMER___446 = -2,
    SI_QUEUE___446 = -1,
    SI_USER___446 = 0,
    SI_KERNEL___446 = 128
} ;
enum __anonenum_131038172___446 {
    ILL_ILLOPC___446 = 1,
    ILL_ILLOPN___446 = 2,
    ILL_ILLADR___446 = 3,
    ILL_ILLTRP___446 = 4,
    ILL_PRVOPC___446 = 5,
    ILL_PRVREG___446 = 6,
    ILL_COPROC___446 = 7,
    ILL_BADSTK___446 = 8
} ;
enum __anonenum_452038093___446 {
    FPE_INTDIV___446 = 1,
    FPE_INTOVF___446 = 2,
    FPE_FLTDIV___446 = 3,
    FPE_FLTOVF___446 = 4,
    FPE_FLTUND___446 = 5,
    FPE_FLTRES___446 = 6,
    FPE_FLTINV___446 = 7,
    FPE_FLTSUB___446 = 8
} ;
enum __anonenum_30976155___446 {
    SEGV_MAPERR___446 = 1,
    SEGV_ACCERR___446 = 2,
    SEGV_BNDERR___446 = 3,
    SEGV_PKUERR___446 = 4
} ;
enum __anonenum_1036286214___446 {
    BUS_ADRALN___446 = 1,
    BUS_ADRERR___446 = 2,
    BUS_OBJERR___446 = 3,
    BUS_MCEERR_AR___446 = 4,
    BUS_MCEERR_AO___446 = 5
} ;
enum __anonenum_493465559___446 {
    TRAP_BRKPT___446 = 1,
    TRAP_TRACE___446 = 2
} ;
enum __anonenum_23175539___446 {
    CLD_EXITED___446 = 1,
    CLD_KILLED___446 = 2,
    CLD_DUMPED___446 = 3,
    CLD_TRAPPED___446 = 4,
    CLD_STOPPED___446 = 5,
    CLD_CONTINUED___446 = 6
} ;
enum __anonenum_111643124___446 {
    POLL_IN___446 = 1,
    POLL_OUT___446 = 2,
    POLL_MSG___446 = 3,
    POLL_ERR___446 = 4,
    POLL_PRI___446 = 5,
    POLL_HUP___446 = 6
} ;
enum __anonenum_852341087___446 {
    SIGEV_SIGNAL___446 = 0,
    SIGEV_NONE___446 = 1,
    SIGEV_THREAD___446 = 2,
    SIGEV_THREAD_ID___446 = 4
} ;
enum __anonenum_451154152___446 {
    REG_R8___446 = 0,
    REG_R9___446 = 1,
    REG_R10___446 = 2,
    REG_R11___446 = 3,
    REG_R12___446 = 4,
    REG_R13___446 = 5,
    REG_R14___446 = 6,
    REG_R15___446 = 7,
    REG_RDI___446 = 8,
    REG_RSI___446 = 9,
    REG_RBP___446 = 10,
    REG_RBX___446 = 11,
    REG_RDX___446 = 12,
    REG_RAX___446 = 13,
    REG_RCX___446 = 14,
    REG_RSP___446 = 15,
    REG_RIP___446 = 16,
    REG_EFL___446 = 17,
    REG_CSGSFS___446 = 18,
    REG_ERR___446 = 19,
    REG_TRAPNO___446 = 20,
    REG_OLDMASK___446 = 21,
    REG_CR2___446 = 22
} ;
enum __anonenum_57186863___446 {
    SS_ONSTACK___446 = 1,
    SS_DISABLE___446 = 2
} ;
enum __anonenum_83571709___446 {
    MSG_OOB___446 = 1,
    MSG_PEEK___446 = 2,
    MSG_DONTROUTE___446 = 4,
    MSG_TRYHARD___446 = 4,
    MSG_CTRUNC___446 = 8,
    MSG_PROXY___446 = 16,
    MSG_TRUNC___446 = 32,
    MSG_DONTWAIT___446 = 64,
    MSG_EOR___446 = 128,
    MSG_WAITALL___446 = 256,
    MSG_FIN___446 = 512,
    MSG_SYN___446 = 1024,
    MSG_CONFIRM___446 = 2048,
    MSG_RST___446 = 4096,
    MSG_ERRQUEUE___446 = 8192,
    MSG_NOSIGNAL___446 = 16384,
    MSG_MORE___446 = 32768,
    MSG_WAITFORONE___446 = 65536,
    MSG_BATCH___446 = 262144,
    MSG_ZEROCOPY___446 = 67108864,
    MSG_FASTOPEN___446 = 536870912,
    MSG_CMSG_CLOEXEC___446 = 1073741824
} ;
enum __anonenum_617082774___446 {
    SCM_RIGHTS___446 = 1,
    SCM_CREDENTIALS___446 = 2
} ;
enum __anonenum_606441560___446 {
    SHUT_RD___446 = 0,
    SHUT_WR___446 = 1,
    SHUT_RDWR___446 = 2
} ;
enum __anonenum_681669233___446 {
    IPPROTO_IP___446 = 0,
    IPPROTO_ICMP___446 = 1,
    IPPROTO_IGMP___446 = 2,
    IPPROTO_IPIP___446 = 4,
    IPPROTO_TCP___446 = 6,
    IPPROTO_EGP___446 = 8,
    IPPROTO_PUP___446 = 12,
    IPPROTO_UDP___446 = 17,
    IPPROTO_IDP___446 = 22,
    IPPROTO_TP___446 = 29,
    IPPROTO_DCCP___446 = 33,
    IPPROTO_IPV6___446 = 41,
    IPPROTO_RSVP___446 = 46,
    IPPROTO_GRE___446 = 47,
    IPPROTO_ESP___446 = 50,
    IPPROTO_AH___446 = 51,
    IPPROTO_MTP___446 = 92,
    IPPROTO_BEETPH___446 = 94,
    IPPROTO_ENCAP___446 = 98,
    IPPROTO_PIM___446 = 103,
    IPPROTO_COMP___446 = 108,
    IPPROTO_SCTP___446 = 132,
    IPPROTO_UDPLITE___446 = 136,
    IPPROTO_MPLS___446 = 137,
    IPPROTO_RAW___446 = 255,
    IPPROTO_MAX___446 = 256
} ;
enum __anonenum_218739988___446 {
    IPPROTO_HOPOPTS___446 = 0,
    IPPROTO_ROUTING___446 = 43,
    IPPROTO_FRAGMENT___446 = 44,
    IPPROTO_ICMPV6___446 = 58,
    IPPROTO_NONE___446 = 59,
    IPPROTO_DSTOPTS___446 = 60,
    IPPROTO_MH___446 = 135
} ;
enum __anonenum_662268580___446 {
    IPPORT_ECHO___446 = 7,
    IPPORT_DISCARD___446 = 9,
    IPPORT_SYSTAT___446 = 11,
    IPPORT_DAYTIME___446 = 13,
    IPPORT_NETSTAT___446 = 15,
    IPPORT_FTP___446 = 21,
    IPPORT_TELNET___446 = 23,
    IPPORT_SMTP___446 = 25,
    IPPORT_TIMESERVER___446 = 37,
    IPPORT_NAMESERVER___446 = 42,
    IPPORT_WHOIS___446 = 43,
    IPPORT_MTP___446 = 57,
    IPPORT_TFTP___446 = 69,
    IPPORT_RJE___446 = 77,
    IPPORT_FINGER___446 = 79,
    IPPORT_TTYLINK___446 = 87,
    IPPORT_SUPDUP___446 = 95,
    IPPORT_EXECSERVER___446 = 512,
    IPPORT_LOGINSERVER___446 = 513,
    IPPORT_CMDSERVER___446 = 514,
    IPPORT_EFSSERVER___446 = 520,
    IPPORT_BIFFUDP___446 = 512,
    IPPORT_WHOSERVER___446 = 513,
    IPPORT_ROUTESERVER___446 = 520,
    IPPORT_RESERVED___446 = 1024,
    IPPORT_USERRESERVED___446 = 5000
} ;
enum __anonenum_788308992___446 {
    TCP_ESTABLISHED___446 = 1,
    TCP_SYN_SENT___446 = 2,
    TCP_SYN_RECV___446 = 3,
    TCP_FIN_WAIT1___446 = 4,
    TCP_FIN_WAIT2___446 = 5,
    TCP_TIME_WAIT___446 = 6,
    TCP_CLOSE___446 = 7,
    TCP_CLOSE_WAIT___446 = 8,
    TCP_LAST_ACK___446 = 9,
    TCP_LISTEN___446 = 10,
    TCP_CLOSING___446 = 11
} ;
enum __anonenum_221125648___446 {
    TCP_NO_QUEUE___446 = 0,
    TCP_RECV_QUEUE___446 = 1,
    TCP_SEND_QUEUE___446 = 2,
    TCP_QUEUES_NR___446 = 3
} ;
enum __anonenum_34415463___446 {
    PTHREAD_CREATE_JOINABLE___446 = 0,
    PTHREAD_CREATE_DETACHED___446 = 1
} ;
enum __anonenum_303612439___446 {
    PTHREAD_MUTEX_TIMED_NP___446 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___446 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___446 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___446 = 3,
    PTHREAD_MUTEX_NORMAL___446 = 0,
    PTHREAD_MUTEX_RECURSIVE___446 = 1,
    PTHREAD_MUTEX_ERRORCHECK___446 = 2,
    PTHREAD_MUTEX_DEFAULT___446 = 0,
    PTHREAD_MUTEX_FAST_NP___446 = 0
} ;
enum __anonenum_931900394___446 {
    PTHREAD_MUTEX_STALLED___446 = 0,
    PTHREAD_MUTEX_STALLED_NP___446 = 0,
    PTHREAD_MUTEX_ROBUST___446 = 1,
    PTHREAD_MUTEX_ROBUST_NP___446 = 1
} ;
enum __anonenum_205214487___446 {
    PTHREAD_PRIO_NONE___446 = 0,
    PTHREAD_PRIO_INHERIT___446 = 1,
    PTHREAD_PRIO_PROTECT___446 = 2
} ;
enum __anonenum_25043950___446 {
    PTHREAD_RWLOCK_PREFER_READER_NP___446 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___446 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___446 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___446 = 0
} ;
enum __anonenum_436439511___446 {
    PTHREAD_INHERIT_SCHED___446 = 0,
    PTHREAD_EXPLICIT_SCHED___446 = 1
} ;
enum __anonenum_998661166___446 {
    PTHREAD_SCOPE_SYSTEM___446 = 0,
    PTHREAD_SCOPE_PROCESS___446 = 1
} ;
enum __anonenum_146137331___446 {
    PTHREAD_PROCESS_PRIVATE___446 = 0,
    PTHREAD_PROCESS_SHARED___446 = 1
} ;
enum __anonenum_53396917___446 {
    PTHREAD_CANCEL_ENABLE___446 = 0,
    PTHREAD_CANCEL_DISABLE___446 = 1
} ;
enum __anonenum_904563783___446 {
    PTHREAD_CANCEL_DEFERRED___446 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___446 = 1
} ;
enum __anonenum_672052974___446 {
    SSL_CT_VALIDATION_PERMISSIVE___446 = 0,
    SSL_CT_VALIDATION_STRICT___446 = 1
} ;
enum __anonenum_437032235___447 {
    _PC_LINK_MAX___447 = 0,
    _PC_MAX_CANON___447 = 1,
    _PC_MAX_INPUT___447 = 2,
    _PC_NAME_MAX___447 = 3,
    _PC_PATH_MAX___447 = 4,
    _PC_PIPE_BUF___447 = 5,
    _PC_CHOWN_RESTRICTED___447 = 6,
    _PC_NO_TRUNC___447 = 7,
    _PC_VDISABLE___447 = 8,
    _PC_SYNC_IO___447 = 9,
    _PC_ASYNC_IO___447 = 10,
    _PC_PRIO_IO___447 = 11,
    _PC_SOCK_MAXBUF___447 = 12,
    _PC_FILESIZEBITS___447 = 13,
    _PC_REC_INCR_XFER_SIZE___447 = 14,
    _PC_REC_MAX_XFER_SIZE___447 = 15,
    _PC_REC_MIN_XFER_SIZE___447 = 16,
    _PC_REC_XFER_ALIGN___447 = 17,
    _PC_ALLOC_SIZE_MIN___447 = 18,
    _PC_SYMLINK_MAX___447 = 19,
    _PC_2_SYMLINKS___447 = 20
} ;
enum __anonenum_315186338___447 {
    _SC_ARG_MAX___447 = 0,
    _SC_CHILD_MAX___447 = 1,
    _SC_CLK_TCK___447 = 2,
    _SC_NGROUPS_MAX___447 = 3,
    _SC_OPEN_MAX___447 = 4,
    _SC_STREAM_MAX___447 = 5,
    _SC_TZNAME_MAX___447 = 6,
    _SC_JOB_CONTROL___447 = 7,
    _SC_SAVED_IDS___447 = 8,
    _SC_REALTIME_SIGNALS___447 = 9,
    _SC_PRIORITY_SCHEDULING___447 = 10,
    _SC_TIMERS___447 = 11,
    _SC_ASYNCHRONOUS_IO___447 = 12,
    _SC_PRIORITIZED_IO___447 = 13,
    _SC_SYNCHRONIZED_IO___447 = 14,
    _SC_FSYNC___447 = 15,
    _SC_MAPPED_FILES___447 = 16,
    _SC_MEMLOCK___447 = 17,
    _SC_MEMLOCK_RANGE___447 = 18,
    _SC_MEMORY_PROTECTION___447 = 19,
    _SC_MESSAGE_PASSING___447 = 20,
    _SC_SEMAPHORES___447 = 21,
    _SC_SHARED_MEMORY_OBJECTS___447 = 22,
    _SC_AIO_LISTIO_MAX___447 = 23,
    _SC_AIO_MAX___447 = 24,
    _SC_AIO_PRIO_DELTA_MAX___447 = 25,
    _SC_DELAYTIMER_MAX___447 = 26,
    _SC_MQ_OPEN_MAX___447 = 27,
    _SC_MQ_PRIO_MAX___447 = 28,
    _SC_VERSION___447 = 29,
    _SC_PAGESIZE___447 = 30,
    _SC_RTSIG_MAX___447 = 31,
    _SC_SEM_NSEMS_MAX___447 = 32,
    _SC_SEM_VALUE_MAX___447 = 33,
    _SC_SIGQUEUE_MAX___447 = 34,
    _SC_TIMER_MAX___447 = 35,
    _SC_BC_BASE_MAX___447 = 36,
    _SC_BC_DIM_MAX___447 = 37,
    _SC_BC_SCALE_MAX___447 = 38,
    _SC_BC_STRING_MAX___447 = 39,
    _SC_COLL_WEIGHTS_MAX___447 = 40,
    _SC_EQUIV_CLASS_MAX___447 = 41,
    _SC_EXPR_NEST_MAX___447 = 42,
    _SC_LINE_MAX___447 = 43,
    _SC_RE_DUP_MAX___447 = 44,
    _SC_CHARCLASS_NAME_MAX___447 = 45,
    _SC_2_VERSION___447 = 46,
    _SC_2_C_BIND___447 = 47,
    _SC_2_C_DEV___447 = 48,
    _SC_2_FORT_DEV___447 = 49,
    _SC_2_FORT_RUN___447 = 50,
    _SC_2_SW_DEV___447 = 51,
    _SC_2_LOCALEDEF___447 = 52,
    _SC_PII___447 = 53,
    _SC_PII_XTI___447 = 54,
    _SC_PII_SOCKET___447 = 55,
    _SC_PII_INTERNET___447 = 56,
    _SC_PII_OSI___447 = 57,
    _SC_POLL___447 = 58,
    _SC_SELECT___447 = 59,
    _SC_UIO_MAXIOV___447 = 60,
    _SC_IOV_MAX___447 = 60,
    _SC_PII_INTERNET_STREAM___447 = 61,
    _SC_PII_INTERNET_DGRAM___447 = 62,
    _SC_PII_OSI_COTS___447 = 63,
    _SC_PII_OSI_CLTS___447 = 64,
    _SC_PII_OSI_M___447 = 65,
    _SC_T_IOV_MAX___447 = 66,
    _SC_THREADS___447 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___447 = 68,
    _SC_GETGR_R_SIZE_MAX___447 = 69,
    _SC_GETPW_R_SIZE_MAX___447 = 70,
    _SC_LOGIN_NAME_MAX___447 = 71,
    _SC_TTY_NAME_MAX___447 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___447 = 73,
    _SC_THREAD_KEYS_MAX___447 = 74,
    _SC_THREAD_STACK_MIN___447 = 75,
    _SC_THREAD_THREADS_MAX___447 = 76,
    _SC_THREAD_ATTR_STACKADDR___447 = 77,
    _SC_THREAD_ATTR_STACKSIZE___447 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___447 = 79,
    _SC_THREAD_PRIO_INHERIT___447 = 80,
    _SC_THREAD_PRIO_PROTECT___447 = 81,
    _SC_THREAD_PROCESS_SHARED___447 = 82,
    _SC_NPROCESSORS_CONF___447 = 83,
    _SC_NPROCESSORS_ONLN___447 = 84,
    _SC_PHYS_PAGES___447 = 85,
    _SC_AVPHYS_PAGES___447 = 86,
    _SC_ATEXIT_MAX___447 = 87,
    _SC_PASS_MAX___447 = 88,
    _SC_XOPEN_VERSION___447 = 89,
    _SC_XOPEN_XCU_VERSION___447 = 90,
    _SC_XOPEN_UNIX___447 = 91,
    _SC_XOPEN_CRYPT___447 = 92,
    _SC_XOPEN_ENH_I18N___447 = 93,
    _SC_XOPEN_SHM___447 = 94,
    _SC_2_CHAR_TERM___447 = 95,
    _SC_2_C_VERSION___447 = 96,
    _SC_2_UPE___447 = 97,
    _SC_XOPEN_XPG2___447 = 98,
    _SC_XOPEN_XPG3___447 = 99,
    _SC_XOPEN_XPG4___447 = 100,
    _SC_CHAR_BIT___447 = 101,
    _SC_CHAR_MAX___447 = 102,
    _SC_CHAR_MIN___447 = 103,
    _SC_INT_MAX___447 = 104,
    _SC_INT_MIN___447 = 105,
    _SC_LONG_BIT___447 = 106,
    _SC_WORD_BIT___447 = 107,
    _SC_MB_LEN_MAX___447 = 108,
    _SC_NZERO___447 = 109,
    _SC_SSIZE_MAX___447 = 110,
    _SC_SCHAR_MAX___447 = 111,
    _SC_SCHAR_MIN___447 = 112,
    _SC_SHRT_MAX___447 = 113,
    _SC_SHRT_MIN___447 = 114,
    _SC_UCHAR_MAX___447 = 115,
    _SC_UINT_MAX___447 = 116,
    _SC_ULONG_MAX___447 = 117,
    _SC_USHRT_MAX___447 = 118,
    _SC_NL_ARGMAX___447 = 119,
    _SC_NL_LANGMAX___447 = 120,
    _SC_NL_MSGMAX___447 = 121,
    _SC_NL_NMAX___447 = 122,
    _SC_NL_SETMAX___447 = 123,
    _SC_NL_TEXTMAX___447 = 124,
    _SC_XBS5_ILP32_OFF32___447 = 125,
    _SC_XBS5_ILP32_OFFBIG___447 = 126,
    _SC_XBS5_LP64_OFF64___447 = 127,
    _SC_XBS5_LPBIG_OFFBIG___447 = 128,
    _SC_XOPEN_LEGACY___447 = 129,
    _SC_XOPEN_REALTIME___447 = 130,
    _SC_XOPEN_REALTIME_THREADS___447 = 131,
    _SC_ADVISORY_INFO___447 = 132,
    _SC_BARRIERS___447 = 133,
    _SC_BASE___447 = 134,
    _SC_C_LANG_SUPPORT___447 = 135,
    _SC_C_LANG_SUPPORT_R___447 = 136,
    _SC_CLOCK_SELECTION___447 = 137,
    _SC_CPUTIME___447 = 138,
    _SC_THREAD_CPUTIME___447 = 139,
    _SC_DEVICE_IO___447 = 140,
    _SC_DEVICE_SPECIFIC___447 = 141,
    _SC_DEVICE_SPECIFIC_R___447 = 142,
    _SC_FD_MGMT___447 = 143,
    _SC_FIFO___447 = 144,
    _SC_PIPE___447 = 145,
    _SC_FILE_ATTRIBUTES___447 = 146,
    _SC_FILE_LOCKING___447 = 147,
    _SC_FILE_SYSTEM___447 = 148,
    _SC_MONOTONIC_CLOCK___447 = 149,
    _SC_MULTI_PROCESS___447 = 150,
    _SC_SINGLE_PROCESS___447 = 151,
    _SC_NETWORKING___447 = 152,
    _SC_READER_WRITER_LOCKS___447 = 153,
    _SC_SPIN_LOCKS___447 = 154,
    _SC_REGEXP___447 = 155,
    _SC_REGEX_VERSION___447 = 156,
    _SC_SHELL___447 = 157,
    _SC_SIGNALS___447 = 158,
    _SC_SPAWN___447 = 159,
    _SC_SPORADIC_SERVER___447 = 160,
    _SC_THREAD_SPORADIC_SERVER___447 = 161,
    _SC_SYSTEM_DATABASE___447 = 162,
    _SC_SYSTEM_DATABASE_R___447 = 163,
    _SC_TIMEOUTS___447 = 164,
    _SC_TYPED_MEMORY_OBJECTS___447 = 165,
    _SC_USER_GROUPS___447 = 166,
    _SC_USER_GROUPS_R___447 = 167,
    _SC_2_PBS___447 = 168,
    _SC_2_PBS_ACCOUNTING___447 = 169,
    _SC_2_PBS_LOCATE___447 = 170,
    _SC_2_PBS_MESSAGE___447 = 171,
    _SC_2_PBS_TRACK___447 = 172,
    _SC_SYMLOOP_MAX___447 = 173,
    _SC_STREAMS___447 = 174,
    _SC_2_PBS_CHECKPOINT___447 = 175,
    _SC_V6_ILP32_OFF32___447 = 176,
    _SC_V6_ILP32_OFFBIG___447 = 177,
    _SC_V6_LP64_OFF64___447 = 178,
    _SC_V6_LPBIG_OFFBIG___447 = 179,
    _SC_HOST_NAME_MAX___447 = 180,
    _SC_TRACE___447 = 181,
    _SC_TRACE_EVENT_FILTER___447 = 182,
    _SC_TRACE_INHERIT___447 = 183,
    _SC_TRACE_LOG___447 = 184,
    _SC_LEVEL1_ICACHE_SIZE___447 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___447 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___447 = 187,
    _SC_LEVEL1_DCACHE_SIZE___447 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___447 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___447 = 190,
    _SC_LEVEL2_CACHE_SIZE___447 = 191,
    _SC_LEVEL2_CACHE_ASSOC___447 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___447 = 193,
    _SC_LEVEL3_CACHE_SIZE___447 = 194,
    _SC_LEVEL3_CACHE_ASSOC___447 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___447 = 196,
    _SC_LEVEL4_CACHE_SIZE___447 = 197,
    _SC_LEVEL4_CACHE_ASSOC___447 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___447 = 199,
    _SC_IPV6___447 = 235,
    _SC_RAW_SOCKETS___447 = 236,
    _SC_V7_ILP32_OFF32___447 = 237,
    _SC_V7_ILP32_OFFBIG___447 = 238,
    _SC_V7_LP64_OFF64___447 = 239,
    _SC_V7_LPBIG_OFFBIG___447 = 240,
    _SC_SS_REPL_MAX___447 = 241,
    _SC_TRACE_EVENT_NAME_MAX___447 = 242,
    _SC_TRACE_NAME_MAX___447 = 243,
    _SC_TRACE_SYS_MAX___447 = 244,
    _SC_TRACE_USER_EVENT_MAX___447 = 245,
    _SC_XOPEN_STREAMS___447 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___447 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___447 = 248
} ;
enum __anonenum_875524036___447 {
    _CS_PATH___447 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___447 = 1,
    _CS_GNU_LIBC_VERSION___447 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___447 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___447 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___447 = 5,
    _CS_LFS_CFLAGS___447 = 1000,
    _CS_LFS_LDFLAGS___447 = 1001,
    _CS_LFS_LIBS___447 = 1002,
    _CS_LFS_LINTFLAGS___447 = 1003,
    _CS_LFS64_CFLAGS___447 = 1004,
    _CS_LFS64_LDFLAGS___447 = 1005,
    _CS_LFS64_LIBS___447 = 1006,
    _CS_LFS64_LINTFLAGS___447 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___447 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___447 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___447 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___447 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___447 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___447 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___447 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___447 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___447 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___447 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___447 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___447 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___447 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___447 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___447 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___447 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___447 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___447 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___447 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___447 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___447 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___447 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___447 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___447 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___447 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___447 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___447 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___447 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___447 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___447 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___447 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___447 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___447 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___447 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___447 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___447 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___447 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___447 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___447 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___447 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___447 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___447 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___447 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___447 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___447 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___447 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___447 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___447 = 1147,
    _CS_V6_ENV___447 = 1148,
    _CS_V7_ENV___447 = 1149
} ;
enum __anonenum_513775621___447 {
    DT_UNKNOWN___447 = 0,
    DT_FIFO___447 = 1,
    DT_CHR___447 = 2,
    DT_DIR___447 = 4,
    DT_BLK___447 = 6,
    DT_REG___447 = 8,
    DT_LNK___447 = 10,
    DT_SOCK___447 = 12,
    DT_WHT___447 = 14
} ;
enum __anonenum_77002343___447 {
    SI_ASYNCNL___447 = -60,
    SI_TKILL___447 = -6,
    SI_SIGIO___447 = -5,
    SI_ASYNCIO___447 = -4,
    SI_MESGQ___447 = -3,
    SI_TIMER___447 = -2,
    SI_QUEUE___447 = -1,
    SI_USER___447 = 0,
    SI_KERNEL___447 = 128
} ;
enum __anonenum_131038172___447 {
    ILL_ILLOPC___447 = 1,
    ILL_ILLOPN___447 = 2,
    ILL_ILLADR___447 = 3,
    ILL_ILLTRP___447 = 4,
    ILL_PRVOPC___447 = 5,
    ILL_PRVREG___447 = 6,
    ILL_COPROC___447 = 7,
    ILL_BADSTK___447 = 8
} ;
enum __anonenum_452038093___447 {
    FPE_INTDIV___447 = 1,
    FPE_INTOVF___447 = 2,
    FPE_FLTDIV___447 = 3,
    FPE_FLTOVF___447 = 4,
    FPE_FLTUND___447 = 5,
    FPE_FLTRES___447 = 6,
    FPE_FLTINV___447 = 7,
    FPE_FLTSUB___447 = 8
} ;
enum __anonenum_30976155___447 {
    SEGV_MAPERR___447 = 1,
    SEGV_ACCERR___447 = 2,
    SEGV_BNDERR___447 = 3,
    SEGV_PKUERR___447 = 4
} ;
enum __anonenum_1036286214___447 {
    BUS_ADRALN___447 = 1,
    BUS_ADRERR___447 = 2,
    BUS_OBJERR___447 = 3,
    BUS_MCEERR_AR___447 = 4,
    BUS_MCEERR_AO___447 = 5
} ;
enum __anonenum_493465559___447 {
    TRAP_BRKPT___447 = 1,
    TRAP_TRACE___447 = 2
} ;
enum __anonenum_23175539___447 {
    CLD_EXITED___447 = 1,
    CLD_KILLED___447 = 2,
    CLD_DUMPED___447 = 3,
    CLD_TRAPPED___447 = 4,
    CLD_STOPPED___447 = 5,
    CLD_CONTINUED___447 = 6
} ;
enum __anonenum_111643124___447 {
    POLL_IN___447 = 1,
    POLL_OUT___447 = 2,
    POLL_MSG___447 = 3,
    POLL_ERR___447 = 4,
    POLL_PRI___447 = 5,
    POLL_HUP___447 = 6
} ;
enum __anonenum_852341087___447 {
    SIGEV_SIGNAL___447 = 0,
    SIGEV_NONE___447 = 1,
    SIGEV_THREAD___447 = 2,
    SIGEV_THREAD_ID___447 = 4
} ;
enum __anonenum_451154152___447 {
    REG_R8___447 = 0,
    REG_R9___447 = 1,
    REG_R10___447 = 2,
    REG_R11___447 = 3,
    REG_R12___447 = 4,
    REG_R13___447 = 5,
    REG_R14___447 = 6,
    REG_R15___447 = 7,
    REG_RDI___447 = 8,
    REG_RSI___447 = 9,
    REG_RBP___447 = 10,
    REG_RBX___447 = 11,
    REG_RDX___447 = 12,
    REG_RAX___447 = 13,
    REG_RCX___447 = 14,
    REG_RSP___447 = 15,
    REG_RIP___447 = 16,
    REG_EFL___447 = 17,
    REG_CSGSFS___447 = 18,
    REG_ERR___447 = 19,
    REG_TRAPNO___447 = 20,
    REG_OLDMASK___447 = 21,
    REG_CR2___447 = 22
} ;
enum __anonenum_57186863___447 {
    SS_ONSTACK___447 = 1,
    SS_DISABLE___447 = 2
} ;
enum __anonenum_83571709___447 {
    MSG_OOB___447 = 1,
    MSG_PEEK___447 = 2,
    MSG_DONTROUTE___447 = 4,
    MSG_TRYHARD___447 = 4,
    MSG_CTRUNC___447 = 8,
    MSG_PROXY___447 = 16,
    MSG_TRUNC___447 = 32,
    MSG_DONTWAIT___447 = 64,
    MSG_EOR___447 = 128,
    MSG_WAITALL___447 = 256,
    MSG_FIN___447 = 512,
    MSG_SYN___447 = 1024,
    MSG_CONFIRM___447 = 2048,
    MSG_RST___447 = 4096,
    MSG_ERRQUEUE___447 = 8192,
    MSG_NOSIGNAL___447 = 16384,
    MSG_MORE___447 = 32768,
    MSG_WAITFORONE___447 = 65536,
    MSG_BATCH___447 = 262144,
    MSG_ZEROCOPY___447 = 67108864,
    MSG_FASTOPEN___447 = 536870912,
    MSG_CMSG_CLOEXEC___447 = 1073741824
} ;
enum __anonenum_617082774___447 {
    SCM_RIGHTS___447 = 1,
    SCM_CREDENTIALS___447 = 2
} ;
enum __anonenum_606441560___447 {
    SHUT_RD___447 = 0,
    SHUT_WR___447 = 1,
    SHUT_RDWR___447 = 2
} ;
enum __anonenum_681669233___447 {
    IPPROTO_IP___447 = 0,
    IPPROTO_ICMP___447 = 1,
    IPPROTO_IGMP___447 = 2,
    IPPROTO_IPIP___447 = 4,
    IPPROTO_TCP___447 = 6,
    IPPROTO_EGP___447 = 8,
    IPPROTO_PUP___447 = 12,
    IPPROTO_UDP___447 = 17,
    IPPROTO_IDP___447 = 22,
    IPPROTO_TP___447 = 29,
    IPPROTO_DCCP___447 = 33,
    IPPROTO_IPV6___447 = 41,
    IPPROTO_RSVP___447 = 46,
    IPPROTO_GRE___447 = 47,
    IPPROTO_ESP___447 = 50,
    IPPROTO_AH___447 = 51,
    IPPROTO_MTP___447 = 92,
    IPPROTO_BEETPH___447 = 94,
    IPPROTO_ENCAP___447 = 98,
    IPPROTO_PIM___447 = 103,
    IPPROTO_COMP___447 = 108,
    IPPROTO_SCTP___447 = 132,
    IPPROTO_UDPLITE___447 = 136,
    IPPROTO_MPLS___447 = 137,
    IPPROTO_RAW___447 = 255,
    IPPROTO_MAX___447 = 256
} ;
enum __anonenum_218739988___447 {
    IPPROTO_HOPOPTS___447 = 0,
    IPPROTO_ROUTING___447 = 43,
    IPPROTO_FRAGMENT___447 = 44,
    IPPROTO_ICMPV6___447 = 58,
    IPPROTO_NONE___447 = 59,
    IPPROTO_DSTOPTS___447 = 60,
    IPPROTO_MH___447 = 135
} ;
enum __anonenum_662268580___447 {
    IPPORT_ECHO___447 = 7,
    IPPORT_DISCARD___447 = 9,
    IPPORT_SYSTAT___447 = 11,
    IPPORT_DAYTIME___447 = 13,
    IPPORT_NETSTAT___447 = 15,
    IPPORT_FTP___447 = 21,
    IPPORT_TELNET___447 = 23,
    IPPORT_SMTP___447 = 25,
    IPPORT_TIMESERVER___447 = 37,
    IPPORT_NAMESERVER___447 = 42,
    IPPORT_WHOIS___447 = 43,
    IPPORT_MTP___447 = 57,
    IPPORT_TFTP___447 = 69,
    IPPORT_RJE___447 = 77,
    IPPORT_FINGER___447 = 79,
    IPPORT_TTYLINK___447 = 87,
    IPPORT_SUPDUP___447 = 95,
    IPPORT_EXECSERVER___447 = 512,
    IPPORT_LOGINSERVER___447 = 513,
    IPPORT_CMDSERVER___447 = 514,
    IPPORT_EFSSERVER___447 = 520,
    IPPORT_BIFFUDP___447 = 512,
    IPPORT_WHOSERVER___447 = 513,
    IPPORT_ROUTESERVER___447 = 520,
    IPPORT_RESERVED___447 = 1024,
    IPPORT_USERRESERVED___447 = 5000
} ;
enum __anonenum_788308992___447 {
    TCP_ESTABLISHED___447 = 1,
    TCP_SYN_SENT___447 = 2,
    TCP_SYN_RECV___447 = 3,
    TCP_FIN_WAIT1___447 = 4,
    TCP_FIN_WAIT2___447 = 5,
    TCP_TIME_WAIT___447 = 6,
    TCP_CLOSE___447 = 7,
    TCP_CLOSE_WAIT___447 = 8,
    TCP_LAST_ACK___447 = 9,
    TCP_LISTEN___447 = 10,
    TCP_CLOSING___447 = 11
} ;
enum __anonenum_221125648___447 {
    TCP_NO_QUEUE___447 = 0,
    TCP_RECV_QUEUE___447 = 1,
    TCP_SEND_QUEUE___447 = 2,
    TCP_QUEUES_NR___447 = 3
} ;
enum __anonenum_34415463___447 {
    PTHREAD_CREATE_JOINABLE___447 = 0,
    PTHREAD_CREATE_DETACHED___447 = 1
} ;
enum __anonenum_303612439___447 {
    PTHREAD_MUTEX_TIMED_NP___447 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___447 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___447 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___447 = 3,
    PTHREAD_MUTEX_NORMAL___447 = 0,
    PTHREAD_MUTEX_RECURSIVE___447 = 1,
    PTHREAD_MUTEX_ERRORCHECK___447 = 2,
    PTHREAD_MUTEX_DEFAULT___447 = 0,
    PTHREAD_MUTEX_FAST_NP___447 = 0
} ;
enum __anonenum_931900394___447 {
    PTHREAD_MUTEX_STALLED___447 = 0,
    PTHREAD_MUTEX_STALLED_NP___447 = 0,
    PTHREAD_MUTEX_ROBUST___447 = 1,
    PTHREAD_MUTEX_ROBUST_NP___447 = 1
} ;
enum __anonenum_205214487___447 {
    PTHREAD_PRIO_NONE___447 = 0,
    PTHREAD_PRIO_INHERIT___447 = 1,
    PTHREAD_PRIO_PROTECT___447 = 2
} ;
enum __anonenum_25043950___447 {
    PTHREAD_RWLOCK_PREFER_READER_NP___447 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___447 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___447 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___447 = 0
} ;
enum __anonenum_436439511___447 {
    PTHREAD_INHERIT_SCHED___447 = 0,
    PTHREAD_EXPLICIT_SCHED___447 = 1
} ;
enum __anonenum_998661166___447 {
    PTHREAD_SCOPE_SYSTEM___447 = 0,
    PTHREAD_SCOPE_PROCESS___447 = 1
} ;
enum __anonenum_146137331___447 {
    PTHREAD_PROCESS_PRIVATE___447 = 0,
    PTHREAD_PROCESS_SHARED___447 = 1
} ;
enum __anonenum_53396917___447 {
    PTHREAD_CANCEL_ENABLE___447 = 0,
    PTHREAD_CANCEL_DISABLE___447 = 1
} ;
enum __anonenum_904563783___447 {
    PTHREAD_CANCEL_DEFERRED___447 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___447 = 1
} ;
enum __anonenum_672052974___447 {
    SSL_CT_VALIDATION_PERMISSIVE___447 = 0,
    SSL_CT_VALIDATION_STRICT___447 = 1
} ;
enum __anonenum_437032235___448 {
    _PC_LINK_MAX___448 = 0,
    _PC_MAX_CANON___448 = 1,
    _PC_MAX_INPUT___448 = 2,
    _PC_NAME_MAX___448 = 3,
    _PC_PATH_MAX___448 = 4,
    _PC_PIPE_BUF___448 = 5,
    _PC_CHOWN_RESTRICTED___448 = 6,
    _PC_NO_TRUNC___448 = 7,
    _PC_VDISABLE___448 = 8,
    _PC_SYNC_IO___448 = 9,
    _PC_ASYNC_IO___448 = 10,
    _PC_PRIO_IO___448 = 11,
    _PC_SOCK_MAXBUF___448 = 12,
    _PC_FILESIZEBITS___448 = 13,
    _PC_REC_INCR_XFER_SIZE___448 = 14,
    _PC_REC_MAX_XFER_SIZE___448 = 15,
    _PC_REC_MIN_XFER_SIZE___448 = 16,
    _PC_REC_XFER_ALIGN___448 = 17,
    _PC_ALLOC_SIZE_MIN___448 = 18,
    _PC_SYMLINK_MAX___448 = 19,
    _PC_2_SYMLINKS___448 = 20
} ;
enum __anonenum_315186338___448 {
    _SC_ARG_MAX___448 = 0,
    _SC_CHILD_MAX___448 = 1,
    _SC_CLK_TCK___448 = 2,
    _SC_NGROUPS_MAX___448 = 3,
    _SC_OPEN_MAX___448 = 4,
    _SC_STREAM_MAX___448 = 5,
    _SC_TZNAME_MAX___448 = 6,
    _SC_JOB_CONTROL___448 = 7,
    _SC_SAVED_IDS___448 = 8,
    _SC_REALTIME_SIGNALS___448 = 9,
    _SC_PRIORITY_SCHEDULING___448 = 10,
    _SC_TIMERS___448 = 11,
    _SC_ASYNCHRONOUS_IO___448 = 12,
    _SC_PRIORITIZED_IO___448 = 13,
    _SC_SYNCHRONIZED_IO___448 = 14,
    _SC_FSYNC___448 = 15,
    _SC_MAPPED_FILES___448 = 16,
    _SC_MEMLOCK___448 = 17,
    _SC_MEMLOCK_RANGE___448 = 18,
    _SC_MEMORY_PROTECTION___448 = 19,
    _SC_MESSAGE_PASSING___448 = 20,
    _SC_SEMAPHORES___448 = 21,
    _SC_SHARED_MEMORY_OBJECTS___448 = 22,
    _SC_AIO_LISTIO_MAX___448 = 23,
    _SC_AIO_MAX___448 = 24,
    _SC_AIO_PRIO_DELTA_MAX___448 = 25,
    _SC_DELAYTIMER_MAX___448 = 26,
    _SC_MQ_OPEN_MAX___448 = 27,
    _SC_MQ_PRIO_MAX___448 = 28,
    _SC_VERSION___448 = 29,
    _SC_PAGESIZE___448 = 30,
    _SC_RTSIG_MAX___448 = 31,
    _SC_SEM_NSEMS_MAX___448 = 32,
    _SC_SEM_VALUE_MAX___448 = 33,
    _SC_SIGQUEUE_MAX___448 = 34,
    _SC_TIMER_MAX___448 = 35,
    _SC_BC_BASE_MAX___448 = 36,
    _SC_BC_DIM_MAX___448 = 37,
    _SC_BC_SCALE_MAX___448 = 38,
    _SC_BC_STRING_MAX___448 = 39,
    _SC_COLL_WEIGHTS_MAX___448 = 40,
    _SC_EQUIV_CLASS_MAX___448 = 41,
    _SC_EXPR_NEST_MAX___448 = 42,
    _SC_LINE_MAX___448 = 43,
    _SC_RE_DUP_MAX___448 = 44,
    _SC_CHARCLASS_NAME_MAX___448 = 45,
    _SC_2_VERSION___448 = 46,
    _SC_2_C_BIND___448 = 47,
    _SC_2_C_DEV___448 = 48,
    _SC_2_FORT_DEV___448 = 49,
    _SC_2_FORT_RUN___448 = 50,
    _SC_2_SW_DEV___448 = 51,
    _SC_2_LOCALEDEF___448 = 52,
    _SC_PII___448 = 53,
    _SC_PII_XTI___448 = 54,
    _SC_PII_SOCKET___448 = 55,
    _SC_PII_INTERNET___448 = 56,
    _SC_PII_OSI___448 = 57,
    _SC_POLL___448 = 58,
    _SC_SELECT___448 = 59,
    _SC_UIO_MAXIOV___448 = 60,
    _SC_IOV_MAX___448 = 60,
    _SC_PII_INTERNET_STREAM___448 = 61,
    _SC_PII_INTERNET_DGRAM___448 = 62,
    _SC_PII_OSI_COTS___448 = 63,
    _SC_PII_OSI_CLTS___448 = 64,
    _SC_PII_OSI_M___448 = 65,
    _SC_T_IOV_MAX___448 = 66,
    _SC_THREADS___448 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___448 = 68,
    _SC_GETGR_R_SIZE_MAX___448 = 69,
    _SC_GETPW_R_SIZE_MAX___448 = 70,
    _SC_LOGIN_NAME_MAX___448 = 71,
    _SC_TTY_NAME_MAX___448 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___448 = 73,
    _SC_THREAD_KEYS_MAX___448 = 74,
    _SC_THREAD_STACK_MIN___448 = 75,
    _SC_THREAD_THREADS_MAX___448 = 76,
    _SC_THREAD_ATTR_STACKADDR___448 = 77,
    _SC_THREAD_ATTR_STACKSIZE___448 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___448 = 79,
    _SC_THREAD_PRIO_INHERIT___448 = 80,
    _SC_THREAD_PRIO_PROTECT___448 = 81,
    _SC_THREAD_PROCESS_SHARED___448 = 82,
    _SC_NPROCESSORS_CONF___448 = 83,
    _SC_NPROCESSORS_ONLN___448 = 84,
    _SC_PHYS_PAGES___448 = 85,
    _SC_AVPHYS_PAGES___448 = 86,
    _SC_ATEXIT_MAX___448 = 87,
    _SC_PASS_MAX___448 = 88,
    _SC_XOPEN_VERSION___448 = 89,
    _SC_XOPEN_XCU_VERSION___448 = 90,
    _SC_XOPEN_UNIX___448 = 91,
    _SC_XOPEN_CRYPT___448 = 92,
    _SC_XOPEN_ENH_I18N___448 = 93,
    _SC_XOPEN_SHM___448 = 94,
    _SC_2_CHAR_TERM___448 = 95,
    _SC_2_C_VERSION___448 = 96,
    _SC_2_UPE___448 = 97,
    _SC_XOPEN_XPG2___448 = 98,
    _SC_XOPEN_XPG3___448 = 99,
    _SC_XOPEN_XPG4___448 = 100,
    _SC_CHAR_BIT___448 = 101,
    _SC_CHAR_MAX___448 = 102,
    _SC_CHAR_MIN___448 = 103,
    _SC_INT_MAX___448 = 104,
    _SC_INT_MIN___448 = 105,
    _SC_LONG_BIT___448 = 106,
    _SC_WORD_BIT___448 = 107,
    _SC_MB_LEN_MAX___448 = 108,
    _SC_NZERO___448 = 109,
    _SC_SSIZE_MAX___448 = 110,
    _SC_SCHAR_MAX___448 = 111,
    _SC_SCHAR_MIN___448 = 112,
    _SC_SHRT_MAX___448 = 113,
    _SC_SHRT_MIN___448 = 114,
    _SC_UCHAR_MAX___448 = 115,
    _SC_UINT_MAX___448 = 116,
    _SC_ULONG_MAX___448 = 117,
    _SC_USHRT_MAX___448 = 118,
    _SC_NL_ARGMAX___448 = 119,
    _SC_NL_LANGMAX___448 = 120,
    _SC_NL_MSGMAX___448 = 121,
    _SC_NL_NMAX___448 = 122,
    _SC_NL_SETMAX___448 = 123,
    _SC_NL_TEXTMAX___448 = 124,
    _SC_XBS5_ILP32_OFF32___448 = 125,
    _SC_XBS5_ILP32_OFFBIG___448 = 126,
    _SC_XBS5_LP64_OFF64___448 = 127,
    _SC_XBS5_LPBIG_OFFBIG___448 = 128,
    _SC_XOPEN_LEGACY___448 = 129,
    _SC_XOPEN_REALTIME___448 = 130,
    _SC_XOPEN_REALTIME_THREADS___448 = 131,
    _SC_ADVISORY_INFO___448 = 132,
    _SC_BARRIERS___448 = 133,
    _SC_BASE___448 = 134,
    _SC_C_LANG_SUPPORT___448 = 135,
    _SC_C_LANG_SUPPORT_R___448 = 136,
    _SC_CLOCK_SELECTION___448 = 137,
    _SC_CPUTIME___448 = 138,
    _SC_THREAD_CPUTIME___448 = 139,
    _SC_DEVICE_IO___448 = 140,
    _SC_DEVICE_SPECIFIC___448 = 141,
    _SC_DEVICE_SPECIFIC_R___448 = 142,
    _SC_FD_MGMT___448 = 143,
    _SC_FIFO___448 = 144,
    _SC_PIPE___448 = 145,
    _SC_FILE_ATTRIBUTES___448 = 146,
    _SC_FILE_LOCKING___448 = 147,
    _SC_FILE_SYSTEM___448 = 148,
    _SC_MONOTONIC_CLOCK___448 = 149,
    _SC_MULTI_PROCESS___448 = 150,
    _SC_SINGLE_PROCESS___448 = 151,
    _SC_NETWORKING___448 = 152,
    _SC_READER_WRITER_LOCKS___448 = 153,
    _SC_SPIN_LOCKS___448 = 154,
    _SC_REGEXP___448 = 155,
    _SC_REGEX_VERSION___448 = 156,
    _SC_SHELL___448 = 157,
    _SC_SIGNALS___448 = 158,
    _SC_SPAWN___448 = 159,
    _SC_SPORADIC_SERVER___448 = 160,
    _SC_THREAD_SPORADIC_SERVER___448 = 161,
    _SC_SYSTEM_DATABASE___448 = 162,
    _SC_SYSTEM_DATABASE_R___448 = 163,
    _SC_TIMEOUTS___448 = 164,
    _SC_TYPED_MEMORY_OBJECTS___448 = 165,
    _SC_USER_GROUPS___448 = 166,
    _SC_USER_GROUPS_R___448 = 167,
    _SC_2_PBS___448 = 168,
    _SC_2_PBS_ACCOUNTING___448 = 169,
    _SC_2_PBS_LOCATE___448 = 170,
    _SC_2_PBS_MESSAGE___448 = 171,
    _SC_2_PBS_TRACK___448 = 172,
    _SC_SYMLOOP_MAX___448 = 173,
    _SC_STREAMS___448 = 174,
    _SC_2_PBS_CHECKPOINT___448 = 175,
    _SC_V6_ILP32_OFF32___448 = 176,
    _SC_V6_ILP32_OFFBIG___448 = 177,
    _SC_V6_LP64_OFF64___448 = 178,
    _SC_V6_LPBIG_OFFBIG___448 = 179,
    _SC_HOST_NAME_MAX___448 = 180,
    _SC_TRACE___448 = 181,
    _SC_TRACE_EVENT_FILTER___448 = 182,
    _SC_TRACE_INHERIT___448 = 183,
    _SC_TRACE_LOG___448 = 184,
    _SC_LEVEL1_ICACHE_SIZE___448 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___448 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___448 = 187,
    _SC_LEVEL1_DCACHE_SIZE___448 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___448 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___448 = 190,
    _SC_LEVEL2_CACHE_SIZE___448 = 191,
    _SC_LEVEL2_CACHE_ASSOC___448 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___448 = 193,
    _SC_LEVEL3_CACHE_SIZE___448 = 194,
    _SC_LEVEL3_CACHE_ASSOC___448 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___448 = 196,
    _SC_LEVEL4_CACHE_SIZE___448 = 197,
    _SC_LEVEL4_CACHE_ASSOC___448 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___448 = 199,
    _SC_IPV6___448 = 235,
    _SC_RAW_SOCKETS___448 = 236,
    _SC_V7_ILP32_OFF32___448 = 237,
    _SC_V7_ILP32_OFFBIG___448 = 238,
    _SC_V7_LP64_OFF64___448 = 239,
    _SC_V7_LPBIG_OFFBIG___448 = 240,
    _SC_SS_REPL_MAX___448 = 241,
    _SC_TRACE_EVENT_NAME_MAX___448 = 242,
    _SC_TRACE_NAME_MAX___448 = 243,
    _SC_TRACE_SYS_MAX___448 = 244,
    _SC_TRACE_USER_EVENT_MAX___448 = 245,
    _SC_XOPEN_STREAMS___448 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___448 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___448 = 248
} ;
enum __anonenum_875524036___448 {
    _CS_PATH___448 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___448 = 1,
    _CS_GNU_LIBC_VERSION___448 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___448 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___448 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___448 = 5,
    _CS_LFS_CFLAGS___448 = 1000,
    _CS_LFS_LDFLAGS___448 = 1001,
    _CS_LFS_LIBS___448 = 1002,
    _CS_LFS_LINTFLAGS___448 = 1003,
    _CS_LFS64_CFLAGS___448 = 1004,
    _CS_LFS64_LDFLAGS___448 = 1005,
    _CS_LFS64_LIBS___448 = 1006,
    _CS_LFS64_LINTFLAGS___448 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___448 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___448 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___448 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___448 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___448 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___448 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___448 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___448 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___448 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___448 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___448 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___448 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___448 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___448 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___448 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___448 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___448 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___448 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___448 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___448 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___448 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___448 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___448 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___448 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___448 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___448 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___448 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___448 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___448 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___448 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___448 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___448 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___448 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___448 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___448 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___448 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___448 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___448 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___448 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___448 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___448 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___448 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___448 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___448 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___448 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___448 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___448 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___448 = 1147,
    _CS_V6_ENV___448 = 1148,
    _CS_V7_ENV___448 = 1149
} ;
enum __anonenum_513775621___448 {
    DT_UNKNOWN___448 = 0,
    DT_FIFO___448 = 1,
    DT_CHR___448 = 2,
    DT_DIR___448 = 4,
    DT_BLK___448 = 6,
    DT_REG___448 = 8,
    DT_LNK___448 = 10,
    DT_SOCK___448 = 12,
    DT_WHT___448 = 14
} ;
enum __anonenum_77002343___448 {
    SI_ASYNCNL___448 = -60,
    SI_TKILL___448 = -6,
    SI_SIGIO___448 = -5,
    SI_ASYNCIO___448 = -4,
    SI_MESGQ___448 = -3,
    SI_TIMER___448 = -2,
    SI_QUEUE___448 = -1,
    SI_USER___448 = 0,
    SI_KERNEL___448 = 128
} ;
enum __anonenum_131038172___448 {
    ILL_ILLOPC___448 = 1,
    ILL_ILLOPN___448 = 2,
    ILL_ILLADR___448 = 3,
    ILL_ILLTRP___448 = 4,
    ILL_PRVOPC___448 = 5,
    ILL_PRVREG___448 = 6,
    ILL_COPROC___448 = 7,
    ILL_BADSTK___448 = 8
} ;
enum __anonenum_452038093___448 {
    FPE_INTDIV___448 = 1,
    FPE_INTOVF___448 = 2,
    FPE_FLTDIV___448 = 3,
    FPE_FLTOVF___448 = 4,
    FPE_FLTUND___448 = 5,
    FPE_FLTRES___448 = 6,
    FPE_FLTINV___448 = 7,
    FPE_FLTSUB___448 = 8
} ;
enum __anonenum_30976155___448 {
    SEGV_MAPERR___448 = 1,
    SEGV_ACCERR___448 = 2,
    SEGV_BNDERR___448 = 3,
    SEGV_PKUERR___448 = 4
} ;
enum __anonenum_1036286214___448 {
    BUS_ADRALN___448 = 1,
    BUS_ADRERR___448 = 2,
    BUS_OBJERR___448 = 3,
    BUS_MCEERR_AR___448 = 4,
    BUS_MCEERR_AO___448 = 5
} ;
enum __anonenum_493465559___448 {
    TRAP_BRKPT___448 = 1,
    TRAP_TRACE___448 = 2
} ;
enum __anonenum_23175539___448 {
    CLD_EXITED___448 = 1,
    CLD_KILLED___448 = 2,
    CLD_DUMPED___448 = 3,
    CLD_TRAPPED___448 = 4,
    CLD_STOPPED___448 = 5,
    CLD_CONTINUED___448 = 6
} ;
enum __anonenum_111643124___448 {
    POLL_IN___448 = 1,
    POLL_OUT___448 = 2,
    POLL_MSG___448 = 3,
    POLL_ERR___448 = 4,
    POLL_PRI___448 = 5,
    POLL_HUP___448 = 6
} ;
enum __anonenum_852341087___448 {
    SIGEV_SIGNAL___448 = 0,
    SIGEV_NONE___448 = 1,
    SIGEV_THREAD___448 = 2,
    SIGEV_THREAD_ID___448 = 4
} ;
enum __anonenum_451154152___448 {
    REG_R8___448 = 0,
    REG_R9___448 = 1,
    REG_R10___448 = 2,
    REG_R11___448 = 3,
    REG_R12___448 = 4,
    REG_R13___448 = 5,
    REG_R14___448 = 6,
    REG_R15___448 = 7,
    REG_RDI___448 = 8,
    REG_RSI___448 = 9,
    REG_RBP___448 = 10,
    REG_RBX___448 = 11,
    REG_RDX___448 = 12,
    REG_RAX___448 = 13,
    REG_RCX___448 = 14,
    REG_RSP___448 = 15,
    REG_RIP___448 = 16,
    REG_EFL___448 = 17,
    REG_CSGSFS___448 = 18,
    REG_ERR___448 = 19,
    REG_TRAPNO___448 = 20,
    REG_OLDMASK___448 = 21,
    REG_CR2___448 = 22
} ;
enum __anonenum_57186863___448 {
    SS_ONSTACK___448 = 1,
    SS_DISABLE___448 = 2
} ;
enum __anonenum_83571709___448 {
    MSG_OOB___448 = 1,
    MSG_PEEK___448 = 2,
    MSG_DONTROUTE___448 = 4,
    MSG_TRYHARD___448 = 4,
    MSG_CTRUNC___448 = 8,
    MSG_PROXY___448 = 16,
    MSG_TRUNC___448 = 32,
    MSG_DONTWAIT___448 = 64,
    MSG_EOR___448 = 128,
    MSG_WAITALL___448 = 256,
    MSG_FIN___448 = 512,
    MSG_SYN___448 = 1024,
    MSG_CONFIRM___448 = 2048,
    MSG_RST___448 = 4096,
    MSG_ERRQUEUE___448 = 8192,
    MSG_NOSIGNAL___448 = 16384,
    MSG_MORE___448 = 32768,
    MSG_WAITFORONE___448 = 65536,
    MSG_BATCH___448 = 262144,
    MSG_ZEROCOPY___448 = 67108864,
    MSG_FASTOPEN___448 = 536870912,
    MSG_CMSG_CLOEXEC___448 = 1073741824
} ;
enum __anonenum_617082774___448 {
    SCM_RIGHTS___448 = 1,
    SCM_CREDENTIALS___448 = 2
} ;
enum __anonenum_606441560___448 {
    SHUT_RD___448 = 0,
    SHUT_WR___448 = 1,
    SHUT_RDWR___448 = 2
} ;
enum __anonenum_681669233___448 {
    IPPROTO_IP___448 = 0,
    IPPROTO_ICMP___448 = 1,
    IPPROTO_IGMP___448 = 2,
    IPPROTO_IPIP___448 = 4,
    IPPROTO_TCP___448 = 6,
    IPPROTO_EGP___448 = 8,
    IPPROTO_PUP___448 = 12,
    IPPROTO_UDP___448 = 17,
    IPPROTO_IDP___448 = 22,
    IPPROTO_TP___448 = 29,
    IPPROTO_DCCP___448 = 33,
    IPPROTO_IPV6___448 = 41,
    IPPROTO_RSVP___448 = 46,
    IPPROTO_GRE___448 = 47,
    IPPROTO_ESP___448 = 50,
    IPPROTO_AH___448 = 51,
    IPPROTO_MTP___448 = 92,
    IPPROTO_BEETPH___448 = 94,
    IPPROTO_ENCAP___448 = 98,
    IPPROTO_PIM___448 = 103,
    IPPROTO_COMP___448 = 108,
    IPPROTO_SCTP___448 = 132,
    IPPROTO_UDPLITE___448 = 136,
    IPPROTO_MPLS___448 = 137,
    IPPROTO_RAW___448 = 255,
    IPPROTO_MAX___448 = 256
} ;
enum __anonenum_218739988___448 {
    IPPROTO_HOPOPTS___448 = 0,
    IPPROTO_ROUTING___448 = 43,
    IPPROTO_FRAGMENT___448 = 44,
    IPPROTO_ICMPV6___448 = 58,
    IPPROTO_NONE___448 = 59,
    IPPROTO_DSTOPTS___448 = 60,
    IPPROTO_MH___448 = 135
} ;
enum __anonenum_662268580___448 {
    IPPORT_ECHO___448 = 7,
    IPPORT_DISCARD___448 = 9,
    IPPORT_SYSTAT___448 = 11,
    IPPORT_DAYTIME___448 = 13,
    IPPORT_NETSTAT___448 = 15,
    IPPORT_FTP___448 = 21,
    IPPORT_TELNET___448 = 23,
    IPPORT_SMTP___448 = 25,
    IPPORT_TIMESERVER___448 = 37,
    IPPORT_NAMESERVER___448 = 42,
    IPPORT_WHOIS___448 = 43,
    IPPORT_MTP___448 = 57,
    IPPORT_TFTP___448 = 69,
    IPPORT_RJE___448 = 77,
    IPPORT_FINGER___448 = 79,
    IPPORT_TTYLINK___448 = 87,
    IPPORT_SUPDUP___448 = 95,
    IPPORT_EXECSERVER___448 = 512,
    IPPORT_LOGINSERVER___448 = 513,
    IPPORT_CMDSERVER___448 = 514,
    IPPORT_EFSSERVER___448 = 520,
    IPPORT_BIFFUDP___448 = 512,
    IPPORT_WHOSERVER___448 = 513,
    IPPORT_ROUTESERVER___448 = 520,
    IPPORT_RESERVED___448 = 1024,
    IPPORT_USERRESERVED___448 = 5000
} ;
enum __anonenum_788308992___448 {
    TCP_ESTABLISHED___448 = 1,
    TCP_SYN_SENT___448 = 2,
    TCP_SYN_RECV___448 = 3,
    TCP_FIN_WAIT1___448 = 4,
    TCP_FIN_WAIT2___448 = 5,
    TCP_TIME_WAIT___448 = 6,
    TCP_CLOSE___448 = 7,
    TCP_CLOSE_WAIT___448 = 8,
    TCP_LAST_ACK___448 = 9,
    TCP_LISTEN___448 = 10,
    TCP_CLOSING___448 = 11
} ;
enum __anonenum_221125648___448 {
    TCP_NO_QUEUE___448 = 0,
    TCP_RECV_QUEUE___448 = 1,
    TCP_SEND_QUEUE___448 = 2,
    TCP_QUEUES_NR___448 = 3
} ;
enum __anonenum_34415463___448 {
    PTHREAD_CREATE_JOINABLE___448 = 0,
    PTHREAD_CREATE_DETACHED___448 = 1
} ;
enum __anonenum_303612439___448 {
    PTHREAD_MUTEX_TIMED_NP___448 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___448 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___448 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___448 = 3,
    PTHREAD_MUTEX_NORMAL___448 = 0,
    PTHREAD_MUTEX_RECURSIVE___448 = 1,
    PTHREAD_MUTEX_ERRORCHECK___448 = 2,
    PTHREAD_MUTEX_DEFAULT___448 = 0,
    PTHREAD_MUTEX_FAST_NP___448 = 0
} ;
enum __anonenum_931900394___448 {
    PTHREAD_MUTEX_STALLED___448 = 0,
    PTHREAD_MUTEX_STALLED_NP___448 = 0,
    PTHREAD_MUTEX_ROBUST___448 = 1,
    PTHREAD_MUTEX_ROBUST_NP___448 = 1
} ;
enum __anonenum_205214487___448 {
    PTHREAD_PRIO_NONE___448 = 0,
    PTHREAD_PRIO_INHERIT___448 = 1,
    PTHREAD_PRIO_PROTECT___448 = 2
} ;
enum __anonenum_25043950___448 {
    PTHREAD_RWLOCK_PREFER_READER_NP___448 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___448 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___448 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___448 = 0
} ;
enum __anonenum_436439511___448 {
    PTHREAD_INHERIT_SCHED___448 = 0,
    PTHREAD_EXPLICIT_SCHED___448 = 1
} ;
enum __anonenum_998661166___448 {
    PTHREAD_SCOPE_SYSTEM___448 = 0,
    PTHREAD_SCOPE_PROCESS___448 = 1
} ;
enum __anonenum_146137331___448 {
    PTHREAD_PROCESS_PRIVATE___448 = 0,
    PTHREAD_PROCESS_SHARED___448 = 1
} ;
enum __anonenum_53396917___448 {
    PTHREAD_CANCEL_ENABLE___448 = 0,
    PTHREAD_CANCEL_DISABLE___448 = 1
} ;
enum __anonenum_904563783___448 {
    PTHREAD_CANCEL_DEFERRED___448 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___448 = 1
} ;
enum __anonenum_672052974___448 {
    SSL_CT_VALIDATION_PERMISSIVE___448 = 0,
    SSL_CT_VALIDATION_STRICT___448 = 1
} ;
enum __anonenum_437032235___449 {
    _PC_LINK_MAX___449 = 0,
    _PC_MAX_CANON___449 = 1,
    _PC_MAX_INPUT___449 = 2,
    _PC_NAME_MAX___449 = 3,
    _PC_PATH_MAX___449 = 4,
    _PC_PIPE_BUF___449 = 5,
    _PC_CHOWN_RESTRICTED___449 = 6,
    _PC_NO_TRUNC___449 = 7,
    _PC_VDISABLE___449 = 8,
    _PC_SYNC_IO___449 = 9,
    _PC_ASYNC_IO___449 = 10,
    _PC_PRIO_IO___449 = 11,
    _PC_SOCK_MAXBUF___449 = 12,
    _PC_FILESIZEBITS___449 = 13,
    _PC_REC_INCR_XFER_SIZE___449 = 14,
    _PC_REC_MAX_XFER_SIZE___449 = 15,
    _PC_REC_MIN_XFER_SIZE___449 = 16,
    _PC_REC_XFER_ALIGN___449 = 17,
    _PC_ALLOC_SIZE_MIN___449 = 18,
    _PC_SYMLINK_MAX___449 = 19,
    _PC_2_SYMLINKS___449 = 20
} ;
enum __anonenum_315186338___449 {
    _SC_ARG_MAX___449 = 0,
    _SC_CHILD_MAX___449 = 1,
    _SC_CLK_TCK___449 = 2,
    _SC_NGROUPS_MAX___449 = 3,
    _SC_OPEN_MAX___449 = 4,
    _SC_STREAM_MAX___449 = 5,
    _SC_TZNAME_MAX___449 = 6,
    _SC_JOB_CONTROL___449 = 7,
    _SC_SAVED_IDS___449 = 8,
    _SC_REALTIME_SIGNALS___449 = 9,
    _SC_PRIORITY_SCHEDULING___449 = 10,
    _SC_TIMERS___449 = 11,
    _SC_ASYNCHRONOUS_IO___449 = 12,
    _SC_PRIORITIZED_IO___449 = 13,
    _SC_SYNCHRONIZED_IO___449 = 14,
    _SC_FSYNC___449 = 15,
    _SC_MAPPED_FILES___449 = 16,
    _SC_MEMLOCK___449 = 17,
    _SC_MEMLOCK_RANGE___449 = 18,
    _SC_MEMORY_PROTECTION___449 = 19,
    _SC_MESSAGE_PASSING___449 = 20,
    _SC_SEMAPHORES___449 = 21,
    _SC_SHARED_MEMORY_OBJECTS___449 = 22,
    _SC_AIO_LISTIO_MAX___449 = 23,
    _SC_AIO_MAX___449 = 24,
    _SC_AIO_PRIO_DELTA_MAX___449 = 25,
    _SC_DELAYTIMER_MAX___449 = 26,
    _SC_MQ_OPEN_MAX___449 = 27,
    _SC_MQ_PRIO_MAX___449 = 28,
    _SC_VERSION___449 = 29,
    _SC_PAGESIZE___449 = 30,
    _SC_RTSIG_MAX___449 = 31,
    _SC_SEM_NSEMS_MAX___449 = 32,
    _SC_SEM_VALUE_MAX___449 = 33,
    _SC_SIGQUEUE_MAX___449 = 34,
    _SC_TIMER_MAX___449 = 35,
    _SC_BC_BASE_MAX___449 = 36,
    _SC_BC_DIM_MAX___449 = 37,
    _SC_BC_SCALE_MAX___449 = 38,
    _SC_BC_STRING_MAX___449 = 39,
    _SC_COLL_WEIGHTS_MAX___449 = 40,
    _SC_EQUIV_CLASS_MAX___449 = 41,
    _SC_EXPR_NEST_MAX___449 = 42,
    _SC_LINE_MAX___449 = 43,
    _SC_RE_DUP_MAX___449 = 44,
    _SC_CHARCLASS_NAME_MAX___449 = 45,
    _SC_2_VERSION___449 = 46,
    _SC_2_C_BIND___449 = 47,
    _SC_2_C_DEV___449 = 48,
    _SC_2_FORT_DEV___449 = 49,
    _SC_2_FORT_RUN___449 = 50,
    _SC_2_SW_DEV___449 = 51,
    _SC_2_LOCALEDEF___449 = 52,
    _SC_PII___449 = 53,
    _SC_PII_XTI___449 = 54,
    _SC_PII_SOCKET___449 = 55,
    _SC_PII_INTERNET___449 = 56,
    _SC_PII_OSI___449 = 57,
    _SC_POLL___449 = 58,
    _SC_SELECT___449 = 59,
    _SC_UIO_MAXIOV___449 = 60,
    _SC_IOV_MAX___449 = 60,
    _SC_PII_INTERNET_STREAM___449 = 61,
    _SC_PII_INTERNET_DGRAM___449 = 62,
    _SC_PII_OSI_COTS___449 = 63,
    _SC_PII_OSI_CLTS___449 = 64,
    _SC_PII_OSI_M___449 = 65,
    _SC_T_IOV_MAX___449 = 66,
    _SC_THREADS___449 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___449 = 68,
    _SC_GETGR_R_SIZE_MAX___449 = 69,
    _SC_GETPW_R_SIZE_MAX___449 = 70,
    _SC_LOGIN_NAME_MAX___449 = 71,
    _SC_TTY_NAME_MAX___449 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___449 = 73,
    _SC_THREAD_KEYS_MAX___449 = 74,
    _SC_THREAD_STACK_MIN___449 = 75,
    _SC_THREAD_THREADS_MAX___449 = 76,
    _SC_THREAD_ATTR_STACKADDR___449 = 77,
    _SC_THREAD_ATTR_STACKSIZE___449 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___449 = 79,
    _SC_THREAD_PRIO_INHERIT___449 = 80,
    _SC_THREAD_PRIO_PROTECT___449 = 81,
    _SC_THREAD_PROCESS_SHARED___449 = 82,
    _SC_NPROCESSORS_CONF___449 = 83,
    _SC_NPROCESSORS_ONLN___449 = 84,
    _SC_PHYS_PAGES___449 = 85,
    _SC_AVPHYS_PAGES___449 = 86,
    _SC_ATEXIT_MAX___449 = 87,
    _SC_PASS_MAX___449 = 88,
    _SC_XOPEN_VERSION___449 = 89,
    _SC_XOPEN_XCU_VERSION___449 = 90,
    _SC_XOPEN_UNIX___449 = 91,
    _SC_XOPEN_CRYPT___449 = 92,
    _SC_XOPEN_ENH_I18N___449 = 93,
    _SC_XOPEN_SHM___449 = 94,
    _SC_2_CHAR_TERM___449 = 95,
    _SC_2_C_VERSION___449 = 96,
    _SC_2_UPE___449 = 97,
    _SC_XOPEN_XPG2___449 = 98,
    _SC_XOPEN_XPG3___449 = 99,
    _SC_XOPEN_XPG4___449 = 100,
    _SC_CHAR_BIT___449 = 101,
    _SC_CHAR_MAX___449 = 102,
    _SC_CHAR_MIN___449 = 103,
    _SC_INT_MAX___449 = 104,
    _SC_INT_MIN___449 = 105,
    _SC_LONG_BIT___449 = 106,
    _SC_WORD_BIT___449 = 107,
    _SC_MB_LEN_MAX___449 = 108,
    _SC_NZERO___449 = 109,
    _SC_SSIZE_MAX___449 = 110,
    _SC_SCHAR_MAX___449 = 111,
    _SC_SCHAR_MIN___449 = 112,
    _SC_SHRT_MAX___449 = 113,
    _SC_SHRT_MIN___449 = 114,
    _SC_UCHAR_MAX___449 = 115,
    _SC_UINT_MAX___449 = 116,
    _SC_ULONG_MAX___449 = 117,
    _SC_USHRT_MAX___449 = 118,
    _SC_NL_ARGMAX___449 = 119,
    _SC_NL_LANGMAX___449 = 120,
    _SC_NL_MSGMAX___449 = 121,
    _SC_NL_NMAX___449 = 122,
    _SC_NL_SETMAX___449 = 123,
    _SC_NL_TEXTMAX___449 = 124,
    _SC_XBS5_ILP32_OFF32___449 = 125,
    _SC_XBS5_ILP32_OFFBIG___449 = 126,
    _SC_XBS5_LP64_OFF64___449 = 127,
    _SC_XBS5_LPBIG_OFFBIG___449 = 128,
    _SC_XOPEN_LEGACY___449 = 129,
    _SC_XOPEN_REALTIME___449 = 130,
    _SC_XOPEN_REALTIME_THREADS___449 = 131,
    _SC_ADVISORY_INFO___449 = 132,
    _SC_BARRIERS___449 = 133,
    _SC_BASE___449 = 134,
    _SC_C_LANG_SUPPORT___449 = 135,
    _SC_C_LANG_SUPPORT_R___449 = 136,
    _SC_CLOCK_SELECTION___449 = 137,
    _SC_CPUTIME___449 = 138,
    _SC_THREAD_CPUTIME___449 = 139,
    _SC_DEVICE_IO___449 = 140,
    _SC_DEVICE_SPECIFIC___449 = 141,
    _SC_DEVICE_SPECIFIC_R___449 = 142,
    _SC_FD_MGMT___449 = 143,
    _SC_FIFO___449 = 144,
    _SC_PIPE___449 = 145,
    _SC_FILE_ATTRIBUTES___449 = 146,
    _SC_FILE_LOCKING___449 = 147,
    _SC_FILE_SYSTEM___449 = 148,
    _SC_MONOTONIC_CLOCK___449 = 149,
    _SC_MULTI_PROCESS___449 = 150,
    _SC_SINGLE_PROCESS___449 = 151,
    _SC_NETWORKING___449 = 152,
    _SC_READER_WRITER_LOCKS___449 = 153,
    _SC_SPIN_LOCKS___449 = 154,
    _SC_REGEXP___449 = 155,
    _SC_REGEX_VERSION___449 = 156,
    _SC_SHELL___449 = 157,
    _SC_SIGNALS___449 = 158,
    _SC_SPAWN___449 = 159,
    _SC_SPORADIC_SERVER___449 = 160,
    _SC_THREAD_SPORADIC_SERVER___449 = 161,
    _SC_SYSTEM_DATABASE___449 = 162,
    _SC_SYSTEM_DATABASE_R___449 = 163,
    _SC_TIMEOUTS___449 = 164,
    _SC_TYPED_MEMORY_OBJECTS___449 = 165,
    _SC_USER_GROUPS___449 = 166,
    _SC_USER_GROUPS_R___449 = 167,
    _SC_2_PBS___449 = 168,
    _SC_2_PBS_ACCOUNTING___449 = 169,
    _SC_2_PBS_LOCATE___449 = 170,
    _SC_2_PBS_MESSAGE___449 = 171,
    _SC_2_PBS_TRACK___449 = 172,
    _SC_SYMLOOP_MAX___449 = 173,
    _SC_STREAMS___449 = 174,
    _SC_2_PBS_CHECKPOINT___449 = 175,
    _SC_V6_ILP32_OFF32___449 = 176,
    _SC_V6_ILP32_OFFBIG___449 = 177,
    _SC_V6_LP64_OFF64___449 = 178,
    _SC_V6_LPBIG_OFFBIG___449 = 179,
    _SC_HOST_NAME_MAX___449 = 180,
    _SC_TRACE___449 = 181,
    _SC_TRACE_EVENT_FILTER___449 = 182,
    _SC_TRACE_INHERIT___449 = 183,
    _SC_TRACE_LOG___449 = 184,
    _SC_LEVEL1_ICACHE_SIZE___449 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___449 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___449 = 187,
    _SC_LEVEL1_DCACHE_SIZE___449 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___449 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___449 = 190,
    _SC_LEVEL2_CACHE_SIZE___449 = 191,
    _SC_LEVEL2_CACHE_ASSOC___449 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___449 = 193,
    _SC_LEVEL3_CACHE_SIZE___449 = 194,
    _SC_LEVEL3_CACHE_ASSOC___449 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___449 = 196,
    _SC_LEVEL4_CACHE_SIZE___449 = 197,
    _SC_LEVEL4_CACHE_ASSOC___449 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___449 = 199,
    _SC_IPV6___449 = 235,
    _SC_RAW_SOCKETS___449 = 236,
    _SC_V7_ILP32_OFF32___449 = 237,
    _SC_V7_ILP32_OFFBIG___449 = 238,
    _SC_V7_LP64_OFF64___449 = 239,
    _SC_V7_LPBIG_OFFBIG___449 = 240,
    _SC_SS_REPL_MAX___449 = 241,
    _SC_TRACE_EVENT_NAME_MAX___449 = 242,
    _SC_TRACE_NAME_MAX___449 = 243,
    _SC_TRACE_SYS_MAX___449 = 244,
    _SC_TRACE_USER_EVENT_MAX___449 = 245,
    _SC_XOPEN_STREAMS___449 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___449 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___449 = 248
} ;
enum __anonenum_875524036___449 {
    _CS_PATH___449 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___449 = 1,
    _CS_GNU_LIBC_VERSION___449 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___449 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___449 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___449 = 5,
    _CS_LFS_CFLAGS___449 = 1000,
    _CS_LFS_LDFLAGS___449 = 1001,
    _CS_LFS_LIBS___449 = 1002,
    _CS_LFS_LINTFLAGS___449 = 1003,
    _CS_LFS64_CFLAGS___449 = 1004,
    _CS_LFS64_LDFLAGS___449 = 1005,
    _CS_LFS64_LIBS___449 = 1006,
    _CS_LFS64_LINTFLAGS___449 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___449 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___449 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___449 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___449 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___449 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___449 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___449 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___449 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___449 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___449 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___449 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___449 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___449 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___449 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___449 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___449 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___449 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___449 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___449 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___449 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___449 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___449 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___449 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___449 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___449 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___449 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___449 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___449 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___449 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___449 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___449 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___449 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___449 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___449 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___449 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___449 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___449 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___449 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___449 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___449 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___449 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___449 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___449 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___449 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___449 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___449 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___449 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___449 = 1147,
    _CS_V6_ENV___449 = 1148,
    _CS_V7_ENV___449 = 1149
} ;
enum __anonenum_513775621___449 {
    DT_UNKNOWN___449 = 0,
    DT_FIFO___449 = 1,
    DT_CHR___449 = 2,
    DT_DIR___449 = 4,
    DT_BLK___449 = 6,
    DT_REG___449 = 8,
    DT_LNK___449 = 10,
    DT_SOCK___449 = 12,
    DT_WHT___449 = 14
} ;
enum __anonenum_77002343___449 {
    SI_ASYNCNL___449 = -60,
    SI_TKILL___449 = -6,
    SI_SIGIO___449 = -5,
    SI_ASYNCIO___449 = -4,
    SI_MESGQ___449 = -3,
    SI_TIMER___449 = -2,
    SI_QUEUE___449 = -1,
    SI_USER___449 = 0,
    SI_KERNEL___449 = 128
} ;
enum __anonenum_131038172___449 {
    ILL_ILLOPC___449 = 1,
    ILL_ILLOPN___449 = 2,
    ILL_ILLADR___449 = 3,
    ILL_ILLTRP___449 = 4,
    ILL_PRVOPC___449 = 5,
    ILL_PRVREG___449 = 6,
    ILL_COPROC___449 = 7,
    ILL_BADSTK___449 = 8
} ;
enum __anonenum_452038093___449 {
    FPE_INTDIV___449 = 1,
    FPE_INTOVF___449 = 2,
    FPE_FLTDIV___449 = 3,
    FPE_FLTOVF___449 = 4,
    FPE_FLTUND___449 = 5,
    FPE_FLTRES___449 = 6,
    FPE_FLTINV___449 = 7,
    FPE_FLTSUB___449 = 8
} ;
enum __anonenum_30976155___449 {
    SEGV_MAPERR___449 = 1,
    SEGV_ACCERR___449 = 2,
    SEGV_BNDERR___449 = 3,
    SEGV_PKUERR___449 = 4
} ;
enum __anonenum_1036286214___449 {
    BUS_ADRALN___449 = 1,
    BUS_ADRERR___449 = 2,
    BUS_OBJERR___449 = 3,
    BUS_MCEERR_AR___449 = 4,
    BUS_MCEERR_AO___449 = 5
} ;
enum __anonenum_493465559___449 {
    TRAP_BRKPT___449 = 1,
    TRAP_TRACE___449 = 2
} ;
enum __anonenum_23175539___449 {
    CLD_EXITED___449 = 1,
    CLD_KILLED___449 = 2,
    CLD_DUMPED___449 = 3,
    CLD_TRAPPED___449 = 4,
    CLD_STOPPED___449 = 5,
    CLD_CONTINUED___449 = 6
} ;
enum __anonenum_111643124___449 {
    POLL_IN___449 = 1,
    POLL_OUT___449 = 2,
    POLL_MSG___449 = 3,
    POLL_ERR___449 = 4,
    POLL_PRI___449 = 5,
    POLL_HUP___449 = 6
} ;
enum __anonenum_852341087___449 {
    SIGEV_SIGNAL___449 = 0,
    SIGEV_NONE___449 = 1,
    SIGEV_THREAD___449 = 2,
    SIGEV_THREAD_ID___449 = 4
} ;
enum __anonenum_451154152___449 {
    REG_R8___449 = 0,
    REG_R9___449 = 1,
    REG_R10___449 = 2,
    REG_R11___449 = 3,
    REG_R12___449 = 4,
    REG_R13___449 = 5,
    REG_R14___449 = 6,
    REG_R15___449 = 7,
    REG_RDI___449 = 8,
    REG_RSI___449 = 9,
    REG_RBP___449 = 10,
    REG_RBX___449 = 11,
    REG_RDX___449 = 12,
    REG_RAX___449 = 13,
    REG_RCX___449 = 14,
    REG_RSP___449 = 15,
    REG_RIP___449 = 16,
    REG_EFL___449 = 17,
    REG_CSGSFS___449 = 18,
    REG_ERR___449 = 19,
    REG_TRAPNO___449 = 20,
    REG_OLDMASK___449 = 21,
    REG_CR2___449 = 22
} ;
enum __anonenum_57186863___449 {
    SS_ONSTACK___449 = 1,
    SS_DISABLE___449 = 2
} ;
enum __anonenum_83571709___449 {
    MSG_OOB___449 = 1,
    MSG_PEEK___449 = 2,
    MSG_DONTROUTE___449 = 4,
    MSG_TRYHARD___449 = 4,
    MSG_CTRUNC___449 = 8,
    MSG_PROXY___449 = 16,
    MSG_TRUNC___449 = 32,
    MSG_DONTWAIT___449 = 64,
    MSG_EOR___449 = 128,
    MSG_WAITALL___449 = 256,
    MSG_FIN___449 = 512,
    MSG_SYN___449 = 1024,
    MSG_CONFIRM___449 = 2048,
    MSG_RST___449 = 4096,
    MSG_ERRQUEUE___449 = 8192,
    MSG_NOSIGNAL___449 = 16384,
    MSG_MORE___449 = 32768,
    MSG_WAITFORONE___449 = 65536,
    MSG_BATCH___449 = 262144,
    MSG_ZEROCOPY___449 = 67108864,
    MSG_FASTOPEN___449 = 536870912,
    MSG_CMSG_CLOEXEC___449 = 1073741824
} ;
enum __anonenum_617082774___449 {
    SCM_RIGHTS___449 = 1,
    SCM_CREDENTIALS___449 = 2
} ;
enum __anonenum_606441560___449 {
    SHUT_RD___449 = 0,
    SHUT_WR___449 = 1,
    SHUT_RDWR___449 = 2
} ;
enum __anonenum_681669233___449 {
    IPPROTO_IP___449 = 0,
    IPPROTO_ICMP___449 = 1,
    IPPROTO_IGMP___449 = 2,
    IPPROTO_IPIP___449 = 4,
    IPPROTO_TCP___449 = 6,
    IPPROTO_EGP___449 = 8,
    IPPROTO_PUP___449 = 12,
    IPPROTO_UDP___449 = 17,
    IPPROTO_IDP___449 = 22,
    IPPROTO_TP___449 = 29,
    IPPROTO_DCCP___449 = 33,
    IPPROTO_IPV6___449 = 41,
    IPPROTO_RSVP___449 = 46,
    IPPROTO_GRE___449 = 47,
    IPPROTO_ESP___449 = 50,
    IPPROTO_AH___449 = 51,
    IPPROTO_MTP___449 = 92,
    IPPROTO_BEETPH___449 = 94,
    IPPROTO_ENCAP___449 = 98,
    IPPROTO_PIM___449 = 103,
    IPPROTO_COMP___449 = 108,
    IPPROTO_SCTP___449 = 132,
    IPPROTO_UDPLITE___449 = 136,
    IPPROTO_MPLS___449 = 137,
    IPPROTO_RAW___449 = 255,
    IPPROTO_MAX___449 = 256
} ;
enum __anonenum_218739988___449 {
    IPPROTO_HOPOPTS___449 = 0,
    IPPROTO_ROUTING___449 = 43,
    IPPROTO_FRAGMENT___449 = 44,
    IPPROTO_ICMPV6___449 = 58,
    IPPROTO_NONE___449 = 59,
    IPPROTO_DSTOPTS___449 = 60,
    IPPROTO_MH___449 = 135
} ;
enum __anonenum_662268580___449 {
    IPPORT_ECHO___449 = 7,
    IPPORT_DISCARD___449 = 9,
    IPPORT_SYSTAT___449 = 11,
    IPPORT_DAYTIME___449 = 13,
    IPPORT_NETSTAT___449 = 15,
    IPPORT_FTP___449 = 21,
    IPPORT_TELNET___449 = 23,
    IPPORT_SMTP___449 = 25,
    IPPORT_TIMESERVER___449 = 37,
    IPPORT_NAMESERVER___449 = 42,
    IPPORT_WHOIS___449 = 43,
    IPPORT_MTP___449 = 57,
    IPPORT_TFTP___449 = 69,
    IPPORT_RJE___449 = 77,
    IPPORT_FINGER___449 = 79,
    IPPORT_TTYLINK___449 = 87,
    IPPORT_SUPDUP___449 = 95,
    IPPORT_EXECSERVER___449 = 512,
    IPPORT_LOGINSERVER___449 = 513,
    IPPORT_CMDSERVER___449 = 514,
    IPPORT_EFSSERVER___449 = 520,
    IPPORT_BIFFUDP___449 = 512,
    IPPORT_WHOSERVER___449 = 513,
    IPPORT_ROUTESERVER___449 = 520,
    IPPORT_RESERVED___449 = 1024,
    IPPORT_USERRESERVED___449 = 5000
} ;
enum __anonenum_788308992___449 {
    TCP_ESTABLISHED___449 = 1,
    TCP_SYN_SENT___449 = 2,
    TCP_SYN_RECV___449 = 3,
    TCP_FIN_WAIT1___449 = 4,
    TCP_FIN_WAIT2___449 = 5,
    TCP_TIME_WAIT___449 = 6,
    TCP_CLOSE___449 = 7,
    TCP_CLOSE_WAIT___449 = 8,
    TCP_LAST_ACK___449 = 9,
    TCP_LISTEN___449 = 10,
    TCP_CLOSING___449 = 11
} ;
enum __anonenum_221125648___449 {
    TCP_NO_QUEUE___449 = 0,
    TCP_RECV_QUEUE___449 = 1,
    TCP_SEND_QUEUE___449 = 2,
    TCP_QUEUES_NR___449 = 3
} ;
enum __anonenum_34415463___449 {
    PTHREAD_CREATE_JOINABLE___449 = 0,
    PTHREAD_CREATE_DETACHED___449 = 1
} ;
enum __anonenum_303612439___449 {
    PTHREAD_MUTEX_TIMED_NP___449 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___449 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___449 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___449 = 3,
    PTHREAD_MUTEX_NORMAL___449 = 0,
    PTHREAD_MUTEX_RECURSIVE___449 = 1,
    PTHREAD_MUTEX_ERRORCHECK___449 = 2,
    PTHREAD_MUTEX_DEFAULT___449 = 0,
    PTHREAD_MUTEX_FAST_NP___449 = 0
} ;
enum __anonenum_931900394___449 {
    PTHREAD_MUTEX_STALLED___449 = 0,
    PTHREAD_MUTEX_STALLED_NP___449 = 0,
    PTHREAD_MUTEX_ROBUST___449 = 1,
    PTHREAD_MUTEX_ROBUST_NP___449 = 1
} ;
enum __anonenum_205214487___449 {
    PTHREAD_PRIO_NONE___449 = 0,
    PTHREAD_PRIO_INHERIT___449 = 1,
    PTHREAD_PRIO_PROTECT___449 = 2
} ;
enum __anonenum_25043950___449 {
    PTHREAD_RWLOCK_PREFER_READER_NP___449 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___449 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___449 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___449 = 0
} ;
enum __anonenum_436439511___449 {
    PTHREAD_INHERIT_SCHED___449 = 0,
    PTHREAD_EXPLICIT_SCHED___449 = 1
} ;
enum __anonenum_998661166___449 {
    PTHREAD_SCOPE_SYSTEM___449 = 0,
    PTHREAD_SCOPE_PROCESS___449 = 1
} ;
enum __anonenum_146137331___449 {
    PTHREAD_PROCESS_PRIVATE___449 = 0,
    PTHREAD_PROCESS_SHARED___449 = 1
} ;
enum __anonenum_53396917___449 {
    PTHREAD_CANCEL_ENABLE___449 = 0,
    PTHREAD_CANCEL_DISABLE___449 = 1
} ;
enum __anonenum_904563783___449 {
    PTHREAD_CANCEL_DEFERRED___449 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___449 = 1
} ;
enum __anonenum_672052974___449 {
    SSL_CT_VALIDATION_PERMISSIVE___449 = 0,
    SSL_CT_VALIDATION_STRICT___449 = 1
} ;
struct flag_definition {
   char const   *name ;
   uint64_t mask ;
};
struct command___1 {
   char const   *name ;
   int (*func)(struct ref_store *refs , char const   **argv ) ;
};
enum __anonenum_437032235___450 {
    _PC_LINK_MAX___450 = 0,
    _PC_MAX_CANON___450 = 1,
    _PC_MAX_INPUT___450 = 2,
    _PC_NAME_MAX___450 = 3,
    _PC_PATH_MAX___450 = 4,
    _PC_PIPE_BUF___450 = 5,
    _PC_CHOWN_RESTRICTED___450 = 6,
    _PC_NO_TRUNC___450 = 7,
    _PC_VDISABLE___450 = 8,
    _PC_SYNC_IO___450 = 9,
    _PC_ASYNC_IO___450 = 10,
    _PC_PRIO_IO___450 = 11,
    _PC_SOCK_MAXBUF___450 = 12,
    _PC_FILESIZEBITS___450 = 13,
    _PC_REC_INCR_XFER_SIZE___450 = 14,
    _PC_REC_MAX_XFER_SIZE___450 = 15,
    _PC_REC_MIN_XFER_SIZE___450 = 16,
    _PC_REC_XFER_ALIGN___450 = 17,
    _PC_ALLOC_SIZE_MIN___450 = 18,
    _PC_SYMLINK_MAX___450 = 19,
    _PC_2_SYMLINKS___450 = 20
} ;
enum __anonenum_315186338___450 {
    _SC_ARG_MAX___450 = 0,
    _SC_CHILD_MAX___450 = 1,
    _SC_CLK_TCK___450 = 2,
    _SC_NGROUPS_MAX___450 = 3,
    _SC_OPEN_MAX___450 = 4,
    _SC_STREAM_MAX___450 = 5,
    _SC_TZNAME_MAX___450 = 6,
    _SC_JOB_CONTROL___450 = 7,
    _SC_SAVED_IDS___450 = 8,
    _SC_REALTIME_SIGNALS___450 = 9,
    _SC_PRIORITY_SCHEDULING___450 = 10,
    _SC_TIMERS___450 = 11,
    _SC_ASYNCHRONOUS_IO___450 = 12,
    _SC_PRIORITIZED_IO___450 = 13,
    _SC_SYNCHRONIZED_IO___450 = 14,
    _SC_FSYNC___450 = 15,
    _SC_MAPPED_FILES___450 = 16,
    _SC_MEMLOCK___450 = 17,
    _SC_MEMLOCK_RANGE___450 = 18,
    _SC_MEMORY_PROTECTION___450 = 19,
    _SC_MESSAGE_PASSING___450 = 20,
    _SC_SEMAPHORES___450 = 21,
    _SC_SHARED_MEMORY_OBJECTS___450 = 22,
    _SC_AIO_LISTIO_MAX___450 = 23,
    _SC_AIO_MAX___450 = 24,
    _SC_AIO_PRIO_DELTA_MAX___450 = 25,
    _SC_DELAYTIMER_MAX___450 = 26,
    _SC_MQ_OPEN_MAX___450 = 27,
    _SC_MQ_PRIO_MAX___450 = 28,
    _SC_VERSION___450 = 29,
    _SC_PAGESIZE___450 = 30,
    _SC_RTSIG_MAX___450 = 31,
    _SC_SEM_NSEMS_MAX___450 = 32,
    _SC_SEM_VALUE_MAX___450 = 33,
    _SC_SIGQUEUE_MAX___450 = 34,
    _SC_TIMER_MAX___450 = 35,
    _SC_BC_BASE_MAX___450 = 36,
    _SC_BC_DIM_MAX___450 = 37,
    _SC_BC_SCALE_MAX___450 = 38,
    _SC_BC_STRING_MAX___450 = 39,
    _SC_COLL_WEIGHTS_MAX___450 = 40,
    _SC_EQUIV_CLASS_MAX___450 = 41,
    _SC_EXPR_NEST_MAX___450 = 42,
    _SC_LINE_MAX___450 = 43,
    _SC_RE_DUP_MAX___450 = 44,
    _SC_CHARCLASS_NAME_MAX___450 = 45,
    _SC_2_VERSION___450 = 46,
    _SC_2_C_BIND___450 = 47,
    _SC_2_C_DEV___450 = 48,
    _SC_2_FORT_DEV___450 = 49,
    _SC_2_FORT_RUN___450 = 50,
    _SC_2_SW_DEV___450 = 51,
    _SC_2_LOCALEDEF___450 = 52,
    _SC_PII___450 = 53,
    _SC_PII_XTI___450 = 54,
    _SC_PII_SOCKET___450 = 55,
    _SC_PII_INTERNET___450 = 56,
    _SC_PII_OSI___450 = 57,
    _SC_POLL___450 = 58,
    _SC_SELECT___450 = 59,
    _SC_UIO_MAXIOV___450 = 60,
    _SC_IOV_MAX___450 = 60,
    _SC_PII_INTERNET_STREAM___450 = 61,
    _SC_PII_INTERNET_DGRAM___450 = 62,
    _SC_PII_OSI_COTS___450 = 63,
    _SC_PII_OSI_CLTS___450 = 64,
    _SC_PII_OSI_M___450 = 65,
    _SC_T_IOV_MAX___450 = 66,
    _SC_THREADS___450 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___450 = 68,
    _SC_GETGR_R_SIZE_MAX___450 = 69,
    _SC_GETPW_R_SIZE_MAX___450 = 70,
    _SC_LOGIN_NAME_MAX___450 = 71,
    _SC_TTY_NAME_MAX___450 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___450 = 73,
    _SC_THREAD_KEYS_MAX___450 = 74,
    _SC_THREAD_STACK_MIN___450 = 75,
    _SC_THREAD_THREADS_MAX___450 = 76,
    _SC_THREAD_ATTR_STACKADDR___450 = 77,
    _SC_THREAD_ATTR_STACKSIZE___450 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___450 = 79,
    _SC_THREAD_PRIO_INHERIT___450 = 80,
    _SC_THREAD_PRIO_PROTECT___450 = 81,
    _SC_THREAD_PROCESS_SHARED___450 = 82,
    _SC_NPROCESSORS_CONF___450 = 83,
    _SC_NPROCESSORS_ONLN___450 = 84,
    _SC_PHYS_PAGES___450 = 85,
    _SC_AVPHYS_PAGES___450 = 86,
    _SC_ATEXIT_MAX___450 = 87,
    _SC_PASS_MAX___450 = 88,
    _SC_XOPEN_VERSION___450 = 89,
    _SC_XOPEN_XCU_VERSION___450 = 90,
    _SC_XOPEN_UNIX___450 = 91,
    _SC_XOPEN_CRYPT___450 = 92,
    _SC_XOPEN_ENH_I18N___450 = 93,
    _SC_XOPEN_SHM___450 = 94,
    _SC_2_CHAR_TERM___450 = 95,
    _SC_2_C_VERSION___450 = 96,
    _SC_2_UPE___450 = 97,
    _SC_XOPEN_XPG2___450 = 98,
    _SC_XOPEN_XPG3___450 = 99,
    _SC_XOPEN_XPG4___450 = 100,
    _SC_CHAR_BIT___450 = 101,
    _SC_CHAR_MAX___450 = 102,
    _SC_CHAR_MIN___450 = 103,
    _SC_INT_MAX___450 = 104,
    _SC_INT_MIN___450 = 105,
    _SC_LONG_BIT___450 = 106,
    _SC_WORD_BIT___450 = 107,
    _SC_MB_LEN_MAX___450 = 108,
    _SC_NZERO___450 = 109,
    _SC_SSIZE_MAX___450 = 110,
    _SC_SCHAR_MAX___450 = 111,
    _SC_SCHAR_MIN___450 = 112,
    _SC_SHRT_MAX___450 = 113,
    _SC_SHRT_MIN___450 = 114,
    _SC_UCHAR_MAX___450 = 115,
    _SC_UINT_MAX___450 = 116,
    _SC_ULONG_MAX___450 = 117,
    _SC_USHRT_MAX___450 = 118,
    _SC_NL_ARGMAX___450 = 119,
    _SC_NL_LANGMAX___450 = 120,
    _SC_NL_MSGMAX___450 = 121,
    _SC_NL_NMAX___450 = 122,
    _SC_NL_SETMAX___450 = 123,
    _SC_NL_TEXTMAX___450 = 124,
    _SC_XBS5_ILP32_OFF32___450 = 125,
    _SC_XBS5_ILP32_OFFBIG___450 = 126,
    _SC_XBS5_LP64_OFF64___450 = 127,
    _SC_XBS5_LPBIG_OFFBIG___450 = 128,
    _SC_XOPEN_LEGACY___450 = 129,
    _SC_XOPEN_REALTIME___450 = 130,
    _SC_XOPEN_REALTIME_THREADS___450 = 131,
    _SC_ADVISORY_INFO___450 = 132,
    _SC_BARRIERS___450 = 133,
    _SC_BASE___450 = 134,
    _SC_C_LANG_SUPPORT___450 = 135,
    _SC_C_LANG_SUPPORT_R___450 = 136,
    _SC_CLOCK_SELECTION___450 = 137,
    _SC_CPUTIME___450 = 138,
    _SC_THREAD_CPUTIME___450 = 139,
    _SC_DEVICE_IO___450 = 140,
    _SC_DEVICE_SPECIFIC___450 = 141,
    _SC_DEVICE_SPECIFIC_R___450 = 142,
    _SC_FD_MGMT___450 = 143,
    _SC_FIFO___450 = 144,
    _SC_PIPE___450 = 145,
    _SC_FILE_ATTRIBUTES___450 = 146,
    _SC_FILE_LOCKING___450 = 147,
    _SC_FILE_SYSTEM___450 = 148,
    _SC_MONOTONIC_CLOCK___450 = 149,
    _SC_MULTI_PROCESS___450 = 150,
    _SC_SINGLE_PROCESS___450 = 151,
    _SC_NETWORKING___450 = 152,
    _SC_READER_WRITER_LOCKS___450 = 153,
    _SC_SPIN_LOCKS___450 = 154,
    _SC_REGEXP___450 = 155,
    _SC_REGEX_VERSION___450 = 156,
    _SC_SHELL___450 = 157,
    _SC_SIGNALS___450 = 158,
    _SC_SPAWN___450 = 159,
    _SC_SPORADIC_SERVER___450 = 160,
    _SC_THREAD_SPORADIC_SERVER___450 = 161,
    _SC_SYSTEM_DATABASE___450 = 162,
    _SC_SYSTEM_DATABASE_R___450 = 163,
    _SC_TIMEOUTS___450 = 164,
    _SC_TYPED_MEMORY_OBJECTS___450 = 165,
    _SC_USER_GROUPS___450 = 166,
    _SC_USER_GROUPS_R___450 = 167,
    _SC_2_PBS___450 = 168,
    _SC_2_PBS_ACCOUNTING___450 = 169,
    _SC_2_PBS_LOCATE___450 = 170,
    _SC_2_PBS_MESSAGE___450 = 171,
    _SC_2_PBS_TRACK___450 = 172,
    _SC_SYMLOOP_MAX___450 = 173,
    _SC_STREAMS___450 = 174,
    _SC_2_PBS_CHECKPOINT___450 = 175,
    _SC_V6_ILP32_OFF32___450 = 176,
    _SC_V6_ILP32_OFFBIG___450 = 177,
    _SC_V6_LP64_OFF64___450 = 178,
    _SC_V6_LPBIG_OFFBIG___450 = 179,
    _SC_HOST_NAME_MAX___450 = 180,
    _SC_TRACE___450 = 181,
    _SC_TRACE_EVENT_FILTER___450 = 182,
    _SC_TRACE_INHERIT___450 = 183,
    _SC_TRACE_LOG___450 = 184,
    _SC_LEVEL1_ICACHE_SIZE___450 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___450 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___450 = 187,
    _SC_LEVEL1_DCACHE_SIZE___450 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___450 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___450 = 190,
    _SC_LEVEL2_CACHE_SIZE___450 = 191,
    _SC_LEVEL2_CACHE_ASSOC___450 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___450 = 193,
    _SC_LEVEL3_CACHE_SIZE___450 = 194,
    _SC_LEVEL3_CACHE_ASSOC___450 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___450 = 196,
    _SC_LEVEL4_CACHE_SIZE___450 = 197,
    _SC_LEVEL4_CACHE_ASSOC___450 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___450 = 199,
    _SC_IPV6___450 = 235,
    _SC_RAW_SOCKETS___450 = 236,
    _SC_V7_ILP32_OFF32___450 = 237,
    _SC_V7_ILP32_OFFBIG___450 = 238,
    _SC_V7_LP64_OFF64___450 = 239,
    _SC_V7_LPBIG_OFFBIG___450 = 240,
    _SC_SS_REPL_MAX___450 = 241,
    _SC_TRACE_EVENT_NAME_MAX___450 = 242,
    _SC_TRACE_NAME_MAX___450 = 243,
    _SC_TRACE_SYS_MAX___450 = 244,
    _SC_TRACE_USER_EVENT_MAX___450 = 245,
    _SC_XOPEN_STREAMS___450 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___450 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___450 = 248
} ;
enum __anonenum_875524036___450 {
    _CS_PATH___450 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___450 = 1,
    _CS_GNU_LIBC_VERSION___450 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___450 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___450 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___450 = 5,
    _CS_LFS_CFLAGS___450 = 1000,
    _CS_LFS_LDFLAGS___450 = 1001,
    _CS_LFS_LIBS___450 = 1002,
    _CS_LFS_LINTFLAGS___450 = 1003,
    _CS_LFS64_CFLAGS___450 = 1004,
    _CS_LFS64_LDFLAGS___450 = 1005,
    _CS_LFS64_LIBS___450 = 1006,
    _CS_LFS64_LINTFLAGS___450 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___450 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___450 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___450 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___450 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___450 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___450 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___450 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___450 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___450 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___450 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___450 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___450 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___450 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___450 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___450 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___450 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___450 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___450 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___450 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___450 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___450 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___450 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___450 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___450 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___450 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___450 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___450 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___450 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___450 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___450 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___450 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___450 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___450 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___450 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___450 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___450 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___450 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___450 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___450 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___450 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___450 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___450 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___450 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___450 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___450 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___450 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___450 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___450 = 1147,
    _CS_V6_ENV___450 = 1148,
    _CS_V7_ENV___450 = 1149
} ;
enum __anonenum_513775621___450 {
    DT_UNKNOWN___450 = 0,
    DT_FIFO___450 = 1,
    DT_CHR___450 = 2,
    DT_DIR___450 = 4,
    DT_BLK___450 = 6,
    DT_REG___450 = 8,
    DT_LNK___450 = 10,
    DT_SOCK___450 = 12,
    DT_WHT___450 = 14
} ;
enum __anonenum_77002343___450 {
    SI_ASYNCNL___450 = -60,
    SI_TKILL___450 = -6,
    SI_SIGIO___450 = -5,
    SI_ASYNCIO___450 = -4,
    SI_MESGQ___450 = -3,
    SI_TIMER___450 = -2,
    SI_QUEUE___450 = -1,
    SI_USER___450 = 0,
    SI_KERNEL___450 = 128
} ;
enum __anonenum_131038172___450 {
    ILL_ILLOPC___450 = 1,
    ILL_ILLOPN___450 = 2,
    ILL_ILLADR___450 = 3,
    ILL_ILLTRP___450 = 4,
    ILL_PRVOPC___450 = 5,
    ILL_PRVREG___450 = 6,
    ILL_COPROC___450 = 7,
    ILL_BADSTK___450 = 8
} ;
enum __anonenum_452038093___450 {
    FPE_INTDIV___450 = 1,
    FPE_INTOVF___450 = 2,
    FPE_FLTDIV___450 = 3,
    FPE_FLTOVF___450 = 4,
    FPE_FLTUND___450 = 5,
    FPE_FLTRES___450 = 6,
    FPE_FLTINV___450 = 7,
    FPE_FLTSUB___450 = 8
} ;
enum __anonenum_30976155___450 {
    SEGV_MAPERR___450 = 1,
    SEGV_ACCERR___450 = 2,
    SEGV_BNDERR___450 = 3,
    SEGV_PKUERR___450 = 4
} ;
enum __anonenum_1036286214___450 {
    BUS_ADRALN___450 = 1,
    BUS_ADRERR___450 = 2,
    BUS_OBJERR___450 = 3,
    BUS_MCEERR_AR___450 = 4,
    BUS_MCEERR_AO___450 = 5
} ;
enum __anonenum_493465559___450 {
    TRAP_BRKPT___450 = 1,
    TRAP_TRACE___450 = 2
} ;
enum __anonenum_23175539___450 {
    CLD_EXITED___450 = 1,
    CLD_KILLED___450 = 2,
    CLD_DUMPED___450 = 3,
    CLD_TRAPPED___450 = 4,
    CLD_STOPPED___450 = 5,
    CLD_CONTINUED___450 = 6
} ;
enum __anonenum_111643124___450 {
    POLL_IN___450 = 1,
    POLL_OUT___450 = 2,
    POLL_MSG___450 = 3,
    POLL_ERR___450 = 4,
    POLL_PRI___450 = 5,
    POLL_HUP___450 = 6
} ;
enum __anonenum_852341087___450 {
    SIGEV_SIGNAL___450 = 0,
    SIGEV_NONE___450 = 1,
    SIGEV_THREAD___450 = 2,
    SIGEV_THREAD_ID___450 = 4
} ;
enum __anonenum_451154152___450 {
    REG_R8___450 = 0,
    REG_R9___450 = 1,
    REG_R10___450 = 2,
    REG_R11___450 = 3,
    REG_R12___450 = 4,
    REG_R13___450 = 5,
    REG_R14___450 = 6,
    REG_R15___450 = 7,
    REG_RDI___450 = 8,
    REG_RSI___450 = 9,
    REG_RBP___450 = 10,
    REG_RBX___450 = 11,
    REG_RDX___450 = 12,
    REG_RAX___450 = 13,
    REG_RCX___450 = 14,
    REG_RSP___450 = 15,
    REG_RIP___450 = 16,
    REG_EFL___450 = 17,
    REG_CSGSFS___450 = 18,
    REG_ERR___450 = 19,
    REG_TRAPNO___450 = 20,
    REG_OLDMASK___450 = 21,
    REG_CR2___450 = 22
} ;
enum __anonenum_57186863___450 {
    SS_ONSTACK___450 = 1,
    SS_DISABLE___450 = 2
} ;
enum __anonenum_83571709___450 {
    MSG_OOB___450 = 1,
    MSG_PEEK___450 = 2,
    MSG_DONTROUTE___450 = 4,
    MSG_TRYHARD___450 = 4,
    MSG_CTRUNC___450 = 8,
    MSG_PROXY___450 = 16,
    MSG_TRUNC___450 = 32,
    MSG_DONTWAIT___450 = 64,
    MSG_EOR___450 = 128,
    MSG_WAITALL___450 = 256,
    MSG_FIN___450 = 512,
    MSG_SYN___450 = 1024,
    MSG_CONFIRM___450 = 2048,
    MSG_RST___450 = 4096,
    MSG_ERRQUEUE___450 = 8192,
    MSG_NOSIGNAL___450 = 16384,
    MSG_MORE___450 = 32768,
    MSG_WAITFORONE___450 = 65536,
    MSG_BATCH___450 = 262144,
    MSG_ZEROCOPY___450 = 67108864,
    MSG_FASTOPEN___450 = 536870912,
    MSG_CMSG_CLOEXEC___450 = 1073741824
} ;
enum __anonenum_617082774___450 {
    SCM_RIGHTS___450 = 1,
    SCM_CREDENTIALS___450 = 2
} ;
enum __anonenum_606441560___450 {
    SHUT_RD___450 = 0,
    SHUT_WR___450 = 1,
    SHUT_RDWR___450 = 2
} ;
enum __anonenum_681669233___450 {
    IPPROTO_IP___450 = 0,
    IPPROTO_ICMP___450 = 1,
    IPPROTO_IGMP___450 = 2,
    IPPROTO_IPIP___450 = 4,
    IPPROTO_TCP___450 = 6,
    IPPROTO_EGP___450 = 8,
    IPPROTO_PUP___450 = 12,
    IPPROTO_UDP___450 = 17,
    IPPROTO_IDP___450 = 22,
    IPPROTO_TP___450 = 29,
    IPPROTO_DCCP___450 = 33,
    IPPROTO_IPV6___450 = 41,
    IPPROTO_RSVP___450 = 46,
    IPPROTO_GRE___450 = 47,
    IPPROTO_ESP___450 = 50,
    IPPROTO_AH___450 = 51,
    IPPROTO_MTP___450 = 92,
    IPPROTO_BEETPH___450 = 94,
    IPPROTO_ENCAP___450 = 98,
    IPPROTO_PIM___450 = 103,
    IPPROTO_COMP___450 = 108,
    IPPROTO_SCTP___450 = 132,
    IPPROTO_UDPLITE___450 = 136,
    IPPROTO_MPLS___450 = 137,
    IPPROTO_RAW___450 = 255,
    IPPROTO_MAX___450 = 256
} ;
enum __anonenum_218739988___450 {
    IPPROTO_HOPOPTS___450 = 0,
    IPPROTO_ROUTING___450 = 43,
    IPPROTO_FRAGMENT___450 = 44,
    IPPROTO_ICMPV6___450 = 58,
    IPPROTO_NONE___450 = 59,
    IPPROTO_DSTOPTS___450 = 60,
    IPPROTO_MH___450 = 135
} ;
enum __anonenum_662268580___450 {
    IPPORT_ECHO___450 = 7,
    IPPORT_DISCARD___450 = 9,
    IPPORT_SYSTAT___450 = 11,
    IPPORT_DAYTIME___450 = 13,
    IPPORT_NETSTAT___450 = 15,
    IPPORT_FTP___450 = 21,
    IPPORT_TELNET___450 = 23,
    IPPORT_SMTP___450 = 25,
    IPPORT_TIMESERVER___450 = 37,
    IPPORT_NAMESERVER___450 = 42,
    IPPORT_WHOIS___450 = 43,
    IPPORT_MTP___450 = 57,
    IPPORT_TFTP___450 = 69,
    IPPORT_RJE___450 = 77,
    IPPORT_FINGER___450 = 79,
    IPPORT_TTYLINK___450 = 87,
    IPPORT_SUPDUP___450 = 95,
    IPPORT_EXECSERVER___450 = 512,
    IPPORT_LOGINSERVER___450 = 513,
    IPPORT_CMDSERVER___450 = 514,
    IPPORT_EFSSERVER___450 = 520,
    IPPORT_BIFFUDP___450 = 512,
    IPPORT_WHOSERVER___450 = 513,
    IPPORT_ROUTESERVER___450 = 520,
    IPPORT_RESERVED___450 = 1024,
    IPPORT_USERRESERVED___450 = 5000
} ;
enum __anonenum_788308992___450 {
    TCP_ESTABLISHED___450 = 1,
    TCP_SYN_SENT___450 = 2,
    TCP_SYN_RECV___450 = 3,
    TCP_FIN_WAIT1___450 = 4,
    TCP_FIN_WAIT2___450 = 5,
    TCP_TIME_WAIT___450 = 6,
    TCP_CLOSE___450 = 7,
    TCP_CLOSE_WAIT___450 = 8,
    TCP_LAST_ACK___450 = 9,
    TCP_LISTEN___450 = 10,
    TCP_CLOSING___450 = 11
} ;
enum __anonenum_221125648___450 {
    TCP_NO_QUEUE___450 = 0,
    TCP_RECV_QUEUE___450 = 1,
    TCP_SEND_QUEUE___450 = 2,
    TCP_QUEUES_NR___450 = 3
} ;
enum __anonenum_34415463___450 {
    PTHREAD_CREATE_JOINABLE___450 = 0,
    PTHREAD_CREATE_DETACHED___450 = 1
} ;
enum __anonenum_303612439___450 {
    PTHREAD_MUTEX_TIMED_NP___450 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___450 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___450 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___450 = 3,
    PTHREAD_MUTEX_NORMAL___450 = 0,
    PTHREAD_MUTEX_RECURSIVE___450 = 1,
    PTHREAD_MUTEX_ERRORCHECK___450 = 2,
    PTHREAD_MUTEX_DEFAULT___450 = 0,
    PTHREAD_MUTEX_FAST_NP___450 = 0
} ;
enum __anonenum_931900394___450 {
    PTHREAD_MUTEX_STALLED___450 = 0,
    PTHREAD_MUTEX_STALLED_NP___450 = 0,
    PTHREAD_MUTEX_ROBUST___450 = 1,
    PTHREAD_MUTEX_ROBUST_NP___450 = 1
} ;
enum __anonenum_205214487___450 {
    PTHREAD_PRIO_NONE___450 = 0,
    PTHREAD_PRIO_INHERIT___450 = 1,
    PTHREAD_PRIO_PROTECT___450 = 2
} ;
enum __anonenum_25043950___450 {
    PTHREAD_RWLOCK_PREFER_READER_NP___450 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___450 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___450 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___450 = 0
} ;
enum __anonenum_436439511___450 {
    PTHREAD_INHERIT_SCHED___450 = 0,
    PTHREAD_EXPLICIT_SCHED___450 = 1
} ;
enum __anonenum_998661166___450 {
    PTHREAD_SCOPE_SYSTEM___450 = 0,
    PTHREAD_SCOPE_PROCESS___450 = 1
} ;
enum __anonenum_146137331___450 {
    PTHREAD_PROCESS_PRIVATE___450 = 0,
    PTHREAD_PROCESS_SHARED___450 = 1
} ;
enum __anonenum_53396917___450 {
    PTHREAD_CANCEL_ENABLE___450 = 0,
    PTHREAD_CANCEL_DISABLE___450 = 1
} ;
enum __anonenum_904563783___450 {
    PTHREAD_CANCEL_DEFERRED___450 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___450 = 1
} ;
enum __anonenum_672052974___450 {
    SSL_CT_VALIDATION_PERMISSIVE___450 = 0,
    SSL_CT_VALIDATION_STRICT___450 = 1
} ;
enum __anonenum_437032235___451 {
    _PC_LINK_MAX___451 = 0,
    _PC_MAX_CANON___451 = 1,
    _PC_MAX_INPUT___451 = 2,
    _PC_NAME_MAX___451 = 3,
    _PC_PATH_MAX___451 = 4,
    _PC_PIPE_BUF___451 = 5,
    _PC_CHOWN_RESTRICTED___451 = 6,
    _PC_NO_TRUNC___451 = 7,
    _PC_VDISABLE___451 = 8,
    _PC_SYNC_IO___451 = 9,
    _PC_ASYNC_IO___451 = 10,
    _PC_PRIO_IO___451 = 11,
    _PC_SOCK_MAXBUF___451 = 12,
    _PC_FILESIZEBITS___451 = 13,
    _PC_REC_INCR_XFER_SIZE___451 = 14,
    _PC_REC_MAX_XFER_SIZE___451 = 15,
    _PC_REC_MIN_XFER_SIZE___451 = 16,
    _PC_REC_XFER_ALIGN___451 = 17,
    _PC_ALLOC_SIZE_MIN___451 = 18,
    _PC_SYMLINK_MAX___451 = 19,
    _PC_2_SYMLINKS___451 = 20
} ;
enum __anonenum_315186338___451 {
    _SC_ARG_MAX___451 = 0,
    _SC_CHILD_MAX___451 = 1,
    _SC_CLK_TCK___451 = 2,
    _SC_NGROUPS_MAX___451 = 3,
    _SC_OPEN_MAX___451 = 4,
    _SC_STREAM_MAX___451 = 5,
    _SC_TZNAME_MAX___451 = 6,
    _SC_JOB_CONTROL___451 = 7,
    _SC_SAVED_IDS___451 = 8,
    _SC_REALTIME_SIGNALS___451 = 9,
    _SC_PRIORITY_SCHEDULING___451 = 10,
    _SC_TIMERS___451 = 11,
    _SC_ASYNCHRONOUS_IO___451 = 12,
    _SC_PRIORITIZED_IO___451 = 13,
    _SC_SYNCHRONIZED_IO___451 = 14,
    _SC_FSYNC___451 = 15,
    _SC_MAPPED_FILES___451 = 16,
    _SC_MEMLOCK___451 = 17,
    _SC_MEMLOCK_RANGE___451 = 18,
    _SC_MEMORY_PROTECTION___451 = 19,
    _SC_MESSAGE_PASSING___451 = 20,
    _SC_SEMAPHORES___451 = 21,
    _SC_SHARED_MEMORY_OBJECTS___451 = 22,
    _SC_AIO_LISTIO_MAX___451 = 23,
    _SC_AIO_MAX___451 = 24,
    _SC_AIO_PRIO_DELTA_MAX___451 = 25,
    _SC_DELAYTIMER_MAX___451 = 26,
    _SC_MQ_OPEN_MAX___451 = 27,
    _SC_MQ_PRIO_MAX___451 = 28,
    _SC_VERSION___451 = 29,
    _SC_PAGESIZE___451 = 30,
    _SC_RTSIG_MAX___451 = 31,
    _SC_SEM_NSEMS_MAX___451 = 32,
    _SC_SEM_VALUE_MAX___451 = 33,
    _SC_SIGQUEUE_MAX___451 = 34,
    _SC_TIMER_MAX___451 = 35,
    _SC_BC_BASE_MAX___451 = 36,
    _SC_BC_DIM_MAX___451 = 37,
    _SC_BC_SCALE_MAX___451 = 38,
    _SC_BC_STRING_MAX___451 = 39,
    _SC_COLL_WEIGHTS_MAX___451 = 40,
    _SC_EQUIV_CLASS_MAX___451 = 41,
    _SC_EXPR_NEST_MAX___451 = 42,
    _SC_LINE_MAX___451 = 43,
    _SC_RE_DUP_MAX___451 = 44,
    _SC_CHARCLASS_NAME_MAX___451 = 45,
    _SC_2_VERSION___451 = 46,
    _SC_2_C_BIND___451 = 47,
    _SC_2_C_DEV___451 = 48,
    _SC_2_FORT_DEV___451 = 49,
    _SC_2_FORT_RUN___451 = 50,
    _SC_2_SW_DEV___451 = 51,
    _SC_2_LOCALEDEF___451 = 52,
    _SC_PII___451 = 53,
    _SC_PII_XTI___451 = 54,
    _SC_PII_SOCKET___451 = 55,
    _SC_PII_INTERNET___451 = 56,
    _SC_PII_OSI___451 = 57,
    _SC_POLL___451 = 58,
    _SC_SELECT___451 = 59,
    _SC_UIO_MAXIOV___451 = 60,
    _SC_IOV_MAX___451 = 60,
    _SC_PII_INTERNET_STREAM___451 = 61,
    _SC_PII_INTERNET_DGRAM___451 = 62,
    _SC_PII_OSI_COTS___451 = 63,
    _SC_PII_OSI_CLTS___451 = 64,
    _SC_PII_OSI_M___451 = 65,
    _SC_T_IOV_MAX___451 = 66,
    _SC_THREADS___451 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___451 = 68,
    _SC_GETGR_R_SIZE_MAX___451 = 69,
    _SC_GETPW_R_SIZE_MAX___451 = 70,
    _SC_LOGIN_NAME_MAX___451 = 71,
    _SC_TTY_NAME_MAX___451 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___451 = 73,
    _SC_THREAD_KEYS_MAX___451 = 74,
    _SC_THREAD_STACK_MIN___451 = 75,
    _SC_THREAD_THREADS_MAX___451 = 76,
    _SC_THREAD_ATTR_STACKADDR___451 = 77,
    _SC_THREAD_ATTR_STACKSIZE___451 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___451 = 79,
    _SC_THREAD_PRIO_INHERIT___451 = 80,
    _SC_THREAD_PRIO_PROTECT___451 = 81,
    _SC_THREAD_PROCESS_SHARED___451 = 82,
    _SC_NPROCESSORS_CONF___451 = 83,
    _SC_NPROCESSORS_ONLN___451 = 84,
    _SC_PHYS_PAGES___451 = 85,
    _SC_AVPHYS_PAGES___451 = 86,
    _SC_ATEXIT_MAX___451 = 87,
    _SC_PASS_MAX___451 = 88,
    _SC_XOPEN_VERSION___451 = 89,
    _SC_XOPEN_XCU_VERSION___451 = 90,
    _SC_XOPEN_UNIX___451 = 91,
    _SC_XOPEN_CRYPT___451 = 92,
    _SC_XOPEN_ENH_I18N___451 = 93,
    _SC_XOPEN_SHM___451 = 94,
    _SC_2_CHAR_TERM___451 = 95,
    _SC_2_C_VERSION___451 = 96,
    _SC_2_UPE___451 = 97,
    _SC_XOPEN_XPG2___451 = 98,
    _SC_XOPEN_XPG3___451 = 99,
    _SC_XOPEN_XPG4___451 = 100,
    _SC_CHAR_BIT___451 = 101,
    _SC_CHAR_MAX___451 = 102,
    _SC_CHAR_MIN___451 = 103,
    _SC_INT_MAX___451 = 104,
    _SC_INT_MIN___451 = 105,
    _SC_LONG_BIT___451 = 106,
    _SC_WORD_BIT___451 = 107,
    _SC_MB_LEN_MAX___451 = 108,
    _SC_NZERO___451 = 109,
    _SC_SSIZE_MAX___451 = 110,
    _SC_SCHAR_MAX___451 = 111,
    _SC_SCHAR_MIN___451 = 112,
    _SC_SHRT_MAX___451 = 113,
    _SC_SHRT_MIN___451 = 114,
    _SC_UCHAR_MAX___451 = 115,
    _SC_UINT_MAX___451 = 116,
    _SC_ULONG_MAX___451 = 117,
    _SC_USHRT_MAX___451 = 118,
    _SC_NL_ARGMAX___451 = 119,
    _SC_NL_LANGMAX___451 = 120,
    _SC_NL_MSGMAX___451 = 121,
    _SC_NL_NMAX___451 = 122,
    _SC_NL_SETMAX___451 = 123,
    _SC_NL_TEXTMAX___451 = 124,
    _SC_XBS5_ILP32_OFF32___451 = 125,
    _SC_XBS5_ILP32_OFFBIG___451 = 126,
    _SC_XBS5_LP64_OFF64___451 = 127,
    _SC_XBS5_LPBIG_OFFBIG___451 = 128,
    _SC_XOPEN_LEGACY___451 = 129,
    _SC_XOPEN_REALTIME___451 = 130,
    _SC_XOPEN_REALTIME_THREADS___451 = 131,
    _SC_ADVISORY_INFO___451 = 132,
    _SC_BARRIERS___451 = 133,
    _SC_BASE___451 = 134,
    _SC_C_LANG_SUPPORT___451 = 135,
    _SC_C_LANG_SUPPORT_R___451 = 136,
    _SC_CLOCK_SELECTION___451 = 137,
    _SC_CPUTIME___451 = 138,
    _SC_THREAD_CPUTIME___451 = 139,
    _SC_DEVICE_IO___451 = 140,
    _SC_DEVICE_SPECIFIC___451 = 141,
    _SC_DEVICE_SPECIFIC_R___451 = 142,
    _SC_FD_MGMT___451 = 143,
    _SC_FIFO___451 = 144,
    _SC_PIPE___451 = 145,
    _SC_FILE_ATTRIBUTES___451 = 146,
    _SC_FILE_LOCKING___451 = 147,
    _SC_FILE_SYSTEM___451 = 148,
    _SC_MONOTONIC_CLOCK___451 = 149,
    _SC_MULTI_PROCESS___451 = 150,
    _SC_SINGLE_PROCESS___451 = 151,
    _SC_NETWORKING___451 = 152,
    _SC_READER_WRITER_LOCKS___451 = 153,
    _SC_SPIN_LOCKS___451 = 154,
    _SC_REGEXP___451 = 155,
    _SC_REGEX_VERSION___451 = 156,
    _SC_SHELL___451 = 157,
    _SC_SIGNALS___451 = 158,
    _SC_SPAWN___451 = 159,
    _SC_SPORADIC_SERVER___451 = 160,
    _SC_THREAD_SPORADIC_SERVER___451 = 161,
    _SC_SYSTEM_DATABASE___451 = 162,
    _SC_SYSTEM_DATABASE_R___451 = 163,
    _SC_TIMEOUTS___451 = 164,
    _SC_TYPED_MEMORY_OBJECTS___451 = 165,
    _SC_USER_GROUPS___451 = 166,
    _SC_USER_GROUPS_R___451 = 167,
    _SC_2_PBS___451 = 168,
    _SC_2_PBS_ACCOUNTING___451 = 169,
    _SC_2_PBS_LOCATE___451 = 170,
    _SC_2_PBS_MESSAGE___451 = 171,
    _SC_2_PBS_TRACK___451 = 172,
    _SC_SYMLOOP_MAX___451 = 173,
    _SC_STREAMS___451 = 174,
    _SC_2_PBS_CHECKPOINT___451 = 175,
    _SC_V6_ILP32_OFF32___451 = 176,
    _SC_V6_ILP32_OFFBIG___451 = 177,
    _SC_V6_LP64_OFF64___451 = 178,
    _SC_V6_LPBIG_OFFBIG___451 = 179,
    _SC_HOST_NAME_MAX___451 = 180,
    _SC_TRACE___451 = 181,
    _SC_TRACE_EVENT_FILTER___451 = 182,
    _SC_TRACE_INHERIT___451 = 183,
    _SC_TRACE_LOG___451 = 184,
    _SC_LEVEL1_ICACHE_SIZE___451 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___451 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___451 = 187,
    _SC_LEVEL1_DCACHE_SIZE___451 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___451 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___451 = 190,
    _SC_LEVEL2_CACHE_SIZE___451 = 191,
    _SC_LEVEL2_CACHE_ASSOC___451 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___451 = 193,
    _SC_LEVEL3_CACHE_SIZE___451 = 194,
    _SC_LEVEL3_CACHE_ASSOC___451 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___451 = 196,
    _SC_LEVEL4_CACHE_SIZE___451 = 197,
    _SC_LEVEL4_CACHE_ASSOC___451 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___451 = 199,
    _SC_IPV6___451 = 235,
    _SC_RAW_SOCKETS___451 = 236,
    _SC_V7_ILP32_OFF32___451 = 237,
    _SC_V7_ILP32_OFFBIG___451 = 238,
    _SC_V7_LP64_OFF64___451 = 239,
    _SC_V7_LPBIG_OFFBIG___451 = 240,
    _SC_SS_REPL_MAX___451 = 241,
    _SC_TRACE_EVENT_NAME_MAX___451 = 242,
    _SC_TRACE_NAME_MAX___451 = 243,
    _SC_TRACE_SYS_MAX___451 = 244,
    _SC_TRACE_USER_EVENT_MAX___451 = 245,
    _SC_XOPEN_STREAMS___451 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___451 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___451 = 248
} ;
enum __anonenum_875524036___451 {
    _CS_PATH___451 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___451 = 1,
    _CS_GNU_LIBC_VERSION___451 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___451 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___451 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___451 = 5,
    _CS_LFS_CFLAGS___451 = 1000,
    _CS_LFS_LDFLAGS___451 = 1001,
    _CS_LFS_LIBS___451 = 1002,
    _CS_LFS_LINTFLAGS___451 = 1003,
    _CS_LFS64_CFLAGS___451 = 1004,
    _CS_LFS64_LDFLAGS___451 = 1005,
    _CS_LFS64_LIBS___451 = 1006,
    _CS_LFS64_LINTFLAGS___451 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___451 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___451 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___451 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___451 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___451 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___451 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___451 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___451 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___451 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___451 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___451 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___451 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___451 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___451 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___451 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___451 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___451 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___451 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___451 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___451 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___451 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___451 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___451 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___451 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___451 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___451 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___451 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___451 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___451 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___451 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___451 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___451 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___451 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___451 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___451 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___451 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___451 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___451 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___451 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___451 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___451 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___451 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___451 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___451 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___451 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___451 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___451 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___451 = 1147,
    _CS_V6_ENV___451 = 1148,
    _CS_V7_ENV___451 = 1149
} ;
enum __anonenum_513775621___451 {
    DT_UNKNOWN___451 = 0,
    DT_FIFO___451 = 1,
    DT_CHR___451 = 2,
    DT_DIR___451 = 4,
    DT_BLK___451 = 6,
    DT_REG___451 = 8,
    DT_LNK___451 = 10,
    DT_SOCK___451 = 12,
    DT_WHT___451 = 14
} ;
enum __anonenum_77002343___451 {
    SI_ASYNCNL___451 = -60,
    SI_TKILL___451 = -6,
    SI_SIGIO___451 = -5,
    SI_ASYNCIO___451 = -4,
    SI_MESGQ___451 = -3,
    SI_TIMER___451 = -2,
    SI_QUEUE___451 = -1,
    SI_USER___451 = 0,
    SI_KERNEL___451 = 128
} ;
enum __anonenum_131038172___451 {
    ILL_ILLOPC___451 = 1,
    ILL_ILLOPN___451 = 2,
    ILL_ILLADR___451 = 3,
    ILL_ILLTRP___451 = 4,
    ILL_PRVOPC___451 = 5,
    ILL_PRVREG___451 = 6,
    ILL_COPROC___451 = 7,
    ILL_BADSTK___451 = 8
} ;
enum __anonenum_452038093___451 {
    FPE_INTDIV___451 = 1,
    FPE_INTOVF___451 = 2,
    FPE_FLTDIV___451 = 3,
    FPE_FLTOVF___451 = 4,
    FPE_FLTUND___451 = 5,
    FPE_FLTRES___451 = 6,
    FPE_FLTINV___451 = 7,
    FPE_FLTSUB___451 = 8
} ;
enum __anonenum_30976155___451 {
    SEGV_MAPERR___451 = 1,
    SEGV_ACCERR___451 = 2,
    SEGV_BNDERR___451 = 3,
    SEGV_PKUERR___451 = 4
} ;
enum __anonenum_1036286214___451 {
    BUS_ADRALN___451 = 1,
    BUS_ADRERR___451 = 2,
    BUS_OBJERR___451 = 3,
    BUS_MCEERR_AR___451 = 4,
    BUS_MCEERR_AO___451 = 5
} ;
enum __anonenum_493465559___451 {
    TRAP_BRKPT___451 = 1,
    TRAP_TRACE___451 = 2
} ;
enum __anonenum_23175539___451 {
    CLD_EXITED___451 = 1,
    CLD_KILLED___451 = 2,
    CLD_DUMPED___451 = 3,
    CLD_TRAPPED___451 = 4,
    CLD_STOPPED___451 = 5,
    CLD_CONTINUED___451 = 6
} ;
enum __anonenum_111643124___451 {
    POLL_IN___451 = 1,
    POLL_OUT___451 = 2,
    POLL_MSG___451 = 3,
    POLL_ERR___451 = 4,
    POLL_PRI___451 = 5,
    POLL_HUP___451 = 6
} ;
enum __anonenum_852341087___451 {
    SIGEV_SIGNAL___451 = 0,
    SIGEV_NONE___451 = 1,
    SIGEV_THREAD___451 = 2,
    SIGEV_THREAD_ID___451 = 4
} ;
enum __anonenum_451154152___451 {
    REG_R8___451 = 0,
    REG_R9___451 = 1,
    REG_R10___451 = 2,
    REG_R11___451 = 3,
    REG_R12___451 = 4,
    REG_R13___451 = 5,
    REG_R14___451 = 6,
    REG_R15___451 = 7,
    REG_RDI___451 = 8,
    REG_RSI___451 = 9,
    REG_RBP___451 = 10,
    REG_RBX___451 = 11,
    REG_RDX___451 = 12,
    REG_RAX___451 = 13,
    REG_RCX___451 = 14,
    REG_RSP___451 = 15,
    REG_RIP___451 = 16,
    REG_EFL___451 = 17,
    REG_CSGSFS___451 = 18,
    REG_ERR___451 = 19,
    REG_TRAPNO___451 = 20,
    REG_OLDMASK___451 = 21,
    REG_CR2___451 = 22
} ;
enum __anonenum_57186863___451 {
    SS_ONSTACK___451 = 1,
    SS_DISABLE___451 = 2
} ;
enum __anonenum_83571709___451 {
    MSG_OOB___451 = 1,
    MSG_PEEK___451 = 2,
    MSG_DONTROUTE___451 = 4,
    MSG_TRYHARD___451 = 4,
    MSG_CTRUNC___451 = 8,
    MSG_PROXY___451 = 16,
    MSG_TRUNC___451 = 32,
    MSG_DONTWAIT___451 = 64,
    MSG_EOR___451 = 128,
    MSG_WAITALL___451 = 256,
    MSG_FIN___451 = 512,
    MSG_SYN___451 = 1024,
    MSG_CONFIRM___451 = 2048,
    MSG_RST___451 = 4096,
    MSG_ERRQUEUE___451 = 8192,
    MSG_NOSIGNAL___451 = 16384,
    MSG_MORE___451 = 32768,
    MSG_WAITFORONE___451 = 65536,
    MSG_BATCH___451 = 262144,
    MSG_ZEROCOPY___451 = 67108864,
    MSG_FASTOPEN___451 = 536870912,
    MSG_CMSG_CLOEXEC___451 = 1073741824
} ;
enum __anonenum_617082774___451 {
    SCM_RIGHTS___451 = 1,
    SCM_CREDENTIALS___451 = 2
} ;
enum __anonenum_606441560___451 {
    SHUT_RD___451 = 0,
    SHUT_WR___451 = 1,
    SHUT_RDWR___451 = 2
} ;
enum __anonenum_681669233___451 {
    IPPROTO_IP___451 = 0,
    IPPROTO_ICMP___451 = 1,
    IPPROTO_IGMP___451 = 2,
    IPPROTO_IPIP___451 = 4,
    IPPROTO_TCP___451 = 6,
    IPPROTO_EGP___451 = 8,
    IPPROTO_PUP___451 = 12,
    IPPROTO_UDP___451 = 17,
    IPPROTO_IDP___451 = 22,
    IPPROTO_TP___451 = 29,
    IPPROTO_DCCP___451 = 33,
    IPPROTO_IPV6___451 = 41,
    IPPROTO_RSVP___451 = 46,
    IPPROTO_GRE___451 = 47,
    IPPROTO_ESP___451 = 50,
    IPPROTO_AH___451 = 51,
    IPPROTO_MTP___451 = 92,
    IPPROTO_BEETPH___451 = 94,
    IPPROTO_ENCAP___451 = 98,
    IPPROTO_PIM___451 = 103,
    IPPROTO_COMP___451 = 108,
    IPPROTO_SCTP___451 = 132,
    IPPROTO_UDPLITE___451 = 136,
    IPPROTO_MPLS___451 = 137,
    IPPROTO_RAW___451 = 255,
    IPPROTO_MAX___451 = 256
} ;
enum __anonenum_218739988___451 {
    IPPROTO_HOPOPTS___451 = 0,
    IPPROTO_ROUTING___451 = 43,
    IPPROTO_FRAGMENT___451 = 44,
    IPPROTO_ICMPV6___451 = 58,
    IPPROTO_NONE___451 = 59,
    IPPROTO_DSTOPTS___451 = 60,
    IPPROTO_MH___451 = 135
} ;
enum __anonenum_662268580___451 {
    IPPORT_ECHO___451 = 7,
    IPPORT_DISCARD___451 = 9,
    IPPORT_SYSTAT___451 = 11,
    IPPORT_DAYTIME___451 = 13,
    IPPORT_NETSTAT___451 = 15,
    IPPORT_FTP___451 = 21,
    IPPORT_TELNET___451 = 23,
    IPPORT_SMTP___451 = 25,
    IPPORT_TIMESERVER___451 = 37,
    IPPORT_NAMESERVER___451 = 42,
    IPPORT_WHOIS___451 = 43,
    IPPORT_MTP___451 = 57,
    IPPORT_TFTP___451 = 69,
    IPPORT_RJE___451 = 77,
    IPPORT_FINGER___451 = 79,
    IPPORT_TTYLINK___451 = 87,
    IPPORT_SUPDUP___451 = 95,
    IPPORT_EXECSERVER___451 = 512,
    IPPORT_LOGINSERVER___451 = 513,
    IPPORT_CMDSERVER___451 = 514,
    IPPORT_EFSSERVER___451 = 520,
    IPPORT_BIFFUDP___451 = 512,
    IPPORT_WHOSERVER___451 = 513,
    IPPORT_ROUTESERVER___451 = 520,
    IPPORT_RESERVED___451 = 1024,
    IPPORT_USERRESERVED___451 = 5000
} ;
enum __anonenum_788308992___451 {
    TCP_ESTABLISHED___451 = 1,
    TCP_SYN_SENT___451 = 2,
    TCP_SYN_RECV___451 = 3,
    TCP_FIN_WAIT1___451 = 4,
    TCP_FIN_WAIT2___451 = 5,
    TCP_TIME_WAIT___451 = 6,
    TCP_CLOSE___451 = 7,
    TCP_CLOSE_WAIT___451 = 8,
    TCP_LAST_ACK___451 = 9,
    TCP_LISTEN___451 = 10,
    TCP_CLOSING___451 = 11
} ;
enum __anonenum_221125648___451 {
    TCP_NO_QUEUE___451 = 0,
    TCP_RECV_QUEUE___451 = 1,
    TCP_SEND_QUEUE___451 = 2,
    TCP_QUEUES_NR___451 = 3
} ;
enum __anonenum_34415463___451 {
    PTHREAD_CREATE_JOINABLE___451 = 0,
    PTHREAD_CREATE_DETACHED___451 = 1
} ;
enum __anonenum_303612439___451 {
    PTHREAD_MUTEX_TIMED_NP___451 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___451 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___451 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___451 = 3,
    PTHREAD_MUTEX_NORMAL___451 = 0,
    PTHREAD_MUTEX_RECURSIVE___451 = 1,
    PTHREAD_MUTEX_ERRORCHECK___451 = 2,
    PTHREAD_MUTEX_DEFAULT___451 = 0,
    PTHREAD_MUTEX_FAST_NP___451 = 0
} ;
enum __anonenum_931900394___451 {
    PTHREAD_MUTEX_STALLED___451 = 0,
    PTHREAD_MUTEX_STALLED_NP___451 = 0,
    PTHREAD_MUTEX_ROBUST___451 = 1,
    PTHREAD_MUTEX_ROBUST_NP___451 = 1
} ;
enum __anonenum_205214487___451 {
    PTHREAD_PRIO_NONE___451 = 0,
    PTHREAD_PRIO_INHERIT___451 = 1,
    PTHREAD_PRIO_PROTECT___451 = 2
} ;
enum __anonenum_25043950___451 {
    PTHREAD_RWLOCK_PREFER_READER_NP___451 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___451 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___451 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___451 = 0
} ;
enum __anonenum_436439511___451 {
    PTHREAD_INHERIT_SCHED___451 = 0,
    PTHREAD_EXPLICIT_SCHED___451 = 1
} ;
enum __anonenum_998661166___451 {
    PTHREAD_SCOPE_SYSTEM___451 = 0,
    PTHREAD_SCOPE_PROCESS___451 = 1
} ;
enum __anonenum_146137331___451 {
    PTHREAD_PROCESS_PRIVATE___451 = 0,
    PTHREAD_PROCESS_SHARED___451 = 1
} ;
enum __anonenum_53396917___451 {
    PTHREAD_CANCEL_ENABLE___451 = 0,
    PTHREAD_CANCEL_DISABLE___451 = 1
} ;
enum __anonenum_904563783___451 {
    PTHREAD_CANCEL_DEFERRED___451 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___451 = 1
} ;
enum __anonenum_672052974___451 {
    SSL_CT_VALIDATION_PERMISSIVE___451 = 0,
    SSL_CT_VALIDATION_STRICT___451 = 1
} ;
struct reg_flag {
   char const   *name ;
   int flag ;
};
enum __anonenum_437032235___452 {
    _PC_LINK_MAX___452 = 0,
    _PC_MAX_CANON___452 = 1,
    _PC_MAX_INPUT___452 = 2,
    _PC_NAME_MAX___452 = 3,
    _PC_PATH_MAX___452 = 4,
    _PC_PIPE_BUF___452 = 5,
    _PC_CHOWN_RESTRICTED___452 = 6,
    _PC_NO_TRUNC___452 = 7,
    _PC_VDISABLE___452 = 8,
    _PC_SYNC_IO___452 = 9,
    _PC_ASYNC_IO___452 = 10,
    _PC_PRIO_IO___452 = 11,
    _PC_SOCK_MAXBUF___452 = 12,
    _PC_FILESIZEBITS___452 = 13,
    _PC_REC_INCR_XFER_SIZE___452 = 14,
    _PC_REC_MAX_XFER_SIZE___452 = 15,
    _PC_REC_MIN_XFER_SIZE___452 = 16,
    _PC_REC_XFER_ALIGN___452 = 17,
    _PC_ALLOC_SIZE_MIN___452 = 18,
    _PC_SYMLINK_MAX___452 = 19,
    _PC_2_SYMLINKS___452 = 20
} ;
enum __anonenum_315186338___452 {
    _SC_ARG_MAX___452 = 0,
    _SC_CHILD_MAX___452 = 1,
    _SC_CLK_TCK___452 = 2,
    _SC_NGROUPS_MAX___452 = 3,
    _SC_OPEN_MAX___452 = 4,
    _SC_STREAM_MAX___452 = 5,
    _SC_TZNAME_MAX___452 = 6,
    _SC_JOB_CONTROL___452 = 7,
    _SC_SAVED_IDS___452 = 8,
    _SC_REALTIME_SIGNALS___452 = 9,
    _SC_PRIORITY_SCHEDULING___452 = 10,
    _SC_TIMERS___452 = 11,
    _SC_ASYNCHRONOUS_IO___452 = 12,
    _SC_PRIORITIZED_IO___452 = 13,
    _SC_SYNCHRONIZED_IO___452 = 14,
    _SC_FSYNC___452 = 15,
    _SC_MAPPED_FILES___452 = 16,
    _SC_MEMLOCK___452 = 17,
    _SC_MEMLOCK_RANGE___452 = 18,
    _SC_MEMORY_PROTECTION___452 = 19,
    _SC_MESSAGE_PASSING___452 = 20,
    _SC_SEMAPHORES___452 = 21,
    _SC_SHARED_MEMORY_OBJECTS___452 = 22,
    _SC_AIO_LISTIO_MAX___452 = 23,
    _SC_AIO_MAX___452 = 24,
    _SC_AIO_PRIO_DELTA_MAX___452 = 25,
    _SC_DELAYTIMER_MAX___452 = 26,
    _SC_MQ_OPEN_MAX___452 = 27,
    _SC_MQ_PRIO_MAX___452 = 28,
    _SC_VERSION___452 = 29,
    _SC_PAGESIZE___452 = 30,
    _SC_RTSIG_MAX___452 = 31,
    _SC_SEM_NSEMS_MAX___452 = 32,
    _SC_SEM_VALUE_MAX___452 = 33,
    _SC_SIGQUEUE_MAX___452 = 34,
    _SC_TIMER_MAX___452 = 35,
    _SC_BC_BASE_MAX___452 = 36,
    _SC_BC_DIM_MAX___452 = 37,
    _SC_BC_SCALE_MAX___452 = 38,
    _SC_BC_STRING_MAX___452 = 39,
    _SC_COLL_WEIGHTS_MAX___452 = 40,
    _SC_EQUIV_CLASS_MAX___452 = 41,
    _SC_EXPR_NEST_MAX___452 = 42,
    _SC_LINE_MAX___452 = 43,
    _SC_RE_DUP_MAX___452 = 44,
    _SC_CHARCLASS_NAME_MAX___452 = 45,
    _SC_2_VERSION___452 = 46,
    _SC_2_C_BIND___452 = 47,
    _SC_2_C_DEV___452 = 48,
    _SC_2_FORT_DEV___452 = 49,
    _SC_2_FORT_RUN___452 = 50,
    _SC_2_SW_DEV___452 = 51,
    _SC_2_LOCALEDEF___452 = 52,
    _SC_PII___452 = 53,
    _SC_PII_XTI___452 = 54,
    _SC_PII_SOCKET___452 = 55,
    _SC_PII_INTERNET___452 = 56,
    _SC_PII_OSI___452 = 57,
    _SC_POLL___452 = 58,
    _SC_SELECT___452 = 59,
    _SC_UIO_MAXIOV___452 = 60,
    _SC_IOV_MAX___452 = 60,
    _SC_PII_INTERNET_STREAM___452 = 61,
    _SC_PII_INTERNET_DGRAM___452 = 62,
    _SC_PII_OSI_COTS___452 = 63,
    _SC_PII_OSI_CLTS___452 = 64,
    _SC_PII_OSI_M___452 = 65,
    _SC_T_IOV_MAX___452 = 66,
    _SC_THREADS___452 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___452 = 68,
    _SC_GETGR_R_SIZE_MAX___452 = 69,
    _SC_GETPW_R_SIZE_MAX___452 = 70,
    _SC_LOGIN_NAME_MAX___452 = 71,
    _SC_TTY_NAME_MAX___452 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___452 = 73,
    _SC_THREAD_KEYS_MAX___452 = 74,
    _SC_THREAD_STACK_MIN___452 = 75,
    _SC_THREAD_THREADS_MAX___452 = 76,
    _SC_THREAD_ATTR_STACKADDR___452 = 77,
    _SC_THREAD_ATTR_STACKSIZE___452 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___452 = 79,
    _SC_THREAD_PRIO_INHERIT___452 = 80,
    _SC_THREAD_PRIO_PROTECT___452 = 81,
    _SC_THREAD_PROCESS_SHARED___452 = 82,
    _SC_NPROCESSORS_CONF___452 = 83,
    _SC_NPROCESSORS_ONLN___452 = 84,
    _SC_PHYS_PAGES___452 = 85,
    _SC_AVPHYS_PAGES___452 = 86,
    _SC_ATEXIT_MAX___452 = 87,
    _SC_PASS_MAX___452 = 88,
    _SC_XOPEN_VERSION___452 = 89,
    _SC_XOPEN_XCU_VERSION___452 = 90,
    _SC_XOPEN_UNIX___452 = 91,
    _SC_XOPEN_CRYPT___452 = 92,
    _SC_XOPEN_ENH_I18N___452 = 93,
    _SC_XOPEN_SHM___452 = 94,
    _SC_2_CHAR_TERM___452 = 95,
    _SC_2_C_VERSION___452 = 96,
    _SC_2_UPE___452 = 97,
    _SC_XOPEN_XPG2___452 = 98,
    _SC_XOPEN_XPG3___452 = 99,
    _SC_XOPEN_XPG4___452 = 100,
    _SC_CHAR_BIT___452 = 101,
    _SC_CHAR_MAX___452 = 102,
    _SC_CHAR_MIN___452 = 103,
    _SC_INT_MAX___452 = 104,
    _SC_INT_MIN___452 = 105,
    _SC_LONG_BIT___452 = 106,
    _SC_WORD_BIT___452 = 107,
    _SC_MB_LEN_MAX___452 = 108,
    _SC_NZERO___452 = 109,
    _SC_SSIZE_MAX___452 = 110,
    _SC_SCHAR_MAX___452 = 111,
    _SC_SCHAR_MIN___452 = 112,
    _SC_SHRT_MAX___452 = 113,
    _SC_SHRT_MIN___452 = 114,
    _SC_UCHAR_MAX___452 = 115,
    _SC_UINT_MAX___452 = 116,
    _SC_ULONG_MAX___452 = 117,
    _SC_USHRT_MAX___452 = 118,
    _SC_NL_ARGMAX___452 = 119,
    _SC_NL_LANGMAX___452 = 120,
    _SC_NL_MSGMAX___452 = 121,
    _SC_NL_NMAX___452 = 122,
    _SC_NL_SETMAX___452 = 123,
    _SC_NL_TEXTMAX___452 = 124,
    _SC_XBS5_ILP32_OFF32___452 = 125,
    _SC_XBS5_ILP32_OFFBIG___452 = 126,
    _SC_XBS5_LP64_OFF64___452 = 127,
    _SC_XBS5_LPBIG_OFFBIG___452 = 128,
    _SC_XOPEN_LEGACY___452 = 129,
    _SC_XOPEN_REALTIME___452 = 130,
    _SC_XOPEN_REALTIME_THREADS___452 = 131,
    _SC_ADVISORY_INFO___452 = 132,
    _SC_BARRIERS___452 = 133,
    _SC_BASE___452 = 134,
    _SC_C_LANG_SUPPORT___452 = 135,
    _SC_C_LANG_SUPPORT_R___452 = 136,
    _SC_CLOCK_SELECTION___452 = 137,
    _SC_CPUTIME___452 = 138,
    _SC_THREAD_CPUTIME___452 = 139,
    _SC_DEVICE_IO___452 = 140,
    _SC_DEVICE_SPECIFIC___452 = 141,
    _SC_DEVICE_SPECIFIC_R___452 = 142,
    _SC_FD_MGMT___452 = 143,
    _SC_FIFO___452 = 144,
    _SC_PIPE___452 = 145,
    _SC_FILE_ATTRIBUTES___452 = 146,
    _SC_FILE_LOCKING___452 = 147,
    _SC_FILE_SYSTEM___452 = 148,
    _SC_MONOTONIC_CLOCK___452 = 149,
    _SC_MULTI_PROCESS___452 = 150,
    _SC_SINGLE_PROCESS___452 = 151,
    _SC_NETWORKING___452 = 152,
    _SC_READER_WRITER_LOCKS___452 = 153,
    _SC_SPIN_LOCKS___452 = 154,
    _SC_REGEXP___452 = 155,
    _SC_REGEX_VERSION___452 = 156,
    _SC_SHELL___452 = 157,
    _SC_SIGNALS___452 = 158,
    _SC_SPAWN___452 = 159,
    _SC_SPORADIC_SERVER___452 = 160,
    _SC_THREAD_SPORADIC_SERVER___452 = 161,
    _SC_SYSTEM_DATABASE___452 = 162,
    _SC_SYSTEM_DATABASE_R___452 = 163,
    _SC_TIMEOUTS___452 = 164,
    _SC_TYPED_MEMORY_OBJECTS___452 = 165,
    _SC_USER_GROUPS___452 = 166,
    _SC_USER_GROUPS_R___452 = 167,
    _SC_2_PBS___452 = 168,
    _SC_2_PBS_ACCOUNTING___452 = 169,
    _SC_2_PBS_LOCATE___452 = 170,
    _SC_2_PBS_MESSAGE___452 = 171,
    _SC_2_PBS_TRACK___452 = 172,
    _SC_SYMLOOP_MAX___452 = 173,
    _SC_STREAMS___452 = 174,
    _SC_2_PBS_CHECKPOINT___452 = 175,
    _SC_V6_ILP32_OFF32___452 = 176,
    _SC_V6_ILP32_OFFBIG___452 = 177,
    _SC_V6_LP64_OFF64___452 = 178,
    _SC_V6_LPBIG_OFFBIG___452 = 179,
    _SC_HOST_NAME_MAX___452 = 180,
    _SC_TRACE___452 = 181,
    _SC_TRACE_EVENT_FILTER___452 = 182,
    _SC_TRACE_INHERIT___452 = 183,
    _SC_TRACE_LOG___452 = 184,
    _SC_LEVEL1_ICACHE_SIZE___452 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___452 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___452 = 187,
    _SC_LEVEL1_DCACHE_SIZE___452 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___452 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___452 = 190,
    _SC_LEVEL2_CACHE_SIZE___452 = 191,
    _SC_LEVEL2_CACHE_ASSOC___452 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___452 = 193,
    _SC_LEVEL3_CACHE_SIZE___452 = 194,
    _SC_LEVEL3_CACHE_ASSOC___452 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___452 = 196,
    _SC_LEVEL4_CACHE_SIZE___452 = 197,
    _SC_LEVEL4_CACHE_ASSOC___452 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___452 = 199,
    _SC_IPV6___452 = 235,
    _SC_RAW_SOCKETS___452 = 236,
    _SC_V7_ILP32_OFF32___452 = 237,
    _SC_V7_ILP32_OFFBIG___452 = 238,
    _SC_V7_LP64_OFF64___452 = 239,
    _SC_V7_LPBIG_OFFBIG___452 = 240,
    _SC_SS_REPL_MAX___452 = 241,
    _SC_TRACE_EVENT_NAME_MAX___452 = 242,
    _SC_TRACE_NAME_MAX___452 = 243,
    _SC_TRACE_SYS_MAX___452 = 244,
    _SC_TRACE_USER_EVENT_MAX___452 = 245,
    _SC_XOPEN_STREAMS___452 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___452 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___452 = 248
} ;
enum __anonenum_875524036___452 {
    _CS_PATH___452 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___452 = 1,
    _CS_GNU_LIBC_VERSION___452 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___452 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___452 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___452 = 5,
    _CS_LFS_CFLAGS___452 = 1000,
    _CS_LFS_LDFLAGS___452 = 1001,
    _CS_LFS_LIBS___452 = 1002,
    _CS_LFS_LINTFLAGS___452 = 1003,
    _CS_LFS64_CFLAGS___452 = 1004,
    _CS_LFS64_LDFLAGS___452 = 1005,
    _CS_LFS64_LIBS___452 = 1006,
    _CS_LFS64_LINTFLAGS___452 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___452 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___452 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___452 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___452 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___452 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___452 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___452 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___452 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___452 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___452 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___452 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___452 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___452 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___452 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___452 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___452 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___452 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___452 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___452 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___452 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___452 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___452 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___452 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___452 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___452 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___452 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___452 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___452 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___452 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___452 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___452 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___452 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___452 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___452 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___452 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___452 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___452 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___452 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___452 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___452 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___452 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___452 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___452 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___452 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___452 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___452 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___452 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___452 = 1147,
    _CS_V6_ENV___452 = 1148,
    _CS_V7_ENV___452 = 1149
} ;
enum __anonenum_513775621___452 {
    DT_UNKNOWN___452 = 0,
    DT_FIFO___452 = 1,
    DT_CHR___452 = 2,
    DT_DIR___452 = 4,
    DT_BLK___452 = 6,
    DT_REG___452 = 8,
    DT_LNK___452 = 10,
    DT_SOCK___452 = 12,
    DT_WHT___452 = 14
} ;
enum __anonenum_77002343___452 {
    SI_ASYNCNL___452 = -60,
    SI_TKILL___452 = -6,
    SI_SIGIO___452 = -5,
    SI_ASYNCIO___452 = -4,
    SI_MESGQ___452 = -3,
    SI_TIMER___452 = -2,
    SI_QUEUE___452 = -1,
    SI_USER___452 = 0,
    SI_KERNEL___452 = 128
} ;
enum __anonenum_131038172___452 {
    ILL_ILLOPC___452 = 1,
    ILL_ILLOPN___452 = 2,
    ILL_ILLADR___452 = 3,
    ILL_ILLTRP___452 = 4,
    ILL_PRVOPC___452 = 5,
    ILL_PRVREG___452 = 6,
    ILL_COPROC___452 = 7,
    ILL_BADSTK___452 = 8
} ;
enum __anonenum_452038093___452 {
    FPE_INTDIV___452 = 1,
    FPE_INTOVF___452 = 2,
    FPE_FLTDIV___452 = 3,
    FPE_FLTOVF___452 = 4,
    FPE_FLTUND___452 = 5,
    FPE_FLTRES___452 = 6,
    FPE_FLTINV___452 = 7,
    FPE_FLTSUB___452 = 8
} ;
enum __anonenum_30976155___452 {
    SEGV_MAPERR___452 = 1,
    SEGV_ACCERR___452 = 2,
    SEGV_BNDERR___452 = 3,
    SEGV_PKUERR___452 = 4
} ;
enum __anonenum_1036286214___452 {
    BUS_ADRALN___452 = 1,
    BUS_ADRERR___452 = 2,
    BUS_OBJERR___452 = 3,
    BUS_MCEERR_AR___452 = 4,
    BUS_MCEERR_AO___452 = 5
} ;
enum __anonenum_493465559___452 {
    TRAP_BRKPT___452 = 1,
    TRAP_TRACE___452 = 2
} ;
enum __anonenum_23175539___452 {
    CLD_EXITED___452 = 1,
    CLD_KILLED___452 = 2,
    CLD_DUMPED___452 = 3,
    CLD_TRAPPED___452 = 4,
    CLD_STOPPED___452 = 5,
    CLD_CONTINUED___452 = 6
} ;
enum __anonenum_111643124___452 {
    POLL_IN___452 = 1,
    POLL_OUT___452 = 2,
    POLL_MSG___452 = 3,
    POLL_ERR___452 = 4,
    POLL_PRI___452 = 5,
    POLL_HUP___452 = 6
} ;
enum __anonenum_852341087___452 {
    SIGEV_SIGNAL___452 = 0,
    SIGEV_NONE___452 = 1,
    SIGEV_THREAD___452 = 2,
    SIGEV_THREAD_ID___452 = 4
} ;
enum __anonenum_451154152___452 {
    REG_R8___452 = 0,
    REG_R9___452 = 1,
    REG_R10___452 = 2,
    REG_R11___452 = 3,
    REG_R12___452 = 4,
    REG_R13___452 = 5,
    REG_R14___452 = 6,
    REG_R15___452 = 7,
    REG_RDI___452 = 8,
    REG_RSI___452 = 9,
    REG_RBP___452 = 10,
    REG_RBX___452 = 11,
    REG_RDX___452 = 12,
    REG_RAX___452 = 13,
    REG_RCX___452 = 14,
    REG_RSP___452 = 15,
    REG_RIP___452 = 16,
    REG_EFL___452 = 17,
    REG_CSGSFS___452 = 18,
    REG_ERR___452 = 19,
    REG_TRAPNO___452 = 20,
    REG_OLDMASK___452 = 21,
    REG_CR2___452 = 22
} ;
enum __anonenum_57186863___452 {
    SS_ONSTACK___452 = 1,
    SS_DISABLE___452 = 2
} ;
enum __anonenum_83571709___452 {
    MSG_OOB___452 = 1,
    MSG_PEEK___452 = 2,
    MSG_DONTROUTE___452 = 4,
    MSG_TRYHARD___452 = 4,
    MSG_CTRUNC___452 = 8,
    MSG_PROXY___452 = 16,
    MSG_TRUNC___452 = 32,
    MSG_DONTWAIT___452 = 64,
    MSG_EOR___452 = 128,
    MSG_WAITALL___452 = 256,
    MSG_FIN___452 = 512,
    MSG_SYN___452 = 1024,
    MSG_CONFIRM___452 = 2048,
    MSG_RST___452 = 4096,
    MSG_ERRQUEUE___452 = 8192,
    MSG_NOSIGNAL___452 = 16384,
    MSG_MORE___452 = 32768,
    MSG_WAITFORONE___452 = 65536,
    MSG_BATCH___452 = 262144,
    MSG_ZEROCOPY___452 = 67108864,
    MSG_FASTOPEN___452 = 536870912,
    MSG_CMSG_CLOEXEC___452 = 1073741824
} ;
enum __anonenum_617082774___452 {
    SCM_RIGHTS___452 = 1,
    SCM_CREDENTIALS___452 = 2
} ;
enum __anonenum_606441560___452 {
    SHUT_RD___452 = 0,
    SHUT_WR___452 = 1,
    SHUT_RDWR___452 = 2
} ;
enum __anonenum_681669233___452 {
    IPPROTO_IP___452 = 0,
    IPPROTO_ICMP___452 = 1,
    IPPROTO_IGMP___452 = 2,
    IPPROTO_IPIP___452 = 4,
    IPPROTO_TCP___452 = 6,
    IPPROTO_EGP___452 = 8,
    IPPROTO_PUP___452 = 12,
    IPPROTO_UDP___452 = 17,
    IPPROTO_IDP___452 = 22,
    IPPROTO_TP___452 = 29,
    IPPROTO_DCCP___452 = 33,
    IPPROTO_IPV6___452 = 41,
    IPPROTO_RSVP___452 = 46,
    IPPROTO_GRE___452 = 47,
    IPPROTO_ESP___452 = 50,
    IPPROTO_AH___452 = 51,
    IPPROTO_MTP___452 = 92,
    IPPROTO_BEETPH___452 = 94,
    IPPROTO_ENCAP___452 = 98,
    IPPROTO_PIM___452 = 103,
    IPPROTO_COMP___452 = 108,
    IPPROTO_SCTP___452 = 132,
    IPPROTO_UDPLITE___452 = 136,
    IPPROTO_MPLS___452 = 137,
    IPPROTO_RAW___452 = 255,
    IPPROTO_MAX___452 = 256
} ;
enum __anonenum_218739988___452 {
    IPPROTO_HOPOPTS___452 = 0,
    IPPROTO_ROUTING___452 = 43,
    IPPROTO_FRAGMENT___452 = 44,
    IPPROTO_ICMPV6___452 = 58,
    IPPROTO_NONE___452 = 59,
    IPPROTO_DSTOPTS___452 = 60,
    IPPROTO_MH___452 = 135
} ;
enum __anonenum_662268580___452 {
    IPPORT_ECHO___452 = 7,
    IPPORT_DISCARD___452 = 9,
    IPPORT_SYSTAT___452 = 11,
    IPPORT_DAYTIME___452 = 13,
    IPPORT_NETSTAT___452 = 15,
    IPPORT_FTP___452 = 21,
    IPPORT_TELNET___452 = 23,
    IPPORT_SMTP___452 = 25,
    IPPORT_TIMESERVER___452 = 37,
    IPPORT_NAMESERVER___452 = 42,
    IPPORT_WHOIS___452 = 43,
    IPPORT_MTP___452 = 57,
    IPPORT_TFTP___452 = 69,
    IPPORT_RJE___452 = 77,
    IPPORT_FINGER___452 = 79,
    IPPORT_TTYLINK___452 = 87,
    IPPORT_SUPDUP___452 = 95,
    IPPORT_EXECSERVER___452 = 512,
    IPPORT_LOGINSERVER___452 = 513,
    IPPORT_CMDSERVER___452 = 514,
    IPPORT_EFSSERVER___452 = 520,
    IPPORT_BIFFUDP___452 = 512,
    IPPORT_WHOSERVER___452 = 513,
    IPPORT_ROUTESERVER___452 = 520,
    IPPORT_RESERVED___452 = 1024,
    IPPORT_USERRESERVED___452 = 5000
} ;
enum __anonenum_788308992___452 {
    TCP_ESTABLISHED___452 = 1,
    TCP_SYN_SENT___452 = 2,
    TCP_SYN_RECV___452 = 3,
    TCP_FIN_WAIT1___452 = 4,
    TCP_FIN_WAIT2___452 = 5,
    TCP_TIME_WAIT___452 = 6,
    TCP_CLOSE___452 = 7,
    TCP_CLOSE_WAIT___452 = 8,
    TCP_LAST_ACK___452 = 9,
    TCP_LISTEN___452 = 10,
    TCP_CLOSING___452 = 11
} ;
enum __anonenum_221125648___452 {
    TCP_NO_QUEUE___452 = 0,
    TCP_RECV_QUEUE___452 = 1,
    TCP_SEND_QUEUE___452 = 2,
    TCP_QUEUES_NR___452 = 3
} ;
enum __anonenum_34415463___452 {
    PTHREAD_CREATE_JOINABLE___452 = 0,
    PTHREAD_CREATE_DETACHED___452 = 1
} ;
enum __anonenum_303612439___452 {
    PTHREAD_MUTEX_TIMED_NP___452 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___452 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___452 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___452 = 3,
    PTHREAD_MUTEX_NORMAL___452 = 0,
    PTHREAD_MUTEX_RECURSIVE___452 = 1,
    PTHREAD_MUTEX_ERRORCHECK___452 = 2,
    PTHREAD_MUTEX_DEFAULT___452 = 0,
    PTHREAD_MUTEX_FAST_NP___452 = 0
} ;
enum __anonenum_931900394___452 {
    PTHREAD_MUTEX_STALLED___452 = 0,
    PTHREAD_MUTEX_STALLED_NP___452 = 0,
    PTHREAD_MUTEX_ROBUST___452 = 1,
    PTHREAD_MUTEX_ROBUST_NP___452 = 1
} ;
enum __anonenum_205214487___452 {
    PTHREAD_PRIO_NONE___452 = 0,
    PTHREAD_PRIO_INHERIT___452 = 1,
    PTHREAD_PRIO_PROTECT___452 = 2
} ;
enum __anonenum_25043950___452 {
    PTHREAD_RWLOCK_PREFER_READER_NP___452 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___452 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___452 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___452 = 0
} ;
enum __anonenum_436439511___452 {
    PTHREAD_INHERIT_SCHED___452 = 0,
    PTHREAD_EXPLICIT_SCHED___452 = 1
} ;
enum __anonenum_998661166___452 {
    PTHREAD_SCOPE_SYSTEM___452 = 0,
    PTHREAD_SCOPE_PROCESS___452 = 1
} ;
enum __anonenum_146137331___452 {
    PTHREAD_PROCESS_PRIVATE___452 = 0,
    PTHREAD_PROCESS_SHARED___452 = 1
} ;
enum __anonenum_53396917___452 {
    PTHREAD_CANCEL_ENABLE___452 = 0,
    PTHREAD_CANCEL_DISABLE___452 = 1
} ;
enum __anonenum_904563783___452 {
    PTHREAD_CANCEL_DEFERRED___452 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___452 = 1
} ;
enum __anonenum_672052974___452 {
    SSL_CT_VALIDATION_PERMISSIVE___452 = 0,
    SSL_CT_VALIDATION_STRICT___452 = 1
} ;
enum __anonenum_437032235___453 {
    _PC_LINK_MAX___453 = 0,
    _PC_MAX_CANON___453 = 1,
    _PC_MAX_INPUT___453 = 2,
    _PC_NAME_MAX___453 = 3,
    _PC_PATH_MAX___453 = 4,
    _PC_PIPE_BUF___453 = 5,
    _PC_CHOWN_RESTRICTED___453 = 6,
    _PC_NO_TRUNC___453 = 7,
    _PC_VDISABLE___453 = 8,
    _PC_SYNC_IO___453 = 9,
    _PC_ASYNC_IO___453 = 10,
    _PC_PRIO_IO___453 = 11,
    _PC_SOCK_MAXBUF___453 = 12,
    _PC_FILESIZEBITS___453 = 13,
    _PC_REC_INCR_XFER_SIZE___453 = 14,
    _PC_REC_MAX_XFER_SIZE___453 = 15,
    _PC_REC_MIN_XFER_SIZE___453 = 16,
    _PC_REC_XFER_ALIGN___453 = 17,
    _PC_ALLOC_SIZE_MIN___453 = 18,
    _PC_SYMLINK_MAX___453 = 19,
    _PC_2_SYMLINKS___453 = 20
} ;
enum __anonenum_315186338___453 {
    _SC_ARG_MAX___453 = 0,
    _SC_CHILD_MAX___453 = 1,
    _SC_CLK_TCK___453 = 2,
    _SC_NGROUPS_MAX___453 = 3,
    _SC_OPEN_MAX___453 = 4,
    _SC_STREAM_MAX___453 = 5,
    _SC_TZNAME_MAX___453 = 6,
    _SC_JOB_CONTROL___453 = 7,
    _SC_SAVED_IDS___453 = 8,
    _SC_REALTIME_SIGNALS___453 = 9,
    _SC_PRIORITY_SCHEDULING___453 = 10,
    _SC_TIMERS___453 = 11,
    _SC_ASYNCHRONOUS_IO___453 = 12,
    _SC_PRIORITIZED_IO___453 = 13,
    _SC_SYNCHRONIZED_IO___453 = 14,
    _SC_FSYNC___453 = 15,
    _SC_MAPPED_FILES___453 = 16,
    _SC_MEMLOCK___453 = 17,
    _SC_MEMLOCK_RANGE___453 = 18,
    _SC_MEMORY_PROTECTION___453 = 19,
    _SC_MESSAGE_PASSING___453 = 20,
    _SC_SEMAPHORES___453 = 21,
    _SC_SHARED_MEMORY_OBJECTS___453 = 22,
    _SC_AIO_LISTIO_MAX___453 = 23,
    _SC_AIO_MAX___453 = 24,
    _SC_AIO_PRIO_DELTA_MAX___453 = 25,
    _SC_DELAYTIMER_MAX___453 = 26,
    _SC_MQ_OPEN_MAX___453 = 27,
    _SC_MQ_PRIO_MAX___453 = 28,
    _SC_VERSION___453 = 29,
    _SC_PAGESIZE___453 = 30,
    _SC_RTSIG_MAX___453 = 31,
    _SC_SEM_NSEMS_MAX___453 = 32,
    _SC_SEM_VALUE_MAX___453 = 33,
    _SC_SIGQUEUE_MAX___453 = 34,
    _SC_TIMER_MAX___453 = 35,
    _SC_BC_BASE_MAX___453 = 36,
    _SC_BC_DIM_MAX___453 = 37,
    _SC_BC_SCALE_MAX___453 = 38,
    _SC_BC_STRING_MAX___453 = 39,
    _SC_COLL_WEIGHTS_MAX___453 = 40,
    _SC_EQUIV_CLASS_MAX___453 = 41,
    _SC_EXPR_NEST_MAX___453 = 42,
    _SC_LINE_MAX___453 = 43,
    _SC_RE_DUP_MAX___453 = 44,
    _SC_CHARCLASS_NAME_MAX___453 = 45,
    _SC_2_VERSION___453 = 46,
    _SC_2_C_BIND___453 = 47,
    _SC_2_C_DEV___453 = 48,
    _SC_2_FORT_DEV___453 = 49,
    _SC_2_FORT_RUN___453 = 50,
    _SC_2_SW_DEV___453 = 51,
    _SC_2_LOCALEDEF___453 = 52,
    _SC_PII___453 = 53,
    _SC_PII_XTI___453 = 54,
    _SC_PII_SOCKET___453 = 55,
    _SC_PII_INTERNET___453 = 56,
    _SC_PII_OSI___453 = 57,
    _SC_POLL___453 = 58,
    _SC_SELECT___453 = 59,
    _SC_UIO_MAXIOV___453 = 60,
    _SC_IOV_MAX___453 = 60,
    _SC_PII_INTERNET_STREAM___453 = 61,
    _SC_PII_INTERNET_DGRAM___453 = 62,
    _SC_PII_OSI_COTS___453 = 63,
    _SC_PII_OSI_CLTS___453 = 64,
    _SC_PII_OSI_M___453 = 65,
    _SC_T_IOV_MAX___453 = 66,
    _SC_THREADS___453 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___453 = 68,
    _SC_GETGR_R_SIZE_MAX___453 = 69,
    _SC_GETPW_R_SIZE_MAX___453 = 70,
    _SC_LOGIN_NAME_MAX___453 = 71,
    _SC_TTY_NAME_MAX___453 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___453 = 73,
    _SC_THREAD_KEYS_MAX___453 = 74,
    _SC_THREAD_STACK_MIN___453 = 75,
    _SC_THREAD_THREADS_MAX___453 = 76,
    _SC_THREAD_ATTR_STACKADDR___453 = 77,
    _SC_THREAD_ATTR_STACKSIZE___453 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___453 = 79,
    _SC_THREAD_PRIO_INHERIT___453 = 80,
    _SC_THREAD_PRIO_PROTECT___453 = 81,
    _SC_THREAD_PROCESS_SHARED___453 = 82,
    _SC_NPROCESSORS_CONF___453 = 83,
    _SC_NPROCESSORS_ONLN___453 = 84,
    _SC_PHYS_PAGES___453 = 85,
    _SC_AVPHYS_PAGES___453 = 86,
    _SC_ATEXIT_MAX___453 = 87,
    _SC_PASS_MAX___453 = 88,
    _SC_XOPEN_VERSION___453 = 89,
    _SC_XOPEN_XCU_VERSION___453 = 90,
    _SC_XOPEN_UNIX___453 = 91,
    _SC_XOPEN_CRYPT___453 = 92,
    _SC_XOPEN_ENH_I18N___453 = 93,
    _SC_XOPEN_SHM___453 = 94,
    _SC_2_CHAR_TERM___453 = 95,
    _SC_2_C_VERSION___453 = 96,
    _SC_2_UPE___453 = 97,
    _SC_XOPEN_XPG2___453 = 98,
    _SC_XOPEN_XPG3___453 = 99,
    _SC_XOPEN_XPG4___453 = 100,
    _SC_CHAR_BIT___453 = 101,
    _SC_CHAR_MAX___453 = 102,
    _SC_CHAR_MIN___453 = 103,
    _SC_INT_MAX___453 = 104,
    _SC_INT_MIN___453 = 105,
    _SC_LONG_BIT___453 = 106,
    _SC_WORD_BIT___453 = 107,
    _SC_MB_LEN_MAX___453 = 108,
    _SC_NZERO___453 = 109,
    _SC_SSIZE_MAX___453 = 110,
    _SC_SCHAR_MAX___453 = 111,
    _SC_SCHAR_MIN___453 = 112,
    _SC_SHRT_MAX___453 = 113,
    _SC_SHRT_MIN___453 = 114,
    _SC_UCHAR_MAX___453 = 115,
    _SC_UINT_MAX___453 = 116,
    _SC_ULONG_MAX___453 = 117,
    _SC_USHRT_MAX___453 = 118,
    _SC_NL_ARGMAX___453 = 119,
    _SC_NL_LANGMAX___453 = 120,
    _SC_NL_MSGMAX___453 = 121,
    _SC_NL_NMAX___453 = 122,
    _SC_NL_SETMAX___453 = 123,
    _SC_NL_TEXTMAX___453 = 124,
    _SC_XBS5_ILP32_OFF32___453 = 125,
    _SC_XBS5_ILP32_OFFBIG___453 = 126,
    _SC_XBS5_LP64_OFF64___453 = 127,
    _SC_XBS5_LPBIG_OFFBIG___453 = 128,
    _SC_XOPEN_LEGACY___453 = 129,
    _SC_XOPEN_REALTIME___453 = 130,
    _SC_XOPEN_REALTIME_THREADS___453 = 131,
    _SC_ADVISORY_INFO___453 = 132,
    _SC_BARRIERS___453 = 133,
    _SC_BASE___453 = 134,
    _SC_C_LANG_SUPPORT___453 = 135,
    _SC_C_LANG_SUPPORT_R___453 = 136,
    _SC_CLOCK_SELECTION___453 = 137,
    _SC_CPUTIME___453 = 138,
    _SC_THREAD_CPUTIME___453 = 139,
    _SC_DEVICE_IO___453 = 140,
    _SC_DEVICE_SPECIFIC___453 = 141,
    _SC_DEVICE_SPECIFIC_R___453 = 142,
    _SC_FD_MGMT___453 = 143,
    _SC_FIFO___453 = 144,
    _SC_PIPE___453 = 145,
    _SC_FILE_ATTRIBUTES___453 = 146,
    _SC_FILE_LOCKING___453 = 147,
    _SC_FILE_SYSTEM___453 = 148,
    _SC_MONOTONIC_CLOCK___453 = 149,
    _SC_MULTI_PROCESS___453 = 150,
    _SC_SINGLE_PROCESS___453 = 151,
    _SC_NETWORKING___453 = 152,
    _SC_READER_WRITER_LOCKS___453 = 153,
    _SC_SPIN_LOCKS___453 = 154,
    _SC_REGEXP___453 = 155,
    _SC_REGEX_VERSION___453 = 156,
    _SC_SHELL___453 = 157,
    _SC_SIGNALS___453 = 158,
    _SC_SPAWN___453 = 159,
    _SC_SPORADIC_SERVER___453 = 160,
    _SC_THREAD_SPORADIC_SERVER___453 = 161,
    _SC_SYSTEM_DATABASE___453 = 162,
    _SC_SYSTEM_DATABASE_R___453 = 163,
    _SC_TIMEOUTS___453 = 164,
    _SC_TYPED_MEMORY_OBJECTS___453 = 165,
    _SC_USER_GROUPS___453 = 166,
    _SC_USER_GROUPS_R___453 = 167,
    _SC_2_PBS___453 = 168,
    _SC_2_PBS_ACCOUNTING___453 = 169,
    _SC_2_PBS_LOCATE___453 = 170,
    _SC_2_PBS_MESSAGE___453 = 171,
    _SC_2_PBS_TRACK___453 = 172,
    _SC_SYMLOOP_MAX___453 = 173,
    _SC_STREAMS___453 = 174,
    _SC_2_PBS_CHECKPOINT___453 = 175,
    _SC_V6_ILP32_OFF32___453 = 176,
    _SC_V6_ILP32_OFFBIG___453 = 177,
    _SC_V6_LP64_OFF64___453 = 178,
    _SC_V6_LPBIG_OFFBIG___453 = 179,
    _SC_HOST_NAME_MAX___453 = 180,
    _SC_TRACE___453 = 181,
    _SC_TRACE_EVENT_FILTER___453 = 182,
    _SC_TRACE_INHERIT___453 = 183,
    _SC_TRACE_LOG___453 = 184,
    _SC_LEVEL1_ICACHE_SIZE___453 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___453 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___453 = 187,
    _SC_LEVEL1_DCACHE_SIZE___453 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___453 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___453 = 190,
    _SC_LEVEL2_CACHE_SIZE___453 = 191,
    _SC_LEVEL2_CACHE_ASSOC___453 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___453 = 193,
    _SC_LEVEL3_CACHE_SIZE___453 = 194,
    _SC_LEVEL3_CACHE_ASSOC___453 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___453 = 196,
    _SC_LEVEL4_CACHE_SIZE___453 = 197,
    _SC_LEVEL4_CACHE_ASSOC___453 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___453 = 199,
    _SC_IPV6___453 = 235,
    _SC_RAW_SOCKETS___453 = 236,
    _SC_V7_ILP32_OFF32___453 = 237,
    _SC_V7_ILP32_OFFBIG___453 = 238,
    _SC_V7_LP64_OFF64___453 = 239,
    _SC_V7_LPBIG_OFFBIG___453 = 240,
    _SC_SS_REPL_MAX___453 = 241,
    _SC_TRACE_EVENT_NAME_MAX___453 = 242,
    _SC_TRACE_NAME_MAX___453 = 243,
    _SC_TRACE_SYS_MAX___453 = 244,
    _SC_TRACE_USER_EVENT_MAX___453 = 245,
    _SC_XOPEN_STREAMS___453 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___453 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___453 = 248
} ;
enum __anonenum_875524036___453 {
    _CS_PATH___453 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___453 = 1,
    _CS_GNU_LIBC_VERSION___453 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___453 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___453 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___453 = 5,
    _CS_LFS_CFLAGS___453 = 1000,
    _CS_LFS_LDFLAGS___453 = 1001,
    _CS_LFS_LIBS___453 = 1002,
    _CS_LFS_LINTFLAGS___453 = 1003,
    _CS_LFS64_CFLAGS___453 = 1004,
    _CS_LFS64_LDFLAGS___453 = 1005,
    _CS_LFS64_LIBS___453 = 1006,
    _CS_LFS64_LINTFLAGS___453 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___453 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___453 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___453 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___453 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___453 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___453 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___453 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___453 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___453 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___453 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___453 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___453 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___453 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___453 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___453 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___453 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___453 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___453 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___453 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___453 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___453 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___453 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___453 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___453 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___453 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___453 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___453 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___453 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___453 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___453 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___453 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___453 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___453 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___453 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___453 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___453 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___453 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___453 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___453 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___453 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___453 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___453 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___453 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___453 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___453 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___453 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___453 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___453 = 1147,
    _CS_V6_ENV___453 = 1148,
    _CS_V7_ENV___453 = 1149
} ;
enum __anonenum_513775621___453 {
    DT_UNKNOWN___453 = 0,
    DT_FIFO___453 = 1,
    DT_CHR___453 = 2,
    DT_DIR___453 = 4,
    DT_BLK___453 = 6,
    DT_REG___453 = 8,
    DT_LNK___453 = 10,
    DT_SOCK___453 = 12,
    DT_WHT___453 = 14
} ;
enum __anonenum_77002343___453 {
    SI_ASYNCNL___453 = -60,
    SI_TKILL___453 = -6,
    SI_SIGIO___453 = -5,
    SI_ASYNCIO___453 = -4,
    SI_MESGQ___453 = -3,
    SI_TIMER___453 = -2,
    SI_QUEUE___453 = -1,
    SI_USER___453 = 0,
    SI_KERNEL___453 = 128
} ;
enum __anonenum_131038172___453 {
    ILL_ILLOPC___453 = 1,
    ILL_ILLOPN___453 = 2,
    ILL_ILLADR___453 = 3,
    ILL_ILLTRP___453 = 4,
    ILL_PRVOPC___453 = 5,
    ILL_PRVREG___453 = 6,
    ILL_COPROC___453 = 7,
    ILL_BADSTK___453 = 8
} ;
enum __anonenum_452038093___453 {
    FPE_INTDIV___453 = 1,
    FPE_INTOVF___453 = 2,
    FPE_FLTDIV___453 = 3,
    FPE_FLTOVF___453 = 4,
    FPE_FLTUND___453 = 5,
    FPE_FLTRES___453 = 6,
    FPE_FLTINV___453 = 7,
    FPE_FLTSUB___453 = 8
} ;
enum __anonenum_30976155___453 {
    SEGV_MAPERR___453 = 1,
    SEGV_ACCERR___453 = 2,
    SEGV_BNDERR___453 = 3,
    SEGV_PKUERR___453 = 4
} ;
enum __anonenum_1036286214___453 {
    BUS_ADRALN___453 = 1,
    BUS_ADRERR___453 = 2,
    BUS_OBJERR___453 = 3,
    BUS_MCEERR_AR___453 = 4,
    BUS_MCEERR_AO___453 = 5
} ;
enum __anonenum_493465559___453 {
    TRAP_BRKPT___453 = 1,
    TRAP_TRACE___453 = 2
} ;
enum __anonenum_23175539___453 {
    CLD_EXITED___453 = 1,
    CLD_KILLED___453 = 2,
    CLD_DUMPED___453 = 3,
    CLD_TRAPPED___453 = 4,
    CLD_STOPPED___453 = 5,
    CLD_CONTINUED___453 = 6
} ;
enum __anonenum_111643124___453 {
    POLL_IN___453 = 1,
    POLL_OUT___453 = 2,
    POLL_MSG___453 = 3,
    POLL_ERR___453 = 4,
    POLL_PRI___453 = 5,
    POLL_HUP___453 = 6
} ;
enum __anonenum_852341087___453 {
    SIGEV_SIGNAL___453 = 0,
    SIGEV_NONE___453 = 1,
    SIGEV_THREAD___453 = 2,
    SIGEV_THREAD_ID___453 = 4
} ;
enum __anonenum_451154152___453 {
    REG_R8___453 = 0,
    REG_R9___453 = 1,
    REG_R10___453 = 2,
    REG_R11___453 = 3,
    REG_R12___453 = 4,
    REG_R13___453 = 5,
    REG_R14___453 = 6,
    REG_R15___453 = 7,
    REG_RDI___453 = 8,
    REG_RSI___453 = 9,
    REG_RBP___453 = 10,
    REG_RBX___453 = 11,
    REG_RDX___453 = 12,
    REG_RAX___453 = 13,
    REG_RCX___453 = 14,
    REG_RSP___453 = 15,
    REG_RIP___453 = 16,
    REG_EFL___453 = 17,
    REG_CSGSFS___453 = 18,
    REG_ERR___453 = 19,
    REG_TRAPNO___453 = 20,
    REG_OLDMASK___453 = 21,
    REG_CR2___453 = 22
} ;
enum __anonenum_57186863___453 {
    SS_ONSTACK___453 = 1,
    SS_DISABLE___453 = 2
} ;
enum __anonenum_83571709___453 {
    MSG_OOB___453 = 1,
    MSG_PEEK___453 = 2,
    MSG_DONTROUTE___453 = 4,
    MSG_TRYHARD___453 = 4,
    MSG_CTRUNC___453 = 8,
    MSG_PROXY___453 = 16,
    MSG_TRUNC___453 = 32,
    MSG_DONTWAIT___453 = 64,
    MSG_EOR___453 = 128,
    MSG_WAITALL___453 = 256,
    MSG_FIN___453 = 512,
    MSG_SYN___453 = 1024,
    MSG_CONFIRM___453 = 2048,
    MSG_RST___453 = 4096,
    MSG_ERRQUEUE___453 = 8192,
    MSG_NOSIGNAL___453 = 16384,
    MSG_MORE___453 = 32768,
    MSG_WAITFORONE___453 = 65536,
    MSG_BATCH___453 = 262144,
    MSG_ZEROCOPY___453 = 67108864,
    MSG_FASTOPEN___453 = 536870912,
    MSG_CMSG_CLOEXEC___453 = 1073741824
} ;
enum __anonenum_617082774___453 {
    SCM_RIGHTS___453 = 1,
    SCM_CREDENTIALS___453 = 2
} ;
enum __anonenum_606441560___453 {
    SHUT_RD___453 = 0,
    SHUT_WR___453 = 1,
    SHUT_RDWR___453 = 2
} ;
enum __anonenum_681669233___453 {
    IPPROTO_IP___453 = 0,
    IPPROTO_ICMP___453 = 1,
    IPPROTO_IGMP___453 = 2,
    IPPROTO_IPIP___453 = 4,
    IPPROTO_TCP___453 = 6,
    IPPROTO_EGP___453 = 8,
    IPPROTO_PUP___453 = 12,
    IPPROTO_UDP___453 = 17,
    IPPROTO_IDP___453 = 22,
    IPPROTO_TP___453 = 29,
    IPPROTO_DCCP___453 = 33,
    IPPROTO_IPV6___453 = 41,
    IPPROTO_RSVP___453 = 46,
    IPPROTO_GRE___453 = 47,
    IPPROTO_ESP___453 = 50,
    IPPROTO_AH___453 = 51,
    IPPROTO_MTP___453 = 92,
    IPPROTO_BEETPH___453 = 94,
    IPPROTO_ENCAP___453 = 98,
    IPPROTO_PIM___453 = 103,
    IPPROTO_COMP___453 = 108,
    IPPROTO_SCTP___453 = 132,
    IPPROTO_UDPLITE___453 = 136,
    IPPROTO_MPLS___453 = 137,
    IPPROTO_RAW___453 = 255,
    IPPROTO_MAX___453 = 256
} ;
enum __anonenum_218739988___453 {
    IPPROTO_HOPOPTS___453 = 0,
    IPPROTO_ROUTING___453 = 43,
    IPPROTO_FRAGMENT___453 = 44,
    IPPROTO_ICMPV6___453 = 58,
    IPPROTO_NONE___453 = 59,
    IPPROTO_DSTOPTS___453 = 60,
    IPPROTO_MH___453 = 135
} ;
enum __anonenum_662268580___453 {
    IPPORT_ECHO___453 = 7,
    IPPORT_DISCARD___453 = 9,
    IPPORT_SYSTAT___453 = 11,
    IPPORT_DAYTIME___453 = 13,
    IPPORT_NETSTAT___453 = 15,
    IPPORT_FTP___453 = 21,
    IPPORT_TELNET___453 = 23,
    IPPORT_SMTP___453 = 25,
    IPPORT_TIMESERVER___453 = 37,
    IPPORT_NAMESERVER___453 = 42,
    IPPORT_WHOIS___453 = 43,
    IPPORT_MTP___453 = 57,
    IPPORT_TFTP___453 = 69,
    IPPORT_RJE___453 = 77,
    IPPORT_FINGER___453 = 79,
    IPPORT_TTYLINK___453 = 87,
    IPPORT_SUPDUP___453 = 95,
    IPPORT_EXECSERVER___453 = 512,
    IPPORT_LOGINSERVER___453 = 513,
    IPPORT_CMDSERVER___453 = 514,
    IPPORT_EFSSERVER___453 = 520,
    IPPORT_BIFFUDP___453 = 512,
    IPPORT_WHOSERVER___453 = 513,
    IPPORT_ROUTESERVER___453 = 520,
    IPPORT_RESERVED___453 = 1024,
    IPPORT_USERRESERVED___453 = 5000
} ;
enum __anonenum_788308992___453 {
    TCP_ESTABLISHED___453 = 1,
    TCP_SYN_SENT___453 = 2,
    TCP_SYN_RECV___453 = 3,
    TCP_FIN_WAIT1___453 = 4,
    TCP_FIN_WAIT2___453 = 5,
    TCP_TIME_WAIT___453 = 6,
    TCP_CLOSE___453 = 7,
    TCP_CLOSE_WAIT___453 = 8,
    TCP_LAST_ACK___453 = 9,
    TCP_LISTEN___453 = 10,
    TCP_CLOSING___453 = 11
} ;
enum __anonenum_221125648___453 {
    TCP_NO_QUEUE___453 = 0,
    TCP_RECV_QUEUE___453 = 1,
    TCP_SEND_QUEUE___453 = 2,
    TCP_QUEUES_NR___453 = 3
} ;
enum __anonenum_34415463___453 {
    PTHREAD_CREATE_JOINABLE___453 = 0,
    PTHREAD_CREATE_DETACHED___453 = 1
} ;
enum __anonenum_303612439___453 {
    PTHREAD_MUTEX_TIMED_NP___453 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___453 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___453 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___453 = 3,
    PTHREAD_MUTEX_NORMAL___453 = 0,
    PTHREAD_MUTEX_RECURSIVE___453 = 1,
    PTHREAD_MUTEX_ERRORCHECK___453 = 2,
    PTHREAD_MUTEX_DEFAULT___453 = 0,
    PTHREAD_MUTEX_FAST_NP___453 = 0
} ;
enum __anonenum_931900394___453 {
    PTHREAD_MUTEX_STALLED___453 = 0,
    PTHREAD_MUTEX_STALLED_NP___453 = 0,
    PTHREAD_MUTEX_ROBUST___453 = 1,
    PTHREAD_MUTEX_ROBUST_NP___453 = 1
} ;
enum __anonenum_205214487___453 {
    PTHREAD_PRIO_NONE___453 = 0,
    PTHREAD_PRIO_INHERIT___453 = 1,
    PTHREAD_PRIO_PROTECT___453 = 2
} ;
enum __anonenum_25043950___453 {
    PTHREAD_RWLOCK_PREFER_READER_NP___453 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___453 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___453 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___453 = 0
} ;
enum __anonenum_436439511___453 {
    PTHREAD_INHERIT_SCHED___453 = 0,
    PTHREAD_EXPLICIT_SCHED___453 = 1
} ;
enum __anonenum_998661166___453 {
    PTHREAD_SCOPE_SYSTEM___453 = 0,
    PTHREAD_SCOPE_PROCESS___453 = 1
} ;
enum __anonenum_146137331___453 {
    PTHREAD_PROCESS_PRIVATE___453 = 0,
    PTHREAD_PROCESS_SHARED___453 = 1
} ;
enum __anonenum_53396917___453 {
    PTHREAD_CANCEL_ENABLE___453 = 0,
    PTHREAD_CANCEL_DISABLE___453 = 1
} ;
enum __anonenum_904563783___453 {
    PTHREAD_CANCEL_DEFERRED___453 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___453 = 1
} ;
enum __anonenum_672052974___453 {
    SSL_CT_VALIDATION_PERMISSIVE___453 = 0,
    SSL_CT_VALIDATION_STRICT___453 = 1
} ;
enum __anonenum_437032235___454 {
    _PC_LINK_MAX___454 = 0,
    _PC_MAX_CANON___454 = 1,
    _PC_MAX_INPUT___454 = 2,
    _PC_NAME_MAX___454 = 3,
    _PC_PATH_MAX___454 = 4,
    _PC_PIPE_BUF___454 = 5,
    _PC_CHOWN_RESTRICTED___454 = 6,
    _PC_NO_TRUNC___454 = 7,
    _PC_VDISABLE___454 = 8,
    _PC_SYNC_IO___454 = 9,
    _PC_ASYNC_IO___454 = 10,
    _PC_PRIO_IO___454 = 11,
    _PC_SOCK_MAXBUF___454 = 12,
    _PC_FILESIZEBITS___454 = 13,
    _PC_REC_INCR_XFER_SIZE___454 = 14,
    _PC_REC_MAX_XFER_SIZE___454 = 15,
    _PC_REC_MIN_XFER_SIZE___454 = 16,
    _PC_REC_XFER_ALIGN___454 = 17,
    _PC_ALLOC_SIZE_MIN___454 = 18,
    _PC_SYMLINK_MAX___454 = 19,
    _PC_2_SYMLINKS___454 = 20
} ;
enum __anonenum_315186338___454 {
    _SC_ARG_MAX___454 = 0,
    _SC_CHILD_MAX___454 = 1,
    _SC_CLK_TCK___454 = 2,
    _SC_NGROUPS_MAX___454 = 3,
    _SC_OPEN_MAX___454 = 4,
    _SC_STREAM_MAX___454 = 5,
    _SC_TZNAME_MAX___454 = 6,
    _SC_JOB_CONTROL___454 = 7,
    _SC_SAVED_IDS___454 = 8,
    _SC_REALTIME_SIGNALS___454 = 9,
    _SC_PRIORITY_SCHEDULING___454 = 10,
    _SC_TIMERS___454 = 11,
    _SC_ASYNCHRONOUS_IO___454 = 12,
    _SC_PRIORITIZED_IO___454 = 13,
    _SC_SYNCHRONIZED_IO___454 = 14,
    _SC_FSYNC___454 = 15,
    _SC_MAPPED_FILES___454 = 16,
    _SC_MEMLOCK___454 = 17,
    _SC_MEMLOCK_RANGE___454 = 18,
    _SC_MEMORY_PROTECTION___454 = 19,
    _SC_MESSAGE_PASSING___454 = 20,
    _SC_SEMAPHORES___454 = 21,
    _SC_SHARED_MEMORY_OBJECTS___454 = 22,
    _SC_AIO_LISTIO_MAX___454 = 23,
    _SC_AIO_MAX___454 = 24,
    _SC_AIO_PRIO_DELTA_MAX___454 = 25,
    _SC_DELAYTIMER_MAX___454 = 26,
    _SC_MQ_OPEN_MAX___454 = 27,
    _SC_MQ_PRIO_MAX___454 = 28,
    _SC_VERSION___454 = 29,
    _SC_PAGESIZE___454 = 30,
    _SC_RTSIG_MAX___454 = 31,
    _SC_SEM_NSEMS_MAX___454 = 32,
    _SC_SEM_VALUE_MAX___454 = 33,
    _SC_SIGQUEUE_MAX___454 = 34,
    _SC_TIMER_MAX___454 = 35,
    _SC_BC_BASE_MAX___454 = 36,
    _SC_BC_DIM_MAX___454 = 37,
    _SC_BC_SCALE_MAX___454 = 38,
    _SC_BC_STRING_MAX___454 = 39,
    _SC_COLL_WEIGHTS_MAX___454 = 40,
    _SC_EQUIV_CLASS_MAX___454 = 41,
    _SC_EXPR_NEST_MAX___454 = 42,
    _SC_LINE_MAX___454 = 43,
    _SC_RE_DUP_MAX___454 = 44,
    _SC_CHARCLASS_NAME_MAX___454 = 45,
    _SC_2_VERSION___454 = 46,
    _SC_2_C_BIND___454 = 47,
    _SC_2_C_DEV___454 = 48,
    _SC_2_FORT_DEV___454 = 49,
    _SC_2_FORT_RUN___454 = 50,
    _SC_2_SW_DEV___454 = 51,
    _SC_2_LOCALEDEF___454 = 52,
    _SC_PII___454 = 53,
    _SC_PII_XTI___454 = 54,
    _SC_PII_SOCKET___454 = 55,
    _SC_PII_INTERNET___454 = 56,
    _SC_PII_OSI___454 = 57,
    _SC_POLL___454 = 58,
    _SC_SELECT___454 = 59,
    _SC_UIO_MAXIOV___454 = 60,
    _SC_IOV_MAX___454 = 60,
    _SC_PII_INTERNET_STREAM___454 = 61,
    _SC_PII_INTERNET_DGRAM___454 = 62,
    _SC_PII_OSI_COTS___454 = 63,
    _SC_PII_OSI_CLTS___454 = 64,
    _SC_PII_OSI_M___454 = 65,
    _SC_T_IOV_MAX___454 = 66,
    _SC_THREADS___454 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___454 = 68,
    _SC_GETGR_R_SIZE_MAX___454 = 69,
    _SC_GETPW_R_SIZE_MAX___454 = 70,
    _SC_LOGIN_NAME_MAX___454 = 71,
    _SC_TTY_NAME_MAX___454 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___454 = 73,
    _SC_THREAD_KEYS_MAX___454 = 74,
    _SC_THREAD_STACK_MIN___454 = 75,
    _SC_THREAD_THREADS_MAX___454 = 76,
    _SC_THREAD_ATTR_STACKADDR___454 = 77,
    _SC_THREAD_ATTR_STACKSIZE___454 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___454 = 79,
    _SC_THREAD_PRIO_INHERIT___454 = 80,
    _SC_THREAD_PRIO_PROTECT___454 = 81,
    _SC_THREAD_PROCESS_SHARED___454 = 82,
    _SC_NPROCESSORS_CONF___454 = 83,
    _SC_NPROCESSORS_ONLN___454 = 84,
    _SC_PHYS_PAGES___454 = 85,
    _SC_AVPHYS_PAGES___454 = 86,
    _SC_ATEXIT_MAX___454 = 87,
    _SC_PASS_MAX___454 = 88,
    _SC_XOPEN_VERSION___454 = 89,
    _SC_XOPEN_XCU_VERSION___454 = 90,
    _SC_XOPEN_UNIX___454 = 91,
    _SC_XOPEN_CRYPT___454 = 92,
    _SC_XOPEN_ENH_I18N___454 = 93,
    _SC_XOPEN_SHM___454 = 94,
    _SC_2_CHAR_TERM___454 = 95,
    _SC_2_C_VERSION___454 = 96,
    _SC_2_UPE___454 = 97,
    _SC_XOPEN_XPG2___454 = 98,
    _SC_XOPEN_XPG3___454 = 99,
    _SC_XOPEN_XPG4___454 = 100,
    _SC_CHAR_BIT___454 = 101,
    _SC_CHAR_MAX___454 = 102,
    _SC_CHAR_MIN___454 = 103,
    _SC_INT_MAX___454 = 104,
    _SC_INT_MIN___454 = 105,
    _SC_LONG_BIT___454 = 106,
    _SC_WORD_BIT___454 = 107,
    _SC_MB_LEN_MAX___454 = 108,
    _SC_NZERO___454 = 109,
    _SC_SSIZE_MAX___454 = 110,
    _SC_SCHAR_MAX___454 = 111,
    _SC_SCHAR_MIN___454 = 112,
    _SC_SHRT_MAX___454 = 113,
    _SC_SHRT_MIN___454 = 114,
    _SC_UCHAR_MAX___454 = 115,
    _SC_UINT_MAX___454 = 116,
    _SC_ULONG_MAX___454 = 117,
    _SC_USHRT_MAX___454 = 118,
    _SC_NL_ARGMAX___454 = 119,
    _SC_NL_LANGMAX___454 = 120,
    _SC_NL_MSGMAX___454 = 121,
    _SC_NL_NMAX___454 = 122,
    _SC_NL_SETMAX___454 = 123,
    _SC_NL_TEXTMAX___454 = 124,
    _SC_XBS5_ILP32_OFF32___454 = 125,
    _SC_XBS5_ILP32_OFFBIG___454 = 126,
    _SC_XBS5_LP64_OFF64___454 = 127,
    _SC_XBS5_LPBIG_OFFBIG___454 = 128,
    _SC_XOPEN_LEGACY___454 = 129,
    _SC_XOPEN_REALTIME___454 = 130,
    _SC_XOPEN_REALTIME_THREADS___454 = 131,
    _SC_ADVISORY_INFO___454 = 132,
    _SC_BARRIERS___454 = 133,
    _SC_BASE___454 = 134,
    _SC_C_LANG_SUPPORT___454 = 135,
    _SC_C_LANG_SUPPORT_R___454 = 136,
    _SC_CLOCK_SELECTION___454 = 137,
    _SC_CPUTIME___454 = 138,
    _SC_THREAD_CPUTIME___454 = 139,
    _SC_DEVICE_IO___454 = 140,
    _SC_DEVICE_SPECIFIC___454 = 141,
    _SC_DEVICE_SPECIFIC_R___454 = 142,
    _SC_FD_MGMT___454 = 143,
    _SC_FIFO___454 = 144,
    _SC_PIPE___454 = 145,
    _SC_FILE_ATTRIBUTES___454 = 146,
    _SC_FILE_LOCKING___454 = 147,
    _SC_FILE_SYSTEM___454 = 148,
    _SC_MONOTONIC_CLOCK___454 = 149,
    _SC_MULTI_PROCESS___454 = 150,
    _SC_SINGLE_PROCESS___454 = 151,
    _SC_NETWORKING___454 = 152,
    _SC_READER_WRITER_LOCKS___454 = 153,
    _SC_SPIN_LOCKS___454 = 154,
    _SC_REGEXP___454 = 155,
    _SC_REGEX_VERSION___454 = 156,
    _SC_SHELL___454 = 157,
    _SC_SIGNALS___454 = 158,
    _SC_SPAWN___454 = 159,
    _SC_SPORADIC_SERVER___454 = 160,
    _SC_THREAD_SPORADIC_SERVER___454 = 161,
    _SC_SYSTEM_DATABASE___454 = 162,
    _SC_SYSTEM_DATABASE_R___454 = 163,
    _SC_TIMEOUTS___454 = 164,
    _SC_TYPED_MEMORY_OBJECTS___454 = 165,
    _SC_USER_GROUPS___454 = 166,
    _SC_USER_GROUPS_R___454 = 167,
    _SC_2_PBS___454 = 168,
    _SC_2_PBS_ACCOUNTING___454 = 169,
    _SC_2_PBS_LOCATE___454 = 170,
    _SC_2_PBS_MESSAGE___454 = 171,
    _SC_2_PBS_TRACK___454 = 172,
    _SC_SYMLOOP_MAX___454 = 173,
    _SC_STREAMS___454 = 174,
    _SC_2_PBS_CHECKPOINT___454 = 175,
    _SC_V6_ILP32_OFF32___454 = 176,
    _SC_V6_ILP32_OFFBIG___454 = 177,
    _SC_V6_LP64_OFF64___454 = 178,
    _SC_V6_LPBIG_OFFBIG___454 = 179,
    _SC_HOST_NAME_MAX___454 = 180,
    _SC_TRACE___454 = 181,
    _SC_TRACE_EVENT_FILTER___454 = 182,
    _SC_TRACE_INHERIT___454 = 183,
    _SC_TRACE_LOG___454 = 184,
    _SC_LEVEL1_ICACHE_SIZE___454 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___454 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___454 = 187,
    _SC_LEVEL1_DCACHE_SIZE___454 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___454 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___454 = 190,
    _SC_LEVEL2_CACHE_SIZE___454 = 191,
    _SC_LEVEL2_CACHE_ASSOC___454 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___454 = 193,
    _SC_LEVEL3_CACHE_SIZE___454 = 194,
    _SC_LEVEL3_CACHE_ASSOC___454 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___454 = 196,
    _SC_LEVEL4_CACHE_SIZE___454 = 197,
    _SC_LEVEL4_CACHE_ASSOC___454 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___454 = 199,
    _SC_IPV6___454 = 235,
    _SC_RAW_SOCKETS___454 = 236,
    _SC_V7_ILP32_OFF32___454 = 237,
    _SC_V7_ILP32_OFFBIG___454 = 238,
    _SC_V7_LP64_OFF64___454 = 239,
    _SC_V7_LPBIG_OFFBIG___454 = 240,
    _SC_SS_REPL_MAX___454 = 241,
    _SC_TRACE_EVENT_NAME_MAX___454 = 242,
    _SC_TRACE_NAME_MAX___454 = 243,
    _SC_TRACE_SYS_MAX___454 = 244,
    _SC_TRACE_USER_EVENT_MAX___454 = 245,
    _SC_XOPEN_STREAMS___454 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___454 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___454 = 248
} ;
enum __anonenum_875524036___454 {
    _CS_PATH___454 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___454 = 1,
    _CS_GNU_LIBC_VERSION___454 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___454 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___454 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___454 = 5,
    _CS_LFS_CFLAGS___454 = 1000,
    _CS_LFS_LDFLAGS___454 = 1001,
    _CS_LFS_LIBS___454 = 1002,
    _CS_LFS_LINTFLAGS___454 = 1003,
    _CS_LFS64_CFLAGS___454 = 1004,
    _CS_LFS64_LDFLAGS___454 = 1005,
    _CS_LFS64_LIBS___454 = 1006,
    _CS_LFS64_LINTFLAGS___454 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___454 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___454 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___454 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___454 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___454 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___454 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___454 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___454 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___454 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___454 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___454 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___454 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___454 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___454 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___454 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___454 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___454 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___454 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___454 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___454 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___454 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___454 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___454 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___454 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___454 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___454 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___454 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___454 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___454 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___454 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___454 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___454 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___454 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___454 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___454 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___454 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___454 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___454 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___454 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___454 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___454 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___454 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___454 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___454 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___454 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___454 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___454 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___454 = 1147,
    _CS_V6_ENV___454 = 1148,
    _CS_V7_ENV___454 = 1149
} ;
enum __anonenum_513775621___454 {
    DT_UNKNOWN___454 = 0,
    DT_FIFO___454 = 1,
    DT_CHR___454 = 2,
    DT_DIR___454 = 4,
    DT_BLK___454 = 6,
    DT_REG___454 = 8,
    DT_LNK___454 = 10,
    DT_SOCK___454 = 12,
    DT_WHT___454 = 14
} ;
enum __anonenum_77002343___454 {
    SI_ASYNCNL___454 = -60,
    SI_TKILL___454 = -6,
    SI_SIGIO___454 = -5,
    SI_ASYNCIO___454 = -4,
    SI_MESGQ___454 = -3,
    SI_TIMER___454 = -2,
    SI_QUEUE___454 = -1,
    SI_USER___454 = 0,
    SI_KERNEL___454 = 128
} ;
enum __anonenum_131038172___454 {
    ILL_ILLOPC___454 = 1,
    ILL_ILLOPN___454 = 2,
    ILL_ILLADR___454 = 3,
    ILL_ILLTRP___454 = 4,
    ILL_PRVOPC___454 = 5,
    ILL_PRVREG___454 = 6,
    ILL_COPROC___454 = 7,
    ILL_BADSTK___454 = 8
} ;
enum __anonenum_452038093___454 {
    FPE_INTDIV___454 = 1,
    FPE_INTOVF___454 = 2,
    FPE_FLTDIV___454 = 3,
    FPE_FLTOVF___454 = 4,
    FPE_FLTUND___454 = 5,
    FPE_FLTRES___454 = 6,
    FPE_FLTINV___454 = 7,
    FPE_FLTSUB___454 = 8
} ;
enum __anonenum_30976155___454 {
    SEGV_MAPERR___454 = 1,
    SEGV_ACCERR___454 = 2,
    SEGV_BNDERR___454 = 3,
    SEGV_PKUERR___454 = 4
} ;
enum __anonenum_1036286214___454 {
    BUS_ADRALN___454 = 1,
    BUS_ADRERR___454 = 2,
    BUS_OBJERR___454 = 3,
    BUS_MCEERR_AR___454 = 4,
    BUS_MCEERR_AO___454 = 5
} ;
enum __anonenum_493465559___454 {
    TRAP_BRKPT___454 = 1,
    TRAP_TRACE___454 = 2
} ;
enum __anonenum_23175539___454 {
    CLD_EXITED___454 = 1,
    CLD_KILLED___454 = 2,
    CLD_DUMPED___454 = 3,
    CLD_TRAPPED___454 = 4,
    CLD_STOPPED___454 = 5,
    CLD_CONTINUED___454 = 6
} ;
enum __anonenum_111643124___454 {
    POLL_IN___454 = 1,
    POLL_OUT___454 = 2,
    POLL_MSG___454 = 3,
    POLL_ERR___454 = 4,
    POLL_PRI___454 = 5,
    POLL_HUP___454 = 6
} ;
enum __anonenum_852341087___454 {
    SIGEV_SIGNAL___454 = 0,
    SIGEV_NONE___454 = 1,
    SIGEV_THREAD___454 = 2,
    SIGEV_THREAD_ID___454 = 4
} ;
enum __anonenum_451154152___454 {
    REG_R8___454 = 0,
    REG_R9___454 = 1,
    REG_R10___454 = 2,
    REG_R11___454 = 3,
    REG_R12___454 = 4,
    REG_R13___454 = 5,
    REG_R14___454 = 6,
    REG_R15___454 = 7,
    REG_RDI___454 = 8,
    REG_RSI___454 = 9,
    REG_RBP___454 = 10,
    REG_RBX___454 = 11,
    REG_RDX___454 = 12,
    REG_RAX___454 = 13,
    REG_RCX___454 = 14,
    REG_RSP___454 = 15,
    REG_RIP___454 = 16,
    REG_EFL___454 = 17,
    REG_CSGSFS___454 = 18,
    REG_ERR___454 = 19,
    REG_TRAPNO___454 = 20,
    REG_OLDMASK___454 = 21,
    REG_CR2___454 = 22
} ;
enum __anonenum_57186863___454 {
    SS_ONSTACK___454 = 1,
    SS_DISABLE___454 = 2
} ;
enum __anonenum_83571709___454 {
    MSG_OOB___454 = 1,
    MSG_PEEK___454 = 2,
    MSG_DONTROUTE___454 = 4,
    MSG_TRYHARD___454 = 4,
    MSG_CTRUNC___454 = 8,
    MSG_PROXY___454 = 16,
    MSG_TRUNC___454 = 32,
    MSG_DONTWAIT___454 = 64,
    MSG_EOR___454 = 128,
    MSG_WAITALL___454 = 256,
    MSG_FIN___454 = 512,
    MSG_SYN___454 = 1024,
    MSG_CONFIRM___454 = 2048,
    MSG_RST___454 = 4096,
    MSG_ERRQUEUE___454 = 8192,
    MSG_NOSIGNAL___454 = 16384,
    MSG_MORE___454 = 32768,
    MSG_WAITFORONE___454 = 65536,
    MSG_BATCH___454 = 262144,
    MSG_ZEROCOPY___454 = 67108864,
    MSG_FASTOPEN___454 = 536870912,
    MSG_CMSG_CLOEXEC___454 = 1073741824
} ;
enum __anonenum_617082774___454 {
    SCM_RIGHTS___454 = 1,
    SCM_CREDENTIALS___454 = 2
} ;
enum __anonenum_606441560___454 {
    SHUT_RD___454 = 0,
    SHUT_WR___454 = 1,
    SHUT_RDWR___454 = 2
} ;
enum __anonenum_681669233___454 {
    IPPROTO_IP___454 = 0,
    IPPROTO_ICMP___454 = 1,
    IPPROTO_IGMP___454 = 2,
    IPPROTO_IPIP___454 = 4,
    IPPROTO_TCP___454 = 6,
    IPPROTO_EGP___454 = 8,
    IPPROTO_PUP___454 = 12,
    IPPROTO_UDP___454 = 17,
    IPPROTO_IDP___454 = 22,
    IPPROTO_TP___454 = 29,
    IPPROTO_DCCP___454 = 33,
    IPPROTO_IPV6___454 = 41,
    IPPROTO_RSVP___454 = 46,
    IPPROTO_GRE___454 = 47,
    IPPROTO_ESP___454 = 50,
    IPPROTO_AH___454 = 51,
    IPPROTO_MTP___454 = 92,
    IPPROTO_BEETPH___454 = 94,
    IPPROTO_ENCAP___454 = 98,
    IPPROTO_PIM___454 = 103,
    IPPROTO_COMP___454 = 108,
    IPPROTO_SCTP___454 = 132,
    IPPROTO_UDPLITE___454 = 136,
    IPPROTO_MPLS___454 = 137,
    IPPROTO_RAW___454 = 255,
    IPPROTO_MAX___454 = 256
} ;
enum __anonenum_218739988___454 {
    IPPROTO_HOPOPTS___454 = 0,
    IPPROTO_ROUTING___454 = 43,
    IPPROTO_FRAGMENT___454 = 44,
    IPPROTO_ICMPV6___454 = 58,
    IPPROTO_NONE___454 = 59,
    IPPROTO_DSTOPTS___454 = 60,
    IPPROTO_MH___454 = 135
} ;
enum __anonenum_662268580___454 {
    IPPORT_ECHO___454 = 7,
    IPPORT_DISCARD___454 = 9,
    IPPORT_SYSTAT___454 = 11,
    IPPORT_DAYTIME___454 = 13,
    IPPORT_NETSTAT___454 = 15,
    IPPORT_FTP___454 = 21,
    IPPORT_TELNET___454 = 23,
    IPPORT_SMTP___454 = 25,
    IPPORT_TIMESERVER___454 = 37,
    IPPORT_NAMESERVER___454 = 42,
    IPPORT_WHOIS___454 = 43,
    IPPORT_MTP___454 = 57,
    IPPORT_TFTP___454 = 69,
    IPPORT_RJE___454 = 77,
    IPPORT_FINGER___454 = 79,
    IPPORT_TTYLINK___454 = 87,
    IPPORT_SUPDUP___454 = 95,
    IPPORT_EXECSERVER___454 = 512,
    IPPORT_LOGINSERVER___454 = 513,
    IPPORT_CMDSERVER___454 = 514,
    IPPORT_EFSSERVER___454 = 520,
    IPPORT_BIFFUDP___454 = 512,
    IPPORT_WHOSERVER___454 = 513,
    IPPORT_ROUTESERVER___454 = 520,
    IPPORT_RESERVED___454 = 1024,
    IPPORT_USERRESERVED___454 = 5000
} ;
enum __anonenum_788308992___454 {
    TCP_ESTABLISHED___454 = 1,
    TCP_SYN_SENT___454 = 2,
    TCP_SYN_RECV___454 = 3,
    TCP_FIN_WAIT1___454 = 4,
    TCP_FIN_WAIT2___454 = 5,
    TCP_TIME_WAIT___454 = 6,
    TCP_CLOSE___454 = 7,
    TCP_CLOSE_WAIT___454 = 8,
    TCP_LAST_ACK___454 = 9,
    TCP_LISTEN___454 = 10,
    TCP_CLOSING___454 = 11
} ;
enum __anonenum_221125648___454 {
    TCP_NO_QUEUE___454 = 0,
    TCP_RECV_QUEUE___454 = 1,
    TCP_SEND_QUEUE___454 = 2,
    TCP_QUEUES_NR___454 = 3
} ;
enum __anonenum_34415463___454 {
    PTHREAD_CREATE_JOINABLE___454 = 0,
    PTHREAD_CREATE_DETACHED___454 = 1
} ;
enum __anonenum_303612439___454 {
    PTHREAD_MUTEX_TIMED_NP___454 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___454 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___454 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___454 = 3,
    PTHREAD_MUTEX_NORMAL___454 = 0,
    PTHREAD_MUTEX_RECURSIVE___454 = 1,
    PTHREAD_MUTEX_ERRORCHECK___454 = 2,
    PTHREAD_MUTEX_DEFAULT___454 = 0,
    PTHREAD_MUTEX_FAST_NP___454 = 0
} ;
enum __anonenum_931900394___454 {
    PTHREAD_MUTEX_STALLED___454 = 0,
    PTHREAD_MUTEX_STALLED_NP___454 = 0,
    PTHREAD_MUTEX_ROBUST___454 = 1,
    PTHREAD_MUTEX_ROBUST_NP___454 = 1
} ;
enum __anonenum_205214487___454 {
    PTHREAD_PRIO_NONE___454 = 0,
    PTHREAD_PRIO_INHERIT___454 = 1,
    PTHREAD_PRIO_PROTECT___454 = 2
} ;
enum __anonenum_25043950___454 {
    PTHREAD_RWLOCK_PREFER_READER_NP___454 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___454 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___454 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___454 = 0
} ;
enum __anonenum_436439511___454 {
    PTHREAD_INHERIT_SCHED___454 = 0,
    PTHREAD_EXPLICIT_SCHED___454 = 1
} ;
enum __anonenum_998661166___454 {
    PTHREAD_SCOPE_SYSTEM___454 = 0,
    PTHREAD_SCOPE_PROCESS___454 = 1
} ;
enum __anonenum_146137331___454 {
    PTHREAD_PROCESS_PRIVATE___454 = 0,
    PTHREAD_PROCESS_SHARED___454 = 1
} ;
enum __anonenum_53396917___454 {
    PTHREAD_CANCEL_ENABLE___454 = 0,
    PTHREAD_CANCEL_DISABLE___454 = 1
} ;
enum __anonenum_904563783___454 {
    PTHREAD_CANCEL_DEFERRED___454 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___454 = 1
} ;
enum __anonenum_672052974___454 {
    SSL_CT_VALIDATION_PERMISSIVE___454 = 0,
    SSL_CT_VALIDATION_STRICT___454 = 1
} ;
struct testsuite {
   struct string_list tests ;
   struct string_list failed ;
   int next ;
   int quiet ;
   int immediate ;
   int verbose ;
   int verbose_log ;
   int trace ;
   int write_junit_xml ;
};
enum __anonenum_437032235___455 {
    _PC_LINK_MAX___455 = 0,
    _PC_MAX_CANON___455 = 1,
    _PC_MAX_INPUT___455 = 2,
    _PC_NAME_MAX___455 = 3,
    _PC_PATH_MAX___455 = 4,
    _PC_PIPE_BUF___455 = 5,
    _PC_CHOWN_RESTRICTED___455 = 6,
    _PC_NO_TRUNC___455 = 7,
    _PC_VDISABLE___455 = 8,
    _PC_SYNC_IO___455 = 9,
    _PC_ASYNC_IO___455 = 10,
    _PC_PRIO_IO___455 = 11,
    _PC_SOCK_MAXBUF___455 = 12,
    _PC_FILESIZEBITS___455 = 13,
    _PC_REC_INCR_XFER_SIZE___455 = 14,
    _PC_REC_MAX_XFER_SIZE___455 = 15,
    _PC_REC_MIN_XFER_SIZE___455 = 16,
    _PC_REC_XFER_ALIGN___455 = 17,
    _PC_ALLOC_SIZE_MIN___455 = 18,
    _PC_SYMLINK_MAX___455 = 19,
    _PC_2_SYMLINKS___455 = 20
} ;
enum __anonenum_315186338___455 {
    _SC_ARG_MAX___455 = 0,
    _SC_CHILD_MAX___455 = 1,
    _SC_CLK_TCK___455 = 2,
    _SC_NGROUPS_MAX___455 = 3,
    _SC_OPEN_MAX___455 = 4,
    _SC_STREAM_MAX___455 = 5,
    _SC_TZNAME_MAX___455 = 6,
    _SC_JOB_CONTROL___455 = 7,
    _SC_SAVED_IDS___455 = 8,
    _SC_REALTIME_SIGNALS___455 = 9,
    _SC_PRIORITY_SCHEDULING___455 = 10,
    _SC_TIMERS___455 = 11,
    _SC_ASYNCHRONOUS_IO___455 = 12,
    _SC_PRIORITIZED_IO___455 = 13,
    _SC_SYNCHRONIZED_IO___455 = 14,
    _SC_FSYNC___455 = 15,
    _SC_MAPPED_FILES___455 = 16,
    _SC_MEMLOCK___455 = 17,
    _SC_MEMLOCK_RANGE___455 = 18,
    _SC_MEMORY_PROTECTION___455 = 19,
    _SC_MESSAGE_PASSING___455 = 20,
    _SC_SEMAPHORES___455 = 21,
    _SC_SHARED_MEMORY_OBJECTS___455 = 22,
    _SC_AIO_LISTIO_MAX___455 = 23,
    _SC_AIO_MAX___455 = 24,
    _SC_AIO_PRIO_DELTA_MAX___455 = 25,
    _SC_DELAYTIMER_MAX___455 = 26,
    _SC_MQ_OPEN_MAX___455 = 27,
    _SC_MQ_PRIO_MAX___455 = 28,
    _SC_VERSION___455 = 29,
    _SC_PAGESIZE___455 = 30,
    _SC_RTSIG_MAX___455 = 31,
    _SC_SEM_NSEMS_MAX___455 = 32,
    _SC_SEM_VALUE_MAX___455 = 33,
    _SC_SIGQUEUE_MAX___455 = 34,
    _SC_TIMER_MAX___455 = 35,
    _SC_BC_BASE_MAX___455 = 36,
    _SC_BC_DIM_MAX___455 = 37,
    _SC_BC_SCALE_MAX___455 = 38,
    _SC_BC_STRING_MAX___455 = 39,
    _SC_COLL_WEIGHTS_MAX___455 = 40,
    _SC_EQUIV_CLASS_MAX___455 = 41,
    _SC_EXPR_NEST_MAX___455 = 42,
    _SC_LINE_MAX___455 = 43,
    _SC_RE_DUP_MAX___455 = 44,
    _SC_CHARCLASS_NAME_MAX___455 = 45,
    _SC_2_VERSION___455 = 46,
    _SC_2_C_BIND___455 = 47,
    _SC_2_C_DEV___455 = 48,
    _SC_2_FORT_DEV___455 = 49,
    _SC_2_FORT_RUN___455 = 50,
    _SC_2_SW_DEV___455 = 51,
    _SC_2_LOCALEDEF___455 = 52,
    _SC_PII___455 = 53,
    _SC_PII_XTI___455 = 54,
    _SC_PII_SOCKET___455 = 55,
    _SC_PII_INTERNET___455 = 56,
    _SC_PII_OSI___455 = 57,
    _SC_POLL___455 = 58,
    _SC_SELECT___455 = 59,
    _SC_UIO_MAXIOV___455 = 60,
    _SC_IOV_MAX___455 = 60,
    _SC_PII_INTERNET_STREAM___455 = 61,
    _SC_PII_INTERNET_DGRAM___455 = 62,
    _SC_PII_OSI_COTS___455 = 63,
    _SC_PII_OSI_CLTS___455 = 64,
    _SC_PII_OSI_M___455 = 65,
    _SC_T_IOV_MAX___455 = 66,
    _SC_THREADS___455 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___455 = 68,
    _SC_GETGR_R_SIZE_MAX___455 = 69,
    _SC_GETPW_R_SIZE_MAX___455 = 70,
    _SC_LOGIN_NAME_MAX___455 = 71,
    _SC_TTY_NAME_MAX___455 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___455 = 73,
    _SC_THREAD_KEYS_MAX___455 = 74,
    _SC_THREAD_STACK_MIN___455 = 75,
    _SC_THREAD_THREADS_MAX___455 = 76,
    _SC_THREAD_ATTR_STACKADDR___455 = 77,
    _SC_THREAD_ATTR_STACKSIZE___455 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___455 = 79,
    _SC_THREAD_PRIO_INHERIT___455 = 80,
    _SC_THREAD_PRIO_PROTECT___455 = 81,
    _SC_THREAD_PROCESS_SHARED___455 = 82,
    _SC_NPROCESSORS_CONF___455 = 83,
    _SC_NPROCESSORS_ONLN___455 = 84,
    _SC_PHYS_PAGES___455 = 85,
    _SC_AVPHYS_PAGES___455 = 86,
    _SC_ATEXIT_MAX___455 = 87,
    _SC_PASS_MAX___455 = 88,
    _SC_XOPEN_VERSION___455 = 89,
    _SC_XOPEN_XCU_VERSION___455 = 90,
    _SC_XOPEN_UNIX___455 = 91,
    _SC_XOPEN_CRYPT___455 = 92,
    _SC_XOPEN_ENH_I18N___455 = 93,
    _SC_XOPEN_SHM___455 = 94,
    _SC_2_CHAR_TERM___455 = 95,
    _SC_2_C_VERSION___455 = 96,
    _SC_2_UPE___455 = 97,
    _SC_XOPEN_XPG2___455 = 98,
    _SC_XOPEN_XPG3___455 = 99,
    _SC_XOPEN_XPG4___455 = 100,
    _SC_CHAR_BIT___455 = 101,
    _SC_CHAR_MAX___455 = 102,
    _SC_CHAR_MIN___455 = 103,
    _SC_INT_MAX___455 = 104,
    _SC_INT_MIN___455 = 105,
    _SC_LONG_BIT___455 = 106,
    _SC_WORD_BIT___455 = 107,
    _SC_MB_LEN_MAX___455 = 108,
    _SC_NZERO___455 = 109,
    _SC_SSIZE_MAX___455 = 110,
    _SC_SCHAR_MAX___455 = 111,
    _SC_SCHAR_MIN___455 = 112,
    _SC_SHRT_MAX___455 = 113,
    _SC_SHRT_MIN___455 = 114,
    _SC_UCHAR_MAX___455 = 115,
    _SC_UINT_MAX___455 = 116,
    _SC_ULONG_MAX___455 = 117,
    _SC_USHRT_MAX___455 = 118,
    _SC_NL_ARGMAX___455 = 119,
    _SC_NL_LANGMAX___455 = 120,
    _SC_NL_MSGMAX___455 = 121,
    _SC_NL_NMAX___455 = 122,
    _SC_NL_SETMAX___455 = 123,
    _SC_NL_TEXTMAX___455 = 124,
    _SC_XBS5_ILP32_OFF32___455 = 125,
    _SC_XBS5_ILP32_OFFBIG___455 = 126,
    _SC_XBS5_LP64_OFF64___455 = 127,
    _SC_XBS5_LPBIG_OFFBIG___455 = 128,
    _SC_XOPEN_LEGACY___455 = 129,
    _SC_XOPEN_REALTIME___455 = 130,
    _SC_XOPEN_REALTIME_THREADS___455 = 131,
    _SC_ADVISORY_INFO___455 = 132,
    _SC_BARRIERS___455 = 133,
    _SC_BASE___455 = 134,
    _SC_C_LANG_SUPPORT___455 = 135,
    _SC_C_LANG_SUPPORT_R___455 = 136,
    _SC_CLOCK_SELECTION___455 = 137,
    _SC_CPUTIME___455 = 138,
    _SC_THREAD_CPUTIME___455 = 139,
    _SC_DEVICE_IO___455 = 140,
    _SC_DEVICE_SPECIFIC___455 = 141,
    _SC_DEVICE_SPECIFIC_R___455 = 142,
    _SC_FD_MGMT___455 = 143,
    _SC_FIFO___455 = 144,
    _SC_PIPE___455 = 145,
    _SC_FILE_ATTRIBUTES___455 = 146,
    _SC_FILE_LOCKING___455 = 147,
    _SC_FILE_SYSTEM___455 = 148,
    _SC_MONOTONIC_CLOCK___455 = 149,
    _SC_MULTI_PROCESS___455 = 150,
    _SC_SINGLE_PROCESS___455 = 151,
    _SC_NETWORKING___455 = 152,
    _SC_READER_WRITER_LOCKS___455 = 153,
    _SC_SPIN_LOCKS___455 = 154,
    _SC_REGEXP___455 = 155,
    _SC_REGEX_VERSION___455 = 156,
    _SC_SHELL___455 = 157,
    _SC_SIGNALS___455 = 158,
    _SC_SPAWN___455 = 159,
    _SC_SPORADIC_SERVER___455 = 160,
    _SC_THREAD_SPORADIC_SERVER___455 = 161,
    _SC_SYSTEM_DATABASE___455 = 162,
    _SC_SYSTEM_DATABASE_R___455 = 163,
    _SC_TIMEOUTS___455 = 164,
    _SC_TYPED_MEMORY_OBJECTS___455 = 165,
    _SC_USER_GROUPS___455 = 166,
    _SC_USER_GROUPS_R___455 = 167,
    _SC_2_PBS___455 = 168,
    _SC_2_PBS_ACCOUNTING___455 = 169,
    _SC_2_PBS_LOCATE___455 = 170,
    _SC_2_PBS_MESSAGE___455 = 171,
    _SC_2_PBS_TRACK___455 = 172,
    _SC_SYMLOOP_MAX___455 = 173,
    _SC_STREAMS___455 = 174,
    _SC_2_PBS_CHECKPOINT___455 = 175,
    _SC_V6_ILP32_OFF32___455 = 176,
    _SC_V6_ILP32_OFFBIG___455 = 177,
    _SC_V6_LP64_OFF64___455 = 178,
    _SC_V6_LPBIG_OFFBIG___455 = 179,
    _SC_HOST_NAME_MAX___455 = 180,
    _SC_TRACE___455 = 181,
    _SC_TRACE_EVENT_FILTER___455 = 182,
    _SC_TRACE_INHERIT___455 = 183,
    _SC_TRACE_LOG___455 = 184,
    _SC_LEVEL1_ICACHE_SIZE___455 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___455 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___455 = 187,
    _SC_LEVEL1_DCACHE_SIZE___455 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___455 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___455 = 190,
    _SC_LEVEL2_CACHE_SIZE___455 = 191,
    _SC_LEVEL2_CACHE_ASSOC___455 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___455 = 193,
    _SC_LEVEL3_CACHE_SIZE___455 = 194,
    _SC_LEVEL3_CACHE_ASSOC___455 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___455 = 196,
    _SC_LEVEL4_CACHE_SIZE___455 = 197,
    _SC_LEVEL4_CACHE_ASSOC___455 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___455 = 199,
    _SC_IPV6___455 = 235,
    _SC_RAW_SOCKETS___455 = 236,
    _SC_V7_ILP32_OFF32___455 = 237,
    _SC_V7_ILP32_OFFBIG___455 = 238,
    _SC_V7_LP64_OFF64___455 = 239,
    _SC_V7_LPBIG_OFFBIG___455 = 240,
    _SC_SS_REPL_MAX___455 = 241,
    _SC_TRACE_EVENT_NAME_MAX___455 = 242,
    _SC_TRACE_NAME_MAX___455 = 243,
    _SC_TRACE_SYS_MAX___455 = 244,
    _SC_TRACE_USER_EVENT_MAX___455 = 245,
    _SC_XOPEN_STREAMS___455 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___455 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___455 = 248
} ;
enum __anonenum_875524036___455 {
    _CS_PATH___455 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___455 = 1,
    _CS_GNU_LIBC_VERSION___455 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___455 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___455 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___455 = 5,
    _CS_LFS_CFLAGS___455 = 1000,
    _CS_LFS_LDFLAGS___455 = 1001,
    _CS_LFS_LIBS___455 = 1002,
    _CS_LFS_LINTFLAGS___455 = 1003,
    _CS_LFS64_CFLAGS___455 = 1004,
    _CS_LFS64_LDFLAGS___455 = 1005,
    _CS_LFS64_LIBS___455 = 1006,
    _CS_LFS64_LINTFLAGS___455 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___455 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___455 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___455 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___455 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___455 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___455 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___455 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___455 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___455 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___455 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___455 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___455 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___455 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___455 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___455 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___455 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___455 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___455 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___455 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___455 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___455 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___455 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___455 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___455 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___455 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___455 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___455 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___455 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___455 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___455 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___455 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___455 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___455 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___455 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___455 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___455 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___455 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___455 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___455 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___455 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___455 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___455 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___455 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___455 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___455 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___455 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___455 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___455 = 1147,
    _CS_V6_ENV___455 = 1148,
    _CS_V7_ENV___455 = 1149
} ;
enum __anonenum_513775621___455 {
    DT_UNKNOWN___455 = 0,
    DT_FIFO___455 = 1,
    DT_CHR___455 = 2,
    DT_DIR___455 = 4,
    DT_BLK___455 = 6,
    DT_REG___455 = 8,
    DT_LNK___455 = 10,
    DT_SOCK___455 = 12,
    DT_WHT___455 = 14
} ;
enum __anonenum_77002343___455 {
    SI_ASYNCNL___455 = -60,
    SI_TKILL___455 = -6,
    SI_SIGIO___455 = -5,
    SI_ASYNCIO___455 = -4,
    SI_MESGQ___455 = -3,
    SI_TIMER___455 = -2,
    SI_QUEUE___455 = -1,
    SI_USER___455 = 0,
    SI_KERNEL___455 = 128
} ;
enum __anonenum_131038172___455 {
    ILL_ILLOPC___455 = 1,
    ILL_ILLOPN___455 = 2,
    ILL_ILLADR___455 = 3,
    ILL_ILLTRP___455 = 4,
    ILL_PRVOPC___455 = 5,
    ILL_PRVREG___455 = 6,
    ILL_COPROC___455 = 7,
    ILL_BADSTK___455 = 8
} ;
enum __anonenum_452038093___455 {
    FPE_INTDIV___455 = 1,
    FPE_INTOVF___455 = 2,
    FPE_FLTDIV___455 = 3,
    FPE_FLTOVF___455 = 4,
    FPE_FLTUND___455 = 5,
    FPE_FLTRES___455 = 6,
    FPE_FLTINV___455 = 7,
    FPE_FLTSUB___455 = 8
} ;
enum __anonenum_30976155___455 {
    SEGV_MAPERR___455 = 1,
    SEGV_ACCERR___455 = 2,
    SEGV_BNDERR___455 = 3,
    SEGV_PKUERR___455 = 4
} ;
enum __anonenum_1036286214___455 {
    BUS_ADRALN___455 = 1,
    BUS_ADRERR___455 = 2,
    BUS_OBJERR___455 = 3,
    BUS_MCEERR_AR___455 = 4,
    BUS_MCEERR_AO___455 = 5
} ;
enum __anonenum_493465559___455 {
    TRAP_BRKPT___455 = 1,
    TRAP_TRACE___455 = 2
} ;
enum __anonenum_23175539___455 {
    CLD_EXITED___455 = 1,
    CLD_KILLED___455 = 2,
    CLD_DUMPED___455 = 3,
    CLD_TRAPPED___455 = 4,
    CLD_STOPPED___455 = 5,
    CLD_CONTINUED___455 = 6
} ;
enum __anonenum_111643124___455 {
    POLL_IN___455 = 1,
    POLL_OUT___455 = 2,
    POLL_MSG___455 = 3,
    POLL_ERR___455 = 4,
    POLL_PRI___455 = 5,
    POLL_HUP___455 = 6
} ;
enum __anonenum_852341087___455 {
    SIGEV_SIGNAL___455 = 0,
    SIGEV_NONE___455 = 1,
    SIGEV_THREAD___455 = 2,
    SIGEV_THREAD_ID___455 = 4
} ;
enum __anonenum_451154152___455 {
    REG_R8___455 = 0,
    REG_R9___455 = 1,
    REG_R10___455 = 2,
    REG_R11___455 = 3,
    REG_R12___455 = 4,
    REG_R13___455 = 5,
    REG_R14___455 = 6,
    REG_R15___455 = 7,
    REG_RDI___455 = 8,
    REG_RSI___455 = 9,
    REG_RBP___455 = 10,
    REG_RBX___455 = 11,
    REG_RDX___455 = 12,
    REG_RAX___455 = 13,
    REG_RCX___455 = 14,
    REG_RSP___455 = 15,
    REG_RIP___455 = 16,
    REG_EFL___455 = 17,
    REG_CSGSFS___455 = 18,
    REG_ERR___455 = 19,
    REG_TRAPNO___455 = 20,
    REG_OLDMASK___455 = 21,
    REG_CR2___455 = 22
} ;
enum __anonenum_57186863___455 {
    SS_ONSTACK___455 = 1,
    SS_DISABLE___455 = 2
} ;
enum __anonenum_83571709___455 {
    MSG_OOB___455 = 1,
    MSG_PEEK___455 = 2,
    MSG_DONTROUTE___455 = 4,
    MSG_TRYHARD___455 = 4,
    MSG_CTRUNC___455 = 8,
    MSG_PROXY___455 = 16,
    MSG_TRUNC___455 = 32,
    MSG_DONTWAIT___455 = 64,
    MSG_EOR___455 = 128,
    MSG_WAITALL___455 = 256,
    MSG_FIN___455 = 512,
    MSG_SYN___455 = 1024,
    MSG_CONFIRM___455 = 2048,
    MSG_RST___455 = 4096,
    MSG_ERRQUEUE___455 = 8192,
    MSG_NOSIGNAL___455 = 16384,
    MSG_MORE___455 = 32768,
    MSG_WAITFORONE___455 = 65536,
    MSG_BATCH___455 = 262144,
    MSG_ZEROCOPY___455 = 67108864,
    MSG_FASTOPEN___455 = 536870912,
    MSG_CMSG_CLOEXEC___455 = 1073741824
} ;
enum __anonenum_617082774___455 {
    SCM_RIGHTS___455 = 1,
    SCM_CREDENTIALS___455 = 2
} ;
enum __anonenum_606441560___455 {
    SHUT_RD___455 = 0,
    SHUT_WR___455 = 1,
    SHUT_RDWR___455 = 2
} ;
enum __anonenum_681669233___455 {
    IPPROTO_IP___455 = 0,
    IPPROTO_ICMP___455 = 1,
    IPPROTO_IGMP___455 = 2,
    IPPROTO_IPIP___455 = 4,
    IPPROTO_TCP___455 = 6,
    IPPROTO_EGP___455 = 8,
    IPPROTO_PUP___455 = 12,
    IPPROTO_UDP___455 = 17,
    IPPROTO_IDP___455 = 22,
    IPPROTO_TP___455 = 29,
    IPPROTO_DCCP___455 = 33,
    IPPROTO_IPV6___455 = 41,
    IPPROTO_RSVP___455 = 46,
    IPPROTO_GRE___455 = 47,
    IPPROTO_ESP___455 = 50,
    IPPROTO_AH___455 = 51,
    IPPROTO_MTP___455 = 92,
    IPPROTO_BEETPH___455 = 94,
    IPPROTO_ENCAP___455 = 98,
    IPPROTO_PIM___455 = 103,
    IPPROTO_COMP___455 = 108,
    IPPROTO_SCTP___455 = 132,
    IPPROTO_UDPLITE___455 = 136,
    IPPROTO_MPLS___455 = 137,
    IPPROTO_RAW___455 = 255,
    IPPROTO_MAX___455 = 256
} ;
enum __anonenum_218739988___455 {
    IPPROTO_HOPOPTS___455 = 0,
    IPPROTO_ROUTING___455 = 43,
    IPPROTO_FRAGMENT___455 = 44,
    IPPROTO_ICMPV6___455 = 58,
    IPPROTO_NONE___455 = 59,
    IPPROTO_DSTOPTS___455 = 60,
    IPPROTO_MH___455 = 135
} ;
enum __anonenum_662268580___455 {
    IPPORT_ECHO___455 = 7,
    IPPORT_DISCARD___455 = 9,
    IPPORT_SYSTAT___455 = 11,
    IPPORT_DAYTIME___455 = 13,
    IPPORT_NETSTAT___455 = 15,
    IPPORT_FTP___455 = 21,
    IPPORT_TELNET___455 = 23,
    IPPORT_SMTP___455 = 25,
    IPPORT_TIMESERVER___455 = 37,
    IPPORT_NAMESERVER___455 = 42,
    IPPORT_WHOIS___455 = 43,
    IPPORT_MTP___455 = 57,
    IPPORT_TFTP___455 = 69,
    IPPORT_RJE___455 = 77,
    IPPORT_FINGER___455 = 79,
    IPPORT_TTYLINK___455 = 87,
    IPPORT_SUPDUP___455 = 95,
    IPPORT_EXECSERVER___455 = 512,
    IPPORT_LOGINSERVER___455 = 513,
    IPPORT_CMDSERVER___455 = 514,
    IPPORT_EFSSERVER___455 = 520,
    IPPORT_BIFFUDP___455 = 512,
    IPPORT_WHOSERVER___455 = 513,
    IPPORT_ROUTESERVER___455 = 520,
    IPPORT_RESERVED___455 = 1024,
    IPPORT_USERRESERVED___455 = 5000
} ;
enum __anonenum_788308992___455 {
    TCP_ESTABLISHED___455 = 1,
    TCP_SYN_SENT___455 = 2,
    TCP_SYN_RECV___455 = 3,
    TCP_FIN_WAIT1___455 = 4,
    TCP_FIN_WAIT2___455 = 5,
    TCP_TIME_WAIT___455 = 6,
    TCP_CLOSE___455 = 7,
    TCP_CLOSE_WAIT___455 = 8,
    TCP_LAST_ACK___455 = 9,
    TCP_LISTEN___455 = 10,
    TCP_CLOSING___455 = 11
} ;
enum __anonenum_221125648___455 {
    TCP_NO_QUEUE___455 = 0,
    TCP_RECV_QUEUE___455 = 1,
    TCP_SEND_QUEUE___455 = 2,
    TCP_QUEUES_NR___455 = 3
} ;
enum __anonenum_34415463___455 {
    PTHREAD_CREATE_JOINABLE___455 = 0,
    PTHREAD_CREATE_DETACHED___455 = 1
} ;
enum __anonenum_303612439___455 {
    PTHREAD_MUTEX_TIMED_NP___455 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___455 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___455 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___455 = 3,
    PTHREAD_MUTEX_NORMAL___455 = 0,
    PTHREAD_MUTEX_RECURSIVE___455 = 1,
    PTHREAD_MUTEX_ERRORCHECK___455 = 2,
    PTHREAD_MUTEX_DEFAULT___455 = 0,
    PTHREAD_MUTEX_FAST_NP___455 = 0
} ;
enum __anonenum_931900394___455 {
    PTHREAD_MUTEX_STALLED___455 = 0,
    PTHREAD_MUTEX_STALLED_NP___455 = 0,
    PTHREAD_MUTEX_ROBUST___455 = 1,
    PTHREAD_MUTEX_ROBUST_NP___455 = 1
} ;
enum __anonenum_205214487___455 {
    PTHREAD_PRIO_NONE___455 = 0,
    PTHREAD_PRIO_INHERIT___455 = 1,
    PTHREAD_PRIO_PROTECT___455 = 2
} ;
enum __anonenum_25043950___455 {
    PTHREAD_RWLOCK_PREFER_READER_NP___455 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___455 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___455 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___455 = 0
} ;
enum __anonenum_436439511___455 {
    PTHREAD_INHERIT_SCHED___455 = 0,
    PTHREAD_EXPLICIT_SCHED___455 = 1
} ;
enum __anonenum_998661166___455 {
    PTHREAD_SCOPE_SYSTEM___455 = 0,
    PTHREAD_SCOPE_PROCESS___455 = 1
} ;
enum __anonenum_146137331___455 {
    PTHREAD_PROCESS_PRIVATE___455 = 0,
    PTHREAD_PROCESS_SHARED___455 = 1
} ;
enum __anonenum_53396917___455 {
    PTHREAD_CANCEL_ENABLE___455 = 0,
    PTHREAD_CANCEL_DISABLE___455 = 1
} ;
enum __anonenum_904563783___455 {
    PTHREAD_CANCEL_DEFERRED___455 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___455 = 1
} ;
enum __anonenum_672052974___455 {
    SSL_CT_VALIDATION_PERMISSIVE___455 = 0,
    SSL_CT_VALIDATION_STRICT___455 = 1
} ;
enum __anonenum_437032235___456 {
    _PC_LINK_MAX___456 = 0,
    _PC_MAX_CANON___456 = 1,
    _PC_MAX_INPUT___456 = 2,
    _PC_NAME_MAX___456 = 3,
    _PC_PATH_MAX___456 = 4,
    _PC_PIPE_BUF___456 = 5,
    _PC_CHOWN_RESTRICTED___456 = 6,
    _PC_NO_TRUNC___456 = 7,
    _PC_VDISABLE___456 = 8,
    _PC_SYNC_IO___456 = 9,
    _PC_ASYNC_IO___456 = 10,
    _PC_PRIO_IO___456 = 11,
    _PC_SOCK_MAXBUF___456 = 12,
    _PC_FILESIZEBITS___456 = 13,
    _PC_REC_INCR_XFER_SIZE___456 = 14,
    _PC_REC_MAX_XFER_SIZE___456 = 15,
    _PC_REC_MIN_XFER_SIZE___456 = 16,
    _PC_REC_XFER_ALIGN___456 = 17,
    _PC_ALLOC_SIZE_MIN___456 = 18,
    _PC_SYMLINK_MAX___456 = 19,
    _PC_2_SYMLINKS___456 = 20
} ;
enum __anonenum_315186338___456 {
    _SC_ARG_MAX___456 = 0,
    _SC_CHILD_MAX___456 = 1,
    _SC_CLK_TCK___456 = 2,
    _SC_NGROUPS_MAX___456 = 3,
    _SC_OPEN_MAX___456 = 4,
    _SC_STREAM_MAX___456 = 5,
    _SC_TZNAME_MAX___456 = 6,
    _SC_JOB_CONTROL___456 = 7,
    _SC_SAVED_IDS___456 = 8,
    _SC_REALTIME_SIGNALS___456 = 9,
    _SC_PRIORITY_SCHEDULING___456 = 10,
    _SC_TIMERS___456 = 11,
    _SC_ASYNCHRONOUS_IO___456 = 12,
    _SC_PRIORITIZED_IO___456 = 13,
    _SC_SYNCHRONIZED_IO___456 = 14,
    _SC_FSYNC___456 = 15,
    _SC_MAPPED_FILES___456 = 16,
    _SC_MEMLOCK___456 = 17,
    _SC_MEMLOCK_RANGE___456 = 18,
    _SC_MEMORY_PROTECTION___456 = 19,
    _SC_MESSAGE_PASSING___456 = 20,
    _SC_SEMAPHORES___456 = 21,
    _SC_SHARED_MEMORY_OBJECTS___456 = 22,
    _SC_AIO_LISTIO_MAX___456 = 23,
    _SC_AIO_MAX___456 = 24,
    _SC_AIO_PRIO_DELTA_MAX___456 = 25,
    _SC_DELAYTIMER_MAX___456 = 26,
    _SC_MQ_OPEN_MAX___456 = 27,
    _SC_MQ_PRIO_MAX___456 = 28,
    _SC_VERSION___456 = 29,
    _SC_PAGESIZE___456 = 30,
    _SC_RTSIG_MAX___456 = 31,
    _SC_SEM_NSEMS_MAX___456 = 32,
    _SC_SEM_VALUE_MAX___456 = 33,
    _SC_SIGQUEUE_MAX___456 = 34,
    _SC_TIMER_MAX___456 = 35,
    _SC_BC_BASE_MAX___456 = 36,
    _SC_BC_DIM_MAX___456 = 37,
    _SC_BC_SCALE_MAX___456 = 38,
    _SC_BC_STRING_MAX___456 = 39,
    _SC_COLL_WEIGHTS_MAX___456 = 40,
    _SC_EQUIV_CLASS_MAX___456 = 41,
    _SC_EXPR_NEST_MAX___456 = 42,
    _SC_LINE_MAX___456 = 43,
    _SC_RE_DUP_MAX___456 = 44,
    _SC_CHARCLASS_NAME_MAX___456 = 45,
    _SC_2_VERSION___456 = 46,
    _SC_2_C_BIND___456 = 47,
    _SC_2_C_DEV___456 = 48,
    _SC_2_FORT_DEV___456 = 49,
    _SC_2_FORT_RUN___456 = 50,
    _SC_2_SW_DEV___456 = 51,
    _SC_2_LOCALEDEF___456 = 52,
    _SC_PII___456 = 53,
    _SC_PII_XTI___456 = 54,
    _SC_PII_SOCKET___456 = 55,
    _SC_PII_INTERNET___456 = 56,
    _SC_PII_OSI___456 = 57,
    _SC_POLL___456 = 58,
    _SC_SELECT___456 = 59,
    _SC_UIO_MAXIOV___456 = 60,
    _SC_IOV_MAX___456 = 60,
    _SC_PII_INTERNET_STREAM___456 = 61,
    _SC_PII_INTERNET_DGRAM___456 = 62,
    _SC_PII_OSI_COTS___456 = 63,
    _SC_PII_OSI_CLTS___456 = 64,
    _SC_PII_OSI_M___456 = 65,
    _SC_T_IOV_MAX___456 = 66,
    _SC_THREADS___456 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___456 = 68,
    _SC_GETGR_R_SIZE_MAX___456 = 69,
    _SC_GETPW_R_SIZE_MAX___456 = 70,
    _SC_LOGIN_NAME_MAX___456 = 71,
    _SC_TTY_NAME_MAX___456 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___456 = 73,
    _SC_THREAD_KEYS_MAX___456 = 74,
    _SC_THREAD_STACK_MIN___456 = 75,
    _SC_THREAD_THREADS_MAX___456 = 76,
    _SC_THREAD_ATTR_STACKADDR___456 = 77,
    _SC_THREAD_ATTR_STACKSIZE___456 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___456 = 79,
    _SC_THREAD_PRIO_INHERIT___456 = 80,
    _SC_THREAD_PRIO_PROTECT___456 = 81,
    _SC_THREAD_PROCESS_SHARED___456 = 82,
    _SC_NPROCESSORS_CONF___456 = 83,
    _SC_NPROCESSORS_ONLN___456 = 84,
    _SC_PHYS_PAGES___456 = 85,
    _SC_AVPHYS_PAGES___456 = 86,
    _SC_ATEXIT_MAX___456 = 87,
    _SC_PASS_MAX___456 = 88,
    _SC_XOPEN_VERSION___456 = 89,
    _SC_XOPEN_XCU_VERSION___456 = 90,
    _SC_XOPEN_UNIX___456 = 91,
    _SC_XOPEN_CRYPT___456 = 92,
    _SC_XOPEN_ENH_I18N___456 = 93,
    _SC_XOPEN_SHM___456 = 94,
    _SC_2_CHAR_TERM___456 = 95,
    _SC_2_C_VERSION___456 = 96,
    _SC_2_UPE___456 = 97,
    _SC_XOPEN_XPG2___456 = 98,
    _SC_XOPEN_XPG3___456 = 99,
    _SC_XOPEN_XPG4___456 = 100,
    _SC_CHAR_BIT___456 = 101,
    _SC_CHAR_MAX___456 = 102,
    _SC_CHAR_MIN___456 = 103,
    _SC_INT_MAX___456 = 104,
    _SC_INT_MIN___456 = 105,
    _SC_LONG_BIT___456 = 106,
    _SC_WORD_BIT___456 = 107,
    _SC_MB_LEN_MAX___456 = 108,
    _SC_NZERO___456 = 109,
    _SC_SSIZE_MAX___456 = 110,
    _SC_SCHAR_MAX___456 = 111,
    _SC_SCHAR_MIN___456 = 112,
    _SC_SHRT_MAX___456 = 113,
    _SC_SHRT_MIN___456 = 114,
    _SC_UCHAR_MAX___456 = 115,
    _SC_UINT_MAX___456 = 116,
    _SC_ULONG_MAX___456 = 117,
    _SC_USHRT_MAX___456 = 118,
    _SC_NL_ARGMAX___456 = 119,
    _SC_NL_LANGMAX___456 = 120,
    _SC_NL_MSGMAX___456 = 121,
    _SC_NL_NMAX___456 = 122,
    _SC_NL_SETMAX___456 = 123,
    _SC_NL_TEXTMAX___456 = 124,
    _SC_XBS5_ILP32_OFF32___456 = 125,
    _SC_XBS5_ILP32_OFFBIG___456 = 126,
    _SC_XBS5_LP64_OFF64___456 = 127,
    _SC_XBS5_LPBIG_OFFBIG___456 = 128,
    _SC_XOPEN_LEGACY___456 = 129,
    _SC_XOPEN_REALTIME___456 = 130,
    _SC_XOPEN_REALTIME_THREADS___456 = 131,
    _SC_ADVISORY_INFO___456 = 132,
    _SC_BARRIERS___456 = 133,
    _SC_BASE___456 = 134,
    _SC_C_LANG_SUPPORT___456 = 135,
    _SC_C_LANG_SUPPORT_R___456 = 136,
    _SC_CLOCK_SELECTION___456 = 137,
    _SC_CPUTIME___456 = 138,
    _SC_THREAD_CPUTIME___456 = 139,
    _SC_DEVICE_IO___456 = 140,
    _SC_DEVICE_SPECIFIC___456 = 141,
    _SC_DEVICE_SPECIFIC_R___456 = 142,
    _SC_FD_MGMT___456 = 143,
    _SC_FIFO___456 = 144,
    _SC_PIPE___456 = 145,
    _SC_FILE_ATTRIBUTES___456 = 146,
    _SC_FILE_LOCKING___456 = 147,
    _SC_FILE_SYSTEM___456 = 148,
    _SC_MONOTONIC_CLOCK___456 = 149,
    _SC_MULTI_PROCESS___456 = 150,
    _SC_SINGLE_PROCESS___456 = 151,
    _SC_NETWORKING___456 = 152,
    _SC_READER_WRITER_LOCKS___456 = 153,
    _SC_SPIN_LOCKS___456 = 154,
    _SC_REGEXP___456 = 155,
    _SC_REGEX_VERSION___456 = 156,
    _SC_SHELL___456 = 157,
    _SC_SIGNALS___456 = 158,
    _SC_SPAWN___456 = 159,
    _SC_SPORADIC_SERVER___456 = 160,
    _SC_THREAD_SPORADIC_SERVER___456 = 161,
    _SC_SYSTEM_DATABASE___456 = 162,
    _SC_SYSTEM_DATABASE_R___456 = 163,
    _SC_TIMEOUTS___456 = 164,
    _SC_TYPED_MEMORY_OBJECTS___456 = 165,
    _SC_USER_GROUPS___456 = 166,
    _SC_USER_GROUPS_R___456 = 167,
    _SC_2_PBS___456 = 168,
    _SC_2_PBS_ACCOUNTING___456 = 169,
    _SC_2_PBS_LOCATE___456 = 170,
    _SC_2_PBS_MESSAGE___456 = 171,
    _SC_2_PBS_TRACK___456 = 172,
    _SC_SYMLOOP_MAX___456 = 173,
    _SC_STREAMS___456 = 174,
    _SC_2_PBS_CHECKPOINT___456 = 175,
    _SC_V6_ILP32_OFF32___456 = 176,
    _SC_V6_ILP32_OFFBIG___456 = 177,
    _SC_V6_LP64_OFF64___456 = 178,
    _SC_V6_LPBIG_OFFBIG___456 = 179,
    _SC_HOST_NAME_MAX___456 = 180,
    _SC_TRACE___456 = 181,
    _SC_TRACE_EVENT_FILTER___456 = 182,
    _SC_TRACE_INHERIT___456 = 183,
    _SC_TRACE_LOG___456 = 184,
    _SC_LEVEL1_ICACHE_SIZE___456 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___456 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___456 = 187,
    _SC_LEVEL1_DCACHE_SIZE___456 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___456 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___456 = 190,
    _SC_LEVEL2_CACHE_SIZE___456 = 191,
    _SC_LEVEL2_CACHE_ASSOC___456 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___456 = 193,
    _SC_LEVEL3_CACHE_SIZE___456 = 194,
    _SC_LEVEL3_CACHE_ASSOC___456 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___456 = 196,
    _SC_LEVEL4_CACHE_SIZE___456 = 197,
    _SC_LEVEL4_CACHE_ASSOC___456 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___456 = 199,
    _SC_IPV6___456 = 235,
    _SC_RAW_SOCKETS___456 = 236,
    _SC_V7_ILP32_OFF32___456 = 237,
    _SC_V7_ILP32_OFFBIG___456 = 238,
    _SC_V7_LP64_OFF64___456 = 239,
    _SC_V7_LPBIG_OFFBIG___456 = 240,
    _SC_SS_REPL_MAX___456 = 241,
    _SC_TRACE_EVENT_NAME_MAX___456 = 242,
    _SC_TRACE_NAME_MAX___456 = 243,
    _SC_TRACE_SYS_MAX___456 = 244,
    _SC_TRACE_USER_EVENT_MAX___456 = 245,
    _SC_XOPEN_STREAMS___456 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___456 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___456 = 248
} ;
enum __anonenum_875524036___456 {
    _CS_PATH___456 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___456 = 1,
    _CS_GNU_LIBC_VERSION___456 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___456 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___456 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___456 = 5,
    _CS_LFS_CFLAGS___456 = 1000,
    _CS_LFS_LDFLAGS___456 = 1001,
    _CS_LFS_LIBS___456 = 1002,
    _CS_LFS_LINTFLAGS___456 = 1003,
    _CS_LFS64_CFLAGS___456 = 1004,
    _CS_LFS64_LDFLAGS___456 = 1005,
    _CS_LFS64_LIBS___456 = 1006,
    _CS_LFS64_LINTFLAGS___456 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___456 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___456 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___456 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___456 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___456 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___456 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___456 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___456 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___456 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___456 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___456 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___456 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___456 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___456 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___456 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___456 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___456 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___456 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___456 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___456 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___456 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___456 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___456 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___456 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___456 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___456 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___456 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___456 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___456 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___456 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___456 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___456 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___456 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___456 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___456 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___456 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___456 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___456 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___456 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___456 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___456 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___456 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___456 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___456 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___456 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___456 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___456 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___456 = 1147,
    _CS_V6_ENV___456 = 1148,
    _CS_V7_ENV___456 = 1149
} ;
enum __anonenum_513775621___456 {
    DT_UNKNOWN___456 = 0,
    DT_FIFO___456 = 1,
    DT_CHR___456 = 2,
    DT_DIR___456 = 4,
    DT_BLK___456 = 6,
    DT_REG___456 = 8,
    DT_LNK___456 = 10,
    DT_SOCK___456 = 12,
    DT_WHT___456 = 14
} ;
enum __anonenum_77002343___456 {
    SI_ASYNCNL___456 = -60,
    SI_TKILL___456 = -6,
    SI_SIGIO___456 = -5,
    SI_ASYNCIO___456 = -4,
    SI_MESGQ___456 = -3,
    SI_TIMER___456 = -2,
    SI_QUEUE___456 = -1,
    SI_USER___456 = 0,
    SI_KERNEL___456 = 128
} ;
enum __anonenum_131038172___456 {
    ILL_ILLOPC___456 = 1,
    ILL_ILLOPN___456 = 2,
    ILL_ILLADR___456 = 3,
    ILL_ILLTRP___456 = 4,
    ILL_PRVOPC___456 = 5,
    ILL_PRVREG___456 = 6,
    ILL_COPROC___456 = 7,
    ILL_BADSTK___456 = 8
} ;
enum __anonenum_452038093___456 {
    FPE_INTDIV___456 = 1,
    FPE_INTOVF___456 = 2,
    FPE_FLTDIV___456 = 3,
    FPE_FLTOVF___456 = 4,
    FPE_FLTUND___456 = 5,
    FPE_FLTRES___456 = 6,
    FPE_FLTINV___456 = 7,
    FPE_FLTSUB___456 = 8
} ;
enum __anonenum_30976155___456 {
    SEGV_MAPERR___456 = 1,
    SEGV_ACCERR___456 = 2,
    SEGV_BNDERR___456 = 3,
    SEGV_PKUERR___456 = 4
} ;
enum __anonenum_1036286214___456 {
    BUS_ADRALN___456 = 1,
    BUS_ADRERR___456 = 2,
    BUS_OBJERR___456 = 3,
    BUS_MCEERR_AR___456 = 4,
    BUS_MCEERR_AO___456 = 5
} ;
enum __anonenum_493465559___456 {
    TRAP_BRKPT___456 = 1,
    TRAP_TRACE___456 = 2
} ;
enum __anonenum_23175539___456 {
    CLD_EXITED___456 = 1,
    CLD_KILLED___456 = 2,
    CLD_DUMPED___456 = 3,
    CLD_TRAPPED___456 = 4,
    CLD_STOPPED___456 = 5,
    CLD_CONTINUED___456 = 6
} ;
enum __anonenum_111643124___456 {
    POLL_IN___456 = 1,
    POLL_OUT___456 = 2,
    POLL_MSG___456 = 3,
    POLL_ERR___456 = 4,
    POLL_PRI___456 = 5,
    POLL_HUP___456 = 6
} ;
enum __anonenum_852341087___456 {
    SIGEV_SIGNAL___456 = 0,
    SIGEV_NONE___456 = 1,
    SIGEV_THREAD___456 = 2,
    SIGEV_THREAD_ID___456 = 4
} ;
enum __anonenum_451154152___456 {
    REG_R8___456 = 0,
    REG_R9___456 = 1,
    REG_R10___456 = 2,
    REG_R11___456 = 3,
    REG_R12___456 = 4,
    REG_R13___456 = 5,
    REG_R14___456 = 6,
    REG_R15___456 = 7,
    REG_RDI___456 = 8,
    REG_RSI___456 = 9,
    REG_RBP___456 = 10,
    REG_RBX___456 = 11,
    REG_RDX___456 = 12,
    REG_RAX___456 = 13,
    REG_RCX___456 = 14,
    REG_RSP___456 = 15,
    REG_RIP___456 = 16,
    REG_EFL___456 = 17,
    REG_CSGSFS___456 = 18,
    REG_ERR___456 = 19,
    REG_TRAPNO___456 = 20,
    REG_OLDMASK___456 = 21,
    REG_CR2___456 = 22
} ;
enum __anonenum_57186863___456 {
    SS_ONSTACK___456 = 1,
    SS_DISABLE___456 = 2
} ;
enum __anonenum_83571709___456 {
    MSG_OOB___456 = 1,
    MSG_PEEK___456 = 2,
    MSG_DONTROUTE___456 = 4,
    MSG_TRYHARD___456 = 4,
    MSG_CTRUNC___456 = 8,
    MSG_PROXY___456 = 16,
    MSG_TRUNC___456 = 32,
    MSG_DONTWAIT___456 = 64,
    MSG_EOR___456 = 128,
    MSG_WAITALL___456 = 256,
    MSG_FIN___456 = 512,
    MSG_SYN___456 = 1024,
    MSG_CONFIRM___456 = 2048,
    MSG_RST___456 = 4096,
    MSG_ERRQUEUE___456 = 8192,
    MSG_NOSIGNAL___456 = 16384,
    MSG_MORE___456 = 32768,
    MSG_WAITFORONE___456 = 65536,
    MSG_BATCH___456 = 262144,
    MSG_ZEROCOPY___456 = 67108864,
    MSG_FASTOPEN___456 = 536870912,
    MSG_CMSG_CLOEXEC___456 = 1073741824
} ;
enum __anonenum_617082774___456 {
    SCM_RIGHTS___456 = 1,
    SCM_CREDENTIALS___456 = 2
} ;
enum __anonenum_606441560___456 {
    SHUT_RD___456 = 0,
    SHUT_WR___456 = 1,
    SHUT_RDWR___456 = 2
} ;
enum __anonenum_681669233___456 {
    IPPROTO_IP___456 = 0,
    IPPROTO_ICMP___456 = 1,
    IPPROTO_IGMP___456 = 2,
    IPPROTO_IPIP___456 = 4,
    IPPROTO_TCP___456 = 6,
    IPPROTO_EGP___456 = 8,
    IPPROTO_PUP___456 = 12,
    IPPROTO_UDP___456 = 17,
    IPPROTO_IDP___456 = 22,
    IPPROTO_TP___456 = 29,
    IPPROTO_DCCP___456 = 33,
    IPPROTO_IPV6___456 = 41,
    IPPROTO_RSVP___456 = 46,
    IPPROTO_GRE___456 = 47,
    IPPROTO_ESP___456 = 50,
    IPPROTO_AH___456 = 51,
    IPPROTO_MTP___456 = 92,
    IPPROTO_BEETPH___456 = 94,
    IPPROTO_ENCAP___456 = 98,
    IPPROTO_PIM___456 = 103,
    IPPROTO_COMP___456 = 108,
    IPPROTO_SCTP___456 = 132,
    IPPROTO_UDPLITE___456 = 136,
    IPPROTO_MPLS___456 = 137,
    IPPROTO_RAW___456 = 255,
    IPPROTO_MAX___456 = 256
} ;
enum __anonenum_218739988___456 {
    IPPROTO_HOPOPTS___456 = 0,
    IPPROTO_ROUTING___456 = 43,
    IPPROTO_FRAGMENT___456 = 44,
    IPPROTO_ICMPV6___456 = 58,
    IPPROTO_NONE___456 = 59,
    IPPROTO_DSTOPTS___456 = 60,
    IPPROTO_MH___456 = 135
} ;
enum __anonenum_662268580___456 {
    IPPORT_ECHO___456 = 7,
    IPPORT_DISCARD___456 = 9,
    IPPORT_SYSTAT___456 = 11,
    IPPORT_DAYTIME___456 = 13,
    IPPORT_NETSTAT___456 = 15,
    IPPORT_FTP___456 = 21,
    IPPORT_TELNET___456 = 23,
    IPPORT_SMTP___456 = 25,
    IPPORT_TIMESERVER___456 = 37,
    IPPORT_NAMESERVER___456 = 42,
    IPPORT_WHOIS___456 = 43,
    IPPORT_MTP___456 = 57,
    IPPORT_TFTP___456 = 69,
    IPPORT_RJE___456 = 77,
    IPPORT_FINGER___456 = 79,
    IPPORT_TTYLINK___456 = 87,
    IPPORT_SUPDUP___456 = 95,
    IPPORT_EXECSERVER___456 = 512,
    IPPORT_LOGINSERVER___456 = 513,
    IPPORT_CMDSERVER___456 = 514,
    IPPORT_EFSSERVER___456 = 520,
    IPPORT_BIFFUDP___456 = 512,
    IPPORT_WHOSERVER___456 = 513,
    IPPORT_ROUTESERVER___456 = 520,
    IPPORT_RESERVED___456 = 1024,
    IPPORT_USERRESERVED___456 = 5000
} ;
enum __anonenum_788308992___456 {
    TCP_ESTABLISHED___456 = 1,
    TCP_SYN_SENT___456 = 2,
    TCP_SYN_RECV___456 = 3,
    TCP_FIN_WAIT1___456 = 4,
    TCP_FIN_WAIT2___456 = 5,
    TCP_TIME_WAIT___456 = 6,
    TCP_CLOSE___456 = 7,
    TCP_CLOSE_WAIT___456 = 8,
    TCP_LAST_ACK___456 = 9,
    TCP_LISTEN___456 = 10,
    TCP_CLOSING___456 = 11
} ;
enum __anonenum_221125648___456 {
    TCP_NO_QUEUE___456 = 0,
    TCP_RECV_QUEUE___456 = 1,
    TCP_SEND_QUEUE___456 = 2,
    TCP_QUEUES_NR___456 = 3
} ;
enum __anonenum_34415463___456 {
    PTHREAD_CREATE_JOINABLE___456 = 0,
    PTHREAD_CREATE_DETACHED___456 = 1
} ;
enum __anonenum_303612439___456 {
    PTHREAD_MUTEX_TIMED_NP___456 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___456 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___456 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___456 = 3,
    PTHREAD_MUTEX_NORMAL___456 = 0,
    PTHREAD_MUTEX_RECURSIVE___456 = 1,
    PTHREAD_MUTEX_ERRORCHECK___456 = 2,
    PTHREAD_MUTEX_DEFAULT___456 = 0,
    PTHREAD_MUTEX_FAST_NP___456 = 0
} ;
enum __anonenum_931900394___456 {
    PTHREAD_MUTEX_STALLED___456 = 0,
    PTHREAD_MUTEX_STALLED_NP___456 = 0,
    PTHREAD_MUTEX_ROBUST___456 = 1,
    PTHREAD_MUTEX_ROBUST_NP___456 = 1
} ;
enum __anonenum_205214487___456 {
    PTHREAD_PRIO_NONE___456 = 0,
    PTHREAD_PRIO_INHERIT___456 = 1,
    PTHREAD_PRIO_PROTECT___456 = 2
} ;
enum __anonenum_25043950___456 {
    PTHREAD_RWLOCK_PREFER_READER_NP___456 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___456 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___456 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___456 = 0
} ;
enum __anonenum_436439511___456 {
    PTHREAD_INHERIT_SCHED___456 = 0,
    PTHREAD_EXPLICIT_SCHED___456 = 1
} ;
enum __anonenum_998661166___456 {
    PTHREAD_SCOPE_SYSTEM___456 = 0,
    PTHREAD_SCOPE_PROCESS___456 = 1
} ;
enum __anonenum_146137331___456 {
    PTHREAD_PROCESS_PRIVATE___456 = 0,
    PTHREAD_PROCESS_SHARED___456 = 1
} ;
enum __anonenum_53396917___456 {
    PTHREAD_CANCEL_ENABLE___456 = 0,
    PTHREAD_CANCEL_DISABLE___456 = 1
} ;
enum __anonenum_904563783___456 {
    PTHREAD_CANCEL_DEFERRED___456 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___456 = 1
} ;
enum __anonenum_672052974___456 {
    SSL_CT_VALIDATION_PERMISSIVE___456 = 0,
    SSL_CT_VALIDATION_STRICT___456 = 1
} ;
enum __anonenum_437032235___457 {
    _PC_LINK_MAX___457 = 0,
    _PC_MAX_CANON___457 = 1,
    _PC_MAX_INPUT___457 = 2,
    _PC_NAME_MAX___457 = 3,
    _PC_PATH_MAX___457 = 4,
    _PC_PIPE_BUF___457 = 5,
    _PC_CHOWN_RESTRICTED___457 = 6,
    _PC_NO_TRUNC___457 = 7,
    _PC_VDISABLE___457 = 8,
    _PC_SYNC_IO___457 = 9,
    _PC_ASYNC_IO___457 = 10,
    _PC_PRIO_IO___457 = 11,
    _PC_SOCK_MAXBUF___457 = 12,
    _PC_FILESIZEBITS___457 = 13,
    _PC_REC_INCR_XFER_SIZE___457 = 14,
    _PC_REC_MAX_XFER_SIZE___457 = 15,
    _PC_REC_MIN_XFER_SIZE___457 = 16,
    _PC_REC_XFER_ALIGN___457 = 17,
    _PC_ALLOC_SIZE_MIN___457 = 18,
    _PC_SYMLINK_MAX___457 = 19,
    _PC_2_SYMLINKS___457 = 20
} ;
enum __anonenum_315186338___457 {
    _SC_ARG_MAX___457 = 0,
    _SC_CHILD_MAX___457 = 1,
    _SC_CLK_TCK___457 = 2,
    _SC_NGROUPS_MAX___457 = 3,
    _SC_OPEN_MAX___457 = 4,
    _SC_STREAM_MAX___457 = 5,
    _SC_TZNAME_MAX___457 = 6,
    _SC_JOB_CONTROL___457 = 7,
    _SC_SAVED_IDS___457 = 8,
    _SC_REALTIME_SIGNALS___457 = 9,
    _SC_PRIORITY_SCHEDULING___457 = 10,
    _SC_TIMERS___457 = 11,
    _SC_ASYNCHRONOUS_IO___457 = 12,
    _SC_PRIORITIZED_IO___457 = 13,
    _SC_SYNCHRONIZED_IO___457 = 14,
    _SC_FSYNC___457 = 15,
    _SC_MAPPED_FILES___457 = 16,
    _SC_MEMLOCK___457 = 17,
    _SC_MEMLOCK_RANGE___457 = 18,
    _SC_MEMORY_PROTECTION___457 = 19,
    _SC_MESSAGE_PASSING___457 = 20,
    _SC_SEMAPHORES___457 = 21,
    _SC_SHARED_MEMORY_OBJECTS___457 = 22,
    _SC_AIO_LISTIO_MAX___457 = 23,
    _SC_AIO_MAX___457 = 24,
    _SC_AIO_PRIO_DELTA_MAX___457 = 25,
    _SC_DELAYTIMER_MAX___457 = 26,
    _SC_MQ_OPEN_MAX___457 = 27,
    _SC_MQ_PRIO_MAX___457 = 28,
    _SC_VERSION___457 = 29,
    _SC_PAGESIZE___457 = 30,
    _SC_RTSIG_MAX___457 = 31,
    _SC_SEM_NSEMS_MAX___457 = 32,
    _SC_SEM_VALUE_MAX___457 = 33,
    _SC_SIGQUEUE_MAX___457 = 34,
    _SC_TIMER_MAX___457 = 35,
    _SC_BC_BASE_MAX___457 = 36,
    _SC_BC_DIM_MAX___457 = 37,
    _SC_BC_SCALE_MAX___457 = 38,
    _SC_BC_STRING_MAX___457 = 39,
    _SC_COLL_WEIGHTS_MAX___457 = 40,
    _SC_EQUIV_CLASS_MAX___457 = 41,
    _SC_EXPR_NEST_MAX___457 = 42,
    _SC_LINE_MAX___457 = 43,
    _SC_RE_DUP_MAX___457 = 44,
    _SC_CHARCLASS_NAME_MAX___457 = 45,
    _SC_2_VERSION___457 = 46,
    _SC_2_C_BIND___457 = 47,
    _SC_2_C_DEV___457 = 48,
    _SC_2_FORT_DEV___457 = 49,
    _SC_2_FORT_RUN___457 = 50,
    _SC_2_SW_DEV___457 = 51,
    _SC_2_LOCALEDEF___457 = 52,
    _SC_PII___457 = 53,
    _SC_PII_XTI___457 = 54,
    _SC_PII_SOCKET___457 = 55,
    _SC_PII_INTERNET___457 = 56,
    _SC_PII_OSI___457 = 57,
    _SC_POLL___457 = 58,
    _SC_SELECT___457 = 59,
    _SC_UIO_MAXIOV___457 = 60,
    _SC_IOV_MAX___457 = 60,
    _SC_PII_INTERNET_STREAM___457 = 61,
    _SC_PII_INTERNET_DGRAM___457 = 62,
    _SC_PII_OSI_COTS___457 = 63,
    _SC_PII_OSI_CLTS___457 = 64,
    _SC_PII_OSI_M___457 = 65,
    _SC_T_IOV_MAX___457 = 66,
    _SC_THREADS___457 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___457 = 68,
    _SC_GETGR_R_SIZE_MAX___457 = 69,
    _SC_GETPW_R_SIZE_MAX___457 = 70,
    _SC_LOGIN_NAME_MAX___457 = 71,
    _SC_TTY_NAME_MAX___457 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___457 = 73,
    _SC_THREAD_KEYS_MAX___457 = 74,
    _SC_THREAD_STACK_MIN___457 = 75,
    _SC_THREAD_THREADS_MAX___457 = 76,
    _SC_THREAD_ATTR_STACKADDR___457 = 77,
    _SC_THREAD_ATTR_STACKSIZE___457 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___457 = 79,
    _SC_THREAD_PRIO_INHERIT___457 = 80,
    _SC_THREAD_PRIO_PROTECT___457 = 81,
    _SC_THREAD_PROCESS_SHARED___457 = 82,
    _SC_NPROCESSORS_CONF___457 = 83,
    _SC_NPROCESSORS_ONLN___457 = 84,
    _SC_PHYS_PAGES___457 = 85,
    _SC_AVPHYS_PAGES___457 = 86,
    _SC_ATEXIT_MAX___457 = 87,
    _SC_PASS_MAX___457 = 88,
    _SC_XOPEN_VERSION___457 = 89,
    _SC_XOPEN_XCU_VERSION___457 = 90,
    _SC_XOPEN_UNIX___457 = 91,
    _SC_XOPEN_CRYPT___457 = 92,
    _SC_XOPEN_ENH_I18N___457 = 93,
    _SC_XOPEN_SHM___457 = 94,
    _SC_2_CHAR_TERM___457 = 95,
    _SC_2_C_VERSION___457 = 96,
    _SC_2_UPE___457 = 97,
    _SC_XOPEN_XPG2___457 = 98,
    _SC_XOPEN_XPG3___457 = 99,
    _SC_XOPEN_XPG4___457 = 100,
    _SC_CHAR_BIT___457 = 101,
    _SC_CHAR_MAX___457 = 102,
    _SC_CHAR_MIN___457 = 103,
    _SC_INT_MAX___457 = 104,
    _SC_INT_MIN___457 = 105,
    _SC_LONG_BIT___457 = 106,
    _SC_WORD_BIT___457 = 107,
    _SC_MB_LEN_MAX___457 = 108,
    _SC_NZERO___457 = 109,
    _SC_SSIZE_MAX___457 = 110,
    _SC_SCHAR_MAX___457 = 111,
    _SC_SCHAR_MIN___457 = 112,
    _SC_SHRT_MAX___457 = 113,
    _SC_SHRT_MIN___457 = 114,
    _SC_UCHAR_MAX___457 = 115,
    _SC_UINT_MAX___457 = 116,
    _SC_ULONG_MAX___457 = 117,
    _SC_USHRT_MAX___457 = 118,
    _SC_NL_ARGMAX___457 = 119,
    _SC_NL_LANGMAX___457 = 120,
    _SC_NL_MSGMAX___457 = 121,
    _SC_NL_NMAX___457 = 122,
    _SC_NL_SETMAX___457 = 123,
    _SC_NL_TEXTMAX___457 = 124,
    _SC_XBS5_ILP32_OFF32___457 = 125,
    _SC_XBS5_ILP32_OFFBIG___457 = 126,
    _SC_XBS5_LP64_OFF64___457 = 127,
    _SC_XBS5_LPBIG_OFFBIG___457 = 128,
    _SC_XOPEN_LEGACY___457 = 129,
    _SC_XOPEN_REALTIME___457 = 130,
    _SC_XOPEN_REALTIME_THREADS___457 = 131,
    _SC_ADVISORY_INFO___457 = 132,
    _SC_BARRIERS___457 = 133,
    _SC_BASE___457 = 134,
    _SC_C_LANG_SUPPORT___457 = 135,
    _SC_C_LANG_SUPPORT_R___457 = 136,
    _SC_CLOCK_SELECTION___457 = 137,
    _SC_CPUTIME___457 = 138,
    _SC_THREAD_CPUTIME___457 = 139,
    _SC_DEVICE_IO___457 = 140,
    _SC_DEVICE_SPECIFIC___457 = 141,
    _SC_DEVICE_SPECIFIC_R___457 = 142,
    _SC_FD_MGMT___457 = 143,
    _SC_FIFO___457 = 144,
    _SC_PIPE___457 = 145,
    _SC_FILE_ATTRIBUTES___457 = 146,
    _SC_FILE_LOCKING___457 = 147,
    _SC_FILE_SYSTEM___457 = 148,
    _SC_MONOTONIC_CLOCK___457 = 149,
    _SC_MULTI_PROCESS___457 = 150,
    _SC_SINGLE_PROCESS___457 = 151,
    _SC_NETWORKING___457 = 152,
    _SC_READER_WRITER_LOCKS___457 = 153,
    _SC_SPIN_LOCKS___457 = 154,
    _SC_REGEXP___457 = 155,
    _SC_REGEX_VERSION___457 = 156,
    _SC_SHELL___457 = 157,
    _SC_SIGNALS___457 = 158,
    _SC_SPAWN___457 = 159,
    _SC_SPORADIC_SERVER___457 = 160,
    _SC_THREAD_SPORADIC_SERVER___457 = 161,
    _SC_SYSTEM_DATABASE___457 = 162,
    _SC_SYSTEM_DATABASE_R___457 = 163,
    _SC_TIMEOUTS___457 = 164,
    _SC_TYPED_MEMORY_OBJECTS___457 = 165,
    _SC_USER_GROUPS___457 = 166,
    _SC_USER_GROUPS_R___457 = 167,
    _SC_2_PBS___457 = 168,
    _SC_2_PBS_ACCOUNTING___457 = 169,
    _SC_2_PBS_LOCATE___457 = 170,
    _SC_2_PBS_MESSAGE___457 = 171,
    _SC_2_PBS_TRACK___457 = 172,
    _SC_SYMLOOP_MAX___457 = 173,
    _SC_STREAMS___457 = 174,
    _SC_2_PBS_CHECKPOINT___457 = 175,
    _SC_V6_ILP32_OFF32___457 = 176,
    _SC_V6_ILP32_OFFBIG___457 = 177,
    _SC_V6_LP64_OFF64___457 = 178,
    _SC_V6_LPBIG_OFFBIG___457 = 179,
    _SC_HOST_NAME_MAX___457 = 180,
    _SC_TRACE___457 = 181,
    _SC_TRACE_EVENT_FILTER___457 = 182,
    _SC_TRACE_INHERIT___457 = 183,
    _SC_TRACE_LOG___457 = 184,
    _SC_LEVEL1_ICACHE_SIZE___457 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___457 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___457 = 187,
    _SC_LEVEL1_DCACHE_SIZE___457 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___457 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___457 = 190,
    _SC_LEVEL2_CACHE_SIZE___457 = 191,
    _SC_LEVEL2_CACHE_ASSOC___457 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___457 = 193,
    _SC_LEVEL3_CACHE_SIZE___457 = 194,
    _SC_LEVEL3_CACHE_ASSOC___457 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___457 = 196,
    _SC_LEVEL4_CACHE_SIZE___457 = 197,
    _SC_LEVEL4_CACHE_ASSOC___457 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___457 = 199,
    _SC_IPV6___457 = 235,
    _SC_RAW_SOCKETS___457 = 236,
    _SC_V7_ILP32_OFF32___457 = 237,
    _SC_V7_ILP32_OFFBIG___457 = 238,
    _SC_V7_LP64_OFF64___457 = 239,
    _SC_V7_LPBIG_OFFBIG___457 = 240,
    _SC_SS_REPL_MAX___457 = 241,
    _SC_TRACE_EVENT_NAME_MAX___457 = 242,
    _SC_TRACE_NAME_MAX___457 = 243,
    _SC_TRACE_SYS_MAX___457 = 244,
    _SC_TRACE_USER_EVENT_MAX___457 = 245,
    _SC_XOPEN_STREAMS___457 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___457 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___457 = 248
} ;
enum __anonenum_875524036___457 {
    _CS_PATH___457 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___457 = 1,
    _CS_GNU_LIBC_VERSION___457 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___457 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___457 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___457 = 5,
    _CS_LFS_CFLAGS___457 = 1000,
    _CS_LFS_LDFLAGS___457 = 1001,
    _CS_LFS_LIBS___457 = 1002,
    _CS_LFS_LINTFLAGS___457 = 1003,
    _CS_LFS64_CFLAGS___457 = 1004,
    _CS_LFS64_LDFLAGS___457 = 1005,
    _CS_LFS64_LIBS___457 = 1006,
    _CS_LFS64_LINTFLAGS___457 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___457 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___457 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___457 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___457 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___457 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___457 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___457 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___457 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___457 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___457 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___457 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___457 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___457 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___457 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___457 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___457 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___457 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___457 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___457 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___457 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___457 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___457 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___457 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___457 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___457 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___457 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___457 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___457 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___457 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___457 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___457 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___457 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___457 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___457 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___457 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___457 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___457 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___457 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___457 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___457 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___457 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___457 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___457 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___457 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___457 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___457 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___457 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___457 = 1147,
    _CS_V6_ENV___457 = 1148,
    _CS_V7_ENV___457 = 1149
} ;
enum __anonenum_513775621___457 {
    DT_UNKNOWN___457 = 0,
    DT_FIFO___457 = 1,
    DT_CHR___457 = 2,
    DT_DIR___457 = 4,
    DT_BLK___457 = 6,
    DT_REG___457 = 8,
    DT_LNK___457 = 10,
    DT_SOCK___457 = 12,
    DT_WHT___457 = 14
} ;
enum __anonenum_77002343___457 {
    SI_ASYNCNL___457 = -60,
    SI_TKILL___457 = -6,
    SI_SIGIO___457 = -5,
    SI_ASYNCIO___457 = -4,
    SI_MESGQ___457 = -3,
    SI_TIMER___457 = -2,
    SI_QUEUE___457 = -1,
    SI_USER___457 = 0,
    SI_KERNEL___457 = 128
} ;
enum __anonenum_131038172___457 {
    ILL_ILLOPC___457 = 1,
    ILL_ILLOPN___457 = 2,
    ILL_ILLADR___457 = 3,
    ILL_ILLTRP___457 = 4,
    ILL_PRVOPC___457 = 5,
    ILL_PRVREG___457 = 6,
    ILL_COPROC___457 = 7,
    ILL_BADSTK___457 = 8
} ;
enum __anonenum_452038093___457 {
    FPE_INTDIV___457 = 1,
    FPE_INTOVF___457 = 2,
    FPE_FLTDIV___457 = 3,
    FPE_FLTOVF___457 = 4,
    FPE_FLTUND___457 = 5,
    FPE_FLTRES___457 = 6,
    FPE_FLTINV___457 = 7,
    FPE_FLTSUB___457 = 8
} ;
enum __anonenum_30976155___457 {
    SEGV_MAPERR___457 = 1,
    SEGV_ACCERR___457 = 2,
    SEGV_BNDERR___457 = 3,
    SEGV_PKUERR___457 = 4
} ;
enum __anonenum_1036286214___457 {
    BUS_ADRALN___457 = 1,
    BUS_ADRERR___457 = 2,
    BUS_OBJERR___457 = 3,
    BUS_MCEERR_AR___457 = 4,
    BUS_MCEERR_AO___457 = 5
} ;
enum __anonenum_493465559___457 {
    TRAP_BRKPT___457 = 1,
    TRAP_TRACE___457 = 2
} ;
enum __anonenum_23175539___457 {
    CLD_EXITED___457 = 1,
    CLD_KILLED___457 = 2,
    CLD_DUMPED___457 = 3,
    CLD_TRAPPED___457 = 4,
    CLD_STOPPED___457 = 5,
    CLD_CONTINUED___457 = 6
} ;
enum __anonenum_111643124___457 {
    POLL_IN___457 = 1,
    POLL_OUT___457 = 2,
    POLL_MSG___457 = 3,
    POLL_ERR___457 = 4,
    POLL_PRI___457 = 5,
    POLL_HUP___457 = 6
} ;
enum __anonenum_852341087___457 {
    SIGEV_SIGNAL___457 = 0,
    SIGEV_NONE___457 = 1,
    SIGEV_THREAD___457 = 2,
    SIGEV_THREAD_ID___457 = 4
} ;
enum __anonenum_451154152___457 {
    REG_R8___457 = 0,
    REG_R9___457 = 1,
    REG_R10___457 = 2,
    REG_R11___457 = 3,
    REG_R12___457 = 4,
    REG_R13___457 = 5,
    REG_R14___457 = 6,
    REG_R15___457 = 7,
    REG_RDI___457 = 8,
    REG_RSI___457 = 9,
    REG_RBP___457 = 10,
    REG_RBX___457 = 11,
    REG_RDX___457 = 12,
    REG_RAX___457 = 13,
    REG_RCX___457 = 14,
    REG_RSP___457 = 15,
    REG_RIP___457 = 16,
    REG_EFL___457 = 17,
    REG_CSGSFS___457 = 18,
    REG_ERR___457 = 19,
    REG_TRAPNO___457 = 20,
    REG_OLDMASK___457 = 21,
    REG_CR2___457 = 22
} ;
enum __anonenum_57186863___457 {
    SS_ONSTACK___457 = 1,
    SS_DISABLE___457 = 2
} ;
enum __anonenum_83571709___457 {
    MSG_OOB___457 = 1,
    MSG_PEEK___457 = 2,
    MSG_DONTROUTE___457 = 4,
    MSG_TRYHARD___457 = 4,
    MSG_CTRUNC___457 = 8,
    MSG_PROXY___457 = 16,
    MSG_TRUNC___457 = 32,
    MSG_DONTWAIT___457 = 64,
    MSG_EOR___457 = 128,
    MSG_WAITALL___457 = 256,
    MSG_FIN___457 = 512,
    MSG_SYN___457 = 1024,
    MSG_CONFIRM___457 = 2048,
    MSG_RST___457 = 4096,
    MSG_ERRQUEUE___457 = 8192,
    MSG_NOSIGNAL___457 = 16384,
    MSG_MORE___457 = 32768,
    MSG_WAITFORONE___457 = 65536,
    MSG_BATCH___457 = 262144,
    MSG_ZEROCOPY___457 = 67108864,
    MSG_FASTOPEN___457 = 536870912,
    MSG_CMSG_CLOEXEC___457 = 1073741824
} ;
enum __anonenum_617082774___457 {
    SCM_RIGHTS___457 = 1,
    SCM_CREDENTIALS___457 = 2
} ;
enum __anonenum_606441560___457 {
    SHUT_RD___457 = 0,
    SHUT_WR___457 = 1,
    SHUT_RDWR___457 = 2
} ;
enum __anonenum_681669233___457 {
    IPPROTO_IP___457 = 0,
    IPPROTO_ICMP___457 = 1,
    IPPROTO_IGMP___457 = 2,
    IPPROTO_IPIP___457 = 4,
    IPPROTO_TCP___457 = 6,
    IPPROTO_EGP___457 = 8,
    IPPROTO_PUP___457 = 12,
    IPPROTO_UDP___457 = 17,
    IPPROTO_IDP___457 = 22,
    IPPROTO_TP___457 = 29,
    IPPROTO_DCCP___457 = 33,
    IPPROTO_IPV6___457 = 41,
    IPPROTO_RSVP___457 = 46,
    IPPROTO_GRE___457 = 47,
    IPPROTO_ESP___457 = 50,
    IPPROTO_AH___457 = 51,
    IPPROTO_MTP___457 = 92,
    IPPROTO_BEETPH___457 = 94,
    IPPROTO_ENCAP___457 = 98,
    IPPROTO_PIM___457 = 103,
    IPPROTO_COMP___457 = 108,
    IPPROTO_SCTP___457 = 132,
    IPPROTO_UDPLITE___457 = 136,
    IPPROTO_MPLS___457 = 137,
    IPPROTO_RAW___457 = 255,
    IPPROTO_MAX___457 = 256
} ;
enum __anonenum_218739988___457 {
    IPPROTO_HOPOPTS___457 = 0,
    IPPROTO_ROUTING___457 = 43,
    IPPROTO_FRAGMENT___457 = 44,
    IPPROTO_ICMPV6___457 = 58,
    IPPROTO_NONE___457 = 59,
    IPPROTO_DSTOPTS___457 = 60,
    IPPROTO_MH___457 = 135
} ;
enum __anonenum_662268580___457 {
    IPPORT_ECHO___457 = 7,
    IPPORT_DISCARD___457 = 9,
    IPPORT_SYSTAT___457 = 11,
    IPPORT_DAYTIME___457 = 13,
    IPPORT_NETSTAT___457 = 15,
    IPPORT_FTP___457 = 21,
    IPPORT_TELNET___457 = 23,
    IPPORT_SMTP___457 = 25,
    IPPORT_TIMESERVER___457 = 37,
    IPPORT_NAMESERVER___457 = 42,
    IPPORT_WHOIS___457 = 43,
    IPPORT_MTP___457 = 57,
    IPPORT_TFTP___457 = 69,
    IPPORT_RJE___457 = 77,
    IPPORT_FINGER___457 = 79,
    IPPORT_TTYLINK___457 = 87,
    IPPORT_SUPDUP___457 = 95,
    IPPORT_EXECSERVER___457 = 512,
    IPPORT_LOGINSERVER___457 = 513,
    IPPORT_CMDSERVER___457 = 514,
    IPPORT_EFSSERVER___457 = 520,
    IPPORT_BIFFUDP___457 = 512,
    IPPORT_WHOSERVER___457 = 513,
    IPPORT_ROUTESERVER___457 = 520,
    IPPORT_RESERVED___457 = 1024,
    IPPORT_USERRESERVED___457 = 5000
} ;
enum __anonenum_788308992___457 {
    TCP_ESTABLISHED___457 = 1,
    TCP_SYN_SENT___457 = 2,
    TCP_SYN_RECV___457 = 3,
    TCP_FIN_WAIT1___457 = 4,
    TCP_FIN_WAIT2___457 = 5,
    TCP_TIME_WAIT___457 = 6,
    TCP_CLOSE___457 = 7,
    TCP_CLOSE_WAIT___457 = 8,
    TCP_LAST_ACK___457 = 9,
    TCP_LISTEN___457 = 10,
    TCP_CLOSING___457 = 11
} ;
enum __anonenum_221125648___457 {
    TCP_NO_QUEUE___457 = 0,
    TCP_RECV_QUEUE___457 = 1,
    TCP_SEND_QUEUE___457 = 2,
    TCP_QUEUES_NR___457 = 3
} ;
enum __anonenum_34415463___457 {
    PTHREAD_CREATE_JOINABLE___457 = 0,
    PTHREAD_CREATE_DETACHED___457 = 1
} ;
enum __anonenum_303612439___457 {
    PTHREAD_MUTEX_TIMED_NP___457 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___457 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___457 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___457 = 3,
    PTHREAD_MUTEX_NORMAL___457 = 0,
    PTHREAD_MUTEX_RECURSIVE___457 = 1,
    PTHREAD_MUTEX_ERRORCHECK___457 = 2,
    PTHREAD_MUTEX_DEFAULT___457 = 0,
    PTHREAD_MUTEX_FAST_NP___457 = 0
} ;
enum __anonenum_931900394___457 {
    PTHREAD_MUTEX_STALLED___457 = 0,
    PTHREAD_MUTEX_STALLED_NP___457 = 0,
    PTHREAD_MUTEX_ROBUST___457 = 1,
    PTHREAD_MUTEX_ROBUST_NP___457 = 1
} ;
enum __anonenum_205214487___457 {
    PTHREAD_PRIO_NONE___457 = 0,
    PTHREAD_PRIO_INHERIT___457 = 1,
    PTHREAD_PRIO_PROTECT___457 = 2
} ;
enum __anonenum_25043950___457 {
    PTHREAD_RWLOCK_PREFER_READER_NP___457 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___457 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___457 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___457 = 0
} ;
enum __anonenum_436439511___457 {
    PTHREAD_INHERIT_SCHED___457 = 0,
    PTHREAD_EXPLICIT_SCHED___457 = 1
} ;
enum __anonenum_998661166___457 {
    PTHREAD_SCOPE_SYSTEM___457 = 0,
    PTHREAD_SCOPE_PROCESS___457 = 1
} ;
enum __anonenum_146137331___457 {
    PTHREAD_PROCESS_PRIVATE___457 = 0,
    PTHREAD_PROCESS_SHARED___457 = 1
} ;
enum __anonenum_53396917___457 {
    PTHREAD_CANCEL_ENABLE___457 = 0,
    PTHREAD_CANCEL_DISABLE___457 = 1
} ;
enum __anonenum_904563783___457 {
    PTHREAD_CANCEL_DEFERRED___457 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___457 = 1
} ;
enum __anonenum_672052974___457 {
    SSL_CT_VALIDATION_PERMISSIVE___457 = 0,
    SSL_CT_VALIDATION_STRICT___457 = 1
} ;
enum __anonenum_437032235___458 {
    _PC_LINK_MAX___458 = 0,
    _PC_MAX_CANON___458 = 1,
    _PC_MAX_INPUT___458 = 2,
    _PC_NAME_MAX___458 = 3,
    _PC_PATH_MAX___458 = 4,
    _PC_PIPE_BUF___458 = 5,
    _PC_CHOWN_RESTRICTED___458 = 6,
    _PC_NO_TRUNC___458 = 7,
    _PC_VDISABLE___458 = 8,
    _PC_SYNC_IO___458 = 9,
    _PC_ASYNC_IO___458 = 10,
    _PC_PRIO_IO___458 = 11,
    _PC_SOCK_MAXBUF___458 = 12,
    _PC_FILESIZEBITS___458 = 13,
    _PC_REC_INCR_XFER_SIZE___458 = 14,
    _PC_REC_MAX_XFER_SIZE___458 = 15,
    _PC_REC_MIN_XFER_SIZE___458 = 16,
    _PC_REC_XFER_ALIGN___458 = 17,
    _PC_ALLOC_SIZE_MIN___458 = 18,
    _PC_SYMLINK_MAX___458 = 19,
    _PC_2_SYMLINKS___458 = 20
} ;
enum __anonenum_315186338___458 {
    _SC_ARG_MAX___458 = 0,
    _SC_CHILD_MAX___458 = 1,
    _SC_CLK_TCK___458 = 2,
    _SC_NGROUPS_MAX___458 = 3,
    _SC_OPEN_MAX___458 = 4,
    _SC_STREAM_MAX___458 = 5,
    _SC_TZNAME_MAX___458 = 6,
    _SC_JOB_CONTROL___458 = 7,
    _SC_SAVED_IDS___458 = 8,
    _SC_REALTIME_SIGNALS___458 = 9,
    _SC_PRIORITY_SCHEDULING___458 = 10,
    _SC_TIMERS___458 = 11,
    _SC_ASYNCHRONOUS_IO___458 = 12,
    _SC_PRIORITIZED_IO___458 = 13,
    _SC_SYNCHRONIZED_IO___458 = 14,
    _SC_FSYNC___458 = 15,
    _SC_MAPPED_FILES___458 = 16,
    _SC_MEMLOCK___458 = 17,
    _SC_MEMLOCK_RANGE___458 = 18,
    _SC_MEMORY_PROTECTION___458 = 19,
    _SC_MESSAGE_PASSING___458 = 20,
    _SC_SEMAPHORES___458 = 21,
    _SC_SHARED_MEMORY_OBJECTS___458 = 22,
    _SC_AIO_LISTIO_MAX___458 = 23,
    _SC_AIO_MAX___458 = 24,
    _SC_AIO_PRIO_DELTA_MAX___458 = 25,
    _SC_DELAYTIMER_MAX___458 = 26,
    _SC_MQ_OPEN_MAX___458 = 27,
    _SC_MQ_PRIO_MAX___458 = 28,
    _SC_VERSION___458 = 29,
    _SC_PAGESIZE___458 = 30,
    _SC_RTSIG_MAX___458 = 31,
    _SC_SEM_NSEMS_MAX___458 = 32,
    _SC_SEM_VALUE_MAX___458 = 33,
    _SC_SIGQUEUE_MAX___458 = 34,
    _SC_TIMER_MAX___458 = 35,
    _SC_BC_BASE_MAX___458 = 36,
    _SC_BC_DIM_MAX___458 = 37,
    _SC_BC_SCALE_MAX___458 = 38,
    _SC_BC_STRING_MAX___458 = 39,
    _SC_COLL_WEIGHTS_MAX___458 = 40,
    _SC_EQUIV_CLASS_MAX___458 = 41,
    _SC_EXPR_NEST_MAX___458 = 42,
    _SC_LINE_MAX___458 = 43,
    _SC_RE_DUP_MAX___458 = 44,
    _SC_CHARCLASS_NAME_MAX___458 = 45,
    _SC_2_VERSION___458 = 46,
    _SC_2_C_BIND___458 = 47,
    _SC_2_C_DEV___458 = 48,
    _SC_2_FORT_DEV___458 = 49,
    _SC_2_FORT_RUN___458 = 50,
    _SC_2_SW_DEV___458 = 51,
    _SC_2_LOCALEDEF___458 = 52,
    _SC_PII___458 = 53,
    _SC_PII_XTI___458 = 54,
    _SC_PII_SOCKET___458 = 55,
    _SC_PII_INTERNET___458 = 56,
    _SC_PII_OSI___458 = 57,
    _SC_POLL___458 = 58,
    _SC_SELECT___458 = 59,
    _SC_UIO_MAXIOV___458 = 60,
    _SC_IOV_MAX___458 = 60,
    _SC_PII_INTERNET_STREAM___458 = 61,
    _SC_PII_INTERNET_DGRAM___458 = 62,
    _SC_PII_OSI_COTS___458 = 63,
    _SC_PII_OSI_CLTS___458 = 64,
    _SC_PII_OSI_M___458 = 65,
    _SC_T_IOV_MAX___458 = 66,
    _SC_THREADS___458 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___458 = 68,
    _SC_GETGR_R_SIZE_MAX___458 = 69,
    _SC_GETPW_R_SIZE_MAX___458 = 70,
    _SC_LOGIN_NAME_MAX___458 = 71,
    _SC_TTY_NAME_MAX___458 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___458 = 73,
    _SC_THREAD_KEYS_MAX___458 = 74,
    _SC_THREAD_STACK_MIN___458 = 75,
    _SC_THREAD_THREADS_MAX___458 = 76,
    _SC_THREAD_ATTR_STACKADDR___458 = 77,
    _SC_THREAD_ATTR_STACKSIZE___458 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___458 = 79,
    _SC_THREAD_PRIO_INHERIT___458 = 80,
    _SC_THREAD_PRIO_PROTECT___458 = 81,
    _SC_THREAD_PROCESS_SHARED___458 = 82,
    _SC_NPROCESSORS_CONF___458 = 83,
    _SC_NPROCESSORS_ONLN___458 = 84,
    _SC_PHYS_PAGES___458 = 85,
    _SC_AVPHYS_PAGES___458 = 86,
    _SC_ATEXIT_MAX___458 = 87,
    _SC_PASS_MAX___458 = 88,
    _SC_XOPEN_VERSION___458 = 89,
    _SC_XOPEN_XCU_VERSION___458 = 90,
    _SC_XOPEN_UNIX___458 = 91,
    _SC_XOPEN_CRYPT___458 = 92,
    _SC_XOPEN_ENH_I18N___458 = 93,
    _SC_XOPEN_SHM___458 = 94,
    _SC_2_CHAR_TERM___458 = 95,
    _SC_2_C_VERSION___458 = 96,
    _SC_2_UPE___458 = 97,
    _SC_XOPEN_XPG2___458 = 98,
    _SC_XOPEN_XPG3___458 = 99,
    _SC_XOPEN_XPG4___458 = 100,
    _SC_CHAR_BIT___458 = 101,
    _SC_CHAR_MAX___458 = 102,
    _SC_CHAR_MIN___458 = 103,
    _SC_INT_MAX___458 = 104,
    _SC_INT_MIN___458 = 105,
    _SC_LONG_BIT___458 = 106,
    _SC_WORD_BIT___458 = 107,
    _SC_MB_LEN_MAX___458 = 108,
    _SC_NZERO___458 = 109,
    _SC_SSIZE_MAX___458 = 110,
    _SC_SCHAR_MAX___458 = 111,
    _SC_SCHAR_MIN___458 = 112,
    _SC_SHRT_MAX___458 = 113,
    _SC_SHRT_MIN___458 = 114,
    _SC_UCHAR_MAX___458 = 115,
    _SC_UINT_MAX___458 = 116,
    _SC_ULONG_MAX___458 = 117,
    _SC_USHRT_MAX___458 = 118,
    _SC_NL_ARGMAX___458 = 119,
    _SC_NL_LANGMAX___458 = 120,
    _SC_NL_MSGMAX___458 = 121,
    _SC_NL_NMAX___458 = 122,
    _SC_NL_SETMAX___458 = 123,
    _SC_NL_TEXTMAX___458 = 124,
    _SC_XBS5_ILP32_OFF32___458 = 125,
    _SC_XBS5_ILP32_OFFBIG___458 = 126,
    _SC_XBS5_LP64_OFF64___458 = 127,
    _SC_XBS5_LPBIG_OFFBIG___458 = 128,
    _SC_XOPEN_LEGACY___458 = 129,
    _SC_XOPEN_REALTIME___458 = 130,
    _SC_XOPEN_REALTIME_THREADS___458 = 131,
    _SC_ADVISORY_INFO___458 = 132,
    _SC_BARRIERS___458 = 133,
    _SC_BASE___458 = 134,
    _SC_C_LANG_SUPPORT___458 = 135,
    _SC_C_LANG_SUPPORT_R___458 = 136,
    _SC_CLOCK_SELECTION___458 = 137,
    _SC_CPUTIME___458 = 138,
    _SC_THREAD_CPUTIME___458 = 139,
    _SC_DEVICE_IO___458 = 140,
    _SC_DEVICE_SPECIFIC___458 = 141,
    _SC_DEVICE_SPECIFIC_R___458 = 142,
    _SC_FD_MGMT___458 = 143,
    _SC_FIFO___458 = 144,
    _SC_PIPE___458 = 145,
    _SC_FILE_ATTRIBUTES___458 = 146,
    _SC_FILE_LOCKING___458 = 147,
    _SC_FILE_SYSTEM___458 = 148,
    _SC_MONOTONIC_CLOCK___458 = 149,
    _SC_MULTI_PROCESS___458 = 150,
    _SC_SINGLE_PROCESS___458 = 151,
    _SC_NETWORKING___458 = 152,
    _SC_READER_WRITER_LOCKS___458 = 153,
    _SC_SPIN_LOCKS___458 = 154,
    _SC_REGEXP___458 = 155,
    _SC_REGEX_VERSION___458 = 156,
    _SC_SHELL___458 = 157,
    _SC_SIGNALS___458 = 158,
    _SC_SPAWN___458 = 159,
    _SC_SPORADIC_SERVER___458 = 160,
    _SC_THREAD_SPORADIC_SERVER___458 = 161,
    _SC_SYSTEM_DATABASE___458 = 162,
    _SC_SYSTEM_DATABASE_R___458 = 163,
    _SC_TIMEOUTS___458 = 164,
    _SC_TYPED_MEMORY_OBJECTS___458 = 165,
    _SC_USER_GROUPS___458 = 166,
    _SC_USER_GROUPS_R___458 = 167,
    _SC_2_PBS___458 = 168,
    _SC_2_PBS_ACCOUNTING___458 = 169,
    _SC_2_PBS_LOCATE___458 = 170,
    _SC_2_PBS_MESSAGE___458 = 171,
    _SC_2_PBS_TRACK___458 = 172,
    _SC_SYMLOOP_MAX___458 = 173,
    _SC_STREAMS___458 = 174,
    _SC_2_PBS_CHECKPOINT___458 = 175,
    _SC_V6_ILP32_OFF32___458 = 176,
    _SC_V6_ILP32_OFFBIG___458 = 177,
    _SC_V6_LP64_OFF64___458 = 178,
    _SC_V6_LPBIG_OFFBIG___458 = 179,
    _SC_HOST_NAME_MAX___458 = 180,
    _SC_TRACE___458 = 181,
    _SC_TRACE_EVENT_FILTER___458 = 182,
    _SC_TRACE_INHERIT___458 = 183,
    _SC_TRACE_LOG___458 = 184,
    _SC_LEVEL1_ICACHE_SIZE___458 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___458 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___458 = 187,
    _SC_LEVEL1_DCACHE_SIZE___458 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___458 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___458 = 190,
    _SC_LEVEL2_CACHE_SIZE___458 = 191,
    _SC_LEVEL2_CACHE_ASSOC___458 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___458 = 193,
    _SC_LEVEL3_CACHE_SIZE___458 = 194,
    _SC_LEVEL3_CACHE_ASSOC___458 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___458 = 196,
    _SC_LEVEL4_CACHE_SIZE___458 = 197,
    _SC_LEVEL4_CACHE_ASSOC___458 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___458 = 199,
    _SC_IPV6___458 = 235,
    _SC_RAW_SOCKETS___458 = 236,
    _SC_V7_ILP32_OFF32___458 = 237,
    _SC_V7_ILP32_OFFBIG___458 = 238,
    _SC_V7_LP64_OFF64___458 = 239,
    _SC_V7_LPBIG_OFFBIG___458 = 240,
    _SC_SS_REPL_MAX___458 = 241,
    _SC_TRACE_EVENT_NAME_MAX___458 = 242,
    _SC_TRACE_NAME_MAX___458 = 243,
    _SC_TRACE_SYS_MAX___458 = 244,
    _SC_TRACE_USER_EVENT_MAX___458 = 245,
    _SC_XOPEN_STREAMS___458 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___458 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___458 = 248
} ;
enum __anonenum_875524036___458 {
    _CS_PATH___458 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___458 = 1,
    _CS_GNU_LIBC_VERSION___458 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___458 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___458 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___458 = 5,
    _CS_LFS_CFLAGS___458 = 1000,
    _CS_LFS_LDFLAGS___458 = 1001,
    _CS_LFS_LIBS___458 = 1002,
    _CS_LFS_LINTFLAGS___458 = 1003,
    _CS_LFS64_CFLAGS___458 = 1004,
    _CS_LFS64_LDFLAGS___458 = 1005,
    _CS_LFS64_LIBS___458 = 1006,
    _CS_LFS64_LINTFLAGS___458 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___458 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___458 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___458 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___458 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___458 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___458 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___458 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___458 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___458 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___458 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___458 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___458 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___458 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___458 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___458 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___458 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___458 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___458 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___458 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___458 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___458 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___458 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___458 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___458 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___458 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___458 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___458 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___458 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___458 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___458 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___458 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___458 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___458 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___458 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___458 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___458 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___458 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___458 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___458 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___458 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___458 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___458 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___458 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___458 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___458 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___458 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___458 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___458 = 1147,
    _CS_V6_ENV___458 = 1148,
    _CS_V7_ENV___458 = 1149
} ;
enum __anonenum_513775621___458 {
    DT_UNKNOWN___458 = 0,
    DT_FIFO___458 = 1,
    DT_CHR___458 = 2,
    DT_DIR___458 = 4,
    DT_BLK___458 = 6,
    DT_REG___458 = 8,
    DT_LNK___458 = 10,
    DT_SOCK___458 = 12,
    DT_WHT___458 = 14
} ;
enum __anonenum_77002343___458 {
    SI_ASYNCNL___458 = -60,
    SI_TKILL___458 = -6,
    SI_SIGIO___458 = -5,
    SI_ASYNCIO___458 = -4,
    SI_MESGQ___458 = -3,
    SI_TIMER___458 = -2,
    SI_QUEUE___458 = -1,
    SI_USER___458 = 0,
    SI_KERNEL___458 = 128
} ;
enum __anonenum_131038172___458 {
    ILL_ILLOPC___458 = 1,
    ILL_ILLOPN___458 = 2,
    ILL_ILLADR___458 = 3,
    ILL_ILLTRP___458 = 4,
    ILL_PRVOPC___458 = 5,
    ILL_PRVREG___458 = 6,
    ILL_COPROC___458 = 7,
    ILL_BADSTK___458 = 8
} ;
enum __anonenum_452038093___458 {
    FPE_INTDIV___458 = 1,
    FPE_INTOVF___458 = 2,
    FPE_FLTDIV___458 = 3,
    FPE_FLTOVF___458 = 4,
    FPE_FLTUND___458 = 5,
    FPE_FLTRES___458 = 6,
    FPE_FLTINV___458 = 7,
    FPE_FLTSUB___458 = 8
} ;
enum __anonenum_30976155___458 {
    SEGV_MAPERR___458 = 1,
    SEGV_ACCERR___458 = 2,
    SEGV_BNDERR___458 = 3,
    SEGV_PKUERR___458 = 4
} ;
enum __anonenum_1036286214___458 {
    BUS_ADRALN___458 = 1,
    BUS_ADRERR___458 = 2,
    BUS_OBJERR___458 = 3,
    BUS_MCEERR_AR___458 = 4,
    BUS_MCEERR_AO___458 = 5
} ;
enum __anonenum_493465559___458 {
    TRAP_BRKPT___458 = 1,
    TRAP_TRACE___458 = 2
} ;
enum __anonenum_23175539___458 {
    CLD_EXITED___458 = 1,
    CLD_KILLED___458 = 2,
    CLD_DUMPED___458 = 3,
    CLD_TRAPPED___458 = 4,
    CLD_STOPPED___458 = 5,
    CLD_CONTINUED___458 = 6
} ;
enum __anonenum_111643124___458 {
    POLL_IN___458 = 1,
    POLL_OUT___458 = 2,
    POLL_MSG___458 = 3,
    POLL_ERR___458 = 4,
    POLL_PRI___458 = 5,
    POLL_HUP___458 = 6
} ;
enum __anonenum_852341087___458 {
    SIGEV_SIGNAL___458 = 0,
    SIGEV_NONE___458 = 1,
    SIGEV_THREAD___458 = 2,
    SIGEV_THREAD_ID___458 = 4
} ;
enum __anonenum_451154152___458 {
    REG_R8___458 = 0,
    REG_R9___458 = 1,
    REG_R10___458 = 2,
    REG_R11___458 = 3,
    REG_R12___458 = 4,
    REG_R13___458 = 5,
    REG_R14___458 = 6,
    REG_R15___458 = 7,
    REG_RDI___458 = 8,
    REG_RSI___458 = 9,
    REG_RBP___458 = 10,
    REG_RBX___458 = 11,
    REG_RDX___458 = 12,
    REG_RAX___458 = 13,
    REG_RCX___458 = 14,
    REG_RSP___458 = 15,
    REG_RIP___458 = 16,
    REG_EFL___458 = 17,
    REG_CSGSFS___458 = 18,
    REG_ERR___458 = 19,
    REG_TRAPNO___458 = 20,
    REG_OLDMASK___458 = 21,
    REG_CR2___458 = 22
} ;
enum __anonenum_57186863___458 {
    SS_ONSTACK___458 = 1,
    SS_DISABLE___458 = 2
} ;
enum __anonenum_83571709___458 {
    MSG_OOB___458 = 1,
    MSG_PEEK___458 = 2,
    MSG_DONTROUTE___458 = 4,
    MSG_TRYHARD___458 = 4,
    MSG_CTRUNC___458 = 8,
    MSG_PROXY___458 = 16,
    MSG_TRUNC___458 = 32,
    MSG_DONTWAIT___458 = 64,
    MSG_EOR___458 = 128,
    MSG_WAITALL___458 = 256,
    MSG_FIN___458 = 512,
    MSG_SYN___458 = 1024,
    MSG_CONFIRM___458 = 2048,
    MSG_RST___458 = 4096,
    MSG_ERRQUEUE___458 = 8192,
    MSG_NOSIGNAL___458 = 16384,
    MSG_MORE___458 = 32768,
    MSG_WAITFORONE___458 = 65536,
    MSG_BATCH___458 = 262144,
    MSG_ZEROCOPY___458 = 67108864,
    MSG_FASTOPEN___458 = 536870912,
    MSG_CMSG_CLOEXEC___458 = 1073741824
} ;
enum __anonenum_617082774___458 {
    SCM_RIGHTS___458 = 1,
    SCM_CREDENTIALS___458 = 2
} ;
enum __anonenum_606441560___458 {
    SHUT_RD___458 = 0,
    SHUT_WR___458 = 1,
    SHUT_RDWR___458 = 2
} ;
enum __anonenum_681669233___458 {
    IPPROTO_IP___458 = 0,
    IPPROTO_ICMP___458 = 1,
    IPPROTO_IGMP___458 = 2,
    IPPROTO_IPIP___458 = 4,
    IPPROTO_TCP___458 = 6,
    IPPROTO_EGP___458 = 8,
    IPPROTO_PUP___458 = 12,
    IPPROTO_UDP___458 = 17,
    IPPROTO_IDP___458 = 22,
    IPPROTO_TP___458 = 29,
    IPPROTO_DCCP___458 = 33,
    IPPROTO_IPV6___458 = 41,
    IPPROTO_RSVP___458 = 46,
    IPPROTO_GRE___458 = 47,
    IPPROTO_ESP___458 = 50,
    IPPROTO_AH___458 = 51,
    IPPROTO_MTP___458 = 92,
    IPPROTO_BEETPH___458 = 94,
    IPPROTO_ENCAP___458 = 98,
    IPPROTO_PIM___458 = 103,
    IPPROTO_COMP___458 = 108,
    IPPROTO_SCTP___458 = 132,
    IPPROTO_UDPLITE___458 = 136,
    IPPROTO_MPLS___458 = 137,
    IPPROTO_RAW___458 = 255,
    IPPROTO_MAX___458 = 256
} ;
enum __anonenum_218739988___458 {
    IPPROTO_HOPOPTS___458 = 0,
    IPPROTO_ROUTING___458 = 43,
    IPPROTO_FRAGMENT___458 = 44,
    IPPROTO_ICMPV6___458 = 58,
    IPPROTO_NONE___458 = 59,
    IPPROTO_DSTOPTS___458 = 60,
    IPPROTO_MH___458 = 135
} ;
enum __anonenum_662268580___458 {
    IPPORT_ECHO___458 = 7,
    IPPORT_DISCARD___458 = 9,
    IPPORT_SYSTAT___458 = 11,
    IPPORT_DAYTIME___458 = 13,
    IPPORT_NETSTAT___458 = 15,
    IPPORT_FTP___458 = 21,
    IPPORT_TELNET___458 = 23,
    IPPORT_SMTP___458 = 25,
    IPPORT_TIMESERVER___458 = 37,
    IPPORT_NAMESERVER___458 = 42,
    IPPORT_WHOIS___458 = 43,
    IPPORT_MTP___458 = 57,
    IPPORT_TFTP___458 = 69,
    IPPORT_RJE___458 = 77,
    IPPORT_FINGER___458 = 79,
    IPPORT_TTYLINK___458 = 87,
    IPPORT_SUPDUP___458 = 95,
    IPPORT_EXECSERVER___458 = 512,
    IPPORT_LOGINSERVER___458 = 513,
    IPPORT_CMDSERVER___458 = 514,
    IPPORT_EFSSERVER___458 = 520,
    IPPORT_BIFFUDP___458 = 512,
    IPPORT_WHOSERVER___458 = 513,
    IPPORT_ROUTESERVER___458 = 520,
    IPPORT_RESERVED___458 = 1024,
    IPPORT_USERRESERVED___458 = 5000
} ;
enum __anonenum_788308992___458 {
    TCP_ESTABLISHED___458 = 1,
    TCP_SYN_SENT___458 = 2,
    TCP_SYN_RECV___458 = 3,
    TCP_FIN_WAIT1___458 = 4,
    TCP_FIN_WAIT2___458 = 5,
    TCP_TIME_WAIT___458 = 6,
    TCP_CLOSE___458 = 7,
    TCP_CLOSE_WAIT___458 = 8,
    TCP_LAST_ACK___458 = 9,
    TCP_LISTEN___458 = 10,
    TCP_CLOSING___458 = 11
} ;
enum __anonenum_221125648___458 {
    TCP_NO_QUEUE___458 = 0,
    TCP_RECV_QUEUE___458 = 1,
    TCP_SEND_QUEUE___458 = 2,
    TCP_QUEUES_NR___458 = 3
} ;
enum __anonenum_34415463___458 {
    PTHREAD_CREATE_JOINABLE___458 = 0,
    PTHREAD_CREATE_DETACHED___458 = 1
} ;
enum __anonenum_303612439___458 {
    PTHREAD_MUTEX_TIMED_NP___458 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___458 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___458 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___458 = 3,
    PTHREAD_MUTEX_NORMAL___458 = 0,
    PTHREAD_MUTEX_RECURSIVE___458 = 1,
    PTHREAD_MUTEX_ERRORCHECK___458 = 2,
    PTHREAD_MUTEX_DEFAULT___458 = 0,
    PTHREAD_MUTEX_FAST_NP___458 = 0
} ;
enum __anonenum_931900394___458 {
    PTHREAD_MUTEX_STALLED___458 = 0,
    PTHREAD_MUTEX_STALLED_NP___458 = 0,
    PTHREAD_MUTEX_ROBUST___458 = 1,
    PTHREAD_MUTEX_ROBUST_NP___458 = 1
} ;
enum __anonenum_205214487___458 {
    PTHREAD_PRIO_NONE___458 = 0,
    PTHREAD_PRIO_INHERIT___458 = 1,
    PTHREAD_PRIO_PROTECT___458 = 2
} ;
enum __anonenum_25043950___458 {
    PTHREAD_RWLOCK_PREFER_READER_NP___458 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___458 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___458 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___458 = 0
} ;
enum __anonenum_436439511___458 {
    PTHREAD_INHERIT_SCHED___458 = 0,
    PTHREAD_EXPLICIT_SCHED___458 = 1
} ;
enum __anonenum_998661166___458 {
    PTHREAD_SCOPE_SYSTEM___458 = 0,
    PTHREAD_SCOPE_PROCESS___458 = 1
} ;
enum __anonenum_146137331___458 {
    PTHREAD_PROCESS_PRIVATE___458 = 0,
    PTHREAD_PROCESS_SHARED___458 = 1
} ;
enum __anonenum_53396917___458 {
    PTHREAD_CANCEL_ENABLE___458 = 0,
    PTHREAD_CANCEL_DISABLE___458 = 1
} ;
enum __anonenum_904563783___458 {
    PTHREAD_CANCEL_DEFERRED___458 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___458 = 1
} ;
enum __anonenum_672052974___458 {
    SSL_CT_VALIDATION_PERMISSIVE___458 = 0,
    SSL_CT_VALIDATION_STRICT___458 = 1
} ;
enum __anonenum_437032235___459 {
    _PC_LINK_MAX___459 = 0,
    _PC_MAX_CANON___459 = 1,
    _PC_MAX_INPUT___459 = 2,
    _PC_NAME_MAX___459 = 3,
    _PC_PATH_MAX___459 = 4,
    _PC_PIPE_BUF___459 = 5,
    _PC_CHOWN_RESTRICTED___459 = 6,
    _PC_NO_TRUNC___459 = 7,
    _PC_VDISABLE___459 = 8,
    _PC_SYNC_IO___459 = 9,
    _PC_ASYNC_IO___459 = 10,
    _PC_PRIO_IO___459 = 11,
    _PC_SOCK_MAXBUF___459 = 12,
    _PC_FILESIZEBITS___459 = 13,
    _PC_REC_INCR_XFER_SIZE___459 = 14,
    _PC_REC_MAX_XFER_SIZE___459 = 15,
    _PC_REC_MIN_XFER_SIZE___459 = 16,
    _PC_REC_XFER_ALIGN___459 = 17,
    _PC_ALLOC_SIZE_MIN___459 = 18,
    _PC_SYMLINK_MAX___459 = 19,
    _PC_2_SYMLINKS___459 = 20
} ;
enum __anonenum_315186338___459 {
    _SC_ARG_MAX___459 = 0,
    _SC_CHILD_MAX___459 = 1,
    _SC_CLK_TCK___459 = 2,
    _SC_NGROUPS_MAX___459 = 3,
    _SC_OPEN_MAX___459 = 4,
    _SC_STREAM_MAX___459 = 5,
    _SC_TZNAME_MAX___459 = 6,
    _SC_JOB_CONTROL___459 = 7,
    _SC_SAVED_IDS___459 = 8,
    _SC_REALTIME_SIGNALS___459 = 9,
    _SC_PRIORITY_SCHEDULING___459 = 10,
    _SC_TIMERS___459 = 11,
    _SC_ASYNCHRONOUS_IO___459 = 12,
    _SC_PRIORITIZED_IO___459 = 13,
    _SC_SYNCHRONIZED_IO___459 = 14,
    _SC_FSYNC___459 = 15,
    _SC_MAPPED_FILES___459 = 16,
    _SC_MEMLOCK___459 = 17,
    _SC_MEMLOCK_RANGE___459 = 18,
    _SC_MEMORY_PROTECTION___459 = 19,
    _SC_MESSAGE_PASSING___459 = 20,
    _SC_SEMAPHORES___459 = 21,
    _SC_SHARED_MEMORY_OBJECTS___459 = 22,
    _SC_AIO_LISTIO_MAX___459 = 23,
    _SC_AIO_MAX___459 = 24,
    _SC_AIO_PRIO_DELTA_MAX___459 = 25,
    _SC_DELAYTIMER_MAX___459 = 26,
    _SC_MQ_OPEN_MAX___459 = 27,
    _SC_MQ_PRIO_MAX___459 = 28,
    _SC_VERSION___459 = 29,
    _SC_PAGESIZE___459 = 30,
    _SC_RTSIG_MAX___459 = 31,
    _SC_SEM_NSEMS_MAX___459 = 32,
    _SC_SEM_VALUE_MAX___459 = 33,
    _SC_SIGQUEUE_MAX___459 = 34,
    _SC_TIMER_MAX___459 = 35,
    _SC_BC_BASE_MAX___459 = 36,
    _SC_BC_DIM_MAX___459 = 37,
    _SC_BC_SCALE_MAX___459 = 38,
    _SC_BC_STRING_MAX___459 = 39,
    _SC_COLL_WEIGHTS_MAX___459 = 40,
    _SC_EQUIV_CLASS_MAX___459 = 41,
    _SC_EXPR_NEST_MAX___459 = 42,
    _SC_LINE_MAX___459 = 43,
    _SC_RE_DUP_MAX___459 = 44,
    _SC_CHARCLASS_NAME_MAX___459 = 45,
    _SC_2_VERSION___459 = 46,
    _SC_2_C_BIND___459 = 47,
    _SC_2_C_DEV___459 = 48,
    _SC_2_FORT_DEV___459 = 49,
    _SC_2_FORT_RUN___459 = 50,
    _SC_2_SW_DEV___459 = 51,
    _SC_2_LOCALEDEF___459 = 52,
    _SC_PII___459 = 53,
    _SC_PII_XTI___459 = 54,
    _SC_PII_SOCKET___459 = 55,
    _SC_PII_INTERNET___459 = 56,
    _SC_PII_OSI___459 = 57,
    _SC_POLL___459 = 58,
    _SC_SELECT___459 = 59,
    _SC_UIO_MAXIOV___459 = 60,
    _SC_IOV_MAX___459 = 60,
    _SC_PII_INTERNET_STREAM___459 = 61,
    _SC_PII_INTERNET_DGRAM___459 = 62,
    _SC_PII_OSI_COTS___459 = 63,
    _SC_PII_OSI_CLTS___459 = 64,
    _SC_PII_OSI_M___459 = 65,
    _SC_T_IOV_MAX___459 = 66,
    _SC_THREADS___459 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___459 = 68,
    _SC_GETGR_R_SIZE_MAX___459 = 69,
    _SC_GETPW_R_SIZE_MAX___459 = 70,
    _SC_LOGIN_NAME_MAX___459 = 71,
    _SC_TTY_NAME_MAX___459 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___459 = 73,
    _SC_THREAD_KEYS_MAX___459 = 74,
    _SC_THREAD_STACK_MIN___459 = 75,
    _SC_THREAD_THREADS_MAX___459 = 76,
    _SC_THREAD_ATTR_STACKADDR___459 = 77,
    _SC_THREAD_ATTR_STACKSIZE___459 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___459 = 79,
    _SC_THREAD_PRIO_INHERIT___459 = 80,
    _SC_THREAD_PRIO_PROTECT___459 = 81,
    _SC_THREAD_PROCESS_SHARED___459 = 82,
    _SC_NPROCESSORS_CONF___459 = 83,
    _SC_NPROCESSORS_ONLN___459 = 84,
    _SC_PHYS_PAGES___459 = 85,
    _SC_AVPHYS_PAGES___459 = 86,
    _SC_ATEXIT_MAX___459 = 87,
    _SC_PASS_MAX___459 = 88,
    _SC_XOPEN_VERSION___459 = 89,
    _SC_XOPEN_XCU_VERSION___459 = 90,
    _SC_XOPEN_UNIX___459 = 91,
    _SC_XOPEN_CRYPT___459 = 92,
    _SC_XOPEN_ENH_I18N___459 = 93,
    _SC_XOPEN_SHM___459 = 94,
    _SC_2_CHAR_TERM___459 = 95,
    _SC_2_C_VERSION___459 = 96,
    _SC_2_UPE___459 = 97,
    _SC_XOPEN_XPG2___459 = 98,
    _SC_XOPEN_XPG3___459 = 99,
    _SC_XOPEN_XPG4___459 = 100,
    _SC_CHAR_BIT___459 = 101,
    _SC_CHAR_MAX___459 = 102,
    _SC_CHAR_MIN___459 = 103,
    _SC_INT_MAX___459 = 104,
    _SC_INT_MIN___459 = 105,
    _SC_LONG_BIT___459 = 106,
    _SC_WORD_BIT___459 = 107,
    _SC_MB_LEN_MAX___459 = 108,
    _SC_NZERO___459 = 109,
    _SC_SSIZE_MAX___459 = 110,
    _SC_SCHAR_MAX___459 = 111,
    _SC_SCHAR_MIN___459 = 112,
    _SC_SHRT_MAX___459 = 113,
    _SC_SHRT_MIN___459 = 114,
    _SC_UCHAR_MAX___459 = 115,
    _SC_UINT_MAX___459 = 116,
    _SC_ULONG_MAX___459 = 117,
    _SC_USHRT_MAX___459 = 118,
    _SC_NL_ARGMAX___459 = 119,
    _SC_NL_LANGMAX___459 = 120,
    _SC_NL_MSGMAX___459 = 121,
    _SC_NL_NMAX___459 = 122,
    _SC_NL_SETMAX___459 = 123,
    _SC_NL_TEXTMAX___459 = 124,
    _SC_XBS5_ILP32_OFF32___459 = 125,
    _SC_XBS5_ILP32_OFFBIG___459 = 126,
    _SC_XBS5_LP64_OFF64___459 = 127,
    _SC_XBS5_LPBIG_OFFBIG___459 = 128,
    _SC_XOPEN_LEGACY___459 = 129,
    _SC_XOPEN_REALTIME___459 = 130,
    _SC_XOPEN_REALTIME_THREADS___459 = 131,
    _SC_ADVISORY_INFO___459 = 132,
    _SC_BARRIERS___459 = 133,
    _SC_BASE___459 = 134,
    _SC_C_LANG_SUPPORT___459 = 135,
    _SC_C_LANG_SUPPORT_R___459 = 136,
    _SC_CLOCK_SELECTION___459 = 137,
    _SC_CPUTIME___459 = 138,
    _SC_THREAD_CPUTIME___459 = 139,
    _SC_DEVICE_IO___459 = 140,
    _SC_DEVICE_SPECIFIC___459 = 141,
    _SC_DEVICE_SPECIFIC_R___459 = 142,
    _SC_FD_MGMT___459 = 143,
    _SC_FIFO___459 = 144,
    _SC_PIPE___459 = 145,
    _SC_FILE_ATTRIBUTES___459 = 146,
    _SC_FILE_LOCKING___459 = 147,
    _SC_FILE_SYSTEM___459 = 148,
    _SC_MONOTONIC_CLOCK___459 = 149,
    _SC_MULTI_PROCESS___459 = 150,
    _SC_SINGLE_PROCESS___459 = 151,
    _SC_NETWORKING___459 = 152,
    _SC_READER_WRITER_LOCKS___459 = 153,
    _SC_SPIN_LOCKS___459 = 154,
    _SC_REGEXP___459 = 155,
    _SC_REGEX_VERSION___459 = 156,
    _SC_SHELL___459 = 157,
    _SC_SIGNALS___459 = 158,
    _SC_SPAWN___459 = 159,
    _SC_SPORADIC_SERVER___459 = 160,
    _SC_THREAD_SPORADIC_SERVER___459 = 161,
    _SC_SYSTEM_DATABASE___459 = 162,
    _SC_SYSTEM_DATABASE_R___459 = 163,
    _SC_TIMEOUTS___459 = 164,
    _SC_TYPED_MEMORY_OBJECTS___459 = 165,
    _SC_USER_GROUPS___459 = 166,
    _SC_USER_GROUPS_R___459 = 167,
    _SC_2_PBS___459 = 168,
    _SC_2_PBS_ACCOUNTING___459 = 169,
    _SC_2_PBS_LOCATE___459 = 170,
    _SC_2_PBS_MESSAGE___459 = 171,
    _SC_2_PBS_TRACK___459 = 172,
    _SC_SYMLOOP_MAX___459 = 173,
    _SC_STREAMS___459 = 174,
    _SC_2_PBS_CHECKPOINT___459 = 175,
    _SC_V6_ILP32_OFF32___459 = 176,
    _SC_V6_ILP32_OFFBIG___459 = 177,
    _SC_V6_LP64_OFF64___459 = 178,
    _SC_V6_LPBIG_OFFBIG___459 = 179,
    _SC_HOST_NAME_MAX___459 = 180,
    _SC_TRACE___459 = 181,
    _SC_TRACE_EVENT_FILTER___459 = 182,
    _SC_TRACE_INHERIT___459 = 183,
    _SC_TRACE_LOG___459 = 184,
    _SC_LEVEL1_ICACHE_SIZE___459 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___459 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___459 = 187,
    _SC_LEVEL1_DCACHE_SIZE___459 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___459 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___459 = 190,
    _SC_LEVEL2_CACHE_SIZE___459 = 191,
    _SC_LEVEL2_CACHE_ASSOC___459 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___459 = 193,
    _SC_LEVEL3_CACHE_SIZE___459 = 194,
    _SC_LEVEL3_CACHE_ASSOC___459 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___459 = 196,
    _SC_LEVEL4_CACHE_SIZE___459 = 197,
    _SC_LEVEL4_CACHE_ASSOC___459 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___459 = 199,
    _SC_IPV6___459 = 235,
    _SC_RAW_SOCKETS___459 = 236,
    _SC_V7_ILP32_OFF32___459 = 237,
    _SC_V7_ILP32_OFFBIG___459 = 238,
    _SC_V7_LP64_OFF64___459 = 239,
    _SC_V7_LPBIG_OFFBIG___459 = 240,
    _SC_SS_REPL_MAX___459 = 241,
    _SC_TRACE_EVENT_NAME_MAX___459 = 242,
    _SC_TRACE_NAME_MAX___459 = 243,
    _SC_TRACE_SYS_MAX___459 = 244,
    _SC_TRACE_USER_EVENT_MAX___459 = 245,
    _SC_XOPEN_STREAMS___459 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___459 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___459 = 248
} ;
enum __anonenum_875524036___459 {
    _CS_PATH___459 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___459 = 1,
    _CS_GNU_LIBC_VERSION___459 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___459 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___459 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___459 = 5,
    _CS_LFS_CFLAGS___459 = 1000,
    _CS_LFS_LDFLAGS___459 = 1001,
    _CS_LFS_LIBS___459 = 1002,
    _CS_LFS_LINTFLAGS___459 = 1003,
    _CS_LFS64_CFLAGS___459 = 1004,
    _CS_LFS64_LDFLAGS___459 = 1005,
    _CS_LFS64_LIBS___459 = 1006,
    _CS_LFS64_LINTFLAGS___459 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___459 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___459 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___459 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___459 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___459 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___459 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___459 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___459 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___459 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___459 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___459 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___459 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___459 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___459 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___459 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___459 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___459 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___459 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___459 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___459 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___459 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___459 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___459 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___459 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___459 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___459 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___459 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___459 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___459 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___459 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___459 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___459 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___459 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___459 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___459 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___459 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___459 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___459 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___459 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___459 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___459 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___459 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___459 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___459 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___459 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___459 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___459 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___459 = 1147,
    _CS_V6_ENV___459 = 1148,
    _CS_V7_ENV___459 = 1149
} ;
enum __anonenum_513775621___459 {
    DT_UNKNOWN___459 = 0,
    DT_FIFO___459 = 1,
    DT_CHR___459 = 2,
    DT_DIR___459 = 4,
    DT_BLK___459 = 6,
    DT_REG___459 = 8,
    DT_LNK___459 = 10,
    DT_SOCK___459 = 12,
    DT_WHT___459 = 14
} ;
enum __anonenum_77002343___459 {
    SI_ASYNCNL___459 = -60,
    SI_TKILL___459 = -6,
    SI_SIGIO___459 = -5,
    SI_ASYNCIO___459 = -4,
    SI_MESGQ___459 = -3,
    SI_TIMER___459 = -2,
    SI_QUEUE___459 = -1,
    SI_USER___459 = 0,
    SI_KERNEL___459 = 128
} ;
enum __anonenum_131038172___459 {
    ILL_ILLOPC___459 = 1,
    ILL_ILLOPN___459 = 2,
    ILL_ILLADR___459 = 3,
    ILL_ILLTRP___459 = 4,
    ILL_PRVOPC___459 = 5,
    ILL_PRVREG___459 = 6,
    ILL_COPROC___459 = 7,
    ILL_BADSTK___459 = 8
} ;
enum __anonenum_452038093___459 {
    FPE_INTDIV___459 = 1,
    FPE_INTOVF___459 = 2,
    FPE_FLTDIV___459 = 3,
    FPE_FLTOVF___459 = 4,
    FPE_FLTUND___459 = 5,
    FPE_FLTRES___459 = 6,
    FPE_FLTINV___459 = 7,
    FPE_FLTSUB___459 = 8
} ;
enum __anonenum_30976155___459 {
    SEGV_MAPERR___459 = 1,
    SEGV_ACCERR___459 = 2,
    SEGV_BNDERR___459 = 3,
    SEGV_PKUERR___459 = 4
} ;
enum __anonenum_1036286214___459 {
    BUS_ADRALN___459 = 1,
    BUS_ADRERR___459 = 2,
    BUS_OBJERR___459 = 3,
    BUS_MCEERR_AR___459 = 4,
    BUS_MCEERR_AO___459 = 5
} ;
enum __anonenum_493465559___459 {
    TRAP_BRKPT___459 = 1,
    TRAP_TRACE___459 = 2
} ;
enum __anonenum_23175539___459 {
    CLD_EXITED___459 = 1,
    CLD_KILLED___459 = 2,
    CLD_DUMPED___459 = 3,
    CLD_TRAPPED___459 = 4,
    CLD_STOPPED___459 = 5,
    CLD_CONTINUED___459 = 6
} ;
enum __anonenum_111643124___459 {
    POLL_IN___459 = 1,
    POLL_OUT___459 = 2,
    POLL_MSG___459 = 3,
    POLL_ERR___459 = 4,
    POLL_PRI___459 = 5,
    POLL_HUP___459 = 6
} ;
enum __anonenum_852341087___459 {
    SIGEV_SIGNAL___459 = 0,
    SIGEV_NONE___459 = 1,
    SIGEV_THREAD___459 = 2,
    SIGEV_THREAD_ID___459 = 4
} ;
enum __anonenum_451154152___459 {
    REG_R8___459 = 0,
    REG_R9___459 = 1,
    REG_R10___459 = 2,
    REG_R11___459 = 3,
    REG_R12___459 = 4,
    REG_R13___459 = 5,
    REG_R14___459 = 6,
    REG_R15___459 = 7,
    REG_RDI___459 = 8,
    REG_RSI___459 = 9,
    REG_RBP___459 = 10,
    REG_RBX___459 = 11,
    REG_RDX___459 = 12,
    REG_RAX___459 = 13,
    REG_RCX___459 = 14,
    REG_RSP___459 = 15,
    REG_RIP___459 = 16,
    REG_EFL___459 = 17,
    REG_CSGSFS___459 = 18,
    REG_ERR___459 = 19,
    REG_TRAPNO___459 = 20,
    REG_OLDMASK___459 = 21,
    REG_CR2___459 = 22
} ;
enum __anonenum_57186863___459 {
    SS_ONSTACK___459 = 1,
    SS_DISABLE___459 = 2
} ;
enum __anonenum_83571709___459 {
    MSG_OOB___459 = 1,
    MSG_PEEK___459 = 2,
    MSG_DONTROUTE___459 = 4,
    MSG_TRYHARD___459 = 4,
    MSG_CTRUNC___459 = 8,
    MSG_PROXY___459 = 16,
    MSG_TRUNC___459 = 32,
    MSG_DONTWAIT___459 = 64,
    MSG_EOR___459 = 128,
    MSG_WAITALL___459 = 256,
    MSG_FIN___459 = 512,
    MSG_SYN___459 = 1024,
    MSG_CONFIRM___459 = 2048,
    MSG_RST___459 = 4096,
    MSG_ERRQUEUE___459 = 8192,
    MSG_NOSIGNAL___459 = 16384,
    MSG_MORE___459 = 32768,
    MSG_WAITFORONE___459 = 65536,
    MSG_BATCH___459 = 262144,
    MSG_ZEROCOPY___459 = 67108864,
    MSG_FASTOPEN___459 = 536870912,
    MSG_CMSG_CLOEXEC___459 = 1073741824
} ;
enum __anonenum_617082774___459 {
    SCM_RIGHTS___459 = 1,
    SCM_CREDENTIALS___459 = 2
} ;
enum __anonenum_606441560___459 {
    SHUT_RD___459 = 0,
    SHUT_WR___459 = 1,
    SHUT_RDWR___459 = 2
} ;
enum __anonenum_681669233___459 {
    IPPROTO_IP___459 = 0,
    IPPROTO_ICMP___459 = 1,
    IPPROTO_IGMP___459 = 2,
    IPPROTO_IPIP___459 = 4,
    IPPROTO_TCP___459 = 6,
    IPPROTO_EGP___459 = 8,
    IPPROTO_PUP___459 = 12,
    IPPROTO_UDP___459 = 17,
    IPPROTO_IDP___459 = 22,
    IPPROTO_TP___459 = 29,
    IPPROTO_DCCP___459 = 33,
    IPPROTO_IPV6___459 = 41,
    IPPROTO_RSVP___459 = 46,
    IPPROTO_GRE___459 = 47,
    IPPROTO_ESP___459 = 50,
    IPPROTO_AH___459 = 51,
    IPPROTO_MTP___459 = 92,
    IPPROTO_BEETPH___459 = 94,
    IPPROTO_ENCAP___459 = 98,
    IPPROTO_PIM___459 = 103,
    IPPROTO_COMP___459 = 108,
    IPPROTO_SCTP___459 = 132,
    IPPROTO_UDPLITE___459 = 136,
    IPPROTO_MPLS___459 = 137,
    IPPROTO_RAW___459 = 255,
    IPPROTO_MAX___459 = 256
} ;
enum __anonenum_218739988___459 {
    IPPROTO_HOPOPTS___459 = 0,
    IPPROTO_ROUTING___459 = 43,
    IPPROTO_FRAGMENT___459 = 44,
    IPPROTO_ICMPV6___459 = 58,
    IPPROTO_NONE___459 = 59,
    IPPROTO_DSTOPTS___459 = 60,
    IPPROTO_MH___459 = 135
} ;
enum __anonenum_662268580___459 {
    IPPORT_ECHO___459 = 7,
    IPPORT_DISCARD___459 = 9,
    IPPORT_SYSTAT___459 = 11,
    IPPORT_DAYTIME___459 = 13,
    IPPORT_NETSTAT___459 = 15,
    IPPORT_FTP___459 = 21,
    IPPORT_TELNET___459 = 23,
    IPPORT_SMTP___459 = 25,
    IPPORT_TIMESERVER___459 = 37,
    IPPORT_NAMESERVER___459 = 42,
    IPPORT_WHOIS___459 = 43,
    IPPORT_MTP___459 = 57,
    IPPORT_TFTP___459 = 69,
    IPPORT_RJE___459 = 77,
    IPPORT_FINGER___459 = 79,
    IPPORT_TTYLINK___459 = 87,
    IPPORT_SUPDUP___459 = 95,
    IPPORT_EXECSERVER___459 = 512,
    IPPORT_LOGINSERVER___459 = 513,
    IPPORT_CMDSERVER___459 = 514,
    IPPORT_EFSSERVER___459 = 520,
    IPPORT_BIFFUDP___459 = 512,
    IPPORT_WHOSERVER___459 = 513,
    IPPORT_ROUTESERVER___459 = 520,
    IPPORT_RESERVED___459 = 1024,
    IPPORT_USERRESERVED___459 = 5000
} ;
enum __anonenum_788308992___459 {
    TCP_ESTABLISHED___459 = 1,
    TCP_SYN_SENT___459 = 2,
    TCP_SYN_RECV___459 = 3,
    TCP_FIN_WAIT1___459 = 4,
    TCP_FIN_WAIT2___459 = 5,
    TCP_TIME_WAIT___459 = 6,
    TCP_CLOSE___459 = 7,
    TCP_CLOSE_WAIT___459 = 8,
    TCP_LAST_ACK___459 = 9,
    TCP_LISTEN___459 = 10,
    TCP_CLOSING___459 = 11
} ;
enum __anonenum_221125648___459 {
    TCP_NO_QUEUE___459 = 0,
    TCP_RECV_QUEUE___459 = 1,
    TCP_SEND_QUEUE___459 = 2,
    TCP_QUEUES_NR___459 = 3
} ;
enum __anonenum_34415463___459 {
    PTHREAD_CREATE_JOINABLE___459 = 0,
    PTHREAD_CREATE_DETACHED___459 = 1
} ;
enum __anonenum_303612439___459 {
    PTHREAD_MUTEX_TIMED_NP___459 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___459 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___459 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___459 = 3,
    PTHREAD_MUTEX_NORMAL___459 = 0,
    PTHREAD_MUTEX_RECURSIVE___459 = 1,
    PTHREAD_MUTEX_ERRORCHECK___459 = 2,
    PTHREAD_MUTEX_DEFAULT___459 = 0,
    PTHREAD_MUTEX_FAST_NP___459 = 0
} ;
enum __anonenum_931900394___459 {
    PTHREAD_MUTEX_STALLED___459 = 0,
    PTHREAD_MUTEX_STALLED_NP___459 = 0,
    PTHREAD_MUTEX_ROBUST___459 = 1,
    PTHREAD_MUTEX_ROBUST_NP___459 = 1
} ;
enum __anonenum_205214487___459 {
    PTHREAD_PRIO_NONE___459 = 0,
    PTHREAD_PRIO_INHERIT___459 = 1,
    PTHREAD_PRIO_PROTECT___459 = 2
} ;
enum __anonenum_25043950___459 {
    PTHREAD_RWLOCK_PREFER_READER_NP___459 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___459 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___459 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___459 = 0
} ;
enum __anonenum_436439511___459 {
    PTHREAD_INHERIT_SCHED___459 = 0,
    PTHREAD_EXPLICIT_SCHED___459 = 1
} ;
enum __anonenum_998661166___459 {
    PTHREAD_SCOPE_SYSTEM___459 = 0,
    PTHREAD_SCOPE_PROCESS___459 = 1
} ;
enum __anonenum_146137331___459 {
    PTHREAD_PROCESS_PRIVATE___459 = 0,
    PTHREAD_PROCESS_SHARED___459 = 1
} ;
enum __anonenum_53396917___459 {
    PTHREAD_CANCEL_ENABLE___459 = 0,
    PTHREAD_CANCEL_DISABLE___459 = 1
} ;
enum __anonenum_904563783___459 {
    PTHREAD_CANCEL_DEFERRED___459 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___459 = 1
} ;
enum __anonenum_672052974___459 {
    SSL_CT_VALIDATION_PERMISSIVE___459 = 0,
    SSL_CT_VALIDATION_STRICT___459 = 1
} ;
enum __anonenum_437032235___460 {
    _PC_LINK_MAX___460 = 0,
    _PC_MAX_CANON___460 = 1,
    _PC_MAX_INPUT___460 = 2,
    _PC_NAME_MAX___460 = 3,
    _PC_PATH_MAX___460 = 4,
    _PC_PIPE_BUF___460 = 5,
    _PC_CHOWN_RESTRICTED___460 = 6,
    _PC_NO_TRUNC___460 = 7,
    _PC_VDISABLE___460 = 8,
    _PC_SYNC_IO___460 = 9,
    _PC_ASYNC_IO___460 = 10,
    _PC_PRIO_IO___460 = 11,
    _PC_SOCK_MAXBUF___460 = 12,
    _PC_FILESIZEBITS___460 = 13,
    _PC_REC_INCR_XFER_SIZE___460 = 14,
    _PC_REC_MAX_XFER_SIZE___460 = 15,
    _PC_REC_MIN_XFER_SIZE___460 = 16,
    _PC_REC_XFER_ALIGN___460 = 17,
    _PC_ALLOC_SIZE_MIN___460 = 18,
    _PC_SYMLINK_MAX___460 = 19,
    _PC_2_SYMLINKS___460 = 20
} ;
enum __anonenum_315186338___460 {
    _SC_ARG_MAX___460 = 0,
    _SC_CHILD_MAX___460 = 1,
    _SC_CLK_TCK___460 = 2,
    _SC_NGROUPS_MAX___460 = 3,
    _SC_OPEN_MAX___460 = 4,
    _SC_STREAM_MAX___460 = 5,
    _SC_TZNAME_MAX___460 = 6,
    _SC_JOB_CONTROL___460 = 7,
    _SC_SAVED_IDS___460 = 8,
    _SC_REALTIME_SIGNALS___460 = 9,
    _SC_PRIORITY_SCHEDULING___460 = 10,
    _SC_TIMERS___460 = 11,
    _SC_ASYNCHRONOUS_IO___460 = 12,
    _SC_PRIORITIZED_IO___460 = 13,
    _SC_SYNCHRONIZED_IO___460 = 14,
    _SC_FSYNC___460 = 15,
    _SC_MAPPED_FILES___460 = 16,
    _SC_MEMLOCK___460 = 17,
    _SC_MEMLOCK_RANGE___460 = 18,
    _SC_MEMORY_PROTECTION___460 = 19,
    _SC_MESSAGE_PASSING___460 = 20,
    _SC_SEMAPHORES___460 = 21,
    _SC_SHARED_MEMORY_OBJECTS___460 = 22,
    _SC_AIO_LISTIO_MAX___460 = 23,
    _SC_AIO_MAX___460 = 24,
    _SC_AIO_PRIO_DELTA_MAX___460 = 25,
    _SC_DELAYTIMER_MAX___460 = 26,
    _SC_MQ_OPEN_MAX___460 = 27,
    _SC_MQ_PRIO_MAX___460 = 28,
    _SC_VERSION___460 = 29,
    _SC_PAGESIZE___460 = 30,
    _SC_RTSIG_MAX___460 = 31,
    _SC_SEM_NSEMS_MAX___460 = 32,
    _SC_SEM_VALUE_MAX___460 = 33,
    _SC_SIGQUEUE_MAX___460 = 34,
    _SC_TIMER_MAX___460 = 35,
    _SC_BC_BASE_MAX___460 = 36,
    _SC_BC_DIM_MAX___460 = 37,
    _SC_BC_SCALE_MAX___460 = 38,
    _SC_BC_STRING_MAX___460 = 39,
    _SC_COLL_WEIGHTS_MAX___460 = 40,
    _SC_EQUIV_CLASS_MAX___460 = 41,
    _SC_EXPR_NEST_MAX___460 = 42,
    _SC_LINE_MAX___460 = 43,
    _SC_RE_DUP_MAX___460 = 44,
    _SC_CHARCLASS_NAME_MAX___460 = 45,
    _SC_2_VERSION___460 = 46,
    _SC_2_C_BIND___460 = 47,
    _SC_2_C_DEV___460 = 48,
    _SC_2_FORT_DEV___460 = 49,
    _SC_2_FORT_RUN___460 = 50,
    _SC_2_SW_DEV___460 = 51,
    _SC_2_LOCALEDEF___460 = 52,
    _SC_PII___460 = 53,
    _SC_PII_XTI___460 = 54,
    _SC_PII_SOCKET___460 = 55,
    _SC_PII_INTERNET___460 = 56,
    _SC_PII_OSI___460 = 57,
    _SC_POLL___460 = 58,
    _SC_SELECT___460 = 59,
    _SC_UIO_MAXIOV___460 = 60,
    _SC_IOV_MAX___460 = 60,
    _SC_PII_INTERNET_STREAM___460 = 61,
    _SC_PII_INTERNET_DGRAM___460 = 62,
    _SC_PII_OSI_COTS___460 = 63,
    _SC_PII_OSI_CLTS___460 = 64,
    _SC_PII_OSI_M___460 = 65,
    _SC_T_IOV_MAX___460 = 66,
    _SC_THREADS___460 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___460 = 68,
    _SC_GETGR_R_SIZE_MAX___460 = 69,
    _SC_GETPW_R_SIZE_MAX___460 = 70,
    _SC_LOGIN_NAME_MAX___460 = 71,
    _SC_TTY_NAME_MAX___460 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___460 = 73,
    _SC_THREAD_KEYS_MAX___460 = 74,
    _SC_THREAD_STACK_MIN___460 = 75,
    _SC_THREAD_THREADS_MAX___460 = 76,
    _SC_THREAD_ATTR_STACKADDR___460 = 77,
    _SC_THREAD_ATTR_STACKSIZE___460 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___460 = 79,
    _SC_THREAD_PRIO_INHERIT___460 = 80,
    _SC_THREAD_PRIO_PROTECT___460 = 81,
    _SC_THREAD_PROCESS_SHARED___460 = 82,
    _SC_NPROCESSORS_CONF___460 = 83,
    _SC_NPROCESSORS_ONLN___460 = 84,
    _SC_PHYS_PAGES___460 = 85,
    _SC_AVPHYS_PAGES___460 = 86,
    _SC_ATEXIT_MAX___460 = 87,
    _SC_PASS_MAX___460 = 88,
    _SC_XOPEN_VERSION___460 = 89,
    _SC_XOPEN_XCU_VERSION___460 = 90,
    _SC_XOPEN_UNIX___460 = 91,
    _SC_XOPEN_CRYPT___460 = 92,
    _SC_XOPEN_ENH_I18N___460 = 93,
    _SC_XOPEN_SHM___460 = 94,
    _SC_2_CHAR_TERM___460 = 95,
    _SC_2_C_VERSION___460 = 96,
    _SC_2_UPE___460 = 97,
    _SC_XOPEN_XPG2___460 = 98,
    _SC_XOPEN_XPG3___460 = 99,
    _SC_XOPEN_XPG4___460 = 100,
    _SC_CHAR_BIT___460 = 101,
    _SC_CHAR_MAX___460 = 102,
    _SC_CHAR_MIN___460 = 103,
    _SC_INT_MAX___460 = 104,
    _SC_INT_MIN___460 = 105,
    _SC_LONG_BIT___460 = 106,
    _SC_WORD_BIT___460 = 107,
    _SC_MB_LEN_MAX___460 = 108,
    _SC_NZERO___460 = 109,
    _SC_SSIZE_MAX___460 = 110,
    _SC_SCHAR_MAX___460 = 111,
    _SC_SCHAR_MIN___460 = 112,
    _SC_SHRT_MAX___460 = 113,
    _SC_SHRT_MIN___460 = 114,
    _SC_UCHAR_MAX___460 = 115,
    _SC_UINT_MAX___460 = 116,
    _SC_ULONG_MAX___460 = 117,
    _SC_USHRT_MAX___460 = 118,
    _SC_NL_ARGMAX___460 = 119,
    _SC_NL_LANGMAX___460 = 120,
    _SC_NL_MSGMAX___460 = 121,
    _SC_NL_NMAX___460 = 122,
    _SC_NL_SETMAX___460 = 123,
    _SC_NL_TEXTMAX___460 = 124,
    _SC_XBS5_ILP32_OFF32___460 = 125,
    _SC_XBS5_ILP32_OFFBIG___460 = 126,
    _SC_XBS5_LP64_OFF64___460 = 127,
    _SC_XBS5_LPBIG_OFFBIG___460 = 128,
    _SC_XOPEN_LEGACY___460 = 129,
    _SC_XOPEN_REALTIME___460 = 130,
    _SC_XOPEN_REALTIME_THREADS___460 = 131,
    _SC_ADVISORY_INFO___460 = 132,
    _SC_BARRIERS___460 = 133,
    _SC_BASE___460 = 134,
    _SC_C_LANG_SUPPORT___460 = 135,
    _SC_C_LANG_SUPPORT_R___460 = 136,
    _SC_CLOCK_SELECTION___460 = 137,
    _SC_CPUTIME___460 = 138,
    _SC_THREAD_CPUTIME___460 = 139,
    _SC_DEVICE_IO___460 = 140,
    _SC_DEVICE_SPECIFIC___460 = 141,
    _SC_DEVICE_SPECIFIC_R___460 = 142,
    _SC_FD_MGMT___460 = 143,
    _SC_FIFO___460 = 144,
    _SC_PIPE___460 = 145,
    _SC_FILE_ATTRIBUTES___460 = 146,
    _SC_FILE_LOCKING___460 = 147,
    _SC_FILE_SYSTEM___460 = 148,
    _SC_MONOTONIC_CLOCK___460 = 149,
    _SC_MULTI_PROCESS___460 = 150,
    _SC_SINGLE_PROCESS___460 = 151,
    _SC_NETWORKING___460 = 152,
    _SC_READER_WRITER_LOCKS___460 = 153,
    _SC_SPIN_LOCKS___460 = 154,
    _SC_REGEXP___460 = 155,
    _SC_REGEX_VERSION___460 = 156,
    _SC_SHELL___460 = 157,
    _SC_SIGNALS___460 = 158,
    _SC_SPAWN___460 = 159,
    _SC_SPORADIC_SERVER___460 = 160,
    _SC_THREAD_SPORADIC_SERVER___460 = 161,
    _SC_SYSTEM_DATABASE___460 = 162,
    _SC_SYSTEM_DATABASE_R___460 = 163,
    _SC_TIMEOUTS___460 = 164,
    _SC_TYPED_MEMORY_OBJECTS___460 = 165,
    _SC_USER_GROUPS___460 = 166,
    _SC_USER_GROUPS_R___460 = 167,
    _SC_2_PBS___460 = 168,
    _SC_2_PBS_ACCOUNTING___460 = 169,
    _SC_2_PBS_LOCATE___460 = 170,
    _SC_2_PBS_MESSAGE___460 = 171,
    _SC_2_PBS_TRACK___460 = 172,
    _SC_SYMLOOP_MAX___460 = 173,
    _SC_STREAMS___460 = 174,
    _SC_2_PBS_CHECKPOINT___460 = 175,
    _SC_V6_ILP32_OFF32___460 = 176,
    _SC_V6_ILP32_OFFBIG___460 = 177,
    _SC_V6_LP64_OFF64___460 = 178,
    _SC_V6_LPBIG_OFFBIG___460 = 179,
    _SC_HOST_NAME_MAX___460 = 180,
    _SC_TRACE___460 = 181,
    _SC_TRACE_EVENT_FILTER___460 = 182,
    _SC_TRACE_INHERIT___460 = 183,
    _SC_TRACE_LOG___460 = 184,
    _SC_LEVEL1_ICACHE_SIZE___460 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___460 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___460 = 187,
    _SC_LEVEL1_DCACHE_SIZE___460 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___460 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___460 = 190,
    _SC_LEVEL2_CACHE_SIZE___460 = 191,
    _SC_LEVEL2_CACHE_ASSOC___460 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___460 = 193,
    _SC_LEVEL3_CACHE_SIZE___460 = 194,
    _SC_LEVEL3_CACHE_ASSOC___460 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___460 = 196,
    _SC_LEVEL4_CACHE_SIZE___460 = 197,
    _SC_LEVEL4_CACHE_ASSOC___460 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___460 = 199,
    _SC_IPV6___460 = 235,
    _SC_RAW_SOCKETS___460 = 236,
    _SC_V7_ILP32_OFF32___460 = 237,
    _SC_V7_ILP32_OFFBIG___460 = 238,
    _SC_V7_LP64_OFF64___460 = 239,
    _SC_V7_LPBIG_OFFBIG___460 = 240,
    _SC_SS_REPL_MAX___460 = 241,
    _SC_TRACE_EVENT_NAME_MAX___460 = 242,
    _SC_TRACE_NAME_MAX___460 = 243,
    _SC_TRACE_SYS_MAX___460 = 244,
    _SC_TRACE_USER_EVENT_MAX___460 = 245,
    _SC_XOPEN_STREAMS___460 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___460 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___460 = 248
} ;
enum __anonenum_875524036___460 {
    _CS_PATH___460 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___460 = 1,
    _CS_GNU_LIBC_VERSION___460 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___460 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___460 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___460 = 5,
    _CS_LFS_CFLAGS___460 = 1000,
    _CS_LFS_LDFLAGS___460 = 1001,
    _CS_LFS_LIBS___460 = 1002,
    _CS_LFS_LINTFLAGS___460 = 1003,
    _CS_LFS64_CFLAGS___460 = 1004,
    _CS_LFS64_LDFLAGS___460 = 1005,
    _CS_LFS64_LIBS___460 = 1006,
    _CS_LFS64_LINTFLAGS___460 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___460 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___460 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___460 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___460 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___460 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___460 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___460 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___460 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___460 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___460 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___460 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___460 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___460 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___460 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___460 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___460 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___460 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___460 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___460 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___460 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___460 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___460 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___460 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___460 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___460 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___460 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___460 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___460 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___460 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___460 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___460 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___460 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___460 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___460 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___460 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___460 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___460 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___460 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___460 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___460 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___460 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___460 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___460 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___460 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___460 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___460 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___460 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___460 = 1147,
    _CS_V6_ENV___460 = 1148,
    _CS_V7_ENV___460 = 1149
} ;
enum __anonenum_513775621___460 {
    DT_UNKNOWN___460 = 0,
    DT_FIFO___460 = 1,
    DT_CHR___460 = 2,
    DT_DIR___460 = 4,
    DT_BLK___460 = 6,
    DT_REG___460 = 8,
    DT_LNK___460 = 10,
    DT_SOCK___460 = 12,
    DT_WHT___460 = 14
} ;
enum __anonenum_77002343___460 {
    SI_ASYNCNL___460 = -60,
    SI_TKILL___460 = -6,
    SI_SIGIO___460 = -5,
    SI_ASYNCIO___460 = -4,
    SI_MESGQ___460 = -3,
    SI_TIMER___460 = -2,
    SI_QUEUE___460 = -1,
    SI_USER___460 = 0,
    SI_KERNEL___460 = 128
} ;
enum __anonenum_131038172___460 {
    ILL_ILLOPC___460 = 1,
    ILL_ILLOPN___460 = 2,
    ILL_ILLADR___460 = 3,
    ILL_ILLTRP___460 = 4,
    ILL_PRVOPC___460 = 5,
    ILL_PRVREG___460 = 6,
    ILL_COPROC___460 = 7,
    ILL_BADSTK___460 = 8
} ;
enum __anonenum_452038093___460 {
    FPE_INTDIV___460 = 1,
    FPE_INTOVF___460 = 2,
    FPE_FLTDIV___460 = 3,
    FPE_FLTOVF___460 = 4,
    FPE_FLTUND___460 = 5,
    FPE_FLTRES___460 = 6,
    FPE_FLTINV___460 = 7,
    FPE_FLTSUB___460 = 8
} ;
enum __anonenum_30976155___460 {
    SEGV_MAPERR___460 = 1,
    SEGV_ACCERR___460 = 2,
    SEGV_BNDERR___460 = 3,
    SEGV_PKUERR___460 = 4
} ;
enum __anonenum_1036286214___460 {
    BUS_ADRALN___460 = 1,
    BUS_ADRERR___460 = 2,
    BUS_OBJERR___460 = 3,
    BUS_MCEERR_AR___460 = 4,
    BUS_MCEERR_AO___460 = 5
} ;
enum __anonenum_493465559___460 {
    TRAP_BRKPT___460 = 1,
    TRAP_TRACE___460 = 2
} ;
enum __anonenum_23175539___460 {
    CLD_EXITED___460 = 1,
    CLD_KILLED___460 = 2,
    CLD_DUMPED___460 = 3,
    CLD_TRAPPED___460 = 4,
    CLD_STOPPED___460 = 5,
    CLD_CONTINUED___460 = 6
} ;
enum __anonenum_111643124___460 {
    POLL_IN___460 = 1,
    POLL_OUT___460 = 2,
    POLL_MSG___460 = 3,
    POLL_ERR___460 = 4,
    POLL_PRI___460 = 5,
    POLL_HUP___460 = 6
} ;
enum __anonenum_852341087___460 {
    SIGEV_SIGNAL___460 = 0,
    SIGEV_NONE___460 = 1,
    SIGEV_THREAD___460 = 2,
    SIGEV_THREAD_ID___460 = 4
} ;
enum __anonenum_451154152___460 {
    REG_R8___460 = 0,
    REG_R9___460 = 1,
    REG_R10___460 = 2,
    REG_R11___460 = 3,
    REG_R12___460 = 4,
    REG_R13___460 = 5,
    REG_R14___460 = 6,
    REG_R15___460 = 7,
    REG_RDI___460 = 8,
    REG_RSI___460 = 9,
    REG_RBP___460 = 10,
    REG_RBX___460 = 11,
    REG_RDX___460 = 12,
    REG_RAX___460 = 13,
    REG_RCX___460 = 14,
    REG_RSP___460 = 15,
    REG_RIP___460 = 16,
    REG_EFL___460 = 17,
    REG_CSGSFS___460 = 18,
    REG_ERR___460 = 19,
    REG_TRAPNO___460 = 20,
    REG_OLDMASK___460 = 21,
    REG_CR2___460 = 22
} ;
enum __anonenum_57186863___460 {
    SS_ONSTACK___460 = 1,
    SS_DISABLE___460 = 2
} ;
enum __anonenum_83571709___460 {
    MSG_OOB___460 = 1,
    MSG_PEEK___460 = 2,
    MSG_DONTROUTE___460 = 4,
    MSG_TRYHARD___460 = 4,
    MSG_CTRUNC___460 = 8,
    MSG_PROXY___460 = 16,
    MSG_TRUNC___460 = 32,
    MSG_DONTWAIT___460 = 64,
    MSG_EOR___460 = 128,
    MSG_WAITALL___460 = 256,
    MSG_FIN___460 = 512,
    MSG_SYN___460 = 1024,
    MSG_CONFIRM___460 = 2048,
    MSG_RST___460 = 4096,
    MSG_ERRQUEUE___460 = 8192,
    MSG_NOSIGNAL___460 = 16384,
    MSG_MORE___460 = 32768,
    MSG_WAITFORONE___460 = 65536,
    MSG_BATCH___460 = 262144,
    MSG_ZEROCOPY___460 = 67108864,
    MSG_FASTOPEN___460 = 536870912,
    MSG_CMSG_CLOEXEC___460 = 1073741824
} ;
enum __anonenum_617082774___460 {
    SCM_RIGHTS___460 = 1,
    SCM_CREDENTIALS___460 = 2
} ;
enum __anonenum_606441560___460 {
    SHUT_RD___460 = 0,
    SHUT_WR___460 = 1,
    SHUT_RDWR___460 = 2
} ;
enum __anonenum_681669233___460 {
    IPPROTO_IP___460 = 0,
    IPPROTO_ICMP___460 = 1,
    IPPROTO_IGMP___460 = 2,
    IPPROTO_IPIP___460 = 4,
    IPPROTO_TCP___460 = 6,
    IPPROTO_EGP___460 = 8,
    IPPROTO_PUP___460 = 12,
    IPPROTO_UDP___460 = 17,
    IPPROTO_IDP___460 = 22,
    IPPROTO_TP___460 = 29,
    IPPROTO_DCCP___460 = 33,
    IPPROTO_IPV6___460 = 41,
    IPPROTO_RSVP___460 = 46,
    IPPROTO_GRE___460 = 47,
    IPPROTO_ESP___460 = 50,
    IPPROTO_AH___460 = 51,
    IPPROTO_MTP___460 = 92,
    IPPROTO_BEETPH___460 = 94,
    IPPROTO_ENCAP___460 = 98,
    IPPROTO_PIM___460 = 103,
    IPPROTO_COMP___460 = 108,
    IPPROTO_SCTP___460 = 132,
    IPPROTO_UDPLITE___460 = 136,
    IPPROTO_MPLS___460 = 137,
    IPPROTO_RAW___460 = 255,
    IPPROTO_MAX___460 = 256
} ;
enum __anonenum_218739988___460 {
    IPPROTO_HOPOPTS___460 = 0,
    IPPROTO_ROUTING___460 = 43,
    IPPROTO_FRAGMENT___460 = 44,
    IPPROTO_ICMPV6___460 = 58,
    IPPROTO_NONE___460 = 59,
    IPPROTO_DSTOPTS___460 = 60,
    IPPROTO_MH___460 = 135
} ;
enum __anonenum_662268580___460 {
    IPPORT_ECHO___460 = 7,
    IPPORT_DISCARD___460 = 9,
    IPPORT_SYSTAT___460 = 11,
    IPPORT_DAYTIME___460 = 13,
    IPPORT_NETSTAT___460 = 15,
    IPPORT_FTP___460 = 21,
    IPPORT_TELNET___460 = 23,
    IPPORT_SMTP___460 = 25,
    IPPORT_TIMESERVER___460 = 37,
    IPPORT_NAMESERVER___460 = 42,
    IPPORT_WHOIS___460 = 43,
    IPPORT_MTP___460 = 57,
    IPPORT_TFTP___460 = 69,
    IPPORT_RJE___460 = 77,
    IPPORT_FINGER___460 = 79,
    IPPORT_TTYLINK___460 = 87,
    IPPORT_SUPDUP___460 = 95,
    IPPORT_EXECSERVER___460 = 512,
    IPPORT_LOGINSERVER___460 = 513,
    IPPORT_CMDSERVER___460 = 514,
    IPPORT_EFSSERVER___460 = 520,
    IPPORT_BIFFUDP___460 = 512,
    IPPORT_WHOSERVER___460 = 513,
    IPPORT_ROUTESERVER___460 = 520,
    IPPORT_RESERVED___460 = 1024,
    IPPORT_USERRESERVED___460 = 5000
} ;
enum __anonenum_788308992___460 {
    TCP_ESTABLISHED___460 = 1,
    TCP_SYN_SENT___460 = 2,
    TCP_SYN_RECV___460 = 3,
    TCP_FIN_WAIT1___460 = 4,
    TCP_FIN_WAIT2___460 = 5,
    TCP_TIME_WAIT___460 = 6,
    TCP_CLOSE___460 = 7,
    TCP_CLOSE_WAIT___460 = 8,
    TCP_LAST_ACK___460 = 9,
    TCP_LISTEN___460 = 10,
    TCP_CLOSING___460 = 11
} ;
enum __anonenum_221125648___460 {
    TCP_NO_QUEUE___460 = 0,
    TCP_RECV_QUEUE___460 = 1,
    TCP_SEND_QUEUE___460 = 2,
    TCP_QUEUES_NR___460 = 3
} ;
enum __anonenum_34415463___460 {
    PTHREAD_CREATE_JOINABLE___460 = 0,
    PTHREAD_CREATE_DETACHED___460 = 1
} ;
enum __anonenum_303612439___460 {
    PTHREAD_MUTEX_TIMED_NP___460 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___460 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___460 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___460 = 3,
    PTHREAD_MUTEX_NORMAL___460 = 0,
    PTHREAD_MUTEX_RECURSIVE___460 = 1,
    PTHREAD_MUTEX_ERRORCHECK___460 = 2,
    PTHREAD_MUTEX_DEFAULT___460 = 0,
    PTHREAD_MUTEX_FAST_NP___460 = 0
} ;
enum __anonenum_931900394___460 {
    PTHREAD_MUTEX_STALLED___460 = 0,
    PTHREAD_MUTEX_STALLED_NP___460 = 0,
    PTHREAD_MUTEX_ROBUST___460 = 1,
    PTHREAD_MUTEX_ROBUST_NP___460 = 1
} ;
enum __anonenum_205214487___460 {
    PTHREAD_PRIO_NONE___460 = 0,
    PTHREAD_PRIO_INHERIT___460 = 1,
    PTHREAD_PRIO_PROTECT___460 = 2
} ;
enum __anonenum_25043950___460 {
    PTHREAD_RWLOCK_PREFER_READER_NP___460 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___460 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___460 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___460 = 0
} ;
enum __anonenum_436439511___460 {
    PTHREAD_INHERIT_SCHED___460 = 0,
    PTHREAD_EXPLICIT_SCHED___460 = 1
} ;
enum __anonenum_998661166___460 {
    PTHREAD_SCOPE_SYSTEM___460 = 0,
    PTHREAD_SCOPE_PROCESS___460 = 1
} ;
enum __anonenum_146137331___460 {
    PTHREAD_PROCESS_PRIVATE___460 = 0,
    PTHREAD_PROCESS_SHARED___460 = 1
} ;
enum __anonenum_53396917___460 {
    PTHREAD_CANCEL_ENABLE___460 = 0,
    PTHREAD_CANCEL_DISABLE___460 = 1
} ;
enum __anonenum_904563783___460 {
    PTHREAD_CANCEL_DEFERRED___460 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___460 = 1
} ;
enum __anonenum_672052974___460 {
    SSL_CT_VALIDATION_PERMISSIVE___460 = 0,
    SSL_CT_VALIDATION_STRICT___460 = 1
} ;
struct cl_args {
   char const   *subcommand ;
   char const   *path ;
   char const   *token ;
   int nr_threads ;
   int max_wait_sec ;
   int bytecount ;
   int batchsize ;
   char bytevalue ;
};
struct multiple_thread_data {
   pthread_t pthread_id ;
   struct multiple_thread_data *next ;
   char const   *path ;
   int bytecount ;
   int batchsize ;
   int sum_errors ;
   int sum_good ;
   char letter ;
};
enum __anonenum_437032235___461 {
    _PC_LINK_MAX___461 = 0,
    _PC_MAX_CANON___461 = 1,
    _PC_MAX_INPUT___461 = 2,
    _PC_NAME_MAX___461 = 3,
    _PC_PATH_MAX___461 = 4,
    _PC_PIPE_BUF___461 = 5,
    _PC_CHOWN_RESTRICTED___461 = 6,
    _PC_NO_TRUNC___461 = 7,
    _PC_VDISABLE___461 = 8,
    _PC_SYNC_IO___461 = 9,
    _PC_ASYNC_IO___461 = 10,
    _PC_PRIO_IO___461 = 11,
    _PC_SOCK_MAXBUF___461 = 12,
    _PC_FILESIZEBITS___461 = 13,
    _PC_REC_INCR_XFER_SIZE___461 = 14,
    _PC_REC_MAX_XFER_SIZE___461 = 15,
    _PC_REC_MIN_XFER_SIZE___461 = 16,
    _PC_REC_XFER_ALIGN___461 = 17,
    _PC_ALLOC_SIZE_MIN___461 = 18,
    _PC_SYMLINK_MAX___461 = 19,
    _PC_2_SYMLINKS___461 = 20
} ;
enum __anonenum_315186338___461 {
    _SC_ARG_MAX___461 = 0,
    _SC_CHILD_MAX___461 = 1,
    _SC_CLK_TCK___461 = 2,
    _SC_NGROUPS_MAX___461 = 3,
    _SC_OPEN_MAX___461 = 4,
    _SC_STREAM_MAX___461 = 5,
    _SC_TZNAME_MAX___461 = 6,
    _SC_JOB_CONTROL___461 = 7,
    _SC_SAVED_IDS___461 = 8,
    _SC_REALTIME_SIGNALS___461 = 9,
    _SC_PRIORITY_SCHEDULING___461 = 10,
    _SC_TIMERS___461 = 11,
    _SC_ASYNCHRONOUS_IO___461 = 12,
    _SC_PRIORITIZED_IO___461 = 13,
    _SC_SYNCHRONIZED_IO___461 = 14,
    _SC_FSYNC___461 = 15,
    _SC_MAPPED_FILES___461 = 16,
    _SC_MEMLOCK___461 = 17,
    _SC_MEMLOCK_RANGE___461 = 18,
    _SC_MEMORY_PROTECTION___461 = 19,
    _SC_MESSAGE_PASSING___461 = 20,
    _SC_SEMAPHORES___461 = 21,
    _SC_SHARED_MEMORY_OBJECTS___461 = 22,
    _SC_AIO_LISTIO_MAX___461 = 23,
    _SC_AIO_MAX___461 = 24,
    _SC_AIO_PRIO_DELTA_MAX___461 = 25,
    _SC_DELAYTIMER_MAX___461 = 26,
    _SC_MQ_OPEN_MAX___461 = 27,
    _SC_MQ_PRIO_MAX___461 = 28,
    _SC_VERSION___461 = 29,
    _SC_PAGESIZE___461 = 30,
    _SC_RTSIG_MAX___461 = 31,
    _SC_SEM_NSEMS_MAX___461 = 32,
    _SC_SEM_VALUE_MAX___461 = 33,
    _SC_SIGQUEUE_MAX___461 = 34,
    _SC_TIMER_MAX___461 = 35,
    _SC_BC_BASE_MAX___461 = 36,
    _SC_BC_DIM_MAX___461 = 37,
    _SC_BC_SCALE_MAX___461 = 38,
    _SC_BC_STRING_MAX___461 = 39,
    _SC_COLL_WEIGHTS_MAX___461 = 40,
    _SC_EQUIV_CLASS_MAX___461 = 41,
    _SC_EXPR_NEST_MAX___461 = 42,
    _SC_LINE_MAX___461 = 43,
    _SC_RE_DUP_MAX___461 = 44,
    _SC_CHARCLASS_NAME_MAX___461 = 45,
    _SC_2_VERSION___461 = 46,
    _SC_2_C_BIND___461 = 47,
    _SC_2_C_DEV___461 = 48,
    _SC_2_FORT_DEV___461 = 49,
    _SC_2_FORT_RUN___461 = 50,
    _SC_2_SW_DEV___461 = 51,
    _SC_2_LOCALEDEF___461 = 52,
    _SC_PII___461 = 53,
    _SC_PII_XTI___461 = 54,
    _SC_PII_SOCKET___461 = 55,
    _SC_PII_INTERNET___461 = 56,
    _SC_PII_OSI___461 = 57,
    _SC_POLL___461 = 58,
    _SC_SELECT___461 = 59,
    _SC_UIO_MAXIOV___461 = 60,
    _SC_IOV_MAX___461 = 60,
    _SC_PII_INTERNET_STREAM___461 = 61,
    _SC_PII_INTERNET_DGRAM___461 = 62,
    _SC_PII_OSI_COTS___461 = 63,
    _SC_PII_OSI_CLTS___461 = 64,
    _SC_PII_OSI_M___461 = 65,
    _SC_T_IOV_MAX___461 = 66,
    _SC_THREADS___461 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___461 = 68,
    _SC_GETGR_R_SIZE_MAX___461 = 69,
    _SC_GETPW_R_SIZE_MAX___461 = 70,
    _SC_LOGIN_NAME_MAX___461 = 71,
    _SC_TTY_NAME_MAX___461 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___461 = 73,
    _SC_THREAD_KEYS_MAX___461 = 74,
    _SC_THREAD_STACK_MIN___461 = 75,
    _SC_THREAD_THREADS_MAX___461 = 76,
    _SC_THREAD_ATTR_STACKADDR___461 = 77,
    _SC_THREAD_ATTR_STACKSIZE___461 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___461 = 79,
    _SC_THREAD_PRIO_INHERIT___461 = 80,
    _SC_THREAD_PRIO_PROTECT___461 = 81,
    _SC_THREAD_PROCESS_SHARED___461 = 82,
    _SC_NPROCESSORS_CONF___461 = 83,
    _SC_NPROCESSORS_ONLN___461 = 84,
    _SC_PHYS_PAGES___461 = 85,
    _SC_AVPHYS_PAGES___461 = 86,
    _SC_ATEXIT_MAX___461 = 87,
    _SC_PASS_MAX___461 = 88,
    _SC_XOPEN_VERSION___461 = 89,
    _SC_XOPEN_XCU_VERSION___461 = 90,
    _SC_XOPEN_UNIX___461 = 91,
    _SC_XOPEN_CRYPT___461 = 92,
    _SC_XOPEN_ENH_I18N___461 = 93,
    _SC_XOPEN_SHM___461 = 94,
    _SC_2_CHAR_TERM___461 = 95,
    _SC_2_C_VERSION___461 = 96,
    _SC_2_UPE___461 = 97,
    _SC_XOPEN_XPG2___461 = 98,
    _SC_XOPEN_XPG3___461 = 99,
    _SC_XOPEN_XPG4___461 = 100,
    _SC_CHAR_BIT___461 = 101,
    _SC_CHAR_MAX___461 = 102,
    _SC_CHAR_MIN___461 = 103,
    _SC_INT_MAX___461 = 104,
    _SC_INT_MIN___461 = 105,
    _SC_LONG_BIT___461 = 106,
    _SC_WORD_BIT___461 = 107,
    _SC_MB_LEN_MAX___461 = 108,
    _SC_NZERO___461 = 109,
    _SC_SSIZE_MAX___461 = 110,
    _SC_SCHAR_MAX___461 = 111,
    _SC_SCHAR_MIN___461 = 112,
    _SC_SHRT_MAX___461 = 113,
    _SC_SHRT_MIN___461 = 114,
    _SC_UCHAR_MAX___461 = 115,
    _SC_UINT_MAX___461 = 116,
    _SC_ULONG_MAX___461 = 117,
    _SC_USHRT_MAX___461 = 118,
    _SC_NL_ARGMAX___461 = 119,
    _SC_NL_LANGMAX___461 = 120,
    _SC_NL_MSGMAX___461 = 121,
    _SC_NL_NMAX___461 = 122,
    _SC_NL_SETMAX___461 = 123,
    _SC_NL_TEXTMAX___461 = 124,
    _SC_XBS5_ILP32_OFF32___461 = 125,
    _SC_XBS5_ILP32_OFFBIG___461 = 126,
    _SC_XBS5_LP64_OFF64___461 = 127,
    _SC_XBS5_LPBIG_OFFBIG___461 = 128,
    _SC_XOPEN_LEGACY___461 = 129,
    _SC_XOPEN_REALTIME___461 = 130,
    _SC_XOPEN_REALTIME_THREADS___461 = 131,
    _SC_ADVISORY_INFO___461 = 132,
    _SC_BARRIERS___461 = 133,
    _SC_BASE___461 = 134,
    _SC_C_LANG_SUPPORT___461 = 135,
    _SC_C_LANG_SUPPORT_R___461 = 136,
    _SC_CLOCK_SELECTION___461 = 137,
    _SC_CPUTIME___461 = 138,
    _SC_THREAD_CPUTIME___461 = 139,
    _SC_DEVICE_IO___461 = 140,
    _SC_DEVICE_SPECIFIC___461 = 141,
    _SC_DEVICE_SPECIFIC_R___461 = 142,
    _SC_FD_MGMT___461 = 143,
    _SC_FIFO___461 = 144,
    _SC_PIPE___461 = 145,
    _SC_FILE_ATTRIBUTES___461 = 146,
    _SC_FILE_LOCKING___461 = 147,
    _SC_FILE_SYSTEM___461 = 148,
    _SC_MONOTONIC_CLOCK___461 = 149,
    _SC_MULTI_PROCESS___461 = 150,
    _SC_SINGLE_PROCESS___461 = 151,
    _SC_NETWORKING___461 = 152,
    _SC_READER_WRITER_LOCKS___461 = 153,
    _SC_SPIN_LOCKS___461 = 154,
    _SC_REGEXP___461 = 155,
    _SC_REGEX_VERSION___461 = 156,
    _SC_SHELL___461 = 157,
    _SC_SIGNALS___461 = 158,
    _SC_SPAWN___461 = 159,
    _SC_SPORADIC_SERVER___461 = 160,
    _SC_THREAD_SPORADIC_SERVER___461 = 161,
    _SC_SYSTEM_DATABASE___461 = 162,
    _SC_SYSTEM_DATABASE_R___461 = 163,
    _SC_TIMEOUTS___461 = 164,
    _SC_TYPED_MEMORY_OBJECTS___461 = 165,
    _SC_USER_GROUPS___461 = 166,
    _SC_USER_GROUPS_R___461 = 167,
    _SC_2_PBS___461 = 168,
    _SC_2_PBS_ACCOUNTING___461 = 169,
    _SC_2_PBS_LOCATE___461 = 170,
    _SC_2_PBS_MESSAGE___461 = 171,
    _SC_2_PBS_TRACK___461 = 172,
    _SC_SYMLOOP_MAX___461 = 173,
    _SC_STREAMS___461 = 174,
    _SC_2_PBS_CHECKPOINT___461 = 175,
    _SC_V6_ILP32_OFF32___461 = 176,
    _SC_V6_ILP32_OFFBIG___461 = 177,
    _SC_V6_LP64_OFF64___461 = 178,
    _SC_V6_LPBIG_OFFBIG___461 = 179,
    _SC_HOST_NAME_MAX___461 = 180,
    _SC_TRACE___461 = 181,
    _SC_TRACE_EVENT_FILTER___461 = 182,
    _SC_TRACE_INHERIT___461 = 183,
    _SC_TRACE_LOG___461 = 184,
    _SC_LEVEL1_ICACHE_SIZE___461 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___461 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___461 = 187,
    _SC_LEVEL1_DCACHE_SIZE___461 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___461 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___461 = 190,
    _SC_LEVEL2_CACHE_SIZE___461 = 191,
    _SC_LEVEL2_CACHE_ASSOC___461 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___461 = 193,
    _SC_LEVEL3_CACHE_SIZE___461 = 194,
    _SC_LEVEL3_CACHE_ASSOC___461 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___461 = 196,
    _SC_LEVEL4_CACHE_SIZE___461 = 197,
    _SC_LEVEL4_CACHE_ASSOC___461 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___461 = 199,
    _SC_IPV6___461 = 235,
    _SC_RAW_SOCKETS___461 = 236,
    _SC_V7_ILP32_OFF32___461 = 237,
    _SC_V7_ILP32_OFFBIG___461 = 238,
    _SC_V7_LP64_OFF64___461 = 239,
    _SC_V7_LPBIG_OFFBIG___461 = 240,
    _SC_SS_REPL_MAX___461 = 241,
    _SC_TRACE_EVENT_NAME_MAX___461 = 242,
    _SC_TRACE_NAME_MAX___461 = 243,
    _SC_TRACE_SYS_MAX___461 = 244,
    _SC_TRACE_USER_EVENT_MAX___461 = 245,
    _SC_XOPEN_STREAMS___461 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___461 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___461 = 248
} ;
enum __anonenum_875524036___461 {
    _CS_PATH___461 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___461 = 1,
    _CS_GNU_LIBC_VERSION___461 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___461 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___461 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___461 = 5,
    _CS_LFS_CFLAGS___461 = 1000,
    _CS_LFS_LDFLAGS___461 = 1001,
    _CS_LFS_LIBS___461 = 1002,
    _CS_LFS_LINTFLAGS___461 = 1003,
    _CS_LFS64_CFLAGS___461 = 1004,
    _CS_LFS64_LDFLAGS___461 = 1005,
    _CS_LFS64_LIBS___461 = 1006,
    _CS_LFS64_LINTFLAGS___461 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___461 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___461 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___461 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___461 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___461 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___461 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___461 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___461 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___461 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___461 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___461 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___461 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___461 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___461 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___461 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___461 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___461 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___461 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___461 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___461 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___461 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___461 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___461 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___461 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___461 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___461 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___461 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___461 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___461 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___461 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___461 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___461 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___461 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___461 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___461 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___461 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___461 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___461 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___461 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___461 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___461 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___461 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___461 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___461 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___461 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___461 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___461 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___461 = 1147,
    _CS_V6_ENV___461 = 1148,
    _CS_V7_ENV___461 = 1149
} ;
enum __anonenum_513775621___461 {
    DT_UNKNOWN___461 = 0,
    DT_FIFO___461 = 1,
    DT_CHR___461 = 2,
    DT_DIR___461 = 4,
    DT_BLK___461 = 6,
    DT_REG___461 = 8,
    DT_LNK___461 = 10,
    DT_SOCK___461 = 12,
    DT_WHT___461 = 14
} ;
enum __anonenum_77002343___461 {
    SI_ASYNCNL___461 = -60,
    SI_TKILL___461 = -6,
    SI_SIGIO___461 = -5,
    SI_ASYNCIO___461 = -4,
    SI_MESGQ___461 = -3,
    SI_TIMER___461 = -2,
    SI_QUEUE___461 = -1,
    SI_USER___461 = 0,
    SI_KERNEL___461 = 128
} ;
enum __anonenum_131038172___461 {
    ILL_ILLOPC___461 = 1,
    ILL_ILLOPN___461 = 2,
    ILL_ILLADR___461 = 3,
    ILL_ILLTRP___461 = 4,
    ILL_PRVOPC___461 = 5,
    ILL_PRVREG___461 = 6,
    ILL_COPROC___461 = 7,
    ILL_BADSTK___461 = 8
} ;
enum __anonenum_452038093___461 {
    FPE_INTDIV___461 = 1,
    FPE_INTOVF___461 = 2,
    FPE_FLTDIV___461 = 3,
    FPE_FLTOVF___461 = 4,
    FPE_FLTUND___461 = 5,
    FPE_FLTRES___461 = 6,
    FPE_FLTINV___461 = 7,
    FPE_FLTSUB___461 = 8
} ;
enum __anonenum_30976155___461 {
    SEGV_MAPERR___461 = 1,
    SEGV_ACCERR___461 = 2,
    SEGV_BNDERR___461 = 3,
    SEGV_PKUERR___461 = 4
} ;
enum __anonenum_1036286214___461 {
    BUS_ADRALN___461 = 1,
    BUS_ADRERR___461 = 2,
    BUS_OBJERR___461 = 3,
    BUS_MCEERR_AR___461 = 4,
    BUS_MCEERR_AO___461 = 5
} ;
enum __anonenum_493465559___461 {
    TRAP_BRKPT___461 = 1,
    TRAP_TRACE___461 = 2
} ;
enum __anonenum_23175539___461 {
    CLD_EXITED___461 = 1,
    CLD_KILLED___461 = 2,
    CLD_DUMPED___461 = 3,
    CLD_TRAPPED___461 = 4,
    CLD_STOPPED___461 = 5,
    CLD_CONTINUED___461 = 6
} ;
enum __anonenum_111643124___461 {
    POLL_IN___461 = 1,
    POLL_OUT___461 = 2,
    POLL_MSG___461 = 3,
    POLL_ERR___461 = 4,
    POLL_PRI___461 = 5,
    POLL_HUP___461 = 6
} ;
enum __anonenum_852341087___461 {
    SIGEV_SIGNAL___461 = 0,
    SIGEV_NONE___461 = 1,
    SIGEV_THREAD___461 = 2,
    SIGEV_THREAD_ID___461 = 4
} ;
enum __anonenum_451154152___461 {
    REG_R8___461 = 0,
    REG_R9___461 = 1,
    REG_R10___461 = 2,
    REG_R11___461 = 3,
    REG_R12___461 = 4,
    REG_R13___461 = 5,
    REG_R14___461 = 6,
    REG_R15___461 = 7,
    REG_RDI___461 = 8,
    REG_RSI___461 = 9,
    REG_RBP___461 = 10,
    REG_RBX___461 = 11,
    REG_RDX___461 = 12,
    REG_RAX___461 = 13,
    REG_RCX___461 = 14,
    REG_RSP___461 = 15,
    REG_RIP___461 = 16,
    REG_EFL___461 = 17,
    REG_CSGSFS___461 = 18,
    REG_ERR___461 = 19,
    REG_TRAPNO___461 = 20,
    REG_OLDMASK___461 = 21,
    REG_CR2___461 = 22
} ;
enum __anonenum_57186863___461 {
    SS_ONSTACK___461 = 1,
    SS_DISABLE___461 = 2
} ;
enum __anonenum_83571709___461 {
    MSG_OOB___461 = 1,
    MSG_PEEK___461 = 2,
    MSG_DONTROUTE___461 = 4,
    MSG_TRYHARD___461 = 4,
    MSG_CTRUNC___461 = 8,
    MSG_PROXY___461 = 16,
    MSG_TRUNC___461 = 32,
    MSG_DONTWAIT___461 = 64,
    MSG_EOR___461 = 128,
    MSG_WAITALL___461 = 256,
    MSG_FIN___461 = 512,
    MSG_SYN___461 = 1024,
    MSG_CONFIRM___461 = 2048,
    MSG_RST___461 = 4096,
    MSG_ERRQUEUE___461 = 8192,
    MSG_NOSIGNAL___461 = 16384,
    MSG_MORE___461 = 32768,
    MSG_WAITFORONE___461 = 65536,
    MSG_BATCH___461 = 262144,
    MSG_ZEROCOPY___461 = 67108864,
    MSG_FASTOPEN___461 = 536870912,
    MSG_CMSG_CLOEXEC___461 = 1073741824
} ;
enum __anonenum_617082774___461 {
    SCM_RIGHTS___461 = 1,
    SCM_CREDENTIALS___461 = 2
} ;
enum __anonenum_606441560___461 {
    SHUT_RD___461 = 0,
    SHUT_WR___461 = 1,
    SHUT_RDWR___461 = 2
} ;
enum __anonenum_681669233___461 {
    IPPROTO_IP___461 = 0,
    IPPROTO_ICMP___461 = 1,
    IPPROTO_IGMP___461 = 2,
    IPPROTO_IPIP___461 = 4,
    IPPROTO_TCP___461 = 6,
    IPPROTO_EGP___461 = 8,
    IPPROTO_PUP___461 = 12,
    IPPROTO_UDP___461 = 17,
    IPPROTO_IDP___461 = 22,
    IPPROTO_TP___461 = 29,
    IPPROTO_DCCP___461 = 33,
    IPPROTO_IPV6___461 = 41,
    IPPROTO_RSVP___461 = 46,
    IPPROTO_GRE___461 = 47,
    IPPROTO_ESP___461 = 50,
    IPPROTO_AH___461 = 51,
    IPPROTO_MTP___461 = 92,
    IPPROTO_BEETPH___461 = 94,
    IPPROTO_ENCAP___461 = 98,
    IPPROTO_PIM___461 = 103,
    IPPROTO_COMP___461 = 108,
    IPPROTO_SCTP___461 = 132,
    IPPROTO_UDPLITE___461 = 136,
    IPPROTO_MPLS___461 = 137,
    IPPROTO_RAW___461 = 255,
    IPPROTO_MAX___461 = 256
} ;
enum __anonenum_218739988___461 {
    IPPROTO_HOPOPTS___461 = 0,
    IPPROTO_ROUTING___461 = 43,
    IPPROTO_FRAGMENT___461 = 44,
    IPPROTO_ICMPV6___461 = 58,
    IPPROTO_NONE___461 = 59,
    IPPROTO_DSTOPTS___461 = 60,
    IPPROTO_MH___461 = 135
} ;
enum __anonenum_662268580___461 {
    IPPORT_ECHO___461 = 7,
    IPPORT_DISCARD___461 = 9,
    IPPORT_SYSTAT___461 = 11,
    IPPORT_DAYTIME___461 = 13,
    IPPORT_NETSTAT___461 = 15,
    IPPORT_FTP___461 = 21,
    IPPORT_TELNET___461 = 23,
    IPPORT_SMTP___461 = 25,
    IPPORT_TIMESERVER___461 = 37,
    IPPORT_NAMESERVER___461 = 42,
    IPPORT_WHOIS___461 = 43,
    IPPORT_MTP___461 = 57,
    IPPORT_TFTP___461 = 69,
    IPPORT_RJE___461 = 77,
    IPPORT_FINGER___461 = 79,
    IPPORT_TTYLINK___461 = 87,
    IPPORT_SUPDUP___461 = 95,
    IPPORT_EXECSERVER___461 = 512,
    IPPORT_LOGINSERVER___461 = 513,
    IPPORT_CMDSERVER___461 = 514,
    IPPORT_EFSSERVER___461 = 520,
    IPPORT_BIFFUDP___461 = 512,
    IPPORT_WHOSERVER___461 = 513,
    IPPORT_ROUTESERVER___461 = 520,
    IPPORT_RESERVED___461 = 1024,
    IPPORT_USERRESERVED___461 = 5000
} ;
enum __anonenum_788308992___461 {
    TCP_ESTABLISHED___461 = 1,
    TCP_SYN_SENT___461 = 2,
    TCP_SYN_RECV___461 = 3,
    TCP_FIN_WAIT1___461 = 4,
    TCP_FIN_WAIT2___461 = 5,
    TCP_TIME_WAIT___461 = 6,
    TCP_CLOSE___461 = 7,
    TCP_CLOSE_WAIT___461 = 8,
    TCP_LAST_ACK___461 = 9,
    TCP_LISTEN___461 = 10,
    TCP_CLOSING___461 = 11
} ;
enum __anonenum_221125648___461 {
    TCP_NO_QUEUE___461 = 0,
    TCP_RECV_QUEUE___461 = 1,
    TCP_SEND_QUEUE___461 = 2,
    TCP_QUEUES_NR___461 = 3
} ;
enum __anonenum_34415463___461 {
    PTHREAD_CREATE_JOINABLE___461 = 0,
    PTHREAD_CREATE_DETACHED___461 = 1
} ;
enum __anonenum_303612439___461 {
    PTHREAD_MUTEX_TIMED_NP___461 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___461 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___461 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___461 = 3,
    PTHREAD_MUTEX_NORMAL___461 = 0,
    PTHREAD_MUTEX_RECURSIVE___461 = 1,
    PTHREAD_MUTEX_ERRORCHECK___461 = 2,
    PTHREAD_MUTEX_DEFAULT___461 = 0,
    PTHREAD_MUTEX_FAST_NP___461 = 0
} ;
enum __anonenum_931900394___461 {
    PTHREAD_MUTEX_STALLED___461 = 0,
    PTHREAD_MUTEX_STALLED_NP___461 = 0,
    PTHREAD_MUTEX_ROBUST___461 = 1,
    PTHREAD_MUTEX_ROBUST_NP___461 = 1
} ;
enum __anonenum_205214487___461 {
    PTHREAD_PRIO_NONE___461 = 0,
    PTHREAD_PRIO_INHERIT___461 = 1,
    PTHREAD_PRIO_PROTECT___461 = 2
} ;
enum __anonenum_25043950___461 {
    PTHREAD_RWLOCK_PREFER_READER_NP___461 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___461 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___461 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___461 = 0
} ;
enum __anonenum_436439511___461 {
    PTHREAD_INHERIT_SCHED___461 = 0,
    PTHREAD_EXPLICIT_SCHED___461 = 1
} ;
enum __anonenum_998661166___461 {
    PTHREAD_SCOPE_SYSTEM___461 = 0,
    PTHREAD_SCOPE_PROCESS___461 = 1
} ;
enum __anonenum_146137331___461 {
    PTHREAD_PROCESS_PRIVATE___461 = 0,
    PTHREAD_PROCESS_SHARED___461 = 1
} ;
enum __anonenum_53396917___461 {
    PTHREAD_CANCEL_ENABLE___461 = 0,
    PTHREAD_CANCEL_DISABLE___461 = 1
} ;
enum __anonenum_904563783___461 {
    PTHREAD_CANCEL_DEFERRED___461 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___461 = 1
} ;
enum __anonenum_672052974___461 {
    SSL_CT_VALIDATION_PERMISSIVE___461 = 0,
    SSL_CT_VALIDATION_STRICT___461 = 1
} ;
enum __anonenum_437032235___462 {
    _PC_LINK_MAX___462 = 0,
    _PC_MAX_CANON___462 = 1,
    _PC_MAX_INPUT___462 = 2,
    _PC_NAME_MAX___462 = 3,
    _PC_PATH_MAX___462 = 4,
    _PC_PIPE_BUF___462 = 5,
    _PC_CHOWN_RESTRICTED___462 = 6,
    _PC_NO_TRUNC___462 = 7,
    _PC_VDISABLE___462 = 8,
    _PC_SYNC_IO___462 = 9,
    _PC_ASYNC_IO___462 = 10,
    _PC_PRIO_IO___462 = 11,
    _PC_SOCK_MAXBUF___462 = 12,
    _PC_FILESIZEBITS___462 = 13,
    _PC_REC_INCR_XFER_SIZE___462 = 14,
    _PC_REC_MAX_XFER_SIZE___462 = 15,
    _PC_REC_MIN_XFER_SIZE___462 = 16,
    _PC_REC_XFER_ALIGN___462 = 17,
    _PC_ALLOC_SIZE_MIN___462 = 18,
    _PC_SYMLINK_MAX___462 = 19,
    _PC_2_SYMLINKS___462 = 20
} ;
enum __anonenum_315186338___462 {
    _SC_ARG_MAX___462 = 0,
    _SC_CHILD_MAX___462 = 1,
    _SC_CLK_TCK___462 = 2,
    _SC_NGROUPS_MAX___462 = 3,
    _SC_OPEN_MAX___462 = 4,
    _SC_STREAM_MAX___462 = 5,
    _SC_TZNAME_MAX___462 = 6,
    _SC_JOB_CONTROL___462 = 7,
    _SC_SAVED_IDS___462 = 8,
    _SC_REALTIME_SIGNALS___462 = 9,
    _SC_PRIORITY_SCHEDULING___462 = 10,
    _SC_TIMERS___462 = 11,
    _SC_ASYNCHRONOUS_IO___462 = 12,
    _SC_PRIORITIZED_IO___462 = 13,
    _SC_SYNCHRONIZED_IO___462 = 14,
    _SC_FSYNC___462 = 15,
    _SC_MAPPED_FILES___462 = 16,
    _SC_MEMLOCK___462 = 17,
    _SC_MEMLOCK_RANGE___462 = 18,
    _SC_MEMORY_PROTECTION___462 = 19,
    _SC_MESSAGE_PASSING___462 = 20,
    _SC_SEMAPHORES___462 = 21,
    _SC_SHARED_MEMORY_OBJECTS___462 = 22,
    _SC_AIO_LISTIO_MAX___462 = 23,
    _SC_AIO_MAX___462 = 24,
    _SC_AIO_PRIO_DELTA_MAX___462 = 25,
    _SC_DELAYTIMER_MAX___462 = 26,
    _SC_MQ_OPEN_MAX___462 = 27,
    _SC_MQ_PRIO_MAX___462 = 28,
    _SC_VERSION___462 = 29,
    _SC_PAGESIZE___462 = 30,
    _SC_RTSIG_MAX___462 = 31,
    _SC_SEM_NSEMS_MAX___462 = 32,
    _SC_SEM_VALUE_MAX___462 = 33,
    _SC_SIGQUEUE_MAX___462 = 34,
    _SC_TIMER_MAX___462 = 35,
    _SC_BC_BASE_MAX___462 = 36,
    _SC_BC_DIM_MAX___462 = 37,
    _SC_BC_SCALE_MAX___462 = 38,
    _SC_BC_STRING_MAX___462 = 39,
    _SC_COLL_WEIGHTS_MAX___462 = 40,
    _SC_EQUIV_CLASS_MAX___462 = 41,
    _SC_EXPR_NEST_MAX___462 = 42,
    _SC_LINE_MAX___462 = 43,
    _SC_RE_DUP_MAX___462 = 44,
    _SC_CHARCLASS_NAME_MAX___462 = 45,
    _SC_2_VERSION___462 = 46,
    _SC_2_C_BIND___462 = 47,
    _SC_2_C_DEV___462 = 48,
    _SC_2_FORT_DEV___462 = 49,
    _SC_2_FORT_RUN___462 = 50,
    _SC_2_SW_DEV___462 = 51,
    _SC_2_LOCALEDEF___462 = 52,
    _SC_PII___462 = 53,
    _SC_PII_XTI___462 = 54,
    _SC_PII_SOCKET___462 = 55,
    _SC_PII_INTERNET___462 = 56,
    _SC_PII_OSI___462 = 57,
    _SC_POLL___462 = 58,
    _SC_SELECT___462 = 59,
    _SC_UIO_MAXIOV___462 = 60,
    _SC_IOV_MAX___462 = 60,
    _SC_PII_INTERNET_STREAM___462 = 61,
    _SC_PII_INTERNET_DGRAM___462 = 62,
    _SC_PII_OSI_COTS___462 = 63,
    _SC_PII_OSI_CLTS___462 = 64,
    _SC_PII_OSI_M___462 = 65,
    _SC_T_IOV_MAX___462 = 66,
    _SC_THREADS___462 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___462 = 68,
    _SC_GETGR_R_SIZE_MAX___462 = 69,
    _SC_GETPW_R_SIZE_MAX___462 = 70,
    _SC_LOGIN_NAME_MAX___462 = 71,
    _SC_TTY_NAME_MAX___462 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___462 = 73,
    _SC_THREAD_KEYS_MAX___462 = 74,
    _SC_THREAD_STACK_MIN___462 = 75,
    _SC_THREAD_THREADS_MAX___462 = 76,
    _SC_THREAD_ATTR_STACKADDR___462 = 77,
    _SC_THREAD_ATTR_STACKSIZE___462 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___462 = 79,
    _SC_THREAD_PRIO_INHERIT___462 = 80,
    _SC_THREAD_PRIO_PROTECT___462 = 81,
    _SC_THREAD_PROCESS_SHARED___462 = 82,
    _SC_NPROCESSORS_CONF___462 = 83,
    _SC_NPROCESSORS_ONLN___462 = 84,
    _SC_PHYS_PAGES___462 = 85,
    _SC_AVPHYS_PAGES___462 = 86,
    _SC_ATEXIT_MAX___462 = 87,
    _SC_PASS_MAX___462 = 88,
    _SC_XOPEN_VERSION___462 = 89,
    _SC_XOPEN_XCU_VERSION___462 = 90,
    _SC_XOPEN_UNIX___462 = 91,
    _SC_XOPEN_CRYPT___462 = 92,
    _SC_XOPEN_ENH_I18N___462 = 93,
    _SC_XOPEN_SHM___462 = 94,
    _SC_2_CHAR_TERM___462 = 95,
    _SC_2_C_VERSION___462 = 96,
    _SC_2_UPE___462 = 97,
    _SC_XOPEN_XPG2___462 = 98,
    _SC_XOPEN_XPG3___462 = 99,
    _SC_XOPEN_XPG4___462 = 100,
    _SC_CHAR_BIT___462 = 101,
    _SC_CHAR_MAX___462 = 102,
    _SC_CHAR_MIN___462 = 103,
    _SC_INT_MAX___462 = 104,
    _SC_INT_MIN___462 = 105,
    _SC_LONG_BIT___462 = 106,
    _SC_WORD_BIT___462 = 107,
    _SC_MB_LEN_MAX___462 = 108,
    _SC_NZERO___462 = 109,
    _SC_SSIZE_MAX___462 = 110,
    _SC_SCHAR_MAX___462 = 111,
    _SC_SCHAR_MIN___462 = 112,
    _SC_SHRT_MAX___462 = 113,
    _SC_SHRT_MIN___462 = 114,
    _SC_UCHAR_MAX___462 = 115,
    _SC_UINT_MAX___462 = 116,
    _SC_ULONG_MAX___462 = 117,
    _SC_USHRT_MAX___462 = 118,
    _SC_NL_ARGMAX___462 = 119,
    _SC_NL_LANGMAX___462 = 120,
    _SC_NL_MSGMAX___462 = 121,
    _SC_NL_NMAX___462 = 122,
    _SC_NL_SETMAX___462 = 123,
    _SC_NL_TEXTMAX___462 = 124,
    _SC_XBS5_ILP32_OFF32___462 = 125,
    _SC_XBS5_ILP32_OFFBIG___462 = 126,
    _SC_XBS5_LP64_OFF64___462 = 127,
    _SC_XBS5_LPBIG_OFFBIG___462 = 128,
    _SC_XOPEN_LEGACY___462 = 129,
    _SC_XOPEN_REALTIME___462 = 130,
    _SC_XOPEN_REALTIME_THREADS___462 = 131,
    _SC_ADVISORY_INFO___462 = 132,
    _SC_BARRIERS___462 = 133,
    _SC_BASE___462 = 134,
    _SC_C_LANG_SUPPORT___462 = 135,
    _SC_C_LANG_SUPPORT_R___462 = 136,
    _SC_CLOCK_SELECTION___462 = 137,
    _SC_CPUTIME___462 = 138,
    _SC_THREAD_CPUTIME___462 = 139,
    _SC_DEVICE_IO___462 = 140,
    _SC_DEVICE_SPECIFIC___462 = 141,
    _SC_DEVICE_SPECIFIC_R___462 = 142,
    _SC_FD_MGMT___462 = 143,
    _SC_FIFO___462 = 144,
    _SC_PIPE___462 = 145,
    _SC_FILE_ATTRIBUTES___462 = 146,
    _SC_FILE_LOCKING___462 = 147,
    _SC_FILE_SYSTEM___462 = 148,
    _SC_MONOTONIC_CLOCK___462 = 149,
    _SC_MULTI_PROCESS___462 = 150,
    _SC_SINGLE_PROCESS___462 = 151,
    _SC_NETWORKING___462 = 152,
    _SC_READER_WRITER_LOCKS___462 = 153,
    _SC_SPIN_LOCKS___462 = 154,
    _SC_REGEXP___462 = 155,
    _SC_REGEX_VERSION___462 = 156,
    _SC_SHELL___462 = 157,
    _SC_SIGNALS___462 = 158,
    _SC_SPAWN___462 = 159,
    _SC_SPORADIC_SERVER___462 = 160,
    _SC_THREAD_SPORADIC_SERVER___462 = 161,
    _SC_SYSTEM_DATABASE___462 = 162,
    _SC_SYSTEM_DATABASE_R___462 = 163,
    _SC_TIMEOUTS___462 = 164,
    _SC_TYPED_MEMORY_OBJECTS___462 = 165,
    _SC_USER_GROUPS___462 = 166,
    _SC_USER_GROUPS_R___462 = 167,
    _SC_2_PBS___462 = 168,
    _SC_2_PBS_ACCOUNTING___462 = 169,
    _SC_2_PBS_LOCATE___462 = 170,
    _SC_2_PBS_MESSAGE___462 = 171,
    _SC_2_PBS_TRACK___462 = 172,
    _SC_SYMLOOP_MAX___462 = 173,
    _SC_STREAMS___462 = 174,
    _SC_2_PBS_CHECKPOINT___462 = 175,
    _SC_V6_ILP32_OFF32___462 = 176,
    _SC_V6_ILP32_OFFBIG___462 = 177,
    _SC_V6_LP64_OFF64___462 = 178,
    _SC_V6_LPBIG_OFFBIG___462 = 179,
    _SC_HOST_NAME_MAX___462 = 180,
    _SC_TRACE___462 = 181,
    _SC_TRACE_EVENT_FILTER___462 = 182,
    _SC_TRACE_INHERIT___462 = 183,
    _SC_TRACE_LOG___462 = 184,
    _SC_LEVEL1_ICACHE_SIZE___462 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___462 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___462 = 187,
    _SC_LEVEL1_DCACHE_SIZE___462 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___462 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___462 = 190,
    _SC_LEVEL2_CACHE_SIZE___462 = 191,
    _SC_LEVEL2_CACHE_ASSOC___462 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___462 = 193,
    _SC_LEVEL3_CACHE_SIZE___462 = 194,
    _SC_LEVEL3_CACHE_ASSOC___462 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___462 = 196,
    _SC_LEVEL4_CACHE_SIZE___462 = 197,
    _SC_LEVEL4_CACHE_ASSOC___462 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___462 = 199,
    _SC_IPV6___462 = 235,
    _SC_RAW_SOCKETS___462 = 236,
    _SC_V7_ILP32_OFF32___462 = 237,
    _SC_V7_ILP32_OFFBIG___462 = 238,
    _SC_V7_LP64_OFF64___462 = 239,
    _SC_V7_LPBIG_OFFBIG___462 = 240,
    _SC_SS_REPL_MAX___462 = 241,
    _SC_TRACE_EVENT_NAME_MAX___462 = 242,
    _SC_TRACE_NAME_MAX___462 = 243,
    _SC_TRACE_SYS_MAX___462 = 244,
    _SC_TRACE_USER_EVENT_MAX___462 = 245,
    _SC_XOPEN_STREAMS___462 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___462 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___462 = 248
} ;
enum __anonenum_875524036___462 {
    _CS_PATH___462 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___462 = 1,
    _CS_GNU_LIBC_VERSION___462 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___462 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___462 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___462 = 5,
    _CS_LFS_CFLAGS___462 = 1000,
    _CS_LFS_LDFLAGS___462 = 1001,
    _CS_LFS_LIBS___462 = 1002,
    _CS_LFS_LINTFLAGS___462 = 1003,
    _CS_LFS64_CFLAGS___462 = 1004,
    _CS_LFS64_LDFLAGS___462 = 1005,
    _CS_LFS64_LIBS___462 = 1006,
    _CS_LFS64_LINTFLAGS___462 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___462 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___462 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___462 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___462 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___462 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___462 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___462 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___462 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___462 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___462 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___462 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___462 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___462 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___462 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___462 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___462 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___462 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___462 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___462 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___462 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___462 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___462 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___462 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___462 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___462 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___462 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___462 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___462 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___462 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___462 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___462 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___462 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___462 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___462 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___462 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___462 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___462 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___462 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___462 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___462 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___462 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___462 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___462 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___462 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___462 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___462 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___462 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___462 = 1147,
    _CS_V6_ENV___462 = 1148,
    _CS_V7_ENV___462 = 1149
} ;
enum __anonenum_513775621___462 {
    DT_UNKNOWN___462 = 0,
    DT_FIFO___462 = 1,
    DT_CHR___462 = 2,
    DT_DIR___462 = 4,
    DT_BLK___462 = 6,
    DT_REG___462 = 8,
    DT_LNK___462 = 10,
    DT_SOCK___462 = 12,
    DT_WHT___462 = 14
} ;
enum __anonenum_77002343___462 {
    SI_ASYNCNL___462 = -60,
    SI_TKILL___462 = -6,
    SI_SIGIO___462 = -5,
    SI_ASYNCIO___462 = -4,
    SI_MESGQ___462 = -3,
    SI_TIMER___462 = -2,
    SI_QUEUE___462 = -1,
    SI_USER___462 = 0,
    SI_KERNEL___462 = 128
} ;
enum __anonenum_131038172___462 {
    ILL_ILLOPC___462 = 1,
    ILL_ILLOPN___462 = 2,
    ILL_ILLADR___462 = 3,
    ILL_ILLTRP___462 = 4,
    ILL_PRVOPC___462 = 5,
    ILL_PRVREG___462 = 6,
    ILL_COPROC___462 = 7,
    ILL_BADSTK___462 = 8
} ;
enum __anonenum_452038093___462 {
    FPE_INTDIV___462 = 1,
    FPE_INTOVF___462 = 2,
    FPE_FLTDIV___462 = 3,
    FPE_FLTOVF___462 = 4,
    FPE_FLTUND___462 = 5,
    FPE_FLTRES___462 = 6,
    FPE_FLTINV___462 = 7,
    FPE_FLTSUB___462 = 8
} ;
enum __anonenum_30976155___462 {
    SEGV_MAPERR___462 = 1,
    SEGV_ACCERR___462 = 2,
    SEGV_BNDERR___462 = 3,
    SEGV_PKUERR___462 = 4
} ;
enum __anonenum_1036286214___462 {
    BUS_ADRALN___462 = 1,
    BUS_ADRERR___462 = 2,
    BUS_OBJERR___462 = 3,
    BUS_MCEERR_AR___462 = 4,
    BUS_MCEERR_AO___462 = 5
} ;
enum __anonenum_493465559___462 {
    TRAP_BRKPT___462 = 1,
    TRAP_TRACE___462 = 2
} ;
enum __anonenum_23175539___462 {
    CLD_EXITED___462 = 1,
    CLD_KILLED___462 = 2,
    CLD_DUMPED___462 = 3,
    CLD_TRAPPED___462 = 4,
    CLD_STOPPED___462 = 5,
    CLD_CONTINUED___462 = 6
} ;
enum __anonenum_111643124___462 {
    POLL_IN___462 = 1,
    POLL_OUT___462 = 2,
    POLL_MSG___462 = 3,
    POLL_ERR___462 = 4,
    POLL_PRI___462 = 5,
    POLL_HUP___462 = 6
} ;
enum __anonenum_852341087___462 {
    SIGEV_SIGNAL___462 = 0,
    SIGEV_NONE___462 = 1,
    SIGEV_THREAD___462 = 2,
    SIGEV_THREAD_ID___462 = 4
} ;
enum __anonenum_451154152___462 {
    REG_R8___462 = 0,
    REG_R9___462 = 1,
    REG_R10___462 = 2,
    REG_R11___462 = 3,
    REG_R12___462 = 4,
    REG_R13___462 = 5,
    REG_R14___462 = 6,
    REG_R15___462 = 7,
    REG_RDI___462 = 8,
    REG_RSI___462 = 9,
    REG_RBP___462 = 10,
    REG_RBX___462 = 11,
    REG_RDX___462 = 12,
    REG_RAX___462 = 13,
    REG_RCX___462 = 14,
    REG_RSP___462 = 15,
    REG_RIP___462 = 16,
    REG_EFL___462 = 17,
    REG_CSGSFS___462 = 18,
    REG_ERR___462 = 19,
    REG_TRAPNO___462 = 20,
    REG_OLDMASK___462 = 21,
    REG_CR2___462 = 22
} ;
enum __anonenum_57186863___462 {
    SS_ONSTACK___462 = 1,
    SS_DISABLE___462 = 2
} ;
enum __anonenum_83571709___462 {
    MSG_OOB___462 = 1,
    MSG_PEEK___462 = 2,
    MSG_DONTROUTE___462 = 4,
    MSG_TRYHARD___462 = 4,
    MSG_CTRUNC___462 = 8,
    MSG_PROXY___462 = 16,
    MSG_TRUNC___462 = 32,
    MSG_DONTWAIT___462 = 64,
    MSG_EOR___462 = 128,
    MSG_WAITALL___462 = 256,
    MSG_FIN___462 = 512,
    MSG_SYN___462 = 1024,
    MSG_CONFIRM___462 = 2048,
    MSG_RST___462 = 4096,
    MSG_ERRQUEUE___462 = 8192,
    MSG_NOSIGNAL___462 = 16384,
    MSG_MORE___462 = 32768,
    MSG_WAITFORONE___462 = 65536,
    MSG_BATCH___462 = 262144,
    MSG_ZEROCOPY___462 = 67108864,
    MSG_FASTOPEN___462 = 536870912,
    MSG_CMSG_CLOEXEC___462 = 1073741824
} ;
enum __anonenum_617082774___462 {
    SCM_RIGHTS___462 = 1,
    SCM_CREDENTIALS___462 = 2
} ;
enum __anonenum_606441560___462 {
    SHUT_RD___462 = 0,
    SHUT_WR___462 = 1,
    SHUT_RDWR___462 = 2
} ;
enum __anonenum_681669233___462 {
    IPPROTO_IP___462 = 0,
    IPPROTO_ICMP___462 = 1,
    IPPROTO_IGMP___462 = 2,
    IPPROTO_IPIP___462 = 4,
    IPPROTO_TCP___462 = 6,
    IPPROTO_EGP___462 = 8,
    IPPROTO_PUP___462 = 12,
    IPPROTO_UDP___462 = 17,
    IPPROTO_IDP___462 = 22,
    IPPROTO_TP___462 = 29,
    IPPROTO_DCCP___462 = 33,
    IPPROTO_IPV6___462 = 41,
    IPPROTO_RSVP___462 = 46,
    IPPROTO_GRE___462 = 47,
    IPPROTO_ESP___462 = 50,
    IPPROTO_AH___462 = 51,
    IPPROTO_MTP___462 = 92,
    IPPROTO_BEETPH___462 = 94,
    IPPROTO_ENCAP___462 = 98,
    IPPROTO_PIM___462 = 103,
    IPPROTO_COMP___462 = 108,
    IPPROTO_SCTP___462 = 132,
    IPPROTO_UDPLITE___462 = 136,
    IPPROTO_MPLS___462 = 137,
    IPPROTO_RAW___462 = 255,
    IPPROTO_MAX___462 = 256
} ;
enum __anonenum_218739988___462 {
    IPPROTO_HOPOPTS___462 = 0,
    IPPROTO_ROUTING___462 = 43,
    IPPROTO_FRAGMENT___462 = 44,
    IPPROTO_ICMPV6___462 = 58,
    IPPROTO_NONE___462 = 59,
    IPPROTO_DSTOPTS___462 = 60,
    IPPROTO_MH___462 = 135
} ;
enum __anonenum_662268580___462 {
    IPPORT_ECHO___462 = 7,
    IPPORT_DISCARD___462 = 9,
    IPPORT_SYSTAT___462 = 11,
    IPPORT_DAYTIME___462 = 13,
    IPPORT_NETSTAT___462 = 15,
    IPPORT_FTP___462 = 21,
    IPPORT_TELNET___462 = 23,
    IPPORT_SMTP___462 = 25,
    IPPORT_TIMESERVER___462 = 37,
    IPPORT_NAMESERVER___462 = 42,
    IPPORT_WHOIS___462 = 43,
    IPPORT_MTP___462 = 57,
    IPPORT_TFTP___462 = 69,
    IPPORT_RJE___462 = 77,
    IPPORT_FINGER___462 = 79,
    IPPORT_TTYLINK___462 = 87,
    IPPORT_SUPDUP___462 = 95,
    IPPORT_EXECSERVER___462 = 512,
    IPPORT_LOGINSERVER___462 = 513,
    IPPORT_CMDSERVER___462 = 514,
    IPPORT_EFSSERVER___462 = 520,
    IPPORT_BIFFUDP___462 = 512,
    IPPORT_WHOSERVER___462 = 513,
    IPPORT_ROUTESERVER___462 = 520,
    IPPORT_RESERVED___462 = 1024,
    IPPORT_USERRESERVED___462 = 5000
} ;
enum __anonenum_788308992___462 {
    TCP_ESTABLISHED___462 = 1,
    TCP_SYN_SENT___462 = 2,
    TCP_SYN_RECV___462 = 3,
    TCP_FIN_WAIT1___462 = 4,
    TCP_FIN_WAIT2___462 = 5,
    TCP_TIME_WAIT___462 = 6,
    TCP_CLOSE___462 = 7,
    TCP_CLOSE_WAIT___462 = 8,
    TCP_LAST_ACK___462 = 9,
    TCP_LISTEN___462 = 10,
    TCP_CLOSING___462 = 11
} ;
enum __anonenum_221125648___462 {
    TCP_NO_QUEUE___462 = 0,
    TCP_RECV_QUEUE___462 = 1,
    TCP_SEND_QUEUE___462 = 2,
    TCP_QUEUES_NR___462 = 3
} ;
enum __anonenum_34415463___462 {
    PTHREAD_CREATE_JOINABLE___462 = 0,
    PTHREAD_CREATE_DETACHED___462 = 1
} ;
enum __anonenum_303612439___462 {
    PTHREAD_MUTEX_TIMED_NP___462 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___462 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___462 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___462 = 3,
    PTHREAD_MUTEX_NORMAL___462 = 0,
    PTHREAD_MUTEX_RECURSIVE___462 = 1,
    PTHREAD_MUTEX_ERRORCHECK___462 = 2,
    PTHREAD_MUTEX_DEFAULT___462 = 0,
    PTHREAD_MUTEX_FAST_NP___462 = 0
} ;
enum __anonenum_931900394___462 {
    PTHREAD_MUTEX_STALLED___462 = 0,
    PTHREAD_MUTEX_STALLED_NP___462 = 0,
    PTHREAD_MUTEX_ROBUST___462 = 1,
    PTHREAD_MUTEX_ROBUST_NP___462 = 1
} ;
enum __anonenum_205214487___462 {
    PTHREAD_PRIO_NONE___462 = 0,
    PTHREAD_PRIO_INHERIT___462 = 1,
    PTHREAD_PRIO_PROTECT___462 = 2
} ;
enum __anonenum_25043950___462 {
    PTHREAD_RWLOCK_PREFER_READER_NP___462 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___462 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___462 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___462 = 0
} ;
enum __anonenum_436439511___462 {
    PTHREAD_INHERIT_SCHED___462 = 0,
    PTHREAD_EXPLICIT_SCHED___462 = 1
} ;
enum __anonenum_998661166___462 {
    PTHREAD_SCOPE_SYSTEM___462 = 0,
    PTHREAD_SCOPE_PROCESS___462 = 1
} ;
enum __anonenum_146137331___462 {
    PTHREAD_PROCESS_PRIVATE___462 = 0,
    PTHREAD_PROCESS_SHARED___462 = 1
} ;
enum __anonenum_53396917___462 {
    PTHREAD_CANCEL_ENABLE___462 = 0,
    PTHREAD_CANCEL_DISABLE___462 = 1
} ;
enum __anonenum_904563783___462 {
    PTHREAD_CANCEL_DEFERRED___462 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___462 = 1
} ;
enum __anonenum_672052974___462 {
    SSL_CT_VALIDATION_PERMISSIVE___462 = 0,
    SSL_CT_VALIDATION_STRICT___462 = 1
} ;
enum __anonenum_437032235___463 {
    _PC_LINK_MAX___463 = 0,
    _PC_MAX_CANON___463 = 1,
    _PC_MAX_INPUT___463 = 2,
    _PC_NAME_MAX___463 = 3,
    _PC_PATH_MAX___463 = 4,
    _PC_PIPE_BUF___463 = 5,
    _PC_CHOWN_RESTRICTED___463 = 6,
    _PC_NO_TRUNC___463 = 7,
    _PC_VDISABLE___463 = 8,
    _PC_SYNC_IO___463 = 9,
    _PC_ASYNC_IO___463 = 10,
    _PC_PRIO_IO___463 = 11,
    _PC_SOCK_MAXBUF___463 = 12,
    _PC_FILESIZEBITS___463 = 13,
    _PC_REC_INCR_XFER_SIZE___463 = 14,
    _PC_REC_MAX_XFER_SIZE___463 = 15,
    _PC_REC_MIN_XFER_SIZE___463 = 16,
    _PC_REC_XFER_ALIGN___463 = 17,
    _PC_ALLOC_SIZE_MIN___463 = 18,
    _PC_SYMLINK_MAX___463 = 19,
    _PC_2_SYMLINKS___463 = 20
} ;
enum __anonenum_315186338___463 {
    _SC_ARG_MAX___463 = 0,
    _SC_CHILD_MAX___463 = 1,
    _SC_CLK_TCK___463 = 2,
    _SC_NGROUPS_MAX___463 = 3,
    _SC_OPEN_MAX___463 = 4,
    _SC_STREAM_MAX___463 = 5,
    _SC_TZNAME_MAX___463 = 6,
    _SC_JOB_CONTROL___463 = 7,
    _SC_SAVED_IDS___463 = 8,
    _SC_REALTIME_SIGNALS___463 = 9,
    _SC_PRIORITY_SCHEDULING___463 = 10,
    _SC_TIMERS___463 = 11,
    _SC_ASYNCHRONOUS_IO___463 = 12,
    _SC_PRIORITIZED_IO___463 = 13,
    _SC_SYNCHRONIZED_IO___463 = 14,
    _SC_FSYNC___463 = 15,
    _SC_MAPPED_FILES___463 = 16,
    _SC_MEMLOCK___463 = 17,
    _SC_MEMLOCK_RANGE___463 = 18,
    _SC_MEMORY_PROTECTION___463 = 19,
    _SC_MESSAGE_PASSING___463 = 20,
    _SC_SEMAPHORES___463 = 21,
    _SC_SHARED_MEMORY_OBJECTS___463 = 22,
    _SC_AIO_LISTIO_MAX___463 = 23,
    _SC_AIO_MAX___463 = 24,
    _SC_AIO_PRIO_DELTA_MAX___463 = 25,
    _SC_DELAYTIMER_MAX___463 = 26,
    _SC_MQ_OPEN_MAX___463 = 27,
    _SC_MQ_PRIO_MAX___463 = 28,
    _SC_VERSION___463 = 29,
    _SC_PAGESIZE___463 = 30,
    _SC_RTSIG_MAX___463 = 31,
    _SC_SEM_NSEMS_MAX___463 = 32,
    _SC_SEM_VALUE_MAX___463 = 33,
    _SC_SIGQUEUE_MAX___463 = 34,
    _SC_TIMER_MAX___463 = 35,
    _SC_BC_BASE_MAX___463 = 36,
    _SC_BC_DIM_MAX___463 = 37,
    _SC_BC_SCALE_MAX___463 = 38,
    _SC_BC_STRING_MAX___463 = 39,
    _SC_COLL_WEIGHTS_MAX___463 = 40,
    _SC_EQUIV_CLASS_MAX___463 = 41,
    _SC_EXPR_NEST_MAX___463 = 42,
    _SC_LINE_MAX___463 = 43,
    _SC_RE_DUP_MAX___463 = 44,
    _SC_CHARCLASS_NAME_MAX___463 = 45,
    _SC_2_VERSION___463 = 46,
    _SC_2_C_BIND___463 = 47,
    _SC_2_C_DEV___463 = 48,
    _SC_2_FORT_DEV___463 = 49,
    _SC_2_FORT_RUN___463 = 50,
    _SC_2_SW_DEV___463 = 51,
    _SC_2_LOCALEDEF___463 = 52,
    _SC_PII___463 = 53,
    _SC_PII_XTI___463 = 54,
    _SC_PII_SOCKET___463 = 55,
    _SC_PII_INTERNET___463 = 56,
    _SC_PII_OSI___463 = 57,
    _SC_POLL___463 = 58,
    _SC_SELECT___463 = 59,
    _SC_UIO_MAXIOV___463 = 60,
    _SC_IOV_MAX___463 = 60,
    _SC_PII_INTERNET_STREAM___463 = 61,
    _SC_PII_INTERNET_DGRAM___463 = 62,
    _SC_PII_OSI_COTS___463 = 63,
    _SC_PII_OSI_CLTS___463 = 64,
    _SC_PII_OSI_M___463 = 65,
    _SC_T_IOV_MAX___463 = 66,
    _SC_THREADS___463 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___463 = 68,
    _SC_GETGR_R_SIZE_MAX___463 = 69,
    _SC_GETPW_R_SIZE_MAX___463 = 70,
    _SC_LOGIN_NAME_MAX___463 = 71,
    _SC_TTY_NAME_MAX___463 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___463 = 73,
    _SC_THREAD_KEYS_MAX___463 = 74,
    _SC_THREAD_STACK_MIN___463 = 75,
    _SC_THREAD_THREADS_MAX___463 = 76,
    _SC_THREAD_ATTR_STACKADDR___463 = 77,
    _SC_THREAD_ATTR_STACKSIZE___463 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___463 = 79,
    _SC_THREAD_PRIO_INHERIT___463 = 80,
    _SC_THREAD_PRIO_PROTECT___463 = 81,
    _SC_THREAD_PROCESS_SHARED___463 = 82,
    _SC_NPROCESSORS_CONF___463 = 83,
    _SC_NPROCESSORS_ONLN___463 = 84,
    _SC_PHYS_PAGES___463 = 85,
    _SC_AVPHYS_PAGES___463 = 86,
    _SC_ATEXIT_MAX___463 = 87,
    _SC_PASS_MAX___463 = 88,
    _SC_XOPEN_VERSION___463 = 89,
    _SC_XOPEN_XCU_VERSION___463 = 90,
    _SC_XOPEN_UNIX___463 = 91,
    _SC_XOPEN_CRYPT___463 = 92,
    _SC_XOPEN_ENH_I18N___463 = 93,
    _SC_XOPEN_SHM___463 = 94,
    _SC_2_CHAR_TERM___463 = 95,
    _SC_2_C_VERSION___463 = 96,
    _SC_2_UPE___463 = 97,
    _SC_XOPEN_XPG2___463 = 98,
    _SC_XOPEN_XPG3___463 = 99,
    _SC_XOPEN_XPG4___463 = 100,
    _SC_CHAR_BIT___463 = 101,
    _SC_CHAR_MAX___463 = 102,
    _SC_CHAR_MIN___463 = 103,
    _SC_INT_MAX___463 = 104,
    _SC_INT_MIN___463 = 105,
    _SC_LONG_BIT___463 = 106,
    _SC_WORD_BIT___463 = 107,
    _SC_MB_LEN_MAX___463 = 108,
    _SC_NZERO___463 = 109,
    _SC_SSIZE_MAX___463 = 110,
    _SC_SCHAR_MAX___463 = 111,
    _SC_SCHAR_MIN___463 = 112,
    _SC_SHRT_MAX___463 = 113,
    _SC_SHRT_MIN___463 = 114,
    _SC_UCHAR_MAX___463 = 115,
    _SC_UINT_MAX___463 = 116,
    _SC_ULONG_MAX___463 = 117,
    _SC_USHRT_MAX___463 = 118,
    _SC_NL_ARGMAX___463 = 119,
    _SC_NL_LANGMAX___463 = 120,
    _SC_NL_MSGMAX___463 = 121,
    _SC_NL_NMAX___463 = 122,
    _SC_NL_SETMAX___463 = 123,
    _SC_NL_TEXTMAX___463 = 124,
    _SC_XBS5_ILP32_OFF32___463 = 125,
    _SC_XBS5_ILP32_OFFBIG___463 = 126,
    _SC_XBS5_LP64_OFF64___463 = 127,
    _SC_XBS5_LPBIG_OFFBIG___463 = 128,
    _SC_XOPEN_LEGACY___463 = 129,
    _SC_XOPEN_REALTIME___463 = 130,
    _SC_XOPEN_REALTIME_THREADS___463 = 131,
    _SC_ADVISORY_INFO___463 = 132,
    _SC_BARRIERS___463 = 133,
    _SC_BASE___463 = 134,
    _SC_C_LANG_SUPPORT___463 = 135,
    _SC_C_LANG_SUPPORT_R___463 = 136,
    _SC_CLOCK_SELECTION___463 = 137,
    _SC_CPUTIME___463 = 138,
    _SC_THREAD_CPUTIME___463 = 139,
    _SC_DEVICE_IO___463 = 140,
    _SC_DEVICE_SPECIFIC___463 = 141,
    _SC_DEVICE_SPECIFIC_R___463 = 142,
    _SC_FD_MGMT___463 = 143,
    _SC_FIFO___463 = 144,
    _SC_PIPE___463 = 145,
    _SC_FILE_ATTRIBUTES___463 = 146,
    _SC_FILE_LOCKING___463 = 147,
    _SC_FILE_SYSTEM___463 = 148,
    _SC_MONOTONIC_CLOCK___463 = 149,
    _SC_MULTI_PROCESS___463 = 150,
    _SC_SINGLE_PROCESS___463 = 151,
    _SC_NETWORKING___463 = 152,
    _SC_READER_WRITER_LOCKS___463 = 153,
    _SC_SPIN_LOCKS___463 = 154,
    _SC_REGEXP___463 = 155,
    _SC_REGEX_VERSION___463 = 156,
    _SC_SHELL___463 = 157,
    _SC_SIGNALS___463 = 158,
    _SC_SPAWN___463 = 159,
    _SC_SPORADIC_SERVER___463 = 160,
    _SC_THREAD_SPORADIC_SERVER___463 = 161,
    _SC_SYSTEM_DATABASE___463 = 162,
    _SC_SYSTEM_DATABASE_R___463 = 163,
    _SC_TIMEOUTS___463 = 164,
    _SC_TYPED_MEMORY_OBJECTS___463 = 165,
    _SC_USER_GROUPS___463 = 166,
    _SC_USER_GROUPS_R___463 = 167,
    _SC_2_PBS___463 = 168,
    _SC_2_PBS_ACCOUNTING___463 = 169,
    _SC_2_PBS_LOCATE___463 = 170,
    _SC_2_PBS_MESSAGE___463 = 171,
    _SC_2_PBS_TRACK___463 = 172,
    _SC_SYMLOOP_MAX___463 = 173,
    _SC_STREAMS___463 = 174,
    _SC_2_PBS_CHECKPOINT___463 = 175,
    _SC_V6_ILP32_OFF32___463 = 176,
    _SC_V6_ILP32_OFFBIG___463 = 177,
    _SC_V6_LP64_OFF64___463 = 178,
    _SC_V6_LPBIG_OFFBIG___463 = 179,
    _SC_HOST_NAME_MAX___463 = 180,
    _SC_TRACE___463 = 181,
    _SC_TRACE_EVENT_FILTER___463 = 182,
    _SC_TRACE_INHERIT___463 = 183,
    _SC_TRACE_LOG___463 = 184,
    _SC_LEVEL1_ICACHE_SIZE___463 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___463 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___463 = 187,
    _SC_LEVEL1_DCACHE_SIZE___463 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___463 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___463 = 190,
    _SC_LEVEL2_CACHE_SIZE___463 = 191,
    _SC_LEVEL2_CACHE_ASSOC___463 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___463 = 193,
    _SC_LEVEL3_CACHE_SIZE___463 = 194,
    _SC_LEVEL3_CACHE_ASSOC___463 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___463 = 196,
    _SC_LEVEL4_CACHE_SIZE___463 = 197,
    _SC_LEVEL4_CACHE_ASSOC___463 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___463 = 199,
    _SC_IPV6___463 = 235,
    _SC_RAW_SOCKETS___463 = 236,
    _SC_V7_ILP32_OFF32___463 = 237,
    _SC_V7_ILP32_OFFBIG___463 = 238,
    _SC_V7_LP64_OFF64___463 = 239,
    _SC_V7_LPBIG_OFFBIG___463 = 240,
    _SC_SS_REPL_MAX___463 = 241,
    _SC_TRACE_EVENT_NAME_MAX___463 = 242,
    _SC_TRACE_NAME_MAX___463 = 243,
    _SC_TRACE_SYS_MAX___463 = 244,
    _SC_TRACE_USER_EVENT_MAX___463 = 245,
    _SC_XOPEN_STREAMS___463 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___463 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___463 = 248
} ;
enum __anonenum_875524036___463 {
    _CS_PATH___463 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___463 = 1,
    _CS_GNU_LIBC_VERSION___463 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___463 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___463 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___463 = 5,
    _CS_LFS_CFLAGS___463 = 1000,
    _CS_LFS_LDFLAGS___463 = 1001,
    _CS_LFS_LIBS___463 = 1002,
    _CS_LFS_LINTFLAGS___463 = 1003,
    _CS_LFS64_CFLAGS___463 = 1004,
    _CS_LFS64_LDFLAGS___463 = 1005,
    _CS_LFS64_LIBS___463 = 1006,
    _CS_LFS64_LINTFLAGS___463 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___463 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___463 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___463 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___463 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___463 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___463 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___463 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___463 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___463 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___463 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___463 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___463 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___463 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___463 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___463 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___463 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___463 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___463 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___463 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___463 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___463 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___463 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___463 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___463 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___463 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___463 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___463 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___463 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___463 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___463 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___463 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___463 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___463 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___463 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___463 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___463 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___463 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___463 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___463 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___463 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___463 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___463 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___463 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___463 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___463 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___463 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___463 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___463 = 1147,
    _CS_V6_ENV___463 = 1148,
    _CS_V7_ENV___463 = 1149
} ;
enum __anonenum_513775621___463 {
    DT_UNKNOWN___463 = 0,
    DT_FIFO___463 = 1,
    DT_CHR___463 = 2,
    DT_DIR___463 = 4,
    DT_BLK___463 = 6,
    DT_REG___463 = 8,
    DT_LNK___463 = 10,
    DT_SOCK___463 = 12,
    DT_WHT___463 = 14
} ;
enum __anonenum_77002343___463 {
    SI_ASYNCNL___463 = -60,
    SI_TKILL___463 = -6,
    SI_SIGIO___463 = -5,
    SI_ASYNCIO___463 = -4,
    SI_MESGQ___463 = -3,
    SI_TIMER___463 = -2,
    SI_QUEUE___463 = -1,
    SI_USER___463 = 0,
    SI_KERNEL___463 = 128
} ;
enum __anonenum_131038172___463 {
    ILL_ILLOPC___463 = 1,
    ILL_ILLOPN___463 = 2,
    ILL_ILLADR___463 = 3,
    ILL_ILLTRP___463 = 4,
    ILL_PRVOPC___463 = 5,
    ILL_PRVREG___463 = 6,
    ILL_COPROC___463 = 7,
    ILL_BADSTK___463 = 8
} ;
enum __anonenum_452038093___463 {
    FPE_INTDIV___463 = 1,
    FPE_INTOVF___463 = 2,
    FPE_FLTDIV___463 = 3,
    FPE_FLTOVF___463 = 4,
    FPE_FLTUND___463 = 5,
    FPE_FLTRES___463 = 6,
    FPE_FLTINV___463 = 7,
    FPE_FLTSUB___463 = 8
} ;
enum __anonenum_30976155___463 {
    SEGV_MAPERR___463 = 1,
    SEGV_ACCERR___463 = 2,
    SEGV_BNDERR___463 = 3,
    SEGV_PKUERR___463 = 4
} ;
enum __anonenum_1036286214___463 {
    BUS_ADRALN___463 = 1,
    BUS_ADRERR___463 = 2,
    BUS_OBJERR___463 = 3,
    BUS_MCEERR_AR___463 = 4,
    BUS_MCEERR_AO___463 = 5
} ;
enum __anonenum_493465559___463 {
    TRAP_BRKPT___463 = 1,
    TRAP_TRACE___463 = 2
} ;
enum __anonenum_23175539___463 {
    CLD_EXITED___463 = 1,
    CLD_KILLED___463 = 2,
    CLD_DUMPED___463 = 3,
    CLD_TRAPPED___463 = 4,
    CLD_STOPPED___463 = 5,
    CLD_CONTINUED___463 = 6
} ;
enum __anonenum_111643124___463 {
    POLL_IN___463 = 1,
    POLL_OUT___463 = 2,
    POLL_MSG___463 = 3,
    POLL_ERR___463 = 4,
    POLL_PRI___463 = 5,
    POLL_HUP___463 = 6
} ;
enum __anonenum_852341087___463 {
    SIGEV_SIGNAL___463 = 0,
    SIGEV_NONE___463 = 1,
    SIGEV_THREAD___463 = 2,
    SIGEV_THREAD_ID___463 = 4
} ;
enum __anonenum_451154152___463 {
    REG_R8___463 = 0,
    REG_R9___463 = 1,
    REG_R10___463 = 2,
    REG_R11___463 = 3,
    REG_R12___463 = 4,
    REG_R13___463 = 5,
    REG_R14___463 = 6,
    REG_R15___463 = 7,
    REG_RDI___463 = 8,
    REG_RSI___463 = 9,
    REG_RBP___463 = 10,
    REG_RBX___463 = 11,
    REG_RDX___463 = 12,
    REG_RAX___463 = 13,
    REG_RCX___463 = 14,
    REG_RSP___463 = 15,
    REG_RIP___463 = 16,
    REG_EFL___463 = 17,
    REG_CSGSFS___463 = 18,
    REG_ERR___463 = 19,
    REG_TRAPNO___463 = 20,
    REG_OLDMASK___463 = 21,
    REG_CR2___463 = 22
} ;
enum __anonenum_57186863___463 {
    SS_ONSTACK___463 = 1,
    SS_DISABLE___463 = 2
} ;
enum __anonenum_83571709___463 {
    MSG_OOB___463 = 1,
    MSG_PEEK___463 = 2,
    MSG_DONTROUTE___463 = 4,
    MSG_TRYHARD___463 = 4,
    MSG_CTRUNC___463 = 8,
    MSG_PROXY___463 = 16,
    MSG_TRUNC___463 = 32,
    MSG_DONTWAIT___463 = 64,
    MSG_EOR___463 = 128,
    MSG_WAITALL___463 = 256,
    MSG_FIN___463 = 512,
    MSG_SYN___463 = 1024,
    MSG_CONFIRM___463 = 2048,
    MSG_RST___463 = 4096,
    MSG_ERRQUEUE___463 = 8192,
    MSG_NOSIGNAL___463 = 16384,
    MSG_MORE___463 = 32768,
    MSG_WAITFORONE___463 = 65536,
    MSG_BATCH___463 = 262144,
    MSG_ZEROCOPY___463 = 67108864,
    MSG_FASTOPEN___463 = 536870912,
    MSG_CMSG_CLOEXEC___463 = 1073741824
} ;
enum __anonenum_617082774___463 {
    SCM_RIGHTS___463 = 1,
    SCM_CREDENTIALS___463 = 2
} ;
enum __anonenum_606441560___463 {
    SHUT_RD___463 = 0,
    SHUT_WR___463 = 1,
    SHUT_RDWR___463 = 2
} ;
enum __anonenum_681669233___463 {
    IPPROTO_IP___463 = 0,
    IPPROTO_ICMP___463 = 1,
    IPPROTO_IGMP___463 = 2,
    IPPROTO_IPIP___463 = 4,
    IPPROTO_TCP___463 = 6,
    IPPROTO_EGP___463 = 8,
    IPPROTO_PUP___463 = 12,
    IPPROTO_UDP___463 = 17,
    IPPROTO_IDP___463 = 22,
    IPPROTO_TP___463 = 29,
    IPPROTO_DCCP___463 = 33,
    IPPROTO_IPV6___463 = 41,
    IPPROTO_RSVP___463 = 46,
    IPPROTO_GRE___463 = 47,
    IPPROTO_ESP___463 = 50,
    IPPROTO_AH___463 = 51,
    IPPROTO_MTP___463 = 92,
    IPPROTO_BEETPH___463 = 94,
    IPPROTO_ENCAP___463 = 98,
    IPPROTO_PIM___463 = 103,
    IPPROTO_COMP___463 = 108,
    IPPROTO_SCTP___463 = 132,
    IPPROTO_UDPLITE___463 = 136,
    IPPROTO_MPLS___463 = 137,
    IPPROTO_RAW___463 = 255,
    IPPROTO_MAX___463 = 256
} ;
enum __anonenum_218739988___463 {
    IPPROTO_HOPOPTS___463 = 0,
    IPPROTO_ROUTING___463 = 43,
    IPPROTO_FRAGMENT___463 = 44,
    IPPROTO_ICMPV6___463 = 58,
    IPPROTO_NONE___463 = 59,
    IPPROTO_DSTOPTS___463 = 60,
    IPPROTO_MH___463 = 135
} ;
enum __anonenum_662268580___463 {
    IPPORT_ECHO___463 = 7,
    IPPORT_DISCARD___463 = 9,
    IPPORT_SYSTAT___463 = 11,
    IPPORT_DAYTIME___463 = 13,
    IPPORT_NETSTAT___463 = 15,
    IPPORT_FTP___463 = 21,
    IPPORT_TELNET___463 = 23,
    IPPORT_SMTP___463 = 25,
    IPPORT_TIMESERVER___463 = 37,
    IPPORT_NAMESERVER___463 = 42,
    IPPORT_WHOIS___463 = 43,
    IPPORT_MTP___463 = 57,
    IPPORT_TFTP___463 = 69,
    IPPORT_RJE___463 = 77,
    IPPORT_FINGER___463 = 79,
    IPPORT_TTYLINK___463 = 87,
    IPPORT_SUPDUP___463 = 95,
    IPPORT_EXECSERVER___463 = 512,
    IPPORT_LOGINSERVER___463 = 513,
    IPPORT_CMDSERVER___463 = 514,
    IPPORT_EFSSERVER___463 = 520,
    IPPORT_BIFFUDP___463 = 512,
    IPPORT_WHOSERVER___463 = 513,
    IPPORT_ROUTESERVER___463 = 520,
    IPPORT_RESERVED___463 = 1024,
    IPPORT_USERRESERVED___463 = 5000
} ;
enum __anonenum_788308992___463 {
    TCP_ESTABLISHED___463 = 1,
    TCP_SYN_SENT___463 = 2,
    TCP_SYN_RECV___463 = 3,
    TCP_FIN_WAIT1___463 = 4,
    TCP_FIN_WAIT2___463 = 5,
    TCP_TIME_WAIT___463 = 6,
    TCP_CLOSE___463 = 7,
    TCP_CLOSE_WAIT___463 = 8,
    TCP_LAST_ACK___463 = 9,
    TCP_LISTEN___463 = 10,
    TCP_CLOSING___463 = 11
} ;
enum __anonenum_221125648___463 {
    TCP_NO_QUEUE___463 = 0,
    TCP_RECV_QUEUE___463 = 1,
    TCP_SEND_QUEUE___463 = 2,
    TCP_QUEUES_NR___463 = 3
} ;
enum __anonenum_34415463___463 {
    PTHREAD_CREATE_JOINABLE___463 = 0,
    PTHREAD_CREATE_DETACHED___463 = 1
} ;
enum __anonenum_303612439___463 {
    PTHREAD_MUTEX_TIMED_NP___463 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___463 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___463 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___463 = 3,
    PTHREAD_MUTEX_NORMAL___463 = 0,
    PTHREAD_MUTEX_RECURSIVE___463 = 1,
    PTHREAD_MUTEX_ERRORCHECK___463 = 2,
    PTHREAD_MUTEX_DEFAULT___463 = 0,
    PTHREAD_MUTEX_FAST_NP___463 = 0
} ;
enum __anonenum_931900394___463 {
    PTHREAD_MUTEX_STALLED___463 = 0,
    PTHREAD_MUTEX_STALLED_NP___463 = 0,
    PTHREAD_MUTEX_ROBUST___463 = 1,
    PTHREAD_MUTEX_ROBUST_NP___463 = 1
} ;
enum __anonenum_205214487___463 {
    PTHREAD_PRIO_NONE___463 = 0,
    PTHREAD_PRIO_INHERIT___463 = 1,
    PTHREAD_PRIO_PROTECT___463 = 2
} ;
enum __anonenum_25043950___463 {
    PTHREAD_RWLOCK_PREFER_READER_NP___463 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___463 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___463 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___463 = 0
} ;
enum __anonenum_436439511___463 {
    PTHREAD_INHERIT_SCHED___463 = 0,
    PTHREAD_EXPLICIT_SCHED___463 = 1
} ;
enum __anonenum_998661166___463 {
    PTHREAD_SCOPE_SYSTEM___463 = 0,
    PTHREAD_SCOPE_PROCESS___463 = 1
} ;
enum __anonenum_146137331___463 {
    PTHREAD_PROCESS_PRIVATE___463 = 0,
    PTHREAD_PROCESS_SHARED___463 = 1
} ;
enum __anonenum_53396917___463 {
    PTHREAD_CANCEL_ENABLE___463 = 0,
    PTHREAD_CANCEL_DISABLE___463 = 1
} ;
enum __anonenum_904563783___463 {
    PTHREAD_CANCEL_DEFERRED___463 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___463 = 1
} ;
enum __anonenum_672052974___463 {
    SSL_CT_VALIDATION_PERMISSIVE___463 = 0,
    SSL_CT_VALIDATION_STRICT___463 = 1
} ;
enum __anonenum_561748495___36 {
    RECURSE_SUBMODULES_ONLY___36 = -5,
    RECURSE_SUBMODULES_CHECK___36 = -4,
    RECURSE_SUBMODULES_ERROR___36 = -3,
    RECURSE_SUBMODULES_NONE___36 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___36 = -1,
    RECURSE_SUBMODULES_OFF___36 = 0,
    RECURSE_SUBMODULES_DEFAULT___36 = 1,
    RECURSE_SUBMODULES_ON___36 = 2
} ;
enum __anonenum_437032235___464 {
    _PC_LINK_MAX___464 = 0,
    _PC_MAX_CANON___464 = 1,
    _PC_MAX_INPUT___464 = 2,
    _PC_NAME_MAX___464 = 3,
    _PC_PATH_MAX___464 = 4,
    _PC_PIPE_BUF___464 = 5,
    _PC_CHOWN_RESTRICTED___464 = 6,
    _PC_NO_TRUNC___464 = 7,
    _PC_VDISABLE___464 = 8,
    _PC_SYNC_IO___464 = 9,
    _PC_ASYNC_IO___464 = 10,
    _PC_PRIO_IO___464 = 11,
    _PC_SOCK_MAXBUF___464 = 12,
    _PC_FILESIZEBITS___464 = 13,
    _PC_REC_INCR_XFER_SIZE___464 = 14,
    _PC_REC_MAX_XFER_SIZE___464 = 15,
    _PC_REC_MIN_XFER_SIZE___464 = 16,
    _PC_REC_XFER_ALIGN___464 = 17,
    _PC_ALLOC_SIZE_MIN___464 = 18,
    _PC_SYMLINK_MAX___464 = 19,
    _PC_2_SYMLINKS___464 = 20
} ;
enum __anonenum_315186338___464 {
    _SC_ARG_MAX___464 = 0,
    _SC_CHILD_MAX___464 = 1,
    _SC_CLK_TCK___464 = 2,
    _SC_NGROUPS_MAX___464 = 3,
    _SC_OPEN_MAX___464 = 4,
    _SC_STREAM_MAX___464 = 5,
    _SC_TZNAME_MAX___464 = 6,
    _SC_JOB_CONTROL___464 = 7,
    _SC_SAVED_IDS___464 = 8,
    _SC_REALTIME_SIGNALS___464 = 9,
    _SC_PRIORITY_SCHEDULING___464 = 10,
    _SC_TIMERS___464 = 11,
    _SC_ASYNCHRONOUS_IO___464 = 12,
    _SC_PRIORITIZED_IO___464 = 13,
    _SC_SYNCHRONIZED_IO___464 = 14,
    _SC_FSYNC___464 = 15,
    _SC_MAPPED_FILES___464 = 16,
    _SC_MEMLOCK___464 = 17,
    _SC_MEMLOCK_RANGE___464 = 18,
    _SC_MEMORY_PROTECTION___464 = 19,
    _SC_MESSAGE_PASSING___464 = 20,
    _SC_SEMAPHORES___464 = 21,
    _SC_SHARED_MEMORY_OBJECTS___464 = 22,
    _SC_AIO_LISTIO_MAX___464 = 23,
    _SC_AIO_MAX___464 = 24,
    _SC_AIO_PRIO_DELTA_MAX___464 = 25,
    _SC_DELAYTIMER_MAX___464 = 26,
    _SC_MQ_OPEN_MAX___464 = 27,
    _SC_MQ_PRIO_MAX___464 = 28,
    _SC_VERSION___464 = 29,
    _SC_PAGESIZE___464 = 30,
    _SC_RTSIG_MAX___464 = 31,
    _SC_SEM_NSEMS_MAX___464 = 32,
    _SC_SEM_VALUE_MAX___464 = 33,
    _SC_SIGQUEUE_MAX___464 = 34,
    _SC_TIMER_MAX___464 = 35,
    _SC_BC_BASE_MAX___464 = 36,
    _SC_BC_DIM_MAX___464 = 37,
    _SC_BC_SCALE_MAX___464 = 38,
    _SC_BC_STRING_MAX___464 = 39,
    _SC_COLL_WEIGHTS_MAX___464 = 40,
    _SC_EQUIV_CLASS_MAX___464 = 41,
    _SC_EXPR_NEST_MAX___464 = 42,
    _SC_LINE_MAX___464 = 43,
    _SC_RE_DUP_MAX___464 = 44,
    _SC_CHARCLASS_NAME_MAX___464 = 45,
    _SC_2_VERSION___464 = 46,
    _SC_2_C_BIND___464 = 47,
    _SC_2_C_DEV___464 = 48,
    _SC_2_FORT_DEV___464 = 49,
    _SC_2_FORT_RUN___464 = 50,
    _SC_2_SW_DEV___464 = 51,
    _SC_2_LOCALEDEF___464 = 52,
    _SC_PII___464 = 53,
    _SC_PII_XTI___464 = 54,
    _SC_PII_SOCKET___464 = 55,
    _SC_PII_INTERNET___464 = 56,
    _SC_PII_OSI___464 = 57,
    _SC_POLL___464 = 58,
    _SC_SELECT___464 = 59,
    _SC_UIO_MAXIOV___464 = 60,
    _SC_IOV_MAX___464 = 60,
    _SC_PII_INTERNET_STREAM___464 = 61,
    _SC_PII_INTERNET_DGRAM___464 = 62,
    _SC_PII_OSI_COTS___464 = 63,
    _SC_PII_OSI_CLTS___464 = 64,
    _SC_PII_OSI_M___464 = 65,
    _SC_T_IOV_MAX___464 = 66,
    _SC_THREADS___464 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___464 = 68,
    _SC_GETGR_R_SIZE_MAX___464 = 69,
    _SC_GETPW_R_SIZE_MAX___464 = 70,
    _SC_LOGIN_NAME_MAX___464 = 71,
    _SC_TTY_NAME_MAX___464 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___464 = 73,
    _SC_THREAD_KEYS_MAX___464 = 74,
    _SC_THREAD_STACK_MIN___464 = 75,
    _SC_THREAD_THREADS_MAX___464 = 76,
    _SC_THREAD_ATTR_STACKADDR___464 = 77,
    _SC_THREAD_ATTR_STACKSIZE___464 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___464 = 79,
    _SC_THREAD_PRIO_INHERIT___464 = 80,
    _SC_THREAD_PRIO_PROTECT___464 = 81,
    _SC_THREAD_PROCESS_SHARED___464 = 82,
    _SC_NPROCESSORS_CONF___464 = 83,
    _SC_NPROCESSORS_ONLN___464 = 84,
    _SC_PHYS_PAGES___464 = 85,
    _SC_AVPHYS_PAGES___464 = 86,
    _SC_ATEXIT_MAX___464 = 87,
    _SC_PASS_MAX___464 = 88,
    _SC_XOPEN_VERSION___464 = 89,
    _SC_XOPEN_XCU_VERSION___464 = 90,
    _SC_XOPEN_UNIX___464 = 91,
    _SC_XOPEN_CRYPT___464 = 92,
    _SC_XOPEN_ENH_I18N___464 = 93,
    _SC_XOPEN_SHM___464 = 94,
    _SC_2_CHAR_TERM___464 = 95,
    _SC_2_C_VERSION___464 = 96,
    _SC_2_UPE___464 = 97,
    _SC_XOPEN_XPG2___464 = 98,
    _SC_XOPEN_XPG3___464 = 99,
    _SC_XOPEN_XPG4___464 = 100,
    _SC_CHAR_BIT___464 = 101,
    _SC_CHAR_MAX___464 = 102,
    _SC_CHAR_MIN___464 = 103,
    _SC_INT_MAX___464 = 104,
    _SC_INT_MIN___464 = 105,
    _SC_LONG_BIT___464 = 106,
    _SC_WORD_BIT___464 = 107,
    _SC_MB_LEN_MAX___464 = 108,
    _SC_NZERO___464 = 109,
    _SC_SSIZE_MAX___464 = 110,
    _SC_SCHAR_MAX___464 = 111,
    _SC_SCHAR_MIN___464 = 112,
    _SC_SHRT_MAX___464 = 113,
    _SC_SHRT_MIN___464 = 114,
    _SC_UCHAR_MAX___464 = 115,
    _SC_UINT_MAX___464 = 116,
    _SC_ULONG_MAX___464 = 117,
    _SC_USHRT_MAX___464 = 118,
    _SC_NL_ARGMAX___464 = 119,
    _SC_NL_LANGMAX___464 = 120,
    _SC_NL_MSGMAX___464 = 121,
    _SC_NL_NMAX___464 = 122,
    _SC_NL_SETMAX___464 = 123,
    _SC_NL_TEXTMAX___464 = 124,
    _SC_XBS5_ILP32_OFF32___464 = 125,
    _SC_XBS5_ILP32_OFFBIG___464 = 126,
    _SC_XBS5_LP64_OFF64___464 = 127,
    _SC_XBS5_LPBIG_OFFBIG___464 = 128,
    _SC_XOPEN_LEGACY___464 = 129,
    _SC_XOPEN_REALTIME___464 = 130,
    _SC_XOPEN_REALTIME_THREADS___464 = 131,
    _SC_ADVISORY_INFO___464 = 132,
    _SC_BARRIERS___464 = 133,
    _SC_BASE___464 = 134,
    _SC_C_LANG_SUPPORT___464 = 135,
    _SC_C_LANG_SUPPORT_R___464 = 136,
    _SC_CLOCK_SELECTION___464 = 137,
    _SC_CPUTIME___464 = 138,
    _SC_THREAD_CPUTIME___464 = 139,
    _SC_DEVICE_IO___464 = 140,
    _SC_DEVICE_SPECIFIC___464 = 141,
    _SC_DEVICE_SPECIFIC_R___464 = 142,
    _SC_FD_MGMT___464 = 143,
    _SC_FIFO___464 = 144,
    _SC_PIPE___464 = 145,
    _SC_FILE_ATTRIBUTES___464 = 146,
    _SC_FILE_LOCKING___464 = 147,
    _SC_FILE_SYSTEM___464 = 148,
    _SC_MONOTONIC_CLOCK___464 = 149,
    _SC_MULTI_PROCESS___464 = 150,
    _SC_SINGLE_PROCESS___464 = 151,
    _SC_NETWORKING___464 = 152,
    _SC_READER_WRITER_LOCKS___464 = 153,
    _SC_SPIN_LOCKS___464 = 154,
    _SC_REGEXP___464 = 155,
    _SC_REGEX_VERSION___464 = 156,
    _SC_SHELL___464 = 157,
    _SC_SIGNALS___464 = 158,
    _SC_SPAWN___464 = 159,
    _SC_SPORADIC_SERVER___464 = 160,
    _SC_THREAD_SPORADIC_SERVER___464 = 161,
    _SC_SYSTEM_DATABASE___464 = 162,
    _SC_SYSTEM_DATABASE_R___464 = 163,
    _SC_TIMEOUTS___464 = 164,
    _SC_TYPED_MEMORY_OBJECTS___464 = 165,
    _SC_USER_GROUPS___464 = 166,
    _SC_USER_GROUPS_R___464 = 167,
    _SC_2_PBS___464 = 168,
    _SC_2_PBS_ACCOUNTING___464 = 169,
    _SC_2_PBS_LOCATE___464 = 170,
    _SC_2_PBS_MESSAGE___464 = 171,
    _SC_2_PBS_TRACK___464 = 172,
    _SC_SYMLOOP_MAX___464 = 173,
    _SC_STREAMS___464 = 174,
    _SC_2_PBS_CHECKPOINT___464 = 175,
    _SC_V6_ILP32_OFF32___464 = 176,
    _SC_V6_ILP32_OFFBIG___464 = 177,
    _SC_V6_LP64_OFF64___464 = 178,
    _SC_V6_LPBIG_OFFBIG___464 = 179,
    _SC_HOST_NAME_MAX___464 = 180,
    _SC_TRACE___464 = 181,
    _SC_TRACE_EVENT_FILTER___464 = 182,
    _SC_TRACE_INHERIT___464 = 183,
    _SC_TRACE_LOG___464 = 184,
    _SC_LEVEL1_ICACHE_SIZE___464 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___464 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___464 = 187,
    _SC_LEVEL1_DCACHE_SIZE___464 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___464 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___464 = 190,
    _SC_LEVEL2_CACHE_SIZE___464 = 191,
    _SC_LEVEL2_CACHE_ASSOC___464 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___464 = 193,
    _SC_LEVEL3_CACHE_SIZE___464 = 194,
    _SC_LEVEL3_CACHE_ASSOC___464 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___464 = 196,
    _SC_LEVEL4_CACHE_SIZE___464 = 197,
    _SC_LEVEL4_CACHE_ASSOC___464 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___464 = 199,
    _SC_IPV6___464 = 235,
    _SC_RAW_SOCKETS___464 = 236,
    _SC_V7_ILP32_OFF32___464 = 237,
    _SC_V7_ILP32_OFFBIG___464 = 238,
    _SC_V7_LP64_OFF64___464 = 239,
    _SC_V7_LPBIG_OFFBIG___464 = 240,
    _SC_SS_REPL_MAX___464 = 241,
    _SC_TRACE_EVENT_NAME_MAX___464 = 242,
    _SC_TRACE_NAME_MAX___464 = 243,
    _SC_TRACE_SYS_MAX___464 = 244,
    _SC_TRACE_USER_EVENT_MAX___464 = 245,
    _SC_XOPEN_STREAMS___464 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___464 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___464 = 248
} ;
enum __anonenum_875524036___464 {
    _CS_PATH___464 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___464 = 1,
    _CS_GNU_LIBC_VERSION___464 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___464 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___464 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___464 = 5,
    _CS_LFS_CFLAGS___464 = 1000,
    _CS_LFS_LDFLAGS___464 = 1001,
    _CS_LFS_LIBS___464 = 1002,
    _CS_LFS_LINTFLAGS___464 = 1003,
    _CS_LFS64_CFLAGS___464 = 1004,
    _CS_LFS64_LDFLAGS___464 = 1005,
    _CS_LFS64_LIBS___464 = 1006,
    _CS_LFS64_LINTFLAGS___464 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___464 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___464 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___464 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___464 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___464 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___464 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___464 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___464 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___464 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___464 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___464 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___464 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___464 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___464 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___464 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___464 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___464 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___464 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___464 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___464 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___464 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___464 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___464 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___464 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___464 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___464 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___464 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___464 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___464 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___464 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___464 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___464 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___464 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___464 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___464 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___464 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___464 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___464 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___464 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___464 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___464 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___464 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___464 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___464 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___464 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___464 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___464 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___464 = 1147,
    _CS_V6_ENV___464 = 1148,
    _CS_V7_ENV___464 = 1149
} ;
enum __anonenum_513775621___464 {
    DT_UNKNOWN___464 = 0,
    DT_FIFO___464 = 1,
    DT_CHR___464 = 2,
    DT_DIR___464 = 4,
    DT_BLK___464 = 6,
    DT_REG___464 = 8,
    DT_LNK___464 = 10,
    DT_SOCK___464 = 12,
    DT_WHT___464 = 14
} ;
enum __anonenum_77002343___464 {
    SI_ASYNCNL___464 = -60,
    SI_TKILL___464 = -6,
    SI_SIGIO___464 = -5,
    SI_ASYNCIO___464 = -4,
    SI_MESGQ___464 = -3,
    SI_TIMER___464 = -2,
    SI_QUEUE___464 = -1,
    SI_USER___464 = 0,
    SI_KERNEL___464 = 128
} ;
enum __anonenum_131038172___464 {
    ILL_ILLOPC___464 = 1,
    ILL_ILLOPN___464 = 2,
    ILL_ILLADR___464 = 3,
    ILL_ILLTRP___464 = 4,
    ILL_PRVOPC___464 = 5,
    ILL_PRVREG___464 = 6,
    ILL_COPROC___464 = 7,
    ILL_BADSTK___464 = 8
} ;
enum __anonenum_452038093___464 {
    FPE_INTDIV___464 = 1,
    FPE_INTOVF___464 = 2,
    FPE_FLTDIV___464 = 3,
    FPE_FLTOVF___464 = 4,
    FPE_FLTUND___464 = 5,
    FPE_FLTRES___464 = 6,
    FPE_FLTINV___464 = 7,
    FPE_FLTSUB___464 = 8
} ;
enum __anonenum_30976155___464 {
    SEGV_MAPERR___464 = 1,
    SEGV_ACCERR___464 = 2,
    SEGV_BNDERR___464 = 3,
    SEGV_PKUERR___464 = 4
} ;
enum __anonenum_1036286214___464 {
    BUS_ADRALN___464 = 1,
    BUS_ADRERR___464 = 2,
    BUS_OBJERR___464 = 3,
    BUS_MCEERR_AR___464 = 4,
    BUS_MCEERR_AO___464 = 5
} ;
enum __anonenum_493465559___464 {
    TRAP_BRKPT___464 = 1,
    TRAP_TRACE___464 = 2
} ;
enum __anonenum_23175539___464 {
    CLD_EXITED___464 = 1,
    CLD_KILLED___464 = 2,
    CLD_DUMPED___464 = 3,
    CLD_TRAPPED___464 = 4,
    CLD_STOPPED___464 = 5,
    CLD_CONTINUED___464 = 6
} ;
enum __anonenum_111643124___464 {
    POLL_IN___464 = 1,
    POLL_OUT___464 = 2,
    POLL_MSG___464 = 3,
    POLL_ERR___464 = 4,
    POLL_PRI___464 = 5,
    POLL_HUP___464 = 6
} ;
enum __anonenum_852341087___464 {
    SIGEV_SIGNAL___464 = 0,
    SIGEV_NONE___464 = 1,
    SIGEV_THREAD___464 = 2,
    SIGEV_THREAD_ID___464 = 4
} ;
enum __anonenum_451154152___464 {
    REG_R8___464 = 0,
    REG_R9___464 = 1,
    REG_R10___464 = 2,
    REG_R11___464 = 3,
    REG_R12___464 = 4,
    REG_R13___464 = 5,
    REG_R14___464 = 6,
    REG_R15___464 = 7,
    REG_RDI___464 = 8,
    REG_RSI___464 = 9,
    REG_RBP___464 = 10,
    REG_RBX___464 = 11,
    REG_RDX___464 = 12,
    REG_RAX___464 = 13,
    REG_RCX___464 = 14,
    REG_RSP___464 = 15,
    REG_RIP___464 = 16,
    REG_EFL___464 = 17,
    REG_CSGSFS___464 = 18,
    REG_ERR___464 = 19,
    REG_TRAPNO___464 = 20,
    REG_OLDMASK___464 = 21,
    REG_CR2___464 = 22
} ;
enum __anonenum_57186863___464 {
    SS_ONSTACK___464 = 1,
    SS_DISABLE___464 = 2
} ;
enum __anonenum_83571709___464 {
    MSG_OOB___464 = 1,
    MSG_PEEK___464 = 2,
    MSG_DONTROUTE___464 = 4,
    MSG_TRYHARD___464 = 4,
    MSG_CTRUNC___464 = 8,
    MSG_PROXY___464 = 16,
    MSG_TRUNC___464 = 32,
    MSG_DONTWAIT___464 = 64,
    MSG_EOR___464 = 128,
    MSG_WAITALL___464 = 256,
    MSG_FIN___464 = 512,
    MSG_SYN___464 = 1024,
    MSG_CONFIRM___464 = 2048,
    MSG_RST___464 = 4096,
    MSG_ERRQUEUE___464 = 8192,
    MSG_NOSIGNAL___464 = 16384,
    MSG_MORE___464 = 32768,
    MSG_WAITFORONE___464 = 65536,
    MSG_BATCH___464 = 262144,
    MSG_ZEROCOPY___464 = 67108864,
    MSG_FASTOPEN___464 = 536870912,
    MSG_CMSG_CLOEXEC___464 = 1073741824
} ;
enum __anonenum_617082774___464 {
    SCM_RIGHTS___464 = 1,
    SCM_CREDENTIALS___464 = 2
} ;
enum __anonenum_606441560___464 {
    SHUT_RD___464 = 0,
    SHUT_WR___464 = 1,
    SHUT_RDWR___464 = 2
} ;
enum __anonenum_681669233___464 {
    IPPROTO_IP___464 = 0,
    IPPROTO_ICMP___464 = 1,
    IPPROTO_IGMP___464 = 2,
    IPPROTO_IPIP___464 = 4,
    IPPROTO_TCP___464 = 6,
    IPPROTO_EGP___464 = 8,
    IPPROTO_PUP___464 = 12,
    IPPROTO_UDP___464 = 17,
    IPPROTO_IDP___464 = 22,
    IPPROTO_TP___464 = 29,
    IPPROTO_DCCP___464 = 33,
    IPPROTO_IPV6___464 = 41,
    IPPROTO_RSVP___464 = 46,
    IPPROTO_GRE___464 = 47,
    IPPROTO_ESP___464 = 50,
    IPPROTO_AH___464 = 51,
    IPPROTO_MTP___464 = 92,
    IPPROTO_BEETPH___464 = 94,
    IPPROTO_ENCAP___464 = 98,
    IPPROTO_PIM___464 = 103,
    IPPROTO_COMP___464 = 108,
    IPPROTO_SCTP___464 = 132,
    IPPROTO_UDPLITE___464 = 136,
    IPPROTO_MPLS___464 = 137,
    IPPROTO_RAW___464 = 255,
    IPPROTO_MAX___464 = 256
} ;
enum __anonenum_218739988___464 {
    IPPROTO_HOPOPTS___464 = 0,
    IPPROTO_ROUTING___464 = 43,
    IPPROTO_FRAGMENT___464 = 44,
    IPPROTO_ICMPV6___464 = 58,
    IPPROTO_NONE___464 = 59,
    IPPROTO_DSTOPTS___464 = 60,
    IPPROTO_MH___464 = 135
} ;
enum __anonenum_662268580___464 {
    IPPORT_ECHO___464 = 7,
    IPPORT_DISCARD___464 = 9,
    IPPORT_SYSTAT___464 = 11,
    IPPORT_DAYTIME___464 = 13,
    IPPORT_NETSTAT___464 = 15,
    IPPORT_FTP___464 = 21,
    IPPORT_TELNET___464 = 23,
    IPPORT_SMTP___464 = 25,
    IPPORT_TIMESERVER___464 = 37,
    IPPORT_NAMESERVER___464 = 42,
    IPPORT_WHOIS___464 = 43,
    IPPORT_MTP___464 = 57,
    IPPORT_TFTP___464 = 69,
    IPPORT_RJE___464 = 77,
    IPPORT_FINGER___464 = 79,
    IPPORT_TTYLINK___464 = 87,
    IPPORT_SUPDUP___464 = 95,
    IPPORT_EXECSERVER___464 = 512,
    IPPORT_LOGINSERVER___464 = 513,
    IPPORT_CMDSERVER___464 = 514,
    IPPORT_EFSSERVER___464 = 520,
    IPPORT_BIFFUDP___464 = 512,
    IPPORT_WHOSERVER___464 = 513,
    IPPORT_ROUTESERVER___464 = 520,
    IPPORT_RESERVED___464 = 1024,
    IPPORT_USERRESERVED___464 = 5000
} ;
enum __anonenum_788308992___464 {
    TCP_ESTABLISHED___464 = 1,
    TCP_SYN_SENT___464 = 2,
    TCP_SYN_RECV___464 = 3,
    TCP_FIN_WAIT1___464 = 4,
    TCP_FIN_WAIT2___464 = 5,
    TCP_TIME_WAIT___464 = 6,
    TCP_CLOSE___464 = 7,
    TCP_CLOSE_WAIT___464 = 8,
    TCP_LAST_ACK___464 = 9,
    TCP_LISTEN___464 = 10,
    TCP_CLOSING___464 = 11
} ;
enum __anonenum_221125648___464 {
    TCP_NO_QUEUE___464 = 0,
    TCP_RECV_QUEUE___464 = 1,
    TCP_SEND_QUEUE___464 = 2,
    TCP_QUEUES_NR___464 = 3
} ;
enum __anonenum_34415463___464 {
    PTHREAD_CREATE_JOINABLE___464 = 0,
    PTHREAD_CREATE_DETACHED___464 = 1
} ;
enum __anonenum_303612439___464 {
    PTHREAD_MUTEX_TIMED_NP___464 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___464 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___464 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___464 = 3,
    PTHREAD_MUTEX_NORMAL___464 = 0,
    PTHREAD_MUTEX_RECURSIVE___464 = 1,
    PTHREAD_MUTEX_ERRORCHECK___464 = 2,
    PTHREAD_MUTEX_DEFAULT___464 = 0,
    PTHREAD_MUTEX_FAST_NP___464 = 0
} ;
enum __anonenum_931900394___464 {
    PTHREAD_MUTEX_STALLED___464 = 0,
    PTHREAD_MUTEX_STALLED_NP___464 = 0,
    PTHREAD_MUTEX_ROBUST___464 = 1,
    PTHREAD_MUTEX_ROBUST_NP___464 = 1
} ;
enum __anonenum_205214487___464 {
    PTHREAD_PRIO_NONE___464 = 0,
    PTHREAD_PRIO_INHERIT___464 = 1,
    PTHREAD_PRIO_PROTECT___464 = 2
} ;
enum __anonenum_25043950___464 {
    PTHREAD_RWLOCK_PREFER_READER_NP___464 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___464 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___464 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___464 = 0
} ;
enum __anonenum_436439511___464 {
    PTHREAD_INHERIT_SCHED___464 = 0,
    PTHREAD_EXPLICIT_SCHED___464 = 1
} ;
enum __anonenum_998661166___464 {
    PTHREAD_SCOPE_SYSTEM___464 = 0,
    PTHREAD_SCOPE_PROCESS___464 = 1
} ;
enum __anonenum_146137331___464 {
    PTHREAD_PROCESS_PRIVATE___464 = 0,
    PTHREAD_PROCESS_SHARED___464 = 1
} ;
enum __anonenum_53396917___464 {
    PTHREAD_CANCEL_ENABLE___464 = 0,
    PTHREAD_CANCEL_DISABLE___464 = 1
} ;
enum __anonenum_904563783___464 {
    PTHREAD_CANCEL_DEFERRED___464 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___464 = 1
} ;
enum __anonenum_672052974___464 {
    SSL_CT_VALIDATION_PERMISSIVE___464 = 0,
    SSL_CT_VALIDATION_STRICT___464 = 1
} ;
enum __anonenum_561748495___37 {
    RECURSE_SUBMODULES_ONLY___37 = -5,
    RECURSE_SUBMODULES_CHECK___37 = -4,
    RECURSE_SUBMODULES_ERROR___37 = -3,
    RECURSE_SUBMODULES_NONE___37 = -2,
    RECURSE_SUBMODULES_ON_DEMAND___37 = -1,
    RECURSE_SUBMODULES_OFF___37 = 0,
    RECURSE_SUBMODULES_DEFAULT___37 = 1,
    RECURSE_SUBMODULES_ON___37 = 2
} ;
enum __anonenum_437032235___465 {
    _PC_LINK_MAX___465 = 0,
    _PC_MAX_CANON___465 = 1,
    _PC_MAX_INPUT___465 = 2,
    _PC_NAME_MAX___465 = 3,
    _PC_PATH_MAX___465 = 4,
    _PC_PIPE_BUF___465 = 5,
    _PC_CHOWN_RESTRICTED___465 = 6,
    _PC_NO_TRUNC___465 = 7,
    _PC_VDISABLE___465 = 8,
    _PC_SYNC_IO___465 = 9,
    _PC_ASYNC_IO___465 = 10,
    _PC_PRIO_IO___465 = 11,
    _PC_SOCK_MAXBUF___465 = 12,
    _PC_FILESIZEBITS___465 = 13,
    _PC_REC_INCR_XFER_SIZE___465 = 14,
    _PC_REC_MAX_XFER_SIZE___465 = 15,
    _PC_REC_MIN_XFER_SIZE___465 = 16,
    _PC_REC_XFER_ALIGN___465 = 17,
    _PC_ALLOC_SIZE_MIN___465 = 18,
    _PC_SYMLINK_MAX___465 = 19,
    _PC_2_SYMLINKS___465 = 20
} ;
enum __anonenum_315186338___465 {
    _SC_ARG_MAX___465 = 0,
    _SC_CHILD_MAX___465 = 1,
    _SC_CLK_TCK___465 = 2,
    _SC_NGROUPS_MAX___465 = 3,
    _SC_OPEN_MAX___465 = 4,
    _SC_STREAM_MAX___465 = 5,
    _SC_TZNAME_MAX___465 = 6,
    _SC_JOB_CONTROL___465 = 7,
    _SC_SAVED_IDS___465 = 8,
    _SC_REALTIME_SIGNALS___465 = 9,
    _SC_PRIORITY_SCHEDULING___465 = 10,
    _SC_TIMERS___465 = 11,
    _SC_ASYNCHRONOUS_IO___465 = 12,
    _SC_PRIORITIZED_IO___465 = 13,
    _SC_SYNCHRONIZED_IO___465 = 14,
    _SC_FSYNC___465 = 15,
    _SC_MAPPED_FILES___465 = 16,
    _SC_MEMLOCK___465 = 17,
    _SC_MEMLOCK_RANGE___465 = 18,
    _SC_MEMORY_PROTECTION___465 = 19,
    _SC_MESSAGE_PASSING___465 = 20,
    _SC_SEMAPHORES___465 = 21,
    _SC_SHARED_MEMORY_OBJECTS___465 = 22,
    _SC_AIO_LISTIO_MAX___465 = 23,
    _SC_AIO_MAX___465 = 24,
    _SC_AIO_PRIO_DELTA_MAX___465 = 25,
    _SC_DELAYTIMER_MAX___465 = 26,
    _SC_MQ_OPEN_MAX___465 = 27,
    _SC_MQ_PRIO_MAX___465 = 28,
    _SC_VERSION___465 = 29,
    _SC_PAGESIZE___465 = 30,
    _SC_RTSIG_MAX___465 = 31,
    _SC_SEM_NSEMS_MAX___465 = 32,
    _SC_SEM_VALUE_MAX___465 = 33,
    _SC_SIGQUEUE_MAX___465 = 34,
    _SC_TIMER_MAX___465 = 35,
    _SC_BC_BASE_MAX___465 = 36,
    _SC_BC_DIM_MAX___465 = 37,
    _SC_BC_SCALE_MAX___465 = 38,
    _SC_BC_STRING_MAX___465 = 39,
    _SC_COLL_WEIGHTS_MAX___465 = 40,
    _SC_EQUIV_CLASS_MAX___465 = 41,
    _SC_EXPR_NEST_MAX___465 = 42,
    _SC_LINE_MAX___465 = 43,
    _SC_RE_DUP_MAX___465 = 44,
    _SC_CHARCLASS_NAME_MAX___465 = 45,
    _SC_2_VERSION___465 = 46,
    _SC_2_C_BIND___465 = 47,
    _SC_2_C_DEV___465 = 48,
    _SC_2_FORT_DEV___465 = 49,
    _SC_2_FORT_RUN___465 = 50,
    _SC_2_SW_DEV___465 = 51,
    _SC_2_LOCALEDEF___465 = 52,
    _SC_PII___465 = 53,
    _SC_PII_XTI___465 = 54,
    _SC_PII_SOCKET___465 = 55,
    _SC_PII_INTERNET___465 = 56,
    _SC_PII_OSI___465 = 57,
    _SC_POLL___465 = 58,
    _SC_SELECT___465 = 59,
    _SC_UIO_MAXIOV___465 = 60,
    _SC_IOV_MAX___465 = 60,
    _SC_PII_INTERNET_STREAM___465 = 61,
    _SC_PII_INTERNET_DGRAM___465 = 62,
    _SC_PII_OSI_COTS___465 = 63,
    _SC_PII_OSI_CLTS___465 = 64,
    _SC_PII_OSI_M___465 = 65,
    _SC_T_IOV_MAX___465 = 66,
    _SC_THREADS___465 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___465 = 68,
    _SC_GETGR_R_SIZE_MAX___465 = 69,
    _SC_GETPW_R_SIZE_MAX___465 = 70,
    _SC_LOGIN_NAME_MAX___465 = 71,
    _SC_TTY_NAME_MAX___465 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___465 = 73,
    _SC_THREAD_KEYS_MAX___465 = 74,
    _SC_THREAD_STACK_MIN___465 = 75,
    _SC_THREAD_THREADS_MAX___465 = 76,
    _SC_THREAD_ATTR_STACKADDR___465 = 77,
    _SC_THREAD_ATTR_STACKSIZE___465 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___465 = 79,
    _SC_THREAD_PRIO_INHERIT___465 = 80,
    _SC_THREAD_PRIO_PROTECT___465 = 81,
    _SC_THREAD_PROCESS_SHARED___465 = 82,
    _SC_NPROCESSORS_CONF___465 = 83,
    _SC_NPROCESSORS_ONLN___465 = 84,
    _SC_PHYS_PAGES___465 = 85,
    _SC_AVPHYS_PAGES___465 = 86,
    _SC_ATEXIT_MAX___465 = 87,
    _SC_PASS_MAX___465 = 88,
    _SC_XOPEN_VERSION___465 = 89,
    _SC_XOPEN_XCU_VERSION___465 = 90,
    _SC_XOPEN_UNIX___465 = 91,
    _SC_XOPEN_CRYPT___465 = 92,
    _SC_XOPEN_ENH_I18N___465 = 93,
    _SC_XOPEN_SHM___465 = 94,
    _SC_2_CHAR_TERM___465 = 95,
    _SC_2_C_VERSION___465 = 96,
    _SC_2_UPE___465 = 97,
    _SC_XOPEN_XPG2___465 = 98,
    _SC_XOPEN_XPG3___465 = 99,
    _SC_XOPEN_XPG4___465 = 100,
    _SC_CHAR_BIT___465 = 101,
    _SC_CHAR_MAX___465 = 102,
    _SC_CHAR_MIN___465 = 103,
    _SC_INT_MAX___465 = 104,
    _SC_INT_MIN___465 = 105,
    _SC_LONG_BIT___465 = 106,
    _SC_WORD_BIT___465 = 107,
    _SC_MB_LEN_MAX___465 = 108,
    _SC_NZERO___465 = 109,
    _SC_SSIZE_MAX___465 = 110,
    _SC_SCHAR_MAX___465 = 111,
    _SC_SCHAR_MIN___465 = 112,
    _SC_SHRT_MAX___465 = 113,
    _SC_SHRT_MIN___465 = 114,
    _SC_UCHAR_MAX___465 = 115,
    _SC_UINT_MAX___465 = 116,
    _SC_ULONG_MAX___465 = 117,
    _SC_USHRT_MAX___465 = 118,
    _SC_NL_ARGMAX___465 = 119,
    _SC_NL_LANGMAX___465 = 120,
    _SC_NL_MSGMAX___465 = 121,
    _SC_NL_NMAX___465 = 122,
    _SC_NL_SETMAX___465 = 123,
    _SC_NL_TEXTMAX___465 = 124,
    _SC_XBS5_ILP32_OFF32___465 = 125,
    _SC_XBS5_ILP32_OFFBIG___465 = 126,
    _SC_XBS5_LP64_OFF64___465 = 127,
    _SC_XBS5_LPBIG_OFFBIG___465 = 128,
    _SC_XOPEN_LEGACY___465 = 129,
    _SC_XOPEN_REALTIME___465 = 130,
    _SC_XOPEN_REALTIME_THREADS___465 = 131,
    _SC_ADVISORY_INFO___465 = 132,
    _SC_BARRIERS___465 = 133,
    _SC_BASE___465 = 134,
    _SC_C_LANG_SUPPORT___465 = 135,
    _SC_C_LANG_SUPPORT_R___465 = 136,
    _SC_CLOCK_SELECTION___465 = 137,
    _SC_CPUTIME___465 = 138,
    _SC_THREAD_CPUTIME___465 = 139,
    _SC_DEVICE_IO___465 = 140,
    _SC_DEVICE_SPECIFIC___465 = 141,
    _SC_DEVICE_SPECIFIC_R___465 = 142,
    _SC_FD_MGMT___465 = 143,
    _SC_FIFO___465 = 144,
    _SC_PIPE___465 = 145,
    _SC_FILE_ATTRIBUTES___465 = 146,
    _SC_FILE_LOCKING___465 = 147,
    _SC_FILE_SYSTEM___465 = 148,
    _SC_MONOTONIC_CLOCK___465 = 149,
    _SC_MULTI_PROCESS___465 = 150,
    _SC_SINGLE_PROCESS___465 = 151,
    _SC_NETWORKING___465 = 152,
    _SC_READER_WRITER_LOCKS___465 = 153,
    _SC_SPIN_LOCKS___465 = 154,
    _SC_REGEXP___465 = 155,
    _SC_REGEX_VERSION___465 = 156,
    _SC_SHELL___465 = 157,
    _SC_SIGNALS___465 = 158,
    _SC_SPAWN___465 = 159,
    _SC_SPORADIC_SERVER___465 = 160,
    _SC_THREAD_SPORADIC_SERVER___465 = 161,
    _SC_SYSTEM_DATABASE___465 = 162,
    _SC_SYSTEM_DATABASE_R___465 = 163,
    _SC_TIMEOUTS___465 = 164,
    _SC_TYPED_MEMORY_OBJECTS___465 = 165,
    _SC_USER_GROUPS___465 = 166,
    _SC_USER_GROUPS_R___465 = 167,
    _SC_2_PBS___465 = 168,
    _SC_2_PBS_ACCOUNTING___465 = 169,
    _SC_2_PBS_LOCATE___465 = 170,
    _SC_2_PBS_MESSAGE___465 = 171,
    _SC_2_PBS_TRACK___465 = 172,
    _SC_SYMLOOP_MAX___465 = 173,
    _SC_STREAMS___465 = 174,
    _SC_2_PBS_CHECKPOINT___465 = 175,
    _SC_V6_ILP32_OFF32___465 = 176,
    _SC_V6_ILP32_OFFBIG___465 = 177,
    _SC_V6_LP64_OFF64___465 = 178,
    _SC_V6_LPBIG_OFFBIG___465 = 179,
    _SC_HOST_NAME_MAX___465 = 180,
    _SC_TRACE___465 = 181,
    _SC_TRACE_EVENT_FILTER___465 = 182,
    _SC_TRACE_INHERIT___465 = 183,
    _SC_TRACE_LOG___465 = 184,
    _SC_LEVEL1_ICACHE_SIZE___465 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___465 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___465 = 187,
    _SC_LEVEL1_DCACHE_SIZE___465 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___465 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___465 = 190,
    _SC_LEVEL2_CACHE_SIZE___465 = 191,
    _SC_LEVEL2_CACHE_ASSOC___465 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___465 = 193,
    _SC_LEVEL3_CACHE_SIZE___465 = 194,
    _SC_LEVEL3_CACHE_ASSOC___465 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___465 = 196,
    _SC_LEVEL4_CACHE_SIZE___465 = 197,
    _SC_LEVEL4_CACHE_ASSOC___465 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___465 = 199,
    _SC_IPV6___465 = 235,
    _SC_RAW_SOCKETS___465 = 236,
    _SC_V7_ILP32_OFF32___465 = 237,
    _SC_V7_ILP32_OFFBIG___465 = 238,
    _SC_V7_LP64_OFF64___465 = 239,
    _SC_V7_LPBIG_OFFBIG___465 = 240,
    _SC_SS_REPL_MAX___465 = 241,
    _SC_TRACE_EVENT_NAME_MAX___465 = 242,
    _SC_TRACE_NAME_MAX___465 = 243,
    _SC_TRACE_SYS_MAX___465 = 244,
    _SC_TRACE_USER_EVENT_MAX___465 = 245,
    _SC_XOPEN_STREAMS___465 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___465 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___465 = 248
} ;
enum __anonenum_875524036___465 {
    _CS_PATH___465 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___465 = 1,
    _CS_GNU_LIBC_VERSION___465 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___465 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___465 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___465 = 5,
    _CS_LFS_CFLAGS___465 = 1000,
    _CS_LFS_LDFLAGS___465 = 1001,
    _CS_LFS_LIBS___465 = 1002,
    _CS_LFS_LINTFLAGS___465 = 1003,
    _CS_LFS64_CFLAGS___465 = 1004,
    _CS_LFS64_LDFLAGS___465 = 1005,
    _CS_LFS64_LIBS___465 = 1006,
    _CS_LFS64_LINTFLAGS___465 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___465 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___465 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___465 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___465 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___465 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___465 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___465 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___465 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___465 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___465 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___465 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___465 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___465 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___465 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___465 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___465 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___465 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___465 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___465 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___465 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___465 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___465 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___465 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___465 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___465 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___465 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___465 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___465 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___465 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___465 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___465 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___465 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___465 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___465 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___465 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___465 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___465 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___465 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___465 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___465 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___465 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___465 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___465 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___465 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___465 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___465 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___465 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___465 = 1147,
    _CS_V6_ENV___465 = 1148,
    _CS_V7_ENV___465 = 1149
} ;
enum __anonenum_513775621___465 {
    DT_UNKNOWN___465 = 0,
    DT_FIFO___465 = 1,
    DT_CHR___465 = 2,
    DT_DIR___465 = 4,
    DT_BLK___465 = 6,
    DT_REG___465 = 8,
    DT_LNK___465 = 10,
    DT_SOCK___465 = 12,
    DT_WHT___465 = 14
} ;
enum __anonenum_77002343___465 {
    SI_ASYNCNL___465 = -60,
    SI_TKILL___465 = -6,
    SI_SIGIO___465 = -5,
    SI_ASYNCIO___465 = -4,
    SI_MESGQ___465 = -3,
    SI_TIMER___465 = -2,
    SI_QUEUE___465 = -1,
    SI_USER___465 = 0,
    SI_KERNEL___465 = 128
} ;
enum __anonenum_131038172___465 {
    ILL_ILLOPC___465 = 1,
    ILL_ILLOPN___465 = 2,
    ILL_ILLADR___465 = 3,
    ILL_ILLTRP___465 = 4,
    ILL_PRVOPC___465 = 5,
    ILL_PRVREG___465 = 6,
    ILL_COPROC___465 = 7,
    ILL_BADSTK___465 = 8
} ;
enum __anonenum_452038093___465 {
    FPE_INTDIV___465 = 1,
    FPE_INTOVF___465 = 2,
    FPE_FLTDIV___465 = 3,
    FPE_FLTOVF___465 = 4,
    FPE_FLTUND___465 = 5,
    FPE_FLTRES___465 = 6,
    FPE_FLTINV___465 = 7,
    FPE_FLTSUB___465 = 8
} ;
enum __anonenum_30976155___465 {
    SEGV_MAPERR___465 = 1,
    SEGV_ACCERR___465 = 2,
    SEGV_BNDERR___465 = 3,
    SEGV_PKUERR___465 = 4
} ;
enum __anonenum_1036286214___465 {
    BUS_ADRALN___465 = 1,
    BUS_ADRERR___465 = 2,
    BUS_OBJERR___465 = 3,
    BUS_MCEERR_AR___465 = 4,
    BUS_MCEERR_AO___465 = 5
} ;
enum __anonenum_493465559___465 {
    TRAP_BRKPT___465 = 1,
    TRAP_TRACE___465 = 2
} ;
enum __anonenum_23175539___465 {
    CLD_EXITED___465 = 1,
    CLD_KILLED___465 = 2,
    CLD_DUMPED___465 = 3,
    CLD_TRAPPED___465 = 4,
    CLD_STOPPED___465 = 5,
    CLD_CONTINUED___465 = 6
} ;
enum __anonenum_111643124___465 {
    POLL_IN___465 = 1,
    POLL_OUT___465 = 2,
    POLL_MSG___465 = 3,
    POLL_ERR___465 = 4,
    POLL_PRI___465 = 5,
    POLL_HUP___465 = 6
} ;
enum __anonenum_852341087___465 {
    SIGEV_SIGNAL___465 = 0,
    SIGEV_NONE___465 = 1,
    SIGEV_THREAD___465 = 2,
    SIGEV_THREAD_ID___465 = 4
} ;
enum __anonenum_451154152___465 {
    REG_R8___465 = 0,
    REG_R9___465 = 1,
    REG_R10___465 = 2,
    REG_R11___465 = 3,
    REG_R12___465 = 4,
    REG_R13___465 = 5,
    REG_R14___465 = 6,
    REG_R15___465 = 7,
    REG_RDI___465 = 8,
    REG_RSI___465 = 9,
    REG_RBP___465 = 10,
    REG_RBX___465 = 11,
    REG_RDX___465 = 12,
    REG_RAX___465 = 13,
    REG_RCX___465 = 14,
    REG_RSP___465 = 15,
    REG_RIP___465 = 16,
    REG_EFL___465 = 17,
    REG_CSGSFS___465 = 18,
    REG_ERR___465 = 19,
    REG_TRAPNO___465 = 20,
    REG_OLDMASK___465 = 21,
    REG_CR2___465 = 22
} ;
enum __anonenum_57186863___465 {
    SS_ONSTACK___465 = 1,
    SS_DISABLE___465 = 2
} ;
enum __anonenum_83571709___465 {
    MSG_OOB___465 = 1,
    MSG_PEEK___465 = 2,
    MSG_DONTROUTE___465 = 4,
    MSG_TRYHARD___465 = 4,
    MSG_CTRUNC___465 = 8,
    MSG_PROXY___465 = 16,
    MSG_TRUNC___465 = 32,
    MSG_DONTWAIT___465 = 64,
    MSG_EOR___465 = 128,
    MSG_WAITALL___465 = 256,
    MSG_FIN___465 = 512,
    MSG_SYN___465 = 1024,
    MSG_CONFIRM___465 = 2048,
    MSG_RST___465 = 4096,
    MSG_ERRQUEUE___465 = 8192,
    MSG_NOSIGNAL___465 = 16384,
    MSG_MORE___465 = 32768,
    MSG_WAITFORONE___465 = 65536,
    MSG_BATCH___465 = 262144,
    MSG_ZEROCOPY___465 = 67108864,
    MSG_FASTOPEN___465 = 536870912,
    MSG_CMSG_CLOEXEC___465 = 1073741824
} ;
enum __anonenum_617082774___465 {
    SCM_RIGHTS___465 = 1,
    SCM_CREDENTIALS___465 = 2
} ;
enum __anonenum_606441560___465 {
    SHUT_RD___465 = 0,
    SHUT_WR___465 = 1,
    SHUT_RDWR___465 = 2
} ;
enum __anonenum_681669233___465 {
    IPPROTO_IP___465 = 0,
    IPPROTO_ICMP___465 = 1,
    IPPROTO_IGMP___465 = 2,
    IPPROTO_IPIP___465 = 4,
    IPPROTO_TCP___465 = 6,
    IPPROTO_EGP___465 = 8,
    IPPROTO_PUP___465 = 12,
    IPPROTO_UDP___465 = 17,
    IPPROTO_IDP___465 = 22,
    IPPROTO_TP___465 = 29,
    IPPROTO_DCCP___465 = 33,
    IPPROTO_IPV6___465 = 41,
    IPPROTO_RSVP___465 = 46,
    IPPROTO_GRE___465 = 47,
    IPPROTO_ESP___465 = 50,
    IPPROTO_AH___465 = 51,
    IPPROTO_MTP___465 = 92,
    IPPROTO_BEETPH___465 = 94,
    IPPROTO_ENCAP___465 = 98,
    IPPROTO_PIM___465 = 103,
    IPPROTO_COMP___465 = 108,
    IPPROTO_SCTP___465 = 132,
    IPPROTO_UDPLITE___465 = 136,
    IPPROTO_MPLS___465 = 137,
    IPPROTO_RAW___465 = 255,
    IPPROTO_MAX___465 = 256
} ;
enum __anonenum_218739988___465 {
    IPPROTO_HOPOPTS___465 = 0,
    IPPROTO_ROUTING___465 = 43,
    IPPROTO_FRAGMENT___465 = 44,
    IPPROTO_ICMPV6___465 = 58,
    IPPROTO_NONE___465 = 59,
    IPPROTO_DSTOPTS___465 = 60,
    IPPROTO_MH___465 = 135
} ;
enum __anonenum_662268580___465 {
    IPPORT_ECHO___465 = 7,
    IPPORT_DISCARD___465 = 9,
    IPPORT_SYSTAT___465 = 11,
    IPPORT_DAYTIME___465 = 13,
    IPPORT_NETSTAT___465 = 15,
    IPPORT_FTP___465 = 21,
    IPPORT_TELNET___465 = 23,
    IPPORT_SMTP___465 = 25,
    IPPORT_TIMESERVER___465 = 37,
    IPPORT_NAMESERVER___465 = 42,
    IPPORT_WHOIS___465 = 43,
    IPPORT_MTP___465 = 57,
    IPPORT_TFTP___465 = 69,
    IPPORT_RJE___465 = 77,
    IPPORT_FINGER___465 = 79,
    IPPORT_TTYLINK___465 = 87,
    IPPORT_SUPDUP___465 = 95,
    IPPORT_EXECSERVER___465 = 512,
    IPPORT_LOGINSERVER___465 = 513,
    IPPORT_CMDSERVER___465 = 514,
    IPPORT_EFSSERVER___465 = 520,
    IPPORT_BIFFUDP___465 = 512,
    IPPORT_WHOSERVER___465 = 513,
    IPPORT_ROUTESERVER___465 = 520,
    IPPORT_RESERVED___465 = 1024,
    IPPORT_USERRESERVED___465 = 5000
} ;
enum __anonenum_788308992___465 {
    TCP_ESTABLISHED___465 = 1,
    TCP_SYN_SENT___465 = 2,
    TCP_SYN_RECV___465 = 3,
    TCP_FIN_WAIT1___465 = 4,
    TCP_FIN_WAIT2___465 = 5,
    TCP_TIME_WAIT___465 = 6,
    TCP_CLOSE___465 = 7,
    TCP_CLOSE_WAIT___465 = 8,
    TCP_LAST_ACK___465 = 9,
    TCP_LISTEN___465 = 10,
    TCP_CLOSING___465 = 11
} ;
enum __anonenum_221125648___465 {
    TCP_NO_QUEUE___465 = 0,
    TCP_RECV_QUEUE___465 = 1,
    TCP_SEND_QUEUE___465 = 2,
    TCP_QUEUES_NR___465 = 3
} ;
enum __anonenum_34415463___465 {
    PTHREAD_CREATE_JOINABLE___465 = 0,
    PTHREAD_CREATE_DETACHED___465 = 1
} ;
enum __anonenum_303612439___465 {
    PTHREAD_MUTEX_TIMED_NP___465 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___465 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___465 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___465 = 3,
    PTHREAD_MUTEX_NORMAL___465 = 0,
    PTHREAD_MUTEX_RECURSIVE___465 = 1,
    PTHREAD_MUTEX_ERRORCHECK___465 = 2,
    PTHREAD_MUTEX_DEFAULT___465 = 0,
    PTHREAD_MUTEX_FAST_NP___465 = 0
} ;
enum __anonenum_931900394___465 {
    PTHREAD_MUTEX_STALLED___465 = 0,
    PTHREAD_MUTEX_STALLED_NP___465 = 0,
    PTHREAD_MUTEX_ROBUST___465 = 1,
    PTHREAD_MUTEX_ROBUST_NP___465 = 1
} ;
enum __anonenum_205214487___465 {
    PTHREAD_PRIO_NONE___465 = 0,
    PTHREAD_PRIO_INHERIT___465 = 1,
    PTHREAD_PRIO_PROTECT___465 = 2
} ;
enum __anonenum_25043950___465 {
    PTHREAD_RWLOCK_PREFER_READER_NP___465 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___465 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___465 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___465 = 0
} ;
enum __anonenum_436439511___465 {
    PTHREAD_INHERIT_SCHED___465 = 0,
    PTHREAD_EXPLICIT_SCHED___465 = 1
} ;
enum __anonenum_998661166___465 {
    PTHREAD_SCOPE_SYSTEM___465 = 0,
    PTHREAD_SCOPE_PROCESS___465 = 1
} ;
enum __anonenum_146137331___465 {
    PTHREAD_PROCESS_PRIVATE___465 = 0,
    PTHREAD_PROCESS_SHARED___465 = 1
} ;
enum __anonenum_53396917___465 {
    PTHREAD_CANCEL_ENABLE___465 = 0,
    PTHREAD_CANCEL_DISABLE___465 = 1
} ;
enum __anonenum_904563783___465 {
    PTHREAD_CANCEL_DEFERRED___465 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___465 = 1
} ;
enum __anonenum_672052974___465 {
    SSL_CT_VALIDATION_PERMISSIVE___465 = 0,
    SSL_CT_VALIDATION_STRICT___465 = 1
} ;
enum __anonenum_437032235___466 {
    _PC_LINK_MAX___466 = 0,
    _PC_MAX_CANON___466 = 1,
    _PC_MAX_INPUT___466 = 2,
    _PC_NAME_MAX___466 = 3,
    _PC_PATH_MAX___466 = 4,
    _PC_PIPE_BUF___466 = 5,
    _PC_CHOWN_RESTRICTED___466 = 6,
    _PC_NO_TRUNC___466 = 7,
    _PC_VDISABLE___466 = 8,
    _PC_SYNC_IO___466 = 9,
    _PC_ASYNC_IO___466 = 10,
    _PC_PRIO_IO___466 = 11,
    _PC_SOCK_MAXBUF___466 = 12,
    _PC_FILESIZEBITS___466 = 13,
    _PC_REC_INCR_XFER_SIZE___466 = 14,
    _PC_REC_MAX_XFER_SIZE___466 = 15,
    _PC_REC_MIN_XFER_SIZE___466 = 16,
    _PC_REC_XFER_ALIGN___466 = 17,
    _PC_ALLOC_SIZE_MIN___466 = 18,
    _PC_SYMLINK_MAX___466 = 19,
    _PC_2_SYMLINKS___466 = 20
} ;
enum __anonenum_315186338___466 {
    _SC_ARG_MAX___466 = 0,
    _SC_CHILD_MAX___466 = 1,
    _SC_CLK_TCK___466 = 2,
    _SC_NGROUPS_MAX___466 = 3,
    _SC_OPEN_MAX___466 = 4,
    _SC_STREAM_MAX___466 = 5,
    _SC_TZNAME_MAX___466 = 6,
    _SC_JOB_CONTROL___466 = 7,
    _SC_SAVED_IDS___466 = 8,
    _SC_REALTIME_SIGNALS___466 = 9,
    _SC_PRIORITY_SCHEDULING___466 = 10,
    _SC_TIMERS___466 = 11,
    _SC_ASYNCHRONOUS_IO___466 = 12,
    _SC_PRIORITIZED_IO___466 = 13,
    _SC_SYNCHRONIZED_IO___466 = 14,
    _SC_FSYNC___466 = 15,
    _SC_MAPPED_FILES___466 = 16,
    _SC_MEMLOCK___466 = 17,
    _SC_MEMLOCK_RANGE___466 = 18,
    _SC_MEMORY_PROTECTION___466 = 19,
    _SC_MESSAGE_PASSING___466 = 20,
    _SC_SEMAPHORES___466 = 21,
    _SC_SHARED_MEMORY_OBJECTS___466 = 22,
    _SC_AIO_LISTIO_MAX___466 = 23,
    _SC_AIO_MAX___466 = 24,
    _SC_AIO_PRIO_DELTA_MAX___466 = 25,
    _SC_DELAYTIMER_MAX___466 = 26,
    _SC_MQ_OPEN_MAX___466 = 27,
    _SC_MQ_PRIO_MAX___466 = 28,
    _SC_VERSION___466 = 29,
    _SC_PAGESIZE___466 = 30,
    _SC_RTSIG_MAX___466 = 31,
    _SC_SEM_NSEMS_MAX___466 = 32,
    _SC_SEM_VALUE_MAX___466 = 33,
    _SC_SIGQUEUE_MAX___466 = 34,
    _SC_TIMER_MAX___466 = 35,
    _SC_BC_BASE_MAX___466 = 36,
    _SC_BC_DIM_MAX___466 = 37,
    _SC_BC_SCALE_MAX___466 = 38,
    _SC_BC_STRING_MAX___466 = 39,
    _SC_COLL_WEIGHTS_MAX___466 = 40,
    _SC_EQUIV_CLASS_MAX___466 = 41,
    _SC_EXPR_NEST_MAX___466 = 42,
    _SC_LINE_MAX___466 = 43,
    _SC_RE_DUP_MAX___466 = 44,
    _SC_CHARCLASS_NAME_MAX___466 = 45,
    _SC_2_VERSION___466 = 46,
    _SC_2_C_BIND___466 = 47,
    _SC_2_C_DEV___466 = 48,
    _SC_2_FORT_DEV___466 = 49,
    _SC_2_FORT_RUN___466 = 50,
    _SC_2_SW_DEV___466 = 51,
    _SC_2_LOCALEDEF___466 = 52,
    _SC_PII___466 = 53,
    _SC_PII_XTI___466 = 54,
    _SC_PII_SOCKET___466 = 55,
    _SC_PII_INTERNET___466 = 56,
    _SC_PII_OSI___466 = 57,
    _SC_POLL___466 = 58,
    _SC_SELECT___466 = 59,
    _SC_UIO_MAXIOV___466 = 60,
    _SC_IOV_MAX___466 = 60,
    _SC_PII_INTERNET_STREAM___466 = 61,
    _SC_PII_INTERNET_DGRAM___466 = 62,
    _SC_PII_OSI_COTS___466 = 63,
    _SC_PII_OSI_CLTS___466 = 64,
    _SC_PII_OSI_M___466 = 65,
    _SC_T_IOV_MAX___466 = 66,
    _SC_THREADS___466 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___466 = 68,
    _SC_GETGR_R_SIZE_MAX___466 = 69,
    _SC_GETPW_R_SIZE_MAX___466 = 70,
    _SC_LOGIN_NAME_MAX___466 = 71,
    _SC_TTY_NAME_MAX___466 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___466 = 73,
    _SC_THREAD_KEYS_MAX___466 = 74,
    _SC_THREAD_STACK_MIN___466 = 75,
    _SC_THREAD_THREADS_MAX___466 = 76,
    _SC_THREAD_ATTR_STACKADDR___466 = 77,
    _SC_THREAD_ATTR_STACKSIZE___466 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___466 = 79,
    _SC_THREAD_PRIO_INHERIT___466 = 80,
    _SC_THREAD_PRIO_PROTECT___466 = 81,
    _SC_THREAD_PROCESS_SHARED___466 = 82,
    _SC_NPROCESSORS_CONF___466 = 83,
    _SC_NPROCESSORS_ONLN___466 = 84,
    _SC_PHYS_PAGES___466 = 85,
    _SC_AVPHYS_PAGES___466 = 86,
    _SC_ATEXIT_MAX___466 = 87,
    _SC_PASS_MAX___466 = 88,
    _SC_XOPEN_VERSION___466 = 89,
    _SC_XOPEN_XCU_VERSION___466 = 90,
    _SC_XOPEN_UNIX___466 = 91,
    _SC_XOPEN_CRYPT___466 = 92,
    _SC_XOPEN_ENH_I18N___466 = 93,
    _SC_XOPEN_SHM___466 = 94,
    _SC_2_CHAR_TERM___466 = 95,
    _SC_2_C_VERSION___466 = 96,
    _SC_2_UPE___466 = 97,
    _SC_XOPEN_XPG2___466 = 98,
    _SC_XOPEN_XPG3___466 = 99,
    _SC_XOPEN_XPG4___466 = 100,
    _SC_CHAR_BIT___466 = 101,
    _SC_CHAR_MAX___466 = 102,
    _SC_CHAR_MIN___466 = 103,
    _SC_INT_MAX___466 = 104,
    _SC_INT_MIN___466 = 105,
    _SC_LONG_BIT___466 = 106,
    _SC_WORD_BIT___466 = 107,
    _SC_MB_LEN_MAX___466 = 108,
    _SC_NZERO___466 = 109,
    _SC_SSIZE_MAX___466 = 110,
    _SC_SCHAR_MAX___466 = 111,
    _SC_SCHAR_MIN___466 = 112,
    _SC_SHRT_MAX___466 = 113,
    _SC_SHRT_MIN___466 = 114,
    _SC_UCHAR_MAX___466 = 115,
    _SC_UINT_MAX___466 = 116,
    _SC_ULONG_MAX___466 = 117,
    _SC_USHRT_MAX___466 = 118,
    _SC_NL_ARGMAX___466 = 119,
    _SC_NL_LANGMAX___466 = 120,
    _SC_NL_MSGMAX___466 = 121,
    _SC_NL_NMAX___466 = 122,
    _SC_NL_SETMAX___466 = 123,
    _SC_NL_TEXTMAX___466 = 124,
    _SC_XBS5_ILP32_OFF32___466 = 125,
    _SC_XBS5_ILP32_OFFBIG___466 = 126,
    _SC_XBS5_LP64_OFF64___466 = 127,
    _SC_XBS5_LPBIG_OFFBIG___466 = 128,
    _SC_XOPEN_LEGACY___466 = 129,
    _SC_XOPEN_REALTIME___466 = 130,
    _SC_XOPEN_REALTIME_THREADS___466 = 131,
    _SC_ADVISORY_INFO___466 = 132,
    _SC_BARRIERS___466 = 133,
    _SC_BASE___466 = 134,
    _SC_C_LANG_SUPPORT___466 = 135,
    _SC_C_LANG_SUPPORT_R___466 = 136,
    _SC_CLOCK_SELECTION___466 = 137,
    _SC_CPUTIME___466 = 138,
    _SC_THREAD_CPUTIME___466 = 139,
    _SC_DEVICE_IO___466 = 140,
    _SC_DEVICE_SPECIFIC___466 = 141,
    _SC_DEVICE_SPECIFIC_R___466 = 142,
    _SC_FD_MGMT___466 = 143,
    _SC_FIFO___466 = 144,
    _SC_PIPE___466 = 145,
    _SC_FILE_ATTRIBUTES___466 = 146,
    _SC_FILE_LOCKING___466 = 147,
    _SC_FILE_SYSTEM___466 = 148,
    _SC_MONOTONIC_CLOCK___466 = 149,
    _SC_MULTI_PROCESS___466 = 150,
    _SC_SINGLE_PROCESS___466 = 151,
    _SC_NETWORKING___466 = 152,
    _SC_READER_WRITER_LOCKS___466 = 153,
    _SC_SPIN_LOCKS___466 = 154,
    _SC_REGEXP___466 = 155,
    _SC_REGEX_VERSION___466 = 156,
    _SC_SHELL___466 = 157,
    _SC_SIGNALS___466 = 158,
    _SC_SPAWN___466 = 159,
    _SC_SPORADIC_SERVER___466 = 160,
    _SC_THREAD_SPORADIC_SERVER___466 = 161,
    _SC_SYSTEM_DATABASE___466 = 162,
    _SC_SYSTEM_DATABASE_R___466 = 163,
    _SC_TIMEOUTS___466 = 164,
    _SC_TYPED_MEMORY_OBJECTS___466 = 165,
    _SC_USER_GROUPS___466 = 166,
    _SC_USER_GROUPS_R___466 = 167,
    _SC_2_PBS___466 = 168,
    _SC_2_PBS_ACCOUNTING___466 = 169,
    _SC_2_PBS_LOCATE___466 = 170,
    _SC_2_PBS_MESSAGE___466 = 171,
    _SC_2_PBS_TRACK___466 = 172,
    _SC_SYMLOOP_MAX___466 = 173,
    _SC_STREAMS___466 = 174,
    _SC_2_PBS_CHECKPOINT___466 = 175,
    _SC_V6_ILP32_OFF32___466 = 176,
    _SC_V6_ILP32_OFFBIG___466 = 177,
    _SC_V6_LP64_OFF64___466 = 178,
    _SC_V6_LPBIG_OFFBIG___466 = 179,
    _SC_HOST_NAME_MAX___466 = 180,
    _SC_TRACE___466 = 181,
    _SC_TRACE_EVENT_FILTER___466 = 182,
    _SC_TRACE_INHERIT___466 = 183,
    _SC_TRACE_LOG___466 = 184,
    _SC_LEVEL1_ICACHE_SIZE___466 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___466 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___466 = 187,
    _SC_LEVEL1_DCACHE_SIZE___466 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___466 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___466 = 190,
    _SC_LEVEL2_CACHE_SIZE___466 = 191,
    _SC_LEVEL2_CACHE_ASSOC___466 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___466 = 193,
    _SC_LEVEL3_CACHE_SIZE___466 = 194,
    _SC_LEVEL3_CACHE_ASSOC___466 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___466 = 196,
    _SC_LEVEL4_CACHE_SIZE___466 = 197,
    _SC_LEVEL4_CACHE_ASSOC___466 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___466 = 199,
    _SC_IPV6___466 = 235,
    _SC_RAW_SOCKETS___466 = 236,
    _SC_V7_ILP32_OFF32___466 = 237,
    _SC_V7_ILP32_OFFBIG___466 = 238,
    _SC_V7_LP64_OFF64___466 = 239,
    _SC_V7_LPBIG_OFFBIG___466 = 240,
    _SC_SS_REPL_MAX___466 = 241,
    _SC_TRACE_EVENT_NAME_MAX___466 = 242,
    _SC_TRACE_NAME_MAX___466 = 243,
    _SC_TRACE_SYS_MAX___466 = 244,
    _SC_TRACE_USER_EVENT_MAX___466 = 245,
    _SC_XOPEN_STREAMS___466 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___466 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___466 = 248
} ;
enum __anonenum_875524036___466 {
    _CS_PATH___466 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___466 = 1,
    _CS_GNU_LIBC_VERSION___466 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___466 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___466 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___466 = 5,
    _CS_LFS_CFLAGS___466 = 1000,
    _CS_LFS_LDFLAGS___466 = 1001,
    _CS_LFS_LIBS___466 = 1002,
    _CS_LFS_LINTFLAGS___466 = 1003,
    _CS_LFS64_CFLAGS___466 = 1004,
    _CS_LFS64_LDFLAGS___466 = 1005,
    _CS_LFS64_LIBS___466 = 1006,
    _CS_LFS64_LINTFLAGS___466 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___466 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___466 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___466 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___466 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___466 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___466 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___466 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___466 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___466 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___466 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___466 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___466 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___466 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___466 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___466 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___466 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___466 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___466 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___466 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___466 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___466 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___466 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___466 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___466 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___466 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___466 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___466 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___466 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___466 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___466 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___466 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___466 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___466 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___466 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___466 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___466 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___466 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___466 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___466 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___466 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___466 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___466 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___466 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___466 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___466 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___466 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___466 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___466 = 1147,
    _CS_V6_ENV___466 = 1148,
    _CS_V7_ENV___466 = 1149
} ;
enum __anonenum_513775621___466 {
    DT_UNKNOWN___466 = 0,
    DT_FIFO___466 = 1,
    DT_CHR___466 = 2,
    DT_DIR___466 = 4,
    DT_BLK___466 = 6,
    DT_REG___466 = 8,
    DT_LNK___466 = 10,
    DT_SOCK___466 = 12,
    DT_WHT___466 = 14
} ;
enum __anonenum_77002343___466 {
    SI_ASYNCNL___466 = -60,
    SI_TKILL___466 = -6,
    SI_SIGIO___466 = -5,
    SI_ASYNCIO___466 = -4,
    SI_MESGQ___466 = -3,
    SI_TIMER___466 = -2,
    SI_QUEUE___466 = -1,
    SI_USER___466 = 0,
    SI_KERNEL___466 = 128
} ;
enum __anonenum_131038172___466 {
    ILL_ILLOPC___466 = 1,
    ILL_ILLOPN___466 = 2,
    ILL_ILLADR___466 = 3,
    ILL_ILLTRP___466 = 4,
    ILL_PRVOPC___466 = 5,
    ILL_PRVREG___466 = 6,
    ILL_COPROC___466 = 7,
    ILL_BADSTK___466 = 8
} ;
enum __anonenum_452038093___466 {
    FPE_INTDIV___466 = 1,
    FPE_INTOVF___466 = 2,
    FPE_FLTDIV___466 = 3,
    FPE_FLTOVF___466 = 4,
    FPE_FLTUND___466 = 5,
    FPE_FLTRES___466 = 6,
    FPE_FLTINV___466 = 7,
    FPE_FLTSUB___466 = 8
} ;
enum __anonenum_30976155___466 {
    SEGV_MAPERR___466 = 1,
    SEGV_ACCERR___466 = 2,
    SEGV_BNDERR___466 = 3,
    SEGV_PKUERR___466 = 4
} ;
enum __anonenum_1036286214___466 {
    BUS_ADRALN___466 = 1,
    BUS_ADRERR___466 = 2,
    BUS_OBJERR___466 = 3,
    BUS_MCEERR_AR___466 = 4,
    BUS_MCEERR_AO___466 = 5
} ;
enum __anonenum_493465559___466 {
    TRAP_BRKPT___466 = 1,
    TRAP_TRACE___466 = 2
} ;
enum __anonenum_23175539___466 {
    CLD_EXITED___466 = 1,
    CLD_KILLED___466 = 2,
    CLD_DUMPED___466 = 3,
    CLD_TRAPPED___466 = 4,
    CLD_STOPPED___466 = 5,
    CLD_CONTINUED___466 = 6
} ;
enum __anonenum_111643124___466 {
    POLL_IN___466 = 1,
    POLL_OUT___466 = 2,
    POLL_MSG___466 = 3,
    POLL_ERR___466 = 4,
    POLL_PRI___466 = 5,
    POLL_HUP___466 = 6
} ;
enum __anonenum_852341087___466 {
    SIGEV_SIGNAL___466 = 0,
    SIGEV_NONE___466 = 1,
    SIGEV_THREAD___466 = 2,
    SIGEV_THREAD_ID___466 = 4
} ;
enum __anonenum_451154152___466 {
    REG_R8___466 = 0,
    REG_R9___466 = 1,
    REG_R10___466 = 2,
    REG_R11___466 = 3,
    REG_R12___466 = 4,
    REG_R13___466 = 5,
    REG_R14___466 = 6,
    REG_R15___466 = 7,
    REG_RDI___466 = 8,
    REG_RSI___466 = 9,
    REG_RBP___466 = 10,
    REG_RBX___466 = 11,
    REG_RDX___466 = 12,
    REG_RAX___466 = 13,
    REG_RCX___466 = 14,
    REG_RSP___466 = 15,
    REG_RIP___466 = 16,
    REG_EFL___466 = 17,
    REG_CSGSFS___466 = 18,
    REG_ERR___466 = 19,
    REG_TRAPNO___466 = 20,
    REG_OLDMASK___466 = 21,
    REG_CR2___466 = 22
} ;
enum __anonenum_57186863___466 {
    SS_ONSTACK___466 = 1,
    SS_DISABLE___466 = 2
} ;
enum __anonenum_83571709___466 {
    MSG_OOB___466 = 1,
    MSG_PEEK___466 = 2,
    MSG_DONTROUTE___466 = 4,
    MSG_TRYHARD___466 = 4,
    MSG_CTRUNC___466 = 8,
    MSG_PROXY___466 = 16,
    MSG_TRUNC___466 = 32,
    MSG_DONTWAIT___466 = 64,
    MSG_EOR___466 = 128,
    MSG_WAITALL___466 = 256,
    MSG_FIN___466 = 512,
    MSG_SYN___466 = 1024,
    MSG_CONFIRM___466 = 2048,
    MSG_RST___466 = 4096,
    MSG_ERRQUEUE___466 = 8192,
    MSG_NOSIGNAL___466 = 16384,
    MSG_MORE___466 = 32768,
    MSG_WAITFORONE___466 = 65536,
    MSG_BATCH___466 = 262144,
    MSG_ZEROCOPY___466 = 67108864,
    MSG_FASTOPEN___466 = 536870912,
    MSG_CMSG_CLOEXEC___466 = 1073741824
} ;
enum __anonenum_617082774___466 {
    SCM_RIGHTS___466 = 1,
    SCM_CREDENTIALS___466 = 2
} ;
enum __anonenum_606441560___466 {
    SHUT_RD___466 = 0,
    SHUT_WR___466 = 1,
    SHUT_RDWR___466 = 2
} ;
enum __anonenum_681669233___466 {
    IPPROTO_IP___466 = 0,
    IPPROTO_ICMP___466 = 1,
    IPPROTO_IGMP___466 = 2,
    IPPROTO_IPIP___466 = 4,
    IPPROTO_TCP___466 = 6,
    IPPROTO_EGP___466 = 8,
    IPPROTO_PUP___466 = 12,
    IPPROTO_UDP___466 = 17,
    IPPROTO_IDP___466 = 22,
    IPPROTO_TP___466 = 29,
    IPPROTO_DCCP___466 = 33,
    IPPROTO_IPV6___466 = 41,
    IPPROTO_RSVP___466 = 46,
    IPPROTO_GRE___466 = 47,
    IPPROTO_ESP___466 = 50,
    IPPROTO_AH___466 = 51,
    IPPROTO_MTP___466 = 92,
    IPPROTO_BEETPH___466 = 94,
    IPPROTO_ENCAP___466 = 98,
    IPPROTO_PIM___466 = 103,
    IPPROTO_COMP___466 = 108,
    IPPROTO_SCTP___466 = 132,
    IPPROTO_UDPLITE___466 = 136,
    IPPROTO_MPLS___466 = 137,
    IPPROTO_RAW___466 = 255,
    IPPROTO_MAX___466 = 256
} ;
enum __anonenum_218739988___466 {
    IPPROTO_HOPOPTS___466 = 0,
    IPPROTO_ROUTING___466 = 43,
    IPPROTO_FRAGMENT___466 = 44,
    IPPROTO_ICMPV6___466 = 58,
    IPPROTO_NONE___466 = 59,
    IPPROTO_DSTOPTS___466 = 60,
    IPPROTO_MH___466 = 135
} ;
enum __anonenum_662268580___466 {
    IPPORT_ECHO___466 = 7,
    IPPORT_DISCARD___466 = 9,
    IPPORT_SYSTAT___466 = 11,
    IPPORT_DAYTIME___466 = 13,
    IPPORT_NETSTAT___466 = 15,
    IPPORT_FTP___466 = 21,
    IPPORT_TELNET___466 = 23,
    IPPORT_SMTP___466 = 25,
    IPPORT_TIMESERVER___466 = 37,
    IPPORT_NAMESERVER___466 = 42,
    IPPORT_WHOIS___466 = 43,
    IPPORT_MTP___466 = 57,
    IPPORT_TFTP___466 = 69,
    IPPORT_RJE___466 = 77,
    IPPORT_FINGER___466 = 79,
    IPPORT_TTYLINK___466 = 87,
    IPPORT_SUPDUP___466 = 95,
    IPPORT_EXECSERVER___466 = 512,
    IPPORT_LOGINSERVER___466 = 513,
    IPPORT_CMDSERVER___466 = 514,
    IPPORT_EFSSERVER___466 = 520,
    IPPORT_BIFFUDP___466 = 512,
    IPPORT_WHOSERVER___466 = 513,
    IPPORT_ROUTESERVER___466 = 520,
    IPPORT_RESERVED___466 = 1024,
    IPPORT_USERRESERVED___466 = 5000
} ;
enum __anonenum_788308992___466 {
    TCP_ESTABLISHED___466 = 1,
    TCP_SYN_SENT___466 = 2,
    TCP_SYN_RECV___466 = 3,
    TCP_FIN_WAIT1___466 = 4,
    TCP_FIN_WAIT2___466 = 5,
    TCP_TIME_WAIT___466 = 6,
    TCP_CLOSE___466 = 7,
    TCP_CLOSE_WAIT___466 = 8,
    TCP_LAST_ACK___466 = 9,
    TCP_LISTEN___466 = 10,
    TCP_CLOSING___466 = 11
} ;
enum __anonenum_221125648___466 {
    TCP_NO_QUEUE___466 = 0,
    TCP_RECV_QUEUE___466 = 1,
    TCP_SEND_QUEUE___466 = 2,
    TCP_QUEUES_NR___466 = 3
} ;
enum __anonenum_34415463___466 {
    PTHREAD_CREATE_JOINABLE___466 = 0,
    PTHREAD_CREATE_DETACHED___466 = 1
} ;
enum __anonenum_303612439___466 {
    PTHREAD_MUTEX_TIMED_NP___466 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___466 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___466 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___466 = 3,
    PTHREAD_MUTEX_NORMAL___466 = 0,
    PTHREAD_MUTEX_RECURSIVE___466 = 1,
    PTHREAD_MUTEX_ERRORCHECK___466 = 2,
    PTHREAD_MUTEX_DEFAULT___466 = 0,
    PTHREAD_MUTEX_FAST_NP___466 = 0
} ;
enum __anonenum_931900394___466 {
    PTHREAD_MUTEX_STALLED___466 = 0,
    PTHREAD_MUTEX_STALLED_NP___466 = 0,
    PTHREAD_MUTEX_ROBUST___466 = 1,
    PTHREAD_MUTEX_ROBUST_NP___466 = 1
} ;
enum __anonenum_205214487___466 {
    PTHREAD_PRIO_NONE___466 = 0,
    PTHREAD_PRIO_INHERIT___466 = 1,
    PTHREAD_PRIO_PROTECT___466 = 2
} ;
enum __anonenum_25043950___466 {
    PTHREAD_RWLOCK_PREFER_READER_NP___466 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___466 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___466 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___466 = 0
} ;
enum __anonenum_436439511___466 {
    PTHREAD_INHERIT_SCHED___466 = 0,
    PTHREAD_EXPLICIT_SCHED___466 = 1
} ;
enum __anonenum_998661166___466 {
    PTHREAD_SCOPE_SYSTEM___466 = 0,
    PTHREAD_SCOPE_PROCESS___466 = 1
} ;
enum __anonenum_146137331___466 {
    PTHREAD_PROCESS_PRIVATE___466 = 0,
    PTHREAD_PROCESS_SHARED___466 = 1
} ;
enum __anonenum_53396917___466 {
    PTHREAD_CANCEL_ENABLE___466 = 0,
    PTHREAD_CANCEL_DISABLE___466 = 1
} ;
enum __anonenum_904563783___466 {
    PTHREAD_CANCEL_DEFERRED___466 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___466 = 1
} ;
enum __anonenum_672052974___466 {
    SSL_CT_VALIDATION_PERMISSIVE___466 = 0,
    SSL_CT_VALIDATION_STRICT___466 = 1
} ;
typedef int fn_unit_test(int argc , char const   **argv );
struct unit_test {
   fn_unit_test *ut_fn ;
   char const   *ut_name ;
   char const   *ut_usage ;
};
enum __anonenum_437032235___467 {
    _PC_LINK_MAX___467 = 0,
    _PC_MAX_CANON___467 = 1,
    _PC_MAX_INPUT___467 = 2,
    _PC_NAME_MAX___467 = 3,
    _PC_PATH_MAX___467 = 4,
    _PC_PIPE_BUF___467 = 5,
    _PC_CHOWN_RESTRICTED___467 = 6,
    _PC_NO_TRUNC___467 = 7,
    _PC_VDISABLE___467 = 8,
    _PC_SYNC_IO___467 = 9,
    _PC_ASYNC_IO___467 = 10,
    _PC_PRIO_IO___467 = 11,
    _PC_SOCK_MAXBUF___467 = 12,
    _PC_FILESIZEBITS___467 = 13,
    _PC_REC_INCR_XFER_SIZE___467 = 14,
    _PC_REC_MAX_XFER_SIZE___467 = 15,
    _PC_REC_MIN_XFER_SIZE___467 = 16,
    _PC_REC_XFER_ALIGN___467 = 17,
    _PC_ALLOC_SIZE_MIN___467 = 18,
    _PC_SYMLINK_MAX___467 = 19,
    _PC_2_SYMLINKS___467 = 20
} ;
enum __anonenum_315186338___467 {
    _SC_ARG_MAX___467 = 0,
    _SC_CHILD_MAX___467 = 1,
    _SC_CLK_TCK___467 = 2,
    _SC_NGROUPS_MAX___467 = 3,
    _SC_OPEN_MAX___467 = 4,
    _SC_STREAM_MAX___467 = 5,
    _SC_TZNAME_MAX___467 = 6,
    _SC_JOB_CONTROL___467 = 7,
    _SC_SAVED_IDS___467 = 8,
    _SC_REALTIME_SIGNALS___467 = 9,
    _SC_PRIORITY_SCHEDULING___467 = 10,
    _SC_TIMERS___467 = 11,
    _SC_ASYNCHRONOUS_IO___467 = 12,
    _SC_PRIORITIZED_IO___467 = 13,
    _SC_SYNCHRONIZED_IO___467 = 14,
    _SC_FSYNC___467 = 15,
    _SC_MAPPED_FILES___467 = 16,
    _SC_MEMLOCK___467 = 17,
    _SC_MEMLOCK_RANGE___467 = 18,
    _SC_MEMORY_PROTECTION___467 = 19,
    _SC_MESSAGE_PASSING___467 = 20,
    _SC_SEMAPHORES___467 = 21,
    _SC_SHARED_MEMORY_OBJECTS___467 = 22,
    _SC_AIO_LISTIO_MAX___467 = 23,
    _SC_AIO_MAX___467 = 24,
    _SC_AIO_PRIO_DELTA_MAX___467 = 25,
    _SC_DELAYTIMER_MAX___467 = 26,
    _SC_MQ_OPEN_MAX___467 = 27,
    _SC_MQ_PRIO_MAX___467 = 28,
    _SC_VERSION___467 = 29,
    _SC_PAGESIZE___467 = 30,
    _SC_RTSIG_MAX___467 = 31,
    _SC_SEM_NSEMS_MAX___467 = 32,
    _SC_SEM_VALUE_MAX___467 = 33,
    _SC_SIGQUEUE_MAX___467 = 34,
    _SC_TIMER_MAX___467 = 35,
    _SC_BC_BASE_MAX___467 = 36,
    _SC_BC_DIM_MAX___467 = 37,
    _SC_BC_SCALE_MAX___467 = 38,
    _SC_BC_STRING_MAX___467 = 39,
    _SC_COLL_WEIGHTS_MAX___467 = 40,
    _SC_EQUIV_CLASS_MAX___467 = 41,
    _SC_EXPR_NEST_MAX___467 = 42,
    _SC_LINE_MAX___467 = 43,
    _SC_RE_DUP_MAX___467 = 44,
    _SC_CHARCLASS_NAME_MAX___467 = 45,
    _SC_2_VERSION___467 = 46,
    _SC_2_C_BIND___467 = 47,
    _SC_2_C_DEV___467 = 48,
    _SC_2_FORT_DEV___467 = 49,
    _SC_2_FORT_RUN___467 = 50,
    _SC_2_SW_DEV___467 = 51,
    _SC_2_LOCALEDEF___467 = 52,
    _SC_PII___467 = 53,
    _SC_PII_XTI___467 = 54,
    _SC_PII_SOCKET___467 = 55,
    _SC_PII_INTERNET___467 = 56,
    _SC_PII_OSI___467 = 57,
    _SC_POLL___467 = 58,
    _SC_SELECT___467 = 59,
    _SC_UIO_MAXIOV___467 = 60,
    _SC_IOV_MAX___467 = 60,
    _SC_PII_INTERNET_STREAM___467 = 61,
    _SC_PII_INTERNET_DGRAM___467 = 62,
    _SC_PII_OSI_COTS___467 = 63,
    _SC_PII_OSI_CLTS___467 = 64,
    _SC_PII_OSI_M___467 = 65,
    _SC_T_IOV_MAX___467 = 66,
    _SC_THREADS___467 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___467 = 68,
    _SC_GETGR_R_SIZE_MAX___467 = 69,
    _SC_GETPW_R_SIZE_MAX___467 = 70,
    _SC_LOGIN_NAME_MAX___467 = 71,
    _SC_TTY_NAME_MAX___467 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___467 = 73,
    _SC_THREAD_KEYS_MAX___467 = 74,
    _SC_THREAD_STACK_MIN___467 = 75,
    _SC_THREAD_THREADS_MAX___467 = 76,
    _SC_THREAD_ATTR_STACKADDR___467 = 77,
    _SC_THREAD_ATTR_STACKSIZE___467 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___467 = 79,
    _SC_THREAD_PRIO_INHERIT___467 = 80,
    _SC_THREAD_PRIO_PROTECT___467 = 81,
    _SC_THREAD_PROCESS_SHARED___467 = 82,
    _SC_NPROCESSORS_CONF___467 = 83,
    _SC_NPROCESSORS_ONLN___467 = 84,
    _SC_PHYS_PAGES___467 = 85,
    _SC_AVPHYS_PAGES___467 = 86,
    _SC_ATEXIT_MAX___467 = 87,
    _SC_PASS_MAX___467 = 88,
    _SC_XOPEN_VERSION___467 = 89,
    _SC_XOPEN_XCU_VERSION___467 = 90,
    _SC_XOPEN_UNIX___467 = 91,
    _SC_XOPEN_CRYPT___467 = 92,
    _SC_XOPEN_ENH_I18N___467 = 93,
    _SC_XOPEN_SHM___467 = 94,
    _SC_2_CHAR_TERM___467 = 95,
    _SC_2_C_VERSION___467 = 96,
    _SC_2_UPE___467 = 97,
    _SC_XOPEN_XPG2___467 = 98,
    _SC_XOPEN_XPG3___467 = 99,
    _SC_XOPEN_XPG4___467 = 100,
    _SC_CHAR_BIT___467 = 101,
    _SC_CHAR_MAX___467 = 102,
    _SC_CHAR_MIN___467 = 103,
    _SC_INT_MAX___467 = 104,
    _SC_INT_MIN___467 = 105,
    _SC_LONG_BIT___467 = 106,
    _SC_WORD_BIT___467 = 107,
    _SC_MB_LEN_MAX___467 = 108,
    _SC_NZERO___467 = 109,
    _SC_SSIZE_MAX___467 = 110,
    _SC_SCHAR_MAX___467 = 111,
    _SC_SCHAR_MIN___467 = 112,
    _SC_SHRT_MAX___467 = 113,
    _SC_SHRT_MIN___467 = 114,
    _SC_UCHAR_MAX___467 = 115,
    _SC_UINT_MAX___467 = 116,
    _SC_ULONG_MAX___467 = 117,
    _SC_USHRT_MAX___467 = 118,
    _SC_NL_ARGMAX___467 = 119,
    _SC_NL_LANGMAX___467 = 120,
    _SC_NL_MSGMAX___467 = 121,
    _SC_NL_NMAX___467 = 122,
    _SC_NL_SETMAX___467 = 123,
    _SC_NL_TEXTMAX___467 = 124,
    _SC_XBS5_ILP32_OFF32___467 = 125,
    _SC_XBS5_ILP32_OFFBIG___467 = 126,
    _SC_XBS5_LP64_OFF64___467 = 127,
    _SC_XBS5_LPBIG_OFFBIG___467 = 128,
    _SC_XOPEN_LEGACY___467 = 129,
    _SC_XOPEN_REALTIME___467 = 130,
    _SC_XOPEN_REALTIME_THREADS___467 = 131,
    _SC_ADVISORY_INFO___467 = 132,
    _SC_BARRIERS___467 = 133,
    _SC_BASE___467 = 134,
    _SC_C_LANG_SUPPORT___467 = 135,
    _SC_C_LANG_SUPPORT_R___467 = 136,
    _SC_CLOCK_SELECTION___467 = 137,
    _SC_CPUTIME___467 = 138,
    _SC_THREAD_CPUTIME___467 = 139,
    _SC_DEVICE_IO___467 = 140,
    _SC_DEVICE_SPECIFIC___467 = 141,
    _SC_DEVICE_SPECIFIC_R___467 = 142,
    _SC_FD_MGMT___467 = 143,
    _SC_FIFO___467 = 144,
    _SC_PIPE___467 = 145,
    _SC_FILE_ATTRIBUTES___467 = 146,
    _SC_FILE_LOCKING___467 = 147,
    _SC_FILE_SYSTEM___467 = 148,
    _SC_MONOTONIC_CLOCK___467 = 149,
    _SC_MULTI_PROCESS___467 = 150,
    _SC_SINGLE_PROCESS___467 = 151,
    _SC_NETWORKING___467 = 152,
    _SC_READER_WRITER_LOCKS___467 = 153,
    _SC_SPIN_LOCKS___467 = 154,
    _SC_REGEXP___467 = 155,
    _SC_REGEX_VERSION___467 = 156,
    _SC_SHELL___467 = 157,
    _SC_SIGNALS___467 = 158,
    _SC_SPAWN___467 = 159,
    _SC_SPORADIC_SERVER___467 = 160,
    _SC_THREAD_SPORADIC_SERVER___467 = 161,
    _SC_SYSTEM_DATABASE___467 = 162,
    _SC_SYSTEM_DATABASE_R___467 = 163,
    _SC_TIMEOUTS___467 = 164,
    _SC_TYPED_MEMORY_OBJECTS___467 = 165,
    _SC_USER_GROUPS___467 = 166,
    _SC_USER_GROUPS_R___467 = 167,
    _SC_2_PBS___467 = 168,
    _SC_2_PBS_ACCOUNTING___467 = 169,
    _SC_2_PBS_LOCATE___467 = 170,
    _SC_2_PBS_MESSAGE___467 = 171,
    _SC_2_PBS_TRACK___467 = 172,
    _SC_SYMLOOP_MAX___467 = 173,
    _SC_STREAMS___467 = 174,
    _SC_2_PBS_CHECKPOINT___467 = 175,
    _SC_V6_ILP32_OFF32___467 = 176,
    _SC_V6_ILP32_OFFBIG___467 = 177,
    _SC_V6_LP64_OFF64___467 = 178,
    _SC_V6_LPBIG_OFFBIG___467 = 179,
    _SC_HOST_NAME_MAX___467 = 180,
    _SC_TRACE___467 = 181,
    _SC_TRACE_EVENT_FILTER___467 = 182,
    _SC_TRACE_INHERIT___467 = 183,
    _SC_TRACE_LOG___467 = 184,
    _SC_LEVEL1_ICACHE_SIZE___467 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___467 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___467 = 187,
    _SC_LEVEL1_DCACHE_SIZE___467 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___467 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___467 = 190,
    _SC_LEVEL2_CACHE_SIZE___467 = 191,
    _SC_LEVEL2_CACHE_ASSOC___467 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___467 = 193,
    _SC_LEVEL3_CACHE_SIZE___467 = 194,
    _SC_LEVEL3_CACHE_ASSOC___467 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___467 = 196,
    _SC_LEVEL4_CACHE_SIZE___467 = 197,
    _SC_LEVEL4_CACHE_ASSOC___467 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___467 = 199,
    _SC_IPV6___467 = 235,
    _SC_RAW_SOCKETS___467 = 236,
    _SC_V7_ILP32_OFF32___467 = 237,
    _SC_V7_ILP32_OFFBIG___467 = 238,
    _SC_V7_LP64_OFF64___467 = 239,
    _SC_V7_LPBIG_OFFBIG___467 = 240,
    _SC_SS_REPL_MAX___467 = 241,
    _SC_TRACE_EVENT_NAME_MAX___467 = 242,
    _SC_TRACE_NAME_MAX___467 = 243,
    _SC_TRACE_SYS_MAX___467 = 244,
    _SC_TRACE_USER_EVENT_MAX___467 = 245,
    _SC_XOPEN_STREAMS___467 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___467 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___467 = 248
} ;
enum __anonenum_875524036___467 {
    _CS_PATH___467 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___467 = 1,
    _CS_GNU_LIBC_VERSION___467 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___467 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___467 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___467 = 5,
    _CS_LFS_CFLAGS___467 = 1000,
    _CS_LFS_LDFLAGS___467 = 1001,
    _CS_LFS_LIBS___467 = 1002,
    _CS_LFS_LINTFLAGS___467 = 1003,
    _CS_LFS64_CFLAGS___467 = 1004,
    _CS_LFS64_LDFLAGS___467 = 1005,
    _CS_LFS64_LIBS___467 = 1006,
    _CS_LFS64_LINTFLAGS___467 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___467 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___467 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___467 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___467 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___467 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___467 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___467 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___467 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___467 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___467 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___467 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___467 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___467 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___467 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___467 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___467 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___467 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___467 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___467 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___467 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___467 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___467 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___467 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___467 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___467 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___467 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___467 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___467 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___467 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___467 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___467 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___467 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___467 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___467 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___467 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___467 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___467 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___467 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___467 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___467 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___467 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___467 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___467 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___467 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___467 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___467 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___467 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___467 = 1147,
    _CS_V6_ENV___467 = 1148,
    _CS_V7_ENV___467 = 1149
} ;
enum __anonenum_513775621___467 {
    DT_UNKNOWN___467 = 0,
    DT_FIFO___467 = 1,
    DT_CHR___467 = 2,
    DT_DIR___467 = 4,
    DT_BLK___467 = 6,
    DT_REG___467 = 8,
    DT_LNK___467 = 10,
    DT_SOCK___467 = 12,
    DT_WHT___467 = 14
} ;
enum __anonenum_77002343___467 {
    SI_ASYNCNL___467 = -60,
    SI_TKILL___467 = -6,
    SI_SIGIO___467 = -5,
    SI_ASYNCIO___467 = -4,
    SI_MESGQ___467 = -3,
    SI_TIMER___467 = -2,
    SI_QUEUE___467 = -1,
    SI_USER___467 = 0,
    SI_KERNEL___467 = 128
} ;
enum __anonenum_131038172___467 {
    ILL_ILLOPC___467 = 1,
    ILL_ILLOPN___467 = 2,
    ILL_ILLADR___467 = 3,
    ILL_ILLTRP___467 = 4,
    ILL_PRVOPC___467 = 5,
    ILL_PRVREG___467 = 6,
    ILL_COPROC___467 = 7,
    ILL_BADSTK___467 = 8
} ;
enum __anonenum_452038093___467 {
    FPE_INTDIV___467 = 1,
    FPE_INTOVF___467 = 2,
    FPE_FLTDIV___467 = 3,
    FPE_FLTOVF___467 = 4,
    FPE_FLTUND___467 = 5,
    FPE_FLTRES___467 = 6,
    FPE_FLTINV___467 = 7,
    FPE_FLTSUB___467 = 8
} ;
enum __anonenum_30976155___467 {
    SEGV_MAPERR___467 = 1,
    SEGV_ACCERR___467 = 2,
    SEGV_BNDERR___467 = 3,
    SEGV_PKUERR___467 = 4
} ;
enum __anonenum_1036286214___467 {
    BUS_ADRALN___467 = 1,
    BUS_ADRERR___467 = 2,
    BUS_OBJERR___467 = 3,
    BUS_MCEERR_AR___467 = 4,
    BUS_MCEERR_AO___467 = 5
} ;
enum __anonenum_493465559___467 {
    TRAP_BRKPT___467 = 1,
    TRAP_TRACE___467 = 2
} ;
enum __anonenum_23175539___467 {
    CLD_EXITED___467 = 1,
    CLD_KILLED___467 = 2,
    CLD_DUMPED___467 = 3,
    CLD_TRAPPED___467 = 4,
    CLD_STOPPED___467 = 5,
    CLD_CONTINUED___467 = 6
} ;
enum __anonenum_111643124___467 {
    POLL_IN___467 = 1,
    POLL_OUT___467 = 2,
    POLL_MSG___467 = 3,
    POLL_ERR___467 = 4,
    POLL_PRI___467 = 5,
    POLL_HUP___467 = 6
} ;
enum __anonenum_852341087___467 {
    SIGEV_SIGNAL___467 = 0,
    SIGEV_NONE___467 = 1,
    SIGEV_THREAD___467 = 2,
    SIGEV_THREAD_ID___467 = 4
} ;
enum __anonenum_451154152___467 {
    REG_R8___467 = 0,
    REG_R9___467 = 1,
    REG_R10___467 = 2,
    REG_R11___467 = 3,
    REG_R12___467 = 4,
    REG_R13___467 = 5,
    REG_R14___467 = 6,
    REG_R15___467 = 7,
    REG_RDI___467 = 8,
    REG_RSI___467 = 9,
    REG_RBP___467 = 10,
    REG_RBX___467 = 11,
    REG_RDX___467 = 12,
    REG_RAX___467 = 13,
    REG_RCX___467 = 14,
    REG_RSP___467 = 15,
    REG_RIP___467 = 16,
    REG_EFL___467 = 17,
    REG_CSGSFS___467 = 18,
    REG_ERR___467 = 19,
    REG_TRAPNO___467 = 20,
    REG_OLDMASK___467 = 21,
    REG_CR2___467 = 22
} ;
enum __anonenum_57186863___467 {
    SS_ONSTACK___467 = 1,
    SS_DISABLE___467 = 2
} ;
enum __anonenum_83571709___467 {
    MSG_OOB___467 = 1,
    MSG_PEEK___467 = 2,
    MSG_DONTROUTE___467 = 4,
    MSG_TRYHARD___467 = 4,
    MSG_CTRUNC___467 = 8,
    MSG_PROXY___467 = 16,
    MSG_TRUNC___467 = 32,
    MSG_DONTWAIT___467 = 64,
    MSG_EOR___467 = 128,
    MSG_WAITALL___467 = 256,
    MSG_FIN___467 = 512,
    MSG_SYN___467 = 1024,
    MSG_CONFIRM___467 = 2048,
    MSG_RST___467 = 4096,
    MSG_ERRQUEUE___467 = 8192,
    MSG_NOSIGNAL___467 = 16384,
    MSG_MORE___467 = 32768,
    MSG_WAITFORONE___467 = 65536,
    MSG_BATCH___467 = 262144,
    MSG_ZEROCOPY___467 = 67108864,
    MSG_FASTOPEN___467 = 536870912,
    MSG_CMSG_CLOEXEC___467 = 1073741824
} ;
enum __anonenum_617082774___467 {
    SCM_RIGHTS___467 = 1,
    SCM_CREDENTIALS___467 = 2
} ;
enum __anonenum_606441560___467 {
    SHUT_RD___467 = 0,
    SHUT_WR___467 = 1,
    SHUT_RDWR___467 = 2
} ;
enum __anonenum_681669233___467 {
    IPPROTO_IP___467 = 0,
    IPPROTO_ICMP___467 = 1,
    IPPROTO_IGMP___467 = 2,
    IPPROTO_IPIP___467 = 4,
    IPPROTO_TCP___467 = 6,
    IPPROTO_EGP___467 = 8,
    IPPROTO_PUP___467 = 12,
    IPPROTO_UDP___467 = 17,
    IPPROTO_IDP___467 = 22,
    IPPROTO_TP___467 = 29,
    IPPROTO_DCCP___467 = 33,
    IPPROTO_IPV6___467 = 41,
    IPPROTO_RSVP___467 = 46,
    IPPROTO_GRE___467 = 47,
    IPPROTO_ESP___467 = 50,
    IPPROTO_AH___467 = 51,
    IPPROTO_MTP___467 = 92,
    IPPROTO_BEETPH___467 = 94,
    IPPROTO_ENCAP___467 = 98,
    IPPROTO_PIM___467 = 103,
    IPPROTO_COMP___467 = 108,
    IPPROTO_SCTP___467 = 132,
    IPPROTO_UDPLITE___467 = 136,
    IPPROTO_MPLS___467 = 137,
    IPPROTO_RAW___467 = 255,
    IPPROTO_MAX___467 = 256
} ;
enum __anonenum_218739988___467 {
    IPPROTO_HOPOPTS___467 = 0,
    IPPROTO_ROUTING___467 = 43,
    IPPROTO_FRAGMENT___467 = 44,
    IPPROTO_ICMPV6___467 = 58,
    IPPROTO_NONE___467 = 59,
    IPPROTO_DSTOPTS___467 = 60,
    IPPROTO_MH___467 = 135
} ;
enum __anonenum_662268580___467 {
    IPPORT_ECHO___467 = 7,
    IPPORT_DISCARD___467 = 9,
    IPPORT_SYSTAT___467 = 11,
    IPPORT_DAYTIME___467 = 13,
    IPPORT_NETSTAT___467 = 15,
    IPPORT_FTP___467 = 21,
    IPPORT_TELNET___467 = 23,
    IPPORT_SMTP___467 = 25,
    IPPORT_TIMESERVER___467 = 37,
    IPPORT_NAMESERVER___467 = 42,
    IPPORT_WHOIS___467 = 43,
    IPPORT_MTP___467 = 57,
    IPPORT_TFTP___467 = 69,
    IPPORT_RJE___467 = 77,
    IPPORT_FINGER___467 = 79,
    IPPORT_TTYLINK___467 = 87,
    IPPORT_SUPDUP___467 = 95,
    IPPORT_EXECSERVER___467 = 512,
    IPPORT_LOGINSERVER___467 = 513,
    IPPORT_CMDSERVER___467 = 514,
    IPPORT_EFSSERVER___467 = 520,
    IPPORT_BIFFUDP___467 = 512,
    IPPORT_WHOSERVER___467 = 513,
    IPPORT_ROUTESERVER___467 = 520,
    IPPORT_RESERVED___467 = 1024,
    IPPORT_USERRESERVED___467 = 5000
} ;
enum __anonenum_788308992___467 {
    TCP_ESTABLISHED___467 = 1,
    TCP_SYN_SENT___467 = 2,
    TCP_SYN_RECV___467 = 3,
    TCP_FIN_WAIT1___467 = 4,
    TCP_FIN_WAIT2___467 = 5,
    TCP_TIME_WAIT___467 = 6,
    TCP_CLOSE___467 = 7,
    TCP_CLOSE_WAIT___467 = 8,
    TCP_LAST_ACK___467 = 9,
    TCP_LISTEN___467 = 10,
    TCP_CLOSING___467 = 11
} ;
enum __anonenum_221125648___467 {
    TCP_NO_QUEUE___467 = 0,
    TCP_RECV_QUEUE___467 = 1,
    TCP_SEND_QUEUE___467 = 2,
    TCP_QUEUES_NR___467 = 3
} ;
enum __anonenum_34415463___467 {
    PTHREAD_CREATE_JOINABLE___467 = 0,
    PTHREAD_CREATE_DETACHED___467 = 1
} ;
enum __anonenum_303612439___467 {
    PTHREAD_MUTEX_TIMED_NP___467 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___467 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___467 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___467 = 3,
    PTHREAD_MUTEX_NORMAL___467 = 0,
    PTHREAD_MUTEX_RECURSIVE___467 = 1,
    PTHREAD_MUTEX_ERRORCHECK___467 = 2,
    PTHREAD_MUTEX_DEFAULT___467 = 0,
    PTHREAD_MUTEX_FAST_NP___467 = 0
} ;
enum __anonenum_931900394___467 {
    PTHREAD_MUTEX_STALLED___467 = 0,
    PTHREAD_MUTEX_STALLED_NP___467 = 0,
    PTHREAD_MUTEX_ROBUST___467 = 1,
    PTHREAD_MUTEX_ROBUST_NP___467 = 1
} ;
enum __anonenum_205214487___467 {
    PTHREAD_PRIO_NONE___467 = 0,
    PTHREAD_PRIO_INHERIT___467 = 1,
    PTHREAD_PRIO_PROTECT___467 = 2
} ;
enum __anonenum_25043950___467 {
    PTHREAD_RWLOCK_PREFER_READER_NP___467 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___467 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___467 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___467 = 0
} ;
enum __anonenum_436439511___467 {
    PTHREAD_INHERIT_SCHED___467 = 0,
    PTHREAD_EXPLICIT_SCHED___467 = 1
} ;
enum __anonenum_998661166___467 {
    PTHREAD_SCOPE_SYSTEM___467 = 0,
    PTHREAD_SCOPE_PROCESS___467 = 1
} ;
enum __anonenum_146137331___467 {
    PTHREAD_PROCESS_PRIVATE___467 = 0,
    PTHREAD_PROCESS_SHARED___467 = 1
} ;
enum __anonenum_53396917___467 {
    PTHREAD_CANCEL_ENABLE___467 = 0,
    PTHREAD_CANCEL_DISABLE___467 = 1
} ;
enum __anonenum_904563783___467 {
    PTHREAD_CANCEL_DEFERRED___467 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___467 = 1
} ;
enum __anonenum_672052974___467 {
    SSL_CT_VALIDATION_PERMISSIVE___467 = 0,
    SSL_CT_VALIDATION_STRICT___467 = 1
} ;
enum __anonenum_437032235___468 {
    _PC_LINK_MAX___468 = 0,
    _PC_MAX_CANON___468 = 1,
    _PC_MAX_INPUT___468 = 2,
    _PC_NAME_MAX___468 = 3,
    _PC_PATH_MAX___468 = 4,
    _PC_PIPE_BUF___468 = 5,
    _PC_CHOWN_RESTRICTED___468 = 6,
    _PC_NO_TRUNC___468 = 7,
    _PC_VDISABLE___468 = 8,
    _PC_SYNC_IO___468 = 9,
    _PC_ASYNC_IO___468 = 10,
    _PC_PRIO_IO___468 = 11,
    _PC_SOCK_MAXBUF___468 = 12,
    _PC_FILESIZEBITS___468 = 13,
    _PC_REC_INCR_XFER_SIZE___468 = 14,
    _PC_REC_MAX_XFER_SIZE___468 = 15,
    _PC_REC_MIN_XFER_SIZE___468 = 16,
    _PC_REC_XFER_ALIGN___468 = 17,
    _PC_ALLOC_SIZE_MIN___468 = 18,
    _PC_SYMLINK_MAX___468 = 19,
    _PC_2_SYMLINKS___468 = 20
} ;
enum __anonenum_315186338___468 {
    _SC_ARG_MAX___468 = 0,
    _SC_CHILD_MAX___468 = 1,
    _SC_CLK_TCK___468 = 2,
    _SC_NGROUPS_MAX___468 = 3,
    _SC_OPEN_MAX___468 = 4,
    _SC_STREAM_MAX___468 = 5,
    _SC_TZNAME_MAX___468 = 6,
    _SC_JOB_CONTROL___468 = 7,
    _SC_SAVED_IDS___468 = 8,
    _SC_REALTIME_SIGNALS___468 = 9,
    _SC_PRIORITY_SCHEDULING___468 = 10,
    _SC_TIMERS___468 = 11,
    _SC_ASYNCHRONOUS_IO___468 = 12,
    _SC_PRIORITIZED_IO___468 = 13,
    _SC_SYNCHRONIZED_IO___468 = 14,
    _SC_FSYNC___468 = 15,
    _SC_MAPPED_FILES___468 = 16,
    _SC_MEMLOCK___468 = 17,
    _SC_MEMLOCK_RANGE___468 = 18,
    _SC_MEMORY_PROTECTION___468 = 19,
    _SC_MESSAGE_PASSING___468 = 20,
    _SC_SEMAPHORES___468 = 21,
    _SC_SHARED_MEMORY_OBJECTS___468 = 22,
    _SC_AIO_LISTIO_MAX___468 = 23,
    _SC_AIO_MAX___468 = 24,
    _SC_AIO_PRIO_DELTA_MAX___468 = 25,
    _SC_DELAYTIMER_MAX___468 = 26,
    _SC_MQ_OPEN_MAX___468 = 27,
    _SC_MQ_PRIO_MAX___468 = 28,
    _SC_VERSION___468 = 29,
    _SC_PAGESIZE___468 = 30,
    _SC_RTSIG_MAX___468 = 31,
    _SC_SEM_NSEMS_MAX___468 = 32,
    _SC_SEM_VALUE_MAX___468 = 33,
    _SC_SIGQUEUE_MAX___468 = 34,
    _SC_TIMER_MAX___468 = 35,
    _SC_BC_BASE_MAX___468 = 36,
    _SC_BC_DIM_MAX___468 = 37,
    _SC_BC_SCALE_MAX___468 = 38,
    _SC_BC_STRING_MAX___468 = 39,
    _SC_COLL_WEIGHTS_MAX___468 = 40,
    _SC_EQUIV_CLASS_MAX___468 = 41,
    _SC_EXPR_NEST_MAX___468 = 42,
    _SC_LINE_MAX___468 = 43,
    _SC_RE_DUP_MAX___468 = 44,
    _SC_CHARCLASS_NAME_MAX___468 = 45,
    _SC_2_VERSION___468 = 46,
    _SC_2_C_BIND___468 = 47,
    _SC_2_C_DEV___468 = 48,
    _SC_2_FORT_DEV___468 = 49,
    _SC_2_FORT_RUN___468 = 50,
    _SC_2_SW_DEV___468 = 51,
    _SC_2_LOCALEDEF___468 = 52,
    _SC_PII___468 = 53,
    _SC_PII_XTI___468 = 54,
    _SC_PII_SOCKET___468 = 55,
    _SC_PII_INTERNET___468 = 56,
    _SC_PII_OSI___468 = 57,
    _SC_POLL___468 = 58,
    _SC_SELECT___468 = 59,
    _SC_UIO_MAXIOV___468 = 60,
    _SC_IOV_MAX___468 = 60,
    _SC_PII_INTERNET_STREAM___468 = 61,
    _SC_PII_INTERNET_DGRAM___468 = 62,
    _SC_PII_OSI_COTS___468 = 63,
    _SC_PII_OSI_CLTS___468 = 64,
    _SC_PII_OSI_M___468 = 65,
    _SC_T_IOV_MAX___468 = 66,
    _SC_THREADS___468 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___468 = 68,
    _SC_GETGR_R_SIZE_MAX___468 = 69,
    _SC_GETPW_R_SIZE_MAX___468 = 70,
    _SC_LOGIN_NAME_MAX___468 = 71,
    _SC_TTY_NAME_MAX___468 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___468 = 73,
    _SC_THREAD_KEYS_MAX___468 = 74,
    _SC_THREAD_STACK_MIN___468 = 75,
    _SC_THREAD_THREADS_MAX___468 = 76,
    _SC_THREAD_ATTR_STACKADDR___468 = 77,
    _SC_THREAD_ATTR_STACKSIZE___468 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___468 = 79,
    _SC_THREAD_PRIO_INHERIT___468 = 80,
    _SC_THREAD_PRIO_PROTECT___468 = 81,
    _SC_THREAD_PROCESS_SHARED___468 = 82,
    _SC_NPROCESSORS_CONF___468 = 83,
    _SC_NPROCESSORS_ONLN___468 = 84,
    _SC_PHYS_PAGES___468 = 85,
    _SC_AVPHYS_PAGES___468 = 86,
    _SC_ATEXIT_MAX___468 = 87,
    _SC_PASS_MAX___468 = 88,
    _SC_XOPEN_VERSION___468 = 89,
    _SC_XOPEN_XCU_VERSION___468 = 90,
    _SC_XOPEN_UNIX___468 = 91,
    _SC_XOPEN_CRYPT___468 = 92,
    _SC_XOPEN_ENH_I18N___468 = 93,
    _SC_XOPEN_SHM___468 = 94,
    _SC_2_CHAR_TERM___468 = 95,
    _SC_2_C_VERSION___468 = 96,
    _SC_2_UPE___468 = 97,
    _SC_XOPEN_XPG2___468 = 98,
    _SC_XOPEN_XPG3___468 = 99,
    _SC_XOPEN_XPG4___468 = 100,
    _SC_CHAR_BIT___468 = 101,
    _SC_CHAR_MAX___468 = 102,
    _SC_CHAR_MIN___468 = 103,
    _SC_INT_MAX___468 = 104,
    _SC_INT_MIN___468 = 105,
    _SC_LONG_BIT___468 = 106,
    _SC_WORD_BIT___468 = 107,
    _SC_MB_LEN_MAX___468 = 108,
    _SC_NZERO___468 = 109,
    _SC_SSIZE_MAX___468 = 110,
    _SC_SCHAR_MAX___468 = 111,
    _SC_SCHAR_MIN___468 = 112,
    _SC_SHRT_MAX___468 = 113,
    _SC_SHRT_MIN___468 = 114,
    _SC_UCHAR_MAX___468 = 115,
    _SC_UINT_MAX___468 = 116,
    _SC_ULONG_MAX___468 = 117,
    _SC_USHRT_MAX___468 = 118,
    _SC_NL_ARGMAX___468 = 119,
    _SC_NL_LANGMAX___468 = 120,
    _SC_NL_MSGMAX___468 = 121,
    _SC_NL_NMAX___468 = 122,
    _SC_NL_SETMAX___468 = 123,
    _SC_NL_TEXTMAX___468 = 124,
    _SC_XBS5_ILP32_OFF32___468 = 125,
    _SC_XBS5_ILP32_OFFBIG___468 = 126,
    _SC_XBS5_LP64_OFF64___468 = 127,
    _SC_XBS5_LPBIG_OFFBIG___468 = 128,
    _SC_XOPEN_LEGACY___468 = 129,
    _SC_XOPEN_REALTIME___468 = 130,
    _SC_XOPEN_REALTIME_THREADS___468 = 131,
    _SC_ADVISORY_INFO___468 = 132,
    _SC_BARRIERS___468 = 133,
    _SC_BASE___468 = 134,
    _SC_C_LANG_SUPPORT___468 = 135,
    _SC_C_LANG_SUPPORT_R___468 = 136,
    _SC_CLOCK_SELECTION___468 = 137,
    _SC_CPUTIME___468 = 138,
    _SC_THREAD_CPUTIME___468 = 139,
    _SC_DEVICE_IO___468 = 140,
    _SC_DEVICE_SPECIFIC___468 = 141,
    _SC_DEVICE_SPECIFIC_R___468 = 142,
    _SC_FD_MGMT___468 = 143,
    _SC_FIFO___468 = 144,
    _SC_PIPE___468 = 145,
    _SC_FILE_ATTRIBUTES___468 = 146,
    _SC_FILE_LOCKING___468 = 147,
    _SC_FILE_SYSTEM___468 = 148,
    _SC_MONOTONIC_CLOCK___468 = 149,
    _SC_MULTI_PROCESS___468 = 150,
    _SC_SINGLE_PROCESS___468 = 151,
    _SC_NETWORKING___468 = 152,
    _SC_READER_WRITER_LOCKS___468 = 153,
    _SC_SPIN_LOCKS___468 = 154,
    _SC_REGEXP___468 = 155,
    _SC_REGEX_VERSION___468 = 156,
    _SC_SHELL___468 = 157,
    _SC_SIGNALS___468 = 158,
    _SC_SPAWN___468 = 159,
    _SC_SPORADIC_SERVER___468 = 160,
    _SC_THREAD_SPORADIC_SERVER___468 = 161,
    _SC_SYSTEM_DATABASE___468 = 162,
    _SC_SYSTEM_DATABASE_R___468 = 163,
    _SC_TIMEOUTS___468 = 164,
    _SC_TYPED_MEMORY_OBJECTS___468 = 165,
    _SC_USER_GROUPS___468 = 166,
    _SC_USER_GROUPS_R___468 = 167,
    _SC_2_PBS___468 = 168,
    _SC_2_PBS_ACCOUNTING___468 = 169,
    _SC_2_PBS_LOCATE___468 = 170,
    _SC_2_PBS_MESSAGE___468 = 171,
    _SC_2_PBS_TRACK___468 = 172,
    _SC_SYMLOOP_MAX___468 = 173,
    _SC_STREAMS___468 = 174,
    _SC_2_PBS_CHECKPOINT___468 = 175,
    _SC_V6_ILP32_OFF32___468 = 176,
    _SC_V6_ILP32_OFFBIG___468 = 177,
    _SC_V6_LP64_OFF64___468 = 178,
    _SC_V6_LPBIG_OFFBIG___468 = 179,
    _SC_HOST_NAME_MAX___468 = 180,
    _SC_TRACE___468 = 181,
    _SC_TRACE_EVENT_FILTER___468 = 182,
    _SC_TRACE_INHERIT___468 = 183,
    _SC_TRACE_LOG___468 = 184,
    _SC_LEVEL1_ICACHE_SIZE___468 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___468 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___468 = 187,
    _SC_LEVEL1_DCACHE_SIZE___468 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___468 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___468 = 190,
    _SC_LEVEL2_CACHE_SIZE___468 = 191,
    _SC_LEVEL2_CACHE_ASSOC___468 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___468 = 193,
    _SC_LEVEL3_CACHE_SIZE___468 = 194,
    _SC_LEVEL3_CACHE_ASSOC___468 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___468 = 196,
    _SC_LEVEL4_CACHE_SIZE___468 = 197,
    _SC_LEVEL4_CACHE_ASSOC___468 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___468 = 199,
    _SC_IPV6___468 = 235,
    _SC_RAW_SOCKETS___468 = 236,
    _SC_V7_ILP32_OFF32___468 = 237,
    _SC_V7_ILP32_OFFBIG___468 = 238,
    _SC_V7_LP64_OFF64___468 = 239,
    _SC_V7_LPBIG_OFFBIG___468 = 240,
    _SC_SS_REPL_MAX___468 = 241,
    _SC_TRACE_EVENT_NAME_MAX___468 = 242,
    _SC_TRACE_NAME_MAX___468 = 243,
    _SC_TRACE_SYS_MAX___468 = 244,
    _SC_TRACE_USER_EVENT_MAX___468 = 245,
    _SC_XOPEN_STREAMS___468 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___468 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___468 = 248
} ;
enum __anonenum_875524036___468 {
    _CS_PATH___468 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___468 = 1,
    _CS_GNU_LIBC_VERSION___468 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___468 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___468 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___468 = 5,
    _CS_LFS_CFLAGS___468 = 1000,
    _CS_LFS_LDFLAGS___468 = 1001,
    _CS_LFS_LIBS___468 = 1002,
    _CS_LFS_LINTFLAGS___468 = 1003,
    _CS_LFS64_CFLAGS___468 = 1004,
    _CS_LFS64_LDFLAGS___468 = 1005,
    _CS_LFS64_LIBS___468 = 1006,
    _CS_LFS64_LINTFLAGS___468 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___468 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___468 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___468 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___468 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___468 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___468 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___468 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___468 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___468 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___468 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___468 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___468 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___468 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___468 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___468 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___468 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___468 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___468 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___468 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___468 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___468 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___468 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___468 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___468 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___468 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___468 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___468 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___468 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___468 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___468 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___468 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___468 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___468 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___468 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___468 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___468 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___468 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___468 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___468 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___468 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___468 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___468 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___468 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___468 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___468 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___468 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___468 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___468 = 1147,
    _CS_V6_ENV___468 = 1148,
    _CS_V7_ENV___468 = 1149
} ;
enum __anonenum_513775621___468 {
    DT_UNKNOWN___468 = 0,
    DT_FIFO___468 = 1,
    DT_CHR___468 = 2,
    DT_DIR___468 = 4,
    DT_BLK___468 = 6,
    DT_REG___468 = 8,
    DT_LNK___468 = 10,
    DT_SOCK___468 = 12,
    DT_WHT___468 = 14
} ;
enum __anonenum_77002343___468 {
    SI_ASYNCNL___468 = -60,
    SI_TKILL___468 = -6,
    SI_SIGIO___468 = -5,
    SI_ASYNCIO___468 = -4,
    SI_MESGQ___468 = -3,
    SI_TIMER___468 = -2,
    SI_QUEUE___468 = -1,
    SI_USER___468 = 0,
    SI_KERNEL___468 = 128
} ;
enum __anonenum_131038172___468 {
    ILL_ILLOPC___468 = 1,
    ILL_ILLOPN___468 = 2,
    ILL_ILLADR___468 = 3,
    ILL_ILLTRP___468 = 4,
    ILL_PRVOPC___468 = 5,
    ILL_PRVREG___468 = 6,
    ILL_COPROC___468 = 7,
    ILL_BADSTK___468 = 8
} ;
enum __anonenum_452038093___468 {
    FPE_INTDIV___468 = 1,
    FPE_INTOVF___468 = 2,
    FPE_FLTDIV___468 = 3,
    FPE_FLTOVF___468 = 4,
    FPE_FLTUND___468 = 5,
    FPE_FLTRES___468 = 6,
    FPE_FLTINV___468 = 7,
    FPE_FLTSUB___468 = 8
} ;
enum __anonenum_30976155___468 {
    SEGV_MAPERR___468 = 1,
    SEGV_ACCERR___468 = 2,
    SEGV_BNDERR___468 = 3,
    SEGV_PKUERR___468 = 4
} ;
enum __anonenum_1036286214___468 {
    BUS_ADRALN___468 = 1,
    BUS_ADRERR___468 = 2,
    BUS_OBJERR___468 = 3,
    BUS_MCEERR_AR___468 = 4,
    BUS_MCEERR_AO___468 = 5
} ;
enum __anonenum_493465559___468 {
    TRAP_BRKPT___468 = 1,
    TRAP_TRACE___468 = 2
} ;
enum __anonenum_23175539___468 {
    CLD_EXITED___468 = 1,
    CLD_KILLED___468 = 2,
    CLD_DUMPED___468 = 3,
    CLD_TRAPPED___468 = 4,
    CLD_STOPPED___468 = 5,
    CLD_CONTINUED___468 = 6
} ;
enum __anonenum_111643124___468 {
    POLL_IN___468 = 1,
    POLL_OUT___468 = 2,
    POLL_MSG___468 = 3,
    POLL_ERR___468 = 4,
    POLL_PRI___468 = 5,
    POLL_HUP___468 = 6
} ;
enum __anonenum_852341087___468 {
    SIGEV_SIGNAL___468 = 0,
    SIGEV_NONE___468 = 1,
    SIGEV_THREAD___468 = 2,
    SIGEV_THREAD_ID___468 = 4
} ;
enum __anonenum_451154152___468 {
    REG_R8___468 = 0,
    REG_R9___468 = 1,
    REG_R10___468 = 2,
    REG_R11___468 = 3,
    REG_R12___468 = 4,
    REG_R13___468 = 5,
    REG_R14___468 = 6,
    REG_R15___468 = 7,
    REG_RDI___468 = 8,
    REG_RSI___468 = 9,
    REG_RBP___468 = 10,
    REG_RBX___468 = 11,
    REG_RDX___468 = 12,
    REG_RAX___468 = 13,
    REG_RCX___468 = 14,
    REG_RSP___468 = 15,
    REG_RIP___468 = 16,
    REG_EFL___468 = 17,
    REG_CSGSFS___468 = 18,
    REG_ERR___468 = 19,
    REG_TRAPNO___468 = 20,
    REG_OLDMASK___468 = 21,
    REG_CR2___468 = 22
} ;
enum __anonenum_57186863___468 {
    SS_ONSTACK___468 = 1,
    SS_DISABLE___468 = 2
} ;
enum __anonenum_83571709___468 {
    MSG_OOB___468 = 1,
    MSG_PEEK___468 = 2,
    MSG_DONTROUTE___468 = 4,
    MSG_TRYHARD___468 = 4,
    MSG_CTRUNC___468 = 8,
    MSG_PROXY___468 = 16,
    MSG_TRUNC___468 = 32,
    MSG_DONTWAIT___468 = 64,
    MSG_EOR___468 = 128,
    MSG_WAITALL___468 = 256,
    MSG_FIN___468 = 512,
    MSG_SYN___468 = 1024,
    MSG_CONFIRM___468 = 2048,
    MSG_RST___468 = 4096,
    MSG_ERRQUEUE___468 = 8192,
    MSG_NOSIGNAL___468 = 16384,
    MSG_MORE___468 = 32768,
    MSG_WAITFORONE___468 = 65536,
    MSG_BATCH___468 = 262144,
    MSG_ZEROCOPY___468 = 67108864,
    MSG_FASTOPEN___468 = 536870912,
    MSG_CMSG_CLOEXEC___468 = 1073741824
} ;
enum __anonenum_617082774___468 {
    SCM_RIGHTS___468 = 1,
    SCM_CREDENTIALS___468 = 2
} ;
enum __anonenum_606441560___468 {
    SHUT_RD___468 = 0,
    SHUT_WR___468 = 1,
    SHUT_RDWR___468 = 2
} ;
enum __anonenum_681669233___468 {
    IPPROTO_IP___468 = 0,
    IPPROTO_ICMP___468 = 1,
    IPPROTO_IGMP___468 = 2,
    IPPROTO_IPIP___468 = 4,
    IPPROTO_TCP___468 = 6,
    IPPROTO_EGP___468 = 8,
    IPPROTO_PUP___468 = 12,
    IPPROTO_UDP___468 = 17,
    IPPROTO_IDP___468 = 22,
    IPPROTO_TP___468 = 29,
    IPPROTO_DCCP___468 = 33,
    IPPROTO_IPV6___468 = 41,
    IPPROTO_RSVP___468 = 46,
    IPPROTO_GRE___468 = 47,
    IPPROTO_ESP___468 = 50,
    IPPROTO_AH___468 = 51,
    IPPROTO_MTP___468 = 92,
    IPPROTO_BEETPH___468 = 94,
    IPPROTO_ENCAP___468 = 98,
    IPPROTO_PIM___468 = 103,
    IPPROTO_COMP___468 = 108,
    IPPROTO_SCTP___468 = 132,
    IPPROTO_UDPLITE___468 = 136,
    IPPROTO_MPLS___468 = 137,
    IPPROTO_RAW___468 = 255,
    IPPROTO_MAX___468 = 256
} ;
enum __anonenum_218739988___468 {
    IPPROTO_HOPOPTS___468 = 0,
    IPPROTO_ROUTING___468 = 43,
    IPPROTO_FRAGMENT___468 = 44,
    IPPROTO_ICMPV6___468 = 58,
    IPPROTO_NONE___468 = 59,
    IPPROTO_DSTOPTS___468 = 60,
    IPPROTO_MH___468 = 135
} ;
enum __anonenum_662268580___468 {
    IPPORT_ECHO___468 = 7,
    IPPORT_DISCARD___468 = 9,
    IPPORT_SYSTAT___468 = 11,
    IPPORT_DAYTIME___468 = 13,
    IPPORT_NETSTAT___468 = 15,
    IPPORT_FTP___468 = 21,
    IPPORT_TELNET___468 = 23,
    IPPORT_SMTP___468 = 25,
    IPPORT_TIMESERVER___468 = 37,
    IPPORT_NAMESERVER___468 = 42,
    IPPORT_WHOIS___468 = 43,
    IPPORT_MTP___468 = 57,
    IPPORT_TFTP___468 = 69,
    IPPORT_RJE___468 = 77,
    IPPORT_FINGER___468 = 79,
    IPPORT_TTYLINK___468 = 87,
    IPPORT_SUPDUP___468 = 95,
    IPPORT_EXECSERVER___468 = 512,
    IPPORT_LOGINSERVER___468 = 513,
    IPPORT_CMDSERVER___468 = 514,
    IPPORT_EFSSERVER___468 = 520,
    IPPORT_BIFFUDP___468 = 512,
    IPPORT_WHOSERVER___468 = 513,
    IPPORT_ROUTESERVER___468 = 520,
    IPPORT_RESERVED___468 = 1024,
    IPPORT_USERRESERVED___468 = 5000
} ;
enum __anonenum_788308992___468 {
    TCP_ESTABLISHED___468 = 1,
    TCP_SYN_SENT___468 = 2,
    TCP_SYN_RECV___468 = 3,
    TCP_FIN_WAIT1___468 = 4,
    TCP_FIN_WAIT2___468 = 5,
    TCP_TIME_WAIT___468 = 6,
    TCP_CLOSE___468 = 7,
    TCP_CLOSE_WAIT___468 = 8,
    TCP_LAST_ACK___468 = 9,
    TCP_LISTEN___468 = 10,
    TCP_CLOSING___468 = 11
} ;
enum __anonenum_221125648___468 {
    TCP_NO_QUEUE___468 = 0,
    TCP_RECV_QUEUE___468 = 1,
    TCP_SEND_QUEUE___468 = 2,
    TCP_QUEUES_NR___468 = 3
} ;
enum __anonenum_34415463___468 {
    PTHREAD_CREATE_JOINABLE___468 = 0,
    PTHREAD_CREATE_DETACHED___468 = 1
} ;
enum __anonenum_303612439___468 {
    PTHREAD_MUTEX_TIMED_NP___468 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___468 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___468 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___468 = 3,
    PTHREAD_MUTEX_NORMAL___468 = 0,
    PTHREAD_MUTEX_RECURSIVE___468 = 1,
    PTHREAD_MUTEX_ERRORCHECK___468 = 2,
    PTHREAD_MUTEX_DEFAULT___468 = 0,
    PTHREAD_MUTEX_FAST_NP___468 = 0
} ;
enum __anonenum_931900394___468 {
    PTHREAD_MUTEX_STALLED___468 = 0,
    PTHREAD_MUTEX_STALLED_NP___468 = 0,
    PTHREAD_MUTEX_ROBUST___468 = 1,
    PTHREAD_MUTEX_ROBUST_NP___468 = 1
} ;
enum __anonenum_205214487___468 {
    PTHREAD_PRIO_NONE___468 = 0,
    PTHREAD_PRIO_INHERIT___468 = 1,
    PTHREAD_PRIO_PROTECT___468 = 2
} ;
enum __anonenum_25043950___468 {
    PTHREAD_RWLOCK_PREFER_READER_NP___468 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___468 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___468 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___468 = 0
} ;
enum __anonenum_436439511___468 {
    PTHREAD_INHERIT_SCHED___468 = 0,
    PTHREAD_EXPLICIT_SCHED___468 = 1
} ;
enum __anonenum_998661166___468 {
    PTHREAD_SCOPE_SYSTEM___468 = 0,
    PTHREAD_SCOPE_PROCESS___468 = 1
} ;
enum __anonenum_146137331___468 {
    PTHREAD_PROCESS_PRIVATE___468 = 0,
    PTHREAD_PROCESS_SHARED___468 = 1
} ;
enum __anonenum_53396917___468 {
    PTHREAD_CANCEL_ENABLE___468 = 0,
    PTHREAD_CANCEL_DISABLE___468 = 1
} ;
enum __anonenum_904563783___468 {
    PTHREAD_CANCEL_DEFERRED___468 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___468 = 1
} ;
enum __anonenum_672052974___468 {
    SSL_CT_VALIDATION_PERMISSIVE___468 = 0,
    SSL_CT_VALIDATION_STRICT___468 = 1
} ;
enum __anonenum_437032235___469 {
    _PC_LINK_MAX___469 = 0,
    _PC_MAX_CANON___469 = 1,
    _PC_MAX_INPUT___469 = 2,
    _PC_NAME_MAX___469 = 3,
    _PC_PATH_MAX___469 = 4,
    _PC_PIPE_BUF___469 = 5,
    _PC_CHOWN_RESTRICTED___469 = 6,
    _PC_NO_TRUNC___469 = 7,
    _PC_VDISABLE___469 = 8,
    _PC_SYNC_IO___469 = 9,
    _PC_ASYNC_IO___469 = 10,
    _PC_PRIO_IO___469 = 11,
    _PC_SOCK_MAXBUF___469 = 12,
    _PC_FILESIZEBITS___469 = 13,
    _PC_REC_INCR_XFER_SIZE___469 = 14,
    _PC_REC_MAX_XFER_SIZE___469 = 15,
    _PC_REC_MIN_XFER_SIZE___469 = 16,
    _PC_REC_XFER_ALIGN___469 = 17,
    _PC_ALLOC_SIZE_MIN___469 = 18,
    _PC_SYMLINK_MAX___469 = 19,
    _PC_2_SYMLINKS___469 = 20
} ;
enum __anonenum_315186338___469 {
    _SC_ARG_MAX___469 = 0,
    _SC_CHILD_MAX___469 = 1,
    _SC_CLK_TCK___469 = 2,
    _SC_NGROUPS_MAX___469 = 3,
    _SC_OPEN_MAX___469 = 4,
    _SC_STREAM_MAX___469 = 5,
    _SC_TZNAME_MAX___469 = 6,
    _SC_JOB_CONTROL___469 = 7,
    _SC_SAVED_IDS___469 = 8,
    _SC_REALTIME_SIGNALS___469 = 9,
    _SC_PRIORITY_SCHEDULING___469 = 10,
    _SC_TIMERS___469 = 11,
    _SC_ASYNCHRONOUS_IO___469 = 12,
    _SC_PRIORITIZED_IO___469 = 13,
    _SC_SYNCHRONIZED_IO___469 = 14,
    _SC_FSYNC___469 = 15,
    _SC_MAPPED_FILES___469 = 16,
    _SC_MEMLOCK___469 = 17,
    _SC_MEMLOCK_RANGE___469 = 18,
    _SC_MEMORY_PROTECTION___469 = 19,
    _SC_MESSAGE_PASSING___469 = 20,
    _SC_SEMAPHORES___469 = 21,
    _SC_SHARED_MEMORY_OBJECTS___469 = 22,
    _SC_AIO_LISTIO_MAX___469 = 23,
    _SC_AIO_MAX___469 = 24,
    _SC_AIO_PRIO_DELTA_MAX___469 = 25,
    _SC_DELAYTIMER_MAX___469 = 26,
    _SC_MQ_OPEN_MAX___469 = 27,
    _SC_MQ_PRIO_MAX___469 = 28,
    _SC_VERSION___469 = 29,
    _SC_PAGESIZE___469 = 30,
    _SC_RTSIG_MAX___469 = 31,
    _SC_SEM_NSEMS_MAX___469 = 32,
    _SC_SEM_VALUE_MAX___469 = 33,
    _SC_SIGQUEUE_MAX___469 = 34,
    _SC_TIMER_MAX___469 = 35,
    _SC_BC_BASE_MAX___469 = 36,
    _SC_BC_DIM_MAX___469 = 37,
    _SC_BC_SCALE_MAX___469 = 38,
    _SC_BC_STRING_MAX___469 = 39,
    _SC_COLL_WEIGHTS_MAX___469 = 40,
    _SC_EQUIV_CLASS_MAX___469 = 41,
    _SC_EXPR_NEST_MAX___469 = 42,
    _SC_LINE_MAX___469 = 43,
    _SC_RE_DUP_MAX___469 = 44,
    _SC_CHARCLASS_NAME_MAX___469 = 45,
    _SC_2_VERSION___469 = 46,
    _SC_2_C_BIND___469 = 47,
    _SC_2_C_DEV___469 = 48,
    _SC_2_FORT_DEV___469 = 49,
    _SC_2_FORT_RUN___469 = 50,
    _SC_2_SW_DEV___469 = 51,
    _SC_2_LOCALEDEF___469 = 52,
    _SC_PII___469 = 53,
    _SC_PII_XTI___469 = 54,
    _SC_PII_SOCKET___469 = 55,
    _SC_PII_INTERNET___469 = 56,
    _SC_PII_OSI___469 = 57,
    _SC_POLL___469 = 58,
    _SC_SELECT___469 = 59,
    _SC_UIO_MAXIOV___469 = 60,
    _SC_IOV_MAX___469 = 60,
    _SC_PII_INTERNET_STREAM___469 = 61,
    _SC_PII_INTERNET_DGRAM___469 = 62,
    _SC_PII_OSI_COTS___469 = 63,
    _SC_PII_OSI_CLTS___469 = 64,
    _SC_PII_OSI_M___469 = 65,
    _SC_T_IOV_MAX___469 = 66,
    _SC_THREADS___469 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___469 = 68,
    _SC_GETGR_R_SIZE_MAX___469 = 69,
    _SC_GETPW_R_SIZE_MAX___469 = 70,
    _SC_LOGIN_NAME_MAX___469 = 71,
    _SC_TTY_NAME_MAX___469 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___469 = 73,
    _SC_THREAD_KEYS_MAX___469 = 74,
    _SC_THREAD_STACK_MIN___469 = 75,
    _SC_THREAD_THREADS_MAX___469 = 76,
    _SC_THREAD_ATTR_STACKADDR___469 = 77,
    _SC_THREAD_ATTR_STACKSIZE___469 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___469 = 79,
    _SC_THREAD_PRIO_INHERIT___469 = 80,
    _SC_THREAD_PRIO_PROTECT___469 = 81,
    _SC_THREAD_PROCESS_SHARED___469 = 82,
    _SC_NPROCESSORS_CONF___469 = 83,
    _SC_NPROCESSORS_ONLN___469 = 84,
    _SC_PHYS_PAGES___469 = 85,
    _SC_AVPHYS_PAGES___469 = 86,
    _SC_ATEXIT_MAX___469 = 87,
    _SC_PASS_MAX___469 = 88,
    _SC_XOPEN_VERSION___469 = 89,
    _SC_XOPEN_XCU_VERSION___469 = 90,
    _SC_XOPEN_UNIX___469 = 91,
    _SC_XOPEN_CRYPT___469 = 92,
    _SC_XOPEN_ENH_I18N___469 = 93,
    _SC_XOPEN_SHM___469 = 94,
    _SC_2_CHAR_TERM___469 = 95,
    _SC_2_C_VERSION___469 = 96,
    _SC_2_UPE___469 = 97,
    _SC_XOPEN_XPG2___469 = 98,
    _SC_XOPEN_XPG3___469 = 99,
    _SC_XOPEN_XPG4___469 = 100,
    _SC_CHAR_BIT___469 = 101,
    _SC_CHAR_MAX___469 = 102,
    _SC_CHAR_MIN___469 = 103,
    _SC_INT_MAX___469 = 104,
    _SC_INT_MIN___469 = 105,
    _SC_LONG_BIT___469 = 106,
    _SC_WORD_BIT___469 = 107,
    _SC_MB_LEN_MAX___469 = 108,
    _SC_NZERO___469 = 109,
    _SC_SSIZE_MAX___469 = 110,
    _SC_SCHAR_MAX___469 = 111,
    _SC_SCHAR_MIN___469 = 112,
    _SC_SHRT_MAX___469 = 113,
    _SC_SHRT_MIN___469 = 114,
    _SC_UCHAR_MAX___469 = 115,
    _SC_UINT_MAX___469 = 116,
    _SC_ULONG_MAX___469 = 117,
    _SC_USHRT_MAX___469 = 118,
    _SC_NL_ARGMAX___469 = 119,
    _SC_NL_LANGMAX___469 = 120,
    _SC_NL_MSGMAX___469 = 121,
    _SC_NL_NMAX___469 = 122,
    _SC_NL_SETMAX___469 = 123,
    _SC_NL_TEXTMAX___469 = 124,
    _SC_XBS5_ILP32_OFF32___469 = 125,
    _SC_XBS5_ILP32_OFFBIG___469 = 126,
    _SC_XBS5_LP64_OFF64___469 = 127,
    _SC_XBS5_LPBIG_OFFBIG___469 = 128,
    _SC_XOPEN_LEGACY___469 = 129,
    _SC_XOPEN_REALTIME___469 = 130,
    _SC_XOPEN_REALTIME_THREADS___469 = 131,
    _SC_ADVISORY_INFO___469 = 132,
    _SC_BARRIERS___469 = 133,
    _SC_BASE___469 = 134,
    _SC_C_LANG_SUPPORT___469 = 135,
    _SC_C_LANG_SUPPORT_R___469 = 136,
    _SC_CLOCK_SELECTION___469 = 137,
    _SC_CPUTIME___469 = 138,
    _SC_THREAD_CPUTIME___469 = 139,
    _SC_DEVICE_IO___469 = 140,
    _SC_DEVICE_SPECIFIC___469 = 141,
    _SC_DEVICE_SPECIFIC_R___469 = 142,
    _SC_FD_MGMT___469 = 143,
    _SC_FIFO___469 = 144,
    _SC_PIPE___469 = 145,
    _SC_FILE_ATTRIBUTES___469 = 146,
    _SC_FILE_LOCKING___469 = 147,
    _SC_FILE_SYSTEM___469 = 148,
    _SC_MONOTONIC_CLOCK___469 = 149,
    _SC_MULTI_PROCESS___469 = 150,
    _SC_SINGLE_PROCESS___469 = 151,
    _SC_NETWORKING___469 = 152,
    _SC_READER_WRITER_LOCKS___469 = 153,
    _SC_SPIN_LOCKS___469 = 154,
    _SC_REGEXP___469 = 155,
    _SC_REGEX_VERSION___469 = 156,
    _SC_SHELL___469 = 157,
    _SC_SIGNALS___469 = 158,
    _SC_SPAWN___469 = 159,
    _SC_SPORADIC_SERVER___469 = 160,
    _SC_THREAD_SPORADIC_SERVER___469 = 161,
    _SC_SYSTEM_DATABASE___469 = 162,
    _SC_SYSTEM_DATABASE_R___469 = 163,
    _SC_TIMEOUTS___469 = 164,
    _SC_TYPED_MEMORY_OBJECTS___469 = 165,
    _SC_USER_GROUPS___469 = 166,
    _SC_USER_GROUPS_R___469 = 167,
    _SC_2_PBS___469 = 168,
    _SC_2_PBS_ACCOUNTING___469 = 169,
    _SC_2_PBS_LOCATE___469 = 170,
    _SC_2_PBS_MESSAGE___469 = 171,
    _SC_2_PBS_TRACK___469 = 172,
    _SC_SYMLOOP_MAX___469 = 173,
    _SC_STREAMS___469 = 174,
    _SC_2_PBS_CHECKPOINT___469 = 175,
    _SC_V6_ILP32_OFF32___469 = 176,
    _SC_V6_ILP32_OFFBIG___469 = 177,
    _SC_V6_LP64_OFF64___469 = 178,
    _SC_V6_LPBIG_OFFBIG___469 = 179,
    _SC_HOST_NAME_MAX___469 = 180,
    _SC_TRACE___469 = 181,
    _SC_TRACE_EVENT_FILTER___469 = 182,
    _SC_TRACE_INHERIT___469 = 183,
    _SC_TRACE_LOG___469 = 184,
    _SC_LEVEL1_ICACHE_SIZE___469 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___469 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___469 = 187,
    _SC_LEVEL1_DCACHE_SIZE___469 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___469 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___469 = 190,
    _SC_LEVEL2_CACHE_SIZE___469 = 191,
    _SC_LEVEL2_CACHE_ASSOC___469 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___469 = 193,
    _SC_LEVEL3_CACHE_SIZE___469 = 194,
    _SC_LEVEL3_CACHE_ASSOC___469 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___469 = 196,
    _SC_LEVEL4_CACHE_SIZE___469 = 197,
    _SC_LEVEL4_CACHE_ASSOC___469 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___469 = 199,
    _SC_IPV6___469 = 235,
    _SC_RAW_SOCKETS___469 = 236,
    _SC_V7_ILP32_OFF32___469 = 237,
    _SC_V7_ILP32_OFFBIG___469 = 238,
    _SC_V7_LP64_OFF64___469 = 239,
    _SC_V7_LPBIG_OFFBIG___469 = 240,
    _SC_SS_REPL_MAX___469 = 241,
    _SC_TRACE_EVENT_NAME_MAX___469 = 242,
    _SC_TRACE_NAME_MAX___469 = 243,
    _SC_TRACE_SYS_MAX___469 = 244,
    _SC_TRACE_USER_EVENT_MAX___469 = 245,
    _SC_XOPEN_STREAMS___469 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___469 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___469 = 248
} ;
enum __anonenum_875524036___469 {
    _CS_PATH___469 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___469 = 1,
    _CS_GNU_LIBC_VERSION___469 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___469 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___469 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___469 = 5,
    _CS_LFS_CFLAGS___469 = 1000,
    _CS_LFS_LDFLAGS___469 = 1001,
    _CS_LFS_LIBS___469 = 1002,
    _CS_LFS_LINTFLAGS___469 = 1003,
    _CS_LFS64_CFLAGS___469 = 1004,
    _CS_LFS64_LDFLAGS___469 = 1005,
    _CS_LFS64_LIBS___469 = 1006,
    _CS_LFS64_LINTFLAGS___469 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___469 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___469 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___469 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___469 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___469 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___469 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___469 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___469 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___469 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___469 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___469 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___469 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___469 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___469 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___469 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___469 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___469 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___469 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___469 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___469 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___469 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___469 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___469 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___469 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___469 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___469 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___469 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___469 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___469 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___469 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___469 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___469 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___469 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___469 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___469 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___469 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___469 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___469 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___469 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___469 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___469 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___469 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___469 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___469 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___469 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___469 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___469 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___469 = 1147,
    _CS_V6_ENV___469 = 1148,
    _CS_V7_ENV___469 = 1149
} ;
enum __anonenum_513775621___469 {
    DT_UNKNOWN___469 = 0,
    DT_FIFO___469 = 1,
    DT_CHR___469 = 2,
    DT_DIR___469 = 4,
    DT_BLK___469 = 6,
    DT_REG___469 = 8,
    DT_LNK___469 = 10,
    DT_SOCK___469 = 12,
    DT_WHT___469 = 14
} ;
enum __anonenum_77002343___469 {
    SI_ASYNCNL___469 = -60,
    SI_TKILL___469 = -6,
    SI_SIGIO___469 = -5,
    SI_ASYNCIO___469 = -4,
    SI_MESGQ___469 = -3,
    SI_TIMER___469 = -2,
    SI_QUEUE___469 = -1,
    SI_USER___469 = 0,
    SI_KERNEL___469 = 128
} ;
enum __anonenum_131038172___469 {
    ILL_ILLOPC___469 = 1,
    ILL_ILLOPN___469 = 2,
    ILL_ILLADR___469 = 3,
    ILL_ILLTRP___469 = 4,
    ILL_PRVOPC___469 = 5,
    ILL_PRVREG___469 = 6,
    ILL_COPROC___469 = 7,
    ILL_BADSTK___469 = 8
} ;
enum __anonenum_452038093___469 {
    FPE_INTDIV___469 = 1,
    FPE_INTOVF___469 = 2,
    FPE_FLTDIV___469 = 3,
    FPE_FLTOVF___469 = 4,
    FPE_FLTUND___469 = 5,
    FPE_FLTRES___469 = 6,
    FPE_FLTINV___469 = 7,
    FPE_FLTSUB___469 = 8
} ;
enum __anonenum_30976155___469 {
    SEGV_MAPERR___469 = 1,
    SEGV_ACCERR___469 = 2,
    SEGV_BNDERR___469 = 3,
    SEGV_PKUERR___469 = 4
} ;
enum __anonenum_1036286214___469 {
    BUS_ADRALN___469 = 1,
    BUS_ADRERR___469 = 2,
    BUS_OBJERR___469 = 3,
    BUS_MCEERR_AR___469 = 4,
    BUS_MCEERR_AO___469 = 5
} ;
enum __anonenum_493465559___469 {
    TRAP_BRKPT___469 = 1,
    TRAP_TRACE___469 = 2
} ;
enum __anonenum_23175539___469 {
    CLD_EXITED___469 = 1,
    CLD_KILLED___469 = 2,
    CLD_DUMPED___469 = 3,
    CLD_TRAPPED___469 = 4,
    CLD_STOPPED___469 = 5,
    CLD_CONTINUED___469 = 6
} ;
enum __anonenum_111643124___469 {
    POLL_IN___469 = 1,
    POLL_OUT___469 = 2,
    POLL_MSG___469 = 3,
    POLL_ERR___469 = 4,
    POLL_PRI___469 = 5,
    POLL_HUP___469 = 6
} ;
enum __anonenum_852341087___469 {
    SIGEV_SIGNAL___469 = 0,
    SIGEV_NONE___469 = 1,
    SIGEV_THREAD___469 = 2,
    SIGEV_THREAD_ID___469 = 4
} ;
enum __anonenum_451154152___469 {
    REG_R8___469 = 0,
    REG_R9___469 = 1,
    REG_R10___469 = 2,
    REG_R11___469 = 3,
    REG_R12___469 = 4,
    REG_R13___469 = 5,
    REG_R14___469 = 6,
    REG_R15___469 = 7,
    REG_RDI___469 = 8,
    REG_RSI___469 = 9,
    REG_RBP___469 = 10,
    REG_RBX___469 = 11,
    REG_RDX___469 = 12,
    REG_RAX___469 = 13,
    REG_RCX___469 = 14,
    REG_RSP___469 = 15,
    REG_RIP___469 = 16,
    REG_EFL___469 = 17,
    REG_CSGSFS___469 = 18,
    REG_ERR___469 = 19,
    REG_TRAPNO___469 = 20,
    REG_OLDMASK___469 = 21,
    REG_CR2___469 = 22
} ;
enum __anonenum_57186863___469 {
    SS_ONSTACK___469 = 1,
    SS_DISABLE___469 = 2
} ;
enum __anonenum_83571709___469 {
    MSG_OOB___469 = 1,
    MSG_PEEK___469 = 2,
    MSG_DONTROUTE___469 = 4,
    MSG_TRYHARD___469 = 4,
    MSG_CTRUNC___469 = 8,
    MSG_PROXY___469 = 16,
    MSG_TRUNC___469 = 32,
    MSG_DONTWAIT___469 = 64,
    MSG_EOR___469 = 128,
    MSG_WAITALL___469 = 256,
    MSG_FIN___469 = 512,
    MSG_SYN___469 = 1024,
    MSG_CONFIRM___469 = 2048,
    MSG_RST___469 = 4096,
    MSG_ERRQUEUE___469 = 8192,
    MSG_NOSIGNAL___469 = 16384,
    MSG_MORE___469 = 32768,
    MSG_WAITFORONE___469 = 65536,
    MSG_BATCH___469 = 262144,
    MSG_ZEROCOPY___469 = 67108864,
    MSG_FASTOPEN___469 = 536870912,
    MSG_CMSG_CLOEXEC___469 = 1073741824
} ;
enum __anonenum_617082774___469 {
    SCM_RIGHTS___469 = 1,
    SCM_CREDENTIALS___469 = 2
} ;
enum __anonenum_606441560___469 {
    SHUT_RD___469 = 0,
    SHUT_WR___469 = 1,
    SHUT_RDWR___469 = 2
} ;
enum __anonenum_681669233___469 {
    IPPROTO_IP___469 = 0,
    IPPROTO_ICMP___469 = 1,
    IPPROTO_IGMP___469 = 2,
    IPPROTO_IPIP___469 = 4,
    IPPROTO_TCP___469 = 6,
    IPPROTO_EGP___469 = 8,
    IPPROTO_PUP___469 = 12,
    IPPROTO_UDP___469 = 17,
    IPPROTO_IDP___469 = 22,
    IPPROTO_TP___469 = 29,
    IPPROTO_DCCP___469 = 33,
    IPPROTO_IPV6___469 = 41,
    IPPROTO_RSVP___469 = 46,
    IPPROTO_GRE___469 = 47,
    IPPROTO_ESP___469 = 50,
    IPPROTO_AH___469 = 51,
    IPPROTO_MTP___469 = 92,
    IPPROTO_BEETPH___469 = 94,
    IPPROTO_ENCAP___469 = 98,
    IPPROTO_PIM___469 = 103,
    IPPROTO_COMP___469 = 108,
    IPPROTO_SCTP___469 = 132,
    IPPROTO_UDPLITE___469 = 136,
    IPPROTO_MPLS___469 = 137,
    IPPROTO_RAW___469 = 255,
    IPPROTO_MAX___469 = 256
} ;
enum __anonenum_218739988___469 {
    IPPROTO_HOPOPTS___469 = 0,
    IPPROTO_ROUTING___469 = 43,
    IPPROTO_FRAGMENT___469 = 44,
    IPPROTO_ICMPV6___469 = 58,
    IPPROTO_NONE___469 = 59,
    IPPROTO_DSTOPTS___469 = 60,
    IPPROTO_MH___469 = 135
} ;
enum __anonenum_662268580___469 {
    IPPORT_ECHO___469 = 7,
    IPPORT_DISCARD___469 = 9,
    IPPORT_SYSTAT___469 = 11,
    IPPORT_DAYTIME___469 = 13,
    IPPORT_NETSTAT___469 = 15,
    IPPORT_FTP___469 = 21,
    IPPORT_TELNET___469 = 23,
    IPPORT_SMTP___469 = 25,
    IPPORT_TIMESERVER___469 = 37,
    IPPORT_NAMESERVER___469 = 42,
    IPPORT_WHOIS___469 = 43,
    IPPORT_MTP___469 = 57,
    IPPORT_TFTP___469 = 69,
    IPPORT_RJE___469 = 77,
    IPPORT_FINGER___469 = 79,
    IPPORT_TTYLINK___469 = 87,
    IPPORT_SUPDUP___469 = 95,
    IPPORT_EXECSERVER___469 = 512,
    IPPORT_LOGINSERVER___469 = 513,
    IPPORT_CMDSERVER___469 = 514,
    IPPORT_EFSSERVER___469 = 520,
    IPPORT_BIFFUDP___469 = 512,
    IPPORT_WHOSERVER___469 = 513,
    IPPORT_ROUTESERVER___469 = 520,
    IPPORT_RESERVED___469 = 1024,
    IPPORT_USERRESERVED___469 = 5000
} ;
enum __anonenum_788308992___469 {
    TCP_ESTABLISHED___469 = 1,
    TCP_SYN_SENT___469 = 2,
    TCP_SYN_RECV___469 = 3,
    TCP_FIN_WAIT1___469 = 4,
    TCP_FIN_WAIT2___469 = 5,
    TCP_TIME_WAIT___469 = 6,
    TCP_CLOSE___469 = 7,
    TCP_CLOSE_WAIT___469 = 8,
    TCP_LAST_ACK___469 = 9,
    TCP_LISTEN___469 = 10,
    TCP_CLOSING___469 = 11
} ;
enum __anonenum_221125648___469 {
    TCP_NO_QUEUE___469 = 0,
    TCP_RECV_QUEUE___469 = 1,
    TCP_SEND_QUEUE___469 = 2,
    TCP_QUEUES_NR___469 = 3
} ;
enum __anonenum_34415463___469 {
    PTHREAD_CREATE_JOINABLE___469 = 0,
    PTHREAD_CREATE_DETACHED___469 = 1
} ;
enum __anonenum_303612439___469 {
    PTHREAD_MUTEX_TIMED_NP___469 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___469 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___469 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___469 = 3,
    PTHREAD_MUTEX_NORMAL___469 = 0,
    PTHREAD_MUTEX_RECURSIVE___469 = 1,
    PTHREAD_MUTEX_ERRORCHECK___469 = 2,
    PTHREAD_MUTEX_DEFAULT___469 = 0,
    PTHREAD_MUTEX_FAST_NP___469 = 0
} ;
enum __anonenum_931900394___469 {
    PTHREAD_MUTEX_STALLED___469 = 0,
    PTHREAD_MUTEX_STALLED_NP___469 = 0,
    PTHREAD_MUTEX_ROBUST___469 = 1,
    PTHREAD_MUTEX_ROBUST_NP___469 = 1
} ;
enum __anonenum_205214487___469 {
    PTHREAD_PRIO_NONE___469 = 0,
    PTHREAD_PRIO_INHERIT___469 = 1,
    PTHREAD_PRIO_PROTECT___469 = 2
} ;
enum __anonenum_25043950___469 {
    PTHREAD_RWLOCK_PREFER_READER_NP___469 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___469 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___469 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___469 = 0
} ;
enum __anonenum_436439511___469 {
    PTHREAD_INHERIT_SCHED___469 = 0,
    PTHREAD_EXPLICIT_SCHED___469 = 1
} ;
enum __anonenum_998661166___469 {
    PTHREAD_SCOPE_SYSTEM___469 = 0,
    PTHREAD_SCOPE_PROCESS___469 = 1
} ;
enum __anonenum_146137331___469 {
    PTHREAD_PROCESS_PRIVATE___469 = 0,
    PTHREAD_PROCESS_SHARED___469 = 1
} ;
enum __anonenum_53396917___469 {
    PTHREAD_CANCEL_ENABLE___469 = 0,
    PTHREAD_CANCEL_DISABLE___469 = 1
} ;
enum __anonenum_904563783___469 {
    PTHREAD_CANCEL_DEFERRED___469 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___469 = 1
} ;
enum __anonenum_672052974___469 {
    SSL_CT_VALIDATION_PERMISSIVE___469 = 0,
    SSL_CT_VALIDATION_STRICT___469 = 1
} ;
enum __anonenum_437032235___470 {
    _PC_LINK_MAX___470 = 0,
    _PC_MAX_CANON___470 = 1,
    _PC_MAX_INPUT___470 = 2,
    _PC_NAME_MAX___470 = 3,
    _PC_PATH_MAX___470 = 4,
    _PC_PIPE_BUF___470 = 5,
    _PC_CHOWN_RESTRICTED___470 = 6,
    _PC_NO_TRUNC___470 = 7,
    _PC_VDISABLE___470 = 8,
    _PC_SYNC_IO___470 = 9,
    _PC_ASYNC_IO___470 = 10,
    _PC_PRIO_IO___470 = 11,
    _PC_SOCK_MAXBUF___470 = 12,
    _PC_FILESIZEBITS___470 = 13,
    _PC_REC_INCR_XFER_SIZE___470 = 14,
    _PC_REC_MAX_XFER_SIZE___470 = 15,
    _PC_REC_MIN_XFER_SIZE___470 = 16,
    _PC_REC_XFER_ALIGN___470 = 17,
    _PC_ALLOC_SIZE_MIN___470 = 18,
    _PC_SYMLINK_MAX___470 = 19,
    _PC_2_SYMLINKS___470 = 20
} ;
enum __anonenum_315186338___470 {
    _SC_ARG_MAX___470 = 0,
    _SC_CHILD_MAX___470 = 1,
    _SC_CLK_TCK___470 = 2,
    _SC_NGROUPS_MAX___470 = 3,
    _SC_OPEN_MAX___470 = 4,
    _SC_STREAM_MAX___470 = 5,
    _SC_TZNAME_MAX___470 = 6,
    _SC_JOB_CONTROL___470 = 7,
    _SC_SAVED_IDS___470 = 8,
    _SC_REALTIME_SIGNALS___470 = 9,
    _SC_PRIORITY_SCHEDULING___470 = 10,
    _SC_TIMERS___470 = 11,
    _SC_ASYNCHRONOUS_IO___470 = 12,
    _SC_PRIORITIZED_IO___470 = 13,
    _SC_SYNCHRONIZED_IO___470 = 14,
    _SC_FSYNC___470 = 15,
    _SC_MAPPED_FILES___470 = 16,
    _SC_MEMLOCK___470 = 17,
    _SC_MEMLOCK_RANGE___470 = 18,
    _SC_MEMORY_PROTECTION___470 = 19,
    _SC_MESSAGE_PASSING___470 = 20,
    _SC_SEMAPHORES___470 = 21,
    _SC_SHARED_MEMORY_OBJECTS___470 = 22,
    _SC_AIO_LISTIO_MAX___470 = 23,
    _SC_AIO_MAX___470 = 24,
    _SC_AIO_PRIO_DELTA_MAX___470 = 25,
    _SC_DELAYTIMER_MAX___470 = 26,
    _SC_MQ_OPEN_MAX___470 = 27,
    _SC_MQ_PRIO_MAX___470 = 28,
    _SC_VERSION___470 = 29,
    _SC_PAGESIZE___470 = 30,
    _SC_RTSIG_MAX___470 = 31,
    _SC_SEM_NSEMS_MAX___470 = 32,
    _SC_SEM_VALUE_MAX___470 = 33,
    _SC_SIGQUEUE_MAX___470 = 34,
    _SC_TIMER_MAX___470 = 35,
    _SC_BC_BASE_MAX___470 = 36,
    _SC_BC_DIM_MAX___470 = 37,
    _SC_BC_SCALE_MAX___470 = 38,
    _SC_BC_STRING_MAX___470 = 39,
    _SC_COLL_WEIGHTS_MAX___470 = 40,
    _SC_EQUIV_CLASS_MAX___470 = 41,
    _SC_EXPR_NEST_MAX___470 = 42,
    _SC_LINE_MAX___470 = 43,
    _SC_RE_DUP_MAX___470 = 44,
    _SC_CHARCLASS_NAME_MAX___470 = 45,
    _SC_2_VERSION___470 = 46,
    _SC_2_C_BIND___470 = 47,
    _SC_2_C_DEV___470 = 48,
    _SC_2_FORT_DEV___470 = 49,
    _SC_2_FORT_RUN___470 = 50,
    _SC_2_SW_DEV___470 = 51,
    _SC_2_LOCALEDEF___470 = 52,
    _SC_PII___470 = 53,
    _SC_PII_XTI___470 = 54,
    _SC_PII_SOCKET___470 = 55,
    _SC_PII_INTERNET___470 = 56,
    _SC_PII_OSI___470 = 57,
    _SC_POLL___470 = 58,
    _SC_SELECT___470 = 59,
    _SC_UIO_MAXIOV___470 = 60,
    _SC_IOV_MAX___470 = 60,
    _SC_PII_INTERNET_STREAM___470 = 61,
    _SC_PII_INTERNET_DGRAM___470 = 62,
    _SC_PII_OSI_COTS___470 = 63,
    _SC_PII_OSI_CLTS___470 = 64,
    _SC_PII_OSI_M___470 = 65,
    _SC_T_IOV_MAX___470 = 66,
    _SC_THREADS___470 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___470 = 68,
    _SC_GETGR_R_SIZE_MAX___470 = 69,
    _SC_GETPW_R_SIZE_MAX___470 = 70,
    _SC_LOGIN_NAME_MAX___470 = 71,
    _SC_TTY_NAME_MAX___470 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___470 = 73,
    _SC_THREAD_KEYS_MAX___470 = 74,
    _SC_THREAD_STACK_MIN___470 = 75,
    _SC_THREAD_THREADS_MAX___470 = 76,
    _SC_THREAD_ATTR_STACKADDR___470 = 77,
    _SC_THREAD_ATTR_STACKSIZE___470 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___470 = 79,
    _SC_THREAD_PRIO_INHERIT___470 = 80,
    _SC_THREAD_PRIO_PROTECT___470 = 81,
    _SC_THREAD_PROCESS_SHARED___470 = 82,
    _SC_NPROCESSORS_CONF___470 = 83,
    _SC_NPROCESSORS_ONLN___470 = 84,
    _SC_PHYS_PAGES___470 = 85,
    _SC_AVPHYS_PAGES___470 = 86,
    _SC_ATEXIT_MAX___470 = 87,
    _SC_PASS_MAX___470 = 88,
    _SC_XOPEN_VERSION___470 = 89,
    _SC_XOPEN_XCU_VERSION___470 = 90,
    _SC_XOPEN_UNIX___470 = 91,
    _SC_XOPEN_CRYPT___470 = 92,
    _SC_XOPEN_ENH_I18N___470 = 93,
    _SC_XOPEN_SHM___470 = 94,
    _SC_2_CHAR_TERM___470 = 95,
    _SC_2_C_VERSION___470 = 96,
    _SC_2_UPE___470 = 97,
    _SC_XOPEN_XPG2___470 = 98,
    _SC_XOPEN_XPG3___470 = 99,
    _SC_XOPEN_XPG4___470 = 100,
    _SC_CHAR_BIT___470 = 101,
    _SC_CHAR_MAX___470 = 102,
    _SC_CHAR_MIN___470 = 103,
    _SC_INT_MAX___470 = 104,
    _SC_INT_MIN___470 = 105,
    _SC_LONG_BIT___470 = 106,
    _SC_WORD_BIT___470 = 107,
    _SC_MB_LEN_MAX___470 = 108,
    _SC_NZERO___470 = 109,
    _SC_SSIZE_MAX___470 = 110,
    _SC_SCHAR_MAX___470 = 111,
    _SC_SCHAR_MIN___470 = 112,
    _SC_SHRT_MAX___470 = 113,
    _SC_SHRT_MIN___470 = 114,
    _SC_UCHAR_MAX___470 = 115,
    _SC_UINT_MAX___470 = 116,
    _SC_ULONG_MAX___470 = 117,
    _SC_USHRT_MAX___470 = 118,
    _SC_NL_ARGMAX___470 = 119,
    _SC_NL_LANGMAX___470 = 120,
    _SC_NL_MSGMAX___470 = 121,
    _SC_NL_NMAX___470 = 122,
    _SC_NL_SETMAX___470 = 123,
    _SC_NL_TEXTMAX___470 = 124,
    _SC_XBS5_ILP32_OFF32___470 = 125,
    _SC_XBS5_ILP32_OFFBIG___470 = 126,
    _SC_XBS5_LP64_OFF64___470 = 127,
    _SC_XBS5_LPBIG_OFFBIG___470 = 128,
    _SC_XOPEN_LEGACY___470 = 129,
    _SC_XOPEN_REALTIME___470 = 130,
    _SC_XOPEN_REALTIME_THREADS___470 = 131,
    _SC_ADVISORY_INFO___470 = 132,
    _SC_BARRIERS___470 = 133,
    _SC_BASE___470 = 134,
    _SC_C_LANG_SUPPORT___470 = 135,
    _SC_C_LANG_SUPPORT_R___470 = 136,
    _SC_CLOCK_SELECTION___470 = 137,
    _SC_CPUTIME___470 = 138,
    _SC_THREAD_CPUTIME___470 = 139,
    _SC_DEVICE_IO___470 = 140,
    _SC_DEVICE_SPECIFIC___470 = 141,
    _SC_DEVICE_SPECIFIC_R___470 = 142,
    _SC_FD_MGMT___470 = 143,
    _SC_FIFO___470 = 144,
    _SC_PIPE___470 = 145,
    _SC_FILE_ATTRIBUTES___470 = 146,
    _SC_FILE_LOCKING___470 = 147,
    _SC_FILE_SYSTEM___470 = 148,
    _SC_MONOTONIC_CLOCK___470 = 149,
    _SC_MULTI_PROCESS___470 = 150,
    _SC_SINGLE_PROCESS___470 = 151,
    _SC_NETWORKING___470 = 152,
    _SC_READER_WRITER_LOCKS___470 = 153,
    _SC_SPIN_LOCKS___470 = 154,
    _SC_REGEXP___470 = 155,
    _SC_REGEX_VERSION___470 = 156,
    _SC_SHELL___470 = 157,
    _SC_SIGNALS___470 = 158,
    _SC_SPAWN___470 = 159,
    _SC_SPORADIC_SERVER___470 = 160,
    _SC_THREAD_SPORADIC_SERVER___470 = 161,
    _SC_SYSTEM_DATABASE___470 = 162,
    _SC_SYSTEM_DATABASE_R___470 = 163,
    _SC_TIMEOUTS___470 = 164,
    _SC_TYPED_MEMORY_OBJECTS___470 = 165,
    _SC_USER_GROUPS___470 = 166,
    _SC_USER_GROUPS_R___470 = 167,
    _SC_2_PBS___470 = 168,
    _SC_2_PBS_ACCOUNTING___470 = 169,
    _SC_2_PBS_LOCATE___470 = 170,
    _SC_2_PBS_MESSAGE___470 = 171,
    _SC_2_PBS_TRACK___470 = 172,
    _SC_SYMLOOP_MAX___470 = 173,
    _SC_STREAMS___470 = 174,
    _SC_2_PBS_CHECKPOINT___470 = 175,
    _SC_V6_ILP32_OFF32___470 = 176,
    _SC_V6_ILP32_OFFBIG___470 = 177,
    _SC_V6_LP64_OFF64___470 = 178,
    _SC_V6_LPBIG_OFFBIG___470 = 179,
    _SC_HOST_NAME_MAX___470 = 180,
    _SC_TRACE___470 = 181,
    _SC_TRACE_EVENT_FILTER___470 = 182,
    _SC_TRACE_INHERIT___470 = 183,
    _SC_TRACE_LOG___470 = 184,
    _SC_LEVEL1_ICACHE_SIZE___470 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___470 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___470 = 187,
    _SC_LEVEL1_DCACHE_SIZE___470 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___470 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___470 = 190,
    _SC_LEVEL2_CACHE_SIZE___470 = 191,
    _SC_LEVEL2_CACHE_ASSOC___470 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___470 = 193,
    _SC_LEVEL3_CACHE_SIZE___470 = 194,
    _SC_LEVEL3_CACHE_ASSOC___470 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___470 = 196,
    _SC_LEVEL4_CACHE_SIZE___470 = 197,
    _SC_LEVEL4_CACHE_ASSOC___470 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___470 = 199,
    _SC_IPV6___470 = 235,
    _SC_RAW_SOCKETS___470 = 236,
    _SC_V7_ILP32_OFF32___470 = 237,
    _SC_V7_ILP32_OFFBIG___470 = 238,
    _SC_V7_LP64_OFF64___470 = 239,
    _SC_V7_LPBIG_OFFBIG___470 = 240,
    _SC_SS_REPL_MAX___470 = 241,
    _SC_TRACE_EVENT_NAME_MAX___470 = 242,
    _SC_TRACE_NAME_MAX___470 = 243,
    _SC_TRACE_SYS_MAX___470 = 244,
    _SC_TRACE_USER_EVENT_MAX___470 = 245,
    _SC_XOPEN_STREAMS___470 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___470 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___470 = 248
} ;
enum __anonenum_875524036___470 {
    _CS_PATH___470 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___470 = 1,
    _CS_GNU_LIBC_VERSION___470 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___470 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___470 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___470 = 5,
    _CS_LFS_CFLAGS___470 = 1000,
    _CS_LFS_LDFLAGS___470 = 1001,
    _CS_LFS_LIBS___470 = 1002,
    _CS_LFS_LINTFLAGS___470 = 1003,
    _CS_LFS64_CFLAGS___470 = 1004,
    _CS_LFS64_LDFLAGS___470 = 1005,
    _CS_LFS64_LIBS___470 = 1006,
    _CS_LFS64_LINTFLAGS___470 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___470 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___470 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___470 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___470 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___470 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___470 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___470 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___470 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___470 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___470 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___470 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___470 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___470 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___470 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___470 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___470 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___470 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___470 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___470 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___470 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___470 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___470 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___470 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___470 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___470 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___470 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___470 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___470 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___470 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___470 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___470 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___470 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___470 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___470 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___470 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___470 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___470 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___470 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___470 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___470 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___470 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___470 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___470 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___470 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___470 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___470 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___470 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___470 = 1147,
    _CS_V6_ENV___470 = 1148,
    _CS_V7_ENV___470 = 1149
} ;
enum __anonenum_513775621___470 {
    DT_UNKNOWN___470 = 0,
    DT_FIFO___470 = 1,
    DT_CHR___470 = 2,
    DT_DIR___470 = 4,
    DT_BLK___470 = 6,
    DT_REG___470 = 8,
    DT_LNK___470 = 10,
    DT_SOCK___470 = 12,
    DT_WHT___470 = 14
} ;
enum __anonenum_77002343___470 {
    SI_ASYNCNL___470 = -60,
    SI_TKILL___470 = -6,
    SI_SIGIO___470 = -5,
    SI_ASYNCIO___470 = -4,
    SI_MESGQ___470 = -3,
    SI_TIMER___470 = -2,
    SI_QUEUE___470 = -1,
    SI_USER___470 = 0,
    SI_KERNEL___470 = 128
} ;
enum __anonenum_131038172___470 {
    ILL_ILLOPC___470 = 1,
    ILL_ILLOPN___470 = 2,
    ILL_ILLADR___470 = 3,
    ILL_ILLTRP___470 = 4,
    ILL_PRVOPC___470 = 5,
    ILL_PRVREG___470 = 6,
    ILL_COPROC___470 = 7,
    ILL_BADSTK___470 = 8
} ;
enum __anonenum_452038093___470 {
    FPE_INTDIV___470 = 1,
    FPE_INTOVF___470 = 2,
    FPE_FLTDIV___470 = 3,
    FPE_FLTOVF___470 = 4,
    FPE_FLTUND___470 = 5,
    FPE_FLTRES___470 = 6,
    FPE_FLTINV___470 = 7,
    FPE_FLTSUB___470 = 8
} ;
enum __anonenum_30976155___470 {
    SEGV_MAPERR___470 = 1,
    SEGV_ACCERR___470 = 2,
    SEGV_BNDERR___470 = 3,
    SEGV_PKUERR___470 = 4
} ;
enum __anonenum_1036286214___470 {
    BUS_ADRALN___470 = 1,
    BUS_ADRERR___470 = 2,
    BUS_OBJERR___470 = 3,
    BUS_MCEERR_AR___470 = 4,
    BUS_MCEERR_AO___470 = 5
} ;
enum __anonenum_493465559___470 {
    TRAP_BRKPT___470 = 1,
    TRAP_TRACE___470 = 2
} ;
enum __anonenum_23175539___470 {
    CLD_EXITED___470 = 1,
    CLD_KILLED___470 = 2,
    CLD_DUMPED___470 = 3,
    CLD_TRAPPED___470 = 4,
    CLD_STOPPED___470 = 5,
    CLD_CONTINUED___470 = 6
} ;
enum __anonenum_111643124___470 {
    POLL_IN___470 = 1,
    POLL_OUT___470 = 2,
    POLL_MSG___470 = 3,
    POLL_ERR___470 = 4,
    POLL_PRI___470 = 5,
    POLL_HUP___470 = 6
} ;
enum __anonenum_852341087___470 {
    SIGEV_SIGNAL___470 = 0,
    SIGEV_NONE___470 = 1,
    SIGEV_THREAD___470 = 2,
    SIGEV_THREAD_ID___470 = 4
} ;
enum __anonenum_451154152___470 {
    REG_R8___470 = 0,
    REG_R9___470 = 1,
    REG_R10___470 = 2,
    REG_R11___470 = 3,
    REG_R12___470 = 4,
    REG_R13___470 = 5,
    REG_R14___470 = 6,
    REG_R15___470 = 7,
    REG_RDI___470 = 8,
    REG_RSI___470 = 9,
    REG_RBP___470 = 10,
    REG_RBX___470 = 11,
    REG_RDX___470 = 12,
    REG_RAX___470 = 13,
    REG_RCX___470 = 14,
    REG_RSP___470 = 15,
    REG_RIP___470 = 16,
    REG_EFL___470 = 17,
    REG_CSGSFS___470 = 18,
    REG_ERR___470 = 19,
    REG_TRAPNO___470 = 20,
    REG_OLDMASK___470 = 21,
    REG_CR2___470 = 22
} ;
enum __anonenum_57186863___470 {
    SS_ONSTACK___470 = 1,
    SS_DISABLE___470 = 2
} ;
enum __anonenum_83571709___470 {
    MSG_OOB___470 = 1,
    MSG_PEEK___470 = 2,
    MSG_DONTROUTE___470 = 4,
    MSG_TRYHARD___470 = 4,
    MSG_CTRUNC___470 = 8,
    MSG_PROXY___470 = 16,
    MSG_TRUNC___470 = 32,
    MSG_DONTWAIT___470 = 64,
    MSG_EOR___470 = 128,
    MSG_WAITALL___470 = 256,
    MSG_FIN___470 = 512,
    MSG_SYN___470 = 1024,
    MSG_CONFIRM___470 = 2048,
    MSG_RST___470 = 4096,
    MSG_ERRQUEUE___470 = 8192,
    MSG_NOSIGNAL___470 = 16384,
    MSG_MORE___470 = 32768,
    MSG_WAITFORONE___470 = 65536,
    MSG_BATCH___470 = 262144,
    MSG_ZEROCOPY___470 = 67108864,
    MSG_FASTOPEN___470 = 536870912,
    MSG_CMSG_CLOEXEC___470 = 1073741824
} ;
enum __anonenum_617082774___470 {
    SCM_RIGHTS___470 = 1,
    SCM_CREDENTIALS___470 = 2
} ;
enum __anonenum_606441560___470 {
    SHUT_RD___470 = 0,
    SHUT_WR___470 = 1,
    SHUT_RDWR___470 = 2
} ;
enum __anonenum_681669233___470 {
    IPPROTO_IP___470 = 0,
    IPPROTO_ICMP___470 = 1,
    IPPROTO_IGMP___470 = 2,
    IPPROTO_IPIP___470 = 4,
    IPPROTO_TCP___470 = 6,
    IPPROTO_EGP___470 = 8,
    IPPROTO_PUP___470 = 12,
    IPPROTO_UDP___470 = 17,
    IPPROTO_IDP___470 = 22,
    IPPROTO_TP___470 = 29,
    IPPROTO_DCCP___470 = 33,
    IPPROTO_IPV6___470 = 41,
    IPPROTO_RSVP___470 = 46,
    IPPROTO_GRE___470 = 47,
    IPPROTO_ESP___470 = 50,
    IPPROTO_AH___470 = 51,
    IPPROTO_MTP___470 = 92,
    IPPROTO_BEETPH___470 = 94,
    IPPROTO_ENCAP___470 = 98,
    IPPROTO_PIM___470 = 103,
    IPPROTO_COMP___470 = 108,
    IPPROTO_SCTP___470 = 132,
    IPPROTO_UDPLITE___470 = 136,
    IPPROTO_MPLS___470 = 137,
    IPPROTO_RAW___470 = 255,
    IPPROTO_MAX___470 = 256
} ;
enum __anonenum_218739988___470 {
    IPPROTO_HOPOPTS___470 = 0,
    IPPROTO_ROUTING___470 = 43,
    IPPROTO_FRAGMENT___470 = 44,
    IPPROTO_ICMPV6___470 = 58,
    IPPROTO_NONE___470 = 59,
    IPPROTO_DSTOPTS___470 = 60,
    IPPROTO_MH___470 = 135
} ;
enum __anonenum_662268580___470 {
    IPPORT_ECHO___470 = 7,
    IPPORT_DISCARD___470 = 9,
    IPPORT_SYSTAT___470 = 11,
    IPPORT_DAYTIME___470 = 13,
    IPPORT_NETSTAT___470 = 15,
    IPPORT_FTP___470 = 21,
    IPPORT_TELNET___470 = 23,
    IPPORT_SMTP___470 = 25,
    IPPORT_TIMESERVER___470 = 37,
    IPPORT_NAMESERVER___470 = 42,
    IPPORT_WHOIS___470 = 43,
    IPPORT_MTP___470 = 57,
    IPPORT_TFTP___470 = 69,
    IPPORT_RJE___470 = 77,
    IPPORT_FINGER___470 = 79,
    IPPORT_TTYLINK___470 = 87,
    IPPORT_SUPDUP___470 = 95,
    IPPORT_EXECSERVER___470 = 512,
    IPPORT_LOGINSERVER___470 = 513,
    IPPORT_CMDSERVER___470 = 514,
    IPPORT_EFSSERVER___470 = 520,
    IPPORT_BIFFUDP___470 = 512,
    IPPORT_WHOSERVER___470 = 513,
    IPPORT_ROUTESERVER___470 = 520,
    IPPORT_RESERVED___470 = 1024,
    IPPORT_USERRESERVED___470 = 5000
} ;
enum __anonenum_788308992___470 {
    TCP_ESTABLISHED___470 = 1,
    TCP_SYN_SENT___470 = 2,
    TCP_SYN_RECV___470 = 3,
    TCP_FIN_WAIT1___470 = 4,
    TCP_FIN_WAIT2___470 = 5,
    TCP_TIME_WAIT___470 = 6,
    TCP_CLOSE___470 = 7,
    TCP_CLOSE_WAIT___470 = 8,
    TCP_LAST_ACK___470 = 9,
    TCP_LISTEN___470 = 10,
    TCP_CLOSING___470 = 11
} ;
enum __anonenum_221125648___470 {
    TCP_NO_QUEUE___470 = 0,
    TCP_RECV_QUEUE___470 = 1,
    TCP_SEND_QUEUE___470 = 2,
    TCP_QUEUES_NR___470 = 3
} ;
enum __anonenum_34415463___470 {
    PTHREAD_CREATE_JOINABLE___470 = 0,
    PTHREAD_CREATE_DETACHED___470 = 1
} ;
enum __anonenum_303612439___470 {
    PTHREAD_MUTEX_TIMED_NP___470 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___470 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___470 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___470 = 3,
    PTHREAD_MUTEX_NORMAL___470 = 0,
    PTHREAD_MUTEX_RECURSIVE___470 = 1,
    PTHREAD_MUTEX_ERRORCHECK___470 = 2,
    PTHREAD_MUTEX_DEFAULT___470 = 0,
    PTHREAD_MUTEX_FAST_NP___470 = 0
} ;
enum __anonenum_931900394___470 {
    PTHREAD_MUTEX_STALLED___470 = 0,
    PTHREAD_MUTEX_STALLED_NP___470 = 0,
    PTHREAD_MUTEX_ROBUST___470 = 1,
    PTHREAD_MUTEX_ROBUST_NP___470 = 1
} ;
enum __anonenum_205214487___470 {
    PTHREAD_PRIO_NONE___470 = 0,
    PTHREAD_PRIO_INHERIT___470 = 1,
    PTHREAD_PRIO_PROTECT___470 = 2
} ;
enum __anonenum_25043950___470 {
    PTHREAD_RWLOCK_PREFER_READER_NP___470 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___470 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___470 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___470 = 0
} ;
enum __anonenum_436439511___470 {
    PTHREAD_INHERIT_SCHED___470 = 0,
    PTHREAD_EXPLICIT_SCHED___470 = 1
} ;
enum __anonenum_998661166___470 {
    PTHREAD_SCOPE_SYSTEM___470 = 0,
    PTHREAD_SCOPE_PROCESS___470 = 1
} ;
enum __anonenum_146137331___470 {
    PTHREAD_PROCESS_PRIVATE___470 = 0,
    PTHREAD_PROCESS_SHARED___470 = 1
} ;
enum __anonenum_53396917___470 {
    PTHREAD_CANCEL_ENABLE___470 = 0,
    PTHREAD_CANCEL_DISABLE___470 = 1
} ;
enum __anonenum_904563783___470 {
    PTHREAD_CANCEL_DEFERRED___470 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___470 = 1
} ;
enum __anonenum_672052974___470 {
    SSL_CT_VALIDATION_PERMISSIVE___470 = 0,
    SSL_CT_VALIDATION_STRICT___470 = 1
} ;
enum __anonenum_437032235___471 {
    _PC_LINK_MAX___471 = 0,
    _PC_MAX_CANON___471 = 1,
    _PC_MAX_INPUT___471 = 2,
    _PC_NAME_MAX___471 = 3,
    _PC_PATH_MAX___471 = 4,
    _PC_PIPE_BUF___471 = 5,
    _PC_CHOWN_RESTRICTED___471 = 6,
    _PC_NO_TRUNC___471 = 7,
    _PC_VDISABLE___471 = 8,
    _PC_SYNC_IO___471 = 9,
    _PC_ASYNC_IO___471 = 10,
    _PC_PRIO_IO___471 = 11,
    _PC_SOCK_MAXBUF___471 = 12,
    _PC_FILESIZEBITS___471 = 13,
    _PC_REC_INCR_XFER_SIZE___471 = 14,
    _PC_REC_MAX_XFER_SIZE___471 = 15,
    _PC_REC_MIN_XFER_SIZE___471 = 16,
    _PC_REC_XFER_ALIGN___471 = 17,
    _PC_ALLOC_SIZE_MIN___471 = 18,
    _PC_SYMLINK_MAX___471 = 19,
    _PC_2_SYMLINKS___471 = 20
} ;
enum __anonenum_315186338___471 {
    _SC_ARG_MAX___471 = 0,
    _SC_CHILD_MAX___471 = 1,
    _SC_CLK_TCK___471 = 2,
    _SC_NGROUPS_MAX___471 = 3,
    _SC_OPEN_MAX___471 = 4,
    _SC_STREAM_MAX___471 = 5,
    _SC_TZNAME_MAX___471 = 6,
    _SC_JOB_CONTROL___471 = 7,
    _SC_SAVED_IDS___471 = 8,
    _SC_REALTIME_SIGNALS___471 = 9,
    _SC_PRIORITY_SCHEDULING___471 = 10,
    _SC_TIMERS___471 = 11,
    _SC_ASYNCHRONOUS_IO___471 = 12,
    _SC_PRIORITIZED_IO___471 = 13,
    _SC_SYNCHRONIZED_IO___471 = 14,
    _SC_FSYNC___471 = 15,
    _SC_MAPPED_FILES___471 = 16,
    _SC_MEMLOCK___471 = 17,
    _SC_MEMLOCK_RANGE___471 = 18,
    _SC_MEMORY_PROTECTION___471 = 19,
    _SC_MESSAGE_PASSING___471 = 20,
    _SC_SEMAPHORES___471 = 21,
    _SC_SHARED_MEMORY_OBJECTS___471 = 22,
    _SC_AIO_LISTIO_MAX___471 = 23,
    _SC_AIO_MAX___471 = 24,
    _SC_AIO_PRIO_DELTA_MAX___471 = 25,
    _SC_DELAYTIMER_MAX___471 = 26,
    _SC_MQ_OPEN_MAX___471 = 27,
    _SC_MQ_PRIO_MAX___471 = 28,
    _SC_VERSION___471 = 29,
    _SC_PAGESIZE___471 = 30,
    _SC_RTSIG_MAX___471 = 31,
    _SC_SEM_NSEMS_MAX___471 = 32,
    _SC_SEM_VALUE_MAX___471 = 33,
    _SC_SIGQUEUE_MAX___471 = 34,
    _SC_TIMER_MAX___471 = 35,
    _SC_BC_BASE_MAX___471 = 36,
    _SC_BC_DIM_MAX___471 = 37,
    _SC_BC_SCALE_MAX___471 = 38,
    _SC_BC_STRING_MAX___471 = 39,
    _SC_COLL_WEIGHTS_MAX___471 = 40,
    _SC_EQUIV_CLASS_MAX___471 = 41,
    _SC_EXPR_NEST_MAX___471 = 42,
    _SC_LINE_MAX___471 = 43,
    _SC_RE_DUP_MAX___471 = 44,
    _SC_CHARCLASS_NAME_MAX___471 = 45,
    _SC_2_VERSION___471 = 46,
    _SC_2_C_BIND___471 = 47,
    _SC_2_C_DEV___471 = 48,
    _SC_2_FORT_DEV___471 = 49,
    _SC_2_FORT_RUN___471 = 50,
    _SC_2_SW_DEV___471 = 51,
    _SC_2_LOCALEDEF___471 = 52,
    _SC_PII___471 = 53,
    _SC_PII_XTI___471 = 54,
    _SC_PII_SOCKET___471 = 55,
    _SC_PII_INTERNET___471 = 56,
    _SC_PII_OSI___471 = 57,
    _SC_POLL___471 = 58,
    _SC_SELECT___471 = 59,
    _SC_UIO_MAXIOV___471 = 60,
    _SC_IOV_MAX___471 = 60,
    _SC_PII_INTERNET_STREAM___471 = 61,
    _SC_PII_INTERNET_DGRAM___471 = 62,
    _SC_PII_OSI_COTS___471 = 63,
    _SC_PII_OSI_CLTS___471 = 64,
    _SC_PII_OSI_M___471 = 65,
    _SC_T_IOV_MAX___471 = 66,
    _SC_THREADS___471 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___471 = 68,
    _SC_GETGR_R_SIZE_MAX___471 = 69,
    _SC_GETPW_R_SIZE_MAX___471 = 70,
    _SC_LOGIN_NAME_MAX___471 = 71,
    _SC_TTY_NAME_MAX___471 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___471 = 73,
    _SC_THREAD_KEYS_MAX___471 = 74,
    _SC_THREAD_STACK_MIN___471 = 75,
    _SC_THREAD_THREADS_MAX___471 = 76,
    _SC_THREAD_ATTR_STACKADDR___471 = 77,
    _SC_THREAD_ATTR_STACKSIZE___471 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___471 = 79,
    _SC_THREAD_PRIO_INHERIT___471 = 80,
    _SC_THREAD_PRIO_PROTECT___471 = 81,
    _SC_THREAD_PROCESS_SHARED___471 = 82,
    _SC_NPROCESSORS_CONF___471 = 83,
    _SC_NPROCESSORS_ONLN___471 = 84,
    _SC_PHYS_PAGES___471 = 85,
    _SC_AVPHYS_PAGES___471 = 86,
    _SC_ATEXIT_MAX___471 = 87,
    _SC_PASS_MAX___471 = 88,
    _SC_XOPEN_VERSION___471 = 89,
    _SC_XOPEN_XCU_VERSION___471 = 90,
    _SC_XOPEN_UNIX___471 = 91,
    _SC_XOPEN_CRYPT___471 = 92,
    _SC_XOPEN_ENH_I18N___471 = 93,
    _SC_XOPEN_SHM___471 = 94,
    _SC_2_CHAR_TERM___471 = 95,
    _SC_2_C_VERSION___471 = 96,
    _SC_2_UPE___471 = 97,
    _SC_XOPEN_XPG2___471 = 98,
    _SC_XOPEN_XPG3___471 = 99,
    _SC_XOPEN_XPG4___471 = 100,
    _SC_CHAR_BIT___471 = 101,
    _SC_CHAR_MAX___471 = 102,
    _SC_CHAR_MIN___471 = 103,
    _SC_INT_MAX___471 = 104,
    _SC_INT_MIN___471 = 105,
    _SC_LONG_BIT___471 = 106,
    _SC_WORD_BIT___471 = 107,
    _SC_MB_LEN_MAX___471 = 108,
    _SC_NZERO___471 = 109,
    _SC_SSIZE_MAX___471 = 110,
    _SC_SCHAR_MAX___471 = 111,
    _SC_SCHAR_MIN___471 = 112,
    _SC_SHRT_MAX___471 = 113,
    _SC_SHRT_MIN___471 = 114,
    _SC_UCHAR_MAX___471 = 115,
    _SC_UINT_MAX___471 = 116,
    _SC_ULONG_MAX___471 = 117,
    _SC_USHRT_MAX___471 = 118,
    _SC_NL_ARGMAX___471 = 119,
    _SC_NL_LANGMAX___471 = 120,
    _SC_NL_MSGMAX___471 = 121,
    _SC_NL_NMAX___471 = 122,
    _SC_NL_SETMAX___471 = 123,
    _SC_NL_TEXTMAX___471 = 124,
    _SC_XBS5_ILP32_OFF32___471 = 125,
    _SC_XBS5_ILP32_OFFBIG___471 = 126,
    _SC_XBS5_LP64_OFF64___471 = 127,
    _SC_XBS5_LPBIG_OFFBIG___471 = 128,
    _SC_XOPEN_LEGACY___471 = 129,
    _SC_XOPEN_REALTIME___471 = 130,
    _SC_XOPEN_REALTIME_THREADS___471 = 131,
    _SC_ADVISORY_INFO___471 = 132,
    _SC_BARRIERS___471 = 133,
    _SC_BASE___471 = 134,
    _SC_C_LANG_SUPPORT___471 = 135,
    _SC_C_LANG_SUPPORT_R___471 = 136,
    _SC_CLOCK_SELECTION___471 = 137,
    _SC_CPUTIME___471 = 138,
    _SC_THREAD_CPUTIME___471 = 139,
    _SC_DEVICE_IO___471 = 140,
    _SC_DEVICE_SPECIFIC___471 = 141,
    _SC_DEVICE_SPECIFIC_R___471 = 142,
    _SC_FD_MGMT___471 = 143,
    _SC_FIFO___471 = 144,
    _SC_PIPE___471 = 145,
    _SC_FILE_ATTRIBUTES___471 = 146,
    _SC_FILE_LOCKING___471 = 147,
    _SC_FILE_SYSTEM___471 = 148,
    _SC_MONOTONIC_CLOCK___471 = 149,
    _SC_MULTI_PROCESS___471 = 150,
    _SC_SINGLE_PROCESS___471 = 151,
    _SC_NETWORKING___471 = 152,
    _SC_READER_WRITER_LOCKS___471 = 153,
    _SC_SPIN_LOCKS___471 = 154,
    _SC_REGEXP___471 = 155,
    _SC_REGEX_VERSION___471 = 156,
    _SC_SHELL___471 = 157,
    _SC_SIGNALS___471 = 158,
    _SC_SPAWN___471 = 159,
    _SC_SPORADIC_SERVER___471 = 160,
    _SC_THREAD_SPORADIC_SERVER___471 = 161,
    _SC_SYSTEM_DATABASE___471 = 162,
    _SC_SYSTEM_DATABASE_R___471 = 163,
    _SC_TIMEOUTS___471 = 164,
    _SC_TYPED_MEMORY_OBJECTS___471 = 165,
    _SC_USER_GROUPS___471 = 166,
    _SC_USER_GROUPS_R___471 = 167,
    _SC_2_PBS___471 = 168,
    _SC_2_PBS_ACCOUNTING___471 = 169,
    _SC_2_PBS_LOCATE___471 = 170,
    _SC_2_PBS_MESSAGE___471 = 171,
    _SC_2_PBS_TRACK___471 = 172,
    _SC_SYMLOOP_MAX___471 = 173,
    _SC_STREAMS___471 = 174,
    _SC_2_PBS_CHECKPOINT___471 = 175,
    _SC_V6_ILP32_OFF32___471 = 176,
    _SC_V6_ILP32_OFFBIG___471 = 177,
    _SC_V6_LP64_OFF64___471 = 178,
    _SC_V6_LPBIG_OFFBIG___471 = 179,
    _SC_HOST_NAME_MAX___471 = 180,
    _SC_TRACE___471 = 181,
    _SC_TRACE_EVENT_FILTER___471 = 182,
    _SC_TRACE_INHERIT___471 = 183,
    _SC_TRACE_LOG___471 = 184,
    _SC_LEVEL1_ICACHE_SIZE___471 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___471 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___471 = 187,
    _SC_LEVEL1_DCACHE_SIZE___471 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___471 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___471 = 190,
    _SC_LEVEL2_CACHE_SIZE___471 = 191,
    _SC_LEVEL2_CACHE_ASSOC___471 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___471 = 193,
    _SC_LEVEL3_CACHE_SIZE___471 = 194,
    _SC_LEVEL3_CACHE_ASSOC___471 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___471 = 196,
    _SC_LEVEL4_CACHE_SIZE___471 = 197,
    _SC_LEVEL4_CACHE_ASSOC___471 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___471 = 199,
    _SC_IPV6___471 = 235,
    _SC_RAW_SOCKETS___471 = 236,
    _SC_V7_ILP32_OFF32___471 = 237,
    _SC_V7_ILP32_OFFBIG___471 = 238,
    _SC_V7_LP64_OFF64___471 = 239,
    _SC_V7_LPBIG_OFFBIG___471 = 240,
    _SC_SS_REPL_MAX___471 = 241,
    _SC_TRACE_EVENT_NAME_MAX___471 = 242,
    _SC_TRACE_NAME_MAX___471 = 243,
    _SC_TRACE_SYS_MAX___471 = 244,
    _SC_TRACE_USER_EVENT_MAX___471 = 245,
    _SC_XOPEN_STREAMS___471 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___471 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___471 = 248
} ;
enum __anonenum_875524036___471 {
    _CS_PATH___471 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___471 = 1,
    _CS_GNU_LIBC_VERSION___471 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___471 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___471 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___471 = 5,
    _CS_LFS_CFLAGS___471 = 1000,
    _CS_LFS_LDFLAGS___471 = 1001,
    _CS_LFS_LIBS___471 = 1002,
    _CS_LFS_LINTFLAGS___471 = 1003,
    _CS_LFS64_CFLAGS___471 = 1004,
    _CS_LFS64_LDFLAGS___471 = 1005,
    _CS_LFS64_LIBS___471 = 1006,
    _CS_LFS64_LINTFLAGS___471 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___471 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___471 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___471 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___471 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___471 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___471 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___471 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___471 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___471 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___471 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___471 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___471 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___471 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___471 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___471 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___471 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___471 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___471 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___471 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___471 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___471 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___471 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___471 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___471 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___471 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___471 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___471 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___471 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___471 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___471 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___471 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___471 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___471 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___471 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___471 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___471 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___471 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___471 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___471 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___471 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___471 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___471 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___471 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___471 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___471 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___471 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___471 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___471 = 1147,
    _CS_V6_ENV___471 = 1148,
    _CS_V7_ENV___471 = 1149
} ;
enum __anonenum_513775621___471 {
    DT_UNKNOWN___471 = 0,
    DT_FIFO___471 = 1,
    DT_CHR___471 = 2,
    DT_DIR___471 = 4,
    DT_BLK___471 = 6,
    DT_REG___471 = 8,
    DT_LNK___471 = 10,
    DT_SOCK___471 = 12,
    DT_WHT___471 = 14
} ;
enum __anonenum_77002343___471 {
    SI_ASYNCNL___471 = -60,
    SI_TKILL___471 = -6,
    SI_SIGIO___471 = -5,
    SI_ASYNCIO___471 = -4,
    SI_MESGQ___471 = -3,
    SI_TIMER___471 = -2,
    SI_QUEUE___471 = -1,
    SI_USER___471 = 0,
    SI_KERNEL___471 = 128
} ;
enum __anonenum_131038172___471 {
    ILL_ILLOPC___471 = 1,
    ILL_ILLOPN___471 = 2,
    ILL_ILLADR___471 = 3,
    ILL_ILLTRP___471 = 4,
    ILL_PRVOPC___471 = 5,
    ILL_PRVREG___471 = 6,
    ILL_COPROC___471 = 7,
    ILL_BADSTK___471 = 8
} ;
enum __anonenum_452038093___471 {
    FPE_INTDIV___471 = 1,
    FPE_INTOVF___471 = 2,
    FPE_FLTDIV___471 = 3,
    FPE_FLTOVF___471 = 4,
    FPE_FLTUND___471 = 5,
    FPE_FLTRES___471 = 6,
    FPE_FLTINV___471 = 7,
    FPE_FLTSUB___471 = 8
} ;
enum __anonenum_30976155___471 {
    SEGV_MAPERR___471 = 1,
    SEGV_ACCERR___471 = 2,
    SEGV_BNDERR___471 = 3,
    SEGV_PKUERR___471 = 4
} ;
enum __anonenum_1036286214___471 {
    BUS_ADRALN___471 = 1,
    BUS_ADRERR___471 = 2,
    BUS_OBJERR___471 = 3,
    BUS_MCEERR_AR___471 = 4,
    BUS_MCEERR_AO___471 = 5
} ;
enum __anonenum_493465559___471 {
    TRAP_BRKPT___471 = 1,
    TRAP_TRACE___471 = 2
} ;
enum __anonenum_23175539___471 {
    CLD_EXITED___471 = 1,
    CLD_KILLED___471 = 2,
    CLD_DUMPED___471 = 3,
    CLD_TRAPPED___471 = 4,
    CLD_STOPPED___471 = 5,
    CLD_CONTINUED___471 = 6
} ;
enum __anonenum_111643124___471 {
    POLL_IN___471 = 1,
    POLL_OUT___471 = 2,
    POLL_MSG___471 = 3,
    POLL_ERR___471 = 4,
    POLL_PRI___471 = 5,
    POLL_HUP___471 = 6
} ;
enum __anonenum_852341087___471 {
    SIGEV_SIGNAL___471 = 0,
    SIGEV_NONE___471 = 1,
    SIGEV_THREAD___471 = 2,
    SIGEV_THREAD_ID___471 = 4
} ;
enum __anonenum_451154152___471 {
    REG_R8___471 = 0,
    REG_R9___471 = 1,
    REG_R10___471 = 2,
    REG_R11___471 = 3,
    REG_R12___471 = 4,
    REG_R13___471 = 5,
    REG_R14___471 = 6,
    REG_R15___471 = 7,
    REG_RDI___471 = 8,
    REG_RSI___471 = 9,
    REG_RBP___471 = 10,
    REG_RBX___471 = 11,
    REG_RDX___471 = 12,
    REG_RAX___471 = 13,
    REG_RCX___471 = 14,
    REG_RSP___471 = 15,
    REG_RIP___471 = 16,
    REG_EFL___471 = 17,
    REG_CSGSFS___471 = 18,
    REG_ERR___471 = 19,
    REG_TRAPNO___471 = 20,
    REG_OLDMASK___471 = 21,
    REG_CR2___471 = 22
} ;
enum __anonenum_57186863___471 {
    SS_ONSTACK___471 = 1,
    SS_DISABLE___471 = 2
} ;
enum __anonenum_83571709___471 {
    MSG_OOB___471 = 1,
    MSG_PEEK___471 = 2,
    MSG_DONTROUTE___471 = 4,
    MSG_TRYHARD___471 = 4,
    MSG_CTRUNC___471 = 8,
    MSG_PROXY___471 = 16,
    MSG_TRUNC___471 = 32,
    MSG_DONTWAIT___471 = 64,
    MSG_EOR___471 = 128,
    MSG_WAITALL___471 = 256,
    MSG_FIN___471 = 512,
    MSG_SYN___471 = 1024,
    MSG_CONFIRM___471 = 2048,
    MSG_RST___471 = 4096,
    MSG_ERRQUEUE___471 = 8192,
    MSG_NOSIGNAL___471 = 16384,
    MSG_MORE___471 = 32768,
    MSG_WAITFORONE___471 = 65536,
    MSG_BATCH___471 = 262144,
    MSG_ZEROCOPY___471 = 67108864,
    MSG_FASTOPEN___471 = 536870912,
    MSG_CMSG_CLOEXEC___471 = 1073741824
} ;
enum __anonenum_617082774___471 {
    SCM_RIGHTS___471 = 1,
    SCM_CREDENTIALS___471 = 2
} ;
enum __anonenum_606441560___471 {
    SHUT_RD___471 = 0,
    SHUT_WR___471 = 1,
    SHUT_RDWR___471 = 2
} ;
enum __anonenum_681669233___471 {
    IPPROTO_IP___471 = 0,
    IPPROTO_ICMP___471 = 1,
    IPPROTO_IGMP___471 = 2,
    IPPROTO_IPIP___471 = 4,
    IPPROTO_TCP___471 = 6,
    IPPROTO_EGP___471 = 8,
    IPPROTO_PUP___471 = 12,
    IPPROTO_UDP___471 = 17,
    IPPROTO_IDP___471 = 22,
    IPPROTO_TP___471 = 29,
    IPPROTO_DCCP___471 = 33,
    IPPROTO_IPV6___471 = 41,
    IPPROTO_RSVP___471 = 46,
    IPPROTO_GRE___471 = 47,
    IPPROTO_ESP___471 = 50,
    IPPROTO_AH___471 = 51,
    IPPROTO_MTP___471 = 92,
    IPPROTO_BEETPH___471 = 94,
    IPPROTO_ENCAP___471 = 98,
    IPPROTO_PIM___471 = 103,
    IPPROTO_COMP___471 = 108,
    IPPROTO_SCTP___471 = 132,
    IPPROTO_UDPLITE___471 = 136,
    IPPROTO_MPLS___471 = 137,
    IPPROTO_RAW___471 = 255,
    IPPROTO_MAX___471 = 256
} ;
enum __anonenum_218739988___471 {
    IPPROTO_HOPOPTS___471 = 0,
    IPPROTO_ROUTING___471 = 43,
    IPPROTO_FRAGMENT___471 = 44,
    IPPROTO_ICMPV6___471 = 58,
    IPPROTO_NONE___471 = 59,
    IPPROTO_DSTOPTS___471 = 60,
    IPPROTO_MH___471 = 135
} ;
enum __anonenum_662268580___471 {
    IPPORT_ECHO___471 = 7,
    IPPORT_DISCARD___471 = 9,
    IPPORT_SYSTAT___471 = 11,
    IPPORT_DAYTIME___471 = 13,
    IPPORT_NETSTAT___471 = 15,
    IPPORT_FTP___471 = 21,
    IPPORT_TELNET___471 = 23,
    IPPORT_SMTP___471 = 25,
    IPPORT_TIMESERVER___471 = 37,
    IPPORT_NAMESERVER___471 = 42,
    IPPORT_WHOIS___471 = 43,
    IPPORT_MTP___471 = 57,
    IPPORT_TFTP___471 = 69,
    IPPORT_RJE___471 = 77,
    IPPORT_FINGER___471 = 79,
    IPPORT_TTYLINK___471 = 87,
    IPPORT_SUPDUP___471 = 95,
    IPPORT_EXECSERVER___471 = 512,
    IPPORT_LOGINSERVER___471 = 513,
    IPPORT_CMDSERVER___471 = 514,
    IPPORT_EFSSERVER___471 = 520,
    IPPORT_BIFFUDP___471 = 512,
    IPPORT_WHOSERVER___471 = 513,
    IPPORT_ROUTESERVER___471 = 520,
    IPPORT_RESERVED___471 = 1024,
    IPPORT_USERRESERVED___471 = 5000
} ;
enum __anonenum_788308992___471 {
    TCP_ESTABLISHED___471 = 1,
    TCP_SYN_SENT___471 = 2,
    TCP_SYN_RECV___471 = 3,
    TCP_FIN_WAIT1___471 = 4,
    TCP_FIN_WAIT2___471 = 5,
    TCP_TIME_WAIT___471 = 6,
    TCP_CLOSE___471 = 7,
    TCP_CLOSE_WAIT___471 = 8,
    TCP_LAST_ACK___471 = 9,
    TCP_LISTEN___471 = 10,
    TCP_CLOSING___471 = 11
} ;
enum __anonenum_221125648___471 {
    TCP_NO_QUEUE___471 = 0,
    TCP_RECV_QUEUE___471 = 1,
    TCP_SEND_QUEUE___471 = 2,
    TCP_QUEUES_NR___471 = 3
} ;
enum __anonenum_34415463___471 {
    PTHREAD_CREATE_JOINABLE___471 = 0,
    PTHREAD_CREATE_DETACHED___471 = 1
} ;
enum __anonenum_303612439___471 {
    PTHREAD_MUTEX_TIMED_NP___471 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___471 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___471 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___471 = 3,
    PTHREAD_MUTEX_NORMAL___471 = 0,
    PTHREAD_MUTEX_RECURSIVE___471 = 1,
    PTHREAD_MUTEX_ERRORCHECK___471 = 2,
    PTHREAD_MUTEX_DEFAULT___471 = 0,
    PTHREAD_MUTEX_FAST_NP___471 = 0
} ;
enum __anonenum_931900394___471 {
    PTHREAD_MUTEX_STALLED___471 = 0,
    PTHREAD_MUTEX_STALLED_NP___471 = 0,
    PTHREAD_MUTEX_ROBUST___471 = 1,
    PTHREAD_MUTEX_ROBUST_NP___471 = 1
} ;
enum __anonenum_205214487___471 {
    PTHREAD_PRIO_NONE___471 = 0,
    PTHREAD_PRIO_INHERIT___471 = 1,
    PTHREAD_PRIO_PROTECT___471 = 2
} ;
enum __anonenum_25043950___471 {
    PTHREAD_RWLOCK_PREFER_READER_NP___471 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___471 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___471 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___471 = 0
} ;
enum __anonenum_436439511___471 {
    PTHREAD_INHERIT_SCHED___471 = 0,
    PTHREAD_EXPLICIT_SCHED___471 = 1
} ;
enum __anonenum_998661166___471 {
    PTHREAD_SCOPE_SYSTEM___471 = 0,
    PTHREAD_SCOPE_PROCESS___471 = 1
} ;
enum __anonenum_146137331___471 {
    PTHREAD_PROCESS_PRIVATE___471 = 0,
    PTHREAD_PROCESS_SHARED___471 = 1
} ;
enum __anonenum_53396917___471 {
    PTHREAD_CANCEL_ENABLE___471 = 0,
    PTHREAD_CANCEL_DISABLE___471 = 1
} ;
enum __anonenum_904563783___471 {
    PTHREAD_CANCEL_DEFERRED___471 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___471 = 1
} ;
enum __anonenum_672052974___471 {
    SSL_CT_VALIDATION_PERMISSIVE___471 = 0,
    SSL_CT_VALIDATION_STRICT___471 = 1
} ;
enum __anonenum_437032235___472 {
    _PC_LINK_MAX___472 = 0,
    _PC_MAX_CANON___472 = 1,
    _PC_MAX_INPUT___472 = 2,
    _PC_NAME_MAX___472 = 3,
    _PC_PATH_MAX___472 = 4,
    _PC_PIPE_BUF___472 = 5,
    _PC_CHOWN_RESTRICTED___472 = 6,
    _PC_NO_TRUNC___472 = 7,
    _PC_VDISABLE___472 = 8,
    _PC_SYNC_IO___472 = 9,
    _PC_ASYNC_IO___472 = 10,
    _PC_PRIO_IO___472 = 11,
    _PC_SOCK_MAXBUF___472 = 12,
    _PC_FILESIZEBITS___472 = 13,
    _PC_REC_INCR_XFER_SIZE___472 = 14,
    _PC_REC_MAX_XFER_SIZE___472 = 15,
    _PC_REC_MIN_XFER_SIZE___472 = 16,
    _PC_REC_XFER_ALIGN___472 = 17,
    _PC_ALLOC_SIZE_MIN___472 = 18,
    _PC_SYMLINK_MAX___472 = 19,
    _PC_2_SYMLINKS___472 = 20
} ;
enum __anonenum_315186338___472 {
    _SC_ARG_MAX___472 = 0,
    _SC_CHILD_MAX___472 = 1,
    _SC_CLK_TCK___472 = 2,
    _SC_NGROUPS_MAX___472 = 3,
    _SC_OPEN_MAX___472 = 4,
    _SC_STREAM_MAX___472 = 5,
    _SC_TZNAME_MAX___472 = 6,
    _SC_JOB_CONTROL___472 = 7,
    _SC_SAVED_IDS___472 = 8,
    _SC_REALTIME_SIGNALS___472 = 9,
    _SC_PRIORITY_SCHEDULING___472 = 10,
    _SC_TIMERS___472 = 11,
    _SC_ASYNCHRONOUS_IO___472 = 12,
    _SC_PRIORITIZED_IO___472 = 13,
    _SC_SYNCHRONIZED_IO___472 = 14,
    _SC_FSYNC___472 = 15,
    _SC_MAPPED_FILES___472 = 16,
    _SC_MEMLOCK___472 = 17,
    _SC_MEMLOCK_RANGE___472 = 18,
    _SC_MEMORY_PROTECTION___472 = 19,
    _SC_MESSAGE_PASSING___472 = 20,
    _SC_SEMAPHORES___472 = 21,
    _SC_SHARED_MEMORY_OBJECTS___472 = 22,
    _SC_AIO_LISTIO_MAX___472 = 23,
    _SC_AIO_MAX___472 = 24,
    _SC_AIO_PRIO_DELTA_MAX___472 = 25,
    _SC_DELAYTIMER_MAX___472 = 26,
    _SC_MQ_OPEN_MAX___472 = 27,
    _SC_MQ_PRIO_MAX___472 = 28,
    _SC_VERSION___472 = 29,
    _SC_PAGESIZE___472 = 30,
    _SC_RTSIG_MAX___472 = 31,
    _SC_SEM_NSEMS_MAX___472 = 32,
    _SC_SEM_VALUE_MAX___472 = 33,
    _SC_SIGQUEUE_MAX___472 = 34,
    _SC_TIMER_MAX___472 = 35,
    _SC_BC_BASE_MAX___472 = 36,
    _SC_BC_DIM_MAX___472 = 37,
    _SC_BC_SCALE_MAX___472 = 38,
    _SC_BC_STRING_MAX___472 = 39,
    _SC_COLL_WEIGHTS_MAX___472 = 40,
    _SC_EQUIV_CLASS_MAX___472 = 41,
    _SC_EXPR_NEST_MAX___472 = 42,
    _SC_LINE_MAX___472 = 43,
    _SC_RE_DUP_MAX___472 = 44,
    _SC_CHARCLASS_NAME_MAX___472 = 45,
    _SC_2_VERSION___472 = 46,
    _SC_2_C_BIND___472 = 47,
    _SC_2_C_DEV___472 = 48,
    _SC_2_FORT_DEV___472 = 49,
    _SC_2_FORT_RUN___472 = 50,
    _SC_2_SW_DEV___472 = 51,
    _SC_2_LOCALEDEF___472 = 52,
    _SC_PII___472 = 53,
    _SC_PII_XTI___472 = 54,
    _SC_PII_SOCKET___472 = 55,
    _SC_PII_INTERNET___472 = 56,
    _SC_PII_OSI___472 = 57,
    _SC_POLL___472 = 58,
    _SC_SELECT___472 = 59,
    _SC_UIO_MAXIOV___472 = 60,
    _SC_IOV_MAX___472 = 60,
    _SC_PII_INTERNET_STREAM___472 = 61,
    _SC_PII_INTERNET_DGRAM___472 = 62,
    _SC_PII_OSI_COTS___472 = 63,
    _SC_PII_OSI_CLTS___472 = 64,
    _SC_PII_OSI_M___472 = 65,
    _SC_T_IOV_MAX___472 = 66,
    _SC_THREADS___472 = 67,
    _SC_THREAD_SAFE_FUNCTIONS___472 = 68,
    _SC_GETGR_R_SIZE_MAX___472 = 69,
    _SC_GETPW_R_SIZE_MAX___472 = 70,
    _SC_LOGIN_NAME_MAX___472 = 71,
    _SC_TTY_NAME_MAX___472 = 72,
    _SC_THREAD_DESTRUCTOR_ITERATIONS___472 = 73,
    _SC_THREAD_KEYS_MAX___472 = 74,
    _SC_THREAD_STACK_MIN___472 = 75,
    _SC_THREAD_THREADS_MAX___472 = 76,
    _SC_THREAD_ATTR_STACKADDR___472 = 77,
    _SC_THREAD_ATTR_STACKSIZE___472 = 78,
    _SC_THREAD_PRIORITY_SCHEDULING___472 = 79,
    _SC_THREAD_PRIO_INHERIT___472 = 80,
    _SC_THREAD_PRIO_PROTECT___472 = 81,
    _SC_THREAD_PROCESS_SHARED___472 = 82,
    _SC_NPROCESSORS_CONF___472 = 83,
    _SC_NPROCESSORS_ONLN___472 = 84,
    _SC_PHYS_PAGES___472 = 85,
    _SC_AVPHYS_PAGES___472 = 86,
    _SC_ATEXIT_MAX___472 = 87,
    _SC_PASS_MAX___472 = 88,
    _SC_XOPEN_VERSION___472 = 89,
    _SC_XOPEN_XCU_VERSION___472 = 90,
    _SC_XOPEN_UNIX___472 = 91,
    _SC_XOPEN_CRYPT___472 = 92,
    _SC_XOPEN_ENH_I18N___472 = 93,
    _SC_XOPEN_SHM___472 = 94,
    _SC_2_CHAR_TERM___472 = 95,
    _SC_2_C_VERSION___472 = 96,
    _SC_2_UPE___472 = 97,
    _SC_XOPEN_XPG2___472 = 98,
    _SC_XOPEN_XPG3___472 = 99,
    _SC_XOPEN_XPG4___472 = 100,
    _SC_CHAR_BIT___472 = 101,
    _SC_CHAR_MAX___472 = 102,
    _SC_CHAR_MIN___472 = 103,
    _SC_INT_MAX___472 = 104,
    _SC_INT_MIN___472 = 105,
    _SC_LONG_BIT___472 = 106,
    _SC_WORD_BIT___472 = 107,
    _SC_MB_LEN_MAX___472 = 108,
    _SC_NZERO___472 = 109,
    _SC_SSIZE_MAX___472 = 110,
    _SC_SCHAR_MAX___472 = 111,
    _SC_SCHAR_MIN___472 = 112,
    _SC_SHRT_MAX___472 = 113,
    _SC_SHRT_MIN___472 = 114,
    _SC_UCHAR_MAX___472 = 115,
    _SC_UINT_MAX___472 = 116,
    _SC_ULONG_MAX___472 = 117,
    _SC_USHRT_MAX___472 = 118,
    _SC_NL_ARGMAX___472 = 119,
    _SC_NL_LANGMAX___472 = 120,
    _SC_NL_MSGMAX___472 = 121,
    _SC_NL_NMAX___472 = 122,
    _SC_NL_SETMAX___472 = 123,
    _SC_NL_TEXTMAX___472 = 124,
    _SC_XBS5_ILP32_OFF32___472 = 125,
    _SC_XBS5_ILP32_OFFBIG___472 = 126,
    _SC_XBS5_LP64_OFF64___472 = 127,
    _SC_XBS5_LPBIG_OFFBIG___472 = 128,
    _SC_XOPEN_LEGACY___472 = 129,
    _SC_XOPEN_REALTIME___472 = 130,
    _SC_XOPEN_REALTIME_THREADS___472 = 131,
    _SC_ADVISORY_INFO___472 = 132,
    _SC_BARRIERS___472 = 133,
    _SC_BASE___472 = 134,
    _SC_C_LANG_SUPPORT___472 = 135,
    _SC_C_LANG_SUPPORT_R___472 = 136,
    _SC_CLOCK_SELECTION___472 = 137,
    _SC_CPUTIME___472 = 138,
    _SC_THREAD_CPUTIME___472 = 139,
    _SC_DEVICE_IO___472 = 140,
    _SC_DEVICE_SPECIFIC___472 = 141,
    _SC_DEVICE_SPECIFIC_R___472 = 142,
    _SC_FD_MGMT___472 = 143,
    _SC_FIFO___472 = 144,
    _SC_PIPE___472 = 145,
    _SC_FILE_ATTRIBUTES___472 = 146,
    _SC_FILE_LOCKING___472 = 147,
    _SC_FILE_SYSTEM___472 = 148,
    _SC_MONOTONIC_CLOCK___472 = 149,
    _SC_MULTI_PROCESS___472 = 150,
    _SC_SINGLE_PROCESS___472 = 151,
    _SC_NETWORKING___472 = 152,
    _SC_READER_WRITER_LOCKS___472 = 153,
    _SC_SPIN_LOCKS___472 = 154,
    _SC_REGEXP___472 = 155,
    _SC_REGEX_VERSION___472 = 156,
    _SC_SHELL___472 = 157,
    _SC_SIGNALS___472 = 158,
    _SC_SPAWN___472 = 159,
    _SC_SPORADIC_SERVER___472 = 160,
    _SC_THREAD_SPORADIC_SERVER___472 = 161,
    _SC_SYSTEM_DATABASE___472 = 162,
    _SC_SYSTEM_DATABASE_R___472 = 163,
    _SC_TIMEOUTS___472 = 164,
    _SC_TYPED_MEMORY_OBJECTS___472 = 165,
    _SC_USER_GROUPS___472 = 166,
    _SC_USER_GROUPS_R___472 = 167,
    _SC_2_PBS___472 = 168,
    _SC_2_PBS_ACCOUNTING___472 = 169,
    _SC_2_PBS_LOCATE___472 = 170,
    _SC_2_PBS_MESSAGE___472 = 171,
    _SC_2_PBS_TRACK___472 = 172,
    _SC_SYMLOOP_MAX___472 = 173,
    _SC_STREAMS___472 = 174,
    _SC_2_PBS_CHECKPOINT___472 = 175,
    _SC_V6_ILP32_OFF32___472 = 176,
    _SC_V6_ILP32_OFFBIG___472 = 177,
    _SC_V6_LP64_OFF64___472 = 178,
    _SC_V6_LPBIG_OFFBIG___472 = 179,
    _SC_HOST_NAME_MAX___472 = 180,
    _SC_TRACE___472 = 181,
    _SC_TRACE_EVENT_FILTER___472 = 182,
    _SC_TRACE_INHERIT___472 = 183,
    _SC_TRACE_LOG___472 = 184,
    _SC_LEVEL1_ICACHE_SIZE___472 = 185,
    _SC_LEVEL1_ICACHE_ASSOC___472 = 186,
    _SC_LEVEL1_ICACHE_LINESIZE___472 = 187,
    _SC_LEVEL1_DCACHE_SIZE___472 = 188,
    _SC_LEVEL1_DCACHE_ASSOC___472 = 189,
    _SC_LEVEL1_DCACHE_LINESIZE___472 = 190,
    _SC_LEVEL2_CACHE_SIZE___472 = 191,
    _SC_LEVEL2_CACHE_ASSOC___472 = 192,
    _SC_LEVEL2_CACHE_LINESIZE___472 = 193,
    _SC_LEVEL3_CACHE_SIZE___472 = 194,
    _SC_LEVEL3_CACHE_ASSOC___472 = 195,
    _SC_LEVEL3_CACHE_LINESIZE___472 = 196,
    _SC_LEVEL4_CACHE_SIZE___472 = 197,
    _SC_LEVEL4_CACHE_ASSOC___472 = 198,
    _SC_LEVEL4_CACHE_LINESIZE___472 = 199,
    _SC_IPV6___472 = 235,
    _SC_RAW_SOCKETS___472 = 236,
    _SC_V7_ILP32_OFF32___472 = 237,
    _SC_V7_ILP32_OFFBIG___472 = 238,
    _SC_V7_LP64_OFF64___472 = 239,
    _SC_V7_LPBIG_OFFBIG___472 = 240,
    _SC_SS_REPL_MAX___472 = 241,
    _SC_TRACE_EVENT_NAME_MAX___472 = 242,
    _SC_TRACE_NAME_MAX___472 = 243,
    _SC_TRACE_SYS_MAX___472 = 244,
    _SC_TRACE_USER_EVENT_MAX___472 = 245,
    _SC_XOPEN_STREAMS___472 = 246,
    _SC_THREAD_ROBUST_PRIO_INHERIT___472 = 247,
    _SC_THREAD_ROBUST_PRIO_PROTECT___472 = 248
} ;
enum __anonenum_875524036___472 {
    _CS_PATH___472 = 0,
    _CS_V6_WIDTH_RESTRICTED_ENVS___472 = 1,
    _CS_GNU_LIBC_VERSION___472 = 2,
    _CS_GNU_LIBPTHREAD_VERSION___472 = 3,
    _CS_V5_WIDTH_RESTRICTED_ENVS___472 = 4,
    _CS_V7_WIDTH_RESTRICTED_ENVS___472 = 5,
    _CS_LFS_CFLAGS___472 = 1000,
    _CS_LFS_LDFLAGS___472 = 1001,
    _CS_LFS_LIBS___472 = 1002,
    _CS_LFS_LINTFLAGS___472 = 1003,
    _CS_LFS64_CFLAGS___472 = 1004,
    _CS_LFS64_LDFLAGS___472 = 1005,
    _CS_LFS64_LIBS___472 = 1006,
    _CS_LFS64_LINTFLAGS___472 = 1007,
    _CS_XBS5_ILP32_OFF32_CFLAGS___472 = 1100,
    _CS_XBS5_ILP32_OFF32_LDFLAGS___472 = 1101,
    _CS_XBS5_ILP32_OFF32_LIBS___472 = 1102,
    _CS_XBS5_ILP32_OFF32_LINTFLAGS___472 = 1103,
    _CS_XBS5_ILP32_OFFBIG_CFLAGS___472 = 1104,
    _CS_XBS5_ILP32_OFFBIG_LDFLAGS___472 = 1105,
    _CS_XBS5_ILP32_OFFBIG_LIBS___472 = 1106,
    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS___472 = 1107,
    _CS_XBS5_LP64_OFF64_CFLAGS___472 = 1108,
    _CS_XBS5_LP64_OFF64_LDFLAGS___472 = 1109,
    _CS_XBS5_LP64_OFF64_LIBS___472 = 1110,
    _CS_XBS5_LP64_OFF64_LINTFLAGS___472 = 1111,
    _CS_XBS5_LPBIG_OFFBIG_CFLAGS___472 = 1112,
    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS___472 = 1113,
    _CS_XBS5_LPBIG_OFFBIG_LIBS___472 = 1114,
    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS___472 = 1115,
    _CS_POSIX_V6_ILP32_OFF32_CFLAGS___472 = 1116,
    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS___472 = 1117,
    _CS_POSIX_V6_ILP32_OFF32_LIBS___472 = 1118,
    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS___472 = 1119,
    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS___472 = 1120,
    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS___472 = 1121,
    _CS_POSIX_V6_ILP32_OFFBIG_LIBS___472 = 1122,
    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS___472 = 1123,
    _CS_POSIX_V6_LP64_OFF64_CFLAGS___472 = 1124,
    _CS_POSIX_V6_LP64_OFF64_LDFLAGS___472 = 1125,
    _CS_POSIX_V6_LP64_OFF64_LIBS___472 = 1126,
    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS___472 = 1127,
    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS___472 = 1128,
    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS___472 = 1129,
    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS___472 = 1130,
    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS___472 = 1131,
    _CS_POSIX_V7_ILP32_OFF32_CFLAGS___472 = 1132,
    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS___472 = 1133,
    _CS_POSIX_V7_ILP32_OFF32_LIBS___472 = 1134,
    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS___472 = 1135,
    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS___472 = 1136,
    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS___472 = 1137,
    _CS_POSIX_V7_ILP32_OFFBIG_LIBS___472 = 1138,
    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS___472 = 1139,
    _CS_POSIX_V7_LP64_OFF64_CFLAGS___472 = 1140,
    _CS_POSIX_V7_LP64_OFF64_LDFLAGS___472 = 1141,
    _CS_POSIX_V7_LP64_OFF64_LIBS___472 = 1142,
    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS___472 = 1143,
    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS___472 = 1144,
    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS___472 = 1145,
    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS___472 = 1146,
    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS___472 = 1147,
    _CS_V6_ENV___472 = 1148,
    _CS_V7_ENV___472 = 1149
} ;
enum __anonenum_513775621___472 {
    DT_UNKNOWN___472 = 0,
    DT_FIFO___472 = 1,
    DT_CHR___472 = 2,
    DT_DIR___472 = 4,
    DT_BLK___472 = 6,
    DT_REG___472 = 8,
    DT_LNK___472 = 10,
    DT_SOCK___472 = 12,
    DT_WHT___472 = 14
} ;
enum __anonenum_77002343___472 {
    SI_ASYNCNL___472 = -60,
    SI_TKILL___472 = -6,
    SI_SIGIO___472 = -5,
    SI_ASYNCIO___472 = -4,
    SI_MESGQ___472 = -3,
    SI_TIMER___472 = -2,
    SI_QUEUE___472 = -1,
    SI_USER___472 = 0,
    SI_KERNEL___472 = 128
} ;
enum __anonenum_131038172___472 {
    ILL_ILLOPC___472 = 1,
    ILL_ILLOPN___472 = 2,
    ILL_ILLADR___472 = 3,
    ILL_ILLTRP___472 = 4,
    ILL_PRVOPC___472 = 5,
    ILL_PRVREG___472 = 6,
    ILL_COPROC___472 = 7,
    ILL_BADSTK___472 = 8
} ;
enum __anonenum_452038093___472 {
    FPE_INTDIV___472 = 1,
    FPE_INTOVF___472 = 2,
    FPE_FLTDIV___472 = 3,
    FPE_FLTOVF___472 = 4,
    FPE_FLTUND___472 = 5,
    FPE_FLTRES___472 = 6,
    FPE_FLTINV___472 = 7,
    FPE_FLTSUB___472 = 8
} ;
enum __anonenum_30976155___472 {
    SEGV_MAPERR___472 = 1,
    SEGV_ACCERR___472 = 2,
    SEGV_BNDERR___472 = 3,
    SEGV_PKUERR___472 = 4
} ;
enum __anonenum_1036286214___472 {
    BUS_ADRALN___472 = 1,
    BUS_ADRERR___472 = 2,
    BUS_OBJERR___472 = 3,
    BUS_MCEERR_AR___472 = 4,
    BUS_MCEERR_AO___472 = 5
} ;
enum __anonenum_493465559___472 {
    TRAP_BRKPT___472 = 1,
    TRAP_TRACE___472 = 2
} ;
enum __anonenum_23175539___472 {
    CLD_EXITED___472 = 1,
    CLD_KILLED___472 = 2,
    CLD_DUMPED___472 = 3,
    CLD_TRAPPED___472 = 4,
    CLD_STOPPED___472 = 5,
    CLD_CONTINUED___472 = 6
} ;
enum __anonenum_111643124___472 {
    POLL_IN___472 = 1,
    POLL_OUT___472 = 2,
    POLL_MSG___472 = 3,
    POLL_ERR___472 = 4,
    POLL_PRI___472 = 5,
    POLL_HUP___472 = 6
} ;
enum __anonenum_852341087___472 {
    SIGEV_SIGNAL___472 = 0,
    SIGEV_NONE___472 = 1,
    SIGEV_THREAD___472 = 2,
    SIGEV_THREAD_ID___472 = 4
} ;
enum __anonenum_451154152___472 {
    REG_R8___472 = 0,
    REG_R9___472 = 1,
    REG_R10___472 = 2,
    REG_R11___472 = 3,
    REG_R12___472 = 4,
    REG_R13___472 = 5,
    REG_R14___472 = 6,
    REG_R15___472 = 7,
    REG_RDI___472 = 8,
    REG_RSI___472 = 9,
    REG_RBP___472 = 10,
    REG_RBX___472 = 11,
    REG_RDX___472 = 12,
    REG_RAX___472 = 13,
    REG_RCX___472 = 14,
    REG_RSP___472 = 15,
    REG_RIP___472 = 16,
    REG_EFL___472 = 17,
    REG_CSGSFS___472 = 18,
    REG_ERR___472 = 19,
    REG_TRAPNO___472 = 20,
    REG_OLDMASK___472 = 21,
    REG_CR2___472 = 22
} ;
enum __anonenum_57186863___472 {
    SS_ONSTACK___472 = 1,
    SS_DISABLE___472 = 2
} ;
enum __anonenum_83571709___472 {
    MSG_OOB___472 = 1,
    MSG_PEEK___472 = 2,
    MSG_DONTROUTE___472 = 4,
    MSG_TRYHARD___472 = 4,
    MSG_CTRUNC___472 = 8,
    MSG_PROXY___472 = 16,
    MSG_TRUNC___472 = 32,
    MSG_DONTWAIT___472 = 64,
    MSG_EOR___472 = 128,
    MSG_WAITALL___472 = 256,
    MSG_FIN___472 = 512,
    MSG_SYN___472 = 1024,
    MSG_CONFIRM___472 = 2048,
    MSG_RST___472 = 4096,
    MSG_ERRQUEUE___472 = 8192,
    MSG_NOSIGNAL___472 = 16384,
    MSG_MORE___472 = 32768,
    MSG_WAITFORONE___472 = 65536,
    MSG_BATCH___472 = 262144,
    MSG_ZEROCOPY___472 = 67108864,
    MSG_FASTOPEN___472 = 536870912,
    MSG_CMSG_CLOEXEC___472 = 1073741824
} ;
enum __anonenum_617082774___472 {
    SCM_RIGHTS___472 = 1,
    SCM_CREDENTIALS___472 = 2
} ;
enum __anonenum_606441560___472 {
    SHUT_RD___472 = 0,
    SHUT_WR___472 = 1,
    SHUT_RDWR___472 = 2
} ;
enum __anonenum_681669233___472 {
    IPPROTO_IP___472 = 0,
    IPPROTO_ICMP___472 = 1,
    IPPROTO_IGMP___472 = 2,
    IPPROTO_IPIP___472 = 4,
    IPPROTO_TCP___472 = 6,
    IPPROTO_EGP___472 = 8,
    IPPROTO_PUP___472 = 12,
    IPPROTO_UDP___472 = 17,
    IPPROTO_IDP___472 = 22,
    IPPROTO_TP___472 = 29,
    IPPROTO_DCCP___472 = 33,
    IPPROTO_IPV6___472 = 41,
    IPPROTO_RSVP___472 = 46,
    IPPROTO_GRE___472 = 47,
    IPPROTO_ESP___472 = 50,
    IPPROTO_AH___472 = 51,
    IPPROTO_MTP___472 = 92,
    IPPROTO_BEETPH___472 = 94,
    IPPROTO_ENCAP___472 = 98,
    IPPROTO_PIM___472 = 103,
    IPPROTO_COMP___472 = 108,
    IPPROTO_SCTP___472 = 132,
    IPPROTO_UDPLITE___472 = 136,
    IPPROTO_MPLS___472 = 137,
    IPPROTO_RAW___472 = 255,
    IPPROTO_MAX___472 = 256
} ;
enum __anonenum_218739988___472 {
    IPPROTO_HOPOPTS___472 = 0,
    IPPROTO_ROUTING___472 = 43,
    IPPROTO_FRAGMENT___472 = 44,
    IPPROTO_ICMPV6___472 = 58,
    IPPROTO_NONE___472 = 59,
    IPPROTO_DSTOPTS___472 = 60,
    IPPROTO_MH___472 = 135
} ;
enum __anonenum_662268580___472 {
    IPPORT_ECHO___472 = 7,
    IPPORT_DISCARD___472 = 9,
    IPPORT_SYSTAT___472 = 11,
    IPPORT_DAYTIME___472 = 13,
    IPPORT_NETSTAT___472 = 15,
    IPPORT_FTP___472 = 21,
    IPPORT_TELNET___472 = 23,
    IPPORT_SMTP___472 = 25,
    IPPORT_TIMESERVER___472 = 37,
    IPPORT_NAMESERVER___472 = 42,
    IPPORT_WHOIS___472 = 43,
    IPPORT_MTP___472 = 57,
    IPPORT_TFTP___472 = 69,
    IPPORT_RJE___472 = 77,
    IPPORT_FINGER___472 = 79,
    IPPORT_TTYLINK___472 = 87,
    IPPORT_SUPDUP___472 = 95,
    IPPORT_EXECSERVER___472 = 512,
    IPPORT_LOGINSERVER___472 = 513,
    IPPORT_CMDSERVER___472 = 514,
    IPPORT_EFSSERVER___472 = 520,
    IPPORT_BIFFUDP___472 = 512,
    IPPORT_WHOSERVER___472 = 513,
    IPPORT_ROUTESERVER___472 = 520,
    IPPORT_RESERVED___472 = 1024,
    IPPORT_USERRESERVED___472 = 5000
} ;
enum __anonenum_788308992___472 {
    TCP_ESTABLISHED___472 = 1,
    TCP_SYN_SENT___472 = 2,
    TCP_SYN_RECV___472 = 3,
    TCP_FIN_WAIT1___472 = 4,
    TCP_FIN_WAIT2___472 = 5,
    TCP_TIME_WAIT___472 = 6,
    TCP_CLOSE___472 = 7,
    TCP_CLOSE_WAIT___472 = 8,
    TCP_LAST_ACK___472 = 9,
    TCP_LISTEN___472 = 10,
    TCP_CLOSING___472 = 11
} ;
enum __anonenum_221125648___472 {
    TCP_NO_QUEUE___472 = 0,
    TCP_RECV_QUEUE___472 = 1,
    TCP_SEND_QUEUE___472 = 2,
    TCP_QUEUES_NR___472 = 3
} ;
enum __anonenum_34415463___472 {
    PTHREAD_CREATE_JOINABLE___472 = 0,
    PTHREAD_CREATE_DETACHED___472 = 1
} ;
enum __anonenum_303612439___472 {
    PTHREAD_MUTEX_TIMED_NP___472 = 0,
    PTHREAD_MUTEX_RECURSIVE_NP___472 = 1,
    PTHREAD_MUTEX_ERRORCHECK_NP___472 = 2,
    PTHREAD_MUTEX_ADAPTIVE_NP___472 = 3,
    PTHREAD_MUTEX_NORMAL___472 = 0,
    PTHREAD_MUTEX_RECURSIVE___472 = 1,
    PTHREAD_MUTEX_ERRORCHECK___472 = 2,
    PTHREAD_MUTEX_DEFAULT___472 = 0,
    PTHREAD_MUTEX_FAST_NP___472 = 0
} ;
enum __anonenum_931900394___472 {
    PTHREAD_MUTEX_STALLED___472 = 0,
    PTHREAD_MUTEX_STALLED_NP___472 = 0,
    PTHREAD_MUTEX_ROBUST___472 = 1,
    PTHREAD_MUTEX_ROBUST_NP___472 = 1
} ;
enum __anonenum_205214487___472 {
    PTHREAD_PRIO_NONE___472 = 0,
    PTHREAD_PRIO_INHERIT___472 = 1,
    PTHREAD_PRIO_PROTECT___472 = 2
} ;
enum __anonenum_25043950___472 {
    PTHREAD_RWLOCK_PREFER_READER_NP___472 = 0,
    PTHREAD_RWLOCK_PREFER_WRITER_NP___472 = 1,
    PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP___472 = 2,
    PTHREAD_RWLOCK_DEFAULT_NP___472 = 0
} ;
enum __anonenum_436439511___472 {
    PTHREAD_INHERIT_SCHED___472 = 0,
    PTHREAD_EXPLICIT_SCHED___472 = 1
} ;
enum __anonenum_998661166___472 {
    PTHREAD_SCOPE_SYSTEM___472 = 0,
    PTHREAD_SCOPE_PROCESS___472 = 1
} ;
enum __anonenum_146137331___472 {
    PTHREAD_PROCESS_PRIVATE___472 = 0,
    PTHREAD_PROCESS_SHARED___472 = 1
} ;
enum __anonenum_53396917___472 {
    PTHREAD_CANCEL_ENABLE___472 = 0,
    PTHREAD_CANCEL_DISABLE___472 = 1
} ;
enum __anonenum_904563783___472 {
    PTHREAD_CANCEL_DEFERRED___472 = 0,
    PTHREAD_CANCEL_ASYNCHRONOUS___472 = 1
} ;
enum __anonenum_672052974___472 {
    SSL_CT_VALIDATION_PERMISSIVE___472 = 0,
    SSL_CT_VALIDATION_STRICT___472 = 1
} ;
/* compiler builtin:
   void __builtin_va_copy(__builtin_va_list  , __builtin_va_list  ) ;  */
/* compiler builtin:
   void *__builtin_frob_return_address(void * ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __sync_and_and_fetch(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __sync_fetch_and_or(...) ;  */
/* compiler builtin:
   int __builtin_popcountll(unsigned long long  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_or_fetch(...) ;  */
/* compiler builtin:
   float __builtin_atanf(float  ) ;  */
/* compiler builtin:
   float __attribute__((____vector_size____(16)))  __builtin_ia32_addps(float __attribute__((____vector_size____(16)))   ,
                                                                        float __attribute__((____vector_size____(16)))   ) ;  */
/* compiler builtin:
   unsigned long __builtin_strcspn(char const   * , char const   * ) ;  */
/* compiler builtin:
   float __builtin_asinf(float  ) ;  */
/* compiler builtin:
   float __attribute__((____vector_size____(16)))  __builtin_ia32_maxps(float __attribute__((____vector_size____(16)))   ,
                                                                        float __attribute__((____vector_size____(16)))   ) ;  */
/* compiler builtin:
   float __attribute__((____vector_size____(16)))  __builtin_ia32_unpckhps(float __attribute__((____vector_size____(16)))   ,
                                                                           float __attribute__((____vector_size____(16)))   ) ;  */
/* compiler builtin:
   double __builtin_acos(double  ) ;  */
/* compiler builtin:
   int __builtin___sprintf_chk(char * , int  , unsigned long  , char const   *  , ...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_nand_fetch_8(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_and(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_xor_fetch_16(...) ;  */
/* compiler builtin:
   double __builtin_cosh(double  ) ;  */
/* compiler builtin:
   float __builtin_tanhf(float  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_nand_16(...) ;  */
/* compiler builtin:
   void *__builtin_mempcpy(void * , void const   * , unsigned long  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_sub_fetch_1(...) ;  */
/* compiler builtin:
   long double __builtin_sqrtl(long double  ) ;  */
/* compiler builtin:
   int __builtin_parity(unsigned int  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_or(...) ;  */
/* compiler builtin:
   long double __builtin_coshl(long double  ) ;  */
/* compiler builtin:
   long double __builtin_cosl(long double  ) ;  */
/* compiler builtin:
   float __builtin_cosf(float  ) ;  */
/* compiler builtin:
   void __sync_synchronize(...) ;  */
/* compiler builtin:
   long double __builtin_acosl(long double  ) ;  */
/* compiler builtin:
   void *__builtin___mempcpy_chk(void * , void const   * , unsigned long  , unsigned long  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __sync_or_and_fetch(...) ;  */
/* compiler builtin:
   int __builtin_clz(unsigned int  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_nand_fetch_4(...) ;  */
/* compiler builtin:
   double __builtin_log10(double  ) ;  */
/* compiler builtin:
   char *__builtin___strcat_chk(char * , char const   * , unsigned long  ) ;  */
/* compiler builtin:
   float __builtin_modff(float  , float * ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_sub_fetch_4(...) ;  */
/* compiler builtin:
   _Bool __atomic_compare_exchange_n(...) ;  */
/* compiler builtin:
   double __builtin_sin(double  ) ;  */
/* compiler builtin:
   double __builtin_frexp(double  , int * ) ;  */
/* compiler builtin:
   float __builtin_acosf(float  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __sync_add_and_fetch(...) ;  */
/* compiler builtin:
   long double __builtin_sinhl(long double  ) ;  */
/* compiler builtin:
   char *__builtin___stpcpy_chk(char * , char const   * , unsigned long  ) ;  */
/* compiler builtin:
   void __atomic_signal_fence(int  ) ;  */
/* compiler builtin:
   double __builtin_fabs(double  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_nand_1(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_and_fetch_16(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __sync_fetch_and_nand(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_xor_fetch_8(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_xor_fetch_2(...) ;  */
/* compiler builtin:
   void __atomic_thread_fence(int  ) ;  */
/* compiler builtin:
   void __atomic_store_16(...) ;  */
/* compiler builtin:
   void __builtin_va_start(__builtin_va_list  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_and_8(...) ;  */
/* compiler builtin:
   short __builtin_bswap16(short  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_and_fetch_2(...) ;  */
/* compiler builtin:
   _Bool __atomic_test_and_set(void * , int  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_add_8(...) ;  */
/* compiler builtin:
   int __builtin_ctz(unsigned int  ) ;  */
/* compiler builtin:
   char *__builtin_strpbrk(char const   * , char const   * ) ;  */
/* compiler builtin:
   char *__builtin_strcpy(char * , char const   * ) ;  */
/* compiler builtin:
   double __builtin_sqrt(double  ) ;  */
/* compiler builtin:
   __builtin_va_list __builtin_next_arg(void) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_nand(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_exchange_16(...) ;  */
/* compiler builtin:
   void __atomic_clear(_Bool * , int  ) ;  */
/* compiler builtin:
   void __atomic_store(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_add_fetch_2(...) ;  */
/* compiler builtin:
   float __builtin_log10f(float  ) ;  */
/* compiler builtin:
   long double __builtin_fabsl(long double  ) ;  */
/* compiler builtin:
   long double __builtin_floorl(long double  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_xor_1(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_and_fetch(...) ;  */
/* compiler builtin:
   float __builtin_floorf(float  ) ;  */
/* compiler builtin:
   _Bool __atomic_compare_exchange_4(...) ;  */
/* compiler builtin:
   void *__builtin_memcpy(void * , void const   * , unsigned long  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __sync_sub_and_fetch(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __sync_nand_and_fetch(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_load_16(...) ;  */
/* compiler builtin:
   float __attribute__((____vector_size____(16)))  __builtin_ia32_subps(float __attribute__((____vector_size____(16)))   ,
                                                                        float __attribute__((____vector_size____(16)))   ) ;  */
/* compiler builtin:
   int __builtin_parityll(unsigned long long  ) ;  */
/* compiler builtin:
   void __builtin_va_end(__builtin_va_list  ) ;  */
/* compiler builtin:
   void __builtin_bzero(void * , unsigned long  ) ;  */
/* compiler builtin:
   _Bool __atomic_always_lock_free(unsigned long  , void * ) ;  */
/* compiler builtin:
   int __builtin_strncmp(char const   * , char const   * , unsigned long  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_nand_fetch_16(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __sync_xor_and_fetch(...) ;  */
/* compiler builtin:
   int __builtin___vsprintf_chk(char * , int  , unsigned long  , char const   * ,
                                __builtin_va_list  ) ;  */
/* compiler builtin:
   float __builtin_sqrtf(float  ) ;  */
/* compiler builtin:
   double __builtin_nans(char const   * ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_xor_8(...) ;  */
/* compiler builtin:
   double __builtin_exp(double  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_exchange_8(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_exchange_1(...) ;  */
/* compiler builtin:
   int __builtin_strcmp(char const   * , char const   * ) ;  */
/* compiler builtin:
   float __builtin_ldexpf(float  , int  ) ;  */
/* compiler builtin:
   float __builtin_powif(float  , int  ) ;  */
/* compiler builtin:
   long double __builtin_log10l(long double  ) ;  */
/* compiler builtin:
   void *__builtin___memmove_chk(void * , void const   * , unsigned long  , unsigned long  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __sync_fetch_and_and(...) ;  */
/* compiler builtin:
   void *__builtin_return_address(unsigned int  ) ;  */
/* compiler builtin:
   void __atomic_feraiseexcept(int  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_and_fetch_4(...) ;  */
/* compiler builtin:
   float __builtin_fabsf(float  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_or_fetch_8(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_or_fetch_4(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_or_fetch_1(...) ;  */
/* compiler builtin:
   unsigned long __builtin_object_size(void * , int  ) ;  */
/* compiler builtin:
   void *__builtin_alloca(unsigned long  ) ;  */
/* compiler builtin:
   int __builtin_va_arg_pack_len(void) ;  */
/* compiler builtin:
   long double __builtin_tanl(long double  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_and_2(...) ;  */
/* compiler builtin:
   void __sync_lock_release(...) ;  */
/* compiler builtin:
   long double __builtin_modfl(long double  , long double * ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_nand_8(...) ;  */
/* compiler builtin:
   char *__builtin_stpcpy(char * , char const   * ) ;  */
/* compiler builtin:
   long double __builtin_sinl(long double  ) ;  */
/* compiler builtin:
   double __builtin_asin(double  ) ;  */
/* compiler builtin:
   float __builtin_sinhf(float  ) ;  */
/* compiler builtin:
   int __builtin_ctzl(unsigned long  ) ;  */
/* compiler builtin:
   long double __builtin_tanhl(long double  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_add(...) ;  */
/* compiler builtin:
   long __builtin_bswap64(long  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_nand_fetch_1(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_nand_2(...) ;  */
/* compiler builtin:
   float __attribute__((____vector_size____(16)))  __builtin_ia32_mulps(float __attribute__((____vector_size____(16)))   ,
                                                                        float __attribute__((____vector_size____(16)))   ) ;  */
/* compiler builtin:
   double __builtin_tan(double  ) ;  */
/* compiler builtin:
   char *__builtin_strncpy(char * , char const   * , unsigned long  ) ;  */
/* compiler builtin:
   float __builtin_inff(void) ;  */
/* compiler builtin:
   void *__builtin___memset_chk(void * , int  , unsigned long  , unsigned long  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_load_n(...) ;  */
/* compiler builtin:
   double __builtin_huge_val(void) ;  */
/* compiler builtin:
   int __builtin_clzl(unsigned long  ) ;  */
/* compiler builtin:
   _Bool __atomic_compare_exchange_16(...) ;  */
/* compiler builtin:
   float __builtin_frexpf(float  , int * ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_exchange_n(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_or_1(...) ;  */
/* compiler builtin:
   long double __builtin_fmodl(long double  ) ;  */
/* compiler builtin:
   double __builtin_atan(double  ) ;  */
/* compiler builtin:
   int __builtin___fprintf_chk(void * , int  , char const   *  , ...) ;  */
/* compiler builtin:
   float __builtin_ceilf(float  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_or_8(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_add_1(...) ;  */
/* compiler builtin:
   void __builtin_return(void const   * ) ;  */
/* compiler builtin:
   long double __builtin_asinl(long double  ) ;  */
/* compiler builtin:
   int __builtin_ffsll(unsigned long long  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_sub_1(...) ;  */
/* compiler builtin:
   int __builtin_va_arg_pack(void) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_or_4(...) ;  */
/* compiler builtin:
   char *__builtin___strncpy_chk(char * , char const   * , unsigned long  , unsigned long  ) ;  */
/* compiler builtin:
   double __builtin_powi(double  , int  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_load_2(...) ;  */
/* compiler builtin:
   char *__builtin_strchr(char * , int  ) ;  */
/* compiler builtin:
   char *__builtin___strncat_chk(char * , char const   * , unsigned long  , unsigned long  ) ;  */
/* compiler builtin:
   void __atomic_store_2(...) ;  */
/* compiler builtin:
   long double __builtin_huge_vall(void) ;  */
/* compiler builtin:
   int __builtin_ffsl(unsigned long  ) ;  */
/* compiler builtin:
   int __builtin___vprintf_chk(int  , char const   * , __builtin_va_list  ) ;  */
/* compiler builtin:
   float __attribute__((____vector_size____(16)))  __builtin_ia32_unpcklps(float __attribute__((____vector_size____(16)))   ,
                                                                           float __attribute__((____vector_size____(16)))   ) ;  */
/* compiler builtin:
   char *__builtin_strncat(char * , char const   * , unsigned long  ) ;  */
/* compiler builtin:
   int __builtin_ctzll(unsigned long long  ) ;  */
/* compiler builtin:
   void __builtin_stdarg_start(__builtin_va_list  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_exchange_4(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __sync_fetch_and_xor(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_sub_4(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_and_4(...) ;  */
/* compiler builtin:
   long double __builtin_frexpl(long double  , int * ) ;  */
/* compiler builtin:
   _Bool __atomic_compare_exchange(...) ;  */
/* compiler builtin:
   float __builtin_tanf(float  ) ;  */
/* compiler builtin:
   long double __builtin_logl(long double  ) ;  */
/* compiler builtin:
   void __builtin_va_arg(__builtin_va_list  , unsigned long  , void * ) ;  */
/* compiler builtin:
   long __builtin_expect(long  , long  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_load_1(...) ;  */
/* compiler builtin:
   _Bool __atomic_compare_exchange_1(...) ;  */
/* compiler builtin:
   int __builtin___printf_chk(int  , char const   *  , ...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_xor_2(...) ;  */
/* compiler builtin:
   int __builtin___vfprintf_chk(void * , int  , char const   * , __builtin_va_list  ) ;  */
/* compiler builtin:
   void __builtin_prefetch(void const   *  , ...) ;  */
/* compiler builtin:
   long double __builtin_nansl(char const   * ) ;  */
/* compiler builtin:
   double __builtin_fmod(double  ) ;  */
/* compiler builtin:
   void __atomic_load(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_or_fetch_16(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_add_fetch_16(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __sync_val_compare_and_swap(...) ;  */
/* compiler builtin:
   void __atomic_store_4(...) ;  */
/* compiler builtin:
   double __builtin_tanh(double  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_and_1(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_nand_4(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_add_16(...) ;  */
/* compiler builtin:
   void __builtin_unreachable(void) ;  */
/* compiler builtin:
   _Bool __atomic_compare_exchange_2(...) ;  */
/* compiler builtin:
   long double __builtin_ldexpl(long double  , int  ) ;  */
/* compiler builtin:
   void *__builtin_apply(void (*)() , void * , unsigned long  ) ;  */
/* compiler builtin:
   float __builtin_sinf(float  ) ;  */
/* compiler builtin:
   double __builtin_ceil(double  ) ;  */
/* compiler builtin:
   void __atomic_exchange(...) ;  */
/* compiler builtin:
   long double __builtin_powil(long double  , int  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_sub_fetch_8(...) ;  */
/* compiler builtin:
   long double __builtin_expl(long double  ) ;  */
/* compiler builtin:
   int __builtin_constant_p(int  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_sub_16(...) ;  */
/* compiler builtin:
   double __builtin_log(double  ) ;  */
/* compiler builtin:
   float __builtin_expf(float  ) ;  */
/* compiler builtin:
   int __builtin_types_compatible_p(unsigned long  , unsigned long  ) ;  */
/* compiler builtin:
   long double __builtin_atan2l(long double  , long double  ) ;  */
/* compiler builtin:
   void *__builtin_apply_args(void) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_exchange_2(...) ;  */
/* compiler builtin:
   float __builtin_logf(float  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_sub_fetch_2(...) ;  */
/* compiler builtin:
   unsigned long __builtin_strlen(char const   * ) ;  */
/* compiler builtin:
   int __builtin_ffs(unsigned int  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_xor_16(...) ;  */
/* compiler builtin:
   double __builtin_inf(void) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_or_16(...) ;  */
/* compiler builtin:
   void *__builtin___memcpy_chk(void * , void const   * , unsigned long  , unsigned long  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_load_4(...) ;  */
/* compiler builtin:
   void __atomic_store_n(...) ;  */
/* compiler builtin:
   void __builtin_trap(void) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_add_4(...) ;  */
/* compiler builtin:
   int __builtin_parityl(unsigned long  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_nand_fetch_2(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __sync_lock_test_and_set(...) ;  */
/* compiler builtin:
   unsigned long __builtin_strspn(char const   * , char const   * ) ;  */
/* compiler builtin:
   void __builtin_varargs_start(__builtin_va_list  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_sub_fetch(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_and_16(...) ;  */
/* compiler builtin:
   _Bool __atomic_compare_exchange_8(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_nand_fetch(...) ;  */
/* compiler builtin:
   double __builtin_nan(char const   * ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_load_8(...) ;  */
/* compiler builtin:
   int __builtin___snprintf_chk(char * , unsigned long  , int  , unsigned long  ,
                                char const   *  , ...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_xor_fetch_4(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_sub_2(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_add_fetch(...) ;  */
/* compiler builtin:
   long double __builtin_atanl(long double  ) ;  */
/* compiler builtin:
   int __builtin_clzll(unsigned long long  ) ;  */
/* compiler builtin:
   float __builtin_huge_valf(void) ;  */
/* compiler builtin:
   float __builtin_coshf(float  ) ;  */
/* compiler builtin:
   float __builtin_nansf(char const   * ) ;  */
/* compiler builtin:
   void __atomic_store_8(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_xor_fetch(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __sync_fetch_and_add(...) ;  */
/* compiler builtin:
   int __builtin___vsnprintf_chk(char * , unsigned long  , int  , unsigned long  ,
                                 char const   * , __builtin_va_list  ) ;  */
/* compiler builtin:
   float __builtin_nanf(char const   * ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_or_fetch_2(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_add_fetch_1(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_xor(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_add_fetch_8(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_xor_4(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_sub_8(...) ;  */
/* compiler builtin:
   _Bool __sync_bool_compare_and_swap(...) ;  */
/* compiler builtin:
   double __builtin_atan2(double  , double  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __builtin_tgmath(...) ;  */
/* compiler builtin:
   int __builtin_popcountl(unsigned long  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_and_fetch_1(...) ;  */
/* compiler builtin:
   long double __builtin_ceill(long double  ) ;  */
/* compiler builtin:
   void __atomic_store_1(...) ;  */
/* compiler builtin:
   char *__builtin___strcpy_chk(char * , char const   * , unsigned long  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_xor_fetch_1(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_or_2(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_sub_fetch_16(...) ;  */
/* compiler builtin:
   double __builtin_floor(double  ) ;  */
/* compiler builtin:
   double __builtin_cos(double  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __sync_fetch_and_sub(...) ;  */
/* compiler builtin:
   void *__builtin_memset(void * , int  , int  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_add_2(...) ;  */
/* compiler builtin:
   long double __builtin_nanl(char const   * ) ;  */
/* compiler builtin:
   float __builtin_atan2f(float  , float  ) ;  */
/* compiler builtin:
   _Bool __atomic_is_lock_free(unsigned long  , void * ) ;  */
/* compiler builtin:
   int __builtin_popcount(unsigned int  ) ;  */
/* compiler builtin:
   double __builtin_sinh(double  ) ;  */
/* compiler builtin:
   void __builtin_bcopy(void const   * , void * , unsigned long  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_and_fetch_8(...) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_fetch_sub(...) ;  */
/* compiler builtin:
   void *__builtin_extract_return_addr(void * ) ;  */
/* compiler builtin:
   int __builtin_bswap32(int  ) ;  */
/* compiler builtin:
   double __builtin_ldexp(double  , int  ) ;  */
/* compiler builtin:
   long double __builtin_infl(void) ;  */
/* compiler builtin:
   float __builtin_fmodf(float  ) ;  */
/* compiler builtin:
   void __attribute__((__overloaded__))  __atomic_add_fetch_4(...) ;  */
/* compiler builtin:
   void *__builtin_frame_address(unsigned int  ) ;  */
void ( __attribute__((__nonnull__(1,4))) qsort)(void *ptr , size_t count___0 , size_t size ,
                                                int (*comp)(void const   * , void const   * ) )  __attribute__((__goblint_stub__)) ;
void ( __attribute__((__nonnull__(1,4))) qsort)(void *ptr , size_t count___0 , size_t size ,
                                                int (*comp)(void const   * , void const   * ) )  __attribute__((__goblint_stub__)) ;
void ( __attribute__((__nonnull__(1,4))) qsort)(void *ptr , size_t count___0 , size_t size ,
                                                int (*comp)(void const   * , void const   * ) )
{
  size_t i ;
  size_t j ;
  size_t i___0 ;
  size_t j___0 ;
  int r ;
  size_t k ;
  char *a ;
  char *b___0 ;
  char c___0 ;

  {
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < count___0)) {
      goto while_break;
    }
    j = (size_t )0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < count___0)) {
        goto while_break___0;
      }
      (*comp)((void const   *)(ptr + i * size), (void const   *)(ptr + j * size));
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i___0 = (size_t )0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i___0 < count___0)) {
      goto while_break___1;
    }
    j___0 = (size_t )0;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (j___0 < count___0)) {
        goto while_break___2;
      }
      if (r) {
        k = (size_t )0;
        {
        while (1) {
          while_continue___3: /* CIL Label */ ;
          if (! (k < size)) {
            goto while_break___3;
          }
          a = (char *)((ptr + i___0 * size) + k);
          b___0 = (char *)((ptr + j___0 * size) + k);
          c___0 = *a;
          *a = *b___0;
          *b___0 = c___0;
          k ++;
        }
        while_break___3: /* CIL Label */ ;
        }
      }
      j___0 ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    i___0 ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  return;
}
}
void *( __attribute__((__warn_unused_result__, __nonnull__(1,2,5), __gnu_inline__)) bsearch)(void const   *key___1 ,
                                                                                             void const   *ptr ,
                                                                                             size_t count___0 ,
                                                                                             size_t size ,
                                                                                             int (*comp)(void const   * ,
                                                                                                         void const   * ) )  __attribute__((__goblint_stub__)) ;
void *( __attribute__((__warn_unused_result__, __nonnull__(1,2,5), __gnu_inline__)) bsearch)(void const   *key___1 ,
                                                                                             void const   *ptr ,
                                                                                             size_t count___0 ,
                                                                                             size_t size ,
                                                                                             int (*comp)(void const   * ,
                                                                                                         void const   * ) )  __attribute__((__goblint_stub__)) ;
void *( __attribute__((__warn_unused_result__, __nonnull__(1,2,5), __gnu_inline__)) bsearch)(void const   *key___1 ,
                                                                                             void const   *ptr ,
                                                                                             size_t count___0 ,
                                                                                             size_t size ,
                                                                                             int (*comp)(void const   * ,
                                                                                                         void const   * ) )
{
  size_t i ;
  void const   *a ;
  int tmp ;

  {
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < count___0)) {
      goto while_break;
    }
    a = ptr + i * size;
    tmp = (*comp)(key___1, a);
    if (tmp == 0) {
      return ((void *)a);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((void *)0);
}
}
extern int ( __attribute__((__nonnull__(1), __leaf__)) access)(char const   *__name ,
                                                               int __type )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) euidaccess)(char const   *__name ,
                                                                   int __type )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) eaccess)(char const   *__name ,
                                                                int __type )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(2), __leaf__)) faccessat)(int __fd ,
                                                                                          char const   *__file ,
                                                                                          int __type ,
                                                                                          int __flag )  __attribute__((__nothrow__)) ;
extern __off_t ( __attribute__((__leaf__)) lseek)(int __fd , __off_t __offset , int __whence )  __asm__("lseek64") __attribute__((__nothrow__)) ;
extern __off_t ( __attribute__((__leaf__)) lseek64)(int __fd , __off_t __offset ,
                                                    int __whence )  __attribute__((__nothrow__)) ;
extern int close(int __fd ) ;
__inline extern ssize_t ( __attribute__((__warn_unused_result__, __gnu_inline__, __artificial__,
__always_inline__)) read)(int __fd , void *__buf , size_t __nbytes ) ;
extern ssize_t ( __attribute__((__warn_unused_result__)) write)(int __fd , void const   *__buf ,
                                                                size_t __n ) ;
__inline extern ssize_t ( __attribute__((__warn_unused_result__, __gnu_inline__, __artificial__,
__always_inline__)) pread)(int __fd , void *__buf , size_t __nbytes , __off_t __offset )  __asm__("pread64")  ;
extern ssize_t ( __attribute__((__warn_unused_result__)) pwrite)(int __fd , void const   *__buf ,
                                                                 size_t __nbytes ,
                                                                 __off_t __offset )  __asm__("pwrite64")  ;
__inline extern ssize_t ( __attribute__((__warn_unused_result__, __gnu_inline__, __artificial__,
__always_inline__)) pread64)(int __fd , void *__buf , size_t __nbytes , __off_t __offset ) ;
extern ssize_t ( __attribute__((__warn_unused_result__)) pwrite64)(int __fd , void const   *__buf ,
                                                                   size_t __n , __off_t __offset ) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) pipe)(int *__pipedes )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) pipe2)(int *__pipedes ,
                                                                      int __flags )  __attribute__((__nothrow__)) ;
extern unsigned int ( __attribute__((__leaf__)) alarm)(unsigned int __seconds )  __attribute__((__nothrow__)) ;
extern unsigned int sleep(unsigned int __seconds ) ;
extern __useconds_t ( __attribute__((__leaf__)) ualarm)(__useconds_t __value , __useconds_t __interval )  __attribute__((__nothrow__)) ;
extern int usleep(__useconds_t __useconds ) ;
extern int pause(void) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) chown)(char const   *__file ,
                                                                                      __uid_t __owner ,
                                                                                      __gid_t __group )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) fchown)(int __fd ,
                                                                       __uid_t __owner ,
                                                                       __gid_t __group )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) lchown)(char const   *__file ,
                                                                                       __uid_t __owner ,
                                                                                       __gid_t __group )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(2), __leaf__)) fchownat)(int __fd ,
                                                                                         char const   *__file ,
                                                                                         __uid_t __owner ,
                                                                                         __gid_t __group ,
                                                                                         int __flag )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) chdir)(char const   *__path )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) fchdir)(int __fd )  __attribute__((__nothrow__)) ;
__inline extern char *( __attribute__((__warn_unused_result__, __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) getcwd)(char *__buf , size_t __size )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) get_current_dir_name)(void)  __attribute__((__nothrow__)) ;
__inline extern char __attribute__((__deprecated__))  *( __attribute__((__warn_unused_result__,
__nonnull__(1), __leaf__, __gnu_inline__, __artificial__, __always_inline__)) getwd)(char *__buf )  __attribute__((__nothrow__,
__deprecated__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) dup)(int __fd )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) dup2)(int __fd , int __fd2 )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) dup3)(int __fd , int __fd2 , int __flags )  __attribute__((__nothrow__)) ;
extern char **__environ ;
extern char **environ ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) execve)(char const   *__path ,
                                                                 char **__argv , char **__envp )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2), __leaf__)) fexecve)(int __fd , char **__argv ,
                                                                char **__envp )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) execv)(char const   *__path ,
                                                                char **__argv )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) execle)(char const   *__path ,
                                                                 char const   *__arg
                                                                 , ...)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) execl)(char const   *__path ,
                                                                char const   *__arg
                                                                , ...)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) execvp)(char const   *__file ,
                                                                 char **__argv )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) execlp)(char const   *__file ,
                                                                 char const   *__arg
                                                                 , ...)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) execvpe)(char const   *__file ,
                                                                  char **__argv ,
                                                                  char **__envp )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) nice)(int __inc )  __attribute__((__nothrow__)) ;
extern void _exit(int __status )  __attribute__((__noreturn__)) ;
extern long ( __attribute__((__nonnull__(1), __leaf__)) pathconf)(char const   *__path ,
                                                                  int __name )  __attribute__((__nothrow__)) ;
extern long ( __attribute__((__leaf__)) fpathconf)(int __fd , int __name )  __attribute__((__nothrow__)) ;
extern long ( __attribute__((__leaf__)) sysconf)(int __name )  __attribute__((__nothrow__)) ;
__inline extern size_t ( __attribute__((__leaf__, __gnu_inline__, __artificial__,
__always_inline__)) confstr)(int __name , char *__buf , size_t __len )  __attribute__((__nothrow__)) ;
extern __pid_t ( __attribute__((__leaf__)) getpid)(void)  __attribute__((__nothrow__)) ;
extern __pid_t ( __attribute__((__leaf__)) getppid)(void)  __attribute__((__nothrow__)) ;
extern __pid_t ( __attribute__((__leaf__)) getpgrp)(void)  __attribute__((__nothrow__)) ;
extern __pid_t ( __attribute__((__leaf__)) __getpgid)(__pid_t __pid )  __attribute__((__nothrow__)) ;
extern __pid_t ( __attribute__((__leaf__)) getpgid)(__pid_t __pid )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) setpgid)(__pid_t __pid , __pid_t __pgid )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) setpgrp)(void)  __attribute__((__nothrow__)) ;
extern __pid_t ( __attribute__((__leaf__)) setsid)(void)  __attribute__((__nothrow__)) ;
extern __pid_t ( __attribute__((__leaf__)) getsid)(__pid_t __pid )  __attribute__((__nothrow__)) ;
extern __uid_t ( __attribute__((__leaf__)) getuid)(void)  __attribute__((__nothrow__)) ;
extern __uid_t ( __attribute__((__leaf__)) geteuid)(void)  __attribute__((__nothrow__)) ;
extern __gid_t ( __attribute__((__leaf__)) getgid)(void)  __attribute__((__nothrow__)) ;
extern __gid_t ( __attribute__((__leaf__)) getegid)(void)  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__warn_unused_result__, __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) getgroups)(int __size , __gid_t *__list )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) group_member)(__gid_t __gid )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) setuid)(__uid_t __uid )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) setreuid)(__uid_t __ruid ,
                                                                         __uid_t __euid )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) seteuid)(__uid_t __uid )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) setgid)(__gid_t __gid )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) setregid)(__gid_t __rgid ,
                                                                         __gid_t __egid )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) setegid)(__gid_t __gid )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) getresuid)(__uid_t *__ruid , __uid_t *__euid ,
                                                  __uid_t *__suid )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) getresgid)(__gid_t *__rgid , __gid_t *__egid ,
                                                  __gid_t *__sgid )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) setresuid)(__uid_t __ruid ,
                                                                          __uid_t __euid ,
                                                                          __uid_t __suid )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) setresgid)(__gid_t __rgid ,
                                                                          __gid_t __egid ,
                                                                          __gid_t __sgid )  __attribute__((__nothrow__)) ;
extern __pid_t fork(void)  __attribute__((__nothrow__)) ;
extern __pid_t ( __attribute__((__leaf__)) vfork)(void)  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) ttyname)(int __fd )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__warn_unused_result__, __nonnull__(2), __leaf__,
__gnu_inline__, __artificial__, __always_inline__)) ttyname_r)(int __fd , char *__buf ,
                                                               size_t __buflen )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) isatty)(int __fd )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) ttyslot)(void)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1,2), __leaf__)) link)(char const   *__from ,
                                                                                       char const   *__to )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(2,4), __leaf__)) linkat)(int __fromfd ,
                                                                                         char const   *__from ,
                                                                                         int __tofd ,
                                                                                         char const   *__to ,
                                                                                         int __flags )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1,2), __leaf__)) symlink)(char const   *__from ,
                                                                                          char const   *__to )  __attribute__((__nothrow__)) ;
__inline extern ssize_t ( __attribute__((__warn_unused_result__, __nonnull__(1,2),
__leaf__, __gnu_inline__, __artificial__, __always_inline__)) readlink)(char const   *__path ,
                                                                        char *__buf ,
                                                                        size_t __len )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1,3), __leaf__)) symlinkat)(char const   *__from ,
                                                                                            int __tofd ,
                                                                                            char const   *__to )  __attribute__((__nothrow__)) ;
__inline extern ssize_t ( __attribute__((__warn_unused_result__, __nonnull__(2,3),
__leaf__, __gnu_inline__, __artificial__, __always_inline__)) readlinkat)(int __fd ,
                                                                          char const   *__path ,
                                                                          char *__buf ,
                                                                          size_t __len )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) unlink)(char const   *__name )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2), __leaf__)) unlinkat)(int __fd , char const   *__name ,
                                                                 int __flag )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) rmdir)(char const   *__path )  __attribute__((__nothrow__)) ;
extern __pid_t ( __attribute__((__leaf__)) tcgetpgrp)(int __fd )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) tcsetpgrp)(int __fd , __pid_t __pgrp_id )  __attribute__((__nothrow__)) ;
extern char *getlogin(void) ;
__inline extern int ( __attribute__((__nonnull__(1), __gnu_inline__, __artificial__,
__always_inline__)) getlogin_r)(char *__buf , size_t __buflen ) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) setlogin)(char const   *__name )  __attribute__((__nothrow__)) ;
extern char *optarg ;
extern int optind ;
extern int opterr ;
extern int optopt ;
extern int ( __attribute__((__nonnull__(2,3), __leaf__)) getopt)(int ___argc , char **___argv ,
                                                                 char const   *__shortopts )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(1), __leaf__, __gnu_inline__, __artificial__,
__always_inline__)) gethostname)(char *__buf , size_t __buflen )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) sethostname)(char const   *__name ,
                                                                                            size_t __len )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) sethostid)(long __id )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__,
__gnu_inline__, __artificial__, __always_inline__)) getdomainname)(char *__buf , size_t __buflen )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) setdomainname)(char const   *__name ,
                                                                                              size_t __len )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) vhangup)(void)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) revoke)(char const   *__file )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) profil)(unsigned short *__sample_buffer ,
                                                               size_t __size , size_t __offset ,
                                                               unsigned int __scale )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) acct)(char const   *__name )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) getusershell)(void)  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__leaf__)) endusershell)(void)  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__leaf__)) setusershell)(void)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) daemon)(int __nochdir ,
                                                                       int __noclose )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) chroot)(char const   *__path )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__nonnull__(1))) getpass)(char const   *__prompt ) ;
extern int fsync(int __fd ) ;
extern int ( __attribute__((__leaf__)) syncfs)(int __fd )  __attribute__((__nothrow__)) ;
extern long gethostid(void) ;
extern void ( __attribute__((__leaf__)) sync)(void)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) getpagesize)(void)  __attribute__((__nothrow__,
__const__)) ;
extern int ( __attribute__((__leaf__)) getdtablesize)(void)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) truncate)(char const   *__file ,
                                                                                         __off_t __length )  __asm__("truncate64") __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) truncate64)(char const   *__file ,
                                                                                           __off_t __length )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) ftruncate)(int __fd ,
                                                                          __off_t __length )  __asm__("ftruncate64") __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) ftruncate64)(int __fd ,
                                                                            __off_t __length )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) brk)(void *__addr )  __attribute__((__nothrow__)) ;
extern void *( __attribute__((__leaf__)) sbrk)(intptr_t __delta )  __attribute__((__nothrow__)) ;
extern long ( __attribute__((__leaf__)) syscall)(long __sysno  , ...)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__)) lockf)(int __fd , int __cmd ,
                                                            __off_t __len )  __asm__("lockf64")  ;
extern int ( __attribute__((__warn_unused_result__)) lockf64)(int __fd , int __cmd ,
                                                              __off_t __len ) ;
extern ssize_t copy_file_range(int __infd , __off_t *__pinoff , int __outfd , __off_t *__poutoff ,
                               size_t __length , unsigned int __flags ) ;
extern int fdatasync(int __fildes ) ;
extern char *( __attribute__((__nonnull__(1,2), __leaf__)) crypt)(char const   *__key ,
                                                                  char const   *__salt )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__nonnull__(1), __leaf__)) encrypt)(char *__glibc_block ,
                                                                 int __edflag )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__nonnull__(1,2), __leaf__)) swab)(void const   *__from ,
                                                                void *__to , ssize_t __n )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__)) getentropy)(void *__buffer ,
                                                                 size_t __length ) ;
extern ssize_t ( __attribute__((__warn_unused_result__)) __read_chk)(int __fd , void *__buf ,
                                                                     size_t __nbytes ,
                                                                     size_t __buflen ) ;
extern ssize_t ( __attribute__((__warn_unused_result__)) __read_alias)(int __fd ,
                                                                       void *__buf ,
                                                                       size_t __nbytes )  __asm__("read")  ;
extern ssize_t ( __attribute__((__warn_unused_result__)) __read_chk_warn)(int __fd ,
                                                                          void *__buf ,
                                                                          size_t __nbytes ,
                                                                          size_t __buflen )  __asm__("__read_chk") __attribute__((__warning__("read called with bigger length than size of the destination buffer"))) ;
__inline extern ssize_t ( __attribute__((__warn_unused_result__, __gnu_inline__, __artificial__,
__always_inline__)) read)(int __fd , void *__buf , size_t __nbytes )
{
  unsigned long tmp ;
  ssize_t tmp___0 ;
  unsigned long tmp___1 ;
  ssize_t tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  ssize_t tmp___5 ;

  {
  tmp___4 = __builtin_object_size(__buf, 0);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size(__buf, 0);
    tmp___0 = __read_chk(__fd, __buf, __nbytes, tmp);
    return (tmp___0);
    tmp___3 = __builtin_object_size(__buf, 0);
    if (__nbytes > tmp___3) {
      tmp___1 = __builtin_object_size(__buf, 0);
      tmp___2 = __read_chk_warn(__fd, __buf, __nbytes, tmp___1);
      return (tmp___2);
    }
  }
  tmp___5 = __read_alias(__fd, __buf, __nbytes);
  return (tmp___5);
}
}
extern ssize_t ( __attribute__((__warn_unused_result__)) __pread_chk)(int __fd , void *__buf ,
                                                                      size_t __nbytes ,
                                                                      __off_t __offset ,
                                                                      size_t __bufsize ) ;
extern ssize_t ( __attribute__((__warn_unused_result__)) __pread64_chk)(int __fd ,
                                                                        void *__buf ,
                                                                        size_t __nbytes ,
                                                                        __off_t __offset ,
                                                                        size_t __bufsize ) ;
extern ssize_t ( __attribute__((__warn_unused_result__)) __pread_alias)(int __fd ,
                                                                        void *__buf ,
                                                                        size_t __nbytes ,
                                                                        __off_t __offset )  __asm__("pread")  ;
extern ssize_t ( __attribute__((__warn_unused_result__)) __pread64_alias)(int __fd ,
                                                                          void *__buf ,
                                                                          size_t __nbytes ,
                                                                          __off_t __offset )  __asm__("pread64")  ;
extern ssize_t ( __attribute__((__warn_unused_result__)) __pread_chk_warn)(int __fd ,
                                                                           void *__buf ,
                                                                           size_t __nbytes ,
                                                                           __off_t __offset ,
                                                                           size_t __bufsize )  __asm__("__pread_chk") __attribute__((__warning__("pread called with bigger length than size of the destination buffer"))) ;
extern ssize_t ( __attribute__((__warn_unused_result__)) __pread64_chk_warn)(int __fd ,
                                                                             void *__buf ,
                                                                             size_t __nbytes ,
                                                                             __off_t __offset ,
                                                                             size_t __bufsize )  __asm__("__pread64_chk") __attribute__((__warning__("pread64 called with bigger length than size of the destination buffer"))) ;
__inline extern ssize_t ( __attribute__((__warn_unused_result__, __gnu_inline__, __artificial__,
__always_inline__)) pread)(int __fd , void *__buf , size_t __nbytes , __off_t __offset )  __asm__("pread64")  ;
__inline extern ssize_t ( __attribute__((__warn_unused_result__, __gnu_inline__, __artificial__,
__always_inline__)) pread)(int __fd , void *__buf , size_t __nbytes , __off_t __offset )
{
  unsigned long tmp ;
  ssize_t tmp___0 ;
  unsigned long tmp___1 ;
  ssize_t tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  ssize_t tmp___5 ;

  {
  tmp___4 = __builtin_object_size(__buf, 0);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size(__buf, 0);
    tmp___0 = __pread64_chk(__fd, __buf, __nbytes, __offset, tmp);
    return (tmp___0);
    tmp___3 = __builtin_object_size(__buf, 0);
    if (__nbytes > tmp___3) {
      tmp___1 = __builtin_object_size(__buf, 0);
      tmp___2 = __pread64_chk_warn(__fd, __buf, __nbytes, __offset, tmp___1);
      return (tmp___2);
    }
  }
  tmp___5 = __pread64_alias(__fd, __buf, __nbytes, __offset);
  return (tmp___5);
}
}
__inline extern ssize_t ( __attribute__((__warn_unused_result__, __gnu_inline__, __artificial__,
__always_inline__)) pread64)(int __fd , void *__buf , size_t __nbytes , __off_t __offset )
{
  unsigned long tmp ;
  ssize_t tmp___0 ;
  unsigned long tmp___1 ;
  ssize_t tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  ssize_t tmp___5 ;

  {
  tmp___4 = __builtin_object_size(__buf, 0);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size(__buf, 0);
    tmp___0 = __pread64_chk(__fd, __buf, __nbytes, __offset, tmp);
    return (tmp___0);
    tmp___3 = __builtin_object_size(__buf, 0);
    if (__nbytes > tmp___3) {
      tmp___1 = __builtin_object_size(__buf, 0);
      tmp___2 = __pread64_chk_warn(__fd, __buf, __nbytes, __offset, tmp___1);
      return (tmp___2);
    }
  }
  tmp___5 = __pread64_alias(__fd, __buf, __nbytes, __offset);
  return (tmp___5);
}
}
extern ssize_t ( __attribute__((__warn_unused_result__, __nonnull__(1,2), __leaf__)) __readlink_chk)(char const   *__path ,
                                                                                                     char *__buf ,
                                                                                                     size_t __len ,
                                                                                                     size_t __buflen )  __attribute__((__nothrow__)) ;
extern ssize_t ( __attribute__((__warn_unused_result__, __nonnull__(1,2), __leaf__)) __readlink_alias)(char const   *__path ,
                                                                                                       char *__buf ,
                                                                                                       size_t __len )  __asm__("readlink") __attribute__((__nothrow__)) ;
extern ssize_t ( __attribute__((__warn_unused_result__, __nonnull__(1,2), __leaf__)) __readlink_chk_warn)(char const   *__path ,
                                                                                                          char *__buf ,
                                                                                                          size_t __len ,
                                                                                                          size_t __buflen )  __asm__("__readlink_chk") __attribute__((__warning__("readlink called with bigger length than size of destination buffer"),
__nothrow__)) ;
__inline extern ssize_t ( __attribute__((__warn_unused_result__, __nonnull__(1,2),
__leaf__, __gnu_inline__, __artificial__, __always_inline__)) readlink)(char const   *__path ,
                                                                        char *__buf ,
                                                                        size_t __len )  __attribute__((__nothrow__)) ;
__inline extern ssize_t ( __attribute__((__warn_unused_result__, __nonnull__(1,2),
__leaf__, __gnu_inline__, __artificial__, __always_inline__)) readlink)(char const   *__path ,
                                                                        char *__buf ,
                                                                        size_t __len )
{
  unsigned long tmp ;
  ssize_t tmp___0 ;
  unsigned long tmp___1 ;
  ssize_t tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  ssize_t tmp___5 ;

  {
  tmp___4 = __builtin_object_size((void *)__buf, 1);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size((void *)__buf, 1);
    tmp___0 = __readlink_chk((char const   * __restrict  )__path, (char * __restrict  )__buf,
                             __len, tmp);
    return (tmp___0);
    tmp___3 = __builtin_object_size((void *)__buf, 1);
    if (__len > tmp___3) {
      tmp___1 = __builtin_object_size((void *)__buf, 1);
      tmp___2 = __readlink_chk_warn((char const   * __restrict  )__path, (char * __restrict  )__buf,
                                    __len, tmp___1);
      return (tmp___2);
    }
  }
  tmp___5 = __readlink_alias((char const   * __restrict  )__path, (char * __restrict  )__buf,
                             __len);
  return (tmp___5);
}
}
extern ssize_t ( __attribute__((__warn_unused_result__, __nonnull__(2,3), __leaf__)) __readlinkat_chk)(int __fd ,
                                                                                                       char const   *__path ,
                                                                                                       char *__buf ,
                                                                                                       size_t __len ,
                                                                                                       size_t __buflen )  __attribute__((__nothrow__)) ;
extern ssize_t ( __attribute__((__warn_unused_result__, __nonnull__(2,3), __leaf__)) __readlinkat_alias)(int __fd ,
                                                                                                         char const   *__path ,
                                                                                                         char *__buf ,
                                                                                                         size_t __len )  __asm__("readlinkat") __attribute__((__nothrow__)) ;
extern ssize_t ( __attribute__((__warn_unused_result__, __nonnull__(2,3), __leaf__)) __readlinkat_chk_warn)(int __fd ,
                                                                                                            char const   *__path ,
                                                                                                            char *__buf ,
                                                                                                            size_t __len ,
                                                                                                            size_t __buflen )  __asm__("__readlinkat_chk") __attribute__((__warning__("readlinkat called with bigger length than size of destination buffer"),
__nothrow__)) ;
__inline extern ssize_t ( __attribute__((__warn_unused_result__, __nonnull__(2,3),
__leaf__, __gnu_inline__, __artificial__, __always_inline__)) readlinkat)(int __fd ,
                                                                          char const   *__path ,
                                                                          char *__buf ,
                                                                          size_t __len )  __attribute__((__nothrow__)) ;
__inline extern ssize_t ( __attribute__((__warn_unused_result__, __nonnull__(2,3),
__leaf__, __gnu_inline__, __artificial__, __always_inline__)) readlinkat)(int __fd ,
                                                                          char const   *__path ,
                                                                          char *__buf ,
                                                                          size_t __len )
{
  unsigned long tmp ;
  ssize_t tmp___0 ;
  unsigned long tmp___1 ;
  ssize_t tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  ssize_t tmp___5 ;

  {
  tmp___4 = __builtin_object_size((void *)__buf, 1);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size((void *)__buf, 1);
    tmp___0 = __readlinkat_chk(__fd, (char const   * __restrict  )__path, (char * __restrict  )__buf,
                               __len, tmp);
    return (tmp___0);
    tmp___3 = __builtin_object_size((void *)__buf, 1);
    if (__len > tmp___3) {
      tmp___1 = __builtin_object_size((void *)__buf, 1);
      tmp___2 = __readlinkat_chk_warn(__fd, (char const   * __restrict  )__path, (char * __restrict  )__buf,
                                      __len, tmp___1);
      return (tmp___2);
    }
  }
  tmp___5 = __readlinkat_alias(__fd, (char const   * __restrict  )__path, (char * __restrict  )__buf,
                               __len);
  return (tmp___5);
}
}
extern char *( __attribute__((__warn_unused_result__, __leaf__)) __getcwd_chk)(char *__buf ,
                                                                               size_t __size ,
                                                                               size_t __buflen )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__warn_unused_result__, __leaf__)) __getcwd_alias)(char *__buf ,
                                                                                 size_t __size )  __asm__("getcwd") __attribute__((__nothrow__)) ;
extern char *( __attribute__((__warn_unused_result__, __leaf__)) __getcwd_chk_warn)(char *__buf ,
                                                                                    size_t __size ,
                                                                                    size_t __buflen )  __asm__("__getcwd_chk") __attribute__((__warning__("getcwd caller with bigger length than size of destination buffer"),
__nothrow__)) ;
__inline extern char *( __attribute__((__warn_unused_result__, __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) getcwd)(char *__buf , size_t __size )  __attribute__((__nothrow__)) ;
__inline extern char *( __attribute__((__warn_unused_result__, __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) getcwd)(char *__buf , size_t __size )
{
  unsigned long tmp ;
  char *tmp___0 ;
  unsigned long tmp___1 ;
  char *tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  char *tmp___5 ;

  {
  tmp___4 = __builtin_object_size((void *)__buf, 1);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size((void *)__buf, 1);
    tmp___0 = __getcwd_chk(__buf, __size, tmp);
    return (tmp___0);
    tmp___3 = __builtin_object_size((void *)__buf, 1);
    if (__size > tmp___3) {
      tmp___1 = __builtin_object_size((void *)__buf, 1);
      tmp___2 = __getcwd_chk_warn(__buf, __size, tmp___1);
      return (tmp___2);
    }
  }
  tmp___5 = __getcwd_alias(__buf, __size);
  return (tmp___5);
}
}
extern char *( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) __getwd_chk)(char *__buf ,
                                                                                              size_t buflen )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) __getwd_warn)(char *__buf )  __asm__("getwd") __attribute__((__warning__("please use getcwd instead, as getwd doesn\'t specify buffer size"),
__nothrow__)) ;
__inline extern char __attribute__((__deprecated__))  *( __attribute__((__warn_unused_result__,
__nonnull__(1), __leaf__, __gnu_inline__, __artificial__, __always_inline__)) getwd)(char *__buf )  __attribute__((__nothrow__,
__deprecated__)) ;
__inline extern char __attribute__((__deprecated__))  *( __attribute__((__warn_unused_result__,
__nonnull__(1), __leaf__, __gnu_inline__, __artificial__, __always_inline__)) getwd)(char *__buf )
{
  unsigned long tmp ;
  char *tmp___0 ;
  unsigned long tmp___1 ;
  char *tmp___2 ;

  {
  tmp___1 = __builtin_object_size((void *)__buf, 1);
  if (tmp___1 != 18446744073709551615UL) {
    tmp = __builtin_object_size((void *)__buf, 1);
    tmp___0 = __getwd_chk(__buf, tmp);
    return ((char __attribute__((__deprecated__))  *)tmp___0);
  }
  tmp___2 = __getwd_warn(__buf);
  return ((char __attribute__((__deprecated__))  *)tmp___2);
}
}
extern size_t ( __attribute__((__leaf__)) __confstr_chk)(int __name , char *__buf ,
                                                         size_t __len , size_t __buflen )  __attribute__((__nothrow__)) ;
extern size_t ( __attribute__((__leaf__)) __confstr_alias)(int __name , char *__buf ,
                                                           size_t __len )  __asm__("confstr") __attribute__((__nothrow__)) ;
extern size_t ( __attribute__((__leaf__)) __confstr_chk_warn)(int __name , char *__buf ,
                                                              size_t __len , size_t __buflen )  __asm__("__confstr_chk") __attribute__((__warning__("confstr called with bigger length than size of destination buffer"),
__nothrow__)) ;
__inline extern size_t ( __attribute__((__leaf__, __gnu_inline__, __artificial__,
__always_inline__)) confstr)(int __name , char *__buf , size_t __len )  __attribute__((__nothrow__)) ;
__inline extern size_t ( __attribute__((__leaf__, __gnu_inline__, __artificial__,
__always_inline__)) confstr)(int __name , char *__buf , size_t __len )
{
  unsigned long tmp ;
  size_t tmp___0 ;
  unsigned long tmp___1 ;
  size_t tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  size_t tmp___5 ;

  {
  tmp___4 = __builtin_object_size((void *)__buf, 1);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size((void *)__buf, 1);
    tmp___0 = __confstr_chk(__name, __buf, __len, tmp);
    return (tmp___0);
    tmp___3 = __builtin_object_size((void *)__buf, 1);
    if (tmp___3 < __len) {
      tmp___1 = __builtin_object_size((void *)__buf, 1);
      tmp___2 = __confstr_chk_warn(__name, __buf, __len, tmp___1);
      return (tmp___2);
    }
  }
  tmp___5 = __confstr_alias(__name, __buf, __len);
  return (tmp___5);
}
}
extern int ( __attribute__((__warn_unused_result__, __leaf__)) __getgroups_chk)(int __size ,
                                                                                __gid_t *__list ,
                                                                                size_t __listlen )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) __getgroups_alias)(int __size ,
                                                                                  __gid_t *__list )  __asm__("getgroups") __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) __getgroups_chk_warn)(int __size ,
                                                                                     __gid_t *__list ,
                                                                                     size_t __listlen )  __asm__("__getgroups_chk") __attribute__((__warning__("getgroups called with bigger group count than what can fit into destination buffer"),
__nothrow__)) ;
__inline extern int ( __attribute__((__warn_unused_result__, __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) getgroups)(int __size , __gid_t *__list )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__warn_unused_result__, __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) getgroups)(int __size , __gid_t *__list )
{
  unsigned long tmp ;
  int tmp___0 ;
  unsigned long tmp___1 ;
  int tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  int tmp___5 ;

  {
  tmp___4 = __builtin_object_size((void *)__list, 1);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size((void *)__list, 1);
    tmp___0 = __getgroups_chk(__size, __list, tmp);
    return (tmp___0);
    tmp___3 = __builtin_object_size((void *)__list, 1);
    if ((unsigned long )__size * sizeof(__gid_t ) > tmp___3) {
      tmp___1 = __builtin_object_size((void *)__list, 1);
      tmp___2 = __getgroups_chk_warn(__size, __list, tmp___1);
      return (tmp___2);
    }
  }
  tmp___5 = __getgroups_alias(__size, __list);
  return (tmp___5);
}
}
extern int ( __attribute__((__nonnull__(2), __leaf__)) __ttyname_r_chk)(int __fd ,
                                                                        char *__buf ,
                                                                        size_t __buflen ,
                                                                        size_t __nreal )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2), __leaf__)) __ttyname_r_alias)(int __fd ,
                                                                          char *__buf ,
                                                                          size_t __buflen )  __asm__("ttyname_r") __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2), __leaf__)) __ttyname_r_chk_warn)(int __fd ,
                                                                             char *__buf ,
                                                                             size_t __buflen ,
                                                                             size_t __nreal )  __asm__("__ttyname_r_chk") __attribute__((__warning__("ttyname_r called with bigger buflen than size of destination buffer"),
__nothrow__)) ;
__inline extern int ( __attribute__((__warn_unused_result__, __nonnull__(2), __leaf__,
__gnu_inline__, __artificial__, __always_inline__)) ttyname_r)(int __fd , char *__buf ,
                                                               size_t __buflen )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__warn_unused_result__, __nonnull__(2), __leaf__,
__gnu_inline__, __artificial__, __always_inline__)) ttyname_r)(int __fd , char *__buf ,
                                                               size_t __buflen )
{
  unsigned long tmp ;
  int tmp___0 ;
  unsigned long tmp___1 ;
  int tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  int tmp___5 ;

  {
  tmp___4 = __builtin_object_size((void *)__buf, 1);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size((void *)__buf, 1);
    tmp___0 = __ttyname_r_chk(__fd, __buf, __buflen, tmp);
    return (tmp___0);
    tmp___3 = __builtin_object_size((void *)__buf, 1);
    if (__buflen > tmp___3) {
      tmp___1 = __builtin_object_size((void *)__buf, 1);
      tmp___2 = __ttyname_r_chk_warn(__fd, __buf, __buflen, tmp___1);
      return (tmp___2);
    }
  }
  tmp___5 = __ttyname_r_alias(__fd, __buf, __buflen);
  return (tmp___5);
}
}
extern int ( __attribute__((__nonnull__(1))) __getlogin_r_chk)(char *__buf , size_t __buflen ,
                                                               size_t __nreal ) ;
extern int ( __attribute__((__nonnull__(1))) __getlogin_r_alias)(char *__buf , size_t __buflen )  __asm__("getlogin_r")  ;
extern int ( __attribute__((__nonnull__(1))) __getlogin_r_chk_warn)(char *__buf ,
                                                                    size_t __buflen ,
                                                                    size_t __nreal )  __asm__("__getlogin_r_chk") __attribute__((__warning__("getlogin_r called with bigger buflen than size of destination buffer"))) ;
__inline extern int ( __attribute__((__nonnull__(1), __gnu_inline__, __artificial__,
__always_inline__)) getlogin_r)(char *__buf , size_t __buflen )
{
  unsigned long tmp ;
  int tmp___0 ;
  unsigned long tmp___1 ;
  int tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  int tmp___5 ;

  {
  tmp___4 = __builtin_object_size((void *)__buf, 1);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size((void *)__buf, 1);
    tmp___0 = __getlogin_r_chk(__buf, __buflen, tmp);
    return (tmp___0);
    tmp___3 = __builtin_object_size((void *)__buf, 1);
    if (__buflen > tmp___3) {
      tmp___1 = __builtin_object_size((void *)__buf, 1);
      tmp___2 = __getlogin_r_chk_warn(__buf, __buflen, tmp___1);
      return (tmp___2);
    }
  }
  tmp___5 = __getlogin_r_alias(__buf, __buflen);
  return (tmp___5);
}
}
extern int ( __attribute__((__nonnull__(1), __leaf__)) __gethostname_chk)(char *__buf ,
                                                                          size_t __buflen ,
                                                                          size_t __nreal )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) __gethostname_alias)(char *__buf ,
                                                                            size_t __buflen )  __asm__("gethostname") __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) __gethostname_chk_warn)(char *__buf ,
                                                                               size_t __buflen ,
                                                                               size_t __nreal )  __asm__("__gethostname_chk") __attribute__((__warning__("gethostname called with bigger buflen than size of destination buffer"),
__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(1), __leaf__, __gnu_inline__, __artificial__,
__always_inline__)) gethostname)(char *__buf , size_t __buflen )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(1), __leaf__, __gnu_inline__, __artificial__,
__always_inline__)) gethostname)(char *__buf , size_t __buflen )
{
  unsigned long tmp ;
  int tmp___0 ;
  unsigned long tmp___1 ;
  int tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  int tmp___5 ;

  {
  tmp___4 = __builtin_object_size((void *)__buf, 1);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size((void *)__buf, 1);
    tmp___0 = __gethostname_chk(__buf, __buflen, tmp);
    return (tmp___0);
    tmp___3 = __builtin_object_size((void *)__buf, 1);
    if (__buflen > tmp___3) {
      tmp___1 = __builtin_object_size((void *)__buf, 1);
      tmp___2 = __gethostname_chk_warn(__buf, __buflen, tmp___1);
      return (tmp___2);
    }
  }
  tmp___5 = __gethostname_alias(__buf, __buflen);
  return (tmp___5);
}
}
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) __getdomainname_chk)(char *__buf ,
                                                                                                    size_t __buflen ,
                                                                                                    size_t __nreal )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) __getdomainname_alias)(char *__buf ,
                                                                                                      size_t __buflen )  __asm__("getdomainname") __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) __getdomainname_chk_warn)(char *__buf ,
                                                                                                         size_t __buflen ,
                                                                                                         size_t __nreal )  __asm__("__getdomainname_chk") __attribute__((__warning__("getdomainname called with bigger buflen than size of destination buffer"),
__nothrow__)) ;
__inline extern int ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__,
__gnu_inline__, __artificial__, __always_inline__)) getdomainname)(char *__buf , size_t __buflen )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__,
__gnu_inline__, __artificial__, __always_inline__)) getdomainname)(char *__buf , size_t __buflen )
{
  unsigned long tmp ;
  int tmp___0 ;
  unsigned long tmp___1 ;
  int tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  int tmp___5 ;

  {
  tmp___4 = __builtin_object_size((void *)__buf, 1);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size((void *)__buf, 1);
    tmp___0 = __getdomainname_chk(__buf, __buflen, tmp);
    return (tmp___0);
    tmp___3 = __builtin_object_size((void *)__buf, 1);
    if (__buflen > tmp___3) {
      tmp___1 = __builtin_object_size((void *)__buf, 1);
      tmp___2 = __getdomainname_chk_warn(__buf, __buflen, tmp___1);
      return (tmp___2);
    }
  }
  tmp___5 = __getdomainname_alias(__buf, __buflen);
  return (tmp___5);
}
}
extern struct _IO_FILE_plus _IO_2_1_stdin_ ;
extern struct _IO_FILE_plus _IO_2_1_stdout_ ;
extern struct _IO_FILE_plus _IO_2_1_stderr_ ;
extern void _IO_cookie_init(struct _IO_cookie_file *__cfile , int __read_write , void *__cookie ,
                            _IO_cookie_io_functions_t __fns ) ;
extern int __underflow(_IO_FILE * ) ;
extern int __uflow(_IO_FILE * ) ;
extern int __overflow(_IO_FILE * , int  ) ;
extern int _IO_getc(_IO_FILE *__fp ) ;
extern int _IO_putc(int __c , _IO_FILE *__fp ) ;
extern int ( __attribute__((__leaf__)) _IO_feof)(_IO_FILE *__fp )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) _IO_ferror)(_IO_FILE *__fp )  __attribute__((__nothrow__)) ;
extern int _IO_peekc_locked(_IO_FILE *__fp ) ;
extern void ( __attribute__((__leaf__)) _IO_flockfile)(_IO_FILE * )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__leaf__)) _IO_funlockfile)(_IO_FILE * )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) _IO_ftrylockfile)(_IO_FILE * )  __attribute__((__nothrow__)) ;
extern int _IO_vfscanf(_IO_FILE * , char const   * , __gnuc_va_list  , int * ) ;
extern int _IO_vfprintf(_IO_FILE * , char const   * , __gnuc_va_list  ) ;
extern __ssize_t _IO_padn(_IO_FILE * , int  , __ssize_t  ) ;
extern size_t _IO_sgetn(_IO_FILE * , void * , size_t  ) ;
extern __off_t _IO_seekoff(_IO_FILE * , __off_t  , int  , int  ) ;
extern __off_t _IO_seekpos(_IO_FILE * , __off_t  , int  ) ;
extern void ( __attribute__((__leaf__)) _IO_free_backup_area)(_IO_FILE * )  __attribute__((__nothrow__)) ;
extern struct _IO_FILE *stdin ;
extern struct _IO_FILE *stdout ;
extern struct _IO_FILE *stderr ;
extern int ( __attribute__((__leaf__)) remove)(char const   *__filename )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) rename)(char const   *__old , char const   *__new )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) renameat)(int __oldfd , char const   *__old ,
                                                 int __newfd , char const   *__new )  __attribute__((__nothrow__)) ;
extern FILE *( __attribute__((__warn_unused_result__)) tmpfile)(void)  __asm__("tmpfile64")  ;
extern FILE *( __attribute__((__warn_unused_result__)) tmpfile64)(void) ;
extern char *( __attribute__((__warn_unused_result__, __leaf__)) tmpnam)(char *__s )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__warn_unused_result__, __leaf__)) tmpnam_r)(char *__s )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__warn_unused_result__, __leaf__)) tempnam)(char const   *__dir ,
                                                                          char const   *__pfx )  __attribute__((__nothrow__,
__malloc__)) ;
extern int fclose(FILE *__stream ) ;
extern int fflush(FILE *__stream ) ;
extern int fflush_unlocked(FILE *__stream ) ;
extern int fcloseall(void) ;
extern FILE *( __attribute__((__warn_unused_result__)) fopen)(char const   *__filename ,
                                                              char const   *__modes )  __asm__("fopen64")  ;
extern FILE *( __attribute__((__warn_unused_result__)) freopen)(char const   *__filename ,
                                                                char const   *__modes ,
                                                                FILE *__stream )  __asm__("freopen64")  ;
extern FILE *( __attribute__((__warn_unused_result__)) fopen64)(char const   *__filename ,
                                                                char const   *__modes ) ;
extern FILE *( __attribute__((__warn_unused_result__)) freopen64)(char const   *__filename ,
                                                                  char const   *__modes ,
                                                                  FILE *__stream ) ;
extern FILE *( __attribute__((__warn_unused_result__, __leaf__)) fdopen)(int __fd ,
                                                                         char const   *__modes )  __attribute__((__nothrow__)) ;
extern FILE *( __attribute__((__warn_unused_result__, __leaf__)) fopencookie)(void *__magic_cookie ,
                                                                              char const   *__modes ,
                                                                              _IO_cookie_io_functions_t __io_funcs )  __attribute__((__nothrow__)) ;
extern FILE *( __attribute__((__warn_unused_result__, __leaf__)) fmemopen)(void *__s ,
                                                                           size_t __len ,
                                                                           char const   *__modes )  __attribute__((__nothrow__)) ;
extern FILE *( __attribute__((__warn_unused_result__, __leaf__)) open_memstream)(char **__bufloc ,
                                                                                 size_t *__sizeloc )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__leaf__)) setbuf)(FILE *__stream , char *__buf )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) setvbuf)(FILE *__stream , char *__buf , int __modes ,
                                                size_t __n )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__leaf__)) setbuffer)(FILE *__stream , char *__buf ,
                                                   size_t __size )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__leaf__)) setlinebuf)(FILE *__stream )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__gnu_inline__, __artificial__, __always_inline__)) fprintf)(FILE *__stream ,
                                                                                                  char const   *__fmt
                                                                                                  , ...) ;
__inline extern int ( __attribute__((__gnu_inline__, __artificial__, __always_inline__)) printf)(char const   *__fmt
                                                                                                 , ...) ;
__inline extern int ( __attribute__((__leaf__, __gnu_inline__, __artificial__, __always_inline__)) sprintf)(char *__s ,
                                                                                                            char const   *__fmt
                                                                                                            , ...)  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__gnu_inline__, __artificial__, __always_inline__)) vfprintf)(FILE *__stream ,
                                                                                                   char const   *__fmt ,
                                                                                                   __gnuc_va_list __ap ) ;
__inline extern int ( __attribute__((__gnu_inline__, __artificial__, __always_inline__)) vprintf)(char const   *__fmt ,
                                                                                                  __gnuc_va_list __ap ) ;
__inline extern int ( __attribute__((__leaf__, __gnu_inline__, __artificial__, __always_inline__)) vsprintf)(char *__s ,
                                                                                                             char const   *__fmt ,
                                                                                                             __gnuc_va_list __ap )  __attribute__((__nothrow__)) ;
__inline extern int ( /* format attribute */ __attribute__((__leaf__, __gnu_inline__,
__artificial__, __always_inline__)) snprintf)(char *__s , size_t __n , char const   *__fmt
                                              , ...)  __attribute__((__nothrow__)) ;
__inline extern int ( /* format attribute */ __attribute__((__leaf__, __gnu_inline__,
__artificial__, __always_inline__)) vsnprintf)(char *__s , size_t __n , char const   *__fmt ,
                                               __gnuc_va_list __ap )  __attribute__((__nothrow__)) ;
__inline extern int ( /* format attribute */ __attribute__((__warn_unused_result__,
__leaf__, __gnu_inline__, __artificial__, __always_inline__)) vasprintf)(char **__ptr ,
                                                                         char const   *__fmt ,
                                                                         __gnuc_va_list __ap )  __attribute__((__nothrow__)) ;
__inline extern int ( /* format attribute */ __attribute__((__warn_unused_result__,
__leaf__, __gnu_inline__, __artificial__, __always_inline__)) __asprintf)(char **__ptr ,
                                                                          char const   *__fmt
                                                                          , ...)  __attribute__((__nothrow__)) ;
__inline extern int ( /* format attribute */ __attribute__((__warn_unused_result__,
__leaf__, __gnu_inline__, __artificial__, __always_inline__)) asprintf)(char **__ptr ,
                                                                        char const   *__fmt
                                                                        , ...)  __attribute__((__nothrow__)) ;
__inline extern int ( /* format attribute */ __attribute__((__gnu_inline__, __artificial__,
__always_inline__)) vdprintf)(int __fd , char const   *__fmt , __gnuc_va_list __ap ) ;
__inline extern int ( /* format attribute */ __attribute__((__gnu_inline__, __artificial__,
__always_inline__)) dprintf)(int __fd , char const   *__fmt  , ...) ;
extern int ( __attribute__((__warn_unused_result__)) fscanf)(FILE *__stream , char const   *__format
                                                             , ...)  __asm__("__isoc99_fscanf")  ;
extern int ( __attribute__((__warn_unused_result__)) scanf)(char const   *__format
                                                            , ...)  __asm__("__isoc99_scanf")  ;
extern int ( __attribute__((__leaf__)) sscanf)(char const   *__s , char const   *__format
                                               , ...)  __asm__("__isoc99_sscanf") __attribute__((__nothrow__)) ;
extern int ( /* format attribute */ __attribute__((__warn_unused_result__)) vfscanf)(FILE *__s ,
                                                                                     char const   *__format ,
                                                                                     __gnuc_va_list __arg )  __asm__("__isoc99_vfscanf")  ;
extern int ( /* format attribute */ __attribute__((__warn_unused_result__)) vscanf)(char const   *__format ,
                                                                                    __gnuc_va_list __arg )  __asm__("__isoc99_vscanf")  ;
extern int ( /* format attribute */ __attribute__((__leaf__)) vsscanf)(char const   *__s ,
                                                                       char const   *__format ,
                                                                       __gnuc_va_list __arg )  __asm__("__isoc99_vsscanf") __attribute__((__nothrow__)) ;
extern int fgetc(FILE *__stream ) ;
extern int getc(FILE *__stream ) ;
__inline extern int ( __attribute__((__gnu_inline__)) getchar)(void) ;
__inline extern int ( __attribute__((__gnu_inline__)) getc_unlocked)(FILE *__fp ) ;
__inline extern int ( __attribute__((__gnu_inline__)) getchar_unlocked)(void) ;
__inline extern int ( __attribute__((__gnu_inline__)) fgetc_unlocked)(FILE *__fp ) ;
extern int fputc(int __c , FILE *__stream ) ;
extern int putc(int __c , FILE *__stream ) ;
__inline extern int ( __attribute__((__gnu_inline__)) putchar)(int __c ) ;
__inline extern int ( __attribute__((__gnu_inline__)) fputc_unlocked)(int __c , FILE *__stream ) ;
__inline extern int ( __attribute__((__gnu_inline__)) putc_unlocked)(int __c , FILE *__stream ) ;
__inline extern int ( __attribute__((__gnu_inline__)) putchar_unlocked)(int __c ) ;
extern int getw(FILE *__stream ) ;
extern int putw(int __w , FILE *__stream ) ;
__inline extern char *( __attribute__((__warn_unused_result__, __gnu_inline__, __artificial__,
__always_inline__)) fgets)(char *__s , int __n , FILE *__stream ) ;
__inline extern char *( __attribute__((__warn_unused_result__, __gnu_inline__, __artificial__,
__always_inline__)) fgets_unlocked)(char *__s , int __n , FILE *__stream ) ;
extern __ssize_t ( __attribute__((__warn_unused_result__)) __getdelim)(char **__lineptr ,
                                                                       size_t *__n ,
                                                                       int __delimiter ,
                                                                       FILE *__stream ) ;
extern __ssize_t ( __attribute__((__warn_unused_result__)) getdelim)(char **__lineptr ,
                                                                     size_t *__n ,
                                                                     int __delimiter ,
                                                                     FILE *__stream ) ;
__inline extern __ssize_t ( __attribute__((__warn_unused_result__, __gnu_inline__)) getline)(char **__lineptr ,
                                                                                             size_t *__n ,
                                                                                             FILE *__stream ) ;
extern int fputs(char const   *__s , FILE *__stream ) ;
extern int puts(char const   *__s ) ;
extern int ungetc(int __c , FILE *__stream ) ;
__inline extern size_t ( __attribute__((__warn_unused_result__, __gnu_inline__, __artificial__,
__always_inline__)) fread)(void *__ptr , size_t __size , size_t __n , FILE *__stream ) ;
extern size_t fwrite(void const   *__ptr , size_t __size , size_t __n , FILE *__s ) ;
extern int fputs_unlocked(char const   *__s , FILE *__stream ) ;
__inline extern size_t ( __attribute__((__warn_unused_result__, __gnu_inline__, __artificial__,
__always_inline__)) fread_unlocked)(void *__ptr , size_t __size , size_t __n , FILE *__stream ) ;
extern size_t fwrite_unlocked(void const   *__ptr , size_t __size , size_t __n , FILE *__stream ) ;
extern int fseek(FILE *__stream , long __off , int __whence ) ;
extern long ( __attribute__((__warn_unused_result__)) ftell)(FILE *__stream ) ;
extern void rewind(FILE *__stream ) ;
extern int fseeko(FILE *__stream , __off_t __off , int __whence )  __asm__("fseeko64")  ;
extern __off_t ( __attribute__((__warn_unused_result__)) ftello)(FILE *__stream )  __asm__("ftello64")  ;
extern int fgetpos(FILE *__stream , fpos_t *__pos )  __asm__("fgetpos64")  ;
extern int fsetpos(FILE *__stream , fpos_t const   *__pos )  __asm__("fsetpos64")  ;
extern int fseeko64(FILE *__stream , __off_t __off , int __whence ) ;
extern __off_t ( __attribute__((__warn_unused_result__)) ftello64)(FILE *__stream ) ;
extern int fgetpos64(FILE *__stream , fpos64_t *__pos ) ;
extern int fsetpos64(FILE *__stream , fpos64_t const   *__pos ) ;
extern void ( __attribute__((__leaf__)) clearerr)(FILE *__stream )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) feof)(FILE *__stream )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) ferror)(FILE *__stream )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__leaf__)) clearerr_unlocked)(FILE *__stream )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__warn_unused_result__, __leaf__, __gnu_inline__)) feof_unlocked)(FILE *__stream )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__warn_unused_result__, __leaf__, __gnu_inline__)) ferror_unlocked)(FILE *__stream )  __attribute__((__nothrow__)) ;
extern void perror(char const   *__s ) ;
extern int sys_nerr ;
extern char const   *sys_errlist[] ;
extern int _sys_nerr ;
extern char const   *_sys_errlist[] ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) fileno)(FILE *__stream )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) fileno_unlocked)(FILE *__stream )  __attribute__((__nothrow__)) ;
extern FILE *( __attribute__((__warn_unused_result__)) popen)(char const   *__command ,
                                                              char const   *__modes ) ;
extern int pclose(FILE *__stream ) ;
extern char *( __attribute__((__leaf__)) ctermid)(char *__s )  __attribute__((__nothrow__)) ;
extern char *cuserid(char *__s ) ;
__inline extern int ( /* format attribute */ __attribute__((__leaf__, __gnu_inline__,
__artificial__, __always_inline__)) obstack_printf)(struct obstack *__obstack , char const   *__fmt
                                                    , ...)  __attribute__((__nothrow__)) ;
__inline extern int ( /* format attribute */ __attribute__((__leaf__, __gnu_inline__,
__artificial__, __always_inline__)) obstack_vprintf)(struct obstack *__obstack , char const   *__fmt ,
                                                     __gnuc_va_list __ap )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__leaf__)) flockfile)(FILE *__stream )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) ftrylockfile)(FILE *__stream )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__leaf__)) funlockfile)(FILE *__stream )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__gnu_inline__)) getchar)(void)
{
  int tmp ;

  {
  tmp = _IO_getc(stdin);
  return (tmp);
}
}
__inline extern int ( __attribute__((__gnu_inline__)) fgetc_unlocked)(FILE *__fp )
{
  long tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  long tmp___3 ;

  {
  tmp___3 = __builtin_expect((long )((unsigned long )__fp->_IO_read_ptr >= (unsigned long )__fp->_IO_read_end),
                             0L);
  if (tmp___3) {
    tmp___0 = __uflow(__fp);
    tmp___2 = tmp___0;
  } else {
    tmp___1 = __fp->_IO_read_ptr;
    (__fp->_IO_read_ptr) ++;
    tmp___2 = (int )*((unsigned char *)tmp___1);
  }
  return (tmp___2);
}
}
__inline extern int ( __attribute__((__gnu_inline__)) getchar_unlocked)(void)
{
  long tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  long tmp___3 ;

  {
  tmp___3 = __builtin_expect((long )((unsigned long )stdin->_IO_read_ptr >= (unsigned long )stdin->_IO_read_end),
                             0L);
  if (tmp___3) {
    tmp___0 = __uflow(stdin);
    tmp___2 = tmp___0;
  } else {
    tmp___1 = stdin->_IO_read_ptr;
    (stdin->_IO_read_ptr) ++;
    tmp___2 = (int )*((unsigned char *)tmp___1);
  }
  return (tmp___2);
}
}
__inline extern int ( __attribute__((__gnu_inline__)) putchar)(int __c )
{
  int tmp ;

  {
  tmp = _IO_putc(__c, stdout);
  return (tmp);
}
}
__inline extern int ( __attribute__((__gnu_inline__)) fputc_unlocked)(int __c , FILE *__stream )
{
  long tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  char tmp___2 ;
  int tmp___3 ;
  long tmp___4 ;

  {
  tmp___4 = __builtin_expect((long )((unsigned long )__stream->_IO_write_ptr >= (unsigned long )__stream->_IO_write_end),
                             0L);
  if (tmp___4) {
    tmp___0 = __overflow(__stream, (int )((unsigned char )__c));
    tmp___3 = tmp___0;
  } else {
    tmp___1 = __stream->_IO_write_ptr;
    (__stream->_IO_write_ptr) ++;
    tmp___2 = (char )__c;
    *tmp___1 = tmp___2;
    tmp___3 = (int )((unsigned char )tmp___2);
  }
  return (tmp___3);
}
}
__inline extern int ( __attribute__((__gnu_inline__)) putchar_unlocked)(int __c )
{
  long tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  char tmp___2 ;
  int tmp___3 ;
  long tmp___4 ;

  {
  tmp___4 = __builtin_expect((long )((unsigned long )stdout->_IO_write_ptr >= (unsigned long )stdout->_IO_write_end),
                             0L);
  if (tmp___4) {
    tmp___0 = __overflow(stdout, (int )((unsigned char )__c));
    tmp___3 = tmp___0;
  } else {
    tmp___1 = stdout->_IO_write_ptr;
    (stdout->_IO_write_ptr) ++;
    tmp___2 = (char )__c;
    *tmp___1 = tmp___2;
    tmp___3 = (int )((unsigned char )tmp___2);
  }
  return (tmp___3);
}
}
__inline extern __ssize_t ( __attribute__((__warn_unused_result__, __gnu_inline__)) getline)(char **__lineptr ,
                                                                                             size_t *__n ,
                                                                                             FILE *__stream )
{
  __ssize_t tmp ;

  {
  tmp = __getdelim((char ** __restrict  )__lineptr, (size_t * __restrict  )__n, '\n',
                   (FILE * __restrict  )__stream);
  return (tmp);
}
}
__inline extern int ( __attribute__((__warn_unused_result__, __leaf__, __gnu_inline__)) feof_unlocked)(FILE *__stream )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__warn_unused_result__, __leaf__, __gnu_inline__)) feof_unlocked)(FILE *__stream )
{


  {
  return ((__stream->_flags & 0x10) != 0);
}
}
__inline extern int ( __attribute__((__warn_unused_result__, __leaf__, __gnu_inline__)) ferror_unlocked)(FILE *__stream )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__warn_unused_result__, __leaf__, __gnu_inline__)) ferror_unlocked)(FILE *__stream )
{


  {
  return ((__stream->_flags & 0x20) != 0);
}
}
extern int ( __attribute__((__leaf__)) __sprintf_chk)(char *__s , int __flag , size_t __slen ,
                                                      char const   *__format  , ...)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) __vsprintf_chk)(char *__s , int __flag , size_t __slen ,
                                                       char const   *__format , __gnuc_va_list __ap )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__leaf__, __gnu_inline__, __artificial__, __always_inline__)) sprintf)(char *__s ,
                                                                                                            char const   *__fmt
                                                                                                            , ...)  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__leaf__, __gnu_inline__, __artificial__, __always_inline__)) sprintf)(char *__s ,
                                                                                                            char const   *__fmt
                                                                                                            , ...)
{
  unsigned long tmp ;
  int tmp___0 ;

  {
  tmp = __builtin_object_size((void *)__s, 1);
  tmp___0 = __builtin___sprintf_chk(__s, 1, tmp, __fmt, __builtin_va_arg_pack());
  return (tmp___0);
}
}
__inline extern int ( __attribute__((__leaf__, __gnu_inline__, __artificial__, __always_inline__)) vsprintf)(char *__s ,
                                                                                                             char const   *__fmt ,
                                                                                                             __gnuc_va_list __ap )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__leaf__, __gnu_inline__, __artificial__, __always_inline__)) vsprintf)(char *__s ,
                                                                                                             char const   *__fmt ,
                                                                                                             __gnuc_va_list __ap )
{
  unsigned long tmp ;
  int tmp___0 ;

  {
  tmp = __builtin_object_size((void *)__s, 1);
  tmp___0 = __builtin___vsprintf_chk(__s, 1, tmp, __fmt, __ap);
  return (tmp___0);
}
}
extern int ( __attribute__((__leaf__)) __snprintf_chk)(char *__s , size_t __n , int __flag ,
                                                       size_t __slen , char const   *__format
                                                       , ...)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) __vsnprintf_chk)(char *__s , size_t __n , int __flag ,
                                                        size_t __slen , char const   *__format ,
                                                        __gnuc_va_list __ap )  __attribute__((__nothrow__)) ;
__inline extern int ( /* format attribute */ __attribute__((__leaf__, __gnu_inline__,
__artificial__, __always_inline__)) snprintf)(char *__s , size_t __n , char const   *__fmt
                                              , ...)  __attribute__((__nothrow__)) ;
__inline extern int ( /* format attribute */ __attribute__((__leaf__, __gnu_inline__,
__artificial__, __always_inline__)) snprintf)(char *__s , size_t __n , char const   *__fmt
                                              , ...)
{
  unsigned long tmp ;
  int tmp___0 ;

  {
  tmp = __builtin_object_size((void *)__s, 1);
  tmp___0 = __builtin___snprintf_chk(__s, __n, 1, tmp, __fmt, __builtin_va_arg_pack());
  return (tmp___0);
}
}
__inline extern int ( /* format attribute */ __attribute__((__leaf__, __gnu_inline__,
__artificial__, __always_inline__)) vsnprintf)(char *__s , size_t __n , char const   *__fmt ,
                                               __gnuc_va_list __ap )  __attribute__((__nothrow__)) ;
__inline extern int ( /* format attribute */ __attribute__((__leaf__, __gnu_inline__,
__artificial__, __always_inline__)) vsnprintf)(char *__s , size_t __n , char const   *__fmt ,
                                               __gnuc_va_list __ap )
{
  unsigned long tmp ;
  int tmp___0 ;

  {
  tmp = __builtin_object_size((void *)__s, 1);
  tmp___0 = __builtin___vsnprintf_chk(__s, __n, 1, tmp, __fmt, __ap);
  return (tmp___0);
}
}
extern int __fprintf_chk(FILE *__stream , int __flag , char const   *__format  , ...) ;
extern int __printf_chk(int __flag , char const   *__format  , ...) ;
extern int __vfprintf_chk(FILE *__stream , int __flag , char const   *__format , __gnuc_va_list __ap ) ;
extern int __vprintf_chk(int __flag , char const   *__format , __gnuc_va_list __ap ) ;
__inline extern int ( __attribute__((__gnu_inline__, __artificial__, __always_inline__)) fprintf)(FILE *__stream ,
                                                                                                  char const   *__fmt
                                                                                                  , ...)
{
  int tmp ;

  {
  tmp = __fprintf_chk((FILE * __restrict  )__stream, 1, (char const   * __restrict  )__fmt,
                      __builtin_va_arg_pack());
  return (tmp);
}
}
__inline extern int ( __attribute__((__gnu_inline__, __artificial__, __always_inline__)) printf)(char const   *__fmt
                                                                                                 , ...)
{
  int tmp ;

  {
  tmp = __printf_chk(1, (char const   * __restrict  )__fmt, __builtin_va_arg_pack());
  return (tmp);
}
}
__inline extern int ( __attribute__((__gnu_inline__, __artificial__, __always_inline__)) vprintf)(char const   *__fmt ,
                                                                                                  __gnuc_va_list __ap )
{
  int tmp ;

  {
  tmp = __vfprintf_chk((FILE * __restrict  )stdout, 1, (char const   * __restrict  )__fmt,
                       __ap);
  return (tmp);
}
}
__inline extern int ( __attribute__((__gnu_inline__, __artificial__, __always_inline__)) vfprintf)(FILE *__stream ,
                                                                                                   char const   *__fmt ,
                                                                                                   __gnuc_va_list __ap )
{
  int tmp ;

  {
  tmp = __vfprintf_chk((FILE * __restrict  )__stream, 1, (char const   * __restrict  )__fmt,
                       __ap);
  return (tmp);
}
}
extern int ( /* format attribute */  __dprintf_chk)(int __fd , int __flag , char const   *__fmt
                                                    , ...) ;
extern int ( /* format attribute */  __vdprintf_chk)(int __fd , int __flag , char const   *__fmt ,
                                                     __gnuc_va_list __arg ) ;
__inline extern int ( /* format attribute */ __attribute__((__gnu_inline__, __artificial__,
__always_inline__)) dprintf)(int __fd , char const   *__fmt  , ...)
{
  int tmp ;

  {
  tmp = __dprintf_chk(__fd, 1, (char const   * __restrict  )__fmt, __builtin_va_arg_pack());
  return (tmp);
}
}
__inline extern int ( /* format attribute */ __attribute__((__gnu_inline__, __artificial__,
__always_inline__)) vdprintf)(int __fd , char const   *__fmt , __gnuc_va_list __ap )
{
  int tmp ;

  {
  tmp = __vdprintf_chk(__fd, 1, (char const   * __restrict  )__fmt, __ap);
  return (tmp);
}
}
extern int ( /* format attribute */ __attribute__((__warn_unused_result__, __leaf__)) __asprintf_chk)(char **__ptr ,
                                                                                                      int __flag ,
                                                                                                      char const   *__fmt
                                                                                                      , ...)  __attribute__((__nothrow__)) ;
extern int ( /* format attribute */ __attribute__((__warn_unused_result__, __leaf__)) __vasprintf_chk)(char **__ptr ,
                                                                                                       int __flag ,
                                                                                                       char const   *__fmt ,
                                                                                                       __gnuc_va_list __arg )  __attribute__((__nothrow__)) ;
extern int ( /* format attribute */ __attribute__((__leaf__)) __obstack_printf_chk)(struct obstack *__obstack ,
                                                                                    int __flag ,
                                                                                    char const   *__format
                                                                                    , ...)  __attribute__((__nothrow__)) ;
extern int ( /* format attribute */ __attribute__((__leaf__)) __obstack_vprintf_chk)(struct obstack *__obstack ,
                                                                                     int __flag ,
                                                                                     char const   *__format ,
                                                                                     __gnuc_va_list __args )  __attribute__((__nothrow__)) ;
__inline extern int ( /* format attribute */ __attribute__((__warn_unused_result__,
__leaf__, __gnu_inline__, __artificial__, __always_inline__)) asprintf)(char **__ptr ,
                                                                        char const   *__fmt
                                                                        , ...)  __attribute__((__nothrow__)) ;
__inline extern int ( /* format attribute */ __attribute__((__warn_unused_result__,
__leaf__, __gnu_inline__, __artificial__, __always_inline__)) asprintf)(char **__ptr ,
                                                                        char const   *__fmt
                                                                        , ...)
{
  int tmp ;

  {
  tmp = __asprintf_chk((char ** __restrict  )__ptr, 1, (char const   * __restrict  )__fmt,
                       __builtin_va_arg_pack());
  return (tmp);
}
}
__inline extern int ( /* format attribute */ __attribute__((__leaf__, __gnu_inline__,
__artificial__, __always_inline__)) obstack_printf)(struct obstack *__obstack , char const   *__fmt
                                                    , ...)  __attribute__((__nothrow__)) ;
__inline extern int ( /* format attribute */ __attribute__((__leaf__, __gnu_inline__,
__artificial__, __always_inline__)) obstack_printf)(struct obstack *__obstack , char const   *__fmt
                                                    , ...)
{
  int tmp ;

  {
  tmp = __obstack_printf_chk((struct obstack * __restrict  )__obstack, 1, (char const   * __restrict  )__fmt,
                             __builtin_va_arg_pack());
  return (tmp);
}
}
__inline extern int ( /* format attribute */ __attribute__((__warn_unused_result__,
__leaf__, __gnu_inline__, __artificial__, __always_inline__)) vasprintf)(char **__ptr ,
                                                                         char const   *__fmt ,
                                                                         __gnuc_va_list __ap )  __attribute__((__nothrow__)) ;
__inline extern int ( /* format attribute */ __attribute__((__warn_unused_result__,
__leaf__, __gnu_inline__, __artificial__, __always_inline__)) vasprintf)(char **__ptr ,
                                                                         char const   *__fmt ,
                                                                         __gnuc_va_list __ap )
{
  int tmp ;

  {
  tmp = __vasprintf_chk((char ** __restrict  )__ptr, 1, (char const   * __restrict  )__fmt,
                        __ap);
  return (tmp);
}
}
__inline extern int ( /* format attribute */ __attribute__((__leaf__, __gnu_inline__,
__artificial__, __always_inline__)) obstack_vprintf)(struct obstack *__obstack , char const   *__fmt ,
                                                     __gnuc_va_list __ap )  __attribute__((__nothrow__)) ;
__inline extern int ( /* format attribute */ __attribute__((__leaf__, __gnu_inline__,
__artificial__, __always_inline__)) obstack_vprintf)(struct obstack *__obstack , char const   *__fmt ,
                                                     __gnuc_va_list __ap )
{
  int tmp ;

  {
  tmp = __obstack_vprintf_chk((struct obstack * __restrict  )__obstack, 1, (char const   * __restrict  )__fmt,
                              __ap);
  return (tmp);
}
}
extern char *( __attribute__((__warn_unused_result__)) __fgets_chk)(char *__s , size_t __size ,
                                                                    int __n , FILE *__stream ) ;
extern char *( __attribute__((__warn_unused_result__)) __fgets_alias)(char *__s ,
                                                                      int __n , FILE *__stream )  __asm__("fgets")  ;
extern char *( __attribute__((__warn_unused_result__)) __fgets_chk_warn)(char *__s ,
                                                                         size_t __size ,
                                                                         int __n ,
                                                                         FILE *__stream )  __asm__("__fgets_chk") __attribute__((__warning__("fgets called with bigger size than length of destination buffer"))) ;
__inline extern char *( __attribute__((__warn_unused_result__, __gnu_inline__, __artificial__,
__always_inline__)) fgets)(char *__s , int __n , FILE *__stream )
{
  unsigned long tmp ;
  char *tmp___0 ;
  unsigned long tmp___1 ;
  char *tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  char *tmp___5 ;

  {
  tmp___4 = __builtin_object_size((void *)__s, 1);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size((void *)__s, 1);
    tmp___0 = __fgets_chk((char * __restrict  )__s, tmp, __n, (FILE * __restrict  )__stream);
    return (tmp___0);
    tmp___3 = __builtin_object_size((void *)__s, 1);
    if ((size_t )__n > tmp___3) {
      tmp___1 = __builtin_object_size((void *)__s, 1);
      tmp___2 = __fgets_chk_warn((char * __restrict  )__s, tmp___1, __n, (FILE * __restrict  )__stream);
      return (tmp___2);
    }
  }
  tmp___5 = __fgets_alias((char * __restrict  )__s, __n, (FILE * __restrict  )__stream);
  return (tmp___5);
}
}
extern size_t ( __attribute__((__warn_unused_result__)) __fread_chk)(void *__ptr ,
                                                                     size_t __ptrlen ,
                                                                     size_t __size ,
                                                                     size_t __n ,
                                                                     FILE *__stream ) ;
extern size_t ( __attribute__((__warn_unused_result__)) __fread_alias)(void *__ptr ,
                                                                       size_t __size ,
                                                                       size_t __n ,
                                                                       FILE *__stream )  __asm__("fread")  ;
extern size_t ( __attribute__((__warn_unused_result__)) __fread_chk_warn)(void *__ptr ,
                                                                          size_t __ptrlen ,
                                                                          size_t __size ,
                                                                          size_t __n ,
                                                                          FILE *__stream )  __asm__("__fread_chk") __attribute__((__warning__("fread called with bigger size * nmemb than length of destination buffer"))) ;
__inline extern size_t ( __attribute__((__warn_unused_result__, __gnu_inline__, __artificial__,
__always_inline__)) fread)(void *__ptr , size_t __size , size_t __n , FILE *__stream )
{
  unsigned long tmp ;
  size_t tmp___0 ;
  unsigned long tmp___1 ;
  size_t tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  size_t tmp___5 ;

  {
  tmp___4 = __builtin_object_size(__ptr, 0);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size(__ptr, 0);
    tmp___0 = __fread_chk((void * __restrict  )__ptr, tmp, __size, __n, (FILE * __restrict  )__stream);
    return (tmp___0);
    tmp___3 = __builtin_object_size(__ptr, 0);
    if (__size * __n > tmp___3) {
      tmp___1 = __builtin_object_size(__ptr, 0);
      tmp___2 = __fread_chk_warn((void * __restrict  )__ptr, tmp___1, __size, __n,
                                 (FILE * __restrict  )__stream);
      return (tmp___2);
    }
  }
  tmp___5 = __fread_alias((void * __restrict  )__ptr, __size, __n, (FILE * __restrict  )__stream);
  return (tmp___5);
}
}
extern char *( __attribute__((__warn_unused_result__)) __fgets_unlocked_chk)(char *__s ,
                                                                             size_t __size ,
                                                                             int __n ,
                                                                             FILE *__stream ) ;
extern char *( __attribute__((__warn_unused_result__)) __fgets_unlocked_alias)(char *__s ,
                                                                               int __n ,
                                                                               FILE *__stream )  __asm__("fgets_unlocked")  ;
extern char *( __attribute__((__warn_unused_result__)) __fgets_unlocked_chk_warn)(char *__s ,
                                                                                  size_t __size ,
                                                                                  int __n ,
                                                                                  FILE *__stream )  __asm__("__fgets_unlocked_chk") __attribute__((__warning__("fgets_unlocked called with bigger size than length of destination buffer"))) ;
__inline extern char *( __attribute__((__warn_unused_result__, __gnu_inline__, __artificial__,
__always_inline__)) fgets_unlocked)(char *__s , int __n , FILE *__stream )
{
  unsigned long tmp ;
  char *tmp___0 ;
  unsigned long tmp___1 ;
  char *tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  char *tmp___5 ;

  {
  tmp___4 = __builtin_object_size((void *)__s, 1);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size((void *)__s, 1);
    tmp___0 = __fgets_unlocked_chk((char * __restrict  )__s, tmp, __n, (FILE * __restrict  )__stream);
    return (tmp___0);
    tmp___3 = __builtin_object_size((void *)__s, 1);
    if ((size_t )__n > tmp___3) {
      tmp___1 = __builtin_object_size((void *)__s, 1);
      tmp___2 = __fgets_unlocked_chk_warn((char * __restrict  )__s, tmp___1, __n,
                                          (FILE * __restrict  )__stream);
      return (tmp___2);
    }
  }
  tmp___5 = __fgets_unlocked_alias((char * __restrict  )__s, __n, (FILE * __restrict  )__stream);
  return (tmp___5);
}
}
extern size_t ( __attribute__((__warn_unused_result__)) __fread_unlocked_chk)(void *__ptr ,
                                                                              size_t __ptrlen ,
                                                                              size_t __size ,
                                                                              size_t __n ,
                                                                              FILE *__stream ) ;
extern size_t ( __attribute__((__warn_unused_result__)) __fread_unlocked_alias)(void *__ptr ,
                                                                                size_t __size ,
                                                                                size_t __n ,
                                                                                FILE *__stream )  __asm__("fread_unlocked")  ;
extern size_t ( __attribute__((__warn_unused_result__)) __fread_unlocked_chk_warn)(void *__ptr ,
                                                                                   size_t __ptrlen ,
                                                                                   size_t __size ,
                                                                                   size_t __n ,
                                                                                   FILE *__stream )  __asm__("__fread_unlocked_chk") __attribute__((__warning__("fread_unlocked called with bigger size * nmemb than length of destination buffer"))) ;
__inline extern size_t ( __attribute__((__warn_unused_result__, __gnu_inline__, __artificial__,
__always_inline__)) fread_unlocked)(void *__ptr , size_t __size , size_t __n , FILE *__stream )
{
  unsigned long tmp ;
  size_t tmp___0 ;
  unsigned long tmp___1 ;
  size_t tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  size_t __cnt ;
  char *__cptr ;
  int __c ;
  long tmp___5 ;
  int tmp___6 ;
  char *tmp___7 ;
  int tmp___8 ;
  long tmp___9 ;
  char *tmp___10 ;
  size_t tmp___11 ;

  {
  tmp___4 = __builtin_object_size(__ptr, 0);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size(__ptr, 0);
    tmp___0 = __fread_unlocked_chk((void * __restrict  )__ptr, tmp, __size, __n, (FILE * __restrict  )__stream);
    return (tmp___0);
    tmp___3 = __builtin_object_size(__ptr, 0);
    if (__size * __n > tmp___3) {
      tmp___1 = __builtin_object_size(__ptr, 0);
      tmp___2 = __fread_unlocked_chk_warn((void * __restrict  )__ptr, tmp___1, __size,
                                          __n, (FILE * __restrict  )__stream);
      return (tmp___2);
    }
  }
  tmp___11 = __fread_unlocked_alias((void * __restrict  )__ptr, __size, __n, (FILE * __restrict  )__stream);
  return (tmp___11);
}
}
__inline extern int ( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__)) stat)(char const   *__path ,
                                                                                        struct stat *__statbuf )  __asm__("stat64") __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(2), __leaf__, __gnu_inline__)) fstat)(int __fd ,
                                                                                       struct stat *__statbuf )  __asm__("fstat64") __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__)) stat64)(char const   *__path ,
                                                                                          struct stat64 *__statbuf )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(2), __leaf__, __gnu_inline__)) fstat64)(int __fd ,
                                                                                         struct stat64 *__statbuf )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(2,3), __leaf__, __gnu_inline__)) fstatat)(int __fd ,
                                                                                           char const   *__filename ,
                                                                                           struct stat *__statbuf ,
                                                                                           int __flag )  __asm__("fstatat64") __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(2,3), __leaf__, __gnu_inline__)) fstatat64)(int __fd ,
                                                                                             char const   *__filename ,
                                                                                             struct stat64 *__statbuf ,
                                                                                             int __flag )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__)) lstat)(char const   *__path ,
                                                                                         struct stat *__statbuf )  __asm__("lstat64") __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__)) lstat64)(char const   *__path ,
                                                                                           struct stat64 *__statbuf )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) chmod)(char const   *__file ,
                                                              __mode_t __mode )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) lchmod)(char const   *__file ,
                                                               __mode_t __mode )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) fchmod)(int __fd , __mode_t __mode )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(2), __leaf__)) fchmodat)(int __fd ,
                                                                                         char const   *__file ,
                                                                                         __mode_t __mode ,
                                                                                         int __flag )  __attribute__((__nothrow__)) ;
extern __mode_t ( __attribute__((__leaf__)) umask)(__mode_t __mask )  __attribute__((__nothrow__)) ;
extern __mode_t ( __attribute__((__leaf__)) getumask)(void)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) mkdir)(char const   *__path ,
                                                              __mode_t __mode )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2), __leaf__)) mkdirat)(int __fd , char const   *__path ,
                                                                __mode_t __mode )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(1), __leaf__, __gnu_inline__)) mknod)(char const   *__path ,
                                                                                       __mode_t __mode ,
                                                                                       __dev_t __dev )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(2), __leaf__, __gnu_inline__)) mknodat)(int __fd ,
                                                                                         char const   *__path ,
                                                                                         __mode_t __mode ,
                                                                                         __dev_t __dev )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) mkfifo)(char const   *__path ,
                                                               __mode_t __mode )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2), __leaf__)) mkfifoat)(int __fd , char const   *__path ,
                                                                 __mode_t __mode )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2), __leaf__)) utimensat)(int __fd , char const   *__path ,
                                                                  struct timespec  const  *__times ,
                                                                  int __flags )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) futimens)(int __fd , struct timespec  const  *__times )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(3), __leaf__)) __fxstat)(int __ver , int __fildes ,
                                                                 struct stat *__stat_buf )  __asm__("__fxstat64") __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2,3), __leaf__)) __xstat)(int __ver , char const   *__filename ,
                                                                  struct stat *__stat_buf )  __asm__("__xstat64") __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2,3), __leaf__)) __lxstat)(int __ver , char const   *__filename ,
                                                                   struct stat *__stat_buf )  __asm__("__lxstat64") __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(3,4), __leaf__)) __fxstatat)(int __ver , int __fildes ,
                                                                     char const   *__filename ,
                                                                     struct stat *__stat_buf ,
                                                                     int __flag )  __asm__("__fxstatat64") __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(3), __leaf__)) __fxstat64)(int __ver , int __fildes ,
                                                                   struct stat64 *__stat_buf )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2,3), __leaf__)) __xstat64)(int __ver , char const   *__filename ,
                                                                    struct stat64 *__stat_buf )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2,3), __leaf__)) __lxstat64)(int __ver , char const   *__filename ,
                                                                     struct stat64 *__stat_buf )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(3,4), __leaf__)) __fxstatat64)(int __ver ,
                                                                       int __fildes ,
                                                                       char const   *__filename ,
                                                                       struct stat64 *__stat_buf ,
                                                                       int __flag )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2,4), __leaf__)) __xmknod)(int __ver , char const   *__path ,
                                                                   __mode_t __mode ,
                                                                   __dev_t *__dev )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(3,5), __leaf__)) __xmknodat)(int __ver , int __fd ,
                                                                     char const   *__path ,
                                                                     __mode_t __mode ,
                                                                     __dev_t *__dev )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__)) stat)(char const   *__path ,
                                                                                        struct stat *__statbuf )  __asm__("stat64") __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__)) stat)(char const   *__path ,
                                                                                        struct stat *__statbuf )
{
  int tmp ;

  {
  tmp = __xstat(1, __path, __statbuf);
  return (tmp);
}
}
__inline extern int ( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__)) lstat)(char const   *__path ,
                                                                                         struct stat *__statbuf )  __asm__("lstat64") __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__)) lstat)(char const   *__path ,
                                                                                         struct stat *__statbuf )
{
  int tmp ;

  {
  tmp = __lxstat(1, __path, __statbuf);
  return (tmp);
}
}
__inline extern int ( __attribute__((__nonnull__(2), __leaf__, __gnu_inline__)) fstat)(int __fd ,
                                                                                       struct stat *__statbuf )  __asm__("fstat64") __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(2), __leaf__, __gnu_inline__)) fstat)(int __fd ,
                                                                                       struct stat *__statbuf )
{
  int tmp ;

  {
  tmp = __fxstat(1, __fd, __statbuf);
  return (tmp);
}
}
__inline extern int ( __attribute__((__nonnull__(2,3), __leaf__, __gnu_inline__)) fstatat)(int __fd ,
                                                                                           char const   *__filename ,
                                                                                           struct stat *__statbuf ,
                                                                                           int __flag )  __asm__("fstatat64") __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(2,3), __leaf__, __gnu_inline__)) fstatat)(int __fd ,
                                                                                           char const   *__filename ,
                                                                                           struct stat *__statbuf ,
                                                                                           int __flag )
{
  int tmp ;

  {
  tmp = __fxstatat(1, __fd, __filename, __statbuf, __flag);
  return (tmp);
}
}
__inline extern int ( __attribute__((__nonnull__(1), __leaf__, __gnu_inline__)) mknod)(char const   *__path ,
                                                                                       __mode_t __mode ,
                                                                                       __dev_t __dev )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(1), __leaf__, __gnu_inline__)) mknod)(char const   *__path ,
                                                                                       __mode_t __mode ,
                                                                                       __dev_t __dev )
{
  int tmp ;

  {
  tmp = __xmknod(0, __path, __mode, & __dev);
  return (tmp);
}
}
__inline extern int ( __attribute__((__nonnull__(2), __leaf__, __gnu_inline__)) mknodat)(int __fd ,
                                                                                         char const   *__path ,
                                                                                         __mode_t __mode ,
                                                                                         __dev_t __dev )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(2), __leaf__, __gnu_inline__)) mknodat)(int __fd ,
                                                                                         char const   *__path ,
                                                                                         __mode_t __mode ,
                                                                                         __dev_t __dev )
{
  int tmp ;

  {
  tmp = __xmknodat(0, __fd, __path, __mode, & __dev);
  return (tmp);
}
}
__inline extern int ( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__)) stat64)(char const   *__path ,
                                                                                          struct stat64 *__statbuf )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__)) stat64)(char const   *__path ,
                                                                                          struct stat64 *__statbuf )
{
  int tmp ;

  {
  tmp = __xstat64(1, __path, __statbuf);
  return (tmp);
}
}
__inline extern int ( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__)) lstat64)(char const   *__path ,
                                                                                           struct stat64 *__statbuf )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__)) lstat64)(char const   *__path ,
                                                                                           struct stat64 *__statbuf )
{
  int tmp ;

  {
  tmp = __lxstat64(1, __path, __statbuf);
  return (tmp);
}
}
__inline extern int ( __attribute__((__nonnull__(2), __leaf__, __gnu_inline__)) fstat64)(int __fd ,
                                                                                         struct stat64 *__statbuf )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(2), __leaf__, __gnu_inline__)) fstat64)(int __fd ,
                                                                                         struct stat64 *__statbuf )
{
  int tmp ;

  {
  tmp = __fxstat64(1, __fd, __statbuf);
  return (tmp);
}
}
__inline extern int ( __attribute__((__nonnull__(2,3), __leaf__, __gnu_inline__)) fstatat64)(int __fd ,
                                                                                             char const   *__filename ,
                                                                                             struct stat64 *__statbuf ,
                                                                                             int __flag )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(2,3), __leaf__, __gnu_inline__)) fstatat64)(int __fd ,
                                                                                             char const   *__filename ,
                                                                                             struct stat64 *__statbuf ,
                                                                                             int __flag )
{
  int tmp ;

  {
  tmp = __fxstatat64(1, __fd, __filename, __statbuf, __flag);
  return (tmp);
}
}
extern __ssize_t ( __attribute__((__leaf__)) readahead)(int __fd , __off_t __offset ,
                                                        size_t __count )  __attribute__((__nothrow__)) ;
extern int sync_file_range(int __fd , __off_t __offset , __off_t __count , unsigned int __flags ) ;
extern __ssize_t vmsplice(int __fdout , struct iovec  const  *__iov , size_t __count ,
                          unsigned int __flags ) ;
extern __ssize_t splice(int __fdin , __off_t *__offin , int __fdout , __off_t *__offout ,
                        size_t __len , unsigned int __flags ) ;
extern __ssize_t tee(int __fdin , int __fdout , size_t __len , unsigned int __flags ) ;
extern int fallocate(int __fd , int __mode , __off_t __offset , __off_t __len )  __asm__("fallocate64")  ;
extern int fallocate64(int __fd , int __mode , __off_t __offset , __off_t __len ) ;
extern int ( __attribute__((__leaf__)) name_to_handle_at)(int __dfd , char const   *__name ,
                                                          struct file_handle *__handle ,
                                                          int *__mnt_id , int __flags )  __attribute__((__nothrow__)) ;
extern int open_by_handle_at(int __mountdirfd , struct file_handle *__handle , int __flags ) ;
extern int fcntl(int __fd , int __cmd  , ...) ;
__inline extern int ( __attribute__((__nonnull__(1), __gnu_inline__, __artificial__,
__always_inline__)) open)(char const   *__path , int __oflag  , ...)  __asm__("open64")  ;
__inline extern int ( __attribute__((__nonnull__(1), __gnu_inline__, __artificial__,
__always_inline__)) open64)(char const   *__path , int __oflag  , ...) ;
__inline extern int ( __attribute__((__nonnull__(2), __gnu_inline__, __artificial__,
__always_inline__)) openat)(int __fd , char const   *__path , int __oflag  , ...)  __asm__("openat64")  ;
__inline extern int ( __attribute__((__nonnull__(2), __gnu_inline__, __artificial__,
__always_inline__)) openat64)(int __fd , char const   *__path , int __oflag  , ...) ;
extern int ( __attribute__((__nonnull__(1))) creat)(char const   *__file , mode_t __mode )  __asm__("creat64")  ;
extern int ( __attribute__((__nonnull__(1))) creat64)(char const   *__file , mode_t __mode ) ;
extern int ( __attribute__((__leaf__)) posix_fadvise)(int __fd , __off_t __offset ,
                                                      __off_t __len , int __advise )  __asm__("posix_fadvise64") __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) posix_fadvise64)(int __fd , off64_t __offset ,
                                                        off64_t __len , int __advise )  __attribute__((__nothrow__)) ;
extern int posix_fallocate(int __fd , __off_t __offset , __off_t __len )  __asm__("posix_fallocate64")  ;
extern int posix_fallocate64(int __fd , off64_t __offset , off64_t __len ) ;
extern int ( __attribute__((__nonnull__(1))) __open_2)(char const   *__path , int __oflag )  __asm__("__open64_2")  ;
extern int ( __attribute__((__nonnull__(1))) __open_alias)(char const   *__path ,
                                                           int __oflag  , ...)  __asm__("open64")  ;
extern void __open_too_many_args(void)  __attribute__((__error__("open can be called either with 2 or 3 arguments, not more"))) ;
extern void __open_missing_mode(void)  __attribute__((__error__("open with O_CREAT or O_TMPFILE in second argument needs 3 arguments"))) ;
__inline extern int ( __attribute__((__nonnull__(1), __gnu_inline__, __artificial__,
__always_inline__)) open)(char const   *__path , int __oflag  , ...)  __asm__("open64")  ;
__inline extern int ( __attribute__((__nonnull__(1), __gnu_inline__, __artificial__,
__always_inline__)) open)(char const   *__path , int __oflag  , ...)
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = __builtin_va_arg_pack_len();
  if (tmp > 1) {
    __open_too_many_args();
  }
  if (0) {
    if ((__oflag & 0100) != 0) {
      goto _L;
    } else
    if ((__oflag & 4259840) == 4259840) {
      _L: /* CIL Label */
      tmp___1 = __builtin_va_arg_pack_len();
      if (tmp___1 < 1) {
        __open_missing_mode();
        tmp___0 = __open_2(__path, __oflag);
        return (tmp___0);
      }
    }
    tmp___2 = __open_alias(__path, __oflag, __builtin_va_arg_pack());
    return (tmp___2);
  }
  tmp___4 = __builtin_va_arg_pack_len();
  if (tmp___4 < 1) {
    tmp___3 = __open_2(__path, __oflag);
    return (tmp___3);
  }
  tmp___5 = __open_alias(__path, __oflag, __builtin_va_arg_pack());
  return (tmp___5);
}
}
extern int ( __attribute__((__nonnull__(1))) __open64_2)(char const   *__path , int __oflag ) ;
extern int ( __attribute__((__nonnull__(1))) __open64_alias)(char const   *__path ,
                                                             int __oflag  , ...)  __asm__("open64")  ;
extern void __open64_too_many_args(void)  __attribute__((__error__("open64 can be called either with 2 or 3 arguments, not more"))) ;
extern void __open64_missing_mode(void)  __attribute__((__error__("open64 with O_CREAT or O_TMPFILE in second argument needs 3 arguments"))) ;
__inline extern int ( __attribute__((__nonnull__(1), __gnu_inline__, __artificial__,
__always_inline__)) open64)(char const   *__path , int __oflag  , ...)
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = __builtin_va_arg_pack_len();
  if (tmp > 1) {
    __open64_too_many_args();
  }
  if (0) {
    if ((__oflag & 0100) != 0) {
      goto _L;
    } else
    if ((__oflag & 4259840) == 4259840) {
      _L: /* CIL Label */
      tmp___1 = __builtin_va_arg_pack_len();
      if (tmp___1 < 1) {
        __open64_missing_mode();
        tmp___0 = __open64_2(__path, __oflag);
        return (tmp___0);
      }
    }
    tmp___2 = __open64_alias(__path, __oflag, __builtin_va_arg_pack());
    return (tmp___2);
  }
  tmp___4 = __builtin_va_arg_pack_len();
  if (tmp___4 < 1) {
    tmp___3 = __open64_2(__path, __oflag);
    return (tmp___3);
  }
  tmp___5 = __open64_alias(__path, __oflag, __builtin_va_arg_pack());
  return (tmp___5);
}
}
extern int ( __attribute__((__nonnull__(2))) __openat_2)(int __fd , char const   *__path ,
                                                         int __oflag )  __asm__("__openat64_2")  ;
extern int ( __attribute__((__nonnull__(2))) __openat_alias)(int __fd , char const   *__path ,
                                                             int __oflag  , ...)  __asm__("openat64")  ;
extern void __openat_too_many_args(void)  __attribute__((__error__("openat can be called either with 3 or 4 arguments, not more"))) ;
extern void __openat_missing_mode(void)  __attribute__((__error__("openat with O_CREAT or O_TMPFILE in third argument needs 4 arguments"))) ;
__inline extern int ( __attribute__((__nonnull__(2), __gnu_inline__, __artificial__,
__always_inline__)) openat)(int __fd , char const   *__path , int __oflag  , ...)  __asm__("openat64")  ;
__inline extern int ( __attribute__((__nonnull__(2), __gnu_inline__, __artificial__,
__always_inline__)) openat)(int __fd , char const   *__path , int __oflag  , ...)
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = __builtin_va_arg_pack_len();
  if (tmp > 1) {
    __openat_too_many_args();
  }
  if (0) {
    if ((__oflag & 0100) != 0) {
      goto _L;
    } else
    if ((__oflag & 4259840) == 4259840) {
      _L: /* CIL Label */
      tmp___1 = __builtin_va_arg_pack_len();
      if (tmp___1 < 1) {
        __openat_missing_mode();
        tmp___0 = __openat_2(__fd, __path, __oflag);
        return (tmp___0);
      }
    }
    tmp___2 = __openat_alias(__fd, __path, __oflag, __builtin_va_arg_pack());
    return (tmp___2);
  }
  tmp___4 = __builtin_va_arg_pack_len();
  if (tmp___4 < 1) {
    tmp___3 = __openat_2(__fd, __path, __oflag);
    return (tmp___3);
  }
  tmp___5 = __openat_alias(__fd, __path, __oflag, __builtin_va_arg_pack());
  return (tmp___5);
}
}
extern int ( __attribute__((__nonnull__(2))) __openat64_2)(int __fd , char const   *__path ,
                                                           int __oflag ) ;
extern int ( __attribute__((__nonnull__(2))) __openat64_alias)(int __fd , char const   *__path ,
                                                               int __oflag  , ...)  __asm__("openat64")  ;
extern void __openat64_too_many_args(void)  __attribute__((__error__("openat64 can be called either with 3 or 4 arguments, not more"))) ;
extern void __openat64_missing_mode(void)  __attribute__((__error__("openat64 with O_CREAT or O_TMPFILE in third argument needs 4 arguments"))) ;
__inline extern int ( __attribute__((__nonnull__(2), __gnu_inline__, __artificial__,
__always_inline__)) openat64)(int __fd , char const   *__path , int __oflag  , ...)
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = __builtin_va_arg_pack_len();
  if (tmp > 1) {
    __openat64_too_many_args();
  }
  if (0) {
    if ((__oflag & 0100) != 0) {
      goto _L;
    } else
    if ((__oflag & 4259840) == 4259840) {
      _L: /* CIL Label */
      tmp___1 = __builtin_va_arg_pack_len();
      if (tmp___1 < 1) {
        __openat64_missing_mode();
        tmp___0 = __openat64_2(__fd, __path, __oflag);
        return (tmp___0);
      }
    }
    tmp___2 = __openat64_alias(__fd, __path, __oflag, __builtin_va_arg_pack());
    return (tmp___2);
  }
  tmp___4 = __builtin_va_arg_pack_len();
  if (tmp___4 < 1) {
    tmp___3 = __openat64_2(__fd, __path, __oflag);
    return (tmp___3);
  }
  tmp___5 = __openat64_alias(__fd, __path, __oflag, __builtin_va_arg_pack());
  return (tmp___5);
}
}
extern size_t ( __attribute__((__warn_unused_result__, __leaf__)) __ctype_get_mb_cur_max)(void)  __attribute__((__nothrow__)) ;
__inline extern double ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__,
__gnu_inline__)) atof)(char const   *__nptr )  __attribute__((__pure__, __nothrow__)) ;
__inline extern int ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__,
__gnu_inline__)) atoi)(char const   *__nptr )  __attribute__((__pure__, __nothrow__)) ;
__inline extern long ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__,
__gnu_inline__)) atol)(char const   *__nptr )  __attribute__((__pure__, __nothrow__)) ;
__inline extern long long ( __attribute__((__warn_unused_result__, __nonnull__(1),
__leaf__, __gnu_inline__)) atoll)(char const   *__nptr )  __attribute__((__pure__,
__nothrow__)) ;
extern double ( __attribute__((__nonnull__(1), __leaf__)) strtod)(char const   *__nptr ,
                                                                  char **__endptr )  __attribute__((__nothrow__)) ;
extern float ( __attribute__((__nonnull__(1), __leaf__)) strtof)(char const   *__nptr ,
                                                                 char **__endptr )  __attribute__((__nothrow__)) ;
extern long double ( __attribute__((__nonnull__(1), __leaf__)) strtold)(char const   *__nptr ,
                                                                        char **__endptr )  __attribute__((__nothrow__)) ;
extern float ( __attribute__((__nonnull__(1), __leaf__)) strtof32)(char const   *__nptr ,
                                                                   char **__endptr )  __attribute__((__nothrow__)) ;
extern double ( __attribute__((__nonnull__(1), __leaf__)) strtof64)(char const   *__nptr ,
                                                                    char **__endptr )  __attribute__((__nothrow__)) ;
extern long double ( __attribute__((__nonnull__(1), __leaf__)) strtof128)(char const   *__nptr ,
                                                                          char **__endptr )  __attribute__((__nothrow__)) ;
extern double ( __attribute__((__nonnull__(1), __leaf__)) strtof32x)(char const   *__nptr ,
                                                                     char **__endptr )  __attribute__((__nothrow__)) ;
extern long double ( __attribute__((__nonnull__(1), __leaf__)) strtof64x)(char const   *__nptr ,
                                                                          char **__endptr )  __attribute__((__nothrow__)) ;
extern long ( __attribute__((__nonnull__(1), __leaf__)) strtol)(char const   *__nptr ,
                                                                char **__endptr ,
                                                                int __base )  __attribute__((__nothrow__)) ;
extern unsigned long ( __attribute__((__nonnull__(1), __leaf__)) strtoul)(char const   *__nptr ,
                                                                          char **__endptr ,
                                                                          int __base )  __attribute__((__nothrow__)) ;
extern long long ( __attribute__((__nonnull__(1), __leaf__)) strtoq)(char const   *__nptr ,
                                                                     char **__endptr ,
                                                                     int __base )  __attribute__((__nothrow__)) ;
extern unsigned long long ( __attribute__((__nonnull__(1), __leaf__)) strtouq)(char const   *__nptr ,
                                                                               char **__endptr ,
                                                                               int __base )  __attribute__((__nothrow__)) ;
extern long long ( __attribute__((__nonnull__(1), __leaf__)) strtoll)(char const   *__nptr ,
                                                                      char **__endptr ,
                                                                      int __base )  __attribute__((__nothrow__)) ;
extern unsigned long long ( __attribute__((__nonnull__(1), __leaf__)) strtoull)(char const   *__nptr ,
                                                                                char **__endptr ,
                                                                                int __base )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(3), __leaf__)) strfromd)(char *__dest , size_t __size ,
                                                                 char const   *__format ,
                                                                 double __f )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(3), __leaf__)) strfromf)(char *__dest , size_t __size ,
                                                                 char const   *__format ,
                                                                 float __f )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(3), __leaf__)) strfroml)(char *__dest , size_t __size ,
                                                                 char const   *__format ,
                                                                 long double __f )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(3), __leaf__)) strfromf32)(char *__dest ,
                                                                   size_t __size ,
                                                                   char const   *__format ,
                                                                   float __f )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(3), __leaf__)) strfromf64)(char *__dest ,
                                                                   size_t __size ,
                                                                   char const   *__format ,
                                                                   double __f )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(3), __leaf__)) strfromf128)(char *__dest ,
                                                                    size_t __size ,
                                                                    char const   *__format ,
                                                                    long double __f )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(3), __leaf__)) strfromf32x)(char *__dest ,
                                                                    size_t __size ,
                                                                    char const   *__format ,
                                                                    double __f )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(3), __leaf__)) strfromf64x)(char *__dest ,
                                                                    size_t __size ,
                                                                    char const   *__format ,
                                                                    long double __f )  __attribute__((__nothrow__)) ;
extern long ( __attribute__((__nonnull__(1,4), __leaf__)) strtol_l)(char const   *__nptr ,
                                                                    char **__endptr ,
                                                                    int __base , locale_t __loc )  __attribute__((__nothrow__)) ;
extern unsigned long ( __attribute__((__nonnull__(1,4), __leaf__)) strtoul_l)(char const   *__nptr ,
                                                                              char **__endptr ,
                                                                              int __base ,
                                                                              locale_t __loc )  __attribute__((__nothrow__)) ;
extern long long ( __attribute__((__nonnull__(1,4), __leaf__)) strtoll_l)(char const   *__nptr ,
                                                                          char **__endptr ,
                                                                          int __base ,
                                                                          locale_t __loc )  __attribute__((__nothrow__)) ;
extern unsigned long long ( __attribute__((__nonnull__(1,4), __leaf__)) strtoull_l)(char const   *__nptr ,
                                                                                    char **__endptr ,
                                                                                    int __base ,
                                                                                    locale_t __loc )  __attribute__((__nothrow__)) ;
extern double ( __attribute__((__nonnull__(1,3), __leaf__)) strtod_l)(char const   *__nptr ,
                                                                      char **__endptr ,
                                                                      locale_t __loc )  __attribute__((__nothrow__)) ;
extern float ( __attribute__((__nonnull__(1,3), __leaf__)) strtof_l)(char const   *__nptr ,
                                                                     char **__endptr ,
                                                                     locale_t __loc )  __attribute__((__nothrow__)) ;
extern long double ( __attribute__((__nonnull__(1,3), __leaf__)) strtold_l)(char const   *__nptr ,
                                                                            char **__endptr ,
                                                                            locale_t __loc )  __attribute__((__nothrow__)) ;
extern float ( __attribute__((__nonnull__(1,3), __leaf__)) strtof32_l)(char const   *__nptr ,
                                                                       char **__endptr ,
                                                                       locale_t __loc )  __attribute__((__nothrow__)) ;
extern double ( __attribute__((__nonnull__(1,3), __leaf__)) strtof64_l)(char const   *__nptr ,
                                                                        char **__endptr ,
                                                                        locale_t __loc )  __attribute__((__nothrow__)) ;
extern long double ( __attribute__((__nonnull__(1,3), __leaf__)) strtof128_l)(char const   *__nptr ,
                                                                              char **__endptr ,
                                                                              locale_t __loc )  __attribute__((__nothrow__)) ;
extern double ( __attribute__((__nonnull__(1,3), __leaf__)) strtof32x_l)(char const   *__nptr ,
                                                                         char **__endptr ,
                                                                         locale_t __loc )  __attribute__((__nothrow__)) ;
extern long double ( __attribute__((__nonnull__(1,3), __leaf__)) strtof64x_l)(char const   *__nptr ,
                                                                              char **__endptr ,
                                                                              locale_t __loc )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__,
__gnu_inline__)) atoi)(char const   *__nptr )  __attribute__((__pure__, __nothrow__)) ;
__inline extern int ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__,
__gnu_inline__)) atoi)(char const   *__nptr )
{
  long tmp ;

  {
  tmp = strtol((char const   * __restrict  )__nptr, (char ** __restrict  )((char **)((void *)0)),
               10);
  return ((int )tmp);
}
}
__inline extern long ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__,
__gnu_inline__)) atol)(char const   *__nptr )  __attribute__((__pure__, __nothrow__)) ;
__inline extern long ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__,
__gnu_inline__)) atol)(char const   *__nptr )
{
  long tmp ;

  {
  tmp = strtol((char const   * __restrict  )__nptr, (char ** __restrict  )((char **)((void *)0)),
               10);
  return (tmp);
}
}
__inline extern long long ( __attribute__((__warn_unused_result__, __nonnull__(1),
__leaf__, __gnu_inline__)) atoll)(char const   *__nptr )  __attribute__((__pure__,
__nothrow__)) ;
__inline extern long long ( __attribute__((__warn_unused_result__, __nonnull__(1),
__leaf__, __gnu_inline__)) atoll)(char const   *__nptr )
{
  long long tmp ;

  {
  tmp = strtoll((char const   * __restrict  )__nptr, (char ** __restrict  )((char **)((void *)0)),
                10);
  return (tmp);
}
}
extern char *( __attribute__((__warn_unused_result__, __leaf__)) l64a)(long __n )  __attribute__((__nothrow__)) ;
extern long ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) a64l)(char const   *__s )  __attribute__((__pure__,
__nothrow__)) ;
__inline static unsigned int __bswap_32(unsigned int __bsx )
{
  int tmp ;

  {
  tmp = __builtin_bswap32((int )__bsx);
  return ((unsigned int )tmp);
}
}
__inline static __uint64_t __bswap_64(__uint64_t __bsx )
{
  long tmp ;

  {
  tmp = __builtin_bswap64((long )__bsx);
  return ((__uint64_t )tmp);
}
}
__inline static __uint16_t __uint16_identity(__uint16_t __x )
{


  {
  return (__x);
}
}
__inline static __uint32_t __uint32_identity(__uint32_t __x )
{


  {
  return (__x);
}
}
__inline static __uint64_t __uint64_identity(__uint64_t __x )
{


  {
  return (__x);
}
}
extern int select(int __nfds , fd_set *__readfds , fd_set *__writefds , fd_set *__exceptfds ,
                  struct timeval *__timeout ) ;
extern int pselect(int __nfds , fd_set *__readfds , fd_set *__writefds , fd_set *__exceptfds ,
                   struct timespec  const  *__timeout , __sigset_t const   *__sigmask ) ;
extern long __fdelt_chk(long __d ) ;
extern long __fdelt_warn(long __d )  __attribute__((__warning__("bit outside of fd_set selected"))) ;
__inline extern unsigned int ( __attribute__((__leaf__, __gnu_inline__)) gnu_dev_major)(__dev_t __dev )  __attribute__((__nothrow__,
__const__)) ;
__inline extern unsigned int ( __attribute__((__leaf__, __gnu_inline__)) gnu_dev_minor)(__dev_t __dev )  __attribute__((__nothrow__,
__const__)) ;
__inline extern __dev_t ( __attribute__((__leaf__, __gnu_inline__)) gnu_dev_makedev)(unsigned int __major ,
                                                                                     unsigned int __minor )  __attribute__((__nothrow__,
__const__)) ;
__inline extern unsigned int ( __attribute__((__leaf__, __gnu_inline__)) gnu_dev_major)(__dev_t __dev )  __attribute__((__nothrow__,
__const__)) ;
__inline extern unsigned int ( __attribute__((__leaf__, __gnu_inline__)) gnu_dev_major)(__dev_t __dev )
{
  unsigned int __major ;

  {
  __major = (unsigned int )((__dev & 1048320UL) >> 8);
  __major = (unsigned int )((unsigned long )__major | ((__dev & 0xfffff00000000000u) >> 32));
  return (__major);
}
}
__inline extern unsigned int ( __attribute__((__leaf__, __gnu_inline__)) gnu_dev_minor)(__dev_t __dev )  __attribute__((__nothrow__,
__const__)) ;
__inline extern unsigned int ( __attribute__((__leaf__, __gnu_inline__)) gnu_dev_minor)(__dev_t __dev )
{
  unsigned int __minor ;

  {
  __minor = (unsigned int )(__dev & 255UL);
  __minor = (unsigned int )((unsigned long )__minor | ((__dev & 0x00000ffffff00000u) >> 12));
  return (__minor);
}
}
__inline extern __dev_t ( __attribute__((__leaf__, __gnu_inline__)) gnu_dev_makedev)(unsigned int __major ,
                                                                                     unsigned int __minor )  __attribute__((__nothrow__,
__const__)) ;
__inline extern __dev_t ( __attribute__((__leaf__, __gnu_inline__)) gnu_dev_makedev)(unsigned int __major ,
                                                                                     unsigned int __minor )
{
  __dev_t __dev ;

  {
  __dev = (__dev_t )(__major & 0x00000fffu) << 8;
  __dev |= (__dev_t )(__major & 0xfffff000u) << 32;
  __dev |= (__dev_t )(__minor & 0x000000ffu);
  __dev |= (__dev_t )(__minor & 0xffffff00u) << 12;
  return (__dev);
}
}
extern long ( __attribute__((__leaf__)) random)(void)  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__leaf__)) srandom)(unsigned int __seed )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__nonnull__(2), __leaf__)) initstate)(unsigned int __seed ,
                                                                    char *__statebuf ,
                                                                    size_t __statelen )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__nonnull__(1), __leaf__)) setstate)(char *__statebuf )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) random_r)(struct random_data *__buf ,
                                                                   int32_t *__result )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2), __leaf__)) srandom_r)(unsigned int __seed ,
                                                                  struct random_data *__buf )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2,4), __leaf__)) initstate_r)(unsigned int __seed ,
                                                                      char *__statebuf ,
                                                                      size_t __statelen ,
                                                                      struct random_data *__buf )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) setstate_r)(char *__statebuf ,
                                                                     struct random_data *__buf )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) rand)(void)  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__leaf__)) srand)(unsigned int __seed )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) rand_r)(unsigned int *__seed )  __attribute__((__nothrow__)) ;
extern double ( __attribute__((__leaf__)) drand48)(void)  __attribute__((__nothrow__)) ;
extern double ( __attribute__((__nonnull__(1), __leaf__)) erand48)(unsigned short *__xsubi )  __attribute__((__nothrow__)) ;
extern long ( __attribute__((__leaf__)) lrand48)(void)  __attribute__((__nothrow__)) ;
extern long ( __attribute__((__nonnull__(1), __leaf__)) nrand48)(unsigned short *__xsubi )  __attribute__((__nothrow__)) ;
extern long ( __attribute__((__leaf__)) mrand48)(void)  __attribute__((__nothrow__)) ;
extern long ( __attribute__((__nonnull__(1), __leaf__)) jrand48)(unsigned short *__xsubi )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__leaf__)) srand48)(long __seedval )  __attribute__((__nothrow__)) ;
extern unsigned short *( __attribute__((__nonnull__(1), __leaf__)) seed48)(unsigned short *__seed16v )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__nonnull__(1), __leaf__)) lcong48)(unsigned short *__param )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) drand48_r)(struct drand48_data *__buffer ,
                                                                    double *__result )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) erand48_r)(unsigned short *__xsubi ,
                                                                    struct drand48_data *__buffer ,
                                                                    double *__result )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) lrand48_r)(struct drand48_data *__buffer ,
                                                                    long *__result )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) nrand48_r)(unsigned short *__xsubi ,
                                                                    struct drand48_data *__buffer ,
                                                                    long *__result )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) mrand48_r)(struct drand48_data *__buffer ,
                                                                    long *__result )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) jrand48_r)(unsigned short *__xsubi ,
                                                                    struct drand48_data *__buffer ,
                                                                    long *__result )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2), __leaf__)) srand48_r)(long __seedval ,
                                                                  struct drand48_data *__buffer )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) seed48_r)(unsigned short *__seed16v ,
                                                                   struct drand48_data *__buffer )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) lcong48_r)(unsigned short *__param ,
                                                                    struct drand48_data *__buffer )  __attribute__((__nothrow__)) ;
extern void *( __attribute__((__warn_unused_result__, __leaf__)) malloc)(size_t __size )  __attribute__((__nothrow__,
__malloc__)) ;
extern void *( __attribute__((__warn_unused_result__, __leaf__)) calloc)(size_t __nmemb ,
                                                                         size_t __size )  __attribute__((__nothrow__,
__malloc__)) ;
extern void *( __attribute__((__warn_unused_result__, __leaf__)) realloc)(void *__ptr ,
                                                                          size_t __size )  __attribute__((__nothrow__)) ;
extern void *( __attribute__((__warn_unused_result__, __leaf__)) reallocarray)(void *__ptr ,
                                                                               size_t __nmemb ,
                                                                               size_t __size )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__leaf__)) free)(void *__ptr )  __attribute__((__nothrow__)) ;
extern void *( __attribute__((__leaf__)) alloca)(size_t __size )  __attribute__((__nothrow__)) ;
extern void *( __attribute__((__warn_unused_result__, __leaf__)) valloc)(size_t __size )  __attribute__((__nothrow__,
__malloc__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) posix_memalign)(void **__memptr ,
                                                                                               size_t __alignment ,
                                                                                               size_t __size )  __attribute__((__nothrow__)) ;
extern void *( __attribute__((__warn_unused_result__, __leaf__)) aligned_alloc)(size_t __alignment ,
                                                                                size_t __size )  __attribute__((__nothrow__,
__malloc__, __alloc_size__(2))) ;
extern void ( __attribute__((__leaf__)) abort)(void)  __attribute__((__nothrow__,
__noreturn__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) atexit)(void (*__func)(void) )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) at_quick_exit)(void (*__func)(void) )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) on_exit)(void (*__func)(int __status ,
                                                                               void *__arg ) ,
                                                                void *__arg )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__leaf__)) exit)(int __status )  __attribute__((__nothrow__,
__noreturn__)) ;
extern void ( __attribute__((__leaf__)) quick_exit)(int __status )  __attribute__((__nothrow__,
__noreturn__)) ;
extern void ( __attribute__((__leaf__)) _Exit)(int __status )  __attribute__((__nothrow__,
__noreturn__)) ;
extern char *( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) getenv)(char const   *__name )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) secure_getenv)(char const   *__name )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) putenv)(char *__string )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2), __leaf__)) setenv)(char const   *__name ,
                                                               char const   *__value ,
                                                               int __replace )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) unsetenv)(char const   *__name )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) clearenv)(void)  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__nonnull__(1), __leaf__)) mktemp)(char *__template )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1))) mkstemp)(char *__template )  __asm__("mkstemp64")  ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1))) mkstemp64)(char *__template ) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1))) mkstemps)(char *__template ,
                                                                               int __suffixlen )  __asm__("mkstemps64")  ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1))) mkstemps64)(char *__template ,
                                                                                 int __suffixlen ) ;
extern char *( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) mkdtemp)(char *__template )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1))) mkostemp)(char *__template ,
                                                                               int __flags )  __asm__("mkostemp64")  ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1))) mkostemp64)(char *__template ,
                                                                                 int __flags ) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1))) mkostemps)(char *__template ,
                                                                                int __suffixlen ,
                                                                                int __flags )  __asm__("mkostemps64")  ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1))) mkostemps64)(char *__template ,
                                                                                  int __suffixlen ,
                                                                                  int __flags ) ;
extern int ( __attribute__((__warn_unused_result__)) system)(char const   *__command ) ;
extern char *( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) canonicalize_file_name)(char const   *__name )  __attribute__((__nothrow__)) ;
__inline extern char *( __attribute__((__warn_unused_result__, __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) realpath)(char const   *__name , char *__resolved )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__nonnull__(1,4))) qsort_r)(void *__base , size_t __nmemb ,
                                                         size_t __size , int (*__compar)(void const   * ,
                                                                                         void const   * ,
                                                                                         void * ) ,
                                                         void *__arg ) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) abs)(int __x )  __attribute__((__nothrow__,
__const__)) ;
extern long ( __attribute__((__warn_unused_result__, __leaf__)) labs)(long __x )  __attribute__((__nothrow__,
__const__)) ;
extern long long ( __attribute__((__warn_unused_result__, __leaf__)) llabs)(long long __x )  __attribute__((__nothrow__,
__const__)) ;
extern div_t ( __attribute__((__warn_unused_result__, __leaf__)) div)(int __numer ,
                                                                      int __denom )  __attribute__((__nothrow__,
__const__)) ;
extern ldiv_t ( __attribute__((__warn_unused_result__, __leaf__)) ldiv)(long __numer ,
                                                                        long __denom )  __attribute__((__nothrow__,
__const__)) ;
extern lldiv_t ( __attribute__((__warn_unused_result__, __leaf__)) lldiv)(long long __numer ,
                                                                          long long __denom )  __attribute__((__nothrow__,
__const__)) ;
extern char *( __attribute__((__warn_unused_result__, __nonnull__(3,4), __leaf__)) ecvt)(double __value ,
                                                                                         int __ndigit ,
                                                                                         int *__decpt ,
                                                                                         int *__sign )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__warn_unused_result__, __nonnull__(3,4), __leaf__)) fcvt)(double __value ,
                                                                                         int __ndigit ,
                                                                                         int *__decpt ,
                                                                                         int *__sign )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__warn_unused_result__, __nonnull__(3), __leaf__)) gcvt)(double __value ,
                                                                                       int __ndigit ,
                                                                                       char *__buf )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__warn_unused_result__, __nonnull__(3,4), __leaf__)) qecvt)(long double __value ,
                                                                                          int __ndigit ,
                                                                                          int *__decpt ,
                                                                                          int *__sign )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__warn_unused_result__, __nonnull__(3,4), __leaf__)) qfcvt)(long double __value ,
                                                                                          int __ndigit ,
                                                                                          int *__decpt ,
                                                                                          int *__sign )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__warn_unused_result__, __nonnull__(3), __leaf__)) qgcvt)(long double __value ,
                                                                                        int __ndigit ,
                                                                                        char *__buf )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(3,4,5), __leaf__)) ecvt_r)(double __value ,
                                                                   int __ndigit ,
                                                                   int *__decpt ,
                                                                   int *__sign , char *__buf ,
                                                                   size_t __len )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(3,4,5), __leaf__)) fcvt_r)(double __value ,
                                                                   int __ndigit ,
                                                                   int *__decpt ,
                                                                   int *__sign , char *__buf ,
                                                                   size_t __len )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(3,4,5), __leaf__)) qecvt_r)(long double __value ,
                                                                    int __ndigit ,
                                                                    int *__decpt ,
                                                                    int *__sign ,
                                                                    char *__buf ,
                                                                    size_t __len )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(3,4,5), __leaf__)) qfcvt_r)(long double __value ,
                                                                    int __ndigit ,
                                                                    int *__decpt ,
                                                                    int *__sign ,
                                                                    char *__buf ,
                                                                    size_t __len )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) mblen)(char const   *__s , size_t __n )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) mbtowc)(wchar_t *__pwc , char const   *__s ,
                                               size_t __n )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__warn_unused_result__, __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) wctomb)(char *__s , wchar_t __wchar )  __attribute__((__nothrow__)) ;
__inline extern size_t ( __attribute__((__leaf__, __gnu_inline__, __artificial__,
__always_inline__)) mbstowcs)(wchar_t *__dst , char const   *__src , size_t __len )  __attribute__((__nothrow__)) ;
__inline extern size_t ( __attribute__((__leaf__, __gnu_inline__, __artificial__,
__always_inline__)) wcstombs)(char *__dst , wchar_t const   *__src , size_t __len )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) rpmatch)(char const   *__response )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __nonnull__(1,2,3), __leaf__)) getsubopt)(char **__optionp ,
                                                                                              char **__tokens ,
                                                                                              char **__valuep )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__nonnull__(1), __leaf__)) setkey)(char const   *__key )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__)) posix_openpt)(int __oflag ) ;
extern int ( __attribute__((__leaf__)) grantpt)(int __fd )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) unlockpt)(int __fd )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__warn_unused_result__, __leaf__)) ptsname)(int __fd )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(2), __leaf__, __gnu_inline__, __artificial__,
__always_inline__)) ptsname_r)(int __fd , char *__buf , size_t __buflen )  __attribute__((__nothrow__)) ;
extern int getpt(void) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) getloadavg)(double *__loadavg ,
                                                                   int __nelem )  __attribute__((__nothrow__)) ;
__inline extern double ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__,
__gnu_inline__)) atof)(char const   *__nptr )  __attribute__((__pure__, __nothrow__)) ;
__inline extern double ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__,
__gnu_inline__)) atof)(char const   *__nptr )
{
  double tmp ;

  {
  tmp = strtod((char const   * __restrict  )__nptr, (char ** __restrict  )((char **)((void *)0)));
  return (tmp);
}
}
extern char *( __attribute__((__warn_unused_result__, __leaf__)) __realpath_chk)(char const   *__name ,
                                                                                 char *__resolved ,
                                                                                 size_t __resolvedlen )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__warn_unused_result__, __leaf__)) __realpath_alias)(char const   *__name ,
                                                                                   char *__resolved )  __asm__("realpath") __attribute__((__nothrow__)) ;
extern char *( __attribute__((__warn_unused_result__, __leaf__)) __realpath_chk_warn)(char const   *__name ,
                                                                                      char *__resolved ,
                                                                                      size_t __resolvedlen )  __asm__("__realpath_chk") __attribute__((__warning__("second argument of realpath must be either NULL or at least PATH_MAX bytes long buffer"),
__nothrow__)) ;
__inline extern char *( __attribute__((__warn_unused_result__, __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) realpath)(char const   *__name , char *__resolved )  __attribute__((__nothrow__)) ;
__inline extern char *( __attribute__((__warn_unused_result__, __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) realpath)(char const   *__name , char *__resolved )
{
  unsigned long tmp ;
  char *tmp___0 ;
  unsigned long tmp___1 ;
  char *tmp___2 ;

  {
  tmp___1 = __builtin_object_size((void *)__resolved, 1);
  if (tmp___1 != 18446744073709551615UL) {
    tmp = __builtin_object_size((void *)__resolved, 1);
    tmp___0 = __realpath_chk((char const   * __restrict  )__name, (char * __restrict  )__resolved,
                             tmp);
    return (tmp___0);
  }
  tmp___2 = __realpath_alias((char const   * __restrict  )__name, (char * __restrict  )__resolved);
  return (tmp___2);
}
}
extern int ( __attribute__((__nonnull__(2), __leaf__)) __ptsname_r_chk)(int __fd ,
                                                                        char *__buf ,
                                                                        size_t __buflen ,
                                                                        size_t __nreal )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2), __leaf__)) __ptsname_r_alias)(int __fd ,
                                                                          char *__buf ,
                                                                          size_t __buflen )  __asm__("ptsname_r") __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2), __leaf__)) __ptsname_r_chk_warn)(int __fd ,
                                                                             char *__buf ,
                                                                             size_t __buflen ,
                                                                             size_t __nreal )  __asm__("__ptsname_r_chk") __attribute__((__warning__("ptsname_r called with buflen bigger than size of buf"),
__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(2), __leaf__, __gnu_inline__, __artificial__,
__always_inline__)) ptsname_r)(int __fd , char *__buf , size_t __buflen )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__nonnull__(2), __leaf__, __gnu_inline__, __artificial__,
__always_inline__)) ptsname_r)(int __fd , char *__buf , size_t __buflen )
{
  unsigned long tmp ;
  int tmp___0 ;
  unsigned long tmp___1 ;
  int tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  int tmp___5 ;

  {
  tmp___4 = __builtin_object_size((void *)__buf, 1);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size((void *)__buf, 1);
    tmp___0 = __ptsname_r_chk(__fd, __buf, __buflen, tmp);
    return (tmp___0);
    tmp___3 = __builtin_object_size((void *)__buf, 1);
    if (__buflen > tmp___3) {
      tmp___1 = __builtin_object_size((void *)__buf, 1);
      tmp___2 = __ptsname_r_chk_warn(__fd, __buf, __buflen, tmp___1);
      return (tmp___2);
    }
  }
  tmp___5 = __ptsname_r_alias(__fd, __buf, __buflen);
  return (tmp___5);
}
}
extern int ( __attribute__((__warn_unused_result__, __leaf__)) __wctomb_chk)(char *__s ,
                                                                             wchar_t __wchar ,
                                                                             size_t __buflen )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__warn_unused_result__, __leaf__)) __wctomb_alias)(char *__s ,
                                                                               wchar_t __wchar )  __asm__("wctomb") __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__warn_unused_result__, __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) wctomb)(char *__s , wchar_t __wchar )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__warn_unused_result__, __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) wctomb)(char *__s , wchar_t __wchar )
{
  unsigned long tmp ;
  int tmp___0 ;
  unsigned long tmp___1 ;
  unsigned long tmp___2 ;
  int tmp___3 ;

  {
  tmp___1 = __builtin_object_size((void *)__s, 1);
  if (tmp___1 != 18446744073709551615UL) {
    tmp___2 = __builtin_object_size((void *)__s, 1);
    if (16UL > tmp___2) {
      tmp = __builtin_object_size((void *)__s, 1);
      tmp___0 = __wctomb_chk(__s, __wchar, tmp);
      return (tmp___0);
    }
  }
  tmp___3 = __wctomb_alias(__s, __wchar);
  return (tmp___3);
}
}
extern size_t ( __attribute__((__leaf__)) __mbstowcs_chk)(wchar_t *__dst , char const   *__src ,
                                                          size_t __len , size_t __dstlen )  __attribute__((__nothrow__)) ;
extern size_t ( __attribute__((__leaf__)) __mbstowcs_alias)(wchar_t *__dst , char const   *__src ,
                                                            size_t __len )  __asm__("mbstowcs") __attribute__((__nothrow__)) ;
extern size_t ( __attribute__((__leaf__)) __mbstowcs_chk_warn)(wchar_t *__dst , char const   *__src ,
                                                               size_t __len , size_t __dstlen )  __asm__("__mbstowcs_chk") __attribute__((__warning__("mbstowcs called with dst buffer smaller than len * sizeof (wchar_t)"),
__nothrow__)) ;
__inline extern size_t ( __attribute__((__leaf__, __gnu_inline__, __artificial__,
__always_inline__)) mbstowcs)(wchar_t *__dst , char const   *__src , size_t __len )  __attribute__((__nothrow__)) ;
__inline extern size_t ( __attribute__((__leaf__, __gnu_inline__, __artificial__,
__always_inline__)) mbstowcs)(wchar_t *__dst , char const   *__src , size_t __len )
{
  unsigned long tmp ;
  size_t tmp___0 ;
  unsigned long tmp___1 ;
  size_t tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  size_t tmp___5 ;

  {
  tmp___4 = __builtin_object_size((void *)__dst, 1);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size((void *)__dst, 1);
    tmp___0 = __mbstowcs_chk((wchar_t * __restrict  )__dst, (char const   * __restrict  )__src,
                             __len, tmp / sizeof(wchar_t ));
    return (tmp___0);
    tmp___3 = __builtin_object_size((void *)__dst, 1);
    if (__len > tmp___3 / sizeof(wchar_t )) {
      tmp___1 = __builtin_object_size((void *)__dst, 1);
      tmp___2 = __mbstowcs_chk_warn((wchar_t * __restrict  )__dst, (char const   * __restrict  )__src,
                                    __len, tmp___1 / sizeof(wchar_t ));
      return (tmp___2);
    }
  }
  tmp___5 = __mbstowcs_alias((wchar_t * __restrict  )__dst, (char const   * __restrict  )__src,
                             __len);
  return (tmp___5);
}
}
extern size_t ( __attribute__((__leaf__)) __wcstombs_chk)(char *__dst , wchar_t const   *__src ,
                                                          size_t __len , size_t __dstlen )  __attribute__((__nothrow__)) ;
extern size_t ( __attribute__((__leaf__)) __wcstombs_alias)(char *__dst , wchar_t const   *__src ,
                                                            size_t __len )  __asm__("wcstombs") __attribute__((__nothrow__)) ;
extern size_t ( __attribute__((__leaf__)) __wcstombs_chk_warn)(char *__dst , wchar_t const   *__src ,
                                                               size_t __len , size_t __dstlen )  __asm__("__wcstombs_chk") __attribute__((__warning__("wcstombs called with dst buffer smaller than len"),
__nothrow__)) ;
__inline extern size_t ( __attribute__((__leaf__, __gnu_inline__, __artificial__,
__always_inline__)) wcstombs)(char *__dst , wchar_t const   *__src , size_t __len )  __attribute__((__nothrow__)) ;
__inline extern size_t ( __attribute__((__leaf__, __gnu_inline__, __artificial__,
__always_inline__)) wcstombs)(char *__dst , wchar_t const   *__src , size_t __len )
{
  unsigned long tmp ;
  size_t tmp___0 ;
  unsigned long tmp___1 ;
  size_t tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  size_t tmp___5 ;

  {
  tmp___4 = __builtin_object_size((void *)__dst, 1);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size((void *)__dst, 1);
    tmp___0 = __wcstombs_chk((char * __restrict  )__dst, (wchar_t const   * __restrict  )__src,
                             __len, tmp);
    return (tmp___0);
    tmp___3 = __builtin_object_size((void *)__dst, 1);
    if (__len > tmp___3) {
      tmp___1 = __builtin_object_size((void *)__dst, 1);
      tmp___2 = __wcstombs_chk_warn((char * __restrict  )__dst, (wchar_t const   * __restrict  )__src,
                                    __len, tmp___1);
      return (tmp___2);
    }
  }
  tmp___5 = __wcstombs_alias((char * __restrict  )__dst, (wchar_t const   * __restrict  )__src,
                             __len);
  return (tmp___5);
}
}
__inline extern void *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) memcpy)(void *__dest , void const   *__src , size_t __len )  __attribute__((__nothrow__)) ;
__inline extern void *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) memmove)(void *__dest , void const   *__src ,
                                             size_t __len )  __attribute__((__nothrow__)) ;
extern void *( __attribute__((__nonnull__(1,2), __leaf__)) memccpy)(void *__dest ,
                                                                    void const   *__src ,
                                                                    int __c , size_t __n )  __attribute__((__nothrow__)) ;
__inline extern void *( __attribute__((__nonnull__(1), __leaf__, __gnu_inline__, __artificial__,
__always_inline__)) memset)(void *__dest , int __ch , size_t __len )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) memcmp)(void const   *__s1 ,
                                                                 void const   *__s2 ,
                                                                 size_t __n )  __attribute__((__pure__,
__nothrow__)) ;
extern void *( __attribute__((__nonnull__(1), __leaf__)) memchr)(void const   *__s ,
                                                                 int __c , size_t __n )  __attribute__((__pure__,
__nothrow__)) ;
extern void *( __attribute__((__nonnull__(1), __leaf__)) rawmemchr)(void const   *__s ,
                                                                    int __c )  __attribute__((__pure__,
__nothrow__)) ;
extern void *( __attribute__((__nonnull__(1), __leaf__)) memrchr)(void const   *__s ,
                                                                  int __c , size_t __n )  __attribute__((__pure__,
__nothrow__)) ;
__inline extern char *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) strcpy)(char *__dest , char const   *__src )  __attribute__((__nothrow__)) ;
__inline extern char *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) strncpy)(char *__dest , char const   *__src ,
                                             size_t __len )  __attribute__((__nothrow__)) ;
__inline extern char *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) strcat)(char *__dest , char const   *__src )  __attribute__((__nothrow__)) ;
__inline extern char *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) strncat)(char *__dest , char const   *__src ,
                                             size_t __len )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) strcmp)(char const   *__s1 ,
                                                                 char const   *__s2 )  __attribute__((__pure__,
__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) strncmp)(char const   *__s1 ,
                                                                  char const   *__s2 ,
                                                                  size_t __n )  __attribute__((__pure__,
__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) strcoll)(char const   *__s1 ,
                                                                  char const   *__s2 )  __attribute__((__pure__,
__nothrow__)) ;
extern size_t ( __attribute__((__nonnull__(2), __leaf__)) strxfrm)(char *__dest ,
                                                                   char const   *__src ,
                                                                   size_t __n )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2,3), __leaf__)) strcoll_l)(char const   *__s1 ,
                                                                      char const   *__s2 ,
                                                                      locale_t __l )  __attribute__((__pure__,
__nothrow__)) ;
extern size_t ( __attribute__((__nonnull__(2,4), __leaf__)) strxfrm_l)(char *__dest ,
                                                                       char const   *__src ,
                                                                       size_t __n ,
                                                                       locale_t __l )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__nonnull__(1), __leaf__)) strdup)(char const   *__s )  __attribute__((__nothrow__,
__malloc__)) ;
extern char *( __attribute__((__nonnull__(1), __leaf__)) strndup)(char const   *__string ,
                                                                  size_t __n )  __attribute__((__nothrow__,
__malloc__)) ;
extern char *( __attribute__((__nonnull__(1), __leaf__)) strchr)(char const   *__s ,
                                                                 int __c )  __attribute__((__pure__,
__nothrow__)) ;
extern char *( __attribute__((__nonnull__(1), __leaf__)) strrchr)(char const   *__s ,
                                                                  int __c )  __attribute__((__pure__,
__nothrow__)) ;
extern char *( __attribute__((__nonnull__(1), __leaf__)) strchrnul)(char const   *__s ,
                                                                    int __c )  __attribute__((__pure__,
__nothrow__)) ;
extern size_t ( __attribute__((__nonnull__(1,2), __leaf__)) strcspn)(char const   *__s ,
                                                                     char const   *__reject )  __attribute__((__pure__,
__nothrow__)) ;
extern size_t ( __attribute__((__nonnull__(1,2), __leaf__)) strspn)(char const   *__s ,
                                                                    char const   *__accept )  __attribute__((__pure__,
__nothrow__)) ;
extern char *( __attribute__((__nonnull__(1,2), __leaf__)) strpbrk)(char const   *__s ,
                                                                    char const   *__accept )  __attribute__((__pure__,
__nothrow__)) ;
extern char *( __attribute__((__nonnull__(1,2), __leaf__)) strstr)(char const   *__haystack ,
                                                                   char const   *__needle )  __attribute__((__pure__,
__nothrow__)) ;
extern char *( __attribute__((__nonnull__(2), __leaf__)) strtok)(char *__s , char const   *__delim )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__nonnull__(2,3), __leaf__)) __strtok_r)(char *__s ,
                                                                       char const   *__delim ,
                                                                       char **__save_ptr )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__nonnull__(2,3), __leaf__)) strtok_r)(char *__s , char const   *__delim ,
                                                                     char **__save_ptr )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__nonnull__(1,2), __leaf__)) strcasestr)(char const   *__haystack ,
                                                                       char const   *__needle )  __attribute__((__pure__,
__nothrow__)) ;
extern void *( __attribute__((__nonnull__(1,3), __leaf__)) memmem)(void const   *__haystack ,
                                                                   size_t __haystacklen ,
                                                                   void const   *__needle ,
                                                                   size_t __needlelen )  __attribute__((__pure__,
__nothrow__)) ;
extern void *( __attribute__((__nonnull__(1,2), __leaf__)) __mempcpy)(void *__dest ,
                                                                      void const   *__src ,
                                                                      size_t __n )  __attribute__((__nothrow__)) ;
__inline extern void *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) mempcpy)(void *__dest , void const   *__src ,
                                             size_t __len )  __attribute__((__nothrow__)) ;
extern size_t ( __attribute__((__nonnull__(1), __leaf__)) strlen)(char const   *__s )  __attribute__((__pure__,
__nothrow__)) ;
extern size_t ( __attribute__((__nonnull__(1), __leaf__)) strnlen)(char const   *__string ,
                                                                   size_t __maxlen )  __attribute__((__pure__,
__nothrow__)) ;
extern char *( __attribute__((__leaf__)) strerror)(int __errnum )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__warn_unused_result__, __nonnull__(2), __leaf__)) strerror_r)(int __errnum ,
                                                                                             char *__buf ,
                                                                                             size_t __buflen )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) strerror_l)(int __errnum , locale_t __l )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) bcmp)(void const   *__s1 ,
                                                               void const   *__s2 ,
                                                               size_t __n )  __attribute__((__pure__,
__nothrow__)) ;
__inline extern void ( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) bcopy)(void const   *__src , void *__dest , size_t __len )  __attribute__((__nothrow__)) ;
__inline extern void ( __attribute__((__nonnull__(1), __leaf__, __gnu_inline__, __artificial__,
__always_inline__)) bzero)(void *__dest , size_t __len )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__nonnull__(1), __leaf__)) index)(char const   *__s ,
                                                                int __c )  __attribute__((__pure__,
__nothrow__)) ;
extern char *( __attribute__((__nonnull__(1), __leaf__)) rindex)(char const   *__s ,
                                                                 int __c )  __attribute__((__pure__,
__nothrow__)) ;
extern int ( __attribute__((__leaf__)) ffs)(int __i )  __attribute__((__nothrow__,
__const__)) ;
extern int ( __attribute__((__leaf__)) ffsl)(long __l )  __attribute__((__nothrow__,
__const__)) ;
extern int ( __attribute__((__leaf__)) ffsll)(long long __ll )  __attribute__((__nothrow__,
__const__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) strcasecmp)(char const   *__s1 ,
                                                                     char const   *__s2 )  __attribute__((__pure__,
__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) strncasecmp)(char const   *__s1 ,
                                                                      char const   *__s2 ,
                                                                      size_t __n )  __attribute__((__pure__,
__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2,3), __leaf__)) strcasecmp_l)(char const   *__s1 ,
                                                                         char const   *__s2 ,
                                                                         locale_t __loc )  __attribute__((__pure__,
__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2,4), __leaf__)) strncasecmp_l)(char const   *__s1 ,
                                                                          char const   *__s2 ,
                                                                          size_t __n ,
                                                                          locale_t __loc )  __attribute__((__pure__,
__nothrow__)) ;
__inline extern void ( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) bcopy)(void const   *__src , void *__dest , size_t __len )  __attribute__((__nothrow__)) ;
__inline extern void ( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) bcopy)(void const   *__src , void *__dest , size_t __len )
{
  unsigned long tmp ;

  {
  tmp = __builtin_object_size(__dest, 0);
  __builtin___memmove_chk(__dest, __src, __len, tmp);
  return;
}
}
__inline extern void ( __attribute__((__nonnull__(1), __leaf__, __gnu_inline__, __artificial__,
__always_inline__)) bzero)(void *__dest , size_t __len )  __attribute__((__nothrow__)) ;
__inline extern void ( __attribute__((__nonnull__(1), __leaf__, __gnu_inline__, __artificial__,
__always_inline__)) bzero)(void *__dest , size_t __len )
{
  unsigned long tmp ;

  {
  tmp = __builtin_object_size(__dest, 0);
  __builtin___memset_chk(__dest, '\000', __len, tmp);
  return;
}
}
__inline extern void ( __attribute__((__nonnull__(1), __leaf__, __gnu_inline__, __artificial__,
__always_inline__)) explicit_bzero)(void *__dest , size_t __len )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__nonnull__(1,2), __leaf__)) strsep)(char **__stringp ,
                                                                   char const   *__delim )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) strsignal)(int __sig )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__nonnull__(1,2), __leaf__)) __stpcpy)(char *__dest ,
                                                                     char const   *__src )  __attribute__((__nothrow__)) ;
__inline extern char *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) stpcpy)(char *__dest , char const   *__src )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__nonnull__(1,2), __leaf__)) __stpncpy)(char *__dest ,
                                                                      char const   *__src ,
                                                                      size_t __n )  __attribute__((__nothrow__)) ;
__inline extern char *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) stpncpy)(char *__dest , char const   *__src ,
                                             size_t __n )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) strverscmp)(char const   *__s1 ,
                                                                     char const   *__s2 )  __attribute__((__pure__,
__nothrow__)) ;
extern char *( __attribute__((__nonnull__(1), __leaf__)) strfry)(char *__string )  __attribute__((__nothrow__)) ;
extern void *( __attribute__((__nonnull__(1), __leaf__)) memfrob)(void *__s , size_t __n )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__nonnull__(1), __leaf__)) basename)(char const   *__filename )  __attribute__((__nothrow__)) ;
__inline extern void *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) memcpy)(void *__dest , void const   *__src , size_t __len )  __attribute__((__nothrow__)) ;
__inline extern void *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) memcpy)(void *__dest , void const   *__src , size_t __len )
{
  unsigned long tmp ;
  void *tmp___0 ;

  {
  tmp = __builtin_object_size(__dest, 0);
  tmp___0 = __builtin___memcpy_chk(__dest, __src, __len, tmp);
  return (tmp___0);
}
}
__inline extern void *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) memmove)(void *__dest , void const   *__src ,
                                             size_t __len )  __attribute__((__nothrow__)) ;
__inline extern void *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) memmove)(void *__dest , void const   *__src ,
                                             size_t __len )
{
  unsigned long tmp ;
  void *tmp___0 ;

  {
  tmp = __builtin_object_size(__dest, 0);
  tmp___0 = __builtin___memmove_chk(__dest, __src, __len, tmp);
  return (tmp___0);
}
}
__inline extern void *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) mempcpy)(void *__dest , void const   *__src ,
                                             size_t __len )  __attribute__((__nothrow__)) ;
__inline extern void *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) mempcpy)(void *__dest , void const   *__src ,
                                             size_t __len )
{
  unsigned long tmp ;
  void *tmp___0 ;

  {
  tmp = __builtin_object_size(__dest, 0);
  tmp___0 = __builtin___mempcpy_chk(__dest, __src, __len, tmp);
  return (tmp___0);
}
}
__inline extern void *( __attribute__((__nonnull__(1), __leaf__, __gnu_inline__, __artificial__,
__always_inline__)) memset)(void *__dest , int __ch , size_t __len )  __attribute__((__nothrow__)) ;
__inline extern void *( __attribute__((__nonnull__(1), __leaf__, __gnu_inline__, __artificial__,
__always_inline__)) memset)(void *__dest , int __ch , size_t __len )
{
  unsigned long tmp ;
  void *tmp___0 ;

  {
  tmp = __builtin_object_size(__dest, 0);
  tmp___0 = __builtin___memset_chk(__dest, __ch, __len, tmp);
  return (tmp___0);
}
}
extern void ( __attribute__((__nonnull__(1), __leaf__)) __explicit_bzero_chk)(void *__dest ,
                                                                              size_t __len ,
                                                                              size_t __destlen )  __attribute__((__nothrow__)) ;
__inline extern void ( __attribute__((__nonnull__(1), __leaf__, __gnu_inline__, __artificial__,
__always_inline__)) explicit_bzero)(void *__dest , size_t __len )  __attribute__((__nothrow__)) ;
__inline extern void ( __attribute__((__nonnull__(1), __leaf__, __gnu_inline__, __artificial__,
__always_inline__)) explicit_bzero)(void *__dest , size_t __len )
{
  unsigned long tmp ;

  {
  tmp = __builtin_object_size(__dest, 0);
  __explicit_bzero_chk(__dest, __len, tmp);
  return;
}
}
__inline extern char *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) strcpy)(char *__dest , char const   *__src )  __attribute__((__nothrow__)) ;
__inline extern char *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) strcpy)(char *__dest , char const   *__src )
{
  unsigned long tmp ;
  char *tmp___0 ;

  {
  tmp = __builtin_object_size((void *)__dest, 1);
  tmp___0 = __builtin___strcpy_chk(__dest, __src, tmp);
  return (tmp___0);
}
}
__inline extern char *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) stpcpy)(char *__dest , char const   *__src )  __attribute__((__nothrow__)) ;
__inline extern char *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) stpcpy)(char *__dest , char const   *__src )
{
  unsigned long tmp ;
  char *tmp___0 ;

  {
  tmp = __builtin_object_size((void *)__dest, 1);
  tmp___0 = __builtin___stpcpy_chk(__dest, __src, tmp);
  return (tmp___0);
}
}
__inline extern char *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) strncpy)(char *__dest , char const   *__src ,
                                             size_t __len )  __attribute__((__nothrow__)) ;
__inline extern char *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) strncpy)(char *__dest , char const   *__src ,
                                             size_t __len )
{
  unsigned long tmp ;
  char *tmp___0 ;

  {
  tmp = __builtin_object_size((void *)__dest, 1);
  tmp___0 = __builtin___strncpy_chk(__dest, __src, __len, tmp);
  return (tmp___0);
}
}
extern char *( __attribute__((__leaf__)) __stpncpy_chk)(char *__dest , char const   *__src ,
                                                        size_t __n , size_t __destlen )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) __stpncpy_alias)(char *__dest , char const   *__src ,
                                                          size_t __n )  __asm__("stpncpy") __attribute__((__nothrow__)) ;
__inline extern char *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) stpncpy)(char *__dest , char const   *__src ,
                                             size_t __n )  __attribute__((__nothrow__)) ;
__inline extern char *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) stpncpy)(char *__dest , char const   *__src ,
                                             size_t __n )
{
  unsigned long tmp ;
  char *tmp___0 ;
  unsigned long tmp___1 ;
  unsigned long tmp___2 ;
  char *tmp___3 ;

  {
  tmp___1 = __builtin_object_size((void *)__dest, 1);
  if (tmp___1 != 18446744073709551615UL) {
    tmp = __builtin_object_size((void *)__dest, 1);
    tmp___0 = __stpncpy_chk(__dest, __src, __n, tmp);
    return (tmp___0);
  }
  tmp___3 = __stpncpy_alias(__dest, __src, __n);
  return (tmp___3);
}
}
__inline extern char *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) strcat)(char *__dest , char const   *__src )  __attribute__((__nothrow__)) ;
__inline extern char *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) strcat)(char *__dest , char const   *__src )
{
  unsigned long tmp ;
  char *tmp___0 ;

  {
  tmp = __builtin_object_size((void *)__dest, 1);
  tmp___0 = __builtin___strcat_chk(__dest, __src, tmp);
  return (tmp___0);
}
}
__inline extern char *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) strncat)(char *__dest , char const   *__src ,
                                             size_t __len )  __attribute__((__nothrow__)) ;
__inline extern char *( __attribute__((__nonnull__(1,2), __leaf__, __gnu_inline__,
__artificial__, __always_inline__)) strncat)(char *__dest , char const   *__src ,
                                             size_t __len )
{
  unsigned long tmp ;
  char *tmp___0 ;

  {
  tmp = __builtin_object_size((void *)__dest, 1);
  tmp___0 = __builtin___strncat_chk(__dest, __src, __len, tmp);
  return (tmp___0);
}
}
extern int *( __attribute__((__leaf__)) __errno_location)(void)  __attribute__((__nothrow__,
__const__)) ;
extern char *program_invocation_name ;
extern char *program_invocation_short_name ;
extern DIR *( __attribute__((__nonnull__(1))) opendir)(char const   *__name ) ;
extern DIR *fdopendir(int __fd ) ;
extern int ( __attribute__((__nonnull__(1))) closedir)(DIR *__dirp ) ;
extern struct dirent *( __attribute__((__nonnull__(1))) readdir)(DIR *__dirp )  __asm__("readdir64")  ;
extern struct dirent64 *( __attribute__((__nonnull__(1))) readdir64)(DIR *__dirp ) ;
extern int ( __attribute__((__nonnull__(1,2,3))) readdir_r)(DIR *__dirp , struct dirent *__entry ,
                                                            struct dirent **__result )  __asm__("readdir64_r") __attribute__((__deprecated__)) ;
extern int ( __attribute__((__nonnull__(1,2,3))) readdir64_r)(DIR *__dirp , struct dirent64 *__entry ,
                                                              struct dirent64 **__result )  __attribute__((__deprecated__)) ;
extern void ( __attribute__((__nonnull__(1), __leaf__)) rewinddir)(DIR *__dirp )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__nonnull__(1), __leaf__)) seekdir)(DIR *__dirp , long __pos )  __attribute__((__nothrow__)) ;
extern long ( __attribute__((__nonnull__(1), __leaf__)) telldir)(DIR *__dirp )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) dirfd)(DIR *__dirp )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2))) scandir)(char const   *__dir , struct dirent ***__namelist ,
                                                        int (*__selector)(struct dirent  const  * ) ,
                                                        int (*__cmp)(struct dirent  const  ** ,
                                                                     struct dirent  const  ** ) )  __asm__("scandir64")  ;
extern int ( __attribute__((__nonnull__(1,2))) scandir64)(char const   *__dir , struct dirent64 ***__namelist ,
                                                          int (*__selector)(struct dirent64  const  * ) ,
                                                          int (*__cmp)(struct dirent64  const  ** ,
                                                                       struct dirent64  const  ** ) ) ;
extern int ( __attribute__((__nonnull__(2,3))) scandirat)(int __dfd , char const   *__dir ,
                                                          struct dirent ***__namelist ,
                                                          int (*__selector)(struct dirent  const  * ) ,
                                                          int (*__cmp)(struct dirent  const  ** ,
                                                                       struct dirent  const  ** ) )  __asm__("scandirat64")  ;
extern int ( __attribute__((__nonnull__(2,3))) scandirat64)(int __dfd , char const   *__dir ,
                                                            struct dirent64 ***__namelist ,
                                                            int (*__selector)(struct dirent64  const  * ) ,
                                                            int (*__cmp)(struct dirent64  const  ** ,
                                                                         struct dirent64  const  ** ) ) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) alphasort)(struct dirent  const  **__e1 ,
                                                                    struct dirent  const  **__e2 )  __asm__("alphasort64") __attribute__((__pure__,
__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) alphasort64)(struct dirent64  const  **__e1 ,
                                                                      struct dirent64  const  **__e2 )  __attribute__((__pure__,
__nothrow__)) ;
extern __ssize_t ( __attribute__((__nonnull__(2,4), __leaf__)) getdirentries)(int __fd ,
                                                                              char *__buf ,
                                                                              size_t __nbytes ,
                                                                              __off_t *__basep )  __asm__("getdirentries64") __attribute__((__nothrow__)) ;
extern __ssize_t ( __attribute__((__nonnull__(2,4), __leaf__)) getdirentries64)(int __fd ,
                                                                                char *__buf ,
                                                                                size_t __nbytes ,
                                                                                __off_t *__basep )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) versionsort)(struct dirent  const  **__e1 ,
                                                                      struct dirent  const  **__e2 )  __asm__("versionsort64") __attribute__((__pure__,
__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) versionsort64)(struct dirent64  const  **__e1 ,
                                                                        struct dirent64  const  **__e2 )  __attribute__((__pure__,
__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) gettimeofday)(struct timeval *__tv ,
                                                                     __timezone_ptr_t __tz )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) settimeofday)(struct timeval  const  *__tv ,
                                                     struct timezone  const  *__tz )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) adjtime)(struct timeval  const  *__delta ,
                                                struct timeval *__olddelta )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) getitimer)(__itimer_which_t __which , struct itimerval *__value )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) setitimer)(__itimer_which_t __which , struct itimerval  const  *__new ,
                                                  struct itimerval *__old )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) utimes)(char const   *__file ,
                                                               struct timeval  const  *__tvp )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) lutimes)(char const   *__file ,
                                                                struct timeval  const  *__tvp )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) futimes)(int __fd , struct timeval  const  *__tvp )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) futimesat)(int __fd , char const   *__file ,
                                                  struct timeval  const  *__tvp )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) clock_adjtime)(__clockid_t __clock_id , struct timex *__utx )  __attribute__((__nothrow__)) ;
extern clock_t ( __attribute__((__leaf__)) clock)(void)  __attribute__((__nothrow__)) ;
extern time_t ( __attribute__((__leaf__)) time)(time_t *__timer )  __attribute__((__nothrow__)) ;
extern double ( __attribute__((__leaf__)) difftime)(time_t __time1 , time_t __time0 )  __attribute__((__nothrow__,
__const__)) ;
extern time_t ( __attribute__((__leaf__)) mktime)(struct tm *__tp )  __attribute__((__nothrow__)) ;
extern size_t ( __attribute__((__leaf__)) strftime)(char *__s , size_t __maxsize ,
                                                    char const   *__format , struct tm  const  *__tp )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) strptime)(char const   *__s , char const   *__fmt ,
                                                   struct tm *__tp )  __attribute__((__nothrow__)) ;
extern size_t ( __attribute__((__leaf__)) strftime_l)(char *__s , size_t __maxsize ,
                                                      char const   *__format , struct tm  const  *__tp ,
                                                      locale_t __loc )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) strptime_l)(char const   *__s , char const   *__fmt ,
                                                     struct tm *__tp , locale_t __loc )  __attribute__((__nothrow__)) ;
extern struct tm *( __attribute__((__leaf__)) gmtime)(time_t const   *__timer )  __attribute__((__nothrow__)) ;
extern struct tm *( __attribute__((__leaf__)) localtime)(time_t const   *__timer )  __attribute__((__nothrow__)) ;
extern struct tm *( __attribute__((__leaf__)) gmtime_r)(time_t const   *__timer ,
                                                        struct tm *__tp )  __attribute__((__nothrow__)) ;
extern struct tm *( __attribute__((__leaf__)) localtime_r)(time_t const   *__timer ,
                                                           struct tm *__tp )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) asctime)(struct tm  const  *__tp )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) ctime)(time_t const   *__timer )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) asctime_r)(struct tm  const  *__tp , char *__buf )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) ctime_r)(time_t const   *__timer , char *__buf )  __attribute__((__nothrow__)) ;
extern char *__tzname[2] ;
extern int __daylight ;
extern long __timezone ;
extern char *tzname[2] ;
extern void ( __attribute__((__leaf__)) tzset)(void)  __attribute__((__nothrow__)) ;
extern int daylight ;
extern long timezone ;
extern int ( __attribute__((__leaf__)) stime)(time_t const   *__when )  __attribute__((__nothrow__)) ;
extern time_t ( __attribute__((__leaf__)) timegm)(struct tm *__tp )  __attribute__((__nothrow__)) ;
extern time_t ( __attribute__((__leaf__)) timelocal)(struct tm *__tp )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) dysize)(int __year )  __attribute__((__nothrow__,
__const__)) ;
extern int nanosleep(struct timespec  const  *__requested_time , struct timespec *__remaining ) ;
extern int ( __attribute__((__leaf__)) clock_getres)(clockid_t __clock_id , struct timespec *__res )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) clock_gettime)(clockid_t __clock_id , struct timespec *__tp )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) clock_settime)(clockid_t __clock_id , struct timespec  const  *__tp )  __attribute__((__nothrow__)) ;
extern int clock_nanosleep(clockid_t __clock_id , int __flags , struct timespec  const  *__req ,
                           struct timespec *__rem ) ;
extern int ( __attribute__((__leaf__)) clock_getcpuclockid)(pid_t __pid , clockid_t *__clock_id )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) timer_create)(clockid_t __clock_id , struct sigevent *__evp ,
                                                     timer_t *__timerid )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) timer_delete)(timer_t __timerid )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) timer_settime)(timer_t __timerid , int __flags ,
                                                      struct itimerspec  const  *__value ,
                                                      struct itimerspec *__ovalue )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) timer_gettime)(timer_t __timerid , struct itimerspec *__value )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) timer_getoverrun)(timer_t __timerid )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) timespec_get)(struct timespec *__ts ,
                                                                     int __base )  __attribute__((__nothrow__)) ;
extern int getdate_err ;
extern struct tm *getdate(char const   *__string ) ;
extern int getdate_r(char const   *__string , struct tm *__resbufp ) ;
extern __sighandler_t ( __attribute__((__leaf__)) __sysv_signal)(int __sig , void (*__handler)(int  ) )  __attribute__((__nothrow__)) ;
extern __sighandler_t ( __attribute__((__leaf__)) sysv_signal)(int __sig , void (*__handler)(int  ) )  __attribute__((__nothrow__)) ;
extern __sighandler_t ( __attribute__((__leaf__)) signal)(int __sig , void (*__handler)(int  ) )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) kill)(__pid_t __pid , int __sig )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) killpg)(__pid_t __pgrp , int __sig )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) raise)(int __sig )  __attribute__((__nothrow__)) ;
extern __sighandler_t ( __attribute__((__leaf__)) ssignal)(int __sig , void (*__handler)(int  ) )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) gsignal)(int __sig )  __attribute__((__nothrow__)) ;
extern void psignal(int __sig , char const   *__s ) ;
extern void psiginfo(siginfo_t const   *__pinfo , char const   *__s ) ;
extern int sigpause(int __sig )  __asm__("__xpg_sigpause")  ;
extern int ( __attribute__((__leaf__)) sigblock)(int __mask )  __attribute__((__nothrow__,
__deprecated__)) ;
extern int ( __attribute__((__leaf__)) sigsetmask)(int __mask )  __attribute__((__nothrow__,
__deprecated__)) ;
extern int ( __attribute__((__leaf__)) siggetmask)(void)  __attribute__((__nothrow__,
__deprecated__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) sigemptyset)(sigset_t *__set )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) sigfillset)(sigset_t *__set )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) sigaddset)(sigset_t *__set ,
                                                                  int __signo )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) sigdelset)(sigset_t *__set ,
                                                                  int __signo )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) sigismember)(sigset_t const   *__set ,
                                                                    int __signo )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) sigisemptyset)(sigset_t const   *__set )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2,3), __leaf__)) sigandset)(sigset_t *__set ,
                                                                      sigset_t const   *__left ,
                                                                      sigset_t const   *__right )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2,3), __leaf__)) sigorset)(sigset_t *__set ,
                                                                     sigset_t const   *__left ,
                                                                     sigset_t const   *__right )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) sigprocmask)(int __how , sigset_t const   *__set ,
                                                    sigset_t *__oset )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1))) sigsuspend)(sigset_t const   *__set ) ;
extern int ( __attribute__((__leaf__)) sigaction)(int __sig , struct sigaction  const  *__act ,
                                                  struct sigaction *__oact )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) sigpending)(sigset_t *__set )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2))) sigwait)(sigset_t const   *__set ,
                                                        int *__sig ) ;
extern int ( __attribute__((__nonnull__(1))) sigwaitinfo)(sigset_t const   *__set ,
                                                          siginfo_t *__info ) ;
extern int ( __attribute__((__nonnull__(1))) sigtimedwait)(sigset_t const   *__set ,
                                                           siginfo_t *__info , struct timespec  const  *__timeout ) ;
extern int ( __attribute__((__leaf__)) sigqueue)(__pid_t __pid , int __sig , union sigval  const  __val )  __attribute__((__nothrow__)) ;
extern char const   *_sys_siglist[65] ;
extern char const   *sys_siglist[65] ;
extern int ( __attribute__((__leaf__)) sigreturn)(struct sigcontext *__scp )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) siginterrupt)(int __sig , int __interrupt )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) sigaltstack)(stack_t const   *__ss , stack_t *__oss )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) sigstack)(struct sigstack *__ss , struct sigstack *__oss )  __attribute__((__nothrow__,
__deprecated__)) ;
extern int ( __attribute__((__leaf__)) sighold)(int __sig )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) sigrelse)(int __sig )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) sigignore)(int __sig )  __attribute__((__nothrow__)) ;
extern __sighandler_t ( __attribute__((__leaf__)) sigset)(int __sig , void (*__disp)(int  ) )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) pthread_sigmask)(int __how , __sigset_t const   *__newmask ,
                                                        __sigset_t *__oldmask )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) pthread_kill)(pthread_t __threadid , int __signo )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) pthread_sigqueue)(pthread_t __threadid , int __signo ,
                                                         union sigval  const  __value )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) __libc_current_sigrtmin)(void)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) __libc_current_sigrtmax)(void)  __attribute__((__nothrow__)) ;
extern void assert(int expression ) ;
extern reg_syntax_t re_syntax_options ;
extern reg_syntax_t re_set_syntax(reg_syntax_t __syntax ) ;
extern char const   *re_compile_pattern(char const   *__pattern , size_t __length ,
                                        struct re_pattern_buffer *__buffer ) ;
extern int re_compile_fastmap(struct re_pattern_buffer *__buffer ) ;
extern int re_search(struct re_pattern_buffer *__buffer , char const   *__string ,
                     int __length , int __start , int __range , struct re_registers *__regs ) ;
extern int re_search_2(struct re_pattern_buffer *__buffer , char const   *__string1 ,
                       int __length1 , char const   *__string2 , int __length2 , int __start ,
                       int __range , struct re_registers *__regs , int __stop ) ;
extern int re_match(struct re_pattern_buffer *__buffer , char const   *__string ,
                    int __length , int __start , struct re_registers *__regs ) ;
extern int re_match_2(struct re_pattern_buffer *__buffer , char const   *__string1 ,
                      int __length1 , char const   *__string2 , int __length2 , int __start ,
                      struct re_registers *__regs , int __stop ) ;
extern void re_set_registers(struct re_pattern_buffer *__buffer , struct re_registers *__regs ,
                             unsigned int __num_regs , regoff_t *__starts , regoff_t *__ends ) ;
extern int regcomp(regex_t *__preg , char const   *__pattern , int __cflags ) ;
extern int regexec(regex_t const   *__preg , char const   *__string , size_t __nmatch ,
                   regmatch_t *__pmatch , int __eflags ) ;
extern size_t regerror(int __errcode , regex_t const   *__preg , char *__errbuf ,
                       size_t __errbuf_size ) ;
extern void regfree(regex_t *__preg ) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) utime)(char const   *__file ,
                                                              struct utimbuf  const  *__file_times )  __attribute__((__nothrow__)) ;
extern void closelog(void) ;
extern void openlog(char const   *__ident , int __option , int __facility ) ;
extern int ( __attribute__((__leaf__)) setlogmask)(int __mask )  __attribute__((__nothrow__)) ;
__inline extern void ( /* format attribute */ __attribute__((__gnu_inline__, __artificial__,
__always_inline__)) syslog)(int __pri , char const   *__fmt  , ...) ;
__inline extern void ( /* format attribute */ __attribute__((__gnu_inline__, __artificial__,
__always_inline__)) vsyslog)(int __pri , char const   *__fmt , __gnuc_va_list __ap ) ;
extern void ( /* format attribute */  __syslog_chk)(int __pri , int __flag , char const   *__fmt
                                                    , ...) ;
__inline extern void ( /* format attribute */ __attribute__((__gnu_inline__, __artificial__,
__always_inline__)) syslog)(int __pri , char const   *__fmt  , ...)
{


  {
  __syslog_chk(__pri, 1, __fmt, __builtin_va_arg_pack());
  return;
}
}
extern void ( /* format attribute */  __vsyslog_chk)(int __pri , int __flag , char const   *__fmt ,
                                                     __gnuc_va_list __ap ) ;
__inline extern void ( /* format attribute */ __attribute__((__gnu_inline__, __artificial__,
__always_inline__)) vsyslog)(int __pri , char const   *__fmt , __gnuc_va_list __ap )
{


  {
  __vsyslog_chk(__pri, 1, __fmt, __ap);
  return;
}
}
__inline extern int ( __attribute__((__gnu_inline__, __artificial__, __always_inline__)) poll)(struct pollfd *__fds ,
                                                                                               nfds_t __nfds ,
                                                                                               int __timeout ) ;
__inline extern int ( __attribute__((__gnu_inline__, __artificial__, __always_inline__)) ppoll)(struct pollfd *__fds ,
                                                                                                nfds_t __nfds ,
                                                                                                struct timespec  const  *__timeout ,
                                                                                                __sigset_t const   *__ss ) ;
extern int __poll_alias(struct pollfd *__fds , nfds_t __nfds , int __timeout )  __asm__("poll")  ;
extern int __poll_chk(struct pollfd *__fds , nfds_t __nfds , int __timeout , unsigned long __fdslen ) ;
extern int __poll_chk_warn(struct pollfd *__fds , nfds_t __nfds , int __timeout ,
                           unsigned long __fdslen )  __asm__("__poll_chk") __attribute__((__warning__("poll called with fds buffer too small file nfds entries"))) ;
__inline extern int ( __attribute__((__gnu_inline__, __artificial__, __always_inline__)) poll)(struct pollfd *__fds ,
                                                                                               nfds_t __nfds ,
                                                                                               int __timeout )
{
  unsigned long tmp ;
  int tmp___0 ;
  unsigned long tmp___1 ;
  int tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  int tmp___5 ;

  {
  tmp___4 = __builtin_object_size((void *)__fds, 1);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size((void *)__fds, 1);
    tmp___0 = __poll_chk(__fds, __nfds, __timeout, tmp);
    return (tmp___0);
  }
  tmp___5 = __poll_alias(__fds, __nfds, __timeout);
  return (tmp___5);
}
}
extern int __ppoll_alias(struct pollfd *__fds , nfds_t __nfds , struct timespec  const  *__timeout ,
                         __sigset_t const   *__ss )  __asm__("ppoll")  ;
extern int __ppoll_chk(struct pollfd *__fds , nfds_t __nfds , struct timespec  const  *__timeout ,
                       __sigset_t const   *__ss , unsigned long __fdslen ) ;
extern int __ppoll_chk_warn(struct pollfd *__fds , nfds_t __nfds , struct timespec  const  *__timeout ,
                            __sigset_t const   *__ss , unsigned long __fdslen )  __asm__("__ppoll_chk") __attribute__((__warning__("ppoll called with fds buffer too small file nfds entries"))) ;
__inline extern int ( __attribute__((__gnu_inline__, __artificial__, __always_inline__)) ppoll)(struct pollfd *__fds ,
                                                                                                nfds_t __nfds ,
                                                                                                struct timespec  const  *__timeout ,
                                                                                                __sigset_t const   *__ss )
{
  unsigned long tmp ;
  int tmp___0 ;
  unsigned long tmp___1 ;
  int tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  int tmp___5 ;

  {
  tmp___4 = __builtin_object_size((void *)__fds, 1);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size((void *)__fds, 1);
    tmp___0 = __ppoll_chk(__fds, __nfds, __timeout, __ss, tmp);
    return (tmp___0);
  }
  tmp___5 = __ppoll_alias(__fds, __nfds, __timeout, __ss);
  return (tmp___5);
}
}
extern int ( __attribute__((__leaf__)) uname)(struct utsname *__name )  __attribute__((__nothrow__)) ;
extern __pid_t wait(int *__stat_loc ) ;
extern __pid_t waitpid(__pid_t __pid , int *__stat_loc , int __options ) ;
extern int waitid(idtype_t __idtype , __id_t __id , siginfo_t *__infop , int __options ) ;
extern __pid_t wait3(int *__stat_loc , int __options , struct rusage *__usage )  __attribute__((__nothrow__)) ;
extern __pid_t wait4(__pid_t __pid , int *__stat_loc , int __options , struct rusage *__usage )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) prlimit)(__pid_t __pid , enum __rlimit_resource __resource ,
                                                struct rlimit  const  *__new_limit ,
                                                struct rlimit *__old_limit )  __asm__("prlimit64") __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) prlimit64)(__pid_t __pid , enum __rlimit_resource __resource ,
                                                  struct rlimit64  const  *__new_limit ,
                                                  struct rlimit64 *__old_limit )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) getrlimit)(__rlimit_resource_t __resource ,
                                                  struct rlimit *__rlimits )  __asm__("getrlimit64") __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) getrlimit64)(__rlimit_resource_t __resource ,
                                                    struct rlimit64 *__rlimits )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) setrlimit)(__rlimit_resource_t __resource ,
                                                  struct rlimit  const  *__rlimits )  __asm__("setrlimit64") __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) setrlimit64)(__rlimit_resource_t __resource ,
                                                    struct rlimit64  const  *__rlimits )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) getrusage)(__rusage_who_t __who , struct rusage *__usage )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) getpriority)(__priority_which_t __which , id_t __who )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) setpriority)(__priority_which_t __which , id_t __who ,
                                                    int __prio )  __attribute__((__nothrow__)) ;
__inline extern struct cmsghdr *( __attribute__((__leaf__, __gnu_inline__)) __cmsg_nxthdr)(struct msghdr *__mhdr ,
                                                                                           struct cmsghdr *__cmsg )  __attribute__((__nothrow__)) ;
__inline extern struct cmsghdr *( __attribute__((__leaf__, __gnu_inline__)) __cmsg_nxthdr)(struct msghdr *__mhdr ,
                                                                                           struct cmsghdr *__cmsg )  __attribute__((__nothrow__)) ;
__inline extern struct cmsghdr *( __attribute__((__leaf__, __gnu_inline__)) __cmsg_nxthdr)(struct msghdr *__mhdr ,
                                                                                           struct cmsghdr *__cmsg )
{


  {
  if (__cmsg->cmsg_len < sizeof(struct cmsghdr )) {
    return ((struct cmsghdr *)0);
  }
  __cmsg = (struct cmsghdr *)((unsigned char *)__cmsg + (((__cmsg->cmsg_len + sizeof(size_t )) - 1UL) & ~ (sizeof(size_t ) - 1UL)));
  if ((unsigned long )((unsigned char *)(__cmsg + 1)) > (unsigned long )((unsigned char *)__mhdr->msg_control + __mhdr->msg_controllen)) {
    return ((struct cmsghdr *)0);
  } else
  if ((unsigned long )((unsigned char *)__cmsg + (((__cmsg->cmsg_len + sizeof(size_t )) - 1UL) & ~ (sizeof(size_t ) - 1UL))) > (unsigned long )((unsigned char *)__mhdr->msg_control + __mhdr->msg_controllen)) {
    return ((struct cmsghdr *)0);
  }
  return (__cmsg);
}
}
extern int ( __attribute__((__leaf__)) socket)(int __domain , int __type , int __protocol )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) socketpair)(int __domain , int __type , int __protocol ,
                                                   int *__fds )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) bind)(int __fd , struct sockaddr  const  *__addr ,
                                             socklen_t __len )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) getsockname)(int __fd , struct sockaddr *__addr ,
                                                    socklen_t *__len )  __attribute__((__nothrow__)) ;
extern int connect(int __fd , struct sockaddr  const  *__addr , socklen_t __len ) ;
extern int ( __attribute__((__leaf__)) getpeername)(int __fd , struct sockaddr *__addr ,
                                                    socklen_t *__len )  __attribute__((__nothrow__)) ;
extern ssize_t send(int __fd , void const   *__buf , size_t __n , int __flags ) ;
__inline extern ssize_t ( __attribute__((__gnu_inline__, __artificial__, __always_inline__)) recv)(int __fd ,
                                                                                                   void *__buf ,
                                                                                                   size_t __n ,
                                                                                                   int __flags ) ;
extern ssize_t sendto(int __fd , void const   *__buf , size_t __n , int __flags ,
                      struct sockaddr  const  *__addr , socklen_t __addr_len ) ;
__inline extern ssize_t ( __attribute__((__gnu_inline__, __artificial__, __always_inline__)) recvfrom)(int __fd ,
                                                                                                       void *__buf ,
                                                                                                       size_t __n ,
                                                                                                       int __flags ,
                                                                                                       struct sockaddr * __restrict  __cil_tmp14 ,
                                                                                                       socklen_t *__addr_len ) ;
extern ssize_t sendmsg(int __fd , struct msghdr  const  *__message , int __flags ) ;
extern int sendmmsg(int __fd , struct mmsghdr *__vmessages , unsigned int __vlen ,
                    int __flags ) ;
extern ssize_t recvmsg(int __fd , struct msghdr *__message , int __flags ) ;
extern int recvmmsg(int __fd , struct mmsghdr *__vmessages , unsigned int __vlen ,
                    int __flags , struct timespec *__tmo ) ;
extern int ( __attribute__((__leaf__)) getsockopt)(int __fd , int __level , int __optname ,
                                                   void *__optval , socklen_t *__optlen )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) setsockopt)(int __fd , int __level , int __optname ,
                                                   void const   *__optval , socklen_t __optlen )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) listen)(int __fd , int __n )  __attribute__((__nothrow__)) ;
extern int accept(int __fd , struct sockaddr *__addr , socklen_t *__addr_len ) ;
extern int accept4(int __fd , struct sockaddr *__addr , socklen_t *__addr_len , int __flags ) ;
extern int ( __attribute__((__leaf__)) shutdown)(int __fd , int __how )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) sockatmark)(int __fd )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) isfdtype)(int __fd , int __fdtype )  __attribute__((__nothrow__)) ;
extern ssize_t __recv_chk(int __fd , void *__buf , size_t __n , size_t __buflen ,
                          int __flags ) ;
extern ssize_t __recv_alias(int __fd , void *__buf , size_t __n , int __flags )  __asm__("recv")  ;
extern ssize_t __recv_chk_warn(int __fd , void *__buf , size_t __n , size_t __buflen ,
                               int __flags )  __asm__("__recv_chk") __attribute__((__warning__("recv called with bigger length than size of destination buffer"))) ;
__inline extern ssize_t ( __attribute__((__gnu_inline__, __artificial__, __always_inline__)) recv)(int __fd ,
                                                                                                   void *__buf ,
                                                                                                   size_t __n ,
                                                                                                   int __flags )
{
  unsigned long tmp ;
  ssize_t tmp___0 ;
  unsigned long tmp___1 ;
  ssize_t tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  ssize_t tmp___5 ;

  {
  tmp___4 = __builtin_object_size(__buf, 0);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size(__buf, 0);
    tmp___0 = __recv_chk(__fd, __buf, __n, tmp, __flags);
    return (tmp___0);
    tmp___3 = __builtin_object_size(__buf, 0);
    if (__n > tmp___3) {
      tmp___1 = __builtin_object_size(__buf, 0);
      tmp___2 = __recv_chk_warn(__fd, __buf, __n, tmp___1, __flags);
      return (tmp___2);
    }
  }
  tmp___5 = __recv_alias(__fd, __buf, __n, __flags);
  return (tmp___5);
}
}
extern ssize_t __recvfrom_chk(int __fd , void *__buf , size_t __n , size_t __buflen ,
                              int __flags , struct sockaddr *__addr , socklen_t *__addr_len ) ;
extern ssize_t __recvfrom_alias(int __fd , void *__buf , size_t __n , int __flags ,
                                struct sockaddr *__addr , socklen_t *__addr_len )  __asm__("recvfrom")  ;
extern ssize_t __recvfrom_chk_warn(int __fd , void *__buf , size_t __n , size_t __buflen ,
                                   int __flags , struct sockaddr *__addr , socklen_t *__addr_len )  __asm__("__recvfrom_chk") __attribute__((__warning__("recvfrom called with bigger length than size of destination buffer"))) ;
__inline extern ssize_t ( __attribute__((__gnu_inline__, __artificial__, __always_inline__)) recvfrom)(int __fd ,
                                                                                                       void *__buf ,
                                                                                                       size_t __n ,
                                                                                                       int __flags ,
                                                                                                       struct sockaddr * __restrict  __cil_tmp14 ,
                                                                                                       socklen_t *__addr_len )
{
  __SOCKADDR_ARG __addr ;
  unsigned long tmp ;
  ssize_t tmp___0 ;
  unsigned long tmp___1 ;
  ssize_t tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  ssize_t tmp___5 ;

  {
  __addr.__sockaddr__ = __cil_tmp14;
  tmp___4 = __builtin_object_size(__buf, 0);
  if (tmp___4 != 18446744073709551615UL) {
    tmp = __builtin_object_size(__buf, 0);
    tmp___0 = __recvfrom_chk(__fd, (void * __restrict  )__buf, __n, tmp, __flags,
                             __addr.__sockaddr__, (socklen_t * __restrict  )__addr_len);
    return (tmp___0);
    tmp___3 = __builtin_object_size(__buf, 0);
    if (__n > tmp___3) {
      tmp___1 = __builtin_object_size(__buf, 0);
      tmp___2 = __recvfrom_chk_warn(__fd, (void * __restrict  )__buf, __n, tmp___1,
                                    __flags, __addr.__sockaddr__, (socklen_t * __restrict  )__addr_len);
      return (tmp___2);
    }
  }
  tmp___5 = __recvfrom_alias(__fd, (void * __restrict  )__buf, __n, __flags, __addr.__sockaddr__,
                             (socklen_t * __restrict  )__addr_len);
  return (tmp___5);
}
}
extern int ( __attribute__((__leaf__)) ioctl)(int __fd , unsigned long __request
                                              , ...)  __attribute__((__nothrow__)) ;
extern speed_t ( __attribute__((__leaf__)) cfgetospeed)(struct termios  const  *__termios_p )  __attribute__((__nothrow__)) ;
extern speed_t ( __attribute__((__leaf__)) cfgetispeed)(struct termios  const  *__termios_p )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) cfsetospeed)(struct termios *__termios_p ,
                                                    speed_t __speed )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) cfsetispeed)(struct termios *__termios_p ,
                                                    speed_t __speed )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) cfsetspeed)(struct termios *__termios_p , speed_t __speed )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) tcgetattr)(int __fd , struct termios *__termios_p )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) tcsetattr)(int __fd , int __optional_actions ,
                                                  struct termios  const  *__termios_p )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__leaf__)) cfmakeraw)(struct termios *__termios_p )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) tcsendbreak)(int __fd , int __duration )  __attribute__((__nothrow__)) ;
extern int tcdrain(int __fd ) ;
extern int ( __attribute__((__leaf__)) tcflush)(int __fd , int __queue_selector )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) tcflow)(int __fd , int __action )  __attribute__((__nothrow__)) ;
extern __pid_t ( __attribute__((__leaf__)) tcgetsid)(int __fd )  __attribute__((__nothrow__)) ;
extern struct in6_addr  const  in6addr_any ;
extern struct in6_addr  const  in6addr_loopback ;
extern uint32_t ( __attribute__((__leaf__)) ntohl)(uint32_t __netlong )  __attribute__((__nothrow__,
__const__)) ;
extern uint16_t ( __attribute__((__leaf__)) ntohs)(uint16_t __netshort )  __attribute__((__nothrow__,
__const__)) ;
extern uint32_t ( __attribute__((__leaf__)) htonl)(uint32_t __hostlong )  __attribute__((__nothrow__,
__const__)) ;
extern uint16_t ( __attribute__((__leaf__)) htons)(uint16_t __hostshort )  __attribute__((__nothrow__,
__const__)) ;
extern int ( __attribute__((__leaf__)) bindresvport)(int __sockfd , struct sockaddr_in *__sock_in )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) bindresvport6)(int __sockfd , struct sockaddr_in6 *__sock_in )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) inet6_option_space)(int __nbytes )  __attribute__((__nothrow__,
__deprecated__)) ;
extern int ( __attribute__((__leaf__)) inet6_option_init)(void *__bp , struct cmsghdr **__cmsgp ,
                                                          int __type )  __attribute__((__nothrow__,
__deprecated__)) ;
extern int ( __attribute__((__leaf__)) inet6_option_append)(struct cmsghdr *__cmsg ,
                                                            uint8_t const   *__typep ,
                                                            int __multx , int __plusy )  __attribute__((__nothrow__,
__deprecated__)) ;
extern uint8_t *( __attribute__((__leaf__)) inet6_option_alloc)(struct cmsghdr *__cmsg ,
                                                                int __datalen , int __multx ,
                                                                int __plusy )  __attribute__((__nothrow__,
__deprecated__)) ;
extern int ( __attribute__((__leaf__)) inet6_option_next)(struct cmsghdr  const  *__cmsg ,
                                                          uint8_t **__tptrp )  __attribute__((__nothrow__,
__deprecated__)) ;
extern int ( __attribute__((__leaf__)) inet6_option_find)(struct cmsghdr  const  *__cmsg ,
                                                          uint8_t **__tptrp , int __type )  __attribute__((__nothrow__,
__deprecated__)) ;
extern int ( __attribute__((__leaf__)) inet6_opt_init)(void *__extbuf , socklen_t __extlen )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) inet6_opt_append)(void *__extbuf , socklen_t __extlen ,
                                                         int __offset , uint8_t __type ,
                                                         socklen_t __len , uint8_t __align ,
                                                         void **__databufp )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) inet6_opt_finish)(void *__extbuf , socklen_t __extlen ,
                                                         int __offset )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) inet6_opt_set_val)(void *__databuf , int __offset ,
                                                          void *__val , socklen_t __vallen )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) inet6_opt_next)(void *__extbuf , socklen_t __extlen ,
                                                       int __offset , uint8_t *__typep ,
                                                       socklen_t *__lenp , void **__databufp )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) inet6_opt_find)(void *__extbuf , socklen_t __extlen ,
                                                       int __offset , uint8_t __type ,
                                                       socklen_t *__lenp , void **__databufp )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) inet6_opt_get_val)(void *__databuf , int __offset ,
                                                          void *__val , socklen_t __vallen )  __attribute__((__nothrow__)) ;
extern socklen_t ( __attribute__((__leaf__)) inet6_rth_space)(int __type , int __segments )  __attribute__((__nothrow__)) ;
extern void *( __attribute__((__leaf__)) inet6_rth_init)(void *__bp , socklen_t __bp_len ,
                                                         int __type , int __segments )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) inet6_rth_add)(void *__bp , struct in6_addr  const  *__addr )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) inet6_rth_reverse)(void const   *__in , void *__out )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) inet6_rth_segments)(void const   *__bp )  __attribute__((__nothrow__)) ;
extern struct in6_addr *( __attribute__((__leaf__)) inet6_rth_getaddr)(void const   *__bp ,
                                                                       int __index )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) getipv4sourcefilter)(int __s , struct in_addr __interface_addr ,
                                                            struct in_addr __group ,
                                                            uint32_t *__fmode , uint32_t *__numsrc ,
                                                            struct in_addr *__slist )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) setipv4sourcefilter)(int __s , struct in_addr __interface_addr ,
                                                            struct in_addr __group ,
                                                            uint32_t __fmode , uint32_t __numsrc ,
                                                            struct in_addr  const  *__slist )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) getsourcefilter)(int __s , uint32_t __interface_addr ,
                                                        struct sockaddr  const  *__group ,
                                                        socklen_t __grouplen , uint32_t *__fmode ,
                                                        uint32_t *__numsrc , struct sockaddr_storage *__slist )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) setsourcefilter)(int __s , uint32_t __interface_addr ,
                                                        struct sockaddr  const  *__group ,
                                                        socklen_t __grouplen , uint32_t __fmode ,
                                                        uint32_t __numsrc , struct sockaddr_storage  const  *__slist )  __attribute__((__nothrow__)) ;
extern in_addr_t ( __attribute__((__leaf__)) inet_addr)(char const   *__cp )  __attribute__((__nothrow__)) ;
extern in_addr_t ( __attribute__((__leaf__)) inet_lnaof)(struct in_addr __in )  __attribute__((__nothrow__)) ;
extern struct in_addr ( __attribute__((__leaf__)) inet_makeaddr)(in_addr_t __net ,
                                                                 in_addr_t __host )  __attribute__((__nothrow__)) ;
extern in_addr_t ( __attribute__((__leaf__)) inet_netof)(struct in_addr __in )  __attribute__((__nothrow__)) ;
extern in_addr_t ( __attribute__((__leaf__)) inet_network)(char const   *__cp )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) inet_ntoa)(struct in_addr __in )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) inet_pton)(int __af , char const   *__cp ,
                                                  void *__buf )  __attribute__((__nothrow__)) ;
extern char const   *( __attribute__((__leaf__)) inet_ntop)(int __af , void const   *__cp ,
                                                            char *__buf , socklen_t __len )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) inet_aton)(char const   *__cp , struct in_addr *__inp )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) inet_neta)(in_addr_t __net , char *__buf ,
                                                    size_t __len )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) inet_net_ntop)(int __af , void const   *__cp ,
                                                        int __bits , char *__buf ,
                                                        size_t __len )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) inet_net_pton)(int __af , char const   *__cp ,
                                                      void *__buf , size_t __len )  __attribute__((__nothrow__)) ;
extern unsigned int ( __attribute__((__leaf__)) inet_nsap_addr)(char const   *__cp ,
                                                                unsigned char *__buf ,
                                                                int __len )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) inet_nsap_ntoa)(int __len , unsigned char const   *__cp ,
                                                         char *__buf )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__leaf__)) setrpcent)(int __stayopen )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__leaf__)) endrpcent)(void)  __attribute__((__nothrow__)) ;
extern struct rpcent *( __attribute__((__leaf__)) getrpcbyname)(char const   *__name )  __attribute__((__nothrow__)) ;
extern struct rpcent *( __attribute__((__leaf__)) getrpcbynumber)(int __number )  __attribute__((__nothrow__)) ;
extern struct rpcent *( __attribute__((__leaf__)) getrpcent)(void)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) getrpcbyname_r)(char const   *__name , struct rpcent *__result_buf ,
                                                       char *__buffer , size_t __buflen ,
                                                       struct rpcent **__result )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) getrpcbynumber_r)(int __number , struct rpcent *__result_buf ,
                                                         char *__buffer , size_t __buflen ,
                                                         struct rpcent **__result )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) getrpcent_r)(struct rpcent *__result_buf ,
                                                    char *__buffer , size_t __buflen ,
                                                    struct rpcent **__result )  __attribute__((__nothrow__)) ;
extern int *( __attribute__((__leaf__)) __h_errno_location)(void)  __attribute__((__nothrow__,
__const__)) ;
extern void ( __attribute__((__leaf__)) herror)(char const   *__str )  __attribute__((__nothrow__)) ;
extern char const   *( __attribute__((__leaf__)) hstrerror)(int __err_num )  __attribute__((__nothrow__)) ;
extern void sethostent(int __stay_open ) ;
extern void endhostent(void) ;
extern struct hostent *gethostent(void) ;
extern struct hostent *gethostbyaddr(void const   *__addr , __socklen_t __len , int __type ) ;
extern struct hostent *gethostbyname(char const   *__name ) ;
extern struct hostent *gethostbyname2(char const   *__name , int __af ) ;
extern int gethostent_r(struct hostent *__result_buf , char *__buf , size_t __buflen ,
                        struct hostent **__result , int *__h_errnop ) ;
extern int gethostbyaddr_r(void const   *__addr , __socklen_t __len , int __type ,
                           struct hostent *__result_buf , char *__buf , size_t __buflen ,
                           struct hostent **__result , int *__h_errnop ) ;
extern int gethostbyname_r(char const   *__name , struct hostent *__result_buf , char *__buf ,
                           size_t __buflen , struct hostent **__result , int *__h_errnop ) ;
extern int gethostbyname2_r(char const   *__name , int __af , struct hostent *__result_buf ,
                            char *__buf , size_t __buflen , struct hostent **__result ,
                            int *__h_errnop ) ;
extern void setnetent(int __stay_open ) ;
extern void endnetent(void) ;
extern struct netent *getnetent(void) ;
extern struct netent *getnetbyaddr(uint32_t __net , int __type ) ;
extern struct netent *getnetbyname(char const   *__name ) ;
extern int getnetent_r(struct netent *__result_buf , char *__buf , size_t __buflen ,
                       struct netent **__result , int *__h_errnop ) ;
extern int getnetbyaddr_r(uint32_t __net , int __type , struct netent *__result_buf ,
                          char *__buf , size_t __buflen , struct netent **__result ,
                          int *__h_errnop ) ;
extern int getnetbyname_r(char const   *__name , struct netent *__result_buf , char *__buf ,
                          size_t __buflen , struct netent **__result , int *__h_errnop ) ;
extern void setservent(int __stay_open ) ;
extern void endservent(void) ;
extern struct servent *getservent(void) ;
extern struct servent *getservbyname(char const   *__name , char const   *__proto ) ;
extern struct servent *getservbyport(int __port , char const   *__proto ) ;
extern int getservent_r(struct servent *__result_buf , char *__buf , size_t __buflen ,
                        struct servent **__result ) ;
extern int getservbyname_r(char const   *__name , char const   *__proto , struct servent *__result_buf ,
                           char *__buf , size_t __buflen , struct servent **__result ) ;
extern int getservbyport_r(int __port , char const   *__proto , struct servent *__result_buf ,
                           char *__buf , size_t __buflen , struct servent **__result ) ;
extern void setprotoent(int __stay_open ) ;
extern void endprotoent(void) ;
extern struct protoent *getprotoent(void) ;
extern struct protoent *getprotobyname(char const   *__name ) ;
extern struct protoent *getprotobynumber(int __proto ) ;
extern int getprotoent_r(struct protoent *__result_buf , char *__buf , size_t __buflen ,
                         struct protoent **__result ) ;
extern int getprotobyname_r(char const   *__name , struct protoent *__result_buf ,
                            char *__buf , size_t __buflen , struct protoent **__result ) ;
extern int getprotobynumber_r(int __proto , struct protoent *__result_buf , char *__buf ,
                              size_t __buflen , struct protoent **__result ) ;
extern int setnetgrent(char const   *__netgroup ) ;
extern void endnetgrent(void) ;
extern int getnetgrent(char **__hostp , char **__userp , char **__domainp ) ;
extern int innetgr(char const   *__netgroup , char const   *__host , char const   *__user ,
                   char const   *__domain ) ;
extern int getnetgrent_r(char **__hostp , char **__userp , char **__domainp , char *__buffer ,
                         size_t __buflen ) ;
extern int rcmd(char **__ahost , unsigned short __rport , char const   *__locuser ,
                char const   *__remuser , char const   *__cmd , int *__fd2p ) ;
extern int rcmd_af(char **__ahost , unsigned short __rport , char const   *__locuser ,
                   char const   *__remuser , char const   *__cmd , int *__fd2p , sa_family_t __af ) ;
extern int rexec(char **__ahost , int __rport , char const   *__name , char const   *__pass ,
                 char const   *__cmd , int *__fd2p ) ;
extern int rexec_af(char **__ahost , int __rport , char const   *__name , char const   *__pass ,
                    char const   *__cmd , int *__fd2p , sa_family_t __af ) ;
extern int ruserok(char const   *__rhost , int __suser , char const   *__remuser ,
                   char const   *__locuser ) ;
extern int ruserok_af(char const   *__rhost , int __suser , char const   *__remuser ,
                      char const   *__locuser , sa_family_t __af ) ;
extern int iruserok(uint32_t __raddr , int __suser , char const   *__remuser , char const   *__locuser ) ;
extern int iruserok_af(void const   *__raddr , int __suser , char const   *__remuser ,
                       char const   *__locuser , sa_family_t __af ) ;
extern int rresvport(int *__alport ) ;
extern int rresvport_af(int *__alport , sa_family_t __af ) ;
extern int getaddrinfo(char const   *__name , char const   *__service , struct addrinfo  const  *__req ,
                       struct addrinfo **__pai ) ;
extern void ( __attribute__((__leaf__)) freeaddrinfo)(struct addrinfo *__ai )  __attribute__((__nothrow__)) ;
extern char const   *( __attribute__((__leaf__)) gai_strerror)(int __ecode )  __attribute__((__nothrow__)) ;
extern int getnameinfo(struct sockaddr  const  *__sa , socklen_t __salen , char *__host ,
                       socklen_t __hostlen , char *__serv , socklen_t __servlen ,
                       int __flags ) ;
extern int getaddrinfo_a(int __mode , struct gaicb **__list , int __ent , struct sigevent *__sig ) ;
extern int gai_suspend(struct gaicb  const  **__list , int __ent , struct timespec  const  *__timeout ) ;
extern int ( __attribute__((__leaf__)) gai_error)(struct gaicb *__req )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) gai_cancel)(struct gaicb *__gaicbp )  __attribute__((__nothrow__)) ;
extern void setpwent(void) ;
extern void endpwent(void) ;
extern struct passwd *getpwent(void) ;
extern struct passwd *( __attribute__((__nonnull__(1))) fgetpwent)(FILE *__stream ) ;
extern int putpwent(struct passwd  const  *__p , FILE *__f ) ;
extern struct passwd *getpwuid(__uid_t __uid ) ;
extern struct passwd *( __attribute__((__nonnull__(1))) getpwnam)(char const   *__name ) ;
extern int ( __attribute__((__nonnull__(1,2,4))) getpwent_r)(struct passwd *__resultbuf ,
                                                             char *__buffer , size_t __buflen ,
                                                             struct passwd **__result ) ;
extern int ( __attribute__((__nonnull__(2,3,5))) getpwuid_r)(__uid_t __uid , struct passwd *__resultbuf ,
                                                             char *__buffer , size_t __buflen ,
                                                             struct passwd **__result ) ;
extern int ( __attribute__((__nonnull__(1,2,3,5))) getpwnam_r)(char const   *__name ,
                                                               struct passwd *__resultbuf ,
                                                               char *__buffer , size_t __buflen ,
                                                               struct passwd **__result ) ;
extern int ( __attribute__((__nonnull__(1,2,3,5))) fgetpwent_r)(FILE *__stream , struct passwd *__resultbuf ,
                                                                char *__buffer , size_t __buflen ,
                                                                struct passwd **__result ) ;
extern int getpw(__uid_t __uid , char *__buffer ) ;
extern intmax_t ( __attribute__((__leaf__)) imaxabs)(intmax_t __n )  __attribute__((__nothrow__,
__const__)) ;
extern imaxdiv_t ( __attribute__((__leaf__)) imaxdiv)(intmax_t __numer , intmax_t __denom )  __attribute__((__nothrow__,
__const__)) ;
__inline extern intmax_t ( __attribute__((__leaf__, __gnu_inline__)) strtoimax)(char const   *nptr ,
                                                                                char **endptr ,
                                                                                int base )  __attribute__((__nothrow__)) ;
__inline extern uintmax_t ( __attribute__((__leaf__, __gnu_inline__)) strtoumax)(char const   *nptr ,
                                                                                 char **endptr ,
                                                                                 int base )  __attribute__((__nothrow__)) ;
__inline extern intmax_t ( __attribute__((__leaf__, __gnu_inline__)) wcstoimax)(__gwchar_t const   *nptr ,
                                                                                __gwchar_t **endptr ,
                                                                                int base )  __attribute__((__nothrow__)) ;
__inline extern uintmax_t ( __attribute__((__leaf__, __gnu_inline__)) wcstoumax)(__gwchar_t const   *nptr ,
                                                                                 __gwchar_t **endptr ,
                                                                                 int base )  __attribute__((__nothrow__)) ;
extern long ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) __strtol_internal)(char const   *__nptr ,
                                                                                                   char **__endptr ,
                                                                                                   int __base ,
                                                                                                   int __group )  __attribute__((__nothrow__)) ;
__inline extern intmax_t ( __attribute__((__leaf__, __gnu_inline__)) strtoimax)(char const   *nptr ,
                                                                                char **endptr ,
                                                                                int base )  __attribute__((__nothrow__)) ;
__inline extern intmax_t ( __attribute__((__leaf__, __gnu_inline__)) strtoimax)(char const   *nptr ,
                                                                                char **endptr ,
                                                                                int base )
{
  long tmp ;

  {
  tmp = __strtol_internal((char const   * __restrict  )nptr, (char ** __restrict  )endptr,
                          base, 0);
  return (tmp);
}
}
extern unsigned long ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) __strtoul_internal)(char const   *__nptr ,
                                                                                                             char **__endptr ,
                                                                                                             int __base ,
                                                                                                             int __group )  __attribute__((__nothrow__)) ;
__inline extern uintmax_t ( __attribute__((__leaf__, __gnu_inline__)) strtoumax)(char const   *nptr ,
                                                                                 char **endptr ,
                                                                                 int base )  __attribute__((__nothrow__)) ;
__inline extern uintmax_t ( __attribute__((__leaf__, __gnu_inline__)) strtoumax)(char const   *nptr ,
                                                                                 char **endptr ,
                                                                                 int base )
{
  unsigned long tmp ;

  {
  tmp = __strtoul_internal((char const   * __restrict  )nptr, (char ** __restrict  )endptr,
                           base, 0);
  return (tmp);
}
}
extern long ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) __wcstol_internal)(__gwchar_t const   *__nptr ,
                                                                                                   __gwchar_t **__endptr ,
                                                                                                   int __base ,
                                                                                                   int __group )  __attribute__((__nothrow__)) ;
__inline extern intmax_t ( __attribute__((__leaf__, __gnu_inline__)) wcstoimax)(__gwchar_t const   *nptr ,
                                                                                __gwchar_t **endptr ,
                                                                                int base )  __attribute__((__nothrow__)) ;
__inline extern intmax_t ( __attribute__((__leaf__, __gnu_inline__)) wcstoimax)(__gwchar_t const   *nptr ,
                                                                                __gwchar_t **endptr ,
                                                                                int base )
{
  long tmp ;

  {
  tmp = __wcstol_internal((__gwchar_t const   * __restrict  )nptr, (__gwchar_t ** __restrict  )endptr,
                          base, 0);
  return (tmp);
}
}
extern unsigned long ( __attribute__((__warn_unused_result__, __nonnull__(1), __leaf__)) __wcstoul_internal)(__gwchar_t const   *__nptr ,
                                                                                                             __gwchar_t **__endptr ,
                                                                                                             int __base ,
                                                                                                             int __group )  __attribute__((__nothrow__)) ;
__inline extern uintmax_t ( __attribute__((__leaf__, __gnu_inline__)) wcstoumax)(__gwchar_t const   *nptr ,
                                                                                 __gwchar_t **endptr ,
                                                                                 int base )  __attribute__((__nothrow__)) ;
__inline extern uintmax_t ( __attribute__((__leaf__, __gnu_inline__)) wcstoumax)(__gwchar_t const   *nptr ,
                                                                                 __gwchar_t **endptr ,
                                                                                 int base )
{
  unsigned long tmp ;

  {
  tmp = __wcstoul_internal((__gwchar_t const   * __restrict  )nptr, (__gwchar_t ** __restrict  )endptr,
                           base, 0);
  return (tmp);
}
}
extern void setgrent(void) ;
extern void endgrent(void) ;
extern struct group *getgrent(void) ;
extern struct group *fgetgrent(FILE *__stream ) ;
extern int putgrent(struct group  const  *__p , FILE *__f ) ;
extern struct group *getgrgid(__gid_t __gid ) ;
extern struct group *getgrnam(char const   *__name ) ;
extern int getgrent_r(struct group *__resultbuf , char *__buffer , size_t __buflen ,
                      struct group **__result ) ;
extern int getgrgid_r(__gid_t __gid , struct group *__resultbuf , char *__buffer ,
                      size_t __buflen , struct group **__result ) ;
extern int getgrnam_r(char const   *__name , struct group *__resultbuf , char *__buffer ,
                      size_t __buflen , struct group **__result ) ;
extern int fgetgrent_r(FILE *__stream , struct group *__resultbuf , char *__buffer ,
                       size_t __buflen , struct group **__result ) ;
extern int ( __attribute__((__leaf__)) setgroups)(size_t __n , __gid_t const   *__groups )  __attribute__((__nothrow__)) ;
extern int getgrouplist(char const   *__user , __gid_t __group , __gid_t *__groups ,
                        int *__ngroups ) ;
extern int initgroups(char const   *__user , __gid_t __group ) ;
__inline static char const   *precompose_argv_prefix(int argc , char const   **argv___0 ,
                                                     char const   *prefix___1 )
{


  {
  return (prefix___1);
}
}
__inline static char const   *precompose_string_if_needed(char const   *in )
{


  {
  return (in);
}
}
extern char *( __attribute__((__leaf__)) dirname)(char *__path )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) __xpg_basename)(char *__path )  __attribute__((__nothrow__)) ;
extern iconv_t iconv_open(char const   *__tocode , char const   *__fromcode ) ;
extern size_t iconv(iconv_t __cd , char **__inbuf , size_t *__inbytesleft , char **__outbuf ,
                    size_t *__outbytesleft ) ;
extern int iconv_close(iconv_t __cd ) ;
extern int OPENSSL_sk_num(OPENSSL_STACK const   * ) ;
extern void *OPENSSL_sk_value(OPENSSL_STACK const   * , int  ) ;
extern void *OPENSSL_sk_set(OPENSSL_STACK *st , int i , void const   *data ) ;
extern OPENSSL_STACK *OPENSSL_sk_new(int (*cmp)(void const   * , void const   * ) ) ;
extern OPENSSL_STACK *OPENSSL_sk_new_null(void) ;
extern OPENSSL_STACK *OPENSSL_sk_new_reserve(int (*c)(void const   * , void const   * ) ,
                                             int n ) ;
extern int OPENSSL_sk_reserve(OPENSSL_STACK *st , int n ) ;
extern void OPENSSL_sk_free(OPENSSL_STACK * ) ;
extern void OPENSSL_sk_pop_free(OPENSSL_STACK *st , void (*func)(void * ) ) ;
extern OPENSSL_STACK *OPENSSL_sk_deep_copy(OPENSSL_STACK const   * , void *(*c)(void const   * ) ,
                                           void (*f)(void * ) ) ;
extern int OPENSSL_sk_insert(OPENSSL_STACK *sk , void const   *data , int where ) ;
extern void *OPENSSL_sk_delete(OPENSSL_STACK *st , int loc ) ;
extern void *OPENSSL_sk_delete_ptr(OPENSSL_STACK *st , void const   *p ) ;
extern int OPENSSL_sk_find(OPENSSL_STACK *st , void const   *data ) ;
extern int OPENSSL_sk_find_ex(OPENSSL_STACK *st , void const   *data ) ;
extern int OPENSSL_sk_push(OPENSSL_STACK *st , void const   *data ) ;
extern int OPENSSL_sk_unshift(OPENSSL_STACK *st , void const   *data ) ;
extern void *OPENSSL_sk_shift(OPENSSL_STACK *st ) ;
extern void *OPENSSL_sk_pop(OPENSSL_STACK *st ) ;
extern void OPENSSL_sk_zero(OPENSSL_STACK *st ) ;
extern OPENSSL_sk_compfunc OPENSSL_sk_set_cmp_func(OPENSSL_STACK *sk , int (*cmp)(void const   * ,
                                                                                  void const   * ) ) ;
extern OPENSSL_STACK *OPENSSL_sk_dup(OPENSSL_STACK const   *st ) ;
extern void OPENSSL_sk_sort(OPENSSL_STACK *st ) ;
extern int OPENSSL_sk_is_sorted(OPENSSL_STACK const   *st ) ;
__inline static int sk_OPENSSL_STRING_num(struct stack_st_OPENSSL_STRING  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static char *sk_OPENSSL_STRING_value(struct stack_st_OPENSSL_STRING  const  *sk ,
                                              int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((char *)tmp);
}
}
__inline static struct stack_st_OPENSSL_STRING *sk_OPENSSL_STRING_new(int (*compare___1)(char const   **a ,
                                                                                         char const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_OPENSSL_STRING *)tmp);
}
}
__inline static struct stack_st_OPENSSL_STRING *sk_OPENSSL_STRING_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_OPENSSL_STRING *)tmp);
}
}
__inline static struct stack_st_OPENSSL_STRING *sk_OPENSSL_STRING_new_reserve(int (*compare___1)(char const   **a ,
                                                                                                 char const   **b ) ,
                                                                              int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_OPENSSL_STRING *)tmp);
}
}
__inline static int sk_OPENSSL_STRING_reserve(struct stack_st_OPENSSL_STRING *sk ,
                                              int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_OPENSSL_STRING_free(struct stack_st_OPENSSL_STRING *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_OPENSSL_STRING_zero(struct stack_st_OPENSSL_STRING *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static char *sk_OPENSSL_STRING_delete(struct stack_st_OPENSSL_STRING *sk ,
                                               int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((char *)tmp);
}
}
__inline static char *sk_OPENSSL_STRING_delete_ptr(struct stack_st_OPENSSL_STRING *sk ,
                                                   char *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((char *)tmp);
}
}
__inline static int sk_OPENSSL_STRING_push(struct stack_st_OPENSSL_STRING *sk , char *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_OPENSSL_STRING_unshift(struct stack_st_OPENSSL_STRING *sk ,
                                              char *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static char *sk_OPENSSL_STRING_pop(struct stack_st_OPENSSL_STRING *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((char *)tmp);
}
}
__inline static char *sk_OPENSSL_STRING_shift(struct stack_st_OPENSSL_STRING *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((char *)tmp);
}
}
__inline static void sk_OPENSSL_STRING_pop_free(struct stack_st_OPENSSL_STRING *sk ,
                                                void (*freefunc)(char *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_OPENSSL_STRING_insert(struct stack_st_OPENSSL_STRING *sk ,
                                             char *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static char *sk_OPENSSL_STRING_set(struct stack_st_OPENSSL_STRING *sk , int idx___0 ,
                                            char *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((char *)tmp);
}
}
__inline static int sk_OPENSSL_STRING_find(struct stack_st_OPENSSL_STRING *sk , char *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_OPENSSL_STRING_find_ex(struct stack_st_OPENSSL_STRING *sk ,
                                              char *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_OPENSSL_STRING_sort(struct stack_st_OPENSSL_STRING *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_OPENSSL_STRING_is_sorted(struct stack_st_OPENSSL_STRING  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_OPENSSL_STRING *sk_OPENSSL_STRING_dup(struct stack_st_OPENSSL_STRING  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_OPENSSL_STRING *)tmp);
}
}
__inline static struct stack_st_OPENSSL_STRING *sk_OPENSSL_STRING_deep_copy(struct stack_st_OPENSSL_STRING  const  *sk ,
                                                                            char *(*copyfunc)(char const   *a ) ,
                                                                            void (*freefunc)(char *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_OPENSSL_STRING *)tmp);
}
}
__inline static sk_OPENSSL_STRING_compfunc sk_OPENSSL_STRING_set_cmp_func(struct stack_st_OPENSSL_STRING *sk ,
                                                                          int (*compare___1)(char const   **a ,
                                                                                             char const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(char const   **a , char const   **b ))tmp);
}
}
__inline static int sk_OPENSSL_CSTRING_num(struct stack_st_OPENSSL_CSTRING  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static char const   *sk_OPENSSL_CSTRING_value(struct stack_st_OPENSSL_CSTRING  const  *sk ,
                                                       int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((char const   *)tmp);
}
}
__inline static struct stack_st_OPENSSL_CSTRING *sk_OPENSSL_CSTRING_new(int (*compare___1)(char const   **a ,
                                                                                           char const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_OPENSSL_CSTRING *)tmp);
}
}
__inline static struct stack_st_OPENSSL_CSTRING *sk_OPENSSL_CSTRING_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_OPENSSL_CSTRING *)tmp);
}
}
__inline static struct stack_st_OPENSSL_CSTRING *sk_OPENSSL_CSTRING_new_reserve(int (*compare___1)(char const   **a ,
                                                                                                   char const   **b ) ,
                                                                                int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_OPENSSL_CSTRING *)tmp);
}
}
__inline static int sk_OPENSSL_CSTRING_reserve(struct stack_st_OPENSSL_CSTRING *sk ,
                                               int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_OPENSSL_CSTRING_free(struct stack_st_OPENSSL_CSTRING *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_OPENSSL_CSTRING_zero(struct stack_st_OPENSSL_CSTRING *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static char const   *sk_OPENSSL_CSTRING_delete(struct stack_st_OPENSSL_CSTRING *sk ,
                                                        int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((char const   *)tmp);
}
}
__inline static char const   *sk_OPENSSL_CSTRING_delete_ptr(struct stack_st_OPENSSL_CSTRING *sk ,
                                                            char const   *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((char const   *)tmp);
}
}
__inline static int sk_OPENSSL_CSTRING_push(struct stack_st_OPENSSL_CSTRING *sk ,
                                            char const   *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_OPENSSL_CSTRING_unshift(struct stack_st_OPENSSL_CSTRING *sk ,
                                               char const   *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static char const   *sk_OPENSSL_CSTRING_pop(struct stack_st_OPENSSL_CSTRING *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((char const   *)tmp);
}
}
__inline static char const   *sk_OPENSSL_CSTRING_shift(struct stack_st_OPENSSL_CSTRING *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((char const   *)tmp);
}
}
__inline static void sk_OPENSSL_CSTRING_pop_free(struct stack_st_OPENSSL_CSTRING *sk ,
                                                 void (*freefunc)(char *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_OPENSSL_CSTRING_insert(struct stack_st_OPENSSL_CSTRING *sk ,
                                              char const   *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static char const   *sk_OPENSSL_CSTRING_set(struct stack_st_OPENSSL_CSTRING *sk ,
                                                     int idx___0 , char const   *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((char const   *)tmp);
}
}
__inline static int sk_OPENSSL_CSTRING_find(struct stack_st_OPENSSL_CSTRING *sk ,
                                            char const   *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_OPENSSL_CSTRING_find_ex(struct stack_st_OPENSSL_CSTRING *sk ,
                                               char const   *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_OPENSSL_CSTRING_sort(struct stack_st_OPENSSL_CSTRING *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_OPENSSL_CSTRING_is_sorted(struct stack_st_OPENSSL_CSTRING  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_OPENSSL_CSTRING *sk_OPENSSL_CSTRING_dup(struct stack_st_OPENSSL_CSTRING  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_OPENSSL_CSTRING *)tmp);
}
}
__inline static struct stack_st_OPENSSL_CSTRING *sk_OPENSSL_CSTRING_deep_copy(struct stack_st_OPENSSL_CSTRING  const  *sk ,
                                                                              char *(*copyfunc)(char const   *a ) ,
                                                                              void (*freefunc)(char *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_OPENSSL_CSTRING *)tmp);
}
}
__inline static sk_OPENSSL_CSTRING_compfunc sk_OPENSSL_CSTRING_set_cmp_func(struct stack_st_OPENSSL_CSTRING *sk ,
                                                                            int (*compare___1)(char const   **a ,
                                                                                               char const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(char const   **a , char const   **b ))tmp);
}
}
__inline static int sk_OPENSSL_BLOCK_num(struct stack_st_OPENSSL_BLOCK  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static void *sk_OPENSSL_BLOCK_value(struct stack_st_OPENSSL_BLOCK  const  *sk ,
                                             int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return (tmp);
}
}
__inline static struct stack_st_OPENSSL_BLOCK *sk_OPENSSL_BLOCK_new(int (*compare___1)(void const   **a ,
                                                                                       void const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_OPENSSL_BLOCK *)tmp);
}
}
__inline static struct stack_st_OPENSSL_BLOCK *sk_OPENSSL_BLOCK_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_OPENSSL_BLOCK *)tmp);
}
}
__inline static struct stack_st_OPENSSL_BLOCK *sk_OPENSSL_BLOCK_new_reserve(int (*compare___1)(void const   **a ,
                                                                                               void const   **b ) ,
                                                                            int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_OPENSSL_BLOCK *)tmp);
}
}
__inline static int sk_OPENSSL_BLOCK_reserve(struct stack_st_OPENSSL_BLOCK *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_OPENSSL_BLOCK_free(struct stack_st_OPENSSL_BLOCK *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_OPENSSL_BLOCK_zero(struct stack_st_OPENSSL_BLOCK *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void *sk_OPENSSL_BLOCK_delete(struct stack_st_OPENSSL_BLOCK *sk ,
                                              int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return (tmp);
}
}
__inline static void *sk_OPENSSL_BLOCK_delete_ptr(struct stack_st_OPENSSL_BLOCK *sk ,
                                                  void *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_OPENSSL_BLOCK_push(struct stack_st_OPENSSL_BLOCK *sk , void *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_OPENSSL_BLOCK_unshift(struct stack_st_OPENSSL_BLOCK *sk , void *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void *sk_OPENSSL_BLOCK_pop(struct stack_st_OPENSSL_BLOCK *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return (tmp);
}
}
__inline static void *sk_OPENSSL_BLOCK_shift(struct stack_st_OPENSSL_BLOCK *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return (tmp);
}
}
__inline static void sk_OPENSSL_BLOCK_pop_free(struct stack_st_OPENSSL_BLOCK *sk ,
                                               void (*freefunc)(void *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, freefunc);
  return;
}
}
__inline static int sk_OPENSSL_BLOCK_insert(struct stack_st_OPENSSL_BLOCK *sk , void *ptr ,
                                            int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static void *sk_OPENSSL_BLOCK_set(struct stack_st_OPENSSL_BLOCK *sk , int idx___0 ,
                                           void *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_OPENSSL_BLOCK_find(struct stack_st_OPENSSL_BLOCK *sk , void *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_OPENSSL_BLOCK_find_ex(struct stack_st_OPENSSL_BLOCK *sk , void *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_OPENSSL_BLOCK_sort(struct stack_st_OPENSSL_BLOCK *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_OPENSSL_BLOCK_is_sorted(struct stack_st_OPENSSL_BLOCK  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_OPENSSL_BLOCK *sk_OPENSSL_BLOCK_dup(struct stack_st_OPENSSL_BLOCK  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_OPENSSL_BLOCK *)tmp);
}
}
__inline static struct stack_st_OPENSSL_BLOCK *sk_OPENSSL_BLOCK_deep_copy(struct stack_st_OPENSSL_BLOCK  const  *sk ,
                                                                          void *(*copyfunc)(void const   *a ) ,
                                                                          void (*freefunc)(void *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, copyfunc, freefunc);
  return ((struct stack_st_OPENSSL_BLOCK *)tmp);
}
}
__inline static sk_OPENSSL_BLOCK_compfunc sk_OPENSSL_BLOCK_set_cmp_func(struct stack_st_OPENSSL_BLOCK *sk ,
                                                                        int (*compare___1)(void const   **a ,
                                                                                           void const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(void const   **a , void const   **b ))tmp);
}
}
extern int ERR_load_CRYPTO_strings(void) ;
extern CRYPTO_RWLOCK *CRYPTO_THREAD_lock_new(void) ;
extern int CRYPTO_THREAD_read_lock(CRYPTO_RWLOCK *lock ) ;
extern int CRYPTO_THREAD_write_lock(CRYPTO_RWLOCK *lock ) ;
extern int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock ) ;
extern void CRYPTO_THREAD_lock_free(CRYPTO_RWLOCK *lock ) ;
extern int CRYPTO_atomic_add(int *val , int amount , int *ret , CRYPTO_RWLOCK *lock ) ;
__inline static int sk_void_num(struct stack_st_void  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static void *sk_void_value(struct stack_st_void  const  *sk , int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return (tmp);
}
}
__inline static struct stack_st_void *sk_void_new(int (*compare___1)(void const   **a ,
                                                                     void const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_void *)tmp);
}
}
__inline static struct stack_st_void *sk_void_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_void *)tmp);
}
}
__inline static struct stack_st_void *sk_void_new_reserve(int (*compare___1)(void const   **a ,
                                                                             void const   **b ) ,
                                                          int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_void *)tmp);
}
}
__inline static int sk_void_reserve(struct stack_st_void *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_void_free(struct stack_st_void *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_void_zero(struct stack_st_void *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void *sk_void_delete(struct stack_st_void *sk , int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return (tmp);
}
}
__inline static void *sk_void_delete_ptr(struct stack_st_void *sk , void *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_void_push(struct stack_st_void *sk , void *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_void_unshift(struct stack_st_void *sk , void *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void *sk_void_pop(struct stack_st_void *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return (tmp);
}
}
__inline static void *sk_void_shift(struct stack_st_void *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return (tmp);
}
}
__inline static void sk_void_pop_free(struct stack_st_void *sk , void (*freefunc)(void *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, freefunc);
  return;
}
}
__inline static int sk_void_insert(struct stack_st_void *sk , void *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static void *sk_void_set(struct stack_st_void *sk , int idx___0 , void *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_void_find(struct stack_st_void *sk , void *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_void_find_ex(struct stack_st_void *sk , void *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_void_sort(struct stack_st_void *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_void_is_sorted(struct stack_st_void  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_void *sk_void_dup(struct stack_st_void  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_void *)tmp);
}
}
__inline static struct stack_st_void *sk_void_deep_copy(struct stack_st_void  const  *sk ,
                                                        void *(*copyfunc)(void const   *a ) ,
                                                        void (*freefunc)(void *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, copyfunc, freefunc);
  return ((struct stack_st_void *)tmp);
}
}
__inline static sk_void_compfunc sk_void_set_cmp_func(struct stack_st_void *sk , int (*compare___1)(void const   **a ,
                                                                                                    void const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(void const   **a , void const   **b ))tmp);
}
}
extern int CRYPTO_mem_ctrl(int mode ) ;
extern size_t OPENSSL_strlcpy(char *dst , char const   *src , size_t siz ) ;
extern size_t OPENSSL_strlcat(char *dst , char const   *src , size_t siz ) ;
extern size_t OPENSSL_strnlen(char const   *str , size_t maxlen ) ;
extern char *OPENSSL_buf2hexstr(unsigned char const   *buffer , long len ) ;
extern unsigned char *OPENSSL_hexstr2buf(char const   *str , long *len ) ;
extern int OPENSSL_hexchar2int(unsigned char c ) ;
extern unsigned long OpenSSL_version_num(void) ;
extern char const   *OpenSSL_version(int type ) ;
extern int OPENSSL_issetugid(void) ;
extern int CRYPTO_get_ex_new_index(int class_index , long argl , void *argp , CRYPTO_EX_new *new_func ,
                                   CRYPTO_EX_dup *dup_func , CRYPTO_EX_free *free_func ) ;
extern int CRYPTO_free_ex_index(int class_index , int idx ) ;
extern int CRYPTO_new_ex_data(int class_index , void *obj , CRYPTO_EX_DATA *ad ) ;
extern int CRYPTO_dup_ex_data(int class_index , CRYPTO_EX_DATA *to , CRYPTO_EX_DATA const   *from ) ;
extern void CRYPTO_free_ex_data(int class_index , void *obj , CRYPTO_EX_DATA *ad ) ;
extern int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad , int idx , void *val ) ;
extern void *CRYPTO_get_ex_data(CRYPTO_EX_DATA const   *ad , int idx ) ;
extern int CRYPTO_set_mem_functions(void *(*m)(size_t  , char const   * , int  ) ,
                                    void *(*r)(void * , size_t  , char const   * ,
                                               int  ) , void (*f)(void * , char const   * ,
                                                                  int  ) ) ;
extern int CRYPTO_set_mem_debug(int flag ) ;
extern void CRYPTO_get_mem_functions(void *(**m)(size_t  , char const   * , int  ) ,
                                     void *(**r)(void * , size_t  , char const   * ,
                                                 int  ) , void (**f)(void * , char const   * ,
                                                                     int  ) ) ;
extern void *CRYPTO_malloc(size_t num , char const   *file , int line ) ;
extern void *CRYPTO_zalloc(size_t num , char const   *file , int line ) ;
extern void *CRYPTO_memdup(void const   *str , size_t siz , char const   *file , int line ) ;
extern char *CRYPTO_strdup(char const   *str , char const   *file , int line ) ;
extern char *CRYPTO_strndup(char const   *str , size_t s , char const   *file , int line ) ;
extern void CRYPTO_free(void *ptr , char const   *file , int line ) ;
extern void CRYPTO_clear_free(void *ptr , size_t num , char const   *file , int line ) ;
extern void *CRYPTO_realloc(void *addr , size_t num , char const   *file , int line ) ;
extern void *CRYPTO_clear_realloc(void *addr , size_t old_num , size_t num , char const   *file ,
                                  int line ) ;
extern int CRYPTO_secure_malloc_init(size_t sz , int minsize ) ;
extern int CRYPTO_secure_malloc_done(void) ;
extern void *CRYPTO_secure_malloc(size_t num , char const   *file , int line ) ;
extern void *CRYPTO_secure_zalloc(size_t num , char const   *file , int line ) ;
extern void CRYPTO_secure_free(void *ptr , char const   *file , int line ) ;
extern void CRYPTO_secure_clear_free(void *ptr , size_t num , char const   *file ,
                                     int line ) ;
extern int CRYPTO_secure_allocated(void const   *ptr ) ;
extern int CRYPTO_secure_malloc_initialized(void) ;
extern size_t CRYPTO_secure_actual_size(void *ptr ) ;
extern size_t CRYPTO_secure_used(void) ;
extern void OPENSSL_cleanse(void *ptr , size_t len ) ;
extern void OPENSSL_die(char const   *assertion , char const   *file , int line )  __attribute__((__noreturn__)) ;
extern int OPENSSL_isservice(void) ;
extern int FIPS_mode(void) ;
extern int FIPS_mode_set(int r ) ;
extern void OPENSSL_init(void) ;
extern void OPENSSL_fork_prepare(void) ;
extern void OPENSSL_fork_parent(void) ;
extern void OPENSSL_fork_child(void) ;
extern struct tm *OPENSSL_gmtime(time_t const   *timer , struct tm *result ) ;
extern int OPENSSL_gmtime_adj(struct tm *tm , int offset_day , long offset_sec ) ;
extern int OPENSSL_gmtime_diff(int *pday , int *psec , struct tm  const  *from , struct tm  const  *to ) ;
extern int CRYPTO_memcmp(void const   *in_a , void const   *in_b , size_t len ) ;
extern void OPENSSL_cleanup(void) ;
extern int OPENSSL_init_crypto(uint64_t opts , OPENSSL_INIT_SETTINGS const   *settings ) ;
extern int OPENSSL_atexit(void (*handler)(void) ) ;
extern void OPENSSL_thread_stop(void) ;
extern OPENSSL_INIT_SETTINGS *OPENSSL_INIT_new(void) ;
extern int OPENSSL_INIT_set_config_appname(OPENSSL_INIT_SETTINGS *settings , char const   *config_file ) ;
extern void OPENSSL_INIT_free(OPENSSL_INIT_SETTINGS *settings ) ;
extern int ( __attribute__((__leaf__)) clone)(int (*__fn)(void *__arg ) , void *__child_stack ,
                                              int __flags , void *__arg  , ...)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) unshare)(int __flags )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) sched_getcpu)(void)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) setns)(int __fd , int __nstype )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) __sched_cpucount)(size_t __setsize , cpu_set_t const   *__setp )  __attribute__((__nothrow__)) ;
extern cpu_set_t *( __attribute__((__warn_unused_result__, __leaf__)) __sched_cpualloc)(size_t __count )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__leaf__)) __sched_cpufree)(cpu_set_t *__set )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) sched_setparam)(__pid_t __pid , struct sched_param  const  *__param )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) sched_getparam)(__pid_t __pid , struct sched_param *__param )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) sched_setscheduler)(__pid_t __pid , int __policy ,
                                                           struct sched_param  const  *__param )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) sched_getscheduler)(__pid_t __pid )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) sched_yield)(void)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) sched_get_priority_max)(int __algorithm )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) sched_get_priority_min)(int __algorithm )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) sched_rr_get_interval)(__pid_t __pid , struct timespec *__t )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) sched_setaffinity)(__pid_t __pid , size_t __cpusetsize ,
                                                          cpu_set_t const   *__cpuset )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) sched_getaffinity)(__pid_t __pid , size_t __cpusetsize ,
                                                          cpu_set_t *__cpuset )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,3))) pthread_create)(pthread_t *__newthread ,
                                                               pthread_attr_t const   *__attr ,
                                                               void *(*__start_routine)(void * ) ,
                                                               void *__arg )  __attribute__((__nothrow__)) ;
extern void pthread_exit(void *__retval )  __attribute__((__noreturn__)) ;
extern int pthread_join(pthread_t __th , void **__thread_return ) ;
extern int ( __attribute__((__leaf__)) pthread_tryjoin_np)(pthread_t __th , void **__thread_return )  __attribute__((__nothrow__)) ;
extern int pthread_timedjoin_np(pthread_t __th , void **__thread_return , struct timespec  const  *__abstime ) ;
extern int ( __attribute__((__leaf__)) pthread_detach)(pthread_t __th )  __attribute__((__nothrow__)) ;
extern pthread_t ( __attribute__((__leaf__)) pthread_self)(void)  __attribute__((__nothrow__,
__const__)) ;
__inline extern int ( __attribute__((__leaf__, __gnu_inline__)) pthread_equal)(pthread_t __thread1 ,
                                                                               pthread_t __thread2 )  __attribute__((__nothrow__,
__const__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_attr_init)(pthread_attr_t *__attr )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_attr_destroy)(pthread_attr_t *__attr )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_attr_getdetachstate)(pthread_attr_t const   *__attr ,
                                                                                      int *__detachstate )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_attr_setdetachstate)(pthread_attr_t *__attr ,
                                                                                    int __detachstate )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_attr_getguardsize)(pthread_attr_t const   *__attr ,
                                                                                    size_t *__guardsize )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_attr_setguardsize)(pthread_attr_t *__attr ,
                                                                                  size_t __guardsize )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_attr_getschedparam)(pthread_attr_t const   *__attr ,
                                                                                     struct sched_param *__param )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_attr_setschedparam)(pthread_attr_t *__attr ,
                                                                                     struct sched_param  const  *__param )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_attr_getschedpolicy)(pthread_attr_t const   *__attr ,
                                                                                      int *__policy )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_attr_setschedpolicy)(pthread_attr_t *__attr ,
                                                                                    int __policy )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_attr_getinheritsched)(pthread_attr_t const   *__attr ,
                                                                                       int *__inherit )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_attr_setinheritsched)(pthread_attr_t *__attr ,
                                                                                     int __inherit )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_attr_getscope)(pthread_attr_t const   *__attr ,
                                                                                int *__scope )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_attr_setscope)(pthread_attr_t *__attr ,
                                                                              int __scope )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_attr_getstackaddr)(pthread_attr_t const   *__attr ,
                                                                                    void **__stackaddr )  __attribute__((__nothrow__,
__deprecated__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_attr_setstackaddr)(pthread_attr_t *__attr ,
                                                                                  void *__stackaddr )  __attribute__((__nothrow__,
__deprecated__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_attr_getstacksize)(pthread_attr_t const   *__attr ,
                                                                                    size_t *__stacksize )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_attr_setstacksize)(pthread_attr_t *__attr ,
                                                                                  size_t __stacksize )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2,3), __leaf__)) pthread_attr_getstack)(pthread_attr_t const   *__attr ,
                                                                                  void **__stackaddr ,
                                                                                  size_t *__stacksize )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_attr_setstack)(pthread_attr_t *__attr ,
                                                                              void *__stackaddr ,
                                                                              size_t __stacksize )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,3), __leaf__)) pthread_attr_setaffinity_np)(pthread_attr_t *__attr ,
                                                                                      size_t __cpusetsize ,
                                                                                      cpu_set_t const   *__cpuset )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,3), __leaf__)) pthread_attr_getaffinity_np)(pthread_attr_t const   *__attr ,
                                                                                      size_t __cpusetsize ,
                                                                                      cpu_set_t *__cpuset )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_getattr_default_np)(pthread_attr_t *__attr )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_setattr_default_np)(pthread_attr_t const   *__attr )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2), __leaf__)) pthread_getattr_np)(pthread_t __th ,
                                                                           pthread_attr_t *__attr )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(3), __leaf__)) pthread_setschedparam)(pthread_t __target_thread ,
                                                                              int __policy ,
                                                                              struct sched_param  const  *__param )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2,3), __leaf__)) pthread_getschedparam)(pthread_t __target_thread ,
                                                                                int *__policy ,
                                                                                struct sched_param *__param )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) pthread_setschedprio)(pthread_t __target_thread ,
                                                             int __prio )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2), __leaf__)) pthread_getname_np)(pthread_t __target_thread ,
                                                                           char *__buf ,
                                                                           size_t __buflen )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2), __leaf__)) pthread_setname_np)(pthread_t __target_thread ,
                                                                           char const   *__name )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) pthread_getconcurrency)(void)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) pthread_setconcurrency)(int __level )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) pthread_yield)(void)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(3), __leaf__)) pthread_setaffinity_np)(pthread_t __th ,
                                                                               size_t __cpusetsize ,
                                                                               cpu_set_t const   *__cpuset )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(3), __leaf__)) pthread_getaffinity_np)(pthread_t __th ,
                                                                               size_t __cpusetsize ,
                                                                               cpu_set_t *__cpuset )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2))) pthread_once)(pthread_once_t *__once_control ,
                                                             void (*__init_routine)(void) ) ;
extern int pthread_setcancelstate(int __state , int *__oldstate ) ;
extern int pthread_setcanceltype(int __type , int *__oldtype ) ;
extern int pthread_cancel(pthread_t __th ) ;
extern void pthread_testcancel(void) ;
extern void __pthread_register_cancel(__pthread_unwind_buf_t *__buf ) ;
extern void __pthread_unregister_cancel(__pthread_unwind_buf_t *__buf ) ;
extern void __pthread_register_cancel_defer(__pthread_unwind_buf_t *__buf ) ;
extern void __pthread_unregister_cancel_restore(__pthread_unwind_buf_t *__buf ) ;
extern void __pthread_unwind_next(__pthread_unwind_buf_t *__buf )  __attribute__((__weak__,
__noreturn__)) ;
extern int __sigsetjmp(struct __jmp_buf_tag *__env , int __savemask )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_mutex_init)(pthread_mutex_t *__mutex ,
                                                                           pthread_mutexattr_t const   *__mutexattr )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_mutex_destroy)(pthread_mutex_t *__mutex )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1))) pthread_mutex_trylock)(pthread_mutex_t *__mutex )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1))) pthread_mutex_lock)(pthread_mutex_t *__mutex )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2))) pthread_mutex_timedlock)(pthread_mutex_t *__mutex ,
                                                                        struct timespec  const  *__abstime )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1))) pthread_mutex_unlock)(pthread_mutex_t *__mutex )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_mutex_getprioceiling)(pthread_mutex_t const   *__mutex ,
                                                                                       int *__prioceiling )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,3), __leaf__)) pthread_mutex_setprioceiling)(pthread_mutex_t *__mutex ,
                                                                                       int __prioceiling ,
                                                                                       int *__old_ceiling )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_mutex_consistent)(pthread_mutex_t *__mutex )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_mutex_consistent_np)(pthread_mutex_t *__mutex )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_mutexattr_init)(pthread_mutexattr_t *__attr )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_mutexattr_destroy)(pthread_mutexattr_t *__attr )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_mutexattr_getpshared)(pthread_mutexattr_t const   *__attr ,
                                                                                       int *__pshared )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_mutexattr_setpshared)(pthread_mutexattr_t *__attr ,
                                                                                     int __pshared )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_mutexattr_gettype)(pthread_mutexattr_t const   *__attr ,
                                                                                    int *__kind )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_mutexattr_settype)(pthread_mutexattr_t *__attr ,
                                                                                  int __kind )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_mutexattr_getprotocol)(pthread_mutexattr_t const   *__attr ,
                                                                                        int *__protocol )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_mutexattr_setprotocol)(pthread_mutexattr_t *__attr ,
                                                                                      int __protocol )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_mutexattr_getprioceiling)(pthread_mutexattr_t const   *__attr ,
                                                                                           int *__prioceiling )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_mutexattr_setprioceiling)(pthread_mutexattr_t *__attr ,
                                                                                         int __prioceiling )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_mutexattr_getrobust)(pthread_mutexattr_t const   *__attr ,
                                                                                      int *__robustness )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_mutexattr_getrobust_np)(pthread_mutexattr_t const   *__attr ,
                                                                                         int *__robustness )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_mutexattr_setrobust)(pthread_mutexattr_t *__attr ,
                                                                                    int __robustness )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_mutexattr_setrobust_np)(pthread_mutexattr_t *__attr ,
                                                                                       int __robustness )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_rwlock_init)(pthread_rwlock_t *__rwlock ,
                                                                            pthread_rwlockattr_t const   *__attr )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_rwlock_destroy)(pthread_rwlock_t *__rwlock )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1))) pthread_rwlock_rdlock)(pthread_rwlock_t *__rwlock )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1))) pthread_rwlock_tryrdlock)(pthread_rwlock_t *__rwlock )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2))) pthread_rwlock_timedrdlock)(pthread_rwlock_t *__rwlock ,
                                                                           struct timespec  const  *__abstime )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1))) pthread_rwlock_wrlock)(pthread_rwlock_t *__rwlock )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1))) pthread_rwlock_trywrlock)(pthread_rwlock_t *__rwlock )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2))) pthread_rwlock_timedwrlock)(pthread_rwlock_t *__rwlock ,
                                                                           struct timespec  const  *__abstime )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1))) pthread_rwlock_unlock)(pthread_rwlock_t *__rwlock )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_rwlockattr_init)(pthread_rwlockattr_t *__attr )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_rwlockattr_destroy)(pthread_rwlockattr_t *__attr )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_rwlockattr_getpshared)(pthread_rwlockattr_t const   *__attr ,
                                                                                        int *__pshared )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_rwlockattr_setpshared)(pthread_rwlockattr_t *__attr ,
                                                                                      int __pshared )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_rwlockattr_getkind_np)(pthread_rwlockattr_t const   *__attr ,
                                                                                        int *__pref )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_rwlockattr_setkind_np)(pthread_rwlockattr_t *__attr ,
                                                                                      int __pref )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_cond_init)(pthread_cond_t *__cond ,
                                                                          pthread_condattr_t const   *__cond_attr )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_cond_destroy)(pthread_cond_t *__cond )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1))) pthread_cond_signal)(pthread_cond_t *__cond )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1))) pthread_cond_broadcast)(pthread_cond_t *__cond )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2))) pthread_cond_wait)(pthread_cond_t *__cond ,
                                                                  pthread_mutex_t *__mutex ) ;
extern int ( __attribute__((__nonnull__(1,2,3))) pthread_cond_timedwait)(pthread_cond_t *__cond ,
                                                                         pthread_mutex_t *__mutex ,
                                                                         struct timespec  const  *__abstime ) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_condattr_init)(pthread_condattr_t *__attr )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_condattr_destroy)(pthread_condattr_t *__attr )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_condattr_getpshared)(pthread_condattr_t const   *__attr ,
                                                                                      int *__pshared )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_condattr_setpshared)(pthread_condattr_t *__attr ,
                                                                                    int __pshared )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_condattr_getclock)(pthread_condattr_t const   *__attr ,
                                                                                    __clockid_t *__clock_id )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_condattr_setclock)(pthread_condattr_t *__attr ,
                                                                                  __clockid_t __clock_id )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_spin_init)(pthread_spinlock_t *__lock ,
                                                                          int __pshared )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_spin_destroy)(pthread_spinlock_t *__lock )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1))) pthread_spin_lock)(pthread_spinlock_t *__lock )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1))) pthread_spin_trylock)(pthread_spinlock_t *__lock )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1))) pthread_spin_unlock)(pthread_spinlock_t *__lock )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_barrier_init)(pthread_barrier_t *__barrier ,
                                                                             pthread_barrierattr_t const   *__attr ,
                                                                             unsigned int __count )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_barrier_destroy)(pthread_barrier_t *__barrier )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1))) pthread_barrier_wait)(pthread_barrier_t *__barrier )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_barrierattr_init)(pthread_barrierattr_t *__attr )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_barrierattr_destroy)(pthread_barrierattr_t *__attr )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1,2), __leaf__)) pthread_barrierattr_getpshared)(pthread_barrierattr_t const   *__attr ,
                                                                                         int *__pshared )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_barrierattr_setpshared)(pthread_barrierattr_t *__attr ,
                                                                                       int __pshared )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) pthread_key_create)(pthread_key_t *__key ,
                                                                           void (*__destr_function)(void * ) )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) pthread_key_delete)(pthread_key_t __key )  __attribute__((__nothrow__)) ;
extern void *( __attribute__((__leaf__)) pthread_getspecific)(pthread_key_t __key )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) pthread_setspecific)(pthread_key_t __key ,
                                                            void const   *__pointer )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(2), __leaf__)) pthread_getcpuclockid)(pthread_t __thread_id ,
                                                                              __clockid_t *__clock_id )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) pthread_atfork)(void (*__prepare)(void) , void (*__parent)(void) ,
                                                       void (*__child)(void) )  __attribute__((__nothrow__)) ;
__inline extern int ( __attribute__((__leaf__, __gnu_inline__)) pthread_equal)(pthread_t __thread1 ,
                                                                               pthread_t __thread2 )  __attribute__((__nothrow__,
__const__)) ;
__inline extern int ( __attribute__((__leaf__, __gnu_inline__)) pthread_equal)(pthread_t __thread1 ,
                                                                               pthread_t __thread2 )
{


  {
  return (__thread1 == __thread2);
}
}
extern int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once , void (*init)(void) ) ;
extern int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key , void (*cleanup)(void * ) ) ;
extern void *CRYPTO_THREAD_get_local(CRYPTO_THREAD_LOCAL *key ) ;
extern int CRYPTO_THREAD_set_local(CRYPTO_THREAD_LOCAL *key , void *val ) ;
extern int CRYPTO_THREAD_cleanup_local(CRYPTO_THREAD_LOCAL *key ) ;
extern CRYPTO_THREAD_ID CRYPTO_THREAD_get_current_id(void) ;
extern int CRYPTO_THREAD_compare_id(CRYPTO_THREAD_ID a , CRYPTO_THREAD_ID b ) ;
extern int ERR_load_COMP_strings(void) ;
extern COMP_CTX *COMP_CTX_new(COMP_METHOD *meth ) ;
extern COMP_METHOD const   *COMP_CTX_get_method(COMP_CTX const   *ctx ) ;
extern int COMP_CTX_get_type(COMP_CTX const   *comp ) ;
extern int COMP_get_type(COMP_METHOD const   *meth ) ;
extern char const   *COMP_get_name(COMP_METHOD const   *meth ) ;
extern void COMP_CTX_free(COMP_CTX *ctx ) ;
extern int COMP_compress_block(COMP_CTX *ctx , unsigned char *out , int olen , unsigned char *in ,
                               int ilen ) ;
extern int COMP_expand_block(COMP_CTX *ctx , unsigned char *out , int olen , unsigned char *in ,
                             int ilen ) ;
extern COMP_METHOD *COMP_zlib(void) ;
extern int ERR_load_BIO_strings(void) ;
extern int BIO_get_new_index(void) ;
extern void BIO_set_flags(BIO *b , int flags ) ;
extern int BIO_test_flags(BIO const   *b , int flags ) ;
extern void BIO_clear_flags(BIO *b , int flags ) ;
extern BIO_callback_fn BIO_get_callback(BIO const   *b ) ;
extern void BIO_set_callback(BIO *b , long (*callback)(BIO *b , int oper , char const   *argp ,
                                                       int argi , long argl , long ret ) ) ;
extern BIO_callback_fn_ex BIO_get_callback_ex(BIO const   *b ) ;
extern void BIO_set_callback_ex(BIO *b , long (*callback)(BIO *b , int oper , char const   *argp ,
                                                          size_t len , int argi ,
                                                          long argl , int ret , size_t *processed ) ) ;
extern char *BIO_get_callback_arg(BIO const   *b ) ;
extern void BIO_set_callback_arg(BIO *b , char *arg ) ;
extern char const   *BIO_method_name(BIO const   *b ) ;
extern int BIO_method_type(BIO const   *b ) ;
__inline static int sk_BIO_num(struct stack_st_BIO  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static BIO *sk_BIO_value(struct stack_st_BIO  const  *sk , int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((BIO *)tmp);
}
}
__inline static struct stack_st_BIO *sk_BIO_new(int (*compare___1)(BIO const   **a ,
                                                                   BIO const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_BIO *)tmp);
}
}
__inline static struct stack_st_BIO *sk_BIO_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_BIO *)tmp);
}
}
__inline static struct stack_st_BIO *sk_BIO_new_reserve(int (*compare___1)(BIO const   **a ,
                                                                           BIO const   **b ) ,
                                                        int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_BIO *)tmp);
}
}
__inline static int sk_BIO_reserve(struct stack_st_BIO *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_BIO_free(struct stack_st_BIO *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_BIO_zero(struct stack_st_BIO *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static BIO *sk_BIO_delete(struct stack_st_BIO *sk , int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((BIO *)tmp);
}
}
__inline static BIO *sk_BIO_delete_ptr(struct stack_st_BIO *sk , BIO *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((BIO *)tmp);
}
}
__inline static int sk_BIO_push(struct stack_st_BIO *sk , BIO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_BIO_unshift(struct stack_st_BIO *sk , BIO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static BIO *sk_BIO_pop(struct stack_st_BIO *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((BIO *)tmp);
}
}
__inline static BIO *sk_BIO_shift(struct stack_st_BIO *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((BIO *)tmp);
}
}
__inline static void sk_BIO_pop_free(struct stack_st_BIO *sk , void (*freefunc)(BIO *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_BIO_insert(struct stack_st_BIO *sk , BIO *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static BIO *sk_BIO_set(struct stack_st_BIO *sk , int idx___0 , BIO *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((BIO *)tmp);
}
}
__inline static int sk_BIO_find(struct stack_st_BIO *sk , BIO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_BIO_find_ex(struct stack_st_BIO *sk , BIO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_BIO_sort(struct stack_st_BIO *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_BIO_is_sorted(struct stack_st_BIO  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_BIO *sk_BIO_dup(struct stack_st_BIO  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_BIO *)tmp);
}
}
__inline static struct stack_st_BIO *sk_BIO_deep_copy(struct stack_st_BIO  const  *sk ,
                                                      BIO *(*copyfunc)(BIO const   *a ) ,
                                                      void (*freefunc)(BIO *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_BIO *)tmp);
}
}
__inline static sk_BIO_compfunc sk_BIO_set_cmp_func(struct stack_st_BIO *sk , int (*compare___1)(BIO const   **a ,
                                                                                                 BIO const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(BIO const   **a , BIO const   **b ))tmp);
}
}
extern size_t BIO_ctrl_pending(BIO *b ) ;
extern size_t BIO_ctrl_wpending(BIO *b ) ;
extern size_t BIO_ctrl_get_write_guarantee(BIO *b ) ;
extern size_t BIO_ctrl_get_read_request(BIO *b ) ;
extern int BIO_ctrl_reset_read_request(BIO *b ) ;
extern int BIO_set_ex_data(BIO *bio , int idx , void *data ) ;
extern void *BIO_get_ex_data(BIO *bio , int idx ) ;
extern uint64_t BIO_number_read(BIO *bio ) ;
extern uint64_t BIO_number_written(BIO *bio ) ;
extern int BIO_asn1_set_prefix(BIO *b , asn1_ps_func *prefix , asn1_ps_func *prefix_free ) ;
extern int BIO_asn1_get_prefix(BIO *b , asn1_ps_func **pprefix , asn1_ps_func **pprefix_free ) ;
extern int BIO_asn1_set_suffix(BIO *b , asn1_ps_func *suffix , asn1_ps_func *suffix_free ) ;
extern int BIO_asn1_get_suffix(BIO *b , asn1_ps_func **psuffix , asn1_ps_func **psuffix_free ) ;
extern BIO_METHOD const   *BIO_s_file(void) ;
extern BIO *BIO_new_file(char const   *filename , char const   *mode ) ;
extern BIO *BIO_new_fp(FILE *stream , int close_flag ) ;
extern BIO *BIO_new(BIO_METHOD const   *type ) ;
extern int BIO_free(BIO *a ) ;
extern void BIO_set_data(BIO *a , void *ptr ) ;
extern void *BIO_get_data(BIO *a ) ;
extern void BIO_set_init(BIO *a , int init ) ;
extern int BIO_get_init(BIO *a ) ;
extern void BIO_set_shutdown(BIO *a , int shut ) ;
extern int BIO_get_shutdown(BIO *a ) ;
extern void BIO_vfree(BIO *a ) ;
extern int BIO_up_ref(BIO *a ) ;
extern int BIO_read(BIO *b , void *data , int dlen ) ;
extern int BIO_read_ex(BIO *b , void *data , size_t dlen , size_t *readbytes ) ;
extern int BIO_gets(BIO *bp , char *buf , int size ) ;
extern int BIO_write(BIO *b , void const   *data , int dlen ) ;
extern int BIO_write_ex(BIO *b , void const   *data , size_t dlen , size_t *written ) ;
extern int BIO_puts(BIO *bp , char const   *buf ) ;
extern int BIO_indent(BIO *b , int indent , int max ) ;
extern long BIO_ctrl(BIO *bp , int cmd , long larg , void *parg ) ;
extern long BIO_callback_ctrl(BIO *b , int cmd , BIO_info_cb *fp ) ;
extern void *BIO_ptr_ctrl(BIO *bp , int cmd , long larg ) ;
extern long BIO_int_ctrl(BIO *bp , int cmd , long larg , int iarg ) ;
extern BIO *BIO_push(BIO *b , BIO *append ) ;
extern BIO *BIO_pop(BIO *b ) ;
extern void BIO_free_all(BIO *a ) ;
extern BIO *BIO_find_type(BIO *b , int bio_type ) ;
extern BIO *BIO_next(BIO *b ) ;
extern void BIO_set_next(BIO *b , BIO *next ) ;
extern BIO *BIO_get_retry_BIO(BIO *bio , int *reason ) ;
extern int BIO_get_retry_reason(BIO *bio ) ;
extern void BIO_set_retry_reason(BIO *bio , int reason ) ;
extern BIO *BIO_dup_chain(BIO *in ) ;
extern int BIO_nread0(BIO *bio , char **buf ) ;
extern int BIO_nread(BIO *bio , char **buf , int num ) ;
extern int BIO_nwrite0(BIO *bio , char **buf ) ;
extern int BIO_nwrite(BIO *bio , char **buf , int num ) ;
extern long BIO_debug_callback(BIO *bio , int cmd , char const   *argp , int argi ,
                               long argl , long ret ) ;
extern BIO_METHOD const   *BIO_s_mem(void) ;
extern BIO_METHOD const   *BIO_s_secmem(void) ;
extern BIO *BIO_new_mem_buf(void const   *buf , int len ) ;
extern BIO_METHOD const   *BIO_s_socket(void) ;
extern BIO_METHOD const   *BIO_s_connect(void) ;
extern BIO_METHOD const   *BIO_s_accept(void) ;
extern BIO_METHOD const   *BIO_s_fd(void) ;
extern BIO_METHOD const   *BIO_s_log(void) ;
extern BIO_METHOD const   *BIO_s_bio(void) ;
extern BIO_METHOD const   *BIO_s_null(void) ;
extern BIO_METHOD const   *BIO_f_null(void) ;
extern BIO_METHOD const   *BIO_f_buffer(void) ;
extern BIO_METHOD const   *BIO_f_linebuffer(void) ;
extern BIO_METHOD const   *BIO_f_nbio_test(void) ;
extern BIO_METHOD const   *BIO_s_datagram(void) ;
extern int BIO_dgram_non_fatal_error(int error ) ;
extern BIO *BIO_new_dgram(int fd , int close_flag ) ;
extern int BIO_sock_should_retry(int i ) ;
extern int BIO_sock_non_fatal_error(int error ) ;
extern int BIO_fd_should_retry(int i ) ;
extern int BIO_fd_non_fatal_error(int error ) ;
extern int BIO_dump_cb(int (*cb)(void const   *data , size_t len , void *u ) , void *u ,
                       char const   *s , int len ) ;
extern int BIO_dump_indent_cb(int (*cb)(void const   *data , size_t len , void *u ) ,
                              void *u , char const   *s , int len , int indent ) ;
extern int BIO_dump(BIO *b , char const   *bytes , int len ) ;
extern int BIO_dump_indent(BIO *b , char const   *bytes , int len , int indent ) ;
extern int BIO_dump_fp(FILE *fp , char const   *s , int len ) ;
extern int BIO_dump_indent_fp(FILE *fp , char const   *s , int len , int indent ) ;
extern int BIO_hex_string(BIO *out , int indent , int width , unsigned char *data ,
                          int datalen ) ;
extern BIO_ADDR *BIO_ADDR_new(void) ;
extern int BIO_ADDR_rawmake(BIO_ADDR *ap , int family , void const   *where , size_t wherelen ,
                            unsigned short port ) ;
extern void BIO_ADDR_free(BIO_ADDR * ) ;
extern void BIO_ADDR_clear(BIO_ADDR *ap ) ;
extern int BIO_ADDR_family(BIO_ADDR const   *ap ) ;
extern int BIO_ADDR_rawaddress(BIO_ADDR const   *ap , void *p , size_t *l ) ;
extern unsigned short BIO_ADDR_rawport(BIO_ADDR const   *ap ) ;
extern char *BIO_ADDR_hostname_string(BIO_ADDR const   *ap , int numeric ) ;
extern char *BIO_ADDR_service_string(BIO_ADDR const   *ap , int numeric ) ;
extern char *BIO_ADDR_path_string(BIO_ADDR const   *ap ) ;
extern BIO_ADDRINFO const   *BIO_ADDRINFO_next(BIO_ADDRINFO const   *bai ) ;
extern int BIO_ADDRINFO_family(BIO_ADDRINFO const   *bai ) ;
extern int BIO_ADDRINFO_socktype(BIO_ADDRINFO const   *bai ) ;
extern int BIO_ADDRINFO_protocol(BIO_ADDRINFO const   *bai ) ;
extern BIO_ADDR const   *BIO_ADDRINFO_address(BIO_ADDRINFO const   *bai ) ;
extern void BIO_ADDRINFO_free(BIO_ADDRINFO *bai ) ;
extern int BIO_parse_hostserv(char const   *hostserv , char **host , char **service ,
                              enum BIO_hostserv_priorities hostserv_prio ) ;
extern int BIO_lookup(char const   *host , char const   *service , enum BIO_lookup_type lookup_type ,
                      int family , int socktype , BIO_ADDRINFO **res ) ;
extern int BIO_lookup_ex(char const   *host , char const   *service , int lookup_type ,
                         int family , int socktype , int protocol , BIO_ADDRINFO **res ) ;
extern int BIO_sock_error(int sock ) ;
extern int BIO_socket_ioctl(int fd , long type , void *arg ) ;
extern int BIO_socket_nbio(int fd , int mode ) ;
extern int BIO_sock_init(void) ;
extern int BIO_set_tcp_ndelay(int sock , int turn_on ) ;
extern struct hostent *BIO_gethostbyname(char const   *name )  __attribute__((__deprecated__)) ;
extern int BIO_get_port(char const   *str , unsigned short *port_ptr )  __attribute__((__deprecated__)) ;
extern int BIO_get_host_ip(char const   *str , unsigned char *ip )  __attribute__((__deprecated__)) ;
extern int BIO_get_accept_socket(char *host_port , int mode )  __attribute__((__deprecated__)) ;
extern int BIO_accept(int sock , char **ip_port )  __attribute__((__deprecated__)) ;
extern int BIO_sock_info(int sock , enum BIO_sock_info_type type , union BIO_sock_info_u *info ) ;
extern int BIO_socket(int domain , int socktype , int protocol , int options ) ;
extern int BIO_connect(int sock , BIO_ADDR const   *addr , int options ) ;
extern int BIO_bind(int sock , BIO_ADDR const   *addr , int options ) ;
extern int BIO_listen(int sock , BIO_ADDR const   *addr , int options ) ;
extern int BIO_accept_ex(int accept_sock , BIO_ADDR *addr , int options ) ;
extern int BIO_closesocket(int sock ) ;
extern BIO *BIO_new_socket(int sock , int close_flag ) ;
extern BIO *BIO_new_connect(char const   *host_port ) ;
extern BIO *BIO_new_accept(char const   *host_port ) ;
extern BIO *BIO_new_fd(int fd , int close_flag ) ;
extern int BIO_new_bio_pair(BIO **bio1 , size_t writebuf1 , BIO **bio2 , size_t writebuf2 ) ;
extern void BIO_copy_next_retry(BIO *b ) ;
extern int ( /* format attribute */  BIO_printf)(BIO *bio , char const   *format
                                                 , ...) ;
extern int ( /* format attribute */  BIO_vprintf)(BIO *bio , char const   *format ,
                                                  va_list args ) ;
extern int ( /* format attribute */  BIO_snprintf)(char *buf , size_t n , char const   *format
                                                   , ...) ;
extern int ( /* format attribute */  BIO_vsnprintf)(char *buf , size_t n , char const   *format ,
                                                    va_list args ) ;
extern BIO_METHOD *BIO_meth_new(int type , char const   *name ) ;
extern void BIO_meth_free(BIO_METHOD *biom ) ;
extern int (*BIO_meth_get_write(BIO_METHOD const   *biom ))(BIO * , char const   * ,
                                                            int  ) ;
extern int (*BIO_meth_get_write_ex(BIO_METHOD const   *biom ))(BIO * , char const   * ,
                                                               size_t  , size_t * ) ;
extern int BIO_meth_set_write(BIO_METHOD *biom , int (*write)(BIO * , char const   * ,
                                                              int  ) ) ;
extern int BIO_meth_set_write_ex(BIO_METHOD *biom , int (*bwrite)(BIO * , char const   * ,
                                                                  size_t  , size_t * ) ) ;
extern int (*BIO_meth_get_read(BIO_METHOD const   *biom ))(BIO * , char * , int  ) ;
extern int (*BIO_meth_get_read_ex(BIO_METHOD const   *biom ))(BIO * , char * , size_t  ,
                                                              size_t * ) ;
extern int BIO_meth_set_read(BIO_METHOD *biom , int (*read)(BIO * , char * , int  ) ) ;
extern int BIO_meth_set_read_ex(BIO_METHOD *biom , int (*bread)(BIO * , char * , size_t  ,
                                                                size_t * ) ) ;
extern int (*BIO_meth_get_puts(BIO_METHOD const   *biom ))(BIO * , char const   * ) ;
extern int BIO_meth_set_puts(BIO_METHOD *biom , int (*puts)(BIO * , char const   * ) ) ;
extern int (*BIO_meth_get_gets(BIO_METHOD const   *biom ))(BIO * , char * , int  ) ;
extern int BIO_meth_set_gets(BIO_METHOD *biom , int (*gets)(BIO * , char * , int  ) ) ;
extern long (*BIO_meth_get_ctrl(BIO_METHOD const   *biom ))(BIO * , int  , long  ,
                                                            void * ) ;
extern int BIO_meth_set_ctrl(BIO_METHOD *biom , long (*ctrl)(BIO * , int  , long  ,
                                                             void * ) ) ;
extern int (*BIO_meth_get_create(BIO_METHOD const   *bion ))(BIO * ) ;
extern int BIO_meth_set_create(BIO_METHOD *biom , int (*create)(BIO * ) ) ;
extern int (*BIO_meth_get_destroy(BIO_METHOD const   *biom ))(BIO * ) ;
extern int BIO_meth_set_destroy(BIO_METHOD *biom , int (*destroy)(BIO * ) ) ;
extern long (*BIO_meth_get_callback_ctrl(BIO_METHOD const   *biom ))(BIO * , int  ,
                                                                     BIO_info_cb * ) ;
extern int BIO_meth_set_callback_ctrl(BIO_METHOD *biom , long (*callback_ctrl)(BIO * ,
                                                                               int  ,
                                                                               BIO_info_cb * ) ) ;
extern int ERR_load_BUF_strings(void) ;
extern BUF_MEM *BUF_MEM_new(void) ;
extern BUF_MEM *BUF_MEM_new_ex(unsigned long flags ) ;
extern void BUF_MEM_free(BUF_MEM *a ) ;
extern size_t BUF_MEM_grow(BUF_MEM *str , size_t len ) ;
extern size_t BUF_MEM_grow_clean(BUF_MEM *str , size_t len ) ;
extern void BUF_reverse(unsigned char *out , unsigned char const   *in , size_t siz ) ;
extern int ERR_load_EVP_strings(void) ;
extern int ERR_load_ASN1_strings(void) ;
extern int ERR_load_BN_strings(void) ;
extern void BN_set_flags(BIGNUM *b , int n ) ;
extern int BN_get_flags(BIGNUM const   *b , int n ) ;
extern void BN_with_flags(BIGNUM *dest , BIGNUM const   *b , int flags ) ;
extern int BN_GENCB_call(BN_GENCB *cb , int a , int b ) ;
extern BN_GENCB *BN_GENCB_new(void) ;
extern void BN_GENCB_free(BN_GENCB *cb ) ;
extern void BN_GENCB_set_old(BN_GENCB *gencb , void (*callback)(int  , int  , void * ) ,
                             void *cb_arg ) ;
extern void BN_GENCB_set(BN_GENCB *gencb , int (*callback)(int  , int  , BN_GENCB * ) ,
                         void *cb_arg ) ;
extern void *BN_GENCB_get_arg(BN_GENCB *cb ) ;
extern int BN_abs_is_word(BIGNUM const   *a , unsigned long const   w ) ;
extern int BN_is_zero(BIGNUM const   *a ) ;
extern int BN_is_one(BIGNUM const   *a ) ;
extern int BN_is_word(BIGNUM const   *a , unsigned long const   w ) ;
extern int BN_is_odd(BIGNUM const   *a ) ;
extern void BN_zero_ex(BIGNUM *a ) ;
extern BIGNUM const   *BN_value_one(void) ;
extern char *BN_options(void) ;
extern BN_CTX *BN_CTX_new(void) ;
extern BN_CTX *BN_CTX_secure_new(void) ;
extern void BN_CTX_free(BN_CTX *c ) ;
extern void BN_CTX_start(BN_CTX *ctx ) ;
extern BIGNUM *BN_CTX_get(BN_CTX *ctx ) ;
extern void BN_CTX_end(BN_CTX *ctx ) ;
extern int BN_rand(BIGNUM *rnd , int bits , int top , int bottom ) ;
extern int BN_priv_rand(BIGNUM *rnd , int bits , int top , int bottom ) ;
extern int BN_rand_range(BIGNUM *rnd , BIGNUM const   *range ) ;
extern int BN_priv_rand_range(BIGNUM *rnd , BIGNUM const   *range ) ;
extern int BN_pseudo_rand(BIGNUM *rnd , int bits , int top , int bottom ) ;
extern int BN_pseudo_rand_range(BIGNUM *rnd , BIGNUM const   *range ) ;
extern int BN_num_bits(BIGNUM const   *a ) ;
extern int BN_num_bits_word(unsigned long l ) ;
extern int BN_security_bits(int L , int N ) ;
extern BIGNUM *BN_new(void) ;
extern BIGNUM *BN_secure_new(void) ;
extern void BN_clear_free(BIGNUM *a ) ;
extern BIGNUM *BN_copy(BIGNUM *a , BIGNUM const   *b ) ;
extern void BN_swap(BIGNUM *a , BIGNUM *b ) ;
extern BIGNUM *BN_bin2bn(unsigned char const   *s , int len , BIGNUM *ret ) ;
extern int BN_bn2bin(BIGNUM const   *a , unsigned char *to ) ;
extern int BN_bn2binpad(BIGNUM const   *a , unsigned char *to , int tolen ) ;
extern BIGNUM *BN_lebin2bn(unsigned char const   *s , int len , BIGNUM *ret ) ;
extern int BN_bn2lebinpad(BIGNUM const   *a , unsigned char *to , int tolen ) ;
extern BIGNUM *BN_mpi2bn(unsigned char const   *s , int len , BIGNUM *ret ) ;
extern int BN_bn2mpi(BIGNUM const   *a , unsigned char *to ) ;
extern int BN_sub(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *b ) ;
extern int BN_usub(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *b ) ;
extern int BN_uadd(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *b ) ;
extern int BN_add(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *b ) ;
extern int BN_mul(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *b , BN_CTX *ctx ) ;
extern int BN_sqr(BIGNUM *r , BIGNUM const   *a , BN_CTX *ctx ) ;
extern void BN_set_negative(BIGNUM *b , int n ) ;
extern int BN_is_negative(BIGNUM const   *b ) ;
extern int BN_div(BIGNUM *dv , BIGNUM *rem , BIGNUM const   *m , BIGNUM const   *d ,
                  BN_CTX *ctx ) ;
extern int BN_nnmod(BIGNUM *r , BIGNUM const   *m , BIGNUM const   *d , BN_CTX *ctx ) ;
extern int BN_mod_add(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *b , BIGNUM const   *m ,
                      BN_CTX *ctx ) ;
extern int BN_mod_add_quick(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *b , BIGNUM const   *m ) ;
extern int BN_mod_sub(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *b , BIGNUM const   *m ,
                      BN_CTX *ctx ) ;
extern int BN_mod_sub_quick(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *b , BIGNUM const   *m ) ;
extern int BN_mod_mul(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *b , BIGNUM const   *m ,
                      BN_CTX *ctx ) ;
extern int BN_mod_sqr(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *m , BN_CTX *ctx ) ;
extern int BN_mod_lshift1(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *m , BN_CTX *ctx ) ;
extern int BN_mod_lshift1_quick(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *m ) ;
extern int BN_mod_lshift(BIGNUM *r , BIGNUM const   *a , int n , BIGNUM const   *m ,
                         BN_CTX *ctx ) ;
extern int BN_mod_lshift_quick(BIGNUM *r , BIGNUM const   *a , int n , BIGNUM const   *m ) ;
extern unsigned long BN_mod_word(BIGNUM const   *a , unsigned long w ) ;
extern unsigned long BN_div_word(BIGNUM *a , unsigned long w ) ;
extern int BN_mul_word(BIGNUM *a , unsigned long w ) ;
extern int BN_add_word(BIGNUM *a , unsigned long w ) ;
extern int BN_sub_word(BIGNUM *a , unsigned long w ) ;
extern int BN_set_word(BIGNUM *a , unsigned long w ) ;
extern unsigned long BN_get_word(BIGNUM const   *a ) ;
extern int BN_cmp(BIGNUM const   *a , BIGNUM const   *b ) ;
extern void BN_free(BIGNUM *a ) ;
extern int BN_is_bit_set(BIGNUM const   *a , int n ) ;
extern int BN_lshift(BIGNUM *r , BIGNUM const   *a , int n ) ;
extern int BN_lshift1(BIGNUM *r , BIGNUM const   *a ) ;
extern int BN_exp(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *p , BN_CTX *ctx ) ;
extern int BN_mod_exp(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *p , BIGNUM const   *m ,
                      BN_CTX *ctx ) ;
extern int BN_mod_exp_mont(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *p , BIGNUM const   *m ,
                           BN_CTX *ctx , BN_MONT_CTX *m_ctx ) ;
extern int BN_mod_exp_mont_consttime(BIGNUM *rr , BIGNUM const   *a , BIGNUM const   *p ,
                                     BIGNUM const   *m , BN_CTX *ctx , BN_MONT_CTX *in_mont ) ;
extern int BN_mod_exp_mont_word(BIGNUM *r , unsigned long a , BIGNUM const   *p ,
                                BIGNUM const   *m , BN_CTX *ctx , BN_MONT_CTX *m_ctx ) ;
extern int BN_mod_exp2_mont(BIGNUM *r , BIGNUM const   *a1 , BIGNUM const   *p1 ,
                            BIGNUM const   *a2 , BIGNUM const   *p2 , BIGNUM const   *m ,
                            BN_CTX *ctx , BN_MONT_CTX *m_ctx ) ;
extern int BN_mod_exp_simple(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *p , BIGNUM const   *m ,
                             BN_CTX *ctx ) ;
extern int BN_mask_bits(BIGNUM *a , int n ) ;
extern int BN_print_fp(FILE *fp , BIGNUM const   *a ) ;
extern int BN_print(BIO *bio , BIGNUM const   *a ) ;
extern int BN_reciprocal(BIGNUM *r , BIGNUM const   *m , int len , BN_CTX *ctx ) ;
extern int BN_rshift(BIGNUM *r , BIGNUM const   *a , int n ) ;
extern int BN_rshift1(BIGNUM *r , BIGNUM const   *a ) ;
extern void BN_clear(BIGNUM *a ) ;
extern BIGNUM *BN_dup(BIGNUM const   *a ) ;
extern int BN_ucmp(BIGNUM const   *a , BIGNUM const   *b ) ;
extern int BN_set_bit(BIGNUM *a , int n ) ;
extern int BN_clear_bit(BIGNUM *a , int n ) ;
extern char *BN_bn2hex(BIGNUM const   *a ) ;
extern char *BN_bn2dec(BIGNUM const   *a ) ;
extern int BN_hex2bn(BIGNUM **a , char const   *str ) ;
extern int BN_dec2bn(BIGNUM **a , char const   *str ) ;
extern int BN_asc2bn(BIGNUM **a , char const   *str ) ;
extern int BN_gcd(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *b , BN_CTX *ctx ) ;
extern int BN_kronecker(BIGNUM const   *a , BIGNUM const   *b , BN_CTX *ctx ) ;
extern BIGNUM *BN_mod_inverse(BIGNUM *ret , BIGNUM const   *a , BIGNUM const   *n ,
                              BN_CTX *ctx ) ;
extern BIGNUM *BN_mod_sqrt(BIGNUM *ret , BIGNUM const   *a , BIGNUM const   *n , BN_CTX *ctx ) ;
extern void BN_consttime_swap(unsigned long swap , BIGNUM *a , BIGNUM *b , int nwords ) ;
extern BIGNUM *BN_generate_prime(BIGNUM *ret , int bits , int safe , BIGNUM const   *add ,
                                 BIGNUM const   *rem , void (*callback)(int  , int  ,
                                                                        void * ) ,
                                 void *cb_arg )  __attribute__((__deprecated__)) ;
extern int BN_is_prime(BIGNUM const   *p , int nchecks , void (*callback)(int  , int  ,
                                                                          void * ) ,
                       BN_CTX *ctx , void *cb_arg )  __attribute__((__deprecated__)) ;
extern int BN_is_prime_fasttest(BIGNUM const   *p , int nchecks , void (*callback)(int  ,
                                                                                   int  ,
                                                                                   void * ) ,
                                BN_CTX *ctx , void *cb_arg , int do_trial_division )  __attribute__((__deprecated__)) ;
extern int BN_generate_prime_ex(BIGNUM *ret , int bits , int safe , BIGNUM const   *add ,
                                BIGNUM const   *rem , BN_GENCB *cb ) ;
extern int BN_is_prime_ex(BIGNUM const   *p , int nchecks , BN_CTX *ctx , BN_GENCB *cb ) ;
extern int BN_is_prime_fasttest_ex(BIGNUM const   *p , int nchecks , BN_CTX *ctx ,
                                   int do_trial_division , BN_GENCB *cb ) ;
extern int BN_X931_generate_Xpq(BIGNUM *Xp , BIGNUM *Xq , int nbits , BN_CTX *ctx ) ;
extern int BN_X931_derive_prime_ex(BIGNUM *p , BIGNUM *p1 , BIGNUM *p2 , BIGNUM const   *Xp ,
                                   BIGNUM const   *Xp1 , BIGNUM const   *Xp2 , BIGNUM const   *e ,
                                   BN_CTX *ctx , BN_GENCB *cb ) ;
extern int BN_X931_generate_prime_ex(BIGNUM *p , BIGNUM *p1 , BIGNUM *p2 , BIGNUM *Xp1 ,
                                     BIGNUM *Xp2 , BIGNUM const   *Xp , BIGNUM const   *e ,
                                     BN_CTX *ctx , BN_GENCB *cb ) ;
extern BN_MONT_CTX *BN_MONT_CTX_new(void) ;
extern int BN_mod_mul_montgomery(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *b ,
                                 BN_MONT_CTX *mont , BN_CTX *ctx ) ;
extern int BN_to_montgomery(BIGNUM *r , BIGNUM const   *a , BN_MONT_CTX *mont , BN_CTX *ctx ) ;
extern int BN_from_montgomery(BIGNUM *r , BIGNUM const   *a , BN_MONT_CTX *mont ,
                              BN_CTX *ctx ) ;
extern void BN_MONT_CTX_free(BN_MONT_CTX *mont ) ;
extern int BN_MONT_CTX_set(BN_MONT_CTX *mont , BIGNUM const   *mod , BN_CTX *ctx ) ;
extern BN_MONT_CTX *BN_MONT_CTX_copy(BN_MONT_CTX *to , BN_MONT_CTX *from ) ;
extern BN_MONT_CTX *BN_MONT_CTX_set_locked(BN_MONT_CTX **pmont , CRYPTO_RWLOCK *lock ,
                                           BIGNUM const   *mod , BN_CTX *ctx ) ;
extern BN_BLINDING *BN_BLINDING_new(BIGNUM const   *A , BIGNUM const   *Ai , BIGNUM *mod ) ;
extern void BN_BLINDING_free(BN_BLINDING *b ) ;
extern int BN_BLINDING_update(BN_BLINDING *b , BN_CTX *ctx ) ;
extern int BN_BLINDING_convert(BIGNUM *n , BN_BLINDING *b , BN_CTX *ctx ) ;
extern int BN_BLINDING_invert(BIGNUM *n , BN_BLINDING *b , BN_CTX *ctx ) ;
extern int BN_BLINDING_convert_ex(BIGNUM *n , BIGNUM *r , BN_BLINDING *b , BN_CTX * ) ;
extern int BN_BLINDING_invert_ex(BIGNUM *n , BIGNUM const   *r , BN_BLINDING *b ,
                                 BN_CTX * ) ;
extern int BN_BLINDING_is_current_thread(BN_BLINDING *b ) ;
extern void BN_BLINDING_set_current_thread(BN_BLINDING *b ) ;
extern int BN_BLINDING_lock(BN_BLINDING *b ) ;
extern int BN_BLINDING_unlock(BN_BLINDING *b ) ;
extern unsigned long BN_BLINDING_get_flags(BN_BLINDING const   * ) ;
extern void BN_BLINDING_set_flags(BN_BLINDING * , unsigned long  ) ;
extern BN_BLINDING *BN_BLINDING_create_param(BN_BLINDING *b , BIGNUM const   *e ,
                                             BIGNUM *m , BN_CTX *ctx , int (*bn_mod_exp)(BIGNUM *r ,
                                                                                         BIGNUM const   *a ,
                                                                                         BIGNUM const   *p ,
                                                                                         BIGNUM const   *m ,
                                                                                         BN_CTX *ctx ,
                                                                                         BN_MONT_CTX *m_ctx ) ,
                                             BN_MONT_CTX *m_ctx ) ;
extern void BN_set_params(int mul , int high , int low , int mont )  __attribute__((__deprecated__)) ;
extern int BN_get_params(int which )  __attribute__((__deprecated__)) ;
extern BN_RECP_CTX *BN_RECP_CTX_new(void) ;
extern void BN_RECP_CTX_free(BN_RECP_CTX *recp ) ;
extern int BN_RECP_CTX_set(BN_RECP_CTX *recp , BIGNUM const   *rdiv , BN_CTX *ctx ) ;
extern int BN_mod_mul_reciprocal(BIGNUM *r , BIGNUM const   *x , BIGNUM const   *y ,
                                 BN_RECP_CTX *recp , BN_CTX *ctx ) ;
extern int BN_mod_exp_recp(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *p , BIGNUM const   *m ,
                           BN_CTX *ctx ) ;
extern int BN_div_recp(BIGNUM *dv , BIGNUM *rem , BIGNUM const   *m , BN_RECP_CTX *recp ,
                       BN_CTX *ctx ) ;
extern int BN_GF2m_add(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *b ) ;
extern int BN_GF2m_mod(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *p ) ;
extern int BN_GF2m_mod_mul(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *b , BIGNUM const   *p ,
                           BN_CTX *ctx ) ;
extern int BN_GF2m_mod_sqr(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *p , BN_CTX *ctx ) ;
extern int BN_GF2m_mod_inv(BIGNUM *r , BIGNUM const   *b , BIGNUM const   *p , BN_CTX *ctx ) ;
extern int BN_GF2m_mod_div(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *b , BIGNUM const   *p ,
                           BN_CTX *ctx ) ;
extern int BN_GF2m_mod_exp(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *b , BIGNUM const   *p ,
                           BN_CTX *ctx ) ;
extern int BN_GF2m_mod_sqrt(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *p , BN_CTX *ctx ) ;
extern int BN_GF2m_mod_solve_quad(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *p ,
                                  BN_CTX *ctx ) ;
extern int BN_GF2m_mod_arr(BIGNUM *r , BIGNUM const   *a , int const   *p ) ;
extern int BN_GF2m_mod_mul_arr(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *b ,
                               int const   *p , BN_CTX *ctx ) ;
extern int BN_GF2m_mod_sqr_arr(BIGNUM *r , BIGNUM const   *a , int const   *p , BN_CTX *ctx ) ;
extern int BN_GF2m_mod_inv_arr(BIGNUM *r , BIGNUM const   *b , int const   *p , BN_CTX *ctx ) ;
extern int BN_GF2m_mod_div_arr(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *b ,
                               int const   *p , BN_CTX *ctx ) ;
extern int BN_GF2m_mod_exp_arr(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *b ,
                               int const   *p , BN_CTX *ctx ) ;
extern int BN_GF2m_mod_sqrt_arr(BIGNUM *r , BIGNUM const   *a , int const   *p , BN_CTX *ctx ) ;
extern int BN_GF2m_mod_solve_quad_arr(BIGNUM *r , BIGNUM const   *a , int const   *p ,
                                      BN_CTX *ctx ) ;
extern int BN_GF2m_poly2arr(BIGNUM const   *a , int *p , int max ) ;
extern int BN_GF2m_arr2poly(int const   *p , BIGNUM *a ) ;
extern int BN_nist_mod_192(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *p , BN_CTX *ctx ) ;
extern int BN_nist_mod_224(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *p , BN_CTX *ctx ) ;
extern int BN_nist_mod_256(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *p , BN_CTX *ctx ) ;
extern int BN_nist_mod_384(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *p , BN_CTX *ctx ) ;
extern int BN_nist_mod_521(BIGNUM *r , BIGNUM const   *a , BIGNUM const   *p , BN_CTX *ctx ) ;
extern BIGNUM const   *BN_get0_nist_prime_192(void) ;
extern BIGNUM const   *BN_get0_nist_prime_224(void) ;
extern BIGNUM const   *BN_get0_nist_prime_256(void) ;
extern BIGNUM const   *BN_get0_nist_prime_384(void) ;
extern BIGNUM const   *BN_get0_nist_prime_521(void) ;
extern int (*BN_nist_mod_func(BIGNUM const   *p ))(BIGNUM *r , BIGNUM const   *a ,
                                                   BIGNUM const   *field , BN_CTX *ctx ) ;
extern int BN_generate_dsa_nonce(BIGNUM *out , BIGNUM const   *range , BIGNUM const   *priv ,
                                 unsigned char const   *message , size_t message_len ,
                                 BN_CTX *ctx ) ;
extern BIGNUM *BN_get_rfc2409_prime_768(BIGNUM *bn ) ;
extern BIGNUM *BN_get_rfc2409_prime_1024(BIGNUM *bn ) ;
extern BIGNUM *BN_get_rfc3526_prime_1536(BIGNUM *bn ) ;
extern BIGNUM *BN_get_rfc3526_prime_2048(BIGNUM *bn ) ;
extern BIGNUM *BN_get_rfc3526_prime_3072(BIGNUM *bn ) ;
extern BIGNUM *BN_get_rfc3526_prime_4096(BIGNUM *bn ) ;
extern BIGNUM *BN_get_rfc3526_prime_6144(BIGNUM *bn ) ;
extern BIGNUM *BN_get_rfc3526_prime_8192(BIGNUM *bn ) ;
extern int BN_bntest_rand(BIGNUM *rnd , int bits , int top , int bottom ) ;
__inline static int sk_X509_ALGOR_num(struct stack_st_X509_ALGOR  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static X509_ALGOR *sk_X509_ALGOR_value(struct stack_st_X509_ALGOR  const  *sk ,
                                                int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((X509_ALGOR *)tmp);
}
}
__inline static struct stack_st_X509_ALGOR *sk_X509_ALGOR_new(int (*compare___1)(X509_ALGOR const   **a ,
                                                                                 X509_ALGOR const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_X509_ALGOR *)tmp);
}
}
__inline static struct stack_st_X509_ALGOR *sk_X509_ALGOR_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_X509_ALGOR *)tmp);
}
}
__inline static struct stack_st_X509_ALGOR *sk_X509_ALGOR_new_reserve(int (*compare___1)(X509_ALGOR const   **a ,
                                                                                         X509_ALGOR const   **b ) ,
                                                                      int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_X509_ALGOR *)tmp);
}
}
__inline static int sk_X509_ALGOR_reserve(struct stack_st_X509_ALGOR *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_X509_ALGOR_free(struct stack_st_X509_ALGOR *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_X509_ALGOR_zero(struct stack_st_X509_ALGOR *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static X509_ALGOR *sk_X509_ALGOR_delete(struct stack_st_X509_ALGOR *sk ,
                                                 int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((X509_ALGOR *)tmp);
}
}
__inline static X509_ALGOR *sk_X509_ALGOR_delete_ptr(struct stack_st_X509_ALGOR *sk ,
                                                     X509_ALGOR *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((X509_ALGOR *)tmp);
}
}
__inline static int sk_X509_ALGOR_push(struct stack_st_X509_ALGOR *sk , X509_ALGOR *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_ALGOR_unshift(struct stack_st_X509_ALGOR *sk , X509_ALGOR *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static X509_ALGOR *sk_X509_ALGOR_pop(struct stack_st_X509_ALGOR *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((X509_ALGOR *)tmp);
}
}
__inline static X509_ALGOR *sk_X509_ALGOR_shift(struct stack_st_X509_ALGOR *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((X509_ALGOR *)tmp);
}
}
__inline static void sk_X509_ALGOR_pop_free(struct stack_st_X509_ALGOR *sk , void (*freefunc)(X509_ALGOR *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_X509_ALGOR_insert(struct stack_st_X509_ALGOR *sk , X509_ALGOR *ptr ,
                                         int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static X509_ALGOR *sk_X509_ALGOR_set(struct stack_st_X509_ALGOR *sk , int idx___0 ,
                                              X509_ALGOR *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((X509_ALGOR *)tmp);
}
}
__inline static int sk_X509_ALGOR_find(struct stack_st_X509_ALGOR *sk , X509_ALGOR *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_ALGOR_find_ex(struct stack_st_X509_ALGOR *sk , X509_ALGOR *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_X509_ALGOR_sort(struct stack_st_X509_ALGOR *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_X509_ALGOR_is_sorted(struct stack_st_X509_ALGOR  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_X509_ALGOR *sk_X509_ALGOR_dup(struct stack_st_X509_ALGOR  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_X509_ALGOR *)tmp);
}
}
__inline static struct stack_st_X509_ALGOR *sk_X509_ALGOR_deep_copy(struct stack_st_X509_ALGOR  const  *sk ,
                                                                    X509_ALGOR *(*copyfunc)(X509_ALGOR const   *a ) ,
                                                                    void (*freefunc)(X509_ALGOR *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_X509_ALGOR *)tmp);
}
}
__inline static sk_X509_ALGOR_compfunc sk_X509_ALGOR_set_cmp_func(struct stack_st_X509_ALGOR *sk ,
                                                                  int (*compare___1)(X509_ALGOR const   **a ,
                                                                                     X509_ALGOR const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(X509_ALGOR const   **a , X509_ALGOR const   **b ))tmp);
}
}
__inline static int sk_ASN1_STRING_TABLE_num(struct stack_st_ASN1_STRING_TABLE  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static ASN1_STRING_TABLE *sk_ASN1_STRING_TABLE_value(struct stack_st_ASN1_STRING_TABLE  const  *sk ,
                                                              int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((ASN1_STRING_TABLE *)tmp);
}
}
__inline static struct stack_st_ASN1_STRING_TABLE *sk_ASN1_STRING_TABLE_new(int (*compare___1)(ASN1_STRING_TABLE const   **a ,
                                                                                               ASN1_STRING_TABLE const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_ASN1_STRING_TABLE *)tmp);
}
}
__inline static struct stack_st_ASN1_STRING_TABLE *sk_ASN1_STRING_TABLE_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_ASN1_STRING_TABLE *)tmp);
}
}
__inline static struct stack_st_ASN1_STRING_TABLE *sk_ASN1_STRING_TABLE_new_reserve(int (*compare___1)(ASN1_STRING_TABLE const   **a ,
                                                                                                       ASN1_STRING_TABLE const   **b ) ,
                                                                                    int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_ASN1_STRING_TABLE *)tmp);
}
}
__inline static int sk_ASN1_STRING_TABLE_reserve(struct stack_st_ASN1_STRING_TABLE *sk ,
                                                 int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_ASN1_STRING_TABLE_free(struct stack_st_ASN1_STRING_TABLE *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_ASN1_STRING_TABLE_zero(struct stack_st_ASN1_STRING_TABLE *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static ASN1_STRING_TABLE *sk_ASN1_STRING_TABLE_delete(struct stack_st_ASN1_STRING_TABLE *sk ,
                                                               int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((ASN1_STRING_TABLE *)tmp);
}
}
__inline static ASN1_STRING_TABLE *sk_ASN1_STRING_TABLE_delete_ptr(struct stack_st_ASN1_STRING_TABLE *sk ,
                                                                   ASN1_STRING_TABLE *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((ASN1_STRING_TABLE *)tmp);
}
}
__inline static int sk_ASN1_STRING_TABLE_push(struct stack_st_ASN1_STRING_TABLE *sk ,
                                              ASN1_STRING_TABLE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_ASN1_STRING_TABLE_unshift(struct stack_st_ASN1_STRING_TABLE *sk ,
                                                 ASN1_STRING_TABLE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static ASN1_STRING_TABLE *sk_ASN1_STRING_TABLE_pop(struct stack_st_ASN1_STRING_TABLE *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((ASN1_STRING_TABLE *)tmp);
}
}
__inline static ASN1_STRING_TABLE *sk_ASN1_STRING_TABLE_shift(struct stack_st_ASN1_STRING_TABLE *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((ASN1_STRING_TABLE *)tmp);
}
}
__inline static void sk_ASN1_STRING_TABLE_pop_free(struct stack_st_ASN1_STRING_TABLE *sk ,
                                                   void (*freefunc)(ASN1_STRING_TABLE *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_ASN1_STRING_TABLE_insert(struct stack_st_ASN1_STRING_TABLE *sk ,
                                                ASN1_STRING_TABLE *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static ASN1_STRING_TABLE *sk_ASN1_STRING_TABLE_set(struct stack_st_ASN1_STRING_TABLE *sk ,
                                                            int idx___0 , ASN1_STRING_TABLE *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((ASN1_STRING_TABLE *)tmp);
}
}
__inline static int sk_ASN1_STRING_TABLE_find(struct stack_st_ASN1_STRING_TABLE *sk ,
                                              ASN1_STRING_TABLE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_ASN1_STRING_TABLE_find_ex(struct stack_st_ASN1_STRING_TABLE *sk ,
                                                 ASN1_STRING_TABLE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_ASN1_STRING_TABLE_sort(struct stack_st_ASN1_STRING_TABLE *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_ASN1_STRING_TABLE_is_sorted(struct stack_st_ASN1_STRING_TABLE  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_ASN1_STRING_TABLE *sk_ASN1_STRING_TABLE_dup(struct stack_st_ASN1_STRING_TABLE  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_ASN1_STRING_TABLE *)tmp);
}
}
__inline static struct stack_st_ASN1_STRING_TABLE *sk_ASN1_STRING_TABLE_deep_copy(struct stack_st_ASN1_STRING_TABLE  const  *sk ,
                                                                                  ASN1_STRING_TABLE *(*copyfunc)(ASN1_STRING_TABLE const   *a ) ,
                                                                                  void (*freefunc)(ASN1_STRING_TABLE *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_ASN1_STRING_TABLE *)tmp);
}
}
__inline static sk_ASN1_STRING_TABLE_compfunc sk_ASN1_STRING_TABLE_set_cmp_func(struct stack_st_ASN1_STRING_TABLE *sk ,
                                                                                int (*compare___1)(ASN1_STRING_TABLE const   **a ,
                                                                                                   ASN1_STRING_TABLE const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(ASN1_STRING_TABLE const   **a , ASN1_STRING_TABLE const   **b ))tmp);
}
}
__inline static int sk_ASN1_INTEGER_num(struct stack_st_ASN1_INTEGER  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static ASN1_INTEGER *sk_ASN1_INTEGER_value(struct stack_st_ASN1_INTEGER  const  *sk ,
                                                    int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((ASN1_INTEGER *)tmp);
}
}
__inline static struct stack_st_ASN1_INTEGER *sk_ASN1_INTEGER_new(int (*compare___1)(ASN1_INTEGER const   **a ,
                                                                                     ASN1_INTEGER const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_ASN1_INTEGER *)tmp);
}
}
__inline static struct stack_st_ASN1_INTEGER *sk_ASN1_INTEGER_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_ASN1_INTEGER *)tmp);
}
}
__inline static struct stack_st_ASN1_INTEGER *sk_ASN1_INTEGER_new_reserve(int (*compare___1)(ASN1_INTEGER const   **a ,
                                                                                             ASN1_INTEGER const   **b ) ,
                                                                          int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_ASN1_INTEGER *)tmp);
}
}
__inline static int sk_ASN1_INTEGER_reserve(struct stack_st_ASN1_INTEGER *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_ASN1_INTEGER_free(struct stack_st_ASN1_INTEGER *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_ASN1_INTEGER_zero(struct stack_st_ASN1_INTEGER *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static ASN1_INTEGER *sk_ASN1_INTEGER_delete(struct stack_st_ASN1_INTEGER *sk ,
                                                     int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((ASN1_INTEGER *)tmp);
}
}
__inline static ASN1_INTEGER *sk_ASN1_INTEGER_delete_ptr(struct stack_st_ASN1_INTEGER *sk ,
                                                         ASN1_INTEGER *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((ASN1_INTEGER *)tmp);
}
}
__inline static int sk_ASN1_INTEGER_push(struct stack_st_ASN1_INTEGER *sk , ASN1_INTEGER *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_ASN1_INTEGER_unshift(struct stack_st_ASN1_INTEGER *sk , ASN1_INTEGER *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static ASN1_INTEGER *sk_ASN1_INTEGER_pop(struct stack_st_ASN1_INTEGER *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((ASN1_INTEGER *)tmp);
}
}
__inline static ASN1_INTEGER *sk_ASN1_INTEGER_shift(struct stack_st_ASN1_INTEGER *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((ASN1_INTEGER *)tmp);
}
}
__inline static void sk_ASN1_INTEGER_pop_free(struct stack_st_ASN1_INTEGER *sk , void (*freefunc)(ASN1_INTEGER *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_ASN1_INTEGER_insert(struct stack_st_ASN1_INTEGER *sk , ASN1_INTEGER *ptr ,
                                           int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static ASN1_INTEGER *sk_ASN1_INTEGER_set(struct stack_st_ASN1_INTEGER *sk ,
                                                  int idx___0 , ASN1_INTEGER *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((ASN1_INTEGER *)tmp);
}
}
__inline static int sk_ASN1_INTEGER_find(struct stack_st_ASN1_INTEGER *sk , ASN1_INTEGER *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_ASN1_INTEGER_find_ex(struct stack_st_ASN1_INTEGER *sk , ASN1_INTEGER *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_ASN1_INTEGER_sort(struct stack_st_ASN1_INTEGER *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_ASN1_INTEGER_is_sorted(struct stack_st_ASN1_INTEGER  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_ASN1_INTEGER *sk_ASN1_INTEGER_dup(struct stack_st_ASN1_INTEGER  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_ASN1_INTEGER *)tmp);
}
}
__inline static struct stack_st_ASN1_INTEGER *sk_ASN1_INTEGER_deep_copy(struct stack_st_ASN1_INTEGER  const  *sk ,
                                                                        ASN1_INTEGER *(*copyfunc)(ASN1_INTEGER const   *a ) ,
                                                                        void (*freefunc)(ASN1_INTEGER *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_ASN1_INTEGER *)tmp);
}
}
__inline static sk_ASN1_INTEGER_compfunc sk_ASN1_INTEGER_set_cmp_func(struct stack_st_ASN1_INTEGER *sk ,
                                                                      int (*compare___1)(ASN1_INTEGER const   **a ,
                                                                                         ASN1_INTEGER const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(ASN1_INTEGER const   **a , ASN1_INTEGER const   **b ))tmp);
}
}
__inline static int sk_ASN1_GENERALSTRING_num(struct stack_st_ASN1_GENERALSTRING  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static ASN1_GENERALSTRING *sk_ASN1_GENERALSTRING_value(struct stack_st_ASN1_GENERALSTRING  const  *sk ,
                                                                int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((ASN1_GENERALSTRING *)tmp);
}
}
__inline static struct stack_st_ASN1_GENERALSTRING *sk_ASN1_GENERALSTRING_new(int (*compare___1)(ASN1_GENERALSTRING const   **a ,
                                                                                                 ASN1_GENERALSTRING const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_ASN1_GENERALSTRING *)tmp);
}
}
__inline static struct stack_st_ASN1_GENERALSTRING *sk_ASN1_GENERALSTRING_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_ASN1_GENERALSTRING *)tmp);
}
}
__inline static struct stack_st_ASN1_GENERALSTRING *sk_ASN1_GENERALSTRING_new_reserve(int (*compare___1)(ASN1_GENERALSTRING const   **a ,
                                                                                                         ASN1_GENERALSTRING const   **b ) ,
                                                                                      int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_ASN1_GENERALSTRING *)tmp);
}
}
__inline static int sk_ASN1_GENERALSTRING_reserve(struct stack_st_ASN1_GENERALSTRING *sk ,
                                                  int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_ASN1_GENERALSTRING_free(struct stack_st_ASN1_GENERALSTRING *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_ASN1_GENERALSTRING_zero(struct stack_st_ASN1_GENERALSTRING *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static ASN1_GENERALSTRING *sk_ASN1_GENERALSTRING_delete(struct stack_st_ASN1_GENERALSTRING *sk ,
                                                                 int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((ASN1_GENERALSTRING *)tmp);
}
}
__inline static ASN1_GENERALSTRING *sk_ASN1_GENERALSTRING_delete_ptr(struct stack_st_ASN1_GENERALSTRING *sk ,
                                                                     ASN1_GENERALSTRING *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((ASN1_GENERALSTRING *)tmp);
}
}
__inline static int sk_ASN1_GENERALSTRING_push(struct stack_st_ASN1_GENERALSTRING *sk ,
                                               ASN1_GENERALSTRING *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_ASN1_GENERALSTRING_unshift(struct stack_st_ASN1_GENERALSTRING *sk ,
                                                  ASN1_GENERALSTRING *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static ASN1_GENERALSTRING *sk_ASN1_GENERALSTRING_pop(struct stack_st_ASN1_GENERALSTRING *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((ASN1_GENERALSTRING *)tmp);
}
}
__inline static ASN1_GENERALSTRING *sk_ASN1_GENERALSTRING_shift(struct stack_st_ASN1_GENERALSTRING *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((ASN1_GENERALSTRING *)tmp);
}
}
__inline static void sk_ASN1_GENERALSTRING_pop_free(struct stack_st_ASN1_GENERALSTRING *sk ,
                                                    void (*freefunc)(ASN1_GENERALSTRING *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_ASN1_GENERALSTRING_insert(struct stack_st_ASN1_GENERALSTRING *sk ,
                                                 ASN1_GENERALSTRING *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static ASN1_GENERALSTRING *sk_ASN1_GENERALSTRING_set(struct stack_st_ASN1_GENERALSTRING *sk ,
                                                              int idx___0 , ASN1_GENERALSTRING *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((ASN1_GENERALSTRING *)tmp);
}
}
__inline static int sk_ASN1_GENERALSTRING_find(struct stack_st_ASN1_GENERALSTRING *sk ,
                                               ASN1_GENERALSTRING *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_ASN1_GENERALSTRING_find_ex(struct stack_st_ASN1_GENERALSTRING *sk ,
                                                  ASN1_GENERALSTRING *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_ASN1_GENERALSTRING_sort(struct stack_st_ASN1_GENERALSTRING *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_ASN1_GENERALSTRING_is_sorted(struct stack_st_ASN1_GENERALSTRING  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_ASN1_GENERALSTRING *sk_ASN1_GENERALSTRING_dup(struct stack_st_ASN1_GENERALSTRING  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_ASN1_GENERALSTRING *)tmp);
}
}
__inline static struct stack_st_ASN1_GENERALSTRING *sk_ASN1_GENERALSTRING_deep_copy(struct stack_st_ASN1_GENERALSTRING  const  *sk ,
                                                                                    ASN1_GENERALSTRING *(*copyfunc)(ASN1_GENERALSTRING const   *a ) ,
                                                                                    void (*freefunc)(ASN1_GENERALSTRING *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_ASN1_GENERALSTRING *)tmp);
}
}
__inline static sk_ASN1_GENERALSTRING_compfunc sk_ASN1_GENERALSTRING_set_cmp_func(struct stack_st_ASN1_GENERALSTRING *sk ,
                                                                                  int (*compare___1)(ASN1_GENERALSTRING const   **a ,
                                                                                                     ASN1_GENERALSTRING const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(ASN1_GENERALSTRING const   **a , ASN1_GENERALSTRING const   **b ))tmp);
}
}
__inline static int sk_ASN1_UTF8STRING_num(struct stack_st_ASN1_UTF8STRING  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static ASN1_UTF8STRING *sk_ASN1_UTF8STRING_value(struct stack_st_ASN1_UTF8STRING  const  *sk ,
                                                          int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((ASN1_UTF8STRING *)tmp);
}
}
__inline static struct stack_st_ASN1_UTF8STRING *sk_ASN1_UTF8STRING_new(int (*compare___1)(ASN1_UTF8STRING const   **a ,
                                                                                           ASN1_UTF8STRING const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_ASN1_UTF8STRING *)tmp);
}
}
__inline static struct stack_st_ASN1_UTF8STRING *sk_ASN1_UTF8STRING_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_ASN1_UTF8STRING *)tmp);
}
}
__inline static struct stack_st_ASN1_UTF8STRING *sk_ASN1_UTF8STRING_new_reserve(int (*compare___1)(ASN1_UTF8STRING const   **a ,
                                                                                                   ASN1_UTF8STRING const   **b ) ,
                                                                                int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_ASN1_UTF8STRING *)tmp);
}
}
__inline static int sk_ASN1_UTF8STRING_reserve(struct stack_st_ASN1_UTF8STRING *sk ,
                                               int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_ASN1_UTF8STRING_free(struct stack_st_ASN1_UTF8STRING *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_ASN1_UTF8STRING_zero(struct stack_st_ASN1_UTF8STRING *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static ASN1_UTF8STRING *sk_ASN1_UTF8STRING_delete(struct stack_st_ASN1_UTF8STRING *sk ,
                                                           int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((ASN1_UTF8STRING *)tmp);
}
}
__inline static ASN1_UTF8STRING *sk_ASN1_UTF8STRING_delete_ptr(struct stack_st_ASN1_UTF8STRING *sk ,
                                                               ASN1_UTF8STRING *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((ASN1_UTF8STRING *)tmp);
}
}
__inline static int sk_ASN1_UTF8STRING_push(struct stack_st_ASN1_UTF8STRING *sk ,
                                            ASN1_UTF8STRING *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_ASN1_UTF8STRING_unshift(struct stack_st_ASN1_UTF8STRING *sk ,
                                               ASN1_UTF8STRING *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static ASN1_UTF8STRING *sk_ASN1_UTF8STRING_pop(struct stack_st_ASN1_UTF8STRING *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((ASN1_UTF8STRING *)tmp);
}
}
__inline static ASN1_UTF8STRING *sk_ASN1_UTF8STRING_shift(struct stack_st_ASN1_UTF8STRING *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((ASN1_UTF8STRING *)tmp);
}
}
__inline static void sk_ASN1_UTF8STRING_pop_free(struct stack_st_ASN1_UTF8STRING *sk ,
                                                 void (*freefunc)(ASN1_UTF8STRING *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_ASN1_UTF8STRING_insert(struct stack_st_ASN1_UTF8STRING *sk ,
                                              ASN1_UTF8STRING *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static ASN1_UTF8STRING *sk_ASN1_UTF8STRING_set(struct stack_st_ASN1_UTF8STRING *sk ,
                                                        int idx___0 , ASN1_UTF8STRING *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((ASN1_UTF8STRING *)tmp);
}
}
__inline static int sk_ASN1_UTF8STRING_find(struct stack_st_ASN1_UTF8STRING *sk ,
                                            ASN1_UTF8STRING *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_ASN1_UTF8STRING_find_ex(struct stack_st_ASN1_UTF8STRING *sk ,
                                               ASN1_UTF8STRING *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_ASN1_UTF8STRING_sort(struct stack_st_ASN1_UTF8STRING *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_ASN1_UTF8STRING_is_sorted(struct stack_st_ASN1_UTF8STRING  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_ASN1_UTF8STRING *sk_ASN1_UTF8STRING_dup(struct stack_st_ASN1_UTF8STRING  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_ASN1_UTF8STRING *)tmp);
}
}
__inline static struct stack_st_ASN1_UTF8STRING *sk_ASN1_UTF8STRING_deep_copy(struct stack_st_ASN1_UTF8STRING  const  *sk ,
                                                                              ASN1_UTF8STRING *(*copyfunc)(ASN1_UTF8STRING const   *a ) ,
                                                                              void (*freefunc)(ASN1_UTF8STRING *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_ASN1_UTF8STRING *)tmp);
}
}
__inline static sk_ASN1_UTF8STRING_compfunc sk_ASN1_UTF8STRING_set_cmp_func(struct stack_st_ASN1_UTF8STRING *sk ,
                                                                            int (*compare___1)(ASN1_UTF8STRING const   **a ,
                                                                                               ASN1_UTF8STRING const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(ASN1_UTF8STRING const   **a , ASN1_UTF8STRING const   **b ))tmp);
}
}
__inline static int sk_ASN1_TYPE_num(struct stack_st_ASN1_TYPE  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static ASN1_TYPE *sk_ASN1_TYPE_value(struct stack_st_ASN1_TYPE  const  *sk ,
                                              int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((ASN1_TYPE *)tmp);
}
}
__inline static struct stack_st_ASN1_TYPE *sk_ASN1_TYPE_new(int (*compare___1)(ASN1_TYPE const   **a ,
                                                                               ASN1_TYPE const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_ASN1_TYPE *)tmp);
}
}
__inline static struct stack_st_ASN1_TYPE *sk_ASN1_TYPE_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_ASN1_TYPE *)tmp);
}
}
__inline static struct stack_st_ASN1_TYPE *sk_ASN1_TYPE_new_reserve(int (*compare___1)(ASN1_TYPE const   **a ,
                                                                                       ASN1_TYPE const   **b ) ,
                                                                    int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_ASN1_TYPE *)tmp);
}
}
__inline static int sk_ASN1_TYPE_reserve(struct stack_st_ASN1_TYPE *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_ASN1_TYPE_free(struct stack_st_ASN1_TYPE *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_ASN1_TYPE_zero(struct stack_st_ASN1_TYPE *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static ASN1_TYPE *sk_ASN1_TYPE_delete(struct stack_st_ASN1_TYPE *sk , int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((ASN1_TYPE *)tmp);
}
}
__inline static ASN1_TYPE *sk_ASN1_TYPE_delete_ptr(struct stack_st_ASN1_TYPE *sk ,
                                                   ASN1_TYPE *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((ASN1_TYPE *)tmp);
}
}
__inline static int sk_ASN1_TYPE_push(struct stack_st_ASN1_TYPE *sk , ASN1_TYPE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_ASN1_TYPE_unshift(struct stack_st_ASN1_TYPE *sk , ASN1_TYPE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static ASN1_TYPE *sk_ASN1_TYPE_pop(struct stack_st_ASN1_TYPE *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((ASN1_TYPE *)tmp);
}
}
__inline static ASN1_TYPE *sk_ASN1_TYPE_shift(struct stack_st_ASN1_TYPE *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((ASN1_TYPE *)tmp);
}
}
__inline static void sk_ASN1_TYPE_pop_free(struct stack_st_ASN1_TYPE *sk , void (*freefunc)(ASN1_TYPE *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_ASN1_TYPE_insert(struct stack_st_ASN1_TYPE *sk , ASN1_TYPE *ptr ,
                                        int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static ASN1_TYPE *sk_ASN1_TYPE_set(struct stack_st_ASN1_TYPE *sk , int idx___0 ,
                                            ASN1_TYPE *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((ASN1_TYPE *)tmp);
}
}
__inline static int sk_ASN1_TYPE_find(struct stack_st_ASN1_TYPE *sk , ASN1_TYPE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_ASN1_TYPE_find_ex(struct stack_st_ASN1_TYPE *sk , ASN1_TYPE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_ASN1_TYPE_sort(struct stack_st_ASN1_TYPE *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_ASN1_TYPE_is_sorted(struct stack_st_ASN1_TYPE  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_ASN1_TYPE *sk_ASN1_TYPE_dup(struct stack_st_ASN1_TYPE  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_ASN1_TYPE *)tmp);
}
}
__inline static struct stack_st_ASN1_TYPE *sk_ASN1_TYPE_deep_copy(struct stack_st_ASN1_TYPE  const  *sk ,
                                                                  ASN1_TYPE *(*copyfunc)(ASN1_TYPE const   *a ) ,
                                                                  void (*freefunc)(ASN1_TYPE *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_ASN1_TYPE *)tmp);
}
}
__inline static sk_ASN1_TYPE_compfunc sk_ASN1_TYPE_set_cmp_func(struct stack_st_ASN1_TYPE *sk ,
                                                                int (*compare___1)(ASN1_TYPE const   **a ,
                                                                                   ASN1_TYPE const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(ASN1_TYPE const   **a , ASN1_TYPE const   **b ))tmp);
}
}
extern ASN1_SEQUENCE_ANY *d2i_ASN1_SEQUENCE_ANY(ASN1_SEQUENCE_ANY **a , unsigned char const   **in ,
                                                long len ) ;
extern int i2d_ASN1_SEQUENCE_ANY(ASN1_SEQUENCE_ANY const   *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASN1_SEQUENCE_ANY_it ;
extern ASN1_SEQUENCE_ANY *d2i_ASN1_SET_ANY(ASN1_SEQUENCE_ANY **a , unsigned char const   **in ,
                                           long len ) ;
extern int i2d_ASN1_SET_ANY(ASN1_SEQUENCE_ANY const   *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASN1_SET_ANY_it ;
extern ASN1_TYPE *ASN1_TYPE_new(void) ;
extern void ASN1_TYPE_free(ASN1_TYPE *a ) ;
extern ASN1_TYPE *d2i_ASN1_TYPE(ASN1_TYPE **a , unsigned char const   **in , long len ) ;
extern int i2d_ASN1_TYPE(ASN1_TYPE *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASN1_ANY_it ;
extern int ASN1_TYPE_get(ASN1_TYPE const   *a ) ;
extern void ASN1_TYPE_set(ASN1_TYPE *a , int type , void *value ) ;
extern int ASN1_TYPE_set1(ASN1_TYPE *a , int type , void const   *value ) ;
extern int ASN1_TYPE_cmp(ASN1_TYPE const   *a , ASN1_TYPE const   *b ) ;
extern ASN1_TYPE *ASN1_TYPE_pack_sequence(ASN1_ITEM const   *it , void *s , ASN1_TYPE **t ) ;
extern void *ASN1_TYPE_unpack_sequence(ASN1_ITEM const   *it , ASN1_TYPE const   *t ) ;
extern ASN1_OBJECT *ASN1_OBJECT_new(void) ;
extern void ASN1_OBJECT_free(ASN1_OBJECT *a ) ;
extern int i2d_ASN1_OBJECT(ASN1_OBJECT const   *a , unsigned char **pp ) ;
extern ASN1_OBJECT *d2i_ASN1_OBJECT(ASN1_OBJECT **a , unsigned char const   **pp ,
                                    long length ) ;
extern ASN1_ITEM const   ASN1_OBJECT_it ;
__inline static int sk_ASN1_OBJECT_num(struct stack_st_ASN1_OBJECT  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static ASN1_OBJECT *sk_ASN1_OBJECT_value(struct stack_st_ASN1_OBJECT  const  *sk ,
                                                  int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((ASN1_OBJECT *)tmp);
}
}
__inline static struct stack_st_ASN1_OBJECT *sk_ASN1_OBJECT_new(int (*compare___1)(ASN1_OBJECT const   **a ,
                                                                                   ASN1_OBJECT const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_ASN1_OBJECT *)tmp);
}
}
__inline static struct stack_st_ASN1_OBJECT *sk_ASN1_OBJECT_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_ASN1_OBJECT *)tmp);
}
}
__inline static struct stack_st_ASN1_OBJECT *sk_ASN1_OBJECT_new_reserve(int (*compare___1)(ASN1_OBJECT const   **a ,
                                                                                           ASN1_OBJECT const   **b ) ,
                                                                        int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_ASN1_OBJECT *)tmp);
}
}
__inline static int sk_ASN1_OBJECT_reserve(struct stack_st_ASN1_OBJECT *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_ASN1_OBJECT_free(struct stack_st_ASN1_OBJECT *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_ASN1_OBJECT_zero(struct stack_st_ASN1_OBJECT *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static ASN1_OBJECT *sk_ASN1_OBJECT_delete(struct stack_st_ASN1_OBJECT *sk ,
                                                   int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((ASN1_OBJECT *)tmp);
}
}
__inline static ASN1_OBJECT *sk_ASN1_OBJECT_delete_ptr(struct stack_st_ASN1_OBJECT *sk ,
                                                       ASN1_OBJECT *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((ASN1_OBJECT *)tmp);
}
}
__inline static int sk_ASN1_OBJECT_push(struct stack_st_ASN1_OBJECT *sk , ASN1_OBJECT *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_ASN1_OBJECT_unshift(struct stack_st_ASN1_OBJECT *sk , ASN1_OBJECT *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static ASN1_OBJECT *sk_ASN1_OBJECT_pop(struct stack_st_ASN1_OBJECT *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((ASN1_OBJECT *)tmp);
}
}
__inline static ASN1_OBJECT *sk_ASN1_OBJECT_shift(struct stack_st_ASN1_OBJECT *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((ASN1_OBJECT *)tmp);
}
}
__inline static void sk_ASN1_OBJECT_pop_free(struct stack_st_ASN1_OBJECT *sk , void (*freefunc)(ASN1_OBJECT *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_ASN1_OBJECT_insert(struct stack_st_ASN1_OBJECT *sk , ASN1_OBJECT *ptr ,
                                          int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static ASN1_OBJECT *sk_ASN1_OBJECT_set(struct stack_st_ASN1_OBJECT *sk ,
                                                int idx___0 , ASN1_OBJECT *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((ASN1_OBJECT *)tmp);
}
}
__inline static int sk_ASN1_OBJECT_find(struct stack_st_ASN1_OBJECT *sk , ASN1_OBJECT *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_ASN1_OBJECT_find_ex(struct stack_st_ASN1_OBJECT *sk , ASN1_OBJECT *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_ASN1_OBJECT_sort(struct stack_st_ASN1_OBJECT *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_ASN1_OBJECT_is_sorted(struct stack_st_ASN1_OBJECT  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_ASN1_OBJECT *sk_ASN1_OBJECT_dup(struct stack_st_ASN1_OBJECT  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_ASN1_OBJECT *)tmp);
}
}
__inline static struct stack_st_ASN1_OBJECT *sk_ASN1_OBJECT_deep_copy(struct stack_st_ASN1_OBJECT  const  *sk ,
                                                                      ASN1_OBJECT *(*copyfunc)(ASN1_OBJECT const   *a ) ,
                                                                      void (*freefunc)(ASN1_OBJECT *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_ASN1_OBJECT *)tmp);
}
}
__inline static sk_ASN1_OBJECT_compfunc sk_ASN1_OBJECT_set_cmp_func(struct stack_st_ASN1_OBJECT *sk ,
                                                                    int (*compare___1)(ASN1_OBJECT const   **a ,
                                                                                       ASN1_OBJECT const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(ASN1_OBJECT const   **a , ASN1_OBJECT const   **b ))tmp);
}
}
extern ASN1_STRING *ASN1_STRING_new(void) ;
extern void ASN1_STRING_free(ASN1_STRING *a ) ;
extern void ASN1_STRING_clear_free(ASN1_STRING *a ) ;
extern int ASN1_STRING_copy(ASN1_STRING *dst , ASN1_STRING const   *str ) ;
extern ASN1_STRING *ASN1_STRING_dup(ASN1_STRING const   *a ) ;
extern ASN1_STRING *ASN1_STRING_type_new(int type ) ;
extern int ASN1_STRING_cmp(ASN1_STRING const   *a , ASN1_STRING const   *b ) ;
extern int ASN1_STRING_set(ASN1_STRING *str , void const   *data , int len ) ;
extern void ASN1_STRING_set0(ASN1_STRING *str , void *data , int len ) ;
extern int ASN1_STRING_length(ASN1_STRING const   *x ) ;
extern void ASN1_STRING_length_set(ASN1_STRING *x , int n ) ;
extern int ASN1_STRING_type(ASN1_STRING const   *x ) ;
extern unsigned char *ASN1_STRING_data(ASN1_STRING *x )  __attribute__((__deprecated__)) ;
extern unsigned char const   *ASN1_STRING_get0_data(ASN1_STRING const   *x ) ;
extern ASN1_BIT_STRING *ASN1_BIT_STRING_new(void) ;
extern void ASN1_BIT_STRING_free(ASN1_BIT_STRING *a ) ;
extern ASN1_BIT_STRING *d2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a , unsigned char const   **in ,
                                            long len ) ;
extern int i2d_ASN1_BIT_STRING(ASN1_BIT_STRING *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASN1_BIT_STRING_it ;
extern int ASN1_BIT_STRING_set(ASN1_BIT_STRING *a , unsigned char *d , int length ) ;
extern int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a , int n , int value ) ;
extern int ASN1_BIT_STRING_get_bit(ASN1_BIT_STRING const   *a , int n ) ;
extern int ASN1_BIT_STRING_check(ASN1_BIT_STRING const   *a , unsigned char const   *flags ,
                                 int flags_len ) ;
extern int ASN1_BIT_STRING_name_print(BIO *out , ASN1_BIT_STRING *bs , BIT_STRING_BITNAME *tbl ,
                                      int indent ) ;
extern int ASN1_BIT_STRING_num_asc(char const   *name , BIT_STRING_BITNAME *tbl ) ;
extern int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs , char const   *name , int value ,
                                   BIT_STRING_BITNAME *tbl ) ;
extern ASN1_INTEGER *ASN1_INTEGER_new(void) ;
extern void ASN1_INTEGER_free(ASN1_INTEGER *a ) ;
extern ASN1_INTEGER *d2i_ASN1_INTEGER(ASN1_INTEGER **a , unsigned char const   **in ,
                                      long len ) ;
extern int i2d_ASN1_INTEGER(ASN1_INTEGER *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASN1_INTEGER_it ;
extern ASN1_INTEGER *d2i_ASN1_UINTEGER(ASN1_INTEGER **a , unsigned char const   **pp ,
                                       long length ) ;
extern ASN1_INTEGER *ASN1_INTEGER_dup(ASN1_INTEGER const   *x ) ;
extern int ASN1_INTEGER_cmp(ASN1_INTEGER const   *x , ASN1_INTEGER const   *y ) ;
extern ASN1_ENUMERATED *ASN1_ENUMERATED_new(void) ;
extern void ASN1_ENUMERATED_free(ASN1_ENUMERATED *a ) ;
extern ASN1_ENUMERATED *d2i_ASN1_ENUMERATED(ASN1_ENUMERATED **a , unsigned char const   **in ,
                                            long len ) ;
extern int i2d_ASN1_ENUMERATED(ASN1_ENUMERATED *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASN1_ENUMERATED_it ;
extern int ASN1_UTCTIME_check(ASN1_UTCTIME const   *a ) ;
extern ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s , time_t t ) ;
extern ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s , time_t t , int offset_day ,
                                      long offset_sec ) ;
extern int ASN1_UTCTIME_set_string(ASN1_UTCTIME *s , char const   *str ) ;
extern int ASN1_UTCTIME_cmp_time_t(ASN1_UTCTIME const   *s , time_t t ) ;
extern int ASN1_GENERALIZEDTIME_check(ASN1_GENERALIZEDTIME const   *a ) ;
extern ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s , time_t t ) ;
extern ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s , time_t t ,
                                                      int offset_day , long offset_sec ) ;
extern int ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s , char const   *str ) ;
extern int ASN1_TIME_diff(int *pday , int *psec , ASN1_TIME const   *from , ASN1_TIME const   *to ) ;
extern ASN1_OCTET_STRING *ASN1_OCTET_STRING_new(void) ;
extern void ASN1_OCTET_STRING_free(ASN1_OCTET_STRING *a ) ;
extern ASN1_OCTET_STRING *d2i_ASN1_OCTET_STRING(ASN1_OCTET_STRING **a , unsigned char const   **in ,
                                                long len ) ;
extern int i2d_ASN1_OCTET_STRING(ASN1_OCTET_STRING *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASN1_OCTET_STRING_it ;
extern ASN1_OCTET_STRING *ASN1_OCTET_STRING_dup(ASN1_OCTET_STRING const   *a ) ;
extern int ASN1_OCTET_STRING_cmp(ASN1_OCTET_STRING const   *a , ASN1_OCTET_STRING const   *b ) ;
extern int ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *str , unsigned char const   *data ,
                                 int len ) ;
extern ASN1_VISIBLESTRING *ASN1_VISIBLESTRING_new(void) ;
extern void ASN1_VISIBLESTRING_free(ASN1_VISIBLESTRING *a ) ;
extern ASN1_VISIBLESTRING *d2i_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING **a , unsigned char const   **in ,
                                                  long len ) ;
extern int i2d_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASN1_VISIBLESTRING_it ;
extern ASN1_UNIVERSALSTRING *ASN1_UNIVERSALSTRING_new(void) ;
extern void ASN1_UNIVERSALSTRING_free(ASN1_UNIVERSALSTRING *a ) ;
extern ASN1_UNIVERSALSTRING *d2i_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING **a , unsigned char const   **in ,
                                                      long len ) ;
extern int i2d_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASN1_UNIVERSALSTRING_it ;
extern ASN1_UTF8STRING *ASN1_UTF8STRING_new(void) ;
extern void ASN1_UTF8STRING_free(ASN1_UTF8STRING *a ) ;
extern ASN1_UTF8STRING *d2i_ASN1_UTF8STRING(ASN1_UTF8STRING **a , unsigned char const   **in ,
                                            long len ) ;
extern int i2d_ASN1_UTF8STRING(ASN1_UTF8STRING *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASN1_UTF8STRING_it ;
extern ASN1_NULL *ASN1_NULL_new(void) ;
extern void ASN1_NULL_free(ASN1_NULL *a ) ;
extern ASN1_NULL *d2i_ASN1_NULL(ASN1_NULL **a , unsigned char const   **in , long len ) ;
extern int i2d_ASN1_NULL(ASN1_NULL *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASN1_NULL_it ;
extern ASN1_BMPSTRING *ASN1_BMPSTRING_new(void) ;
extern void ASN1_BMPSTRING_free(ASN1_BMPSTRING *a ) ;
extern ASN1_BMPSTRING *d2i_ASN1_BMPSTRING(ASN1_BMPSTRING **a , unsigned char const   **in ,
                                          long len ) ;
extern int i2d_ASN1_BMPSTRING(ASN1_BMPSTRING *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASN1_BMPSTRING_it ;
extern int UTF8_getc(unsigned char const   *str , int len , unsigned long *val ) ;
extern int UTF8_putc(unsigned char *str , int len , unsigned long value ) ;
extern ASN1_STRING *ASN1_PRINTABLE_new(void) ;
extern void ASN1_PRINTABLE_free(ASN1_STRING *a ) ;
extern ASN1_STRING *d2i_ASN1_PRINTABLE(ASN1_STRING **a , unsigned char const   **in ,
                                       long len ) ;
extern int i2d_ASN1_PRINTABLE(ASN1_STRING *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASN1_PRINTABLE_it ;
extern ASN1_STRING *DIRECTORYSTRING_new(void) ;
extern void DIRECTORYSTRING_free(ASN1_STRING *a ) ;
extern ASN1_STRING *d2i_DIRECTORYSTRING(ASN1_STRING **a , unsigned char const   **in ,
                                        long len ) ;
extern int i2d_DIRECTORYSTRING(ASN1_STRING *a , unsigned char **out ) ;
extern ASN1_ITEM const   DIRECTORYSTRING_it ;
extern ASN1_STRING *DISPLAYTEXT_new(void) ;
extern void DISPLAYTEXT_free(ASN1_STRING *a ) ;
extern ASN1_STRING *d2i_DISPLAYTEXT(ASN1_STRING **a , unsigned char const   **in ,
                                    long len ) ;
extern int i2d_DISPLAYTEXT(ASN1_STRING *a , unsigned char **out ) ;
extern ASN1_ITEM const   DISPLAYTEXT_it ;
extern ASN1_PRINTABLESTRING *ASN1_PRINTABLESTRING_new(void) ;
extern void ASN1_PRINTABLESTRING_free(ASN1_PRINTABLESTRING *a ) ;
extern ASN1_PRINTABLESTRING *d2i_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING **a , unsigned char const   **in ,
                                                      long len ) ;
extern int i2d_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASN1_PRINTABLESTRING_it ;
extern ASN1_T61STRING *ASN1_T61STRING_new(void) ;
extern void ASN1_T61STRING_free(ASN1_T61STRING *a ) ;
extern ASN1_T61STRING *d2i_ASN1_T61STRING(ASN1_T61STRING **a , unsigned char const   **in ,
                                          long len ) ;
extern int i2d_ASN1_T61STRING(ASN1_T61STRING *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASN1_T61STRING_it ;
extern ASN1_IA5STRING *ASN1_IA5STRING_new(void) ;
extern void ASN1_IA5STRING_free(ASN1_IA5STRING *a ) ;
extern ASN1_IA5STRING *d2i_ASN1_IA5STRING(ASN1_IA5STRING **a , unsigned char const   **in ,
                                          long len ) ;
extern int i2d_ASN1_IA5STRING(ASN1_IA5STRING *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASN1_IA5STRING_it ;
extern ASN1_GENERALSTRING *ASN1_GENERALSTRING_new(void) ;
extern void ASN1_GENERALSTRING_free(ASN1_GENERALSTRING *a ) ;
extern ASN1_GENERALSTRING *d2i_ASN1_GENERALSTRING(ASN1_GENERALSTRING **a , unsigned char const   **in ,
                                                  long len ) ;
extern int i2d_ASN1_GENERALSTRING(ASN1_GENERALSTRING *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASN1_GENERALSTRING_it ;
extern ASN1_UTCTIME *ASN1_UTCTIME_new(void) ;
extern void ASN1_UTCTIME_free(ASN1_UTCTIME *a ) ;
extern ASN1_UTCTIME *d2i_ASN1_UTCTIME(ASN1_UTCTIME **a , unsigned char const   **in ,
                                      long len ) ;
extern int i2d_ASN1_UTCTIME(ASN1_UTCTIME *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASN1_UTCTIME_it ;
extern ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_new(void) ;
extern void ASN1_GENERALIZEDTIME_free(ASN1_GENERALIZEDTIME *a ) ;
extern ASN1_GENERALIZEDTIME *d2i_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME **a , unsigned char const   **in ,
                                                      long len ) ;
extern int i2d_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASN1_GENERALIZEDTIME_it ;
extern ASN1_TIME *ASN1_TIME_new(void) ;
extern void ASN1_TIME_free(ASN1_TIME *a ) ;
extern ASN1_TIME *d2i_ASN1_TIME(ASN1_TIME **a , unsigned char const   **in , long len ) ;
extern int i2d_ASN1_TIME(ASN1_TIME *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASN1_TIME_it ;
extern ASN1_ITEM const   ASN1_OCTET_STRING_NDEF_it ;
extern ASN1_TIME *ASN1_TIME_set(ASN1_TIME *s , time_t t ) ;
extern ASN1_TIME *ASN1_TIME_adj(ASN1_TIME *s , time_t t , int offset_day , long offset_sec ) ;
extern int ASN1_TIME_check(ASN1_TIME const   *t ) ;
extern ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME const   *t , ASN1_GENERALIZEDTIME **out ) ;
extern int ASN1_TIME_set_string(ASN1_TIME *s , char const   *str ) ;
extern int ASN1_TIME_set_string_X509(ASN1_TIME *s , char const   *str ) ;
extern int ASN1_TIME_to_tm(ASN1_TIME const   *s , struct tm *tm ) ;
extern int ASN1_TIME_normalize(ASN1_TIME *s ) ;
extern int ASN1_TIME_cmp_time_t(ASN1_TIME const   *s , time_t t ) ;
extern int ASN1_TIME_compare(ASN1_TIME const   *a , ASN1_TIME const   *b ) ;
extern int i2a_ASN1_INTEGER(BIO *bp , ASN1_INTEGER const   *a ) ;
extern int a2i_ASN1_INTEGER(BIO *bp , ASN1_INTEGER *bs , char *buf , int size ) ;
extern int i2a_ASN1_ENUMERATED(BIO *bp , ASN1_ENUMERATED const   *a ) ;
extern int a2i_ASN1_ENUMERATED(BIO *bp , ASN1_ENUMERATED *bs , char *buf , int size ) ;
extern int i2a_ASN1_OBJECT(BIO *bp , ASN1_OBJECT const   *a ) ;
extern int a2i_ASN1_STRING(BIO *bp , ASN1_STRING *bs , char *buf , int size ) ;
extern int i2a_ASN1_STRING(BIO *bp , ASN1_STRING const   *a , int type ) ;
extern int i2t_ASN1_OBJECT(char *buf , int buf_len , ASN1_OBJECT const   *a ) ;
extern int a2d_ASN1_OBJECT(unsigned char *out , int olen , char const   *buf , int num ) ;
extern ASN1_OBJECT *ASN1_OBJECT_create(int nid , unsigned char *data , int len , char const   *sn ,
                                       char const   *ln ) ;
extern int ASN1_INTEGER_get_int64(int64_t *pr , ASN1_INTEGER const   *a ) ;
extern int ASN1_INTEGER_set_int64(ASN1_INTEGER *a , int64_t r ) ;
extern int ASN1_INTEGER_get_uint64(uint64_t *pr , ASN1_INTEGER const   *a ) ;
extern int ASN1_INTEGER_set_uint64(ASN1_INTEGER *a , uint64_t r ) ;
extern int ASN1_INTEGER_set(ASN1_INTEGER *a , long v ) ;
extern long ASN1_INTEGER_get(ASN1_INTEGER const   *a ) ;
extern ASN1_INTEGER *BN_to_ASN1_INTEGER(BIGNUM const   *bn , ASN1_INTEGER *ai ) ;
extern BIGNUM *ASN1_INTEGER_to_BN(ASN1_INTEGER const   *ai , BIGNUM *bn ) ;
extern int ASN1_ENUMERATED_get_int64(int64_t *pr , ASN1_ENUMERATED const   *a ) ;
extern int ASN1_ENUMERATED_set_int64(ASN1_ENUMERATED *a , int64_t r ) ;
extern int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a , long v ) ;
extern long ASN1_ENUMERATED_get(ASN1_ENUMERATED const   *a ) ;
extern ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(BIGNUM const   *bn , ASN1_ENUMERATED *ai ) ;
extern BIGNUM *ASN1_ENUMERATED_to_BN(ASN1_ENUMERATED const   *ai , BIGNUM *bn ) ;
extern int ASN1_PRINTABLE_type(unsigned char const   *s , int max ) ;
extern unsigned long ASN1_tag2bit(int tag ) ;
extern int ASN1_get_object(unsigned char const   **pp , long *plength , int *ptag ,
                           int *pclass , long omax ) ;
extern int ASN1_check_infinite_end(unsigned char **p , long len ) ;
extern int ASN1_const_check_infinite_end(unsigned char const   **p , long len ) ;
extern void ASN1_put_object(unsigned char **pp , int constructed , int length , int tag ,
                            int xclass ) ;
extern int ASN1_put_eoc(unsigned char **pp ) ;
extern int ASN1_object_size(int constructed , int length , int tag ) ;
extern void *ASN1_dup(i2d_of_void *i2d , d2i_of_void *d2i , void *x ) ;
extern void *ASN1_item_dup(ASN1_ITEM const   *it , void *x ) ;
extern void *ASN1_d2i_fp(void *(*xnew)(void) , d2i_of_void *d2i , FILE *in , void **x ) ;
extern void *ASN1_item_d2i_fp(ASN1_ITEM const   *it , FILE *in , void *x ) ;
extern int ASN1_i2d_fp(i2d_of_void *i2d , FILE *out , void *x ) ;
extern int ASN1_item_i2d_fp(ASN1_ITEM const   *it , FILE *out , void *x ) ;
extern int ASN1_STRING_print_ex_fp(FILE *fp , ASN1_STRING const   *str , unsigned long flags ) ;
extern int ASN1_STRING_to_UTF8(unsigned char **out , ASN1_STRING const   *in ) ;
extern void *ASN1_d2i_bio(void *(*xnew)(void) , d2i_of_void *d2i , BIO *in , void **x ) ;
extern void *ASN1_item_d2i_bio(ASN1_ITEM const   *it , BIO *in , void *x ) ;
extern int ASN1_i2d_bio(i2d_of_void *i2d , BIO *out , unsigned char *x ) ;
extern int ASN1_item_i2d_bio(ASN1_ITEM const   *it , BIO *out , void *x ) ;
extern int ASN1_UTCTIME_print(BIO *fp , ASN1_UTCTIME const   *a ) ;
extern int ASN1_GENERALIZEDTIME_print(BIO *fp , ASN1_GENERALIZEDTIME const   *a ) ;
extern int ASN1_TIME_print(BIO *fp , ASN1_TIME const   *a ) ;
extern int ASN1_STRING_print(BIO *bp , ASN1_STRING const   *v ) ;
extern int ASN1_STRING_print_ex(BIO *out , ASN1_STRING const   *str , unsigned long flags ) ;
extern int ASN1_buf_print(BIO *bp , unsigned char const   *buf , size_t buflen , int off ) ;
extern int ASN1_bn_print(BIO *bp , char const   *number , BIGNUM const   *num , unsigned char *buf ,
                         int off ) ;
extern int ASN1_parse(BIO *bp , unsigned char const   *pp , long len , int indent ) ;
extern int ASN1_parse_dump(BIO *bp , unsigned char const   *pp , long len , int indent ,
                           int dump ) ;
extern char const   *ASN1_tag2str(int tag ) ;
extern int ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s ) ;
extern int ASN1_TYPE_set_octetstring(ASN1_TYPE *a , unsigned char *data , int len ) ;
extern int ASN1_TYPE_get_octetstring(ASN1_TYPE const   *a , unsigned char *data ,
                                     int max_len ) ;
extern int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a , long num , unsigned char *data ,
                                         int len ) ;
extern int ASN1_TYPE_get_int_octetstring(ASN1_TYPE const   *a , long *num , unsigned char *data ,
                                         int max_len ) ;
extern void *ASN1_item_unpack(ASN1_STRING const   *oct , ASN1_ITEM const   *it ) ;
extern ASN1_STRING *ASN1_item_pack(void *obj , ASN1_ITEM const   *it , ASN1_OCTET_STRING **oct ) ;
extern void ASN1_STRING_set_default_mask(unsigned long mask ) ;
extern int ASN1_STRING_set_default_mask_asc(char const   *p ) ;
extern unsigned long ASN1_STRING_get_default_mask(void) ;
extern int ASN1_mbstring_copy(ASN1_STRING **out , unsigned char const   *in , int len ,
                              int inform , unsigned long mask ) ;
extern int ASN1_mbstring_ncopy(ASN1_STRING **out , unsigned char const   *in , int len ,
                               int inform , unsigned long mask , long minsize , long maxsize ) ;
extern ASN1_STRING *ASN1_STRING_set_by_NID(ASN1_STRING **out , unsigned char const   *in ,
                                           int inlen , int inform , int nid ) ;
extern ASN1_STRING_TABLE *ASN1_STRING_TABLE_get(int nid ) ;
extern int ASN1_STRING_TABLE_add(int  , long  , long  , unsigned long  , unsigned long  ) ;
extern void ASN1_STRING_TABLE_cleanup(void) ;
extern ASN1_VALUE *ASN1_item_new(ASN1_ITEM const   *it ) ;
extern void ASN1_item_free(ASN1_VALUE *val , ASN1_ITEM const   *it ) ;
extern ASN1_VALUE *ASN1_item_d2i(ASN1_VALUE **val , unsigned char const   **in , long len ,
                                 ASN1_ITEM const   *it ) ;
extern int ASN1_item_i2d(ASN1_VALUE *val , unsigned char **out , ASN1_ITEM const   *it ) ;
extern int ASN1_item_ndef_i2d(ASN1_VALUE *val , unsigned char **out , ASN1_ITEM const   *it ) ;
extern void ASN1_add_oid_module(void) ;
extern void ASN1_add_stable_module(void) ;
extern ASN1_TYPE *ASN1_generate_nconf(char const   *str , CONF *nconf ) ;
extern ASN1_TYPE *ASN1_generate_v3(char const   *str , X509V3_CTX *cnf ) ;
extern int ASN1_str2mask(char const   *str , unsigned long *pmask ) ;
extern int ASN1_item_print(BIO *out , ASN1_VALUE *ifld , int indent , ASN1_ITEM const   *it ,
                           ASN1_PCTX const   *pctx ) ;
extern ASN1_PCTX *ASN1_PCTX_new(void) ;
extern void ASN1_PCTX_free(ASN1_PCTX *p ) ;
extern unsigned long ASN1_PCTX_get_flags(ASN1_PCTX const   *p ) ;
extern void ASN1_PCTX_set_flags(ASN1_PCTX *p , unsigned long flags ) ;
extern unsigned long ASN1_PCTX_get_nm_flags(ASN1_PCTX const   *p ) ;
extern void ASN1_PCTX_set_nm_flags(ASN1_PCTX *p , unsigned long flags ) ;
extern unsigned long ASN1_PCTX_get_cert_flags(ASN1_PCTX const   *p ) ;
extern void ASN1_PCTX_set_cert_flags(ASN1_PCTX *p , unsigned long flags ) ;
extern unsigned long ASN1_PCTX_get_oid_flags(ASN1_PCTX const   *p ) ;
extern void ASN1_PCTX_set_oid_flags(ASN1_PCTX *p , unsigned long flags ) ;
extern unsigned long ASN1_PCTX_get_str_flags(ASN1_PCTX const   *p ) ;
extern void ASN1_PCTX_set_str_flags(ASN1_PCTX *p , unsigned long flags ) ;
extern ASN1_SCTX *ASN1_SCTX_new(int (*scan_cb)(ASN1_SCTX *ctx ) ) ;
extern void ASN1_SCTX_free(ASN1_SCTX *p ) ;
extern ASN1_ITEM const   *ASN1_SCTX_get_item(ASN1_SCTX *p ) ;
extern ASN1_TEMPLATE const   *ASN1_SCTX_get_template(ASN1_SCTX *p ) ;
extern unsigned long ASN1_SCTX_get_flags(ASN1_SCTX *p ) ;
extern void ASN1_SCTX_set_app_data(ASN1_SCTX *p , void *data ) ;
extern void *ASN1_SCTX_get_app_data(ASN1_SCTX *p ) ;
extern BIO_METHOD const   *BIO_f_asn1(void) ;
extern BIO *BIO_new_NDEF(BIO *out , ASN1_VALUE *val , ASN1_ITEM const   *it ) ;
extern int i2d_ASN1_bio_stream(BIO *out , ASN1_VALUE *val , BIO *in , int flags ,
                               ASN1_ITEM const   *it ) ;
extern int PEM_write_bio_ASN1_stream(BIO *out , ASN1_VALUE *val , BIO *in , int flags ,
                                     char const   *hdr , ASN1_ITEM const   *it ) ;
extern int SMIME_write_ASN1(BIO *bio , ASN1_VALUE *val , BIO *data , int flags , int ctype_nid ,
                            int econt_nid , struct stack_st_X509_ALGOR *mdalgs , ASN1_ITEM const   *it ) ;
extern ASN1_VALUE *SMIME_read_ASN1(BIO *bio , BIO **bcont , ASN1_ITEM const   *it ) ;
extern int SMIME_crlf_copy(BIO *in , BIO *out , int flags ) ;
extern int SMIME_text(BIO *in , BIO *out ) ;
extern ASN1_ITEM const   *ASN1_ITEM_lookup(char const   *name ) ;
extern ASN1_ITEM const   *ASN1_ITEM_get(size_t i ) ;
extern int ERR_load_OBJ_strings(void) ;
extern int OBJ_NAME_init(void) ;
extern int OBJ_NAME_new_index(unsigned long (*hash_func)(char const   * ) , int (*cmp_func)(char const   * ,
                                                                                            char const   * ) ,
                              void (*free_func)(char const   * , int  , char const   * ) ) ;
extern char const   *OBJ_NAME_get(char const   *name , int type ) ;
extern int OBJ_NAME_add(char const   *name , int type , char const   *data ) ;
extern int OBJ_NAME_remove(char const   *name , int type ) ;
extern void OBJ_NAME_cleanup(int type ) ;
extern void OBJ_NAME_do_all(int type , void (*fn)(OBJ_NAME const   * , void *arg ) ,
                            void *arg ) ;
extern void OBJ_NAME_do_all_sorted(int type , void (*fn)(OBJ_NAME const   * , void *arg ) ,
                                   void *arg ) ;
extern ASN1_OBJECT *OBJ_dup(ASN1_OBJECT const   *o ) ;
extern ASN1_OBJECT *OBJ_nid2obj(int n ) ;
extern char const   *OBJ_nid2ln(int n ) ;
extern char const   *OBJ_nid2sn(int n ) ;
extern int OBJ_obj2nid(ASN1_OBJECT const   *o ) ;
extern ASN1_OBJECT *OBJ_txt2obj(char const   *s , int no_name ) ;
extern int OBJ_obj2txt(char *buf , int buf_len , ASN1_OBJECT const   *a , int no_name ) ;
extern int OBJ_txt2nid(char const   *s ) ;
extern int OBJ_ln2nid(char const   *s ) ;
extern int OBJ_sn2nid(char const   *s ) ;
extern int OBJ_cmp(ASN1_OBJECT const   *a , ASN1_OBJECT const   *b ) ;
extern void const   *OBJ_bsearch_(void const   *key , void const   *base , int num ,
                                  int size , int (*cmp)(void const   * , void const   * ) ) ;
extern void const   *OBJ_bsearch_ex_(void const   *key , void const   *base , int num ,
                                     int size , int (*cmp)(void const   * , void const   * ) ,
                                     int flags ) ;
extern int OBJ_new_nid(int num ) ;
extern int OBJ_add_object(ASN1_OBJECT const   *obj ) ;
extern int OBJ_create(char const   *oid , char const   *sn , char const   *ln ) ;
extern int OBJ_create_objects(BIO *in ) ;
extern size_t OBJ_length(ASN1_OBJECT const   *obj ) ;
extern unsigned char const   *OBJ_get0_data(ASN1_OBJECT const   *obj ) ;
extern int OBJ_find_sigid_algs(int signid , int *pdig_nid , int *ppkey_nid ) ;
extern int OBJ_find_sigid_by_algs(int *psignid , int dig_nid , int pkey_nid ) ;
extern int OBJ_add_sigid(int signid , int dig_id , int pkey_id ) ;
extern void OBJ_sigid_free(void) ;
extern EVP_MD *EVP_MD_meth_new(int md_type , int pkey_type ) ;
extern EVP_MD *EVP_MD_meth_dup(EVP_MD const   *md ) ;
extern void EVP_MD_meth_free(EVP_MD *md ) ;
extern int EVP_MD_meth_set_input_blocksize(EVP_MD *md , int blocksize ) ;
extern int EVP_MD_meth_set_result_size(EVP_MD *md , int resultsize ) ;
extern int EVP_MD_meth_set_app_datasize(EVP_MD *md , int datasize ) ;
extern int EVP_MD_meth_set_flags(EVP_MD *md , unsigned long flags ) ;
extern int EVP_MD_meth_set_init(EVP_MD *md , int (*init)(EVP_MD_CTX *ctx ) ) ;
extern int EVP_MD_meth_set_update(EVP_MD *md , int (*update)(EVP_MD_CTX *ctx , void const   *data ,
                                                             size_t count ) ) ;
extern int EVP_MD_meth_set_final(EVP_MD *md , int (*final)(EVP_MD_CTX *ctx , unsigned char *md ) ) ;
extern int EVP_MD_meth_set_copy(EVP_MD *md , int (*copy)(EVP_MD_CTX *to , EVP_MD_CTX const   *from ) ) ;
extern int EVP_MD_meth_set_cleanup(EVP_MD *md , int (*cleanup)(EVP_MD_CTX *ctx ) ) ;
extern int EVP_MD_meth_set_ctrl(EVP_MD *md , int (*ctrl)(EVP_MD_CTX *ctx , int cmd ,
                                                         int p1 , void *p2 ) ) ;
extern int EVP_MD_meth_get_input_blocksize(EVP_MD const   *md ) ;
extern int EVP_MD_meth_get_result_size(EVP_MD const   *md ) ;
extern int EVP_MD_meth_get_app_datasize(EVP_MD const   *md ) ;
extern unsigned long EVP_MD_meth_get_flags(EVP_MD const   *md ) ;
extern int (*EVP_MD_meth_get_init(EVP_MD const   *md ))(EVP_MD_CTX *ctx ) ;
extern int (*EVP_MD_meth_get_update(EVP_MD const   *md ))(EVP_MD_CTX *ctx , void const   *data ,
                                                          size_t count ) ;
extern int (*EVP_MD_meth_get_final(EVP_MD const   *md ))(EVP_MD_CTX *ctx , unsigned char *md ) ;
extern int (*EVP_MD_meth_get_copy(EVP_MD const   *md ))(EVP_MD_CTX *to , EVP_MD_CTX const   *from ) ;
extern int (*EVP_MD_meth_get_cleanup(EVP_MD const   *md ))(EVP_MD_CTX *ctx ) ;
extern int (*EVP_MD_meth_get_ctrl(EVP_MD const   *md ))(EVP_MD_CTX *ctx , int cmd ,
                                                        int p1 , void *p2 ) ;
extern EVP_CIPHER *EVP_CIPHER_meth_new(int cipher_type , int block_size , int key_len ) ;
extern EVP_CIPHER *EVP_CIPHER_meth_dup(EVP_CIPHER const   *cipher ) ;
extern void EVP_CIPHER_meth_free(EVP_CIPHER *cipher ) ;
extern int EVP_CIPHER_meth_set_iv_length(EVP_CIPHER *cipher , int iv_len ) ;
extern int EVP_CIPHER_meth_set_flags(EVP_CIPHER *cipher , unsigned long flags ) ;
extern int EVP_CIPHER_meth_set_impl_ctx_size(EVP_CIPHER *cipher , int ctx_size ) ;
extern int EVP_CIPHER_meth_set_init(EVP_CIPHER *cipher , int (*init)(EVP_CIPHER_CTX *ctx ,
                                                                     unsigned char const   *key ,
                                                                     unsigned char const   *iv ,
                                                                     int enc ) ) ;
extern int EVP_CIPHER_meth_set_do_cipher(EVP_CIPHER *cipher , int (*do_cipher)(EVP_CIPHER_CTX *ctx ,
                                                                               unsigned char *out ,
                                                                               unsigned char const   *in ,
                                                                               size_t inl ) ) ;
extern int EVP_CIPHER_meth_set_cleanup(EVP_CIPHER *cipher , int (*cleanup)(EVP_CIPHER_CTX * ) ) ;
extern int EVP_CIPHER_meth_set_set_asn1_params(EVP_CIPHER *cipher , int (*set_asn1_parameters)(EVP_CIPHER_CTX * ,
                                                                                               ASN1_TYPE * ) ) ;
extern int EVP_CIPHER_meth_set_get_asn1_params(EVP_CIPHER *cipher , int (*get_asn1_parameters)(EVP_CIPHER_CTX * ,
                                                                                               ASN1_TYPE * ) ) ;
extern int EVP_CIPHER_meth_set_ctrl(EVP_CIPHER *cipher , int (*ctrl)(EVP_CIPHER_CTX * ,
                                                                     int type , int arg ,
                                                                     void *ptr ) ) ;
extern int (*EVP_CIPHER_meth_get_init(EVP_CIPHER const   *cipher ))(EVP_CIPHER_CTX *ctx ,
                                                                    unsigned char const   *key ,
                                                                    unsigned char const   *iv ,
                                                                    int enc ) ;
extern int (*EVP_CIPHER_meth_get_do_cipher(EVP_CIPHER const   *cipher ))(EVP_CIPHER_CTX *ctx ,
                                                                         unsigned char *out ,
                                                                         unsigned char const   *in ,
                                                                         size_t inl ) ;
extern int (*EVP_CIPHER_meth_get_cleanup(EVP_CIPHER const   *cipher ))(EVP_CIPHER_CTX * ) ;
extern int (*EVP_CIPHER_meth_get_set_asn1_params(EVP_CIPHER const   *cipher ))(EVP_CIPHER_CTX * ,
                                                                               ASN1_TYPE * ) ;
extern int (*EVP_CIPHER_meth_get_get_asn1_params(EVP_CIPHER const   *cipher ))(EVP_CIPHER_CTX * ,
                                                                               ASN1_TYPE * ) ;
extern int (*EVP_CIPHER_meth_get_ctrl(EVP_CIPHER const   *cipher ))(EVP_CIPHER_CTX * ,
                                                                    int type , int arg ,
                                                                    void *ptr ) ;
extern int EVP_MD_type(EVP_MD const   *md ) ;
extern int EVP_MD_pkey_type(EVP_MD const   *md ) ;
extern int EVP_MD_size(EVP_MD const   *md ) ;
extern int EVP_MD_block_size(EVP_MD const   *md ) ;
extern unsigned long EVP_MD_flags(EVP_MD const   *md ) ;
extern EVP_MD const   *EVP_MD_CTX_md(EVP_MD_CTX const   *ctx ) ;
extern int (*EVP_MD_CTX_update_fn(EVP_MD_CTX *ctx ))(EVP_MD_CTX *ctx , void const   *data ,
                                                     size_t count ) ;
extern void EVP_MD_CTX_set_update_fn(EVP_MD_CTX *ctx , int (*update)(EVP_MD_CTX *ctx ,
                                                                     void const   *data ,
                                                                     size_t count ) ) ;
extern EVP_PKEY_CTX *EVP_MD_CTX_pkey_ctx(EVP_MD_CTX const   *ctx ) ;
extern void EVP_MD_CTX_set_pkey_ctx(EVP_MD_CTX *ctx , EVP_PKEY_CTX *pctx ) ;
extern void *EVP_MD_CTX_md_data(EVP_MD_CTX const   *ctx ) ;
extern int EVP_CIPHER_nid(EVP_CIPHER const   *cipher ) ;
extern int EVP_CIPHER_block_size(EVP_CIPHER const   *cipher ) ;
extern int EVP_CIPHER_impl_ctx_size(EVP_CIPHER const   *cipher ) ;
extern int EVP_CIPHER_key_length(EVP_CIPHER const   *cipher ) ;
extern int EVP_CIPHER_iv_length(EVP_CIPHER const   *cipher ) ;
extern unsigned long EVP_CIPHER_flags(EVP_CIPHER const   *cipher ) ;
extern EVP_CIPHER const   *EVP_CIPHER_CTX_cipher(EVP_CIPHER_CTX const   *ctx ) ;
extern int EVP_CIPHER_CTX_encrypting(EVP_CIPHER_CTX const   *ctx ) ;
extern int EVP_CIPHER_CTX_nid(EVP_CIPHER_CTX const   *ctx ) ;
extern int EVP_CIPHER_CTX_block_size(EVP_CIPHER_CTX const   *ctx ) ;
extern int EVP_CIPHER_CTX_key_length(EVP_CIPHER_CTX const   *ctx ) ;
extern int EVP_CIPHER_CTX_iv_length(EVP_CIPHER_CTX const   *ctx ) ;
extern unsigned char const   *EVP_CIPHER_CTX_iv(EVP_CIPHER_CTX const   *ctx ) ;
extern unsigned char const   *EVP_CIPHER_CTX_original_iv(EVP_CIPHER_CTX const   *ctx ) ;
extern unsigned char *EVP_CIPHER_CTX_iv_noconst(EVP_CIPHER_CTX *ctx ) ;
extern unsigned char *EVP_CIPHER_CTX_buf_noconst(EVP_CIPHER_CTX *ctx ) ;
extern int EVP_CIPHER_CTX_num(EVP_CIPHER_CTX const   *ctx ) ;
extern void EVP_CIPHER_CTX_set_num(EVP_CIPHER_CTX *ctx , int num ) ;
extern int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out , EVP_CIPHER_CTX const   *in ) ;
extern void *EVP_CIPHER_CTX_get_app_data(EVP_CIPHER_CTX const   *ctx ) ;
extern void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx , void *data ) ;
extern void *EVP_CIPHER_CTX_get_cipher_data(EVP_CIPHER_CTX const   *ctx ) ;
extern void *EVP_CIPHER_CTX_set_cipher_data(EVP_CIPHER_CTX *ctx , void *cipher_data ) ;
extern int EVP_Cipher(EVP_CIPHER_CTX *c , unsigned char *out , unsigned char const   *in ,
                      unsigned int inl ) ;
extern int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx , int cmd , int p1 , void *p2 ) ;
extern EVP_MD_CTX *EVP_MD_CTX_new(void) ;
extern int EVP_MD_CTX_reset(EVP_MD_CTX *ctx ) ;
extern void EVP_MD_CTX_free(EVP_MD_CTX *ctx ) ;
extern int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out , EVP_MD_CTX const   *in ) ;
extern void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx , int flags ) ;
extern void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx , int flags ) ;
extern int EVP_MD_CTX_test_flags(EVP_MD_CTX const   *ctx , int flags ) ;
extern int EVP_DigestInit_ex(EVP_MD_CTX *ctx , EVP_MD const   *type , ENGINE *impl ) ;
extern int EVP_DigestUpdate(EVP_MD_CTX *ctx , void const   *d , size_t cnt ) ;
extern int EVP_DigestFinal_ex(EVP_MD_CTX *ctx , unsigned char *md , unsigned int *s ) ;
extern int EVP_Digest(void const   *data , size_t count , unsigned char *md , unsigned int *size ,
                      EVP_MD const   *type , ENGINE *impl ) ;
extern int EVP_MD_CTX_copy(EVP_MD_CTX *out , EVP_MD_CTX const   *in ) ;
extern int EVP_DigestInit(EVP_MD_CTX *ctx , EVP_MD const   *type ) ;
extern int EVP_DigestFinal(EVP_MD_CTX *ctx , unsigned char *md , unsigned int *s ) ;
extern int EVP_DigestFinalXOF(EVP_MD_CTX *ctx , unsigned char *md , size_t len ) ;
extern int EVP_read_pw_string(char *buf , int length , char const   *prompt , int verify ) ;
extern int EVP_read_pw_string_min(char *buf , int minlen , int maxlen , char const   *prompt ,
                                  int verify ) ;
extern void EVP_set_pw_prompt(char const   *prompt ) ;
extern char *EVP_get_pw_prompt(void) ;
extern int EVP_BytesToKey(EVP_CIPHER const   *type , EVP_MD const   *md , unsigned char const   *salt ,
                          unsigned char const   *data , int datal , int count , unsigned char *key ,
                          unsigned char *iv ) ;
extern void EVP_CIPHER_CTX_set_flags(EVP_CIPHER_CTX *ctx , int flags ) ;
extern void EVP_CIPHER_CTX_clear_flags(EVP_CIPHER_CTX *ctx , int flags ) ;
extern int EVP_CIPHER_CTX_test_flags(EVP_CIPHER_CTX const   *ctx , int flags ) ;
extern int EVP_EncryptInit(EVP_CIPHER_CTX *ctx , EVP_CIPHER const   *cipher , unsigned char const   *key ,
                           unsigned char const   *iv ) ;
extern int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx , EVP_CIPHER const   *cipher , ENGINE *impl ,
                              unsigned char const   *key , unsigned char const   *iv ) ;
extern int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx , unsigned char *out , int *outl ,
                             unsigned char const   *in , int inl ) ;
extern int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx , unsigned char *out , int *outl ) ;
extern int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx , unsigned char *out , int *outl ) ;
extern int EVP_DecryptInit(EVP_CIPHER_CTX *ctx , EVP_CIPHER const   *cipher , unsigned char const   *key ,
                           unsigned char const   *iv ) ;
extern int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx , EVP_CIPHER const   *cipher , ENGINE *impl ,
                              unsigned char const   *key , unsigned char const   *iv ) ;
extern int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx , unsigned char *out , int *outl ,
                             unsigned char const   *in , int inl ) ;
extern int EVP_DecryptFinal(EVP_CIPHER_CTX *ctx , unsigned char *outm , int *outl ) ;
extern int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx , unsigned char *outm , int *outl ) ;
extern int EVP_CipherInit(EVP_CIPHER_CTX *ctx , EVP_CIPHER const   *cipher , unsigned char const   *key ,
                          unsigned char const   *iv , int enc ) ;
extern int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx , EVP_CIPHER const   *cipher , ENGINE *impl ,
                             unsigned char const   *key , unsigned char const   *iv ,
                             int enc ) ;
extern int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx , unsigned char *out , int *outl ,
                            unsigned char const   *in , int inl ) ;
extern int EVP_CipherFinal(EVP_CIPHER_CTX *ctx , unsigned char *outm , int *outl ) ;
extern int EVP_CipherFinal_ex(EVP_CIPHER_CTX *ctx , unsigned char *outm , int *outl ) ;
extern int EVP_SignFinal(EVP_MD_CTX *ctx , unsigned char *md , unsigned int *s , EVP_PKEY *pkey ) ;
extern int EVP_DigestSign(EVP_MD_CTX *ctx , unsigned char *sigret , size_t *siglen ,
                          unsigned char const   *tbs , size_t tbslen ) ;
extern int EVP_VerifyFinal(EVP_MD_CTX *ctx , unsigned char const   *sigbuf , unsigned int siglen ,
                           EVP_PKEY *pkey ) ;
extern int EVP_DigestVerify(EVP_MD_CTX *ctx , unsigned char const   *sigret , size_t siglen ,
                            unsigned char const   *tbs , size_t tbslen ) ;
extern int EVP_DigestSignInit(EVP_MD_CTX *ctx , EVP_PKEY_CTX **pctx , EVP_MD const   *type ,
                              ENGINE *e , EVP_PKEY *pkey ) ;
extern int EVP_DigestSignFinal(EVP_MD_CTX *ctx , unsigned char *sigret , size_t *siglen ) ;
extern int EVP_DigestVerifyInit(EVP_MD_CTX *ctx , EVP_PKEY_CTX **pctx , EVP_MD const   *type ,
                                ENGINE *e , EVP_PKEY *pkey ) ;
extern int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx , unsigned char const   *sig , size_t siglen ) ;
extern int EVP_OpenInit(EVP_CIPHER_CTX *ctx , EVP_CIPHER const   *type , unsigned char const   *ek ,
                        int ekl , unsigned char const   *iv , EVP_PKEY *priv ) ;
extern int EVP_OpenFinal(EVP_CIPHER_CTX *ctx , unsigned char *out , int *outl ) ;
extern int EVP_SealInit(EVP_CIPHER_CTX *ctx , EVP_CIPHER const   *type , unsigned char **ek ,
                        int *ekl , unsigned char *iv , EVP_PKEY **pubk , int npubk ) ;
extern int EVP_SealFinal(EVP_CIPHER_CTX *ctx , unsigned char *out , int *outl ) ;
extern EVP_ENCODE_CTX *EVP_ENCODE_CTX_new(void) ;
extern void EVP_ENCODE_CTX_free(EVP_ENCODE_CTX *ctx ) ;
extern int EVP_ENCODE_CTX_copy(EVP_ENCODE_CTX *dctx , EVP_ENCODE_CTX *sctx ) ;
extern int EVP_ENCODE_CTX_num(EVP_ENCODE_CTX *ctx ) ;
extern void EVP_EncodeInit(EVP_ENCODE_CTX *ctx ) ;
extern int EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx , unsigned char *out , int *outl ,
                            unsigned char const   *in , int inl ) ;
extern void EVP_EncodeFinal(EVP_ENCODE_CTX *ctx , unsigned char *out , int *outl ) ;
extern int EVP_EncodeBlock(unsigned char *t , unsigned char const   *f , int n ) ;
extern void EVP_DecodeInit(EVP_ENCODE_CTX *ctx ) ;
extern int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx , unsigned char *out , int *outl ,
                            unsigned char const   *in , int inl ) ;
extern int EVP_DecodeFinal(EVP_ENCODE_CTX *ctx , unsigned char *out , int *outl ) ;
extern int EVP_DecodeBlock(unsigned char *t , unsigned char const   *f , int n ) ;
extern EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void) ;
extern int EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *c ) ;
extern void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *c ) ;
extern int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x , int keylen ) ;
extern int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *c , int pad ) ;
extern int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx , int type , int arg , void *ptr ) ;
extern int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx , unsigned char *key ) ;
extern BIO_METHOD const   *BIO_f_md(void) ;
extern BIO_METHOD const   *BIO_f_base64(void) ;
extern BIO_METHOD const   *BIO_f_cipher(void) ;
extern BIO_METHOD const   *BIO_f_reliable(void) ;
extern int BIO_set_cipher(BIO *b , EVP_CIPHER const   *c , unsigned char const   *k ,
                          unsigned char const   *i , int enc ) ;
extern EVP_MD const   *EVP_md_null(void) ;
extern EVP_MD const   *EVP_md4(void) ;
extern EVP_MD const   *EVP_md5(void) ;
extern EVP_MD const   *EVP_md5_sha1(void) ;
extern EVP_MD const   *EVP_blake2b512(void) ;
extern EVP_MD const   *EVP_blake2s256(void) ;
extern EVP_MD const   *EVP_sha1(void) ;
extern EVP_MD const   *EVP_sha224(void) ;
extern EVP_MD const   *EVP_sha256(void) ;
extern EVP_MD const   *EVP_sha384(void) ;
extern EVP_MD const   *EVP_sha512(void) ;
extern EVP_MD const   *EVP_sha512_224(void) ;
extern EVP_MD const   *EVP_sha512_256(void) ;
extern EVP_MD const   *EVP_sha3_224(void) ;
extern EVP_MD const   *EVP_sha3_256(void) ;
extern EVP_MD const   *EVP_sha3_384(void) ;
extern EVP_MD const   *EVP_sha3_512(void) ;
extern EVP_MD const   *EVP_shake128(void) ;
extern EVP_MD const   *EVP_shake256(void) ;
extern EVP_MD const   *EVP_ripemd160(void) ;
extern EVP_MD const   *EVP_whirlpool(void) ;
extern EVP_MD const   *EVP_sm3(void) ;
extern EVP_CIPHER const   *EVP_enc_null(void) ;
extern EVP_CIPHER const   *EVP_des_ecb(void) ;
extern EVP_CIPHER const   *EVP_des_ede(void) ;
extern EVP_CIPHER const   *EVP_des_ede3(void) ;
extern EVP_CIPHER const   *EVP_des_ede_ecb(void) ;
extern EVP_CIPHER const   *EVP_des_ede3_ecb(void) ;
extern EVP_CIPHER const   *EVP_des_cfb64(void) ;
extern EVP_CIPHER const   *EVP_des_cfb1(void) ;
extern EVP_CIPHER const   *EVP_des_cfb8(void) ;
extern EVP_CIPHER const   *EVP_des_ede_cfb64(void) ;
extern EVP_CIPHER const   *EVP_des_ede3_cfb64(void) ;
extern EVP_CIPHER const   *EVP_des_ede3_cfb1(void) ;
extern EVP_CIPHER const   *EVP_des_ede3_cfb8(void) ;
extern EVP_CIPHER const   *EVP_des_ofb(void) ;
extern EVP_CIPHER const   *EVP_des_ede_ofb(void) ;
extern EVP_CIPHER const   *EVP_des_ede3_ofb(void) ;
extern EVP_CIPHER const   *EVP_des_cbc(void) ;
extern EVP_CIPHER const   *EVP_des_ede_cbc(void) ;
extern EVP_CIPHER const   *EVP_des_ede3_cbc(void) ;
extern EVP_CIPHER const   *EVP_desx_cbc(void) ;
extern EVP_CIPHER const   *EVP_des_ede3_wrap(void) ;
extern EVP_CIPHER const   *EVP_rc4(void) ;
extern EVP_CIPHER const   *EVP_rc4_40(void) ;
extern EVP_CIPHER const   *EVP_rc4_hmac_md5(void) ;
extern EVP_CIPHER const   *EVP_rc2_ecb(void) ;
extern EVP_CIPHER const   *EVP_rc2_cbc(void) ;
extern EVP_CIPHER const   *EVP_rc2_40_cbc(void) ;
extern EVP_CIPHER const   *EVP_rc2_64_cbc(void) ;
extern EVP_CIPHER const   *EVP_rc2_cfb64(void) ;
extern EVP_CIPHER const   *EVP_rc2_ofb(void) ;
extern EVP_CIPHER const   *EVP_bf_ecb(void) ;
extern EVP_CIPHER const   *EVP_bf_cbc(void) ;
extern EVP_CIPHER const   *EVP_bf_cfb64(void) ;
extern EVP_CIPHER const   *EVP_bf_ofb(void) ;
extern EVP_CIPHER const   *EVP_cast5_ecb(void) ;
extern EVP_CIPHER const   *EVP_cast5_cbc(void) ;
extern EVP_CIPHER const   *EVP_cast5_cfb64(void) ;
extern EVP_CIPHER const   *EVP_cast5_ofb(void) ;
extern EVP_CIPHER const   *EVP_aes_128_ecb(void) ;
extern EVP_CIPHER const   *EVP_aes_128_cbc(void) ;
extern EVP_CIPHER const   *EVP_aes_128_cfb1(void) ;
extern EVP_CIPHER const   *EVP_aes_128_cfb8(void) ;
extern EVP_CIPHER const   *EVP_aes_128_cfb128(void) ;
extern EVP_CIPHER const   *EVP_aes_128_ofb(void) ;
extern EVP_CIPHER const   *EVP_aes_128_ctr(void) ;
extern EVP_CIPHER const   *EVP_aes_128_ccm(void) ;
extern EVP_CIPHER const   *EVP_aes_128_gcm(void) ;
extern EVP_CIPHER const   *EVP_aes_128_xts(void) ;
extern EVP_CIPHER const   *EVP_aes_128_wrap(void) ;
extern EVP_CIPHER const   *EVP_aes_128_wrap_pad(void) ;
extern EVP_CIPHER const   *EVP_aes_128_ocb(void) ;
extern EVP_CIPHER const   *EVP_aes_192_ecb(void) ;
extern EVP_CIPHER const   *EVP_aes_192_cbc(void) ;
extern EVP_CIPHER const   *EVP_aes_192_cfb1(void) ;
extern EVP_CIPHER const   *EVP_aes_192_cfb8(void) ;
extern EVP_CIPHER const   *EVP_aes_192_cfb128(void) ;
extern EVP_CIPHER const   *EVP_aes_192_ofb(void) ;
extern EVP_CIPHER const   *EVP_aes_192_ctr(void) ;
extern EVP_CIPHER const   *EVP_aes_192_ccm(void) ;
extern EVP_CIPHER const   *EVP_aes_192_gcm(void) ;
extern EVP_CIPHER const   *EVP_aes_192_wrap(void) ;
extern EVP_CIPHER const   *EVP_aes_192_wrap_pad(void) ;
extern EVP_CIPHER const   *EVP_aes_192_ocb(void) ;
extern EVP_CIPHER const   *EVP_aes_256_ecb(void) ;
extern EVP_CIPHER const   *EVP_aes_256_cbc(void) ;
extern EVP_CIPHER const   *EVP_aes_256_cfb1(void) ;
extern EVP_CIPHER const   *EVP_aes_256_cfb8(void) ;
extern EVP_CIPHER const   *EVP_aes_256_cfb128(void) ;
extern EVP_CIPHER const   *EVP_aes_256_ofb(void) ;
extern EVP_CIPHER const   *EVP_aes_256_ctr(void) ;
extern EVP_CIPHER const   *EVP_aes_256_ccm(void) ;
extern EVP_CIPHER const   *EVP_aes_256_gcm(void) ;
extern EVP_CIPHER const   *EVP_aes_256_xts(void) ;
extern EVP_CIPHER const   *EVP_aes_256_wrap(void) ;
extern EVP_CIPHER const   *EVP_aes_256_wrap_pad(void) ;
extern EVP_CIPHER const   *EVP_aes_256_ocb(void) ;
extern EVP_CIPHER const   *EVP_aes_128_cbc_hmac_sha1(void) ;
extern EVP_CIPHER const   *EVP_aes_256_cbc_hmac_sha1(void) ;
extern EVP_CIPHER const   *EVP_aes_128_cbc_hmac_sha256(void) ;
extern EVP_CIPHER const   *EVP_aes_256_cbc_hmac_sha256(void) ;
extern EVP_CIPHER const   *EVP_aria_128_ecb(void) ;
extern EVP_CIPHER const   *EVP_aria_128_cbc(void) ;
extern EVP_CIPHER const   *EVP_aria_128_cfb1(void) ;
extern EVP_CIPHER const   *EVP_aria_128_cfb8(void) ;
extern EVP_CIPHER const   *EVP_aria_128_cfb128(void) ;
extern EVP_CIPHER const   *EVP_aria_128_ctr(void) ;
extern EVP_CIPHER const   *EVP_aria_128_ofb(void) ;
extern EVP_CIPHER const   *EVP_aria_128_gcm(void) ;
extern EVP_CIPHER const   *EVP_aria_128_ccm(void) ;
extern EVP_CIPHER const   *EVP_aria_192_ecb(void) ;
extern EVP_CIPHER const   *EVP_aria_192_cbc(void) ;
extern EVP_CIPHER const   *EVP_aria_192_cfb1(void) ;
extern EVP_CIPHER const   *EVP_aria_192_cfb8(void) ;
extern EVP_CIPHER const   *EVP_aria_192_cfb128(void) ;
extern EVP_CIPHER const   *EVP_aria_192_ctr(void) ;
extern EVP_CIPHER const   *EVP_aria_192_ofb(void) ;
extern EVP_CIPHER const   *EVP_aria_192_gcm(void) ;
extern EVP_CIPHER const   *EVP_aria_192_ccm(void) ;
extern EVP_CIPHER const   *EVP_aria_256_ecb(void) ;
extern EVP_CIPHER const   *EVP_aria_256_cbc(void) ;
extern EVP_CIPHER const   *EVP_aria_256_cfb1(void) ;
extern EVP_CIPHER const   *EVP_aria_256_cfb8(void) ;
extern EVP_CIPHER const   *EVP_aria_256_cfb128(void) ;
extern EVP_CIPHER const   *EVP_aria_256_ctr(void) ;
extern EVP_CIPHER const   *EVP_aria_256_ofb(void) ;
extern EVP_CIPHER const   *EVP_aria_256_gcm(void) ;
extern EVP_CIPHER const   *EVP_aria_256_ccm(void) ;
extern EVP_CIPHER const   *EVP_camellia_128_ecb(void) ;
extern EVP_CIPHER const   *EVP_camellia_128_cbc(void) ;
extern EVP_CIPHER const   *EVP_camellia_128_cfb1(void) ;
extern EVP_CIPHER const   *EVP_camellia_128_cfb8(void) ;
extern EVP_CIPHER const   *EVP_camellia_128_cfb128(void) ;
extern EVP_CIPHER const   *EVP_camellia_128_ofb(void) ;
extern EVP_CIPHER const   *EVP_camellia_128_ctr(void) ;
extern EVP_CIPHER const   *EVP_camellia_192_ecb(void) ;
extern EVP_CIPHER const   *EVP_camellia_192_cbc(void) ;
extern EVP_CIPHER const   *EVP_camellia_192_cfb1(void) ;
extern EVP_CIPHER const   *EVP_camellia_192_cfb8(void) ;
extern EVP_CIPHER const   *EVP_camellia_192_cfb128(void) ;
extern EVP_CIPHER const   *EVP_camellia_192_ofb(void) ;
extern EVP_CIPHER const   *EVP_camellia_192_ctr(void) ;
extern EVP_CIPHER const   *EVP_camellia_256_ecb(void) ;
extern EVP_CIPHER const   *EVP_camellia_256_cbc(void) ;
extern EVP_CIPHER const   *EVP_camellia_256_cfb1(void) ;
extern EVP_CIPHER const   *EVP_camellia_256_cfb8(void) ;
extern EVP_CIPHER const   *EVP_camellia_256_cfb128(void) ;
extern EVP_CIPHER const   *EVP_camellia_256_ofb(void) ;
extern EVP_CIPHER const   *EVP_camellia_256_ctr(void) ;
extern EVP_CIPHER const   *EVP_chacha20(void) ;
extern EVP_CIPHER const   *EVP_chacha20_poly1305(void) ;
extern EVP_CIPHER const   *EVP_seed_ecb(void) ;
extern EVP_CIPHER const   *EVP_seed_cbc(void) ;
extern EVP_CIPHER const   *EVP_seed_cfb128(void) ;
extern EVP_CIPHER const   *EVP_seed_ofb(void) ;
extern EVP_CIPHER const   *EVP_sm4_ecb(void) ;
extern EVP_CIPHER const   *EVP_sm4_cbc(void) ;
extern EVP_CIPHER const   *EVP_sm4_cfb128(void) ;
extern EVP_CIPHER const   *EVP_sm4_ofb(void) ;
extern EVP_CIPHER const   *EVP_sm4_ctr(void) ;
extern int EVP_add_cipher(EVP_CIPHER const   *cipher ) ;
extern int EVP_add_digest(EVP_MD const   *digest ) ;
extern EVP_CIPHER const   *EVP_get_cipherbyname(char const   *name ) ;
extern EVP_MD const   *EVP_get_digestbyname(char const   *name ) ;
extern void EVP_CIPHER_do_all(void (*fn)(EVP_CIPHER const   *ciph , char const   *from ,
                                         char const   *to , void *x ) , void *arg ) ;
extern void EVP_CIPHER_do_all_sorted(void (*fn)(EVP_CIPHER const   *ciph , char const   *from ,
                                                char const   *to , void *x ) , void *arg ) ;
extern void EVP_MD_do_all(void (*fn)(EVP_MD const   *ciph , char const   *from , char const   *to ,
                                     void *x ) , void *arg ) ;
extern void EVP_MD_do_all_sorted(void (*fn)(EVP_MD const   *ciph , char const   *from ,
                                            char const   *to , void *x ) , void *arg ) ;
extern int EVP_PKEY_decrypt_old(unsigned char *dec_key , unsigned char const   *enc_key ,
                                int enc_key_len , EVP_PKEY *private_key ) ;
extern int EVP_PKEY_encrypt_old(unsigned char *enc_key , unsigned char const   *key ,
                                int key_len , EVP_PKEY *pub_key ) ;
extern int EVP_PKEY_type(int type ) ;
extern int EVP_PKEY_id(EVP_PKEY const   *pkey ) ;
extern int EVP_PKEY_base_id(EVP_PKEY const   *pkey ) ;
extern int EVP_PKEY_bits(EVP_PKEY const   *pkey ) ;
extern int EVP_PKEY_security_bits(EVP_PKEY const   *pkey ) ;
extern int EVP_PKEY_size(EVP_PKEY *pkey ) ;
extern int EVP_PKEY_set_type(EVP_PKEY *pkey , int type ) ;
extern int EVP_PKEY_set_type_str(EVP_PKEY *pkey , char const   *str , int len ) ;
extern int EVP_PKEY_set_alias_type(EVP_PKEY *pkey , int type ) ;
extern int EVP_PKEY_set1_engine(EVP_PKEY *pkey , ENGINE *e ) ;
extern int EVP_PKEY_assign(EVP_PKEY *pkey , int type , void *key ) ;
extern void *EVP_PKEY_get0(EVP_PKEY const   *pkey ) ;
extern unsigned char const   *EVP_PKEY_get0_hmac(EVP_PKEY const   *pkey , size_t *len ) ;
extern unsigned char const   *EVP_PKEY_get0_poly1305(EVP_PKEY const   *pkey , size_t *len ) ;
extern unsigned char const   *EVP_PKEY_get0_siphash(EVP_PKEY const   *pkey , size_t *len ) ;
extern int EVP_PKEY_set1_RSA(EVP_PKEY *pkey , struct rsa_st *key ) ;
extern struct rsa_st *EVP_PKEY_get0_RSA(EVP_PKEY *pkey ) ;
extern struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey ) ;
extern int EVP_PKEY_set1_DSA(EVP_PKEY *pkey , struct dsa_st *key ) ;
extern struct dsa_st *EVP_PKEY_get0_DSA(EVP_PKEY *pkey ) ;
extern struct dsa_st *EVP_PKEY_get1_DSA(EVP_PKEY *pkey ) ;
extern int EVP_PKEY_set1_DH(EVP_PKEY *pkey , struct dh_st *key ) ;
extern struct dh_st *EVP_PKEY_get0_DH(EVP_PKEY *pkey ) ;
extern struct dh_st *EVP_PKEY_get1_DH(EVP_PKEY *pkey ) ;
extern int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey , struct ec_key_st *key ) ;
extern struct ec_key_st *EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey ) ;
extern struct ec_key_st *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey ) ;
extern EVP_PKEY *EVP_PKEY_new(void) ;
extern int EVP_PKEY_up_ref(EVP_PKEY *pkey ) ;
extern void EVP_PKEY_free(EVP_PKEY *pkey ) ;
extern EVP_PKEY *d2i_PublicKey(int type , EVP_PKEY **a , unsigned char const   **pp ,
                               long length ) ;
extern int i2d_PublicKey(EVP_PKEY *a , unsigned char **pp ) ;
extern EVP_PKEY *d2i_PrivateKey(int type , EVP_PKEY **a , unsigned char const   **pp ,
                                long length ) ;
extern EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a , unsigned char const   **pp , long length ) ;
extern int i2d_PrivateKey(EVP_PKEY *a , unsigned char **pp ) ;
extern int EVP_PKEY_copy_parameters(EVP_PKEY *to , EVP_PKEY const   *from ) ;
extern int EVP_PKEY_missing_parameters(EVP_PKEY const   *pkey ) ;
extern int EVP_PKEY_save_parameters(EVP_PKEY *pkey , int mode ) ;
extern int EVP_PKEY_cmp_parameters(EVP_PKEY const   *a , EVP_PKEY const   *b ) ;
extern int EVP_PKEY_cmp(EVP_PKEY const   *a , EVP_PKEY const   *b ) ;
extern int EVP_PKEY_print_public(BIO *out , EVP_PKEY const   *pkey , int indent ,
                                 ASN1_PCTX *pctx ) ;
extern int EVP_PKEY_print_private(BIO *out , EVP_PKEY const   *pkey , int indent ,
                                  ASN1_PCTX *pctx ) ;
extern int EVP_PKEY_print_params(BIO *out , EVP_PKEY const   *pkey , int indent ,
                                 ASN1_PCTX *pctx ) ;
extern int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey , int *pnid ) ;
extern int EVP_PKEY_set1_tls_encodedpoint(EVP_PKEY *pkey , unsigned char const   *pt ,
                                          size_t ptlen ) ;
extern size_t EVP_PKEY_get1_tls_encodedpoint(EVP_PKEY *pkey , unsigned char **ppt ) ;
extern int EVP_CIPHER_type(EVP_CIPHER const   *ctx ) ;
extern int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c , ASN1_TYPE *type ) ;
extern int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c , ASN1_TYPE *type ) ;
extern int EVP_CIPHER_set_asn1_iv(EVP_CIPHER_CTX *c , ASN1_TYPE *type ) ;
extern int EVP_CIPHER_get_asn1_iv(EVP_CIPHER_CTX *c , ASN1_TYPE *type ) ;
extern int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *ctx , char const   *pass , int passlen ,
                              ASN1_TYPE *param , EVP_CIPHER const   *cipher , EVP_MD const   *md ,
                              int en_de ) ;
extern int PKCS5_PBKDF2_HMAC_SHA1(char const   *pass , int passlen , unsigned char const   *salt ,
                                  int saltlen , int iter , int keylen , unsigned char *out ) ;
extern int PKCS5_PBKDF2_HMAC(char const   *pass , int passlen , unsigned char const   *salt ,
                             int saltlen , int iter , EVP_MD const   *digest , int keylen ,
                             unsigned char *out ) ;
extern int PKCS5_v2_PBE_keyivgen(EVP_CIPHER_CTX *ctx , char const   *pass , int passlen ,
                                 ASN1_TYPE *param , EVP_CIPHER const   *cipher , EVP_MD const   *md ,
                                 int en_de ) ;
extern int EVP_PBE_scrypt(char const   *pass , size_t passlen , unsigned char const   *salt ,
                          size_t saltlen , uint64_t N , uint64_t r , uint64_t p ,
                          uint64_t maxmem , unsigned char *key , size_t keylen ) ;
extern int PKCS5_v2_scrypt_keyivgen(EVP_CIPHER_CTX *ctx , char const   *pass , int passlen ,
                                    ASN1_TYPE *param , EVP_CIPHER const   *c , EVP_MD const   *md ,
                                    int en_de ) ;
extern void PKCS5_PBE_add(void) ;
extern int EVP_PBE_CipherInit(ASN1_OBJECT *pbe_obj , char const   *pass , int passlen ,
                              ASN1_TYPE *param , EVP_CIPHER_CTX *ctx , int en_de ) ;
extern int EVP_PBE_alg_add_type(int pbe_type , int pbe_nid , int cipher_nid , int md_nid ,
                                EVP_PBE_KEYGEN *keygen ) ;
extern int EVP_PBE_alg_add(int nid , EVP_CIPHER const   *cipher , EVP_MD const   *md ,
                           EVP_PBE_KEYGEN *keygen ) ;
extern int EVP_PBE_find(int type , int pbe_nid , int *pcnid , int *pmnid , EVP_PBE_KEYGEN **pkeygen ) ;
extern void EVP_PBE_cleanup(void) ;
extern int EVP_PBE_get(int *ptype , int *ppbe_nid , size_t num ) ;
extern int EVP_PKEY_asn1_get_count(void) ;
extern EVP_PKEY_ASN1_METHOD const   *EVP_PKEY_asn1_get0(int idx ) ;
extern EVP_PKEY_ASN1_METHOD const   *EVP_PKEY_asn1_find(ENGINE **pe , int type ) ;
extern EVP_PKEY_ASN1_METHOD const   *EVP_PKEY_asn1_find_str(ENGINE **pe , char const   *str ,
                                                            int len ) ;
extern int EVP_PKEY_asn1_add0(EVP_PKEY_ASN1_METHOD const   *ameth ) ;
extern int EVP_PKEY_asn1_add_alias(int to , int from ) ;
extern int EVP_PKEY_asn1_get0_info(int *ppkey_id , int *pkey_base_id , int *ppkey_flags ,
                                   char const   **pinfo , char const   **ppem_str ,
                                   EVP_PKEY_ASN1_METHOD const   *ameth ) ;
extern EVP_PKEY_ASN1_METHOD const   *EVP_PKEY_get0_asn1(EVP_PKEY const   *pkey ) ;
extern EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_new(int id , int flags , char const   *pem_str ,
                                               char const   *info ) ;
extern void EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst , EVP_PKEY_ASN1_METHOD const   *src ) ;
extern void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth ) ;
extern void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth , int (*pub_decode)(EVP_PKEY *pk ,
                                                                                     X509_PUBKEY *pub ) ,
                                     int (*pub_encode)(X509_PUBKEY *pub , EVP_PKEY const   *pk ) ,
                                     int (*pub_cmp)(EVP_PKEY const   *a , EVP_PKEY const   *b ) ,
                                     int (*pub_print)(BIO *out , EVP_PKEY const   *pkey ,
                                                      int indent , ASN1_PCTX *pctx ) ,
                                     int (*pkey_size)(EVP_PKEY const   *pk ) , int (*pkey_bits)(EVP_PKEY const   *pk ) ) ;
extern void EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth , int (*priv_decode)(EVP_PKEY *pk ,
                                                                                       PKCS8_PRIV_KEY_INFO const   *p8inf ) ,
                                      int (*priv_encode)(PKCS8_PRIV_KEY_INFO *p8 ,
                                                         EVP_PKEY const   *pk ) ,
                                      int (*priv_print)(BIO *out , EVP_PKEY const   *pkey ,
                                                        int indent , ASN1_PCTX *pctx ) ) ;
extern void EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth , int (*param_decode)(EVP_PKEY *pkey ,
                                                                                      unsigned char const   **pder ,
                                                                                      int derlen ) ,
                                    int (*param_encode)(EVP_PKEY const   *pkey , unsigned char **pder ) ,
                                    int (*param_missing)(EVP_PKEY const   *pk ) ,
                                    int (*param_copy)(EVP_PKEY *to , EVP_PKEY const   *from ) ,
                                    int (*param_cmp)(EVP_PKEY const   *a , EVP_PKEY const   *b ) ,
                                    int (*param_print)(BIO *out , EVP_PKEY const   *pkey ,
                                                       int indent , ASN1_PCTX *pctx ) ) ;
extern void EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth , void (*pkey_free)(EVP_PKEY *pkey ) ) ;
extern void EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth , int (*pkey_ctrl)(EVP_PKEY *pkey ,
                                                                                  int op ,
                                                                                  long arg1 ,
                                                                                  void *arg2 ) ) ;
extern void EVP_PKEY_asn1_set_item(EVP_PKEY_ASN1_METHOD *ameth , int (*item_verify)(EVP_MD_CTX *ctx ,
                                                                                    ASN1_ITEM const   *it ,
                                                                                    void *asn ,
                                                                                    X509_ALGOR *a ,
                                                                                    ASN1_BIT_STRING *sig ,
                                                                                    EVP_PKEY *pkey ) ,
                                   int (*item_sign)(EVP_MD_CTX *ctx , ASN1_ITEM const   *it ,
                                                    void *asn , X509_ALGOR *alg1 ,
                                                    X509_ALGOR *alg2 , ASN1_BIT_STRING *sig ) ) ;
extern void EVP_PKEY_asn1_set_siginf(EVP_PKEY_ASN1_METHOD *ameth , int (*siginf_set)(X509_SIG_INFO *siginf ,
                                                                                     X509_ALGOR const   *alg ,
                                                                                     ASN1_STRING const   *sig ) ) ;
extern void EVP_PKEY_asn1_set_check(EVP_PKEY_ASN1_METHOD *ameth , int (*pkey_check)(EVP_PKEY const   *pk ) ) ;
extern void EVP_PKEY_asn1_set_public_check(EVP_PKEY_ASN1_METHOD *ameth , int (*pkey_pub_check)(EVP_PKEY const   *pk ) ) ;
extern void EVP_PKEY_asn1_set_param_check(EVP_PKEY_ASN1_METHOD *ameth , int (*pkey_param_check)(EVP_PKEY const   *pk ) ) ;
extern void EVP_PKEY_asn1_set_set_priv_key(EVP_PKEY_ASN1_METHOD *ameth , int (*set_priv_key)(EVP_PKEY *pk ,
                                                                                             unsigned char const   *priv ,
                                                                                             size_t len ) ) ;
extern void EVP_PKEY_asn1_set_set_pub_key(EVP_PKEY_ASN1_METHOD *ameth , int (*set_pub_key)(EVP_PKEY *pk ,
                                                                                           unsigned char const   *pub ,
                                                                                           size_t len ) ) ;
extern void EVP_PKEY_asn1_set_get_priv_key(EVP_PKEY_ASN1_METHOD *ameth , int (*get_priv_key)(EVP_PKEY const   *pk ,
                                                                                             unsigned char *priv ,
                                                                                             size_t *len ) ) ;
extern void EVP_PKEY_asn1_set_get_pub_key(EVP_PKEY_ASN1_METHOD *ameth , int (*get_pub_key)(EVP_PKEY const   *pk ,
                                                                                           unsigned char *pub ,
                                                                                           size_t *len ) ) ;
extern void EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth , int (*pkey_security_bits)(EVP_PKEY const   *pk ) ) ;
extern EVP_PKEY_METHOD const   *EVP_PKEY_meth_find(int type ) ;
extern EVP_PKEY_METHOD *EVP_PKEY_meth_new(int id , int flags ) ;
extern void EVP_PKEY_meth_get0_info(int *ppkey_id , int *pflags , EVP_PKEY_METHOD const   *meth ) ;
extern void EVP_PKEY_meth_copy(EVP_PKEY_METHOD *dst , EVP_PKEY_METHOD const   *src ) ;
extern void EVP_PKEY_meth_free(EVP_PKEY_METHOD *pmeth ) ;
extern int EVP_PKEY_meth_add0(EVP_PKEY_METHOD const   *pmeth ) ;
extern int EVP_PKEY_meth_remove(EVP_PKEY_METHOD const   *pmeth ) ;
extern size_t EVP_PKEY_meth_get_count(void) ;
extern EVP_PKEY_METHOD const   *EVP_PKEY_meth_get0(size_t idx ) ;
extern EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey , ENGINE *e ) ;
extern EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id , ENGINE *e ) ;
extern EVP_PKEY_CTX *EVP_PKEY_CTX_dup(EVP_PKEY_CTX *ctx ) ;
extern void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx ) ;
extern int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx , int keytype , int optype , int cmd ,
                             int p1 , void *p2 ) ;
extern int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx , char const   *type , char const   *value ) ;
extern int EVP_PKEY_CTX_ctrl_uint64(EVP_PKEY_CTX *ctx , int keytype , int optype ,
                                    int cmd , uint64_t value ) ;
extern int EVP_PKEY_CTX_str2ctrl(EVP_PKEY_CTX *ctx , int cmd , char const   *str ) ;
extern int EVP_PKEY_CTX_hex2ctrl(EVP_PKEY_CTX *ctx , int cmd , char const   *hex ) ;
extern int EVP_PKEY_CTX_md(EVP_PKEY_CTX *ctx , int optype , int cmd , char const   *md ) ;
extern int EVP_PKEY_CTX_get_operation(EVP_PKEY_CTX *ctx ) ;
extern void EVP_PKEY_CTX_set0_keygen_info(EVP_PKEY_CTX *ctx , int *dat , int datlen ) ;
extern EVP_PKEY *EVP_PKEY_new_mac_key(int type , ENGINE *e , unsigned char const   *key ,
                                      int keylen ) ;
extern EVP_PKEY *EVP_PKEY_new_raw_private_key(int type , ENGINE *e , unsigned char const   *priv ,
                                              size_t len ) ;
extern EVP_PKEY *EVP_PKEY_new_raw_public_key(int type , ENGINE *e , unsigned char const   *pub ,
                                             size_t len ) ;
extern int EVP_PKEY_get_raw_private_key(EVP_PKEY const   *pkey , unsigned char *priv ,
                                        size_t *len ) ;
extern int EVP_PKEY_get_raw_public_key(EVP_PKEY const   *pkey , unsigned char *pub ,
                                       size_t *len ) ;
extern EVP_PKEY *EVP_PKEY_new_CMAC_key(ENGINE *e , unsigned char const   *priv , size_t len ,
                                       EVP_CIPHER const   *cipher ) ;
extern void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx , void *data ) ;
extern void *EVP_PKEY_CTX_get_data(EVP_PKEY_CTX *ctx ) ;
extern EVP_PKEY *EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx ) ;
extern EVP_PKEY *EVP_PKEY_CTX_get0_peerkey(EVP_PKEY_CTX *ctx ) ;
extern void EVP_PKEY_CTX_set_app_data(EVP_PKEY_CTX *ctx , void *data ) ;
extern void *EVP_PKEY_CTX_get_app_data(EVP_PKEY_CTX *ctx ) ;
extern int EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx ) ;
extern int EVP_PKEY_sign(EVP_PKEY_CTX *ctx , unsigned char *sig , size_t *siglen ,
                         unsigned char const   *tbs , size_t tbslen ) ;
extern int EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx ) ;
extern int EVP_PKEY_verify(EVP_PKEY_CTX *ctx , unsigned char const   *sig , size_t siglen ,
                           unsigned char const   *tbs , size_t tbslen ) ;
extern int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx ) ;
extern int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx , unsigned char *rout , size_t *routlen ,
                                   unsigned char const   *sig , size_t siglen ) ;
extern int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx ) ;
extern int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx , unsigned char *out , size_t *outlen ,
                            unsigned char const   *in , size_t inlen ) ;
extern int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx ) ;
extern int EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx , unsigned char *out , size_t *outlen ,
                            unsigned char const   *in , size_t inlen ) ;
extern int EVP_PKEY_derive_init(EVP_PKEY_CTX *ctx ) ;
extern int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx , EVP_PKEY *peer ) ;
extern int EVP_PKEY_derive(EVP_PKEY_CTX *ctx , unsigned char *key , size_t *keylen ) ;
extern int EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx ) ;
extern int EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx , EVP_PKEY **ppkey ) ;
extern int EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx ) ;
extern int EVP_PKEY_keygen(EVP_PKEY_CTX *ctx , EVP_PKEY **ppkey ) ;
extern int EVP_PKEY_check(EVP_PKEY_CTX *ctx ) ;
extern int EVP_PKEY_public_check(EVP_PKEY_CTX *ctx ) ;
extern int EVP_PKEY_param_check(EVP_PKEY_CTX *ctx ) ;
extern void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx , EVP_PKEY_gen_cb *cb ) ;
extern EVP_PKEY_gen_cb *EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx ) ;
extern int EVP_PKEY_CTX_get_keygen_info(EVP_PKEY_CTX *ctx , int idx ) ;
extern void EVP_PKEY_meth_set_init(EVP_PKEY_METHOD *pmeth , int (*init)(EVP_PKEY_CTX *ctx ) ) ;
extern void EVP_PKEY_meth_set_copy(EVP_PKEY_METHOD *pmeth , int (*copy)(EVP_PKEY_CTX *dst ,
                                                                        EVP_PKEY_CTX *src ) ) ;
extern void EVP_PKEY_meth_set_cleanup(EVP_PKEY_METHOD *pmeth , void (*cleanup)(EVP_PKEY_CTX *ctx ) ) ;
extern void EVP_PKEY_meth_set_paramgen(EVP_PKEY_METHOD *pmeth , int (*paramgen_init)(EVP_PKEY_CTX *ctx ) ,
                                       int (*paramgen)(EVP_PKEY_CTX *ctx , EVP_PKEY *pkey ) ) ;
extern void EVP_PKEY_meth_set_keygen(EVP_PKEY_METHOD *pmeth , int (*keygen_init)(EVP_PKEY_CTX *ctx ) ,
                                     int (*keygen)(EVP_PKEY_CTX *ctx , EVP_PKEY *pkey ) ) ;
extern void EVP_PKEY_meth_set_sign(EVP_PKEY_METHOD *pmeth , int (*sign_init)(EVP_PKEY_CTX *ctx ) ,
                                   int (*sign)(EVP_PKEY_CTX *ctx , unsigned char *sig ,
                                               size_t *siglen , unsigned char const   *tbs ,
                                               size_t tbslen ) ) ;
extern void EVP_PKEY_meth_set_verify(EVP_PKEY_METHOD *pmeth , int (*verify_init)(EVP_PKEY_CTX *ctx ) ,
                                     int (*verify)(EVP_PKEY_CTX *ctx , unsigned char const   *sig ,
                                                   size_t siglen , unsigned char const   *tbs ,
                                                   size_t tbslen ) ) ;
extern void EVP_PKEY_meth_set_verify_recover(EVP_PKEY_METHOD *pmeth , int (*verify_recover_init)(EVP_PKEY_CTX *ctx ) ,
                                             int (*verify_recover)(EVP_PKEY_CTX *ctx ,
                                                                   unsigned char *sig ,
                                                                   size_t *siglen ,
                                                                   unsigned char const   *tbs ,
                                                                   size_t tbslen ) ) ;
extern void EVP_PKEY_meth_set_signctx(EVP_PKEY_METHOD *pmeth , int (*signctx_init)(EVP_PKEY_CTX *ctx ,
                                                                                   EVP_MD_CTX *mctx ) ,
                                      int (*signctx)(EVP_PKEY_CTX *ctx , unsigned char *sig ,
                                                     size_t *siglen , EVP_MD_CTX *mctx ) ) ;
extern void EVP_PKEY_meth_set_verifyctx(EVP_PKEY_METHOD *pmeth , int (*verifyctx_init)(EVP_PKEY_CTX *ctx ,
                                                                                       EVP_MD_CTX *mctx ) ,
                                        int (*verifyctx)(EVP_PKEY_CTX *ctx , unsigned char const   *sig ,
                                                         int siglen , EVP_MD_CTX *mctx ) ) ;
extern void EVP_PKEY_meth_set_encrypt(EVP_PKEY_METHOD *pmeth , int (*encrypt_init)(EVP_PKEY_CTX *ctx ) ,
                                      int (*encryptfn)(EVP_PKEY_CTX *ctx , unsigned char *out ,
                                                       size_t *outlen , unsigned char const   *in ,
                                                       size_t inlen ) ) ;
extern void EVP_PKEY_meth_set_decrypt(EVP_PKEY_METHOD *pmeth , int (*decrypt_init)(EVP_PKEY_CTX *ctx ) ,
                                      int (*decrypt)(EVP_PKEY_CTX *ctx , unsigned char *out ,
                                                     size_t *outlen , unsigned char const   *in ,
                                                     size_t inlen ) ) ;
extern void EVP_PKEY_meth_set_derive(EVP_PKEY_METHOD *pmeth , int (*derive_init)(EVP_PKEY_CTX *ctx ) ,
                                     int (*derive)(EVP_PKEY_CTX *ctx , unsigned char *key ,
                                                   size_t *keylen ) ) ;
extern void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth , int (*ctrl)(EVP_PKEY_CTX *ctx ,
                                                                        int type ,
                                                                        int p1 , void *p2 ) ,
                                   int (*ctrl_str)(EVP_PKEY_CTX *ctx , char const   *type ,
                                                   char const   *value ) ) ;
extern void EVP_PKEY_meth_set_check(EVP_PKEY_METHOD *pmeth , int (*check)(EVP_PKEY *pkey ) ) ;
extern void EVP_PKEY_meth_set_public_check(EVP_PKEY_METHOD *pmeth , int (*check)(EVP_PKEY *pkey ) ) ;
extern void EVP_PKEY_meth_set_param_check(EVP_PKEY_METHOD *pmeth , int (*check)(EVP_PKEY *pkey ) ) ;
extern void EVP_PKEY_meth_set_digest_custom(EVP_PKEY_METHOD *pmeth , int (*digest_custom)(EVP_PKEY_CTX *ctx ,
                                                                                          EVP_MD_CTX *mctx ) ) ;
extern void EVP_PKEY_meth_get_init(EVP_PKEY_METHOD const   *pmeth , int (**pinit)(EVP_PKEY_CTX *ctx ) ) ;
extern void EVP_PKEY_meth_get_copy(EVP_PKEY_METHOD const   *pmeth , int (**pcopy)(EVP_PKEY_CTX *dst ,
                                                                                  EVP_PKEY_CTX *src ) ) ;
extern void EVP_PKEY_meth_get_cleanup(EVP_PKEY_METHOD const   *pmeth , void (**pcleanup)(EVP_PKEY_CTX *ctx ) ) ;
extern void EVP_PKEY_meth_get_paramgen(EVP_PKEY_METHOD const   *pmeth , int (**pparamgen_init)(EVP_PKEY_CTX *ctx ) ,
                                       int (**pparamgen)(EVP_PKEY_CTX *ctx , EVP_PKEY *pkey ) ) ;
extern void EVP_PKEY_meth_get_keygen(EVP_PKEY_METHOD const   *pmeth , int (**pkeygen_init)(EVP_PKEY_CTX *ctx ) ,
                                     int (**pkeygen)(EVP_PKEY_CTX *ctx , EVP_PKEY *pkey ) ) ;
extern void EVP_PKEY_meth_get_sign(EVP_PKEY_METHOD const   *pmeth , int (**psign_init)(EVP_PKEY_CTX *ctx ) ,
                                   int (**psign)(EVP_PKEY_CTX *ctx , unsigned char *sig ,
                                                 size_t *siglen , unsigned char const   *tbs ,
                                                 size_t tbslen ) ) ;
extern void EVP_PKEY_meth_get_verify(EVP_PKEY_METHOD const   *pmeth , int (**pverify_init)(EVP_PKEY_CTX *ctx ) ,
                                     int (**pverify)(EVP_PKEY_CTX *ctx , unsigned char const   *sig ,
                                                     size_t siglen , unsigned char const   *tbs ,
                                                     size_t tbslen ) ) ;
extern void EVP_PKEY_meth_get_verify_recover(EVP_PKEY_METHOD const   *pmeth , int (**pverify_recover_init)(EVP_PKEY_CTX *ctx ) ,
                                             int (**pverify_recover)(EVP_PKEY_CTX *ctx ,
                                                                     unsigned char *sig ,
                                                                     size_t *siglen ,
                                                                     unsigned char const   *tbs ,
                                                                     size_t tbslen ) ) ;
extern void EVP_PKEY_meth_get_signctx(EVP_PKEY_METHOD const   *pmeth , int (**psignctx_init)(EVP_PKEY_CTX *ctx ,
                                                                                             EVP_MD_CTX *mctx ) ,
                                      int (**psignctx)(EVP_PKEY_CTX *ctx , unsigned char *sig ,
                                                       size_t *siglen , EVP_MD_CTX *mctx ) ) ;
extern void EVP_PKEY_meth_get_verifyctx(EVP_PKEY_METHOD const   *pmeth , int (**pverifyctx_init)(EVP_PKEY_CTX *ctx ,
                                                                                                 EVP_MD_CTX *mctx ) ,
                                        int (**pverifyctx)(EVP_PKEY_CTX *ctx , unsigned char const   *sig ,
                                                           int siglen , EVP_MD_CTX *mctx ) ) ;
extern void EVP_PKEY_meth_get_encrypt(EVP_PKEY_METHOD const   *pmeth , int (**pencrypt_init)(EVP_PKEY_CTX *ctx ) ,
                                      int (**pencryptfn)(EVP_PKEY_CTX *ctx , unsigned char *out ,
                                                         size_t *outlen , unsigned char const   *in ,
                                                         size_t inlen ) ) ;
extern void EVP_PKEY_meth_get_decrypt(EVP_PKEY_METHOD const   *pmeth , int (**pdecrypt_init)(EVP_PKEY_CTX *ctx ) ,
                                      int (**pdecrypt)(EVP_PKEY_CTX *ctx , unsigned char *out ,
                                                       size_t *outlen , unsigned char const   *in ,
                                                       size_t inlen ) ) ;
extern void EVP_PKEY_meth_get_derive(EVP_PKEY_METHOD const   *pmeth , int (**pderive_init)(EVP_PKEY_CTX *ctx ) ,
                                     int (**pderive)(EVP_PKEY_CTX *ctx , unsigned char *key ,
                                                     size_t *keylen ) ) ;
extern void EVP_PKEY_meth_get_ctrl(EVP_PKEY_METHOD const   *pmeth , int (**pctrl)(EVP_PKEY_CTX *ctx ,
                                                                                  int type ,
                                                                                  int p1 ,
                                                                                  void *p2 ) ,
                                   int (**pctrl_str)(EVP_PKEY_CTX *ctx , char const   *type ,
                                                     char const   *value ) ) ;
extern void EVP_PKEY_meth_get_check(EVP_PKEY_METHOD const   *pmeth , int (**pcheck)(EVP_PKEY *pkey ) ) ;
extern void EVP_PKEY_meth_get_public_check(EVP_PKEY_METHOD const   *pmeth , int (**pcheck)(EVP_PKEY *pkey ) ) ;
extern void EVP_PKEY_meth_get_param_check(EVP_PKEY_METHOD const   *pmeth , int (**pcheck)(EVP_PKEY *pkey ) ) ;
extern void EVP_PKEY_meth_get_digest_custom(EVP_PKEY_METHOD *pmeth , int (**pdigest_custom)(EVP_PKEY_CTX *ctx ,
                                                                                            EVP_MD_CTX *mctx ) ) ;
extern void EVP_add_alg_module(void) ;
extern int ERR_load_EC_strings(void) ;
extern EC_METHOD const   *EC_GFp_simple_method(void) ;
extern EC_METHOD const   *EC_GFp_mont_method(void) ;
extern EC_METHOD const   *EC_GFp_nist_method(void) ;
extern EC_METHOD const   *EC_GFp_nistp224_method(void) ;
extern EC_METHOD const   *EC_GFp_nistp256_method(void) ;
extern EC_METHOD const   *EC_GFp_nistp521_method(void) ;
extern EC_METHOD const   *EC_GF2m_simple_method(void) ;
extern EC_GROUP *EC_GROUP_new(EC_METHOD const   *meth ) ;
extern void EC_GROUP_free(EC_GROUP *group ) ;
extern void EC_GROUP_clear_free(EC_GROUP *group ) ;
extern int EC_GROUP_copy(EC_GROUP *dst , EC_GROUP const   *src ) ;
extern EC_GROUP *EC_GROUP_dup(EC_GROUP const   *src ) ;
extern EC_METHOD const   *EC_GROUP_method_of(EC_GROUP const   *group ) ;
extern int EC_METHOD_get_field_type(EC_METHOD const   *meth ) ;
extern int EC_GROUP_set_generator(EC_GROUP *group , EC_POINT const   *generator ,
                                  BIGNUM const   *order , BIGNUM const   *cofactor ) ;
extern EC_POINT const   *EC_GROUP_get0_generator(EC_GROUP const   *group ) ;
extern BN_MONT_CTX *EC_GROUP_get_mont_data(EC_GROUP const   *group ) ;
extern int EC_GROUP_get_order(EC_GROUP const   *group , BIGNUM *order , BN_CTX *ctx ) ;
extern BIGNUM const   *EC_GROUP_get0_order(EC_GROUP const   *group ) ;
extern int EC_GROUP_order_bits(EC_GROUP const   *group ) ;
extern int EC_GROUP_get_cofactor(EC_GROUP const   *group , BIGNUM *cofactor , BN_CTX *ctx ) ;
extern BIGNUM const   *EC_GROUP_get0_cofactor(EC_GROUP const   *group ) ;
extern void EC_GROUP_set_curve_name(EC_GROUP *group , int nid ) ;
extern int EC_GROUP_get_curve_name(EC_GROUP const   *group ) ;
extern void EC_GROUP_set_asn1_flag(EC_GROUP *group , int flag ) ;
extern int EC_GROUP_get_asn1_flag(EC_GROUP const   *group ) ;
extern void EC_GROUP_set_point_conversion_form(EC_GROUP *group , point_conversion_form_t form ) ;
extern point_conversion_form_t EC_GROUP_get_point_conversion_form(EC_GROUP const   * ) ;
extern unsigned char *EC_GROUP_get0_seed(EC_GROUP const   *x ) ;
extern size_t EC_GROUP_get_seed_len(EC_GROUP const   * ) ;
extern size_t EC_GROUP_set_seed(EC_GROUP * , unsigned char const   * , size_t len ) ;
extern int EC_GROUP_set_curve(EC_GROUP *group , BIGNUM const   *p , BIGNUM const   *a ,
                              BIGNUM const   *b , BN_CTX *ctx ) ;
extern int EC_GROUP_get_curve(EC_GROUP const   *group , BIGNUM *p , BIGNUM *a , BIGNUM *b ,
                              BN_CTX *ctx ) ;
extern int EC_GROUP_set_curve_GFp(EC_GROUP *group , BIGNUM const   *p , BIGNUM const   *a ,
                                  BIGNUM const   *b , BN_CTX *ctx ) ;
extern int EC_GROUP_get_curve_GFp(EC_GROUP const   *group , BIGNUM *p , BIGNUM *a ,
                                  BIGNUM *b , BN_CTX *ctx ) ;
extern int EC_GROUP_set_curve_GF2m(EC_GROUP *group , BIGNUM const   *p , BIGNUM const   *a ,
                                   BIGNUM const   *b , BN_CTX *ctx ) ;
extern int EC_GROUP_get_curve_GF2m(EC_GROUP const   *group , BIGNUM *p , BIGNUM *a ,
                                   BIGNUM *b , BN_CTX *ctx ) ;
extern int EC_GROUP_get_degree(EC_GROUP const   *group ) ;
extern int EC_GROUP_check(EC_GROUP const   *group , BN_CTX *ctx ) ;
extern int EC_GROUP_check_discriminant(EC_GROUP const   *group , BN_CTX *ctx ) ;
extern int EC_GROUP_cmp(EC_GROUP const   *a , EC_GROUP const   *b , BN_CTX *ctx ) ;
extern EC_GROUP *EC_GROUP_new_curve_GFp(BIGNUM const   *p , BIGNUM const   *a , BIGNUM const   *b ,
                                        BN_CTX *ctx ) ;
extern EC_GROUP *EC_GROUP_new_curve_GF2m(BIGNUM const   *p , BIGNUM const   *a , BIGNUM const   *b ,
                                         BN_CTX *ctx ) ;
extern EC_GROUP *EC_GROUP_new_by_curve_name(int nid ) ;
extern EC_GROUP *EC_GROUP_new_from_ecparameters(ECPARAMETERS const   *params ) ;
extern ECPARAMETERS *EC_GROUP_get_ecparameters(EC_GROUP const   *group , ECPARAMETERS *params ) ;
extern EC_GROUP *EC_GROUP_new_from_ecpkparameters(ECPKPARAMETERS const   *params ) ;
extern ECPKPARAMETERS *EC_GROUP_get_ecpkparameters(EC_GROUP const   *group , ECPKPARAMETERS *params ) ;
extern size_t EC_get_builtin_curves(EC_builtin_curve *r , size_t nitems ) ;
extern char const   *EC_curve_nid2nist(int nid ) ;
extern int EC_curve_nist2nid(char const   *name ) ;
extern EC_POINT *EC_POINT_new(EC_GROUP const   *group ) ;
extern void EC_POINT_free(EC_POINT *point ) ;
extern void EC_POINT_clear_free(EC_POINT *point ) ;
extern int EC_POINT_copy(EC_POINT *dst , EC_POINT const   *src ) ;
extern EC_POINT *EC_POINT_dup(EC_POINT const   *src , EC_GROUP const   *group ) ;
extern EC_METHOD const   *EC_POINT_method_of(EC_POINT const   *point ) ;
extern int EC_POINT_set_to_infinity(EC_GROUP const   *group , EC_POINT *point ) ;
extern int EC_POINT_set_Jprojective_coordinates_GFp(EC_GROUP const   *group , EC_POINT *p ,
                                                    BIGNUM const   *x , BIGNUM const   *y ,
                                                    BIGNUM const   *z , BN_CTX *ctx ) ;
extern int EC_POINT_get_Jprojective_coordinates_GFp(EC_GROUP const   *group , EC_POINT const   *p ,
                                                    BIGNUM *x , BIGNUM *y , BIGNUM *z ,
                                                    BN_CTX *ctx ) ;
extern int EC_POINT_set_affine_coordinates(EC_GROUP const   *group , EC_POINT *p ,
                                           BIGNUM const   *x , BIGNUM const   *y ,
                                           BN_CTX *ctx ) ;
extern int EC_POINT_get_affine_coordinates(EC_GROUP const   *group , EC_POINT const   *p ,
                                           BIGNUM *x , BIGNUM *y , BN_CTX *ctx ) ;
extern int EC_POINT_set_affine_coordinates_GFp(EC_GROUP const   *group , EC_POINT *p ,
                                               BIGNUM const   *x , BIGNUM const   *y ,
                                               BN_CTX *ctx ) ;
extern int EC_POINT_get_affine_coordinates_GFp(EC_GROUP const   *group , EC_POINT const   *p ,
                                               BIGNUM *x , BIGNUM *y , BN_CTX *ctx ) ;
extern int EC_POINT_set_compressed_coordinates(EC_GROUP const   *group , EC_POINT *p ,
                                               BIGNUM const   *x , int y_bit , BN_CTX *ctx ) ;
extern int EC_POINT_set_compressed_coordinates_GFp(EC_GROUP const   *group , EC_POINT *p ,
                                                   BIGNUM const   *x , int y_bit ,
                                                   BN_CTX *ctx ) ;
extern int EC_POINT_set_affine_coordinates_GF2m(EC_GROUP const   *group , EC_POINT *p ,
                                                BIGNUM const   *x , BIGNUM const   *y ,
                                                BN_CTX *ctx ) ;
extern int EC_POINT_get_affine_coordinates_GF2m(EC_GROUP const   *group , EC_POINT const   *p ,
                                                BIGNUM *x , BIGNUM *y , BN_CTX *ctx ) ;
extern int EC_POINT_set_compressed_coordinates_GF2m(EC_GROUP const   *group , EC_POINT *p ,
                                                    BIGNUM const   *x , int y_bit ,
                                                    BN_CTX *ctx ) ;
extern size_t EC_POINT_point2oct(EC_GROUP const   *group , EC_POINT const   *p , point_conversion_form_t form ,
                                 unsigned char *buf , size_t len , BN_CTX *ctx ) ;
extern int EC_POINT_oct2point(EC_GROUP const   *group , EC_POINT *p , unsigned char const   *buf ,
                              size_t len , BN_CTX *ctx ) ;
extern size_t EC_POINT_point2buf(EC_GROUP const   *group , EC_POINT const   *point ,
                                 point_conversion_form_t form , unsigned char **pbuf ,
                                 BN_CTX *ctx ) ;
extern BIGNUM *EC_POINT_point2bn(EC_GROUP const   * , EC_POINT const   * , point_conversion_form_t form ,
                                 BIGNUM * , BN_CTX * ) ;
extern EC_POINT *EC_POINT_bn2point(EC_GROUP const   * , BIGNUM const   * , EC_POINT * ,
                                   BN_CTX * ) ;
extern char *EC_POINT_point2hex(EC_GROUP const   * , EC_POINT const   * , point_conversion_form_t form ,
                                BN_CTX * ) ;
extern EC_POINT *EC_POINT_hex2point(EC_GROUP const   * , char const   * , EC_POINT * ,
                                    BN_CTX * ) ;
extern int EC_POINT_add(EC_GROUP const   *group , EC_POINT *r , EC_POINT const   *a ,
                        EC_POINT const   *b , BN_CTX *ctx ) ;
extern int EC_POINT_dbl(EC_GROUP const   *group , EC_POINT *r , EC_POINT const   *a ,
                        BN_CTX *ctx ) ;
extern int EC_POINT_invert(EC_GROUP const   *group , EC_POINT *a , BN_CTX *ctx ) ;
extern int EC_POINT_is_at_infinity(EC_GROUP const   *group , EC_POINT const   *p ) ;
extern int EC_POINT_is_on_curve(EC_GROUP const   *group , EC_POINT const   *point ,
                                BN_CTX *ctx ) ;
extern int EC_POINT_cmp(EC_GROUP const   *group , EC_POINT const   *a , EC_POINT const   *b ,
                        BN_CTX *ctx ) ;
extern int EC_POINT_make_affine(EC_GROUP const   *group , EC_POINT *point , BN_CTX *ctx ) ;
extern int EC_POINTs_make_affine(EC_GROUP const   *group , size_t num , EC_POINT **points ,
                                 BN_CTX *ctx ) ;
extern int EC_POINTs_mul(EC_GROUP const   *group , EC_POINT *r , BIGNUM const   *n ,
                         size_t num , EC_POINT const   **p , BIGNUM const   **m ,
                         BN_CTX *ctx ) ;
extern int EC_POINT_mul(EC_GROUP const   *group , EC_POINT *r , BIGNUM const   *n ,
                        EC_POINT const   *q , BIGNUM const   *m , BN_CTX *ctx ) ;
extern int EC_GROUP_precompute_mult(EC_GROUP *group , BN_CTX *ctx ) ;
extern int EC_GROUP_have_precompute_mult(EC_GROUP const   *group ) ;
extern ASN1_ITEM const   ECPKPARAMETERS_it ;
extern ECPKPARAMETERS *ECPKPARAMETERS_new(void) ;
extern void ECPKPARAMETERS_free(ECPKPARAMETERS *a ) ;
extern ASN1_ITEM const   ECPARAMETERS_it ;
extern ECPARAMETERS *ECPARAMETERS_new(void) ;
extern void ECPARAMETERS_free(ECPARAMETERS *a ) ;
extern int EC_GROUP_get_basis_type(EC_GROUP const   * ) ;
extern int EC_GROUP_get_trinomial_basis(EC_GROUP const   * , unsigned int *k ) ;
extern int EC_GROUP_get_pentanomial_basis(EC_GROUP const   * , unsigned int *k1 ,
                                          unsigned int *k2 , unsigned int *k3 ) ;
extern EC_GROUP *d2i_ECPKParameters(EC_GROUP ** , unsigned char const   **in , long len ) ;
extern int i2d_ECPKParameters(EC_GROUP const   * , unsigned char **out ) ;
extern int ECPKParameters_print(BIO *bp , EC_GROUP const   *x , int off ) ;
extern int ECPKParameters_print_fp(FILE *fp , EC_GROUP const   *x , int off ) ;
extern EC_KEY *EC_KEY_new(void) ;
extern int EC_KEY_get_flags(EC_KEY const   *key ) ;
extern void EC_KEY_set_flags(EC_KEY *key , int flags ) ;
extern void EC_KEY_clear_flags(EC_KEY *key , int flags ) ;
extern EC_KEY *EC_KEY_new_by_curve_name(int nid ) ;
extern void EC_KEY_free(EC_KEY *key ) ;
extern EC_KEY *EC_KEY_copy(EC_KEY *dst , EC_KEY const   *src ) ;
extern EC_KEY *EC_KEY_dup(EC_KEY const   *src ) ;
extern int EC_KEY_up_ref(EC_KEY *key ) ;
extern ENGINE *EC_KEY_get0_engine(EC_KEY const   *eckey ) ;
extern EC_GROUP const   *EC_KEY_get0_group(EC_KEY const   *key ) ;
extern int EC_KEY_set_group(EC_KEY *key , EC_GROUP const   *group ) ;
extern BIGNUM const   *EC_KEY_get0_private_key(EC_KEY const   *key ) ;
extern int EC_KEY_set_private_key(EC_KEY *key , BIGNUM const   *prv ) ;
extern EC_POINT const   *EC_KEY_get0_public_key(EC_KEY const   *key ) ;
extern int EC_KEY_set_public_key(EC_KEY *key , EC_POINT const   *pub ) ;
extern unsigned int EC_KEY_get_enc_flags(EC_KEY const   *key ) ;
extern void EC_KEY_set_enc_flags(EC_KEY *eckey , unsigned int flags ) ;
extern point_conversion_form_t EC_KEY_get_conv_form(EC_KEY const   *key ) ;
extern void EC_KEY_set_conv_form(EC_KEY *eckey , point_conversion_form_t cform ) ;
extern int EC_KEY_set_ex_data(EC_KEY *key , int idx , void *arg ) ;
extern void *EC_KEY_get_ex_data(EC_KEY const   *key , int idx ) ;
extern void EC_KEY_set_asn1_flag(EC_KEY *eckey , int asn1_flag ) ;
extern int EC_KEY_precompute_mult(EC_KEY *key , BN_CTX *ctx ) ;
extern int EC_KEY_generate_key(EC_KEY *key ) ;
extern int EC_KEY_check_key(EC_KEY const   *key ) ;
extern int EC_KEY_can_sign(EC_KEY const   *eckey ) ;
extern int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key , BIGNUM *x , BIGNUM *y ) ;
extern size_t EC_KEY_key2buf(EC_KEY const   *key , point_conversion_form_t form ,
                             unsigned char **pbuf , BN_CTX *ctx ) ;
extern int EC_KEY_oct2key(EC_KEY *key , unsigned char const   *buf , size_t len ,
                          BN_CTX *ctx ) ;
extern int EC_KEY_oct2priv(EC_KEY *key , unsigned char const   *buf , size_t len ) ;
extern size_t EC_KEY_priv2oct(EC_KEY const   *key , unsigned char *buf , size_t len ) ;
extern size_t EC_KEY_priv2buf(EC_KEY const   *eckey , unsigned char **pbuf ) ;
extern EC_KEY *d2i_ECPrivateKey(EC_KEY **key , unsigned char const   **in , long len ) ;
extern int i2d_ECPrivateKey(EC_KEY *key , unsigned char **out ) ;
extern EC_KEY *d2i_ECParameters(EC_KEY **key , unsigned char const   **in , long len ) ;
extern int i2d_ECParameters(EC_KEY *key , unsigned char **out ) ;
extern EC_KEY *o2i_ECPublicKey(EC_KEY **key , unsigned char const   **in , long len ) ;
extern int i2o_ECPublicKey(EC_KEY const   *key , unsigned char **out ) ;
extern int ECParameters_print(BIO *bp , EC_KEY const   *key ) ;
extern int EC_KEY_print(BIO *bp , EC_KEY const   *key , int off ) ;
extern int ECParameters_print_fp(FILE *fp , EC_KEY const   *key ) ;
extern int EC_KEY_print_fp(FILE *fp , EC_KEY const   *key , int off ) ;
extern EC_KEY_METHOD const   *EC_KEY_OpenSSL(void) ;
extern EC_KEY_METHOD const   *EC_KEY_get_default_method(void) ;
extern void EC_KEY_set_default_method(EC_KEY_METHOD const   *meth ) ;
extern EC_KEY_METHOD const   *EC_KEY_get_method(EC_KEY const   *key ) ;
extern int EC_KEY_set_method(EC_KEY *key , EC_KEY_METHOD const   *meth ) ;
extern EC_KEY *EC_KEY_new_method(ENGINE *engine ) ;
extern int ECDH_KDF_X9_62(unsigned char *out , size_t outlen , unsigned char const   *Z ,
                          size_t Zlen , unsigned char const   *sinfo , size_t sinfolen ,
                          EVP_MD const   *md ) ;
extern int ECDH_compute_key(void *out , size_t outlen , EC_POINT const   *pub_key ,
                            EC_KEY const   *ecdh , void *(*KDF)(void const   *in ,
                                                                size_t inlen , void *out ,
                                                                size_t *outlen ) ) ;
extern ECDSA_SIG *ECDSA_SIG_new(void) ;
extern void ECDSA_SIG_free(ECDSA_SIG *sig ) ;
extern int i2d_ECDSA_SIG(ECDSA_SIG const   *sig , unsigned char **pp ) ;
extern ECDSA_SIG *d2i_ECDSA_SIG(ECDSA_SIG **sig , unsigned char const   **pp , long len ) ;
extern void ECDSA_SIG_get0(ECDSA_SIG const   *sig , BIGNUM const   **pr , BIGNUM const   **ps ) ;
extern BIGNUM const   *ECDSA_SIG_get0_r(ECDSA_SIG const   *sig ) ;
extern BIGNUM const   *ECDSA_SIG_get0_s(ECDSA_SIG const   *sig ) ;
extern int ECDSA_SIG_set0(ECDSA_SIG *sig , BIGNUM *r , BIGNUM *s ) ;
extern ECDSA_SIG *ECDSA_do_sign(unsigned char const   *dgst , int dgst_len , EC_KEY *eckey ) ;
extern ECDSA_SIG *ECDSA_do_sign_ex(unsigned char const   *dgst , int dgstlen , BIGNUM const   *kinv ,
                                   BIGNUM const   *rp , EC_KEY *eckey ) ;
extern int ECDSA_do_verify(unsigned char const   *dgst , int dgst_len , ECDSA_SIG const   *sig ,
                           EC_KEY *eckey ) ;
extern int ECDSA_sign_setup(EC_KEY *eckey , BN_CTX *ctx , BIGNUM **kinv , BIGNUM **rp ) ;
extern int ECDSA_sign(int type , unsigned char const   *dgst , int dgstlen , unsigned char *sig ,
                      unsigned int *siglen , EC_KEY *eckey ) ;
extern int ECDSA_sign_ex(int type , unsigned char const   *dgst , int dgstlen , unsigned char *sig ,
                         unsigned int *siglen , BIGNUM const   *kinv , BIGNUM const   *rp ,
                         EC_KEY *eckey ) ;
extern int ECDSA_verify(int type , unsigned char const   *dgst , int dgstlen , unsigned char const   *sig ,
                        int siglen , EC_KEY *eckey ) ;
extern int ECDSA_size(EC_KEY const   *eckey ) ;
extern EC_KEY_METHOD *EC_KEY_METHOD_new(EC_KEY_METHOD const   *meth ) ;
extern void EC_KEY_METHOD_free(EC_KEY_METHOD *meth ) ;
extern void EC_KEY_METHOD_set_init(EC_KEY_METHOD *meth , int (*init)(EC_KEY *key ) ,
                                   void (*finish)(EC_KEY *key ) , int (*copy)(EC_KEY *dest ,
                                                                              EC_KEY const   *src ) ,
                                   int (*set_group)(EC_KEY *key , EC_GROUP const   *grp ) ,
                                   int (*set_private)(EC_KEY *key , BIGNUM const   *priv_key ) ,
                                   int (*set_public)(EC_KEY *key , EC_POINT const   *pub_key ) ) ;
extern void EC_KEY_METHOD_set_keygen(EC_KEY_METHOD *meth , int (*keygen)(EC_KEY *key ) ) ;
extern void EC_KEY_METHOD_set_compute_key(EC_KEY_METHOD *meth , int (*ckey)(unsigned char **psec ,
                                                                            size_t *pseclen ,
                                                                            EC_POINT const   *pub_key ,
                                                                            EC_KEY const   *ecdh ) ) ;
extern void EC_KEY_METHOD_set_sign(EC_KEY_METHOD *meth , int (*sign)(int type , unsigned char const   *dgst ,
                                                                     int dlen , unsigned char *sig ,
                                                                     unsigned int *siglen ,
                                                                     BIGNUM const   *kinv ,
                                                                     BIGNUM const   *r ,
                                                                     EC_KEY *eckey ) ,
                                   int (*sign_setup)(EC_KEY *eckey , BN_CTX *ctx_in ,
                                                     BIGNUM **kinvp , BIGNUM **rp ) ,
                                   ECDSA_SIG *(*sign_sig)(unsigned char const   *dgst ,
                                                          int dgst_len , BIGNUM const   *in_kinv ,
                                                          BIGNUM const   *in_r , EC_KEY *eckey ) ) ;
extern void EC_KEY_METHOD_set_verify(EC_KEY_METHOD *meth , int (*verify)(int type ,
                                                                         unsigned char const   *dgst ,
                                                                         int dgst_len ,
                                                                         unsigned char const   *sigbuf ,
                                                                         int sig_len ,
                                                                         EC_KEY *eckey ) ,
                                     int (*verify_sig)(unsigned char const   *dgst ,
                                                       int dgst_len , ECDSA_SIG const   *sig ,
                                                       EC_KEY *eckey ) ) ;
extern void EC_KEY_METHOD_get_init(EC_KEY_METHOD const   *meth , int (**pinit)(EC_KEY *key ) ,
                                   void (**pfinish)(EC_KEY *key ) , int (**pcopy)(EC_KEY *dest ,
                                                                                  EC_KEY const   *src ) ,
                                   int (**pset_group)(EC_KEY *key , EC_GROUP const   *grp ) ,
                                   int (**pset_private)(EC_KEY *key , BIGNUM const   *priv_key ) ,
                                   int (**pset_public)(EC_KEY *key , EC_POINT const   *pub_key ) ) ;
extern void EC_KEY_METHOD_get_keygen(EC_KEY_METHOD const   *meth , int (**pkeygen)(EC_KEY *key ) ) ;
extern void EC_KEY_METHOD_get_compute_key(EC_KEY_METHOD const   *meth , int (**pck)(unsigned char **psec ,
                                                                                    size_t *pseclen ,
                                                                                    EC_POINT const   *pub_key ,
                                                                                    EC_KEY const   *ecdh ) ) ;
extern void EC_KEY_METHOD_get_sign(EC_KEY_METHOD const   *meth , int (**psign)(int type ,
                                                                               unsigned char const   *dgst ,
                                                                               int dlen ,
                                                                               unsigned char *sig ,
                                                                               unsigned int *siglen ,
                                                                               BIGNUM const   *kinv ,
                                                                               BIGNUM const   *r ,
                                                                               EC_KEY *eckey ) ,
                                   int (**psign_setup)(EC_KEY *eckey , BN_CTX *ctx_in ,
                                                       BIGNUM **kinvp , BIGNUM **rp ) ,
                                   ECDSA_SIG *(**psign_sig)(unsigned char const   *dgst ,
                                                            int dgst_len , BIGNUM const   *in_kinv ,
                                                            BIGNUM const   *in_r ,
                                                            EC_KEY *eckey ) ) ;
extern void EC_KEY_METHOD_get_verify(EC_KEY_METHOD const   *meth , int (**pverify)(int type ,
                                                                                   unsigned char const   *dgst ,
                                                                                   int dgst_len ,
                                                                                   unsigned char const   *sigbuf ,
                                                                                   int sig_len ,
                                                                                   EC_KEY *eckey ) ,
                                     int (**pverify_sig)(unsigned char const   *dgst ,
                                                         int dgst_len , ECDSA_SIG const   *sig ,
                                                         EC_KEY *eckey ) ) ;
extern int ERR_load_RSA_strings(void) ;
extern RSA *RSA_new(void) ;
extern RSA *RSA_new_method(ENGINE *engine ) ;
extern int RSA_bits(RSA const   *rsa ) ;
extern int RSA_size(RSA const   *rsa ) ;
extern int RSA_security_bits(RSA const   *rsa ) ;
extern int RSA_set0_key(RSA *r , BIGNUM *n , BIGNUM *e , BIGNUM *d ) ;
extern int RSA_set0_factors(RSA *r , BIGNUM *p , BIGNUM *q ) ;
extern int RSA_set0_crt_params(RSA *r , BIGNUM *dmp1 , BIGNUM *dmq1 , BIGNUM *iqmp ) ;
extern int RSA_set0_multi_prime_params(RSA *r , BIGNUM **primes , BIGNUM **exps ,
                                       BIGNUM **coeffs , int pnum ) ;
extern void RSA_get0_key(RSA const   *r , BIGNUM const   **n , BIGNUM const   **e ,
                         BIGNUM const   **d ) ;
extern void RSA_get0_factors(RSA const   *r , BIGNUM const   **p , BIGNUM const   **q ) ;
extern int RSA_get_multi_prime_extra_count(RSA const   *r ) ;
extern int RSA_get0_multi_prime_factors(RSA const   *r , BIGNUM const   **primes ) ;
extern void RSA_get0_crt_params(RSA const   *r , BIGNUM const   **dmp1 , BIGNUM const   **dmq1 ,
                                BIGNUM const   **iqmp ) ;
extern int RSA_get0_multi_prime_crt_params(RSA const   *r , BIGNUM const   **exps ,
                                           BIGNUM const   **coeffs ) ;
extern BIGNUM const   *RSA_get0_n(RSA const   *d ) ;
extern BIGNUM const   *RSA_get0_e(RSA const   *d ) ;
extern BIGNUM const   *RSA_get0_d(RSA const   *d ) ;
extern BIGNUM const   *RSA_get0_p(RSA const   *d ) ;
extern BIGNUM const   *RSA_get0_q(RSA const   *d ) ;
extern BIGNUM const   *RSA_get0_dmp1(RSA const   *r ) ;
extern BIGNUM const   *RSA_get0_dmq1(RSA const   *r ) ;
extern BIGNUM const   *RSA_get0_iqmp(RSA const   *r ) ;
extern void RSA_clear_flags(RSA *r , int flags ) ;
extern int RSA_test_flags(RSA const   *r , int flags ) ;
extern void RSA_set_flags(RSA *r , int flags ) ;
extern int RSA_get_version(RSA *r ) ;
extern ENGINE *RSA_get0_engine(RSA const   *r ) ;
extern RSA *RSA_generate_key(int bits , unsigned long e , void (*callback)(int  ,
                                                                           int  ,
                                                                           void * ) ,
                             void *cb_arg )  __attribute__((__deprecated__)) ;
extern int RSA_generate_key_ex(RSA *rsa , int bits , BIGNUM *e , BN_GENCB *cb ) ;
extern int RSA_generate_multi_prime_key(RSA *rsa , int bits , int primes , BIGNUM *e ,
                                        BN_GENCB *cb ) ;
extern int RSA_X931_derive_ex(RSA *rsa , BIGNUM *p1 , BIGNUM *p2 , BIGNUM *q1 , BIGNUM *q2 ,
                              BIGNUM const   *Xp1 , BIGNUM const   *Xp2 , BIGNUM const   *Xp ,
                              BIGNUM const   *Xq1 , BIGNUM const   *Xq2 , BIGNUM const   *Xq ,
                              BIGNUM const   *e , BN_GENCB *cb ) ;
extern int RSA_X931_generate_key_ex(RSA *rsa , int bits , BIGNUM const   *e , BN_GENCB *cb ) ;
extern int RSA_check_key(RSA const   * ) ;
extern int RSA_check_key_ex(RSA const   * , BN_GENCB *cb ) ;
extern int RSA_public_encrypt(int flen , unsigned char const   *from , unsigned char *to ,
                              RSA *rsa , int padding ) ;
extern int RSA_private_encrypt(int flen , unsigned char const   *from , unsigned char *to ,
                               RSA *rsa , int padding ) ;
extern int RSA_public_decrypt(int flen , unsigned char const   *from , unsigned char *to ,
                              RSA *rsa , int padding ) ;
extern int RSA_private_decrypt(int flen , unsigned char const   *from , unsigned char *to ,
                               RSA *rsa , int padding ) ;
extern void RSA_free(RSA *r ) ;
extern int RSA_up_ref(RSA *r ) ;
extern int RSA_flags(RSA const   *r ) ;
extern void RSA_set_default_method(RSA_METHOD const   *meth ) ;
extern RSA_METHOD const   *RSA_get_default_method(void) ;
extern RSA_METHOD const   *RSA_null_method(void) ;
extern RSA_METHOD const   *RSA_get_method(RSA const   *rsa ) ;
extern int RSA_set_method(RSA *rsa , RSA_METHOD const   *meth ) ;
extern RSA_METHOD const   *RSA_PKCS1_OpenSSL(void) ;
extern int RSA_pkey_ctx_ctrl(EVP_PKEY_CTX *ctx , int optype , int cmd , int p1 , void *p2 ) ;
extern RSA *d2i_RSAPublicKey(RSA **a , unsigned char const   **in , long len ) ;
extern int i2d_RSAPublicKey(RSA const   *a , unsigned char **out ) ;
extern ASN1_ITEM const   RSAPublicKey_it ;
extern RSA *d2i_RSAPrivateKey(RSA **a , unsigned char const   **in , long len ) ;
extern int i2d_RSAPrivateKey(RSA const   *a , unsigned char **out ) ;
extern ASN1_ITEM const   RSAPrivateKey_it ;
extern RSA_PSS_PARAMS *RSA_PSS_PARAMS_new(void) ;
extern void RSA_PSS_PARAMS_free(RSA_PSS_PARAMS *a ) ;
extern RSA_PSS_PARAMS *d2i_RSA_PSS_PARAMS(RSA_PSS_PARAMS **a , unsigned char const   **in ,
                                          long len ) ;
extern int i2d_RSA_PSS_PARAMS(RSA_PSS_PARAMS *a , unsigned char **out ) ;
extern ASN1_ITEM const   RSA_PSS_PARAMS_it ;
extern RSA_OAEP_PARAMS *RSA_OAEP_PARAMS_new(void) ;
extern void RSA_OAEP_PARAMS_free(RSA_OAEP_PARAMS *a ) ;
extern RSA_OAEP_PARAMS *d2i_RSA_OAEP_PARAMS(RSA_OAEP_PARAMS **a , unsigned char const   **in ,
                                            long len ) ;
extern int i2d_RSA_OAEP_PARAMS(RSA_OAEP_PARAMS *a , unsigned char **out ) ;
extern ASN1_ITEM const   RSA_OAEP_PARAMS_it ;
extern int RSA_print_fp(FILE *fp , RSA const   *r , int offset ) ;
extern int RSA_print(BIO *bp , RSA const   *r , int offset ) ;
extern int RSA_sign(int type , unsigned char const   *m , unsigned int m_length ,
                    unsigned char *sigret , unsigned int *siglen , RSA *rsa ) ;
extern int RSA_verify(int type , unsigned char const   *m , unsigned int m_length ,
                      unsigned char const   *sigbuf , unsigned int siglen , RSA *rsa ) ;
extern int RSA_sign_ASN1_OCTET_STRING(int type , unsigned char const   *m , unsigned int m_length ,
                                      unsigned char *sigret , unsigned int *siglen ,
                                      RSA *rsa ) ;
extern int RSA_verify_ASN1_OCTET_STRING(int type , unsigned char const   *m , unsigned int m_length ,
                                        unsigned char *sigbuf , unsigned int siglen ,
                                        RSA *rsa ) ;
extern int RSA_blinding_on(RSA *rsa , BN_CTX *ctx ) ;
extern void RSA_blinding_off(RSA *rsa ) ;
extern BN_BLINDING *RSA_setup_blinding(RSA *rsa , BN_CTX *ctx ) ;
extern int RSA_padding_add_PKCS1_type_1(unsigned char *to , int tlen , unsigned char const   *f ,
                                        int fl ) ;
extern int RSA_padding_check_PKCS1_type_1(unsigned char *to , int tlen , unsigned char const   *f ,
                                          int fl , int rsa_len ) ;
extern int RSA_padding_add_PKCS1_type_2(unsigned char *to , int tlen , unsigned char const   *f ,
                                        int fl ) ;
extern int RSA_padding_check_PKCS1_type_2(unsigned char *to , int tlen , unsigned char const   *f ,
                                          int fl , int rsa_len ) ;
extern int PKCS1_MGF1(unsigned char *mask , long len , unsigned char const   *seed ,
                      long seedlen , EVP_MD const   *dgst ) ;
extern int RSA_padding_add_PKCS1_OAEP(unsigned char *to , int tlen , unsigned char const   *f ,
                                      int fl , unsigned char const   *p , int pl ) ;
extern int RSA_padding_check_PKCS1_OAEP(unsigned char *to , int tlen , unsigned char const   *f ,
                                        int fl , int rsa_len , unsigned char const   *p ,
                                        int pl ) ;
extern int RSA_padding_add_PKCS1_OAEP_mgf1(unsigned char *to , int tlen , unsigned char const   *from ,
                                           int flen , unsigned char const   *param ,
                                           int plen , EVP_MD const   *md , EVP_MD const   *mgf1md ) ;
extern int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to , int tlen , unsigned char const   *from ,
                                             int flen , int num , unsigned char const   *param ,
                                             int plen , EVP_MD const   *md , EVP_MD const   *mgf1md ) ;
extern int RSA_padding_add_SSLv23(unsigned char *to , int tlen , unsigned char const   *f ,
                                  int fl ) ;
extern int RSA_padding_check_SSLv23(unsigned char *to , int tlen , unsigned char const   *f ,
                                    int fl , int rsa_len ) ;
extern int RSA_padding_add_none(unsigned char *to , int tlen , unsigned char const   *f ,
                                int fl ) ;
extern int RSA_padding_check_none(unsigned char *to , int tlen , unsigned char const   *f ,
                                  int fl , int rsa_len ) ;
extern int RSA_padding_add_X931(unsigned char *to , int tlen , unsigned char const   *f ,
                                int fl ) ;
extern int RSA_padding_check_X931(unsigned char *to , int tlen , unsigned char const   *f ,
                                  int fl , int rsa_len ) ;
extern int RSA_X931_hash_id(int nid ) ;
extern int RSA_verify_PKCS1_PSS(RSA *rsa , unsigned char const   *mHash , EVP_MD const   *Hash ,
                                unsigned char const   *EM , int sLen ) ;
extern int RSA_padding_add_PKCS1_PSS(RSA *rsa , unsigned char *EM , unsigned char const   *mHash ,
                                     EVP_MD const   *Hash , int sLen ) ;
extern int RSA_verify_PKCS1_PSS_mgf1(RSA *rsa , unsigned char const   *mHash , EVP_MD const   *Hash ,
                                     EVP_MD const   *mgf1Hash , unsigned char const   *EM ,
                                     int sLen ) ;
extern int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa , unsigned char *EM , unsigned char const   *mHash ,
                                          EVP_MD const   *Hash , EVP_MD const   *mgf1Hash ,
                                          int sLen ) ;
extern int RSA_set_ex_data(RSA *r , int idx , void *arg ) ;
extern void *RSA_get_ex_data(RSA const   *r , int idx ) ;
extern RSA *RSAPublicKey_dup(RSA *rsa ) ;
extern RSA *RSAPrivateKey_dup(RSA *rsa ) ;
extern RSA_METHOD *RSA_meth_new(char const   *name , int flags ) ;
extern void RSA_meth_free(RSA_METHOD *meth ) ;
extern RSA_METHOD *RSA_meth_dup(RSA_METHOD const   *meth ) ;
extern char const   *RSA_meth_get0_name(RSA_METHOD const   *meth ) ;
extern int RSA_meth_set1_name(RSA_METHOD *meth , char const   *name ) ;
extern int RSA_meth_get_flags(RSA_METHOD const   *meth ) ;
extern int RSA_meth_set_flags(RSA_METHOD *meth , int flags ) ;
extern void *RSA_meth_get0_app_data(RSA_METHOD const   *meth ) ;
extern int RSA_meth_set0_app_data(RSA_METHOD *meth , void *app_data ) ;
extern int (*RSA_meth_get_pub_enc(RSA_METHOD const   *meth ))(int flen , unsigned char const   *from ,
                                                              unsigned char *to ,
                                                              RSA *rsa , int padding ) ;
extern int RSA_meth_set_pub_enc(RSA_METHOD *rsa , int (*pub_enc)(int flen , unsigned char const   *from ,
                                                                 unsigned char *to ,
                                                                 RSA *rsa , int padding ) ) ;
extern int (*RSA_meth_get_pub_dec(RSA_METHOD const   *meth ))(int flen , unsigned char const   *from ,
                                                              unsigned char *to ,
                                                              RSA *rsa , int padding ) ;
extern int RSA_meth_set_pub_dec(RSA_METHOD *rsa , int (*pub_dec)(int flen , unsigned char const   *from ,
                                                                 unsigned char *to ,
                                                                 RSA *rsa , int padding ) ) ;
extern int (*RSA_meth_get_priv_enc(RSA_METHOD const   *meth ))(int flen , unsigned char const   *from ,
                                                               unsigned char *to ,
                                                               RSA *rsa , int padding ) ;
extern int RSA_meth_set_priv_enc(RSA_METHOD *rsa , int (*priv_enc)(int flen , unsigned char const   *from ,
                                                                   unsigned char *to ,
                                                                   RSA *rsa , int padding ) ) ;
extern int (*RSA_meth_get_priv_dec(RSA_METHOD const   *meth ))(int flen , unsigned char const   *from ,
                                                               unsigned char *to ,
                                                               RSA *rsa , int padding ) ;
extern int RSA_meth_set_priv_dec(RSA_METHOD *rsa , int (*priv_dec)(int flen , unsigned char const   *from ,
                                                                   unsigned char *to ,
                                                                   RSA *rsa , int padding ) ) ;
extern int (*RSA_meth_get_mod_exp(RSA_METHOD const   *meth ))(BIGNUM *r0 , BIGNUM const   *I ,
                                                              RSA *rsa , BN_CTX *ctx ) ;
extern int RSA_meth_set_mod_exp(RSA_METHOD *rsa , int (*mod_exp)(BIGNUM *r0 , BIGNUM const   *I ,
                                                                 RSA *rsa , BN_CTX *ctx ) ) ;
extern int (*RSA_meth_get_bn_mod_exp(RSA_METHOD const   *meth ))(BIGNUM *r , BIGNUM const   *a ,
                                                                 BIGNUM const   *p ,
                                                                 BIGNUM const   *m ,
                                                                 BN_CTX *ctx , BN_MONT_CTX *m_ctx ) ;
extern int RSA_meth_set_bn_mod_exp(RSA_METHOD *rsa , int (*bn_mod_exp)(BIGNUM *r ,
                                                                       BIGNUM const   *a ,
                                                                       BIGNUM const   *p ,
                                                                       BIGNUM const   *m ,
                                                                       BN_CTX *ctx ,
                                                                       BN_MONT_CTX *m_ctx ) ) ;
extern int (*RSA_meth_get_init(RSA_METHOD const   *meth ))(RSA *rsa ) ;
extern int RSA_meth_set_init(RSA_METHOD *rsa , int (*init)(RSA *rsa ) ) ;
extern int (*RSA_meth_get_finish(RSA_METHOD const   *meth ))(RSA *rsa ) ;
extern int RSA_meth_set_finish(RSA_METHOD *rsa , int (*finish)(RSA *rsa ) ) ;
extern int (*RSA_meth_get_sign(RSA_METHOD const   *meth ))(int type , unsigned char const   *m ,
                                                           unsigned int m_length ,
                                                           unsigned char *sigret ,
                                                           unsigned int *siglen ,
                                                           RSA const   *rsa ) ;
extern int RSA_meth_set_sign(RSA_METHOD *rsa , int (*sign)(int type , unsigned char const   *m ,
                                                           unsigned int m_length ,
                                                           unsigned char *sigret ,
                                                           unsigned int *siglen ,
                                                           RSA const   *rsa ) ) ;
extern int (*RSA_meth_get_verify(RSA_METHOD const   *meth ))(int dtype , unsigned char const   *m ,
                                                             unsigned int m_length ,
                                                             unsigned char const   *sigbuf ,
                                                             unsigned int siglen ,
                                                             RSA const   *rsa ) ;
extern int RSA_meth_set_verify(RSA_METHOD *rsa , int (*verify)(int dtype , unsigned char const   *m ,
                                                               unsigned int m_length ,
                                                               unsigned char const   *sigbuf ,
                                                               unsigned int siglen ,
                                                               RSA const   *rsa ) ) ;
extern int (*RSA_meth_get_keygen(RSA_METHOD const   *meth ))(RSA *rsa , int bits ,
                                                             BIGNUM *e , BN_GENCB *cb ) ;
extern int RSA_meth_set_keygen(RSA_METHOD *rsa , int (*keygen)(RSA *rsa , int bits ,
                                                               BIGNUM *e , BN_GENCB *cb ) ) ;
extern int (*RSA_meth_get_multi_prime_keygen(RSA_METHOD const   *meth ))(RSA *rsa ,
                                                                         int bits ,
                                                                         int primes ,
                                                                         BIGNUM *e ,
                                                                         BN_GENCB *cb ) ;
extern int RSA_meth_set_multi_prime_keygen(RSA_METHOD *meth , int (*keygen)(RSA *rsa ,
                                                                            int bits ,
                                                                            int primes ,
                                                                            BIGNUM *e ,
                                                                            BN_GENCB *cb ) ) ;
extern int ERR_load_DH_strings(void) ;
extern ASN1_ITEM const   DHparams_it ;
extern DH *DHparams_dup(DH * ) ;
extern DH_METHOD const   *DH_OpenSSL(void) ;
extern void DH_set_default_method(DH_METHOD const   *meth ) ;
extern DH_METHOD const   *DH_get_default_method(void) ;
extern int DH_set_method(DH *dh , DH_METHOD const   *meth ) ;
extern DH *DH_new_method(ENGINE *engine ) ;
extern DH *DH_new(void) ;
extern void DH_free(DH *dh ) ;
extern int DH_up_ref(DH *dh ) ;
extern int DH_bits(DH const   *dh ) ;
extern int DH_size(DH const   *dh ) ;
extern int DH_security_bits(DH const   *dh ) ;
extern int DH_set_ex_data(DH *d , int idx , void *arg ) ;
extern void *DH_get_ex_data(DH *d , int idx ) ;
extern DH *DH_generate_parameters(int prime_len , int generator , void (*callback)(int  ,
                                                                                   int  ,
                                                                                   void * ) ,
                                  void *cb_arg )  __attribute__((__deprecated__)) ;
extern int DH_generate_parameters_ex(DH *dh , int prime_len , int generator , BN_GENCB *cb ) ;
extern int DH_check_params_ex(DH const   *dh ) ;
extern int DH_check_ex(DH const   *dh ) ;
extern int DH_check_pub_key_ex(DH const   *dh , BIGNUM const   *pub_key ) ;
extern int DH_check_params(DH const   *dh , int *ret ) ;
extern int DH_check(DH const   *dh , int *codes ) ;
extern int DH_check_pub_key(DH const   *dh , BIGNUM const   *pub_key , int *codes ) ;
extern int DH_generate_key(DH *dh ) ;
extern int DH_compute_key(unsigned char *key , BIGNUM const   *pub_key , DH *dh ) ;
extern int DH_compute_key_padded(unsigned char *key , BIGNUM const   *pub_key , DH *dh ) ;
extern DH *d2i_DHparams(DH **a , unsigned char const   **pp , long length ) ;
extern int i2d_DHparams(DH const   *a , unsigned char **pp ) ;
extern DH *d2i_DHxparams(DH **a , unsigned char const   **pp , long length ) ;
extern int i2d_DHxparams(DH const   *a , unsigned char **pp ) ;
extern int DHparams_print_fp(FILE *fp , DH const   *x ) ;
extern int DHparams_print(BIO *bp , DH const   *x ) ;
extern DH *DH_get_1024_160(void) ;
extern DH *DH_get_2048_224(void) ;
extern DH *DH_get_2048_256(void) ;
extern DH *DH_new_by_nid(int nid ) ;
extern int DH_get_nid(DH const   *dh ) ;
extern int DH_KDF_X9_42(unsigned char *out , size_t outlen , unsigned char const   *Z ,
                        size_t Zlen , ASN1_OBJECT *key_oid , unsigned char const   *ukm ,
                        size_t ukmlen , EVP_MD const   *md ) ;
extern void DH_get0_pqg(DH const   *dh , BIGNUM const   **p , BIGNUM const   **q ,
                        BIGNUM const   **g ) ;
extern int DH_set0_pqg(DH *dh , BIGNUM *p , BIGNUM *q , BIGNUM *g ) ;
extern void DH_get0_key(DH const   *dh , BIGNUM const   **pub_key , BIGNUM const   **priv_key ) ;
extern int DH_set0_key(DH *dh , BIGNUM *pub_key , BIGNUM *priv_key ) ;
extern BIGNUM const   *DH_get0_p(DH const   *dh ) ;
extern BIGNUM const   *DH_get0_q(DH const   *dh ) ;
extern BIGNUM const   *DH_get0_g(DH const   *dh ) ;
extern BIGNUM const   *DH_get0_priv_key(DH const   *dh ) ;
extern BIGNUM const   *DH_get0_pub_key(DH const   *dh ) ;
extern void DH_clear_flags(DH *dh , int flags ) ;
extern int DH_test_flags(DH const   *dh , int flags ) ;
extern void DH_set_flags(DH *dh , int flags ) ;
extern ENGINE *DH_get0_engine(DH *d ) ;
extern long DH_get_length(DH const   *dh ) ;
extern int DH_set_length(DH *dh , long length ) ;
extern DH_METHOD *DH_meth_new(char const   *name , int flags ) ;
extern void DH_meth_free(DH_METHOD *dhm ) ;
extern DH_METHOD *DH_meth_dup(DH_METHOD const   *dhm ) ;
extern char const   *DH_meth_get0_name(DH_METHOD const   *dhm ) ;
extern int DH_meth_set1_name(DH_METHOD *dhm , char const   *name ) ;
extern int DH_meth_get_flags(DH_METHOD const   *dhm ) ;
extern int DH_meth_set_flags(DH_METHOD *dhm , int flags ) ;
extern void *DH_meth_get0_app_data(DH_METHOD const   *dhm ) ;
extern int DH_meth_set0_app_data(DH_METHOD *dhm , void *app_data ) ;
extern int (*DH_meth_get_generate_key(DH_METHOD const   *dhm ))(DH * ) ;
extern int DH_meth_set_generate_key(DH_METHOD *dhm , int (*generate_key)(DH * ) ) ;
extern int (*DH_meth_get_compute_key(DH_METHOD const   *dhm ))(unsigned char *key ,
                                                               BIGNUM const   *pub_key ,
                                                               DH *dh ) ;
extern int DH_meth_set_compute_key(DH_METHOD *dhm , int (*compute_key)(unsigned char *key ,
                                                                       BIGNUM const   *pub_key ,
                                                                       DH *dh ) ) ;
extern int (*DH_meth_get_bn_mod_exp(DH_METHOD const   *dhm ))(DH const   * , BIGNUM * ,
                                                              BIGNUM const   * , BIGNUM const   * ,
                                                              BIGNUM const   * , BN_CTX * ,
                                                              BN_MONT_CTX * ) ;
extern int DH_meth_set_bn_mod_exp(DH_METHOD *dhm , int (*bn_mod_exp)(DH const   * ,
                                                                     BIGNUM * , BIGNUM const   * ,
                                                                     BIGNUM const   * ,
                                                                     BIGNUM const   * ,
                                                                     BN_CTX * , BN_MONT_CTX * ) ) ;
extern int (*DH_meth_get_init(DH_METHOD const   *dhm ))(DH * ) ;
extern int DH_meth_set_init(DH_METHOD *dhm , int (*init)(DH * ) ) ;
extern int (*DH_meth_get_finish(DH_METHOD const   *dhm ))(DH * ) ;
extern int DH_meth_set_finish(DH_METHOD *dhm , int (*finish)(DH * ) ) ;
extern int (*DH_meth_get_generate_params(DH_METHOD const   *dhm ))(DH * , int  , int  ,
                                                                   BN_GENCB * ) ;
extern int DH_meth_set_generate_params(DH_METHOD *dhm , int (*generate_params)(DH * ,
                                                                               int  ,
                                                                               int  ,
                                                                               BN_GENCB * ) ) ;
extern int ERR_load_DSA_strings(void) ;
extern DSA *DSAparams_dup(DSA *x ) ;
extern DSA_SIG *DSA_SIG_new(void) ;
extern void DSA_SIG_free(DSA_SIG *a ) ;
extern int i2d_DSA_SIG(DSA_SIG const   *a , unsigned char **pp ) ;
extern DSA_SIG *d2i_DSA_SIG(DSA_SIG **v , unsigned char const   **pp , long length ) ;
extern void DSA_SIG_get0(DSA_SIG const   *sig , BIGNUM const   **pr , BIGNUM const   **ps ) ;
extern int DSA_SIG_set0(DSA_SIG *sig , BIGNUM *r , BIGNUM *s ) ;
extern DSA_SIG *DSA_do_sign(unsigned char const   *dgst , int dlen , DSA *dsa ) ;
extern int DSA_do_verify(unsigned char const   *dgst , int dgst_len , DSA_SIG *sig ,
                         DSA *dsa ) ;
extern DSA_METHOD const   *DSA_OpenSSL(void) ;
extern void DSA_set_default_method(DSA_METHOD const   * ) ;
extern DSA_METHOD const   *DSA_get_default_method(void) ;
extern int DSA_set_method(DSA *dsa , DSA_METHOD const   * ) ;
extern DSA_METHOD const   *DSA_get_method(DSA *d ) ;
extern DSA *DSA_new(void) ;
extern DSA *DSA_new_method(ENGINE *engine ) ;
extern void DSA_free(DSA *r ) ;
extern int DSA_up_ref(DSA *r ) ;
extern int DSA_size(DSA const   * ) ;
extern int DSA_bits(DSA const   *d ) ;
extern int DSA_security_bits(DSA const   *d ) ;
extern int DSA_sign_setup(DSA *dsa , BN_CTX *ctx_in , BIGNUM **kinvp , BIGNUM **rp ) ;
extern int DSA_sign(int type , unsigned char const   *dgst , int dlen , unsigned char *sig ,
                    unsigned int *siglen , DSA *dsa ) ;
extern int DSA_verify(int type , unsigned char const   *dgst , int dgst_len , unsigned char const   *sigbuf ,
                      int siglen , DSA *dsa ) ;
extern int DSA_set_ex_data(DSA *d , int idx , void *arg ) ;
extern void *DSA_get_ex_data(DSA *d , int idx ) ;
extern DSA *d2i_DSAPublicKey(DSA **a , unsigned char const   **pp , long length ) ;
extern DSA *d2i_DSAPrivateKey(DSA **a , unsigned char const   **pp , long length ) ;
extern DSA *d2i_DSAparams(DSA **a , unsigned char const   **pp , long length ) ;
extern DSA *DSA_generate_parameters(int bits , unsigned char *seed , int seed_len ,
                                    int *counter_ret , unsigned long *h_ret , void (*callback)(int  ,
                                                                                               int  ,
                                                                                               void * ) ,
                                    void *cb_arg )  __attribute__((__deprecated__)) ;
extern int DSA_generate_parameters_ex(DSA *dsa , int bits , unsigned char const   *seed ,
                                      int seed_len , int *counter_ret , unsigned long *h_ret ,
                                      BN_GENCB *cb ) ;
extern int DSA_generate_key(DSA *a ) ;
extern int i2d_DSAPublicKey(DSA const   *a , unsigned char **pp ) ;
extern int i2d_DSAPrivateKey(DSA const   *a , unsigned char **pp ) ;
extern int i2d_DSAparams(DSA const   *a , unsigned char **pp ) ;
extern int DSAparams_print(BIO *bp , DSA const   *x ) ;
extern int DSA_print(BIO *bp , DSA const   *x , int off ) ;
extern int DSAparams_print_fp(FILE *fp , DSA const   *x ) ;
extern int DSA_print_fp(FILE *bp , DSA const   *x , int off ) ;
extern DH *DSA_dup_DH(DSA const   *r ) ;
extern void DSA_get0_pqg(DSA const   *d , BIGNUM const   **p , BIGNUM const   **q ,
                         BIGNUM const   **g ) ;
extern int DSA_set0_pqg(DSA *d , BIGNUM *p , BIGNUM *q , BIGNUM *g ) ;
extern void DSA_get0_key(DSA const   *d , BIGNUM const   **pub_key , BIGNUM const   **priv_key ) ;
extern int DSA_set0_key(DSA *d , BIGNUM *pub_key , BIGNUM *priv_key ) ;
extern BIGNUM const   *DSA_get0_p(DSA const   *d ) ;
extern BIGNUM const   *DSA_get0_q(DSA const   *d ) ;
extern BIGNUM const   *DSA_get0_g(DSA const   *d ) ;
extern BIGNUM const   *DSA_get0_pub_key(DSA const   *d ) ;
extern BIGNUM const   *DSA_get0_priv_key(DSA const   *d ) ;
extern void DSA_clear_flags(DSA *d , int flags ) ;
extern int DSA_test_flags(DSA const   *d , int flags ) ;
extern void DSA_set_flags(DSA *d , int flags ) ;
extern ENGINE *DSA_get0_engine(DSA *d ) ;
extern DSA_METHOD *DSA_meth_new(char const   *name , int flags ) ;
extern void DSA_meth_free(DSA_METHOD *dsam ) ;
extern DSA_METHOD *DSA_meth_dup(DSA_METHOD const   *dsam ) ;
extern char const   *DSA_meth_get0_name(DSA_METHOD const   *dsam ) ;
extern int DSA_meth_set1_name(DSA_METHOD *dsam , char const   *name ) ;
extern int DSA_meth_get_flags(DSA_METHOD const   *dsam ) ;
extern int DSA_meth_set_flags(DSA_METHOD *dsam , int flags ) ;
extern void *DSA_meth_get0_app_data(DSA_METHOD const   *dsam ) ;
extern int DSA_meth_set0_app_data(DSA_METHOD *dsam , void *app_data ) ;
extern DSA_SIG *(*DSA_meth_get_sign(DSA_METHOD const   *dsam ))(unsigned char const   * ,
                                                                int  , DSA * ) ;
extern int DSA_meth_set_sign(DSA_METHOD *dsam , DSA_SIG *(*sign)(unsigned char const   * ,
                                                                 int  , DSA * ) ) ;
extern int (*DSA_meth_get_sign_setup(DSA_METHOD const   *dsam ))(DSA * , BN_CTX * ,
                                                                 BIGNUM ** , BIGNUM ** ) ;
extern int DSA_meth_set_sign_setup(DSA_METHOD *dsam , int (*sign_setup)(DSA * , BN_CTX * ,
                                                                        BIGNUM ** ,
                                                                        BIGNUM ** ) ) ;
extern int (*DSA_meth_get_verify(DSA_METHOD const   *dsam ))(unsigned char const   * ,
                                                             int  , DSA_SIG * , DSA * ) ;
extern int DSA_meth_set_verify(DSA_METHOD *dsam , int (*verify)(unsigned char const   * ,
                                                                int  , DSA_SIG * ,
                                                                DSA * ) ) ;
extern int (*DSA_meth_get_mod_exp(DSA_METHOD const   *dsam ))(DSA * , BIGNUM * , BIGNUM const   * ,
                                                              BIGNUM const   * , BIGNUM const   * ,
                                                              BIGNUM const   * , BIGNUM const   * ,
                                                              BN_CTX * , BN_MONT_CTX * ) ;
extern int DSA_meth_set_mod_exp(DSA_METHOD *dsam , int (*mod_exp)(DSA * , BIGNUM * ,
                                                                  BIGNUM const   * ,
                                                                  BIGNUM const   * ,
                                                                  BIGNUM const   * ,
                                                                  BIGNUM const   * ,
                                                                  BIGNUM const   * ,
                                                                  BN_CTX * , BN_MONT_CTX * ) ) ;
extern int (*DSA_meth_get_bn_mod_exp(DSA_METHOD const   *dsam ))(DSA * , BIGNUM * ,
                                                                 BIGNUM const   * ,
                                                                 BIGNUM const   * ,
                                                                 BIGNUM const   * ,
                                                                 BN_CTX * , BN_MONT_CTX * ) ;
extern int DSA_meth_set_bn_mod_exp(DSA_METHOD *dsam , int (*bn_mod_exp)(DSA * , BIGNUM * ,
                                                                        BIGNUM const   * ,
                                                                        BIGNUM const   * ,
                                                                        BIGNUM const   * ,
                                                                        BN_CTX * ,
                                                                        BN_MONT_CTX * ) ) ;
extern int (*DSA_meth_get_init(DSA_METHOD const   *dsam ))(DSA * ) ;
extern int DSA_meth_set_init(DSA_METHOD *dsam , int (*init)(DSA * ) ) ;
extern int (*DSA_meth_get_finish(DSA_METHOD const   *dsam ))(DSA * ) ;
extern int DSA_meth_set_finish(DSA_METHOD *dsam , int (*finish)(DSA * ) ) ;
extern int (*DSA_meth_get_paramgen(DSA_METHOD const   *dsam ))(DSA * , int  , unsigned char const   * ,
                                                               int  , int * , unsigned long * ,
                                                               BN_GENCB * ) ;
extern int DSA_meth_set_paramgen(DSA_METHOD *dsam , int (*paramgen)(DSA * , int  ,
                                                                    unsigned char const   * ,
                                                                    int  , int * ,
                                                                    unsigned long * ,
                                                                    BN_GENCB * ) ) ;
extern int (*DSA_meth_get_keygen(DSA_METHOD const   *dsam ))(DSA * ) ;
extern int DSA_meth_set_keygen(DSA_METHOD *dsam , int (*keygen)(DSA * ) ) ;
extern int SHA1_Init(SHA_CTX *c ) ;
extern int SHA1_Update(SHA_CTX *c , void const   *data , size_t len ) ;
extern int SHA1_Final(unsigned char *md , SHA_CTX *c ) ;
extern unsigned char *SHA1(unsigned char const   *d , size_t n , unsigned char *md ) ;
extern void SHA1_Transform(SHA_CTX *c , unsigned char const   *data ) ;
extern int SHA224_Init(SHA256_CTX *c ) ;
extern int SHA224_Update(SHA256_CTX *c , void const   *data , size_t len ) ;
extern int SHA224_Final(unsigned char *md , SHA256_CTX *c ) ;
extern unsigned char *SHA224(unsigned char const   *d , size_t n , unsigned char *md ) ;
extern int SHA256_Init(SHA256_CTX *c ) ;
extern int SHA256_Update(SHA256_CTX *c , void const   *data , size_t len ) ;
extern int SHA256_Final(unsigned char *md , SHA256_CTX *c ) ;
extern unsigned char *SHA256(unsigned char const   *d , size_t n , unsigned char *md ) ;
extern void SHA256_Transform(SHA256_CTX *c , unsigned char const   *data ) ;
extern int SHA384_Init(SHA512_CTX *c ) ;
extern int SHA384_Update(SHA512_CTX *c , void const   *data , size_t len ) ;
extern int SHA384_Final(unsigned char *md , SHA512_CTX *c ) ;
extern unsigned char *SHA384(unsigned char const   *d , size_t n , unsigned char *md ) ;
extern int SHA512_Init(SHA512_CTX *c ) ;
extern int SHA512_Update(SHA512_CTX *c , void const   *data , size_t len ) ;
extern int SHA512_Final(unsigned char *md , SHA512_CTX *c ) ;
extern unsigned char *SHA512(unsigned char const   *d , size_t n , unsigned char *md ) ;
extern void SHA512_Transform(SHA512_CTX *c , unsigned char const   *data ) ;
extern int ERR_load_X509_strings(void) ;
__inline static int sk_X509_NAME_ENTRY_num(struct stack_st_X509_NAME_ENTRY  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static X509_NAME_ENTRY *sk_X509_NAME_ENTRY_value(struct stack_st_X509_NAME_ENTRY  const  *sk ,
                                                          int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((X509_NAME_ENTRY *)tmp);
}
}
__inline static struct stack_st_X509_NAME_ENTRY *sk_X509_NAME_ENTRY_new(int (*compare___1)(X509_NAME_ENTRY const   **a ,
                                                                                           X509_NAME_ENTRY const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_X509_NAME_ENTRY *)tmp);
}
}
__inline static struct stack_st_X509_NAME_ENTRY *sk_X509_NAME_ENTRY_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_X509_NAME_ENTRY *)tmp);
}
}
__inline static struct stack_st_X509_NAME_ENTRY *sk_X509_NAME_ENTRY_new_reserve(int (*compare___1)(X509_NAME_ENTRY const   **a ,
                                                                                                   X509_NAME_ENTRY const   **b ) ,
                                                                                int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_X509_NAME_ENTRY *)tmp);
}
}
__inline static int sk_X509_NAME_ENTRY_reserve(struct stack_st_X509_NAME_ENTRY *sk ,
                                               int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_X509_NAME_ENTRY_free(struct stack_st_X509_NAME_ENTRY *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_X509_NAME_ENTRY_zero(struct stack_st_X509_NAME_ENTRY *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static X509_NAME_ENTRY *sk_X509_NAME_ENTRY_delete(struct stack_st_X509_NAME_ENTRY *sk ,
                                                           int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((X509_NAME_ENTRY *)tmp);
}
}
__inline static X509_NAME_ENTRY *sk_X509_NAME_ENTRY_delete_ptr(struct stack_st_X509_NAME_ENTRY *sk ,
                                                               X509_NAME_ENTRY *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((X509_NAME_ENTRY *)tmp);
}
}
__inline static int sk_X509_NAME_ENTRY_push(struct stack_st_X509_NAME_ENTRY *sk ,
                                            X509_NAME_ENTRY *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_NAME_ENTRY_unshift(struct stack_st_X509_NAME_ENTRY *sk ,
                                               X509_NAME_ENTRY *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static X509_NAME_ENTRY *sk_X509_NAME_ENTRY_pop(struct stack_st_X509_NAME_ENTRY *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((X509_NAME_ENTRY *)tmp);
}
}
__inline static X509_NAME_ENTRY *sk_X509_NAME_ENTRY_shift(struct stack_st_X509_NAME_ENTRY *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((X509_NAME_ENTRY *)tmp);
}
}
__inline static void sk_X509_NAME_ENTRY_pop_free(struct stack_st_X509_NAME_ENTRY *sk ,
                                                 void (*freefunc)(X509_NAME_ENTRY *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_X509_NAME_ENTRY_insert(struct stack_st_X509_NAME_ENTRY *sk ,
                                              X509_NAME_ENTRY *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static X509_NAME_ENTRY *sk_X509_NAME_ENTRY_set(struct stack_st_X509_NAME_ENTRY *sk ,
                                                        int idx___0 , X509_NAME_ENTRY *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((X509_NAME_ENTRY *)tmp);
}
}
__inline static int sk_X509_NAME_ENTRY_find(struct stack_st_X509_NAME_ENTRY *sk ,
                                            X509_NAME_ENTRY *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_NAME_ENTRY_find_ex(struct stack_st_X509_NAME_ENTRY *sk ,
                                               X509_NAME_ENTRY *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_X509_NAME_ENTRY_sort(struct stack_st_X509_NAME_ENTRY *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_X509_NAME_ENTRY_is_sorted(struct stack_st_X509_NAME_ENTRY  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_X509_NAME_ENTRY *sk_X509_NAME_ENTRY_dup(struct stack_st_X509_NAME_ENTRY  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_X509_NAME_ENTRY *)tmp);
}
}
__inline static struct stack_st_X509_NAME_ENTRY *sk_X509_NAME_ENTRY_deep_copy(struct stack_st_X509_NAME_ENTRY  const  *sk ,
                                                                              X509_NAME_ENTRY *(*copyfunc)(X509_NAME_ENTRY const   *a ) ,
                                                                              void (*freefunc)(X509_NAME_ENTRY *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_X509_NAME_ENTRY *)tmp);
}
}
__inline static sk_X509_NAME_ENTRY_compfunc sk_X509_NAME_ENTRY_set_cmp_func(struct stack_st_X509_NAME_ENTRY *sk ,
                                                                            int (*compare___1)(X509_NAME_ENTRY const   **a ,
                                                                                               X509_NAME_ENTRY const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(X509_NAME_ENTRY const   **a , X509_NAME_ENTRY const   **b ))tmp);
}
}
__inline static int sk_X509_NAME_num(struct stack_st_X509_NAME  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static X509_NAME *sk_X509_NAME_value(struct stack_st_X509_NAME  const  *sk ,
                                              int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((X509_NAME *)tmp);
}
}
__inline static struct stack_st_X509_NAME *sk_X509_NAME_new(int (*compare___1)(X509_NAME const   **a ,
                                                                               X509_NAME const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_X509_NAME *)tmp);
}
}
__inline static struct stack_st_X509_NAME *sk_X509_NAME_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_X509_NAME *)tmp);
}
}
__inline static struct stack_st_X509_NAME *sk_X509_NAME_new_reserve(int (*compare___1)(X509_NAME const   **a ,
                                                                                       X509_NAME const   **b ) ,
                                                                    int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_X509_NAME *)tmp);
}
}
__inline static int sk_X509_NAME_reserve(struct stack_st_X509_NAME *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_X509_NAME_free(struct stack_st_X509_NAME *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_X509_NAME_zero(struct stack_st_X509_NAME *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static X509_NAME *sk_X509_NAME_delete(struct stack_st_X509_NAME *sk , int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((X509_NAME *)tmp);
}
}
__inline static X509_NAME *sk_X509_NAME_delete_ptr(struct stack_st_X509_NAME *sk ,
                                                   X509_NAME *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((X509_NAME *)tmp);
}
}
__inline static int sk_X509_NAME_push(struct stack_st_X509_NAME *sk , X509_NAME *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_NAME_unshift(struct stack_st_X509_NAME *sk , X509_NAME *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static X509_NAME *sk_X509_NAME_pop(struct stack_st_X509_NAME *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((X509_NAME *)tmp);
}
}
__inline static X509_NAME *sk_X509_NAME_shift(struct stack_st_X509_NAME *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((X509_NAME *)tmp);
}
}
__inline static void sk_X509_NAME_pop_free(struct stack_st_X509_NAME *sk , void (*freefunc)(X509_NAME *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_X509_NAME_insert(struct stack_st_X509_NAME *sk , X509_NAME *ptr ,
                                        int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static X509_NAME *sk_X509_NAME_set(struct stack_st_X509_NAME *sk , int idx___0 ,
                                            X509_NAME *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((X509_NAME *)tmp);
}
}
__inline static int sk_X509_NAME_find(struct stack_st_X509_NAME *sk , X509_NAME *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_NAME_find_ex(struct stack_st_X509_NAME *sk , X509_NAME *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_X509_NAME_sort(struct stack_st_X509_NAME *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_X509_NAME_is_sorted(struct stack_st_X509_NAME  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_X509_NAME *sk_X509_NAME_dup(struct stack_st_X509_NAME  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_X509_NAME *)tmp);
}
}
__inline static struct stack_st_X509_NAME *sk_X509_NAME_deep_copy(struct stack_st_X509_NAME  const  *sk ,
                                                                  X509_NAME *(*copyfunc)(X509_NAME const   *a ) ,
                                                                  void (*freefunc)(X509_NAME *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_X509_NAME *)tmp);
}
}
__inline static sk_X509_NAME_compfunc sk_X509_NAME_set_cmp_func(struct stack_st_X509_NAME *sk ,
                                                                int (*compare___1)(X509_NAME const   **a ,
                                                                                   X509_NAME const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(X509_NAME const   **a , X509_NAME const   **b ))tmp);
}
}
__inline static int sk_X509_EXTENSION_num(struct stack_st_X509_EXTENSION  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static X509_EXTENSION *sk_X509_EXTENSION_value(struct stack_st_X509_EXTENSION  const  *sk ,
                                                        int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((X509_EXTENSION *)tmp);
}
}
__inline static struct stack_st_X509_EXTENSION *sk_X509_EXTENSION_new(int (*compare___1)(X509_EXTENSION const   **a ,
                                                                                         X509_EXTENSION const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_X509_EXTENSION *)tmp);
}
}
__inline static struct stack_st_X509_EXTENSION *sk_X509_EXTENSION_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_X509_EXTENSION *)tmp);
}
}
__inline static struct stack_st_X509_EXTENSION *sk_X509_EXTENSION_new_reserve(int (*compare___1)(X509_EXTENSION const   **a ,
                                                                                                 X509_EXTENSION const   **b ) ,
                                                                              int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_X509_EXTENSION *)tmp);
}
}
__inline static int sk_X509_EXTENSION_reserve(struct stack_st_X509_EXTENSION *sk ,
                                              int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_X509_EXTENSION_free(struct stack_st_X509_EXTENSION *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_X509_EXTENSION_zero(struct stack_st_X509_EXTENSION *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static X509_EXTENSION *sk_X509_EXTENSION_delete(struct stack_st_X509_EXTENSION *sk ,
                                                         int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((X509_EXTENSION *)tmp);
}
}
__inline static X509_EXTENSION *sk_X509_EXTENSION_delete_ptr(struct stack_st_X509_EXTENSION *sk ,
                                                             X509_EXTENSION *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((X509_EXTENSION *)tmp);
}
}
__inline static int sk_X509_EXTENSION_push(struct stack_st_X509_EXTENSION *sk , X509_EXTENSION *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_EXTENSION_unshift(struct stack_st_X509_EXTENSION *sk ,
                                              X509_EXTENSION *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static X509_EXTENSION *sk_X509_EXTENSION_pop(struct stack_st_X509_EXTENSION *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((X509_EXTENSION *)tmp);
}
}
__inline static X509_EXTENSION *sk_X509_EXTENSION_shift(struct stack_st_X509_EXTENSION *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((X509_EXTENSION *)tmp);
}
}
__inline static void sk_X509_EXTENSION_pop_free(struct stack_st_X509_EXTENSION *sk ,
                                                void (*freefunc)(X509_EXTENSION *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_X509_EXTENSION_insert(struct stack_st_X509_EXTENSION *sk ,
                                             X509_EXTENSION *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static X509_EXTENSION *sk_X509_EXTENSION_set(struct stack_st_X509_EXTENSION *sk ,
                                                      int idx___0 , X509_EXTENSION *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((X509_EXTENSION *)tmp);
}
}
__inline static int sk_X509_EXTENSION_find(struct stack_st_X509_EXTENSION *sk , X509_EXTENSION *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_EXTENSION_find_ex(struct stack_st_X509_EXTENSION *sk ,
                                              X509_EXTENSION *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_X509_EXTENSION_sort(struct stack_st_X509_EXTENSION *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_X509_EXTENSION_is_sorted(struct stack_st_X509_EXTENSION  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_X509_EXTENSION *sk_X509_EXTENSION_dup(struct stack_st_X509_EXTENSION  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_X509_EXTENSION *)tmp);
}
}
__inline static struct stack_st_X509_EXTENSION *sk_X509_EXTENSION_deep_copy(struct stack_st_X509_EXTENSION  const  *sk ,
                                                                            X509_EXTENSION *(*copyfunc)(X509_EXTENSION const   *a ) ,
                                                                            void (*freefunc)(X509_EXTENSION *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_X509_EXTENSION *)tmp);
}
}
__inline static sk_X509_EXTENSION_compfunc sk_X509_EXTENSION_set_cmp_func(struct stack_st_X509_EXTENSION *sk ,
                                                                          int (*compare___1)(X509_EXTENSION const   **a ,
                                                                                             X509_EXTENSION const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(X509_EXTENSION const   **a , X509_EXTENSION const   **b ))tmp);
}
}
__inline static int sk_X509_ATTRIBUTE_num(struct stack_st_X509_ATTRIBUTE  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static X509_ATTRIBUTE *sk_X509_ATTRIBUTE_value(struct stack_st_X509_ATTRIBUTE  const  *sk ,
                                                        int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((X509_ATTRIBUTE *)tmp);
}
}
__inline static struct stack_st_X509_ATTRIBUTE *sk_X509_ATTRIBUTE_new(int (*compare___1)(X509_ATTRIBUTE const   **a ,
                                                                                         X509_ATTRIBUTE const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_X509_ATTRIBUTE *)tmp);
}
}
__inline static struct stack_st_X509_ATTRIBUTE *sk_X509_ATTRIBUTE_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_X509_ATTRIBUTE *)tmp);
}
}
__inline static struct stack_st_X509_ATTRIBUTE *sk_X509_ATTRIBUTE_new_reserve(int (*compare___1)(X509_ATTRIBUTE const   **a ,
                                                                                                 X509_ATTRIBUTE const   **b ) ,
                                                                              int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_X509_ATTRIBUTE *)tmp);
}
}
__inline static int sk_X509_ATTRIBUTE_reserve(struct stack_st_X509_ATTRIBUTE *sk ,
                                              int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_X509_ATTRIBUTE_free(struct stack_st_X509_ATTRIBUTE *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_X509_ATTRIBUTE_zero(struct stack_st_X509_ATTRIBUTE *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static X509_ATTRIBUTE *sk_X509_ATTRIBUTE_delete(struct stack_st_X509_ATTRIBUTE *sk ,
                                                         int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((X509_ATTRIBUTE *)tmp);
}
}
__inline static X509_ATTRIBUTE *sk_X509_ATTRIBUTE_delete_ptr(struct stack_st_X509_ATTRIBUTE *sk ,
                                                             X509_ATTRIBUTE *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((X509_ATTRIBUTE *)tmp);
}
}
__inline static int sk_X509_ATTRIBUTE_push(struct stack_st_X509_ATTRIBUTE *sk , X509_ATTRIBUTE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_ATTRIBUTE_unshift(struct stack_st_X509_ATTRIBUTE *sk ,
                                              X509_ATTRIBUTE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static X509_ATTRIBUTE *sk_X509_ATTRIBUTE_pop(struct stack_st_X509_ATTRIBUTE *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((X509_ATTRIBUTE *)tmp);
}
}
__inline static X509_ATTRIBUTE *sk_X509_ATTRIBUTE_shift(struct stack_st_X509_ATTRIBUTE *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((X509_ATTRIBUTE *)tmp);
}
}
__inline static void sk_X509_ATTRIBUTE_pop_free(struct stack_st_X509_ATTRIBUTE *sk ,
                                                void (*freefunc)(X509_ATTRIBUTE *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_X509_ATTRIBUTE_insert(struct stack_st_X509_ATTRIBUTE *sk ,
                                             X509_ATTRIBUTE *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static X509_ATTRIBUTE *sk_X509_ATTRIBUTE_set(struct stack_st_X509_ATTRIBUTE *sk ,
                                                      int idx___0 , X509_ATTRIBUTE *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((X509_ATTRIBUTE *)tmp);
}
}
__inline static int sk_X509_ATTRIBUTE_find(struct stack_st_X509_ATTRIBUTE *sk , X509_ATTRIBUTE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_ATTRIBUTE_find_ex(struct stack_st_X509_ATTRIBUTE *sk ,
                                              X509_ATTRIBUTE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_X509_ATTRIBUTE_sort(struct stack_st_X509_ATTRIBUTE *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_X509_ATTRIBUTE_is_sorted(struct stack_st_X509_ATTRIBUTE  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_X509_ATTRIBUTE *sk_X509_ATTRIBUTE_dup(struct stack_st_X509_ATTRIBUTE  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_X509_ATTRIBUTE *)tmp);
}
}
__inline static struct stack_st_X509_ATTRIBUTE *sk_X509_ATTRIBUTE_deep_copy(struct stack_st_X509_ATTRIBUTE  const  *sk ,
                                                                            X509_ATTRIBUTE *(*copyfunc)(X509_ATTRIBUTE const   *a ) ,
                                                                            void (*freefunc)(X509_ATTRIBUTE *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_X509_ATTRIBUTE *)tmp);
}
}
__inline static sk_X509_ATTRIBUTE_compfunc sk_X509_ATTRIBUTE_set_cmp_func(struct stack_st_X509_ATTRIBUTE *sk ,
                                                                          int (*compare___1)(X509_ATTRIBUTE const   **a ,
                                                                                             X509_ATTRIBUTE const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(X509_ATTRIBUTE const   **a , X509_ATTRIBUTE const   **b ))tmp);
}
}
__inline static int sk_X509_num(struct stack_st_X509  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static X509 *sk_X509_value(struct stack_st_X509  const  *sk , int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((X509 *)tmp);
}
}
__inline static struct stack_st_X509 *sk_X509_new(int (*compare___1)(X509 const   **a ,
                                                                     X509 const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_X509 *)tmp);
}
}
__inline static struct stack_st_X509 *sk_X509_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_X509 *)tmp);
}
}
__inline static struct stack_st_X509 *sk_X509_new_reserve(int (*compare___1)(X509 const   **a ,
                                                                             X509 const   **b ) ,
                                                          int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_X509 *)tmp);
}
}
__inline static int sk_X509_reserve(struct stack_st_X509 *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_X509_free(struct stack_st_X509 *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_X509_zero(struct stack_st_X509 *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static X509 *sk_X509_delete(struct stack_st_X509 *sk , int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((X509 *)tmp);
}
}
__inline static X509 *sk_X509_delete_ptr(struct stack_st_X509 *sk , X509 *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((X509 *)tmp);
}
}
__inline static int sk_X509_push(struct stack_st_X509 *sk , X509 *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_unshift(struct stack_st_X509 *sk , X509 *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static X509 *sk_X509_pop(struct stack_st_X509 *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((X509 *)tmp);
}
}
__inline static X509 *sk_X509_shift(struct stack_st_X509 *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((X509 *)tmp);
}
}
__inline static void sk_X509_pop_free(struct stack_st_X509 *sk , void (*freefunc)(X509 *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_X509_insert(struct stack_st_X509 *sk , X509 *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static X509 *sk_X509_set(struct stack_st_X509 *sk , int idx___0 , X509 *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((X509 *)tmp);
}
}
__inline static int sk_X509_find(struct stack_st_X509 *sk , X509 *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_find_ex(struct stack_st_X509 *sk , X509 *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_X509_sort(struct stack_st_X509 *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_X509_is_sorted(struct stack_st_X509  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_X509 *sk_X509_dup(struct stack_st_X509  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_X509 *)tmp);
}
}
__inline static struct stack_st_X509 *sk_X509_deep_copy(struct stack_st_X509  const  *sk ,
                                                        X509 *(*copyfunc)(X509 const   *a ) ,
                                                        void (*freefunc)(X509 *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_X509 *)tmp);
}
}
__inline static sk_X509_compfunc sk_X509_set_cmp_func(struct stack_st_X509 *sk , int (*compare___1)(X509 const   **a ,
                                                                                                    X509 const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(X509 const   **a , X509 const   **b ))tmp);
}
}
__inline static int sk_X509_TRUST_num(struct stack_st_X509_TRUST  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static X509_TRUST *sk_X509_TRUST_value(struct stack_st_X509_TRUST  const  *sk ,
                                                int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((X509_TRUST *)tmp);
}
}
__inline static struct stack_st_X509_TRUST *sk_X509_TRUST_new(int (*compare___1)(X509_TRUST const   **a ,
                                                                                 X509_TRUST const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_X509_TRUST *)tmp);
}
}
__inline static struct stack_st_X509_TRUST *sk_X509_TRUST_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_X509_TRUST *)tmp);
}
}
__inline static struct stack_st_X509_TRUST *sk_X509_TRUST_new_reserve(int (*compare___1)(X509_TRUST const   **a ,
                                                                                         X509_TRUST const   **b ) ,
                                                                      int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_X509_TRUST *)tmp);
}
}
__inline static int sk_X509_TRUST_reserve(struct stack_st_X509_TRUST *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_X509_TRUST_free(struct stack_st_X509_TRUST *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_X509_TRUST_zero(struct stack_st_X509_TRUST *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static X509_TRUST *sk_X509_TRUST_delete(struct stack_st_X509_TRUST *sk ,
                                                 int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((X509_TRUST *)tmp);
}
}
__inline static X509_TRUST *sk_X509_TRUST_delete_ptr(struct stack_st_X509_TRUST *sk ,
                                                     X509_TRUST *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((X509_TRUST *)tmp);
}
}
__inline static int sk_X509_TRUST_push(struct stack_st_X509_TRUST *sk , X509_TRUST *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_TRUST_unshift(struct stack_st_X509_TRUST *sk , X509_TRUST *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static X509_TRUST *sk_X509_TRUST_pop(struct stack_st_X509_TRUST *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((X509_TRUST *)tmp);
}
}
__inline static X509_TRUST *sk_X509_TRUST_shift(struct stack_st_X509_TRUST *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((X509_TRUST *)tmp);
}
}
__inline static void sk_X509_TRUST_pop_free(struct stack_st_X509_TRUST *sk , void (*freefunc)(X509_TRUST *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_X509_TRUST_insert(struct stack_st_X509_TRUST *sk , X509_TRUST *ptr ,
                                         int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static X509_TRUST *sk_X509_TRUST_set(struct stack_st_X509_TRUST *sk , int idx___0 ,
                                              X509_TRUST *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((X509_TRUST *)tmp);
}
}
__inline static int sk_X509_TRUST_find(struct stack_st_X509_TRUST *sk , X509_TRUST *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_TRUST_find_ex(struct stack_st_X509_TRUST *sk , X509_TRUST *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_X509_TRUST_sort(struct stack_st_X509_TRUST *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_X509_TRUST_is_sorted(struct stack_st_X509_TRUST  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_X509_TRUST *sk_X509_TRUST_dup(struct stack_st_X509_TRUST  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_X509_TRUST *)tmp);
}
}
__inline static struct stack_st_X509_TRUST *sk_X509_TRUST_deep_copy(struct stack_st_X509_TRUST  const  *sk ,
                                                                    X509_TRUST *(*copyfunc)(X509_TRUST const   *a ) ,
                                                                    void (*freefunc)(X509_TRUST *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_X509_TRUST *)tmp);
}
}
__inline static sk_X509_TRUST_compfunc sk_X509_TRUST_set_cmp_func(struct stack_st_X509_TRUST *sk ,
                                                                  int (*compare___1)(X509_TRUST const   **a ,
                                                                                     X509_TRUST const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(X509_TRUST const   **a , X509_TRUST const   **b ))tmp);
}
}
__inline static int sk_X509_REVOKED_num(struct stack_st_X509_REVOKED  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static X509_REVOKED *sk_X509_REVOKED_value(struct stack_st_X509_REVOKED  const  *sk ,
                                                    int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((X509_REVOKED *)tmp);
}
}
__inline static struct stack_st_X509_REVOKED *sk_X509_REVOKED_new(int (*compare___1)(X509_REVOKED const   **a ,
                                                                                     X509_REVOKED const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_X509_REVOKED *)tmp);
}
}
__inline static struct stack_st_X509_REVOKED *sk_X509_REVOKED_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_X509_REVOKED *)tmp);
}
}
__inline static struct stack_st_X509_REVOKED *sk_X509_REVOKED_new_reserve(int (*compare___1)(X509_REVOKED const   **a ,
                                                                                             X509_REVOKED const   **b ) ,
                                                                          int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_X509_REVOKED *)tmp);
}
}
__inline static int sk_X509_REVOKED_reserve(struct stack_st_X509_REVOKED *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_X509_REVOKED_free(struct stack_st_X509_REVOKED *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_X509_REVOKED_zero(struct stack_st_X509_REVOKED *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static X509_REVOKED *sk_X509_REVOKED_delete(struct stack_st_X509_REVOKED *sk ,
                                                     int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((X509_REVOKED *)tmp);
}
}
__inline static X509_REVOKED *sk_X509_REVOKED_delete_ptr(struct stack_st_X509_REVOKED *sk ,
                                                         X509_REVOKED *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((X509_REVOKED *)tmp);
}
}
__inline static int sk_X509_REVOKED_push(struct stack_st_X509_REVOKED *sk , X509_REVOKED *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_REVOKED_unshift(struct stack_st_X509_REVOKED *sk , X509_REVOKED *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static X509_REVOKED *sk_X509_REVOKED_pop(struct stack_st_X509_REVOKED *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((X509_REVOKED *)tmp);
}
}
__inline static X509_REVOKED *sk_X509_REVOKED_shift(struct stack_st_X509_REVOKED *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((X509_REVOKED *)tmp);
}
}
__inline static void sk_X509_REVOKED_pop_free(struct stack_st_X509_REVOKED *sk , void (*freefunc)(X509_REVOKED *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_X509_REVOKED_insert(struct stack_st_X509_REVOKED *sk , X509_REVOKED *ptr ,
                                           int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static X509_REVOKED *sk_X509_REVOKED_set(struct stack_st_X509_REVOKED *sk ,
                                                  int idx___0 , X509_REVOKED *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((X509_REVOKED *)tmp);
}
}
__inline static int sk_X509_REVOKED_find(struct stack_st_X509_REVOKED *sk , X509_REVOKED *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_REVOKED_find_ex(struct stack_st_X509_REVOKED *sk , X509_REVOKED *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_X509_REVOKED_sort(struct stack_st_X509_REVOKED *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_X509_REVOKED_is_sorted(struct stack_st_X509_REVOKED  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_X509_REVOKED *sk_X509_REVOKED_dup(struct stack_st_X509_REVOKED  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_X509_REVOKED *)tmp);
}
}
__inline static struct stack_st_X509_REVOKED *sk_X509_REVOKED_deep_copy(struct stack_st_X509_REVOKED  const  *sk ,
                                                                        X509_REVOKED *(*copyfunc)(X509_REVOKED const   *a ) ,
                                                                        void (*freefunc)(X509_REVOKED *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_X509_REVOKED *)tmp);
}
}
__inline static sk_X509_REVOKED_compfunc sk_X509_REVOKED_set_cmp_func(struct stack_st_X509_REVOKED *sk ,
                                                                      int (*compare___1)(X509_REVOKED const   **a ,
                                                                                         X509_REVOKED const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(X509_REVOKED const   **a , X509_REVOKED const   **b ))tmp);
}
}
__inline static int sk_X509_CRL_num(struct stack_st_X509_CRL  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static X509_CRL *sk_X509_CRL_value(struct stack_st_X509_CRL  const  *sk ,
                                            int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((X509_CRL *)tmp);
}
}
__inline static struct stack_st_X509_CRL *sk_X509_CRL_new(int (*compare___1)(X509_CRL const   **a ,
                                                                             X509_CRL const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_X509_CRL *)tmp);
}
}
__inline static struct stack_st_X509_CRL *sk_X509_CRL_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_X509_CRL *)tmp);
}
}
__inline static struct stack_st_X509_CRL *sk_X509_CRL_new_reserve(int (*compare___1)(X509_CRL const   **a ,
                                                                                     X509_CRL const   **b ) ,
                                                                  int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_X509_CRL *)tmp);
}
}
__inline static int sk_X509_CRL_reserve(struct stack_st_X509_CRL *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_X509_CRL_free(struct stack_st_X509_CRL *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_X509_CRL_zero(struct stack_st_X509_CRL *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static X509_CRL *sk_X509_CRL_delete(struct stack_st_X509_CRL *sk , int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((X509_CRL *)tmp);
}
}
__inline static X509_CRL *sk_X509_CRL_delete_ptr(struct stack_st_X509_CRL *sk , X509_CRL *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((X509_CRL *)tmp);
}
}
__inline static int sk_X509_CRL_push(struct stack_st_X509_CRL *sk , X509_CRL *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_CRL_unshift(struct stack_st_X509_CRL *sk , X509_CRL *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static X509_CRL *sk_X509_CRL_pop(struct stack_st_X509_CRL *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((X509_CRL *)tmp);
}
}
__inline static X509_CRL *sk_X509_CRL_shift(struct stack_st_X509_CRL *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((X509_CRL *)tmp);
}
}
__inline static void sk_X509_CRL_pop_free(struct stack_st_X509_CRL *sk , void (*freefunc)(X509_CRL *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_X509_CRL_insert(struct stack_st_X509_CRL *sk , X509_CRL *ptr ,
                                       int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static X509_CRL *sk_X509_CRL_set(struct stack_st_X509_CRL *sk , int idx___0 ,
                                          X509_CRL *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((X509_CRL *)tmp);
}
}
__inline static int sk_X509_CRL_find(struct stack_st_X509_CRL *sk , X509_CRL *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_CRL_find_ex(struct stack_st_X509_CRL *sk , X509_CRL *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_X509_CRL_sort(struct stack_st_X509_CRL *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_X509_CRL_is_sorted(struct stack_st_X509_CRL  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_X509_CRL *sk_X509_CRL_dup(struct stack_st_X509_CRL  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_X509_CRL *)tmp);
}
}
__inline static struct stack_st_X509_CRL *sk_X509_CRL_deep_copy(struct stack_st_X509_CRL  const  *sk ,
                                                                X509_CRL *(*copyfunc)(X509_CRL const   *a ) ,
                                                                void (*freefunc)(X509_CRL *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_X509_CRL *)tmp);
}
}
__inline static sk_X509_CRL_compfunc sk_X509_CRL_set_cmp_func(struct stack_st_X509_CRL *sk ,
                                                              int (*compare___1)(X509_CRL const   **a ,
                                                                                 X509_CRL const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(X509_CRL const   **a , X509_CRL const   **b ))tmp);
}
}
__inline static int sk_X509_INFO_num(struct stack_st_X509_INFO  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static X509_INFO *sk_X509_INFO_value(struct stack_st_X509_INFO  const  *sk ,
                                              int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((X509_INFO *)tmp);
}
}
__inline static struct stack_st_X509_INFO *sk_X509_INFO_new(int (*compare___1)(X509_INFO const   **a ,
                                                                               X509_INFO const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_X509_INFO *)tmp);
}
}
__inline static struct stack_st_X509_INFO *sk_X509_INFO_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_X509_INFO *)tmp);
}
}
__inline static struct stack_st_X509_INFO *sk_X509_INFO_new_reserve(int (*compare___1)(X509_INFO const   **a ,
                                                                                       X509_INFO const   **b ) ,
                                                                    int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_X509_INFO *)tmp);
}
}
__inline static int sk_X509_INFO_reserve(struct stack_st_X509_INFO *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_X509_INFO_free(struct stack_st_X509_INFO *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_X509_INFO_zero(struct stack_st_X509_INFO *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static X509_INFO *sk_X509_INFO_delete(struct stack_st_X509_INFO *sk , int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((X509_INFO *)tmp);
}
}
__inline static X509_INFO *sk_X509_INFO_delete_ptr(struct stack_st_X509_INFO *sk ,
                                                   X509_INFO *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((X509_INFO *)tmp);
}
}
__inline static int sk_X509_INFO_push(struct stack_st_X509_INFO *sk , X509_INFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_INFO_unshift(struct stack_st_X509_INFO *sk , X509_INFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static X509_INFO *sk_X509_INFO_pop(struct stack_st_X509_INFO *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((X509_INFO *)tmp);
}
}
__inline static X509_INFO *sk_X509_INFO_shift(struct stack_st_X509_INFO *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((X509_INFO *)tmp);
}
}
__inline static void sk_X509_INFO_pop_free(struct stack_st_X509_INFO *sk , void (*freefunc)(X509_INFO *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_X509_INFO_insert(struct stack_st_X509_INFO *sk , X509_INFO *ptr ,
                                        int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static X509_INFO *sk_X509_INFO_set(struct stack_st_X509_INFO *sk , int idx___0 ,
                                            X509_INFO *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((X509_INFO *)tmp);
}
}
__inline static int sk_X509_INFO_find(struct stack_st_X509_INFO *sk , X509_INFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_INFO_find_ex(struct stack_st_X509_INFO *sk , X509_INFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_X509_INFO_sort(struct stack_st_X509_INFO *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_X509_INFO_is_sorted(struct stack_st_X509_INFO  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_X509_INFO *sk_X509_INFO_dup(struct stack_st_X509_INFO  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_X509_INFO *)tmp);
}
}
__inline static struct stack_st_X509_INFO *sk_X509_INFO_deep_copy(struct stack_st_X509_INFO  const  *sk ,
                                                                  X509_INFO *(*copyfunc)(X509_INFO const   *a ) ,
                                                                  void (*freefunc)(X509_INFO *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_X509_INFO *)tmp);
}
}
__inline static sk_X509_INFO_compfunc sk_X509_INFO_set_cmp_func(struct stack_st_X509_INFO *sk ,
                                                                int (*compare___1)(X509_INFO const   **a ,
                                                                                   X509_INFO const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(X509_INFO const   **a , X509_INFO const   **b ))tmp);
}
}
extern int OPENSSL_LH_error(OPENSSL_LHASH *lh ) ;
extern OPENSSL_LHASH *OPENSSL_LH_new(unsigned long (*h)(void const   * ) , int (*c)(void const   * ,
                                                                                    void const   * ) ) ;
extern void OPENSSL_LH_free(OPENSSL_LHASH *lh ) ;
extern void *OPENSSL_LH_insert(OPENSSL_LHASH *lh , void *data ) ;
extern void *OPENSSL_LH_delete(OPENSSL_LHASH *lh , void const   *data ) ;
extern void *OPENSSL_LH_retrieve(OPENSSL_LHASH *lh , void const   *data ) ;
extern void OPENSSL_LH_doall(OPENSSL_LHASH *lh , void (*func)(void * ) ) ;
extern void OPENSSL_LH_doall_arg(OPENSSL_LHASH *lh , void (*func)(void * , void * ) ,
                                 void *arg ) ;
extern unsigned long OPENSSL_LH_strhash(char const   *c ) ;
extern unsigned long OPENSSL_LH_num_items(OPENSSL_LHASH const   *lh ) ;
extern unsigned long OPENSSL_LH_get_down_load(OPENSSL_LHASH const   *lh ) ;
extern void OPENSSL_LH_set_down_load(OPENSSL_LHASH *lh , unsigned long down_load ) ;
extern void OPENSSL_LH_stats(OPENSSL_LHASH const   *lh , FILE *fp ) ;
extern void OPENSSL_LH_node_stats(OPENSSL_LHASH const   *lh , FILE *fp ) ;
extern void OPENSSL_LH_node_usage_stats(OPENSSL_LHASH const   *lh , FILE *fp ) ;
extern void OPENSSL_LH_stats_bio(OPENSSL_LHASH const   *lh , BIO *out ) ;
extern void OPENSSL_LH_node_stats_bio(OPENSSL_LHASH const   *lh , BIO *out ) ;
extern void OPENSSL_LH_node_usage_stats_bio(OPENSSL_LHASH const   *lh , BIO *out ) ;
__inline static struct lhash_st_OPENSSL_STRING *lh_OPENSSL_STRING_new(unsigned long (*hfn)(OPENSSL_STRING const   * ) ,
                                                                      int (*cfn)(OPENSSL_STRING const   * ,
                                                                                 OPENSSL_STRING const   * ) )
{
  OPENSSL_LHASH *tmp ;

  {
  tmp = OPENSSL_LH_new((unsigned long (*)(void const   * ))hfn, (int (*)(void const   * ,
                                                                         void const   * ))cfn);
  return ((struct lhash_st_OPENSSL_STRING *)tmp);
}
}
__inline static void lh_OPENSSL_STRING_free(struct lhash_st_OPENSSL_STRING *lh )
{


  {
  OPENSSL_LH_free((OPENSSL_LHASH *)lh);
  return;
}
}
__inline static OPENSSL_STRING *lh_OPENSSL_STRING_insert(struct lhash_st_OPENSSL_STRING *lh ,
                                                         OPENSSL_STRING *d )
{
  void *tmp ;

  {
  tmp = OPENSSL_LH_insert((OPENSSL_LHASH *)lh, (void *)d);
  return ((OPENSSL_STRING *)tmp);
}
}
__inline static OPENSSL_STRING *lh_OPENSSL_STRING_delete(struct lhash_st_OPENSSL_STRING *lh ,
                                                         OPENSSL_STRING const   *d )
{
  void *tmp ;

  {
  tmp = OPENSSL_LH_delete((OPENSSL_LHASH *)lh, (void const   *)d);
  return ((OPENSSL_STRING *)tmp);
}
}
__inline static OPENSSL_STRING *lh_OPENSSL_STRING_retrieve(struct lhash_st_OPENSSL_STRING *lh ,
                                                           OPENSSL_STRING const   *d )
{
  void *tmp ;

  {
  tmp = OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, (void const   *)d);
  return ((OPENSSL_STRING *)tmp);
}
}
__inline static int lh_OPENSSL_STRING_error(struct lhash_st_OPENSSL_STRING *lh )
{
  int tmp ;

  {
  tmp = OPENSSL_LH_error((OPENSSL_LHASH *)lh);
  return (tmp);
}
}
__inline static unsigned long lh_OPENSSL_STRING_num_items(struct lhash_st_OPENSSL_STRING *lh )
{
  unsigned long tmp ;

  {
  tmp = OPENSSL_LH_num_items((OPENSSL_LHASH const   *)((OPENSSL_LHASH *)lh));
  return (tmp);
}
}
__inline static void lh_OPENSSL_STRING_node_stats_bio(struct lhash_st_OPENSSL_STRING  const  *lh ,
                                                      BIO *out )
{


  {
  OPENSSL_LH_node_stats_bio((OPENSSL_LHASH const   *)lh, out);
  return;
}
}
__inline static void lh_OPENSSL_STRING_node_usage_stats_bio(struct lhash_st_OPENSSL_STRING  const  *lh ,
                                                            BIO *out )
{


  {
  OPENSSL_LH_node_usage_stats_bio((OPENSSL_LHASH const   *)lh, out);
  return;
}
}
__inline static void lh_OPENSSL_STRING_stats_bio(struct lhash_st_OPENSSL_STRING  const  *lh ,
                                                 BIO *out )
{


  {
  OPENSSL_LH_stats_bio((OPENSSL_LHASH const   *)lh, out);
  return;
}
}
__inline static unsigned long lh_OPENSSL_STRING_get_down_load(struct lhash_st_OPENSSL_STRING *lh )
{
  unsigned long tmp ;

  {
  tmp = OPENSSL_LH_get_down_load((OPENSSL_LHASH const   *)((OPENSSL_LHASH *)lh));
  return (tmp);
}
}
__inline static void lh_OPENSSL_STRING_set_down_load(struct lhash_st_OPENSSL_STRING *lh ,
                                                     unsigned long dl )
{


  {
  OPENSSL_LH_set_down_load((OPENSSL_LHASH *)lh, dl);
  return;
}
}
__inline static void lh_OPENSSL_STRING_doall(struct lhash_st_OPENSSL_STRING *lh ,
                                             void (*doall)(OPENSSL_STRING * ) )
{


  {
  OPENSSL_LH_doall((OPENSSL_LHASH *)lh, (void (*)(void * ))doall);
  return;
}
}
__inline static struct lhash_st_OPENSSL_CSTRING *lh_OPENSSL_CSTRING_new(unsigned long (*hfn)(OPENSSL_CSTRING const   * ) ,
                                                                        int (*cfn)(OPENSSL_CSTRING const   * ,
                                                                                   OPENSSL_CSTRING const   * ) )
{
  OPENSSL_LHASH *tmp ;

  {
  tmp = OPENSSL_LH_new((unsigned long (*)(void const   * ))hfn, (int (*)(void const   * ,
                                                                         void const   * ))cfn);
  return ((struct lhash_st_OPENSSL_CSTRING *)tmp);
}
}
__inline static void lh_OPENSSL_CSTRING_free(struct lhash_st_OPENSSL_CSTRING *lh )
{


  {
  OPENSSL_LH_free((OPENSSL_LHASH *)lh);
  return;
}
}
__inline static OPENSSL_CSTRING *lh_OPENSSL_CSTRING_insert(struct lhash_st_OPENSSL_CSTRING *lh ,
                                                           OPENSSL_CSTRING *d )
{
  void *tmp ;

  {
  tmp = OPENSSL_LH_insert((OPENSSL_LHASH *)lh, (void *)d);
  return ((OPENSSL_CSTRING *)tmp);
}
}
__inline static OPENSSL_CSTRING *lh_OPENSSL_CSTRING_delete(struct lhash_st_OPENSSL_CSTRING *lh ,
                                                           OPENSSL_CSTRING const   *d )
{
  void *tmp ;

  {
  tmp = OPENSSL_LH_delete((OPENSSL_LHASH *)lh, (void const   *)d);
  return ((OPENSSL_CSTRING *)tmp);
}
}
__inline static OPENSSL_CSTRING *lh_OPENSSL_CSTRING_retrieve(struct lhash_st_OPENSSL_CSTRING *lh ,
                                                             OPENSSL_CSTRING const   *d )
{
  void *tmp ;

  {
  tmp = OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, (void const   *)d);
  return ((OPENSSL_CSTRING *)tmp);
}
}
__inline static int lh_OPENSSL_CSTRING_error(struct lhash_st_OPENSSL_CSTRING *lh )
{
  int tmp ;

  {
  tmp = OPENSSL_LH_error((OPENSSL_LHASH *)lh);
  return (tmp);
}
}
__inline static unsigned long lh_OPENSSL_CSTRING_num_items(struct lhash_st_OPENSSL_CSTRING *lh )
{
  unsigned long tmp ;

  {
  tmp = OPENSSL_LH_num_items((OPENSSL_LHASH const   *)((OPENSSL_LHASH *)lh));
  return (tmp);
}
}
__inline static void lh_OPENSSL_CSTRING_node_stats_bio(struct lhash_st_OPENSSL_CSTRING  const  *lh ,
                                                       BIO *out )
{


  {
  OPENSSL_LH_node_stats_bio((OPENSSL_LHASH const   *)lh, out);
  return;
}
}
__inline static void lh_OPENSSL_CSTRING_node_usage_stats_bio(struct lhash_st_OPENSSL_CSTRING  const  *lh ,
                                                             BIO *out )
{


  {
  OPENSSL_LH_node_usage_stats_bio((OPENSSL_LHASH const   *)lh, out);
  return;
}
}
__inline static void lh_OPENSSL_CSTRING_stats_bio(struct lhash_st_OPENSSL_CSTRING  const  *lh ,
                                                  BIO *out )
{


  {
  OPENSSL_LH_stats_bio((OPENSSL_LHASH const   *)lh, out);
  return;
}
}
__inline static unsigned long lh_OPENSSL_CSTRING_get_down_load(struct lhash_st_OPENSSL_CSTRING *lh )
{
  unsigned long tmp ;

  {
  tmp = OPENSSL_LH_get_down_load((OPENSSL_LHASH const   *)((OPENSSL_LHASH *)lh));
  return (tmp);
}
}
__inline static void lh_OPENSSL_CSTRING_set_down_load(struct lhash_st_OPENSSL_CSTRING *lh ,
                                                      unsigned long dl )
{


  {
  OPENSSL_LH_set_down_load((OPENSSL_LHASH *)lh, dl);
  return;
}
}
__inline static void lh_OPENSSL_CSTRING_doall(struct lhash_st_OPENSSL_CSTRING *lh ,
                                              void (*doall)(OPENSSL_CSTRING * ) )
{


  {
  OPENSSL_LH_doall((OPENSSL_LHASH *)lh, (void (*)(void * ))doall);
  return;
}
}
__inline static int sk_X509_LOOKUP_num(struct stack_st_X509_LOOKUP  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static X509_LOOKUP *sk_X509_LOOKUP_value(struct stack_st_X509_LOOKUP  const  *sk ,
                                                  int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((X509_LOOKUP *)tmp);
}
}
__inline static struct stack_st_X509_LOOKUP *sk_X509_LOOKUP_new(int (*compare___1)(X509_LOOKUP const   **a ,
                                                                                   X509_LOOKUP const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_X509_LOOKUP *)tmp);
}
}
__inline static struct stack_st_X509_LOOKUP *sk_X509_LOOKUP_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_X509_LOOKUP *)tmp);
}
}
__inline static struct stack_st_X509_LOOKUP *sk_X509_LOOKUP_new_reserve(int (*compare___1)(X509_LOOKUP const   **a ,
                                                                                           X509_LOOKUP const   **b ) ,
                                                                        int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_X509_LOOKUP *)tmp);
}
}
__inline static int sk_X509_LOOKUP_reserve(struct stack_st_X509_LOOKUP *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_X509_LOOKUP_free(struct stack_st_X509_LOOKUP *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_X509_LOOKUP_zero(struct stack_st_X509_LOOKUP *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static X509_LOOKUP *sk_X509_LOOKUP_delete(struct stack_st_X509_LOOKUP *sk ,
                                                   int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((X509_LOOKUP *)tmp);
}
}
__inline static X509_LOOKUP *sk_X509_LOOKUP_delete_ptr(struct stack_st_X509_LOOKUP *sk ,
                                                       X509_LOOKUP *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((X509_LOOKUP *)tmp);
}
}
__inline static int sk_X509_LOOKUP_push(struct stack_st_X509_LOOKUP *sk , X509_LOOKUP *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_LOOKUP_unshift(struct stack_st_X509_LOOKUP *sk , X509_LOOKUP *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static X509_LOOKUP *sk_X509_LOOKUP_pop(struct stack_st_X509_LOOKUP *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((X509_LOOKUP *)tmp);
}
}
__inline static X509_LOOKUP *sk_X509_LOOKUP_shift(struct stack_st_X509_LOOKUP *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((X509_LOOKUP *)tmp);
}
}
__inline static void sk_X509_LOOKUP_pop_free(struct stack_st_X509_LOOKUP *sk , void (*freefunc)(X509_LOOKUP *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_X509_LOOKUP_insert(struct stack_st_X509_LOOKUP *sk , X509_LOOKUP *ptr ,
                                          int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static X509_LOOKUP *sk_X509_LOOKUP_set(struct stack_st_X509_LOOKUP *sk ,
                                                int idx___0 , X509_LOOKUP *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((X509_LOOKUP *)tmp);
}
}
__inline static int sk_X509_LOOKUP_find(struct stack_st_X509_LOOKUP *sk , X509_LOOKUP *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_LOOKUP_find_ex(struct stack_st_X509_LOOKUP *sk , X509_LOOKUP *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_X509_LOOKUP_sort(struct stack_st_X509_LOOKUP *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_X509_LOOKUP_is_sorted(struct stack_st_X509_LOOKUP  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_X509_LOOKUP *sk_X509_LOOKUP_dup(struct stack_st_X509_LOOKUP  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_X509_LOOKUP *)tmp);
}
}
__inline static struct stack_st_X509_LOOKUP *sk_X509_LOOKUP_deep_copy(struct stack_st_X509_LOOKUP  const  *sk ,
                                                                      X509_LOOKUP *(*copyfunc)(X509_LOOKUP const   *a ) ,
                                                                      void (*freefunc)(X509_LOOKUP *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_X509_LOOKUP *)tmp);
}
}
__inline static sk_X509_LOOKUP_compfunc sk_X509_LOOKUP_set_cmp_func(struct stack_st_X509_LOOKUP *sk ,
                                                                    int (*compare___1)(X509_LOOKUP const   **a ,
                                                                                       X509_LOOKUP const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(X509_LOOKUP const   **a , X509_LOOKUP const   **b ))tmp);
}
}
__inline static int sk_X509_OBJECT_num(struct stack_st_X509_OBJECT  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static X509_OBJECT *sk_X509_OBJECT_value(struct stack_st_X509_OBJECT  const  *sk ,
                                                  int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((X509_OBJECT *)tmp);
}
}
__inline static struct stack_st_X509_OBJECT *sk_X509_OBJECT_new(int (*compare___1)(X509_OBJECT const   **a ,
                                                                                   X509_OBJECT const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_X509_OBJECT *)tmp);
}
}
__inline static struct stack_st_X509_OBJECT *sk_X509_OBJECT_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_X509_OBJECT *)tmp);
}
}
__inline static struct stack_st_X509_OBJECT *sk_X509_OBJECT_new_reserve(int (*compare___1)(X509_OBJECT const   **a ,
                                                                                           X509_OBJECT const   **b ) ,
                                                                        int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_X509_OBJECT *)tmp);
}
}
__inline static int sk_X509_OBJECT_reserve(struct stack_st_X509_OBJECT *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_X509_OBJECT_free(struct stack_st_X509_OBJECT *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_X509_OBJECT_zero(struct stack_st_X509_OBJECT *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static X509_OBJECT *sk_X509_OBJECT_delete(struct stack_st_X509_OBJECT *sk ,
                                                   int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((X509_OBJECT *)tmp);
}
}
__inline static X509_OBJECT *sk_X509_OBJECT_delete_ptr(struct stack_st_X509_OBJECT *sk ,
                                                       X509_OBJECT *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((X509_OBJECT *)tmp);
}
}
__inline static int sk_X509_OBJECT_push(struct stack_st_X509_OBJECT *sk , X509_OBJECT *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_OBJECT_unshift(struct stack_st_X509_OBJECT *sk , X509_OBJECT *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static X509_OBJECT *sk_X509_OBJECT_pop(struct stack_st_X509_OBJECT *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((X509_OBJECT *)tmp);
}
}
__inline static X509_OBJECT *sk_X509_OBJECT_shift(struct stack_st_X509_OBJECT *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((X509_OBJECT *)tmp);
}
}
__inline static void sk_X509_OBJECT_pop_free(struct stack_st_X509_OBJECT *sk , void (*freefunc)(X509_OBJECT *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_X509_OBJECT_insert(struct stack_st_X509_OBJECT *sk , X509_OBJECT *ptr ,
                                          int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static X509_OBJECT *sk_X509_OBJECT_set(struct stack_st_X509_OBJECT *sk ,
                                                int idx___0 , X509_OBJECT *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((X509_OBJECT *)tmp);
}
}
__inline static int sk_X509_OBJECT_find(struct stack_st_X509_OBJECT *sk , X509_OBJECT *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_OBJECT_find_ex(struct stack_st_X509_OBJECT *sk , X509_OBJECT *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_X509_OBJECT_sort(struct stack_st_X509_OBJECT *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_X509_OBJECT_is_sorted(struct stack_st_X509_OBJECT  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_X509_OBJECT *sk_X509_OBJECT_dup(struct stack_st_X509_OBJECT  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_X509_OBJECT *)tmp);
}
}
__inline static struct stack_st_X509_OBJECT *sk_X509_OBJECT_deep_copy(struct stack_st_X509_OBJECT  const  *sk ,
                                                                      X509_OBJECT *(*copyfunc)(X509_OBJECT const   *a ) ,
                                                                      void (*freefunc)(X509_OBJECT *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_X509_OBJECT *)tmp);
}
}
__inline static sk_X509_OBJECT_compfunc sk_X509_OBJECT_set_cmp_func(struct stack_st_X509_OBJECT *sk ,
                                                                    int (*compare___1)(X509_OBJECT const   **a ,
                                                                                       X509_OBJECT const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(X509_OBJECT const   **a , X509_OBJECT const   **b ))tmp);
}
}
__inline static int sk_X509_VERIFY_PARAM_num(struct stack_st_X509_VERIFY_PARAM  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static X509_VERIFY_PARAM *sk_X509_VERIFY_PARAM_value(struct stack_st_X509_VERIFY_PARAM  const  *sk ,
                                                              int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((X509_VERIFY_PARAM *)tmp);
}
}
__inline static struct stack_st_X509_VERIFY_PARAM *sk_X509_VERIFY_PARAM_new(int (*compare___1)(X509_VERIFY_PARAM const   **a ,
                                                                                               X509_VERIFY_PARAM const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_X509_VERIFY_PARAM *)tmp);
}
}
__inline static struct stack_st_X509_VERIFY_PARAM *sk_X509_VERIFY_PARAM_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_X509_VERIFY_PARAM *)tmp);
}
}
__inline static struct stack_st_X509_VERIFY_PARAM *sk_X509_VERIFY_PARAM_new_reserve(int (*compare___1)(X509_VERIFY_PARAM const   **a ,
                                                                                                       X509_VERIFY_PARAM const   **b ) ,
                                                                                    int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_X509_VERIFY_PARAM *)tmp);
}
}
__inline static int sk_X509_VERIFY_PARAM_reserve(struct stack_st_X509_VERIFY_PARAM *sk ,
                                                 int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_X509_VERIFY_PARAM_free(struct stack_st_X509_VERIFY_PARAM *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_X509_VERIFY_PARAM_zero(struct stack_st_X509_VERIFY_PARAM *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static X509_VERIFY_PARAM *sk_X509_VERIFY_PARAM_delete(struct stack_st_X509_VERIFY_PARAM *sk ,
                                                               int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((X509_VERIFY_PARAM *)tmp);
}
}
__inline static X509_VERIFY_PARAM *sk_X509_VERIFY_PARAM_delete_ptr(struct stack_st_X509_VERIFY_PARAM *sk ,
                                                                   X509_VERIFY_PARAM *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((X509_VERIFY_PARAM *)tmp);
}
}
__inline static int sk_X509_VERIFY_PARAM_push(struct stack_st_X509_VERIFY_PARAM *sk ,
                                              X509_VERIFY_PARAM *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_VERIFY_PARAM_unshift(struct stack_st_X509_VERIFY_PARAM *sk ,
                                                 X509_VERIFY_PARAM *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static X509_VERIFY_PARAM *sk_X509_VERIFY_PARAM_pop(struct stack_st_X509_VERIFY_PARAM *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((X509_VERIFY_PARAM *)tmp);
}
}
__inline static X509_VERIFY_PARAM *sk_X509_VERIFY_PARAM_shift(struct stack_st_X509_VERIFY_PARAM *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((X509_VERIFY_PARAM *)tmp);
}
}
__inline static void sk_X509_VERIFY_PARAM_pop_free(struct stack_st_X509_VERIFY_PARAM *sk ,
                                                   void (*freefunc)(X509_VERIFY_PARAM *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_X509_VERIFY_PARAM_insert(struct stack_st_X509_VERIFY_PARAM *sk ,
                                                X509_VERIFY_PARAM *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static X509_VERIFY_PARAM *sk_X509_VERIFY_PARAM_set(struct stack_st_X509_VERIFY_PARAM *sk ,
                                                            int idx___0 , X509_VERIFY_PARAM *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((X509_VERIFY_PARAM *)tmp);
}
}
__inline static int sk_X509_VERIFY_PARAM_find(struct stack_st_X509_VERIFY_PARAM *sk ,
                                              X509_VERIFY_PARAM *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_VERIFY_PARAM_find_ex(struct stack_st_X509_VERIFY_PARAM *sk ,
                                                 X509_VERIFY_PARAM *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_X509_VERIFY_PARAM_sort(struct stack_st_X509_VERIFY_PARAM *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_X509_VERIFY_PARAM_is_sorted(struct stack_st_X509_VERIFY_PARAM  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_X509_VERIFY_PARAM *sk_X509_VERIFY_PARAM_dup(struct stack_st_X509_VERIFY_PARAM  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_X509_VERIFY_PARAM *)tmp);
}
}
__inline static struct stack_st_X509_VERIFY_PARAM *sk_X509_VERIFY_PARAM_deep_copy(struct stack_st_X509_VERIFY_PARAM  const  *sk ,
                                                                                  X509_VERIFY_PARAM *(*copyfunc)(X509_VERIFY_PARAM const   *a ) ,
                                                                                  void (*freefunc)(X509_VERIFY_PARAM *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_X509_VERIFY_PARAM *)tmp);
}
}
__inline static sk_X509_VERIFY_PARAM_compfunc sk_X509_VERIFY_PARAM_set_cmp_func(struct stack_st_X509_VERIFY_PARAM *sk ,
                                                                                int (*compare___1)(X509_VERIFY_PARAM const   **a ,
                                                                                                   X509_VERIFY_PARAM const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(X509_VERIFY_PARAM const   **a , X509_VERIFY_PARAM const   **b ))tmp);
}
}
extern int X509_STORE_set_depth(X509_STORE *store , int depth ) ;
extern void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx , int depth ) ;
extern int X509_OBJECT_idx_by_subject(struct stack_st_X509_OBJECT *h , X509_LOOKUP_TYPE type ,
                                      X509_NAME *name ) ;
extern X509_OBJECT *X509_OBJECT_retrieve_by_subject(struct stack_st_X509_OBJECT *h ,
                                                    X509_LOOKUP_TYPE type , X509_NAME *name ) ;
extern X509_OBJECT *X509_OBJECT_retrieve_match(struct stack_st_X509_OBJECT *h , X509_OBJECT *x ) ;
extern int X509_OBJECT_up_ref_count(X509_OBJECT *a ) ;
extern X509_OBJECT *X509_OBJECT_new(void) ;
extern void X509_OBJECT_free(X509_OBJECT *a ) ;
extern X509_LOOKUP_TYPE X509_OBJECT_get_type(X509_OBJECT const   *a ) ;
extern X509 *X509_OBJECT_get0_X509(X509_OBJECT const   *a ) ;
extern int X509_OBJECT_set1_X509(X509_OBJECT *a , X509 *obj ) ;
extern X509_CRL *X509_OBJECT_get0_X509_CRL(X509_OBJECT *a ) ;
extern int X509_OBJECT_set1_X509_CRL(X509_OBJECT *a , X509_CRL *obj ) ;
extern X509_STORE *X509_STORE_new(void) ;
extern void X509_STORE_free(X509_STORE *v ) ;
extern int X509_STORE_lock(X509_STORE *ctx ) ;
extern int X509_STORE_unlock(X509_STORE *ctx ) ;
extern int X509_STORE_up_ref(X509_STORE *v ) ;
extern struct stack_st_X509_OBJECT *X509_STORE_get0_objects(X509_STORE *v ) ;
extern struct stack_st_X509 *X509_STORE_CTX_get1_certs(X509_STORE_CTX *st , X509_NAME *nm ) ;
extern struct stack_st_X509_CRL *X509_STORE_CTX_get1_crls(X509_STORE_CTX *st , X509_NAME *nm ) ;
extern int X509_STORE_set_flags(X509_STORE *ctx , unsigned long flags ) ;
extern int X509_STORE_set_purpose(X509_STORE *ctx , int purpose ) ;
extern int X509_STORE_set_trust(X509_STORE *ctx , int trust ) ;
extern int X509_STORE_set1_param(X509_STORE *ctx , X509_VERIFY_PARAM *pm ) ;
extern X509_VERIFY_PARAM *X509_STORE_get0_param(X509_STORE *ctx ) ;
extern void X509_STORE_set_verify(X509_STORE *ctx , int (*verify)(X509_STORE_CTX * ) ) ;
extern void X509_STORE_CTX_set_verify(X509_STORE_CTX *ctx , int (*verify)(X509_STORE_CTX * ) ) ;
extern X509_STORE_CTX_verify_fn X509_STORE_get_verify(X509_STORE *ctx ) ;
extern void X509_STORE_set_verify_cb(X509_STORE *ctx , int (*verify_cb)(int  , X509_STORE_CTX * ) ) ;
extern X509_STORE_CTX_verify_cb X509_STORE_get_verify_cb(X509_STORE *ctx ) ;
extern void X509_STORE_set_get_issuer(X509_STORE *ctx , int (*get_issuer)(X509 **issuer ,
                                                                          X509_STORE_CTX *ctx ,
                                                                          X509 *x ) ) ;
extern X509_STORE_CTX_get_issuer_fn X509_STORE_get_get_issuer(X509_STORE *ctx ) ;
extern void X509_STORE_set_check_issued(X509_STORE *ctx , int (*check_issued)(X509_STORE_CTX *ctx ,
                                                                              X509 *x ,
                                                                              X509 *issuer ) ) ;
extern X509_STORE_CTX_check_issued_fn X509_STORE_get_check_issued(X509_STORE *ctx ) ;
extern void X509_STORE_set_check_revocation(X509_STORE *ctx , int (*check_revocation)(X509_STORE_CTX *ctx ) ) ;
extern X509_STORE_CTX_check_revocation_fn X509_STORE_get_check_revocation(X509_STORE *ctx ) ;
extern void X509_STORE_set_get_crl(X509_STORE *ctx , int (*get_crl)(X509_STORE_CTX *ctx ,
                                                                    X509_CRL **crl ,
                                                                    X509 *x ) ) ;
extern X509_STORE_CTX_get_crl_fn X509_STORE_get_get_crl(X509_STORE *ctx ) ;
extern void X509_STORE_set_check_crl(X509_STORE *ctx , int (*check_crl)(X509_STORE_CTX *ctx ,
                                                                        X509_CRL *crl ) ) ;
extern X509_STORE_CTX_check_crl_fn X509_STORE_get_check_crl(X509_STORE *ctx ) ;
extern void X509_STORE_set_cert_crl(X509_STORE *ctx , int (*cert_crl)(X509_STORE_CTX *ctx ,
                                                                      X509_CRL *crl ,
                                                                      X509 *x ) ) ;
extern X509_STORE_CTX_cert_crl_fn X509_STORE_get_cert_crl(X509_STORE *ctx ) ;
extern void X509_STORE_set_check_policy(X509_STORE *ctx , int (*check_policy)(X509_STORE_CTX *ctx ) ) ;
extern X509_STORE_CTX_check_policy_fn X509_STORE_get_check_policy(X509_STORE *ctx ) ;
extern void X509_STORE_set_lookup_certs(X509_STORE *ctx , struct stack_st_X509 *(*lookup_certs)(X509_STORE_CTX *ctx ,
                                                                                                X509_NAME *nm ) ) ;
extern X509_STORE_CTX_lookup_certs_fn X509_STORE_get_lookup_certs(X509_STORE *ctx ) ;
extern void X509_STORE_set_lookup_crls(X509_STORE *ctx , struct stack_st_X509_CRL *(*lookup_crls)(X509_STORE_CTX *ctx ,
                                                                                                  X509_NAME *nm ) ) ;
extern X509_STORE_CTX_lookup_crls_fn X509_STORE_get_lookup_crls(X509_STORE *ctx ) ;
extern void X509_STORE_set_cleanup(X509_STORE *ctx , int (*cleanup)(X509_STORE_CTX *ctx ) ) ;
extern X509_STORE_CTX_cleanup_fn X509_STORE_get_cleanup(X509_STORE *ctx ) ;
extern int X509_STORE_set_ex_data(X509_STORE *ctx , int idx , void *data ) ;
extern void *X509_STORE_get_ex_data(X509_STORE *ctx , int idx ) ;
extern X509_STORE_CTX *X509_STORE_CTX_new(void) ;
extern int X509_STORE_CTX_get1_issuer(X509 **issuer , X509_STORE_CTX *ctx , X509 *x ) ;
extern void X509_STORE_CTX_free(X509_STORE_CTX *ctx ) ;
extern int X509_STORE_CTX_init(X509_STORE_CTX *ctx , X509_STORE *store , X509 *x509 ,
                               struct stack_st_X509 *chain ) ;
extern void X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *ctx , struct stack_st_X509 *sk ) ;
extern void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx ) ;
extern X509_STORE *X509_STORE_CTX_get0_store(X509_STORE_CTX *ctx ) ;
extern X509 *X509_STORE_CTX_get0_cert(X509_STORE_CTX *ctx ) ;
extern struct stack_st_X509 *X509_STORE_CTX_get0_untrusted(X509_STORE_CTX *ctx ) ;
extern void X509_STORE_CTX_set0_untrusted(X509_STORE_CTX *ctx , struct stack_st_X509 *sk ) ;
extern void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx , int (*verify)(int  ,
                                                                             X509_STORE_CTX * ) ) ;
extern X509_STORE_CTX_verify_cb X509_STORE_CTX_get_verify_cb(X509_STORE_CTX *ctx ) ;
extern X509_STORE_CTX_verify_fn X509_STORE_CTX_get_verify(X509_STORE_CTX *ctx ) ;
extern X509_STORE_CTX_get_issuer_fn X509_STORE_CTX_get_get_issuer(X509_STORE_CTX *ctx ) ;
extern X509_STORE_CTX_check_issued_fn X509_STORE_CTX_get_check_issued(X509_STORE_CTX *ctx ) ;
extern X509_STORE_CTX_check_revocation_fn X509_STORE_CTX_get_check_revocation(X509_STORE_CTX *ctx ) ;
extern X509_STORE_CTX_get_crl_fn X509_STORE_CTX_get_get_crl(X509_STORE_CTX *ctx ) ;
extern X509_STORE_CTX_check_crl_fn X509_STORE_CTX_get_check_crl(X509_STORE_CTX *ctx ) ;
extern X509_STORE_CTX_cert_crl_fn X509_STORE_CTX_get_cert_crl(X509_STORE_CTX *ctx ) ;
extern X509_STORE_CTX_check_policy_fn X509_STORE_CTX_get_check_policy(X509_STORE_CTX *ctx ) ;
extern X509_STORE_CTX_lookup_certs_fn X509_STORE_CTX_get_lookup_certs(X509_STORE_CTX *ctx ) ;
extern X509_STORE_CTX_lookup_crls_fn X509_STORE_CTX_get_lookup_crls(X509_STORE_CTX *ctx ) ;
extern X509_STORE_CTX_cleanup_fn X509_STORE_CTX_get_cleanup(X509_STORE_CTX *ctx ) ;
extern X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v , X509_LOOKUP_METHOD *m ) ;
extern X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void) ;
extern X509_LOOKUP_METHOD *X509_LOOKUP_file(void) ;
extern X509_LOOKUP_METHOD *X509_LOOKUP_meth_new(char const   *name ) ;
extern void X509_LOOKUP_meth_free(X509_LOOKUP_METHOD *method ) ;
extern int X509_LOOKUP_meth_set_new_item(X509_LOOKUP_METHOD *method , int (*new_item)(X509_LOOKUP *ctx ) ) ;
extern int (*X509_LOOKUP_meth_get_new_item(X509_LOOKUP_METHOD const   *method ))(X509_LOOKUP *ctx ) ;
extern int X509_LOOKUP_meth_set_free(X509_LOOKUP_METHOD *method , void (*free_fn)(X509_LOOKUP *ctx ) ) ;
extern void (*X509_LOOKUP_meth_get_free(X509_LOOKUP_METHOD const   *method ))(X509_LOOKUP *ctx ) ;
extern int X509_LOOKUP_meth_set_init(X509_LOOKUP_METHOD *method , int (*init)(X509_LOOKUP *ctx ) ) ;
extern int (*X509_LOOKUP_meth_get_init(X509_LOOKUP_METHOD const   *method ))(X509_LOOKUP *ctx ) ;
extern int X509_LOOKUP_meth_set_shutdown(X509_LOOKUP_METHOD *method , int (*shutdown)(X509_LOOKUP *ctx ) ) ;
extern int (*X509_LOOKUP_meth_get_shutdown(X509_LOOKUP_METHOD const   *method ))(X509_LOOKUP *ctx ) ;
extern int X509_LOOKUP_meth_set_ctrl(X509_LOOKUP_METHOD *method , int (*ctrl_fn)(X509_LOOKUP *ctx ,
                                                                                 int cmd ,
                                                                                 char const   *argc ,
                                                                                 long argl ,
                                                                                 char **ret ) ) ;
extern X509_LOOKUP_ctrl_fn X509_LOOKUP_meth_get_ctrl(X509_LOOKUP_METHOD const   *method ) ;
extern int X509_LOOKUP_meth_set_get_by_subject(X509_LOOKUP_METHOD *method , int (*fn)(X509_LOOKUP *ctx ,
                                                                                      X509_LOOKUP_TYPE type ,
                                                                                      X509_NAME *name ,
                                                                                      X509_OBJECT *ret ) ) ;
extern X509_LOOKUP_get_by_subject_fn X509_LOOKUP_meth_get_get_by_subject(X509_LOOKUP_METHOD const   *method ) ;
extern int X509_LOOKUP_meth_set_get_by_issuer_serial(X509_LOOKUP_METHOD *method ,
                                                     int (*fn)(X509_LOOKUP *ctx ,
                                                               X509_LOOKUP_TYPE type ,
                                                               X509_NAME *name , ASN1_INTEGER *serial ,
                                                               X509_OBJECT *ret ) ) ;
extern X509_LOOKUP_get_by_issuer_serial_fn X509_LOOKUP_meth_get_get_by_issuer_serial(X509_LOOKUP_METHOD const   *method ) ;
extern int X509_LOOKUP_meth_set_get_by_fingerprint(X509_LOOKUP_METHOD *method , int (*fn)(X509_LOOKUP *ctx ,
                                                                                          X509_LOOKUP_TYPE type ,
                                                                                          unsigned char const   *bytes ,
                                                                                          int len ,
                                                                                          X509_OBJECT *ret ) ) ;
extern X509_LOOKUP_get_by_fingerprint_fn X509_LOOKUP_meth_get_get_by_fingerprint(X509_LOOKUP_METHOD const   *method ) ;
extern int X509_LOOKUP_meth_set_get_by_alias(X509_LOOKUP_METHOD *method , int (*fn)(X509_LOOKUP *ctx ,
                                                                                    X509_LOOKUP_TYPE type ,
                                                                                    char const   *str ,
                                                                                    int len ,
                                                                                    X509_OBJECT *ret ) ) ;
extern X509_LOOKUP_get_by_alias_fn X509_LOOKUP_meth_get_get_by_alias(X509_LOOKUP_METHOD const   *method ) ;
extern int X509_STORE_add_cert(X509_STORE *ctx , X509 *x ) ;
extern int X509_STORE_add_crl(X509_STORE *ctx , X509_CRL *x ) ;
extern int X509_STORE_CTX_get_by_subject(X509_STORE_CTX *vs , X509_LOOKUP_TYPE type ,
                                         X509_NAME *name , X509_OBJECT *ret ) ;
extern X509_OBJECT *X509_STORE_CTX_get_obj_by_subject(X509_STORE_CTX *vs , X509_LOOKUP_TYPE type ,
                                                      X509_NAME *name ) ;
extern int X509_LOOKUP_ctrl(X509_LOOKUP *ctx , int cmd , char const   *argc , long argl ,
                            char **ret ) ;
extern int X509_load_cert_file(X509_LOOKUP *ctx , char const   *file , int type ) ;
extern int X509_load_crl_file(X509_LOOKUP *ctx , char const   *file , int type ) ;
extern int X509_load_cert_crl_file(X509_LOOKUP *ctx , char const   *file , int type ) ;
extern X509_LOOKUP *X509_LOOKUP_new(X509_LOOKUP_METHOD *method ) ;
extern void X509_LOOKUP_free(X509_LOOKUP *ctx ) ;
extern int X509_LOOKUP_init(X509_LOOKUP *ctx ) ;
extern int X509_LOOKUP_by_subject(X509_LOOKUP *ctx , X509_LOOKUP_TYPE type , X509_NAME *name ,
                                  X509_OBJECT *ret ) ;
extern int X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx , X509_LOOKUP_TYPE type ,
                                        X509_NAME *name , ASN1_INTEGER *serial , X509_OBJECT *ret ) ;
extern int X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx , X509_LOOKUP_TYPE type , unsigned char const   *bytes ,
                                      int len , X509_OBJECT *ret ) ;
extern int X509_LOOKUP_by_alias(X509_LOOKUP *ctx , X509_LOOKUP_TYPE type , char const   *str ,
                                int len , X509_OBJECT *ret ) ;
extern int X509_LOOKUP_set_method_data(X509_LOOKUP *ctx , void *data ) ;
extern void *X509_LOOKUP_get_method_data(X509_LOOKUP const   *ctx ) ;
extern X509_STORE *X509_LOOKUP_get_store(X509_LOOKUP const   *ctx ) ;
extern int X509_LOOKUP_shutdown(X509_LOOKUP *ctx ) ;
extern int X509_STORE_load_locations(X509_STORE *ctx , char const   *file , char const   *dir ) ;
extern int X509_STORE_set_default_paths(X509_STORE *ctx ) ;
extern int X509_STORE_CTX_set_ex_data(X509_STORE_CTX *ctx , int idx , void *data ) ;
extern void *X509_STORE_CTX_get_ex_data(X509_STORE_CTX *ctx , int idx ) ;
extern int X509_STORE_CTX_get_error(X509_STORE_CTX *ctx ) ;
extern void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx , int s ) ;
extern int X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx ) ;
extern void X509_STORE_CTX_set_error_depth(X509_STORE_CTX *ctx , int depth ) ;
extern X509 *X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx ) ;
extern void X509_STORE_CTX_set_current_cert(X509_STORE_CTX *ctx , X509 *x ) ;
extern X509 *X509_STORE_CTX_get0_current_issuer(X509_STORE_CTX *ctx ) ;
extern X509_CRL *X509_STORE_CTX_get0_current_crl(X509_STORE_CTX *ctx ) ;
extern X509_STORE_CTX *X509_STORE_CTX_get0_parent_ctx(X509_STORE_CTX *ctx ) ;
extern struct stack_st_X509 *X509_STORE_CTX_get0_chain(X509_STORE_CTX *ctx ) ;
extern struct stack_st_X509 *X509_STORE_CTX_get1_chain(X509_STORE_CTX *ctx ) ;
extern void X509_STORE_CTX_set_cert(X509_STORE_CTX *c , X509 *x ) ;
extern void X509_STORE_CTX_set0_verified_chain(X509_STORE_CTX *c , struct stack_st_X509 *sk ) ;
extern void X509_STORE_CTX_set0_crls(X509_STORE_CTX *c , struct stack_st_X509_CRL *sk ) ;
extern int X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx , int purpose ) ;
extern int X509_STORE_CTX_set_trust(X509_STORE_CTX *ctx , int trust ) ;
extern int X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx , int def_purpose ,
                                          int purpose , int trust ) ;
extern void X509_STORE_CTX_set_flags(X509_STORE_CTX *ctx , unsigned long flags ) ;
extern void X509_STORE_CTX_set_time(X509_STORE_CTX *ctx , unsigned long flags , time_t t ) ;
extern X509_POLICY_TREE *X509_STORE_CTX_get0_policy_tree(X509_STORE_CTX *ctx ) ;
extern int X509_STORE_CTX_get_explicit_policy(X509_STORE_CTX *ctx ) ;
extern int X509_STORE_CTX_get_num_untrusted(X509_STORE_CTX *ctx ) ;
extern X509_VERIFY_PARAM *X509_STORE_CTX_get0_param(X509_STORE_CTX *ctx ) ;
extern void X509_STORE_CTX_set0_param(X509_STORE_CTX *ctx , X509_VERIFY_PARAM *param ) ;
extern int X509_STORE_CTX_set_default(X509_STORE_CTX *ctx , char const   *name ) ;
extern void X509_STORE_CTX_set0_dane(X509_STORE_CTX *ctx , SSL_DANE *dane ) ;
extern X509_VERIFY_PARAM *X509_VERIFY_PARAM_new(void) ;
extern void X509_VERIFY_PARAM_free(X509_VERIFY_PARAM *param ) ;
extern int X509_VERIFY_PARAM_inherit(X509_VERIFY_PARAM *to , X509_VERIFY_PARAM const   *from ) ;
extern int X509_VERIFY_PARAM_set1(X509_VERIFY_PARAM *to , X509_VERIFY_PARAM const   *from ) ;
extern int X509_VERIFY_PARAM_set1_name(X509_VERIFY_PARAM *param , char const   *name ) ;
extern int X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param , unsigned long flags ) ;
extern int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param , unsigned long flags ) ;
extern unsigned long X509_VERIFY_PARAM_get_flags(X509_VERIFY_PARAM *param ) ;
extern int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param , int purpose ) ;
extern int X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param , int trust ) ;
extern void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param , int depth ) ;
extern void X509_VERIFY_PARAM_set_auth_level(X509_VERIFY_PARAM *param , int auth_level ) ;
extern time_t X509_VERIFY_PARAM_get_time(X509_VERIFY_PARAM const   *param ) ;
extern void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param , time_t t ) ;
extern int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param , ASN1_OBJECT *policy ) ;
extern int X509_VERIFY_PARAM_set1_policies(X509_VERIFY_PARAM *param , struct stack_st_ASN1_OBJECT *policies ) ;
extern int X509_VERIFY_PARAM_set_inh_flags(X509_VERIFY_PARAM *param , uint32_t flags ) ;
extern uint32_t X509_VERIFY_PARAM_get_inh_flags(X509_VERIFY_PARAM const   *param ) ;
extern int X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param , char const   *name ,
                                       size_t namelen ) ;
extern int X509_VERIFY_PARAM_add1_host(X509_VERIFY_PARAM *param , char const   *name ,
                                       size_t namelen ) ;
extern void X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *param , unsigned int flags ) ;
extern unsigned int X509_VERIFY_PARAM_get_hostflags(X509_VERIFY_PARAM const   *param ) ;
extern char *X509_VERIFY_PARAM_get0_peername(X509_VERIFY_PARAM * ) ;
extern void X509_VERIFY_PARAM_move_peername(X509_VERIFY_PARAM * , X509_VERIFY_PARAM * ) ;
extern int X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *param , char const   *email ,
                                        size_t emaillen ) ;
extern int X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *param , unsigned char const   *ip ,
                                     size_t iplen ) ;
extern int X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *param , char const   *ipasc ) ;
extern int X509_VERIFY_PARAM_get_depth(X509_VERIFY_PARAM const   *param ) ;
extern int X509_VERIFY_PARAM_get_auth_level(X509_VERIFY_PARAM const   *param ) ;
extern char const   *X509_VERIFY_PARAM_get0_name(X509_VERIFY_PARAM const   *param ) ;
extern int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param ) ;
extern int X509_VERIFY_PARAM_get_count(void) ;
extern X509_VERIFY_PARAM const   *X509_VERIFY_PARAM_get0(int id ) ;
extern X509_VERIFY_PARAM const   *X509_VERIFY_PARAM_lookup(char const   *name ) ;
extern void X509_VERIFY_PARAM_table_cleanup(void) ;
extern int X509_policy_check(X509_POLICY_TREE **ptree , int *pexplicit_policy , struct stack_st_X509 *certs ,
                             struct stack_st_ASN1_OBJECT *policy_oids , unsigned int flags ) ;
extern void X509_policy_tree_free(X509_POLICY_TREE *tree ) ;
extern int X509_policy_tree_level_count(X509_POLICY_TREE const   *tree ) ;
extern X509_POLICY_LEVEL *X509_policy_tree_get0_level(X509_POLICY_TREE const   *tree ,
                                                      int i ) ;
extern struct stack_st_X509_POLICY_NODE *X509_policy_tree_get0_policies(X509_POLICY_TREE const   *tree ) ;
extern struct stack_st_X509_POLICY_NODE *X509_policy_tree_get0_user_policies(X509_POLICY_TREE const   *tree ) ;
extern int X509_policy_level_node_count(X509_POLICY_LEVEL *level ) ;
extern X509_POLICY_NODE *X509_policy_level_get0_node(X509_POLICY_LEVEL *level , int i ) ;
extern ASN1_OBJECT const   *X509_policy_node_get0_policy(X509_POLICY_NODE const   *node ) ;
extern struct stack_st_POLICYQUALINFO *X509_policy_node_get0_qualifiers(X509_POLICY_NODE const   *node ) ;
extern X509_POLICY_NODE const   *X509_policy_node_get0_parent(X509_POLICY_NODE const   *node ) ;
extern int ERR_load_PKCS7_strings(void) ;
__inline static int sk_PKCS7_SIGNER_INFO_num(struct stack_st_PKCS7_SIGNER_INFO  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static PKCS7_SIGNER_INFO *sk_PKCS7_SIGNER_INFO_value(struct stack_st_PKCS7_SIGNER_INFO  const  *sk ,
                                                              int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((PKCS7_SIGNER_INFO *)tmp);
}
}
__inline static struct stack_st_PKCS7_SIGNER_INFO *sk_PKCS7_SIGNER_INFO_new(int (*compare___1)(PKCS7_SIGNER_INFO const   **a ,
                                                                                               PKCS7_SIGNER_INFO const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_PKCS7_SIGNER_INFO *)tmp);
}
}
__inline static struct stack_st_PKCS7_SIGNER_INFO *sk_PKCS7_SIGNER_INFO_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_PKCS7_SIGNER_INFO *)tmp);
}
}
__inline static struct stack_st_PKCS7_SIGNER_INFO *sk_PKCS7_SIGNER_INFO_new_reserve(int (*compare___1)(PKCS7_SIGNER_INFO const   **a ,
                                                                                                       PKCS7_SIGNER_INFO const   **b ) ,
                                                                                    int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_PKCS7_SIGNER_INFO *)tmp);
}
}
__inline static int sk_PKCS7_SIGNER_INFO_reserve(struct stack_st_PKCS7_SIGNER_INFO *sk ,
                                                 int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_PKCS7_SIGNER_INFO_free(struct stack_st_PKCS7_SIGNER_INFO *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_PKCS7_SIGNER_INFO_zero(struct stack_st_PKCS7_SIGNER_INFO *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static PKCS7_SIGNER_INFO *sk_PKCS7_SIGNER_INFO_delete(struct stack_st_PKCS7_SIGNER_INFO *sk ,
                                                               int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((PKCS7_SIGNER_INFO *)tmp);
}
}
__inline static PKCS7_SIGNER_INFO *sk_PKCS7_SIGNER_INFO_delete_ptr(struct stack_st_PKCS7_SIGNER_INFO *sk ,
                                                                   PKCS7_SIGNER_INFO *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((PKCS7_SIGNER_INFO *)tmp);
}
}
__inline static int sk_PKCS7_SIGNER_INFO_push(struct stack_st_PKCS7_SIGNER_INFO *sk ,
                                              PKCS7_SIGNER_INFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_PKCS7_SIGNER_INFO_unshift(struct stack_st_PKCS7_SIGNER_INFO *sk ,
                                                 PKCS7_SIGNER_INFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static PKCS7_SIGNER_INFO *sk_PKCS7_SIGNER_INFO_pop(struct stack_st_PKCS7_SIGNER_INFO *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((PKCS7_SIGNER_INFO *)tmp);
}
}
__inline static PKCS7_SIGNER_INFO *sk_PKCS7_SIGNER_INFO_shift(struct stack_st_PKCS7_SIGNER_INFO *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((PKCS7_SIGNER_INFO *)tmp);
}
}
__inline static void sk_PKCS7_SIGNER_INFO_pop_free(struct stack_st_PKCS7_SIGNER_INFO *sk ,
                                                   void (*freefunc)(PKCS7_SIGNER_INFO *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_PKCS7_SIGNER_INFO_insert(struct stack_st_PKCS7_SIGNER_INFO *sk ,
                                                PKCS7_SIGNER_INFO *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static PKCS7_SIGNER_INFO *sk_PKCS7_SIGNER_INFO_set(struct stack_st_PKCS7_SIGNER_INFO *sk ,
                                                            int idx___0 , PKCS7_SIGNER_INFO *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((PKCS7_SIGNER_INFO *)tmp);
}
}
__inline static int sk_PKCS7_SIGNER_INFO_find(struct stack_st_PKCS7_SIGNER_INFO *sk ,
                                              PKCS7_SIGNER_INFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_PKCS7_SIGNER_INFO_find_ex(struct stack_st_PKCS7_SIGNER_INFO *sk ,
                                                 PKCS7_SIGNER_INFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_PKCS7_SIGNER_INFO_sort(struct stack_st_PKCS7_SIGNER_INFO *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_PKCS7_SIGNER_INFO_is_sorted(struct stack_st_PKCS7_SIGNER_INFO  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_PKCS7_SIGNER_INFO *sk_PKCS7_SIGNER_INFO_dup(struct stack_st_PKCS7_SIGNER_INFO  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_PKCS7_SIGNER_INFO *)tmp);
}
}
__inline static struct stack_st_PKCS7_SIGNER_INFO *sk_PKCS7_SIGNER_INFO_deep_copy(struct stack_st_PKCS7_SIGNER_INFO  const  *sk ,
                                                                                  PKCS7_SIGNER_INFO *(*copyfunc)(PKCS7_SIGNER_INFO const   *a ) ,
                                                                                  void (*freefunc)(PKCS7_SIGNER_INFO *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_PKCS7_SIGNER_INFO *)tmp);
}
}
__inline static sk_PKCS7_SIGNER_INFO_compfunc sk_PKCS7_SIGNER_INFO_set_cmp_func(struct stack_st_PKCS7_SIGNER_INFO *sk ,
                                                                                int (*compare___1)(PKCS7_SIGNER_INFO const   **a ,
                                                                                                   PKCS7_SIGNER_INFO const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(PKCS7_SIGNER_INFO const   **a , PKCS7_SIGNER_INFO const   **b ))tmp);
}
}
__inline static int sk_PKCS7_RECIP_INFO_num(struct stack_st_PKCS7_RECIP_INFO  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static PKCS7_RECIP_INFO *sk_PKCS7_RECIP_INFO_value(struct stack_st_PKCS7_RECIP_INFO  const  *sk ,
                                                            int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((PKCS7_RECIP_INFO *)tmp);
}
}
__inline static struct stack_st_PKCS7_RECIP_INFO *sk_PKCS7_RECIP_INFO_new(int (*compare___1)(PKCS7_RECIP_INFO const   **a ,
                                                                                             PKCS7_RECIP_INFO const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_PKCS7_RECIP_INFO *)tmp);
}
}
__inline static struct stack_st_PKCS7_RECIP_INFO *sk_PKCS7_RECIP_INFO_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_PKCS7_RECIP_INFO *)tmp);
}
}
__inline static struct stack_st_PKCS7_RECIP_INFO *sk_PKCS7_RECIP_INFO_new_reserve(int (*compare___1)(PKCS7_RECIP_INFO const   **a ,
                                                                                                     PKCS7_RECIP_INFO const   **b ) ,
                                                                                  int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_PKCS7_RECIP_INFO *)tmp);
}
}
__inline static int sk_PKCS7_RECIP_INFO_reserve(struct stack_st_PKCS7_RECIP_INFO *sk ,
                                                int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_PKCS7_RECIP_INFO_free(struct stack_st_PKCS7_RECIP_INFO *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_PKCS7_RECIP_INFO_zero(struct stack_st_PKCS7_RECIP_INFO *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static PKCS7_RECIP_INFO *sk_PKCS7_RECIP_INFO_delete(struct stack_st_PKCS7_RECIP_INFO *sk ,
                                                             int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((PKCS7_RECIP_INFO *)tmp);
}
}
__inline static PKCS7_RECIP_INFO *sk_PKCS7_RECIP_INFO_delete_ptr(struct stack_st_PKCS7_RECIP_INFO *sk ,
                                                                 PKCS7_RECIP_INFO *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((PKCS7_RECIP_INFO *)tmp);
}
}
__inline static int sk_PKCS7_RECIP_INFO_push(struct stack_st_PKCS7_RECIP_INFO *sk ,
                                             PKCS7_RECIP_INFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_PKCS7_RECIP_INFO_unshift(struct stack_st_PKCS7_RECIP_INFO *sk ,
                                                PKCS7_RECIP_INFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static PKCS7_RECIP_INFO *sk_PKCS7_RECIP_INFO_pop(struct stack_st_PKCS7_RECIP_INFO *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((PKCS7_RECIP_INFO *)tmp);
}
}
__inline static PKCS7_RECIP_INFO *sk_PKCS7_RECIP_INFO_shift(struct stack_st_PKCS7_RECIP_INFO *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((PKCS7_RECIP_INFO *)tmp);
}
}
__inline static void sk_PKCS7_RECIP_INFO_pop_free(struct stack_st_PKCS7_RECIP_INFO *sk ,
                                                  void (*freefunc)(PKCS7_RECIP_INFO *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_PKCS7_RECIP_INFO_insert(struct stack_st_PKCS7_RECIP_INFO *sk ,
                                               PKCS7_RECIP_INFO *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static PKCS7_RECIP_INFO *sk_PKCS7_RECIP_INFO_set(struct stack_st_PKCS7_RECIP_INFO *sk ,
                                                          int idx___0 , PKCS7_RECIP_INFO *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((PKCS7_RECIP_INFO *)tmp);
}
}
__inline static int sk_PKCS7_RECIP_INFO_find(struct stack_st_PKCS7_RECIP_INFO *sk ,
                                             PKCS7_RECIP_INFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_PKCS7_RECIP_INFO_find_ex(struct stack_st_PKCS7_RECIP_INFO *sk ,
                                                PKCS7_RECIP_INFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_PKCS7_RECIP_INFO_sort(struct stack_st_PKCS7_RECIP_INFO *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_PKCS7_RECIP_INFO_is_sorted(struct stack_st_PKCS7_RECIP_INFO  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_PKCS7_RECIP_INFO *sk_PKCS7_RECIP_INFO_dup(struct stack_st_PKCS7_RECIP_INFO  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_PKCS7_RECIP_INFO *)tmp);
}
}
__inline static struct stack_st_PKCS7_RECIP_INFO *sk_PKCS7_RECIP_INFO_deep_copy(struct stack_st_PKCS7_RECIP_INFO  const  *sk ,
                                                                                PKCS7_RECIP_INFO *(*copyfunc)(PKCS7_RECIP_INFO const   *a ) ,
                                                                                void (*freefunc)(PKCS7_RECIP_INFO *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_PKCS7_RECIP_INFO *)tmp);
}
}
__inline static sk_PKCS7_RECIP_INFO_compfunc sk_PKCS7_RECIP_INFO_set_cmp_func(struct stack_st_PKCS7_RECIP_INFO *sk ,
                                                                              int (*compare___1)(PKCS7_RECIP_INFO const   **a ,
                                                                                                 PKCS7_RECIP_INFO const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(PKCS7_RECIP_INFO const   **a , PKCS7_RECIP_INFO const   **b ))tmp);
}
}
__inline static int sk_PKCS7_num(struct stack_st_PKCS7  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static PKCS7 *sk_PKCS7_value(struct stack_st_PKCS7  const  *sk , int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((PKCS7 *)tmp);
}
}
__inline static struct stack_st_PKCS7 *sk_PKCS7_new(int (*compare___1)(PKCS7 const   **a ,
                                                                       PKCS7 const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_PKCS7 *)tmp);
}
}
__inline static struct stack_st_PKCS7 *sk_PKCS7_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_PKCS7 *)tmp);
}
}
__inline static struct stack_st_PKCS7 *sk_PKCS7_new_reserve(int (*compare___1)(PKCS7 const   **a ,
                                                                               PKCS7 const   **b ) ,
                                                            int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_PKCS7 *)tmp);
}
}
__inline static int sk_PKCS7_reserve(struct stack_st_PKCS7 *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_PKCS7_free(struct stack_st_PKCS7 *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_PKCS7_zero(struct stack_st_PKCS7 *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static PKCS7 *sk_PKCS7_delete(struct stack_st_PKCS7 *sk , int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((PKCS7 *)tmp);
}
}
__inline static PKCS7 *sk_PKCS7_delete_ptr(struct stack_st_PKCS7 *sk , PKCS7 *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((PKCS7 *)tmp);
}
}
__inline static int sk_PKCS7_push(struct stack_st_PKCS7 *sk , PKCS7 *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_PKCS7_unshift(struct stack_st_PKCS7 *sk , PKCS7 *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static PKCS7 *sk_PKCS7_pop(struct stack_st_PKCS7 *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((PKCS7 *)tmp);
}
}
__inline static PKCS7 *sk_PKCS7_shift(struct stack_st_PKCS7 *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((PKCS7 *)tmp);
}
}
__inline static void sk_PKCS7_pop_free(struct stack_st_PKCS7 *sk , void (*freefunc)(PKCS7 *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_PKCS7_insert(struct stack_st_PKCS7 *sk , PKCS7 *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static PKCS7 *sk_PKCS7_set(struct stack_st_PKCS7 *sk , int idx___0 , PKCS7 *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((PKCS7 *)tmp);
}
}
__inline static int sk_PKCS7_find(struct stack_st_PKCS7 *sk , PKCS7 *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_PKCS7_find_ex(struct stack_st_PKCS7 *sk , PKCS7 *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_PKCS7_sort(struct stack_st_PKCS7 *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_PKCS7_is_sorted(struct stack_st_PKCS7  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_PKCS7 *sk_PKCS7_dup(struct stack_st_PKCS7  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_PKCS7 *)tmp);
}
}
__inline static struct stack_st_PKCS7 *sk_PKCS7_deep_copy(struct stack_st_PKCS7  const  *sk ,
                                                          PKCS7 *(*copyfunc)(PKCS7 const   *a ) ,
                                                          void (*freefunc)(PKCS7 *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_PKCS7 *)tmp);
}
}
__inline static sk_PKCS7_compfunc sk_PKCS7_set_cmp_func(struct stack_st_PKCS7 *sk ,
                                                        int (*compare___1)(PKCS7 const   **a ,
                                                                           PKCS7 const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(PKCS7 const   **a , PKCS7 const   **b ))tmp);
}
}
extern PKCS7_ISSUER_AND_SERIAL *PKCS7_ISSUER_AND_SERIAL_new(void) ;
extern void PKCS7_ISSUER_AND_SERIAL_free(PKCS7_ISSUER_AND_SERIAL *a ) ;
extern PKCS7_ISSUER_AND_SERIAL *d2i_PKCS7_ISSUER_AND_SERIAL(PKCS7_ISSUER_AND_SERIAL **a ,
                                                            unsigned char const   **in ,
                                                            long len ) ;
extern int i2d_PKCS7_ISSUER_AND_SERIAL(PKCS7_ISSUER_AND_SERIAL *a , unsigned char **out ) ;
extern ASN1_ITEM const   PKCS7_ISSUER_AND_SERIAL_it ;
extern int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data , EVP_MD const   *type ,
                                          unsigned char *md , unsigned int *len ) ;
extern PKCS7 *d2i_PKCS7_fp(FILE *fp , PKCS7 **p7 ) ;
extern int i2d_PKCS7_fp(FILE *fp , PKCS7 *p7 ) ;
extern PKCS7 *PKCS7_dup(PKCS7 *p7 ) ;
extern PKCS7 *d2i_PKCS7_bio(BIO *bp , PKCS7 **p7 ) ;
extern int i2d_PKCS7_bio(BIO *bp , PKCS7 *p7 ) ;
extern int i2d_PKCS7_bio_stream(BIO *out , PKCS7 *p7 , BIO *in , int flags ) ;
extern int PEM_write_bio_PKCS7_stream(BIO *out , PKCS7 *p7 , BIO *in , int flags ) ;
extern PKCS7_SIGNER_INFO *PKCS7_SIGNER_INFO_new(void) ;
extern void PKCS7_SIGNER_INFO_free(PKCS7_SIGNER_INFO *a ) ;
extern PKCS7_SIGNER_INFO *d2i_PKCS7_SIGNER_INFO(PKCS7_SIGNER_INFO **a , unsigned char const   **in ,
                                                long len ) ;
extern int i2d_PKCS7_SIGNER_INFO(PKCS7_SIGNER_INFO *a , unsigned char **out ) ;
extern ASN1_ITEM const   PKCS7_SIGNER_INFO_it ;
extern PKCS7_RECIP_INFO *PKCS7_RECIP_INFO_new(void) ;
extern void PKCS7_RECIP_INFO_free(PKCS7_RECIP_INFO *a ) ;
extern PKCS7_RECIP_INFO *d2i_PKCS7_RECIP_INFO(PKCS7_RECIP_INFO **a , unsigned char const   **in ,
                                              long len ) ;
extern int i2d_PKCS7_RECIP_INFO(PKCS7_RECIP_INFO *a , unsigned char **out ) ;
extern ASN1_ITEM const   PKCS7_RECIP_INFO_it ;
extern PKCS7_SIGNED *PKCS7_SIGNED_new(void) ;
extern void PKCS7_SIGNED_free(PKCS7_SIGNED *a ) ;
extern PKCS7_SIGNED *d2i_PKCS7_SIGNED(PKCS7_SIGNED **a , unsigned char const   **in ,
                                      long len ) ;
extern int i2d_PKCS7_SIGNED(PKCS7_SIGNED *a , unsigned char **out ) ;
extern ASN1_ITEM const   PKCS7_SIGNED_it ;
extern PKCS7_ENC_CONTENT *PKCS7_ENC_CONTENT_new(void) ;
extern void PKCS7_ENC_CONTENT_free(PKCS7_ENC_CONTENT *a ) ;
extern PKCS7_ENC_CONTENT *d2i_PKCS7_ENC_CONTENT(PKCS7_ENC_CONTENT **a , unsigned char const   **in ,
                                                long len ) ;
extern int i2d_PKCS7_ENC_CONTENT(PKCS7_ENC_CONTENT *a , unsigned char **out ) ;
extern ASN1_ITEM const   PKCS7_ENC_CONTENT_it ;
extern PKCS7_ENVELOPE *PKCS7_ENVELOPE_new(void) ;
extern void PKCS7_ENVELOPE_free(PKCS7_ENVELOPE *a ) ;
extern PKCS7_ENVELOPE *d2i_PKCS7_ENVELOPE(PKCS7_ENVELOPE **a , unsigned char const   **in ,
                                          long len ) ;
extern int i2d_PKCS7_ENVELOPE(PKCS7_ENVELOPE *a , unsigned char **out ) ;
extern ASN1_ITEM const   PKCS7_ENVELOPE_it ;
extern PKCS7_SIGN_ENVELOPE *PKCS7_SIGN_ENVELOPE_new(void) ;
extern void PKCS7_SIGN_ENVELOPE_free(PKCS7_SIGN_ENVELOPE *a ) ;
extern PKCS7_SIGN_ENVELOPE *d2i_PKCS7_SIGN_ENVELOPE(PKCS7_SIGN_ENVELOPE **a , unsigned char const   **in ,
                                                    long len ) ;
extern int i2d_PKCS7_SIGN_ENVELOPE(PKCS7_SIGN_ENVELOPE *a , unsigned char **out ) ;
extern ASN1_ITEM const   PKCS7_SIGN_ENVELOPE_it ;
extern PKCS7_DIGEST *PKCS7_DIGEST_new(void) ;
extern void PKCS7_DIGEST_free(PKCS7_DIGEST *a ) ;
extern PKCS7_DIGEST *d2i_PKCS7_DIGEST(PKCS7_DIGEST **a , unsigned char const   **in ,
                                      long len ) ;
extern int i2d_PKCS7_DIGEST(PKCS7_DIGEST *a , unsigned char **out ) ;
extern ASN1_ITEM const   PKCS7_DIGEST_it ;
extern PKCS7_ENCRYPT *PKCS7_ENCRYPT_new(void) ;
extern void PKCS7_ENCRYPT_free(PKCS7_ENCRYPT *a ) ;
extern PKCS7_ENCRYPT *d2i_PKCS7_ENCRYPT(PKCS7_ENCRYPT **a , unsigned char const   **in ,
                                        long len ) ;
extern int i2d_PKCS7_ENCRYPT(PKCS7_ENCRYPT *a , unsigned char **out ) ;
extern ASN1_ITEM const   PKCS7_ENCRYPT_it ;
extern PKCS7 *PKCS7_new(void) ;
extern void PKCS7_free(PKCS7 *a ) ;
extern PKCS7 *d2i_PKCS7(PKCS7 **a , unsigned char const   **in , long len ) ;
extern int i2d_PKCS7(PKCS7 *a , unsigned char **out ) ;
extern ASN1_ITEM const   PKCS7_it ;
extern ASN1_ITEM const   PKCS7_ATTR_SIGN_it ;
extern ASN1_ITEM const   PKCS7_ATTR_VERIFY_it ;
extern int i2d_PKCS7_NDEF(PKCS7 *a , unsigned char **out ) ;
extern int PKCS7_print_ctx(BIO *out , PKCS7 *x , int indent , ASN1_PCTX const   *pctx ) ;
extern long PKCS7_ctrl(PKCS7 *p7 , int cmd , long larg , char *parg ) ;
extern int PKCS7_set_type(PKCS7 *p7 , int type ) ;
extern int PKCS7_set0_type_other(PKCS7 *p7 , int type , ASN1_TYPE *other ) ;
extern int PKCS7_set_content(PKCS7 *p7 , PKCS7 *p7_data ) ;
extern int PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i , X509 *x509 , EVP_PKEY *pkey ,
                                 EVP_MD const   *dgst ) ;
extern int PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si ) ;
extern int PKCS7_add_signer(PKCS7 *p7 , PKCS7_SIGNER_INFO *p7i ) ;
extern int PKCS7_add_certificate(PKCS7 *p7 , X509 *x509 ) ;
extern int PKCS7_add_crl(PKCS7 *p7 , X509_CRL *x509 ) ;
extern int PKCS7_content_new(PKCS7 *p7 , int nid ) ;
extern int PKCS7_dataVerify(X509_STORE *cert_store , X509_STORE_CTX *ctx , BIO *bio ,
                            PKCS7 *p7 , PKCS7_SIGNER_INFO *si ) ;
extern int PKCS7_signatureVerify(BIO *bio , PKCS7 *p7 , PKCS7_SIGNER_INFO *si , X509 *x509 ) ;
extern BIO *PKCS7_dataInit(PKCS7 *p7 , BIO *bio ) ;
extern int PKCS7_dataFinal(PKCS7 *p7 , BIO *bio ) ;
extern BIO *PKCS7_dataDecode(PKCS7 *p7 , EVP_PKEY *pkey , BIO *in_bio , X509 *pcert ) ;
extern PKCS7_SIGNER_INFO *PKCS7_add_signature(PKCS7 *p7 , X509 *x509 , EVP_PKEY *pkey ,
                                              EVP_MD const   *dgst ) ;
extern X509 *PKCS7_cert_from_signer_info(PKCS7 *p7 , PKCS7_SIGNER_INFO *si ) ;
extern int PKCS7_set_digest(PKCS7 *p7 , EVP_MD const   *md ) ;
extern struct stack_st_PKCS7_SIGNER_INFO *PKCS7_get_signer_info(PKCS7 *p7 ) ;
extern PKCS7_RECIP_INFO *PKCS7_add_recipient(PKCS7 *p7 , X509 *x509 ) ;
extern void PKCS7_SIGNER_INFO_get0_algs(PKCS7_SIGNER_INFO *si , EVP_PKEY **pk , X509_ALGOR **pdig ,
                                        X509_ALGOR **psig ) ;
extern void PKCS7_RECIP_INFO_get0_alg(PKCS7_RECIP_INFO *ri , X509_ALGOR **penc ) ;
extern int PKCS7_add_recipient_info(PKCS7 *p7 , PKCS7_RECIP_INFO *ri ) ;
extern int PKCS7_RECIP_INFO_set(PKCS7_RECIP_INFO *p7i , X509 *x509 ) ;
extern int PKCS7_set_cipher(PKCS7 *p7 , EVP_CIPHER const   *cipher ) ;
extern int PKCS7_stream(unsigned char ***boundary , PKCS7 *p7 ) ;
extern PKCS7_ISSUER_AND_SERIAL *PKCS7_get_issuer_and_serial(PKCS7 *p7 , int idx ) ;
extern ASN1_OCTET_STRING *PKCS7_digest_from_attributes(struct stack_st_X509_ATTRIBUTE *sk ) ;
extern int PKCS7_add_signed_attribute(PKCS7_SIGNER_INFO *p7si , int nid , int type ,
                                      void *data ) ;
extern int PKCS7_add_attribute(PKCS7_SIGNER_INFO *p7si , int nid , int atrtype , void *value ) ;
extern ASN1_TYPE *PKCS7_get_attribute(PKCS7_SIGNER_INFO *si , int nid ) ;
extern ASN1_TYPE *PKCS7_get_signed_attribute(PKCS7_SIGNER_INFO *si , int nid ) ;
extern int PKCS7_set_signed_attributes(PKCS7_SIGNER_INFO *p7si , struct stack_st_X509_ATTRIBUTE *sk ) ;
extern int PKCS7_set_attributes(PKCS7_SIGNER_INFO *p7si , struct stack_st_X509_ATTRIBUTE *sk ) ;
extern PKCS7 *PKCS7_sign(X509 *signcert , EVP_PKEY *pkey , struct stack_st_X509 *certs ,
                         BIO *data , int flags ) ;
extern PKCS7_SIGNER_INFO *PKCS7_sign_add_signer(PKCS7 *p7 , X509 *signcert , EVP_PKEY *pkey ,
                                                EVP_MD const   *md , int flags ) ;
extern int PKCS7_final(PKCS7 *p7 , BIO *data , int flags ) ;
extern int PKCS7_verify(PKCS7 *p7 , struct stack_st_X509 *certs , X509_STORE *store ,
                        BIO *indata , BIO *out , int flags ) ;
extern struct stack_st_X509 *PKCS7_get0_signers(PKCS7 *p7 , struct stack_st_X509 *certs ,
                                                int flags ) ;
extern PKCS7 *PKCS7_encrypt(struct stack_st_X509 *certs , BIO *in , EVP_CIPHER const   *cipher ,
                            int flags ) ;
extern int PKCS7_decrypt(PKCS7 *p7 , EVP_PKEY *pkey , X509 *cert , BIO *data , int flags ) ;
extern int PKCS7_add_attrib_smimecap(PKCS7_SIGNER_INFO *si , struct stack_st_X509_ALGOR *cap ) ;
extern struct stack_st_X509_ALGOR *PKCS7_get_smimecap(PKCS7_SIGNER_INFO *si ) ;
extern int PKCS7_simple_smimecap(struct stack_st_X509_ALGOR *sk , int nid , int arg ) ;
extern int PKCS7_add_attrib_content_type(PKCS7_SIGNER_INFO *si , ASN1_OBJECT *coid ) ;
extern int PKCS7_add0_attrib_signing_time(PKCS7_SIGNER_INFO *si , ASN1_TIME *t ) ;
extern int PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si , unsigned char const   *md ,
                                    int mdlen ) ;
extern int SMIME_write_PKCS7(BIO *bio , PKCS7 *p7 , BIO *data , int flags ) ;
extern PKCS7 *SMIME_read_PKCS7(BIO *bio , BIO **bcont ) ;
extern BIO *BIO_new_PKCS7(BIO *out , PKCS7 *p7 ) ;
extern void X509_CRL_set_default_method(X509_CRL_METHOD const   *meth ) ;
extern X509_CRL_METHOD *X509_CRL_METHOD_new(int (*crl_init)(X509_CRL *crl ) , int (*crl_free)(X509_CRL *crl ) ,
                                            int (*crl_lookup)(X509_CRL *crl , X509_REVOKED **ret ,
                                                              ASN1_INTEGER *ser ,
                                                              X509_NAME *issuer ) ,
                                            int (*crl_verify)(X509_CRL *crl , EVP_PKEY *pk ) ) ;
extern void X509_CRL_METHOD_free(X509_CRL_METHOD *m ) ;
extern void X509_CRL_set_meth_data(X509_CRL *crl , void *dat ) ;
extern void *X509_CRL_get_meth_data(X509_CRL *crl ) ;
extern char const   *X509_verify_cert_error_string(long n ) ;
extern int X509_verify(X509 *a , EVP_PKEY *r ) ;
extern int X509_REQ_verify(X509_REQ *a , EVP_PKEY *r ) ;
extern int X509_CRL_verify(X509_CRL *a , EVP_PKEY *r ) ;
extern int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a , EVP_PKEY *r ) ;
extern NETSCAPE_SPKI *NETSCAPE_SPKI_b64_decode(char const   *str , int len ) ;
extern char *NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *x ) ;
extern EVP_PKEY *NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x ) ;
extern int NETSCAPE_SPKI_set_pubkey(NETSCAPE_SPKI *x , EVP_PKEY *pkey ) ;
extern int NETSCAPE_SPKI_print(BIO *out , NETSCAPE_SPKI *spki ) ;
extern int X509_signature_dump(BIO *bp , ASN1_STRING const   *sig , int indent ) ;
extern int X509_signature_print(BIO *bp , X509_ALGOR const   *alg , ASN1_STRING const   *sig ) ;
extern int X509_sign(X509 *x , EVP_PKEY *pkey , EVP_MD const   *md ) ;
extern int X509_sign_ctx(X509 *x , EVP_MD_CTX *ctx ) ;
extern int X509_http_nbio(OCSP_REQ_CTX *rctx , X509 **pcert ) ;
extern int X509_REQ_sign(X509_REQ *x , EVP_PKEY *pkey , EVP_MD const   *md ) ;
extern int X509_REQ_sign_ctx(X509_REQ *x , EVP_MD_CTX *ctx ) ;
extern int X509_CRL_sign(X509_CRL *x , EVP_PKEY *pkey , EVP_MD const   *md ) ;
extern int X509_CRL_sign_ctx(X509_CRL *x , EVP_MD_CTX *ctx ) ;
extern int X509_CRL_http_nbio(OCSP_REQ_CTX *rctx , X509_CRL **pcrl ) ;
extern int NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x , EVP_PKEY *pkey , EVP_MD const   *md ) ;
extern int X509_pubkey_digest(X509 const   *data , EVP_MD const   *type , unsigned char *md ,
                              unsigned int *len ) ;
extern int X509_digest(X509 const   *data , EVP_MD const   *type , unsigned char *md ,
                       unsigned int *len ) ;
extern int X509_CRL_digest(X509_CRL const   *data , EVP_MD const   *type , unsigned char *md ,
                           unsigned int *len ) ;
extern int X509_REQ_digest(X509_REQ const   *data , EVP_MD const   *type , unsigned char *md ,
                           unsigned int *len ) ;
extern int X509_NAME_digest(X509_NAME const   *data , EVP_MD const   *type , unsigned char *md ,
                            unsigned int *len ) ;
extern X509 *d2i_X509_fp(FILE *fp , X509 **x509 ) ;
extern int i2d_X509_fp(FILE *fp , X509 *x509 ) ;
extern X509_CRL *d2i_X509_CRL_fp(FILE *fp , X509_CRL **crl ) ;
extern int i2d_X509_CRL_fp(FILE *fp , X509_CRL *crl ) ;
extern X509_REQ *d2i_X509_REQ_fp(FILE *fp , X509_REQ **req ) ;
extern int i2d_X509_REQ_fp(FILE *fp , X509_REQ *req ) ;
extern RSA *d2i_RSAPrivateKey_fp(FILE *fp , RSA **rsa ) ;
extern int i2d_RSAPrivateKey_fp(FILE *fp , RSA *rsa ) ;
extern RSA *d2i_RSAPublicKey_fp(FILE *fp , RSA **rsa ) ;
extern int i2d_RSAPublicKey_fp(FILE *fp , RSA *rsa ) ;
extern RSA *d2i_RSA_PUBKEY_fp(FILE *fp , RSA **rsa ) ;
extern int i2d_RSA_PUBKEY_fp(FILE *fp , RSA *rsa ) ;
extern DSA *d2i_DSA_PUBKEY_fp(FILE *fp , DSA **dsa ) ;
extern int i2d_DSA_PUBKEY_fp(FILE *fp , DSA *dsa ) ;
extern DSA *d2i_DSAPrivateKey_fp(FILE *fp , DSA **dsa ) ;
extern int i2d_DSAPrivateKey_fp(FILE *fp , DSA *dsa ) ;
extern EC_KEY *d2i_EC_PUBKEY_fp(FILE *fp , EC_KEY **eckey ) ;
extern int i2d_EC_PUBKEY_fp(FILE *fp , EC_KEY *eckey ) ;
extern EC_KEY *d2i_ECPrivateKey_fp(FILE *fp , EC_KEY **eckey ) ;
extern int i2d_ECPrivateKey_fp(FILE *fp , EC_KEY *eckey ) ;
extern X509_SIG *d2i_PKCS8_fp(FILE *fp , X509_SIG **p8 ) ;
extern int i2d_PKCS8_fp(FILE *fp , X509_SIG *p8 ) ;
extern PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp , PKCS8_PRIV_KEY_INFO **p8inf ) ;
extern int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp , PKCS8_PRIV_KEY_INFO *p8inf ) ;
extern int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp , EVP_PKEY *key ) ;
extern int i2d_PrivateKey_fp(FILE *fp , EVP_PKEY *pkey ) ;
extern EVP_PKEY *d2i_PrivateKey_fp(FILE *fp , EVP_PKEY **a ) ;
extern int i2d_PUBKEY_fp(FILE *fp , EVP_PKEY *pkey ) ;
extern EVP_PKEY *d2i_PUBKEY_fp(FILE *fp , EVP_PKEY **a ) ;
extern X509 *d2i_X509_bio(BIO *bp , X509 **x509 ) ;
extern int i2d_X509_bio(BIO *bp , X509 *x509 ) ;
extern X509_CRL *d2i_X509_CRL_bio(BIO *bp , X509_CRL **crl ) ;
extern int i2d_X509_CRL_bio(BIO *bp , X509_CRL *crl ) ;
extern X509_REQ *d2i_X509_REQ_bio(BIO *bp , X509_REQ **req ) ;
extern int i2d_X509_REQ_bio(BIO *bp , X509_REQ *req ) ;
extern RSA *d2i_RSAPrivateKey_bio(BIO *bp , RSA **rsa ) ;
extern int i2d_RSAPrivateKey_bio(BIO *bp , RSA *rsa ) ;
extern RSA *d2i_RSAPublicKey_bio(BIO *bp , RSA **rsa ) ;
extern int i2d_RSAPublicKey_bio(BIO *bp , RSA *rsa ) ;
extern RSA *d2i_RSA_PUBKEY_bio(BIO *bp , RSA **rsa ) ;
extern int i2d_RSA_PUBKEY_bio(BIO *bp , RSA *rsa ) ;
extern DSA *d2i_DSA_PUBKEY_bio(BIO *bp , DSA **dsa ) ;
extern int i2d_DSA_PUBKEY_bio(BIO *bp , DSA *dsa ) ;
extern DSA *d2i_DSAPrivateKey_bio(BIO *bp , DSA **dsa ) ;
extern int i2d_DSAPrivateKey_bio(BIO *bp , DSA *dsa ) ;
extern EC_KEY *d2i_EC_PUBKEY_bio(BIO *bp , EC_KEY **eckey ) ;
extern int i2d_EC_PUBKEY_bio(BIO *bp , EC_KEY *eckey ) ;
extern EC_KEY *d2i_ECPrivateKey_bio(BIO *bp , EC_KEY **eckey ) ;
extern int i2d_ECPrivateKey_bio(BIO *bp , EC_KEY *eckey ) ;
extern X509_SIG *d2i_PKCS8_bio(BIO *bp , X509_SIG **p8 ) ;
extern int i2d_PKCS8_bio(BIO *bp , X509_SIG *p8 ) ;
extern PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp , PKCS8_PRIV_KEY_INFO **p8inf ) ;
extern int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp , PKCS8_PRIV_KEY_INFO *p8inf ) ;
extern int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp , EVP_PKEY *key ) ;
extern int i2d_PrivateKey_bio(BIO *bp , EVP_PKEY *pkey ) ;
extern EVP_PKEY *d2i_PrivateKey_bio(BIO *bp , EVP_PKEY **a ) ;
extern int i2d_PUBKEY_bio(BIO *bp , EVP_PKEY *pkey ) ;
extern EVP_PKEY *d2i_PUBKEY_bio(BIO *bp , EVP_PKEY **a ) ;
extern X509 *X509_dup(X509 *x509 ) ;
extern X509_ATTRIBUTE *X509_ATTRIBUTE_dup(X509_ATTRIBUTE *xa ) ;
extern X509_EXTENSION *X509_EXTENSION_dup(X509_EXTENSION *ex ) ;
extern X509_CRL *X509_CRL_dup(X509_CRL *crl ) ;
extern X509_REVOKED *X509_REVOKED_dup(X509_REVOKED *rev ) ;
extern X509_REQ *X509_REQ_dup(X509_REQ *req ) ;
extern X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *xn ) ;
extern int X509_ALGOR_set0(X509_ALGOR *alg , ASN1_OBJECT *aobj , int ptype , void *pval ) ;
extern void X509_ALGOR_get0(ASN1_OBJECT const   **paobj , int *pptype , void const   **ppval ,
                            X509_ALGOR const   *algor ) ;
extern void X509_ALGOR_set_md(X509_ALGOR *alg , EVP_MD const   *md ) ;
extern int X509_ALGOR_cmp(X509_ALGOR const   *a , X509_ALGOR const   *b ) ;
extern X509_NAME *X509_NAME_dup(X509_NAME *xn ) ;
extern X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne ) ;
extern int X509_cmp_time(ASN1_TIME const   *s , time_t *t ) ;
extern int X509_cmp_current_time(ASN1_TIME const   *s ) ;
extern ASN1_TIME *X509_time_adj(ASN1_TIME *s , long adj , time_t *t ) ;
extern ASN1_TIME *X509_time_adj_ex(ASN1_TIME *s , int offset_day , long offset_sec ,
                                   time_t *t ) ;
extern ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s , long adj ) ;
extern char const   *X509_get_default_cert_area(void) ;
extern char const   *X509_get_default_cert_dir(void) ;
extern char const   *X509_get_default_cert_file(void) ;
extern char const   *X509_get_default_cert_dir_env(void) ;
extern char const   *X509_get_default_cert_file_env(void) ;
extern char const   *X509_get_default_private_dir(void) ;
extern X509_REQ *X509_to_X509_REQ(X509 *x , EVP_PKEY *pkey , EVP_MD const   *md ) ;
extern X509 *X509_REQ_to_X509(X509_REQ *r , int days , EVP_PKEY *pkey ) ;
extern X509_ALGOR *X509_ALGOR_new(void) ;
extern void X509_ALGOR_free(X509_ALGOR *a ) ;
extern X509_ALGOR *d2i_X509_ALGOR(X509_ALGOR **a , unsigned char const   **in , long len ) ;
extern int i2d_X509_ALGOR(X509_ALGOR *a , unsigned char **out ) ;
extern ASN1_ITEM const   X509_ALGOR_it ;
extern X509_ALGORS *d2i_X509_ALGORS(X509_ALGORS **a , unsigned char const   **in ,
                                    long len ) ;
extern int i2d_X509_ALGORS(X509_ALGORS *a , unsigned char **out ) ;
extern ASN1_ITEM const   X509_ALGORS_it ;
extern X509_VAL *X509_VAL_new(void) ;
extern void X509_VAL_free(X509_VAL *a ) ;
extern X509_VAL *d2i_X509_VAL(X509_VAL **a , unsigned char const   **in , long len ) ;
extern int i2d_X509_VAL(X509_VAL *a , unsigned char **out ) ;
extern ASN1_ITEM const   X509_VAL_it ;
extern X509_PUBKEY *X509_PUBKEY_new(void) ;
extern void X509_PUBKEY_free(X509_PUBKEY *a ) ;
extern X509_PUBKEY *d2i_X509_PUBKEY(X509_PUBKEY **a , unsigned char const   **in ,
                                    long len ) ;
extern int i2d_X509_PUBKEY(X509_PUBKEY *a , unsigned char **out ) ;
extern ASN1_ITEM const   X509_PUBKEY_it ;
extern int X509_PUBKEY_set(X509_PUBKEY **x , EVP_PKEY *pkey ) ;
extern EVP_PKEY *X509_PUBKEY_get0(X509_PUBKEY *key ) ;
extern EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key ) ;
extern int X509_get_pubkey_parameters(EVP_PKEY *pkey , struct stack_st_X509 *chain ) ;
extern long X509_get_pathlen(X509 *x ) ;
extern int i2d_PUBKEY(EVP_PKEY *a , unsigned char **pp ) ;
extern EVP_PKEY *d2i_PUBKEY(EVP_PKEY **a , unsigned char const   **pp , long length ) ;
extern int i2d_RSA_PUBKEY(RSA *a , unsigned char **pp ) ;
extern RSA *d2i_RSA_PUBKEY(RSA **a , unsigned char const   **pp , long length ) ;
extern int i2d_DSA_PUBKEY(DSA *a , unsigned char **pp ) ;
extern DSA *d2i_DSA_PUBKEY(DSA **a , unsigned char const   **pp , long length ) ;
extern int i2d_EC_PUBKEY(EC_KEY *a , unsigned char **pp ) ;
extern EC_KEY *d2i_EC_PUBKEY(EC_KEY **a , unsigned char const   **pp , long length ) ;
extern X509_SIG *X509_SIG_new(void) ;
extern void X509_SIG_free(X509_SIG *a ) ;
extern X509_SIG *d2i_X509_SIG(X509_SIG **a , unsigned char const   **in , long len ) ;
extern int i2d_X509_SIG(X509_SIG *a , unsigned char **out ) ;
extern ASN1_ITEM const   X509_SIG_it ;
extern void X509_SIG_get0(X509_SIG const   *sig , X509_ALGOR const   **palg , ASN1_OCTET_STRING const   **pdigest ) ;
extern void X509_SIG_getm(X509_SIG *sig , X509_ALGOR **palg , ASN1_OCTET_STRING **pdigest ) ;
extern X509_REQ_INFO *X509_REQ_INFO_new(void) ;
extern void X509_REQ_INFO_free(X509_REQ_INFO *a ) ;
extern X509_REQ_INFO *d2i_X509_REQ_INFO(X509_REQ_INFO **a , unsigned char const   **in ,
                                        long len ) ;
extern int i2d_X509_REQ_INFO(X509_REQ_INFO *a , unsigned char **out ) ;
extern ASN1_ITEM const   X509_REQ_INFO_it ;
extern X509_REQ *X509_REQ_new(void) ;
extern void X509_REQ_free(X509_REQ *a ) ;
extern X509_REQ *d2i_X509_REQ(X509_REQ **a , unsigned char const   **in , long len ) ;
extern int i2d_X509_REQ(X509_REQ *a , unsigned char **out ) ;
extern ASN1_ITEM const   X509_REQ_it ;
extern X509_ATTRIBUTE *X509_ATTRIBUTE_new(void) ;
extern void X509_ATTRIBUTE_free(X509_ATTRIBUTE *a ) ;
extern X509_ATTRIBUTE *d2i_X509_ATTRIBUTE(X509_ATTRIBUTE **a , unsigned char const   **in ,
                                          long len ) ;
extern int i2d_X509_ATTRIBUTE(X509_ATTRIBUTE *a , unsigned char **out ) ;
extern ASN1_ITEM const   X509_ATTRIBUTE_it ;
extern X509_ATTRIBUTE *X509_ATTRIBUTE_create(int nid , int atrtype , void *value ) ;
extern X509_EXTENSION *X509_EXTENSION_new(void) ;
extern void X509_EXTENSION_free(X509_EXTENSION *a ) ;
extern X509_EXTENSION *d2i_X509_EXTENSION(X509_EXTENSION **a , unsigned char const   **in ,
                                          long len ) ;
extern int i2d_X509_EXTENSION(X509_EXTENSION *a , unsigned char **out ) ;
extern ASN1_ITEM const   X509_EXTENSION_it ;
extern X509_EXTENSIONS *d2i_X509_EXTENSIONS(X509_EXTENSIONS **a , unsigned char const   **in ,
                                            long len ) ;
extern int i2d_X509_EXTENSIONS(X509_EXTENSIONS *a , unsigned char **out ) ;
extern ASN1_ITEM const   X509_EXTENSIONS_it ;
extern X509_NAME_ENTRY *X509_NAME_ENTRY_new(void) ;
extern void X509_NAME_ENTRY_free(X509_NAME_ENTRY *a ) ;
extern X509_NAME_ENTRY *d2i_X509_NAME_ENTRY(X509_NAME_ENTRY **a , unsigned char const   **in ,
                                            long len ) ;
extern int i2d_X509_NAME_ENTRY(X509_NAME_ENTRY *a , unsigned char **out ) ;
extern ASN1_ITEM const   X509_NAME_ENTRY_it ;
extern X509_NAME *X509_NAME_new(void) ;
extern void X509_NAME_free(X509_NAME *a ) ;
extern X509_NAME *d2i_X509_NAME(X509_NAME **a , unsigned char const   **in , long len ) ;
extern int i2d_X509_NAME(X509_NAME *a , unsigned char **out ) ;
extern ASN1_ITEM const   X509_NAME_it ;
extern int X509_NAME_set(X509_NAME **xn , X509_NAME *name ) ;
extern X509_CINF *X509_CINF_new(void) ;
extern void X509_CINF_free(X509_CINF *a ) ;
extern X509_CINF *d2i_X509_CINF(X509_CINF **a , unsigned char const   **in , long len ) ;
extern int i2d_X509_CINF(X509_CINF *a , unsigned char **out ) ;
extern ASN1_ITEM const   X509_CINF_it ;
extern X509 *X509_new(void) ;
extern void X509_free(X509 *a ) ;
extern X509 *d2i_X509(X509 **a , unsigned char const   **in , long len ) ;
extern int i2d_X509(X509 *a , unsigned char **out ) ;
extern ASN1_ITEM const   X509_it ;
extern X509_CERT_AUX *X509_CERT_AUX_new(void) ;
extern void X509_CERT_AUX_free(X509_CERT_AUX *a ) ;
extern X509_CERT_AUX *d2i_X509_CERT_AUX(X509_CERT_AUX **a , unsigned char const   **in ,
                                        long len ) ;
extern int i2d_X509_CERT_AUX(X509_CERT_AUX *a , unsigned char **out ) ;
extern ASN1_ITEM const   X509_CERT_AUX_it ;
extern int X509_set_ex_data(X509 *r , int idx , void *arg ) ;
extern void *X509_get_ex_data(X509 *r , int idx ) ;
extern int i2d_X509_AUX(X509 *a , unsigned char **pp ) ;
extern X509 *d2i_X509_AUX(X509 **a , unsigned char const   **pp , long length ) ;
extern int i2d_re_X509_tbs(X509 *x , unsigned char **pp ) ;
extern int X509_SIG_INFO_get(X509_SIG_INFO const   *siginf , int *mdnid , int *pknid ,
                             int *secbits , uint32_t *flags ) ;
extern void X509_SIG_INFO_set(X509_SIG_INFO *siginf , int mdnid , int pknid , int secbits ,
                              uint32_t flags ) ;
extern int X509_get_signature_info(X509 *x , int *mdnid , int *pknid , int *secbits ,
                                   uint32_t *flags ) ;
extern void X509_get0_signature(ASN1_BIT_STRING const   **psig , X509_ALGOR const   **palg ,
                                X509 const   *x ) ;
extern int X509_get_signature_nid(X509 const   *x ) ;
extern int X509_trusted(X509 const   *x ) ;
extern int X509_alias_set1(X509 *x , unsigned char const   *name , int len ) ;
extern int X509_keyid_set1(X509 *x , unsigned char const   *id , int len ) ;
extern unsigned char *X509_alias_get0(X509 *x , int *len ) ;
extern unsigned char *X509_keyid_get0(X509 *x , int *len ) ;
extern int (*X509_TRUST_set_default(int (*trust)(int  , X509 * , int  ) ))(int  ,
                                                                           X509 * ,
                                                                           int  ) ;
extern int X509_TRUST_set(int *t , int trust ) ;
extern int X509_add1_trust_object(X509 *x , ASN1_OBJECT const   *obj ) ;
extern int X509_add1_reject_object(X509 *x , ASN1_OBJECT const   *obj ) ;
extern void X509_trust_clear(X509 *x ) ;
extern void X509_reject_clear(X509 *x ) ;
extern struct stack_st_ASN1_OBJECT *X509_get0_trust_objects(X509 *x ) ;
extern struct stack_st_ASN1_OBJECT *X509_get0_reject_objects(X509 *x ) ;
extern X509_REVOKED *X509_REVOKED_new(void) ;
extern void X509_REVOKED_free(X509_REVOKED *a ) ;
extern X509_REVOKED *d2i_X509_REVOKED(X509_REVOKED **a , unsigned char const   **in ,
                                      long len ) ;
extern int i2d_X509_REVOKED(X509_REVOKED *a , unsigned char **out ) ;
extern ASN1_ITEM const   X509_REVOKED_it ;
extern X509_CRL_INFO *X509_CRL_INFO_new(void) ;
extern void X509_CRL_INFO_free(X509_CRL_INFO *a ) ;
extern X509_CRL_INFO *d2i_X509_CRL_INFO(X509_CRL_INFO **a , unsigned char const   **in ,
                                        long len ) ;
extern int i2d_X509_CRL_INFO(X509_CRL_INFO *a , unsigned char **out ) ;
extern ASN1_ITEM const   X509_CRL_INFO_it ;
extern X509_CRL *X509_CRL_new(void) ;
extern void X509_CRL_free(X509_CRL *a ) ;
extern X509_CRL *d2i_X509_CRL(X509_CRL **a , unsigned char const   **in , long len ) ;
extern int i2d_X509_CRL(X509_CRL *a , unsigned char **out ) ;
extern ASN1_ITEM const   X509_CRL_it ;
extern int X509_CRL_add0_revoked(X509_CRL *crl , X509_REVOKED *rev ) ;
extern int X509_CRL_get0_by_serial(X509_CRL *crl , X509_REVOKED **ret , ASN1_INTEGER *serial ) ;
extern int X509_CRL_get0_by_cert(X509_CRL *crl , X509_REVOKED **ret , X509 *x ) ;
extern X509_PKEY *X509_PKEY_new(void) ;
extern void X509_PKEY_free(X509_PKEY *a ) ;
extern NETSCAPE_SPKI *NETSCAPE_SPKI_new(void) ;
extern void NETSCAPE_SPKI_free(NETSCAPE_SPKI *a ) ;
extern NETSCAPE_SPKI *d2i_NETSCAPE_SPKI(NETSCAPE_SPKI **a , unsigned char const   **in ,
                                        long len ) ;
extern int i2d_NETSCAPE_SPKI(NETSCAPE_SPKI *a , unsigned char **out ) ;
extern ASN1_ITEM const   NETSCAPE_SPKI_it ;
extern NETSCAPE_SPKAC *NETSCAPE_SPKAC_new(void) ;
extern void NETSCAPE_SPKAC_free(NETSCAPE_SPKAC *a ) ;
extern NETSCAPE_SPKAC *d2i_NETSCAPE_SPKAC(NETSCAPE_SPKAC **a , unsigned char const   **in ,
                                          long len ) ;
extern int i2d_NETSCAPE_SPKAC(NETSCAPE_SPKAC *a , unsigned char **out ) ;
extern ASN1_ITEM const   NETSCAPE_SPKAC_it ;
extern NETSCAPE_CERT_SEQUENCE *NETSCAPE_CERT_SEQUENCE_new(void) ;
extern void NETSCAPE_CERT_SEQUENCE_free(NETSCAPE_CERT_SEQUENCE *a ) ;
extern NETSCAPE_CERT_SEQUENCE *d2i_NETSCAPE_CERT_SEQUENCE(NETSCAPE_CERT_SEQUENCE **a ,
                                                          unsigned char const   **in ,
                                                          long len ) ;
extern int i2d_NETSCAPE_CERT_SEQUENCE(NETSCAPE_CERT_SEQUENCE *a , unsigned char **out ) ;
extern ASN1_ITEM const   NETSCAPE_CERT_SEQUENCE_it ;
extern X509_INFO *X509_INFO_new(void) ;
extern void X509_INFO_free(X509_INFO *a ) ;
extern char *X509_NAME_oneline(X509_NAME const   *a , char *buf , int size ) ;
extern int ASN1_verify(i2d_of_void *i2d , X509_ALGOR *algor1 , ASN1_BIT_STRING *signature ,
                       char *data , EVP_PKEY *pkey ) ;
extern int ASN1_digest(i2d_of_void *i2d , EVP_MD const   *type , char *data , unsigned char *md ,
                       unsigned int *len ) ;
extern int ASN1_sign(i2d_of_void *i2d , X509_ALGOR *algor1 , X509_ALGOR *algor2 ,
                     ASN1_BIT_STRING *signature , char *data , EVP_PKEY *pkey , EVP_MD const   *type ) ;
extern int ASN1_item_digest(ASN1_ITEM const   *it , EVP_MD const   *type , void *data ,
                            unsigned char *md , unsigned int *len ) ;
extern int ASN1_item_verify(ASN1_ITEM const   *it , X509_ALGOR *algor1 , ASN1_BIT_STRING *signature ,
                            void *data , EVP_PKEY *pkey ) ;
extern int ASN1_item_sign(ASN1_ITEM const   *it , X509_ALGOR *algor1 , X509_ALGOR *algor2 ,
                          ASN1_BIT_STRING *signature , void *data , EVP_PKEY *pkey ,
                          EVP_MD const   *type ) ;
extern int ASN1_item_sign_ctx(ASN1_ITEM const   *it , X509_ALGOR *algor1 , X509_ALGOR *algor2 ,
                              ASN1_BIT_STRING *signature , void *asn , EVP_MD_CTX *ctx ) ;
extern long X509_get_version(X509 const   *x ) ;
extern int X509_set_version(X509 *x , long version ) ;
extern int X509_set_serialNumber(X509 *x , ASN1_INTEGER *serial ) ;
extern ASN1_INTEGER *X509_get_serialNumber(X509 *x ) ;
extern ASN1_INTEGER const   *X509_get0_serialNumber(X509 const   *x ) ;
extern int X509_set_issuer_name(X509 *x , X509_NAME *name ) ;
extern X509_NAME *X509_get_issuer_name(X509 const   *a ) ;
extern int X509_set_subject_name(X509 *x , X509_NAME *name ) ;
extern X509_NAME *X509_get_subject_name(X509 const   *a ) ;
extern ASN1_TIME const   *X509_get0_notBefore(X509 const   *x ) ;
extern ASN1_TIME *X509_getm_notBefore(X509 const   *x ) ;
extern int X509_set1_notBefore(X509 *x , ASN1_TIME const   *tm ) ;
extern ASN1_TIME const   *X509_get0_notAfter(X509 const   *x ) ;
extern ASN1_TIME *X509_getm_notAfter(X509 const   *x ) ;
extern int X509_set1_notAfter(X509 *x , ASN1_TIME const   *tm ) ;
extern int X509_set_pubkey(X509 *x , EVP_PKEY *pkey ) ;
extern int X509_up_ref(X509 *x ) ;
extern int X509_get_signature_type(X509 const   *x ) ;
extern X509_PUBKEY *X509_get_X509_PUBKEY(X509 const   *x ) ;
extern struct stack_st_X509_EXTENSION  const  *X509_get0_extensions(X509 const   *x ) ;
extern void X509_get0_uids(X509 const   *x , ASN1_BIT_STRING const   **piuid , ASN1_BIT_STRING const   **psuid ) ;
extern X509_ALGOR const   *X509_get0_tbs_sigalg(X509 const   *x ) ;
extern EVP_PKEY *X509_get0_pubkey(X509 const   *x ) ;
extern EVP_PKEY *X509_get_pubkey(X509 *x ) ;
extern ASN1_BIT_STRING *X509_get0_pubkey_bitstr(X509 const   *x ) ;
extern int X509_certificate_type(X509 const   *x , EVP_PKEY const   *pubkey ) ;
extern long X509_REQ_get_version(X509_REQ const   *req ) ;
extern int X509_REQ_set_version(X509_REQ *x , long version ) ;
extern X509_NAME *X509_REQ_get_subject_name(X509_REQ const   *req ) ;
extern int X509_REQ_set_subject_name(X509_REQ *req , X509_NAME *name ) ;
extern void X509_REQ_get0_signature(X509_REQ const   *req , ASN1_BIT_STRING const   **psig ,
                                    X509_ALGOR const   **palg ) ;
extern int X509_REQ_get_signature_nid(X509_REQ const   *req ) ;
extern int i2d_re_X509_REQ_tbs(X509_REQ *req , unsigned char **pp ) ;
extern int X509_REQ_set_pubkey(X509_REQ *x , EVP_PKEY *pkey ) ;
extern EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req ) ;
extern EVP_PKEY *X509_REQ_get0_pubkey(X509_REQ *req ) ;
extern X509_PUBKEY *X509_REQ_get_X509_PUBKEY(X509_REQ *req ) ;
extern int X509_REQ_extension_nid(int nid ) ;
extern int *X509_REQ_get_extension_nids(void) ;
extern void X509_REQ_set_extension_nids(int *nids ) ;
extern struct stack_st_X509_EXTENSION *X509_REQ_get_extensions(X509_REQ *req ) ;
extern int X509_REQ_add_extensions_nid(X509_REQ *req , struct stack_st_X509_EXTENSION *exts ,
                                       int nid ) ;
extern int X509_REQ_add_extensions(X509_REQ *req , struct stack_st_X509_EXTENSION *exts ) ;
extern int X509_REQ_get_attr_count(X509_REQ const   *req ) ;
extern int X509_REQ_get_attr_by_NID(X509_REQ const   *req , int nid , int lastpos ) ;
extern int X509_REQ_get_attr_by_OBJ(X509_REQ const   *req , ASN1_OBJECT const   *obj ,
                                    int lastpos ) ;
extern X509_ATTRIBUTE *X509_REQ_get_attr(X509_REQ const   *req , int loc ) ;
extern X509_ATTRIBUTE *X509_REQ_delete_attr(X509_REQ *req , int loc ) ;
extern int X509_REQ_add1_attr(X509_REQ *req , X509_ATTRIBUTE *attr ) ;
extern int X509_REQ_add1_attr_by_OBJ(X509_REQ *req , ASN1_OBJECT const   *obj , int type ,
                                     unsigned char const   *bytes , int len ) ;
extern int X509_REQ_add1_attr_by_NID(X509_REQ *req , int nid , int type , unsigned char const   *bytes ,
                                     int len ) ;
extern int X509_REQ_add1_attr_by_txt(X509_REQ *req , char const   *attrname , int type ,
                                     unsigned char const   *bytes , int len ) ;
extern int X509_CRL_set_version(X509_CRL *x , long version ) ;
extern int X509_CRL_set_issuer_name(X509_CRL *x , X509_NAME *name ) ;
extern int X509_CRL_set1_lastUpdate(X509_CRL *x , ASN1_TIME const   *tm ) ;
extern int X509_CRL_set1_nextUpdate(X509_CRL *x , ASN1_TIME const   *tm ) ;
extern int X509_CRL_sort(X509_CRL *crl ) ;
extern int X509_CRL_up_ref(X509_CRL *crl ) ;
extern long X509_CRL_get_version(X509_CRL const   *crl ) ;
extern ASN1_TIME const   *X509_CRL_get0_lastUpdate(X509_CRL const   *crl ) ;
extern ASN1_TIME const   *X509_CRL_get0_nextUpdate(X509_CRL const   *crl ) ;
extern ASN1_TIME *X509_CRL_get_lastUpdate(X509_CRL *crl )  __attribute__((__deprecated__)) ;
extern ASN1_TIME *X509_CRL_get_nextUpdate(X509_CRL *crl )  __attribute__((__deprecated__)) ;
extern X509_NAME *X509_CRL_get_issuer(X509_CRL const   *crl ) ;
extern struct stack_st_X509_EXTENSION  const  *X509_CRL_get0_extensions(X509_CRL const   *crl ) ;
extern struct stack_st_X509_REVOKED *X509_CRL_get_REVOKED(X509_CRL *crl ) ;
extern void X509_CRL_get0_signature(X509_CRL const   *crl , ASN1_BIT_STRING const   **psig ,
                                    X509_ALGOR const   **palg ) ;
extern int X509_CRL_get_signature_nid(X509_CRL const   *crl ) ;
extern int i2d_re_X509_CRL_tbs(X509_CRL *req , unsigned char **pp ) ;
extern ASN1_INTEGER const   *X509_REVOKED_get0_serialNumber(X509_REVOKED const   *x ) ;
extern int X509_REVOKED_set_serialNumber(X509_REVOKED *x , ASN1_INTEGER *serial ) ;
extern ASN1_TIME const   *X509_REVOKED_get0_revocationDate(X509_REVOKED const   *x ) ;
extern int X509_REVOKED_set_revocationDate(X509_REVOKED *r , ASN1_TIME *tm ) ;
extern struct stack_st_X509_EXTENSION  const  *X509_REVOKED_get0_extensions(X509_REVOKED const   *r ) ;
extern X509_CRL *X509_CRL_diff(X509_CRL *base , X509_CRL *newer , EVP_PKEY *skey ,
                               EVP_MD const   *md , unsigned int flags ) ;
extern int X509_REQ_check_private_key(X509_REQ *x509 , EVP_PKEY *pkey ) ;
extern int X509_check_private_key(X509 const   *x509 , EVP_PKEY const   *pkey ) ;
extern int X509_chain_check_suiteb(int *perror_depth , X509 *x , struct stack_st_X509 *chain ,
                                   unsigned long flags ) ;
extern int X509_CRL_check_suiteb(X509_CRL *crl , EVP_PKEY *pk , unsigned long flags ) ;
extern struct stack_st_X509 *X509_chain_up_ref(struct stack_st_X509 *chain ) ;
extern int X509_issuer_and_serial_cmp(X509 const   *a , X509 const   *b ) ;
extern unsigned long X509_issuer_and_serial_hash(X509 *a ) ;
extern int X509_issuer_name_cmp(X509 const   *a , X509 const   *b ) ;
extern unsigned long X509_issuer_name_hash(X509 *a ) ;
extern int X509_subject_name_cmp(X509 const   *a , X509 const   *b ) ;
extern unsigned long X509_subject_name_hash(X509 *x ) ;
extern unsigned long X509_issuer_name_hash_old(X509 *a ) ;
extern unsigned long X509_subject_name_hash_old(X509 *x ) ;
extern int X509_cmp(X509 const   *a , X509 const   *b ) ;
extern int X509_NAME_cmp(X509_NAME const   *a , X509_NAME const   *b ) ;
extern unsigned long X509_NAME_hash(X509_NAME *x ) ;
extern unsigned long X509_NAME_hash_old(X509_NAME *x ) ;
extern int X509_CRL_cmp(X509_CRL const   *a , X509_CRL const   *b ) ;
extern int X509_CRL_match(X509_CRL const   *a , X509_CRL const   *b ) ;
extern int X509_aux_print(BIO *out , X509 *x , int indent ) ;
extern int X509_print_ex_fp(FILE *bp , X509 *x , unsigned long nmflag , unsigned long cflag ) ;
extern int X509_print_fp(FILE *bp , X509 *x ) ;
extern int X509_CRL_print_fp(FILE *bp , X509_CRL *x ) ;
extern int X509_REQ_print_fp(FILE *bp , X509_REQ *req ) ;
extern int X509_NAME_print_ex_fp(FILE *fp , X509_NAME const   *nm , int indent , unsigned long flags ) ;
extern int X509_NAME_print(BIO *bp , X509_NAME const   *name , int obase ) ;
extern int X509_NAME_print_ex(BIO *out , X509_NAME const   *nm , int indent , unsigned long flags ) ;
extern int X509_print_ex(BIO *bp , X509 *x , unsigned long nmflag , unsigned long cflag ) ;
extern int X509_print(BIO *bp , X509 *x ) ;
extern int X509_ocspid_print(BIO *bp , X509 *x ) ;
extern int X509_CRL_print_ex(BIO *out , X509_CRL *x , unsigned long nmflag ) ;
extern int X509_CRL_print(BIO *bp , X509_CRL *x ) ;
extern int X509_REQ_print_ex(BIO *bp , X509_REQ *x , unsigned long nmflag , unsigned long cflag ) ;
extern int X509_REQ_print(BIO *bp , X509_REQ *req ) ;
extern int X509_NAME_entry_count(X509_NAME const   *name ) ;
extern int X509_NAME_get_text_by_NID(X509_NAME *name , int nid , char *buf , int len ) ;
extern int X509_NAME_get_text_by_OBJ(X509_NAME *name , ASN1_OBJECT const   *obj ,
                                     char *buf , int len ) ;
extern int X509_NAME_get_index_by_NID(X509_NAME *name , int nid , int lastpos ) ;
extern int X509_NAME_get_index_by_OBJ(X509_NAME *name , ASN1_OBJECT const   *obj ,
                                      int lastpos ) ;
extern X509_NAME_ENTRY *X509_NAME_get_entry(X509_NAME const   *name , int loc ) ;
extern X509_NAME_ENTRY *X509_NAME_delete_entry(X509_NAME *name , int loc ) ;
extern int X509_NAME_add_entry(X509_NAME *name , X509_NAME_ENTRY const   *ne , int loc ,
                               int set ) ;
extern int X509_NAME_add_entry_by_OBJ(X509_NAME *name , ASN1_OBJECT const   *obj ,
                                      int type , unsigned char const   *bytes , int len ,
                                      int loc , int set ) ;
extern int X509_NAME_add_entry_by_NID(X509_NAME *name , int nid , int type , unsigned char const   *bytes ,
                                      int len , int loc , int set ) ;
extern X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne , char const   *field ,
                                                      int type , unsigned char const   *bytes ,
                                                      int len ) ;
extern X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne , int nid ,
                                                      int type , unsigned char const   *bytes ,
                                                      int len ) ;
extern int X509_NAME_add_entry_by_txt(X509_NAME *name , char const   *field , int type ,
                                      unsigned char const   *bytes , int len , int loc ,
                                      int set ) ;
extern X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne , ASN1_OBJECT const   *obj ,
                                                      int type , unsigned char const   *bytes ,
                                                      int len ) ;
extern int X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne , ASN1_OBJECT const   *obj ) ;
extern int X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne , int type , unsigned char const   *bytes ,
                                    int len ) ;
extern ASN1_OBJECT *X509_NAME_ENTRY_get_object(X509_NAME_ENTRY const   *ne ) ;
extern ASN1_STRING *X509_NAME_ENTRY_get_data(X509_NAME_ENTRY const   *ne ) ;
extern int X509_NAME_ENTRY_set(X509_NAME_ENTRY const   *ne ) ;
extern int X509_NAME_get0_der(X509_NAME *nm , unsigned char const   **pder , size_t *pderlen ) ;
extern int X509v3_get_ext_count(struct stack_st_X509_EXTENSION  const  *x ) ;
extern int X509v3_get_ext_by_NID(struct stack_st_X509_EXTENSION  const  *x , int nid ,
                                 int lastpos ) ;
extern int X509v3_get_ext_by_OBJ(struct stack_st_X509_EXTENSION  const  *x , ASN1_OBJECT const   *obj ,
                                 int lastpos ) ;
extern int X509v3_get_ext_by_critical(struct stack_st_X509_EXTENSION  const  *x ,
                                      int crit , int lastpos ) ;
extern X509_EXTENSION *X509v3_get_ext(struct stack_st_X509_EXTENSION  const  *x ,
                                      int loc ) ;
extern X509_EXTENSION *X509v3_delete_ext(struct stack_st_X509_EXTENSION *x , int loc ) ;
extern struct stack_st_X509_EXTENSION *X509v3_add_ext(struct stack_st_X509_EXTENSION **x ,
                                                      X509_EXTENSION *ex , int loc ) ;
extern int X509_get_ext_count(X509 const   *x ) ;
extern int X509_get_ext_by_NID(X509 const   *x , int nid , int lastpos ) ;
extern int X509_get_ext_by_OBJ(X509 const   *x , ASN1_OBJECT const   *obj , int lastpos ) ;
extern int X509_get_ext_by_critical(X509 const   *x , int crit , int lastpos ) ;
extern X509_EXTENSION *X509_get_ext(X509 const   *x , int loc ) ;
extern X509_EXTENSION *X509_delete_ext(X509 *x , int loc ) ;
extern int X509_add_ext(X509 *x , X509_EXTENSION *ex , int loc ) ;
extern void *X509_get_ext_d2i(X509 const   *x , int nid , int *crit , int *idx ) ;
extern int X509_add1_ext_i2d(X509 *x , int nid , void *value , int crit , unsigned long flags ) ;
extern int X509_CRL_get_ext_count(X509_CRL const   *x ) ;
extern int X509_CRL_get_ext_by_NID(X509_CRL const   *x , int nid , int lastpos ) ;
extern int X509_CRL_get_ext_by_OBJ(X509_CRL const   *x , ASN1_OBJECT const   *obj ,
                                   int lastpos ) ;
extern int X509_CRL_get_ext_by_critical(X509_CRL const   *x , int crit , int lastpos ) ;
extern X509_EXTENSION *X509_CRL_get_ext(X509_CRL const   *x , int loc ) ;
extern X509_EXTENSION *X509_CRL_delete_ext(X509_CRL *x , int loc ) ;
extern int X509_CRL_add_ext(X509_CRL *x , X509_EXTENSION *ex , int loc ) ;
extern void *X509_CRL_get_ext_d2i(X509_CRL const   *x , int nid , int *crit , int *idx ) ;
extern int X509_CRL_add1_ext_i2d(X509_CRL *x , int nid , void *value , int crit ,
                                 unsigned long flags ) ;
extern int X509_REVOKED_get_ext_count(X509_REVOKED const   *x ) ;
extern int X509_REVOKED_get_ext_by_NID(X509_REVOKED const   *x , int nid , int lastpos ) ;
extern int X509_REVOKED_get_ext_by_OBJ(X509_REVOKED const   *x , ASN1_OBJECT const   *obj ,
                                       int lastpos ) ;
extern int X509_REVOKED_get_ext_by_critical(X509_REVOKED const   *x , int crit , int lastpos ) ;
extern X509_EXTENSION *X509_REVOKED_get_ext(X509_REVOKED const   *x , int loc ) ;
extern X509_EXTENSION *X509_REVOKED_delete_ext(X509_REVOKED *x , int loc ) ;
extern int X509_REVOKED_add_ext(X509_REVOKED *x , X509_EXTENSION *ex , int loc ) ;
extern void *X509_REVOKED_get_ext_d2i(X509_REVOKED const   *x , int nid , int *crit ,
                                      int *idx ) ;
extern int X509_REVOKED_add1_ext_i2d(X509_REVOKED *x , int nid , void *value , int crit ,
                                     unsigned long flags ) ;
extern X509_EXTENSION *X509_EXTENSION_create_by_NID(X509_EXTENSION **ex , int nid ,
                                                    int crit , ASN1_OCTET_STRING *data ) ;
extern X509_EXTENSION *X509_EXTENSION_create_by_OBJ(X509_EXTENSION **ex , ASN1_OBJECT const   *obj ,
                                                    int crit , ASN1_OCTET_STRING *data ) ;
extern int X509_EXTENSION_set_object(X509_EXTENSION *ex , ASN1_OBJECT const   *obj ) ;
extern int X509_EXTENSION_set_critical(X509_EXTENSION *ex , int crit ) ;
extern int X509_EXTENSION_set_data(X509_EXTENSION *ex , ASN1_OCTET_STRING *data ) ;
extern ASN1_OBJECT *X509_EXTENSION_get_object(X509_EXTENSION *ex ) ;
extern ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ne ) ;
extern int X509_EXTENSION_get_critical(X509_EXTENSION const   *ex ) ;
extern int X509at_get_attr_count(struct stack_st_X509_ATTRIBUTE  const  *x ) ;
extern int X509at_get_attr_by_NID(struct stack_st_X509_ATTRIBUTE  const  *x , int nid ,
                                  int lastpos ) ;
extern int X509at_get_attr_by_OBJ(struct stack_st_X509_ATTRIBUTE  const  *sk , ASN1_OBJECT const   *obj ,
                                  int lastpos ) ;
extern X509_ATTRIBUTE *X509at_get_attr(struct stack_st_X509_ATTRIBUTE  const  *x ,
                                       int loc ) ;
extern X509_ATTRIBUTE *X509at_delete_attr(struct stack_st_X509_ATTRIBUTE *x , int loc ) ;
extern struct stack_st_X509_ATTRIBUTE *X509at_add1_attr(struct stack_st_X509_ATTRIBUTE **x ,
                                                        X509_ATTRIBUTE *attr ) ;
extern struct stack_st_X509_ATTRIBUTE *X509at_add1_attr_by_OBJ(struct stack_st_X509_ATTRIBUTE **x ,
                                                               ASN1_OBJECT const   *obj ,
                                                               int type , unsigned char const   *bytes ,
                                                               int len ) ;
extern struct stack_st_X509_ATTRIBUTE *X509at_add1_attr_by_NID(struct stack_st_X509_ATTRIBUTE **x ,
                                                               int nid , int type ,
                                                               unsigned char const   *bytes ,
                                                               int len ) ;
extern struct stack_st_X509_ATTRIBUTE *X509at_add1_attr_by_txt(struct stack_st_X509_ATTRIBUTE **x ,
                                                               char const   *attrname ,
                                                               int type , unsigned char const   *bytes ,
                                                               int len ) ;
extern void *X509at_get0_data_by_OBJ(struct stack_st_X509_ATTRIBUTE *x , ASN1_OBJECT const   *obj ,
                                     int lastpos , int type ) ;
extern X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_NID(X509_ATTRIBUTE **attr , int nid ,
                                                    int atrtype , void const   *data ,
                                                    int len ) ;
extern X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_OBJ(X509_ATTRIBUTE **attr , ASN1_OBJECT const   *obj ,
                                                    int atrtype , void const   *data ,
                                                    int len ) ;
extern X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_txt(X509_ATTRIBUTE **attr , char const   *atrname ,
                                                    int type , unsigned char const   *bytes ,
                                                    int len ) ;
extern int X509_ATTRIBUTE_set1_object(X509_ATTRIBUTE *attr , ASN1_OBJECT const   *obj ) ;
extern int X509_ATTRIBUTE_set1_data(X509_ATTRIBUTE *attr , int attrtype , void const   *data ,
                                    int len ) ;
extern void *X509_ATTRIBUTE_get0_data(X509_ATTRIBUTE *attr , int idx , int atrtype ,
                                      void *data ) ;
extern int X509_ATTRIBUTE_count(X509_ATTRIBUTE const   *attr ) ;
extern ASN1_OBJECT *X509_ATTRIBUTE_get0_object(X509_ATTRIBUTE *attr ) ;
extern ASN1_TYPE *X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE *attr , int idx ) ;
extern int EVP_PKEY_get_attr_count(EVP_PKEY const   *key ) ;
extern int EVP_PKEY_get_attr_by_NID(EVP_PKEY const   *key , int nid , int lastpos ) ;
extern int EVP_PKEY_get_attr_by_OBJ(EVP_PKEY const   *key , ASN1_OBJECT const   *obj ,
                                    int lastpos ) ;
extern X509_ATTRIBUTE *EVP_PKEY_get_attr(EVP_PKEY const   *key , int loc ) ;
extern X509_ATTRIBUTE *EVP_PKEY_delete_attr(EVP_PKEY *key , int loc ) ;
extern int EVP_PKEY_add1_attr(EVP_PKEY *key , X509_ATTRIBUTE *attr ) ;
extern int EVP_PKEY_add1_attr_by_OBJ(EVP_PKEY *key , ASN1_OBJECT const   *obj , int type ,
                                     unsigned char const   *bytes , int len ) ;
extern int EVP_PKEY_add1_attr_by_NID(EVP_PKEY *key , int nid , int type , unsigned char const   *bytes ,
                                     int len ) ;
extern int EVP_PKEY_add1_attr_by_txt(EVP_PKEY *key , char const   *attrname , int type ,
                                     unsigned char const   *bytes , int len ) ;
extern int X509_verify_cert(X509_STORE_CTX *ctx ) ;
extern X509 *X509_find_by_issuer_and_serial(struct stack_st_X509 *sk , X509_NAME *name ,
                                            ASN1_INTEGER *serial ) ;
extern X509 *X509_find_by_subject(struct stack_st_X509 *sk , X509_NAME *name ) ;
extern PBEPARAM *PBEPARAM_new(void) ;
extern void PBEPARAM_free(PBEPARAM *a ) ;
extern PBEPARAM *d2i_PBEPARAM(PBEPARAM **a , unsigned char const   **in , long len ) ;
extern int i2d_PBEPARAM(PBEPARAM *a , unsigned char **out ) ;
extern ASN1_ITEM const   PBEPARAM_it ;
extern PBE2PARAM *PBE2PARAM_new(void) ;
extern void PBE2PARAM_free(PBE2PARAM *a ) ;
extern PBE2PARAM *d2i_PBE2PARAM(PBE2PARAM **a , unsigned char const   **in , long len ) ;
extern int i2d_PBE2PARAM(PBE2PARAM *a , unsigned char **out ) ;
extern ASN1_ITEM const   PBE2PARAM_it ;
extern PBKDF2PARAM *PBKDF2PARAM_new(void) ;
extern void PBKDF2PARAM_free(PBKDF2PARAM *a ) ;
extern PBKDF2PARAM *d2i_PBKDF2PARAM(PBKDF2PARAM **a , unsigned char const   **in ,
                                    long len ) ;
extern int i2d_PBKDF2PARAM(PBKDF2PARAM *a , unsigned char **out ) ;
extern ASN1_ITEM const   PBKDF2PARAM_it ;
extern SCRYPT_PARAMS *SCRYPT_PARAMS_new(void) ;
extern void SCRYPT_PARAMS_free(SCRYPT_PARAMS *a ) ;
extern SCRYPT_PARAMS *d2i_SCRYPT_PARAMS(SCRYPT_PARAMS **a , unsigned char const   **in ,
                                        long len ) ;
extern int i2d_SCRYPT_PARAMS(SCRYPT_PARAMS *a , unsigned char **out ) ;
extern ASN1_ITEM const   SCRYPT_PARAMS_it ;
extern int PKCS5_pbe_set0_algor(X509_ALGOR *algor , int alg , int iter , unsigned char const   *salt ,
                                int saltlen ) ;
extern X509_ALGOR *PKCS5_pbe_set(int alg , int iter , unsigned char const   *salt ,
                                 int saltlen ) ;
extern X509_ALGOR *PKCS5_pbe2_set(EVP_CIPHER const   *cipher , int iter , unsigned char *salt ,
                                  int saltlen ) ;
extern X509_ALGOR *PKCS5_pbe2_set_iv(EVP_CIPHER const   *cipher , int iter , unsigned char *salt ,
                                     int saltlen , unsigned char *aiv , int prf_nid ) ;
extern X509_ALGOR *PKCS5_pbe2_set_scrypt(EVP_CIPHER const   *cipher , unsigned char const   *salt ,
                                         int saltlen , unsigned char *aiv , uint64_t N ,
                                         uint64_t r , uint64_t p ) ;
extern X509_ALGOR *PKCS5_pbkdf2_set(int iter , unsigned char *salt , int saltlen ,
                                    int prf_nid , int keylen ) ;
extern PKCS8_PRIV_KEY_INFO *PKCS8_PRIV_KEY_INFO_new(void) ;
extern void PKCS8_PRIV_KEY_INFO_free(PKCS8_PRIV_KEY_INFO *a ) ;
extern PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO **a , unsigned char const   **in ,
                                                    long len ) ;
extern int i2d_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO *a , unsigned char **out ) ;
extern ASN1_ITEM const   PKCS8_PRIV_KEY_INFO_it ;
extern EVP_PKEY *EVP_PKCS82PKEY(PKCS8_PRIV_KEY_INFO const   *p8 ) ;
extern PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey ) ;
extern int PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv , ASN1_OBJECT *aobj , int version ,
                           int ptype , void *pval , unsigned char *penc , int penclen ) ;
extern int PKCS8_pkey_get0(ASN1_OBJECT const   **ppkalg , unsigned char const   **pk ,
                           int *ppklen , X509_ALGOR const   **pa , PKCS8_PRIV_KEY_INFO const   *p8 ) ;
extern struct stack_st_X509_ATTRIBUTE  const  *PKCS8_pkey_get0_attrs(PKCS8_PRIV_KEY_INFO const   *p8 ) ;
extern int PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8 , int nid , int type ,
                                       unsigned char const   *bytes , int len ) ;
extern int X509_PUBKEY_set0_param(X509_PUBKEY *pub , ASN1_OBJECT *aobj , int ptype ,
                                  void *pval , unsigned char *penc , int penclen ) ;
extern int X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg , unsigned char const   **pk ,
                                  int *ppklen , X509_ALGOR **pa , X509_PUBKEY *pub ) ;
extern int X509_check_trust(X509 *x , int id , int flags ) ;
extern int X509_TRUST_get_count(void) ;
extern X509_TRUST *X509_TRUST_get0(int idx ) ;
extern int X509_TRUST_get_by_id(int id ) ;
extern int X509_TRUST_add(int id , int flags , int (*ck)(X509_TRUST * , X509 * , int  ) ,
                          char const   *name , int arg1 , void *arg2 ) ;
extern void X509_TRUST_cleanup(void) ;
extern int X509_TRUST_get_flags(X509_TRUST const   *xp ) ;
extern char *X509_TRUST_get0_name(X509_TRUST const   *xp ) ;
extern int X509_TRUST_get_trust(X509_TRUST const   *xp ) ;
extern int ERR_load_PEM_strings(void) ;
extern int PEM_get_EVP_CIPHER_INFO(char *header , EVP_CIPHER_INFO *cipher ) ;
extern int PEM_do_header(EVP_CIPHER_INFO *cipher , unsigned char *data , long *len ,
                         pem_password_cb *callback , void *u ) ;
extern int PEM_read_bio(BIO *bp , char **name , char **header , unsigned char **data ,
                        long *len ) ;
extern int PEM_read_bio_ex(BIO *bp , char **name , char **header , unsigned char **data ,
                           long *len , unsigned int flags ) ;
extern int PEM_bytes_read_bio_secmem(unsigned char **pdata , long *plen , char **pnm ,
                                     char const   *name , BIO *bp , pem_password_cb *cb ,
                                     void *u ) ;
extern int PEM_write_bio(BIO *bp , char const   *name , char const   *hdr , unsigned char const   *data ,
                         long len ) ;
extern int PEM_bytes_read_bio(unsigned char **pdata , long *plen , char **pnm , char const   *name ,
                              BIO *bp , pem_password_cb *cb , void *u ) ;
extern void *PEM_ASN1_read_bio(d2i_of_void *d2i , char const   *name , BIO *bp , void **x ,
                               pem_password_cb *cb , void *u ) ;
extern int PEM_ASN1_write_bio(i2d_of_void *i2d , char const   *name , BIO *bp , void *x ,
                              EVP_CIPHER const   *enc , unsigned char *kstr , int klen ,
                              pem_password_cb *cb , void *u ) ;
extern struct stack_st_X509_INFO *PEM_X509_INFO_read_bio(BIO *bp , struct stack_st_X509_INFO *sk ,
                                                         pem_password_cb *cb , void *u ) ;
extern int PEM_X509_INFO_write_bio(BIO *bp , X509_INFO *xi , EVP_CIPHER *enc , unsigned char *kstr ,
                                   int klen , pem_password_cb *cd , void *u ) ;
extern int PEM_read(FILE *fp , char **name , char **header , unsigned char **data ,
                    long *len ) ;
extern int PEM_write(FILE *fp , char const   *name , char const   *hdr , unsigned char const   *data ,
                     long len ) ;
extern void *PEM_ASN1_read(d2i_of_void *d2i , char const   *name , FILE *fp , void **x ,
                           pem_password_cb *cb , void *u ) ;
extern int PEM_ASN1_write(i2d_of_void *i2d , char const   *name , FILE *fp , void *x ,
                          EVP_CIPHER const   *enc , unsigned char *kstr , int klen ,
                          pem_password_cb *callback , void *u ) ;
extern struct stack_st_X509_INFO *PEM_X509_INFO_read(FILE *fp , struct stack_st_X509_INFO *sk ,
                                                     pem_password_cb *cb , void *u ) ;
extern int PEM_SignInit(EVP_MD_CTX *ctx , EVP_MD *type ) ;
extern int PEM_SignUpdate(EVP_MD_CTX *ctx , unsigned char *d , unsigned int cnt ) ;
extern int PEM_SignFinal(EVP_MD_CTX *ctx , unsigned char *sigret , unsigned int *siglen ,
                         EVP_PKEY *pkey ) ;
extern int PEM_def_callback(char *buf , int num , int rwflag , void *userdata ) ;
extern void PEM_proc_type(char *buf , int type ) ;
extern void PEM_dek_info(char *buf , char const   *type , int len , char *str ) ;
extern X509 *PEM_read_bio_X509(BIO *bp , X509 **x , pem_password_cb *cb , void *u ) ;
extern X509 *PEM_read_X509(FILE *fp , X509 **x , pem_password_cb *cb , void *u ) ;
extern int PEM_write_bio_X509(BIO *bp , X509 *x ) ;
extern int PEM_write_X509(FILE *fp , X509 *x ) ;
extern X509 *PEM_read_bio_X509_AUX(BIO *bp , X509 **x , pem_password_cb *cb , void *u ) ;
extern X509 *PEM_read_X509_AUX(FILE *fp , X509 **x , pem_password_cb *cb , void *u ) ;
extern int PEM_write_bio_X509_AUX(BIO *bp , X509 *x ) ;
extern int PEM_write_X509_AUX(FILE *fp , X509 *x ) ;
extern X509_REQ *PEM_read_bio_X509_REQ(BIO *bp , X509_REQ **x , pem_password_cb *cb ,
                                       void *u ) ;
extern X509_REQ *PEM_read_X509_REQ(FILE *fp , X509_REQ **x , pem_password_cb *cb ,
                                   void *u ) ;
extern int PEM_write_bio_X509_REQ(BIO *bp , X509_REQ *x ) ;
extern int PEM_write_X509_REQ(FILE *fp , X509_REQ *x ) ;
extern int PEM_write_bio_X509_REQ_NEW(BIO *bp , X509_REQ *x ) ;
extern int PEM_write_X509_REQ_NEW(FILE *fp , X509_REQ *x ) ;
extern X509_CRL *PEM_read_bio_X509_CRL(BIO *bp , X509_CRL **x , pem_password_cb *cb ,
                                       void *u ) ;
extern X509_CRL *PEM_read_X509_CRL(FILE *fp , X509_CRL **x , pem_password_cb *cb ,
                                   void *u ) ;
extern int PEM_write_bio_X509_CRL(BIO *bp , X509_CRL *x ) ;
extern int PEM_write_X509_CRL(FILE *fp , X509_CRL *x ) ;
extern PKCS7 *PEM_read_bio_PKCS7(BIO *bp , PKCS7 **x , pem_password_cb *cb , void *u ) ;
extern PKCS7 *PEM_read_PKCS7(FILE *fp , PKCS7 **x , pem_password_cb *cb , void *u ) ;
extern int PEM_write_bio_PKCS7(BIO *bp , PKCS7 *x ) ;
extern int PEM_write_PKCS7(FILE *fp , PKCS7 *x ) ;
extern NETSCAPE_CERT_SEQUENCE *PEM_read_bio_NETSCAPE_CERT_SEQUENCE(BIO *bp , NETSCAPE_CERT_SEQUENCE **x ,
                                                                   pem_password_cb *cb ,
                                                                   void *u ) ;
extern NETSCAPE_CERT_SEQUENCE *PEM_read_NETSCAPE_CERT_SEQUENCE(FILE *fp , NETSCAPE_CERT_SEQUENCE **x ,
                                                               pem_password_cb *cb ,
                                                               void *u ) ;
extern int PEM_write_bio_NETSCAPE_CERT_SEQUENCE(BIO *bp , NETSCAPE_CERT_SEQUENCE *x ) ;
extern int PEM_write_NETSCAPE_CERT_SEQUENCE(FILE *fp , NETSCAPE_CERT_SEQUENCE *x ) ;
extern X509_SIG *PEM_read_bio_PKCS8(BIO *bp , X509_SIG **x , pem_password_cb *cb ,
                                    void *u ) ;
extern X509_SIG *PEM_read_PKCS8(FILE *fp , X509_SIG **x , pem_password_cb *cb , void *u ) ;
extern int PEM_write_bio_PKCS8(BIO *bp , X509_SIG *x ) ;
extern int PEM_write_PKCS8(FILE *fp , X509_SIG *x ) ;
extern PKCS8_PRIV_KEY_INFO *PEM_read_bio_PKCS8_PRIV_KEY_INFO(BIO *bp , PKCS8_PRIV_KEY_INFO **x ,
                                                             pem_password_cb *cb ,
                                                             void *u ) ;
extern PKCS8_PRIV_KEY_INFO *PEM_read_PKCS8_PRIV_KEY_INFO(FILE *fp , PKCS8_PRIV_KEY_INFO **x ,
                                                         pem_password_cb *cb , void *u ) ;
extern int PEM_write_bio_PKCS8_PRIV_KEY_INFO(BIO *bp , PKCS8_PRIV_KEY_INFO *x ) ;
extern int PEM_write_PKCS8_PRIV_KEY_INFO(FILE *fp , PKCS8_PRIV_KEY_INFO *x ) ;
extern RSA *PEM_read_bio_RSAPrivateKey(BIO *bp , RSA **x , pem_password_cb *cb , void *u ) ;
extern RSA *PEM_read_RSAPrivateKey(FILE *fp , RSA **x , pem_password_cb *cb , void *u ) ;
extern int PEM_write_bio_RSAPrivateKey(BIO *bp , RSA *x , EVP_CIPHER const   *enc ,
                                       unsigned char *kstr , int klen , pem_password_cb *cb ,
                                       void *u ) ;
extern int PEM_write_RSAPrivateKey(FILE *fp , RSA *x , EVP_CIPHER const   *enc , unsigned char *kstr ,
                                   int klen , pem_password_cb *cb , void *u ) ;
extern RSA *PEM_read_bio_RSAPublicKey(BIO *bp , RSA **x , pem_password_cb *cb , void *u ) ;
extern RSA *PEM_read_RSAPublicKey(FILE *fp , RSA **x , pem_password_cb *cb , void *u ) ;
extern int PEM_write_bio_RSAPublicKey(BIO *bp , RSA const   *x ) ;
extern int PEM_write_RSAPublicKey(FILE *fp , RSA const   *x ) ;
extern RSA *PEM_read_bio_RSA_PUBKEY(BIO *bp , RSA **x , pem_password_cb *cb , void *u ) ;
extern RSA *PEM_read_RSA_PUBKEY(FILE *fp , RSA **x , pem_password_cb *cb , void *u ) ;
extern int PEM_write_bio_RSA_PUBKEY(BIO *bp , RSA *x ) ;
extern int PEM_write_RSA_PUBKEY(FILE *fp , RSA *x ) ;
extern DSA *PEM_read_bio_DSAPrivateKey(BIO *bp , DSA **x , pem_password_cb *cb , void *u ) ;
extern DSA *PEM_read_DSAPrivateKey(FILE *fp , DSA **x , pem_password_cb *cb , void *u ) ;
extern int PEM_write_bio_DSAPrivateKey(BIO *bp , DSA *x , EVP_CIPHER const   *enc ,
                                       unsigned char *kstr , int klen , pem_password_cb *cb ,
                                       void *u ) ;
extern int PEM_write_DSAPrivateKey(FILE *fp , DSA *x , EVP_CIPHER const   *enc , unsigned char *kstr ,
                                   int klen , pem_password_cb *cb , void *u ) ;
extern DSA *PEM_read_bio_DSA_PUBKEY(BIO *bp , DSA **x , pem_password_cb *cb , void *u ) ;
extern DSA *PEM_read_DSA_PUBKEY(FILE *fp , DSA **x , pem_password_cb *cb , void *u ) ;
extern int PEM_write_bio_DSA_PUBKEY(BIO *bp , DSA *x ) ;
extern int PEM_write_DSA_PUBKEY(FILE *fp , DSA *x ) ;
extern DSA *PEM_read_bio_DSAparams(BIO *bp , DSA **x , pem_password_cb *cb , void *u ) ;
extern DSA *PEM_read_DSAparams(FILE *fp , DSA **x , pem_password_cb *cb , void *u ) ;
extern int PEM_write_bio_DSAparams(BIO *bp , DSA const   *x ) ;
extern int PEM_write_DSAparams(FILE *fp , DSA const   *x ) ;
extern EC_GROUP *PEM_read_bio_ECPKParameters(BIO *bp , EC_GROUP **x , pem_password_cb *cb ,
                                             void *u ) ;
extern EC_GROUP *PEM_read_ECPKParameters(FILE *fp , EC_GROUP **x , pem_password_cb *cb ,
                                         void *u ) ;
extern int PEM_write_bio_ECPKParameters(BIO *bp , EC_GROUP const   *x ) ;
extern int PEM_write_ECPKParameters(FILE *fp , EC_GROUP const   *x ) ;
extern EC_KEY *PEM_read_bio_ECPrivateKey(BIO *bp , EC_KEY **x , pem_password_cb *cb ,
                                         void *u ) ;
extern EC_KEY *PEM_read_ECPrivateKey(FILE *fp , EC_KEY **x , pem_password_cb *cb ,
                                     void *u ) ;
extern int PEM_write_bio_ECPrivateKey(BIO *bp , EC_KEY *x , EVP_CIPHER const   *enc ,
                                      unsigned char *kstr , int klen , pem_password_cb *cb ,
                                      void *u ) ;
extern int PEM_write_ECPrivateKey(FILE *fp , EC_KEY *x , EVP_CIPHER const   *enc ,
                                  unsigned char *kstr , int klen , pem_password_cb *cb ,
                                  void *u ) ;
extern EC_KEY *PEM_read_bio_EC_PUBKEY(BIO *bp , EC_KEY **x , pem_password_cb *cb ,
                                      void *u ) ;
extern EC_KEY *PEM_read_EC_PUBKEY(FILE *fp , EC_KEY **x , pem_password_cb *cb , void *u ) ;
extern int PEM_write_bio_EC_PUBKEY(BIO *bp , EC_KEY *x ) ;
extern int PEM_write_EC_PUBKEY(FILE *fp , EC_KEY *x ) ;
extern DH *PEM_read_bio_DHparams(BIO *bp , DH **x , pem_password_cb *cb , void *u ) ;
extern DH *PEM_read_DHparams(FILE *fp , DH **x , pem_password_cb *cb , void *u ) ;
extern int PEM_write_bio_DHparams(BIO *bp , DH const   *x ) ;
extern int PEM_write_DHparams(FILE *fp , DH const   *x ) ;
extern int PEM_write_bio_DHxparams(BIO *bp , DH const   *x ) ;
extern int PEM_write_DHxparams(FILE *fp , DH const   *x ) ;
extern EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp , EVP_PKEY **x , pem_password_cb *cb ,
                                         void *u ) ;
extern EVP_PKEY *PEM_read_PrivateKey(FILE *fp , EVP_PKEY **x , pem_password_cb *cb ,
                                     void *u ) ;
extern int PEM_write_bio_PrivateKey(BIO *bp , EVP_PKEY *x , EVP_CIPHER const   *enc ,
                                    unsigned char *kstr , int klen , pem_password_cb *cb ,
                                    void *u ) ;
extern int PEM_write_PrivateKey(FILE *fp , EVP_PKEY *x , EVP_CIPHER const   *enc ,
                                unsigned char *kstr , int klen , pem_password_cb *cb ,
                                void *u ) ;
extern EVP_PKEY *PEM_read_bio_PUBKEY(BIO *bp , EVP_PKEY **x , pem_password_cb *cb ,
                                     void *u ) ;
extern EVP_PKEY *PEM_read_PUBKEY(FILE *fp , EVP_PKEY **x , pem_password_cb *cb , void *u ) ;
extern int PEM_write_bio_PUBKEY(BIO *bp , EVP_PKEY *x ) ;
extern int PEM_write_PUBKEY(FILE *fp , EVP_PKEY *x ) ;
extern int PEM_write_bio_PrivateKey_traditional(BIO *bp , EVP_PKEY *x , EVP_CIPHER const   *enc ,
                                                unsigned char *kstr , int klen , pem_password_cb *cb ,
                                                void *u ) ;
extern int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp , EVP_PKEY *x , int nid , char *kstr ,
                                             int klen , pem_password_cb *cb , void *u ) ;
extern int PEM_write_bio_PKCS8PrivateKey(BIO * , EVP_PKEY * , EVP_CIPHER const   * ,
                                         char * , int  , pem_password_cb * , void * ) ;
extern int i2d_PKCS8PrivateKey_bio(BIO *bp , EVP_PKEY *x , EVP_CIPHER const   *enc ,
                                   char *kstr , int klen , pem_password_cb *cb , void *u ) ;
extern int i2d_PKCS8PrivateKey_nid_bio(BIO *bp , EVP_PKEY *x , int nid , char *kstr ,
                                       int klen , pem_password_cb *cb , void *u ) ;
extern EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bp , EVP_PKEY **x , pem_password_cb *cb ,
                                         void *u ) ;
extern int i2d_PKCS8PrivateKey_fp(FILE *fp , EVP_PKEY *x , EVP_CIPHER const   *enc ,
                                  char *kstr , int klen , pem_password_cb *cb , void *u ) ;
extern int i2d_PKCS8PrivateKey_nid_fp(FILE *fp , EVP_PKEY *x , int nid , char *kstr ,
                                      int klen , pem_password_cb *cb , void *u ) ;
extern int PEM_write_PKCS8PrivateKey_nid(FILE *fp , EVP_PKEY *x , int nid , char *kstr ,
                                         int klen , pem_password_cb *cb , void *u ) ;
extern EVP_PKEY *d2i_PKCS8PrivateKey_fp(FILE *fp , EVP_PKEY **x , pem_password_cb *cb ,
                                        void *u ) ;
extern int PEM_write_PKCS8PrivateKey(FILE *fp , EVP_PKEY *x , EVP_CIPHER const   *enc ,
                                     char *kstr , int klen , pem_password_cb *cd ,
                                     void *u ) ;
extern EVP_PKEY *PEM_read_bio_Parameters(BIO *bp , EVP_PKEY **x ) ;
extern int PEM_write_bio_Parameters(BIO *bp , EVP_PKEY *x ) ;
extern EVP_PKEY *b2i_PrivateKey(unsigned char const   **in , long length ) ;
extern EVP_PKEY *b2i_PublicKey(unsigned char const   **in , long length ) ;
extern EVP_PKEY *b2i_PrivateKey_bio(BIO *in ) ;
extern EVP_PKEY *b2i_PublicKey_bio(BIO *in ) ;
extern int i2b_PrivateKey_bio(BIO *out , EVP_PKEY *pk ) ;
extern int i2b_PublicKey_bio(BIO *out , EVP_PKEY *pk ) ;
extern EVP_PKEY *b2i_PVK_bio(BIO *in , pem_password_cb *cb , void *u ) ;
extern int i2b_PVK_bio(BIO *out , EVP_PKEY *pk , int enclevel , pem_password_cb *cb ,
                       void *u ) ;
extern size_t HMAC_size(HMAC_CTX const   *e ) ;
extern HMAC_CTX *HMAC_CTX_new(void) ;
extern int HMAC_CTX_reset(HMAC_CTX *ctx ) ;
extern void HMAC_CTX_free(HMAC_CTX *ctx ) ;
extern int HMAC_Init(HMAC_CTX *ctx , void const   *key , int len , EVP_MD const   *md )  __attribute__((__deprecated__)) ;
extern int HMAC_Init_ex(HMAC_CTX *ctx , void const   *key , int len , EVP_MD const   *md ,
                        ENGINE *impl ) ;
extern int HMAC_Update(HMAC_CTX *ctx , unsigned char const   *data , size_t len ) ;
extern int HMAC_Final(HMAC_CTX *ctx , unsigned char *md , unsigned int *len ) ;
extern unsigned char *HMAC(EVP_MD const   *evp_md , void const   *key , int key_len ,
                           unsigned char const   *d , size_t n , unsigned char *md ,
                           unsigned int *md_len ) ;
extern int HMAC_CTX_copy(HMAC_CTX *dctx , HMAC_CTX *sctx ) ;
extern void HMAC_CTX_set_flags(HMAC_CTX *ctx , unsigned long flags ) ;
extern EVP_MD const   *HMAC_CTX_get_md(HMAC_CTX const   *ctx ) ;
extern int ERR_load_ASYNC_strings(void) ;
extern int ASYNC_init_thread(size_t max_size , size_t init_size ) ;
extern void ASYNC_cleanup_thread(void) ;
extern ASYNC_WAIT_CTX *ASYNC_WAIT_CTX_new(void) ;
extern void ASYNC_WAIT_CTX_free(ASYNC_WAIT_CTX *ctx ) ;
extern int ASYNC_WAIT_CTX_set_wait_fd(ASYNC_WAIT_CTX *ctx , void const   *key , int fd ,
                                      void *custom_data , void (*cleanup)(ASYNC_WAIT_CTX * ,
                                                                          void const   * ,
                                                                          int  , void * ) ) ;
extern int ASYNC_WAIT_CTX_get_fd(ASYNC_WAIT_CTX *ctx , void const   *key , int *fd ,
                                 void **custom_data ) ;
extern int ASYNC_WAIT_CTX_get_all_fds(ASYNC_WAIT_CTX *ctx , int *fd , size_t *numfds ) ;
extern int ASYNC_WAIT_CTX_get_changed_fds(ASYNC_WAIT_CTX *ctx , int *addfd , size_t *numaddfds ,
                                          int *delfd , size_t *numdelfds ) ;
extern int ASYNC_WAIT_CTX_clear_fd(ASYNC_WAIT_CTX *ctx , void const   *key ) ;
extern int ASYNC_is_capable(void) ;
extern int ASYNC_start_job(ASYNC_JOB **job , ASYNC_WAIT_CTX *ctx , int *ret , int (*func)(void * ) ,
                           void *args , size_t size ) ;
extern int ASYNC_pause_job(void) ;
extern ASYNC_JOB *ASYNC_get_current_job(void) ;
extern ASYNC_WAIT_CTX *ASYNC_get_wait_ctx(ASYNC_JOB *job ) ;
extern void ASYNC_block_pause(void) ;
extern void ASYNC_unblock_pause(void) ;
extern int ERR_load_CT_strings(void) ;
__inline static int sk_SCT_num(struct stack_st_SCT  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static SCT *sk_SCT_value(struct stack_st_SCT  const  *sk , int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((SCT *)tmp);
}
}
__inline static struct stack_st_SCT *sk_SCT_new(int (*compare___1)(SCT const   **a ,
                                                                   SCT const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_SCT *)tmp);
}
}
__inline static struct stack_st_SCT *sk_SCT_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_SCT *)tmp);
}
}
__inline static struct stack_st_SCT *sk_SCT_new_reserve(int (*compare___1)(SCT const   **a ,
                                                                           SCT const   **b ) ,
                                                        int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_SCT *)tmp);
}
}
__inline static int sk_SCT_reserve(struct stack_st_SCT *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_SCT_free(struct stack_st_SCT *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_SCT_zero(struct stack_st_SCT *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static SCT *sk_SCT_delete(struct stack_st_SCT *sk , int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((SCT *)tmp);
}
}
__inline static SCT *sk_SCT_delete_ptr(struct stack_st_SCT *sk , SCT *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((SCT *)tmp);
}
}
__inline static int sk_SCT_push(struct stack_st_SCT *sk , SCT *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_SCT_unshift(struct stack_st_SCT *sk , SCT *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static SCT *sk_SCT_pop(struct stack_st_SCT *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((SCT *)tmp);
}
}
__inline static SCT *sk_SCT_shift(struct stack_st_SCT *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((SCT *)tmp);
}
}
__inline static void sk_SCT_pop_free(struct stack_st_SCT *sk , void (*freefunc)(SCT *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_SCT_insert(struct stack_st_SCT *sk , SCT *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static SCT *sk_SCT_set(struct stack_st_SCT *sk , int idx___0 , SCT *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((SCT *)tmp);
}
}
__inline static int sk_SCT_find(struct stack_st_SCT *sk , SCT *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_SCT_find_ex(struct stack_st_SCT *sk , SCT *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_SCT_sort(struct stack_st_SCT *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_SCT_is_sorted(struct stack_st_SCT  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_SCT *sk_SCT_dup(struct stack_st_SCT  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_SCT *)tmp);
}
}
__inline static struct stack_st_SCT *sk_SCT_deep_copy(struct stack_st_SCT  const  *sk ,
                                                      SCT *(*copyfunc)(SCT const   *a ) ,
                                                      void (*freefunc)(SCT *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_SCT *)tmp);
}
}
__inline static sk_SCT_compfunc sk_SCT_set_cmp_func(struct stack_st_SCT *sk , int (*compare___1)(SCT const   **a ,
                                                                                                 SCT const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(SCT const   **a , SCT const   **b ))tmp);
}
}
__inline static int sk_CTLOG_num(struct stack_st_CTLOG  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static CTLOG *sk_CTLOG_value(struct stack_st_CTLOG  const  *sk , int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((CTLOG *)tmp);
}
}
__inline static struct stack_st_CTLOG *sk_CTLOG_new(int (*compare___1)(CTLOG const   **a ,
                                                                       CTLOG const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_CTLOG *)tmp);
}
}
__inline static struct stack_st_CTLOG *sk_CTLOG_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_CTLOG *)tmp);
}
}
__inline static struct stack_st_CTLOG *sk_CTLOG_new_reserve(int (*compare___1)(CTLOG const   **a ,
                                                                               CTLOG const   **b ) ,
                                                            int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_CTLOG *)tmp);
}
}
__inline static int sk_CTLOG_reserve(struct stack_st_CTLOG *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_CTLOG_free(struct stack_st_CTLOG *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_CTLOG_zero(struct stack_st_CTLOG *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static CTLOG *sk_CTLOG_delete(struct stack_st_CTLOG *sk , int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((CTLOG *)tmp);
}
}
__inline static CTLOG *sk_CTLOG_delete_ptr(struct stack_st_CTLOG *sk , CTLOG *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((CTLOG *)tmp);
}
}
__inline static int sk_CTLOG_push(struct stack_st_CTLOG *sk , CTLOG *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_CTLOG_unshift(struct stack_st_CTLOG *sk , CTLOG *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static CTLOG *sk_CTLOG_pop(struct stack_st_CTLOG *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((CTLOG *)tmp);
}
}
__inline static CTLOG *sk_CTLOG_shift(struct stack_st_CTLOG *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((CTLOG *)tmp);
}
}
__inline static void sk_CTLOG_pop_free(struct stack_st_CTLOG *sk , void (*freefunc)(CTLOG *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_CTLOG_insert(struct stack_st_CTLOG *sk , CTLOG *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static CTLOG *sk_CTLOG_set(struct stack_st_CTLOG *sk , int idx___0 , CTLOG *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((CTLOG *)tmp);
}
}
__inline static int sk_CTLOG_find(struct stack_st_CTLOG *sk , CTLOG *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_CTLOG_find_ex(struct stack_st_CTLOG *sk , CTLOG *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_CTLOG_sort(struct stack_st_CTLOG *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_CTLOG_is_sorted(struct stack_st_CTLOG  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_CTLOG *sk_CTLOG_dup(struct stack_st_CTLOG  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_CTLOG *)tmp);
}
}
__inline static struct stack_st_CTLOG *sk_CTLOG_deep_copy(struct stack_st_CTLOG  const  *sk ,
                                                          CTLOG *(*copyfunc)(CTLOG const   *a ) ,
                                                          void (*freefunc)(CTLOG *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_CTLOG *)tmp);
}
}
__inline static sk_CTLOG_compfunc sk_CTLOG_set_cmp_func(struct stack_st_CTLOG *sk ,
                                                        int (*compare___1)(CTLOG const   **a ,
                                                                           CTLOG const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(CTLOG const   **a , CTLOG const   **b ))tmp);
}
}
extern CT_POLICY_EVAL_CTX *CT_POLICY_EVAL_CTX_new(void) ;
extern void CT_POLICY_EVAL_CTX_free(CT_POLICY_EVAL_CTX *ctx ) ;
extern X509 *CT_POLICY_EVAL_CTX_get0_cert(CT_POLICY_EVAL_CTX const   *ctx ) ;
extern int CT_POLICY_EVAL_CTX_set1_cert(CT_POLICY_EVAL_CTX *ctx , X509 *cert ) ;
extern X509 *CT_POLICY_EVAL_CTX_get0_issuer(CT_POLICY_EVAL_CTX const   *ctx ) ;
extern int CT_POLICY_EVAL_CTX_set1_issuer(CT_POLICY_EVAL_CTX *ctx , X509 *issuer ) ;
extern CTLOG_STORE const   *CT_POLICY_EVAL_CTX_get0_log_store(CT_POLICY_EVAL_CTX const   *ctx ) ;
extern void CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE(CT_POLICY_EVAL_CTX *ctx , CTLOG_STORE *log_store ) ;
extern uint64_t CT_POLICY_EVAL_CTX_get_time(CT_POLICY_EVAL_CTX const   *ctx ) ;
extern void CT_POLICY_EVAL_CTX_set_time(CT_POLICY_EVAL_CTX *ctx , uint64_t time_in_ms ) ;
extern SCT *SCT_new(void) ;
extern SCT *SCT_new_from_base64(unsigned char version , char const   *logid_base64 ,
                                ct_log_entry_type_t entry_type , uint64_t timestamp ,
                                char const   *extensions_base64 , char const   *signature_base64 ) ;
extern void SCT_free(SCT *sct ) ;
extern void SCT_LIST_free(struct stack_st_SCT *a ) ;
extern sct_version_t SCT_get_version(SCT const   *sct ) ;
extern int SCT_set_version(SCT *sct , sct_version_t version ) ;
extern ct_log_entry_type_t SCT_get_log_entry_type(SCT const   *sct ) ;
extern int SCT_set_log_entry_type(SCT *sct , ct_log_entry_type_t entry_type ) ;
extern size_t SCT_get0_log_id(SCT const   *sct , unsigned char **log_id ) ;
extern int SCT_set0_log_id(SCT *sct , unsigned char *log_id , size_t log_id_len ) ;
extern int SCT_set1_log_id(SCT *sct , unsigned char const   *log_id , size_t log_id_len ) ;
extern uint64_t SCT_get_timestamp(SCT const   *sct ) ;
extern void SCT_set_timestamp(SCT *sct , uint64_t timestamp ) ;
extern int SCT_get_signature_nid(SCT const   *sct ) ;
extern int SCT_set_signature_nid(SCT *sct , int nid ) ;
extern size_t SCT_get0_extensions(SCT const   *sct , unsigned char **ext ) ;
extern void SCT_set0_extensions(SCT *sct , unsigned char *ext , size_t ext_len ) ;
extern int SCT_set1_extensions(SCT *sct , unsigned char const   *ext , size_t ext_len ) ;
extern size_t SCT_get0_signature(SCT const   *sct , unsigned char **sig ) ;
extern void SCT_set0_signature(SCT *sct , unsigned char *sig , size_t sig_len ) ;
extern int SCT_set1_signature(SCT *sct , unsigned char const   *sig , size_t sig_len ) ;
extern sct_source_t SCT_get_source(SCT const   *sct ) ;
extern int SCT_set_source(SCT *sct , sct_source_t source ) ;
extern char const   *SCT_validation_status_string(SCT const   *sct ) ;
extern void SCT_print(SCT const   *sct , BIO *out , int indent , CTLOG_STORE const   *logs ) ;
extern void SCT_LIST_print(struct stack_st_SCT  const  *sct_list , BIO *out , int indent ,
                           char const   *separator , CTLOG_STORE const   *logs ) ;
extern sct_validation_status_t SCT_get_validation_status(SCT const   *sct ) ;
extern int SCT_validate(SCT *sct , CT_POLICY_EVAL_CTX const   *ctx ) ;
extern int SCT_LIST_validate(struct stack_st_SCT  const  *scts , CT_POLICY_EVAL_CTX *ctx ) ;
extern int i2o_SCT_LIST(struct stack_st_SCT  const  *a , unsigned char **pp ) ;
extern struct stack_st_SCT *o2i_SCT_LIST(struct stack_st_SCT **a , unsigned char const   **pp ,
                                         size_t len ) ;
extern int i2d_SCT_LIST(struct stack_st_SCT  const  *a , unsigned char **pp ) ;
extern struct stack_st_SCT *d2i_SCT_LIST(struct stack_st_SCT **a , unsigned char const   **pp ,
                                         long len ) ;
extern int i2o_SCT(SCT const   *sct , unsigned char **out ) ;
extern SCT *o2i_SCT(SCT **psct , unsigned char const   **in , size_t len ) ;
extern CTLOG *CTLOG_new(EVP_PKEY *public_key , char const   *name ) ;
extern int CTLOG_new_from_base64(CTLOG **ct_log , char const   *pkey_base64 , char const   *name ) ;
extern void CTLOG_free(CTLOG *log ) ;
extern char const   *CTLOG_get0_name(CTLOG const   *log ) ;
extern void CTLOG_get0_log_id(CTLOG const   *log , uint8_t const   **log_id , size_t *log_id_len ) ;
extern EVP_PKEY *CTLOG_get0_public_key(CTLOG const   *log ) ;
extern CTLOG_STORE *CTLOG_STORE_new(void) ;
extern void CTLOG_STORE_free(CTLOG_STORE *store ) ;
extern CTLOG const   *CTLOG_STORE_get0_log_by_id(CTLOG_STORE const   *store , uint8_t const   *log_id ,
                                                 size_t log_id_len ) ;
extern int CTLOG_STORE_load_file(CTLOG_STORE *store , char const   *file ) ;
extern int CTLOG_STORE_load_default_file(CTLOG_STORE *store ) ;
extern int ERR_load_SSL_strings(void) ;
__inline static int sk_SRTP_PROTECTION_PROFILE_num(struct stack_st_SRTP_PROTECTION_PROFILE  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static SRTP_PROTECTION_PROFILE *sk_SRTP_PROTECTION_PROFILE_value(struct stack_st_SRTP_PROTECTION_PROFILE  const  *sk ,
                                                                          int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((SRTP_PROTECTION_PROFILE *)tmp);
}
}
__inline static struct stack_st_SRTP_PROTECTION_PROFILE *sk_SRTP_PROTECTION_PROFILE_new(int (*compare___1)(SRTP_PROTECTION_PROFILE const   **a ,
                                                                                                           SRTP_PROTECTION_PROFILE const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_SRTP_PROTECTION_PROFILE *)tmp);
}
}
__inline static struct stack_st_SRTP_PROTECTION_PROFILE *sk_SRTP_PROTECTION_PROFILE_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_SRTP_PROTECTION_PROFILE *)tmp);
}
}
__inline static struct stack_st_SRTP_PROTECTION_PROFILE *sk_SRTP_PROTECTION_PROFILE_new_reserve(int (*compare___1)(SRTP_PROTECTION_PROFILE const   **a ,
                                                                                                                   SRTP_PROTECTION_PROFILE const   **b ) ,
                                                                                                int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_SRTP_PROTECTION_PROFILE *)tmp);
}
}
__inline static int sk_SRTP_PROTECTION_PROFILE_reserve(struct stack_st_SRTP_PROTECTION_PROFILE *sk ,
                                                       int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_SRTP_PROTECTION_PROFILE_free(struct stack_st_SRTP_PROTECTION_PROFILE *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_SRTP_PROTECTION_PROFILE_zero(struct stack_st_SRTP_PROTECTION_PROFILE *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static SRTP_PROTECTION_PROFILE *sk_SRTP_PROTECTION_PROFILE_delete(struct stack_st_SRTP_PROTECTION_PROFILE *sk ,
                                                                           int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((SRTP_PROTECTION_PROFILE *)tmp);
}
}
__inline static SRTP_PROTECTION_PROFILE *sk_SRTP_PROTECTION_PROFILE_delete_ptr(struct stack_st_SRTP_PROTECTION_PROFILE *sk ,
                                                                               SRTP_PROTECTION_PROFILE *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((SRTP_PROTECTION_PROFILE *)tmp);
}
}
__inline static int sk_SRTP_PROTECTION_PROFILE_push(struct stack_st_SRTP_PROTECTION_PROFILE *sk ,
                                                    SRTP_PROTECTION_PROFILE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_SRTP_PROTECTION_PROFILE_unshift(struct stack_st_SRTP_PROTECTION_PROFILE *sk ,
                                                       SRTP_PROTECTION_PROFILE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static SRTP_PROTECTION_PROFILE *sk_SRTP_PROTECTION_PROFILE_pop(struct stack_st_SRTP_PROTECTION_PROFILE *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((SRTP_PROTECTION_PROFILE *)tmp);
}
}
__inline static SRTP_PROTECTION_PROFILE *sk_SRTP_PROTECTION_PROFILE_shift(struct stack_st_SRTP_PROTECTION_PROFILE *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((SRTP_PROTECTION_PROFILE *)tmp);
}
}
__inline static void sk_SRTP_PROTECTION_PROFILE_pop_free(struct stack_st_SRTP_PROTECTION_PROFILE *sk ,
                                                         void (*freefunc)(SRTP_PROTECTION_PROFILE *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_SRTP_PROTECTION_PROFILE_insert(struct stack_st_SRTP_PROTECTION_PROFILE *sk ,
                                                      SRTP_PROTECTION_PROFILE *ptr ,
                                                      int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static SRTP_PROTECTION_PROFILE *sk_SRTP_PROTECTION_PROFILE_set(struct stack_st_SRTP_PROTECTION_PROFILE *sk ,
                                                                        int idx___0 ,
                                                                        SRTP_PROTECTION_PROFILE *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((SRTP_PROTECTION_PROFILE *)tmp);
}
}
__inline static int sk_SRTP_PROTECTION_PROFILE_find(struct stack_st_SRTP_PROTECTION_PROFILE *sk ,
                                                    SRTP_PROTECTION_PROFILE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_SRTP_PROTECTION_PROFILE_find_ex(struct stack_st_SRTP_PROTECTION_PROFILE *sk ,
                                                       SRTP_PROTECTION_PROFILE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_SRTP_PROTECTION_PROFILE_sort(struct stack_st_SRTP_PROTECTION_PROFILE *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_SRTP_PROTECTION_PROFILE_is_sorted(struct stack_st_SRTP_PROTECTION_PROFILE  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_SRTP_PROTECTION_PROFILE *sk_SRTP_PROTECTION_PROFILE_dup(struct stack_st_SRTP_PROTECTION_PROFILE  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_SRTP_PROTECTION_PROFILE *)tmp);
}
}
__inline static struct stack_st_SRTP_PROTECTION_PROFILE *sk_SRTP_PROTECTION_PROFILE_deep_copy(struct stack_st_SRTP_PROTECTION_PROFILE  const  *sk ,
                                                                                              SRTP_PROTECTION_PROFILE *(*copyfunc)(SRTP_PROTECTION_PROFILE const   *a ) ,
                                                                                              void (*freefunc)(SRTP_PROTECTION_PROFILE *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_SRTP_PROTECTION_PROFILE *)tmp);
}
}
__inline static sk_SRTP_PROTECTION_PROFILE_compfunc sk_SRTP_PROTECTION_PROFILE_set_cmp_func(struct stack_st_SRTP_PROTECTION_PROFILE *sk ,
                                                                                            int (*compare___1)(SRTP_PROTECTION_PROFILE const   **a ,
                                                                                                               SRTP_PROTECTION_PROFILE const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(SRTP_PROTECTION_PROFILE const   **a , SRTP_PROTECTION_PROFILE const   **b ))tmp);
}
}
extern unsigned long SSL_CTX_get_options(SSL_CTX const   *ctx ) ;
extern unsigned long SSL_get_options(SSL const   *s ) ;
extern unsigned long SSL_CTX_clear_options(SSL_CTX *ctx , unsigned long op ) ;
extern unsigned long SSL_clear_options(SSL *s , unsigned long op ) ;
extern unsigned long SSL_CTX_set_options(SSL_CTX *ctx , unsigned long op ) ;
extern unsigned long SSL_set_options(SSL *s , unsigned long op ) ;
extern void SSL_CTX_set_msg_callback(SSL_CTX *ctx , void (*cb)(int write_p , int version ,
                                                               int content_type ,
                                                               void const   *buf ,
                                                               size_t len , SSL *ssl ,
                                                               void *arg ) ) ;
extern void SSL_set_msg_callback(SSL *ssl , void (*cb)(int write_p , int version ,
                                                       int content_type , void const   *buf ,
                                                       size_t len , SSL *ssl , void *arg ) ) ;
extern int SSL_SRP_CTX_init(SSL *s ) ;
extern int SSL_CTX_SRP_CTX_init(SSL_CTX *ctx ) ;
extern int SSL_SRP_CTX_free(SSL *ctx ) ;
extern int SSL_CTX_SRP_CTX_free(SSL_CTX *ctx ) ;
extern int SSL_srp_server_param_with_username(SSL *s , int *ad ) ;
extern int SRP_Calc_A_param(SSL *s ) ;
extern struct lhash_st_SSL_SESSION *SSL_CTX_sessions(SSL_CTX *ctx ) ;
extern void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx , int (*new_session_cb)(struct ssl_st *ssl ,
                                                                         SSL_SESSION *sess ) ) ;
extern int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx ))(struct ssl_st *ssl , SSL_SESSION *sess ) ;
extern void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx , void (*remove_session_cb)(struct ssl_ctx_st *ctx ,
                                                                                SSL_SESSION *sess ) ) ;
extern void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx ))(struct ssl_ctx_st *ctx ,
                                                         SSL_SESSION *sess ) ;
extern void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx , SSL_SESSION *(*get_session_cb)(struct ssl_st *ssl ,
                                                                                  unsigned char const   *data ,
                                                                                  int len ,
                                                                                  int *copy ) ) ;
extern SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx ))(struct ssl_st *ssl ,
                                                              unsigned char const   *data ,
                                                              int len , int *copy ) ;
extern void SSL_CTX_set_info_callback(SSL_CTX *ctx , void (*cb)(SSL const   *ssl ,
                                                                int type , int val ) ) ;
extern void (*SSL_CTX_get_info_callback(SSL_CTX *ctx ))(SSL const   *ssl , int type ,
                                                        int val ) ;
extern void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx , int (*client_cert_cb)(SSL *ssl ,
                                                                            X509 **x509 ,
                                                                            EVP_PKEY **pkey ) ) ;
extern int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx ))(SSL *ssl , X509 **x509 , EVP_PKEY **pkey ) ;
extern int SSL_CTX_set_client_cert_engine(SSL_CTX *ctx , ENGINE *e ) ;
extern void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx , int (*app_gen_cookie_cb)(SSL *ssl ,
                                                                                   unsigned char *cookie ,
                                                                                   unsigned int *cookie_len ) ) ;
extern void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx , int (*app_verify_cookie_cb)(SSL *ssl ,
                                                                                    unsigned char const   *cookie ,
                                                                                    unsigned int cookie_len ) ) ;
extern void SSL_CTX_set_stateless_cookie_generate_cb(SSL_CTX *ctx , int (*gen_stateless_cookie_cb)(SSL *ssl ,
                                                                                                   unsigned char *cookie ,
                                                                                                   size_t *cookie_len ) ) ;
extern void SSL_CTX_set_stateless_cookie_verify_cb(SSL_CTX *ctx , int (*verify_stateless_cookie_cb)(SSL *ssl ,
                                                                                                    unsigned char const   *cookie ,
                                                                                                    size_t cookie_len ) ) ;
extern void SSL_CTX_set_next_protos_advertised_cb(SSL_CTX *s , int (*cb)(SSL *ssl ,
                                                                         unsigned char const   **out ,
                                                                         unsigned int *outlen ,
                                                                         void *arg ) ,
                                                  void *arg ) ;
extern void SSL_CTX_set_next_proto_select_cb(SSL_CTX *s , int (*cb)(SSL *s , unsigned char **out ,
                                                                    unsigned char *outlen ,
                                                                    unsigned char const   *in ,
                                                                    unsigned int inlen ,
                                                                    void *arg ) ,
                                             void *arg ) ;
extern void SSL_get0_next_proto_negotiated(SSL const   *s , unsigned char const   **data ,
                                           unsigned int *len ) ;
extern int SSL_select_next_proto(unsigned char **out , unsigned char *outlen , unsigned char const   *in ,
                                 unsigned int inlen , unsigned char const   *client ,
                                 unsigned int client_len ) ;
extern int SSL_CTX_set_alpn_protos(SSL_CTX *ctx , unsigned char const   *protos ,
                                   unsigned int protos_len ) ;
extern int SSL_set_alpn_protos(SSL *ssl , unsigned char const   *protos , unsigned int protos_len ) ;
extern void SSL_CTX_set_alpn_select_cb(SSL_CTX *ctx , int (*cb)(SSL *ssl , unsigned char const   **out ,
                                                                unsigned char *outlen ,
                                                                unsigned char const   *in ,
                                                                unsigned int inlen ,
                                                                void *arg ) , void *arg ) ;
extern void SSL_get0_alpn_selected(SSL const   *ssl , unsigned char const   **data ,
                                   unsigned int *len ) ;
extern void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx , unsigned int (*cb)(SSL *ssl ,
                                                                              char const   *hint ,
                                                                              char *identity ,
                                                                              unsigned int max_identity_len ,
                                                                              unsigned char *psk ,
                                                                              unsigned int max_psk_len ) ) ;
extern void SSL_set_psk_client_callback(SSL *ssl , unsigned int (*cb)(SSL *ssl , char const   *hint ,
                                                                      char *identity ,
                                                                      unsigned int max_identity_len ,
                                                                      unsigned char *psk ,
                                                                      unsigned int max_psk_len ) ) ;
extern void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx , unsigned int (*cb)(SSL *ssl ,
                                                                              char const   *identity ,
                                                                              unsigned char *psk ,
                                                                              unsigned int max_psk_len ) ) ;
extern void SSL_set_psk_server_callback(SSL *ssl , unsigned int (*cb)(SSL *ssl , char const   *identity ,
                                                                      unsigned char *psk ,
                                                                      unsigned int max_psk_len ) ) ;
extern int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx , char const   *identity_hint ) ;
extern int SSL_use_psk_identity_hint(SSL *s , char const   *identity_hint ) ;
extern char const   *SSL_get_psk_identity_hint(SSL const   *s ) ;
extern char const   *SSL_get_psk_identity(SSL const   *s ) ;
extern void SSL_set_psk_find_session_callback(SSL *s , int (*cb)(SSL *ssl , unsigned char const   *identity ,
                                                                 size_t identity_len ,
                                                                 SSL_SESSION **sess ) ) ;
extern void SSL_CTX_set_psk_find_session_callback(SSL_CTX *ctx , int (*cb)(SSL *ssl ,
                                                                           unsigned char const   *identity ,
                                                                           size_t identity_len ,
                                                                           SSL_SESSION **sess ) ) ;
extern void SSL_set_psk_use_session_callback(SSL *s , int (*cb)(SSL *ssl , EVP_MD const   *md ,
                                                                unsigned char const   **id ,
                                                                size_t *idlen , SSL_SESSION **sess ) ) ;
extern void SSL_CTX_set_psk_use_session_callback(SSL_CTX *ctx , int (*cb)(SSL *ssl ,
                                                                          EVP_MD const   *md ,
                                                                          unsigned char const   **id ,
                                                                          size_t *idlen ,
                                                                          SSL_SESSION **sess ) ) ;
extern int SSL_CTX_has_client_custom_ext(SSL_CTX const   *ctx , unsigned int ext_type ) ;
extern int SSL_CTX_add_client_custom_ext(SSL_CTX *ctx , unsigned int ext_type , int (*add_cb)(SSL *s ,
                                                                                              unsigned int ext_type ,
                                                                                              unsigned char const   **out ,
                                                                                              size_t *outlen ,
                                                                                              int *al ,
                                                                                              void *add_arg ) ,
                                         void (*free_cb)(SSL *s , unsigned int ext_type ,
                                                         unsigned char const   *out ,
                                                         void *add_arg ) , void *add_arg ,
                                         int (*parse_cb)(SSL *s , unsigned int ext_type ,
                                                         unsigned char const   *in ,
                                                         size_t inlen , int *al ,
                                                         void *parse_arg ) , void *parse_arg ) ;
extern int SSL_CTX_add_server_custom_ext(SSL_CTX *ctx , unsigned int ext_type , int (*add_cb)(SSL *s ,
                                                                                              unsigned int ext_type ,
                                                                                              unsigned char const   **out ,
                                                                                              size_t *outlen ,
                                                                                              int *al ,
                                                                                              void *add_arg ) ,
                                         void (*free_cb)(SSL *s , unsigned int ext_type ,
                                                         unsigned char const   *out ,
                                                         void *add_arg ) , void *add_arg ,
                                         int (*parse_cb)(SSL *s , unsigned int ext_type ,
                                                         unsigned char const   *in ,
                                                         size_t inlen , int *al ,
                                                         void *parse_arg ) , void *parse_arg ) ;
extern int SSL_CTX_add_custom_ext(SSL_CTX *ctx , unsigned int ext_type , unsigned int context ,
                                  int (*add_cb)(SSL *s , unsigned int ext_type , unsigned int context ,
                                                unsigned char const   **out , size_t *outlen ,
                                                X509 *x , size_t chainidx , int *al ,
                                                void *add_arg ) , void (*free_cb)(SSL *s ,
                                                                                  unsigned int ext_type ,
                                                                                  unsigned int context ,
                                                                                  unsigned char const   *out ,
                                                                                  void *add_arg ) ,
                                  void *add_arg , int (*parse_cb)(SSL *s , unsigned int ext_type ,
                                                                  unsigned int context ,
                                                                  unsigned char const   *in ,
                                                                  size_t inlen , X509 *x ,
                                                                  size_t chainidx ,
                                                                  int *al , void *parse_arg ) ,
                                  void *parse_arg ) ;
extern int SSL_extension_supported(unsigned int ext_type ) ;
extern void SSL_CTX_set_keylog_callback(SSL_CTX *ctx , void (*cb)(SSL const   *ssl ,
                                                                  char const   *line ) ) ;
extern SSL_CTX_keylog_cb_func SSL_CTX_get_keylog_callback(SSL_CTX const   *ctx ) ;
extern int SSL_CTX_set_max_early_data(SSL_CTX *ctx , uint32_t max_early_data ) ;
extern uint32_t SSL_CTX_get_max_early_data(SSL_CTX const   *ctx ) ;
extern int SSL_set_max_early_data(SSL *s , uint32_t max_early_data ) ;
extern uint32_t SSL_get_max_early_data(SSL const   *s ) ;
extern int SSL_CTX_set_recv_max_early_data(SSL_CTX *ctx , uint32_t recv_max_early_data ) ;
extern uint32_t SSL_CTX_get_recv_max_early_data(SSL_CTX const   *ctx ) ;
extern int SSL_set_recv_max_early_data(SSL *s , uint32_t recv_max_early_data ) ;
extern uint32_t SSL_get_recv_max_early_data(SSL const   *s ) ;
extern int SSL_CTX_set_tlsext_max_fragment_length(SSL_CTX *ctx , uint8_t mode ) ;
extern int SSL_set_tlsext_max_fragment_length(SSL *ssl , uint8_t mode ) ;
extern char const   *SSL_get_servername(SSL const   *s , int const   type ) ;
extern int SSL_get_servername_type(SSL const   *s ) ;
extern int SSL_export_keying_material(SSL *s , unsigned char *out , size_t olen ,
                                      char const   *label , size_t llen , unsigned char const   *context ,
                                      size_t contextlen , int use_context ) ;
extern int SSL_export_keying_material_early(SSL *s , unsigned char *out , size_t olen ,
                                            char const   *label , size_t llen , unsigned char const   *context ,
                                            size_t contextlen ) ;
extern int SSL_get_peer_signature_type_nid(SSL const   *s , int *pnid ) ;
extern int SSL_get_sigalgs(SSL *s , int idx , int *psign , int *phash , int *psignandhash ,
                           unsigned char *rsig , unsigned char *rhash ) ;
extern int SSL_get_shared_sigalgs(SSL *s , int idx , int *psign , int *phash , int *psignandhash ,
                                  unsigned char *rsig , unsigned char *rhash ) ;
extern int SSL_check_chain(SSL *s , X509 *x , EVP_PKEY *pk , struct stack_st_X509 *chain ) ;
extern int SSL_CTX_set_tlsext_use_srtp(SSL_CTX *ctx , char const   *profiles ) ;
extern int SSL_set_tlsext_use_srtp(SSL *ssl , char const   *profiles ) ;
extern struct stack_st_SRTP_PROTECTION_PROFILE *SSL_get_srtp_profiles(SSL *ssl ) ;
extern SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s ) ;
__inline static int sk_SSL_CIPHER_num(struct stack_st_SSL_CIPHER  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static SSL_CIPHER const   *sk_SSL_CIPHER_value(struct stack_st_SSL_CIPHER  const  *sk ,
                                                        int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((SSL_CIPHER const   *)tmp);
}
}
__inline static struct stack_st_SSL_CIPHER *sk_SSL_CIPHER_new(int (*compare___1)(SSL_CIPHER const   **a ,
                                                                                 SSL_CIPHER const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_SSL_CIPHER *)tmp);
}
}
__inline static struct stack_st_SSL_CIPHER *sk_SSL_CIPHER_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_SSL_CIPHER *)tmp);
}
}
__inline static struct stack_st_SSL_CIPHER *sk_SSL_CIPHER_new_reserve(int (*compare___1)(SSL_CIPHER const   **a ,
                                                                                         SSL_CIPHER const   **b ) ,
                                                                      int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_SSL_CIPHER *)tmp);
}
}
__inline static int sk_SSL_CIPHER_reserve(struct stack_st_SSL_CIPHER *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_SSL_CIPHER_free(struct stack_st_SSL_CIPHER *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_SSL_CIPHER_zero(struct stack_st_SSL_CIPHER *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static SSL_CIPHER const   *sk_SSL_CIPHER_delete(struct stack_st_SSL_CIPHER *sk ,
                                                         int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((SSL_CIPHER const   *)tmp);
}
}
__inline static SSL_CIPHER const   *sk_SSL_CIPHER_delete_ptr(struct stack_st_SSL_CIPHER *sk ,
                                                             SSL_CIPHER const   *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((SSL_CIPHER const   *)tmp);
}
}
__inline static int sk_SSL_CIPHER_push(struct stack_st_SSL_CIPHER *sk , SSL_CIPHER const   *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_SSL_CIPHER_unshift(struct stack_st_SSL_CIPHER *sk , SSL_CIPHER const   *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static SSL_CIPHER const   *sk_SSL_CIPHER_pop(struct stack_st_SSL_CIPHER *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((SSL_CIPHER const   *)tmp);
}
}
__inline static SSL_CIPHER const   *sk_SSL_CIPHER_shift(struct stack_st_SSL_CIPHER *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((SSL_CIPHER const   *)tmp);
}
}
__inline static void sk_SSL_CIPHER_pop_free(struct stack_st_SSL_CIPHER *sk , void (*freefunc)(SSL_CIPHER *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_SSL_CIPHER_insert(struct stack_st_SSL_CIPHER *sk , SSL_CIPHER const   *ptr ,
                                         int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static SSL_CIPHER const   *sk_SSL_CIPHER_set(struct stack_st_SSL_CIPHER *sk ,
                                                      int idx___0 , SSL_CIPHER const   *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((SSL_CIPHER const   *)tmp);
}
}
__inline static int sk_SSL_CIPHER_find(struct stack_st_SSL_CIPHER *sk , SSL_CIPHER const   *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_SSL_CIPHER_find_ex(struct stack_st_SSL_CIPHER *sk , SSL_CIPHER const   *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_SSL_CIPHER_sort(struct stack_st_SSL_CIPHER *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_SSL_CIPHER_is_sorted(struct stack_st_SSL_CIPHER  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_SSL_CIPHER *sk_SSL_CIPHER_dup(struct stack_st_SSL_CIPHER  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_SSL_CIPHER *)tmp);
}
}
__inline static struct stack_st_SSL_CIPHER *sk_SSL_CIPHER_deep_copy(struct stack_st_SSL_CIPHER  const  *sk ,
                                                                    SSL_CIPHER *(*copyfunc)(SSL_CIPHER const   *a ) ,
                                                                    void (*freefunc)(SSL_CIPHER *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_SSL_CIPHER *)tmp);
}
}
__inline static sk_SSL_CIPHER_compfunc sk_SSL_CIPHER_set_cmp_func(struct stack_st_SSL_CIPHER *sk ,
                                                                  int (*compare___1)(SSL_CIPHER const   **a ,
                                                                                     SSL_CIPHER const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(SSL_CIPHER const   **a , SSL_CIPHER const   **b ))tmp);
}
}
__inline static int sk_SSL_COMP_num(struct stack_st_SSL_COMP  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static SSL_COMP *sk_SSL_COMP_value(struct stack_st_SSL_COMP  const  *sk ,
                                            int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((SSL_COMP *)tmp);
}
}
__inline static struct stack_st_SSL_COMP *sk_SSL_COMP_new(int (*compare___1)(SSL_COMP const   **a ,
                                                                             SSL_COMP const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_SSL_COMP *)tmp);
}
}
__inline static struct stack_st_SSL_COMP *sk_SSL_COMP_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_SSL_COMP *)tmp);
}
}
__inline static struct stack_st_SSL_COMP *sk_SSL_COMP_new_reserve(int (*compare___1)(SSL_COMP const   **a ,
                                                                                     SSL_COMP const   **b ) ,
                                                                  int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_SSL_COMP *)tmp);
}
}
__inline static int sk_SSL_COMP_reserve(struct stack_st_SSL_COMP *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_SSL_COMP_free(struct stack_st_SSL_COMP *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_SSL_COMP_zero(struct stack_st_SSL_COMP *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static SSL_COMP *sk_SSL_COMP_delete(struct stack_st_SSL_COMP *sk , int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((SSL_COMP *)tmp);
}
}
__inline static SSL_COMP *sk_SSL_COMP_delete_ptr(struct stack_st_SSL_COMP *sk , SSL_COMP *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((SSL_COMP *)tmp);
}
}
__inline static int sk_SSL_COMP_push(struct stack_st_SSL_COMP *sk , SSL_COMP *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_SSL_COMP_unshift(struct stack_st_SSL_COMP *sk , SSL_COMP *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static SSL_COMP *sk_SSL_COMP_pop(struct stack_st_SSL_COMP *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((SSL_COMP *)tmp);
}
}
__inline static SSL_COMP *sk_SSL_COMP_shift(struct stack_st_SSL_COMP *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((SSL_COMP *)tmp);
}
}
__inline static void sk_SSL_COMP_pop_free(struct stack_st_SSL_COMP *sk , void (*freefunc)(SSL_COMP *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_SSL_COMP_insert(struct stack_st_SSL_COMP *sk , SSL_COMP *ptr ,
                                       int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static SSL_COMP *sk_SSL_COMP_set(struct stack_st_SSL_COMP *sk , int idx___0 ,
                                          SSL_COMP *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((SSL_COMP *)tmp);
}
}
__inline static int sk_SSL_COMP_find(struct stack_st_SSL_COMP *sk , SSL_COMP *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_SSL_COMP_find_ex(struct stack_st_SSL_COMP *sk , SSL_COMP *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_SSL_COMP_sort(struct stack_st_SSL_COMP *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_SSL_COMP_is_sorted(struct stack_st_SSL_COMP  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_SSL_COMP *sk_SSL_COMP_dup(struct stack_st_SSL_COMP  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_SSL_COMP *)tmp);
}
}
__inline static struct stack_st_SSL_COMP *sk_SSL_COMP_deep_copy(struct stack_st_SSL_COMP  const  *sk ,
                                                                SSL_COMP *(*copyfunc)(SSL_COMP const   *a ) ,
                                                                void (*freefunc)(SSL_COMP *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_SSL_COMP *)tmp);
}
}
__inline static sk_SSL_COMP_compfunc sk_SSL_COMP_set_cmp_func(struct stack_st_SSL_COMP *sk ,
                                                              int (*compare___1)(SSL_COMP const   **a ,
                                                                                 SSL_COMP const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(SSL_COMP const   **a , SSL_COMP const   **b ))tmp);
}
}
extern void SSL_set_debug(SSL *s , int debug )  __attribute__((__deprecated__)) ;
extern int SSL_in_init(SSL const   *s ) ;
extern int SSL_in_before(SSL const   *s ) ;
extern int SSL_is_init_finished(SSL const   *s ) ;
extern size_t SSL_get_finished(SSL const   *s , void *buf , size_t count ) ;
extern size_t SSL_get_peer_finished(SSL const   *s , void *buf , size_t count ) ;
extern SSL_SESSION *PEM_read_bio_SSL_SESSION(BIO *bp , SSL_SESSION **x , pem_password_cb *cb ,
                                             void *u ) ;
extern SSL_SESSION *PEM_read_SSL_SESSION(FILE *fp , SSL_SESSION **x , pem_password_cb *cb ,
                                         void *u ) ;
extern int PEM_write_bio_SSL_SESSION(BIO *bp , SSL_SESSION *x ) ;
extern int PEM_write_SSL_SESSION(FILE *fp , SSL_SESSION *x ) ;
extern BIO_METHOD const   *BIO_f_ssl(void) ;
extern BIO *BIO_new_ssl(SSL_CTX *ctx , int client ) ;
extern BIO *BIO_new_ssl_connect(SSL_CTX *ctx ) ;
extern BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx ) ;
extern int BIO_ssl_copy_session_id(BIO *to , BIO *from ) ;
extern void BIO_ssl_shutdown(BIO *ssl_bio ) ;
extern int SSL_CTX_set_cipher_list(SSL_CTX * , char const   *str ) ;
extern SSL_CTX *SSL_CTX_new(SSL_METHOD const   *meth ) ;
extern int SSL_CTX_up_ref(SSL_CTX *ctx ) ;
extern void SSL_CTX_free(SSL_CTX * ) ;
extern long SSL_CTX_set_timeout(SSL_CTX *ctx , long t ) ;
extern long SSL_CTX_get_timeout(SSL_CTX const   *ctx ) ;
extern X509_STORE *SSL_CTX_get_cert_store(SSL_CTX const   * ) ;
extern void SSL_CTX_set_cert_store(SSL_CTX * , X509_STORE * ) ;
extern void SSL_CTX_set1_cert_store(SSL_CTX * , X509_STORE * ) ;
extern int SSL_want(SSL const   *s ) ;
extern int SSL_clear(SSL *s ) ;
extern void SSL_CTX_flush_sessions(SSL_CTX *ctx , long tm ) ;
extern SSL_CIPHER const   *SSL_get_current_cipher(SSL const   *s ) ;
extern SSL_CIPHER const   *SSL_get_pending_cipher(SSL const   *s ) ;
extern int SSL_CIPHER_get_bits(SSL_CIPHER const   *c , int *alg_bits ) ;
extern char const   *SSL_CIPHER_get_version(SSL_CIPHER const   *c ) ;
extern char const   *SSL_CIPHER_get_name(SSL_CIPHER const   *c ) ;
extern char const   *SSL_CIPHER_standard_name(SSL_CIPHER const   *c ) ;
extern char const   *OPENSSL_cipher_name(char const   *rfc_name ) ;
extern uint32_t SSL_CIPHER_get_id(SSL_CIPHER const   *c ) ;
extern uint16_t SSL_CIPHER_get_protocol_id(SSL_CIPHER const   *c ) ;
extern int SSL_CIPHER_get_kx_nid(SSL_CIPHER const   *c ) ;
extern int SSL_CIPHER_get_auth_nid(SSL_CIPHER const   *c ) ;
extern EVP_MD const   *SSL_CIPHER_get_handshake_digest(SSL_CIPHER const   *c ) ;
extern int SSL_CIPHER_is_aead(SSL_CIPHER const   *c ) ;
extern int SSL_get_fd(SSL const   *s ) ;
extern int SSL_get_rfd(SSL const   *s ) ;
extern int SSL_get_wfd(SSL const   *s ) ;
extern char const   *SSL_get_cipher_list(SSL const   *s , int n ) ;
extern char *SSL_get_shared_ciphers(SSL const   *s , char *buf , int size ) ;
extern int SSL_get_read_ahead(SSL const   *s ) ;
extern int SSL_pending(SSL const   *s ) ;
extern int SSL_has_pending(SSL const   *s ) ;
extern int SSL_set_fd(SSL *s , int fd ) ;
extern int SSL_set_rfd(SSL *s , int fd ) ;
extern int SSL_set_wfd(SSL *s , int fd ) ;
extern void SSL_set0_rbio(SSL *s , BIO *rbio ) ;
extern void SSL_set0_wbio(SSL *s , BIO *wbio ) ;
extern void SSL_set_bio(SSL *s , BIO *rbio , BIO *wbio ) ;
extern BIO *SSL_get_rbio(SSL const   *s ) ;
extern BIO *SSL_get_wbio(SSL const   *s ) ;
extern int SSL_set_cipher_list(SSL *s , char const   *str ) ;
extern int SSL_CTX_set_ciphersuites(SSL_CTX *ctx , char const   *str ) ;
extern int SSL_set_ciphersuites(SSL *s , char const   *str ) ;
extern void SSL_set_read_ahead(SSL *s , int yes ) ;
extern int SSL_get_verify_mode(SSL const   *s ) ;
extern int SSL_get_verify_depth(SSL const   *s ) ;
extern SSL_verify_cb SSL_get_verify_callback(SSL const   *s ) ;
extern void SSL_set_verify(SSL *s , int mode , int (*callback)(int preverify_ok ,
                                                               X509_STORE_CTX *x509_ctx ) ) ;
extern void SSL_set_verify_depth(SSL *s , int depth ) ;
extern void SSL_set_cert_cb(SSL *s , int (*cb)(SSL *ssl , void *arg ) , void *arg ) ;
extern int SSL_use_RSAPrivateKey(SSL *ssl , RSA *rsa ) ;
extern int SSL_use_RSAPrivateKey_ASN1(SSL *ssl , unsigned char const   *d , long len ) ;
extern int SSL_use_PrivateKey(SSL *ssl , EVP_PKEY *pkey ) ;
extern int SSL_use_PrivateKey_ASN1(int pk , SSL *ssl , unsigned char const   *d ,
                                   long len ) ;
extern int SSL_use_certificate(SSL *ssl , X509 *x ) ;
extern int SSL_use_certificate_ASN1(SSL *ssl , unsigned char const   *d , int len ) ;
extern int SSL_use_cert_and_key(SSL *ssl , X509 *x509 , EVP_PKEY *privatekey , struct stack_st_X509 *chain ,
                                int override ) ;
extern int SSL_CTX_use_serverinfo(SSL_CTX *ctx , unsigned char const   *serverinfo ,
                                  size_t serverinfo_length ) ;
extern int SSL_CTX_use_serverinfo_ex(SSL_CTX *ctx , unsigned int version , unsigned char const   *serverinfo ,
                                     size_t serverinfo_length ) ;
extern int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx , char const   *file ) ;
extern int SSL_use_RSAPrivateKey_file(SSL *ssl , char const   *file , int type ) ;
extern int SSL_use_PrivateKey_file(SSL *ssl , char const   *file , int type ) ;
extern int SSL_use_certificate_file(SSL *ssl , char const   *file , int type ) ;
extern int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx , char const   *file , int type ) ;
extern int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx , char const   *file , int type ) ;
extern int SSL_CTX_use_certificate_file(SSL_CTX *ctx , char const   *file , int type ) ;
extern int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx , char const   *file ) ;
extern int SSL_use_certificate_chain_file(SSL *ssl , char const   *file ) ;
extern struct stack_st_X509_NAME *SSL_load_client_CA_file(char const   *file ) ;
extern int SSL_add_file_cert_subjects_to_stack(struct stack_st_X509_NAME *stackCAs ,
                                               char const   *file ) ;
extern int SSL_add_dir_cert_subjects_to_stack(struct stack_st_X509_NAME *stackCAs ,
                                              char const   *dir ) ;
extern char const   *SSL_state_string(SSL const   *s ) ;
extern char const   *SSL_rstate_string(SSL const   *s ) ;
extern char const   *SSL_state_string_long(SSL const   *s ) ;
extern char const   *SSL_rstate_string_long(SSL const   *s ) ;
extern long SSL_SESSION_get_time(SSL_SESSION const   *s ) ;
extern long SSL_SESSION_set_time(SSL_SESSION *s , long t ) ;
extern long SSL_SESSION_get_timeout(SSL_SESSION const   *s ) ;
extern long SSL_SESSION_set_timeout(SSL_SESSION *s , long t ) ;
extern int SSL_SESSION_get_protocol_version(SSL_SESSION const   *s ) ;
extern int SSL_SESSION_set_protocol_version(SSL_SESSION *s , int version ) ;
extern char const   *SSL_SESSION_get0_hostname(SSL_SESSION const   *s ) ;
extern int SSL_SESSION_set1_hostname(SSL_SESSION *s , char const   *hostname ) ;
extern void SSL_SESSION_get0_alpn_selected(SSL_SESSION const   *s , unsigned char const   **alpn ,
                                           size_t *len ) ;
extern int SSL_SESSION_set1_alpn_selected(SSL_SESSION *s , unsigned char const   *alpn ,
                                          size_t len ) ;
extern SSL_CIPHER const   *SSL_SESSION_get0_cipher(SSL_SESSION const   *s ) ;
extern int SSL_SESSION_set_cipher(SSL_SESSION *s , SSL_CIPHER const   *cipher ) ;
extern int SSL_SESSION_has_ticket(SSL_SESSION const   *s ) ;
extern unsigned long SSL_SESSION_get_ticket_lifetime_hint(SSL_SESSION const   *s ) ;
extern void SSL_SESSION_get0_ticket(SSL_SESSION const   *s , unsigned char const   **tick ,
                                    size_t *len ) ;
extern uint32_t SSL_SESSION_get_max_early_data(SSL_SESSION const   *s ) ;
extern int SSL_SESSION_set_max_early_data(SSL_SESSION *s , uint32_t max_early_data ) ;
extern int SSL_copy_session_id(SSL *to , SSL const   *from ) ;
extern X509 *SSL_SESSION_get0_peer(SSL_SESSION *s ) ;
extern int SSL_SESSION_set1_id_context(SSL_SESSION *s , unsigned char const   *sid_ctx ,
                                       unsigned int sid_ctx_len ) ;
extern int SSL_SESSION_set1_id(SSL_SESSION *s , unsigned char const   *sid , unsigned int sid_len ) ;
extern int SSL_SESSION_is_resumable(SSL_SESSION const   *s ) ;
extern SSL_SESSION *SSL_SESSION_new(void) ;
extern SSL_SESSION *SSL_SESSION_dup(SSL_SESSION *src ) ;
extern unsigned char const   *SSL_SESSION_get_id(SSL_SESSION const   *s , unsigned int *len ) ;
extern unsigned char const   *SSL_SESSION_get0_id_context(SSL_SESSION const   *s ,
                                                          unsigned int *len ) ;
extern unsigned int SSL_SESSION_get_compress_id(SSL_SESSION const   *s ) ;
extern int SSL_SESSION_print_fp(FILE *fp , SSL_SESSION const   *ses ) ;
extern int SSL_SESSION_print(BIO *fp , SSL_SESSION const   *ses ) ;
extern int SSL_SESSION_print_keylog(BIO *bp , SSL_SESSION const   *x ) ;
extern int SSL_SESSION_up_ref(SSL_SESSION *ses ) ;
extern void SSL_SESSION_free(SSL_SESSION *ses ) ;
extern int i2d_SSL_SESSION(SSL_SESSION *in , unsigned char **pp ) ;
extern int SSL_set_session(SSL *to , SSL_SESSION *session ) ;
extern int SSL_CTX_add_session(SSL_CTX *ctx , SSL_SESSION *session ) ;
extern int SSL_CTX_remove_session(SSL_CTX *ctx , SSL_SESSION *session ) ;
extern int SSL_CTX_set_generate_session_id(SSL_CTX *ctx , int (*cb)(SSL *ssl , unsigned char *id ,
                                                                    unsigned int *id_len ) ) ;
extern int SSL_set_generate_session_id(SSL *s , int (*cb)(SSL *ssl , unsigned char *id ,
                                                          unsigned int *id_len ) ) ;
extern int SSL_has_matching_session_id(SSL const   *s , unsigned char const   *id ,
                                       unsigned int id_len ) ;
extern SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a , unsigned char const   **pp ,
                                    long length ) ;
extern X509 *SSL_get_peer_certificate(SSL const   *s ) ;
extern struct stack_st_X509 *SSL_get_peer_cert_chain(SSL const   *s ) ;
extern int SSL_CTX_get_verify_mode(SSL_CTX const   *ctx ) ;
extern int SSL_CTX_get_verify_depth(SSL_CTX const   *ctx ) ;
extern SSL_verify_cb SSL_CTX_get_verify_callback(SSL_CTX const   *ctx ) ;
extern void SSL_CTX_set_verify(SSL_CTX *ctx , int mode , int (*callback)(int preverify_ok ,
                                                                         X509_STORE_CTX *x509_ctx ) ) ;
extern void SSL_CTX_set_verify_depth(SSL_CTX *ctx , int depth ) ;
extern void SSL_CTX_set_cert_verify_callback(SSL_CTX *ctx , int (*cb)(X509_STORE_CTX * ,
                                                                      void * ) , void *arg ) ;
extern void SSL_CTX_set_cert_cb(SSL_CTX *c , int (*cb)(SSL *ssl , void *arg ) , void *arg ) ;
extern int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx , RSA *rsa ) ;
extern int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx , unsigned char const   *d ,
                                          long len ) ;
extern int SSL_CTX_use_PrivateKey(SSL_CTX *ctx , EVP_PKEY *pkey ) ;
extern int SSL_CTX_use_PrivateKey_ASN1(int pk , SSL_CTX *ctx , unsigned char const   *d ,
                                       long len ) ;
extern int SSL_CTX_use_certificate(SSL_CTX *ctx , X509 *x ) ;
extern int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx , int len , unsigned char const   *d ) ;
extern int SSL_CTX_use_cert_and_key(SSL_CTX *ctx , X509 *x509 , EVP_PKEY *privatekey ,
                                    struct stack_st_X509 *chain , int override ) ;
extern void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx , pem_password_cb *cb ) ;
extern void SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX *ctx , void *u ) ;
extern pem_password_cb *SSL_CTX_get_default_passwd_cb(SSL_CTX *ctx ) ;
extern void *SSL_CTX_get_default_passwd_cb_userdata(SSL_CTX *ctx ) ;
extern void SSL_set_default_passwd_cb(SSL *s , pem_password_cb *cb ) ;
extern void SSL_set_default_passwd_cb_userdata(SSL *s , void *u ) ;
extern pem_password_cb *SSL_get_default_passwd_cb(SSL *s ) ;
extern void *SSL_get_default_passwd_cb_userdata(SSL *s ) ;
extern int SSL_CTX_check_private_key(SSL_CTX const   *ctx ) ;
extern int SSL_check_private_key(SSL const   *ctx ) ;
extern int SSL_CTX_set_session_id_context(SSL_CTX *ctx , unsigned char const   *sid_ctx ,
                                          unsigned int sid_ctx_len ) ;
extern SSL *SSL_new(SSL_CTX *ctx ) ;
extern int SSL_up_ref(SSL *s ) ;
extern int SSL_is_dtls(SSL const   *s ) ;
extern int SSL_set_session_id_context(SSL *ssl , unsigned char const   *sid_ctx ,
                                      unsigned int sid_ctx_len ) ;
extern int SSL_CTX_set_purpose(SSL_CTX *ctx , int purpose ) ;
extern int SSL_set_purpose(SSL *ssl , int purpose ) ;
extern int SSL_CTX_set_trust(SSL_CTX *ctx , int trust ) ;
extern int SSL_set_trust(SSL *ssl , int trust ) ;
extern int SSL_set1_host(SSL *s , char const   *hostname ) ;
extern int SSL_add1_host(SSL *s , char const   *hostname ) ;
extern char const   *SSL_get0_peername(SSL *s ) ;
extern void SSL_set_hostflags(SSL *s , unsigned int flags ) ;
extern int SSL_CTX_dane_enable(SSL_CTX *ctx ) ;
extern int SSL_CTX_dane_mtype_set(SSL_CTX *ctx , EVP_MD const   *md , uint8_t mtype ,
                                  uint8_t ord ) ;
extern int SSL_dane_enable(SSL *s , char const   *basedomain ) ;
extern int SSL_dane_tlsa_add(SSL *s , uint8_t usage , uint8_t selector , uint8_t mtype ,
                             unsigned char const   *data , size_t dlen ) ;
extern int SSL_get0_dane_authority(SSL *s , X509 **mcert , EVP_PKEY **mspki ) ;
extern int SSL_get0_dane_tlsa(SSL *s , uint8_t *usage , uint8_t *selector , uint8_t *mtype ,
                              unsigned char const   **data , size_t *dlen ) ;
extern SSL_DANE *SSL_get0_dane(SSL *ssl ) ;
extern unsigned long SSL_CTX_dane_set_flags(SSL_CTX *ctx , unsigned long flags ) ;
extern unsigned long SSL_CTX_dane_clear_flags(SSL_CTX *ctx , unsigned long flags ) ;
extern unsigned long SSL_dane_set_flags(SSL *ssl , unsigned long flags ) ;
extern unsigned long SSL_dane_clear_flags(SSL *ssl , unsigned long flags ) ;
extern int SSL_CTX_set1_param(SSL_CTX *ctx , X509_VERIFY_PARAM *vpm ) ;
extern int SSL_set1_param(SSL *ssl , X509_VERIFY_PARAM *vpm ) ;
extern X509_VERIFY_PARAM *SSL_CTX_get0_param(SSL_CTX *ctx ) ;
extern X509_VERIFY_PARAM *SSL_get0_param(SSL *ssl ) ;
extern int SSL_CTX_set_srp_username(SSL_CTX *ctx , char *name ) ;
extern int SSL_CTX_set_srp_password(SSL_CTX *ctx , char *password ) ;
extern int SSL_CTX_set_srp_strength(SSL_CTX *ctx , int strength ) ;
extern int SSL_CTX_set_srp_client_pwd_callback(SSL_CTX *ctx , char *(*cb)(SSL * ,
                                                                          void * ) ) ;
extern int SSL_CTX_set_srp_verify_param_callback(SSL_CTX *ctx , int (*cb)(SSL * ,
                                                                          void * ) ) ;
extern int SSL_CTX_set_srp_username_callback(SSL_CTX *ctx , int (*cb)(SSL * , int * ,
                                                                      void * ) ) ;
extern int SSL_CTX_set_srp_cb_arg(SSL_CTX *ctx , void *arg ) ;
extern int SSL_set_srp_server_param(SSL *s , BIGNUM const   *N , BIGNUM const   *g ,
                                    BIGNUM *sa , BIGNUM *v , char *info ) ;
extern int SSL_set_srp_server_param_pw(SSL *s , char const   *user , char const   *pass ,
                                       char const   *grp ) ;
extern BIGNUM *SSL_get_srp_g(SSL *s ) ;
extern BIGNUM *SSL_get_srp_N(SSL *s ) ;
extern char *SSL_get_srp_username(SSL *s ) ;
extern char *SSL_get_srp_userinfo(SSL *s ) ;
extern void SSL_CTX_set_client_hello_cb(SSL_CTX *c , int (*cb)(SSL *s , int *al ,
                                                               void *arg ) , void *arg ) ;
extern int SSL_client_hello_isv2(SSL *s ) ;
extern unsigned int SSL_client_hello_get0_legacy_version(SSL *s ) ;
extern size_t SSL_client_hello_get0_random(SSL *s , unsigned char const   **out ) ;
extern size_t SSL_client_hello_get0_session_id(SSL *s , unsigned char const   **out ) ;
extern size_t SSL_client_hello_get0_ciphers(SSL *s , unsigned char const   **out ) ;
extern size_t SSL_client_hello_get0_compression_methods(SSL *s , unsigned char const   **out ) ;
extern int SSL_client_hello_get1_extensions_present(SSL *s , int **out , size_t *outlen ) ;
extern int SSL_client_hello_get0_ext(SSL *s , unsigned int type , unsigned char const   **out ,
                                     size_t *outlen ) ;
extern void SSL_certs_clear(SSL *s ) ;
extern void SSL_free(SSL *ssl ) ;
extern int SSL_waiting_for_async(SSL *s ) ;
extern int SSL_get_all_async_fds(SSL *s , int *fds , size_t *numfds ) ;
extern int SSL_get_changed_async_fds(SSL *s , int *addfd , size_t *numaddfds , int *delfd ,
                                     size_t *numdelfds ) ;
extern int SSL_accept(SSL *ssl ) ;
extern int SSL_stateless(SSL *s ) ;
extern int SSL_connect(SSL *ssl ) ;
extern int SSL_read(SSL *ssl , void *buf , int num ) ;
extern int SSL_read_ex(SSL *ssl , void *buf , size_t num , size_t *readbytes ) ;
extern int SSL_read_early_data(SSL *s , void *buf , size_t num , size_t *readbytes ) ;
extern int SSL_peek(SSL *ssl , void *buf , int num ) ;
extern int SSL_peek_ex(SSL *ssl , void *buf , size_t num , size_t *readbytes ) ;
extern int SSL_write(SSL *ssl , void const   *buf , int num ) ;
extern int SSL_write_ex(SSL *s , void const   *buf , size_t num , size_t *written ) ;
extern int SSL_write_early_data(SSL *s , void const   *buf , size_t num , size_t *written ) ;
extern long SSL_ctrl(SSL *ssl , int cmd , long larg , void *parg ) ;
extern long SSL_callback_ctrl(SSL * , int  , void (*)(void) ) ;
extern long SSL_CTX_ctrl(SSL_CTX *ctx , int cmd , long larg , void *parg ) ;
extern long SSL_CTX_callback_ctrl(SSL_CTX * , int  , void (*)(void) ) ;
extern int SSL_get_early_data_status(SSL const   *s ) ;
extern int SSL_get_error(SSL const   *s , int ret_code ) ;
extern char const   *SSL_get_version(SSL const   *s ) ;
extern int SSL_CTX_set_ssl_version(SSL_CTX *ctx , SSL_METHOD const   *meth ) ;
extern SSL_METHOD const   *TLS_method(void) ;
extern SSL_METHOD const   *TLS_server_method(void) ;
extern SSL_METHOD const   *TLS_client_method(void) ;
extern SSL_METHOD const   *TLSv1_method(void)  __attribute__((__deprecated__)) ;
extern SSL_METHOD const   *TLSv1_server_method(void)  __attribute__((__deprecated__)) ;
extern SSL_METHOD const   *TLSv1_client_method(void)  __attribute__((__deprecated__)) ;
extern SSL_METHOD const   *TLSv1_1_method(void)  __attribute__((__deprecated__)) ;
extern SSL_METHOD const   *TLSv1_1_server_method(void)  __attribute__((__deprecated__)) ;
extern SSL_METHOD const   *TLSv1_1_client_method(void)  __attribute__((__deprecated__)) ;
extern SSL_METHOD const   *TLSv1_2_method(void)  __attribute__((__deprecated__)) ;
extern SSL_METHOD const   *TLSv1_2_server_method(void)  __attribute__((__deprecated__)) ;
extern SSL_METHOD const   *TLSv1_2_client_method(void)  __attribute__((__deprecated__)) ;
extern SSL_METHOD const   *DTLSv1_method(void)  __attribute__((__deprecated__)) ;
extern SSL_METHOD const   *DTLSv1_server_method(void)  __attribute__((__deprecated__)) ;
extern SSL_METHOD const   *DTLSv1_client_method(void)  __attribute__((__deprecated__)) ;
extern SSL_METHOD const   *DTLSv1_2_method(void)  __attribute__((__deprecated__)) ;
extern SSL_METHOD const   *DTLSv1_2_server_method(void)  __attribute__((__deprecated__)) ;
extern SSL_METHOD const   *DTLSv1_2_client_method(void)  __attribute__((__deprecated__)) ;
extern SSL_METHOD const   *DTLS_method(void) ;
extern SSL_METHOD const   *DTLS_server_method(void) ;
extern SSL_METHOD const   *DTLS_client_method(void) ;
extern size_t DTLS_get_data_mtu(SSL const   *s ) ;
extern struct stack_st_SSL_CIPHER *SSL_get_ciphers(SSL const   *s ) ;
extern struct stack_st_SSL_CIPHER *SSL_CTX_get_ciphers(SSL_CTX const   *ctx ) ;
extern struct stack_st_SSL_CIPHER *SSL_get_client_ciphers(SSL const   *s ) ;
extern struct stack_st_SSL_CIPHER *SSL_get1_supported_ciphers(SSL *s ) ;
extern int SSL_do_handshake(SSL *s ) ;
extern int SSL_key_update(SSL *s , int updatetype ) ;
extern int SSL_get_key_update_type(SSL *s ) ;
extern int SSL_renegotiate(SSL *s ) ;
extern int SSL_renegotiate_abbreviated(SSL *s ) ;
extern int SSL_renegotiate_pending(SSL *s ) ;
extern int SSL_shutdown(SSL *s ) ;
extern int SSL_verify_client_post_handshake(SSL *s ) ;
extern void SSL_CTX_set_post_handshake_auth(SSL_CTX *ctx , int val ) ;
extern void SSL_set_post_handshake_auth(SSL *s , int val ) ;
extern SSL_METHOD const   *SSL_CTX_get_ssl_method(SSL_CTX *ctx ) ;
extern SSL_METHOD const   *SSL_get_ssl_method(SSL *s ) ;
extern int SSL_set_ssl_method(SSL *s , SSL_METHOD const   *method ) ;
extern char const   *SSL_alert_type_string_long(int value ) ;
extern char const   *SSL_alert_type_string(int value ) ;
extern char const   *SSL_alert_desc_string_long(int value ) ;
extern char const   *SSL_alert_desc_string(int value ) ;
extern void SSL_set0_CA_list(SSL *s , struct stack_st_X509_NAME *name_list ) ;
extern void SSL_CTX_set0_CA_list(SSL_CTX *ctx , struct stack_st_X509_NAME *name_list ) ;
extern struct stack_st_X509_NAME  const  *SSL_get0_CA_list(SSL const   *s ) ;
extern struct stack_st_X509_NAME  const  *SSL_CTX_get0_CA_list(SSL_CTX const   *ctx ) ;
extern int SSL_add1_to_CA_list(SSL *ssl , X509 const   *x ) ;
extern int SSL_CTX_add1_to_CA_list(SSL_CTX *ctx , X509 const   *x ) ;
extern struct stack_st_X509_NAME  const  *SSL_get0_peer_CA_list(SSL const   *s ) ;
extern void SSL_set_client_CA_list(SSL *s , struct stack_st_X509_NAME *name_list ) ;
extern void SSL_CTX_set_client_CA_list(SSL_CTX *ctx , struct stack_st_X509_NAME *name_list ) ;
extern struct stack_st_X509_NAME *SSL_get_client_CA_list(SSL const   *s ) ;
extern struct stack_st_X509_NAME *SSL_CTX_get_client_CA_list(SSL_CTX const   *s ) ;
extern int SSL_add_client_CA(SSL *ssl , X509 *x ) ;
extern int SSL_CTX_add_client_CA(SSL_CTX *ctx , X509 *x ) ;
extern void SSL_set_connect_state(SSL *s ) ;
extern void SSL_set_accept_state(SSL *s ) ;
extern long SSL_get_default_timeout(SSL const   *s ) ;
extern char *SSL_CIPHER_description(SSL_CIPHER const   * , char *buf , int size ) ;
extern struct stack_st_X509_NAME *SSL_dup_CA_list(struct stack_st_X509_NAME  const  *sk ) ;
extern SSL *SSL_dup(SSL *ssl ) ;
extern X509 *SSL_get_certificate(SSL const   *ssl ) ;
extern struct evp_pkey_st *SSL_get_privatekey(SSL const   *ssl ) ;
extern X509 *SSL_CTX_get0_certificate(SSL_CTX const   *ctx ) ;
extern EVP_PKEY *SSL_CTX_get0_privatekey(SSL_CTX const   *ctx ) ;
extern void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx , int mode ) ;
extern int SSL_CTX_get_quiet_shutdown(SSL_CTX const   *ctx ) ;
extern void SSL_set_quiet_shutdown(SSL *ssl , int mode ) ;
extern int SSL_get_quiet_shutdown(SSL const   *ssl ) ;
extern void SSL_set_shutdown(SSL *ssl , int mode ) ;
extern int SSL_get_shutdown(SSL const   *ssl ) ;
extern int SSL_version(SSL const   *ssl ) ;
extern int SSL_client_version(SSL const   *s ) ;
extern int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx ) ;
extern int SSL_CTX_set_default_verify_dir(SSL_CTX *ctx ) ;
extern int SSL_CTX_set_default_verify_file(SSL_CTX *ctx ) ;
extern int SSL_CTX_load_verify_locations(SSL_CTX *ctx , char const   *CAfile , char const   *CApath ) ;
extern SSL_SESSION *SSL_get_session(SSL const   *ssl ) ;
extern SSL_SESSION *SSL_get1_session(SSL *ssl ) ;
extern SSL_CTX *SSL_get_SSL_CTX(SSL const   *ssl ) ;
extern SSL_CTX *SSL_set_SSL_CTX(SSL *ssl , SSL_CTX *ctx ) ;
extern void SSL_set_info_callback(SSL *ssl , void (*cb)(SSL const   *ssl , int type ,
                                                        int val ) ) ;
extern void (*SSL_get_info_callback(SSL const   *ssl ))(SSL const   *ssl , int type ,
                                                        int val ) ;
extern OSSL_HANDSHAKE_STATE SSL_get_state(SSL const   *ssl ) ;
extern void SSL_set_verify_result(SSL *ssl , long v ) ;
extern long SSL_get_verify_result(SSL const   *ssl ) ;
extern struct stack_st_X509 *SSL_get0_verified_chain(SSL const   *s ) ;
extern size_t SSL_get_client_random(SSL const   *ssl , unsigned char *out , size_t outlen ) ;
extern size_t SSL_get_server_random(SSL const   *ssl , unsigned char *out , size_t outlen ) ;
extern size_t SSL_SESSION_get_master_key(SSL_SESSION const   *sess , unsigned char *out ,
                                         size_t outlen ) ;
extern int SSL_SESSION_set1_master_key(SSL_SESSION *sess , unsigned char const   *in ,
                                       size_t len ) ;
extern uint8_t SSL_SESSION_get_max_fragment_length(SSL_SESSION const   *sess ) ;
extern int SSL_set_ex_data(SSL *ssl , int idx , void *data ) ;
extern void *SSL_get_ex_data(SSL const   *ssl , int idx ) ;
extern int SSL_SESSION_set_ex_data(SSL_SESSION *ss , int idx , void *data ) ;
extern void *SSL_SESSION_get_ex_data(SSL_SESSION const   *ss , int idx ) ;
extern int SSL_CTX_set_ex_data(SSL_CTX *ssl , int idx , void *data ) ;
extern void *SSL_CTX_get_ex_data(SSL_CTX const   *ssl , int idx ) ;
extern int SSL_get_ex_data_X509_STORE_CTX_idx(void) ;
extern void SSL_CTX_set_default_read_buffer_len(SSL_CTX *ctx , size_t len ) ;
extern void SSL_set_default_read_buffer_len(SSL *s , size_t len ) ;
extern void SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx , DH *(*dh)(SSL *ssl , int is_export ,
                                                                 int keylength ) ) ;
extern void SSL_set_tmp_dh_callback(SSL *ssl , DH *(*dh)(SSL *ssl , int is_export ,
                                                         int keylength ) ) ;
extern COMP_METHOD const   *SSL_get_current_compression(SSL *s ) ;
extern COMP_METHOD const   *SSL_get_current_expansion(SSL *s ) ;
extern char const   *SSL_COMP_get_name(COMP_METHOD const   *comp ) ;
extern char const   *SSL_COMP_get0_name(SSL_COMP const   *comp ) ;
extern int SSL_COMP_get_id(SSL_COMP const   *comp ) ;
extern struct stack_st_SSL_COMP *SSL_COMP_get_compression_methods(void) ;
extern struct stack_st_SSL_COMP *SSL_COMP_set0_compression_methods(struct stack_st_SSL_COMP *meths ) ;
extern int SSL_COMP_add_compression_method(int id , COMP_METHOD *cm ) ;
extern SSL_CIPHER const   *SSL_CIPHER_find(SSL *ssl , unsigned char const   *ptr ) ;
extern int SSL_CIPHER_get_cipher_nid(SSL_CIPHER const   *c ) ;
extern int SSL_CIPHER_get_digest_nid(SSL_CIPHER const   *c ) ;
extern int SSL_bytes_to_cipher_list(SSL *s , unsigned char const   *bytes , size_t len ,
                                    int isv2format , struct stack_st_SSL_CIPHER **sk ,
                                    struct stack_st_SSL_CIPHER **scsvs ) ;
extern int SSL_set_session_ticket_ext(SSL *s , void *ext_data , int ext_len ) ;
extern int SSL_set_session_ticket_ext_cb(SSL *s , int (*cb)(SSL *s , unsigned char const   *data ,
                                                            int len , void *arg ) ,
                                         void *arg ) ;
extern int SSL_set_session_secret_cb(SSL *s , int (*session_secret_cb)(SSL *s , void *secret ,
                                                                       int *secret_len ,
                                                                       struct stack_st_SSL_CIPHER *peer_ciphers ,
                                                                       SSL_CIPHER const   **cipher ,
                                                                       void *arg ) ,
                                     void *arg ) ;
extern void SSL_CTX_set_not_resumable_session_callback(SSL_CTX *ctx , int (*cb)(SSL *ssl ,
                                                                                int is_forward_secure ) ) ;
extern void SSL_set_not_resumable_session_callback(SSL *ssl , int (*cb)(SSL *ssl ,
                                                                        int is_forward_secure ) ) ;
extern void SSL_CTX_set_record_padding_callback(SSL_CTX *ctx , size_t (*cb)(SSL *ssl ,
                                                                            int type ,
                                                                            size_t len ,
                                                                            void *arg ) ) ;
extern void SSL_CTX_set_record_padding_callback_arg(SSL_CTX *ctx , void *arg ) ;
extern void *SSL_CTX_get_record_padding_callback_arg(SSL_CTX *ctx ) ;
extern int SSL_CTX_set_block_padding(SSL_CTX *ctx , size_t block_size ) ;
extern void SSL_set_record_padding_callback(SSL *ssl , size_t (*cb)(SSL *ssl , int type ,
                                                                    size_t len , void *arg ) ) ;
extern void SSL_set_record_padding_callback_arg(SSL *ssl , void *arg ) ;
extern void *SSL_get_record_padding_callback_arg(SSL *ssl ) ;
extern int SSL_set_block_padding(SSL *ssl , size_t block_size ) ;
extern int SSL_set_num_tickets(SSL *s , size_t num_tickets ) ;
extern size_t SSL_get_num_tickets(SSL *s ) ;
extern int SSL_CTX_set_num_tickets(SSL_CTX *ctx , size_t num_tickets ) ;
extern size_t SSL_CTX_get_num_tickets(SSL_CTX *ctx ) ;
extern int SSL_session_reused(SSL *s ) ;
extern int SSL_is_server(SSL const   *s ) ;
extern SSL_CONF_CTX *SSL_CONF_CTX_new(void) ;
extern int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx ) ;
extern void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx ) ;
extern unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx , unsigned int flags ) ;
extern unsigned int SSL_CONF_CTX_clear_flags(SSL_CONF_CTX *cctx , unsigned int flags ) ;
extern int SSL_CONF_CTX_set1_prefix(SSL_CONF_CTX *cctx , char const   *pre ) ;
extern void SSL_CONF_CTX_set_ssl(SSL_CONF_CTX *cctx , SSL *ssl ) ;
extern void SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *cctx , SSL_CTX *ctx ) ;
extern int SSL_CONF_cmd(SSL_CONF_CTX *cctx , char const   *cmd , char const   *value ) ;
extern int SSL_CONF_cmd_argv(SSL_CONF_CTX *cctx , int *pargc , char ***pargv ) ;
extern int SSL_CONF_cmd_value_type(SSL_CONF_CTX *cctx , char const   *cmd ) ;
extern void SSL_add_ssl_module(void) ;
extern int SSL_config(SSL *s , char const   *name ) ;
extern int SSL_CTX_config(SSL_CTX *ctx , char const   *name ) ;
extern int DTLSv1_listen(SSL *s , BIO_ADDR *client ) ;
extern int SSL_set_ct_validation_callback(SSL *s , int (*callback)(CT_POLICY_EVAL_CTX const   *ctx ,
                                                                   struct stack_st_SCT  const  *scts ,
                                                                   void *arg ) , void *arg ) ;
extern int SSL_CTX_set_ct_validation_callback(SSL_CTX *ctx , int (*callback)(CT_POLICY_EVAL_CTX const   *ctx ,
                                                                             struct stack_st_SCT  const  *scts ,
                                                                             void *arg ) ,
                                              void *arg ) ;
extern int SSL_enable_ct(SSL *s , int validation_mode ) ;
extern int SSL_CTX_enable_ct(SSL_CTX *ctx , int validation_mode ) ;
extern int SSL_ct_is_enabled(SSL const   *s ) ;
extern int SSL_CTX_ct_is_enabled(SSL_CTX const   *ctx ) ;
extern struct stack_st_SCT  const  *SSL_get0_peer_scts(SSL *s ) ;
extern int SSL_CTX_set_default_ctlog_list_file(SSL_CTX *ctx ) ;
extern int SSL_CTX_set_ctlog_list_file(SSL_CTX *ctx , char const   *path ) ;
extern void SSL_CTX_set0_ctlog_store(SSL_CTX *ctx , CTLOG_STORE *logs ) ;
extern CTLOG_STORE const   *SSL_CTX_get0_ctlog_store(SSL_CTX const   *ctx ) ;
extern void SSL_set_security_level(SSL *s , int level ) ;
extern int SSL_get_security_level(SSL const   *s ) ;
extern void SSL_set_security_callback(SSL *s , int (*cb)(SSL const   *s , SSL_CTX const   *ctx ,
                                                         int op , int bits , int nid ,
                                                         void *other , void *ex ) ) ;
extern int (*SSL_get_security_callback(SSL const   *s ))(SSL const   *s , SSL_CTX const   *ctx ,
                                                         int op , int bits , int nid ,
                                                         void *other , void *ex ) ;
extern void SSL_set0_security_ex_data(SSL *s , void *ex ) ;
extern void *SSL_get0_security_ex_data(SSL const   *s ) ;
extern void SSL_CTX_set_security_level(SSL_CTX *ctx , int level ) ;
extern int SSL_CTX_get_security_level(SSL_CTX const   *ctx ) ;
extern void SSL_CTX_set_security_callback(SSL_CTX *ctx , int (*cb)(SSL const   *s ,
                                                                   SSL_CTX const   *ctx ,
                                                                   int op , int bits ,
                                                                   int nid , void *other ,
                                                                   void *ex ) ) ;
extern int (*SSL_CTX_get_security_callback(SSL_CTX const   *ctx ))(SSL const   *s ,
                                                                   SSL_CTX const   *ctx ,
                                                                   int op , int bits ,
                                                                   int nid , void *other ,
                                                                   void *ex ) ;
extern void SSL_CTX_set0_security_ex_data(SSL_CTX *ctx , void *ex ) ;
extern void *SSL_CTX_get0_security_ex_data(SSL_CTX const   *ctx ) ;
extern int OPENSSL_init_ssl(uint64_t opts , OPENSSL_INIT_SETTINGS const   *settings ) ;
extern struct openssl_ssl_test_functions  const  *SSL_test_functions(void) ;
extern int SSL_free_buffers(SSL *ssl ) ;
extern int SSL_alloc_buffers(SSL *ssl ) ;
extern int SSL_CTX_set_session_ticket_cb(SSL_CTX *ctx , int (*gen_cb)(SSL *s , void *arg ) ,
                                         SSL_TICKET_RETURN (*dec_cb)(SSL *s , SSL_SESSION *ss ,
                                                                     unsigned char const   *keyname ,
                                                                     size_t keyname_length ,
                                                                     SSL_TICKET_STATUS status ,
                                                                     void *arg ) ,
                                         void *arg ) ;
extern int SSL_SESSION_set1_ticket_appdata(SSL_SESSION *ss , void const   *data ,
                                           size_t len ) ;
extern int SSL_SESSION_get0_ticket_appdata(SSL_SESSION *ss , void **data , size_t *len ) ;
extern char const   SSL_version_str[] ;
extern void DTLS_set_timer_cb(SSL *s , unsigned int (*cb)(SSL *s , unsigned int timer_us ) ) ;
extern void SSL_CTX_set_allow_early_data_cb(SSL_CTX *ctx , int (*cb)(SSL *s , void *arg ) ,
                                            void *arg ) ;
extern void SSL_set_allow_early_data_cb(SSL *s , int (*cb)(SSL *s , void *arg ) ,
                                        void *arg ) ;
__inline static struct lhash_st_ERR_STRING_DATA *lh_ERR_STRING_DATA_new(unsigned long (*hfn)(ERR_STRING_DATA const   * ) ,
                                                                        int (*cfn)(ERR_STRING_DATA const   * ,
                                                                                   ERR_STRING_DATA const   * ) )
{
  OPENSSL_LHASH *tmp ;

  {
  tmp = OPENSSL_LH_new((unsigned long (*)(void const   * ))hfn, (int (*)(void const   * ,
                                                                         void const   * ))cfn);
  return ((struct lhash_st_ERR_STRING_DATA *)tmp);
}
}
__inline static void lh_ERR_STRING_DATA_free(struct lhash_st_ERR_STRING_DATA *lh )
{


  {
  OPENSSL_LH_free((OPENSSL_LHASH *)lh);
  return;
}
}
__inline static ERR_STRING_DATA *lh_ERR_STRING_DATA_insert(struct lhash_st_ERR_STRING_DATA *lh ,
                                                           ERR_STRING_DATA *d )
{
  void *tmp ;

  {
  tmp = OPENSSL_LH_insert((OPENSSL_LHASH *)lh, (void *)d);
  return ((ERR_STRING_DATA *)tmp);
}
}
__inline static ERR_STRING_DATA *lh_ERR_STRING_DATA_delete(struct lhash_st_ERR_STRING_DATA *lh ,
                                                           ERR_STRING_DATA const   *d )
{
  void *tmp ;

  {
  tmp = OPENSSL_LH_delete((OPENSSL_LHASH *)lh, (void const   *)d);
  return ((ERR_STRING_DATA *)tmp);
}
}
__inline static ERR_STRING_DATA *lh_ERR_STRING_DATA_retrieve(struct lhash_st_ERR_STRING_DATA *lh ,
                                                             ERR_STRING_DATA const   *d )
{
  void *tmp ;

  {
  tmp = OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, (void const   *)d);
  return ((ERR_STRING_DATA *)tmp);
}
}
__inline static int lh_ERR_STRING_DATA_error(struct lhash_st_ERR_STRING_DATA *lh )
{
  int tmp ;

  {
  tmp = OPENSSL_LH_error((OPENSSL_LHASH *)lh);
  return (tmp);
}
}
__inline static unsigned long lh_ERR_STRING_DATA_num_items(struct lhash_st_ERR_STRING_DATA *lh )
{
  unsigned long tmp ;

  {
  tmp = OPENSSL_LH_num_items((OPENSSL_LHASH const   *)((OPENSSL_LHASH *)lh));
  return (tmp);
}
}
__inline static void lh_ERR_STRING_DATA_node_stats_bio(struct lhash_st_ERR_STRING_DATA  const  *lh ,
                                                       BIO *out )
{


  {
  OPENSSL_LH_node_stats_bio((OPENSSL_LHASH const   *)lh, out);
  return;
}
}
__inline static void lh_ERR_STRING_DATA_node_usage_stats_bio(struct lhash_st_ERR_STRING_DATA  const  *lh ,
                                                             BIO *out )
{


  {
  OPENSSL_LH_node_usage_stats_bio((OPENSSL_LHASH const   *)lh, out);
  return;
}
}
__inline static void lh_ERR_STRING_DATA_stats_bio(struct lhash_st_ERR_STRING_DATA  const  *lh ,
                                                  BIO *out )
{


  {
  OPENSSL_LH_stats_bio((OPENSSL_LHASH const   *)lh, out);
  return;
}
}
__inline static unsigned long lh_ERR_STRING_DATA_get_down_load(struct lhash_st_ERR_STRING_DATA *lh )
{
  unsigned long tmp ;

  {
  tmp = OPENSSL_LH_get_down_load((OPENSSL_LHASH const   *)((OPENSSL_LHASH *)lh));
  return (tmp);
}
}
__inline static void lh_ERR_STRING_DATA_set_down_load(struct lhash_st_ERR_STRING_DATA *lh ,
                                                      unsigned long dl )
{


  {
  OPENSSL_LH_set_down_load((OPENSSL_LHASH *)lh, dl);
  return;
}
}
__inline static void lh_ERR_STRING_DATA_doall(struct lhash_st_ERR_STRING_DATA *lh ,
                                              void (*doall)(ERR_STRING_DATA * ) )
{


  {
  OPENSSL_LH_doall((OPENSSL_LHASH *)lh, (void (*)(void * ))doall);
  return;
}
}
extern void ERR_put_error(int lib , int func , int reason , char const   *file , int line ) ;
extern void ERR_set_error_data(char *data , int flags ) ;
extern unsigned long ERR_get_error(void) ;
extern unsigned long ERR_get_error_line(char const   **file , int *line ) ;
extern unsigned long ERR_get_error_line_data(char const   **file , int *line , char const   **data ,
                                             int *flags ) ;
extern unsigned long ERR_peek_error(void) ;
extern unsigned long ERR_peek_error_line(char const   **file , int *line ) ;
extern unsigned long ERR_peek_error_line_data(char const   **file , int *line , char const   **data ,
                                              int *flags ) ;
extern unsigned long ERR_peek_last_error(void) ;
extern unsigned long ERR_peek_last_error_line(char const   **file , int *line ) ;
extern unsigned long ERR_peek_last_error_line_data(char const   **file , int *line ,
                                                   char const   **data , int *flags ) ;
extern void ERR_clear_error(void) ;
extern char *ERR_error_string(unsigned long e , char *buf ) ;
extern void ERR_error_string_n(unsigned long e , char *buf , size_t len ) ;
extern char const   *ERR_lib_error_string(unsigned long e ) ;
extern char const   *ERR_func_error_string(unsigned long e ) ;
extern char const   *ERR_reason_error_string(unsigned long e ) ;
extern void ERR_print_errors_cb(int (*cb)(char const   *str , size_t len , void *u ) ,
                                void *u ) ;
extern void ERR_print_errors_fp(FILE *fp ) ;
extern void ERR_print_errors(BIO *bp ) ;
extern void ERR_add_error_data(int num  , ...) ;
extern void ERR_add_error_vdata(int num , va_list args ) ;
extern int ERR_load_strings(int lib , ERR_STRING_DATA *str ) ;
extern int ERR_load_strings_const(ERR_STRING_DATA const   *str ) ;
extern int ERR_unload_strings(int lib , ERR_STRING_DATA *str ) ;
extern int ERR_load_ERR_strings(void) ;
extern void ERR_remove_thread_state(void * )  __attribute__((__deprecated__)) ;
extern void ERR_remove_state(unsigned long pid )  __attribute__((__deprecated__)) ;
extern ERR_STATE *ERR_get_state(void) ;
extern int ERR_get_next_error_library(void) ;
extern int ERR_set_mark(void) ;
extern int ERR_pop_to_mark(void) ;
extern int ERR_clear_last_mark(void) ;
extern int ( __attribute__((__leaf__)) sysinfo)(struct sysinfo *__info )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) get_nprocs_conf)(void)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) get_nprocs)(void)  __attribute__((__nothrow__)) ;
extern long ( __attribute__((__leaf__)) get_phys_pages)(void)  __attribute__((__nothrow__)) ;
extern long ( __attribute__((__leaf__)) get_avphys_pages)(void)  __attribute__((__nothrow__)) ;
__inline static int noop_core_config(char const   *var , char const   *value , void *cb )
{


  {
  return (0);
}
}
int lstat_cache_aware_rmdir(char const   *path___6 ) ;
__inline static int git_has_dos_drive_prefix(char const   *path___6 )
{


  {
  return (0);
}
}
__inline static int git_skip_dos_drive_prefix(char **path___6 )
{


  {
  return (0);
}
}
__inline static int git_is_dir_sep(int c___0 )
{


  {
  return (c___0 == 47);
}
}
__inline static int git_offset_1st_component(char const   *path___6 )
{
  int tmp ;

  {
  tmp = git_is_dir_sep((int )*(path___6 + 0));
  return (tmp);
}
}
__inline static char *git_find_last_dir_sep(char const   *path___6 )
{
  char *tmp ;

  {
  tmp = strrchr(path___6, '/');
  return (tmp);
}
}
__inline static int git_has_dir_sep(char const   *path___6 )
{
  char *tmp ;
  int tmp___0 ;

  {
  tmp = strchr(path___6, '/');
  if (tmp) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
__inline static uint32_t default_swab32(uint32_t val )
{


  {
  return (((((val & 0xff000000) >> 24) | ((val & 16711680U) >> 8)) | ((val & 65280U) << 8)) | ((val & 255U) << 24));
}
}
__inline static uint64_t default_bswap64(uint64_t val )
{


  {
  return (((((((((val & 255UL) << 56) | ((val & 65280UL) << 40)) | ((val & 16711680UL) << 24)) | ((val & 4278190080UL) << 8)) | ((val & 1095216660480UL) >> 8)) | ((val & 280375465082880UL) >> 24)) | ((val & 71776119061217280UL) >> 40)) | ((val & 18374686479671623680UL) >> 56));
}
}
__inline static uint32_t git_bswap32(uint32_t x )
{
  uint32_t result___0 ;

  {
  __asm__  ("bswap %0": "=r" (result___0): "0" (x));
  return (result___0);
}
}
__inline static uint64_t git_bswap64(uint64_t x )
{
  uint64_t result___0 ;

  {
  __asm__  ("bswap %q0": "=r" (result___0): "0" (x));
  return (result___0);
}
}
__inline static uint16_t get_be16(void const   *ptr )
{
  unsigned char const   *p___0 ;

  {
  p___0 = (unsigned char const   *)ptr;
  return ((uint16_t )(((int )((uint16_t )*(p___0 + 0)) << 8) | (int )((uint16_t )*(p___0 + 1))));
}
}
__inline static uint32_t get_be32(void const   *ptr )
{
  unsigned char const   *p___0 ;

  {
  p___0 = (unsigned char const   *)ptr;
  return (((((uint32_t )*(p___0 + 0) << 24) | ((uint32_t )*(p___0 + 1) << 16)) | ((uint32_t )*(p___0 + 2) << 8)) | (uint32_t )*(p___0 + 3));
}
}
__inline static uint64_t get_be64(void const   *ptr )
{
  unsigned char const   *p___0 ;
  uint32_t tmp ;
  uint32_t tmp___0 ;

  {
  p___0 = (unsigned char const   *)ptr;
  tmp = get_be32((void const   *)(p___0 + 0));
  tmp___0 = get_be32((void const   *)(p___0 + 4));
  return (((uint64_t )tmp << 32) | (uint64_t )tmp___0);
}
}
__inline static void put_be32(void *ptr , uint32_t value )
{
  unsigned char *p___0 ;

  {
  p___0 = (unsigned char *)ptr;
  *(p___0 + 0) = (unsigned char )(value >> 24);
  *(p___0 + 1) = (unsigned char )(value >> 16);
  *(p___0 + 2) = (unsigned char )(value >> 8);
  *(p___0 + 3) = (unsigned char )value;
  return;
}
}
__inline static void put_be64(void *ptr , uint64_t value )
{
  unsigned char *p___0 ;

  {
  p___0 = (unsigned char *)ptr;
  *(p___0 + 0) = (unsigned char )(value >> 56);
  *(p___0 + 1) = (unsigned char )(value >> 48);
  *(p___0 + 2) = (unsigned char )(value >> 40);
  *(p___0 + 3) = (unsigned char )(value >> 32);
  *(p___0 + 4) = (unsigned char )(value >> 24);
  *(p___0 + 5) = (unsigned char )(value >> 16);
  *(p___0 + 6) = (unsigned char )(value >> 8);
  *(p___0 + 7) = (unsigned char )value;
  return;
}
}
int wildmatch(char const   *pattern___0 , char const   *text , unsigned int flags___0 ) ;
void usage(char const   *err___4 )  __attribute__((__noreturn__)) ;
void ( /* format attribute */  usagef)(char const   *err___4  , ...)  __attribute__((__noreturn__)) ;
void ( /* format attribute */  die)(char const   *err___4  , ...)  __attribute__((__noreturn__)) ;
void ( /* format attribute */  die_errno)(char const   *fmt  , ...)  __attribute__((__noreturn__)) ;
int ( /* format attribute */  die_message)(char const   *err___4  , ...) ;
int ( /* format attribute */  die_message_errno)(char const   *fmt  , ...) ;
int ( /* format attribute */  error)(char const   *err___4  , ...) ;
int ( /* format attribute */  error_errno)(char const   *fmt  , ...) ;
void ( /* format attribute */  warning)(char const   *warn  , ...) ;
void ( /* format attribute */  warning_errno)(char const   *warn  , ...) ;
extern int ERR_load_CONF_strings(void) ;
__inline static int sk_CONF_VALUE_num(struct stack_st_CONF_VALUE  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static CONF_VALUE *sk_CONF_VALUE_value(struct stack_st_CONF_VALUE  const  *sk ,
                                                int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((CONF_VALUE *)tmp);
}
}
__inline static struct stack_st_CONF_VALUE *sk_CONF_VALUE_new(int (*compare___1)(CONF_VALUE const   **a ,
                                                                                 CONF_VALUE const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_CONF_VALUE *)tmp);
}
}
__inline static struct stack_st_CONF_VALUE *sk_CONF_VALUE_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_CONF_VALUE *)tmp);
}
}
__inline static struct stack_st_CONF_VALUE *sk_CONF_VALUE_new_reserve(int (*compare___1)(CONF_VALUE const   **a ,
                                                                                         CONF_VALUE const   **b ) ,
                                                                      int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_CONF_VALUE *)tmp);
}
}
__inline static int sk_CONF_VALUE_reserve(struct stack_st_CONF_VALUE *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_CONF_VALUE_free(struct stack_st_CONF_VALUE *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_CONF_VALUE_zero(struct stack_st_CONF_VALUE *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static CONF_VALUE *sk_CONF_VALUE_delete(struct stack_st_CONF_VALUE *sk ,
                                                 int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((CONF_VALUE *)tmp);
}
}
__inline static CONF_VALUE *sk_CONF_VALUE_delete_ptr(struct stack_st_CONF_VALUE *sk ,
                                                     CONF_VALUE *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((CONF_VALUE *)tmp);
}
}
__inline static int sk_CONF_VALUE_push(struct stack_st_CONF_VALUE *sk , CONF_VALUE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_CONF_VALUE_unshift(struct stack_st_CONF_VALUE *sk , CONF_VALUE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static CONF_VALUE *sk_CONF_VALUE_pop(struct stack_st_CONF_VALUE *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((CONF_VALUE *)tmp);
}
}
__inline static CONF_VALUE *sk_CONF_VALUE_shift(struct stack_st_CONF_VALUE *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((CONF_VALUE *)tmp);
}
}
__inline static void sk_CONF_VALUE_pop_free(struct stack_st_CONF_VALUE *sk , void (*freefunc)(CONF_VALUE *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_CONF_VALUE_insert(struct stack_st_CONF_VALUE *sk , CONF_VALUE *ptr ,
                                         int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static CONF_VALUE *sk_CONF_VALUE_set(struct stack_st_CONF_VALUE *sk , int idx___0 ,
                                              CONF_VALUE *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((CONF_VALUE *)tmp);
}
}
__inline static int sk_CONF_VALUE_find(struct stack_st_CONF_VALUE *sk , CONF_VALUE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_CONF_VALUE_find_ex(struct stack_st_CONF_VALUE *sk , CONF_VALUE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_CONF_VALUE_sort(struct stack_st_CONF_VALUE *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_CONF_VALUE_is_sorted(struct stack_st_CONF_VALUE  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_CONF_VALUE *sk_CONF_VALUE_dup(struct stack_st_CONF_VALUE  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_CONF_VALUE *)tmp);
}
}
__inline static struct stack_st_CONF_VALUE *sk_CONF_VALUE_deep_copy(struct stack_st_CONF_VALUE  const  *sk ,
                                                                    CONF_VALUE *(*copyfunc)(CONF_VALUE const   *a ) ,
                                                                    void (*freefunc)(CONF_VALUE *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_CONF_VALUE *)tmp);
}
}
__inline static sk_CONF_VALUE_compfunc sk_CONF_VALUE_set_cmp_func(struct stack_st_CONF_VALUE *sk ,
                                                                  int (*compare___1)(CONF_VALUE const   **a ,
                                                                                     CONF_VALUE const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(CONF_VALUE const   **a , CONF_VALUE const   **b ))tmp);
}
}
__inline static struct lhash_st_CONF_VALUE *lh_CONF_VALUE_new(unsigned long (*hfn)(CONF_VALUE const   * ) ,
                                                              int (*cfn)(CONF_VALUE const   * ,
                                                                         CONF_VALUE const   * ) )
{
  OPENSSL_LHASH *tmp ;

  {
  tmp = OPENSSL_LH_new((unsigned long (*)(void const   * ))hfn, (int (*)(void const   * ,
                                                                         void const   * ))cfn);
  return ((struct lhash_st_CONF_VALUE *)tmp);
}
}
__inline static void lh_CONF_VALUE_free(struct lhash_st_CONF_VALUE *lh )
{


  {
  OPENSSL_LH_free((OPENSSL_LHASH *)lh);
  return;
}
}
__inline static CONF_VALUE *lh_CONF_VALUE_insert(struct lhash_st_CONF_VALUE *lh ,
                                                 CONF_VALUE *d )
{
  void *tmp ;

  {
  tmp = OPENSSL_LH_insert((OPENSSL_LHASH *)lh, (void *)d);
  return ((CONF_VALUE *)tmp);
}
}
__inline static CONF_VALUE *lh_CONF_VALUE_delete(struct lhash_st_CONF_VALUE *lh ,
                                                 CONF_VALUE const   *d )
{
  void *tmp ;

  {
  tmp = OPENSSL_LH_delete((OPENSSL_LHASH *)lh, (void const   *)d);
  return ((CONF_VALUE *)tmp);
}
}
__inline static CONF_VALUE *lh_CONF_VALUE_retrieve(struct lhash_st_CONF_VALUE *lh ,
                                                   CONF_VALUE const   *d )
{
  void *tmp ;

  {
  tmp = OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, (void const   *)d);
  return ((CONF_VALUE *)tmp);
}
}
__inline static int lh_CONF_VALUE_error(struct lhash_st_CONF_VALUE *lh )
{
  int tmp ;

  {
  tmp = OPENSSL_LH_error((OPENSSL_LHASH *)lh);
  return (tmp);
}
}
__inline static unsigned long lh_CONF_VALUE_num_items(struct lhash_st_CONF_VALUE *lh )
{
  unsigned long tmp ;

  {
  tmp = OPENSSL_LH_num_items((OPENSSL_LHASH const   *)((OPENSSL_LHASH *)lh));
  return (tmp);
}
}
__inline static void lh_CONF_VALUE_node_stats_bio(struct lhash_st_CONF_VALUE  const  *lh ,
                                                  BIO *out )
{


  {
  OPENSSL_LH_node_stats_bio((OPENSSL_LHASH const   *)lh, out);
  return;
}
}
__inline static void lh_CONF_VALUE_node_usage_stats_bio(struct lhash_st_CONF_VALUE  const  *lh ,
                                                        BIO *out )
{


  {
  OPENSSL_LH_node_usage_stats_bio((OPENSSL_LHASH const   *)lh, out);
  return;
}
}
__inline static void lh_CONF_VALUE_stats_bio(struct lhash_st_CONF_VALUE  const  *lh ,
                                             BIO *out )
{


  {
  OPENSSL_LH_stats_bio((OPENSSL_LHASH const   *)lh, out);
  return;
}
}
__inline static unsigned long lh_CONF_VALUE_get_down_load(struct lhash_st_CONF_VALUE *lh )
{
  unsigned long tmp ;

  {
  tmp = OPENSSL_LH_get_down_load((OPENSSL_LHASH const   *)((OPENSSL_LHASH *)lh));
  return (tmp);
}
}
__inline static void lh_CONF_VALUE_set_down_load(struct lhash_st_CONF_VALUE *lh ,
                                                 unsigned long dl )
{


  {
  OPENSSL_LH_set_down_load((OPENSSL_LHASH *)lh, dl);
  return;
}
}
__inline static void lh_CONF_VALUE_doall(struct lhash_st_CONF_VALUE *lh , void (*doall)(CONF_VALUE * ) )
{


  {
  OPENSSL_LH_doall((OPENSSL_LHASH *)lh, (void (*)(void * ))doall);
  return;
}
}
__inline static int sk_CONF_MODULE_num(struct stack_st_CONF_MODULE  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static CONF_MODULE *sk_CONF_MODULE_value(struct stack_st_CONF_MODULE  const  *sk ,
                                                  int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((CONF_MODULE *)tmp);
}
}
__inline static struct stack_st_CONF_MODULE *sk_CONF_MODULE_new(int (*compare___1)(CONF_MODULE const   **a ,
                                                                                   CONF_MODULE const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_CONF_MODULE *)tmp);
}
}
__inline static struct stack_st_CONF_MODULE *sk_CONF_MODULE_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_CONF_MODULE *)tmp);
}
}
__inline static struct stack_st_CONF_MODULE *sk_CONF_MODULE_new_reserve(int (*compare___1)(CONF_MODULE const   **a ,
                                                                                           CONF_MODULE const   **b ) ,
                                                                        int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_CONF_MODULE *)tmp);
}
}
__inline static int sk_CONF_MODULE_reserve(struct stack_st_CONF_MODULE *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_CONF_MODULE_free(struct stack_st_CONF_MODULE *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_CONF_MODULE_zero(struct stack_st_CONF_MODULE *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static CONF_MODULE *sk_CONF_MODULE_delete(struct stack_st_CONF_MODULE *sk ,
                                                   int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((CONF_MODULE *)tmp);
}
}
__inline static CONF_MODULE *sk_CONF_MODULE_delete_ptr(struct stack_st_CONF_MODULE *sk ,
                                                       CONF_MODULE *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((CONF_MODULE *)tmp);
}
}
__inline static int sk_CONF_MODULE_push(struct stack_st_CONF_MODULE *sk , CONF_MODULE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_CONF_MODULE_unshift(struct stack_st_CONF_MODULE *sk , CONF_MODULE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static CONF_MODULE *sk_CONF_MODULE_pop(struct stack_st_CONF_MODULE *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((CONF_MODULE *)tmp);
}
}
__inline static CONF_MODULE *sk_CONF_MODULE_shift(struct stack_st_CONF_MODULE *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((CONF_MODULE *)tmp);
}
}
__inline static void sk_CONF_MODULE_pop_free(struct stack_st_CONF_MODULE *sk , void (*freefunc)(CONF_MODULE *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_CONF_MODULE_insert(struct stack_st_CONF_MODULE *sk , CONF_MODULE *ptr ,
                                          int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static CONF_MODULE *sk_CONF_MODULE_set(struct stack_st_CONF_MODULE *sk ,
                                                int idx___0 , CONF_MODULE *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((CONF_MODULE *)tmp);
}
}
__inline static int sk_CONF_MODULE_find(struct stack_st_CONF_MODULE *sk , CONF_MODULE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_CONF_MODULE_find_ex(struct stack_st_CONF_MODULE *sk , CONF_MODULE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_CONF_MODULE_sort(struct stack_st_CONF_MODULE *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_CONF_MODULE_is_sorted(struct stack_st_CONF_MODULE  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_CONF_MODULE *sk_CONF_MODULE_dup(struct stack_st_CONF_MODULE  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_CONF_MODULE *)tmp);
}
}
__inline static struct stack_st_CONF_MODULE *sk_CONF_MODULE_deep_copy(struct stack_st_CONF_MODULE  const  *sk ,
                                                                      CONF_MODULE *(*copyfunc)(CONF_MODULE const   *a ) ,
                                                                      void (*freefunc)(CONF_MODULE *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_CONF_MODULE *)tmp);
}
}
__inline static sk_CONF_MODULE_compfunc sk_CONF_MODULE_set_cmp_func(struct stack_st_CONF_MODULE *sk ,
                                                                    int (*compare___1)(CONF_MODULE const   **a ,
                                                                                       CONF_MODULE const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(CONF_MODULE const   **a , CONF_MODULE const   **b ))tmp);
}
}
__inline static int sk_CONF_IMODULE_num(struct stack_st_CONF_IMODULE  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static CONF_IMODULE *sk_CONF_IMODULE_value(struct stack_st_CONF_IMODULE  const  *sk ,
                                                    int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((CONF_IMODULE *)tmp);
}
}
__inline static struct stack_st_CONF_IMODULE *sk_CONF_IMODULE_new(int (*compare___1)(CONF_IMODULE const   **a ,
                                                                                     CONF_IMODULE const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_CONF_IMODULE *)tmp);
}
}
__inline static struct stack_st_CONF_IMODULE *sk_CONF_IMODULE_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_CONF_IMODULE *)tmp);
}
}
__inline static struct stack_st_CONF_IMODULE *sk_CONF_IMODULE_new_reserve(int (*compare___1)(CONF_IMODULE const   **a ,
                                                                                             CONF_IMODULE const   **b ) ,
                                                                          int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_CONF_IMODULE *)tmp);
}
}
__inline static int sk_CONF_IMODULE_reserve(struct stack_st_CONF_IMODULE *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_CONF_IMODULE_free(struct stack_st_CONF_IMODULE *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_CONF_IMODULE_zero(struct stack_st_CONF_IMODULE *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static CONF_IMODULE *sk_CONF_IMODULE_delete(struct stack_st_CONF_IMODULE *sk ,
                                                     int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((CONF_IMODULE *)tmp);
}
}
__inline static CONF_IMODULE *sk_CONF_IMODULE_delete_ptr(struct stack_st_CONF_IMODULE *sk ,
                                                         CONF_IMODULE *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((CONF_IMODULE *)tmp);
}
}
__inline static int sk_CONF_IMODULE_push(struct stack_st_CONF_IMODULE *sk , CONF_IMODULE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_CONF_IMODULE_unshift(struct stack_st_CONF_IMODULE *sk , CONF_IMODULE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static CONF_IMODULE *sk_CONF_IMODULE_pop(struct stack_st_CONF_IMODULE *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((CONF_IMODULE *)tmp);
}
}
__inline static CONF_IMODULE *sk_CONF_IMODULE_shift(struct stack_st_CONF_IMODULE *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((CONF_IMODULE *)tmp);
}
}
__inline static void sk_CONF_IMODULE_pop_free(struct stack_st_CONF_IMODULE *sk , void (*freefunc)(CONF_IMODULE *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_CONF_IMODULE_insert(struct stack_st_CONF_IMODULE *sk , CONF_IMODULE *ptr ,
                                           int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static CONF_IMODULE *sk_CONF_IMODULE_set(struct stack_st_CONF_IMODULE *sk ,
                                                  int idx___0 , CONF_IMODULE *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((CONF_IMODULE *)tmp);
}
}
__inline static int sk_CONF_IMODULE_find(struct stack_st_CONF_IMODULE *sk , CONF_IMODULE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_CONF_IMODULE_find_ex(struct stack_st_CONF_IMODULE *sk , CONF_IMODULE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_CONF_IMODULE_sort(struct stack_st_CONF_IMODULE *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_CONF_IMODULE_is_sorted(struct stack_st_CONF_IMODULE  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_CONF_IMODULE *sk_CONF_IMODULE_dup(struct stack_st_CONF_IMODULE  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_CONF_IMODULE *)tmp);
}
}
__inline static struct stack_st_CONF_IMODULE *sk_CONF_IMODULE_deep_copy(struct stack_st_CONF_IMODULE  const  *sk ,
                                                                        CONF_IMODULE *(*copyfunc)(CONF_IMODULE const   *a ) ,
                                                                        void (*freefunc)(CONF_IMODULE *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_CONF_IMODULE *)tmp);
}
}
__inline static sk_CONF_IMODULE_compfunc sk_CONF_IMODULE_set_cmp_func(struct stack_st_CONF_IMODULE *sk ,
                                                                      int (*compare___1)(CONF_IMODULE const   **a ,
                                                                                         CONF_IMODULE const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(CONF_IMODULE const   **a , CONF_IMODULE const   **b ))tmp);
}
}
extern int CONF_set_default_method(CONF_METHOD *meth ) ;
extern void CONF_set_nconf(CONF *conf , struct lhash_st_CONF_VALUE *hash ) ;
extern struct lhash_st_CONF_VALUE *CONF_load(struct lhash_st_CONF_VALUE *conf , char const   *file ,
                                             long *eline ) ;
extern struct lhash_st_CONF_VALUE *CONF_load_fp(struct lhash_st_CONF_VALUE *conf ,
                                                FILE *fp , long *eline ) ;
extern struct lhash_st_CONF_VALUE *CONF_load_bio(struct lhash_st_CONF_VALUE *conf ,
                                                 BIO *bp , long *eline ) ;
extern struct stack_st_CONF_VALUE *CONF_get_section(struct lhash_st_CONF_VALUE *conf ,
                                                    char const   *section ) ;
extern char *CONF_get_string(struct lhash_st_CONF_VALUE *conf , char const   *group ,
                             char const   *name ) ;
extern long CONF_get_number(struct lhash_st_CONF_VALUE *conf , char const   *group ,
                            char const   *name ) ;
extern void CONF_free(struct lhash_st_CONF_VALUE *conf ) ;
extern int CONF_dump_fp(struct lhash_st_CONF_VALUE *conf , FILE *out ) ;
extern int CONF_dump_bio(struct lhash_st_CONF_VALUE *conf , BIO *out ) ;
extern void OPENSSL_config(char const   *config_name )  __attribute__((__deprecated__)) ;
extern CONF *NCONF_new(CONF_METHOD *meth ) ;
extern CONF_METHOD *NCONF_default(void) ;
extern CONF_METHOD *NCONF_WIN32(void) ;
extern void NCONF_free(CONF *conf ) ;
extern void NCONF_free_data(CONF *conf ) ;
extern int NCONF_load(CONF *conf , char const   *file , long *eline ) ;
extern int NCONF_load_fp(CONF *conf , FILE *fp , long *eline ) ;
extern int NCONF_load_bio(CONF *conf , BIO *bp , long *eline ) ;
extern struct stack_st_CONF_VALUE *NCONF_get_section(CONF const   *conf , char const   *section ) ;
extern char *NCONF_get_string(CONF const   *conf , char const   *group , char const   *name ) ;
extern int NCONF_get_number_e(CONF const   *conf , char const   *group , char const   *name ,
                              long *result ) ;
extern int NCONF_dump_fp(CONF const   *conf , FILE *out ) ;
extern int NCONF_dump_bio(CONF const   *conf , BIO *out ) ;
extern int CONF_modules_load(CONF const   *cnf , char const   *appname , unsigned long flags ) ;
extern int CONF_modules_load_file(char const   *filename , char const   *appname ,
                                  unsigned long flags ) ;
extern void CONF_modules_unload(int all ) ;
extern void CONF_modules_finish(void) ;
extern int CONF_module_add(char const   *name , conf_init_func *ifunc , conf_finish_func *ffunc ) ;
extern char const   *CONF_imodule_get_name(CONF_IMODULE const   *md ) ;
extern char const   *CONF_imodule_get_value(CONF_IMODULE const   *md ) ;
extern void *CONF_imodule_get_usr_data(CONF_IMODULE const   *md ) ;
extern void CONF_imodule_set_usr_data(CONF_IMODULE *md , void *usr_data ) ;
extern CONF_MODULE *CONF_imodule_get_module(CONF_IMODULE const   *md ) ;
extern unsigned long CONF_imodule_get_flags(CONF_IMODULE const   *md ) ;
extern void CONF_imodule_set_flags(CONF_IMODULE *md , unsigned long flags ) ;
extern void *CONF_module_get_usr_data(CONF_MODULE *pmod ) ;
extern void CONF_module_set_usr_data(CONF_MODULE *pmod , void *usr_data ) ;
extern char *CONF_get1_default_config_file(void) ;
extern int CONF_parse_list(char const   *list , int sep , int nospc , int (*list_cb)(char const   *elem ,
                                                                                     int len ,
                                                                                     void *usr ) ,
                           void *arg ) ;
extern void OPENSSL_load_builtin_modules(void) ;
extern int ERR_load_X509V3_strings(void) ;
__inline static int sk_X509V3_EXT_METHOD_num(struct stack_st_X509V3_EXT_METHOD  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static X509V3_EXT_METHOD *sk_X509V3_EXT_METHOD_value(struct stack_st_X509V3_EXT_METHOD  const  *sk ,
                                                              int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((X509V3_EXT_METHOD *)tmp);
}
}
__inline static struct stack_st_X509V3_EXT_METHOD *sk_X509V3_EXT_METHOD_new(int (*compare___1)(X509V3_EXT_METHOD const   **a ,
                                                                                               X509V3_EXT_METHOD const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_X509V3_EXT_METHOD *)tmp);
}
}
__inline static struct stack_st_X509V3_EXT_METHOD *sk_X509V3_EXT_METHOD_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_X509V3_EXT_METHOD *)tmp);
}
}
__inline static struct stack_st_X509V3_EXT_METHOD *sk_X509V3_EXT_METHOD_new_reserve(int (*compare___1)(X509V3_EXT_METHOD const   **a ,
                                                                                                       X509V3_EXT_METHOD const   **b ) ,
                                                                                    int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_X509V3_EXT_METHOD *)tmp);
}
}
__inline static int sk_X509V3_EXT_METHOD_reserve(struct stack_st_X509V3_EXT_METHOD *sk ,
                                                 int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_X509V3_EXT_METHOD_free(struct stack_st_X509V3_EXT_METHOD *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_X509V3_EXT_METHOD_zero(struct stack_st_X509V3_EXT_METHOD *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static X509V3_EXT_METHOD *sk_X509V3_EXT_METHOD_delete(struct stack_st_X509V3_EXT_METHOD *sk ,
                                                               int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((X509V3_EXT_METHOD *)tmp);
}
}
__inline static X509V3_EXT_METHOD *sk_X509V3_EXT_METHOD_delete_ptr(struct stack_st_X509V3_EXT_METHOD *sk ,
                                                                   X509V3_EXT_METHOD *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((X509V3_EXT_METHOD *)tmp);
}
}
__inline static int sk_X509V3_EXT_METHOD_push(struct stack_st_X509V3_EXT_METHOD *sk ,
                                              X509V3_EXT_METHOD *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509V3_EXT_METHOD_unshift(struct stack_st_X509V3_EXT_METHOD *sk ,
                                                 X509V3_EXT_METHOD *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static X509V3_EXT_METHOD *sk_X509V3_EXT_METHOD_pop(struct stack_st_X509V3_EXT_METHOD *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((X509V3_EXT_METHOD *)tmp);
}
}
__inline static X509V3_EXT_METHOD *sk_X509V3_EXT_METHOD_shift(struct stack_st_X509V3_EXT_METHOD *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((X509V3_EXT_METHOD *)tmp);
}
}
__inline static void sk_X509V3_EXT_METHOD_pop_free(struct stack_st_X509V3_EXT_METHOD *sk ,
                                                   void (*freefunc)(X509V3_EXT_METHOD *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_X509V3_EXT_METHOD_insert(struct stack_st_X509V3_EXT_METHOD *sk ,
                                                X509V3_EXT_METHOD *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static X509V3_EXT_METHOD *sk_X509V3_EXT_METHOD_set(struct stack_st_X509V3_EXT_METHOD *sk ,
                                                            int idx___0 , X509V3_EXT_METHOD *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((X509V3_EXT_METHOD *)tmp);
}
}
__inline static int sk_X509V3_EXT_METHOD_find(struct stack_st_X509V3_EXT_METHOD *sk ,
                                              X509V3_EXT_METHOD *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509V3_EXT_METHOD_find_ex(struct stack_st_X509V3_EXT_METHOD *sk ,
                                                 X509V3_EXT_METHOD *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_X509V3_EXT_METHOD_sort(struct stack_st_X509V3_EXT_METHOD *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_X509V3_EXT_METHOD_is_sorted(struct stack_st_X509V3_EXT_METHOD  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_X509V3_EXT_METHOD *sk_X509V3_EXT_METHOD_dup(struct stack_st_X509V3_EXT_METHOD  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_X509V3_EXT_METHOD *)tmp);
}
}
__inline static struct stack_st_X509V3_EXT_METHOD *sk_X509V3_EXT_METHOD_deep_copy(struct stack_st_X509V3_EXT_METHOD  const  *sk ,
                                                                                  X509V3_EXT_METHOD *(*copyfunc)(X509V3_EXT_METHOD const   *a ) ,
                                                                                  void (*freefunc)(X509V3_EXT_METHOD *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_X509V3_EXT_METHOD *)tmp);
}
}
__inline static sk_X509V3_EXT_METHOD_compfunc sk_X509V3_EXT_METHOD_set_cmp_func(struct stack_st_X509V3_EXT_METHOD *sk ,
                                                                                int (*compare___1)(X509V3_EXT_METHOD const   **a ,
                                                                                                   X509V3_EXT_METHOD const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(X509V3_EXT_METHOD const   **a , X509V3_EXT_METHOD const   **b ))tmp);
}
}
__inline static int sk_GENERAL_NAME_num(struct stack_st_GENERAL_NAME  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static GENERAL_NAME *sk_GENERAL_NAME_value(struct stack_st_GENERAL_NAME  const  *sk ,
                                                    int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((GENERAL_NAME *)tmp);
}
}
__inline static struct stack_st_GENERAL_NAME *sk_GENERAL_NAME_new(int (*compare___1)(GENERAL_NAME const   **a ,
                                                                                     GENERAL_NAME const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_GENERAL_NAME *)tmp);
}
}
__inline static struct stack_st_GENERAL_NAME *sk_GENERAL_NAME_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_GENERAL_NAME *)tmp);
}
}
__inline static struct stack_st_GENERAL_NAME *sk_GENERAL_NAME_new_reserve(int (*compare___1)(GENERAL_NAME const   **a ,
                                                                                             GENERAL_NAME const   **b ) ,
                                                                          int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_GENERAL_NAME *)tmp);
}
}
__inline static int sk_GENERAL_NAME_reserve(struct stack_st_GENERAL_NAME *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_GENERAL_NAME_free(struct stack_st_GENERAL_NAME *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_GENERAL_NAME_zero(struct stack_st_GENERAL_NAME *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static GENERAL_NAME *sk_GENERAL_NAME_delete(struct stack_st_GENERAL_NAME *sk ,
                                                     int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((GENERAL_NAME *)tmp);
}
}
__inline static GENERAL_NAME *sk_GENERAL_NAME_delete_ptr(struct stack_st_GENERAL_NAME *sk ,
                                                         GENERAL_NAME *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((GENERAL_NAME *)tmp);
}
}
__inline static int sk_GENERAL_NAME_push(struct stack_st_GENERAL_NAME *sk , GENERAL_NAME *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_GENERAL_NAME_unshift(struct stack_st_GENERAL_NAME *sk , GENERAL_NAME *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static GENERAL_NAME *sk_GENERAL_NAME_pop(struct stack_st_GENERAL_NAME *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((GENERAL_NAME *)tmp);
}
}
__inline static GENERAL_NAME *sk_GENERAL_NAME_shift(struct stack_st_GENERAL_NAME *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((GENERAL_NAME *)tmp);
}
}
__inline static void sk_GENERAL_NAME_pop_free(struct stack_st_GENERAL_NAME *sk , void (*freefunc)(GENERAL_NAME *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_GENERAL_NAME_insert(struct stack_st_GENERAL_NAME *sk , GENERAL_NAME *ptr ,
                                           int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static GENERAL_NAME *sk_GENERAL_NAME_set(struct stack_st_GENERAL_NAME *sk ,
                                                  int idx___0 , GENERAL_NAME *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((GENERAL_NAME *)tmp);
}
}
__inline static int sk_GENERAL_NAME_find(struct stack_st_GENERAL_NAME *sk , GENERAL_NAME *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_GENERAL_NAME_find_ex(struct stack_st_GENERAL_NAME *sk , GENERAL_NAME *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_GENERAL_NAME_sort(struct stack_st_GENERAL_NAME *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_GENERAL_NAME_is_sorted(struct stack_st_GENERAL_NAME  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_GENERAL_NAME *sk_GENERAL_NAME_dup(struct stack_st_GENERAL_NAME  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_GENERAL_NAME *)tmp);
}
}
__inline static struct stack_st_GENERAL_NAME *sk_GENERAL_NAME_deep_copy(struct stack_st_GENERAL_NAME  const  *sk ,
                                                                        GENERAL_NAME *(*copyfunc)(GENERAL_NAME const   *a ) ,
                                                                        void (*freefunc)(GENERAL_NAME *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_GENERAL_NAME *)tmp);
}
}
__inline static sk_GENERAL_NAME_compfunc sk_GENERAL_NAME_set_cmp_func(struct stack_st_GENERAL_NAME *sk ,
                                                                      int (*compare___1)(GENERAL_NAME const   **a ,
                                                                                         GENERAL_NAME const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(GENERAL_NAME const   **a , GENERAL_NAME const   **b ))tmp);
}
}
__inline static int sk_GENERAL_NAMES_num(struct stack_st_GENERAL_NAMES  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static GENERAL_NAMES *sk_GENERAL_NAMES_value(struct stack_st_GENERAL_NAMES  const  *sk ,
                                                      int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((GENERAL_NAMES *)tmp);
}
}
__inline static struct stack_st_GENERAL_NAMES *sk_GENERAL_NAMES_new(int (*compare___1)(GENERAL_NAMES const   **a ,
                                                                                       GENERAL_NAMES const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_GENERAL_NAMES *)tmp);
}
}
__inline static struct stack_st_GENERAL_NAMES *sk_GENERAL_NAMES_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_GENERAL_NAMES *)tmp);
}
}
__inline static struct stack_st_GENERAL_NAMES *sk_GENERAL_NAMES_new_reserve(int (*compare___1)(GENERAL_NAMES const   **a ,
                                                                                               GENERAL_NAMES const   **b ) ,
                                                                            int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_GENERAL_NAMES *)tmp);
}
}
__inline static int sk_GENERAL_NAMES_reserve(struct stack_st_GENERAL_NAMES *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_GENERAL_NAMES_free(struct stack_st_GENERAL_NAMES *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_GENERAL_NAMES_zero(struct stack_st_GENERAL_NAMES *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static GENERAL_NAMES *sk_GENERAL_NAMES_delete(struct stack_st_GENERAL_NAMES *sk ,
                                                       int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((GENERAL_NAMES *)tmp);
}
}
__inline static GENERAL_NAMES *sk_GENERAL_NAMES_delete_ptr(struct stack_st_GENERAL_NAMES *sk ,
                                                           GENERAL_NAMES *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((GENERAL_NAMES *)tmp);
}
}
__inline static int sk_GENERAL_NAMES_push(struct stack_st_GENERAL_NAMES *sk , GENERAL_NAMES *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_GENERAL_NAMES_unshift(struct stack_st_GENERAL_NAMES *sk , GENERAL_NAMES *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static GENERAL_NAMES *sk_GENERAL_NAMES_pop(struct stack_st_GENERAL_NAMES *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((GENERAL_NAMES *)tmp);
}
}
__inline static GENERAL_NAMES *sk_GENERAL_NAMES_shift(struct stack_st_GENERAL_NAMES *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((GENERAL_NAMES *)tmp);
}
}
__inline static void sk_GENERAL_NAMES_pop_free(struct stack_st_GENERAL_NAMES *sk ,
                                               void (*freefunc)(GENERAL_NAMES *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_GENERAL_NAMES_insert(struct stack_st_GENERAL_NAMES *sk , GENERAL_NAMES *ptr ,
                                            int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static GENERAL_NAMES *sk_GENERAL_NAMES_set(struct stack_st_GENERAL_NAMES *sk ,
                                                    int idx___0 , GENERAL_NAMES *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((GENERAL_NAMES *)tmp);
}
}
__inline static int sk_GENERAL_NAMES_find(struct stack_st_GENERAL_NAMES *sk , GENERAL_NAMES *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_GENERAL_NAMES_find_ex(struct stack_st_GENERAL_NAMES *sk , GENERAL_NAMES *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_GENERAL_NAMES_sort(struct stack_st_GENERAL_NAMES *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_GENERAL_NAMES_is_sorted(struct stack_st_GENERAL_NAMES  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_GENERAL_NAMES *sk_GENERAL_NAMES_dup(struct stack_st_GENERAL_NAMES  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_GENERAL_NAMES *)tmp);
}
}
__inline static struct stack_st_GENERAL_NAMES *sk_GENERAL_NAMES_deep_copy(struct stack_st_GENERAL_NAMES  const  *sk ,
                                                                          GENERAL_NAMES *(*copyfunc)(GENERAL_NAMES const   *a ) ,
                                                                          void (*freefunc)(GENERAL_NAMES *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_GENERAL_NAMES *)tmp);
}
}
__inline static sk_GENERAL_NAMES_compfunc sk_GENERAL_NAMES_set_cmp_func(struct stack_st_GENERAL_NAMES *sk ,
                                                                        int (*compare___1)(GENERAL_NAMES const   **a ,
                                                                                           GENERAL_NAMES const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(GENERAL_NAMES const   **a , GENERAL_NAMES const   **b ))tmp);
}
}
__inline static int sk_ACCESS_DESCRIPTION_num(struct stack_st_ACCESS_DESCRIPTION  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static ACCESS_DESCRIPTION *sk_ACCESS_DESCRIPTION_value(struct stack_st_ACCESS_DESCRIPTION  const  *sk ,
                                                                int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((ACCESS_DESCRIPTION *)tmp);
}
}
__inline static struct stack_st_ACCESS_DESCRIPTION *sk_ACCESS_DESCRIPTION_new(int (*compare___1)(ACCESS_DESCRIPTION const   **a ,
                                                                                                 ACCESS_DESCRIPTION const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_ACCESS_DESCRIPTION *)tmp);
}
}
__inline static struct stack_st_ACCESS_DESCRIPTION *sk_ACCESS_DESCRIPTION_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_ACCESS_DESCRIPTION *)tmp);
}
}
__inline static struct stack_st_ACCESS_DESCRIPTION *sk_ACCESS_DESCRIPTION_new_reserve(int (*compare___1)(ACCESS_DESCRIPTION const   **a ,
                                                                                                         ACCESS_DESCRIPTION const   **b ) ,
                                                                                      int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_ACCESS_DESCRIPTION *)tmp);
}
}
__inline static int sk_ACCESS_DESCRIPTION_reserve(struct stack_st_ACCESS_DESCRIPTION *sk ,
                                                  int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_ACCESS_DESCRIPTION_free(struct stack_st_ACCESS_DESCRIPTION *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_ACCESS_DESCRIPTION_zero(struct stack_st_ACCESS_DESCRIPTION *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static ACCESS_DESCRIPTION *sk_ACCESS_DESCRIPTION_delete(struct stack_st_ACCESS_DESCRIPTION *sk ,
                                                                 int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((ACCESS_DESCRIPTION *)tmp);
}
}
__inline static ACCESS_DESCRIPTION *sk_ACCESS_DESCRIPTION_delete_ptr(struct stack_st_ACCESS_DESCRIPTION *sk ,
                                                                     ACCESS_DESCRIPTION *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((ACCESS_DESCRIPTION *)tmp);
}
}
__inline static int sk_ACCESS_DESCRIPTION_push(struct stack_st_ACCESS_DESCRIPTION *sk ,
                                               ACCESS_DESCRIPTION *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_ACCESS_DESCRIPTION_unshift(struct stack_st_ACCESS_DESCRIPTION *sk ,
                                                  ACCESS_DESCRIPTION *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static ACCESS_DESCRIPTION *sk_ACCESS_DESCRIPTION_pop(struct stack_st_ACCESS_DESCRIPTION *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((ACCESS_DESCRIPTION *)tmp);
}
}
__inline static ACCESS_DESCRIPTION *sk_ACCESS_DESCRIPTION_shift(struct stack_st_ACCESS_DESCRIPTION *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((ACCESS_DESCRIPTION *)tmp);
}
}
__inline static void sk_ACCESS_DESCRIPTION_pop_free(struct stack_st_ACCESS_DESCRIPTION *sk ,
                                                    void (*freefunc)(ACCESS_DESCRIPTION *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_ACCESS_DESCRIPTION_insert(struct stack_st_ACCESS_DESCRIPTION *sk ,
                                                 ACCESS_DESCRIPTION *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static ACCESS_DESCRIPTION *sk_ACCESS_DESCRIPTION_set(struct stack_st_ACCESS_DESCRIPTION *sk ,
                                                              int idx___0 , ACCESS_DESCRIPTION *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((ACCESS_DESCRIPTION *)tmp);
}
}
__inline static int sk_ACCESS_DESCRIPTION_find(struct stack_st_ACCESS_DESCRIPTION *sk ,
                                               ACCESS_DESCRIPTION *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_ACCESS_DESCRIPTION_find_ex(struct stack_st_ACCESS_DESCRIPTION *sk ,
                                                  ACCESS_DESCRIPTION *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_ACCESS_DESCRIPTION_sort(struct stack_st_ACCESS_DESCRIPTION *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_ACCESS_DESCRIPTION_is_sorted(struct stack_st_ACCESS_DESCRIPTION  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_ACCESS_DESCRIPTION *sk_ACCESS_DESCRIPTION_dup(struct stack_st_ACCESS_DESCRIPTION  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_ACCESS_DESCRIPTION *)tmp);
}
}
__inline static struct stack_st_ACCESS_DESCRIPTION *sk_ACCESS_DESCRIPTION_deep_copy(struct stack_st_ACCESS_DESCRIPTION  const  *sk ,
                                                                                    ACCESS_DESCRIPTION *(*copyfunc)(ACCESS_DESCRIPTION const   *a ) ,
                                                                                    void (*freefunc)(ACCESS_DESCRIPTION *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_ACCESS_DESCRIPTION *)tmp);
}
}
__inline static sk_ACCESS_DESCRIPTION_compfunc sk_ACCESS_DESCRIPTION_set_cmp_func(struct stack_st_ACCESS_DESCRIPTION *sk ,
                                                                                  int (*compare___1)(ACCESS_DESCRIPTION const   **a ,
                                                                                                     ACCESS_DESCRIPTION const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(ACCESS_DESCRIPTION const   **a , ACCESS_DESCRIPTION const   **b ))tmp);
}
}
__inline static int sk_DIST_POINT_num(struct stack_st_DIST_POINT  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static DIST_POINT *sk_DIST_POINT_value(struct stack_st_DIST_POINT  const  *sk ,
                                                int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((DIST_POINT *)tmp);
}
}
__inline static struct stack_st_DIST_POINT *sk_DIST_POINT_new(int (*compare___1)(DIST_POINT const   **a ,
                                                                                 DIST_POINT const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_DIST_POINT *)tmp);
}
}
__inline static struct stack_st_DIST_POINT *sk_DIST_POINT_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_DIST_POINT *)tmp);
}
}
__inline static struct stack_st_DIST_POINT *sk_DIST_POINT_new_reserve(int (*compare___1)(DIST_POINT const   **a ,
                                                                                         DIST_POINT const   **b ) ,
                                                                      int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_DIST_POINT *)tmp);
}
}
__inline static int sk_DIST_POINT_reserve(struct stack_st_DIST_POINT *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_DIST_POINT_free(struct stack_st_DIST_POINT *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_DIST_POINT_zero(struct stack_st_DIST_POINT *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static DIST_POINT *sk_DIST_POINT_delete(struct stack_st_DIST_POINT *sk ,
                                                 int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((DIST_POINT *)tmp);
}
}
__inline static DIST_POINT *sk_DIST_POINT_delete_ptr(struct stack_st_DIST_POINT *sk ,
                                                     DIST_POINT *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((DIST_POINT *)tmp);
}
}
__inline static int sk_DIST_POINT_push(struct stack_st_DIST_POINT *sk , DIST_POINT *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_DIST_POINT_unshift(struct stack_st_DIST_POINT *sk , DIST_POINT *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static DIST_POINT *sk_DIST_POINT_pop(struct stack_st_DIST_POINT *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((DIST_POINT *)tmp);
}
}
__inline static DIST_POINT *sk_DIST_POINT_shift(struct stack_st_DIST_POINT *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((DIST_POINT *)tmp);
}
}
__inline static void sk_DIST_POINT_pop_free(struct stack_st_DIST_POINT *sk , void (*freefunc)(DIST_POINT *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_DIST_POINT_insert(struct stack_st_DIST_POINT *sk , DIST_POINT *ptr ,
                                         int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static DIST_POINT *sk_DIST_POINT_set(struct stack_st_DIST_POINT *sk , int idx___0 ,
                                              DIST_POINT *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((DIST_POINT *)tmp);
}
}
__inline static int sk_DIST_POINT_find(struct stack_st_DIST_POINT *sk , DIST_POINT *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_DIST_POINT_find_ex(struct stack_st_DIST_POINT *sk , DIST_POINT *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_DIST_POINT_sort(struct stack_st_DIST_POINT *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_DIST_POINT_is_sorted(struct stack_st_DIST_POINT  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_DIST_POINT *sk_DIST_POINT_dup(struct stack_st_DIST_POINT  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_DIST_POINT *)tmp);
}
}
__inline static struct stack_st_DIST_POINT *sk_DIST_POINT_deep_copy(struct stack_st_DIST_POINT  const  *sk ,
                                                                    DIST_POINT *(*copyfunc)(DIST_POINT const   *a ) ,
                                                                    void (*freefunc)(DIST_POINT *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_DIST_POINT *)tmp);
}
}
__inline static sk_DIST_POINT_compfunc sk_DIST_POINT_set_cmp_func(struct stack_st_DIST_POINT *sk ,
                                                                  int (*compare___1)(DIST_POINT const   **a ,
                                                                                     DIST_POINT const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(DIST_POINT const   **a , DIST_POINT const   **b ))tmp);
}
}
__inline static int sk_SXNETID_num(struct stack_st_SXNETID  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static SXNETID *sk_SXNETID_value(struct stack_st_SXNETID  const  *sk , int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((SXNETID *)tmp);
}
}
__inline static struct stack_st_SXNETID *sk_SXNETID_new(int (*compare___1)(SXNETID const   **a ,
                                                                           SXNETID const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_SXNETID *)tmp);
}
}
__inline static struct stack_st_SXNETID *sk_SXNETID_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_SXNETID *)tmp);
}
}
__inline static struct stack_st_SXNETID *sk_SXNETID_new_reserve(int (*compare___1)(SXNETID const   **a ,
                                                                                   SXNETID const   **b ) ,
                                                                int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_SXNETID *)tmp);
}
}
__inline static int sk_SXNETID_reserve(struct stack_st_SXNETID *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_SXNETID_free(struct stack_st_SXNETID *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_SXNETID_zero(struct stack_st_SXNETID *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static SXNETID *sk_SXNETID_delete(struct stack_st_SXNETID *sk , int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((SXNETID *)tmp);
}
}
__inline static SXNETID *sk_SXNETID_delete_ptr(struct stack_st_SXNETID *sk , SXNETID *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((SXNETID *)tmp);
}
}
__inline static int sk_SXNETID_push(struct stack_st_SXNETID *sk , SXNETID *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_SXNETID_unshift(struct stack_st_SXNETID *sk , SXNETID *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static SXNETID *sk_SXNETID_pop(struct stack_st_SXNETID *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((SXNETID *)tmp);
}
}
__inline static SXNETID *sk_SXNETID_shift(struct stack_st_SXNETID *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((SXNETID *)tmp);
}
}
__inline static void sk_SXNETID_pop_free(struct stack_st_SXNETID *sk , void (*freefunc)(SXNETID *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_SXNETID_insert(struct stack_st_SXNETID *sk , SXNETID *ptr ,
                                      int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static SXNETID *sk_SXNETID_set(struct stack_st_SXNETID *sk , int idx___0 ,
                                        SXNETID *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((SXNETID *)tmp);
}
}
__inline static int sk_SXNETID_find(struct stack_st_SXNETID *sk , SXNETID *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_SXNETID_find_ex(struct stack_st_SXNETID *sk , SXNETID *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_SXNETID_sort(struct stack_st_SXNETID *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_SXNETID_is_sorted(struct stack_st_SXNETID  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_SXNETID *sk_SXNETID_dup(struct stack_st_SXNETID  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_SXNETID *)tmp);
}
}
__inline static struct stack_st_SXNETID *sk_SXNETID_deep_copy(struct stack_st_SXNETID  const  *sk ,
                                                              SXNETID *(*copyfunc)(SXNETID const   *a ) ,
                                                              void (*freefunc)(SXNETID *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_SXNETID *)tmp);
}
}
__inline static sk_SXNETID_compfunc sk_SXNETID_set_cmp_func(struct stack_st_SXNETID *sk ,
                                                            int (*compare___1)(SXNETID const   **a ,
                                                                               SXNETID const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(SXNETID const   **a , SXNETID const   **b ))tmp);
}
}
__inline static int sk_POLICYQUALINFO_num(struct stack_st_POLICYQUALINFO  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static POLICYQUALINFO *sk_POLICYQUALINFO_value(struct stack_st_POLICYQUALINFO  const  *sk ,
                                                        int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((POLICYQUALINFO *)tmp);
}
}
__inline static struct stack_st_POLICYQUALINFO *sk_POLICYQUALINFO_new(int (*compare___1)(POLICYQUALINFO const   **a ,
                                                                                         POLICYQUALINFO const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_POLICYQUALINFO *)tmp);
}
}
__inline static struct stack_st_POLICYQUALINFO *sk_POLICYQUALINFO_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_POLICYQUALINFO *)tmp);
}
}
__inline static struct stack_st_POLICYQUALINFO *sk_POLICYQUALINFO_new_reserve(int (*compare___1)(POLICYQUALINFO const   **a ,
                                                                                                 POLICYQUALINFO const   **b ) ,
                                                                              int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_POLICYQUALINFO *)tmp);
}
}
__inline static int sk_POLICYQUALINFO_reserve(struct stack_st_POLICYQUALINFO *sk ,
                                              int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_POLICYQUALINFO_free(struct stack_st_POLICYQUALINFO *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_POLICYQUALINFO_zero(struct stack_st_POLICYQUALINFO *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static POLICYQUALINFO *sk_POLICYQUALINFO_delete(struct stack_st_POLICYQUALINFO *sk ,
                                                         int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((POLICYQUALINFO *)tmp);
}
}
__inline static POLICYQUALINFO *sk_POLICYQUALINFO_delete_ptr(struct stack_st_POLICYQUALINFO *sk ,
                                                             POLICYQUALINFO *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((POLICYQUALINFO *)tmp);
}
}
__inline static int sk_POLICYQUALINFO_push(struct stack_st_POLICYQUALINFO *sk , POLICYQUALINFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_POLICYQUALINFO_unshift(struct stack_st_POLICYQUALINFO *sk ,
                                              POLICYQUALINFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static POLICYQUALINFO *sk_POLICYQUALINFO_pop(struct stack_st_POLICYQUALINFO *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((POLICYQUALINFO *)tmp);
}
}
__inline static POLICYQUALINFO *sk_POLICYQUALINFO_shift(struct stack_st_POLICYQUALINFO *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((POLICYQUALINFO *)tmp);
}
}
__inline static void sk_POLICYQUALINFO_pop_free(struct stack_st_POLICYQUALINFO *sk ,
                                                void (*freefunc)(POLICYQUALINFO *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_POLICYQUALINFO_insert(struct stack_st_POLICYQUALINFO *sk ,
                                             POLICYQUALINFO *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static POLICYQUALINFO *sk_POLICYQUALINFO_set(struct stack_st_POLICYQUALINFO *sk ,
                                                      int idx___0 , POLICYQUALINFO *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((POLICYQUALINFO *)tmp);
}
}
__inline static int sk_POLICYQUALINFO_find(struct stack_st_POLICYQUALINFO *sk , POLICYQUALINFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_POLICYQUALINFO_find_ex(struct stack_st_POLICYQUALINFO *sk ,
                                              POLICYQUALINFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_POLICYQUALINFO_sort(struct stack_st_POLICYQUALINFO *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_POLICYQUALINFO_is_sorted(struct stack_st_POLICYQUALINFO  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_POLICYQUALINFO *sk_POLICYQUALINFO_dup(struct stack_st_POLICYQUALINFO  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_POLICYQUALINFO *)tmp);
}
}
__inline static struct stack_st_POLICYQUALINFO *sk_POLICYQUALINFO_deep_copy(struct stack_st_POLICYQUALINFO  const  *sk ,
                                                                            POLICYQUALINFO *(*copyfunc)(POLICYQUALINFO const   *a ) ,
                                                                            void (*freefunc)(POLICYQUALINFO *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_POLICYQUALINFO *)tmp);
}
}
__inline static sk_POLICYQUALINFO_compfunc sk_POLICYQUALINFO_set_cmp_func(struct stack_st_POLICYQUALINFO *sk ,
                                                                          int (*compare___1)(POLICYQUALINFO const   **a ,
                                                                                             POLICYQUALINFO const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(POLICYQUALINFO const   **a , POLICYQUALINFO const   **b ))tmp);
}
}
__inline static int sk_POLICYINFO_num(struct stack_st_POLICYINFO  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static POLICYINFO *sk_POLICYINFO_value(struct stack_st_POLICYINFO  const  *sk ,
                                                int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((POLICYINFO *)tmp);
}
}
__inline static struct stack_st_POLICYINFO *sk_POLICYINFO_new(int (*compare___1)(POLICYINFO const   **a ,
                                                                                 POLICYINFO const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_POLICYINFO *)tmp);
}
}
__inline static struct stack_st_POLICYINFO *sk_POLICYINFO_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_POLICYINFO *)tmp);
}
}
__inline static struct stack_st_POLICYINFO *sk_POLICYINFO_new_reserve(int (*compare___1)(POLICYINFO const   **a ,
                                                                                         POLICYINFO const   **b ) ,
                                                                      int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_POLICYINFO *)tmp);
}
}
__inline static int sk_POLICYINFO_reserve(struct stack_st_POLICYINFO *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_POLICYINFO_free(struct stack_st_POLICYINFO *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_POLICYINFO_zero(struct stack_st_POLICYINFO *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static POLICYINFO *sk_POLICYINFO_delete(struct stack_st_POLICYINFO *sk ,
                                                 int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((POLICYINFO *)tmp);
}
}
__inline static POLICYINFO *sk_POLICYINFO_delete_ptr(struct stack_st_POLICYINFO *sk ,
                                                     POLICYINFO *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((POLICYINFO *)tmp);
}
}
__inline static int sk_POLICYINFO_push(struct stack_st_POLICYINFO *sk , POLICYINFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_POLICYINFO_unshift(struct stack_st_POLICYINFO *sk , POLICYINFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static POLICYINFO *sk_POLICYINFO_pop(struct stack_st_POLICYINFO *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((POLICYINFO *)tmp);
}
}
__inline static POLICYINFO *sk_POLICYINFO_shift(struct stack_st_POLICYINFO *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((POLICYINFO *)tmp);
}
}
__inline static void sk_POLICYINFO_pop_free(struct stack_st_POLICYINFO *sk , void (*freefunc)(POLICYINFO *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_POLICYINFO_insert(struct stack_st_POLICYINFO *sk , POLICYINFO *ptr ,
                                         int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static POLICYINFO *sk_POLICYINFO_set(struct stack_st_POLICYINFO *sk , int idx___0 ,
                                              POLICYINFO *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((POLICYINFO *)tmp);
}
}
__inline static int sk_POLICYINFO_find(struct stack_st_POLICYINFO *sk , POLICYINFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_POLICYINFO_find_ex(struct stack_st_POLICYINFO *sk , POLICYINFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_POLICYINFO_sort(struct stack_st_POLICYINFO *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_POLICYINFO_is_sorted(struct stack_st_POLICYINFO  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_POLICYINFO *sk_POLICYINFO_dup(struct stack_st_POLICYINFO  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_POLICYINFO *)tmp);
}
}
__inline static struct stack_st_POLICYINFO *sk_POLICYINFO_deep_copy(struct stack_st_POLICYINFO  const  *sk ,
                                                                    POLICYINFO *(*copyfunc)(POLICYINFO const   *a ) ,
                                                                    void (*freefunc)(POLICYINFO *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_POLICYINFO *)tmp);
}
}
__inline static sk_POLICYINFO_compfunc sk_POLICYINFO_set_cmp_func(struct stack_st_POLICYINFO *sk ,
                                                                  int (*compare___1)(POLICYINFO const   **a ,
                                                                                     POLICYINFO const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(POLICYINFO const   **a , POLICYINFO const   **b ))tmp);
}
}
__inline static int sk_POLICY_MAPPING_num(struct stack_st_POLICY_MAPPING  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static POLICY_MAPPING *sk_POLICY_MAPPING_value(struct stack_st_POLICY_MAPPING  const  *sk ,
                                                        int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((POLICY_MAPPING *)tmp);
}
}
__inline static struct stack_st_POLICY_MAPPING *sk_POLICY_MAPPING_new(int (*compare___1)(POLICY_MAPPING const   **a ,
                                                                                         POLICY_MAPPING const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_POLICY_MAPPING *)tmp);
}
}
__inline static struct stack_st_POLICY_MAPPING *sk_POLICY_MAPPING_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_POLICY_MAPPING *)tmp);
}
}
__inline static struct stack_st_POLICY_MAPPING *sk_POLICY_MAPPING_new_reserve(int (*compare___1)(POLICY_MAPPING const   **a ,
                                                                                                 POLICY_MAPPING const   **b ) ,
                                                                              int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_POLICY_MAPPING *)tmp);
}
}
__inline static int sk_POLICY_MAPPING_reserve(struct stack_st_POLICY_MAPPING *sk ,
                                              int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_POLICY_MAPPING_free(struct stack_st_POLICY_MAPPING *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_POLICY_MAPPING_zero(struct stack_st_POLICY_MAPPING *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static POLICY_MAPPING *sk_POLICY_MAPPING_delete(struct stack_st_POLICY_MAPPING *sk ,
                                                         int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((POLICY_MAPPING *)tmp);
}
}
__inline static POLICY_MAPPING *sk_POLICY_MAPPING_delete_ptr(struct stack_st_POLICY_MAPPING *sk ,
                                                             POLICY_MAPPING *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((POLICY_MAPPING *)tmp);
}
}
__inline static int sk_POLICY_MAPPING_push(struct stack_st_POLICY_MAPPING *sk , POLICY_MAPPING *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_POLICY_MAPPING_unshift(struct stack_st_POLICY_MAPPING *sk ,
                                              POLICY_MAPPING *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static POLICY_MAPPING *sk_POLICY_MAPPING_pop(struct stack_st_POLICY_MAPPING *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((POLICY_MAPPING *)tmp);
}
}
__inline static POLICY_MAPPING *sk_POLICY_MAPPING_shift(struct stack_st_POLICY_MAPPING *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((POLICY_MAPPING *)tmp);
}
}
__inline static void sk_POLICY_MAPPING_pop_free(struct stack_st_POLICY_MAPPING *sk ,
                                                void (*freefunc)(POLICY_MAPPING *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_POLICY_MAPPING_insert(struct stack_st_POLICY_MAPPING *sk ,
                                             POLICY_MAPPING *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static POLICY_MAPPING *sk_POLICY_MAPPING_set(struct stack_st_POLICY_MAPPING *sk ,
                                                      int idx___0 , POLICY_MAPPING *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((POLICY_MAPPING *)tmp);
}
}
__inline static int sk_POLICY_MAPPING_find(struct stack_st_POLICY_MAPPING *sk , POLICY_MAPPING *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_POLICY_MAPPING_find_ex(struct stack_st_POLICY_MAPPING *sk ,
                                              POLICY_MAPPING *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_POLICY_MAPPING_sort(struct stack_st_POLICY_MAPPING *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_POLICY_MAPPING_is_sorted(struct stack_st_POLICY_MAPPING  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_POLICY_MAPPING *sk_POLICY_MAPPING_dup(struct stack_st_POLICY_MAPPING  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_POLICY_MAPPING *)tmp);
}
}
__inline static struct stack_st_POLICY_MAPPING *sk_POLICY_MAPPING_deep_copy(struct stack_st_POLICY_MAPPING  const  *sk ,
                                                                            POLICY_MAPPING *(*copyfunc)(POLICY_MAPPING const   *a ) ,
                                                                            void (*freefunc)(POLICY_MAPPING *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_POLICY_MAPPING *)tmp);
}
}
__inline static sk_POLICY_MAPPING_compfunc sk_POLICY_MAPPING_set_cmp_func(struct stack_st_POLICY_MAPPING *sk ,
                                                                          int (*compare___1)(POLICY_MAPPING const   **a ,
                                                                                             POLICY_MAPPING const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(POLICY_MAPPING const   **a , POLICY_MAPPING const   **b ))tmp);
}
}
__inline static int sk_GENERAL_SUBTREE_num(struct stack_st_GENERAL_SUBTREE  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static GENERAL_SUBTREE *sk_GENERAL_SUBTREE_value(struct stack_st_GENERAL_SUBTREE  const  *sk ,
                                                          int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((GENERAL_SUBTREE *)tmp);
}
}
__inline static struct stack_st_GENERAL_SUBTREE *sk_GENERAL_SUBTREE_new(int (*compare___1)(GENERAL_SUBTREE const   **a ,
                                                                                           GENERAL_SUBTREE const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_GENERAL_SUBTREE *)tmp);
}
}
__inline static struct stack_st_GENERAL_SUBTREE *sk_GENERAL_SUBTREE_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_GENERAL_SUBTREE *)tmp);
}
}
__inline static struct stack_st_GENERAL_SUBTREE *sk_GENERAL_SUBTREE_new_reserve(int (*compare___1)(GENERAL_SUBTREE const   **a ,
                                                                                                   GENERAL_SUBTREE const   **b ) ,
                                                                                int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_GENERAL_SUBTREE *)tmp);
}
}
__inline static int sk_GENERAL_SUBTREE_reserve(struct stack_st_GENERAL_SUBTREE *sk ,
                                               int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_GENERAL_SUBTREE_free(struct stack_st_GENERAL_SUBTREE *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_GENERAL_SUBTREE_zero(struct stack_st_GENERAL_SUBTREE *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static GENERAL_SUBTREE *sk_GENERAL_SUBTREE_delete(struct stack_st_GENERAL_SUBTREE *sk ,
                                                           int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((GENERAL_SUBTREE *)tmp);
}
}
__inline static GENERAL_SUBTREE *sk_GENERAL_SUBTREE_delete_ptr(struct stack_st_GENERAL_SUBTREE *sk ,
                                                               GENERAL_SUBTREE *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((GENERAL_SUBTREE *)tmp);
}
}
__inline static int sk_GENERAL_SUBTREE_push(struct stack_st_GENERAL_SUBTREE *sk ,
                                            GENERAL_SUBTREE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_GENERAL_SUBTREE_unshift(struct stack_st_GENERAL_SUBTREE *sk ,
                                               GENERAL_SUBTREE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static GENERAL_SUBTREE *sk_GENERAL_SUBTREE_pop(struct stack_st_GENERAL_SUBTREE *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((GENERAL_SUBTREE *)tmp);
}
}
__inline static GENERAL_SUBTREE *sk_GENERAL_SUBTREE_shift(struct stack_st_GENERAL_SUBTREE *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((GENERAL_SUBTREE *)tmp);
}
}
__inline static void sk_GENERAL_SUBTREE_pop_free(struct stack_st_GENERAL_SUBTREE *sk ,
                                                 void (*freefunc)(GENERAL_SUBTREE *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_GENERAL_SUBTREE_insert(struct stack_st_GENERAL_SUBTREE *sk ,
                                              GENERAL_SUBTREE *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static GENERAL_SUBTREE *sk_GENERAL_SUBTREE_set(struct stack_st_GENERAL_SUBTREE *sk ,
                                                        int idx___0 , GENERAL_SUBTREE *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((GENERAL_SUBTREE *)tmp);
}
}
__inline static int sk_GENERAL_SUBTREE_find(struct stack_st_GENERAL_SUBTREE *sk ,
                                            GENERAL_SUBTREE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_GENERAL_SUBTREE_find_ex(struct stack_st_GENERAL_SUBTREE *sk ,
                                               GENERAL_SUBTREE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_GENERAL_SUBTREE_sort(struct stack_st_GENERAL_SUBTREE *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_GENERAL_SUBTREE_is_sorted(struct stack_st_GENERAL_SUBTREE  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_GENERAL_SUBTREE *sk_GENERAL_SUBTREE_dup(struct stack_st_GENERAL_SUBTREE  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_GENERAL_SUBTREE *)tmp);
}
}
__inline static struct stack_st_GENERAL_SUBTREE *sk_GENERAL_SUBTREE_deep_copy(struct stack_st_GENERAL_SUBTREE  const  *sk ,
                                                                              GENERAL_SUBTREE *(*copyfunc)(GENERAL_SUBTREE const   *a ) ,
                                                                              void (*freefunc)(GENERAL_SUBTREE *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_GENERAL_SUBTREE *)tmp);
}
}
__inline static sk_GENERAL_SUBTREE_compfunc sk_GENERAL_SUBTREE_set_cmp_func(struct stack_st_GENERAL_SUBTREE *sk ,
                                                                            int (*compare___1)(GENERAL_SUBTREE const   **a ,
                                                                                               GENERAL_SUBTREE const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(GENERAL_SUBTREE const   **a , GENERAL_SUBTREE const   **b ))tmp);
}
}
extern PROXY_POLICY *PROXY_POLICY_new(void) ;
extern void PROXY_POLICY_free(PROXY_POLICY *a ) ;
extern PROXY_POLICY *d2i_PROXY_POLICY(PROXY_POLICY **a , unsigned char const   **in ,
                                      long len ) ;
extern int i2d_PROXY_POLICY(PROXY_POLICY *a , unsigned char **out ) ;
extern ASN1_ITEM const   PROXY_POLICY_it ;
extern PROXY_CERT_INFO_EXTENSION *PROXY_CERT_INFO_EXTENSION_new(void) ;
extern void PROXY_CERT_INFO_EXTENSION_free(PROXY_CERT_INFO_EXTENSION *a ) ;
extern PROXY_CERT_INFO_EXTENSION *d2i_PROXY_CERT_INFO_EXTENSION(PROXY_CERT_INFO_EXTENSION **a ,
                                                                unsigned char const   **in ,
                                                                long len ) ;
extern int i2d_PROXY_CERT_INFO_EXTENSION(PROXY_CERT_INFO_EXTENSION *a , unsigned char **out ) ;
extern ASN1_ITEM const   PROXY_CERT_INFO_EXTENSION_it ;
__inline static int sk_X509_PURPOSE_num(struct stack_st_X509_PURPOSE  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static X509_PURPOSE *sk_X509_PURPOSE_value(struct stack_st_X509_PURPOSE  const  *sk ,
                                                    int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((X509_PURPOSE *)tmp);
}
}
__inline static struct stack_st_X509_PURPOSE *sk_X509_PURPOSE_new(int (*compare___1)(X509_PURPOSE const   **a ,
                                                                                     X509_PURPOSE const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_X509_PURPOSE *)tmp);
}
}
__inline static struct stack_st_X509_PURPOSE *sk_X509_PURPOSE_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_X509_PURPOSE *)tmp);
}
}
__inline static struct stack_st_X509_PURPOSE *sk_X509_PURPOSE_new_reserve(int (*compare___1)(X509_PURPOSE const   **a ,
                                                                                             X509_PURPOSE const   **b ) ,
                                                                          int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_X509_PURPOSE *)tmp);
}
}
__inline static int sk_X509_PURPOSE_reserve(struct stack_st_X509_PURPOSE *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_X509_PURPOSE_free(struct stack_st_X509_PURPOSE *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_X509_PURPOSE_zero(struct stack_st_X509_PURPOSE *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static X509_PURPOSE *sk_X509_PURPOSE_delete(struct stack_st_X509_PURPOSE *sk ,
                                                     int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((X509_PURPOSE *)tmp);
}
}
__inline static X509_PURPOSE *sk_X509_PURPOSE_delete_ptr(struct stack_st_X509_PURPOSE *sk ,
                                                         X509_PURPOSE *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((X509_PURPOSE *)tmp);
}
}
__inline static int sk_X509_PURPOSE_push(struct stack_st_X509_PURPOSE *sk , X509_PURPOSE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_PURPOSE_unshift(struct stack_st_X509_PURPOSE *sk , X509_PURPOSE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static X509_PURPOSE *sk_X509_PURPOSE_pop(struct stack_st_X509_PURPOSE *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((X509_PURPOSE *)tmp);
}
}
__inline static X509_PURPOSE *sk_X509_PURPOSE_shift(struct stack_st_X509_PURPOSE *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((X509_PURPOSE *)tmp);
}
}
__inline static void sk_X509_PURPOSE_pop_free(struct stack_st_X509_PURPOSE *sk , void (*freefunc)(X509_PURPOSE *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_X509_PURPOSE_insert(struct stack_st_X509_PURPOSE *sk , X509_PURPOSE *ptr ,
                                           int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static X509_PURPOSE *sk_X509_PURPOSE_set(struct stack_st_X509_PURPOSE *sk ,
                                                  int idx___0 , X509_PURPOSE *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((X509_PURPOSE *)tmp);
}
}
__inline static int sk_X509_PURPOSE_find(struct stack_st_X509_PURPOSE *sk , X509_PURPOSE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_PURPOSE_find_ex(struct stack_st_X509_PURPOSE *sk , X509_PURPOSE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_X509_PURPOSE_sort(struct stack_st_X509_PURPOSE *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_X509_PURPOSE_is_sorted(struct stack_st_X509_PURPOSE  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_X509_PURPOSE *sk_X509_PURPOSE_dup(struct stack_st_X509_PURPOSE  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_X509_PURPOSE *)tmp);
}
}
__inline static struct stack_st_X509_PURPOSE *sk_X509_PURPOSE_deep_copy(struct stack_st_X509_PURPOSE  const  *sk ,
                                                                        X509_PURPOSE *(*copyfunc)(X509_PURPOSE const   *a ) ,
                                                                        void (*freefunc)(X509_PURPOSE *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_X509_PURPOSE *)tmp);
}
}
__inline static sk_X509_PURPOSE_compfunc sk_X509_PURPOSE_set_cmp_func(struct stack_st_X509_PURPOSE *sk ,
                                                                      int (*compare___1)(X509_PURPOSE const   **a ,
                                                                                         X509_PURPOSE const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(X509_PURPOSE const   **a , X509_PURPOSE const   **b ))tmp);
}
}
extern BASIC_CONSTRAINTS *BASIC_CONSTRAINTS_new(void) ;
extern void BASIC_CONSTRAINTS_free(BASIC_CONSTRAINTS *a ) ;
extern BASIC_CONSTRAINTS *d2i_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS **a , unsigned char const   **in ,
                                                long len ) ;
extern int i2d_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS *a , unsigned char **out ) ;
extern ASN1_ITEM const   BASIC_CONSTRAINTS_it ;
extern SXNET *SXNET_new(void) ;
extern void SXNET_free(SXNET *a ) ;
extern SXNET *d2i_SXNET(SXNET **a , unsigned char const   **in , long len ) ;
extern int i2d_SXNET(SXNET *a , unsigned char **out ) ;
extern ASN1_ITEM const   SXNET_it ;
extern SXNETID *SXNETID_new(void) ;
extern void SXNETID_free(SXNETID *a ) ;
extern SXNETID *d2i_SXNETID(SXNETID **a , unsigned char const   **in , long len ) ;
extern int i2d_SXNETID(SXNETID *a , unsigned char **out ) ;
extern ASN1_ITEM const   SXNETID_it ;
extern int SXNET_add_id_asc(SXNET **psx , char const   *zone , char const   *user ,
                            int userlen ) ;
extern int SXNET_add_id_ulong(SXNET **psx , unsigned long lzone , char const   *user ,
                              int userlen ) ;
extern int SXNET_add_id_INTEGER(SXNET **psx , ASN1_INTEGER *izone , char const   *user ,
                                int userlen ) ;
extern ASN1_OCTET_STRING *SXNET_get_id_asc(SXNET *sx , char const   *zone ) ;
extern ASN1_OCTET_STRING *SXNET_get_id_ulong(SXNET *sx , unsigned long lzone ) ;
extern ASN1_OCTET_STRING *SXNET_get_id_INTEGER(SXNET *sx , ASN1_INTEGER *zone ) ;
extern AUTHORITY_KEYID *AUTHORITY_KEYID_new(void) ;
extern void AUTHORITY_KEYID_free(AUTHORITY_KEYID *a ) ;
extern AUTHORITY_KEYID *d2i_AUTHORITY_KEYID(AUTHORITY_KEYID **a , unsigned char const   **in ,
                                            long len ) ;
extern int i2d_AUTHORITY_KEYID(AUTHORITY_KEYID *a , unsigned char **out ) ;
extern ASN1_ITEM const   AUTHORITY_KEYID_it ;
extern PKEY_USAGE_PERIOD *PKEY_USAGE_PERIOD_new(void) ;
extern void PKEY_USAGE_PERIOD_free(PKEY_USAGE_PERIOD *a ) ;
extern PKEY_USAGE_PERIOD *d2i_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD **a , unsigned char const   **in ,
                                                long len ) ;
extern int i2d_PKEY_USAGE_PERIOD(PKEY_USAGE_PERIOD *a , unsigned char **out ) ;
extern ASN1_ITEM const   PKEY_USAGE_PERIOD_it ;
extern GENERAL_NAME *GENERAL_NAME_new(void) ;
extern void GENERAL_NAME_free(GENERAL_NAME *a ) ;
extern GENERAL_NAME *d2i_GENERAL_NAME(GENERAL_NAME **a , unsigned char const   **in ,
                                      long len ) ;
extern int i2d_GENERAL_NAME(GENERAL_NAME *a , unsigned char **out ) ;
extern ASN1_ITEM const   GENERAL_NAME_it ;
extern GENERAL_NAME *GENERAL_NAME_dup(GENERAL_NAME *a ) ;
extern int GENERAL_NAME_cmp(GENERAL_NAME *a , GENERAL_NAME *b ) ;
extern ASN1_BIT_STRING *v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method , X509V3_CTX *ctx ,
                                            struct stack_st_CONF_VALUE *nval ) ;
extern struct stack_st_CONF_VALUE *i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method ,
                                                       ASN1_BIT_STRING *bits , struct stack_st_CONF_VALUE *extlist ) ;
extern char *i2s_ASN1_IA5STRING(X509V3_EXT_METHOD *method , ASN1_IA5STRING *ia5 ) ;
extern ASN1_IA5STRING *s2i_ASN1_IA5STRING(X509V3_EXT_METHOD *method , X509V3_CTX *ctx ,
                                          char const   *str ) ;
extern struct stack_st_CONF_VALUE *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method , GENERAL_NAME *gen ,
                                                    struct stack_st_CONF_VALUE *ret ) ;
extern int GENERAL_NAME_print(BIO *out , GENERAL_NAME *gen ) ;
extern GENERAL_NAMES *GENERAL_NAMES_new(void) ;
extern void GENERAL_NAMES_free(GENERAL_NAMES *a ) ;
extern GENERAL_NAMES *d2i_GENERAL_NAMES(GENERAL_NAMES **a , unsigned char const   **in ,
                                        long len ) ;
extern int i2d_GENERAL_NAMES(GENERAL_NAMES *a , unsigned char **out ) ;
extern ASN1_ITEM const   GENERAL_NAMES_it ;
extern struct stack_st_CONF_VALUE *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method , GENERAL_NAMES *gen ,
                                                     struct stack_st_CONF_VALUE *extlist ) ;
extern GENERAL_NAMES *v2i_GENERAL_NAMES(X509V3_EXT_METHOD const   *method , X509V3_CTX *ctx ,
                                        struct stack_st_CONF_VALUE *nval ) ;
extern OTHERNAME *OTHERNAME_new(void) ;
extern void OTHERNAME_free(OTHERNAME *a ) ;
extern OTHERNAME *d2i_OTHERNAME(OTHERNAME **a , unsigned char const   **in , long len ) ;
extern int i2d_OTHERNAME(OTHERNAME *a , unsigned char **out ) ;
extern ASN1_ITEM const   OTHERNAME_it ;
extern EDIPARTYNAME *EDIPARTYNAME_new(void) ;
extern void EDIPARTYNAME_free(EDIPARTYNAME *a ) ;
extern EDIPARTYNAME *d2i_EDIPARTYNAME(EDIPARTYNAME **a , unsigned char const   **in ,
                                      long len ) ;
extern int i2d_EDIPARTYNAME(EDIPARTYNAME *a , unsigned char **out ) ;
extern ASN1_ITEM const   EDIPARTYNAME_it ;
extern int OTHERNAME_cmp(OTHERNAME *a , OTHERNAME *b ) ;
extern void GENERAL_NAME_set0_value(GENERAL_NAME *a , int type , void *value ) ;
extern void *GENERAL_NAME_get0_value(GENERAL_NAME *a , int *ptype ) ;
extern int GENERAL_NAME_set0_othername(GENERAL_NAME *gen , ASN1_OBJECT *oid , ASN1_TYPE *value ) ;
extern int GENERAL_NAME_get0_otherName(GENERAL_NAME *gen , ASN1_OBJECT **poid , ASN1_TYPE **pvalue ) ;
extern char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method , ASN1_OCTET_STRING const   *ia5 ) ;
extern ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method , X509V3_CTX *ctx ,
                                                char const   *str ) ;
extern EXTENDED_KEY_USAGE *EXTENDED_KEY_USAGE_new(void) ;
extern void EXTENDED_KEY_USAGE_free(EXTENDED_KEY_USAGE *a ) ;
extern EXTENDED_KEY_USAGE *d2i_EXTENDED_KEY_USAGE(EXTENDED_KEY_USAGE **a , unsigned char const   **in ,
                                                  long len ) ;
extern int i2d_EXTENDED_KEY_USAGE(EXTENDED_KEY_USAGE *a , unsigned char **out ) ;
extern ASN1_ITEM const   EXTENDED_KEY_USAGE_it ;
extern int i2a_ACCESS_DESCRIPTION(BIO *bp , ACCESS_DESCRIPTION const   *a ) ;
extern TLS_FEATURE *TLS_FEATURE_new(void) ;
extern void TLS_FEATURE_free(TLS_FEATURE *a ) ;
extern CERTIFICATEPOLICIES *CERTIFICATEPOLICIES_new(void) ;
extern void CERTIFICATEPOLICIES_free(CERTIFICATEPOLICIES *a ) ;
extern CERTIFICATEPOLICIES *d2i_CERTIFICATEPOLICIES(CERTIFICATEPOLICIES **a , unsigned char const   **in ,
                                                    long len ) ;
extern int i2d_CERTIFICATEPOLICIES(CERTIFICATEPOLICIES *a , unsigned char **out ) ;
extern ASN1_ITEM const   CERTIFICATEPOLICIES_it ;
extern POLICYINFO *POLICYINFO_new(void) ;
extern void POLICYINFO_free(POLICYINFO *a ) ;
extern POLICYINFO *d2i_POLICYINFO(POLICYINFO **a , unsigned char const   **in , long len ) ;
extern int i2d_POLICYINFO(POLICYINFO *a , unsigned char **out ) ;
extern ASN1_ITEM const   POLICYINFO_it ;
extern POLICYQUALINFO *POLICYQUALINFO_new(void) ;
extern void POLICYQUALINFO_free(POLICYQUALINFO *a ) ;
extern POLICYQUALINFO *d2i_POLICYQUALINFO(POLICYQUALINFO **a , unsigned char const   **in ,
                                          long len ) ;
extern int i2d_POLICYQUALINFO(POLICYQUALINFO *a , unsigned char **out ) ;
extern ASN1_ITEM const   POLICYQUALINFO_it ;
extern USERNOTICE *USERNOTICE_new(void) ;
extern void USERNOTICE_free(USERNOTICE *a ) ;
extern USERNOTICE *d2i_USERNOTICE(USERNOTICE **a , unsigned char const   **in , long len ) ;
extern int i2d_USERNOTICE(USERNOTICE *a , unsigned char **out ) ;
extern ASN1_ITEM const   USERNOTICE_it ;
extern NOTICEREF *NOTICEREF_new(void) ;
extern void NOTICEREF_free(NOTICEREF *a ) ;
extern NOTICEREF *d2i_NOTICEREF(NOTICEREF **a , unsigned char const   **in , long len ) ;
extern int i2d_NOTICEREF(NOTICEREF *a , unsigned char **out ) ;
extern ASN1_ITEM const   NOTICEREF_it ;
extern CRL_DIST_POINTS *CRL_DIST_POINTS_new(void) ;
extern void CRL_DIST_POINTS_free(CRL_DIST_POINTS *a ) ;
extern CRL_DIST_POINTS *d2i_CRL_DIST_POINTS(CRL_DIST_POINTS **a , unsigned char const   **in ,
                                            long len ) ;
extern int i2d_CRL_DIST_POINTS(CRL_DIST_POINTS *a , unsigned char **out ) ;
extern ASN1_ITEM const   CRL_DIST_POINTS_it ;
extern DIST_POINT *DIST_POINT_new(void) ;
extern void DIST_POINT_free(DIST_POINT *a ) ;
extern DIST_POINT *d2i_DIST_POINT(DIST_POINT **a , unsigned char const   **in , long len ) ;
extern int i2d_DIST_POINT(DIST_POINT *a , unsigned char **out ) ;
extern ASN1_ITEM const   DIST_POINT_it ;
extern DIST_POINT_NAME *DIST_POINT_NAME_new(void) ;
extern void DIST_POINT_NAME_free(DIST_POINT_NAME *a ) ;
extern DIST_POINT_NAME *d2i_DIST_POINT_NAME(DIST_POINT_NAME **a , unsigned char const   **in ,
                                            long len ) ;
extern int i2d_DIST_POINT_NAME(DIST_POINT_NAME *a , unsigned char **out ) ;
extern ASN1_ITEM const   DIST_POINT_NAME_it ;
extern ISSUING_DIST_POINT *ISSUING_DIST_POINT_new(void) ;
extern void ISSUING_DIST_POINT_free(ISSUING_DIST_POINT *a ) ;
extern ISSUING_DIST_POINT *d2i_ISSUING_DIST_POINT(ISSUING_DIST_POINT **a , unsigned char const   **in ,
                                                  long len ) ;
extern int i2d_ISSUING_DIST_POINT(ISSUING_DIST_POINT *a , unsigned char **out ) ;
extern ASN1_ITEM const   ISSUING_DIST_POINT_it ;
extern int DIST_POINT_set_dpname(DIST_POINT_NAME *dpn , X509_NAME *iname ) ;
extern int NAME_CONSTRAINTS_check(X509 *x , NAME_CONSTRAINTS *nc ) ;
extern int NAME_CONSTRAINTS_check_CN(X509 *x , NAME_CONSTRAINTS *nc ) ;
extern ACCESS_DESCRIPTION *ACCESS_DESCRIPTION_new(void) ;
extern void ACCESS_DESCRIPTION_free(ACCESS_DESCRIPTION *a ) ;
extern ACCESS_DESCRIPTION *d2i_ACCESS_DESCRIPTION(ACCESS_DESCRIPTION **a , unsigned char const   **in ,
                                                  long len ) ;
extern int i2d_ACCESS_DESCRIPTION(ACCESS_DESCRIPTION *a , unsigned char **out ) ;
extern ASN1_ITEM const   ACCESS_DESCRIPTION_it ;
extern AUTHORITY_INFO_ACCESS *AUTHORITY_INFO_ACCESS_new(void) ;
extern void AUTHORITY_INFO_ACCESS_free(AUTHORITY_INFO_ACCESS *a ) ;
extern AUTHORITY_INFO_ACCESS *d2i_AUTHORITY_INFO_ACCESS(AUTHORITY_INFO_ACCESS **a ,
                                                        unsigned char const   **in ,
                                                        long len ) ;
extern int i2d_AUTHORITY_INFO_ACCESS(AUTHORITY_INFO_ACCESS *a , unsigned char **out ) ;
extern ASN1_ITEM const   AUTHORITY_INFO_ACCESS_it ;
extern ASN1_ITEM const   POLICY_MAPPING_it ;
extern POLICY_MAPPING *POLICY_MAPPING_new(void) ;
extern void POLICY_MAPPING_free(POLICY_MAPPING *a ) ;
extern ASN1_ITEM const   POLICY_MAPPINGS_it ;
extern ASN1_ITEM const   GENERAL_SUBTREE_it ;
extern GENERAL_SUBTREE *GENERAL_SUBTREE_new(void) ;
extern void GENERAL_SUBTREE_free(GENERAL_SUBTREE *a ) ;
extern ASN1_ITEM const   NAME_CONSTRAINTS_it ;
extern NAME_CONSTRAINTS *NAME_CONSTRAINTS_new(void) ;
extern void NAME_CONSTRAINTS_free(NAME_CONSTRAINTS *a ) ;
extern POLICY_CONSTRAINTS *POLICY_CONSTRAINTS_new(void) ;
extern void POLICY_CONSTRAINTS_free(POLICY_CONSTRAINTS *a ) ;
extern ASN1_ITEM const   POLICY_CONSTRAINTS_it ;
extern GENERAL_NAME *a2i_GENERAL_NAME(GENERAL_NAME *out , X509V3_EXT_METHOD const   *method ,
                                      X509V3_CTX *ctx , int gen_type , char const   *value ,
                                      int is_nc ) ;
extern GENERAL_NAME *v2i_GENERAL_NAME(X509V3_EXT_METHOD const   *method , X509V3_CTX *ctx ,
                                      CONF_VALUE *cnf ) ;
extern GENERAL_NAME *v2i_GENERAL_NAME_ex(GENERAL_NAME *out , X509V3_EXT_METHOD const   *method ,
                                         X509V3_CTX *ctx , CONF_VALUE *cnf , int is_nc ) ;
extern void X509V3_conf_free(CONF_VALUE *val ) ;
extern X509_EXTENSION *X509V3_EXT_nconf_nid(CONF *conf , X509V3_CTX *ctx , int ext_nid ,
                                            char const   *value ) ;
extern X509_EXTENSION *X509V3_EXT_nconf(CONF *conf , X509V3_CTX *ctx , char const   *name ,
                                        char const   *value ) ;
extern int X509V3_EXT_add_nconf_sk(CONF *conf , X509V3_CTX *ctx , char const   *section ,
                                   struct stack_st_X509_EXTENSION **sk ) ;
extern int X509V3_EXT_add_nconf(CONF *conf , X509V3_CTX *ctx , char const   *section ,
                                X509 *cert ) ;
extern int X509V3_EXT_REQ_add_nconf(CONF *conf , X509V3_CTX *ctx , char const   *section ,
                                    X509_REQ *req ) ;
extern int X509V3_EXT_CRL_add_nconf(CONF *conf , X509V3_CTX *ctx , char const   *section ,
                                    X509_CRL *crl ) ;
extern X509_EXTENSION *X509V3_EXT_conf_nid(struct lhash_st_CONF_VALUE *conf , X509V3_CTX *ctx ,
                                           int ext_nid , char const   *value ) ;
extern X509_EXTENSION *X509V3_EXT_conf(struct lhash_st_CONF_VALUE *conf , X509V3_CTX *ctx ,
                                       char const   *name , char const   *value ) ;
extern int X509V3_EXT_add_conf(struct lhash_st_CONF_VALUE *conf , X509V3_CTX *ctx ,
                               char const   *section , X509 *cert ) ;
extern int X509V3_EXT_REQ_add_conf(struct lhash_st_CONF_VALUE *conf , X509V3_CTX *ctx ,
                                   char const   *section , X509_REQ *req ) ;
extern int X509V3_EXT_CRL_add_conf(struct lhash_st_CONF_VALUE *conf , X509V3_CTX *ctx ,
                                   char const   *section , X509_CRL *crl ) ;
extern int X509V3_add_value_bool_nf(char const   *name , int asn1_bool , struct stack_st_CONF_VALUE **extlist ) ;
extern int X509V3_get_value_bool(CONF_VALUE const   *value , int *asn1_bool ) ;
extern int X509V3_get_value_int(CONF_VALUE const   *value , ASN1_INTEGER **aint ) ;
extern void X509V3_set_nconf(X509V3_CTX *ctx , CONF *conf ) ;
extern void X509V3_set_conf_lhash(X509V3_CTX *ctx , struct lhash_st_CONF_VALUE *lhash ) ;
extern char *X509V3_get_string(X509V3_CTX *ctx , char const   *name , char const   *section ) ;
extern struct stack_st_CONF_VALUE *X509V3_get_section(X509V3_CTX *ctx , char const   *section ) ;
extern void X509V3_string_free(X509V3_CTX *ctx , char *str ) ;
extern void X509V3_section_free(X509V3_CTX *ctx , struct stack_st_CONF_VALUE *section ) ;
extern void X509V3_set_ctx(X509V3_CTX *ctx , X509 *issuer , X509 *subject , X509_REQ *req ,
                           X509_CRL *crl , int flags ) ;
extern int X509V3_add_value(char const   *name , char const   *value , struct stack_st_CONF_VALUE **extlist ) ;
extern int X509V3_add_value_uchar(char const   *name , unsigned char const   *value ,
                                  struct stack_st_CONF_VALUE **extlist ) ;
extern int X509V3_add_value_bool(char const   *name , int asn1_bool , struct stack_st_CONF_VALUE **extlist ) ;
extern int X509V3_add_value_int(char const   *name , ASN1_INTEGER const   *aint ,
                                struct stack_st_CONF_VALUE **extlist ) ;
extern char *i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth , ASN1_INTEGER const   *aint ) ;
extern ASN1_INTEGER *s2i_ASN1_INTEGER(X509V3_EXT_METHOD *meth , char const   *value ) ;
extern char *i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *meth , ASN1_ENUMERATED const   *aint ) ;
extern char *i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD *meth , ASN1_ENUMERATED const   *aint ) ;
extern int X509V3_EXT_add(X509V3_EXT_METHOD *ext ) ;
extern int X509V3_EXT_add_list(X509V3_EXT_METHOD *extlist ) ;
extern int X509V3_EXT_add_alias(int nid_to , int nid_from ) ;
extern void X509V3_EXT_cleanup(void) ;
extern X509V3_EXT_METHOD const   *X509V3_EXT_get(X509_EXTENSION *ext ) ;
extern X509V3_EXT_METHOD const   *X509V3_EXT_get_nid(int nid ) ;
extern int X509V3_add_standard_extensions(void) ;
extern struct stack_st_CONF_VALUE *X509V3_parse_list(char const   *line ) ;
extern void *X509V3_EXT_d2i(X509_EXTENSION *ext ) ;
extern void *X509V3_get_d2i(struct stack_st_X509_EXTENSION  const  *x , int nid ,
                            int *crit , int *idx ) ;
extern X509_EXTENSION *X509V3_EXT_i2d(int ext_nid , int crit , void *ext_struc ) ;
extern int X509V3_add1_i2d(struct stack_st_X509_EXTENSION **x , int nid , void *value ,
                           int crit , unsigned long flags ) ;
extern void X509V3_EXT_val_prn(BIO *out , struct stack_st_CONF_VALUE *val , int indent ,
                               int ml ) ;
extern int X509V3_EXT_print(BIO *out , X509_EXTENSION *ext , unsigned long flag ,
                            int indent ) ;
extern int X509V3_EXT_print_fp(FILE *out , X509_EXTENSION *ext , int flag , int indent ) ;
extern int X509V3_extensions_print(BIO *out , char const   *title , struct stack_st_X509_EXTENSION  const  *exts ,
                                   unsigned long flag , int indent ) ;
extern int X509_check_ca(X509 *x ) ;
extern int X509_check_purpose(X509 *x , int id , int ca ) ;
extern int X509_supported_extension(X509_EXTENSION *ex ) ;
extern int X509_PURPOSE_set(int *p , int purpose ) ;
extern int X509_check_issued(X509 *issuer , X509 *subject ) ;
extern int X509_check_akid(X509 *issuer , AUTHORITY_KEYID *akid ) ;
extern void X509_set_proxy_flag(X509 *x ) ;
extern void X509_set_proxy_pathlen(X509 *x , long l ) ;
extern long X509_get_proxy_pathlen(X509 *x ) ;
extern uint32_t X509_get_extension_flags(X509 *x ) ;
extern uint32_t X509_get_key_usage(X509 *x ) ;
extern uint32_t X509_get_extended_key_usage(X509 *x ) ;
extern ASN1_OCTET_STRING const   *X509_get0_subject_key_id(X509 *x ) ;
extern ASN1_OCTET_STRING const   *X509_get0_authority_key_id(X509 *x ) ;
extern int X509_PURPOSE_get_count(void) ;
extern X509_PURPOSE *X509_PURPOSE_get0(int idx ) ;
extern int X509_PURPOSE_get_by_sname(char const   *sname ) ;
extern int X509_PURPOSE_get_by_id(int id ) ;
extern int X509_PURPOSE_add(int id , int trust , int flags , int (*ck)(X509_PURPOSE const   * ,
                                                                       X509 const   * ,
                                                                       int  ) , char const   *name ,
                            char const   *sname , void *arg ) ;
extern char *X509_PURPOSE_get0_name(X509_PURPOSE const   *xp ) ;
extern char *X509_PURPOSE_get0_sname(X509_PURPOSE const   *xp ) ;
extern int X509_PURPOSE_get_trust(X509_PURPOSE const   *xp ) ;
extern void X509_PURPOSE_cleanup(void) ;
extern int X509_PURPOSE_get_id(X509_PURPOSE const   * ) ;
extern struct stack_st_OPENSSL_STRING *X509_get1_email(X509 *x ) ;
extern struct stack_st_OPENSSL_STRING *X509_REQ_get1_email(X509_REQ *x ) ;
extern void X509_email_free(struct stack_st_OPENSSL_STRING *sk ) ;
extern struct stack_st_OPENSSL_STRING *X509_get1_ocsp(X509 *x ) ;
extern int X509_check_host(X509 *x , char const   *chk , size_t chklen , unsigned int flags ,
                           char **peername ) ;
extern int X509_check_email(X509 *x , char const   *chk , size_t chklen , unsigned int flags ) ;
extern int X509_check_ip(X509 *x , unsigned char const   *chk , size_t chklen , unsigned int flags ) ;
extern int X509_check_ip_asc(X509 *x , char const   *ipasc , unsigned int flags ) ;
extern ASN1_OCTET_STRING *a2i_IPADDRESS(char const   *ipasc ) ;
extern ASN1_OCTET_STRING *a2i_IPADDRESS_NC(char const   *ipasc ) ;
extern int X509V3_NAME_from_section(X509_NAME *nm , struct stack_st_CONF_VALUE *dn_sk ,
                                    unsigned long chtype ) ;
extern void X509_POLICY_NODE_print(BIO *out , X509_POLICY_NODE *node , int indent ) ;
__inline static int sk_X509_POLICY_NODE_num(struct stack_st_X509_POLICY_NODE  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static X509_POLICY_NODE *sk_X509_POLICY_NODE_value(struct stack_st_X509_POLICY_NODE  const  *sk ,
                                                            int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((X509_POLICY_NODE *)tmp);
}
}
__inline static struct stack_st_X509_POLICY_NODE *sk_X509_POLICY_NODE_new(int (*compare___1)(X509_POLICY_NODE const   **a ,
                                                                                             X509_POLICY_NODE const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_X509_POLICY_NODE *)tmp);
}
}
__inline static struct stack_st_X509_POLICY_NODE *sk_X509_POLICY_NODE_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_X509_POLICY_NODE *)tmp);
}
}
__inline static struct stack_st_X509_POLICY_NODE *sk_X509_POLICY_NODE_new_reserve(int (*compare___1)(X509_POLICY_NODE const   **a ,
                                                                                                     X509_POLICY_NODE const   **b ) ,
                                                                                  int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_X509_POLICY_NODE *)tmp);
}
}
__inline static int sk_X509_POLICY_NODE_reserve(struct stack_st_X509_POLICY_NODE *sk ,
                                                int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_X509_POLICY_NODE_free(struct stack_st_X509_POLICY_NODE *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_X509_POLICY_NODE_zero(struct stack_st_X509_POLICY_NODE *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static X509_POLICY_NODE *sk_X509_POLICY_NODE_delete(struct stack_st_X509_POLICY_NODE *sk ,
                                                             int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((X509_POLICY_NODE *)tmp);
}
}
__inline static X509_POLICY_NODE *sk_X509_POLICY_NODE_delete_ptr(struct stack_st_X509_POLICY_NODE *sk ,
                                                                 X509_POLICY_NODE *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((X509_POLICY_NODE *)tmp);
}
}
__inline static int sk_X509_POLICY_NODE_push(struct stack_st_X509_POLICY_NODE *sk ,
                                             X509_POLICY_NODE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_POLICY_NODE_unshift(struct stack_st_X509_POLICY_NODE *sk ,
                                                X509_POLICY_NODE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static X509_POLICY_NODE *sk_X509_POLICY_NODE_pop(struct stack_st_X509_POLICY_NODE *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((X509_POLICY_NODE *)tmp);
}
}
__inline static X509_POLICY_NODE *sk_X509_POLICY_NODE_shift(struct stack_st_X509_POLICY_NODE *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((X509_POLICY_NODE *)tmp);
}
}
__inline static void sk_X509_POLICY_NODE_pop_free(struct stack_st_X509_POLICY_NODE *sk ,
                                                  void (*freefunc)(X509_POLICY_NODE *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_X509_POLICY_NODE_insert(struct stack_st_X509_POLICY_NODE *sk ,
                                               X509_POLICY_NODE *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static X509_POLICY_NODE *sk_X509_POLICY_NODE_set(struct stack_st_X509_POLICY_NODE *sk ,
                                                          int idx___0 , X509_POLICY_NODE *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((X509_POLICY_NODE *)tmp);
}
}
__inline static int sk_X509_POLICY_NODE_find(struct stack_st_X509_POLICY_NODE *sk ,
                                             X509_POLICY_NODE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_X509_POLICY_NODE_find_ex(struct stack_st_X509_POLICY_NODE *sk ,
                                                X509_POLICY_NODE *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_X509_POLICY_NODE_sort(struct stack_st_X509_POLICY_NODE *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_X509_POLICY_NODE_is_sorted(struct stack_st_X509_POLICY_NODE  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_X509_POLICY_NODE *sk_X509_POLICY_NODE_dup(struct stack_st_X509_POLICY_NODE  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_X509_POLICY_NODE *)tmp);
}
}
__inline static struct stack_st_X509_POLICY_NODE *sk_X509_POLICY_NODE_deep_copy(struct stack_st_X509_POLICY_NODE  const  *sk ,
                                                                                X509_POLICY_NODE *(*copyfunc)(X509_POLICY_NODE const   *a ) ,
                                                                                void (*freefunc)(X509_POLICY_NODE *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_X509_POLICY_NODE *)tmp);
}
}
__inline static sk_X509_POLICY_NODE_compfunc sk_X509_POLICY_NODE_set_cmp_func(struct stack_st_X509_POLICY_NODE *sk ,
                                                                              int (*compare___1)(X509_POLICY_NODE const   **a ,
                                                                                                 X509_POLICY_NODE const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(X509_POLICY_NODE const   **a , X509_POLICY_NODE const   **b ))tmp);
}
}
__inline static int sk_ASIdOrRange_num(struct stack_st_ASIdOrRange  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static ASIdOrRange *sk_ASIdOrRange_value(struct stack_st_ASIdOrRange  const  *sk ,
                                                  int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((ASIdOrRange *)tmp);
}
}
__inline static struct stack_st_ASIdOrRange *sk_ASIdOrRange_new(int (*compare___1)(ASIdOrRange const   **a ,
                                                                                   ASIdOrRange const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_ASIdOrRange *)tmp);
}
}
__inline static struct stack_st_ASIdOrRange *sk_ASIdOrRange_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_ASIdOrRange *)tmp);
}
}
__inline static struct stack_st_ASIdOrRange *sk_ASIdOrRange_new_reserve(int (*compare___1)(ASIdOrRange const   **a ,
                                                                                           ASIdOrRange const   **b ) ,
                                                                        int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_ASIdOrRange *)tmp);
}
}
__inline static int sk_ASIdOrRange_reserve(struct stack_st_ASIdOrRange *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_ASIdOrRange_free(struct stack_st_ASIdOrRange *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_ASIdOrRange_zero(struct stack_st_ASIdOrRange *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static ASIdOrRange *sk_ASIdOrRange_delete(struct stack_st_ASIdOrRange *sk ,
                                                   int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((ASIdOrRange *)tmp);
}
}
__inline static ASIdOrRange *sk_ASIdOrRange_delete_ptr(struct stack_st_ASIdOrRange *sk ,
                                                       ASIdOrRange *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((ASIdOrRange *)tmp);
}
}
__inline static int sk_ASIdOrRange_push(struct stack_st_ASIdOrRange *sk , ASIdOrRange *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_ASIdOrRange_unshift(struct stack_st_ASIdOrRange *sk , ASIdOrRange *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static ASIdOrRange *sk_ASIdOrRange_pop(struct stack_st_ASIdOrRange *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((ASIdOrRange *)tmp);
}
}
__inline static ASIdOrRange *sk_ASIdOrRange_shift(struct stack_st_ASIdOrRange *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((ASIdOrRange *)tmp);
}
}
__inline static void sk_ASIdOrRange_pop_free(struct stack_st_ASIdOrRange *sk , void (*freefunc)(ASIdOrRange *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_ASIdOrRange_insert(struct stack_st_ASIdOrRange *sk , ASIdOrRange *ptr ,
                                          int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static ASIdOrRange *sk_ASIdOrRange_set(struct stack_st_ASIdOrRange *sk ,
                                                int idx___0 , ASIdOrRange *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((ASIdOrRange *)tmp);
}
}
__inline static int sk_ASIdOrRange_find(struct stack_st_ASIdOrRange *sk , ASIdOrRange *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_ASIdOrRange_find_ex(struct stack_st_ASIdOrRange *sk , ASIdOrRange *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_ASIdOrRange_sort(struct stack_st_ASIdOrRange *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_ASIdOrRange_is_sorted(struct stack_st_ASIdOrRange  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_ASIdOrRange *sk_ASIdOrRange_dup(struct stack_st_ASIdOrRange  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_ASIdOrRange *)tmp);
}
}
__inline static struct stack_st_ASIdOrRange *sk_ASIdOrRange_deep_copy(struct stack_st_ASIdOrRange  const  *sk ,
                                                                      ASIdOrRange *(*copyfunc)(ASIdOrRange const   *a ) ,
                                                                      void (*freefunc)(ASIdOrRange *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_ASIdOrRange *)tmp);
}
}
__inline static sk_ASIdOrRange_compfunc sk_ASIdOrRange_set_cmp_func(struct stack_st_ASIdOrRange *sk ,
                                                                    int (*compare___1)(ASIdOrRange const   **a ,
                                                                                       ASIdOrRange const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(ASIdOrRange const   **a , ASIdOrRange const   **b ))tmp);
}
}
extern ASRange *ASRange_new(void) ;
extern void ASRange_free(ASRange *a ) ;
extern ASRange *d2i_ASRange(ASRange **a , unsigned char const   **in , long len ) ;
extern int i2d_ASRange(ASRange *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASRange_it ;
extern ASIdOrRange *ASIdOrRange_new(void) ;
extern void ASIdOrRange_free(ASIdOrRange *a ) ;
extern ASIdOrRange *d2i_ASIdOrRange(ASIdOrRange **a , unsigned char const   **in ,
                                    long len ) ;
extern int i2d_ASIdOrRange(ASIdOrRange *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASIdOrRange_it ;
extern ASIdentifierChoice *ASIdentifierChoice_new(void) ;
extern void ASIdentifierChoice_free(ASIdentifierChoice *a ) ;
extern ASIdentifierChoice *d2i_ASIdentifierChoice(ASIdentifierChoice **a , unsigned char const   **in ,
                                                  long len ) ;
extern int i2d_ASIdentifierChoice(ASIdentifierChoice *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASIdentifierChoice_it ;
extern ASIdentifiers *ASIdentifiers_new(void) ;
extern void ASIdentifiers_free(ASIdentifiers *a ) ;
extern ASIdentifiers *d2i_ASIdentifiers(ASIdentifiers **a , unsigned char const   **in ,
                                        long len ) ;
extern int i2d_ASIdentifiers(ASIdentifiers *a , unsigned char **out ) ;
extern ASN1_ITEM const   ASIdentifiers_it ;
__inline static int sk_IPAddressOrRange_num(struct stack_st_IPAddressOrRange  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static IPAddressOrRange *sk_IPAddressOrRange_value(struct stack_st_IPAddressOrRange  const  *sk ,
                                                            int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((IPAddressOrRange *)tmp);
}
}
__inline static struct stack_st_IPAddressOrRange *sk_IPAddressOrRange_new(int (*compare___1)(IPAddressOrRange const   **a ,
                                                                                             IPAddressOrRange const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_IPAddressOrRange *)tmp);
}
}
__inline static struct stack_st_IPAddressOrRange *sk_IPAddressOrRange_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_IPAddressOrRange *)tmp);
}
}
__inline static struct stack_st_IPAddressOrRange *sk_IPAddressOrRange_new_reserve(int (*compare___1)(IPAddressOrRange const   **a ,
                                                                                                     IPAddressOrRange const   **b ) ,
                                                                                  int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_IPAddressOrRange *)tmp);
}
}
__inline static int sk_IPAddressOrRange_reserve(struct stack_st_IPAddressOrRange *sk ,
                                                int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_IPAddressOrRange_free(struct stack_st_IPAddressOrRange *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_IPAddressOrRange_zero(struct stack_st_IPAddressOrRange *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static IPAddressOrRange *sk_IPAddressOrRange_delete(struct stack_st_IPAddressOrRange *sk ,
                                                             int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((IPAddressOrRange *)tmp);
}
}
__inline static IPAddressOrRange *sk_IPAddressOrRange_delete_ptr(struct stack_st_IPAddressOrRange *sk ,
                                                                 IPAddressOrRange *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((IPAddressOrRange *)tmp);
}
}
__inline static int sk_IPAddressOrRange_push(struct stack_st_IPAddressOrRange *sk ,
                                             IPAddressOrRange *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_IPAddressOrRange_unshift(struct stack_st_IPAddressOrRange *sk ,
                                                IPAddressOrRange *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static IPAddressOrRange *sk_IPAddressOrRange_pop(struct stack_st_IPAddressOrRange *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((IPAddressOrRange *)tmp);
}
}
__inline static IPAddressOrRange *sk_IPAddressOrRange_shift(struct stack_st_IPAddressOrRange *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((IPAddressOrRange *)tmp);
}
}
__inline static void sk_IPAddressOrRange_pop_free(struct stack_st_IPAddressOrRange *sk ,
                                                  void (*freefunc)(IPAddressOrRange *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_IPAddressOrRange_insert(struct stack_st_IPAddressOrRange *sk ,
                                               IPAddressOrRange *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static IPAddressOrRange *sk_IPAddressOrRange_set(struct stack_st_IPAddressOrRange *sk ,
                                                          int idx___0 , IPAddressOrRange *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((IPAddressOrRange *)tmp);
}
}
__inline static int sk_IPAddressOrRange_find(struct stack_st_IPAddressOrRange *sk ,
                                             IPAddressOrRange *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_IPAddressOrRange_find_ex(struct stack_st_IPAddressOrRange *sk ,
                                                IPAddressOrRange *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_IPAddressOrRange_sort(struct stack_st_IPAddressOrRange *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_IPAddressOrRange_is_sorted(struct stack_st_IPAddressOrRange  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_IPAddressOrRange *sk_IPAddressOrRange_dup(struct stack_st_IPAddressOrRange  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_IPAddressOrRange *)tmp);
}
}
__inline static struct stack_st_IPAddressOrRange *sk_IPAddressOrRange_deep_copy(struct stack_st_IPAddressOrRange  const  *sk ,
                                                                                IPAddressOrRange *(*copyfunc)(IPAddressOrRange const   *a ) ,
                                                                                void (*freefunc)(IPAddressOrRange *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_IPAddressOrRange *)tmp);
}
}
__inline static sk_IPAddressOrRange_compfunc sk_IPAddressOrRange_set_cmp_func(struct stack_st_IPAddressOrRange *sk ,
                                                                              int (*compare___1)(IPAddressOrRange const   **a ,
                                                                                                 IPAddressOrRange const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(IPAddressOrRange const   **a , IPAddressOrRange const   **b ))tmp);
}
}
__inline static int sk_IPAddressFamily_num(struct stack_st_IPAddressFamily  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static IPAddressFamily *sk_IPAddressFamily_value(struct stack_st_IPAddressFamily  const  *sk ,
                                                          int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((IPAddressFamily *)tmp);
}
}
__inline static struct stack_st_IPAddressFamily *sk_IPAddressFamily_new(int (*compare___1)(IPAddressFamily const   **a ,
                                                                                           IPAddressFamily const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_IPAddressFamily *)tmp);
}
}
__inline static struct stack_st_IPAddressFamily *sk_IPAddressFamily_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_IPAddressFamily *)tmp);
}
}
__inline static struct stack_st_IPAddressFamily *sk_IPAddressFamily_new_reserve(int (*compare___1)(IPAddressFamily const   **a ,
                                                                                                   IPAddressFamily const   **b ) ,
                                                                                int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_IPAddressFamily *)tmp);
}
}
__inline static int sk_IPAddressFamily_reserve(struct stack_st_IPAddressFamily *sk ,
                                               int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_IPAddressFamily_free(struct stack_st_IPAddressFamily *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_IPAddressFamily_zero(struct stack_st_IPAddressFamily *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static IPAddressFamily *sk_IPAddressFamily_delete(struct stack_st_IPAddressFamily *sk ,
                                                           int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((IPAddressFamily *)tmp);
}
}
__inline static IPAddressFamily *sk_IPAddressFamily_delete_ptr(struct stack_st_IPAddressFamily *sk ,
                                                               IPAddressFamily *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((IPAddressFamily *)tmp);
}
}
__inline static int sk_IPAddressFamily_push(struct stack_st_IPAddressFamily *sk ,
                                            IPAddressFamily *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_IPAddressFamily_unshift(struct stack_st_IPAddressFamily *sk ,
                                               IPAddressFamily *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static IPAddressFamily *sk_IPAddressFamily_pop(struct stack_st_IPAddressFamily *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((IPAddressFamily *)tmp);
}
}
__inline static IPAddressFamily *sk_IPAddressFamily_shift(struct stack_st_IPAddressFamily *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((IPAddressFamily *)tmp);
}
}
__inline static void sk_IPAddressFamily_pop_free(struct stack_st_IPAddressFamily *sk ,
                                                 void (*freefunc)(IPAddressFamily *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_IPAddressFamily_insert(struct stack_st_IPAddressFamily *sk ,
                                              IPAddressFamily *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static IPAddressFamily *sk_IPAddressFamily_set(struct stack_st_IPAddressFamily *sk ,
                                                        int idx___0 , IPAddressFamily *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((IPAddressFamily *)tmp);
}
}
__inline static int sk_IPAddressFamily_find(struct stack_st_IPAddressFamily *sk ,
                                            IPAddressFamily *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_IPAddressFamily_find_ex(struct stack_st_IPAddressFamily *sk ,
                                               IPAddressFamily *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_IPAddressFamily_sort(struct stack_st_IPAddressFamily *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_IPAddressFamily_is_sorted(struct stack_st_IPAddressFamily  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_IPAddressFamily *sk_IPAddressFamily_dup(struct stack_st_IPAddressFamily  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_IPAddressFamily *)tmp);
}
}
__inline static struct stack_st_IPAddressFamily *sk_IPAddressFamily_deep_copy(struct stack_st_IPAddressFamily  const  *sk ,
                                                                              IPAddressFamily *(*copyfunc)(IPAddressFamily const   *a ) ,
                                                                              void (*freefunc)(IPAddressFamily *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_IPAddressFamily *)tmp);
}
}
__inline static sk_IPAddressFamily_compfunc sk_IPAddressFamily_set_cmp_func(struct stack_st_IPAddressFamily *sk ,
                                                                            int (*compare___1)(IPAddressFamily const   **a ,
                                                                                               IPAddressFamily const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(IPAddressFamily const   **a , IPAddressFamily const   **b ))tmp);
}
}
extern IPAddressRange *IPAddressRange_new(void) ;
extern void IPAddressRange_free(IPAddressRange *a ) ;
extern IPAddressRange *d2i_IPAddressRange(IPAddressRange **a , unsigned char const   **in ,
                                          long len ) ;
extern int i2d_IPAddressRange(IPAddressRange *a , unsigned char **out ) ;
extern ASN1_ITEM const   IPAddressRange_it ;
extern IPAddressOrRange *IPAddressOrRange_new(void) ;
extern void IPAddressOrRange_free(IPAddressOrRange *a ) ;
extern IPAddressOrRange *d2i_IPAddressOrRange(IPAddressOrRange **a , unsigned char const   **in ,
                                              long len ) ;
extern int i2d_IPAddressOrRange(IPAddressOrRange *a , unsigned char **out ) ;
extern ASN1_ITEM const   IPAddressOrRange_it ;
extern IPAddressChoice *IPAddressChoice_new(void) ;
extern void IPAddressChoice_free(IPAddressChoice *a ) ;
extern IPAddressChoice *d2i_IPAddressChoice(IPAddressChoice **a , unsigned char const   **in ,
                                            long len ) ;
extern int i2d_IPAddressChoice(IPAddressChoice *a , unsigned char **out ) ;
extern ASN1_ITEM const   IPAddressChoice_it ;
extern IPAddressFamily *IPAddressFamily_new(void) ;
extern void IPAddressFamily_free(IPAddressFamily *a ) ;
extern IPAddressFamily *d2i_IPAddressFamily(IPAddressFamily **a , unsigned char const   **in ,
                                            long len ) ;
extern int i2d_IPAddressFamily(IPAddressFamily *a , unsigned char **out ) ;
extern ASN1_ITEM const   IPAddressFamily_it ;
extern int X509v3_asid_add_inherit(ASIdentifiers *asid , int which ) ;
extern int X509v3_asid_add_id_or_range(ASIdentifiers *asid , int which , ASN1_INTEGER *min ,
                                       ASN1_INTEGER *max ) ;
extern int X509v3_addr_add_inherit(IPAddrBlocks *addr , unsigned int const   afi ,
                                   unsigned int const   *safi ) ;
extern int X509v3_addr_add_prefix(IPAddrBlocks *addr , unsigned int const   afi ,
                                  unsigned int const   *safi , unsigned char *a ,
                                  int const   prefixlen ) ;
extern int X509v3_addr_add_range(IPAddrBlocks *addr , unsigned int const   afi , unsigned int const   *safi ,
                                 unsigned char *min , unsigned char *max ) ;
extern unsigned int X509v3_addr_get_afi(IPAddressFamily const   *f ) ;
extern int X509v3_addr_get_range(IPAddressOrRange *aor , unsigned int const   afi ,
                                 unsigned char *min , unsigned char *max , int const   length ) ;
extern int X509v3_asid_is_canonical(ASIdentifiers *asid ) ;
extern int X509v3_addr_is_canonical(IPAddrBlocks *addr ) ;
extern int X509v3_asid_canonize(ASIdentifiers *asid ) ;
extern int X509v3_addr_canonize(IPAddrBlocks *addr ) ;
extern int X509v3_asid_inherits(ASIdentifiers *asid ) ;
extern int X509v3_addr_inherits(IPAddrBlocks *addr ) ;
extern int X509v3_asid_subset(ASIdentifiers *a , ASIdentifiers *b ) ;
extern int X509v3_addr_subset(IPAddrBlocks *a , IPAddrBlocks *b ) ;
extern int X509v3_asid_validate_path(X509_STORE_CTX * ) ;
extern int X509v3_addr_validate_path(X509_STORE_CTX * ) ;
extern int X509v3_asid_validate_resource_set(struct stack_st_X509 *chain , ASIdentifiers *ext ,
                                             int allow_inheritance ) ;
extern int X509v3_addr_validate_resource_set(struct stack_st_X509 *chain , IPAddrBlocks *ext ,
                                             int allow_inheritance ) ;
__inline static int sk_ASN1_STRING_num(struct stack_st_ASN1_STRING  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static ASN1_STRING *sk_ASN1_STRING_value(struct stack_st_ASN1_STRING  const  *sk ,
                                                  int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((ASN1_STRING *)tmp);
}
}
__inline static struct stack_st_ASN1_STRING *sk_ASN1_STRING_new(int (*compare___1)(ASN1_STRING const   **a ,
                                                                                   ASN1_STRING const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_ASN1_STRING *)tmp);
}
}
__inline static struct stack_st_ASN1_STRING *sk_ASN1_STRING_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_ASN1_STRING *)tmp);
}
}
__inline static struct stack_st_ASN1_STRING *sk_ASN1_STRING_new_reserve(int (*compare___1)(ASN1_STRING const   **a ,
                                                                                           ASN1_STRING const   **b ) ,
                                                                        int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_ASN1_STRING *)tmp);
}
}
__inline static int sk_ASN1_STRING_reserve(struct stack_st_ASN1_STRING *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_ASN1_STRING_free(struct stack_st_ASN1_STRING *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_ASN1_STRING_zero(struct stack_st_ASN1_STRING *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static ASN1_STRING *sk_ASN1_STRING_delete(struct stack_st_ASN1_STRING *sk ,
                                                   int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((ASN1_STRING *)tmp);
}
}
__inline static ASN1_STRING *sk_ASN1_STRING_delete_ptr(struct stack_st_ASN1_STRING *sk ,
                                                       ASN1_STRING *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((ASN1_STRING *)tmp);
}
}
__inline static int sk_ASN1_STRING_push(struct stack_st_ASN1_STRING *sk , ASN1_STRING *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_ASN1_STRING_unshift(struct stack_st_ASN1_STRING *sk , ASN1_STRING *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static ASN1_STRING *sk_ASN1_STRING_pop(struct stack_st_ASN1_STRING *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((ASN1_STRING *)tmp);
}
}
__inline static ASN1_STRING *sk_ASN1_STRING_shift(struct stack_st_ASN1_STRING *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((ASN1_STRING *)tmp);
}
}
__inline static void sk_ASN1_STRING_pop_free(struct stack_st_ASN1_STRING *sk , void (*freefunc)(ASN1_STRING *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_ASN1_STRING_insert(struct stack_st_ASN1_STRING *sk , ASN1_STRING *ptr ,
                                          int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static ASN1_STRING *sk_ASN1_STRING_set(struct stack_st_ASN1_STRING *sk ,
                                                int idx___0 , ASN1_STRING *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((ASN1_STRING *)tmp);
}
}
__inline static int sk_ASN1_STRING_find(struct stack_st_ASN1_STRING *sk , ASN1_STRING *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_ASN1_STRING_find_ex(struct stack_st_ASN1_STRING *sk , ASN1_STRING *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_ASN1_STRING_sort(struct stack_st_ASN1_STRING *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_ASN1_STRING_is_sorted(struct stack_st_ASN1_STRING  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_ASN1_STRING *sk_ASN1_STRING_dup(struct stack_st_ASN1_STRING  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_ASN1_STRING *)tmp);
}
}
__inline static struct stack_st_ASN1_STRING *sk_ASN1_STRING_deep_copy(struct stack_st_ASN1_STRING  const  *sk ,
                                                                      ASN1_STRING *(*copyfunc)(ASN1_STRING const   *a ) ,
                                                                      void (*freefunc)(ASN1_STRING *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_ASN1_STRING *)tmp);
}
}
__inline static sk_ASN1_STRING_compfunc sk_ASN1_STRING_set_cmp_func(struct stack_st_ASN1_STRING *sk ,
                                                                    int (*compare___1)(ASN1_STRING const   **a ,
                                                                                       ASN1_STRING const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(ASN1_STRING const   **a , ASN1_STRING const   **b ))tmp);
}
}
extern NAMING_AUTHORITY *NAMING_AUTHORITY_new(void) ;
extern void NAMING_AUTHORITY_free(NAMING_AUTHORITY *a ) ;
extern NAMING_AUTHORITY *d2i_NAMING_AUTHORITY(NAMING_AUTHORITY **a , unsigned char const   **in ,
                                              long len ) ;
extern int i2d_NAMING_AUTHORITY(NAMING_AUTHORITY *a , unsigned char **out ) ;
extern ASN1_ITEM const   NAMING_AUTHORITY_it ;
extern PROFESSION_INFO *PROFESSION_INFO_new(void) ;
extern void PROFESSION_INFO_free(PROFESSION_INFO *a ) ;
extern PROFESSION_INFO *d2i_PROFESSION_INFO(PROFESSION_INFO **a , unsigned char const   **in ,
                                            long len ) ;
extern int i2d_PROFESSION_INFO(PROFESSION_INFO *a , unsigned char **out ) ;
extern ASN1_ITEM const   PROFESSION_INFO_it ;
extern ADMISSIONS *ADMISSIONS_new(void) ;
extern void ADMISSIONS_free(ADMISSIONS *a ) ;
extern ADMISSIONS *d2i_ADMISSIONS(ADMISSIONS **a , unsigned char const   **in , long len ) ;
extern int i2d_ADMISSIONS(ADMISSIONS *a , unsigned char **out ) ;
extern ASN1_ITEM const   ADMISSIONS_it ;
extern ADMISSION_SYNTAX *ADMISSION_SYNTAX_new(void) ;
extern void ADMISSION_SYNTAX_free(ADMISSION_SYNTAX *a ) ;
extern ADMISSION_SYNTAX *d2i_ADMISSION_SYNTAX(ADMISSION_SYNTAX **a , unsigned char const   **in ,
                                              long len ) ;
extern int i2d_ADMISSION_SYNTAX(ADMISSION_SYNTAX *a , unsigned char **out ) ;
extern ASN1_ITEM const   ADMISSION_SYNTAX_it ;
__inline static int sk_ADMISSIONS_num(struct stack_st_ADMISSIONS  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static ADMISSIONS *sk_ADMISSIONS_value(struct stack_st_ADMISSIONS  const  *sk ,
                                                int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((ADMISSIONS *)tmp);
}
}
__inline static struct stack_st_ADMISSIONS *sk_ADMISSIONS_new(int (*compare___1)(ADMISSIONS const   **a ,
                                                                                 ADMISSIONS const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_ADMISSIONS *)tmp);
}
}
__inline static struct stack_st_ADMISSIONS *sk_ADMISSIONS_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_ADMISSIONS *)tmp);
}
}
__inline static struct stack_st_ADMISSIONS *sk_ADMISSIONS_new_reserve(int (*compare___1)(ADMISSIONS const   **a ,
                                                                                         ADMISSIONS const   **b ) ,
                                                                      int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_ADMISSIONS *)tmp);
}
}
__inline static int sk_ADMISSIONS_reserve(struct stack_st_ADMISSIONS *sk , int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_ADMISSIONS_free(struct stack_st_ADMISSIONS *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_ADMISSIONS_zero(struct stack_st_ADMISSIONS *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static ADMISSIONS *sk_ADMISSIONS_delete(struct stack_st_ADMISSIONS *sk ,
                                                 int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((ADMISSIONS *)tmp);
}
}
__inline static ADMISSIONS *sk_ADMISSIONS_delete_ptr(struct stack_st_ADMISSIONS *sk ,
                                                     ADMISSIONS *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((ADMISSIONS *)tmp);
}
}
__inline static int sk_ADMISSIONS_push(struct stack_st_ADMISSIONS *sk , ADMISSIONS *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_ADMISSIONS_unshift(struct stack_st_ADMISSIONS *sk , ADMISSIONS *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static ADMISSIONS *sk_ADMISSIONS_pop(struct stack_st_ADMISSIONS *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((ADMISSIONS *)tmp);
}
}
__inline static ADMISSIONS *sk_ADMISSIONS_shift(struct stack_st_ADMISSIONS *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((ADMISSIONS *)tmp);
}
}
__inline static void sk_ADMISSIONS_pop_free(struct stack_st_ADMISSIONS *sk , void (*freefunc)(ADMISSIONS *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_ADMISSIONS_insert(struct stack_st_ADMISSIONS *sk , ADMISSIONS *ptr ,
                                         int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static ADMISSIONS *sk_ADMISSIONS_set(struct stack_st_ADMISSIONS *sk , int idx___0 ,
                                              ADMISSIONS *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((ADMISSIONS *)tmp);
}
}
__inline static int sk_ADMISSIONS_find(struct stack_st_ADMISSIONS *sk , ADMISSIONS *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_ADMISSIONS_find_ex(struct stack_st_ADMISSIONS *sk , ADMISSIONS *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_ADMISSIONS_sort(struct stack_st_ADMISSIONS *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_ADMISSIONS_is_sorted(struct stack_st_ADMISSIONS  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_ADMISSIONS *sk_ADMISSIONS_dup(struct stack_st_ADMISSIONS  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_ADMISSIONS *)tmp);
}
}
__inline static struct stack_st_ADMISSIONS *sk_ADMISSIONS_deep_copy(struct stack_st_ADMISSIONS  const  *sk ,
                                                                    ADMISSIONS *(*copyfunc)(ADMISSIONS const   *a ) ,
                                                                    void (*freefunc)(ADMISSIONS *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_ADMISSIONS *)tmp);
}
}
__inline static sk_ADMISSIONS_compfunc sk_ADMISSIONS_set_cmp_func(struct stack_st_ADMISSIONS *sk ,
                                                                  int (*compare___1)(ADMISSIONS const   **a ,
                                                                                     ADMISSIONS const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(ADMISSIONS const   **a , ADMISSIONS const   **b ))tmp);
}
}
__inline static int sk_PROFESSION_INFO_num(struct stack_st_PROFESSION_INFO  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_num((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static PROFESSION_INFO *sk_PROFESSION_INFO_value(struct stack_st_PROFESSION_INFO  const  *sk ,
                                                          int idx___0 )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_value((OPENSSL_STACK const   *)sk, idx___0);
  return ((PROFESSION_INFO *)tmp);
}
}
__inline static struct stack_st_PROFESSION_INFO *sk_PROFESSION_INFO_new(int (*compare___1)(PROFESSION_INFO const   **a ,
                                                                                           PROFESSION_INFO const   **b ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new((int (*)(void const   * , void const   * ))compare___1);
  return ((struct stack_st_PROFESSION_INFO *)tmp);
}
}
__inline static struct stack_st_PROFESSION_INFO *sk_PROFESSION_INFO_new_null(void)
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_null();
  return ((struct stack_st_PROFESSION_INFO *)tmp);
}
}
__inline static struct stack_st_PROFESSION_INFO *sk_PROFESSION_INFO_new_reserve(int (*compare___1)(PROFESSION_INFO const   **a ,
                                                                                                   PROFESSION_INFO const   **b ) ,
                                                                                int n )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_new_reserve((int (*)(void const   * , void const   * ))compare___1,
                               n);
  return ((struct stack_st_PROFESSION_INFO *)tmp);
}
}
__inline static int sk_PROFESSION_INFO_reserve(struct stack_st_PROFESSION_INFO *sk ,
                                               int n )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n);
  return (tmp);
}
}
__inline static void sk_PROFESSION_INFO_free(struct stack_st_PROFESSION_INFO *sk )
{


  {
  OPENSSL_sk_free((OPENSSL_STACK *)sk);
  return;
}
}
__inline static void sk_PROFESSION_INFO_zero(struct stack_st_PROFESSION_INFO *sk )
{


  {
  OPENSSL_sk_zero((OPENSSL_STACK *)sk);
  return;
}
}
__inline static PROFESSION_INFO *sk_PROFESSION_INFO_delete(struct stack_st_PROFESSION_INFO *sk ,
                                                           int i )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete((OPENSSL_STACK *)sk, i);
  return ((PROFESSION_INFO *)tmp);
}
}
__inline static PROFESSION_INFO *sk_PROFESSION_INFO_delete_ptr(struct stack_st_PROFESSION_INFO *sk ,
                                                               PROFESSION_INFO *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, (void const   *)ptr);
  return ((PROFESSION_INFO *)tmp);
}
}
__inline static int sk_PROFESSION_INFO_push(struct stack_st_PROFESSION_INFO *sk ,
                                            PROFESSION_INFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_push((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_PROFESSION_INFO_unshift(struct stack_st_PROFESSION_INFO *sk ,
                                               PROFESSION_INFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static PROFESSION_INFO *sk_PROFESSION_INFO_pop(struct stack_st_PROFESSION_INFO *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_pop((OPENSSL_STACK *)sk);
  return ((PROFESSION_INFO *)tmp);
}
}
__inline static PROFESSION_INFO *sk_PROFESSION_INFO_shift(struct stack_st_PROFESSION_INFO *sk )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_shift((OPENSSL_STACK *)sk);
  return ((PROFESSION_INFO *)tmp);
}
}
__inline static void sk_PROFESSION_INFO_pop_free(struct stack_st_PROFESSION_INFO *sk ,
                                                 void (*freefunc)(PROFESSION_INFO *a ) )
{


  {
  OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (void (*)(void * ))freefunc);
  return;
}
}
__inline static int sk_PROFESSION_INFO_insert(struct stack_st_PROFESSION_INFO *sk ,
                                              PROFESSION_INFO *ptr , int idx___0 )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_insert((OPENSSL_STACK *)sk, (void const   *)ptr, idx___0);
  return (tmp);
}
}
__inline static PROFESSION_INFO *sk_PROFESSION_INFO_set(struct stack_st_PROFESSION_INFO *sk ,
                                                        int idx___0 , PROFESSION_INFO *ptr )
{
  void *tmp ;

  {
  tmp = OPENSSL_sk_set((OPENSSL_STACK *)sk, idx___0, (void const   *)ptr);
  return ((PROFESSION_INFO *)tmp);
}
}
__inline static int sk_PROFESSION_INFO_find(struct stack_st_PROFESSION_INFO *sk ,
                                            PROFESSION_INFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static int sk_PROFESSION_INFO_find_ex(struct stack_st_PROFESSION_INFO *sk ,
                                               PROFESSION_INFO *ptr )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (void const   *)ptr);
  return (tmp);
}
}
__inline static void sk_PROFESSION_INFO_sort(struct stack_st_PROFESSION_INFO *sk )
{


  {
  OPENSSL_sk_sort((OPENSSL_STACK *)sk);
  return;
}
}
__inline static int sk_PROFESSION_INFO_is_sorted(struct stack_st_PROFESSION_INFO  const  *sk )
{
  int tmp ;

  {
  tmp = OPENSSL_sk_is_sorted((OPENSSL_STACK const   *)sk);
  return (tmp);
}
}
__inline static struct stack_st_PROFESSION_INFO *sk_PROFESSION_INFO_dup(struct stack_st_PROFESSION_INFO  const  *sk )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_dup((OPENSSL_STACK const   *)sk);
  return ((struct stack_st_PROFESSION_INFO *)tmp);
}
}
__inline static struct stack_st_PROFESSION_INFO *sk_PROFESSION_INFO_deep_copy(struct stack_st_PROFESSION_INFO  const  *sk ,
                                                                              PROFESSION_INFO *(*copyfunc)(PROFESSION_INFO const   *a ) ,
                                                                              void (*freefunc)(PROFESSION_INFO *a ) )
{
  OPENSSL_STACK *tmp ;

  {
  tmp = OPENSSL_sk_deep_copy((OPENSSL_STACK const   *)sk, (void *(*)(void const   * ))copyfunc,
                             (void (*)(void * ))freefunc);
  return ((struct stack_st_PROFESSION_INFO *)tmp);
}
}
__inline static sk_PROFESSION_INFO_compfunc sk_PROFESSION_INFO_set_cmp_func(struct stack_st_PROFESSION_INFO *sk ,
                                                                            int (*compare___1)(PROFESSION_INFO const   **a ,
                                                                                               PROFESSION_INFO const   **b ) )
{
  OPENSSL_sk_compfunc tmp ;

  {
  tmp = OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (int (*)(void const   * , void const   * ))compare___1);
  return ((int (*)(PROFESSION_INFO const   **a , PROFESSION_INFO const   **b ))tmp);
}
}
extern ASN1_OBJECT const   *NAMING_AUTHORITY_get0_authorityId(NAMING_AUTHORITY const   *n ) ;
extern ASN1_IA5STRING const   *NAMING_AUTHORITY_get0_authorityURL(NAMING_AUTHORITY const   *n ) ;
extern ASN1_STRING const   *NAMING_AUTHORITY_get0_authorityText(NAMING_AUTHORITY const   *n ) ;
extern void NAMING_AUTHORITY_set0_authorityId(NAMING_AUTHORITY *n , ASN1_OBJECT *namingAuthorityId ) ;
extern void NAMING_AUTHORITY_set0_authorityURL(NAMING_AUTHORITY *n , ASN1_IA5STRING *namingAuthorityUrl ) ;
extern void NAMING_AUTHORITY_set0_authorityText(NAMING_AUTHORITY *n , ASN1_STRING *namingAuthorityText ) ;
extern GENERAL_NAME const   *ADMISSION_SYNTAX_get0_admissionAuthority(ADMISSION_SYNTAX const   *as ) ;
extern void ADMISSION_SYNTAX_set0_admissionAuthority(ADMISSION_SYNTAX *as , GENERAL_NAME *aa ) ;
extern struct stack_st_ADMISSIONS  const  *ADMISSION_SYNTAX_get0_contentsOfAdmissions(ADMISSION_SYNTAX const   *as ) ;
extern void ADMISSION_SYNTAX_set0_contentsOfAdmissions(ADMISSION_SYNTAX *as , struct stack_st_ADMISSIONS *a ) ;
extern GENERAL_NAME const   *ADMISSIONS_get0_admissionAuthority(ADMISSIONS const   *a ) ;
extern void ADMISSIONS_set0_admissionAuthority(ADMISSIONS *a , GENERAL_NAME *aa ) ;
extern NAMING_AUTHORITY const   *ADMISSIONS_get0_namingAuthority(ADMISSIONS const   *a ) ;
extern void ADMISSIONS_set0_namingAuthority(ADMISSIONS *a , NAMING_AUTHORITY *na ) ;
extern PROFESSION_INFOS const   *ADMISSIONS_get0_professionInfos(ADMISSIONS const   *a ) ;
extern void ADMISSIONS_set0_professionInfos(ADMISSIONS *a , PROFESSION_INFOS *pi ) ;
extern ASN1_OCTET_STRING const   *PROFESSION_INFO_get0_addProfessionInfo(PROFESSION_INFO const   *pi ) ;
extern void PROFESSION_INFO_set0_addProfessionInfo(PROFESSION_INFO *pi , ASN1_OCTET_STRING *aos ) ;
extern NAMING_AUTHORITY const   *PROFESSION_INFO_get0_namingAuthority(PROFESSION_INFO const   *pi ) ;
extern void PROFESSION_INFO_set0_namingAuthority(PROFESSION_INFO *pi , NAMING_AUTHORITY *na ) ;
extern struct stack_st_ASN1_STRING  const  *PROFESSION_INFO_get0_professionItems(PROFESSION_INFO const   *pi ) ;
extern void PROFESSION_INFO_set0_professionItems(PROFESSION_INFO *pi , struct stack_st_ASN1_STRING *as ) ;
extern struct stack_st_ASN1_OBJECT  const  *PROFESSION_INFO_get0_professionOIDs(PROFESSION_INFO const   *pi ) ;
extern void PROFESSION_INFO_set0_professionOIDs(PROFESSION_INFO *pi , struct stack_st_ASN1_OBJECT *po ) ;
extern ASN1_PRINTABLESTRING const   *PROFESSION_INFO_get0_registrationNumber(PROFESSION_INFO const   *pi ) ;
extern void PROFESSION_INFO_set0_registrationNumber(PROFESSION_INFO *pi , ASN1_PRINTABLESTRING *rn ) ;
__inline static int const_error(void)
{


  {
  return (-1);
}
}
void set_die_routine(void (*routine)(char const   * , va_list params )  __attribute__((__noreturn__)) ) ;
report_fn get_die_message_routine(void) ;
void set_error_routine(void (*routine)(char const   * , va_list params ) ) ;
report_fn get_error_routine(void) ;
void set_warn_routine(void (*routine)(char const   * , va_list params ) ) ;
report_fn get_warn_routine(void) ;
void set_die_is_recursing_routine(int (*routine)(void) ) ;
int starts_with(char const   *str , char const   *prefix___1 ) ;
int istarts_with(char const   *str , char const   *prefix___1 ) ;
__inline static int skip_prefix(char const   *str , char const   *prefix___1 , char const   **out )
{
  char const   *tmp ;
  char const   *tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *prefix___1) {
      *out = str;
      return (1);
    }
    tmp = str;
    str ++;
    tmp___0 = prefix___1;
    prefix___1 ++;
    if (! ((int const   )*tmp == (int const   )*tmp___0)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int skip_to_optional_arg_default(char const   *str , char const   *prefix___1 , char const   **arg ,
                                 char const   *def___0 ) ;
__inline static int skip_to_optional_arg(char const   *str , char const   *prefix___1 ,
                                         char const   **arg )
{
  int tmp ;

  {
  tmp = skip_to_optional_arg_default(str, prefix___1, arg, (char const   *)"");
  return (tmp);
}
}
__inline static int skip_prefix_mem(char const   *buf___19 , size_t len___0 , char const   *prefix___1 ,
                                    char const   **out , size_t *outlen )
{
  size_t prefix_len___1 ;
  size_t tmp ;
  int tmp___0 ;

  {
  tmp = strlen(prefix___1);
  prefix_len___1 = tmp;
  if (prefix_len___1 <= len___0) {
    tmp___0 = memcmp((void const   *)buf___19, (void const   *)prefix___1, prefix_len___1);
    if (! tmp___0) {
      *out = buf___19 + prefix_len___1;
      *outlen = len___0 - prefix_len___1;
      return (1);
    }
  }
  return (0);
}
}
__inline static int strip_suffix_mem(char const   *buf___19 , size_t *len___0 , char const   *suffix___3 )
{
  size_t suflen ;
  size_t tmp ;
  int tmp___0 ;

  {
  tmp = strlen(suffix___3);
  suflen = tmp;
  if (*len___0 < suflen) {
    return (0);
  } else {
    tmp___0 = memcmp((void const   *)(buf___19 + (*len___0 - suflen)), (void const   *)suffix___3,
                     suflen);
    if (tmp___0) {
      return (0);
    }
  }
  *len___0 -= suflen;
  return (1);
}
}
__inline static int strip_suffix(char const   *str , char const   *suffix___3 , size_t *len___0 )
{
  int tmp ;

  {
  *len___0 = strlen(str);
  tmp = strip_suffix_mem(str, len___0, suffix___3);
  return (tmp);
}
}
__inline static int ends_with(char const   *str , char const   *suffix___3 )
{
  size_t len___0 ;
  int tmp ;

  {
  tmp = strip_suffix(str, suffix___3, & len___0);
  return (tmp);
}
}
extern int ( __attribute__((__leaf__)) memfd_create)(char const   *__name , unsigned int __flags )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) mlock2)(void const   *__addr , size_t __length ,
                                               unsigned int __flags )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) pkey_alloc)(unsigned int __flags , unsigned int __access_rights )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) pkey_set)(int __key , unsigned int __access_rights )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) pkey_get)(int __key )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) pkey_free)(int __key )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) pkey_mprotect)(void *__addr , size_t __len ,
                                                      int __prot , int __pkey )  __attribute__((__nothrow__)) ;
extern void *( __attribute__((__leaf__)) mmap)(void *__addr , size_t __len , int __prot ,
                                               int __flags , int __fd , __off_t __offset )  __asm__("mmap64") __attribute__((__nothrow__)) ;
extern void *( __attribute__((__leaf__)) mmap64)(void *__addr , size_t __len , int __prot ,
                                                 int __flags , int __fd , __off_t __offset )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) munmap)(void *__addr , size_t __len )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) mprotect)(void *__addr , size_t __len , int __prot )  __attribute__((__nothrow__)) ;
extern int msync(void *__addr , size_t __len , int __flags ) ;
extern int ( __attribute__((__leaf__)) madvise)(void *__addr , size_t __len , int __advice )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) posix_madvise)(void *__addr , size_t __len ,
                                                      int __advice )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) mlock)(void const   *__addr , size_t __len )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) munlock)(void const   *__addr , size_t __len )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) mlockall)(int __flags )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) munlockall)(void)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) mincore)(void *__start , size_t __len , unsigned char *__vec )  __attribute__((__nothrow__)) ;
extern void *( __attribute__((__leaf__)) mremap)(void *__addr , size_t __old_len ,
                                                 size_t __new_len , int __flags  , ...)  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__leaf__)) remap_file_pages)(void *__start , size_t __size ,
                                                         int __prot , size_t __pgoff ,
                                                         int __flags )  __attribute__((__nothrow__)) ;
extern int shm_open(char const   *__name , int __oflag , mode_t __mode ) ;
extern int shm_unlink(char const   *__name ) ;
ssize_t read_in_full(int fd , void *buf___19 , size_t count___0 ) ;
size_t gitstrlcpy(char *dest , char const   *src , size_t size ) ;
FILE *git_fopen(char const   *path___6 , char const   *mode___1 ) ;
__inline static size_t st_add(size_t a , size_t b___0 )
{


  {
  if (b___0 > (18446744073709551615UL >> (8UL * sizeof(uintmax_t ) - 8UL * sizeof(a))) - a) {
    die((char const   *)"size_t overflow: %lu + %lu", a, b___0);
  }
  return (a + b___0);
}
}
__inline static size_t st_mult(size_t a , size_t b___0 )
{


  {
  if (a) {
    if (b___0 > (18446744073709551615UL >> (8UL * sizeof(uintmax_t ) - 8UL * sizeof(a))) / a) {
      die((char const   *)"size_t overflow: %lu * %lu", a, b___0);
    }
  }
  return (a * b___0);
}
}
__inline static size_t st_sub(size_t a , size_t b___0 )
{


  {
  if (a < b___0) {
    die((char const   *)"size_t underflow: %lu - %lu", a, b___0);
  }
  return (a - b___0);
}
}
__inline static size_t st_left_shift(size_t a , unsigned int shift )
{


  {
  if ((unsigned long )shift < 8UL * sizeof(a)) {
    if (a > (18446744073709551615UL >> (8UL * sizeof(uintmax_t ) - 8UL * sizeof(a))) >> shift) {
      die((char const   *)"size_t overflow: %lu << %u", a, shift);
    }
  }
  return (a << shift);
}
}
__inline static unsigned long cast_size_t_to_ulong(size_t a )
{


  {
  if (a != a) {
    die((char const   *)"object too large to read on this platform: %lu is cut off to %lu",
        a, a);
  }
  return (a);
}
}
char *xstrdup(char const   *str ) ;
void *xmalloc(size_t size ) ;
void *xmallocz(size_t size ) ;
void *xmallocz_gently(size_t size ) ;
void *xmemdupz(void const   *data , size_t len___0 ) ;
char *xstrndup(char const   *str , size_t len___0 ) ;
void *xrealloc(void *ptr , size_t size ) ;
void *xcalloc(size_t nmemb , size_t size ) ;
void xsetenv(char const   *name___0 , char const   *value , int overwrite ) ;
void *xmmap(void *start , size_t length , int prot , int flags___0 , int fd , off_t offset___2 ) ;
char const   *mmap_os_err(void) ;
void *xmmap_gently(void *start , size_t length , int prot , int flags___0 , int fd ,
                   off_t offset___2 ) ;
int xopen(char const   *path___6 , int oflag  , ...) ;
ssize_t xread(int fd , void *buf___19 , size_t len___0 ) ;
ssize_t xwrite(int fd , void const   *buf___19 , size_t len___0 ) ;
ssize_t xpread(int fd , void *buf___19 , size_t len___0 , off_t offset___2 ) ;
int xdup(int fd ) ;
FILE *xfopen(char const   *path___6 , char const   *mode___1 ) ;
FILE *xfdopen(int fd , char const   *mode___1 ) ;
int xmkstemp(char *filename_template ) ;
int xmkstemp_mode(char *filename_template , int mode___1 ) ;
char *xgetcwd(void) ;
FILE *fopen_for_writing(char const   *path___6 ) ;
FILE *fopen_or_warn(char const   *path___6 , char const   *mode___1 ) ;
int xstrncmpz(char const   *s___1 , char const   *t , size_t len___0 ) ;
__inline static void copy_array(void *dst , void const   *src , size_t n , size_t size )
{
  size_t tmp ;

  {
  if (n) {
    tmp = st_mult(size, n);
    memcpy(dst, src, tmp);
  }
  return;
}
}
__inline static void move_array(void *dst , void const   *src , size_t n , size_t size )
{
  size_t tmp ;

  {
  if (n) {
    tmp = st_mult(size, n);
    memmove(dst, src, tmp);
  }
  return;
}
}
__inline static char *xstrdup_or_null(char const   *str )
{
  char *tmp ;
  char *tmp___0 ;

  {
  if (str) {
    tmp = xstrdup(str);
    tmp___0 = tmp;
  } else {
    tmp___0 = (char *)((void *)0);
  }
  return (tmp___0);
}
}
__inline static size_t xsize_t(off_t len___0 )
{


  {
  if (len___0 < 0L) {
    die((char const   *)"Cannot handle files this big");
  } else
  if ((uintmax_t )len___0 > 18446744073709551615UL) {
    die((char const   *)"Cannot handle files this big");
  }
  return ((size_t )len___0);
}
}
int ( /* format attribute */  xsnprintf)(char *dst , size_t max , char const   *fmt
                                         , ...) ;
int xgethostname(char *buf___19 , size_t len___0 ) ;
unsigned char const   tolower_trans_tbl[256] ;
unsigned char const   sane_ctype[256] ;
__inline static int sane_case(int x , int high )
{


  {
  if (((int const   )sane_ctype[(unsigned char )x] & 4) != 0) {
    x = (x & -33) | high;
  }
  return (x);
}
}
__inline static int sane_iscase(int x , int is_lower )
{


  {
  if (! (((int const   )sane_ctype[(unsigned char )x] & 4) != 0)) {
    return (0);
  }
  if (is_lower) {
    return ((x & 0x20) != 0);
  } else {
    return ((x & 0x20) == 0);
  }
}
}
__inline static int skip_iprefix(char const   *str , char const   *prefix___1 , char const   **out )
{
  char const   *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *prefix___1) {
      *out = str;
      return (1);
    }
    tmp = str;
    str ++;
    tmp___0 = sane_case((int )((unsigned char )*tmp), 0x20);
    tmp___1 = prefix___1;
    prefix___1 ++;
    tmp___2 = sane_case((int )((unsigned char )*tmp___1), 0x20);
    if (! (tmp___0 == tmp___2)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
__inline static int strtoul_ui(char const   *s___1 , int base , unsigned int *result___0 )
{
  unsigned long ul ;
  char *p___0 ;
  int *tmp ;
  char *tmp___0 ;
  int *tmp___1 ;

  {
  tmp = __errno_location();
  *tmp = 0;
  tmp___0 = strchr(s___1, '-');
  if (tmp___0) {
    return (-1);
  }
  ul = strtoul((char const   * __restrict  )s___1, (char ** __restrict  )(& p___0),
               base);
  tmp___1 = __errno_location();
  if (*tmp___1) {
    return (-1);
  } else
  if (*p___0) {
    return (-1);
  } else
  if ((unsigned long )p___0 == (unsigned long )s___1) {
    return (-1);
  } else
  if ((unsigned long )((unsigned int )ul) != ul) {
    return (-1);
  }
  *result___0 = (unsigned int )ul;
  return (0);
}
}
__inline static int strtol_i(char const   *s___1 , int base , int *result___0 )
{
  long ul ;
  char *p___0 ;
  int *tmp ;
  int *tmp___0 ;

  {
  tmp = __errno_location();
  *tmp = 0;
  ul = strtol((char const   * __restrict  )s___1, (char ** __restrict  )(& p___0),
              base);
  tmp___0 = __errno_location();
  if (*tmp___0) {
    return (-1);
  } else
  if (*p___0) {
    return (-1);
  } else
  if ((unsigned long )p___0 == (unsigned long )s___1) {
    return (-1);
  } else
  if ((long )((int )ul) != ul) {
    return (-1);
  }
  *result___0 = (int )ul;
  return (0);
}
}
void git_stable_qsort(void *b___0 , size_t n , size_t s___1 , int (*cmp___0)(void const   * ,
                                                                             void const   * ) ) ;
__inline static void sane_qsort(void *base , size_t nmemb , size_t size , int (*compar)(void const   * ,
                                                                                        void const   * ) )
{


  {
  if (nmemb > 1UL) {
    qsort(base, nmemb, size, compar);
  }
  return;
}
}
int git_qsort_s(void *b___0 , size_t n , size_t s___1 , int (*cmp___0)(void const   * ,
                                                                       void const   * ,
                                                                       void * ) ,
                void *ctx___0 ) ;
__inline static int regexec_buf(regex_t const   *preg , char const   *buf___19 , size_t size ,
                                size_t nmatch , regmatch_t *pmatch , int eflags )
{
  int tmp ;
  int tmp___0 ;

  {
  if (nmatch > 0UL) {
    if (pmatch) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  assert(tmp);
  (pmatch + 0)->rm_so = 0;
  (pmatch + 0)->rm_eo = (regoff_t )size;
  tmp___0 = regexec((regex_t const   * __restrict  )preg, (char const   * __restrict  )buf___19,
                    nmatch, (regmatch_t * __restrict  )pmatch, eflags | (1 << 2));
  return (tmp___0);
}
}
int BUG_exit_code ;
void ( /* format attribute */  BUG_fl)(char const   *file___0 , int line___0 , char const   *fmt
                                       , ...)  __attribute__((__noreturn__)) ;
int unlink_or_warn(char const   *file___0 ) ;
int unlink_or_msg(char const   *file___0 , struct strbuf *err___4 ) ;
int rmdir_or_warn(char const   *file___0 ) ;
int remove_or_warn(unsigned int mode___1 , char const   *file___0 ) ;
int access_or_warn(char const   *path___6 , int mode___1 , unsigned int flag ) ;
int access_or_die(char const   *path___6 , int mode___1 , unsigned int flag ) ;
int warn_on_fopen_errors(char const   *path___6 ) ;
int open_nofollow(char const   *path___6 , int flags___0 ) ;
__inline static int is_missing_file_error(int errno_ )
{
  int tmp ;

  {
  if (errno_ == 2) {
    tmp = 1;
  } else
  if (errno_ == 20) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
int cmd_main(int argc , char const   **argv___0 ) ;
int trace2_cmd_exit_fl(char const   *file___0 , int line___0 , int code ) ;
__inline static void *container_of_or_null_offset(void *ptr , size_t offset___2 )
{
  char *tmp ;

  {
  if (ptr) {
    tmp = (char *)ptr - offset___2;
  } else {
    tmp = (char *)((void *)0);
  }
  return ((void *)tmp);
}
}
void sleep_millisec(int millisec ) ;
char strbuf_slopbuf[1] ;
void strbuf_init(struct strbuf *sb___6 , size_t hint ) ;
void strbuf_release(struct strbuf *sb___6 ) ;
char *strbuf_detach(struct strbuf *sb___6 , size_t *sz ) ;
void strbuf_attach(struct strbuf *sb___6 , void *buf___19 , size_t len___0 , size_t alloc___0 ) ;
__inline static void strbuf_swap(struct strbuf *a , struct strbuf *b___0 )
{
  void *_swap_a_ptr ;
  void *_swap_b_ptr ;
  unsigned char _swap_buffer[sizeof(*a)] ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    _swap_a_ptr = (void *)a;
    _swap_b_ptr = (void *)b___0;
    memcpy((void *)(_swap_buffer), (void const   *)_swap_a_ptr, sizeof(*a));
    memcpy(_swap_a_ptr, (void const   *)_swap_b_ptr, sizeof(*a) + (sizeof(char [1]) - 1UL));
    memcpy(_swap_b_ptr, (void const   *)(_swap_buffer), sizeof(*a));
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
__inline static size_t strbuf_avail(struct strbuf  const  *sb___6 )
{
  size_t tmp ;

  {
  if (sb___6->alloc) {
    tmp = (sb___6->alloc - sb___6->len) - 1UL;
  } else {
    tmp = (size_t )0;
  }
  return ((size_t )tmp);
}
}
void strbuf_grow(struct strbuf *sb___6 , size_t extra___2 ) ;
__inline static void strbuf_setlen(struct strbuf *sb___6 , size_t len___0 )
{
  size_t tmp ;

  {
  if (sb___6->alloc) {
    tmp = sb___6->alloc - 1UL;
  } else {
    tmp = (size_t )0;
  }
  if (len___0 > tmp) {
    BUG_fl((char const   *)"strbuf.h", 163, (char const   *)"strbuf_setlen() beyond buffer");
  }
  sb___6->len = len___0;
  if ((unsigned long )sb___6->buf != (unsigned long )(strbuf_slopbuf)) {
    *(sb___6->buf + len___0) = (char )'\000';
  } else {
    assert(! strbuf_slopbuf[0]);
  }
  return;
}
}
void strbuf_trim(struct strbuf *sb___6 ) ;
void strbuf_rtrim(struct strbuf *sb___6 ) ;
void strbuf_ltrim(struct strbuf *sb___6 ) ;
void strbuf_trim_trailing_dir_sep(struct strbuf *sb___6 ) ;
void strbuf_trim_trailing_newline(struct strbuf *sb___6 ) ;
int strbuf_reencode(struct strbuf *sb___6 , char const   *from___0 , char const   *to ) ;
void strbuf_tolower(struct strbuf *sb___6 ) ;
int strbuf_cmp(struct strbuf  const  *a , struct strbuf  const  *b___0 ) ;
__inline static void strbuf_addch(struct strbuf *sb___6 , int c___0 )
{
  size_t tmp ;
  size_t tmp___0 ;

  {
  tmp = strbuf_avail((struct strbuf  const  *)sb___6);
  if (! tmp) {
    strbuf_grow(sb___6, (size_t )1);
  }
  tmp___0 = sb___6->len;
  (sb___6->len) ++;
  *(sb___6->buf + tmp___0) = (char )c___0;
  *(sb___6->buf + sb___6->len) = (char )'\000';
  return;
}
}
void strbuf_addchars(struct strbuf *sb___6 , int c___0 , size_t n ) ;
void strbuf_insert(struct strbuf *sb___6 , size_t pos , void const   *data , size_t len___0 ) ;
__inline static void strbuf_insertstr(struct strbuf *sb___6 , size_t pos , char const   *s___1 )
{
  size_t tmp ;

  {
  tmp = strlen(s___1);
  strbuf_insert(sb___6, pos, (void const   *)s___1, tmp);
  return;
}
}
void strbuf_vinsertf(struct strbuf *sb___6 , size_t pos , char const   *fmt , va_list ap ) ;
void ( /* format attribute */  strbuf_insertf)(struct strbuf *sb___6 , size_t pos ,
                                               char const   *fmt  , ...) ;
void strbuf_remove(struct strbuf *sb___6 , size_t pos , size_t len___0 ) ;
void strbuf_splice(struct strbuf *sb___6 , size_t pos , size_t len___0 , void const   *data ,
                   size_t dlen ) ;
void strbuf_add_commented_lines(struct strbuf *out , char const   *buf___19 , size_t size ) ;
void strbuf_add(struct strbuf *sb___6 , void const   *data , size_t len___0 ) ;
__inline static void strbuf_addstr(struct strbuf *sb___6 , char const   *s___1 )
{
  size_t tmp ;

  {
  tmp = strlen(s___1);
  strbuf_add(sb___6, (void const   *)s___1, tmp);
  return;
}
}
void strbuf_addbuf(struct strbuf *sb___6 , struct strbuf  const  *sb2 ) ;
char const   *strbuf_join_argv(struct strbuf *buf___19 , int argc , char const   **argv___0 ,
                               char delim___0 ) ;
void strbuf_expand(struct strbuf *sb___6 , char const   *format___0 , size_t (*fn)(struct strbuf *sb ,
                                                                                   char const   *placeholder ,
                                                                                   void *context ) ,
                   void *context___0 ) ;
size_t strbuf_expand_literal_cb(struct strbuf *sb___6 , char const   *placeholder ,
                                void *context___0 ) ;
size_t strbuf_expand_dict_cb(struct strbuf *sb___6 , char const   *placeholder , void *context___0 ) ;
void strbuf_addbuf_percentquote(struct strbuf *dst , struct strbuf  const  *src ) ;
void strbuf_add_percentencode(struct strbuf *dst , char const   *src , int flags___0 ) ;
void strbuf_humanise_bytes(struct strbuf *buf___19 , off_t bytes ) ;
void strbuf_humanise_rate(struct strbuf *buf___19 , off_t bytes ) ;
void ( /* format attribute */  strbuf_addf)(struct strbuf *sb___6 , char const   *fmt
                                            , ...) ;
void ( /* format attribute */  strbuf_commented_addf)(struct strbuf *sb___6 , char const   *fmt
                                                      , ...) ;
void ( /* format attribute */  strbuf_vaddf)(struct strbuf *sb___6 , char const   *fmt ,
                                             va_list ap ) ;
void strbuf_addftime(struct strbuf *sb___6 , char const   *fmt , struct tm  const  *tm ,
                     int tz_offset , int suppress_tz_name ) ;
size_t strbuf_fread(struct strbuf *sb___6 , size_t size , FILE *f ) ;
ssize_t strbuf_read(struct strbuf *sb___6 , int fd , size_t hint ) ;
ssize_t strbuf_read_once(struct strbuf *sb___6 , int fd , size_t hint ) ;
ssize_t strbuf_read_file(struct strbuf *sb___6 , char const   *path___6 , size_t hint ) ;
int strbuf_readlink(struct strbuf *sb___6 , char const   *path___6 , size_t hint ) ;
ssize_t strbuf_write(struct strbuf *sb___6 , FILE *f ) ;
int strbuf_getline_lf(struct strbuf *sb___6 , FILE *fp ) ;
int strbuf_getline_nul(struct strbuf *sb___6 , FILE *fp ) ;
int strbuf_getline(struct strbuf *sb___6 , FILE *fp ) ;
int strbuf_getwholeline(struct strbuf *sb___6 , FILE *fp , int term___1 ) ;
int strbuf_appendwholeline(struct strbuf *sb___6 , FILE *fp , int term___1 ) ;
int strbuf_getwholeline_fd(struct strbuf *sb___6 , int fd , int term___1 ) ;
int strbuf_getcwd(struct strbuf *sb___6 ) ;
void strbuf_add_absolute_path(struct strbuf *sb___6 , char const   *path___6 ) ;
void strbuf_add_real_path(struct strbuf *sb___6 , char const   *path___6 ) ;
int strbuf_normalize_path(struct strbuf *src ) ;
void strbuf_stripspace(struct strbuf *sb___6 , int skip_comments ) ;
__inline static int strbuf_strip_suffix(struct strbuf *sb___6 , char const   *suffix___3 )
{
  int tmp ;

  {
  tmp = strip_suffix_mem((char const   *)sb___6->buf, & sb___6->len, suffix___3);
  if (tmp) {
    strbuf_setlen(sb___6, sb___6->len);
    return (1);
  } else {
    return (0);
  }
}
}
struct strbuf **strbuf_split_buf(char const   *str , size_t slen , int terminator ,
                                 int max ) ;
__inline static struct strbuf **strbuf_split_str(char const   *str , int terminator ,
                                                 int max )
{
  size_t tmp ;
  struct strbuf **tmp___0 ;

  {
  tmp = strlen(str);
  tmp___0 = strbuf_split_buf(str, tmp, terminator, max);
  return (tmp___0);
}
}
__inline static struct strbuf **strbuf_split_max(struct strbuf  const  *sb___6 , int terminator ,
                                                 int max )
{
  struct strbuf **tmp ;

  {
  tmp = strbuf_split_buf((char const   *)sb___6->buf, (size_t )sb___6->len, terminator,
                         max);
  return (tmp);
}
}
__inline static struct strbuf **strbuf_split(struct strbuf  const  *sb___6 , int terminator )
{
  struct strbuf **tmp ;

  {
  tmp = strbuf_split_max(sb___6, terminator, 0);
  return (tmp);
}
}
void strbuf_add_separated_string_list(struct strbuf *str , char const   *sep , struct string_list *slist ) ;
void strbuf_list_free(struct strbuf **sbs ) ;
void strbuf_repo_add_unique_abbrev(struct strbuf *sb___6 , struct repository *repo ,
                                   struct object_id  const  *oid , int abbrev_len ) ;
void strbuf_add_unique_abbrev(struct strbuf *sb___6 , struct object_id  const  *oid ,
                              int abbrev_len ) ;
int launch_editor(char const   *path___6 , struct strbuf *buffer___5 , char const   **env ) ;
int launch_sequence_editor(char const   *path___6 , struct strbuf *buffer___5 , char const   **env ) ;
int strbuf_edit_interactively(struct strbuf *buffer___5 , char const   *path___6 ,
                              char const   **env ) ;
void strbuf_add_lines(struct strbuf *out , char const   *prefix___1 , char const   *buf___19 ,
                      size_t size ) ;
void strbuf_addstr_xml_quoted(struct strbuf *buf___19 , char const   *s___1 ) ;
__inline static void strbuf_complete(struct strbuf *sb___6 , char term___1 )
{


  {
  if (sb___6->len) {
    if ((int )*(sb___6->buf + (sb___6->len - 1UL)) != (int )term___1) {
      strbuf_addch(sb___6, (int )term___1);
    }
  }
  return;
}
}
__inline static void strbuf_complete_line(struct strbuf *sb___6 )
{


  {
  strbuf_complete(sb___6, (char )'\n');
  return;
}
}
void strbuf_branchname(struct strbuf *sb___6 , char const   *name___0 , unsigned int allowed___0 ) ;
int strbuf_check_branch_ref(struct strbuf *sb___6 , char const   *name___0 ) ;
int is_rfc3986_unreserved(char ch___0 ) ;
int is_rfc3986_reserved_or_unreserved(char ch___0 ) ;
void strbuf_addstr_urlencode(struct strbuf *sb___6 , char const   *s___1 , int (*allow_unencoded_fn)(char ch ) ) ;
int ( /* format attribute */  printf_ln)(char const   *fmt  , ...) ;
int ( /* format attribute */  fprintf_ln)(FILE *fp , char const   *fmt  , ...) ;
char *xstrdup_tolower(char const   *string___0 ) ;
char *xstrdup_toupper(char const   *string___0 ) ;
char *( /* format attribute */  xstrvfmt)(char const   *fmt , va_list ap ) ;
char *( /* format attribute */  xstrfmt)(char const   *fmt  , ...) ;
char const   *( /* format attribute */  mkpath)(char const   *fmt  , ...) ;
char *( /* format attribute */  mkpathdup)(char const   *fmt  , ...) ;
char *( /* format attribute */  mksnpath)(char *buf___19 , size_t n , char const   *fmt
                                          , ...) ;
void ( /* format attribute */  strbuf_git_common_path)(struct strbuf *sb___6 , struct repository  const  *repo ,
                                                       char const   *fmt  , ...) ;
char const   *( /* format attribute */  git_common_path)(char const   *fmt  , ...) ;
char *( /* format attribute */  repo_git_path)(struct repository  const  *repo , char const   *fmt
                                               , ...) ;
void ( /* format attribute */  strbuf_repo_git_path)(struct strbuf *sb___6 , struct repository  const  *repo ,
                                                     char const   *fmt  , ...) ;
char const   *( /* format attribute */  git_path)(char const   *fmt  , ...) ;
char *( /* format attribute */  git_pathdup)(char const   *fmt  , ...) ;
char *( /* format attribute */  git_path_buf)(struct strbuf *buf___19 , char const   *fmt
                                              , ...) ;
void ( /* format attribute */  strbuf_git_path)(struct strbuf *sb___6 , char const   *fmt
                                                , ...) ;
char *( /* format attribute */  repo_worktree_path)(struct repository  const  *repo ,
                                                    char const   *fmt  , ...) ;
void ( /* format attribute */  strbuf_repo_worktree_path)(struct strbuf *sb___6 ,
                                                          struct repository  const  *repo ,
                                                          char const   *fmt  , ...) ;
char *( /* format attribute */  git_pathdup_submodule)(char const   *path___6 , char const   *fmt
                                                       , ...) ;
int ( /* format attribute */  strbuf_git_path_submodule)(struct strbuf *buf___19 ,
                                                         char const   *path___6 ,
                                                         char const   *fmt  , ...) ;
void report_linked_checkout_garbage(void) ;
char const   *git_path_squash_msg(struct repository *r ) ;
char const   *git_path_merge_msg(struct repository *r ) ;
char const   *git_path_merge_rr(struct repository *r ) ;
char const   *git_path_merge_mode(struct repository *r ) ;
char const   *git_path_merge_head(struct repository *r ) ;
char const   *git_path_merge_autostash(struct repository *r ) ;
char const   *git_path_auto_merge(struct repository *r ) ;
char const   *git_path_fetch_head(struct repository *r ) ;
char const   *git_path_shallow(struct repository *r ) ;
int ends_with_path_components(char const   *path___6 , char const   *components ) ;
struct repository *the_repository ;
void repo_set_gitdir(struct repository *repo , char const   *root , struct set_gitdir_args  const  *o ) ;
void repo_set_worktree(struct repository *repo , char const   *path___6 ) ;
void repo_set_hash_algo(struct repository *repo , int hash_algo ) ;
void initialize_the_repository(void) ;
int repo_init(struct repository *repo , char const   *gitdir___0 , char const   *worktree ) ;
int repo_submodule_init(struct repository *subrepo , struct repository *superproject ,
                        char const   *path___6 , struct object_id  const  *treeish_name ) ;
void repo_clear(struct repository *repo ) ;
int repo_read_index(struct repository *repo ) ;
int repo_hold_locked_index(struct repository *repo , struct lock_file *lf , int flags___0 ) ;
int repo_read_index_preload(struct repository *repo , struct pathspec  const  *pathspec___1 ,
                            unsigned int refresh_flags ) ;
int repo_read_index_unmerged(struct repository *repo ) ;
void repo_update_index_if_able(struct repository *repo , struct lock_file *lockfile ) ;
void prepare_repo_settings(struct repository *r ) ;
int upgrade_repository_format(int target_version ) ;
void sha1_compression_states(uint32_t *ihv , uint32_t const   *m , uint32_t *W , uint32_t (*states)[5] ) ;
void SHA1DCInit(SHA1_CTX *ctx___0 ) ;
void SHA1DCSetSafeHash(SHA1_CTX *ctx___0 , int safehash ) ;
void SHA1DCSetUseUBC(SHA1_CTX *ctx___0 , int ubc_check___0 ) ;
void SHA1DCSetUseDetectColl(SHA1_CTX *ctx___0 , int detect_coll ) ;
void SHA1DCSetDetectReducedRoundCollision(SHA1_CTX *ctx___0 , int reduced_round_coll ) ;
void SHA1DCSetCallback(SHA1_CTX *ctx___0 , void (*callback)(uint64_t  , uint32_t const   * ,
                                                            uint32_t const   * , uint32_t const   * ,
                                                            uint32_t const   * ) ) ;
void SHA1DCUpdate(SHA1_CTX *ctx___0 , char const   *buf___19 , size_t len___0 ) ;
int SHA1DCFinal(unsigned char *output___4 , SHA1_CTX *ctx___0 ) ;
void git_SHA1DCFinal(unsigned char *hash___0 , SHA1_CTX *ctx___0 ) ;
void git_SHA1DCUpdate(SHA1_CTX *ctx___0 , void const   *vdata , unsigned long len___0 ) ;
void blk_SHA256_Init(blk_SHA256_CTX *ctx___0 ) ;
void blk_SHA256_Update(blk_SHA256_CTX *ctx___0 , void const   *data , size_t len___0 ) ;
void blk_SHA256_Final(unsigned char *digest , blk_SHA256_CTX *ctx___0 ) ;
__inline static void git_SHA1_Clone(SHA1_CTX *dst , SHA1_CTX const   *src )
{


  {
  memcpy((void *)dst, (void const   *)src, sizeof(*dst));
  return;
}
}
__inline static void git_SHA256_Clone(blk_SHA256_CTX *dst , blk_SHA256_CTX const   *src )
{


  {
  memcpy((void *)dst, (void const   *)src, sizeof(*dst));
  return;
}
}
struct git_hash_algo  const  hash_algos[3] ;
int hash_algo_by_name(char const   *name___0 ) ;
int hash_algo_by_id(uint32_t format_id ) ;
int hash_algo_by_length(int len___0 ) ;
__inline static int hash_algo_by_ptr(struct git_hash_algo  const  *p___0 )
{


  {
  return ((int )(p___0 - hash_algos));
}
}
struct object_id  const  *null_oid(void) ;
__inline static int hashcmp_algop(unsigned char const   *sha1 , unsigned char const   *sha2 ,
                                  struct git_hash_algo  const  *algop )
{
  int tmp ;
  int tmp___0 ;

  {
  if (algop->rawsz == 32UL) {
    tmp = memcmp((void const   *)sha1, (void const   *)sha2, (size_t )32);
    return (tmp);
  }
  tmp___0 = memcmp((void const   *)sha1, (void const   *)sha2, (size_t )20);
  return (tmp___0);
}
}
__inline static int hashcmp(unsigned char const   *sha1 , unsigned char const   *sha2 )
{
  int tmp ;

  {
  tmp = hashcmp_algop(sha1, sha2, the_repository->hash_algo);
  return (tmp);
}
}
__inline static int oidcmp(struct object_id  const  *oid1 , struct object_id  const  *oid2 )
{
  struct git_hash_algo  const  *algop ;
  int tmp ;

  {
  if (! oid1->algo) {
    algop = the_repository->hash_algo;
  } else {
    algop = & hash_algos[oid1->algo];
  }
  tmp = hashcmp_algop((unsigned char const   *)(oid1->hash), (unsigned char const   *)(oid2->hash),
                      algop);
  return (tmp);
}
}
__inline static int hasheq_algop(unsigned char const   *sha1 , unsigned char const   *sha2 ,
                                 struct git_hash_algo  const  *algop )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (algop->rawsz == 32UL) {
    tmp = memcmp((void const   *)sha1, (void const   *)sha2, (size_t )32);
    if (tmp) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
    return (tmp___0);
  }
  tmp___1 = memcmp((void const   *)sha1, (void const   *)sha2, (size_t )20);
  if (tmp___1) {
    tmp___2 = 0;
  } else {
    tmp___2 = 1;
  }
  return (tmp___2);
}
}
__inline static int hasheq(unsigned char const   *sha1 , unsigned char const   *sha2 )
{
  int tmp ;

  {
  tmp = hasheq_algop(sha1, sha2, the_repository->hash_algo);
  return (tmp);
}
}
__inline static int oideq(struct object_id  const  *oid1 , struct object_id  const  *oid2 )
{
  struct git_hash_algo  const  *algop ;
  int tmp ;

  {
  if (! oid1->algo) {
    algop = the_repository->hash_algo;
  } else {
    algop = & hash_algos[oid1->algo];
  }
  tmp = hasheq_algop((unsigned char const   *)(oid1->hash), (unsigned char const   *)(oid2->hash),
                     algop);
  return (tmp);
}
}
__inline static int is_null_oid(struct object_id  const  *oid )
{
  struct object_id  const  *tmp ;
  int tmp___0 ;

  {
  tmp = null_oid();
  tmp___0 = oideq(oid, tmp);
  return (tmp___0);
}
}
__inline static void hashcpy(unsigned char *sha_dst , unsigned char const   *sha_src )
{


  {
  memcpy((void *)sha_dst, (void const   *)sha_src, (size_t )(the_repository->hash_algo)->rawsz);
  return;
}
}
__inline static void oidcpy(struct object_id *dst , struct object_id  const  *src )
{


  {
  memcpy((void *)(dst->hash), (void const   *)(src->hash), (size_t )32);
  dst->algo = (int )src->algo;
  return;
}
}
__inline static void oidcpy_with_padding(struct object_id *dst , struct object_id  const  *src )
{
  size_t hashsz ;

  {
  if (! src->algo) {
    hashsz = (size_t )(the_repository->hash_algo)->rawsz;
  } else {
    hashsz = (size_t )hash_algos[src->algo].rawsz;
  }
  memcpy((void *)(dst->hash), (void const   *)(src->hash), hashsz);
  memset((void *)(dst->hash + hashsz), 0, 32UL - hashsz);
  dst->algo = (int )src->algo;
  return;
}
}
__inline static struct object_id *oiddup(struct object_id  const  *src )
{
  struct object_id *dst ;
  void *tmp ;

  {
  tmp = xmalloc(sizeof(struct object_id ));
  dst = (struct object_id *)tmp;
  oidcpy(dst, src);
  return (dst);
}
}
__inline static void hashclr(unsigned char *hash___0 )
{


  {
  memset((void *)hash___0, 0, (size_t )(the_repository->hash_algo)->rawsz);
  return;
}
}
__inline static void oidclr(struct object_id *oid )
{


  {
  memset((void *)(oid->hash), 0, (size_t )32);
  oid->algo = hash_algo_by_ptr(the_repository->hash_algo);
  return;
}
}
__inline static void oidread(struct object_id *oid , unsigned char const   *hash___0 )
{


  {
  memcpy((void *)(oid->hash), (void const   *)hash___0, (size_t )(the_repository->hash_algo)->rawsz);
  oid->algo = hash_algo_by_ptr(the_repository->hash_algo);
  return;
}
}
__inline static int is_empty_blob_sha1(unsigned char const   *sha1 )
{
  int tmp ;

  {
  tmp = hasheq(sha1, (unsigned char const   *)(((the_repository->hash_algo)->empty_blob)->hash));
  return (tmp);
}
}
__inline static int is_empty_blob_oid(struct object_id  const  *oid )
{
  int tmp ;

  {
  tmp = oideq(oid, (struct object_id  const  *)(the_repository->hash_algo)->empty_blob);
  return (tmp);
}
}
__inline static int is_empty_tree_sha1(unsigned char const   *sha1 )
{
  int tmp ;

  {
  tmp = hasheq(sha1, (unsigned char const   *)(((the_repository->hash_algo)->empty_tree)->hash));
  return (tmp);
}
}
__inline static int is_empty_tree_oid(struct object_id  const  *oid )
{
  int tmp ;

  {
  tmp = oideq(oid, (struct object_id  const  *)(the_repository->hash_algo)->empty_tree);
  return (tmp);
}
}
__inline static void oid_set_algo(struct object_id *oid , struct git_hash_algo  const  *algop )
{


  {
  oid->algo = hash_algo_by_ptr(algop);
  return;
}
}
char const   *empty_tree_oid_hex(void) ;
char const   *empty_blob_oid_hex(void) ;
unsigned int strhash(char const   *str ) ;
unsigned int strihash(char const   *str ) ;
unsigned int memhash(void const   *buf___19 , size_t len___0 ) ;
unsigned int memihash(void const   *buf___19 , size_t len___0 ) ;
unsigned int memihash_cont(unsigned int hash_seed , void const   *buf___19 , size_t len___0 ) ;
__inline static unsigned int oidhash(struct object_id  const  *oid )
{
  unsigned int hash___0 ;

  {
  memcpy((void *)(& hash___0), (void const   *)(oid->hash), sizeof(hash___0));
  return (hash___0);
}
}
void hashmap_init(struct hashmap *map___0 , int (*equals_function)(void const   *hashmap_cmp_fn_data ,
                                                                   struct hashmap_entry  const  *entry ,
                                                                   struct hashmap_entry  const  *entry_or_key ,
                                                                   void const   *keydata ) ,
                  void const   *cmpfn_data , size_t initial_size ) ;
void hashmap_partial_clear_(struct hashmap *map___0 , ssize_t entry_offset ) ;
void hashmap_clear_(struct hashmap *map___0 , ssize_t entry_offset ) ;
__inline static void hashmap_entry_init(struct hashmap_entry *e , unsigned int hash___0 )
{


  {
  e->hash = hash___0;
  e->next = (struct hashmap_entry *)((void *)0);
  return;
}
}
__inline static unsigned int hashmap_get_size(struct hashmap *map___0 )
{


  {
  if (map___0->do_count_items) {
    return (map___0->private_size);
  }
  BUG_fl((char const   *)"hashmap.h", 329, (char const   *)"hashmap_get_size: size not set");
  return (0U);
}
}
struct hashmap_entry *hashmap_get(struct hashmap  const  *map___0 , struct hashmap_entry  const  *key___1 ,
                                  void const   *keydata ) ;
__inline static struct hashmap_entry *hashmap_get_from_hash(struct hashmap  const  *map___0 ,
                                                            unsigned int hash___0 ,
                                                            void const   *keydata )
{
  struct hashmap_entry key___1 ;
  struct hashmap_entry *tmp ;

  {
  hashmap_entry_init(& key___1, hash___0);
  tmp = hashmap_get(map___0, (struct hashmap_entry  const  *)(& key___1), keydata);
  return (tmp);
}
}
struct hashmap_entry *hashmap_get_next(struct hashmap  const  *map___0 , struct hashmap_entry  const  *entry ) ;
void hashmap_add(struct hashmap *map___0 , struct hashmap_entry *entry ) ;
struct hashmap_entry *hashmap_put(struct hashmap *map___0 , struct hashmap_entry *entry ) ;
struct hashmap_entry *hashmap_remove(struct hashmap *map___0 , struct hashmap_entry  const  *key___1 ,
                                     void const   *keydata ) ;
int hashmap_bucket(struct hashmap  const  *map___0 , unsigned int hash___0 ) ;
void hashmap_iter_init(struct hashmap *map___0 , struct hashmap_iter *iter___0 ) ;
struct hashmap_entry *hashmap_iter_next(struct hashmap_iter *iter___0 ) ;
__inline static struct hashmap_entry *hashmap_iter_first(struct hashmap *map___0 ,
                                                         struct hashmap_iter *iter___0 )
{
  struct hashmap_entry *tmp ;

  {
  hashmap_iter_init(map___0, iter___0);
  tmp = hashmap_iter_next(iter___0);
  return (tmp);
}
}
__inline static void hashmap_disable_item_counting(struct hashmap *map___0 )
{


  {
  map___0->do_count_items = 0U;
  return;
}
}
__inline static void hashmap_enable_item_counting(struct hashmap *map___0 )
{
  unsigned int n ;
  struct hashmap_iter iter___0 ;
  struct hashmap_entry *tmp ;

  {
  n = 0U;
  if (map___0->do_count_items) {
    return;
  }
  hashmap_iter_init(map___0, & iter___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = hashmap_iter_next(& iter___0);
    if (! tmp) {
      goto while_break;
    }
    n ++;
  }
  while_break: /* CIL Label */ ;
  }
  map___0->do_count_items = 1U;
  map___0->private_size = n;
  return;
}
}
void const   *memintern(void const   *data , size_t len___0 ) ;
__inline static char const   *strintern(char const   *string___0 )
{
  size_t tmp ;
  void const   *tmp___0 ;

  {
  tmp = strlen(string___0);
  tmp___0 = memintern((void const   *)string___0, tmp);
  return ((char const   *)tmp___0);
}
}
__inline static void list_add(struct list_head *newp , struct list_head *head___1 )
{


  {
  (head___1->next)->prev = newp;
  newp->next = head___1->next;
  newp->prev = head___1;
  head___1->next = newp;
  return;
}
}
__inline static void list_add_tail(struct list_head *newp , struct list_head *head___1 )
{


  {
  (head___1->prev)->next = newp;
  newp->next = head___1;
  newp->prev = head___1->prev;
  head___1->prev = newp;
  return;
}
}
__inline static void __list_del(struct list_head *prev , struct list_head *next___2 )
{


  {
  next___2->prev = prev;
  prev->next = next___2;
  return;
}
}
__inline static void list_del(struct list_head *elem )
{


  {
  __list_del(elem->prev, elem->next);
  return;
}
}
__inline static void list_del_init(struct list_head *elem )
{
  struct list_head *tmp ;

  {
  list_del(elem);
  tmp = elem;
  elem->prev = tmp;
  elem->next = tmp;
  return;
}
}
__inline static void list_move(struct list_head *elem , struct list_head *head___1 )
{


  {
  __list_del(elem->prev, elem->next);
  list_add(elem, head___1);
  return;
}
}
__inline static void list_replace(struct list_head *old , struct list_head *newp )
{


  {
  newp->next = old->next;
  newp->prev = old->prev;
  (newp->prev)->next = newp;
  (newp->next)->prev = newp;
  return;
}
}
__inline static void list_splice(struct list_head *add___2 , struct list_head *head___1 )
{


  {
  if ((unsigned long )add___2 != (unsigned long )add___2->next) {
    (add___2->next)->prev = head___1;
    (add___2->prev)->next = head___1->next;
    (head___1->next)->prev = add___2->prev;
    head___1->next = add___2->next;
  }
  return;
}
}
__inline static int list_empty(struct list_head *head___1 )
{


  {
  return ((unsigned long )head___1 == (unsigned long )head___1->next);
}
}
__inline static void list_replace_init(struct list_head *old , struct list_head *newp )
{
  struct list_head *head___1 ;
  struct list_head *tmp ;

  {
  head___1 = old->next;
  list_del(old);
  list_add_tail(newp, head___1);
  tmp = old;
  old->prev = tmp;
  old->next = tmp;
  return;
}
}
__inline static void __volatile_list_del(struct volatile_list_head  volatile  *prev ,
                                         struct volatile_list_head  volatile  *next___2 )
{


  {
  next___2->prev = (struct volatile_list_head  volatile  * volatile  )prev;
  prev->next = (struct volatile_list_head  volatile  * volatile  )next___2;
  return;
}
}
__inline static void volatile_list_del(struct volatile_list_head  volatile  *elem )
{


  {
  __volatile_list_del((struct volatile_list_head  volatile  *)elem->prev, (struct volatile_list_head  volatile  *)elem->next);
  return;
}
}
__inline static int volatile_list_empty(struct volatile_list_head  volatile  *head___1 )
{


  {
  return ((unsigned long )head___1 == (unsigned long )head___1->next);
}
}
__inline static void volatile_list_add(struct volatile_list_head  volatile  *newp ,
                                       struct volatile_list_head  volatile  *head___1 )
{


  {
  (head___1->next)->prev = (struct volatile_list_head  volatile  * volatile  )newp;
  newp->next = head___1->next;
  newp->prev = (struct volatile_list_head  volatile  * volatile  )head___1;
  head___1->next = (struct volatile_list_head  volatile  * volatile  )newp;
  return;
}
}
int git_default_advice_config(char const   *var , char const   *value ) ;
void ( /* format attribute */  advise)(char const   *advice  , ...) ;
int advice_enabled(enum advice_type type___0 ) ;
void ( /* format attribute */  advise_if_enabled)(enum advice_type type___0 , char const   *advice
                                                  , ...) ;
int error_resolve_conflict(char const   *me ) ;
void die_resolve_conflict(char const   *me )  __attribute__((__noreturn__)) ;
void die_conclude_merge(void)  __attribute__((__noreturn__)) ;
void die_ff_impossible(void)  __attribute__((__noreturn__)) ;
void advise_on_updating_sparse_paths(struct string_list *pathspec_list ) ;
void detach_advice(char const   *new_name ) ;
extern char *( __attribute__((__leaf__)) gettext)(char const   *__msgid )  __attribute__((__nothrow__,
__format_arg__(1))) ;
extern char *( __attribute__((__leaf__)) dgettext)(char const   *__domainname , char const   *__msgid )  __attribute__((__nothrow__,
__format_arg__(2))) ;
extern char *( __attribute__((__leaf__)) __dgettext)(char const   *__domainname ,
                                                     char const   *__msgid )  __attribute__((__nothrow__,
__format_arg__(2))) ;
extern char *( __attribute__((__leaf__)) dcgettext)(char const   *__domainname , char const   *__msgid ,
                                                    int __category )  __attribute__((__nothrow__,
__format_arg__(2))) ;
extern char *( __attribute__((__leaf__)) __dcgettext)(char const   *__domainname ,
                                                      char const   *__msgid , int __category )  __attribute__((__nothrow__,
__format_arg__(2))) ;
extern char *( __attribute__((__leaf__)) ngettext)(char const   *__msgid1 , char const   *__msgid2 ,
                                                   unsigned long __n )  __attribute__((__nothrow__,
__format_arg__(2), __format_arg__(1))) ;
extern char *( __attribute__((__leaf__)) dngettext)(char const   *__domainname , char const   *__msgid1 ,
                                                    char const   *__msgid2 , unsigned long __n )  __attribute__((__nothrow__,
__format_arg__(3), __format_arg__(2))) ;
extern char *( __attribute__((__leaf__)) dcngettext)(char const   *__domainname ,
                                                     char const   *__msgid1 , char const   *__msgid2 ,
                                                     unsigned long __n , int __category )  __attribute__((__nothrow__,
__format_arg__(3), __format_arg__(2))) ;
extern char *( __attribute__((__leaf__)) textdomain)(char const   *__domainname )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) bindtextdomain)(char const   *__domainname ,
                                                         char const   *__dirname )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) bind_textdomain_codeset)(char const   *__domainname ,
                                                                  char const   *__codeset )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) setlocale)(int __category , char const   *__locale )  __attribute__((__nothrow__)) ;
extern struct lconv *( __attribute__((__leaf__)) localeconv)(void)  __attribute__((__nothrow__)) ;
extern locale_t ( __attribute__((__leaf__)) newlocale)(int __category_mask , char const   *__locale ,
                                                       locale_t __base )  __attribute__((__nothrow__)) ;
extern locale_t ( __attribute__((__leaf__)) duplocale)(locale_t __dataset )  __attribute__((__nothrow__)) ;
extern void ( __attribute__((__leaf__)) freelocale)(locale_t __dataset )  __attribute__((__nothrow__)) ;
extern locale_t ( __attribute__((__leaf__)) uselocale)(locale_t __dataset )  __attribute__((__nothrow__)) ;
void git_setup_gettext(void) ;
int gettext_width(char const   *s___1 ) ;
__inline static char const __attribute__((__format_arg__(1)))  *_(char const   *msgid )
{
  char *tmp ;

  {
  if (! *msgid) {
    return ((char const __attribute__((__format_arg__(1)))  *)"");
  }
  tmp = dcgettext((char const   *)((void *)0), msgid, 5);
  return ((char const __attribute__((__format_arg__(1)))  *)tmp);
}
}
__inline static char const __attribute__((__format_arg__(2), __format_arg__(1)))  *Q_(char const   *msgid ,
                                                                                      char const   *plu ,
                                                                                      unsigned long n )
{
  char *tmp ;

  {
  tmp = dcngettext((char const   *)((void *)0), msgid, plu, n, 5);
  return ((char const __attribute__((__format_arg__(2), __format_arg__(1)))  *)tmp);
}
}
char const   *get_preferred_languages(void) ;
int is_utf8_locale(void) ;
void string_list_init_nodup(struct string_list *list___3 ) ;
void string_list_init_dup(struct string_list *list___3 ) ;
void filter_string_list(struct string_list *list___3 , int free_util , int (*want)(struct string_list_item * ,
                                                                                   void * ) ,
                        void *cb_data ) ;
void string_list_clear(struct string_list *list___3 , int free_util ) ;
void string_list_clear_func(struct string_list *list___3 , void (*clearfunc)(void *p ,
                                                                             char const   *str ) ) ;
int for_each_string_list(struct string_list *list___3 , int (*fn)(struct string_list_item * ,
                                                                  void * ) , void *cb_data ) ;
void string_list_remove_empty_items(struct string_list *list___3 , int free_util ) ;
int string_list_has_string(struct string_list  const  *list___3 , char const   *string___0 ) ;
int string_list_find_insert_index(struct string_list  const  *list___3 , char const   *string___0 ,
                                  int negative_existing_index ) ;
struct string_list_item *string_list_insert(struct string_list *list___3 , char const   *string___0 ) ;
void string_list_remove(struct string_list *list___3 , char const   *string___0 ,
                        int free_util ) ;
struct string_list_item *string_list_lookup(struct string_list *list___3 , char const   *string___0 ) ;
void string_list_remove_duplicates(struct string_list *list___3 , int free_util ) ;
struct string_list_item *string_list_append(struct string_list *list___3 , char const   *string___0 ) ;
struct string_list_item *string_list_append_nodup(struct string_list *list___3 , char *string___0 ) ;
void string_list_sort(struct string_list *list___3 ) ;
int unsorted_string_list_has_string(struct string_list *list___3 , char const   *string___0 ) ;
struct string_list_item *unsorted_string_list_lookup(struct string_list *list___3 ,
                                                     char const   *string___0 ) ;
void unsorted_string_list_delete_item(struct string_list *list___3 , int i , int free_util ) ;
int string_list_split(struct string_list *list___3 , char const   *string___0 , int delim___0 ,
                      int maxsplit ) ;
int string_list_split_in_place(struct string_list *list___3 , char *string___0 , int delim___0 ,
                               int maxsplit ) ;
int global_conv_flags_eol ;
enum auto_crlf auto_crlf ;
void convert_attrs(struct index_state *istate , struct conv_attrs *ca , char const   *path___6 ) ;
enum eol core_eol ;
char *check_roundtrip_encoding ;
char const   *get_cached_convert_stats_ascii(struct index_state *istate , char const   *path___6 ) ;
char const   *get_wt_convert_stats_ascii(char const   *path___6 ) ;
char const   *get_convert_attr_ascii(struct index_state *istate , char const   *path___6 ) ;
int convert_to_git(struct index_state *istate , char const   *path___6 , char const   *src ,
                   size_t len___0 , struct strbuf *dst , int conv_flags ) ;
int convert_to_working_tree_ca(struct conv_attrs  const  *ca , char const   *path___6 ,
                               char const   *src , size_t len___0 , struct strbuf *dst ,
                               struct checkout_metadata  const  *meta ) ;
int async_convert_to_working_tree_ca(struct conv_attrs  const  *ca , char const   *path___6 ,
                                     char const   *src , size_t len___0 , struct strbuf *dst ,
                                     struct checkout_metadata  const  *meta , void *dco ) ;
__inline static int convert_to_working_tree(struct index_state *istate , char const   *path___6 ,
                                            char const   *src , size_t len___0 , struct strbuf *dst ,
                                            struct checkout_metadata  const  *meta )
{
  struct conv_attrs ca ;
  int tmp ;

  {
  convert_attrs(istate, & ca, path___6);
  tmp = convert_to_working_tree_ca((struct conv_attrs  const  *)(& ca), path___6,
                                   src, len___0, dst, meta);
  return (tmp);
}
}
__inline static int async_convert_to_working_tree(struct index_state *istate , char const   *path___6 ,
                                                  char const   *src , size_t len___0 ,
                                                  struct strbuf *dst , struct checkout_metadata  const  *meta ,
                                                  void *dco )
{
  struct conv_attrs ca ;
  int tmp ;

  {
  convert_attrs(istate, & ca, path___6);
  tmp = async_convert_to_working_tree_ca((struct conv_attrs  const  *)(& ca), path___6,
                                         src, len___0, dst, meta, dco);
  return (tmp);
}
}
int async_query_available_blobs(char const   *cmd , struct string_list *available_paths ) ;
int renormalize_buffer(struct index_state *istate , char const   *path___6 , char const   *src ,
                       size_t len___0 , struct strbuf *dst ) ;
__inline static int would_convert_to_git(struct index_state *istate , char const   *path___6 )
{
  int tmp ;

  {
  tmp = convert_to_git(istate, path___6, (char const   *)((void *)0), (size_t )0,
                       (struct strbuf *)((void *)0), 0);
  return (tmp);
}
}
void convert_to_git_filter_fd(struct index_state *istate , char const   *path___6 ,
                              int fd , struct strbuf *dst , int conv_flags ) ;
int would_convert_to_git_filter_fd(struct index_state *istate , char const   *path___6 ) ;
void init_checkout_metadata(struct checkout_metadata *meta , char const   *refname ,
                            struct object_id  const  *treeish , struct object_id  const  *blob ) ;
void clone_checkout_metadata(struct checkout_metadata *dst , struct checkout_metadata  const  *src ,
                             struct object_id  const  *blob ) ;
void reset_parsed_attributes(void) ;
struct stream_filter *get_stream_filter(struct index_state *istate , char const   *path___6 ,
                                        struct object_id  const  *oid ) ;
struct stream_filter *get_stream_filter_ca(struct conv_attrs  const  *ca , struct object_id  const  *oid ) ;
void free_stream_filter(struct stream_filter *filter___0 ) ;
int is_null_stream_filter(struct stream_filter *filter___0 ) ;
int stream_filter(struct stream_filter *filter___0 , char const   *input , size_t *isize_p ,
                  char *output___4 , size_t *osize_p ) ;
enum conv_attrs_classification classify_conv_attrs(struct conv_attrs  const  *ca ) ;
struct trace_key trace_default_key ;
struct trace_key trace_perf_key ;
struct trace_key trace_setup_key ;
void trace_repo_setup(char const   *prefix___1 ) ;
int trace_want(struct trace_key *key___1 ) ;
void trace_override_envvar(struct trace_key *key___1 , char const   *value ) ;
void trace_disable(struct trace_key *key___1 ) ;
uint64_t getnanotime(void) ;
void trace_command_performance(char const   **argv___0 ) ;
void trace_verbatim(struct trace_key *key___1 , void const   *buf___19 , unsigned int len___0 ) ;
uint64_t trace_performance_enter(void) ;
void ( /* format attribute */  trace_printf_key_fl)(char const   *file___0 , int line___0 ,
                                                    struct trace_key *key___1 , char const   *format___0
                                                    , ...) ;
void ( /* format attribute */  trace_argv_printf_fl)(char const   *file___0 , int line___0 ,
                                                     char const   **argv___0 , char const   *format___0
                                                     , ...) ;
void trace_strbuf_fl(char const   *file___0 , int line___0 , struct trace_key *key___1 ,
                     struct strbuf  const  *data ) ;
void ( /* format attribute */  trace_performance_fl)(char const   *file___0 , int line___0 ,
                                                     uint64_t nanos , char const   *format___0
                                                     , ...) ;
void ( /* format attribute */  trace_performance_leave_fl)(char const   *file___0 ,
                                                           int line___0 , uint64_t nanos ,
                                                           char const   *format___0
                                                           , ...) ;
__inline static int trace_pass_fl(struct trace_key *key___1 )
{
  int tmp ;

  {
  if (key___1->fd) {
    tmp = 1;
  } else
  if (! key___1->initialized) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
void trace2_initialize_clock(void) ;
void trace2_initialize_fl(char const   *file___0 , int line___0 ) ;
int trace2_is_enabled(void) ;
void trace2_cmd_start_fl(char const   *file___0 , int line___0 , char const   **argv___0 ) ;
void trace2_cmd_error_va_fl(char const   *file___0 , int line___0 , char const   *fmt ,
                            va_list ap ) ;
void trace2_cmd_path_fl(char const   *file___0 , int line___0 , char const   *pathname ) ;
void trace2_cmd_ancestry_fl(char const   *file___0 , int line___0 , char const   **parent_names ) ;
void trace2_cmd_name_fl(char const   *file___0 , int line___0 , char const   *name___0 ) ;
void trace2_cmd_mode_fl(char const   *file___0 , int line___0 , char const   *mode___1 ) ;
void trace2_cmd_alias_fl(char const   *file___0 , int line___0 , char const   *alias ,
                         char const   **argv___0 ) ;
void trace2_cmd_list_config_fl(char const   *file___0 , int line___0 ) ;
void trace2_cmd_list_env_vars_fl(char const   *file___0 , int line___0 ) ;
void trace2_cmd_set_config_fl(char const   *file___0 , int line___0 , char const   *key___1 ,
                              char const   *value ) ;
void trace2_child_start_fl(char const   *file___0 , int line___0 , struct child_process *cmd ) ;
void trace2_child_exit_fl(char const   *file___0 , int line___0 , struct child_process *cmd ,
                          int child_exit_code ) ;
void trace2_child_ready_fl(char const   *file___0 , int line___0 , struct child_process *cmd ,
                           char const   *ready ) ;
int trace2_exec_fl(char const   *file___0 , int line___0 , char const   *exe , char const   **argv___0 ) ;
void trace2_exec_result_fl(char const   *file___0 , int line___0 , int exec_id , int code ) ;
void trace2_thread_start_fl(char const   *file___0 , int line___0 , char const   *thread_name ) ;
void trace2_thread_exit_fl(char const   *file___0 , int line___0 ) ;
void trace2_def_param_fl(char const   *file___0 , int line___0 , char const   *param ,
                         char const   *value ) ;
void trace2_def_repo_fl(char const   *file___0 , int line___0 , struct repository *repo ) ;
void trace2_region_enter_fl(char const   *file___0 , int line___0 , char const   *category ,
                            char const   *label , struct repository  const  *repo
                            , ...) ;
void trace2_region_enter_printf_va_fl(char const   *file___0 , int line___0 , char const   *category ,
                                      char const   *label , struct repository  const  *repo ,
                                      char const   *fmt , va_list ap ) ;
void trace2_region_enter_printf_fl(char const   *file___0 , int line___0 , char const   *category ,
                                   char const   *label , struct repository  const  *repo ,
                                   char const   *fmt  , ...) ;
void trace2_region_leave_fl(char const   *file___0 , int line___0 , char const   *category ,
                            char const   *label , struct repository  const  *repo
                            , ...) ;
void trace2_region_leave_printf_va_fl(char const   *file___0 , int line___0 , char const   *category ,
                                      char const   *label , struct repository  const  *repo ,
                                      char const   *fmt , va_list ap ) ;
void trace2_region_leave_printf_fl(char const   *file___0 , int line___0 , char const   *category ,
                                   char const   *label , struct repository  const  *repo ,
                                   char const   *fmt  , ...) ;
void trace2_data_string_fl(char const   *file___0 , int line___0 , char const   *category ,
                           struct repository  const  *repo , char const   *key___1 ,
                           char const   *value ) ;
void trace2_data_intmax_fl(char const   *file___0 , int line___0 , char const   *category ,
                           struct repository  const  *repo , char const   *key___1 ,
                           intmax_t value ) ;
void trace2_data_json_fl(char const   *file___0 , int line___0 , char const   *category ,
                         struct repository  const  *repo , char const   *key___1 ,
                         struct json_writer  const  *value ) ;
void trace2_printf_va_fl(char const   *file___0 , int line___0 , char const   *fmt ,
                         va_list ap ) ;
void trace2_printf_fl(char const   *file___0 , int line___0 , char const   *fmt  , ...) ;
void trace2_collect_process_info(enum trace2_process_info_reason reason ) ;
char const   *trace2_session_id(void) ;
int load_pack_revindex(struct packed_git *p___0 ) ;
int load_midx_revindex(struct multi_pack_index *m ) ;
int close_midx_revindex(struct multi_pack_index *m ) ;
int offset_to_pack_pos(struct packed_git *p___0 , off_t ofs , uint32_t *pos ) ;
uint32_t pack_pos_to_index(struct packed_git *p___0 , uint32_t pos ) ;
off_t pack_pos_to_offset(struct packed_git *p___0 , uint32_t pos ) ;
uint32_t pack_pos_to_midx(struct multi_pack_index *m , uint32_t pos ) ;
int midx_to_pack_pos(struct multi_pack_index *m , uint32_t at , uint32_t *pos ) ;
void oid_array_append(struct oid_array *array , struct object_id  const  *oid ) ;
int oid_array_lookup(struct oid_array *array , struct object_id  const  *oid ) ;
void oid_array_clear(struct oid_array *array ) ;
int oid_array_for_each(struct oid_array *array , int (*fn)(struct object_id  const  *oid ,
                                                           void *data ) , void *data ) ;
int oid_array_for_each_unique(struct oid_array *array , int (*fn)(struct object_id  const  *oid ,
                                                                  void *data ) , void *data ) ;
void oid_array_filter(struct oid_array *array , int (*want)(struct object_id  const  *oid ,
                                                            void *data ) , void *cb_data ) ;
void oid_array_sort(struct oid_array *array ) ;
__inline static size_t oid_array_next_unique(struct oid_array *array , size_t cur )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    cur ++;
    if (cur < array->nr) {
      tmp = oideq((struct object_id  const  *)(array->oid + cur), (struct object_id  const  *)((array->oid + cur) - 1));
      if (! tmp) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (cur);
}
}
void mem_pool_init(struct mem_pool *pool , size_t initial_size ) ;
void mem_pool_discard(struct mem_pool *pool , int invalidate_memory ) ;
void *mem_pool_alloc(struct mem_pool *pool , size_t len___0 ) ;
void *mem_pool_calloc(struct mem_pool *pool , size_t count___0 , size_t size ) ;
char *mem_pool_strdup(struct mem_pool *pool , char const   *str ) ;
char *mem_pool_strndup(struct mem_pool *pool , char const   *str , size_t len___0 ) ;
void mem_pool_combine(struct mem_pool *dst , struct mem_pool *src ) ;
int mem_pool_contains(struct mem_pool *pool , void *mem ) ;
extern char const   *zlibVersion(void) ;
extern int deflate(z_streamp strm , int flush ) ;
extern int deflateEnd(z_streamp strm ) ;
extern int inflate(z_streamp strm , int flush ) ;
extern int inflateEnd(z_streamp strm ) ;
extern int deflateSetDictionary(z_streamp strm , Bytef const   *dictionary , uInt dictLength ) ;
extern int deflateGetDictionary(z_streamp strm , Bytef *dictionary , uInt *dictLength ) ;
extern int deflateCopy(z_streamp dest , z_streamp source ) ;
extern int deflateReset(z_streamp strm ) ;
extern int deflateParams(z_streamp strm , int level , int strategy ) ;
extern int deflateTune(z_streamp strm , int good_length , int max_lazy , int nice_length ,
                       int max_chain ) ;
extern uLong deflateBound(z_streamp strm , uLong sourceLen ) ;
extern int deflatePending(z_streamp strm , unsigned int *pending , int *bits ) ;
extern int deflatePrime(z_streamp strm , int bits , int value ) ;
extern int deflateSetHeader(z_streamp strm , gz_headerp head ) ;
extern int inflateSetDictionary(z_streamp strm , Bytef const   *dictionary , uInt dictLength ) ;
extern int inflateGetDictionary(z_streamp strm , Bytef *dictionary , uInt *dictLength ) ;
extern int inflateSync(z_streamp strm ) ;
extern int inflateCopy(z_streamp dest , z_streamp source ) ;
extern int inflateReset(z_streamp strm ) ;
extern int inflateReset2(z_streamp strm , int windowBits ) ;
extern int inflatePrime(z_streamp strm , int bits , int value ) ;
extern long inflateMark(z_streamp strm ) ;
extern int inflateGetHeader(z_streamp strm , gz_headerp head ) ;
extern int inflateBack(z_streamp strm , unsigned int (*in)(void * , unsigned char ** ) ,
                       void *in_desc , int (*out)(void * , unsigned char * , unsigned int  ) ,
                       void *out_desc ) ;
extern int inflateBackEnd(z_streamp strm ) ;
extern uLong zlibCompileFlags(void) ;
extern int compress(Bytef *dest , uLongf *destLen , Bytef const   *source , uLong sourceLen ) ;
extern int compress2(Bytef *dest , uLongf *destLen , Bytef const   *source , uLong sourceLen ,
                     int level ) ;
extern uLong compressBound(uLong sourceLen ) ;
extern int uncompress(Bytef *dest , uLongf *destLen , Bytef const   *source , uLong sourceLen ) ;
extern int uncompress2(Bytef *dest , uLongf *destLen , Bytef const   *source , uLong *sourceLen ) ;
extern gzFile gzdopen(int fd , char const   *mode ) ;
extern int gzbuffer(gzFile file , unsigned int size ) ;
extern int gzsetparams(gzFile file , int level , int strategy ) ;
extern int gzread(gzFile file , voidp buf , unsigned int len ) ;
extern z_size_t gzfread(voidp buf , z_size_t size , z_size_t nitems , gzFile file ) ;
extern int gzwrite(gzFile file , voidpc buf , unsigned int len ) ;
extern z_size_t gzfwrite(voidpc buf , z_size_t size , z_size_t nitems , gzFile file ) ;
extern int gzprintf(gzFile file , char const   *format  , ...) ;
extern int gzputs(gzFile file , char const   *s ) ;
extern char *gzgets(gzFile file , char *buf , int len ) ;
extern int gzputc(gzFile file , int c ) ;
extern int gzgetc(gzFile file ) ;
extern int gzungetc(int c , gzFile file ) ;
extern int gzflush(gzFile file , int flush ) ;
extern int gzrewind(gzFile file ) ;
extern int gzeof(gzFile file ) ;
extern int gzdirect(gzFile file ) ;
extern int gzclose(gzFile file ) ;
extern int gzclose_r(gzFile file ) ;
extern int gzclose_w(gzFile file ) ;
extern char const   *gzerror(gzFile file , int *errnum ) ;
extern void gzclearerr(gzFile file ) ;
extern uLong adler32(uLong adler , Bytef const   *buf , uInt len ) ;
extern uLong adler32_z(uLong adler , Bytef const   *buf , z_size_t len ) ;
extern uLong crc32(uLong crc , Bytef const   *buf , uInt len ) ;
extern uLong crc32_z(uLong adler , Bytef const   *buf , z_size_t len ) ;
extern int deflateInit_(z_streamp strm , int level , char const   *version , int stream_size ) ;
extern int inflateInit_(z_streamp strm , char const   *version , int stream_size ) ;
extern int deflateInit2_(z_streamp strm , int level , int method , int windowBits ,
                         int memLevel , int strategy , char const   *version , int stream_size ) ;
extern int inflateInit2_(z_streamp strm , int windowBits , char const   *version ,
                         int stream_size ) ;
extern int inflateBackInit_(z_streamp strm , int windowBits , unsigned char *window ,
                            char const   *version , int stream_size ) ;
extern int gzgetc_(gzFile file ) ;
extern gzFile gzopen64(char const   * , char const   * ) ;
extern off64_t gzseek64(gzFile  , off64_t  , int  ) ;
extern off64_t gztell64(gzFile  ) ;
extern off64_t gzoffset64(gzFile  ) ;
extern uLong adler32_combine64(uLong  , uLong  , off64_t  ) ;
extern uLong crc32_combine64(uLong  , uLong  , off64_t  ) ;
extern char const   *zError(int  ) ;
extern int inflateSyncPoint(z_streamp  ) ;
extern z_crc_t const   *get_crc_table(void) ;
extern int inflateUndermine(z_streamp  , int  ) ;
extern int inflateValidate(z_streamp  , int  ) ;
extern unsigned long inflateCodesUsed(z_streamp  ) ;
extern int inflateResetKeep(z_streamp  ) ;
extern int deflateResetKeep(z_streamp  ) ;
extern int gzvprintf(gzFile file , char const   *format , va_list va ) ;
void git_inflate_init(git_zstream *strm ) ;
void git_inflate_init_gzip_only(git_zstream *strm ) ;
void git_inflate_end(git_zstream *strm ) ;
int git_inflate(git_zstream *strm , int flush___1 ) ;
void git_deflate_init(git_zstream *strm , int level ) ;
void git_deflate_init_gzip(git_zstream *strm , int level ) ;
void git_deflate_init_raw(git_zstream *strm , int level ) ;
void git_deflate_end(git_zstream *strm ) ;
int git_deflate_abort(git_zstream *strm ) ;
int git_deflate_end_gently(git_zstream *strm ) ;
int git_deflate(git_zstream *strm , int flush___1 ) ;
unsigned long git_deflate_bound(git_zstream *strm , unsigned long size ) ;
__inline static void copy_cache_entry(struct cache_entry *dst , struct cache_entry  const  *src )
{
  unsigned int state___1 ;
  int mem_pool_allocated ;

  {
  state___1 = dst->ce_flags & (unsigned int )(1 << 20);
  mem_pool_allocated = (int )dst->mem_pool_allocated;
  memcpy((void *)(& dst->ce_stat_data), (void const   *)(& src->ce_stat_data), (unsigned long )(& ((struct cache_entry *)0)->name) - (unsigned long )(& ((struct cache_entry *)0)->ce_stat_data));
  dst->ce_flags = (dst->ce_flags & (unsigned int )(~ (1 << 20))) | state___1;
  dst->mem_pool_allocated = (unsigned int )mem_pool_allocated;
  return;
}
}
__inline static unsigned int create_ce_flags(unsigned int stage )
{


  {
  return (stage << 12);
}
}
__inline static unsigned int create_ce_mode(unsigned int mode___1 )
{
  int tmp ;

  {
  if ((mode___1 & 61440U) == 40960U) {
    return (40960U);
  }
  if (mode___1 == 16384U) {
    return (16384U);
  }
  if ((mode___1 & 61440U) == 16384U) {
    return (57344U);
  } else
  if ((mode___1 & 61440U) == 57344U) {
    return (57344U);
  }
  if (mode___1 & 64U) {
    tmp = 0755;
  } else {
    tmp = 0644;
  }
  return ((unsigned int )(0100000 | tmp));
}
}
int trust_executable_bit ;
int has_symlinks ;
__inline static unsigned int ce_mode_from_stat(struct cache_entry  const  *ce , unsigned int mode___1 )
{
  unsigned int tmp ;
  unsigned int tmp___0 ;

  {
  if (! has_symlinks) {
    if ((mode___1 & 61440U) == 32768U) {
      if (ce) {
        if ((ce->ce_mode & 61440U) == 40960U) {
          return ((unsigned int )ce->ce_mode);
        }
      }
    }
  }
  if (! trust_executable_bit) {
    if ((mode___1 & 61440U) == 32768U) {
      if (ce) {
        if ((ce->ce_mode & 61440U) == 32768U) {
          return ((unsigned int )ce->ce_mode);
        }
      }
      tmp = create_ce_mode(438U);
      return (tmp);
    }
  }
  tmp___0 = create_ce_mode(mode___1);
  return (tmp___0);
}
}
__inline static int ce_to_dtype(struct cache_entry  const  *ce )
{
  unsigned int ce_mode ;
  uint32_t tmp ;

  {
  tmp = git_bswap32((uint32_t )ce->ce_mode);
  ce_mode = tmp;
  if ((ce_mode & 61440U) == 32768U) {
    return (8);
  } else
  if ((ce_mode & 61440U) == 16384U) {
    return (4);
  } else
  if ((ce_mode & 61440U) == 57344U) {
    return (4);
  } else
  if ((ce_mode & 61440U) == 40960U) {
    return (10);
  } else {
    return (0);
  }
}
}
__inline static unsigned int canon_mode(unsigned int mode___1 )
{
  int tmp ;

  {
  if ((mode___1 & 61440U) == 32768U) {
    if (mode___1 & 64U) {
      tmp = 0755;
    } else {
      tmp = 0644;
    }
    return ((unsigned int )(0100000 | tmp));
  }
  if ((mode___1 & 61440U) == 40960U) {
    return (40960U);
  }
  if ((mode___1 & 61440U) == 16384U) {
    return (16384U);
  }
  return (57344U);
}
}
int test_lazy_init_name_hash(struct index_state *istate , int try_threaded ) ;
void add_name_hash(struct index_state *istate , struct cache_entry *ce ) ;
void remove_name_hash(struct index_state *istate , struct cache_entry *ce ) ;
void free_name_hash(struct index_state *istate ) ;
struct cache_entry *make_cache_entry(struct index_state *istate , unsigned int mode___1 ,
                                     struct object_id  const  *oid , char const   *path___6 ,
                                     int stage , unsigned int refresh_options ) ;
struct cache_entry *make_empty_cache_entry(struct index_state *istate , size_t len___0 ) ;
struct cache_entry *make_transient_cache_entry(unsigned int mode___1 , struct object_id  const  *oid ,
                                               char const   *path___6 , int stage ,
                                               struct mem_pool *ce_mem_pool ) ;
struct cache_entry *make_empty_transient_cache_entry(size_t len___0 , struct mem_pool *ce_mem_pool ) ;
void discard_cache_entry(struct cache_entry *ce ) ;
int should_validate_cache_entries(void) ;
struct cache_entry *dup_cache_entry(struct cache_entry  const  *ce , struct index_state *istate ) ;
void validate_cache_entries(struct index_state  const  *istate ) ;
void prefetch_cache_entries(struct index_state  const  *istate , int (*must_prefetch)(struct cache_entry  const  * ) ) ;
__inline static enum object_type object_type(unsigned int mode___1 )
{
  int tmp ;
  int tmp___0 ;

  {
  if ((mode___1 & 61440U) == 16384U) {
    tmp___0 = 2;
  } else {
    if ((mode___1 & 61440U) == 57344U) {
      tmp = 1;
    } else {
      tmp = 3;
    }
    tmp___0 = tmp;
  }
  return ((enum object_type )tmp___0);
}
}
char const   *local_repo_env[17] ;
void setup_git_env(char const   *git_dir ) ;
int have_git_dir(void) ;
int is_bare_repository_cfg ;
int is_bare_repository(void) ;
int is_inside_git_dir(void) ;
char *git_work_tree_cfg ;
int is_inside_work_tree(void) ;
char const   *get_git_dir(void) ;
char const   *get_git_common_dir(void) ;
char *get_object_directory(void) ;
char *get_index_file(void) ;
char *get_graft_file(struct repository *r ) ;
void set_git_dir(char const   *path___6 , int make_realpath ) ;
int get_common_dir_noenv(struct strbuf *sb___6 , char const   *gitdir___0 ) ;
int get_common_dir(struct strbuf *sb___6 , char const   *gitdir___0 ) ;
char const   *get_git_namespace(void) ;
char const   *strip_namespace(char const   *namespaced_ref ) ;
char const   *get_super_prefix(void) ;
char const   *get_git_work_tree(void) ;
int is_git_directory(char const   *suspect ) ;
int is_nonbare_repository_dir(struct strbuf *path___6 ) ;
void read_gitfile_error_die(int error_code , char const   *path___6 , char const   *dir ) ;
char const   *read_gitfile_gently(char const   *path___6 , int *return_error_code ) ;
char const   *resolve_gitdir_gently(char const   *suspect , int *return_error_code ) ;
void set_git_work_tree(char const   *new_work_tree ) ;
void setup_work_tree(void) ;
int discover_git_directory(struct strbuf *commondir , struct strbuf *gitdir___0 ) ;
char const   *setup_git_directory_gently(int *nongit_ok ) ;
char const   *setup_git_directory(void) ;
char *prefix_path(char const   *prefix___1 , int len___0 , char const   *path___6 ) ;
char *prefix_path_gently(char const   *prefix___1 , int len___0 , int *remaining_prefix ,
                         char const   *path___6 ) ;
char *prefix_filename(char const   *pfx , char const   *arg ) ;
int check_filename(char const   *prefix___1 , char const   *arg ) ;
void verify_filename(char const   *prefix___1 , char const   *arg , int diagnose_misspelt_rev ) ;
void verify_non_filename(char const   *prefix___1 , char const   *arg ) ;
int path_inside_repo(char const   *prefix___1 , char const   *path___6 ) ;
int init_db(char const   *git_dir , char const   *real_git_dir___0 , char const   *template_dir ,
            int hash___0 , char const   *initial_branch , unsigned int flags___0 ) ;
void initialize_repository_version(int hash_algo , int reinit ) ;
void sanitize_stdfds(void) ;
int daemonize(void) ;
void preload_index(struct index_state *index___2 , struct pathspec  const  *pathspec___1 ,
                   unsigned int refresh_flags ) ;
int do_read_index(struct index_state *istate , char const   *path___6 , int must_exist ) ;
int read_index_from(struct index_state *istate , char const   *path___6 , char const   *gitdir___0 ) ;
int is_index_unborn(struct index_state *istate ) ;
void ensure_full_index(struct index_state *istate ) ;
int write_locked_index(struct index_state *istate , struct lock_file *lock___0 , unsigned int flags___0 ) ;
int discard_index(struct index_state *istate ) ;
void move_index_extensions(struct index_state *dst , struct index_state *src ) ;
int unmerged_index(struct index_state  const  *istate ) ;
extern int repo_index_has_changes(struct repository *repo , struct tree *tree , struct strbuf *sb ) ;
int verify_path(char const   *path___6 , unsigned int mode___1 ) ;
int strcmp_offset(char const   *s1 , char const   *s2 , size_t *first_change ) ;
int index_dir_exists(struct index_state *istate , char const   *name___0 , int namelen ) ;
void adjust_dirname_case(struct index_state *istate , char *name___0 ) ;
struct cache_entry *index_file_exists(struct index_state *istate , char const   *name___0 ,
                                      int namelen , int icase___0 ) ;
int index_name_pos(struct index_state *istate , char const   *name___0 , int namelen ) ;
int index_entry_exists(struct index_state *istate , char const   *name___0 , int namelen ) ;
__inline static int index_pos_to_insert_pos(uintmax_t pos )
{


  {
  if (pos > 2147483647UL) {
    die((char const   *)"overflow: -1 - %lu", pos);
  }
  return (-1 - (int )pos);
}
}
int add_index_entry(struct index_state *istate , struct cache_entry *ce , int option ) ;
void rename_index_entry_at(struct index_state *istate , int nr___0 , char const   *new_name ) ;
int remove_index_entry_at(struct index_state *istate , int pos ) ;
void remove_marked_cache_entries(struct index_state *istate , int invalidate ) ;
int remove_file_from_index(struct index_state *istate , char const   *path___6 ) ;
int add_to_index(struct index_state *istate , char const   *path___6 , struct stat *st ,
                 int flags___0 ) ;
int add_file_to_index(struct index_state *istate , char const   *path___6 , int flags___0 ) ;
int chmod_index_entry(struct index_state *istate , struct cache_entry *ce , char flip ) ;
int ce_same_name(struct cache_entry  const  *a , struct cache_entry  const  *b___0 ) ;
void set_object_name_for_intent_to_add_entry(struct cache_entry *ce ) ;
int index_name_is_other(struct index_state *istate , char const   *name___0 , int namelen ) ;
void *read_blob_data_from_index(struct index_state *istate , char const   *path___6 ,
                                unsigned long *size ) ;
int is_racy_timestamp(struct index_state  const  *istate , struct cache_entry  const  *ce ) ;
int ie_match_stat(struct index_state *istate , struct cache_entry  const  *ce , struct stat *st ,
                  unsigned int options ) ;
int ie_modified(struct index_state *istate , struct cache_entry  const  *ce , struct stat *st ,
                unsigned int options ) ;
int index_fd(struct index_state *istate , struct object_id *oid , int fd , struct stat *st ,
             enum object_type type___0 , char const   *path___6 , unsigned int flags___0 ) ;
int index_path(struct index_state *istate , struct object_id *oid , char const   *path___6 ,
               struct stat *st , unsigned int flags___0 ) ;
void fill_stat_data(struct stat_data *sd , struct stat *st ) ;
int match_stat_data(struct stat_data  const  *sd , struct stat *st ) ;
int match_stat_data_racy(struct index_state  const  *istate , struct stat_data  const  *sd ,
                         struct stat *st ) ;
void fill_stat_cache_info(struct index_state *istate , struct cache_entry *ce , struct stat *st ) ;
int refresh_index(struct index_state *istate , unsigned int flags___0 , struct pathspec  const  *pathspec___1 ,
                  char *seen___0 , char const   *header_msg ) ;
int repo_refresh_and_write_index(struct repository *repo , unsigned int refresh_flags ,
                                 unsigned int write_flags , int gentle , struct pathspec  const  *pathspec___1 ,
                                 char *seen___0 , char const   *header_msg ) ;
struct cache_entry *refresh_cache_entry(struct index_state *istate , struct cache_entry *ce ,
                                        unsigned int options ) ;
void set_alternate_index_output(char const   *name___0 ) ;
int verify_index_checksum ;
int verify_ce_order ;
int trust_ctime ;
int check_stat ;
int quote_path_fully ;
int minimum_abbrev ;
int default_abbrev ;
int ignore_case ;
int assume_unchanged ;
int prefer_symlink_refs ;
int warn_ambiguous_refs ;
int warn_on_object_refname_ambiguity ;
char *apply_default_whitespace ;
char *apply_default_ignorewhitespace ;
char const   *git_attributes_file ;
char const   *git_hooks_path ;
int zlib_compression_level ;
int pack_compression_level ;
size_t packed_git_window_size ;
size_t packed_git_limit ;
size_t delta_base_cache_limit ;
unsigned long big_file_threshold ;
unsigned long pack_size_limit_cfg ;
void set_shared_repository(int value ) ;
int get_shared_repository(void) ;
void reset_shared_repository(void) ;
int read_replace_refs ;
char *git_replace_ref_base ;
int fsync_object_files ;
int use_fsync ;
int core_preload_index ;
int precomposed_unicode ;
int protect_hfs ;
int protect_ntfs ;
char const   *core_fsmonitor ;
int core_apply_sparse_checkout ;
int core_sparse_checkout_cone ;
int use_optional_locks(void) ;
char comment_line_char ;
int auto_comment_line_char ;
enum log_refs_config log_all_ref_updates ;
enum rebase_setup_type autorebase ;
enum push_default_type push_default ;
enum object_creation_mode object_creation_mode ;
char *notes_ref_name ;
int grafts_replace_parents ;
int repository_format_precious_objects ;
int repository_format_worktree_config ;
int read_repository_format(struct repository_format *format___0 , char const   *path___6 ) ;
void clear_repository_format(struct repository_format *format___0 ) ;
int verify_repository_format(struct repository_format  const  *format___0 , struct strbuf *err___4 ) ;
void check_repository_format(struct repository_format *fmt ) ;
char const   *repo_find_unique_abbrev(struct repository *r , struct object_id  const  *oid ,
                                      int len___0 ) ;
int repo_find_unique_abbrev_r(struct repository *r , char *hex___3 , struct object_id  const  *oid ,
                              int len___0 ) ;
int git_mkstemps_mode(char *pattern___0 , int suffix_len , int mode___1 ) ;
int git_mkstemp_mode(char *pattern___0 , int mode___1 ) ;
int git_config_perm(char const   *var , char const   *value ) ;
int adjust_shared_perm(char const   *path___6 ) ;
enum scld_error safe_create_leading_directories(char *path___6 ) ;
enum scld_error safe_create_leading_directories_const(char const   *path___6 ) ;
enum scld_error safe_create_leading_directories_no_share(char *path___6 ) ;
int mkdir_in_gitdir(char const   *path___6 ) ;
char *interpolate_path(char const   *path___6 , int real_home ) ;
char const   *enter_repo(char const   *path___6 , int strict___1 ) ;
__inline static int is_absolute_path(char const   *path___6 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = git_is_dir_sep((int )*(path___6 + 0));
  if (tmp) {
    tmp___1 = 1;
  } else {
    tmp___0 = git_has_dos_drive_prefix(path___6);
    if (tmp___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  }
  return (tmp___1);
}
}
int is_directory(char const   *path___6 ) ;
char *strbuf_realpath(struct strbuf *resolved , char const   *path___6 , int die_on_error ) ;
char *strbuf_realpath_forgiving(struct strbuf *resolved , char const   *path___6 ,
                                int die_on_error ) ;
char *real_pathdup(char const   *path___6 , int die_on_error ) ;
char const   *absolute_path(char const   *path___6 ) ;
char *absolute_pathdup(char const   *path___6 ) ;
char const   *remove_leading_path(char const   *in , char const   *prefix___1 ) ;
char const   *relative_path(char const   *in , char const   *prefix___1 , struct strbuf *sb___6 ) ;
int normalize_path_copy_len(char *dst , char const   *src , int *prefix_len___1 ) ;
int normalize_path_copy(char *dst , char const   *src ) ;
int longest_ancestor_length(char const   *path___6 , struct string_list *prefixes___0 ) ;
char *strip_path_suffix(char const   *path___6 , char const   *suffix___3 ) ;
int daemon_avoid_alias(char const   *p___0 ) ;
int is_ntfs_dotgit(char const   *name___0 ) ;
int is_ntfs_dotgitmodules(char const   *name___0 ) ;
int is_ntfs_dotgitignore(char const   *name___0 ) ;
int is_ntfs_dotgitattributes(char const   *name___0 ) ;
int is_ntfs_dotmailmap(char const   *name___0 ) ;
int looks_like_command_line_option(char const   *str ) ;
char *xdg_config_home_for(char const   *subdir , char const   *filename___0 ) ;
char *xdg_config_home(char const   *filename___0 ) ;
char *xdg_cache_home(char const   *filename___0 ) ;
int git_open_cloexec(char const   *name___0 , int flags___0 ) ;
enum unpack_loose_header_result unpack_loose_header(git_zstream *stream , unsigned char *map___0 ,
                                                    unsigned long mapsize , void *buffer___5 ,
                                                    unsigned long bufsiz , struct strbuf *header___0 ) ;
int parse_loose_header(char const   *hdr , struct object_info *oi___0 ) ;
int check_object_signature(struct repository *r , struct object_id  const  *oid ,
                           void *map___0 , unsigned long size , char const   *type___0 ,
                           struct object_id *real_oidp ) ;
int finalize_object_file(char const   *tmpfile___0 , char const   *filename___0 ) ;
int check_and_freshen_file(char const   *fn , int freshen ) ;
signed char const   hexval_table[256] ;
__inline static unsigned int hexval(unsigned char c___0 )
{


  {
  return ((unsigned int )hexval_table[c___0]);
}
}
__inline static int hex2chr(char const   *s___1 )
{
  unsigned int val ;
  unsigned int tmp ;
  unsigned int tmp___0 ;
  unsigned int tmp___1 ;

  {
  tmp = hexval((unsigned char )*(s___1 + 0));
  val = tmp;
  if (val & 4294967280U) {
    tmp___1 = val;
  } else {
    tmp___0 = hexval((unsigned char )*(s___1 + 1));
    tmp___1 = (val << 4) | tmp___0;
  }
  return ((int )tmp___1);
}
}
int repo_get_oid(struct repository *r , char const   *name___0 , struct object_id *oid ) ;
int ( /* format attribute */  get_oidf)(struct object_id *oid , char const   *fmt
                                        , ...) ;
int repo_get_oid_commit(struct repository *r , char const   *name___0 , struct object_id *oid ) ;
int repo_get_oid_committish(struct repository *r , char const   *name___0 , struct object_id *oid ) ;
int repo_get_oid_tree(struct repository *r , char const   *name___0 , struct object_id *oid ) ;
int repo_get_oid_treeish(struct repository *r , char const   *name___0 , struct object_id *oid ) ;
int repo_get_oid_blob(struct repository *r , char const   *name___0 , struct object_id *oid ) ;
int repo_get_oid_mb(struct repository *r , char const   *name___0 , struct object_id *oid ) ;
void maybe_die_on_misspelt_object_name(struct repository *r , char const   *name___0 ,
                                       char const   *prefix___1 ) ;
enum get_oid_result get_oid_with_context(struct repository *repo , char const   *str ,
                                         unsigned int flags___0 , struct object_id *oid ,
                                         struct object_context *oc ) ;
int repo_for_each_abbrev(struct repository *r , char const   *prefix___1 , each_abbrev_fn *fn ,
                         void *cb_data ) ;
int set_disambiguate_hint_config(char const   *var , char const   *value ) ;
int get_sha1_hex(char const   *hex___3 , unsigned char *sha1 ) ;
int get_oid_hex(char const   *hex___3 , struct object_id *oid ) ;
int get_oid_hex_algop(char const   *hex___3 , struct object_id *oid , struct git_hash_algo  const  *algop ) ;
int hex_to_bytes(unsigned char *binary , char const   *hex___3 , size_t len___0 ) ;
char *hash_to_hex_algop_r(char *buffer___5 , unsigned char const   *hash___0 , struct git_hash_algo  const  *algop ) ;
char *oid_to_hex_r(char *buffer___5 , struct object_id  const  *oid ) ;
char *hash_to_hex_algop(unsigned char const   *hash___0 , struct git_hash_algo  const  *algop ) ;
char *hash_to_hex(unsigned char const   *hash___0 ) ;
char *oid_to_hex(struct object_id  const  *oid ) ;
int parse_oid_hex(char const   *hex___3 , struct object_id *oid , char const   **end ) ;
int parse_oid_hex_algop(char const   *hex___3 , struct object_id *oid , char const   **end ,
                        struct git_hash_algo  const  *algop ) ;
int get_oid_hex_any(char const   *hex___3 , struct object_id *oid ) ;
int parse_oid_hex_any(char const   *hex___3 , struct object_id *oid , char const   **end ) ;
int repo_interpret_branch_name(struct repository *r , char const   *name___0 , int namelen ,
                               struct strbuf *buf___19 , struct interpret_branch_name_options  const  *options ) ;
int validate_headref(char const   *path___6 ) ;
int base_name_compare(char const   *name1 , int len1 , int mode1 , char const   *name2 ,
                      int len2 , int mode2 ) ;
int df_name_compare(char const   *name1 , int len1 , int mode1 , char const   *name2 ,
                    int len2 , int mode2 ) ;
int name_compare(char const   *name1 , size_t len1 , char const   *name2 , size_t len2 ) ;
int cache_name_stage_compare(char const   *name1 , int len1 , int stage1 , char const   *name2 ,
                             int len2 , int stage2 ) ;
void *read_object_with_reference(struct repository *r , struct object_id  const  *oid ,
                                 char const   *required_type_name , unsigned long *size ,
                                 struct object_id *actual_oid_return ) ;
struct object *repo_peel_to_type(struct repository *r , char const   *name___0 , int namelen ,
                                 struct object *o , enum object_type expected_type ) ;
struct date_mode *date_mode_from_type(enum date_mode_type type___0 ) ;
char const   *show_date(timestamp_t time___0 , int tz , struct date_mode  const  *mode___1 ) ;
void show_date_relative(timestamp_t time___0 , struct strbuf *timebuf___0 ) ;
extern void show_date_human(timestamp_t time , int tz , struct timeval  const  *now ,
                            struct strbuf *timebuf ) ;
int parse_date(char const   *date , struct strbuf *result___0 ) ;
int parse_date_basic(char const   *date , timestamp_t *timestamp___0 , int *offset___2 ) ;
int parse_expiry_date(char const   *date , timestamp_t *timestamp___0 ) ;
void datestamp(struct strbuf *out ) ;
timestamp_t approxidate_careful(char const   *date , int *error_ret ) ;
timestamp_t approxidate_relative(char const   *date ) ;
void parse_date_format(char const   *format___0 , struct date_mode *mode___1 ) ;
int date_overflows(timestamp_t t ) ;
time_t tm_to_time_t(struct tm  const  *tm ) ;
char const   *git_author_info(int flag ) ;
char const   *git_committer_info(int flag ) ;
char const   *fmt_ident(char const   *name___0 , char const   *email , enum want_ident whose_ident ,
                        char const   *date_str , int flag ) ;
char const   *fmt_name(enum want_ident whose_ident ) ;
char const   *ident_default_name(void) ;
char const   *ident_default_email(void) ;
char const   *git_editor(void) ;
char const   *git_sequence_editor(void) ;
char const   *git_pager(int stdout_is_tty ) ;
int is_terminal_dumb(void) ;
int git_ident_config(char const   *var , char const   *value , void *data ) ;
void prepare_fallback_ident(char const   *name___0 , char const   *email ) ;
void reset_ident_date(void) ;
int split_ident_line(struct ident_split *split , char const   *line___0 , int len___0 ) ;
char const   *show_ident_date(struct ident_split  const  *ident , struct date_mode  const  *mode___1 ) ;
int ident_cmp(struct ident_split  const  *a , struct ident_split  const  *b___0 ) ;
__inline static void cache_def_clear(struct cache_def *cache___0 )
{


  {
  strbuf_release(& cache___0->path);
  return;
}
}
int has_symlink_leading_path(char const   *name___0 , int len___0 ) ;
int threaded_has_symlink_leading_path(struct cache_def *cache___0 , char const   *name___0 ,
                                      int len___0 ) ;
int check_leading_path(char const   *name___0 , int len___0 , int warn_on_lstat_err ) ;
int has_dirs_only_path(char const   *name___0 , int len___0 , int prefix_len___1 ) ;
void invalidate_lstat_cache(void) ;
void schedule_dir_for_removal(char const   *name___0 , int len___0 ) ;
void remove_scheduled_dirs(void) ;
int odb_mkstemp(struct strbuf *temp_filename , char const   *pattern___0 ) ;
int odb_pack_keep(char const   *name___0 ) ;
int fetch_if_missing ;
int update_server_info(int force___2 ) ;
char const   *get_log_output_encoding(void) ;
char const   *get_commit_output_encoding(void) ;
int committer_ident_sufficiently_given(void) ;
int author_ident_sufficiently_given(void) ;
char const   *git_commit_encoding ;
char const   *git_log_output_encoding ;
char const   *git_mailmap_file ;
char const   *git_mailmap_blob ;
void maybe_flush_or_die(FILE *f , char const   *desc___0 ) ;
void ( /* format attribute */  fprintf_or_die)(FILE *f , char const   *fmt  , ...) ;
void fwrite_or_die(FILE *f , void const   *buf___19 , size_t count___0 ) ;
void fflush_or_die(FILE *f ) ;
int copy_fd(int ifd , int ofd ) ;
int copy_file(char const   *dst , char const   *src , int mode___1 ) ;
int copy_file_with_time(char const   *dst , char const   *src , int mode___1 ) ;
void write_or_die(int fd , void const   *buf___19 , size_t count___0 ) ;
void fsync_or_die(int fd , char const   *msg___5 ) ;
ssize_t write_in_full(int fd , void const   *buf___19 , size_t count___0 ) ;
ssize_t pread_in_full(int fd , void *buf___19 , size_t count___0 , off_t offset___2 ) ;
__inline static ssize_t write_str_in_full(int fd , char const   *str )
{
  size_t tmp ;
  ssize_t tmp___0 ;

  {
  tmp = strlen(str);
  tmp___0 = write_in_full(fd, (void const   *)str, tmp);
  return (tmp___0);
}
}
void write_file_buf(char const   *path___6 , char const   *buf___19 , size_t len___0 ) ;
void ( /* format attribute */  write_file)(char const   *path___6 , char const   *fmt
                                           , ...) ;
void setup_pager(void) ;
int pager_in_use(void) ;
int pager_use_color ;
int term_columns(void) ;
void term_clear_line(void) ;
int decimal_width(uintmax_t number ) ;
int check_pager_config(char const   *cmd ) ;
void prepare_pager_args(struct child_process *pager_process___0 , char const   *pager___0 ) ;
char const   *editor_program ;
char const   *askpass_program ;
char const   *excludes_file ;
int decode_85(char *dst , char const   *buffer___5 , int len___0 ) ;
void encode_85(char *buf___19 , unsigned char const   *data , int bytes ) ;
void packet_trace_identity(char const   *prog ) ;
int add_files_to_cache(char const   *prefix___1 , struct pathspec  const  *pathspec___1 ,
                       int flags___0 ) ;
int diff_auto_refresh_index ;
void shift_tree(struct repository *r , struct object_id  const  *hash1 , struct object_id  const  *hash2 ,
                struct object_id *shifted , int depth_limit ) ;
void shift_tree_by(struct repository *r , struct object_id  const  *hash1 , struct object_id  const  *hash2 ,
                   struct object_id *shifted , char const   *shift_prefix ) ;
unsigned int whitespace_rule_cfg ;
unsigned int whitespace_rule(struct index_state *istate , char const   *pathname ) ;
unsigned int parse_whitespace_rule(char const   *string___0 ) ;
unsigned int ws_check(char const   *line___0 , int len___0 , unsigned int ws_rule ) ;
void ws_check_emit(char const   *line___0 , int len___0 , unsigned int ws_rule , FILE *stream ,
                   char const   *set , char const   *reset , char const   *ws ) ;
char *whitespace_error_string(unsigned int ws ) ;
void ws_fix_copy(struct strbuf *dst , char const   *src , int len___0 , unsigned int ws_rule ,
                 int *error_count ) ;
int ws_blank_line(char const   *line___0 , int len___0 , unsigned int ws_rule ) ;
void overlay_tree_on_index(struct index_state *istate , char const   *tree_name ,
                           char const   *prefix___1 ) ;
struct startup_info *startup_info ;
char const   *tmp_original_cwd ;
int try_merge_command(struct repository *r , char const   *strategy , size_t xopts_nr___0 ,
                      char const   **xopts___0 , struct commit_list *common , char const   *head_arg ,
                      struct commit_list *remotes ) ;
int checkout_fast_forward(struct repository *r , struct object_id  const  *head___1 ,
                          struct object_id  const  *remote , int overwrite_ignore___0 ) ;
int sane_execvp(char const   *file___0 , char **argv___0 ) ;
void stat_validity_clear(struct stat_validity *sv ) ;
int stat_validity_check(struct stat_validity *sv , char const   *path___6 ) ;
void stat_validity_update(struct stat_validity *sv , int fd ) ;
int versioncmp(char const   *s1 , char const   *s2 ) ;
void safe_create_dir(char const   *dir , int share ) ;
int print_sha1_ellipsis(void) ;
int is_empty_or_missing_file(char const   *filename___0 ) ;
void oidmap_init(struct oidmap *map___0 , size_t initial_size ) ;
void oidmap_free(struct oidmap *map___0 , int free_entries ) ;
void *oidmap_get(struct oidmap  const  *map___0 , struct object_id  const  *key___1 ) ;
void *oidmap_put(struct oidmap *map___0 , void *entry ) ;
void *oidmap_remove(struct oidmap *map___0 , struct object_id  const  *key___1 ) ;
__inline static void oidmap_iter_init(struct oidmap *map___0 , struct oidmap_iter *iter___0 )
{


  {
  hashmap_iter_init(& map___0->map, & iter___0->h_iter);
  return;
}
}
__inline static void *oidmap_iter_next(struct oidmap_iter *iter___0 )
{
  struct hashmap_entry *tmp ;

  {
  tmp = hashmap_iter_next(& iter___0->h_iter);
  return ((void *)tmp);
}
}
__inline static void *oidmap_iter_first(struct oidmap *map___0 , struct oidmap_iter *iter___0 )
{
  void *tmp ;

  {
  oidmap_iter_init(map___0, iter___0);
  tmp = oidmap_iter_next(iter___0);
  return (tmp);
}
}
int online_cpus(void) ;
int init_recursive_mutex(pthread_mutex_t *m ) ;
__inline static khint_t __ac_X31_hash_string(char const   *s___1 )
{
  khint_t h ;

  {
  h = (khint_t )*s___1;
  if (h) {
    s___1 ++;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! *s___1) {
        goto while_break;
      }
      h = ((h << 5) - h) + (khint_t )*s___1;
      s___1 ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  return (h);
}
}
static double const   __ac_HASH_UPPER  =    (double const   )0.77;
__inline static unsigned int oidhash_by_value(struct object_id oid )
{
  unsigned int tmp ;

  {
  tmp = oidhash((struct object_id  const  *)(& oid));
  return (tmp);
}
}
__inline static int oideq_by_value(struct object_id a , struct object_id b___0 )
{
  int tmp ;

  {
  tmp = oideq((struct object_id  const  *)(& a), (struct object_id  const  *)(& b___0));
  return (tmp);
}
}
__inline static kh_oid_set_t *kh_init_oid_set(void)  __attribute__((__unused__)) ;
__inline static kh_oid_set_t *kh_init_oid_set(void)
{
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(kh_oid_set_t ));
  return ((kh_oid_set_t *)tmp);
}
}
__inline static void kh_release_oid_set(kh_oid_set_t *h )  __attribute__((__unused__)) ;
__inline static void kh_release_oid_set(kh_oid_set_t *h )
{


  {
  free((void *)h->flags);
  free((void *)h->keys);
  free((void *)h->vals);
  return;
}
}
__inline static void kh_destroy_oid_set(kh_oid_set_t *h )  __attribute__((__unused__)) ;
__inline static void kh_destroy_oid_set(kh_oid_set_t *h )
{


  {
  if (h) {
    kh_release_oid_set(h);
    free((void *)h);
  }
  return;
}
}
__inline static void kh_clear_oid_set(kh_oid_set_t *h )  __attribute__((__unused__)) ;
__inline static void kh_clear_oid_set(kh_oid_set_t *h )
{
  khint_t tmp ;
  khint_t tmp___0 ;

  {
  if (h) {
    if (h->flags) {
      if (h->n_buckets < 16U) {
        tmp = (khint_t )1;
      } else {
        tmp = h->n_buckets >> 4;
      }
      memset((void *)h->flags, 0xaa, (unsigned long )tmp * sizeof(khint32_t ));
      tmp___0 = (khint_t )0;
      h->n_occupied = tmp___0;
      h->size = tmp___0;
    }
  }
  return;
}
}
__inline static khint_t kh_get_oid_set(kh_oid_set_t const   *h , struct object_id key___1 )  __attribute__((__unused__)) ;
__inline static khint_t kh_get_oid_set(kh_oid_set_t const   *h , struct object_id key___1 )
{
  khint_t k ;
  khint_t i ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;
  khint_t tmp___0 ;

  {
  if (h->n_buckets) {
    step = (khint_t )0;
    mask = (khint_t )(h->n_buckets - 1U);
    k = oidhash_by_value(key___1);
    i = k & mask;
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        return ((khint_t )h->n_buckets);
      }
    }
    while_break: /* CIL Label */ ;
    }
    if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) {
      tmp___0 = h->n_buckets;
    } else {
      tmp___0 = (khint_t )i;
    }
    return ((khint_t )tmp___0);
  } else {
    return ((khint_t )0);
  }
}
}
__inline static void kh_resize_oid_set(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set(kh_oid_set_t *h , struct object_id key___1 ,
                                       int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set(kh_oid_set_t *h , struct object_id key___1 ,
                                       int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_del_oid_set(kh_oid_set_t *h , khint_t x )  __attribute__((__unused__)) ;
__inline static void kh_del_oid_set(kh_oid_set_t *h , khint_t x )
{


  {
  if (x != h->n_buckets) {
    if (! ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 3U)) {
      *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) | (1ul << ((x & 0xfU) << 1)));
      (h->size) --;
    }
  }
  return;
}
}
__inline static kh_oid_map_t *kh_init_oid_map(void)  __attribute__((__unused__)) ;
__inline static kh_oid_map_t *kh_init_oid_map(void)
{
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(kh_oid_map_t ));
  return ((kh_oid_map_t *)tmp);
}
}
__inline static void kh_release_oid_map(kh_oid_map_t *h )  __attribute__((__unused__)) ;
__inline static void kh_release_oid_map(kh_oid_map_t *h )
{


  {
  free((void *)h->flags);
  free((void *)h->keys);
  free((void *)h->vals);
  return;
}
}
__inline static void kh_destroy_oid_map(kh_oid_map_t *h )  __attribute__((__unused__)) ;
__inline static void kh_destroy_oid_map(kh_oid_map_t *h )
{


  {
  if (h) {
    kh_release_oid_map(h);
    free((void *)h);
  }
  return;
}
}
__inline static void kh_clear_oid_map(kh_oid_map_t *h )  __attribute__((__unused__)) ;
__inline static void kh_clear_oid_map(kh_oid_map_t *h )
{
  khint_t tmp ;
  khint_t tmp___0 ;

  {
  if (h) {
    if (h->flags) {
      if (h->n_buckets < 16U) {
        tmp = (khint_t )1;
      } else {
        tmp = h->n_buckets >> 4;
      }
      memset((void *)h->flags, 0xaa, (unsigned long )tmp * sizeof(khint32_t ));
      tmp___0 = (khint_t )0;
      h->n_occupied = tmp___0;
      h->size = tmp___0;
    }
  }
  return;
}
}
__inline static khint_t kh_get_oid_map(kh_oid_map_t const   *h , struct object_id key___1 )  __attribute__((__unused__)) ;
__inline static khint_t kh_get_oid_map(kh_oid_map_t const   *h , struct object_id key___1 )
{
  khint_t k ;
  khint_t i ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;
  khint_t tmp___0 ;

  {
  if (h->n_buckets) {
    step = (khint_t )0;
    mask = (khint_t )(h->n_buckets - 1U);
    k = oidhash_by_value(key___1);
    i = k & mask;
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        return ((khint_t )h->n_buckets);
      }
    }
    while_break: /* CIL Label */ ;
    }
    if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) {
      tmp___0 = h->n_buckets;
    } else {
      tmp___0 = (khint_t )i;
    }
    return ((khint_t )tmp___0);
  } else {
    return ((khint_t )0);
  }
}
}
__inline static void kh_resize_oid_map(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map(kh_oid_map_t *h , struct object_id key___1 ,
                                       int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map(kh_oid_map_t *h , struct object_id key___1 ,
                                       int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_del_oid_map(kh_oid_map_t *h , khint_t x )  __attribute__((__unused__)) ;
__inline static void kh_del_oid_map(kh_oid_map_t *h , khint_t x )
{


  {
  if (x != h->n_buckets) {
    if (! ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 3U)) {
      *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) | (1ul << ((x & 0xfU) << 1)));
      (h->size) --;
    }
  }
  return;
}
}
__inline static kh_oid_pos_t *kh_init_oid_pos(void)  __attribute__((__unused__)) ;
__inline static kh_oid_pos_t *kh_init_oid_pos(void)
{
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(kh_oid_pos_t ));
  return ((kh_oid_pos_t *)tmp);
}
}
__inline static void kh_release_oid_pos(kh_oid_pos_t *h )  __attribute__((__unused__)) ;
__inline static void kh_release_oid_pos(kh_oid_pos_t *h )
{


  {
  free((void *)h->flags);
  free((void *)h->keys);
  free((void *)h->vals);
  return;
}
}
__inline static void kh_destroy_oid_pos(kh_oid_pos_t *h )  __attribute__((__unused__)) ;
__inline static void kh_destroy_oid_pos(kh_oid_pos_t *h )
{


  {
  if (h) {
    kh_release_oid_pos(h);
    free((void *)h);
  }
  return;
}
}
__inline static void kh_clear_oid_pos(kh_oid_pos_t *h )  __attribute__((__unused__)) ;
__inline static void kh_clear_oid_pos(kh_oid_pos_t *h )
{
  khint_t tmp ;
  khint_t tmp___0 ;

  {
  if (h) {
    if (h->flags) {
      if (h->n_buckets < 16U) {
        tmp = (khint_t )1;
      } else {
        tmp = h->n_buckets >> 4;
      }
      memset((void *)h->flags, 0xaa, (unsigned long )tmp * sizeof(khint32_t ));
      tmp___0 = (khint_t )0;
      h->n_occupied = tmp___0;
      h->size = tmp___0;
    }
  }
  return;
}
}
__inline static khint_t kh_get_oid_pos(kh_oid_pos_t const   *h , struct object_id key___1 )  __attribute__((__unused__)) ;
__inline static khint_t kh_get_oid_pos(kh_oid_pos_t const   *h , struct object_id key___1 )
{
  khint_t k ;
  khint_t i ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;
  khint_t tmp___0 ;

  {
  if (h->n_buckets) {
    step = (khint_t )0;
    mask = (khint_t )(h->n_buckets - 1U);
    k = oidhash_by_value(key___1);
    i = k & mask;
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        return ((khint_t )h->n_buckets);
      }
    }
    while_break: /* CIL Label */ ;
    }
    if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) {
      tmp___0 = h->n_buckets;
    } else {
      tmp___0 = (khint_t )i;
    }
    return ((khint_t )tmp___0);
  } else {
    return ((khint_t )0);
  }
}
}
__inline static void kh_resize_oid_pos(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos(kh_oid_pos_t *h , struct object_id key___1 ,
                                       int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos(kh_oid_pos_t *h , struct object_id key___1 ,
                                       int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_del_oid_pos(kh_oid_pos_t *h , khint_t x )  __attribute__((__unused__)) ;
__inline static void kh_del_oid_pos(kh_oid_pos_t *h , khint_t x )
{


  {
  if (x != h->n_buckets) {
    if (! ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 3U)) {
      *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) | (1ul << ((x & 0xfU) << 1)));
      (h->size) --;
    }
  }
  return;
}
}
struct dirent *readdir_skip_dot_and_dotdot(DIR *dirp ) ;
int count_slashes(char const   *s___1 ) ;
int simple_length(char const   *match___0 ) ;
int no_wildcard(char const   *string___0 ) ;
char *common_prefix(struct pathspec  const  *pathspec___1 ) ;
int match_pathspec(struct index_state *istate , struct pathspec  const  *ps , char const   *name___0 ,
                   int namelen , int prefix___1 , char *seen___0 , int is_dir ) ;
int report_path_error(char const   *ps_matched___1 , struct pathspec  const  *pathspec___1 ) ;
int within_depth(char const   *name___0 , int namelen , int depth___1 , int max_depth___0 ) ;
int fill_directory(struct dir_struct *dir , struct index_state *istate , struct pathspec  const  *pathspec___1 ) ;
int read_directory(struct dir_struct *dir , struct index_state *istate , char const   *path___6 ,
                   int len___0 , struct pathspec  const  *pathspec___1 ) ;
enum pattern_match_result path_matches_pattern_list(char const   *pathname , int pathlen ,
                                                    char const   *__xpg_basename___0 ,
                                                    int *dtype , struct pattern_list *pl ,
                                                    struct index_state *istate ) ;
int init_sparse_checkout_patterns(struct index_state *istate ) ;
int path_in_sparse_checkout(char const   *path___6 , struct index_state *istate ) ;
int path_in_cone_mode_sparse_checkout(char const   *path___6 , struct index_state *istate ) ;
struct dir_entry *dir_add_ignored(struct dir_struct *dir , struct index_state *istate ,
                                  char const   *pathname , int len___0 ) ;
int match_basename(char const   *__xpg_basename___0 , int basenamelen , char const   *pattern___0 ,
                   int prefix___1 , int patternlen , unsigned int flags___0 ) ;
int match_pathname(char const   *pathname , int pathlen , char const   *base , int baselen ,
                   char const   *pattern___0 , int prefix___1 , int patternlen , unsigned int flags___0 ) ;
struct path_pattern *last_matching_pattern(struct dir_struct *dir , struct index_state *istate ,
                                           char const   *pathname , int *dtype_p ) ;
int is_excluded(struct dir_struct *dir , struct index_state *istate , char const   *pathname ,
                int *dtype_p ) ;
int pl_hashmap_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *a ,
                   struct hashmap_entry  const  *b___0 , void const   *key___1 ) ;
int hashmap_contains_parent(struct hashmap *map___0 , char const   *path___6 , struct strbuf *buffer___5 ) ;
struct pattern_list *add_pattern_list(struct dir_struct *dir , int group_type , char const   *src ) ;
int add_patterns_from_file_to_list(char const   *fname , char const   *base , int baselen ,
                                   struct pattern_list *pl , struct index_state *istate ,
                                   unsigned int flags___0 ) ;
void add_patterns_from_file(struct dir_struct *dir , char const   *fname ) ;
int add_patterns_from_blob_to_list(struct object_id *oid , char const   *base , int baselen ,
                                   struct pattern_list *pl ) ;
void parse_path_pattern(char const   **pattern___0 , int *patternlen , unsigned int *flags___0 ,
                        int *nowildcardlen ) ;
void add_pattern(char const   *string___0 , char const   *base , int baselen , struct pattern_list *pl ,
                 int srcpos ) ;
void clear_pattern_list(struct pattern_list *pl ) ;
void dir_clear(struct dir_struct *dir ) ;
int repo_file_exists(struct repository *repo , char const   *path___6 ) ;
int file_exists(char const   *f ) ;
int is_inside_dir(char const   *dir ) ;
int dir_inside_of(char const   *subdir , char const   *dir ) ;
__inline static int is_dot_or_dotdot(char const   *name___0 )
{
  int tmp ;

  {
  if ((int const   )*(name___0 + 0) == 46) {
    if ((int const   )*(name___0 + 1) == 0) {
      tmp = 1;
    } else
    if ((int const   )*(name___0 + 1) == 46) {
      if ((int const   )*(name___0 + 2) == 0) {
        tmp = 1;
      } else {
        tmp = 0;
      }
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
int is_empty_dir(char const   *path___6 ) ;
char *git_url_basename(char const   *repo , int is_bundle___0 , int is_bare ) ;
void strip_dir_trailing_slashes(char *dir ) ;
void setup_standard_excludes(struct dir_struct *dir ) ;
char *get_sparse_checkout_filename(void) ;
int get_sparse_checkout_patterns(struct pattern_list *pl ) ;
int remove_dir_recursively(struct strbuf *path___6 , int flag ) ;
int remove_path(char const   *name___0 ) ;
int fspathcmp(char const   *a , char const   *b___0 ) ;
int fspatheq(char const   *a , char const   *b___0 ) ;
int fspathncmp(char const   *a , char const   *b___0 , size_t count___0 ) ;
unsigned int fspathhash(char const   *str ) ;
int git_fnmatch(struct pathspec_item  const  *item___0 , char const   *pattern___0 ,
                char const   *string___0 , int prefix___1 ) ;
int submodule_path_match(struct index_state *istate , struct pathspec  const  *ps ,
                         char const   *submodule_name , char *seen___0 ) ;
__inline static int ce_path_match(struct index_state *istate , struct cache_entry  const  *ce ,
                                  struct pathspec  const  *pathspec___1 , char *seen___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  if ((ce->ce_mode & 61440U) == 16384U) {
    tmp = 1;
  } else
  if ((ce->ce_mode & 61440U) == 57344U) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  tmp___0 = match_pathspec(istate, pathspec___1, (char const   *)(ce->name), (int )ce->ce_namelen,
                           0, seen___0, tmp);
  return (tmp___0);
}
}
__inline static int dir_path_match(struct index_state *istate , struct dir_entry  const  *ent ,
                                   struct pathspec  const  *pathspec___1 , int prefix___1 ,
                                   char *seen___0 )
{
  int has_trailing_dir ;
  int tmp ;
  int len___0 ;
  unsigned int tmp___0 ;
  int tmp___1 ;

  {
  if (ent->len) {
    if ((int )ent->name[ent->len - 1U] == 47) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  has_trailing_dir = tmp;
  if (has_trailing_dir) {
    tmp___0 = ent->len - 1U;
  } else {
    tmp___0 = ent->len;
  }
  len___0 = (int )tmp___0;
  tmp___1 = match_pathspec(istate, pathspec___1, (char const   *)(ent->name), len___0,
                           prefix___1, seen___0, has_trailing_dir);
  return (tmp___1);
}
}
int cmp_dir_entry(void const   *p1 , void const   *p2 ) ;
int check_dir_entry_contains(struct dir_entry  const  *out , struct dir_entry  const  *in ) ;
void untracked_cache_invalidate_path(struct index_state *istate , char const   *path___6 ,
                                     int safe_path ) ;
void untracked_cache_remove_from_index(struct index_state *istate , char const   *path___6 ) ;
void untracked_cache_add_to_index(struct index_state *istate , char const   *path___6 ) ;
void free_untracked_cache(struct untracked_cache *uc ) ;
struct untracked_cache *read_untracked_extension(void const   *data , unsigned long sz ) ;
void write_untracked_extension(struct strbuf *out , struct untracked_cache *untracked ) ;
void add_untracked_cache(struct index_state *istate ) ;
void remove_untracked_cache(struct index_state *istate ) ;
void connect_work_tree_and_git_dir(char const   *work_tree_ , char const   *git_dir_ ,
                                   int recurse_into_nested ) ;
void relocate_gitdir(char const   *path___6 , char const   *old_git_dir , char const   *new_git_dir ) ;
__inline static void cb_init(struct cb_tree *t )
{
  struct cb_tree blank___1 ;

  {
  blank___1.root = (struct cb_node *)0;
  memcpy((void *)t, (void const   *)(& blank___1), sizeof(*t));
  return;
}
}
struct cb_node *cb_lookup(struct cb_tree *t , uint8_t const   *k , size_t klen ) ;
struct cb_node *cb_insert(struct cb_tree *t , struct cb_node *node , size_t klen ) ;
void cb_each(struct cb_tree *t , uint8_t const   *kpfx , size_t klen , enum cb_next (*fn)(struct cb_node * ,
                                                                                          void *arg ) ,
             void *arg ) ;
void oidtree_init(struct oidtree *ot ) ;
void oidtree_clear(struct oidtree *ot ) ;
void oidtree_insert(struct oidtree *ot , struct object_id  const  *oid ) ;
int oidtree_contains(struct oidtree *ot , struct object_id  const  *oid ) ;
void oidtree_each(struct oidtree *ot , struct object_id  const  *oid , size_t oidhexsz ,
                  enum cb_next (*fn)(struct object_id  const  * , void *data ) , void *arg ) ;
void oidset_init(struct oidset *set , size_t initial_size ) ;
int oidset_contains(struct oidset  const  *set , struct object_id  const  *oid ) ;
int oidset_insert(struct oidset *set , struct object_id  const  *oid ) ;
int oidset_remove(struct oidset *set , struct object_id  const  *oid ) ;
__inline static int oidset_size(struct oidset  const  *set )
{


  {
  return ((int )set->set.size);
}
}
void oidset_clear(struct oidset *set ) ;
void oidset_parse_file(struct oidset *set , char const   *path___6 ) ;
void oidset_parse_file_carefully(struct oidset *set , char const   *path___6 , int (*fn)(struct object_id * ,
                                                                                         void * ) ,
                                 void *cbdata ) ;
__inline static void oidset_iter_init(struct oidset *set , struct oidset_iter *iter___0 )
{


  {
  iter___0->set = & set->set;
  iter___0->iter = (khint_t )0;
  return;
}
}
__inline static struct object_id *oidset_iter_next(struct oidset_iter *iter___0 )
{
  khiter_t tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (iter___0->iter != (iter___0->set)->n_buckets)) {
      goto while_break;
    }
    if (! ((*((iter___0->set)->flags + (iter___0->iter >> 4)) >> ((iter___0->iter & 0xfU) << 1)) & 3U)) {
      tmp = iter___0->iter;
      (iter___0->iter) ++;
      return ((iter___0->set)->keys + tmp);
    }
    (iter___0->iter) ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct object_id *)((void *)0));
}
}
__inline static struct object_id *oidset_iter_first(struct oidset *set , struct oidset_iter *iter___0 )
{
  struct object_id *tmp ;

  {
  oidset_iter_init(set, iter___0);
  tmp = oidset_iter_next(iter___0);
  return (tmp);
}
}
__inline static kh_odb_path_map_t *kh_init_odb_path_map(void)  __attribute__((__unused__)) ;
__inline static kh_odb_path_map_t *kh_init_odb_path_map(void)
{
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(kh_odb_path_map_t ));
  return ((kh_odb_path_map_t *)tmp);
}
}
__inline static void kh_release_odb_path_map(kh_odb_path_map_t *h )  __attribute__((__unused__)) ;
__inline static void kh_release_odb_path_map(kh_odb_path_map_t *h )
{


  {
  free((void *)h->flags);
  free((void *)h->keys);
  free((void *)h->vals);
  return;
}
}
__inline static void kh_destroy_odb_path_map(kh_odb_path_map_t *h )  __attribute__((__unused__)) ;
__inline static void kh_destroy_odb_path_map(kh_odb_path_map_t *h )
{


  {
  if (h) {
    kh_release_odb_path_map(h);
    free((void *)h);
  }
  return;
}
}
__inline static void kh_clear_odb_path_map(kh_odb_path_map_t *h )  __attribute__((__unused__)) ;
__inline static void kh_clear_odb_path_map(kh_odb_path_map_t *h )
{
  khint_t tmp ;
  khint_t tmp___0 ;

  {
  if (h) {
    if (h->flags) {
      if (h->n_buckets < 16U) {
        tmp = (khint_t )1;
      } else {
        tmp = h->n_buckets >> 4;
      }
      memset((void *)h->flags, 0xaa, (unsigned long )tmp * sizeof(khint32_t ));
      tmp___0 = (khint_t )0;
      h->n_occupied = tmp___0;
      h->size = tmp___0;
    }
  }
  return;
}
}
__inline static khint_t kh_get_odb_path_map(kh_odb_path_map_t const   *h , char const   *key___1 )  __attribute__((__unused__)) ;
__inline static khint_t kh_get_odb_path_map(kh_odb_path_map_t const   *h , char const   *key___1 )
{
  khint_t k ;
  khint_t i ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;
  khint_t tmp___0 ;

  {
  if (h->n_buckets) {
    step = (khint_t )0;
    mask = (khint_t )(h->n_buckets - 1U);
    k = fspathhash(key___1);
    i = k & mask;
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        return ((khint_t )h->n_buckets);
      }
    }
    while_break: /* CIL Label */ ;
    }
    if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) {
      tmp___0 = h->n_buckets;
    } else {
      tmp___0 = (khint_t )i;
    }
    return ((khint_t )tmp___0);
  } else {
    return ((khint_t )0);
  }
}
}
__inline static void kh_resize_odb_path_map(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map(kh_odb_path_map_t *h , char const   *key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map(kh_odb_path_map_t *h , char const   *key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_del_odb_path_map(kh_odb_path_map_t *h , khint_t x )  __attribute__((__unused__)) ;
__inline static void kh_del_odb_path_map(kh_odb_path_map_t *h , khint_t x )
{


  {
  if (x != h->n_buckets) {
    if (! ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 3U)) {
      *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) | (1ul << ((x & 0xfU) << 1)));
      (h->size) --;
    }
  }
  return;
}
}
void prepare_alt_odb(struct repository *r ) ;
char *compute_alternate_path(char const   *path___6 , struct strbuf *err___4 ) ;
struct object_directory *find_odb(struct repository *r , char const   *obj_dir ) ;
int foreach_alt_odb(alt_odb_fn *fn , void *cb ) ;
void for_each_alternate_ref(alternate_ref_fn *fn , void *data ) ;
void add_to_alternates_file(char const   *reference ) ;
void add_to_alternates_memory(char const   *reference ) ;
struct object_directory *set_temporary_primary_odb(char const   *dir , int will_destroy ) ;
void restore_primary_odb(struct object_directory *restore_odb , char const   *old_path ) ;
struct oidtree *odb_loose_cache(struct object_directory *odb , struct object_id  const  *oid ) ;
void odb_clear_loose_cache(struct object_directory *odb ) ;
void free_object_directory(struct object_directory *odb ) ;
__inline static int pack_map_entry_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *entry ,
                                       struct hashmap_entry  const  *entry2 , void const   *keydata )
{
  char const   *key___1 ;
  struct packed_git  const  *pg1 ;
  struct packed_git  const  *pg2 ;
  char const   *tmp ;
  int tmp___0 ;

  {
  key___1 = (char const   *)keydata;
  pg1 = (struct packed_git  const  *)((char *)entry - (unsigned long )(& ((struct packed_git  const  *)0)->packmap_ent));
  pg2 = (struct packed_git  const  *)((char *)entry2 - (unsigned long )(& ((struct packed_git  const  *)0)->packmap_ent));
  if (key___1) {
    tmp = key___1;
  } else {
    tmp = (char const   *)(pg2->pack_name);
  }
  tmp___0 = strcmp((char const   *)(pg1->pack_name), tmp);
  return (tmp___0);
}
}
struct raw_object_store *raw_object_store_new(void) ;
void raw_object_store_clear(struct raw_object_store *o ) ;
char const   *loose_object_path(struct repository *r , struct strbuf *buf___19 , struct object_id  const  *oid ) ;
void *map_loose_object(struct repository *r , struct object_id  const  *oid , unsigned long *size ) ;
void *read_object_file_extended(struct repository *r , struct object_id  const  *oid ,
                                enum object_type *type___0 , unsigned long *size ,
                                int lookup_replace ) ;
__inline static void *repo_read_object_file(struct repository *r , struct object_id  const  *oid ,
                                            enum object_type *type___0 , unsigned long *size )
{
  void *tmp ;

  {
  tmp = read_object_file_extended(r, oid, type___0, size, 1);
  return (tmp);
}
}
int oid_object_info(struct repository *r , struct object_id  const  *oid , unsigned long *sizep ) ;
int hash_object_file(struct git_hash_algo  const  *algo , void const   *buf___19 ,
                     unsigned long len___0 , char const   *type___0 , struct object_id *oid ) ;
int write_object_file_flags(void const   *buf___19 , unsigned long len___0 , char const   *type___0 ,
                            struct object_id *oid , unsigned int flags___0 ) ;
__inline static int write_object_file(void const   *buf___19 , unsigned long len___0 ,
                                      char const   *type___0 , struct object_id *oid )
{
  int tmp ;

  {
  tmp = write_object_file_flags(buf___19, len___0, type___0, oid, 0U);
  return (tmp);
}
}
int hash_object_file_literally(void const   *buf___19 , unsigned long len___0 , char const   *type___0 ,
                               struct object_id *oid , unsigned int flags___0 ) ;
int pretend_object_file(void *buf___19 , unsigned long len___0 , enum object_type type___0 ,
                        struct object_id *oid ) ;
int force_object_loose(struct object_id  const  *oid , time_t mtime ) ;
int read_loose_object(char const   *path___6 , struct object_id  const  *expected_oid ,
                      struct object_id *real_oid , void **contents , struct object_info *oi___0 ) ;
int has_object(struct repository *r , struct object_id  const  *oid , unsigned int flags___0 ) ;
int repo_has_object_file(struct repository *r , struct object_id  const  *oid ) ;
int repo_has_object_file_with_flags(struct repository *r , struct object_id  const  *oid ,
                                    int flags___0 ) ;
int has_loose_object_nonlocal(struct object_id  const  *oid ) ;
void assert_oid_type(struct object_id  const  *oid , enum object_type expect ) ;
void enable_obj_read_lock(void) ;
void disable_obj_read_lock(void) ;
int obj_read_use_lock ;
pthread_mutex_t obj_read_mutex ;
__inline static void obj_read_lock(void)
{


  {
  if (obj_read_use_lock) {
    pthread_mutex_lock(& obj_read_mutex);
  }
  return;
}
}
__inline static void obj_read_unlock(void)
{


  {
  if (obj_read_use_lock) {
    pthread_mutex_unlock(& obj_read_mutex);
  }
  return;
}
}
int oid_object_info_extended(struct repository *r , struct object_id  const  *oid ,
                             struct object_info *oi___0 , unsigned int flags___0 ) ;
int for_each_file_in_obj_subdir(unsigned int subdir_nr , struct strbuf *path___6 ,
                                each_loose_object_fn *obj_cb , each_loose_cruft_fn *cruft_cb ,
                                each_loose_subdir_fn *subdir_cb , void *data ) ;
int for_each_loose_file_in_objdir(char const   *path___6 , each_loose_object_fn *obj_cb ,
                                  each_loose_cruft_fn *cruft_cb , each_loose_subdir_fn *subdir_cb ,
                                  void *data ) ;
int for_each_loose_file_in_objdir_buf(struct strbuf *path___6 , each_loose_object_fn *obj_cb ,
                                      each_loose_cruft_fn *cruft_cb , each_loose_subdir_fn *subdir_cb ,
                                      void *data ) ;
int for_each_loose_object(each_loose_object_fn *cb , void *data , enum for_each_object_flags flags___0 ) ;
int for_each_object_in_pack(struct packed_git *p___0 , each_packed_object_fn *cb ,
                            void *data , enum for_each_object_flags flags___0 ) ;
int for_each_packed_object(each_packed_object_fn *cb , void *data , enum for_each_object_flags flags___0 ) ;
void git_test_write_commit_graph_or_die(void) ;
char *get_commit_graph_filename(struct object_directory *obj_dir ) ;
char *get_commit_graph_chain_filename(struct object_directory *odb ) ;
int open_commit_graph(char const   *graph_file , int *fd , struct stat *st ) ;
int parse_commit_in_graph(struct repository *r , struct commit *item___0 ) ;
struct commit *lookup_commit_in_graph(struct repository *repo , struct object_id  const  *id ) ;
void load_commit_graph_info(struct repository *r , struct commit *item___0 ) ;
struct tree *get_commit_tree_in_graph(struct repository *r , struct commit  const  *c___0 ) ;
struct commit_graph *load_commit_graph_one_fd_st(struct repository *r , int fd , struct stat *st ,
                                                 struct object_directory *odb ) ;
struct commit_graph *read_commit_graph_one(struct repository *r , struct object_directory *odb ) ;
struct commit_graph *parse_commit_graph(struct repository *r , void *graph_map , size_t graph_size ) ;
int generation_numbers_enabled(struct repository *r ) ;
int corrected_commit_dates_enabled(struct repository *r ) ;
struct bloom_filter_settings *get_bloom_filter_settings(struct repository *r ) ;
int write_commit_graph_reachable(struct object_directory *odb , enum commit_graph_write_flags flags___0 ,
                                 struct commit_graph_opts  const  *opts___1 ) ;
int write_commit_graph(struct object_directory *odb , struct string_list *pack_indexes ,
                       struct oidset *commits , enum commit_graph_write_flags flags___0 ,
                       struct commit_graph_opts  const  *opts___1 ) ;
int verify_commit_graph(struct repository *r , struct commit_graph *g , int flags___0 ) ;
void close_commit_graph(struct raw_object_store *o ) ;
void free_commit_graph(struct commit_graph *g ) ;
void disable_commit_graph(struct repository *r ) ;
timestamp_t commit_graph_generation(struct commit  const  *c___0 ) ;
uint32_t commit_graph_position(struct commit  const  *c___0 ) ;
int LLVMFuzzerTestOneInput(uint8_t const   *data , size_t size ) ;
int LLVMFuzzerTestOneInput(uint8_t const   *data , size_t size )
{
  struct commit_graph *g ;

  {
  initialize_the_repository();
  g = parse_commit_graph(the_repository, (void *)data, size);
  repo_clear(the_repository);
  free_commit_graph(g);
  return (0);
}
}
static double const   __ac_HASH_UPPER___0  =    (double const   )0.77;
__inline static void kh_resize_oid_set___0(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___0(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___0 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___0 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___0(kh_oid_set_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___0(kh_oid_set_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___0(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___0(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___0(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___0(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___0 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___0 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___0(kh_oid_map_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___0(kh_oid_map_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___0(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___0(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___0(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___0(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___0 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___0 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___0(kh_oid_pos_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___0(kh_oid_pos_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___0(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___0(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
char *odb_pack_name(struct strbuf *buf___19 , unsigned char const   *hash___0 , char const   *ext ) ;
char *sha1_pack_name(unsigned char const   *sha1 ) ;
char *sha1_pack_index_name(unsigned char const   *sha1 ) ;
char const   *pack_basename(struct packed_git *p___0 ) ;
struct packed_git *parse_pack_index(unsigned char *sha1 , char const   *idx_path ) ;
void for_each_file_in_pack_dir(char const   *objdir , each_file_in_pack_dir_fn *fn ,
                               void *data ) ;
void (*report_garbage)(unsigned int seen_bits , char const   *path ) ;
void reprepare_packed_git(struct repository *r ) ;
void install_packed_git(struct repository *r , struct packed_git *pack___0 ) ;
struct packed_git *get_packed_git(struct repository *r ) ;
struct list_head *get_packed_git_mru(struct repository *r ) ;
struct multi_pack_index *get_multi_pack_index(struct repository *r ) ;
struct multi_pack_index *get_local_multi_pack_index(struct repository *r ) ;
struct packed_git *get_all_packs(struct repository *r ) ;
unsigned long repo_approximate_object_count(struct repository *r ) ;
struct packed_git *find_sha1_pack(unsigned char const   *sha1 , struct packed_git *packs ) ;
void pack_report(void) ;
int open_pack_index(struct packed_git *p___0 ) ;
void close_pack_index(struct packed_git *p___0 ) ;
int close_pack_fd(struct packed_git *p___0 ) ;
uint32_t get_pack_fanout(struct packed_git *p___0 , uint32_t value ) ;
unsigned char *use_pack(struct packed_git *p___0 , struct pack_window **w_cursor ,
                        off_t offset___2 , unsigned long *left ) ;
void close_pack_windows(struct packed_git *p___0 ) ;
void close_pack(struct packed_git *p___0 ) ;
void close_object_store(struct raw_object_store *o ) ;
void unuse_pack(struct pack_window **w_cursor ) ;
void clear_delta_base_cache(void) ;
struct packed_git *add_packed_git(char const   *path___6 , size_t path_len , int local___0 ) ;
void unlink_pack_path(char const   *pack_name , int force_delete ) ;
void check_pack_index_ptr(struct packed_git  const  *p___0 , void const   *vptr ) ;
int bsearch_pack(struct object_id  const  *oid , struct packed_git  const  *p___0 ,
                 uint32_t *result___0 ) ;
int nth_packed_object_id(struct object_id *oid , struct packed_git *p___0 , uint32_t n ) ;
off_t nth_packed_object_offset(struct packed_git  const  *p___0 , uint32_t n ) ;
off_t find_pack_entry_one(unsigned char const   *sha1 , struct packed_git *p___0 ) ;
int is_pack_valid(struct packed_git *p___0 ) ;
void *unpack_entry(struct repository *r , struct packed_git *p___0 , off_t obj_offset ,
                   enum object_type *final_type , unsigned long *final_size ) ;
unsigned long unpack_object_header_buffer(unsigned char const   *buf___19 , unsigned long len___0 ,
                                          enum object_type *type___0 , unsigned long *sizep ) ;
unsigned long get_size_from_delta(struct packed_git *p___0 , struct pack_window **w_curs ,
                                  off_t curpos ) ;
int unpack_object_header(struct packed_git *p___0 , struct pack_window **w_curs ,
                         off_t *curpos , unsigned long *sizep ) ;
off_t get_delta_base(struct packed_git *p___0 , struct pack_window **w_curs , off_t *curpos ,
                     enum object_type type___0 , off_t delta_obj_offset ) ;
extern void release_pack_memory(size_t  ) ;
int do_check_packed_object_crc ;
int packed_object_info(struct repository *r , struct packed_git *p___0 , off_t obj_offset ,
                       struct object_info *oi___0 ) ;
void mark_bad_packed_object(struct packed_git *p___0 , struct object_id  const  *oid ) ;
struct packed_git  const  *has_packed_and_bad(struct repository *r , struct object_id  const  *oid ) ;
int find_pack_entry(struct repository *r , struct object_id  const  *oid , struct pack_entry *e ) ;
int find_kept_pack_entry(struct repository *r , struct object_id  const  *oid , unsigned int flags___0 ,
                         struct pack_entry *e ) ;
int has_object_pack(struct object_id  const  *oid ) ;
int has_object_kept_pack(struct object_id  const  *oid , unsigned int flags___0 ) ;
int has_pack_index(unsigned char const   *sha1 ) ;
int is_promisor_object(struct object_id  const  *oid ) ;
int load_idx(char const   *path___6 , unsigned int const   hashsz , void *idx_map ,
             size_t idx_size , struct packed_git *p___0 ) ;
static double const   __ac_HASH_UPPER___1  =    (double const   )0.77;
__inline static void kh_resize_oid_set___1(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___1(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___1 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___1 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___1(kh_oid_set_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___1(kh_oid_set_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___1(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___1(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___1(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___1(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___1 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___1 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___1(kh_oid_map_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___1(kh_oid_map_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___1(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___1(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___1(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___1(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___1 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___1 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___1(kh_oid_pos_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___1(kh_oid_pos_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___1(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___1(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___0(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___0(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___1 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___1 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___0(kh_odb_path_map_t *h , char const   *key___1 ,
                                                int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___0(kh_odb_path_map_t *h , char const   *key___1 ,
                                                int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___0(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___0(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
char const   *config_scope_name(enum config_scope scope ) ;
int git_default_config(char const   *var , char const   *value , void *cb ) ;
int git_config_from_file(int (*fn)(char const   * , char const   * , void * ) , char const   *filename___0 ,
                         void *data ) ;
int git_config_from_file_with_options(int (*fn)(char const   * , char const   * ,
                                                void * ) , char const   *filename___0 ,
                                      void *data , struct config_options  const  *opts___1 ) ;
int git_config_from_mem(int (*fn)(char const   * , char const   * , void * ) , enum config_origin_type  const  origin_type ,
                        char const   *name___0 , char const   *buf___19 , size_t len___0 ,
                        void *data , struct config_options  const  *opts___1 ) ;
int git_config_from_blob_oid(int (*fn)(char const   * , char const   * , void * ) ,
                             char const   *name___0 , struct repository *repo , struct object_id  const  *oid ,
                             void *data ) ;
void git_config_push_parameter(char const   *text ) ;
void git_config_push_env(char const   *spec ) ;
int git_config_from_parameters(int (*fn)(char const   * , char const   * , void * ) ,
                               void *data ) ;
void read_early_config(int (*cb)(char const   * , char const   * , void * ) , void *data ) ;
void read_very_early_config(int (*cb)(char const   * , char const   * , void * ) ,
                            void *data ) ;
void git_config(int (*fn)(char const   * , char const   * , void * ) , void *data ) ;
int config_with_options(int (*fn)(char const   * , char const   * , void * ) , void *data ,
                        struct git_config_source *config_source , struct config_options  const  *opts___1 ) ;
int git_parse_ssize_t(char const   *value , ssize_t *ret___67 ) ;
int git_parse_ulong(char const   *value , unsigned long *ret___67 ) ;
int git_parse_maybe_bool(char const   *value ) ;
int git_config_int(char const   *name___0 , char const   *value ) ;
int64_t git_config_int64(char const   *name___0 , char const   *value ) ;
unsigned long git_config_ulong(char const   *name___0 , char const   *value ) ;
ssize_t git_config_ssize_t(char const   *name___0 , char const   *value ) ;
int git_config_bool_or_int(char const   *name___0 , char const   *value , int *is_bool ) ;
int git_config_bool(char const   *name___0 , char const   *value ) ;
int git_config_string(char const   **dest , char const   *var , char const   *value ) ;
int git_config_pathname(char const   **dest , char const   *var , char const   *value ) ;
int git_config_expiry_date(timestamp_t *timestamp___0 , char const   *var , char const   *value ) ;
int git_config_color(char *dest , char const   *var , char const   *value ) ;
int git_config_set_in_file_gently(char const   *config_filename , char const   *key___1 ,
                                  char const   *value ) ;
void git_config_set_in_file(char const   *config_filename , char const   *key___1 ,
                            char const   *value ) ;
int git_config_set_gently(char const   *key___1 , char const   *value ) ;
void git_config_set(char const   *key___1 , char const   *value ) ;
int git_config_parse_key(char const   *key___1 , char **store_key , size_t *baselen_ ) ;
int git_config_set_multivar_gently(char const   *key___1 , char const   *value , char const   *value_pattern___0 ,
                                   unsigned int flags___0 ) ;
void git_config_set_multivar(char const   *key___1 , char const   *value , char const   *value_pattern___0 ,
                             unsigned int flags___0 ) ;
int git_config_set_multivar_in_file_gently(char const   *config_filename , char const   *key___1 ,
                                           char const   *value , char const   *value_pattern___0 ,
                                           unsigned int flags___0 ) ;
void git_config_set_multivar_in_file(char const   *config_filename , char const   *key___1 ,
                                     char const   *value , char const   *value_pattern___0 ,
                                     unsigned int flags___0 ) ;
int git_config_rename_section(char const   *old_name , char const   *new_name ) ;
int git_config_rename_section_in_file(char const   *config_filename , char const   *old_name ,
                                      char const   *new_name ) ;
int git_config_copy_section(char const   *old_name , char const   *new_name ) ;
int git_config_copy_section_in_file(char const   *config_filename , char const   *old_name ,
                                    char const   *new_name ) ;
int git_env_bool(char const   *k , int def___0 ) ;
unsigned long git_env_ulong(char const   *k , unsigned long val ) ;
int git_config_system(void) ;
int config_error_nonbool(char const   *var ) ;
char *git_system_config(void) ;
void git_global_config(char **user_out , char **xdg_out ) ;
int git_config_parse_parameter(char const   *text , int (*fn)(char const   * , char const   * ,
                                                              void * ) , void *data ) ;
enum config_scope current_config_scope(void) ;
char const   *current_config_origin_type(void) ;
char const   *current_config_name(void) ;
int current_config_line(void) ;
int git_config_include(char const   *var , char const   *value , void *data ) ;
int parse_config_key(char const   *var , char const   *section , char const   **subsection ,
                     size_t *subsection_len , char const   **key___1 ) ;
void git_configset_init(struct config_set *cs ) ;
int git_configset_add_file(struct config_set *cs , char const   *filename___0 ) ;
struct string_list  const  *git_configset_get_value_multi(struct config_set *cs ,
                                                          char const   *key___1 ) ;
void git_configset_clear(struct config_set *cs ) ;
int git_configset_get_value(struct config_set *cs , char const   *key___1 , char const   **value ) ;
int git_configset_get_string(struct config_set *cs , char const   *key___1 , char **dest ) ;
int git_configset_get_string_tmp(struct config_set *cs , char const   *key___1 , char const   **dest ) ;
int git_configset_get_int(struct config_set *cs , char const   *key___1 , int *dest ) ;
int git_configset_get_ulong(struct config_set *cs , char const   *key___1 , unsigned long *dest ) ;
int git_configset_get_bool(struct config_set *cs , char const   *key___1 , int *dest ) ;
int git_configset_get_bool_or_int(struct config_set *cs , char const   *key___1 ,
                                  int *is_bool , int *dest ) ;
int git_configset_get_maybe_bool(struct config_set *cs , char const   *key___1 , int *dest ) ;
int git_configset_get_pathname(struct config_set *cs , char const   *key___1 , char const   **dest ) ;
void repo_config(struct repository *repo , int (*fn)(char const   * , char const   * ,
                                                     void * ) , void *data ) ;
int repo_config_get_value(struct repository *repo , char const   *key___1 , char const   **value ) ;
struct string_list  const  *repo_config_get_value_multi(struct repository *repo ,
                                                        char const   *key___1 ) ;
int repo_config_get_string(struct repository *repo , char const   *key___1 , char **dest ) ;
int repo_config_get_string_tmp(struct repository *repo , char const   *key___1 , char const   **dest ) ;
int repo_config_get_int(struct repository *repo , char const   *key___1 , int *dest ) ;
int repo_config_get_ulong(struct repository *repo , char const   *key___1 , unsigned long *dest ) ;
int repo_config_get_bool(struct repository *repo , char const   *key___1 , int *dest ) ;
int repo_config_get_bool_or_int(struct repository *repo , char const   *key___1 ,
                                int *is_bool , int *dest ) ;
int repo_config_get_maybe_bool(struct repository *repo , char const   *key___1 , int *dest ) ;
int repo_config_get_pathname(struct repository *repo , char const   *key___1 , char const   **dest ) ;
int git_config_get_value(char const   *key___1 , char const   **value ) ;
struct string_list  const  *git_config_get_value_multi(char const   *key___1 ) ;
void git_config_clear(void) ;
int git_config_get_string(char const   *key___1 , char **dest ) ;
int git_config_get_string_tmp(char const   *key___1 , char const   **dest ) ;
int git_config_get_int(char const   *key___1 , int *dest ) ;
int git_config_get_ulong(char const   *key___1 , unsigned long *dest ) ;
int git_config_get_bool(char const   *key___1 , int *dest ) ;
int git_config_get_bool_or_int(char const   *key___1 , int *is_bool , int *dest ) ;
int git_config_get_maybe_bool(char const   *key___1 , int *dest ) ;
int git_config_get_pathname(char const   *key___1 , char const   **dest ) ;
int git_config_get_index_threads(int *dest ) ;
int git_config_get_split_index(void) ;
int git_config_get_max_percent_split_change(void) ;
int git_config_get_fsmonitor(void) ;
int git_config_get_expiry(char const   *key___1 , char const   **output___4 ) ;
int git_config_get_expiry_in_days(char const   *key___1 , timestamp_t *expiry , timestamp_t now ) ;
void ( /* format attribute */  git_die_config)(char const   *key___1 , char const   *err___4
                                               , ...)  __attribute__((__noreturn__)) ;
void git_die_config_linenr(char const   *key___1 , char const   *filename___0 , int linenr )  __attribute__((__noreturn__)) ;
int lookup_config(char const   **mapping , int nr_mapping , char const   *var ) ;
int demultiplex_sideband(char const   *me , int status , char *buf___19 , int len___0 ,
                         int die_on_error , struct strbuf *scratch , enum sideband_type *sideband_type ) ;
void send_sideband(int fd , int band , char const   *data , ssize_t sz , int packet_max ) ;
void packet_flush(int fd ) ;
void packet_delim(int fd ) ;
void packet_response_end(int fd ) ;
void ( /* format attribute */  packet_write_fmt)(int fd , char const   *fmt  , ...) ;
void packet_buf_flush(struct strbuf *buf___19 ) ;
void packet_buf_delim(struct strbuf *buf___19 ) ;
void set_packet_header(char *buf___19 , int size ) ;
void packet_write(int fd_out___0 , char const   *buf___19 , size_t size ) ;
void ( /* format attribute */  packet_buf_write)(struct strbuf *buf___19 , char const   *fmt
                                                 , ...) ;
int packet_flush_gently(int fd ) ;
int ( /* format attribute */  packet_write_fmt_gently)(int fd , char const   *fmt
                                                       , ...) ;
int write_packetized_from_fd_no_flush(int fd_in , int fd_out___0 ) ;
int write_packetized_from_buf_no_flush(char const   *src_in , size_t len___0 , int fd_out___0 ) ;
void packet_fwrite(FILE *f , char const   *buf___19 , size_t size ) ;
void ( /* format attribute */  packet_fwrite_fmt)(FILE *fh , char const   *fmt  , ...) ;
void packet_fflush(FILE *f ) ;
int packet_read(int fd , char *buffer___5 , unsigned int size , int options ) ;
int packet_length(char const   *lenbuf_hex ) ;
enum packet_read_status packet_read_with_status(int fd , char **src_buffer , size_t *src_len ,
                                                char *buffer___5 , unsigned int size ,
                                                int *pktlen , int options ) ;
char *packet_read_line(int fd , int *dst_len ) ;
int packet_read_line_gently(int fd , int *dst_len , char **dst_line ) ;
ssize_t read_packetized_to_strbuf(int fd_in , struct strbuf *sb_out , int options ) ;
int recv_sideband(char const   *me , int in_stream , int out ) ;
void packet_reader_init(struct packet_reader *reader , int fd , char *src_buffer ,
                        size_t src_len , int options ) ;
enum packet_read_status packet_reader_read(struct packet_reader *reader ) ;
enum packet_read_status packet_reader_peek(struct packet_reader *reader ) ;
char packet_buffer[65520] ;
void packet_writer_init(struct packet_writer *writer___0 , int dest_fd ) ;
void ( /* format attribute */  packet_writer_write)(struct packet_writer *writer___0 ,
                                                    char const   *fmt  , ...) ;
void ( /* format attribute */  packet_writer_error)(struct packet_writer *writer___0 ,
                                                    char const   *fmt  , ...) ;
void packet_writer_delim(struct packet_writer *writer___0 ) ;
void packet_writer_flush(struct packet_writer *writer___0 ) ;
char const   *empty_strvec[1] ;
void strvec_init(struct strvec *array ) ;
char const   *strvec_push(struct strvec *array , char const   *value ) ;
char const   *( /* format attribute */  strvec_pushf)(struct strvec *array , char const   *fmt
                                                      , ...) ;
void __attribute__((__sentinel__))  strvec_pushl(struct strvec *array  , ...) ;
void strvec_pushv(struct strvec *array , char const   **items ) ;
void strvec_pop(struct strvec *array ) ;
void strvec_split(struct strvec *array , char const   *to_split ) ;
void strvec_clear(struct strvec *array ) ;
char const   **strvec_detach(struct strvec *array ) ;
void child_process_init(struct child_process *child ) ;
void child_process_clear(struct child_process *child ) ;
int is_executable(char const   *name___0 ) ;
int exists_in_PATH(char const   *command___0 ) ;
int start_command(struct child_process *cmd ) ;
int finish_command(struct child_process *cmd ) ;
int finish_command_in_signal(struct child_process *cmd ) ;
int run_command(struct child_process *cmd ) ;
int __attribute__((__sentinel__))  run_hook_le(char const   **env , char const   *name___0
                                               , ...) ;
int run_hook_ve(char const   **env , char const   *name___0 , va_list args___0 ) ;
int run_auto_maintenance(int quiet___7 ) ;
int run_command_v_opt(char const   **argv___0 , int opt___0 ) ;
int run_command_v_opt_tr2(char const   **argv___0 , int opt___0 , char const   *tr2_class ) ;
int run_command_v_opt_cd_env(char const   **argv___0 , int opt___0 , char const   *dir ,
                             char const   **env ) ;
int run_command_v_opt_cd_env_tr2(char const   **argv___0 , int opt___0 , char const   *dir ,
                                 char const   **env , char const   *tr2_class ) ;
int pipe_command(struct child_process *cmd , char const   *in , size_t in_len , struct strbuf *out ,
                 size_t out_hint , struct strbuf *err___4 , size_t err_hint ) ;
__inline static int capture_command(struct child_process *cmd , struct strbuf *out ,
                                    size_t hint )
{
  int tmp ;

  {
  tmp = pipe_command(cmd, (char const   *)((void *)0), (size_t )0, out, hint, (struct strbuf *)((void *)0),
                     (size_t )0);
  return (tmp);
}
}
int start_async(struct async *async ) ;
int finish_async(struct async *async ) ;
int in_async(void) ;
int async_with_fork(void) ;
void check_pipe(int err___4 ) ;
int run_processes_parallel(int n , int (*get_next_task)(struct child_process *cp ,
                                                        struct strbuf *out , void *pp_cb ,
                                                        void **pp_task_cb ) , int (*start_failure)(struct strbuf *out ,
                                                                                                   void *pp_cb ,
                                                                                                   void *pp_task_cb ) ,
                           int (*task_finished___0)(int result , struct strbuf *out ,
                                                    void *pp_cb , void *pp_task_cb ) ,
                           void *pp_cb ) ;
int run_processes_parallel_tr2(int n , int (*get_next_task)(struct child_process *cp ,
                                                            struct strbuf *out , void *pp_cb ,
                                                            void **pp_task_cb ) ,
                               int (*start_failure)(struct strbuf *out , void *pp_cb ,
                                                    void *pp_task_cb ) , int (*task_finished___0)(int result ,
                                                                                                  struct strbuf *out ,
                                                                                                  void *pp_cb ,
                                                                                                  void *pp_task_cb ) ,
                               void *pp_cb , char const   *tr2_category , char const   *tr2_label ) ;
void prepare_other_repo_env(struct strvec *env_array , char const   *new_git_dir ) ;
enum start_bg_result start_bg_command(struct child_process *cmd , start_bg_wait_cb *wait_cb ,
                                      void *cb_data , unsigned int timeout_sec ) ;
static enum log_destination log_destination  =    (enum log_destination )-1;
static int verbose  ;
static int reuseaddr  ;
static int informative_errors  ;
static char const   daemon_usage[640]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'d',      (char const   )'a',      (char const   )'e',      (char const   )'m',
        (char const   )'o',      (char const   )'n',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'v',      (char const   )'e',
        (char const   )'r',      (char const   )'b',      (char const   )'o',      (char const   )'s',
        (char const   )'e',      (char const   )']',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'s',      (char const   )'y',
        (char const   )'s',      (char const   )'l',      (char const   )'o',      (char const   )'g',
        (char const   )']',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'e',      (char const   )'x',      (char const   )'p',
        (char const   )'o',      (char const   )'r',      (char const   )'t',      (char const   )'-',
        (char const   )'a',      (char const   )'l',      (char const   )'l',      (char const   )']',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'-',      (char const   )'t',
        (char const   )'i',      (char const   )'m',      (char const   )'e',      (char const   )'o',
        (char const   )'u',      (char const   )'t',      (char const   )'=',      (char const   )'<',
        (char const   )'n',      (char const   )'>',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'-',      (char const   )'i',
        (char const   )'n',      (char const   )'i',      (char const   )'t',      (char const   )'-',
        (char const   )'t',      (char const   )'i',      (char const   )'m',      (char const   )'e',
        (char const   )'o',      (char const   )'u',      (char const   )'t',      (char const   )'=',
        (char const   )'<',      (char const   )'n',      (char const   )'>',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'-',
        (char const   )'m',      (char const   )'a',      (char const   )'x',      (char const   )'-',
        (char const   )'c',      (char const   )'o',      (char const   )'n',      (char const   )'n',
        (char const   )'e',      (char const   )'c',      (char const   )'t',      (char const   )'i',
        (char const   )'o',      (char const   )'n',      (char const   )'s',      (char const   )'=',
        (char const   )'<',      (char const   )'n',      (char const   )'>',      (char const   )']',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'-',      (char const   )'s',
        (char const   )'t',      (char const   )'r',      (char const   )'i',      (char const   )'c',
        (char const   )'t',      (char const   )'-',      (char const   )'p',      (char const   )'a',
        (char const   )'t',      (char const   )'h',      (char const   )'s',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'-',
        (char const   )'b',      (char const   )'a',      (char const   )'s',      (char const   )'e',
        (char const   )'-',      (char const   )'p',      (char const   )'a',      (char const   )'t',
        (char const   )'h',      (char const   )'=',      (char const   )'<',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'h',      (char const   )'>',
        (char const   )']',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'b',      (char const   )'a',      (char const   )'s',
        (char const   )'e',      (char const   )'-',      (char const   )'p',      (char const   )'a',
        (char const   )'t',      (char const   )'h',      (char const   )'-',      (char const   )'r',
        (char const   )'e',      (char const   )'l',      (char const   )'a',      (char const   )'x',
        (char const   )'e',      (char const   )'d',      (char const   )']',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'u',      (char const   )'s',
        (char const   )'e',      (char const   )'r',      (char const   )'-',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'h',      (char const   )' ',
        (char const   )'|',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'u',      (char const   )'s',      (char const   )'e',      (char const   )'r',
        (char const   )'-',      (char const   )'p',      (char const   )'a',      (char const   )'t',
        (char const   )'h',      (char const   )'=',      (char const   )'<',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'h',      (char const   )'>',
        (char const   )']',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'-',
        (char const   )'i',      (char const   )'n',      (char const   )'t',      (char const   )'e',
        (char const   )'r',      (char const   )'p',      (char const   )'o',      (char const   )'l',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )'d',
        (char const   )'-',      (char const   )'p',      (char const   )'a',      (char const   )'t',
        (char const   )'h',      (char const   )'=',      (char const   )'<',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'h',      (char const   )'>',
        (char const   )']',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'-',
        (char const   )'r',      (char const   )'e',      (char const   )'u',      (char const   )'s',
        (char const   )'e',      (char const   )'a',      (char const   )'d',      (char const   )'d',
        (char const   )'r',      (char const   )']',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'p',      (char const   )'i',
        (char const   )'d',      (char const   )'-',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )'=',      (char const   )'<',
        (char const   )'f',      (char const   )'i',      (char const   )'l',      (char const   )'e',
        (char const   )'>',      (char const   )']',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'(',      (char const   )'e',      (char const   )'n',
        (char const   )'a',      (char const   )'b',      (char const   )'l',      (char const   )'e',
        (char const   )'|',      (char const   )'d',      (char const   )'i',      (char const   )'s',
        (char const   )'a',      (char const   )'b',      (char const   )'l',      (char const   )'e',
        (char const   )'|',      (char const   )'a',      (char const   )'l',      (char const   )'l',
        (char const   )'o',      (char const   )'w',      (char const   )'-',      (char const   )'o',
        (char const   )'v',      (char const   )'e',      (char const   )'r',      (char const   )'r',
        (char const   )'i',      (char const   )'d',      (char const   )'e',      (char const   )'|',
        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )'b',
        (char const   )'i',      (char const   )'d',      (char const   )'-',      (char const   )'o',
        (char const   )'v',      (char const   )'e',      (char const   )'r',      (char const   )'r',
        (char const   )'i',      (char const   )'d',      (char const   )'e',      (char const   )')',
        (char const   )'=',      (char const   )'<',      (char const   )'s',      (char const   )'e',
        (char const   )'r',      (char const   )'v',      (char const   )'i',      (char const   )'c',
        (char const   )'e',      (char const   )'>',      (char const   )']',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'a',      (char const   )'c',
        (char const   )'c',      (char const   )'e',      (char const   )'s',      (char const   )'s',
        (char const   )'-',      (char const   )'h',      (char const   )'o',      (char const   )'o',
        (char const   )'k',      (char const   )'=',      (char const   )'<',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'h',      (char const   )'>',
        (char const   )']',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'-',
        (char const   )'i',      (char const   )'n',      (char const   )'e',      (char const   )'t',
        (char const   )'d',      (char const   )' ',      (char const   )'|',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'-',      (char const   )'l',
        (char const   )'i',      (char const   )'s',      (char const   )'t',      (char const   )'e',
        (char const   )'n',      (char const   )'=',      (char const   )'<',      (char const   )'h',
        (char const   )'o',      (char const   )'s',      (char const   )'t',      (char const   )'_',
        (char const   )'o',      (char const   )'r',      (char const   )'_',      (char const   )'i',
        (char const   )'p',      (char const   )'a',      (char const   )'d',      (char const   )'d',
        (char const   )'r',      (char const   )'>',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'-',      (char const   )'p',
        (char const   )'o',      (char const   )'r',      (char const   )'t',      (char const   )'=',
        (char const   )'<',      (char const   )'n',      (char const   )'>',      (char const   )']',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'d',      (char const   )'e',
        (char const   )'t',      (char const   )'a',      (char const   )'c',      (char const   )'h',
        (char const   )']',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'u',      (char const   )'s',      (char const   )'e',
        (char const   )'r',      (char const   )'=',      (char const   )'<',      (char const   )'u',
        (char const   )'s',      (char const   )'e',      (char const   )'r',      (char const   )'>',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'-',
        (char const   )'g',      (char const   )'r',      (char const   )'o',      (char const   )'u',
        (char const   )'p',      (char const   )'=',      (char const   )'<',      (char const   )'g',
        (char const   )'r',      (char const   )'o',      (char const   )'u',      (char const   )'p',
        (char const   )'>',      (char const   )']',      (char const   )']',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'l',      (char const   )'o',
        (char const   )'g',      (char const   )'-',      (char const   )'d',      (char const   )'e',
        (char const   )'s',      (char const   )'t',      (char const   )'i',      (char const   )'n',
        (char const   )'a',      (char const   )'t',      (char const   )'i',      (char const   )'o',
        (char const   )'n',      (char const   )'=',      (char const   )'(',      (char const   )'s',
        (char const   )'t',      (char const   )'d',      (char const   )'e',      (char const   )'r',
        (char const   )'r',      (char const   )'|',      (char const   )'s',      (char const   )'y',
        (char const   )'s',      (char const   )'l',      (char const   )'o',      (char const   )'g',
        (char const   )'|',      (char const   )'n',      (char const   )'o',      (char const   )'n',
        (char const   )'e',      (char const   )')',      (char const   )']',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'[',
        (char const   )'<',      (char const   )'d',      (char const   )'i',      (char const   )'r',
        (char const   )'e',      (char const   )'c',      (char const   )'t',      (char const   )'o',
        (char const   )'r',      (char const   )'y',      (char const   )'>',      (char const   )'.',
        (char const   )'.',      (char const   )'.',      (char const   )']',      (char const   )'\000'};
static char const   **ok_paths  ;
static int strict_paths  ;
static int export_all_trees  ;
static char const   *base_path  ;
static char const   *interpolated_path  ;
static int base_path_relaxed  ;
static char const   *user_path  ;
static unsigned int timeout  ;
static unsigned int init_timeout  ;
static void lookup_hostname(struct hostinfo *hi ) ;
static char const   *get_canon_hostname(struct hostinfo *hi )
{


  {
  lookup_hostname(hi);
  return ((char const   *)hi->canon_hostname.buf);
}
}
static char const   *get_ip_address(struct hostinfo *hi )
{


  {
  lookup_hostname(hi);
  return ((char const   *)hi->ip_address.buf);
}
}
static void logreport(int priority , char const   *err___4 , va_list params )
{
  char buf___19[1024] ;
  __pid_t tmp ;

  {
  {
  if ((int )log_destination == 2) {
    goto case_2;
  }
  if ((int )log_destination == 1) {
    goto case_1;
  }
  if ((int )log_destination == 0) {
    goto case_0;
  }
  if ((int )log_destination == -1) {
    goto case_neg_1;
  }
  goto switch_break;
  case_2: /* CIL Label */
  vsnprintf(buf___19, sizeof(buf___19), err___4, params);
  syslog(priority, (char const   *)"%s", buf___19);
  goto switch_break;
  case_1: /* CIL Label */
  tmp = getpid();
  fprintf(stderr, (char const   *)"[%lu] ", (uintmax_t )tmp);
  vfprintf(stderr, err___4, params);
  fputc('\n', stderr);
  fflush(stderr);
  goto switch_break;
  case_0: /* CIL Label */
  goto switch_break;
  case_neg_1: /* CIL Label */
  BUG_fl((char const   *)"daemon.c", 110, (char const   *)"log destination not initialized correctly");
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static void ( /* format attribute */  logerror)(char const   *err___4  , ...)
{
  va_list params ;

  {
  __builtin_va_start(params, err___4);
  logreport(3, err___4, params);
  __builtin_va_end(params);
  return;
}
}
static void ( /* format attribute */  loginfo)(char const   *err___4  , ...)
{
  va_list params ;

  {
  if (! verbose) {
    return;
  }
  __builtin_va_start(params, err___4);
  logreport(6, err___4, params);
  __builtin_va_end(params);
  return;
}
}
static void daemon_die(char const   *err___4 , va_list params )  __attribute__((__noreturn__)) ;
static void daemon_die(char const   *err___4 , va_list params )
{
  int tmp ;

  {
  logreport(3, err___4, params);
  tmp = trace2_cmd_exit_fl((char const   *)"daemon.c", 137, 1);
  exit(tmp);
}
}
static size_t expand_path(struct strbuf *sb___6 , char const   *placeholder , void *ctx___0 )
{
  struct expand_path_context *context___0 ;
  struct hostinfo *hi ;
  char const   *tmp ;
  char const   *tmp___0 ;

  {
  context___0 = (struct expand_path_context *)ctx___0;
  hi = context___0->hostinfo;
  {
  if ((int const   )*(placeholder + 0) == 72) {
    goto case_72;
  }
  if ((int const   )*(placeholder + 0) == 67) {
    goto case_67;
  }
  if ((int const   )*(placeholder + 0) == 73) {
    goto case_73;
  }
  if ((int const   )*(placeholder + 0) == 80) {
    goto case_80;
  }
  if ((int const   )*(placeholder + 0) == 68) {
    goto case_68;
  }
  goto switch_break;
  case_72: /* CIL Label */
  strbuf_addbuf(sb___6, (struct strbuf  const  *)(& hi->hostname));
  return ((size_t )1);
  case_67: /* CIL Label */
  if ((int const   )*(placeholder + 1) == 72) {
    tmp = get_canon_hostname(hi);
    strbuf_addstr(sb___6, tmp);
    return ((size_t )2);
  }
  goto switch_break;
  case_73: /* CIL Label */
  if ((int const   )*(placeholder + 1) == 80) {
    tmp___0 = get_ip_address(hi);
    strbuf_addstr(sb___6, tmp___0);
    return ((size_t )2);
  }
  goto switch_break;
  case_80: /* CIL Label */
  strbuf_addbuf(sb___6, (struct strbuf  const  *)(& hi->tcp_port));
  return ((size_t )1);
  case_68: /* CIL Label */
  strbuf_addstr(sb___6, context___0->directory);
  return ((size_t )1);
  switch_break: /* CIL Label */ ;
  }
  return ((size_t )0);
}
}
static char rpath[4096]  ;
static char interp_path[4096]  ;
static char const   *path_ok(char const   *directory , struct hostinfo *hi )
{
  size_t rlen ;
  char const   *path___6 ;
  char const   *dir ;
  int tmp ;
  int namlen ;
  int restlen ;
  size_t tmp___0 ;
  char const   *slash ;
  char *tmp___1 ;
  int tmp___2 ;
  struct strbuf expanded_path ;
  struct expand_path_context context___0 ;
  int tmp___3 ;
  char const   **pp ;
  int pathlen ;
  size_t tmp___4 ;
  int len___0 ;
  size_t tmp___5 ;
  int tmp___6 ;

  {
  dir = directory;
  tmp = daemon_avoid_alias(dir);
  if (tmp) {
    logerror((char const   *)"\'%s\': aliased", dir);
    return ((char const   *)((void *)0));
  }
  if ((int const   )*dir == 126) {
    if (! user_path) {
      logerror((char const   *)"\'%s\': User-path not allowed", dir);
      return ((char const   *)((void *)0));
    }
    if (*user_path) {
      tmp___0 = strlen(dir);
      restlen = (int )tmp___0;
      tmp___1 = strchr(dir, '/');
      slash = (char const   *)tmp___1;
      if (! slash) {
        slash = dir + restlen;
      }
      namlen = (int )(slash - dir);
      restlen -= namlen;
      loginfo((char const   *)"userpath <%s>, request <%s>, namlen %d, restlen %d, slash <%s>",
              user_path, dir, namlen, restlen, slash);
      tmp___2 = snprintf(rpath, sizeof(rpath), (char const   *)"%.*s/%s%.*s", namlen,
                         dir, user_path, restlen, slash);
      rlen = (size_t )tmp___2;
      if (rlen >= sizeof(rpath)) {
        logerror((char const   *)"user-path too large: %s", rpath);
        return ((char const   *)((void *)0));
      }
      dir = (char const   *)(rpath);
    }
  } else
  if (interpolated_path) {
    if (hi->saw_extended_args) {
      expanded_path.alloc = 0UL;
      expanded_path.len = 0UL;
      expanded_path.buf = strbuf_slopbuf;
      context___0.directory = directory;
      context___0.hostinfo = hi;
      if ((int const   )*dir != 47) {
        logerror((char const   *)"\'%s\': Non-absolute path denied (interpolated-path active)",
                 dir);
        return ((char const   *)((void *)0));
      }
      strbuf_expand(& expanded_path, interpolated_path, & expand_path, (void *)(& context___0));
      rlen = gitstrlcpy(interp_path, (char const   *)expanded_path.buf, sizeof(interp_path));
      strbuf_release(& expanded_path);
      if (rlen >= sizeof(interp_path)) {
        logerror((char const   *)"interpolated path too large: %s", interp_path);
        return ((char const   *)((void *)0));
      }
      loginfo((char const   *)"Interpolated dir \'%s\'", interp_path);
      dir = (char const   *)(interp_path);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (base_path) {
    if ((int const   )*dir != 47) {
      logerror((char const   *)"\'%s\': Non-absolute path denied (base-path active)",
               dir);
      return ((char const   *)((void *)0));
    }
    tmp___3 = snprintf(rpath, sizeof(rpath), (char const   *)"%s%s", base_path, dir);
    rlen = (size_t )tmp___3;
    if (rlen >= sizeof(rpath)) {
      logerror((char const   *)"base-path too large: %s", rpath);
      return ((char const   *)((void *)0));
    }
    dir = (char const   *)(rpath);
  }
  path___6 = enter_repo(dir, strict_paths);
  if (! path___6) {
    if (base_path) {
      if (base_path_relaxed) {
        dir = directory;
        path___6 = enter_repo(dir, strict_paths);
      }
    }
  }
  if (! path___6) {
    logerror((char const   *)"\'%s\' does not appear to be a git repository", dir);
    return ((char const   *)((void *)0));
  }
  if (ok_paths) {
    if (*ok_paths) {
      tmp___4 = strlen(path___6);
      pathlen = (int )tmp___4;
      pp = ok_paths;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! *pp) {
          goto while_break;
        }
        tmp___5 = strlen(*pp);
        len___0 = (int )tmp___5;
        if (len___0 <= pathlen) {
          tmp___6 = memcmp((void const   *)*pp, (void const   *)path___6, (size_t )len___0);
          if (! tmp___6) {
            if ((int const   )*(path___6 + len___0) == 0) {
              return (path___6);
            } else
            if (! strict_paths) {
              if ((int const   )*(path___6 + len___0) == 47) {
                return (path___6);
              }
            }
          }
        }
        pp ++;
      }
      while_break: /* CIL Label */ ;
      }
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  if (! strict_paths) {
    return (path___6);
  }
  logerror((char const   *)"\'%s\': not in whitelist", path___6);
  return ((char const   *)((void *)0));
}
}
static int daemon_error(char const   *dir , char const   *msg___5 )
{


  {
  if (! informative_errors) {
    msg___5 = (char const   *)"access denied or repository not exported";
  }
  packet_write_fmt(1, (char const   *)"ERR %s: %s", msg___5, dir);
  return (-1);
}
}
static char const   *access_hook  ;
static int run_access_hook(struct daemon_service *service , char const   *dir , char const   *path___6 ,
                           struct hostinfo *hi )
{
  struct child_process child ;
  struct strbuf buf___19 ;
  char *eol ;
  int seen_errors ;
  char const   *tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  ssize_t tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int *tmp___5 ;

  {
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  seen_errors = 0;
  strvec_push(& child.args, access_hook);
  strvec_push(& child.args, service->name);
  strvec_push(& child.args, path___6);
  strvec_push(& child.args, (char const   *)hi->hostname.buf);
  tmp = get_canon_hostname(hi);
  strvec_push(& child.args, tmp);
  tmp___0 = get_ip_address(hi);
  strvec_push(& child.args, tmp___0);
  strvec_push(& child.args, (char const   *)hi->tcp_port.buf);
  child.use_shell = 1U;
  child.no_stdin = 1U;
  child.no_stderr = 1U;
  child.out = -1;
  tmp___1 = start_command(& child);
  if (tmp___1) {
    logerror((char const   *)"daemon access hook \'%s\' failed to start", access_hook);
    goto error_return;
  }
  tmp___2 = strbuf_read(& buf___19, child.out, (size_t )0);
  if (tmp___2 < 0L) {
    logerror((char const   *)"failed to read from pipe to daemon access hook \'%s\'",
             access_hook);
    strbuf_setlen(& buf___19, (size_t )0);
    seen_errors = 1;
  }
  tmp___3 = close(child.out);
  if (tmp___3 < 0) {
    logerror((char const   *)"failed to close pipe to daemon access hook \'%s\'",
             access_hook);
    seen_errors = 1;
  }
  tmp___4 = finish_command(& child);
  if (tmp___4) {
    seen_errors = 1;
  }
  if (! seen_errors) {
    strbuf_release(& buf___19);
    return (0);
  }
  error_return:
  strbuf_ltrim(& buf___19);
  if (! buf___19.len) {
    strbuf_addstr(& buf___19, (char const   *)"service rejected");
  }
  eol = strchr((char const   *)buf___19.buf, '\n');
  if (eol) {
    *eol = (char )'\000';
  }
  tmp___5 = __errno_location();
  *tmp___5 = 13;
  daemon_error(dir, (char const   *)buf___19.buf);
  strbuf_release(& buf___19);
  return (-1);
}
}
static int run_service(char const   *dir , struct daemon_service *service , struct hostinfo *hi ,
                       struct strvec  const  *env )
{
  char const   *path___6 ;
  int enabled___0 ;
  struct strbuf var ;
  int *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  enabled___0 = service->enabled;
  var.alloc = 0UL;
  var.len = 0UL;
  var.buf = strbuf_slopbuf;
  loginfo((char const   *)"Request %s for \'%s\'", service->name, dir);
  if (! enabled___0) {
    if (! service->overridable) {
      logerror((char const   *)"\'%s\': service not enabled.", service->name);
      tmp = __errno_location();
      *tmp = 13;
      tmp___0 = daemon_error(dir, (char const   *)"service not enabled");
      return (tmp___0);
    }
  }
  path___6 = path_ok(dir, hi);
  if (! path___6) {
    tmp___1 = daemon_error(dir, (char const   *)"no such repository");
    return (tmp___1);
  }
  if (! export_all_trees) {
    tmp___4 = access((char const   *)"git-daemon-export-ok", 0);
    if (tmp___4) {
      logerror((char const   *)"\'%s\': repository not exported.", path___6);
      tmp___2 = __errno_location();
      *tmp___2 = 13;
      tmp___3 = daemon_error(dir, (char const   *)"repository not exported");
      return (tmp___3);
    }
  }
  if (service->overridable) {
    strbuf_addf(& var, (char const   *)"daemon.%s", service->config_name);
    git_config_get_bool((char const   *)var.buf, & enabled___0);
    strbuf_release(& var);
  }
  if (! enabled___0) {
    logerror((char const   *)"\'%s\': service not enabled for \'%s\'", service->name,
             path___6);
    tmp___5 = __errno_location();
    *tmp___5 = 13;
    tmp___6 = daemon_error(dir, (char const   *)"service not enabled");
    return (tmp___6);
  }
  if (access_hook) {
    tmp___7 = run_access_hook(service, dir, path___6, hi);
    if (tmp___7) {
      return (-1);
    }
  }
  signal(15, (void (*)(int  ))1);
  tmp___8 = (*(service->fn))(env);
  return (tmp___8);
}
}
static void copy_to_log(int fd )
{
  struct strbuf line___0 ;
  FILE *fp ;
  int tmp ;

  {
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  fp = fdopen(fd, (char const   *)"r");
  if ((unsigned long )fp == (unsigned long )((void *)0)) {
    logerror((char const   *)"fdopen of error channel failed");
    close(fd);
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = strbuf_getline_lf(& line___0, fp);
    if (! (tmp != -1)) {
      goto while_break;
    }
    logerror((char const   *)"%s", line___0.buf);
    strbuf_setlen(& line___0, (size_t )0);
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& line___0);
  fclose(fp);
  return;
}
}
static int run_service_command(struct child_process *cld )
{
  int tmp ;
  int tmp___0 ;

  {
  strvec_push(& cld->args, (char const   *)".");
  cld->git_cmd = 1U;
  cld->err = -1;
  tmp = start_command(cld);
  if (tmp) {
    return (-1);
  }
  close(0);
  close(1);
  copy_to_log(cld->err);
  tmp___0 = finish_command(cld);
  return (tmp___0);
}
}
static int upload_pack___0(struct strvec  const  *env )
{
  struct child_process cld ;
  int tmp ;

  {
  cld.args.v = empty_strvec;
  cld.args.nr = 0UL;
  cld.args.alloc = 0UL;
  cld.env_array.v = empty_strvec;
  cld.env_array.nr = 0UL;
  cld.env_array.alloc = 0UL;
  cld.pid = 0;
  cld.trace2_child_id = 0;
  cld.trace2_child_us_start = 0UL;
  cld.trace2_child_class = (char const   *)0;
  cld.trace2_hook_name = (char const   *)0;
  cld.in = 0;
  cld.out = 0;
  cld.err = 0;
  cld.dir = (char const   *)0;
  cld.no_stdin = 0U;
  cld.no_stdout = 0U;
  cld.no_stderr = 0U;
  cld.git_cmd = 0U;
  cld.silent_exec_failure = 0U;
  cld.use_shell = 0U;
  cld.close_object_store = 0U;
  cld.stdout_to_stderr = 0U;
  cld.clean_on_exit = 0U;
  cld.wait_after_clean = 0U;
  cld.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cld.clean_on_exit_handler_cbdata = (void *)0;
  strvec_pushl(& cld.args, "upload-pack", "--strict", (void *)0);
  strvec_pushf(& cld.args, (char const   *)"--timeout=%u", timeout);
  strvec_pushv(& cld.env_array, (char const   **)env->v);
  tmp = run_service_command(& cld);
  return (tmp);
}
}
static int upload_archive(struct strvec  const  *env )
{
  struct child_process cld ;
  int tmp ;

  {
  cld.args.v = empty_strvec;
  cld.args.nr = 0UL;
  cld.args.alloc = 0UL;
  cld.env_array.v = empty_strvec;
  cld.env_array.nr = 0UL;
  cld.env_array.alloc = 0UL;
  cld.pid = 0;
  cld.trace2_child_id = 0;
  cld.trace2_child_us_start = 0UL;
  cld.trace2_child_class = (char const   *)0;
  cld.trace2_hook_name = (char const   *)0;
  cld.in = 0;
  cld.out = 0;
  cld.err = 0;
  cld.dir = (char const   *)0;
  cld.no_stdin = 0U;
  cld.no_stdout = 0U;
  cld.no_stderr = 0U;
  cld.git_cmd = 0U;
  cld.silent_exec_failure = 0U;
  cld.use_shell = 0U;
  cld.close_object_store = 0U;
  cld.stdout_to_stderr = 0U;
  cld.clean_on_exit = 0U;
  cld.wait_after_clean = 0U;
  cld.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cld.clean_on_exit_handler_cbdata = (void *)0;
  strvec_push(& cld.args, (char const   *)"upload-archive");
  strvec_pushv(& cld.env_array, (char const   **)env->v);
  tmp = run_service_command(& cld);
  return (tmp);
}
}
static int receive_pack(struct strvec  const  *env )
{
  struct child_process cld ;
  int tmp ;

  {
  cld.args.v = empty_strvec;
  cld.args.nr = 0UL;
  cld.args.alloc = 0UL;
  cld.env_array.v = empty_strvec;
  cld.env_array.nr = 0UL;
  cld.env_array.alloc = 0UL;
  cld.pid = 0;
  cld.trace2_child_id = 0;
  cld.trace2_child_us_start = 0UL;
  cld.trace2_child_class = (char const   *)0;
  cld.trace2_hook_name = (char const   *)0;
  cld.in = 0;
  cld.out = 0;
  cld.err = 0;
  cld.dir = (char const   *)0;
  cld.no_stdin = 0U;
  cld.no_stdout = 0U;
  cld.no_stderr = 0U;
  cld.git_cmd = 0U;
  cld.silent_exec_failure = 0U;
  cld.use_shell = 0U;
  cld.close_object_store = 0U;
  cld.stdout_to_stderr = 0U;
  cld.clean_on_exit = 0U;
  cld.wait_after_clean = 0U;
  cld.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cld.clean_on_exit_handler_cbdata = (void *)0;
  strvec_push(& cld.args, (char const   *)"receive-pack");
  strvec_pushv(& cld.env_array, (char const   **)env->v);
  tmp = run_service_command(& cld);
  return (tmp);
}
}
static struct daemon_service daemon_service[3]  = {      {(char const   *)"upload-archive", (char const   *)"uploadarch", & upload_archive,
      0, 1},
        {(char const   *)"upload-pack", (char const   *)"uploadpack", & upload_pack___0,
      1, 1},
        {(char const   *)"receive-pack", (char const   *)"receivepack", & receive_pack,
      0, 1}};
static void enable_service(char const   *name___0 , int ena )
{
  int i ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(daemon_service) / sizeof(daemon_service[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp = strcmp(daemon_service[i].name, name___0);
    if (! tmp) {
      daemon_service[i].enabled = ena;
      return;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  die((char const   *)"No such service %s", name___0);
}
}
static void make_service_overridable(char const   *name___0 , int ena )
{
  int i ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(daemon_service) / sizeof(daemon_service[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp = strcmp(daemon_service[i].name, name___0);
    if (! tmp) {
      daemon_service[i].overridable = ena;
      return;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  die((char const   *)"No such service %s", name___0);
}
}
static void parse_host_and_port(char *hostport , char **host , char **port )
{
  char *end ;

  {
  if ((int )*hostport == 91) {
    end = strchr((char const   *)hostport, ']');
    if (! end) {
      die((char const   *)"Invalid request (\'[\' without \']\')");
    }
    *end = (char )'\000';
    *host = hostport + 1;
    if (! *(end + 1)) {
      *port = (char *)((void *)0);
    } else
    if ((int )*(end + 1) == 58) {
      *port = end + 2;
    } else {
      die((char const   *)"Garbage after end of host part");
    }
  } else {
    *host = hostport;
    *port = strrchr((char const   *)hostport, ':');
    if (*port) {
      *(*port) = (char )'\000';
      (*port) ++;
    }
  }
  return;
}
}
static void sanitize_client(struct strbuf *out , char const   *in )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *in) {
      goto while_break;
    }
    tmp = git_is_dir_sep((int )*in);
    if (tmp) {
      goto __Cont;
    }
    if ((int const   )*in == 46) {
      if (! out->len) {
        goto __Cont;
      } else
      if ((int )*(out->buf + (out->len - 1UL)) == 46) {
        goto __Cont;
      }
    }
    strbuf_addch(out, (int )*in);
    __Cont: /* CIL Label */
    in ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (out->len) {
      if (! ((int )*(out->buf + (out->len - 1UL)) == 46)) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    strbuf_setlen(out, out->len - 1UL);
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void canonicalize_client(struct strbuf *out , char const   *in )
{


  {
  sanitize_client(out, in);
  strbuf_tolower(out);
  return;
}
}
static char *parse_host_arg(struct hostinfo *hi , char *extra_args , int buflen___0 )
{
  char *val ;
  int vallen ;
  char *end ;
  size_t tmp ;
  char *host ;
  char *port ;
  int tmp___0 ;

  {
  end = extra_args + buflen___0;
  if ((unsigned long )extra_args < (unsigned long )end) {
    if (*extra_args) {
      hi->saw_extended_args = 1U;
      tmp___0 = strncasecmp((char const   *)"host=", (char const   *)extra_args, (size_t )5);
      if (tmp___0 == 0) {
        val = extra_args + 5;
        tmp = strlen((char const   *)val);
        vallen = (int )(tmp + 1UL);
        loginfo((char const   *)"Extended attribute \"host\": %s", val);
        if (*val) {
          parse_host_and_port(val, & host, & port);
          if (port) {
            sanitize_client(& hi->tcp_port, (char const   *)port);
          }
          canonicalize_client(& hi->hostname, (char const   *)host);
          hi->hostname_lookup_done = 0U;
        }
        extra_args = val + vallen;
      }
      if ((unsigned long )extra_args < (unsigned long )end) {
        if (*extra_args) {
          die((char const   *)"Invalid request");
        }
      }
    }
  }
  return (extra_args);
}
}
static void parse_extra_args(struct hostinfo *hi , struct strvec *env , char *extra_args ,
                             int buflen___0 )
{
  char const   *end ;
  struct strbuf git_protocol ;
  size_t tmp ;
  char const   *arg ;

  {
  end = (char const   *)(extra_args + buflen___0);
  git_protocol.alloc = 0UL;
  git_protocol.len = 0UL;
  git_protocol.buf = strbuf_slopbuf;
  extra_args = parse_host_arg(hi, extra_args, buflen___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )extra_args < (unsigned long )end)) {
      goto while_break;
    }
    arg = (char const   *)extra_args;
    if (*arg) {
      if (git_protocol.len > 0UL) {
        strbuf_addch(& git_protocol, ':');
      }
      strbuf_addstr(& git_protocol, arg);
    }
    tmp = strlen((char const   *)extra_args);
    extra_args += tmp + 1UL;
  }
  while_break: /* CIL Label */ ;
  }
  if (git_protocol.len > 0UL) {
    loginfo((char const   *)"Extended attribute \"protocol\": %s", git_protocol.buf);
    strvec_pushf(env, (char const   *)"GIT_PROTOCOL=%s", git_protocol.buf);
  }
  strbuf_release(& git_protocol);
  return;
}
}
static char addrbuf[65]  ;
static void lookup_hostname(struct hostinfo *hi )
{
  struct addrinfo hints___0 ;
  struct addrinfo *ai ;
  int gai ;
  struct sockaddr_in *sin_addr ;

  {
  if (! hi->hostname_lookup_done) {
    if (hi->hostname.len) {
      memset((void *)(& hints___0), 0, sizeof(hints___0));
      hints___0.ai_flags = 0x0002;
      gai = getaddrinfo((char const   * __restrict  )hi->hostname.buf, (char const   * __restrict  )((void *)0),
                        (struct addrinfo  const  * __restrict  )(& hints___0), (struct addrinfo ** __restrict  )(& ai));
      if (! gai) {
        sin_addr = (struct sockaddr_in *)((void *)ai->ai_addr);
        inet_ntop(2, (void const   * __restrict  )(& sin_addr->sin_addr), (char * __restrict  )(addrbuf),
                  (socklen_t )sizeof(addrbuf));
        strbuf_addstr(& hi->ip_address, (char const   *)(addrbuf));
        if (ai->ai_canonname) {
          sanitize_client(& hi->canon_hostname, (char const   *)ai->ai_canonname);
        } else {
          strbuf_addbuf(& hi->canon_hostname, (struct strbuf  const  *)(& hi->ip_address));
        }
        freeaddrinfo(ai);
      }
      hi->hostname_lookup_done = 1U;
    }
  }
  return;
}
}
static void hostinfo_clear(struct hostinfo *hi )
{


  {
  strbuf_release(& hi->hostname);
  strbuf_release(& hi->canon_hostname);
  strbuf_release(& hi->ip_address);
  strbuf_release(& hi->tcp_port);
  return;
}
}
static void set_keep_alive(int sockfd )
{
  int ka ;
  int *tmp ;
  char *tmp___0 ;
  int *tmp___1 ;
  int tmp___2 ;

  {
  ka = 1;
  tmp___2 = setsockopt(sockfd, 1, 9, (void const   *)(& ka), (socklen_t )sizeof(ka));
  if (tmp___2 < 0) {
    tmp___1 = __errno_location();
    if (*tmp___1 != 88) {
      tmp = __errno_location();
      tmp___0 = strerror(*tmp);
      logerror((char const   *)"unable to set SO_KEEPALIVE on socket: %s", tmp___0);
    }
  }
  return;
}
}
static int execute(void)
{
  char *line___0 ;
  int pktlen ;
  int len___0 ;
  int i ;
  char *addr___0 ;
  char *tmp ;
  char *port ;
  char *tmp___0 ;
  struct hostinfo hi ;
  struct strvec env ;
  unsigned int tmp___1 ;
  size_t tmp___2 ;
  struct daemon_service *s___1 ;
  char const   *arg ;
  int rc___0 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const   *tmp___6 ;

  {
  line___0 = packet_buffer;
  tmp = getenv((char const   *)"REMOTE_ADDR");
  addr___0 = tmp;
  tmp___0 = getenv((char const   *)"REMOTE_PORT");
  port = tmp___0;
  hi.hostname.alloc = 0UL;
  hi.hostname.len = 0UL;
  hi.hostname.buf = strbuf_slopbuf;
  hi.canon_hostname.alloc = 0UL;
  hi.canon_hostname.len = 0UL;
  hi.canon_hostname.buf = strbuf_slopbuf;
  hi.ip_address.alloc = 0UL;
  hi.ip_address.len = 0UL;
  hi.ip_address.buf = strbuf_slopbuf;
  hi.tcp_port.alloc = 0UL;
  hi.tcp_port.len = 0UL;
  hi.tcp_port.buf = strbuf_slopbuf;
  hi.hostname_lookup_done = 0U;
  hi.saw_extended_args = 0U;
  env.v = empty_strvec;
  env.nr = 0UL;
  env.alloc = 0UL;
  if (addr___0) {
    loginfo((char const   *)"Connection from %s:%s", addr___0, port);
  }
  set_keep_alive(0);
  if (init_timeout) {
    tmp___1 = init_timeout;
  } else {
    tmp___1 = timeout;
  }
  alarm(tmp___1);
  pktlen = packet_read(0, packet_buffer, (unsigned int )sizeof(packet_buffer), 0);
  alarm(0U);
  tmp___2 = strlen((char const   *)line___0);
  len___0 = (int )tmp___2;
  if (len___0) {
    if ((int )*(line___0 + (len___0 - 1)) == 10) {
      *(line___0 + (len___0 - 1)) = (char)0;
    }
  }
  if (len___0 != pktlen) {
    parse_extra_args(& hi, & env, (line___0 + len___0) + 1, (pktlen - len___0) - 1);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(daemon_service) / sizeof(daemon_service[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    s___1 = & daemon_service[i];
    tmp___4 = skip_prefix((char const   *)line___0, (char const   *)"git-", & arg);
    if (tmp___4) {
      tmp___5 = skip_prefix(arg, s___1->name, & arg);
      if (tmp___5) {
        tmp___6 = arg;
        arg ++;
        if ((int const   )*tmp___6 == 32) {
          tmp___3 = run_service(arg, s___1, & hi, (struct strvec  const  *)(& env));
          rc___0 = tmp___3;
          hostinfo_clear(& hi);
          strvec_clear(& env);
          return (rc___0);
        }
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  hostinfo_clear(& hi);
  strvec_clear(& env);
  logerror((char const   *)"Protocol error: \'%s\'", line___0);
  return (-1);
}
}
static int addrcmp(struct sockaddr_storage  const  *s1 , struct sockaddr_storage  const  *s2 )
{
  struct sockaddr  const  *sa1 ;
  struct sockaddr  const  *sa2 ;
  int tmp ;
  int tmp___0 ;

  {
  sa1 = (struct sockaddr  const  *)s1;
  sa2 = (struct sockaddr  const  *)s2;
  if ((int )sa1->sa_family != (int )sa2->sa_family) {
    return ((int )((int )sa1->sa_family - (int )sa2->sa_family));
  }
  if ((int )sa1->sa_family == 2) {
    tmp = memcmp((void const   *)(& ((struct sockaddr_in *)s1)->sin_addr), (void const   *)(& ((struct sockaddr_in *)s2)->sin_addr),
                 sizeof(struct in_addr ));
    return (tmp);
  }
  if ((int )sa1->sa_family == 10) {
    tmp___0 = memcmp((void const   *)(& ((struct sockaddr_in6 *)s1)->sin6_addr), (void const   *)(& ((struct sockaddr_in6 *)s2)->sin6_addr),
                     sizeof(struct in6_addr ));
    return (tmp___0);
  }
  return (0);
}
}
static int max_connections  =    32;
static unsigned int live_children  ;
static struct child *firstborn  ;
static void add_child(struct child_process *cld , struct sockaddr *addr___0 , socklen_t addrlen )
{
  struct child *newborn ;
  struct child **cradle ;
  void *tmp ;
  int tmp___0 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*newborn));
  newborn = (struct child *)tmp;
  live_children ++;
  memcpy((void *)(& newborn->cld), (void const   *)cld, sizeof(*cld));
  memcpy((void *)(& newborn->address), (void const   *)addr___0, (size_t )addrlen);
  cradle = & firstborn;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *cradle) {
      goto while_break;
    }
    tmp___0 = addrcmp((struct sockaddr_storage  const  *)(& (*cradle)->address), (struct sockaddr_storage  const  *)(& newborn->address));
    if (! tmp___0) {
      goto while_break;
    }
    cradle = & (*cradle)->next;
  }
  while_break: /* CIL Label */ ;
  }
  newborn->next = *cradle;
  *cradle = newborn;
  return;
}
}
static void kill_some_child(void)
{
  struct child  const  *blanket ;
  struct child  const  *next___2 ;
  int tmp ;

  {
  blanket = (struct child  const  *)firstborn;
  if (! blanket) {
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    next___2 = (struct child  const  *)blanket->next;
    if (! next___2) {
      goto while_break;
    }
    tmp = addrcmp((struct sockaddr_storage  const  *)(& blanket->address), (struct sockaddr_storage  const  *)(& next___2->address));
    if (! tmp) {
      kill((__pid_t )blanket->cld.pid, 15);
      goto while_break;
    }
    blanket = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void check_dead_children(void)
{
  int status ;
  pid_t pid ;
  struct child **cradle ;
  struct child *blanket ;
  char const   *dead___0 ;

  {
  cradle = & firstborn;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    blanket = *cradle;
    if (! blanket) {
      goto while_break;
    }
    pid = waitpid(blanket->cld.pid, & status, 1);
    if (pid > 1) {
      dead___0 = (char const   *)"";
      if (status) {
        dead___0 = (char const   *)" (with error)";
      }
      loginfo((char const   *)"[%lu] Disconnected%s", (uintmax_t )pid, dead___0);
      *cradle = blanket->next;
      live_children --;
      child_process_clear(& blanket->cld);
      free((void *)blanket);
    } else {
      cradle = & blanket->next;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct strvec cld_argv  =    {empty_strvec, 0UL, 0UL};
static void handle(int incoming , struct sockaddr *addr___0 , socklen_t addrlen )
{
  struct child_process cld ;
  char buf___19[128] ;
  unsigned int tmp ;
  struct sockaddr_in *sin_addr ;
  unsigned short __v ;
  unsigned short __x ;
  char buf___20[128] ;
  unsigned int tmp___0 ;
  struct sockaddr_in6 *sin6_addr ;
  unsigned short __v___0 ;
  unsigned short __x___0 ;
  int tmp___1 ;

  {
  cld.args.v = empty_strvec;
  cld.args.nr = 0UL;
  cld.args.alloc = 0UL;
  cld.env_array.v = empty_strvec;
  cld.env_array.nr = 0UL;
  cld.env_array.alloc = 0UL;
  cld.pid = 0;
  cld.trace2_child_id = 0;
  cld.trace2_child_us_start = 0UL;
  cld.trace2_child_class = (char const   *)0;
  cld.trace2_hook_name = (char const   *)0;
  cld.in = 0;
  cld.out = 0;
  cld.err = 0;
  cld.dir = (char const   *)0;
  cld.no_stdin = 0U;
  cld.no_stdout = 0U;
  cld.no_stderr = 0U;
  cld.git_cmd = 0U;
  cld.silent_exec_failure = 0U;
  cld.use_shell = 0U;
  cld.close_object_store = 0U;
  cld.stdout_to_stderr = 0U;
  cld.clean_on_exit = 0U;
  cld.wait_after_clean = 0U;
  cld.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cld.clean_on_exit_handler_cbdata = (void *)0;
  if (max_connections) {
    if (live_children >= (unsigned int )max_connections) {
      kill_some_child();
      sleep(1U);
      check_dead_children();
      if (live_children >= (unsigned int )max_connections) {
        close(incoming);
        logerror((char const   *)"Too many children, dropping connection");
        return;
      }
    }
  }
  if ((int )addr___0->sa_family == 2) {
    buf___19[0] = (char )'\000';
    tmp = 1U;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (tmp >= 128U) {
        goto while_break;
      }
      buf___19[tmp] = (char)0;
      tmp ++;
    }
    while_break: /* CIL Label */ ;
    }
    sin_addr = (struct sockaddr_in *)((void *)addr___0);
    inet_ntop((int )addr___0->sa_family, (void const   * __restrict  )(& sin_addr->sin_addr),
              (char * __restrict  )(buf___19), (socklen_t )sizeof(buf___19));
    strvec_pushf(& cld.env_array, (char const   *)"REMOTE_ADDR=%s", buf___19);
    __x = sin_addr->sin_port;
    __asm__  ("rorw $8, %w0": "=r" (__v): "0" (__x): "cc");
    strvec_pushf(& cld.env_array, (char const   *)"REMOTE_PORT=%d", (int )__v);
  } else
  if ((int )addr___0->sa_family == 10) {
    buf___20[0] = (char )'\000';
    tmp___0 = 1U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (tmp___0 >= 128U) {
        goto while_break___0;
      }
      buf___20[tmp___0] = (char)0;
      tmp___0 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    sin6_addr = (struct sockaddr_in6 *)((void *)addr___0);
    inet_ntop(10, (void const   * __restrict  )(& sin6_addr->sin6_addr), (char * __restrict  )(buf___20),
              (socklen_t )sizeof(buf___20));
    strvec_pushf(& cld.env_array, (char const   *)"REMOTE_ADDR=[%s]", buf___20);
    __x___0 = sin6_addr->sin6_port;
    __asm__  ("rorw $8, %w0": "=r" (__v___0): "0" (__x___0): "cc");
    strvec_pushf(& cld.env_array, (char const   *)"REMOTE_PORT=%d", (int )__v___0);
  }
  strvec_pushv(& cld.args, cld_argv.v);
  cld.in = incoming;
  cld.out = dup(incoming);
  tmp___1 = start_command(& cld);
  if (tmp___1) {
    logerror((char const   *)"unable to fork");
  } else {
    add_child(& cld, addr___0, addrlen);
  }
  return;
}
}
static void child_handler(int signo )
{


  {
  signal(17, & child_handler);
  return;
}
}
static int set_reuse_addr(int sockfd )
{
  int on ;
  int tmp ;

  {
  on = 1;
  if (! reuseaddr) {
    return (0);
  }
  tmp = setsockopt(sockfd, 1, 2, (void const   *)(& on), (socklen_t )sizeof(on));
  return (tmp);
}
}
static char ip[46]  ;
static char const   *ip2str(int family___2 , struct sockaddr *sin , socklen_t len___0 )
{


  {
  {
  if (family___2 == 10) {
    goto case_10;
  }
  if (family___2 == 2) {
    goto case_2;
  }
  goto switch_default;
  case_10: /* CIL Label */
  inet_ntop(family___2, (void const   * __restrict  )(& ((struct sockaddr_in6 *)sin)->sin6_addr),
            (char * __restrict  )(ip), len___0);
  goto switch_break;
  case_2: /* CIL Label */
  inet_ntop(family___2, (void const   * __restrict  )(& ((struct sockaddr_in *)sin)->sin_addr),
            (char * __restrict  )(ip), len___0);
  goto switch_break;
  switch_default: /* CIL Label */
  xsnprintf(ip, sizeof(ip), (char const   *)"<unknown>");
  switch_break: /* CIL Label */ ;
  }
  return ((char const   *)(ip));
}
}
static int setup_named_sock(char *listen_addr , int listen_port , struct socketlist *socklist )
{
  int socknum ;
  char pbuf[32] ;
  struct addrinfo hints___0 ;
  struct addrinfo *ai0 ;
  struct addrinfo *ai ;
  int gai ;
  long flags___0 ;
  char const   *tmp ;
  int sockfd ;
  int on ;
  int *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  int *tmp___3 ;
  char *tmp___4 ;
  char const   *tmp___5 ;
  int tmp___6 ;
  int *tmp___7 ;
  char *tmp___8 ;
  char const   *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  size_t tmp___12 ;
  void *tmp___13 ;
  size_t tmp___14 ;

  {
  socknum = 0;
  xsnprintf(pbuf, sizeof(pbuf), (char const   *)"%d", listen_port);
  memset((void *)(& hints___0), 0, sizeof(hints___0));
  hints___0.ai_family = 0;
  hints___0.ai_socktype = 1;
  hints___0.ai_protocol = 6;
  hints___0.ai_flags = 0x0001;
  gai = getaddrinfo((char const   * __restrict  )listen_addr, (char const   * __restrict  )(pbuf),
                    (struct addrinfo  const  * __restrict  )(& hints___0), (struct addrinfo ** __restrict  )(& ai0));
  if (gai) {
    tmp = gai_strerror(gai);
    logerror((char const   *)"getaddrinfo() for %s failed: %s", listen_addr, tmp);
    return (0);
  }
  ai = ai0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ai) {
      goto while_break;
    }
    sockfd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
    if (sockfd < 0) {
      goto __Cont;
    }
    if (sockfd >= 1024) {
      logerror((char const   *)"Socket descriptor too large");
      close(sockfd);
      goto __Cont;
    }
    if (ai->ai_family == 10) {
      on = 1;
      setsockopt(sockfd, 41, 26, (void const   *)(& on), (socklen_t )sizeof(on));
    }
    tmp___2 = set_reuse_addr(sockfd);
    if (tmp___2) {
      tmp___0 = __errno_location();
      tmp___1 = strerror(*tmp___0);
      logerror((char const   *)"Could not set SO_REUSEADDR: %s", tmp___1);
      close(sockfd);
      goto __Cont;
    }
    set_keep_alive(sockfd);
    tmp___6 = bind(sockfd, (struct sockaddr  const  * __restrict  )ai->ai_addr, ai->ai_addrlen);
    if (tmp___6 < 0) {
      tmp___3 = __errno_location();
      tmp___4 = strerror(*tmp___3);
      tmp___5 = ip2str(ai->ai_family, ai->ai_addr, ai->ai_addrlen);
      logerror((char const   *)"Could not bind to %s: %s", tmp___5, tmp___4);
      close(sockfd);
      goto __Cont;
    }
    tmp___10 = listen(sockfd, 5);
    if (tmp___10 < 0) {
      tmp___7 = __errno_location();
      tmp___8 = strerror(*tmp___7);
      tmp___9 = ip2str(ai->ai_family, ai->ai_addr, ai->ai_addrlen);
      logerror((char const   *)"Could not listen to %s: %s", tmp___9, tmp___8);
      close(sockfd);
      goto __Cont;
    }
    tmp___11 = fcntl(sockfd, 1, 0);
    flags___0 = (long )tmp___11;
    if (flags___0 >= 0L) {
      fcntl(sockfd, 2, flags___0 | 1L);
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (socklist->nr + 1UL > socklist->alloc) {
        if (((socklist->alloc + 16UL) * 3UL) / 2UL < socklist->nr + 1UL) {
          socklist->alloc = socklist->nr + 1UL;
        } else {
          socklist->alloc = ((socklist->alloc + 16UL) * 3UL) / 2UL;
        }
        tmp___12 = st_mult(sizeof(*(socklist->list)), socklist->alloc);
        tmp___13 = xrealloc((void *)socklist->list, tmp___12);
        socklist->list = (int *)tmp___13;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___14 = socklist->nr;
    (socklist->nr) ++;
    *(socklist->list + tmp___14) = sockfd;
    socknum ++;
    __Cont: /* CIL Label */
    ai = ai->ai_next;
  }
  while_break: /* CIL Label */ ;
  }
  freeaddrinfo(ai0);
  return (socknum);
}
}
static void socksetup(struct string_list *listen_addr , int listen_port , struct socketlist *socklist )
{
  int i ;
  int socknum ;

  {
  if (! listen_addr->nr) {
    setup_named_sock((char *)((void *)0), listen_port, socklist);
  } else {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )i < listen_addr->nr)) {
        goto while_break;
      }
      socknum = setup_named_sock((listen_addr->items + i)->string, listen_port, socklist);
      if (socknum == 0) {
        logerror((char const   *)"unable to allocate any listen sockets for host %s on port %u",
                 (listen_addr->items + i)->string, listen_port);
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  return;
}
}
static int service_loop(struct socketlist *socklist )
{
  struct pollfd *pfd ;
  int i ;
  void *tmp ;
  int i___0 ;
  int *tmp___0 ;
  char *tmp___1 ;
  int *tmp___2 ;
  int tmp___3 ;
  union __anonunion_ss_453621216 ss ;
  socklen_t sslen ;
  int incoming ;
  int tmp___4 ;
  int *tmp___5 ;

  {
  tmp = xcalloc(socklist->nr, sizeof(*pfd));
  pfd = (struct pollfd *)tmp;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < socklist->nr)) {
      goto while_break;
    }
    (pfd + i)->fd = *(socklist->list + i);
    (pfd + i)->events = (short)1;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  signal(17, & child_handler);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    check_dead_children();
    tmp___3 = poll(pfd, socklist->nr, -1);
    if (tmp___3 < 0) {
      tmp___2 = __errno_location();
      if (*tmp___2 != 4) {
        tmp___0 = __errno_location();
        tmp___1 = strerror(*tmp___0);
        logerror((char const   *)"Poll failed, resuming: %s", tmp___1);
        sleep(1U);
      }
      goto __Cont;
    }
    i___0 = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((size_t )i___0 < socklist->nr)) {
        goto while_break___1;
      }
      if ((int )(pfd + i___0)->revents & 0x001) {
        sslen = (socklen_t )sizeof(ss);
        tmp___4 = accept((pfd + i___0)->fd, (struct sockaddr * __restrict  )(& ss.sa),
                         (socklen_t * __restrict  )(& sslen));
        incoming = tmp___4;
        if (incoming < 0) {
          tmp___5 = __errno_location();
          {
          if (*tmp___5 == 103) {
            goto case_103;
          }
          if (*tmp___5 == 4) {
            goto case_103;
          }
          if (*tmp___5 == 11) {
            goto case_103;
          }
          goto switch_default;
          case_103: /* CIL Label */
          case_4: /* CIL Label */
          case_11: /* CIL Label */
          goto __Cont___0;
          switch_default: /* CIL Label */
          die_errno((char const   *)"accept returned");
          switch_break: /* CIL Label */ ;
          }
        }
        handle(incoming, & ss.sa, sslen);
      }
      __Cont___0: /* CIL Label */
      i___0 ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */ ;
  }
  while_break___0: /* CIL Label */ ;
  }
}
}
static void drop_privileges(struct credentials *cred )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (cred) {
    tmp = initgroups((char const   *)(cred->pass)->pw_name, cred->gid);
    if (tmp) {
      die((char const   *)"cannot drop privileges");
    } else {
      tmp___0 = setgid(cred->gid);
      if (tmp___0) {
        die((char const   *)"cannot drop privileges");
      } else {
        tmp___1 = setuid((cred->pass)->pw_uid);
        if (tmp___1) {
          die((char const   *)"cannot drop privileges");
        }
      }
    }
  }
  return;
}
}
static struct credentials c  ;
static struct credentials *prepare_credentials(char const   *user_name , char const   *group_name )
{
  struct group *group ;
  struct group *tmp ;

  {
  c.pass = getpwnam(user_name);
  if (! c.pass) {
    die((char const   *)"user not found - %s", user_name);
  }
  if (! group_name) {
    c.gid = (c.pass)->pw_gid;
  } else {
    tmp = getgrnam(group_name);
    group = tmp;
    if (! group) {
      die((char const   *)"group not found - %s", group_name);
    }
    c.gid = group->gr_gid;
  }
  return (& c);
}
}
static int serve(struct string_list *listen_addr , int listen_port , struct credentials *cred )
{
  struct socketlist socklist ;
  int tmp ;

  {
  socklist.list = (int *)((void *)0);
  socklist.nr = (size_t )0;
  socklist.alloc = (size_t )0;
  socksetup(listen_addr, listen_port, & socklist);
  if (socklist.nr == 0UL) {
    die((char const   *)"unable to allocate any listen sockets on port %u", listen_port);
  }
  drop_privileges(cred);
  loginfo((char const   *)"Ready to rumble");
  tmp = service_loop(& socklist);
  return (tmp);
}
}
int cmd_main(int argc , char const   **argv___0 )
{
  int listen_port ;
  struct string_list listen_addr ;
  int serve_mode ;
  int inetd_mode ;
  char const   *pid_file ;
  char const   *user_name ;
  char const   *group_name ;
  int detach ;
  struct credentials *cred ;
  int i ;
  char const   *arg ;
  char const   *v ;
  char *tmp ;
  int tmp___0 ;
  char *end ;
  unsigned long n ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;
  int tmp___30 ;
  int tmp___31 ;
  int tmp___32 ;
  int tmp___33 ;
  int tmp___34 ;
  int tmp___35 ;
  FILE *tmp___36 ;
  int tmp___37 ;
  int tmp___38 ;
  __pid_t tmp___39 ;
  int tmp___40 ;

  {
  listen_port = 0;
  listen_addr.items = (struct string_list_item *)0;
  listen_addr.nr = 0U;
  listen_addr.alloc = 0U;
  listen_addr.strdup_strings = 0U;
  listen_addr.cmp = (int (*)(char const   * , char const   * ))0;
  serve_mode = 0;
  inetd_mode = 0;
  pid_file = (char const   *)((void *)0);
  user_name = (char const   *)((void *)0);
  group_name = (char const   *)((void *)0);
  detach = 0;
  cred = (struct credentials *)((void *)0);
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    arg = *(argv___0 + i);
    tmp___0 = skip_prefix(arg, (char const   *)"--listen=", & v);
    if (tmp___0) {
      tmp = xstrdup_tolower(v);
      string_list_append(& listen_addr, (char const   *)tmp);
      goto __Cont;
    }
    tmp___1 = skip_prefix(arg, (char const   *)"--port=", & v);
    if (tmp___1) {
      n = strtoul((char const   * __restrict  )v, (char ** __restrict  )(& end), 0);
      if (*v) {
        if (! *end) {
          listen_port = (int )n;
          goto __Cont;
        }
      }
    }
    tmp___2 = strcmp(arg, (char const   *)"--serve");
    if (! tmp___2) {
      serve_mode = 1;
      goto __Cont;
    }
    tmp___3 = strcmp(arg, (char const   *)"--inetd");
    if (! tmp___3) {
      inetd_mode = 1;
      goto __Cont;
    }
    tmp___4 = strcmp(arg, (char const   *)"--verbose");
    if (! tmp___4) {
      verbose = 1;
      goto __Cont;
    }
    tmp___5 = strcmp(arg, (char const   *)"--syslog");
    if (! tmp___5) {
      log_destination = (enum log_destination )2;
      goto __Cont;
    }
    tmp___9 = skip_prefix(arg, (char const   *)"--log-destination=", & v);
    if (tmp___9) {
      tmp___8 = strcmp(v, (char const   *)"syslog");
      if (tmp___8) {
        tmp___7 = strcmp(v, (char const   *)"stderr");
        if (tmp___7) {
          tmp___6 = strcmp(v, (char const   *)"none");
          if (tmp___6) {
            die((char const   *)"unknown log destination \'%s\'", v);
          } else {
            log_destination = (enum log_destination )0;
            goto __Cont;
          }
        } else {
          log_destination = (enum log_destination )1;
          goto __Cont;
        }
      } else {
        log_destination = (enum log_destination )2;
        goto __Cont;
      }
    }
    tmp___10 = strcmp(arg, (char const   *)"--export-all");
    if (! tmp___10) {
      export_all_trees = 1;
      goto __Cont;
    }
    tmp___11 = skip_prefix(arg, (char const   *)"--access-hook=", & v);
    if (tmp___11) {
      access_hook = v;
      goto __Cont;
    }
    tmp___13 = skip_prefix(arg, (char const   *)"--timeout=", & v);
    if (tmp___13) {
      tmp___12 = atoi(v);
      timeout = (unsigned int )tmp___12;
      goto __Cont;
    }
    tmp___15 = skip_prefix(arg, (char const   *)"--init-timeout=", & v);
    if (tmp___15) {
      tmp___14 = atoi(v);
      init_timeout = (unsigned int )tmp___14;
      goto __Cont;
    }
    tmp___16 = skip_prefix(arg, (char const   *)"--max-connections=", & v);
    if (tmp___16) {
      max_connections = atoi(v);
      if (max_connections < 0) {
        max_connections = 0;
      }
      goto __Cont;
    }
    tmp___17 = strcmp(arg, (char const   *)"--strict-paths");
    if (! tmp___17) {
      strict_paths = 1;
      goto __Cont;
    }
    tmp___18 = skip_prefix(arg, (char const   *)"--base-path=", & v);
    if (tmp___18) {
      base_path = v;
      goto __Cont;
    }
    tmp___19 = strcmp(arg, (char const   *)"--base-path-relaxed");
    if (! tmp___19) {
      base_path_relaxed = 1;
      goto __Cont;
    }
    tmp___20 = skip_prefix(arg, (char const   *)"--interpolated-path=", & v);
    if (tmp___20) {
      interpolated_path = v;
      goto __Cont;
    }
    tmp___21 = strcmp(arg, (char const   *)"--reuseaddr");
    if (! tmp___21) {
      reuseaddr = 1;
      goto __Cont;
    }
    tmp___22 = strcmp(arg, (char const   *)"--user-path");
    if (! tmp___22) {
      user_path = (char const   *)"";
      goto __Cont;
    }
    tmp___23 = skip_prefix(arg, (char const   *)"--user-path=", & v);
    if (tmp___23) {
      user_path = v;
      goto __Cont;
    }
    tmp___24 = skip_prefix(arg, (char const   *)"--pid-file=", & v);
    if (tmp___24) {
      pid_file = v;
      goto __Cont;
    }
    tmp___25 = strcmp(arg, (char const   *)"--detach");
    if (! tmp___25) {
      detach = 1;
      goto __Cont;
    }
    tmp___26 = skip_prefix(arg, (char const   *)"--user=", & v);
    if (tmp___26) {
      user_name = v;
      goto __Cont;
    }
    tmp___27 = skip_prefix(arg, (char const   *)"--group=", & v);
    if (tmp___27) {
      group_name = v;
      goto __Cont;
    }
    tmp___28 = skip_prefix(arg, (char const   *)"--enable=", & v);
    if (tmp___28) {
      enable_service(v, 1);
      goto __Cont;
    }
    tmp___29 = skip_prefix(arg, (char const   *)"--disable=", & v);
    if (tmp___29) {
      enable_service(v, 0);
      goto __Cont;
    }
    tmp___30 = skip_prefix(arg, (char const   *)"--allow-override=", & v);
    if (tmp___30) {
      make_service_overridable(v, 1);
      goto __Cont;
    }
    tmp___31 = skip_prefix(arg, (char const   *)"--forbid-override=", & v);
    if (tmp___31) {
      make_service_overridable(v, 0);
      goto __Cont;
    }
    tmp___32 = strcmp(arg, (char const   *)"--informative-errors");
    if (! tmp___32) {
      informative_errors = 1;
      goto __Cont;
    }
    tmp___33 = strcmp(arg, (char const   *)"--no-informative-errors");
    if (! tmp___33) {
      informative_errors = 0;
      goto __Cont;
    }
    tmp___34 = strcmp(arg, (char const   *)"--");
    if (tmp___34) {
      if ((int const   )*(arg + 0) != 45) {
        ok_paths = argv___0 + i;
        goto while_break;
      }
    } else {
      ok_paths = argv___0 + (i + 1);
      goto while_break;
    }
    usage(daemon_usage);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if ((int )log_destination == -1) {
    if (inetd_mode) {
      log_destination = (enum log_destination )2;
    } else
    if (detach) {
      log_destination = (enum log_destination )2;
    } else {
      log_destination = (enum log_destination )1;
    }
  }
  if ((int )log_destination == 2) {
    openlog((char const   *)"git-daemon", 0x01, 3 << 3);
    set_die_routine(& daemon_die);
  } else {
    setvbuf((FILE * __restrict  )stderr, (char * __restrict  )((void *)0), 0, (size_t )4096);
  }
  if (inetd_mode) {
    if (detach) {
      die((char const   *)"--detach, --user and --group are incompatible with --inetd");
    } else
    if (group_name) {
      die((char const   *)"--detach, --user and --group are incompatible with --inetd");
    } else
    if (user_name) {
      die((char const   *)"--detach, --user and --group are incompatible with --inetd");
    }
  }
  if (inetd_mode) {
    if (listen_port) {
      die((char const   *)"--listen= and --port= are incompatible with --inetd");
    } else
    if (listen_addr.nr > 0U) {
      die((char const   *)"--listen= and --port= are incompatible with --inetd");
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (listen_port == 0) {
    listen_port = 9418;
  }
  if (group_name) {
    if (! user_name) {
      die((char const   *)"--group supplied without --user");
    }
  }
  if (user_name) {
    cred = prepare_credentials(user_name, group_name);
  }
  if (strict_paths) {
    if (! ok_paths) {
      die((char const   *)"option --strict-paths requires a whitelist");
    } else
    if (! *ok_paths) {
      die((char const   *)"option --strict-paths requires a whitelist");
    }
  }
  if (base_path) {
    tmp___35 = is_directory(base_path);
    if (! tmp___35) {
      die((char const   *)"base-path \'%s\' does not exist or is not a directory",
          base_path);
    }
  }
  if ((int )log_destination != 1) {
    tmp___36 = freopen((char const   * __restrict  )"/dev/null", (char const   * __restrict  )"w",
                       (FILE * __restrict  )stderr);
    if (! tmp___36) {
      die_errno((char const   *)"failed to redirect stderr to /dev/null");
    }
  }
  if (inetd_mode) {
    tmp___37 = execute();
    return (tmp___37);
  } else
  if (serve_mode) {
    tmp___37 = execute();
    return (tmp___37);
  }
  if (detach) {
    tmp___38 = daemonize();
    if (tmp___38) {
      die((char const   *)"--detach not supported on this platform");
    }
  }
  if (pid_file) {
    tmp___39 = getpid();
    write_file(pid_file, (char const   *)"%lu", (uintmax_t )tmp___39);
  }
  strvec_push(& cld_argv, *(argv___0 + 0));
  strvec_push(& cld_argv, (char const   *)"--serve");
  i = 1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break___0;
    }
    strvec_push(& cld_argv, *(argv___0 + i));
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___40 = serve(& listen_addr, listen_port, cred);
  return (tmp___40);
}
}
void git_set_exec_path(char const   *exec_path ) ;
void git_resolve_executable_dir(char const   *argv0 ) ;
char const   *git_exec_path(void) ;
void setup_path(void) ;
char const   **prepare_git_cmd(struct strvec *out , char const   **argv___0 ) ;
int execv_git_cmd(char const   **argv___0 ) ;
int __attribute__((__sentinel__))  execl_git_cmd(char const   *cmd  , ...) ;
char *system_path(char const   *path___6 ) ;
struct git_attr  const  *git_attr(char const   *name___0 ) ;
char const   git_attr__true[14] ;
char const   git_attr__false[16] ;
struct attr_check *attr_check_alloc(void) ;
struct attr_check *attr_check_initl(char const   *one___0  , ...) ;
struct attr_check *attr_check_dup(struct attr_check  const  *check___4 ) ;
struct attr_check_item *attr_check_append(struct attr_check *check___4 , struct git_attr  const  *attr ) ;
void attr_check_reset(struct attr_check *check___4 ) ;
void attr_check_clear(struct attr_check *check___4 ) ;
void attr_check_free(struct attr_check *check___4 ) ;
char const   *git_attr_name(struct git_attr  const  *attr ) ;
void git_check_attr(struct index_state *istate , char const   *path___6 , struct attr_check *check___4 ) ;
void git_all_attrs(struct index_state *istate , char const   *path___6 , struct attr_check *check___4 ) ;
void git_attr_set_direction(enum git_attr_direction new_direction ) ;
void attr_start(void) ;
static void restore_sigpipe_to_default(void)
{
  sigset_t unblock ;

  {
  sigemptyset(& unblock);
  sigaddset(& unblock, 13);
  sigprocmask(1, (sigset_t const   * __restrict  )(& unblock), (sigset_t * __restrict  )((void *)0));
  signal(13, (void (*)(int  ))0);
  return;
}
}
int main(int argc , char const   **argv___0 )
{
  int result___0 ;
  struct strbuf tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp.alloc = 0UL;
  tmp.len = 0UL;
  tmp.buf = strbuf_slopbuf;
  trace2_initialize_clock();
  sanitize_stdfds();
  restore_sigpipe_to_default();
  git_resolve_executable_dir(*(argv___0 + 0));
  git_setup_gettext();
  initialize_the_repository();
  attr_start();
  trace2_initialize_fl((char const   *)"common-main.c", 49);
  trace2_cmd_start_fl((char const   *)"common-main.c", 50, argv___0);
  trace2_collect_process_info((enum trace2_process_info_reason )0);
  tmp___1 = strbuf_getcwd(& tmp);
  if (! tmp___1) {
    tmp___0 = strbuf_detach(& tmp, (size_t *)((void *)0));
    tmp_original_cwd = (char const   *)tmp___0;
  }
  result___0 = cmd_main(argc, argv___0);
  tmp___2 = trace2_cmd_exit_fl((char const   *)"common-main.c", 63, result___0);
  exit(tmp___2);
}
}
int is_directory(char const   *path___6 )
{
  struct stat st ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = stat(path___6, & st);
  if (tmp) {
    tmp___0 = 0;
  } else
  if ((st.st_mode & 61440U) == 16384U) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static void strip_last_component(struct strbuf *path___6 )
{
  size_t offset___2 ;
  int tmp ;
  size_t len___0 ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = git_offset_1st_component((char const   *)path___6->buf);
  offset___2 = (size_t )tmp;
  len___0 = path___6->len;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (offset___2 < len___0) {
      tmp___0 = git_is_dir_sep((int )*(path___6->buf + (len___0 - 1UL)));
      if (tmp___0) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    len___0 --;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (offset___2 < len___0) {
      tmp___1 = git_is_dir_sep((int )*(path___6->buf + (len___0 - 1UL)));
      if (! tmp___1) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    len___0 --;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_setlen(path___6, len___0);
  return;
}
}
static void get_next_component(struct strbuf *next___2 , struct strbuf *remaining )
{
  char *start ;
  char *end ;
  int tmp ;
  int tmp___0 ;

  {
  start = (char *)((void *)0);
  end = (char *)((void *)0);
  strbuf_setlen(next___2, (size_t )0);
  start = remaining->buf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = git_is_dir_sep((int )*start);
    if (! tmp) {
      goto while_break;
    }
    start ++;
  }
  while_break: /* CIL Label */ ;
  }
  end = start;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (*end) {
      tmp___0 = git_is_dir_sep((int )*end);
      if (tmp___0) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    end ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_add(next___2, (void const   *)start, (size_t )(end - start));
  strbuf_remove(remaining, (size_t )0, (size_t )(end - remaining->buf));
  return;
}
}
static void get_root_part(struct strbuf *resolved , struct strbuf *remaining )
{
  int offset___2 ;
  int tmp ;

  {
  tmp = git_offset_1st_component((char const   *)remaining->buf);
  offset___2 = tmp;
  strbuf_setlen(resolved, (size_t )0);
  strbuf_add(resolved, (void const   *)remaining->buf, (size_t )offset___2);
  strbuf_remove(remaining, (size_t )0, (size_t )offset___2);
  return;
}
}
static char *strbuf_realpath_1(struct strbuf *resolved , char const   *path___6 ,
                               int flags___0 )
{
  struct strbuf remaining ;
  struct strbuf next___2 ;
  struct strbuf symlink___0 ;
  char *retval ;
  int num_symlinks ;
  struct stat st ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int *tmp___3 ;
  ssize_t len___0 ;
  int *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  remaining.alloc = 0UL;
  remaining.len = 0UL;
  remaining.buf = strbuf_slopbuf;
  next___2.alloc = 0UL;
  next___2.len = 0UL;
  next___2.buf = strbuf_slopbuf;
  symlink___0.alloc = 0UL;
  symlink___0.len = 0UL;
  symlink___0.buf = strbuf_slopbuf;
  retval = (char *)((void *)0);
  num_symlinks = 0;
  if (! *path___6) {
    if (flags___0 & (1 << 1)) {
      die((char const   *)"The empty string is not a valid path");
    } else {
      goto error_out;
    }
  }
  strbuf_addstr(& remaining, path___6);
  get_root_part(resolved, & remaining);
  if (! resolved->len) {
    tmp = strbuf_getcwd(resolved);
    if (tmp) {
      if (flags___0 & (1 << 1)) {
        die_errno((char const   *)"unable to get current working directory");
      } else {
        goto error_out;
      }
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (remaining.len > 0UL)) {
      goto while_break;
    }
    get_next_component(& next___2, & remaining);
    if (next___2.len == 0UL) {
      goto while_continue;
    } else
    if (next___2.len == 1UL) {
      tmp___1 = strcmp((char const   *)next___2.buf, (char const   *)".");
      if (tmp___1) {
        goto _L;
      } else {
        goto while_continue;
      }
    } else
    _L: /* CIL Label */
    if (next___2.len == 2UL) {
      tmp___0 = strcmp((char const   *)next___2.buf, (char const   *)"..");
      if (! tmp___0) {
        strip_last_component(resolved);
        goto while_continue;
      }
    }
    tmp___2 = git_is_dir_sep((int )*(resolved->buf + (resolved->len - 1UL)));
    if (! tmp___2) {
      strbuf_addch(resolved, '/');
    }
    strbuf_addbuf(resolved, (struct strbuf  const  *)(& next___2));
    tmp___8 = lstat((char const   *)resolved->buf, & st);
    if (tmp___8) {
      tmp___3 = __errno_location();
      if (*tmp___3 != 2) {
        goto _L___0;
      } else
      if (! (flags___0 & 1)) {
        if (remaining.len) {
          _L___0: /* CIL Label */
          if (flags___0 & (1 << 1)) {
            die_errno((char const   *)"Invalid path \'%s\'", resolved->buf);
          } else {
            goto error_out;
          }
        }
      }
    } else
    if ((st.st_mode & 61440U) == 40960U) {
      strbuf_setlen(& symlink___0, (size_t )0);
      tmp___5 = num_symlinks;
      num_symlinks ++;
      if (tmp___5 > 32) {
        tmp___4 = __errno_location();
        *tmp___4 = 40;
        if (flags___0 & (1 << 1)) {
          die((char const   *)"More than %d nested symlinks on path \'%s\'", 32, path___6);
        } else {
          goto error_out;
        }
      }
      tmp___6 = strbuf_readlink(& symlink___0, (char const   *)resolved->buf, (size_t )st.st_size);
      len___0 = (ssize_t )tmp___6;
      if (len___0 < 0L) {
        if (flags___0 & (1 << 1)) {
          die_errno((char const   *)"Invalid symlink \'%s\'", resolved->buf);
        } else {
          goto error_out;
        }
      }
      tmp___7 = is_absolute_path((char const   *)symlink___0.buf);
      if (tmp___7) {
        get_root_part(resolved, & symlink___0);
      } else {
        strip_last_component(resolved);
      }
      if (remaining.len) {
        strbuf_addch(& symlink___0, '/');
        strbuf_addbuf(& symlink___0, (struct strbuf  const  *)(& remaining));
      }
      strbuf_swap(& symlink___0, & remaining);
    }
  }
  while_break: /* CIL Label */ ;
  }
  retval = resolved->buf;
  error_out:
  strbuf_release(& remaining);
  strbuf_release(& next___2);
  strbuf_release(& symlink___0);
  if (! retval) {
    strbuf_setlen(resolved, (size_t )0);
  }
  return (retval);
}
}
char *strbuf_realpath(struct strbuf *resolved , char const   *path___6 , int die_on_error )
{
  int tmp ;
  char *tmp___0 ;

  {
  if (die_on_error) {
    tmp = 1 << 1;
  } else {
    tmp = 0;
  }
  tmp___0 = strbuf_realpath_1(resolved, path___6, tmp);
  return (tmp___0);
}
}
char *strbuf_realpath_forgiving(struct strbuf *resolved , char const   *path___6 ,
                                int die_on_error )
{
  int tmp ;
  char *tmp___0 ;

  {
  if (die_on_error) {
    tmp = 1 << 1;
  } else {
    tmp = 0;
  }
  tmp___0 = strbuf_realpath_1(resolved, path___6, tmp | 1);
  return (tmp___0);
}
}
char *real_pathdup(char const   *path___6 , int die_on_error )
{
  struct strbuf realpath___1 ;
  char *retval ;
  char *tmp ;

  {
  realpath___1.alloc = 0UL;
  realpath___1.len = 0UL;
  realpath___1.buf = strbuf_slopbuf;
  retval = (char *)((void *)0);
  tmp = strbuf_realpath(& realpath___1, path___6, die_on_error);
  if (tmp) {
    retval = strbuf_detach(& realpath___1, (size_t *)((void *)0));
  }
  strbuf_release(& realpath___1);
  return (retval);
}
}
static struct strbuf sb  =    {0UL, 0UL, strbuf_slopbuf};
char const   *absolute_path(char const   *path___6 )
{


  {
  strbuf_setlen(& sb, (size_t )0);
  strbuf_add_absolute_path(& sb, path___6);
  return ((char const   *)sb.buf);
}
}
char *absolute_pathdup(char const   *path___6 )
{
  struct strbuf sb___6 ;
  char *tmp ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  strbuf_add_absolute_path(& sb___6, path___6);
  tmp = strbuf_detach(& sb___6, (size_t *)((void *)0));
  return (tmp);
}
}
char *prefix_filename(char const   *pfx , char const   *arg )
{
  struct strbuf path___6 ;
  size_t pfx_len ;
  size_t tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;

  {
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  if (pfx) {
    tmp = strlen(pfx);
    tmp___0 = tmp;
  } else {
    tmp___0 = (size_t )0;
  }
  pfx_len = tmp___0;
  if (! (! pfx_len)) {
    tmp___1 = is_absolute_path(arg);
    if (tmp___1) {
      pfx_len = (size_t )0;
    } else {
      strbuf_add(& path___6, (void const   *)pfx, pfx_len);
    }
  }
  strbuf_addstr(& path___6, arg);
  tmp___2 = strbuf_detach(& path___6, (size_t *)((void *)0));
  return (tmp___2);
}
}
char const   *column_colors_ansi[13] ;
int const   column_colors_ansi_max ;
int color_stdout_is_tty ;
int git_color_config(char const   *var , char const   *value , void *cb ) ;
int git_color_default_config(char const   *var , char const   *value , void *cb ) ;
int git_config_colorbool(char const   *var , char const   *value ) ;
int want_color_fd(int fd , int var ) ;
int color_parse(char const   *value , char *dst ) ;
int color_parse_mem(char const   *value , int value_len , char *dst ) ;
int ( /* format attribute */  color_fprintf)(FILE *fp , char const   *color___0 ,
                                             char const   *fmt  , ...) ;
int ( /* format attribute */  color_fprintf_ln)(FILE *fp , char const   *color___0 ,
                                                char const   *fmt  , ...) ;
void color_print_strbuf(FILE *fp , char const   *color___0 , struct strbuf  const  *sb___6 ) ;
int color_is_nil(char const   *c___0 ) ;
void init_add_i_state(struct add_i_state *s___1 , struct repository *r ) ;
void clear_add_i_state(struct add_i_state *s___1 ) ;
int run_add_i(struct repository *r , struct pathspec  const  *ps ) ;
int run_add_p(struct repository *r , enum add_p_mode mode___1 , char const   *revision ,
              struct pathspec  const  *ps ) ;
struct diff_filespec *alloc_filespec(char const   *path___6 ) ;
void free_filespec(struct diff_filespec *spec ) ;
void fill_filespec(struct diff_filespec *spec , struct object_id  const  *oid , int oid_valid ,
                   unsigned short mode___1 ) ;
void diff_queued_diff_prefetch(void *repository ) ;
int diff_populate_filespec(struct repository *r , struct diff_filespec *s___1 , struct diff_populate_filespec_options  const  *options ) ;
void diff_free_filespec_data(struct diff_filespec *s___1 ) ;
void diff_free_filespec_blob(struct diff_filespec *s___1 ) ;
int diff_filespec_is_binary(struct repository *r , struct diff_filespec *one___0 ) ;
void diff_free_filepair(struct diff_filepair *p___0 ) ;
void pool_diff_free_filepair(struct mem_pool *pool , struct diff_filepair *p___0 ) ;
int diff_unmodified_pair(struct diff_filepair *p___0 ) ;
struct diff_queue_struct diff_queued_diff ;
struct diff_filepair *diff_queue(struct diff_queue_struct *queue , struct diff_filespec *one___0 ,
                                 struct diff_filespec *two___0 ) ;
void diff_q(struct diff_queue_struct *queue , struct diff_filepair *dp ) ;
void partial_clear_dir_rename_count(struct strmap *dir_rename_count ) ;
void diffcore_break(struct repository *r , int break_score ) ;
void diffcore_rename(struct diff_options *options ) ;
void diffcore_rename_extended(struct diff_options *options , struct mem_pool *pool ,
                              struct strintmap *relevant_sources , struct strintmap *dirs_removed ,
                              struct strmap *dir_rename_count , struct strmap *cached_pairs ) ;
void diffcore_merge_broken(void) ;
void diffcore_pickaxe(struct diff_options *o ) ;
void diffcore_order(char const   *orderfile ) ;
void diffcore_rotate(struct diff_options *opt___0 ) ;
void order_objects(char const   *orderfile , char const   *(*obj_path)(void *obj ) ,
                   struct obj_order *objs___0 , int nr___0 ) ;
int diffcore_count_changes(struct repository *r , struct diff_filespec *src , struct diff_filespec *dst ,
                           void **src_count_p , void **dst_count_p , unsigned long *src_copied ,
                           unsigned long *literal_added ) ;
void diff_add_if_missing(struct repository *r , struct oid_array *to_fetch , struct diff_filespec  const  *filespec ) ;
struct parsed_object_pool *parsed_object_pool_new(void) ;
void parsed_object_pool_clear(struct parsed_object_pool *o ) ;
char const   *type_name(unsigned int type___0 ) ;
int type_from_string_gently(char const   *str , ssize_t len___0 , int gentle ) ;
unsigned int get_max_object_index(void) ;
struct object *get_indexed_object(unsigned int idx___0 ) ;
struct object *lookup_object(struct repository *r , struct object_id  const  *oid ) ;
void *create_object(struct repository *r , struct object_id  const  *oid , void *o ) ;
void *object_as_type(struct object *obj , enum object_type type___0 , int quiet___7 ) ;
struct object *parse_object(struct repository *r , struct object_id  const  *oid ) ;
struct object *parse_object_or_die(struct object_id  const  *oid , char const   *name___0 ) ;
struct object *parse_object_buffer(struct repository *r , struct object_id  const  *oid ,
                                   enum object_type type___0 , unsigned long size ,
                                   void *buffer___5 , int *eaten_p ) ;
struct object *lookup_unknown_object(struct repository *r , struct object_id  const  *oid ) ;
struct object *lookup_object_by_type(struct repository *r , struct object_id  const  *oid ,
                                     enum object_type type___0 ) ;
struct object_list *object_list_insert(struct object *item___0 , struct object_list **list_p ) ;
int object_list_contains(struct object_list *list___3 , struct object *obj ) ;
void object_list_free(struct object_list **list___3 ) ;
void add_object_array(struct object *obj , char const   *name___0 , struct object_array *array ) ;
void add_object_array_with_path(struct object *obj , char const   *name___0 , struct object_array *array ,
                                unsigned int mode___1 , char const   *path___6 ) ;
struct object *object_array_pop(struct object_array *array ) ;
void object_array_filter(struct object_array *array , int (*want)(struct object_array_entry * ,
                                                                  void * ) , void *cb_data ) ;
void object_array_remove_duplicates(struct object_array *array ) ;
void object_array_clear(struct object_array *array ) ;
void clear_object_flags(unsigned int flags___0 ) ;
void repo_clear_commit_marks(struct repository *r , unsigned int flags___0 ) ;
char const   *tree_type ;
struct tree *lookup_tree(struct repository *r , struct object_id  const  *oid ) ;
int parse_tree_buffer(struct tree *item___0 , void *buffer___5 , unsigned long size ) ;
int parse_tree_gently(struct tree *item___0 , int quiet_on_missing ) ;
__inline static int parse_tree(struct tree *tree )
{
  int tmp ;

  {
  tmp = parse_tree_gently(tree, 0);
  return (tmp);
}
}
void free_tree_buffer(struct tree *tree ) ;
struct tree *parse_tree_indirect(struct object_id  const  *oid ) ;
int cmp_cache_name_compare(void const   *a_ , void const   *b_ ) ;
int read_tree_at(struct repository *r , struct tree *tree , struct strbuf *base ,
                 struct pathspec  const  *pathspec___1 , int (*fn)(struct object_id  const  * ,
                                                                   struct strbuf * ,
                                                                   char const   * ,
                                                                   unsigned int  ,
                                                                   void * ) , void *context___0 ) ;
int read_tree(struct repository *r , struct tree *tree , struct pathspec  const  *pathspec___1 ,
              int (*fn)(struct object_id  const  * , struct strbuf * , char const   * ,
                        unsigned int  , void * ) , void *context___0 ) ;
void *add_decoration(struct decoration *n , struct object  const  *obj , void *decoration ) ;
void *lookup_decoration(struct decoration *n , struct object  const  *obj ) ;
void signature_check_clear(struct signature_check *sigc ) ;
int parse_signature(char const   *buf___19 , size_t size , struct strbuf *payload ,
                    struct strbuf *signature___0 ) ;
size_t parse_signed_buffer(char const   *buf___19 , size_t size ) ;
int sign_buffer(struct strbuf *buffer___5 , struct strbuf *signature___0 , char const   *signing_key ) ;
int git_gpg_config(char const   *var , char const   *value , void *cb ) ;
void set_signing_key(char const   *key___1 ) ;
char const   *get_signing_key(void) ;
char const   *get_signing_key_id(void) ;
int check_signature(struct signature_check *sigc , char const   *signature___0 , size_t slen ) ;
void print_signature_buffer(struct signature_check  const  *sigc , unsigned int flags___0 ) ;
__inline static int cmit_fmt_is_mail(enum cmit_fmt fmt )
{
  int tmp ;

  {
  if ((unsigned int )fmt == 6U) {
    tmp = 1;
  } else
  if ((unsigned int )fmt == 7U) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
void userformat_find_requirements(char const   *fmt , struct userformat_want *w ) ;
void pp_commit_easy(enum cmit_fmt fmt , struct commit  const  *commit , struct strbuf *sb___6 ) ;
void pp_user_info(struct pretty_print_context *pp , char const   *what , struct strbuf *sb___6 ,
                  char const   *line___0 , char const   *encoding ) ;
void pp_title_line(struct pretty_print_context *pp , char const   **msg_p , struct strbuf *sb___6 ,
                   char const   *encoding , int need_8bit_cte ) ;
void pp_remainder(struct pretty_print_context *pp , char const   **msg_p , struct strbuf *sb___6 ,
                  int indent ) ;
void repo_format_commit_message(struct repository *r , struct commit  const  *commit ,
                                char const   *format___0 , struct strbuf *sb___6 ,
                                struct pretty_print_context  const  *pretty_ctx ) ;
void get_commit_format(char const   *arg , struct rev_info *rev ) ;
void pretty_print_commit(struct pretty_print_context *pp , struct commit  const  *commit ,
                         struct strbuf *sb___6 ) ;
char const   *format_subject(struct strbuf *sb___6 , char const   *msg___5 , char const   *line_separator ) ;
int commit_format_is_empty(enum cmit_fmt fmt ) ;
void format_sanitized_subject(struct strbuf *sb___6 , char const   *msg___5 , size_t len___0 ) ;
int format_set_trailers_options(struct process_trailer_options *opts___1 , struct string_list *filter_list ,
                                struct strbuf *sepbuf , struct strbuf *kvsepbuf ,
                                char const   **arg , char **invalid_arg ) ;
int save_commit_buffer ;
int no_graft_file_deprecated_advice ;
char const   *commit_type ;
void add_name_decoration(enum decoration_type type___0 , char const   *name___0 ,
                         struct object *obj ) ;
struct name_decoration  const  *get_name_decoration(struct object  const  *obj ) ;
struct commit *lookup_commit(struct repository *r , struct object_id  const  *oid ) ;
struct commit *lookup_commit_reference(struct repository *r , struct object_id  const  *oid ) ;
struct commit *lookup_commit_reference_gently(struct repository *r , struct object_id  const  *oid ,
                                              int quiet___7 ) ;
struct commit *lookup_commit_reference_by_name(char const   *name___0 ) ;
struct commit *lookup_commit_or_die(struct object_id  const  *oid , char const   *ref_name___0 ) ;
int parse_commit_buffer(struct repository *r , struct commit *item___0 , void const   *buffer___5 ,
                        unsigned long size , int check_graph ) ;
int repo_parse_commit_internal(struct repository *r , struct commit *item___0 , int quiet_on_missing ,
                               int use_commit_graph ) ;
int repo_parse_commit_gently(struct repository *r , struct commit *item___0 , int quiet_on_missing ) ;
__inline static int repo_parse_commit(struct repository *r , struct commit *item___0 )
{
  int tmp ;

  {
  tmp = repo_parse_commit_gently(r, item___0, 0);
  return (tmp);
}
}
__inline static int repo_parse_commit_no_graph(struct repository *r , struct commit *commit )
{
  int tmp ;

  {
  tmp = repo_parse_commit_internal(r, commit, 0, 0);
  return (tmp);
}
}
void parse_commit_or_die(struct commit *item___0 ) ;
struct buffer_slab *allocate_commit_buffer_slab(void) ;
void free_commit_buffer_slab(struct buffer_slab *bs ) ;
void set_commit_buffer(struct repository *r , struct commit *commit , void *buffer___5 ,
                       unsigned long size ) ;
void const   *get_cached_commit_buffer(struct repository *r , struct commit  const  *commit ,
                                       unsigned long *sizep ) ;
void const   *repo_get_commit_buffer(struct repository *r , struct commit  const  *commit ,
                                     unsigned long *sizep ) ;
void repo_unuse_commit_buffer(struct repository *r , struct commit  const  *commit ,
                              void const   *buffer___5 ) ;
void free_commit_buffer(struct parsed_object_pool *pool , struct commit *commit ) ;
struct tree *repo_get_commit_tree(struct repository *r , struct commit  const  *commit ) ;
struct object_id *get_commit_tree_oid(struct commit  const  *commit ) ;
void release_commit_memory(struct parsed_object_pool *pool , struct commit *c___0 ) ;
void const   *detach_commit_buffer(struct commit *commit , unsigned long *sizep ) ;
int find_commit_subject(char const   *commit_buffer , char const   **subject ) ;
size_t commit_subject_length(char const   *body ) ;
struct commit_list *commit_list_insert(struct commit *item___0 , struct commit_list **list_p ) ;
int commit_list_contains(struct commit *item___0 , struct commit_list *list___3 ) ;
struct commit_list **commit_list_append(struct commit *commit , struct commit_list **next___2 ) ;
unsigned int commit_list_count(struct commit_list  const  *l ) ;
struct commit_list *commit_list_insert_by_date(struct commit *item___0 , struct commit_list **list___3 ) ;
void commit_list_sort_by_date(struct commit_list **list___3 ) ;
struct commit_list *copy_commit_list(struct commit_list *list___3 ) ;
struct commit_list *reverse_commit_list(struct commit_list *list___3 ) ;
void free_commit_list(struct commit_list *list___3 ) ;
int has_non_ascii(char const   *s___1 ) ;
extern char const   *logmsg_reencode(struct commit  const  *commit , char **commit_encoding ,
                                     char const   *output_encoding ) ;
char const   *repo_logmsg_reencode(struct repository *r , struct commit  const  *commit ,
                                   char **commit_encoding , char const   *output_encoding ) ;
char const   *skip_blank_lines(char const   *msg___5 ) ;
struct commit *pop_most_recent_commit(struct commit_list **list___3 , unsigned int mark ) ;
struct commit *pop_commit(struct commit_list **stack ) ;
void clear_commit_marks(struct commit *commit , unsigned int mark ) ;
void clear_commit_marks_many(int nr___0 , struct commit **commit , unsigned int mark ) ;
void sort_in_topological_order(struct commit_list **list___3 , enum rev_sort_order sort_order ) ;
struct commit_graft *read_graft_line(struct strbuf *line___0 ) ;
int commit_graft_pos(struct repository *r , struct object_id  const  *oid ) ;
int register_commit_graft(struct repository *r , struct commit_graft *graft , int ignore_dups ) ;
void prepare_commit_graft(struct repository *r ) ;
struct commit_graft *lookup_commit_graft(struct repository *r , struct object_id  const  *oid ) ;
struct commit *get_fork_point(char const   *refname , struct commit *commit ) ;
int for_each_commit_graft(int (*fn)(struct commit_graft  const  * , void * ) , void *cb_data ) ;
int interactive_add(char const   **argv___0 , char const   *prefix___1 , int patch ) ;
int run_add_interactive(char const   *revision , char const   *patch_mode , struct pathspec  const  *pathspec___1 ) ;
void append_merge_tag_headers(struct commit_list *parents , struct commit_extra_header ***tail ) ;
int commit_tree(char const   *msg___5 , size_t msg_len , struct object_id  const  *tree ,
                struct commit_list *parents , struct object_id *ret___67 , char const   *author ,
                char const   *sign_commit___2 ) ;
int commit_tree_extended(char const   *msg___5 , size_t msg_len , struct object_id  const  *tree ,
                         struct commit_list *parents , struct object_id *ret___67 ,
                         char const   *author , char const   *committer , char const   *sign_commit___2 ,
                         struct commit_extra_header *extra___2 ) ;
struct commit_extra_header *read_commit_extra_headers(struct commit *commit , char const   **exclude ) ;
void free_commit_extra_headers(struct commit_extra_header *extra___2 ) ;
char const   *find_commit_header(char const   *msg___5 , char const   *key___1 , size_t *out_len ) ;
size_t ignore_non_trailer(char const   *buf___19 , size_t len___0 ) ;
int for_each_mergetag(int (*fn)(struct commit *commit , struct commit_extra_header *extra ,
                                void *cb_data ) , struct commit *commit , void *data ) ;
struct merge_remote_desc *merge_remote_util(struct commit *commit ) ;
void set_merge_remote_desc(struct commit *commit , char const   *name___0 , struct object *obj ) ;
struct commit *get_merge_parent(char const   *name___0 ) ;
int parse_signed_commit(struct commit  const  *commit , struct strbuf *payload , struct strbuf *signature___0 ,
                        struct git_hash_algo  const  *algop ) ;
int remove_signature(struct strbuf *buf___19 ) ;
int check_commit_signature(struct commit  const  *commit , struct signature_check *sigc ) ;
void record_author_date(struct author_date_slab *author_date , struct commit *commit ) ;
int compare_commits_by_author_date(void const   *a_ , void const   *b_ , void *cb_data ) ;
void verify_merge_signature(struct commit *commit , int verbosity___3 , int check_trust ) ;
int compare_commits_by_commit_date(void const   *a_ , void const   *b_ , void *unused ) ;
int compare_commits_by_gen_then_commit_date(void const   *a_ , void const   *b_ ,
                                            void *unused ) ;
int __attribute__((__sentinel__))  run_commit_hook(int editor_is_used , char const   *index_file ,
                                                   char const   *name___0  , ...) ;
int sign_with_header(struct strbuf *buf___19 , char const   *keyid ) ;
int parse_buffer_signed_by_header(char const   *buffer___5 , unsigned long size ,
                                  struct strbuf *payload , struct strbuf *signature___0 ,
                                  struct git_hash_algo  const  *algop ) ;
int parse_options(int argc , char const   **argv___0 , char const   *prefix___1 ,
                  struct option  const  *options , char const   **usagestr , enum parse_opt_flags flags___0 ) ;
void usage_with_options(char const   **usagestr , struct option  const  *opts___1 )  __attribute__((__noreturn__)) ;
void usage_msg_opt(char const   *msg___5 , char const   **usagestr , struct option  const  *options )  __attribute__((__noreturn__)) ;
void parse_options_start(struct parse_opt_ctx_t *ctx___0 , int argc , char const   **argv___0 ,
                         char const   *prefix___1 , struct option  const  *options ,
                         enum parse_opt_flags flags___0 ) ;
enum parse_opt_result parse_options_step(struct parse_opt_ctx_t *ctx___0 , struct option  const  *options ,
                                         char const   **usagestr ) ;
int parse_options_end(struct parse_opt_ctx_t *ctx___0 ) ;
struct option *parse_options_dup(struct option  const  *o ) ;
struct option *parse_options_concat(struct option  const  *a , struct option  const  *b___0 ) ;
int parse_opt_abbrev_cb(struct option  const  *opt___0 , char const   *arg , int unset ) ;
int parse_opt_expiry_date_cb(struct option  const  *opt___0 , char const   *arg ,
                             int unset ) ;
int parse_opt_color_flag_cb(struct option  const  *opt___0 , char const   *arg , int unset ) ;
int parse_opt_verbosity_cb(struct option  const  *opt___0 , char const   *arg , int unset ) ;
int parse_opt_object_name(struct option  const  *opt___0 , char const   *arg , int unset ) ;
int parse_opt_object_id(struct option  const  *opt___0 , char const   *arg , int unset ) ;
int parse_opt_commits(struct option  const  *opt___0 , char const   *arg , int unset ) ;
int parse_opt_commit(struct option  const  *opt___0 , char const   *arg , int unset ) ;
int parse_opt_tertiary(struct option  const  *opt___0 , char const   *arg , int unset ) ;
int parse_opt_string_list(struct option  const  *opt___0 , char const   *arg , int unset ) ;
int parse_opt_noop_cb(struct option  const  *opt___0 , char const   *arg , int unset ) ;
enum parse_opt_result parse_opt_unknown_cb(struct parse_opt_ctx_t *ctx___0 , struct option  const  *opt___0 ,
                                           char const   *arg , int unset ) ;
int parse_opt_passthru(struct option  const  *opt___0 , char const   *arg , int unset ) ;
int parse_opt_passthru_argv(struct option  const  *opt___0 , char const   *arg , int unset ) ;
int parse_opt_tracking_mode(struct option  const  *opt___0 , char const   *arg , int unset ) ;
int combine_notes_concatenate(struct object_id *cur_oid , struct object_id  const  *new_oid ) ;
int combine_notes_overwrite(struct object_id *cur_oid , struct object_id  const  *new_oid ) ;
int combine_notes_ignore(struct object_id *cur_oid , struct object_id  const  *new_oid ) ;
int combine_notes_cat_sort_uniq(struct object_id *cur_oid , struct object_id  const  *new_oid ) ;
struct notes_tree default_notes_tree ;
char const   *default_notes_ref(void) ;
void init_notes(struct notes_tree *t , char const   *notes_ref , int (*combine_notes)(struct object_id *cur_oid ,
                                                                                      struct object_id  const  *new_oid ) ,
                int flags___0 ) ;
int add_note(struct notes_tree *t , struct object_id  const  *object_oid , struct object_id  const  *note_oid ,
             int (*combine_notes)(struct object_id *cur_oid , struct object_id  const  *new_oid ) ) ;
int remove_note(struct notes_tree *t , unsigned char const   *object_sha1 ) ;
struct object_id  const  *get_note(struct notes_tree *t , struct object_id  const  *oid ) ;
int copy_note(struct notes_tree *t , struct object_id  const  *from_obj , struct object_id  const  *to_obj ,
              int force___2 , int (*combine_notes)(struct object_id *cur_oid , struct object_id  const  *new_oid ) ) ;
int for_each_note(struct notes_tree *t , int flags___0 , each_note_fn *fn , void *cb_data ) ;
int write_notes_tree(struct notes_tree *t , struct object_id *result___0 ) ;
void prune_notes(struct notes_tree *t , int flags___0 ) ;
void free_notes(struct notes_tree *t ) ;
void init_display_notes(struct display_notes_opt *opt___0 ) ;
void enable_default_display_notes(struct display_notes_opt *opt___0 , int *show_notes___0 ) ;
void enable_ref_display_notes(struct display_notes_opt *opt___0 , int *show_notes___0 ,
                              char const   *ref ) ;
void disable_display_notes(struct display_notes_opt *opt___0 , int *show_notes___0 ) ;
void load_display_notes(struct display_notes_opt *opt___0 ) ;
void format_display_notes(struct object_id  const  *object_oid , struct strbuf *sb___6 ,
                          char const   *output_encoding , int raw ) ;
struct notes_tree **load_notes_trees(struct string_list *refs___0 , int flags___0 ) ;
void string_list_add_refs_by_glob(struct string_list *list___3 , char const   *glob___0 ) ;
void string_list_add_refs_from_colon_sep(struct string_list *list___3 , char const   *globs ) ;
void expand_notes_ref(struct strbuf *sb___6 ) ;
void expand_loose_notes_ref(struct strbuf *sb___6 ) ;
void notes_cache_init(struct repository *r , struct notes_cache *c___0 , char const   *name___0 ,
                      char const   *validity ) ;
int notes_cache_write(struct notes_cache *c___0 ) ;
char *notes_cache_get(struct notes_cache *c___0 , struct object_id *key_oid , size_t *outsize ) ;
int notes_cache_put(struct notes_cache *c___0 , struct object_id *key_oid , char const   *data ,
                    size_t size ) ;
int userdiff_config(char const   *k , char const   *v ) ;
struct userdiff_driver *userdiff_find_by_name(char const   *name___0 ) ;
struct userdiff_driver *userdiff_find_by_path(struct index_state *istate , char const   *path___6 ) ;
struct userdiff_driver *userdiff_get_textconv(struct repository *r , struct userdiff_driver *driver ) ;
int for_each_userdiff_driver(int (*fn)(struct userdiff_driver * , enum userdiff_driver_type  ,
                                       void * ) , void *cb_data ) ;
int grep_config(char const   *var , char const   *value , void *cb ) ;
void grep_init(struct grep_opt *opt___0 , struct repository *repo , char const   *prefix___1 ) ;
void grep_commit_pattern_type(enum grep_pattern_type pattern_type , struct grep_opt *opt___0 ) ;
void append_grep_pat(struct grep_opt *opt___0 , char const   *pat , size_t patlen ,
                     char const   *origin___0 , int no , enum grep_pat_token t ) ;
void append_grep_pattern(struct grep_opt *opt___0 , char const   *pat , char const   *origin___0 ,
                         int no , enum grep_pat_token t ) ;
void append_header_grep_pattern(struct grep_opt *opt___0 , enum grep_header_field field ,
                                char const   *pat ) ;
void compile_grep_patterns(struct grep_opt *opt___0 ) ;
void free_grep_patterns(struct grep_opt *opt___0 ) ;
int grep_buffer(struct grep_opt *opt___0 , char const   *buf___19 , unsigned long size ) ;
int grep_next_match(struct grep_opt *opt___0 , char const   *bol , char const   *eol ,
                    enum grep_context ctx___0 , regmatch_t *pmatch , enum grep_header_field field ,
                    int eflags ) ;
void grep_source_init_file(struct grep_source *gs , char const   *name___0 , char const   *path___6 ) ;
void grep_source_init_oid(struct grep_source *gs , char const   *name___0 , char const   *path___6 ,
                          struct object_id  const  *oid , struct repository *repo ) ;
void grep_source_clear_data(struct grep_source *gs ) ;
void grep_source_clear(struct grep_source *gs ) ;
void grep_source_load_driver(struct grep_source *gs , struct index_state *istate ) ;
int grep_source(struct grep_opt *opt___0 , struct grep_source *gs ) ;
struct grep_opt *grep_opt_dup(struct grep_opt  const  *opt___0 ) ;
int grep_use_locks ;
pthread_mutex_t grep_attr_mutex ;
__inline static struct object_id  const  *tree_entry_extract(struct tree_desc *desc___0 ,
                                                             char const   **pathp ,
                                                             unsigned short *modep )
{


  {
  *pathp = desc___0->entry.path;
  *modep = (unsigned short )desc___0->entry.mode;
  return ((struct object_id  const  *)(& desc___0->entry.oid));
}
}
__inline static int tree_entry_len(struct name_entry  const  *ne )
{


  {
  return ((int )ne->pathlen);
}
}
void update_tree_entry(struct tree_desc *desc___0 ) ;
int update_tree_entry_gently(struct tree_desc *desc___0 ) ;
void init_tree_desc(struct tree_desc *desc___0 , void const   *buffer___5 , unsigned long size ) ;
int init_tree_desc_gently(struct tree_desc *desc___0 , void const   *buffer___5 ,
                          unsigned long size ) ;
int tree_entry(struct tree_desc *desc___0 , struct name_entry *entry ) ;
int tree_entry_gently(struct tree_desc *desc___0 , struct name_entry *entry ) ;
void *fill_tree_descriptor(struct repository *r , struct tree_desc *desc___0 , struct object_id  const  *oid ) ;
int traverse_trees(struct index_state *istate , int n , struct tree_desc *t , struct traverse_info *info___0 ) ;
enum get_oid_result get_tree_entry_follow_symlinks(struct repository *r , struct object_id *tree_oid ,
                                                   char const   *name___0 , struct object_id *result___0 ,
                                                   struct strbuf *result_path , unsigned short *mode___1 ) ;
int get_tree_entry(struct repository *r , struct object_id  const  *tree_oid , char const   *name___0 ,
                   struct object_id *oid , unsigned short *mode___1 ) ;
char *make_traverse_path(char *path___6 , size_t pathlen , struct traverse_info  const  *info___0 ,
                         char const   *name___0 , size_t namelen ) ;
void strbuf_make_traverse_path(struct strbuf *out , struct traverse_info  const  *info___0 ,
                               char const   *name___0 , size_t namelen ) ;
void setup_traverse_info(struct traverse_info *info___0 , char const   *base ) ;
__inline static size_t traverse_path_len(struct traverse_info  const  *info___0 ,
                                         size_t namelen )
{
  size_t tmp ;

  {
  tmp = st_add((size_t )info___0->pathlen, namelen);
  return (tmp);
}
}
enum interesting tree_entry_interesting(struct index_state *istate , struct name_entry  const  *entry ,
                                        struct strbuf *base , int base_offset , struct pathspec  const  *ps ) ;
void parse_pathspec(struct pathspec *pathspec___1 , unsigned int magic_mask , unsigned int flags___0 ,
                    char const   *prefix___1 , char const   **argv___0 ) ;
void parse_pathspec_file(struct pathspec *pathspec___1 , unsigned int magic_mask ,
                         unsigned int flags___0 , char const   *prefix___1 , char const   *file___0 ,
                         int nul_term_line___2 ) ;
void copy_pathspec(struct pathspec *dst , struct pathspec  const  *src ) ;
void clear_pathspec(struct pathspec *pathspec___1 ) ;
__inline static int ps_strncmp(struct pathspec_item  const  *item___0 , char const   *s1 ,
                               char const   *s2 , size_t n )
{
  int tmp ;
  int tmp___0 ;

  {
  if (item___0->magic & (unsigned int )(1 << 4)) {
    tmp = strncasecmp(s1, s2, n);
    return (tmp);
  } else {
    tmp___0 = strncmp(s1, s2, n);
    return (tmp___0);
  }
}
}
__inline static int ps_strcmp(struct pathspec_item  const  *item___0 , char const   *s1 ,
                              char const   *s2 )
{
  int tmp ;
  int tmp___0 ;

  {
  if (item___0->magic & (unsigned int )(1 << 4)) {
    tmp = strcasecmp(s1, s2);
    return (tmp);
  } else {
    tmp___0 = strcmp(s1, s2);
    return (tmp___0);
  }
}
}
void add_pathspec_matches_against_index(struct pathspec  const  *pathspec___1 , struct index_state *istate ,
                                        char *seen___0 , enum ps_skip_worktree_action sw_action ) ;
char *find_pathspecs_matching_against_index(struct pathspec  const  *pathspec___1 ,
                                            struct index_state *istate , enum ps_skip_worktree_action sw_action ) ;
char *find_pathspecs_matching_skip_worktree(struct pathspec  const  *pathspec___1 ) ;
__inline static int matches_skip_worktree(struct pathspec  const  *pathspec___1 ,
                                          int item___0 , char **seen_ptr )
{


  {
  if (! *seen_ptr) {
    *seen_ptr = find_pathspecs_matching_skip_worktree(pathspec___1);
  }
  return ((int )*(*seen_ptr + item___0));
}
}
int match_pathspec_attrs(struct index_state *istate , char const   *name___0 , int namelen ,
                         struct pathspec_item  const  *item___0 ) ;
static double const   __ac_HASH_UPPER___2  =    (double const   )0.77;
__inline static void kh_resize_oid_set___2(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___2(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___2 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___2 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___2(kh_oid_set_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___2(kh_oid_set_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___2(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___2(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___2(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___2(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___2 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___2 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___2(kh_oid_map_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___2(kh_oid_map_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___2(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___2(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___2(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___2(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___2 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___2 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___2(kh_oid_pos_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___2(kh_oid_pos_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___2(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___2(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void diff_flags_or(struct diff_flags *a , struct diff_flags  const  *b___0 )
{
  char *tmp_a ;
  char const   *tmp_b ;
  int i ;

  {
  tmp_a = (char *)a;
  tmp_b = (char const   *)b___0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(struct diff_flags ))) {
      goto while_break;
    }
    *(tmp_a + i) = (char )((int )*(tmp_a + i) | (int )*(tmp_b + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
unsigned int diff_filter_bit(char status ) ;
void diff_emit_submodule_del(struct diff_options *o , char const   *line___0 ) ;
void diff_emit_submodule_add(struct diff_options *o , char const   *line___0 ) ;
void diff_emit_submodule_untracked(struct diff_options *o , char const   *path___6 ) ;
void diff_emit_submodule_modified(struct diff_options *o , char const   *path___6 ) ;
void diff_emit_submodule_header(struct diff_options *o , char const   *header___0 ) ;
void diff_emit_submodule_error(struct diff_options *o , char const   *err___4 ) ;
void diff_emit_submodule_pipethrough(struct diff_options *o , char const   *line___0 ,
                                     int len___0 ) ;
char const   *diff_get_color(int diff_use_color , enum color_diff ix ) ;
char const   *diff_line_prefix(struct diff_options *opt___0 ) ;
char const   mime_boundary_leader[13] ;
struct combine_diff_path *diff_tree_paths(struct combine_diff_path *p___0 , struct object_id  const  *oid ,
                                          struct object_id  const  **parents_oid ,
                                          int nparent , struct strbuf *base , struct diff_options *opt___0 ) ;
void diff_tree_oid(struct object_id  const  *old_oid , struct object_id  const  *new_oid ,
                   char const   *base_str , struct diff_options *opt___0 ) ;
void diff_root_tree_oid(struct object_id  const  *new_oid , char const   *base , struct diff_options *opt___0 ) ;
void show_combined_diff(struct combine_diff_path *p___0 , int num_parent , struct rev_info *rev ) ;
void diff_tree_combined(struct object_id  const  *oid , struct oid_array  const  *parents ,
                        struct rev_info *rev ) ;
void diff_tree_combined_merge(struct commit  const  *commit , struct rev_info *rev ) ;
void diff_set_mnemonic_prefix(struct diff_options *options , char const   *a , char const   *b___0 ) ;
int diff_can_quit_early(struct diff_options *opt___0 ) ;
void diff_addremove(struct diff_options *options , int addremove___0 , unsigned int mode___1 ,
                    struct object_id  const  *oid , int oid_valid , char const   *concatpath ,
                    unsigned int dirty_submodule ) ;
void diff_change(struct diff_options *options , unsigned int old_mode , unsigned int new_mode ,
                 struct object_id  const  *old_oid , struct object_id  const  *new_oid ,
                 int old_oid_valid , int new_oid_valid , char const   *concatpath ,
                 unsigned int old_dirty_submodule , unsigned int new_dirty_submodule ) ;
struct diff_filepair *diff_unmerge(struct diff_options *options , char const   *path___6 ) ;
void compute_diffstat(struct diff_options *options , struct diffstat_t *diffstat ,
                      struct diff_queue_struct *q ) ;
void free_diffstat_info(struct diffstat_t *diffstat ) ;
int parse_long_opt(char const   *opt___0 , char const   **argv___0 , char const   **optarg___0 ) ;
int git_diff_basic_config(char const   *var , char const   *value , void *cb ) ;
int git_diff_heuristic_config(char const   *var , char const   *value , void *cb ) ;
void init_diff_ui_defaults(void) ;
int git_diff_ui_config(char const   *var , char const   *value , void *cb ) ;
void repo_diff_setup(struct repository *r , struct diff_options *options ) ;
int diff_opt_parse(struct diff_options *options , char const   **av , int ac , char const   *prefix___1 ) ;
void diff_setup_done(struct diff_options *options ) ;
int git_config_rename(char const   *var , char const   *value ) ;
void diffcore_std(struct diff_options *options ) ;
void diffcore_fix_diff_index(void) ;
int diff_queue_is_empty(void) ;
void diff_flush(struct diff_options *options ) ;
void diff_free(struct diff_options *options ) ;
void diff_warn_rename_limit(char const   *varname , int needed , int degraded_cc ) ;
char const   *diff_aligned_abbrev(struct object_id  const  *oid , int len___0 ) ;
void diff_get_merge_base(struct rev_info  const  *revs , struct object_id *mb ) ;
int run_diff_files(struct rev_info *revs , unsigned int option ) ;
int run_diff_index(struct rev_info *revs , unsigned int option ) ;
int do_diff_cache(struct object_id  const  *tree_oid , struct diff_options *opt___0 ) ;
int diff_flush_patch_id(struct diff_options *options , struct object_id *oid , int diff_header_only ,
                        int stable ) ;
void flush_one_hunk(struct object_id *result___0 , git_hash_ctx *ctx___0 ) ;
int diff_result_code(struct diff_options *opt___0 , int status ) ;
int diff_no_index(struct rev_info *revs , int implicit_no_index , int argc , char const   **argv___0 ) ;
int index_differs_from(struct repository *r , char const   *def___0 , struct diff_flags  const  *flags___0 ,
                       int ita_invisible_in_index ) ;
void show_interdiff(struct object_id  const  *oid1 , struct object_id  const  *oid2 ,
                    int indent , struct diff_options *diffopt ) ;
size_t fill_textconv(struct repository *r , struct userdiff_driver *driver , struct diff_filespec *df ,
                     char **outbuf ) ;
struct userdiff_driver *get_textconv(struct repository *r , struct diff_filespec *one___0 ) ;
int textconv_object(struct repository *r , char const   *path___6 , unsigned int mode___1 ,
                    struct object_id  const  *oid , int oid_valid , char **buf___19 ,
                    unsigned long *buf_size ) ;
int parse_rename_score(char const   **cp_p ) ;
long parse_algorithm_value(char const   *value ) ;
void print_stat_summary(FILE *fp , int files , int insertions , int deletions ) ;
void setup_diff_pager(struct diff_options *opt___0 ) ;
void init_revision_sources_with_stride(struct revision_sources *s___1 , unsigned int stride ) ;
void init_revision_sources(struct revision_sources *s___1 ) ;
void clear_revision_sources(struct revision_sources *s___1 ) ;
void deep_clear_revision_sources(struct revision_sources *s___1 , void (*free_fn)(char **ptr ) ) ;
char **revision_sources_at_peek(struct revision_sources *s___1 , struct commit  const  *c___0 ,
                                int add_if_missing ) ;
char **revision_sources_at(struct revision_sources *s___1 , struct commit  const  *c___0 ) ;
char **revision_sources_peek(struct revision_sources *s___1 , struct commit  const  *c___0 ) ;
int ref_excluded(struct string_list *ref_excludes___0 , char const   *path___6 ) ;
void clear_ref_exclusion(struct string_list **ref_excludes_p ) ;
void add_ref_exclusion(struct string_list **ref_excludes_p , char const   *exclude ) ;
void (* volatile  show_early_output)(struct rev_info * , struct commit_list * ) ;
void repo_init_revisions(struct repository *r , struct rev_info *revs , char const   *prefix___1 ) ;
int setup_revisions(int argc , char const   **argv___0 , struct rev_info *revs , struct setup_revision_opt *opt___0 ) ;
void parse_revision_opt(struct rev_info *revs , struct parse_opt_ctx_t *ctx___0 ,
                        struct option  const  *options , char const   **usagestr ) ;
int handle_revision_arg(char const   *arg , struct rev_info *revs , int flags___0 ,
                        unsigned int revarg_opt ) ;
void reset_revision_walk(void) ;
int prepare_revision_walk(struct rev_info *revs ) ;
struct commit *get_revision(struct rev_info *revs ) ;
char const   *get_revision_mark(struct rev_info  const  *revs , struct commit  const  *commit ) ;
void put_revision_mark(struct rev_info  const  *revs , struct commit  const  *commit ) ;
void mark_parents_uninteresting(struct commit *commit ) ;
void mark_tree_uninteresting(struct repository *r , struct tree *tree ) ;
void mark_trees_uninteresting_sparse(struct repository *r , struct oidset *trees___0 ) ;
void show_object_with_name(FILE *out , struct object *obj , char const   *name___0 ) ;
void add_pending_object(struct rev_info *revs , struct object *obj , char const   *name___0 ) ;
void add_pending_oid(struct rev_info *revs , char const   *name___0 , struct object_id  const  *oid ,
                     unsigned int flags___0 ) ;
void add_head_to_pending(struct rev_info *revs ) ;
void add_reflogs_to_pending(struct rev_info *revs , unsigned int flags___0 ) ;
void add_index_objects_to_pending(struct rev_info *revs , unsigned int flags___0 ) ;
enum commit_action get_commit_action(struct rev_info *revs , struct commit *commit ) ;
enum commit_action simplify_commit(struct rev_info *revs , struct commit *commit ) ;
int rewrite_parents(struct rev_info *revs , struct commit *commit , enum rewrite_result (*rewrite_parent)(struct rev_info *revs ,
                                                                                                          struct commit **pp ) ) ;
struct commit_list *get_saved_parents(struct rev_info *revs , struct commit  const  *commit ) ;
char const   *refs_resolve_ref_unsafe(struct ref_store *refs___0 , char const   *refname ,
                                      int resolve_flags , struct object_id *oid ,
                                      int *flags___0 , int *failure_errno ) ;
char const   *resolve_ref_unsafe(char const   *refname , int resolve_flags , struct object_id *oid ,
                                 int *flags___0 ) ;
char *refs_resolve_refdup(struct ref_store *refs___0 , char const   *refname , int resolve_flags ,
                          struct object_id *oid , int *flags___0 ) ;
char *resolve_refdup(char const   *refname , int resolve_flags , struct object_id *oid ,
                     int *flags___0 ) ;
int read_ref_full(char const   *refname , int resolve_flags , struct object_id *oid ,
                  int *flags___0 ) ;
int read_ref(char const   *refname , struct object_id *oid ) ;
int refs_verify_refname_available(struct ref_store *refs___0 , char const   *refname ,
                                  struct string_list  const  *extras , struct string_list  const  *skip ,
                                  struct strbuf *err___4 ) ;
int refs_ref_exists(struct ref_store *refs___0 , char const   *refname ) ;
int ref_exists(char const   *refname ) ;
int should_autocreate_reflog(char const   *refname ) ;
int is_branch(char const   *refname ) ;
int refs_init_db(struct strbuf *err___4 ) ;
int peel_iterated_oid(struct object_id  const  *base , struct object_id *peeled ) ;
int resolve_gitlink_ref(char const   *submodule , char const   *refname , struct object_id *oid ) ;
int refname_match(char const   *abbrev_name , char const   *full_name ) ;
void expand_ref_prefix(struct strvec *prefixes___0 , char const   *prefix___1 ) ;
int expand_ref(struct repository *repo , char const   *str , int len___0 , struct object_id *oid ,
               char **ref ) ;
int repo_dwim_ref(struct repository *r , char const   *str , int len___0 , struct object_id *oid ,
                  char **ref , int nonfatal_dangling_mark ) ;
int repo_dwim_log(struct repository *r , char const   *str , int len___0 , struct object_id *oid ,
                  char **log ) ;
__inline static int dwim_ref(char const   *str , int len___0 , struct object_id *oid ,
                             char **ref , int nonfatal_dangling_mark )
{
  int tmp ;

  {
  tmp = repo_dwim_ref(the_repository, str, len___0, oid, ref, nonfatal_dangling_mark);
  return (tmp);
}
}
int dwim_log(char const   *str , int len___0 , struct object_id *oid , char **log ) ;
char const   *git_default_branch_name(int quiet___7 ) ;
char *repo_default_branch_name(struct repository *r , int quiet___7 ) ;
int refs_head_ref(struct ref_store *refs___0 , each_ref_fn *fn , void *cb_data ) ;
int refs_for_each_ref(struct ref_store *refs___0 , each_ref_fn *fn , void *cb_data ) ;
int refs_for_each_ref_in(struct ref_store *refs___0 , char const   *prefix___1 , each_ref_fn *fn ,
                         void *cb_data ) ;
int refs_for_each_tag_ref(struct ref_store *refs___0 , each_ref_fn *fn , void *cb_data ) ;
int refs_for_each_branch_ref(struct ref_store *refs___0 , each_ref_fn *fn , void *cb_data ) ;
int refs_for_each_remote_ref(struct ref_store *refs___0 , each_ref_fn *fn , void *cb_data ) ;
int head_ref(each_ref_fn *fn , void *cb_data ) ;
int for_each_ref(each_ref_fn *fn , void *cb_data ) ;
int for_each_ref_in(char const   *prefix___1 , each_ref_fn *fn , void *cb_data ) ;
int refs_for_each_fullref_in(struct ref_store *refs___0 , char const   *prefix___1 ,
                             each_ref_fn *fn , void *cb_data ) ;
int for_each_fullref_in(char const   *prefix___1 , each_ref_fn *fn , void *cb_data ) ;
int for_each_fullref_in_prefixes(char const   *namespace , char const   **patterns___0 ,
                                 each_ref_fn *fn , void *cb_data ) ;
int for_each_tag_ref(each_ref_fn *fn , void *cb_data ) ;
int for_each_branch_ref(each_ref_fn *fn , void *cb_data ) ;
int for_each_remote_ref(each_ref_fn *fn , void *cb_data ) ;
int for_each_replace_ref(struct repository *r , each_repo_ref_fn *fn , void *cb_data ) ;
int for_each_glob_ref(each_ref_fn *fn , char const   *pattern___0 , void *cb_data ) ;
int for_each_glob_ref_in(each_ref_fn *fn , char const   *pattern___0 , char const   *prefix___1 ,
                         void *cb_data ) ;
int head_ref_namespaced(each_ref_fn *fn , void *cb_data ) ;
int for_each_namespaced_ref(each_ref_fn *fn , void *cb_data ) ;
int refs_for_each_rawref(struct ref_store *refs___0 , each_ref_fn *fn , void *cb_data ) ;
int for_each_rawref(each_ref_fn *fn , void *cb_data ) ;
void normalize_glob_ref(struct string_list_item *item___0 , char const   *prefix___1 ,
                        char const   *pattern___0 ) ;
__inline static char const   *has_glob_specials(char const   *pattern___0 )
{
  char *tmp ;

  {
  tmp = strpbrk(pattern___0, (char const   *)"?*[");
  return ((char const   *)tmp);
}
}
void warn_dangling_symref(FILE *fp , char const   *msg_fmt , char const   *refname ) ;
void warn_dangling_symrefs(FILE *fp , char const   *msg_fmt , struct string_list  const  *refnames ) ;
int refs_pack_refs(struct ref_store *refs___0 , unsigned int flags___0 ) ;
int refs_create_reflog(struct ref_store *refs___0 , char const   *refname , struct strbuf *err___4 ) ;
int safe_create_reflog(char const   *refname , struct strbuf *err___4 ) ;
int read_ref_at(struct ref_store *refs___0 , char const   *refname , unsigned int flags___0 ,
                timestamp_t at_time , int cnt , struct object_id *oid , char **msg___5 ,
                timestamp_t *cutoff_time , int *cutoff_tz , int *cutoff_cnt ) ;
int refs_reflog_exists(struct ref_store *refs___0 , char const   *refname ) ;
int reflog_exists(char const   *refname ) ;
int refs_delete_ref(struct ref_store *refs___0 , char const   *msg___5 , char const   *refname ,
                    struct object_id  const  *old_oid , unsigned int flags___0 ) ;
int delete_ref(char const   *msg___5 , char const   *refname , struct object_id  const  *old_oid ,
               unsigned int flags___0 ) ;
int refs_delete_refs(struct ref_store *refs___0 , char const   *logmsg , struct string_list *refnames ,
                     unsigned int flags___0 ) ;
int delete_refs(char const   *msg___5 , struct string_list *refnames , unsigned int flags___0 ) ;
int refs_delete_reflog(struct ref_store *refs___0 , char const   *refname ) ;
int delete_reflog(char const   *refname ) ;
int refs_for_each_reflog_ent(struct ref_store *refs___0 , char const   *refname ,
                             each_reflog_ent_fn *fn , void *cb_data ) ;
int refs_for_each_reflog_ent_reverse(struct ref_store *refs___0 , char const   *refname ,
                                     each_reflog_ent_fn *fn , void *cb_data ) ;
int for_each_reflog_ent(char const   *refname , each_reflog_ent_fn *fn , void *cb_data ) ;
int for_each_reflog_ent_reverse(char const   *refname , each_reflog_ent_fn *fn , void *cb_data ) ;
int refs_for_each_reflog(struct ref_store *refs___0 , each_ref_fn *fn , void *cb_data ) ;
int for_each_reflog(each_ref_fn *fn , void *cb_data ) ;
int check_refname_format(char const   *refname , int flags___0 ) ;
void sanitize_refname_component(char const   *refname , struct strbuf *out ) ;
char const   *prettify_refname(char const   *name___0 ) ;
char *refs_shorten_unambiguous_ref(struct ref_store *refs___0 , char const   *refname ,
                                   int strict___1 ) ;
char *shorten_unambiguous_ref(char const   *refname , int strict___1 ) ;
int refs_rename_ref(struct ref_store *refs___0 , char const   *oldref , char const   *newref ,
                    char const   *logmsg ) ;
int rename_ref(char const   *oldref , char const   *newref , char const   *logmsg ) ;
int refs_copy_existing_ref(struct ref_store *refs___0 , char const   *oldref , char const   *newref ,
                           char const   *logmsg ) ;
int copy_existing_ref(char const   *oldref , char const   *newref , char const   *logmsg ) ;
int refs_create_symref(struct ref_store *refs___0 , char const   *ref_target , char const   *refs_heads_master ,
                       char const   *logmsg ) ;
int create_symref(char const   *ref_target , char const   *refs_heads_master , char const   *logmsg ) ;
struct ref_transaction *ref_store_transaction_begin(struct ref_store *refs___0 , struct strbuf *err___4 ) ;
struct ref_transaction *ref_transaction_begin(struct strbuf *err___4 ) ;
int ref_transaction_update(struct ref_transaction *transaction___0 , char const   *refname ,
                           struct object_id  const  *new_oid , struct object_id  const  *old_oid ,
                           unsigned int flags___0 , char const   *msg___5 , struct strbuf *err___4 ) ;
int ref_transaction_create(struct ref_transaction *transaction___0 , char const   *refname ,
                           struct object_id  const  *new_oid , unsigned int flags___0 ,
                           char const   *msg___5 , struct strbuf *err___4 ) ;
int ref_transaction_delete(struct ref_transaction *transaction___0 , char const   *refname ,
                           struct object_id  const  *old_oid , unsigned int flags___0 ,
                           char const   *msg___5 , struct strbuf *err___4 ) ;
int ref_transaction_verify(struct ref_transaction *transaction___0 , char const   *refname ,
                           struct object_id  const  *old_oid , unsigned int flags___0 ,
                           struct strbuf *err___4 ) ;
int ref_transaction_prepare(struct ref_transaction *transaction___0 , struct strbuf *err___4 ) ;
int ref_transaction_commit(struct ref_transaction *transaction___0 , struct strbuf *err___4 ) ;
int ref_transaction_abort(struct ref_transaction *transaction___0 , struct strbuf *err___4 ) ;
int initial_ref_transaction_commit(struct ref_transaction *transaction___0 , struct strbuf *err___4 ) ;
void ref_transaction_free(struct ref_transaction *transaction___0 ) ;
int refs_update_ref(struct ref_store *refs___0 , char const   *msg___5 , char const   *refname ,
                    struct object_id  const  *new_oid , struct object_id  const  *old_oid ,
                    unsigned int flags___0 , enum action_on_err onerr ) ;
int update_ref(char const   *msg___5 , char const   *refname , struct object_id  const  *new_oid ,
               struct object_id  const  *old_oid , unsigned int flags___0 , enum action_on_err onerr ) ;
int parse_hide_refs_config(char const   *var , char const   *value , char const   *section ) ;
int ref_is_hidden(char const   *refname , char const   *refname_full ) ;
enum ref_type ref_type(char const   *refname ) ;
int refs_reflog_expire(struct ref_store *refs___0 , char const   *refname , unsigned int flags___0 ,
                       reflog_expiry_prepare_fn *prepare_fn , reflog_expiry_should_prune_fn *should_prune_fn ,
                       reflog_expiry_cleanup_fn *cleanup_fn , void *policy_cb_data ) ;
int reflog_expire(char const   *refname , unsigned int flags___0 , reflog_expiry_prepare_fn *prepare_fn ,
                  reflog_expiry_should_prune_fn *should_prune_fn , reflog_expiry_cleanup_fn *cleanup_fn ,
                  void *policy_cb_data ) ;
struct ref_store *get_main_ref_store(struct repository *r ) ;
struct ref_store *get_submodule_ref_store(char const   *submodule ) ;
struct ref_store *get_worktree_ref_store(struct worktree  const  *wt ) ;
struct tempfile *create_tempfile_mode(char const   *path___6 , int mode___1 ) ;
__inline static struct tempfile *create_tempfile(char const   *path___6 )
{
  struct tempfile *tmp ;

  {
  tmp = create_tempfile_mode(path___6, 0666);
  return (tmp);
}
}
struct tempfile *register_tempfile(char const   *path___6 ) ;
struct tempfile *mks_tempfile_sm(char const   *filename_template , int suffixlen ,
                                 int mode___1 ) ;
__inline static struct tempfile *mks_tempfile_s(char const   *filename_template ,
                                                int suffixlen )
{
  struct tempfile *tmp ;

  {
  tmp = mks_tempfile_sm(filename_template, suffixlen, 0600);
  return (tmp);
}
}
__inline static struct tempfile *mks_tempfile_m(char const   *filename_template ,
                                                int mode___1 )
{
  struct tempfile *tmp ;

  {
  tmp = mks_tempfile_sm(filename_template, 0, mode___1);
  return (tmp);
}
}
__inline static struct tempfile *mks_tempfile(char const   *filename_template )
{
  struct tempfile *tmp ;

  {
  tmp = mks_tempfile_sm(filename_template, 0, 0600);
  return (tmp);
}
}
struct tempfile *mks_tempfile_tsm(char const   *filename_template , int suffixlen ,
                                  int mode___1 ) ;
__inline static struct tempfile *mks_tempfile_ts(char const   *filename_template ,
                                                 int suffixlen )
{
  struct tempfile *tmp ;

  {
  tmp = mks_tempfile_tsm(filename_template, suffixlen, 0600);
  return (tmp);
}
}
__inline static struct tempfile *mks_tempfile_tm(char const   *filename_template ,
                                                 int mode___1 )
{
  struct tempfile *tmp ;

  {
  tmp = mks_tempfile_tsm(filename_template, 0, mode___1);
  return (tmp);
}
}
__inline static struct tempfile *mks_tempfile_t(char const   *filename_template )
{
  struct tempfile *tmp ;

  {
  tmp = mks_tempfile_tsm(filename_template, 0, 0600);
  return (tmp);
}
}
struct tempfile *xmks_tempfile_m(char const   *filename_template , int mode___1 ) ;
__inline static struct tempfile *xmks_tempfile(char const   *filename_template )
{
  struct tempfile *tmp ;

  {
  tmp = xmks_tempfile_m(filename_template, 0600);
  return (tmp);
}
}
FILE *fdopen_tempfile(struct tempfile *tempfile , char const   *mode___1 ) ;
__inline static int is_tempfile_active(struct tempfile *tempfile )
{
  int tmp ;

  {
  if (tempfile) {
    if (tempfile->active) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
char const   *get_tempfile_path(struct tempfile *tempfile ) ;
int get_tempfile_fd(struct tempfile *tempfile ) ;
FILE *get_tempfile_fp(struct tempfile *tempfile ) ;
int close_tempfile_gently(struct tempfile *tempfile ) ;
int reopen_tempfile(struct tempfile *tempfile ) ;
void delete_tempfile(struct tempfile **tempfile_p ) ;
int rename_tempfile(struct tempfile **tempfile_p , char const   *path___6 ) ;
int hold_lock_file_for_update_timeout_mode(struct lock_file *lk , char const   *path___6 ,
                                           int flags___0 , long timeout_ms___0 , int mode___1 ) ;
__inline static int hold_lock_file_for_update_timeout(struct lock_file *lk , char const   *path___6 ,
                                                      int flags___0 , long timeout_ms___0 )
{
  int tmp ;

  {
  tmp = hold_lock_file_for_update_timeout_mode(lk, path___6, flags___0, timeout_ms___0,
                                               0666);
  return (tmp);
}
}
__inline static int hold_lock_file_for_update(struct lock_file *lk , char const   *path___6 ,
                                              int flags___0 )
{
  int tmp ;

  {
  tmp = hold_lock_file_for_update_timeout(lk, path___6, flags___0, 0L);
  return (tmp);
}
}
__inline static int hold_lock_file_for_update_mode(struct lock_file *lk , char const   *path___6 ,
                                                   int flags___0 , int mode___1 )
{
  int tmp ;

  {
  tmp = hold_lock_file_for_update_timeout_mode(lk, path___6, flags___0, 0L, mode___1);
  return (tmp);
}
}
__inline static int is_lock_file_locked(struct lock_file *lk )
{
  int tmp ;

  {
  tmp = is_tempfile_active(lk->tempfile);
  return (tmp);
}
}
void unable_to_lock_message(char const   *path___6 , int err___4 , struct strbuf *buf___19 ) ;
void unable_to_lock_die(char const   *path___6 , int err___4 )  __attribute__((__noreturn__)) ;
__inline static FILE *fdopen_lock_file(struct lock_file *lk , char const   *mode___1 )
{
  FILE *tmp ;

  {
  tmp = fdopen_tempfile(lk->tempfile, mode___1);
  return (tmp);
}
}
__inline static char const   *get_lock_file_path(struct lock_file *lk )
{
  char const   *tmp ;

  {
  tmp = get_tempfile_path(lk->tempfile);
  return (tmp);
}
}
__inline static int get_lock_file_fd(struct lock_file *lk )
{
  int tmp ;

  {
  tmp = get_tempfile_fd(lk->tempfile);
  return (tmp);
}
}
__inline static FILE *get_lock_file_fp(struct lock_file *lk )
{
  FILE *tmp ;

  {
  tmp = get_tempfile_fp(lk->tempfile);
  return (tmp);
}
}
char *get_locked_file_path(struct lock_file *lk ) ;
__inline static int close_lock_file_gently(struct lock_file *lk )
{
  int tmp ;

  {
  tmp = close_tempfile_gently(lk->tempfile);
  return (tmp);
}
}
__inline static int reopen_lock_file(struct lock_file *lk )
{
  int tmp ;

  {
  tmp = reopen_tempfile(lk->tempfile);
  return (tmp);
}
}
int commit_lock_file(struct lock_file *lk ) ;
__inline static int commit_lock_file_to(struct lock_file *lk , char const   *path___6 )
{
  int tmp ;

  {
  tmp = rename_tempfile(& lk->tempfile, path___6);
  return (tmp);
}
}
__inline static void rollback_lock_file(struct lock_file *lk )
{


  {
  delete_tempfile(& lk->tempfile);
  return;
}
}
char *git_prompt(char const   *prompt , int flags___0 ) ;
int git_read_line_interactively(struct strbuf *line___0 ) ;
static void init_color(struct repository *r , struct add_i_state *s___1 , char const   *section_and_slot ,
                       char *dst , char const   *default_color )
{
  char *key___1 ;
  char *tmp ;
  char const   *value ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = xstrfmt((char const   *)"color.%s", section_and_slot);
  key___1 = tmp;
  if (! s___1->use_color) {
    *(dst + 0) = (char )'\000';
  } else {
    tmp___0 = repo_config_get_value(r, (char const   *)key___1, & value);
    if (tmp___0) {
      gitstrlcpy(dst, default_color, (size_t )75);
    } else {
      tmp___1 = color_parse(value, dst);
      if (tmp___1) {
        gitstrlcpy(dst, default_color, (size_t )75);
      }
    }
  }
  free((void *)key___1);
  return;
}
}
void init_add_i_state(struct add_i_state *s___1 , struct repository *r )
{
  char const   *value ;
  int tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  char *tmp___5 ;

  {
  s___1->r = r;
  tmp = repo_config_get_value(r, (char const   *)"color.interactive", & value);
  if (tmp) {
    s___1->use_color = -1;
  } else {
    s___1->use_color = git_config_colorbool((char const   *)"color.interactive", value);
  }
  s___1->use_color = want_color_fd(1, s___1->use_color);
  init_color(r, s___1, (char const   *)"interactive.header", s___1->header_color,
             (char const   *)"\033[1m");
  init_color(r, s___1, (char const   *)"interactive.help", s___1->help_color, (char const   *)"\033[1;31m");
  init_color(r, s___1, (char const   *)"interactive.prompt", s___1->prompt_color,
             (char const   *)"\033[1;34m");
  init_color(r, s___1, (char const   *)"interactive.error", s___1->error_color, (char const   *)"\033[1;31m");
  tmp___0 = diff_get_color(s___1->use_color, (enum color_diff )3);
  init_color(r, s___1, (char const   *)"diff.frag", s___1->fraginfo_color, tmp___0);
  init_color(r, s___1, (char const   *)"diff.context", s___1->context_color, (char const   *)"fall back");
  tmp___2 = strcmp((char const   *)(s___1->context_color), (char const   *)"fall back");
  if (! tmp___2) {
    tmp___1 = diff_get_color(s___1->use_color, (enum color_diff )1);
    init_color(r, s___1, (char const   *)"diff.plain", s___1->context_color, tmp___1);
  }
  tmp___3 = diff_get_color(s___1->use_color, (enum color_diff )4);
  init_color(r, s___1, (char const   *)"diff.old", s___1->file_old_color, tmp___3);
  tmp___4 = diff_get_color(s___1->use_color, (enum color_diff )5);
  init_color(r, s___1, (char const   *)"diff.new", s___1->file_new_color, tmp___4);
  if (s___1->use_color) {
    tmp___5 = "\033[m";
  } else {
    tmp___5 = "";
  }
  gitstrlcpy(s___1->reset_color, (char const   *)tmp___5, (size_t )75);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)s___1->interactive_diff_filter);
    s___1->interactive_diff_filter = (char *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  git_config_get_string((char const   *)"interactive.difffilter", & s___1->interactive_diff_filter);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->interactive_diff_algorithm);
    s___1->interactive_diff_algorithm = (char *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  git_config_get_string((char const   *)"diff.algorithm", & s___1->interactive_diff_algorithm);
  git_config_get_bool((char const   *)"interactive.singlekey", & s___1->use_single_key);
  return;
}
}
void clear_add_i_state(struct add_i_state *s___1 )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)s___1->interactive_diff_filter);
    s___1->interactive_diff_filter = (char *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->interactive_diff_algorithm);
    s___1->interactive_diff_algorithm = (char *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  memset((void *)s___1, 0, sizeof(*s___1));
  s___1->use_color = -1;
  return;
}
}
static void prefix_item_list_clear(struct prefix_item_list *list___3 )
{


  {
  string_list_clear(& list___3->items, 1);
  string_list_clear(& list___3->sorted, 0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)list___3->selected);
    list___3->selected = (int *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void extend_prefix_length(struct string_list_item *p___0 , char const   *other_string ,
                                 size_t max_length___0 )
{
  size_t *len___0 ;
  int tmp ;
  char c___0 ;

  {
  len___0 = (size_t *)p___0->util;
  if (! *len___0) {
    return;
  } else {
    tmp = memcmp((void const   *)p___0->string, (void const   *)other_string, *len___0);
    if (tmp) {
      return;
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    c___0 = *(p___0->string + *len___0);
    if (! c___0) {
      *len___0 = (size_t )0;
      goto while_break;
    } else {
      (*len___0) ++;
      if (*len___0 > max_length___0) {
        *len___0 = (size_t )0;
        goto while_break;
      } else
      if (! (((int )c___0 & -128) == 0)) {
        *len___0 = (size_t )0;
        goto while_break;
      }
    }
    if ((int )c___0 != (int )*(other_string + (*len___0 - 1UL))) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void find_unique_prefixes(struct prefix_item_list *list___3 )
{
  size_t i ;
  size_t tmp ;
  void *tmp___0 ;
  unsigned int tmp___1 ;
  struct string_list_item *sorted_item ;
  struct string_list_item *item___0 ;
  size_t *len___0 ;
  char c___0 ;
  size_t tmp___2 ;

  {
  if (list___3->sorted.nr == list___3->items.nr) {
    return;
  }
  string_list_clear(& list___3->sorted, 0);
  tmp = st_mult(sizeof(*(list___3->sorted.items)), (size_t )list___3->items.nr);
  tmp___0 = xmalloc(tmp);
  list___3->sorted.items = (struct string_list_item *)tmp___0;
  tmp___1 = list___3->items.nr;
  list___3->sorted.alloc = tmp___1;
  list___3->sorted.nr = tmp___1;
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (size_t )list___3->items.nr)) {
      goto while_break;
    }
    (list___3->sorted.items + i)->string = (list___3->items.items + i)->string;
    (list___3->sorted.items + i)->util = (void *)(list___3->items.items + i);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_sort(& list___3->sorted);
  i = (size_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < (size_t )list___3->sorted.nr)) {
      goto while_break___0;
    }
    sorted_item = list___3->sorted.items + i;
    item___0 = (struct string_list_item *)sorted_item->util;
    len___0 = (size_t *)item___0->util;
    *len___0 = (size_t )0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (*len___0 < list___3->min_length)) {
        goto while_break___1;
      }
      tmp___2 = *len___0;
      (*len___0) ++;
      c___0 = *(item___0->string + tmp___2);
      if (! c___0) {
        *len___0 = (size_t )0;
        goto while_break___1;
      } else
      if (! (((int )c___0 & -128) == 0)) {
        *len___0 = (size_t )0;
        goto while_break___1;
      }
    }
    while_break___1: /* CIL Label */ ;
    }
    if (i > 0UL) {
      extend_prefix_length(item___0, (char const   *)(sorted_item + -1)->string, list___3->max_length);
    }
    if (i + 1UL < (size_t )list___3->sorted.nr) {
      extend_prefix_length(item___0, (char const   *)(sorted_item + 1)->string, list___3->max_length);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static ssize_t find_unique(char const   *string___0 , struct prefix_item_list *list___3 )
{
  int index___2 ;
  int tmp ;
  struct string_list_item *item___0 ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = string_list_find_insert_index((struct string_list  const  *)(& list___3->sorted),
                                      string___0, 1);
  index___2 = tmp;
  if (list___3->items.nr != list___3->sorted.nr) {
    BUG_fl((char const   *)"add-interactive.c", 198, (char const   *)"prefix_item_list in inconsistent state (%lu vs %lu)",
           (uintmax_t )list___3->items.nr, (uintmax_t )list___3->sorted.nr);
  }
  if (index___2 < 0) {
    item___0 = (struct string_list_item *)(list___3->sorted.items + (-1 - index___2))->util;
  } else
  if (index___2 > 0) {
    tmp___2 = starts_with((char const   *)(list___3->sorted.items + (index___2 - 1))->string,
                          string___0);
    if (tmp___2) {
      return ((ssize_t )-1);
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  if ((unsigned int )(index___2 + 1) < list___3->sorted.nr) {
    tmp___1 = starts_with((char const   *)(list___3->sorted.items + (index___2 + 1))->string,
                          string___0);
    if (tmp___1) {
      return ((ssize_t )-1);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if ((unsigned int )index___2 < list___3->sorted.nr) {
    tmp___0 = starts_with((char const   *)(list___3->sorted.items + index___2)->string,
                          string___0);
    if (tmp___0) {
      item___0 = (struct string_list_item *)(list___3->sorted.items + index___2)->util;
    } else {
      return ((ssize_t )-1);
    }
  } else {
    return ((ssize_t )-1);
  }
  return (item___0 - list___3->items.items);
}
}
static void list(struct add_i_state *s___1 , struct string_list *list___3 , int *selected ,
                 struct list_options *opts___1 )
{
  int i ;
  int last_lf ;
  int tmp ;

  {
  last_lf = 0;
  if (! list___3->nr) {
    return;
  }
  if (opts___1->header) {
    color_fprintf_ln(stdout, (char const   *)(s___1->header_color), (char const   *)"%s",
                     opts___1->header);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < list___3->nr)) {
      goto while_break;
    }
    if (selected) {
      tmp = *(selected + i);
    } else {
      tmp = 0;
    }
    (*(opts___1->print_item))(i, tmp, list___3->items + i, opts___1->print_item_data);
    if (opts___1->columns) {
      if ((i + 1) % opts___1->columns) {
        putchar('\t');
        last_lf = 0;
      } else {
        putchar('\n');
        last_lf = 1;
      }
    } else {
      putchar('\n');
      last_lf = 1;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! last_lf) {
    putchar('\n');
  }
  return;
}
}
static ssize_t list_and_choose(struct add_i_state *s___1 , struct prefix_item_list *items ,
                               struct list_and_choose_options *opts___1 )
{
  int singleton ;
  int immediate ;
  struct strbuf input ;
  ssize_t res ;
  int tmp ;
  void *tmp___0 ;
  char *p___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  size_t sep ;
  size_t tmp___4 ;
  int choose ;
  ssize_t from___0 ;
  ssize_t to ;
  char *endp ;
  unsigned long tmp___5 ;
  unsigned long tmp___6 ;
  size_t tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  singleton = (int )((unsigned int )opts___1->flags & 1U);
  immediate = (int )((unsigned int )opts___1->flags & 2U);
  input.alloc = 0UL;
  input.len = 0UL;
  input.buf = strbuf_slopbuf;
  if (singleton) {
    tmp = -1;
  } else {
    tmp = 0;
  }
  res = (ssize_t )tmp;
  if (! singleton) {
    free((void *)items->selected);
    tmp___0 = xcalloc((size_t )items->items.nr, sizeof(*(items->selected)));
    items->selected = (int *)tmp___0;
  }
  if (singleton) {
    if (! immediate) {
      BUG_fl((char const   *)"add-interactive.c", 290, (char const   *)"singleton requires immediate");
    }
  }
  find_unique_prefixes(items);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    strbuf_setlen(& input, (size_t )0);
    list(s___1, & items->items, items->selected, & opts___1->list_opts);
    color_fprintf(stdout, (char const   *)(s___1->prompt_color), (char const   *)"%s",
                  opts___1->prompt);
    if (singleton) {
      tmp___1 = "> ";
    } else {
      tmp___1 = ">> ";
    }
    fputs((char const   * __restrict  )tmp___1, (FILE * __restrict  )stdout);
    fflush(stdout);
    tmp___2 = git_read_line_interactively(& input);
    if (tmp___2 == -1) {
      putchar('\n');
      if (immediate) {
        res = (ssize_t )-2;
      }
      goto while_break;
    }
    if (! input.len) {
      goto while_break;
    }
    tmp___3 = strcmp((char const   *)input.buf, (char const   *)"?");
    if (! tmp___3) {
      (*(opts___1->print_help))(s___1);
      goto __Cont;
    }
    p___0 = input.buf;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___4 = strcspn((char const   *)p___0, (char const   *)" \t\r\n,");
      sep = tmp___4;
      choose = 1;
      from___0 = (ssize_t )-1;
      to = (ssize_t )-1;
      if (! sep) {
        if (! *p___0) {
          goto while_break___0;
        }
        p___0 ++;
        goto __Cont___0;
      }
      if ((int )*p___0 == 45) {
        choose = 0;
        p___0 ++;
        sep --;
      }
      if (sep == 1UL) {
        if ((int )*p___0 == 42) {
          from___0 = (ssize_t )0;
          to = (ssize_t )items->items.nr;
        } else {
          goto _L;
        }
      } else
      _L: /* CIL Label */
      if (((int const   )sane_ctype[(unsigned char )*p___0] & 2) != 0) {
        tmp___5 = strtoul((char const   * __restrict  )p___0, (char ** __restrict  )(& endp),
                          10);
        from___0 = (ssize_t )(tmp___5 - 1UL);
        if ((unsigned long )endp == (unsigned long )(p___0 + sep)) {
          to = from___0 + 1L;
        } else
        if ((int )*endp == 45) {
          endp ++;
          if (((int const   )sane_ctype[(unsigned char )*endp] & 2) != 0) {
            tmp___6 = strtoul((char const   * __restrict  )endp, (char ** __restrict  )(& endp),
                              10);
            to = (ssize_t )tmp___6;
          } else {
            to = (ssize_t )items->items.nr;
          }
          if ((unsigned long )endp != (unsigned long )(p___0 + sep)) {
            from___0 = (ssize_t )-1;
          }
        }
      }
      if (*(p___0 + sep)) {
        tmp___7 = sep;
        sep ++;
        *(p___0 + tmp___7) = (char )'\000';
      }
      if (from___0 < 0L) {
        from___0 = find_unique((char const   *)p___0, items);
        if (from___0 >= 0L) {
          to = from___0 + 1L;
        }
      }
      if (from___0 < 0L) {
        tmp___8 = _((char const   *)"Huh (%s)?");
        color_fprintf_ln(stderr, (char const   *)(s___1->error_color), (char const   *)tmp___8,
                         p___0);
        goto while_break___0;
      } else
      if (from___0 >= (ssize_t )items->items.nr) {
        tmp___8 = _((char const   *)"Huh (%s)?");
        color_fprintf_ln(stderr, (char const   *)(s___1->error_color), (char const   *)tmp___8,
                         p___0);
        goto while_break___0;
      } else
      if (singleton) {
        if (from___0 + 1L != to) {
          tmp___8 = _((char const   *)"Huh (%s)?");
          color_fprintf_ln(stderr, (char const   *)(s___1->error_color), (char const   *)tmp___8,
                           p___0);
          goto while_break___0;
        } else {
          goto _L___0;
        }
      } else
      _L___0: /* CIL Label */
      if (singleton) {
        res = from___0;
        goto while_break___0;
      }
      if (to > (ssize_t )items->items.nr) {
        to = (ssize_t )items->items.nr;
      }
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! (from___0 < to)) {
          goto while_break___1;
        }
        if (*(items->selected + from___0) != choose) {
          *(items->selected + from___0) = choose;
          if (choose) {
            tmp___9 = 1;
          } else {
            tmp___9 = -1;
          }
          res += (ssize_t )tmp___9;
        }
        from___0 ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      p___0 += sep;
      __Cont___0: /* CIL Label */ ;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (immediate) {
      if (res != -1L) {
        goto while_break;
      } else {
        goto _L___1;
      }
    } else {
      _L___1: /* CIL Label */
      tmp___10 = strcmp((char const   *)input.buf, (char const   *)"*");
      if (! tmp___10) {
        goto while_break;
      }
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& input);
  return (res);
}
}
static void add_file_item(struct string_list *files , char const   *name___0 )
{
  struct file_item *item___0 ;
  void *tmp ;
  struct string_list_item *tmp___0 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*item___0));
  item___0 = (struct file_item *)tmp;
  tmp___0 = string_list_append(files, name___0);
  tmp___0->util = (void *)item___0;
  return;
}
}
static int pathname_entry_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *he1 ,
                              struct hashmap_entry  const  *he2 , void const   *name___0 )
{
  struct pathname_entry  const  *e1 ;
  struct pathname_entry  const  *e2 ;
  char const   *tmp ;
  int tmp___0 ;

  {
  e1 = (struct pathname_entry  const  *)((char *)he1 - (unsigned long )(& ((struct pathname_entry  const  *)0)->ent));
  e2 = (struct pathname_entry  const  *)((char *)he2 - (unsigned long )(& ((struct pathname_entry  const  *)0)->ent));
  if (name___0) {
    tmp = (char const   *)name___0;
  } else {
    tmp = (char const   *)e2->name;
  }
  tmp___0 = strcmp((char const   *)e1->name, tmp);
  return (tmp___0);
}
}
static void collect_changes_cb(struct diff_queue_struct *q , struct diff_options *options ,
                               void *data )
{
  struct collection_status *s___1 ;
  struct diffstat_t stat___0 ;
  int i ;
  char const   *name___0 ;
  int hash___0 ;
  unsigned int tmp ;
  struct pathname_entry *entry ;
  struct file_item *file_item ;
  struct adddel *adddel ;
  struct adddel *other_adddel ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;

  {
  s___1 = (struct collection_status *)data;
  stat___0.nr = 0;
  stat___0.alloc = 0;
  stat___0.files = (struct diffstat_file **)0;
  if (! q->nr) {
    return;
  }
  compute_diffstat(options, & stat___0, q);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < stat___0.nr)) {
      goto while_break;
    }
    name___0 = (char const   *)(*(stat___0.files + i))->name;
    tmp = strhash(name___0);
    hash___0 = (int )tmp;
    tmp___0 = hashmap_get_from_hash((struct hashmap  const  *)(& s___1->file_map),
                                    (unsigned int )hash___0, (void const   *)name___0);
    tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct pathname_entry *)0)->ent));
    entry = (struct pathname_entry *)tmp___1;
    if (! entry) {
      if (s___1->skip_unseen) {
        goto __Cont;
      }
      add_file_item(s___1->files, name___0);
      tmp___2 = xcalloc((size_t )1, sizeof(*entry));
      entry = (struct pathname_entry *)tmp___2;
      hashmap_entry_init(& entry->ent, (unsigned int )hash___0);
      entry->name = (char const   *)((s___1->files)->items + ((s___1->files)->nr - 1U))->string;
      entry->item = (struct file_item *)((s___1->files)->items + ((s___1->files)->nr - 1U))->util;
      hashmap_add(& s___1->file_map, & entry->ent);
    }
    file_item = entry->item;
    if ((unsigned int )s___1->mode == 1U) {
      adddel = & file_item->index;
    } else {
      adddel = & file_item->worktree;
    }
    if ((unsigned int )s___1->mode == 1U) {
      other_adddel = & file_item->worktree;
    } else {
      other_adddel = & file_item->index;
    }
    adddel->seen = 1U;
    adddel->add = (*(stat___0.files + i))->added;
    adddel->del = (*(stat___0.files + i))->deleted;
    if ((*(stat___0.files + i))->is_binary) {
      if (! other_adddel->binary) {
        (s___1->binary_count) ++;
      }
      adddel->binary = 1U;
    }
    if ((*(stat___0.files + i))->is_unmerged) {
      if (! other_adddel->unmerged) {
        (s___1->unmerged_count) ++;
      }
      adddel->unmerged = 1U;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free_diffstat_info(& stat___0);
  return;
}
}
static int get_modified_files(struct repository *r , enum modified_files_filter filter___0 ,
                              struct prefix_item_list *files , struct pathspec  const  *ps ,
                              size_t *unmerged_count , size_t *binary_count )
{
  struct object_id head_oid___1 ;
  int is_initial ;
  char const   *tmp ;
  int tmp___0 ;
  struct collection_status s___1 ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  struct rev_info rev ;
  struct setup_revision_opt opt___0 ;
  int tmp___5 ;
  char const   *tmp___6 ;
  char *tmp___7 ;

  {
  tmp = resolve_ref_unsafe((char const   *)"HEAD", 0x01, & head_oid___1, (int *)((void *)0));
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  is_initial = tmp___0;
  s___1.mode = (enum __anonenum_mode_983796626 )0;
  s___1.reference = (char const   *)0;
  s___1.skip_unseen = 0U;
  s___1.unmerged_count = 0UL;
  s___1.binary_count = 0UL;
  s___1.files = (struct string_list *)0;
  s___1.file_map.table = (struct hashmap_entry **)0;
  s___1.file_map.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                  struct hashmap_entry  const  *entry_or_key , void const   *keydata ))0;
  s___1.file_map.cmpfn_data = (void const   *)0;
  s___1.file_map.private_size = 0U;
  s___1.file_map.tablesize = 0U;
  s___1.file_map.grow_at = 0U;
  s___1.file_map.shrink_at = 0U;
  s___1.file_map.do_count_items = 0U;
  tmp___3 = discard_index(r->index);
  if (tmp___3 < 0) {
    tmp___1 = _((char const   *)"could not read index");
    error((char const   *)tmp___1);
    tmp___2 = const_error();
    return (tmp___2);
  } else {
    tmp___4 = repo_read_index_preload(r, ps, 0U);
    if (tmp___4 < 0) {
      tmp___1 = _((char const   *)"could not read index");
      error((char const   *)tmp___1);
      tmp___2 = const_error();
      return (tmp___2);
    }
  }
  prefix_item_list_clear(files);
  s___1.files = & files->items;
  hashmap_init(& s___1.file_map, & pathname_entry_cmp, (void const   *)((void *)0),
               (size_t )0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 2)) {
      goto while_break;
    }
    opt___0.def = (char const   *)0;
    opt___0.tweak = (void (*)(struct rev_info * , struct setup_revision_opt * ))0;
    opt___0.assume_dashdash = 0U;
    opt___0.allow_exclude_promisor_objects = 0U;
    opt___0.revarg_opt = 0U;
    if ((unsigned int )filter___0 == 2U) {
      if (i == 0) {
        s___1.mode = (enum __anonenum_mode_983796626 )1;
      } else {
        s___1.mode = (enum __anonenum_mode_983796626 )0;
      }
    } else
    if (i == 0) {
      s___1.mode = (enum __anonenum_mode_983796626 )0;
    } else {
      s___1.mode = (enum __anonenum_mode_983796626 )1;
    }
    if (filter___0) {
      if (i) {
        tmp___5 = 1;
      } else {
        tmp___5 = 0;
      }
    } else {
      tmp___5 = 0;
    }
    s___1.skip_unseen = (unsigned int )tmp___5;
    if (is_initial) {
      tmp___6 = empty_tree_oid_hex();
      opt___0.def = tmp___6;
    } else {
      tmp___7 = oid_to_hex((struct object_id  const  *)(& head_oid___1));
      opt___0.def = (char const   *)tmp___7;
    }
    repo_init_revisions(the_repository, & rev, (char const   *)((void *)0));
    setup_revisions(0, (char const   **)((void *)0), & rev, & opt___0);
    rev.diffopt.output_format = 0x1000;
    rev.diffopt.format_callback = & collect_changes_cb;
    rev.diffopt.format_callback_data = (void *)(& s___1);
    if (ps) {
      copy_pathspec(& rev.prune_data, ps);
    }
    if ((unsigned int )s___1.mode == 1U) {
      run_diff_index(& rev, 1U);
    } else {
      rev.diffopt.flags.ignore_dirty_submodules = 1U;
      run_diff_files(& rev, 0U);
    }
    if (ps) {
      clear_pathspec(& rev.prune_data);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  hashmap_clear_(& s___1.file_map, (ssize_t )((unsigned long )(& ((struct pathname_entry *)0)->ent)));
  if (unmerged_count) {
    *unmerged_count = s___1.unmerged_count;
  }
  if (binary_count) {
    *binary_count = s___1.binary_count;
  }
  string_list_sort(& files->items);
  return (0);
}
}
static void render_adddel(struct strbuf *buf___19 , struct adddel *ad , char const   *no_changes )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if (ad->binary) {
    tmp = _((char const   *)"binary");
    strbuf_addstr(buf___19, (char const   *)tmp);
  } else
  if (ad->seen) {
    strbuf_addf(buf___19, (char const   *)"+%lu/-%lu", ad->add, ad->del);
  } else {
    strbuf_addstr(buf___19, no_changes);
  }
  return;
}
}
static int is_valid_prefix(char const   *prefix___1 , size_t prefix_len___1 )
{
  size_t tmp ;
  int tmp___0 ;

  {
  if (prefix_len___1) {
    if (prefix___1) {
      tmp = strcspn(prefix___1, (char const   *)" \t\r\n,");
      if (tmp >= prefix_len___1) {
        if ((int const   )*prefix___1 != 45) {
          if (! (((int const   )sane_ctype[(unsigned char )*prefix___1] & 2) != 0)) {
            if (prefix_len___1 != 1UL) {
              tmp___0 = 1;
            } else
            if ((int const   )*prefix___1 != 42) {
              if ((int const   )*prefix___1 != 63) {
                tmp___0 = 1;
              } else {
                tmp___0 = 0;
              }
            } else {
              tmp___0 = 0;
            }
          } else {
            tmp___0 = 0;
          }
        } else {
          tmp___0 = 0;
        }
      } else {
        tmp___0 = 0;
      }
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static void print_file_item(int i , int selected , struct string_list_item *item___0 ,
                            void *print_file_item_data )
{
  struct file_item *c___0 ;
  struct print_file_item_data *d ;
  char const   *highlighted ;
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;

  {
  c___0 = (struct file_item *)item___0->util;
  d = (struct print_file_item_data *)print_file_item_data;
  highlighted = (char const   *)((void *)0);
  strbuf_setlen(& d->index, (size_t )0);
  strbuf_setlen(& d->worktree, (size_t )0);
  strbuf_setlen(& d->buf, (size_t )0);
  if (c___0->prefix_length > 0UL) {
    tmp = is_valid_prefix((char const   *)item___0->string, c___0->prefix_length);
    if (tmp) {
      strbuf_setlen(& d->name, (size_t )0);
      strbuf_addf(& d->name, (char const   *)"%s%.*s%s%s", d->color, (int )c___0->prefix_length,
                  item___0->string, d->reset, item___0->string + c___0->prefix_length);
      highlighted = (char const   *)d->name.buf;
    }
  }
  if (d->only_names) {
    if (highlighted) {
      tmp___0 = highlighted;
    } else {
      tmp___0 = (char const   *)item___0->string;
    }
    if (selected) {
      tmp___1 = '*';
    } else {
      tmp___1 = ' ';
    }
    printf((char const   *)"%c%2d: %s", tmp___1, i + 1, tmp___0);
    return;
  }
  tmp___2 = _((char const   *)"nothing");
  render_adddel(& d->worktree, & c___0->worktree, (char const   *)tmp___2);
  tmp___3 = _((char const   *)"unchanged");
  render_adddel(& d->index, & c___0->index, (char const   *)tmp___3);
  if (highlighted) {
    tmp___4 = highlighted;
  } else {
    tmp___4 = (char const   *)item___0->string;
  }
  strbuf_addf(& d->buf, d->modified_fmt, d->index.buf, d->worktree.buf, tmp___4);
  if (selected) {
    tmp___5 = '*';
  } else {
    tmp___5 = ' ';
  }
  printf((char const   *)"%c%2d: %s", tmp___5, i + 1, d->buf.buf);
  return;
}
}
static int run_status(struct add_i_state *s___1 , struct pathspec  const  *ps , struct prefix_item_list *files ,
                      struct list_and_choose_options *opts___1 )
{
  int tmp ;

  {
  tmp = get_modified_files(s___1->r, (enum modified_files_filter )0, files, ps, (size_t *)((void *)0),
                           (size_t *)((void *)0));
  if (tmp < 0) {
    return (-1);
  }
  list(s___1, & files->items, (int *)((void *)0), & opts___1->list_opts);
  putchar('\n');
  return (0);
}
}
static int run_update(struct add_i_state *s___1 , struct pathspec  const  *ps , struct prefix_item_list *files ,
                      struct list_and_choose_options *opts___1 )
{
  int res ;
  int fd ;
  size_t count___0 ;
  size_t i ;
  struct lock_file index_lock___0 ;
  int tmp ;
  ssize_t tmp___0 ;
  char const   *name___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___5 ;

  {
  res = 0;
  tmp = get_modified_files(s___1->r, (enum modified_files_filter )1, files, ps, (size_t *)((void *)0),
                           (size_t *)((void *)0));
  if (tmp < 0) {
    return (-1);
  }
  if (! files->items.nr) {
    putchar('\n');
    return (0);
  }
  opts___1->prompt = (char const   *)"Update";
  tmp___0 = list_and_choose(s___1, files, opts___1);
  count___0 = (size_t )tmp___0;
  if (count___0 <= 0UL) {
    putchar('\n');
    return (0);
  }
  fd = repo_hold_locked_index(s___1->r, & index_lock___0, 4);
  if (fd < 0) {
    putchar('\n');
    return (-1);
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (size_t )files->items.nr)) {
      goto while_break;
    }
    name___0 = (char const   *)(files->items.items + i)->string;
    if (*(files->selected + i)) {
      tmp___2 = add_file_to_index((s___1->r)->index, name___0, 0);
      if (tmp___2 < 0) {
        tmp___1 = _((char const   *)"could not stage \'%s\'");
        error((char const   *)tmp___1, name___0);
        res = const_error();
        goto while_break;
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! res) {
    tmp___4 = write_locked_index((s___1->r)->index, & index_lock___0, 1U);
    if (tmp___4 < 0) {
      tmp___3 = _((char const   *)"could not write index");
      error((char const   *)tmp___3);
      res = const_error();
    }
  }
  if (! res) {
    tmp___5 = Q_((char const   *)"updated %d path\n", (char const   *)"updated %d paths\n",
                 count___0);
    printf((char const   *)tmp___5, (int )count___0);
  }
  putchar('\n');
  return (res);
}
}
static void revert_from_diff(struct diff_queue_struct *q , struct diff_options *opt___0 ,
                             void *data )
{
  int i ;
  int add_flags ;
  struct diff_filespec *one___0 ;
  struct cache_entry *ce ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  add_flags = 3;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break;
    }
    one___0 = (*(q->queue + i))->one;
    if (one___0->mode) {
      tmp___1 = is_null_oid((struct object_id  const  *)(& one___0->oid));
      if (tmp___1) {
        remove_file_from_index((opt___0->repo)->index, (char const   *)one___0->path);
        tmp = _((char const   *)"note: %s is untracked now.\n");
        printf((char const   *)tmp, one___0->path);
      } else {
        ce = make_cache_entry((opt___0->repo)->index, (unsigned int )one___0->mode,
                              (struct object_id  const  *)(& one___0->oid), (char const   *)one___0->path,
                              0, 0U);
        if (! ce) {
          tmp___0 = _((char const   *)"make_cache_entry failed for path \'%s\'");
          die((char const   *)tmp___0, one___0->path);
        }
        add_index_entry((opt___0->repo)->index, ce, add_flags);
      }
    } else {
      remove_file_from_index((opt___0->repo)->index, (char const   *)one___0->path);
      tmp = _((char const   *)"note: %s is untracked now.\n");
      printf((char const   *)tmp, one___0->path);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int run_revert(struct add_i_state *s___1 , struct pathspec  const  *ps , struct prefix_item_list *files ,
                      struct list_and_choose_options *opts___1 )
{
  int res ;
  int fd ;
  size_t count___0 ;
  size_t i ;
  size_t j ;
  struct object_id oid ;
  int is_initial ;
  char const   *tmp ;
  int tmp___0 ;
  struct lock_file index_lock___0 ;
  char const   **paths___0 ;
  struct tree *tree ;
  struct diff_options diffopt ;
  int tmp___1 ;
  ssize_t tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;
  size_t tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___9 ;

  {
  res = 0;
  tmp = resolve_ref_unsafe((char const   *)"HEAD", 0x01, & oid, (int *)((void *)0));
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  is_initial = tmp___0;
  diffopt.orderfile = (char const   *)((void *)0);
  diffopt.rotate_to = (char const   *)0;
  diffopt.skip_instead_of_rotate = 0;
  diffopt.rotate_to_strict = 0;
  diffopt.pickaxe = (char const   *)0;
  diffopt.pickaxe_opts = 0U;
  diffopt.ignore_regex = (regex_t **)0;
  diffopt.ignore_regex_nr = 0UL;
  diffopt.ignore_regex_alloc = 0UL;
  diffopt.single_follow = (char const   *)0;
  diffopt.a_prefix = (char const   *)0;
  diffopt.b_prefix = (char const   *)0;
  diffopt.line_prefix = (char const   *)0;
  diffopt.line_prefix_length = 0UL;
  diffopt.flags.recursive = 0U;
  diffopt.flags.tree_in_recursive = 0U;
  diffopt.flags.binary = 0U;
  diffopt.flags.text = 0U;
  diffopt.flags.full_index = 0U;
  diffopt.flags.silent_on_remove = 0U;
  diffopt.flags.find_copies_harder = 0U;
  diffopt.flags.follow_renames = 0U;
  diffopt.flags.rename_empty = 0U;
  diffopt.flags.has_changes = 0U;
  diffopt.flags.quick = 0U;
  diffopt.flags.no_index = 0U;
  diffopt.flags.allow_external = 0U;
  diffopt.flags.exit_with_status = 0U;
  diffopt.flags.reverse_diff = 0U;
  diffopt.flags.check_failed = 0U;
  diffopt.flags.relative_name = 0U;
  diffopt.flags.ignore_submodules = 0U;
  diffopt.flags.dirstat_cumulative = 0U;
  diffopt.flags.dirstat_by_file = 0U;
  diffopt.flags.allow_textconv = 0U;
  diffopt.flags.textconv_set_via_cmdline = 0U;
  diffopt.flags.diff_from_contents = 0U;
  diffopt.flags.dirty_submodules = 0U;
  diffopt.flags.ignore_untracked_in_submodules = 0U;
  diffopt.flags.ignore_submodule_set = 0U;
  diffopt.flags.ignore_dirty_submodules = 0U;
  diffopt.flags.override_submodule_config = 0U;
  diffopt.flags.dirstat_by_line = 0U;
  diffopt.flags.funccontext = 0U;
  diffopt.flags.default_follow_renames = 0U;
  diffopt.flags.stat_with_summary = 0U;
  diffopt.flags.suppress_diff_headers = 0U;
  diffopt.flags.dual_color_diffed_diffs = 0U;
  diffopt.flags.suppress_hunk_header_line_count = 0U;
  diffopt.filter = 0U;
  diffopt.use_color = 0;
  diffopt.context = 0;
  diffopt.interhunkcontext = 0;
  diffopt.break_opt = 0;
  diffopt.detect_rename = 0;
  diffopt.irreversible_delete = 0;
  diffopt.skip_stat_unmatch = 0;
  diffopt.line_termination = 0;
  diffopt.output_format = 0;
  diffopt.rename_score = 0;
  diffopt.rename_limit = 0;
  diffopt.needed_rename_limit = 0;
  diffopt.degraded_cc_to_c = 0;
  diffopt.show_rename_progress = 0;
  diffopt.dirstat_permille = 0;
  diffopt.setup = 0;
  diffopt.abbrev = 0;
  diffopt.max_changes = 0;
  diffopt.ita_invisible_in_index = 0;
  diffopt.ws_error_highlight = 0U;
  diffopt.prefix = (char const   *)0;
  diffopt.prefix_length = 0;
  diffopt.stat_sep = (char const   *)0;
  diffopt.xdl_opts = 0;
  diffopt.anchors = (char **)0;
  diffopt.anchors_nr = 0UL;
  diffopt.anchors_alloc = 0UL;
  diffopt.stat_width = 0;
  diffopt.stat_name_width = 0;
  diffopt.stat_graph_width = 0;
  diffopt.stat_count = 0;
  diffopt.word_regex = (char const   *)0;
  diffopt.word_diff = 0U;
  diffopt.submodule_format = 0U;
  diffopt.objfind = (struct oidset *)0;
  diffopt.found_changes = 0;
  diffopt.found_follow = 0;
  diffopt.set_default = (void (*)(struct diff_options * ))0;
  diffopt.file = (FILE *)0;
  diffopt.close_file = 0;
  diffopt.output_indicators[0] = (char)0;
  diffopt.output_indicators[1] = (char)0;
  diffopt.output_indicators[2] = (char)0;
  diffopt.pathspec.nr = 0;
  diffopt.pathspec.has_wildcard = 0U;
  diffopt.pathspec.recursive = 0U;
  diffopt.pathspec.recurse_submodules = 0U;
  diffopt.pathspec.magic = 0U;
  diffopt.pathspec.max_depth = 0;
  diffopt.pathspec.items = (struct pathspec_item *)0;
  diffopt.pathchange = (int (*)(struct diff_options *options , struct combine_diff_path *path ))0;
  diffopt.change = (void (*)(struct diff_options *options , unsigned int old_mode ,
                             unsigned int new_mode , struct object_id  const  *old_oid ,
                             struct object_id  const  *new_oid , int old_oid_valid ,
                             int new_oid_valid , char const   *fullpath , unsigned int old_dirty_submodule ,
                             unsigned int new_dirty_submodule ))0;
  diffopt.add_remove = (void (*)(struct diff_options *options , int addremove , unsigned int mode ,
                                 struct object_id  const  *oid , int oid_valid , char const   *fullpath ,
                                 unsigned int dirty_submodule ))0;
  diffopt.change_fn_data = (void *)0;
  diffopt.format_callback = (void (*)(struct diff_queue_struct *q , struct diff_options *options ,
                                      void *data ))0;
  diffopt.format_callback_data = (void *)0;
  diffopt.output_prefix = (struct strbuf *(*)(struct diff_options *opt , void *data ))0;
  diffopt.output_prefix_data = (void *)0;
  diffopt.diff_path_counter = 0;
  diffopt.emitted_symbols = (struct emitted_diff_symbols *)0;
  diffopt.color_moved = 0U;
  diffopt.color_moved_ws_handling = 0U;
  diffopt.repo = (struct repository *)0;
  diffopt.parseopts = (struct option *)0;
  diffopt.no_free = 0;
  tmp___1 = get_modified_files(s___1->r, (enum modified_files_filter )2, files, ps,
                               (size_t *)((void *)0), (size_t *)((void *)0));
  if (tmp___1 < 0) {
    return (-1);
  }
  if (! files->items.nr) {
    putchar('\n');
    return (0);
  }
  opts___1->prompt = (char const   *)"Revert";
  tmp___2 = list_and_choose(s___1, files, opts___1);
  count___0 = (size_t )tmp___2;
  if (count___0 <= 0UL) {
    goto finish_revert;
  }
  fd = repo_hold_locked_index(s___1->r, & index_lock___0, 4);
  if (fd < 0) {
    res = -1;
    goto finish_revert;
  }
  if (is_initial) {
    oidcpy(& oid, (struct object_id  const  *)((s___1->r)->hash_algo)->empty_tree);
  } else {
    tree = parse_tree_indirect((struct object_id  const  *)(& oid));
    if (! tree) {
      tmp___3 = _((char const   *)"Could not parse HEAD^{tree}");
      error((char const   *)tmp___3);
      res = const_error();
      goto finish_revert;
    }
    oidcpy(& oid, (struct object_id  const  *)(& tree->object.oid));
  }
  tmp___4 = st_mult(sizeof(*paths___0), count___0 + 1UL);
  tmp___5 = xmalloc(tmp___4);
  paths___0 = (char const   **)tmp___5;
  j = (size_t )0;
  i = j;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (size_t )files->items.nr)) {
      goto while_break;
    }
    if (*(files->selected + i)) {
      tmp___6 = j;
      j ++;
      *(paths___0 + tmp___6) = (char const   *)(files->items.items + i)->string;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  *(paths___0 + j) = (char const   *)((void *)0);
  parse_pathspec(& diffopt.pathspec, 0U, (unsigned int )((1 << 1) | (1 << 6)), (char const   *)((void *)0),
                 paths___0);
  diffopt.output_format = 0x1000;
  diffopt.format_callback = & revert_from_diff;
  diffopt.flags.override_submodule_config = 1U;
  diffopt.repo = s___1->r;
  tmp___7 = do_diff_cache((struct object_id  const  *)(& oid), & diffopt);
  if (tmp___7) {
    res = -1;
  } else {
    diffcore_std(& diffopt);
    diff_flush(& diffopt);
  }
  free((void *)paths___0);
  clear_pathspec(& diffopt.pathspec);
  if (! res) {
    tmp___8 = write_locked_index((s___1->r)->index, & index_lock___0, 1U);
    if (tmp___8 < 0) {
      res = -1;
    } else {
      res = repo_refresh_and_write_index(s___1->r, (unsigned int )(1 << 2), 0U, 1,
                                         (struct pathspec  const  *)((void *)0), (char *)((void *)0),
                                         (char const   *)((void *)0));
    }
  } else {
    res = repo_refresh_and_write_index(s___1->r, (unsigned int )(1 << 2), 0U, 1, (struct pathspec  const  *)((void *)0),
                                       (char *)((void *)0), (char const   *)((void *)0));
  }
  if (! res) {
    tmp___9 = Q_((char const   *)"reverted %d path\n", (char const   *)"reverted %d paths\n",
                 count___0);
    printf((char const   *)tmp___9, (int )count___0);
  }
  finish_revert:
  putchar('\n');
  return (res);
}
}
static int get_untracked_files(struct repository *r , struct prefix_item_list *files ,
                               struct pathspec  const  *ps )
{
  struct dir_struct dir ;
  size_t i ;
  struct strbuf buf___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct dir_entry *ent ;
  int tmp___2 ;

  {
  dir.nr = 0;
  dir.alloc = 0;
  dir.ignored_nr = 0;
  dir.ignored_alloc = 0;
  dir.flags = 0U;
  dir.entries = (struct dir_entry **)0;
  dir.ignored = (struct dir_entry **)0;
  dir.exclude_per_dir = (char const   *)0;
  dir.exclude_list_group[0].nr = 0;
  dir.exclude_list_group[0].alloc = 0;
  dir.exclude_list_group[0].pl = (struct pattern_list *)0;
  dir.exclude_list_group[1].nr = 0;
  dir.exclude_list_group[1].alloc = 0;
  dir.exclude_list_group[1].pl = (struct pattern_list *)0;
  dir.exclude_list_group[2].nr = 0;
  dir.exclude_list_group[2].alloc = 0;
  dir.exclude_list_group[2].pl = (struct pattern_list *)0;
  dir.exclude_stack = (struct exclude_stack *)0;
  dir.pattern = (struct path_pattern *)0;
  dir.basebuf.alloc = 0UL;
  dir.basebuf.len = 0UL;
  dir.basebuf.buf = (char *)0;
  dir.untracked = (struct untracked_cache *)0;
  dir.ss_info_exclude.stat.sd_ctime.sec = 0U;
  dir.ss_info_exclude.stat.sd_ctime.nsec = 0U;
  dir.ss_info_exclude.stat.sd_mtime.sec = 0U;
  dir.ss_info_exclude.stat.sd_mtime.nsec = 0U;
  dir.ss_info_exclude.stat.sd_dev = 0U;
  dir.ss_info_exclude.stat.sd_ino = 0U;
  dir.ss_info_exclude.stat.sd_uid = 0U;
  dir.ss_info_exclude.stat.sd_gid = 0U;
  dir.ss_info_exclude.stat.sd_size = 0U;
  dir.ss_info_exclude.oid.hash[0] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[1] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[2] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[3] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[4] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[5] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[6] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[7] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[8] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[9] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[10] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[11] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[12] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[13] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[14] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[15] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[16] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[17] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[18] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[19] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[20] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[21] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[22] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[23] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[24] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[25] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[26] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[27] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[28] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[29] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[30] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[31] = (unsigned char)0;
  dir.ss_info_exclude.oid.algo = 0;
  dir.ss_info_exclude.valid = 0;
  dir.ss_excludes_file.stat.sd_ctime.sec = 0U;
  dir.ss_excludes_file.stat.sd_ctime.nsec = 0U;
  dir.ss_excludes_file.stat.sd_mtime.sec = 0U;
  dir.ss_excludes_file.stat.sd_mtime.nsec = 0U;
  dir.ss_excludes_file.stat.sd_dev = 0U;
  dir.ss_excludes_file.stat.sd_ino = 0U;
  dir.ss_excludes_file.stat.sd_uid = 0U;
  dir.ss_excludes_file.stat.sd_gid = 0U;
  dir.ss_excludes_file.stat.sd_size = 0U;
  dir.ss_excludes_file.oid.hash[0] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[1] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[2] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[3] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[4] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[5] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[6] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[7] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[8] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[9] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[10] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[11] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[12] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[13] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[14] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[15] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[16] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[17] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[18] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[19] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[20] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[21] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[22] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[23] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[24] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[25] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[26] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[27] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[28] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[29] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[30] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[31] = (unsigned char)0;
  dir.ss_excludes_file.oid.algo = 0;
  dir.ss_excludes_file.valid = 0;
  dir.unmanaged_exclude_files = 0U;
  dir.visited_paths = 0U;
  dir.visited_directories = 0U;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp___1 = repo_read_index(r);
  if (tmp___1 < 0) {
    tmp = _((char const   *)"could not read index");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  prefix_item_list_clear(files);
  setup_standard_excludes(& dir);
  add_pattern_list(& dir, 0, (char const   *)"--exclude option");
  fill_directory(& dir, r->index, ps);
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (size_t )dir.nr)) {
      goto while_break;
    }
    ent = *(dir.entries + i);
    tmp___2 = index_name_is_other(r->index, (char const   *)(ent->name), (int )ent->len);
    if (tmp___2) {
      strbuf_setlen(& buf___19, (size_t )0);
      strbuf_add(& buf___19, (void const   *)(ent->name), (size_t )ent->len);
      add_file_item(& files->items, (char const   *)buf___19.buf);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  return (0);
}
}
static int run_add_untracked(struct add_i_state *s___1 , struct pathspec  const  *ps ,
                             struct prefix_item_list *files , struct list_and_choose_options *opts___1 )
{
  struct print_file_item_data *d ;
  int res ;
  int fd ;
  size_t count___0 ;
  size_t i ;
  struct lock_file index_lock___0 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  ssize_t tmp___1 ;
  char const   *name___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___6 ;

  {
  d = (struct print_file_item_data *)opts___1->list_opts.print_item_data;
  res = 0;
  tmp = get_untracked_files(s___1->r, files, ps);
  if (tmp < 0) {
    return (-1);
  }
  if (! files->items.nr) {
    tmp___0 = _((char const   *)"No untracked files.\n");
    printf((char const   *)tmp___0);
    goto finish_add_untracked;
  }
  opts___1->prompt = (char const   *)"Add untracked";
  d->only_names = 1U;
  tmp___1 = list_and_choose(s___1, files, opts___1);
  count___0 = (size_t )tmp___1;
  d->only_names = 0U;
  if (count___0 <= 0UL) {
    goto finish_add_untracked;
  }
  fd = repo_hold_locked_index(s___1->r, & index_lock___0, 4);
  if (fd < 0) {
    res = -1;
    goto finish_add_untracked;
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (size_t )files->items.nr)) {
      goto while_break;
    }
    name___0 = (char const   *)(files->items.items + i)->string;
    if (*(files->selected + i)) {
      tmp___3 = add_file_to_index((s___1->r)->index, name___0, 0);
      if (tmp___3 < 0) {
        tmp___2 = _((char const   *)"could not stage \'%s\'");
        error((char const   *)tmp___2, name___0);
        res = const_error();
        goto while_break;
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! res) {
    tmp___5 = write_locked_index((s___1->r)->index, & index_lock___0, 1U);
    if (tmp___5 < 0) {
      tmp___4 = _((char const   *)"could not write index");
      error((char const   *)tmp___4);
      res = const_error();
    }
  }
  if (! res) {
    tmp___6 = Q_((char const   *)"added %d path\n", (char const   *)"added %d paths\n",
                 count___0);
    printf((char const   *)tmp___6, (int )count___0);
  }
  finish_add_untracked:
  putchar('\n');
  return (res);
}
}
static int run_patch(struct add_i_state *s___1 , struct pathspec  const  *ps , struct prefix_item_list *files ,
                     struct list_and_choose_options *opts___1 )
{
  int res ;
  ssize_t count___0 ;
  ssize_t i ;
  ssize_t j ;
  size_t unmerged_count ;
  size_t binary_count ;
  int tmp ;
  struct file_item *item___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  ssize_t tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  struct strvec args___0 ;
  struct pathspec ps_selected ;

  {
  res = 0;
  unmerged_count = (size_t )0;
  binary_count = (size_t )0;
  tmp = get_modified_files(s___1->r, (enum modified_files_filter )1, files, ps, & unmerged_count,
                           & binary_count);
  if (tmp < 0) {
    return (-1);
  }
  if (unmerged_count) {
    goto _L;
  } else
  if (binary_count) {
    _L: /* CIL Label */
    j = (ssize_t )0;
    i = j;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < (ssize_t )files->items.nr)) {
        goto while_break;
      }
      item___0 = (struct file_item *)(files->items.items + i)->util;
      if (item___0->index.binary) {
        free((void *)item___0);
        free((void *)(files->items.items + i)->string);
      } else
      if (item___0->worktree.binary) {
        free((void *)item___0);
        free((void *)(files->items.items + i)->string);
      } else
      if (item___0->index.unmerged) {
        tmp___0 = _((char const   *)"ignoring unmerged: %s");
        color_fprintf_ln(stderr, (char const   *)(s___1->error_color), (char const   *)tmp___0,
                         (files->items.items + i)->string);
        free((void *)item___0);
        free((void *)(files->items.items + i)->string);
      } else
      if (item___0->worktree.unmerged) {
        tmp___0 = _((char const   *)"ignoring unmerged: %s");
        color_fprintf_ln(stderr, (char const   *)(s___1->error_color), (char const   *)tmp___0,
                         (files->items.items + i)->string);
        free((void *)item___0);
        free((void *)(files->items.items + i)->string);
      } else {
        tmp___1 = j;
        j ++;
        *(files->items.items + tmp___1) = *(files->items.items + i);
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    files->items.nr = (unsigned int )j;
  }
  if (! files->items.nr) {
    if (binary_count) {
      tmp___2 = _((char const   *)"Only binary files changed.\n");
      fprintf(stderr, (char const   *)tmp___2);
    } else {
      tmp___3 = _((char const   *)"No changes.\n");
      fprintf(stderr, (char const   *)tmp___3);
    }
    return (0);
  }
  opts___1->prompt = (char const   *)"Patch update";
  count___0 = list_and_choose(s___1, files, opts___1);
  if (count___0 > 0L) {
    args___0.v = empty_strvec;
    args___0.nr = 0UL;
    args___0.alloc = 0UL;
    ps_selected.nr = 0;
    ps_selected.has_wildcard = 0U;
    ps_selected.recursive = 0U;
    ps_selected.recurse_submodules = 0U;
    ps_selected.magic = 0U;
    ps_selected.max_depth = 0;
    ps_selected.items = (struct pathspec_item *)0;
    i = (ssize_t )0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < (ssize_t )files->items.nr)) {
        goto while_break___0;
      }
      if (*(files->selected + i)) {
        strvec_push(& args___0, (char const   *)(files->items.items + i)->string);
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    parse_pathspec(& ps_selected, (unsigned int )(((((((1 | (1 << 1)) | (1 << 2)) | (1 << 3)) | (1 << 4)) | (1 << 5)) | (1 << 6)) & ~ (1 << 2)),
                   (unsigned int )(1 << 6), (char const   *)"", args___0.v);
    res = run_add_p(s___1->r, (enum add_p_mode )0, (char const   *)((void *)0), (struct pathspec  const  *)(& ps_selected));
    strvec_clear(& args___0);
    clear_pathspec(& ps_selected);
  }
  return (res);
}
}
static int run_diff(struct add_i_state *s___1 , struct pathspec  const  *ps , struct prefix_item_list *files ,
                    struct list_and_choose_options *opts___1 )
{
  int res ;
  ssize_t count___0 ;
  ssize_t i ;
  struct object_id oid ;
  int is_initial ;
  char const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct strvec args___0 ;
  struct object_id  const  *tmp___2 ;
  char *tmp___3 ;

  {
  res = 0;
  tmp = resolve_ref_unsafe((char const   *)"HEAD", 0x01, & oid, (int *)((void *)0));
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  is_initial = tmp___0;
  tmp___1 = get_modified_files(s___1->r, (enum modified_files_filter )2, files, ps,
                               (size_t *)((void *)0), (size_t *)((void *)0));
  if (tmp___1 < 0) {
    return (-1);
  }
  if (! files->items.nr) {
    putchar('\n');
    return (0);
  }
  opts___1->prompt = (char const   *)"Review diff";
  opts___1->flags = (enum __anonenum_flags_671568596 )2;
  count___0 = list_and_choose(s___1, files, opts___1);
  opts___1->flags = (enum __anonenum_flags_671568596 )0;
  if (count___0 > 0L) {
    args___0.v = empty_strvec;
    args___0.nr = 0UL;
    args___0.alloc = 0UL;
    if (! is_initial) {
      tmp___2 = (struct object_id  const  *)(& oid);
    } else {
      tmp___2 = (struct object_id  const  *)((s___1->r)->hash_algo)->empty_tree;
    }
    tmp___3 = oid_to_hex(tmp___2);
    strvec_pushl(& args___0, "git", "diff", "-p", "--cached", tmp___3, "--", (void *)0);
    i = (ssize_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < (ssize_t )files->items.nr)) {
        goto while_break;
      }
      if (*(files->selected + i)) {
        strvec_push(& args___0, (char const   *)(files->items.items + i)->string);
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    res = run_command_v_opt(args___0.v, 0);
    strvec_clear(& args___0);
  }
  putchar('\n');
  return (res);
}
}
static int run_help(struct add_i_state *s___1 , struct pathspec  const  *unused_ps ,
                    struct prefix_item_list *unused_files , struct list_and_choose_options *unused_opts )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  tmp = _((char const   *)"show paths with changes");
  color_fprintf_ln(stdout, (char const   *)(s___1->help_color), (char const   *)"status        - %s",
                   tmp);
  tmp___0 = _((char const   *)"add working tree state to the staged set of changes");
  color_fprintf_ln(stdout, (char const   *)(s___1->help_color), (char const   *)"update        - %s",
                   tmp___0);
  tmp___1 = _((char const   *)"revert staged set of changes back to the HEAD version");
  color_fprintf_ln(stdout, (char const   *)(s___1->help_color), (char const   *)"revert        - %s",
                   tmp___1);
  tmp___2 = _((char const   *)"pick hunks and update selectively");
  color_fprintf_ln(stdout, (char const   *)(s___1->help_color), (char const   *)"patch         - %s",
                   tmp___2);
  tmp___3 = _((char const   *)"view diff between HEAD and index");
  color_fprintf_ln(stdout, (char const   *)(s___1->help_color), (char const   *)"diff          - %s",
                   tmp___3);
  tmp___4 = _((char const   *)"add contents of untracked files to the staged set of changes");
  color_fprintf_ln(stdout, (char const   *)(s___1->help_color), (char const   *)"add untracked - %s",
                   tmp___4);
  return (0);
}
}
static void choose_prompt_help(struct add_i_state *s___1 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;

  {
  tmp = _((char const   *)"Prompt help:");
  color_fprintf_ln(stdout, (char const   *)(s___1->help_color), (char const   *)"%s",
                   tmp);
  tmp___0 = _((char const   *)"select a single item");
  color_fprintf_ln(stdout, (char const   *)(s___1->help_color), (char const   *)"1          - %s",
                   tmp___0);
  tmp___1 = _((char const   *)"select a range of items");
  color_fprintf_ln(stdout, (char const   *)(s___1->help_color), (char const   *)"3-5        - %s",
                   tmp___1);
  tmp___2 = _((char const   *)"select multiple ranges");
  color_fprintf_ln(stdout, (char const   *)(s___1->help_color), (char const   *)"2-3,6-9    - %s",
                   tmp___2);
  tmp___3 = _((char const   *)"select item based on unique prefix");
  color_fprintf_ln(stdout, (char const   *)(s___1->help_color), (char const   *)"foo        - %s",
                   tmp___3);
  tmp___4 = _((char const   *)"unselect specified items");
  color_fprintf_ln(stdout, (char const   *)(s___1->help_color), (char const   *)"-...       - %s",
                   tmp___4);
  tmp___5 = _((char const   *)"choose all items");
  color_fprintf_ln(stdout, (char const   *)(s___1->help_color), (char const   *)"*          - %s",
                   tmp___5);
  tmp___6 = _((char const   *)"(empty) finish selecting");
  color_fprintf_ln(stdout, (char const   *)(s___1->help_color), (char const   *)"           - %s",
                   tmp___6);
  return;
}
}
static void print_command_item(int i , int selected , struct string_list_item *item___0 ,
                               void *print_command_item_data )
{
  struct print_command_item_data *d ;
  struct command_item *util ;
  int tmp ;

  {
  d = (struct print_command_item_data *)print_command_item_data;
  util = (struct command_item *)item___0->util;
  if (! util->prefix_length) {
    printf((char const   *)" %2d: %s", i + 1, item___0->string);
  } else {
    tmp = is_valid_prefix((char const   *)item___0->string, util->prefix_length);
    if (tmp) {
      printf((char const   *)" %2d: %s%.*s%s%s", i + 1, d->color, (int )util->prefix_length,
             item___0->string, d->reset, item___0->string + util->prefix_length);
    } else {
      printf((char const   *)" %2d: %s", i + 1, item___0->string);
    }
  }
  return;
}
}
static void command_prompt_help(struct add_i_state *s___1 )
{
  char const   *help_color ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  help_color = (char const   *)(s___1->help_color);
  tmp = _((char const   *)"Prompt help:");
  color_fprintf_ln(stdout, help_color, (char const   *)"%s", tmp);
  tmp___0 = _((char const   *)"select a numbered item");
  color_fprintf_ln(stdout, help_color, (char const   *)"1          - %s", tmp___0);
  tmp___1 = _((char const   *)"select item based on unique prefix");
  color_fprintf_ln(stdout, help_color, (char const   *)"foo        - %s", tmp___1);
  tmp___2 = _((char const   *)"(empty) select nothing");
  color_fprintf_ln(stdout, help_color, (char const   *)"           - %s", tmp___2);
  return;
}
}
int run_add_i(struct repository *r , struct pathspec  const  *ps )
{
  struct add_i_state s___1 ;
  struct print_command_item_data data ;
  struct list_and_choose_options main_loop_opts ;
  struct __anonstruct_command_list_249381109 command_list___0[8] ;
  struct prefix_item_list commands___2 ;
  struct print_file_item_data print_file_item_data ;
  struct list_and_choose_options opts___1 ;
  struct strbuf header___0 ;
  struct prefix_item_list files ;
  ssize_t i ;
  int res ;
  struct command_item *util ;
  void *tmp ;
  struct string_list_item *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  struct command_item *util___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;

  {
  s___1.r = (struct repository *)((void *)0);
  s___1.use_color = 0;
  s___1.header_color[0] = (char)0;
  s___1.header_color[1] = (char)0;
  s___1.header_color[2] = (char)0;
  s___1.header_color[3] = (char)0;
  s___1.header_color[4] = (char)0;
  s___1.header_color[5] = (char)0;
  s___1.header_color[6] = (char)0;
  s___1.header_color[7] = (char)0;
  s___1.header_color[8] = (char)0;
  s___1.header_color[9] = (char)0;
  s___1.header_color[10] = (char)0;
  s___1.header_color[11] = (char)0;
  s___1.header_color[12] = (char)0;
  s___1.header_color[13] = (char)0;
  s___1.header_color[14] = (char)0;
  s___1.header_color[15] = (char)0;
  s___1.header_color[16] = (char)0;
  s___1.header_color[17] = (char)0;
  s___1.header_color[18] = (char)0;
  s___1.header_color[19] = (char)0;
  s___1.header_color[20] = (char)0;
  s___1.header_color[21] = (char)0;
  s___1.header_color[22] = (char)0;
  s___1.header_color[23] = (char)0;
  s___1.header_color[24] = (char)0;
  s___1.header_color[25] = (char)0;
  s___1.header_color[26] = (char)0;
  s___1.header_color[27] = (char)0;
  s___1.header_color[28] = (char)0;
  s___1.header_color[29] = (char)0;
  s___1.header_color[30] = (char)0;
  s___1.header_color[31] = (char)0;
  s___1.header_color[32] = (char)0;
  s___1.header_color[33] = (char)0;
  s___1.header_color[34] = (char)0;
  s___1.header_color[35] = (char)0;
  s___1.header_color[36] = (char)0;
  s___1.header_color[37] = (char)0;
  s___1.header_color[38] = (char)0;
  s___1.header_color[39] = (char)0;
  s___1.header_color[40] = (char)0;
  s___1.header_color[41] = (char)0;
  s___1.header_color[42] = (char)0;
  s___1.header_color[43] = (char)0;
  s___1.header_color[44] = (char)0;
  s___1.header_color[45] = (char)0;
  s___1.header_color[46] = (char)0;
  s___1.header_color[47] = (char)0;
  s___1.header_color[48] = (char)0;
  s___1.header_color[49] = (char)0;
  s___1.header_color[50] = (char)0;
  s___1.header_color[51] = (char)0;
  s___1.header_color[52] = (char)0;
  s___1.header_color[53] = (char)0;
  s___1.header_color[54] = (char)0;
  s___1.header_color[55] = (char)0;
  s___1.header_color[56] = (char)0;
  s___1.header_color[57] = (char)0;
  s___1.header_color[58] = (char)0;
  s___1.header_color[59] = (char)0;
  s___1.header_color[60] = (char)0;
  s___1.header_color[61] = (char)0;
  s___1.header_color[62] = (char)0;
  s___1.header_color[63] = (char)0;
  s___1.header_color[64] = (char)0;
  s___1.header_color[65] = (char)0;
  s___1.header_color[66] = (char)0;
  s___1.header_color[67] = (char)0;
  s___1.header_color[68] = (char)0;
  s___1.header_color[69] = (char)0;
  s___1.header_color[70] = (char)0;
  s___1.header_color[71] = (char)0;
  s___1.header_color[72] = (char)0;
  s___1.header_color[73] = (char)0;
  s___1.header_color[74] = (char)0;
  s___1.help_color[0] = (char)0;
  s___1.help_color[1] = (char)0;
  s___1.help_color[2] = (char)0;
  s___1.help_color[3] = (char)0;
  s___1.help_color[4] = (char)0;
  s___1.help_color[5] = (char)0;
  s___1.help_color[6] = (char)0;
  s___1.help_color[7] = (char)0;
  s___1.help_color[8] = (char)0;
  s___1.help_color[9] = (char)0;
  s___1.help_color[10] = (char)0;
  s___1.help_color[11] = (char)0;
  s___1.help_color[12] = (char)0;
  s___1.help_color[13] = (char)0;
  s___1.help_color[14] = (char)0;
  s___1.help_color[15] = (char)0;
  s___1.help_color[16] = (char)0;
  s___1.help_color[17] = (char)0;
  s___1.help_color[18] = (char)0;
  s___1.help_color[19] = (char)0;
  s___1.help_color[20] = (char)0;
  s___1.help_color[21] = (char)0;
  s___1.help_color[22] = (char)0;
  s___1.help_color[23] = (char)0;
  s___1.help_color[24] = (char)0;
  s___1.help_color[25] = (char)0;
  s___1.help_color[26] = (char)0;
  s___1.help_color[27] = (char)0;
  s___1.help_color[28] = (char)0;
  s___1.help_color[29] = (char)0;
  s___1.help_color[30] = (char)0;
  s___1.help_color[31] = (char)0;
  s___1.help_color[32] = (char)0;
  s___1.help_color[33] = (char)0;
  s___1.help_color[34] = (char)0;
  s___1.help_color[35] = (char)0;
  s___1.help_color[36] = (char)0;
  s___1.help_color[37] = (char)0;
  s___1.help_color[38] = (char)0;
  s___1.help_color[39] = (char)0;
  s___1.help_color[40] = (char)0;
  s___1.help_color[41] = (char)0;
  s___1.help_color[42] = (char)0;
  s___1.help_color[43] = (char)0;
  s___1.help_color[44] = (char)0;
  s___1.help_color[45] = (char)0;
  s___1.help_color[46] = (char)0;
  s___1.help_color[47] = (char)0;
  s___1.help_color[48] = (char)0;
  s___1.help_color[49] = (char)0;
  s___1.help_color[50] = (char)0;
  s___1.help_color[51] = (char)0;
  s___1.help_color[52] = (char)0;
  s___1.help_color[53] = (char)0;
  s___1.help_color[54] = (char)0;
  s___1.help_color[55] = (char)0;
  s___1.help_color[56] = (char)0;
  s___1.help_color[57] = (char)0;
  s___1.help_color[58] = (char)0;
  s___1.help_color[59] = (char)0;
  s___1.help_color[60] = (char)0;
  s___1.help_color[61] = (char)0;
  s___1.help_color[62] = (char)0;
  s___1.help_color[63] = (char)0;
  s___1.help_color[64] = (char)0;
  s___1.help_color[65] = (char)0;
  s___1.help_color[66] = (char)0;
  s___1.help_color[67] = (char)0;
  s___1.help_color[68] = (char)0;
  s___1.help_color[69] = (char)0;
  s___1.help_color[70] = (char)0;
  s___1.help_color[71] = (char)0;
  s___1.help_color[72] = (char)0;
  s___1.help_color[73] = (char)0;
  s___1.help_color[74] = (char)0;
  s___1.prompt_color[0] = (char)0;
  s___1.prompt_color[1] = (char)0;
  s___1.prompt_color[2] = (char)0;
  s___1.prompt_color[3] = (char)0;
  s___1.prompt_color[4] = (char)0;
  s___1.prompt_color[5] = (char)0;
  s___1.prompt_color[6] = (char)0;
  s___1.prompt_color[7] = (char)0;
  s___1.prompt_color[8] = (char)0;
  s___1.prompt_color[9] = (char)0;
  s___1.prompt_color[10] = (char)0;
  s___1.prompt_color[11] = (char)0;
  s___1.prompt_color[12] = (char)0;
  s___1.prompt_color[13] = (char)0;
  s___1.prompt_color[14] = (char)0;
  s___1.prompt_color[15] = (char)0;
  s___1.prompt_color[16] = (char)0;
  s___1.prompt_color[17] = (char)0;
  s___1.prompt_color[18] = (char)0;
  s___1.prompt_color[19] = (char)0;
  s___1.prompt_color[20] = (char)0;
  s___1.prompt_color[21] = (char)0;
  s___1.prompt_color[22] = (char)0;
  s___1.prompt_color[23] = (char)0;
  s___1.prompt_color[24] = (char)0;
  s___1.prompt_color[25] = (char)0;
  s___1.prompt_color[26] = (char)0;
  s___1.prompt_color[27] = (char)0;
  s___1.prompt_color[28] = (char)0;
  s___1.prompt_color[29] = (char)0;
  s___1.prompt_color[30] = (char)0;
  s___1.prompt_color[31] = (char)0;
  s___1.prompt_color[32] = (char)0;
  s___1.prompt_color[33] = (char)0;
  s___1.prompt_color[34] = (char)0;
  s___1.prompt_color[35] = (char)0;
  s___1.prompt_color[36] = (char)0;
  s___1.prompt_color[37] = (char)0;
  s___1.prompt_color[38] = (char)0;
  s___1.prompt_color[39] = (char)0;
  s___1.prompt_color[40] = (char)0;
  s___1.prompt_color[41] = (char)0;
  s___1.prompt_color[42] = (char)0;
  s___1.prompt_color[43] = (char)0;
  s___1.prompt_color[44] = (char)0;
  s___1.prompt_color[45] = (char)0;
  s___1.prompt_color[46] = (char)0;
  s___1.prompt_color[47] = (char)0;
  s___1.prompt_color[48] = (char)0;
  s___1.prompt_color[49] = (char)0;
  s___1.prompt_color[50] = (char)0;
  s___1.prompt_color[51] = (char)0;
  s___1.prompt_color[52] = (char)0;
  s___1.prompt_color[53] = (char)0;
  s___1.prompt_color[54] = (char)0;
  s___1.prompt_color[55] = (char)0;
  s___1.prompt_color[56] = (char)0;
  s___1.prompt_color[57] = (char)0;
  s___1.prompt_color[58] = (char)0;
  s___1.prompt_color[59] = (char)0;
  s___1.prompt_color[60] = (char)0;
  s___1.prompt_color[61] = (char)0;
  s___1.prompt_color[62] = (char)0;
  s___1.prompt_color[63] = (char)0;
  s___1.prompt_color[64] = (char)0;
  s___1.prompt_color[65] = (char)0;
  s___1.prompt_color[66] = (char)0;
  s___1.prompt_color[67] = (char)0;
  s___1.prompt_color[68] = (char)0;
  s___1.prompt_color[69] = (char)0;
  s___1.prompt_color[70] = (char)0;
  s___1.prompt_color[71] = (char)0;
  s___1.prompt_color[72] = (char)0;
  s___1.prompt_color[73] = (char)0;
  s___1.prompt_color[74] = (char)0;
  s___1.error_color[0] = (char)0;
  s___1.error_color[1] = (char)0;
  s___1.error_color[2] = (char)0;
  s___1.error_color[3] = (char)0;
  s___1.error_color[4] = (char)0;
  s___1.error_color[5] = (char)0;
  s___1.error_color[6] = (char)0;
  s___1.error_color[7] = (char)0;
  s___1.error_color[8] = (char)0;
  s___1.error_color[9] = (char)0;
  s___1.error_color[10] = (char)0;
  s___1.error_color[11] = (char)0;
  s___1.error_color[12] = (char)0;
  s___1.error_color[13] = (char)0;
  s___1.error_color[14] = (char)0;
  s___1.error_color[15] = (char)0;
  s___1.error_color[16] = (char)0;
  s___1.error_color[17] = (char)0;
  s___1.error_color[18] = (char)0;
  s___1.error_color[19] = (char)0;
  s___1.error_color[20] = (char)0;
  s___1.error_color[21] = (char)0;
  s___1.error_color[22] = (char)0;
  s___1.error_color[23] = (char)0;
  s___1.error_color[24] = (char)0;
  s___1.error_color[25] = (char)0;
  s___1.error_color[26] = (char)0;
  s___1.error_color[27] = (char)0;
  s___1.error_color[28] = (char)0;
  s___1.error_color[29] = (char)0;
  s___1.error_color[30] = (char)0;
  s___1.error_color[31] = (char)0;
  s___1.error_color[32] = (char)0;
  s___1.error_color[33] = (char)0;
  s___1.error_color[34] = (char)0;
  s___1.error_color[35] = (char)0;
  s___1.error_color[36] = (char)0;
  s___1.error_color[37] = (char)0;
  s___1.error_color[38] = (char)0;
  s___1.error_color[39] = (char)0;
  s___1.error_color[40] = (char)0;
  s___1.error_color[41] = (char)0;
  s___1.error_color[42] = (char)0;
  s___1.error_color[43] = (char)0;
  s___1.error_color[44] = (char)0;
  s___1.error_color[45] = (char)0;
  s___1.error_color[46] = (char)0;
  s___1.error_color[47] = (char)0;
  s___1.error_color[48] = (char)0;
  s___1.error_color[49] = (char)0;
  s___1.error_color[50] = (char)0;
  s___1.error_color[51] = (char)0;
  s___1.error_color[52] = (char)0;
  s___1.error_color[53] = (char)0;
  s___1.error_color[54] = (char)0;
  s___1.error_color[55] = (char)0;
  s___1.error_color[56] = (char)0;
  s___1.error_color[57] = (char)0;
  s___1.error_color[58] = (char)0;
  s___1.error_color[59] = (char)0;
  s___1.error_color[60] = (char)0;
  s___1.error_color[61] = (char)0;
  s___1.error_color[62] = (char)0;
  s___1.error_color[63] = (char)0;
  s___1.error_color[64] = (char)0;
  s___1.error_color[65] = (char)0;
  s___1.error_color[66] = (char)0;
  s___1.error_color[67] = (char)0;
  s___1.error_color[68] = (char)0;
  s___1.error_color[69] = (char)0;
  s___1.error_color[70] = (char)0;
  s___1.error_color[71] = (char)0;
  s___1.error_color[72] = (char)0;
  s___1.error_color[73] = (char)0;
  s___1.error_color[74] = (char)0;
  s___1.reset_color[0] = (char)0;
  s___1.reset_color[1] = (char)0;
  s___1.reset_color[2] = (char)0;
  s___1.reset_color[3] = (char)0;
  s___1.reset_color[4] = (char)0;
  s___1.reset_color[5] = (char)0;
  s___1.reset_color[6] = (char)0;
  s___1.reset_color[7] = (char)0;
  s___1.reset_color[8] = (char)0;
  s___1.reset_color[9] = (char)0;
  s___1.reset_color[10] = (char)0;
  s___1.reset_color[11] = (char)0;
  s___1.reset_color[12] = (char)0;
  s___1.reset_color[13] = (char)0;
  s___1.reset_color[14] = (char)0;
  s___1.reset_color[15] = (char)0;
  s___1.reset_color[16] = (char)0;
  s___1.reset_color[17] = (char)0;
  s___1.reset_color[18] = (char)0;
  s___1.reset_color[19] = (char)0;
  s___1.reset_color[20] = (char)0;
  s___1.reset_color[21] = (char)0;
  s___1.reset_color[22] = (char)0;
  s___1.reset_color[23] = (char)0;
  s___1.reset_color[24] = (char)0;
  s___1.reset_color[25] = (char)0;
  s___1.reset_color[26] = (char)0;
  s___1.reset_color[27] = (char)0;
  s___1.reset_color[28] = (char)0;
  s___1.reset_color[29] = (char)0;
  s___1.reset_color[30] = (char)0;
  s___1.reset_color[31] = (char)0;
  s___1.reset_color[32] = (char)0;
  s___1.reset_color[33] = (char)0;
  s___1.reset_color[34] = (char)0;
  s___1.reset_color[35] = (char)0;
  s___1.reset_color[36] = (char)0;
  s___1.reset_color[37] = (char)0;
  s___1.reset_color[38] = (char)0;
  s___1.reset_color[39] = (char)0;
  s___1.reset_color[40] = (char)0;
  s___1.reset_color[41] = (char)0;
  s___1.reset_color[42] = (char)0;
  s___1.reset_color[43] = (char)0;
  s___1.reset_color[44] = (char)0;
  s___1.reset_color[45] = (char)0;
  s___1.reset_color[46] = (char)0;
  s___1.reset_color[47] = (char)0;
  s___1.reset_color[48] = (char)0;
  s___1.reset_color[49] = (char)0;
  s___1.reset_color[50] = (char)0;
  s___1.reset_color[51] = (char)0;
  s___1.reset_color[52] = (char)0;
  s___1.reset_color[53] = (char)0;
  s___1.reset_color[54] = (char)0;
  s___1.reset_color[55] = (char)0;
  s___1.reset_color[56] = (char)0;
  s___1.reset_color[57] = (char)0;
  s___1.reset_color[58] = (char)0;
  s___1.reset_color[59] = (char)0;
  s___1.reset_color[60] = (char)0;
  s___1.reset_color[61] = (char)0;
  s___1.reset_color[62] = (char)0;
  s___1.reset_color[63] = (char)0;
  s___1.reset_color[64] = (char)0;
  s___1.reset_color[65] = (char)0;
  s___1.reset_color[66] = (char)0;
  s___1.reset_color[67] = (char)0;
  s___1.reset_color[68] = (char)0;
  s___1.reset_color[69] = (char)0;
  s___1.reset_color[70] = (char)0;
  s___1.reset_color[71] = (char)0;
  s___1.reset_color[72] = (char)0;
  s___1.reset_color[73] = (char)0;
  s___1.reset_color[74] = (char)0;
  s___1.fraginfo_color[0] = (char)0;
  s___1.fraginfo_color[1] = (char)0;
  s___1.fraginfo_color[2] = (char)0;
  s___1.fraginfo_color[3] = (char)0;
  s___1.fraginfo_color[4] = (char)0;
  s___1.fraginfo_color[5] = (char)0;
  s___1.fraginfo_color[6] = (char)0;
  s___1.fraginfo_color[7] = (char)0;
  s___1.fraginfo_color[8] = (char)0;
  s___1.fraginfo_color[9] = (char)0;
  s___1.fraginfo_color[10] = (char)0;
  s___1.fraginfo_color[11] = (char)0;
  s___1.fraginfo_color[12] = (char)0;
  s___1.fraginfo_color[13] = (char)0;
  s___1.fraginfo_color[14] = (char)0;
  s___1.fraginfo_color[15] = (char)0;
  s___1.fraginfo_color[16] = (char)0;
  s___1.fraginfo_color[17] = (char)0;
  s___1.fraginfo_color[18] = (char)0;
  s___1.fraginfo_color[19] = (char)0;
  s___1.fraginfo_color[20] = (char)0;
  s___1.fraginfo_color[21] = (char)0;
  s___1.fraginfo_color[22] = (char)0;
  s___1.fraginfo_color[23] = (char)0;
  s___1.fraginfo_color[24] = (char)0;
  s___1.fraginfo_color[25] = (char)0;
  s___1.fraginfo_color[26] = (char)0;
  s___1.fraginfo_color[27] = (char)0;
  s___1.fraginfo_color[28] = (char)0;
  s___1.fraginfo_color[29] = (char)0;
  s___1.fraginfo_color[30] = (char)0;
  s___1.fraginfo_color[31] = (char)0;
  s___1.fraginfo_color[32] = (char)0;
  s___1.fraginfo_color[33] = (char)0;
  s___1.fraginfo_color[34] = (char)0;
  s___1.fraginfo_color[35] = (char)0;
  s___1.fraginfo_color[36] = (char)0;
  s___1.fraginfo_color[37] = (char)0;
  s___1.fraginfo_color[38] = (char)0;
  s___1.fraginfo_color[39] = (char)0;
  s___1.fraginfo_color[40] = (char)0;
  s___1.fraginfo_color[41] = (char)0;
  s___1.fraginfo_color[42] = (char)0;
  s___1.fraginfo_color[43] = (char)0;
  s___1.fraginfo_color[44] = (char)0;
  s___1.fraginfo_color[45] = (char)0;
  s___1.fraginfo_color[46] = (char)0;
  s___1.fraginfo_color[47] = (char)0;
  s___1.fraginfo_color[48] = (char)0;
  s___1.fraginfo_color[49] = (char)0;
  s___1.fraginfo_color[50] = (char)0;
  s___1.fraginfo_color[51] = (char)0;
  s___1.fraginfo_color[52] = (char)0;
  s___1.fraginfo_color[53] = (char)0;
  s___1.fraginfo_color[54] = (char)0;
  s___1.fraginfo_color[55] = (char)0;
  s___1.fraginfo_color[56] = (char)0;
  s___1.fraginfo_color[57] = (char)0;
  s___1.fraginfo_color[58] = (char)0;
  s___1.fraginfo_color[59] = (char)0;
  s___1.fraginfo_color[60] = (char)0;
  s___1.fraginfo_color[61] = (char)0;
  s___1.fraginfo_color[62] = (char)0;
  s___1.fraginfo_color[63] = (char)0;
  s___1.fraginfo_color[64] = (char)0;
  s___1.fraginfo_color[65] = (char)0;
  s___1.fraginfo_color[66] = (char)0;
  s___1.fraginfo_color[67] = (char)0;
  s___1.fraginfo_color[68] = (char)0;
  s___1.fraginfo_color[69] = (char)0;
  s___1.fraginfo_color[70] = (char)0;
  s___1.fraginfo_color[71] = (char)0;
  s___1.fraginfo_color[72] = (char)0;
  s___1.fraginfo_color[73] = (char)0;
  s___1.fraginfo_color[74] = (char)0;
  s___1.context_color[0] = (char)0;
  s___1.context_color[1] = (char)0;
  s___1.context_color[2] = (char)0;
  s___1.context_color[3] = (char)0;
  s___1.context_color[4] = (char)0;
  s___1.context_color[5] = (char)0;
  s___1.context_color[6] = (char)0;
  s___1.context_color[7] = (char)0;
  s___1.context_color[8] = (char)0;
  s___1.context_color[9] = (char)0;
  s___1.context_color[10] = (char)0;
  s___1.context_color[11] = (char)0;
  s___1.context_color[12] = (char)0;
  s___1.context_color[13] = (char)0;
  s___1.context_color[14] = (char)0;
  s___1.context_color[15] = (char)0;
  s___1.context_color[16] = (char)0;
  s___1.context_color[17] = (char)0;
  s___1.context_color[18] = (char)0;
  s___1.context_color[19] = (char)0;
  s___1.context_color[20] = (char)0;
  s___1.context_color[21] = (char)0;
  s___1.context_color[22] = (char)0;
  s___1.context_color[23] = (char)0;
  s___1.context_color[24] = (char)0;
  s___1.context_color[25] = (char)0;
  s___1.context_color[26] = (char)0;
  s___1.context_color[27] = (char)0;
  s___1.context_color[28] = (char)0;
  s___1.context_color[29] = (char)0;
  s___1.context_color[30] = (char)0;
  s___1.context_color[31] = (char)0;
  s___1.context_color[32] = (char)0;
  s___1.context_color[33] = (char)0;
  s___1.context_color[34] = (char)0;
  s___1.context_color[35] = (char)0;
  s___1.context_color[36] = (char)0;
  s___1.context_color[37] = (char)0;
  s___1.context_color[38] = (char)0;
  s___1.context_color[39] = (char)0;
  s___1.context_color[40] = (char)0;
  s___1.context_color[41] = (char)0;
  s___1.context_color[42] = (char)0;
  s___1.context_color[43] = (char)0;
  s___1.context_color[44] = (char)0;
  s___1.context_color[45] = (char)0;
  s___1.context_color[46] = (char)0;
  s___1.context_color[47] = (char)0;
  s___1.context_color[48] = (char)0;
  s___1.context_color[49] = (char)0;
  s___1.context_color[50] = (char)0;
  s___1.context_color[51] = (char)0;
  s___1.context_color[52] = (char)0;
  s___1.context_color[53] = (char)0;
  s___1.context_color[54] = (char)0;
  s___1.context_color[55] = (char)0;
  s___1.context_color[56] = (char)0;
  s___1.context_color[57] = (char)0;
  s___1.context_color[58] = (char)0;
  s___1.context_color[59] = (char)0;
  s___1.context_color[60] = (char)0;
  s___1.context_color[61] = (char)0;
  s___1.context_color[62] = (char)0;
  s___1.context_color[63] = (char)0;
  s___1.context_color[64] = (char)0;
  s___1.context_color[65] = (char)0;
  s___1.context_color[66] = (char)0;
  s___1.context_color[67] = (char)0;
  s___1.context_color[68] = (char)0;
  s___1.context_color[69] = (char)0;
  s___1.context_color[70] = (char)0;
  s___1.context_color[71] = (char)0;
  s___1.context_color[72] = (char)0;
  s___1.context_color[73] = (char)0;
  s___1.context_color[74] = (char)0;
  s___1.file_old_color[0] = (char)0;
  s___1.file_old_color[1] = (char)0;
  s___1.file_old_color[2] = (char)0;
  s___1.file_old_color[3] = (char)0;
  s___1.file_old_color[4] = (char)0;
  s___1.file_old_color[5] = (char)0;
  s___1.file_old_color[6] = (char)0;
  s___1.file_old_color[7] = (char)0;
  s___1.file_old_color[8] = (char)0;
  s___1.file_old_color[9] = (char)0;
  s___1.file_old_color[10] = (char)0;
  s___1.file_old_color[11] = (char)0;
  s___1.file_old_color[12] = (char)0;
  s___1.file_old_color[13] = (char)0;
  s___1.file_old_color[14] = (char)0;
  s___1.file_old_color[15] = (char)0;
  s___1.file_old_color[16] = (char)0;
  s___1.file_old_color[17] = (char)0;
  s___1.file_old_color[18] = (char)0;
  s___1.file_old_color[19] = (char)0;
  s___1.file_old_color[20] = (char)0;
  s___1.file_old_color[21] = (char)0;
  s___1.file_old_color[22] = (char)0;
  s___1.file_old_color[23] = (char)0;
  s___1.file_old_color[24] = (char)0;
  s___1.file_old_color[25] = (char)0;
  s___1.file_old_color[26] = (char)0;
  s___1.file_old_color[27] = (char)0;
  s___1.file_old_color[28] = (char)0;
  s___1.file_old_color[29] = (char)0;
  s___1.file_old_color[30] = (char)0;
  s___1.file_old_color[31] = (char)0;
  s___1.file_old_color[32] = (char)0;
  s___1.file_old_color[33] = (char)0;
  s___1.file_old_color[34] = (char)0;
  s___1.file_old_color[35] = (char)0;
  s___1.file_old_color[36] = (char)0;
  s___1.file_old_color[37] = (char)0;
  s___1.file_old_color[38] = (char)0;
  s___1.file_old_color[39] = (char)0;
  s___1.file_old_color[40] = (char)0;
  s___1.file_old_color[41] = (char)0;
  s___1.file_old_color[42] = (char)0;
  s___1.file_old_color[43] = (char)0;
  s___1.file_old_color[44] = (char)0;
  s___1.file_old_color[45] = (char)0;
  s___1.file_old_color[46] = (char)0;
  s___1.file_old_color[47] = (char)0;
  s___1.file_old_color[48] = (char)0;
  s___1.file_old_color[49] = (char)0;
  s___1.file_old_color[50] = (char)0;
  s___1.file_old_color[51] = (char)0;
  s___1.file_old_color[52] = (char)0;
  s___1.file_old_color[53] = (char)0;
  s___1.file_old_color[54] = (char)0;
  s___1.file_old_color[55] = (char)0;
  s___1.file_old_color[56] = (char)0;
  s___1.file_old_color[57] = (char)0;
  s___1.file_old_color[58] = (char)0;
  s___1.file_old_color[59] = (char)0;
  s___1.file_old_color[60] = (char)0;
  s___1.file_old_color[61] = (char)0;
  s___1.file_old_color[62] = (char)0;
  s___1.file_old_color[63] = (char)0;
  s___1.file_old_color[64] = (char)0;
  s___1.file_old_color[65] = (char)0;
  s___1.file_old_color[66] = (char)0;
  s___1.file_old_color[67] = (char)0;
  s___1.file_old_color[68] = (char)0;
  s___1.file_old_color[69] = (char)0;
  s___1.file_old_color[70] = (char)0;
  s___1.file_old_color[71] = (char)0;
  s___1.file_old_color[72] = (char)0;
  s___1.file_old_color[73] = (char)0;
  s___1.file_old_color[74] = (char)0;
  s___1.file_new_color[0] = (char)0;
  s___1.file_new_color[1] = (char)0;
  s___1.file_new_color[2] = (char)0;
  s___1.file_new_color[3] = (char)0;
  s___1.file_new_color[4] = (char)0;
  s___1.file_new_color[5] = (char)0;
  s___1.file_new_color[6] = (char)0;
  s___1.file_new_color[7] = (char)0;
  s___1.file_new_color[8] = (char)0;
  s___1.file_new_color[9] = (char)0;
  s___1.file_new_color[10] = (char)0;
  s___1.file_new_color[11] = (char)0;
  s___1.file_new_color[12] = (char)0;
  s___1.file_new_color[13] = (char)0;
  s___1.file_new_color[14] = (char)0;
  s___1.file_new_color[15] = (char)0;
  s___1.file_new_color[16] = (char)0;
  s___1.file_new_color[17] = (char)0;
  s___1.file_new_color[18] = (char)0;
  s___1.file_new_color[19] = (char)0;
  s___1.file_new_color[20] = (char)0;
  s___1.file_new_color[21] = (char)0;
  s___1.file_new_color[22] = (char)0;
  s___1.file_new_color[23] = (char)0;
  s___1.file_new_color[24] = (char)0;
  s___1.file_new_color[25] = (char)0;
  s___1.file_new_color[26] = (char)0;
  s___1.file_new_color[27] = (char)0;
  s___1.file_new_color[28] = (char)0;
  s___1.file_new_color[29] = (char)0;
  s___1.file_new_color[30] = (char)0;
  s___1.file_new_color[31] = (char)0;
  s___1.file_new_color[32] = (char)0;
  s___1.file_new_color[33] = (char)0;
  s___1.file_new_color[34] = (char)0;
  s___1.file_new_color[35] = (char)0;
  s___1.file_new_color[36] = (char)0;
  s___1.file_new_color[37] = (char)0;
  s___1.file_new_color[38] = (char)0;
  s___1.file_new_color[39] = (char)0;
  s___1.file_new_color[40] = (char)0;
  s___1.file_new_color[41] = (char)0;
  s___1.file_new_color[42] = (char)0;
  s___1.file_new_color[43] = (char)0;
  s___1.file_new_color[44] = (char)0;
  s___1.file_new_color[45] = (char)0;
  s___1.file_new_color[46] = (char)0;
  s___1.file_new_color[47] = (char)0;
  s___1.file_new_color[48] = (char)0;
  s___1.file_new_color[49] = (char)0;
  s___1.file_new_color[50] = (char)0;
  s___1.file_new_color[51] = (char)0;
  s___1.file_new_color[52] = (char)0;
  s___1.file_new_color[53] = (char)0;
  s___1.file_new_color[54] = (char)0;
  s___1.file_new_color[55] = (char)0;
  s___1.file_new_color[56] = (char)0;
  s___1.file_new_color[57] = (char)0;
  s___1.file_new_color[58] = (char)0;
  s___1.file_new_color[59] = (char)0;
  s___1.file_new_color[60] = (char)0;
  s___1.file_new_color[61] = (char)0;
  s___1.file_new_color[62] = (char)0;
  s___1.file_new_color[63] = (char)0;
  s___1.file_new_color[64] = (char)0;
  s___1.file_new_color[65] = (char)0;
  s___1.file_new_color[66] = (char)0;
  s___1.file_new_color[67] = (char)0;
  s___1.file_new_color[68] = (char)0;
  s___1.file_new_color[69] = (char)0;
  s___1.file_new_color[70] = (char)0;
  s___1.file_new_color[71] = (char)0;
  s___1.file_new_color[72] = (char)0;
  s___1.file_new_color[73] = (char)0;
  s___1.file_new_color[74] = (char)0;
  s___1.use_single_key = 0;
  s___1.interactive_diff_filter = (char *)0;
  s___1.interactive_diff_algorithm = (char *)0;
  data.color = (char const   *)"[";
  data.reset = (char const   *)"]";
  main_loop_opts.list_opts.columns = 4;
  main_loop_opts.list_opts.header = (char const   *)"*** Commands ***";
  main_loop_opts.list_opts.print_item = & print_command_item;
  main_loop_opts.list_opts.print_item_data = (void *)(& data);
  main_loop_opts.prompt = (char const   *)"What now";
  main_loop_opts.flags = (enum __anonenum_flags_671568596 )3;
  main_loop_opts.print_help = & command_prompt_help;
  command_list___0[0].string = (char const   *)"status";
  command_list___0[0].command = & run_status;
  command_list___0[1].string = (char const   *)"update";
  command_list___0[1].command = & run_update;
  command_list___0[2].string = (char const   *)"revert";
  command_list___0[2].command = & run_revert;
  command_list___0[3].string = (char const   *)"add untracked";
  command_list___0[3].command = & run_add_untracked;
  command_list___0[4].string = (char const   *)"patch";
  command_list___0[4].command = & run_patch;
  command_list___0[5].string = (char const   *)"diff";
  command_list___0[5].command = & run_diff;
  command_list___0[6].string = (char const   *)"quit";
  command_list___0[6].command = (int (*)(struct add_i_state *s , struct pathspec  const  *ps ,
                                         struct prefix_item_list *files , struct list_and_choose_options *opts ))((void *)0);
  command_list___0[7].string = (char const   *)"help";
  command_list___0[7].command = & run_help;
  commands___2.items.items = (struct string_list_item *)0;
  commands___2.items.nr = 0U;
  commands___2.items.alloc = 0U;
  commands___2.items.strdup_strings = 1U;
  commands___2.items.cmp = (int (*)(char const   * , char const   * ))0;
  commands___2.sorted.items = (struct string_list_item *)0;
  commands___2.sorted.nr = 0U;
  commands___2.sorted.alloc = 0U;
  commands___2.sorted.strdup_strings = 0U;
  commands___2.sorted.cmp = (int (*)(char const   * , char const   * ))0;
  commands___2.selected = (int *)0;
  commands___2.min_length = (size_t )1;
  commands___2.max_length = (size_t )4;
  print_file_item_data.modified_fmt = (char const   *)"%12s %12s %s";
  print_file_item_data.color = (char const   *)((void *)0);
  print_file_item_data.reset = (char const   *)((void *)0);
  print_file_item_data.buf.alloc = 0UL;
  print_file_item_data.buf.len = 0UL;
  print_file_item_data.buf.buf = strbuf_slopbuf;
  print_file_item_data.name.alloc = 0UL;
  print_file_item_data.name.len = 0UL;
  print_file_item_data.name.buf = strbuf_slopbuf;
  print_file_item_data.index.alloc = 0UL;
  print_file_item_data.index.len = 0UL;
  print_file_item_data.index.buf = strbuf_slopbuf;
  print_file_item_data.worktree.alloc = 0UL;
  print_file_item_data.worktree.len = 0UL;
  print_file_item_data.worktree.buf = strbuf_slopbuf;
  print_file_item_data.only_names = 0U;
  opts___1.list_opts.columns = 0;
  opts___1.list_opts.header = (char const   *)((void *)0);
  opts___1.list_opts.print_item = & print_file_item;
  opts___1.list_opts.print_item_data = (void *)(& print_file_item_data);
  opts___1.prompt = (char const   *)((void *)0);
  opts___1.flags = (enum __anonenum_flags_671568596 )0;
  opts___1.print_help = & choose_prompt_help;
  header___0.alloc = 0UL;
  header___0.len = 0UL;
  header___0.buf = strbuf_slopbuf;
  files.items.items = (struct string_list_item *)0;
  files.items.nr = 0U;
  files.items.alloc = 0U;
  files.items.strdup_strings = 1U;
  files.items.cmp = (int (*)(char const   * , char const   * ))0;
  files.sorted.items = (struct string_list_item *)0;
  files.sorted.nr = 0U;
  files.sorted.alloc = 0U;
  files.sorted.strdup_strings = 0U;
  files.sorted.cmp = (int (*)(char const   * , char const   * ))0;
  files.selected = (int *)0;
  files.min_length = (size_t )1;
  files.max_length = (size_t )4;
  res = 0;
  i = (ssize_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(command_list___0) / sizeof(command_list___0[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp = xcalloc((size_t )1, sizeof(*util));
    util = (struct command_item *)tmp;
    util->command = command_list___0[i].command;
    tmp___0 = string_list_append(& commands___2.items, command_list___0[i].string);
    tmp___0->util = (void *)util;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  init_add_i_state(& s___1, r);
  if (s___1.use_color) {
    data.color = (char const   *)(s___1.prompt_color);
    data.reset = (char const   *)(s___1.reset_color);
  }
  print_file_item_data.color = data.color;
  print_file_item_data.reset = data.reset;
  strbuf_addstr(& header___0, (char const   *)"     ");
  tmp___1 = _((char const   *)"path");
  tmp___2 = _((char const   *)"unstaged");
  tmp___3 = _((char const   *)"staged");
  strbuf_addf(& header___0, print_file_item_data.modified_fmt, tmp___3, tmp___2, tmp___1);
  opts___1.list_opts.header = (char const   *)header___0.buf;
  tmp___5 = discard_index(r->index);
  if (tmp___5 < 0) {
    tmp___4 = _((char const   *)"could not refresh index");
    warning((char const   *)tmp___4);
  } else {
    tmp___6 = repo_read_index(r);
    if (tmp___6 < 0) {
      tmp___4 = _((char const   *)"could not refresh index");
      warning((char const   *)tmp___4);
    } else {
      tmp___7 = repo_refresh_and_write_index(r, (unsigned int )(1 << 2), 0U, 1, (struct pathspec  const  *)((void *)0),
                                             (char *)((void *)0), (char const   *)((void *)0));
      if (tmp___7 < 0) {
        tmp___4 = _((char const   *)"could not refresh index");
        warning((char const   *)tmp___4);
      }
    }
  }
  res = run_status(& s___1, ps, & files, & opts___1);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    i = list_and_choose(& s___1, & commands___2, & main_loop_opts);
    if (i < 0L) {
      util___0 = (struct command_item *)((void *)0);
    } else
    if (i >= (ssize_t )commands___2.items.nr) {
      util___0 = (struct command_item *)((void *)0);
    } else {
      util___0 = (struct command_item *)(commands___2.items.items + i)->util;
    }
    if (i == -2L) {
      tmp___8 = _((char const   *)"Bye.\n");
      printf((char const   *)tmp___8);
      res = 0;
      goto while_break___0;
    } else
    if (util___0) {
      if (! util___0->command) {
        tmp___8 = _((char const   *)"Bye.\n");
        printf((char const   *)tmp___8);
        res = 0;
        goto while_break___0;
      }
    }
    if (util___0) {
      res = (*(util___0->command))(& s___1, ps, & files, & opts___1);
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  prefix_item_list_clear(& files);
  strbuf_release(& print_file_item_data.buf);
  strbuf_release(& print_file_item_data.name);
  strbuf_release(& print_file_item_data.index);
  strbuf_release(& print_file_item_data.worktree);
  strbuf_release(& header___0);
  prefix_item_list_clear(& commands___2);
  clear_add_i_state(& s___1);
  return (res);
}
}
static double const   __ac_HASH_UPPER___3  =    (double const   )0.77;
__inline static void kh_resize_oid_set___3(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___3(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___3 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___3 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___3(kh_oid_set_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___3(kh_oid_set_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___3(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___3(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___3(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___3(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___3 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___3 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___3(kh_oid_map_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___3(kh_oid_map_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___3(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___3(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___3(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___3(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___3 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___3 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___3(kh_oid_pos_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___3(kh_oid_pos_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___3(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___3(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
int save_term(int full_duplex ) ;
void restore_term(void) ;
char *git_terminal_prompt(char const   *prompt , int echo ) ;
int read_key_without_echo(struct strbuf *buf___19 ) ;
static struct patch_mode patch_mode_add  =
     {{(char const   *)"diff-files", (char const   *)((void *)0)}, {(char const   *)"--cached",
                                                                  (char const   *)((void *)0)},
    {(char const   *)"--cached", (char const   *)((void *)0)}, 0U, 0U, 0U, {(char const   *)"Stage mode change [y,n,q,a,d%s,?]? ",
                                                                            (char const   *)"Stage deletion [y,n,q,a,d%s,?]? ",
                                                                            (char const   *)"Stage addition [y,n,q,a,d%s,?]? ",
                                                                            (char const   *)"Stage this hunk [y,n,q,a,d%s,?]? "},
    (char const   *)"If the patch applies cleanly, the edited hunk will immediately be marked for staging.",
    (char const   *)"y - stage this hunk\nn - do not stage this hunk\nq - quit; do not stage this hunk or any of the remaining ones\na - stage this hunk and all later hunks in the file\nd - do not stage this hunk or any of the later hunks in the file\n"};
static struct patch_mode patch_mode_stash  =
     {{(char const   *)"diff-index", (char const   *)"HEAD", (char const   *)((void *)0)},
    {(char const   *)"--cached", (char const   *)((void *)0)}, {(char const   *)"--cached",
                                                                (char const   *)((void *)0)},
    0U, 0U, 0U, {(char const   *)"Stash mode change [y,n,q,a,d%s,?]? ", (char const   *)"Stash deletion [y,n,q,a,d%s,?]? ",
                 (char const   *)"Stash addition [y,n,q,a,d%s,?]? ", (char const   *)"Stash this hunk [y,n,q,a,d%s,?]? "},
    (char const   *)"If the patch applies cleanly, the edited hunk will immediately be marked for stashing.",
    (char const   *)"y - stash this hunk\nn - do not stash this hunk\nq - quit; do not stash this hunk or any of the remaining ones\na - stash this hunk and all later hunks in the file\nd - do not stash this hunk or any of the later hunks in the file\n"};
static struct patch_mode patch_mode_reset_head  =
     {{(char const   *)"diff-index", (char const   *)"--cached", (char const   *)((void *)0)},
    {(char const   *)"-R", (char const   *)"--cached", (char const   *)((void *)0)},
    {(char const   *)"-R", (char const   *)"--cached", (char const   *)((void *)0)},
    1U, 1U, 0U, {(char const   *)"Unstage mode change [y,n,q,a,d%s,?]? ", (char const   *)"Unstage deletion [y,n,q,a,d%s,?]? ",
                 (char const   *)"Unstage addition [y,n,q,a,d%s,?]? ", (char const   *)"Unstage this hunk [y,n,q,a,d%s,?]? "},
    (char const   *)"If the patch applies cleanly, the edited hunk will immediately be marked for unstaging.",
    (char const   *)"y - unstage this hunk\nn - do not unstage this hunk\nq - quit; do not unstage this hunk or any of the remaining ones\na - unstage this hunk and all later hunks in the file\nd - do not unstage this hunk or any of the later hunks in the file\n"};
static struct patch_mode patch_mode_reset_nothead  =
     {{(char const   *)"diff-index", (char const   *)"-R", (char const   *)"--cached",
     (char const   *)((void *)0)}, {(char const   *)"--cached", (char const   *)((void *)0)},
    {(char const   *)"--cached", (char const   *)((void *)0)}, 0U, 1U, 0U, {(char const   *)"Apply mode change to index [y,n,q,a,d%s,?]? ",
                                                                            (char const   *)"Apply deletion to index [y,n,q,a,d%s,?]? ",
                                                                            (char const   *)"Apply addition to index [y,n,q,a,d%s,?]? ",
                                                                            (char const   *)"Apply this hunk to index [y,n,q,a,d%s,?]? "},
    (char const   *)"If the patch applies cleanly, the edited hunk will immediately be marked for applying.",
    (char const   *)"y - apply this hunk to index\nn - do not apply this hunk to index\nq - quit; do not apply this hunk or any of the remaining ones\na - apply this hunk and all later hunks in the file\nd - do not apply this hunk or any of the later hunks in the file\n"};
static struct patch_mode patch_mode_checkout_index  =
     {{(char const   *)"diff-files", (char const   *)((void *)0)}, {(char const   *)"-R",
                                                                  (char const   *)((void *)0)},
    {(char const   *)"-R", (char const   *)((void *)0)}, 1U, 0U, 0U, {(char const   *)"Discard mode change from worktree [y,n,q,a,d%s,?]? ",
                                                                      (char const   *)"Discard deletion from worktree [y,n,q,a,d%s,?]? ",
                                                                      (char const   *)"Discard addition from worktree [y,n,q,a,d%s,?]? ",
                                                                      (char const   *)"Discard this hunk from worktree [y,n,q,a,d%s,?]? "},
    (char const   *)"If the patch applies cleanly, the edited hunk will immediately be marked for discarding.",
    (char const   *)"y - discard this hunk from worktree\nn - do not discard this hunk from worktree\nq - quit; do not discard this hunk or any of the remaining ones\na - discard this hunk and all later hunks in the file\nd - do not discard this hunk or any of the later hunks in the file\n"};
static struct patch_mode patch_mode_checkout_head  =
     {{(char const   *)"diff-index", (char const   *)((void *)0)}, {(char const   *)0,
                                                                  (char const   *)0,
                                                                  (char const   *)0,
                                                                  (char const   *)0},
    {(char const   *)"-R", (char const   *)((void *)0)}, 1U, 0U, 1U, {(char const   *)"Discard mode change from index and worktree [y,n,q,a,d%s,?]? ",
                                                                      (char const   *)"Discard deletion from index and worktree [y,n,q,a,d%s,?]? ",
                                                                      (char const   *)"Discard addition from index and worktree [y,n,q,a,d%s,?]? ",
                                                                      (char const   *)"Discard this hunk from index and worktree [y,n,q,a,d%s,?]? "},
    (char const   *)"If the patch applies cleanly, the edited hunk will immediately be marked for discarding.",
    (char const   *)"y - discard this hunk from index and worktree\nn - do not discard this hunk from index and worktree\nq - quit; do not discard this hunk or any of the remaining ones\na - discard this hunk and all later hunks in the file\nd - do not discard this hunk or any of the later hunks in the file\n"};
static struct patch_mode patch_mode_checkout_nothead  =
     {{(char const   *)"diff-index", (char const   *)"-R", (char const   *)((void *)0)},
    {(char const   *)0, (char const   *)0, (char const   *)0, (char const   *)0},
    {(char const   *)((void *)0)}, 0U, 0U, 1U, {(char const   *)"Apply mode change to index and worktree [y,n,q,a,d%s,?]? ",
                                                (char const   *)"Apply deletion to index and worktree [y,n,q,a,d%s,?]? ",
                                                (char const   *)"Apply addition to index and worktree [y,n,q,a,d%s,?]? ",
                                                (char const   *)"Apply this hunk to index and worktree [y,n,q,a,d%s,?]? "},
    (char const   *)"If the patch applies cleanly, the edited hunk will immediately be marked for applying.",
    (char const   *)"y - apply this hunk to index and worktree\nn - do not apply this hunk to index and worktree\nq - quit; do not apply this hunk or any of the remaining ones\na - apply this hunk and all later hunks in the file\nd - do not apply this hunk or any of the later hunks in the file\n"};
static struct patch_mode patch_mode_worktree_head  =
     {{(char const   *)"diff-index", (char const   *)((void *)0)}, {(char const   *)"-R",
                                                                  (char const   *)((void *)0)},
    {(char const   *)"-R", (char const   *)((void *)0)}, 1U, 0U, 0U, {(char const   *)"Discard mode change from index and worktree [y,n,q,a,d%s,?]? ",
                                                                      (char const   *)"Discard deletion from index and worktree [y,n,q,a,d%s,?]? ",
                                                                      (char const   *)"Discard addition from index and worktree [y,n,q,a,d%s,?]? ",
                                                                      (char const   *)"Discard this hunk from index and worktree [y,n,q,a,d%s,?]? "},
    (char const   *)"If the patch applies cleanly, the edited hunk will immediately be marked for discarding.",
    (char const   *)"y - discard this hunk from worktree\nn - do not discard this hunk from worktree\nq - quit; do not discard this hunk or any of the remaining ones\na - discard this hunk and all later hunks in the file\nd - do not discard this hunk or any of the later hunks in the file\n"};
static struct patch_mode patch_mode_worktree_nothead  =
     {{(char const   *)"diff-index", (char const   *)"-R", (char const   *)((void *)0)},
    {(char const   *)((void *)0)}, {(char const   *)((void *)0)}, 0U, 0U, 0U, {(char const   *)"Apply mode change to index and worktree [y,n,q,a,d%s,?]? ",
                                                                               (char const   *)"Apply deletion to index and worktree [y,n,q,a,d%s,?]? ",
                                                                               (char const   *)"Apply addition to index and worktree [y,n,q,a,d%s,?]? ",
                                                                               (char const   *)"Apply this hunk to index and worktree [y,n,q,a,d%s,?]? "},
    (char const   *)"If the patch applies cleanly, the edited hunk will immediately be marked for applying.",
    (char const   *)"y - apply this hunk to worktree\nn - do not apply this hunk to worktree\nq - quit; do not apply this hunk or any of the remaining ones\na - apply this hunk and all later hunks in the file\nd - do not apply this hunk or any of the later hunks in the file\n"};
static void add_p_state_clear(struct add_p_state *s___1 )
{
  size_t i ;

  {
  strbuf_release(& s___1->answer);
  strbuf_release(& s___1->buf);
  strbuf_release(& s___1->plain);
  strbuf_release(& s___1->colored);
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->file_diff_nr)) {
      goto while_break;
    }
    free((void *)(s___1->file_diff + i)->hunk);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)s___1->file_diff);
  clear_add_i_state(& s___1->s);
  return;
}
}
static void ( /* format attribute */  err)(struct add_p_state *s___1 , char const   *fmt
                                           , ...)
{
  va_list args___0 ;

  {
  __builtin_va_start(args___0, fmt);
  fputs((char const   * __restrict  )(s___1->s.error_color), (FILE * __restrict  )stderr);
  vfprintf(stderr, fmt, args___0);
  fputs((char const   * __restrict  )(s___1->s.reset_color), (FILE * __restrict  )stderr);
  fputc('\n', stderr);
  __builtin_va_end(args___0);
  return;
}
}
static void setup_child_process(struct add_p_state *s___1 , struct child_process *cp
                                , ...)
{
  va_list ap ;
  char const   *arg ;
  char const   *tmp ;

  {
  __builtin_va_start(ap, cp);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = __builtin_va_arg(ap, char const   *);
    arg = tmp;
    if (! arg) {
      goto while_break;
    }
    strvec_push(& cp->args, arg);
  }
  while_break: /* CIL Label */ ;
  }
  __builtin_va_end(ap);
  cp->git_cmd = 1U;
  strvec_pushf(& cp->env_array, (char const   *)"GIT_INDEX_FILE=%s", (s___1->s.r)->index_file);
  return;
}
}
static int parse_range(char const   **p___0 , unsigned long *offset___2 , unsigned long *count___0 )
{
  char *pend ;
  int tmp ;

  {
  *offset___2 = strtoul((char const   * __restrict  )*p___0, (char ** __restrict  )(& pend),
                        10);
  if ((unsigned long )pend == (unsigned long )*p___0) {
    return (-1);
  }
  if ((int )*pend != 44) {
    *count___0 = 1UL;
    *p___0 = (char const   *)pend;
    return (0);
  }
  *count___0 = strtoul((char const   * __restrict  )(pend + 1), (char ** __restrict  )((char **)p___0),
                       10);
  if ((unsigned long )*p___0 == (unsigned long )(pend + 1)) {
    tmp = -1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static int parse_hunk_header(struct add_p_state *s___1 , struct hunk *hunk )
{
  struct hunk_header *header___0 ;
  char const   *line___0 ;
  char const   *p___0 ;
  char *eol ;
  void *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  size_t tmp___7 ;
  void *tmp___8 ;
  void *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  void *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;

  {
  header___0 = & hunk->header;
  line___0 = (char const   *)(s___1->plain.buf + hunk->start);
  p___0 = line___0;
  tmp = memchr((void const   *)p___0, '\n', s___1->plain.len - hunk->start);
  eol = (char *)tmp;
  if (! eol) {
    eol = s___1->plain.buf + s___1->plain.len;
  }
  tmp___2 = skip_prefix(p___0, (char const   *)"@@ -", & p___0);
  if (tmp___2) {
    tmp___3 = parse_range(& p___0, & header___0->old_offset, & header___0->old_count);
    if (tmp___3 < 0) {
      tmp___0 = _((char const   *)"could not parse hunk header \'%.*s\'");
      error((char const   *)tmp___0, (int )(eol - (char *)line___0), line___0);
      tmp___1 = const_error();
      return (tmp___1);
    } else {
      tmp___4 = skip_prefix(p___0, (char const   *)" +", & p___0);
      if (tmp___4) {
        tmp___5 = parse_range(& p___0, & header___0->new_offset, & header___0->new_count);
        if (tmp___5 < 0) {
          tmp___0 = _((char const   *)"could not parse hunk header \'%.*s\'");
          error((char const   *)tmp___0, (int )(eol - (char *)line___0), line___0);
          tmp___1 = const_error();
          return (tmp___1);
        } else {
          tmp___6 = skip_prefix(p___0, (char const   *)" @@", & p___0);
          if (! tmp___6) {
            tmp___0 = _((char const   *)"could not parse hunk header \'%.*s\'");
            error((char const   *)tmp___0, (int )(eol - (char *)line___0), line___0);
            tmp___1 = const_error();
            return (tmp___1);
          }
        }
      } else {
        tmp___0 = _((char const   *)"could not parse hunk header \'%.*s\'");
        error((char const   *)tmp___0, (int )(eol - (char *)line___0), line___0);
        tmp___1 = const_error();
        return (tmp___1);
      }
    }
  } else {
    tmp___0 = _((char const   *)"could not parse hunk header \'%.*s\'");
    error((char const   *)tmp___0, (int )(eol - (char *)line___0), line___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  hunk->start = (size_t )((eol - s___1->plain.buf) + (long )((int )*eol == 10));
  header___0->extra_start = (size_t )(p___0 - (char const   *)s___1->plain.buf);
  header___0->extra_end = hunk->start;
  if (! s___1->colored.len) {
    tmp___7 = (size_t )0;
    header___0->colored_extra_end = tmp___7;
    header___0->colored_extra_start = tmp___7;
    return (0);
  }
  line___0 = (char const   *)(s___1->colored.buf + hunk->colored_start);
  tmp___8 = memchr((void const   *)line___0, '\n', s___1->colored.len - hunk->colored_start);
  eol = (char *)tmp___8;
  if (! eol) {
    eol = s___1->colored.buf + s___1->colored.len;
  }
  tmp___9 = memmem((void const   *)line___0, (size_t )(eol - (char *)line___0), (void const   *)"@@ -",
                   (size_t )4);
  p___0 = (char const   *)tmp___9;
  if (! p___0) {
    tmp___10 = _((char const   *)"could not parse colored hunk header \'%.*s\'");
    error((char const   *)tmp___10, (int )(eol - (char *)line___0), line___0);
    tmp___11 = const_error();
    return (tmp___11);
  }
  tmp___12 = memmem((void const   *)(p___0 + 4), (size_t )((eol - (char *)p___0) - 4L),
                    (void const   *)" @@", (size_t )3);
  p___0 = (char const   *)tmp___12;
  if (! p___0) {
    tmp___13 = _((char const   *)"could not parse colored hunk header \'%.*s\'");
    error((char const   *)tmp___13, (int )(eol - (char *)line___0), line___0);
    tmp___14 = const_error();
    return (tmp___14);
  }
  hunk->colored_start = (size_t )((eol - s___1->colored.buf) + (long )((int )*eol == 10));
  header___0->colored_extra_start = (size_t )((p___0 + 3) - (char const   *)s___1->colored.buf);
  header___0->colored_extra_end = hunk->colored_start;
  return (0);
}
}
static int is_octal(char const   *p___0 , size_t len___0 )
{
  char const   *tmp ;
  size_t tmp___0 ;

  {
  if (! len___0) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = len___0;
    len___0 --;
    if (! tmp___0) {
      goto while_break;
    }
    if ((int const   )*p___0 < 48) {
      return (0);
    } else {
      tmp = p___0;
      p___0 ++;
      if ((int const   )*tmp > 55) {
        return (0);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static int parse_diff(struct add_p_state *s___1 , struct pathspec  const  *ps )
{
  struct strvec args___0 ;
  char const   *diff_algorithm___0 ;
  struct strbuf *plain ;
  struct strbuf *colored ;
  struct child_process cp ;
  char *p___0 ;
  char *pend ;
  char *colored_p ;
  char *colored_pend ;
  char marker ;
  size_t file_diff_alloc ;
  size_t i ;
  size_t color_arg_index ;
  struct file_diff *file_diff ;
  struct hunk *hunk ;
  int res ;
  struct object_id oid ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  struct child_process colored_cp ;
  char const   *diff_filter ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  struct child_process filter_cp ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  char *eol ;
  void *tmp___13 ;
  char const   *deleted ;
  char const   *mode_change ;
  size_t new_nr ;
  size_t tmp___14 ;
  void *tmp___15 ;
  size_t new_nr___0 ;
  size_t tmp___16 ;
  void *tmp___17 ;
  int tmp___18 ;
  size_t new_nr___1 ;
  size_t tmp___19 ;
  void *tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;
  char *colored_eol ;
  void *tmp___30 ;
  char const __attribute__((__format_arg__(1)))  *tmp___31 ;
  char const __attribute__((__format_arg__(1)))  *tmp___32 ;

  {
  args___0.v = empty_strvec;
  args___0.nr = 0UL;
  args___0.alloc = 0UL;
  diff_algorithm___0 = (char const   *)s___1->s.interactive_diff_algorithm;
  plain = & s___1->plain;
  colored = (struct strbuf *)((void *)0);
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  colored_p = (char *)((void *)0);
  colored_pend = (char *)((void *)0);
  marker = (char )'\000';
  file_diff_alloc = (size_t )0;
  file_diff = (struct file_diff *)((void *)0);
  hunk = (struct hunk *)((void *)0);
  strvec_pushv(& args___0, (s___1->mode)->diff_cmd);
  if (diff_algorithm___0) {
    strvec_pushf(& args___0, (char const   *)"--diff-algorithm=%s", diff_algorithm___0);
  }
  if (s___1->revision) {
    tmp___3 = strcmp((char const   *)"HEAD", s___1->revision);
    if (tmp___3) {
      tmp___2 = s___1->revision;
    } else {
      tmp___4 = repo_get_oid(the_repository, (char const   *)"HEAD", & oid);
      if (tmp___4) {
        tmp___1 = empty_tree_oid_hex();
        tmp___2 = tmp___1;
      } else {
        tmp___2 = s___1->revision;
      }
    }
    strvec_push(& args___0, tmp___2);
  }
  color_arg_index = args___0.nr;
  strvec_pushl(& args___0, "--no-color", "-p", "--", (void *)0);
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (size_t )ps->nr)) {
      goto while_break;
    }
    strvec_push(& args___0, (char const   *)(ps->items + i)->original);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  setup_child_process(s___1, & cp, (void *)0);
  strvec_pushv(& cp.args, args___0.v);
  res = capture_command(& cp, plain, (size_t )0);
  if (res) {
    strvec_clear(& args___0);
    tmp___5 = _((char const   *)"could not parse diff");
    error((char const   *)tmp___5);
    tmp___6 = const_error();
    return (tmp___6);
  }
  if (! plain->len) {
    strvec_clear(& args___0);
    return (0);
  }
  strbuf_complete_line(plain);
  tmp___12 = want_color_fd(1, -1);
  if (tmp___12) {
    colored_cp.args.v = empty_strvec;
    colored_cp.args.nr = 0UL;
    colored_cp.args.alloc = 0UL;
    colored_cp.env_array.v = empty_strvec;
    colored_cp.env_array.nr = 0UL;
    colored_cp.env_array.alloc = 0UL;
    colored_cp.pid = 0;
    colored_cp.trace2_child_id = 0;
    colored_cp.trace2_child_us_start = 0UL;
    colored_cp.trace2_child_class = (char const   *)0;
    colored_cp.trace2_hook_name = (char const   *)0;
    colored_cp.in = 0;
    colored_cp.out = 0;
    colored_cp.err = 0;
    colored_cp.dir = (char const   *)0;
    colored_cp.no_stdin = 0U;
    colored_cp.no_stdout = 0U;
    colored_cp.no_stderr = 0U;
    colored_cp.git_cmd = 0U;
    colored_cp.silent_exec_failure = 0U;
    colored_cp.use_shell = 0U;
    colored_cp.close_object_store = 0U;
    colored_cp.stdout_to_stderr = 0U;
    colored_cp.clean_on_exit = 0U;
    colored_cp.wait_after_clean = 0U;
    colored_cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    colored_cp.clean_on_exit_handler_cbdata = (void *)0;
    diff_filter = (char const   *)s___1->s.interactive_diff_filter;
    setup_child_process(s___1, & colored_cp, (void *)0);
    xsnprintf((char *)*(args___0.v + color_arg_index), (size_t )8, (char const   *)"--color");
    strvec_pushv(& colored_cp.args, args___0.v);
    colored = & s___1->colored;
    res = capture_command(& colored_cp, colored, (size_t )0);
    strvec_clear(& args___0);
    if (res) {
      tmp___7 = _((char const   *)"could not parse colored diff");
      error((char const   *)tmp___7);
      tmp___8 = const_error();
      return (tmp___8);
    }
    if (diff_filter) {
      filter_cp.args.v = empty_strvec;
      filter_cp.args.nr = 0UL;
      filter_cp.args.alloc = 0UL;
      filter_cp.env_array.v = empty_strvec;
      filter_cp.env_array.nr = 0UL;
      filter_cp.env_array.alloc = 0UL;
      filter_cp.pid = 0;
      filter_cp.trace2_child_id = 0;
      filter_cp.trace2_child_us_start = 0UL;
      filter_cp.trace2_child_class = (char const   *)0;
      filter_cp.trace2_hook_name = (char const   *)0;
      filter_cp.in = 0;
      filter_cp.out = 0;
      filter_cp.err = 0;
      filter_cp.dir = (char const   *)0;
      filter_cp.no_stdin = 0U;
      filter_cp.no_stdout = 0U;
      filter_cp.no_stderr = 0U;
      filter_cp.git_cmd = 0U;
      filter_cp.silent_exec_failure = 0U;
      filter_cp.use_shell = 0U;
      filter_cp.close_object_store = 0U;
      filter_cp.stdout_to_stderr = 0U;
      filter_cp.clean_on_exit = 0U;
      filter_cp.wait_after_clean = 0U;
      filter_cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
      filter_cp.clean_on_exit_handler_cbdata = (void *)0;
      setup_child_process(s___1, & filter_cp, diff_filter, (void *)0);
      filter_cp.git_cmd = 0U;
      filter_cp.use_shell = 1U;
      strbuf_setlen(& s___1->buf, (size_t )0);
      tmp___11 = pipe_command(& filter_cp, (char const   *)colored->buf, colored->len,
                              & s___1->buf, colored->len, (struct strbuf *)((void *)0),
                              (size_t )0);
      if (tmp___11 < 0) {
        tmp___9 = _((char const   *)"failed to run \'%s\'");
        error((char const   *)tmp___9, diff_filter);
        tmp___10 = const_error();
        return (tmp___10);
      }
      strbuf_swap(colored, & s___1->buf);
    }
    strbuf_complete_line(colored);
    colored_p = colored->buf;
    colored_pend = colored_p + colored->len;
  }
  strvec_clear(& args___0);
  p___0 = plain->buf;
  pend = p___0 + plain->len;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )p___0 != (unsigned long )pend)) {
      goto while_break___0;
    }
    tmp___13 = memchr((void const   *)p___0, '\n', (size_t )(pend - p___0));
    eol = (char *)tmp___13;
    deleted = (char const   *)((void *)0);
    mode_change = (char const   *)((void *)0);
    if (! eol) {
      eol = pend;
    }
    tmp___29 = starts_with((char const   *)p___0, (char const   *)"diff ");
    if (tmp___29) {
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        new_nr = s___1->file_diff_nr + 1UL;
        if (new_nr < s___1->file_diff_nr) {
          BUG_fl((char const   *)"add-patch.c", 476, (char const   *)"negative growth in ALLOC_GROW_BY");
        }
        {
        while (1) {
          while_continue___2: /* CIL Label */ ;
          if (new_nr > file_diff_alloc) {
            if (((file_diff_alloc + 16UL) * 3UL) / 2UL < new_nr) {
              file_diff_alloc = new_nr;
            } else {
              file_diff_alloc = ((file_diff_alloc + 16UL) * 3UL) / 2UL;
            }
            tmp___14 = st_mult(sizeof(*(s___1->file_diff)), file_diff_alloc);
            tmp___15 = xrealloc((void *)s___1->file_diff, tmp___14);
            s___1->file_diff = (struct file_diff *)tmp___15;
          }
          goto while_break___2;
        }
        while_break___2: /* CIL Label */ ;
        }
        memset((void *)(s___1->file_diff + s___1->file_diff_nr), 0, sizeof(*(s___1->file_diff)));
        s___1->file_diff_nr = new_nr;
        goto while_break___1;
      }
      while_break___1: /* CIL Label */ ;
      }
      file_diff = (s___1->file_diff + s___1->file_diff_nr) - 1;
      hunk = & file_diff->head;
      hunk->start = (size_t )(p___0 - plain->buf);
      if (colored_p) {
        hunk->colored_start = (size_t )(colored_p - colored->buf);
      }
      marker = (char )'\000';
    } else
    if ((unsigned long )p___0 == (unsigned long )plain->buf) {
      BUG_fl((char const   *)"add-patch.c", 485, (char const   *)"diff starts with unexpected line:\n%.*s\n",
             (int )(eol - p___0), p___0);
    } else
    if (! file_diff->deleted) {
      tmp___27 = starts_with((char const   *)p___0, (char const   *)"@@ ");
      if (tmp___27) {
        goto _L___4;
      } else
      if ((unsigned long )hunk == (unsigned long )(& file_diff->head)) {
        tmp___28 = skip_prefix((char const   *)p___0, (char const   *)"deleted file",
                               & deleted);
        if (tmp___28) {
          _L___4: /* CIL Label */
          if ((int )marker == 45) {
            (hunk->splittable_into) ++;
          } else
          if ((int )marker == 43) {
            (hunk->splittable_into) ++;
          }
          {
          while (1) {
            while_continue___3: /* CIL Label */ ;
            new_nr___0 = file_diff->hunk_nr + 1UL;
            if (new_nr___0 < file_diff->hunk_nr) {
              BUG_fl((char const   *)"add-patch.c", 499, (char const   *)"negative growth in ALLOC_GROW_BY");
            }
            {
            while (1) {
              while_continue___4: /* CIL Label */ ;
              if (new_nr___0 > file_diff->hunk_alloc) {
                if (((file_diff->hunk_alloc + 16UL) * 3UL) / 2UL < new_nr___0) {
                  file_diff->hunk_alloc = new_nr___0;
                } else {
                  file_diff->hunk_alloc = ((file_diff->hunk_alloc + 16UL) * 3UL) / 2UL;
                }
                tmp___16 = st_mult(sizeof(*(file_diff->hunk)), file_diff->hunk_alloc);
                tmp___17 = xrealloc((void *)file_diff->hunk, tmp___16);
                file_diff->hunk = (struct hunk *)tmp___17;
              }
              goto while_break___4;
            }
            while_break___4: /* CIL Label */ ;
            }
            memset((void *)(file_diff->hunk + file_diff->hunk_nr), 0, sizeof(*(file_diff->hunk)));
            file_diff->hunk_nr = new_nr___0;
            goto while_break___3;
          }
          while_break___3: /* CIL Label */ ;
          }
          hunk = (file_diff->hunk + file_diff->hunk_nr) - 1;
          hunk->start = (size_t )(p___0 - plain->buf);
          if (colored) {
            hunk->colored_start = (size_t )(colored_p - colored->buf);
          }
          if (deleted) {
            file_diff->deleted = 1U;
          } else {
            tmp___18 = parse_hunk_header(s___1, hunk);
            if (tmp___18 < 0) {
              return (-1);
            }
          }
          marker = *p___0;
        } else {
          goto _L___5;
        }
      } else
      _L___5: /* CIL Label */
      if ((unsigned long )hunk == (unsigned long )(& file_diff->head)) {
        tmp___26 = starts_with((char const   *)p___0, (char const   *)"new file");
        if (tmp___26) {
          file_diff->added = 1U;
        } else {
          goto _L___3;
        }
      } else
      _L___3: /* CIL Label */
      if ((unsigned long )hunk == (unsigned long )(& file_diff->head)) {
        tmp___24 = skip_prefix((char const   *)p___0, (char const   *)"old mode ",
                               & mode_change);
        if (tmp___24) {
          tmp___25 = is_octal(mode_change, (size_t )(eol - (char *)mode_change));
          if (tmp___25) {
            if (file_diff->mode_change) {
              BUG_fl((char const   *)"add-patch.c", 524, (char const   *)"double mode change?\n\n%.*s",
                     (int )(eol - plain->buf), plain->buf);
            }
            if (file_diff->hunk_nr) {
              BUG_fl((char const   *)"add-patch.c", 527, (char const   *)"mode change in the middle?\n\n%.*s",
                     (int )(eol - plain->buf), plain->buf);
            }
            file_diff->mode_change = 1U;
            {
            while (1) {
              while_continue___5: /* CIL Label */ ;
              new_nr___1 = file_diff->hunk_nr + 1UL;
              if (new_nr___1 < file_diff->hunk_nr) {
                BUG_fl((char const   *)"add-patch.c", 535, (char const   *)"negative growth in ALLOC_GROW_BY");
              }
              {
              while (1) {
                while_continue___6: /* CIL Label */ ;
                if (new_nr___1 > file_diff->hunk_alloc) {
                  if (((file_diff->hunk_alloc + 16UL) * 3UL) / 2UL < new_nr___1) {
                    file_diff->hunk_alloc = new_nr___1;
                  } else {
                    file_diff->hunk_alloc = ((file_diff->hunk_alloc + 16UL) * 3UL) / 2UL;
                  }
                  tmp___19 = st_mult(sizeof(*(file_diff->hunk)), file_diff->hunk_alloc);
                  tmp___20 = xrealloc((void *)file_diff->hunk, tmp___19);
                  file_diff->hunk = (struct hunk *)tmp___20;
                }
                goto while_break___6;
              }
              while_break___6: /* CIL Label */ ;
              }
              memset((void *)(file_diff->hunk + file_diff->hunk_nr), 0, sizeof(*(file_diff->hunk)));
              file_diff->hunk_nr = new_nr___1;
              goto while_break___5;
            }
            while_break___5: /* CIL Label */ ;
            }
            (file_diff->hunk)->start = (size_t )(p___0 - plain->buf);
            if (colored_p) {
              (file_diff->hunk)->colored_start = (size_t )(colored_p - colored->buf);
            }
          } else {
            goto _L___2;
          }
        } else {
          goto _L___2;
        }
      } else
      _L___2: /* CIL Label */
      _L___1: /* CIL Label */
      if ((unsigned long )hunk == (unsigned long )(& file_diff->head)) {
        tmp___22 = skip_prefix((char const   *)p___0, (char const   *)"new mode ",
                               & mode_change);
        if (tmp___22) {
          tmp___23 = is_octal(mode_change, (size_t )(eol - (char *)mode_change));
          if (tmp___23) {
            if (! file_diff->mode_change) {
              BUG_fl((char const   *)"add-patch.c", 550, (char const   *)"\'new mode\' without \'old mode\'?\n\n%.*s",
                     (int )(eol - plain->buf), plain->buf);
            }
            if (file_diff->hunk_nr != 1UL) {
              BUG_fl((char const   *)"add-patch.c", 553, (char const   *)"mode change in the middle?\n\n%.*s",
                     (int )(eol - plain->buf), plain->buf);
            }
            if ((size_t )(p___0 - plain->buf) != (file_diff->hunk)->end) {
              BUG_fl((char const   *)"add-patch.c", 557, (char const   *)"\'new mode\' does not immediately follow \'old mode\'?\n\n%.*s",
                     (int )(eol - plain->buf), plain->buf);
            }
          } else {
            goto _L___0;
          }
        } else {
          goto _L___0;
        }
      } else
      _L___0: /* CIL Label */
      _L: /* CIL Label */
      if ((unsigned long )hunk == (unsigned long )(& file_diff->head)) {
        tmp___21 = starts_with((char const   *)p___0, (char const   *)"Binary files ");
        if (tmp___21) {
          file_diff->binary = 1U;
        }
      }
    }
    if ((! (! file_diff->deleted) + ! (! file_diff->added)) + ! (! file_diff->mode_change) > 1) {
      BUG_fl((char const   *)"add-patch.c", 567, (char const   *)"diff can only contain delete *or* add *or* a mode change?!?\n%.*s",
             (int )(eol - (plain->buf + file_diff->head.start)), plain->buf + file_diff->head.start);
    }
    if ((int )marker == 45) {
      goto _L___6;
    } else
    if ((int )marker == 43) {
      _L___6: /* CIL Label */
      if ((int )*p___0 == 32) {
        (hunk->splittable_into) ++;
      }
    }
    if (marker) {
      if ((int )*p___0 != 92) {
        marker = *p___0;
      }
    }
    if ((unsigned long )eol == (unsigned long )pend) {
      p___0 = pend;
    } else {
      p___0 = eol + 1;
    }
    hunk->end = (size_t )(p___0 - plain->buf);
    if (colored) {
      tmp___30 = memchr((void const   *)colored_p, '\n', (size_t )(colored_pend - colored_p));
      colored_eol = (char *)tmp___30;
      if (colored_eol) {
        colored_p = colored_eol + 1;
      } else
      if ((unsigned long )p___0 != (unsigned long )pend) {
        goto mismatched_output;
      } else {
        colored_p = colored_pend;
      }
      hunk->colored_end = (size_t )(colored_p - colored->buf);
    }
    if (mode_change) {
      if (file_diff->hunk_nr != 1UL) {
        BUG_fl((char const   *)"add-patch.c", 594, (char const   *)"mode change in hunk #%d???",
               (int )file_diff->hunk_nr);
      }
      (file_diff->hunk)->end = hunk->end;
      if (colored) {
        (file_diff->hunk)->colored_end = hunk->colored_end;
      }
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  if ((int )marker == 45) {
    (hunk->splittable_into) ++;
  } else
  if ((int )marker == 43) {
    (hunk->splittable_into) ++;
  }
  if ((unsigned long )colored_p != (unsigned long )colored_pend) {
    mismatched_output:
    tmp___31 = _((char const   *)"mismatched output from interactive.diffFilter");
    error((char const   *)tmp___31);
    const_error();
    tmp___32 = _((char const   *)"Your filter must maintain a one-to-one correspondence\nbetween its input and output lines.");
    advise((char const   *)tmp___32);
    return (-1);
  }
  return (0);
}
}
static size_t find_next_line(struct strbuf *sb___6 , size_t offset___2 )
{
  char *eol ;
  void *tmp ;

  {
  if (offset___2 >= sb___6->len) {
    BUG_fl((char const   *)"add-patch.c", 627, (char const   *)"looking for next line beyond buffer (%d >= %d)\n%s",
           (int )offset___2, (int )sb___6->len, sb___6->buf);
  }
  tmp = memchr((void const   *)(sb___6->buf + offset___2), '\n', sb___6->len - offset___2);
  eol = (char *)tmp;
  if (! eol) {
    return (sb___6->len);
  }
  return ((size_t )((eol - sb___6->buf) + 1L));
}
}
static void render_hunk(struct add_p_state *s___1 , struct hunk *hunk , ssize_t delta ,
                        int colored , struct strbuf *out )
{
  struct hunk_header *header___0 ;
  char const   *p___0 ;
  size_t len___0 ;
  unsigned long old_offset ;
  unsigned long new_offset ;

  {
  header___0 = & hunk->header;
  if (hunk->header.old_offset != 0UL) {
    goto _L;
  } else
  if (hunk->header.new_offset != 0UL) {
    _L: /* CIL Label */
    old_offset = header___0->old_offset;
    new_offset = header___0->new_offset;
    if (! colored) {
      p___0 = (char const   *)(s___1->plain.buf + header___0->extra_start);
      len___0 = header___0->extra_end - header___0->extra_start;
    } else {
      strbuf_addstr(out, (char const   *)(s___1->s.fraginfo_color));
      p___0 = (char const   *)(s___1->colored.buf + header___0->colored_extra_start);
      len___0 = header___0->colored_extra_end - header___0->colored_extra_start;
    }
    if ((s___1->mode)->is_reverse) {
      old_offset -= (unsigned long )delta;
    } else {
      new_offset += (unsigned long )delta;
    }
    strbuf_addf(out, (char const   *)"@@ -%lu", old_offset);
    if (header___0->old_count != 1UL) {
      strbuf_addf(out, (char const   *)",%lu", header___0->old_count);
    }
    strbuf_addf(out, (char const   *)" +%lu", new_offset);
    if (header___0->new_count != 1UL) {
      strbuf_addf(out, (char const   *)",%lu", header___0->new_count);
    }
    strbuf_addstr(out, (char const   *)" @@");
    if (len___0) {
      strbuf_add(out, (void const   *)p___0, len___0);
    } else
    if (colored) {
      strbuf_addf(out, (char const   *)"%s\n", s___1->s.reset_color);
    } else {
      strbuf_addch(out, '\n');
    }
  }
  if (colored) {
    strbuf_add(out, (void const   *)(s___1->colored.buf + hunk->colored_start), hunk->colored_end - hunk->colored_start);
  } else {
    strbuf_add(out, (void const   *)(s___1->plain.buf + hunk->start), hunk->end - hunk->start);
  }
  return;
}
}
static void render_diff_header(struct add_p_state *s___1 , struct file_diff *file_diff ,
                               int colored , struct strbuf *out )
{
  int skip_mode_change ;
  int tmp ;
  struct hunk *head___1 ;
  struct hunk *first ;
  char const   *p___0 ;
  char const   *p___1 ;

  {
  if (file_diff->mode_change) {
    if ((unsigned int )(file_diff->hunk)->use != 2U) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  skip_mode_change = tmp;
  head___1 = & file_diff->head;
  first = file_diff->hunk;
  if (! skip_mode_change) {
    render_hunk(s___1, head___1, (ssize_t )0, colored, out);
    return;
  }
  if (colored) {
    p___0 = (char const   *)s___1->colored.buf;
    strbuf_add(out, (void const   *)(p___0 + head___1->colored_start), first->colored_start - head___1->colored_start);
    strbuf_add(out, (void const   *)(p___0 + first->colored_end), head___1->colored_end - first->colored_end);
  } else {
    p___1 = (char const   *)s___1->plain.buf;
    strbuf_add(out, (void const   *)(p___1 + head___1->start), first->start - head___1->start);
    strbuf_add(out, (void const   *)(p___1 + first->end), head___1->end - first->end);
  }
  return;
}
}
static int merge_hunks(struct add_p_state *s___1 , struct file_diff *file_diff , size_t *hunk_index ,
                       int use_all , struct hunk *merged )
{
  size_t i ;
  size_t delta ;
  struct hunk *hunk ;
  struct hunk_header *header___0 ;
  struct hunk_header *next___2 ;
  size_t tmp ;
  char const   *plain ;
  size_t overlapping_line_count ;
  size_t overlap_end ;
  size_t overlap_start ;
  size_t overlap_next ;
  size_t len___0 ;
  size_t j ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  size_t start ;

  {
  i = *hunk_index;
  hunk = file_diff->hunk + i;
  header___0 = & merged->header;
  if (! use_all) {
    if ((unsigned int )hunk->use != 2U) {
      return (0);
    }
  }
  *merged = *hunk;
  tmp = (size_t )0;
  merged->colored_end = tmp;
  merged->colored_start = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i + 1UL < file_diff->hunk_nr)) {
      goto while_break;
    }
    hunk ++;
    next___2 = & hunk->header;
    if (! use_all) {
      if ((unsigned int )hunk->use != 2U) {
        goto while_break;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (header___0->new_offset >= next___2->new_offset + (unsigned long )merged->delta) {
      goto while_break;
    } else
    if (header___0->new_offset + header___0->new_count < next___2->new_offset + (unsigned long )merged->delta) {
      goto while_break;
    }
    if (merged->start < hunk->start) {
      if (merged->end > hunk->start) {
        merged->end = hunk->end;
        merged->colored_end = hunk->colored_end;
        delta = (size_t )0;
      } else {
        goto _L___0;
      }
    } else {
      _L___0: /* CIL Label */
      plain = (char const   *)s___1->plain.buf;
      overlapping_line_count = ((header___0->new_offset + header___0->new_count) - (unsigned long )merged->delta) - next___2->new_offset;
      overlap_end = hunk->start;
      overlap_start = overlap_end;
      j = (size_t )0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (j < overlapping_line_count)) {
          goto while_break___0;
        }
        overlap_next = find_next_line(& s___1->plain, overlap_end);
        if (overlap_next > hunk->end) {
          BUG_fl((char const   *)"add-patch.c", 788, (char const   *)"failed to find %d context lines in:\n%.*s",
                 (int )overlapping_line_count, (int )(hunk->end - hunk->start), plain + hunk->start);
        }
        if ((int const   )*(plain + overlap_end) != 32) {
          tmp___0 = _((char const   *)"expected context line #%d in\n%.*s");
          error((char const   *)tmp___0, (int )(j + 1UL), (int )(hunk->end - hunk->start),
                plain + hunk->start);
          tmp___1 = const_error();
          return (tmp___1);
        }
        overlap_start = overlap_end;
        overlap_end = overlap_next;
        j ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      len___0 = overlap_end - overlap_start;
      if (len___0 > merged->end - merged->start) {
        tmp___2 = _((char const   *)"hunks do not overlap:\n%.*s\n\tdoes not end with:\n%.*s");
        error((char const   *)tmp___2, (int )(merged->end - merged->start), plain + merged->start,
              (int )len___0, plain + overlap_start);
        tmp___3 = const_error();
        return (tmp___3);
      } else {
        tmp___4 = memcmp((void const   *)((plain + merged->end) - len___0), (void const   *)(plain + overlap_start),
                         len___0);
        if (tmp___4) {
          tmp___2 = _((char const   *)"hunks do not overlap:\n%.*s\n\tdoes not end with:\n%.*s");
          error((char const   *)tmp___2, (int )(merged->end - merged->start), plain + merged->start,
                (int )len___0, plain + overlap_start);
          tmp___3 = const_error();
          return (tmp___3);
        }
      }
      if (merged->end != s___1->plain.len) {
        start = s___1->plain.len;
        strbuf_add(& s___1->plain, (void const   *)(plain + merged->start), merged->end - merged->start);
        plain = (char const   *)s___1->plain.buf;
        merged->start = start;
        merged->end = s___1->plain.len;
      }
      strbuf_add(& s___1->plain, (void const   *)(plain + overlap_end), hunk->end - overlap_end);
      merged->end = s___1->plain.len;
      merged->splittable_into += hunk->splittable_into;
      delta = (size_t )merged->delta;
      merged->delta += hunk->delta;
    }
    header___0->old_count = (next___2->old_offset + next___2->old_count) - header___0->old_offset;
    header___0->new_count = ((next___2->new_offset + delta) + next___2->new_count) - header___0->new_offset;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (i == *hunk_index) {
    return (0);
  }
  *hunk_index = i;
  return (1);
}
}
static void reassemble_patch(struct add_p_state *s___1 , struct file_diff *file_diff ,
                             int use_all , struct strbuf *out )
{
  struct hunk *hunk ;
  size_t save_len ;
  size_t i ;
  ssize_t delta ;
  struct hunk merged ;
  int tmp ;

  {
  save_len = s___1->plain.len;
  delta = (ssize_t )0;
  render_diff_header(s___1, file_diff, 0, out);
  i = (size_t )file_diff->mode_change;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < file_diff->hunk_nr)) {
      goto while_break;
    }
    merged.start = (size_t )0;
    merged.end = 0UL;
    merged.colored_start = 0UL;
    merged.colored_end = 0UL;
    merged.splittable_into = 0UL;
    merged.delta = 0L;
    merged.use = 0U;
    merged.header.old_offset = 0UL;
    merged.header.old_count = 0UL;
    merged.header.new_offset = 0UL;
    merged.header.new_count = 0UL;
    merged.header.extra_start = 0UL;
    merged.header.extra_end = 0UL;
    merged.header.colored_extra_start = 0UL;
    merged.header.colored_extra_end = 0UL;
    hunk = file_diff->hunk + i;
    if (! use_all) {
      if ((unsigned int )hunk->use != 2U) {
        delta = (ssize_t )((unsigned long )delta + (hunk->header.old_count - hunk->header.new_count));
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      tmp = merge_hunks(s___1, file_diff, & i, use_all, & merged);
      if (tmp) {
        hunk = & merged;
      }
      render_hunk(s___1, hunk, delta, 0, out);
      strbuf_setlen(& s___1->plain, save_len);
      delta += hunk->delta;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int split_hunk(struct add_p_state *s___1 , struct file_diff *file_diff , size_t hunk_index )
{
  int colored ;
  int first ;
  struct hunk *hunk ;
  size_t splittable_into ;
  size_t end ;
  size_t colored_end ;
  size_t current ;
  size_t colored_current ;
  size_t context_line_count ;
  struct hunk_header remaining ;
  struct hunk_header *header___0 ;
  char marker ;
  char ch___0 ;
  size_t tmp ;
  void *tmp___0 ;
  unsigned long tmp___1 ;
  unsigned long tmp___2 ;

  {
  colored = ! (! s___1->colored.len);
  first = 1;
  hunk = file_diff->hunk + hunk_index;
  colored_current = (size_t )0;
  if (hunk_index >= file_diff->hunk_nr) {
    BUG_fl((char const   *)"add-patch.c", 898, (char const   *)"invalid hunk index: %d (must be >= 0 and < %d)",
           (int )hunk_index, (int )file_diff->hunk_nr);
  }
  if (hunk->splittable_into < 2UL) {
    return (0);
  }
  splittable_into = hunk->splittable_into;
  end = hunk->end;
  colored_end = hunk->colored_end;
  remaining = hunk->header;
  file_diff->hunk_nr += splittable_into - 1UL;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (file_diff->hunk_nr > file_diff->hunk_alloc) {
      if (((file_diff->hunk_alloc + 16UL) * 3UL) / 2UL < file_diff->hunk_nr) {
        file_diff->hunk_alloc = file_diff->hunk_nr;
      } else {
        file_diff->hunk_alloc = ((file_diff->hunk_alloc + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*(file_diff->hunk)), file_diff->hunk_alloc);
      tmp___0 = xrealloc((void *)file_diff->hunk, tmp);
      file_diff->hunk = (struct hunk *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (hunk_index + splittable_into < file_diff->hunk_nr) {
    memmove((void *)((file_diff->hunk + hunk_index) + splittable_into), (void const   *)((file_diff->hunk + hunk_index) + 1),
            ((file_diff->hunk_nr - hunk_index) - splittable_into) * sizeof(*hunk));
  }
  hunk = file_diff->hunk + hunk_index;
  hunk->splittable_into = (size_t )1;
  memset((void *)(hunk + 1), 0, (splittable_into - 1UL) * sizeof(*hunk));
  header___0 = & hunk->header;
  tmp___1 = 0UL;
  header___0->new_count = tmp___1;
  header___0->old_count = tmp___1;
  current = hunk->start;
  if (colored) {
    colored_current = hunk->colored_start;
  }
  marker = (char )'\000';
  context_line_count = (size_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (splittable_into > 1UL)) {
      goto while_break___0;
    }
    ch___0 = *(s___1->plain.buf + current);
    if (! ch___0) {
      BUG_fl((char const   *)"add-patch.c", 933, (char const   *)"buffer overrun while splitting hunks");
    }
    if ((int )marker == 45) {
      goto _L;
    } else
    if ((int )marker == 43) {
      _L: /* CIL Label */
      if ((int )ch___0 == 32) {
        first = 0;
        (hunk + 1)->start = current;
        if (colored) {
          (hunk + 1)->colored_start = colored_current;
        }
        context_line_count = (size_t )0;
      }
    }
    if ((int )marker != 32) {
      goto _L___0;
    } else
    if ((int )ch___0 != 45) {
      if ((int )ch___0 != 43) {
        _L___0: /* CIL Label */
        next_hunk_line:
        if ((int )ch___0 == 92) {
          if (marker) {
            ch___0 = marker;
          } else {
            ch___0 = (char )' ';
          }
        }
        if ((int )ch___0 == 32) {
          context_line_count ++;
        } else
        if ((int )ch___0 == 45) {
          (header___0->old_count) ++;
        } else
        if ((int )ch___0 == 43) {
          (header___0->new_count) ++;
        } else {
          BUG_fl((char const   *)"add-patch.c", 968, (char const   *)"unhandled diff marker: \'%c\'",
                 (int )ch___0);
        }
        marker = ch___0;
        current = find_next_line(& s___1->plain, current);
        if (colored) {
          colored_current = find_next_line(& s___1->colored, colored_current);
        }
        goto while_continue___0;
      }
    }
    if (first) {
      if (header___0->old_count) {
        BUG_fl((char const   *)"add-patch.c", 989, (char const   *)"counts are off: %d/%d",
               (int )header___0->old_count, (int )header___0->new_count);
      } else
      if (header___0->new_count) {
        BUG_fl((char const   *)"add-patch.c", 989, (char const   *)"counts are off: %d/%d",
               (int )header___0->old_count, (int )header___0->new_count);
      }
      header___0->old_count = context_line_count;
      header___0->new_count = context_line_count;
      context_line_count = (size_t )0;
      first = 0;
      goto _L___0;
    }
    remaining.old_offset += header___0->old_count;
    remaining.old_count -= header___0->old_count;
    remaining.new_offset += header___0->new_count;
    remaining.new_count -= header___0->new_count;
    (hunk + 1)->header.old_offset = header___0->old_offset + header___0->old_count;
    (hunk + 1)->header.new_offset = header___0->new_offset + header___0->new_count;
    header___0->old_count += context_line_count;
    header___0->new_count += context_line_count;
    hunk->end = current;
    if (colored) {
      hunk->colored_end = colored_current;
    }
    hunk ++;
    hunk->splittable_into = (size_t )1;
    hunk->use = (hunk + -1)->use;
    header___0 = & hunk->header;
    tmp___2 = context_line_count;
    header___0->new_count = tmp___2;
    header___0->old_count = tmp___2;
    context_line_count = (size_t )0;
    splittable_into --;
    marker = ch___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (header___0->old_offset != remaining.old_offset) {
    BUG_fl((char const   *)"add-patch.c", 1032, (char const   *)"miscounted old_offset: %lu != %lu",
           header___0->old_offset, remaining.old_offset);
  }
  if (header___0->new_offset != remaining.new_offset) {
    BUG_fl((char const   *)"add-patch.c", 1035, (char const   *)"miscounted new_offset: %lu != %lu",
           header___0->new_offset, remaining.new_offset);
  }
  header___0->old_count = remaining.old_count;
  header___0->new_count = remaining.new_count;
  hunk->end = end;
  if (colored) {
    hunk->colored_end = colored_end;
  }
  return (0);
}
}
static void recolor_hunk(struct add_p_state *s___1 , struct hunk *hunk )
{
  char const   *plain ;
  size_t current ;
  size_t eol ;
  size_t next___2 ;
  char *tmp ;
  char *tmp___0 ;

  {
  plain = (char const   *)s___1->plain.buf;
  if (! s___1->colored.len) {
    return;
  }
  hunk->colored_start = s___1->colored.len;
  current = hunk->start;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (current < hunk->end)) {
      goto while_break;
    }
    eol = current;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (eol < hunk->end)) {
        goto while_break___0;
      }
      if ((int const   )*(plain + eol) == 10) {
        goto while_break___0;
      }
      eol ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    next___2 = eol + (size_t )(eol < hunk->end);
    if (eol > current) {
      if ((int const   )*(plain + (eol - 1UL)) == 13) {
        eol --;
      }
    }
    if ((int const   )*(plain + current) == 45) {
      tmp___0 = s___1->s.file_old_color;
    } else {
      if ((int const   )*(plain + current) == 43) {
        tmp = s___1->s.file_new_color;
      } else {
        tmp = s___1->s.context_color;
      }
      tmp___0 = tmp;
    }
    strbuf_addstr(& s___1->colored, (char const   *)tmp___0);
    strbuf_add(& s___1->colored, (void const   *)(plain + current), eol - current);
    strbuf_addstr(& s___1->colored, (char const   *)(s___1->s.reset_color));
    if (next___2 > eol) {
      strbuf_add(& s___1->colored, (void const   *)(plain + eol), next___2 - eol);
    }
    current = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  hunk->colored_end = s___1->colored.len;
  return;
}
}
static int edit_hunk_manually(struct add_p_state *s___1 , struct hunk *hunk )
{
  size_t i ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  size_t next___2 ;
  size_t tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  strbuf_setlen(& s___1->buf, (size_t )0);
  tmp = _((char const   *)"Manual hunk edit mode -- see bottom for a quick guide.\n");
  strbuf_commented_addf(& s___1->buf, (char const   *)tmp);
  render_hunk(s___1, hunk, (ssize_t )0, 0, & s___1->buf);
  if ((s___1->mode)->is_reverse) {
    tmp___0 = '-';
  } else {
    tmp___0 = '+';
  }
  if ((s___1->mode)->is_reverse) {
    tmp___1 = '+';
  } else {
    tmp___1 = '-';
  }
  tmp___2 = _((char const   *)"---\nTo remove \'%c\' lines, make them \' \' lines (context).\nTo remove \'%c\' lines, delete them.\nLines starting with %c will be removed.\n");
  strbuf_commented_addf(& s___1->buf, (char const   *)tmp___2, tmp___1, tmp___0, (int )comment_line_char);
  tmp___3 = _((s___1->mode)->edit_hunk_hint);
  strbuf_commented_addf(& s___1->buf, (char const   *)"%s", tmp___3);
  tmp___4 = _((char const   *)"If it does not apply cleanly, you will be given an opportunity to\nedit again.  If all lines of the hunk are removed, then the edit is\naborted and the hunk is left unchanged.\n");
  strbuf_commented_addf(& s___1->buf, (char const   *)tmp___4);
  tmp___5 = strbuf_edit_interactively(& s___1->buf, (char const   *)"addp-hunk-edit.diff",
                                      (char const   **)((void *)0));
  if (tmp___5 < 0) {
    return (-1);
  }
  hunk->start = s___1->plain.len;
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->buf.len)) {
      goto while_break;
    }
    tmp___6 = find_next_line(& s___1->buf, i);
    next___2 = tmp___6;
    if ((int )*(s___1->buf.buf + i) != (int )comment_line_char) {
      strbuf_add(& s___1->plain, (void const   *)(s___1->buf.buf + i), next___2 - i);
    }
    i = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  hunk->end = s___1->plain.len;
  if (hunk->end == hunk->start) {
    return (0);
  }
  recolor_hunk(s___1, hunk);
  if ((int )*(s___1->plain.buf + hunk->start) == 64) {
    tmp___9 = parse_hunk_header(s___1, hunk);
    if (tmp___9 < 0) {
      tmp___7 = _((char const   *)"could not parse hunk header");
      error((char const   *)tmp___7);
      tmp___8 = const_error();
      return (tmp___8);
    }
  }
  return (1);
}
}
static ssize_t recount_edited_hunk(struct add_p_state *s___1 , struct hunk *hunk ,
                                   size_t orig_old_count , size_t orig_new_count )
{
  struct hunk_header *header___0 ;
  size_t i ;
  unsigned long tmp ;

  {
  header___0 = & hunk->header;
  tmp = 0UL;
  header___0->new_count = tmp;
  header___0->old_count = tmp;
  i = hunk->start;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < hunk->end)) {
      goto while_break;
    }
    {
    if ((int )*(s___1->plain.buf + i) == 45) {
      goto case_45;
    }
    if ((int )*(s___1->plain.buf + i) == 43) {
      goto case_43;
    }
    if ((int )*(s___1->plain.buf + i) == 10) {
      goto case_10;
    }
    if ((int )*(s___1->plain.buf + i) == 13) {
      goto case_10;
    }
    if ((int )*(s___1->plain.buf + i) == 32) {
      goto case_10;
    }
    goto switch_break;
    case_45: /* CIL Label */
    (header___0->old_count) ++;
    goto switch_break;
    case_43: /* CIL Label */
    (header___0->new_count) ++;
    goto switch_break;
    case_10: /* CIL Label */
    case_13: /* CIL Label */
    case_32: /* CIL Label */
    (header___0->old_count) ++;
    (header___0->new_count) ++;
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    i = find_next_line(& s___1->plain, i);
  }
  while_break: /* CIL Label */ ;
  }
  return ((ssize_t )(((orig_old_count - orig_new_count) - header___0->old_count) + header___0->new_count));
}
}
static int run_apply_check(struct add_p_state *s___1 , struct file_diff *file_diff )
{
  struct child_process cp ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  strbuf_setlen(& s___1->buf, (size_t )0);
  reassemble_patch(s___1, file_diff, 1, & s___1->buf);
  setup_child_process(s___1, & cp, "apply", "--check", (void *)0);
  strvec_pushv(& cp.args, (s___1->mode)->apply_check_args);
  tmp___1 = pipe_command(& cp, (char const   *)s___1->buf.buf, s___1->buf.len, (struct strbuf *)((void *)0),
                         (size_t )0, (struct strbuf *)((void *)0), (size_t )0);
  if (tmp___1) {
    tmp = _((char const   *)"\'git apply --cached\' failed");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  return (0);
}
}
static int read_single_character(struct add_p_state *s___1 )
{
  int res ;
  int tmp ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  if (s___1->s.use_single_key) {
    tmp = read_key_without_echo(& s___1->answer);
    res = tmp;
    if (res == -1) {
      tmp___0 = "";
    } else {
      tmp___0 = s___1->answer.buf;
    }
    printf((char const   *)"%s\n", tmp___0);
    return (res);
  }
  tmp___1 = git_read_line_interactively(& s___1->answer);
  if (tmp___1 == -1) {
    return (-1);
  }
  return (0);
}
}
static int prompt_yesno(struct add_p_state *s___1 , char const   *prompt )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = _(prompt);
    color_fprintf(stdout, (char const   *)(s___1->s.prompt_color), (char const   *)"%s",
                  tmp);
    fflush(stdout);
    tmp___0 = read_single_character(s___1);
    if (tmp___0 == -1) {
      return (-1);
    }
    tmp___1 = sane_case((int )((unsigned char )*(s___1->answer.buf + 0)), 0x20);
    {
    if (tmp___1 == 110) {
      goto case_110;
    }
    if (tmp___1 == 121) {
      goto case_121;
    }
    goto switch_break;
    case_110: /* CIL Label */
    return (0);
    case_121: /* CIL Label */
    return (1);
    switch_break: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int edit_hunk_loop(struct add_p_state *s___1 , struct file_diff *file_diff ,
                          struct hunk *hunk )
{
  size_t plain_len ;
  size_t colored_len ;
  struct hunk backup ;
  int res ;
  int tmp ;
  ssize_t tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  plain_len = s___1->plain.len;
  colored_len = s___1->colored.len;
  backup = *hunk;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = edit_hunk_manually(s___1, hunk);
    res = tmp;
    if (res == 0) {
      *hunk = backup;
      return (-1);
    }
    if (res > 0) {
      tmp___0 = recount_edited_hunk(s___1, hunk, backup.header.old_count, backup.header.new_count);
      hunk->delta += tmp___0;
      tmp___1 = run_apply_check(s___1, file_diff);
      if (! tmp___1) {
        return (0);
      }
    }
    strbuf_setlen(& s___1->plain, plain_len);
    strbuf_setlen(& s___1->colored, colored_len);
    *hunk = backup;
    tmp___2 = _((char const   *)"Your edited hunk does not apply. Edit again (saying \"no\" discards!) [y/n]? ");
    res = prompt_yesno(s___1, (char const   *)tmp___2);
    if (res < 1) {
      return (-1);
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int apply_for_checkout(struct add_p_state *s___1 , struct strbuf *diff , int is_reverse )
{
  char const   *reverse___0 ;
  char *tmp ;
  struct child_process check_index ;
  struct child_process check_worktree ;
  struct child_process apply_index ;
  struct child_process apply_worktree ;
  int applies_index ;
  int applies_worktree ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;

  {
  if (is_reverse) {
    tmp = "-R";
  } else {
    tmp = (char *)((void *)0);
  }
  reverse___0 = (char const   *)tmp;
  check_index.args.v = empty_strvec;
  check_index.args.nr = 0UL;
  check_index.args.alloc = 0UL;
  check_index.env_array.v = empty_strvec;
  check_index.env_array.nr = 0UL;
  check_index.env_array.alloc = 0UL;
  check_index.pid = 0;
  check_index.trace2_child_id = 0;
  check_index.trace2_child_us_start = 0UL;
  check_index.trace2_child_class = (char const   *)0;
  check_index.trace2_hook_name = (char const   *)0;
  check_index.in = 0;
  check_index.out = 0;
  check_index.err = 0;
  check_index.dir = (char const   *)0;
  check_index.no_stdin = 0U;
  check_index.no_stdout = 0U;
  check_index.no_stderr = 0U;
  check_index.git_cmd = 0U;
  check_index.silent_exec_failure = 0U;
  check_index.use_shell = 0U;
  check_index.close_object_store = 0U;
  check_index.stdout_to_stderr = 0U;
  check_index.clean_on_exit = 0U;
  check_index.wait_after_clean = 0U;
  check_index.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  check_index.clean_on_exit_handler_cbdata = (void *)0;
  check_worktree.args.v = empty_strvec;
  check_worktree.args.nr = 0UL;
  check_worktree.args.alloc = 0UL;
  check_worktree.env_array.v = empty_strvec;
  check_worktree.env_array.nr = 0UL;
  check_worktree.env_array.alloc = 0UL;
  check_worktree.pid = 0;
  check_worktree.trace2_child_id = 0;
  check_worktree.trace2_child_us_start = 0UL;
  check_worktree.trace2_child_class = (char const   *)0;
  check_worktree.trace2_hook_name = (char const   *)0;
  check_worktree.in = 0;
  check_worktree.out = 0;
  check_worktree.err = 0;
  check_worktree.dir = (char const   *)0;
  check_worktree.no_stdin = 0U;
  check_worktree.no_stdout = 0U;
  check_worktree.no_stderr = 0U;
  check_worktree.git_cmd = 0U;
  check_worktree.silent_exec_failure = 0U;
  check_worktree.use_shell = 0U;
  check_worktree.close_object_store = 0U;
  check_worktree.stdout_to_stderr = 0U;
  check_worktree.clean_on_exit = 0U;
  check_worktree.wait_after_clean = 0U;
  check_worktree.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  check_worktree.clean_on_exit_handler_cbdata = (void *)0;
  apply_index.args.v = empty_strvec;
  apply_index.args.nr = 0UL;
  apply_index.args.alloc = 0UL;
  apply_index.env_array.v = empty_strvec;
  apply_index.env_array.nr = 0UL;
  apply_index.env_array.alloc = 0UL;
  apply_index.pid = 0;
  apply_index.trace2_child_id = 0;
  apply_index.trace2_child_us_start = 0UL;
  apply_index.trace2_child_class = (char const   *)0;
  apply_index.trace2_hook_name = (char const   *)0;
  apply_index.in = 0;
  apply_index.out = 0;
  apply_index.err = 0;
  apply_index.dir = (char const   *)0;
  apply_index.no_stdin = 0U;
  apply_index.no_stdout = 0U;
  apply_index.no_stderr = 0U;
  apply_index.git_cmd = 0U;
  apply_index.silent_exec_failure = 0U;
  apply_index.use_shell = 0U;
  apply_index.close_object_store = 0U;
  apply_index.stdout_to_stderr = 0U;
  apply_index.clean_on_exit = 0U;
  apply_index.wait_after_clean = 0U;
  apply_index.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  apply_index.clean_on_exit_handler_cbdata = (void *)0;
  apply_worktree.args.v = empty_strvec;
  apply_worktree.args.nr = 0UL;
  apply_worktree.args.alloc = 0UL;
  apply_worktree.env_array.v = empty_strvec;
  apply_worktree.env_array.nr = 0UL;
  apply_worktree.env_array.alloc = 0UL;
  apply_worktree.pid = 0;
  apply_worktree.trace2_child_id = 0;
  apply_worktree.trace2_child_us_start = 0UL;
  apply_worktree.trace2_child_class = (char const   *)0;
  apply_worktree.trace2_hook_name = (char const   *)0;
  apply_worktree.in = 0;
  apply_worktree.out = 0;
  apply_worktree.err = 0;
  apply_worktree.dir = (char const   *)0;
  apply_worktree.no_stdin = 0U;
  apply_worktree.no_stdout = 0U;
  apply_worktree.no_stderr = 0U;
  apply_worktree.git_cmd = 0U;
  apply_worktree.silent_exec_failure = 0U;
  apply_worktree.use_shell = 0U;
  apply_worktree.close_object_store = 0U;
  apply_worktree.stdout_to_stderr = 0U;
  apply_worktree.clean_on_exit = 0U;
  apply_worktree.wait_after_clean = 0U;
  apply_worktree.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  apply_worktree.clean_on_exit_handler_cbdata = (void *)0;
  setup_child_process(s___1, & check_index, "apply", "--cached", "--check", reverse___0,
                      (void *)0);
  tmp___0 = pipe_command(& check_index, (char const   *)diff->buf, diff->len, (struct strbuf *)((void *)0),
                         (size_t )0, (struct strbuf *)((void *)0), (size_t )0);
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  applies_index = tmp___1;
  setup_child_process(s___1, & check_worktree, "apply", "--check", reverse___0, (void *)0);
  tmp___2 = pipe_command(& check_worktree, (char const   *)diff->buf, diff->len, (struct strbuf *)((void *)0),
                         (size_t )0, (struct strbuf *)((void *)0), (size_t )0);
  if (tmp___2) {
    tmp___3 = 0;
  } else {
    tmp___3 = 1;
  }
  applies_worktree = tmp___3;
  if (applies_worktree) {
    if (applies_index) {
      setup_child_process(s___1, & apply_index, "apply", "--cached", reverse___0,
                          (void *)0);
      pipe_command(& apply_index, (char const   *)diff->buf, diff->len, (struct strbuf *)((void *)0),
                   (size_t )0, (struct strbuf *)((void *)0), (size_t )0);
      setup_child_process(s___1, & apply_worktree, "apply", reverse___0, (void *)0);
      pipe_command(& apply_worktree, (char const   *)diff->buf, diff->len, (struct strbuf *)((void *)0),
                   (size_t )0, (struct strbuf *)((void *)0), (size_t )0);
      return (1);
    }
  }
  if (! applies_index) {
    tmp___4 = _((char const   *)"The selected hunks do not apply to the index!");
    err(s___1, (char const   *)tmp___4);
    tmp___6 = _((char const   *)"Apply them to the worktree anyway? ");
    tmp___7 = prompt_yesno(s___1, (char const   *)tmp___6);
    if (tmp___7 > 0) {
      setup_child_process(s___1, & apply_worktree, "apply", reverse___0, (void *)0);
      tmp___5 = pipe_command(& apply_worktree, (char const   *)diff->buf, diff->len,
                             (struct strbuf *)((void *)0), (size_t )0, (struct strbuf *)((void *)0),
                             (size_t )0);
      return (tmp___5);
    }
    tmp___8 = _((char const   *)"Nothing was applied.\n");
    err(s___1, (char const   *)tmp___8);
  } else {
    fwrite((void const   * __restrict  )diff->buf, diff->len, (size_t )1, (FILE * __restrict  )stderr);
  }
  return (0);
}
}
static void summarize_hunk(struct add_p_state *s___1 , struct hunk *hunk , struct strbuf *out )
{
  struct hunk_header *header___0 ;
  struct strbuf *plain ;
  size_t len___0 ;
  size_t i ;
  size_t tmp ;

  {
  header___0 = & hunk->header;
  plain = & s___1->plain;
  len___0 = out->len;
  strbuf_addf(out, (char const   *)" -%lu,%lu +%lu,%lu ", header___0->old_offset,
              header___0->old_count, header___0->new_offset, header___0->new_count);
  if (out->len - len___0 < 20UL) {
    strbuf_addchars(out, ' ', (20UL + len___0) - out->len);
  }
  i = hunk->start;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < hunk->end)) {
      goto while_break;
    }
    if ((int )*(plain->buf + i) != 32) {
      goto while_break;
    }
    i = find_next_line(plain, i);
  }
  while_break: /* CIL Label */ ;
  }
  if (i < hunk->end) {
    tmp = find_next_line(plain, i);
    strbuf_add(out, (void const   *)(plain->buf + i), tmp - i);
  }
  if (out->len - len___0 > 80UL) {
    strbuf_setlen(out, len___0 + 80UL);
  }
  strbuf_complete_line(out);
  return;
}
}
static size_t display_hunks(struct add_p_state *s___1 , struct file_diff *file_diff ,
                            size_t start_index )
{
  size_t end_index ;
  struct hunk *hunk ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  end_index = start_index + 20UL;
  if (end_index > file_diff->hunk_nr) {
    end_index = file_diff->hunk_nr;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (start_index < end_index)) {
      goto while_break;
    }
    tmp = start_index;
    start_index ++;
    hunk = file_diff->hunk + tmp;
    strbuf_setlen(& s___1->buf, (size_t )0);
    if ((unsigned int )hunk->use == 2U) {
      tmp___1 = '+';
    } else {
      if ((unsigned int )hunk->use == 1U) {
        tmp___0 = '-';
      } else {
        tmp___0 = ' ';
      }
      tmp___1 = tmp___0;
    }
    strbuf_addf(& s___1->buf, (char const   *)"%c%2d: ", tmp___1, (int )start_index);
    summarize_hunk(s___1, hunk, & s___1->buf);
    fputs((char const   * __restrict  )s___1->buf.buf, (FILE * __restrict  )stdout);
  }
  while_break: /* CIL Label */ ;
  }
  return (end_index);
}
}
static char const   help_patch_remainder[379]  =
  {      (char const   )'j',      (char const   )' ',      (char const   )'-',      (char const   )' ',
        (char const   )'l',      (char const   )'e',      (char const   )'a',      (char const   )'v',
        (char const   )'e',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'i',      (char const   )'s',      (char const   )' ',      (char const   )'h',
        (char const   )'u',      (char const   )'n',      (char const   )'k',      (char const   )' ',
        (char const   )'u',      (char const   )'n',      (char const   )'d',      (char const   )'e',
        (char const   )'c',      (char const   )'i',      (char const   )'d',      (char const   )'e',
        (char const   )'d',      (char const   )',',      (char const   )' ',      (char const   )'s',
        (char const   )'e',      (char const   )'e',      (char const   )' ',      (char const   )'n',
        (char const   )'e',      (char const   )'x',      (char const   )'t',      (char const   )' ',
        (char const   )'u',      (char const   )'n',      (char const   )'d',      (char const   )'e',
        (char const   )'c',      (char const   )'i',      (char const   )'d',      (char const   )'e',
        (char const   )'d',      (char const   )' ',      (char const   )'h',      (char const   )'u',
        (char const   )'n',      (char const   )'k',      (char const   )'\n',      (char const   )'J',
        (char const   )' ',      (char const   )'-',      (char const   )' ',      (char const   )'l',
        (char const   )'e',      (char const   )'a',      (char const   )'v',      (char const   )'e',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'i',
        (char const   )'s',      (char const   )' ',      (char const   )'h',      (char const   )'u',
        (char const   )'n',      (char const   )'k',      (char const   )' ',      (char const   )'u',
        (char const   )'n',      (char const   )'d',      (char const   )'e',      (char const   )'c',
        (char const   )'i',      (char const   )'d',      (char const   )'e',      (char const   )'d',
        (char const   )',',      (char const   )' ',      (char const   )'s',      (char const   )'e',
        (char const   )'e',      (char const   )' ',      (char const   )'n',      (char const   )'e',
        (char const   )'x',      (char const   )'t',      (char const   )' ',      (char const   )'h',
        (char const   )'u',      (char const   )'n',      (char const   )'k',      (char const   )'\n',
        (char const   )'k',      (char const   )' ',      (char const   )'-',      (char const   )' ',
        (char const   )'l',      (char const   )'e',      (char const   )'a',      (char const   )'v',
        (char const   )'e',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'i',      (char const   )'s',      (char const   )' ',      (char const   )'h',
        (char const   )'u',      (char const   )'n',      (char const   )'k',      (char const   )' ',
        (char const   )'u',      (char const   )'n',      (char const   )'d',      (char const   )'e',
        (char const   )'c',      (char const   )'i',      (char const   )'d',      (char const   )'e',
        (char const   )'d',      (char const   )',',      (char const   )' ',      (char const   )'s',
        (char const   )'e',      (char const   )'e',      (char const   )' ',      (char const   )'p',
        (char const   )'r',      (char const   )'e',      (char const   )'v',      (char const   )'i',
        (char const   )'o',      (char const   )'u',      (char const   )'s',      (char const   )' ',
        (char const   )'u',      (char const   )'n',      (char const   )'d',      (char const   )'e',
        (char const   )'c',      (char const   )'i',      (char const   )'d',      (char const   )'e',
        (char const   )'d',      (char const   )' ',      (char const   )'h',      (char const   )'u',
        (char const   )'n',      (char const   )'k',      (char const   )'\n',      (char const   )'K',
        (char const   )' ',      (char const   )'-',      (char const   )' ',      (char const   )'l',
        (char const   )'e',      (char const   )'a',      (char const   )'v',      (char const   )'e',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'i',
        (char const   )'s',      (char const   )' ',      (char const   )'h',      (char const   )'u',
        (char const   )'n',      (char const   )'k',      (char const   )' ',      (char const   )'u',
        (char const   )'n',      (char const   )'d',      (char const   )'e',      (char const   )'c',
        (char const   )'i',      (char const   )'d',      (char const   )'e',      (char const   )'d',
        (char const   )',',      (char const   )' ',      (char const   )'s',      (char const   )'e',
        (char const   )'e',      (char const   )' ',      (char const   )'p',      (char const   )'r',
        (char const   )'e',      (char const   )'v',      (char const   )'i',      (char const   )'o',
        (char const   )'u',      (char const   )'s',      (char const   )' ',      (char const   )'h',
        (char const   )'u',      (char const   )'n',      (char const   )'k',      (char const   )'\n',
        (char const   )'g',      (char const   )' ',      (char const   )'-',      (char const   )' ',
        (char const   )'s',      (char const   )'e',      (char const   )'l',      (char const   )'e',
        (char const   )'c',      (char const   )'t',      (char const   )' ',      (char const   )'a',
        (char const   )' ',      (char const   )'h',      (char const   )'u',      (char const   )'n',
        (char const   )'k',      (char const   )' ',      (char const   )'t',      (char const   )'o',
        (char const   )' ',      (char const   )'g',      (char const   )'o',      (char const   )' ',
        (char const   )'t',      (char const   )'o',      (char const   )'\n',      (char const   )'/',
        (char const   )' ',      (char const   )'-',      (char const   )' ',      (char const   )'s',
        (char const   )'e',      (char const   )'a',      (char const   )'r',      (char const   )'c',
        (char const   )'h',      (char const   )' ',      (char const   )'f',      (char const   )'o',
        (char const   )'r',      (char const   )' ',      (char const   )'a',      (char const   )' ',
        (char const   )'h',      (char const   )'u',      (char const   )'n',      (char const   )'k',
        (char const   )' ',      (char const   )'m',      (char const   )'a',      (char const   )'t',
        (char const   )'c',      (char const   )'h',      (char const   )'i',      (char const   )'n',
        (char const   )'g',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )' ',      (char const   )'g',      (char const   )'i',
        (char const   )'v',      (char const   )'e',      (char const   )'n',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'g',      (char const   )'e',
        (char const   )'x',      (char const   )'\n',      (char const   )'s',      (char const   )' ',
        (char const   )'-',      (char const   )' ',      (char const   )'s',      (char const   )'p',
        (char const   )'l',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'c',      (char const   )'u',      (char const   )'r',      (char const   )'r',
        (char const   )'e',      (char const   )'n',      (char const   )'t',      (char const   )' ',
        (char const   )'h',      (char const   )'u',      (char const   )'n',      (char const   )'k',
        (char const   )' ',      (char const   )'i',      (char const   )'n',      (char const   )'t',
        (char const   )'o',      (char const   )' ',      (char const   )'s',      (char const   )'m',
        (char const   )'a',      (char const   )'l',      (char const   )'l',      (char const   )'e',
        (char const   )'r',      (char const   )' ',      (char const   )'h',      (char const   )'u',
        (char const   )'n',      (char const   )'k',      (char const   )'s',      (char const   )'\n',
        (char const   )'e',      (char const   )' ',      (char const   )'-',      (char const   )' ',
        (char const   )'m',      (char const   )'a',      (char const   )'n',      (char const   )'u',
        (char const   )'a',      (char const   )'l',      (char const   )'l',      (char const   )'y',
        (char const   )' ',      (char const   )'e',      (char const   )'d',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )' ',      (char const   )'c',      (char const   )'u',
        (char const   )'r',      (char const   )'r',      (char const   )'e',      (char const   )'n',
        (char const   )'t',      (char const   )' ',      (char const   )'h',      (char const   )'u',
        (char const   )'n',      (char const   )'k',      (char const   )'\n',      (char const   )'?',
        (char const   )' ',      (char const   )'-',      (char const   )' ',      (char const   )'p',
        (char const   )'r',      (char const   )'i',      (char const   )'n',      (char const   )'t',
        (char const   )' ',      (char const   )'h',      (char const   )'e',      (char const   )'l',
        (char const   )'p',      (char const   )'\n',      (char const   )'\000'};
static int patch_update_file(struct add_p_state *s___1 , struct file_diff *file_diff )
{
  size_t hunk_index ;
  ssize_t i ;
  ssize_t undecided_previous ;
  ssize_t undecided_next ;
  struct hunk *hunk ;
  char ch___0 ;
  struct child_process cp ;
  int colored ;
  int quit ;
  enum prompt_mode_type prompt_mode_type ;
  enum __anonenum_permitted_1012414993 permitted ;
  size_t tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char *pend ;
  unsigned long response ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  size_t tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___14 ;
  regex_t regex ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  int tmp___17 ;
  char errbuf[1024] ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  int tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  size_t splittable_into ;
  char const __attribute__((__format_arg__(1)))  *tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  int tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;
  int tmp___25 ;
  char const   *p___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___26 ;
  char const   *eol ;
  char const __attribute__((__format_arg__(1)))  *tmp___27 ;
  char *tmp___28 ;
  char *tmp___29 ;
  char const __attribute__((__format_arg__(1)))  *tmp___30 ;
  int tmp___31 ;
  int tmp___32 ;

  {
  hunk_index = (size_t )0;
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  colored = ! (! s___1->colored.len);
  quit = 0;
  permitted = (enum __anonenum_permitted_1012414993 )0;
  if (! file_diff->hunk_nr) {
    if (! file_diff->added) {
      return (0);
    }
  }
  strbuf_setlen(& s___1->buf, (size_t )0);
  render_diff_header(s___1, file_diff, colored, & s___1->buf);
  fputs((char const   * __restrict  )s___1->buf.buf, (FILE * __restrict  )stdout);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (hunk_index >= file_diff->hunk_nr) {
      hunk_index = (size_t )0;
    }
    if (file_diff->hunk_nr) {
      hunk = file_diff->hunk + hunk_index;
    } else {
      hunk = & file_diff->head;
    }
    undecided_previous = (ssize_t )-1;
    undecided_next = (ssize_t )-1;
    if (file_diff->hunk_nr) {
      i = (ssize_t )(hunk_index - 1UL);
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (i >= 0L)) {
          goto while_break___0;
        }
        if ((unsigned int )(file_diff->hunk + i)->use == 0U) {
          undecided_previous = i;
          goto while_break___0;
        }
        i --;
      }
      while_break___0: /* CIL Label */ ;
      }
      i = (ssize_t )(hunk_index + 1UL);
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! ((size_t )i < file_diff->hunk_nr)) {
          goto while_break___1;
        }
        if ((unsigned int )(file_diff->hunk + i)->use == 0U) {
          undecided_next = i;
          goto while_break___1;
        }
        i ++;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
    if (undecided_previous < 0L) {
      if (undecided_next < 0L) {
        if ((unsigned int )hunk->use != 0U) {
          goto while_break;
        }
      }
    }
    strbuf_setlen(& s___1->buf, (size_t )0);
    if (file_diff->hunk_nr) {
      render_hunk(s___1, hunk, (ssize_t )0, colored, & s___1->buf);
      fputs((char const   * __restrict  )s___1->buf.buf, (FILE * __restrict  )stdout);
      strbuf_setlen(& s___1->buf, (size_t )0);
      if (undecided_previous >= 0L) {
        permitted = (enum __anonenum_permitted_1012414993 )((unsigned int )permitted | 2U);
        strbuf_addstr(& s___1->buf, (char const   *)",k");
      }
      if (hunk_index) {
        permitted = (enum __anonenum_permitted_1012414993 )((unsigned int )permitted | 1U);
        strbuf_addstr(& s___1->buf, (char const   *)",K");
      }
      if (undecided_next >= 0L) {
        permitted = (enum __anonenum_permitted_1012414993 )((unsigned int )permitted | 8U);
        strbuf_addstr(& s___1->buf, (char const   *)",j");
      }
      if (hunk_index + 1UL < file_diff->hunk_nr) {
        permitted = (enum __anonenum_permitted_1012414993 )((unsigned int )permitted | 4U);
        strbuf_addstr(& s___1->buf, (char const   *)",J");
      }
      if (file_diff->hunk_nr > 1UL) {
        permitted = (enum __anonenum_permitted_1012414993 )((unsigned int )permitted | 16U);
        strbuf_addstr(& s___1->buf, (char const   *)",g,/");
      }
      if (hunk->splittable_into > 1UL) {
        permitted = (enum __anonenum_permitted_1012414993 )((unsigned int )permitted | 32U);
        strbuf_addstr(& s___1->buf, (char const   *)",s");
      }
      if (hunk_index + 1UL > (size_t )file_diff->mode_change) {
        if (! file_diff->deleted) {
          permitted = (enum __anonenum_permitted_1012414993 )((unsigned int )permitted | 64U);
          strbuf_addstr(& s___1->buf, (char const   *)",e");
        }
      }
    }
    if (file_diff->deleted) {
      prompt_mode_type = (enum prompt_mode_type )1;
    } else
    if (file_diff->added) {
      prompt_mode_type = (enum prompt_mode_type )2;
    } else
    if (file_diff->mode_change) {
      if (! hunk_index) {
        prompt_mode_type = (enum prompt_mode_type )0;
      } else {
        prompt_mode_type = (enum prompt_mode_type )3;
      }
    } else {
      prompt_mode_type = (enum prompt_mode_type )3;
    }
    if (file_diff->hunk_nr) {
      tmp = file_diff->hunk_nr;
    } else {
      tmp = (size_t )1;
    }
    printf((char const   *)"%s(%lu/%lu) ", s___1->s.prompt_color, hunk_index + 1UL,
           tmp);
    tmp___0 = _((s___1->mode)->prompt_mode[prompt_mode_type]);
    printf((char const   *)tmp___0, s___1->buf.buf);
    if (s___1->s.reset_color[0]) {
      fputs((char const   * __restrict  )(s___1->s.reset_color), (FILE * __restrict  )stdout);
    }
    fflush(stdout);
    tmp___1 = read_single_character(s___1);
    if (tmp___1 == -1) {
      goto while_break;
    }
    if (! s___1->answer.len) {
      goto __Cont;
    }
    tmp___2 = sane_case((int )((unsigned char )*(s___1->answer.buf + 0)), 0x20);
    ch___0 = (char )tmp___2;
    if ((int )ch___0 == 121) {
      hunk->use = (enum __anonenum_use_24216108 )2;
      soft_increment:
      if (undecided_next < 0L) {
        hunk_index = file_diff->hunk_nr;
      } else {
        hunk_index = (size_t )undecided_next;
      }
    } else
    if ((int )ch___0 == 110) {
      hunk->use = (enum __anonenum_use_24216108 )1;
      goto soft_increment;
    } else
    if ((int )ch___0 == 97) {
      if (file_diff->hunk_nr) {
        {
        while (1) {
          while_continue___2: /* CIL Label */ ;
          if (! (hunk_index < file_diff->hunk_nr)) {
            goto while_break___2;
          }
          hunk = file_diff->hunk + hunk_index;
          if ((unsigned int )hunk->use == 0U) {
            hunk->use = (enum __anonenum_use_24216108 )2;
          }
          hunk_index ++;
        }
        while_break___2: /* CIL Label */ ;
        }
      } else
      if ((unsigned int )hunk->use == 0U) {
        hunk->use = (enum __anonenum_use_24216108 )2;
      }
    } else
    if ((int )ch___0 == 100) {
      goto _L;
    } else
    if ((int )ch___0 == 113) {
      _L: /* CIL Label */
      if (file_diff->hunk_nr) {
        {
        while (1) {
          while_continue___3: /* CIL Label */ ;
          if (! (hunk_index < file_diff->hunk_nr)) {
            goto while_break___3;
          }
          hunk = file_diff->hunk + hunk_index;
          if ((unsigned int )hunk->use == 0U) {
            hunk->use = (enum __anonenum_use_24216108 )1;
          }
          hunk_index ++;
        }
        while_break___3: /* CIL Label */ ;
        }
      } else
      if ((unsigned int )hunk->use == 0U) {
        hunk->use = (enum __anonenum_use_24216108 )1;
      }
      if ((int )ch___0 == 113) {
        quit = 1;
        goto while_break;
      }
    } else
    if ((int )*(s___1->answer.buf + 0) == 75) {
      if ((unsigned int )permitted & 1U) {
        hunk_index --;
      } else {
        tmp___3 = _((char const   *)"No previous hunk");
        err(s___1, (char const   *)tmp___3);
      }
    } else
    if ((int )*(s___1->answer.buf + 0) == 74) {
      if ((unsigned int )permitted & 4U) {
        hunk_index ++;
      } else {
        tmp___4 = _((char const   *)"No next hunk");
        err(s___1, (char const   *)tmp___4);
      }
    } else
    if ((int )*(s___1->answer.buf + 0) == 107) {
      if ((unsigned int )permitted & 2U) {
        hunk_index = (size_t )undecided_previous;
      } else {
        tmp___5 = _((char const   *)"No previous hunk");
        err(s___1, (char const   *)tmp___5);
      }
    } else
    if ((int )*(s___1->answer.buf + 0) == 106) {
      if ((unsigned int )permitted & 8U) {
        hunk_index = (size_t )undecided_next;
      } else {
        tmp___6 = _((char const   *)"No next hunk");
        err(s___1, (char const   *)tmp___6);
      }
    } else
    if ((int )*(s___1->answer.buf + 0) == 103) {
      if (! ((unsigned int )permitted & 16U)) {
        tmp___7 = _((char const   *)"No other hunks to goto");
        err(s___1, (char const   *)tmp___7);
        goto __Cont;
      }
      strbuf_remove(& s___1->answer, (size_t )0, (size_t )1);
      strbuf_trim(& s___1->answer);
      i = (ssize_t )(hunk_index - 10UL);
      if (i < (ssize_t )file_diff->mode_change) {
        i = (ssize_t )file_diff->mode_change;
      }
      {
      while (1) {
        while_continue___4: /* CIL Label */ ;
        if (! (s___1->answer.len == 0UL)) {
          goto while_break___4;
        }
        tmp___8 = display_hunks(s___1, file_diff, (size_t )i);
        i = (ssize_t )tmp___8;
        if ((size_t )i < file_diff->hunk_nr) {
          tmp___9 = _((char const   *)"go to which hunk (<ret> to see more)? ");
          tmp___11 = tmp___9;
        } else {
          tmp___10 = _((char const   *)"go to which hunk? ");
          tmp___11 = tmp___10;
        }
        printf((char const   *)"%s", tmp___11);
        fflush(stdout);
        tmp___12 = strbuf_getline(& s___1->answer, stdin);
        if (tmp___12 == -1) {
          goto while_break___4;
        }
        strbuf_trim_trailing_newline(& s___1->answer);
      }
      while_break___4: /* CIL Label */ ;
      }
      strbuf_trim(& s___1->answer);
      response = strtoul((char const   * __restrict  )s___1->answer.buf, (char ** __restrict  )(& pend),
                         10);
      if (*pend) {
        tmp___13 = _((char const   *)"Invalid number: \'%s\'");
        err(s___1, (char const   *)tmp___13, s___1->answer.buf);
      } else
      if ((unsigned long )pend == (unsigned long )s___1->answer.buf) {
        tmp___13 = _((char const   *)"Invalid number: \'%s\'");
        err(s___1, (char const   *)tmp___13, s___1->answer.buf);
      } else
      if (0UL < response) {
        if (response <= file_diff->hunk_nr) {
          hunk_index = response - 1UL;
        } else {
          tmp___14 = Q_((char const   *)"Sorry, only %d hunk available.", (char const   *)"Sorry, only %d hunks available.",
                        file_diff->hunk_nr);
          err(s___1, (char const   *)tmp___14, (int )file_diff->hunk_nr);
        }
      } else {
        tmp___14 = Q_((char const   *)"Sorry, only %d hunk available.", (char const   *)"Sorry, only %d hunks available.",
                      file_diff->hunk_nr);
        err(s___1, (char const   *)tmp___14, (int )file_diff->hunk_nr);
      }
    } else
    if ((int )*(s___1->answer.buf + 0) == 47) {
      if (! ((unsigned int )permitted & 16U)) {
        tmp___15 = _((char const   *)"No other hunks to search");
        err(s___1, (char const   *)tmp___15);
        goto __Cont;
      }
      strbuf_remove(& s___1->answer, (size_t )0, (size_t )1);
      strbuf_trim_trailing_newline(& s___1->answer);
      if (s___1->answer.len == 0UL) {
        tmp___16 = _((char const   *)"search for regex? ");
        printf((char const   *)"%s", tmp___16);
        fflush(stdout);
        tmp___17 = strbuf_getline(& s___1->answer, stdin);
        if (tmp___17 == -1) {
          goto while_break;
        }
        strbuf_trim_trailing_newline(& s___1->answer);
        if (s___1->answer.len == 0UL) {
          goto __Cont;
        }
      }
      ret___67 = regcomp((regex_t * __restrict  )(& regex), (char const   * __restrict  )s___1->answer.buf,
                         (1 | (((1 << 1) << 1) << 1)) | ((1 << 1) << 1));
      if (ret___67) {
        regerror(ret___67, (regex_t const   * __restrict  )(& regex), (char * __restrict  )(errbuf),
                 sizeof(errbuf));
        tmp___18 = _((char const   *)"Malformed search regexp %s: %s");
        err(s___1, (char const   *)tmp___18, s___1->answer.buf, errbuf);
        goto __Cont;
      }
      i = (ssize_t )hunk_index;
      {
      while (1) {
        while_continue___5: /* CIL Label */ ;
        render_hunk(s___1, file_diff->hunk + i, (ssize_t )0, 0, & s___1->buf);
        tmp___19 = regexec((regex_t const   * __restrict  )(& regex), (char const   * __restrict  )s___1->buf.buf,
                           (size_t )0, (regmatch_t * __restrict  )((void *)0), 0);
        if (tmp___19 != 1) {
          goto while_break___5;
        }
        i ++;
        if ((size_t )i == file_diff->hunk_nr) {
          i = (ssize_t )0;
        }
        if ((size_t )i != hunk_index) {
          goto __Cont___0;
        }
        tmp___20 = _((char const   *)"No hunk matches the given pattern");
        err(s___1, (char const   *)tmp___20);
        goto while_break___5;
        __Cont___0: /* CIL Label */ ;
      }
      while_break___5: /* CIL Label */ ;
      }
      hunk_index = (size_t )i;
    } else
    if ((int )*(s___1->answer.buf + 0) == 115) {
      splittable_into = hunk->splittable_into;
      if (! ((unsigned int )permitted & 32U)) {
        tmp___21 = _((char const   *)"Sorry, cannot split this hunk");
        err(s___1, (char const   *)tmp___21);
      } else {
        tmp___23 = split_hunk(s___1, file_diff, (size_t )(hunk - file_diff->hunk));
        if (! tmp___23) {
          tmp___22 = _((char const   *)"Split into %d hunks.");
          color_fprintf_ln(stdout, (char const   *)(s___1->s.header_color), (char const   *)tmp___22,
                           (int )splittable_into);
        }
      }
    } else
    if ((int )*(s___1->answer.buf + 0) == 101) {
      if (! ((unsigned int )permitted & 64U)) {
        tmp___24 = _((char const   *)"Sorry, cannot edit this hunk");
        err(s___1, (char const   *)tmp___24);
      } else {
        tmp___25 = edit_hunk_loop(s___1, file_diff, hunk);
        if (tmp___25 >= 0) {
          hunk->use = (enum __anonenum_use_24216108 )2;
          goto soft_increment;
        }
      }
    } else {
      tmp___26 = _(help_patch_remainder);
      p___0 = (char const   *)tmp___26;
      eol = p___0;
      tmp___27 = _((s___1->mode)->help_patch_text);
      color_fprintf(stdout, (char const   *)(s___1->s.help_color), (char const   *)"%s",
                    tmp___27);
      {
      while (1) {
        while_continue___6: /* CIL Label */ ;
        if (! *p___0) {
          goto while_break___6;
        }
        tmp___28 = strchrnul(p___0, '\n');
        eol = (char const   *)tmp___28;
        if ((int const   )*p___0 != 63) {
          tmp___29 = strchr((char const   *)s___1->buf.buf, (int )*p___0);
          if (! tmp___29) {
            goto __Cont___1;
          }
        }
        color_fprintf_ln(stdout, (char const   *)(s___1->s.help_color), (char const   *)"%.*s",
                         (int )(eol - p___0), p___0);
        __Cont___1: /* CIL Label */
        p___0 = eol + ((int const   )*eol == 10);
      }
      while_break___6: /* CIL Label */ ;
      }
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  i = (ssize_t )0;
  {
  while (1) {
    while_continue___7: /* CIL Label */ ;
    if (! ((size_t )i < file_diff->hunk_nr)) {
      goto while_break___7;
    }
    if ((unsigned int )(file_diff->hunk + i)->use == 2U) {
      goto while_break___7;
    }
    i ++;
  }
  while_break___7: /* CIL Label */ ;
  }
  if ((size_t )i < file_diff->hunk_nr) {
    goto _L___0;
  } else
  if (! file_diff->hunk_nr) {
    if ((unsigned int )file_diff->head.use == 2U) {
      _L___0: /* CIL Label */
      strbuf_setlen(& s___1->buf, (size_t )0);
      reassemble_patch(s___1, file_diff, 0, & s___1->buf);
      discard_index((s___1->s.r)->index);
      if ((s___1->mode)->apply_for_checkout) {
        apply_for_checkout(s___1, & s___1->buf, (int )(s___1->mode)->is_reverse);
      } else {
        setup_child_process(s___1, & cp, "apply", (void *)0);
        strvec_pushv(& cp.args, (s___1->mode)->apply_args);
        tmp___31 = pipe_command(& cp, (char const   *)s___1->buf.buf, s___1->buf.len,
                                (struct strbuf *)((void *)0), (size_t )0, (struct strbuf *)((void *)0),
                                (size_t )0);
        if (tmp___31) {
          tmp___30 = _((char const   *)"\'git apply\' failed");
          error((char const   *)tmp___30);
          const_error();
        }
      }
      tmp___32 = repo_read_index(s___1->s.r);
      if (tmp___32 >= 0) {
        repo_refresh_and_write_index(s___1->s.r, (unsigned int )(1 << 2), 0U, 1, (struct pathspec  const  *)((void *)0),
                                     (char *)((void *)0), (char const   *)((void *)0));
      }
    }
  }
  putchar('\n');
  return (quit);
}
}
int run_add_p(struct repository *r , enum add_p_mode mode___1 , char const   *revision ,
              struct pathspec  const  *ps )
{
  struct add_p_state s___1 ;
  size_t i ;
  size_t binary_count ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;

  {
  s___1.s.r = r;
  s___1.s.use_color = 0;
  s___1.s.header_color[0] = (char)0;
  s___1.s.header_color[1] = (char)0;
  s___1.s.header_color[2] = (char)0;
  s___1.s.header_color[3] = (char)0;
  s___1.s.header_color[4] = (char)0;
  s___1.s.header_color[5] = (char)0;
  s___1.s.header_color[6] = (char)0;
  s___1.s.header_color[7] = (char)0;
  s___1.s.header_color[8] = (char)0;
  s___1.s.header_color[9] = (char)0;
  s___1.s.header_color[10] = (char)0;
  s___1.s.header_color[11] = (char)0;
  s___1.s.header_color[12] = (char)0;
  s___1.s.header_color[13] = (char)0;
  s___1.s.header_color[14] = (char)0;
  s___1.s.header_color[15] = (char)0;
  s___1.s.header_color[16] = (char)0;
  s___1.s.header_color[17] = (char)0;
  s___1.s.header_color[18] = (char)0;
  s___1.s.header_color[19] = (char)0;
  s___1.s.header_color[20] = (char)0;
  s___1.s.header_color[21] = (char)0;
  s___1.s.header_color[22] = (char)0;
  s___1.s.header_color[23] = (char)0;
  s___1.s.header_color[24] = (char)0;
  s___1.s.header_color[25] = (char)0;
  s___1.s.header_color[26] = (char)0;
  s___1.s.header_color[27] = (char)0;
  s___1.s.header_color[28] = (char)0;
  s___1.s.header_color[29] = (char)0;
  s___1.s.header_color[30] = (char)0;
  s___1.s.header_color[31] = (char)0;
  s___1.s.header_color[32] = (char)0;
  s___1.s.header_color[33] = (char)0;
  s___1.s.header_color[34] = (char)0;
  s___1.s.header_color[35] = (char)0;
  s___1.s.header_color[36] = (char)0;
  s___1.s.header_color[37] = (char)0;
  s___1.s.header_color[38] = (char)0;
  s___1.s.header_color[39] = (char)0;
  s___1.s.header_color[40] = (char)0;
  s___1.s.header_color[41] = (char)0;
  s___1.s.header_color[42] = (char)0;
  s___1.s.header_color[43] = (char)0;
  s___1.s.header_color[44] = (char)0;
  s___1.s.header_color[45] = (char)0;
  s___1.s.header_color[46] = (char)0;
  s___1.s.header_color[47] = (char)0;
  s___1.s.header_color[48] = (char)0;
  s___1.s.header_color[49] = (char)0;
  s___1.s.header_color[50] = (char)0;
  s___1.s.header_color[51] = (char)0;
  s___1.s.header_color[52] = (char)0;
  s___1.s.header_color[53] = (char)0;
  s___1.s.header_color[54] = (char)0;
  s___1.s.header_color[55] = (char)0;
  s___1.s.header_color[56] = (char)0;
  s___1.s.header_color[57] = (char)0;
  s___1.s.header_color[58] = (char)0;
  s___1.s.header_color[59] = (char)0;
  s___1.s.header_color[60] = (char)0;
  s___1.s.header_color[61] = (char)0;
  s___1.s.header_color[62] = (char)0;
  s___1.s.header_color[63] = (char)0;
  s___1.s.header_color[64] = (char)0;
  s___1.s.header_color[65] = (char)0;
  s___1.s.header_color[66] = (char)0;
  s___1.s.header_color[67] = (char)0;
  s___1.s.header_color[68] = (char)0;
  s___1.s.header_color[69] = (char)0;
  s___1.s.header_color[70] = (char)0;
  s___1.s.header_color[71] = (char)0;
  s___1.s.header_color[72] = (char)0;
  s___1.s.header_color[73] = (char)0;
  s___1.s.header_color[74] = (char)0;
  s___1.s.help_color[0] = (char)0;
  s___1.s.help_color[1] = (char)0;
  s___1.s.help_color[2] = (char)0;
  s___1.s.help_color[3] = (char)0;
  s___1.s.help_color[4] = (char)0;
  s___1.s.help_color[5] = (char)0;
  s___1.s.help_color[6] = (char)0;
  s___1.s.help_color[7] = (char)0;
  s___1.s.help_color[8] = (char)0;
  s___1.s.help_color[9] = (char)0;
  s___1.s.help_color[10] = (char)0;
  s___1.s.help_color[11] = (char)0;
  s___1.s.help_color[12] = (char)0;
  s___1.s.help_color[13] = (char)0;
  s___1.s.help_color[14] = (char)0;
  s___1.s.help_color[15] = (char)0;
  s___1.s.help_color[16] = (char)0;
  s___1.s.help_color[17] = (char)0;
  s___1.s.help_color[18] = (char)0;
  s___1.s.help_color[19] = (char)0;
  s___1.s.help_color[20] = (char)0;
  s___1.s.help_color[21] = (char)0;
  s___1.s.help_color[22] = (char)0;
  s___1.s.help_color[23] = (char)0;
  s___1.s.help_color[24] = (char)0;
  s___1.s.help_color[25] = (char)0;
  s___1.s.help_color[26] = (char)0;
  s___1.s.help_color[27] = (char)0;
  s___1.s.help_color[28] = (char)0;
  s___1.s.help_color[29] = (char)0;
  s___1.s.help_color[30] = (char)0;
  s___1.s.help_color[31] = (char)0;
  s___1.s.help_color[32] = (char)0;
  s___1.s.help_color[33] = (char)0;
  s___1.s.help_color[34] = (char)0;
  s___1.s.help_color[35] = (char)0;
  s___1.s.help_color[36] = (char)0;
  s___1.s.help_color[37] = (char)0;
  s___1.s.help_color[38] = (char)0;
  s___1.s.help_color[39] = (char)0;
  s___1.s.help_color[40] = (char)0;
  s___1.s.help_color[41] = (char)0;
  s___1.s.help_color[42] = (char)0;
  s___1.s.help_color[43] = (char)0;
  s___1.s.help_color[44] = (char)0;
  s___1.s.help_color[45] = (char)0;
  s___1.s.help_color[46] = (char)0;
  s___1.s.help_color[47] = (char)0;
  s___1.s.help_color[48] = (char)0;
  s___1.s.help_color[49] = (char)0;
  s___1.s.help_color[50] = (char)0;
  s___1.s.help_color[51] = (char)0;
  s___1.s.help_color[52] = (char)0;
  s___1.s.help_color[53] = (char)0;
  s___1.s.help_color[54] = (char)0;
  s___1.s.help_color[55] = (char)0;
  s___1.s.help_color[56] = (char)0;
  s___1.s.help_color[57] = (char)0;
  s___1.s.help_color[58] = (char)0;
  s___1.s.help_color[59] = (char)0;
  s___1.s.help_color[60] = (char)0;
  s___1.s.help_color[61] = (char)0;
  s___1.s.help_color[62] = (char)0;
  s___1.s.help_color[63] = (char)0;
  s___1.s.help_color[64] = (char)0;
  s___1.s.help_color[65] = (char)0;
  s___1.s.help_color[66] = (char)0;
  s___1.s.help_color[67] = (char)0;
  s___1.s.help_color[68] = (char)0;
  s___1.s.help_color[69] = (char)0;
  s___1.s.help_color[70] = (char)0;
  s___1.s.help_color[71] = (char)0;
  s___1.s.help_color[72] = (char)0;
  s___1.s.help_color[73] = (char)0;
  s___1.s.help_color[74] = (char)0;
  s___1.s.prompt_color[0] = (char)0;
  s___1.s.prompt_color[1] = (char)0;
  s___1.s.prompt_color[2] = (char)0;
  s___1.s.prompt_color[3] = (char)0;
  s___1.s.prompt_color[4] = (char)0;
  s___1.s.prompt_color[5] = (char)0;
  s___1.s.prompt_color[6] = (char)0;
  s___1.s.prompt_color[7] = (char)0;
  s___1.s.prompt_color[8] = (char)0;
  s___1.s.prompt_color[9] = (char)0;
  s___1.s.prompt_color[10] = (char)0;
  s___1.s.prompt_color[11] = (char)0;
  s___1.s.prompt_color[12] = (char)0;
  s___1.s.prompt_color[13] = (char)0;
  s___1.s.prompt_color[14] = (char)0;
  s___1.s.prompt_color[15] = (char)0;
  s___1.s.prompt_color[16] = (char)0;
  s___1.s.prompt_color[17] = (char)0;
  s___1.s.prompt_color[18] = (char)0;
  s___1.s.prompt_color[19] = (char)0;
  s___1.s.prompt_color[20] = (char)0;
  s___1.s.prompt_color[21] = (char)0;
  s___1.s.prompt_color[22] = (char)0;
  s___1.s.prompt_color[23] = (char)0;
  s___1.s.prompt_color[24] = (char)0;
  s___1.s.prompt_color[25] = (char)0;
  s___1.s.prompt_color[26] = (char)0;
  s___1.s.prompt_color[27] = (char)0;
  s___1.s.prompt_color[28] = (char)0;
  s___1.s.prompt_color[29] = (char)0;
  s___1.s.prompt_color[30] = (char)0;
  s___1.s.prompt_color[31] = (char)0;
  s___1.s.prompt_color[32] = (char)0;
  s___1.s.prompt_color[33] = (char)0;
  s___1.s.prompt_color[34] = (char)0;
  s___1.s.prompt_color[35] = (char)0;
  s___1.s.prompt_color[36] = (char)0;
  s___1.s.prompt_color[37] = (char)0;
  s___1.s.prompt_color[38] = (char)0;
  s___1.s.prompt_color[39] = (char)0;
  s___1.s.prompt_color[40] = (char)0;
  s___1.s.prompt_color[41] = (char)0;
  s___1.s.prompt_color[42] = (char)0;
  s___1.s.prompt_color[43] = (char)0;
  s___1.s.prompt_color[44] = (char)0;
  s___1.s.prompt_color[45] = (char)0;
  s___1.s.prompt_color[46] = (char)0;
  s___1.s.prompt_color[47] = (char)0;
  s___1.s.prompt_color[48] = (char)0;
  s___1.s.prompt_color[49] = (char)0;
  s___1.s.prompt_color[50] = (char)0;
  s___1.s.prompt_color[51] = (char)0;
  s___1.s.prompt_color[52] = (char)0;
  s___1.s.prompt_color[53] = (char)0;
  s___1.s.prompt_color[54] = (char)0;
  s___1.s.prompt_color[55] = (char)0;
  s___1.s.prompt_color[56] = (char)0;
  s___1.s.prompt_color[57] = (char)0;
  s___1.s.prompt_color[58] = (char)0;
  s___1.s.prompt_color[59] = (char)0;
  s___1.s.prompt_color[60] = (char)0;
  s___1.s.prompt_color[61] = (char)0;
  s___1.s.prompt_color[62] = (char)0;
  s___1.s.prompt_color[63] = (char)0;
  s___1.s.prompt_color[64] = (char)0;
  s___1.s.prompt_color[65] = (char)0;
  s___1.s.prompt_color[66] = (char)0;
  s___1.s.prompt_color[67] = (char)0;
  s___1.s.prompt_color[68] = (char)0;
  s___1.s.prompt_color[69] = (char)0;
  s___1.s.prompt_color[70] = (char)0;
  s___1.s.prompt_color[71] = (char)0;
  s___1.s.prompt_color[72] = (char)0;
  s___1.s.prompt_color[73] = (char)0;
  s___1.s.prompt_color[74] = (char)0;
  s___1.s.error_color[0] = (char)0;
  s___1.s.error_color[1] = (char)0;
  s___1.s.error_color[2] = (char)0;
  s___1.s.error_color[3] = (char)0;
  s___1.s.error_color[4] = (char)0;
  s___1.s.error_color[5] = (char)0;
  s___1.s.error_color[6] = (char)0;
  s___1.s.error_color[7] = (char)0;
  s___1.s.error_color[8] = (char)0;
  s___1.s.error_color[9] = (char)0;
  s___1.s.error_color[10] = (char)0;
  s___1.s.error_color[11] = (char)0;
  s___1.s.error_color[12] = (char)0;
  s___1.s.error_color[13] = (char)0;
  s___1.s.error_color[14] = (char)0;
  s___1.s.error_color[15] = (char)0;
  s___1.s.error_color[16] = (char)0;
  s___1.s.error_color[17] = (char)0;
  s___1.s.error_color[18] = (char)0;
  s___1.s.error_color[19] = (char)0;
  s___1.s.error_color[20] = (char)0;
  s___1.s.error_color[21] = (char)0;
  s___1.s.error_color[22] = (char)0;
  s___1.s.error_color[23] = (char)0;
  s___1.s.error_color[24] = (char)0;
  s___1.s.error_color[25] = (char)0;
  s___1.s.error_color[26] = (char)0;
  s___1.s.error_color[27] = (char)0;
  s___1.s.error_color[28] = (char)0;
  s___1.s.error_color[29] = (char)0;
  s___1.s.error_color[30] = (char)0;
  s___1.s.error_color[31] = (char)0;
  s___1.s.error_color[32] = (char)0;
  s___1.s.error_color[33] = (char)0;
  s___1.s.error_color[34] = (char)0;
  s___1.s.error_color[35] = (char)0;
  s___1.s.error_color[36] = (char)0;
  s___1.s.error_color[37] = (char)0;
  s___1.s.error_color[38] = (char)0;
  s___1.s.error_color[39] = (char)0;
  s___1.s.error_color[40] = (char)0;
  s___1.s.error_color[41] = (char)0;
  s___1.s.error_color[42] = (char)0;
  s___1.s.error_color[43] = (char)0;
  s___1.s.error_color[44] = (char)0;
  s___1.s.error_color[45] = (char)0;
  s___1.s.error_color[46] = (char)0;
  s___1.s.error_color[47] = (char)0;
  s___1.s.error_color[48] = (char)0;
  s___1.s.error_color[49] = (char)0;
  s___1.s.error_color[50] = (char)0;
  s___1.s.error_color[51] = (char)0;
  s___1.s.error_color[52] = (char)0;
  s___1.s.error_color[53] = (char)0;
  s___1.s.error_color[54] = (char)0;
  s___1.s.error_color[55] = (char)0;
  s___1.s.error_color[56] = (char)0;
  s___1.s.error_color[57] = (char)0;
  s___1.s.error_color[58] = (char)0;
  s___1.s.error_color[59] = (char)0;
  s___1.s.error_color[60] = (char)0;
  s___1.s.error_color[61] = (char)0;
  s___1.s.error_color[62] = (char)0;
  s___1.s.error_color[63] = (char)0;
  s___1.s.error_color[64] = (char)0;
  s___1.s.error_color[65] = (char)0;
  s___1.s.error_color[66] = (char)0;
  s___1.s.error_color[67] = (char)0;
  s___1.s.error_color[68] = (char)0;
  s___1.s.error_color[69] = (char)0;
  s___1.s.error_color[70] = (char)0;
  s___1.s.error_color[71] = (char)0;
  s___1.s.error_color[72] = (char)0;
  s___1.s.error_color[73] = (char)0;
  s___1.s.error_color[74] = (char)0;
  s___1.s.reset_color[0] = (char)0;
  s___1.s.reset_color[1] = (char)0;
  s___1.s.reset_color[2] = (char)0;
  s___1.s.reset_color[3] = (char)0;
  s___1.s.reset_color[4] = (char)0;
  s___1.s.reset_color[5] = (char)0;
  s___1.s.reset_color[6] = (char)0;
  s___1.s.reset_color[7] = (char)0;
  s___1.s.reset_color[8] = (char)0;
  s___1.s.reset_color[9] = (char)0;
  s___1.s.reset_color[10] = (char)0;
  s___1.s.reset_color[11] = (char)0;
  s___1.s.reset_color[12] = (char)0;
  s___1.s.reset_color[13] = (char)0;
  s___1.s.reset_color[14] = (char)0;
  s___1.s.reset_color[15] = (char)0;
  s___1.s.reset_color[16] = (char)0;
  s___1.s.reset_color[17] = (char)0;
  s___1.s.reset_color[18] = (char)0;
  s___1.s.reset_color[19] = (char)0;
  s___1.s.reset_color[20] = (char)0;
  s___1.s.reset_color[21] = (char)0;
  s___1.s.reset_color[22] = (char)0;
  s___1.s.reset_color[23] = (char)0;
  s___1.s.reset_color[24] = (char)0;
  s___1.s.reset_color[25] = (char)0;
  s___1.s.reset_color[26] = (char)0;
  s___1.s.reset_color[27] = (char)0;
  s___1.s.reset_color[28] = (char)0;
  s___1.s.reset_color[29] = (char)0;
  s___1.s.reset_color[30] = (char)0;
  s___1.s.reset_color[31] = (char)0;
  s___1.s.reset_color[32] = (char)0;
  s___1.s.reset_color[33] = (char)0;
  s___1.s.reset_color[34] = (char)0;
  s___1.s.reset_color[35] = (char)0;
  s___1.s.reset_color[36] = (char)0;
  s___1.s.reset_color[37] = (char)0;
  s___1.s.reset_color[38] = (char)0;
  s___1.s.reset_color[39] = (char)0;
  s___1.s.reset_color[40] = (char)0;
  s___1.s.reset_color[41] = (char)0;
  s___1.s.reset_color[42] = (char)0;
  s___1.s.reset_color[43] = (char)0;
  s___1.s.reset_color[44] = (char)0;
  s___1.s.reset_color[45] = (char)0;
  s___1.s.reset_color[46] = (char)0;
  s___1.s.reset_color[47] = (char)0;
  s___1.s.reset_color[48] = (char)0;
  s___1.s.reset_color[49] = (char)0;
  s___1.s.reset_color[50] = (char)0;
  s___1.s.reset_color[51] = (char)0;
  s___1.s.reset_color[52] = (char)0;
  s___1.s.reset_color[53] = (char)0;
  s___1.s.reset_color[54] = (char)0;
  s___1.s.reset_color[55] = (char)0;
  s___1.s.reset_color[56] = (char)0;
  s___1.s.reset_color[57] = (char)0;
  s___1.s.reset_color[58] = (char)0;
  s___1.s.reset_color[59] = (char)0;
  s___1.s.reset_color[60] = (char)0;
  s___1.s.reset_color[61] = (char)0;
  s___1.s.reset_color[62] = (char)0;
  s___1.s.reset_color[63] = (char)0;
  s___1.s.reset_color[64] = (char)0;
  s___1.s.reset_color[65] = (char)0;
  s___1.s.reset_color[66] = (char)0;
  s___1.s.reset_color[67] = (char)0;
  s___1.s.reset_color[68] = (char)0;
  s___1.s.reset_color[69] = (char)0;
  s___1.s.reset_color[70] = (char)0;
  s___1.s.reset_color[71] = (char)0;
  s___1.s.reset_color[72] = (char)0;
  s___1.s.reset_color[73] = (char)0;
  s___1.s.reset_color[74] = (char)0;
  s___1.s.fraginfo_color[0] = (char)0;
  s___1.s.fraginfo_color[1] = (char)0;
  s___1.s.fraginfo_color[2] = (char)0;
  s___1.s.fraginfo_color[3] = (char)0;
  s___1.s.fraginfo_color[4] = (char)0;
  s___1.s.fraginfo_color[5] = (char)0;
  s___1.s.fraginfo_color[6] = (char)0;
  s___1.s.fraginfo_color[7] = (char)0;
  s___1.s.fraginfo_color[8] = (char)0;
  s___1.s.fraginfo_color[9] = (char)0;
  s___1.s.fraginfo_color[10] = (char)0;
  s___1.s.fraginfo_color[11] = (char)0;
  s___1.s.fraginfo_color[12] = (char)0;
  s___1.s.fraginfo_color[13] = (char)0;
  s___1.s.fraginfo_color[14] = (char)0;
  s___1.s.fraginfo_color[15] = (char)0;
  s___1.s.fraginfo_color[16] = (char)0;
  s___1.s.fraginfo_color[17] = (char)0;
  s___1.s.fraginfo_color[18] = (char)0;
  s___1.s.fraginfo_color[19] = (char)0;
  s___1.s.fraginfo_color[20] = (char)0;
  s___1.s.fraginfo_color[21] = (char)0;
  s___1.s.fraginfo_color[22] = (char)0;
  s___1.s.fraginfo_color[23] = (char)0;
  s___1.s.fraginfo_color[24] = (char)0;
  s___1.s.fraginfo_color[25] = (char)0;
  s___1.s.fraginfo_color[26] = (char)0;
  s___1.s.fraginfo_color[27] = (char)0;
  s___1.s.fraginfo_color[28] = (char)0;
  s___1.s.fraginfo_color[29] = (char)0;
  s___1.s.fraginfo_color[30] = (char)0;
  s___1.s.fraginfo_color[31] = (char)0;
  s___1.s.fraginfo_color[32] = (char)0;
  s___1.s.fraginfo_color[33] = (char)0;
  s___1.s.fraginfo_color[34] = (char)0;
  s___1.s.fraginfo_color[35] = (char)0;
  s___1.s.fraginfo_color[36] = (char)0;
  s___1.s.fraginfo_color[37] = (char)0;
  s___1.s.fraginfo_color[38] = (char)0;
  s___1.s.fraginfo_color[39] = (char)0;
  s___1.s.fraginfo_color[40] = (char)0;
  s___1.s.fraginfo_color[41] = (char)0;
  s___1.s.fraginfo_color[42] = (char)0;
  s___1.s.fraginfo_color[43] = (char)0;
  s___1.s.fraginfo_color[44] = (char)0;
  s___1.s.fraginfo_color[45] = (char)0;
  s___1.s.fraginfo_color[46] = (char)0;
  s___1.s.fraginfo_color[47] = (char)0;
  s___1.s.fraginfo_color[48] = (char)0;
  s___1.s.fraginfo_color[49] = (char)0;
  s___1.s.fraginfo_color[50] = (char)0;
  s___1.s.fraginfo_color[51] = (char)0;
  s___1.s.fraginfo_color[52] = (char)0;
  s___1.s.fraginfo_color[53] = (char)0;
  s___1.s.fraginfo_color[54] = (char)0;
  s___1.s.fraginfo_color[55] = (char)0;
  s___1.s.fraginfo_color[56] = (char)0;
  s___1.s.fraginfo_color[57] = (char)0;
  s___1.s.fraginfo_color[58] = (char)0;
  s___1.s.fraginfo_color[59] = (char)0;
  s___1.s.fraginfo_color[60] = (char)0;
  s___1.s.fraginfo_color[61] = (char)0;
  s___1.s.fraginfo_color[62] = (char)0;
  s___1.s.fraginfo_color[63] = (char)0;
  s___1.s.fraginfo_color[64] = (char)0;
  s___1.s.fraginfo_color[65] = (char)0;
  s___1.s.fraginfo_color[66] = (char)0;
  s___1.s.fraginfo_color[67] = (char)0;
  s___1.s.fraginfo_color[68] = (char)0;
  s___1.s.fraginfo_color[69] = (char)0;
  s___1.s.fraginfo_color[70] = (char)0;
  s___1.s.fraginfo_color[71] = (char)0;
  s___1.s.fraginfo_color[72] = (char)0;
  s___1.s.fraginfo_color[73] = (char)0;
  s___1.s.fraginfo_color[74] = (char)0;
  s___1.s.context_color[0] = (char)0;
  s___1.s.context_color[1] = (char)0;
  s___1.s.context_color[2] = (char)0;
  s___1.s.context_color[3] = (char)0;
  s___1.s.context_color[4] = (char)0;
  s___1.s.context_color[5] = (char)0;
  s___1.s.context_color[6] = (char)0;
  s___1.s.context_color[7] = (char)0;
  s___1.s.context_color[8] = (char)0;
  s___1.s.context_color[9] = (char)0;
  s___1.s.context_color[10] = (char)0;
  s___1.s.context_color[11] = (char)0;
  s___1.s.context_color[12] = (char)0;
  s___1.s.context_color[13] = (char)0;
  s___1.s.context_color[14] = (char)0;
  s___1.s.context_color[15] = (char)0;
  s___1.s.context_color[16] = (char)0;
  s___1.s.context_color[17] = (char)0;
  s___1.s.context_color[18] = (char)0;
  s___1.s.context_color[19] = (char)0;
  s___1.s.context_color[20] = (char)0;
  s___1.s.context_color[21] = (char)0;
  s___1.s.context_color[22] = (char)0;
  s___1.s.context_color[23] = (char)0;
  s___1.s.context_color[24] = (char)0;
  s___1.s.context_color[25] = (char)0;
  s___1.s.context_color[26] = (char)0;
  s___1.s.context_color[27] = (char)0;
  s___1.s.context_color[28] = (char)0;
  s___1.s.context_color[29] = (char)0;
  s___1.s.context_color[30] = (char)0;
  s___1.s.context_color[31] = (char)0;
  s___1.s.context_color[32] = (char)0;
  s___1.s.context_color[33] = (char)0;
  s___1.s.context_color[34] = (char)0;
  s___1.s.context_color[35] = (char)0;
  s___1.s.context_color[36] = (char)0;
  s___1.s.context_color[37] = (char)0;
  s___1.s.context_color[38] = (char)0;
  s___1.s.context_color[39] = (char)0;
  s___1.s.context_color[40] = (char)0;
  s___1.s.context_color[41] = (char)0;
  s___1.s.context_color[42] = (char)0;
  s___1.s.context_color[43] = (char)0;
  s___1.s.context_color[44] = (char)0;
  s___1.s.context_color[45] = (char)0;
  s___1.s.context_color[46] = (char)0;
  s___1.s.context_color[47] = (char)0;
  s___1.s.context_color[48] = (char)0;
  s___1.s.context_color[49] = (char)0;
  s___1.s.context_color[50] = (char)0;
  s___1.s.context_color[51] = (char)0;
  s___1.s.context_color[52] = (char)0;
  s___1.s.context_color[53] = (char)0;
  s___1.s.context_color[54] = (char)0;
  s___1.s.context_color[55] = (char)0;
  s___1.s.context_color[56] = (char)0;
  s___1.s.context_color[57] = (char)0;
  s___1.s.context_color[58] = (char)0;
  s___1.s.context_color[59] = (char)0;
  s___1.s.context_color[60] = (char)0;
  s___1.s.context_color[61] = (char)0;
  s___1.s.context_color[62] = (char)0;
  s___1.s.context_color[63] = (char)0;
  s___1.s.context_color[64] = (char)0;
  s___1.s.context_color[65] = (char)0;
  s___1.s.context_color[66] = (char)0;
  s___1.s.context_color[67] = (char)0;
  s___1.s.context_color[68] = (char)0;
  s___1.s.context_color[69] = (char)0;
  s___1.s.context_color[70] = (char)0;
  s___1.s.context_color[71] = (char)0;
  s___1.s.context_color[72] = (char)0;
  s___1.s.context_color[73] = (char)0;
  s___1.s.context_color[74] = (char)0;
  s___1.s.file_old_color[0] = (char)0;
  s___1.s.file_old_color[1] = (char)0;
  s___1.s.file_old_color[2] = (char)0;
  s___1.s.file_old_color[3] = (char)0;
  s___1.s.file_old_color[4] = (char)0;
  s___1.s.file_old_color[5] = (char)0;
  s___1.s.file_old_color[6] = (char)0;
  s___1.s.file_old_color[7] = (char)0;
  s___1.s.file_old_color[8] = (char)0;
  s___1.s.file_old_color[9] = (char)0;
  s___1.s.file_old_color[10] = (char)0;
  s___1.s.file_old_color[11] = (char)0;
  s___1.s.file_old_color[12] = (char)0;
  s___1.s.file_old_color[13] = (char)0;
  s___1.s.file_old_color[14] = (char)0;
  s___1.s.file_old_color[15] = (char)0;
  s___1.s.file_old_color[16] = (char)0;
  s___1.s.file_old_color[17] = (char)0;
  s___1.s.file_old_color[18] = (char)0;
  s___1.s.file_old_color[19] = (char)0;
  s___1.s.file_old_color[20] = (char)0;
  s___1.s.file_old_color[21] = (char)0;
  s___1.s.file_old_color[22] = (char)0;
  s___1.s.file_old_color[23] = (char)0;
  s___1.s.file_old_color[24] = (char)0;
  s___1.s.file_old_color[25] = (char)0;
  s___1.s.file_old_color[26] = (char)0;
  s___1.s.file_old_color[27] = (char)0;
  s___1.s.file_old_color[28] = (char)0;
  s___1.s.file_old_color[29] = (char)0;
  s___1.s.file_old_color[30] = (char)0;
  s___1.s.file_old_color[31] = (char)0;
  s___1.s.file_old_color[32] = (char)0;
  s___1.s.file_old_color[33] = (char)0;
  s___1.s.file_old_color[34] = (char)0;
  s___1.s.file_old_color[35] = (char)0;
  s___1.s.file_old_color[36] = (char)0;
  s___1.s.file_old_color[37] = (char)0;
  s___1.s.file_old_color[38] = (char)0;
  s___1.s.file_old_color[39] = (char)0;
  s___1.s.file_old_color[40] = (char)0;
  s___1.s.file_old_color[41] = (char)0;
  s___1.s.file_old_color[42] = (char)0;
  s___1.s.file_old_color[43] = (char)0;
  s___1.s.file_old_color[44] = (char)0;
  s___1.s.file_old_color[45] = (char)0;
  s___1.s.file_old_color[46] = (char)0;
  s___1.s.file_old_color[47] = (char)0;
  s___1.s.file_old_color[48] = (char)0;
  s___1.s.file_old_color[49] = (char)0;
  s___1.s.file_old_color[50] = (char)0;
  s___1.s.file_old_color[51] = (char)0;
  s___1.s.file_old_color[52] = (char)0;
  s___1.s.file_old_color[53] = (char)0;
  s___1.s.file_old_color[54] = (char)0;
  s___1.s.file_old_color[55] = (char)0;
  s___1.s.file_old_color[56] = (char)0;
  s___1.s.file_old_color[57] = (char)0;
  s___1.s.file_old_color[58] = (char)0;
  s___1.s.file_old_color[59] = (char)0;
  s___1.s.file_old_color[60] = (char)0;
  s___1.s.file_old_color[61] = (char)0;
  s___1.s.file_old_color[62] = (char)0;
  s___1.s.file_old_color[63] = (char)0;
  s___1.s.file_old_color[64] = (char)0;
  s___1.s.file_old_color[65] = (char)0;
  s___1.s.file_old_color[66] = (char)0;
  s___1.s.file_old_color[67] = (char)0;
  s___1.s.file_old_color[68] = (char)0;
  s___1.s.file_old_color[69] = (char)0;
  s___1.s.file_old_color[70] = (char)0;
  s___1.s.file_old_color[71] = (char)0;
  s___1.s.file_old_color[72] = (char)0;
  s___1.s.file_old_color[73] = (char)0;
  s___1.s.file_old_color[74] = (char)0;
  s___1.s.file_new_color[0] = (char)0;
  s___1.s.file_new_color[1] = (char)0;
  s___1.s.file_new_color[2] = (char)0;
  s___1.s.file_new_color[3] = (char)0;
  s___1.s.file_new_color[4] = (char)0;
  s___1.s.file_new_color[5] = (char)0;
  s___1.s.file_new_color[6] = (char)0;
  s___1.s.file_new_color[7] = (char)0;
  s___1.s.file_new_color[8] = (char)0;
  s___1.s.file_new_color[9] = (char)0;
  s___1.s.file_new_color[10] = (char)0;
  s___1.s.file_new_color[11] = (char)0;
  s___1.s.file_new_color[12] = (char)0;
  s___1.s.file_new_color[13] = (char)0;
  s___1.s.file_new_color[14] = (char)0;
  s___1.s.file_new_color[15] = (char)0;
  s___1.s.file_new_color[16] = (char)0;
  s___1.s.file_new_color[17] = (char)0;
  s___1.s.file_new_color[18] = (char)0;
  s___1.s.file_new_color[19] = (char)0;
  s___1.s.file_new_color[20] = (char)0;
  s___1.s.file_new_color[21] = (char)0;
  s___1.s.file_new_color[22] = (char)0;
  s___1.s.file_new_color[23] = (char)0;
  s___1.s.file_new_color[24] = (char)0;
  s___1.s.file_new_color[25] = (char)0;
  s___1.s.file_new_color[26] = (char)0;
  s___1.s.file_new_color[27] = (char)0;
  s___1.s.file_new_color[28] = (char)0;
  s___1.s.file_new_color[29] = (char)0;
  s___1.s.file_new_color[30] = (char)0;
  s___1.s.file_new_color[31] = (char)0;
  s___1.s.file_new_color[32] = (char)0;
  s___1.s.file_new_color[33] = (char)0;
  s___1.s.file_new_color[34] = (char)0;
  s___1.s.file_new_color[35] = (char)0;
  s___1.s.file_new_color[36] = (char)0;
  s___1.s.file_new_color[37] = (char)0;
  s___1.s.file_new_color[38] = (char)0;
  s___1.s.file_new_color[39] = (char)0;
  s___1.s.file_new_color[40] = (char)0;
  s___1.s.file_new_color[41] = (char)0;
  s___1.s.file_new_color[42] = (char)0;
  s___1.s.file_new_color[43] = (char)0;
  s___1.s.file_new_color[44] = (char)0;
  s___1.s.file_new_color[45] = (char)0;
  s___1.s.file_new_color[46] = (char)0;
  s___1.s.file_new_color[47] = (char)0;
  s___1.s.file_new_color[48] = (char)0;
  s___1.s.file_new_color[49] = (char)0;
  s___1.s.file_new_color[50] = (char)0;
  s___1.s.file_new_color[51] = (char)0;
  s___1.s.file_new_color[52] = (char)0;
  s___1.s.file_new_color[53] = (char)0;
  s___1.s.file_new_color[54] = (char)0;
  s___1.s.file_new_color[55] = (char)0;
  s___1.s.file_new_color[56] = (char)0;
  s___1.s.file_new_color[57] = (char)0;
  s___1.s.file_new_color[58] = (char)0;
  s___1.s.file_new_color[59] = (char)0;
  s___1.s.file_new_color[60] = (char)0;
  s___1.s.file_new_color[61] = (char)0;
  s___1.s.file_new_color[62] = (char)0;
  s___1.s.file_new_color[63] = (char)0;
  s___1.s.file_new_color[64] = (char)0;
  s___1.s.file_new_color[65] = (char)0;
  s___1.s.file_new_color[66] = (char)0;
  s___1.s.file_new_color[67] = (char)0;
  s___1.s.file_new_color[68] = (char)0;
  s___1.s.file_new_color[69] = (char)0;
  s___1.s.file_new_color[70] = (char)0;
  s___1.s.file_new_color[71] = (char)0;
  s___1.s.file_new_color[72] = (char)0;
  s___1.s.file_new_color[73] = (char)0;
  s___1.s.file_new_color[74] = (char)0;
  s___1.s.use_single_key = 0;
  s___1.s.interactive_diff_filter = (char *)0;
  s___1.s.interactive_diff_algorithm = (char *)0;
  s___1.answer.alloc = 0UL;
  s___1.answer.len = 0UL;
  s___1.answer.buf = strbuf_slopbuf;
  s___1.buf.alloc = 0UL;
  s___1.buf.len = 0UL;
  s___1.buf.buf = strbuf_slopbuf;
  s___1.plain.alloc = 0UL;
  s___1.plain.len = 0UL;
  s___1.plain.buf = strbuf_slopbuf;
  s___1.colored.alloc = 0UL;
  s___1.colored.len = 0UL;
  s___1.colored.buf = strbuf_slopbuf;
  s___1.file_diff = (struct file_diff *)0;
  s___1.file_diff_nr = 0UL;
  s___1.mode = (struct patch_mode *)0;
  s___1.revision = (char const   *)0;
  binary_count = (size_t )0;
  init_add_i_state(& s___1.s, r);
  if ((unsigned int )mode___1 == 1U) {
    s___1.mode = & patch_mode_stash;
  } else
  if ((unsigned int )mode___1 == 2U) {
    if (! revision) {
      s___1.mode = & patch_mode_reset_head;
    } else {
      tmp = strcmp(revision, (char const   *)"HEAD");
      if (tmp) {
        s___1.mode = & patch_mode_reset_nothead;
      } else {
        s___1.mode = & patch_mode_reset_head;
      }
    }
  } else
  if ((unsigned int )mode___1 == 3U) {
    if (! revision) {
      s___1.mode = & patch_mode_checkout_index;
    } else {
      tmp___0 = strcmp(revision, (char const   *)"HEAD");
      if (tmp___0) {
        s___1.mode = & patch_mode_checkout_nothead;
      } else {
        s___1.mode = & patch_mode_checkout_head;
      }
    }
  } else
  if ((unsigned int )mode___1 == 4U) {
    if (! revision) {
      s___1.mode = & patch_mode_checkout_index;
    } else {
      tmp___1 = strcmp(revision, (char const   *)"HEAD");
      if (tmp___1) {
        s___1.mode = & patch_mode_worktree_nothead;
      } else {
        s___1.mode = & patch_mode_worktree_head;
      }
    }
  } else {
    s___1.mode = & patch_mode_add;
  }
  s___1.revision = revision;
  tmp___2 = discard_index(r->index);
  if (tmp___2 < 0) {
    add_p_state_clear(& s___1);
    return (-1);
  } else {
    tmp___3 = repo_read_index(r);
    if (tmp___3 < 0) {
      add_p_state_clear(& s___1);
      return (-1);
    } else
    if (! (s___1.mode)->index_only) {
      tmp___4 = repo_refresh_and_write_index(r, (unsigned int )(1 << 2), 0U, 1, (struct pathspec  const  *)((void *)0),
                                             (char *)((void *)0), (char const   *)((void *)0));
      if (tmp___4 < 0) {
        add_p_state_clear(& s___1);
        return (-1);
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      tmp___5 = parse_diff(& s___1, ps);
      if (tmp___5 < 0) {
        add_p_state_clear(& s___1);
        return (-1);
      }
    }
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1.file_diff_nr)) {
      goto while_break;
    }
    if ((s___1.file_diff + i)->binary) {
      if (! (s___1.file_diff + i)->hunk_nr) {
        binary_count ++;
      } else {
        goto _L___0;
      }
    } else {
      _L___0: /* CIL Label */
      tmp___6 = patch_update_file(& s___1, s___1.file_diff + i);
      if (tmp___6) {
        goto while_break;
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (s___1.file_diff_nr == 0UL) {
    tmp___7 = _((char const   *)"No changes.\n");
    fprintf(stderr, (char const   *)tmp___7);
  } else
  if (binary_count == s___1.file_diff_nr) {
    tmp___8 = _((char const   *)"Only binary files changed.\n");
    fprintf(stderr, (char const   *)tmp___8);
  }
  add_p_state_clear(& s___1);
  return (0);
}
}
__inline static void mput_char(char c___0 , unsigned int num )
{
  unsigned int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = num;
    num --;
    if (! tmp) {
      goto while_break;
    }
    putchar((int )c___0);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void list_common_cmds_help(void) ;
void list_all_cmds_help(void) ;
void list_guides_help(void) ;
void list_all_main_cmds(struct string_list *list___3 ) ;
void list_all_other_cmds(struct string_list *list___3 ) ;
void list_cmds_by_category(struct string_list *list___3 , char const   *cat ) ;
void list_cmds_by_config(struct string_list *list___3 ) ;
char const   *help_unknown_cmd(char const   *cmd ) ;
void load_command_list(char const   *prefix___1 , struct cmdnames *main_cmds___1 ,
                       struct cmdnames *other_cmds___1 ) ;
void load_builtin_commands(char const   *prefix___1 , struct cmdnames *cmds___0 ) ;
void add_cmdname(struct cmdnames *cmds___0 , char const   *name___0 , int len___0 ) ;
void exclude_cmds(struct cmdnames *cmds___0 , struct cmdnames *excludes ) ;
int is_in_cmdlist(struct cmdnames *c___0 , char const   *s___1 ) ;
void list_commands(struct cmdnames *main_cmds___1 , struct cmdnames *other_cmds___1 ) ;
void get_version_info(struct strbuf *buf___19 , int show_build_options ) ;
void help_unknown_ref(char const   *ref , char const   *cmd , char const   *error___0 )  __attribute__((__noreturn__)) ;
__inline static void list_config_item(struct string_list *list___3 , char const   *prefix___1 ,
                                      char const   *str )
{
  char *tmp ;

  {
  tmp = xstrfmt((char const   *)"%s.%s", prefix___1, str);
  string_list_append_nodup(list___3, tmp);
  return;
}
}
void list_config_advices(struct string_list *list___3 , char const   *prefix___1 ) ;
void list_config_color_branch_slots(struct string_list *list___3 , char const   *prefix___1 ) ;
void list_config_color_decorate_slots(struct string_list *list___3 , char const   *prefix___1 ) ;
void list_config_color_diff_slots(struct string_list *list___3 , char const   *prefix___1 ) ;
void list_config_color_grep_slots(struct string_list *list___3 , char const   *prefix___1 ) ;
void list_config_color_interactive_slots(struct string_list *list___3 , char const   *prefix___1 ) ;
void list_config_color_status_slots(struct string_list *list___3 , char const   *prefix___1 ) ;
void list_config_color_sideband_slots(struct string_list *list___3 , char const   *prefix___1 ) ;
void list_config_fsck_msg_ids(struct string_list *list___3 , char const   *prefix___1 ) ;
static int advice_use_color  =    -1;
static char advice_colors[2][75]  = { {        (char )'\033',        (char )'[',        (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'3',        (char )'3',
            (char )'m',        (char )'\000'}};
static int parse_advise_color_slot(char const   *slot )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = strcasecmp(slot, (char const   *)"reset");
  if (! tmp) {
    return (0);
  }
  tmp___0 = strcasecmp(slot, (char const   *)"hint");
  if (! tmp___0) {
    return (1);
  }
  return (-1);
}
}
static char const   *advise_get_color(enum color_advice ix )
{
  int tmp ;

  {
  tmp = want_color_fd(2, advice_use_color);
  if (tmp) {
    return ((char const   *)(advice_colors[ix]));
  }
  return ((char const   *)"");
}
}
static struct __anonstruct_advice_setting_713894858 advice_setting[34]  =
  {      {(char const   *)"addEmbeddedRepo", 1},
        {(char const   *)"addEmptyPathspec", 1},
        {(char const   *)"addIgnoredFile", 1},
        {(char const   *)"amWorkDir", 1},
        {(char const   *)"checkoutAmbiguousRemoteBranchName", 1},
        {(char const   *)"commitBeforeMerge", 1},
        {(char const   *)"detachedHead", 1},
        {(char const   *)"fetchShowForcedUpdates", 1},
        {(char const   *)"graftFileDeprecated", 1},
        {(char const   *)"ignoredHook", 1},
        {(char const   *)"implicitIdentity", 1},
        {(char const   *)"nestedTag", 1},
        {(char const   *)"objectNameWarning", 1},
        {(char const   *)"pushAlreadyExists", 1},
        {(char const   *)"pushFetchFirst", 1},
        {(char const   *)"pushNeedsForce", 1},
        {(char const   *)"pushNonFFCurrent", 1},
        {(char const   *)"pushNonFFMatching", 1},
        {(char const   *)"pushUnqualifiedRefName", 1},
        {(char const   *)"pushNonFastForward", 1},
        {(char const   *)"pushUpdateRejected", 1},
        {(char const   *)"pushRefNeedsUpdate", 1},
        {(char const   *)"resetQuiet", 1},
        {(char const   *)"resolveConflict", 1},
        {(char const   *)"rmHints", 1},
        {(char const   *)"sequencerInUse", 1},
        {(char const   *)"setUpstreamFailure", 1},
        {(char const   *)"statusAheadBehindWarning", 1},
        {(char const   *)"statusHints", 1},
        {(char const   *)"statusUoption", 1},
        {(char const   *)"submoduleAlternateErrorStrategyDie", 1},
        {(char const   *)"updateSparsePath", 1},
        {(char const   *)"waitingForEditor", 1},
        {(char const   *)"skippedCherryPicks", 1}};
static char const   turn_off_instructions[56]  =
  {      (char const   )'\n',      (char const   )'D',      (char const   )'i',      (char const   )'s',
        (char const   )'a',      (char const   )'b',      (char const   )'l',      (char const   )'e',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'i',
        (char const   )'s',      (char const   )' ',      (char const   )'m',      (char const   )'e',
        (char const   )'s',      (char const   )'s',      (char const   )'a',      (char const   )'g',
        (char const   )'e',      (char const   )' ',      (char const   )'w',      (char const   )'i',
        (char const   )'t',      (char const   )'h',      (char const   )' ',      (char const   )'\"',
        (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'n',      (char const   )'f',
        (char const   )'i',      (char const   )'g',      (char const   )' ',      (char const   )'a',
        (char const   )'d',      (char const   )'v',      (char const   )'i',      (char const   )'c',
        (char const   )'e',      (char const   )'.',      (char const   )'%',      (char const   )'s',
        (char const   )' ',      (char const   )'f',      (char const   )'a',      (char const   )'l',
        (char const   )'s',      (char const   )'e',      (char const   )'\"',      (char const   )'\000'};
static void vadvise(char const   *advice , int display_instructions , char const   *key___1 ,
                    va_list params )
{
  struct strbuf buf___19 ;
  char const   *cp ;
  char const   *np ;
  char *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  strbuf_vaddf(& buf___19, advice, params);
  if (display_instructions) {
    strbuf_addf(& buf___19, turn_off_instructions, key___1);
  }
  cp = (char const   *)buf___19.buf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *cp) {
      goto while_break;
    }
    tmp = strchrnul(cp, '\n');
    np = (char const   *)tmp;
    tmp___0 = advise_get_color((enum color_advice )0);
    tmp___1 = advise_get_color((enum color_advice )1);
    tmp___2 = _((char const   *)"%shint: %.*s%s\n");
    fprintf(stderr, (char const   *)tmp___2, tmp___1, (int )(np - cp), cp, tmp___0);
    if (*np) {
      np ++;
    }
    cp = np;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  return;
}
}
void ( /* format attribute */  advise)(char const   *advice  , ...)
{
  va_list params ;

  {
  __builtin_va_start(params, advice);
  vadvise(advice, 0, (char const   *)"", params);
  __builtin_va_end(params);
  return;
}
}
int advice_enabled(enum advice_type type___0 )
{
  int tmp ;

  {
  {
  if ((unsigned int )type___0 == 20U) {
    goto case_20;
  }
  goto switch_default;
  case_20: /* CIL Label */
  if (advice_setting[20].enabled) {
    if (advice_setting[19].enabled) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
  switch_default: /* CIL Label */
  return (advice_setting[type___0].enabled);
  switch_break: /* CIL Label */ ;
  }
}
}
void ( /* format attribute */  advise_if_enabled)(enum advice_type type___0 , char const   *advice
                                                  , ...)
{
  va_list params ;
  int tmp ;

  {
  tmp = advice_enabled(type___0);
  if (! tmp) {
    return;
  }
  __builtin_va_start(params, advice);
  vadvise(advice, 1, advice_setting[type___0].key, params);
  __builtin_va_end(params);
  return;
}
}
int git_default_advice_config(char const   *var , char const   *value )
{
  char const   *k ;
  char const   *slot_name ;
  int i ;
  int tmp ;
  int slot ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = strcmp(var, (char const   *)"color.advice");
  if (! tmp) {
    advice_use_color = git_config_colorbool(var, value);
    return (0);
  }
  tmp___3 = skip_prefix(var, (char const   *)"color.advice.", & slot_name);
  if (tmp___3) {
    tmp___0 = parse_advise_color_slot(slot_name);
    slot = tmp___0;
    if (slot < 0) {
      return (0);
    }
    if (! value) {
      config_error_nonbool(var);
      tmp___1 = const_error();
      return (tmp___1);
    }
    tmp___2 = color_parse(value, advice_colors[slot]);
    return (tmp___2);
  }
  tmp___4 = skip_prefix(var, (char const   *)"advice.", & k);
  if (! tmp___4) {
    return (0);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(advice_setting) / sizeof(advice_setting[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp___5 = strcasecmp(k, advice_setting[i].key);
    if (tmp___5) {
      goto __Cont;
    }
    advice_setting[i].enabled = git_config_bool(var, value);
    return (0);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
void list_config_advices(struct string_list *list___3 , char const   *prefix___1 )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(advice_setting) / sizeof(advice_setting[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    list_config_item(list___3, prefix___1, advice_setting[i].key);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int error_resolve_conflict(char const   *me )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;

  {
  tmp___9 = strcmp(me, (char const   *)"cherry-pick");
  if (tmp___9) {
    tmp___8 = strcmp(me, (char const   *)"commit");
    if (tmp___8) {
      tmp___7 = strcmp(me, (char const   *)"merge");
      if (tmp___7) {
        tmp___6 = strcmp(me, (char const   *)"pull");
        if (tmp___6) {
          tmp___5 = strcmp(me, (char const   *)"revert");
          if (tmp___5) {
            tmp___4 = _((char const   *)"It is not possible to %s because you have unmerged files.");
            error((char const   *)tmp___4, me);
            const_error();
          } else {
            tmp___3 = _((char const   *)"Reverting is not possible because you have unmerged files.");
            error((char const   *)tmp___3);
            const_error();
          }
        } else {
          tmp___2 = _((char const   *)"Pulling is not possible because you have unmerged files.");
          error((char const   *)tmp___2);
          const_error();
        }
      } else {
        tmp___1 = _((char const   *)"Merging is not possible because you have unmerged files.");
        error((char const   *)tmp___1);
        const_error();
      }
    } else {
      tmp___0 = _((char const   *)"Committing is not possible because you have unmerged files.");
      error((char const   *)tmp___0);
      const_error();
    }
  } else {
    tmp = _((char const   *)"Cherry-picking is not possible because you have unmerged files.");
    error((char const   *)tmp);
    const_error();
  }
  tmp___11 = advice_enabled((enum advice_type )23);
  if (tmp___11) {
    tmp___10 = _((char const   *)"Fix them up in the work tree, and then use \'git add/rm <file>\'\nas appropriate to mark resolution and make a commit.");
    advise((char const   *)tmp___10);
  }
  return (-1);
}
}
void die_resolve_conflict(char const   *me )  __attribute__((__noreturn__)) ;
void die_resolve_conflict(char const   *me )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  error_resolve_conflict(me);
  tmp = _((char const   *)"Exiting because of an unresolved conflict.");
  die((char const   *)tmp);
}
}
void die_conclude_merge(void)  __attribute__((__noreturn__)) ;
void die_conclude_merge(void)
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  tmp = _((char const   *)"You have not concluded your merge (MERGE_HEAD exists).");
  error((char const   *)tmp);
  const_error();
  tmp___1 = advice_enabled((enum advice_type )23);
  if (tmp___1) {
    tmp___0 = _((char const   *)"Please, commit your changes before merging.");
    advise((char const   *)tmp___0);
  }
  tmp___2 = _((char const   *)"Exiting because of unfinished merge.");
  die((char const   *)tmp___2);
}
}
void die_ff_impossible(void)  __attribute__((__noreturn__)) ;
void die_ff_impossible(void)
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  tmp = _((char const   *)"Not possible to fast-forward, aborting.");
  die((char const   *)tmp);
}
}
void advise_on_updating_sparse_paths(struct string_list *pathspec_list )
{
  struct string_list_item *item___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  if (! pathspec_list->nr) {
    return;
  }
  tmp = _((char const   *)"The following paths and/or pathspecs matched paths that exist\noutside of your sparse-checkout definition, so will not be\nupdated in the index:\n");
  fprintf(stderr, (char const   *)tmp);
  item___0 = pathspec_list->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(pathspec_list->items + pathspec_list->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    fprintf(stderr, (char const   *)"%s\n", item___0->string);
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = _((char const   *)"If you intend to update such entries, try one of the following:\n* Use the --sparse option.\n* Disable or modify the sparsity rules.");
  advise_if_enabled((enum advice_type )31, (char const   *)tmp___0);
  return;
}
}
void detach_advice(char const   *new_name )
{
  char const   *fmt ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  tmp = _((char const   *)"Note: switching to \'%s\'.\n\nYou are in \'detached HEAD\' state. You can look around, make experimental\nchanges and commit them, and you can discard any commits you make in this\nstate without impacting any branches by switching back to a branch.\n\nIf you want to create a new branch to retain commits you create, you may\ndo so (now or later) by using -c with the switch command. Example:\n\n  git switch -c <new-branch-name>\n\nOr undo this operation with:\n\n  git switch -\n\nTurn off this advice by setting config variable advice.detachedHead to false\n\n");
  fmt = (char const   *)tmp;
  fprintf(stderr, fmt, new_name);
  return;
}
}
char *alias_lookup(char const   *alias ) ;
int split_cmdline(char *cmdline , char const   ***argv___0 ) ;
char const   *split_cmdline_strerror(int split_cmdline_errno ) ;
void list_aliases(struct string_list *list___3 ) ;
static int config_alias_cb(char const   *key___1 , char const   *value , void *d )
{
  struct config_alias_data *data ;
  char const   *p___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  data = (struct config_alias_data *)d;
  tmp = skip_prefix(key___1, (char const   *)"alias.", & p___0);
  if (! tmp) {
    return (0);
  }
  if (data->alias) {
    tmp___1 = strcasecmp(p___0, data->alias);
    if (! tmp___1) {
      tmp___0 = git_config_string((char const   **)(& data->v), key___1, value);
      return (tmp___0);
    }
  } else
  if (data->list) {
    string_list_append(data->list, p___0);
  }
  return (0);
}
}
char *alias_lookup(char const   *alias )
{
  struct config_alias_data data ;

  {
  data.alias = alias;
  data.v = (char *)((void *)0);
  data.list = (struct string_list *)0;
  read_early_config(& config_alias_cb, (void *)(& data));
  return (data.v);
}
}
void list_aliases(struct string_list *list___3 )
{
  struct config_alias_data data ;

  {
  data.alias = (char const   *)((void *)0);
  data.v = (char *)((void *)0);
  data.list = list___3;
  read_early_config(& config_alias_cb, (void *)(& data));
  return;
}
}
static char const   *split_cmdline_errors[2]  = {      (char const   *)"cmdline ends with \\",      (char const   *)"unclosed quote"};
int split_cmdline(char *cmdline , char const   ***argv___0 )
{
  int src ;
  int dst ;
  int count___0 ;
  int size ;
  char quoted ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  char c___0 ;
  int tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  size_t tmp___7 ;
  void *tmp___8 ;

  {
  count___0 = 0;
  size = 16;
  quoted = (char)0;
  tmp = st_mult(sizeof(*(*argv___0)), (size_t )size);
  tmp___0 = xmalloc(tmp);
  *argv___0 = (char const   **)tmp___0;
  tmp___1 = count___0;
  count___0 ++;
  *(*argv___0 + tmp___1) = (char const   *)cmdline;
  dst = 0;
  src = dst;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(cmdline + src)) {
      goto while_break;
    }
    c___0 = *(cmdline + src);
    if (! quoted) {
      if (((int const   )sane_ctype[(unsigned char )c___0] & 1) != 0) {
        tmp___2 = dst;
        dst ++;
        *(cmdline + tmp___2) = (char)0;
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          src ++;
          if (*(cmdline + src)) {
            if (! (((int const   )sane_ctype[(unsigned char )*(cmdline + src)] & 1) != 0)) {
              goto while_break___0;
            }
          } else {
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          if (count___0 + 1 > size) {
            if (((size + 16) * 3) / 2 < count___0 + 1) {
              size = count___0 + 1;
            } else {
              size = ((size + 16) * 3) / 2;
            }
            tmp___3 = st_mult(sizeof(*(*argv___0)), (size_t )size);
            tmp___4 = xrealloc((void *)*argv___0, tmp___3);
            *argv___0 = (char const   **)tmp___4;
          }
          goto while_break___1;
        }
        while_break___1: /* CIL Label */ ;
        }
        tmp___5 = count___0;
        count___0 ++;
        *(*argv___0 + tmp___5) = (char const   *)(cmdline + dst);
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if (! quoted) {
      if ((int )c___0 == 39) {
        quoted = c___0;
        src ++;
      } else
      if ((int )c___0 == 34) {
        quoted = c___0;
        src ++;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if ((int )c___0 == (int )quoted) {
      quoted = (char)0;
      src ++;
    } else {
      if ((int )c___0 == 92) {
        if ((int )quoted != 39) {
          src ++;
          c___0 = *(cmdline + src);
          if (! c___0) {
            {
            while (1) {
              while_continue___2: /* CIL Label */ ;
              free((void *)*argv___0);
              *argv___0 = (char const   **)((void *)0);
              goto while_break___2;
            }
            while_break___2: /* CIL Label */ ;
            }
            return (-1);
          }
        }
      }
      tmp___6 = dst;
      dst ++;
      *(cmdline + tmp___6) = c___0;
      src ++;
    }
  }
  while_break: /* CIL Label */ ;
  }
  *(cmdline + dst) = (char)0;
  if (quoted) {
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      free((void *)*argv___0);
      *argv___0 = (char const   **)((void *)0);
      goto while_break___3;
    }
    while_break___3: /* CIL Label */ ;
    }
    return (-2);
  }
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (count___0 + 1 > size) {
      if (((size + 16) * 3) / 2 < count___0 + 1) {
        size = count___0 + 1;
      } else {
        size = ((size + 16) * 3) / 2;
      }
      tmp___7 = st_mult(sizeof(*(*argv___0)), (size_t )size);
      tmp___8 = xrealloc((void *)*argv___0, tmp___7);
      *argv___0 = (char const   **)tmp___8;
    }
    goto while_break___4;
  }
  while_break___4: /* CIL Label */ ;
  }
  *(*argv___0 + count___0) = (char const   *)((void *)0);
  return (count___0);
}
}
char const   *split_cmdline_strerror(int split_cmdline_errno )
{


  {
  return (split_cmdline_errors[- split_cmdline_errno - 1]);
}
}
char const   *blob_type ;
struct blob *lookup_blob(struct repository *r , struct object_id  const  *oid ) ;
int parse_blob_buffer(struct blob *item___0 , void *buffer___5 , unsigned long size ) ;
char const   *tag_type ;
struct tag *lookup_tag(struct repository *r , struct object_id  const  *oid ) ;
int parse_tag_buffer(struct repository *r , struct tag *item___0 , void const   *data ,
                     unsigned long size ) ;
int parse_tag(struct tag *item___0 ) ;
void release_tag_memory(struct tag *t ) ;
struct object *deref_tag(struct repository *r , struct object *o , char const   *warn ,
                         int warnlen ) ;
struct object *deref_tag_noverify(struct object *o ) ;
int gpg_verify_tag(struct object_id  const  *oid , char const   *name_to_report ,
                   unsigned int flags___0 ) ;
struct object_id *get_tagged_oid(struct tag *tag ) ;
void *alloc_blob_node(struct repository *r ) ;
void *alloc_tree_node(struct repository *r ) ;
void init_commit_node(struct commit *c___0 ) ;
void *alloc_commit_node(struct repository *r ) ;
void *alloc_tag_node(struct repository *r ) ;
void *alloc_object_node(struct repository *r ) ;
void alloc_report(struct repository *r ) ;
struct alloc_state *allocate_alloc_state(void) ;
void clear_alloc_state(struct alloc_state *s___1 ) ;
struct alloc_state *allocate_alloc_state(void)
{
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(struct alloc_state ));
  return ((struct alloc_state *)tmp);
}
}
void clear_alloc_state(struct alloc_state *s___1 )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (s___1->slab_nr > 0)) {
      goto while_break;
    }
    (s___1->slab_nr) --;
    free(*(s___1->slabs + s___1->slab_nr));
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slabs);
    s___1->slabs = (void **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
__inline static void *alloc_node(struct alloc_state *s___1 , size_t node_size )
{
  void *ret___67 ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  if (! s___1->nr) {
    s___1->nr = 1024;
    s___1->p = xmalloc(1024UL * node_size);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (s___1->slab_nr + 1 > s___1->slab_alloc) {
        if (((s___1->slab_alloc + 16) * 3) / 2 < s___1->slab_nr + 1) {
          s___1->slab_alloc = s___1->slab_nr + 1;
        } else {
          s___1->slab_alloc = ((s___1->slab_alloc + 16) * 3) / 2;
        }
        tmp = st_mult(sizeof(*(s___1->slabs)), (size_t )s___1->slab_alloc);
        tmp___0 = xrealloc((void *)s___1->slabs, tmp);
        s___1->slabs = (void **)tmp___0;
      }
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    tmp___1 = s___1->slab_nr;
    (s___1->slab_nr) ++;
    *(s___1->slabs + tmp___1) = s___1->p;
  }
  (s___1->nr) --;
  (s___1->count) ++;
  ret___67 = s___1->p;
  s___1->p = (void *)((char *)s___1->p + node_size);
  memset(ret___67, 0, node_size);
  return (ret___67);
}
}
void *alloc_blob_node(struct repository *r )
{
  struct blob *b___0 ;
  void *tmp ;

  {
  tmp = alloc_node((r->parsed_objects)->blob_state, sizeof(struct blob ));
  b___0 = (struct blob *)tmp;
  b___0->object.type = 3U;
  return ((void *)b___0);
}
}
void *alloc_tree_node(struct repository *r )
{
  struct tree *t ;
  void *tmp ;

  {
  tmp = alloc_node((r->parsed_objects)->tree_state, sizeof(struct tree ));
  t = (struct tree *)tmp;
  t->object.type = 2U;
  return ((void *)t);
}
}
void *alloc_tag_node(struct repository *r )
{
  struct tag *t ;
  void *tmp ;

  {
  tmp = alloc_node((r->parsed_objects)->tag_state, sizeof(struct tag ));
  t = (struct tag *)tmp;
  t->object.type = 4U;
  return ((void *)t);
}
}
void *alloc_object_node(struct repository *r )
{
  struct object *obj ;
  void *tmp ;

  {
  tmp = alloc_node((r->parsed_objects)->object_state, sizeof(union any_object ));
  obj = (struct object *)tmp;
  obj->type = 0U;
  return ((void *)obj);
}
}
static unsigned int parsed_commits_count  ;
static unsigned int alloc_commit_index(void)
{
  unsigned int tmp ;

  {
  tmp = parsed_commits_count;
  parsed_commits_count ++;
  return (tmp);
}
}
void init_commit_node(struct commit *c___0 )
{


  {
  c___0->object.type = 1U;
  c___0->index = alloc_commit_index();
  return;
}
}
void *alloc_commit_node(struct repository *r )
{
  struct commit *c___0 ;
  void *tmp ;

  {
  tmp = alloc_node((r->parsed_objects)->commit_state, sizeof(struct commit ));
  c___0 = (struct commit *)tmp;
  init_commit_node(c___0);
  return ((void *)c___0);
}
}
static void report(char const   *name___0 , unsigned int count___0 , size_t size )
{


  {
  fprintf(stderr, (char const   *)"%10s: %8u (%lu kB)\n", name___0, count___0, size);
  return;
}
}
void alloc_report(struct repository *r )
{


  {
  report((char const   *)"blob", (unsigned int )((r->parsed_objects)->blob_state)->count,
         (unsigned long )((r->parsed_objects)->blob_state)->count * sizeof(struct blob ) >> 10);
  report((char const   *)"tree", (unsigned int )((r->parsed_objects)->tree_state)->count,
         (unsigned long )((r->parsed_objects)->tree_state)->count * sizeof(struct tree ) >> 10);
  report((char const   *)"commit", (unsigned int )((r->parsed_objects)->commit_state)->count,
         (unsigned long )((r->parsed_objects)->commit_state)->count * sizeof(struct commit ) >> 10);
  report((char const   *)"tag", (unsigned int )((r->parsed_objects)->tag_state)->count,
         (unsigned long )((r->parsed_objects)->tag_state)->count * sizeof(struct tag ) >> 10);
  report((char const   *)"object", (unsigned int )((r->parsed_objects)->object_state)->count,
         (unsigned long )((r->parsed_objects)->object_state)->count * sizeof(union any_object ) >> 10);
  return;
}
}
static double const   __ac_HASH_UPPER___4  =    (double const   )0.77;
__inline static void kh_resize_oid_set___4(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___4(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___4 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___4 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___4(kh_oid_set_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___4(kh_oid_set_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___4(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___4(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___4(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___4(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___4 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___4 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___4(kh_oid_map_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___4(kh_oid_map_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___4(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___4(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___4(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___4(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___4 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___4 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___4(kh_oid_pos_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___4(kh_oid_pos_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___4(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___4(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___1(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___1(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___4 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___4 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___1(kh_odb_path_map_t *h , char const   *key___1 ,
                                                int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___1(kh_odb_path_map_t *h , char const   *key___1 ,
                                                int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___1(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___1(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
struct delta_index *create_delta_index(void const   *buf___19 , unsigned long bufsize ) ;
void free_delta_index(struct delta_index *index___2 ) ;
unsigned long sizeof_delta_index(struct delta_index *index___2 ) ;
void *create_delta(struct delta_index  const  *index___2 , void const   *trg_buf ,
                   unsigned long trg_size , unsigned long *delta_size , unsigned long max_size___0 ) ;
__inline static void *diff_delta(void const   *src_buf , unsigned long src_bufsize ,
                                 void const   *trg_buf , unsigned long trg_bufsize ,
                                 unsigned long *delta_size , unsigned long max_delta_size )
{
  struct delta_index *index___2 ;
  struct delta_index *tmp ;
  void *delta ;
  void *tmp___0 ;

  {
  tmp = create_delta_index(src_buf, src_bufsize);
  index___2 = tmp;
  if (index___2) {
    tmp___0 = create_delta((struct delta_index  const  *)index___2, trg_buf, trg_bufsize,
                           delta_size, max_delta_size);
    delta = tmp___0;
    free_delta_index(index___2);
    return (delta);
  }
  return ((void *)0);
}
}
void *patch_delta(void const   *src_buf , unsigned long src_size , void const   *delta_buf ,
                  unsigned long delta_size , unsigned long *dst_size ) ;
__inline static unsigned long get_delta_hdr_size(unsigned char const   **datap , unsigned char const   *top )
{
  unsigned char const   *data ;
  size_t cmd ;
  size_t size ;
  int i ;
  unsigned char const   *tmp ;
  size_t tmp___0 ;
  unsigned long tmp___1 ;

  {
  data = *datap;
  size = (size_t )0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = data;
    data ++;
    cmd = (size_t )*tmp;
    tmp___0 = st_left_shift(cmd & 127UL, (unsigned int )i);
    size |= tmp___0;
    i += 7;
    if (cmd & 128UL) {
      if (! ((unsigned long )data < (unsigned long )top)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  *datap = data;
  tmp___1 = cast_size_t_to_ulong(size);
  return (tmp___1);
}
}
void *xdl_mmfile_first(mmfile_t *mmf , long *size ) ;
long xdl_mmfile_size(mmfile_t *mmf ) ;
int xdl_diff(mmfile_t *mf1 , mmfile_t *mf2 , xpparam_t const   *xpp , xdemitconf_t const   *xecfg ,
             xdemitcb_t *ecb ) ;
int xdl_merge(mmfile_t *orig , mmfile_t *mf1 , mmfile_t *mf2 , xmparam_t const   *xmp ,
              mmbuffer_t *result___0 ) ;
int xdi_diff(mmfile_t *mf1 , mmfile_t *mf2 , xpparam_t const   *xpp , xdemitconf_t const   *xecfg ,
             xdemitcb_t *xecb ) ;
int xdi_diff_outf(mmfile_t *mf1 , mmfile_t *mf2 , void (*hunk_fn)(void *data , long old_begin ,
                                                                  long old_nr , long new_begin ,
                                                                  long new_nr , char const   *func ,
                                                                  long funclen ) ,
                  int (*line_fn)(void * , char * , unsigned long  ) , void *consume_callback_data ,
                  xpparam_t const   *xpp , xdemitconf_t const   *xecfg ) ;
int read_mmfile(mmfile_t *ptr , char const   *filename___0 ) ;
void read_mmblob(mmfile_t *ptr , struct object_id  const  *oid ) ;
int buffer_is_binary(char const   *ptr , unsigned long size ) ;
void xdiff_set_find_func(xdemitconf_t *xecfg , char const   *value , int cflags ) ;
void xdiff_clear_find_func(xdemitconf_t *xecfg ) ;
int git_xmerge_config(char const   *var , char const   *value , void *cb ) ;
int git_xmerge_style ;
int xdiff_compare_lines(char const   *l1 , long s1 , char const   *l2 , long s2 ,
                        long flags___0 ) ;
unsigned long xdiff_hash_string(char const   *s___1 , size_t len___0 , long flags___0 ) ;
int ll_merge(mmbuffer_t *result_buf , char const   *path___6 , mmfile_t *ancestor ,
             char const   *ancestor_label , mmfile_t *ours , char const   *our_label ,
             mmfile_t *theirs , char const   *their_label , struct index_state *istate ,
             struct ll_merge_options  const  *opts___1 ) ;
int ll_merge_marker_size(struct index_state *istate , char const   *path___6 ) ;
void reset_merge_attributes(void) ;
void sq_quote_buf(struct strbuf *dst , char const   *src ) ;
void sq_quote_argv(struct strbuf *dst , char const   **argv___0 ) ;
void ( /* format attribute */  sq_quotef)(struct strbuf *dst , char const   *fmt
                                          , ...) ;
void sq_quote_buf_pretty(struct strbuf *dst , char const   *src ) ;
void sq_quote_argv_pretty(struct strbuf *dst , char const   **argv___0 ) ;
void sq_append_quote_argv_pretty(struct strbuf *dst , char const   **argv___0 ) ;
char *sq_dequote(char *arg ) ;
char *sq_dequote_step(char *arg , char **next___2 ) ;
int sq_dequote_to_argv(char *arg , char const   ***argv___0 , int *nr___0 , int *alloc___0 ) ;
int sq_dequote_to_strvec(char *arg , struct strvec *array ) ;
int unquote_c_style(struct strbuf *sb___6 , char const   *quoted , char const   **endp ) ;
size_t quote_c_style(char const   *name___0 , struct strbuf *sb___6 , FILE *fp , unsigned int flags___0 ) ;
void quote_two_c_style(struct strbuf *sb___6 , char const   *prefix___1 , char const   *path___6 ,
                       unsigned int flags___0 ) ;
void write_name_quoted(char const   *name___0 , FILE *fp , int terminator ) ;
void write_name_quoted_relative(char const   *name___0 , char const   *prefix___1 ,
                                FILE *fp , int terminator ) ;
char *quote_path(char const   *in , char const   *prefix___1 , struct strbuf *out ,
                 unsigned int flags___0 ) ;
void perl_quote_buf(struct strbuf *sb___6 , char const   *src ) ;
void perl_quote_buf_with_len(struct strbuf *sb___6 , char const   *src , size_t len___0 ) ;
void python_quote_buf(struct strbuf *sb___6 , char const   *src ) ;
void tcl_quote_buf(struct strbuf *sb___6 , char const   *src ) ;
void basic_regex_quote_buf(struct strbuf *sb___6 , char const   *src ) ;
void *RERERE_RESOLVED ;
int setup_rerere(struct repository *r , struct string_list *merge_rr , int flags___0 ) ;
int repo_rerere(struct repository *r , int flags___0 ) ;
char const   *rerere_path(struct rerere_id  const  *id , char const   *file___0 ) ;
int rerere_forget(struct repository *r , struct pathspec *pathspec___1 ) ;
int rerere_remaining(struct repository *r , struct string_list *merge_rr ) ;
void rerere_clear(struct repository *r , struct string_list *merge_rr ) ;
void rerere_gc(struct repository *r , struct string_list *rr ) ;
int apply_parse_options(int argc , char const   **argv___0 , struct apply_state *state___1 ,
                        int *force_apply , int *options , char const   **apply_usage___0 ) ;
int init_apply_state(struct apply_state *state___1 , struct repository *repo , char const   *prefix___1 ) ;
void clear_apply_state(struct apply_state *state___1 ) ;
int check_apply_state(struct apply_state *state___1 , int force_apply ) ;
int parse_git_diff_header(struct strbuf *root , int *linenr , int p_value , char const   *line___0 ,
                          int len___0 , unsigned int size , struct patch *patch ) ;
int apply_all_patches(struct apply_state *state___1 , int argc , char const   **argv___0 ,
                      int options ) ;
int checkout_entry_ca(struct cache_entry *ce , struct conv_attrs *ca , struct checkout  const  *state___1 ,
                      char *topath___0 , int *nr_checkouts ) ;
__inline static int checkout_entry(struct cache_entry *ce , struct checkout  const  *state___1 ,
                                   char *topath___0 , int *nr_checkouts )
{
  int tmp ;

  {
  tmp = checkout_entry_ca(ce, (struct conv_attrs *)((void *)0), state___1, topath___0,
                          nr_checkouts);
  return (tmp);
}
}
void enable_delayed_checkout(struct checkout *state___1 ) ;
int finish_delayed_checkout(struct checkout *state___1 , int *nr_checkouts , int show_progress___4 ) ;
void unlink_entry(struct cache_entry  const  *ce ) ;
void *read_blob_entry(struct cache_entry  const  *ce , size_t *size ) ;
int fstat_checkout_output(int fd , struct checkout  const  *state___1 , struct stat *st ) ;
void update_ce_after_write(struct checkout  const  *state___1 , struct cache_entry *ce ,
                           struct stat *st ) ;
static void git_apply_config(void)
{


  {
  git_config_get_string((char const   *)"apply.whitespace", & apply_default_whitespace);
  git_config_get_string((char const   *)"apply.ignorewhitespace", & apply_default_ignorewhitespace);
  git_config(& git_xmerge_config, (void *)0);
  return;
}
}
static int parse_whitespace_option(struct apply_state *state___1 , char const   *option )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;

  {
  if (! option) {
    state___1->ws_error_action = (enum apply_ws_error_action )1;
    return (0);
  }
  tmp = strcmp(option, (char const   *)"warn");
  if (! tmp) {
    state___1->ws_error_action = (enum apply_ws_error_action )1;
    return (0);
  }
  tmp___0 = strcmp(option, (char const   *)"nowarn");
  if (! tmp___0) {
    state___1->ws_error_action = (enum apply_ws_error_action )0;
    return (0);
  }
  tmp___1 = strcmp(option, (char const   *)"error");
  if (! tmp___1) {
    state___1->ws_error_action = (enum apply_ws_error_action )2;
    return (0);
  }
  tmp___2 = strcmp(option, (char const   *)"error-all");
  if (! tmp___2) {
    state___1->ws_error_action = (enum apply_ws_error_action )2;
    state___1->squelch_whitespace_errors = 0;
    return (0);
  }
  tmp___3 = strcmp(option, (char const   *)"strip");
  if (tmp___3) {
    tmp___4 = strcmp(option, (char const   *)"fix");
    if (! tmp___4) {
      state___1->ws_error_action = (enum apply_ws_error_action )3;
      return (0);
    }
  } else {
    state___1->ws_error_action = (enum apply_ws_error_action )3;
    return (0);
  }
  tmp___5 = _((char const   *)"unrecognized whitespace option \'%s\'");
  error((char const   *)tmp___5, option);
  tmp___6 = const_error();
  return (tmp___6);
}
}
static int parse_ignorewhitespace_option(struct apply_state *state___1 , char const   *option )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;

  {
  if (! option) {
    state___1->ws_ignore_action = (enum apply_ws_ignore )0;
    return (0);
  } else {
    tmp = strcmp(option, (char const   *)"no");
    if (tmp) {
      tmp___0 = strcmp(option, (char const   *)"false");
      if (tmp___0) {
        tmp___1 = strcmp(option, (char const   *)"never");
        if (tmp___1) {
          tmp___2 = strcmp(option, (char const   *)"none");
          if (! tmp___2) {
            state___1->ws_ignore_action = (enum apply_ws_ignore )0;
            return (0);
          }
        } else {
          state___1->ws_ignore_action = (enum apply_ws_ignore )0;
          return (0);
        }
      } else {
        state___1->ws_ignore_action = (enum apply_ws_ignore )0;
        return (0);
      }
    } else {
      state___1->ws_ignore_action = (enum apply_ws_ignore )0;
      return (0);
    }
  }
  tmp___3 = strcmp(option, (char const   *)"change");
  if (! tmp___3) {
    state___1->ws_ignore_action = (enum apply_ws_ignore )1;
    return (0);
  }
  tmp___4 = _((char const   *)"unrecognized whitespace ignore option \'%s\'");
  error((char const   *)tmp___4, option);
  tmp___5 = const_error();
  return (tmp___5);
}
}
int init_apply_state(struct apply_state *state___1 , struct repository *repo , char const   *prefix___1 )
{
  int tmp ;
  int tmp___0 ;

  {
  memset((void *)state___1, 0, sizeof(*state___1));
  state___1->prefix = prefix___1;
  state___1->repo = repo;
  state___1->apply = 1;
  state___1->line_termination = '\n';
  state___1->p_value = 1;
  state___1->p_context = 4294967295U;
  state___1->squelch_whitespace_errors = 5;
  state___1->ws_error_action = (enum apply_ws_error_action )1;
  state___1->ws_ignore_action = (enum apply_ws_ignore )0;
  state___1->linenr = 1;
  string_list_init_nodup(& state___1->fn_table);
  string_list_init_nodup(& state___1->limit_by_name);
  string_list_init_nodup(& state___1->symlink_changes);
  strbuf_init(& state___1->root, (size_t )0);
  git_apply_config();
  if (apply_default_whitespace) {
    tmp = parse_whitespace_option(state___1, (char const   *)apply_default_whitespace);
    if (tmp) {
      return (-1);
    }
  }
  if (apply_default_ignorewhitespace) {
    tmp___0 = parse_ignorewhitespace_option(state___1, (char const   *)apply_default_ignorewhitespace);
    if (tmp___0) {
      return (-1);
    }
  }
  return (0);
}
}
void clear_apply_state(struct apply_state *state___1 )
{


  {
  string_list_clear(& state___1->limit_by_name, 0);
  string_list_clear(& state___1->symlink_changes, 0);
  strbuf_release(& state___1->root);
  return;
}
}
static void mute_routine(char const   *msg___5 , va_list params )
{


  {
  return;
}
}
int check_apply_state(struct apply_state *state___1 , int force_apply )
{
  int is_not_gitdir ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;

  {
  is_not_gitdir = ! startup_info->have_repository;
  if (state___1->apply_with_reject) {
    if (state___1->threeway) {
      tmp = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      error((char const   *)tmp, "--reject", "--3way");
      tmp___0 = const_error();
      return (tmp___0);
    }
  }
  if (state___1->threeway) {
    if (is_not_gitdir) {
      tmp___1 = _((char const   *)"\'%s\' outside a repository");
      error((char const   *)tmp___1, "--3way");
      tmp___2 = const_error();
      return (tmp___2);
    }
    state___1->check_index = 1;
  }
  if (state___1->apply_with_reject) {
    state___1->apply = 1;
    if ((int )state___1->apply_verbosity == 0) {
      state___1->apply_verbosity = (enum apply_verbosity )1;
    }
  }
  if (! force_apply) {
    if (state___1->diffstat) {
      state___1->apply = 0;
    } else
    if (state___1->numstat) {
      state___1->apply = 0;
    } else
    if (state___1->summary) {
      state___1->apply = 0;
    } else
    if (state___1->check) {
      state___1->apply = 0;
    } else
    if (state___1->fake_ancestor) {
      state___1->apply = 0;
    }
  }
  if (state___1->check_index) {
    if (is_not_gitdir) {
      tmp___3 = _((char const   *)"\'%s\' outside a repository");
      error((char const   *)tmp___3, "--index");
      tmp___4 = const_error();
      return (tmp___4);
    }
  }
  if (state___1->cached) {
    if (is_not_gitdir) {
      tmp___5 = _((char const   *)"\'%s\' outside a repository");
      error((char const   *)tmp___5, "--cached");
      tmp___6 = const_error();
      return (tmp___6);
    }
    state___1->check_index = 1;
  }
  if (state___1->ita_only) {
    if (state___1->check_index) {
      state___1->ita_only = 0;
    } else
    if (is_not_gitdir) {
      state___1->ita_only = 0;
    }
  }
  if (state___1->check_index) {
    state___1->unsafe_paths = 0;
  }
  if ((int )state___1->apply_verbosity <= -1) {
    state___1->saved_error_routine = get_error_routine();
    state___1->saved_warn_routine = get_warn_routine();
    set_error_routine(& mute_routine);
    set_warn_routine(& mute_routine);
  }
  return (0);
}
}
static void set_default_whitespace_mode(struct apply_state *state___1 )
{


  {
  if (! state___1->whitespace_option) {
    if (! apply_default_whitespace) {
      if (state___1->apply) {
        state___1->ws_error_action = (enum apply_ws_error_action )1;
      } else {
        state___1->ws_error_action = (enum apply_ws_error_action )0;
      }
    }
  }
  return;
}
}
static void free_fragment_list(struct fragment *list___3 )
{
  struct fragment *next___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    next___2 = list___3->next;
    if (list___3->free_patch) {
      free((void *)((char *)list___3->patch));
    }
    free((void *)list___3);
    list___3 = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void free_patch(struct patch *patch )
{


  {
  free_fragment_list(patch->fragments);
  free((void *)patch->def_name);
  free((void *)patch->old_name);
  free((void *)patch->new_name);
  free((void *)patch->result);
  free((void *)patch);
  return;
}
}
static void free_patch_list(struct patch *list___3 )
{
  struct patch *next___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    next___2 = list___3->next;
    free_patch(list___3);
    list___3 = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static uint32_t hash_line(char const   *cp , size_t len___0 )
{
  size_t i ;
  uint32_t h ;

  {
  i = (size_t )0;
  h = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < len___0)) {
      goto while_break;
    }
    if (! (((int const   )sane_ctype[(unsigned char )*(cp + i)] & 1) != 0)) {
      h = h * 3U + (uint32_t )((int const   )*(cp + i) & 255);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (h);
}
}
static int fuzzy_matchlines(char const   *s1 , size_t n1 , char const   *s2 , size_t n2 )
{
  char const   *end1 ;
  char const   *end2 ;
  char const   *tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  end1 = s1 + n1;
  end2 = s2 + n2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )s1 < (unsigned long )end1) {
      if (! ((int const   )*(end1 + -1) == 13)) {
        if (! ((int const   )*(end1 + -1) == 10)) {
          goto while_break;
        }
      }
    } else {
      goto while_break;
    }
    end1 --;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if ((unsigned long )s2 < (unsigned long )end2) {
      if (! ((int const   )*(end2 + -1) == 13)) {
        if (! ((int const   )*(end2 + -1) == 10)) {
          goto while_break___0;
        }
      }
    } else {
      goto while_break___0;
    }
    end2 --;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if ((unsigned long )s1 < (unsigned long )end1) {
      if (! ((unsigned long )s2 < (unsigned long )end2)) {
        goto while_break___1;
      }
    } else {
      goto while_break___1;
    }
    if (((int const   )sane_ctype[(unsigned char )*s1] & 1) != 0) {
      if (! (((int const   )sane_ctype[(unsigned char )*s2] & 1) != 0)) {
        return (0);
      }
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if ((unsigned long )s1 < (unsigned long )end1) {
          if (! (((int const   )sane_ctype[(unsigned char )*s1] & 1) != 0)) {
            goto while_break___2;
          }
        } else {
          goto while_break___2;
        }
        s1 ++;
      }
      while_break___2: /* CIL Label */ ;
      }
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if ((unsigned long )s2 < (unsigned long )end2) {
          if (! (((int const   )sane_ctype[(unsigned char )*s2] & 1) != 0)) {
            goto while_break___3;
          }
        } else {
          goto while_break___3;
        }
        s2 ++;
      }
      while_break___3: /* CIL Label */ ;
      }
    } else {
      tmp = s1;
      s1 ++;
      tmp___0 = s2;
      s2 ++;
      if ((int const   )*tmp != (int const   )*tmp___0) {
        return (0);
      }
    }
  }
  while_break___1: /* CIL Label */ ;
  }
  if ((unsigned long )s1 == (unsigned long )end1) {
    if ((unsigned long )s2 == (unsigned long )end2) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static void add_line_info(struct image *img , char const   *bol , size_t len___0 ,
                          unsigned int flag )
{
  size_t tmp ;
  void *tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (img->nr + 1UL > img->alloc) {
      if (((img->alloc + 16UL) * 3UL) / 2UL < img->nr + 1UL) {
        img->alloc = img->nr + 1UL;
      } else {
        img->alloc = ((img->alloc + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*(img->line_allocated)), img->alloc);
      tmp___0 = xrealloc((void *)img->line_allocated, tmp);
      img->line_allocated = (struct line *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  (img->line_allocated + img->nr)->len = len___0;
  (img->line_allocated + img->nr)->hash = hash_line(bol, len___0);
  (img->line_allocated + img->nr)->flag = flag;
  (img->nr) ++;
  return;
}
}
static void prepare_image(struct image *image , char *buf___19 , size_t len___0 ,
                          int prepare_linetable )
{
  char const   *cp ;
  char const   *ep ;
  char const   *next___2 ;

  {
  memset((void *)image, 0, sizeof(*image));
  image->buf = buf___19;
  image->len = len___0;
  if (! prepare_linetable) {
    return;
  }
  ep = (char const   *)(image->buf + image->len);
  cp = (char const   *)image->buf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )cp < (unsigned long )ep)) {
      goto while_break;
    }
    next___2 = cp;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if ((unsigned long )next___2 < (unsigned long )ep) {
        if (! ((int const   )*next___2 != 10)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      next___2 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if ((unsigned long )next___2 < (unsigned long )ep) {
      next___2 ++;
    }
    add_line_info(image, cp, (size_t )(next___2 - cp), 0U);
    cp = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  image->line = image->line_allocated;
  return;
}
}
static void clear_image(struct image *image )
{


  {
  free((void *)image->buf);
  free((void *)image->line_allocated);
  memset((void *)image, 0, sizeof(*image));
  return;
}
}
static void say_patch_name(FILE *output___4 , char const   *fmt , struct patch *patch )
{
  struct strbuf sb___6 ;
  char const   *n ;
  int tmp ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  if (patch->old_name) {
    if (patch->new_name) {
      tmp = strcmp((char const   *)patch->old_name, (char const   *)patch->new_name);
      if (tmp) {
        quote_c_style((char const   *)patch->old_name, & sb___6, (FILE *)((void *)0),
                      0U);
        strbuf_addstr(& sb___6, (char const   *)" => ");
        quote_c_style((char const   *)patch->new_name, & sb___6, (FILE *)((void *)0),
                      0U);
      } else {
        goto _L___0;
      }
    } else {
      goto _L___0;
    }
  } else {
    _L___0: /* CIL Label */
    _L: /* CIL Label */
    n = (char const   *)patch->new_name;
    if (! n) {
      n = (char const   *)patch->old_name;
    }
    quote_c_style(n, & sb___6, (FILE *)((void *)0), 0U);
  }
  fprintf(output___4, fmt, sb___6.buf);
  fputc('\n', output___4);
  strbuf_release(& sb___6);
  return;
}
}
static int read_patch_file(struct strbuf *sb___6 , int fd )
{
  int tmp ;
  ssize_t tmp___0 ;

  {
  tmp___0 = strbuf_read(sb___6, fd, (size_t )0);
  if (tmp___0 < 0L) {
    error_errno((char const   *)"git apply: failed to read");
    tmp = const_error();
    return (tmp);
  }
  strbuf_grow(sb___6, (size_t )16);
  memset((void *)(sb___6->buf + sb___6->len), 0, (size_t )16);
  return (0);
}
}
static unsigned long linelen(char const   *buffer___5 , unsigned long size )
{
  unsigned long len___0 ;
  char const   *tmp ;
  unsigned long tmp___0 ;

  {
  len___0 = 0UL;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = size;
    size --;
    if (! tmp___0) {
      goto while_break;
    }
    len___0 ++;
    tmp = buffer___5;
    buffer___5 ++;
    if ((int const   )*tmp == 10) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (len___0);
}
}
static int is_dev_null(char const   *str )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = skip_prefix(str, (char const   *)"/dev/null", & str);
  if (tmp) {
    if (((int const   )sane_ctype[(unsigned char )*str] & 1) != 0) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static int name_terminate(int c___0 , int terminate )
{


  {
  if (c___0 == 32) {
    if (! (terminate & 1)) {
      return (0);
    }
  }
  if (c___0 == 9) {
    if (! (terminate & 2)) {
      return (0);
    }
  }
  return (1);
}
}
static char *squash_slash(char *name___0 )
{
  int i ;
  int j ;
  int tmp ;
  char tmp___0 ;
  int tmp___1 ;

  {
  i = 0;
  j = 0;
  if (! name___0) {
    return ((char *)((void *)0));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(name___0 + i)) {
      goto while_break;
    }
    tmp = j;
    j ++;
    tmp___1 = i;
    i ++;
    tmp___0 = *(name___0 + tmp___1);
    *(name___0 + tmp) = tmp___0;
    if ((int )tmp___0 == 47) {
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! ((int )*(name___0 + i) == 47)) {
          goto while_break___0;
        }
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  *(name___0 + j) = (char )'\000';
  return (name___0);
}
}
static char *find_name_gnu(struct strbuf *root , char const   *line___0 , int p_value )
{
  struct strbuf name___0 ;
  char *cp ;
  int tmp ;
  char *tmp___0 ;
  char *tmp___1 ;

  {
  name___0.alloc = 0UL;
  name___0.len = 0UL;
  name___0.buf = strbuf_slopbuf;
  tmp = unquote_c_style(& name___0, line___0, (char const   **)((void *)0));
  if (tmp) {
    strbuf_release(& name___0);
    return ((char *)((void *)0));
  }
  cp = name___0.buf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p_value) {
      goto while_break;
    }
    cp = strchr((char const   *)cp, '/');
    if (! cp) {
      strbuf_release(& name___0);
      return ((char *)((void *)0));
    }
    cp ++;
    p_value --;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_remove(& name___0, (size_t )0, (size_t )(cp - name___0.buf));
  if (root->len) {
    strbuf_insert(& name___0, (size_t )0, (void const   *)root->buf, root->len);
  }
  tmp___0 = strbuf_detach(& name___0, (size_t *)((void *)0));
  tmp___1 = squash_slash(tmp___0);
  return (tmp___1);
}
}
static size_t sane_tz_len(char const   *line___0 , size_t len___0 )
{
  char const   *tz ;
  char const   *p___0 ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;

  {
  tmp = strlen((char const   *)" +0500");
  if (len___0 < tmp) {
    return ((size_t )0);
  } else {
    tmp___0 = strlen((char const   *)" +0500");
    if ((int const   )*(line___0 + (len___0 - tmp___0)) != 32) {
      return ((size_t )0);
    }
  }
  tmp___1 = strlen((char const   *)" +0500");
  tz = (line___0 + len___0) - tmp___1;
  if ((int const   )*(tz + 1) != 43) {
    if ((int const   )*(tz + 1) != 45) {
      return ((size_t )0);
    }
  }
  p___0 = tz + 2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )p___0 != (unsigned long )(line___0 + len___0))) {
      goto while_break;
    }
    if (! (((int const   )sane_ctype[(unsigned char )*p___0] & 2) != 0)) {
      return ((size_t )0);
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((size_t )((line___0 + len___0) - tz));
}
}
static size_t tz_with_colon_len(char const   *line___0 , size_t len___0 )
{
  char const   *tz ;
  char const   *p___0 ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  char const   *tmp___5 ;
  char const   *tmp___6 ;

  {
  tmp = strlen((char const   *)" +08:00");
  if (len___0 < tmp) {
    return ((size_t )0);
  } else {
    tmp___0 = strlen((char const   *)":00");
    if ((int const   )*(line___0 + (len___0 - tmp___0)) != 58) {
      return ((size_t )0);
    }
  }
  tmp___1 = strlen((char const   *)" +08:00");
  tz = (line___0 + len___0) - tmp___1;
  if ((int const   )*(tz + 0) != 32) {
    return ((size_t )0);
  } else
  if ((int const   )*(tz + 1) != 43) {
    if ((int const   )*(tz + 1) != 45) {
      return ((size_t )0);
    }
  }
  p___0 = tz + 2;
  tmp___2 = p___0;
  p___0 ++;
  if (((int const   )sane_ctype[(unsigned char )*tmp___2] & 2) != 0) {
    tmp___3 = p___0;
    p___0 ++;
    if (((int const   )sane_ctype[(unsigned char )*tmp___3] & 2) != 0) {
      tmp___4 = p___0;
      p___0 ++;
      if ((int const   )*tmp___4 != 58) {
        return ((size_t )0);
      } else {
        tmp___5 = p___0;
        p___0 ++;
        if (((int const   )sane_ctype[(unsigned char )*tmp___5] & 2) != 0) {
          tmp___6 = p___0;
          p___0 ++;
          if (! (((int const   )sane_ctype[(unsigned char )*tmp___6] & 2) != 0)) {
            return ((size_t )0);
          }
        } else {
          return ((size_t )0);
        }
      }
    } else {
      return ((size_t )0);
    }
  } else {
    return ((size_t )0);
  }
  return ((size_t )((line___0 + len___0) - tz));
}
}
static size_t date_len(char const   *line___0 , size_t len___0 )
{
  char const   *date ;
  char const   *p___0 ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  char const   *tmp___5 ;
  char const   *tmp___6 ;
  char const   *tmp___7 ;
  char const   *tmp___8 ;
  char const   *tmp___9 ;
  size_t tmp___10 ;
  size_t tmp___11 ;

  {
  tmp = strlen((char const   *)"72-02-05");
  if (len___0 < tmp) {
    return ((size_t )0);
  } else {
    tmp___0 = strlen((char const   *)"-05");
    if ((int const   )*(line___0 + (len___0 - tmp___0)) != 45) {
      return ((size_t )0);
    }
  }
  tmp___1 = strlen((char const   *)"72-02-05");
  date = (line___0 + len___0) - tmp___1;
  p___0 = date;
  tmp___2 = p___0;
  p___0 ++;
  if (((int const   )sane_ctype[(unsigned char )*tmp___2] & 2) != 0) {
    tmp___3 = p___0;
    p___0 ++;
    if (((int const   )sane_ctype[(unsigned char )*tmp___3] & 2) != 0) {
      tmp___4 = p___0;
      p___0 ++;
      if ((int const   )*tmp___4 != 45) {
        return ((size_t )0);
      } else {
        tmp___5 = p___0;
        p___0 ++;
        if (((int const   )sane_ctype[(unsigned char )*tmp___5] & 2) != 0) {
          tmp___6 = p___0;
          p___0 ++;
          if (((int const   )sane_ctype[(unsigned char )*tmp___6] & 2) != 0) {
            tmp___7 = p___0;
            p___0 ++;
            if ((int const   )*tmp___7 != 45) {
              return ((size_t )0);
            } else {
              tmp___8 = p___0;
              p___0 ++;
              if (((int const   )sane_ctype[(unsigned char )*tmp___8] & 2) != 0) {
                tmp___9 = p___0;
                p___0 ++;
                if (! (((int const   )sane_ctype[(unsigned char )*tmp___9] & 2) != 0)) {
                  return ((size_t )0);
                }
              } else {
                return ((size_t )0);
              }
            }
          } else {
            return ((size_t )0);
          }
        } else {
          return ((size_t )0);
        }
      }
    } else {
      return ((size_t )0);
    }
  } else {
    return ((size_t )0);
  }
  tmp___11 = strlen((char const   *)"19");
  if ((size_t )(date - line___0) >= tmp___11) {
    if (((int const   )sane_ctype[(unsigned char )*(date + -1)] & 2) != 0) {
      if (((int const   )sane_ctype[(unsigned char )*(date + -2)] & 2) != 0) {
        tmp___10 = strlen((char const   *)"19");
        date -= tmp___10;
      }
    }
  }
  return ((size_t )((line___0 + len___0) - date));
}
}
static size_t short_time_len(char const   *line___0 , size_t len___0 )
{
  char const   *time___0 ;
  char const   *p___0 ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  char const   *tmp___5 ;
  char const   *tmp___6 ;
  char const   *tmp___7 ;
  char const   *tmp___8 ;
  char const   *tmp___9 ;
  char const   *tmp___10 ;

  {
  tmp = strlen((char const   *)" 07:01:32");
  if (len___0 < tmp) {
    return ((size_t )0);
  } else {
    tmp___0 = strlen((char const   *)":32");
    if ((int const   )*(line___0 + (len___0 - tmp___0)) != 58) {
      return ((size_t )0);
    }
  }
  tmp___1 = strlen((char const   *)" 07:01:32");
  time___0 = (line___0 + len___0) - tmp___1;
  p___0 = time___0;
  tmp___2 = p___0;
  p___0 ++;
  if ((int const   )*tmp___2 != 32) {
    return ((size_t )0);
  } else {
    tmp___3 = p___0;
    p___0 ++;
    if (((int const   )sane_ctype[(unsigned char )*tmp___3] & 2) != 0) {
      tmp___4 = p___0;
      p___0 ++;
      if (((int const   )sane_ctype[(unsigned char )*tmp___4] & 2) != 0) {
        tmp___5 = p___0;
        p___0 ++;
        if ((int const   )*tmp___5 != 58) {
          return ((size_t )0);
        } else {
          tmp___6 = p___0;
          p___0 ++;
          if (((int const   )sane_ctype[(unsigned char )*tmp___6] & 2) != 0) {
            tmp___7 = p___0;
            p___0 ++;
            if (((int const   )sane_ctype[(unsigned char )*tmp___7] & 2) != 0) {
              tmp___8 = p___0;
              p___0 ++;
              if ((int const   )*tmp___8 != 58) {
                return ((size_t )0);
              } else {
                tmp___9 = p___0;
                p___0 ++;
                if (((int const   )sane_ctype[(unsigned char )*tmp___9] & 2) != 0) {
                  tmp___10 = p___0;
                  p___0 ++;
                  if (! (((int const   )sane_ctype[(unsigned char )*tmp___10] & 2) != 0)) {
                    return ((size_t )0);
                  }
                } else {
                  return ((size_t )0);
                }
              }
            } else {
              return ((size_t )0);
            }
          } else {
            return ((size_t )0);
          }
        }
      } else {
        return ((size_t )0);
      }
    } else {
      return ((size_t )0);
    }
  }
  return ((size_t )((line___0 + len___0) - time___0));
}
}
static size_t fractional_time_len(char const   *line___0 , size_t len___0 )
{
  char const   *p___0 ;
  size_t n ;

  {
  if (! len___0) {
    return ((size_t )0);
  } else
  if (! (((int const   )sane_ctype[(unsigned char )*(line___0 + (len___0 - 1UL))] & 2) != 0)) {
    return ((size_t )0);
  }
  p___0 = (line___0 + len___0) - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )p___0 > (unsigned long )line___0) {
      if (! (((int const   )sane_ctype[(unsigned char )*p___0] & 2) != 0)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    p___0 --;
  }
  while_break: /* CIL Label */ ;
  }
  if ((int const   )*p___0 != 46) {
    return ((size_t )0);
  }
  n = short_time_len(line___0, (size_t )(p___0 - line___0));
  if (! n) {
    return ((size_t )0);
  }
  return ((size_t )((line___0 + len___0) - p___0) + n);
}
}
static size_t trailing_spaces_len(char const   *line___0 , size_t len___0 )
{
  char const   *p___0 ;

  {
  if (! len___0) {
    return ((size_t )0);
  } else
  if ((int const   )*(line___0 + (len___0 - 1UL)) != 32) {
    return ((size_t )0);
  }
  p___0 = line___0 + len___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )p___0 != (unsigned long )line___0)) {
      goto while_break;
    }
    p___0 --;
    if ((int const   )*p___0 != 32) {
      return ((size_t )((line___0 + len___0) - (p___0 + 1)));
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (len___0);
}
}
static size_t diff_timestamp_len(char const   *line___0 , size_t len___0 )
{
  char const   *end ;
  size_t n ;
  size_t tmp ;

  {
  end = line___0 + len___0;
  if (! (((int const   )sane_ctype[(unsigned char )*(end + -1)] & 2) != 0)) {
    return ((size_t )0);
  }
  n = sane_tz_len(line___0, (size_t )(end - line___0));
  if (! n) {
    n = tz_with_colon_len(line___0, (size_t )(end - line___0));
  }
  end -= n;
  n = short_time_len(line___0, (size_t )(end - line___0));
  if (! n) {
    n = fractional_time_len(line___0, (size_t )(end - line___0));
  }
  end -= n;
  n = date_len(line___0, (size_t )(end - line___0));
  if (! n) {
    return ((size_t )0);
  }
  end -= n;
  if ((unsigned long )end == (unsigned long )line___0) {
    return ((size_t )0);
  }
  if ((int const   )*(end + -1) == 9) {
    end --;
    return ((size_t )((line___0 + len___0) - end));
  }
  if ((int const   )*(end + -1) != 32) {
    return ((size_t )0);
  }
  tmp = trailing_spaces_len(line___0, (size_t )(end - line___0));
  end -= tmp;
  return ((size_t )((line___0 + len___0) - end));
}
}
static char *find_name_common(struct strbuf *root , char const   *line___0 , char const   *def___0 ,
                              int p_value , char const   *end , int terminate )
{
  int len___0 ;
  char const   *start ;
  char c___0 ;
  int tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  int deflen ;
  size_t tmp___4 ;
  char *tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;
  char *ret___67 ;
  char *tmp___8 ;
  char *tmp___9 ;
  void *tmp___10 ;
  char *tmp___11 ;

  {
  start = (char const   *)((void *)0);
  if (p_value == 0) {
    start = line___0;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )line___0 != (unsigned long )end)) {
      goto while_break;
    }
    c___0 = (char )*line___0;
    if (! end) {
      if (((int const   )sane_ctype[(unsigned char )c___0] & 1) != 0) {
        if ((int )c___0 == 10) {
          goto while_break;
        }
        tmp = name_terminate((int )c___0, terminate);
        if (tmp) {
          goto while_break;
        }
      }
    }
    line___0 ++;
    if ((int )c___0 == 47) {
      p_value --;
      if (! p_value) {
        start = line___0;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (! start) {
    tmp___0 = xstrdup_or_null(def___0);
    tmp___1 = squash_slash(tmp___0);
    return (tmp___1);
  }
  len___0 = (int )(line___0 - start);
  if (! len___0) {
    tmp___2 = xstrdup_or_null(def___0);
    tmp___3 = squash_slash(tmp___2);
    return (tmp___3);
  }
  if (def___0) {
    tmp___4 = strlen(def___0);
    deflen = (int )tmp___4;
    if (deflen < len___0) {
      tmp___7 = strncmp(start, def___0, (size_t )deflen);
      if (! tmp___7) {
        tmp___5 = xstrdup(def___0);
        tmp___6 = squash_slash(tmp___5);
        return (tmp___6);
      }
    }
  }
  if (root->len) {
    tmp___8 = xstrfmt((char const   *)"%s%.*s", root->buf, len___0, start);
    ret___67 = tmp___8;
    tmp___9 = squash_slash(ret___67);
    return (tmp___9);
  }
  tmp___10 = xmemdupz((void const   *)start, (size_t )len___0);
  tmp___11 = squash_slash((char *)tmp___10);
  return (tmp___11);
}
}
static char *find_name(struct strbuf *root , char const   *line___0 , char *def___0 ,
                       int p_value , int terminate )
{
  char *name___0 ;
  char *tmp ;
  char *tmp___0 ;

  {
  if ((int const   )*line___0 == 34) {
    tmp = find_name_gnu(root, line___0, p_value);
    name___0 = tmp;
    if (name___0) {
      return (name___0);
    }
  }
  tmp___0 = find_name_common(root, line___0, (char const   *)def___0, p_value, (char const   *)((void *)0),
                             terminate);
  return (tmp___0);
}
}
static char *find_name_traditional(struct strbuf *root , char const   *line___0 ,
                                   char *def___0 , int p_value )
{
  size_t len___0 ;
  size_t date_len___0 ;
  char *name___0 ;
  char *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  if ((int const   )*line___0 == 34) {
    tmp = find_name_gnu(root, line___0, p_value);
    name___0 = tmp;
    if (name___0) {
      return (name___0);
    }
  }
  tmp___0 = strchrnul(line___0, '\n');
  len___0 = (size_t )(tmp___0 - (char *)line___0);
  date_len___0 = diff_timestamp_len(line___0, len___0);
  if (! date_len___0) {
    tmp___1 = find_name_common(root, line___0, (char const   *)def___0, p_value, (char const   *)((void *)0),
                               2);
    return (tmp___1);
  }
  len___0 -= date_len___0;
  tmp___2 = find_name_common(root, line___0, (char const   *)def___0, p_value, line___0 + len___0,
                             0);
  return (tmp___2);
}
}
static int guess_p_value(struct apply_state *state___1 , char const   *nameline )
{
  char *name___0 ;
  char *cp ;
  int val ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  val = -1;
  tmp = is_dev_null(nameline);
  if (tmp) {
    return (-1);
  }
  name___0 = find_name_traditional(& state___1->root, nameline, (char *)((void *)0),
                                   0);
  if (! name___0) {
    return (-1);
  }
  cp = strchr((char const   *)name___0, '/');
  if (! cp) {
    val = 0;
  } else
  if (state___1->prefix) {
    tmp___2 = starts_with((char const   *)name___0, state___1->prefix);
    if (tmp___2) {
      val = count_slashes(state___1->prefix);
    } else {
      cp ++;
      tmp___1 = starts_with((char const   *)cp, state___1->prefix);
      if (tmp___1) {
        tmp___0 = count_slashes(state___1->prefix);
        val = tmp___0 + 1;
      }
    }
  }
  free((void *)name___0);
  return (val);
}
}
static regex_t *stamp  ;
static int has_epoch_timestamp(char const   *nameline )
{
  char stamp_regexp[65] ;
  char const   *timestamp___0 ;
  char const   *cp ;
  char const   *colon ;
  regmatch_t m[10] ;
  int zoneoffset ;
  int epoch_hour ;
  int hour ;
  int minute ;
  int status ;
  int tmp ;
  int tmp___0 ;
  void *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  long tmp___5 ;
  long tmp___6 ;
  long tmp___7 ;
  long tmp___8 ;

  {
  stamp_regexp[0] = (char )'^';
  stamp_regexp[1] = (char )'[';
  stamp_regexp[2] = (char )'0';
  stamp_regexp[3] = (char )'-';
  stamp_regexp[4] = (char )'2';
  stamp_regexp[5] = (char )']';
  stamp_regexp[6] = (char )'[';
  stamp_regexp[7] = (char )'0';
  stamp_regexp[8] = (char )'-';
  stamp_regexp[9] = (char )'9';
  stamp_regexp[10] = (char )']';
  stamp_regexp[11] = (char )':';
  stamp_regexp[12] = (char )'(';
  stamp_regexp[13] = (char )'[';
  stamp_regexp[14] = (char )'0';
  stamp_regexp[15] = (char )'-';
  stamp_regexp[16] = (char )'5';
  stamp_regexp[17] = (char )']';
  stamp_regexp[18] = (char )'[';
  stamp_regexp[19] = (char )'0';
  stamp_regexp[20] = (char )'-';
  stamp_regexp[21] = (char )'9';
  stamp_regexp[22] = (char )']';
  stamp_regexp[23] = (char )')';
  stamp_regexp[24] = (char )':';
  stamp_regexp[25] = (char )'0';
  stamp_regexp[26] = (char )'0';
  stamp_regexp[27] = (char )'(';
  stamp_regexp[28] = (char )'\\';
  stamp_regexp[29] = (char )'.';
  stamp_regexp[30] = (char )'0';
  stamp_regexp[31] = (char )'+';
  stamp_regexp[32] = (char )')';
  stamp_regexp[33] = (char )'?';
  stamp_regexp[34] = (char )' ';
  stamp_regexp[35] = (char )'(';
  stamp_regexp[36] = (char )'[';
  stamp_regexp[37] = (char )'-';
  stamp_regexp[38] = (char )'+';
  stamp_regexp[39] = (char )']';
  stamp_regexp[40] = (char )'[';
  stamp_regexp[41] = (char )'0';
  stamp_regexp[42] = (char )'-';
  stamp_regexp[43] = (char )'2';
  stamp_regexp[44] = (char )']';
  stamp_regexp[45] = (char )'[';
  stamp_regexp[46] = (char )'0';
  stamp_regexp[47] = (char )'-';
  stamp_regexp[48] = (char )'9';
  stamp_regexp[49] = (char )']';
  stamp_regexp[50] = (char )':';
  stamp_regexp[51] = (char )'?';
  stamp_regexp[52] = (char )'[';
  stamp_regexp[53] = (char )'0';
  stamp_regexp[54] = (char )'-';
  stamp_regexp[55] = (char )'5';
  stamp_regexp[56] = (char )']';
  stamp_regexp[57] = (char )'[';
  stamp_regexp[58] = (char )'0';
  stamp_regexp[59] = (char )'-';
  stamp_regexp[60] = (char )'9';
  stamp_regexp[61] = (char )']';
  stamp_regexp[62] = (char )')';
  stamp_regexp[63] = (char )'\n';
  stamp_regexp[64] = (char )'\000';
  timestamp___0 = (char const   *)((void *)0);
  cp = nameline;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((int const   )*cp != 10)) {
      goto while_break;
    }
    if ((int const   )*cp == 9) {
      timestamp___0 = cp + 1;
    }
    cp ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! timestamp___0) {
    return (0);
  }
  tmp___0 = skip_prefix(timestamp___0, (char const   *)"1969-12-31 ", & timestamp___0);
  if (tmp___0) {
    epoch_hour = 24;
  } else {
    tmp = skip_prefix(timestamp___0, (char const   *)"1970-01-01 ", & timestamp___0);
    if (tmp) {
      epoch_hour = 0;
    } else {
      return (0);
    }
  }
  if (! stamp) {
    tmp___1 = xmalloc(sizeof(*stamp));
    stamp = (regex_t *)tmp___1;
    tmp___3 = regcomp((regex_t * __restrict  )stamp, (char const   * __restrict  )(stamp_regexp),
                      1);
    if (tmp___3) {
      tmp___2 = _((char const   *)"Cannot prepare timestamp regexp %s");
      warning((char const   *)tmp___2, stamp_regexp);
      return (0);
    }
  }
  status = regexec((regex_t const   * __restrict  )stamp, (char const   * __restrict  )timestamp___0,
                   sizeof(m) / sizeof(m[0]) + (sizeof(char [1]) - 1UL), (regmatch_t * __restrict  )(m),
                   0);
  if (status) {
    if (status != 1) {
      tmp___4 = _((char const   *)"regexec returned %d for input: %s");
      warning((char const   *)tmp___4, status, timestamp___0);
    }
    return (0);
  }
  tmp___5 = strtol((char const   * __restrict  )timestamp___0, (char ** __restrict  )((void *)0),
                   10);
  hour = (int )tmp___5;
  tmp___6 = strtol((char const   * __restrict  )(timestamp___0 + m[1].rm_so), (char ** __restrict  )((void *)0),
                   10);
  minute = (int )tmp___6;
  tmp___7 = strtol((char const   * __restrict  )((timestamp___0 + m[3].rm_so) + 1),
                   (char ** __restrict  )((char **)(& colon)), 10);
  zoneoffset = (int )tmp___7;
  if ((int const   )*colon == 58) {
    tmp___8 = strtol((char const   * __restrict  )(colon + 1), (char ** __restrict  )((void *)0),
                     10);
    zoneoffset = (int )((long )(zoneoffset * 60) + tmp___8);
  } else {
    zoneoffset = (zoneoffset / 100) * 60 + zoneoffset % 100;
  }
  if ((int const   )*(timestamp___0 + m[3].rm_so) == 45) {
    zoneoffset = - zoneoffset;
  }
  return ((hour * 60 + minute) - zoneoffset == epoch_hour * 60);
}
}
static int parse_traditional_patch(struct apply_state *state___1 , char const   *first ,
                                   char const   *second , struct patch *patch )
{
  char *name___0 ;
  int p___0 ;
  int q ;
  char *first_name ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  first += 4;
  second += 4;
  if (! state___1->p_value_known) {
    p___0 = guess_p_value(state___1, first);
    q = guess_p_value(state___1, second);
    if (p___0 < 0) {
      p___0 = q;
    }
    if (0 <= p___0) {
      if (p___0 == q) {
        state___1->p_value = p___0;
        state___1->p_value_known = 1;
      }
    }
  }
  tmp___2 = is_dev_null(first);
  if (tmp___2) {
    patch->is_new = 1;
    patch->is_delete = 0;
    name___0 = find_name_traditional(& state___1->root, second, (char *)((void *)0),
                                     state___1->p_value);
    patch->new_name = name___0;
  } else {
    tmp___1 = is_dev_null(second);
    if (tmp___1) {
      patch->is_new = 0;
      patch->is_delete = 1;
      name___0 = find_name_traditional(& state___1->root, first, (char *)((void *)0),
                                       state___1->p_value);
      patch->old_name = name___0;
    } else {
      first_name = find_name_traditional(& state___1->root, first, (char *)((void *)0),
                                         state___1->p_value);
      name___0 = find_name_traditional(& state___1->root, second, first_name, state___1->p_value);
      free((void *)first_name);
      tmp___0 = has_epoch_timestamp(first);
      if (tmp___0) {
        patch->is_new = 1;
        patch->is_delete = 0;
        patch->new_name = name___0;
      } else {
        tmp = has_epoch_timestamp(second);
        if (tmp) {
          patch->is_new = 0;
          patch->is_delete = 1;
          patch->old_name = name___0;
        } else {
          patch->old_name = name___0;
          patch->new_name = xstrdup_or_null((char const   *)name___0);
        }
      }
    }
  }
  if (! name___0) {
    tmp___3 = _((char const   *)"unable to find filename in patch at line %d");
    error((char const   *)tmp___3, state___1->linenr);
    tmp___4 = const_error();
    return (tmp___4);
  }
  return (0);
}
}
static int gitdiff_hdrend(struct gitdiff_data *state___1 , char const   *line___0 ,
                          struct patch *patch )
{


  {
  return (1);
}
}
static int gitdiff_verify_name(struct gitdiff_data *state___1 , char const   *line___0 ,
                               int isnull , char **name___0 , int side )
{
  char *another ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  if (! *name___0) {
    if (! isnull) {
      *name___0 = find_name(state___1->root, line___0, (char *)((void *)0), state___1->p_value,
                            2);
      return (0);
    }
  }
  if (*name___0) {
    if (isnull) {
      tmp = _((char const   *)"git apply: bad git-diff - expected /dev/null, got %s on line %d");
      error((char const   *)tmp, *name___0, state___1->linenr);
      tmp___0 = const_error();
      return (tmp___0);
    }
    another = find_name(state___1->root, line___0, (char *)((void *)0), state___1->p_value,
                        2);
    if (! another) {
      goto _L;
    } else {
      tmp___5 = strcmp((char const   *)another, (char const   *)*name___0);
      if (tmp___5) {
        _L: /* CIL Label */
        free((void *)another);
        if (side == 1) {
          tmp___1 = _((char const   *)"git apply: bad git-diff - inconsistent new filename on line %d");
          tmp___3 = tmp___1;
        } else {
          tmp___2 = _((char const   *)"git apply: bad git-diff - inconsistent old filename on line %d");
          tmp___3 = tmp___2;
        }
        error((char const   *)tmp___3, state___1->linenr);
        tmp___4 = const_error();
        return (tmp___4);
      }
    }
    free((void *)another);
  } else {
    tmp___8 = is_dev_null(line___0);
    if (! tmp___8) {
      tmp___6 = _((char const   *)"git apply: bad git-diff - expected /dev/null on line %d");
      error((char const   *)tmp___6, state___1->linenr);
      tmp___7 = const_error();
      return (tmp___7);
    }
  }
  return (0);
}
}
static int gitdiff_oldname(struct gitdiff_data *state___1 , char const   *line___0 ,
                           struct patch *patch )
{
  int tmp ;

  {
  tmp = gitdiff_verify_name(state___1, line___0, patch->is_new, & patch->old_name,
                            0);
  return (tmp);
}
}
static int gitdiff_newname(struct gitdiff_data *state___1 , char const   *line___0 ,
                           struct patch *patch )
{
  int tmp ;

  {
  tmp = gitdiff_verify_name(state___1, line___0, patch->is_delete, & patch->new_name,
                            1);
  return (tmp);
}
}
static int parse_mode_line(char const   *line___0 , int linenr , unsigned int *mode___1 )
{
  char *end ;
  unsigned long tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  tmp = strtoul((char const   * __restrict  )line___0, (char ** __restrict  )(& end),
                8);
  *mode___1 = (unsigned int )tmp;
  if ((unsigned long )end == (unsigned long )line___0) {
    tmp___0 = _((char const   *)"invalid mode on line %d: %s");
    error((char const   *)tmp___0, linenr, line___0);
    tmp___1 = const_error();
    return (tmp___1);
  } else
  if (! (((int const   )sane_ctype[(unsigned char )*end] & 1) != 0)) {
    tmp___0 = _((char const   *)"invalid mode on line %d: %s");
    error((char const   *)tmp___0, linenr, line___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  return (0);
}
}
static int gitdiff_oldmode(struct gitdiff_data *state___1 , char const   *line___0 ,
                           struct patch *patch )
{
  int tmp ;

  {
  tmp = parse_mode_line(line___0, state___1->linenr, & patch->old_mode);
  return (tmp);
}
}
static int gitdiff_newmode(struct gitdiff_data *state___1 , char const   *line___0 ,
                           struct patch *patch )
{
  int tmp ;

  {
  tmp = parse_mode_line(line___0, state___1->linenr, & patch->new_mode);
  return (tmp);
}
}
static int gitdiff_delete(struct gitdiff_data *state___1 , char const   *line___0 ,
                          struct patch *patch )
{
  int tmp ;

  {
  patch->is_delete = 1;
  free((void *)patch->old_name);
  patch->old_name = xstrdup_or_null((char const   *)patch->def_name);
  tmp = gitdiff_oldmode(state___1, line___0, patch);
  return (tmp);
}
}
static int gitdiff_newfile(struct gitdiff_data *state___1 , char const   *line___0 ,
                           struct patch *patch )
{
  int tmp ;

  {
  patch->is_new = 1;
  free((void *)patch->new_name);
  patch->new_name = xstrdup_or_null((char const   *)patch->def_name);
  tmp = gitdiff_newmode(state___1, line___0, patch);
  return (tmp);
}
}
static int gitdiff_copysrc(struct gitdiff_data *state___1 , char const   *line___0 ,
                           struct patch *patch )
{
  int tmp ;

  {
  patch->is_copy = 1U;
  free((void *)patch->old_name);
  if (state___1->p_value) {
    tmp = state___1->p_value - 1;
  } else {
    tmp = 0;
  }
  patch->old_name = find_name(state___1->root, line___0, (char *)((void *)0), tmp,
                              0);
  return (0);
}
}
static int gitdiff_copydst(struct gitdiff_data *state___1 , char const   *line___0 ,
                           struct patch *patch )
{
  int tmp ;

  {
  patch->is_copy = 1U;
  free((void *)patch->new_name);
  if (state___1->p_value) {
    tmp = state___1->p_value - 1;
  } else {
    tmp = 0;
  }
  patch->new_name = find_name(state___1->root, line___0, (char *)((void *)0), tmp,
                              0);
  return (0);
}
}
static int gitdiff_renamesrc(struct gitdiff_data *state___1 , char const   *line___0 ,
                             struct patch *patch )
{
  int tmp ;

  {
  patch->is_rename = 1U;
  free((void *)patch->old_name);
  if (state___1->p_value) {
    tmp = state___1->p_value - 1;
  } else {
    tmp = 0;
  }
  patch->old_name = find_name(state___1->root, line___0, (char *)((void *)0), tmp,
                              0);
  return (0);
}
}
static int gitdiff_renamedst(struct gitdiff_data *state___1 , char const   *line___0 ,
                             struct patch *patch )
{
  int tmp ;

  {
  patch->is_rename = 1U;
  free((void *)patch->new_name);
  if (state___1->p_value) {
    tmp = state___1->p_value - 1;
  } else {
    tmp = 0;
  }
  patch->new_name = find_name(state___1->root, line___0, (char *)((void *)0), tmp,
                              0);
  return (0);
}
}
static int gitdiff_similarity(struct gitdiff_data *state___1 , char const   *line___0 ,
                              struct patch *patch )
{
  unsigned long val ;
  unsigned long tmp ;

  {
  tmp = strtoul((char const   * __restrict  )line___0, (char ** __restrict  )((void *)0),
                10);
  val = tmp;
  if (val <= 100UL) {
    patch->score = (int )val;
  }
  return (0);
}
}
static int gitdiff_dissimilarity(struct gitdiff_data *state___1 , char const   *line___0 ,
                                 struct patch *patch )
{
  unsigned long val ;
  unsigned long tmp ;

  {
  tmp = strtoul((char const   * __restrict  )line___0, (char ** __restrict  )((void *)0),
                10);
  val = tmp;
  if (val <= 100UL) {
    patch->score = (int )val;
  }
  return (0);
}
}
static int gitdiff_index(struct gitdiff_data *state___1 , char const   *line___0 ,
                         struct patch *patch )
{
  char const   *ptr ;
  char const   *eol ;
  int len___0 ;
  unsigned int hexsz ;
  char *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  hexsz = (unsigned int )(the_repository->hash_algo)->hexsz;
  tmp = strchr(line___0, '.');
  ptr = (char const   *)tmp;
  if (! ptr) {
    return (0);
  } else
  if ((int const   )*(ptr + 1) != 46) {
    return (0);
  } else
  if ((long )hexsz < ptr - line___0) {
    return (0);
  }
  len___0 = (int )(ptr - line___0);
  memcpy((void *)(patch->old_oid_prefix), (void const   *)line___0, (size_t )len___0);
  patch->old_oid_prefix[len___0] = (char)0;
  line___0 = ptr + 2;
  tmp___0 = strchr(line___0, ' ');
  ptr = (char const   *)tmp___0;
  tmp___1 = strchrnul(line___0, '\n');
  eol = (char const   *)tmp___1;
  if (! ptr) {
    ptr = eol;
  } else
  if ((unsigned long )eol < (unsigned long )ptr) {
    ptr = eol;
  }
  len___0 = (int )(ptr - line___0);
  if (hexsz < (unsigned int )len___0) {
    return (0);
  }
  memcpy((void *)(patch->new_oid_prefix), (void const   *)line___0, (size_t )len___0);
  patch->new_oid_prefix[len___0] = (char)0;
  if ((int const   )*ptr == 32) {
    tmp___2 = gitdiff_oldmode(state___1, ptr + 1, patch);
    return (tmp___2);
  }
  return (0);
}
}
static int gitdiff_unrecognized(struct gitdiff_data *state___1 , char const   *line___0 ,
                                struct patch *patch )
{


  {
  return (1);
}
}
static char const   *skip_tree_prefix(int p_value , char const   *line___0 , int llen )
{
  int nslash ;
  int i ;
  char const   *tmp ;
  int ch___0 ;
  char const   *tmp___0 ;

  {
  if (! p_value) {
    if (llen) {
      if ((int const   )*(line___0 + 0) == 47) {
        tmp = (char const   *)((void *)0);
      } else {
        tmp = line___0;
      }
    } else {
      tmp = line___0;
    }
    return (tmp);
  }
  nslash = p_value;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < llen)) {
      goto while_break;
    }
    ch___0 = (int )*(line___0 + i);
    if (ch___0 == 47) {
      nslash --;
      if (nslash <= 0) {
        if (i == 0) {
          tmp___0 = (char const   *)((void *)0);
        } else {
          tmp___0 = line___0 + (i + 1);
        }
        return (tmp___0);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((char const   *)((void *)0));
}
}
static char *git_header_name(int p_value , char const   *line___0 , int llen )
{
  char const   *name___0 ;
  char const   *second ;
  size_t len___0 ;
  size_t line_len ;
  size_t tmp ;
  size_t tmp___0 ;
  char const   *cp ;
  struct strbuf first ;
  struct strbuf sp ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  struct strbuf sp___0 ;
  char const   *np ;
  int tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;
  char *tmp___10 ;
  void *tmp___11 ;
  int tmp___12 ;

  {
  second = (char const   *)((void *)0);
  tmp = strlen((char const   *)"diff --git ");
  line___0 += tmp;
  tmp___0 = strlen((char const   *)"diff --git ");
  llen = (int )((size_t )llen - tmp___0);
  if ((int const   )*line___0 == 34) {
    first.alloc = 0UL;
    first.len = 0UL;
    first.buf = strbuf_slopbuf;
    sp.alloc = 0UL;
    sp.len = 0UL;
    sp.buf = strbuf_slopbuf;
    tmp___1 = unquote_c_style(& first, line___0, & second);
    if (tmp___1) {
      goto free_and_fail1;
    }
    cp = skip_tree_prefix(p_value, (char const   *)first.buf, (int )first.len);
    if (! cp) {
      goto free_and_fail1;
    }
    strbuf_remove(& first, (size_t )0, (size_t )(cp - (char const   *)first.buf));
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if ((unsigned long )second < (unsigned long )(line___0 + llen)) {
        if (! (((int const   )sane_ctype[(unsigned char )*second] & 1) != 0)) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      second ++;
    }
    while_break: /* CIL Label */ ;
    }
    if ((unsigned long )(line___0 + llen) <= (unsigned long )second) {
      goto free_and_fail1;
    }
    if ((int const   )*second == 34) {
      tmp___2 = unquote_c_style(& sp, second, (char const   **)((void *)0));
      if (tmp___2) {
        goto free_and_fail1;
      }
      cp = skip_tree_prefix(p_value, (char const   *)sp.buf, (int )sp.len);
      if (! cp) {
        goto free_and_fail1;
      }
      tmp___3 = strcmp(cp, (char const   *)first.buf);
      if (tmp___3) {
        goto free_and_fail1;
      }
      strbuf_release(& sp);
      tmp___4 = strbuf_detach(& first, (size_t *)((void *)0));
      return (tmp___4);
    }
    cp = skip_tree_prefix(p_value, second, (int )((line___0 + llen) - second));
    if (! cp) {
      goto free_and_fail1;
    }
    if ((size_t )((line___0 + llen) - cp) != first.len) {
      goto free_and_fail1;
    } else {
      tmp___5 = memcmp((void const   *)first.buf, (void const   *)cp, first.len);
      if (tmp___5) {
        goto free_and_fail1;
      }
    }
    tmp___6 = strbuf_detach(& first, (size_t *)((void *)0));
    return (tmp___6);
    free_and_fail1:
    strbuf_release(& first);
    strbuf_release(& sp);
    return ((char *)((void *)0));
  }
  name___0 = skip_tree_prefix(p_value, line___0, llen);
  if (! name___0) {
    return ((char *)((void *)0));
  }
  second = name___0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )second < (unsigned long )(line___0 + llen))) {
      goto while_break___0;
    }
    if ((int const   )*second == 34) {
      sp___0.alloc = 0UL;
      sp___0.len = 0UL;
      sp___0.buf = strbuf_slopbuf;
      tmp___7 = unquote_c_style(& sp___0, second, (char const   **)((void *)0));
      if (tmp___7) {
        goto free_and_fail2;
      }
      np = skip_tree_prefix(p_value, (char const   *)sp___0.buf, (int )sp___0.len);
      if (! np) {
        goto free_and_fail2;
      }
      len___0 = (size_t )((sp___0.buf + sp___0.len) - (char *)np);
      if (len___0 < (size_t )(second - name___0)) {
        tmp___9 = strncmp(np, name___0, len___0);
        if (! tmp___9) {
          if (((int const   )sane_ctype[(unsigned char )*(name___0 + len___0)] & 1) != 0) {
            strbuf_remove(& sp___0, (size_t )0, (size_t )(np - (char const   *)sp___0.buf));
            tmp___8 = strbuf_detach(& sp___0, (size_t *)((void *)0));
            return (tmp___8);
          }
        }
      }
      free_and_fail2:
      strbuf_release(& sp___0);
      return ((char *)((void *)0));
    }
    second ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___10 = strchr(name___0, '\n');
  second = (char const   *)tmp___10;
  if (! second) {
    return ((char *)((void *)0));
  }
  line_len = (size_t )(second - name___0);
  len___0 = (size_t )0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    {
    if ((int const   )*(name___0 + len___0) == 10) {
      goto case_10;
    }
    if ((int const   )*(name___0 + len___0) == 32) {
      goto case_32;
    }
    if ((int const   )*(name___0 + len___0) == 9) {
      goto case_32;
    }
    goto switch_default;
    switch_default: /* CIL Label */
    goto __Cont;
    case_10: /* CIL Label */
    return ((char *)((void *)0));
    case_32: /* CIL Label */
    case_9: /* CIL Label */
    if (! *(name___0 + (len___0 + 1UL))) {
      return ((char *)((void *)0));
    }
    second = skip_tree_prefix(p_value, (name___0 + len___0) + 1, (int )(line_len - (len___0 + 1UL)));
    if (! second) {
      return ((char *)((void *)0));
    }
    if ((int const   )*(second + len___0) == 10) {
      tmp___12 = strncmp(name___0, second, len___0);
      if (! tmp___12) {
        tmp___11 = xmemdupz((void const   *)name___0, len___0);
        return ((char *)tmp___11);
      }
    }
    switch_break: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    len___0 ++;
  }
  while_break___1: /* CIL Label */ ;
  }
}
}
static int check_header_line(int linenr , struct patch *patch )
{
  int extensions ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  extensions = (((patch->is_delete == 1) + (patch->is_new == 1)) + (patch->is_rename == 1U)) + (patch->is_copy == 1U);
  if (extensions > 1) {
    tmp = _((char const   *)"inconsistent header lines %d and %d");
    error((char const   *)tmp, patch->extension_linenr, linenr);
    tmp___0 = const_error();
    return (tmp___0);
  }
  if (extensions) {
    if (! patch->extension_linenr) {
      patch->extension_linenr = linenr;
    }
  }
  return (0);
}
}
static struct opentry  const  optable[17]  =
  {      {(char const   *)"@@ -", & gitdiff_hdrend},
        {(char const   *)"--- ", & gitdiff_oldname},
        {(char const   *)"+++ ", & gitdiff_newname},
        {(char const   *)"old mode ", & gitdiff_oldmode},
        {(char const   *)"new mode ", & gitdiff_newmode},
        {(char const   *)"deleted file mode ", & gitdiff_delete},
        {(char const   *)"new file mode ", & gitdiff_newfile},
        {(char const   *)"copy from ", & gitdiff_copysrc},
        {(char const   *)"copy to ", & gitdiff_copydst},
        {(char const   *)"rename old ", & gitdiff_renamesrc},
        {(char const   *)"rename new ", & gitdiff_renamedst},
        {(char const   *)"rename from ", & gitdiff_renamesrc},
        {(char const   *)"rename to ", & gitdiff_renamedst},
        {(char const   *)"similarity index ", & gitdiff_similarity},
        {(char const   *)"dissimilarity index ", & gitdiff_dissimilarity},
        {(char const   *)"index ", & gitdiff_index},
        {(char const   *)"", & gitdiff_unrecognized}};
int parse_git_diff_header(struct strbuf *root , int *linenr , int p_value , char const   *line___0 ,
                          int len___0 , unsigned int size , struct patch *patch )
{
  unsigned long offset___2 ;
  struct gitdiff_data parse_hdr_state ;
  char *s___1 ;
  char *tmp ;
  int i ;
  unsigned long tmp___0 ;
  struct opentry  const  *p___0 ;
  int oplen ;
  size_t tmp___1 ;
  int res ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  patch->is_new = 0;
  patch->is_delete = 0;
  patch->def_name = git_header_name(p_value, line___0, len___0);
  if (patch->def_name) {
    if (root->len) {
      tmp = xstrfmt((char const   *)"%s%s", root->buf, patch->def_name);
      s___1 = tmp;
      free((void *)patch->def_name);
      patch->def_name = s___1;
    }
  }
  line___0 += len___0;
  size -= (unsigned int )len___0;
  (*linenr) ++;
  parse_hdr_state.root = root;
  parse_hdr_state.linenr = *linenr;
  parse_hdr_state.p_value = p_value;
  offset___2 = (unsigned long )len___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (size > 0U)) {
      goto while_break;
    }
    tmp___0 = linelen(line___0, (unsigned long )size);
    len___0 = (int )tmp___0;
    if (! len___0) {
      goto while_break;
    } else
    if ((int const   )*(line___0 + (len___0 - 1)) != 10) {
      goto while_break;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned long )i < sizeof(optable) / sizeof(optable[0]) + (sizeof(char [1]) - 1UL))) {
        goto while_break___0;
      }
      p___0 = optable + i;
      tmp___1 = strlen((char const   *)p___0->str);
      oplen = (int )tmp___1;
      if (len___0 < oplen) {
        goto __Cont;
      } else {
        tmp___2 = memcmp((void const   *)p___0->str, (void const   *)line___0, (size_t )oplen);
        if (tmp___2) {
          goto __Cont;
        }
      }
      res = (*(p___0->fn))(& parse_hdr_state, line___0 + oplen, patch);
      if (res < 0) {
        return (-1);
      }
      tmp___3 = check_header_line(*linenr, patch);
      if (tmp___3) {
        return (-1);
      }
      if (res > 0) {
        goto done;
      }
      goto while_break___0;
      __Cont: /* CIL Label */
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    offset___2 += (unsigned long )len___0;
    size -= (unsigned int )len___0;
    line___0 += len___0;
    (*linenr) ++;
  }
  while_break: /* CIL Label */ ;
  }
  done:
  if (! patch->old_name) {
    if (! patch->new_name) {
      if (! patch->def_name) {
        tmp___4 = Q_((char const   *)"git diff header lacks filename information when removing %d leading pathname component (line %d)",
                     (char const   *)"git diff header lacks filename information when removing %d leading pathname components (line %d)",
                     (unsigned long )parse_hdr_state.p_value);
        error((char const   *)tmp___4, parse_hdr_state.p_value, *linenr);
        const_error();
        return (-128);
      }
      patch->old_name = xstrdup((char const   *)patch->def_name);
      patch->new_name = xstrdup((char const   *)patch->def_name);
    }
  }
  if (! patch->new_name) {
    if (! patch->is_delete) {
      tmp___5 = _((char const   *)"git diff header lacks filename information (line %d)");
      error((char const   *)tmp___5, *linenr);
      const_error();
      return (-128);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (! patch->old_name) {
    if (! patch->is_new) {
      tmp___5 = _((char const   *)"git diff header lacks filename information (line %d)");
      error((char const   *)tmp___5, *linenr);
      const_error();
      return (-128);
    }
  }
  patch->is_toplevel_relative = 1U;
  return ((int )offset___2);
}
}
static int parse_num(char const   *line___0 , unsigned long *p___0 )
{
  char *ptr ;

  {
  if (! (((int const   )sane_ctype[(unsigned char )*line___0] & 2) != 0)) {
    return (0);
  }
  *p___0 = strtoul((char const   * __restrict  )line___0, (char ** __restrict  )(& ptr),
                   10);
  return ((int )(ptr - (char *)line___0));
}
}
static int parse_range___0(char const   *line___0 , int len___0 , int offset___2 ,
                           char const   *expect , unsigned long *p1 , unsigned long *p2 )
{
  int digits___0 ;
  int ex ;
  size_t tmp ;
  int tmp___0 ;

  {
  if (offset___2 < 0) {
    return (-1);
  } else
  if (offset___2 >= len___0) {
    return (-1);
  }
  line___0 += offset___2;
  len___0 -= offset___2;
  digits___0 = parse_num(line___0, p1);
  if (! digits___0) {
    return (-1);
  }
  offset___2 += digits___0;
  line___0 += digits___0;
  len___0 -= digits___0;
  *p2 = 1UL;
  if ((int const   )*line___0 == 44) {
    digits___0 = parse_num(line___0 + 1, p2);
    if (! digits___0) {
      return (-1);
    }
    offset___2 += digits___0 + 1;
    line___0 += digits___0 + 1;
    len___0 -= digits___0 + 1;
  }
  tmp = strlen(expect);
  ex = (int )tmp;
  if (ex > len___0) {
    return (-1);
  }
  tmp___0 = memcmp((void const   *)line___0, (void const   *)expect, (size_t )ex);
  if (tmp___0) {
    return (-1);
  }
  return (offset___2 + ex);
}
}
static void recount_diff(char const   *line___0 , int size , struct fragment *fragment )
{
  int oldlines ;
  int newlines ;
  int ret___67 ;
  int len___0 ;
  unsigned long tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  unsigned long tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  oldlines = 0;
  newlines = 0;
  ret___67 = 0;
  if (size < 1) {
    warning((char const   *)"recount: ignore empty hunk");
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = linelen(line___0, (unsigned long )size);
    len___0 = (int )tmp;
    size -= len___0;
    line___0 += len___0;
    if (size < 1) {
      goto while_break;
    }
    {
    if ((int const   )*line___0 == 10) {
      goto case_10;
    }
    if ((int const   )*line___0 == 32) {
      goto case_10;
    }
    if ((int const   )*line___0 == 45) {
      goto case_45;
    }
    if ((int const   )*line___0 == 43) {
      goto case_43;
    }
    if ((int const   )*line___0 == 92) {
      goto case_92;
    }
    if ((int const   )*line___0 == 64) {
      goto case_64;
    }
    if ((int const   )*line___0 == 100) {
      goto case_100;
    }
    goto switch_default;
    case_10: /* CIL Label */
    case_32: /* CIL Label */
    newlines ++;
    case_45: /* CIL Label */
    oldlines ++;
    goto __Cont;
    case_43: /* CIL Label */
    newlines ++;
    goto __Cont;
    case_92: /* CIL Label */
    goto __Cont;
    case_64: /* CIL Label */
    if (size < 3) {
      tmp___1 = 1;
    } else {
      tmp___0 = starts_with(line___0, (char const   *)"@@ ");
      if (tmp___0) {
        tmp___1 = 0;
      } else {
        tmp___1 = 1;
      }
    }
    ret___67 = tmp___1;
    goto switch_break;
    case_100: /* CIL Label */
    if (size < 5) {
      tmp___3 = 1;
    } else {
      tmp___2 = starts_with(line___0, (char const   *)"diff ");
      if (tmp___2) {
        tmp___3 = 0;
      } else {
        tmp___3 = 1;
      }
    }
    ret___67 = tmp___3;
    goto switch_break;
    switch_default: /* CIL Label */
    ret___67 = -1;
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    if (ret___67) {
      tmp___4 = linelen(line___0, (unsigned long )size);
      tmp___5 = _((char const   *)"recount: unexpected line: %.*s");
      warning((char const   *)tmp___5, (int )tmp___4, line___0);
      return;
    }
    goto while_break;
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  fragment->oldlines = (unsigned long )oldlines;
  fragment->newlines = (unsigned long )newlines;
  return;
}
}
static int parse_fragment_header(char const   *line___0 , int len___0 , struct fragment *fragment )
{
  int offset___2 ;

  {
  if (! len___0) {
    return (-1);
  } else
  if ((int const   )*(line___0 + (len___0 - 1)) != 10) {
    return (-1);
  }
  offset___2 = parse_range___0(line___0, len___0, 4, (char const   *)" +", & fragment->oldpos,
                               & fragment->oldlines);
  offset___2 = parse_range___0(line___0, len___0, offset___2, (char const   *)" @@",
                               & fragment->newpos, & fragment->newlines);
  return (offset___2);
}
}
static int find_header(struct apply_state *state___1 , char const   *line___0 , unsigned long size ,
                       int *hdrsize , struct patch *patch )
{
  unsigned long offset___2 ;
  unsigned long len___0 ;
  unsigned int tmp ;
  int tmp___0 ;
  unsigned int tmp___1 ;
  char *tmp___2 ;
  unsigned long nextlen ;
  struct fragment dummy___0 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int git_hdr_len ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;

  {
  patch->is_toplevel_relative = 0U;
  tmp = 0U;
  patch->is_copy = tmp;
  patch->is_rename = tmp;
  tmp___0 = -1;
  patch->is_delete = tmp___0;
  patch->is_new = tmp___0;
  tmp___1 = 0U;
  patch->new_mode = tmp___1;
  patch->old_mode = tmp___1;
  tmp___2 = (char *)((void *)0);
  patch->new_name = tmp___2;
  patch->old_name = tmp___2;
  offset___2 = 0UL;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (size > 0UL)) {
      goto while_break;
    }
    len___0 = linelen(line___0, size);
    if (! len___0) {
      goto while_break;
    }
    if (len___0 < 6UL) {
      goto __Cont;
    }
    tmp___5 = memcmp((void const   *)"@@ -", (void const   *)line___0, (size_t )4);
    if (! tmp___5) {
      tmp___3 = parse_fragment_header(line___0, (int )len___0, & dummy___0);
      if (tmp___3 < 0) {
        goto __Cont;
      }
      tmp___4 = _((char const   *)"patch fragment without header at line %d: %.*s");
      error((char const   *)tmp___4, state___1->linenr, (int )len___0 - 1, line___0);
      const_error();
      return (-128);
    }
    if (size < len___0 + 6UL) {
      goto while_break;
    }
    tmp___7 = memcmp((void const   *)"diff --git ", (void const   *)line___0, (size_t )11);
    if (! tmp___7) {
      tmp___6 = parse_git_diff_header(& state___1->root, & state___1->linenr, state___1->p_value,
                                      line___0, (int )len___0, (unsigned int )size,
                                      patch);
      git_hdr_len = tmp___6;
      if (git_hdr_len < 0) {
        return (-128);
      }
      if ((unsigned long )git_hdr_len <= len___0) {
        goto __Cont;
      }
      *hdrsize = git_hdr_len;
      return ((int )offset___2);
    }
    tmp___8 = memcmp((void const   *)"--- ", (void const   *)line___0, (size_t )4);
    if (tmp___8) {
      goto __Cont;
    } else {
      tmp___9 = memcmp((void const   *)"+++ ", (void const   *)(line___0 + len___0),
                       (size_t )4);
      if (tmp___9) {
        goto __Cont;
      }
    }
    nextlen = linelen(line___0 + len___0, size - len___0);
    if (size < nextlen + 14UL) {
      goto __Cont;
    } else {
      tmp___10 = memcmp((void const   *)"@@ -", (void const   *)((line___0 + len___0) + nextlen),
                        (size_t )4);
      if (tmp___10) {
        goto __Cont;
      }
    }
    tmp___11 = parse_traditional_patch(state___1, line___0, line___0 + len___0, patch);
    if (tmp___11) {
      return (-128);
    }
    *hdrsize = (int )(len___0 + nextlen);
    state___1->linenr += 2;
    return ((int )offset___2);
    __Cont: /* CIL Label */
    offset___2 += len___0;
    size -= len___0;
    line___0 += len___0;
    (state___1->linenr) ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (-1);
}
}
static void record_ws_error(struct apply_state *state___1 , unsigned int result___0 ,
                            char const   *line___0 , int len___0 , int linenr )
{
  char *err___4 ;

  {
  if (! result___0) {
    return;
  }
  (state___1->whitespace_error) ++;
  if (state___1->squelch_whitespace_errors) {
    if (state___1->squelch_whitespace_errors < state___1->whitespace_error) {
      return;
    }
  }
  err___4 = whitespace_error_string(result___0);
  if ((int )state___1->apply_verbosity > -1) {
    fprintf(stderr, (char const   *)"%s:%d: %s.\n%.*s\n", state___1->patch_input_file,
            linenr, err___4, len___0, line___0);
  }
  free((void *)err___4);
  return;
}
}
static void check_whitespace(struct apply_state *state___1 , char const   *line___0 ,
                             int len___0 , unsigned int ws_rule )
{
  unsigned int result___0 ;
  unsigned int tmp ;

  {
  tmp = ws_check(line___0 + 1, len___0 - 1, ws_rule);
  result___0 = tmp;
  record_ws_error(state___1, result___0, line___0 + 1, len___0 - 2, state___1->linenr);
  return;
}
}
static void check_old_for_crlf(struct patch *patch , char const   *line___0 , int len___0 )
{


  {
  if (len___0 >= 2) {
    if ((int const   )*(line___0 + (len___0 - 1)) == 10) {
      if ((int const   )*(line___0 + (len___0 - 2)) == 13) {
        patch->ws_rule |= 512U;
        patch->crlf_in_old = 1U;
      }
    }
  }
  return;
}
}
static int parse_fragment(struct apply_state *state___1 , char const   *line___0 ,
                          unsigned long size , struct patch *patch , struct fragment *fragment )
{
  int added ;
  int deleted ;
  int len___0 ;
  unsigned long tmp ;
  int offset___2 ;
  unsigned long oldlines ;
  unsigned long newlines ;
  unsigned long leading ;
  unsigned long trailing ;
  unsigned long tmp___0 ;
  int tmp___1 ;
  unsigned long tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;

  {
  tmp = linelen(line___0, size);
  len___0 = (int )tmp;
  offset___2 = parse_fragment_header(line___0, len___0, fragment);
  if (offset___2 < 0) {
    return (-1);
  }
  if (offset___2 > 0) {
    if (patch->recount) {
      recount_diff(line___0 + offset___2, (int )(size - (unsigned long )offset___2),
                   fragment);
    }
  }
  oldlines = fragment->oldlines;
  newlines = fragment->newlines;
  leading = 0UL;
  trailing = 0UL;
  line___0 += len___0;
  size -= (unsigned long )len___0;
  (state___1->linenr) ++;
  deleted = 0;
  added = deleted;
  offset___2 = len___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (0UL < size)) {
      goto while_break;
    }
    if (! oldlines) {
      if (! newlines) {
        goto while_break;
      }
    }
    tmp___0 = linelen(line___0, size);
    len___0 = (int )tmp___0;
    if (! len___0) {
      return (-1);
    } else
    if ((int const   )*(line___0 + (len___0 - 1)) != 10) {
      return (-1);
    }
    {
    if ((int const   )*line___0 == 32) {
      goto case_32;
    }
    if ((int const   )*line___0 == 10) {
      goto case_32;
    }
    if ((int const   )*line___0 == 45) {
      goto case_45;
    }
    if ((int const   )*line___0 == 43) {
      goto case_43;
    }
    if ((int const   )*line___0 == 92) {
      goto case_92;
    }
    goto switch_default;
    switch_default: /* CIL Label */
    return (-1);
    case_32: /* CIL Label */
    case_10: /* CIL Label */
    oldlines --;
    newlines --;
    if (! deleted) {
      if (! added) {
        leading ++;
      }
    }
    trailing ++;
    check_old_for_crlf(patch, line___0, len___0);
    if (! state___1->apply_in_reverse) {
      if ((unsigned int )state___1->ws_error_action == 3U) {
        check_whitespace(state___1, line___0, len___0, patch->ws_rule);
      }
    }
    goto switch_break;
    case_45: /* CIL Label */
    if (! state___1->apply_in_reverse) {
      check_old_for_crlf(patch, line___0, len___0);
    }
    if (state___1->apply_in_reverse) {
      if ((unsigned int )state___1->ws_error_action != 0U) {
        check_whitespace(state___1, line___0, len___0, patch->ws_rule);
      }
    }
    deleted ++;
    oldlines --;
    trailing = 0UL;
    goto switch_break;
    case_43: /* CIL Label */
    if (state___1->apply_in_reverse) {
      check_old_for_crlf(patch, line___0, len___0);
    }
    if (! state___1->apply_in_reverse) {
      if ((unsigned int )state___1->ws_error_action != 0U) {
        check_whitespace(state___1, line___0, len___0, patch->ws_rule);
      }
    }
    added ++;
    newlines --;
    trailing = 0UL;
    goto switch_break;
    case_92: /* CIL Label */
    if (len___0 < 12) {
      return (-1);
    } else {
      tmp___1 = memcmp((void const   *)line___0, (void const   *)"\\ ", (size_t )2);
      if (tmp___1) {
        return (-1);
      }
    }
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    offset___2 += len___0;
    size -= (unsigned long )len___0;
    line___0 += len___0;
    (state___1->linenr) ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (oldlines) {
    return (-1);
  } else
  if (newlines) {
    return (-1);
  }
  if (! patch->recount) {
    if (! deleted) {
      if (! added) {
        return (-1);
      }
    }
  }
  fragment->leading = leading;
  fragment->trailing = trailing;
  if (12UL < size) {
    tmp___3 = memcmp((void const   *)line___0, (void const   *)"\\ ", (size_t )2);
    if (! tmp___3) {
      tmp___2 = linelen(line___0, size);
      offset___2 = (int )((unsigned long )offset___2 + tmp___2);
    }
  }
  patch->lines_added += added;
  patch->lines_deleted += deleted;
  if (0 < patch->is_new) {
    if (oldlines) {
      tmp___4 = _((char const   *)"new file depends on old contents");
      error((char const   *)tmp___4);
      tmp___5 = const_error();
      return (tmp___5);
    }
  }
  if (0 < patch->is_delete) {
    if (newlines) {
      tmp___6 = _((char const   *)"deleted file still has contents");
      error((char const   *)tmp___6);
      tmp___7 = const_error();
      return (tmp___7);
    }
  }
  return (offset___2);
}
}
static int parse_single_patch(struct apply_state *state___1 , char const   *line___0 ,
                              unsigned long size , struct patch *patch )
{
  unsigned long offset___2 ;
  unsigned long oldlines ;
  unsigned long newlines ;
  unsigned long context___0 ;
  struct fragment **fragp ;
  struct fragment *fragment ;
  int len___0 ;
  void *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;

  {
  offset___2 = 0UL;
  oldlines = 0UL;
  newlines = 0UL;
  context___0 = 0UL;
  fragp = & patch->fragments;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (size > 4UL) {
      tmp___2 = memcmp((void const   *)line___0, (void const   *)"@@ -", (size_t )4);
      if (tmp___2) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = xcalloc((size_t )1, sizeof(*fragment));
    fragment = (struct fragment *)tmp;
    fragment->linenr = state___1->linenr;
    len___0 = parse_fragment(state___1, line___0, size, patch, fragment);
    if (len___0 <= 0) {
      free((void *)fragment);
      tmp___0 = _((char const   *)"corrupt patch at line %d");
      error((char const   *)tmp___0, state___1->linenr);
      tmp___1 = const_error();
      return (tmp___1);
    }
    fragment->patch = line___0;
    fragment->size = len___0;
    oldlines += fragment->oldlines;
    newlines += fragment->newlines;
    context___0 += fragment->leading + fragment->trailing;
    *fragp = fragment;
    fragp = & fragment->next;
    offset___2 += (unsigned long )len___0;
    line___0 += len___0;
    size -= (unsigned long )len___0;
  }
  while_break: /* CIL Label */ ;
  }
  if (patch->is_new < 0) {
    if (oldlines) {
      patch->is_new = 0;
    } else
    if (patch->fragments) {
      if ((patch->fragments)->next) {
        patch->is_new = 0;
      }
    }
  }
  if (patch->is_delete < 0) {
    if (newlines) {
      patch->is_delete = 0;
    } else
    if (patch->fragments) {
      if ((patch->fragments)->next) {
        patch->is_delete = 0;
      }
    }
  }
  if (0 < patch->is_new) {
    if (oldlines) {
      tmp___3 = _((char const   *)"new file %s depends on old contents");
      error((char const   *)tmp___3, patch->new_name);
      tmp___4 = const_error();
      return (tmp___4);
    }
  }
  if (0 < patch->is_delete) {
    if (newlines) {
      tmp___5 = _((char const   *)"deleted file %s still has contents");
      error((char const   *)tmp___5, patch->old_name);
      tmp___6 = const_error();
      return (tmp___6);
    }
  }
  if (! patch->is_delete) {
    if (! newlines) {
      if (context___0) {
        if ((int )state___1->apply_verbosity > -1) {
          tmp___7 = _((char const   *)"** warning: file %s becomes empty but is not deleted");
          fprintf_ln(stderr, (char const   *)tmp___7, patch->new_name);
        }
      }
    }
  }
  return ((int )offset___2);
}
}
__inline static int metadata_changes(struct patch *patch )
{
  int tmp ;

  {
  if (patch->is_rename > 0U) {
    tmp = 1;
  } else
  if (patch->is_copy > 0U) {
    tmp = 1;
  } else
  if (patch->is_new > 0) {
    tmp = 1;
  } else
  if (patch->is_delete) {
    tmp = 1;
  } else
  if (patch->old_mode) {
    if (patch->new_mode) {
      if (patch->old_mode != patch->new_mode) {
        tmp = 1;
      } else {
        tmp = 0;
      }
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static char *inflate_it(void const   *data , unsigned long size , unsigned long inflated_size )
{
  git_zstream stream ;
  void *out ;
  int st ;

  {
  memset((void *)(& stream), 0, sizeof(stream));
  stream.next_in = (unsigned char *)data;
  stream.avail_in = size;
  out = xmalloc(inflated_size);
  stream.next_out = (unsigned char *)out;
  stream.avail_out = inflated_size;
  git_inflate_init(& stream);
  st = git_inflate(& stream, 4);
  git_inflate_end(& stream);
  if (st != 1) {
    free(out);
    return ((char *)((void *)0));
  } else
  if (stream.total_out != inflated_size) {
    free(out);
    return ((char *)((void *)0));
  }
  return ((char *)out);
}
}
static struct fragment *parse_binary_hunk(struct apply_state *state___1 , char **buf_p ,
                                          unsigned long *sz_p , int *status_p , int *used_p )
{
  int llen ;
  int used___0 ;
  unsigned long size ;
  char *buffer___5 ;
  int patch_method ;
  unsigned long origlen ;
  char *data ;
  int hunk_size ;
  struct fragment *frag ;
  unsigned long tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int byte_length ;
  int max_byte_length ;
  int newsize ;
  unsigned long tmp___2 ;
  void *tmp___3 ;
  int tmp___4 ;
  void *tmp___5 ;
  char *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;

  {
  size = *sz_p;
  buffer___5 = *buf_p;
  data = (char *)((void *)0);
  hunk_size = 0;
  tmp = linelen((char const   *)buffer___5, size);
  llen = (int )tmp;
  used___0 = llen;
  *status_p = 0;
  tmp___1 = starts_with((char const   *)buffer___5, (char const   *)"delta ");
  if (tmp___1) {
    patch_method = 1;
    origlen = strtoul((char const   * __restrict  )(buffer___5 + 6), (char ** __restrict  )((void *)0),
                      10);
  } else {
    tmp___0 = starts_with((char const   *)buffer___5, (char const   *)"literal ");
    if (tmp___0) {
      patch_method = 2;
      origlen = strtoul((char const   * __restrict  )(buffer___5 + 8), (char ** __restrict  )((void *)0),
                        10);
    } else {
      return ((struct fragment *)((void *)0));
    }
  }
  (state___1->linenr) ++;
  buffer___5 += llen;
  size -= (unsigned long )llen;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = linelen((char const   *)buffer___5, size);
    llen = (int )tmp___2;
    used___0 += llen;
    (state___1->linenr) ++;
    if (llen == 1) {
      buffer___5 ++;
      size --;
      goto while_break;
    }
    if (llen < 7) {
      goto corrupt;
    } else
    if ((llen - 2) % 5) {
      goto corrupt;
    }
    max_byte_length = ((llen - 2) / 5) * 4;
    byte_length = (int )*buffer___5;
    if (65 <= byte_length) {
      if (byte_length <= 90) {
        byte_length = (byte_length - 65) + 1;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (97 <= byte_length) {
      if (byte_length <= 122) {
        byte_length = (byte_length - 97) + 27;
      } else {
        goto corrupt;
      }
    } else {
      goto corrupt;
    }
    if (max_byte_length < byte_length) {
      goto corrupt;
    } else
    if (byte_length <= max_byte_length - 4) {
      goto corrupt;
    }
    newsize = hunk_size + byte_length;
    tmp___3 = xrealloc((void *)data, (size_t )newsize);
    data = (char *)tmp___3;
    tmp___4 = decode_85(data + hunk_size, (char const   *)(buffer___5 + 1), byte_length);
    if (tmp___4) {
      goto corrupt;
    }
    hunk_size = newsize;
    buffer___5 += llen;
    size -= (unsigned long )llen;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___5 = xcalloc((size_t )1, sizeof(*frag));
  frag = (struct fragment *)tmp___5;
  tmp___6 = inflate_it((void const   *)data, (unsigned long )hunk_size, origlen);
  frag->patch = (char const   *)tmp___6;
  frag->free_patch = 1U;
  if (! frag->patch) {
    goto corrupt;
  }
  free((void *)data);
  frag->size = (int )origlen;
  *buf_p = buffer___5;
  *sz_p = size;
  *used_p = used___0;
  frag->leading = (unsigned long )patch_method;
  return (frag);
  corrupt:
  free((void *)data);
  *status_p = -1;
  tmp___7 = _((char const   *)"corrupt binary patch at line %d: %.*s");
  error((char const   *)tmp___7, state___1->linenr - 1, llen - 1, buffer___5);
  const_error();
  return ((struct fragment *)((void *)0));
}
}
static int parse_binary(struct apply_state *state___1 , char *buffer___5 , unsigned long size ,
                        struct patch *patch )
{
  struct fragment *forward ;
  struct fragment *reverse___0 ;
  int status ;
  int used___0 ;
  int used_1 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  forward = parse_binary_hunk(state___1, & buffer___5, & size, & status, & used___0);
  if (! forward) {
    if (! status) {
      tmp = _((char const   *)"unrecognized binary patch at line %d");
      error((char const   *)tmp, state___1->linenr - 1);
      tmp___0 = const_error();
      return (tmp___0);
    }
  }
  if (status) {
    return (status);
  }
  reverse___0 = parse_binary_hunk(state___1, & buffer___5, & size, & status, & used_1);
  if (reverse___0) {
    used___0 += used_1;
  } else
  if (status) {
    free((void *)forward->patch);
    free((void *)forward);
    return (status);
  }
  forward->next = reverse___0;
  patch->fragments = forward;
  patch->is_binary = 1U;
  return (used___0);
}
}
static void prefix_one(struct apply_state *state___1 , char **name___0 )
{
  char *old_name ;

  {
  old_name = *name___0;
  if (! old_name) {
    return;
  }
  *name___0 = prefix_filename(state___1->prefix, (char const   *)*name___0);
  free((void *)old_name);
  return;
}
}
static void prefix_patch(struct apply_state *state___1 , struct patch *p___0 )
{


  {
  if (! state___1->prefix) {
    return;
  } else
  if (p___0->is_toplevel_relative) {
    return;
  }
  prefix_one(state___1, & p___0->new_name);
  prefix_one(state___1, & p___0->old_name);
  return;
}
}
static void add_name_limit(struct apply_state *state___1 , char const   *name___0 ,
                           int exclude )
{
  struct string_list_item *it ;

  {
  it = string_list_append(& state___1->limit_by_name, name___0);
  if (exclude) {
    it->util = (void *)0;
  } else {
    it->util = (void *)1;
  }
  return;
}
}
static int use_patch(struct apply_state *state___1 , struct patch *p___0 )
{
  char const   *pathname ;
  char *tmp ;
  int i ;
  char const   *rest ;
  int tmp___0 ;
  struct string_list_item *it ;
  int tmp___1 ;

  {
  if (p___0->new_name) {
    tmp = p___0->new_name;
  } else {
    tmp = p___0->old_name;
  }
  pathname = (char const   *)tmp;
  if (state___1->prefix) {
    if (*(state___1->prefix)) {
      tmp___0 = skip_prefix(pathname, state___1->prefix, & rest);
      if (tmp___0) {
        if (! *rest) {
          return (0);
        }
      } else {
        return (0);
      }
    }
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < state___1->limit_by_name.nr)) {
      goto while_break;
    }
    it = state___1->limit_by_name.items + i;
    tmp___1 = wildmatch((char const   *)it->string, pathname, 0U);
    if (! tmp___1) {
      return ((unsigned long )it->util != (unsigned long )((void *)0));
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (! state___1->has_include);
}
}
static int parse_chunk(struct apply_state *state___1 , char *buffer___5 , unsigned long size ,
                       struct patch *patch ) ;
static char const   git_binary[18]  =
  {      (char const   )'G',      (char const   )'I',      (char const   )'T',      (char const   )' ',
        (char const   )'b',      (char const   )'i',      (char const   )'n',      (char const   )'a',
        (char const   )'r',      (char const   )'y',      (char const   )' ',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'c',      (char const   )'h',
        (char const   )'\n',      (char const   )'\000'};
static char const   *binhdr[3]  = {      (char const   *)"Binary files ",      (char const   *)"Files ",      (char const   *)((void *)0)};
static int parse_chunk(struct apply_state *state___1 , char *buffer___5 , unsigned long size ,
                       struct patch *patch )
{
  int hdrsize ;
  int patchsize ;
  int offset___2 ;
  int tmp ;
  int tmp___0 ;
  int hd ;
  unsigned long llen ;
  unsigned long tmp___1 ;
  int used___0 ;
  int i ;
  int len___0 ;
  size_t tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;

  {
  tmp = find_header(state___1, (char const   *)buffer___5, size, & hdrsize, patch);
  offset___2 = tmp;
  if (offset___2 < 0) {
    return (offset___2);
  }
  prefix_patch(state___1, patch);
  tmp___0 = use_patch(state___1, patch);
  if (tmp___0) {
    if (patch->new_name) {
      patch->ws_rule = whitespace_rule((state___1->repo)->index, (char const   *)patch->new_name);
    } else {
      patch->ws_rule = whitespace_rule((state___1->repo)->index, (char const   *)patch->old_name);
    }
  } else {
    patch->ws_rule = 0U;
  }
  patchsize = parse_single_patch(state___1, (char const   *)((buffer___5 + offset___2) + hdrsize),
                                 (size - (unsigned long )offset___2) - (unsigned long )hdrsize,
                                 patch);
  if (patchsize < 0) {
    return (-128);
  }
  if (! patchsize) {
    hd = hdrsize + offset___2;
    tmp___1 = linelen((char const   *)(buffer___5 + hd), size - (unsigned long )hd);
    llen = tmp___1;
    if (llen == sizeof(git_binary) - 1UL) {
      tmp___5 = memcmp((void const   *)(git_binary), (void const   *)(buffer___5 + hd),
                       llen);
      if (tmp___5) {
        goto _L;
      } else {
        (state___1->linenr) ++;
        used___0 = parse_binary(state___1, (buffer___5 + hd) + llen, (size - (unsigned long )hd) - llen,
                                patch);
        if (used___0 < 0) {
          return (-1);
        }
        if (used___0) {
          patchsize = (int )((unsigned long )used___0 + llen);
        } else {
          patchsize = 0;
        }
      }
    } else {
      _L: /* CIL Label */
      tmp___4 = memcmp((void const   *)" differ\n", (void const   *)(((buffer___5 + hd) + llen) - 8),
                       (size_t )8);
      if (! tmp___4) {
        i = 0;
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          if (! binhdr[i]) {
            goto while_break;
          }
          tmp___2 = strlen(binhdr[i]);
          len___0 = (int )tmp___2;
          if ((unsigned long )len___0 < size - (unsigned long )hd) {
            tmp___3 = memcmp((void const   *)binhdr[i], (void const   *)(buffer___5 + hd),
                             (size_t )len___0);
            if (! tmp___3) {
              (state___1->linenr) ++;
              patch->is_binary = 1U;
              patchsize = (int )llen;
              goto while_break;
            }
          }
          i ++;
        }
        while_break: /* CIL Label */ ;
        }
      }
    }
    if (state___1->apply) {
      goto _L___0;
    } else
    if (state___1->check) {
      _L___0: /* CIL Label */
      if (! patch->is_binary) {
        tmp___7 = metadata_changes(patch);
        if (! tmp___7) {
          tmp___6 = _((char const   *)"patch with only garbage at line %d");
          error((char const   *)tmp___6, state___1->linenr);
          const_error();
          return (-128);
        }
      }
    }
  }
  return ((offset___2 + hdrsize) + patchsize);
}
}
static void reverse_patches(struct patch *p___0 )
{
  struct fragment *frag ;
  void *_swap_a_ptr ;
  void *_swap_b_ptr ;
  unsigned char _swap_buffer[sizeof(p___0->new_name)] ;
  void *_swap_a_ptr___0 ;
  void *_swap_b_ptr___0 ;
  unsigned char _swap_buffer___0[sizeof(p___0->new_mode)] ;
  void *_swap_a_ptr___1 ;
  void *_swap_b_ptr___1 ;
  unsigned char _swap_buffer___1[sizeof(p___0->is_new)] ;
  void *_swap_a_ptr___2 ;
  void *_swap_b_ptr___2 ;
  unsigned char _swap_buffer___2[sizeof(p___0->lines_added)] ;
  void *_swap_a_ptr___3 ;
  void *_swap_b_ptr___3 ;
  unsigned char _swap_buffer___3[sizeof(p___0->old_oid_prefix)] ;
  void *_swap_a_ptr___4 ;
  void *_swap_b_ptr___4 ;
  unsigned char _swap_buffer___4[sizeof(frag->newpos)] ;
  void *_swap_a_ptr___5 ;
  void *_swap_b_ptr___5 ;
  unsigned char _swap_buffer___5[sizeof(frag->newlines)] ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    frag = p___0->fragments;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      _swap_a_ptr = (void *)(& p___0->new_name);
      _swap_b_ptr = (void *)(& p___0->old_name);
      memcpy((void *)(_swap_buffer), (void const   *)_swap_a_ptr, sizeof(p___0->new_name));
      memcpy(_swap_a_ptr, (void const   *)_swap_b_ptr, sizeof(p___0->new_name) + (sizeof(char [1]) - 1UL));
      memcpy(_swap_b_ptr, (void const   *)(_swap_buffer), sizeof(p___0->new_name));
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      _swap_a_ptr___0 = (void *)(& p___0->new_mode);
      _swap_b_ptr___0 = (void *)(& p___0->old_mode);
      memcpy((void *)(_swap_buffer___0), (void const   *)_swap_a_ptr___0, sizeof(p___0->new_mode));
      memcpy(_swap_a_ptr___0, (void const   *)_swap_b_ptr___0, sizeof(p___0->new_mode) + (sizeof(char [1]) - 1UL));
      memcpy(_swap_b_ptr___0, (void const   *)(_swap_buffer___0), sizeof(p___0->new_mode));
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      _swap_a_ptr___1 = (void *)(& p___0->is_new);
      _swap_b_ptr___1 = (void *)(& p___0->is_delete);
      memcpy((void *)(_swap_buffer___1), (void const   *)_swap_a_ptr___1, sizeof(p___0->is_new));
      memcpy(_swap_a_ptr___1, (void const   *)_swap_b_ptr___1, sizeof(p___0->is_new) + (sizeof(char [1]) - 1UL));
      memcpy(_swap_b_ptr___1, (void const   *)(_swap_buffer___1), sizeof(p___0->is_new));
      goto while_break___2;
    }
    while_break___2: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      _swap_a_ptr___2 = (void *)(& p___0->lines_added);
      _swap_b_ptr___2 = (void *)(& p___0->lines_deleted);
      memcpy((void *)(_swap_buffer___2), (void const   *)_swap_a_ptr___2, sizeof(p___0->lines_added));
      memcpy(_swap_a_ptr___2, (void const   *)_swap_b_ptr___2, sizeof(p___0->lines_added) + (sizeof(char [1]) - 1UL));
      memcpy(_swap_b_ptr___2, (void const   *)(_swap_buffer___2), sizeof(p___0->lines_added));
      goto while_break___3;
    }
    while_break___3: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      _swap_a_ptr___3 = (void *)(& p___0->old_oid_prefix);
      _swap_b_ptr___3 = (void *)(& p___0->new_oid_prefix);
      memcpy((void *)(_swap_buffer___3), (void const   *)_swap_a_ptr___3, sizeof(p___0->old_oid_prefix));
      memcpy(_swap_a_ptr___3, (void const   *)_swap_b_ptr___3, sizeof(p___0->old_oid_prefix) + (sizeof(char [1]) - 1UL));
      memcpy(_swap_b_ptr___3, (void const   *)(_swap_buffer___3), sizeof(p___0->old_oid_prefix));
      goto while_break___4;
    }
    while_break___4: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      if (! frag) {
        goto while_break___5;
      }
      {
      while (1) {
        while_continue___6: /* CIL Label */ ;
        _swap_a_ptr___4 = (void *)(& frag->newpos);
        _swap_b_ptr___4 = (void *)(& frag->oldpos);
        memcpy((void *)(_swap_buffer___4), (void const   *)_swap_a_ptr___4, sizeof(frag->newpos));
        memcpy(_swap_a_ptr___4, (void const   *)_swap_b_ptr___4, sizeof(frag->newpos) + (sizeof(char [1]) - 1UL));
        memcpy(_swap_b_ptr___4, (void const   *)(_swap_buffer___4), sizeof(frag->newpos));
        goto while_break___6;
      }
      while_break___6: /* CIL Label */ ;
      }
      {
      while (1) {
        while_continue___7: /* CIL Label */ ;
        _swap_a_ptr___5 = (void *)(& frag->newlines);
        _swap_b_ptr___5 = (void *)(& frag->oldlines);
        memcpy((void *)(_swap_buffer___5), (void const   *)_swap_a_ptr___5, sizeof(frag->newlines));
        memcpy(_swap_a_ptr___5, (void const   *)_swap_b_ptr___5, sizeof(frag->newlines) + (sizeof(char [1]) - 1UL));
        memcpy(_swap_b_ptr___5, (void const   *)(_swap_buffer___5), sizeof(frag->newlines));
        goto while_break___7;
      }
      while_break___7: /* CIL Label */ ;
      }
      frag = frag->next;
    }
    while_break___5: /* CIL Label */ ;
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static char const   pluses[71]  =
  {      (char const   )'+',      (char const   )'+',      (char const   )'+',      (char const   )'+',
        (char const   )'+',      (char const   )'+',      (char const   )'+',      (char const   )'+',
        (char const   )'+',      (char const   )'+',      (char const   )'+',      (char const   )'+',
        (char const   )'+',      (char const   )'+',      (char const   )'+',      (char const   )'+',
        (char const   )'+',      (char const   )'+',      (char const   )'+',      (char const   )'+',
        (char const   )'+',      (char const   )'+',      (char const   )'+',      (char const   )'+',
        (char const   )'+',      (char const   )'+',      (char const   )'+',      (char const   )'+',
        (char const   )'+',      (char const   )'+',      (char const   )'+',      (char const   )'+',
        (char const   )'+',      (char const   )'+',      (char const   )'+',      (char const   )'+',
        (char const   )'+',      (char const   )'+',      (char const   )'+',      (char const   )'+',
        (char const   )'+',      (char const   )'+',      (char const   )'+',      (char const   )'+',
        (char const   )'+',      (char const   )'+',      (char const   )'+',      (char const   )'+',
        (char const   )'+',      (char const   )'+',      (char const   )'+',      (char const   )'+',
        (char const   )'+',      (char const   )'+',      (char const   )'+',      (char const   )'+',
        (char const   )'+',      (char const   )'+',      (char const   )'+',      (char const   )'+',
        (char const   )'+',      (char const   )'+',      (char const   )'+',      (char const   )'+',
        (char const   )'+',      (char const   )'+',      (char const   )'+',      (char const   )'+',
        (char const   )'+',      (char const   )'+',      (char const   )'\000'};
static char const   minuses[71]  =
  {      (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'\000'};
static void show_stats(struct apply_state *state___1 , struct patch *patch )
{
  struct strbuf qname ;
  char *cp ;
  char *tmp ;
  int max ;
  int add___2 ;
  int del ;
  int total ;

  {
  qname.alloc = 0UL;
  qname.len = 0UL;
  qname.buf = strbuf_slopbuf;
  if (patch->new_name) {
    tmp = patch->new_name;
  } else {
    tmp = patch->old_name;
  }
  cp = tmp;
  quote_c_style((char const   *)cp, & qname, (FILE *)((void *)0), 0U);
  max = state___1->max_len;
  if (max > 50) {
    max = 50;
  }
  if (qname.len > (size_t )max) {
    cp = strchr((char const   *)(((qname.buf + qname.len) + 3) - max), '/');
    if (! cp) {
      cp = ((qname.buf + qname.len) + 3) - max;
    }
    strbuf_splice(& qname, (size_t )0, (size_t )(cp - qname.buf), (void const   *)"...",
                  (size_t )3);
  }
  if (patch->is_binary) {
    printf((char const   *)" %-*s |  Bin\n", max, qname.buf);
    strbuf_release(& qname);
    return;
  }
  printf((char const   *)" %-*s |", max, qname.buf);
  strbuf_release(& qname);
  if (max + state___1->max_change > 70) {
    max = 70 - max;
  } else {
    max = state___1->max_change;
  }
  add___2 = patch->lines_added;
  del = patch->lines_deleted;
  if (state___1->max_change > 0) {
    total = ((add___2 + del) * max + state___1->max_change / 2) / state___1->max_change;
    add___2 = (add___2 * max + state___1->max_change / 2) / state___1->max_change;
    del = total - add___2;
  }
  printf((char const   *)"%5d %.*s%.*s\n", patch->lines_added + patch->lines_deleted,
         add___2, pluses, del, minuses);
  return;
}
}
static int read_old_data(struct stat *st , struct patch *patch , char const   *path___6 ,
                         struct strbuf *buf___19 )
{
  int conv_flags ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  ssize_t tmp___5 ;

  {
  if (patch->crlf_in_old) {
    tmp = 1 << 3;
  } else {
    tmp = 1 << 2;
  }
  conv_flags = tmp;
  {
  if ((st->st_mode & 61440U) == 40960U) {
    goto case_40960;
  }
  if ((st->st_mode & 61440U) == 32768U) {
    goto case_32768;
  }
  goto switch_default;
  case_40960: /* CIL Label */
  tmp___2 = strbuf_readlink(buf___19, path___6, (size_t )st->st_size);
  if (tmp___2 < 0) {
    tmp___0 = _((char const   *)"unable to read symlink %s");
    error((char const   *)tmp___0, path___6);
    tmp___1 = const_error();
    return (tmp___1);
  }
  return (0);
  case_32768: /* CIL Label */
  tmp___5 = strbuf_read_file(buf___19, path___6, (size_t )st->st_size);
  if (tmp___5 != st->st_size) {
    tmp___3 = _((char const   *)"unable to open or read %s");
    error((char const   *)tmp___3, path___6);
    tmp___4 = const_error();
    return (tmp___4);
  }
  convert_to_git((struct index_state *)((void *)0), path___6, (char const   *)buf___19->buf,
                 buf___19->len, buf___19, conv_flags);
  return (0);
  switch_default: /* CIL Label */
  return (-1);
  switch_break: /* CIL Label */ ;
  }
}
}
static void update_pre_post_images(struct image *preimage , struct image *postimage ,
                                   char *buf___19 , size_t len___0 , size_t postlen )
{
  int i ;
  int ctx___0 ;
  int reduced ;
  char *new_buf ;
  char *old_buf ;
  char *fixed ;
  struct image fixed_preimage ;
  int tmp ;
  char *tmp___0 ;
  void *tmp___1 ;
  size_t l_len ;
  int tmp___2 ;

  {
  prepare_image(& fixed_preimage, buf___19, len___0, 1);
  if (postlen) {
    tmp = fixed_preimage.nr == preimage->nr;
  } else {
    tmp = fixed_preimage.nr <= preimage->nr;
  }
  assert(tmp);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < fixed_preimage.nr)) {
      goto while_break;
    }
    (fixed_preimage.line + i)->flag = (preimage->line + i)->flag;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)preimage->line_allocated);
  *preimage = fixed_preimage;
  old_buf = postimage->buf;
  if (postlen) {
    tmp___1 = xmalloc(postlen);
    tmp___0 = (char *)tmp___1;
    postimage->buf = tmp___0;
    new_buf = tmp___0;
  } else {
    new_buf = old_buf;
  }
  fixed = preimage->buf;
  ctx___0 = 0;
  reduced = ctx___0;
  i = reduced;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((size_t )i < postimage->nr)) {
      goto while_break___0;
    }
    l_len = (postimage->line + i)->len;
    if (! ((postimage->line + i)->flag & 1U)) {
      memmove((void *)new_buf, (void const   *)old_buf, l_len);
      old_buf += l_len;
      new_buf += l_len;
      goto __Cont;
    }
    old_buf += l_len;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if ((size_t )ctx___0 < preimage->nr) {
        if (! (! ((preimage->line + ctx___0)->flag & 1U))) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      fixed += (preimage->line + ctx___0)->len;
      ctx___0 ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (preimage->nr <= (size_t )ctx___0) {
      reduced ++;
      goto __Cont;
    }
    l_len = (preimage->line + ctx___0)->len;
    memcpy((void *)new_buf, (void const   *)fixed, l_len);
    new_buf += l_len;
    fixed += l_len;
    (postimage->line + i)->len = l_len;
    ctx___0 ++;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (postlen) {
    tmp___2 = postlen < (size_t )(new_buf - postimage->buf);
  } else {
    tmp___2 = postimage->len < (size_t )(new_buf - postimage->buf);
  }
  if (tmp___2) {
    BUG_fl((char const   *)"apply.c", 2371, (char const   *)"caller miscounted postlen: asked %d, orig = %d, used = %d",
           (int )postlen, (int )postimage->len, (int )(new_buf - postimage->buf));
  }
  postimage->len = (size_t )(new_buf - postimage->buf);
  postimage->nr -= (size_t )reduced;
  return;
}
}
static int line_by_line_fuzzy_match(struct image *img , struct image *preimage , struct image *postimage ,
                                    unsigned long current , int current_lno , int preimage_limit )
{
  int i ;
  size_t imgoff ;
  size_t preoff ;
  size_t postlen ;
  size_t extra_chars ;
  char *buf___19 ;
  char *preimage_eof ;
  char *preimage_end ;
  struct strbuf fixed ;
  char *fixed_buf___0 ;
  size_t fixed_len ;
  size_t prelen ;
  size_t imglen ;
  int tmp ;

  {
  imgoff = (size_t )0;
  preoff = (size_t )0;
  postlen = postimage->len;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < preimage_limit)) {
      goto while_break;
    }
    prelen = (preimage->line + i)->len;
    imglen = (img->line + (current_lno + i))->len;
    tmp = fuzzy_matchlines((char const   *)((img->buf + current) + imgoff), imglen,
                           (char const   *)(preimage->buf + preoff), prelen);
    if (! tmp) {
      return (0);
    }
    if ((preimage->line + i)->flag & 1U) {
      postlen += imglen - prelen;
    }
    imgoff += imglen;
    preoff += prelen;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  preimage_eof = preimage->buf + preoff;
  buf___19 = preimage_eof;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((size_t )i < preimage->nr)) {
      goto while_break___0;
    }
    preoff += (preimage->line + i)->len;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  preimage_end = preimage->buf + preoff;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned long )buf___19 < (unsigned long )preimage_end)) {
      goto while_break___1;
    }
    if (! (((int const   )sane_ctype[(unsigned char )*buf___19] & 1) != 0)) {
      return (0);
    }
    buf___19 ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  extra_chars = (size_t )(preimage_end - preimage_eof);
  strbuf_init(& fixed, imgoff + extra_chars);
  strbuf_add(& fixed, (void const   *)(img->buf + current), imgoff);
  strbuf_add(& fixed, (void const   *)preimage_eof, extra_chars);
  fixed_buf___0 = strbuf_detach(& fixed, & fixed_len);
  update_pre_post_images(preimage, postimage, fixed_buf___0, fixed_len, postlen);
  return (1);
}
}
static int match_fragment(struct apply_state *state___1 , struct image *img , struct image *preimage ,
                          struct image *postimage , unsigned long current , int current_lno ,
                          unsigned int ws_rule , int match_beginning , int match_end )
{
  int i ;
  char *fixed_buf___0 ;
  char *buf___19 ;
  char *orig ;
  char *target ;
  struct strbuf fixed ;
  size_t fixed_len ;
  size_t postlen ;
  int preimage_limit ;
  int tmp ;
  int tmp___0 ;
  char *buf_end ;
  int tmp___1 ;
  size_t oldlen ;
  size_t tgtlen ;
  size_t fixstart ;
  struct strbuf tgtfix ;
  int match___0 ;
  int tmp___2 ;
  int tmp___3 ;
  size_t fixstart___0 ;
  size_t oldlen___0 ;
  int j ;

  {
  if (preimage->nr + (size_t )current_lno <= img->nr) {
    preimage_limit = (int )preimage->nr;
    if (match_end) {
      if (preimage->nr + (size_t )current_lno != img->nr) {
        return (0);
      }
    }
  } else
  if ((unsigned int )state___1->ws_error_action == 3U) {
    if (ws_rule & 1024U) {
      preimage_limit = (int )(img->nr - (size_t )current_lno);
    } else {
      return (0);
    }
  } else {
    return (0);
  }
  if (match_beginning) {
    if (current_lno) {
      return (0);
    }
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < preimage_limit)) {
      goto while_break;
    }
    if ((img->line + (current_lno + i))->flag & 2U) {
      return (0);
    } else
    if ((preimage->line + i)->hash != (img->line + (current_lno + i))->hash) {
      return (0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if ((size_t )preimage_limit == preimage->nr) {
    if (match_end) {
      tmp = current + preimage->len == img->len;
    } else {
      tmp = current + preimage->len <= img->len;
    }
    if (tmp) {
      tmp___0 = memcmp((void const   *)(img->buf + current), (void const   *)preimage->buf,
                       preimage->len);
      if (! tmp___0) {
        return (1);
      }
    }
  } else {
    buf___19 = preimage->buf;
    buf_end = buf___19;
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < preimage_limit)) {
        goto while_break___0;
      }
      buf_end += (preimage->line + i)->len;
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((unsigned long )buf___19 < (unsigned long )buf_end)) {
        goto while_break___1;
      }
      if (! (((int const   )sane_ctype[(unsigned char )*buf___19] & 1) != 0)) {
        goto while_break___1;
      }
      buf___19 ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if ((unsigned long )buf___19 == (unsigned long )buf_end) {
      return (0);
    }
  }
  if ((unsigned int )state___1->ws_ignore_action == 1U) {
    tmp___1 = line_by_line_fuzzy_match(img, preimage, postimage, current, current_lno,
                                       preimage_limit);
    return (tmp___1);
  }
  if ((unsigned int )state___1->ws_error_action != 3U) {
    return (0);
  }
  postlen = (size_t )0;
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((size_t )i < postimage->nr)) {
      goto while_break___2;
    }
    if (! ((postimage->line + i)->flag & 1U)) {
      postlen += (postimage->line + i)->len;
    }
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  strbuf_init(& fixed, preimage->len + 1UL);
  orig = preimage->buf;
  target = img->buf + current;
  i = 0;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! (i < preimage_limit)) {
      goto while_break___3;
    }
    oldlen = (preimage->line + i)->len;
    tgtlen = (img->line + (current_lno + i))->len;
    fixstart = fixed.len;
    ws_fix_copy(& fixed, (char const   *)orig, (int )oldlen, ws_rule, (int *)((void *)0));
    strbuf_init(& tgtfix, tgtlen);
    ws_fix_copy(& tgtfix, (char const   *)target, (int )tgtlen, ws_rule, (int *)((void *)0));
    if (tgtfix.len == fixed.len - fixstart) {
      tmp___2 = memcmp((void const   *)tgtfix.buf, (void const   *)(fixed.buf + fixstart),
                       fixed.len - fixstart);
      if (tmp___2) {
        tmp___3 = 0;
      } else {
        tmp___3 = 1;
      }
    } else {
      tmp___3 = 0;
    }
    match___0 = tmp___3;
    if ((preimage->line + i)->flag & 1U) {
      postlen += tgtfix.len;
    }
    strbuf_release(& tgtfix);
    if (! match___0) {
      goto unmatch_exit;
    }
    orig += oldlen;
    target += tgtlen;
    i ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! ((size_t )i < preimage->nr)) {
      goto while_break___4;
    }
    fixstart___0 = fixed.len;
    oldlen___0 = (preimage->line + i)->len;
    ws_fix_copy(& fixed, (char const   *)orig, (int )oldlen___0, ws_rule, (int *)((void *)0));
    j = (int )fixstart___0;
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      if (! ((size_t )j < fixed.len)) {
        goto while_break___5;
      }
      if (! (((int const   )sane_ctype[(unsigned char )*(fixed.buf + j)] & 1) != 0)) {
        goto unmatch_exit;
      }
      j ++;
    }
    while_break___5: /* CIL Label */ ;
    }
    orig += oldlen___0;
    i ++;
  }
  while_break___4: /* CIL Label */ ;
  }
  fixed_buf___0 = strbuf_detach(& fixed, & fixed_len);
  if (postlen < postimage->len) {
    postlen = (size_t )0;
  }
  update_pre_post_images(preimage, postimage, fixed_buf___0, fixed_len, postlen);
  return (1);
  unmatch_exit:
  strbuf_release(& fixed);
  return (0);
}
}
static int find_pos(struct apply_state *state___1 , struct image *img , struct image *preimage ,
                    struct image *postimage , int line___0 , unsigned int ws_rule ,
                    int match_beginning , int match_end )
{
  int i ;
  unsigned long backwards ;
  unsigned long forwards ;
  unsigned long current ;
  int backwards_lno ;
  int forwards_lno ;
  int current_lno ;
  int tmp ;

  {
  if (state___1->allow_overlap) {
    if (match_beginning) {
      if (match_end) {
        if (img->nr - preimage->nr != 0UL) {
          match_beginning = 0;
        }
      }
    }
  }
  if (match_beginning) {
    line___0 = 0;
  } else
  if (match_end) {
    line___0 = (int )(img->nr - preimage->nr);
  }
  if ((size_t )line___0 > img->nr) {
    line___0 = (int )img->nr;
  }
  current = 0UL;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < line___0)) {
      goto while_break;
    }
    current += (img->line + i)->len;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  backwards = current;
  backwards_lno = line___0;
  forwards = current;
  forwards_lno = line___0;
  current_lno = line___0;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp = match_fragment(state___1, img, preimage, postimage, current, current_lno,
                         ws_rule, match_beginning, match_end);
    if (tmp) {
      return (current_lno);
    }
    again:
    if (backwards_lno == 0) {
      if ((size_t )forwards_lno == img->nr) {
        goto while_break___0;
      }
    }
    if (i & 1) {
      if (backwards_lno == 0) {
        i ++;
        goto again;
      }
      backwards_lno --;
      backwards -= (img->line + backwards_lno)->len;
      current = backwards;
      current_lno = backwards_lno;
    } else {
      if ((size_t )forwards_lno == img->nr) {
        i ++;
        goto again;
      }
      forwards += (img->line + forwards_lno)->len;
      forwards_lno ++;
      current = forwards;
      current_lno = forwards_lno;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (-1);
}
}
static void remove_first_line(struct image *img )
{


  {
  img->buf += (img->line + 0)->len;
  img->len -= (img->line + 0)->len;
  (img->line) ++;
  (img->nr) --;
  return;
}
}
static void remove_last_line(struct image *img )
{


  {
  (img->nr) --;
  img->len -= (img->line + img->nr)->len;
  return;
}
}
static void update_image(struct apply_state *state___1 , struct image *img , int applied_pos ,
                         struct image *preimage , struct image *postimage )
{
  int i ;
  int nr___0 ;
  size_t remove_count ;
  size_t insert_count ;
  size_t applied_at ;
  char *result___0 ;
  int preimage_limit ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;

  {
  applied_at = (size_t )0;
  preimage_limit = (int )preimage->nr;
  if ((size_t )preimage_limit > img->nr - (size_t )applied_pos) {
    preimage_limit = (int )(img->nr - (size_t )applied_pos);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < applied_pos)) {
      goto while_break;
    }
    applied_at += (img->line + i)->len;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  remove_count = (size_t )0;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < preimage_limit)) {
      goto while_break___0;
    }
    remove_count += (img->line + (applied_pos + i))->len;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  insert_count = postimage->len;
  tmp = st_sub(img->len, remove_count);
  tmp___0 = st_add(tmp, insert_count);
  tmp___1 = st_add(tmp___0, (size_t )1);
  tmp___2 = xmalloc(tmp___1);
  result___0 = (char *)tmp___2;
  memcpy((void *)result___0, (void const   *)img->buf, applied_at);
  memcpy((void *)(result___0 + applied_at), (void const   *)postimage->buf, postimage->len);
  memcpy((void *)((result___0 + applied_at) + postimage->len), (void const   *)(img->buf + (applied_at + remove_count)),
         img->len - (applied_at + remove_count));
  free((void *)img->buf);
  img->buf = result___0;
  img->len += insert_count - remove_count;
  *(result___0 + img->len) = (char )'\000';
  nr___0 = (int )((img->nr + postimage->nr) - (size_t )preimage_limit);
  if ((size_t )preimage_limit < postimage->nr) {
    tmp___3 = st_mult(sizeof(*(img->line)), (size_t )nr___0);
    tmp___4 = xrealloc((void *)img->line, tmp___3);
    img->line = (struct line *)tmp___4;
    img->line_allocated = img->line;
  }
  if ((size_t )preimage_limit != postimage->nr) {
    move_array((void *)((img->line + applied_pos) + postimage->nr), (void const   *)((img->line + applied_pos) + preimage_limit),
               img->nr - (size_t )(applied_pos + preimage_limit), sizeof(*((img->line + applied_pos) + postimage->nr)) + (sizeof(char [1]) - 1UL));
  }
  copy_array((void *)(img->line + applied_pos), (void const   *)postimage->line, postimage->nr,
             sizeof(*(img->line + applied_pos)) + (sizeof(char [1]) - 1UL));
  if (! state___1->allow_overlap) {
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((size_t )i < postimage->nr)) {
        goto while_break___1;
      }
      (img->line + (applied_pos + i))->flag |= 2U;
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  img->nr = (size_t )nr___0;
  return;
}
}
static int apply_one_fragment(struct apply_state *state___1 , struct image *img ,
                              struct fragment *frag , int inaccurate_eof , unsigned int ws_rule ,
                              int nth_fragment )
{
  int match_beginning ;
  int match_end ;
  char const   *patch ;
  int size ;
  char *old ;
  char *oldlines ;
  struct strbuf newlines ;
  int new_blank_lines_at_end ;
  int found_new_blank_lines_at_end ;
  int hunk_linenr ;
  unsigned long leading ;
  unsigned long trailing ;
  int pos ;
  int applied_pos ;
  struct image preimage ;
  struct image postimage ;
  void *tmp ;
  char first ;
  int len___0 ;
  unsigned long tmp___0 ;
  int plen ;
  int added_blank_line ;
  int is_blank_context ;
  size_t start ;
  char *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int offset___2 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;

  {
  patch = frag->patch;
  size = frag->size;
  new_blank_lines_at_end = 0;
  found_new_blank_lines_at_end = 0;
  hunk_linenr = frag->linenr;
  memset((void *)(& preimage), 0, sizeof(preimage));
  memset((void *)(& postimage), 0, sizeof(postimage));
  tmp = xmalloc((size_t )size);
  oldlines = (char *)tmp;
  strbuf_init(& newlines, (size_t )size);
  old = oldlines;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (size > 0)) {
      goto while_break;
    }
    tmp___0 = linelen(patch, (unsigned long )size);
    len___0 = (int )tmp___0;
    added_blank_line = 0;
    is_blank_context = 0;
    if (! len___0) {
      goto while_break;
    }
    plen = len___0 - 1;
    if (len___0 < size) {
      if ((int const   )*(patch + len___0) == 92) {
        plen --;
      }
    }
    first = (char )*patch;
    if (state___1->apply_in_reverse) {
      if ((int )first == 45) {
        first = (char )'+';
      } else
      if ((int )first == 43) {
        first = (char )'-';
      }
    }
    {
    if ((int )first == 10) {
      goto case_10;
    }
    if ((int )first == 32) {
      goto case_32;
    }
    if ((int )first == 45) {
      goto case_45;
    }
    if ((int )first == 43) {
      goto case_43;
    }
    if ((int )first == 92) {
      goto case_92;
    }
    if ((int )first == 64) {
      goto case_92;
    }
    goto switch_default;
    case_10: /* CIL Label */
    if (plen < 0) {
      goto switch_break;
    }
    tmp___1 = old;
    old ++;
    *tmp___1 = (char )'\n';
    strbuf_addch(& newlines, '\n');
    add_line_info(& preimage, (char const   *)"\n", (size_t )1, 1U);
    add_line_info(& postimage, (char const   *)"\n", (size_t )1, 1U);
    is_blank_context = 1;
    goto switch_break;
    case_32: /* CIL Label */
    if (plen) {
      if (ws_rule & 1024U) {
        tmp___2 = ws_blank_line(patch + 1, plen, ws_rule);
        if (tmp___2) {
          is_blank_context = 1;
        }
      }
    }
    case_45: /* CIL Label */
    memcpy((void *)old, (void const   *)(patch + 1), (size_t )plen);
    if ((int )first == 32) {
      tmp___3 = 1;
    } else {
      tmp___3 = 0;
    }
    add_line_info(& preimage, (char const   *)old, (size_t )plen, (unsigned int )tmp___3);
    old += plen;
    if ((int )first == 45) {
      goto switch_break;
    }
    case_43: /* CIL Label */
    if ((int )first == 43) {
      if (state___1->no_add) {
        goto switch_break;
      }
    }
    start = newlines.len;
    if ((int )first != 43) {
      strbuf_add(& newlines, (void const   *)(patch + 1), (size_t )plen);
    } else
    if (! state___1->whitespace_error) {
      strbuf_add(& newlines, (void const   *)(patch + 1), (size_t )plen);
    } else
    if ((unsigned int )state___1->ws_error_action != 3U) {
      strbuf_add(& newlines, (void const   *)(patch + 1), (size_t )plen);
    } else {
      ws_fix_copy(& newlines, patch + 1, plen, ws_rule, & state___1->applied_after_fixing_ws);
    }
    if ((int )first == 43) {
      tmp___4 = 0;
    } else {
      tmp___4 = 1;
    }
    add_line_info(& postimage, (char const   *)(newlines.buf + start), newlines.len - start,
                  (unsigned int )tmp___4);
    if ((int )first == 43) {
      if (ws_rule & 1024U) {
        tmp___5 = ws_blank_line(patch + 1, plen, ws_rule);
        if (tmp___5) {
          added_blank_line = 1;
        }
      }
    }
    goto switch_break;
    case_92: /* CIL Label */
    case_64: /* CIL Label */
    goto switch_break;
    switch_default: /* CIL Label */
    if ((int )state___1->apply_verbosity > 0) {
      tmp___6 = _((char const   *)"invalid start of line: \'%c\'");
      error((char const   *)tmp___6, (int )first);
      const_error();
    }
    applied_pos = -1;
    goto out;
    switch_break: /* CIL Label */ ;
    }
    if (added_blank_line) {
      if (! new_blank_lines_at_end) {
        found_new_blank_lines_at_end = hunk_linenr;
      }
      new_blank_lines_at_end ++;
    } else
    if (! is_blank_context) {
      new_blank_lines_at_end = 0;
    }
    patch += len___0;
    size -= len___0;
    hunk_linenr ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (inaccurate_eof) {
    if ((unsigned long )old > (unsigned long )oldlines) {
      if ((int )*(old + -1) == 10) {
        if (newlines.len > 0UL) {
          if ((int )*(newlines.buf + (newlines.len - 1UL)) == 10) {
            old --;
            strbuf_setlen(& newlines, newlines.len - 1UL);
            ((preimage.line_allocated + (preimage.nr - 1UL))->len) --;
            ((postimage.line_allocated + (postimage.nr - 1UL))->len) --;
          }
        }
      }
    }
  }
  leading = frag->leading;
  trailing = frag->trailing;
  if (! frag->oldpos) {
    tmp___7 = 1;
  } else
  if (frag->oldpos == 1UL) {
    if (! state___1->unidiff_zero) {
      tmp___7 = 1;
    } else {
      tmp___7 = 0;
    }
  } else {
    tmp___7 = 0;
  }
  match_beginning = tmp___7;
  if (! state___1->unidiff_zero) {
    if (! trailing) {
      tmp___8 = 1;
    } else {
      tmp___8 = 0;
    }
  } else {
    tmp___8 = 0;
  }
  match_end = tmp___8;
  if (frag->newpos) {
    pos = (int )(frag->newpos - 1UL);
  } else {
    pos = 0;
  }
  preimage.buf = oldlines;
  preimage.len = (size_t )(old - oldlines);
  postimage.buf = newlines.buf;
  postimage.len = newlines.len;
  preimage.line = preimage.line_allocated;
  postimage.line = postimage.line_allocated;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    applied_pos = find_pos(state___1, img, & preimage, & postimage, pos, ws_rule,
                           match_beginning, match_end);
    if (applied_pos >= 0) {
      goto while_break___0;
    }
    if (leading <= (unsigned long )state___1->p_context) {
      if (trailing <= (unsigned long )state___1->p_context) {
        goto while_break___0;
      }
    }
    if (match_beginning) {
      match_end = 0;
      match_beginning = match_end;
      goto __Cont;
    } else
    if (match_end) {
      match_end = 0;
      match_beginning = match_end;
      goto __Cont;
    }
    if (leading >= trailing) {
      remove_first_line(& preimage);
      remove_first_line(& postimage);
      pos --;
      leading --;
    }
    if (trailing > leading) {
      remove_last_line(& preimage);
      remove_last_line(& postimage);
      trailing --;
    }
    __Cont: /* CIL Label */ ;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (applied_pos >= 0) {
    if (new_blank_lines_at_end) {
      if (preimage.nr + (size_t )applied_pos >= img->nr) {
        if (ws_rule & 1024U) {
          if ((unsigned int )state___1->ws_error_action != 0U) {
            record_ws_error(state___1, 1024U, (char const   *)"+", 1, found_new_blank_lines_at_end);
            if ((unsigned int )state___1->ws_error_action == 3U) {
              {
              while (1) {
                while_continue___1: /* CIL Label */ ;
                tmp___9 = new_blank_lines_at_end;
                new_blank_lines_at_end --;
                if (! tmp___9) {
                  goto while_break___1;
                }
                remove_last_line(& postimage);
              }
              while_break___1: /* CIL Label */ ;
              }
            }
            if ((unsigned int )state___1->ws_error_action == 2U) {
              state___1->apply = 0;
            }
          }
        }
      }
    }
    if ((int )state___1->apply_verbosity > 0) {
      if (applied_pos != pos) {
        offset___2 = applied_pos - pos;
        if (state___1->apply_in_reverse) {
          offset___2 = 0 - offset___2;
        }
        tmp___10 = Q_((char const   *)"Hunk #%d succeeded at %d (offset %d line).",
                      (char const   *)"Hunk #%d succeeded at %d (offset %d lines).",
                      (unsigned long )offset___2);
        fprintf_ln(stderr, (char const   *)tmp___10, nth_fragment, applied_pos + 1,
                   offset___2);
      }
    }
    if (leading != frag->leading) {
      goto _L;
    } else
    if (trailing != frag->trailing) {
      _L: /* CIL Label */
      if ((int )state___1->apply_verbosity > -1) {
        tmp___11 = _((char const   *)"Context reduced to (%ld/%ld) to apply fragment at %d");
        fprintf_ln(stderr, (char const   *)tmp___11, leading, trailing, applied_pos + 1);
      }
    }
    update_image(state___1, img, applied_pos, & preimage, & postimage);
  } else
  if ((int )state___1->apply_verbosity > 0) {
    tmp___12 = _((char const   *)"while searching for:\n%.*s");
    error((char const   *)tmp___12, (int )(old - oldlines), oldlines);
    const_error();
  }
  out:
  free((void *)oldlines);
  strbuf_release(& newlines);
  free((void *)preimage.line_allocated);
  free((void *)postimage.line_allocated);
  return (applied_pos < 0);
}
}
static int apply_binary_fragment(struct apply_state *state___1 , struct image *img ,
                                 struct patch *patch )
{
  struct fragment *fragment ;
  unsigned long len___0 ;
  void *dst ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  void *tmp___5 ;

  {
  fragment = patch->fragments;
  if (! fragment) {
    if (patch->new_name) {
      tmp = patch->new_name;
    } else {
      tmp = patch->old_name;
    }
    tmp___0 = _((char const   *)"missing binary patch data for \'%s\'");
    error((char const   *)tmp___0, tmp);
    tmp___1 = const_error();
    return (tmp___1);
  }
  if (state___1->apply_in_reverse) {
    if (! fragment->next) {
      if (patch->new_name) {
        tmp___2 = patch->new_name;
      } else {
        tmp___2 = patch->old_name;
      }
      tmp___3 = _((char const   *)"cannot reverse-apply a binary patch without the reverse hunk to \'%s\'");
      error((char const   *)tmp___3, tmp___2);
      tmp___4 = const_error();
      return (tmp___4);
    }
    fragment = fragment->next;
  }
  {
  if (fragment->leading == 1UL) {
    goto case_1;
  }
  if (fragment->leading == 2UL) {
    goto case_2;
  }
  goto switch_break;
  case_1: /* CIL Label */
  dst = patch_delta((void const   *)img->buf, img->len, (void const   *)fragment->patch,
                    (unsigned long )fragment->size, & len___0);
  if (! dst) {
    return (-1);
  }
  clear_image(img);
  img->buf = (char *)dst;
  img->len = len___0;
  return (0);
  case_2: /* CIL Label */
  clear_image(img);
  img->len = (size_t )fragment->size;
  tmp___5 = xmemdupz((void const   *)fragment->patch, img->len);
  img->buf = (char *)tmp___5;
  return (0);
  switch_break: /* CIL Label */ ;
  }
  return (-1);
}
}
static int apply_binary(struct apply_state *state___1 , struct image *img , struct patch *patch )
{
  char const   *name___0 ;
  char *tmp ;
  struct object_id oid ;
  unsigned int hexsz ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char *tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  enum object_type type___0 ;
  unsigned long size ;
  char *result___0 ;
  void *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  char *tmp___20 ;
  char const __attribute__((__format_arg__(1)))  *tmp___21 ;
  int tmp___22 ;
  char *tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;

  {
  if (patch->old_name) {
    tmp = patch->old_name;
  } else {
    tmp = patch->new_name;
  }
  name___0 = (char const   *)tmp;
  hexsz = (unsigned int )(the_repository->hash_algo)->hexsz;
  tmp___2 = strlen((char const   *)(patch->old_oid_prefix));
  if (tmp___2 != (size_t )hexsz) {
    tmp___0 = _((char const   *)"cannot apply binary patch to \'%s\' without full index line");
    error((char const   *)tmp___0, name___0);
    tmp___1 = const_error();
    return (tmp___1);
  } else {
    tmp___3 = strlen((char const   *)(patch->new_oid_prefix));
    if (tmp___3 != (size_t )hexsz) {
      tmp___0 = _((char const   *)"cannot apply binary patch to \'%s\' without full index line");
      error((char const   *)tmp___0, name___0);
      tmp___1 = const_error();
      return (tmp___1);
    } else {
      tmp___4 = get_oid_hex((char const   *)(patch->old_oid_prefix), & oid);
      if (tmp___4) {
        tmp___0 = _((char const   *)"cannot apply binary patch to \'%s\' without full index line");
        error((char const   *)tmp___0, name___0);
        tmp___1 = const_error();
        return (tmp___1);
      } else {
        tmp___5 = get_oid_hex((char const   *)(patch->new_oid_prefix), & oid);
        if (tmp___5) {
          tmp___0 = _((char const   *)"cannot apply binary patch to \'%s\' without full index line");
          error((char const   *)tmp___0, name___0);
          tmp___1 = const_error();
          return (tmp___1);
        }
      }
    }
  }
  if (patch->old_name) {
    hash_object_file(the_repository->hash_algo, (void const   *)img->buf, img->len,
                     blob_type, & oid);
    tmp___9 = oid_to_hex((struct object_id  const  *)(& oid));
    tmp___10 = strcmp((char const   *)tmp___9, (char const   *)(patch->old_oid_prefix));
    if (tmp___10) {
      tmp___6 = oid_to_hex((struct object_id  const  *)(& oid));
      tmp___7 = _((char const   *)"the patch applies to \'%s\' (%s), which does not match the current contents.");
      error((char const   *)tmp___7, name___0, tmp___6);
      tmp___8 = const_error();
      return (tmp___8);
    }
  } else
  if (img->len) {
    tmp___11 = _((char const   *)"the patch applies to an empty \'%s\' but it is not empty");
    error((char const   *)tmp___11, name___0);
    tmp___12 = const_error();
    return (tmp___12);
  }
  get_oid_hex((char const   *)(patch->new_oid_prefix), & oid);
  tmp___13 = is_null_oid((struct object_id  const  *)(& oid));
  if (tmp___13) {
    clear_image(img);
    return (0);
  }
  tmp___25 = has_object(the_repository, (struct object_id  const  *)(& oid), 0U);
  if (tmp___25) {
    tmp___14 = repo_read_object_file(the_repository, (struct object_id  const  *)(& oid),
                                     & type___0, & size);
    result___0 = (char *)tmp___14;
    if (! result___0) {
      tmp___15 = _((char const   *)"the necessary postimage %s for \'%s\' cannot be read");
      error((char const   *)tmp___15, patch->new_oid_prefix, name___0);
      tmp___16 = const_error();
      return (tmp___16);
    }
    clear_image(img);
    img->buf = result___0;
    img->len = size;
  } else {
    tmp___19 = apply_binary_fragment(state___1, img, patch);
    if (tmp___19) {
      tmp___17 = _((char const   *)"binary patch does not apply to \'%s\'");
      error((char const   *)tmp___17, name___0);
      tmp___18 = const_error();
      return (tmp___18);
    }
    hash_object_file(the_repository->hash_algo, (void const   *)img->buf, img->len,
                     blob_type, & oid);
    tmp___23 = oid_to_hex((struct object_id  const  *)(& oid));
    tmp___24 = strcmp((char const   *)tmp___23, (char const   *)(patch->new_oid_prefix));
    if (tmp___24) {
      tmp___20 = oid_to_hex((struct object_id  const  *)(& oid));
      tmp___21 = _((char const   *)"binary patch to \'%s\' creates incorrect result (expecting %s, got %s)");
      error((char const   *)tmp___21, name___0, patch->new_oid_prefix, tmp___20);
      tmp___22 = const_error();
      return (tmp___22);
    }
  }
  return (0);
}
}
static int apply_fragments(struct apply_state *state___1 , struct image *img , struct patch *patch )
{
  struct fragment *frag ;
  char const   *name___0 ;
  char *tmp ;
  unsigned int ws_rule ;
  unsigned int inaccurate_eof ;
  int nth ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  frag = patch->fragments;
  if (patch->old_name) {
    tmp = patch->old_name;
  } else {
    tmp = patch->new_name;
  }
  name___0 = (char const   *)tmp;
  ws_rule = patch->ws_rule;
  inaccurate_eof = patch->inaccurate_eof;
  nth = 0;
  if (patch->is_binary) {
    tmp___0 = apply_binary(state___1, img, patch);
    return (tmp___0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! frag) {
      goto while_break;
    }
    nth ++;
    tmp___2 = apply_one_fragment(state___1, img, frag, (int )inaccurate_eof, ws_rule,
                                 nth);
    if (tmp___2) {
      tmp___1 = _((char const   *)"patch failed: %s:%ld");
      error((char const   *)tmp___1, name___0, frag->oldpos);
      const_error();
      if (! state___1->apply_with_reject) {
        return (-1);
      }
      frag->rejected = 1U;
    }
    frag = frag->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int read_blob_object(struct strbuf *buf___19 , struct object_id  const  *oid ,
                            unsigned int mode___1 )
{
  char *tmp ;
  enum object_type type___0 ;
  unsigned long sz ;
  char *result___0 ;
  void *tmp___0 ;

  {
  if ((mode___1 & 61440U) == 57344U) {
    strbuf_grow(buf___19, (size_t )100);
    tmp = oid_to_hex(oid);
    strbuf_addf(buf___19, (char const   *)"Subproject commit %s\n", tmp);
  } else {
    tmp___0 = repo_read_object_file(the_repository, oid, & type___0, & sz);
    result___0 = (char *)tmp___0;
    if (! result___0) {
      return (-1);
    }
    strbuf_attach(buf___19, (void *)result___0, sz, sz + 1UL);
  }
  return (0);
}
}
static int read_file_or_gitlink(struct cache_entry  const  *ce , struct strbuf *buf___19 )
{
  int tmp ;

  {
  if (! ce) {
    return (0);
  }
  tmp = read_blob_object(buf___19, (struct object_id  const  *)(& ce->oid), (unsigned int )ce->ce_mode);
  return (tmp);
}
}
static struct patch *in_fn_table(struct apply_state *state___1 , char const   *name___0 )
{
  struct string_list_item *item___0 ;

  {
  if ((unsigned long )name___0 == (unsigned long )((void *)0)) {
    return ((struct patch *)((void *)0));
  }
  item___0 = string_list_lookup(& state___1->fn_table, name___0);
  if ((unsigned long )item___0 != (unsigned long )((void *)0)) {
    return ((struct patch *)item___0->util);
  }
  return ((struct patch *)((void *)0));
}
}
static int to_be_deleted(struct patch *patch )
{


  {
  return ((unsigned long )patch == (unsigned long )((struct patch *)-2));
}
}
static int was_deleted(struct patch *patch )
{


  {
  return ((unsigned long )patch == (unsigned long )((struct patch *)-1));
}
}
static void add_to_fn_table(struct apply_state *state___1 , struct patch *patch )
{
  struct string_list_item *item___0 ;

  {
  if ((unsigned long )patch->new_name != (unsigned long )((void *)0)) {
    item___0 = string_list_insert(& state___1->fn_table, (char const   *)patch->new_name);
    item___0->util = (void *)patch;
  }
  if ((unsigned long )patch->new_name == (unsigned long )((void *)0)) {
    item___0 = string_list_insert(& state___1->fn_table, (char const   *)patch->old_name);
    item___0->util = (void *)((struct patch *)-1);
  } else
  if (patch->is_rename) {
    item___0 = string_list_insert(& state___1->fn_table, (char const   *)patch->old_name);
    item___0->util = (void *)((struct patch *)-1);
  }
  return;
}
}
static void prepare_fn_table(struct apply_state *state___1 , struct patch *patch )
{
  struct string_list_item *item___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! patch) {
      goto while_break;
    }
    if ((unsigned long )patch->new_name == (unsigned long )((void *)0)) {
      item___0 = string_list_insert(& state___1->fn_table, (char const   *)patch->old_name);
      item___0->util = (void *)((struct patch *)-2);
    } else
    if (patch->is_rename) {
      item___0 = string_list_insert(& state___1->fn_table, (char const   *)patch->old_name);
      item___0->util = (void *)((struct patch *)-2);
    }
    patch = patch->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int checkout_target(struct index_state *istate , struct cache_entry *ce , struct stat *st )
{
  struct checkout costate ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  costate.istate = (struct index_state *)0;
  costate.base_dir = (char const   *)"";
  costate.base_dir_len = 0;
  costate.delayed_checkout = (struct delayed_checkout *)0;
  costate.meta.refname = (char const   *)0;
  costate.meta.treeish.hash[0] = (unsigned char)0;
  costate.meta.treeish.hash[1] = (unsigned char)0;
  costate.meta.treeish.hash[2] = (unsigned char)0;
  costate.meta.treeish.hash[3] = (unsigned char)0;
  costate.meta.treeish.hash[4] = (unsigned char)0;
  costate.meta.treeish.hash[5] = (unsigned char)0;
  costate.meta.treeish.hash[6] = (unsigned char)0;
  costate.meta.treeish.hash[7] = (unsigned char)0;
  costate.meta.treeish.hash[8] = (unsigned char)0;
  costate.meta.treeish.hash[9] = (unsigned char)0;
  costate.meta.treeish.hash[10] = (unsigned char)0;
  costate.meta.treeish.hash[11] = (unsigned char)0;
  costate.meta.treeish.hash[12] = (unsigned char)0;
  costate.meta.treeish.hash[13] = (unsigned char)0;
  costate.meta.treeish.hash[14] = (unsigned char)0;
  costate.meta.treeish.hash[15] = (unsigned char)0;
  costate.meta.treeish.hash[16] = (unsigned char)0;
  costate.meta.treeish.hash[17] = (unsigned char)0;
  costate.meta.treeish.hash[18] = (unsigned char)0;
  costate.meta.treeish.hash[19] = (unsigned char)0;
  costate.meta.treeish.hash[20] = (unsigned char)0;
  costate.meta.treeish.hash[21] = (unsigned char)0;
  costate.meta.treeish.hash[22] = (unsigned char)0;
  costate.meta.treeish.hash[23] = (unsigned char)0;
  costate.meta.treeish.hash[24] = (unsigned char)0;
  costate.meta.treeish.hash[25] = (unsigned char)0;
  costate.meta.treeish.hash[26] = (unsigned char)0;
  costate.meta.treeish.hash[27] = (unsigned char)0;
  costate.meta.treeish.hash[28] = (unsigned char)0;
  costate.meta.treeish.hash[29] = (unsigned char)0;
  costate.meta.treeish.hash[30] = (unsigned char)0;
  costate.meta.treeish.hash[31] = (unsigned char)0;
  costate.meta.treeish.algo = 0;
  costate.meta.blob.hash[0] = (unsigned char)0;
  costate.meta.blob.hash[1] = (unsigned char)0;
  costate.meta.blob.hash[2] = (unsigned char)0;
  costate.meta.blob.hash[3] = (unsigned char)0;
  costate.meta.blob.hash[4] = (unsigned char)0;
  costate.meta.blob.hash[5] = (unsigned char)0;
  costate.meta.blob.hash[6] = (unsigned char)0;
  costate.meta.blob.hash[7] = (unsigned char)0;
  costate.meta.blob.hash[8] = (unsigned char)0;
  costate.meta.blob.hash[9] = (unsigned char)0;
  costate.meta.blob.hash[10] = (unsigned char)0;
  costate.meta.blob.hash[11] = (unsigned char)0;
  costate.meta.blob.hash[12] = (unsigned char)0;
  costate.meta.blob.hash[13] = (unsigned char)0;
  costate.meta.blob.hash[14] = (unsigned char)0;
  costate.meta.blob.hash[15] = (unsigned char)0;
  costate.meta.blob.hash[16] = (unsigned char)0;
  costate.meta.blob.hash[17] = (unsigned char)0;
  costate.meta.blob.hash[18] = (unsigned char)0;
  costate.meta.blob.hash[19] = (unsigned char)0;
  costate.meta.blob.hash[20] = (unsigned char)0;
  costate.meta.blob.hash[21] = (unsigned char)0;
  costate.meta.blob.hash[22] = (unsigned char)0;
  costate.meta.blob.hash[23] = (unsigned char)0;
  costate.meta.blob.hash[24] = (unsigned char)0;
  costate.meta.blob.hash[25] = (unsigned char)0;
  costate.meta.blob.hash[26] = (unsigned char)0;
  costate.meta.blob.hash[27] = (unsigned char)0;
  costate.meta.blob.hash[28] = (unsigned char)0;
  costate.meta.blob.hash[29] = (unsigned char)0;
  costate.meta.blob.hash[30] = (unsigned char)0;
  costate.meta.blob.hash[31] = (unsigned char)0;
  costate.meta.blob.algo = 0;
  costate.force = 0U;
  costate.quiet = 0U;
  costate.not_new = 0U;
  costate.clone = 0U;
  costate.refresh_cache = 0U;
  costate.refresh_cache = 1U;
  costate.istate = istate;
  tmp___1 = checkout_entry(ce, (struct checkout  const  *)(& costate), (char *)((void *)0),
                           (int *)((void *)0));
  if (tmp___1) {
    tmp = _((char const   *)"cannot checkout %s");
    error((char const   *)tmp, ce->name);
    tmp___0 = const_error();
    return (tmp___0);
  } else {
    tmp___2 = lstat((char const   *)(ce->name), st);
    if (tmp___2) {
      tmp = _((char const   *)"cannot checkout %s");
      error((char const   *)tmp, ce->name);
      tmp___0 = const_error();
      return (tmp___0);
    }
  }
  return (0);
}
}
static struct patch *previous_patch(struct apply_state *state___1 , struct patch *patch ,
                                    int *gone )
{
  struct patch *previous ;
  int tmp ;
  int tmp___0 ;

  {
  *gone = 0;
  if (patch->is_copy) {
    return ((struct patch *)((void *)0));
  } else
  if (patch->is_rename) {
    return ((struct patch *)((void *)0));
  }
  previous = in_fn_table(state___1, (char const   *)patch->old_name);
  if (! previous) {
    return ((struct patch *)((void *)0));
  }
  tmp = to_be_deleted(previous);
  if (tmp) {
    return ((struct patch *)((void *)0));
  }
  tmp___0 = was_deleted(previous);
  if (tmp___0) {
    *gone = 1;
  }
  return (previous);
}
}
static int verify_index_match(struct apply_state *state___1 , struct cache_entry  const  *ce ,
                              struct stat *st )
{
  int tmp ;

  {
  if ((ce->ce_mode & 61440U) == 57344U) {
    if (! ((st->st_mode & 61440U) == 16384U)) {
      return (-1);
    }
    return (0);
  }
  tmp = ie_match_stat((state___1->repo)->index, ce, st, 5U);
  return (tmp);
}
}
static int load_patch_target(struct apply_state *state___1 , struct strbuf *buf___19 ,
                             struct cache_entry  const  *ce , struct stat *st , struct patch *patch ,
                             char const   *name___0 , unsigned int expected_mode )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  size_t tmp___8 ;
  int tmp___9 ;

  {
  if (state___1->cached) {
    goto _L;
  } else
  if (state___1->check_index) {
    _L: /* CIL Label */
    tmp___1 = read_file_or_gitlink(ce, buf___19);
    if (tmp___1) {
      tmp = _((char const   *)"failed to read %s");
      error((char const   *)tmp, name___0);
      tmp___0 = const_error();
      return (tmp___0);
    }
  } else
  if (name___0) {
    if ((expected_mode & 61440U) == 57344U) {
      if (ce) {
        tmp___2 = read_file_or_gitlink(ce, buf___19);
        return (tmp___2);
      } else {
        return (1);
      }
    } else {
      tmp___8 = strlen(name___0);
      tmp___9 = has_symlink_leading_path(name___0, (int )tmp___8);
      if (tmp___9) {
        tmp___3 = _((char const   *)"reading from \'%s\' beyond a symbolic link");
        error((char const   *)tmp___3, name___0);
        tmp___4 = const_error();
        return (tmp___4);
      } else {
        tmp___7 = read_old_data(st, patch, name___0, buf___19);
        if (tmp___7) {
          tmp___5 = _((char const   *)"failed to read %s");
          error((char const   *)tmp___5, name___0);
          tmp___6 = const_error();
          return (tmp___6);
        }
      }
    }
  }
  return (0);
}
}
static int load_preimage(struct apply_state *state___1 , struct image *image , struct patch *patch ,
                         struct stat *st , struct cache_entry  const  *ce )
{
  struct strbuf buf___19 ;
  size_t len___0 ;
  char *img ;
  struct patch *previous ;
  int status ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  previous = previous_patch(state___1, patch, & status);
  if (status) {
    tmp = _((char const   *)"path %s has been renamed/deleted");
    error((char const   *)tmp, patch->old_name);
    tmp___0 = const_error();
    return (tmp___0);
  }
  if (previous) {
    strbuf_add(& buf___19, (void const   *)previous->result, previous->resultsize);
  } else {
    status = load_patch_target(state___1, & buf___19, ce, st, patch, (char const   *)patch->old_name,
                               patch->old_mode);
    if (status < 0) {
      return (status);
    } else
    if (status == 1) {
      free_fragment_list(patch->fragments);
      patch->fragments = (struct fragment *)((void *)0);
    } else
    if (status) {
      tmp___1 = _((char const   *)"failed to read %s");
      error((char const   *)tmp___1, patch->old_name);
      tmp___2 = const_error();
      return (tmp___2);
    }
  }
  img = strbuf_detach(& buf___19, & len___0);
  prepare_image(image, img, len___0, ! patch->is_binary);
  return (0);
}
}
static int resolve_to(struct image *image , struct object_id  const  *result_id )
{
  unsigned long size ;
  enum object_type type___0 ;
  void *tmp ;
  char *tmp___0 ;

  {
  clear_image(image);
  tmp = repo_read_object_file(the_repository, result_id, & type___0, & size);
  image->buf = (char *)tmp;
  if (! image->buf) {
    tmp___0 = oid_to_hex(result_id);
    die((char const   *)"unable to read blob object %s", tmp___0);
  } else
  if ((int )type___0 != 3) {
    tmp___0 = oid_to_hex(result_id);
    die((char const   *)"unable to read blob object %s", tmp___0);
  }
  image->len = size;
  return (0);
}
}
static int three_way_merge(struct apply_state *state___1 , struct image *image , char *path___6 ,
                           struct object_id  const  *base , struct object_id  const  *ours ,
                           struct object_id  const  *theirs )
{
  mmfile_t base_file ;
  mmfile_t our_file ;
  mmfile_t their_file ;
  mmbuffer_t result___0 ;
  int status ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  result___0.ptr = (char *)((void *)0);
  result___0.size = 0L;
  tmp___3 = oideq(base, ours);
  if (tmp___3) {
    tmp = resolve_to(image, theirs);
    return (tmp);
  } else {
    tmp___1 = oideq(base, theirs);
    if (tmp___1) {
      tmp___0 = resolve_to(image, ours);
      return (tmp___0);
    } else {
      tmp___2 = oideq(ours, theirs);
      if (tmp___2) {
        tmp___0 = resolve_to(image, ours);
        return (tmp___0);
      }
    }
  }
  read_mmblob(& base_file, base);
  read_mmblob(& our_file, ours);
  read_mmblob(& their_file, theirs);
  status = ll_merge(& result___0, (char const   *)path___6, & base_file, (char const   *)"base",
                    & our_file, (char const   *)"ours", & their_file, (char const   *)"theirs",
                    (state___1->repo)->index, (struct ll_merge_options  const  *)((void *)0));
  free((void *)base_file.ptr);
  free((void *)our_file.ptr);
  free((void *)their_file.ptr);
  if (status < 0) {
    free((void *)result___0.ptr);
    return (-1);
  } else
  if (! result___0.ptr) {
    free((void *)result___0.ptr);
    return (-1);
  }
  clear_image(image);
  image->buf = result___0.ptr;
  image->len = (size_t )result___0.size;
  return (status);
}
}
static int load_current(struct apply_state *state___1 , struct image *image , struct patch *patch )
{
  struct strbuf buf___19 ;
  int status ;
  int pos ;
  size_t len___0 ;
  char *img ;
  struct stat st ;
  struct cache_entry *ce ;
  char *name___0 ;
  unsigned int mode___1 ;
  size_t tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  name___0 = patch->new_name;
  mode___1 = patch->new_mode;
  if (! patch->is_new) {
    BUG_fl((char const   *)"apply.c", 3545, (char const   *)"patch to %s is not a creation",
           patch->old_name);
  }
  tmp = strlen((char const   *)name___0);
  pos = index_name_pos((state___1->repo)->index, (char const   *)name___0, (int )tmp);
  if (pos < 0) {
    tmp___0 = _((char const   *)"%s: does not exist in index");
    error((char const   *)tmp___0, name___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  ce = *(((state___1->repo)->index)->cache + pos);
  tmp___5 = lstat((char const   *)name___0, & st);
  if (tmp___5) {
    tmp___3 = __errno_location();
    if (*tmp___3 != 2) {
      error_errno((char const   *)"%s", name___0);
      tmp___2 = const_error();
      return (tmp___2);
    }
    tmp___4 = checkout_target((state___1->repo)->index, ce, & st);
    if (tmp___4) {
      return (-1);
    }
  }
  tmp___8 = verify_index_match(state___1, (struct cache_entry  const  *)ce, & st);
  if (tmp___8) {
    tmp___6 = _((char const   *)"%s: does not match index");
    error((char const   *)tmp___6, name___0);
    tmp___7 = const_error();
    return (tmp___7);
  }
  status = load_patch_target(state___1, & buf___19, (struct cache_entry  const  *)ce,
                             & st, patch, (char const   *)name___0, mode___1);
  if (status < 0) {
    return (status);
  } else
  if (status) {
    return (-1);
  }
  img = strbuf_detach(& buf___19, & len___0);
  prepare_image(image, img, len___0, ! patch->is_binary);
  return (0);
}
}
static int try_threeway(struct apply_state *state___1 , struct image *image , struct patch *patch ,
                        struct stat *st , struct cache_entry  const  *ce )
{
  struct object_id pre_oid ;
  struct object_id post_oid ;
  struct object_id our_oid ;
  struct strbuf buf___19 ;
  size_t len___0 ;
  int status ;
  char *img ;
  struct image tmp_image ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (patch->is_delete) {
    return (-1);
  } else
  if ((patch->old_mode & 61440U) == 57344U) {
    return (-1);
  } else
  if ((patch->new_mode & 61440U) == 57344U) {
    return (-1);
  } else
  if (patch->is_new) {
    if (! patch->direct_to_threeway) {
      return (-1);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (patch->is_rename) {
    if (! patch->lines_added) {
      if (! patch->lines_deleted) {
        return (-1);
      }
    }
  }
  if (patch->is_new) {
    write_object_file((void const   *)"", 0UL, blob_type, & pre_oid);
  } else {
    tmp___1 = repo_get_oid(the_repository, (char const   *)(patch->old_oid_prefix),
                           & pre_oid);
    if (tmp___1) {
      tmp = _((char const   *)"repository lacks the necessary blob to perform 3-way merge.");
      error((char const   *)tmp);
      tmp___0 = const_error();
      return (tmp___0);
    } else {
      tmp___2 = read_blob_object(& buf___19, (struct object_id  const  *)(& pre_oid),
                                 patch->old_mode);
      if (tmp___2) {
        tmp = _((char const   *)"repository lacks the necessary blob to perform 3-way merge.");
        error((char const   *)tmp);
        tmp___0 = const_error();
        return (tmp___0);
      }
    }
  }
  if ((int )state___1->apply_verbosity > -1) {
    if (patch->direct_to_threeway) {
      tmp___3 = _((char const   *)"Performing three-way merge...\n");
      fprintf(stderr, (char const   *)tmp___3);
    }
  }
  img = strbuf_detach(& buf___19, & len___0);
  prepare_image(& tmp_image, img, len___0, 1);
  tmp___4 = apply_fragments(state___1, & tmp_image, patch);
  if (tmp___4 < 0) {
    clear_image(& tmp_image);
    return (-1);
  }
  write_object_file((void const   *)tmp_image.buf, tmp_image.len, blob_type, & post_oid);
  clear_image(& tmp_image);
  if (patch->is_new) {
    tmp___7 = load_current(state___1, & tmp_image, patch);
    if (tmp___7) {
      tmp___5 = _((char const   *)"cannot read the current contents of \'%s\'");
      error((char const   *)tmp___5, patch->new_name);
      tmp___6 = const_error();
      return (tmp___6);
    }
  } else {
    tmp___10 = load_preimage(state___1, & tmp_image, patch, st, ce);
    if (tmp___10) {
      tmp___8 = _((char const   *)"cannot read the current contents of \'%s\'");
      error((char const   *)tmp___8, patch->old_name);
      tmp___9 = const_error();
      return (tmp___9);
    }
  }
  write_object_file((void const   *)tmp_image.buf, tmp_image.len, blob_type, & our_oid);
  clear_image(& tmp_image);
  status = three_way_merge(state___1, image, patch->new_name, (struct object_id  const  *)(& pre_oid),
                           (struct object_id  const  *)(& our_oid), (struct object_id  const  *)(& post_oid));
  if (status < 0) {
    if ((int )state___1->apply_verbosity > -1) {
      tmp___11 = _((char const   *)"Failed to perform three-way merge...\n");
      fprintf(stderr, (char const   *)tmp___11);
    }
    return (status);
  }
  if (status) {
    patch->conflicted_threeway = 1U;
    if (patch->is_new) {
      oidclr(& patch->threeway_stage[0]);
    } else {
      oidcpy(& patch->threeway_stage[0], (struct object_id  const  *)(& pre_oid));
    }
    oidcpy(& patch->threeway_stage[1], (struct object_id  const  *)(& our_oid));
    oidcpy(& patch->threeway_stage[2], (struct object_id  const  *)(& post_oid));
    if ((int )state___1->apply_verbosity > -1) {
      tmp___12 = _((char const   *)"Applied patch to \'%s\' with conflicts.\n");
      fprintf(stderr, (char const   *)tmp___12, patch->new_name);
    }
  } else
  if ((int )state___1->apply_verbosity > -1) {
    tmp___13 = _((char const   *)"Applied patch to \'%s\' cleanly.\n");
    fprintf(stderr, (char const   *)tmp___13, patch->new_name);
  }
  return (0);
}
}
static int apply_data(struct apply_state *state___1 , struct patch *patch , struct stat *st ,
                      struct cache_entry  const  *ce )
{
  struct image image ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  tmp = load_preimage(state___1, & image, patch, st, ce);
  if (tmp < 0) {
    return (-1);
  }
  if (! state___1->threeway) {
    goto _L;
  } else {
    tmp___2 = try_threeway(state___1, & image, patch, st, ce);
    if (tmp___2 < 0) {
      _L: /* CIL Label */
      if ((int )state___1->apply_verbosity > -1) {
        if (state___1->threeway) {
          if (! patch->direct_to_threeway) {
            tmp___0 = _((char const   *)"Falling back to direct application...\n");
            fprintf(stderr, (char const   *)tmp___0);
          }
        }
      }
      if (patch->direct_to_threeway) {
        return (-1);
      } else {
        tmp___1 = apply_fragments(state___1, & image, patch);
        if (tmp___1 < 0) {
          return (-1);
        }
      }
    }
  }
  patch->result = image.buf;
  patch->resultsize = image.len;
  add_to_fn_table(state___1, patch);
  free((void *)image.line_allocated);
  if (0 < patch->is_delete) {
    if (patch->resultsize) {
      tmp___3 = _((char const   *)"removal patch leaves file contents");
      error((char const   *)tmp___3);
      tmp___4 = const_error();
      return (tmp___4);
    }
  }
  return (0);
}
}
static int check_preimage(struct apply_state *state___1 , struct patch *patch , struct cache_entry **ce ,
                          struct stat *st )
{
  char const   *old_name ;
  struct patch *previous ;
  int stat_ret ;
  int status ;
  unsigned int st_mode ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int *tmp___2 ;
  int pos ;
  size_t tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;

  {
  old_name = (char const   *)patch->old_name;
  previous = (struct patch *)((void *)0);
  stat_ret = 0;
  st_mode = 0U;
  if (! old_name) {
    return (0);
  }
  assert(patch->is_new <= 0);
  previous = previous_patch(state___1, patch, & status);
  if (status) {
    tmp = _((char const   *)"path %s has been renamed/deleted");
    error((char const   *)tmp, old_name);
    tmp___0 = const_error();
    return (tmp___0);
  }
  if (previous) {
    st_mode = previous->new_mode;
  } else
  if (! state___1->cached) {
    stat_ret = lstat(old_name, st);
    if (stat_ret) {
      tmp___2 = __errno_location();
      if (*tmp___2 != 2) {
        error_errno((char const   *)"%s", old_name);
        tmp___1 = const_error();
        return (tmp___1);
      }
    }
  }
  if (state___1->check_index) {
    if (! previous) {
      tmp___3 = strlen(old_name);
      tmp___4 = index_name_pos((state___1->repo)->index, old_name, (int )tmp___3);
      pos = tmp___4;
      if (pos < 0) {
        if (patch->is_new < 0) {
          goto is_new;
        }
        tmp___5 = _((char const   *)"%s: does not exist in index");
        error((char const   *)tmp___5, old_name);
        tmp___6 = const_error();
        return (tmp___6);
      }
      *ce = *(((state___1->repo)->index)->cache + pos);
      if (stat_ret < 0) {
        tmp___7 = checkout_target((state___1->repo)->index, *ce, st);
        if (tmp___7) {
          return (-1);
        }
      }
      if (! state___1->cached) {
        tmp___10 = verify_index_match(state___1, (struct cache_entry  const  *)*ce,
                                      st);
        if (tmp___10) {
          tmp___8 = _((char const   *)"%s: does not match index");
          error((char const   *)tmp___8, old_name);
          tmp___9 = const_error();
          return (tmp___9);
        }
      }
      if (state___1->cached) {
        st_mode = (*ce)->ce_mode;
      }
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (stat_ret < 0) {
    if (patch->is_new < 0) {
      goto is_new;
    }
    error_errno((char const   *)"%s", old_name);
    tmp___11 = const_error();
    return (tmp___11);
  }
  if (! state___1->cached) {
    if (! previous) {
      st_mode = ce_mode_from_stat((struct cache_entry  const  *)*ce, st->st_mode);
    }
  }
  if (patch->is_new < 0) {
    patch->is_new = 0;
  }
  if (! patch->old_mode) {
    patch->old_mode = st_mode;
  }
  if ((st_mode ^ patch->old_mode) & 61440U) {
    tmp___12 = _((char const   *)"%s: wrong type");
    error((char const   *)tmp___12, old_name);
    tmp___13 = const_error();
    return (tmp___13);
  }
  if (st_mode != patch->old_mode) {
    tmp___14 = _((char const   *)"%s has type %o, expected %o");
    warning((char const   *)tmp___14, old_name, st_mode, patch->old_mode);
  }
  if (! patch->new_mode) {
    if (! patch->is_delete) {
      patch->new_mode = st_mode;
    }
  }
  return (0);
  is_new:
  patch->is_new = 1;
  patch->is_delete = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)patch->old_name);
    patch->old_name = (char *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int check_to_create(struct apply_state *state___1 , char const   *new_name ,
                           int ok_if_exists )
{
  struct stat nst ;
  int pos ;
  size_t tmp ;
  struct cache_entry *ce ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  if (state___1->check_index) {
    if (! ok_if_exists) {
      goto _L;
    } else
    if (! state___1->cached) {
      _L: /* CIL Label */
      tmp = strlen(new_name);
      pos = index_name_pos((state___1->repo)->index, new_name, (int )tmp);
      if (pos >= 0) {
        ce = *(((state___1->repo)->index)->cache + pos);
        if (! ok_if_exists) {
          if (! (ce->ce_flags & (unsigned int )(1 << 29))) {
            return (1);
          }
        }
        if (! state___1->cached) {
          if (ce->ce_flags & (unsigned int )(1 << 29)) {
            return (3);
          }
        }
      }
    }
  }
  if (state___1->cached) {
    return (0);
  }
  tmp___5 = lstat(new_name, & nst);
  if (tmp___5) {
    tmp___3 = __errno_location();
    tmp___4 = is_missing_file_error(*tmp___3);
    if (! tmp___4) {
      error_errno((char const   *)"%s", new_name);
      tmp___2 = const_error();
      return (tmp___2);
    }
  } else {
    if ((nst.st_mode & 61440U) == 16384U) {
      return (0);
    } else
    if (ok_if_exists) {
      return (0);
    }
    tmp___0 = strlen(new_name);
    tmp___1 = has_symlink_leading_path(new_name, (int )tmp___0);
    if (tmp___1) {
      return (0);
    }
    return (2);
  }
  return (0);
}
}
static uintptr_t register_symlink_changes(struct apply_state *state___1 , char const   *path___6 ,
                                          uintptr_t what )
{
  struct string_list_item *ent ;

  {
  ent = string_list_lookup(& state___1->symlink_changes, path___6);
  if (! ent) {
    ent = string_list_insert(& state___1->symlink_changes, path___6);
    ent->util = (void *)0;
  }
  ent->util = (void *)(what | (uintptr_t )ent->util);
  return ((uintptr_t )ent->util);
}
}
static uintptr_t check_symlink_changes(struct apply_state *state___1 , char const   *path___6 )
{
  struct string_list_item *ent ;

  {
  ent = string_list_lookup(& state___1->symlink_changes, path___6);
  if (! ent) {
    return ((uintptr_t )0);
  }
  return ((uintptr_t )ent->util);
}
}
static void prepare_symlink_changes(struct apply_state *state___1 , struct patch *patch )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! patch) {
      goto while_break;
    }
    if (patch->old_name) {
      if ((patch->old_mode & 61440U) == 40960U) {
        if (patch->is_rename) {
          register_symlink_changes(state___1, (char const   *)patch->old_name, (uintptr_t )01);
        } else
        if (patch->is_delete) {
          register_symlink_changes(state___1, (char const   *)patch->old_name, (uintptr_t )01);
        }
      }
    }
    if (patch->new_name) {
      if ((patch->new_mode & 61440U) == 40960U) {
        register_symlink_changes(state___1, (char const   *)patch->new_name, (uintptr_t )02);
      }
    }
    patch = patch->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int path_is_beyond_symlink_1(struct apply_state *state___1 , struct strbuf *name___0 )
{
  unsigned int change ;
  uintptr_t tmp ;
  struct cache_entry *ce ;
  struct stat st ;
  int tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      (name___0->len) --;
      if (name___0->len) {
        if (! ((int )*(name___0->buf + name___0->len) != 47)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! name___0->len) {
      goto while_break;
    }
    *(name___0->buf + name___0->len) = (char )'\000';
    tmp = check_symlink_changes(state___1, (char const   *)name___0->buf);
    change = (unsigned int )tmp;
    if (change & 2U) {
      return (1);
    }
    if (change & 1U) {
      goto __Cont;
    }
    if (state___1->check_index) {
      ce = index_file_exists((state___1->repo)->index, (char const   *)name___0->buf,
                             (int )name___0->len, ignore_case);
      if (ce) {
        if ((ce->ce_mode & 61440U) == 40960U) {
          return (1);
        }
      }
    } else {
      tmp___0 = lstat((char const   *)name___0->buf, & st);
      if (! tmp___0) {
        if ((st.st_mode & 61440U) == 40960U) {
          return (1);
        }
      }
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int path_is_beyond_symlink(struct apply_state *state___1 , char const   *name_ )
{
  int ret___67 ;
  struct strbuf name___0 ;

  {
  name___0.alloc = 0UL;
  name___0.len = 0UL;
  name___0.buf = strbuf_slopbuf;
  assert((int const   )*name_ != 0);
  strbuf_addstr(& name___0, name_);
  ret___67 = path_is_beyond_symlink_1(state___1, & name___0);
  strbuf_release(& name___0);
  return (ret___67);
}
}
static int check_unsafe_path(struct patch *patch )
{
  char const   *old_name ;
  char const   *new_name ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  old_name = (char const   *)((void *)0);
  new_name = (char const   *)((void *)0);
  if (patch->is_delete) {
    old_name = (char const   *)patch->old_name;
  } else
  if (! patch->is_new) {
    if (! patch->is_copy) {
      old_name = (char const   *)patch->old_name;
    }
  }
  if (! patch->is_delete) {
    new_name = (char const   *)patch->new_name;
  }
  if (old_name) {
    tmp___1 = verify_path(old_name, patch->old_mode);
    if (! tmp___1) {
      tmp = _((char const   *)"invalid path \'%s\'");
      error((char const   *)tmp, old_name);
      tmp___0 = const_error();
      return (tmp___0);
    }
  }
  if (new_name) {
    tmp___4 = verify_path(new_name, patch->new_mode);
    if (! tmp___4) {
      tmp___2 = _((char const   *)"invalid path \'%s\'");
      error((char const   *)tmp___2, new_name);
      tmp___3 = const_error();
      return (tmp___3);
    }
  }
  return (0);
}
}
static int check_patch(struct apply_state *state___1 , struct patch *patch )
{
  struct stat st ;
  char const   *old_name ;
  char const   *new_name ;
  char const   *name___0 ;
  char const   *tmp ;
  struct cache_entry *ce ;
  struct patch *tpatch ;
  int ok_if_exists ;
  int status ;
  int tmp___0 ;
  int tmp___1 ;
  int err___4 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  int same___0 ;
  int tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;

  {
  old_name = (char const   *)patch->old_name;
  new_name = (char const   *)patch->new_name;
  if (old_name) {
    tmp = old_name;
  } else {
    tmp = new_name;
  }
  name___0 = tmp;
  ce = (struct cache_entry *)((void *)0);
  patch->rejected = 1;
  status = check_preimage(state___1, patch, & ce, & st);
  if (status) {
    return (status);
  }
  old_name = (char const   *)patch->old_name;
  tpatch = in_fn_table(state___1, new_name);
  if (tpatch) {
    tmp___0 = was_deleted(tpatch);
    if (tmp___0) {
      ok_if_exists = 1;
    } else {
      tmp___1 = to_be_deleted(tpatch);
      if (tmp___1) {
        ok_if_exists = 1;
      } else {
        ok_if_exists = 0;
      }
    }
  } else {
    ok_if_exists = 0;
  }
  if (new_name) {
    if (0 < patch->is_new) {
      goto _L___0;
    } else
    if (patch->is_rename) {
      goto _L___0;
    } else
    if (patch->is_copy) {
      _L___0: /* CIL Label */
      tmp___2 = check_to_create(state___1, new_name, ok_if_exists);
      err___4 = tmp___2;
      if (err___4) {
        if (state___1->threeway) {
          patch->direct_to_threeway = 1U;
        } else {
          goto _L;
        }
      } else {
        _L: /* CIL Label */
        {
        if (err___4 == 0) {
          goto case_0;
        }
        if (err___4 == 1) {
          goto case_1;
        }
        if (err___4 == 3) {
          goto case_3;
        }
        if (err___4 == 2) {
          goto case_2;
        }
        goto switch_default;
        case_0: /* CIL Label */
        goto switch_break;
        case_1: /* CIL Label */
        tmp___3 = _((char const   *)"%s: already exists in index");
        error((char const   *)tmp___3, new_name);
        tmp___4 = const_error();
        return (tmp___4);
        case_3: /* CIL Label */
        tmp___5 = _((char const   *)"%s: does not match index");
        error((char const   *)tmp___5, new_name);
        tmp___6 = const_error();
        return (tmp___6);
        case_2: /* CIL Label */
        tmp___7 = _((char const   *)"%s: already exists in working directory");
        error((char const   *)tmp___7, new_name);
        tmp___8 = const_error();
        return (tmp___8);
        switch_default: /* CIL Label */
        return (err___4);
        switch_break: /* CIL Label */ ;
        }
      }
      if (! patch->new_mode) {
        if (0 < patch->is_new) {
          patch->new_mode = 33188U;
        } else {
          patch->new_mode = patch->old_mode;
        }
      }
    }
  }
  if (new_name) {
    if (old_name) {
      tmp___9 = strcmp(old_name, new_name);
      if (tmp___9) {
        tmp___10 = 0;
      } else {
        tmp___10 = 1;
      }
      same___0 = tmp___10;
      if (! patch->new_mode) {
        patch->new_mode = patch->old_mode;
      }
      if ((patch->old_mode ^ patch->new_mode) & 61440U) {
        if (same___0) {
          tmp___11 = _((char const   *)"new mode (%o) of %s does not match old mode (%o)");
          error((char const   *)tmp___11, patch->new_mode, new_name, patch->old_mode);
          tmp___12 = const_error();
          return (tmp___12);
        } else {
          tmp___13 = _((char const   *)"new mode (%o) of %s does not match old mode (%o) of %s");
          error((char const   *)tmp___13, patch->new_mode, new_name, patch->old_mode,
                old_name);
          tmp___14 = const_error();
          return (tmp___14);
        }
      }
    }
  }
  if (! state___1->unsafe_paths) {
    tmp___15 = check_unsafe_path(patch);
    if (tmp___15) {
      return (-128);
    }
  }
  if (! patch->is_delete) {
    tmp___18 = path_is_beyond_symlink(state___1, (char const   *)patch->new_name);
    if (tmp___18) {
      tmp___16 = _((char const   *)"affected file \'%s\' is beyond a symbolic link");
      error((char const   *)tmp___16, patch->new_name);
      tmp___17 = const_error();
      return (tmp___17);
    }
  }
  tmp___21 = apply_data(state___1, patch, & st, (struct cache_entry  const  *)ce);
  if (tmp___21 < 0) {
    tmp___19 = _((char const   *)"%s: patch does not apply");
    error((char const   *)tmp___19, name___0);
    tmp___20 = const_error();
    return (tmp___20);
  }
  patch->rejected = 0;
  return (0);
}
}
static int check_patch_list(struct apply_state *state___1 , struct patch *patch )
{
  int err___4 ;
  int res ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  err___4 = 0;
  prepare_symlink_changes(state___1, patch);
  prepare_fn_table(state___1, patch);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! patch) {
      goto while_break;
    }
    if ((int )state___1->apply_verbosity > 0) {
      tmp = _((char const   *)"Checking patch %s...");
      say_patch_name(stderr, (char const   *)tmp, patch);
    }
    res = check_patch(state___1, patch);
    if (res == -128) {
      return (-128);
    }
    err___4 |= res;
    patch = patch->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (err___4);
}
}
static int read_apply_cache(struct apply_state *state___1 )
{
  char const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (state___1->index_file) {
    tmp = get_git_dir();
    tmp___0 = read_index_from((state___1->repo)->index, state___1->index_file, tmp);
    return (tmp___0);
  } else {
    tmp___1 = repo_read_index(state___1->repo);
    return (tmp___1);
  }
}
}
static int get_current_oid(struct apply_state *state___1 , char const   *path___6 ,
                           struct object_id *oid )
{
  int pos ;
  int tmp ;
  size_t tmp___0 ;

  {
  tmp = read_apply_cache(state___1);
  if (tmp < 0) {
    return (-1);
  }
  tmp___0 = strlen(path___6);
  pos = index_name_pos((state___1->repo)->index, path___6, (int )tmp___0);
  if (pos < 0) {
    return (-1);
  }
  oidcpy(oid, (struct object_id  const  *)(& (*(((state___1->repo)->index)->cache + pos))->oid));
  return (0);
}
}
static int preimage_oid_in_gitlink_patch(struct patch *p___0 , struct object_id *oid ) ;
static char const   heading[20]  =
  {      (char const   )'-',      (char const   )'S',      (char const   )'u',      (char const   )'b',
        (char const   )'p',      (char const   )'r',      (char const   )'o',      (char const   )'j',
        (char const   )'e',      (char const   )'c',      (char const   )'t',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'m',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'\000'};
static int preimage_oid_in_gitlink_patch(struct patch *p___0 , struct object_id *oid )
{
  struct fragment *hunk ;
  char *preimage ;
  void *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  hunk = p___0->fragments;
  if (hunk) {
    if (! hunk->next) {
      if (hunk->oldpos == 1UL) {
        if (hunk->oldlines == 1UL) {
          tmp = memchr((void const   *)hunk->patch, '\n', (size_t )hunk->size);
          preimage = (char *)tmp;
          if ((unsigned long )preimage != (unsigned long )((void *)0)) {
            preimage ++;
            tmp___0 = starts_with((char const   *)preimage, heading);
            if (tmp___0) {
              tmp___1 = get_oid_hex((char const   *)((preimage + sizeof(heading)) - 1),
                                    oid);
              if (! tmp___1) {
                if ((int )*(preimage + ((sizeof(heading) + (unsigned long )(the_repository->hash_algo)->hexsz) - 1UL)) == 10) {
                  tmp___2 = starts_with((char const   *)((preimage + sizeof(heading)) - 1),
                                        (char const   *)(p___0->old_oid_prefix));
                  if (tmp___2) {
                    return (0);
                  }
                }
              }
            }
          }
        }
      }
    }
  }
  tmp___3 = get_oid_hex((char const   *)(p___0->old_oid_prefix), oid);
  return (tmp___3);
}
}
static int build_fake_ancestor(struct apply_state *state___1 , struct patch *list___3 )
{
  struct patch *patch ;
  struct index_state result___0 ;
  struct lock_file lock___0 ;
  int res ;
  struct object_id oid ;
  struct cache_entry *ce ;
  char const   *name___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;

  {
  result___0.cache = (struct cache_entry **)((void *)0);
  result___0.version = 0U;
  result___0.cache_nr = 0U;
  result___0.cache_alloc = 0U;
  result___0.cache_changed = 0U;
  result___0.resolve_undo = (struct string_list *)0;
  result___0.cache_tree = (struct cache_tree *)0;
  result___0.split_index = (struct split_index *)0;
  result___0.timestamp.sec = 0U;
  result___0.timestamp.nsec = 0U;
  result___0.name_hash_initialized = 0U;
  result___0.initialized = 0U;
  result___0.drop_cache_tree = 0U;
  result___0.updated_workdir = 0U;
  result___0.updated_skipworktree = 0U;
  result___0.fsmonitor_has_run_once = 0U;
  result___0.sparse_index = 0U;
  result___0.name_hash.table = (struct hashmap_entry **)0;
  result___0.name_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                        struct hashmap_entry  const  *entry_or_key ,
                                        void const   *keydata ))0;
  result___0.name_hash.cmpfn_data = (void const   *)0;
  result___0.name_hash.private_size = 0U;
  result___0.name_hash.tablesize = 0U;
  result___0.name_hash.grow_at = 0U;
  result___0.name_hash.shrink_at = 0U;
  result___0.name_hash.do_count_items = 0U;
  result___0.dir_hash.table = (struct hashmap_entry **)0;
  result___0.dir_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                       struct hashmap_entry  const  *entry_or_key ,
                                       void const   *keydata ))0;
  result___0.dir_hash.cmpfn_data = (void const   *)0;
  result___0.dir_hash.private_size = 0U;
  result___0.dir_hash.tablesize = 0U;
  result___0.dir_hash.grow_at = 0U;
  result___0.dir_hash.shrink_at = 0U;
  result___0.dir_hash.do_count_items = 0U;
  result___0.oid.hash[0] = (unsigned char)0;
  result___0.oid.hash[1] = (unsigned char)0;
  result___0.oid.hash[2] = (unsigned char)0;
  result___0.oid.hash[3] = (unsigned char)0;
  result___0.oid.hash[4] = (unsigned char)0;
  result___0.oid.hash[5] = (unsigned char)0;
  result___0.oid.hash[6] = (unsigned char)0;
  result___0.oid.hash[7] = (unsigned char)0;
  result___0.oid.hash[8] = (unsigned char)0;
  result___0.oid.hash[9] = (unsigned char)0;
  result___0.oid.hash[10] = (unsigned char)0;
  result___0.oid.hash[11] = (unsigned char)0;
  result___0.oid.hash[12] = (unsigned char)0;
  result___0.oid.hash[13] = (unsigned char)0;
  result___0.oid.hash[14] = (unsigned char)0;
  result___0.oid.hash[15] = (unsigned char)0;
  result___0.oid.hash[16] = (unsigned char)0;
  result___0.oid.hash[17] = (unsigned char)0;
  result___0.oid.hash[18] = (unsigned char)0;
  result___0.oid.hash[19] = (unsigned char)0;
  result___0.oid.hash[20] = (unsigned char)0;
  result___0.oid.hash[21] = (unsigned char)0;
  result___0.oid.hash[22] = (unsigned char)0;
  result___0.oid.hash[23] = (unsigned char)0;
  result___0.oid.hash[24] = (unsigned char)0;
  result___0.oid.hash[25] = (unsigned char)0;
  result___0.oid.hash[26] = (unsigned char)0;
  result___0.oid.hash[27] = (unsigned char)0;
  result___0.oid.hash[28] = (unsigned char)0;
  result___0.oid.hash[29] = (unsigned char)0;
  result___0.oid.hash[30] = (unsigned char)0;
  result___0.oid.hash[31] = (unsigned char)0;
  result___0.oid.algo = 0;
  result___0.untracked = (struct untracked_cache *)0;
  result___0.fsmonitor_last_update = (char *)0;
  result___0.fsmonitor_dirty = (struct ewah_bitmap *)0;
  result___0.ce_mem_pool = (struct mem_pool *)0;
  result___0.progress = (struct progress *)0;
  result___0.repo = (struct repository *)0;
  result___0.sparse_checkout_patterns = (struct pattern_list *)0;
  lock___0.tempfile = (struct tempfile *)0;
  patch = list___3;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! patch) {
      goto while_break;
    }
    if (patch->old_name) {
      name___0 = (char const   *)patch->old_name;
    } else {
      name___0 = (char const   *)patch->new_name;
    }
    if (0 < patch->is_new) {
      goto __Cont;
    }
    if ((patch->old_mode & 61440U) == 57344U) {
      tmp___1 = preimage_oid_in_gitlink_patch(patch, & oid);
      if (tmp___1) {
        tmp = _((char const   *)"sha1 information is lacking or useless for submodule %s");
        error((char const   *)tmp, name___0);
        tmp___0 = const_error();
        return (tmp___0);
      }
    } else {
      tmp___7 = repo_get_oid_blob(the_repository, (char const   *)(patch->old_oid_prefix),
                                  & oid);
      if (tmp___7) {
        if (! patch->lines_added) {
          if (! patch->lines_deleted) {
            tmp___4 = get_current_oid(state___1, (char const   *)patch->old_name,
                                      & oid);
            if (tmp___4) {
              tmp___2 = _((char const   *)"mode change for %s, which is not in current HEAD");
              error((char const   *)tmp___2, name___0);
              tmp___3 = const_error();
              return (tmp___3);
            }
          } else {
            tmp___5 = _((char const   *)"sha1 information is lacking or useless (%s).");
            error((char const   *)tmp___5, name___0);
            tmp___6 = const_error();
            return (tmp___6);
          }
        } else {
          tmp___5 = _((char const   *)"sha1 information is lacking or useless (%s).");
          error((char const   *)tmp___5, name___0);
          tmp___6 = const_error();
          return (tmp___6);
        }
      }
    }
    ce = make_cache_entry(& result___0, patch->old_mode, (struct object_id  const  *)(& oid),
                          name___0, 0, 0U);
    if (! ce) {
      tmp___8 = _((char const   *)"make_cache_entry failed for path \'%s\'");
      error((char const   *)tmp___8, name___0);
      tmp___9 = const_error();
      return (tmp___9);
    }
    tmp___12 = add_index_entry(& result___0, ce, 1);
    if (tmp___12) {
      discard_cache_entry(ce);
      tmp___10 = _((char const   *)"could not add %s to temporary index");
      error((char const   *)tmp___10, name___0);
      tmp___11 = const_error();
      return (tmp___11);
    }
    __Cont: /* CIL Label */
    patch = patch->next;
  }
  while_break: /* CIL Label */ ;
  }
  hold_lock_file_for_update(& lock___0, state___1->fake_ancestor, 1);
  res = write_locked_index(& result___0, & lock___0, 1U);
  discard_index(& result___0);
  if (res) {
    tmp___13 = _((char const   *)"could not write temporary index to %s");
    error((char const   *)tmp___13, state___1->fake_ancestor);
    tmp___14 = const_error();
    return (tmp___14);
  }
  return (0);
}
}
static void stat_patch_list(struct apply_state *state___1 , struct patch *patch )
{
  int files ;
  int adds ;
  int dels ;

  {
  dels = 0;
  adds = dels;
  files = adds;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! patch) {
      goto while_break;
    }
    files ++;
    adds += patch->lines_added;
    dels += patch->lines_deleted;
    show_stats(state___1, patch);
    patch = patch->next;
  }
  while_break: /* CIL Label */ ;
  }
  print_stat_summary(stdout, files, adds, dels);
  return;
}
}
static void numstat_patch_list(struct apply_state *state___1 , struct patch *patch )
{
  char const   *name___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! patch) {
      goto while_break;
    }
    if (patch->new_name) {
      name___0 = (char const   *)patch->new_name;
    } else {
      name___0 = (char const   *)patch->old_name;
    }
    if (patch->is_binary) {
      printf((char const   *)"-\t-\t");
    } else {
      printf((char const   *)"%d\t%d\t", patch->lines_added, patch->lines_deleted);
    }
    write_name_quoted(name___0, stdout, state___1->line_termination);
    patch = patch->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void show_file_mode_name(char const   *newdelete , unsigned int mode___1 ,
                                char const   *name___0 )
{


  {
  if (mode___1) {
    printf((char const   *)" %s mode %06o %s\n", newdelete, mode___1, name___0);
  } else {
    printf((char const   *)" %s %s\n", newdelete, name___0);
  }
  return;
}
}
static void show_mode_change(struct patch *p___0 , int show_name___2 )
{


  {
  if (p___0->old_mode) {
    if (p___0->new_mode) {
      if (p___0->old_mode != p___0->new_mode) {
        if (show_name___2) {
          printf((char const   *)" mode change %06o => %06o %s\n", p___0->old_mode,
                 p___0->new_mode, p___0->new_name);
        } else {
          printf((char const   *)" mode change %06o => %06o\n", p___0->old_mode, p___0->new_mode);
        }
      }
    }
  }
  return;
}
}
static void show_rename_copy(struct patch *p___0 )
{
  char const   *renamecopy ;
  char *tmp ;
  char const   *old_name ;
  char const   *new_name ;
  char const   *slash_old ;
  char const   *slash_new ;
  char *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  if (p___0->is_rename) {
    tmp = "rename";
  } else {
    tmp = "copy";
  }
  renamecopy = (char const   *)tmp;
  old_name = (char const   *)p___0->old_name;
  new_name = (char const   *)p___0->new_name;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = strchr(old_name, '/');
    slash_old = (char const   *)tmp___0;
    tmp___1 = strchr(new_name, '/');
    slash_new = (char const   *)tmp___1;
    if (! slash_old) {
      goto while_break;
    } else
    if (! slash_new) {
      goto while_break;
    } else
    if (slash_old - old_name != slash_new - new_name) {
      goto while_break;
    } else {
      tmp___2 = memcmp((void const   *)old_name, (void const   *)new_name, (size_t )(slash_new - new_name));
      if (tmp___2) {
        goto while_break;
      }
    }
    old_name = slash_old + 1;
    new_name = slash_new + 1;
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned long )old_name != (unsigned long )p___0->old_name) {
    printf((char const   *)" %s %.*s{%s => %s} (%d%%)\n", renamecopy, (int )(old_name - (char const   *)p___0->old_name),
           p___0->old_name, old_name, new_name, p___0->score);
  } else {
    printf((char const   *)" %s %s => %s (%d%%)\n", renamecopy, p___0->old_name, p___0->new_name,
           p___0->score);
  }
  show_mode_change(p___0, 0);
  return;
}
}
static void summary_patch_list(struct patch *patch )
{
  struct patch *p___0 ;

  {
  p___0 = patch;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if (p___0->is_new) {
      show_file_mode_name((char const   *)"create", p___0->new_mode, (char const   *)p___0->new_name);
    } else
    if (p___0->is_delete) {
      show_file_mode_name((char const   *)"delete", p___0->old_mode, (char const   *)p___0->old_name);
    } else
    if (p___0->is_rename) {
      show_rename_copy(p___0);
    } else
    if (p___0->is_copy) {
      show_rename_copy(p___0);
    } else
    if (p___0->score) {
      printf((char const   *)" rewrite %s (%d%%)\n", p___0->new_name, p___0->score);
      show_mode_change(p___0, 0);
    } else {
      show_mode_change(p___0, 1);
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void patch_stats(struct apply_state *state___1 , struct patch *patch )
{
  int lines ;
  int len___0 ;
  size_t tmp ;
  size_t tmp___0 ;
  int len___1 ;
  size_t tmp___1 ;
  size_t tmp___2 ;

  {
  lines = patch->lines_added + patch->lines_deleted;
  if (lines > state___1->max_change) {
    state___1->max_change = lines;
  }
  if (patch->old_name) {
    tmp = quote_c_style((char const   *)patch->old_name, (struct strbuf *)((void *)0),
                        (FILE *)((void *)0), 0U);
    len___0 = (int )tmp;
    if (! len___0) {
      tmp___0 = strlen((char const   *)patch->old_name);
      len___0 = (int )tmp___0;
    }
    if (len___0 > state___1->max_len) {
      state___1->max_len = len___0;
    }
  }
  if (patch->new_name) {
    tmp___1 = quote_c_style((char const   *)patch->new_name, (struct strbuf *)((void *)0),
                            (FILE *)((void *)0), 0U);
    len___1 = (int )tmp___1;
    if (! len___1) {
      tmp___2 = strlen((char const   *)patch->new_name);
      len___1 = (int )tmp___2;
    }
    if (len___1 > state___1->max_len) {
      state___1->max_len = len___1;
    }
  }
  return;
}
}
static int remove_file(struct apply_state *state___1 , struct patch *patch , int rmdir_empty )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (state___1->update_index) {
    if (! state___1->ita_only) {
      tmp___1 = remove_file_from_index((state___1->repo)->index, (char const   *)patch->old_name);
      if (tmp___1 < 0) {
        tmp = _((char const   *)"unable to remove %s from index");
        error((char const   *)tmp, patch->old_name);
        tmp___0 = const_error();
        return (tmp___0);
      }
    }
  }
  if (! state___1->cached) {
    tmp___2 = remove_or_warn(patch->old_mode, (char const   *)patch->old_name);
    if (! tmp___2) {
      if (rmdir_empty) {
        remove_path((char const   *)patch->old_name);
      }
    }
  }
  return (0);
}
}
static int add_index_file(struct apply_state *state___1 , char const   *path___6 ,
                          unsigned int mode___1 , void *buf___19 , unsigned long size )
{
  struct stat st ;
  struct cache_entry *ce ;
  int namelen ;
  size_t tmp ;
  char const   *s___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;

  {
  tmp = strlen(path___6);
  namelen = (int )tmp;
  ce = make_empty_cache_entry((state___1->repo)->index, (size_t )namelen);
  memcpy((void *)(ce->name), (void const   *)path___6, (size_t )namelen);
  ce->ce_mode = create_ce_mode(mode___1);
  ce->ce_flags = create_ce_flags(0U);
  ce->ce_namelen = (unsigned int )namelen;
  if (state___1->ita_only) {
    ce->ce_flags |= (unsigned int )(1 << 29);
    set_object_name_for_intent_to_add_entry(ce);
  } else
  if ((mode___1 & 61440U) == 57344U) {
    tmp___2 = skip_prefix((char const   *)buf___19, (char const   *)"Subproject commit ",
                          & s___1);
    if (tmp___2) {
      tmp___3 = get_oid_hex(s___1, & ce->oid);
      if (tmp___3) {
        discard_cache_entry(ce);
        tmp___0 = _((char const   *)"corrupt patch for submodule %s");
        error((char const   *)tmp___0, path___6);
        tmp___1 = const_error();
        return (tmp___1);
      }
    } else {
      discard_cache_entry(ce);
      tmp___0 = _((char const   *)"corrupt patch for submodule %s");
      error((char const   *)tmp___0, path___6);
      tmp___1 = const_error();
      return (tmp___1);
    }
  } else {
    if (! state___1->cached) {
      tmp___6 = lstat(path___6, & st);
      if (tmp___6 < 0) {
        discard_cache_entry(ce);
        tmp___4 = _((char const   *)"unable to stat newly created file \'%s\'");
        error_errno((char const   *)tmp___4, path___6);
        tmp___5 = const_error();
        return (tmp___5);
      }
      fill_stat_cache_info((state___1->repo)->index, ce, & st);
    }
    tmp___9 = write_object_file((void const   *)buf___19, size, blob_type, & ce->oid);
    if (tmp___9 < 0) {
      discard_cache_entry(ce);
      tmp___7 = _((char const   *)"unable to create backing store for newly created file %s");
      error((char const   *)tmp___7, path___6);
      tmp___8 = const_error();
      return (tmp___8);
    }
  }
  tmp___12 = add_index_entry((state___1->repo)->index, ce, 1);
  if (tmp___12 < 0) {
    discard_cache_entry(ce);
    tmp___10 = _((char const   *)"unable to add cache entry for %s");
    error((char const   *)tmp___10, path___6);
    tmp___11 = const_error();
    return (tmp___11);
  }
  return (0);
}
}
static int try_create_file(struct apply_state *state___1 , char const   *path___6 ,
                           unsigned int mode___1 , char const   *buf___19 , unsigned long size )
{
  int fd ;
  int res ;
  struct strbuf nbuf ;
  struct stat st ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  ssize_t tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;

  {
  nbuf.alloc = 0UL;
  nbuf.len = 0UL;
  nbuf.buf = strbuf_slopbuf;
  if ((mode___1 & 61440U) == 57344U) {
    tmp = lstat(path___6, & st);
    if (! tmp) {
      if ((st.st_mode & 61440U) == 16384U) {
        return (0);
      }
    }
    tmp___0 = mkdir(path___6, (__mode_t )0777);
    if (tmp___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
    return (tmp___1);
  }
  if (has_symlinks) {
    if ((mode___1 & 61440U) == 40960U) {
      tmp___2 = symlink(buf___19, path___6);
      if (tmp___2) {
        tmp___3 = 1;
      } else {
        tmp___3 = 0;
      }
      return (tmp___3);
    }
  }
  if (mode___1 & 64U) {
    tmp___4 = 0777;
  } else {
    tmp___4 = 0666;
  }
  fd = open(path___6, 193, tmp___4);
  if (fd < 0) {
    return (1);
  }
  tmp___5 = convert_to_working_tree((state___1->repo)->index, path___6, buf___19,
                                    size, & nbuf, (struct checkout_metadata  const  *)((void *)0));
  if (tmp___5) {
    size = nbuf.len;
    buf___19 = (char const   *)nbuf.buf;
  }
  tmp___6 = write_in_full(fd, (void const   *)buf___19, size);
  res = tmp___6 < 0L;
  if (res) {
    tmp___7 = _((char const   *)"failed to write to \'%s\'");
    error_errno((char const   *)tmp___7, path___6);
    const_error();
  }
  strbuf_release(& nbuf);
  tmp___10 = close(fd);
  if (tmp___10 < 0) {
    if (! res) {
      tmp___8 = _((char const   *)"closing file \'%s\'");
      error_errno((char const   *)tmp___8, path___6);
      tmp___9 = const_error();
      return (tmp___9);
    }
  }
  if (res) {
    tmp___11 = -1;
  } else {
    tmp___11 = 0;
  }
  return (tmp___11);
}
}
static int create_one_file(struct apply_state *state___1 , char *path___6 , unsigned int mode___1 ,
                           char const   *buf___19 , unsigned long size )
{
  int res ;
  enum scld_error tmp ;
  int *tmp___0 ;
  struct stat st ;
  int *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int *tmp___4 ;
  int *tmp___5 ;
  unsigned int nr___0 ;
  __pid_t tmp___6 ;
  char newpath[4096] ;
  int tmp___7 ;
  int *tmp___8 ;
  int *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;

  {
  if (state___1->cached) {
    return (0);
  }
  res = try_create_file(state___1, (char const   *)path___6, mode___1, buf___19, size);
  if (res < 0) {
    return (-1);
  }
  if (! res) {
    return (0);
  }
  tmp___0 = __errno_location();
  if (*tmp___0 == 2) {
    tmp = safe_create_leading_directories_no_share(path___6);
    if (tmp) {
      return (0);
    }
    res = try_create_file(state___1, (char const   *)path___6, mode___1, buf___19,
                          size);
    if (res < 0) {
      return (-1);
    }
    if (! res) {
      return (0);
    }
  }
  tmp___4 = __errno_location();
  if (*tmp___4 == 17) {
    goto _L;
  } else {
    tmp___5 = __errno_location();
    if (*tmp___5 == 13) {
      _L: /* CIL Label */
      tmp___2 = lstat((char const   *)path___6, & st);
      if (! tmp___2) {
        if (! ((st.st_mode & 61440U) == 16384U)) {
          tmp___1 = __errno_location();
          *tmp___1 = 17;
        } else {
          tmp___3 = lstat_cache_aware_rmdir((char const   *)path___6);
          if (! tmp___3) {
            tmp___1 = __errno_location();
            *tmp___1 = 17;
          }
        }
      }
    }
  }
  tmp___9 = __errno_location();
  if (*tmp___9 == 17) {
    tmp___6 = getpid();
    nr___0 = (unsigned int )tmp___6;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      mksnpath(newpath, sizeof(newpath), (char const   *)"%s~%u", path___6, nr___0);
      res = try_create_file(state___1, (char const   *)(newpath), mode___1, buf___19,
                            size);
      if (res < 0) {
        return (-1);
      }
      if (! res) {
        tmp___7 = rename((char const   *)(newpath), (char const   *)path___6);
        if (! tmp___7) {
          return (0);
        }
        unlink_or_warn((char const   *)(newpath));
        goto while_break;
      }
      tmp___8 = __errno_location();
      if (*tmp___8 != 17) {
        goto while_break;
      }
      nr___0 ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  tmp___10 = _((char const   *)"unable to write file \'%s\' mode %o");
  error_errno((char const   *)tmp___10, path___6, mode___1);
  tmp___11 = const_error();
  return (tmp___11);
}
}
static int add_conflicted_stages_file(struct apply_state *state___1 , struct patch *patch )
{
  int stage ;
  int namelen ;
  unsigned int mode___1 ;
  struct cache_entry *ce ;
  size_t tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  if (! state___1->update_index) {
    return (0);
  }
  tmp = strlen((char const   *)patch->new_name);
  namelen = (int )tmp;
  if (patch->new_mode) {
    mode___1 = patch->new_mode;
  } else {
    mode___1 = 33188U;
  }
  remove_file_from_index((state___1->repo)->index, (char const   *)patch->new_name);
  stage = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (stage < 4)) {
      goto while_break;
    }
    tmp___0 = is_null_oid((struct object_id  const  *)(& patch->threeway_stage[stage - 1]));
    if (tmp___0) {
      goto __Cont;
    }
    ce = make_empty_cache_entry((state___1->repo)->index, (size_t )namelen);
    memcpy((void *)(ce->name), (void const   *)patch->new_name, (size_t )namelen);
    ce->ce_mode = create_ce_mode(mode___1);
    ce->ce_flags = create_ce_flags((unsigned int )stage);
    ce->ce_namelen = (unsigned int )namelen;
    oidcpy(& ce->oid, (struct object_id  const  *)(& patch->threeway_stage[stage - 1]));
    tmp___3 = add_index_entry((state___1->repo)->index, ce, 1);
    if (tmp___3 < 0) {
      discard_cache_entry(ce);
      tmp___1 = _((char const   *)"unable to add cache entry for %s");
      error((char const   *)tmp___1, patch->new_name);
      tmp___2 = const_error();
      return (tmp___2);
    }
    __Cont: /* CIL Label */
    stage ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int create_file(struct apply_state *state___1 , struct patch *patch )
{
  char *path___6 ;
  unsigned int mode___1 ;
  unsigned long size ;
  char *buf___19 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  path___6 = patch->new_name;
  mode___1 = patch->new_mode;
  size = patch->resultsize;
  buf___19 = patch->result;
  if (! mode___1) {
    mode___1 = 33188U;
  }
  tmp = create_one_file(state___1, path___6, mode___1, (char const   *)buf___19, size);
  if (tmp) {
    return (-1);
  }
  if (patch->conflicted_threeway) {
    tmp___0 = add_conflicted_stages_file(state___1, patch);
    return (tmp___0);
  } else
  if (state___1->update_index) {
    tmp___1 = add_index_file(state___1, (char const   *)path___6, mode___1, (void *)buf___19,
                             size);
    return (tmp___1);
  }
  return (0);
}
}
static int write_out_one_result(struct apply_state *state___1 , struct patch *patch ,
                                int phase )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (patch->is_delete > 0) {
    if (phase == 0) {
      tmp = remove_file(state___1, patch, 1);
      return (tmp);
    }
    return (0);
  }
  if (patch->is_new > 0) {
    goto _L;
  } else
  if (patch->is_copy) {
    _L: /* CIL Label */
    if (phase == 1) {
      tmp___0 = create_file(state___1, patch);
      return (tmp___0);
    }
    return (0);
  }
  if (phase == 0) {
    tmp___1 = remove_file(state___1, patch, (int )patch->is_rename);
    return (tmp___1);
  }
  if (phase == 1) {
    tmp___2 = create_file(state___1, patch);
    return (tmp___2);
  }
  return (0);
}
}
static int write_out_one_reject(struct apply_state *state___1 , struct patch *patch )
{
  FILE *rej ;
  char namebuf[4096] ;
  struct fragment *frag ;
  int cnt ;
  struct strbuf sb___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___1 ;
  size_t tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;

  {
  cnt = 0;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  cnt = 0;
  frag = patch->fragments;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! frag) {
      goto while_break;
    }
    if (! frag->rejected) {
      goto __Cont;
    }
    cnt ++;
    __Cont: /* CIL Label */
    frag = frag->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (! cnt) {
    if ((int )state___1->apply_verbosity > 0) {
      tmp = _((char const   *)"Applied patch %s cleanly.");
      say_patch_name(stderr, (char const   *)tmp, patch);
    }
    return (0);
  }
  if (! patch->new_name) {
    tmp___0 = _((char const   *)"internal error");
    die((char const   *)tmp___0);
  }
  tmp___1 = Q_((char const   *)"Applying patch %%s with %d reject...", (char const   *)"Applying patch %%s with %d rejects...",
               (unsigned long )cnt);
  strbuf_addf(& sb___6, (char const   *)tmp___1, cnt);
  if ((int )state___1->apply_verbosity > -1) {
    say_patch_name(stderr, (char const   *)sb___6.buf, patch);
  }
  strbuf_release(& sb___6);
  tmp___2 = strlen((char const   *)patch->new_name);
  cnt = (int )tmp___2;
  if (sizeof(namebuf) / sizeof(namebuf[0]) + (sizeof(char [1]) - 1UL) <= (unsigned long )(cnt + 5)) {
    cnt = (int )((sizeof(namebuf) / sizeof(namebuf[0]) + (sizeof(char [1]) - 1UL)) - 5UL);
    tmp___3 = _((char const   *)"truncating .rej filename to %.*s.rej");
    warning((char const   *)tmp___3, cnt - 1, patch->new_name);
  }
  memcpy((void *)(namebuf), (void const   *)patch->new_name, (size_t )cnt);
  memcpy((void *)(namebuf + cnt), (void const   *)".rej", (size_t )5);
  rej = git_fopen((char const   *)(namebuf), (char const   *)"w");
  if (! rej) {
    tmp___4 = _((char const   *)"cannot open %s");
    error_errno((char const   *)tmp___4, namebuf);
    tmp___5 = const_error();
    return (tmp___5);
  }
  fprintf(rej, (char const   *)"diff a/%s b/%s\t(rejected hunks)\n", patch->new_name,
          patch->new_name);
  cnt = 1;
  frag = patch->fragments;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! frag) {
      goto while_break___0;
    }
    if (! frag->rejected) {
      if ((int )state___1->apply_verbosity > -1) {
        tmp___6 = _((char const   *)"Hunk #%d applied cleanly.");
        fprintf_ln(stderr, (char const   *)tmp___6, cnt);
      }
      goto __Cont___0;
    }
    if ((int )state___1->apply_verbosity > -1) {
      tmp___7 = _((char const   *)"Rejected hunk #%d.");
      fprintf_ln(stderr, (char const   *)tmp___7, cnt);
    }
    fprintf(rej, (char const   *)"%.*s", frag->size, frag->patch);
    if ((int const   )*(frag->patch + (frag->size - 1)) != 10) {
      fputc('\n', rej);
    }
    __Cont___0: /* CIL Label */
    cnt ++;
    frag = frag->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  fclose(rej);
  return (-1);
}
}
static int write_out_results(struct apply_state *state___1 , struct patch *list___3 )
{
  int phase ;
  int errs ;
  struct patch *l ;
  struct string_list cpath ;
  int tmp ;
  int tmp___0 ;
  struct string_list_item *item___0 ;

  {
  errs = 0;
  cpath.items = (struct string_list_item *)0;
  cpath.nr = 0U;
  cpath.alloc = 0U;
  cpath.strdup_strings = 1U;
  cpath.cmp = (int (*)(char const   * , char const   * ))0;
  phase = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (phase < 2)) {
      goto while_break;
    }
    l = list___3;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! l) {
        goto while_break___0;
      }
      if (l->rejected) {
        errs = 1;
      } else {
        tmp = write_out_one_result(state___1, l, phase);
        if (tmp) {
          string_list_clear(& cpath, 0);
          return (-1);
        }
        if (phase == 1) {
          tmp___0 = write_out_one_reject(state___1, l);
          if (tmp___0) {
            errs = 1;
          }
          if (l->conflicted_threeway) {
            string_list_append(& cpath, (char const   *)l->new_name);
            errs = 1;
          }
        }
      }
      l = l->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    phase ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (cpath.nr) {
    string_list_sort(& cpath);
    if ((int )state___1->apply_verbosity > -1) {
      item___0 = cpath.items;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (item___0) {
          if (! ((unsigned long )item___0 < (unsigned long )(cpath.items + cpath.nr))) {
            goto while_break___1;
          }
        } else {
          goto while_break___1;
        }
        fprintf(stderr, (char const   *)"U %s\n", item___0->string);
        item___0 ++;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
    string_list_clear(& cpath, 0);
    if (! state___1->cached) {
      repo_rerere(state___1->repo, 0);
    }
  }
  return (errs);
}
}
static int apply_patch(struct apply_state *state___1 , int fd , char const   *filename___0 ,
                       int options )
{
  size_t offset___2 ;
  struct strbuf buf___19 ;
  struct patch *list___3 ;
  struct patch **listp ;
  int skipped_patch ;
  int res ;
  int flush_attributes ;
  int tmp ;
  struct patch *patch ;
  int nr___0 ;
  void *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int r ;
  int tmp___10 ;
  int write_res ;
  int tmp___11 ;
  int tmp___12 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  list___3 = (struct patch *)((void *)0);
  listp = & list___3;
  skipped_patch = 0;
  res = 0;
  flush_attributes = 0;
  state___1->patch_input_file = filename___0;
  tmp = read_patch_file(& buf___19, fd);
  if (tmp < 0) {
    return (-128);
  }
  offset___2 = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (offset___2 < buf___19.len)) {
      goto while_break;
    }
    tmp___0 = xcalloc((size_t )1, sizeof(*patch));
    patch = (struct patch *)tmp___0;
    patch->inaccurate_eof = (unsigned int )(! (! (options & 1)));
    patch->recount = (unsigned int )(! (! (options & (1 << 1))));
    nr___0 = parse_chunk(state___1, buf___19.buf + offset___2, buf___19.len - offset___2,
                         patch);
    if (nr___0 < 0) {
      free_patch(patch);
      if (nr___0 == -128) {
        res = -128;
        goto end;
      }
      goto while_break;
    }
    if (state___1->apply_in_reverse) {
      reverse_patches(patch);
    }
    tmp___4 = use_patch(state___1, patch);
    if (tmp___4) {
      patch_stats(state___1, patch);
      if (! list___3) {
        *listp = patch;
        listp = & patch->next;
      } else
      if (! state___1->apply_in_reverse) {
        *listp = patch;
        listp = & patch->next;
      } else {
        patch->next = list___3;
        list___3 = patch;
      }
      if (patch->new_name) {
        tmp___1 = ends_with_path_components((char const   *)patch->new_name, (char const   *)".gitattributes");
        if (tmp___1) {
          flush_attributes = 1;
        } else {
          goto _L;
        }
      } else
      _L: /* CIL Label */
      if (patch->old_name) {
        tmp___2 = ends_with_path_components((char const   *)patch->old_name, (char const   *)".gitattributes");
        if (tmp___2) {
          flush_attributes = 1;
        }
      }
    } else {
      if ((int )state___1->apply_verbosity > 0) {
        tmp___3 = _((char const   *)"Skipped patch \'%s\'.");
        say_patch_name(stderr, (char const   *)tmp___3, patch);
      }
      free_patch(patch);
      skipped_patch ++;
    }
    offset___2 += (size_t )nr___0;
  }
  while_break: /* CIL Label */ ;
  }
  if (! list___3) {
    if (! skipped_patch) {
      if (! state___1->allow_empty) {
        tmp___5 = _((char const   *)"No valid patches in input (allow with \"--allow-empty\")");
        error((char const   *)tmp___5);
        const_error();
        res = -128;
      }
      goto end;
    }
  }
  if (state___1->whitespace_error) {
    if ((unsigned int )state___1->ws_error_action == 2U) {
      state___1->apply = 0;
    }
  }
  if (state___1->check_index) {
    goto _L___0;
  } else
  if (state___1->ita_only) {
    _L___0: /* CIL Label */
    if (state___1->apply) {
      tmp___6 = 1;
    } else {
      tmp___6 = 0;
    }
  } else {
    tmp___6 = 0;
  }
  state___1->update_index = tmp___6;
  if (state___1->update_index) {
    tmp___7 = is_lock_file_locked(& state___1->lock_file);
    if (! tmp___7) {
      if (state___1->index_file) {
        hold_lock_file_for_update(& state___1->lock_file, state___1->index_file, 1);
      } else {
        repo_hold_locked_index(state___1->repo, & state___1->lock_file, 1);
      }
    }
  }
  if (state___1->check_index) {
    tmp___9 = read_apply_cache(state___1);
    if (tmp___9 < 0) {
      tmp___8 = _((char const   *)"unable to read index file");
      error((char const   *)tmp___8);
      const_error();
      res = -128;
      goto end;
    }
  }
  if (state___1->check) {
    goto _L___1;
  } else
  if (state___1->apply) {
    _L___1: /* CIL Label */
    tmp___10 = check_patch_list(state___1, list___3);
    r = tmp___10;
    if (r == -128) {
      res = -128;
      goto end;
    }
    if (r < 0) {
      if (! state___1->apply_with_reject) {
        res = -1;
        goto end;
      }
    }
  }
  if (state___1->apply) {
    tmp___11 = write_out_results(state___1, list___3);
    write_res = tmp___11;
    if (write_res < 0) {
      res = -128;
      goto end;
    }
    if (write_res > 0) {
      if (state___1->apply_with_reject) {
        res = -1;
      } else {
        res = 1;
      }
      goto end;
    }
  }
  if (state___1->fake_ancestor) {
    tmp___12 = build_fake_ancestor(state___1, list___3);
    if (tmp___12) {
      res = -128;
      goto end;
    }
  }
  if (state___1->diffstat) {
    if ((int )state___1->apply_verbosity > -1) {
      stat_patch_list(state___1, list___3);
    }
  }
  if (state___1->numstat) {
    if ((int )state___1->apply_verbosity > -1) {
      numstat_patch_list(state___1, list___3);
    }
  }
  if (state___1->summary) {
    if ((int )state___1->apply_verbosity > -1) {
      summary_patch_list(list___3);
    }
  }
  if (flush_attributes) {
    reset_parsed_attributes();
  }
  end:
  free_patch_list(list___3);
  strbuf_release(& buf___19);
  string_list_clear(& state___1->fn_table, 0);
  return (res);
}
}
static int apply_option_parse_exclude(struct option  const  *opt___0 , char const   *arg ,
                                      int unset )
{
  struct apply_state *state___1 ;

  {
  state___1 = (struct apply_state *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"apply.c", 4838, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  add_name_limit(state___1, arg, 1);
  return (0);
}
}
static int apply_option_parse_include(struct option  const  *opt___0 , char const   *arg ,
                                      int unset )
{
  struct apply_state *state___1 ;

  {
  state___1 = (struct apply_state *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"apply.c", 4849, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  add_name_limit(state___1, arg, 0);
  state___1->has_include = 1;
  return (0);
}
}
static int apply_option_parse_p(struct option  const  *opt___0 , char const   *arg ,
                                int unset )
{
  struct apply_state *state___1 ;

  {
  state___1 = (struct apply_state *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"apply.c", 4862, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  state___1->p_value = atoi(arg);
  state___1->p_value_known = 1;
  return (0);
}
}
static int apply_option_parse_space_change(struct option  const  *opt___0 , char const   *arg ,
                                           int unset )
{
  struct apply_state *state___1 ;

  {
  state___1 = (struct apply_state *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"apply.c", 4874, (char const   *)"option callback does not expect an argument");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (unset) {
    state___1->ws_ignore_action = (enum apply_ws_ignore )0;
  } else {
    state___1->ws_ignore_action = (enum apply_ws_ignore )1;
  }
  return (0);
}
}
static int apply_option_parse_whitespace(struct option  const  *opt___0 , char const   *arg ,
                                         int unset )
{
  struct apply_state *state___1 ;
  int tmp ;

  {
  state___1 = (struct apply_state *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"apply.c", 4888, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  state___1->whitespace_option = arg;
  tmp = parse_whitespace_option(state___1, arg);
  if (tmp) {
    return (-1);
  }
  return (0);
}
}
static int apply_option_parse_directory(struct option  const  *opt___0 , char const   *arg ,
                                        int unset )
{
  struct apply_state *state___1 ;

  {
  state___1 = (struct apply_state *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"apply.c", 4901, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_setlen(& state___1->root, (size_t )0);
  strbuf_addstr(& state___1->root, arg);
  strbuf_complete(& state___1->root, (char )'/');
  return (0);
}
}
int apply_all_patches(struct apply_state *state___1 , int argc , char const   **argv___0 ,
                      int options )
{
  int i ;
  int res ;
  int errs ;
  int read_stdin ;
  char const   *arg ;
  char *to_free ;
  int fd ;
  int tmp ;
  int *tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int squelched ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;

  {
  errs = 0;
  read_stdin = 1;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    arg = *(argv___0 + i);
    to_free = (char *)((void *)0);
    tmp = strcmp(arg, (char const   *)"-");
    if (tmp) {
      to_free = prefix_filename(state___1->prefix, arg);
      arg = (char const   *)to_free;
    } else {
      res = apply_patch(state___1, 0, (char const   *)"<stdin>", options);
      if (res < 0) {
        goto end;
      }
      errs |= res;
      read_stdin = 0;
      goto __Cont;
    }
    fd = open(arg, 00);
    if (fd < 0) {
      tmp___0 = __errno_location();
      tmp___1 = strerror(*tmp___0);
      tmp___2 = _((char const   *)"can\'t open patch \'%s\': %s");
      error((char const   *)tmp___2, arg, tmp___1);
      const_error();
      res = -128;
      free((void *)to_free);
      goto end;
    }
    read_stdin = 0;
    set_default_whitespace_mode(state___1);
    res = apply_patch(state___1, fd, arg, options);
    close(fd);
    free((void *)to_free);
    if (res < 0) {
      goto end;
    }
    errs |= res;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  set_default_whitespace_mode(state___1);
  if (read_stdin) {
    res = apply_patch(state___1, 0, (char const   *)"<stdin>", options);
    if (res < 0) {
      goto end;
    }
    errs |= res;
  }
  if (state___1->whitespace_error) {
    if (state___1->squelch_whitespace_errors) {
      if (state___1->squelch_whitespace_errors < state___1->whitespace_error) {
        squelched = state___1->whitespace_error - state___1->squelch_whitespace_errors;
        tmp___3 = Q_((char const   *)"squelched %d whitespace error", (char const   *)"squelched %d whitespace errors",
                     (unsigned long )squelched);
        warning((char const   *)tmp___3, squelched);
      }
    }
    if ((unsigned int )state___1->ws_error_action == 2U) {
      tmp___4 = Q_((char const   *)"%d line adds whitespace errors.", (char const   *)"%d lines add whitespace errors.",
                   (unsigned long )state___1->whitespace_error);
      error((char const   *)tmp___4, state___1->whitespace_error);
      const_error();
      res = -128;
      goto end;
    }
    if (state___1->applied_after_fixing_ws) {
      if (state___1->apply) {
        tmp___5 = Q_((char const   *)"%d line applied after fixing whitespace errors.",
                     (char const   *)"%d lines applied after fixing whitespace errors.",
                     (unsigned long )state___1->applied_after_fixing_ws);
        warning((char const   *)tmp___5, state___1->applied_after_fixing_ws);
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (state___1->whitespace_error) {
      tmp___6 = Q_((char const   *)"%d line adds whitespace errors.", (char const   *)"%d lines add whitespace errors.",
                   (unsigned long )state___1->whitespace_error);
      warning((char const   *)tmp___6, state___1->whitespace_error);
    }
  }
  if (state___1->update_index) {
    res = write_locked_index((state___1->repo)->index, & state___1->lock_file, 1U);
    if (res) {
      tmp___7 = _((char const   *)"Unable to write new index file");
      error((char const   *)tmp___7);
      const_error();
      res = -128;
      goto end;
    }
  }
  res = ! (! errs);
  end:
  rollback_lock_file(& state___1->lock_file);
  if ((int )state___1->apply_verbosity <= -1) {
    set_error_routine(state___1->saved_error_routine);
    set_warn_routine(state___1->saved_warn_routine);
  }
  if (res > -1) {
    return (res);
  }
  if (res == -1) {
    tmp___8 = 1;
  } else {
    tmp___8 = 128;
  }
  return (tmp___8);
}
}
int apply_parse_options(int argc , char const   **argv___0 , struct apply_state *state___1 ,
                        int *force_apply , int *options , char const   **apply_usage___0 )
{
  struct option builtin_apply_options[33] ;
  int tmp ;

  {
  builtin_apply_options[0].type = (enum parse_opt_type )12;
  builtin_apply_options[0].short_name = 0;
  builtin_apply_options[0].long_name = (char const   *)"exclude";
  builtin_apply_options[0].value = (void *)state___1;
  builtin_apply_options[0].argh = (char const   *)"path";
  builtin_apply_options[0].help = (char const   *)"don\'t apply changes matching the given path";
  builtin_apply_options[0].flags = (enum parse_opt_option_flags )4;
  builtin_apply_options[0].callback = & apply_option_parse_exclude;
  builtin_apply_options[0].defval = 0L;
  builtin_apply_options[0].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[0].extra = 0L;
  builtin_apply_options[1].type = (enum parse_opt_type )12;
  builtin_apply_options[1].short_name = 0;
  builtin_apply_options[1].long_name = (char const   *)"include";
  builtin_apply_options[1].value = (void *)state___1;
  builtin_apply_options[1].argh = (char const   *)"path";
  builtin_apply_options[1].help = (char const   *)"apply changes matching the given path";
  builtin_apply_options[1].flags = (enum parse_opt_option_flags )4;
  builtin_apply_options[1].callback = & apply_option_parse_include;
  builtin_apply_options[1].defval = 0L;
  builtin_apply_options[1].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[1].extra = 0L;
  builtin_apply_options[2].type = (enum parse_opt_type )12;
  builtin_apply_options[2].short_name = 'p';
  builtin_apply_options[2].long_name = (char const   *)((void *)0);
  builtin_apply_options[2].value = (void *)state___1;
  builtin_apply_options[2].argh = (char const   *)"num";
  builtin_apply_options[2].help = (char const   *)"remove <num> leading slashes from traditional diff paths";
  builtin_apply_options[2].flags = (enum parse_opt_option_flags )0;
  builtin_apply_options[2].callback = & apply_option_parse_p;
  builtin_apply_options[2].defval = 0L;
  builtin_apply_options[2].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[2].extra = 0L;
  builtin_apply_options[3].type = (enum parse_opt_type )8;
  builtin_apply_options[3].short_name = 0;
  builtin_apply_options[3].long_name = (char const   *)"no-add";
  builtin_apply_options[3].value = (void *)(& state___1->no_add);
  builtin_apply_options[3].argh = (char const   *)((void *)0);
  builtin_apply_options[3].help = (char const   *)"ignore additions made by the patch";
  builtin_apply_options[3].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[3].callback = (parse_opt_cb *)((void *)0);
  builtin_apply_options[3].defval = (intptr_t )1;
  builtin_apply_options[3].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[3].extra = 0L;
  builtin_apply_options[4].type = (enum parse_opt_type )8;
  builtin_apply_options[4].short_name = 0;
  builtin_apply_options[4].long_name = (char const   *)"stat";
  builtin_apply_options[4].value = (void *)(& state___1->diffstat);
  builtin_apply_options[4].argh = (char const   *)((void *)0);
  builtin_apply_options[4].help = (char const   *)"instead of applying the patch, output diffstat for the input";
  builtin_apply_options[4].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[4].callback = (parse_opt_cb *)((void *)0);
  builtin_apply_options[4].defval = (intptr_t )1;
  builtin_apply_options[4].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[4].extra = 0L;
  builtin_apply_options[5].type = (enum parse_opt_type )12;
  builtin_apply_options[5].short_name = 0;
  builtin_apply_options[5].long_name = (char const   *)"allow-binary-replacement";
  builtin_apply_options[5].value = (void *)0;
  builtin_apply_options[5].argh = (char const   *)((void *)0);
  builtin_apply_options[5].help = (char const   *)"no-op (backward compatibility)";
  builtin_apply_options[5].flags = (enum parse_opt_option_flags )10;
  builtin_apply_options[5].callback = & parse_opt_noop_cb;
  builtin_apply_options[5].defval = 0L;
  builtin_apply_options[5].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[5].extra = 0L;
  builtin_apply_options[6].type = (enum parse_opt_type )12;
  builtin_apply_options[6].short_name = 0;
  builtin_apply_options[6].long_name = (char const   *)"binary";
  builtin_apply_options[6].value = (void *)0;
  builtin_apply_options[6].argh = (char const   *)((void *)0);
  builtin_apply_options[6].help = (char const   *)"no-op (backward compatibility)";
  builtin_apply_options[6].flags = (enum parse_opt_option_flags )10;
  builtin_apply_options[6].callback = & parse_opt_noop_cb;
  builtin_apply_options[6].defval = 0L;
  builtin_apply_options[6].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[6].extra = 0L;
  builtin_apply_options[7].type = (enum parse_opt_type )8;
  builtin_apply_options[7].short_name = 0;
  builtin_apply_options[7].long_name = (char const   *)"numstat";
  builtin_apply_options[7].value = (void *)(& state___1->numstat);
  builtin_apply_options[7].argh = (char const   *)((void *)0);
  builtin_apply_options[7].help = (char const   *)"show number of added and deleted lines in decimal notation";
  builtin_apply_options[7].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[7].callback = (parse_opt_cb *)((void *)0);
  builtin_apply_options[7].defval = (intptr_t )1;
  builtin_apply_options[7].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[7].extra = 0L;
  builtin_apply_options[8].type = (enum parse_opt_type )8;
  builtin_apply_options[8].short_name = 0;
  builtin_apply_options[8].long_name = (char const   *)"summary";
  builtin_apply_options[8].value = (void *)(& state___1->summary);
  builtin_apply_options[8].argh = (char const   *)((void *)0);
  builtin_apply_options[8].help = (char const   *)"instead of applying the patch, output a summary for the input";
  builtin_apply_options[8].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[8].callback = (parse_opt_cb *)((void *)0);
  builtin_apply_options[8].defval = (intptr_t )1;
  builtin_apply_options[8].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[8].extra = 0L;
  builtin_apply_options[9].type = (enum parse_opt_type )8;
  builtin_apply_options[9].short_name = 0;
  builtin_apply_options[9].long_name = (char const   *)"check";
  builtin_apply_options[9].value = (void *)(& state___1->check);
  builtin_apply_options[9].argh = (char const   *)((void *)0);
  builtin_apply_options[9].help = (char const   *)"instead of applying the patch, see if the patch is applicable";
  builtin_apply_options[9].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[9].callback = (parse_opt_cb *)((void *)0);
  builtin_apply_options[9].defval = (intptr_t )1;
  builtin_apply_options[9].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[9].extra = 0L;
  builtin_apply_options[10].type = (enum parse_opt_type )8;
  builtin_apply_options[10].short_name = 0;
  builtin_apply_options[10].long_name = (char const   *)"index";
  builtin_apply_options[10].value = (void *)(& state___1->check_index);
  builtin_apply_options[10].argh = (char const   *)((void *)0);
  builtin_apply_options[10].help = (char const   *)"make sure the patch is applicable to the current index";
  builtin_apply_options[10].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[10].callback = (parse_opt_cb *)((void *)0);
  builtin_apply_options[10].defval = (intptr_t )1;
  builtin_apply_options[10].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[10].extra = 0L;
  builtin_apply_options[11].type = (enum parse_opt_type )8;
  builtin_apply_options[11].short_name = 'N';
  builtin_apply_options[11].long_name = (char const   *)"intent-to-add";
  builtin_apply_options[11].value = (void *)(& state___1->ita_only);
  builtin_apply_options[11].argh = (char const   *)((void *)0);
  builtin_apply_options[11].help = (char const   *)"mark new files with `git add --intent-to-add`";
  builtin_apply_options[11].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[11].callback = (parse_opt_cb *)((void *)0);
  builtin_apply_options[11].defval = (intptr_t )1;
  builtin_apply_options[11].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[11].extra = 0L;
  builtin_apply_options[12].type = (enum parse_opt_type )8;
  builtin_apply_options[12].short_name = 0;
  builtin_apply_options[12].long_name = (char const   *)"cached";
  builtin_apply_options[12].value = (void *)(& state___1->cached);
  builtin_apply_options[12].argh = (char const   *)((void *)0);
  builtin_apply_options[12].help = (char const   *)"apply a patch without touching the working tree";
  builtin_apply_options[12].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[12].callback = (parse_opt_cb *)((void *)0);
  builtin_apply_options[12].defval = (intptr_t )1;
  builtin_apply_options[12].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[12].extra = 0L;
  builtin_apply_options[13].type = (enum parse_opt_type )8;
  builtin_apply_options[13].short_name = 0;
  builtin_apply_options[13].long_name = (char const   *)"unsafe-paths";
  builtin_apply_options[13].value = (void *)(& state___1->unsafe_paths);
  builtin_apply_options[13].argh = (char const   *)((void *)0);
  builtin_apply_options[13].help = (char const   *)"accept a patch that touches outside the working area";
  builtin_apply_options[13].flags = (enum parse_opt_option_flags )514;
  builtin_apply_options[13].callback = (parse_opt_cb *)((void *)0);
  builtin_apply_options[13].defval = (intptr_t )1;
  builtin_apply_options[13].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[13].extra = 0L;
  builtin_apply_options[14].type = (enum parse_opt_type )8;
  builtin_apply_options[14].short_name = 0;
  builtin_apply_options[14].long_name = (char const   *)"apply";
  builtin_apply_options[14].value = (void *)force_apply;
  builtin_apply_options[14].argh = (char const   *)((void *)0);
  builtin_apply_options[14].help = (char const   *)"also apply the patch (use with --stat/--summary/--check)";
  builtin_apply_options[14].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[14].callback = (parse_opt_cb *)((void *)0);
  builtin_apply_options[14].defval = (intptr_t )1;
  builtin_apply_options[14].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[14].extra = 0L;
  builtin_apply_options[15].type = (enum parse_opt_type )8;
  builtin_apply_options[15].short_name = '3';
  builtin_apply_options[15].long_name = (char const   *)"3way";
  builtin_apply_options[15].value = (void *)(& state___1->threeway);
  builtin_apply_options[15].argh = (char const   *)((void *)0);
  builtin_apply_options[15].help = (char const   *)"attempt three-way merge, fall back on normal patch if that fails";
  builtin_apply_options[15].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[15].callback = (parse_opt_cb *)((void *)0);
  builtin_apply_options[15].defval = (intptr_t )1;
  builtin_apply_options[15].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[15].extra = 0L;
  builtin_apply_options[16].type = (enum parse_opt_type )14;
  builtin_apply_options[16].short_name = 0;
  builtin_apply_options[16].long_name = (char const   *)"build-fake-ancestor";
  builtin_apply_options[16].value = (void *)(& state___1->fake_ancestor);
  builtin_apply_options[16].argh = (char const   *)"file";
  builtin_apply_options[16].help = (char const   *)"build a temporary index based on embedded index information";
  builtin_apply_options[16].flags = 0U;
  builtin_apply_options[16].callback = (parse_opt_cb *)0;
  builtin_apply_options[16].defval = 0L;
  builtin_apply_options[16].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[16].extra = 0L;
  builtin_apply_options[17].type = (enum parse_opt_type )8;
  builtin_apply_options[17].short_name = 'z';
  builtin_apply_options[17].long_name = (char const   *)((void *)0);
  builtin_apply_options[17].value = (void *)(& state___1->line_termination);
  builtin_apply_options[17].argh = (char const   *)((void *)0);
  builtin_apply_options[17].help = (char const   *)"paths are separated with NUL character";
  builtin_apply_options[17].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[17].callback = (parse_opt_cb *)((void *)0);
  builtin_apply_options[17].defval = (intptr_t )'\000';
  builtin_apply_options[17].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[17].extra = 0L;
  builtin_apply_options[18].type = (enum parse_opt_type )10;
  builtin_apply_options[18].short_name = 'C';
  builtin_apply_options[18].long_name = (char const   *)((void *)0);
  builtin_apply_options[18].value = (void *)(& state___1->p_context);
  builtin_apply_options[18].argh = (char const   *)"n";
  builtin_apply_options[18].help = (char const   *)"ensure at least <n> lines of context match";
  builtin_apply_options[18].flags = (enum parse_opt_option_flags )0;
  builtin_apply_options[18].callback = (parse_opt_cb *)0;
  builtin_apply_options[18].defval = 0L;
  builtin_apply_options[18].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[18].extra = 0L;
  builtin_apply_options[19].type = (enum parse_opt_type )12;
  builtin_apply_options[19].short_name = 0;
  builtin_apply_options[19].long_name = (char const   *)"whitespace";
  builtin_apply_options[19].value = (void *)state___1;
  builtin_apply_options[19].argh = (char const   *)"action";
  builtin_apply_options[19].help = (char const   *)"detect new or modified lines that have whitespace errors";
  builtin_apply_options[19].flags = (enum parse_opt_option_flags )0;
  builtin_apply_options[19].callback = & apply_option_parse_whitespace;
  builtin_apply_options[19].defval = 0L;
  builtin_apply_options[19].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[19].extra = 0L;
  builtin_apply_options[20].type = (enum parse_opt_type )12;
  builtin_apply_options[20].short_name = 0;
  builtin_apply_options[20].long_name = (char const   *)"ignore-space-change";
  builtin_apply_options[20].value = (void *)state___1;
  builtin_apply_options[20].argh = (char const   *)((void *)0);
  builtin_apply_options[20].help = (char const   *)"ignore changes in whitespace when finding context";
  builtin_apply_options[20].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[20].callback = & apply_option_parse_space_change;
  builtin_apply_options[20].defval = 0L;
  builtin_apply_options[20].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[20].extra = 0L;
  builtin_apply_options[21].type = (enum parse_opt_type )12;
  builtin_apply_options[21].short_name = 0;
  builtin_apply_options[21].long_name = (char const   *)"ignore-whitespace";
  builtin_apply_options[21].value = (void *)state___1;
  builtin_apply_options[21].argh = (char const   *)((void *)0);
  builtin_apply_options[21].help = (char const   *)"ignore changes in whitespace when finding context";
  builtin_apply_options[21].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[21].callback = & apply_option_parse_space_change;
  builtin_apply_options[21].defval = 0L;
  builtin_apply_options[21].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[21].extra = 0L;
  builtin_apply_options[22].type = (enum parse_opt_type )8;
  builtin_apply_options[22].short_name = 'R';
  builtin_apply_options[22].long_name = (char const   *)"reverse";
  builtin_apply_options[22].value = (void *)(& state___1->apply_in_reverse);
  builtin_apply_options[22].argh = (char const   *)((void *)0);
  builtin_apply_options[22].help = (char const   *)"apply the patch in reverse";
  builtin_apply_options[22].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[22].callback = (parse_opt_cb *)((void *)0);
  builtin_apply_options[22].defval = (intptr_t )1;
  builtin_apply_options[22].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[22].extra = 0L;
  builtin_apply_options[23].type = (enum parse_opt_type )8;
  builtin_apply_options[23].short_name = 0;
  builtin_apply_options[23].long_name = (char const   *)"unidiff-zero";
  builtin_apply_options[23].value = (void *)(& state___1->unidiff_zero);
  builtin_apply_options[23].argh = (char const   *)((void *)0);
  builtin_apply_options[23].help = (char const   *)"don\'t expect at least one line of context";
  builtin_apply_options[23].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[23].callback = (parse_opt_cb *)((void *)0);
  builtin_apply_options[23].defval = (intptr_t )1;
  builtin_apply_options[23].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[23].extra = 0L;
  builtin_apply_options[24].type = (enum parse_opt_type )8;
  builtin_apply_options[24].short_name = 0;
  builtin_apply_options[24].long_name = (char const   *)"reject";
  builtin_apply_options[24].value = (void *)(& state___1->apply_with_reject);
  builtin_apply_options[24].argh = (char const   *)((void *)0);
  builtin_apply_options[24].help = (char const   *)"leave the rejected hunks in corresponding *.rej files";
  builtin_apply_options[24].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[24].callback = (parse_opt_cb *)((void *)0);
  builtin_apply_options[24].defval = (intptr_t )1;
  builtin_apply_options[24].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[24].extra = 0L;
  builtin_apply_options[25].type = (enum parse_opt_type )8;
  builtin_apply_options[25].short_name = 0;
  builtin_apply_options[25].long_name = (char const   *)"allow-overlap";
  builtin_apply_options[25].value = (void *)(& state___1->allow_overlap);
  builtin_apply_options[25].argh = (char const   *)((void *)0);
  builtin_apply_options[25].help = (char const   *)"allow overlapping hunks";
  builtin_apply_options[25].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[25].callback = (parse_opt_cb *)((void *)0);
  builtin_apply_options[25].defval = (intptr_t )1;
  builtin_apply_options[25].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[25].extra = 0L;
  builtin_apply_options[26].type = (enum parse_opt_type )12;
  builtin_apply_options[26].short_name = 'v';
  builtin_apply_options[26].long_name = (char const   *)"verbose";
  builtin_apply_options[26].value = (void *)(& state___1->apply_verbosity);
  builtin_apply_options[26].argh = (char const   *)((void *)0);
  builtin_apply_options[26].help = (char const   *)"be more verbose";
  builtin_apply_options[26].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[26].callback = & parse_opt_verbosity_cb;
  builtin_apply_options[26].defval = (intptr_t )0;
  builtin_apply_options[26].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[26].extra = 0L;
  builtin_apply_options[27].type = (enum parse_opt_type )12;
  builtin_apply_options[27].short_name = 'q';
  builtin_apply_options[27].long_name = (char const   *)"quiet";
  builtin_apply_options[27].value = (void *)(& state___1->apply_verbosity);
  builtin_apply_options[27].argh = (char const   *)((void *)0);
  builtin_apply_options[27].help = (char const   *)"be more quiet";
  builtin_apply_options[27].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[27].callback = & parse_opt_verbosity_cb;
  builtin_apply_options[27].defval = (intptr_t )0;
  builtin_apply_options[27].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[27].extra = 0L;
  builtin_apply_options[28].type = (enum parse_opt_type )4;
  builtin_apply_options[28].short_name = 0;
  builtin_apply_options[28].long_name = (char const   *)"inaccurate-eof";
  builtin_apply_options[28].value = (void *)options;
  builtin_apply_options[28].argh = (char const   *)((void *)0);
  builtin_apply_options[28].help = (char const   *)"tolerate incorrectly detected missing new-line at the end of file";
  builtin_apply_options[28].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[28].callback = (parse_opt_cb *)((void *)0);
  builtin_apply_options[28].defval = (intptr_t )1;
  builtin_apply_options[28].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[28].extra = 0L;
  builtin_apply_options[29].type = (enum parse_opt_type )4;
  builtin_apply_options[29].short_name = 0;
  builtin_apply_options[29].long_name = (char const   *)"recount";
  builtin_apply_options[29].value = (void *)options;
  builtin_apply_options[29].argh = (char const   *)((void *)0);
  builtin_apply_options[29].help = (char const   *)"do not trust the line counts in the hunk headers";
  builtin_apply_options[29].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[29].callback = (parse_opt_cb *)((void *)0);
  builtin_apply_options[29].defval = (intptr_t )(1 << 1);
  builtin_apply_options[29].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[29].extra = 0L;
  builtin_apply_options[30].type = (enum parse_opt_type )12;
  builtin_apply_options[30].short_name = 0;
  builtin_apply_options[30].long_name = (char const   *)"directory";
  builtin_apply_options[30].value = (void *)state___1;
  builtin_apply_options[30].argh = (char const   *)"root";
  builtin_apply_options[30].help = (char const   *)"prepend <root> to all filenames";
  builtin_apply_options[30].flags = (enum parse_opt_option_flags )0;
  builtin_apply_options[30].callback = & apply_option_parse_directory;
  builtin_apply_options[30].defval = 0L;
  builtin_apply_options[30].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[30].extra = 0L;
  builtin_apply_options[31].type = (enum parse_opt_type )8;
  builtin_apply_options[31].short_name = 0;
  builtin_apply_options[31].long_name = (char const   *)"allow-empty";
  builtin_apply_options[31].value = (void *)(& state___1->allow_empty);
  builtin_apply_options[31].argh = (char const   *)((void *)0);
  builtin_apply_options[31].help = (char const   *)"don\'t return error for empty patches";
  builtin_apply_options[31].flags = (enum parse_opt_option_flags )2;
  builtin_apply_options[31].callback = (parse_opt_cb *)((void *)0);
  builtin_apply_options[31].defval = (intptr_t )1;
  builtin_apply_options[31].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[31].extra = 0L;
  builtin_apply_options[32].type = (enum parse_opt_type )0;
  builtin_apply_options[32].short_name = 0;
  builtin_apply_options[32].long_name = (char const   *)0;
  builtin_apply_options[32].value = (void *)0;
  builtin_apply_options[32].argh = (char const   *)0;
  builtin_apply_options[32].help = (char const   *)0;
  builtin_apply_options[32].flags = 0U;
  builtin_apply_options[32].callback = (parse_opt_cb *)0;
  builtin_apply_options[32].defval = 0L;
  builtin_apply_options[32].ll_callback = (parse_opt_ll_cb *)0;
  builtin_apply_options[32].extra = 0L;
  tmp = parse_options(argc, argv___0, state___1->prefix, (struct option  const  *)(builtin_apply_options),
                      apply_usage___0, (enum parse_opt_flags )0);
  return (tmp);
}
}
int write_archive(int argc , char const   **argv___0 , char const   *prefix___1 ,
                  struct repository *repo , char const   *name_hint , int remote ) ;
char const   *archive_format_from_filename(char const   *filename___0 ) ;
void register_archiver(struct archiver *ar ) ;
void init_tar_archiver(void) ;
void init_zip_archiver(void) ;
void init_archivers(void) ;
int write_archive_entries(struct archiver_args *args___0 , int (*write_entry___0)(struct archiver_args *args ,
                                                                                  struct object_id  const  *oid ,
                                                                                  char const   *path ,
                                                                                  size_t pathlen ,
                                                                                  unsigned int mode ,
                                                                                  void *buffer ,
                                                                                  unsigned long size ) ) ;
static double const   __ac_HASH_UPPER___5  =    (double const   )0.77;
__inline static void kh_resize_oid_set___5(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___5(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___5 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___5 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___5(kh_oid_set_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___5(kh_oid_set_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___5(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___5(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___5(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___5(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___5 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___5 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___5(kh_oid_map_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___5(kh_oid_map_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___5(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___5(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___5(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___5(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___5 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___5 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___5(kh_oid_pos_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___5(kh_oid_pos_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___5(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___5(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___2(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___2(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___5 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___5 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___2(kh_odb_path_map_t *h , char const   *key___1 ,
                                                int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___2(kh_odb_path_map_t *h , char const   *key___1 ,
                                                int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___2(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___2(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
struct git_istream *open_istream(struct repository *r , struct object_id  const  *oid ,
                                 enum object_type *type___0 , unsigned long *size ,
                                 struct stream_filter *filter___0 ) ;
int close_istream(struct git_istream *st ) ;
ssize_t read_istream(struct git_istream *st , void *buf___19 , size_t sz ) ;
int stream_blob_to_fd(int fd , struct object_id  const  *oid , struct stream_filter *filter___0 ,
                      int can_seek ) ;
static char block[10240]  ;
static unsigned long offset  ;
static int tar_umask  =    002;
static int write_tar_filter_archive(struct archiver  const  *ar , struct archiver_args *args___0 ) ;
static void write_if_needed(void)
{


  {
  if (offset == 10240UL) {
    write_or_die(1, (void const   *)(block), (size_t )10240);
    offset = 0UL;
  }
  return;
}
}
static void do_write_blocked(void const   *data , unsigned long size )
{
  char const   *buf___19 ;
  unsigned long chunk ;

  {
  buf___19 = (char const   *)data;
  if (offset) {
    chunk = 10240UL - offset;
    if (size < chunk) {
      chunk = size;
    }
    memcpy((void *)(block + offset), (void const   *)buf___19, chunk);
    size -= chunk;
    offset += chunk;
    buf___19 += chunk;
    write_if_needed();
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (size >= 10240UL)) {
      goto while_break;
    }
    write_or_die(1, (void const   *)buf___19, (size_t )10240);
    size -= 10240UL;
    buf___19 += 10240;
  }
  while_break: /* CIL Label */ ;
  }
  if (size) {
    memcpy((void *)(block + offset), (void const   *)buf___19, size);
    offset += size;
  }
  return;
}
}
static void finish_record(void)
{
  unsigned long tail ;

  {
  tail = offset % 512UL;
  if (tail) {
    memset((void *)(block + offset), 0, 512UL - tail);
    offset += 512UL - tail;
  }
  write_if_needed();
  return;
}
}
static void write_blocked(void const   *data , unsigned long size )
{


  {
  do_write_blocked(data, size);
  finish_record();
  return;
}
}
static void write_trailer(void)
{
  int tail ;

  {
  tail = (int )(10240UL - offset);
  memset((void *)(block + offset), 0, (size_t )tail);
  write_or_die(1, (void const   *)(block), (size_t )10240);
  if (tail < 1024) {
    memset((void *)(block), 0, offset);
    write_or_die(1, (void const   *)(block), (size_t )10240);
  }
  return;
}
}
static int stream_blocked(struct repository *r , struct object_id  const  *oid )
{
  struct git_istream *st ;
  enum object_type type___0 ;
  unsigned long sz ;
  char buf___19[10240] ;
  ssize_t readlen ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  st = open_istream(r, oid, & type___0, & sz, (struct stream_filter *)((void *)0));
  if (! st) {
    tmp = oid_to_hex(oid);
    tmp___0 = _((char const   *)"cannot stream blob %s");
    error((char const   *)tmp___0, tmp);
    tmp___1 = const_error();
    return (tmp___1);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    readlen = read_istream(st, (void *)(buf___19), sizeof(buf___19));
    if (readlen <= 0L) {
      goto while_break;
    }
    do_write_blocked((void const   *)(buf___19), (unsigned long )readlen);
  }
  while_break: /* CIL Label */ ;
  }
  close_istream(st);
  if (! readlen) {
    finish_record();
  }
  return ((int )readlen);
}
}
static void strbuf_append_ext_header(struct strbuf *sb___6 , char const   *keyword ,
                                     char const   *value , size_t valuelen )
{
  size_t orig_len ;
  size_t len___0 ;
  size_t tmp ;
  size_t tmp___0 ;

  {
  orig_len = sb___6->len;
  tmp___0 = strlen(keyword);
  len___0 = (((2UL + tmp___0) + 1UL) + valuelen) + 1UL;
  tmp = (size_t )1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (len___0 / 10UL >= tmp)) {
      goto while_break;
    }
    len___0 ++;
    tmp *= 10UL;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_grow(sb___6, len___0);
  strbuf_addf(sb___6, (char const   *)"%lu %s=", len___0, keyword);
  strbuf_add(sb___6, (void const   *)value, valuelen);
  strbuf_addch(sb___6, '\n');
  if (len___0 != sb___6->len - orig_len) {
    BUG_fl((char const   *)"archive-tar.c", 163, (char const   *)"pax extended header length miscalculated as %lu, should be %lu",
           len___0, sb___6->len - orig_len);
  }
  return;
}
}
static void strbuf_append_ext_header_uint(struct strbuf *sb___6 , char const   *keyword ,
                                          uintmax_t value )
{
  char buf___19[40] ;
  int len___0 ;

  {
  len___0 = xsnprintf(buf___19, sizeof(buf___19), (char const   *)"%lu", value);
  strbuf_append_ext_header(sb___6, keyword, (char const   *)(buf___19), (size_t )len___0);
  return;
}
}
static unsigned int ustar_header_chksum(struct ustar_header  const  *header___0 )
{
  unsigned char const   *p___0 ;
  unsigned int chksum ;
  unsigned char const   *tmp ;
  unsigned char const   *tmp___0 ;

  {
  p___0 = (unsigned char const   *)header___0;
  chksum = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )p___0 < (unsigned long )((unsigned char const   *)(header___0->chksum)))) {
      goto while_break;
    }
    tmp = p___0;
    p___0 ++;
    chksum += (unsigned int )*tmp;
  }
  while_break: /* CIL Label */ ;
  }
  chksum = (unsigned int )((unsigned long )chksum + sizeof(header___0->chksum) * 32UL);
  p___0 += sizeof(header___0->chksum);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )p___0 < (unsigned long )((unsigned char const   *)header___0 + sizeof(struct ustar_header )))) {
      goto while_break___0;
    }
    tmp___0 = p___0;
    p___0 ++;
    chksum += (unsigned int )*tmp___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (chksum);
}
}
static size_t get_path_prefix(char const   *path___6 , size_t pathlen , size_t maxlen )
{
  size_t i ;

  {
  i = pathlen;
  if (i > 1UL) {
    if ((int const   )*(path___6 + (i - 1UL)) == 47) {
      i --;
    }
  }
  if (i > maxlen) {
    i = maxlen;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    i --;
    if (i > 0UL) {
      if (! ((int const   )*(path___6 + i) != 47)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (i);
}
}
static void prepare_header(struct archiver_args *args___0 , struct ustar_header *header___0 ,
                           unsigned int mode___1 , unsigned long size )
{
  uintmax_t tmp ;
  unsigned int tmp___0 ;

  {
  xsnprintf(header___0->mode, sizeof(header___0->mode), (char const   *)"%07o", mode___1 & 4095U);
  if ((mode___1 & 61440U) == 32768U) {
    tmp = size;
  } else {
    tmp = (uintmax_t )0;
  }
  xsnprintf(header___0->size, sizeof(header___0->size), (char const   *)"%011lo",
            tmp);
  xsnprintf(header___0->mtime, sizeof(header___0->mtime), (char const   *)"%011lo",
            args___0->time);
  xsnprintf(header___0->uid, sizeof(header___0->uid), (char const   *)"%07o", 0);
  xsnprintf(header___0->gid, sizeof(header___0->gid), (char const   *)"%07o", 0);
  gitstrlcpy(header___0->uname, (char const   *)"root", sizeof(header___0->uname));
  gitstrlcpy(header___0->gname, (char const   *)"root", sizeof(header___0->gname));
  xsnprintf(header___0->devmajor, sizeof(header___0->devmajor), (char const   *)"%07o",
            0);
  xsnprintf(header___0->devminor, sizeof(header___0->devminor), (char const   *)"%07o",
            0);
  memcpy((void *)(header___0->magic), (void const   *)"ustar", (size_t )6);
  memcpy((void *)(header___0->version), (void const   *)"00", (size_t )2);
  tmp___0 = ustar_header_chksum((struct ustar_header  const  *)header___0);
  xsnprintf(header___0->chksum, sizeof(header___0->chksum), (char const   *)"%07o",
            tmp___0);
  return;
}
}
static void write_extended_header(struct archiver_args *args___0 , struct object_id  const  *oid ,
                                  void const   *buffer___5 , unsigned long size )
{
  struct ustar_header header___0 ;
  unsigned int mode___1 ;
  char *tmp ;

  {
  memset((void *)(& header___0), 0, sizeof(header___0));
  header___0.typeflag[0] = (char )'x';
  mode___1 = 33206U;
  tmp = oid_to_hex(oid);
  xsnprintf(header___0.name, sizeof(header___0.name), (char const   *)"%s.paxheader",
            tmp);
  prepare_header(args___0, & header___0, mode___1, size);
  write_blocked((void const   *)(& header___0), sizeof(header___0));
  write_blocked(buffer___5, size);
  return;
}
}
static int write_tar_entry(struct archiver_args *args___0 , struct object_id  const  *oid ,
                           char const   *path___6 , size_t pathlen , unsigned int mode___1 ,
                           void *buffer___5 , unsigned long size )
{
  struct ustar_header header___0 ;
  struct strbuf ext_header ;
  unsigned long size_in_header ;
  int err___4 ;
  int tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  size_t plen ;
  size_t tmp___3 ;
  size_t rest ;
  char *tmp___4 ;
  char *tmp___5 ;

  {
  ext_header.alloc = 0UL;
  ext_header.len = 0UL;
  ext_header.buf = strbuf_slopbuf;
  err___4 = 0;
  memset((void *)(& header___0), 0, sizeof(header___0));
  if ((mode___1 & 61440U) == 16384U) {
    header___0.typeflag[0] = (char )'5';
    mode___1 = (mode___1 | 511U) & (unsigned int )(~ tar_umask);
  } else
  if ((mode___1 & 61440U) == 57344U) {
    header___0.typeflag[0] = (char )'5';
    mode___1 = (mode___1 | 511U) & (unsigned int )(~ tar_umask);
  } else
  if ((mode___1 & 61440U) == 40960U) {
    header___0.typeflag[0] = (char )'2';
    mode___1 |= 511U;
  } else
  if ((mode___1 & 61440U) == 32768U) {
    header___0.typeflag[0] = (char )'0';
    if (mode___1 & 64U) {
      tmp = 0777;
    } else {
      tmp = 0666;
    }
    mode___1 = (mode___1 | (unsigned int )tmp) & (unsigned int )(~ tar_umask);
  } else {
    tmp___0 = oid_to_hex(oid);
    tmp___1 = _((char const   *)"unsupported file mode: 0%o (SHA1: %s)");
    error((char const   *)tmp___1, mode___1, tmp___0);
    tmp___2 = const_error();
    return (tmp___2);
  }
  if (pathlen > sizeof(header___0.name)) {
    tmp___3 = get_path_prefix(path___6, pathlen, sizeof(header___0.prefix));
    plen = tmp___3;
    rest = (pathlen - plen) - 1UL;
    if (plen > 0UL) {
      if (rest <= sizeof(header___0.name)) {
        memcpy((void *)(header___0.prefix), (void const   *)path___6, plen);
        memcpy((void *)(header___0.name), (void const   *)((path___6 + plen) + 1),
               rest);
      } else {
        tmp___4 = oid_to_hex(oid);
        xsnprintf(header___0.name, sizeof(header___0.name), (char const   *)"%s.data",
                  tmp___4);
        strbuf_append_ext_header(& ext_header, (char const   *)"path", path___6, pathlen);
      }
    } else {
      tmp___4 = oid_to_hex(oid);
      xsnprintf(header___0.name, sizeof(header___0.name), (char const   *)"%s.data",
                tmp___4);
      strbuf_append_ext_header(& ext_header, (char const   *)"path", path___6, pathlen);
    }
  } else {
    memcpy((void *)(header___0.name), (void const   *)path___6, pathlen);
  }
  if ((mode___1 & 61440U) == 40960U) {
    if (size > sizeof(header___0.linkname)) {
      tmp___5 = oid_to_hex(oid);
      xsnprintf(header___0.linkname, sizeof(header___0.linkname), (char const   *)"see %s.paxheader",
                tmp___5);
      strbuf_append_ext_header(& ext_header, (char const   *)"linkpath", (char const   *)buffer___5,
                               size);
    } else {
      memcpy((void *)(header___0.linkname), (void const   *)buffer___5, size);
    }
  }
  size_in_header = size;
  if ((mode___1 & 61440U) == 32768U) {
    if (size > 077777777777UL) {
      size_in_header = 0UL;
      strbuf_append_ext_header_uint(& ext_header, (char const   *)"size", size);
    }
  }
  prepare_header(args___0, & header___0, mode___1, size_in_header);
  if (ext_header.len > 0UL) {
    write_extended_header(args___0, oid, (void const   *)ext_header.buf, ext_header.len);
  }
  strbuf_release(& ext_header);
  write_blocked((void const   *)(& header___0), sizeof(header___0));
  if ((mode___1 & 61440U) == 32768U) {
    if (size > 0UL) {
      if (buffer___5) {
        write_blocked((void const   *)buffer___5, size);
      } else {
        err___4 = stream_blocked(args___0->repo, oid);
      }
    }
  }
  return (err___4);
}
}
static void write_global_extended_header(struct archiver_args *args___0 )
{
  struct object_id  const  *oid ;
  struct strbuf ext_header ;
  struct ustar_header header___0 ;
  unsigned int mode___1 ;
  char *tmp ;

  {
  oid = args___0->commit_oid;
  ext_header.alloc = 0UL;
  ext_header.len = 0UL;
  ext_header.buf = strbuf_slopbuf;
  if (oid) {
    tmp = oid_to_hex(oid);
    strbuf_append_ext_header(& ext_header, (char const   *)"comment", (char const   *)tmp,
                             (size_t )(the_repository->hash_algo)->hexsz);
  }
  if ((unsigned long long )args___0->time > 077777777777ULL) {
    strbuf_append_ext_header_uint(& ext_header, (char const   *)"mtime", args___0->time);
    args___0->time = (timestamp_t )077777777777ULL;
  }
  if (! ext_header.len) {
    return;
  }
  memset((void *)(& header___0), 0, sizeof(header___0));
  header___0.typeflag[0] = (char )'g';
  mode___1 = 33206U;
  xsnprintf(header___0.name, sizeof(header___0.name), (char const   *)"pax_global_header");
  prepare_header(args___0, & header___0, mode___1, ext_header.len);
  write_blocked((void const   *)(& header___0), sizeof(header___0));
  write_blocked((void const   *)ext_header.buf, ext_header.len);
  strbuf_release(& ext_header);
  return;
}
}
static struct archiver **tar_filters  ;
static int nr_tar_filters  ;
static int alloc_tar_filters  ;
static struct archiver *find_tar_filter(char const   *name___0 , size_t len___0 )
{
  int i ;
  struct archiver *ar ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_tar_filters)) {
      goto while_break;
    }
    ar = *(tar_filters + i);
    tmp = strncmp(ar->name, name___0, len___0);
    if (! tmp) {
      if (! *(ar->name + len___0)) {
        return (ar);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct archiver *)((void *)0));
}
}
static int tar_filter_config(char const   *var , char const   *value , void *data )
{
  struct archiver *ar ;
  char const   *name___0 ;
  char const   *type___0 ;
  size_t namelen ;
  int tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  tmp = parse_config_key(var, (char const   *)"tar", & name___0, & namelen, & type___0);
  if (tmp < 0) {
    return (0);
  } else
  if (! name___0) {
    return (0);
  }
  ar = find_tar_filter(name___0, namelen);
  if (! ar) {
    tmp___0 = xcalloc((size_t )1, sizeof(*ar));
    ar = (struct archiver *)tmp___0;
    tmp___1 = xmemdupz((void const   *)name___0, namelen);
    ar->name = (char const   *)tmp___1;
    ar->write_archive = & write_tar_filter_archive;
    ar->flags = 5U;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (nr_tar_filters + 1 > alloc_tar_filters) {
        if (((alloc_tar_filters + 16) * 3) / 2 < nr_tar_filters + 1) {
          alloc_tar_filters = nr_tar_filters + 1;
        } else {
          alloc_tar_filters = ((alloc_tar_filters + 16) * 3) / 2;
        }
        tmp___2 = st_mult(sizeof(*tar_filters), (size_t )alloc_tar_filters);
        tmp___3 = xrealloc((void *)tar_filters, tmp___2);
        tar_filters = (struct archiver **)tmp___3;
      }
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    tmp___4 = nr_tar_filters;
    nr_tar_filters ++;
    *(tar_filters + tmp___4) = ar;
  }
  tmp___7 = strcmp(type___0, (char const   *)"command");
  if (! tmp___7) {
    if (! value) {
      config_error_nonbool(var);
      tmp___5 = const_error();
      return (tmp___5);
    }
    free(ar->data);
    tmp___6 = xstrdup(value);
    ar->data = (void *)tmp___6;
    return (0);
  }
  tmp___9 = strcmp(type___0, (char const   *)"remote");
  if (! tmp___9) {
    tmp___8 = git_config_bool(var, value);
    if (tmp___8) {
      ar->flags |= 2U;
    } else {
      ar->flags &= 4294967293U;
    }
    return (0);
  }
  return (0);
}
}
static int git_tar_config(char const   *var , char const   *value , void *cb )
{
  __mode_t tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___1 = strcmp(var, (char const   *)"tar.umask");
  if (! tmp___1) {
    if (value) {
      tmp___0 = strcmp(value, (char const   *)"user");
      if (tmp___0) {
        tar_umask = git_config_int(var, value);
      } else {
        tmp = umask((__mode_t )0);
        tar_umask = (int )tmp;
        umask((__mode_t )tar_umask);
      }
    } else {
      tar_umask = git_config_int(var, value);
    }
    return (0);
  }
  tmp___2 = tar_filter_config(var, value, cb);
  return (tmp___2);
}
}
static int write_tar_archive(struct archiver  const  *ar , struct archiver_args *args___0 )
{
  int err___4 ;

  {
  err___4 = 0;
  write_global_extended_header(args___0);
  err___4 = write_archive_entries(args___0, & write_tar_entry);
  if (! err___4) {
    write_trailer();
  }
  return (err___4);
}
}
static int write_tar_filter_archive(struct archiver  const  *ar , struct archiver_args *args___0 )
{
  struct strbuf cmd ;
  struct child_process filter___0 ;
  int r ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  cmd.alloc = 0UL;
  cmd.len = 0UL;
  cmd.buf = strbuf_slopbuf;
  filter___0.args.v = empty_strvec;
  filter___0.args.nr = 0UL;
  filter___0.args.alloc = 0UL;
  filter___0.env_array.v = empty_strvec;
  filter___0.env_array.nr = 0UL;
  filter___0.env_array.alloc = 0UL;
  filter___0.pid = 0;
  filter___0.trace2_child_id = 0;
  filter___0.trace2_child_us_start = 0UL;
  filter___0.trace2_child_class = (char const   *)0;
  filter___0.trace2_hook_name = (char const   *)0;
  filter___0.in = 0;
  filter___0.out = 0;
  filter___0.err = 0;
  filter___0.dir = (char const   *)0;
  filter___0.no_stdin = 0U;
  filter___0.no_stdout = 0U;
  filter___0.no_stderr = 0U;
  filter___0.git_cmd = 0U;
  filter___0.silent_exec_failure = 0U;
  filter___0.use_shell = 0U;
  filter___0.close_object_store = 0U;
  filter___0.stdout_to_stderr = 0U;
  filter___0.clean_on_exit = 0U;
  filter___0.wait_after_clean = 0U;
  filter___0.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  filter___0.clean_on_exit_handler_cbdata = (void *)0;
  if (! ar->data) {
    BUG_fl((char const   *)"archive-tar.c", 436, (char const   *)"tar-filter archiver called with no filter defined");
  }
  strbuf_addstr(& cmd, (char const   *)ar->data);
  if (args___0->compression_level >= 0) {
    strbuf_addf(& cmd, (char const   *)" -%d", args___0->compression_level);
  }
  strvec_push(& filter___0.args, (char const   *)cmd.buf);
  filter___0.use_shell = 1U;
  filter___0.in = -1;
  tmp___0 = start_command(& filter___0);
  if (tmp___0 < 0) {
    tmp = _((char const   *)"unable to start \'%s\' filter");
    die_errno((char const   *)tmp, cmd.buf);
  }
  close(1);
  tmp___2 = dup2(filter___0.in, 1);
  if (tmp___2 < 0) {
    tmp___1 = _((char const   *)"unable to redirect descriptor");
    die_errno((char const   *)tmp___1);
  }
  close(filter___0.in);
  r = write_tar_archive(ar, args___0);
  close(1);
  tmp___4 = finish_command(& filter___0);
  if (tmp___4 != 0) {
    tmp___3 = _((char const   *)"\'%s\' filter reported error");
    die((char const   *)tmp___3, cmd.buf);
  }
  strbuf_release(& cmd);
  return (r);
}
}
static struct archiver tar_archiver  =    {(char const   *)"tar", & write_tar_archive, 2U, (void *)0};
void init_tar_archiver(void)
{
  int i ;

  {
  register_archiver(& tar_archiver);
  tar_filter_config((char const   *)"tar.tgz.command", (char const   *)"gzip -cn",
                    (void *)0);
  tar_filter_config((char const   *)"tar.tgz.remote", (char const   *)"true", (void *)0);
  tar_filter_config((char const   *)"tar.tar.gz.command", (char const   *)"gzip -cn",
                    (void *)0);
  tar_filter_config((char const   *)"tar.tar.gz.remote", (char const   *)"true", (void *)0);
  git_config(& git_tar_config, (void *)0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_tar_filters)) {
      goto while_break;
    }
    if ((*(tar_filters + i))->data) {
      register_archiver(*(tar_filters + i));
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
size_t display_mode_esc_sequence_len(char const   *s___1 ) ;
int utf8_width(char const   **start , size_t *remainder_p ) ;
int utf8_strnwidth(char const   *string___0 , int len___0 , int skip_ansi ) ;
int utf8_strwidth(char const   *string___0 ) ;
int is_utf8(char const   *text ) ;
int is_encoding_utf8(char const   *name___0 ) ;
int same_encoding(char const   *src , char const   *dst ) ;
int ( /* format attribute */  utf8_fprintf)(FILE *stream , char const   *format___0
                                            , ...) ;
char const   utf8_bom[4] ;
int skip_utf8_bom(char **text , size_t len___0 ) ;
void strbuf_add_wrapped_text(struct strbuf *buf___19 , char const   *text , int indent1 ,
                             int indent2 , int width ) ;
void strbuf_add_wrapped_bytes(struct strbuf *buf___19 , char const   *data , int len___0 ,
                              int indent , int indent2 , int width ) ;
void strbuf_utf8_replace(struct strbuf *sb_src , int pos , int width , char const   *subst ) ;
char *reencode_string_iconv(char const   *in , size_t insz , iconv_t conv , size_t bom_len ,
                            size_t *outsz_p ) ;
char *reencode_string_len(char const   *in , size_t insz , char const   *out_encoding ,
                          char const   *in_encoding , size_t *outsz ) ;
__inline static char *reencode_string(char const   *in , char const   *out_encoding ,
                                      char const   *in_encoding )
{
  size_t tmp ;
  char *tmp___0 ;

  {
  tmp = strlen(in);
  tmp___0 = reencode_string_len(in, tmp, out_encoding, in_encoding, (size_t *)((void *)0));
  return (tmp___0);
}
}
int mbs_chrlen(char const   **text , size_t *remainder_p , char const   *encoding ) ;
int is_hfs_dotgit(char const   *path___6 ) ;
int is_hfs_dotgitmodules(char const   *path___6 ) ;
int is_hfs_dotgitignore(char const   *path___6 ) ;
int is_hfs_dotgitattributes(char const   *path___6 ) ;
int is_hfs_dotmailmap(char const   *path___6 ) ;
void strbuf_utf8_align(struct strbuf *buf___19 , align_type position , unsigned int width ,
                       char const   *s___1 ) ;
int has_prohibited_utf_bom(char const   *enc , char const   *data , size_t len___0 ) ;
int is_missing_required_utf_bom(char const   *enc , char const   *data , size_t len___0 ) ;
static double const   __ac_HASH_UPPER___6  =    (double const   )0.77;
__inline static void kh_resize_oid_set___6(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___6(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___6 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___6 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___6(kh_oid_set_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___6(kh_oid_set_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___6(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___6(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___6(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___6(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___6 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___6 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___6(kh_oid_map_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___6(kh_oid_map_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___6(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___6(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___6(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___6(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___6 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___6 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___6(kh_oid_pos_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___6(kh_oid_pos_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___6(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___6(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___3(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___3(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___6 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___6 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___3(kh_odb_path_map_t *h , char const   *key___1 ,
                                                int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___3(kh_odb_path_map_t *h , char const   *key___1 ,
                                                int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___3(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___3(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int zip_date  ;
static int zip_time  ;
static struct strbuf zip_dir  ;
static uintmax_t zip_offset  ;
static uint64_t zip_dir_entries  ;
static unsigned int max_creator_version  ;
static void copy_le16(unsigned char *dest , unsigned int n )
{


  {
  *(dest + 0) = (unsigned char )(255U & n);
  *(dest + 1) = (unsigned char )(255U & (n >> 010));
  return;
}
}
static void copy_le32(unsigned char *dest , unsigned int n )
{


  {
  *(dest + 0) = (unsigned char )(255U & n);
  *(dest + 1) = (unsigned char )(255U & (n >> 010));
  *(dest + 2) = (unsigned char )(255U & (n >> 020));
  *(dest + 3) = (unsigned char )(255U & (n >> 030));
  return;
}
}
static void copy_le64(unsigned char *dest , uint64_t n )
{


  {
  *(dest + 0) = (unsigned char )(255UL & n);
  *(dest + 1) = (unsigned char )(255UL & (n >> 010));
  *(dest + 2) = (unsigned char )(255UL & (n >> 020));
  *(dest + 3) = (unsigned char )(255UL & (n >> 030));
  *(dest + 4) = (unsigned char )(255UL & (n >> 040));
  *(dest + 5) = (unsigned char )(255UL & (n >> 050));
  *(dest + 6) = (unsigned char )(255UL & (n >> 060));
  *(dest + 7) = (unsigned char )(255UL & (n >> 070));
  return;
}
}
static uint64_t clamp_max(uint64_t n , uint64_t max , int *clamped )
{


  {
  if (n <= max) {
    return (n);
  }
  *clamped = 1;
  return (max);
}
}
static void copy_le16_clamp(unsigned char *dest , uint64_t n , int *clamped )
{
  uint64_t tmp ;

  {
  tmp = clamp_max(n, (uint64_t )0xffff, clamped);
  copy_le16(dest, (unsigned int )tmp);
  return;
}
}
static void copy_le32_clamp(unsigned char *dest , uint64_t n , int *clamped )
{
  uint64_t tmp ;

  {
  tmp = clamp_max(n, (uint64_t )0xffffffff, clamped);
  copy_le32(dest, (unsigned int )tmp);
  return;
}
}
static int strbuf_add_le(struct strbuf *sb___6 , size_t size , uintmax_t n )
{
  size_t tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = size;
    size --;
    if (! (tmp > 0UL)) {
      goto while_break;
    }
    strbuf_addch(sb___6, (int )(n & 255UL));
    n >>= 8;
  }
  while_break: /* CIL Label */ ;
  }
  return (- (! (! n)));
}
}
static uint32_t clamp32(uintmax_t n )
{
  uintmax_t max ;
  uintmax_t tmp ;

  {
  max = (uintmax_t )0xffffffff;
  if (n < (uintmax_t )max) {
    tmp = n;
  } else {
    tmp = (uintmax_t )max;
  }
  return ((uint32_t )tmp);
}
}
static void *zlib_deflate_raw(void *data , unsigned long size , int compression_level ,
                              unsigned long *compressed_size )
{
  git_zstream stream ;
  unsigned long maxsize ;
  void *buffer___5 ;
  int result___0 ;

  {
  git_deflate_init_raw(& stream, compression_level);
  maxsize = git_deflate_bound(& stream, size);
  buffer___5 = xmalloc(maxsize);
  stream.next_in = (unsigned char *)data;
  stream.avail_in = size;
  stream.next_out = (unsigned char *)buffer___5;
  stream.avail_out = maxsize;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    result___0 = git_deflate(& stream, 4);
    if (! (result___0 == 0)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (result___0 != 1) {
    free(buffer___5);
    return ((void *)0);
  }
  git_deflate_end(& stream);
  *compressed_size = stream.total_out;
  return (buffer___5);
}
}
static void write_zip_data_desc(unsigned long size , unsigned long compressed_size ,
                                unsigned long crc )
{
  struct zip64_data_desc trailer ;
  struct zip_data_desc trailer___0 ;

  {
  if (size >= 4294967295UL) {
    goto _L;
  } else
  if (compressed_size >= 4294967295UL) {
    _L: /* CIL Label */
    copy_le32(trailer.magic, 134695760U);
    copy_le32(trailer.crc32, (unsigned int )crc);
    copy_le64(trailer.compressed_size, compressed_size);
    copy_le64(trailer.size, size);
    write_or_die(1, (void const   *)(& trailer), (unsigned long )(& ((struct zip64_data_desc *)0)->_end));
    zip_offset += (unsigned long )(& ((struct zip64_data_desc *)0)->_end);
  } else {
    copy_le32(trailer___0.magic, 134695760U);
    copy_le32(trailer___0.crc32, (unsigned int )crc);
    copy_le32(trailer___0.compressed_size, (unsigned int )compressed_size);
    copy_le32(trailer___0.size, (unsigned int )size);
    write_or_die(1, (void const   *)(& trailer___0), (unsigned long )(& ((struct zip_data_desc *)0)->_end));
    zip_offset += (unsigned long )(& ((struct zip_data_desc *)0)->_end);
  }
  return;
}
}
static void set_zip_header_data_desc(struct zip_local_header *header___0 , unsigned long size ,
                                     unsigned long compressed_size , unsigned long crc )
{


  {
  copy_le32(header___0->crc32, (unsigned int )crc);
  copy_le32(header___0->compressed_size, (unsigned int )compressed_size);
  copy_le32(header___0->size, (unsigned int )size);
  return;
}
}
static int has_only_ascii(char const   *s___1 )
{
  int c___0 ;
  char const   *tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = s___1;
    s___1 ++;
    c___0 = (int )*tmp;
    if (c___0 == 0) {
      return (1);
    }
    if (! ((c___0 & -128) == 0)) {
      return (0);
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int entry_is_binary(struct index_state *istate , char const   *path___6 , void const   *buffer___5 ,
                           size_t size )
{
  struct userdiff_driver *driver ;
  struct userdiff_driver *tmp ;
  int tmp___0 ;

  {
  tmp = userdiff_find_by_path(istate, path___6);
  driver = tmp;
  if (! driver) {
    driver = userdiff_find_by_name((char const   *)"default");
  }
  if (driver->binary != -1) {
    return (driver->binary);
  }
  tmp___0 = buffer_is_binary((char const   *)buffer___5, size);
  return (tmp___0);
}
}
static int write_zip_entry(struct archiver_args *args___0 , struct object_id  const  *oid ,
                           char const   *path___6 , size_t pathlen , unsigned int mode___1 ,
                           void *buffer___5 , unsigned long size )
{
  struct zip_local_header header___0 ;
  uintmax_t offset___2 ;
  struct zip_extra_mtime extra___2 ;
  struct zip64_extra extra64 ;
  size_t header_extra_size ;
  int need_zip64_extra ;
  unsigned long attr2 ;
  unsigned long compressed_size ;
  unsigned long crc ;
  enum zip_method method ;
  unsigned char *out ;
  void *deflated ;
  struct git_istream *stream ;
  unsigned long flags___0 ;
  int is_binary ;
  char const   *path_without_prefix ;
  unsigned int creator_version ;
  unsigned int version_needed ;
  size_t zip_dir_extra_size ;
  size_t zip64_dir_extra_payload_size ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  unsigned int tmp___5 ;
  enum object_type type___0 ;
  char *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  unsigned char buf___19[16384] ;
  ssize_t readlen ;
  unsigned char buf___20[16384] ;
  ssize_t readlen___0 ;
  git_zstream zstream ;
  int result___0 ;
  size_t out_len ;
  unsigned char compressed[32768] ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  uint32_t tmp___13 ;
  uint32_t tmp___14 ;
  uint32_t tmp___15 ;

  {
  offset___2 = zip_offset;
  header_extra_size = (unsigned long )(& ((struct zip_extra_mtime *)0)->_end);
  need_zip64_extra = 0;
  deflated = (void *)0;
  stream = (struct git_istream *)((void *)0);
  flags___0 = 0UL;
  is_binary = -1;
  path_without_prefix = path___6 + args___0->baselen;
  creator_version = 0U;
  version_needed = 10U;
  zip_dir_extra_size = (unsigned long )(& ((struct zip_extra_mtime *)0)->_end);
  zip64_dir_extra_payload_size = (size_t )0;
  crc = crc32((uLong )0, (Bytef const   *)((void *)0), (uInt )0);
  tmp___1 = has_only_ascii(path___6);
  if (! tmp___1) {
    tmp___0 = is_utf8(path___6);
    if (tmp___0) {
      flags___0 |= (unsigned long )(1 << 11);
    } else {
      tmp = _((char const   *)"path is not valid UTF-8: %s");
      warning((char const   *)tmp, path___6);
    }
  }
  if (pathlen > 65535UL) {
    tmp___2 = oid_to_hex(oid);
    tmp___3 = _((char const   *)"path too long (%d chars, SHA1: %s): %s");
    error((char const   *)tmp___3, (int )pathlen, tmp___2, path___6);
    tmp___4 = const_error();
    return (tmp___4);
  }
  if ((mode___1 & 61440U) == 16384U) {
    method = (enum zip_method )0;
    attr2 = 16UL;
    out = (unsigned char *)((void *)0);
    compressed_size = 0UL;
  } else
  if ((mode___1 & 61440U) == 57344U) {
    method = (enum zip_method )0;
    attr2 = 16UL;
    out = (unsigned char *)((void *)0);
    compressed_size = 0UL;
  } else
  if ((mode___1 & 61440U) == 32768U) {
    goto _L;
  } else
  if ((mode___1 & 61440U) == 40960U) {
    _L: /* CIL Label */
    method = (enum zip_method )0;
    if ((mode___1 & 61440U) == 40960U) {
      attr2 = (unsigned long )((mode___1 | 511U) << 16);
    } else {
      if (mode___1 & 73U) {
        tmp___5 = mode___1 << 16;
      } else {
        tmp___5 = 0U;
      }
      attr2 = (unsigned long )tmp___5;
    }
    if ((mode___1 & 61440U) == 40960U) {
      creator_version = 791U;
    } else
    if (mode___1 & 73U) {
      creator_version = 791U;
    }
    if ((mode___1 & 61440U) == 32768U) {
      if (args___0->compression_level != 0) {
        if (size > 0UL) {
          method = (enum zip_method )8;
        }
      }
    }
    if (! buffer___5) {
      stream = open_istream(args___0->repo, oid, & type___0, & size, (struct stream_filter *)((void *)0));
      if (! stream) {
        tmp___6 = oid_to_hex(oid);
        tmp___7 = _((char const   *)"cannot stream blob %s");
        error((char const   *)tmp___7, tmp___6);
        tmp___8 = const_error();
        return (tmp___8);
      }
      flags___0 |= (unsigned long )(1 << 3);
      out = (unsigned char *)((void *)0);
    } else {
      crc = crc32(crc, (Bytef const   *)buffer___5, (uInt )size);
      is_binary = entry_is_binary((args___0->repo)->index, path_without_prefix, (void const   *)buffer___5,
                                  size);
      out = (unsigned char *)buffer___5;
    }
    if ((unsigned int )method == 0U) {
      compressed_size = size;
    } else {
      compressed_size = 0UL;
    }
  } else {
    tmp___9 = oid_to_hex(oid);
    tmp___10 = _((char const   *)"unsupported file mode: 0%o (SHA1: %s)");
    error((char const   *)tmp___10, mode___1, tmp___9);
    tmp___11 = const_error();
    return (tmp___11);
  }
  if (creator_version > max_creator_version) {
    max_creator_version = creator_version;
  }
  if (buffer___5) {
    if ((unsigned int )method == 8U) {
      deflated = zlib_deflate_raw(buffer___5, size, args___0->compression_level, & compressed_size);
      out = (unsigned char *)deflated;
      if (! out) {
        out = (unsigned char *)buffer___5;
        method = (enum zip_method )0;
        compressed_size = size;
      } else
      if (compressed_size >= size) {
        out = (unsigned char *)buffer___5;
        method = (enum zip_method )0;
        compressed_size = size;
      }
    }
  }
  copy_le16(extra___2.magic, 21589U);
  copy_le16(extra___2.extra_size, (unsigned int )((unsigned long )(& ((struct zip_extra_mtime *)0)->_end) - (unsigned long )(& ((struct zip_extra_mtime *)0)->flags)));
  extra___2.flags[0] = (unsigned char)1;
  copy_le32(extra___2.mtime, (unsigned int )args___0->time);
  if (size > 4294967295UL) {
    need_zip64_extra = 1;
  } else
  if (compressed_size > 4294967295UL) {
    need_zip64_extra = 1;
  }
  if (stream) {
    if (size > 2147483647UL) {
      need_zip64_extra = 1;
    }
  }
  if (need_zip64_extra) {
    version_needed = 45U;
  }
  copy_le32(header___0.magic, 67324752U);
  copy_le16(header___0.version, version_needed);
  copy_le16(header___0.flags, (unsigned int )flags___0);
  copy_le16(header___0.compression_method, (unsigned int )method);
  copy_le16(header___0.mtime, (unsigned int )zip_time);
  copy_le16(header___0.mdate, (unsigned int )zip_date);
  if (need_zip64_extra) {
    set_zip_header_data_desc(& header___0, 4294967295UL, 4294967295UL, crc);
    header_extra_size += (unsigned long )(& ((struct zip64_extra *)0)->_end);
  } else {
    set_zip_header_data_desc(& header___0, size, compressed_size, crc);
  }
  copy_le16(header___0.filename_length, (unsigned int )pathlen);
  copy_le16(header___0.extra_length, (unsigned int )header_extra_size);
  write_or_die(1, (void const   *)(& header___0), (unsigned long )(& ((struct zip_local_header *)0)->_end));
  zip_offset += (unsigned long )(& ((struct zip_local_header *)0)->_end);
  write_or_die(1, (void const   *)path___6, pathlen);
  zip_offset += pathlen;
  write_or_die(1, (void const   *)(& extra___2), (unsigned long )(& ((struct zip_extra_mtime *)0)->_end));
  zip_offset += (unsigned long )(& ((struct zip_extra_mtime *)0)->_end);
  if (need_zip64_extra) {
    copy_le16(extra64.magic, 1U);
    copy_le16(extra64.extra_size, (unsigned int )((unsigned long )(& ((struct zip64_extra *)0)->_end) - (unsigned long )(& ((struct zip64_extra *)0)->size)));
    copy_le64(extra64.size, size);
    copy_le64(extra64.compressed_size, compressed_size);
    write_or_die(1, (void const   *)(& extra64), (unsigned long )(& ((struct zip64_extra *)0)->_end));
    zip_offset += (unsigned long )(& ((struct zip64_extra *)0)->_end);
  }
  if (stream) {
    if ((unsigned int )method == 0U) {
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        readlen = read_istream(stream, (void *)(buf___19), sizeof(buf___19));
        if (readlen <= 0L) {
          goto while_break;
        }
        crc = crc32(crc, (Bytef const   *)(buf___19), (uInt )readlen);
        if (is_binary == -1) {
          is_binary = entry_is_binary((args___0->repo)->index, path_without_prefix,
                                      (void const   *)(buf___19), (size_t )readlen);
        }
        write_or_die(1, (void const   *)(buf___19), (size_t )readlen);
      }
      while_break: /* CIL Label */ ;
      }
      close_istream(stream);
      if (readlen) {
        return ((int )readlen);
      }
      compressed_size = size;
      zip_offset += compressed_size;
      write_zip_data_desc(size, compressed_size, crc);
    } else {
      goto _L___1;
    }
  } else
  _L___1: /* CIL Label */
  if (stream) {
    if ((unsigned int )method == 8U) {
      git_deflate_init_raw(& zstream, args___0->compression_level);
      compressed_size = 0UL;
      zstream.next_out = compressed;
      zstream.avail_out = sizeof(compressed);
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        readlen___0 = read_istream(stream, (void *)(buf___20), sizeof(buf___20));
        if (readlen___0 <= 0L) {
          goto while_break___0;
        }
        crc = crc32(crc, (Bytef const   *)(buf___20), (uInt )readlen___0);
        if (is_binary == -1) {
          is_binary = entry_is_binary((args___0->repo)->index, path_without_prefix,
                                      (void const   *)(buf___20), (size_t )readlen___0);
        }
        zstream.next_in = buf___20;
        zstream.avail_in = (unsigned long )readlen___0;
        result___0 = git_deflate(& zstream, 0);
        if (result___0 != 0) {
          tmp___12 = _((char const   *)"deflate error (%d)");
          die((char const   *)tmp___12, result___0);
        }
        out_len = (size_t )(zstream.next_out - compressed);
        if (out_len > 0UL) {
          write_or_die(1, (void const   *)(compressed), out_len);
          compressed_size += out_len;
          zstream.next_out = compressed;
          zstream.avail_out = sizeof(compressed);
        }
      }
      while_break___0: /* CIL Label */ ;
      }
      close_istream(stream);
      if (readlen___0) {
        return ((int )readlen___0);
      }
      zstream.next_in = buf___20;
      zstream.avail_in = 0UL;
      result___0 = git_deflate(& zstream, 4);
      if (result___0 != 1) {
        die((char const   *)"deflate error (%d)", result___0);
      }
      git_deflate_end(& zstream);
      out_len = (size_t )(zstream.next_out - compressed);
      write_or_die(1, (void const   *)(compressed), out_len);
      compressed_size += out_len;
      zip_offset += compressed_size;
      write_zip_data_desc(size, compressed_size, crc);
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  if (compressed_size > 0UL) {
    write_or_die(1, (void const   *)out, compressed_size);
    zip_offset += compressed_size;
  }
  free(deflated);
  if (compressed_size > 4294967295UL) {
    goto _L___2;
  } else
  if (size > 4294967295UL) {
    goto _L___2;
  } else
  if (offset___2 > 4294967295UL) {
    _L___2: /* CIL Label */
    if (compressed_size >= 4294967295UL) {
      zip64_dir_extra_payload_size += 8UL;
    }
    if (size >= 4294967295UL) {
      zip64_dir_extra_payload_size += 8UL;
    }
    if (offset___2 >= 4294967295UL) {
      zip64_dir_extra_payload_size += 8UL;
    }
    zip_dir_extra_size += 4UL + zip64_dir_extra_payload_size;
  }
  strbuf_add_le(& zip_dir, (size_t )4, (uintmax_t )0x02014b50);
  strbuf_add_le(& zip_dir, (size_t )2, (uintmax_t )creator_version);
  strbuf_add_le(& zip_dir, (size_t )2, (uintmax_t )version_needed);
  strbuf_add_le(& zip_dir, (size_t )2, flags___0);
  strbuf_add_le(& zip_dir, (size_t )2, (uintmax_t )method);
  strbuf_add_le(& zip_dir, (size_t )2, (uintmax_t )zip_time);
  strbuf_add_le(& zip_dir, (size_t )2, (uintmax_t )zip_date);
  strbuf_add_le(& zip_dir, (size_t )4, crc);
  tmp___13 = clamp32(compressed_size);
  strbuf_add_le(& zip_dir, (size_t )4, (uintmax_t )tmp___13);
  tmp___14 = clamp32(size);
  strbuf_add_le(& zip_dir, (size_t )4, (uintmax_t )tmp___14);
  strbuf_add_le(& zip_dir, (size_t )2, pathlen);
  strbuf_add_le(& zip_dir, (size_t )2, zip_dir_extra_size);
  strbuf_add_le(& zip_dir, (size_t )2, (uintmax_t )0);
  strbuf_add_le(& zip_dir, (size_t )2, (uintmax_t )0);
  strbuf_add_le(& zip_dir, (size_t )2, (uintmax_t )(! is_binary));
  strbuf_add_le(& zip_dir, (size_t )4, attr2);
  tmp___15 = clamp32(offset___2);
  strbuf_add_le(& zip_dir, (size_t )4, (uintmax_t )tmp___15);
  strbuf_add(& zip_dir, (void const   *)path___6, pathlen);
  strbuf_add(& zip_dir, (void const   *)(& extra___2), (unsigned long )(& ((struct zip_extra_mtime *)0)->_end));
  if (zip64_dir_extra_payload_size) {
    strbuf_add_le(& zip_dir, (size_t )2, (uintmax_t )0x0001);
    strbuf_add_le(& zip_dir, (size_t )2, zip64_dir_extra_payload_size);
    if (size >= 4294967295UL) {
      strbuf_add_le(& zip_dir, (size_t )8, size);
    }
    if (compressed_size >= 4294967295UL) {
      strbuf_add_le(& zip_dir, (size_t )8, compressed_size);
    }
    if (offset___2 >= 4294967295UL) {
      strbuf_add_le(& zip_dir, (size_t )8, offset___2);
    }
  }
  zip_dir_entries ++;
  return (0);
}
}
static void write_zip64_trailer(void)
{
  struct zip64_dir_trailer trailer64 ;
  struct zip64_dir_trailer_locator locator64 ;

  {
  copy_le32(trailer64.magic, 101075792U);
  copy_le64(trailer64.record_size, (unsigned long )(& ((struct zip64_dir_trailer *)0)->_end) - (unsigned long )(& ((struct zip64_dir_trailer *)0)->creator_version));
  copy_le16(trailer64.creator_version, max_creator_version);
  copy_le16(trailer64.version, 45U);
  copy_le32(trailer64.disk, 0U);
  copy_le32(trailer64.directory_start_disk, 0U);
  copy_le64(trailer64.entries_on_this_disk, zip_dir_entries);
  copy_le64(trailer64.entries, zip_dir_entries);
  copy_le64(trailer64.size, zip_dir.len);
  copy_le64(trailer64.offset, zip_offset);
  copy_le32(locator64.magic, 117853008U);
  copy_le32(locator64.disk, 0U);
  copy_le64(locator64.offset, zip_offset + zip_dir.len);
  copy_le32(locator64.number_of_disks, 1U);
  write_or_die(1, (void const   *)(& trailer64), (unsigned long )(& ((struct zip64_dir_trailer *)0)->_end));
  write_or_die(1, (void const   *)(& locator64), (unsigned long )(& ((struct zip64_dir_trailer_locator *)0)->_end));
  return;
}
}
static void write_zip_trailer(struct object_id  const  *oid )
{
  struct zip_dir_trailer trailer ;
  int clamped ;
  size_t tmp ;
  char *tmp___0 ;

  {
  clamped = 0;
  copy_le32(trailer.magic, 101010256U);
  copy_le16(trailer.disk, 0U);
  copy_le16(trailer.directory_start_disk, 0U);
  copy_le16_clamp(trailer.entries_on_this_disk, zip_dir_entries, & clamped);
  copy_le16_clamp(trailer.entries, zip_dir_entries, & clamped);
  copy_le32(trailer.size, (unsigned int )zip_dir.len);
  copy_le32_clamp(trailer.offset, zip_offset, & clamped);
  if (oid) {
    tmp = (the_repository->hash_algo)->hexsz;
  } else {
    tmp = (size_t )0;
  }
  copy_le16(trailer.comment_length, (unsigned int )tmp);
  write_or_die(1, (void const   *)zip_dir.buf, zip_dir.len);
  if (clamped) {
    write_zip64_trailer();
  }
  write_or_die(1, (void const   *)(& trailer), (unsigned long )(& ((struct zip_dir_trailer *)0)->_end));
  if (oid) {
    tmp___0 = oid_to_hex(oid);
    write_or_die(1, (void const   *)tmp___0, (size_t )(the_repository->hash_algo)->hexsz);
  }
  return;
}
}
static void dos_time(timestamp_t *timestamp___0 , int *dos_date , int *dos_time___0 )
{
  time_t time___0 ;
  struct tm tm ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  tmp___0 = date_overflows(*timestamp___0);
  if (tmp___0) {
    tmp = _((char const   *)"timestamp too large for this system: %lu");
    die((char const   *)tmp, *timestamp___0);
  }
  time___0 = (time_t )*timestamp___0;
  localtime_r((time_t const   * __restrict  )(& time___0), (struct tm * __restrict  )(& tm));
  *timestamp___0 = (timestamp_t )time___0;
  *dos_date = (tm.tm_mday + (tm.tm_mon + 1) * 32) + ((tm.tm_year + 1900) - 1980) * 512;
  *dos_time___0 = (tm.tm_sec / 2 + tm.tm_min * 32) + tm.tm_hour * 2048;
  return;
}
}
static int archive_zip_config(char const   *var , char const   *value , void *data )
{
  int tmp ;

  {
  tmp = userdiff_config(var, value);
  return (tmp);
}
}
static int write_zip_archive(struct archiver  const  *ar , struct archiver_args *args___0 )
{
  int err___4 ;

  {
  git_config(& archive_zip_config, (void *)0);
  dos_time(& args___0->time, & zip_date, & zip_time);
  strbuf_init(& zip_dir, (size_t )0);
  err___4 = write_archive_entries(args___0, & write_zip_entry);
  if (! err___4) {
    write_zip_trailer(args___0->commit_oid);
  }
  strbuf_release(& zip_dir);
  return (err___4);
}
}
static struct archiver zip_archiver  =    {(char const   *)"zip", & write_zip_archive, 3U, (void *)0};
void init_zip_archiver(void)
{


  {
  register_archiver(& zip_archiver);
  return;
}
}
static double const   __ac_HASH_UPPER___7  =    (double const   )0.77;
__inline static void kh_resize_oid_set___7(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___7(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___7 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___7 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___7(kh_oid_set_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___7(kh_oid_set_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___7(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___7(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___7(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___7(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___7 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___7 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___7(kh_oid_map_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___7(kh_oid_map_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___7(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___7(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___7(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___7(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___7 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___7 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___7(kh_oid_pos_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___7(kh_oid_pos_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___7(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___7(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___4(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___4(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___7 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___7 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___4(kh_odb_path_map_t *h , char const   *key___1 ,
                                                int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___4(kh_odb_path_map_t *h , char const   *key___1 ,
                                                int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___4(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___4(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
void setup_unpack_trees_porcelain(struct unpack_trees_options *opts___1 , char const   *cmd ) ;
void clear_unpack_trees_porcelain(struct unpack_trees_options *opts___1 ) ;
int unpack_trees(unsigned int len___0 , struct tree_desc *t , struct unpack_trees_options *o ) ;
enum update_sparsity_result update_sparsity(struct unpack_trees_options *o ) ;
int verify_uptodate(struct cache_entry  const  *ce , struct unpack_trees_options *o ) ;
int threeway_merge(struct cache_entry  const  **stages , struct unpack_trees_options *o ) ;
int twoway_merge(struct cache_entry  const  **src , struct unpack_trees_options *o ) ;
int bind_merge(struct cache_entry  const  **src , struct unpack_trees_options *o ) ;
int oneway_merge(struct cache_entry  const  **src , struct unpack_trees_options *o ) ;
int stash_worktree_untracked_merge(struct cache_entry  const  **src , struct unpack_trees_options *o ) ;
static char const   *archive_usage[5]  = {      (char const   *)"git archive [<options>] <tree-ish> [<path>...]",      (char const   *)"git archive --list",      (char const   *)"git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]",      (char const   *)"git archive --remote <repo> [--exec <cmd>] --list",
        (char const   *)((void *)0)};
static struct archiver  const  **archivers  ;
static int nr_archivers  ;
static int alloc_archivers  ;
static int remote_allow_unreachable  ;
void register_archiver(struct archiver *ar )
{
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (nr_archivers + 1 > alloc_archivers) {
      if (((alloc_archivers + 16) * 3) / 2 < nr_archivers + 1) {
        alloc_archivers = nr_archivers + 1;
      } else {
        alloc_archivers = ((alloc_archivers + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*archivers), (size_t )alloc_archivers);
      tmp___0 = xrealloc((void *)archivers, tmp);
      archivers = (struct archiver  const  **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = nr_archivers;
  nr_archivers ++;
  *(archivers + tmp___1) = (struct archiver  const  *)ar;
  return;
}
}
void init_archivers(void)
{


  {
  init_tar_archiver();
  init_zip_archiver();
  return;
}
}
static void format_subst(struct commit  const  *commit , char const   *src , size_t len___0 ,
                         struct strbuf *buf___19 , struct pretty_print_context *ctx___0 )
{
  char *to_free ;
  struct strbuf fmt ;
  char const   *b___0 ;
  char const   *c___0 ;
  void *tmp ;
  void *tmp___0 ;

  {
  to_free = (char *)((void *)0);
  fmt.alloc = 0UL;
  fmt.len = 0UL;
  fmt.buf = strbuf_slopbuf;
  if ((unsigned long )src == (unsigned long )buf___19->buf) {
    to_free = strbuf_detach(buf___19, (size_t *)((void *)0));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = memmem((void const   *)src, len___0, (void const   *)"$Format:", (size_t )8);
    b___0 = (char const   *)tmp;
    if (! b___0) {
      goto while_break;
    }
    tmp___0 = memchr((void const   *)(b___0 + 8), '$', (size_t )(((src + len___0) - b___0) - 8L));
    c___0 = (char const   *)tmp___0;
    if (! c___0) {
      goto while_break;
    }
    strbuf_setlen(& fmt, (size_t )0);
    strbuf_add(& fmt, (void const   *)(b___0 + 8), (size_t )((c___0 - b___0) - 8L));
    strbuf_add(buf___19, (void const   *)src, (size_t )(b___0 - src));
    repo_format_commit_message(the_repository, commit, (char const   *)fmt.buf, buf___19,
                               (struct pretty_print_context  const  *)ctx___0);
    len___0 -= (size_t )((c___0 + 1) - src);
    src = c___0 + 1;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_add(buf___19, (void const   *)src, len___0);
  strbuf_release(& fmt);
  free((void *)to_free);
  return;
}
}
static void *object_file_to_archive(struct archiver_args  const  *args___0 , char const   *path___6 ,
                                    struct object_id  const  *oid , unsigned int mode___1 ,
                                    enum object_type *type___0 , unsigned long *sizep )
{
  void *buffer___5 ;
  struct commit  const  *commit ;
  struct commit  const  *tmp ;
  struct checkout_metadata meta ;
  struct object_id *tmp___0 ;
  struct object_id  const  *tmp___1 ;
  struct strbuf buf___19 ;
  size_t size ;
  char *tmp___2 ;

  {
  if (args___0->convert) {
    tmp = args___0->commit;
  } else {
    tmp = (struct commit  const  *)((void *)0);
  }
  commit = (struct commit  const  *)tmp;
  if (args___0->commit_oid) {
    tmp___1 = (struct object_id  const  *)args___0->commit_oid;
  } else {
    if (args___0->tree) {
      tmp___0 = & (args___0->tree)->object.oid;
    } else {
      tmp___0 = (struct object_id *)((void *)0);
    }
    tmp___1 = (struct object_id  const  *)tmp___0;
  }
  init_checkout_metadata(& meta, (char const   *)args___0->refname, tmp___1, oid);
  path___6 += args___0->baselen;
  buffer___5 = repo_read_object_file(the_repository, oid, type___0, sizep);
  if (buffer___5) {
    if ((mode___1 & 61440U) == 32768U) {
      buf___19.alloc = 0UL;
      buf___19.len = 0UL;
      buf___19.buf = strbuf_slopbuf;
      size = (size_t )0;
      strbuf_attach(& buf___19, buffer___5, *sizep, *sizep + 1UL);
      convert_to_working_tree((args___0->repo)->index, path___6, (char const   *)buf___19.buf,
                              buf___19.len, & buf___19, (struct checkout_metadata  const  *)(& meta));
      if (commit) {
        format_subst(commit, (char const   *)buf___19.buf, buf___19.len, & buf___19,
                     (struct pretty_print_context *)args___0->pretty_ctx);
      }
      tmp___2 = strbuf_detach(& buf___19, & size);
      buffer___5 = (void *)tmp___2;
      *sizep = size;
    }
  }
  return (buffer___5);
}
}
static struct attr_check *check  ;
static struct attr_check  const  *get_archive_attrs(struct index_state *istate , char const   *path___6 )
{


  {
  if (! check) {
    check = attr_check_initl((char const   *)"export-ignore", "export-subst", (void *)0);
  }
  git_check_attr(istate, path___6, check);
  return ((struct attr_check  const  *)check);
}
}
static int check_attr_export_ignore(struct attr_check  const  *check___4 )
{
  int tmp ;

  {
  if (check___4) {
    if ((unsigned long )(check___4->items + 0)->value == (unsigned long )(git_attr__true)) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static int check_attr_export_subst(struct attr_check  const  *check___4 )
{
  int tmp ;

  {
  if (check___4) {
    if ((unsigned long )(check___4->items + 1)->value == (unsigned long )(git_attr__true)) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static int write_archive_entry(struct object_id  const  *oid , char const   *base ,
                               int baselen , char const   *filename___0 , unsigned int mode___1 ,
                               void *context___0 ) ;
static struct strbuf path  =    {0UL, 0UL, strbuf_slopbuf};
static int write_archive_entry(struct object_id  const  *oid , char const   *base ,
                               int baselen , char const   *filename___0 , unsigned int mode___1 ,
                               void *context___0 )
{
  struct archiver_context *c___0 ;
  struct archiver_args *args___0 ;
  int (*write_entry___0)(struct archiver_args *args , struct object_id  const  *oid ,
                         char const   *path , size_t pathlen , unsigned int mode ,
                         void *buffer , unsigned long size ) ;
  int err___4 ;
  char const   *path_without_prefix ;
  unsigned long size ;
  void *buffer___5 ;
  enum object_type type___0 ;
  struct attr_check  const  *check___4 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;

  {
  c___0 = (struct archiver_context *)context___0;
  args___0 = c___0->args;
  write_entry___0 = c___0->write_entry;
  args___0->convert = 0U;
  strbuf_setlen(& path, (size_t )0);
  strbuf_grow(& path, (size_t )4096);
  strbuf_add(& path, (void const   *)args___0->base, args___0->baselen);
  strbuf_add(& path, (void const   *)base, (size_t )baselen);
  strbuf_addstr(& path, filename___0);
  if ((mode___1 & 61440U) == 16384U) {
    strbuf_addch(& path, '/');
  } else
  if ((mode___1 & 61440U) == 57344U) {
    strbuf_addch(& path, '/');
  }
  path_without_prefix = (char const   *)(path.buf + args___0->baselen);
  if (! ((mode___1 & 61440U) == 16384U)) {
    check___4 = get_archive_attrs((args___0->repo)->index, path_without_prefix);
    tmp = check_attr_export_ignore(check___4);
    if (tmp) {
      return (0);
    }
    tmp___0 = check_attr_export_subst(check___4);
    args___0->convert = (unsigned int )tmp___0;
  }
  if ((mode___1 & 61440U) == 16384U) {
    goto _L;
  } else
  if ((mode___1 & 61440U) == 57344U) {
    _L: /* CIL Label */
    if (args___0->verbose) {
      fprintf(stderr, (char const   *)"%.*s\n", (int )path.len, path.buf);
    }
    err___4 = (*write_entry___0)(args___0, oid, (char const   *)path.buf, path.len,
                                 mode___1, (void *)0, 0UL);
    if (err___4) {
      return (err___4);
    }
    if ((mode___1 & 61440U) == 16384U) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
    return (tmp___1);
  }
  if (args___0->verbose) {
    fprintf(stderr, (char const   *)"%.*s\n", (int )path.len, path.buf);
  }
  if ((mode___1 & 61440U) == 32768U) {
    if (! args___0->convert) {
      tmp___3 = oid_object_info(args___0->repo, oid, & size);
      if (tmp___3 == 3) {
        if (size > big_file_threshold) {
          tmp___2 = (*write_entry___0)(args___0, oid, (char const   *)path.buf, path.len,
                                       mode___1, (void *)0, size);
          return (tmp___2);
        }
      }
    }
  }
  buffer___5 = object_file_to_archive((struct archiver_args  const  *)args___0, (char const   *)path.buf,
                                      oid, mode___1, & type___0, & size);
  if (! buffer___5) {
    tmp___4 = oid_to_hex(oid);
    tmp___5 = _((char const   *)"cannot read \'%s\'");
    error((char const   *)tmp___5, tmp___4);
    tmp___6 = const_error();
    return (tmp___6);
  }
  err___4 = (*write_entry___0)(args___0, oid, (char const   *)path.buf, path.len,
                               mode___1, buffer___5, size);
  free(buffer___5);
  return (err___4);
}
}
static void queue_directory(struct object_id  const  *oid , struct strbuf *base ,
                            char const   *filename___0 , unsigned int mode___1 , struct archiver_context *c___0 )
{
  struct directory *d ;
  size_t len___0 ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;

  {
  tmp = strlen(filename___0);
  tmp___0 = st_add(base->len, (size_t )1);
  tmp___1 = st_add(tmp___0, tmp);
  tmp___2 = st_add(tmp___1, (size_t )1);
  len___0 = tmp___2;
  tmp___3 = st_add(sizeof(*d), len___0);
  tmp___4 = xmalloc(tmp___3);
  d = (struct directory *)tmp___4;
  d->up = c___0->bottom;
  d->baselen = (int )base->len;
  d->mode = mode___1;
  c___0->bottom = d;
  d->len = xsnprintf(d->path, len___0, (char const   *)"%.*s%s/", (int )base->len,
                     base->buf, filename___0);
  oidcpy(& d->oid, oid);
  return;
}
}
static int write_directory(struct archiver_context *c___0 )
{
  struct directory *d ;
  int ret___67 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  d = c___0->bottom;
  if (! d) {
    return (0);
  }
  c___0->bottom = d->up;
  d->path[d->len - 1] = (char )'\000';
  tmp = write_directory(c___0);
  if (tmp) {
    tmp___1 = 1;
  } else {
    tmp___0 = write_archive_entry((struct object_id  const  *)(& d->oid), (char const   *)(d->path),
                                  d->baselen, (char const   *)(d->path + d->baselen),
                                  d->mode, (void *)c___0);
    if (tmp___0 != 1) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  }
  ret___67 = tmp___1;
  free((void *)d);
  if (ret___67) {
    tmp___2 = -1;
  } else {
    tmp___2 = 0;
  }
  return (tmp___2);
}
}
static int queue_or_write_archive_entry(struct object_id  const  *oid , struct strbuf *base ,
                                        char const   *filename___0 , unsigned int mode___1 ,
                                        void *context___0 )
{
  struct archiver_context *c___0 ;
  struct directory *next___2 ;
  int tmp ;
  size_t baselen ;
  struct attr_check  const  *check___4 ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  c___0 = (struct archiver_context *)context___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (c___0->bottom) {
      if (base->len >= (size_t )(c___0->bottom)->len) {
        tmp = strncmp((char const   *)base->buf, (char const   *)((c___0->bottom)->path),
                      (size_t )(c___0->bottom)->len);
        if (! tmp) {
          goto while_break;
        }
      }
    } else {
      goto while_break;
    }
    next___2 = (c___0->bottom)->up;
    free((void *)c___0->bottom);
    c___0->bottom = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  if ((mode___1 & 61440U) == 16384U) {
    baselen = base->len;
    strbuf_addstr(base, filename___0);
    strbuf_addch(base, '/');
    check___4 = get_archive_attrs(((c___0->args)->repo)->index, (char const   *)base->buf);
    strbuf_setlen(base, baselen);
    tmp___0 = check_attr_export_ignore(check___4);
    if (tmp___0) {
      return (0);
    }
    queue_directory(oid, base, filename___0, mode___1, c___0);
    return (1);
  }
  tmp___1 = write_directory(c___0);
  if (tmp___1) {
    return (-1);
  }
  tmp___2 = write_archive_entry(oid, (char const   *)base->buf, (int )base->len, filename___0,
                                mode___1, context___0);
  return (tmp___2);
}
}
int write_archive_entries(struct archiver_args *args___0 , int (*write_entry___0)(struct archiver_args *args ,
                                                                                  struct object_id  const  *oid ,
                                                                                  char const   *path ,
                                                                                  size_t pathlen ,
                                                                                  unsigned int mode ,
                                                                                  void *buffer ,
                                                                                  unsigned long size ) )
{
  struct archiver_context context___0 ;
  struct unpack_trees_options opts___1 ;
  struct tree_desc t ;
  int err___4 ;
  struct strbuf path_in_archive ;
  struct strbuf content ;
  struct object_id fake_oid ;
  int i ;
  struct object_id  const  *tmp ;
  size_t len___0 ;
  int tmp___0 ;
  struct directory *next___2 ;
  struct string_list_item *item___0 ;
  char *path___6 ;
  struct extra_file_info *info___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  ssize_t tmp___3 ;

  {
  path_in_archive.alloc = 0UL;
  path_in_archive.len = 0UL;
  path_in_archive.buf = strbuf_slopbuf;
  content.alloc = 0UL;
  content.len = 0UL;
  content.buf = strbuf_slopbuf;
  tmp = null_oid();
  oidcpy(& fake_oid, tmp);
  if (args___0->baselen > 0UL) {
    if ((int const   )*(args___0->base + (args___0->baselen - 1UL)) == 47) {
      len___0 = args___0->baselen;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (len___0 > 1UL) {
          if (! ((int const   )*(args___0->base + (len___0 - 2UL)) == 47)) {
            goto while_break;
          }
        } else {
          goto while_break;
        }
        len___0 --;
      }
      while_break: /* CIL Label */ ;
      }
      if (args___0->verbose) {
        fprintf(stderr, (char const   *)"%.*s\n", (int )len___0, args___0->base);
      }
      err___4 = (*write_entry___0)(args___0, (struct object_id  const  *)(& (args___0->tree)->object.oid),
                                   args___0->base, len___0, 16895U, (void *)0, 0UL);
      if (err___4) {
        return (err___4);
      }
    }
  }
  memset((void *)(& context___0), 0, sizeof(context___0));
  context___0.args = args___0;
  context___0.write_entry = write_entry___0;
  if (! args___0->worktree_attributes) {
    memset((void *)(& opts___1), 0, sizeof(opts___1));
    opts___1.index_only = 1U;
    opts___1.head_idx = -1;
    opts___1.src_index = (args___0->repo)->index;
    opts___1.dst_index = (args___0->repo)->index;
    opts___1.fn = & oneway_merge;
    init_tree_desc(& t, (void const   *)(args___0->tree)->buffer, (args___0->tree)->size);
    tmp___0 = unpack_trees(1U, & t, & opts___1);
    if (tmp___0) {
      return (-1);
    }
    git_attr_set_direction((enum git_attr_direction )2);
  }
  err___4 = read_tree(args___0->repo, args___0->tree, (struct pathspec  const  *)(& args___0->pathspec),
                      & queue_or_write_archive_entry, (void *)(& context___0));
  if (err___4 == 1) {
    err___4 = 0;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! context___0.bottom) {
      goto while_break___0;
    }
    next___2 = (context___0.bottom)->up;
    free((void *)context___0.bottom);
    context___0.bottom = next___2;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned int )i < args___0->extra_files.nr)) {
      goto while_break___1;
    }
    item___0 = args___0->extra_files.items + i;
    path___6 = item___0->string;
    info___0 = (struct extra_file_info *)item___0->util;
    put_be64((void *)(fake_oid.hash), (uint64_t )(i + 1));
    strbuf_setlen(& path_in_archive, (size_t )0);
    if (info___0->base) {
      strbuf_addstr(& path_in_archive, (char const   *)info___0->base);
    }
    tmp___1 = __xpg_basename(path___6);
    strbuf_addstr(& path_in_archive, (char const   *)tmp___1);
    strbuf_setlen(& content, (size_t )0);
    tmp___3 = strbuf_read_file(& content, (char const   *)path___6, (size_t )info___0->stat.st_size);
    if (tmp___3 < 0L) {
      tmp___2 = _((char const   *)"cannot read \'%s\'");
      error_errno((char const   *)tmp___2, path___6);
      err___4 = const_error();
    } else {
      err___4 = (*write_entry___0)(args___0, (struct object_id  const  *)(& fake_oid),
                                   (char const   *)path_in_archive.buf, path_in_archive.len,
                                   info___0->stat.st_mode, (void *)content.buf, content.len);
    }
    if (err___4) {
      goto while_break___1;
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  strbuf_release(& path_in_archive);
  strbuf_release(& content);
  return (err___4);
}
}
static struct archiver  const  *lookup_archiver(char const   *name___0 )
{
  int i ;
  int tmp ;

  {
  if (! name___0) {
    return ((struct archiver  const  *)((void *)0));
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_archivers)) {
      goto while_break;
    }
    tmp = strcmp(name___0, (char const   *)(*(archivers + i))->name);
    if (! tmp) {
      return (*(archivers + i));
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct archiver  const  *)((void *)0));
}
}
static int reject_entry(struct object_id  const  *oid , struct strbuf *base , char const   *filename___0 ,
                        unsigned int mode___1 , void *context___0 )
{
  int ret___67 ;
  struct path_exists_context *ctx___0 ;
  struct strbuf sb___6 ;
  int tmp ;

  {
  ret___67 = -1;
  ctx___0 = (struct path_exists_context *)context___0;
  if ((mode___1 & 61440U) == 16384U) {
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    strbuf_addbuf(& sb___6, (struct strbuf  const  *)base);
    strbuf_addstr(& sb___6, filename___0);
    tmp = match_pathspec(((ctx___0->args)->repo)->index, (struct pathspec  const  *)(& ctx___0->pathspec),
                         (char const   *)sb___6.buf, (int )sb___6.len, 0, (char *)((void *)0),
                         1);
    if (! tmp) {
      ret___67 = 1;
    }
    strbuf_release(& sb___6);
  }
  return (ret___67);
}
}
static int path_exists(struct archiver_args *args___0 , char const   *path___6 )
{
  char const   *paths___0[2] ;
  struct path_exists_context ctx___0 ;
  int ret___67 ;

  {
  paths___0[0] = path___6;
  paths___0[1] = (char const   *)((void *)0);
  ctx___0.args = args___0;
  parse_pathspec(& ctx___0.pathspec, 0U, 0U, (char const   *)"", paths___0);
  ctx___0.pathspec.recursive = 1U;
  ret___67 = read_tree(args___0->repo, args___0->tree, (struct pathspec  const  *)(& ctx___0.pathspec),
                       & reject_entry, (void *)(& ctx___0));
  clear_pathspec(& ctx___0.pathspec);
  return (ret___67 != 0);
}
}
static void parse_pathspec_arg(char const   **pathspec___1 , struct archiver_args *ar_args )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  parse_pathspec(& ar_args->pathspec, 0U, (unsigned int )(1 << 1), (char const   *)"",
                 pathspec___1);
  ar_args->pathspec.recursive = 1U;
  if (pathspec___1) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! *pathspec___1) {
        goto while_break;
      }
      if (*(*pathspec___1)) {
        tmp___0 = path_exists(ar_args, *pathspec___1);
        if (! tmp___0) {
          tmp = _((char const   *)"pathspec \'%s\' did not match any files");
          die((char const   *)tmp, *pathspec___1);
        }
      }
      pathspec___1 ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  return;
}
}
static void parse_treeish_arg(char const   **argv___0 , struct archiver_args *ar_args ,
                              char const   *prefix___1 , int remote )
{
  char const   *name___0 ;
  struct object_id  const  *commit_oid ;
  time_t archive_time ;
  struct tree *tree ;
  struct commit  const  *commit ;
  struct object_id oid ;
  char *ref ;
  char const   *colon ;
  char *tmp ;
  int refnamelen ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  struct commit *tmp___5 ;
  char *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  struct object_id tree_oid ;
  unsigned short mode___1 ;
  int err___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;

  {
  name___0 = *(argv___0 + 0);
  ref = (char *)((void *)0);
  if (remote) {
    if (! remote_allow_unreachable) {
      tmp = strchrnul(name___0, ':');
      colon = (char const   *)tmp;
      refnamelen = (int )(colon - name___0);
      tmp___1 = dwim_ref(name___0, refnamelen, & oid, & ref, 0);
      if (! tmp___1) {
        tmp___0 = _((char const   *)"no such ref: %.*s");
        die((char const   *)tmp___0, refnamelen, name___0);
      }
    } else {
      tmp___2 = strlen(name___0);
      dwim_ref(name___0, (int )tmp___2, & oid, & ref, 0);
    }
  } else {
    tmp___2 = strlen(name___0);
    dwim_ref(name___0, (int )tmp___2, & oid, & ref, 0);
  }
  tmp___4 = repo_get_oid(the_repository, name___0, & oid);
  if (tmp___4) {
    tmp___3 = _((char const   *)"not a valid object name: %s");
    die((char const   *)tmp___3, name___0);
  }
  tmp___5 = lookup_commit_reference_gently(ar_args->repo, (struct object_id  const  *)(& oid),
                                           1);
  commit = (struct commit  const  *)tmp___5;
  if (commit) {
    commit_oid = (struct object_id  const  *)(& commit->object.oid);
    archive_time = (time_t )commit->date;
  } else {
    commit_oid = (struct object_id  const  *)((void *)0);
    archive_time = time((time_t *)((void *)0));
  }
  tree = parse_tree_indirect((struct object_id  const  *)(& oid));
  if ((unsigned long )tree == (unsigned long )((void *)0)) {
    tmp___6 = oid_to_hex((struct object_id  const  *)(& oid));
    tmp___7 = _((char const   *)"not a tree object: %s");
    die((char const   *)tmp___7, tmp___6);
  }
  if (prefix___1) {
    err___4 = get_tree_entry(ar_args->repo, (struct object_id  const  *)(& tree->object.oid),
                             prefix___1, & tree_oid, & mode___1);
    if (err___4) {
      tmp___8 = _((char const   *)"current working directory is untracked");
      die((char const   *)tmp___8);
    } else
    if (! (((int )mode___1 & 0170000) == 0040000)) {
      tmp___8 = _((char const   *)"current working directory is untracked");
      die((char const   *)tmp___8);
    }
    tree = parse_tree_indirect((struct object_id  const  *)(& tree_oid));
  }
  ar_args->refname = ref;
  ar_args->tree = tree;
  ar_args->commit_oid = commit_oid;
  ar_args->commit = commit;
  ar_args->time = (timestamp_t )archive_time;
  return;
}
}
static void extra_file_info_clear(void *util , char const   *str )
{
  struct extra_file_info *info___0 ;

  {
  info___0 = (struct extra_file_info *)util;
  free((void *)info___0->base);
  free((void *)info___0);
  return;
}
}
static int add_file_cb(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct archiver_args *args___0 ;
  char const   **basep ;
  char const   *base ;
  char *path___6 ;
  struct string_list_item *item___0 ;
  struct extra_file_info *info___0 ;
  void *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  args___0 = (struct archiver_args *)opt___0->value;
  basep = (char const   **)opt___0->defval;
  base = *basep;
  if (unset) {
    string_list_clear_func(& args___0->extra_files, & extra_file_info_clear);
    return (0);
  }
  if (! arg) {
    return (-1);
  }
  path___6 = prefix_filename(args___0->prefix, arg);
  item___0 = string_list_append_nodup(& args___0->extra_files, path___6);
  tmp = xmalloc(sizeof(*info___0));
  info___0 = (struct extra_file_info *)tmp;
  item___0->util = (void *)info___0;
  info___0->base = xstrdup_or_null(base);
  tmp___1 = stat((char const   *)path___6, & info___0->stat);
  if (tmp___1) {
    tmp___0 = _((char const   *)"File not found: %s");
    die((char const   *)tmp___0, path___6);
  }
  if (! ((info___0->stat.st_mode & 61440U) == 32768U)) {
    tmp___2 = _((char const   *)"Not a regular file: %s");
    die((char const   *)tmp___2, path___6);
  }
  return (0);
}
}
static int number_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{
  long tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"archive.c", 530, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = strtol((char const   * __restrict  )arg, (char ** __restrict  )((void *)0),
               10);
  *((int *)opt___0->value) = (int )tmp;
  return (0);
}
}
static int parse_archive_args(int argc , char const   **argv___0 , struct archiver  const  **ar ,
                              struct archiver_args *args___0 , char const   *name_hint ,
                              int is_remote )
{
  char const   *format___0 ;
  char const   *base ;
  char const   *remote ;
  char const   *exec ;
  char const   *output___4 ;
  int compression_level ;
  int verbose___15 ;
  int i ;
  int list___3 ;
  int worktree_attributes ;
  struct option opts___1[14] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int levels_ok ;
  int high_ok ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  format___0 = (char const   *)((void *)0);
  base = (char const   *)((void *)0);
  remote = (char const   *)((void *)0);
  exec = (char const   *)((void *)0);
  output___4 = (char const   *)((void *)0);
  compression_level = -1;
  verbose___15 = 0;
  list___3 = 0;
  worktree_attributes = 0;
  opts___1[0].type = (enum parse_opt_type )1;
  opts___1[0].short_name = 0;
  opts___1[0].long_name = (char const   *)((void *)0);
  opts___1[0].value = (void *)0;
  opts___1[0].argh = (char const   *)((void *)0);
  opts___1[0].help = (char const   *)"";
  opts___1[0].flags = 0U;
  opts___1[0].callback = (parse_opt_cb *)0;
  opts___1[0].defval = 0L;
  opts___1[0].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[0].extra = 0L;
  opts___1[1].type = (enum parse_opt_type )9;
  opts___1[1].short_name = 0;
  opts___1[1].long_name = (char const   *)"format";
  opts___1[1].value = (void *)(& format___0);
  opts___1[1].argh = (char const   *)"fmt";
  opts___1[1].help = (char const   *)"archive format";
  opts___1[1].flags = (enum parse_opt_option_flags )0;
  opts___1[1].callback = (parse_opt_cb *)0;
  opts___1[1].defval = 0L;
  opts___1[1].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[1].extra = 0L;
  opts___1[2].type = (enum parse_opt_type )9;
  opts___1[2].short_name = 0;
  opts___1[2].long_name = (char const   *)"prefix";
  opts___1[2].value = (void *)(& base);
  opts___1[2].argh = (char const   *)"prefix";
  opts___1[2].help = (char const   *)"prepend prefix to each pathname in the archive";
  opts___1[2].flags = (enum parse_opt_option_flags )0;
  opts___1[2].callback = (parse_opt_cb *)0;
  opts___1[2].defval = 0L;
  opts___1[2].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[2].extra = 0L;
  opts___1[3].type = (enum parse_opt_type )12;
  opts___1[3].short_name = 0;
  opts___1[3].long_name = (char const   *)"add-file";
  opts___1[3].value = (void *)args___0;
  opts___1[3].argh = (char const   *)"file";
  opts___1[3].help = (char const   *)"add untracked file to archive";
  opts___1[3].flags = (enum parse_opt_option_flags )0;
  opts___1[3].callback = & add_file_cb;
  opts___1[3].defval = (intptr_t )(& base);
  opts___1[3].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[3].extra = 0L;
  opts___1[4].type = (enum parse_opt_type )9;
  opts___1[4].short_name = 'o';
  opts___1[4].long_name = (char const   *)"output";
  opts___1[4].value = (void *)(& output___4);
  opts___1[4].argh = (char const   *)"file";
  opts___1[4].help = (char const   *)"write the archive to this file";
  opts___1[4].flags = (enum parse_opt_option_flags )0;
  opts___1[4].callback = (parse_opt_cb *)0;
  opts___1[4].defval = 0L;
  opts___1[4].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[4].extra = 0L;
  opts___1[5].type = (enum parse_opt_type )8;
  opts___1[5].short_name = 0;
  opts___1[5].long_name = (char const   *)"worktree-attributes";
  opts___1[5].value = (void *)(& worktree_attributes);
  opts___1[5].argh = (char const   *)((void *)0);
  opts___1[5].help = (char const   *)"read .gitattributes in working directory";
  opts___1[5].flags = (enum parse_opt_option_flags )2;
  opts___1[5].callback = (parse_opt_cb *)((void *)0);
  opts___1[5].defval = (intptr_t )1;
  opts___1[5].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[5].extra = 0L;
  opts___1[6].type = (enum parse_opt_type )7;
  opts___1[6].short_name = 'v';
  opts___1[6].long_name = (char const   *)"verbose";
  opts___1[6].value = (void *)(& verbose___15);
  opts___1[6].argh = (char const   *)((void *)0);
  opts___1[6].help = (char const   *)"report archived files on stderr";
  opts___1[6].flags = (enum parse_opt_option_flags )2;
  opts___1[6].callback = (parse_opt_cb *)0;
  opts___1[6].defval = 0L;
  opts___1[6].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[6].extra = 0L;
  opts___1[7].type = (enum parse_opt_type )2;
  opts___1[7].short_name = 0;
  opts___1[7].long_name = (char const   *)((void *)0);
  opts___1[7].value = (void *)(& compression_level);
  opts___1[7].argh = (char const   *)((void *)0);
  opts___1[7].help = (char const   *)"set compression level";
  opts___1[7].flags = (enum parse_opt_option_flags )6;
  opts___1[7].callback = & number_callback;
  opts___1[7].defval = 0L;
  opts___1[7].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[7].extra = 0L;
  opts___1[8].type = (enum parse_opt_type )1;
  opts___1[8].short_name = 0;
  opts___1[8].long_name = (char const   *)((void *)0);
  opts___1[8].value = (void *)0;
  opts___1[8].argh = (char const   *)((void *)0);
  opts___1[8].help = (char const   *)"";
  opts___1[8].flags = 0U;
  opts___1[8].callback = (parse_opt_cb *)0;
  opts___1[8].defval = 0L;
  opts___1[8].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[8].extra = 0L;
  opts___1[9].type = (enum parse_opt_type )8;
  opts___1[9].short_name = 'l';
  opts___1[9].long_name = (char const   *)"list";
  opts___1[9].value = (void *)(& list___3);
  opts___1[9].argh = (char const   *)((void *)0);
  opts___1[9].help = (char const   *)"list supported archive formats";
  opts___1[9].flags = (enum parse_opt_option_flags )2;
  opts___1[9].callback = (parse_opt_cb *)((void *)0);
  opts___1[9].defval = (intptr_t )1;
  opts___1[9].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[9].extra = 0L;
  opts___1[10].type = (enum parse_opt_type )1;
  opts___1[10].short_name = 0;
  opts___1[10].long_name = (char const   *)((void *)0);
  opts___1[10].value = (void *)0;
  opts___1[10].argh = (char const   *)((void *)0);
  opts___1[10].help = (char const   *)"";
  opts___1[10].flags = 0U;
  opts___1[10].callback = (parse_opt_cb *)0;
  opts___1[10].defval = 0L;
  opts___1[10].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[10].extra = 0L;
  opts___1[11].type = (enum parse_opt_type )9;
  opts___1[11].short_name = 0;
  opts___1[11].long_name = (char const   *)"remote";
  opts___1[11].value = (void *)(& remote);
  opts___1[11].argh = (char const   *)"repo";
  opts___1[11].help = (char const   *)"retrieve the archive from remote repository <repo>";
  opts___1[11].flags = (enum parse_opt_option_flags )0;
  opts___1[11].callback = (parse_opt_cb *)0;
  opts___1[11].defval = 0L;
  opts___1[11].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[11].extra = 0L;
  opts___1[12].type = (enum parse_opt_type )9;
  opts___1[12].short_name = 0;
  opts___1[12].long_name = (char const   *)"exec";
  opts___1[12].value = (void *)(& exec);
  opts___1[12].argh = (char const   *)"command";
  opts___1[12].help = (char const   *)"path to the remote git-upload-archive command";
  opts___1[12].flags = (enum parse_opt_option_flags )0;
  opts___1[12].callback = (parse_opt_cb *)0;
  opts___1[12].defval = 0L;
  opts___1[12].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[12].extra = 0L;
  opts___1[13].type = (enum parse_opt_type )0;
  opts___1[13].short_name = 0;
  opts___1[13].long_name = (char const   *)0;
  opts___1[13].value = (void *)0;
  opts___1[13].argh = (char const   *)0;
  opts___1[13].help = (char const   *)0;
  opts___1[13].flags = 0U;
  opts___1[13].callback = (parse_opt_cb *)0;
  opts___1[13].defval = 0L;
  opts___1[13].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[13].extra = 0L;
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)(opts___1),
                       archive_usage, (enum parse_opt_flags )0);
  if (remote) {
    tmp = _((char const   *)"Unexpected option --remote");
    die((char const   *)tmp);
  }
  if (exec) {
    tmp___0 = _((char const   *)"the option \'%s\' requires \'%s\'");
    die((char const   *)tmp___0, "--exec", "--remote");
  }
  if (output___4) {
    tmp___1 = _((char const   *)"Unexpected option --output");
    die((char const   *)tmp___1);
  }
  if (is_remote) {
    if (args___0->extra_files.nr) {
      tmp___2 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___2, "--add-file", "--remote");
    }
  }
  if (! base) {
    base = (char const   *)"";
  }
  if (list___3) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < nr_archivers)) {
        goto while_break;
      }
      if (! is_remote) {
        printf((char const   *)"%s\n", (*(archivers + i))->name);
      } else
      if ((*(archivers + i))->flags & 2U) {
        printf((char const   *)"%s\n", (*(archivers + i))->name);
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    tmp___3 = trace2_cmd_exit_fl((char const   *)"archive.c", 593, 0);
    exit(tmp___3);
  }
  if (! format___0) {
    if (name_hint) {
      format___0 = archive_format_from_filename(name_hint);
    }
  }
  if (! format___0) {
    format___0 = (char const   *)"tar";
  }
  if (argc < 1) {
    usage_with_options(archive_usage, (struct option  const  *)(opts___1));
  }
  *ar = lookup_archiver(format___0);
  if (! *ar) {
    tmp___4 = _((char const   *)"Unknown archive format \'%s\'");
    die((char const   *)tmp___4, format___0);
  } else
  if (is_remote) {
    if (! ((*ar)->flags & 2U)) {
      tmp___4 = _((char const   *)"Unknown archive format \'%s\'");
      die((char const   *)tmp___4, format___0);
    }
  }
  args___0->compression_level = -1;
  if (compression_level != -1) {
    levels_ok = (int )((*ar)->flags & 1U);
    high_ok = (int )((*ar)->flags & 4U);
    if (levels_ok) {
      if (compression_level <= 9) {
        args___0->compression_level = compression_level;
      } else
      if (high_ok) {
        args___0->compression_level = compression_level;
      } else {
        tmp___5 = _((char const   *)"Argument not supported for format \'%s\': -%d");
        die((char const   *)tmp___5, format___0, compression_level);
      }
    } else {
      tmp___5 = _((char const   *)"Argument not supported for format \'%s\': -%d");
      die((char const   *)tmp___5, format___0, compression_level);
    }
  }
  args___0->verbose = (unsigned int )verbose___15;
  args___0->base = base;
  args___0->baselen = strlen(base);
  args___0->worktree_attributes = (unsigned int )worktree_attributes;
  return (argc);
}
}
int write_archive(int argc , char const   **argv___0 , char const   *prefix___1 ,
                  struct repository *repo , char const   *name_hint , int remote )
{
  struct archiver  const  *ar ;
  struct pretty_print_describe_status describe_status ;
  struct pretty_print_context ctx___0 ;
  struct archiver_args args___0 ;
  int rc___0 ;

  {
  ar = (struct archiver  const  *)((void *)0);
  describe_status.max_invocations = 0U;
  ctx___0.fmt = (enum cmit_fmt )0;
  ctx___0.abbrev = 0;
  ctx___0.after_subject = (char const   *)0;
  ctx___0.preserve_subject = 0;
  ctx___0.date_mode.type = 0U;
  ctx___0.date_mode.strftime_fmt = (char const   *)0;
  ctx___0.date_mode.local = 0;
  ctx___0.date_mode_explicit = 0U;
  ctx___0.print_email_subject = 0;
  ctx___0.expand_tabs_in_log = 0;
  ctx___0.need_8bit_cte = 0;
  ctx___0.notes_message = (char *)0;
  ctx___0.reflog_info = (struct reflog_walk_info *)0;
  ctx___0.rev = (struct rev_info *)0;
  ctx___0.output_encoding = (char const   *)0;
  ctx___0.mailmap = (struct string_list *)0;
  ctx___0.color = 0;
  ctx___0.from_ident = (struct ident_split *)0;
  ctx___0.encode_email_headers = 0U;
  ctx___0.describe_status = (struct pretty_print_describe_status *)0;
  ctx___0.in_body_headers.items = (struct string_list_item *)0;
  ctx___0.in_body_headers.nr = 0U;
  ctx___0.in_body_headers.alloc = 0U;
  ctx___0.in_body_headers.strdup_strings = 0U;
  ctx___0.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
  ctx___0.graph_width = 0;
  git_config_get_bool((char const   *)"uploadarchive.allowunreachable", & remote_allow_unreachable);
  git_config(& git_default_config, (void *)0);
  describe_status.max_invocations = 1U;
  ctx___0.date_mode.type = (enum date_mode_type )0;
  ctx___0.abbrev = default_abbrev;
  ctx___0.describe_status = & describe_status;
  args___0.pretty_ctx = & ctx___0;
  args___0.repo = repo;
  args___0.prefix = prefix___1;
  string_list_init_dup(& args___0.extra_files);
  argc = parse_archive_args(argc, argv___0, & ar, & args___0, name_hint, remote);
  if (! startup_info->have_repository) {
    setup_git_directory();
  }
  parse_treeish_arg(argv___0, & args___0, prefix___1, remote);
  parse_pathspec_arg(argv___0 + 1, & args___0);
  rc___0 = (*(ar->write_archive))(ar, & args___0);
  string_list_clear_func(& args___0.extra_files, & extra_file_info_clear);
  free((void *)args___0.refname);
  return (rc___0);
}
}
static int match_extension(char const   *filename___0 , char const   *ext )
{
  int prefixlen ;
  size_t tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = strlen(filename___0);
  tmp___0 = strlen(ext);
  prefixlen = (int )(tmp - tmp___0);
  if (prefixlen < 2) {
    return (0);
  } else
  if ((int const   )*(filename___0 + (prefixlen - 1)) != 46) {
    return (0);
  }
  tmp___1 = strcmp(filename___0 + prefixlen, ext);
  if (tmp___1) {
    tmp___2 = 0;
  } else {
    tmp___2 = 1;
  }
  return (tmp___2);
}
}
char const   *archive_format_from_filename(char const   *filename___0 )
{
  int i ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_archivers)) {
      goto while_break;
    }
    tmp = match_extension(filename___0, (char const   *)(*(archivers + i))->name);
    if (tmp) {
      return ((char const   *)(*(archivers + i))->name);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((char const   *)((void *)0));
}
}
char const   git_attr__true[14]  =
  {      (char const   )'(',      (char const   )'b',      (char const   )'u',      (char const   )'i',
        (char const   )'l',      (char const   )'t',      (char const   )'i',      (char const   )'n',
        (char const   )')',      (char const   )'t',      (char const   )'r',      (char const   )'u',
        (char const   )'e',      (char const   )'\000'};
char const   git_attr__false[16]  =
  {      (char const   )'\000',      (char const   )'(',      (char const   )'b',      (char const   )'u',
        (char const   )'i',      (char const   )'l',      (char const   )'t',      (char const   )'i',
        (char const   )'n',      (char const   )')',      (char const   )'f',      (char const   )'a',
        (char const   )'l',      (char const   )'s',      (char const   )'e',      (char const   )'\000'};
static char const   git_attr__unknown[17]  =
  {      (char const   )'(',      (char const   )'b',      (char const   )'u',      (char const   )'i',
        (char const   )'l',      (char const   )'t',      (char const   )'i',      (char const   )'n',
        (char const   )')',      (char const   )'u',      (char const   )'n',      (char const   )'k',
        (char const   )'n',      (char const   )'o',      (char const   )'w',      (char const   )'n',
        (char const   )'\000'};
char const   *git_attr_name(struct git_attr  const  *attr )
{


  {
  return ((char const   *)(attr->name));
}
}
__inline static void hashmap_lock(struct attr_hashmap *map___0 )
{


  {
  pthread_mutex_lock(& map___0->mutex);
  return;
}
}
__inline static void hashmap_unlock(struct attr_hashmap *map___0 )
{


  {
  pthread_mutex_unlock(& map___0->mutex);
  return;
}
}
static int attr_hash_entry_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *eptr ,
                               struct hashmap_entry  const  *entry_or_key , void const   *unused_keydata )
{
  struct attr_hash_entry  const  *a ;
  struct attr_hash_entry  const  *b___0 ;
  int tmp ;
  int tmp___0 ;

  {
  a = (struct attr_hash_entry  const  *)((char *)eptr - (unsigned long )(& ((struct attr_hash_entry  const  *)0)->ent));
  b___0 = (struct attr_hash_entry  const  *)((char *)entry_or_key - (unsigned long )(& ((struct attr_hash_entry  const  *)0)->ent));
  if (a->keylen != b___0->keylen) {
    tmp___0 = 1;
  } else {
    tmp = strncmp((char const   *)a->key, (char const   *)b___0->key, (size_t )a->keylen);
    if (tmp) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  }
  return (tmp___0);
}
}
static struct attr_hashmap g_attr_hashmap  =    {{(struct hashmap_entry **)0, & attr_hash_entry_cmp, (void const   *)((void *)0),
     0U, 0U, 0U, 0U, 1U}, {{0, 0U, 0, 0U, 0, (short)0, (short)0, {(struct __pthread_internal_list *)0,
                                                                  (struct __pthread_internal_list *)0}}}};
static void *attr_hashmap_get(struct attr_hashmap *map___0 , char const   *key___1 ,
                              size_t keylen )
{
  struct attr_hash_entry k ;
  struct attr_hash_entry *e ;
  unsigned int tmp ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;

  {
  tmp = memhash((void const   *)key___1, keylen);
  hashmap_entry_init(& k.ent, tmp);
  k.key = key___1;
  k.keylen = keylen;
  tmp___0 = hashmap_get((struct hashmap  const  *)(& map___0->map), (struct hashmap_entry  const  *)(& k.ent),
                        (void const   *)((void *)0));
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct attr_hash_entry *)0)->ent));
  e = (struct attr_hash_entry *)tmp___1;
  if (e) {
    tmp___2 = e->value;
  } else {
    tmp___2 = (void *)0;
  }
  return (tmp___2);
}
}
static void attr_hashmap_add(struct attr_hashmap *map___0 , char const   *key___1 ,
                             size_t keylen , void *value )
{
  struct attr_hash_entry *e ;
  void *tmp ;
  unsigned int tmp___0 ;

  {
  tmp = xmalloc(sizeof(struct attr_hash_entry ));
  e = (struct attr_hash_entry *)tmp;
  tmp___0 = memhash((void const   *)key___1, keylen);
  hashmap_entry_init(& e->ent, tmp___0);
  e->key = key___1;
  e->keylen = keylen;
  e->value = value;
  hashmap_add(& map___0->map, & e->ent);
  return;
}
}
static void all_attrs_init(struct attr_hashmap *map___0 , struct attr_check *check___4 )
{
  int i ;
  unsigned int size ;
  struct attr_hash_entry *e ;
  struct hashmap_iter iter___0 ;
  size_t tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;
  struct hashmap_entry *tmp___3 ;
  void *tmp___4 ;
  struct git_attr  const  *a ;

  {
  hashmap_lock(map___0);
  size = hashmap_get_size(& map___0->map);
  if (size < (unsigned int )check___4->all_attrs_nr) {
    BUG_fl((char const   *)"attr.c", 145, (char const   *)"interned attributes shouldn\'t be deleted");
  }
  if (size != (unsigned int )check___4->all_attrs_nr) {
    tmp = st_mult(sizeof(*(check___4->all_attrs)), (size_t )size);
    tmp___0 = xrealloc((void *)check___4->all_attrs, tmp);
    check___4->all_attrs = (struct all_attrs_item *)tmp___0;
    check___4->all_attrs_nr = (int )size;
    e = (struct attr_hash_entry *)((void *)0);
    tmp___1 = hashmap_iter_first(& map___0->map, & iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct attr_hash_entry *)0)->ent));
    e = (struct attr_hash_entry *)tmp___2;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! e) {
        goto while_break;
      }
      a = (struct git_attr  const  *)e->value;
      (check___4->all_attrs + a->attr_nr)->attr = a;
      tmp___3 = hashmap_iter_next(& iter___0);
      tmp___4 = container_of_or_null_offset((void *)tmp___3, (unsigned long )(& ((struct attr_hash_entry *)0)->ent));
      e = (struct attr_hash_entry *)tmp___4;
    }
    while_break: /* CIL Label */ ;
    }
  }
  hashmap_unlock(map___0);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < check___4->all_attrs_nr)) {
      goto while_break___0;
    }
    (check___4->all_attrs + i)->value = git_attr__unknown;
    (check___4->all_attrs + i)->macro = (struct match_attr  const  *)((void *)0);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static int attr_name_valid(char const   *name___0 , size_t namelen )
{
  char ch___0 ;
  char const   *tmp ;
  size_t tmp___0 ;

  {
  if (namelen <= 0UL) {
    return (0);
  } else
  if ((int const   )*name___0 == 45) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = namelen;
    namelen --;
    if (! tmp___0) {
      goto while_break;
    }
    tmp = name___0;
    name___0 ++;
    ch___0 = (char )*tmp;
    if (! ((int )ch___0 == 45)) {
      if (! ((int )ch___0 == 46)) {
        if (! ((int )ch___0 == 95)) {
          if (48 <= (int )ch___0) {
            if (! ((int )ch___0 <= 57)) {
              goto _L___0;
            }
          } else
          _L___0: /* CIL Label */
          if (97 <= (int )ch___0) {
            if (! ((int )ch___0 <= 122)) {
              goto _L;
            }
          } else
          _L: /* CIL Label */
          if (65 <= (int )ch___0) {
            if (! ((int )ch___0 <= 90)) {
              return (0);
            }
          } else {
            return (0);
          }
        }
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static void report_invalid_attr(char const   *name___0 , size_t len___0 , char const   *src ,
                                int lineno )
{
  struct strbuf err___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  tmp = _((char const   *)"%.*s is not a valid attribute name");
  strbuf_addf(& err___4, (char const   *)tmp, (int )len___0, name___0);
  fprintf(stderr, (char const   *)"%s: %s:%d\n", err___4.buf, src, lineno);
  strbuf_release(& err___4);
  return;
}
}
static struct git_attr  const  *git_attr_internal(char const   *name___0 , int namelen )
{
  struct git_attr *a ;
  int tmp ;
  void *tmp___0 ;
  size_t flex_array_len_ ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;
  unsigned int tmp___4 ;
  unsigned int tmp___5 ;

  {
  tmp = attr_name_valid(name___0, (size_t )namelen);
  if (! tmp) {
    return ((struct git_attr  const  *)((void *)0));
  }
  hashmap_lock(& g_attr_hashmap);
  tmp___0 = attr_hashmap_get(& g_attr_hashmap, name___0, (size_t )namelen);
  a = (struct git_attr *)tmp___0;
  if (! a) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      flex_array_len_ = (size_t )namelen;
      tmp___1 = st_add(sizeof(*a), flex_array_len_);
      tmp___2 = st_add(tmp___1, (size_t )1);
      tmp___3 = xcalloc((size_t )1, tmp___2);
      a = (struct git_attr *)tmp___3;
      memcpy((void *)(a->name), (void const   *)name___0, flex_array_len_);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    tmp___4 = hashmap_get_size(& g_attr_hashmap.map);
    a->attr_nr = (int )tmp___4;
    attr_hashmap_add(& g_attr_hashmap, (char const   *)(a->name), (size_t )namelen,
                     (void *)a);
    tmp___5 = hashmap_get_size(& g_attr_hashmap.map);
    assert((unsigned int )a->attr_nr == tmp___5 - 1U);
  }
  hashmap_unlock(& g_attr_hashmap);
  return ((struct git_attr  const  *)a);
}
}
struct git_attr  const  *git_attr(char const   *name___0 )
{
  size_t tmp ;
  struct git_attr  const  *tmp___0 ;

  {
  tmp = strlen(name___0);
  tmp___0 = git_attr_internal(name___0, (int )tmp);
  return (tmp___0);
}
}
static char const   blank[5]  = {      (char const   )' ',      (char const   )'\t',      (char const   )'\r',      (char const   )'\n',
        (char const   )'\000'};
static char const   *parse_attr(char const   *src , int lineno , char const   *cp ,
                                struct attr_state *e )
{
  char const   *ep ;
  char const   *equals ;
  int len___0 ;
  size_t tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  void *tmp___2 ;
  size_t tmp___3 ;

  {
  tmp = strcspn(cp, blank);
  ep = cp + tmp;
  tmp___0 = strchr(cp, '=');
  equals = (char const   *)tmp___0;
  if (equals) {
    if ((unsigned long )ep < (unsigned long )equals) {
      equals = (char const   *)((void *)0);
    }
  }
  if (equals) {
    len___0 = (int )(equals - cp);
  } else {
    len___0 = (int )(ep - cp);
  }
  if (! e) {
    if ((int const   )*cp == 45) {
      cp ++;
      len___0 --;
    } else
    if ((int const   )*cp == 33) {
      cp ++;
      len___0 --;
    }
    tmp___1 = attr_name_valid(cp, (size_t )len___0);
    if (! tmp___1) {
      report_invalid_attr(cp, (size_t )len___0, src, lineno);
      return ((char const   *)((void *)0));
    }
  } else {
    if ((int const   )*cp == 45) {
      goto _L;
    } else
    if ((int const   )*cp == 33) {
      _L: /* CIL Label */
      if ((int const   )*cp == 45) {
        e->setto = git_attr__false;
      } else {
        e->setto = (char const   *)((void *)0);
      }
      cp ++;
      len___0 --;
    } else
    if (! equals) {
      e->setto = git_attr__true;
    } else {
      tmp___2 = xmemdupz((void const   *)(equals + 1), (size_t )((ep - equals) - 1L));
      e->setto = (char const   *)tmp___2;
    }
    e->attr = git_attr_internal(cp, len___0);
  }
  tmp___3 = strspn(ep, blank);
  return (ep + tmp___3);
}
}
static struct match_attr *parse_attr_line(char const   *line___0 , char const   *src ,
                                          int lineno , unsigned int flags___0 )
{
  int namelen ;
  int num_attr ;
  int i ;
  char const   *cp ;
  char const   *name___0 ;
  char const   *states ;
  struct match_attr *res ;
  int is_macro ;
  struct strbuf pattern___0 ;
  size_t tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  size_t tmp___3 ;
  size_t tmp___4 ;
  size_t tmp___5 ;
  int tmp___6 ;
  size_t tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  int tmp___10 ;
  void *tmp___11 ;
  char *p___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;

  {
  res = (struct match_attr *)((void *)0);
  pattern___0.alloc = 0UL;
  pattern___0.len = 0UL;
  pattern___0.buf = strbuf_slopbuf;
  tmp = strspn(line___0, blank);
  cp = line___0 + tmp;
  if (! *cp) {
    return ((struct match_attr *)((void *)0));
  } else
  if ((int const   )*cp == 35) {
    return ((struct match_attr *)((void *)0));
  }
  name___0 = cp;
  if ((int const   )*cp == 34) {
    tmp___1 = unquote_c_style(& pattern___0, name___0, & states);
    if (tmp___1) {
      tmp___0 = strcspn(name___0, blank);
      namelen = (int )tmp___0;
      states = name___0 + namelen;
    } else {
      name___0 = (char const   *)pattern___0.buf;
      namelen = (int )pattern___0.len;
    }
  } else {
    tmp___0 = strcspn(name___0, blank);
    namelen = (int )tmp___0;
    states = name___0 + namelen;
  }
  tmp___7 = strlen((char const   *)"[attr]");
  if (tmp___7 < (size_t )namelen) {
    tmp___8 = starts_with(name___0, (char const   *)"[attr]");
    if (tmp___8) {
      if (! (flags___0 & 1U)) {
        tmp___2 = _((char const   *)"%s not allowed: %s:%d");
        fprintf_ln(stderr, (char const   *)tmp___2, name___0, src, lineno);
        goto fail_return;
      }
      is_macro = 1;
      tmp___3 = strlen((char const   *)"[attr]");
      name___0 += tmp___3;
      tmp___4 = strspn(name___0, blank);
      name___0 += tmp___4;
      tmp___5 = strcspn(name___0, blank);
      namelen = (int )tmp___5;
      tmp___6 = attr_name_valid(name___0, (size_t )namelen);
      if (! tmp___6) {
        report_invalid_attr(name___0, (size_t )namelen, src, lineno);
        goto fail_return;
      }
    } else {
      is_macro = 0;
    }
  } else {
    is_macro = 0;
  }
  tmp___9 = strspn(states, blank);
  states += tmp___9;
  cp = states;
  num_attr = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *cp) {
      goto while_break;
    }
    cp = parse_attr(src, lineno, cp, (struct attr_state *)((void *)0));
    if (! cp) {
      goto fail_return;
    }
    num_attr ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (is_macro) {
    tmp___10 = 0;
  } else {
    tmp___10 = namelen + 1;
  }
  tmp___11 = xcalloc((size_t )1, (sizeof(*res) + sizeof(struct attr_state ) * (unsigned long )num_attr) + (unsigned long )tmp___10);
  res = (struct match_attr *)tmp___11;
  if (is_macro) {
    res->u.attr = git_attr_internal(name___0, namelen);
  } else {
    p___0 = (char *)(& res->state[num_attr]);
    memcpy((void *)p___0, (void const   *)name___0, (size_t )namelen);
    res->u.pat.pattern = (char const   *)p___0;
    parse_path_pattern(& res->u.pat.pattern, & res->u.pat.patternlen, & res->u.pat.flags,
                       & res->u.pat.nowildcardlen);
    if (res->u.pat.flags & 16U) {
      tmp___12 = _((char const   *)"Negative patterns are ignored in git attributes\nUse \'\\!\' for literal leading exclamation.");
      warning((char const   *)tmp___12);
      goto fail_return;
    }
  }
  res->is_macro = (char )is_macro;
  res->num_attr = (unsigned int )num_attr;
  cp = states;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! *cp) {
      goto while_break___0;
    }
    cp = parse_attr(src, lineno, cp, & res->state[i]);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_release(& pattern___0);
  return (res);
  fail_return:
  strbuf_release(& pattern___0);
  free((void *)res);
  return ((struct match_attr *)((void *)0));
}
}
static void attr_stack_free(struct attr_stack *e )
{
  int i ;
  struct match_attr *a ;
  int j ;
  char const   *setto ;

  {
  free((void *)e->origin);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < e->num_matches)) {
      goto while_break;
    }
    a = *(e->attrs + i);
    j = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned int )j < a->num_attr)) {
        goto while_break___0;
      }
      setto = a->state[j].setto;
      if (! ((unsigned long )setto == (unsigned long )(git_attr__true))) {
        if (! ((unsigned long )setto == (unsigned long )(git_attr__false))) {
          if (! ((unsigned long )setto == (unsigned long )((void *)0))) {
            if (! ((unsigned long )setto == (unsigned long )(git_attr__unknown))) {
              free((void *)((char *)setto));
            }
          }
        }
      }
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    free((void *)a);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)e->attrs);
  free((void *)e);
  return;
}
}
static void drop_attr_stack(struct attr_stack **stack )
{
  struct attr_stack *elem ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *stack) {
      goto while_break;
    }
    elem = *stack;
    *stack = elem->prev;
    attr_stack_free(elem);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct check_vector check_vector  ;
__inline static void vector_lock(void)
{


  {
  pthread_mutex_lock(& check_vector.mutex);
  return;
}
}
__inline static void vector_unlock(void)
{


  {
  pthread_mutex_unlock(& check_vector.mutex);
  return;
}
}
static void check_vector_add(struct attr_check *c___0 )
{
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;

  {
  vector_lock();
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (check_vector.nr + 1UL > check_vector.alloc) {
      if (((check_vector.alloc + 16UL) * 3UL) / 2UL < check_vector.nr + 1UL) {
        check_vector.alloc = check_vector.nr + 1UL;
      } else {
        check_vector.alloc = ((check_vector.alloc + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*(check_vector.checks)), check_vector.alloc);
      tmp___0 = xrealloc((void *)check_vector.checks, tmp);
      check_vector.checks = (struct attr_check **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = check_vector.nr;
  (check_vector.nr) ++;
  *(check_vector.checks + tmp___1) = c___0;
  vector_unlock();
  return;
}
}
static void check_vector_remove(struct attr_check *check___4 )
{
  int i ;

  {
  vector_lock();
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < check_vector.nr)) {
      goto while_break;
    }
    if ((unsigned long )*(check_vector.checks + i) == (unsigned long )check___4) {
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if ((size_t )i >= check_vector.nr) {
    BUG_fl((char const   *)"attr.c", 527, (char const   *)"no entry found");
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((size_t )i < check_vector.nr - 1UL)) {
      goto while_break___0;
    }
    *(check_vector.checks + i) = *(check_vector.checks + (i + 1));
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  (check_vector.nr) --;
  vector_unlock();
  return;
}
}
static void drop_all_attr_stacks(void)
{
  int i ;

  {
  vector_lock();
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < check_vector.nr)) {
      goto while_break;
    }
    drop_attr_stack(& (*(check_vector.checks + i))->stack);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  vector_unlock();
  return;
}
}
struct attr_check *attr_check_alloc(void)
{
  struct attr_check *c___0 ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(struct attr_check ));
  c___0 = (struct attr_check *)tmp;
  check_vector_add(c___0);
  return (c___0);
}
}
struct attr_check *attr_check_initl(char const   *one___0  , ...)
{
  struct attr_check *check___4 ;
  int cnt ;
  va_list params ;
  char const   *param ;
  char const   *tmp ;
  void *tmp___0 ;
  struct git_attr  const  *attr ;
  char const   *tmp___1 ;

  {
  __builtin_va_start(params, one___0);
  cnt = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = __builtin_va_arg(params, char const   *);
    param = tmp;
    if (! ((unsigned long )param != (unsigned long )((void *)0))) {
      goto while_break;
    }
    cnt ++;
  }
  while_break: /* CIL Label */ ;
  }
  __builtin_va_end(params);
  check___4 = attr_check_alloc();
  check___4->nr = cnt;
  check___4->alloc = cnt;
  tmp___0 = xcalloc((size_t )cnt, sizeof(*(check___4->items)));
  check___4->items = (struct attr_check_item *)tmp___0;
  (check___4->items + 0)->attr = git_attr(one___0);
  __builtin_va_start(params, one___0);
  cnt = 1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (cnt < check___4->nr)) {
      goto while_break___0;
    }
    tmp___1 = __builtin_va_arg(params, char const   *);
    param = tmp___1;
    if (! param) {
      BUG_fl((char const   *)"attr.c", 586, (char const   *)"counted %d != ended at %d",
             check___4->nr, cnt);
    }
    attr = git_attr(param);
    if (! attr) {
      BUG_fl((char const   *)"attr.c", 589, (char const   *)"%s: not a valid attribute name",
             param);
    }
    (check___4->items + cnt)->attr = attr;
    cnt ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  __builtin_va_end(params);
  return (check___4);
}
}
struct attr_check *attr_check_dup(struct attr_check  const  *check___4 )
{
  struct attr_check *ret___67 ;
  size_t tmp ;
  void *tmp___0 ;

  {
  if (! check___4) {
    return ((struct attr_check *)((void *)0));
  }
  ret___67 = attr_check_alloc();
  ret___67->nr = (int )check___4->nr;
  ret___67->alloc = (int )check___4->alloc;
  tmp = st_mult(sizeof(*(ret___67->items)), (size_t )ret___67->nr);
  tmp___0 = xmalloc(tmp);
  ret___67->items = (struct attr_check_item *)tmp___0;
  copy_array((void *)ret___67->items, (void const   *)check___4->items, (size_t )ret___67->nr,
             sizeof(*(ret___67->items)) + (sizeof(char [1]) - 1UL));
  return (ret___67);
}
}
struct attr_check_item *attr_check_append(struct attr_check *check___4 , struct git_attr  const  *attr )
{
  struct attr_check_item *item___0 ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (check___4->nr + 1 > check___4->alloc) {
      if (((check___4->alloc + 16) * 3) / 2 < check___4->nr + 1) {
        check___4->alloc = check___4->nr + 1;
      } else {
        check___4->alloc = ((check___4->alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(check___4->items)), (size_t )check___4->alloc);
      tmp___0 = xrealloc((void *)check___4->items, tmp);
      check___4->items = (struct attr_check_item *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = check___4->nr;
  (check___4->nr) ++;
  item___0 = check___4->items + tmp___1;
  item___0->attr = attr;
  return (item___0);
}
}
void attr_check_reset(struct attr_check *check___4 )
{


  {
  check___4->nr = 0;
  return;
}
}
void attr_check_clear(struct attr_check *check___4 )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)check___4->items);
    check___4->items = (struct attr_check_item *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  check___4->alloc = 0;
  check___4->nr = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)check___4->all_attrs);
    check___4->all_attrs = (struct all_attrs_item *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  check___4->all_attrs_nr = 0;
  drop_attr_stack(& check___4->stack);
  return;
}
}
void attr_check_free(struct attr_check *check___4 )
{


  {
  if (check___4) {
    check_vector_remove(check___4);
    attr_check_clear(check___4);
    free((void *)check___4);
  }
  return;
}
}
static char const   *builtin_attr[2]  = {      (char const   *)"[attr]binary -diff -merge -text",      (char const   *)((void *)0)};
static void handle_attr_line(struct attr_stack *res , char const   *line___0 , char const   *src ,
                             int lineno , unsigned int flags___0 )
{
  struct match_attr *a ;
  size_t tmp ;
  void *tmp___0 ;
  unsigned int tmp___1 ;

  {
  a = parse_attr_line(line___0, src, lineno, flags___0);
  if (! a) {
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (res->num_matches + 1U > res->alloc) {
      if (((res->alloc + 16U) * 3U) / 2U < res->num_matches + 1U) {
        res->alloc = res->num_matches + 1U;
      } else {
        res->alloc = ((res->alloc + 16U) * 3U) / 2U;
      }
      tmp = st_mult(sizeof(*(res->attrs)), (size_t )res->alloc);
      tmp___0 = xrealloc((void *)res->attrs, tmp);
      res->attrs = (struct match_attr **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = res->num_matches;
  (res->num_matches) ++;
  *(res->attrs + tmp___1) = a;
  return;
}
}
static struct attr_stack *read_attr_from_array(char const   **list___3 )
{
  struct attr_stack *res ;
  char const   *line___0 ;
  int lineno ;
  void *tmp ;
  char const   **tmp___0 ;

  {
  lineno = 0;
  tmp = xcalloc((size_t )1, sizeof(*res));
  res = (struct attr_stack *)tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = list___3;
    list___3 ++;
    line___0 = *tmp___0;
    if (! ((unsigned long )line___0 != (unsigned long )((void *)0))) {
      goto while_break;
    }
    lineno ++;
    handle_attr_line(res, line___0, (char const   *)"[builtin]", lineno, 1U);
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
static enum git_attr_direction direction  ;
void git_attr_set_direction(enum git_attr_direction new_direction )
{
  int tmp ;

  {
  tmp = is_bare_repository();
  if (tmp) {
    if ((unsigned int )new_direction != 2U) {
      BUG_fl((char const   *)"attr.c", 699, (char const   *)"non-INDEX attr direction in a bare repo");
    }
  }
  if ((unsigned int )new_direction != (unsigned int )direction) {
    drop_all_attr_stacks();
  }
  direction = new_direction;
  return;
}
}
static struct attr_stack *read_attr_from_file(char const   *path___6 , unsigned int flags___0 )
{
  int fd ;
  FILE *fp ;
  struct attr_stack *res ;
  char buf___19[2048] ;
  int lineno ;
  void *tmp ;
  char *bufp ;
  size_t tmp___0 ;
  char *tmp___1 ;

  {
  lineno = 0;
  if (flags___0 & (unsigned int )(1 << 1)) {
    fd = open_nofollow(path___6, 00);
  } else {
    fd = open(path___6, 00);
  }
  if (fd < 0) {
    warn_on_fopen_errors(path___6);
    return ((struct attr_stack *)((void *)0));
  }
  fp = xfdopen(fd, (char const   *)"r");
  tmp = xcalloc((size_t )1, sizeof(*res));
  res = (struct attr_stack *)tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = fgets(buf___19, (int )sizeof(buf___19), fp);
    if (! tmp___1) {
      goto while_break;
    }
    bufp = buf___19;
    if (! lineno) {
      tmp___0 = strlen((char const   *)bufp);
      skip_utf8_bom(& bufp, tmp___0);
    }
    lineno ++;
    handle_attr_line(res, (char const   *)bufp, path___6, lineno, flags___0);
  }
  while_break: /* CIL Label */ ;
  }
  fclose(fp);
  return (res);
}
}
static struct attr_stack *read_attr_from_index(struct index_state *istate , char const   *path___6 ,
                                               unsigned int flags___0 )
{
  struct attr_stack *res ;
  char *buf___19 ;
  char *sp ;
  int lineno ;
  int tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  char *ep ;
  int more ;

  {
  lineno = 0;
  if (! istate) {
    return ((struct attr_stack *)((void *)0));
  }
  tmp = path_in_cone_mode_sparse_checkout(path___6, istate);
  if (! tmp) {
    return ((struct attr_stack *)((void *)0));
  }
  tmp___0 = read_blob_data_from_index(istate, path___6, (unsigned long *)((void *)0));
  buf___19 = (char *)tmp___0;
  if (! buf___19) {
    return ((struct attr_stack *)((void *)0));
  }
  tmp___1 = xcalloc((size_t )1, sizeof(*res));
  res = (struct attr_stack *)tmp___1;
  sp = buf___19;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *sp) {
      goto while_break;
    }
    ep = strchrnul((char const   *)sp, '\n');
    more = (int )*ep == 10;
    *ep = (char )'\000';
    lineno ++;
    handle_attr_line(res, (char const   *)sp, path___6, lineno, flags___0);
    sp = ep + more;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)buf___19);
  return (res);
}
}
static struct attr_stack *read_attr(struct index_state *istate , char const   *path___6 ,
                                    unsigned int flags___0 )
{
  struct attr_stack *res ;
  int tmp ;
  void *tmp___0 ;

  {
  res = (struct attr_stack *)((void *)0);
  if ((unsigned int )direction == 2U) {
    res = read_attr_from_index(istate, path___6, flags___0);
  } else {
    tmp = is_bare_repository();
    if (! tmp) {
      if ((unsigned int )direction == 1U) {
        res = read_attr_from_index(istate, path___6, flags___0);
        if (! res) {
          res = read_attr_from_file(path___6, flags___0);
        }
      } else
      if ((unsigned int )direction == 0U) {
        res = read_attr_from_file(path___6, flags___0);
        if (! res) {
          res = read_attr_from_index(istate, path___6, flags___0);
        }
      }
    }
  }
  if (! res) {
    tmp___0 = xcalloc((size_t )1, sizeof(*res));
    res = (struct attr_stack *)tmp___0;
  }
  return (res);
}
}
static char const   *system_wide  ;
static char const   *git_etc_gitattributes(void)
{
  char *tmp ;

  {
  if (! system_wide) {
    tmp = system_path((char const   *)"/usr/local/etc/gitattributes");
    system_wide = (char const   *)tmp;
  }
  return (system_wide);
}
}
static char const   *get_home_gitattributes(void)
{
  char *tmp ;

  {
  if (! git_attributes_file) {
    tmp = xdg_config_home((char const   *)"attributes");
    git_attributes_file = (char const   *)tmp;
  }
  return (git_attributes_file);
}
}
static int git_attr_system(void)
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = git_env_bool((char const   *)"GIT_ATTR_NOSYSTEM", 0);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
static char *ret  ;
static char const   *git_path_info_attributes(void)
{


  {
  if (! ret) {
    ret = git_pathdup((char const   *)"info/attributes");
  }
  return ((char const   *)ret);
}
}
static void push_stack(struct attr_stack **attr_stack_p , struct attr_stack *elem ,
                       char *origin___0 , size_t originlen )
{


  {
  if (elem) {
    elem->origin = origin___0;
    if (origin___0) {
      elem->originlen = originlen;
    }
    elem->prev = *attr_stack_p;
    *attr_stack_p = elem;
  }
  return;
}
}
static void bootstrap_attr_stack(struct index_state *istate , struct attr_stack **stack )
{
  struct attr_stack *e ;
  unsigned int flags___0 ;
  char const   *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  char *tmp___3 ;
  char const   *tmp___4 ;
  void *tmp___5 ;

  {
  flags___0 = 1U;
  if (*stack) {
    return;
  }
  e = read_attr_from_array(builtin_attr);
  push_stack(stack, e, (char *)((void *)0), (size_t )0);
  tmp___0 = git_attr_system();
  if (tmp___0) {
    tmp = git_etc_gitattributes();
    e = read_attr_from_file(tmp, flags___0);
    push_stack(stack, e, (char *)((void *)0), (size_t )0);
  }
  tmp___2 = get_home_gitattributes();
  if (tmp___2) {
    tmp___1 = get_home_gitattributes();
    e = read_attr_from_file(tmp___1, flags___0);
    push_stack(stack, e, (char *)((void *)0), (size_t )0);
  }
  e = read_attr(istate, (char const   *)".gitattributes", flags___0 | (unsigned int )(1 << 1));
  tmp___3 = xstrdup((char const   *)"");
  push_stack(stack, e, tmp___3, (size_t )0);
  if (startup_info->have_repository) {
    tmp___4 = git_path_info_attributes();
    e = read_attr_from_file(tmp___4, flags___0);
  } else {
    e = (struct attr_stack *)((void *)0);
  }
  if (! e) {
    tmp___5 = xcalloc((size_t )1, sizeof(*e));
    e = (struct attr_stack *)tmp___5;
  }
  push_stack(stack, e, (char *)((void *)0), (size_t )0);
  return;
}
}
static void prepare_attr_stack(struct index_state *istate , char const   *path___6 ,
                               int dirlen , struct attr_stack **stack )
{
  struct attr_stack *info___0 ;
  struct strbuf pathbuf ;
  int namelen ;
  struct attr_stack *elem ;
  int tmp ;
  size_t len___0 ;
  struct attr_stack *next___2 ;
  char *origin___0 ;
  int tmp___0 ;
  int tmp___1 ;

  {
  pathbuf.alloc = 0UL;
  pathbuf.len = 0UL;
  pathbuf.buf = strbuf_slopbuf;
  bootstrap_attr_stack(istate, stack);
  info___0 = *stack;
  *stack = info___0->prev;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (*stack)->origin) {
      goto while_break;
    }
    namelen = (int )(*stack)->originlen;
    elem = *stack;
    if (namelen <= dirlen) {
      tmp = strncmp((char const   *)elem->origin, path___6, (size_t )namelen);
      if (! tmp) {
        if (! namelen) {
          goto while_break;
        } else
        if ((int const   )*(path___6 + namelen) == 47) {
          goto while_break;
        }
      }
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    *stack = elem->prev;
    attr_stack_free(elem);
  }
  while_break: /* CIL Label */ ;
  }
  assert((int )(*stack)->origin);
  strbuf_addstr(& pathbuf, (char const   *)(*stack)->origin);
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (pathbuf.len < (size_t )dirlen)) {
      goto while_break___1;
    }
    len___0 = pathbuf.len;
    if (len___0 < (size_t )dirlen) {
      tmp___0 = git_is_dir_sep((int )*(path___6 + len___0));
      if (tmp___0) {
        len___0 ++;
      }
    }
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (len___0 < (size_t )dirlen) {
        tmp___1 = git_is_dir_sep((int )*(path___6 + len___0));
        if (tmp___1) {
          goto while_break___2;
        }
      } else {
        goto while_break___2;
      }
      len___0 ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    if (pathbuf.len > 0UL) {
      strbuf_addch(& pathbuf, '/');
    }
    strbuf_add(& pathbuf, (void const   *)(path___6 + pathbuf.len), len___0 - pathbuf.len);
    strbuf_addf(& pathbuf, (char const   *)"/%s", ".gitattributes");
    next___2 = read_attr(istate, (char const   *)pathbuf.buf, (unsigned int )(1 << 1));
    strbuf_setlen(& pathbuf, len___0);
    origin___0 = xstrdup((char const   *)pathbuf.buf);
    push_stack(stack, next___2, origin___0, len___0);
  }
  while_break___1: /* CIL Label */ ;
  }
  push_stack(stack, info___0, (char *)((void *)0), (size_t )0);
  strbuf_release(& pathbuf);
  return;
}
}
static int path_matches(char const   *pathname , int pathlen , int basename_offset ,
                        struct pattern  const  *pat , char const   *base , int baselen )
{
  char const   *pattern___0 ;
  int prefix___1 ;
  int isdir ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  pattern___0 = (char const   *)pat->pattern;
  prefix___1 = (int )pat->nowildcardlen;
  if (pathlen) {
    if ((int const   )*(pathname + (pathlen - 1)) == 47) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  isdir = tmp;
  if (pat->flags & 8U) {
    if (! isdir) {
      return (0);
    }
  }
  if (pat->flags & 1U) {
    tmp___0 = match_basename(pathname + basename_offset, (pathlen - basename_offset) - isdir,
                             pattern___0, prefix___1, (int )pat->patternlen, (unsigned int )pat->flags);
    return (tmp___0);
  }
  tmp___1 = match_pathname(pathname, pathlen - isdir, base, baselen, pattern___0,
                           prefix___1, (int )pat->patternlen, (unsigned int )pat->flags);
  return (tmp___1);
}
}
static int macroexpand_one(struct all_attrs_item *all_attrs___0 , int nr___0 , int rem ) ;
static int fill_one(char const   *what , struct all_attrs_item *all_attrs___0 , struct match_attr  const  *a ,
                    int rem )
{
  int i ;
  struct git_attr  const  *attr ;
  char const   **n ;
  char const   *v ;

  {
  i = (int )(a->num_attr - 1U);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (rem > 0) {
      if (! (i >= 0)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    attr = (struct git_attr  const  *)a->state[i].attr;
    n = & (all_attrs___0 + attr->attr_nr)->value;
    v = (char const   *)a->state[i].setto;
    if ((unsigned long )*n == (unsigned long )(git_attr__unknown)) {
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
      *n = v;
      rem --;
      rem = macroexpand_one(all_attrs___0, (int )attr->attr_nr, rem);
    }
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  return (rem);
}
}
static int fill(char const   *path___6 , int pathlen , int basename_offset , struct attr_stack  const  *stack ,
                struct all_attrs_item *all_attrs___0 , int rem )
{
  int i ;
  char const   *base ;
  char *tmp ;
  struct match_attr  const  *a ;
  int tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (rem > 0) {
      if (! stack) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if (stack->origin) {
      tmp = (char *)stack->origin;
    } else {
      tmp = "";
    }
    base = (char const   *)tmp;
    i = (int )(stack->num_matches - 1U);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (0 < rem) {
        if (! (0 <= i)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      a = (struct match_attr  const  *)*(stack->attrs + i);
      if (a->is_macro) {
        goto __Cont;
      }
      tmp___0 = path_matches(path___6, pathlen, basename_offset, (struct pattern  const  *)(& a->u.pat),
                             base, (int )stack->originlen);
      if (tmp___0) {
        rem = fill_one((char const   *)"fill", all_attrs___0, a, rem);
      }
      __Cont: /* CIL Label */
      i --;
    }
    while_break___0: /* CIL Label */ ;
    }
    stack = (struct attr_stack  const  *)stack->prev;
  }
  while_break: /* CIL Label */ ;
  }
  return (rem);
}
}
static int macroexpand_one(struct all_attrs_item *all_attrs___0 , int nr___0 , int rem )
{
  struct all_attrs_item  const  *item___0 ;
  int tmp ;

  {
  item___0 = (struct all_attrs_item  const  *)(all_attrs___0 + nr___0);
  if (item___0->macro) {
    if ((unsigned long )item___0->value == (unsigned long )(git_attr__true)) {
      tmp = fill_one((char const   *)"expand", all_attrs___0, (struct match_attr  const  *)item___0->macro,
                     rem);
      return (tmp);
    } else {
      return (rem);
    }
  } else {
    return (rem);
  }
}
}
static void determine_macros(struct all_attrs_item *all_attrs___0 , struct attr_stack  const  *stack )
{
  int i ;
  struct match_attr  const  *ma ;
  int n ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! stack) {
      goto while_break;
    }
    i = (int )(stack->num_matches - 1U);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i >= 0)) {
        goto while_break___0;
      }
      ma = (struct match_attr  const  *)*(stack->attrs + i);
      if (ma->is_macro) {
        n = (int )(ma->u.attr)->attr_nr;
        if (! (all_attrs___0 + n)->macro) {
          (all_attrs___0 + n)->macro = ma;
        }
      }
      i --;
    }
    while_break___0: /* CIL Label */ ;
    }
    stack = (struct attr_stack  const  *)stack->prev;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void collect_some_attrs(struct index_state *istate , char const   *path___6 ,
                               struct attr_check *check___4 )
{
  int pathlen ;
  int rem ;
  int dirlen ;
  char const   *cp ;
  char const   *last_slash ;
  int basename_offset ;

  {
  last_slash = (char const   *)((void *)0);
  cp = path___6;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *cp) {
      goto while_break;
    }
    if ((int const   )*cp == 47) {
      if (*(cp + 1)) {
        last_slash = cp;
      }
    }
    cp ++;
  }
  while_break: /* CIL Label */ ;
  }
  pathlen = (int )(cp - path___6);
  if (last_slash) {
    basename_offset = (int )((last_slash + 1) - path___6);
    dirlen = (int )(last_slash - path___6);
  } else {
    basename_offset = 0;
    dirlen = 0;
  }
  prepare_attr_stack(istate, path___6, dirlen, & check___4->stack);
  all_attrs_init(& g_attr_hashmap, check___4);
  determine_macros(check___4->all_attrs, (struct attr_stack  const  *)check___4->stack);
  rem = check___4->all_attrs_nr;
  fill(path___6, pathlen, basename_offset, (struct attr_stack  const  *)check___4->stack,
       check___4->all_attrs, rem);
  return;
}
}
void git_check_attr(struct index_state *istate , char const   *path___6 , struct attr_check *check___4 )
{
  int i ;
  size_t n ;
  char const   *value ;

  {
  collect_some_attrs(istate, path___6, check___4);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < check___4->nr)) {
      goto while_break;
    }
    n = (size_t )((check___4->items + i)->attr)->attr_nr;
    value = (check___4->all_attrs + n)->value;
    if ((unsigned long )value == (unsigned long )(git_attr__unknown)) {
      value = (char const   *)((void *)0);
    }
    (check___4->items + i)->value = value;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void git_all_attrs(struct index_state *istate , char const   *path___6 , struct attr_check *check___4 )
{
  int i ;
  char const   *name___0 ;
  char const   *value ;
  struct attr_check_item *item___0 ;
  struct git_attr  const  *tmp ;

  {
  attr_check_reset(check___4);
  collect_some_attrs(istate, path___6, check___4);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < check___4->all_attrs_nr)) {
      goto while_break;
    }
    name___0 = (char const   *)(((check___4->all_attrs + i)->attr)->name);
    value = (check___4->all_attrs + i)->value;
    if ((unsigned long )value == (unsigned long )((void *)0)) {
      goto __Cont;
    } else
    if ((unsigned long )value == (unsigned long )(git_attr__unknown)) {
      goto __Cont;
    }
    tmp = git_attr(name___0);
    item___0 = attr_check_append(check___4, tmp);
    item___0->value = value;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void attr_start(void)
{


  {
  pthread_mutex_init(& g_attr_hashmap.mutex, (pthread_mutexattr_t const   *)((void *)0));
  pthread_mutex_init(& check_vector.mutex, (pthread_mutexattr_t const   *)((void *)0));
  return;
}
}
static char const   en85[85]  =
  {      (char const   )'0',      (char const   )'1',      (char const   )'2',      (char const   )'3',
        (char const   )'4',      (char const   )'5',      (char const   )'6',      (char const   )'7',
        (char const   )'8',      (char const   )'9',      (char const   )'A',      (char const   )'B',
        (char const   )'C',      (char const   )'D',      (char const   )'E',      (char const   )'F',
        (char const   )'G',      (char const   )'H',      (char const   )'I',      (char const   )'J',
        (char const   )'K',      (char const   )'L',      (char const   )'M',      (char const   )'N',
        (char const   )'O',      (char const   )'P',      (char const   )'Q',      (char const   )'R',
        (char const   )'S',      (char const   )'T',      (char const   )'U',      (char const   )'V',
        (char const   )'W',      (char const   )'X',      (char const   )'Y',      (char const   )'Z',
        (char const   )'a',      (char const   )'b',      (char const   )'c',      (char const   )'d',
        (char const   )'e',      (char const   )'f',      (char const   )'g',      (char const   )'h',
        (char const   )'i',      (char const   )'j',      (char const   )'k',      (char const   )'l',
        (char const   )'m',      (char const   )'n',      (char const   )'o',      (char const   )'p',
        (char const   )'q',      (char const   )'r',      (char const   )'s',      (char const   )'t',
        (char const   )'u',      (char const   )'v',      (char const   )'w',      (char const   )'x',
        (char const   )'y',      (char const   )'z',      (char const   )'!',      (char const   )'#',
        (char const   )'$',      (char const   )'%',      (char const   )'&',      (char const   )'(',
        (char const   )')',      (char const   )'*',      (char const   )'+',      (char const   )'-',
        (char const   )';',      (char const   )'<',      (char const   )'=',      (char const   )'>',
        (char const   )'?',      (char const   )'@',      (char const   )'^',      (char const   )'_',
        (char const   )'`',      (char const   )'{',      (char const   )'|',      (char const   )'}',
        (char const   )'~'};
static char de85[256]  ;
static void prep_base85(void)
{
  int i ;
  int ch___0 ;

  {
  if (de85[90]) {
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(en85) / sizeof(en85[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    ch___0 = (int )en85[i];
    de85[ch___0] = (char )(i + 1);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int decode_85(char *dst , char const   *buffer___5 , int len___0 )
{
  unsigned int acc ;
  int de ;
  int cnt ;
  unsigned char ch___0 ;
  char const   *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;

  {
  prep_base85();
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! len___0) {
      goto while_break___0;
    }
    acc = 0U;
    cnt = 4;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      tmp = buffer___5;
      buffer___5 ++;
      ch___0 = (unsigned char )*tmp;
      de = (int )de85[ch___0];
      de --;
      if (de < 0) {
        error((char const   *)"invalid base85 alphabet %c", (int )ch___0);
        tmp___0 = const_error();
        return (tmp___0);
      }
      acc = acc * 85U + (unsigned int )de;
      cnt --;
      if (! cnt) {
        goto while_break___1;
      }
    }
    while_break___1: /* CIL Label */ ;
    }
    tmp___1 = buffer___5;
    buffer___5 ++;
    ch___0 = (unsigned char )*tmp___1;
    de = (int )de85[ch___0];
    de --;
    if (de < 0) {
      error((char const   *)"invalid base85 alphabet %c", (int )ch___0);
      tmp___2 = const_error();
      return (tmp___2);
    }
    if (50529027U < acc) {
      error((char const   *)"invalid base85 sequence %.5s", buffer___5 - 5);
      tmp___3 = const_error();
      return (tmp___3);
    } else {
      acc *= 85U;
      if (0xffffffff - (unsigned int )de < acc) {
        error((char const   *)"invalid base85 sequence %.5s", buffer___5 - 5);
        tmp___3 = const_error();
        return (tmp___3);
      }
    }
    acc += (unsigned int )de;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      goto while_break___2;
    }
    while_break___2: /* CIL Label */ ;
    }
    if (len___0 < 4) {
      cnt = len___0;
    } else {
      cnt = 4;
    }
    len___0 -= cnt;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      acc = (acc << 8) | (acc >> 24);
      tmp___4 = dst;
      dst ++;
      *tmp___4 = (char )acc;
      cnt --;
      if (! cnt) {
        goto while_break___3;
      }
    }
    while_break___3: /* CIL Label */ ;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    goto while_break___4;
  }
  while_break___4: /* CIL Label */ ;
  }
  return (0);
}
}
void encode_85(char *buf___19 , unsigned char const   *data , int bytes )
{
  unsigned int acc ;
  int cnt ;
  unsigned int ch___0 ;
  unsigned char const   *tmp ;
  int val ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! bytes) {
      goto while_break___0;
    }
    acc = 0U;
    cnt = 24;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (cnt >= 0)) {
        goto while_break___1;
      }
      tmp = data;
      data ++;
      ch___0 = (unsigned int )*tmp;
      acc |= ch___0 << cnt;
      bytes --;
      if (bytes == 0) {
        goto while_break___1;
      }
      cnt -= 8;
    }
    while_break___1: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      goto while_break___2;
    }
    while_break___2: /* CIL Label */ ;
    }
    cnt = 4;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! (cnt >= 0)) {
        goto while_break___3;
      }
      val = (int )(acc % 85U);
      acc /= 85U;
      *(buf___19 + cnt) = (char )en85[val];
      cnt --;
    }
    while_break___3: /* CIL Label */ ;
    }
    buf___19 += 5;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    goto while_break___4;
  }
  while_break___4: /* CIL Label */ ;
  }
  *buf___19 = (char)0;
  return;
}
}
static double const   __ac_HASH_UPPER___8  =    (double const   )0.77;
__inline static void kh_resize_oid_set___8(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___8(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___8 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___8 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___8(kh_oid_set_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___8(kh_oid_set_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___8(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___8(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___8(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___8(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___8 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___8 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___8(kh_oid_map_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___8(kh_oid_map_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___8(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___8(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___8(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___8(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___8 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___8 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___8(kh_oid_pos_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___8(kh_oid_pos_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___8(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___8(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
void traverse_commit_list(struct rev_info *revs , void (*show_commit___3)(struct commit * ,
                                                                          void * ) ,
                          void (*show_object___2)(struct object * , char const   * ,
                                                  void * ) , void *show_data ) ;
void mark_edges_uninteresting(struct rev_info *revs , void (*show_edge___1)(struct commit * ) ,
                              int sparse___0 ) ;
void traverse_commit_list_filtered(struct list_objects_filter_options *filter_options___3 ,
                                   struct rev_info *revs , void (*show_commit___3)(struct commit * ,
                                                                                   void * ) ,
                                   void (*show_object___2)(struct object * , char const   * ,
                                                           void * ) , void *show_data ,
                                   struct oidset *omitted ) ;
int oid_pos(struct object_id  const  *oid , void const   *table , size_t nr___0 ,
            oid_access_fn *fn ) ;
int bsearch_hash(unsigned char const   *hash___0 , uint32_t const   *fanout_nbo ,
                 unsigned char const   *table , size_t stride , uint32_t *result___0 ) ;
int parse_decorate_color_config(char const   *var , char const   *slot_name , char const   *value ) ;
int log_tree_diff_flush(struct rev_info *opt___0 ) ;
int log_tree_commit(struct rev_info *opt___0 , struct commit *commit ) ;
void show_log(struct rev_info *opt___0 ) ;
void format_decorations_extended(struct strbuf *sb___6 , struct commit  const  *commit ,
                                 int use_color , char const   *prefix___1 , char const   *separator ,
                                 char const   *suffix___3 ) ;
void show_decorations(struct rev_info *opt___0 , struct commit *commit ) ;
void log_write_email_headers(struct rev_info *opt___0 , struct commit *commit , char const   **extra_headers_p ,
                             int *need_8bit_cte_p , int maybe_multipart ) ;
void load_ref_decorations(struct decoration_filter *filter___0 , int flags___0 ) ;
void fmt_output_commit(struct strbuf *filename___0 , struct commit *commit , struct rev_info *info___0 ) ;
void fmt_output_subject(struct strbuf *filename___0 , char const   *subject , struct rev_info *info___0 ) ;
void fmt_output_email_subject(struct strbuf *sb___6 , struct rev_info *opt___0 ) ;
void find_bisection(struct commit_list **commit_list , int *reaches , int *all___2 ,
                    unsigned int bisect_flags ) ;
struct commit_list *filter_skipped(struct commit_list *list___3 , struct commit_list **tried ,
                                   int show_all___0 , int *count___0 , int *skipped_first ) ;
enum bisect_error bisect_next_all(struct repository *r , char const   *prefix___1 ) ;
int estimate_bisect_steps(int all___2 ) ;
void read_bisect_terms(char const   **read_bad , char const   **read_good ) ;
int bisect_clean_state(void) ;
struct commit_list *repo_get_merge_bases(struct repository *r , struct commit *one___0 ,
                                         struct commit *two___0 ) ;
struct commit_list *repo_get_merge_bases_many(struct repository *r , struct commit *one___0 ,
                                              int n , struct commit **twos ) ;
struct commit_list *repo_get_merge_bases_many_dirty(struct repository *r , struct commit *one___0 ,
                                                    int n , struct commit **twos ) ;
struct commit_list *get_octopus_merge_bases(struct commit_list *in ) ;
int repo_is_descendant_of(struct repository *r , struct commit *commit , struct commit_list *with_commit ) ;
int repo_in_merge_bases(struct repository *r , struct commit *commit , struct commit *reference ) ;
int repo_in_merge_bases_many(struct repository *r , struct commit *commit , int nr_reference ,
                             struct commit **reference ) ;
struct commit_list *reduce_heads(struct commit_list *heads ) ;
void reduce_heads_replace(struct commit_list **heads ) ;
int ref_newer(struct object_id  const  *new_oid , struct object_id  const  *old_oid ) ;
static void init_contains_cache_with_stride(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride(s___1, 1U);
  return;
}
}
static void clear_contains_cache(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 ,
                                                    int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 ,
                                                    int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at(struct contains_cache *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at(struct contains_cache *s___1 , struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek(struct contains_cache *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek(struct contains_cache *s___1 , struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
int commit_contains(struct ref_filter *filter___0 , struct commit *commit , struct commit_list *list___3 ,
                    struct contains_cache *cache___0 ) ;
int can_all_from_reach_with_flag(struct object_array *from___0 , unsigned int with_flag ,
                                 unsigned int assign_flag , time_t min_commit_date ,
                                 timestamp_t min_generation ) ;
int can_all_from_reach(struct commit_list *from___0 , struct commit_list *to , int cutoff_by_min_date ) ;
struct commit_list *get_reachable_subset(struct commit **from___0 , int nr_from ,
                                         struct commit **to , int nr_to , unsigned int reachable_flag ) ;
__inline static void kh_resize_odb_path_map___5(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___5(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___8 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___8 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___5(kh_odb_path_map_t *h , char const   *key___1 ,
                                                int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___5(kh_odb_path_map_t *h , char const   *key___1 ,
                                                int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___5(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___5(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static struct oid_array good_revs  ;
static struct oid_array skipped_revs  ;
static struct object_id *current_bad_oid  ;
static char const   *argv_checkout[5]  = {      (char const   *)"checkout",      (char const   *)"-q",      (char const   *)((void *)0),      (char const   *)"--",
        (char const   *)((void *)0)};
static char const   *term_bad  ;
static char const   *term_good  ;
static int count_distance(struct commit_list *entry )
{
  int nr___0 ;
  struct commit *commit ;
  struct commit_list *p___0 ;
  int tmp ;

  {
  nr___0 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! entry) {
      goto while_break;
    }
    commit = entry->item;
    if (commit->object.flags & ((1u << 1) | (1u << 16))) {
      goto while_break;
    }
    if (! (commit->object.flags & (1u << 2))) {
      nr___0 ++;
    }
    commit->object.flags |= 1u << 16;
    p___0 = commit->parents;
    entry = p___0;
    if (p___0) {
      p___0 = p___0->next;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! p___0) {
          goto while_break___0;
        }
        tmp = count_distance(p___0);
        nr___0 += tmp;
        p___0 = p___0->next;
      }
      while_break___0: /* CIL Label */ ;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (nr___0);
}
}
static void clear_distance(struct commit_list *list___3 )
{
  struct commit *commit ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    commit = list___3->item;
    commit->object.flags &= ~ (1u << 16);
    list___3 = list___3->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void init_commit_weight_with_stride(struct commit_weight *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_commit_weight_with_stride(struct commit_weight *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(int *) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (int ***)((void *)0);
  return;
}
}
static void init_commit_weight(struct commit_weight *s___1 )  __attribute__((__unused__)) ;
static void init_commit_weight(struct commit_weight *s___1 )
{


  {
  init_commit_weight_with_stride(s___1, 1U);
  return;
}
}
static void clear_commit_weight(struct commit_weight *s___1 )  __attribute__((__unused__)) ;
static void clear_commit_weight(struct commit_weight *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (int ***)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_commit_weight(struct commit_weight *s___1 , void (*free_fn)(int ** ) )  __attribute__((__unused__)) ;
static void deep_clear_commit_weight(struct commit_weight *s___1 , void (*free_fn)(int ** ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_commit_weight(s___1);
  return;
}
}
static int **commit_weight_at_peek(struct commit_weight *s___1 , struct commit  const  *c___0 ,
                                   int add_if_missing )  __attribute__((__unused__)) ;
static int **commit_weight_at_peek(struct commit_weight *s___1 , struct commit  const  *c___0 ,
                                   int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((int **)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (int ***)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (int **)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((int **)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (int **)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static int **commit_weight_at(struct commit_weight *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static int **commit_weight_at(struct commit_weight *s___1 , struct commit  const  *c___0 )
{
  int **tmp ;

  {
  tmp = commit_weight_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static int **commit_weight_peek(struct commit_weight *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static int **commit_weight_peek(struct commit_weight *s___1 , struct commit  const  *c___0 )
{
  int **tmp ;

  {
  tmp = commit_weight_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
static struct commit_weight commit_weight  ;
__inline static int weight(struct commit_list *elem )
{
  int **tmp ;

  {
  tmp = commit_weight_at(& commit_weight, (struct commit  const  *)elem->item);
  return (*(*tmp));
}
}
__inline static void weight_set(struct commit_list *elem , int weight___0 )
{
  int **tmp ;

  {
  tmp = commit_weight_at(& commit_weight, (struct commit  const  *)elem->item);
  *(*tmp) = weight___0;
  return;
}
}
static int count_interesting_parents(struct commit *commit , unsigned int bisect_flags )
{
  struct commit_list *p___0 ;
  int count___0 ;

  {
  count___0 = 0;
  p___0 = commit->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if (! ((p___0->item)->object.flags & (1u << 1))) {
      count___0 ++;
    }
    if (bisect_flags & (1u << 1)) {
      goto while_break;
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (count___0);
}
}
__inline static int approx_halfway(struct commit_list *p___0 , int nr___0 )
{
  int diff ;
  int tmp ;
  int tmp___0 ;

  {
  if ((p___0->item)->object.flags & (1u << 2)) {
    return (0);
  }
  tmp = weight(p___0);
  diff = 2 * tmp - nr___0;
  {
  if (diff == 1) {
    goto case_1;
  }
  if (diff == 0) {
    goto case_1;
  }
  if (diff == -1) {
    goto case_1;
  }
  goto switch_default;
  case_1: /* CIL Label */
  case_0: /* CIL Label */
  case_neg_1: /* CIL Label */
  return (1);
  switch_default: /* CIL Label */
  tmp___0 = abs(diff);
  if (tmp___0 < nr___0 / 1024) {
    return (1);
  }
  return (0);
  switch_break: /* CIL Label */ ;
  }
}
}
static void show_list(char const   *debug___2 , int counted , int nr___0 , struct commit_list *list___3 )
{
  struct commit_list *p___0 ;
  struct commit_list *pp ;
  struct commit *commit ;
  unsigned int commit_flags ;
  enum object_type type___0 ;
  unsigned long size ;
  char *buf___19 ;
  void *tmp ;
  char const   *subject_start ;
  int subject_len ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int **tmp___4 ;
  char *tmp___5 ;
  char *tmp___6 ;

  {
  return;
  fprintf(stderr, (char const   *)"%s (%d/%d)\n", debug___2, counted, nr___0);
  p___0 = list___3;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    commit = p___0->item;
    commit_flags = commit->object.flags;
    tmp = repo_read_object_file(the_repository, (struct object_id  const  *)(& commit->object.oid),
                                & type___0, & size);
    buf___19 = (char *)tmp;
    if (commit_flags & (1u << 16)) {
      tmp___0 = 'C';
    } else {
      tmp___0 = ' ';
    }
    if (commit_flags & (1u << 1)) {
      tmp___1 = 'U';
    } else {
      tmp___1 = ' ';
    }
    if (commit_flags & (1u << 2)) {
      tmp___2 = ' ';
    } else {
      tmp___2 = 'T';
    }
    fprintf(stderr, (char const   *)"%c%c%c ", tmp___2, tmp___1, tmp___0);
    tmp___4 = commit_weight_at(& commit_weight, (struct commit  const  *)p___0->item);
    if (*tmp___4) {
      tmp___3 = weight(p___0);
      fprintf(stderr, (char const   *)"%3d", tmp___3);
    } else {
      fprintf(stderr, (char const   *)"---");
    }
    tmp___5 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    fprintf(stderr, (char const   *)" %.*s", 8, tmp___5);
    pp = commit->parents;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! pp) {
        goto while_break___0;
      }
      tmp___6 = oid_to_hex((struct object_id  const  *)(& (pp->item)->object.oid));
      fprintf(stderr, (char const   *)" %.*s", 8, tmp___6);
      pp = pp->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    subject_len = find_commit_subject((char const   *)buf___19, & subject_start);
    if (subject_len) {
      fprintf(stderr, (char const   *)" %.*s", subject_len, subject_start);
    }
    fprintf(stderr, (char const   *)"\n");
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
}
}
static struct commit_list *best_bisection(struct commit_list *list___3 , int nr___0 )
{
  struct commit_list *p___0 ;
  struct commit_list *best ;
  int best_distance ;
  int distance ;
  unsigned int commit_flags ;

  {
  best_distance = -1;
  best = list___3;
  p___0 = list___3;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    commit_flags = (p___0->item)->object.flags;
    if (commit_flags & (1u << 2)) {
      goto __Cont;
    }
    distance = weight(p___0);
    if (nr___0 - distance < distance) {
      distance = nr___0 - distance;
    }
    if (distance > best_distance) {
      best = p___0;
      best_distance = distance;
    }
    __Cont: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (best);
}
}
static int compare_commit_dist(void const   *a_ , void const   *b_ )
{
  struct commit_dist *a ;
  struct commit_dist *b___0 ;
  int tmp ;

  {
  a = (struct commit_dist *)a_;
  b___0 = (struct commit_dist *)b_;
  if (a->distance != b___0->distance) {
    return (b___0->distance - a->distance);
  }
  tmp = oidcmp((struct object_id  const  *)(& (a->commit)->object.oid), (struct object_id  const  *)(& (b___0->commit)->object.oid));
  return (tmp);
}
}
static struct commit_list *best_bisection_sorted(struct commit_list *list___3 , int nr___0 )
{
  struct commit_list *p___0 ;
  struct commit_dist *array ;
  void *tmp ;
  struct strbuf buf___19 ;
  int cnt ;
  int i ;
  int distance ;
  unsigned int commit_flags ;
  struct object *obj ;

  {
  tmp = xcalloc((size_t )nr___0, sizeof(*array));
  array = (struct commit_dist *)tmp;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  p___0 = list___3;
  cnt = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    commit_flags = (p___0->item)->object.flags;
    if (commit_flags & (1u << 2)) {
      goto __Cont;
    }
    distance = weight(p___0);
    if (nr___0 - distance < distance) {
      distance = nr___0 - distance;
    }
    (array + cnt)->commit = p___0->item;
    (array + cnt)->distance = distance;
    cnt ++;
    __Cont: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  sane_qsort((void *)array, (size_t )cnt, sizeof(*array), & compare_commit_dist);
  p___0 = list___3;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < cnt)) {
      goto while_break___0;
    }
    obj = & ((array + i)->commit)->object;
    strbuf_setlen(& buf___19, (size_t )0);
    strbuf_addf(& buf___19, (char const   *)"dist=%d", (array + i)->distance);
    add_name_decoration((enum decoration_type )0, (char const   *)buf___19.buf, obj);
    p___0->item = (array + i)->commit;
    if (i < cnt - 1) {
      p___0 = p___0->next;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (p___0) {
    free_commit_list(p___0->next);
    p___0->next = (struct commit_list *)((void *)0);
  }
  strbuf_release(& buf___19);
  free((void *)array);
  return (list___3);
}
}
static struct commit_list *do_find_bisection(struct commit_list *list___3 , int nr___0 ,
                                             int *weights , unsigned int bisect_flags )
{
  int n ;
  int counted ;
  struct commit_list *p___0 ;
  struct commit *commit ;
  unsigned int commit_flags ;
  int **tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  struct commit_list *q ;
  unsigned int commit_flags___0 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  struct commit_list *tmp___10 ;
  struct commit_list *tmp___11 ;

  {
  counted = 0;
  n = 0;
  p___0 = list___3;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    commit = p___0->item;
    commit_flags = commit->object.flags;
    tmp = commit_weight_at(& commit_weight, (struct commit  const  *)p___0->item);
    tmp___0 = n;
    n ++;
    *tmp = weights + tmp___0;
    tmp___1 = count_interesting_parents(commit, bisect_flags);
    {
    if (tmp___1 == 0) {
      goto case_0;
    }
    if (tmp___1 == 1) {
      goto case_1;
    }
    goto switch_default;
    case_0: /* CIL Label */
    if (! (commit_flags & (1u << 2))) {
      weight_set(p___0, 1);
      counted ++;
      show_list((char const   *)"bisection 2 count one", counted, nr___0, list___3);
    }
    goto switch_break;
    case_1: /* CIL Label */
    weight_set(p___0, -1);
    goto switch_break;
    switch_default: /* CIL Label */
    weight_set(p___0, -2);
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  show_list((char const   *)"bisection 2 initialize", counted, nr___0, list___3);
  p___0 = list___3;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___0;
    }
    if ((p___0->item)->object.flags & (1u << 1)) {
      goto __Cont;
    }
    tmp___2 = weight(p___0);
    if (tmp___2 != -2) {
      goto __Cont;
    }
    if (bisect_flags & (1u << 1)) {
      BUG_fl((char const   *)"bisect.c", 330, (char const   *)"shouldn\'t be calling count-distance in fp mode");
    }
    tmp___3 = count_distance(p___0);
    weight_set(p___0, tmp___3);
    clear_distance(list___3);
    if (! (bisect_flags & 1u)) {
      tmp___4 = approx_halfway(p___0, nr___0);
      if (tmp___4) {
        return (p___0);
      }
    }
    counted ++;
    __Cont: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  show_list((char const   *)"bisection 2 count_distance", counted, nr___0, list___3);
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (counted < nr___0)) {
      goto while_break___1;
    }
    p___0 = list___3;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! p___0) {
        goto while_break___2;
      }
      commit_flags___0 = (p___0->item)->object.flags;
      tmp___5 = weight(p___0);
      if (0 <= tmp___5) {
        goto __Cont___0;
      }
      q = (p___0->item)->parents;
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if (! q) {
          goto while_break___3;
        }
        if ((q->item)->object.flags & (1u << 1)) {
          goto __Cont___1;
        }
        tmp___6 = weight(q);
        if (0 <= tmp___6) {
          goto while_break___3;
        }
        __Cont___1: /* CIL Label */
        if (bisect_flags & (1u << 1)) {
          q = (struct commit_list *)((void *)0);
        } else {
          q = q->next;
        }
      }
      while_break___3: /* CIL Label */ ;
      }
      if (! q) {
        goto __Cont___0;
      }
      if (! (commit_flags___0 & (1u << 2))) {
        tmp___7 = weight(q);
        weight_set(p___0, tmp___7 + 1);
        counted ++;
        show_list((char const   *)"bisection 2 count one", counted, nr___0, list___3);
      } else {
        tmp___8 = weight(q);
        weight_set(p___0, tmp___8);
      }
      if (! (bisect_flags & 1u)) {
        tmp___9 = approx_halfway(p___0, nr___0);
        if (tmp___9) {
          return (p___0);
        }
      }
      __Cont___0: /* CIL Label */
      p___0 = p___0->next;
    }
    while_break___2: /* CIL Label */ ;
    }
  }
  while_break___1: /* CIL Label */ ;
  }
  show_list((char const   *)"bisection 2 counted all", counted, nr___0, list___3);
  if (! (bisect_flags & 1u)) {
    tmp___10 = best_bisection(list___3, nr___0);
    return (tmp___10);
  } else {
    tmp___11 = best_bisection_sorted(list___3, nr___0);
    return (tmp___11);
  }
}
}
void find_bisection(struct commit_list **commit_list , int *reaches , int *all___2 ,
                    unsigned int bisect_flags )
{
  int nr___0 ;
  int on_list ;
  struct commit_list *list___3 ;
  struct commit_list *p___0 ;
  struct commit_list *best ;
  struct commit_list *next___2 ;
  struct commit_list *last ;
  int *weights ;
  unsigned int commit_flags ;
  void *tmp ;

  {
  show_list((char const   *)"bisection 2 entry", 0, 0, *commit_list);
  init_commit_weight(& commit_weight);
  on_list = 0;
  nr___0 = on_list;
  last = (struct commit_list *)((void *)0);
  p___0 = *commit_list;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    commit_flags = (p___0->item)->object.flags;
    next___2 = p___0->next;
    if (commit_flags & (1u << 1)) {
      free((void *)p___0);
      goto __Cont;
    }
    p___0->next = last;
    last = p___0;
    if (! (commit_flags & (1u << 2))) {
      nr___0 ++;
    }
    on_list ++;
    __Cont: /* CIL Label */
    p___0 = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  list___3 = last;
  show_list((char const   *)"bisection 2 sorted", 0, nr___0, list___3);
  *all___2 = nr___0;
  tmp = xcalloc((size_t )on_list, sizeof(*weights));
  weights = (int *)tmp;
  best = do_find_bisection(list___3, nr___0, weights, bisect_flags);
  if (best) {
    if (! (bisect_flags & 1u)) {
      list___3->item = best->item;
      free_commit_list(list___3->next);
      best = list___3;
      best->next = (struct commit_list *)((void *)0);
    }
    *reaches = weight(best);
  }
  free((void *)weights);
  *commit_list = best;
  clear_commit_weight(& commit_weight);
  return;
}
}
static int register_ref(char const   *refname , struct object_id  const  *oid , int flags___0 ,
                        void *cb_data )
{
  struct strbuf good_prefix ;
  void *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  good_prefix.alloc = 0UL;
  good_prefix.len = 0UL;
  good_prefix.buf = strbuf_slopbuf;
  strbuf_addstr(& good_prefix, term_good);
  strbuf_addstr(& good_prefix, (char const   *)"-");
  tmp___2 = strcmp(refname, term_bad);
  if (tmp___2) {
    tmp___1 = starts_with(refname, (char const   *)good_prefix.buf);
    if (tmp___1) {
      oid_array_append(& good_revs, oid);
    } else {
      tmp___0 = starts_with(refname, (char const   *)"skip-");
      if (tmp___0) {
        oid_array_append(& skipped_revs, oid);
      }
    }
  } else {
    tmp = xmalloc(sizeof(*current_bad_oid));
    current_bad_oid = (struct object_id *)tmp;
    oidcpy(current_bad_oid, oid);
  }
  strbuf_release(& good_prefix);
  return (0);
}
}
static int read_bisect_refs(void)
{
  int tmp ;

  {
  tmp = for_each_ref_in((char const   *)"refs/bisect/", & register_ref, (void *)0);
  return (tmp);
}
}
static char *ret___0  ;
static char const   *git_path_bisect_names(void)
{


  {
  if (! ret___0) {
    ret___0 = git_pathdup((char const   *)"BISECT_NAMES");
  }
  return ((char const   *)ret___0);
}
}
static char *ret___1  ;
static char const   *git_path_bisect_expected_rev(void)
{


  {
  if (! ret___1) {
    ret___1 = git_pathdup((char const   *)"BISECT_EXPECTED_REV");
  }
  return ((char const   *)ret___1);
}
}
static char *ret___2  ;
static char const   *git_path_bisect_ancestors_ok(void)
{


  {
  if (! ret___2) {
    ret___2 = git_pathdup((char const   *)"BISECT_ANCESTORS_OK");
  }
  return ((char const   *)ret___2);
}
}
static char *ret___3  ;
static char const   *git_path_bisect_run(void)
{


  {
  if (! ret___3) {
    ret___3 = git_pathdup((char const   *)"BISECT_RUN");
  }
  return ((char const   *)ret___3);
}
}
static char *ret___4  ;
static char const   *git_path_bisect_start(void)
{


  {
  if (! ret___4) {
    ret___4 = git_pathdup((char const   *)"BISECT_START");
  }
  return ((char const   *)ret___4);
}
}
static char *ret___5  ;
static char const   *git_path_bisect_log(void)
{


  {
  if (! ret___5) {
    ret___5 = git_pathdup((char const   *)"BISECT_LOG");
  }
  return ((char const   *)ret___5);
}
}
static char *ret___6  ;
static char const   *git_path_bisect_terms(void)
{


  {
  if (! ret___6) {
    ret___6 = git_pathdup((char const   *)"BISECT_TERMS");
  }
  return ((char const   *)ret___6);
}
}
static char *ret___7  ;
static char const   *git_path_bisect_first_parent(void)
{


  {
  if (! ret___7) {
    ret___7 = git_pathdup((char const   *)"BISECT_FIRST_PARENT");
  }
  return ((char const   *)ret___7);
}
}
static char *ret___8  ;
static char const   *git_path_head_name(void)
{


  {
  if (! ret___8) {
    ret___8 = git_pathdup((char const   *)"head-name");
  }
  return ((char const   *)ret___8);
}
}
static void read_bisect_paths(struct strvec *array )
{
  struct strbuf str ;
  char const   *filename___0 ;
  char const   *tmp ;
  FILE *fp ;
  FILE *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  str.alloc = 0UL;
  str.len = 0UL;
  str.buf = strbuf_slopbuf;
  tmp = git_path_bisect_names();
  filename___0 = tmp;
  tmp___0 = xfopen(filename___0, (char const   *)"r");
  fp = tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = strbuf_getline_lf(& str, fp);
    if (! (tmp___3 != -1)) {
      goto while_break;
    }
    strbuf_trim(& str);
    tmp___2 = sq_dequote_to_strvec(str.buf, array);
    if (tmp___2) {
      tmp___1 = _((char const   *)"Badly quoted content in file \'%s\': %s");
      die((char const   *)tmp___1, filename___0, str.buf);
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& str);
  fclose(fp);
  return;
}
}
static char *join_oid_array_hex(struct oid_array *array , char delim___0 )
{
  struct strbuf joined_hexs ;
  int i ;
  char *tmp ;
  char *tmp___0 ;

  {
  joined_hexs.alloc = 0UL;
  joined_hexs.len = 0UL;
  joined_hexs.buf = strbuf_slopbuf;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < array->nr)) {
      goto while_break;
    }
    tmp = oid_to_hex((struct object_id  const  *)(array->oid + i));
    strbuf_addstr(& joined_hexs, (char const   *)tmp);
    if ((size_t )(i + 1) < array->nr) {
      strbuf_addch(& joined_hexs, (int )delim___0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = strbuf_detach(& joined_hexs, (size_t *)((void *)0));
  return (tmp___0);
}
}
struct commit_list *filter_skipped(struct commit_list *list___3 , struct commit_list **tried ,
                                   int show_all___0 , int *count___0 , int *skipped_first )
{
  struct commit_list *filtered ;
  struct commit_list **f ;
  struct commit_list *next___2 ;
  int tmp ;

  {
  filtered = (struct commit_list *)((void *)0);
  f = & filtered;
  *tried = (struct commit_list *)((void *)0);
  if (skipped_first) {
    *skipped_first = 0;
  }
  if (count___0) {
    *count___0 = 0;
  }
  if (! skipped_revs.nr) {
    return (list___3);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    next___2 = list___3->next;
    list___3->next = (struct commit_list *)((void *)0);
    tmp = oid_array_lookup(& skipped_revs, (struct object_id  const  *)(& (list___3->item)->object.oid));
    if (0 <= tmp) {
      if (skipped_first) {
        if (! *skipped_first) {
          *skipped_first = 1;
        }
      }
      *tried = list___3;
      tried = & list___3->next;
    } else {
      if (! show_all___0) {
        if (! skipped_first) {
          return (list___3);
        } else
        if (! *skipped_first) {
          return (list___3);
        }
      } else
      if (skipped_first) {
        if (! *skipped_first) {
          *skipped_first = -1;
        }
      }
      *f = list___3;
      f = & list___3->next;
      if (count___0) {
        (*count___0) ++;
      }
    }
    list___3 = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  if (skipped_first) {
    if (*skipped_first == -1) {
      *skipped_first = 0;
    }
  }
  return (filtered);
}
}
static unsigned int get_prn(unsigned int count___0 )
{


  {
  count___0 = count___0 * 1103515245U + 12345U;
  return ((count___0 / 65536U) % 32768U);
}
}
static int sqrti(int val )
{
  float d ;
  float x ;
  float y ;

  {
  x = (float )val;
  if (! val) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    y = (x + (float )val / x) / (float )2;
    if (y > x) {
      d = y - x;
    } else {
      d = x - y;
    }
    x = y;
    if (! ((double )d >= 0.5)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return ((int )x);
}
}
static struct commit_list *skip_away(struct commit_list *list___3 , int count___0 )
{
  struct commit_list *cur ;
  struct commit_list *previous ;
  int prn ;
  int index___2 ;
  int i ;
  unsigned int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = get_prn((unsigned int )count___0);
  prn = (int )tmp;
  tmp___0 = sqrti(prn);
  tmp___1 = sqrti(32768);
  index___2 = (((count___0 * prn) / 32768) * tmp___0) / tmp___1;
  cur = list___3;
  previous = (struct commit_list *)((void *)0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! cur) {
      goto while_break;
    }
    if (i == index___2) {
      tmp___2 = oideq((struct object_id  const  *)(& (cur->item)->object.oid), (struct object_id  const  *)current_bad_oid);
      if (! tmp___2) {
        return (cur);
      }
      if (previous) {
        return (previous);
      }
      return (list___3);
    }
    previous = cur;
    cur = cur->next;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (list___3);
}
}
static struct commit_list *managed_skipped(struct commit_list *list___3 , struct commit_list **tried )
{
  int count___0 ;
  int skipped_first ;
  struct commit_list *tmp ;

  {
  *tried = (struct commit_list *)((void *)0);
  if (! skipped_revs.nr) {
    return (list___3);
  }
  list___3 = filter_skipped(list___3, tried, 0, & count___0, & skipped_first);
  if (! skipped_first) {
    return (list___3);
  }
  tmp = skip_away(list___3, count___0);
  return (tmp);
}
}
static void bisect_rev_setup(struct repository *r , struct rev_info *revs , char const   *prefix___1 ,
                             char const   *bad_format , char const   *good_format ,
                             int read_paths )
{
  struct strvec rev_argv ;
  int i ;
  char *tmp ;
  char *tmp___0 ;

  {
  rev_argv.v = empty_strvec;
  rev_argv.nr = 0UL;
  rev_argv.alloc = 0UL;
  repo_init_revisions(r, revs, prefix___1);
  revs->abbrev = 0U;
  revs->commit_format = (enum cmit_fmt )9;
  strvec_push(& rev_argv, (char const   *)"bisect_rev_setup");
  tmp = oid_to_hex((struct object_id  const  *)current_bad_oid);
  strvec_pushf(& rev_argv, bad_format, tmp);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < good_revs.nr)) {
      goto while_break;
    }
    tmp___0 = oid_to_hex((struct object_id  const  *)(good_revs.oid + i));
    strvec_pushf(& rev_argv, good_format, tmp___0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strvec_push(& rev_argv, (char const   *)"--");
  if (read_paths) {
    read_bisect_paths(& rev_argv);
  }
  setup_revisions((int )rev_argv.nr, rev_argv.v, revs, (struct setup_revision_opt *)((void *)0));
  return;
}
}
static void bisect_common(struct rev_info *revs )
{
  int tmp ;

  {
  tmp = prepare_revision_walk(revs);
  if (tmp) {
    die((char const   *)"revision walk setup failed");
  }
  if (revs->tree_objects) {
    mark_edges_uninteresting(revs, (void (*)(struct commit * ))((void *)0), 0);
  }
  return;
}
}
static enum bisect_error error_if_skipped_commits(struct commit_list *tried , struct object_id  const  *bad )
{
  char *tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  if (! tried) {
    return ((enum bisect_error )0);
  }
  printf((char const   *)"There are only \'skip\'ped commits left to test.\nThe first %s commit could be any of:\n",
         term_bad);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tried) {
      goto while_break;
    }
    tmp = oid_to_hex((struct object_id  const  *)(& (tried->item)->object.oid));
    printf((char const   *)"%s\n", tmp);
    tried = tried->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (bad) {
    tmp___0 = oid_to_hex(bad);
    printf((char const   *)"%s\n", tmp___0);
  }
  tmp___1 = _((char const   *)"We cannot bisect more!\n");
  printf((char const   *)tmp___1);
  return ((enum bisect_error )-2);
}
}
static int is_expected_rev(struct object_id  const  *oid )
{
  char const   *filename___0 ;
  char const   *tmp ;
  struct stat st ;
  struct strbuf str ;
  FILE *fp ;
  int res ;
  int tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp = git_path_bisect_expected_rev();
  filename___0 = tmp;
  str.alloc = 0UL;
  str.len = 0UL;
  str.buf = strbuf_slopbuf;
  res = 0;
  tmp___0 = stat(filename___0, & st);
  if (tmp___0) {
    return (0);
  } else
  if (! ((st.st_mode & 61440U) == 32768U)) {
    return (0);
  }
  fp = fopen_or_warn(filename___0, (char const   *)"r");
  if (! fp) {
    return (0);
  }
  tmp___4 = strbuf_getline_lf(& str, fp);
  if (tmp___4 != -1) {
    tmp___1 = oid_to_hex(oid);
    tmp___2 = strcmp((char const   *)str.buf, (char const   *)tmp___1);
    if (tmp___2) {
      tmp___3 = 0;
    } else {
      tmp___3 = 1;
    }
    res = tmp___3;
  }
  strbuf_release(& str);
  fclose(fp);
  return (res);
}
}
static enum bisect_error bisect_checkout(struct object_id  const  *bisect_rev , int no_checkout )
{
  char bisect_rev_hex[65] ;
  struct commit *commit ;
  struct pretty_print_context pp ;
  struct strbuf commit_msg ;
  int tmp ;

  {
  pp.fmt = (enum cmit_fmt )0;
  pp.abbrev = 0;
  pp.after_subject = (char const   *)0;
  pp.preserve_subject = 0;
  pp.date_mode.type = 0U;
  pp.date_mode.strftime_fmt = (char const   *)0;
  pp.date_mode.local = 0;
  pp.date_mode_explicit = 0U;
  pp.print_email_subject = 0;
  pp.expand_tabs_in_log = 0;
  pp.need_8bit_cte = 0;
  pp.notes_message = (char *)0;
  pp.reflog_info = (struct reflog_walk_info *)0;
  pp.rev = (struct rev_info *)0;
  pp.output_encoding = (char const   *)0;
  pp.mailmap = (struct string_list *)0;
  pp.color = 0;
  pp.from_ident = (struct ident_split *)0;
  pp.encode_email_headers = 0U;
  pp.describe_status = (struct pretty_print_describe_status *)0;
  pp.in_body_headers.items = (struct string_list_item *)0;
  pp.in_body_headers.nr = 0U;
  pp.in_body_headers.alloc = 0U;
  pp.in_body_headers.strdup_strings = 0U;
  pp.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
  pp.graph_width = 0;
  commit_msg.alloc = 0UL;
  commit_msg.len = 0UL;
  commit_msg.buf = strbuf_slopbuf;
  oid_to_hex_r(bisect_rev_hex, bisect_rev);
  update_ref((char const   *)((void *)0), (char const   *)"BISECT_EXPECTED_REV", bisect_rev,
             (struct object_id  const  *)((void *)0), 0U, (enum action_on_err )1);
  argv_checkout[2] = (char const   *)(bisect_rev_hex);
  if (no_checkout) {
    update_ref((char const   *)((void *)0), (char const   *)"BISECT_HEAD", bisect_rev,
               (struct object_id  const  *)((void *)0), 0U, (enum action_on_err )1);
  } else {
    tmp = run_command_v_opt(argv_checkout, 1 << 1);
    if (tmp) {
      return ((enum bisect_error )-1);
    }
  }
  commit = lookup_commit_reference(the_repository, bisect_rev);
  repo_format_commit_message(the_repository, (struct commit  const  *)commit, (char const   *)"[%H] %s%n",
                             & commit_msg, (struct pretty_print_context  const  *)(& pp));
  fputs((char const   * __restrict  )commit_msg.buf, (FILE * __restrict  )stdout);
  strbuf_release(& commit_msg);
  return ((enum bisect_error )0);
}
}
static struct commit *get_commit_reference(struct repository *r , struct object_id  const  *oid )
{
  struct commit *c___0 ;
  struct commit *tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  tmp = lookup_commit_reference(r, oid);
  c___0 = tmp;
  if (! c___0) {
    tmp___0 = oid_to_hex(oid);
    tmp___1 = _((char const   *)"Not a valid commit name %s");
    die((char const   *)tmp___1, tmp___0);
  }
  return (c___0);
}
}
static struct commit **get_bad_and_good_commits(struct repository *r , int *rev_nr )
{
  struct commit **rev ;
  int i ;
  int n ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  n = 0;
  tmp = st_mult(sizeof(*rev), 1UL + good_revs.nr);
  tmp___0 = xmalloc(tmp);
  rev = (struct commit **)tmp___0;
  tmp___1 = n;
  n ++;
  *(rev + tmp___1) = get_commit_reference(r, (struct object_id  const  *)current_bad_oid);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < good_revs.nr)) {
      goto while_break;
    }
    tmp___2 = n;
    n ++;
    *(rev + tmp___2) = get_commit_reference(r, (struct object_id  const  *)(good_revs.oid + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  *rev_nr = n;
  return (rev);
}
}
static enum bisect_error handle_bad_merge_base(void)
{
  char *bad_hex ;
  char *tmp ;
  char *good_hex ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;

  {
  tmp___8 = is_expected_rev((struct object_id  const  *)current_bad_oid);
  if (tmp___8) {
    tmp = oid_to_hex((struct object_id  const  *)current_bad_oid);
    bad_hex = tmp;
    tmp___0 = join_oid_array_hex(& good_revs, (char )' ');
    good_hex = tmp___0;
    tmp___6 = strcmp(term_bad, (char const   *)"bad");
    if (tmp___6) {
      _L: /* CIL Label */
      tmp___4 = strcmp(term_bad, (char const   *)"new");
      if (tmp___4) {
        tmp___3 = _((char const   *)"The merge base %s is %s.\nThis means the first \'%s\' commit is between %s and [%s].\n");
        fprintf(stderr, (char const   *)tmp___3, bad_hex, term_bad, term_good, bad_hex,
                good_hex);
      } else {
        tmp___5 = strcmp(term_good, (char const   *)"old");
        if (tmp___5) {
          tmp___3 = _((char const   *)"The merge base %s is %s.\nThis means the first \'%s\' commit is between %s and [%s].\n");
          fprintf(stderr, (char const   *)tmp___3, bad_hex, term_bad, term_good, bad_hex,
                  good_hex);
        } else {
          tmp___2 = _((char const   *)"The merge base %s is new.\nThe property has changed between %s and [%s].\n");
          fprintf(stderr, (char const   *)tmp___2, bad_hex, bad_hex, good_hex);
        }
      }
    } else {
      tmp___7 = strcmp(term_good, (char const   *)"good");
      if (tmp___7) {
        goto _L;
      } else {
        tmp___1 = _((char const   *)"The merge base %s is bad.\nThis means the bug has been fixed between %s and [%s].\n");
        fprintf(stderr, (char const   *)tmp___1, bad_hex, bad_hex, good_hex);
      }
    }
    return ((enum bisect_error )-3);
  }
  tmp___9 = _((char const   *)"Some %s revs are not ancestors of the %s rev.\ngit bisect cannot work properly in this case.\nMaybe you mistook %s and %s revs?\n");
  fprintf(stderr, (char const   *)tmp___9, term_good, term_bad, term_good, term_bad);
  return ((enum bisect_error )-1);
}
}
static void handle_skipped_merge_base(struct object_id  const  *mb )
{
  char *mb_hex ;
  char *tmp ;
  char *bad_hex ;
  char *tmp___0 ;
  char *good_hex ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  tmp = oid_to_hex(mb);
  mb_hex = tmp;
  tmp___0 = oid_to_hex((struct object_id  const  *)current_bad_oid);
  bad_hex = tmp___0;
  tmp___1 = join_oid_array_hex(& good_revs, (char )' ');
  good_hex = tmp___1;
  tmp___2 = _((char const   *)"the merge base between %s and [%s] must be skipped.\nSo we cannot be sure the first %s commit is between %s and %s.\nWe continue anyway.");
  warning((char const   *)tmp___2, bad_hex, good_hex, term_bad, mb_hex, bad_hex);
  free((void *)good_hex);
  return;
}
}
static enum bisect_error check_merge_bases(int rev_nr , struct commit **rev , int no_checkout )
{
  enum bisect_error res ;
  struct commit_list *result___0 ;
  struct object_id  const  *mb ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  res = (enum bisect_error )0;
  result___0 = repo_get_merge_bases_many(the_repository, *(rev + 0), rev_nr - 1, rev + 1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! result___0) {
      goto while_break;
    }
    mb = (struct object_id  const  *)(& (result___0->item)->object.oid);
    tmp___2 = oideq(mb, (struct object_id  const  *)current_bad_oid);
    if (tmp___2) {
      res = handle_bad_merge_base();
      goto while_break;
    } else {
      tmp___1 = oid_array_lookup(& good_revs, mb);
      if (0 <= tmp___1) {
        goto __Cont;
      } else {
        tmp___0 = oid_array_lookup(& skipped_revs, mb);
        if (0 <= tmp___0) {
          handle_skipped_merge_base(mb);
        } else {
          tmp = _((char const   *)"Bisecting: a merge base must be tested\n");
          printf((char const   *)tmp);
          res = bisect_checkout(mb, no_checkout);
          if (! res) {
            res = (enum bisect_error )-11;
          }
          goto while_break;
        }
      }
    }
    __Cont: /* CIL Label */
    result___0 = result___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  free_commit_list(result___0);
  return (res);
}
}
static int check_ancestors(struct repository *r , int rev_nr , struct commit **rev ,
                           char const   *prefix___1 )
{
  struct rev_info revs ;
  int res ;

  {
  bisect_rev_setup(r, & revs, prefix___1, (char const   *)"^%s", (char const   *)"%s",
                   0);
  bisect_common(& revs);
  res = (unsigned long )revs.commits != (unsigned long )((void *)0);
  clear_commit_marks_many(rev_nr, rev, ((((1u << 11) - 1U) | (1u << 25)) | (1u << 26)) | (1u << 15));
  return (res);
}
}
static enum bisect_error check_good_are_ancestors_of_bad(struct repository *r , char const   *prefix___1 ,
                                                         int no_checkout )
{
  char *filename___0 ;
  struct stat st ;
  int fd ;
  int rev_nr ;
  enum bisect_error res ;
  struct commit **rev ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  res = (enum bisect_error )0;
  if (! current_bad_oid) {
    tmp = _((char const   *)"a %s revision is needed");
    error((char const   *)tmp, term_bad);
    tmp___0 = const_error();
    return ((enum bisect_error )tmp___0);
  }
  filename___0 = git_pathdup((char const   *)"BISECT_ANCESTORS_OK");
  tmp___1 = stat((char const   *)filename___0, & st);
  if (! tmp___1) {
    if ((st.st_mode & 61440U) == 32768U) {
      goto done;
    }
  }
  if (! good_revs.nr) {
    goto done;
  }
  rev = get_bad_and_good_commits(r, & rev_nr);
  tmp___2 = check_ancestors(r, rev_nr, rev, prefix___1);
  if (tmp___2) {
    res = check_merge_bases(rev_nr, rev, no_checkout);
  }
  free((void *)rev);
  if (! res) {
    fd = open((char const   *)filename___0, 577, 0600);
    if (fd < 0) {
      tmp___3 = _((char const   *)"could not create file \'%s\'");
      warning_errno((char const   *)tmp___3, filename___0);
    } else {
      close(fd);
    }
  }
  done:
  free((void *)filename___0);
  return (res);
}
}
static void show_diff_tree(struct repository *r , char const   *prefix___1 , struct commit *commit )
{
  char const   *argv___0[6] ;
  struct rev_info opt___0 ;

  {
  argv___0[0] = (char const   *)"diff-tree";
  argv___0[1] = (char const   *)"--pretty";
  argv___0[2] = (char const   *)"--stat";
  argv___0[3] = (char const   *)"--summary";
  argv___0[4] = (char const   *)"--cc";
  argv___0[5] = (char const   *)((void *)0);
  git_config(& git_diff_ui_config, (void *)0);
  repo_init_revisions(r, & opt___0, prefix___1);
  setup_revisions((int )((sizeof(argv___0) / sizeof(argv___0[0]) + (sizeof(char [1]) - 1UL)) - 1UL),
                  argv___0, & opt___0, (struct setup_revision_opt *)((void *)0));
  log_tree_commit(& opt___0, commit);
  return;
}
}
void read_bisect_terms(char const   **read_bad , char const   **read_good )
{
  struct strbuf str ;
  char const   *filename___0 ;
  char const   *tmp ;
  FILE *fp ;
  FILE *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int *tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;

  {
  str.alloc = 0UL;
  str.len = 0UL;
  str.buf = strbuf_slopbuf;
  tmp = git_path_bisect_terms();
  filename___0 = tmp;
  tmp___0 = git_fopen(filename___0, (char const   *)"r");
  fp = tmp___0;
  if (! fp) {
    tmp___2 = __errno_location();
    if (*tmp___2 == 2) {
      *read_bad = (char const   *)"bad";
      *read_good = (char const   *)"good";
      return;
    } else {
      tmp___1 = _((char const   *)"could not read file \'%s\'");
      die_errno((char const   *)tmp___1, filename___0);
    }
  } else {
    strbuf_getline_lf(& str, fp);
    tmp___3 = strbuf_detach(& str, (size_t *)((void *)0));
    *read_bad = (char const   *)tmp___3;
    strbuf_getline_lf(& str, fp);
    tmp___4 = strbuf_detach(& str, (size_t *)((void *)0));
    *read_good = (char const   *)tmp___4;
  }
  strbuf_release(& str);
  fclose(fp);
  return;
}
}
enum bisect_error bisect_next_all(struct repository *r , char const   *prefix___1 )
{
  struct rev_info revs ;
  struct commit_list *tried ;
  int reaches ;
  int all___2 ;
  int nr___0 ;
  int steps ;
  enum bisect_error res ;
  struct object_id *bisect_rev ;
  char *steps_msg ;
  int no_checkout ;
  int tmp ;
  unsigned int bisect_flags ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___10 ;
  enum bisect_error tmp___11 ;

  {
  reaches = 0;
  all___2 = 0;
  res = (enum bisect_error )0;
  tmp = ref_exists((char const   *)"BISECT_HEAD");
  no_checkout = tmp;
  bisect_flags = 0U;
  read_bisect_terms(& term_bad, & term_good);
  tmp___1 = read_bisect_refs();
  if (tmp___1) {
    tmp___0 = _((char const   *)"reading bisect refs failed");
    die((char const   *)tmp___0);
  }
  tmp___2 = git_path_bisect_first_parent();
  tmp___3 = file_exists(tmp___2);
  if (tmp___3) {
    bisect_flags |= 1u << 1;
  }
  if (skipped_revs.nr) {
    bisect_flags |= 1u;
  }
  res = check_good_are_ancestors_of_bad(r, prefix___1, no_checkout);
  if (res) {
    return (res);
  }
  bisect_rev_setup(r, & revs, prefix___1, (char const   *)"%s", (char const   *)"^%s",
                   1);
  revs.first_parent_only = (unsigned int )(! (! (bisect_flags & (1u << 1))));
  revs.limited = 1U;
  bisect_common(& revs);
  find_bisection(& revs.commits, & reaches, & all___2, bisect_flags);
  revs.commits = managed_skipped(revs.commits, & tried);
  if (! revs.commits) {
    res = error_if_skipped_commits(tried, (struct object_id  const  *)((void *)0));
    if ((int )res < 0) {
      return (res);
    }
    tmp___4 = oid_to_hex((struct object_id  const  *)current_bad_oid);
    tmp___5 = _((char const   *)"%s was both %s and %s\n");
    printf((char const   *)tmp___5, tmp___4, term_good, term_bad);
    return ((enum bisect_error )-1);
  }
  if (! all___2) {
    tmp___6 = _((char const   *)"No testable commit found.\nMaybe you started with bad path arguments?\n");
    fprintf(stderr, (char const   *)tmp___6);
    return ((enum bisect_error )-4);
  }
  bisect_rev = & ((revs.commits)->item)->object.oid;
  tmp___8 = oideq((struct object_id  const  *)bisect_rev, (struct object_id  const  *)current_bad_oid);
  if (tmp___8) {
    res = error_if_skipped_commits(tried, (struct object_id  const  *)current_bad_oid);
    if (res) {
      return (res);
    }
    tmp___7 = oid_to_hex((struct object_id  const  *)bisect_rev);
    printf((char const   *)"%s is the first %s commit\n", tmp___7, term_bad);
    show_diff_tree(r, prefix___1, (revs.commits)->item);
    return ((enum bisect_error )-10);
  }
  nr___0 = (all___2 - reaches) - 1;
  steps = estimate_bisect_steps(all___2);
  tmp___9 = Q_((char const   *)"(roughly %d step)", (char const   *)"(roughly %d steps)",
               (unsigned long )steps);
  steps_msg = xstrfmt((char const   *)tmp___9, steps);
  tmp___10 = Q_((char const   *)"Bisecting: %d revision left to test after this %s\n",
                (char const   *)"Bisecting: %d revisions left to test after this %s\n",
                (unsigned long )nr___0);
  printf((char const   *)tmp___10, nr___0, steps_msg);
  free((void *)steps_msg);
  repo_clear_commit_marks(r, ((((1u << 11) - 1U) | (1u << 25)) | (1u << 26)) | (1u << 15));
  tmp___11 = bisect_checkout((struct object_id  const  *)bisect_rev, no_checkout);
  return (tmp___11);
}
}
__inline static int log2i(int n )
{
  int log2 ;

  {
  log2 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (n > 1)) {
      goto while_break;
    }
    log2 ++;
    n >>= 1;
  }
  while_break: /* CIL Label */ ;
  }
  return (log2);
}
}
__inline static int exp2i(int n )
{


  {
  return (1 << n);
}
}
int estimate_bisect_steps(int all___2 )
{
  int n ;
  int x ;
  int e ;
  int tmp ;

  {
  if (all___2 < 3) {
    return (0);
  }
  n = log2i(all___2);
  e = exp2i(n);
  x = all___2 - e;
  if (e < 3 * x) {
    tmp = n;
  } else {
    tmp = n - 1;
  }
  return (tmp);
}
}
static int mark_for_removal(char const   *refname , struct object_id  const  *oid ,
                            int flag , void *cb_data )
{
  struct string_list *refs___0 ;
  char *ref ;
  char *tmp ;

  {
  refs___0 = (struct string_list *)cb_data;
  tmp = xstrfmt((char const   *)"refs/bisect%s", refname);
  ref = tmp;
  string_list_append(refs___0, (char const   *)ref);
  return (0);
}
}
int bisect_clean_state(void)
{
  int result___0 ;
  struct string_list refs_for_removal ;
  char *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  char const   *tmp___5 ;
  char const   *tmp___6 ;
  char const   *tmp___7 ;
  char const   *tmp___8 ;

  {
  result___0 = 0;
  refs_for_removal.items = (struct string_list_item *)0;
  refs_for_removal.nr = 0U;
  refs_for_removal.alloc = 0U;
  refs_for_removal.strdup_strings = 0U;
  refs_for_removal.cmp = (int (*)(char const   * , char const   * ))0;
  for_each_ref_in((char const   *)"refs/bisect", & mark_for_removal, (void *)(& refs_for_removal));
  tmp = xstrdup((char const   *)"BISECT_HEAD");
  string_list_append(& refs_for_removal, (char const   *)tmp);
  result___0 = delete_refs((char const   *)"bisect: remove", & refs_for_removal, 1U);
  refs_for_removal.strdup_strings = 1U;
  string_list_clear(& refs_for_removal, 0);
  tmp___0 = git_path_bisect_expected_rev();
  unlink_or_warn(tmp___0);
  tmp___1 = git_path_bisect_ancestors_ok();
  unlink_or_warn(tmp___1);
  tmp___2 = git_path_bisect_log();
  unlink_or_warn(tmp___2);
  tmp___3 = git_path_bisect_names();
  unlink_or_warn(tmp___3);
  tmp___4 = git_path_bisect_run();
  unlink_or_warn(tmp___4);
  tmp___5 = git_path_bisect_terms();
  unlink_or_warn(tmp___5);
  tmp___6 = git_path_bisect_first_parent();
  unlink_or_warn(tmp___6);
  tmp___7 = git_path_head_name();
  unlink_or_warn(tmp___7);
  tmp___8 = git_path_bisect_start();
  unlink_or_warn(tmp___8);
  return (result___0);
}
}
static double const   __ac_HASH_UPPER___9  =    (double const   )0.77;
__inline static void kh_resize_oid_set___9(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___9(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___9 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___9 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___9(kh_oid_set_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___9(kh_oid_set_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___9(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___9(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___9(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___9(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___9 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___9 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___9(kh_oid_map_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___9(kh_oid_map_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___9(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___9(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___9(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___9(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___9 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___9 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___9(kh_oid_pos_t *h , struct object_id key___1 ,
                                           int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___9(kh_oid_pos_t *h , struct object_id key___1 ,
                                           int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___9(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___9(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___6(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___6(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___9 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___9 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___6(kh_odb_path_map_t *h , char const   *key___1 ,
                                                int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___6(kh_odb_path_map_t *h , char const   *key___1 ,
                                                int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___6(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___6(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
struct cache_tree *cache_tree(void) ;
void cache_tree_free(struct cache_tree **it_p ) ;
void cache_tree_invalidate_path(struct index_state *istate , char const   *path___6 ) ;
struct cache_tree_sub *cache_tree_sub(struct cache_tree *it , char const   *path___6 ) ;
int cache_tree_subtree_pos(struct cache_tree *it , char const   *path___6 , int pathlen ) ;
void cache_tree_write(struct strbuf *sb___6 , struct cache_tree *root ) ;
struct cache_tree *cache_tree_read(char const   *buffer___5 , unsigned long size ) ;
int cache_tree_fully_valid(struct cache_tree *it ) ;
int cache_tree_update(struct index_state *istate , int flags___0 ) ;
void cache_tree_verify(struct repository *r , struct index_state *istate ) ;
struct tree *write_in_core_index_as_tree(struct repository *repo ) ;
int write_index_as_tree(struct object_id *oid , struct index_state *index_state ,
                        char const   *index_path___0 , int flags___0 , char const   *prefix___1 ) ;
void prime_cache_tree(struct repository *r , struct index_state *istate , struct tree *tree ) ;
int cache_tree_matches_traversal(struct cache_tree *root , struct name_entry *ent ,
                                 struct traverse_info *info___0 ) ;
void *llist_mergesort(void *list___3 , void *(*get_next_fn)(void const   * ) , void (*set_next_fn)(void * ,
                                                                                                   void * ) ,
                      int (*compare_fn)(void const   * , void const   * ) ) ;
void prio_queue_put(struct prio_queue *queue , void *thing ) ;
void *prio_queue_get(struct prio_queue *queue ) ;
void *prio_queue_peek(struct prio_queue *queue ) ;
void clear_prio_queue(struct prio_queue *queue ) ;
void prio_queue_reverse(struct prio_queue *queue ) ;
__inline static struct blame_origin *blame_origin_incref(struct blame_origin *o )
{


  {
  if (o) {
    (o->refcnt) ++;
  }
  return (o);
}
}
void blame_origin_decref(struct blame_origin *o ) ;
void blame_coalesce(struct blame_scoreboard *sb___6 ) ;
void blame_sort_final(struct blame_scoreboard *sb___6 ) ;
unsigned int blame_entry_score(struct blame_scoreboard *sb___6 , struct blame_entry *e ) ;
void assign_blame(struct blame_scoreboard *sb___6 , int opt___0 ) ;
char const   *blame_nth_line(struct blame_scoreboard *sb___6 , long lno ) ;
void init_scoreboard(struct blame_scoreboard *sb___6 ) ;
void setup_scoreboard(struct blame_scoreboard *sb___6 , struct blame_origin **orig ) ;
void setup_blame_bloom_data(struct blame_scoreboard *sb___6 ) ;
void cleanup_scoreboard(struct blame_scoreboard *sb___6 ) ;
struct blame_entry *blame_entry_prepend(struct blame_entry *head___1 , long start ,
                                        long end , struct blame_origin *o ) ;
struct blame_origin *get_blame_suspects(struct commit *commit ) ;
uint32_t murmur3_seeded(uint32_t seed , char const   *data , size_t len___0 ) ;
void fill_bloom_key(char const   *data , size_t len___0 , struct bloom_key *key___1 ,
                    struct bloom_filter_settings  const  *settings___0 ) ;
void clear_bloom_key(struct bloom_key *key___1 ) ;
void add_key_to_filter(struct bloom_key  const  *key___1 , struct bloom_filter *filter___0 ,
                       struct bloom_filter_settings  const  *settings___0 ) ;
void init_bloom_filters(void) ;
struct bloom_filter *get_or_compute_bloom_filter(struct repository *r , struct commit *c___0 ,
                                                 int compute_if_not_present , struct bloom_filter_settings  const  *settings___0 ,
                                                 enum bloom_filter_computed *computed ) ;
int bloom_filter_contains(struct bloom_filter  const  *filter___0 , struct bloom_key  const  *key___1 ,
                          struct bloom_filter_settings  const  *settings___0 ) ;
static void init_blame_suspects_with_stride(struct blame_suspects *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_blame_suspects_with_stride(struct blame_suspects *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(struct blame_origin *) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (struct blame_origin ***)((void *)0);
  return;
}
}
static void init_blame_suspects(struct blame_suspects *s___1 )  __attribute__((__unused__)) ;
static void init_blame_suspects(struct blame_suspects *s___1 )
{


  {
  init_blame_suspects_with_stride(s___1, 1U);
  return;
}
}
static void clear_blame_suspects(struct blame_suspects *s___1 )  __attribute__((__unused__)) ;
static void clear_blame_suspects(struct blame_suspects *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (struct blame_origin ***)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_blame_suspects(struct blame_suspects *s___1 , void (*free_fn)(struct blame_origin ** ) )  __attribute__((__unused__)) ;
static void deep_clear_blame_suspects(struct blame_suspects *s___1 , void (*free_fn)(struct blame_origin ** ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_blame_suspects(s___1);
  return;
}
}
static struct blame_origin **blame_suspects_at_peek(struct blame_suspects *s___1 ,
                                                    struct commit  const  *c___0 ,
                                                    int add_if_missing )  __attribute__((__unused__)) ;
static struct blame_origin **blame_suspects_at_peek(struct blame_suspects *s___1 ,
                                                    struct commit  const  *c___0 ,
                                                    int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((struct blame_origin **)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (struct blame_origin ***)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (struct blame_origin **)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((struct blame_origin **)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (struct blame_origin **)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static struct blame_origin **blame_suspects_at(struct blame_suspects *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct blame_origin **blame_suspects_at(struct blame_suspects *s___1 , struct commit  const  *c___0 )
{
  struct blame_origin **tmp ;

  {
  tmp = blame_suspects_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static struct blame_origin **blame_suspects_peek(struct blame_suspects *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct blame_origin **blame_suspects_peek(struct blame_suspects *s___1 , struct commit  const  *c___0 )
{
  struct blame_origin **tmp ;

  {
  tmp = blame_suspects_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
static struct blame_suspects blame_suspects  ;
struct blame_origin *get_blame_suspects(struct commit *commit )
{
  struct blame_origin **result___0 ;
  struct blame_origin *tmp ;

  {
  result___0 = blame_suspects_peek(& blame_suspects, (struct commit  const  *)commit);
  if (result___0) {
    tmp = *result___0;
  } else {
    tmp = (struct blame_origin *)((void *)0);
  }
  return (tmp);
}
}
static void set_blame_suspects(struct commit *commit , struct blame_origin *origin___0 )
{
  struct blame_origin **tmp ;

  {
  tmp = blame_suspects_at(& blame_suspects, (struct commit  const  *)commit);
  *tmp = origin___0;
  return;
}
}
void blame_origin_decref(struct blame_origin *o )
{
  struct blame_origin *p___0 ;
  struct blame_origin *l ;

  {
  if (o) {
    (o->refcnt) --;
    if (o->refcnt <= 0) {
      l = (struct blame_origin *)((void *)0);
      if (o->previous) {
        blame_origin_decref(o->previous);
      }
      free((void *)o->file.ptr);
      p___0 = get_blame_suspects(o->commit);
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! p___0) {
          goto while_break;
        }
        if ((unsigned long )p___0 == (unsigned long )o) {
          if (l) {
            l->next = p___0->next;
          } else {
            set_blame_suspects(o->commit, p___0->next);
          }
          free((void *)o);
          return;
        }
        l = p___0;
        p___0 = p___0->next;
      }
      while_break: /* CIL Label */ ;
      }
      die((char const   *)"internal error in blame_origin_decref");
    }
  }
  return;
}
}
static struct blame_origin *make_origin(struct commit *commit , char const   *path___6 )
{
  struct blame_origin *o ;
  size_t flex_array_len_ ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = strlen(path___6);
    flex_array_len_ = tmp;
    tmp___0 = st_add(sizeof(*o), flex_array_len_);
    tmp___1 = st_add(tmp___0, (size_t )1);
    tmp___2 = xcalloc((size_t )1, tmp___1);
    o = (struct blame_origin *)tmp___2;
    memcpy((void *)(o->path), (void const   *)path___6, flex_array_len_);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  o->commit = commit;
  o->refcnt = 1;
  o->next = get_blame_suspects(commit);
  set_blame_suspects(commit, o);
  return (o);
}
}
static struct blame_origin *get_origin(struct commit *commit , char const   *path___6 )
{
  struct blame_origin *o ;
  struct blame_origin *l ;
  struct blame_origin *tmp ;
  int tmp___0 ;
  struct blame_origin *tmp___1 ;

  {
  o = get_blame_suspects(commit);
  l = (struct blame_origin *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! o) {
      goto while_break;
    }
    tmp___0 = strcmp((char const   *)(o->path), path___6);
    if (! tmp___0) {
      if (l) {
        l->next = o->next;
        o->next = get_blame_suspects(commit);
        set_blame_suspects(commit, o);
      }
      tmp = blame_origin_incref(o);
      return (tmp);
    }
    l = o;
    o = o->next;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = make_origin(commit, path___6);
  return (tmp___1);
}
}
static void verify_working_tree_path(struct repository *r , struct commit *work_tree ,
                                     char const   *path___6 )
{
  struct commit_list *parents ;
  int pos ;
  struct object_id  const  *commit_oid ;
  struct object_id blob_oid ;
  unsigned short mode___1 ;
  int tmp ;
  int tmp___0 ;
  size_t tmp___1 ;
  int tmp___2 ;

  {
  parents = work_tree->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! parents) {
      goto while_break;
    }
    commit_oid = (struct object_id  const  *)(& (parents->item)->object.oid);
    tmp = get_tree_entry(r, commit_oid, path___6, & blob_oid, & mode___1);
    if (! tmp) {
      tmp___0 = oid_object_info(r, (struct object_id  const  *)(& blob_oid), (unsigned long *)((void *)0));
      if (tmp___0 == 3) {
        return;
      }
    }
    parents = parents->next;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = strlen(path___6);
  pos = index_name_pos(r->index, path___6, (int )tmp___1);
  if (! (pos >= 0)) {
    if ((unsigned int )(-1 - pos) < (r->index)->cache_nr) {
      tmp___2 = strcmp((char const   *)((*((r->index)->cache + (-1 - pos)))->name),
                       path___6);
      if (tmp___2) {
        die((char const   *)"no such path \'%s\' in HEAD", path___6);
      }
    } else {
      die((char const   *)"no such path \'%s\' in HEAD", path___6);
    }
  }
  return;
}
}
static struct commit_list **append_parent(struct repository *r , struct commit_list **tail ,
                                          struct object_id  const  *oid )
{
  struct commit *parent ;
  char *tmp ;
  struct commit_list *tmp___0 ;

  {
  parent = lookup_commit_reference(r, oid);
  if (! parent) {
    tmp = oid_to_hex(oid);
    die((char const   *)"no such commit %s", tmp);
  }
  tmp___0 = commit_list_insert(parent, tail);
  return (& tmp___0->next);
}
}
static void append_merge_parents(struct repository *r , struct commit_list **tail )
{
  int merge_head ;
  struct strbuf line___0 ;
  char const   *tmp ;
  int *tmp___0 ;
  char const   *tmp___1 ;
  struct object_id oid ;
  char const   *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  tmp = git_path_merge_head(r);
  merge_head = open(tmp, 00);
  if (merge_head < 0) {
    tmp___0 = __errno_location();
    if (*tmp___0 == 2) {
      return;
    }
    tmp___1 = git_path_merge_head(r);
    die((char const   *)"cannot open \'%s\' for reading", tmp___1);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___4 = strbuf_getwholeline_fd(& line___0, merge_head, '\n');
    if (tmp___4) {
      goto while_break;
    }
    tmp___3 = get_oid_hex((char const   *)line___0.buf, & oid);
    if (tmp___3) {
      tmp___2 = git_path_merge_head(r);
      die((char const   *)"unknown line in \'%s\': %s", tmp___2, line___0.buf);
    }
    tail = append_parent(r, tail, (struct object_id  const  *)(& oid));
  }
  while_break: /* CIL Label */ ;
  }
  close(merge_head);
  strbuf_release(& line___0);
  return;
}
}
static void set_commit_buffer_from_strbuf(struct repository *r , struct commit *c___0 ,
                                          struct strbuf *sb___6 )
{
  size_t len___0 ;
  void *buf___19 ;
  char *tmp ;

  {
  tmp = strbuf_detach(sb___6, & len___0);
  buf___19 = (void *)tmp;
  set_commit_buffer(r, c___0, buf___19, len___0);
  return;
}
}
static struct commit *fake_working_tree_commit(struct repository *r , struct diff_options *opt___0 ,
                                               char const   *path___6 , char const   *contents_from )
{
  struct commit *commit ;
  struct blame_origin *origin___0 ;
  struct commit_list **parent_tail ;
  struct commit_list *parent ;
  struct object_id head_oid___1 ;
  struct strbuf buf___19 ;
  char const   *ident ;
  time_t now ;
  int len___0 ;
  struct cache_entry *ce ;
  unsigned int mode___1 ;
  struct strbuf msg___5 ;
  void *tmp ;
  char const   *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;
  char const   *tmp___5 ;
  struct stat st ;
  char const   *read_from ;
  char *buf_ptr ;
  unsigned long buf_len ;
  int tmp___6 ;
  int tmp___7 ;
  ssize_t tmp___8 ;
  struct object_id  const  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  ssize_t tmp___12 ;
  int tmp___13 ;
  size_t tmp___14 ;
  int pos ;
  int tmp___15 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  msg___5.alloc = 0UL;
  msg___5.len = 0UL;
  msg___5.buf = strbuf_slopbuf;
  repo_read_index(r);
  time(& now);
  tmp = alloc_commit_node(r);
  commit = (struct commit *)tmp;
  commit->object.parsed = 1U;
  commit->date = (timestamp_t )now;
  parent_tail = & commit->parents;
  tmp___0 = resolve_ref_unsafe((char const   *)"HEAD", 0x01, & head_oid___1, (int *)((void *)0));
  if (! tmp___0) {
    die((char const   *)"no such ref: HEAD");
  }
  parent_tail = append_parent(r, parent_tail, (struct object_id  const  *)(& head_oid___1));
  append_merge_parents(r, parent_tail);
  verify_working_tree_path(r, commit, path___6);
  origin___0 = make_origin(commit, path___6);
  ident = fmt_ident((char const   *)"Not Committed Yet", (char const   *)"not.committed.yet",
                    (enum want_ident )0, (char const   *)((void *)0), 0);
  strbuf_addstr(& msg___5, (char const   *)"tree 0000000000000000000000000000000000000000\n");
  parent = commit->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! parent) {
      goto while_break;
    }
    tmp___1 = oid_to_hex((struct object_id  const  *)(& (parent->item)->object.oid));
    strbuf_addf(& msg___5, (char const   *)"parent %s\n", tmp___1);
    parent = parent->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (! contents_from) {
    tmp___5 = path___6;
  } else {
    tmp___4 = strcmp(contents_from, (char const   *)"-");
    if (tmp___4) {
      tmp___3 = contents_from;
    } else {
      tmp___3 = (char const   *)"standard input";
    }
    tmp___5 = tmp___3;
  }
  strbuf_addf(& msg___5, (char const   *)"author %s\ncommitter %s\n\nVersion of %s from %s\n",
              ident, ident, path___6, tmp___5);
  set_commit_buffer_from_strbuf(r, commit, & msg___5);
  if (! contents_from) {
    goto _L___0;
  } else {
    tmp___13 = strcmp((char const   *)"-", contents_from);
    if (tmp___13) {
      _L___0: /* CIL Label */
      if (contents_from) {
        tmp___6 = stat(contents_from, & st);
        if (tmp___6 < 0) {
          die_errno((char const   *)"Cannot stat \'%s\'", contents_from);
        }
        read_from = contents_from;
      } else {
        tmp___7 = lstat(path___6, & st);
        if (tmp___7 < 0) {
          die_errno((char const   *)"Cannot lstat \'%s\'", path___6);
        }
        read_from = path___6;
      }
      mode___1 = canon_mode(st.st_mode);
      {
      if ((st.st_mode & 61440U) == 32768U) {
        goto case_32768;
      }
      if ((st.st_mode & 61440U) == 40960U) {
        goto case_40960;
      }
      goto switch_default;
      case_32768: /* CIL Label */
      if (opt___0->flags.allow_textconv) {
        tmp___9 = null_oid();
        tmp___10 = textconv_object(r, read_from, mode___1, tmp___9, 0, & buf_ptr,
                                   & buf_len);
        if (tmp___10) {
          strbuf_attach(& buf___19, (void *)buf_ptr, buf_len, buf_len + 1UL);
        } else {
          goto _L;
        }
      } else {
        _L: /* CIL Label */
        tmp___8 = strbuf_read_file(& buf___19, read_from, (size_t )st.st_size);
        if (tmp___8 != st.st_size) {
          die_errno((char const   *)"cannot open or read \'%s\'", read_from);
        }
      }
      goto switch_break;
      case_40960: /* CIL Label */
      tmp___11 = strbuf_readlink(& buf___19, read_from, (size_t )st.st_size);
      if (tmp___11 < 0) {
        die_errno((char const   *)"cannot readlink \'%s\'", read_from);
      }
      goto switch_break;
      switch_default: /* CIL Label */
      die((char const   *)"unsupported file type %s", read_from);
      switch_break: /* CIL Label */ ;
      }
    } else {
      mode___1 = 0U;
      tmp___12 = strbuf_read(& buf___19, 0, (size_t )0);
      if (tmp___12 < 0L) {
        die_errno((char const   *)"failed to read from stdin");
      }
    }
  }
  convert_to_git(r->index, path___6, (char const   *)buf___19.buf, buf___19.len, & buf___19,
                 0);
  origin___0->file.ptr = buf___19.buf;
  origin___0->file.size = (long )buf___19.len;
  pretend_object_file((void *)buf___19.buf, buf___19.len, (enum object_type )3, & origin___0->blob_oid);
  discard_index(r->index);
  repo_read_index(r);
  tmp___14 = strlen(path___6);
  len___0 = (int )tmp___14;
  if (! mode___1) {
    tmp___15 = index_name_pos(r->index, path___6, len___0);
    pos = tmp___15;
    if (0 <= pos) {
      mode___1 = (*((r->index)->cache + pos))->ce_mode;
    } else {
      mode___1 = 33188U;
    }
  }
  ce = make_empty_cache_entry(r->index, (size_t )len___0);
  oidcpy(& ce->oid, (struct object_id  const  *)(& origin___0->blob_oid));
  memcpy((void *)(ce->name), (void const   *)path___6, (size_t )len___0);
  ce->ce_flags = create_ce_flags(0U);
  ce->ce_namelen = (unsigned int )len___0;
  ce->ce_mode = create_ce_mode(mode___1);
  add_index_entry(r->index, ce, 3);
  cache_tree_invalidate_path(r->index, path___6);
  return (commit);
}
}
static int diff_hunks(mmfile_t *file_a , mmfile_t *file_b , int (*hunk_func)(long start_a ,
                                                                             long count_a ,
                                                                             long start_b ,
                                                                             long count_b ,
                                                                             void *cb_data ) ,
                      void *cb_data , int xdl_opts___0 )
{
  xpparam_t xpp ;
  xdemitconf_t xecfg ;
  xdemitcb_t ecb ;
  int tmp ;

  {
  xpp.flags = 0UL;
  xpp.ignore_regex = (regex_t **)0;
  xpp.ignore_regex_nr = 0UL;
  xpp.anchors = (char **)0;
  xpp.anchors_nr = 0UL;
  xecfg.ctxlen = 0L;
  xecfg.interhunkctxlen = 0L;
  xecfg.flags = 0UL;
  xecfg.find_func = (long (*)(char const   *line , long line_len , char *buffer ,
                              long buffer_size , void *priv ))0;
  xecfg.find_func_priv = (void *)0;
  xecfg.hunk_func = (int (*)(long start_a , long count_a , long start_b , long count_b ,
                             void *cb_data ))0;
  ecb.priv = (void *)0;
  ecb.out_hunk = (int (*)(void * , long old_begin , long old_nr , long new_begin ,
                          long new_nr , char const   *func , long funclen ))0;
  ecb.out_line = (int (*)(void * , mmbuffer_t * , int  ))0;
  xpp.flags = (unsigned long )xdl_opts___0;
  xecfg.hunk_func = hunk_func;
  ecb.priv = cb_data;
  tmp = xdi_diff(file_a, file_b, (xpparam_t const   *)(& xpp), (xdemitconf_t const   *)(& xecfg),
                 & ecb);
  return (tmp);
}
}
static char const   *get_next_line(char const   *start , char const   *end )
{
  char const   *nl ;
  void *tmp ;
  char const   *tmp___0 ;

  {
  tmp = memchr((void const   *)start, '\n', (size_t )(end - start));
  nl = (char const   *)tmp;
  if (nl) {
    tmp___0 = nl + 1;
  } else {
    tmp___0 = end;
  }
  return (tmp___0);
}
}
static int find_line_starts(int **line_starts , char const   *buf___19 , unsigned long len___0 )
{
  char const   *end ;
  char const   *p___0 ;
  int *lineno ;
  int num ;
  size_t tmp ;
  void *tmp___0 ;
  int *tmp___1 ;

  {
  end = buf___19 + len___0;
  num = 0;
  p___0 = buf___19;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )p___0 < (unsigned long )end)) {
      goto while_break;
    }
    num ++;
    p___0 = get_next_line(p___0, end);
  }
  while_break: /* CIL Label */ ;
  }
  tmp = st_mult(sizeof(*(*line_starts)), (size_t )(num + 1));
  tmp___0 = xmalloc(tmp);
  *line_starts = (int *)tmp___0;
  lineno = *line_starts;
  p___0 = buf___19;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )p___0 < (unsigned long )end)) {
      goto while_break___0;
    }
    tmp___1 = lineno;
    lineno ++;
    *tmp___1 = (int )(p___0 - buf___19);
    p___0 = get_next_line(p___0, end);
  }
  while_break___0: /* CIL Label */ ;
  }
  *lineno = (int )len___0;
  return (num);
}
}
static void get_fingerprint(struct fingerprint *result___0 , char const   *line_begin ,
                            char const   *line_end )
{
  unsigned int hash___0 ;
  unsigned int c0 ;
  unsigned int c1 ;
  char const   *p___0 ;
  int max_map_entry_count ;
  struct fingerprint_entry *entry ;
  void *tmp ;
  struct fingerprint_entry *found_entry ;
  int tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;

  {
  c0 = 0U;
  max_map_entry_count = (int )((line_end + 1) - line_begin);
  tmp = xcalloc((size_t )max_map_entry_count, sizeof(struct fingerprint_entry ));
  entry = (struct fingerprint_entry *)tmp;
  hashmap_init(& result___0->map, (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                           struct hashmap_entry  const  *entry_or_key ,
                                           void const   *keydata ))((void *)0), (void const   *)((void *)0),
               (size_t )max_map_entry_count);
  result___0->entries = entry;
  p___0 = line_begin;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )p___0 <= (unsigned long )line_end)) {
      goto while_break;
    }
    if ((unsigned long )p___0 == (unsigned long )line_end) {
      c1 = 0U;
    } else
    if (((int const   )sane_ctype[(unsigned char )*p___0] & 1) != 0) {
      c1 = 0U;
    } else {
      tmp___0 = sane_case((int )((unsigned char )*p___0), 0x20);
      c1 = (unsigned int )tmp___0;
    }
    hash___0 = c0 | (c1 << 8);
    if (hash___0 == 0U) {
      goto __Cont;
    }
    hashmap_entry_init(& entry->entry, hash___0);
    tmp___1 = hashmap_get((struct hashmap  const  *)(& result___0->map), (struct hashmap_entry  const  *)(& entry->entry),
                          (void const   *)((void *)0));
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct fingerprint_entry *)0)->entry));
    found_entry = (struct fingerprint_entry *)tmp___2;
    if (found_entry) {
      (found_entry->count) ++;
    } else {
      entry->count = 1;
      hashmap_add(& result___0->map, & entry->entry);
      entry ++;
    }
    __Cont: /* CIL Label */
    p___0 ++;
    c0 = c1;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void free_fingerprint(struct fingerprint *f )
{


  {
  hashmap_clear_(& f->map, (ssize_t )-1);
  free((void *)f->entries);
  return;
}
}
static int fingerprint_similarity(struct fingerprint *a , struct fingerprint *b___0 )
{
  int intersection ;
  struct hashmap_iter iter___0 ;
  struct fingerprint_entry  const  *entry_a ;
  struct fingerprint_entry  const  *entry_b ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;
  struct hashmap_entry *tmp___3 ;
  void *tmp___4 ;
  int tmp___5 ;

  {
  intersection = 0;
  entry_b = (struct fingerprint_entry  const  *)((void *)0);
  tmp = hashmap_iter_first(& b___0->map, & iter___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct fingerprint_entry  const  *)0)->entry));
  entry_b = (struct fingerprint_entry  const  *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! entry_b) {
      goto while_break;
    }
    tmp___3 = hashmap_get((struct hashmap  const  *)(& a->map), (struct hashmap_entry  const  *)(& entry_b->entry),
                          (void const   *)((void *)0));
    tmp___4 = container_of_or_null_offset((void *)tmp___3, (unsigned long )(& ((struct fingerprint_entry  const  *)0)->entry));
    entry_a = (struct fingerprint_entry  const  *)tmp___4;
    if (entry_a) {
      if (entry_a->count < entry_b->count) {
        tmp___5 = entry_a->count;
      } else {
        tmp___5 = entry_b->count;
      }
      intersection += (int )tmp___5;
    }
    tmp___1 = hashmap_iter_next(& iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct fingerprint_entry  const  *)0)->entry));
    entry_b = (struct fingerprint_entry  const  *)tmp___2;
  }
  while_break: /* CIL Label */ ;
  }
  return (intersection);
}
}
static void fingerprint_subtract(struct fingerprint *a , struct fingerprint *b___0 )
{
  struct hashmap_iter iter___0 ;
  struct fingerprint_entry *entry_a ;
  struct fingerprint_entry  const  *entry_b ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;
  struct hashmap_entry *tmp___3 ;
  void *tmp___4 ;

  {
  hashmap_iter_init(& b___0->map, & iter___0);
  entry_b = (struct fingerprint_entry  const  *)((void *)0);
  tmp = hashmap_iter_first(& b___0->map, & iter___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct fingerprint_entry  const  *)0)->entry));
  entry_b = (struct fingerprint_entry  const  *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! entry_b) {
      goto while_break;
    }
    tmp___3 = hashmap_get((struct hashmap  const  *)(& a->map), (struct hashmap_entry  const  *)(& entry_b->entry),
                          (void const   *)((void *)0));
    tmp___4 = container_of_or_null_offset((void *)tmp___3, (unsigned long )(& ((struct fingerprint_entry  const  *)0)->entry));
    entry_a = (struct fingerprint_entry *)tmp___4;
    if (entry_a) {
      if (entry_a->count <= (int )entry_b->count) {
        hashmap_remove(& a->map, (struct hashmap_entry  const  *)(& entry_b->entry),
                       (void const   *)((void *)0));
      } else {
        entry_a->count -= (int )entry_b->count;
      }
    }
    tmp___1 = hashmap_iter_next(& iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct fingerprint_entry  const  *)0)->entry));
    entry_b = (struct fingerprint_entry  const  *)tmp___2;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void get_line_fingerprints(struct fingerprint *fingerprints , char const   *content ,
                                  int const   *line_starts , long first_line , long line_count )
{
  int i ;
  char const   *linestart ;
  char const   *lineend ;

  {
  line_starts += first_line;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((long )i < line_count)) {
      goto while_break;
    }
    linestart = content + *(line_starts + i);
    lineend = content + *(line_starts + (i + 1));
    get_fingerprint(fingerprints + i, linestart, lineend);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void free_line_fingerprints(struct fingerprint *fingerprints , int nr_fingerprints )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_fingerprints)) {
      goto while_break;
    }
    free_fingerprint(fingerprints + i);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int map_line_number(int line_number , struct line_number_mapping  const  *mapping )
{


  {
  return ((((line_number - (int )mapping->source_start) * 2 + 1) * (int )mapping->destination_length) / (int )(mapping->source_length * 2) + (int )mapping->destination_start);
}
}
static int *get_similarity(int *similarities , int line_a , int local_line_b , int closest_line_a ,
                           int max_search_distance_a )
{
  int tmp ;

  {
  tmp = abs(line_a - closest_line_a);
  assert(tmp <= max_search_distance_a);
  return ((((similarities + line_a) - closest_line_a) + max_search_distance_a) + local_line_b * (max_search_distance_a * 2 + 1));
}
}
static void find_best_line_matches(int start_a , int length_a , int start_b , int local_line_b ,
                                   struct fingerprint *fingerprints_a , struct fingerprint *fingerprints_b ,
                                   int *similarities , int *certainties , int *second_best_result ,
                                   int *result___0 , int const   max_search_distance_a ,
                                   struct line_number_mapping  const  *map_line_number_in_b_to_a )
{
  int i ;
  int search_start ;
  int search_end ;
  int closest_local_line_a ;
  int *similarity ;
  int best_similarity ;
  int second_best_similarity ;
  int best_similarity_index ;
  int second_best_similarity_index ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  best_similarity = 0;
  second_best_similarity = 0;
  best_similarity_index = 0;
  second_best_similarity_index = 0;
  if (*(certainties + local_line_b) != -1) {
    return;
  }
  tmp = map_line_number(local_line_b + start_b, map_line_number_in_b_to_a);
  closest_local_line_a = tmp - start_a;
  search_start = closest_local_line_a - (int )max_search_distance_a;
  if (search_start < 0) {
    search_start = 0;
  }
  search_end = (closest_local_line_a + (int )max_search_distance_a) + 1;
  if (search_end > length_a) {
    search_end = length_a;
  }
  i = search_start;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < search_end)) {
      goto while_break;
    }
    similarity = get_similarity(similarities, i, local_line_b, closest_local_line_a,
                                (int )max_search_distance_a);
    if (*similarity == -1) {
      tmp___0 = abs(i - closest_local_line_a);
      assert(tmp___0 < 1000);
      tmp___1 = fingerprint_similarity(fingerprints_b + local_line_b, fingerprints_a + i);
      tmp___2 = abs(i - closest_local_line_a);
      *similarity = tmp___1 * (1000 - tmp___2);
    }
    if (*similarity > best_similarity) {
      second_best_similarity = best_similarity;
      second_best_similarity_index = best_similarity_index;
      best_similarity = *similarity;
      best_similarity_index = i;
    } else
    if (*similarity > second_best_similarity) {
      second_best_similarity = *similarity;
      second_best_similarity_index = i;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (best_similarity == 0) {
    *(certainties + local_line_b) = -2;
    *(result___0 + local_line_b) = -1;
  } else {
    *(certainties + local_line_b) = best_similarity * 2 - second_best_similarity;
    *(result___0 + local_line_b) = start_a + best_similarity_index;
    *(second_best_result + local_line_b) = start_a + second_best_similarity_index;
  }
  return;
}
}
static void fuzzy_find_matching_lines_recurse(int start_a , int start_b , int length_a ,
                                              int length_b , struct fingerprint *fingerprints_a ,
                                              struct fingerprint *fingerprints_b ,
                                              int *similarities , int *certainties ,
                                              int *second_best_result , int *result___0 ,
                                              int max_search_distance_a , int max_search_distance_b ,
                                              struct line_number_mapping  const  *map_line_number_in_b_to_a )
{
  int i ;
  int invalidate_min ;
  int invalidate_max ;
  int offset_b ;
  int second_half_start_a ;
  int second_half_start_b ;
  int second_half_length_a ;
  int second_half_length_b ;
  int most_certain_line_a ;
  int most_certain_local_line_b ;
  int most_certain_line_certainty ;
  int closest_local_line_a ;
  int tmp ;
  int tmp___0 ;
  int *tmp___1 ;

  {
  most_certain_local_line_b = -1;
  most_certain_line_certainty = -1;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < length_b)) {
      goto while_break;
    }
    find_best_line_matches(start_a, length_a, start_b, i, fingerprints_a, fingerprints_b,
                           similarities, certainties, second_best_result, result___0,
                           (int const   )max_search_distance_a, map_line_number_in_b_to_a);
    if (*(certainties + i) > most_certain_line_certainty) {
      most_certain_line_certainty = *(certainties + i);
      most_certain_local_line_b = i;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (most_certain_local_line_b == -1) {
    return;
  }
  most_certain_line_a = *(result___0 + most_certain_local_line_b);
  fingerprint_subtract((fingerprints_a + most_certain_line_a) - start_a, fingerprints_b + most_certain_local_line_b);
  invalidate_min = most_certain_local_line_b - max_search_distance_b;
  invalidate_max = (most_certain_local_line_b + max_search_distance_b) + 1;
  if (invalidate_min < 0) {
    invalidate_min = 0;
  }
  if (invalidate_max > length_b) {
    invalidate_max = length_b;
  }
  i = invalidate_min;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < invalidate_max)) {
      goto while_break___0;
    }
    tmp = map_line_number(i + start_b, map_line_number_in_b_to_a);
    closest_local_line_a = tmp - start_a;
    tmp___0 = abs((most_certain_line_a - start_a) - closest_local_line_a);
    if (tmp___0 > max_search_distance_a) {
      goto __Cont;
    }
    tmp___1 = get_similarity(similarities, most_certain_line_a - start_a, i, closest_local_line_a,
                             max_search_distance_a);
    *tmp___1 = -1;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = most_certain_local_line_b - 1;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i >= invalidate_min)) {
      goto while_break___1;
    }
    if (*(certainties + i) >= 0) {
      if (*(result___0 + i) >= most_certain_line_a) {
        *(certainties + i) = -1;
      } else
      if (*(second_best_result + i) >= most_certain_line_a) {
        *(certainties + i) = -1;
      }
    }
    i --;
  }
  while_break___1: /* CIL Label */ ;
  }
  i = most_certain_local_line_b + 1;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < invalidate_max)) {
      goto while_break___2;
    }
    if (*(certainties + i) >= 0) {
      if (*(result___0 + i) <= most_certain_line_a) {
        *(certainties + i) = -1;
      } else
      if (*(second_best_result + i) <= most_certain_line_a) {
        *(certainties + i) = -1;
      }
    }
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  if (most_certain_local_line_b > 0) {
    fuzzy_find_matching_lines_recurse(start_a, start_b, (most_certain_line_a + 1) - start_a,
                                      most_certain_local_line_b, fingerprints_a, fingerprints_b,
                                      similarities, certainties, second_best_result,
                                      result___0, max_search_distance_a, max_search_distance_b,
                                      map_line_number_in_b_to_a);
  }
  if (most_certain_local_line_b + 1 < length_b) {
    second_half_start_a = most_certain_line_a;
    offset_b = most_certain_local_line_b + 1;
    second_half_start_b = start_b + offset_b;
    second_half_length_a = (length_a + start_a) - second_half_start_a;
    second_half_length_b = (length_b + start_b) - second_half_start_b;
    fuzzy_find_matching_lines_recurse(second_half_start_a, second_half_start_b, second_half_length_a,
                                      second_half_length_b, (fingerprints_a + second_half_start_a) - start_a,
                                      fingerprints_b + offset_b, similarities + offset_b * (max_search_distance_a * 2 + 1),
                                      certainties + offset_b, second_best_result + offset_b,
                                      result___0 + offset_b, max_search_distance_a,
                                      max_search_distance_b, map_line_number_in_b_to_a);
  }
  return;
}
}
static int *fuzzy_find_matching_lines(struct blame_origin *parent , struct blame_origin *target ,
                                      int tlno , int parent_slno , int same___0 ,
                                      int parent_len )
{
  int start_a ;
  int length_a ;
  int start_b ;
  int length_b ;
  struct line_number_mapping map_line_number_in_b_to_a ;
  struct fingerprint *fingerprints_a ;
  struct fingerprint *fingerprints_b ;
  int i ;
  int *result___0 ;
  int *second_best_result ;
  int *certainties ;
  int *similarities ;
  int similarity_count ;
  int max_search_distance_a ;
  int max_search_distance_b ;
  void *tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;

  {
  start_a = parent_slno;
  length_a = parent_len;
  start_b = tlno;
  length_b = same___0 - tlno;
  map_line_number_in_b_to_a.destination_start = start_a;
  map_line_number_in_b_to_a.destination_length = length_a;
  map_line_number_in_b_to_a.source_start = start_b;
  map_line_number_in_b_to_a.source_length = length_b;
  fingerprints_a = parent->fingerprints;
  fingerprints_b = target->fingerprints;
  max_search_distance_a = 10;
  if (length_a <= 0) {
    return ((int *)((void *)0));
  }
  if (max_search_distance_a >= length_a) {
    if (length_a) {
      max_search_distance_a = length_a - 1;
    } else {
      max_search_distance_a = 0;
    }
  }
  max_search_distance_b = ((2 * max_search_distance_a + 1) * length_b - 1) / length_a;
  tmp = xcalloc((size_t )length_b, sizeof(*result___0));
  result___0 = (int *)tmp;
  tmp___0 = xcalloc((size_t )length_b, sizeof(*second_best_result));
  second_best_result = (int *)tmp___0;
  tmp___1 = xcalloc((size_t )length_b, sizeof(*certainties));
  certainties = (int *)tmp___1;
  similarity_count = length_b * (max_search_distance_a * 2 + 1);
  tmp___2 = xcalloc((size_t )similarity_count, sizeof(*similarities));
  similarities = (int *)tmp___2;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < length_b)) {
      goto while_break;
    }
    *(result___0 + i) = -1;
    *(second_best_result + i) = -1;
    *(certainties + i) = -1;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < similarity_count)) {
      goto while_break___0;
    }
    *(similarities + i) = -1;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  fuzzy_find_matching_lines_recurse(start_a, start_b, length_a, length_b, fingerprints_a + start_a,
                                    fingerprints_b + start_b, similarities, certainties,
                                    second_best_result, result___0, max_search_distance_a,
                                    max_search_distance_b, (struct line_number_mapping  const  *)(& map_line_number_in_b_to_a));
  free((void *)similarities);
  free((void *)certainties);
  free((void *)second_best_result);
  return (result___0);
}
}
static void fill_origin_fingerprints(struct blame_origin *o )
{
  int *line_starts ;
  void *tmp ;

  {
  if (o->fingerprints) {
    return;
  }
  o->num_lines = find_line_starts(& line_starts, (char const   *)o->file.ptr, (unsigned long )o->file.size);
  tmp = xcalloc((size_t )o->num_lines, sizeof(*(o->fingerprints)));
  o->fingerprints = (struct fingerprint *)tmp;
  get_line_fingerprints(o->fingerprints, (char const   *)o->file.ptr, (int const   *)line_starts,
                        0L, (long )o->num_lines);
  free((void *)line_starts);
  return;
}
}
static void drop_origin_fingerprints(struct blame_origin *o )
{


  {
  if (o->fingerprints) {
    free_line_fingerprints(o->fingerprints, o->num_lines);
    o->num_lines = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      free((void *)o->fingerprints);
      o->fingerprints = (struct fingerprint *)((void *)0);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
  }
  return;
}
}
static void fill_origin_blob(struct diff_options *opt___0 , struct blame_origin *o ,
                             mmfile_t *file___0 , int *num_read_blob , int fill_fingerprints )
{
  enum object_type type___0 ;
  unsigned long file_size___0 ;
  void *tmp ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  if (! o->file.ptr) {
    (*num_read_blob) ++;
    if (opt___0->flags.allow_textconv) {
      tmp___0 = textconv_object(opt___0->repo, (char const   *)(o->path), (unsigned int )o->mode,
                                (struct object_id  const  *)(& o->blob_oid), 1, & file___0->ptr,
                                & file_size___0);
      if (! tmp___0) {
        tmp = repo_read_object_file(the_repository, (struct object_id  const  *)(& o->blob_oid),
                                    & type___0, & file_size___0);
        file___0->ptr = (char *)tmp;
      }
    } else {
      tmp = repo_read_object_file(the_repository, (struct object_id  const  *)(& o->blob_oid),
                                  & type___0, & file_size___0);
      file___0->ptr = (char *)tmp;
    }
    file___0->size = (long )file_size___0;
    if (! file___0->ptr) {
      tmp___1 = oid_to_hex((struct object_id  const  *)(& o->blob_oid));
      die((char const   *)"Cannot read blob %s for path %s", tmp___1, o->path);
    }
    o->file = *file___0;
  } else {
    *file___0 = o->file;
  }
  if (fill_fingerprints) {
    fill_origin_fingerprints(o);
  }
  return;
}
}
static void drop_origin_blob(struct blame_origin *o )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)o->file.ptr);
    o->file.ptr = (char *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  drop_origin_fingerprints(o);
  return;
}
}
static struct blame_entry *blame_merge(struct blame_entry *list1 , struct blame_entry *list2 )
{
  struct blame_entry *p1 ;
  struct blame_entry *p2 ;
  struct blame_entry **tail ;

  {
  p1 = list1;
  p2 = list2;
  tail = & list1;
  if (! p1) {
    return (p2);
  }
  if (! p2) {
    return (p1);
  }
  if (p1->s_lno <= p2->s_lno) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tail = & p1->next;
      p1 = *tail;
      if ((unsigned long )p1 == (unsigned long )((void *)0)) {
        *tail = p2;
        return (list1);
      }
      if (! (p1->s_lno <= p2->s_lno)) {
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    *tail = p2;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      tail = & p2->next;
      p2 = *tail;
      if ((unsigned long )p2 == (unsigned long )((void *)0)) {
        *tail = p1;
        return (list1);
      }
      if (! (p1->s_lno > p2->s_lno)) {
        goto while_break___1;
      }
    }
    while_break___1: /* CIL Label */ ;
    }
    *tail = p1;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      tail = & p1->next;
      p1 = *tail;
      if ((unsigned long )p1 == (unsigned long )((void *)0)) {
        *tail = p2;
        return (list1);
      }
      if (! (p1->s_lno <= p2->s_lno)) {
        goto while_break___2;
      }
    }
    while_break___2: /* CIL Label */ ;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
}
}
static void *get_next_blame(void const   *p___0 )
{


  {
  return ((void *)((struct blame_entry *)p___0)->next);
}
}
static void set_next_blame(void *p1 , void *p2 )
{


  {
  ((struct blame_entry *)p1)->next = (struct blame_entry *)p2;
  return;
}
}
static int compare_blame_final(void const   *p1 , void const   *p2 )
{
  int tmp ;

  {
  if (((struct blame_entry *)p1)->lno > ((struct blame_entry *)p2)->lno) {
    tmp = 1;
  } else {
    tmp = -1;
  }
  return (tmp);
}
}
static int compare_blame_suspect(void const   *p1 , void const   *p2 )
{
  struct blame_entry  const  *s1 ;
  struct blame_entry  const  *s2 ;
  int tmp ;
  int tmp___0 ;

  {
  s1 = (struct blame_entry  const  *)p1;
  s2 = (struct blame_entry  const  *)p2;
  if ((unsigned long )s1->suspect != (unsigned long )s2->suspect) {
    if ((intptr_t )s1->suspect > (intptr_t )s2->suspect) {
      tmp = 1;
    } else {
      tmp = -1;
    }
    return (tmp);
  }
  if (s1->s_lno == s2->s_lno) {
    return (0);
  }
  if (s1->s_lno > s2->s_lno) {
    tmp___0 = 1;
  } else {
    tmp___0 = -1;
  }
  return (tmp___0);
}
}
void blame_sort_final(struct blame_scoreboard *sb___6 )
{
  void *tmp ;

  {
  tmp = llist_mergesort((void *)sb___6->ent, & get_next_blame, & set_next_blame, & compare_blame_final);
  sb___6->ent = (struct blame_entry *)tmp;
  return;
}
}
static int compare_commits_by_reverse_commit_date(void const   *a , void const   *b___0 ,
                                                  void *c___0 )
{
  int tmp ;

  {
  tmp = compare_commits_by_commit_date(a, b___0, c___0);
  return (- tmp);
}
}
static void sanity_check_refcnt(struct blame_scoreboard *sb___6 )
{
  int baa ;
  struct blame_entry *ent ;
  char *tmp ;

  {
  baa = 0;
  ent = sb___6->ent;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ent) {
      goto while_break;
    }
    if ((ent->suspect)->refcnt <= 0) {
      tmp = oid_to_hex((struct object_id  const  *)(& ((ent->suspect)->commit)->object.oid));
      fprintf(stderr, (char const   *)"%s in %s has negative refcnt %d\n", (ent->suspect)->path,
              tmp, (ent->suspect)->refcnt);
      baa = 1;
    }
    ent = ent->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (baa) {
    (*(sb___6->on_sanity_fail))(sb___6, baa);
  }
  return;
}
}
void blame_coalesce(struct blame_scoreboard *sb___6 )
{
  struct blame_entry *ent ;
  struct blame_entry *next___2 ;

  {
  ent = sb___6->ent;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (ent) {
      next___2 = ent->next;
      if (! next___2) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if ((unsigned long )ent->suspect == (unsigned long )next___2->suspect) {
      if (ent->s_lno + ent->num_lines == next___2->s_lno) {
        if (ent->lno + ent->num_lines == next___2->lno) {
          if (ent->ignored == next___2->ignored) {
            if (ent->unblamable == next___2->unblamable) {
              ent->num_lines += next___2->num_lines;
              ent->next = next___2->next;
              blame_origin_decref(next___2->suspect);
              free((void *)next___2);
              ent->score = 0U;
              next___2 = ent;
            }
          }
        }
      }
    }
    ent = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  if (sb___6->debug) {
    sanity_check_refcnt(sb___6);
  }
  return;
}
}
static void queue_blames(struct blame_scoreboard *sb___6 , struct blame_origin *porigin ,
                         struct blame_entry *sorted )
{
  struct blame_origin *o ;

  {
  if (porigin->suspects) {
    porigin->suspects = blame_merge(porigin->suspects, sorted);
  } else {
    o = get_blame_suspects(porigin->commit);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! o) {
        goto while_break;
      }
      if (o->suspects) {
        porigin->suspects = sorted;
        return;
      }
      o = o->next;
    }
    while_break: /* CIL Label */ ;
    }
    porigin->suspects = sorted;
    prio_queue_put(& sb___6->commits, (void *)porigin->commit);
  }
  return;
}
}
static int fill_blob_sha1_and_mode(struct repository *r , struct blame_origin *origin___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = is_null_oid((struct object_id  const  *)(& origin___0->blob_oid));
  if (! tmp) {
    return (0);
  }
  tmp___0 = get_tree_entry(r, (struct object_id  const  *)(& (origin___0->commit)->object.oid),
                           (char const   *)(origin___0->path), & origin___0->blob_oid,
                           & origin___0->mode);
  if (tmp___0) {
    goto error_out;
  }
  tmp___1 = oid_object_info(r, (struct object_id  const  *)(& origin___0->blob_oid),
                            (unsigned long *)((void *)0));
  if (tmp___1 != 3) {
    goto error_out;
  }
  return (0);
  error_out:
  oidclr(& origin___0->blob_oid);
  origin___0->mode = (unsigned short)12288;
  return (-1);
}
}
static int bloom_count_queries  =    0;
static int bloom_count_no  =    0;
static int maybe_changed_path(struct repository *r , struct blame_origin *origin___0 ,
                              struct blame_bloom_data *bd )
{
  int i ;
  struct bloom_filter *filter___0 ;
  timestamp_t tmp ;
  int tmp___0 ;

  {
  if (! bd) {
    return (1);
  }
  tmp = commit_graph_generation((struct commit  const  *)origin___0->commit);
  if ((unsigned long long )tmp == (1ULL << 63) - 1ULL) {
    return (1);
  }
  filter___0 = get_or_compute_bloom_filter(r, origin___0->commit, 0, (struct bloom_filter_settings  const  *)((void *)0),
                                           (enum bloom_filter_computed *)((void *)0));
  if (! filter___0) {
    return (1);
  }
  bloom_count_queries ++;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < bd->nr)) {
      goto while_break;
    }
    tmp___0 = bloom_filter_contains((struct bloom_filter  const  *)filter___0, (struct bloom_key  const  *)*(bd->keys + i),
                                    (struct bloom_filter_settings  const  *)bd->settings);
    if (tmp___0) {
      return (1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  bloom_count_no ++;
  return (0);
}
}
static void add_bloom_key(struct blame_bloom_data *bd , char const   *path___6 )
{
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  size_t tmp___2 ;

  {
  if (! bd) {
    return;
  }
  if (bd->nr >= bd->alloc) {
    bd->alloc *= 2;
    tmp = st_mult(sizeof(*(bd->keys)), (size_t )bd->alloc);
    tmp___0 = xrealloc((void *)bd->keys, tmp);
    bd->keys = (struct bloom_key **)tmp___0;
  }
  tmp___1 = xmalloc(sizeof(struct bloom_key ));
  *(bd->keys + bd->nr) = (struct bloom_key *)tmp___1;
  tmp___2 = strlen(path___6);
  fill_bloom_key(path___6, tmp___2, *(bd->keys + bd->nr), (struct bloom_filter_settings  const  *)bd->settings);
  (bd->nr) ++;
  return;
}
}
static struct blame_origin *find_origin(struct repository *r , struct commit *parent ,
                                        struct blame_origin *origin___0 , struct blame_bloom_data *bd )
{
  struct blame_origin *porigin ;
  struct diff_options diff_opts ;
  char const   *paths___0[2] ;
  struct blame_origin *tmp ;
  int tmp___0 ;
  struct object_id *tmp___1 ;
  int compute_diff ;
  int tmp___2 ;
  struct object_id *tmp___3 ;
  struct object_id *tmp___4 ;
  int tmp___5 ;
  int i ;
  struct diff_filepair *p___0 ;
  char const   *name___0 ;
  int tmp___6 ;

  {
  porigin = get_blame_suspects(parent);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! porigin) {
      goto while_break;
    }
    tmp___0 = strcmp((char const   *)(porigin->path), (char const   *)(origin___0->path));
    if (! tmp___0) {
      tmp = blame_origin_incref(porigin);
      return (tmp);
    }
    porigin = porigin->next;
  }
  while_break: /* CIL Label */ ;
  }
  repo_diff_setup(r, & diff_opts);
  diff_opts.flags.recursive = 1U;
  diff_opts.detect_rename = 0;
  diff_opts.output_format = 0x0800;
  paths___0[0] = (char const   *)(origin___0->path);
  paths___0[1] = (char const   *)((void *)0);
  parse_pathspec(& diff_opts.pathspec, (unsigned int )(((((((1 | (1 << 1)) | (1 << 2)) | (1 << 3)) | (1 << 4)) | (1 << 5)) | (1 << 6)) & ~ (1 << 2)),
                 (unsigned int )(1 << 6), (char const   *)"", paths___0);
  diff_setup_done(& diff_opts);
  tmp___5 = is_null_oid((struct object_id  const  *)(& (origin___0->commit)->object.oid));
  if (tmp___5) {
    tmp___1 = get_commit_tree_oid((struct commit  const  *)parent);
    do_diff_cache((struct object_id  const  *)tmp___1, & diff_opts);
  } else {
    compute_diff = 1;
    if ((origin___0->commit)->parents) {
      tmp___2 = oideq((struct object_id  const  *)(& parent->object.oid), (struct object_id  const  *)(& (((origin___0->commit)->parents)->item)->object.oid));
      if (tmp___2) {
        compute_diff = maybe_changed_path(r, origin___0, bd);
      }
    }
    if (compute_diff) {
      tmp___3 = get_commit_tree_oid((struct commit  const  *)origin___0->commit);
      tmp___4 = get_commit_tree_oid((struct commit  const  *)parent);
      diff_tree_oid((struct object_id  const  *)tmp___4, (struct object_id  const  *)tmp___3,
                    (char const   *)"", & diff_opts);
    }
  }
  diffcore_std(& diff_opts);
  if (! diff_queued_diff.nr) {
    porigin = get_origin(parent, (char const   *)(origin___0->path));
    oidcpy(& porigin->blob_oid, (struct object_id  const  *)(& origin___0->blob_oid));
    porigin->mode = origin___0->mode;
  } else {
    p___0 = (struct diff_filepair *)((void *)0);
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < diff_queued_diff.nr)) {
        goto while_break___0;
      }
      p___0 = *(diff_queued_diff.queue + i);
      if ((p___0->one)->path) {
        name___0 = (char const   *)(p___0->one)->path;
      } else {
        name___0 = (char const   *)(p___0->two)->path;
      }
      tmp___6 = strcmp(name___0, (char const   *)(origin___0->path));
      if (! tmp___6) {
        goto while_break___0;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! p___0) {
      die((char const   *)"internal error in blame::find_origin");
    }
    {
    if ((int )p___0->status == 77) {
      goto case_77;
    }
    if ((int )p___0->status == 84) {
      goto case_84;
    }
    if ((int )p___0->status == 65) {
      goto case_84;
    }
    goto switch_default;
    switch_default: /* CIL Label */
    die((char const   *)"internal error in blame::find_origin (%c)", (int )p___0->status);
    case_77: /* CIL Label */
    porigin = get_origin(parent, (char const   *)(origin___0->path));
    oidcpy(& porigin->blob_oid, (struct object_id  const  *)(& (p___0->one)->oid));
    porigin->mode = (p___0->one)->mode;
    goto switch_break;
    case_84: /* CIL Label */
    case_65: /* CIL Label */
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
  }
  diff_flush(& diff_opts);
  clear_pathspec(& diff_opts.pathspec);
  return (porigin);
}
}
static struct blame_origin *find_rename(struct repository *r , struct commit *parent ,
                                        struct blame_origin *origin___0 , struct blame_bloom_data *bd )
{
  struct blame_origin *porigin ;
  struct diff_options diff_opts ;
  int i ;
  struct object_id *tmp ;
  struct object_id *tmp___0 ;
  struct object_id *tmp___1 ;
  int tmp___2 ;
  struct diff_filepair *p___0 ;
  int tmp___3 ;

  {
  porigin = (struct blame_origin *)((void *)0);
  repo_diff_setup(r, & diff_opts);
  diff_opts.flags.recursive = 1U;
  diff_opts.detect_rename = 1;
  diff_opts.output_format = 0x0800;
  diff_opts.single_follow = (char const   *)(origin___0->path);
  diff_setup_done(& diff_opts);
  tmp___2 = is_null_oid((struct object_id  const  *)(& (origin___0->commit)->object.oid));
  if (tmp___2) {
    tmp = get_commit_tree_oid((struct commit  const  *)parent);
    do_diff_cache((struct object_id  const  *)tmp, & diff_opts);
  } else {
    tmp___0 = get_commit_tree_oid((struct commit  const  *)origin___0->commit);
    tmp___1 = get_commit_tree_oid((struct commit  const  *)parent);
    diff_tree_oid((struct object_id  const  *)tmp___1, (struct object_id  const  *)tmp___0,
                  (char const   *)"", & diff_opts);
  }
  diffcore_std(& diff_opts);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < diff_queued_diff.nr)) {
      goto while_break;
    }
    p___0 = *(diff_queued_diff.queue + i);
    if ((int )p___0->status == 82) {
      goto _L;
    } else
    if ((int )p___0->status == 67) {
      _L: /* CIL Label */
      tmp___3 = strcmp((char const   *)(p___0->two)->path, (char const   *)(origin___0->path));
      if (! tmp___3) {
        add_bloom_key(bd, (char const   *)(p___0->one)->path);
        porigin = get_origin(parent, (char const   *)(p___0->one)->path);
        oidcpy(& porigin->blob_oid, (struct object_id  const  *)(& (p___0->one)->oid));
        porigin->mode = (p___0->one)->mode;
        goto while_break;
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  diff_flush(& diff_opts);
  clear_pathspec(& diff_opts.pathspec);
  return (porigin);
}
}
static void add_blame_entry(struct blame_entry ***queue , struct blame_entry  const  *src )
{
  struct blame_entry *e ;
  void *tmp ;

  {
  tmp = xmalloc(sizeof(*e));
  e = (struct blame_entry *)tmp;
  memcpy((void *)e, (void const   *)src, sizeof(*e));
  blame_origin_incref(e->suspect);
  e->next = *(*queue);
  *(*queue) = e;
  *queue = & e->next;
  return;
}
}
static void dup_entry(struct blame_entry ***queue , struct blame_entry *dst , struct blame_entry *src )
{


  {
  blame_origin_incref(src->suspect);
  blame_origin_decref(dst->suspect);
  memcpy((void *)dst, (void const   *)src, sizeof(*src));
  dst->next = *(*queue);
  *(*queue) = dst;
  *queue = & dst->next;
  return;
}
}
char const   *blame_nth_line(struct blame_scoreboard *sb___6 , long lno )
{


  {
  return (sb___6->final_buf + *(sb___6->lineno + lno));
}
}
static void split_overlap(struct blame_entry *split , struct blame_entry *e , int tlno ,
                          int plno , int same___0 , struct blame_origin *parent )
{
  int chunk_end_lno ;
  int i ;

  {
  memset((void *)split, 0, sizeof(struct blame_entry [3]));
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 3)) {
      goto while_break;
    }
    (split + i)->ignored = e->ignored;
    (split + i)->unblamable = e->unblamable;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (e->s_lno < tlno) {
    (split + 0)->suspect = blame_origin_incref(e->suspect);
    (split + 0)->lno = e->lno;
    (split + 0)->s_lno = e->s_lno;
    (split + 0)->num_lines = tlno - e->s_lno;
    (split + 1)->lno = (e->lno + tlno) - e->s_lno;
    (split + 1)->s_lno = plno;
  } else {
    (split + 1)->lno = e->lno;
    (split + 1)->s_lno = plno + (e->s_lno - tlno);
  }
  if (same___0 < e->s_lno + e->num_lines) {
    (split + 2)->suspect = blame_origin_incref(e->suspect);
    (split + 2)->lno = e->lno + (same___0 - e->s_lno);
    (split + 2)->s_lno = e->s_lno + (same___0 - e->s_lno);
    (split + 2)->num_lines = (e->s_lno + e->num_lines) - same___0;
    chunk_end_lno = (split + 2)->lno;
  } else {
    chunk_end_lno = e->lno + e->num_lines;
  }
  (split + 1)->num_lines = chunk_end_lno - (split + 1)->lno;
  if ((split + 1)->num_lines < 1) {
    return;
  }
  (split + 1)->suspect = blame_origin_incref(parent);
  return;
}
}
static void split_blame(struct blame_entry ***blamed , struct blame_entry ***unblamed ,
                        struct blame_entry *split , struct blame_entry *e )
{


  {
  if ((split + 0)->suspect) {
    if ((split + 2)->suspect) {
      dup_entry(unblamed, e, split + 0);
      add_blame_entry(unblamed, (struct blame_entry  const  *)(split + 2));
      add_blame_entry(blamed, (struct blame_entry  const  *)(split + 1));
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  if (! (split + 0)->suspect) {
    if (! (split + 2)->suspect) {
      dup_entry(blamed, e, split + 1);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if ((split + 0)->suspect) {
    dup_entry(unblamed, e, split + 0);
    add_blame_entry(blamed, (struct blame_entry  const  *)(split + 1));
  } else {
    dup_entry(blamed, e, split + 1);
    add_blame_entry(unblamed, (struct blame_entry  const  *)(split + 2));
  }
  return;
}
}
static void decref_split(struct blame_entry *split )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 3)) {
      goto while_break;
    }
    blame_origin_decref((split + i)->suspect);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct blame_entry *reverse_blame(struct blame_entry *head___1 , struct blame_entry *tail )
{
  struct blame_entry *next___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! head___1) {
      goto while_break;
    }
    next___2 = head___1->next;
    head___1->next = tail;
    tail = head___1;
    head___1 = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  return (tail);
}
}
static struct blame_entry *split_blame_at(struct blame_entry *e , int len___0 , struct blame_origin *new_suspect )
{
  struct blame_entry *n ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(struct blame_entry ));
  n = (struct blame_entry *)tmp;
  n->suspect = new_suspect;
  n->ignored = e->ignored;
  n->unblamable = e->unblamable;
  n->lno = e->lno + len___0;
  n->s_lno = e->s_lno + len___0;
  n->num_lines = e->num_lines - len___0;
  e->num_lines = len___0;
  e->score = 0U;
  return (n);
}
}
static int are_lines_adjacent(struct blame_line_tracker *first , struct blame_line_tracker *second )
{
  int tmp ;

  {
  if (first->is_parent == second->is_parent) {
    if (first->s_lno + 1 == second->s_lno) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static int scan_parent_range(struct fingerprint *p_fps , struct fingerprint *t_fps ,
                             int t_idx , int from___0 , int nr_lines )
{
  int sim ;
  int p_idx ;
  int best_sim_val ;
  int best_sim_idx ;
  int tmp ;
  int tmp___0 ;

  {
  best_sim_val = 10;
  best_sim_idx = -1;
  p_idx = from___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (p_idx < from___0 + nr_lines)) {
      goto while_break;
    }
    sim = fingerprint_similarity(t_fps + t_idx, p_fps + p_idx);
    if (sim < best_sim_val) {
      goto __Cont;
    }
    if (sim == best_sim_val) {
      if (best_sim_idx != -1) {
        tmp = abs(best_sim_idx - t_idx);
        tmp___0 = abs(p_idx - t_idx);
        if (tmp < tmp___0) {
          goto __Cont;
        }
      }
    }
    best_sim_val = sim;
    best_sim_idx = p_idx;
    __Cont: /* CIL Label */
    p_idx ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (best_sim_idx);
}
}
static void guess_line_blames(struct blame_origin *parent , struct blame_origin *target ,
                              int tlno , int offset___2 , int same___0 , int parent_len ,
                              struct blame_line_tracker *line_blames )
{
  int i ;
  int best_idx ;
  int target_idx ;
  int parent_slno ;
  int *fuzzy_matches ;

  {
  parent_slno = tlno + offset___2;
  fuzzy_matches = fuzzy_find_matching_lines(parent, target, tlno, parent_slno, same___0,
                                            parent_len);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < same___0 - tlno)) {
      goto while_break;
    }
    target_idx = tlno + i;
    if (fuzzy_matches) {
      if (*(fuzzy_matches + i) >= 0) {
        best_idx = *(fuzzy_matches + i);
      } else {
        best_idx = scan_parent_range(parent->fingerprints, target->fingerprints, target_idx,
                                     0, parent->num_lines);
      }
    } else {
      best_idx = scan_parent_range(parent->fingerprints, target->fingerprints, target_idx,
                                   0, parent->num_lines);
    }
    if (best_idx >= 0) {
      (line_blames + i)->is_parent = 1;
      (line_blames + i)->s_lno = best_idx;
    } else {
      (line_blames + i)->is_parent = 0;
      (line_blames + i)->s_lno = target_idx;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)fuzzy_matches);
  return;
}
}
static void ignore_blame_entry(struct blame_entry *e , struct blame_origin *parent ,
                               struct blame_entry **diffp , struct blame_entry **ignoredp ,
                               struct blame_line_tracker *line_blames )
{
  int entry_len ;
  int nr_lines ;
  int i ;
  struct blame_entry *next___2 ;
  int tmp ;
  struct blame_origin *tmp___0 ;

  {
  entry_len = 1;
  nr_lines = e->num_lines;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_lines)) {
      goto while_break;
    }
    next___2 = (struct blame_entry *)((void *)0);
    if (i + 1 < nr_lines) {
      tmp = are_lines_adjacent(line_blames + i, line_blames + (i + 1));
      if (tmp) {
        entry_len ++;
        goto __Cont;
      }
      tmp___0 = blame_origin_incref(e->suspect);
      next___2 = split_blame_at(e, entry_len, tmp___0);
    }
    if ((line_blames + i)->is_parent) {
      e->ignored = 1;
      blame_origin_decref(e->suspect);
      e->suspect = blame_origin_incref(parent);
      e->s_lno = (line_blames + ((i - entry_len) + 1))->s_lno;
      e->next = *ignoredp;
      *ignoredp = e;
    } else {
      e->unblamable = 1;
      e->next = *diffp;
      *diffp = e;
    }
    assert(e->num_lines == entry_len);
    e = next___2;
    entry_len = 1;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  assert(! e);
  return;
}
}
static void blame_chunk(struct blame_entry ***dstq , struct blame_entry ***srcq ,
                        int tlno , int offset___2 , int same___0 , int parent_len ,
                        struct blame_origin *parent , struct blame_origin *target ,
                        int ignore_diffs )
{
  struct blame_entry *e ;
  struct blame_entry *samep ;
  struct blame_entry *diffp ;
  struct blame_entry *ignoredp ;
  struct blame_line_tracker *line_blames ;
  struct blame_entry *next___2 ;
  struct blame_entry *n ;
  void *tmp ;
  struct blame_entry *next___3 ;
  struct blame_entry *n___0 ;
  struct blame_origin *tmp___0 ;
  struct blame_entry *tmp___1 ;

  {
  e = *(*srcq);
  samep = (struct blame_entry *)((void *)0);
  diffp = (struct blame_entry *)((void *)0);
  ignoredp = (struct blame_entry *)((void *)0);
  line_blames = (struct blame_line_tracker *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (e) {
      if (! (e->s_lno < tlno)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    next___2 = e->next;
    if (e->s_lno + e->num_lines > tlno) {
      n = split_blame_at(e, tlno - e->s_lno, e->suspect);
      n->next = diffp;
      diffp = n;
    } else {
      blame_origin_decref(e->suspect);
    }
    e->suspect = blame_origin_incref(parent);
    e->s_lno += offset___2;
    e->next = samep;
    samep = e;
    e = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  if (samep) {
    *(*dstq) = reverse_blame(samep, *(*dstq));
    *dstq = & samep->next;
  }
  e = reverse_blame(diffp, e);
  samep = (struct blame_entry *)((void *)0);
  diffp = (struct blame_entry *)((void *)0);
  if (ignore_diffs) {
    if (same___0 - tlno > 0) {
      tmp = xcalloc((size_t )(same___0 - tlno), sizeof(*line_blames));
      line_blames = (struct blame_line_tracker *)tmp;
      guess_line_blames(parent, target, tlno, offset___2, same___0, parent_len, line_blames);
    }
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (e) {
      if (! (e->s_lno < same___0)) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    next___3 = e->next;
    if (e->s_lno + e->num_lines > same___0) {
      tmp___0 = blame_origin_incref(e->suspect);
      n___0 = split_blame_at(e, same___0 - e->s_lno, tmp___0);
      n___0->next = samep;
      samep = n___0;
    }
    if (ignore_diffs) {
      ignore_blame_entry(e, parent, & diffp, & ignoredp, (line_blames + e->s_lno) - tlno);
    } else {
      e->next = diffp;
      diffp = e;
    }
    e = next___3;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)line_blames);
  if (ignoredp) {
    *(*dstq) = reverse_blame(ignoredp, *(*dstq));
    *dstq = & ignoredp->next;
  }
  tmp___1 = reverse_blame(samep, e);
  *(*srcq) = reverse_blame(diffp, tmp___1);
  if (diffp) {
    *srcq = & diffp->next;
  }
  return;
}
}
static int blame_chunk_cb(long start_a , long count_a , long start_b , long count_b ,
                          void *data )
{
  struct blame_chunk_cb_data *d ;

  {
  d = (struct blame_chunk_cb_data *)data;
  if (start_a - start_b != d->offset) {
    die((char const   *)"internal error in blame::blame_chunk_cb");
  }
  blame_chunk(& d->dstq, & d->srcq, (int )start_b, (int )(start_a - start_b), (int )(start_b + count_b),
              (int )count_a, d->parent, d->target, d->ignore_diffs);
  d->offset = (start_a + count_a) - (start_b + count_b);
  return (0);
}
}
static void pass_blame_to_parent(struct blame_scoreboard *sb___6 , struct blame_origin *target ,
                                 struct blame_origin *parent , int ignore_diffs )
{
  mmfile_t file_p ;
  mmfile_t file_o ;
  struct blame_chunk_cb_data d ;
  struct blame_entry *newdest ;
  char *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  void *tmp___2 ;

  {
  newdest = (struct blame_entry *)((void *)0);
  if (! target->suspects) {
    return;
  }
  d.parent = parent;
  d.target = target;
  d.offset = 0L;
  d.ignore_diffs = ignore_diffs;
  d.dstq = & newdest;
  d.srcq = & target->suspects;
  fill_origin_blob(& (sb___6->revs)->diffopt, parent, & file_p, & sb___6->num_read_blob,
                   ignore_diffs);
  fill_origin_blob(& (sb___6->revs)->diffopt, target, & file_o, & sb___6->num_read_blob,
                   ignore_diffs);
  (sb___6->num_get_patch) ++;
  tmp___1 = diff_hunks(& file_p, & file_o, & blame_chunk_cb, (void *)(& d), sb___6->xdl_opts);
  if (tmp___1) {
    tmp = oid_to_hex((struct object_id  const  *)(& (target->commit)->object.oid));
    tmp___0 = oid_to_hex((struct object_id  const  *)(& (parent->commit)->object.oid));
    die((char const   *)"unable to generate diff (%s -> %s)", tmp___0, tmp);
  }
  blame_chunk(& d.dstq, & d.srcq, 0x7fffffff, (int )d.offset, 0x7fffffff, 0, parent,
              target, 0);
  *(d.dstq) = (struct blame_entry *)((void *)0);
  if (ignore_diffs) {
    tmp___2 = llist_mergesort((void *)newdest, & get_next_blame, & set_next_blame,
                              & compare_blame_suspect);
    newdest = (struct blame_entry *)tmp___2;
  }
  queue_blames(sb___6, parent, newdest);
  return;
}
}
unsigned int blame_entry_score(struct blame_scoreboard *sb___6 , struct blame_entry *e )
{
  unsigned int score ;
  char const   *cp ;
  char const   *ep ;
  unsigned int ch___0 ;

  {
  if (e->score) {
    return (e->score);
  }
  score = 1U;
  cp = blame_nth_line(sb___6, (long )e->lno);
  ep = blame_nth_line(sb___6, (long )(e->lno + e->num_lines));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )cp < (unsigned long )ep)) {
      goto while_break;
    }
    ch___0 = (unsigned int )*((unsigned char *)cp);
    if (((int const   )sane_ctype[(unsigned char )ch___0] & 6) != 0) {
      score ++;
    }
    cp ++;
  }
  while_break: /* CIL Label */ ;
  }
  e->score = score;
  return (score);
}
}
static void copy_split_if_better(struct blame_scoreboard *sb___6 , struct blame_entry *best_so_far ,
                                 struct blame_entry *potential )
{
  int i ;
  unsigned int tmp ;
  unsigned int tmp___0 ;

  {
  if (! (potential + 1)->suspect) {
    return;
  }
  if ((best_so_far + 1)->suspect) {
    tmp = blame_entry_score(sb___6, potential + 1);
    tmp___0 = blame_entry_score(sb___6, best_so_far + 1);
    if (tmp < tmp___0) {
      return;
    }
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 3)) {
      goto while_break;
    }
    blame_origin_incref((potential + i)->suspect);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  decref_split(best_so_far);
  memcpy((void *)best_so_far, (void const   *)potential, sizeof(struct blame_entry [3]));
  return;
}
}
static void handle_split(struct blame_scoreboard *sb___6 , struct blame_entry *ent ,
                         int tlno , int plno , int same___0 , struct blame_origin *parent ,
                         struct blame_entry *split )
{
  struct blame_entry potential[3] ;

  {
  if (ent->num_lines <= tlno) {
    return;
  }
  if (tlno < same___0) {
    tlno += ent->s_lno;
    same___0 += ent->s_lno;
    split_overlap(potential, ent, tlno, plno, same___0, parent);
    copy_split_if_better(sb___6, split, potential);
    decref_split(potential);
  }
  return;
}
}
static int handle_split_cb(long start_a , long count_a , long start_b , long count_b ,
                           void *data )
{
  struct handle_split_cb_data *d ;

  {
  d = (struct handle_split_cb_data *)data;
  handle_split(d->sb, d->ent, (int )d->tlno, (int )d->plno, (int )start_b, d->parent,
               d->split);
  d->plno = start_a + count_a;
  d->tlno = start_b + count_b;
  return (0);
}
}
static void find_copy_in_blob(struct blame_scoreboard *sb___6 , struct blame_entry *ent ,
                              struct blame_origin *parent , struct blame_entry *split ,
                              mmfile_t *file_p )
{
  char const   *cp ;
  mmfile_t file_o ;
  struct handle_split_cb_data d ;
  char const   *tmp ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  memset((void *)(& d), 0, sizeof(d));
  d.sb = sb___6;
  d.ent = ent;
  d.parent = parent;
  d.split = split;
  cp = blame_nth_line(sb___6, (long )ent->lno);
  file_o.ptr = (char *)cp;
  tmp = blame_nth_line(sb___6, (long )(ent->lno + ent->num_lines));
  file_o.size = tmp - cp;
  memset((void *)split, 0, sizeof(struct blame_entry [3]));
  tmp___1 = diff_hunks(file_p, & file_o, & handle_split_cb, (void *)(& d), sb___6->xdl_opts);
  if (tmp___1) {
    tmp___0 = oid_to_hex((struct object_id  const  *)(& (parent->commit)->object.oid));
    die((char const   *)"unable to generate diff (%s)", tmp___0);
  }
  handle_split(sb___6, ent, (int )d.tlno, (int )d.plno, ent->num_lines, parent, split);
  return;
}
}
static struct blame_entry **filter_small(struct blame_scoreboard *sb___6 , struct blame_entry **small ,
                                         struct blame_entry **source , unsigned int score_min )
{
  struct blame_entry *p___0 ;
  struct blame_entry *oldsmall ;
  unsigned int tmp ;

  {
  p___0 = *source;
  oldsmall = *small;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    tmp = blame_entry_score(sb___6, p___0);
    if (tmp <= score_min) {
      *small = p___0;
      small = & p___0->next;
      p___0 = *small;
    } else {
      *source = p___0;
      source = & p___0->next;
      p___0 = *source;
    }
  }
  while_break: /* CIL Label */ ;
  }
  *small = oldsmall;
  *source = (struct blame_entry *)((void *)0);
  return (small);
}
}
static void find_move_in_parent(struct blame_scoreboard *sb___6 , struct blame_entry ***blamed ,
                                struct blame_entry **toosmall , struct blame_origin *target ,
                                struct blame_origin *parent )
{
  struct blame_entry *e ;
  struct blame_entry split[3] ;
  struct blame_entry *unblamed ;
  struct blame_entry *leftover ;
  mmfile_t file_p ;
  struct blame_entry **unblamedtail ;
  struct blame_entry *next___2 ;
  unsigned int tmp ;

  {
  unblamed = target->suspects;
  leftover = (struct blame_entry *)((void *)0);
  if (! unblamed) {
    return;
  }
  fill_origin_blob(& (sb___6->revs)->diffopt, parent, & file_p, & sb___6->num_read_blob,
                   0);
  if (! file_p.ptr) {
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    unblamedtail = & unblamed;
    e = unblamed;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! e) {
        goto while_break___0;
      }
      next___2 = e->next;
      find_copy_in_blob(sb___6, e, parent, split, & file_p);
      if (split[1].suspect) {
        tmp = blame_entry_score(sb___6, & split[1]);
        if (sb___6->move_score < tmp) {
          split_blame(blamed, & unblamedtail, split, e);
        } else {
          e->next = leftover;
          leftover = e;
        }
      } else {
        e->next = leftover;
        leftover = e;
      }
      decref_split(split);
      e = next___2;
    }
    while_break___0: /* CIL Label */ ;
    }
    *unblamedtail = (struct blame_entry *)((void *)0);
    toosmall = filter_small(sb___6, toosmall, & unblamed, sb___6->move_score);
    if (! unblamed) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  target->suspects = reverse_blame(leftover, (struct blame_entry *)((void *)0));
  return;
}
}
static struct blame_list *setup_blame_list(struct blame_entry *unblamed , int *num_ents_p )
{
  struct blame_entry *e ;
  int num_ents ;
  int i ;
  struct blame_list *blame_list ;
  void *tmp ;
  int tmp___0 ;

  {
  blame_list = (struct blame_list *)((void *)0);
  e = unblamed;
  num_ents = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! e) {
      goto while_break;
    }
    num_ents ++;
    e = e->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (num_ents) {
    tmp = xcalloc((size_t )num_ents, sizeof(*blame_list));
    blame_list = (struct blame_list *)tmp;
    e = unblamed;
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! e) {
        goto while_break___0;
      }
      tmp___0 = i;
      i ++;
      (blame_list + tmp___0)->ent = e;
      e = e->next;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  *num_ents_p = num_ents;
  return (blame_list);
}
}
static void find_copy_in_parent(struct blame_scoreboard *sb___6 , struct blame_entry ***blamed ,
                                struct blame_entry **toosmall , struct blame_origin *target ,
                                struct commit *parent , struct blame_origin *porigin ,
                                int opt___0 )
{
  struct diff_options diff_opts ;
  int i ;
  int j ;
  struct blame_list *blame_list ;
  int num_ents ;
  struct blame_entry *unblamed ;
  struct blame_entry *leftover ;
  int tmp ;
  struct object_id *tmp___0 ;
  struct object_id *tmp___1 ;
  struct object_id *tmp___2 ;
  int tmp___3 ;
  struct blame_entry **unblamedtail ;
  struct diff_filepair *p___0 ;
  struct blame_origin *norigin ;
  mmfile_t file_p ;
  struct blame_entry potential[3] ;
  int tmp___4 ;
  struct blame_entry *split ;
  unsigned int tmp___5 ;

  {
  unblamed = target->suspects;
  leftover = (struct blame_entry *)((void *)0);
  if (! unblamed) {
    return;
  }
  repo_diff_setup(sb___6->repo, & diff_opts);
  diff_opts.flags.recursive = 1U;
  diff_opts.output_format = 0x0800;
  diff_setup_done(& diff_opts);
  if (opt___0 & 010) {
    diff_opts.flags.find_copies_harder = 1U;
  } else
  if (opt___0 & 04) {
    if (! porigin) {
      diff_opts.flags.find_copies_harder = 1U;
    } else {
      tmp = strcmp((char const   *)(target->path), (char const   *)(porigin->path));
      if (tmp) {
        diff_opts.flags.find_copies_harder = 1U;
      }
    }
  }
  tmp___3 = is_null_oid((struct object_id  const  *)(& (target->commit)->object.oid));
  if (tmp___3) {
    tmp___0 = get_commit_tree_oid((struct commit  const  *)parent);
    do_diff_cache((struct object_id  const  *)tmp___0, & diff_opts);
  } else {
    tmp___1 = get_commit_tree_oid((struct commit  const  *)target->commit);
    tmp___2 = get_commit_tree_oid((struct commit  const  *)parent);
    diff_tree_oid((struct object_id  const  *)tmp___2, (struct object_id  const  *)tmp___1,
                  (char const   *)"", & diff_opts);
  }
  if (! diff_opts.flags.find_copies_harder) {
    diffcore_std(& diff_opts);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    unblamedtail = & unblamed;
    blame_list = setup_blame_list(unblamed, & num_ents);
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < diff_queued_diff.nr)) {
        goto while_break___0;
      }
      p___0 = *(diff_queued_diff.queue + i);
      if (! ((int )(p___0->one)->mode != 0)) {
        goto __Cont;
      }
      if (((int )(p___0->one)->mode & 0170000) == 0160000) {
        goto __Cont;
      }
      if (porigin) {
        tmp___4 = strcmp((char const   *)(p___0->one)->path, (char const   *)(porigin->path));
        if (! tmp___4) {
          goto __Cont;
        }
      }
      norigin = get_origin(parent, (char const   *)(p___0->one)->path);
      oidcpy(& norigin->blob_oid, (struct object_id  const  *)(& (p___0->one)->oid));
      norigin->mode = (p___0->one)->mode;
      fill_origin_blob(& (sb___6->revs)->diffopt, norigin, & file_p, & sb___6->num_read_blob,
                       0);
      if (! file_p.ptr) {
        goto __Cont;
      }
      j = 0;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! (j < num_ents)) {
          goto while_break___1;
        }
        find_copy_in_blob(sb___6, (blame_list + j)->ent, norigin, potential, & file_p);
        copy_split_if_better(sb___6, (blame_list + j)->split, potential);
        decref_split(potential);
        j ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      blame_origin_decref(norigin);
      __Cont: /* CIL Label */
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    j = 0;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (j < num_ents)) {
        goto while_break___2;
      }
      split = (blame_list + j)->split;
      if ((split + 1)->suspect) {
        tmp___5 = blame_entry_score(sb___6, split + 1);
        if (sb___6->copy_score < tmp___5) {
          split_blame(blamed, & unblamedtail, split, (blame_list + j)->ent);
        } else {
          ((blame_list + j)->ent)->next = leftover;
          leftover = (blame_list + j)->ent;
        }
      } else {
        ((blame_list + j)->ent)->next = leftover;
        leftover = (blame_list + j)->ent;
      }
      decref_split(split);
      j ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    free((void *)blame_list);
    *unblamedtail = (struct blame_entry *)((void *)0);
    toosmall = filter_small(sb___6, toosmall, & unblamed, sb___6->copy_score);
    if (! unblamed) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  target->suspects = reverse_blame(leftover, (struct blame_entry *)((void *)0));
  diff_flush(& diff_opts);
  clear_pathspec(& diff_opts.pathspec);
  return;
}
}
static void pass_whole_blame(struct blame_scoreboard *sb___6 , struct blame_origin *origin___0 ,
                             struct blame_origin *porigin )
{
  struct blame_entry *e ;
  struct blame_entry *suspects ;

  {
  if (! porigin->file.ptr) {
    if (origin___0->file.ptr) {
      porigin->file = origin___0->file;
      origin___0->file.ptr = (char *)((void *)0);
    }
  }
  suspects = origin___0->suspects;
  origin___0->suspects = (struct blame_entry *)((void *)0);
  e = suspects;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! e) {
      goto while_break;
    }
    blame_origin_incref(porigin);
    blame_origin_decref(e->suspect);
    e->suspect = porigin;
    e = e->next;
  }
  while_break: /* CIL Label */ ;
  }
  queue_blames(sb___6, porigin, suspects);
  return;
}
}
static struct commit_list *first_scapegoat(struct rev_info *revs , struct commit *commit ,
                                           int reverse___0 )
{
  void *tmp ;

  {
  if (! reverse___0) {
    if (revs->first_parent_only) {
      if (commit->parents) {
        if ((commit->parents)->next) {
          free_commit_list((commit->parents)->next);
          (commit->parents)->next = (struct commit_list *)((void *)0);
        }
      }
    }
    return (commit->parents);
  }
  tmp = lookup_decoration(& revs->children, (struct object  const  *)(& commit->object));
  return ((struct commit_list *)tmp);
}
}
static int num_scapegoats(struct rev_info *revs , struct commit *commit , int reverse___0 )
{
  struct commit_list *l ;
  struct commit_list *tmp ;
  unsigned int tmp___0 ;

  {
  tmp = first_scapegoat(revs, commit, reverse___0);
  l = tmp;
  tmp___0 = commit_list_count((struct commit_list  const  *)l);
  return ((int )tmp___0);
}
}
static void distribute_blame(struct blame_scoreboard *sb___6 , struct blame_entry *blamed )
{
  void *tmp ;
  struct blame_origin *porigin ;
  struct blame_entry *suspects ;
  struct blame_entry *next___2 ;

  {
  tmp = llist_mergesort((void *)blamed, & get_next_blame, & set_next_blame, & compare_blame_suspect);
  blamed = (struct blame_entry *)tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! blamed) {
      goto while_break;
    }
    porigin = blamed->suspect;
    suspects = (struct blame_entry *)((void *)0);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      next___2 = blamed->next;
      blamed->next = suspects;
      suspects = blamed;
      blamed = next___2;
      if (blamed) {
        if (! ((unsigned long )blamed->suspect == (unsigned long )porigin)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    suspects = reverse_blame(suspects, (struct blame_entry *)((void *)0));
    queue_blames(sb___6, porigin, suspects);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void pass_blame(struct blame_scoreboard *sb___6 , struct blame_origin *origin___0 ,
                       int opt___0 )
{
  struct rev_info *revs ;
  int i ;
  int pass ;
  int num_sg ;
  struct commit *commit ;
  struct commit_list *sg ;
  struct blame_origin *sg_buf[16] ;
  struct blame_origin *porigin ;
  struct blame_origin **sg_origin ;
  struct blame_entry *toosmall ;
  struct blame_entry *blames ;
  struct blame_entry **blametail ;
  void *tmp ;
  struct blame_origin *(*find)(struct repository * , struct commit * , struct blame_origin * ,
                               struct blame_bloom_data * ) ;
  struct blame_origin *(*tmp___0)(struct repository *r , struct commit *parent , struct blame_origin *origin ,
                                  struct blame_bloom_data *bd ) ;
  struct commit *p___0 ;
  int j ;
  int same___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  struct blame_origin *porigin___0 ;
  struct blame_origin *porigin___1 ;
  int tmp___4 ;
  struct blame_origin *porigin___2 ;
  struct blame_origin *porigin___3 ;
  struct blame_entry **tail ;

  {
  revs = sb___6->revs;
  commit = origin___0->commit;
  sg_origin = sg_buf;
  toosmall = (struct blame_entry *)((void *)0);
  blametail = & blames;
  num_sg = num_scapegoats(revs, commit, sb___6->reverse);
  if (! num_sg) {
    goto finish;
  } else
  if ((unsigned long )num_sg < sizeof(sg_buf) / sizeof(sg_buf[0]) + (sizeof(char [1]) - 1UL)) {
    memset((void *)(sg_buf), 0, sizeof(sg_buf));
  } else {
    tmp = xcalloc((size_t )num_sg, sizeof(*sg_origin));
    sg_origin = (struct blame_origin **)tmp;
  }
  pass = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (pass < 2 - sb___6->no_whole_file_rename)) {
      goto while_break;
    }
    if (pass) {
      tmp___0 = & find_rename;
    } else {
      tmp___0 = & find_origin;
    }
    find = tmp___0;
    i = 0;
    sg = first_scapegoat(revs, commit, sb___6->reverse);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (i < num_sg) {
        if (! sg) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      p___0 = sg->item;
      if (*(sg_origin + i)) {
        goto __Cont;
      }
      tmp___1 = repo_parse_commit(the_repository, p___0);
      if (tmp___1) {
        goto __Cont;
      }
      porigin = (*find)(sb___6->repo, p___0, origin___0, sb___6->bloom_data);
      if (! porigin) {
        goto __Cont;
      }
      tmp___2 = oideq((struct object_id  const  *)(& porigin->blob_oid), (struct object_id  const  *)(& origin___0->blob_oid));
      if (tmp___2) {
        pass_whole_blame(sb___6, origin___0, porigin);
        blame_origin_decref(porigin);
        goto finish;
      }
      same___0 = 0;
      j = same___0;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! (j < i)) {
          goto while_break___1;
        }
        if (*(sg_origin + j)) {
          tmp___3 = oideq((struct object_id  const  *)(& (*(sg_origin + j))->blob_oid),
                          (struct object_id  const  *)(& porigin->blob_oid));
          if (tmp___3) {
            same___0 = 1;
            goto while_break___1;
          }
        }
        j ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      if (! same___0) {
        *(sg_origin + i) = porigin;
      } else {
        blame_origin_decref(porigin);
      }
      __Cont: /* CIL Label */
      sg = sg->next;
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    pass ++;
  }
  while_break: /* CIL Label */ ;
  }
  (sb___6->num_commits) ++;
  i = 0;
  sg = first_scapegoat(revs, commit, sb___6->reverse);
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (i < num_sg) {
      if (! sg) {
        goto while_break___2;
      }
    } else {
      goto while_break___2;
    }
    porigin___0 = *(sg_origin + i);
    if (! porigin___0) {
      goto __Cont___0;
    }
    if (! origin___0->previous) {
      blame_origin_incref(porigin___0);
      origin___0->previous = porigin___0;
    }
    pass_blame_to_parent(sb___6, origin___0, porigin___0, 0);
    if (! origin___0->suspects) {
      goto finish;
    }
    __Cont___0: /* CIL Label */
    sg = sg->next;
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  tmp___4 = oidset_contains((struct oidset  const  *)(& sb___6->ignore_list), (struct object_id  const  *)(& commit->object.oid));
  if (tmp___4) {
    i = 0;
    sg = first_scapegoat(revs, commit, sb___6->reverse);
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (i < num_sg) {
        if (! sg) {
          goto while_break___3;
        }
      } else {
        goto while_break___3;
      }
      porigin___1 = *(sg_origin + i);
      if (! porigin___1) {
        goto __Cont___1;
      }
      pass_blame_to_parent(sb___6, origin___0, porigin___1, 1);
      drop_origin_blob(porigin___1);
      if (! origin___0->suspects) {
        goto finish;
      }
      __Cont___1: /* CIL Label */
      sg = sg->next;
      i ++;
    }
    while_break___3: /* CIL Label */ ;
    }
  }
  if (opt___0 & 01) {
    filter_small(sb___6, & toosmall, & origin___0->suspects, sb___6->move_score);
    if (origin___0->suspects) {
      i = 0;
      sg = first_scapegoat(revs, commit, sb___6->reverse);
      {
      while (1) {
        while_continue___4: /* CIL Label */ ;
        if (i < num_sg) {
          if (! sg) {
            goto while_break___4;
          }
        } else {
          goto while_break___4;
        }
        porigin___2 = *(sg_origin + i);
        if (! porigin___2) {
          goto __Cont___2;
        }
        find_move_in_parent(sb___6, & blametail, & toosmall, origin___0, porigin___2);
        if (! origin___0->suspects) {
          goto while_break___4;
        }
        __Cont___2: /* CIL Label */
        sg = sg->next;
        i ++;
      }
      while_break___4: /* CIL Label */ ;
      }
    }
  }
  if (opt___0 & 02) {
    if (sb___6->copy_score > sb___6->move_score) {
      filter_small(sb___6, & toosmall, & origin___0->suspects, sb___6->copy_score);
    } else
    if (sb___6->copy_score < sb___6->move_score) {
      origin___0->suspects = blame_merge(origin___0->suspects, toosmall);
      toosmall = (struct blame_entry *)((void *)0);
      filter_small(sb___6, & toosmall, & origin___0->suspects, sb___6->copy_score);
    }
    if (! origin___0->suspects) {
      goto finish;
    }
    i = 0;
    sg = first_scapegoat(revs, commit, sb___6->reverse);
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      if (i < num_sg) {
        if (! sg) {
          goto while_break___5;
        }
      } else {
        goto while_break___5;
      }
      porigin___3 = *(sg_origin + i);
      find_copy_in_parent(sb___6, & blametail, & toosmall, origin___0, sg->item, porigin___3,
                          opt___0);
      if (! origin___0->suspects) {
        goto finish;
      }
      sg = sg->next;
      i ++;
    }
    while_break___5: /* CIL Label */ ;
    }
  }
  finish:
  *blametail = (struct blame_entry *)((void *)0);
  distribute_blame(sb___6, blames);
  if (toosmall) {
    tail = & toosmall;
    {
    while (1) {
      while_continue___6: /* CIL Label */ ;
      if (! *tail) {
        goto while_break___6;
      }
      tail = & (*tail)->next;
    }
    while_break___6: /* CIL Label */ ;
    }
    *tail = origin___0->suspects;
    origin___0->suspects = toosmall;
  }
  i = 0;
  {
  while (1) {
    while_continue___7: /* CIL Label */ ;
    if (! (i < num_sg)) {
      goto while_break___7;
    }
    if (*(sg_origin + i)) {
      if (! (*(sg_origin + i))->suspects) {
        drop_origin_blob(*(sg_origin + i));
      }
      blame_origin_decref(*(sg_origin + i));
    }
    i ++;
  }
  while_break___7: /* CIL Label */ ;
  }
  drop_origin_blob(origin___0);
  if ((unsigned long )(sg_buf) != (unsigned long )sg_origin) {
    free((void *)sg_origin);
  }
  return;
}
}
void assign_blame(struct blame_scoreboard *sb___6 , int opt___0 )
{
  struct rev_info *revs ;
  struct commit *commit ;
  void *tmp ;
  struct blame_entry *ent ;
  struct blame_origin *suspect ;
  struct blame_origin *tmp___0 ;
  void *tmp___1 ;
  struct blame_entry *next___2 ;

  {
  revs = sb___6->revs;
  tmp = prio_queue_get(& sb___6->commits);
  commit = (struct commit *)tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! commit) {
      goto while_break;
    }
    tmp___0 = get_blame_suspects(commit);
    suspect = tmp___0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (suspect) {
        if (! (! suspect->suspects)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      suspect = suspect->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! suspect) {
      tmp___1 = prio_queue_get(& sb___6->commits);
      commit = (struct commit *)tmp___1;
      goto while_continue;
    }
    assert((unsigned long )commit == (unsigned long )suspect->commit);
    blame_origin_incref(suspect);
    repo_parse_commit(the_repository, commit);
    if (sb___6->reverse) {
      pass_blame(sb___6, suspect, opt___0);
    } else
    if (! (commit->object.flags & (1u << 1))) {
      if (revs->max_age != 18446744073709551615UL) {
        if (commit->date < revs->max_age) {
          goto _L;
        } else {
          pass_blame(sb___6, suspect, opt___0);
        }
      } else {
        pass_blame(sb___6, suspect, opt___0);
      }
    } else {
      _L: /* CIL Label */
      commit->object.flags |= 1u << 1;
      if (commit->object.parsed) {
        mark_parents_uninteresting(commit);
      }
    }
    if (! commit->parents) {
      if (! sb___6->show_root) {
        commit->object.flags |= 1u << 1;
      }
    }
    ent = suspect->suspects;
    if (ent) {
      suspect->guilty = (char)1;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        next___2 = ent->next;
        if (sb___6->found_guilty_entry) {
          (*(sb___6->found_guilty_entry))(ent, sb___6->found_guilty_entry_data);
        }
        if (next___2) {
          ent = next___2;
          goto __Cont;
        }
        ent->next = sb___6->ent;
        sb___6->ent = suspect->suspects;
        suspect->suspects = (struct blame_entry *)((void *)0);
        goto while_break___1;
        __Cont: /* CIL Label */ ;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
    blame_origin_decref(suspect);
    if (sb___6->debug) {
      sanity_check_refcnt(sb___6);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int prepare_lines(struct blame_scoreboard *sb___6 )
{


  {
  sb___6->num_lines = find_line_starts(& sb___6->lineno, sb___6->final_buf, sb___6->final_buf_size);
  return (sb___6->num_lines);
}
}
static struct commit *find_single_final(struct rev_info *revs , char const   **name_p )
{
  int i ;
  struct commit *found ;
  char const   *name___0 ;
  struct object *obj ;
  char *tmp ;

  {
  found = (struct commit *)((void *)0);
  name___0 = (char const   *)((void *)0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < revs->pending.nr)) {
      goto while_break;
    }
    obj = (revs->pending.objects + i)->item;
    if (obj->flags & (1u << 1)) {
      goto __Cont;
    }
    obj = deref_tag(revs->repo, obj, (char const   *)((void *)0), 0);
    if (! obj) {
      die((char const   *)"Non commit %s?", (revs->pending.objects + i)->name);
    } else
    if (obj->type != 1U) {
      die((char const   *)"Non commit %s?", (revs->pending.objects + i)->name);
    }
    if (found) {
      die((char const   *)"More than one commit to dig from %s and %s?", (revs->pending.objects + i)->name,
          name___0);
    }
    found = (struct commit *)obj;
    name___0 = (char const   *)(revs->pending.objects + i)->name;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (name_p) {
    tmp = xstrdup_or_null(name___0);
    *name_p = (char const   *)tmp;
  }
  return (found);
}
}
static struct commit *dwim_reverse_initial(struct rev_info *revs , char const   **name_p )
{
  struct object *obj ;
  struct commit *head_commit ;
  struct object_id head_oid___1 ;
  char const   *tmp ;

  {
  if (revs->pending.nr != 1U) {
    return ((struct commit *)((void *)0));
  }
  obj = (revs->pending.objects + 0)->item;
  obj = deref_tag(revs->repo, obj, (char const   *)((void *)0), 0);
  if (! obj) {
    return ((struct commit *)((void *)0));
  } else
  if (obj->type != 1U) {
    return ((struct commit *)((void *)0));
  }
  tmp = resolve_ref_unsafe((char const   *)"HEAD", 0x01, & head_oid___1, (int *)((void *)0));
  if (! tmp) {
    return ((struct commit *)((void *)0));
  }
  head_commit = lookup_commit_reference_gently(revs->repo, (struct object_id  const  *)(& head_oid___1),
                                               1);
  if (! head_commit) {
    return ((struct commit *)((void *)0));
  }
  obj->flags |= 1u << 1;
  add_pending_object(revs, & head_commit->object, (char const   *)"HEAD");
  if (name_p) {
    *name_p = (char const   *)(revs->pending.objects + 0)->name;
  }
  return ((struct commit *)obj);
}
}
static struct commit *find_single_initial(struct rev_info *revs , char const   **name_p )
{
  int i ;
  struct commit *found ;
  char const   *name___0 ;
  struct object *obj ;
  char *tmp ;

  {
  found = (struct commit *)((void *)0);
  name___0 = (char const   *)((void *)0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < revs->pending.nr)) {
      goto while_break;
    }
    obj = (revs->pending.objects + i)->item;
    if (! (obj->flags & (1u << 1))) {
      goto __Cont;
    }
    obj = deref_tag(revs->repo, obj, (char const   *)((void *)0), 0);
    if (! obj) {
      die((char const   *)"Non commit %s?", (revs->pending.objects + i)->name);
    } else
    if (obj->type != 1U) {
      die((char const   *)"Non commit %s?", (revs->pending.objects + i)->name);
    }
    if (found) {
      die((char const   *)"More than one commit to dig up from, %s and %s?", (revs->pending.objects + i)->name,
          name___0);
    }
    found = (struct commit *)obj;
    name___0 = (char const   *)(revs->pending.objects + i)->name;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! name___0) {
    found = dwim_reverse_initial(revs, & name___0);
  }
  if (! name___0) {
    die((char const   *)"No commit to dig up from?");
  }
  if (name_p) {
    tmp = xstrdup(name___0);
    *name_p = (char const   *)tmp;
  }
  return (found);
}
}
void init_scoreboard(struct blame_scoreboard *sb___6 )
{


  {
  memset((void *)sb___6, 0, sizeof(struct blame_scoreboard ));
  sb___6->move_score = 20U;
  sb___6->copy_score = 40U;
  return;
}
}
void setup_scoreboard(struct blame_scoreboard *sb___6 , struct blame_origin **orig )
{
  char const   *final_commit_name ;
  struct blame_origin *o ;
  struct commit *final_commit ;
  enum object_type type___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  struct commit *c___0 ;
  struct commit_list *l ;
  void *tmp___4 ;
  void *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  void *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  void *tmp___12 ;
  int tmp___13 ;
  char *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;

  {
  final_commit_name = (char const   *)((void *)0);
  final_commit = (struct commit *)((void *)0);
  init_blame_suspects(& blame_suspects);
  if (sb___6->reverse) {
    if (sb___6->contents_from) {
      tmp = _((char const   *)"--contents and --reverse do not blend well.");
      die((char const   *)tmp);
    }
  }
  if (! sb___6->repo) {
    BUG_fl((char const   *)"blame.c", 2779, (char const   *)"repo is NULL");
  }
  if (! sb___6->reverse) {
    sb___6->final = find_single_final(sb___6->revs, & final_commit_name);
    sb___6->commits.compare = & compare_commits_by_commit_date;
  } else {
    sb___6->final = find_single_initial(sb___6->revs, & final_commit_name);
    sb___6->commits.compare = & compare_commits_by_reverse_commit_date;
  }
  if (sb___6->final) {
    if (sb___6->contents_from) {
      tmp___0 = _((char const   *)"cannot use --contents with final commit object name");
      die((char const   *)tmp___0);
    }
  }
  if (sb___6->reverse) {
    if ((sb___6->revs)->first_parent_only) {
      (sb___6->revs)->children.name = (char const   *)((void *)0);
    }
  }
  if (! sb___6->final) {
    setup_work_tree();
    sb___6->final = fake_working_tree_commit(sb___6->repo, & (sb___6->revs)->diffopt,
                                             sb___6->path, sb___6->contents_from);
    add_pending_object(sb___6->revs, & (sb___6->final)->object, (char const   *)":");
  }
  if (sb___6->reverse) {
    if ((sb___6->revs)->first_parent_only) {
      final_commit = find_single_final(sb___6->revs, (char const   **)((void *)0));
      if (! final_commit) {
        tmp___1 = _((char const   *)"--reverse and --first-parent together require specified latest commit");
        die((char const   *)tmp___1);
      }
    }
  }
  tmp___3 = prepare_revision_walk(sb___6->revs);
  if (tmp___3) {
    tmp___2 = _((char const   *)"revision walk setup failed");
    die((char const   *)tmp___2);
  }
  if (sb___6->reverse) {
    if ((sb___6->revs)->first_parent_only) {
      c___0 = final_commit;
      (sb___6->revs)->children.name = (char const   *)"children";
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (c___0->parents) {
          tmp___6 = oideq((struct object_id  const  *)(& c___0->object.oid), (struct object_id  const  *)(& (sb___6->final)->object.oid));
          if (tmp___6) {
            goto while_break;
          }
        } else {
          goto while_break;
        }
        tmp___4 = xcalloc((size_t )1, sizeof(*l));
        l = (struct commit_list *)tmp___4;
        l->item = c___0;
        tmp___5 = add_decoration(& (sb___6->revs)->children, (struct object  const  *)(& ((c___0->parents)->item)->object),
                                 (void *)l);
        if (tmp___5) {
          BUG_fl((char const   *)"blame.c", 2833, (char const   *)"not unique item in first-parent chain");
        }
        c___0 = (c___0->parents)->item;
      }
      while_break: /* CIL Label */ ;
      }
      tmp___8 = oideq((struct object_id  const  *)(& c___0->object.oid), (struct object_id  const  *)(& (sb___6->final)->object.oid));
      if (! tmp___8) {
        tmp___7 = _((char const   *)"--reverse --first-parent together require range along first-parent chain");
        die((char const   *)tmp___7);
      }
    }
  }
  tmp___16 = is_null_oid((struct object_id  const  *)(& (sb___6->final)->object.oid));
  if (tmp___16) {
    o = get_blame_suspects(sb___6->final);
    tmp___9 = xmemdupz((void const   *)o->file.ptr, (size_t )o->file.size);
    sb___6->final_buf = (char const   *)tmp___9;
    sb___6->final_buf_size = (unsigned long )o->file.size;
  } else {
    o = get_origin(sb___6->final, sb___6->path);
    tmp___11 = fill_blob_sha1_and_mode(sb___6->repo, o);
    if (tmp___11) {
      tmp___10 = _((char const   *)"no such path %s in %s");
      die((char const   *)tmp___10, sb___6->path, final_commit_name);
    }
    if ((sb___6->revs)->diffopt.flags.allow_textconv) {
      tmp___13 = textconv_object(sb___6->repo, sb___6->path, (unsigned int )o->mode,
                                 (struct object_id  const  *)(& o->blob_oid), 1, (char **)(& sb___6->final_buf),
                                 & sb___6->final_buf_size);
      if (! tmp___13) {
        tmp___12 = repo_read_object_file(the_repository, (struct object_id  const  *)(& o->blob_oid),
                                         & type___0, & sb___6->final_buf_size);
        sb___6->final_buf = (char const   *)tmp___12;
      }
    } else {
      tmp___12 = repo_read_object_file(the_repository, (struct object_id  const  *)(& o->blob_oid),
                                       & type___0, & sb___6->final_buf_size);
      sb___6->final_buf = (char const   *)tmp___12;
    }
    if (! sb___6->final_buf) {
      tmp___14 = oid_to_hex((struct object_id  const  *)(& o->blob_oid));
      tmp___15 = _((char const   *)"cannot read blob %s for path %s");
      die((char const   *)tmp___15, tmp___14, sb___6->path);
    }
  }
  (sb___6->num_read_blob) ++;
  prepare_lines(sb___6);
  if (orig) {
    *orig = o;
  }
  free((void *)((char *)final_commit_name));
  return;
}
}
struct blame_entry *blame_entry_prepend(struct blame_entry *head___1 , long start ,
                                        long end , struct blame_origin *o )
{
  struct blame_entry *new_head ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(struct blame_entry ));
  new_head = (struct blame_entry *)tmp;
  new_head->lno = (int )start;
  new_head->num_lines = (int )(end - start);
  new_head->suspect = o;
  new_head->s_lno = (int )start;
  new_head->next = head___1;
  blame_origin_incref(o);
  return (new_head);
}
}
void setup_blame_bloom_data(struct blame_scoreboard *sb___6 )
{
  struct blame_bloom_data *bd ;
  struct bloom_filter_settings *bs ;
  void *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  if (! ((sb___6->repo)->objects)->commit_graph) {
    return;
  }
  bs = get_bloom_filter_settings(sb___6->repo);
  if (! bs) {
    return;
  }
  tmp = xmalloc(sizeof(struct blame_bloom_data ));
  bd = (struct blame_bloom_data *)tmp;
  bd->settings = bs;
  bd->alloc = 4;
  bd->nr = 0;
  tmp___0 = st_mult(sizeof(*(bd->keys)), (size_t )bd->alloc);
  tmp___1 = xmalloc(tmp___0);
  bd->keys = (struct bloom_key **)tmp___1;
  add_bloom_key(bd, sb___6->path);
  sb___6->bloom_data = bd;
  return;
}
}
void cleanup_scoreboard(struct blame_scoreboard *sb___6 )
{
  int i ;

  {
  if (sb___6->bloom_data) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < (sb___6->bloom_data)->nr)) {
        goto while_break;
      }
      free((void *)(*((sb___6->bloom_data)->keys + i))->hashes);
      free((void *)*((sb___6->bloom_data)->keys + i));
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    free((void *)(sb___6->bloom_data)->keys);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      free((void *)sb___6->bloom_data);
      sb___6->bloom_data = (struct blame_bloom_data *)((void *)0);
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    trace2_data_intmax_fl((char const   *)"blame.c", 2926, (char const   *)"blame",
                          (struct repository  const  *)sb___6->repo, (char const   *)"bloom/queries",
                          (intmax_t )bloom_count_queries);
    trace2_data_intmax_fl((char const   *)"blame.c", 2928, (char const   *)"blame",
                          (struct repository  const  *)sb___6->repo, (char const   *)"bloom/response-no",
                          (intmax_t )bloom_count_no);
  }
  return;
}
}
char const   *blob_type  =    (char const   *)"blob";
struct blob *lookup_blob(struct repository *r , struct object_id  const  *oid )
{
  struct object *obj ;
  struct object *tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;

  {
  tmp = lookup_object(r, oid);
  obj = tmp;
  if (! obj) {
    tmp___0 = alloc_blob_node(r);
    tmp___1 = create_object(r, oid, tmp___0);
    return ((struct blob *)tmp___1);
  }
  tmp___2 = object_as_type(obj, (enum object_type )3, 0);
  return ((struct blob *)tmp___2);
}
}
int parse_blob_buffer(struct blob *item___0 , void *buffer___5 , unsigned long size )
{


  {
  item___0->object.parsed = 1U;
  return (0);
}
}
static double const   __ac_HASH_UPPER___10  =    (double const   )0.77;
__inline static void kh_resize_oid_set___10(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___10(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___10 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___10 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___10(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___10(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___10(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___10(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___10(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___10(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___10 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___10 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___10(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___10(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___10(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___10(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___10(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___10(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___10 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___10 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___10(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___10(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___10(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___10(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___7(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___7(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___10 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___10 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___7(kh_odb_path_map_t *h , char const   *key___1 ,
                                                int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___7(kh_odb_path_map_t *h , char const   *key___1 ,
                                                int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___7(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___7(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_bloom_filter_slab_with_stride(struct bloom_filter_slab *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_bloom_filter_slab_with_stride(struct bloom_filter_slab *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(struct bloom_filter ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (struct bloom_filter **)((void *)0);
  return;
}
}
static void init_bloom_filter_slab(struct bloom_filter_slab *s___1 )  __attribute__((__unused__)) ;
static void init_bloom_filter_slab(struct bloom_filter_slab *s___1 )
{


  {
  init_bloom_filter_slab_with_stride(s___1, 1U);
  return;
}
}
static void clear_bloom_filter_slab(struct bloom_filter_slab *s___1 )  __attribute__((__unused__)) ;
static void clear_bloom_filter_slab(struct bloom_filter_slab *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (struct bloom_filter **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_bloom_filter_slab(struct bloom_filter_slab *s___1 , void (*free_fn)(struct bloom_filter * ) )  __attribute__((__unused__)) ;
static void deep_clear_bloom_filter_slab(struct bloom_filter_slab *s___1 , void (*free_fn)(struct bloom_filter * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_bloom_filter_slab(s___1);
  return;
}
}
static struct bloom_filter *bloom_filter_slab_at_peek(struct bloom_filter_slab *s___1 ,
                                                      struct commit  const  *c___0 ,
                                                      int add_if_missing )  __attribute__((__unused__)) ;
static struct bloom_filter *bloom_filter_slab_at_peek(struct bloom_filter_slab *s___1 ,
                                                      struct commit  const  *c___0 ,
                                                      int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((struct bloom_filter *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (struct bloom_filter **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (struct bloom_filter *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((struct bloom_filter *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (struct bloom_filter *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static struct bloom_filter *bloom_filter_slab_at(struct bloom_filter_slab *s___1 ,
                                                 struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct bloom_filter *bloom_filter_slab_at(struct bloom_filter_slab *s___1 ,
                                                 struct commit  const  *c___0 )
{
  struct bloom_filter *tmp ;

  {
  tmp = bloom_filter_slab_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static struct bloom_filter *bloom_filter_slab_peek(struct bloom_filter_slab *s___1 ,
                                                   struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct bloom_filter *bloom_filter_slab_peek(struct bloom_filter_slab *s___1 ,
                                                   struct commit  const  *c___0 )
{
  struct bloom_filter *tmp ;

  {
  tmp = bloom_filter_slab_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
static struct bloom_filter_slab bloom_filters  ;
static uint32_t rotate_left(uint32_t value , int32_t count___0 )
{
  uint32_t mask ;

  {
  mask = (uint32_t )(8UL * sizeof(uint32_t ) - 1UL);
  count___0 = (int32_t )((unsigned int )count___0 & mask);
  return ((value << count___0) | (value >> ((unsigned int )(- count___0) & mask)));
}
}
__inline static unsigned char get_bitmask(uint32_t pos )
{


  {
  return ((unsigned char )(1 << (pos & 7U)));
}
}
static int load_bloom_filter_from_graph(struct commit_graph *g , struct bloom_filter *filter___0 ,
                                        struct commit *c___0 )
{
  uint32_t lex_pos ;
  uint32_t start_index ;
  uint32_t end_index ;
  uint32_t graph_pos ;
  uint32_t tmp ;

  {
  tmp = commit_graph_position((struct commit  const  *)c___0);
  graph_pos = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (graph_pos < g->num_commits_in_base)) {
      goto while_break;
    }
    g = g->base_graph;
  }
  while_break: /* CIL Label */ ;
  }
  if (! g->chunk_bloom_indexes) {
    return (0);
  }
  lex_pos = graph_pos - g->num_commits_in_base;
  end_index = get_be32((void const   *)(g->chunk_bloom_indexes + 4U * lex_pos));
  if (lex_pos > 0U) {
    start_index = get_be32((void const   *)(g->chunk_bloom_indexes + 4U * (lex_pos - 1U)));
  } else {
    start_index = (uint32_t )0;
  }
  filter___0->len = (size_t )(end_index - start_index);
  filter___0->data = (unsigned char *)((g->chunk_bloom_data + sizeof(unsigned char ) * (unsigned long )start_index) + 3UL * sizeof(uint32_t ));
  return (1);
}
}
uint32_t murmur3_seeded(uint32_t seed , char const   *data , size_t len___0 )
{
  uint32_t c1 ;
  uint32_t c2 ;
  uint32_t r1 ;
  uint32_t r2 ;
  uint32_t m ;
  uint32_t n ;
  int i ;
  uint32_t k1 ;
  char const   *tail ;
  int len4 ;
  uint32_t k ;
  uint32_t byte1 ;
  uint32_t byte2 ;
  uint32_t byte3 ;
  uint32_t byte4 ;
  uint32_t tmp ;

  {
  c1 = (uint32_t )0xcc9e2d51;
  c2 = (uint32_t )0x1b873593;
  r1 = (uint32_t )15;
  r2 = (uint32_t )13;
  m = (uint32_t )5;
  n = (uint32_t )0xe6546b64;
  k1 = (uint32_t )0;
  len4 = (int )(len___0 / sizeof(uint32_t ));
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < len4)) {
      goto while_break;
    }
    byte1 = (uint32_t )*(data + 4 * i);
    byte2 = (uint32_t )*(data + (4 * i + 1)) << 8;
    byte3 = (uint32_t )*(data + (4 * i + 2)) << 16;
    byte4 = (uint32_t )*(data + (4 * i + 3)) << 24;
    k = ((byte1 | byte2) | byte3) | byte4;
    k *= (uint32_t )c1;
    k = rotate_left(k, (int32_t )r1);
    k *= (uint32_t )c2;
    seed ^= k;
    tmp = rotate_left(seed, (int32_t )r2);
    seed = tmp * (uint32_t )m + (uint32_t )n;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tail = data + (unsigned long )len4 * sizeof(uint32_t );
  {
  if ((len___0 & (sizeof(uint32_t ) - 1UL)) == 3UL) {
    goto case_3;
  }
  if ((len___0 & (sizeof(uint32_t ) - 1UL)) == 2UL) {
    goto case_2;
  }
  if ((len___0 & (sizeof(uint32_t ) - 1UL)) == 1UL) {
    goto case_1;
  }
  goto switch_break;
  case_3: /* CIL Label */
  k1 ^= (uint32_t )*(tail + 2) << 16;
  case_2: /* CIL Label */
  k1 ^= (uint32_t )*(tail + 1) << 8;
  case_1: /* CIL Label */
  k1 ^= (uint32_t )*(tail + 0);
  k1 *= (uint32_t )c1;
  k1 = rotate_left(k1, (int32_t )r1);
  k1 *= (uint32_t )c2;
  seed ^= k1;
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  seed ^= (uint32_t )len___0;
  seed ^= seed >> 16;
  seed *= 0x85ebca6b;
  seed ^= seed >> 13;
  seed *= 0xc2b2ae35;
  seed ^= seed >> 16;
  return (seed);
}
}
void fill_bloom_key(char const   *data , size_t len___0 , struct bloom_key *key___1 ,
                    struct bloom_filter_settings  const  *settings___0 )
{
  int i ;
  uint32_t seed0 ;
  uint32_t seed1 ;
  uint32_t hash0 ;
  uint32_t tmp ;
  uint32_t hash1 ;
  uint32_t tmp___0 ;
  void *tmp___1 ;

  {
  seed0 = (uint32_t )0x293ae76f;
  seed1 = (uint32_t )0x7e646e2c;
  tmp = murmur3_seeded((uint32_t )seed0, data, len___0);
  hash0 = (uint32_t )tmp;
  tmp___0 = murmur3_seeded((uint32_t )seed1, data, len___0);
  hash1 = (uint32_t )tmp___0;
  tmp___1 = xcalloc((size_t )settings___0->num_hashes, sizeof(uint32_t ));
  key___1->hashes = (uint32_t *)tmp___1;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((uint32_t )i < settings___0->num_hashes)) {
      goto while_break;
    }
    *(key___1->hashes + i) = (uint32_t )(hash0 + (uint32_t )i * hash1);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void clear_bloom_key(struct bloom_key *key___1 )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)key___1->hashes);
    key___1->hashes = (uint32_t *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void add_key_to_filter(struct bloom_key  const  *key___1 , struct bloom_filter *filter___0 ,
                       struct bloom_filter_settings  const  *settings___0 )
{
  int i ;
  uint64_t mod ;
  uint64_t hash_mod ;
  uint64_t block_pos ;
  unsigned char tmp ;

  {
  mod = filter___0->len * 8UL;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((uint32_t )i < settings___0->num_hashes)) {
      goto while_break;
    }
    hash_mod = (unsigned long )*(key___1->hashes + i) % mod;
    block_pos = hash_mod / 8UL;
    tmp = get_bitmask((uint32_t )hash_mod);
    *(filter___0->data + block_pos) = (unsigned char )((int )*(filter___0->data + block_pos) | (int )tmp);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void init_bloom_filters(void)
{


  {
  init_bloom_filter_slab(& bloom_filters);
  return;
}
}
static int pathmap_cmp(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *eptr ,
                       struct hashmap_entry  const  *entry_or_key , void const   *keydata )
{
  struct pathmap_hash_entry  const  *e1 ;
  struct pathmap_hash_entry  const  *e2 ;
  int tmp ;

  {
  e1 = (struct pathmap_hash_entry  const  *)((char *)eptr - (unsigned long )(& ((struct pathmap_hash_entry  const  *)0)->entry));
  e2 = (struct pathmap_hash_entry  const  *)((char *)entry_or_key - (unsigned long )(& ((struct pathmap_hash_entry  const  *)0)->entry));
  tmp = strcmp((char const   *)(e1->path), (char const   *)(e2->path));
  return (tmp);
}
}
static void init_truncated_large_filter(struct bloom_filter *filter___0 )
{
  void *tmp ;

  {
  tmp = xmalloc((size_t )1);
  filter___0->data = (unsigned char *)tmp;
  *(filter___0->data + 0) = (unsigned char)255;
  filter___0->len = (size_t )1;
  return;
}
}
struct bloom_filter *get_or_compute_bloom_filter(struct repository *r , struct commit *c___0 ,
                                                 int compute_if_not_present , struct bloom_filter_settings  const  *settings___0 ,
                                                 enum bloom_filter_computed *computed )
{
  struct bloom_filter *filter___0 ;
  int i ;
  struct diff_options diffopt ;
  uint32_t tmp ;
  struct hashmap pathmap ;
  struct pathmap_hash_entry *e ;
  struct hashmap_iter iter___0 ;
  char const   *path___6 ;
  char *last_slash ;
  char *tmp___0 ;
  size_t flex_array_len_ ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  unsigned int tmp___5 ;
  struct hashmap_entry *tmp___6 ;
  unsigned int tmp___7 ;
  unsigned int tmp___8 ;
  void *tmp___9 ;
  struct hashmap_entry *tmp___10 ;
  void *tmp___11 ;
  struct hashmap_entry *tmp___12 ;
  void *tmp___13 ;
  struct bloom_key key___1 ;
  size_t tmp___14 ;

  {
  if (computed) {
    *computed = (enum bloom_filter_computed )1;
  }
  if (! bloom_filters.slab_size) {
    return ((struct bloom_filter *)((void *)0));
  }
  filter___0 = bloom_filter_slab_at(& bloom_filters, (struct commit  const  *)c___0);
  if (! filter___0->data) {
    load_commit_graph_info(r, c___0);
    tmp = commit_graph_position((struct commit  const  *)c___0);
    if (tmp != 0xFFFFFFFF) {
      load_bloom_filter_from_graph((r->objects)->commit_graph, filter___0, c___0);
    }
  }
  if (filter___0->data) {
    if (filter___0->len) {
      return (filter___0);
    }
  }
  if (! compute_if_not_present) {
    return ((struct bloom_filter *)((void *)0));
  }
  repo_diff_setup(r, & diffopt);
  diffopt.flags.recursive = 1U;
  diffopt.detect_rename = 0;
  diffopt.max_changes = (int )settings___0->max_changed_paths;
  diff_setup_done(& diffopt);
  repo_parse_commit(r, c___0);
  if (c___0->parents) {
    diff_tree_oid((struct object_id  const  *)(& ((c___0->parents)->item)->object.oid),
                  (struct object_id  const  *)(& c___0->object.oid), (char const   *)"",
                  & diffopt);
  } else {
    diff_tree_oid((struct object_id  const  *)((void *)0), (struct object_id  const  *)(& c___0->object.oid),
                  (char const   *)"", & diffopt);
  }
  diffcore_std(& diffopt);
  if ((uint32_t )diff_queued_diff.nr <= settings___0->max_changed_paths) {
    pathmap.table = (struct hashmap_entry **)0;
    pathmap.cmpfn = & pathmap_cmp;
    pathmap.cmpfn_data = (void const   *)((void *)0);
    pathmap.private_size = 0U;
    pathmap.tablesize = 0U;
    pathmap.grow_at = 0U;
    pathmap.shrink_at = 0U;
    pathmap.do_count_items = 1U;
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < diff_queued_diff.nr)) {
        goto while_break;
      }
      path___6 = (char const   *)((*(diff_queued_diff.queue + i))->two)->path;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        tmp___0 = strrchr(path___6, '/');
        last_slash = tmp___0;
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          tmp___1 = strlen(path___6);
          flex_array_len_ = tmp___1;
          tmp___2 = st_add(sizeof(*e), flex_array_len_);
          tmp___3 = st_add(tmp___2, (size_t )1);
          tmp___4 = xcalloc((size_t )1, tmp___3);
          e = (struct pathmap_hash_entry *)tmp___4;
          memcpy((void *)(e->path), (void const   *)path___6, flex_array_len_);
          goto while_break___1;
        }
        while_break___1: /* CIL Label */ ;
        }
        tmp___5 = strhash(path___6);
        hashmap_entry_init(& e->entry, tmp___5);
        tmp___6 = hashmap_get((struct hashmap  const  *)(& pathmap), (struct hashmap_entry  const  *)(& e->entry),
                              (void const   *)((void *)0));
        if (tmp___6) {
          free((void *)e);
        } else {
          hashmap_add(& pathmap, & e->entry);
        }
        if (! last_slash) {
          last_slash = (char *)path___6;
        }
        *last_slash = (char )'\000';
        if (! *path___6) {
          goto while_break___0;
        }
      }
      while_break___0: /* CIL Label */ ;
      }
      diff_free_filepair(*(diff_queued_diff.queue + i));
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    tmp___7 = hashmap_get_size(& pathmap);
    if (tmp___7 > (unsigned int )settings___0->max_changed_paths) {
      init_truncated_large_filter(filter___0);
      if (computed) {
        *computed = (enum bloom_filter_computed )((unsigned int )*computed | 4U);
      }
      goto cleanup;
    }
    tmp___8 = hashmap_get_size(& pathmap);
    filter___0->len = (size_t )(((tmp___8 * (unsigned int )settings___0->bits_per_entry + 8U) - 1U) / 8U);
    if (! filter___0->len) {
      if (computed) {
        *computed = (enum bloom_filter_computed )((unsigned int )*computed | 8U);
      }
      filter___0->len = (size_t )1;
    }
    tmp___9 = xcalloc(filter___0->len, sizeof(*(filter___0->data)));
    filter___0->data = (unsigned char *)tmp___9;
    e = (struct pathmap_hash_entry *)((void *)0);
    tmp___10 = hashmap_iter_first(& pathmap, & iter___0);
    tmp___11 = container_of_or_null_offset((void *)tmp___10, (unsigned long )(& ((struct pathmap_hash_entry *)0)->entry));
    e = (struct pathmap_hash_entry *)tmp___11;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! e) {
        goto while_break___2;
      }
      tmp___14 = strlen(e->path);
      fill_bloom_key(e->path, tmp___14, & key___1, settings___0);
      add_key_to_filter((struct bloom_key  const  *)(& key___1), filter___0, settings___0);
      clear_bloom_key(& key___1);
      tmp___12 = hashmap_iter_next(& iter___0);
      tmp___13 = container_of_or_null_offset((void *)tmp___12, (unsigned long )(& ((struct pathmap_hash_entry *)0)->entry));
      e = (struct pathmap_hash_entry *)tmp___13;
    }
    while_break___2: /* CIL Label */ ;
    }
    cleanup:
    hashmap_clear_(& pathmap, (ssize_t )((unsigned long )(& ((struct pathmap_hash_entry *)0)->entry)));
  } else {
    i = 0;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! (i < diff_queued_diff.nr)) {
        goto while_break___3;
      }
      diff_free_filepair(*(diff_queued_diff.queue + i));
      i ++;
    }
    while_break___3: /* CIL Label */ ;
    }
    init_truncated_large_filter(filter___0);
    if (computed) {
      *computed = (enum bloom_filter_computed )((unsigned int )*computed | 4U);
    }
  }
  if (computed) {
    *computed = (enum bloom_filter_computed )((unsigned int )*computed | 2U);
  }
  free((void *)diff_queued_diff.queue);
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    diff_queued_diff.queue = (struct diff_filepair **)((void *)0);
    diff_queued_diff.alloc = 0;
    diff_queued_diff.nr = diff_queued_diff.alloc;
    goto while_break___4;
  }
  while_break___4: /* CIL Label */ ;
  }
  return (filter___0);
}
}
int bloom_filter_contains(struct bloom_filter  const  *filter___0 , struct bloom_key  const  *key___1 ,
                          struct bloom_filter_settings  const  *settings___0 )
{
  int i ;
  uint64_t mod ;
  uint64_t hash_mod ;
  uint64_t block_pos ;
  unsigned char tmp ;

  {
  mod = (uint64_t )(filter___0->len * 8UL);
  if (! mod) {
    return (-1);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((uint32_t )i < settings___0->num_hashes)) {
      goto while_break;
    }
    hash_mod = (unsigned long )*(key___1->hashes + i) % mod;
    block_pos = hash_mod / 8UL;
    tmp = get_bitmask((uint32_t )hash_mod);
    if (! ((int )*(filter___0->data + block_pos) & (int )tmp)) {
      return (0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
enum branch_track git_branch_track ;
void create_branch(struct repository *r , char const   *name___0 , char const   *start_name ,
                   int force___2 , int clobber_head_ok , int reflog___1 , int quiet___7 ,
                   enum branch_track track ) ;
int validate_branchname(char const   *name___0 , struct strbuf *ref ) ;
int validate_new_branchname(char const   *name___0 , struct strbuf *ref , int force___2 ) ;
void remove_merge_branch_state(struct repository *r ) ;
void remove_branch_state(struct repository *r , int verbose___15 ) ;
int install_branch_config(int flag , char const   *local___0 , char const   *origin___0 ,
                          char const   *remote ) ;
int read_branch_desc(struct strbuf *buf___19 , char const   *branch_name ) ;
void die_if_checked_out(char const   *branch___0 , int ignore_current_worktree ) ;
int replace_each_worktree_head_symref(char const   *oldref , char const   *newref ,
                                      char const   *logmsg ) ;
struct refspec_item  const  *tag_refspec ;
int refspec_item_init(struct refspec_item *item___0 , char const   *refspec , int fetch ) ;
void refspec_item_init_or_die(struct refspec_item *item___0 , char const   *refspec ,
                              int fetch ) ;
void refspec_item_clear(struct refspec_item *item___0 ) ;
void refspec_init(struct refspec *rs___0 , int fetch ) ;
void refspec_append(struct refspec *rs___0 , char const   *refspec ) ;
void ( /* format attribute */  refspec_appendf)(struct refspec *rs___0 , char const   *fmt
                                                , ...) ;
void refspec_appendn(struct refspec *rs___0 , char const   **refspecs___0 , int nr___0 ) ;
void refspec_clear(struct refspec *rs___0 ) ;
int valid_fetch_refspec(char const   *fetch_refspec_str ) ;
int valid_remote_name(char const   *name___0 ) ;
void refspec_ref_prefixes(struct refspec  const  *rs___0 , struct strvec *ref_prefixes ) ;
void remote_state_clear(struct remote_state *remote_state ) ;
struct remote_state *remote_state_new(void) ;
struct remote *remote_get(char const   *name___0 ) ;
struct remote *pushremote_get(char const   *name___0 ) ;
int remote_is_configured(struct remote *remote , int in_repo ) ;
int for_each_remote(each_remote_fn *fn , void *priv ) ;
int remote_has_url(struct remote *remote , char const   *url ) ;
struct ref *find_ref_by_name(struct ref  const  *list___3 , char const   *name___0 ) ;
struct ref *alloc_ref(char const   *name___0 ) ;
struct ref *copy_ref(struct ref  const  *ref ) ;
struct ref *copy_ref_list(struct ref  const  *ref ) ;
void sort_ref_list(struct ref **l , int (*cmp___0)(void const   * , void const   * ) ) ;
int count_refspec_match(char const   *pattern___0 , struct ref *refs___0 , struct ref **matched_ref ) ;
int ref_compare_name(void const   *va , void const   *vb ) ;
int check_ref_type(struct ref  const  *ref , int flags___0 ) ;
void free_one_ref(struct ref *ref ) ;
void free_refs(struct ref *ref ) ;
struct ref **get_remote_heads(struct packet_reader *reader , struct ref **list___3 ,
                              unsigned int flags___0 , struct oid_array *extra_have ,
                              struct oid_array *shallow_points ) ;
struct ref **get_remote_refs(int fd_out___0 , struct packet_reader *reader , struct ref **list___3 ,
                             int for_push , struct transport_ls_refs_options *transport_options ,
                             struct string_list  const  *server_options___1 , int stateless_rpc___0 ) ;
int resolve_remote_symref(struct ref *ref , struct ref *list___3 ) ;
struct ref *ref_remove_duplicates(struct ref *ref_map ) ;
struct ref *apply_negative_refspecs(struct ref *ref_map , struct refspec *rs___0 ) ;
int query_refspecs(struct refspec *rs___0 , struct refspec_item *query ) ;
char *apply_refspecs(struct refspec *rs___0 , char const   *name___0 ) ;
int check_push_refs(struct ref *src , struct refspec *rs___0 ) ;
int match_push_refs(struct ref *src , struct ref **dst , struct refspec *rs___0 ,
                    int flags___0 ) ;
void set_ref_status_for_push(struct ref *remote_refs , int send_mirror , int force_update___0 ) ;
int get_fetch_map(struct ref  const  *remote_refs , struct refspec_item  const  *refspec ,
                  struct ref ***tail , int missing_ok ) ;
struct ref *get_remote_ref(struct ref  const  *remote_refs , char const   *name___0 ) ;
int remote_find_tracking(struct remote *remote , struct refspec_item *refspec ) ;
struct branch *branch_get(char const   *name___0 ) ;
char const   *remote_for_branch(struct branch *branch___0 , int *explicit ) ;
char const   *pushremote_for_branch(struct branch *branch___0 , int *explicit ) ;
char const   *remote_ref_for_branch(struct branch *branch___0 , int for_push ) ;
int branch_has_merge_config(struct branch *branch___0 ) ;
int branch_merge_matches(struct branch *branch___0 , int i , char const   *refname ) ;
char const   *branch_get_upstream(struct branch *branch___0 , struct strbuf *err___4 ) ;
char const   *branch_get_push(struct branch *branch___0 , struct strbuf *err___4 ) ;
int stat_tracking_info(struct branch *branch___0 , int *num_ours , int *num_theirs ,
                       char const   **tracking_name , int for_push , enum ahead_behind_flags abf ) ;
int format_tracking_info(struct branch *branch___0 , struct strbuf *sb___6 , enum ahead_behind_flags abf ) ;
struct ref *get_local_heads(void) ;
struct ref *guess_remote_head(struct ref  const  *head___1 , struct ref  const  *refs___0 ,
                              int all___2 ) ;
struct ref *get_stale_heads(struct refspec *rs___0 , struct ref *fetch_map ) ;
int parseopt_push_cas_option(struct option  const  *opt___0 , char const   *arg ,
                             int unset ) ;
int is_empty_cas(struct push_cas_option  const  *cas___0 ) ;
void apply_push_cas(struct push_cas_option *cas___0 , struct remote *remote , struct ref *remote_refs ) ;
__inline static int is_from_cherry_pick(enum commit_whence whence___0 )
{
  int tmp ;

  {
  if ((unsigned int )whence___0 == 2U) {
    tmp = 1;
  } else
  if ((unsigned int )whence___0 == 3U) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
__inline static int is_from_rebase(enum commit_whence whence___0 )
{


  {
  return ((unsigned int )whence___0 == 4U);
}
}
size_t wt_status_locate_end(char const   *s___1 , size_t len___0 ) ;
void wt_status_append_cut_line(struct strbuf *buf___19 ) ;
void wt_status_add_cut_line(FILE *fp ) ;
void wt_status_prepare(struct repository *r , struct wt_status *s___1 ) ;
void wt_status_print(struct wt_status *s___1 ) ;
void wt_status_collect(struct wt_status *s___1 ) ;
void wt_status_collect_free_buffers(struct wt_status *s___1 ) ;
void wt_status_state_free_buffers(struct wt_status_state *state___1 ) ;
void wt_status_get_state(struct repository *r , struct wt_status_state *state___1 ,
                         int get_detached_from ) ;
int wt_status_check_rebase(struct worktree  const  *wt , struct wt_status_state *state___1 ) ;
int wt_status_check_bisect(struct worktree  const  *wt , struct wt_status_state *state___1 ) ;
void ( /* format attribute */  status_printf_ln)(struct wt_status *s___1 , char const   *color___0 ,
                                                 char const   *fmt  , ...) ;
void ( /* format attribute */  status_printf)(struct wt_status *s___1 , char const   *color___0 ,
                                              char const   *fmt  , ...) ;
int has_unstaged_changes(struct repository *r , int ignore_submodules ) ;
int has_uncommitted_changes(struct repository *r , int ignore_submodules ) ;
int require_clean_work_tree(struct repository *r , char const   *action , char const   *hint ,
                            int ignore_submodules , int gently ) ;
char const   *git_path_commit_editmsg(void) ;
char const   *rebase_path_todo(void) ;
char const   *rebase_path_todo_backup(void) ;
char const   *rebase_path_dropped(void) ;
int todo_list_parse_insn_buffer(struct repository *r , char *buf___19 , struct todo_list *todo_list ) ;
int todo_list_write_to_file(struct repository *r , struct todo_list *todo_list , char const   *file___0 ,
                            char const   *shortrevisions , char const   *shortonto ,
                            int num , unsigned int flags___0 ) ;
void todo_list_release(struct todo_list *todo_list ) ;
char const   *todo_item_get_arg(struct todo_list *todo_list , struct todo_item *item___0 ) ;
void sequencer_init_config(struct replay_opts *opts___1 ) ;
int sequencer_pick_revisions(struct repository *r , struct replay_opts *opts___1 ) ;
int sequencer_continue(struct repository *r , struct replay_opts *opts___1 ) ;
int sequencer_rollback(struct repository *r , struct replay_opts *opts___1 ) ;
int sequencer_skip(struct repository *r , struct replay_opts *opts___1 ) ;
int sequencer_remove_state(struct replay_opts *opts___1 ) ;
int sequencer_make_script(struct repository *r , struct strbuf *out , int argc , char const   **argv___0 ,
                          unsigned int flags___0 ) ;
int complete_action(struct repository *r , struct replay_opts *opts___1 , unsigned int flags___0 ,
                    char const   *shortrevisions , char const   *onto_name , struct commit *onto ,
                    struct object_id  const  *orig_head , struct string_list *commands___2 ,
                    unsigned int autosquash , struct todo_list *todo_list ) ;
int todo_list_rearrange_squash(struct todo_list *todo_list ) ;
void append_signoff(struct strbuf *msgbuf___0 , size_t ignore_footer , unsigned int flag ) ;
void append_conflicts_hint(struct index_state *istate , struct strbuf *msgbuf___0 ,
                           enum commit_msg_cleanup_mode cleanup_mode___1 ) ;
enum commit_msg_cleanup_mode get_cleanup_mode(char const   *cleanup_arg___2 , int use_editor___0 ) ;
void cleanup_message(struct strbuf *msgbuf___0 , enum commit_msg_cleanup_mode cleanup_mode___1 ,
                     int verbose___15 ) ;
int message_is_empty(struct strbuf  const  *sb___6 , enum commit_msg_cleanup_mode cleanup_mode___1 ) ;
int template_untouched(struct strbuf  const  *sb___6 , char const   *template_file___0 ,
                       enum commit_msg_cleanup_mode cleanup_mode___1 ) ;
int update_head_with_reflog(struct commit  const  *old_head , struct object_id  const  *new_head ,
                            char const   *action , struct strbuf  const  *msg___5 ,
                            struct strbuf *err___4 ) ;
void commit_post_rewrite(struct repository *r , struct commit  const  *old_head ,
                         struct object_id  const  *new_head ) ;
void create_autostash(struct repository *r , char const   *path___6 , char const   *default_reflog_action ) ;
int save_autostash(char const   *path___6 ) ;
int apply_autostash(char const   *path___6 ) ;
int apply_autostash_oid(char const   *stash_oid ) ;
void print_commit_summary(struct repository *r , char const   *prefix___1 , struct object_id  const  *oid ,
                          unsigned int flags___0 ) ;
int read_oneliner(struct strbuf *buf___19 , char const   *path___6 , unsigned int flags___0 ) ;
int read_author_script(char const   *path___6 , char **name___0 , char **email , char **date ,
                       int allow_missing ) ;
void parse_strategy_opts(struct replay_opts *opts___1 , char *raw_opts ) ;
int write_basic_state(struct replay_opts *opts___1 , char const   *head_name___0 ,
                      struct commit *onto , struct object_id  const  *orig_head ) ;
void sequencer_post_commit_cleanup(struct repository *r , int verbose___15 ) ;
int sequencer_get_last_command(struct repository *r , enum replay_action *action ) ;
int sequencer_determine_whence(struct repository *r , enum commit_whence *whence___0 ) ;
struct worktree **get_worktrees(void) ;
int submodule_uses_worktrees(char const   *path___6 ) ;
char const   *get_worktree_git_dir(struct worktree  const  *wt ) ;
struct worktree *find_worktree(struct worktree **list___3 , char const   *prefix___1 ,
                               char const   *arg ) ;
struct worktree *find_worktree_by_path(struct worktree **list___3 , char const   *p___0 ) ;
int is_main_worktree(struct worktree  const  *wt ) ;
char const   *worktree_lock_reason(struct worktree *wt ) ;
char const   *worktree_prune_reason(struct worktree *wt , timestamp_t expire___1 ) ;
int should_prune_worktree(char const   *id , struct strbuf *reason , char **wtpath ,
                          timestamp_t expire___1 ) ;
int validate_worktree(struct worktree  const  *wt , struct strbuf *errmsg , unsigned int flags___0 ) ;
void update_worktree_location(struct worktree *wt , char const   *path_ ) ;
void repair_worktrees(void (*fn)(int iserr , char const   *path , char const   *msg ,
                                 void *cb_data ) , void *cb_data ) ;
void repair_worktree_at_path(char const   *path___6 , void (*fn)(int iserr , char const   *path ,
                                                                 char const   *msg ,
                                                                 void *cb_data ) ,
                             void *cb_data ) ;
void free_worktrees(struct worktree **worktrees ) ;
struct worktree  const  *find_shared_symref(struct worktree **worktrees , char const   *symref ,
                                            char const   *target ) ;
int other_head_refs(each_ref_fn *fn , void *cb_data ) ;
int is_worktree_being_rebased(struct worktree  const  *wt , char const   *target ) ;
int is_worktree_being_bisected(struct worktree  const  *wt , char const   *target ) ;
char const   *( /* format attribute */  worktree_git_path)(struct worktree  const  *wt ,
                                                           char const   *fmt  , ...) ;
int parse_worktree_ref(char const   *worktree_ref , char const   **name___0 , int *name_length ,
                       char const   **ref ) ;
void strbuf_worktree_ref(struct worktree  const  *wt , struct strbuf *sb___6 , char const   *refname ) ;
static int find_tracked_branch(struct remote *remote , void *priv )
{
  struct tracking *tracking ;
  int tmp ;

  {
  tracking = (struct tracking *)priv;
  tmp = remote_find_tracking(remote, & tracking->spec);
  if (! tmp) {
    (tracking->matches) ++;
    if (tracking->matches == 1) {
      string_list_append(tracking->srcs, (char const   *)tracking->spec.src);
      tracking->remote = remote->name;
    } else {
      free((void *)tracking->spec.src);
      string_list_clear(tracking->srcs, 0);
    }
    tracking->spec.src = (char *)((void *)0);
  }
  return (0);
}
}
static int should_setup_rebase(char const   *origin___0 )
{


  {
  {
  if ((unsigned int )autorebase == 0U) {
    goto case_0;
  }
  if ((unsigned int )autorebase == 1U) {
    goto case_1;
  }
  if ((unsigned int )autorebase == 2U) {
    goto case_2;
  }
  if ((unsigned int )autorebase == 3U) {
    goto case_3;
  }
  goto switch_break;
  case_0: /* CIL Label */
  return (0);
  case_1: /* CIL Label */
  return ((unsigned long )origin___0 == (unsigned long )((void *)0));
  case_2: /* CIL Label */
  return ((unsigned long )origin___0 != (unsigned long )((void *)0));
  case_3: /* CIL Label */
  return (1);
  switch_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int install_branch_config_multiple_remotes(int flag , char const   *local___0 ,
                                                  char const   *origin___0 , struct string_list *remotes )
{
  char const   *shortname ;
  struct strbuf key___1 ;
  struct string_list_item *item___0 ;
  int rebasing ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  struct strbuf tmp_ref_name ;
  struct string_list friendly_ref_names ;
  char *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  char *tmp___16 ;
  char const   *tmp___17 ;
  char const   *tmp___18 ;

  {
  shortname = (char const   *)((void *)0);
  key___1.alloc = 0UL;
  key___1.len = 0UL;
  key___1.buf = strbuf_slopbuf;
  tmp = should_setup_rebase(origin___0);
  rebasing = tmp;
  if (! remotes->nr) {
    BUG_fl((char const   *)"branch.c", 75, (char const   *)"must provide at least one remote for branch config");
  }
  if (rebasing) {
    if (remotes->nr > 1U) {
      tmp___0 = _((char const   *)"cannot inherit upstream tracking configuration of multiple refs when rebasing is requested");
      die((char const   *)tmp___0);
    }
  }
  if (! origin___0) {
    item___0 = remotes->items;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(remotes->items + remotes->nr))) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      tmp___2 = skip_prefix((char const   *)item___0->string, (char const   *)"refs/heads/",
                            & shortname);
      if (tmp___2) {
        tmp___3 = strcmp(local___0, shortname);
        if (! tmp___3) {
          tmp___1 = _((char const   *)"not setting branch \'%s\' as its own upstream");
          warning((char const   *)tmp___1, local___0);
          return (0);
        }
      }
      item___0 ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  strbuf_addf(& key___1, (char const   *)"branch.%s.remote", local___0);
  if (origin___0) {
    tmp___4 = origin___0;
  } else {
    tmp___4 = (char const   *)".";
  }
  tmp___5 = git_config_set_gently((char const   *)key___1.buf, tmp___4);
  if (tmp___5 < 0) {
    goto out_err;
  }
  strbuf_setlen(& key___1, (size_t )0);
  strbuf_addf(& key___1, (char const   *)"branch.%s.merge", local___0);
  tmp___6 = git_config_set_gently((char const   *)key___1.buf, (char const   *)((void *)0));
  if (tmp___6 < 0) {
    goto out_err;
  }
  item___0 = remotes->items;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(remotes->items + remotes->nr))) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    tmp___7 = git_config_set_multivar_gently((char const   *)key___1.buf, (char const   *)item___0->string,
                                             (char const   *)((void *)1), 0U);
    if (tmp___7 < 0) {
      goto out_err;
    }
    item___0 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (rebasing) {
    strbuf_setlen(& key___1, (size_t )0);
    strbuf_addf(& key___1, (char const   *)"branch.%s.rebase", local___0);
    tmp___8 = git_config_set_gently((char const   *)key___1.buf, (char const   *)"true");
    if (tmp___8 < 0) {
      goto out_err;
    }
  }
  strbuf_release(& key___1);
  if (flag & 01) {
    tmp_ref_name.alloc = 0UL;
    tmp_ref_name.len = 0UL;
    tmp_ref_name.buf = strbuf_slopbuf;
    friendly_ref_names.items = (struct string_list_item *)0;
    friendly_ref_names.nr = 0U;
    friendly_ref_names.alloc = 0U;
    friendly_ref_names.strdup_strings = 1U;
    friendly_ref_names.cmp = (int (*)(char const   * , char const   * ))0;
    item___0 = remotes->items;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(remotes->items + remotes->nr))) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      shortname = (char const   *)item___0->string;
      skip_prefix(shortname, (char const   *)"refs/heads/", & shortname);
      if (origin___0) {
        strbuf_addf(& tmp_ref_name, (char const   *)"%s/%s", origin___0, shortname);
        tmp___9 = strbuf_detach(& tmp_ref_name, (size_t *)((void *)0));
        string_list_append_nodup(& friendly_ref_names, tmp___9);
      } else {
        string_list_append(& friendly_ref_names, shortname);
      }
      item___0 ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (remotes->nr == 1U) {
      if (rebasing) {
        tmp___10 = _((char const   *)"branch \'%s\' set up to track \'%s\' by rebasing.");
        tmp___12 = tmp___10;
      } else {
        tmp___11 = _((char const   *)"branch \'%s\' set up to track \'%s\'.");
        tmp___12 = tmp___11;
      }
      printf_ln((char const   *)tmp___12, local___0, (friendly_ref_names.items + 0)->string);
    } else {
      tmp___13 = _((char const   *)"branch \'%s\' set up to track:");
      printf_ln((char const   *)tmp___13, local___0);
      item___0 = friendly_ref_names.items;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (item___0) {
          if (! ((unsigned long )item___0 < (unsigned long )(friendly_ref_names.items + friendly_ref_names.nr))) {
            goto while_break___2;
          }
        } else {
          goto while_break___2;
        }
        printf_ln((char const   *)"  %s", item___0->string);
        item___0 ++;
      }
      while_break___2: /* CIL Label */ ;
      }
    }
    string_list_clear(& friendly_ref_names, 0);
  }
  return (0);
  out_err:
  strbuf_release(& key___1);
  tmp___14 = _((char const   *)"unable to write upstream branch configuration");
  error((char const   *)tmp___14);
  const_error();
  tmp___15 = _((char const   *)"\nAfter fixing the error cause you may try to fix up\nthe remote tracking information by invoking:");
  advise((char const   *)tmp___15);
  if (remotes->nr == 1U) {
    if (origin___0) {
      tmp___16 = "/";
    } else {
      tmp___16 = "";
    }
    if (origin___0) {
      tmp___17 = origin___0;
    } else {
      tmp___17 = (char const   *)"";
    }
    advise((char const   *)"  git branch --set-upstream-to=%s%s%s", tmp___17, tmp___16,
           (remotes->items + 0)->string);
  } else {
    if (origin___0) {
      tmp___18 = origin___0;
    } else {
      tmp___18 = (char const   *)".";
    }
    advise((char const   *)"  git config --add branch.\"%s\".remote %s", local___0,
           tmp___18);
    item___0 = remotes->items;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(remotes->items + remotes->nr))) {
          goto while_break___3;
        }
      } else {
        goto while_break___3;
      }
      advise((char const   *)"  git config --add branch.\"%s\".merge %s", local___0,
             item___0->string);
      item___0 ++;
    }
    while_break___3: /* CIL Label */ ;
    }
  }
  return (-1);
}
}
int install_branch_config(int flag , char const   *local___0 , char const   *origin___0 ,
                          char const   *remote )
{
  int ret___67 ;
  struct string_list remotes ;

  {
  remotes.items = (struct string_list_item *)0;
  remotes.nr = 0U;
  remotes.alloc = 0U;
  remotes.strdup_strings = 1U;
  remotes.cmp = (int (*)(char const   * , char const   * ))0;
  string_list_append(& remotes, remote);
  ret___67 = install_branch_config_multiple_remotes(flag, local___0, origin___0, & remotes);
  string_list_clear(& remotes, 0);
  return (ret___67);
}
}
static int inherit_tracking(struct tracking *tracking , char const   *orig_ref )
{
  char const   *bare_ref ;
  struct branch *branch___0 ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char *tmp___1 ;

  {
  bare_ref = orig_ref;
  skip_prefix(orig_ref, (char const   *)"refs/heads/", & bare_ref);
  branch___0 = branch_get(bare_ref);
  if (! branch___0->remote_name) {
    tmp = _((char const   *)"asked to inherit tracking from \'%s\', but no remote is set");
    warning((char const   *)tmp, bare_ref);
    return (-1);
  }
  if (branch___0->merge_nr < 1) {
    tmp___0 = _((char const   *)"asked to inherit tracking from \'%s\', but no merge configuration is set");
    warning((char const   *)tmp___0, bare_ref);
    return (-1);
  } else
  if (! branch___0->merge_name) {
    tmp___0 = _((char const   *)"asked to inherit tracking from \'%s\', but no merge configuration is set");
    warning((char const   *)tmp___0, bare_ref);
    return (-1);
  } else
  if (! *(branch___0->merge_name + 0)) {
    tmp___0 = _((char const   *)"asked to inherit tracking from \'%s\', but no merge configuration is set");
    warning((char const   *)tmp___0, bare_ref);
    return (-1);
  }
  tmp___1 = xstrdup(branch___0->remote_name);
  tracking->remote = (char const   *)tmp___1;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < branch___0->merge_nr)) {
      goto while_break;
    }
    string_list_append(tracking->srcs, *(branch___0->merge_name + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void setup_tracking(char const   *new_ref , char const   *orig_ref , enum branch_track track ,
                           int quiet___7 )
{
  struct tracking tracking ;
  struct string_list tracking_srcs ;
  int config_flags ;
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tracking_srcs.items = (struct string_list_item *)0;
  tracking_srcs.nr = 0U;
  tracking_srcs.alloc = 0U;
  tracking_srcs.strdup_strings = 1U;
  tracking_srcs.cmp = (int (*)(char const   * , char const   * ))0;
  if (quiet___7) {
    tmp = 0;
  } else {
    tmp = 01;
  }
  config_flags = tmp;
  memset((void *)(& tracking), 0, sizeof(tracking));
  tracking.spec.dst = (char *)orig_ref;
  tracking.srcs = & tracking_srcs;
  if ((int )track != 5) {
    for_each_remote(& find_tracked_branch, (void *)(& tracking));
  } else {
    tmp___0 = inherit_tracking(& tracking, orig_ref);
    if (tmp___0) {
      return;
    }
  }
  if (! tracking.matches) {
    {
    if ((int )track == 5) {
      goto case_5;
    }
    if ((int )track == 4) {
      goto case_5;
    }
    if ((int )track == 3) {
      goto case_5;
    }
    if ((int )track == 2) {
      goto case_5;
    }
    goto switch_default;
    case_5: /* CIL Label */
    case_4: /* CIL Label */
    case_3: /* CIL Label */
    case_2: /* CIL Label */
    goto switch_break;
    switch_default: /* CIL Label */
    return;
    switch_break: /* CIL Label */ ;
    }
  }
  if (tracking.matches > 1) {
    tmp___1 = _((char const   *)"not tracking: ambiguous information for ref %s");
    die((char const   *)tmp___1, orig_ref);
  }
  if ((tracking.srcs)->nr < 1U) {
    string_list_append(tracking.srcs, orig_ref);
  }
  tmp___3 = install_branch_config_multiple_remotes(config_flags, new_ref, tracking.remote,
                                                   tracking.srcs);
  if (tmp___3 < 0) {
    tmp___2 = trace2_cmd_exit_fl((char const   *)"branch.c", 259, -1);
    exit(tmp___2);
  }
  string_list_clear(tracking.srcs, 0);
  return;
}
}
int read_branch_desc(struct strbuf *buf___19 , char const   *branch_name )
{
  char *v ;
  struct strbuf name___0 ;
  int tmp ;

  {
  v = (char *)((void *)0);
  name___0.alloc = 0UL;
  name___0.len = 0UL;
  name___0.buf = strbuf_slopbuf;
  strbuf_addf(& name___0, (char const   *)"branch.%s.description", branch_name);
  tmp = git_config_get_string((char const   *)name___0.buf, & v);
  if (tmp) {
    strbuf_release(& name___0);
    return (-1);
  }
  strbuf_addstr(buf___19, (char const   *)v);
  free((void *)v);
  strbuf_release(& name___0);
  return (0);
}
}
int validate_branchname(char const   *name___0 , struct strbuf *ref )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp___0 = strbuf_check_branch_ref(ref, name___0);
  if (tmp___0) {
    tmp = _((char const   *)"\'%s\' is not a valid branch name");
    die((char const   *)tmp, name___0);
  }
  tmp___1 = ref_exists((char const   *)ref->buf);
  return (tmp___1);
}
}
int validate_new_branchname(char const   *name___0 , struct strbuf *ref , int force___2 )
{
  struct worktree **worktrees ;
  struct worktree  const  *wt ;
  int tmp ;
  size_t tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  size_t tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  tmp = validate_branchname(name___0, ref);
  if (! tmp) {
    return (0);
  }
  if (! force___2) {
    tmp___0 = strlen((char const   *)"refs/heads/");
    tmp___1 = _((char const   *)"a branch named \'%s\' already exists");
    die((char const   *)tmp___1, ref->buf + tmp___0);
  }
  worktrees = get_worktrees();
  wt = find_shared_symref(worktrees, (char const   *)"HEAD", (char const   *)ref->buf);
  if (wt) {
    if (! wt->is_bare) {
      tmp___2 = strlen((char const   *)"refs/heads/");
      tmp___3 = _((char const   *)"cannot force update the branch \'%s\' checked out at \'%s\'");
      die((char const   *)tmp___3, ref->buf + tmp___2, wt->path);
    }
  }
  free_worktrees(worktrees);
  return (1);
}
}
static int check_tracking_branch(struct remote *remote , void *cb_data )
{
  char *tracking_branch ;
  struct refspec_item query ;
  int tmp ;
  int tmp___0 ;

  {
  tracking_branch = (char *)cb_data;
  memset((void *)(& query), 0, sizeof(struct refspec_item ));
  query.dst = tracking_branch;
  tmp = remote_find_tracking(remote, & query);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
static int validate_remote_tracking_branch(char *ref )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = for_each_remote(& check_tracking_branch, (void *)ref);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
static char const   upstream_not_branch[72]  =
  {      (char const   )'c',      (char const   )'a',      (char const   )'n',      (char const   )'n',
        (char const   )'o',      (char const   )'t',      (char const   )' ',      (char const   )'s',
        (char const   )'e',      (char const   )'t',      (char const   )' ',      (char const   )'u',
        (char const   )'p',      (char const   )' ',      (char const   )'t',      (char const   )'r',
        (char const   )'a',      (char const   )'c',      (char const   )'k',      (char const   )'i',
        (char const   )'n',      (char const   )'g',      (char const   )' ',      (char const   )'i',
        (char const   )'n',      (char const   )'f',      (char const   )'o',      (char const   )'r',
        (char const   )'m',      (char const   )'a',      (char const   )'t',      (char const   )'i',
        (char const   )'o',      (char const   )'n',      (char const   )';',      (char const   )' ',
        (char const   )'s',      (char const   )'t',      (char const   )'a',      (char const   )'r',
        (char const   )'t',      (char const   )'i',      (char const   )'n',      (char const   )'g',
        (char const   )' ',      (char const   )'p',      (char const   )'o',      (char const   )'i',
        (char const   )'n',      (char const   )'t',      (char const   )' ',      (char const   )'\'',
        (char const   )'%',      (char const   )'s',      (char const   )'\'',      (char const   )' ',
        (char const   )'i',      (char const   )'s',      (char const   )' ',      (char const   )'n',
        (char const   )'o',      (char const   )'t',      (char const   )' ',      (char const   )'a',
        (char const   )' ',      (char const   )'b',      (char const   )'r',      (char const   )'a',
        (char const   )'n',      (char const   )'c',      (char const   )'h',      (char const   )'\000'};
static char const   upstream_missing[50]  =
  {      (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'q',      (char const   )'u',
        (char const   )'e',      (char const   )'s',      (char const   )'t',      (char const   )'e',
        (char const   )'d',      (char const   )' ',      (char const   )'u',      (char const   )'p',
        (char const   )'s',      (char const   )'t',      (char const   )'r',      (char const   )'e',
        (char const   )'a',      (char const   )'m',      (char const   )' ',      (char const   )'b',
        (char const   )'r',      (char const   )'a',      (char const   )'n',      (char const   )'c',
        (char const   )'h',      (char const   )' ',      (char const   )'\'',      (char const   )'%',
        (char const   )'s',      (char const   )'\'',      (char const   )' ',      (char const   )'d',
        (char const   )'o',      (char const   )'e',      (char const   )'s',      (char const   )' ',
        (char const   )'n',      (char const   )'o',      (char const   )'t',      (char const   )' ',
        (char const   )'e',      (char const   )'x',      (char const   )'i',      (char const   )'s',
        (char const   )'t',      (char const   )'\000'};
static char const   upstream_advice[312]  =
  {      (char const   )'\n',      (char const   )'I',      (char const   )'f',      (char const   )' ',
        (char const   )'y',      (char const   )'o',      (char const   )'u',      (char const   )' ',
        (char const   )'a',      (char const   )'r',      (char const   )'e',      (char const   )' ',
        (char const   )'p',      (char const   )'l',      (char const   )'a',      (char const   )'n',
        (char const   )'n',      (char const   )'i',      (char const   )'n',      (char const   )'g',
        (char const   )' ',      (char const   )'o',      (char const   )'n',      (char const   )' ',
        (char const   )'b',      (char const   )'a',      (char const   )'s',      (char const   )'i',
        (char const   )'n',      (char const   )'g',      (char const   )' ',      (char const   )'y',
        (char const   )'o',      (char const   )'u',      (char const   )'r',      (char const   )' ',
        (char const   )'w',      (char const   )'o',      (char const   )'r',      (char const   )'k',
        (char const   )' ',      (char const   )'o',      (char const   )'n',      (char const   )' ',
        (char const   )'a',      (char const   )'n',      (char const   )' ',      (char const   )'u',
        (char const   )'p',      (char const   )'s',      (char const   )'t',      (char const   )'r',
        (char const   )'e',      (char const   )'a',      (char const   )'m',      (char const   )'\n',
        (char const   )'b',      (char const   )'r',      (char const   )'a',      (char const   )'n',
        (char const   )'c',      (char const   )'h',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'a',      (char const   )'t',      (char const   )' ',
        (char const   )'a',      (char const   )'l',      (char const   )'r',      (char const   )'e',
        (char const   )'a',      (char const   )'d',      (char const   )'y',      (char const   )' ',
        (char const   )'e',      (char const   )'x',      (char const   )'i',      (char const   )'s',
        (char const   )'t',      (char const   )'s',      (char const   )' ',      (char const   )'a',
        (char const   )'t',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )' ',      (char const   )'r',      (char const   )'e',
        (char const   )'m',      (char const   )'o',      (char const   )'t',      (char const   )'e',
        (char const   )',',      (char const   )' ',      (char const   )'y',      (char const   )'o',
        (char const   )'u',      (char const   )' ',      (char const   )'m',      (char const   )'a',
        (char const   )'y',      (char const   )' ',      (char const   )'n',      (char const   )'e',
        (char const   )'e',      (char const   )'d',      (char const   )' ',      (char const   )'t',
        (char const   )'o',      (char const   )'\n',      (char const   )'r',      (char const   )'u',
        (char const   )'n',      (char const   )' ',      (char const   )'\"',      (char const   )'g',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'f',
        (char const   )'e',      (char const   )'t',      (char const   )'c',      (char const   )'h',
        (char const   )'\"',      (char const   )' ',      (char const   )'t',      (char const   )'o',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'t',
        (char const   )'r',      (char const   )'i',      (char const   )'e',      (char const   )'v',
        (char const   )'e',      (char const   )' ',      (char const   )'i',      (char const   )'t',
        (char const   )'.',      (char const   )'\n',      (char const   )'\n',      (char const   )'I',
        (char const   )'f',      (char const   )' ',      (char const   )'y',      (char const   )'o',
        (char const   )'u',      (char const   )' ',      (char const   )'a',      (char const   )'r',
        (char const   )'e',      (char const   )' ',      (char const   )'p',      (char const   )'l',
        (char const   )'a',      (char const   )'n',      (char const   )'n',      (char const   )'i',
        (char const   )'n',      (char const   )'g',      (char const   )' ',      (char const   )'t',
        (char const   )'o',      (char const   )' ',      (char const   )'p',      (char const   )'u',
        (char const   )'s',      (char const   )'h',      (char const   )' ',      (char const   )'o',
        (char const   )'u',      (char const   )'t',      (char const   )' ',      (char const   )'a',
        (char const   )' ',      (char const   )'n',      (char const   )'e',      (char const   )'w',
        (char const   )' ',      (char const   )'l',      (char const   )'o',      (char const   )'c',
        (char const   )'a',      (char const   )'l',      (char const   )' ',      (char const   )'b',
        (char const   )'r',      (char const   )'a',      (char const   )'n',      (char const   )'c',
        (char const   )'h',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'a',      (char const   )'t',      (char const   )'\n',      (char const   )'w',
        (char const   )'i',      (char const   )'l',      (char const   )'l',      (char const   )' ',
        (char const   )'t',      (char const   )'r',      (char const   )'a',      (char const   )'c',
        (char const   )'k',      (char const   )' ',      (char const   )'i',      (char const   )'t',
        (char const   )'s',      (char const   )' ',      (char const   )'r',      (char const   )'e',
        (char const   )'m',      (char const   )'o',      (char const   )'t',      (char const   )'e',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'u',
        (char const   )'n',      (char const   )'t',      (char const   )'e',      (char const   )'r',
        (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'t',
        (char const   )',',      (char const   )' ',      (char const   )'y',      (char const   )'o',
        (char const   )'u',      (char const   )' ',      (char const   )'m',      (char const   )'a',
        (char const   )'y',      (char const   )' ',      (char const   )'w',      (char const   )'a',
        (char const   )'n',      (char const   )'t',      (char const   )' ',      (char const   )'t',
        (char const   )'o',      (char const   )' ',      (char const   )'u',      (char const   )'s',
        (char const   )'e',      (char const   )'\n',      (char const   )'\"',      (char const   )'g',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'p',
        (char const   )'u',      (char const   )'s',      (char const   )'h',      (char const   )' ',
        (char const   )'-',      (char const   )'u',      (char const   )'\"',      (char const   )' ',
        (char const   )'t',      (char const   )'o',      (char const   )' ',      (char const   )'s',
        (char const   )'e',      (char const   )'t',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'u',
        (char const   )'p',      (char const   )'s',      (char const   )'t',      (char const   )'r',
        (char const   )'e',      (char const   )'a',      (char const   )'m',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'n',      (char const   )'f',
        (char const   )'i',      (char const   )'g',      (char const   )' ',      (char const   )'a',
        (char const   )'s',      (char const   )' ',      (char const   )'y',      (char const   )'o',
        (char const   )'u',      (char const   )' ',      (char const   )'p',      (char const   )'u',
        (char const   )'s',      (char const   )'h',      (char const   )'.',      (char const   )'\000'};
void create_branch(struct repository *r , char const   *name___0 , char const   *start_name ,
                   int force___2 , int clobber_head_ok , int reflog___1 , int quiet___7 ,
                   enum branch_track track )
{
  struct commit *commit ;
  struct object_id oid ;
  char *real_ref ;
  struct strbuf ref ;
  int forcing ;
  int dont_change_ref ;
  int explicit_tracking ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  struct ref_transaction *transaction___0 ;
  struct strbuf err___4 ;
  char *msg___5 ;
  struct object_id  const  *tmp___17 ;
  struct object_id  const  *tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;

  {
  ref.alloc = 0UL;
  ref.len = 0UL;
  ref.buf = strbuf_slopbuf;
  forcing = 0;
  dont_change_ref = 0;
  explicit_tracking = 0;
  if ((int )track == 3) {
    explicit_tracking = 1;
  } else
  if ((int )track == 4) {
    explicit_tracking = 1;
  }
  if ((int )track == 4) {
    tmp = validate_branchname(name___0, & ref);
    tmp___1 = tmp;
  } else
  if (clobber_head_ok) {
    tmp = validate_branchname(name___0, & ref);
    tmp___1 = tmp;
  } else {
    tmp___0 = validate_new_branchname(name___0, & ref, force___2);
    tmp___1 = tmp___0;
  }
  if (tmp___1) {
    if (! force___2) {
      dont_change_ref = 1;
    } else {
      forcing = 1;
    }
  }
  real_ref = (char *)((void *)0);
  tmp___8 = repo_get_oid_mb(the_repository, start_name, & oid);
  if (tmp___8) {
    if (explicit_tracking) {
      tmp___5 = advice_enabled((enum advice_type )26);
      if (tmp___5) {
        tmp___2 = _(upstream_missing);
        error((char const   *)tmp___2, start_name);
        const_error();
        tmp___3 = _(upstream_advice);
        advise((char const   *)tmp___3);
        tmp___4 = trace2_cmd_exit_fl((char const   *)"branch.c", 380, 1);
        exit(tmp___4);
      }
      tmp___6 = _(upstream_missing);
      die((char const   *)tmp___6, start_name);
    }
    tmp___7 = _((char const   *)"not a valid object name: \'%s\'");
    die((char const   *)tmp___7, start_name);
  }
  tmp___9 = strlen(start_name);
  tmp___10 = dwim_ref(start_name, (int )tmp___9, & oid, & real_ref, 0);
  {
  if (tmp___10 == 0) {
    goto case_0;
  }
  if (tmp___10 == 1) {
    goto case_1;
  }
  goto switch_default;
  case_0: /* CIL Label */
  if (explicit_tracking) {
    tmp___11 = _(upstream_not_branch);
    die((char const   *)tmp___11, start_name);
  }
  goto switch_break;
  case_1: /* CIL Label */
  tmp___13 = starts_with((char const   *)real_ref, (char const   *)"refs/heads/");
  if (! tmp___13) {
    tmp___14 = validate_remote_tracking_branch(real_ref);
    if (tmp___14) {
      if (explicit_tracking) {
        tmp___12 = _(upstream_not_branch);
        die((char const   *)tmp___12, start_name);
      } else {
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          free((void *)real_ref);
          real_ref = (char *)((void *)0);
          goto while_break;
        }
        while_break: /* CIL Label */ ;
        }
      }
    }
  }
  goto switch_break;
  switch_default: /* CIL Label */
  tmp___15 = _((char const   *)"ambiguous object name: \'%s\'");
  die((char const   *)tmp___15, start_name);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  commit = lookup_commit_reference(r, (struct object_id  const  *)(& oid));
  if ((unsigned long )commit == (unsigned long )((void *)0)) {
    tmp___16 = _((char const   *)"not a valid branch point: \'%s\'");
    die((char const   *)tmp___16, start_name);
  }
  oidcpy(& oid, (struct object_id  const  *)(& commit->object.oid));
  if (reflog___1) {
    log_all_ref_updates = (enum log_refs_config )1;
  }
  if (! dont_change_ref) {
    err___4.alloc = 0UL;
    err___4.len = 0UL;
    err___4.buf = strbuf_slopbuf;
    if (forcing) {
      msg___5 = xstrfmt((char const   *)"branch: Reset to %s", start_name);
    } else {
      msg___5 = xstrfmt((char const   *)"branch: Created from %s", start_name);
    }
    transaction___0 = ref_transaction_begin(& err___4);
    if (! transaction___0) {
      die((char const   *)"%s", err___4.buf);
    } else {
      if (forcing) {
        tmp___18 = (struct object_id  const  *)((void *)0);
      } else {
        tmp___17 = null_oid();
        tmp___18 = tmp___17;
      }
      tmp___19 = ref_transaction_update(transaction___0, (char const   *)ref.buf,
                                        (struct object_id  const  *)(& oid), tmp___18,
                                        0U, (char const   *)msg___5, & err___4);
      if (tmp___19) {
        die((char const   *)"%s", err___4.buf);
      } else {
        tmp___20 = ref_transaction_commit(transaction___0, & err___4);
        if (tmp___20) {
          die((char const   *)"%s", err___4.buf);
        }
      }
    }
    ref_transaction_free(transaction___0);
    strbuf_release(& err___4);
    free((void *)msg___5);
  }
  if (real_ref) {
    if (track) {
      setup_tracking((char const   *)(ref.buf + 11), (char const   *)real_ref, track,
                     quiet___7);
    }
  }
  strbuf_release(& ref);
  free((void *)real_ref);
  return;
}
}
void remove_merge_branch_state(struct repository *r )
{
  char const   *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;

  {
  tmp = git_path_merge_head(r);
  unlink(tmp);
  tmp___0 = git_path_merge_rr(r);
  unlink(tmp___0);
  tmp___1 = git_path_merge_msg(r);
  unlink(tmp___1);
  tmp___2 = git_path_merge_mode(r);
  unlink(tmp___2);
  tmp___3 = git_path_auto_merge(r);
  unlink(tmp___3);
  tmp___4 = git_path_merge_autostash(r);
  save_autostash(tmp___4);
  return;
}
}
void remove_branch_state(struct repository *r , int verbose___15 )
{
  char const   *tmp ;

  {
  sequencer_post_commit_cleanup(r, verbose___15);
  tmp = git_path_squash_msg(r);
  unlink(tmp);
  remove_merge_branch_state(r);
  return;
}
}
void die_if_checked_out(char const   *branch___0 , int ignore_current_worktree )
{
  struct worktree **worktrees ;
  struct worktree **tmp ;
  struct worktree  const  *wt ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  tmp = get_worktrees();
  worktrees = tmp;
  wt = find_shared_symref(worktrees, (char const   *)"HEAD", branch___0);
  if (wt) {
    if (! ignore_current_worktree) {
      skip_prefix(branch___0, (char const   *)"refs/heads/", & branch___0);
      tmp___0 = _((char const   *)"\'%s\' is already checked out at \'%s\'");
      die((char const   *)tmp___0, branch___0, wt->path);
    } else
    if (! wt->is_current) {
      skip_prefix(branch___0, (char const   *)"refs/heads/", & branch___0);
      tmp___0 = _((char const   *)"\'%s\' is already checked out at \'%s\'");
      die((char const   *)tmp___0, branch___0, wt->path);
    }
  }
  free_worktrees(worktrees);
  return;
}
}
int replace_each_worktree_head_symref(char const   *oldref , char const   *newref ,
                                      char const   *logmsg )
{
  int ret___67 ;
  struct worktree **worktrees ;
  struct worktree **tmp ;
  int i ;
  struct ref_store *refs___0 ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  ret___67 = 0;
  tmp = get_worktrees();
  worktrees = tmp;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(worktrees + i)) {
      goto while_break;
    }
    if ((*(worktrees + i))->is_detached) {
      goto __Cont;
    }
    if (! (*(worktrees + i))->head_ref) {
      goto __Cont;
    }
    tmp___0 = strcmp(oldref, (char const   *)(*(worktrees + i))->head_ref);
    if (tmp___0) {
      goto __Cont;
    }
    refs___0 = get_worktree_ref_store((struct worktree  const  *)*(worktrees + i));
    tmp___2 = refs_create_symref(refs___0, (char const   *)"HEAD", newref, logmsg);
    if (tmp___2) {
      tmp___1 = _((char const   *)"HEAD of working tree %s is not updated");
      error((char const   *)tmp___1, (*(worktrees + i))->path);
      ret___67 = const_error();
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free_worktrees(worktrees);
  return (ret___67);
}
}
int index_bulk_checkin(struct object_id *oid , int fd , size_t size , enum object_type type___0 ,
                       char const   *path___6 , unsigned int flags___0 ) ;
void plug_bulk_checkin(void) ;
void unplug_bulk_checkin(void) ;
void hashfile_checkpoint(struct hashfile *f , struct hashfile_checkpoint *checkpoint___0 ) ;
int hashfile_truncate(struct hashfile *f , struct hashfile_checkpoint *checkpoint___0 ) ;
struct hashfile *hashfd(int fd , char const   *name___0 ) ;
struct hashfile *hashfd_check(char const   *name___0 ) ;
struct hashfile *hashfd_throughput(int fd , char const   *name___0 , struct progress *tp ) ;
int finalize_hashfile(struct hashfile *f , unsigned char *result___0 , unsigned int flags___0 ) ;
void hashwrite(struct hashfile *f , void const   *buf___19 , unsigned int count___0 ) ;
void hashflush(struct hashfile *f ) ;
void crc32_begin(struct hashfile *f ) ;
uint32_t crc32_end(struct hashfile *f ) ;
int hashfile_checksum_valid(unsigned char const   *data , size_t total_len ) ;
__inline static off_t hashfile_total(struct hashfile *f )
{


  {
  return (f->total + (off_t )f->offset);
}
}
__inline static void hashwrite_u8(struct hashfile *f , uint8_t data )
{


  {
  hashwrite(f, (void const   *)(& data), (unsigned int )sizeof(data));
  return;
}
}
__inline static void hashwrite_be32(struct hashfile *f , uint32_t data )
{


  {
  data = git_bswap32(data);
  hashwrite(f, (void const   *)(& data), (unsigned int )sizeof(data));
  return;
}
}
__inline static size_t hashwrite_be64(struct hashfile *f , uint64_t data )
{


  {
  data = git_bswap64(data);
  hashwrite(f, (void const   *)(& data), (unsigned int )sizeof(data));
  return (sizeof(data));
}
}
void reset_pack_idx_option(struct pack_idx_option *opts___1 ) ;
char const   *write_idx_file(char const   *index_name , struct pack_idx_entry **objects___0 ,
                             int nr_objects___1 , struct pack_idx_option  const  *opts___1 ,
                             unsigned char const   *sha1 ) ;
int check_pack_crc(struct packed_git *p___0 , struct pack_window **w_curs , off_t offset___2 ,
                   off_t len___0 , unsigned int nr___0 ) ;
int verify_pack_index(struct packed_git *p___0 ) ;
int verify_pack(struct repository *r , struct packed_git *p___0 , int (*fn)(struct object_id  const  * ,
                                                                            enum object_type  ,
                                                                            unsigned long  ,
                                                                            void * ,
                                                                            int * ) ,
                struct progress *progress___7 , uint32_t base_count ) ;
off_t write_pack_header(struct hashfile *f , uint32_t nr_entries ) ;
void fixup_pack_header_footer(int pack_fd , unsigned char *new_pack_hash , char const   *pack_name ,
                              uint32_t object_count___0 , unsigned char *partial_pack_hash ,
                              off_t partial_pack_offset ) ;
char *index_pack_lockfile(int ip_out , int *is_well_formed ) ;
void write_promisor_file(char const   *promisor_name , struct ref **sought , int nr_sought ) ;
char const   *write_rev_file(char const   *rev_name , struct pack_idx_entry **objects___0 ,
                             uint32_t nr_objects___1 , unsigned char const   *hash___0 ,
                             unsigned int flags___0 ) ;
char const   *write_rev_file_order(char const   *rev_name , uint32_t *pack_order ,
                                   uint32_t nr_objects___1 , unsigned char const   *hash___0 ,
                                   unsigned int flags___0 ) ;
int encode_in_pack_object_header(unsigned char *hdr , int hdr_len , enum object_type type___0 ,
                                 uintmax_t size ) ;
int read_pack_header(int fd , struct pack_header *header___0 ) ;
struct hashfile *create_tmp_packfile(char **pack_tmp_name ) ;
void stage_tmp_packfiles(struct strbuf *name_buffer , char const   *pack_tmp_name ,
                         struct pack_idx_entry **written_list___0 , uint32_t nr_written___0 ,
                         struct pack_idx_option *pack_idx_opts___1 , unsigned char *hash___0 ,
                         char **idx_tmp_name ) ;
void rename_tmp_packfile_idx(struct strbuf *name_buffer , char **idx_tmp_name ) ;
static double const   __ac_HASH_UPPER___11  =    (double const   )0.77;
__inline static void kh_resize_oid_set___11(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___11(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___11 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___11 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___11(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___11(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___11(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___11(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___11(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___11(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___11 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___11 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___11(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___11(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___11(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___11(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___11(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___11(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___11 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___11 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___11(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___11(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___11(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___11(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___8(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___8(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___11 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___11 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___8(kh_odb_path_map_t *h , char const   *key___1 ,
                                                int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___8(kh_odb_path_map_t *h , char const   *key___1 ,
                                                int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___8(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___8(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static struct bulk_checkin_state state  ;
static void finish_tmp_packfile(struct strbuf *__xpg_basename___0 , char const   *pack_tmp_name ,
                                struct pack_idx_entry **written_list___0 , uint32_t nr_written___0 ,
                                struct pack_idx_option *pack_idx_opts___1 , unsigned char *hash___0 )
{
  char *idx_tmp_name ;

  {
  idx_tmp_name = (char *)((void *)0);
  stage_tmp_packfiles(__xpg_basename___0, pack_tmp_name, written_list___0, nr_written___0,
                      pack_idx_opts___1, hash___0, & idx_tmp_name);
  rename_tmp_packfile_idx(__xpg_basename___0, & idx_tmp_name);
  free((void *)idx_tmp_name);
  return;
}
}
static void finish_bulk_checkin(struct bulk_checkin_state *state___1 )
{
  unsigned char hash___0[32] ;
  struct strbuf packname ;
  int i ;
  int fd ;
  int tmp ;
  char *tmp___0 ;
  char *tmp___1 ;

  {
  packname.alloc = 0UL;
  packname.len = 0UL;
  packname.buf = strbuf_slopbuf;
  if (! state___1->f) {
    return;
  }
  if (state___1->nr_written == 0U) {
    close((state___1->f)->fd);
    unlink((char const   *)state___1->pack_tmp_name);
    goto clear_exit;
  } else
  if (state___1->nr_written == 1U) {
    finalize_hashfile(state___1->f, hash___0, 7U);
  } else {
    tmp = finalize_hashfile(state___1->f, hash___0, 0U);
    fd = tmp;
    fixup_pack_header_footer(fd, hash___0, (char const   *)state___1->pack_tmp_name,
                             state___1->nr_written, hash___0, state___1->offset);
    close(fd);
  }
  tmp___0 = hash_to_hex((unsigned char const   *)(hash___0));
  tmp___1 = get_object_directory();
  strbuf_addf(& packname, (char const   *)"%s/pack/pack-%s.", tmp___1, tmp___0);
  finish_tmp_packfile(& packname, (char const   *)state___1->pack_tmp_name, state___1->written,
                      state___1->nr_written, & state___1->pack_idx_opts, hash___0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((uint32_t )i < state___1->nr_written)) {
      goto while_break;
    }
    free((void *)*(state___1->written + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_exit:
  free((void *)state___1->written);
  memset((void *)state___1, 0, sizeof(*state___1));
  strbuf_release(& packname);
  reprepare_packed_git(the_repository);
  return;
}
}
static int already_written(struct bulk_checkin_state *state___1 , struct object_id *oid )
{
  int i ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = repo_has_object_file(the_repository, (struct object_id  const  *)oid);
  if (tmp) {
    return (1);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((uint32_t )i < state___1->nr_written)) {
      goto while_break;
    }
    tmp___0 = oideq((struct object_id  const  *)(& (*(state___1->written + i))->oid),
                    (struct object_id  const  *)oid);
    if (tmp___0) {
      return (1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int stream_to_pack(struct bulk_checkin_state *state___1 , git_hash_ctx *ctx___0 ,
                          off_t *already_hashed_to , int fd , size_t size , enum object_type type___0 ,
                          char const   *path___6 , unsigned int flags___0 )
{
  git_zstream s___1 ;
  unsigned char ibuf[16384] ;
  unsigned char obuf[16384] ;
  unsigned int hdrlen ;
  int status ;
  int write_object___1 ;
  off_t offset___2 ;
  int tmp ;
  ssize_t rsize ;
  size_t tmp___0 ;
  ssize_t read_result ;
  ssize_t tmp___1 ;
  size_t hsize ;
  int tmp___2 ;
  size_t written___0 ;

  {
  status = 0;
  write_object___1 = (int )(flags___0 & 1U);
  offset___2 = (off_t )0;
  git_deflate_init(& s___1, pack_compression_level);
  tmp = encode_in_pack_object_header(obuf, (int )sizeof(obuf), type___0, size);
  hdrlen = (unsigned int )tmp;
  s___1.next_out = obuf + hdrlen;
  s___1.avail_out = sizeof(obuf) - (unsigned long )hdrlen;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (status != 1)) {
      goto while_break;
    }
    if (size) {
      if (! s___1.avail_in) {
        if (size < sizeof(ibuf)) {
          tmp___0 = size;
        } else {
          tmp___0 = sizeof(ibuf);
        }
        rsize = (ssize_t )tmp___0;
        tmp___1 = read_in_full(fd, (void *)(ibuf), (size_t )rsize);
        read_result = tmp___1;
        if (read_result < 0L) {
          die_errno((char const   *)"failed to read from \'%s\'", path___6);
        }
        if (read_result != rsize) {
          die((char const   *)"failed to read %d bytes from \'%s\'", (int )rsize,
              path___6);
        }
        offset___2 += rsize;
        if (*already_hashed_to < offset___2) {
          hsize = (size_t )(offset___2 - *already_hashed_to);
          if ((size_t )rsize < hsize) {
            hsize = (size_t )rsize;
          }
          if (hsize) {
            (*((the_repository->hash_algo)->update_fn))(ctx___0, (void const   *)(ibuf),
                                                        hsize);
          }
          *already_hashed_to = offset___2;
        }
        s___1.next_in = ibuf;
        s___1.avail_in = (unsigned long )rsize;
        size -= (size_t )rsize;
      }
    }
    if (size) {
      tmp___2 = 0;
    } else {
      tmp___2 = 4;
    }
    status = git_deflate(& s___1, tmp___2);
    if (! s___1.avail_out) {
      goto _L;
    } else
    if (status == 1) {
      _L: /* CIL Label */
      if (write_object___1) {
        written___0 = (size_t )(s___1.next_out - obuf);
        if (state___1->nr_written) {
          if (pack_size_limit_cfg) {
            if (pack_size_limit_cfg < (size_t )state___1->offset + written___0) {
              git_deflate_abort(& s___1);
              return (-1);
            }
          }
        }
        hashwrite(state___1->f, (void const   *)(obuf), (unsigned int )written___0);
        state___1->offset = (off_t )((size_t )state___1->offset + written___0);
      }
      s___1.next_out = obuf;
      s___1.avail_out = sizeof(obuf);
    }
    {
    if (status == 1) {
      goto case_1;
    }
    if (status == -5) {
      goto case_1;
    }
    if (status == 0) {
      goto case_1;
    }
    goto switch_default;
    case_1: /* CIL Label */
    case_neg_5: /* CIL Label */
    case_0: /* CIL Label */
    goto while_continue;
    switch_default: /* CIL Label */
    die((char const   *)"unexpected deflate failure: %d", status);
    switch_break: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  git_deflate_end(& s___1);
  return (0);
}
}
static void prepare_to_stream(struct bulk_checkin_state *state___1 , unsigned int flags___0 )
{


  {
  if (! (flags___0 & 1U)) {
    return;
  } else
  if (state___1->f) {
    return;
  }
  state___1->f = create_tmp_packfile(& state___1->pack_tmp_name);
  reset_pack_idx_option(& state___1->pack_idx_opts);
  state___1->offset = write_pack_header(state___1->f, (uint32_t )1);
  if (! state___1->offset) {
    die_errno((char const   *)"unable to write pack header");
  }
  return;
}
}
static int deflate_to_pack(struct bulk_checkin_state *state___1 , struct object_id *result_oid ,
                           int fd , size_t size , enum object_type type___0 , char const   *path___6 ,
                           unsigned int flags___0 )
{
  off_t seekback ;
  off_t already_hashed_to ;
  git_hash_ctx ctx___0 ;
  unsigned char obuf[16384] ;
  unsigned int header_len ;
  struct hashfile_checkpoint checkpoint___0 ;
  struct pack_idx_entry *idx___0 ;
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  void *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  __off_t tmp___5 ;
  size_t tmp___6 ;
  void *tmp___7 ;
  uint32_t tmp___8 ;
  int tmp___9 ;

  {
  checkpoint___0.offset = (off_t )0;
  checkpoint___0.ctx.sha1.total = 0UL;
  checkpoint___0.ctx.sha1.ihv[0] = 0U;
  checkpoint___0.ctx.sha1.ihv[1] = 0U;
  checkpoint___0.ctx.sha1.ihv[2] = 0U;
  checkpoint___0.ctx.sha1.ihv[3] = 0U;
  checkpoint___0.ctx.sha1.ihv[4] = 0U;
  checkpoint___0.ctx.sha1.buffer[0] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[1] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[2] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[3] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[4] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[5] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[6] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[7] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[8] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[9] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[10] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[11] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[12] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[13] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[14] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[15] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[16] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[17] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[18] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[19] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[20] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[21] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[22] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[23] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[24] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[25] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[26] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[27] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[28] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[29] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[30] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[31] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[32] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[33] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[34] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[35] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[36] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[37] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[38] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[39] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[40] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[41] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[42] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[43] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[44] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[45] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[46] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[47] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[48] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[49] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[50] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[51] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[52] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[53] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[54] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[55] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[56] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[57] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[58] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[59] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[60] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[61] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[62] = (unsigned char)0;
  checkpoint___0.ctx.sha1.buffer[63] = (unsigned char)0;
  checkpoint___0.ctx.sha1.found_collision = 0;
  checkpoint___0.ctx.sha1.safe_hash = 0;
  checkpoint___0.ctx.sha1.detect_coll = 0;
  checkpoint___0.ctx.sha1.ubc_check = 0;
  checkpoint___0.ctx.sha1.reduced_round_coll = 0;
  checkpoint___0.ctx.sha1.callback = (void (*)(uint64_t  , uint32_t const   * , uint32_t const   * ,
                                               uint32_t const   * , uint32_t const   * ))0;
  checkpoint___0.ctx.sha1.ihv1[0] = 0U;
  checkpoint___0.ctx.sha1.ihv1[1] = 0U;
  checkpoint___0.ctx.sha1.ihv1[2] = 0U;
  checkpoint___0.ctx.sha1.ihv1[3] = 0U;
  checkpoint___0.ctx.sha1.ihv1[4] = 0U;
  checkpoint___0.ctx.sha1.ihv2[0] = 0U;
  checkpoint___0.ctx.sha1.ihv2[1] = 0U;
  checkpoint___0.ctx.sha1.ihv2[2] = 0U;
  checkpoint___0.ctx.sha1.ihv2[3] = 0U;
  checkpoint___0.ctx.sha1.ihv2[4] = 0U;
  checkpoint___0.ctx.sha1.m1[0] = 0U;
  checkpoint___0.ctx.sha1.m1[1] = 0U;
  checkpoint___0.ctx.sha1.m1[2] = 0U;
  checkpoint___0.ctx.sha1.m1[3] = 0U;
  checkpoint___0.ctx.sha1.m1[4] = 0U;
  checkpoint___0.ctx.sha1.m1[5] = 0U;
  checkpoint___0.ctx.sha1.m1[6] = 0U;
  checkpoint___0.ctx.sha1.m1[7] = 0U;
  checkpoint___0.ctx.sha1.m1[8] = 0U;
  checkpoint___0.ctx.sha1.m1[9] = 0U;
  checkpoint___0.ctx.sha1.m1[10] = 0U;
  checkpoint___0.ctx.sha1.m1[11] = 0U;
  checkpoint___0.ctx.sha1.m1[12] = 0U;
  checkpoint___0.ctx.sha1.m1[13] = 0U;
  checkpoint___0.ctx.sha1.m1[14] = 0U;
  checkpoint___0.ctx.sha1.m1[15] = 0U;
  checkpoint___0.ctx.sha1.m1[16] = 0U;
  checkpoint___0.ctx.sha1.m1[17] = 0U;
  checkpoint___0.ctx.sha1.m1[18] = 0U;
  checkpoint___0.ctx.sha1.m1[19] = 0U;
  checkpoint___0.ctx.sha1.m1[20] = 0U;
  checkpoint___0.ctx.sha1.m1[21] = 0U;
  checkpoint___0.ctx.sha1.m1[22] = 0U;
  checkpoint___0.ctx.sha1.m1[23] = 0U;
  checkpoint___0.ctx.sha1.m1[24] = 0U;
  checkpoint___0.ctx.sha1.m1[25] = 0U;
  checkpoint___0.ctx.sha1.m1[26] = 0U;
  checkpoint___0.ctx.sha1.m1[27] = 0U;
  checkpoint___0.ctx.sha1.m1[28] = 0U;
  checkpoint___0.ctx.sha1.m1[29] = 0U;
  checkpoint___0.ctx.sha1.m1[30] = 0U;
  checkpoint___0.ctx.sha1.m1[31] = 0U;
  checkpoint___0.ctx.sha1.m1[32] = 0U;
  checkpoint___0.ctx.sha1.m1[33] = 0U;
  checkpoint___0.ctx.sha1.m1[34] = 0U;
  checkpoint___0.ctx.sha1.m1[35] = 0U;
  checkpoint___0.ctx.sha1.m1[36] = 0U;
  checkpoint___0.ctx.sha1.m1[37] = 0U;
  checkpoint___0.ctx.sha1.m1[38] = 0U;
  checkpoint___0.ctx.sha1.m1[39] = 0U;
  checkpoint___0.ctx.sha1.m1[40] = 0U;
  checkpoint___0.ctx.sha1.m1[41] = 0U;
  checkpoint___0.ctx.sha1.m1[42] = 0U;
  checkpoint___0.ctx.sha1.m1[43] = 0U;
  checkpoint___0.ctx.sha1.m1[44] = 0U;
  checkpoint___0.ctx.sha1.m1[45] = 0U;
  checkpoint___0.ctx.sha1.m1[46] = 0U;
  checkpoint___0.ctx.sha1.m1[47] = 0U;
  checkpoint___0.ctx.sha1.m1[48] = 0U;
  checkpoint___0.ctx.sha1.m1[49] = 0U;
  checkpoint___0.ctx.sha1.m1[50] = 0U;
  checkpoint___0.ctx.sha1.m1[51] = 0U;
  checkpoint___0.ctx.sha1.m1[52] = 0U;
  checkpoint___0.ctx.sha1.m1[53] = 0U;
  checkpoint___0.ctx.sha1.m1[54] = 0U;
  checkpoint___0.ctx.sha1.m1[55] = 0U;
  checkpoint___0.ctx.sha1.m1[56] = 0U;
  checkpoint___0.ctx.sha1.m1[57] = 0U;
  checkpoint___0.ctx.sha1.m1[58] = 0U;
  checkpoint___0.ctx.sha1.m1[59] = 0U;
  checkpoint___0.ctx.sha1.m1[60] = 0U;
  checkpoint___0.ctx.sha1.m1[61] = 0U;
  checkpoint___0.ctx.sha1.m1[62] = 0U;
  checkpoint___0.ctx.sha1.m1[63] = 0U;
  checkpoint___0.ctx.sha1.m1[64] = 0U;
  checkpoint___0.ctx.sha1.m1[65] = 0U;
  checkpoint___0.ctx.sha1.m1[66] = 0U;
  checkpoint___0.ctx.sha1.m1[67] = 0U;
  checkpoint___0.ctx.sha1.m1[68] = 0U;
  checkpoint___0.ctx.sha1.m1[69] = 0U;
  checkpoint___0.ctx.sha1.m1[70] = 0U;
  checkpoint___0.ctx.sha1.m1[71] = 0U;
  checkpoint___0.ctx.sha1.m1[72] = 0U;
  checkpoint___0.ctx.sha1.m1[73] = 0U;
  checkpoint___0.ctx.sha1.m1[74] = 0U;
  checkpoint___0.ctx.sha1.m1[75] = 0U;
  checkpoint___0.ctx.sha1.m1[76] = 0U;
  checkpoint___0.ctx.sha1.m1[77] = 0U;
  checkpoint___0.ctx.sha1.m1[78] = 0U;
  checkpoint___0.ctx.sha1.m1[79] = 0U;
  checkpoint___0.ctx.sha1.m2[0] = 0U;
  checkpoint___0.ctx.sha1.m2[1] = 0U;
  checkpoint___0.ctx.sha1.m2[2] = 0U;
  checkpoint___0.ctx.sha1.m2[3] = 0U;
  checkpoint___0.ctx.sha1.m2[4] = 0U;
  checkpoint___0.ctx.sha1.m2[5] = 0U;
  checkpoint___0.ctx.sha1.m2[6] = 0U;
  checkpoint___0.ctx.sha1.m2[7] = 0U;
  checkpoint___0.ctx.sha1.m2[8] = 0U;
  checkpoint___0.ctx.sha1.m2[9] = 0U;
  checkpoint___0.ctx.sha1.m2[10] = 0U;
  checkpoint___0.ctx.sha1.m2[11] = 0U;
  checkpoint___0.ctx.sha1.m2[12] = 0U;
  checkpoint___0.ctx.sha1.m2[13] = 0U;
  checkpoint___0.ctx.sha1.m2[14] = 0U;
  checkpoint___0.ctx.sha1.m2[15] = 0U;
  checkpoint___0.ctx.sha1.m2[16] = 0U;
  checkpoint___0.ctx.sha1.m2[17] = 0U;
  checkpoint___0.ctx.sha1.m2[18] = 0U;
  checkpoint___0.ctx.sha1.m2[19] = 0U;
  checkpoint___0.ctx.sha1.m2[20] = 0U;
  checkpoint___0.ctx.sha1.m2[21] = 0U;
  checkpoint___0.ctx.sha1.m2[22] = 0U;
  checkpoint___0.ctx.sha1.m2[23] = 0U;
  checkpoint___0.ctx.sha1.m2[24] = 0U;
  checkpoint___0.ctx.sha1.m2[25] = 0U;
  checkpoint___0.ctx.sha1.m2[26] = 0U;
  checkpoint___0.ctx.sha1.m2[27] = 0U;
  checkpoint___0.ctx.sha1.m2[28] = 0U;
  checkpoint___0.ctx.sha1.m2[29] = 0U;
  checkpoint___0.ctx.sha1.m2[30] = 0U;
  checkpoint___0.ctx.sha1.m2[31] = 0U;
  checkpoint___0.ctx.sha1.m2[32] = 0U;
  checkpoint___0.ctx.sha1.m2[33] = 0U;
  checkpoint___0.ctx.sha1.m2[34] = 0U;
  checkpoint___0.ctx.sha1.m2[35] = 0U;
  checkpoint___0.ctx.sha1.m2[36] = 0U;
  checkpoint___0.ctx.sha1.m2[37] = 0U;
  checkpoint___0.ctx.sha1.m2[38] = 0U;
  checkpoint___0.ctx.sha1.m2[39] = 0U;
  checkpoint___0.ctx.sha1.m2[40] = 0U;
  checkpoint___0.ctx.sha1.m2[41] = 0U;
  checkpoint___0.ctx.sha1.m2[42] = 0U;
  checkpoint___0.ctx.sha1.m2[43] = 0U;
  checkpoint___0.ctx.sha1.m2[44] = 0U;
  checkpoint___0.ctx.sha1.m2[45] = 0U;
  checkpoint___0.ctx.sha1.m2[46] = 0U;
  checkpoint___0.ctx.sha1.m2[47] = 0U;
  checkpoint___0.ctx.sha1.m2[48] = 0U;
  checkpoint___0.ctx.sha1.m2[49] = 0U;
  checkpoint___0.ctx.sha1.m2[50] = 0U;
  checkpoint___0.ctx.sha1.m2[51] = 0U;
  checkpoint___0.ctx.sha1.m2[52] = 0U;
  checkpoint___0.ctx.sha1.m2[53] = 0U;
  checkpoint___0.ctx.sha1.m2[54] = 0U;
  checkpoint___0.ctx.sha1.m2[55] = 0U;
  checkpoint___0.ctx.sha1.m2[56] = 0U;
  checkpoint___0.ctx.sha1.m2[57] = 0U;
  checkpoint___0.ctx.sha1.m2[58] = 0U;
  checkpoint___0.ctx.sha1.m2[59] = 0U;
  checkpoint___0.ctx.sha1.m2[60] = 0U;
  checkpoint___0.ctx.sha1.m2[61] = 0U;
  checkpoint___0.ctx.sha1.m2[62] = 0U;
  checkpoint___0.ctx.sha1.m2[63] = 0U;
  checkpoint___0.ctx.sha1.m2[64] = 0U;
  checkpoint___0.ctx.sha1.m2[65] = 0U;
  checkpoint___0.ctx.sha1.m2[66] = 0U;
  checkpoint___0.ctx.sha1.m2[67] = 0U;
  checkpoint___0.ctx.sha1.m2[68] = 0U;
  checkpoint___0.ctx.sha1.m2[69] = 0U;
  checkpoint___0.ctx.sha1.m2[70] = 0U;
  checkpoint___0.ctx.sha1.m2[71] = 0U;
  checkpoint___0.ctx.sha1.m2[72] = 0U;
  checkpoint___0.ctx.sha1.m2[73] = 0U;
  checkpoint___0.ctx.sha1.m2[74] = 0U;
  checkpoint___0.ctx.sha1.m2[75] = 0U;
  checkpoint___0.ctx.sha1.m2[76] = 0U;
  checkpoint___0.ctx.sha1.m2[77] = 0U;
  checkpoint___0.ctx.sha1.m2[78] = 0U;
  checkpoint___0.ctx.sha1.m2[79] = 0U;
  checkpoint___0.ctx.sha1.states[0][0] = 0U;
  checkpoint___0.ctx.sha1.states[0][1] = 0U;
  checkpoint___0.ctx.sha1.states[0][2] = 0U;
  checkpoint___0.ctx.sha1.states[0][3] = 0U;
  checkpoint___0.ctx.sha1.states[0][4] = 0U;
  checkpoint___0.ctx.sha1.states[1][0] = 0U;
  checkpoint___0.ctx.sha1.states[1][1] = 0U;
  checkpoint___0.ctx.sha1.states[1][2] = 0U;
  checkpoint___0.ctx.sha1.states[1][3] = 0U;
  checkpoint___0.ctx.sha1.states[1][4] = 0U;
  checkpoint___0.ctx.sha1.states[2][0] = 0U;
  checkpoint___0.ctx.sha1.states[2][1] = 0U;
  checkpoint___0.ctx.sha1.states[2][2] = 0U;
  checkpoint___0.ctx.sha1.states[2][3] = 0U;
  checkpoint___0.ctx.sha1.states[2][4] = 0U;
  checkpoint___0.ctx.sha1.states[3][0] = 0U;
  checkpoint___0.ctx.sha1.states[3][1] = 0U;
  checkpoint___0.ctx.sha1.states[3][2] = 0U;
  checkpoint___0.ctx.sha1.states[3][3] = 0U;
  checkpoint___0.ctx.sha1.states[3][4] = 0U;
  checkpoint___0.ctx.sha1.states[4][0] = 0U;
  checkpoint___0.ctx.sha1.states[4][1] = 0U;
  checkpoint___0.ctx.sha1.states[4][2] = 0U;
  checkpoint___0.ctx.sha1.states[4][3] = 0U;
  checkpoint___0.ctx.sha1.states[4][4] = 0U;
  checkpoint___0.ctx.sha1.states[5][0] = 0U;
  checkpoint___0.ctx.sha1.states[5][1] = 0U;
  checkpoint___0.ctx.sha1.states[5][2] = 0U;
  checkpoint___0.ctx.sha1.states[5][3] = 0U;
  checkpoint___0.ctx.sha1.states[5][4] = 0U;
  checkpoint___0.ctx.sha1.states[6][0] = 0U;
  checkpoint___0.ctx.sha1.states[6][1] = 0U;
  checkpoint___0.ctx.sha1.states[6][2] = 0U;
  checkpoint___0.ctx.sha1.states[6][3] = 0U;
  checkpoint___0.ctx.sha1.states[6][4] = 0U;
  checkpoint___0.ctx.sha1.states[7][0] = 0U;
  checkpoint___0.ctx.sha1.states[7][1] = 0U;
  checkpoint___0.ctx.sha1.states[7][2] = 0U;
  checkpoint___0.ctx.sha1.states[7][3] = 0U;
  checkpoint___0.ctx.sha1.states[7][4] = 0U;
  checkpoint___0.ctx.sha1.states[8][0] = 0U;
  checkpoint___0.ctx.sha1.states[8][1] = 0U;
  checkpoint___0.ctx.sha1.states[8][2] = 0U;
  checkpoint___0.ctx.sha1.states[8][3] = 0U;
  checkpoint___0.ctx.sha1.states[8][4] = 0U;
  checkpoint___0.ctx.sha1.states[9][0] = 0U;
  checkpoint___0.ctx.sha1.states[9][1] = 0U;
  checkpoint___0.ctx.sha1.states[9][2] = 0U;
  checkpoint___0.ctx.sha1.states[9][3] = 0U;
  checkpoint___0.ctx.sha1.states[9][4] = 0U;
  checkpoint___0.ctx.sha1.states[10][0] = 0U;
  checkpoint___0.ctx.sha1.states[10][1] = 0U;
  checkpoint___0.ctx.sha1.states[10][2] = 0U;
  checkpoint___0.ctx.sha1.states[10][3] = 0U;
  checkpoint___0.ctx.sha1.states[10][4] = 0U;
  checkpoint___0.ctx.sha1.states[11][0] = 0U;
  checkpoint___0.ctx.sha1.states[11][1] = 0U;
  checkpoint___0.ctx.sha1.states[11][2] = 0U;
  checkpoint___0.ctx.sha1.states[11][3] = 0U;
  checkpoint___0.ctx.sha1.states[11][4] = 0U;
  checkpoint___0.ctx.sha1.states[12][0] = 0U;
  checkpoint___0.ctx.sha1.states[12][1] = 0U;
  checkpoint___0.ctx.sha1.states[12][2] = 0U;
  checkpoint___0.ctx.sha1.states[12][3] = 0U;
  checkpoint___0.ctx.sha1.states[12][4] = 0U;
  checkpoint___0.ctx.sha1.states[13][0] = 0U;
  checkpoint___0.ctx.sha1.states[13][1] = 0U;
  checkpoint___0.ctx.sha1.states[13][2] = 0U;
  checkpoint___0.ctx.sha1.states[13][3] = 0U;
  checkpoint___0.ctx.sha1.states[13][4] = 0U;
  checkpoint___0.ctx.sha1.states[14][0] = 0U;
  checkpoint___0.ctx.sha1.states[14][1] = 0U;
  checkpoint___0.ctx.sha1.states[14][2] = 0U;
  checkpoint___0.ctx.sha1.states[14][3] = 0U;
  checkpoint___0.ctx.sha1.states[14][4] = 0U;
  checkpoint___0.ctx.sha1.states[15][0] = 0U;
  checkpoint___0.ctx.sha1.states[15][1] = 0U;
  checkpoint___0.ctx.sha1.states[15][2] = 0U;
  checkpoint___0.ctx.sha1.states[15][3] = 0U;
  checkpoint___0.ctx.sha1.states[15][4] = 0U;
  checkpoint___0.ctx.sha1.states[16][0] = 0U;
  checkpoint___0.ctx.sha1.states[16][1] = 0U;
  checkpoint___0.ctx.sha1.states[16][2] = 0U;
  checkpoint___0.ctx.sha1.states[16][3] = 0U;
  checkpoint___0.ctx.sha1.states[16][4] = 0U;
  checkpoint___0.ctx.sha1.states[17][0] = 0U;
  checkpoint___0.ctx.sha1.states[17][1] = 0U;
  checkpoint___0.ctx.sha1.states[17][2] = 0U;
  checkpoint___0.ctx.sha1.states[17][3] = 0U;
  checkpoint___0.ctx.sha1.states[17][4] = 0U;
  checkpoint___0.ctx.sha1.states[18][0] = 0U;
  checkpoint___0.ctx.sha1.states[18][1] = 0U;
  checkpoint___0.ctx.sha1.states[18][2] = 0U;
  checkpoint___0.ctx.sha1.states[18][3] = 0U;
  checkpoint___0.ctx.sha1.states[18][4] = 0U;
  checkpoint___0.ctx.sha1.states[19][0] = 0U;
  checkpoint___0.ctx.sha1.states[19][1] = 0U;
  checkpoint___0.ctx.sha1.states[19][2] = 0U;
  checkpoint___0.ctx.sha1.states[19][3] = 0U;
  checkpoint___0.ctx.sha1.states[19][4] = 0U;
  checkpoint___0.ctx.sha1.states[20][0] = 0U;
  checkpoint___0.ctx.sha1.states[20][1] = 0U;
  checkpoint___0.ctx.sha1.states[20][2] = 0U;
  checkpoint___0.ctx.sha1.states[20][3] = 0U;
  checkpoint___0.ctx.sha1.states[20][4] = 0U;
  checkpoint___0.ctx.sha1.states[21][0] = 0U;
  checkpoint___0.ctx.sha1.states[21][1] = 0U;
  checkpoint___0.ctx.sha1.states[21][2] = 0U;
  checkpoint___0.ctx.sha1.states[21][3] = 0U;
  checkpoint___0.ctx.sha1.states[21][4] = 0U;
  checkpoint___0.ctx.sha1.states[22][0] = 0U;
  checkpoint___0.ctx.sha1.states[22][1] = 0U;
  checkpoint___0.ctx.sha1.states[22][2] = 0U;
  checkpoint___0.ctx.sha1.states[22][3] = 0U;
  checkpoint___0.ctx.sha1.states[22][4] = 0U;
  checkpoint___0.ctx.sha1.states[23][0] = 0U;
  checkpoint___0.ctx.sha1.states[23][1] = 0U;
  checkpoint___0.ctx.sha1.states[23][2] = 0U;
  checkpoint___0.ctx.sha1.states[23][3] = 0U;
  checkpoint___0.ctx.sha1.states[23][4] = 0U;
  checkpoint___0.ctx.sha1.states[24][0] = 0U;
  checkpoint___0.ctx.sha1.states[24][1] = 0U;
  checkpoint___0.ctx.sha1.states[24][2] = 0U;
  checkpoint___0.ctx.sha1.states[24][3] = 0U;
  checkpoint___0.ctx.sha1.states[24][4] = 0U;
  checkpoint___0.ctx.sha1.states[25][0] = 0U;
  checkpoint___0.ctx.sha1.states[25][1] = 0U;
  checkpoint___0.ctx.sha1.states[25][2] = 0U;
  checkpoint___0.ctx.sha1.states[25][3] = 0U;
  checkpoint___0.ctx.sha1.states[25][4] = 0U;
  checkpoint___0.ctx.sha1.states[26][0] = 0U;
  checkpoint___0.ctx.sha1.states[26][1] = 0U;
  checkpoint___0.ctx.sha1.states[26][2] = 0U;
  checkpoint___0.ctx.sha1.states[26][3] = 0U;
  checkpoint___0.ctx.sha1.states[26][4] = 0U;
  checkpoint___0.ctx.sha1.states[27][0] = 0U;
  checkpoint___0.ctx.sha1.states[27][1] = 0U;
  checkpoint___0.ctx.sha1.states[27][2] = 0U;
  checkpoint___0.ctx.sha1.states[27][3] = 0U;
  checkpoint___0.ctx.sha1.states[27][4] = 0U;
  checkpoint___0.ctx.sha1.states[28][0] = 0U;
  checkpoint___0.ctx.sha1.states[28][1] = 0U;
  checkpoint___0.ctx.sha1.states[28][2] = 0U;
  checkpoint___0.ctx.sha1.states[28][3] = 0U;
  checkpoint___0.ctx.sha1.states[28][4] = 0U;
  checkpoint___0.ctx.sha1.states[29][0] = 0U;
  checkpoint___0.ctx.sha1.states[29][1] = 0U;
  checkpoint___0.ctx.sha1.states[29][2] = 0U;
  checkpoint___0.ctx.sha1.states[29][3] = 0U;
  checkpoint___0.ctx.sha1.states[29][4] = 0U;
  checkpoint___0.ctx.sha1.states[30][0] = 0U;
  checkpoint___0.ctx.sha1.states[30][1] = 0U;
  checkpoint___0.ctx.sha1.states[30][2] = 0U;
  checkpoint___0.ctx.sha1.states[30][3] = 0U;
  checkpoint___0.ctx.sha1.states[30][4] = 0U;
  checkpoint___0.ctx.sha1.states[31][0] = 0U;
  checkpoint___0.ctx.sha1.states[31][1] = 0U;
  checkpoint___0.ctx.sha1.states[31][2] = 0U;
  checkpoint___0.ctx.sha1.states[31][3] = 0U;
  checkpoint___0.ctx.sha1.states[31][4] = 0U;
  checkpoint___0.ctx.sha1.states[32][0] = 0U;
  checkpoint___0.ctx.sha1.states[32][1] = 0U;
  checkpoint___0.ctx.sha1.states[32][2] = 0U;
  checkpoint___0.ctx.sha1.states[32][3] = 0U;
  checkpoint___0.ctx.sha1.states[32][4] = 0U;
  checkpoint___0.ctx.sha1.states[33][0] = 0U;
  checkpoint___0.ctx.sha1.states[33][1] = 0U;
  checkpoint___0.ctx.sha1.states[33][2] = 0U;
  checkpoint___0.ctx.sha1.states[33][3] = 0U;
  checkpoint___0.ctx.sha1.states[33][4] = 0U;
  checkpoint___0.ctx.sha1.states[34][0] = 0U;
  checkpoint___0.ctx.sha1.states[34][1] = 0U;
  checkpoint___0.ctx.sha1.states[34][2] = 0U;
  checkpoint___0.ctx.sha1.states[34][3] = 0U;
  checkpoint___0.ctx.sha1.states[34][4] = 0U;
  checkpoint___0.ctx.sha1.states[35][0] = 0U;
  checkpoint___0.ctx.sha1.states[35][1] = 0U;
  checkpoint___0.ctx.sha1.states[35][2] = 0U;
  checkpoint___0.ctx.sha1.states[35][3] = 0U;
  checkpoint___0.ctx.sha1.states[35][4] = 0U;
  checkpoint___0.ctx.sha1.states[36][0] = 0U;
  checkpoint___0.ctx.sha1.states[36][1] = 0U;
  checkpoint___0.ctx.sha1.states[36][2] = 0U;
  checkpoint___0.ctx.sha1.states[36][3] = 0U;
  checkpoint___0.ctx.sha1.states[36][4] = 0U;
  checkpoint___0.ctx.sha1.states[37][0] = 0U;
  checkpoint___0.ctx.sha1.states[37][1] = 0U;
  checkpoint___0.ctx.sha1.states[37][2] = 0U;
  checkpoint___0.ctx.sha1.states[37][3] = 0U;
  checkpoint___0.ctx.sha1.states[37][4] = 0U;
  checkpoint___0.ctx.sha1.states[38][0] = 0U;
  checkpoint___0.ctx.sha1.states[38][1] = 0U;
  checkpoint___0.ctx.sha1.states[38][2] = 0U;
  checkpoint___0.ctx.sha1.states[38][3] = 0U;
  checkpoint___0.ctx.sha1.states[38][4] = 0U;
  checkpoint___0.ctx.sha1.states[39][0] = 0U;
  checkpoint___0.ctx.sha1.states[39][1] = 0U;
  checkpoint___0.ctx.sha1.states[39][2] = 0U;
  checkpoint___0.ctx.sha1.states[39][3] = 0U;
  checkpoint___0.ctx.sha1.states[39][4] = 0U;
  checkpoint___0.ctx.sha1.states[40][0] = 0U;
  checkpoint___0.ctx.sha1.states[40][1] = 0U;
  checkpoint___0.ctx.sha1.states[40][2] = 0U;
  checkpoint___0.ctx.sha1.states[40][3] = 0U;
  checkpoint___0.ctx.sha1.states[40][4] = 0U;
  checkpoint___0.ctx.sha1.states[41][0] = 0U;
  checkpoint___0.ctx.sha1.states[41][1] = 0U;
  checkpoint___0.ctx.sha1.states[41][2] = 0U;
  checkpoint___0.ctx.sha1.states[41][3] = 0U;
  checkpoint___0.ctx.sha1.states[41][4] = 0U;
  checkpoint___0.ctx.sha1.states[42][0] = 0U;
  checkpoint___0.ctx.sha1.states[42][1] = 0U;
  checkpoint___0.ctx.sha1.states[42][2] = 0U;
  checkpoint___0.ctx.sha1.states[42][3] = 0U;
  checkpoint___0.ctx.sha1.states[42][4] = 0U;
  checkpoint___0.ctx.sha1.states[43][0] = 0U;
  checkpoint___0.ctx.sha1.states[43][1] = 0U;
  checkpoint___0.ctx.sha1.states[43][2] = 0U;
  checkpoint___0.ctx.sha1.states[43][3] = 0U;
  checkpoint___0.ctx.sha1.states[43][4] = 0U;
  checkpoint___0.ctx.sha1.states[44][0] = 0U;
  checkpoint___0.ctx.sha1.states[44][1] = 0U;
  checkpoint___0.ctx.sha1.states[44][2] = 0U;
  checkpoint___0.ctx.sha1.states[44][3] = 0U;
  checkpoint___0.ctx.sha1.states[44][4] = 0U;
  checkpoint___0.ctx.sha1.states[45][0] = 0U;
  checkpoint___0.ctx.sha1.states[45][1] = 0U;
  checkpoint___0.ctx.sha1.states[45][2] = 0U;
  checkpoint___0.ctx.sha1.states[45][3] = 0U;
  checkpoint___0.ctx.sha1.states[45][4] = 0U;
  checkpoint___0.ctx.sha1.states[46][0] = 0U;
  checkpoint___0.ctx.sha1.states[46][1] = 0U;
  checkpoint___0.ctx.sha1.states[46][2] = 0U;
  checkpoint___0.ctx.sha1.states[46][3] = 0U;
  checkpoint___0.ctx.sha1.states[46][4] = 0U;
  checkpoint___0.ctx.sha1.states[47][0] = 0U;
  checkpoint___0.ctx.sha1.states[47][1] = 0U;
  checkpoint___0.ctx.sha1.states[47][2] = 0U;
  checkpoint___0.ctx.sha1.states[47][3] = 0U;
  checkpoint___0.ctx.sha1.states[47][4] = 0U;
  checkpoint___0.ctx.sha1.states[48][0] = 0U;
  checkpoint___0.ctx.sha1.states[48][1] = 0U;
  checkpoint___0.ctx.sha1.states[48][2] = 0U;
  checkpoint___0.ctx.sha1.states[48][3] = 0U;
  checkpoint___0.ctx.sha1.states[48][4] = 0U;
  checkpoint___0.ctx.sha1.states[49][0] = 0U;
  checkpoint___0.ctx.sha1.states[49][1] = 0U;
  checkpoint___0.ctx.sha1.states[49][2] = 0U;
  checkpoint___0.ctx.sha1.states[49][3] = 0U;
  checkpoint___0.ctx.sha1.states[49][4] = 0U;
  checkpoint___0.ctx.sha1.states[50][0] = 0U;
  checkpoint___0.ctx.sha1.states[50][1] = 0U;
  checkpoint___0.ctx.sha1.states[50][2] = 0U;
  checkpoint___0.ctx.sha1.states[50][3] = 0U;
  checkpoint___0.ctx.sha1.states[50][4] = 0U;
  checkpoint___0.ctx.sha1.states[51][0] = 0U;
  checkpoint___0.ctx.sha1.states[51][1] = 0U;
  checkpoint___0.ctx.sha1.states[51][2] = 0U;
  checkpoint___0.ctx.sha1.states[51][3] = 0U;
  checkpoint___0.ctx.sha1.states[51][4] = 0U;
  checkpoint___0.ctx.sha1.states[52][0] = 0U;
  checkpoint___0.ctx.sha1.states[52][1] = 0U;
  checkpoint___0.ctx.sha1.states[52][2] = 0U;
  checkpoint___0.ctx.sha1.states[52][3] = 0U;
  checkpoint___0.ctx.sha1.states[52][4] = 0U;
  checkpoint___0.ctx.sha1.states[53][0] = 0U;
  checkpoint___0.ctx.sha1.states[53][1] = 0U;
  checkpoint___0.ctx.sha1.states[53][2] = 0U;
  checkpoint___0.ctx.sha1.states[53][3] = 0U;
  checkpoint___0.ctx.sha1.states[53][4] = 0U;
  checkpoint___0.ctx.sha1.states[54][0] = 0U;
  checkpoint___0.ctx.sha1.states[54][1] = 0U;
  checkpoint___0.ctx.sha1.states[54][2] = 0U;
  checkpoint___0.ctx.sha1.states[54][3] = 0U;
  checkpoint___0.ctx.sha1.states[54][4] = 0U;
  checkpoint___0.ctx.sha1.states[55][0] = 0U;
  checkpoint___0.ctx.sha1.states[55][1] = 0U;
  checkpoint___0.ctx.sha1.states[55][2] = 0U;
  checkpoint___0.ctx.sha1.states[55][3] = 0U;
  checkpoint___0.ctx.sha1.states[55][4] = 0U;
  checkpoint___0.ctx.sha1.states[56][0] = 0U;
  checkpoint___0.ctx.sha1.states[56][1] = 0U;
  checkpoint___0.ctx.sha1.states[56][2] = 0U;
  checkpoint___0.ctx.sha1.states[56][3] = 0U;
  checkpoint___0.ctx.sha1.states[56][4] = 0U;
  checkpoint___0.ctx.sha1.states[57][0] = 0U;
  checkpoint___0.ctx.sha1.states[57][1] = 0U;
  checkpoint___0.ctx.sha1.states[57][2] = 0U;
  checkpoint___0.ctx.sha1.states[57][3] = 0U;
  checkpoint___0.ctx.sha1.states[57][4] = 0U;
  checkpoint___0.ctx.sha1.states[58][0] = 0U;
  checkpoint___0.ctx.sha1.states[58][1] = 0U;
  checkpoint___0.ctx.sha1.states[58][2] = 0U;
  checkpoint___0.ctx.sha1.states[58][3] = 0U;
  checkpoint___0.ctx.sha1.states[58][4] = 0U;
  checkpoint___0.ctx.sha1.states[59][0] = 0U;
  checkpoint___0.ctx.sha1.states[59][1] = 0U;
  checkpoint___0.ctx.sha1.states[59][2] = 0U;
  checkpoint___0.ctx.sha1.states[59][3] = 0U;
  checkpoint___0.ctx.sha1.states[59][4] = 0U;
  checkpoint___0.ctx.sha1.states[60][0] = 0U;
  checkpoint___0.ctx.sha1.states[60][1] = 0U;
  checkpoint___0.ctx.sha1.states[60][2] = 0U;
  checkpoint___0.ctx.sha1.states[60][3] = 0U;
  checkpoint___0.ctx.sha1.states[60][4] = 0U;
  checkpoint___0.ctx.sha1.states[61][0] = 0U;
  checkpoint___0.ctx.sha1.states[61][1] = 0U;
  checkpoint___0.ctx.sha1.states[61][2] = 0U;
  checkpoint___0.ctx.sha1.states[61][3] = 0U;
  checkpoint___0.ctx.sha1.states[61][4] = 0U;
  checkpoint___0.ctx.sha1.states[62][0] = 0U;
  checkpoint___0.ctx.sha1.states[62][1] = 0U;
  checkpoint___0.ctx.sha1.states[62][2] = 0U;
  checkpoint___0.ctx.sha1.states[62][3] = 0U;
  checkpoint___0.ctx.sha1.states[62][4] = 0U;
  checkpoint___0.ctx.sha1.states[63][0] = 0U;
  checkpoint___0.ctx.sha1.states[63][1] = 0U;
  checkpoint___0.ctx.sha1.states[63][2] = 0U;
  checkpoint___0.ctx.sha1.states[63][3] = 0U;
  checkpoint___0.ctx.sha1.states[63][4] = 0U;
  checkpoint___0.ctx.sha1.states[64][0] = 0U;
  checkpoint___0.ctx.sha1.states[64][1] = 0U;
  checkpoint___0.ctx.sha1.states[64][2] = 0U;
  checkpoint___0.ctx.sha1.states[64][3] = 0U;
  checkpoint___0.ctx.sha1.states[64][4] = 0U;
  checkpoint___0.ctx.sha1.states[65][0] = 0U;
  checkpoint___0.ctx.sha1.states[65][1] = 0U;
  checkpoint___0.ctx.sha1.states[65][2] = 0U;
  checkpoint___0.ctx.sha1.states[65][3] = 0U;
  checkpoint___0.ctx.sha1.states[65][4] = 0U;
  checkpoint___0.ctx.sha1.states[66][0] = 0U;
  checkpoint___0.ctx.sha1.states[66][1] = 0U;
  checkpoint___0.ctx.sha1.states[66][2] = 0U;
  checkpoint___0.ctx.sha1.states[66][3] = 0U;
  checkpoint___0.ctx.sha1.states[66][4] = 0U;
  checkpoint___0.ctx.sha1.states[67][0] = 0U;
  checkpoint___0.ctx.sha1.states[67][1] = 0U;
  checkpoint___0.ctx.sha1.states[67][2] = 0U;
  checkpoint___0.ctx.sha1.states[67][3] = 0U;
  checkpoint___0.ctx.sha1.states[67][4] = 0U;
  checkpoint___0.ctx.sha1.states[68][0] = 0U;
  checkpoint___0.ctx.sha1.states[68][1] = 0U;
  checkpoint___0.ctx.sha1.states[68][2] = 0U;
  checkpoint___0.ctx.sha1.states[68][3] = 0U;
  checkpoint___0.ctx.sha1.states[68][4] = 0U;
  checkpoint___0.ctx.sha1.states[69][0] = 0U;
  checkpoint___0.ctx.sha1.states[69][1] = 0U;
  checkpoint___0.ctx.sha1.states[69][2] = 0U;
  checkpoint___0.ctx.sha1.states[69][3] = 0U;
  checkpoint___0.ctx.sha1.states[69][4] = 0U;
  checkpoint___0.ctx.sha1.states[70][0] = 0U;
  checkpoint___0.ctx.sha1.states[70][1] = 0U;
  checkpoint___0.ctx.sha1.states[70][2] = 0U;
  checkpoint___0.ctx.sha1.states[70][3] = 0U;
  checkpoint___0.ctx.sha1.states[70][4] = 0U;
  checkpoint___0.ctx.sha1.states[71][0] = 0U;
  checkpoint___0.ctx.sha1.states[71][1] = 0U;
  checkpoint___0.ctx.sha1.states[71][2] = 0U;
  checkpoint___0.ctx.sha1.states[71][3] = 0U;
  checkpoint___0.ctx.sha1.states[71][4] = 0U;
  checkpoint___0.ctx.sha1.states[72][0] = 0U;
  checkpoint___0.ctx.sha1.states[72][1] = 0U;
  checkpoint___0.ctx.sha1.states[72][2] = 0U;
  checkpoint___0.ctx.sha1.states[72][3] = 0U;
  checkpoint___0.ctx.sha1.states[72][4] = 0U;
  checkpoint___0.ctx.sha1.states[73][0] = 0U;
  checkpoint___0.ctx.sha1.states[73][1] = 0U;
  checkpoint___0.ctx.sha1.states[73][2] = 0U;
  checkpoint___0.ctx.sha1.states[73][3] = 0U;
  checkpoint___0.ctx.sha1.states[73][4] = 0U;
  checkpoint___0.ctx.sha1.states[74][0] = 0U;
  checkpoint___0.ctx.sha1.states[74][1] = 0U;
  checkpoint___0.ctx.sha1.states[74][2] = 0U;
  checkpoint___0.ctx.sha1.states[74][3] = 0U;
  checkpoint___0.ctx.sha1.states[74][4] = 0U;
  checkpoint___0.ctx.sha1.states[75][0] = 0U;
  checkpoint___0.ctx.sha1.states[75][1] = 0U;
  checkpoint___0.ctx.sha1.states[75][2] = 0U;
  checkpoint___0.ctx.sha1.states[75][3] = 0U;
  checkpoint___0.ctx.sha1.states[75][4] = 0U;
  checkpoint___0.ctx.sha1.states[76][0] = 0U;
  checkpoint___0.ctx.sha1.states[76][1] = 0U;
  checkpoint___0.ctx.sha1.states[76][2] = 0U;
  checkpoint___0.ctx.sha1.states[76][3] = 0U;
  checkpoint___0.ctx.sha1.states[76][4] = 0U;
  checkpoint___0.ctx.sha1.states[77][0] = 0U;
  checkpoint___0.ctx.sha1.states[77][1] = 0U;
  checkpoint___0.ctx.sha1.states[77][2] = 0U;
  checkpoint___0.ctx.sha1.states[77][3] = 0U;
  checkpoint___0.ctx.sha1.states[77][4] = 0U;
  checkpoint___0.ctx.sha1.states[78][0] = 0U;
  checkpoint___0.ctx.sha1.states[78][1] = 0U;
  checkpoint___0.ctx.sha1.states[78][2] = 0U;
  checkpoint___0.ctx.sha1.states[78][3] = 0U;
  checkpoint___0.ctx.sha1.states[78][4] = 0U;
  checkpoint___0.ctx.sha1.states[79][0] = 0U;
  checkpoint___0.ctx.sha1.states[79][1] = 0U;
  checkpoint___0.ctx.sha1.states[79][2] = 0U;
  checkpoint___0.ctx.sha1.states[79][3] = 0U;
  checkpoint___0.ctx.sha1.states[79][4] = 0U;
  idx___0 = (struct pack_idx_entry *)((void *)0);
  seekback = lseek(fd, (__off_t )0, 1);
  if (seekback == -1L) {
    error((char const   *)"cannot find the current offset");
    tmp = const_error();
    return (tmp);
  }
  tmp___0 = type_name((unsigned int )type___0);
  tmp___1 = xsnprintf((char *)(obuf), sizeof(obuf), (char const   *)"%s %lu", tmp___0,
                      size);
  header_len = (unsigned int )(tmp___1 + 1);
  (*((the_repository->hash_algo)->init_fn))(& ctx___0);
  (*((the_repository->hash_algo)->update_fn))(& ctx___0, (void const   *)(obuf), (size_t )header_len);
  if ((flags___0 & 1U) != 0U) {
    tmp___2 = xcalloc((size_t )1, sizeof(*idx___0));
    idx___0 = (struct pack_idx_entry *)tmp___2;
  }
  already_hashed_to = (off_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    prepare_to_stream(state___1, flags___0);
    if (idx___0) {
      hashfile_checkpoint(state___1->f, & checkpoint___0);
      idx___0->offset = state___1->offset;
      crc32_begin(state___1->f);
    }
    tmp___3 = stream_to_pack(state___1, & ctx___0, & already_hashed_to, fd, size,
                             type___0, path___6, flags___0);
    if (! tmp___3) {
      goto while_break;
    }
    if (! idx___0) {
      BUG_fl((char const   *)"bulk-checkin.c", 250, (char const   *)"should not happen");
    }
    hashfile_truncate(state___1->f, & checkpoint___0);
    state___1->offset = checkpoint___0.offset;
    finish_bulk_checkin(state___1);
    tmp___5 = lseek(fd, seekback, 0);
    if (tmp___5 == -1L) {
      error((char const   *)"cannot seek back");
      tmp___4 = const_error();
      return (tmp___4);
    }
  }
  while_break: /* CIL Label */ ;
  }
  (*((the_repository->hash_algo)->final_oid_fn))(result_oid, & ctx___0);
  if (! idx___0) {
    return (0);
  }
  idx___0->crc32 = crc32_end(state___1->f);
  tmp___9 = already_written(state___1, result_oid);
  if (tmp___9) {
    hashfile_truncate(state___1->f, & checkpoint___0);
    state___1->offset = checkpoint___0.offset;
    free((void *)idx___0);
  } else {
    oidcpy(& idx___0->oid, (struct object_id  const  *)result_oid);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (state___1->nr_written + 1U > state___1->alloc_written) {
        if (((state___1->alloc_written + 16U) * 3U) / 2U < state___1->nr_written + 1U) {
          state___1->alloc_written = state___1->nr_written + 1U;
        } else {
          state___1->alloc_written = ((state___1->alloc_written + 16U) * 3U) / 2U;
        }
        tmp___6 = st_mult(sizeof(*(state___1->written)), (size_t )state___1->alloc_written);
        tmp___7 = xrealloc((void *)state___1->written, tmp___6);
        state___1->written = (struct pack_idx_entry **)tmp___7;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___8 = state___1->nr_written;
    (state___1->nr_written) ++;
    *(state___1->written + tmp___8) = idx___0;
  }
  return (0);
}
}
int index_bulk_checkin(struct object_id *oid , int fd , size_t size , enum object_type type___0 ,
                       char const   *path___6 , unsigned int flags___0 )
{
  int status ;
  int tmp ;

  {
  tmp = deflate_to_pack(& state, oid, fd, size, type___0, path___6, flags___0);
  status = tmp;
  if (! state.plugged) {
    finish_bulk_checkin(& state);
  }
  return (status);
}
}
void plug_bulk_checkin(void)
{


  {
  state.plugged = 1U;
  return;
}
}
void unplug_bulk_checkin(void)
{


  {
  state.plugged = 0U;
  if (state.f) {
    finish_bulk_checkin(& state);
  }
  return;
}
}
void bundle_header_init(struct bundle_header *header___0 ) ;
void bundle_header_release(struct bundle_header *header___0 ) ;
int is_bundle(char const   *path___6 , int quiet___7 ) ;
int read_bundle_header(char const   *path___6 , struct bundle_header *header___0 ) ;
int create_bundle(struct repository *r , char const   *path___6 , int argc , char const   **argv___0 ,
                  struct strvec *pack_options , int version___0 ) ;
int verify_bundle(struct repository *r , struct bundle_header *header___0 , int verbose___15 ) ;
int unbundle(struct repository *r , struct bundle_header *header___0 , int bundle_fd ,
             struct strvec *extra_index_pack_args ) ;
int list_bundle_refs(struct bundle_header *header___0 , int argc , char const   **argv___0 ) ;
static double const   __ac_HASH_UPPER___12  =    (double const   )0.77;
__inline static void kh_resize_oid_set___12(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___12(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___12 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___12 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___12(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___12(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___12(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___12(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___12(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___12(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___12 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___12 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___12(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___12(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___12(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___12(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___12(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___12(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___12 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___12 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___12(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___12(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___12(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___12(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___9(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___9(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___12 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___12 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___9(kh_odb_path_map_t *h , char const   *key___1 ,
                                                int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___9(kh_odb_path_map_t *h , char const   *key___1 ,
                                                int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___9(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___9(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   v2_bundle_signature[17]  =
  {      (char const   )'#',      (char const   )' ',      (char const   )'v',      (char const   )'2',
        (char const   )' ',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'b',      (char const   )'u',      (char const   )'n',
        (char const   )'d',      (char const   )'l',      (char const   )'e',      (char const   )'\n',
        (char const   )'\000'};
static char const   v3_bundle_signature[17]  =
  {      (char const   )'#',      (char const   )' ',      (char const   )'v',      (char const   )'3',
        (char const   )' ',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'b',      (char const   )'u',      (char const   )'n',
        (char const   )'d',      (char const   )'l',      (char const   )'e',      (char const   )'\n',
        (char const   )'\000'};
static struct __anonstruct_bundle_sigs_1051001068 bundle_sigs[2]  = {      {2, v2_bundle_signature},
        {3, v3_bundle_signature}};
void bundle_header_init(struct bundle_header *header___0 )
{
  struct bundle_header blank___1 ;

  {
  blank___1.version = 0U;
  blank___1.prerequisites.items = (struct string_list_item *)0;
  blank___1.prerequisites.nr = 0U;
  blank___1.prerequisites.alloc = 0U;
  blank___1.prerequisites.strdup_strings = 1U;
  blank___1.prerequisites.cmp = (int (*)(char const   * , char const   * ))0;
  blank___1.references.items = (struct string_list_item *)0;
  blank___1.references.nr = 0U;
  blank___1.references.alloc = 0U;
  blank___1.references.strdup_strings = 1U;
  blank___1.references.cmp = (int (*)(char const   * , char const   * ))0;
  blank___1.hash_algo = (struct git_hash_algo  const  *)0;
  memcpy((void *)header___0, (void const   *)(& blank___1), sizeof(*header___0));
  return;
}
}
void bundle_header_release(struct bundle_header *header___0 )
{


  {
  string_list_clear(& header___0->prerequisites, 1);
  string_list_clear(& header___0->references, 1);
  return;
}
}
static int parse_capability(struct bundle_header *header___0 , char const   *capability )
{
  char const   *arg ;
  int algo ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  tmp___2 = skip_prefix(capability, (char const   *)"object-format=", & arg);
  if (tmp___2) {
    tmp = hash_algo_by_name(arg);
    algo = tmp;
    if (algo == 0) {
      tmp___0 = _((char const   *)"unrecognized bundle hash algorithm: %s");
      error((char const   *)tmp___0, arg);
      tmp___1 = const_error();
      return (tmp___1);
    }
    header___0->hash_algo = & hash_algos[algo];
    return (0);
  }
  tmp___3 = _((char const   *)"unknown capability \'%s\'");
  error((char const   *)tmp___3, capability);
  tmp___4 = const_error();
  return (tmp___4);
}
}
static int parse_bundle_signature(struct bundle_header *header___0 , char const   *line___0 )
{
  int i ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(bundle_sigs) / sizeof(bundle_sigs[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp = strcmp(line___0, bundle_sigs[i].signature);
    if (! tmp) {
      header___0->version = (unsigned int )bundle_sigs[i].version;
      return (0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (-1);
}
}
static int parse_bundle_header(int fd , struct bundle_header *header___0 , char const   *report_path )
{
  struct strbuf buf___19 ;
  int status ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct object_id oid ;
  int is_prereq ;
  char const   *p___0 ;
  int tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  struct object_id *dup___0 ;
  struct object_id *tmp___5 ;
  struct string_list_item *tmp___6 ;
  struct string_list_item *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  status = 0;
  tmp___0 = strbuf_getwholeline_fd(& buf___19, fd, '\n');
  if (tmp___0) {
    goto _L;
  } else {
    tmp___1 = parse_bundle_signature(header___0, (char const   *)buf___19.buf);
    if (tmp___1) {
      _L: /* CIL Label */
      if (report_path) {
        tmp = _((char const   *)"\'%s\' does not look like a v2 or v3 bundle file");
        error((char const   *)tmp, report_path);
        const_error();
      }
      status = -1;
      goto abort;
    }
  }
  header___0->hash_algo = the_repository->hash_algo;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___9 = strbuf_getwholeline_fd(& buf___19, fd, '\n');
    if (tmp___9) {
      goto while_break;
    } else
    if (buf___19.len) {
      if (! ((int )*(buf___19.buf + 0) != 10)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    is_prereq = 0;
    strbuf_rtrim(& buf___19);
    if (header___0->version == 3U) {
      if ((int )*(buf___19.buf) == 64) {
        tmp___2 = parse_capability(header___0, (char const   *)(buf___19.buf + 1));
        if (tmp___2) {
          status = -1;
          goto while_break;
        }
        goto while_continue;
      }
    }
    if ((int )*(buf___19.buf) == 45) {
      is_prereq = 1;
      strbuf_remove(& buf___19, (size_t )0, (size_t )1);
    }
    tmp___8 = parse_oid_hex_algop((char const   *)buf___19.buf, & oid, & p___0, header___0->hash_algo);
    if (tmp___8) {
      goto _L___0;
    } else
    if (*p___0) {
      if (! (((int const   )sane_ctype[(unsigned char )*p___0] & 1) != 0)) {
        goto _L___0;
      } else {
        goto _L___2;
      }
    } else
    _L___2: /* CIL Label */
    if (! is_prereq) {
      if (! *p___0) {
        _L___0: /* CIL Label */
        if (report_path) {
          if (is_prereq) {
            tmp___3 = "-";
          } else {
            tmp___3 = "";
          }
          tmp___4 = _((char const   *)"unrecognized header: %s%s (%d)");
          error((char const   *)tmp___4, tmp___3, buf___19.buf, (int )buf___19.len);
          const_error();
        }
        status = -1;
        goto while_break;
      } else {
        goto _L___1;
      }
    } else {
      _L___1: /* CIL Label */
      tmp___5 = oiddup((struct object_id  const  *)(& oid));
      dup___0 = tmp___5;
      if (is_prereq) {
        tmp___6 = string_list_append(& header___0->prerequisites, (char const   *)"");
        tmp___6->util = (void *)dup___0;
      } else {
        tmp___7 = string_list_append(& header___0->references, p___0 + 1);
        tmp___7->util = (void *)dup___0;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  abort:
  if (status) {
    close(fd);
    fd = -1;
  }
  strbuf_release(& buf___19);
  return (fd);
}
}
int read_bundle_header(char const   *path___6 , struct bundle_header *header___0 )
{
  int fd ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = open(path___6, 00);
  fd = tmp;
  if (fd < 0) {
    tmp___0 = _((char const   *)"could not open \'%s\'");
    error((char const   *)tmp___0, path___6);
    tmp___1 = const_error();
    return (tmp___1);
  }
  tmp___2 = parse_bundle_header(fd, header___0, path___6);
  return (tmp___2);
}
}
int is_bundle(char const   *path___6 , int quiet___7 )
{
  struct bundle_header header___0 ;
  int fd ;
  int tmp ;
  char const   *tmp___0 ;

  {
  header___0.version = 0U;
  header___0.prerequisites.items = (struct string_list_item *)0;
  header___0.prerequisites.nr = 0U;
  header___0.prerequisites.alloc = 0U;
  header___0.prerequisites.strdup_strings = 1U;
  header___0.prerequisites.cmp = (int (*)(char const   * , char const   * ))0;
  header___0.references.items = (struct string_list_item *)0;
  header___0.references.nr = 0U;
  header___0.references.alloc = 0U;
  header___0.references.strdup_strings = 1U;
  header___0.references.cmp = (int (*)(char const   * , char const   * ))0;
  header___0.hash_algo = (struct git_hash_algo  const  *)0;
  tmp = open(path___6, 00);
  fd = tmp;
  if (fd < 0) {
    return (0);
  }
  if (quiet___7) {
    tmp___0 = (char const   *)((void *)0);
  } else {
    tmp___0 = path___6;
  }
  fd = parse_bundle_header(fd, & header___0, tmp___0);
  if (fd >= 0) {
    close(fd);
  }
  bundle_header_release(& header___0);
  return (fd >= 0);
}
}
static int list_refs(struct string_list *r , int argc , char const   **argv___0 )
{
  int i ;
  struct object_id *oid ;
  char const   *name___0 ;
  int j ;
  int tmp ;
  char *tmp___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < r->nr)) {
      goto while_break;
    }
    if (argc > 1) {
      j = 1;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (j < argc)) {
          goto while_break___0;
        }
        tmp = strcmp((char const   *)(r->items + i)->string, *(argv___0 + j));
        if (! tmp) {
          goto while_break___0;
        }
        j ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      if (j == argc) {
        goto __Cont;
      }
    }
    oid = (struct object_id *)(r->items + i)->util;
    name___0 = (char const   *)(r->items + i)->string;
    tmp___0 = oid_to_hex((struct object_id  const  *)oid);
    printf((char const   *)"%s %s\n", tmp___0, name___0);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int verify_bundle(struct repository *r , struct bundle_header *header___0 , int verbose___15 )
{
  struct string_list *p___0 ;
  struct rev_info revs ;
  char const   *argv___0[3] ;
  struct commit *commit ;
  int i ;
  int ret___67 ;
  int req_nr ;
  char const   *message___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  struct string_list_item *e ;
  char const   *name___0 ;
  struct object_id *oid ;
  struct object *o ;
  struct object *tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  struct string_list_item *e___0 ;
  char const   *name___1 ;
  struct object_id  const  *oid___0 ;
  struct object *o___0 ;
  struct object *tmp___6 ;
  char *tmp___7 ;
  struct string_list_item *e___1 ;
  struct object_id *oid___1 ;
  struct string_list *r___0 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___10 ;

  {
  p___0 = & header___0->prerequisites;
  argv___0[0] = (char const   *)((void *)0);
  argv___0[1] = (char const   *)"--all";
  argv___0[2] = (char const   *)((void *)0);
  ret___67 = 0;
  tmp = _((char const   *)"Repository lacks these prerequisite commits:");
  message___0 = (char const   *)tmp;
  if (! r) {
    tmp___0 = _((char const   *)"need a repository to verify a bundle");
    error((char const   *)tmp___0);
    tmp___1 = const_error();
    return (tmp___1);
  } else
  if (! r->objects) {
    tmp___0 = _((char const   *)"need a repository to verify a bundle");
    error((char const   *)tmp___0);
    tmp___1 = const_error();
    return (tmp___1);
  } else
  if (! (r->objects)->odb) {
    tmp___0 = _((char const   *)"need a repository to verify a bundle");
    error((char const   *)tmp___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  repo_init_revisions(r, & revs, (char const   *)((void *)0));
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < p___0->nr)) {
      goto while_break;
    }
    e = p___0->items + i;
    name___0 = (char const   *)e->string;
    oid = (struct object_id *)e->util;
    tmp___2 = parse_object(r, (struct object_id  const  *)oid);
    o = tmp___2;
    if (o) {
      o->flags |= 1u << 16;
      add_pending_object(& revs, o, name___0);
      goto __Cont;
    }
    ret___67 ++;
    if (ret___67 == 1) {
      error((char const   *)"%s", message___0);
      const_error();
    }
    tmp___3 = oid_to_hex((struct object_id  const  *)oid);
    error((char const   *)"%s %s", tmp___3, name___0);
    const_error();
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (revs.pending.nr != p___0->nr) {
    return (ret___67);
  }
  req_nr = (int )revs.pending.nr;
  setup_revisions(2, argv___0, & revs, (struct setup_revision_opt *)((void *)0));
  tmp___5 = prepare_revision_walk(& revs);
  if (tmp___5) {
    tmp___4 = _((char const   *)"revision walk setup failed");
    die((char const   *)tmp___4);
  }
  i = req_nr;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (i) {
      commit = get_revision(& revs);
      if (! commit) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    if (commit->object.flags & (1u << 16)) {
      i --;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned int )i < p___0->nr)) {
      goto while_break___1;
    }
    e___0 = p___0->items + i;
    name___1 = (char const   *)e___0->string;
    oid___0 = (struct object_id  const  *)e___0->util;
    tmp___6 = parse_object(r, oid___0);
    o___0 = tmp___6;
    assert((int )o___0);
    if (o___0->flags & (1u << 3)) {
      goto __Cont___0;
    }
    ret___67 ++;
    if (ret___67 == 1) {
      error((char const   *)"%s", message___0);
      const_error();
    }
    tmp___7 = oid_to_hex(oid___0);
    error((char const   *)"%s %s", tmp___7, name___1);
    const_error();
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((unsigned int )i < p___0->nr)) {
      goto while_break___2;
    }
    e___1 = p___0->items + i;
    oid___1 = (struct object_id *)e___1->util;
    commit = lookup_commit_reference_gently(r, (struct object_id  const  *)oid___1,
                                            1);
    if (commit) {
      clear_commit_marks(commit, ((((1u << 11) - 1U) | (1u << 25)) | (1u << 26)) | (1u << 15));
    }
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  if (verbose___15) {
    r___0 = & header___0->references;
    tmp___8 = Q_((char const   *)"The bundle contains this ref:", (char const   *)"The bundle contains these %d refs:",
                 (unsigned long )r___0->nr);
    printf_ln((char const   *)tmp___8, r___0->nr);
    list_refs(r___0, 0, (char const   **)((void *)0));
    r___0 = & header___0->prerequisites;
    if (! r___0->nr) {
      tmp___9 = _((char const   *)"The bundle records a complete history.");
      printf_ln((char const   *)tmp___9);
    } else {
      tmp___10 = Q_((char const   *)"The bundle requires this ref:", (char const   *)"The bundle requires these %d refs:",
                    (unsigned long )r___0->nr);
      printf_ln((char const   *)tmp___10, r___0->nr);
      list_refs(r___0, 0, (char const   **)((void *)0));
    }
  }
  return (ret___67);
}
}
int list_bundle_refs(struct bundle_header *header___0 , int argc , char const   **argv___0 )
{
  int tmp ;

  {
  tmp = list_refs(& header___0->references, argc, argv___0);
  return (tmp);
}
}
static int is_tag_in_date_range(struct object *tag , struct rev_info *revs )
{
  unsigned long size ;
  enum object_type type___0 ;
  char *buf___19 ;
  char *line___0 ;
  char *lineend ;
  timestamp_t date ;
  int result___0 ;
  void *tmp ;
  void *tmp___0 ;
  char *tmp___1 ;
  void *tmp___2 ;
  long tmp___3 ;
  void *tmp___4 ;
  char *tmp___5 ;
  int tmp___6 ;

  {
  buf___19 = (char *)((void *)0);
  result___0 = 1;
  if (revs->max_age == 18446744073709551615UL) {
    if (revs->min_age == 18446744073709551615UL) {
      goto out;
    }
  }
  tmp = repo_read_object_file(the_repository, (struct object_id  const  *)(& tag->oid),
                              & type___0, & size);
  buf___19 = (char *)tmp;
  if (! buf___19) {
    goto out;
  }
  tmp___0 = memmem((void const   *)buf___19, size, (void const   *)"\ntagger ", (size_t )8);
  line___0 = (char *)tmp___0;
  tmp___1 = line___0;
  line___0 ++;
  if (! tmp___1) {
    goto out;
  }
  tmp___2 = memchr((void const   *)line___0, '\n', (size_t )((buf___19 + size) - line___0));
  lineend = (char *)tmp___2;
  if (lineend) {
    tmp___3 = lineend - line___0;
  } else {
    tmp___3 = (buf___19 + size) - line___0;
  }
  tmp___4 = memchr((void const   *)line___0, '>', (size_t )tmp___3);
  line___0 = (char *)tmp___4;
  tmp___5 = line___0;
  line___0 ++;
  if (! tmp___5) {
    goto out;
  }
  date = strtoumax((char const   *)line___0, (char **)((void *)0), 10);
  if (revs->max_age == 18446744073709551615UL) {
    goto _L;
  } else
  if (revs->max_age < date) {
    _L: /* CIL Label */
    if (revs->min_age == 18446744073709551615UL) {
      tmp___6 = 1;
    } else
    if (revs->min_age > date) {
      tmp___6 = 1;
    } else {
      tmp___6 = 0;
    }
  } else {
    tmp___6 = 0;
  }
  result___0 = tmp___6;
  out:
  free((void *)buf___19);
  return (result___0);
}
}
static int write_pack_data(int bundle_fd , struct rev_info *revs , struct strvec *pack_options )
{
  struct child_process pack_objects___0 ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  struct object *object ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  pack_objects___0.args.v = empty_strvec;
  pack_objects___0.args.nr = 0UL;
  pack_objects___0.args.alloc = 0UL;
  pack_objects___0.env_array.v = empty_strvec;
  pack_objects___0.env_array.nr = 0UL;
  pack_objects___0.env_array.alloc = 0UL;
  pack_objects___0.pid = 0;
  pack_objects___0.trace2_child_id = 0;
  pack_objects___0.trace2_child_us_start = 0UL;
  pack_objects___0.trace2_child_class = (char const   *)0;
  pack_objects___0.trace2_hook_name = (char const   *)0;
  pack_objects___0.in = 0;
  pack_objects___0.out = 0;
  pack_objects___0.err = 0;
  pack_objects___0.dir = (char const   *)0;
  pack_objects___0.no_stdin = 0U;
  pack_objects___0.no_stdout = 0U;
  pack_objects___0.no_stderr = 0U;
  pack_objects___0.git_cmd = 0U;
  pack_objects___0.silent_exec_failure = 0U;
  pack_objects___0.use_shell = 0U;
  pack_objects___0.close_object_store = 0U;
  pack_objects___0.stdout_to_stderr = 0U;
  pack_objects___0.clean_on_exit = 0U;
  pack_objects___0.wait_after_clean = 0U;
  pack_objects___0.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  pack_objects___0.clean_on_exit_handler_cbdata = (void *)0;
  strvec_pushl(& pack_objects___0.args, "pack-objects", "--stdout", "--thin", "--delta-base-offset",
               (void *)0);
  strvec_pushv(& pack_objects___0.args, pack_options->v);
  pack_objects___0.in = -1;
  pack_objects___0.out = bundle_fd;
  pack_objects___0.git_cmd = 1U;
  if (pack_objects___0.out > 1) {
    pack_objects___0.out = dup(pack_objects___0.out);
    if (pack_objects___0.out < 0) {
      tmp = _((char const   *)"unable to dup bundle descriptor");
      error_errno((char const   *)tmp);
      const_error();
      child_process_clear(& pack_objects___0);
      return (-1);
    }
  }
  tmp___2 = start_command(& pack_objects___0);
  if (tmp___2) {
    tmp___0 = _((char const   *)"Could not spawn pack-objects");
    error((char const   *)tmp___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < revs->pending.nr)) {
      goto while_break;
    }
    object = (revs->pending.objects + i)->item;
    if (object->flags & (1u << 1)) {
      write_or_die(pack_objects___0.in, (void const   *)"^", (size_t )1);
    }
    tmp___3 = oid_to_hex((struct object_id  const  *)(& object->oid));
    write_or_die(pack_objects___0.in, (void const   *)tmp___3, (size_t )(the_repository->hash_algo)->hexsz);
    write_or_die(pack_objects___0.in, (void const   *)"\n", (size_t )1);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  close(pack_objects___0.in);
  tmp___6 = finish_command(& pack_objects___0);
  if (tmp___6) {
    tmp___4 = _((char const   *)"pack-objects died");
    error((char const   *)tmp___4);
    tmp___5 = const_error();
    return (tmp___5);
  }
  return (0);
}
}
static int write_bundle_refs(int bundle_fd , struct rev_info *revs )
{
  int i ;
  int ref_count ;
  struct object_array_entry *e ;
  struct object_id oid ;
  char *ref ;
  char const   *display_ref ;
  int flag ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  struct commit *one___0 ;
  struct commit *tmp___4 ;
  struct object *obj ;
  int tmp___5 ;
  char *tmp___6 ;
  size_t tmp___7 ;

  {
  ref_count = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < revs->pending.nr)) {
      goto while_break;
    }
    e = revs->pending.objects + i;
    if ((e->item)->flags & (1u << 1)) {
      goto __Cont;
    }
    tmp = strlen((char const   *)e->name);
    tmp___0 = dwim_ref((char const   *)e->name, (int )tmp, & oid, & ref, 0);
    if (tmp___0 != 1) {
      goto skip_write_ref;
    }
    tmp___1 = read_ref_full((char const   *)e->name, 0x01, & oid, & flag);
    if (tmp___1) {
      flag = 0;
    }
    if (flag & 0x01) {
      display_ref = (char const   *)e->name;
    } else {
      display_ref = (char const   *)ref;
    }
    if ((e->item)->type == 4U) {
      tmp___2 = is_tag_in_date_range(e->item, revs);
      if (! tmp___2) {
        (e->item)->flags |= 1u << 1;
        goto skip_write_ref;
      }
    }
    if (! ((e->item)->flags & (1u << 3))) {
      if ((e->item)->type == 1U) {
        tmp___3 = _((char const   *)"ref \'%s\' is excluded by the rev-list options");
        warning((char const   *)tmp___3, e->name);
        goto skip_write_ref;
      }
    }
    tmp___5 = oideq((struct object_id  const  *)(& oid), (struct object_id  const  *)(& (e->item)->oid));
    if (! tmp___5) {
      tmp___4 = lookup_commit_reference(revs->repo, (struct object_id  const  *)(& oid));
      one___0 = tmp___4;
      if ((unsigned long )e->item == (unsigned long )(& one___0->object)) {
        obj = parse_object_or_die((struct object_id  const  *)(& oid), (char const   *)e->name);
        obj->flags |= 1u << 3;
        add_pending_object(revs, obj, (char const   *)e->name);
      }
      goto skip_write_ref;
    }
    ref_count ++;
    tmp___6 = oid_to_hex((struct object_id  const  *)(& (e->item)->oid));
    write_or_die(bundle_fd, (void const   *)tmp___6, (size_t )(the_repository->hash_algo)->hexsz);
    write_or_die(bundle_fd, (void const   *)" ", (size_t )1);
    tmp___7 = strlen(display_ref);
    write_or_die(bundle_fd, (void const   *)display_ref, tmp___7);
    write_or_die(bundle_fd, (void const   *)"\n", (size_t )1);
    skip_write_ref:
    free((void *)ref);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  write_or_die(bundle_fd, (void const   *)"\n", (size_t )1);
  return (ref_count);
}
}
static void write_bundle_prerequisites(struct commit *commit , void *data )
{
  struct bundle_prerequisites_info *bpi ;
  struct object *object ;
  struct pretty_print_context ctx___0 ;
  struct strbuf buf___19 ;
  char *tmp ;

  {
  bpi = (struct bundle_prerequisites_info *)data;
  ctx___0.fmt = (enum cmit_fmt )0;
  ctx___0.abbrev = 0;
  ctx___0.after_subject = (char const   *)0;
  ctx___0.preserve_subject = 0;
  ctx___0.date_mode.type = 0U;
  ctx___0.date_mode.strftime_fmt = (char const   *)0;
  ctx___0.date_mode.local = 0;
  ctx___0.date_mode_explicit = 0U;
  ctx___0.print_email_subject = 0;
  ctx___0.expand_tabs_in_log = 0;
  ctx___0.need_8bit_cte = 0;
  ctx___0.notes_message = (char *)0;
  ctx___0.reflog_info = (struct reflog_walk_info *)0;
  ctx___0.rev = (struct rev_info *)0;
  ctx___0.output_encoding = (char const   *)0;
  ctx___0.mailmap = (struct string_list *)0;
  ctx___0.color = 0;
  ctx___0.from_ident = (struct ident_split *)0;
  ctx___0.encode_email_headers = 0U;
  ctx___0.describe_status = (struct pretty_print_describe_status *)0;
  ctx___0.in_body_headers.items = (struct string_list_item *)0;
  ctx___0.in_body_headers.nr = 0U;
  ctx___0.in_body_headers.alloc = 0U;
  ctx___0.in_body_headers.strdup_strings = 0U;
  ctx___0.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
  ctx___0.graph_width = 0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (! (commit->object.flags & (1u << 5))) {
    return;
  }
  tmp = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
  strbuf_addf(& buf___19, (char const   *)"-%s ", tmp);
  write_or_die(bpi->fd, (void const   *)buf___19.buf, buf___19.len);
  ctx___0.fmt = (enum cmit_fmt )5;
  ctx___0.output_encoding = get_log_output_encoding();
  strbuf_setlen(& buf___19, (size_t )0);
  pretty_print_commit(& ctx___0, (struct commit  const  *)commit, & buf___19);
  strbuf_trim(& buf___19);
  object = (struct object *)commit;
  object->flags |= 1u << 1;
  add_object_array_with_path(object, (char const   *)buf___19.buf, bpi->pending, 12288U,
                             (char const   *)((void *)0));
  strbuf_addch(& buf___19, '\n');
  write_or_die(bpi->fd, (void const   *)buf___19.buf, buf___19.len);
  strbuf_release(& buf___19);
  return;
}
}
int create_bundle(struct repository *r , char const   *path___6 , int argc , char const   **argv___0 ,
                  struct strvec *pack_options , int version___0 )
{
  struct lock_file lock___0 ;
  int bundle_fd ;
  int bundle_to_stdout ;
  int ref_count ;
  struct rev_info revs ;
  struct rev_info revs_copy ;
  int min_version ;
  int tmp ;
  struct bundle_prerequisites_info bpi ;
  int i ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  size_t tmp___4 ;
  char const   *capability ;
  size_t tmp___5 ;
  size_t tmp___6 ;
  size_t tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  struct object_array_entry *e ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;

  {
  lock___0.tempfile = (struct tempfile *)0;
  bundle_fd = -1;
  ref_count = 0;
  if ((unsigned long )the_repository->hash_algo == (unsigned long )(& hash_algos[1])) {
    tmp = 2;
  } else {
    tmp = 3;
  }
  min_version = tmp;
  tmp___0 = strcmp(path___6, (char const   *)"-");
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  bundle_to_stdout = tmp___1;
  if (bundle_to_stdout) {
    bundle_fd = 1;
  } else {
    bundle_fd = hold_lock_file_for_update(& lock___0, path___6, 1);
  }
  if (version___0 == -1) {
    version___0 = min_version;
  }
  if (version___0 < 2) {
    tmp___2 = _((char const   *)"unsupported bundle version %d");
    die((char const   *)tmp___2, version___0);
  } else
  if (version___0 > 3) {
    tmp___2 = _((char const   *)"unsupported bundle version %d");
    die((char const   *)tmp___2, version___0);
  } else
  if (version___0 < min_version) {
    tmp___3 = _((char const   *)"cannot write bundle version %d with algorithm %s");
    die((char const   *)tmp___3, version___0, (the_repository->hash_algo)->name);
  } else
  if (version___0 == 2) {
    tmp___4 = strlen(v2_bundle_signature);
    write_or_die(bundle_fd, (void const   *)(v2_bundle_signature), tmp___4);
  } else {
    capability = (char const   *)"@object-format=";
    tmp___5 = strlen(v3_bundle_signature);
    write_or_die(bundle_fd, (void const   *)(v3_bundle_signature), tmp___5);
    tmp___6 = strlen(capability);
    write_or_die(bundle_fd, (void const   *)capability, tmp___6);
    tmp___7 = strlen((char const   *)(the_repository->hash_algo)->name);
    write_or_die(bundle_fd, (void const   *)(the_repository->hash_algo)->name, tmp___7);
    write_or_die(bundle_fd, (void const   *)"\n", (size_t )1);
  }
  save_commit_buffer = 0;
  repo_init_revisions(r, & revs, (char const   *)((void *)0));
  argc = setup_revisions(argc, argv___0, & revs, (struct setup_revision_opt *)((void *)0));
  if (argc > 1) {
    tmp___8 = _((char const   *)"unrecognized argument: %s");
    error((char const   *)tmp___8, *(argv___0 + 1));
    const_error();
    goto err;
  }
  memcpy((void *)(& revs_copy), (void const   *)(& revs), sizeof(revs));
  revs_copy.pending.nr = 0U;
  revs_copy.pending.alloc = 0U;
  revs_copy.pending.objects = (struct object_array_entry *)((void *)0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < revs.pending.nr)) {
      goto while_break;
    }
    e = revs.pending.objects + i;
    if (e) {
      add_object_array_with_path(e->item, (char const   *)e->name, & revs_copy.pending,
                                 e->mode, (char const   *)e->path);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  revs.boundary = 1U;
  tmp___9 = prepare_revision_walk(& revs);
  if (tmp___9) {
    die((char const   *)"revision walk setup failed");
  }
  bpi.fd = bundle_fd;
  bpi.pending = & revs_copy.pending;
  traverse_commit_list(& revs, & write_bundle_prerequisites, (void (*)(struct object * ,
                                                                       char const   * ,
                                                                       void * ))((void *)0),
                       (void *)(& bpi));
  object_array_remove_duplicates(& revs_copy.pending);
  ref_count = write_bundle_refs(bundle_fd, & revs_copy);
  if (! ref_count) {
    tmp___10 = _((char const   *)"Refusing to create empty bundle.");
    die((char const   *)tmp___10);
  } else
  if (ref_count < 0) {
    goto err;
  }
  tmp___11 = write_pack_data(bundle_fd, & revs_copy, pack_options);
  if (tmp___11) {
    goto err;
  }
  if (! bundle_to_stdout) {
    tmp___13 = commit_lock_file(& lock___0);
    if (tmp___13) {
      tmp___12 = _((char const   *)"cannot create \'%s\'");
      die_errno((char const   *)tmp___12, path___6);
    }
  }
  return (0);
  err:
  rollback_lock_file(& lock___0);
  return (-1);
}
}
int unbundle(struct repository *r , struct bundle_header *header___0 , int bundle_fd ,
             struct strvec *extra_index_pack_args )
{
  struct child_process ip___0 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  ip___0.args.v = empty_strvec;
  ip___0.args.nr = 0UL;
  ip___0.args.alloc = 0UL;
  ip___0.env_array.v = empty_strvec;
  ip___0.env_array.nr = 0UL;
  ip___0.env_array.alloc = 0UL;
  ip___0.pid = 0;
  ip___0.trace2_child_id = 0;
  ip___0.trace2_child_us_start = 0UL;
  ip___0.trace2_child_class = (char const   *)0;
  ip___0.trace2_hook_name = (char const   *)0;
  ip___0.in = 0;
  ip___0.out = 0;
  ip___0.err = 0;
  ip___0.dir = (char const   *)0;
  ip___0.no_stdin = 0U;
  ip___0.no_stdout = 0U;
  ip___0.no_stderr = 0U;
  ip___0.git_cmd = 0U;
  ip___0.silent_exec_failure = 0U;
  ip___0.use_shell = 0U;
  ip___0.close_object_store = 0U;
  ip___0.stdout_to_stderr = 0U;
  ip___0.clean_on_exit = 0U;
  ip___0.wait_after_clean = 0U;
  ip___0.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  ip___0.clean_on_exit_handler_cbdata = (void *)0;
  strvec_pushl(& ip___0.args, "index-pack", "--fix-thin", "--stdin", (void *)0);
  if (extra_index_pack_args) {
    strvec_pushv(& ip___0.args, extra_index_pack_args->v);
    strvec_clear(extra_index_pack_args);
  }
  tmp = verify_bundle(r, header___0, 0);
  if (tmp) {
    return (-1);
  }
  ip___0.in = bundle_fd;
  ip___0.no_stdout = 1U;
  ip___0.git_cmd = 1U;
  tmp___2 = run_command(& ip___0);
  if (tmp___2) {
    tmp___0 = _((char const   *)"index-pack died");
    error((char const   *)tmp___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  return (0);
}
}
static double const   __ac_HASH_UPPER___13  =    (double const   )0.77;
__inline static void kh_resize_oid_set___13(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___13(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___13 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___13 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___13(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___13(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___13(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___13(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___13(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___13(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___13 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___13 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___13(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___13(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___13(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___13(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___13(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___13(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___13 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___13 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___13(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___13(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___13(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___13(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___10(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___10(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___13 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___13 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___10(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___10(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___10(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___10(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
void prepare_replace_object(struct repository *r ) ;
struct object_id  const  *do_lookup_replace_object(struct repository *r , struct object_id  const  *oid ) ;
__inline static struct object_id  const  *lookup_replace_object(struct repository *r ,
                                                                struct object_id  const  *oid )
{
  struct object_id  const  *tmp ;

  {
  if (! read_replace_refs) {
    return (oid);
  } else
  if ((r->objects)->replace_map_initialized) {
    if (((r->objects)->replace_map)->map.tablesize == 0U) {
      return (oid);
    }
  }
  tmp = do_lookup_replace_object(r, oid);
  return (tmp);
}
}
void repo_promisor_remote_reinit(struct repository *r ) ;
__inline static void promisor_remote_reinit(void)
{


  {
  repo_promisor_remote_reinit(the_repository);
  return;
}
}
void promisor_remote_clear(struct promisor_remote_config *config ) ;
struct promisor_remote *repo_promisor_remote_find(struct repository *r , char const   *remote_name___0 ) ;
__inline static struct promisor_remote *promisor_remote_find(char const   *remote_name___0 )
{
  struct promisor_remote *tmp ;

  {
  tmp = repo_promisor_remote_find(the_repository, remote_name___0);
  return (tmp);
}
}
int repo_has_promisor_remote(struct repository *r ) ;
__inline static int has_promisor_remote(void)
{
  int tmp ;

  {
  tmp = repo_has_promisor_remote(the_repository);
  return (tmp);
}
}
int promisor_remote_get_direct(struct repository *repo , struct object_id  const  *oids ,
                               int oid_nr ) ;
int convert_to_sparse(struct index_state *istate , int flags___0 ) ;
void ensure_correct_sparsity(struct index_state *istate ) ;
void expand_to_path(struct index_state *istate , char const   *path___6 , size_t pathlen ,
                    int icase___0 ) ;
int set_sparse_index_config(struct repository *repo , int enable ) ;
struct cache_tree *cache_tree(void)
{
  struct cache_tree *it ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(struct cache_tree ));
  it = (struct cache_tree *)tmp;
  it->entry_count = -1;
  return (it);
}
}
void cache_tree_free(struct cache_tree **it_p )
{
  int i ;
  struct cache_tree *it ;

  {
  it = *it_p;
  if (! it) {
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < it->subtree_nr)) {
      goto while_break;
    }
    if (*(it->down + i)) {
      cache_tree_free(& (*(it->down + i))->cache_tree);
      free((void *)*(it->down + i));
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)it->down);
  free((void *)it);
  *it_p = (struct cache_tree *)((void *)0);
  return;
}
}
static int subtree_name_cmp(char const   *one___0 , int onelen , char const   *two___0 ,
                            int twolen )
{
  int tmp ;

  {
  if (onelen < twolen) {
    return (-1);
  }
  if (twolen < onelen) {
    return (1);
  }
  tmp = memcmp((void const   *)one___0, (void const   *)two___0, (size_t )onelen);
  return (tmp);
}
}
int cache_tree_subtree_pos(struct cache_tree *it , char const   *path___6 , int pathlen )
{
  struct cache_tree_sub **down ;
  int lo ;
  int hi ;
  int mi ;
  struct cache_tree_sub *mdl ;
  int cmp___0 ;
  int tmp ;

  {
  down = it->down;
  lo = 0;
  hi = it->subtree_nr;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (lo < hi)) {
      goto while_break;
    }
    mi = lo + (hi - lo) / 2;
    mdl = *(down + mi);
    tmp = subtree_name_cmp(path___6, pathlen, (char const   *)(mdl->name), mdl->namelen);
    cmp___0 = tmp;
    if (! cmp___0) {
      return (mi);
    }
    if (cmp___0 < 0) {
      hi = mi;
    } else {
      lo = mi + 1;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (- lo - 1);
}
}
static struct cache_tree_sub *find_subtree(struct cache_tree *it , char const   *path___6 ,
                                           int pathlen , int create )
{
  struct cache_tree_sub *down ;
  int pos ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  size_t flex_array_len_ ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;

  {
  tmp = cache_tree_subtree_pos(it, path___6, pathlen);
  pos = tmp;
  if (0 <= pos) {
    return (*(it->down + pos));
  }
  if (! create) {
    return ((struct cache_tree_sub *)((void *)0));
  }
  pos = - pos - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (it->subtree_nr + 1 > it->subtree_alloc) {
      if (((it->subtree_alloc + 16) * 3) / 2 < it->subtree_nr + 1) {
        it->subtree_alloc = it->subtree_nr + 1;
      } else {
        it->subtree_alloc = ((it->subtree_alloc + 16) * 3) / 2;
      }
      tmp___0 = st_mult(sizeof(*(it->down)), (size_t )it->subtree_alloc);
      tmp___1 = xrealloc((void *)it->down, tmp___0);
      it->down = (struct cache_tree_sub **)tmp___1;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  (it->subtree_nr) ++;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    flex_array_len_ = (size_t )pathlen;
    tmp___2 = st_add(sizeof(*down), flex_array_len_);
    tmp___3 = st_add(tmp___2, (size_t )1);
    tmp___4 = xcalloc((size_t )1, tmp___3);
    down = (struct cache_tree_sub *)tmp___4;
    memcpy((void *)(down->name), (void const   *)path___6, flex_array_len_);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  down->cache_tree = (struct cache_tree *)((void *)0);
  down->namelen = pathlen;
  if (pos < it->subtree_nr) {
    move_array((void *)((it->down + pos) + 1), (void const   *)(it->down + pos), (size_t )((it->subtree_nr - pos) - 1),
               sizeof(*((it->down + pos) + 1)) + (sizeof(char [1]) - 1UL));
  }
  *(it->down + pos) = down;
  return (down);
}
}
struct cache_tree_sub *cache_tree_sub(struct cache_tree *it , char const   *path___6 )
{
  int pathlen ;
  size_t tmp ;
  struct cache_tree_sub *tmp___0 ;

  {
  tmp = strlen(path___6);
  pathlen = (int )tmp;
  tmp___0 = find_subtree(it, path___6, pathlen, 1);
  return (tmp___0);
}
}
static int do_invalidate_path(struct cache_tree *it , char const   *path___6 )
{
  char const   *slash ;
  int namelen ;
  struct cache_tree_sub *down ;
  char *tmp ;
  int pos ;

  {
  if (! it) {
    return (0);
  }
  tmp = strchrnul(path___6, '/');
  slash = (char const   *)tmp;
  namelen = (int )(slash - path___6);
  it->entry_count = -1;
  if (! *slash) {
    pos = cache_tree_subtree_pos(it, path___6, namelen);
    if (0 <= pos) {
      cache_tree_free(& (*(it->down + pos))->cache_tree);
      free((void *)*(it->down + pos));
      move_array((void *)(it->down + pos), (void const   *)((it->down + pos) + 1),
                 (size_t )((it->subtree_nr - pos) - 1), sizeof(*(it->down + pos)) + (sizeof(char [1]) - 1UL));
      (it->subtree_nr) --;
    }
    return (1);
  }
  down = find_subtree(it, path___6, namelen, 0);
  if (down) {
    do_invalidate_path(down->cache_tree, slash + 1);
  }
  return (1);
}
}
void cache_tree_invalidate_path(struct index_state *istate , char const   *path___6 )
{
  int tmp ;

  {
  tmp = do_invalidate_path(istate->cache_tree, path___6);
  if (tmp) {
    istate->cache_changed |= (unsigned int )(1 << 5);
  }
  return;
}
}
static int verify_cache(struct index_state *istate , int flags___0 )
{
  unsigned int i ;
  unsigned int funny ;
  int silent ;
  struct cache_entry  const  *ce ;
  char *tmp ;
  struct cache_entry  const  *this_ce ;
  struct cache_entry  const  *next_ce ;
  char const   *this_name ;
  char const   *next_name ;
  int this_len ;
  int tmp___0 ;

  {
  silent = flags___0 & 8;
  funny = 0U;
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < istate->cache_nr)) {
      goto while_break;
    }
    ce = (struct cache_entry  const  *)*(istate->cache + i);
    if ((12288U & ce->ce_flags) >> 12) {
      if (silent) {
        return (-1);
      }
      funny ++;
      if (10U < funny) {
        fprintf(stderr, (char const   *)"...\n");
        goto while_break;
      }
      tmp = oid_to_hex((struct object_id  const  *)(& ce->oid));
      fprintf(stderr, (char const   *)"%s: unmerged (%s)\n", ce->name, tmp);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (funny) {
    return (-1);
  }
  funny = 0U;
  i = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i + 1U < istate->cache_nr)) {
      goto while_break___0;
    }
    this_ce = (struct cache_entry  const  *)*(istate->cache + i);
    next_ce = (struct cache_entry  const  *)*(istate->cache + (i + 1U));
    this_name = (char const   *)(this_ce->name);
    next_name = (char const   *)(next_ce->name);
    this_len = (int )this_ce->ce_namelen;
    if ((unsigned int )this_len < next_ce->ce_namelen) {
      if ((int const   )*(next_name + this_len) == 47) {
        tmp___0 = strncmp(this_name, next_name, (size_t )this_len);
        if (tmp___0 == 0) {
          funny ++;
          if (10U < funny) {
            fprintf(stderr, (char const   *)"...\n");
            goto while_break___0;
          }
          fprintf(stderr, (char const   *)"You have both %s and %s\n", this_name,
                  next_name);
        }
      }
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (funny) {
    return (-1);
  }
  return (0);
}
}
static void discard_unused_subtrees(struct cache_tree *it )
{
  struct cache_tree_sub **down ;
  int nr___0 ;
  int dst ;
  int src ;
  struct cache_tree_sub *s___1 ;
  int tmp ;

  {
  down = it->down;
  nr___0 = it->subtree_nr;
  src = 0;
  dst = src;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (src < nr___0)) {
      goto while_break;
    }
    s___1 = *(down + src);
    if (s___1->used) {
      tmp = dst;
      dst ++;
      *(down + tmp) = s___1;
    } else {
      cache_tree_free(& s___1->cache_tree);
      free((void *)s___1);
      (it->subtree_nr) --;
    }
    src ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int cache_tree_fully_valid(struct cache_tree *it )
{
  int i ;
  int tmp ;
  int tmp___0 ;

  {
  if (! it) {
    return (0);
  }
  if (it->entry_count < 0) {
    return (0);
  } else {
    tmp = repo_has_object_file(the_repository, (struct object_id  const  *)(& it->oid));
    if (! tmp) {
      return (0);
    }
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < it->subtree_nr)) {
      goto while_break;
    }
    tmp___0 = cache_tree_fully_valid((*(it->down + i))->cache_tree);
    if (! tmp___0) {
      return (0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static int must_check_existence(struct cache_entry  const  *ce )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = has_promisor_remote();
  if (tmp) {
    if (ce->ce_flags & (unsigned int )(1 << 30)) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
static int update_one(struct cache_tree *it , struct cache_entry **cache___0 , int entries___1 ,
                      char const   *base , int baselen , int *skip_count , int flags___0 )
{
  struct strbuf buffer___5 ;
  int missing_ok ;
  int dryrun ;
  int repair___0 ;
  int to_invalidate ;
  int i ;
  int tmp ;
  struct cache_entry  const  *ce ;
  int tmp___0 ;
  int tmp___1 ;
  struct cache_entry  const  *ce___0 ;
  struct cache_tree_sub *sub ;
  char const   *path___6 ;
  char const   *slash ;
  int pathlen ;
  int sublen ;
  int subcnt ;
  int subskip ;
  int tmp___2 ;
  char *tmp___3 ;
  struct cache_entry  const  *ce___1 ;
  struct cache_tree_sub *sub___0 ;
  char const   *path___7 ;
  char const   *slash___0 ;
  int pathlen___0 ;
  int entlen ;
  struct object_id  const  *oid ;
  unsigned int mode___1 ;
  int expected_missing ;
  int contains_ita ;
  int ce_missing_ok ;
  int tmp___4 ;
  char *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  struct object_id oid___0 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;

  {
  missing_ok = flags___0 & 1;
  dryrun = flags___0 & 4;
  repair___0 = flags___0 & 16;
  to_invalidate = 0;
  if (dryrun) {
    if (repair___0) {
      tmp = 0;
    } else {
      tmp = 1;
    }
  } else {
    tmp = 1;
  }
  assert(tmp);
  *skip_count = 0;
  if (entries___1 > 0) {
    ce = (struct cache_entry  const  *)*(cache___0 + 0);
    if (ce->ce_mode == 16384U) {
      if (ce->ce_namelen == (unsigned int )baselen) {
        tmp___0 = strncmp((char const   *)(ce->name), base, (size_t )baselen);
        if (! tmp___0) {
          it->entry_count = 1;
          oidcpy(& it->oid, (struct object_id  const  *)(& ce->oid));
          return (1);
        }
      }
    }
  }
  if (0 <= it->entry_count) {
    tmp___1 = repo_has_object_file(the_repository, (struct object_id  const  *)(& it->oid));
    if (tmp___1) {
      return (it->entry_count);
    }
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < it->subtree_nr)) {
      goto while_break;
    }
    (*(it->down + i))->used = 0;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < entries___1)) {
      goto while_break___0;
    }
    ce___0 = (struct cache_entry  const  *)*(cache___0 + i);
    path___6 = (char const   *)(ce___0->name);
    pathlen = (int )ce___0->ce_namelen;
    if (pathlen <= baselen) {
      goto while_break___0;
    } else {
      tmp___2 = memcmp((void const   *)base, (void const   *)path___6, (size_t )baselen);
      if (tmp___2) {
        goto while_break___0;
      }
    }
    tmp___3 = strchr(path___6 + baselen, '/');
    slash = (char const   *)tmp___3;
    if (! slash) {
      i ++;
      goto while_continue___0;
    }
    sublen = (int )(slash - (path___6 + baselen));
    sub = find_subtree(it, path___6 + baselen, sublen, 1);
    if (! sub->cache_tree) {
      sub->cache_tree = cache_tree();
    }
    subcnt = update_one(sub->cache_tree, cache___0 + i, entries___1 - i, path___6,
                        (baselen + sublen) + 1, & subskip, flags___0);
    if (subcnt < 0) {
      return (subcnt);
    }
    if (! subcnt) {
      die((char const   *)"index cache-tree records empty sub-tree");
    }
    i += subcnt;
    sub->count = subcnt;
    *skip_count += subskip;
    sub->used = 1;
  }
  while_break___0: /* CIL Label */ ;
  }
  discard_unused_subtrees(it);
  strbuf_init(& buffer___5, (size_t )8192);
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < entries___1)) {
      goto while_break___1;
    }
    ce___1 = (struct cache_entry  const  *)*(cache___0 + i);
    sub___0 = (struct cache_tree_sub *)((void *)0);
    expected_missing = 0;
    contains_ita = 0;
    path___7 = (char const   *)(ce___1->name);
    pathlen___0 = (int )ce___1->ce_namelen;
    if (pathlen___0 <= baselen) {
      goto while_break___1;
    } else {
      tmp___4 = memcmp((void const   *)base, (void const   *)path___7, (size_t )baselen);
      if (tmp___4) {
        goto while_break___1;
      }
    }
    tmp___5 = strchr(path___7 + baselen, '/');
    slash___0 = (char const   *)tmp___5;
    if (slash___0) {
      entlen = (int )(slash___0 - (path___7 + baselen));
      sub___0 = find_subtree(it, path___7 + baselen, entlen, 0);
      if (! sub___0) {
        die((char const   *)"cache-tree.c: \'%.*s\' in \'%s\' not found", entlen,
            path___7 + baselen, path___7);
      }
      i += sub___0->count;
      oid = (struct object_id  const  *)(& (sub___0->cache_tree)->oid);
      mode___1 = 16384U;
      contains_ita = (sub___0->cache_tree)->entry_count < 0;
      if (contains_ita) {
        to_invalidate = 1;
        expected_missing = 1;
      }
    } else {
      oid = (struct object_id  const  *)(& ce___1->oid);
      mode___1 = (unsigned int )ce___1->ce_mode;
      entlen = pathlen___0 - baselen;
      i ++;
    }
    if (mode___1 == 57344U) {
      tmp___7 = 1;
    } else
    if (missing_ok) {
      tmp___7 = 1;
    } else {
      tmp___6 = must_check_existence(ce___1);
      if (tmp___6) {
        tmp___7 = 0;
      } else {
        tmp___7 = 1;
      }
    }
    ce_missing_ok = tmp___7;
    tmp___10 = is_null_oid(oid);
    if (tmp___10) {
      goto _L;
    } else
    if (! ce_missing_ok) {
      tmp___11 = repo_has_object_file(the_repository, oid);
      if (! tmp___11) {
        _L: /* CIL Label */
        strbuf_release(& buffer___5);
        if (expected_missing) {
          return (-1);
        }
        tmp___8 = oid_to_hex(oid);
        error((char const   *)"invalid object %06o %s for \'%.*s\'", mode___1, tmp___8,
              entlen + baselen, path___7);
        tmp___9 = const_error();
        return (tmp___9);
      }
    }
    if (ce___1->ce_flags & (unsigned int )(1 << 17)) {
      (*skip_count) ++;
      goto while_continue___1;
    }
    if (! sub___0) {
      if (ce___1->ce_flags & (unsigned int )(1 << 29)) {
        to_invalidate = 1;
        goto while_continue___1;
      }
    }
    if (contains_ita) {
      tmp___12 = is_empty_tree_oid(oid);
      if (tmp___12) {
        goto while_continue___1;
      }
    }
    strbuf_grow(& buffer___5, (size_t )(entlen + 100));
    strbuf_addf(& buffer___5, (char const   *)"%o %.*s%c", mode___1, entlen, path___7 + baselen,
                '\000');
    strbuf_add(& buffer___5, (void const   *)(oid->hash), (size_t )(the_repository->hash_algo)->rawsz);
  }
  while_break___1: /* CIL Label */ ;
  }
  if (repair___0) {
    hash_object_file(the_repository->hash_algo, (void const   *)buffer___5.buf, buffer___5.len,
                     tree_type, & oid___0);
    tmp___13 = repo_has_object_file_with_flags(the_repository, (struct object_id  const  *)(& oid___0),
                                               32);
    if (tmp___13) {
      oidcpy(& it->oid, (struct object_id  const  *)(& oid___0));
    } else {
      to_invalidate = 1;
    }
  } else
  if (dryrun) {
    hash_object_file(the_repository->hash_algo, (void const   *)buffer___5.buf, buffer___5.len,
                     tree_type, & it->oid);
  } else {
    if (flags___0 & 8) {
      tmp___14 = 8;
    } else {
      tmp___14 = 0;
    }
    tmp___15 = write_object_file_flags((void const   *)buffer___5.buf, buffer___5.len,
                                       tree_type, & it->oid, (unsigned int )tmp___14);
    if (tmp___15) {
      strbuf_release(& buffer___5);
      return (-1);
    }
  }
  strbuf_release(& buffer___5);
  if (to_invalidate) {
    it->entry_count = -1;
  } else {
    it->entry_count = i - *skip_count;
  }
  return (i);
}
}
int cache_tree_update(struct index_state *istate , int flags___0 )
{
  int skip ;
  int i ;
  int tmp ;
  uint64_t tmp___0 ;
  int tmp___1 ;

  {
  i = verify_cache(istate, flags___0);
  if (i) {
    return (i);
  }
  if (! istate->cache_tree) {
    istate->cache_tree = cache_tree();
  }
  if (! (flags___0 & 1)) {
    tmp = has_promisor_remote();
    if (tmp) {
      prefetch_cache_entries((struct index_state  const  *)istate, & must_check_existence);
    }
  }
  trace_performance_enter();
  trace2_region_enter_fl((char const   *)"cache-tree.c", 476, (char const   *)"cache_tree",
                         (char const   *)"update", (struct repository  const  *)the_repository);
  i = update_one(istate->cache_tree, istate->cache, (int )istate->cache_nr, (char const   *)"",
                 0, & skip, flags___0);
  trace2_region_leave_fl((char const   *)"cache-tree.c", 479, (char const   *)"cache_tree",
                         (char const   *)"update", (struct repository  const  *)the_repository);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = trace_pass_fl(& trace_perf_key);
    if (tmp___1) {
      tmp___0 = getnanotime();
      trace_performance_leave_fl((char const   *)"cache-tree.c", 480, tmp___0, (char const   *)"cache_tree_update");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (i < 0) {
    return (i);
  }
  istate->cache_changed |= (unsigned int )(1 << 5);
  return (0);
}
}
static void write_one(struct strbuf *buffer___5 , struct cache_tree *it , char const   *path___6 ,
                      int pathlen )
{
  int i ;
  struct cache_tree_sub *down ;
  struct cache_tree_sub *prev ;
  int tmp ;

  {
  strbuf_grow(buffer___5, (size_t )(pathlen + 100));
  strbuf_add(buffer___5, (void const   *)path___6, (size_t )pathlen);
  strbuf_addf(buffer___5, (char const   *)"%c%d %d\n", 0, it->entry_count, it->subtree_nr);
  if (0 <= it->entry_count) {
    strbuf_add(buffer___5, (void const   *)(it->oid.hash), (size_t )(the_repository->hash_algo)->rawsz);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < it->subtree_nr)) {
      goto while_break;
    }
    down = *(it->down + i);
    if (i) {
      prev = *(it->down + (i - 1));
      tmp = subtree_name_cmp((char const   *)(down->name), down->namelen, (char const   *)(prev->name),
                             prev->namelen);
      if (tmp <= 0) {
        die((char const   *)"fatal - unsorted cache subtree");
      }
    }
    write_one(buffer___5, down->cache_tree, (char const   *)(down->name), down->namelen);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void cache_tree_write(struct strbuf *sb___6 , struct cache_tree *root )
{


  {
  trace2_region_enter_fl((char const   *)"cache-tree.c", 529, (char const   *)"cache_tree",
                         (char const   *)"write", (struct repository  const  *)the_repository);
  write_one(sb___6, root, (char const   *)"", 0);
  trace2_region_leave_fl((char const   *)"cache-tree.c", 531, (char const   *)"cache_tree",
                         (char const   *)"write", (struct repository  const  *)the_repository);
  return;
}
}
static struct cache_tree *read_one(char const   **buffer___5 , unsigned long *size_p )
{
  char const   *buf___19 ;
  unsigned long size ;
  char const   *cp ;
  char *ep ;
  struct cache_tree *it ;
  int i ;
  int subtree_nr ;
  unsigned int rawsz ;
  long tmp ;
  long tmp___0 ;
  void *tmp___1 ;
  struct cache_tree *sub ;
  struct cache_tree_sub *subtree ;
  char const   *name___0 ;

  {
  buf___19 = *buffer___5;
  size = *size_p;
  rawsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  it = (struct cache_tree *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (size) {
      if (! *buf___19) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    size --;
    buf___19 ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! size) {
    goto free_return;
  }
  buf___19 ++;
  size --;
  it = cache_tree();
  cp = buf___19;
  tmp = strtol((char const   * __restrict  )cp, (char ** __restrict  )(& ep), 10);
  it->entry_count = (int )tmp;
  if ((unsigned long )cp == (unsigned long )ep) {
    goto free_return;
  }
  cp = (char const   *)ep;
  tmp___0 = strtol((char const   * __restrict  )cp, (char ** __restrict  )(& ep),
                   10);
  subtree_nr = (int )tmp___0;
  if ((unsigned long )cp == (unsigned long )ep) {
    goto free_return;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (size) {
      if (*buf___19) {
        if (! ((int const   )*buf___19 != 10)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    size --;
    buf___19 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (! size) {
    goto free_return;
  }
  buf___19 ++;
  size --;
  if (0 <= it->entry_count) {
    if (size < (unsigned long )rawsz) {
      goto free_return;
    }
    oidread(& it->oid, (unsigned char const   *)buf___19);
    buf___19 += rawsz;
    size -= (unsigned long )rawsz;
  }
  it->subtree_alloc = subtree_nr + 2;
  tmp___1 = xcalloc((size_t )it->subtree_alloc, sizeof(*(it->down)));
  it->down = (struct cache_tree_sub **)tmp___1;
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < subtree_nr)) {
      goto while_break___1;
    }
    name___0 = buf___19;
    sub = read_one(& buf___19, & size);
    if (! sub) {
      goto free_return;
    }
    subtree = cache_tree_sub(it, name___0);
    subtree->cache_tree = sub;
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  if (subtree_nr != it->subtree_nr) {
    die((char const   *)"cache-tree: internal error");
  }
  *buffer___5 = buf___19;
  *size_p = size;
  return (it);
  free_return:
  cache_tree_free(& it);
  return ((struct cache_tree *)((void *)0));
}
}
struct cache_tree *cache_tree_read(char const   *buffer___5 , unsigned long size )
{
  struct cache_tree *result___0 ;

  {
  if (*(buffer___5 + 0)) {
    return ((struct cache_tree *)((void *)0));
  }
  trace2_region_enter_fl((char const   *)"cache-tree.c", 625, (char const   *)"cache_tree",
                         (char const   *)"read", (struct repository  const  *)the_repository);
  result___0 = read_one(& buffer___5, & size);
  trace2_region_leave_fl((char const   *)"cache-tree.c", 627, (char const   *)"cache_tree",
                         (char const   *)"read", (struct repository  const  *)the_repository);
  return (result___0);
}
}
static struct cache_tree *cache_tree_find(struct cache_tree *it , char const   *path___6 )
{
  char const   *slash ;
  struct cache_tree_sub *sub ;
  char *tmp ;

  {
  if (! it) {
    return ((struct cache_tree *)((void *)0));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *path___6) {
      goto while_break;
    }
    tmp = strchrnul(path___6, '/');
    slash = (char const   *)tmp;
    sub = find_subtree(it, path___6, (int )(slash - path___6), 0);
    if (! sub) {
      return ((struct cache_tree *)((void *)0));
    }
    it = sub->cache_tree;
    path___6 = slash;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((int const   )*path___6 == 47)) {
        goto while_break___0;
      }
      path___6 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (it);
}
}
static int write_index_as_tree_internal(struct object_id *oid , struct index_state *index_state ,
                                        int cache_tree_valid , int flags___0 , char const   *prefix___1 )
{
  int tmp ;
  struct cache_tree *subtree ;

  {
  if (flags___0 & 2) {
    cache_tree_free(& index_state->cache_tree);
    cache_tree_valid = 0;
  }
  if (! cache_tree_valid) {
    tmp = cache_tree_update(index_state, flags___0);
    if (tmp < 0) {
      return (-2);
    }
  }
  if (prefix___1) {
    subtree = cache_tree_find(index_state->cache_tree, prefix___1);
    if (! subtree) {
      return (-3);
    }
    oidcpy(oid, (struct object_id  const  *)(& subtree->oid));
  } else {
    oidcpy(oid, (struct object_id  const  *)(& (index_state->cache_tree)->oid));
  }
  return (0);
}
}
struct tree *write_in_core_index_as_tree(struct repository *repo )
{
  struct object_id o ;
  int was_valid ;
  int ret___67 ;
  struct index_state *index_state ;
  int tmp ;
  int tmp___0 ;
  int i ;
  struct cache_entry  const  *ce ;
  struct tree *tmp___1 ;

  {
  index_state = repo->index;
  if (index_state->cache_tree) {
    tmp = cache_tree_fully_valid(index_state->cache_tree);
    if (tmp) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  was_valid = tmp___0;
  ret___67 = write_index_as_tree_internal(& o, index_state, was_valid, 0, (char const   *)((void *)0));
  if (ret___67 == -2) {
    fprintf(stderr, (char const   *)"BUG: There are unmerged index entries:\n");
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )i < index_state->cache_nr)) {
        goto while_break;
      }
      ce = (struct cache_entry  const  *)*(index_state->cache + i);
      if ((12288U & ce->ce_flags) >> 12) {
        fprintf(stderr, (char const   *)"BUG: %d %.*s\n", (12288U & ce->ce_flags) >> 12,
                (int )ce->ce_namelen, ce->name);
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    BUG_fl((char const   *)"cache-tree.c", 702, (char const   *)"unmerged index entries when writing inmemory index");
  }
  tmp___1 = lookup_tree(repo, (struct object_id  const  *)(& (index_state->cache_tree)->oid));
  return (tmp___1);
}
}
int write_index_as_tree(struct object_id *oid , struct index_state *index_state ,
                        char const   *index_path___0 , int flags___0 , char const   *prefix___1 )
{
  int entries___1 ;
  int was_valid ;
  struct lock_file lock_file___0 ;
  int ret___67 ;
  char const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  lock_file___0.tempfile = (struct tempfile *)0;
  hold_lock_file_for_update(& lock_file___0, index_path___0, 1);
  tmp = get_git_dir();
  entries___1 = read_index_from(index_state, index_path___0, tmp);
  if (entries___1 < 0) {
    ret___67 = -1;
    goto out;
  }
  if (! (flags___0 & 2)) {
    if (index_state->cache_tree) {
      tmp___0 = cache_tree_fully_valid(index_state->cache_tree);
      if (tmp___0) {
        tmp___1 = 1;
      } else {
        tmp___1 = 0;
      }
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  was_valid = tmp___1;
  ret___67 = write_index_as_tree_internal(oid, index_state, was_valid, flags___0,
                                          prefix___1);
  if (! ret___67) {
    if (! was_valid) {
      write_locked_index(index_state, & lock_file___0, 1U);
    }
  }
  out:
  rollback_lock_file(& lock_file___0);
  return (ret___67);
}
}
static void prime_cache_tree_sparse_dir(struct cache_tree *it , struct tree *tree )
{


  {
  oidcpy(& it->oid, (struct object_id  const  *)(& tree->object.oid));
  it->entry_count = 1;
  return;
}
}
static void prime_cache_tree_rec(struct repository *r , struct cache_tree *it , struct tree *tree ,
                                 struct strbuf *tree_path )
{
  struct tree_desc desc___0 ;
  struct name_entry entry ;
  int cnt ;
  int base_path_len ;
  struct cache_tree_sub *sub ;
  struct tree *subtree ;
  struct tree *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  base_path_len = (int )tree_path->len;
  oidcpy(& it->oid, (struct object_id  const  *)(& tree->object.oid));
  init_tree_desc(& desc___0, (void const   *)tree->buffer, tree->size);
  cnt = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = tree_entry(& desc___0, & entry);
    if (! tmp___1) {
      goto while_break;
    }
    if (! ((entry.mode & 61440U) == 16384U)) {
      cnt ++;
    } else {
      tmp = lookup_tree(r, (struct object_id  const  *)(& entry.oid));
      subtree = tmp;
      if (! subtree->object.parsed) {
        parse_tree(subtree);
      }
      sub = cache_tree_sub(it, entry.path);
      sub->cache_tree = cache_tree();
      if ((r->index)->sparse_index) {
        strbuf_setlen(tree_path, (size_t )base_path_len);
        strbuf_grow(tree_path, (size_t )((base_path_len + entry.pathlen) + 1));
        strbuf_add(tree_path, (void const   *)entry.path, (size_t )entry.pathlen);
        strbuf_addch(tree_path, '/');
      }
      if ((r->index)->sparse_index) {
        tmp___0 = index_entry_exists(r->index, (char const   *)tree_path->buf, (int )tree_path->len);
        if (tmp___0) {
          prime_cache_tree_sparse_dir(sub->cache_tree, subtree);
        } else {
          prime_cache_tree_rec(r, sub->cache_tree, subtree, tree_path);
        }
      } else {
        prime_cache_tree_rec(r, sub->cache_tree, subtree, tree_path);
      }
      cnt += (sub->cache_tree)->entry_count;
    }
  }
  while_break: /* CIL Label */ ;
  }
  it->entry_count = cnt;
  return;
}
}
void prime_cache_tree(struct repository *r , struct index_state *istate , struct tree *tree )
{
  struct strbuf tree_path ;

  {
  tree_path.alloc = 0UL;
  tree_path.len = 0UL;
  tree_path.buf = strbuf_slopbuf;
  trace2_region_enter_fl((char const   *)"cache-tree.c", 815, (char const   *)"cache-tree",
                         (char const   *)"prime_cache_tree", (struct repository  const  *)the_repository);
  cache_tree_free(& istate->cache_tree);
  istate->cache_tree = cache_tree();
  prime_cache_tree_rec(r, istate->cache_tree, tree, & tree_path);
  strbuf_release(& tree_path);
  istate->cache_changed |= (unsigned int )(1 << 5);
  trace2_region_leave_fl((char const   *)"cache-tree.c", 822, (char const   *)"cache-tree",
                         (char const   *)"prime_cache_tree", (struct repository  const  *)the_repository);
  return;
}
}
static struct cache_tree *find_cache_tree_from_traversal(struct cache_tree *root ,
                                                         struct traverse_info *info___0 )
{
  struct cache_tree *our_parent ;
  struct cache_tree *tmp ;

  {
  if (! info___0->prev) {
    return (root);
  }
  our_parent = find_cache_tree_from_traversal(root, info___0->prev);
  tmp = cache_tree_find(our_parent, info___0->name);
  return (tmp);
}
}
int cache_tree_matches_traversal(struct cache_tree *root , struct name_entry *ent ,
                                 struct traverse_info *info___0 )
{
  struct cache_tree *it ;
  int tmp ;

  {
  it = find_cache_tree_from_traversal(root, info___0);
  it = cache_tree_find(it, ent->path);
  if (it) {
    if (it->entry_count > 0) {
      tmp = oideq((struct object_id  const  *)(& ent->oid), (struct object_id  const  *)(& it->oid));
      if (tmp) {
        return (it->entry_count);
      }
    }
  }
  return (0);
}
}
static void verify_one_sparse(struct repository *r , struct index_state *istate ,
                              struct cache_tree *it , struct strbuf *path___6 , int pos )
{
  struct cache_entry *ce ;

  {
  ce = *(istate->cache + pos);
  if (! (ce->ce_mode == 16384U)) {
    BUG_fl((char const   *)"cache-tree.c", 867, (char const   *)"directory \'%s\' is present in index, but not sparse",
           path___6->buf);
  }
  return;
}
}
static int verify_one(struct repository *r , struct index_state *istate , struct cache_tree *it ,
                      struct strbuf *path___6 )
{
  int i ;
  int pos ;
  int len___0 ;
  struct strbuf tree_buf ;
  struct object_id new_oid ;
  int tmp ;
  struct object_id  const  *tmp___0 ;
  int is_sparse ;
  struct cache_entry *ce ;
  char const   *slash ;
  struct cache_tree_sub *sub ;
  struct object_id  const  *oid ;
  char const   *name___0 ;
  unsigned int mode___1 ;
  int entlen ;
  char *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;

  {
  len___0 = (int )path___6->len;
  tree_buf.alloc = 0UL;
  tree_buf.len = 0UL;
  tree_buf.buf = strbuf_slopbuf;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < it->subtree_nr)) {
      goto while_break;
    }
    strbuf_addf(path___6, (char const   *)"%s/", (*(it->down + i))->name);
    tmp = verify_one(r, istate, (*(it->down + i))->cache_tree, path___6);
    if (tmp) {
      return (1);
    }
    strbuf_setlen(path___6, (size_t )len___0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (it->entry_count < 0) {
    return (0);
  } else {
    tmp___0 = lookup_replace_object(r, (struct object_id  const  *)(& it->oid));
    if ((unsigned long )tmp___0 != (unsigned long )(& it->oid)) {
      return (0);
    }
  }
  if (path___6->len) {
    is_sparse = (int )istate->sparse_index;
    pos = index_name_pos(istate, (char const   *)path___6->buf, (int )path___6->len);
    if (is_sparse) {
      if (! istate->sparse_index) {
        return (1);
      }
    }
    if (pos >= 0) {
      verify_one_sparse(r, istate, it, path___6, pos);
      return (0);
    }
    pos = - pos - 1;
  } else {
    pos = 0;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < it->entry_count)) {
      goto while_break___0;
    }
    ce = *(istate->cache + (pos + i));
    sub = (struct cache_tree_sub *)((void *)0);
    if (ce->ce_flags & (unsigned int )((0x3000 | (1 << 29)) | (1 << 17))) {
      BUG_fl((char const   *)"cache-tree.c", 931, (char const   *)"%s with flags 0x%x should not be in cache-tree",
             ce->name, ce->ce_flags);
    }
    name___0 = (char const   *)(ce->name + path___6->len);
    tmp___1 = strchr(name___0, '/');
    slash = (char const   *)tmp___1;
    if (slash) {
      entlen = (int )(slash - name___0);
      sub = find_subtree(it, (char const   *)(ce->name + path___6->len), entlen, 0);
      if (! sub) {
        BUG_fl((char const   *)"cache-tree.c", 938, (char const   *)"bad subtree \'%.*s\'",
               entlen, name___0);
      } else
      if ((sub->cache_tree)->entry_count < 0) {
        BUG_fl((char const   *)"cache-tree.c", 938, (char const   *)"bad subtree \'%.*s\'",
               entlen, name___0);
      }
      oid = (struct object_id  const  *)(& (sub->cache_tree)->oid);
      mode___1 = 16384U;
      i += (sub->cache_tree)->entry_count;
    } else {
      oid = (struct object_id  const  *)(& ce->oid);
      mode___1 = ce->ce_mode;
      entlen = (int )((size_t )ce->ce_namelen - path___6->len);
      i ++;
    }
    strbuf_addf(& tree_buf, (char const   *)"%o %.*s%c", mode___1, entlen, name___0,
                '\000');
    strbuf_add(& tree_buf, (void const   *)(oid->hash), (size_t )(r->hash_algo)->rawsz);
  }
  while_break___0: /* CIL Label */ ;
  }
  hash_object_file(r->hash_algo, (void const   *)tree_buf.buf, tree_buf.len, tree_type,
                   & new_oid);
  tmp___4 = oideq((struct object_id  const  *)(& new_oid), (struct object_id  const  *)(& it->oid));
  if (! tmp___4) {
    tmp___2 = oid_to_hex((struct object_id  const  *)(& it->oid));
    tmp___3 = oid_to_hex((struct object_id  const  *)(& new_oid));
    BUG_fl((char const   *)"cache-tree.c", 956, (char const   *)"cache-tree for path %.*s does not match. Expected %s got %s",
           len___0, path___6->buf, tmp___3, tmp___2);
  }
  strbuf_setlen(path___6, (size_t )len___0);
  strbuf_release(& tree_buf);
  return (0);
}
}
void cache_tree_verify(struct repository *r , struct index_state *istate )
{
  struct strbuf path___6 ;
  int tmp ;
  int tmp___0 ;

  {
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  if (! istate->cache_tree) {
    return;
  }
  tmp___0 = verify_one(r, istate, istate->cache_tree, & path___6);
  if (tmp___0) {
    strbuf_setlen(& path___6, (size_t )0);
    tmp = verify_one(r, istate, istate->cache_tree, & path___6);
    if (tmp) {
      BUG_fl((char const   *)"cache-tree.c", 971, (char const   *)"ensure_full_index() called twice while verifying cache tree");
    }
  }
  strbuf_release(& path___6);
  return;
}
}
static struct cb_node *cb_node_of(void const   *p___0 )
{


  {
  return ((struct cb_node *)((uintptr_t )p___0 - 1UL));
}
}
static struct cb_node *cb_internal_best_match(struct cb_node *p___0 , uint8_t const   *k ,
                                              size_t klen )
{
  struct cb_node *q ;
  struct cb_node *tmp ;
  uint8_t c___0 ;
  int tmp___0 ;
  size_t direction___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (1UL & (uintptr_t )p___0)) {
      goto while_break;
    }
    tmp = cb_node_of((void const   *)p___0);
    q = tmp;
    if ((size_t )q->byte < klen) {
      tmp___0 = (int const   )*(k + q->byte);
    } else {
      tmp___0 = (int const   )0;
    }
    c___0 = (uint8_t )tmp___0;
    direction___0 = (size_t )((1 + ((int )q->otherbits | (int )c___0)) >> 8);
    p___0 = q->child[direction___0];
  }
  while_break: /* CIL Label */ ;
  }
  return (p___0);
}
}
struct cb_node *cb_insert(struct cb_tree *t , struct cb_node *node , size_t klen )
{
  size_t newbyte ;
  size_t newotherbits ;
  uint8_t c___0 ;
  int newdirection ;
  struct cb_node **wherep ;
  struct cb_node *p___0 ;
  struct cb_node *q ;
  size_t direction___0 ;

  {
  assert(! ((uintptr_t )node & 1UL));
  if (! t->root) {
    t->root = node;
    return ((struct cb_node *)((void *)0));
  }
  p___0 = cb_internal_best_match(t->root, (uint8_t const   *)(node->k), klen);
  newbyte = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (newbyte < klen)) {
      goto while_break;
    }
    if ((int )p___0->k[newbyte] != (int )node->k[newbyte]) {
      goto different_byte_found;
    }
    newbyte ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (p___0);
  different_byte_found:
  newotherbits = (size_t )((int )p___0->k[newbyte] ^ (int )node->k[newbyte]);
  newotherbits |= newotherbits >> 1;
  newotherbits |= newotherbits >> 2;
  newotherbits |= newotherbits >> 4;
  newotherbits = (newotherbits & ~ (newotherbits >> 1)) ^ 255UL;
  c___0 = p___0->k[newbyte];
  newdirection = (int )((1UL + (newotherbits | (unsigned long )c___0)) >> 8);
  node->byte = (uint32_t )newbyte;
  node->otherbits = (uint8_t )newotherbits;
  node->child[1 - newdirection] = node;
  wherep = & t->root;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    p___0 = *wherep;
    if (! (1UL & (uintptr_t )p___0)) {
      goto while_break___0;
    }
    q = cb_node_of((void const   *)p___0);
    if ((size_t )q->byte > newbyte) {
      goto while_break___0;
    }
    if ((size_t )q->byte == newbyte) {
      if ((size_t )q->otherbits > newotherbits) {
        goto while_break___0;
      }
    }
    if ((size_t )q->byte < klen) {
      c___0 = node->k[q->byte];
    } else {
      c___0 = (uint8_t )0;
    }
    direction___0 = (size_t )((1 + ((int )q->otherbits | (int )c___0)) >> 8);
    wherep = q->child + direction___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  node->child[newdirection] = *wherep;
  *wherep = (struct cb_node *)(1UL + (uintptr_t )node);
  return ((struct cb_node *)((void *)0));
}
}
struct cb_node *cb_lookup(struct cb_tree *t , uint8_t const   *k , size_t klen )
{
  struct cb_node *p___0 ;
  struct cb_node *tmp ;
  int tmp___0 ;
  struct cb_node *tmp___1 ;
  int tmp___2 ;

  {
  tmp = cb_internal_best_match(t->root, k, klen);
  p___0 = tmp;
  if (p___0) {
    tmp___2 = memcmp((void const   *)(p___0->k), (void const   *)k, klen);
    if (tmp___2) {
      tmp___1 = (struct cb_node *)((void *)0);
    } else {
      tmp___1 = p___0;
    }
  } else {
    tmp___1 = (struct cb_node *)((void *)0);
  }
  return (tmp___1);
}
}
static enum cb_next cb_descend(struct cb_node *p___0 , enum cb_next (*fn)(struct cb_node * ,
                                                                          void *arg ) ,
                               void *arg )
{
  struct cb_node *q ;
  struct cb_node *tmp ;
  enum cb_next n ;
  enum cb_next tmp___0 ;
  enum cb_next tmp___1 ;
  unsigned int tmp___2 ;
  enum cb_next tmp___3 ;

  {
  if (1UL & (uintptr_t )p___0) {
    tmp = cb_node_of((void const   *)p___0);
    q = tmp;
    tmp___0 = cb_descend(q->child[0], fn, arg);
    n = tmp___0;
    if ((unsigned int )n == 1U) {
      tmp___2 = (unsigned int )n;
    } else {
      tmp___1 = cb_descend(q->child[1], fn, arg);
      tmp___2 = (unsigned int )tmp___1;
    }
    return ((enum cb_next )tmp___2);
  } else {
    tmp___3 = (*fn)(p___0, arg);
    return (tmp___3);
  }
}
}
void cb_each(struct cb_tree *t , uint8_t const   *kpfx , size_t klen , enum cb_next (*fn)(struct cb_node * ,
                                                                                          void *arg ) ,
             void *arg )
{
  struct cb_node *p___0 ;
  struct cb_node *top ;
  size_t i ;
  struct cb_node *q ;
  struct cb_node *tmp ;
  uint8_t c___0 ;
  int tmp___0 ;
  size_t direction___0 ;

  {
  p___0 = t->root;
  top = p___0;
  i = (size_t )0;
  if (! p___0) {
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (1UL & (uintptr_t )p___0)) {
      goto while_break;
    }
    tmp = cb_node_of((void const   *)p___0);
    q = tmp;
    if ((size_t )q->byte < klen) {
      tmp___0 = (int const   )*(kpfx + q->byte);
    } else {
      tmp___0 = (int const   )0;
    }
    c___0 = (uint8_t )tmp___0;
    direction___0 = (size_t )((1 + ((int )q->otherbits | (int )c___0)) >> 8);
    p___0 = q->child[direction___0];
    if ((size_t )q->byte < klen) {
      top = p___0;
    }
  }
  while_break: /* CIL Label */ ;
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < klen)) {
      goto while_break___0;
    }
    if ((int )p___0->k[i] != (int )*(kpfx + i)) {
      return;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  cb_descend(top, fn, arg);
  return;
}
}
void chdir_notify_register(char const   *name___0 , void (*cb)(char const   *name ,
                                                               char const   *old_cwd ,
                                                               char const   *new_cwd ,
                                                               void *data ) , void *data ) ;
void chdir_notify_reparent(char const   *name___0 , char **path___6 ) ;
int chdir_notify(char const   *new_cwd ) ;
char *reparent_relative_path(char const   *old_cwd , char const   *new_cwd , char const   *path___6 ) ;
static struct list_head chdir_notify_entries  =    {& chdir_notify_entries, & chdir_notify_entries};
void chdir_notify_register(char const   *name___0 , void (*cb)(char const   *name ,
                                                               char const   *old_cwd ,
                                                               char const   *new_cwd ,
                                                               void *data ) , void *data )
{
  struct chdir_notify_entry *e ;
  void *tmp ;

  {
  tmp = xmalloc(sizeof(*e));
  e = (struct chdir_notify_entry *)tmp;
  e->name = name___0;
  e->cb = cb;
  e->data = data;
  list_add_tail(& e->list, & chdir_notify_entries);
  return;
}
}
static void reparent_cb(char const   *name___0 , char const   *old_cwd , char const   *new_cwd ,
                        void *data )
{
  char **path___6 ;
  char *tmp ;
  int tmp___0 ;

  {
  path___6 = (char **)data;
  tmp = *path___6;
  if (! tmp) {
    return;
  }
  *path___6 = reparent_relative_path(old_cwd, new_cwd, (char const   *)tmp);
  free((void *)tmp);
  if (name___0) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___0 = trace_pass_fl(& trace_setup_key);
      if (tmp___0) {
        trace_printf_key_fl((char const   *)"chdir-notify.c", 42, & trace_setup_key,
                            (char const   *)"setup: reparent %s to \'%s\'", name___0,
                            *path___6);
      }
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
  }
  return;
}
}
void chdir_notify_reparent(char const   *name___0 , char **path___6 )
{


  {
  chdir_notify_register(name___0, & reparent_cb, (void *)path___6);
  return;
}
}
int chdir_notify(char const   *new_cwd )
{
  struct strbuf old_cwd ;
  struct list_head *pos ;
  int tmp ;
  int saved_errno ;
  int *tmp___0 ;
  int *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  struct chdir_notify_entry *e ;

  {
  old_cwd.alloc = 0UL;
  old_cwd.len = 0UL;
  old_cwd.buf = strbuf_slopbuf;
  tmp = strbuf_getcwd(& old_cwd);
  if (tmp < 0) {
    return (-1);
  }
  tmp___2 = chdir(new_cwd);
  if (tmp___2 < 0) {
    tmp___0 = __errno_location();
    saved_errno = *tmp___0;
    strbuf_release(& old_cwd);
    tmp___1 = __errno_location();
    *tmp___1 = saved_errno;
    return (-1);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = trace_pass_fl(& trace_setup_key);
    if (tmp___3) {
      trace_printf_key_fl((char const   *)"chdir-notify.c", 67, & trace_setup_key,
                          (char const   *)"setup: chdir from \'%s\' to \'%s\'", old_cwd.buf,
                          new_cwd);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  pos = chdir_notify_entries.next;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )pos != (unsigned long )(& chdir_notify_entries))) {
      goto while_break___0;
    }
    e = (struct chdir_notify_entry *)((char *)pos - (unsigned long )(& ((struct chdir_notify_entry *)0)->list));
    (*(e->cb))(e->name, (char const   *)old_cwd.buf, new_cwd, e->data);
    pos = pos->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_release(& old_cwd);
  return (0);
}
}
char *reparent_relative_path(char const   *old_cwd , char const   *new_cwd , char const   *path___6 )
{
  char *ret___67 ;
  char *full ;
  char *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;

  {
  tmp___0 = is_absolute_path(path___6);
  if (tmp___0) {
    tmp = xstrdup(path___6);
    return (tmp);
  }
  full = xstrfmt((char const   *)"%s/%s", old_cwd, path___6);
  tmp___1 = remove_leading_path((char const   *)full, new_cwd);
  ret___67 = xstrdup(tmp___1);
  free((void *)full);
  return (ret___67);
}
}
char const   *unique_tracking_name(char const   *name___0 , struct object_id *oid ,
                                   int *dwim_remotes_matched ) ;
static int check_tracking_name(struct remote *remote , void *cb_data )
{
  struct tracking_name_data *cb ;
  struct refspec_item query ;
  int tmp ;
  int tmp___0 ;
  struct object_id *dst ;
  void *tmp___1 ;
  int tmp___2 ;

  {
  cb = (struct tracking_name_data *)cb_data;
  memset((void *)(& query), 0, sizeof(struct refspec_item ));
  query.src = cb->src_ref;
  tmp = remote_find_tracking(remote, & query);
  if (tmp) {
    free((void *)query.dst);
    return (0);
  } else {
    tmp___0 = repo_get_oid(the_repository, (char const   *)query.dst, cb->dst_oid);
    if (tmp___0) {
      free((void *)query.dst);
      return (0);
    }
  }
  (cb->num_matches) ++;
  if (cb->default_remote) {
    tmp___2 = strcmp(remote->name, cb->default_remote);
    if (! tmp___2) {
      tmp___1 = xmalloc(sizeof(*(cb->default_dst_oid)));
      dst = (struct object_id *)tmp___1;
      cb->default_dst_ref = xstrdup((char const   *)query.dst);
      oidcpy(dst, (struct object_id  const  *)cb->dst_oid);
      cb->default_dst_oid = dst;
    }
  }
  if (cb->dst_ref) {
    free((void *)query.dst);
    return (0);
  }
  cb->dst_ref = query.dst;
  return (0);
}
}
char const   *unique_tracking_name(char const   *name___0 , struct object_id *oid ,
                                   int *dwim_remotes_matched )
{
  struct tracking_name_data cb_data ;
  char const   *default_remote ;
  int tmp ;

  {
  cb_data.src_ref = (char *)0;
  cb_data.dst_ref = (char *)0;
  cb_data.dst_oid = (struct object_id *)0;
  cb_data.num_matches = 0;
  cb_data.default_remote = (char const   *)0;
  cb_data.default_dst_ref = (char *)0;
  cb_data.default_dst_oid = (struct object_id *)0;
  default_remote = (char const   *)((void *)0);
  tmp = git_config_get_string_tmp((char const   *)"checkout.defaultremote", & default_remote);
  if (! tmp) {
    cb_data.default_remote = default_remote;
  }
  cb_data.src_ref = xstrfmt((char const   *)"refs/heads/%s", name___0);
  cb_data.dst_oid = oid;
  for_each_remote(& check_tracking_name, (void *)(& cb_data));
  if (dwim_remotes_matched) {
    *dwim_remotes_matched = cb_data.num_matches;
  }
  free((void *)cb_data.src_ref);
  if (cb_data.num_matches == 1) {
    free((void *)cb_data.default_dst_ref);
    free((void *)cb_data.default_dst_oid);
    return ((char const   *)cb_data.dst_ref);
  }
  free((void *)cb_data.dst_ref);
  if (cb_data.default_dst_ref) {
    oidcpy(oid, (struct object_id  const  *)cb_data.default_dst_oid);
    free((void *)cb_data.default_dst_oid);
    return ((char const   *)cb_data.default_dst_ref);
  }
  return ((char const   *)((void *)0));
}
}
struct chunkfile *init_chunkfile(struct hashfile *f ) ;
void free_chunkfile(struct chunkfile *cf___0 ) ;
int get_num_chunks(struct chunkfile *cf___0 ) ;
void add_chunk(struct chunkfile *cf___0 , uint32_t id , size_t size , int (*fn)(struct hashfile *f ,
                                                                                void *data ) ) ;
int write_chunkfile(struct chunkfile *cf___0 , void *data ) ;
int read_table_of_contents(struct chunkfile *cf___0 , unsigned char const   *mfile ,
                           size_t mfile_size , uint64_t toc_offset , int toc_length ) ;
int pair_chunk(struct chunkfile *cf___0 , uint32_t chunk_id , unsigned char const   **p___0 ) ;
int read_chunk(struct chunkfile *cf___0 , uint32_t chunk_id , int (*fn)(unsigned char const   *chunk_start ,
                                                                        size_t chunk_size ,
                                                                        void *data ) ,
               void *data ) ;
struct chunkfile *init_chunkfile(struct hashfile *f )
{
  struct chunkfile *cf___0 ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(*cf___0));
  cf___0 = (struct chunkfile *)tmp;
  cf___0->f = f;
  return (cf___0);
}
}
void free_chunkfile(struct chunkfile *cf___0 )
{


  {
  if (! cf___0) {
    return;
  }
  free((void *)cf___0->chunks);
  free((void *)cf___0);
  return;
}
}
int get_num_chunks(struct chunkfile *cf___0 )
{


  {
  return ((int )cf___0->chunks_nr);
}
}
void add_chunk(struct chunkfile *cf___0 , uint32_t id , size_t size , int (*fn)(struct hashfile *f ,
                                                                                void *data ) )
{
  size_t tmp ;
  void *tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (cf___0->chunks_nr + 1UL > cf___0->chunks_alloc) {
      if (((cf___0->chunks_alloc + 16UL) * 3UL) / 2UL < cf___0->chunks_nr + 1UL) {
        cf___0->chunks_alloc = cf___0->chunks_nr + 1UL;
      } else {
        cf___0->chunks_alloc = ((cf___0->chunks_alloc + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*(cf___0->chunks)), cf___0->chunks_alloc);
      tmp___0 = xrealloc((void *)cf___0->chunks, tmp);
      cf___0->chunks = (struct chunk_info *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  (cf___0->chunks + cf___0->chunks_nr)->id = id;
  (cf___0->chunks + cf___0->chunks_nr)->write_fn = fn;
  (cf___0->chunks + cf___0->chunks_nr)->size = size;
  (cf___0->chunks_nr) ++;
  return;
}
}
int write_chunkfile(struct chunkfile *cf___0 , void *data )
{
  int i ;
  int result___0 ;
  uint64_t cur_offset ;
  off_t tmp ;
  off_t start_offset ;
  off_t tmp___0 ;
  off_t tmp___1 ;
  off_t tmp___2 ;

  {
  result___0 = 0;
  tmp = hashfile_total(cf___0->f);
  cur_offset = (uint64_t )tmp;
  trace2_region_enter_fl((char const   *)"chunk-format.c", 64, (char const   *)"chunkfile",
                         (char const   *)"write", (struct repository  const  *)the_repository);
  cur_offset += (cf___0->chunks_nr + 1UL) * (sizeof(uint32_t ) + sizeof(uint64_t ));
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < cf___0->chunks_nr)) {
      goto while_break;
    }
    hashwrite_be32(cf___0->f, (cf___0->chunks + i)->id);
    hashwrite_be64(cf___0->f, cur_offset);
    cur_offset += (cf___0->chunks + i)->size;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  hashwrite_be32(cf___0->f, (uint32_t )0);
  hashwrite_be64(cf___0->f, cur_offset);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((size_t )i < cf___0->chunks_nr)) {
      goto while_break___0;
    }
    tmp___0 = hashfile_total(cf___0->f);
    start_offset = tmp___0;
    result___0 = (*((cf___0->chunks + i)->write_fn))(cf___0->f, data);
    if (result___0) {
      goto cleanup;
    }
    tmp___2 = hashfile_total(cf___0->f);
    if ((uint64_t )(tmp___2 - start_offset) != (cf___0->chunks + i)->size) {
      tmp___1 = hashfile_total(cf___0->f);
      BUG_fl((char const   *)"chunk-format.c", 90, (char const   *)"expected to write %ld bytes to chunk %x, but wrote %ld instead",
             (cf___0->chunks + i)->size, (cf___0->chunks + i)->id, tmp___1 - start_offset);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  cleanup:
  trace2_region_leave_fl((char const   *)"chunk-format.c", 94, (char const   *)"chunkfile",
                         (char const   *)"write", (struct repository  const  *)the_repository);
  return (result___0);
}
}
int read_table_of_contents(struct chunkfile *cf___0 , unsigned char const   *mfile ,
                           size_t mfile_size , uint64_t toc_offset , int toc_length )
{
  int i ;
  uint32_t chunk_id ;
  unsigned char const   *table_of_contents ;
  size_t tmp ;
  void *tmp___0 ;
  uint64_t chunk_offset ;
  uint64_t next_chunk_offset ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  table_of_contents = mfile + toc_offset;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((size_t )toc_length > cf___0->chunks_alloc) {
      if (((cf___0->chunks_alloc + 16UL) * 3UL) / 2UL < (size_t )toc_length) {
        cf___0->chunks_alloc = (size_t )toc_length;
      } else {
        cf___0->chunks_alloc = ((cf___0->chunks_alloc + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*(cf___0->chunks)), cf___0->chunks_alloc);
      tmp___0 = xrealloc((void *)cf___0->chunks, tmp);
      cf___0->chunks = (struct chunk_info *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___4 = toc_length;
    toc_length --;
    if (! tmp___4) {
      goto while_break___0;
    }
    chunk_id = get_be32((void const   *)table_of_contents);
    chunk_offset = get_be64((void const   *)(table_of_contents + 4));
    if (! chunk_id) {
      tmp___1 = _((char const   *)"terminating chunk id appears earlier than expected");
      error((char const   *)tmp___1);
      const_error();
      return (1);
    }
    table_of_contents += sizeof(uint32_t ) + sizeof(uint64_t );
    next_chunk_offset = get_be64((void const   *)(table_of_contents + 4));
    if (next_chunk_offset < chunk_offset) {
      tmp___2 = _((char const   *)"improper chunk offset(s) %lx and %lx");
      error((char const   *)tmp___2, chunk_offset, next_chunk_offset);
      const_error();
      return (-1);
    } else
    if (next_chunk_offset > mfile_size - (size_t )(the_repository->hash_algo)->rawsz) {
      tmp___2 = _((char const   *)"improper chunk offset(s) %lx and %lx");
      error((char const   *)tmp___2, chunk_offset, next_chunk_offset);
      const_error();
      return (-1);
    }
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((size_t )i < cf___0->chunks_nr)) {
        goto while_break___1;
      }
      if ((cf___0->chunks + i)->id == chunk_id) {
        tmp___3 = _((char const   *)"duplicate chunk ID %x found");
        error((char const   *)tmp___3, chunk_id);
        const_error();
        return (-1);
      }
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    (cf___0->chunks + cf___0->chunks_nr)->id = chunk_id;
    (cf___0->chunks + cf___0->chunks_nr)->start = (void const   *)(mfile + chunk_offset);
    (cf___0->chunks + cf___0->chunks_nr)->size = next_chunk_offset - chunk_offset;
    (cf___0->chunks_nr) ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  chunk_id = get_be32((void const   *)table_of_contents);
  if (chunk_id) {
    tmp___5 = _((char const   *)"final chunk has non-zero id %x");
    error((char const   *)tmp___5, chunk_id);
    const_error();
    return (-1);
  }
  return (0);
}
}
static int pair_chunk_fn(unsigned char const   *chunk_start , size_t chunk_size ,
                         void *data )
{
  unsigned char const   **p___0 ;

  {
  p___0 = (unsigned char const   **)data;
  *p___0 = chunk_start;
  return (0);
}
}
int pair_chunk(struct chunkfile *cf___0 , uint32_t chunk_id , unsigned char const   **p___0 )
{
  int tmp ;

  {
  tmp = read_chunk(cf___0, chunk_id, & pair_chunk_fn, (void *)p___0);
  return (tmp);
}
}
int read_chunk(struct chunkfile *cf___0 , uint32_t chunk_id , int (*fn)(unsigned char const   *chunk_start ,
                                                                        size_t chunk_size ,
                                                                        void *data ) ,
               void *data )
{
  int i ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < cf___0->chunks_nr)) {
      goto while_break;
    }
    if ((cf___0->chunks + i)->id == chunk_id) {
      tmp = (*fn)((unsigned char const   *)(cf___0->chunks + i)->start, (cf___0->chunks + i)->size,
                  data);
      return (tmp);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (-2);
}
}
static int git_use_color_default  =    2;
int color_stdout_is_tty  =    -1;
char const   *column_colors_ansi[13]  =
  {      (char const   *)"\033[31m",      (char const   *)"\033[32m",      (char const   *)"\033[33m",      (char const   *)"\033[34m",
        (char const   *)"\033[35m",      (char const   *)"\033[36m",      (char const   *)"\033[1;31m",      (char const   *)"\033[1;32m",
        (char const   *)"\033[1;33m",      (char const   *)"\033[1;34m",      (char const   *)"\033[1;35m",      (char const   *)"\033[1;36m",
        (char const   *)"\033[m"};
int const   column_colors_ansi_max  =    (int const   )((sizeof(column_colors_ansi) / sizeof(column_colors_ansi[0]) + (sizeof(char [1]) - 1UL)) - 1UL);
static int match_word(char const   *word , int len___0 , char const   *match___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = strncasecmp(word, match___0, (size_t )len___0);
  if (tmp) {
    tmp___0 = 0;
  } else
  if (! *(match___0 + len___0)) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static int get_hex_color(char const   *in , unsigned char *out )
{
  unsigned int val ;
  unsigned int tmp ;
  unsigned int tmp___0 ;

  {
  tmp = hexval((unsigned char )*(in + 0));
  tmp___0 = hexval((unsigned char )*(in + 1));
  val = (tmp << 4) | tmp___0;
  if (val & 4294967040U) {
    return (-1);
  }
  *out = (unsigned char )val;
  return (0);
}
}
static int parse_ansi_color(struct color *out , char const   *name___0 , int len___0 ) ;
static char const   *color_names[8]  =
  {      (char const   *)"black",      (char const   *)"red",      (char const   *)"green",      (char const   *)"yellow",
        (char const   *)"blue",      (char const   *)"magenta",      (char const   *)"cyan",      (char const   *)"white"};
static int parse_ansi_color(struct color *out , char const   *name___0 , int len___0 )
{
  int i ;
  int color_offset ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  color_offset = 30;
  tmp = match_word(name___0, len___0, (char const   *)"default");
  if (tmp) {
    out->type = (enum __anonenum_type_993151045 )2;
    out->value = (unsigned char )(9 + color_offset);
    return (0);
  }
  tmp___0 = strncasecmp(name___0, (char const   *)"bright", (size_t )6);
  if (tmp___0 == 0) {
    color_offset = 90;
    name___0 += 6;
    len___0 -= 6;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(color_names) / sizeof(color_names[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp___1 = match_word(name___0, len___0, (char const   *)color_names[i]);
    if (tmp___1) {
      out->type = (enum __anonenum_type_993151045 )2;
      out->value = (unsigned char )(i + color_offset);
      return (0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (-1);
}
}
static int parse_color(struct color *out , char const   *name___0 , int len___0 )
{
  char *end ;
  long val ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = match_word(name___0, len___0, (char const   *)"normal");
  if (tmp) {
    out->type = (enum __anonenum_type_993151045 )1;
    return (0);
  }
  if (len___0 == 7) {
    if ((int const   )*(name___0 + 0) == 35) {
      tmp___0 = get_hex_color(name___0 + 1, & out->red);
      if (! tmp___0) {
        tmp___1 = get_hex_color(name___0 + 3, & out->green);
        if (! tmp___1) {
          tmp___2 = get_hex_color(name___0 + 5, & out->blue);
          if (! tmp___2) {
            out->type = (enum __anonenum_type_993151045 )4;
            return (0);
          }
        }
      }
    }
  }
  tmp___3 = parse_ansi_color(out, name___0, len___0);
  if (tmp___3 == 0) {
    return (0);
  }
  val = strtol((char const   * __restrict  )name___0, (char ** __restrict  )(& end),
               10);
  if (end - (char *)name___0 == (long )len___0) {
    if (! (val < -1L)) {
      if (val < 0L) {
        out->type = (enum __anonenum_type_993151045 )1;
        return (0);
      } else
      if (val < 8L) {
        out->type = (enum __anonenum_type_993151045 )2;
        out->value = (unsigned char )(val + 30L);
        return (0);
      } else
      if (val < 16L) {
        out->type = (enum __anonenum_type_993151045 )2;
        out->value = (unsigned char )((val - 8L) + 90L);
        return (0);
      } else
      if (val < 256L) {
        out->type = (enum __anonenum_type_993151045 )3;
        out->value = (unsigned char )val;
        return (0);
      }
    }
  }
  return (-1);
}
}
static int parse_attr___0(char const   *name___0 , size_t len___0 ) ;
static struct __anonstruct_attrs_628836213  const  attrs[7]  = {      {(char const   *)"bold", sizeof("bold") - 1UL, 1, 22},
        {(char const   *)"dim", sizeof("dim") - 1UL, 2, 22},
        {(char const   *)"italic", sizeof("italic") - 1UL, 3, 23},
        {(char const   *)"ul", sizeof("ul") - 1UL, 4, 24},
        {(char const   *)"blink", sizeof("blink") - 1UL, 5, 25},
        {(char const   *)"reverse", sizeof("reverse") - 1UL, 7, 27},
        {(char const   *)"strike", sizeof("strike") - 1UL, 9, 29}};
static int parse_attr___0(char const   *name___0 , size_t len___0 )
{
  int negate ;
  int i ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  negate = 0;
  tmp = skip_prefix_mem(name___0, len___0, (char const   *)"no", & name___0, & len___0);
  if (tmp) {
    skip_prefix_mem(name___0, len___0, (char const   *)"-", & name___0, & len___0);
    negate = 1;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(attrs) / sizeof(attrs[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    if (attrs[i].len == (size_t )len___0) {
      tmp___1 = memcmp((void const   *)attrs[i].name, (void const   *)name___0, len___0);
      if (! tmp___1) {
        if (negate) {
          tmp___0 = attrs[i].neg;
        } else {
          tmp___0 = attrs[i].val;
        }
        return ((int )tmp___0);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (-1);
}
}
int color_parse(char const   *value , char *dst )
{
  size_t tmp ;
  int tmp___0 ;

  {
  tmp = strlen(value);
  tmp___0 = color_parse_mem(value, (int )tmp, dst);
  return (tmp___0);
}
}
static char *color_output(char *out , int len___0 , struct color  const  *c___0 ,
                          int background )
{
  int offset___2 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  offset___2 = 0;
  if (background) {
    offset___2 = 10;
  }
  {
  if ((unsigned int )c___0->type == 1U) {
    goto case_1;
  }
  if ((unsigned int )c___0->type == 0U) {
    goto case_1;
  }
  if ((unsigned int )c___0->type == 2U) {
    goto case_2;
  }
  if ((unsigned int )c___0->type == 3U) {
    goto case_3;
  }
  if ((unsigned int )c___0->type == 4U) {
    goto case_4;
  }
  goto switch_break;
  case_1: /* CIL Label */
  case_0: /* CIL Label */
  goto switch_break;
  case_2: /* CIL Label */
  tmp = xsnprintf(out, (size_t )len___0, (char const   *)"%d", (int )c___0->value + (int )offset___2);
  out += tmp;
  goto switch_break;
  case_3: /* CIL Label */
  tmp___0 = xsnprintf(out, (size_t )len___0, (char const   *)"%d;5;%d", 38 + offset___2,
                      (int )c___0->value);
  out += tmp___0;
  goto switch_break;
  case_4: /* CIL Label */
  tmp___1 = xsnprintf(out, (size_t )len___0, (char const   *)"%d;2;%d;%d;%d", 38 + offset___2,
                      (int )c___0->red, (int )c___0->green, (int )c___0->blue);
  out += tmp___1;
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return (out);
}
}
static int color_empty(struct color  const  *c___0 )
{


  {
  return ((unsigned int )c___0->type <= 1U);
}
}
int color_parse_mem(char const   *value , int value_len , char *dst )
{
  char const   *ptr ;
  int len___0 ;
  char *end ;
  unsigned int has_reset ;
  unsigned int attr ;
  struct color fg ;
  struct color bg ;
  char const   *word ;
  struct color c___0 ;
  int val ;
  int wordlen ;
  int tmp ;
  int tmp___0 ;
  int sep ;
  int i ;
  char *tmp___1 ;
  char *tmp___2 ;
  unsigned int bit ;
  char *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  char *tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  char *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  int tmp___17 ;

  {
  ptr = value;
  len___0 = value_len;
  end = dst + 75;
  has_reset = 0U;
  attr = 0U;
  fg.type = (enum __anonenum_type_993151045 )0;
  fg.value = (unsigned char)0;
  fg.red = (unsigned char)0;
  fg.green = (unsigned char)0;
  fg.blue = (unsigned char)0;
  bg.type = (enum __anonenum_type_993151045 )0;
  bg.value = (unsigned char)0;
  bg.red = (unsigned char)0;
  bg.green = (unsigned char)0;
  bg.blue = (unsigned char)0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (len___0 > 0) {
      if (! (((int const   )sane_ctype[(unsigned char )*ptr] & 1) != 0)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    ptr ++;
    len___0 --;
  }
  while_break: /* CIL Label */ ;
  }
  if (! len___0) {
    *(dst + 0) = (char )'\000';
    return (0);
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (len___0 > 0)) {
      goto while_break___0;
    }
    word = ptr;
    c___0.type = (enum __anonenum_type_993151045 )0;
    c___0.value = (unsigned char)0;
    c___0.red = (unsigned char)0;
    c___0.green = (unsigned char)0;
    c___0.blue = (unsigned char)0;
    wordlen = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (len___0 > 0) {
        if (! (! (((int const   )sane_ctype[(unsigned char )*(word + wordlen)] & 1) != 0))) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      wordlen ++;
      len___0 --;
    }
    while_break___1: /* CIL Label */ ;
    }
    ptr = word + wordlen;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (len___0 > 0) {
        if (! (((int const   )sane_ctype[(unsigned char )*ptr] & 1) != 0)) {
          goto while_break___2;
        }
      } else {
        goto while_break___2;
      }
      ptr ++;
      len___0 --;
    }
    while_break___2: /* CIL Label */ ;
    }
    tmp = match_word(word, wordlen, (char const   *)"reset");
    if (tmp) {
      has_reset = 1U;
      goto while_continue___0;
    }
    tmp___0 = parse_color(& c___0, word, wordlen);
    if (! tmp___0) {
      if ((unsigned int )fg.type == 0U) {
        fg = c___0;
        goto while_continue___0;
      }
      if ((unsigned int )bg.type == 0U) {
        bg = c___0;
        goto while_continue___0;
      }
      goto bad;
    }
    val = parse_attr___0(word, (size_t )wordlen);
    if (0 <= val) {
      attr |= (unsigned int )(1 << val);
    } else {
      goto bad;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  if (has_reset) {
    goto _L;
  } else
  if (attr) {
    goto _L;
  } else {
    tmp___13 = color_empty((struct color  const  *)(& fg));
    if (tmp___13) {
      tmp___14 = color_empty((struct color  const  *)(& bg));
      if (! tmp___14) {
        _L: /* CIL Label */
        sep = 0;
        {
        while (1) {
          while_continue___3: /* CIL Label */ ;
          if ((unsigned long )dst == (unsigned long )end) {
            BUG_fl((char const   *)"color.c", 324, (char const   *)"color parsing ran out of space");
          }
          tmp___1 = dst;
          dst ++;
          *tmp___1 = (char )'\033';
          goto while_break___3;
        }
        while_break___3: /* CIL Label */ ;
        }
        {
        while (1) {
          while_continue___4: /* CIL Label */ ;
          if ((unsigned long )dst == (unsigned long )end) {
            BUG_fl((char const   *)"color.c", 325, (char const   *)"color parsing ran out of space");
          }
          tmp___2 = dst;
          dst ++;
          *tmp___2 = (char )'[';
          goto while_break___4;
        }
        while_break___4: /* CIL Label */ ;
        }
        if (has_reset) {
          sep ++;
        }
        i = 0;
        {
        while (1) {
          while_continue___5: /* CIL Label */ ;
          if (! attr) {
            goto while_break___5;
          }
          bit = (unsigned int )(1 << i);
          if (! (attr & bit)) {
            goto __Cont;
          }
          attr &= ~ bit;
          tmp___4 = sep;
          sep ++;
          if (tmp___4) {
            {
            while (1) {
              while_continue___6: /* CIL Label */ ;
              if ((unsigned long )dst == (unsigned long )end) {
                BUG_fl((char const   *)"color.c", 336, (char const   *)"color parsing ran out of space");
              }
              tmp___3 = dst;
              dst ++;
              *tmp___3 = (char )';';
              goto while_break___6;
            }
            while_break___6: /* CIL Label */ ;
            }
          }
          tmp___5 = xsnprintf(dst, (size_t )(end - dst), (char const   *)"%d", i);
          dst += tmp___5;
          __Cont: /* CIL Label */
          i ++;
        }
        while_break___5: /* CIL Label */ ;
        }
        tmp___8 = color_empty((struct color  const  *)(& fg));
        if (! tmp___8) {
          tmp___7 = sep;
          sep ++;
          if (tmp___7) {
            {
            while (1) {
              while_continue___7: /* CIL Label */ ;
              if ((unsigned long )dst == (unsigned long )end) {
                BUG_fl((char const   *)"color.c", 341, (char const   *)"color parsing ran out of space");
              }
              tmp___6 = dst;
              dst ++;
              *tmp___6 = (char )';';
              goto while_break___7;
            }
            while_break___7: /* CIL Label */ ;
            }
          }
          dst = color_output(dst, (int )(end - dst), (struct color  const  *)(& fg),
                             0);
        }
        tmp___11 = color_empty((struct color  const  *)(& bg));
        if (! tmp___11) {
          tmp___10 = sep;
          sep ++;
          if (tmp___10) {
            {
            while (1) {
              while_continue___8: /* CIL Label */ ;
              if ((unsigned long )dst == (unsigned long )end) {
                BUG_fl((char const   *)"color.c", 346, (char const   *)"color parsing ran out of space");
              }
              tmp___9 = dst;
              dst ++;
              *tmp___9 = (char )';';
              goto while_break___8;
            }
            while_break___8: /* CIL Label */ ;
            }
          }
          dst = color_output(dst, (int )(end - dst), (struct color  const  *)(& bg),
                             1);
        }
        {
        while (1) {
          while_continue___9: /* CIL Label */ ;
          if ((unsigned long )dst == (unsigned long )end) {
            BUG_fl((char const   *)"color.c", 349, (char const   *)"color parsing ran out of space");
          }
          tmp___12 = dst;
          dst ++;
          *tmp___12 = (char )'m';
          goto while_break___9;
        }
        while_break___9: /* CIL Label */ ;
        }
      }
    } else {
      goto _L;
    }
  }
  {
  while (1) {
    while_continue___10: /* CIL Label */ ;
    if ((unsigned long )dst == (unsigned long )end) {
      BUG_fl((char const   *)"color.c", 351, (char const   *)"color parsing ran out of space");
    }
    tmp___15 = dst;
    dst ++;
    *tmp___15 = (char)0;
    goto while_break___10;
  }
  while_break___10: /* CIL Label */ ;
  }
  return (0);
  bad:
  tmp___16 = _((char const   *)"invalid color value: %.*s");
  error((char const   *)tmp___16, value_len, value);
  tmp___17 = const_error();
  return (tmp___17);
}
}
int git_config_colorbool(char const   *var , char const   *value )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (value) {
    tmp = strcasecmp(value, (char const   *)"never");
    if (! tmp) {
      return (0);
    }
    tmp___0 = strcasecmp(value, (char const   *)"always");
    if (! tmp___0) {
      return (1);
    }
    tmp___1 = strcasecmp(value, (char const   *)"auto");
    if (! tmp___1) {
      return (2);
    }
  }
  if (! var) {
    return (-1);
  }
  tmp___2 = git_config_bool(var, value);
  if (! tmp___2) {
    return (0);
  }
  return (2);
}
}
static int check_auto_color(int fd ) ;
static int color_stderr_is_tty  =    -1;
static int check_auto_color(int fd )
{
  int *is_tty_p ;
  int *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (fd == 1) {
    tmp = & color_stdout_is_tty;
  } else {
    tmp = & color_stderr_is_tty;
  }
  is_tty_p = tmp;
  if (*is_tty_p < 0) {
    *is_tty_p = isatty(fd);
  }
  if (*is_tty_p) {
    goto _L;
  } else
  if (fd == 1) {
    tmp___1 = pager_in_use();
    if (tmp___1) {
      if (pager_use_color) {
        _L: /* CIL Label */
        tmp___0 = is_terminal_dumb();
        if (! tmp___0) {
          return (1);
        }
      }
    }
  }
  return (0);
}
}
static int want_auto[3]  = {      -1,      -1,      -1};
int want_color_fd(int fd , int var )
{


  {
  if (fd < 1) {
    BUG_fl((char const   *)"color.c", 405, (char const   *)"file descriptor out of range: %d",
           fd);
  } else
  if ((unsigned long )fd >= sizeof(want_auto) / sizeof(want_auto[0]) + (sizeof(char [1]) - 1UL)) {
    BUG_fl((char const   *)"color.c", 405, (char const   *)"file descriptor out of range: %d",
           fd);
  }
  if (var < 0) {
    var = git_use_color_default;
  }
  if (var == 2) {
    if (want_auto[fd] < 0) {
      want_auto[fd] = check_auto_color(fd);
    }
    return (want_auto[fd]);
  }
  return (var);
}
}
int git_color_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;

  {
  tmp = strcmp(var, (char const   *)"color.ui");
  if (! tmp) {
    git_use_color_default = git_config_colorbool(var, value);
    return (0);
  }
  return (0);
}
}
int git_color_default_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = git_color_config(var, value, cb);
  if (tmp < 0) {
    return (-1);
  }
  tmp___0 = git_default_config(var, value, cb);
  return (tmp___0);
}
}
void color_print_strbuf(FILE *fp , char const   *color___0 , struct strbuf  const  *sb___6 )
{


  {
  if (*color___0) {
    fprintf(fp, (char const   *)"%s", color___0);
  }
  fprintf(fp, (char const   *)"%s", sb___6->buf);
  if (*color___0) {
    fprintf(fp, (char const   *)"%s", "\033[m");
  }
  return;
}
}
static int color_vfprintf(FILE *fp , char const   *color___0 , char const   *fmt ,
                          va_list args___0 , char const   *trail )
{
  int r ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  r = 0;
  if (*color___0) {
    tmp = fprintf(fp, (char const   *)"%s", color___0);
    r += tmp;
  }
  tmp___0 = vfprintf(fp, fmt, args___0);
  r += tmp___0;
  if (*color___0) {
    tmp___1 = fprintf(fp, (char const   *)"%s", "\033[m");
    r += tmp___1;
  }
  if (trail) {
    tmp___2 = fprintf(fp, (char const   *)"%s", trail);
    r += tmp___2;
  }
  return (r);
}
}
int ( /* format attribute */  color_fprintf)(FILE *fp , char const   *color___0 ,
                                             char const   *fmt  , ...)
{
  va_list args___0 ;
  int r ;

  {
  __builtin_va_start(args___0, fmt);
  r = color_vfprintf(fp, color___0, fmt, args___0, (char const   *)((void *)0));
  __builtin_va_end(args___0);
  return (r);
}
}
int ( /* format attribute */  color_fprintf_ln)(FILE *fp , char const   *color___0 ,
                                                char const   *fmt  , ...)
{
  va_list args___0 ;
  int r ;

  {
  __builtin_va_start(args___0, fmt);
  r = color_vfprintf(fp, color___0, fmt, args___0, (char const   *)"\n");
  __builtin_va_end(args___0);
  return (r);
}
}
int color_is_nil(char const   *c___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = strcmp(c___0, (char const   *)"NIL");
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
int parseopt_column_callback(struct option  const  *opt___0 , char const   *arg ,
                             int unset ) ;
int git_column_config(char const   *var , char const   *value , char const   *command___0 ,
                      unsigned int *colopts___3 ) ;
int finalize_colopts(unsigned int *colopts___3 , int stdout_is_tty ) ;
__inline static int column_active(unsigned int colopts___3 )
{


  {
  return ((colopts___3 & 48U) == 16U);
}
}
void print_columns(struct string_list  const  *list___3 , unsigned int colopts___3 ,
                   struct column_options  const  *opts___1 ) ;
int run_column_filter(int colopts___3 , struct column_options  const  *opts___1 ) ;
int stop_column_filter(void) ;
static int item_length(char const   *s___1 )
{
  int tmp ;

  {
  tmp = utf8_strnwidth(s___1, -1, 1);
  return (tmp);
}
}
static void layout(struct column_data *data , int *width )
{
  int i ;
  size_t tmp ;

  {
  *width = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < (data->list)->nr)) {
      goto while_break;
    }
    if (*width < *(data->len + i)) {
      *width = *(data->len + i);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  *width += data->opts.padding;
  tmp = strlen(data->opts.indent);
  data->cols = (int )(((size_t )data->opts.width - tmp) / (size_t )*width);
  if (data->cols == 0) {
    data->cols = 1;
  }
  data->rows = (int )((((data->list)->nr + (unsigned int )data->cols) - 1U) / (unsigned int )data->cols);
  return;
}
}
static void compute_column_width(struct column_data *data )
{
  int i ;
  int x ;
  int y ;

  {
  x = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (x < data->cols)) {
      goto while_break;
    }
    if ((data->colopts & 15U) == 0U) {
      *(data->width + x) = x * data->rows;
    } else {
      *(data->width + x) = x;
    }
    y = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (y < data->rows)) {
        goto while_break___0;
      }
      if ((data->colopts & 15U) == 0U) {
        i = x * data->rows + y;
      } else {
        i = y * data->cols + x;
      }
      if ((unsigned int )i < (data->list)->nr) {
        if (*(data->len + *(data->width + x)) < *(data->len + i)) {
          *(data->width + x) = i;
        }
      }
      y ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    x ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void shrink_columns(struct column_data *data )
{
  size_t tmp ;
  void *tmp___0 ;
  int x ;
  int total_width ;
  int cols ;
  int rows ;
  size_t tmp___1 ;
  void *tmp___2 ;
  size_t tmp___3 ;

  {
  tmp = st_mult(sizeof(*(data->width)), (size_t )data->cols);
  tmp___0 = xrealloc((void *)data->width, tmp);
  data->width = (int *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (data->rows > 1)) {
      goto while_break;
    }
    rows = data->rows;
    cols = data->cols;
    (data->rows) --;
    data->cols = (int )((((data->list)->nr + (unsigned int )data->rows) - 1U) / (unsigned int )data->rows);
    if (data->cols != cols) {
      tmp___1 = st_mult(sizeof(*(data->width)), (size_t )data->cols);
      tmp___2 = xrealloc((void *)data->width, tmp___1);
      data->width = (int *)tmp___2;
    }
    compute_column_width(data);
    tmp___3 = strlen(data->opts.indent);
    total_width = (int )tmp___3;
    x = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (x < data->cols)) {
        goto while_break___0;
      }
      total_width += *(data->len + *(data->width + x));
      total_width += data->opts.padding;
      x ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (total_width > data->opts.width) {
      data->rows = rows;
      data->cols = cols;
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  compute_column_width(data);
  return;
}
}
static void display_plain(struct string_list  const  *list___3 , char const   *indent ,
                          char const   *nl )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < list___3->nr)) {
      goto while_break;
    }
    printf((char const   *)"%s%s%s", indent, (list___3->items + i)->string, nl);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int display_cell(struct column_data *data , int initial_width , char const   *empty_cell ,
                        int x , int y )
{
  int i ;
  int len___0 ;
  int newline ;
  int tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;

  {
  if ((data->colopts & 15U) == 0U) {
    i = x * data->rows + y;
  } else {
    i = y * data->cols + x;
  }
  if ((unsigned int )i >= (data->list)->nr) {
    return (-1);
  }
  len___0 = *(data->len + i);
  if (data->width) {
    if (*(data->len + *(data->width + x)) < initial_width) {
      len___0 += initial_width - *(data->len + *(data->width + x));
      len___0 -= data->opts.padding;
    }
  }
  if ((data->colopts & 15U) == 0U) {
    newline = (unsigned int )(i + data->rows) >= (data->list)->nr;
  } else {
    if (x == data->cols - 1) {
      tmp = 1;
    } else
    if ((unsigned int )i == (data->list)->nr - 1U) {
      tmp = 1;
    } else {
      tmp = 0;
    }
    newline = tmp;
  }
  if (newline) {
    tmp___0 = data->opts.nl;
  } else {
    tmp___0 = empty_cell + len___0;
  }
  if (x == 0) {
    tmp___1 = data->opts.indent;
  } else {
    tmp___1 = (char const   *)"";
  }
  printf((char const   *)"%s%s%s", tmp___1, ((data->list)->items + i)->string, tmp___0);
  return (0);
}
}
static void display_table(struct string_list  const  *list___3 , unsigned int colopts___3 ,
                          struct column_options  const  *opts___1 )
{
  struct column_data data ;
  int x ;
  int y ;
  int i ;
  int initial_width ;
  char *empty_cell ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;

  {
  memset((void *)(& data), 0, sizeof(data));
  data.list = list___3;
  data.colopts = colopts___3;
  data.opts = (struct column_options )*opts___1;
  tmp = st_mult(sizeof(*(data.len)), (size_t )list___3->nr);
  tmp___0 = xmalloc(tmp);
  data.len = (int *)tmp___0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < list___3->nr)) {
      goto while_break;
    }
    *(data.len + i) = item_length((char const   *)(list___3->items + i)->string);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  layout(& data, & initial_width);
  if (colopts___3 & 128U) {
    shrink_columns(& data);
  }
  tmp___1 = xmallocz((size_t )initial_width);
  empty_cell = (char *)tmp___1;
  memset((void *)empty_cell, ' ', (size_t )initial_width);
  y = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (y < data.rows)) {
      goto while_break___0;
    }
    x = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (x < data.cols)) {
        goto while_break___1;
      }
      tmp___2 = display_cell(& data, initial_width, (char const   *)empty_cell, x,
                             y);
      if (tmp___2) {
        goto while_break___1;
      }
      x ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    y ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)data.len);
  free((void *)data.width);
  free((void *)empty_cell);
  return;
}
}
void print_columns(struct string_list  const  *list___3 , unsigned int colopts___3 ,
                   struct column_options  const  *opts___1 )
{
  struct column_options nopts ;
  int tmp ;
  int tmp___0 ;

  {
  if (! list___3->nr) {
    return;
  }
  assert((colopts___3 & 48U) != 32U);
  memset((void *)(& nopts), 0, sizeof(nopts));
  if (opts___1) {
    if (opts___1->indent) {
      nopts.indent = (char const   *)opts___1->indent;
    } else {
      nopts.indent = (char const   *)"";
    }
  } else {
    nopts.indent = (char const   *)"";
  }
  if (opts___1) {
    if (opts___1->nl) {
      nopts.nl = (char const   *)opts___1->nl;
    } else {
      nopts.nl = (char const   *)"\n";
    }
  } else {
    nopts.nl = (char const   *)"\n";
  }
  if (opts___1) {
    nopts.padding = (int )opts___1->padding;
  } else {
    nopts.padding = 1;
  }
  if (opts___1) {
    if (opts___1->width) {
      nopts.width = (int )opts___1->width;
    } else {
      tmp = term_columns();
      nopts.width = tmp - 1;
    }
  } else {
    tmp = term_columns();
    nopts.width = tmp - 1;
  }
  tmp___0 = column_active(colopts___3);
  if (! tmp___0) {
    display_plain(list___3, (char const   *)"", (char const   *)"\n");
    return;
  }
  {
  if ((colopts___3 & 15U) == 15U) {
    goto case_15;
  }
  if ((colopts___3 & 15U) == 0U) {
    goto case_0;
  }
  if ((colopts___3 & 15U) == 1U) {
    goto case_0;
  }
  goto switch_default;
  case_15: /* CIL Label */
  display_plain(list___3, nopts.indent, nopts.nl);
  goto switch_break;
  case_0: /* CIL Label */
  case_1: /* CIL Label */
  display_table(list___3, colopts___3, (struct column_options  const  *)(& nopts));
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"column.c", 206, (char const   *)"invalid layout mode %d",
         colopts___3 & 15U);
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
int finalize_colopts(unsigned int *colopts___3 , int stdout_is_tty )
{
  int tmp ;

  {
  if ((*colopts___3 & 48U) == 32U) {
    if (stdout_is_tty < 0) {
      stdout_is_tty = isatty(1);
    }
    *colopts___3 &= 4294967247U;
    if (stdout_is_tty) {
      *colopts___3 |= 16U;
    } else {
      tmp = pager_in_use();
      if (tmp) {
        *colopts___3 |= 16U;
      }
    }
  }
  return (0);
}
}
static int parse_option(char const   *arg , int len___0 , unsigned int *colopts___3 ,
                        int *group_set )
{
  struct colopt opts___1[7] ;
  int i ;
  int set ;
  int arg_len ;
  int name_len ;
  char const   *arg_str ;
  int tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  opts___1[0].name = (char const   *)"always";
  opts___1[0].value = 16U;
  opts___1[0].mask = 48U;
  opts___1[1].name = (char const   *)"never";
  opts___1[1].value = 0U;
  opts___1[1].mask = 48U;
  opts___1[2].name = (char const   *)"auto";
  opts___1[2].value = 32U;
  opts___1[2].mask = 48U;
  opts___1[3].name = (char const   *)"plain";
  opts___1[3].value = 15U;
  opts___1[3].mask = 15U;
  opts___1[4].name = (char const   *)"column";
  opts___1[4].value = 0U;
  opts___1[4].mask = 15U;
  opts___1[5].name = (char const   *)"row";
  opts___1[5].value = 1U;
  opts___1[5].mask = 15U;
  opts___1[6].name = (char const   *)"dense";
  opts___1[6].value = 128U;
  opts___1[6].mask = 0U;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(opts___1) / sizeof(opts___1[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    set = 1;
    arg_len = len___0;
    arg_str = arg;
    if (! opts___1[i].mask) {
      if (arg_len > 2) {
        tmp = strncmp(arg_str, (char const   *)"no", (size_t )2);
        if (! tmp) {
          arg_str += 2;
          arg_len -= 2;
          set = 0;
        }
      }
    }
    tmp___0 = strlen(opts___1[i].name);
    name_len = (int )tmp___0;
    if (arg_len != name_len) {
      goto __Cont;
    } else {
      tmp___1 = strncmp(arg_str, opts___1[i].name, (size_t )name_len);
      if (tmp___1) {
        goto __Cont;
      }
    }
    {
    if (opts___1[i].mask == 48U) {
      goto case_48;
    }
    if (opts___1[i].mask == 15U) {
      goto case_15;
    }
    goto switch_break;
    case_48: /* CIL Label */
    *group_set |= 2;
    goto switch_break;
    case_15: /* CIL Label */
    *group_set |= 1;
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    if (opts___1[i].mask) {
      *colopts___3 = (*colopts___3 & ~ opts___1[i].mask) | opts___1[i].value;
    } else
    if (set) {
      *colopts___3 |= opts___1[i].value;
    } else {
      *colopts___3 &= ~ opts___1[i].value;
    }
    return (0);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  error((char const   *)"unsupported option \'%s\'", arg);
  tmp___2 = const_error();
  return (tmp___2);
}
}
static int parse_config(unsigned int *colopts___3 , char const   *value )
{
  char const   *sep ;
  int group_set ;
  int len___0 ;
  size_t tmp ;
  int tmp___0 ;
  size_t tmp___1 ;

  {
  sep = (char const   *)" ,";
  group_set = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *value) {
      goto while_break;
    }
    tmp = strcspn(value, sep);
    len___0 = (int )tmp;
    if (len___0) {
      tmp___0 = parse_option(value, len___0, colopts___3, & group_set);
      if (tmp___0) {
        return (-1);
      }
      value += len___0;
    }
    tmp___1 = strspn(value, sep);
    value += tmp___1;
  }
  while_break: /* CIL Label */ ;
  }
  if (group_set & 1) {
    if (! (group_set & 2)) {
      *colopts___3 = (*colopts___3 & 4294967247U) | 16U;
    }
  }
  return (0);
}
}
static int column_config(char const   *var , char const   *value , char const   *key___1 ,
                         unsigned int *colopts___3 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! value) {
    config_error_nonbool(var);
    tmp = const_error();
    return (tmp);
  }
  tmp___1 = parse_config(colopts___3, value);
  if (tmp___1) {
    error((char const   *)"invalid column.%s mode %s", key___1, value);
    tmp___0 = const_error();
    return (tmp___0);
  }
  return (0);
}
}
int git_column_config(char const   *var , char const   *value , char const   *command___0 ,
                      unsigned int *colopts___3 )
{
  char const   *it ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = skip_prefix(var, (char const   *)"column.", & it);
  if (! tmp) {
    return (0);
  }
  tmp___1 = strcmp(it, (char const   *)"ui");
  if (! tmp___1) {
    tmp___0 = column_config(var, value, (char const   *)"ui", colopts___3);
    return (tmp___0);
  }
  if (command___0) {
    tmp___3 = strcmp(it, command___0);
    if (! tmp___3) {
      tmp___2 = column_config(var, value, it, colopts___3);
      return (tmp___2);
    }
  }
  return (0);
}
}
int parseopt_column_callback(struct option  const  *opt___0 , char const   *arg ,
                             int unset )
{
  unsigned int *colopts___3 ;
  int tmp ;

  {
  colopts___3 = (unsigned int *)opt___0->value;
  *colopts___3 |= 64U;
  *colopts___3 &= 4294967247U;
  if (unset) {
    return (0);
  }
  *colopts___3 |= 16U;
  if (arg) {
    tmp = parse_config(colopts___3, arg);
    return (tmp);
  }
  return (0);
}
}
static int fd_out  =    -1;
static struct child_process column_process  =
     {{empty_strvec, 0UL, 0UL}, {empty_strvec, 0UL, 0UL}, 0, 0, 0UL, (char const   *)0,
    (char const   *)0, 0, 0, 0, (char const   *)0, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U,
    0U, 0U, (void (*)(struct child_process *process ))0, (void *)0};
int run_column_filter(int colopts___3 , struct column_options  const  *opts___1 )
{
  struct strvec *argv___0 ;
  int tmp ;

  {
  if (fd_out != -1) {
    return (-1);
  }
  child_process_init(& column_process);
  argv___0 = & column_process.args;
  strvec_push(argv___0, (char const   *)"column");
  strvec_pushf(argv___0, (char const   *)"--raw-mode=%d", colopts___3);
  if (opts___1) {
    if (opts___1->width) {
      strvec_pushf(argv___0, (char const   *)"--width=%d", opts___1->width);
    }
  }
  if (opts___1) {
    if (opts___1->indent) {
      strvec_pushf(argv___0, (char const   *)"--indent=%s", opts___1->indent);
    }
  }
  if (opts___1) {
    if (opts___1->padding) {
      strvec_pushf(argv___0, (char const   *)"--padding=%d", opts___1->padding);
    }
  }
  fflush(stdout);
  column_process.in = -1;
  column_process.out = dup(1);
  column_process.git_cmd = 1U;
  tmp = start_command(& column_process);
  if (tmp) {
    return (-2);
  }
  fd_out = dup(1);
  close(1);
  dup2(column_process.in, 1);
  close(column_process.in);
  return (0);
}
}
int stop_column_filter(void)
{


  {
  if (fd_out == -1) {
    return (-1);
  }
  fflush(stdout);
  close(1);
  finish_command(& column_process);
  dup2(fd_out, 1);
  close(fd_out);
  fd_out = -1;
  return (0);
}
}
static double const   __ac_HASH_UPPER___14  =    (double const   )0.77;
__inline static void kh_resize_oid_set___14(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___14(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___14 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___14 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___14(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___14(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___14(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___14(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___14(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___14(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___14 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___14 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___14(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___14(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___14(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___14(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___14(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___14(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___14 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___14 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___14(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___14(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___14(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___14(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___11(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___11(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___14 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___14 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___11(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___11(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___11(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___11(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int compare_paths(struct combine_diff_path  const  *one___0 , struct diff_filespec  const  *two___0 )
{
  int tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  int tmp___2 ;

  {
  if (! ((one___0->mode & 61440U) == 16384U)) {
    if (! (((int )two___0->mode & 61440) == 16384)) {
      tmp = strcmp((char const   *)one___0->path, (char const   *)two___0->path);
      return (tmp);
    }
  }
  tmp___0 = strlen((char const   *)two___0->path);
  tmp___1 = strlen((char const   *)one___0->path);
  tmp___2 = base_name_compare((char const   *)one___0->path, (int )tmp___1, (int )one___0->mode,
                              (char const   *)two___0->path, (int )tmp___0, (int )two___0->mode);
  return (tmp___2);
}
}
static int filename_changed(char status )
{
  int tmp ;

  {
  if ((int )status == 82) {
    tmp = 1;
  } else
  if ((int )status == 67) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static struct combine_diff_path *intersect_paths(struct combine_diff_path *curr ,
                                                 int n , int num_parent , int combined_all_paths )
{
  struct diff_queue_struct *q ;
  struct combine_diff_path *p___0 ;
  struct combine_diff_path **tail ;
  int i ;
  int j ;
  int cmp___0 ;
  int len___0 ;
  char const   *path___6 ;
  int tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  q = & diff_queued_diff;
  tail = & curr;
  if (! n) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < q->nr)) {
        goto while_break;
      }
      tmp = diff_unmodified_pair(*(q->queue + i));
      if (tmp) {
        goto __Cont;
      }
      path___6 = (char const   *)((*(q->queue + i))->two)->path;
      tmp___0 = strlen(path___6);
      len___0 = (int )tmp___0;
      tmp___1 = st_mult(sizeof(struct combine_diff_parent ), (size_t )num_parent);
      tmp___2 = st_add(sizeof(struct combine_diff_path ), (size_t )len___0);
      tmp___3 = st_add(tmp___2, (size_t )1);
      tmp___4 = st_add(tmp___3, tmp___1);
      tmp___5 = xmalloc(tmp___4);
      p___0 = (struct combine_diff_path *)tmp___5;
      p___0->path = (char *)(& p___0->parent[num_parent]);
      memcpy((void *)p___0->path, (void const   *)path___6, (size_t )len___0);
      *(p___0->path + len___0) = (char)0;
      p___0->next = (struct combine_diff_path *)((void *)0);
      memset((void *)(p___0->parent), 0, sizeof(p___0->parent[0]) * (unsigned long )num_parent);
      oidcpy(& p___0->oid, (struct object_id  const  *)(& ((*(q->queue + i))->two)->oid));
      p___0->mode = (unsigned int )((*(q->queue + i))->two)->mode;
      oidcpy(& p___0->parent[n].oid, (struct object_id  const  *)(& ((*(q->queue + i))->one)->oid));
      p___0->parent[n].mode = (unsigned int )((*(q->queue + i))->one)->mode;
      p___0->parent[n].status = (*(q->queue + i))->status;
      if (combined_all_paths) {
        tmp___6 = filename_changed(p___0->parent[n].status);
        if (tmp___6) {
          strbuf_init(& p___0->parent[n].path, (size_t )0);
          strbuf_addstr(& p___0->parent[n].path, (char const   *)((*(q->queue + i))->one)->path);
        }
      }
      *tail = p___0;
      tail = & p___0->next;
      __Cont: /* CIL Label */
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    return (curr);
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    p___0 = *tail;
    if (! ((unsigned long )p___0 != (unsigned long )((void *)0))) {
      goto while_break___0;
    }
    if (i >= q->nr) {
      cmp___0 = -1;
    } else {
      tmp___7 = compare_paths((struct combine_diff_path  const  *)p___0, (struct diff_filespec  const  *)(*(q->queue + i))->two);
      cmp___0 = tmp___7;
    }
    if (cmp___0 < 0) {
      *tail = p___0->next;
      j = 0;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! (j < num_parent)) {
          goto while_break___1;
        }
        if (combined_all_paths) {
          tmp___8 = filename_changed(p___0->parent[j].status);
          if (tmp___8) {
            strbuf_release(& p___0->parent[j].path);
          }
        }
        j ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      free((void *)p___0);
      goto while_continue___0;
    }
    if (cmp___0 > 0) {
      i ++;
      goto while_continue___0;
    }
    oidcpy(& p___0->parent[n].oid, (struct object_id  const  *)(& ((*(q->queue + i))->one)->oid));
    p___0->parent[n].mode = (unsigned int )((*(q->queue + i))->one)->mode;
    p___0->parent[n].status = (*(q->queue + i))->status;
    if (combined_all_paths) {
      tmp___9 = filename_changed(p___0->parent[n].status);
      if (tmp___9) {
        strbuf_addstr(& p___0->parent[n].path, (char const   *)((*(q->queue + i))->one)->path);
      }
    }
    tail = & p___0->next;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (curr);
}
}
static int match_string_spaces(char const   *line1 , int len1 , char const   *line2 ,
                               int len2 , long flags___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  if (flags___0 & (long )((((1 << 1) | (1 << 2)) | (1 << 3)) | (1 << 4))) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (len1 > 0) {
        if (! (((int const   )sane_ctype[(unsigned char )*(line1 + (len1 - 1))] & 1) != 0)) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      len1 --;
    }
    while_break: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (len2 > 0) {
        if (! (((int const   )sane_ctype[(unsigned char )*(line2 + (len2 - 1))] & 1) != 0)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      len2 --;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  if (! (flags___0 & (long )((1 << 1) | (1 << 2)))) {
    if (len1 == len2) {
      tmp = memcmp((void const   *)line1, (void const   *)line2, (size_t )len1);
      if (tmp) {
        tmp___0 = 0;
      } else {
        tmp___0 = 1;
      }
    } else {
      tmp___0 = 0;
    }
    return (tmp___0);
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (len1 > 0) {
      if (! (len2 > 0)) {
        goto while_break___1;
      }
    } else {
      goto while_break___1;
    }
    len1 --;
    len2 --;
    if (((int const   )sane_ctype[(unsigned char )*(line1 + len1)] & 1) != 0) {
      goto _L;
    } else
    if (((int const   )sane_ctype[(unsigned char )*(line2 + len2)] & 1) != 0) {
      _L: /* CIL Label */
      if (flags___0 & (long )(1 << 2)) {
        if (! (((int const   )sane_ctype[(unsigned char )*(line1 + len1)] & 1) != 0)) {
          return (0);
        } else
        if (! (((int const   )sane_ctype[(unsigned char )*(line2 + len2)] & 1) != 0)) {
          return (0);
        }
      }
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (len1 > 0) {
          if (! (((int const   )sane_ctype[(unsigned char )*(line1 + len1)] & 1) != 0)) {
            goto while_break___2;
          }
        } else {
          goto while_break___2;
        }
        len1 --;
      }
      while_break___2: /* CIL Label */ ;
      }
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if (len2 > 0) {
          if (! (((int const   )sane_ctype[(unsigned char )*(line2 + len2)] & 1) != 0)) {
            goto while_break___3;
          }
        } else {
          goto while_break___3;
        }
        len2 --;
      }
      while_break___3: /* CIL Label */ ;
      }
    }
    if ((int const   )*(line1 + len1) != (int const   )*(line2 + len2)) {
      return (0);
    }
  }
  while_break___1: /* CIL Label */ ;
  }
  if (flags___0 & (long )(1 << 1)) {
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (len1 > 0) {
        if (! (((int const   )sane_ctype[(unsigned char )*(line1 + (len1 - 1))] & 1) != 0)) {
          goto while_break___4;
        }
      } else {
        goto while_break___4;
      }
      len1 --;
    }
    while_break___4: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      if (len2 > 0) {
        if (! (((int const   )sane_ctype[(unsigned char )*(line2 + (len2 - 1))] & 1) != 0)) {
          goto while_break___5;
        }
      } else {
        goto while_break___5;
      }
      len2 --;
    }
    while_break___5: /* CIL Label */ ;
    }
  }
  if (! len1) {
    if (! len2) {
      return (1);
    }
  }
  return (0);
}
}
static struct lline *coalesce_lines(struct lline *base , int *lenbase , struct lline *newline ,
                                    int lennew , unsigned long parent , long flags___0 )
{
  int **lcs ;
  enum coalesce_direction **directions ;
  struct lline *baseend ;
  struct lline *newend ;
  int i ;
  int j ;
  int origbaselen ;
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  int tmp___7 ;
  struct lline *lline ;
  struct lline *lline___0 ;

  {
  newend = (struct lline *)((void *)0);
  origbaselen = *lenbase;
  if ((unsigned long )newline == (unsigned long )((void *)0)) {
    return (base);
  }
  if ((unsigned long )base == (unsigned long )((void *)0)) {
    *lenbase = lennew;
    return (newline);
  }
  tmp = st_add((size_t )origbaselen, (size_t )1);
  tmp___0 = xcalloc(tmp, sizeof(*lcs));
  lcs = (int **)tmp___0;
  tmp___1 = st_add((size_t )origbaselen, (size_t )1);
  tmp___2 = xcalloc(tmp___1, sizeof(*directions));
  directions = (enum coalesce_direction **)tmp___2;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < origbaselen + 1)) {
      goto while_break;
    }
    tmp___3 = st_add((size_t )lennew, (size_t )1);
    tmp___4 = xcalloc(tmp___3, sizeof(*(*(lcs + i))));
    *(lcs + i) = (int *)tmp___4;
    tmp___5 = st_add((size_t )lennew, (size_t )1);
    tmp___6 = xcalloc(tmp___5, sizeof(*(*(directions + i))));
    *(directions + i) = (enum coalesce_direction *)tmp___6;
    *(*(directions + i) + 0) = (enum coalesce_direction )1;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  j = 1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (j < lennew + 1)) {
      goto while_break___0;
    }
    *(*(directions + 0) + j) = (enum coalesce_direction )2;
    j ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 1;
  baseend = base;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < origbaselen + 1)) {
      goto while_break___1;
    }
    j = 1;
    newend = newline;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (j < lennew + 1)) {
        goto while_break___2;
      }
      tmp___7 = match_string_spaces((char const   *)(baseend->line), baseend->len,
                                    (char const   *)(newend->line), newend->len, flags___0);
      if (tmp___7) {
        *(*(lcs + i) + j) = *(*(lcs + (i - 1)) + (j - 1)) + 1;
        *(*(directions + i) + j) = (enum coalesce_direction )0;
      } else
      if (*(*(lcs + i) + (j - 1)) >= *(*(lcs + (i - 1)) + j)) {
        *(*(lcs + i) + j) = *(*(lcs + i) + (j - 1));
        *(*(directions + i) + j) = (enum coalesce_direction )2;
      } else {
        *(*(lcs + i) + j) = *(*(lcs + (i - 1)) + j);
        *(*(directions + i) + j) = (enum coalesce_direction )1;
      }
      if (newend->next) {
        newend = newend->next;
      }
      j ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    if (baseend->next) {
      baseend = baseend->next;
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! (i < origbaselen + 1)) {
      goto while_break___3;
    }
    free((void *)*(lcs + i));
    i ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  free((void *)lcs);
  i --;
  j --;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! (i != 0)) {
      if (! (j != 0)) {
        goto while_break___4;
      }
    }
    if ((unsigned int )*(*(directions + i) + j) == 0U) {
      baseend->parent_map |= (unsigned long )(1 << parent);
      baseend = baseend->prev;
      newend = newend->prev;
      i --;
      j --;
    } else
    if ((unsigned int )*(*(directions + i) + j) == 2U) {
      lline = newend;
      if (lline->prev) {
        (lline->prev)->next = lline->next;
      } else {
        newline = lline->next;
      }
      if (lline->next) {
        (lline->next)->prev = lline->prev;
      }
      newend = lline->prev;
      j --;
      if (baseend) {
        lline->next = baseend->next;
        lline->prev = baseend;
        if (lline->prev) {
          (lline->prev)->next = lline;
        }
      } else {
        lline->next = base;
        base = lline;
      }
      (*lenbase) ++;
      if (lline->next) {
        (lline->next)->prev = lline;
      }
    } else {
      baseend = baseend->prev;
      i --;
    }
  }
  while_break___4: /* CIL Label */ ;
  }
  newend = newline;
  {
  while (1) {
    while_continue___5: /* CIL Label */ ;
    if (! newend) {
      goto while_break___5;
    }
    lline___0 = newend;
    newend = newend->next;
    free((void *)lline___0);
  }
  while_break___5: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___6: /* CIL Label */ ;
    if (! (i < origbaselen + 1)) {
      goto while_break___6;
    }
    free((void *)*(directions + i));
    i ++;
  }
  while_break___6: /* CIL Label */ ;
  }
  free((void *)directions);
  return (base);
}
}
static char *grab_blob(struct repository *r , struct object_id  const  *oid , unsigned int mode___1 ,
                       unsigned long *size , struct userdiff_driver *textconv , char const   *path___6 )
{
  char *blob ;
  enum object_type type___0 ;
  struct strbuf buf___19 ;
  char *tmp ;
  void *tmp___0 ;
  struct diff_filespec *df ;
  struct diff_filespec *tmp___1 ;
  void *tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;

  {
  if ((mode___1 & 61440U) == 57344U) {
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    tmp = oid_to_hex(oid);
    strbuf_addf(& buf___19, (char const   *)"Subproject commit %s\n", tmp);
    *size = buf___19.len;
    blob = strbuf_detach(& buf___19, (size_t *)((void *)0));
  } else {
    tmp___4 = is_null_oid(oid);
    if (tmp___4) {
      *size = 0UL;
      tmp___0 = xcalloc((size_t )1, (size_t )1);
      return ((char *)tmp___0);
    } else
    if (textconv) {
      tmp___1 = alloc_filespec(path___6);
      df = tmp___1;
      fill_filespec(df, oid, 1, (unsigned short )mode___1);
      *size = fill_textconv(r, textconv, df, & blob);
      free_filespec(df);
    } else {
      tmp___2 = repo_read_object_file(the_repository, oid, & type___0, size);
      blob = (char *)tmp___2;
      if ((int )type___0 != 3) {
        tmp___3 = oid_to_hex(oid);
        die((char const   *)"object \'%s\' is not a blob!", tmp___3);
      }
    }
  }
  return (blob);
}
}
static void append_lost(struct sline *sline , int n , char const   *line___0 , int len___0 )
{
  struct lline *lline ;
  unsigned long this_mask ;
  size_t flex_array_len_ ;
  size_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  this_mask = 1UL << n;
  if ((int const   )*(line___0 + (len___0 - 1)) == 10) {
    len___0 --;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    flex_array_len_ = (size_t )len___0;
    tmp = st_add(sizeof(*lline), flex_array_len_);
    tmp___0 = st_add(tmp, (size_t )1);
    tmp___1 = xcalloc((size_t )1, tmp___0);
    lline = (struct lline *)tmp___1;
    memcpy((void *)(lline->line), (void const   *)line___0, flex_array_len_);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  lline->len = len___0;
  lline->next = (struct lline *)((void *)0);
  lline->prev = sline->plost.lost_tail;
  if (lline->prev) {
    (lline->prev)->next = lline;
  } else {
    sline->plost.lost_head = lline;
  }
  sline->plost.lost_tail = lline;
  (sline->plost.len) ++;
  lline->parent_map = this_mask;
  return;
}
}
static void consume_hunk(void *state_ , long ob , long on , long nb , long nn , char const   *funcline ,
                         long funclen )
{
  struct combine_diff_state *state___1 ;
  void *tmp ;

  {
  state___1 = (struct combine_diff_state *)state_;
  state___1->ob = (int )ob;
  state___1->on = (int )on;
  state___1->nb = (int )nb;
  state___1->nn = (int )nn;
  state___1->lno = (unsigned int )state___1->nb;
  if (state___1->nn == 0) {
    state___1->lost_bucket = state___1->sline + state___1->nb;
    if (! state___1->nb) {
      state___1->nb = 1;
    }
  } else {
    state___1->lost_bucket = state___1->sline + (state___1->nb - 1);
  }
  if (! (state___1->sline + (state___1->nb - 1))->p_lno) {
    tmp = xcalloc((size_t )state___1->num_parent, sizeof(*((state___1->sline + (state___1->nb - 1))->p_lno)));
    (state___1->sline + (state___1->nb - 1))->p_lno = (unsigned long *)tmp;
  }
  *((state___1->sline + (state___1->nb - 1))->p_lno + state___1->n) = (unsigned long )state___1->ob;
  return;
}
}
static int consume_line(void *state_ , char *line___0 , unsigned long len___0 )
{
  struct combine_diff_state *state___1 ;

  {
  state___1 = (struct combine_diff_state *)state_;
  if (! state___1->lost_bucket) {
    return (0);
  }
  {
  if ((int )*(line___0 + 0) == 45) {
    goto case_45;
  }
  if ((int )*(line___0 + 0) == 43) {
    goto case_43;
  }
  goto switch_break;
  case_45: /* CIL Label */
  append_lost(state___1->lost_bucket, state___1->n, (char const   *)(line___0 + 1),
              (int )(len___0 - 1UL));
  goto switch_break;
  case_43: /* CIL Label */
  (state___1->sline + (state___1->lno - 1U))->flag |= state___1->nmask;
  (state___1->lno) ++;
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void combine_diff(struct repository *r , struct object_id  const  *parent ,
                         unsigned int mode___1 , mmfile_t *result_file , struct sline *sline ,
                         unsigned int cnt , int n , int num_parent , int result_deleted ,
                         struct userdiff_driver *textconv , char const   *path___6 ,
                         long flags___0 )
{
  unsigned int p_lno ;
  unsigned int lno ;
  unsigned long nmask ;
  xpparam_t xpp ;
  xdemitconf_t xecfg ;
  mmfile_t parent_file ;
  struct combine_diff_state state___1 ;
  unsigned long sz ;
  char *tmp ;
  int tmp___0 ;
  struct lline *ll ;
  struct sline *sl ;
  struct lline *tmp___1 ;

  {
  nmask = 1UL << n;
  if (result_deleted) {
    return;
  }
  parent_file.ptr = grab_blob(r, parent, mode___1, & sz, textconv, path___6);
  parent_file.size = (long )sz;
  memset((void *)(& xpp), 0, sizeof(xpp));
  xpp.flags = (unsigned long )flags___0;
  memset((void *)(& xecfg), 0, sizeof(xecfg));
  memset((void *)(& state___1), 0, sizeof(state___1));
  state___1.nmask = nmask;
  state___1.sline = sline;
  state___1.lno = 1U;
  state___1.num_parent = num_parent;
  state___1.n = n;
  tmp___0 = xdi_diff_outf(& parent_file, result_file, & consume_hunk, & consume_line,
                          (void *)(& state___1), (xpparam_t const   *)(& xpp), (xdemitconf_t const   *)(& xecfg));
  if (tmp___0) {
    tmp = oid_to_hex(parent);
    die((char const   *)"unable to generate combined diff for %s", tmp);
  }
  free((void *)parent_file.ptr);
  lno = 0U;
  p_lno = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (lno <= cnt)) {
      goto while_break;
    }
    *((sline + lno)->p_lno + n) = (unsigned long )p_lno;
    if ((sline + lno)->plost.lost_head) {
      sl = sline + lno;
      sl->lost = coalesce_lines(sl->lost, & sl->lenlost, sl->plost.lost_head, sl->plost.len,
                                (unsigned long )n, flags___0);
      tmp___1 = (struct lline *)((void *)0);
      sl->plost.lost_tail = tmp___1;
      sl->plost.lost_head = tmp___1;
      sl->plost.len = 0;
    }
    ll = (sline + lno)->lost;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ll) {
        goto while_break___0;
      }
      if (ll->parent_map & nmask) {
        p_lno ++;
      }
      ll = ll->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (lno < cnt) {
      if (! ((sline + lno)->flag & nmask)) {
        p_lno ++;
      }
    }
    lno ++;
  }
  while_break: /* CIL Label */ ;
  }
  *((sline + lno)->p_lno + n) = (unsigned long )p_lno;
  return;
}
}
static unsigned long context  =    3UL;
static char combine_marker  =    (char )'@';
static int interesting(struct sline *sline , unsigned long all_mask )
{
  int tmp ;

  {
  if (sline->flag & all_mask) {
    tmp = 1;
  } else
  if (sline->lost) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static unsigned long adjust_hunk_tail(struct sline *sline , unsigned long all_mask ,
                                      unsigned long hunk_begin , unsigned long i )
{


  {
  if (hunk_begin + 1UL <= i) {
    if (! ((sline + (i - 1UL))->flag & all_mask)) {
      i --;
    }
  }
  return (i);
}
}
static unsigned long find_next(struct sline *sline , unsigned long mark , unsigned long i ,
                               unsigned long cnt , int look_for_uninteresting )
{
  unsigned long tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i <= cnt)) {
      goto while_break;
    }
    if (look_for_uninteresting) {
      tmp = (unsigned long )(! ((sline + i)->flag & mark));
    } else {
      tmp = (sline + i)->flag & mark;
    }
    if (tmp) {
      return (i);
    } else {
      i ++;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (i);
}
}
static int give_context(struct sline *sline , unsigned long cnt , int num_parent )
{
  unsigned long all_mask ;
  unsigned long mark ;
  unsigned long no_pre_delete ;
  unsigned long i ;
  unsigned long j ;
  unsigned long tmp ;
  unsigned long k ;
  unsigned long tmp___0 ;
  unsigned long tmp___1 ;
  unsigned long tmp___2 ;

  {
  all_mask = (1UL << num_parent) - 1UL;
  mark = 1UL << num_parent;
  no_pre_delete = 2UL << num_parent;
  i = find_next(sline, mark, 0UL, cnt, 0);
  if (cnt < i) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i <= cnt)) {
      goto while_break;
    }
    if (context < i) {
      tmp = i - context;
    } else {
      tmp = 0UL;
    }
    j = tmp;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < i)) {
        goto while_break___0;
      }
      if (! ((sline + j)->flag & mark)) {
        (sline + j)->flag |= no_pre_delete;
      }
      tmp___0 = j;
      j ++;
      (sline + tmp___0)->flag |= mark;
    }
    while_break___0: /* CIL Label */ ;
    }
    again:
    j = find_next(sline, mark, i, cnt, 1);
    if (cnt < j) {
      goto while_break;
    }
    k = find_next(sline, mark, j, cnt, 0);
    j = adjust_hunk_tail(sline, all_mask, i, j);
    if (k < j + context) {
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! (j < k)) {
          goto while_break___1;
        }
        tmp___1 = j;
        j ++;
        (sline + tmp___1)->flag |= mark;
      }
      while_break___1: /* CIL Label */ ;
      }
      i = k;
      goto again;
    }
    i = k;
    if (j + context < cnt + 1UL) {
      k = j + context;
    } else {
      k = cnt + 1UL;
    }
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (j < k)) {
        goto while_break___2;
      }
      tmp___2 = j;
      j ++;
      (sline + tmp___2)->flag |= mark;
    }
    while_break___2: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static int make_hunks(struct sline *sline , unsigned long cnt , int num_parent , int dense )
{
  unsigned long all_mask ;
  unsigned long mark ;
  unsigned long i ;
  int has_interesting ;
  int tmp ;
  int tmp___0 ;
  unsigned long j ;
  unsigned long hunk_begin ;
  unsigned long hunk_end ;
  unsigned long same_diff ;
  unsigned long la ;
  int contin ;
  unsigned long this_diff ;
  struct lline *ll ;

  {
  all_mask = (1UL << num_parent) - 1UL;
  mark = 1UL << num_parent;
  has_interesting = 0;
  i = 0UL;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i <= cnt)) {
      goto while_break;
    }
    tmp = interesting(sline + i, all_mask);
    if (tmp) {
      (sline + i)->flag |= mark;
    } else {
      (sline + i)->flag &= ~ mark;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! dense) {
    tmp___0 = give_context(sline, cnt, num_parent);
    return (tmp___0);
  }
  i = 0UL;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i <= cnt)) {
      goto while_break___0;
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (i <= cnt) {
        if (! (! ((sline + i)->flag & mark))) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (cnt < i) {
      goto while_break___0;
    }
    hunk_begin = i;
    j = i + 1UL;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (j <= cnt)) {
        goto while_break___2;
      }
      if (! ((sline + j)->flag & mark)) {
        contin = 0;
        la = adjust_hunk_tail(sline, all_mask, hunk_begin, j);
        if (la + context < cnt + 1UL) {
          la += context;
        } else {
          la = cnt + 1UL;
        }
        {
        while (1) {
          while_continue___3: /* CIL Label */ ;
          if (la) {
            la --;
            if (! (j <= la)) {
              goto while_break___3;
            }
          } else {
            goto while_break___3;
          }
          if ((sline + la)->flag & mark) {
            contin = 1;
            goto while_break___3;
          }
        }
        while_break___3: /* CIL Label */ ;
        }
        if (! contin) {
          goto while_break___2;
        }
        j = la;
      }
      j ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    hunk_end = j;
    same_diff = 0UL;
    has_interesting = 0;
    j = i;
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (j < hunk_end) {
        if (! (! has_interesting)) {
          goto while_break___4;
        }
      } else {
        goto while_break___4;
      }
      this_diff = (sline + j)->flag & all_mask;
      ll = (sline + j)->lost;
      if (this_diff) {
        if (! same_diff) {
          same_diff = this_diff;
        } else
        if (same_diff != this_diff) {
          has_interesting = 1;
          goto while_break___4;
        }
      }
      {
      while (1) {
        while_continue___5: /* CIL Label */ ;
        if (ll) {
          if (! (! has_interesting)) {
            goto while_break___5;
          }
        } else {
          goto while_break___5;
        }
        this_diff = ll->parent_map;
        if (! same_diff) {
          same_diff = this_diff;
        } else
        if (same_diff != this_diff) {
          has_interesting = 1;
        }
        ll = ll->next;
      }
      while_break___5: /* CIL Label */ ;
      }
      j ++;
    }
    while_break___4: /* CIL Label */ ;
    }
    if (! has_interesting) {
      if (same_diff != all_mask) {
        j = hunk_begin;
        {
        while (1) {
          while_continue___6: /* CIL Label */ ;
          if (! (j < hunk_end)) {
            goto while_break___6;
          }
          (sline + j)->flag &= ~ mark;
          j ++;
        }
        while_break___6: /* CIL Label */ ;
        }
      }
    }
    i = hunk_end;
  }
  while_break___0: /* CIL Label */ ;
  }
  has_interesting = give_context(sline, cnt, num_parent);
  return (has_interesting);
}
}
static void show_parent_lno(struct sline *sline , unsigned long l0 , unsigned long l1 ,
                            int n , unsigned long null_context )
{


  {
  l0 = *((sline + l0)->p_lno + n);
  l1 = *((sline + l1)->p_lno + n);
  printf((char const   *)" -%lu,%lu", l0, (l1 - l0) - null_context);
  return;
}
}
static int hunk_comment_line(char const   *bol )
{
  int ch___0 ;
  int tmp ;

  {
  if (! bol) {
    return (0);
  }
  ch___0 = (int )((int const   )*bol & 255);
  if (((int const   )sane_ctype[(unsigned char )ch___0] & 4) != 0) {
    tmp = 1;
  } else
  if (ch___0 == 95) {
    tmp = 1;
  } else
  if (ch___0 == 36) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static void show_line_to_eol(char const   *line___0 , int len___0 , char const   *reset )
{
  int saw_cr_at_eol ;
  size_t tmp ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  saw_cr_at_eol = 0;
  if (len___0 < 0) {
    tmp = strlen(line___0);
    len___0 = (int )tmp;
  }
  if (len___0) {
    if ((int const   )*(line___0 + (len___0 - 1)) == 13) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  saw_cr_at_eol = tmp___0;
  if (saw_cr_at_eol) {
    tmp___1 = "\r";
  } else {
    tmp___1 = "";
  }
  printf((char const   *)"%.*s%s%s\n", len___0 - saw_cr_at_eol, line___0, reset, tmp___1);
  return;
}
}
static void dump_sline(struct sline *sline , char const   *line_prefix , unsigned long cnt ,
                       int num_parent , int use_color , int result_deleted )
{
  unsigned long mark ;
  unsigned long no_pre_delete ;
  int i ;
  unsigned long lno ;
  char const   *c_frag ;
  char const   *tmp ;
  char const   *c_func ;
  char const   *tmp___0 ;
  char const   *c_new ;
  char const   *tmp___1 ;
  char const   *c_old ;
  char const   *tmp___2 ;
  char const   *c_context ;
  char const   *tmp___3 ;
  char const   *c_reset ;
  char const   *tmp___4 ;
  unsigned long hunk_end ;
  unsigned long rlines ;
  char const   *hunk_comment ;
  unsigned long null_context ;
  int tmp___5 ;
  unsigned long j ;
  int comment_end ;
  int ch___0 ;
  struct lline *ll ;
  int j___0 ;
  unsigned long p_mask ;
  struct sline *sl ;
  unsigned long tmp___6 ;

  {
  mark = 1UL << num_parent;
  no_pre_delete = 2UL << num_parent;
  lno = 0UL;
  tmp = diff_get_color(use_color, (enum color_diff )3);
  c_frag = tmp;
  tmp___0 = diff_get_color(use_color, (enum color_diff )8);
  c_func = tmp___0;
  tmp___1 = diff_get_color(use_color, (enum color_diff )5);
  c_new = tmp___1;
  tmp___2 = diff_get_color(use_color, (enum color_diff )4);
  c_old = tmp___2;
  tmp___3 = diff_get_color(use_color, (enum color_diff )1);
  c_context = tmp___3;
  tmp___4 = diff_get_color(use_color, (enum color_diff )0);
  c_reset = tmp___4;
  if (result_deleted) {
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    hunk_comment = (char const   *)((void *)0);
    null_context = 0UL;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (lno <= cnt) {
        if (! (! ((sline + lno)->flag & mark))) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      tmp___5 = hunk_comment_line((char const   *)(sline + lno)->bol);
      if (tmp___5) {
        hunk_comment = (char const   *)(sline + lno)->bol;
      }
      lno ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (cnt < lno) {
      goto while_break;
    } else {
      hunk_end = lno + 1UL;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! (hunk_end <= cnt)) {
          goto while_break___1;
        }
        if (! ((sline + hunk_end)->flag & mark)) {
          goto while_break___1;
        }
        hunk_end ++;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
    rlines = hunk_end - lno;
    if (cnt < hunk_end) {
      rlines --;
    }
    if (! context) {
      j = lno;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (! (j < hunk_end)) {
          goto while_break___2;
        }
        if (! ((sline + j)->flag & (mark - 1UL))) {
          null_context ++;
        }
        j ++;
      }
      while_break___2: /* CIL Label */ ;
      }
      rlines -= null_context;
    }
    printf((char const   *)"%s%s", line_prefix, c_frag);
    i = 0;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! (i <= num_parent)) {
        goto while_break___3;
      }
      putchar((int )combine_marker);
      i ++;
    }
    while_break___3: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (! (i < num_parent)) {
        goto while_break___4;
      }
      show_parent_lno(sline, lno, hunk_end, i, null_context);
      i ++;
    }
    while_break___4: /* CIL Label */ ;
    }
    printf((char const   *)" +%lu,%lu ", lno + 1UL, rlines);
    i = 0;
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      if (! (i <= num_parent)) {
        goto while_break___5;
      }
      putchar((int )combine_marker);
      i ++;
    }
    while_break___5: /* CIL Label */ ;
    }
    if (hunk_comment) {
      comment_end = 0;
      i = 0;
      {
      while (1) {
        while_continue___6: /* CIL Label */ ;
        if (! (i < 40)) {
          goto while_break___6;
        }
        ch___0 = (int )((int const   )*(hunk_comment + i) & 255);
        if (! ch___0) {
          goto while_break___6;
        } else
        if (ch___0 == 10) {
          goto while_break___6;
        }
        if (! (((int const   )sane_ctype[(unsigned char )ch___0] & 1) != 0)) {
          comment_end = i;
        }
        i ++;
      }
      while_break___6: /* CIL Label */ ;
      }
      if (comment_end) {
        printf((char const   *)"%s%s %s%s", c_reset, c_context, c_reset, c_func);
      }
      i = 0;
      {
      while (1) {
        while_continue___7: /* CIL Label */ ;
        if (! (i < comment_end)) {
          goto while_break___7;
        }
        putchar((int )*(hunk_comment + i));
        i ++;
      }
      while_break___7: /* CIL Label */ ;
      }
    }
    printf((char const   *)"%s\n", c_reset);
    {
    while (1) {
      while_continue___8: /* CIL Label */ ;
      if (! (lno < hunk_end)) {
        goto while_break___8;
      }
      tmp___6 = lno;
      lno ++;
      sl = sline + tmp___6;
      if (sl->flag & no_pre_delete) {
        ll = (struct lline *)((void *)0);
      } else {
        ll = sl->lost;
      }
      {
      while (1) {
        while_continue___9: /* CIL Label */ ;
        if (! ll) {
          goto while_break___9;
        }
        printf((char const   *)"%s%s", line_prefix, c_old);
        j___0 = 0;
        {
        while (1) {
          while_continue___10: /* CIL Label */ ;
          if (! (j___0 < num_parent)) {
            goto while_break___10;
          }
          if (ll->parent_map & (1UL << j___0)) {
            putchar('-');
          } else {
            putchar(' ');
          }
          j___0 ++;
        }
        while_break___10: /* CIL Label */ ;
        }
        show_line_to_eol((char const   *)(ll->line), -1, c_reset);
        ll = ll->next;
      }
      while_break___9: /* CIL Label */ ;
      }
      if (cnt < lno) {
        goto while_break___8;
      }
      p_mask = 1UL;
      fputs((char const   * __restrict  )line_prefix, (FILE * __restrict  )stdout);
      if (! (sl->flag & (mark - 1UL))) {
        if (! context) {
          goto while_continue___8;
        }
        fputs((char const   * __restrict  )c_context, (FILE * __restrict  )stdout);
      } else {
        fputs((char const   * __restrict  )c_new, (FILE * __restrict  )stdout);
      }
      j___0 = 0;
      {
      while (1) {
        while_continue___11: /* CIL Label */ ;
        if (! (j___0 < num_parent)) {
          goto while_break___11;
        }
        if (p_mask & sl->flag) {
          putchar('+');
        } else {
          putchar(' ');
        }
        p_mask <<= 1;
        j___0 ++;
      }
      while_break___11: /* CIL Label */ ;
      }
      show_line_to_eol((char const   *)sl->bol, sl->len, c_reset);
    }
    while_break___8: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void reuse_combine_diff(struct sline *sline , unsigned long cnt , int i , int j )
{
  unsigned long lno ;
  unsigned long imask ;
  unsigned long jmask ;
  struct lline *ll ;

  {
  imask = 1UL << i;
  jmask = 1UL << j;
  lno = 0UL;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (lno <= cnt)) {
      goto while_break;
    }
    ll = sline->lost;
    *(sline->p_lno + i) = *(sline->p_lno + j);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ll) {
        goto while_break___0;
      }
      if (ll->parent_map & jmask) {
        ll->parent_map |= imask;
      }
      ll = ll->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (sline->flag & jmask) {
      sline->flag |= imask;
    }
    sline ++;
    lno ++;
  }
  while_break: /* CIL Label */ ;
  }
  *(sline->p_lno + i) = *(sline->p_lno + j);
  return;
}
}
static void dump_quoted_path(char const   *head___1 , char const   *prefix___1 , char const   *path___6 ,
                             char const   *line_prefix , char const   *c_meta , char const   *c_reset ) ;
static struct strbuf buf  =    {0UL, 0UL, strbuf_slopbuf};
static void dump_quoted_path(char const   *head___1 , char const   *prefix___1 , char const   *path___6 ,
                             char const   *line_prefix , char const   *c_meta , char const   *c_reset )
{


  {
  strbuf_setlen(& buf, (size_t )0);
  strbuf_addstr(& buf, line_prefix);
  strbuf_addstr(& buf, c_meta);
  strbuf_addstr(& buf, head___1);
  quote_two_c_style(& buf, prefix___1, path___6, 0U);
  strbuf_addstr(& buf, c_reset);
  puts((char const   *)buf.buf);
  return;
}
}
static void show_combined_header(struct combine_diff_path *elem , int num_parent ,
                                 struct rev_info *rev , char const   *line_prefix ,
                                 int mode_differs , int show_file_header )
{
  struct diff_options *opt___0 ;
  int abbrev___6 ;
  size_t tmp ;
  char const   *a_prefix ;
  char const   *tmp___0 ;
  char const   *b_prefix ;
  char const   *tmp___1 ;
  char const   *c_meta ;
  char const   *tmp___2 ;
  char const   *c_reset ;
  char const   *tmp___3 ;
  char const   *abb ;
  int added ;
  int deleted ;
  int i ;
  int dense ;
  char *tmp___4 ;
  char *tmp___5 ;
  char *tmp___6 ;
  char *path___6 ;
  int tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;

  {
  opt___0 = & rev->diffopt;
  if (opt___0->flags.full_index) {
    tmp = (the_repository->hash_algo)->hexsz;
  } else {
    tmp = (size_t )default_abbrev;
  }
  abbrev___6 = (int )tmp;
  if (opt___0->a_prefix) {
    tmp___0 = opt___0->a_prefix;
  } else {
    tmp___0 = (char const   *)"a/";
  }
  a_prefix = tmp___0;
  if (opt___0->b_prefix) {
    tmp___1 = opt___0->b_prefix;
  } else {
    tmp___1 = (char const   *)"b/";
  }
  b_prefix = tmp___1;
  tmp___2 = diff_get_color(opt___0->use_color, (enum color_diff )2);
  c_meta = tmp___2;
  tmp___3 = diff_get_color(opt___0->use_color, (enum color_diff )0);
  c_reset = tmp___3;
  added = 0;
  deleted = 0;
  dense = (int )rev->dense_combined_merges;
  if (rev->loginfo) {
    if (! rev->no_commit_id) {
      show_log(rev);
    }
  }
  if (dense) {
    tmp___4 = "diff --cc ";
  } else {
    tmp___4 = "diff --combined ";
  }
  dump_quoted_path((char const   *)tmp___4, (char const   *)"", (char const   *)elem->path,
                   line_prefix, c_meta, c_reset);
  printf((char const   *)"%s%sindex ", line_prefix, c_meta);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < num_parent)) {
      goto while_break;
    }
    abb = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& elem->parent[i].oid),
                                  abbrev___6);
    if (i) {
      tmp___5 = ",";
    } else {
      tmp___5 = "";
    }
    printf((char const   *)"%s%s", tmp___5, abb);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  abb = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& elem->oid),
                                abbrev___6);
  printf((char const   *)"..%s%s\n", abb, c_reset);
  if (mode_differs) {
    deleted = ! elem->mode;
    added = ! deleted;
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (added) {
        if (! (i < num_parent)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      if ((int )elem->parent[i].status != 65) {
        added = 0;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (added) {
      printf((char const   *)"%s%snew file mode %06o", line_prefix, c_meta, elem->mode);
    } else {
      if (deleted) {
        printf((char const   *)"%s%sdeleted file ", line_prefix, c_meta);
      }
      printf((char const   *)"mode ");
      i = 0;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! (i < num_parent)) {
          goto while_break___1;
        }
        if (i) {
          tmp___6 = ",";
        } else {
          tmp___6 = "";
        }
        printf((char const   *)"%s%06o", tmp___6, elem->parent[i].mode);
        i ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      if (elem->mode) {
        printf((char const   *)"..%06o", elem->mode);
      }
    }
    printf((char const   *)"%s\n", c_reset);
  }
  if (! show_file_header) {
    return;
  }
  if (rev->combined_all_paths) {
    i = 0;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (i < num_parent)) {
        goto while_break___2;
      }
      tmp___9 = filename_changed(elem->parent[i].status);
      if (tmp___9) {
        tmp___8 = elem->parent[i].path.buf;
      } else {
        tmp___8 = elem->path;
      }
      path___6 = tmp___8;
      if ((int )elem->parent[i].status == 65) {
        dump_quoted_path((char const   *)"--- ", (char const   *)"", (char const   *)"/dev/null",
                         line_prefix, c_meta, c_reset);
      } else {
        dump_quoted_path((char const   *)"--- ", a_prefix, (char const   *)path___6,
                         line_prefix, c_meta, c_reset);
      }
      i ++;
    }
    while_break___2: /* CIL Label */ ;
    }
  } else
  if (added) {
    dump_quoted_path((char const   *)"--- ", (char const   *)"", (char const   *)"/dev/null",
                     line_prefix, c_meta, c_reset);
  } else {
    dump_quoted_path((char const   *)"--- ", a_prefix, (char const   *)elem->path,
                     line_prefix, c_meta, c_reset);
  }
  if (deleted) {
    dump_quoted_path((char const   *)"+++ ", (char const   *)"", (char const   *)"/dev/null",
                     line_prefix, c_meta, c_reset);
  } else {
    dump_quoted_path((char const   *)"+++ ", b_prefix, (char const   *)elem->path,
                     line_prefix, c_meta, c_reset);
  }
  return;
}
}
static void show_patch_diff(struct combine_diff_path *elem , int num_parent , int working_tree_file ,
                            struct rev_info *rev )
{
  struct diff_options *opt___0 ;
  unsigned long result_size ;
  unsigned long cnt ;
  unsigned long lno ;
  int result_deleted ;
  char *result___0 ;
  char *cp ;
  struct sline *sline ;
  int mode_differs ;
  int i ;
  int show_hunks ;
  mmfile_t result_file ;
  struct userdiff_driver *userdiff ;
  struct userdiff_driver *textconv ;
  int is_binary ;
  char const   *line_prefix ;
  char const   *tmp ;
  struct stat st ;
  int fd ;
  int tmp___0 ;
  struct strbuf buf___19 ;
  int tmp___1 ;
  struct object_id oid ;
  int tmp___2 ;
  struct diff_filespec *df ;
  struct diff_filespec *tmp___3 ;
  struct object_id  const  *tmp___4 ;
  size_t len___0 ;
  size_t tmp___5 ;
  ssize_t done___0 ;
  int is_file___0 ;
  int i___0 ;
  void *tmp___6 ;
  struct strbuf buf___20 ;
  int tmp___7 ;
  void *tmp___8 ;
  char *buf___21 ;
  unsigned long size ;
  int tmp___9 ;
  size_t tmp___10 ;
  void *tmp___11 ;
  size_t tmp___12 ;
  size_t tmp___13 ;
  void *tmp___14 ;
  int j ;
  int tmp___15 ;
  struct lline *ll ;
  struct lline *tmp___16 ;

  {
  opt___0 = & rev->diffopt;
  result_deleted = 0;
  mode_differs = 0;
  textconv = (struct userdiff_driver *)((void *)0);
  tmp = diff_line_prefix(opt___0);
  line_prefix = tmp;
  context = (unsigned long )opt___0->context;
  userdiff = userdiff_find_by_path((opt___0->repo)->index, (char const   *)elem->path);
  if (! userdiff) {
    userdiff = userdiff_find_by_name((char const   *)"default");
  }
  if (opt___0->flags.allow_textconv) {
    textconv = userdiff_get_textconv(opt___0->repo, userdiff);
  }
  if (! working_tree_file) {
    result___0 = grab_blob(opt___0->repo, (struct object_id  const  *)(& elem->oid),
                           elem->mode, & result_size, textconv, (char const   *)elem->path);
  } else {
    fd = -1;
    tmp___0 = lstat((char const   *)elem->path, & st);
    if (tmp___0 < 0) {
      goto deleted_file;
    }
    if ((st.st_mode & 61440U) == 40960U) {
      buf___19.alloc = 0UL;
      buf___19.len = 0UL;
      buf___19.buf = strbuf_slopbuf;
      tmp___1 = strbuf_readlink(& buf___19, (char const   *)elem->path, (size_t )st.st_size);
      if (tmp___1 < 0) {
        error_errno((char const   *)"readlink(%s)", elem->path);
        const_error();
        return;
      }
      result_size = buf___19.len;
      result___0 = strbuf_detach(& buf___19, (size_t *)((void *)0));
      elem->mode = canon_mode(st.st_mode);
    } else
    if ((st.st_mode & 61440U) == 16384U) {
      tmp___2 = resolve_gitlink_ref((char const   *)elem->path, (char const   *)"HEAD",
                                    & oid);
      if (tmp___2 < 0) {
        result___0 = grab_blob(opt___0->repo, (struct object_id  const  *)(& elem->oid),
                               elem->mode, & result_size, (struct userdiff_driver *)((void *)0),
                               (char const   *)((void *)0));
      } else {
        result___0 = grab_blob(opt___0->repo, (struct object_id  const  *)(& oid),
                               elem->mode, & result_size, (struct userdiff_driver *)((void *)0),
                               (char const   *)((void *)0));
      }
    } else
    if (textconv) {
      tmp___3 = alloc_filespec((char const   *)elem->path);
      df = tmp___3;
      tmp___4 = null_oid();
      fill_filespec(df, tmp___4, 0, (unsigned short )st.st_mode);
      result_size = fill_textconv(opt___0->repo, textconv, df, & result___0);
      free_filespec(df);
    } else {
      fd = open((char const   *)elem->path, 00);
      if (0 <= fd) {
        tmp___5 = xsize_t(st.st_size);
        len___0 = tmp___5;
        elem->mode = canon_mode(st.st_mode);
        is_file___0 = has_symlinks;
        i___0 = 0;
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          if (! is_file___0) {
            if (! (i___0 < num_parent)) {
              goto while_break;
            }
          } else {
            goto while_break;
          }
          is_file___0 = ! ((elem->parent[i___0].mode & 61440U) == 40960U);
          i___0 ++;
        }
        while_break: /* CIL Label */ ;
        }
        if (! is_file___0) {
          elem->mode = canon_mode(40960U);
        }
        result_size = len___0;
        tmp___6 = xmallocz(len___0);
        result___0 = (char *)tmp___6;
        done___0 = read_in_full(fd, (void *)result___0, len___0);
        if (done___0 < 0L) {
          die_errno((char const   *)"read error \'%s\'", elem->path);
        } else
        if ((size_t )done___0 < len___0) {
          die((char const   *)"early EOF \'%s\'", elem->path);
        }
        if (is_file___0) {
          buf___20.alloc = 0UL;
          buf___20.len = 0UL;
          buf___20.buf = strbuf_slopbuf;
          tmp___7 = convert_to_git((rev->diffopt.repo)->index, (char const   *)elem->path,
                                   (char const   *)result___0, len___0, & buf___20,
                                   global_conv_flags_eol);
          if (tmp___7) {
            free((void *)result___0);
            result___0 = strbuf_detach(& buf___20, & len___0);
            result_size = len___0;
          }
        }
      } else {
        deleted_file:
        result_deleted = 1;
        result_size = 0UL;
        elem->mode = 0U;
        tmp___8 = xcalloc((size_t )1, (size_t )1);
        result___0 = (char *)tmp___8;
      }
    }
    if (0 <= fd) {
      close(fd);
    }
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < num_parent)) {
      goto while_break___0;
    }
    if (elem->parent[i].mode != elem->mode) {
      mode_differs = 1;
      goto while_break___0;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (textconv) {
    is_binary = 0;
  } else
  if (userdiff->binary != -1) {
    is_binary = userdiff->binary;
  } else {
    is_binary = buffer_is_binary((char const   *)result___0, result_size);
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! is_binary) {
        if (! (i < num_parent)) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      buf___21 = grab_blob(opt___0->repo, (struct object_id  const  *)(& elem->parent[i].oid),
                           elem->parent[i].mode, & size, (struct userdiff_driver *)((void *)0),
                           (char const   *)((void *)0));
      tmp___9 = buffer_is_binary((char const   *)buf___21, size);
      if (tmp___9) {
        is_binary = 1;
      }
      free((void *)buf___21);
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  if (is_binary) {
    show_combined_header(elem, num_parent, rev, line_prefix, mode_differs, 0);
    printf((char const   *)"Binary files differ\n");
    free((void *)result___0);
    return;
  }
  cnt = 0UL;
  cp = result___0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((unsigned long )cp < (unsigned long )(result___0 + result_size))) {
      goto while_break___2;
    }
    if ((int )*cp == 10) {
      cnt ++;
    }
    cp ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  if (result_size) {
    if ((int )*(result___0 + (result_size - 1UL)) != 10) {
      cnt ++;
    }
  }
  tmp___10 = st_add(cnt, (size_t )2);
  tmp___11 = xcalloc(tmp___10, sizeof(*sline));
  sline = (struct sline *)tmp___11;
  (sline + 0)->bol = result___0;
  lno = 0UL;
  cp = result___0;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! ((unsigned long )cp < (unsigned long )(result___0 + result_size))) {
      goto while_break___3;
    }
    if ((int )*cp == 10) {
      (sline + lno)->len = (int )(cp - (sline + lno)->bol);
      lno ++;
      if (lno < cnt) {
        (sline + lno)->bol = cp + 1;
      }
    }
    cp ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  if (result_size) {
    if ((int )*(result___0 + (result_size - 1UL)) != 10) {
      (sline + (cnt - 1UL))->len = (int )(result_size - (unsigned long )((sline + (cnt - 1UL))->bol - result___0));
    }
  }
  result_file.ptr = result___0;
  result_file.size = (long )result_size;
  tmp___12 = st_add(cnt, (size_t )2);
  tmp___13 = st_mult(tmp___12, (size_t )num_parent);
  tmp___14 = xcalloc(tmp___13, sizeof(*((sline + 0)->p_lno)));
  (sline + 0)->p_lno = (unsigned long *)tmp___14;
  lno = 0UL;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! (lno <= cnt)) {
      goto while_break___4;
    }
    (sline + (lno + 1UL))->p_lno = (sline + lno)->p_lno + num_parent;
    lno ++;
  }
  while_break___4: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___5: /* CIL Label */ ;
    if (! (i < num_parent)) {
      goto while_break___5;
    }
    j = 0;
    {
    while (1) {
      while_continue___6: /* CIL Label */ ;
      if (! (j < i)) {
        goto while_break___6;
      }
      tmp___15 = oideq((struct object_id  const  *)(& elem->parent[i].oid), (struct object_id  const  *)(& elem->parent[j].oid));
      if (tmp___15) {
        reuse_combine_diff(sline, cnt, i, j);
        goto while_break___6;
      }
      j ++;
    }
    while_break___6: /* CIL Label */ ;
    }
    if (i <= j) {
      combine_diff(opt___0->repo, (struct object_id  const  *)(& elem->parent[i].oid),
                   elem->parent[i].mode, & result_file, sline, (unsigned int )cnt,
                   i, num_parent, result_deleted, textconv, (char const   *)elem->path,
                   (long )opt___0->xdl_opts);
    }
    i ++;
  }
  while_break___5: /* CIL Label */ ;
  }
  show_hunks = make_hunks(sline, cnt, num_parent, (int )rev->dense_combined_merges);
  if (show_hunks) {
    show_combined_header(elem, num_parent, rev, line_prefix, mode_differs, 1);
    dump_sline(sline, line_prefix, cnt, num_parent, opt___0->use_color, result_deleted);
  } else
  if (mode_differs) {
    show_combined_header(elem, num_parent, rev, line_prefix, mode_differs, 1);
    dump_sline(sline, line_prefix, cnt, num_parent, opt___0->use_color, result_deleted);
  } else
  if (working_tree_file) {
    show_combined_header(elem, num_parent, rev, line_prefix, mode_differs, 1);
    dump_sline(sline, line_prefix, cnt, num_parent, opt___0->use_color, result_deleted);
  }
  free((void *)result___0);
  lno = 0UL;
  {
  while (1) {
    while_continue___7: /* CIL Label */ ;
    if (! (lno < cnt)) {
      goto while_break___7;
    }
    if ((sline + lno)->lost) {
      ll = (sline + lno)->lost;
      {
      while (1) {
        while_continue___8: /* CIL Label */ ;
        if (! ll) {
          goto while_break___8;
        }
        tmp___16 = ll;
        ll = ll->next;
        free((void *)tmp___16);
      }
      while_break___8: /* CIL Label */ ;
      }
    }
    lno ++;
  }
  while_break___7: /* CIL Label */ ;
  }
  free((void *)(sline + 0)->p_lno);
  free((void *)sline);
  return;
}
}
static void show_raw_diff(struct combine_diff_path *p___0 , int num_parent , struct rev_info *rev )
{
  struct diff_options *opt___0 ;
  int line_termination___1 ;
  int inter_name_termination ;
  int i ;
  char const   *line_prefix ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;

  {
  opt___0 = & rev->diffopt;
  tmp = diff_line_prefix(opt___0);
  line_prefix = tmp;
  line_termination___1 = opt___0->line_termination;
  inter_name_termination = '\t';
  if (! line_termination___1) {
    inter_name_termination = 0;
  }
  if (rev->loginfo) {
    if (! rev->no_commit_id) {
      show_log(rev);
    }
  }
  if (opt___0->output_format & 0x0001) {
    printf((char const   *)"%s", line_prefix);
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < num_parent)) {
        goto while_break;
      }
      putchar(':');
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < num_parent)) {
        goto while_break___0;
      }
      printf((char const   *)"%06o ", p___0->parent[i].mode);
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    printf((char const   *)"%06o", p___0->mode);
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < num_parent)) {
        goto while_break___1;
      }
      tmp___0 = diff_aligned_abbrev((struct object_id  const  *)(& p___0->parent[i].oid),
                                    opt___0->abbrev);
      printf((char const   *)" %s", tmp___0);
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    tmp___1 = diff_aligned_abbrev((struct object_id  const  *)(& p___0->oid), opt___0->abbrev);
    printf((char const   *)" %s ", tmp___1);
  }
  if (opt___0->output_format & 513) {
    i = 0;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (i < num_parent)) {
        goto while_break___2;
      }
      putchar((int )p___0->parent[i].status);
      i ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    putchar(inter_name_termination);
  }
  i = 0;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! (i < num_parent)) {
      goto while_break___3;
    }
    if (rev->combined_all_paths) {
      tmp___2 = filename_changed(p___0->parent[i].status);
      if (tmp___2) {
        write_name_quoted((char const   *)p___0->parent[i].path.buf, stdout, inter_name_termination);
      } else {
        write_name_quoted((char const   *)p___0->path, stdout, inter_name_termination);
      }
    }
    i ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  write_name_quoted((char const   *)p___0->path, stdout, line_termination___1);
  return;
}
}
void show_combined_diff(struct combine_diff_path *p___0 , int num_parent , struct rev_info *rev )
{
  struct diff_options *opt___0 ;

  {
  opt___0 = & rev->diffopt;
  if (opt___0->output_format & 769) {
    show_raw_diff(p___0, num_parent, rev);
  } else
  if (opt___0->output_format & 0x0010) {
    show_patch_diff(p___0, num_parent, 1, rev);
  }
  return;
}
}
static void free_combined_pair(struct diff_filepair *pair )
{


  {
  free((void *)pair->two);
  free((void *)pair);
  return;
}
}
static struct diff_filepair *combined_pair(struct combine_diff_path *p___0 , int num_parent )
{
  int i ;
  struct diff_filepair *pair ;
  struct diff_filespec *pool ;
  void *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = xmalloc(sizeof(*pair));
  pair = (struct diff_filepair *)tmp;
  tmp___0 = st_add((size_t )num_parent, (size_t )1);
  tmp___1 = xcalloc(tmp___0, sizeof(*pool));
  pool = (struct diff_filespec *)tmp___1;
  pair->one = pool + 1;
  pair->two = pool;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < num_parent)) {
      goto while_break;
    }
    (pair->one + i)->path = p___0->path;
    (pair->one + i)->mode = (unsigned short )p___0->parent[i].mode;
    oidcpy(& (pair->one + i)->oid, (struct object_id  const  *)(& p___0->parent[i].oid));
    tmp___2 = is_null_oid((struct object_id  const  *)(& p___0->parent[i].oid));
    if (tmp___2) {
      tmp___3 = 0;
    } else {
      tmp___3 = 1;
    }
    (pair->one + i)->oid_valid = (unsigned int )tmp___3;
    (pair->one + i)->has_more_entries = 1U;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  (pair->one + (num_parent - 1))->has_more_entries = 0U;
  (pair->two)->path = p___0->path;
  (pair->two)->mode = (unsigned short )p___0->mode;
  oidcpy(& (pair->two)->oid, (struct object_id  const  *)(& p___0->oid));
  tmp___4 = is_null_oid((struct object_id  const  *)(& p___0->oid));
  if (tmp___4) {
    tmp___5 = 0;
  } else {
    tmp___5 = 1;
  }
  (pair->two)->oid_valid = (unsigned int )tmp___5;
  return (pair);
}
}
static void handle_combined_callback(struct diff_options *opt___0 , struct combine_diff_path *paths___0 ,
                                     int num_parent , int num_paths )
{
  struct combine_diff_path *p___0 ;
  struct diff_queue_struct q ;
  int i ;
  void *tmp ;
  int tmp___0 ;

  {
  tmp = xcalloc((size_t )num_paths, sizeof(*(q.queue)));
  q.queue = (struct diff_filepair **)tmp;
  q.alloc = num_paths;
  q.nr = num_paths;
  i = 0;
  p___0 = paths___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    tmp___0 = i;
    i ++;
    *(q.queue + tmp___0) = combined_pair(p___0, num_parent);
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  (*(opt___0->format_callback))(& q, opt___0, opt___0->format_callback_data);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < num_paths)) {
      goto while_break___0;
    }
    free_combined_pair(*(q.queue + i));
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)q.queue);
  return;
}
}
static char const   *path_path(void *obj )
{
  struct combine_diff_path *path___6 ;

  {
  path___6 = (struct combine_diff_path *)obj;
  return ((char const   *)path___6->path);
}
}
static struct combine_diff_path *find_paths_generic(struct object_id  const  *oid ,
                                                    struct oid_array  const  *parents ,
                                                    struct diff_options *opt___0 ,
                                                    int combined_all_paths )
{
  struct combine_diff_path *paths___0 ;
  int i ;
  int num_parent ;
  int output_format ;
  char const   *orderfile ;
  int stat_opt ;

  {
  paths___0 = (struct combine_diff_path *)((void *)0);
  num_parent = (int )parents->nr;
  output_format = opt___0->output_format;
  orderfile = opt___0->orderfile;
  opt___0->output_format = 0x0800;
  opt___0->orderfile = (char const   *)((void *)0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < num_parent)) {
      goto while_break;
    }
    stat_opt = output_format & 110;
    if (i == 0) {
      if (stat_opt) {
        opt___0->output_format = stat_opt;
      } else {
        opt___0->output_format = 0x0800;
      }
    } else {
      opt___0->output_format = 0x0800;
    }
    diff_tree_oid((struct object_id  const  *)(parents->oid + i), oid, (char const   *)"",
                  opt___0);
    diffcore_std(opt___0);
    paths___0 = intersect_paths(paths___0, i, num_parent, combined_all_paths);
    if (opt___0->output_format != 0x0800) {
      if (orderfile) {
        diffcore_order(orderfile);
      }
    }
    diff_flush(opt___0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  opt___0->output_format = output_format;
  opt___0->orderfile = orderfile;
  return (paths___0);
}
}
static struct combine_diff_path *find_paths_multitree(struct object_id  const  *oid ,
                                                      struct oid_array  const  *parents ,
                                                      struct diff_options *opt___0 )
{
  int i ;
  int nparent ;
  struct object_id  const  **parents_oid ;
  struct combine_diff_path paths_head ;
  struct strbuf base ;
  size_t tmp ;
  void *tmp___0 ;

  {
  nparent = (int )parents->nr;
  tmp = st_mult(sizeof(*parents_oid), (size_t )nparent);
  tmp___0 = xmalloc(tmp);
  parents_oid = (struct object_id  const  **)tmp___0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nparent)) {
      goto while_break;
    }
    *(parents_oid + i) = (struct object_id  const  *)(parents->oid + i);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  paths_head.next = (struct combine_diff_path *)((void *)0);
  strbuf_init(& base, (size_t )4096);
  diff_tree_paths(& paths_head, oid, parents_oid, nparent, & base, opt___0);
  strbuf_release(& base);
  free((void *)parents_oid);
  return (paths_head.next);
}
}
static int match_objfind(struct combine_diff_path *path___6 , int num_parent , struct oidset  const  *set )
{
  int i ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = oidset_contains(set, (struct object_id  const  *)(& path___6->oid));
  if (tmp) {
    return (1);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < num_parent)) {
      goto while_break;
    }
    tmp___0 = oidset_contains(set, (struct object_id  const  *)(& path___6->parent[i].oid));
    if (tmp___0) {
      return (1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static struct combine_diff_path *combined_objfind(struct diff_options *opt___0 , struct combine_diff_path *paths___0 ,
                                                  int num_parent )
{
  struct combine_diff_path *ret___67 ;
  struct combine_diff_path **tail ;
  struct combine_diff_path *p___0 ;
  struct combine_diff_path *next___2 ;
  int tmp ;

  {
  ret___67 = (struct combine_diff_path *)((void *)0);
  tail = & ret___67;
  p___0 = paths___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    next___2 = p___0->next;
    tmp = match_objfind(p___0, num_parent, (struct oidset  const  *)opt___0->objfind);
    if (tmp) {
      p___0->next = (struct combine_diff_path *)((void *)0);
      *tail = p___0;
      tail = & p___0->next;
    } else {
      free((void *)p___0);
    }
    p___0 = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
void diff_tree_combined(struct object_id  const  *oid , struct oid_array  const  *parents ,
                        struct rev_info *rev )
{
  struct diff_options *opt___0 ;
  struct diff_options diffopts ;
  struct combine_diff_path *p___0 ;
  struct combine_diff_path *paths___0 ;
  int i ;
  int num_paths ;
  int needsep ;
  int show_log_first ;
  int num_parent ;
  int need_generic_pathscan ;
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int stat_opt ;
  struct obj_order *o ;
  size_t tmp___3 ;
  void *tmp___4 ;
  char const   *tmp___5 ;
  struct combine_diff_path *tmp___6 ;
  int tmp___7 ;

  {
  opt___0 = & rev->diffopt;
  num_parent = (int )parents->nr;
  if (! num_parent) {
    return;
  }
  if (! (! rev->loginfo)) {
    if (! rev->no_commit_id) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  show_log_first = tmp;
  needsep = 0;
  if (show_log_first) {
    show_log(rev);
    if (rev->verbose_header) {
      if (opt___0->output_format) {
        if (opt___0->output_format != 0x0800) {
          tmp___1 = commit_format_is_empty(rev->commit_format);
          if (! tmp___1) {
            tmp___0 = diff_line_prefix(opt___0);
            printf((char const   *)"%s%c", tmp___0, opt___0->line_termination);
          }
        }
      }
    }
  }
  diffopts = *opt___0;
  copy_pathspec(& diffopts.pathspec, (struct pathspec  const  *)(& opt___0->pathspec));
  diffopts.flags.recursive = 1U;
  diffopts.flags.allow_external = 0U;
  if (opt___0->skip_stat_unmatch) {
    tmp___2 = 1;
  } else
  if (opt___0->flags.follow_renames) {
    tmp___2 = 1;
  } else
  if (opt___0->break_opt != -1) {
    tmp___2 = 1;
  } else
  if (opt___0->detect_rename) {
    tmp___2 = 1;
  } else
  if (opt___0->pickaxe_opts & 12U) {
    tmp___2 = 1;
  } else
  if (opt___0->filter) {
    tmp___2 = 1;
  } else {
    tmp___2 = 0;
  }
  need_generic_pathscan = tmp___2;
  if (need_generic_pathscan) {
    paths___0 = find_paths_generic(oid, parents, & diffopts, (int )rev->combined_all_paths);
  } else {
    paths___0 = find_paths_multitree(oid, parents, & diffopts);
    if (opt___0->pickaxe_opts & 16U) {
      paths___0 = combined_objfind(opt___0, paths___0, num_parent);
    }
    stat_opt = opt___0->output_format & 110;
    if (stat_opt) {
      diffopts.output_format = stat_opt;
      diff_tree_oid((struct object_id  const  *)(parents->oid + 0), oid, (char const   *)"",
                    & diffopts);
      diffcore_std(& diffopts);
      if (opt___0->orderfile) {
        diffcore_order(opt___0->orderfile);
      }
      diff_flush(& diffopts);
    }
  }
  num_paths = 0;
  p___0 = paths___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    num_paths ++;
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (opt___0->orderfile) {
    if (num_paths) {
      tmp___3 = st_mult(sizeof(*o), (size_t )num_paths);
      tmp___4 = xmalloc(tmp___3);
      o = (struct obj_order *)tmp___4;
      i = 0;
      p___0 = paths___0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! p___0) {
          goto while_break___0;
        }
        (o + i)->obj = (void *)p___0;
        p___0 = p___0->next;
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      order_objects(opt___0->orderfile, & path_path, o, num_paths);
      i = 0;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! (i < num_paths - 1)) {
          goto while_break___1;
        }
        p___0 = (struct combine_diff_path *)(o + i)->obj;
        p___0->next = (struct combine_diff_path *)(o + (i + 1))->obj;
        i ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      p___0 = (struct combine_diff_path *)(o + (num_paths - 1))->obj;
      p___0->next = (struct combine_diff_path *)((void *)0);
      paths___0 = (struct combine_diff_path *)(o + 0)->obj;
      free((void *)o);
    }
  }
  if (num_paths) {
    if (opt___0->output_format & 769) {
      p___0 = paths___0;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (! p___0) {
          goto while_break___2;
        }
        show_raw_diff(p___0, num_parent, rev);
        p___0 = p___0->next;
      }
      while_break___2: /* CIL Label */ ;
      }
      needsep = 1;
    } else
    if (opt___0->output_format & 110) {
      needsep = 1;
    } else
    if (opt___0->output_format & 0x1000) {
      handle_combined_callback(opt___0, paths___0, num_parent, num_paths);
    }
    if (opt___0->output_format & 0x0010) {
      if (needsep) {
        tmp___5 = diff_line_prefix(opt___0);
        printf((char const   *)"%s%c", tmp___5, opt___0->line_termination);
      }
      p___0 = paths___0;
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if (! p___0) {
          goto while_break___3;
        }
        show_patch_diff(p___0, num_parent, 0, rev);
        p___0 = p___0->next;
      }
      while_break___3: /* CIL Label */ ;
      }
    }
  }
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! paths___0) {
      goto while_break___4;
    }
    tmp___6 = paths___0;
    paths___0 = paths___0->next;
    i = 0;
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      if (! (i < num_parent)) {
        goto while_break___5;
      }
      if (rev->combined_all_paths) {
        tmp___7 = filename_changed(tmp___6->parent[i].status);
        if (tmp___7) {
          strbuf_release(& tmp___6->parent[i].path);
        }
      }
      i ++;
    }
    while_break___5: /* CIL Label */ ;
    }
    free((void *)tmp___6);
  }
  while_break___4: /* CIL Label */ ;
  }
  clear_pathspec(& diffopts.pathspec);
  return;
}
}
void diff_tree_combined_merge(struct commit  const  *commit , struct rev_info *rev )
{
  struct commit_list *parent ;
  struct commit_list *tmp ;
  struct oid_array parents ;

  {
  tmp = get_saved_parents(rev, commit);
  parent = tmp;
  parents.oid = (struct object_id *)0;
  parents.nr = 0UL;
  parents.alloc = 0UL;
  parents.sorted = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! parent) {
      goto while_break;
    }
    oid_array_append(& parents, (struct object_id  const  *)(& (parent->item)->object.oid));
    parent = parent->next;
  }
  while_break: /* CIL Label */ ;
  }
  diff_tree_combined((struct object_id  const  *)(& commit->object.oid), (struct oid_array  const  *)(& parents),
                     rev);
  oid_array_clear(& parents);
  return;
}
}
static double const   __ac_HASH_UPPER___15  =    (double const   )0.77;
__inline static void kh_resize_oid_set___15(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___15(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___15 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___15 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___15(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___15(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___15(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___15(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___15(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___15(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___15 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___15 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___15(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___15(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___15(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___15(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___15(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___15(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___15 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___15 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___15(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___15(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___15(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___15(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___12(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___12(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___15 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___15 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___12(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___12(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___12(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___12(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
void display_throughput(struct progress *progress___7 , uint64_t total ) ;
void display_progress(struct progress *progress___7 , uint64_t n ) ;
struct progress *start_progress(char const   *title , uint64_t total ) ;
struct progress *start_sparse_progress(char const   *title , uint64_t total ) ;
struct progress *start_delayed_progress(char const   *title , uint64_t total ) ;
struct progress *start_delayed_sparse_progress(char const   *title , uint64_t total ) ;
void stop_progress(struct progress **p_progress ) ;
void stop_progress_msg(struct progress **p_progress , char const   *msg___5 ) ;
void set_alternate_shallow_file(struct repository *r , char const   *path___6 , int override ) ;
int register_shallow(struct repository *r , struct object_id  const  *oid ) ;
int unregister_shallow(struct object_id  const  *oid ) ;
int is_repository_shallow(struct repository *r ) ;
int commit_shallow_file(struct repository *r , struct shallow_lock *lk ) ;
void rollback_shallow_file(struct repository *r , struct shallow_lock *lk ) ;
struct commit_list *get_shallow_commits(struct object_array *heads , int depth___1 ,
                                        int shallow_flag , int not_shallow_flag ) ;
struct commit_list *get_shallow_commits_by_rev_list(int ac , char const   **av , int shallow_flag ,
                                                    int not_shallow_flag ) ;
int write_shallow_commits(struct strbuf *out , int use_pack_protocol , struct oid_array  const  *extra___2 ) ;
void setup_alternate_shallow(struct shallow_lock *shallow_lock___0 , char const   **alternate_shallow_file___0 ,
                             struct oid_array  const  *extra___2 ) ;
char const   *setup_temporary_shallow(struct oid_array  const  *extra___2 ) ;
void advertise_shallow_grafts(int fd ) ;
void prune_shallow(unsigned int options ) ;
void prepare_shallow_info(struct shallow_info *info___0 , struct oid_array *sa ) ;
void clear_shallow_info(struct shallow_info *info___0 ) ;
void remove_nonexistent_theirs_shallow(struct shallow_info *info___0 ) ;
void assign_shallow_commits_to_refs(struct shallow_info *info___0 , uint32_t **used___0 ,
                                    int *ref_status ) ;
int delayed_reachability_test(struct shallow_info *si , int c___0 ) ;
struct trace_key trace_shallow ;
void jw_init(struct json_writer *jw ) ;
void jw_release(struct json_writer *jw ) ;
void jw_object_begin(struct json_writer *jw , int pretty___0 ) ;
void jw_array_begin(struct json_writer *jw , int pretty___0 ) ;
void jw_object_string(struct json_writer *jw , char const   *key___1 , char const   *value ) ;
void jw_object_intmax(struct json_writer *jw , char const   *key___1 , intmax_t value ) ;
void jw_object_double(struct json_writer *jw , char const   *key___1 , int precision ,
                      double value ) ;
void jw_object_true(struct json_writer *jw , char const   *key___1 ) ;
void jw_object_false(struct json_writer *jw , char const   *key___1 ) ;
void jw_object_bool(struct json_writer *jw , char const   *key___1 , int value ) ;
void jw_object_null(struct json_writer *jw , char const   *key___1 ) ;
void jw_object_sub_jw(struct json_writer *jw , char const   *key___1 , struct json_writer  const  *value ) ;
void jw_object_inline_begin_object(struct json_writer *jw , char const   *key___1 ) ;
void jw_object_inline_begin_array(struct json_writer *jw , char const   *key___1 ) ;
void jw_array_string(struct json_writer *jw , char const   *value ) ;
void jw_array_intmax(struct json_writer *jw , intmax_t value ) ;
void jw_array_double(struct json_writer *jw , int precision , double value ) ;
void jw_array_true(struct json_writer *jw ) ;
void jw_array_false(struct json_writer *jw ) ;
void jw_array_bool(struct json_writer *jw , int value ) ;
void jw_array_null(struct json_writer *jw ) ;
void jw_array_sub_jw(struct json_writer *jw , struct json_writer  const  *value ) ;
void jw_array_argc_argv(struct json_writer *jw , int argc , char const   **argv___0 ) ;
void jw_array_argv(struct json_writer *jw , char const   **argv___0 ) ;
void jw_array_inline_begin_object(struct json_writer *jw ) ;
void jw_array_inline_begin_array(struct json_writer *jw ) ;
int jw_is_terminated(struct json_writer  const  *jw ) ;
void jw_end(struct json_writer *jw ) ;
void git_test_write_commit_graph_or_die(void)
{
  int flags___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  flags___0 = 0;
  tmp = git_env_bool((char const   *)"GIT_TEST_COMMIT_GRAPH", 0);
  if (! tmp) {
    return;
  }
  tmp___0 = git_env_bool((char const   *)"GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS", 0);
  if (tmp___0) {
    flags___0 = 8;
  }
  tmp___1 = write_commit_graph_reachable((the_repository->objects)->odb, (enum commit_graph_write_flags )flags___0,
                                         (struct commit_graph_opts  const  *)((void *)0));
  if (tmp___1) {
    die((char const   *)"failed to write commit-graph under GIT_TEST_COMMIT_GRAPH");
  }
  return;
}
}
static void init_topo_level_slab_with_stride(struct topo_level_slab *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_topo_level_slab_with_stride(struct topo_level_slab *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(uint32_t ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (uint32_t **)((void *)0);
  return;
}
}
static void init_topo_level_slab(struct topo_level_slab *s___1 )  __attribute__((__unused__)) ;
static void init_topo_level_slab(struct topo_level_slab *s___1 )
{


  {
  init_topo_level_slab_with_stride(s___1, 1U);
  return;
}
}
static void clear_topo_level_slab(struct topo_level_slab *s___1 )  __attribute__((__unused__)) ;
static void clear_topo_level_slab(struct topo_level_slab *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (uint32_t **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_topo_level_slab(struct topo_level_slab *s___1 , void (*free_fn)(uint32_t * ) )  __attribute__((__unused__)) ;
static void deep_clear_topo_level_slab(struct topo_level_slab *s___1 , void (*free_fn)(uint32_t * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_topo_level_slab(s___1);
  return;
}
}
static uint32_t *topo_level_slab_at_peek(struct topo_level_slab *s___1 , struct commit  const  *c___0 ,
                                         int add_if_missing )  __attribute__((__unused__)) ;
static uint32_t *topo_level_slab_at_peek(struct topo_level_slab *s___1 , struct commit  const  *c___0 ,
                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((uint32_t *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (uint32_t **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (uint32_t *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((uint32_t *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (uint32_t *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static uint32_t *topo_level_slab_at(struct topo_level_slab *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static uint32_t *topo_level_slab_at(struct topo_level_slab *s___1 , struct commit  const  *c___0 )
{
  uint32_t *tmp ;

  {
  tmp = topo_level_slab_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static uint32_t *topo_level_slab_peek(struct topo_level_slab *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static uint32_t *topo_level_slab_peek(struct topo_level_slab *s___1 , struct commit  const  *c___0 )
{
  uint32_t *tmp ;

  {
  tmp = topo_level_slab_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
static void init_commit_pos_with_stride(struct commit_pos *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_commit_pos_with_stride(struct commit_pos *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(int ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (int **)((void *)0);
  return;
}
}
static void init_commit_pos(struct commit_pos *s___1 )  __attribute__((__unused__)) ;
static void init_commit_pos(struct commit_pos *s___1 )
{


  {
  init_commit_pos_with_stride(s___1, 1U);
  return;
}
}
static void clear_commit_pos(struct commit_pos *s___1 )  __attribute__((__unused__)) ;
static void clear_commit_pos(struct commit_pos *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (int **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_commit_pos(struct commit_pos *s___1 , void (*free_fn)(int * ) )  __attribute__((__unused__)) ;
static void deep_clear_commit_pos(struct commit_pos *s___1 , void (*free_fn)(int * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_commit_pos(s___1);
  return;
}
}
static int *commit_pos_at_peek(struct commit_pos *s___1 , struct commit  const  *c___0 ,
                               int add_if_missing )  __attribute__((__unused__)) ;
static int *commit_pos_at_peek(struct commit_pos *s___1 , struct commit  const  *c___0 ,
                               int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((int *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (int **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (int *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((int *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (int *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static int *commit_pos_at(struct commit_pos *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static int *commit_pos_at(struct commit_pos *s___1 , struct commit  const  *c___0 )
{
  int *tmp ;

  {
  tmp = commit_pos_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static int *commit_pos_peek(struct commit_pos *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static int *commit_pos_peek(struct commit_pos *s___1 , struct commit  const  *c___0 )
{
  int *tmp ;

  {
  tmp = commit_pos_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
static struct commit_pos commit_pos  =    {(unsigned int )(524256UL / sizeof(*(*(commit_pos.slab)))), 1U, 0U, (int **)((void *)0)};
static int32_t max_pos  ;
static void set_commit_pos(struct repository *r , struct object_id  const  *oid )
{
  struct commit *commit ;
  struct commit *tmp ;
  int *tmp___0 ;
  int32_t tmp___1 ;

  {
  tmp = lookup_commit(r, oid);
  commit = tmp;
  if (! commit) {
    return;
  }
  tmp___0 = commit_pos_at(& commit_pos, (struct commit  const  *)commit);
  tmp___1 = max_pos;
  max_pos ++;
  *tmp___0 = tmp___1;
  return;
}
}
static int commit_pos_cmp(void const   *va , void const   *vb )
{
  struct commit  const  *a ;
  struct commit  const  *b___0 ;
  int *tmp ;
  int *tmp___0 ;

  {
  a = *((struct commit  const  **)va);
  b___0 = *((struct commit  const  **)vb);
  tmp = commit_pos_at(& commit_pos, a);
  tmp___0 = commit_pos_at(& commit_pos, b___0);
  return ((int )(tmp - tmp___0));
}
}
static void init_commit_graph_data_slab_with_stride(struct commit_graph_data_slab *s___1 ,
                                                    unsigned int stride )  __attribute__((__unused__)) ;
static void init_commit_graph_data_slab_with_stride(struct commit_graph_data_slab *s___1 ,
                                                    unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(struct commit_graph_data ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (struct commit_graph_data **)((void *)0);
  return;
}
}
static void init_commit_graph_data_slab(struct commit_graph_data_slab *s___1 )  __attribute__((__unused__)) ;
static void init_commit_graph_data_slab(struct commit_graph_data_slab *s___1 )
{


  {
  init_commit_graph_data_slab_with_stride(s___1, 1U);
  return;
}
}
static void clear_commit_graph_data_slab(struct commit_graph_data_slab *s___1 )  __attribute__((__unused__)) ;
static void clear_commit_graph_data_slab(struct commit_graph_data_slab *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (struct commit_graph_data **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_commit_graph_data_slab(struct commit_graph_data_slab *s___1 ,
                                              void (*free_fn)(struct commit_graph_data * ) )  __attribute__((__unused__)) ;
static void deep_clear_commit_graph_data_slab(struct commit_graph_data_slab *s___1 ,
                                              void (*free_fn)(struct commit_graph_data * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_commit_graph_data_slab(s___1);
  return;
}
}
static struct commit_graph_data *commit_graph_data_slab_at_peek(struct commit_graph_data_slab *s___1 ,
                                                                struct commit  const  *c___0 ,
                                                                int add_if_missing )  __attribute__((__unused__)) ;
static struct commit_graph_data *commit_graph_data_slab_at_peek(struct commit_graph_data_slab *s___1 ,
                                                                struct commit  const  *c___0 ,
                                                                int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((struct commit_graph_data *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (struct commit_graph_data **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (struct commit_graph_data *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((struct commit_graph_data *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (struct commit_graph_data *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static struct commit_graph_data *commit_graph_data_slab_at(struct commit_graph_data_slab *s___1 ,
                                                           struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct commit_graph_data *commit_graph_data_slab_at(struct commit_graph_data_slab *s___1 ,
                                                           struct commit  const  *c___0 )
{
  struct commit_graph_data *tmp ;

  {
  tmp = commit_graph_data_slab_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static struct commit_graph_data *commit_graph_data_slab_peek(struct commit_graph_data_slab *s___1 ,
                                                             struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct commit_graph_data *commit_graph_data_slab_peek(struct commit_graph_data_slab *s___1 ,
                                                             struct commit  const  *c___0 )
{
  struct commit_graph_data *tmp ;

  {
  tmp = commit_graph_data_slab_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
static struct commit_graph_data_slab commit_graph_data_slab  =    {(unsigned int )(524256UL / sizeof(*(*(commit_graph_data_slab.slab)))), 1U, 0U,
    (struct commit_graph_data **)((void *)0)};
static int get_configured_generation_version(struct repository *r )
{
  int version___0 ;

  {
  version___0 = 2;
  repo_config_get_int(r, (char const   *)"commitgraph.generationversion", & version___0);
  return (version___0);
}
}
uint32_t commit_graph_position(struct commit  const  *c___0 )
{
  struct commit_graph_data *data ;
  struct commit_graph_data *tmp ;
  uint32_t tmp___0 ;

  {
  tmp = commit_graph_data_slab_peek(& commit_graph_data_slab, c___0);
  data = tmp;
  if (data) {
    tmp___0 = data->graph_pos;
  } else {
    tmp___0 = 0xFFFFFFFF;
  }
  return (tmp___0);
}
}
timestamp_t commit_graph_generation(struct commit  const  *c___0 )
{
  struct commit_graph_data *data ;
  struct commit_graph_data *tmp ;

  {
  tmp = commit_graph_data_slab_peek(& commit_graph_data_slab, c___0);
  data = tmp;
  if (! data) {
    return ((timestamp_t )((1ULL << 63) - 1ULL));
  } else
  if (data->graph_pos == 0xFFFFFFFF) {
    return ((timestamp_t )((1ULL << 63) - 1ULL));
  }
  return (data->generation);
}
}
static struct commit_graph_data *commit_graph_data_at(struct commit  const  *c___0 )
{
  unsigned int i ;
  unsigned int nth_slab ;
  struct commit_graph_data *data ;
  struct commit_graph_data *tmp ;

  {
  tmp = commit_graph_data_slab_peek(& commit_graph_data_slab, c___0);
  data = tmp;
  if (data) {
    return (data);
  }
  nth_slab = (unsigned int )(c___0->index / (unsigned int )commit_graph_data_slab.slab_size);
  data = commit_graph_data_slab_at(& commit_graph_data_slab, c___0);
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < commit_graph_data_slab.slab_size)) {
      goto while_break;
    }
    (*(commit_graph_data_slab.slab + nth_slab) + i)->graph_pos = 0xFFFFFFFF;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (data);
}
}
static int commit_gen_cmp(void const   *va , void const   *vb )
{
  struct commit  const  *a ;
  struct commit  const  *b___0 ;
  timestamp_t generation_a ;
  struct commit_graph_data *tmp ;
  timestamp_t generation_b ;
  struct commit_graph_data *tmp___0 ;

  {
  a = *((struct commit  const  **)va);
  b___0 = *((struct commit  const  **)vb);
  tmp = commit_graph_data_at(a);
  generation_a = (timestamp_t )tmp->generation;
  tmp___0 = commit_graph_data_at(b___0);
  generation_b = (timestamp_t )tmp___0->generation;
  if (generation_a < generation_b) {
    return (-1);
  } else
  if (generation_a > generation_b) {
    return (1);
  }
  if (a->date < b___0->date) {
    return (-1);
  } else
  if (a->date > b___0->date) {
    return (1);
  }
  return (0);
}
}
char *get_commit_graph_filename(struct object_directory *obj_dir )
{
  char *tmp ;

  {
  tmp = xstrfmt((char const   *)"%s/info/commit-graph", obj_dir->path);
  return (tmp);
}
}
static char *get_split_graph_filename(struct object_directory *odb , char const   *oid_hex )
{
  char *tmp ;

  {
  tmp = xstrfmt((char const   *)"%s/info/commit-graphs/graph-%s.graph", odb->path,
                oid_hex);
  return (tmp);
}
}
char *get_commit_graph_chain_filename(struct object_directory *odb )
{
  char *tmp ;

  {
  tmp = xstrfmt((char const   *)"%s/info/commit-graphs/commit-graph-chain", odb->path);
  return (tmp);
}
}
static uint8_t oid_version(void)
{
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  tmp = hash_algo_by_ptr(the_repository->hash_algo);
  {
  if (tmp == 1) {
    goto case_1;
  }
  if (tmp == 2) {
    goto case_2;
  }
  goto switch_default;
  case_1: /* CIL Label */
  return ((uint8_t )1);
  case_2: /* CIL Label */
  return ((uint8_t )2);
  switch_default: /* CIL Label */
  tmp___0 = _((char const   *)"invalid hash version");
  die((char const   *)tmp___0);
  switch_break: /* CIL Label */ ;
  }
}
}
static struct commit_graph *alloc_commit_graph(void)
{
  struct commit_graph *g ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(*g));
  g = (struct commit_graph *)tmp;
  return (g);
}
}
static int commit_graph_compatible(struct repository *r )
{
  unsigned int tmp ;
  int tmp___0 ;

  {
  if (! r->gitdir) {
    return (0);
  }
  if (read_replace_refs) {
    prepare_replace_object(r);
    tmp = hashmap_get_size(& ((r->objects)->replace_map)->map);
    if (tmp) {
      return (0);
    }
  }
  prepare_commit_graft(r);
  if (r->parsed_objects) {
    if ((r->parsed_objects)->grafts_nr) {
      return (0);
    } else
    if ((r->parsed_objects)->substituted_parent) {
      return (0);
    }
  }
  tmp___0 = is_repository_shallow(r);
  if (tmp___0) {
    return (0);
  }
  return (1);
}
}
int open_commit_graph(char const   *graph_file , int *fd , struct stat *st )
{
  int tmp ;

  {
  *fd = git_open_cloexec(graph_file, 00);
  if (*fd < 0) {
    return (0);
  }
  tmp = fstat(*fd, st);
  if (tmp) {
    close(*fd);
    return (0);
  }
  return (1);
}
}
struct commit_graph *load_commit_graph_one_fd_st(struct repository *r , int fd , struct stat *st ,
                                                 struct object_directory *odb )
{
  void *graph_map ;
  size_t graph_size ;
  struct commit_graph *ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  graph_size = xsize_t(st->st_size);
  if (graph_size < ((8UL + 4UL * (sizeof(uint32_t ) + sizeof(uint64_t ))) + 1024UL) + (unsigned long )(the_repository->hash_algo)->rawsz) {
    close(fd);
    tmp = _((char const   *)"commit-graph file is too small");
    error((char const   *)tmp);
    const_error();
    return ((struct commit_graph *)((void *)0));
  }
  graph_map = xmmap((void *)0, graph_size, 0x1, 0x02, fd, (off_t )0);
  close(fd);
  ret___67 = parse_commit_graph(r, graph_map, graph_size);
  if (ret___67) {
    ret___67->odb = odb;
  } else {
    munmap(graph_map, graph_size);
  }
  return (ret___67);
}
}
static int verify_commit_graph_lite(struct commit_graph *g )
{


  {
  if (! g->chunk_oid_fanout) {
    error((char const   *)"commit-graph is missing the OID Fanout chunk");
    const_error();
    return (1);
  }
  if (! g->chunk_oid_lookup) {
    error((char const   *)"commit-graph is missing the OID Lookup chunk");
    const_error();
    return (1);
  }
  if (! g->chunk_commit_data) {
    error((char const   *)"commit-graph is missing the Commit Data chunk");
    const_error();
    return (1);
  }
  return (0);
}
}
static int graph_read_oid_lookup(unsigned char const   *chunk_start , size_t chunk_size ,
                                 void *data )
{
  struct commit_graph *g ;

  {
  g = (struct commit_graph *)data;
  g->chunk_oid_lookup = chunk_start;
  g->num_commits = (uint32_t )(chunk_size / (size_t )g->hash_len);
  return (0);
}
}
static int graph_read_bloom_data(unsigned char const   *chunk_start , size_t chunk_size ,
                                 void *data )
{
  struct commit_graph *g ;
  uint32_t hash_version ;
  void *tmp ;

  {
  g = (struct commit_graph *)data;
  g->chunk_bloom_data = chunk_start;
  hash_version = get_be32((void const   *)chunk_start);
  if (hash_version != 1U) {
    return (0);
  }
  tmp = xmalloc(sizeof(struct bloom_filter_settings ));
  g->bloom_filter_settings = (struct bloom_filter_settings *)tmp;
  (g->bloom_filter_settings)->hash_version = hash_version;
  (g->bloom_filter_settings)->num_hashes = get_be32((void const   *)(chunk_start + 4));
  (g->bloom_filter_settings)->bits_per_entry = get_be32((void const   *)(chunk_start + 8));
  (g->bloom_filter_settings)->max_changed_paths = (uint32_t )512;
  return (0);
}
}
struct commit_graph *parse_commit_graph(struct repository *r , void *graph_map , size_t graph_size )
{
  unsigned char const   *data ;
  struct commit_graph *graph ;
  uint32_t graph_signature ;
  unsigned char graph_version ;
  unsigned char hash_version ;
  struct chunkfile *cf___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  uint8_t tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  uint8_t tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  cf___0 = (struct chunkfile *)((void *)0);
  if (! graph_map) {
    return ((struct commit_graph *)((void *)0));
  }
  if (graph_size < ((8UL + 4UL * (sizeof(uint32_t ) + sizeof(uint64_t ))) + 1024UL) + (unsigned long )(the_repository->hash_algo)->rawsz) {
    return ((struct commit_graph *)((void *)0));
  }
  data = (unsigned char const   *)graph_map;
  graph_signature = get_be32((void const   *)data);
  if (graph_signature != 1128747080U) {
    tmp = _((char const   *)"commit-graph signature %X does not match signature %X");
    error((char const   *)tmp, graph_signature, 0x43475048);
    const_error();
    return ((struct commit_graph *)((void *)0));
  }
  graph_version = *((unsigned char *)(data + 4));
  if ((int )graph_version != 0x1) {
    tmp___0 = _((char const   *)"commit-graph version %X does not match version %X");
    error((char const   *)tmp___0, (int )graph_version, 0x1);
    const_error();
    return ((struct commit_graph *)((void *)0));
  }
  hash_version = *((unsigned char *)(data + 5));
  tmp___3 = oid_version();
  if ((int )hash_version != (int )tmp___3) {
    tmp___1 = oid_version();
    tmp___2 = _((char const   *)"commit-graph hash version %X does not match version %X");
    error((char const   *)tmp___2, (int )hash_version, (int )tmp___1);
    const_error();
    return ((struct commit_graph *)((void *)0));
  }
  prepare_repo_settings(r);
  graph = alloc_commit_graph();
  graph->hash_len = (unsigned char )(the_repository->hash_algo)->rawsz;
  graph->num_chunks = *((unsigned char *)(data + 6));
  graph->data = (unsigned char const   *)graph_map;
  graph->data_len = graph_size;
  if (graph_size < ((8UL + (unsigned long )((int )graph->num_chunks + 1) * (sizeof(uint32_t ) + sizeof(uint64_t ))) + 1024UL) + (unsigned long )(the_repository->hash_algo)->rawsz) {
    tmp___4 = _((char const   *)"commit-graph file is too small to hold %u chunks");
    error((char const   *)tmp___4, (int )graph->num_chunks);
    const_error();
    free((void *)graph);
    return ((struct commit_graph *)((void *)0));
  }
  cf___0 = init_chunkfile((struct hashfile *)((void *)0));
  tmp___5 = read_table_of_contents(cf___0, graph->data, graph_size, (uint64_t )8,
                                   (int )graph->num_chunks);
  if (tmp___5) {
    goto free_and_return;
  }
  pair_chunk(cf___0, (uint32_t )0x4f494446, (unsigned char const   **)(& graph->chunk_oid_fanout));
  read_chunk(cf___0, (uint32_t )0x4f49444c, & graph_read_oid_lookup, (void *)graph);
  pair_chunk(cf___0, (uint32_t )0x43444154, & graph->chunk_commit_data);
  pair_chunk(cf___0, (uint32_t )0x45444745, & graph->chunk_extra_edges);
  pair_chunk(cf___0, (uint32_t )0x42415345, & graph->chunk_base_graphs);
  tmp___6 = get_configured_generation_version(r);
  if (tmp___6 >= 2) {
    pair_chunk(cf___0, (uint32_t )0x47444154, & graph->chunk_generation_data);
    pair_chunk(cf___0, (uint32_t )0x47444f56, & graph->chunk_generation_data_overflow);
  }
  if (r->settings.commit_graph_read_changed_paths) {
    pair_chunk(cf___0, (uint32_t )0x42494458, & graph->chunk_bloom_indexes);
    read_chunk(cf___0, (uint32_t )0x42444154, & graph_read_bloom_data, (void *)graph);
  }
  if (graph->chunk_bloom_indexes) {
    if (graph->chunk_bloom_data) {
      init_bloom_filters();
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    graph->chunk_bloom_indexes = (unsigned char const   *)((void *)0);
    graph->chunk_bloom_data = (unsigned char const   *)((void *)0);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      free((void *)graph->bloom_filter_settings);
      graph->bloom_filter_settings = (struct bloom_filter_settings *)((void *)0);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
  }
  oidread(& graph->oid, (graph->data + graph->data_len) - (int )graph->hash_len);
  tmp___7 = verify_commit_graph_lite(graph);
  if (tmp___7) {
    goto free_and_return;
  }
  free_chunkfile(cf___0);
  return (graph);
  free_and_return:
  free_chunkfile(cf___0);
  free((void *)graph->bloom_filter_settings);
  free((void *)graph);
  return ((struct commit_graph *)((void *)0));
}
}
static struct commit_graph *load_commit_graph_one(struct repository *r , char const   *graph_file ,
                                                  struct object_directory *odb )
{
  struct stat st ;
  int fd ;
  struct commit_graph *g ;
  int open_ok ;
  int tmp ;

  {
  tmp = open_commit_graph(graph_file, & fd, & st);
  open_ok = tmp;
  if (! open_ok) {
    return ((struct commit_graph *)((void *)0));
  }
  g = load_commit_graph_one_fd_st(r, fd, & st, odb);
  if (g) {
    g->filename = xstrdup(graph_file);
  }
  return (g);
}
}
static struct commit_graph *load_commit_graph_v1(struct repository *r , struct object_directory *odb )
{
  char *graph_name ;
  char *tmp ;
  struct commit_graph *g ;
  struct commit_graph *tmp___0 ;

  {
  tmp = get_commit_graph_filename(odb);
  graph_name = tmp;
  tmp___0 = load_commit_graph_one(r, (char const   *)graph_name, odb);
  g = tmp___0;
  free((void *)graph_name);
  return (g);
}
}
static int add_graph_to_chain(struct commit_graph *g , struct commit_graph *chain ,
                              struct object_id *oids , int n )
{
  struct commit_graph *cur_g ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  cur_g = chain;
  if (n) {
    if (! g->chunk_base_graphs) {
      tmp = _((char const   *)"commit-graph has no base graphs chunk");
      warning((char const   *)tmp);
      return (0);
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! n) {
      goto while_break;
    }
    n --;
    if (! cur_g) {
      tmp___0 = _((char const   *)"commit-graph chain does not match");
      warning((char const   *)tmp___0);
      return (0);
    } else {
      tmp___1 = oideq((struct object_id  const  *)(oids + n), (struct object_id  const  *)(& cur_g->oid));
      if (tmp___1) {
        tmp___2 = hasheq((unsigned char const   *)((oids + n)->hash), g->chunk_base_graphs + (int )g->hash_len * n);
        if (! tmp___2) {
          tmp___0 = _((char const   *)"commit-graph chain does not match");
          warning((char const   *)tmp___0);
          return (0);
        }
      } else {
        tmp___0 = _((char const   *)"commit-graph chain does not match");
        warning((char const   *)tmp___0);
        return (0);
      }
    }
    cur_g = cur_g->base_graph;
  }
  while_break: /* CIL Label */ ;
  }
  g->base_graph = chain;
  if (chain) {
    g->num_commits_in_base = chain->num_commits + chain->num_commits_in_base;
  }
  return (1);
}
}
static struct commit_graph *load_commit_graph_chain(struct repository *r , struct object_directory *odb )
{
  struct commit_graph *graph_chain ;
  struct strbuf line___0 ;
  struct stat st ;
  struct object_id *oids ;
  int i ;
  int valid ;
  int count___0 ;
  char *chain_name ;
  char *tmp ;
  FILE *fp ;
  int stat_res ;
  void *tmp___0 ;
  struct object_directory *odb___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char *graph_name ;
  char *tmp___4 ;
  struct commit_graph *g ;
  struct commit_graph *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;

  {
  graph_chain = (struct commit_graph *)((void *)0);
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  i = 0;
  valid = 1;
  tmp = get_commit_graph_chain_filename(odb);
  chain_name = tmp;
  fp = git_fopen((char const   *)chain_name, (char const   *)"r");
  stat_res = stat((char const   *)chain_name, & st);
  free((void *)chain_name);
  if (! fp) {
    return ((struct commit_graph *)((void *)0));
  } else
  if (stat_res) {
    return ((struct commit_graph *)((void *)0));
  } else
  if ((size_t )st.st_size <= (the_repository->hash_algo)->hexsz) {
    return ((struct commit_graph *)((void *)0));
  }
  count___0 = (int )((size_t )st.st_size / ((the_repository->hash_algo)->hexsz + 1UL));
  tmp___0 = xcalloc((size_t )count___0, sizeof(*oids));
  oids = (struct object_id *)tmp___0;
  prepare_alt_odb(r);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < count___0)) {
      goto while_break;
    }
    tmp___1 = strbuf_getline_lf(& line___0, fp);
    if (tmp___1 == -1) {
      goto while_break;
    }
    tmp___3 = get_oid_hex((char const   *)line___0.buf, oids + i);
    if (tmp___3) {
      tmp___2 = _((char const   *)"invalid commit-graph chain: line \'%s\' not a hash");
      warning((char const   *)tmp___2, line___0.buf);
      valid = 0;
      goto while_break;
    }
    valid = 0;
    odb___0 = (r->objects)->odb;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! odb___0) {
        goto while_break___0;
      }
      tmp___4 = get_split_graph_filename(odb___0, (char const   *)line___0.buf);
      graph_name = tmp___4;
      tmp___5 = load_commit_graph_one(r, (char const   *)graph_name, odb___0);
      g = tmp___5;
      free((void *)graph_name);
      if (g) {
        tmp___6 = add_graph_to_chain(g, graph_chain, oids, i);
        if (tmp___6) {
          graph_chain = g;
          valid = 1;
        }
        goto while_break___0;
      }
      odb___0 = odb___0->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! valid) {
      tmp___7 = _((char const   *)"unable to find all commit-graph files");
      warning((char const   *)tmp___7);
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)oids);
  fclose(fp);
  strbuf_release(& line___0);
  return (graph_chain);
}
}
static int validate_mixed_generation_chain(struct commit_graph *g )
{
  int read_generation_data ;
  struct commit_graph *p___0 ;

  {
  read_generation_data = 1;
  p___0 = g;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (read_generation_data) {
      if (! p___0) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    read_generation_data = (int )p___0->read_generation_data;
    p___0 = p___0->base_graph;
  }
  while_break: /* CIL Label */ ;
  }
  if (read_generation_data) {
    return (1);
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! g) {
      goto while_break___0;
    }
    g->read_generation_data = 0U;
    g = g->base_graph;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (0);
}
}
struct commit_graph *read_commit_graph_one(struct repository *r , struct object_directory *odb )
{
  struct commit_graph *g ;
  struct commit_graph *tmp ;

  {
  tmp = load_commit_graph_v1(r, odb);
  g = tmp;
  if (! g) {
    g = load_commit_graph_chain(r, odb);
  }
  validate_mixed_generation_chain(g);
  return (g);
}
}
static void prepare_commit_graph_one(struct repository *r , struct object_directory *odb )
{


  {
  if ((r->objects)->commit_graph) {
    return;
  }
  (r->objects)->commit_graph = read_commit_graph_one(r, odb);
  return;
}
}
static int prepare_commit_graph(struct repository *r )
{
  struct object_directory *odb ;
  int tmp ;
  int tmp___0 ;

  {
  if (! r->gitdir) {
    return (0);
  } else
  if (r->commit_graph_disabled) {
    return (0);
  }
  if ((r->objects)->commit_graph_attempted) {
    return (! (! (r->objects)->commit_graph));
  }
  (r->objects)->commit_graph_attempted = 1U;
  prepare_repo_settings(r);
  tmp = git_env_bool((char const   *)"GIT_TEST_COMMIT_GRAPH", 0);
  if (! tmp) {
    if (r->settings.core_commit_graph != 1) {
      return (0);
    }
  }
  tmp___0 = commit_graph_compatible(r);
  if (! tmp___0) {
    return (0);
  }
  prepare_alt_odb(r);
  odb = (r->objects)->odb;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (r->objects)->commit_graph) {
      if (! odb) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    prepare_commit_graph_one(r, odb);
    odb = odb->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (! (! (r->objects)->commit_graph));
}
}
int generation_numbers_enabled(struct repository *r )
{
  uint32_t first_generation ;
  struct commit_graph *g ;
  int tmp ;
  uint32_t tmp___0 ;

  {
  tmp = prepare_commit_graph(r);
  if (! tmp) {
    return (0);
  }
  g = (r->objects)->commit_graph;
  if (! g->num_commits) {
    return (0);
  }
  tmp___0 = get_be32((void const   *)((g->chunk_commit_data + (int )g->hash_len) + 8));
  first_generation = tmp___0 >> 2;
  return (! (! first_generation));
}
}
int corrected_commit_dates_enabled(struct repository *r )
{
  struct commit_graph *g ;
  int tmp ;

  {
  tmp = prepare_commit_graph(r);
  if (! tmp) {
    return (0);
  }
  g = (r->objects)->commit_graph;
  if (! g->num_commits) {
    return (0);
  }
  return ((int )g->read_generation_data);
}
}
struct bloom_filter_settings *get_bloom_filter_settings(struct repository *r )
{
  struct commit_graph *g ;

  {
  g = (r->objects)->commit_graph;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! g) {
      goto while_break;
    }
    if (g->bloom_filter_settings) {
      return (g->bloom_filter_settings);
    }
    g = g->base_graph;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct bloom_filter_settings *)((void *)0));
}
}
static void close_commit_graph_one(struct commit_graph *g )
{


  {
  if (! g) {
    return;
  }
  clear_commit_graph_data_slab(& commit_graph_data_slab);
  close_commit_graph_one(g->base_graph);
  free_commit_graph(g);
  return;
}
}
void close_commit_graph(struct raw_object_store *o )
{


  {
  close_commit_graph_one(o->commit_graph);
  o->commit_graph = (struct commit_graph *)((void *)0);
  return;
}
}
static int bsearch_graph(struct commit_graph *g , struct object_id  const  *oid ,
                         uint32_t *pos )
{
  int tmp ;

  {
  tmp = bsearch_hash((unsigned char const   *)(oid->hash), g->chunk_oid_fanout, g->chunk_oid_lookup,
                     (size_t )g->hash_len, pos);
  return (tmp);
}
}
static void load_oid_from_graph(struct commit_graph *g , uint32_t pos , struct object_id *oid )
{
  uint32_t lex_index ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (g) {
      if (! (pos < g->num_commits_in_base)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    g = g->base_graph;
  }
  while_break: /* CIL Label */ ;
  }
  if (! g) {
    BUG_fl((char const   *)"commit-graph.c", 746, (char const   *)"NULL commit-graph");
  }
  if (pos >= g->num_commits + g->num_commits_in_base) {
    tmp = _((char const   *)"invalid commit position. commit-graph is likely corrupt");
    die((char const   *)tmp);
  }
  lex_index = pos - g->num_commits_in_base;
  oidread(oid, g->chunk_oid_lookup + (uint32_t )g->hash_len * lex_index);
  return;
}
}
static struct commit_list **insert_parent_or_die(struct repository *r , struct commit_graph *g ,
                                                 uint32_t pos , struct commit_list **pptr )
{
  struct commit *c___0 ;
  struct object_id oid ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  struct commit_graph_data *tmp___1 ;
  struct commit_list *tmp___2 ;

  {
  if (pos >= g->num_commits + g->num_commits_in_base) {
    die((char const   *)"invalid parent position %u", pos);
  }
  load_oid_from_graph(g, pos, & oid);
  c___0 = lookup_commit(r, (struct object_id  const  *)(& oid));
  if (! c___0) {
    tmp = oid_to_hex((struct object_id  const  *)(& oid));
    tmp___0 = _((char const   *)"could not find commit %s");
    die((char const   *)tmp___0, tmp);
  }
  tmp___1 = commit_graph_data_at((struct commit  const  *)c___0);
  tmp___1->graph_pos = pos;
  tmp___2 = commit_list_insert(c___0, pptr);
  return (& tmp___2->next);
}
}
static void fill_commit_graph_info(struct commit *item___0 , struct commit_graph *g ,
                                   uint32_t pos )
{
  unsigned char const   *commit_data ;
  struct commit_graph_data *graph_data ;
  uint32_t lex_index ;
  uint32_t offset_pos ;
  uint64_t date_high ;
  uint64_t date_low ;
  uint64_t offset___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  uint32_t tmp___0 ;
  uint32_t tmp___1 ;
  uint32_t tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  uint32_t tmp___4 ;
  uint32_t *tmp___5 ;
  uint32_t tmp___6 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (pos < g->num_commits_in_base)) {
      goto while_break;
    }
    g = g->base_graph;
  }
  while_break: /* CIL Label */ ;
  }
  if (pos >= g->num_commits + g->num_commits_in_base) {
    tmp = _((char const   *)"invalid commit position. commit-graph is likely corrupt");
    die((char const   *)tmp);
  }
  lex_index = pos - g->num_commits_in_base;
  commit_data = g->chunk_commit_data + ((the_repository->hash_algo)->rawsz + 16UL) * (size_t )lex_index;
  graph_data = commit_graph_data_at((struct commit  const  *)item___0);
  graph_data->graph_pos = pos;
  tmp___0 = get_be32((void const   *)((commit_data + (int )g->hash_len) + 8));
  date_high = (uint64_t )(tmp___0 & 3U);
  tmp___1 = get_be32((void const   *)((commit_data + (int )g->hash_len) + 12));
  date_low = (uint64_t )tmp___1;
  item___0->date = (date_high << 32) | date_low;
  if (g->read_generation_data) {
    tmp___2 = get_be32((void const   *)(g->chunk_generation_data + sizeof(uint32_t ) * (unsigned long )lex_index));
    offset___2 = (timestamp_t )tmp___2;
    if ((unsigned long long )offset___2 & (1ULL << 31)) {
      if (! g->chunk_generation_data_overflow) {
        tmp___3 = _((char const   *)"commit-graph requires overflow generation data but has none");
        die((char const   *)tmp___3);
      }
      offset_pos = (uint32_t )((unsigned long long )offset___2 ^ (1ULL << 31));
      graph_data->generation = get_be64((void const   *)(g->chunk_generation_data_overflow + 8U * offset_pos));
    } else {
      graph_data->generation = item___0->date + offset___2;
    }
  } else {
    tmp___4 = get_be32((void const   *)((commit_data + (int )g->hash_len) + 8));
    graph_data->generation = (timestamp_t )(tmp___4 >> 2);
  }
  if (g->topo_levels) {
    tmp___5 = topo_level_slab_at(g->topo_levels, (struct commit  const  *)item___0);
    tmp___6 = get_be32((void const   *)((commit_data + (int )g->hash_len) + 8));
    *tmp___5 = tmp___6 >> 2;
  }
  return;
}
}
__inline static void set_commit_tree(struct commit *c___0 , struct tree *t )
{


  {
  c___0->maybe_tree = t;
  return;
}
}
static int fill_commit_in_graph(struct repository *r , struct commit *item___0 , struct commit_graph *g ,
                                uint32_t pos )
{
  uint32_t edge_value ;
  uint32_t *parent_data_ptr ;
  struct commit_list **pptr ;
  unsigned char const   *commit_data ;
  uint32_t lex_index ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (pos < g->num_commits_in_base)) {
      goto while_break;
    }
    g = g->base_graph;
  }
  while_break: /* CIL Label */ ;
  }
  fill_commit_graph_info(item___0, g, pos);
  lex_index = pos - g->num_commits_in_base;
  commit_data = g->chunk_commit_data + (uint32_t )((int )g->hash_len + 16) * lex_index;
  item___0->object.parsed = 1U;
  set_commit_tree(item___0, (struct tree *)((void *)0));
  pptr = & item___0->parents;
  edge_value = get_be32((void const   *)(commit_data + (int )g->hash_len));
  if (edge_value == 1879048192U) {
    return (1);
  }
  pptr = insert_parent_or_die(r, g, edge_value, pptr);
  edge_value = get_be32((void const   *)((commit_data + (int )g->hash_len) + 4));
  if (edge_value == 1879048192U) {
    return (1);
  }
  if (! (edge_value & 0x80000000)) {
    pptr = insert_parent_or_die(r, g, edge_value, pptr);
    return (1);
  }
  parent_data_ptr = (uint32_t *)(g->chunk_extra_edges + 4UL * (uint64_t )(edge_value & 2147483647U));
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    edge_value = get_be32((void const   *)parent_data_ptr);
    pptr = insert_parent_or_die(r, g, edge_value & 2147483647U, pptr);
    parent_data_ptr ++;
    if (! (! (edge_value & 0x80000000))) {
      goto while_break___0;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  return (1);
}
}
static int search_commit_pos_in_graph(struct object_id  const  *id , struct commit_graph *g ,
                                      uint32_t *pos )
{
  struct commit_graph *cur_g ;
  uint32_t lex_index ;
  int tmp ;

  {
  cur_g = g;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (cur_g) {
      tmp = bsearch_graph(cur_g, id, & lex_index);
      if (tmp) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    cur_g = cur_g->base_graph;
  }
  while_break: /* CIL Label */ ;
  }
  if (cur_g) {
    *pos = lex_index + cur_g->num_commits_in_base;
    return (1);
  }
  return (0);
}
}
static int find_commit_pos_in_graph(struct commit *item___0 , struct commit_graph *g ,
                                    uint32_t *pos )
{
  uint32_t graph_pos ;
  uint32_t tmp ;
  int tmp___0 ;

  {
  tmp = commit_graph_position((struct commit  const  *)item___0);
  graph_pos = tmp;
  if (graph_pos != 0xFFFFFFFF) {
    *pos = graph_pos;
    return (1);
  } else {
    tmp___0 = search_commit_pos_in_graph((struct object_id  const  *)(& item___0->object.oid),
                                         g, pos);
    return (tmp___0);
  }
}
}
struct commit *lookup_commit_in_graph(struct repository *repo , struct object_id  const  *id )
{
  struct commit *commit ;
  uint32_t pos ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! (repo->objects)->commit_graph) {
    return ((struct commit *)((void *)0));
  }
  tmp = search_commit_pos_in_graph(id, (repo->objects)->commit_graph, & pos);
  if (! tmp) {
    return ((struct commit *)((void *)0));
  }
  tmp___0 = repo_has_object_file(repo, id);
  if (! tmp___0) {
    return ((struct commit *)((void *)0));
  }
  commit = lookup_commit(repo, id);
  if (! commit) {
    return ((struct commit *)((void *)0));
  }
  if (commit->object.parsed) {
    return (commit);
  }
  tmp___1 = fill_commit_in_graph(repo, commit, (repo->objects)->commit_graph, pos);
  if (! tmp___1) {
    return ((struct commit *)((void *)0));
  }
  return (commit);
}
}
static int parse_commit_in_graph_one(struct repository *r , struct commit_graph *g ,
                                     struct commit *item___0 )
{
  uint32_t pos ;
  int tmp ;
  int tmp___0 ;

  {
  if (item___0->object.parsed) {
    return (1);
  }
  tmp___0 = find_commit_pos_in_graph(item___0, g, & pos);
  if (tmp___0) {
    tmp = fill_commit_in_graph(r, item___0, g, pos);
    return (tmp);
  }
  return (0);
}
}
static int checked_env  =    0;
int parse_commit_in_graph(struct repository *r , struct commit *item___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! checked_env) {
    tmp = git_env_bool((char const   *)"GIT_TEST_COMMIT_GRAPH_DIE_ON_PARSE", 0);
    if (tmp) {
      die((char const   *)"dying as requested by the \'%s\' variable on commit-graph parse!",
          "GIT_TEST_COMMIT_GRAPH_DIE_ON_PARSE");
    }
  }
  checked_env = 1;
  tmp___0 = prepare_commit_graph(r);
  if (! tmp___0) {
    return (0);
  }
  tmp___1 = parse_commit_in_graph_one(r, (r->objects)->commit_graph, item___0);
  return (tmp___1);
}
}
void load_commit_graph_info(struct repository *r , struct commit *item___0 )
{
  uint32_t pos ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = prepare_commit_graph(r);
  if (! tmp) {
    return;
  }
  tmp___0 = find_commit_pos_in_graph(item___0, (r->objects)->commit_graph, & pos);
  if (tmp___0) {
    fill_commit_graph_info(item___0, (r->objects)->commit_graph, pos);
  }
  return;
}
}
static struct tree *load_tree_for_commit(struct repository *r , struct commit_graph *g ,
                                         struct commit *c___0 )
{
  struct object_id oid ;
  unsigned char const   *commit_data ;
  uint32_t graph_pos ;
  uint32_t tmp ;
  struct tree *tmp___0 ;

  {
  tmp = commit_graph_position((struct commit  const  *)c___0);
  graph_pos = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (graph_pos < g->num_commits_in_base)) {
      goto while_break;
    }
    g = g->base_graph;
  }
  while_break: /* CIL Label */ ;
  }
  commit_data = g->chunk_commit_data + ((the_repository->hash_algo)->rawsz + 16UL) * (size_t )(graph_pos - g->num_commits_in_base);
  oidread(& oid, commit_data);
  tmp___0 = lookup_tree(r, (struct object_id  const  *)(& oid));
  set_commit_tree(c___0, tmp___0);
  return (c___0->maybe_tree);
}
}
static struct tree *get_commit_tree_in_graph_one(struct repository *r , struct commit_graph *g ,
                                                 struct commit  const  *c___0 )
{
  uint32_t tmp ;
  struct tree *tmp___0 ;

  {
  if (c___0->maybe_tree) {
    return ((struct tree *)c___0->maybe_tree);
  }
  tmp = commit_graph_position(c___0);
  if (tmp == 0xFFFFFFFF) {
    BUG_fl((char const   *)"commit-graph.c", 988, (char const   *)"get_commit_tree_in_graph_one called from non-commit-graph commit");
  }
  tmp___0 = load_tree_for_commit(r, g, (struct commit *)c___0);
  return (tmp___0);
}
}
struct tree *get_commit_tree_in_graph(struct repository *r , struct commit  const  *c___0 )
{
  struct tree *tmp ;

  {
  tmp = get_commit_tree_in_graph_one(r, (r->objects)->commit_graph, c___0);
  return (tmp);
}
}
static int write_graph_chunk_fanout(struct hashfile *f , void *data )
{
  struct write_commit_graph_context *ctx___0 ;
  int i ;
  int count___0 ;
  struct commit **list___3 ;

  {
  ctx___0 = (struct write_commit_graph_context *)data;
  count___0 = 0;
  list___3 = ctx___0->commits.list;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 256)) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((size_t )count___0 < ctx___0->commits.nr)) {
        goto while_break___0;
      }
      if ((int )(*list___3)->object.oid.hash[0] != i) {
        goto while_break___0;
      }
      (ctx___0->progress_cnt) ++;
      display_progress(ctx___0->progress, ctx___0->progress_cnt);
      count___0 ++;
      list___3 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    hashwrite_be32(f, (uint32_t )count___0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int write_graph_chunk_oids(struct hashfile *f , void *data )
{
  struct write_commit_graph_context *ctx___0 ;
  struct commit **list___3 ;
  int count___0 ;

  {
  ctx___0 = (struct write_commit_graph_context *)data;
  list___3 = ctx___0->commits.list;
  count___0 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )count___0 < ctx___0->commits.nr)) {
      goto while_break;
    }
    (ctx___0->progress_cnt) ++;
    display_progress(ctx___0->progress, ctx___0->progress_cnt);
    hashwrite(f, (void const   *)((*list___3)->object.oid.hash), (unsigned int )(the_repository->hash_algo)->rawsz);
    count___0 ++;
    list___3 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static struct object_id  const  *commit_to_oid(size_t index___2 , void const   *table )
{
  struct commit  const  **commits ;

  {
  commits = (struct commit  const  **)table;
  return ((struct object_id  const  *)(& (*(commits + index___2))->object.oid));
}
}
static int write_graph_chunk_data(struct hashfile *f , void *data )
{
  struct write_commit_graph_context *ctx___0 ;
  struct commit **list___3 ;
  struct commit **last ;
  uint32_t num_extra_edges ;
  struct commit_list *parent ;
  struct object_id *tree ;
  int edge_value ;
  uint32_t packedDate[2] ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  uint32_t pos ;
  int tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;
  uint32_t pos___0 ;
  int tmp___5 ;
  char *tmp___6 ;
  char *tmp___7 ;
  uint32_t *tmp___8 ;
  uint32_t tmp___9 ;

  {
  ctx___0 = (struct write_commit_graph_context *)data;
  list___3 = ctx___0->commits.list;
  last = ctx___0->commits.list + ctx___0->commits.nr;
  num_extra_edges = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )list___3 < (unsigned long )last)) {
      goto while_break;
    }
    (ctx___0->progress_cnt) ++;
    display_progress(ctx___0->progress, ctx___0->progress_cnt);
    tmp___1 = repo_parse_commit_no_graph(ctx___0->r, *list___3);
    if (tmp___1) {
      tmp = oid_to_hex((struct object_id  const  *)(& (*list___3)->object.oid));
      tmp___0 = _((char const   *)"unable to parse commit %s");
      die((char const   *)tmp___0, tmp);
    }
    tree = get_commit_tree_oid((struct commit  const  *)*list___3);
    hashwrite(f, (void const   *)(tree->hash), (unsigned int )(the_repository->hash_algo)->rawsz);
    parent = (*list___3)->parents;
    if (! parent) {
      edge_value = 0x70000000;
    } else {
      edge_value = oid_pos((struct object_id  const  *)(& (parent->item)->object.oid),
                           (void const   *)ctx___0->commits.list, ctx___0->commits.nr,
                           & commit_to_oid);
      if (edge_value >= 0) {
        edge_value = (int )((uint32_t )edge_value + ctx___0->new_num_commits_in_base);
      } else
      if (ctx___0->new_base_graph) {
        tmp___2 = find_commit_pos_in_graph(parent->item, ctx___0->new_base_graph,
                                           & pos);
        if (tmp___2) {
          edge_value = (int )pos;
        }
      }
      if (edge_value < 0) {
        tmp___3 = oid_to_hex((struct object_id  const  *)(& (*list___3)->object.oid));
        tmp___4 = oid_to_hex((struct object_id  const  *)(& (parent->item)->object.oid));
        BUG_fl((char const   *)"commit-graph.c", 1136, (char const   *)"missing parent %s for commit %s",
               tmp___4, tmp___3);
      }
    }
    hashwrite_be32(f, (uint32_t )edge_value);
    if (parent) {
      parent = parent->next;
    }
    if (! parent) {
      edge_value = 0x70000000;
    } else
    if (parent->next) {
      edge_value = (int )(0x80000000 | num_extra_edges);
    } else {
      edge_value = oid_pos((struct object_id  const  *)(& (parent->item)->object.oid),
                           (void const   *)ctx___0->commits.list, ctx___0->commits.nr,
                           & commit_to_oid);
      if (edge_value >= 0) {
        edge_value = (int )((uint32_t )edge_value + ctx___0->new_num_commits_in_base);
      } else
      if (ctx___0->new_base_graph) {
        tmp___5 = find_commit_pos_in_graph(parent->item, ctx___0->new_base_graph,
                                           & pos___0);
        if (tmp___5) {
          edge_value = (int )pos___0;
        }
      }
      if (edge_value < 0) {
        tmp___6 = oid_to_hex((struct object_id  const  *)(& (*list___3)->object.oid));
        tmp___7 = oid_to_hex((struct object_id  const  *)(& (parent->item)->object.oid));
        BUG_fl((char const   *)"commit-graph.c", 1167, (char const   *)"missing parent %s for commit %s",
               tmp___7, tmp___6);
      }
    }
    hashwrite_be32(f, (uint32_t )edge_value);
    if ((unsigned int )edge_value & 0x80000000) {
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        num_extra_edges ++;
        parent = parent->next;
        if (! parent) {
          goto while_break___0;
        }
      }
      while_break___0: /* CIL Label */ ;
      }
    }
    if (sizeof((*list___3)->date) > 4UL) {
      packedDate[0] = git_bswap32((uint32_t )(((*list___3)->date >> 32) & 3UL));
    } else {
      packedDate[0] = (uint32_t )0;
    }
    tmp___8 = topo_level_slab_at(ctx___0->topo_levels, (struct commit  const  *)*list___3);
    tmp___9 = git_bswap32(*tmp___8 << 2);
    packedDate[0] |= tmp___9;
    packedDate[1] = git_bswap32((uint32_t )(*list___3)->date);
    hashwrite(f, (void const   *)(packedDate), 8U);
    list___3 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int write_graph_chunk_generation_data(struct hashfile *f , void *data )
{
  struct write_commit_graph_context *ctx___0 ;
  int i ;
  int num_generation_data_overflows ;
  struct commit *c___0 ;
  timestamp_t offset___2 ;
  struct commit_graph_data *tmp ;

  {
  ctx___0 = (struct write_commit_graph_context *)data;
  num_generation_data_overflows = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < ctx___0->commits.nr)) {
      goto while_break;
    }
    c___0 = *(ctx___0->commits.list + i);
    repo_parse_commit(ctx___0->r, c___0);
    tmp = commit_graph_data_at((struct commit  const  *)c___0);
    offset___2 = tmp->generation - c___0->date;
    (ctx___0->progress_cnt) ++;
    display_progress(ctx___0->progress, ctx___0->progress_cnt);
    if ((unsigned long long )offset___2 > (1ULL << 31) - 1ULL) {
      offset___2 = (timestamp_t )((1ULL << 31) | (unsigned long long )num_generation_data_overflows);
      num_generation_data_overflows ++;
    }
    hashwrite_be32(f, (uint32_t )offset___2);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int write_graph_chunk_generation_data_overflow(struct hashfile *f , void *data )
{
  struct write_commit_graph_context *ctx___0 ;
  int i ;
  struct commit *c___0 ;
  timestamp_t offset___2 ;
  struct commit_graph_data *tmp ;

  {
  ctx___0 = (struct write_commit_graph_context *)data;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < ctx___0->commits.nr)) {
      goto while_break;
    }
    c___0 = *(ctx___0->commits.list + i);
    tmp = commit_graph_data_at((struct commit  const  *)c___0);
    offset___2 = tmp->generation - c___0->date;
    (ctx___0->progress_cnt) ++;
    display_progress(ctx___0->progress, ctx___0->progress_cnt);
    if ((unsigned long long )offset___2 > (1ULL << 31) - 1ULL) {
      hashwrite_be32(f, (uint32_t )(offset___2 >> 32));
      hashwrite_be32(f, (uint32_t )offset___2);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int write_graph_chunk_extra_edges(struct hashfile *f , void *data )
{
  struct write_commit_graph_context *ctx___0 ;
  struct commit **list___3 ;
  struct commit **last ;
  struct commit_list *parent ;
  int num_parents ;
  int edge_value ;
  int tmp ;
  uint32_t pos ;
  int tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  ctx___0 = (struct write_commit_graph_context *)data;
  list___3 = ctx___0->commits.list;
  last = ctx___0->commits.list + ctx___0->commits.nr;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )list___3 < (unsigned long )last)) {
      goto while_break;
    }
    num_parents = 0;
    (ctx___0->progress_cnt) ++;
    display_progress(ctx___0->progress, ctx___0->progress_cnt);
    parent = (*list___3)->parents;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (num_parents < 3) {
        if (! parent) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      num_parents ++;
      parent = parent->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (num_parents <= 2) {
      list___3 ++;
      goto while_continue;
    }
    parent = ((*list___3)->parents)->next;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! parent) {
        goto while_break___1;
      }
      tmp = oid_pos((struct object_id  const  *)(& (parent->item)->object.oid), (void const   *)ctx___0->commits.list,
                    ctx___0->commits.nr, & commit_to_oid);
      edge_value = tmp;
      if (edge_value >= 0) {
        edge_value = (int )((uint32_t )edge_value + ctx___0->new_num_commits_in_base);
      } else
      if (ctx___0->new_base_graph) {
        tmp___0 = find_commit_pos_in_graph(parent->item, ctx___0->new_base_graph,
                                           & pos);
        if (tmp___0) {
          edge_value = (int )pos;
        }
      }
      if (edge_value < 0) {
        tmp___1 = oid_to_hex((struct object_id  const  *)(& (*list___3)->object.oid));
        tmp___2 = oid_to_hex((struct object_id  const  *)(& (parent->item)->object.oid));
        BUG_fl((char const   *)"commit-graph.c", 1280, (char const   *)"missing parent %s for commit %s",
               tmp___2, tmp___1);
      } else
      if (! parent->next) {
        edge_value = (int )((unsigned int )edge_value | 0x80000000);
      }
      hashwrite_be32(f, (uint32_t )edge_value);
      parent = parent->next;
    }
    while_break___1: /* CIL Label */ ;
    }
    list___3 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int write_graph_chunk_bloom_indexes(struct hashfile *f , void *data )
{
  struct write_commit_graph_context *ctx___0 ;
  struct commit **list___3 ;
  struct commit **last ;
  uint32_t cur_pos ;
  struct bloom_filter *filter___0 ;
  struct bloom_filter *tmp ;
  size_t len___0 ;
  size_t tmp___0 ;

  {
  ctx___0 = (struct write_commit_graph_context *)data;
  list___3 = ctx___0->commits.list;
  last = ctx___0->commits.list + ctx___0->commits.nr;
  cur_pos = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )list___3 < (unsigned long )last)) {
      goto while_break;
    }
    tmp = get_or_compute_bloom_filter(ctx___0->r, *list___3, 0, (struct bloom_filter_settings  const  *)((void *)0),
                                      (enum bloom_filter_computed *)((void *)0));
    filter___0 = tmp;
    if (filter___0) {
      tmp___0 = filter___0->len;
    } else {
      tmp___0 = (size_t )0;
    }
    len___0 = tmp___0;
    cur_pos = (uint32_t )((size_t )cur_pos + len___0);
    (ctx___0->progress_cnt) ++;
    display_progress(ctx___0->progress, ctx___0->progress_cnt);
    hashwrite_be32(f, cur_pos);
    list___3 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void trace2_bloom_filter_settings(struct write_commit_graph_context *ctx___0 )
{
  struct json_writer jw ;

  {
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  jw_object_begin(& jw, 0);
  jw_object_intmax(& jw, (char const   *)"hash_version", (intmax_t )(ctx___0->bloom_settings)->hash_version);
  jw_object_intmax(& jw, (char const   *)"num_hashes", (intmax_t )(ctx___0->bloom_settings)->num_hashes);
  jw_object_intmax(& jw, (char const   *)"bits_per_entry", (intmax_t )(ctx___0->bloom_settings)->bits_per_entry);
  jw_object_intmax(& jw, (char const   *)"max_changed_paths", (intmax_t )(ctx___0->bloom_settings)->max_changed_paths);
  jw_end(& jw);
  trace2_data_json_fl((char const   *)"commit-graph.c", 1324, (char const   *)"bloom",
                      (struct repository  const  *)ctx___0->r, (char const   *)"settings",
                      (struct json_writer  const  *)(& jw));
  jw_release(& jw);
  return;
}
}
static int write_graph_chunk_bloom_data(struct hashfile *f , void *data )
{
  struct write_commit_graph_context *ctx___0 ;
  struct commit **list___3 ;
  struct commit **last ;
  struct bloom_filter *filter___0 ;
  struct bloom_filter *tmp ;
  size_t len___0 ;
  size_t tmp___0 ;

  {
  ctx___0 = (struct write_commit_graph_context *)data;
  list___3 = ctx___0->commits.list;
  last = ctx___0->commits.list + ctx___0->commits.nr;
  trace2_bloom_filter_settings(ctx___0);
  hashwrite_be32(f, (uint32_t )(ctx___0->bloom_settings)->hash_version);
  hashwrite_be32(f, (uint32_t )(ctx___0->bloom_settings)->num_hashes);
  hashwrite_be32(f, (uint32_t )(ctx___0->bloom_settings)->bits_per_entry);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )list___3 < (unsigned long )last)) {
      goto while_break;
    }
    tmp = get_or_compute_bloom_filter(ctx___0->r, *list___3, 0, (struct bloom_filter_settings  const  *)((void *)0),
                                      (enum bloom_filter_computed *)((void *)0));
    filter___0 = tmp;
    if (filter___0) {
      tmp___0 = filter___0->len;
    } else {
      tmp___0 = (size_t )0;
    }
    len___0 = tmp___0;
    (ctx___0->progress_cnt) ++;
    display_progress(ctx___0->progress, ctx___0->progress_cnt);
    if (len___0) {
      hashwrite(f, (void const   *)filter___0->data, (unsigned int )(len___0 * sizeof(unsigned char )));
    }
    list___3 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int add_packed_commits(struct object_id  const  *oid , struct packed_git *pack___0 ,
                              uint32_t pos , void *data )
{
  struct write_commit_graph_context *ctx___0 ;
  enum object_type type___0 ;
  off_t offset___2 ;
  off_t tmp ;
  struct object_info oi___0 ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  ctx___0 = (struct write_commit_graph_context *)data;
  tmp = nth_packed_object_offset((struct packed_git  const  *)pack___0, pos);
  offset___2 = tmp;
  oi___0.typep = (enum object_type *)0;
  oi___0.sizep = (unsigned long *)0;
  oi___0.disk_sizep = (off_t *)0;
  oi___0.delta_base_oid = (struct object_id *)0;
  oi___0.type_name = (struct strbuf *)0;
  oi___0.contentp = (void **)0;
  oi___0.whence = 0U;
  oi___0.u.packed.pack = (struct packed_git *)0;
  oi___0.u.packed.offset = 0L;
  oi___0.u.packed.is_delta = 0U;
  if (ctx___0->progress) {
    (ctx___0->progress_done) ++;
    display_progress(ctx___0->progress, (uint64_t )ctx___0->progress_done);
  }
  oi___0.typep = & type___0;
  tmp___2 = packed_object_info(ctx___0->r, pack___0, offset___2, & oi___0);
  if (tmp___2 < 0) {
    tmp___0 = oid_to_hex(oid);
    tmp___1 = _((char const   *)"unable to get type of object %s");
    die((char const   *)tmp___1, tmp___0);
  }
  if ((int )type___0 != 1) {
    return (0);
  }
  oid_array_append(& ctx___0->oids, oid);
  set_commit_pos(ctx___0->r, oid);
  return (0);
}
}
static void add_missing_parents(struct write_commit_graph_context *ctx___0 , struct commit *commit )
{
  struct commit_list *parent ;

  {
  parent = commit->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! parent) {
      goto while_break;
    }
    if (! ((parent->item)->object.flags & (1u << 15))) {
      oid_array_append(& ctx___0->oids, (struct object_id  const  *)(& (parent->item)->object.oid));
      (parent->item)->object.flags |= 1u << 15;
    }
    parent = parent->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void close_reachable(struct write_commit_graph_context *ctx___0 )
{
  int i ;
  struct commit *commit ;
  enum commit_graph_split_flags flags___0 ;
  unsigned int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  uint32_t tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  if (ctx___0->opts) {
    tmp = (unsigned int )(ctx___0->opts)->split_flags;
  } else {
    tmp = (unsigned int )0;
  }
  flags___0 = (enum commit_graph_split_flags )tmp;
  if (ctx___0->report_progress) {
    tmp___0 = _((char const   *)"Loading known commits in commit graph");
    ctx___0->progress = start_delayed_progress((char const   *)tmp___0, ctx___0->oids.nr);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < ctx___0->oids.nr)) {
      goto while_break;
    }
    display_progress(ctx___0->progress, (uint64_t )(i + 1));
    commit = lookup_commit(ctx___0->r, (struct object_id  const  *)(ctx___0->oids.oid + i));
    if (commit) {
      commit->object.flags |= 1u << 15;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  stop_progress(& ctx___0->progress);
  if (ctx___0->report_progress) {
    tmp___1 = _((char const   *)"Expanding reachable commits in commit graph");
    ctx___0->progress = start_delayed_progress((char const   *)tmp___1, (uint64_t )0);
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((size_t )i < ctx___0->oids.nr)) {
      goto while_break___0;
    }
    display_progress(ctx___0->progress, (uint64_t )(i + 1));
    commit = lookup_commit(ctx___0->r, (struct object_id  const  *)(ctx___0->oids.oid + i));
    if (! commit) {
      goto __Cont;
    }
    if (ctx___0->split) {
      tmp___2 = repo_parse_commit(ctx___0->r, commit);
      if (tmp___2) {
        _L: /* CIL Label */
        if ((unsigned int )flags___0 == 2U) {
          add_missing_parents(ctx___0, commit);
        }
      } else {
        tmp___3 = commit_graph_position((struct commit  const  *)commit);
        if (tmp___3 == 0xFFFFFFFF) {
          add_missing_parents(ctx___0, commit);
        } else {
          goto _L;
        }
      }
    } else {
      tmp___4 = repo_parse_commit_no_graph(ctx___0->r, commit);
      if (! tmp___4) {
        add_missing_parents(ctx___0, commit);
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  stop_progress(& ctx___0->progress);
  if (ctx___0->report_progress) {
    tmp___5 = _((char const   *)"Clearing commit marks in commit graph");
    ctx___0->progress = start_delayed_progress((char const   *)tmp___5, ctx___0->oids.nr);
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((size_t )i < ctx___0->oids.nr)) {
      goto while_break___1;
    }
    display_progress(ctx___0->progress, (uint64_t )(i + 1));
    commit = lookup_commit(ctx___0->r, (struct object_id  const  *)(ctx___0->oids.oid + i));
    if (commit) {
      commit->object.flags &= ~ (1u << 15);
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  stop_progress(& ctx___0->progress);
  return;
}
}
static void compute_topological_levels(struct write_commit_graph_context *ctx___0 )
{
  int i ;
  struct commit_list *list___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct commit *c___0 ;
  uint32_t level ;
  uint32_t *tmp___0 ;
  struct commit *current ;
  struct commit_list *parent ;
  int all_parents_computed ;
  uint32_t max_level ;
  uint32_t *tmp___1 ;
  uint32_t *tmp___2 ;

  {
  list___3 = (struct commit_list *)((void *)0);
  if (ctx___0->report_progress) {
    tmp = _((char const   *)"Computing commit graph topological levels");
    ctx___0->progress = start_delayed_progress((char const   *)tmp, ctx___0->commits.nr);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < ctx___0->commits.nr)) {
      goto while_break;
    }
    c___0 = *(ctx___0->commits.list + i);
    repo_parse_commit(ctx___0->r, c___0);
    tmp___0 = topo_level_slab_at(ctx___0->topo_levels, (struct commit  const  *)c___0);
    level = *tmp___0;
    display_progress(ctx___0->progress, (uint64_t )(i + 1));
    if (level != 0U) {
      goto __Cont;
    }
    commit_list_insert(c___0, & list___3);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! list___3) {
        goto while_break___0;
      }
      current = list___3->item;
      all_parents_computed = 1;
      max_level = (uint32_t )0;
      parent = current->parents;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! parent) {
          goto while_break___1;
        }
        repo_parse_commit(ctx___0->r, parent->item);
        tmp___1 = topo_level_slab_at(ctx___0->topo_levels, (struct commit  const  *)parent->item);
        level = *tmp___1;
        if (level == 0U) {
          all_parents_computed = 0;
          commit_list_insert(parent->item, & list___3);
          goto while_break___1;
        }
        if (level > max_level) {
          max_level = level;
        }
        parent = parent->next;
      }
      while_break___1: /* CIL Label */ ;
      }
      if (all_parents_computed) {
        pop_commit(& list___3);
        if (max_level > 1073741822U) {
          max_level = (uint32_t )1073741822;
        }
        tmp___2 = topo_level_slab_at(ctx___0->topo_levels, (struct commit  const  *)current);
        *tmp___2 = max_level + 1U;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  stop_progress(& ctx___0->progress);
  return;
}
}
static void compute_generation_numbers(struct write_commit_graph_context *ctx___0 )
{
  int i ;
  struct commit_list *list___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct commit *c___0 ;
  struct commit_graph_data *tmp___0 ;
  struct commit *c___1 ;
  timestamp_t corrected_commit_date ;
  struct commit_graph_data *tmp___1 ;
  struct commit *current ;
  struct commit_list *parent ;
  int all_parents_computed ;
  timestamp_t max_corrected_commit_date ;
  struct commit_graph_data *tmp___2 ;
  struct commit_graph_data *tmp___3 ;
  struct commit_graph_data *tmp___4 ;

  {
  list___3 = (struct commit_list *)((void *)0);
  if (ctx___0->report_progress) {
    tmp = _((char const   *)"Computing commit graph generation numbers");
    ctx___0->progress = start_delayed_progress((char const   *)tmp, ctx___0->commits.nr);
  }
  if (! ctx___0->trust_generation_numbers) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((size_t )i < ctx___0->commits.nr)) {
        goto while_break;
      }
      c___0 = *(ctx___0->commits.list + i);
      repo_parse_commit(ctx___0->r, c___0);
      tmp___0 = commit_graph_data_at((struct commit  const  *)c___0);
      tmp___0->generation = (timestamp_t )0;
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((size_t )i < ctx___0->commits.nr)) {
      goto while_break___0;
    }
    c___1 = *(ctx___0->commits.list + i);
    repo_parse_commit(ctx___0->r, c___1);
    tmp___1 = commit_graph_data_at((struct commit  const  *)c___1);
    corrected_commit_date = tmp___1->generation;
    display_progress(ctx___0->progress, (uint64_t )(i + 1));
    if (corrected_commit_date != 0UL) {
      goto __Cont;
    }
    commit_list_insert(c___1, & list___3);
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! list___3) {
        goto while_break___1;
      }
      current = list___3->item;
      all_parents_computed = 1;
      max_corrected_commit_date = (timestamp_t )0;
      parent = current->parents;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (! parent) {
          goto while_break___2;
        }
        repo_parse_commit(ctx___0->r, parent->item);
        tmp___2 = commit_graph_data_at((struct commit  const  *)parent->item);
        corrected_commit_date = tmp___2->generation;
        if (corrected_commit_date == 0UL) {
          all_parents_computed = 0;
          commit_list_insert(parent->item, & list___3);
          goto while_break___2;
        }
        if (corrected_commit_date > max_corrected_commit_date) {
          max_corrected_commit_date = corrected_commit_date;
        }
        parent = parent->next;
      }
      while_break___2: /* CIL Label */ ;
      }
      if (all_parents_computed) {
        pop_commit(& list___3);
        if (current->date) {
          if (current->date > max_corrected_commit_date) {
            max_corrected_commit_date = current->date - 1UL;
          }
        }
        tmp___3 = commit_graph_data_at((struct commit  const  *)current);
        tmp___3->generation = max_corrected_commit_date + 1UL;
        tmp___4 = commit_graph_data_at((struct commit  const  *)current);
        if ((unsigned long long )(tmp___4->generation - current->date) > (1ULL << 31) - 1ULL) {
          (ctx___0->num_generation_data_overflows) ++;
        }
      }
    }
    while_break___1: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  stop_progress(& ctx___0->progress);
  return;
}
}
static void trace2_bloom_filter_write_statistics(struct write_commit_graph_context *ctx___0 )
{


  {
  trace2_data_intmax_fl((char const   *)"commit-graph.c", 1571, (char const   *)"commit-graph",
                        (struct repository  const  *)ctx___0->r, (char const   *)"filter-computed",
                        (intmax_t )ctx___0->count_bloom_filter_computed);
  trace2_data_intmax_fl((char const   *)"commit-graph.c", 1573, (char const   *)"commit-graph",
                        (struct repository  const  *)ctx___0->r, (char const   *)"filter-not-computed",
                        (intmax_t )ctx___0->count_bloom_filter_not_computed);
  trace2_data_intmax_fl((char const   *)"commit-graph.c", 1575, (char const   *)"commit-graph",
                        (struct repository  const  *)ctx___0->r, (char const   *)"filter-trunc-empty",
                        (intmax_t )ctx___0->count_bloom_filter_trunc_empty);
  trace2_data_intmax_fl((char const   *)"commit-graph.c", 1577, (char const   *)"commit-graph",
                        (struct repository  const  *)ctx___0->r, (char const   *)"filter-trunc-large",
                        (intmax_t )ctx___0->count_bloom_filter_trunc_large);
  return;
}
}
static void compute_bloom_filters(struct write_commit_graph_context *ctx___0 )
{
  int i ;
  struct progress *progress___7 ;
  struct commit **sorted_commits ;
  int max_new_filters ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  enum bloom_filter_computed computed ;
  struct commit *c___0 ;
  struct bloom_filter *filter___0 ;
  struct bloom_filter *tmp___2 ;
  unsigned long tmp___3 ;
  int tmp___4 ;

  {
  progress___7 = (struct progress *)((void *)0);
  init_bloom_filters();
  if (ctx___0->report_progress) {
    tmp = _((char const   *)"Computing commit changed paths Bloom filters");
    progress___7 = start_delayed_progress((char const   *)tmp, ctx___0->commits.nr);
  }
  tmp___0 = st_mult(sizeof(*sorted_commits), ctx___0->commits.nr);
  tmp___1 = xmalloc(tmp___0);
  sorted_commits = (struct commit **)tmp___1;
  copy_array((void *)sorted_commits, (void const   *)ctx___0->commits.list, ctx___0->commits.nr,
             sizeof(*sorted_commits) + (sizeof(char [1]) - 1UL));
  if (ctx___0->order_by_pack) {
    sane_qsort((void *)sorted_commits, ctx___0->commits.nr, sizeof(*sorted_commits),
               & commit_pos_cmp);
  } else {
    sane_qsort((void *)sorted_commits, ctx___0->commits.nr, sizeof(*sorted_commits),
               & commit_gen_cmp);
  }
  if (ctx___0->opts) {
    if ((ctx___0->opts)->max_new_filters >= 0) {
      max_new_filters = (int )(ctx___0->opts)->max_new_filters;
    } else {
      max_new_filters = (int )ctx___0->commits.nr;
    }
  } else {
    max_new_filters = (int )ctx___0->commits.nr;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < ctx___0->commits.nr)) {
      goto while_break;
    }
    computed = (enum bloom_filter_computed )0;
    c___0 = *(sorted_commits + i);
    tmp___2 = get_or_compute_bloom_filter(ctx___0->r, c___0, ctx___0->count_bloom_filter_computed < max_new_filters,
                                          ctx___0->bloom_settings, & computed);
    filter___0 = tmp___2;
    if ((unsigned int )computed & 2U) {
      (ctx___0->count_bloom_filter_computed) ++;
      if ((unsigned int )computed & 8U) {
        (ctx___0->count_bloom_filter_trunc_empty) ++;
      }
      if ((unsigned int )computed & 4U) {
        (ctx___0->count_bloom_filter_trunc_large) ++;
      }
    } else
    if ((unsigned int )computed & 1U) {
      (ctx___0->count_bloom_filter_not_computed) ++;
    }
    if (filter___0) {
      tmp___3 = sizeof(unsigned char ) * filter___0->len;
    } else {
      tmp___3 = 0UL;
    }
    ctx___0->total_bloom_filter_data_size += tmp___3;
    display_progress(progress___7, (uint64_t )(i + 1));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___4 = trace2_is_enabled();
  if (tmp___4) {
    trace2_bloom_filter_write_statistics(ctx___0);
  }
  free((void *)sorted_commits);
  stop_progress(& progress___7);
  return;
}
}
static int add_ref_to_set(char const   *refname , struct object_id  const  *oid ,
                          int flags___0 , void *cb_data )
{
  struct object_id peeled ;
  struct refs_cb_data *data ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  data = (struct refs_cb_data *)cb_data;
  tmp = peel_iterated_oid(oid, & peeled);
  if (! tmp) {
    oid = (struct object_id  const  *)(& peeled);
  }
  tmp___0 = oid_object_info(the_repository, oid, (unsigned long *)((void *)0));
  if (tmp___0 == 1) {
    oidset_insert(data->commits, oid);
  }
  tmp___1 = oidset_size((struct oidset  const  *)data->commits);
  display_progress(data->progress, (uint64_t )tmp___1);
  return (0);
}
}
int write_commit_graph_reachable(struct object_directory *odb , enum commit_graph_write_flags flags___0 ,
                                 struct commit_graph_opts  const  *opts___1 )
{
  struct oidset commits ;
  struct refs_cb_data data ;
  int result___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  commits.set.n_buckets = (khint_t )0;
  commits.set.size = 0U;
  commits.set.n_occupied = 0U;
  commits.set.upper_bound = 0U;
  commits.set.flags = (khint32_t *)0;
  commits.set.keys = (struct object_id *)0;
  commits.set.vals = (int *)0;
  memset((void *)(& data), 0, sizeof(data));
  data.commits = & commits;
  if ((unsigned int )flags___0 & 2U) {
    tmp = _((char const   *)"Collecting referenced commits");
    data.progress = start_delayed_progress((char const   *)tmp, (uint64_t )0);
  }
  for_each_ref(& add_ref_to_set, (void *)(& data));
  stop_progress(& data.progress);
  result___0 = write_commit_graph(odb, (struct string_list *)((void *)0), & commits,
                                  flags___0, opts___1);
  oidset_clear(& commits);
  return (result___0);
}
}
static int fill_oids_from_packs(struct write_commit_graph_context *ctx___0 , struct string_list *pack_indexes )
{
  uint32_t i ;
  struct strbuf progress_title___0 ;
  struct strbuf packname ;
  int dirlen ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp ;
  struct packed_git *p___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  progress_title___0.alloc = 0UL;
  progress_title___0.len = 0UL;
  progress_title___0.buf = strbuf_slopbuf;
  packname.alloc = 0UL;
  packname.len = 0UL;
  packname.buf = strbuf_slopbuf;
  strbuf_addf(& packname, (char const   *)"%s/pack/", (ctx___0->odb)->path);
  dirlen = (int )packname.len;
  if (ctx___0->report_progress) {
    tmp = Q_((char const   *)"Finding commits for commit graph in %d pack", (char const   *)"Finding commits for commit graph in %d packs",
             (unsigned long )pack_indexes->nr);
    strbuf_addf(& progress_title___0, (char const   *)tmp, pack_indexes->nr);
    ctx___0->progress = start_delayed_progress((char const   *)progress_title___0.buf,
                                               (uint64_t )0);
    ctx___0->progress_done = 0;
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < pack_indexes->nr)) {
      goto while_break;
    }
    strbuf_setlen(& packname, (size_t )dirlen);
    strbuf_addstr(& packname, (char const   *)(pack_indexes->items + i)->string);
    p___0 = add_packed_git((char const   *)packname.buf, packname.len, 1);
    if (! p___0) {
      tmp___0 = _((char const   *)"error adding pack %s");
      error((char const   *)tmp___0, packname.buf);
      const_error();
      return (-1);
    }
    tmp___2 = open_pack_index(p___0);
    if (tmp___2) {
      tmp___1 = _((char const   *)"error opening index for %s");
      error((char const   *)tmp___1, packname.buf);
      const_error();
      return (-1);
    }
    for_each_object_in_pack(p___0, & add_packed_commits, (void *)ctx___0, (enum for_each_object_flags )4);
    close_pack(p___0);
    free((void *)p___0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  stop_progress(& ctx___0->progress);
  strbuf_release(& progress_title___0);
  strbuf_release(& packname);
  return (0);
}
}
static int fill_oids_from_commits(struct write_commit_graph_context *ctx___0 , struct oidset *commits )
{
  struct oidset_iter iter___0 ;
  struct object_id *oid ;
  int tmp ;

  {
  tmp = oidset_size((struct oidset  const  *)commits);
  if (! tmp) {
    return (0);
  }
  oidset_iter_init(commits, & iter___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    oid = oidset_iter_next(& iter___0);
    if (! oid) {
      goto while_break;
    }
    oid_array_append(& ctx___0->oids, (struct object_id  const  *)oid);
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void fill_oids_from_all_packs(struct write_commit_graph_context *ctx___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if (ctx___0->report_progress) {
    tmp = _((char const   *)"Finding commits for commit graph among packed objects");
    ctx___0->progress = start_delayed_progress((char const   *)tmp, ctx___0->approx_nr_objects);
  }
  for_each_packed_object(& add_packed_commits, (void *)ctx___0, (enum for_each_object_flags )4);
  if ((unsigned long )ctx___0->progress_done < ctx___0->approx_nr_objects) {
    display_progress(ctx___0->progress, ctx___0->approx_nr_objects);
  }
  stop_progress(& ctx___0->progress);
  return;
}
}
static void copy_oids_to_commits(struct write_commit_graph_context *ctx___0 )
{
  uint32_t i ;
  enum commit_graph_split_flags flags___0 ;
  unsigned int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  size_t tmp___1 ;
  unsigned int num_parents ;
  size_t tmp___2 ;
  void *tmp___3 ;
  uint32_t tmp___4 ;

  {
  if (ctx___0->opts) {
    tmp = (unsigned int )(ctx___0->opts)->split_flags;
  } else {
    tmp = (unsigned int )0;
  }
  flags___0 = (enum commit_graph_split_flags )tmp;
  ctx___0->num_extra_edges = 0;
  if (ctx___0->report_progress) {
    tmp___0 = _((char const   *)"Finding extra edges in commit graph");
    ctx___0->progress = start_delayed_progress((char const   *)tmp___0, ctx___0->oids.nr);
  }
  oid_array_sort(& ctx___0->oids);
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < ctx___0->oids.nr)) {
      goto while_break;
    }
    display_progress(ctx___0->progress, (uint64_t )(i + 1U));
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (ctx___0->commits.nr + 1UL > ctx___0->commits.alloc) {
        if (((ctx___0->commits.alloc + 16UL) * 3UL) / 2UL < ctx___0->commits.nr + 1UL) {
          ctx___0->commits.alloc = ctx___0->commits.nr + 1UL;
        } else {
          ctx___0->commits.alloc = ((ctx___0->commits.alloc + 16UL) * 3UL) / 2UL;
        }
        tmp___2 = st_mult(sizeof(*(ctx___0->commits.list)), ctx___0->commits.alloc);
        tmp___3 = xrealloc((void *)ctx___0->commits.list, tmp___2);
        ctx___0->commits.list = (struct commit **)tmp___3;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    *(ctx___0->commits.list + ctx___0->commits.nr) = lookup_commit(ctx___0->r, (struct object_id  const  *)(ctx___0->oids.oid + i));
    if (ctx___0->split) {
      if ((unsigned int )flags___0 != 2U) {
        tmp___4 = commit_graph_position((struct commit  const  *)*(ctx___0->commits.list + ctx___0->commits.nr));
        if (tmp___4 != 0xFFFFFFFF) {
          goto __Cont;
        }
      }
    }
    if (ctx___0->split) {
      if ((unsigned int )flags___0 == 2U) {
        repo_parse_commit(ctx___0->r, *(ctx___0->commits.list + ctx___0->commits.nr));
      } else {
        repo_parse_commit_no_graph(ctx___0->r, *(ctx___0->commits.list + ctx___0->commits.nr));
      }
    } else {
      repo_parse_commit_no_graph(ctx___0->r, *(ctx___0->commits.list + ctx___0->commits.nr));
    }
    num_parents = commit_list_count((struct commit_list  const  *)(*(ctx___0->commits.list + ctx___0->commits.nr))->parents);
    if (num_parents > 2U) {
      ctx___0->num_extra_edges = (int )((unsigned int )ctx___0->num_extra_edges + (num_parents - 1U));
    }
    (ctx___0->commits.nr) ++;
    __Cont: /* CIL Label */
    tmp___1 = oid_array_next_unique(& ctx___0->oids, (size_t )i);
    i = (uint32_t )tmp___1;
  }
  while_break: /* CIL Label */ ;
  }
  stop_progress(& ctx___0->progress);
  return;
}
}
static int write_graph_chunk_base_1(struct hashfile *f , struct commit_graph *g )
{
  int num ;

  {
  num = 0;
  if (! g) {
    return (0);
  }
  num = write_graph_chunk_base_1(f, g->base_graph);
  hashwrite(f, (void const   *)(g->oid.hash), (unsigned int )(the_repository->hash_algo)->rawsz);
  return (num + 1);
}
}
static int write_graph_chunk_base(struct hashfile *f , void *data )
{
  struct write_commit_graph_context *ctx___0 ;
  int num ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  ctx___0 = (struct write_commit_graph_context *)data;
  tmp = write_graph_chunk_base_1(f, ctx___0->new_base_graph);
  num = tmp;
  if (num != ctx___0->num_commit_graphs_after - 1) {
    tmp___0 = _((char const   *)"failed to write correct number of base graph ids");
    error((char const   *)tmp___0);
    const_error();
    return (-1);
  }
  return (0);
}
}
static int write_commit_graph_file(struct write_commit_graph_context *ctx___0 )
{
  uint32_t i ;
  int fd ;
  struct hashfile *f ;
  struct lock_file lk ;
  unsigned int hashsz ;
  struct strbuf progress_title___0 ;
  struct chunkfile *cf___0 ;
  unsigned char file_hash[32] ;
  struct strbuf tmp_file___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  enum scld_error tmp___0 ;
  char *lock_name ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const   *tmp___5 ;
  uint8_t tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  char *new_base_hash ;
  char *tmp___12 ;
  char *tmp___13 ;
  char *new_base_name ;
  char *tmp___14 ;
  FILE *chainf ;
  FILE *tmp___15 ;
  char *final_graph_name ;
  int result___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  char const   *dest ;
  int idx___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  int tmp___18 ;
  char *graph_name ;
  char *tmp___19 ;
  char *tmp___20 ;
  FILE *tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;

  {
  lk.tempfile = (struct tempfile *)0;
  hashsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  progress_title___0.alloc = 0UL;
  progress_title___0.len = 0UL;
  progress_title___0.buf = strbuf_slopbuf;
  if (ctx___0->split) {
    tmp_file___0.alloc = 0UL;
    tmp_file___0.len = 0UL;
    tmp_file___0.buf = strbuf_slopbuf;
    strbuf_addf(& tmp_file___0, (char const   *)"%s/info/commit-graphs/tmp_graph_XXXXXX",
                (ctx___0->odb)->path);
    ctx___0->graph_name = strbuf_detach(& tmp_file___0, (size_t *)((void *)0));
  } else {
    ctx___0->graph_name = get_commit_graph_filename(ctx___0->odb);
  }
  tmp___0 = safe_create_leading_directories(ctx___0->graph_name);
  if (tmp___0) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    tmp = _((char const   *)"unable to create leading directories of %s");
    error((char const   *)tmp, ctx___0->graph_name);
    const_error();
    return (-1);
  }
  if (ctx___0->split) {
    tmp___1 = get_commit_graph_chain_filename(ctx___0->odb);
    lock_name = tmp___1;
    hold_lock_file_for_update_mode(& lk, (char const   *)lock_name, 1, 0444);
    fd = git_mkstemp_mode(ctx___0->graph_name, 0444);
    if (fd < 0) {
      tmp___2 = _((char const   *)"unable to create temporary graph layer");
      error((char const   *)tmp___2);
      const_error();
      return (-1);
    }
    tmp___4 = adjust_shared_perm((char const   *)ctx___0->graph_name);
    if (tmp___4) {
      tmp___3 = _((char const   *)"unable to adjust shared permissions for \'%s\'");
      error((char const   *)tmp___3, ctx___0->graph_name);
      const_error();
      return (-1);
    }
    f = hashfd(fd, (char const   *)ctx___0->graph_name);
  } else {
    hold_lock_file_for_update_mode(& lk, (char const   *)ctx___0->graph_name, 1, 0444);
    fd = get_lock_file_fd(& lk);
    tmp___5 = get_lock_file_path(& lk);
    f = hashfd(fd, tmp___5);
  }
  cf___0 = init_chunkfile(f);
  add_chunk(cf___0, (uint32_t )0x4f494446, (size_t )1024, & write_graph_chunk_fanout);
  add_chunk(cf___0, (uint32_t )0x4f49444c, (size_t )hashsz * ctx___0->commits.nr,
            & write_graph_chunk_oids);
  add_chunk(cf___0, (uint32_t )0x43444154, (size_t )(hashsz + 16U) * ctx___0->commits.nr,
            & write_graph_chunk_data);
  if (ctx___0->write_generation_data) {
    add_chunk(cf___0, (uint32_t )0x47444154, sizeof(uint32_t ) * ctx___0->commits.nr,
              & write_graph_chunk_generation_data);
  }
  if (ctx___0->num_generation_data_overflows) {
    add_chunk(cf___0, (uint32_t )0x47444f56, sizeof(timestamp_t ) * (unsigned long )ctx___0->num_generation_data_overflows,
              & write_graph_chunk_generation_data_overflow);
  }
  if (ctx___0->num_extra_edges) {
    add_chunk(cf___0, (uint32_t )0x45444745, (size_t )(4 * ctx___0->num_extra_edges),
              & write_graph_chunk_extra_edges);
  }
  if (ctx___0->changed_paths) {
    add_chunk(cf___0, (uint32_t )0x42494458, sizeof(uint32_t ) * ctx___0->commits.nr,
              & write_graph_chunk_bloom_indexes);
    add_chunk(cf___0, (uint32_t )0x42444154, sizeof(uint32_t ) * 3UL + ctx___0->total_bloom_filter_data_size,
              & write_graph_chunk_bloom_data);
  }
  if (ctx___0->num_commit_graphs_after > 1) {
    add_chunk(cf___0, (uint32_t )0x42415345, (size_t )(hashsz * (unsigned int )(ctx___0->num_commit_graphs_after - 1)),
              & write_graph_chunk_base);
  }
  hashwrite_be32(f, (uint32_t )0x43475048);
  hashwrite_u8(f, (uint8_t )0x1);
  tmp___6 = oid_version();
  hashwrite_u8(f, tmp___6);
  tmp___7 = get_num_chunks(cf___0);
  hashwrite_u8(f, (uint8_t )tmp___7);
  hashwrite_u8(f, (uint8_t )(ctx___0->num_commit_graphs_after - 1));
  if (ctx___0->report_progress) {
    tmp___8 = get_num_chunks(cf___0);
    tmp___9 = get_num_chunks(cf___0);
    tmp___10 = Q_((char const   *)"Writing out commit graph in %d pass", (char const   *)"Writing out commit graph in %d passes",
                  (unsigned long )tmp___9);
    strbuf_addf(& progress_title___0, (char const   *)tmp___10, tmp___8);
    tmp___11 = get_num_chunks(cf___0);
    ctx___0->progress = start_delayed_progress((char const   *)progress_title___0.buf,
                                               (size_t )tmp___11 * ctx___0->commits.nr);
  }
  write_chunkfile(cf___0, (void *)ctx___0);
  stop_progress(& ctx___0->progress);
  strbuf_release(& progress_title___0);
  if (ctx___0->split) {
    if (ctx___0->base_graph_name) {
      if (ctx___0->num_commit_graphs_after > 1) {
        tmp___12 = oid_to_hex((struct object_id  const  *)(& (ctx___0->new_base_graph)->oid));
        tmp___13 = xstrdup((char const   *)tmp___12);
        new_base_hash = tmp___13;
        tmp___14 = get_split_graph_filename((ctx___0->new_base_graph)->odb, (char const   *)new_base_hash);
        new_base_name = tmp___14;
        free((void *)*(ctx___0->commit_graph_filenames_after + (ctx___0->num_commit_graphs_after - 2)));
        free((void *)*(ctx___0->commit_graph_hash_after + (ctx___0->num_commit_graphs_after - 2)));
        *(ctx___0->commit_graph_filenames_after + (ctx___0->num_commit_graphs_after - 2)) = new_base_name;
        *(ctx___0->commit_graph_hash_after + (ctx___0->num_commit_graphs_after - 2)) = new_base_hash;
      }
    }
  }
  close_commit_graph((ctx___0->r)->objects);
  finalize_hashfile(f, file_hash, 6U);
  free_chunkfile(cf___0);
  if (ctx___0->split) {
    tmp___15 = fdopen_lock_file(& lk, (char const   *)"w");
    chainf = tmp___15;
    close(fd);
    if (! chainf) {
      tmp___16 = _((char const   *)"unable to open commit-graph chain file");
      error((char const   *)tmp___16);
      const_error();
      return (-1);
    }
    if (ctx___0->base_graph_name) {
      idx___0 = ctx___0->num_commit_graphs_after - 1;
      if (ctx___0->num_commit_graphs_after > 1) {
        idx___0 --;
      }
      dest = (char const   *)*(ctx___0->commit_graph_filenames_after + idx___0);
      tmp___18 = strcmp((char const   *)ctx___0->base_graph_name, dest);
      if (tmp___18) {
        result___0 = rename((char const   *)ctx___0->base_graph_name, dest);
        if (result___0) {
          tmp___17 = _((char const   *)"failed to rename base commit-graph file");
          error((char const   *)tmp___17);
          const_error();
          return (-1);
        }
      }
    } else {
      tmp___19 = get_commit_graph_filename(ctx___0->odb);
      graph_name = tmp___19;
      unlink((char const   *)graph_name);
    }
    tmp___20 = hash_to_hex((unsigned char const   *)(file_hash));
    *(ctx___0->commit_graph_hash_after + (ctx___0->num_commit_graphs_after - 1)) = xstrdup((char const   *)tmp___20);
    final_graph_name = get_split_graph_filename(ctx___0->odb, (char const   *)*(ctx___0->commit_graph_hash_after + (ctx___0->num_commit_graphs_after - 1)));
    *(ctx___0->commit_graph_filenames_after + (ctx___0->num_commit_graphs_after - 1)) = final_graph_name;
    result___0 = rename((char const   *)ctx___0->graph_name, (char const   *)final_graph_name);
    i = (uint32_t )0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < (uint32_t )ctx___0->num_commit_graphs_after)) {
        goto while_break___0;
      }
      tmp___21 = get_lock_file_fp(& lk);
      fprintf(tmp___21, (char const   *)"%s\n", *(ctx___0->commit_graph_hash_after + i));
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (result___0) {
      tmp___22 = _((char const   *)"failed to rename temporary commit-graph file");
      error((char const   *)tmp___22);
      const_error();
      return (-1);
    }
  }
  commit_lock_file(& lk);
  return (0);
}
}
static void split_graph_merge_strategy(struct write_commit_graph_context *ctx___0 )
{
  struct commit_graph *g ;
  uint32_t num_commits ;
  enum commit_graph_split_flags flags___0 ;
  uint32_t i ;
  int max_commits ;
  int size_mult ;
  char *old_graph_name ;
  char *tmp ;
  int tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;
  char *tmp___3 ;

  {
  flags___0 = (enum commit_graph_split_flags )0;
  max_commits = 0;
  size_mult = 2;
  if (ctx___0->opts) {
    max_commits = (int )(ctx___0->opts)->max_commits;
    if ((ctx___0->opts)->size_multiple) {
      size_mult = (int )(ctx___0->opts)->size_multiple;
    }
    flags___0 = (enum commit_graph_split_flags )(ctx___0->opts)->split_flags;
  }
  g = ((ctx___0->r)->objects)->commit_graph;
  num_commits = (uint32_t )ctx___0->commits.nr;
  if ((unsigned int )flags___0 == 2U) {
    ctx___0->num_commit_graphs_after = 1;
  } else {
    ctx___0->num_commit_graphs_after = ctx___0->num_commit_graphs_before + 1;
  }
  if ((unsigned int )flags___0 != 1U) {
    if ((unsigned int )flags___0 != 2U) {
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (g) {
          if (! (g->num_commits <= (uint32_t )size_mult * num_commits)) {
            if (max_commits) {
              if (! (num_commits > (uint32_t )max_commits)) {
                goto while_break;
              }
            } else {
              goto while_break;
            }
          }
        } else {
          goto while_break;
        }
        if ((unsigned long )g->odb != (unsigned long )ctx___0->odb) {
          goto while_break;
        }
        num_commits += g->num_commits;
        g = g->base_graph;
        (ctx___0->num_commit_graphs_after) --;
      }
      while_break: /* CIL Label */ ;
      }
    }
  }
  if ((unsigned int )flags___0 != 2U) {
    ctx___0->new_base_graph = g;
  } else
  if (ctx___0->num_commit_graphs_after != 1) {
    BUG_fl((char const   *)"commit-graph.c", 2046, (char const   *)"split_graph_merge_strategy: num_commit_graphs_after should be 1 with --split=replace");
  }
  if (ctx___0->num_commit_graphs_after == 2) {
    tmp = get_commit_graph_filename(g->odb);
    old_graph_name = tmp;
    tmp___0 = strcmp((char const   *)g->filename, (char const   *)old_graph_name);
    if (! tmp___0) {
      if ((unsigned long )g->odb != (unsigned long )ctx___0->odb) {
        ctx___0->num_commit_graphs_after = 1;
        ctx___0->new_base_graph = (struct commit_graph *)((void *)0);
      }
    }
    free((void *)old_graph_name);
  }
  tmp___1 = xcalloc((size_t )ctx___0->num_commit_graphs_after, sizeof(*(ctx___0->commit_graph_filenames_after)));
  ctx___0->commit_graph_filenames_after = (char **)tmp___1;
  tmp___2 = xcalloc((size_t )ctx___0->num_commit_graphs_after, sizeof(*(ctx___0->commit_graph_hash_after)));
  ctx___0->commit_graph_hash_after = (char **)tmp___2;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (i < (uint32_t )ctx___0->num_commit_graphs_after) {
      if (! (i < (uint32_t )ctx___0->num_commit_graphs_before)) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    *(ctx___0->commit_graph_filenames_after + i) = xstrdup((char const   *)*(ctx___0->commit_graph_filenames_before + i));
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = (uint32_t )(ctx___0->num_commit_graphs_before - 1);
  g = ((ctx___0->r)->objects)->commit_graph;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! g) {
      goto while_break___1;
    }
    if (i < (uint32_t )ctx___0->num_commit_graphs_after) {
      tmp___3 = oid_to_hex((struct object_id  const  *)(& g->oid));
      *(ctx___0->commit_graph_hash_after + i) = xstrdup((char const   *)tmp___3);
    }
    if (i == (uint32_t )(ctx___0->num_commit_graphs_after - 2)) {
      ctx___0->write_generation_data = (unsigned int )(! (! g->chunk_generation_data));
    }
    i --;
    g = g->base_graph;
  }
  while_break___1: /* CIL Label */ ;
  }
  return;
}
}
static void merge_commit_graph(struct write_commit_graph_context *ctx___0 , struct commit_graph *g )
{
  uint32_t i ;
  uint32_t offset___2 ;
  size_t tmp ;
  void *tmp___0 ;
  struct object_id oid ;
  struct commit *result___0 ;

  {
  offset___2 = g->num_commits_in_base;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (ctx___0->commits.nr + (size_t )g->num_commits > ctx___0->commits.alloc) {
      if (((ctx___0->commits.alloc + 16UL) * 3UL) / 2UL < ctx___0->commits.nr + (size_t )g->num_commits) {
        ctx___0->commits.alloc = ctx___0->commits.nr + (size_t )g->num_commits;
      } else {
        ctx___0->commits.alloc = ((ctx___0->commits.alloc + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*(ctx___0->commits.list)), ctx___0->commits.alloc);
      tmp___0 = xrealloc((void *)ctx___0->commits.list, tmp);
      ctx___0->commits.list = (struct commit **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < g->num_commits)) {
      goto while_break___0;
    }
    display_progress(ctx___0->progress, (uint64_t )(i + 1U));
    load_oid_from_graph(g, i + offset___2, & oid);
    result___0 = lookup_commit_reference_gently(ctx___0->r, (struct object_id  const  *)(& oid),
                                                1);
    if (result___0) {
      *(ctx___0->commits.list + ctx___0->commits.nr) = result___0;
      (ctx___0->commits.nr) ++;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static int commit_compare(void const   *_a , void const   *_b )
{
  struct commit  const  *a ;
  struct commit  const  *b___0 ;
  int tmp ;

  {
  a = *((struct commit  const  **)_a);
  b___0 = *((struct commit  const  **)_b);
  tmp = oidcmp((struct object_id  const  *)(& a->object.oid), (struct object_id  const  *)(& b___0->object.oid));
  return (tmp);
}
}
static void sort_and_scan_merged_commits(struct write_commit_graph_context *ctx___0 )
{
  uint32_t i ;
  uint32_t dedup_i ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  unsigned int num_parents ;
  int tmp___0 ;

  {
  dedup_i = (uint32_t )0;
  if (ctx___0->report_progress) {
    tmp = _((char const   *)"Scanning merged commits");
    ctx___0->progress = start_delayed_progress((char const   *)tmp, ctx___0->commits.nr);
  }
  sane_qsort((void *)ctx___0->commits.list, ctx___0->commits.nr, sizeof(*(ctx___0->commits.list)),
             & commit_compare);
  ctx___0->num_extra_edges = 0;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < ctx___0->commits.nr)) {
      goto while_break;
    }
    display_progress(ctx___0->progress, (uint64_t )(i + 1U));
    if (i) {
      tmp___0 = oideq((struct object_id  const  *)(& (*(ctx___0->commits.list + (i - 1U)))->object.oid),
                      (struct object_id  const  *)(& (*(ctx___0->commits.list + i))->object.oid));
      if (! tmp___0) {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      *(ctx___0->commits.list + dedup_i) = *(ctx___0->commits.list + i);
      dedup_i ++;
      num_parents = commit_list_count((struct commit_list  const  *)(*(ctx___0->commits.list + i))->parents);
      if (num_parents > 2U) {
        ctx___0->num_extra_edges = (int )((unsigned int )ctx___0->num_extra_edges + (num_parents - 1U));
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  ctx___0->commits.nr = (size_t )dedup_i;
  stop_progress(& ctx___0->progress);
  return;
}
}
static void merge_commit_graphs(struct write_commit_graph_context *ctx___0 )
{
  struct commit_graph *g ;
  uint32_t current_graph_number ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  g = ((ctx___0->r)->objects)->commit_graph;
  current_graph_number = (uint32_t )ctx___0->num_commit_graphs_before;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (g) {
      if (! (current_graph_number >= (uint32_t )ctx___0->num_commit_graphs_after)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    current_graph_number --;
    if (ctx___0->report_progress) {
      tmp = _((char const   *)"Merging commit-graph");
      ctx___0->progress = start_delayed_progress((char const   *)tmp, (uint64_t )0);
    }
    merge_commit_graph(ctx___0, g);
    stop_progress(& ctx___0->progress);
    g = g->base_graph;
  }
  while_break: /* CIL Label */ ;
  }
  if (g) {
    ctx___0->new_base_graph = g;
    ctx___0->new_num_commits_in_base = g->num_commits + g->num_commits_in_base;
  }
  if (ctx___0->new_base_graph) {
    ctx___0->base_graph_name = xstrdup((char const   *)(ctx___0->new_base_graph)->filename);
  }
  sort_and_scan_merged_commits(ctx___0);
  return;
}
}
static void mark_commit_graphs(struct write_commit_graph_context *ctx___0 )
{
  uint32_t i ;
  time_t now ;
  time_t tmp ;
  struct stat st ;
  struct utimbuf updated_time ;

  {
  tmp = time((time_t *)((void *)0));
  now = tmp;
  i = (uint32_t )(ctx___0->num_commit_graphs_after - 1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (uint32_t )ctx___0->num_commit_graphs_before)) {
      goto while_break;
    }
    stat((char const   *)*(ctx___0->commit_graph_filenames_before + i), & st);
    updated_time.actime = st.st_atim.tv_sec;
    updated_time.modtime = now;
    utime((char const   *)*(ctx___0->commit_graph_filenames_before + i), (struct utimbuf  const  *)(& updated_time));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void expire_commit_graphs(struct write_commit_graph_context *ctx___0 )
{
  struct strbuf path___6 ;
  DIR *dir ;
  struct dirent *de ;
  size_t dirnamelen ;
  timestamp_t expire_time ;
  time_t tmp ;
  char *chain_file_name ;
  char *tmp___0 ;
  struct stat st ;
  uint32_t i ;
  uint32_t found ;
  int tmp___1 ;
  int tmp___2 ;

  {
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  tmp = time((time_t *)((void *)0));
  expire_time = (timestamp_t )tmp;
  if (ctx___0->opts) {
    if ((ctx___0->opts)->expire_time) {
      expire_time = (timestamp_t )(ctx___0->opts)->expire_time;
    }
  }
  if (! ctx___0->split) {
    tmp___0 = get_commit_graph_chain_filename(ctx___0->odb);
    chain_file_name = tmp___0;
    unlink((char const   *)chain_file_name);
    free((void *)chain_file_name);
    ctx___0->num_commit_graphs_after = 0;
  }
  strbuf_addstr(& path___6, (char const   *)(ctx___0->odb)->path);
  strbuf_addstr(& path___6, (char const   *)"/info/commit-graphs");
  dir = opendir((char const   *)path___6.buf);
  if (! dir) {
    goto out;
  }
  strbuf_addch(& path___6, '/');
  dirnamelen = path___6.len;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    de = readdir(dir);
    if (! ((unsigned long )de != (unsigned long )((void *)0))) {
      goto while_break;
    }
    found = (uint32_t )0;
    strbuf_setlen(& path___6, dirnamelen);
    strbuf_addstr(& path___6, (char const   *)(de->d_name));
    stat((char const   *)path___6.buf, & st);
    if ((timestamp_t )st.st_mtim.tv_sec > expire_time) {
      goto while_continue;
    }
    if (path___6.len < 6UL) {
      goto while_continue;
    } else {
      tmp___1 = strcmp((char const   *)((path___6.buf + path___6.len) - 6), (char const   *)".graph");
      if (tmp___1) {
        goto while_continue;
      }
    }
    i = (uint32_t )0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < (uint32_t )ctx___0->num_commit_graphs_after)) {
        goto while_break___0;
      }
      tmp___2 = strcmp((char const   *)*(ctx___0->commit_graph_filenames_after + i),
                       (char const   *)path___6.buf);
      if (! tmp___2) {
        found = (uint32_t )1;
        goto while_break___0;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! found) {
      unlink((char const   *)path___6.buf);
    }
  }
  while_break: /* CIL Label */ ;
  }
  out:
  strbuf_release(& path___6);
  return;
}
}
int write_commit_graph(struct object_directory *odb , struct string_list *pack_indexes ,
                       struct oidset *commits , enum commit_graph_write_flags flags___0 ,
                       struct commit_graph_opts  const  *opts___1 )
{
  struct repository *r ;
  struct write_commit_graph_context *ctx___0 ;
  uint32_t i ;
  int res ;
  int replace ;
  struct bloom_filter_settings bloom_settings ;
  struct topo_level_slab topo_levels ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;
  unsigned long tmp___3 ;
  unsigned long tmp___4 ;
  unsigned long tmp___5 ;
  struct commit_graph *g ;
  struct commit_graph *g___0 ;
  struct commit_graph *g___1 ;
  size_t tmp___6 ;
  void *tmp___7 ;
  struct commit_graph *g___2 ;
  struct object_id oid ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;

  {
  r = the_repository;
  res = 0;
  replace = 0;
  bloom_settings.hash_version = (uint32_t )1;
  bloom_settings.num_hashes = (uint32_t )7;
  bloom_settings.bits_per_entry = (uint32_t )10;
  bloom_settings.max_changed_paths = (uint32_t )512;
  prepare_repo_settings(r);
  if (! r->settings.core_commit_graph) {
    tmp = _((char const   *)"attempting to write a commit-graph, but \'core.commitGraph\' is disabled");
    warning((char const   *)tmp);
    return (0);
  }
  tmp___0 = commit_graph_compatible(r);
  if (! tmp___0) {
    return (0);
  }
  tmp___1 = xcalloc((size_t )1, sizeof(*ctx___0));
  ctx___0 = (struct write_commit_graph_context *)tmp___1;
  ctx___0->r = r;
  ctx___0->odb = odb;
  if ((unsigned int )flags___0 & 1U) {
    ctx___0->append = 1U;
  } else {
    ctx___0->append = 0U;
  }
  if ((unsigned int )flags___0 & 2U) {
    ctx___0->report_progress = 1U;
  } else {
    ctx___0->report_progress = 0U;
  }
  if ((unsigned int )flags___0 & 4U) {
    ctx___0->split = 1U;
  } else {
    ctx___0->split = 0U;
  }
  ctx___0->opts = opts___1;
  ctx___0->total_bloom_filter_data_size = (size_t )0;
  tmp___2 = get_configured_generation_version(r);
  ctx___0->write_generation_data = (unsigned int )(tmp___2 == 2);
  ctx___0->num_generation_data_overflows = 0;
  tmp___3 = git_env_ulong((char const   *)"GIT_TEST_BLOOM_SETTINGS_BITS_PER_ENTRY",
                          (unsigned long )bloom_settings.bits_per_entry);
  bloom_settings.bits_per_entry = (uint32_t )tmp___3;
  tmp___4 = git_env_ulong((char const   *)"GIT_TEST_BLOOM_SETTINGS_NUM_HASHES", (unsigned long )bloom_settings.num_hashes);
  bloom_settings.num_hashes = (uint32_t )tmp___4;
  tmp___5 = git_env_ulong((char const   *)"GIT_TEST_BLOOM_SETTINGS_MAX_CHANGED_PATHS",
                          (unsigned long )bloom_settings.max_changed_paths);
  bloom_settings.max_changed_paths = (uint32_t )tmp___5;
  ctx___0->bloom_settings = (struct bloom_filter_settings  const  *)(& bloom_settings);
  init_topo_level_slab(& topo_levels);
  ctx___0->topo_levels = & topo_levels;
  prepare_commit_graph(ctx___0->r);
  if (((ctx___0->r)->objects)->commit_graph) {
    g = ((ctx___0->r)->objects)->commit_graph;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! g) {
        goto while_break;
      }
      g->topo_levels = & topo_levels;
      g = g->base_graph;
    }
    while_break: /* CIL Label */ ;
    }
  }
  if ((unsigned int )flags___0 & 8U) {
    ctx___0->changed_paths = 1U;
  }
  if (! ((unsigned int )flags___0 & 16U)) {
    g___0 = ((ctx___0->r)->objects)->commit_graph;
    if (g___0) {
      if (g___0->chunk_bloom_data) {
        ctx___0->changed_paths = 1U;
        ctx___0->bloom_settings = (struct bloom_filter_settings  const  *)g___0->bloom_filter_settings;
      }
    }
  }
  if (ctx___0->split) {
    g___1 = ((ctx___0->r)->objects)->commit_graph;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! g___1) {
        goto while_break___0;
      }
      (ctx___0->num_commit_graphs_before) ++;
      g___1 = g___1->base_graph;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (ctx___0->num_commit_graphs_before) {
      tmp___6 = st_mult(sizeof(*(ctx___0->commit_graph_filenames_before)), (size_t )ctx___0->num_commit_graphs_before);
      tmp___7 = xmalloc(tmp___6);
      ctx___0->commit_graph_filenames_before = (char **)tmp___7;
      i = (uint32_t )ctx___0->num_commit_graphs_before;
      g___1 = ((ctx___0->r)->objects)->commit_graph;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! g___1) {
          goto while_break___1;
        }
        i --;
        *(ctx___0->commit_graph_filenames_before + i) = xstrdup((char const   *)g___1->filename);
        g___1 = g___1->base_graph;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
    if (ctx___0->opts) {
      replace = (int )((unsigned int )(ctx___0->opts)->split_flags & 2U);
    }
  }
  ctx___0->approx_nr_objects = repo_approximate_object_count(the_repository);
  if (ctx___0->append) {
    if (((ctx___0->r)->objects)->commit_graph) {
      g___2 = ((ctx___0->r)->objects)->commit_graph;
      i = (uint32_t )0;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (! (i < g___2->num_commits)) {
          goto while_break___2;
        }
        oidread(& oid, g___2->chunk_oid_lookup + (uint32_t )g___2->hash_len * i);
        oid_array_append(& ctx___0->oids, (struct object_id  const  *)(& oid));
        i ++;
      }
      while_break___2: /* CIL Label */ ;
      }
    }
  }
  if (pack_indexes) {
    ctx___0->order_by_pack = 1U;
    res = fill_oids_from_packs(ctx___0, pack_indexes);
    if (res) {
      goto cleanup;
    }
  }
  if (commits) {
    res = fill_oids_from_commits(ctx___0, commits);
    if (res) {
      goto cleanup;
    }
  }
  if (! pack_indexes) {
    if (! commits) {
      ctx___0->order_by_pack = 1U;
      fill_oids_from_all_packs(ctx___0);
    }
  }
  close_reachable(ctx___0);
  copy_oids_to_commits(ctx___0);
  if (ctx___0->commits.nr >= 2147483647UL) {
    tmp___8 = _((char const   *)"too many commits to write graph");
    error((char const   *)tmp___8);
    const_error();
    res = -1;
    goto cleanup;
  }
  if (! ctx___0->commits.nr) {
    if (! replace) {
      goto cleanup;
    }
  }
  if (ctx___0->split) {
    split_graph_merge_strategy(ctx___0);
    if (! replace) {
      merge_commit_graphs(ctx___0);
    }
  } else {
    ctx___0->num_commit_graphs_after = 1;
  }
  tmp___9 = validate_mixed_generation_chain(((ctx___0->r)->objects)->commit_graph);
  ctx___0->trust_generation_numbers = (unsigned int )tmp___9;
  compute_topological_levels(ctx___0);
  if (ctx___0->write_generation_data) {
    compute_generation_numbers(ctx___0);
  }
  if (ctx___0->changed_paths) {
    compute_bloom_filters(ctx___0);
  }
  res = write_commit_graph_file(ctx___0);
  if (ctx___0->split) {
    mark_commit_graphs(ctx___0);
  }
  expire_commit_graphs(ctx___0);
  cleanup:
  free((void *)ctx___0->graph_name);
  free((void *)ctx___0->commits.list);
  oid_array_clear(& ctx___0->oids);
  clear_topo_level_slab(& topo_levels);
  if (ctx___0->commit_graph_filenames_after) {
    i = (uint32_t )0;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! (i < (uint32_t )ctx___0->num_commit_graphs_after)) {
        goto while_break___3;
      }
      free((void *)*(ctx___0->commit_graph_filenames_after + i));
      free((void *)*(ctx___0->commit_graph_hash_after + i));
      i ++;
    }
    while_break___3: /* CIL Label */ ;
    }
    i = (uint32_t )0;
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (! (i < (uint32_t )ctx___0->num_commit_graphs_before)) {
        goto while_break___4;
      }
      free((void *)*(ctx___0->commit_graph_filenames_before + i));
      i ++;
    }
    while_break___4: /* CIL Label */ ;
    }
    free((void *)ctx___0->commit_graph_filenames_after);
    free((void *)ctx___0->commit_graph_filenames_before);
    free((void *)ctx___0->commit_graph_hash_after);
  }
  free((void *)ctx___0);
  return (res);
}
}
static int verify_commit_graph_error  ;
static void ( /* format attribute */  graph_report)(char const   *fmt  , ...)
{
  va_list ap ;

  {
  verify_commit_graph_error = 1;
  __builtin_va_start(ap, fmt);
  vfprintf(stderr, fmt, ap);
  fprintf(stderr, (char const   *)"\n");
  __builtin_va_end(ap);
  return;
}
}
static int commit_graph_checksum_valid(struct commit_graph *g )
{
  int tmp ;

  {
  tmp = hashfile_checksum_valid(g->data, g->data_len);
  return (tmp);
}
}
int verify_commit_graph(struct repository *r , struct commit_graph *g , int flags___0 )
{
  uint32_t i ;
  uint32_t cur_fanout_pos ;
  struct object_id prev_oid ;
  struct object_id cur_oid ;
  int generation_zero ;
  struct progress *progress___7 ;
  int local_error ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  struct commit *graph_commit ;
  char *tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  uint32_t fanout_value ;
  uint32_t tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  uint32_t fanout_value___0 ;
  uint32_t tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  struct commit *graph_commit___0 ;
  struct commit *odb_commit ;
  struct commit_list *graph_parents ;
  struct commit_list *odb_parents ;
  timestamp_t max_generation ;
  timestamp_t generation ;
  void *tmp___13 ;
  void *tmp___14 ;
  char *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  int tmp___17 ;
  struct object_id *tmp___18 ;
  char *tmp___19 ;
  struct object_id *tmp___20 ;
  char *tmp___21 ;
  char *tmp___22 ;
  char const __attribute__((__format_arg__(1)))  *tmp___23 ;
  struct object_id *tmp___24 ;
  struct tree *tmp___25 ;
  int tmp___26 ;
  char *tmp___27 ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  char *tmp___29 ;
  char *tmp___30 ;
  char *tmp___31 ;
  char const __attribute__((__format_arg__(1)))  *tmp___32 ;
  int tmp___33 ;
  char *tmp___34 ;
  char const __attribute__((__format_arg__(1)))  *tmp___35 ;
  char *tmp___36 ;
  char const __attribute__((__format_arg__(1)))  *tmp___37 ;
  char *tmp___38 ;
  char const __attribute__((__format_arg__(1)))  *tmp___39 ;
  timestamp_t tmp___40 ;
  char *tmp___41 ;
  char const __attribute__((__format_arg__(1)))  *tmp___42 ;
  char *tmp___43 ;
  char const __attribute__((__format_arg__(1)))  *tmp___44 ;
  int tmp___45 ;

  {
  cur_fanout_pos = (uint32_t )0;
  generation_zero = 0;
  progress___7 = (struct progress *)((void *)0);
  local_error = 0;
  if (! g) {
    graph_report((char const   *)"no commit-graph file loaded");
    return (1);
  }
  verify_commit_graph_error = verify_commit_graph_lite(g);
  if (verify_commit_graph_error) {
    return (verify_commit_graph_error);
  }
  tmp___0 = commit_graph_checksum_valid(g);
  if (! tmp___0) {
    tmp = _((char const   *)"the commit-graph file has incorrect checksum and is likely corrupt");
    graph_report((char const   *)tmp);
    verify_commit_graph_error = 2;
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < g->num_commits)) {
      goto while_break;
    }
    oidread(& cur_oid, g->chunk_oid_lookup + (uint32_t )g->hash_len * i);
    if (i) {
      tmp___4 = oidcmp((struct object_id  const  *)(& prev_oid), (struct object_id  const  *)(& cur_oid));
      if (tmp___4 >= 0) {
        tmp___1 = oid_to_hex((struct object_id  const  *)(& cur_oid));
        tmp___2 = oid_to_hex((struct object_id  const  *)(& prev_oid));
        tmp___3 = _((char const   *)"commit-graph has incorrect OID order: %s then %s");
        graph_report((char const   *)tmp___3, tmp___2, tmp___1);
      }
    }
    oidcpy(& prev_oid, (struct object_id  const  *)(& cur_oid));
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((uint32_t )cur_oid.hash[0] > cur_fanout_pos)) {
        goto while_break___0;
      }
      tmp___5 = get_be32((void const   *)(g->chunk_oid_fanout + cur_fanout_pos));
      fanout_value = tmp___5;
      if (i != fanout_value) {
        tmp___6 = _((char const   *)"commit-graph has incorrect fanout value: fanout[%d] = %u != %u");
        graph_report((char const   *)tmp___6, cur_fanout_pos, fanout_value, i);
      }
      cur_fanout_pos ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    graph_commit = lookup_commit(r, (struct object_id  const  *)(& cur_oid));
    tmp___9 = parse_commit_in_graph_one(r, g, graph_commit);
    if (! tmp___9) {
      tmp___7 = oid_to_hex((struct object_id  const  *)(& cur_oid));
      tmp___8 = _((char const   *)"failed to parse commit %s from commit-graph");
      graph_report((char const   *)tmp___8, tmp___7);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (cur_fanout_pos < 256U)) {
      goto while_break___1;
    }
    tmp___10 = get_be32((void const   *)(g->chunk_oid_fanout + cur_fanout_pos));
    fanout_value___0 = tmp___10;
    if (g->num_commits != fanout_value___0) {
      tmp___11 = _((char const   *)"commit-graph has incorrect fanout value: fanout[%d] = %u != %u");
      graph_report((char const   *)tmp___11, cur_fanout_pos, fanout_value___0, i);
    }
    cur_fanout_pos ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  if (verify_commit_graph_error & -3) {
    return (verify_commit_graph_error);
  }
  if (flags___0 & 2) {
    tmp___12 = _((char const   *)"Verifying commits in commit graph");
    progress___7 = start_progress((char const   *)tmp___12, (uint64_t )g->num_commits);
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < g->num_commits)) {
      goto while_break___2;
    }
    max_generation = (timestamp_t )0;
    display_progress(progress___7, (uint64_t )(i + 1U));
    oidread(& cur_oid, g->chunk_oid_lookup + (uint32_t )g->hash_len * i);
    graph_commit___0 = lookup_commit(r, (struct object_id  const  *)(& cur_oid));
    tmp___13 = alloc_commit_node(r);
    tmp___14 = create_object(r, (struct object_id  const  *)(& cur_oid), tmp___13);
    odb_commit = (struct commit *)tmp___14;
    tmp___17 = repo_parse_commit_internal(the_repository, odb_commit, 0, 0);
    if (tmp___17) {
      tmp___15 = oid_to_hex((struct object_id  const  *)(& cur_oid));
      tmp___16 = _((char const   *)"failed to parse commit %s from object database for commit-graph");
      graph_report((char const   *)tmp___16, tmp___15);
      goto __Cont;
    }
    tmp___24 = get_commit_tree_oid((struct commit  const  *)odb_commit);
    tmp___25 = get_commit_tree_in_graph_one(r, g, (struct commit  const  *)graph_commit___0);
    tmp___26 = oideq((struct object_id  const  *)(& tmp___25->object.oid), (struct object_id  const  *)tmp___24);
    if (! tmp___26) {
      tmp___18 = get_commit_tree_oid((struct commit  const  *)odb_commit);
      tmp___19 = oid_to_hex((struct object_id  const  *)tmp___18);
      tmp___20 = get_commit_tree_oid((struct commit  const  *)graph_commit___0);
      tmp___21 = oid_to_hex((struct object_id  const  *)tmp___20);
      tmp___22 = oid_to_hex((struct object_id  const  *)(& cur_oid));
      tmp___23 = _((char const   *)"root tree OID for commit %s in commit-graph is %s != %s");
      graph_report((char const   *)tmp___23, tmp___22, tmp___21, tmp___19);
    }
    graph_parents = graph_commit___0->parents;
    odb_parents = odb_commit->parents;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! graph_parents) {
        goto while_break___3;
      }
      if ((unsigned long )odb_parents == (unsigned long )((void *)0)) {
        tmp___27 = oid_to_hex((struct object_id  const  *)(& cur_oid));
        tmp___28 = _((char const   *)"commit-graph parent list for commit %s is too long");
        graph_report((char const   *)tmp___28, tmp___27);
        goto while_break___3;
      }
      parse_commit_in_graph_one(r, g, graph_parents->item);
      tmp___33 = oideq((struct object_id  const  *)(& (graph_parents->item)->object.oid),
                       (struct object_id  const  *)(& (odb_parents->item)->object.oid));
      if (! tmp___33) {
        tmp___29 = oid_to_hex((struct object_id  const  *)(& (odb_parents->item)->object.oid));
        tmp___30 = oid_to_hex((struct object_id  const  *)(& (graph_parents->item)->object.oid));
        tmp___31 = oid_to_hex((struct object_id  const  *)(& cur_oid));
        tmp___32 = _((char const   *)"commit-graph parent for %s is %s != %s");
        graph_report((char const   *)tmp___32, tmp___31, tmp___30, tmp___29);
      }
      generation = commit_graph_generation((struct commit  const  *)graph_parents->item);
      if (generation > max_generation) {
        max_generation = generation;
      }
      graph_parents = graph_parents->next;
      odb_parents = odb_parents->next;
    }
    while_break___3: /* CIL Label */ ;
    }
    if ((unsigned long )odb_parents != (unsigned long )((void *)0)) {
      tmp___34 = oid_to_hex((struct object_id  const  *)(& cur_oid));
      tmp___35 = _((char const   *)"commit-graph parent list for commit %s terminates early");
      graph_report((char const   *)tmp___35, tmp___34);
    }
    tmp___40 = commit_graph_generation((struct commit  const  *)graph_commit___0);
    if (tmp___40) {
      if (generation_zero == 1) {
        tmp___38 = oid_to_hex((struct object_id  const  *)(& cur_oid));
        tmp___39 = _((char const   *)"commit-graph has non-zero generation number for commit %s, but zero elsewhere");
        graph_report((char const   *)tmp___39, tmp___38);
      }
    } else {
      if (generation_zero == 2) {
        tmp___36 = oid_to_hex((struct object_id  const  *)(& cur_oid));
        tmp___37 = _((char const   *)"commit-graph has generation number zero for commit %s, but non-zero elsewhere");
        graph_report((char const   *)tmp___37, tmp___36);
      }
      generation_zero = 1;
    }
    if (generation_zero == 1) {
      goto __Cont;
    }
    if (! g->read_generation_data) {
      if (max_generation == 1073741823UL) {
        max_generation --;
      }
    }
    generation = commit_graph_generation((struct commit  const  *)graph_commit___0);
    if (generation < max_generation + 1UL) {
      tmp___41 = oid_to_hex((struct object_id  const  *)(& cur_oid));
      tmp___42 = _((char const   *)"commit-graph generation for commit %s is %lu < %lu");
      graph_report((char const   *)tmp___42, tmp___41, generation, max_generation + 1UL);
    }
    if (graph_commit___0->date != odb_commit->date) {
      tmp___43 = oid_to_hex((struct object_id  const  *)(& cur_oid));
      tmp___44 = _((char const   *)"commit date for commit %s in commit-graph is %lu != %lu");
      graph_report((char const   *)tmp___44, tmp___43, graph_commit___0->date, odb_commit->date);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  stop_progress(& progress___7);
  local_error = verify_commit_graph_error;
  if (! (flags___0 & 1)) {
    if (g->base_graph) {
      tmp___45 = verify_commit_graph(r, g->base_graph, flags___0);
      local_error |= tmp___45;
    }
  }
  return (local_error);
}
}
void free_commit_graph(struct commit_graph *g )
{


  {
  if (! g) {
    return;
  }
  if (g->data) {
    munmap((void *)g->data, g->data_len);
    g->data = (unsigned char const   *)((void *)0);
  }
  free((void *)g->filename);
  free((void *)g->bloom_filter_settings);
  free((void *)g);
  return;
}
}
void disable_commit_graph(struct repository *r )
{


  {
  r->commit_graph_disabled = 1;
  return;
}
}
static double const   __ac_HASH_UPPER___16  =    (double const   )0.77;
__inline static void kh_resize_oid_set___16(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___16(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___16 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___16 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___16(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___16(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___16(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___16(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___16(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___16(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___16 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___16 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___16(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___16(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___16(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___16(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___16(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___16(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___16 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___16 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___16(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___16(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___16(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___16(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___13(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___13(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___16 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___16 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___13(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___13(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___13(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___13(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
int filter_refs(struct ref_array *array , struct ref_filter *filter___0 , unsigned int type___0 ) ;
void ref_array_clear(struct ref_array *array ) ;
int verify_ref_format(struct ref_format *format___0 ) ;
void ref_array_sort(struct ref_sorting *sorting___0 , struct ref_array *array ) ;
void ref_sorting_set_sort_flags_all(struct ref_sorting *sorting___0 , unsigned int mask ,
                                    int on ) ;
int format_ref_array_item(struct ref_array_item *info___0 , struct ref_format *format___0 ,
                          struct strbuf *final_buf , struct strbuf *error_buf___0 ) ;
void ref_sorting_release(struct ref_sorting *sorting___0 ) ;
struct ref_sorting *ref_sorting_options(struct string_list *options ) ;
int parse_opt_merge_filter(struct option  const  *opt___0 , char const   *arg , int unset ) ;
char *get_head_description(void) ;
void setup_ref_filter_porcelain_msg(void) ;
void pretty_print_ref(char const   *name___0 , struct object_id  const  *oid , struct ref_format *format___0 ) ;
struct ref_array_item *ref_array_push(struct ref_array *array , char const   *refname ,
                                      struct object_id  const  *oid ) ;
static void init_contains_cache_with_stride___0(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___0(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___0(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___0(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___0(s___1, 1U);
  return;
}
}
static void clear_contains_cache___0(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___0(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___0(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___0(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___0(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___0(struct contains_cache *s___1 ,
                                                        struct commit  const  *c___0 ,
                                                        int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___0(struct contains_cache *s___1 ,
                                                        struct commit  const  *c___0 ,
                                                        int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___0(struct contains_cache *s___1 ,
                                                   struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___0(struct contains_cache *s___1 ,
                                                   struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___0(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___0(struct contains_cache *s___1 ,
                                                     struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___0(struct contains_cache *s___1 ,
                                                     struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___0(s___1, c___0, 0);
  return (tmp);
}
}
static unsigned int const   all_flags  =    (unsigned int const   )((((1u << 16) | (1u << 17)) | (1u << 18)) | (1u << 19));
static int compare_commits_by_gen(void const   *_a , void const   *_b )
{
  struct commit  const  *a ;
  struct commit  const  *b___0 ;
  timestamp_t generation_a ;
  timestamp_t tmp ;
  timestamp_t generation_b ;
  timestamp_t tmp___0 ;

  {
  a = (struct commit  const  *)*((struct commit  const  **)_a);
  b___0 = (struct commit  const  *)*((struct commit  const  **)_b);
  tmp = commit_graph_generation(a);
  generation_a = tmp;
  tmp___0 = commit_graph_generation(b___0);
  generation_b = tmp___0;
  if (generation_a < generation_b) {
    return (-1);
  }
  if (generation_a > generation_b) {
    return (1);
  }
  if (a->date < b___0->date) {
    return (-1);
  }
  if (a->date > b___0->date) {
    return (1);
  }
  return (0);
}
}
static int queue_has_nonstale(struct prio_queue *queue )
{
  int i ;
  struct commit *commit ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < queue->nr)) {
      goto while_break;
    }
    commit = (struct commit *)(queue->array + i)->data;
    if (! (commit->object.flags & (1u << 18))) {
      return (1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static struct commit_list *paint_down_to_common(struct repository *r , struct commit *one___0 ,
                                                int n , struct commit **twos , timestamp_t min_generation )
{
  struct prio_queue queue ;
  struct commit_list *result___0 ;
  int i ;
  timestamp_t last_gen ;
  int tmp ;
  struct commit *commit ;
  void *tmp___0 ;
  struct commit_list *parents ;
  int flags___0 ;
  timestamp_t generation ;
  timestamp_t tmp___1 ;
  char *tmp___2 ;
  struct commit *p___0 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  queue.compare = & compare_commits_by_gen_then_commit_date;
  queue.insertion_ctr = 0U;
  queue.cb_data = (void *)0;
  queue.alloc = 0;
  queue.nr = 0;
  queue.array = (struct prio_queue_entry *)0;
  result___0 = (struct commit_list *)((void *)0);
  last_gen = (timestamp_t )((1ULL << 63) - 1ULL);
  if (! min_generation) {
    tmp = corrected_commit_dates_enabled(r);
    if (! tmp) {
      queue.compare = & compare_commits_by_commit_date;
    }
  }
  one___0->object.flags |= 1u << 16;
  if (! n) {
    commit_list_append(one___0, & result___0);
    return (result___0);
  }
  prio_queue_put(& queue, (void *)one___0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    (*(twos + i))->object.flags |= 1u << 17;
    prio_queue_put(& queue, (void *)*(twos + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___4 = queue_has_nonstale(& queue);
    if (! tmp___4) {
      goto while_break___0;
    }
    tmp___0 = prio_queue_get(& queue);
    commit = (struct commit *)tmp___0;
    tmp___1 = commit_graph_generation((struct commit  const  *)commit);
    generation = tmp___1;
    if (min_generation) {
      if (generation > last_gen) {
        tmp___2 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
        BUG_fl((char const   *)"commit-reach.c", 85, (char const   *)"bad generation skip %lu > %lu at %s",
               generation, last_gen, tmp___2);
      }
    }
    last_gen = generation;
    if (generation < min_generation) {
      goto while_break___0;
    }
    flags___0 = (int )(commit->object.flags & (((1u << 16) | (1u << 17)) | (1u << 18)));
    if ((unsigned int )flags___0 == ((1u << 16) | (1u << 17))) {
      if (! (commit->object.flags & (1u << 19))) {
        commit->object.flags |= 1u << 19;
        commit_list_insert_by_date(commit, & result___0);
      }
      flags___0 = (int )((unsigned int )flags___0 | (1u << 18));
    }
    parents = commit->parents;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! parents) {
        goto while_break___1;
      }
      p___0 = parents->item;
      parents = parents->next;
      if ((p___0->object.flags & (unsigned int )flags___0) == (unsigned int )flags___0) {
        goto while_continue___1;
      }
      tmp___3 = repo_parse_commit(r, p___0);
      if (tmp___3) {
        return ((struct commit_list *)((void *)0));
      }
      p___0->object.flags |= (unsigned int )flags___0;
      prio_queue_put(& queue, (void *)p___0);
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  clear_prio_queue(& queue);
  return (result___0);
}
}
static struct commit_list *merge_bases_many(struct repository *r , struct commit *one___0 ,
                                            int n , struct commit **twos )
{
  struct commit_list *list___3 ;
  struct commit_list *result___0 ;
  int i ;
  struct commit_list *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct commit *commit ;
  struct commit *tmp___2 ;

  {
  list___3 = (struct commit_list *)((void *)0);
  result___0 = (struct commit_list *)((void *)0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    if ((unsigned long )one___0 == (unsigned long )*(twos + i)) {
      tmp = commit_list_insert(one___0, & result___0);
      return (tmp);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = repo_parse_commit(r, one___0);
  if (tmp___0) {
    return ((struct commit_list *)((void *)0));
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break___0;
    }
    tmp___1 = repo_parse_commit(r, *(twos + i));
    if (tmp___1) {
      return ((struct commit_list *)((void *)0));
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  list___3 = paint_down_to_common(r, one___0, n, twos, (timestamp_t )0);
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! list___3) {
      goto while_break___1;
    }
    tmp___2 = pop_commit(& list___3);
    commit = tmp___2;
    if (! (commit->object.flags & (1u << 18))) {
      commit_list_insert_by_date(commit, & result___0);
    }
  }
  while_break___1: /* CIL Label */ ;
  }
  return (result___0);
}
}
struct commit_list *get_octopus_merge_bases(struct commit_list *in )
{
  struct commit_list *i ;
  struct commit_list *j ;
  struct commit_list *k ;
  struct commit_list *ret___67 ;
  struct commit_list *new_commits ;
  struct commit_list *end ;
  struct commit_list *bases ;

  {
  ret___67 = (struct commit_list *)((void *)0);
  if (! in) {
    return (ret___67);
  }
  commit_list_insert(in->item, & ret___67);
  i = in->next;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! i) {
      goto while_break;
    }
    new_commits = (struct commit_list *)((void *)0);
    end = (struct commit_list *)((void *)0);
    j = ret___67;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! j) {
        goto while_break___0;
      }
      bases = repo_get_merge_bases(the_repository, i->item, j->item);
      if (! new_commits) {
        new_commits = bases;
      } else {
        end->next = bases;
      }
      k = bases;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! k) {
          goto while_break___1;
        }
        end = k;
        k = k->next;
      }
      while_break___1: /* CIL Label */ ;
      }
      j = j->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    ret___67 = new_commits;
    i = i->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static int remove_redundant_no_gen(struct repository *r , struct commit **array ,
                                   int cnt )
{
  struct commit **work ;
  unsigned char *redundant ;
  int *filled_index ;
  int i ;
  int j ;
  int filled ;
  void *tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  struct commit_list *common ;
  timestamp_t min_generation ;
  timestamp_t tmp___3 ;
  timestamp_t curr_generation ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = xcalloc((size_t )cnt, sizeof(*work));
  work = (struct commit **)tmp;
  tmp___0 = xcalloc((size_t )cnt, (size_t )1);
  redundant = (unsigned char *)tmp___0;
  tmp___1 = st_mult(sizeof(*filled_index), (size_t )(cnt - 1));
  tmp___2 = xmalloc(tmp___1);
  filled_index = (int *)tmp___2;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < cnt)) {
      goto while_break;
    }
    repo_parse_commit(r, *(array + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < cnt)) {
      goto while_break___0;
    }
    tmp___3 = commit_graph_generation((struct commit  const  *)*(array + i));
    min_generation = tmp___3;
    if (*(redundant + i)) {
      goto __Cont;
    }
    filled = 0;
    j = filled;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (j < cnt)) {
        goto while_break___1;
      }
      if (i == j) {
        goto __Cont___0;
      } else
      if (*(redundant + j)) {
        goto __Cont___0;
      }
      *(filled_index + filled) = j;
      tmp___4 = filled;
      filled ++;
      *(work + tmp___4) = *(array + j);
      curr_generation = commit_graph_generation((struct commit  const  *)*(array + j));
      if (curr_generation < min_generation) {
        min_generation = curr_generation;
      }
      __Cont___0: /* CIL Label */
      j ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    common = paint_down_to_common(r, *(array + i), filled, work, min_generation);
    if ((*(array + i))->object.flags & (1u << 17)) {
      *(redundant + i) = (unsigned char)1;
    }
    j = 0;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (j < filled)) {
        goto while_break___2;
      }
      if ((*(work + j))->object.flags & (1u << 16)) {
        *(redundant + *(filled_index + j)) = (unsigned char)1;
      }
      j ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    clear_commit_marks(*(array + i), (unsigned int )all_flags);
    clear_commit_marks_many(filled, work, (unsigned int )all_flags);
    free_commit_list(common);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  copy_array((void *)work, (void const   *)array, (size_t )cnt, sizeof(*work) + (sizeof(char [1]) - 1UL));
  filled = 0;
  i = filled;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! (i < cnt)) {
      goto while_break___3;
    }
    if (! *(redundant + i)) {
      tmp___5 = filled;
      filled ++;
      *(array + tmp___5) = *(work + i);
    }
    i ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  free((void *)work);
  free((void *)redundant);
  free((void *)filled_index);
  return (filled);
}
}
static int remove_redundant_with_gen(struct repository *r , struct commit **array ,
                                     int cnt )
{
  int i ;
  int count_non_stale ;
  int count_still_independent ;
  timestamp_t min_generation ;
  struct commit **walk_start ;
  struct commit **sorted ;
  size_t walk_start_nr ;
  size_t walk_start_alloc ;
  int min_gen_pos ;
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  struct commit_list *parents ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  struct commit_list *stack ;
  struct commit_list *parents___0 ;
  struct commit *c___0 ;
  int tmp___6 ;
  timestamp_t tmp___7 ;
  int tmp___8 ;

  {
  count_non_stale = 0;
  count_still_independent = cnt;
  min_generation = (timestamp_t )((1ULL << 63) - 1ULL);
  walk_start_nr = (size_t )0;
  walk_start_alloc = (size_t )cnt;
  min_gen_pos = 0;
  tmp = st_mult(sizeof(*sorted), (size_t )cnt);
  tmp___0 = xmalloc(tmp);
  sorted = (struct commit **)tmp___0;
  copy_array((void *)sorted, (void const   *)array, (size_t )cnt, sizeof(*sorted) + (sizeof(char [1]) - 1UL));
  sane_qsort((void *)sorted, (size_t )cnt, sizeof(*sorted), & compare_commits_by_gen);
  min_generation = commit_graph_generation((struct commit  const  *)*(sorted + 0));
  tmp___1 = st_mult(sizeof(*walk_start), walk_start_alloc);
  tmp___2 = xmalloc(tmp___1);
  walk_start = (struct commit **)tmp___2;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < cnt)) {
      goto while_break;
    }
    repo_parse_commit(r, *(array + i));
    (*(array + i))->object.flags |= 1u << 19;
    parents = (*(array + i))->parents;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! parents) {
        goto while_break___0;
      }
      repo_parse_commit(r, parents->item);
      if (! ((parents->item)->object.flags & (1u << 18))) {
        (parents->item)->object.flags |= 1u << 18;
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          if (walk_start_nr + 1UL > walk_start_alloc) {
            if (((walk_start_alloc + 16UL) * 3UL) / 2UL < walk_start_nr + 1UL) {
              walk_start_alloc = walk_start_nr + 1UL;
            } else {
              walk_start_alloc = ((walk_start_alloc + 16UL) * 3UL) / 2UL;
            }
            tmp___3 = st_mult(sizeof(*walk_start), walk_start_alloc);
            tmp___4 = xrealloc((void *)walk_start, tmp___3);
            walk_start = (struct commit **)tmp___4;
          }
          goto while_break___1;
        }
        while_break___1: /* CIL Label */ ;
        }
        tmp___5 = walk_start_nr;
        walk_start_nr ++;
        *(walk_start + tmp___5) = parents->item;
      }
      parents = parents->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  sane_qsort((void *)walk_start, walk_start_nr, sizeof(*walk_start), & compare_commits_by_gen);
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((size_t )i < walk_start_nr)) {
      goto while_break___2;
    }
    (*(walk_start + i))->object.flags &= ~ (1u << 18);
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  i = (int )(walk_start_nr - 1UL);
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (i >= 0) {
      if (! (count_still_independent > 1)) {
        goto while_break___3;
      }
    } else {
      goto while_break___3;
    }
    stack = (struct commit_list *)((void *)0);
    commit_list_insert(*(walk_start + i), & stack);
    (*(walk_start + i))->object.flags |= 1u << 18;
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (! stack) {
        goto while_break___4;
      }
      c___0 = stack->item;
      repo_parse_commit(r, c___0);
      if (c___0->object.flags & (1u << 19)) {
        c___0->object.flags &= ~ (1u << 19);
        count_still_independent --;
        if (count_still_independent <= 1) {
          goto while_break___4;
        }
        tmp___6 = oideq((struct object_id  const  *)(& c___0->object.oid), (struct object_id  const  *)(& (*(sorted + min_gen_pos))->object.oid));
        if (tmp___6) {
          {
          while (1) {
            while_continue___5: /* CIL Label */ ;
            if (min_gen_pos < cnt - 1) {
              if (! ((*(sorted + min_gen_pos))->object.flags & (1u << 18))) {
                goto while_break___5;
              }
            } else {
              goto while_break___5;
            }
            min_gen_pos ++;
          }
          while_break___5: /* CIL Label */ ;
          }
          min_generation = commit_graph_generation((struct commit  const  *)*(sorted + min_gen_pos));
        }
      }
      tmp___7 = commit_graph_generation((struct commit  const  *)c___0);
      if (tmp___7 < min_generation) {
        pop_commit(& stack);
        goto while_continue___4;
      }
      parents___0 = c___0->parents;
      {
      while (1) {
        while_continue___6: /* CIL Label */ ;
        if (! parents___0) {
          goto while_break___6;
        }
        if (! ((parents___0->item)->object.flags & (1u << 18))) {
          (parents___0->item)->object.flags |= 1u << 18;
          commit_list_insert(parents___0->item, & stack);
          goto while_break___6;
        }
        parents___0 = parents___0->next;
      }
      while_break___6: /* CIL Label */ ;
      }
      if (! parents___0) {
        pop_commit(& stack);
      }
    }
    while_break___4: /* CIL Label */ ;
    }
    free_commit_list(stack);
    i --;
  }
  while_break___3: /* CIL Label */ ;
  }
  free((void *)sorted);
  i = 0;
  {
  while (1) {
    while_continue___7: /* CIL Label */ ;
    if (! (i < cnt)) {
      goto while_break___7;
    }
    (*(array + i))->object.flags &= ~ (1u << 19);
    i ++;
  }
  while_break___7: /* CIL Label */ ;
  }
  count_non_stale = 0;
  i = count_non_stale;
  {
  while (1) {
    while_continue___8: /* CIL Label */ ;
    if (! (i < cnt)) {
      goto while_break___8;
    }
    if (! ((*(array + i))->object.flags & (1u << 18))) {
      tmp___8 = count_non_stale;
      count_non_stale ++;
      *(array + tmp___8) = *(array + i);
    }
    i ++;
  }
  while_break___8: /* CIL Label */ ;
  }
  clear_commit_marks_many((int )walk_start_nr, walk_start, 1u << 18);
  free((void *)walk_start);
  return (count_non_stale);
}
}
static int remove_redundant(struct repository *r , struct commit **array , int cnt )
{
  int i ;
  int tmp ;
  timestamp_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___1 = generation_numbers_enabled(r);
  if (tmp___1) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < cnt)) {
        goto while_break;
      }
      tmp___0 = commit_graph_generation((struct commit  const  *)*(array + i));
      if ((unsigned long long )tmp___0 < (1ULL << 63) - 1ULL) {
        tmp = remove_redundant_with_gen(r, array, cnt);
        return (tmp);
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  tmp___2 = remove_redundant_no_gen(r, array, cnt);
  return (tmp___2);
}
}
static struct commit_list *get_merge_bases_many_0(struct repository *r , struct commit *one___0 ,
                                                  int n , struct commit **twos , int cleanup___0 )
{
  struct commit_list *list___3 ;
  struct commit **rslt ;
  struct commit_list *result___0 ;
  int cnt ;
  int i ;
  unsigned int tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  result___0 = merge_bases_many(r, one___0, n, twos);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    if ((unsigned long )one___0 == (unsigned long )*(twos + i)) {
      return (result___0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! result___0) {
    goto _L;
  } else
  if (! result___0->next) {
    _L: /* CIL Label */
    if (cleanup___0) {
      clear_commit_marks(one___0, (unsigned int )all_flags);
      clear_commit_marks_many(n, twos, (unsigned int )all_flags);
    }
    return (result___0);
  }
  tmp = commit_list_count((struct commit_list  const  *)result___0);
  cnt = (int )tmp;
  tmp___0 = xcalloc((size_t )cnt, sizeof(*rslt));
  rslt = (struct commit **)tmp___0;
  list___3 = result___0;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! list___3) {
      goto while_break___0;
    }
    tmp___1 = i;
    i ++;
    *(rslt + tmp___1) = list___3->item;
    list___3 = list___3->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  free_commit_list(result___0);
  clear_commit_marks(one___0, (unsigned int )all_flags);
  clear_commit_marks_many(n, twos, (unsigned int )all_flags);
  cnt = remove_redundant(r, rslt, cnt);
  result___0 = (struct commit_list *)((void *)0);
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < cnt)) {
      goto while_break___1;
    }
    commit_list_insert_by_date(*(rslt + i), & result___0);
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  free((void *)rslt);
  return (result___0);
}
}
struct commit_list *repo_get_merge_bases_many(struct repository *r , struct commit *one___0 ,
                                              int n , struct commit **twos )
{
  struct commit_list *tmp ;

  {
  tmp = get_merge_bases_many_0(r, one___0, n, twos, 1);
  return (tmp);
}
}
struct commit_list *repo_get_merge_bases_many_dirty(struct repository *r , struct commit *one___0 ,
                                                    int n , struct commit **twos )
{
  struct commit_list *tmp ;

  {
  tmp = get_merge_bases_many_0(r, one___0, n, twos, 0);
  return (tmp);
}
}
struct commit_list *repo_get_merge_bases(struct repository *r , struct commit *one___0 ,
                                         struct commit *two___0 )
{
  struct commit_list *tmp ;

  {
  tmp = get_merge_bases_many_0(r, one___0, 1, & two___0, 1);
  return (tmp);
}
}
int repo_is_descendant_of(struct repository *r , struct commit *commit , struct commit_list *with_commit )
{
  struct commit_list *from_list ;
  int result___0 ;
  struct commit *other ;
  int tmp ;
  int tmp___0 ;

  {
  if (! with_commit) {
    return (1);
  }
  tmp___0 = generation_numbers_enabled(the_repository);
  if (tmp___0) {
    from_list = (struct commit_list *)((void *)0);
    commit_list_insert(commit, & from_list);
    result___0 = can_all_from_reach(from_list, with_commit, 0);
    free_commit_list(from_list);
    return (result___0);
  } else {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! with_commit) {
        goto while_break;
      }
      other = with_commit->item;
      with_commit = with_commit->next;
      tmp = repo_in_merge_bases_many(r, other, 1, & commit);
      if (tmp) {
        return (1);
      }
    }
    while_break: /* CIL Label */ ;
    }
    return (0);
  }
}
}
int repo_in_merge_bases_many(struct repository *r , struct commit *commit , int nr_reference ,
                             struct commit **reference )
{
  struct commit_list *bases ;
  int ret___67 ;
  int i ;
  timestamp_t generation ;
  timestamp_t max_generation ;
  int tmp ;
  int tmp___0 ;

  {
  ret___67 = 0;
  max_generation = (timestamp_t )0;
  tmp = repo_parse_commit(r, commit);
  if (tmp) {
    return (ret___67);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_reference)) {
      goto while_break;
    }
    tmp___0 = repo_parse_commit(r, *(reference + i));
    if (tmp___0) {
      return (ret___67);
    }
    generation = commit_graph_generation((struct commit  const  *)*(reference + i));
    if (generation > max_generation) {
      max_generation = generation;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  generation = commit_graph_generation((struct commit  const  *)commit);
  if (generation > max_generation) {
    return (ret___67);
  }
  bases = paint_down_to_common(r, commit, nr_reference, reference, generation);
  if (commit->object.flags & (1u << 17)) {
    ret___67 = 1;
  }
  clear_commit_marks(commit, (unsigned int )all_flags);
  clear_commit_marks_many(nr_reference, reference, (unsigned int )all_flags);
  free_commit_list(bases);
  return (ret___67);
}
}
int repo_in_merge_bases(struct repository *r , struct commit *commit , struct commit *reference )
{
  int res ;
  struct commit_list *list___3 ;
  struct commit_list **next___2 ;

  {
  list___3 = (struct commit_list *)((void *)0);
  next___2 = & list___3;
  next___2 = commit_list_append(commit, next___2);
  res = repo_is_descendant_of(r, reference, list___3);
  free_commit_list(list___3);
  return (res);
}
}
struct commit_list *reduce_heads(struct commit_list *heads )
{
  struct commit_list *p___0 ;
  struct commit_list *result___0 ;
  struct commit_list **tail ;
  struct commit **array ;
  int num_head ;
  int i ;
  void *tmp ;
  int tmp___0 ;
  struct commit_list *tmp___1 ;

  {
  result___0 = (struct commit_list *)((void *)0);
  tail = & result___0;
  if (! heads) {
    return ((struct commit_list *)((void *)0));
  }
  p___0 = heads;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    (p___0->item)->object.flags &= ~ (1u << 18);
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  p___0 = heads;
  num_head = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___0;
    }
    if ((p___0->item)->object.flags & (1u << 18)) {
      goto __Cont;
    }
    (p___0->item)->object.flags |= 1u << 18;
    num_head ++;
    __Cont: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp = xcalloc((size_t )num_head, sizeof(*array));
  array = (struct commit **)tmp;
  p___0 = heads;
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___1;
    }
    if ((p___0->item)->object.flags & (1u << 18)) {
      tmp___0 = i;
      i ++;
      *(array + tmp___0) = p___0->item;
      (p___0->item)->object.flags &= ~ (1u << 18);
    }
    p___0 = p___0->next;
  }
  while_break___1: /* CIL Label */ ;
  }
  num_head = remove_redundant(the_repository, array, num_head);
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < num_head)) {
      goto while_break___2;
    }
    tmp___1 = commit_list_insert(*(array + i), tail);
    tail = & tmp___1->next;
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  free((void *)array);
  return (result___0);
}
}
void reduce_heads_replace(struct commit_list **heads )
{
  struct commit_list *result___0 ;
  struct commit_list *tmp ;

  {
  tmp = reduce_heads(*heads);
  result___0 = tmp;
  free_commit_list(*heads);
  *heads = result___0;
  return;
}
}
int ref_newer(struct object_id  const  *new_oid , struct object_id  const  *old_oid )
{
  struct object *o ;
  struct commit *old_commit ;
  struct commit *new_commit ;
  struct commit_list *old_commit_list ;
  int ret___67 ;
  struct object *tmp ;
  struct object *tmp___0 ;
  int tmp___1 ;

  {
  old_commit_list = (struct commit_list *)((void *)0);
  tmp = parse_object(the_repository, old_oid);
  o = deref_tag(the_repository, tmp, (char const   *)((void *)0), 0);
  if (! o) {
    return (0);
  } else
  if (o->type != 1U) {
    return (0);
  }
  old_commit = (struct commit *)o;
  tmp___0 = parse_object(the_repository, new_oid);
  o = deref_tag(the_repository, tmp___0, (char const   *)((void *)0), 0);
  if (! o) {
    return (0);
  } else
  if (o->type != 1U) {
    return (0);
  }
  new_commit = (struct commit *)o;
  tmp___1 = repo_parse_commit(the_repository, new_commit);
  if (tmp___1 < 0) {
    return (0);
  }
  commit_list_insert(old_commit, & old_commit_list);
  ret___67 = repo_is_descendant_of(the_repository, new_commit, old_commit_list);
  free_commit_list(old_commit_list);
  return (ret___67);
}
}
static int in_commit_list(struct commit_list  const  *want , struct commit *c___0 )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! want) {
      goto while_break;
    }
    tmp = oideq((struct object_id  const  *)(& (want->item)->object.oid), (struct object_id  const  *)(& c___0->object.oid));
    if (tmp) {
      return (1);
    }
    want = (struct commit_list  const  *)want->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static enum contains_result contains_test(struct commit *candidate , struct commit_list  const  *want ,
                                          struct contains_cache *cache___0 , timestamp_t cutoff___0 )
{
  enum contains_result *cached ;
  enum contains_result *tmp ;
  int tmp___0 ;
  timestamp_t tmp___1 ;

  {
  tmp = contains_cache_at___0(cache___0, (struct commit  const  *)candidate);
  cached = tmp;
  if (*cached) {
    return (*cached);
  }
  tmp___0 = in_commit_list(want, candidate);
  if (tmp___0) {
    *cached = (enum contains_result )2;
    return ((enum contains_result )2);
  }
  parse_commit_or_die(candidate);
  tmp___1 = commit_graph_generation((struct commit  const  *)candidate);
  if (tmp___1 < cutoff___0) {
    return ((enum contains_result )1);
  }
  return ((enum contains_result )0);
}
}
static void push_to_contains_stack(struct commit *candidate , struct contains_stack *contains_stack )
{
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (contains_stack->nr + 1 > contains_stack->alloc) {
      if (((contains_stack->alloc + 16) * 3) / 2 < contains_stack->nr + 1) {
        contains_stack->alloc = contains_stack->nr + 1;
      } else {
        contains_stack->alloc = ((contains_stack->alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(contains_stack->contains_stack)), (size_t )contains_stack->alloc);
      tmp___0 = xrealloc((void *)contains_stack->contains_stack, tmp);
      contains_stack->contains_stack = (struct contains_stack_entry *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  (contains_stack->contains_stack + contains_stack->nr)->commit = candidate;
  tmp___1 = contains_stack->nr;
  (contains_stack->nr) ++;
  (contains_stack->contains_stack + tmp___1)->parents = candidate->parents;
  return;
}
}
static enum contains_result contains_tag_algo(struct commit *candidate , struct commit_list  const  *want ,
                                              struct contains_cache *cache___0 )
{
  struct contains_stack contains_stack ;
  enum contains_result result___0 ;
  timestamp_t cutoff___0 ;
  struct commit_list  const  *p___0 ;
  timestamp_t generation ;
  struct commit *c___0 ;
  struct contains_stack_entry *entry ;
  struct commit *commit ;
  struct commit_list *parents ;
  enum contains_result *tmp ;
  enum contains_result tmp___0 ;
  enum contains_result *tmp___1 ;
  enum contains_result tmp___2 ;

  {
  contains_stack.nr = 0;
  contains_stack.alloc = 0;
  contains_stack.contains_stack = (struct contains_stack_entry *)((void *)0);
  cutoff___0 = (timestamp_t )((1ULL << 63) - 1ULL);
  p___0 = want;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    c___0 = (struct commit *)p___0->item;
    load_commit_graph_info(the_repository, c___0);
    generation = commit_graph_generation((struct commit  const  *)c___0);
    if (generation < cutoff___0) {
      cutoff___0 = generation;
    }
    p___0 = (struct commit_list  const  *)p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  result___0 = contains_test(candidate, want, cache___0, cutoff___0);
  if ((unsigned int )result___0 != 0U) {
    return (result___0);
  }
  push_to_contains_stack(candidate, & contains_stack);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! contains_stack.nr) {
      goto while_break___0;
    }
    entry = contains_stack.contains_stack + (contains_stack.nr - 1);
    commit = entry->commit;
    parents = entry->parents;
    if (! parents) {
      tmp = contains_cache_at___0(cache___0, (struct commit  const  *)commit);
      *tmp = (enum contains_result )1;
      (contains_stack.nr) --;
    } else {
      tmp___0 = contains_test(parents->item, want, cache___0, cutoff___0);
      {
      if ((unsigned int )tmp___0 == 2U) {
        goto case_2;
      }
      if ((unsigned int )tmp___0 == 1U) {
        goto case_1;
      }
      if ((unsigned int )tmp___0 == 0U) {
        goto case_0;
      }
      goto switch_break;
      case_2: /* CIL Label */
      tmp___1 = contains_cache_at___0(cache___0, (struct commit  const  *)commit);
      *tmp___1 = (enum contains_result )2;
      (contains_stack.nr) --;
      goto switch_break;
      case_1: /* CIL Label */
      entry->parents = parents->next;
      goto switch_break;
      case_0: /* CIL Label */
      push_to_contains_stack(parents->item, & contains_stack);
      goto switch_break;
      switch_break: /* CIL Label */ ;
      }
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)contains_stack.contains_stack);
  tmp___2 = contains_test(candidate, want, cache___0, cutoff___0);
  return (tmp___2);
}
}
int commit_contains(struct ref_filter *filter___0 , struct commit *commit , struct commit_list *list___3 ,
                    struct contains_cache *cache___0 )
{
  enum contains_result tmp ;
  int tmp___0 ;

  {
  if (filter___0->with_commit_tag_algo) {
    tmp = contains_tag_algo(commit, (struct commit_list  const  *)list___3, cache___0);
    return ((unsigned int )tmp == 2U);
  }
  tmp___0 = repo_is_descendant_of(the_repository, commit, list___3);
  return (tmp___0);
}
}
int can_all_from_reach_with_flag(struct object_array *from___0 , unsigned int with_flag ,
                                 unsigned int assign_flag , time_t min_commit_date ,
                                 timestamp_t min_generation )
{
  struct commit **list___3 ;
  int i ;
  int nr_commits ;
  int result___0 ;
  size_t tmp ;
  void *tmp___0 ;
  struct object *from_one ;
  int tmp___1 ;
  timestamp_t tmp___2 ;
  struct commit_list *stack ;
  struct commit_list *parent ;
  int tmp___3 ;
  timestamp_t tmp___4 ;

  {
  list___3 = (struct commit **)((void *)0);
  result___0 = 1;
  tmp = st_mult(sizeof(*list___3), (size_t )from___0->nr);
  tmp___0 = xmalloc(tmp);
  list___3 = (struct commit **)tmp___0;
  nr_commits = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < from___0->nr)) {
      goto while_break;
    }
    from_one = (from___0->objects + i)->item;
    if (! from_one) {
      goto __Cont;
    } else
    if (from_one->flags & assign_flag) {
      goto __Cont;
    }
    from_one = deref_tag(the_repository, from_one, (char const   *)"a from object",
                         0);
    if (! from_one) {
      ((from___0->objects + i)->item)->flags |= assign_flag;
      goto __Cont;
    } else
    if (from_one->type != 1U) {
      ((from___0->objects + i)->item)->flags |= assign_flag;
      goto __Cont;
    }
    *(list___3 + nr_commits) = (struct commit *)from_one;
    tmp___1 = repo_parse_commit(the_repository, *(list___3 + nr_commits));
    if (tmp___1) {
      result___0 = 0;
      goto cleanup;
    } else {
      tmp___2 = commit_graph_generation((struct commit  const  *)*(list___3 + nr_commits));
      if (tmp___2 < min_generation) {
        result___0 = 0;
        goto cleanup;
      }
    }
    nr_commits ++;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  sane_qsort((void *)list___3, (size_t )nr_commits, sizeof(*list___3), & compare_commits_by_gen);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < nr_commits)) {
      goto while_break___0;
    }
    stack = (struct commit_list *)((void *)0);
    (*(list___3 + i))->object.flags |= assign_flag;
    commit_list_insert(*(list___3 + i), & stack);
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! stack) {
        goto while_break___1;
      }
      if ((stack->item)->object.flags & (with_flag | (1u << 19))) {
        pop_commit(& stack);
        if (stack) {
          (stack->item)->object.flags |= 1u << 19;
        }
        goto while_continue___1;
      }
      parent = (stack->item)->parents;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (! parent) {
          goto while_break___2;
        }
        if ((parent->item)->object.flags & (with_flag | (1u << 19))) {
          (stack->item)->object.flags |= 1u << 19;
        }
        if (! ((parent->item)->object.flags & assign_flag)) {
          (parent->item)->object.flags |= assign_flag;
          tmp___3 = repo_parse_commit(the_repository, parent->item);
          if (tmp___3) {
            goto __Cont___0;
          } else
          if ((parent->item)->date < (timestamp_t )min_commit_date) {
            goto __Cont___0;
          } else {
            tmp___4 = commit_graph_generation((struct commit  const  *)parent->item);
            if (tmp___4 < min_generation) {
              goto __Cont___0;
            }
          }
          commit_list_insert(parent->item, & stack);
          goto while_break___2;
        }
        __Cont___0: /* CIL Label */
        parent = parent->next;
      }
      while_break___2: /* CIL Label */ ;
      }
      if (! parent) {
        pop_commit(& stack);
      }
    }
    while_break___1: /* CIL Label */ ;
    }
    if (! ((*(list___3 + i))->object.flags & (with_flag | (1u << 19)))) {
      result___0 = 0;
      goto cleanup;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  cleanup:
  clear_commit_marks_many(nr_commits, list___3, (1u << 19) | assign_flag);
  free((void *)list___3);
  i = 0;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! ((unsigned int )i < from___0->nr)) {
      goto while_break___3;
    }
    ((from___0->objects + i)->item)->flags &= ~ assign_flag;
    i ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  return (result___0);
}
}
int can_all_from_reach(struct commit_list *from___0 , struct commit_list *to , int cutoff_by_min_date )
{
  struct object_array from_objs ;
  time_t min_commit_date ;
  timestamp_t tmp ;
  struct commit_list *from_iter ;
  struct commit_list *to_iter ;
  int result___0 ;
  timestamp_t min_generation ;
  timestamp_t generation ;
  int tmp___0 ;
  timestamp_t generation___0 ;
  int tmp___1 ;

  {
  from_objs.nr = 0U;
  from_objs.alloc = 0U;
  from_objs.objects = (struct object_array_entry *)0;
  if (cutoff_by_min_date) {
    tmp = (from___0->item)->date;
  } else {
    tmp = (timestamp_t )0;
  }
  min_commit_date = (time_t )tmp;
  from_iter = from___0;
  to_iter = to;
  min_generation = (timestamp_t )((1ULL << 63) - 1ULL);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! from_iter) {
      goto while_break;
    }
    add_object_array(& (from_iter->item)->object, (char const   *)((void *)0), & from_objs);
    tmp___0 = repo_parse_commit(the_repository, from_iter->item);
    if (! tmp___0) {
      if ((from_iter->item)->date < (timestamp_t )min_commit_date) {
        min_commit_date = (time_t )(from_iter->item)->date;
      }
      generation = commit_graph_generation((struct commit  const  *)from_iter->item);
      if (generation < min_generation) {
        min_generation = generation;
      }
    }
    from_iter = from_iter->next;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! to_iter) {
      goto while_break___0;
    }
    tmp___1 = repo_parse_commit(the_repository, to_iter->item);
    if (! tmp___1) {
      if ((to_iter->item)->date < (timestamp_t )min_commit_date) {
        min_commit_date = (time_t )(to_iter->item)->date;
      }
      generation___0 = commit_graph_generation((struct commit  const  *)to_iter->item);
      if (generation___0 < min_generation) {
        min_generation = generation___0;
      }
    }
    (to_iter->item)->object.flags |= 1u << 17;
    to_iter = to_iter->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  result___0 = can_all_from_reach_with_flag(& from_objs, 1u << 17, 1u << 16, min_commit_date,
                                            min_generation);
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! from___0) {
      goto while_break___1;
    }
    clear_commit_marks(from___0->item, 1u << 16);
    from___0 = from___0->next;
  }
  while_break___1: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! to) {
      goto while_break___2;
    }
    clear_commit_marks(to->item, 1u << 17);
    to = to->next;
  }
  while_break___2: /* CIL Label */ ;
  }
  object_array_clear(& from_objs);
  return (result___0);
}
}
struct commit_list *get_reachable_subset(struct commit **from___0 , int nr_from ,
                                         struct commit **to , int nr_to , unsigned int reachable_flag )
{
  struct commit **item___0 ;
  struct commit *current ;
  struct commit_list *found_commits ;
  struct commit **to_last ;
  struct commit **from_last ;
  timestamp_t min_generation ;
  int num_to_find ;
  struct prio_queue queue ;
  timestamp_t generation ;
  struct commit *c___0 ;
  struct commit *c___1 ;
  struct commit_list *parents ;
  struct commit *p___0 ;
  timestamp_t tmp ;
  void *tmp___0 ;

  {
  found_commits = (struct commit_list *)((void *)0);
  to_last = to + nr_to;
  from_last = from___0 + nr_from;
  min_generation = (timestamp_t )((1ULL << 63) - 1ULL);
  num_to_find = 0;
  queue.compare = & compare_commits_by_gen_then_commit_date;
  queue.insertion_ctr = 0U;
  queue.cb_data = (void *)0;
  queue.alloc = 0;
  queue.nr = 0;
  queue.array = (struct prio_queue_entry *)0;
  item___0 = to;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )item___0 < (unsigned long )to_last)) {
      goto while_break;
    }
    c___0 = *item___0;
    repo_parse_commit(the_repository, c___0);
    generation = commit_graph_generation((struct commit  const  *)c___0);
    if (generation < min_generation) {
      min_generation = generation;
    }
    if (! (c___0->object.flags & (1u << 16))) {
      c___0->object.flags |= 1u << 16;
      num_to_find ++;
    }
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  item___0 = from___0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )item___0 < (unsigned long )from_last)) {
      goto while_break___0;
    }
    c___1 = *item___0;
    if (! (c___1->object.flags & (1u << 17))) {
      c___1->object.flags |= 1u << 17;
      repo_parse_commit(the_repository, c___1);
      prio_queue_put(& queue, (void *)*item___0);
    }
    item___0 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (num_to_find) {
      tmp___0 = prio_queue_get(& queue);
      current = (struct commit *)tmp___0;
      if (! ((unsigned long )current != (unsigned long )((void *)0))) {
        goto while_break___1;
      }
    } else {
      goto while_break___1;
    }
    if (current->object.flags & (1u << 16)) {
      current->object.flags &= ~ (1u << 16);
      current->object.flags |= reachable_flag;
      commit_list_insert(current, & found_commits);
      num_to_find --;
    }
    parents = current->parents;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! parents) {
        goto while_break___2;
      }
      p___0 = parents->item;
      repo_parse_commit(the_repository, p___0);
      tmp = commit_graph_generation((struct commit  const  *)p___0);
      if (tmp < min_generation) {
        goto __Cont;
      }
      if (p___0->object.flags & (1u << 17)) {
        goto __Cont;
      }
      p___0->object.flags |= 1u << 17;
      prio_queue_put(& queue, (void *)p___0);
      __Cont: /* CIL Label */
      parents = parents->next;
    }
    while_break___2: /* CIL Label */ ;
    }
  }
  while_break___1: /* CIL Label */ ;
  }
  clear_commit_marks_many(nr_to, to, 1u << 16);
  clear_commit_marks_many(nr_from, from___0, 1u << 17);
  return (found_commits);
}
}
int no_graft_file_deprecated_advice  ;
static double const   __ac_HASH_UPPER___17  =    (double const   )0.77;
__inline static void kh_resize_oid_set___17(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___17(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___17 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___17 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___17(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___17(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___17(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___17(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___17(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___17(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___17 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___17 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___17(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___17(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___17(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___17(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___17(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___17(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___17 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___17 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___17(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___17(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___17(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___17(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___14(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___14(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___17 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___17 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___14(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___14(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___14(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___14(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_contains_cache_with_stride___1(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___1(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___1(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___1(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___1(s___1, 1U);
  return;
}
}
static void clear_contains_cache___1(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___1(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___1(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___1(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___1(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___1(struct contains_cache *s___1 ,
                                                        struct commit  const  *c___0 ,
                                                        int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___1(struct contains_cache *s___1 ,
                                                        struct commit  const  *c___0 ,
                                                        int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___1(struct contains_cache *s___1 ,
                                                   struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___1(struct contains_cache *s___1 ,
                                                   struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___1(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___1(struct contains_cache *s___1 ,
                                                     struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___1(struct contains_cache *s___1 ,
                                                     struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___1(s___1, c___0, 0);
  return (tmp);
}
}
static struct commit_extra_header *read_commit_extra_header_lines(char const   *buffer___5 ,
                                                                  size_t size , char const   **exclude ) ;
int save_commit_buffer  =    1;
char const   *commit_type  =    (char const   *)"commit";
struct commit *lookup_commit_reference_gently(struct repository *r , struct object_id  const  *oid ,
                                              int quiet___7 )
{
  struct object *obj ;
  struct object *tmp ;
  struct object *tmp___0 ;
  void *tmp___1 ;

  {
  tmp = parse_object(r, oid);
  tmp___0 = deref_tag(r, tmp, (char const   *)((void *)0), 0);
  obj = tmp___0;
  if (! obj) {
    return ((struct commit *)((void *)0));
  }
  tmp___1 = object_as_type(obj, (enum object_type )1, quiet___7);
  return ((struct commit *)tmp___1);
}
}
struct commit *lookup_commit_reference(struct repository *r , struct object_id  const  *oid )
{
  struct commit *tmp ;

  {
  tmp = lookup_commit_reference_gently(r, oid, 0);
  return (tmp);
}
}
struct commit *lookup_commit_or_die(struct object_id  const  *oid , char const   *ref_name___0 )
{
  struct commit *c___0 ;
  struct commit *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  tmp = lookup_commit_reference(the_repository, oid);
  c___0 = tmp;
  if (! c___0) {
    tmp___0 = _((char const   *)"could not parse %s");
    die((char const   *)tmp___0, ref_name___0);
  }
  tmp___3 = oideq(oid, (struct object_id  const  *)(& c___0->object.oid));
  if (! tmp___3) {
    tmp___1 = oid_to_hex(oid);
    tmp___2 = _((char const   *)"%s %s is not a commit!");
    warning((char const   *)tmp___2, ref_name___0, tmp___1);
  }
  return (c___0);
}
}
struct commit *lookup_commit(struct repository *r , struct object_id  const  *oid )
{
  struct object *obj ;
  struct object *tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;

  {
  tmp = lookup_object(r, oid);
  obj = tmp;
  if (! obj) {
    tmp___0 = alloc_commit_node(r);
    tmp___1 = create_object(r, oid, tmp___0);
    return ((struct commit *)tmp___1);
  }
  tmp___2 = object_as_type(obj, (enum object_type )1, 0);
  return ((struct commit *)tmp___2);
}
}
struct commit *lookup_commit_reference_by_name(char const   *name___0 )
{
  struct object_id oid ;
  struct commit *commit ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = repo_get_oid_committish(the_repository, name___0, & oid);
  if (tmp) {
    return ((struct commit *)((void *)0));
  }
  commit = lookup_commit_reference(the_repository, (struct object_id  const  *)(& oid));
  tmp___0 = repo_parse_commit(the_repository, commit);
  if (tmp___0) {
    return ((struct commit *)((void *)0));
  }
  return (commit);
}
}
static timestamp_t parse_commit_date(char const   *buf___19 , char const   *tail )
{
  char const   *dateptr ;
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  uintmax_t tmp___4 ;

  {
  if ((unsigned long )(buf___19 + 6) >= (unsigned long )tail) {
    return ((timestamp_t )0);
  }
  tmp = memcmp((void const   *)buf___19, (void const   *)"author", (size_t )6);
  if (tmp) {
    return ((timestamp_t )0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )buf___19 < (unsigned long )tail) {
      tmp___0 = buf___19;
      buf___19 ++;
      if (! ((int const   )*tmp___0 != 10)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned long )(buf___19 + 9) >= (unsigned long )tail) {
    return ((timestamp_t )0);
  }
  tmp___1 = memcmp((void const   *)buf___19, (void const   *)"committer", (size_t )9);
  if (tmp___1) {
    return ((timestamp_t )0);
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if ((unsigned long )buf___19 < (unsigned long )tail) {
      tmp___2 = buf___19;
      buf___19 ++;
      if (! ((int const   )*tmp___2 != 62)) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  if ((unsigned long )buf___19 >= (unsigned long )tail) {
    return ((timestamp_t )0);
  }
  dateptr = buf___19;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if ((unsigned long )buf___19 < (unsigned long )tail) {
      tmp___3 = buf___19;
      buf___19 ++;
      if (! ((int const   )*tmp___3 != 10)) {
        goto while_break___1;
      }
    } else {
      goto while_break___1;
    }
  }
  while_break___1: /* CIL Label */ ;
  }
  if ((unsigned long )buf___19 >= (unsigned long )tail) {
    return ((timestamp_t )0);
  }
  tmp___4 = strtoumax(dateptr, (char **)((void *)0), 10);
  return (tmp___4);
}
}
static struct object_id  const  *commit_graft_oid_access(size_t index___2 , void const   *table )
{
  struct commit_graft  const  **commit_graft_table ;

  {
  commit_graft_table = (struct commit_graft  const  **)table;
  return ((struct object_id  const  *)(& (*(commit_graft_table + index___2))->oid));
}
}
int commit_graft_pos(struct repository *r , struct object_id  const  *oid )
{
  int tmp ;

  {
  tmp = oid_pos(oid, (void const   *)(r->parsed_objects)->grafts, (size_t )(r->parsed_objects)->grafts_nr,
                & commit_graft_oid_access);
  return (tmp);
}
}
int register_commit_graft(struct repository *r , struct commit_graft *graft , int ignore_dups )
{
  int pos ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  tmp = commit_graft_pos(r, (struct object_id  const  *)(& graft->oid));
  pos = tmp;
  if (0 <= pos) {
    if (ignore_dups) {
      free((void *)graft);
    } else {
      free((void *)*((r->parsed_objects)->grafts + pos));
      *((r->parsed_objects)->grafts + pos) = graft;
    }
    return (1);
  }
  pos = - pos - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((r->parsed_objects)->grafts_nr + 1 > (r->parsed_objects)->grafts_alloc) {
      if ((((r->parsed_objects)->grafts_alloc + 16) * 3) / 2 < (r->parsed_objects)->grafts_nr + 1) {
        (r->parsed_objects)->grafts_alloc = (r->parsed_objects)->grafts_nr + 1;
      } else {
        (r->parsed_objects)->grafts_alloc = (((r->parsed_objects)->grafts_alloc + 16) * 3) / 2;
      }
      tmp___0 = st_mult(sizeof(*((r->parsed_objects)->grafts)), (size_t )(r->parsed_objects)->grafts_alloc);
      tmp___1 = xrealloc((void *)(r->parsed_objects)->grafts, tmp___0);
      (r->parsed_objects)->grafts = (struct commit_graft **)tmp___1;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  ((r->parsed_objects)->grafts_nr) ++;
  if (pos < (r->parsed_objects)->grafts_nr) {
    memmove((void *)(((r->parsed_objects)->grafts + pos) + 1), (void const   *)((r->parsed_objects)->grafts + pos),
            (unsigned long )(((r->parsed_objects)->grafts_nr - pos) - 1) * sizeof(*((r->parsed_objects)->grafts)));
  }
  *((r->parsed_objects)->grafts + pos) = graft;
  return (0);
}
}
struct commit_graft *read_graft_line(struct strbuf *line___0 )
{
  int i ;
  int phase ;
  char const   *tail ;
  struct commit_graft *graft ;
  struct object_id dummy_oid ;
  struct object_id *oid ;
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;

  {
  tail = (char const   *)((void *)0);
  graft = (struct commit_graft *)((void *)0);
  strbuf_rtrim(line___0);
  if (! line___0->len) {
    return ((struct commit_graft *)((void *)0));
  } else
  if ((int )*(line___0->buf + 0) == 35) {
    return ((struct commit_graft *)((void *)0));
  }
  phase = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (phase < 2)) {
      goto while_break;
    }
    if (graft) {
      oid = & graft->oid;
    } else {
      oid = & dummy_oid;
    }
    tmp = parse_oid_hex((char const   *)line___0->buf, oid, & tail);
    if (tmp) {
      goto bad_graft_data;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((int const   )*tail != 0)) {
        goto while_break___0;
      }
      if (graft) {
        oid = & graft->parent[i];
      } else {
        oid = & dummy_oid;
      }
      tmp___0 = tail;
      tail ++;
      if (((int const   )sane_ctype[(unsigned char )*tmp___0] & 1) != 0) {
        tmp___1 = parse_oid_hex(tail, oid, & tail);
        if (tmp___1) {
          goto bad_graft_data;
        }
      } else {
        goto bad_graft_data;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! graft) {
      tmp___2 = st_mult(sizeof(struct object_id ), (size_t )i);
      tmp___3 = st_add(sizeof(*graft), tmp___2);
      tmp___4 = xmalloc(tmp___3);
      graft = (struct commit_graft *)tmp___4;
      graft->nr_parent = i;
    }
    phase ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (graft);
  bad_graft_data:
  error((char const   *)"bad graft data: %s", line___0->buf);
  const_error();
  assert(! graft);
  return ((struct commit_graft *)((void *)0));
}
}
static int read_graft_file(struct repository *r , char const   *graft_file )
{
  FILE *fp ;
  FILE *tmp ;
  struct strbuf buf___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  struct commit_graft *graft ;
  struct commit_graft *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp = fopen_or_warn(graft_file, (char const   *)"r");
  fp = tmp;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (! fp) {
    return (-1);
  }
  if (! no_graft_file_deprecated_advice) {
    tmp___1 = advice_enabled((enum advice_type )8);
    if (tmp___1) {
      tmp___0 = _((char const   *)"Support for <GIT_DIR>/info/grafts is deprecated\nand will be removed in a future Git version.\n\nPlease use \"git replace --convert-graft-file\"\nto convert the grafts into replace refs.\n\nTurn this message off by running\n\"git config advice.graftFileDeprecated false\"");
      advise((char const   *)tmp___0);
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___4 = strbuf_getwholeline(& buf___19, fp, '\n');
    if (tmp___4) {
      goto while_break;
    }
    tmp___2 = read_graft_line(& buf___19);
    graft = tmp___2;
    if (! graft) {
      goto while_continue;
    }
    tmp___3 = register_commit_graft(r, graft, 1);
    if (tmp___3) {
      error((char const   *)"duplicate graft data: %s", buf___19.buf);
      const_error();
    }
  }
  while_break: /* CIL Label */ ;
  }
  fclose(fp);
  strbuf_release(& buf___19);
  return (0);
}
}
void prepare_commit_graft(struct repository *r )
{
  char *graft_file ;

  {
  if ((r->parsed_objects)->commit_graft_prepared) {
    return;
  }
  if (! startup_info->have_repository) {
    return;
  }
  graft_file = get_graft_file(r);
  read_graft_file(r, (char const   *)graft_file);
  is_repository_shallow(r);
  (r->parsed_objects)->commit_graft_prepared = 1;
  return;
}
}
struct commit_graft *lookup_commit_graft(struct repository *r , struct object_id  const  *oid )
{
  int pos ;

  {
  prepare_commit_graft(r);
  pos = commit_graft_pos(r, oid);
  if (pos < 0) {
    return ((struct commit_graft *)((void *)0));
  }
  return (*((r->parsed_objects)->grafts + pos));
}
}
int for_each_commit_graft(int (*fn)(struct commit_graft  const  * , void * ) , void *cb_data )
{
  int i ;
  int ret___67 ;

  {
  ret___67 = 0;
  i = ret___67;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i < (the_repository->parsed_objects)->grafts_nr) {
      if (! (! ret___67)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    ret___67 = (*fn)((struct commit_graft  const  *)*((the_repository->parsed_objects)->grafts + i),
                     cb_data);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static void init_buffer_slab_with_stride(struct buffer_slab *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_buffer_slab_with_stride(struct buffer_slab *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(struct commit_buffer ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (struct commit_buffer **)((void *)0);
  return;
}
}
static void init_buffer_slab(struct buffer_slab *s___1 )  __attribute__((__unused__)) ;
static void init_buffer_slab(struct buffer_slab *s___1 )
{


  {
  init_buffer_slab_with_stride(s___1, 1U);
  return;
}
}
static void clear_buffer_slab(struct buffer_slab *s___1 )  __attribute__((__unused__)) ;
static void clear_buffer_slab(struct buffer_slab *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (struct commit_buffer **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_buffer_slab(struct buffer_slab *s___1 , void (*free_fn)(struct commit_buffer * ) )  __attribute__((__unused__)) ;
static void deep_clear_buffer_slab(struct buffer_slab *s___1 , void (*free_fn)(struct commit_buffer * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_buffer_slab(s___1);
  return;
}
}
static struct commit_buffer *buffer_slab_at_peek(struct buffer_slab *s___1 , struct commit  const  *c___0 ,
                                                 int add_if_missing )  __attribute__((__unused__)) ;
static struct commit_buffer *buffer_slab_at_peek(struct buffer_slab *s___1 , struct commit  const  *c___0 ,
                                                 int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((struct commit_buffer *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (struct commit_buffer **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (struct commit_buffer *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((struct commit_buffer *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (struct commit_buffer *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static struct commit_buffer *buffer_slab_at(struct buffer_slab *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct commit_buffer *buffer_slab_at(struct buffer_slab *s___1 , struct commit  const  *c___0 )
{
  struct commit_buffer *tmp ;

  {
  tmp = buffer_slab_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static struct commit_buffer *buffer_slab_peek(struct buffer_slab *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct commit_buffer *buffer_slab_peek(struct buffer_slab *s___1 , struct commit  const  *c___0 )
{
  struct commit_buffer *tmp ;

  {
  tmp = buffer_slab_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
struct buffer_slab *allocate_commit_buffer_slab(void)
{
  struct buffer_slab *bs ;
  void *tmp ;

  {
  tmp = xmalloc(sizeof(*bs));
  bs = (struct buffer_slab *)tmp;
  init_buffer_slab(bs);
  return (bs);
}
}
void free_commit_buffer_slab(struct buffer_slab *bs )
{


  {
  clear_buffer_slab(bs);
  free((void *)bs);
  return;
}
}
void set_commit_buffer(struct repository *r , struct commit *commit , void *buffer___5 ,
                       unsigned long size )
{
  struct commit_buffer *v ;
  struct commit_buffer *tmp ;

  {
  tmp = buffer_slab_at((r->parsed_objects)->buffer_slab, (struct commit  const  *)commit);
  v = tmp;
  v->buffer = buffer___5;
  v->size = size;
  return;
}
}
void const   *get_cached_commit_buffer(struct repository *r , struct commit  const  *commit ,
                                       unsigned long *sizep )
{
  struct commit_buffer *v ;
  struct commit_buffer *tmp ;

  {
  tmp = buffer_slab_peek((r->parsed_objects)->buffer_slab, commit);
  v = tmp;
  if (! v) {
    if (sizep) {
      *sizep = 0UL;
    }
    return ((void const   *)((void *)0));
  }
  if (sizep) {
    *sizep = v->size;
  }
  return ((void const   *)v->buffer);
}
}
void const   *repo_get_commit_buffer(struct repository *r , struct commit  const  *commit ,
                                     unsigned long *sizep )
{
  void const   *ret___67 ;
  void const   *tmp ;
  enum object_type type___0 ;
  unsigned long size ;
  void *tmp___0 ;
  char *tmp___1 ;
  char const   *tmp___2 ;
  char *tmp___3 ;

  {
  tmp = get_cached_commit_buffer(r, commit, sizep);
  ret___67 = tmp;
  if (! ret___67) {
    tmp___0 = repo_read_object_file(r, (struct object_id  const  *)(& commit->object.oid),
                                    & type___0, & size);
    ret___67 = (void const   *)tmp___0;
    if (! ret___67) {
      tmp___1 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
      die((char const   *)"cannot read commit object %s", tmp___1);
    }
    if ((int )type___0 != 1) {
      tmp___2 = type_name((unsigned int )type___0);
      tmp___3 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
      die((char const   *)"expected commit for %s, got %s", tmp___3, tmp___2);
    }
    if (sizep) {
      *sizep = size;
    }
  }
  return (ret___67);
}
}
void repo_unuse_commit_buffer(struct repository *r , struct commit  const  *commit ,
                              void const   *buffer___5 )
{
  struct commit_buffer *v ;
  struct commit_buffer *tmp ;

  {
  tmp = buffer_slab_peek((r->parsed_objects)->buffer_slab, commit);
  v = tmp;
  if (v) {
    if (! ((unsigned long )v->buffer == (unsigned long )buffer___5)) {
      free((void *)buffer___5);
    }
  } else {
    free((void *)buffer___5);
  }
  return;
}
}
void free_commit_buffer(struct parsed_object_pool *pool , struct commit *commit )
{
  struct commit_buffer *v ;
  struct commit_buffer *tmp ;

  {
  tmp = buffer_slab_peek(pool->buffer_slab, (struct commit  const  *)commit);
  v = tmp;
  if (v) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      free(v->buffer);
      v->buffer = (void *)0;
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    v->size = 0UL;
  }
  return;
}
}
struct tree *repo_get_commit_tree(struct repository *r , struct commit  const  *commit )
{
  struct tree *tmp ;
  uint32_t tmp___0 ;

  {
  if (commit->maybe_tree) {
    return ((struct tree *)commit->maybe_tree);
  } else
  if (! commit->object.parsed) {
    return ((struct tree *)commit->maybe_tree);
  }
  tmp___0 = commit_graph_position(commit);
  if (tmp___0 != 0xFFFFFFFF) {
    tmp = get_commit_tree_in_graph(r, commit);
    return (tmp);
  }
  return ((struct tree *)((void *)0));
}
}
struct object_id *get_commit_tree_oid(struct commit  const  *commit )
{
  struct tree *tree ;
  struct tree *tmp ;
  struct object_id *tmp___0 ;

  {
  tmp = repo_get_commit_tree(the_repository, commit);
  tree = tmp;
  if (tree) {
    tmp___0 = & tree->object.oid;
  } else {
    tmp___0 = (struct object_id *)((void *)0);
  }
  return (tmp___0);
}
}
void release_commit_memory(struct parsed_object_pool *pool , struct commit *c___0 )
{


  {
  set_commit_tree(c___0, (struct tree *)((void *)0));
  free_commit_buffer(pool, c___0);
  c___0->index = 0U;
  free_commit_list(c___0->parents);
  c___0->object.parsed = 0U;
  return;
}
}
void const   *detach_commit_buffer(struct commit *commit , unsigned long *sizep )
{
  struct commit_buffer *v ;
  struct commit_buffer *tmp ;
  void *ret___67 ;

  {
  tmp = buffer_slab_peek((the_repository->parsed_objects)->buffer_slab, (struct commit  const  *)commit);
  v = tmp;
  if (! v) {
    if (sizep) {
      *sizep = 0UL;
    }
    return ((void const   *)((void *)0));
  }
  ret___67 = v->buffer;
  if (sizep) {
    *sizep = v->size;
  }
  v->buffer = (void *)0;
  v->size = 0UL;
  return ((void const   *)ret___67);
}
}
int parse_commit_buffer(struct repository *r , struct commit *item___0 , void const   *buffer___5 ,
                        unsigned long size , int check_graph )
{
  char const   *tail ;
  char const   *bufptr ;
  struct object_id parent ;
  struct commit_list **pptr ;
  struct commit_graft *graft ;
  int tree_entry_len___0 ;
  int parent_entry_len ;
  struct tree *tree ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;
  struct commit *new_parent___0 ;
  char *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  char *tmp___11 ;
  char *tmp___12 ;
  int tmp___13 ;
  struct commit_list *tmp___14 ;
  int tmp___15 ;
  int i ;
  struct commit *new_parent___1 ;
  char *tmp___16 ;
  char *tmp___17 ;
  int tmp___18 ;
  struct commit_list *tmp___19 ;

  {
  tail = (char const   *)buffer___5;
  bufptr = (char const   *)buffer___5;
  tree_entry_len___0 = (int )((the_repository->hash_algo)->hexsz + 5UL);
  parent_entry_len = (int )((the_repository->hash_algo)->hexsz + 7UL);
  if (item___0->object.parsed) {
    return (0);
  }
  if (item___0->parents) {
    free_commit_list(item___0->parents);
    item___0->parents = (struct commit_list *)((void *)0);
  }
  tail += size;
  if ((unsigned long )tail <= (unsigned long )((bufptr + tree_entry_len___0) + 1)) {
    tmp = oid_to_hex((struct object_id  const  *)(& item___0->object.oid));
    error((char const   *)"bogus commit object %s", tmp);
    tmp___0 = const_error();
    return (tmp___0);
  } else {
    tmp___1 = memcmp((void const   *)bufptr, (void const   *)"tree ", (size_t )5);
    if (tmp___1) {
      tmp = oid_to_hex((struct object_id  const  *)(& item___0->object.oid));
      error((char const   *)"bogus commit object %s", tmp);
      tmp___0 = const_error();
      return (tmp___0);
    } else
    if ((int const   )*(bufptr + tree_entry_len___0) != 10) {
      tmp = oid_to_hex((struct object_id  const  *)(& item___0->object.oid));
      error((char const   *)"bogus commit object %s", tmp);
      tmp___0 = const_error();
      return (tmp___0);
    }
  }
  tmp___4 = get_oid_hex(bufptr + 5, & parent);
  if (tmp___4 < 0) {
    tmp___2 = oid_to_hex((struct object_id  const  *)(& item___0->object.oid));
    error((char const   *)"bad tree pointer in commit %s", tmp___2);
    tmp___3 = const_error();
    return (tmp___3);
  }
  tree = lookup_tree(r, (struct object_id  const  *)(& parent));
  if (! tree) {
    tmp___5 = oid_to_hex((struct object_id  const  *)(& item___0->object.oid));
    tmp___6 = oid_to_hex((struct object_id  const  *)(& parent));
    error((char const   *)"bad tree pointer %s in commit %s", tmp___6, tmp___5);
    tmp___7 = const_error();
    return (tmp___7);
  }
  set_commit_tree(item___0, tree);
  bufptr += tree_entry_len___0 + 1;
  pptr = & item___0->parents;
  graft = lookup_commit_graft(r, (struct object_id  const  *)(& item___0->object.oid));
  if (graft) {
    (r->parsed_objects)->substituted_parent = 1;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )(bufptr + parent_entry_len) < (unsigned long )tail) {
      tmp___15 = memcmp((void const   *)bufptr, (void const   *)"parent ", (size_t )7);
      if (tmp___15) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if ((unsigned long )tail <= (unsigned long )((bufptr + parent_entry_len) + 1)) {
      tmp___8 = oid_to_hex((struct object_id  const  *)(& item___0->object.oid));
      error((char const   *)"bad parents in commit %s", tmp___8);
      tmp___9 = const_error();
      return (tmp___9);
    } else {
      tmp___10 = get_oid_hex(bufptr + 7, & parent);
      if (tmp___10) {
        tmp___8 = oid_to_hex((struct object_id  const  *)(& item___0->object.oid));
        error((char const   *)"bad parents in commit %s", tmp___8);
        tmp___9 = const_error();
        return (tmp___9);
      } else
      if ((int const   )*(bufptr + parent_entry_len) != 10) {
        tmp___8 = oid_to_hex((struct object_id  const  *)(& item___0->object.oid));
        error((char const   *)"bad parents in commit %s", tmp___8);
        tmp___9 = const_error();
        return (tmp___9);
      }
    }
    bufptr += parent_entry_len + 1;
    if (graft) {
      if (graft->nr_parent < 0) {
        goto while_continue;
      } else
      if (grafts_replace_parents) {
        goto while_continue;
      }
    }
    new_parent___0 = lookup_commit(r, (struct object_id  const  *)(& parent));
    if (! new_parent___0) {
      tmp___11 = oid_to_hex((struct object_id  const  *)(& item___0->object.oid));
      tmp___12 = oid_to_hex((struct object_id  const  *)(& parent));
      error((char const   *)"bad parent %s in commit %s", tmp___12, tmp___11);
      tmp___13 = const_error();
      return (tmp___13);
    }
    tmp___14 = commit_list_insert(new_parent___0, pptr);
    pptr = & tmp___14->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (graft) {
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < graft->nr_parent)) {
        goto while_break___0;
      }
      new_parent___1 = lookup_commit(r, (struct object_id  const  *)(& graft->parent[i]));
      if (! new_parent___1) {
        tmp___16 = oid_to_hex((struct object_id  const  *)(& item___0->object.oid));
        tmp___17 = oid_to_hex((struct object_id  const  *)(& graft->parent[i]));
        error((char const   *)"bad graft parent %s in commit %s", tmp___17, tmp___16);
        tmp___18 = const_error();
        return (tmp___18);
      }
      tmp___19 = commit_list_insert(new_parent___1, pptr);
      pptr = & tmp___19->next;
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  item___0->date = parse_commit_date(bufptr, tail);
  if (check_graph) {
    load_commit_graph_info(r, item___0);
  }
  item___0->object.parsed = 1U;
  return (0);
}
}
int repo_parse_commit_internal(struct repository *r , struct commit *item___0 , int quiet_on_missing ,
                               int use_commit_graph )
{
  enum object_type type___0 ;
  void *buffer___5 ;
  unsigned long size ;
  int ret___67 ;
  int tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;

  {
  if (! item___0) {
    return (-1);
  }
  if (item___0->object.parsed) {
    return (0);
  }
  if (use_commit_graph) {
    tmp = parse_commit_in_graph(r, item___0);
    if (tmp) {
      return (0);
    }
  }
  buffer___5 = repo_read_object_file(r, (struct object_id  const  *)(& item___0->object.oid),
                                     & type___0, & size);
  if (! buffer___5) {
    if (quiet_on_missing) {
      tmp___2 = -1;
    } else {
      tmp___0 = oid_to_hex((struct object_id  const  *)(& item___0->object.oid));
      error((char const   *)"Could not read %s", tmp___0);
      tmp___1 = const_error();
      tmp___2 = tmp___1;
    }
    return (tmp___2);
  }
  if ((int )type___0 != 1) {
    free(buffer___5);
    tmp___3 = oid_to_hex((struct object_id  const  *)(& item___0->object.oid));
    error((char const   *)"Object %s not a commit", tmp___3);
    tmp___4 = const_error();
    return (tmp___4);
  }
  ret___67 = parse_commit_buffer(r, item___0, (void const   *)buffer___5, size, 0);
  if (save_commit_buffer) {
    if (! ret___67) {
      set_commit_buffer(r, item___0, buffer___5, size);
      return (0);
    }
  }
  free(buffer___5);
  return (ret___67);
}
}
int repo_parse_commit_gently(struct repository *r , struct commit *item___0 , int quiet_on_missing )
{
  int tmp ;

  {
  tmp = repo_parse_commit_internal(r, item___0, quiet_on_missing, 1);
  return (tmp);
}
}
void parse_commit_or_die(struct commit *item___0 )
{
  char *tmp ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  tmp___1 = repo_parse_commit(the_repository, item___0);
  if (tmp___1) {
    if (item___0) {
      tmp = oid_to_hex((struct object_id  const  *)(& item___0->object.oid));
      tmp___0 = tmp;
    } else {
      tmp___0 = "(null)";
    }
    die((char const   *)"unable to parse commit %s", tmp___0);
  }
  return;
}
}
int find_commit_subject(char const   *commit_buffer , char const   **subject )
{
  char const   *eol ;
  char const   *p___0 ;
  char *tmp ;

  {
  p___0 = commit_buffer;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*p___0) {
      if (! ((int const   )*p___0 != 10)) {
        if (! ((int const   )*(p___0 + 1) != 10)) {
          goto while_break;
        }
      }
    } else {
      goto while_break;
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (*p___0) {
    p___0 = skip_blank_lines(p___0 + 2);
    tmp = strchrnul(p___0, '\n');
    eol = (char const   *)tmp;
  } else {
    eol = p___0;
  }
  *subject = p___0;
  return ((int )(eol - p___0));
}
}
size_t commit_subject_length(char const   *body )
{
  char const   *p___0 ;
  char const   *next___2 ;
  char const   *tmp ;
  char *tmp___0 ;

  {
  p___0 = body;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    tmp = skip_blank_lines(p___0);
    next___2 = tmp;
    if ((unsigned long )next___2 != (unsigned long )p___0) {
      goto while_break;
    }
    tmp___0 = strchrnul(p___0, '\n');
    p___0 = (char const   *)tmp___0;
    if (*p___0) {
      p___0 ++;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return ((size_t )(p___0 - body));
}
}
struct commit_list *commit_list_insert(struct commit *item___0 , struct commit_list **list_p )
{
  struct commit_list *new_list ;
  void *tmp ;

  {
  tmp = xmalloc(sizeof(struct commit_list ));
  new_list = (struct commit_list *)tmp;
  new_list->item = item___0;
  new_list->next = *list_p;
  *list_p = new_list;
  return (new_list);
}
}
int commit_list_contains(struct commit *item___0 , struct commit_list *list___3 )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    if ((unsigned long )list___3->item == (unsigned long )item___0) {
      return (1);
    }
    list___3 = list___3->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
unsigned int commit_list_count(struct commit_list  const  *l )
{
  unsigned int c___0 ;

  {
  c___0 = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! l) {
      goto while_break;
    }
    c___0 ++;
    l = (struct commit_list  const  *)l->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (c___0);
}
}
struct commit_list *copy_commit_list(struct commit_list *list___3 )
{
  struct commit_list *head___1 ;
  struct commit_list **pp ;

  {
  head___1 = (struct commit_list *)((void *)0);
  pp = & head___1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    pp = commit_list_append(list___3->item, pp);
    list___3 = list___3->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (head___1);
}
}
struct commit_list *reverse_commit_list(struct commit_list *list___3 )
{
  struct commit_list *next___2 ;
  struct commit_list *current ;
  struct commit_list *backup ;

  {
  next___2 = (struct commit_list *)((void *)0);
  current = list___3;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! current) {
      goto while_break;
    }
    backup = current->next;
    current->next = next___2;
    next___2 = current;
    current = backup;
  }
  while_break: /* CIL Label */ ;
  }
  return (next___2);
}
}
void free_commit_list(struct commit_list *list___3 )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    pop_commit(& list___3);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
struct commit_list *commit_list_insert_by_date(struct commit *item___0 , struct commit_list **list___3 )
{
  struct commit_list **pp ;
  struct commit_list *p___0 ;
  struct commit_list *tmp ;

  {
  pp = list___3;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    p___0 = *pp;
    if (! ((unsigned long )p___0 != (unsigned long )((void *)0))) {
      goto while_break;
    }
    if ((p___0->item)->date < item___0->date) {
      goto while_break;
    }
    pp = & p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = commit_list_insert(item___0, pp);
  return (tmp);
}
}
static int commit_list_compare_by_date(void const   *a , void const   *b___0 )
{
  timestamp_t a_date ;
  timestamp_t b_date ;

  {
  a_date = (((struct commit_list  const  *)a)->item)->date;
  b_date = (((struct commit_list  const  *)b___0)->item)->date;
  if (a_date < b_date) {
    return (1);
  }
  if (a_date > b_date) {
    return (-1);
  }
  return (0);
}
}
static void *commit_list_get_next(void const   *a )
{


  {
  return ((void *)((struct commit_list  const  *)a)->next);
}
}
static void commit_list_set_next(void *a , void *next___2 )
{


  {
  ((struct commit_list *)a)->next = (struct commit_list *)next___2;
  return;
}
}
void commit_list_sort_by_date(struct commit_list **list___3 )
{
  void *tmp ;

  {
  tmp = llist_mergesort((void *)*list___3, & commit_list_get_next, & commit_list_set_next,
                        & commit_list_compare_by_date);
  *list___3 = (struct commit_list *)tmp;
  return;
}
}
struct commit *pop_most_recent_commit(struct commit_list **list___3 , unsigned int mark )
{
  struct commit *ret___67 ;
  struct commit *tmp ;
  struct commit_list *parents ;
  struct commit *commit ;
  int tmp___0 ;

  {
  tmp = pop_commit(list___3);
  ret___67 = tmp;
  parents = ret___67->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! parents) {
      goto while_break;
    }
    commit = parents->item;
    tmp___0 = repo_parse_commit(the_repository, commit);
    if (! tmp___0) {
      if (! (commit->object.flags & mark)) {
        commit->object.flags |= mark;
        commit_list_insert_by_date(commit, list___3);
      }
    }
    parents = parents->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static void clear_commit_marks_1(struct commit_list **plist , struct commit *commit ,
                                 unsigned int mark )
{
  struct commit_list *parents ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! commit) {
      goto while_break;
    }
    if (! (mark & commit->object.flags)) {
      return;
    }
    commit->object.flags &= ~ mark;
    parents = commit->parents;
    if (! parents) {
      return;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      parents = parents->next;
      if (! parents) {
        goto while_break___0;
      }
      commit_list_insert(parents->item, plist);
    }
    while_break___0: /* CIL Label */ ;
    }
    commit = (commit->parents)->item;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void clear_commit_marks_many(int nr___0 , struct commit **commit , unsigned int mark )
{
  struct commit_list *list___3 ;
  int tmp ;
  struct commit *tmp___0 ;

  {
  list___3 = (struct commit_list *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = nr___0;
    nr___0 --;
    if (! tmp) {
      goto while_break;
    }
    clear_commit_marks_1(& list___3, *commit, mark);
    commit ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! list___3) {
      goto while_break___0;
    }
    tmp___0 = pop_commit(& list___3);
    clear_commit_marks_1(& list___3, tmp___0, mark);
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
void clear_commit_marks(struct commit *commit , unsigned int mark )
{


  {
  clear_commit_marks_many(1, & commit, mark);
  return;
}
}
struct commit *pop_commit(struct commit_list **stack )
{
  struct commit_list *top ;
  struct commit *item___0 ;
  struct commit *tmp ;

  {
  top = *stack;
  if (top) {
    tmp = top->item;
  } else {
    tmp = (struct commit *)((void *)0);
  }
  item___0 = tmp;
  if (top) {
    *stack = top->next;
    free((void *)top);
  }
  return (item___0);
}
}
static void init_indegree_slab_with_stride(struct indegree_slab *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_indegree_slab_with_stride(struct indegree_slab *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(int ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (int **)((void *)0);
  return;
}
}
static void init_indegree_slab(struct indegree_slab *s___1 )  __attribute__((__unused__)) ;
static void init_indegree_slab(struct indegree_slab *s___1 )
{


  {
  init_indegree_slab_with_stride(s___1, 1U);
  return;
}
}
static void clear_indegree_slab(struct indegree_slab *s___1 )  __attribute__((__unused__)) ;
static void clear_indegree_slab(struct indegree_slab *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (int **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_indegree_slab(struct indegree_slab *s___1 , void (*free_fn)(int * ) )  __attribute__((__unused__)) ;
static void deep_clear_indegree_slab(struct indegree_slab *s___1 , void (*free_fn)(int * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_indegree_slab(s___1);
  return;
}
}
static int *indegree_slab_at_peek(struct indegree_slab *s___1 , struct commit  const  *c___0 ,
                                  int add_if_missing )  __attribute__((__unused__)) ;
static int *indegree_slab_at_peek(struct indegree_slab *s___1 , struct commit  const  *c___0 ,
                                  int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((int *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (int **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (int *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((int *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (int *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static int *indegree_slab_at(struct indegree_slab *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static int *indegree_slab_at(struct indegree_slab *s___1 , struct commit  const  *c___0 )
{
  int *tmp ;

  {
  tmp = indegree_slab_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static int *indegree_slab_peek(struct indegree_slab *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static int *indegree_slab_peek(struct indegree_slab *s___1 , struct commit  const  *c___0 )
{
  int *tmp ;

  {
  tmp = indegree_slab_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
static void init_author_date_slab_with_stride(struct author_date_slab *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_author_date_slab_with_stride(struct author_date_slab *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(timestamp_t ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (timestamp_t **)((void *)0);
  return;
}
}
static void init_author_date_slab(struct author_date_slab *s___1 )  __attribute__((__unused__)) ;
static void init_author_date_slab(struct author_date_slab *s___1 )
{


  {
  init_author_date_slab_with_stride(s___1, 1U);
  return;
}
}
static void clear_author_date_slab(struct author_date_slab *s___1 )  __attribute__((__unused__)) ;
static void clear_author_date_slab(struct author_date_slab *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (timestamp_t **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_author_date_slab(struct author_date_slab *s___1 , void (*free_fn)(timestamp_t * ) )  __attribute__((__unused__)) ;
static void deep_clear_author_date_slab(struct author_date_slab *s___1 , void (*free_fn)(timestamp_t * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_author_date_slab(s___1);
  return;
}
}
static timestamp_t *author_date_slab_at_peek(struct author_date_slab *s___1 , struct commit  const  *c___0 ,
                                             int add_if_missing )  __attribute__((__unused__)) ;
static timestamp_t *author_date_slab_at_peek(struct author_date_slab *s___1 , struct commit  const  *c___0 ,
                                             int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((timestamp_t *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (timestamp_t **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (timestamp_t *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((timestamp_t *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (timestamp_t *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static timestamp_t *author_date_slab_at(struct author_date_slab *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static timestamp_t *author_date_slab_at(struct author_date_slab *s___1 , struct commit  const  *c___0 )
{
  timestamp_t *tmp ;

  {
  tmp = author_date_slab_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static timestamp_t *author_date_slab_peek(struct author_date_slab *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static timestamp_t *author_date_slab_peek(struct author_date_slab *s___1 , struct commit  const  *c___0 )
{
  timestamp_t *tmp ;

  {
  tmp = author_date_slab_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
void record_author_date(struct author_date_slab *author_date , struct commit *commit )
{
  char const   *buffer___5 ;
  void const   *tmp ;
  struct ident_split ident ;
  char const   *ident_line ;
  size_t ident_len ;
  char *date_end ;
  timestamp_t date ;
  int tmp___0 ;
  timestamp_t *tmp___1 ;

  {
  tmp = repo_get_commit_buffer(the_repository, (struct commit  const  *)commit, (unsigned long *)((void *)0));
  buffer___5 = (char const   *)tmp;
  ident_line = find_commit_header(buffer___5, (char const   *)"author", & ident_len);
  if (! ident_line) {
    goto fail_exit;
  }
  tmp___0 = split_ident_line(& ident, ident_line, (int )ident_len);
  if (tmp___0) {
    goto fail_exit;
  } else
  if (! ident.date_begin) {
    goto fail_exit;
  } else
  if (! ident.date_end) {
    goto fail_exit;
  }
  date = strtoumax(ident.date_begin, & date_end, 10);
  if ((unsigned long )date_end != (unsigned long )ident.date_end) {
    goto fail_exit;
  }
  tmp___1 = author_date_slab_at(author_date, (struct commit  const  *)commit);
  *tmp___1 = date;
  fail_exit:
  repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit, (void const   *)buffer___5);
  return;
}
}
int compare_commits_by_author_date(void const   *a_ , void const   *b_ , void *cb_data )
{
  struct commit  const  *a ;
  struct commit  const  *b___0 ;
  struct author_date_slab *author_date ;
  timestamp_t a_date ;
  timestamp_t *tmp ;
  timestamp_t b_date ;
  timestamp_t *tmp___0 ;

  {
  a = (struct commit  const  *)a_;
  b___0 = (struct commit  const  *)b_;
  author_date = (struct author_date_slab *)cb_data;
  tmp = author_date_slab_at(author_date, a);
  a_date = *tmp;
  tmp___0 = author_date_slab_at(author_date, b___0);
  b_date = *tmp___0;
  if (a_date < b_date) {
    return (1);
  } else
  if (a_date > b_date) {
    return (-1);
  }
  return (0);
}
}
int compare_commits_by_gen_then_commit_date(void const   *a_ , void const   *b_ ,
                                            void *unused )
{
  struct commit  const  *a ;
  struct commit  const  *b___0 ;
  timestamp_t generation_a ;
  timestamp_t tmp ;
  timestamp_t generation_b ;
  timestamp_t tmp___0 ;

  {
  a = (struct commit  const  *)a_;
  b___0 = (struct commit  const  *)b_;
  tmp = commit_graph_generation(a);
  generation_a = (timestamp_t )tmp;
  tmp___0 = commit_graph_generation(b___0);
  generation_b = (timestamp_t )tmp___0;
  if (generation_a < generation_b) {
    return (1);
  } else
  if (generation_a > generation_b) {
    return (-1);
  }
  if (a->date < b___0->date) {
    return (1);
  } else
  if (a->date > b___0->date) {
    return (-1);
  }
  return (0);
}
}
int compare_commits_by_commit_date(void const   *a_ , void const   *b_ , void *unused )
{
  struct commit  const  *a ;
  struct commit  const  *b___0 ;

  {
  a = (struct commit  const  *)a_;
  b___0 = (struct commit  const  *)b_;
  if (a->date < b___0->date) {
    return (1);
  } else
  if (a->date > b___0->date) {
    return (-1);
  }
  return (0);
}
}
void sort_in_topological_order(struct commit_list **list___3 , enum rev_sort_order sort_order )
{
  struct commit_list *next___2 ;
  struct commit_list *orig ;
  struct commit_list **pptr ;
  struct indegree_slab indegree ;
  struct prio_queue queue ;
  struct commit *commit ;
  struct author_date_slab author_date ;
  struct commit *commit___0 ;
  int *tmp ;
  struct commit_list *parents ;
  struct commit *parent ;
  int *pi ;
  int *tmp___0 ;
  struct commit *commit___1 ;
  int *tmp___1 ;
  struct commit_list *parents___0 ;
  struct commit *parent___0 ;
  int *pi___0 ;
  int *tmp___2 ;
  int *tmp___3 ;
  struct commit_list *tmp___4 ;
  void *tmp___5 ;

  {
  orig = *list___3;
  if (! orig) {
    return;
  }
  *list___3 = (struct commit_list *)((void *)0);
  init_indegree_slab(& indegree);
  memset((void *)(& queue), '\000', sizeof(queue));
  {
  if ((unsigned int )sort_order == 1U) {
    goto case_1;
  }
  if ((unsigned int )sort_order == 2U) {
    goto case_2;
  }
  goto switch_default;
  switch_default: /* CIL Label */
  queue.compare = (int (*)(void const   *one , void const   *two , void *cb_data ))((void *)0);
  goto switch_break;
  case_1: /* CIL Label */
  queue.compare = & compare_commits_by_commit_date;
  goto switch_break;
  case_2: /* CIL Label */
  init_author_date_slab(& author_date);
  queue.compare = & compare_commits_by_author_date;
  queue.cb_data = (void *)(& author_date);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  next___2 = orig;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! next___2) {
      goto while_break;
    }
    commit___0 = next___2->item;
    tmp = indegree_slab_at(& indegree, (struct commit  const  *)commit___0);
    *tmp = 1;
    if ((unsigned int )sort_order == 2U) {
      record_author_date(& author_date, commit___0);
    }
    next___2 = next___2->next;
  }
  while_break: /* CIL Label */ ;
  }
  next___2 = orig;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! next___2) {
      goto while_break___0;
    }
    parents = (next___2->item)->parents;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! parents) {
        goto while_break___1;
      }
      parent = parents->item;
      tmp___0 = indegree_slab_at(& indegree, (struct commit  const  *)parent);
      pi = tmp___0;
      if (*pi) {
        (*pi) ++;
      }
      parents = parents->next;
    }
    while_break___1: /* CIL Label */ ;
    }
    next___2 = next___2->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  next___2 = orig;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! next___2) {
      goto while_break___2;
    }
    commit___1 = next___2->item;
    tmp___1 = indegree_slab_at(& indegree, (struct commit  const  *)commit___1);
    if (*tmp___1 == 1) {
      prio_queue_put(& queue, (void *)commit___1);
    }
    next___2 = next___2->next;
  }
  while_break___2: /* CIL Label */ ;
  }
  if ((unsigned int )sort_order == 0U) {
    prio_queue_reverse(& queue);
  }
  free_commit_list(orig);
  pptr = list___3;
  *list___3 = (struct commit_list *)((void *)0);
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    tmp___5 = prio_queue_get(& queue);
    commit = (struct commit *)tmp___5;
    if (! ((unsigned long )commit != (unsigned long )((void *)0))) {
      goto while_break___3;
    }
    parents___0 = commit->parents;
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (! parents___0) {
        goto while_break___4;
      }
      parent___0 = parents___0->item;
      tmp___2 = indegree_slab_at(& indegree, (struct commit  const  *)parent___0);
      pi___0 = tmp___2;
      if (! *pi___0) {
        goto __Cont;
      }
      (*pi___0) --;
      if (*pi___0 == 1) {
        prio_queue_put(& queue, (void *)parent___0);
      }
      __Cont: /* CIL Label */
      parents___0 = parents___0->next;
    }
    while_break___4: /* CIL Label */ ;
    }
    tmp___3 = indegree_slab_at(& indegree, (struct commit  const  *)commit);
    *tmp___3 = 0;
    tmp___4 = commit_list_insert(commit, pptr);
    pptr = & tmp___4->next;
  }
  while_break___3: /* CIL Label */ ;
  }
  clear_indegree_slab(& indegree);
  clear_prio_queue(& queue);
  if ((unsigned int )sort_order == 2U) {
    clear_author_date_slab(& author_date);
  }
  return;
}
}
static void add_one_commit(struct object_id *oid , struct rev_collect *revs )
{
  struct commit *commit ;
  int tmp ;
  int tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  int tmp___3 ;

  {
  tmp = is_null_oid((struct object_id  const  *)oid);
  if (tmp) {
    return;
  }
  commit = lookup_commit(the_repository, (struct object_id  const  *)oid);
  if (! commit) {
    return;
  } else
  if (commit->object.flags & (1u << 4)) {
    return;
  } else {
    tmp___0 = repo_parse_commit(the_repository, commit);
    if (tmp___0) {
      return;
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (revs->nr + 1 > revs->alloc) {
      if (((revs->alloc + 16) * 3) / 2 < revs->nr + 1) {
        revs->alloc = revs->nr + 1;
      } else {
        revs->alloc = ((revs->alloc + 16) * 3) / 2;
      }
      tmp___1 = st_mult(sizeof(*(revs->commit)), (size_t )revs->alloc);
      tmp___2 = xrealloc((void *)revs->commit, tmp___1);
      revs->commit = (struct commit **)tmp___2;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___3 = revs->nr;
  (revs->nr) ++;
  *(revs->commit + tmp___3) = commit;
  commit->object.flags |= 1u << 4;
  return;
}
}
static int collect_one_reflog_ent(struct object_id *ooid , struct object_id *noid ,
                                  char const   *ident , timestamp_t timestamp___0 ,
                                  int tz , char const   *message___0 , void *cbdata )
{
  struct rev_collect *revs ;

  {
  revs = (struct rev_collect *)cbdata;
  if (revs->initial) {
    revs->initial = 0U;
    add_one_commit(ooid, revs);
  }
  add_one_commit(noid, revs);
  return (0);
}
}
struct commit *get_fork_point(char const   *refname , struct commit *commit )
{
  struct object_id oid ;
  struct rev_collect revs ;
  struct commit_list *bases ;
  int i ;
  struct commit *ret___67 ;
  char *full_refname ;
  size_t tmp ;
  int tmp___0 ;

  {
  ret___67 = (struct commit *)((void *)0);
  tmp = strlen(refname);
  tmp___0 = dwim_ref(refname, (int )tmp, & oid, & full_refname, 0);
  {
  if (tmp___0 == 0) {
    goto case_0;
  }
  if (tmp___0 == 1) {
    goto case_1;
  }
  goto switch_default;
  case_0: /* CIL Label */
  die((char const   *)"No such ref: \'%s\'", refname);
  case_1: /* CIL Label */
  goto switch_break;
  switch_default: /* CIL Label */
  die((char const   *)"Ambiguous refname: \'%s\'", refname);
  switch_break: /* CIL Label */ ;
  }
  memset((void *)(& revs), 0, sizeof(revs));
  revs.initial = 1U;
  for_each_reflog_ent((char const   *)full_refname, & collect_one_reflog_ent, (void *)(& revs));
  if (! revs.nr) {
    add_one_commit(& oid, & revs);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < revs.nr)) {
      goto while_break;
    }
    (*(revs.commit + i))->object.flags &= ~ (1u << 4);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  bases = repo_get_merge_bases_many(the_repository, commit, revs.nr, revs.commit);
  if (! bases) {
    goto cleanup_return;
  } else
  if (bases->next) {
    goto cleanup_return;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < revs.nr)) {
      goto while_break___0;
    }
    if ((unsigned long )(& (bases->item)->object) == (unsigned long )(& (*(revs.commit + i))->object)) {
      goto while_break___0;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (revs.nr <= i) {
    goto cleanup_return;
  }
  ret___67 = bases->item;
  cleanup_return:
  free_commit_list(bases);
  free((void *)full_refname);
  return (ret___67);
}
}
static char const   *gpg_sig_headers[3]  = {      (char const   *)((void *)0),      (char const   *)"gpgsig",      (char const   *)"gpgsig-sha256"};
int sign_with_header(struct strbuf *buf___19 , char const   *keyid )
{
  struct strbuf sig ;
  int inspos ;
  int copypos ;
  char const   *eoh ;
  char const   *gpg_sig_header ;
  int tmp ;
  int gpg_sig_header_len ;
  size_t tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  char const   *bol ;
  char const   *eol ;
  char *tmp___3 ;
  int len___0 ;
  int tmp___4 ;

  {
  sig.alloc = 0UL;
  sig.len = 0UL;
  sig.buf = strbuf_slopbuf;
  tmp = hash_algo_by_ptr(the_repository->hash_algo);
  gpg_sig_header = gpg_sig_headers[tmp];
  tmp___0 = strlen(gpg_sig_header);
  gpg_sig_header_len = (int )tmp___0;
  tmp___1 = strstr((char const   *)buf___19->buf, (char const   *)"\n\n");
  eoh = (char const   *)tmp___1;
  if (! eoh) {
    inspos = (int )buf___19->len;
  } else {
    inspos = (int )((eoh - (char const   *)buf___19->buf) + 1L);
  }
  if (! keyid) {
    keyid = get_signing_key();
  } else
  if (! *keyid) {
    keyid = get_signing_key();
  }
  tmp___2 = sign_buffer(buf___19, & sig, keyid);
  if (tmp___2) {
    strbuf_release(& sig);
    return (-1);
  }
  copypos = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(sig.buf + copypos)) {
      goto while_break;
    }
    bol = (char const   *)(sig.buf + copypos);
    tmp___3 = strchrnul(bol, '\n');
    eol = (char const   *)tmp___3;
    len___0 = (int )((eol - bol) + (long )(! (! *eol)));
    if (! copypos) {
      strbuf_insert(buf___19, (size_t )inspos, (void const   *)gpg_sig_header, (size_t )gpg_sig_header_len);
      inspos += gpg_sig_header_len;
    }
    tmp___4 = inspos;
    inspos ++;
    strbuf_insertstr(buf___19, (size_t )tmp___4, (char const   *)" ");
    strbuf_insert(buf___19, (size_t )inspos, (void const   *)bol, (size_t )len___0);
    inspos += len___0;
    copypos += len___0;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& sig);
  return (0);
}
}
int parse_signed_commit(struct commit  const  *commit , struct strbuf *payload , struct strbuf *signature___0 ,
                        struct git_hash_algo  const  *algop )
{
  unsigned long size ;
  char const   *buffer___5 ;
  void const   *tmp ;
  int ret___67 ;
  int tmp___0 ;

  {
  tmp = repo_get_commit_buffer(the_repository, commit, & size);
  buffer___5 = (char const   *)tmp;
  tmp___0 = parse_buffer_signed_by_header(buffer___5, size, payload, signature___0,
                                          algop);
  ret___67 = tmp___0;
  repo_unuse_commit_buffer(the_repository, commit, (void const   *)buffer___5);
  return (ret___67);
}
}
int parse_buffer_signed_by_header(char const   *buffer___5 , unsigned long size ,
                                  struct strbuf *payload , struct strbuf *signature___0 ,
                                  struct git_hash_algo  const  *algop )
{
  int in_signature ;
  int saw_signature ;
  int other_signature ;
  char const   *line___0 ;
  char const   *tail ;
  char const   *p___0 ;
  char const   *gpg_sig_header ;
  int tmp ;
  char const   *sig ;
  char const   *next___2 ;
  void *tmp___0 ;
  size_t tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  in_signature = 0;
  saw_signature = 0;
  other_signature = 0;
  tmp = hash_algo_by_ptr(algop);
  gpg_sig_header = gpg_sig_headers[tmp];
  line___0 = buffer___5;
  tail = buffer___5 + size;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )line___0 < (unsigned long )tail)) {
      goto while_break;
    }
    sig = (char const   *)((void *)0);
    tmp___0 = memchr((void const   *)line___0, '\n', (size_t )(tail - line___0));
    next___2 = (char const   *)tmp___0;
    if (next___2) {
      next___2 ++;
    } else {
      next___2 = tail;
    }
    if (in_signature) {
      if ((int const   )*(line___0 + 0) == 32) {
        sig = line___0 + 1;
      } else {
        goto _L___0;
      }
    } else {
      _L___0: /* CIL Label */
      tmp___3 = skip_prefix(line___0, gpg_sig_header, & p___0);
      if (tmp___3) {
        if ((int const   )*p___0 == 32) {
          tmp___1 = strlen(gpg_sig_header);
          sig = (line___0 + tmp___1) + 1;
          other_signature = 0;
        } else {
          goto _L;
        }
      } else {
        _L: /* CIL Label */
        tmp___2 = starts_with(line___0, (char const   *)"gpgsig");
        if (tmp___2) {
          other_signature = 1;
        } else
        if (other_signature) {
          if ((int const   )*(line___0 + 0) != 32) {
            other_signature = 0;
          }
        }
      }
    }
    if (sig) {
      strbuf_add(signature___0, (void const   *)sig, (size_t )(next___2 - sig));
      saw_signature = 1;
      in_signature = 1;
    } else {
      if ((int const   )*line___0 == 10) {
        next___2 = tail;
      }
      if (! other_signature) {
        strbuf_add(payload, (void const   *)line___0, (size_t )(next___2 - line___0));
      }
      in_signature = 0;
    }
    line___0 = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  return (saw_signature);
}
}
int remove_signature(struct strbuf *buf___19 )
{
  char const   *line___0 ;
  char const   *tail ;
  int in_signature ;
  struct sigbuf sigs[2] ;
  struct sigbuf *sigp ;
  int i ;
  char const   *orig_buf ;
  char const   *next___2 ;
  void *tmp ;
  int i___0 ;
  char const   *p___0 ;
  int tmp___0 ;
  int tmp___1 ;

  {
  line___0 = (char const   *)buf___19->buf;
  tail = (char const   *)(buf___19->buf + buf___19->len);
  in_signature = 0;
  sigp = & sigs[0];
  orig_buf = (char const   *)buf___19->buf;
  memset((void *)(sigs), 0, sizeof(sigs));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )line___0 < (unsigned long )tail)) {
      goto while_break;
    }
    tmp = memchr((void const   *)line___0, '\n', (size_t )(tail - line___0));
    next___2 = (char const   *)tmp;
    if (next___2) {
      next___2 ++;
    } else {
      next___2 = tail;
    }
    if (in_signature) {
      if ((int const   )*(line___0 + 0) == 32) {
        sigp->end = next___2;
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      tmp___1 = starts_with(line___0, (char const   *)"gpgsig");
      if (tmp___1) {
        i___0 = 1;
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          if (! (i___0 < 3)) {
            goto while_break___0;
          }
          tmp___0 = skip_prefix(line___0, gpg_sig_headers[i___0], & p___0);
          if (tmp___0) {
            if ((int const   )*p___0 == 32) {
              sigp->start = line___0;
              sigp->end = next___2;
              in_signature = 1;
            }
          }
          i___0 ++;
        }
        while_break___0: /* CIL Label */ ;
        }
      } else {
        if ((int const   )*line___0 == 10) {
          next___2 = tail;
        }
        if (in_signature) {
          if ((unsigned long )(sigp - sigs) != sizeof(sigs) / sizeof(sigs[0]) + (sizeof(char [1]) - 1UL)) {
            sigp ++;
          }
        }
        in_signature = 0;
      }
    }
    line___0 = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  i = (int )((sizeof(sigs) / sizeof(sigs[0]) + (sizeof(char [1]) - 1UL)) - 1UL);
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i >= 0)) {
      goto while_break___1;
    }
    if (sigs[i].start) {
      strbuf_remove(buf___19, (size_t )(sigs[i].start - orig_buf), (size_t )(sigs[i].end - sigs[i].start));
    }
    i --;
  }
  while_break___1: /* CIL Label */ ;
  }
  return ((unsigned long )sigs[0].start != (unsigned long )((void *)0));
}
}
static void handle_signed_tag(struct commit *parent , struct commit_extra_header ***tail )
{
  struct merge_remote_desc *desc___0 ;
  struct commit_extra_header *mergetag ;
  char *buf___19 ;
  unsigned long size ;
  enum object_type type___0 ;
  struct strbuf payload ;
  struct strbuf signature___0 ;
  void *tmp ;
  int tmp___0 ;
  void *tmp___1 ;

  {
  payload.alloc = 0UL;
  payload.len = 0UL;
  payload.buf = strbuf_slopbuf;
  signature___0.alloc = 0UL;
  signature___0.len = 0UL;
  signature___0.buf = strbuf_slopbuf;
  desc___0 = merge_remote_util(parent);
  if (! desc___0) {
    return;
  } else
  if (! desc___0->obj) {
    return;
  }
  tmp = repo_read_object_file(the_repository, (struct object_id  const  *)(& (desc___0->obj)->oid),
                              & type___0, & size);
  buf___19 = (char *)tmp;
  if (! buf___19) {
    goto free_return;
  } else
  if ((int )type___0 != 4) {
    goto free_return;
  }
  tmp___0 = parse_signature((char const   *)buf___19, size, & payload, & signature___0);
  if (! tmp___0) {
    goto free_return;
  }
  tmp___1 = xcalloc((size_t )1, sizeof(*mergetag));
  mergetag = (struct commit_extra_header *)tmp___1;
  mergetag->key = xstrdup((char const   *)"mergetag");
  mergetag->value = buf___19;
  mergetag->len = size;
  *(*tail) = mergetag;
  *tail = & mergetag->next;
  strbuf_release(& payload);
  strbuf_release(& signature___0);
  return;
  free_return:
  free((void *)buf___19);
  return;
}
}
int check_commit_signature(struct commit  const  *commit , struct signature_check *sigc )
{
  struct strbuf payload ;
  struct strbuf signature___0 ;
  int ret___67 ;
  int tmp ;

  {
  payload.alloc = 0UL;
  payload.len = 0UL;
  payload.buf = strbuf_slopbuf;
  signature___0.alloc = 0UL;
  signature___0.len = 0UL;
  signature___0.buf = strbuf_slopbuf;
  ret___67 = 1;
  sigc->result = (char )'N';
  tmp = parse_signed_commit(commit, & payload, & signature___0, the_repository->hash_algo);
  if (tmp <= 0) {
    goto out;
  }
  sigc->payload_type = (enum payload_type )1;
  sigc->payload = strbuf_detach(& payload, & sigc->payload_len);
  ret___67 = check_signature(sigc, (char const   *)signature___0.buf, signature___0.len);
  out:
  strbuf_release(& payload);
  strbuf_release(& signature___0);
  return (ret___67);
}
}
void verify_merge_signature(struct commit *commit , int verbosity___3 , int check_trust )
{
  char hex___3[65] ;
  struct signature_check signature_check ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  memset((void *)(& signature_check), 0, sizeof(signature_check));
  ret___67 = check_commit_signature((struct commit  const  *)commit, & signature_check);
  repo_find_unique_abbrev_r(the_repository, hex___3, (struct object_id  const  *)(& commit->object.oid),
                            default_abbrev);
  {
  if ((int )signature_check.result == 71) {
    goto case_71;
  }
  if ((int )signature_check.result == 66) {
    goto case_66;
  }
  goto switch_default;
  case_71: /* CIL Label */
  if (ret___67) {
    tmp = _((char const   *)"Commit %s has an untrusted GPG signature, allegedly by %s.");
    die((char const   *)tmp, hex___3, signature_check.signer);
  } else
  if (check_trust) {
    if ((unsigned int )signature_check.trust_level < 2U) {
      tmp = _((char const   *)"Commit %s has an untrusted GPG signature, allegedly by %s.");
      die((char const   *)tmp, hex___3, signature_check.signer);
    }
  }
  goto switch_break;
  case_66: /* CIL Label */
  tmp___0 = _((char const   *)"Commit %s has a bad GPG signature allegedly by %s.");
  die((char const   *)tmp___0, hex___3, signature_check.signer);
  switch_default: /* CIL Label */
  tmp___1 = _((char const   *)"Commit %s does not have a GPG signature.");
  die((char const   *)tmp___1, hex___3);
  switch_break: /* CIL Label */ ;
  }
  if (verbosity___3 >= 0) {
    if ((int )signature_check.result == 71) {
      tmp___2 = _((char const   *)"Commit %s has a good GPG signature by %s\n");
      printf((char const   *)tmp___2, hex___3, signature_check.signer);
    }
  }
  signature_check_clear(& signature_check);
  return;
}
}
void append_merge_tag_headers(struct commit_list *parents , struct commit_extra_header ***tail )
{
  struct commit *parent ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! parents) {
      goto while_break;
    }
    parent = parents->item;
    handle_signed_tag(parent, tail);
    parents = parents->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void add_extra_header(struct strbuf *buffer___5 , struct commit_extra_header *extra___2 )
{


  {
  strbuf_addstr(buffer___5, (char const   *)extra___2->key);
  if (extra___2->len) {
    strbuf_add_lines(buffer___5, (char const   *)" ", (char const   *)extra___2->value,
                     extra___2->len);
  } else {
    strbuf_addch(buffer___5, '\n');
  }
  return;
}
}
struct commit_extra_header *read_commit_extra_headers(struct commit *commit , char const   **exclude )
{
  struct commit_extra_header *extra___2 ;
  unsigned long size ;
  char const   *buffer___5 ;
  void const   *tmp ;

  {
  extra___2 = (struct commit_extra_header *)((void *)0);
  tmp = repo_get_commit_buffer(the_repository, (struct commit  const  *)commit, & size);
  buffer___5 = (char const   *)tmp;
  extra___2 = read_commit_extra_header_lines(buffer___5, size, exclude);
  repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit, (void const   *)buffer___5);
  return (extra___2);
}
}
int for_each_mergetag(int (*fn)(struct commit *commit , struct commit_extra_header *extra ,
                                void *cb_data ) , struct commit *commit , void *data )
{
  struct commit_extra_header *extra___2 ;
  struct commit_extra_header *to_free ;
  int res ;
  int tmp ;

  {
  res = 0;
  to_free = read_commit_extra_headers(commit, (char const   **)((void *)0));
  extra___2 = to_free;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! res) {
      if (! extra___2) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = strcmp((char const   *)extra___2->key, (char const   *)"mergetag");
    if (tmp) {
      goto __Cont;
    }
    res = (*fn)(commit, extra___2, data);
    __Cont: /* CIL Label */
    extra___2 = extra___2->next;
  }
  while_break: /* CIL Label */ ;
  }
  free_commit_extra_headers(to_free);
  return (res);
}
}
__inline static int standard_header_field(char const   *field , size_t len___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  if (len___0 == 4UL) {
    tmp = memcmp((void const   *)field, (void const   *)"tree", (size_t )4);
    if (tmp) {
      goto _L___2;
    } else {
      tmp___4 = 1;
    }
  } else
  _L___2: /* CIL Label */
  if (len___0 == 6UL) {
    tmp___0 = memcmp((void const   *)field, (void const   *)"parent", (size_t )6);
    if (tmp___0) {
      goto _L___1;
    } else {
      tmp___4 = 1;
    }
  } else
  _L___1: /* CIL Label */
  if (len___0 == 6UL) {
    tmp___1 = memcmp((void const   *)field, (void const   *)"author", (size_t )6);
    if (tmp___1) {
      goto _L___0;
    } else {
      tmp___4 = 1;
    }
  } else
  _L___0: /* CIL Label */
  if (len___0 == 9UL) {
    tmp___2 = memcmp((void const   *)field, (void const   *)"committer", (size_t )9);
    if (tmp___2) {
      goto _L;
    } else {
      tmp___4 = 1;
    }
  } else
  _L: /* CIL Label */
  if (len___0 == 8UL) {
    tmp___3 = memcmp((void const   *)field, (void const   *)"encoding", (size_t )8);
    if (tmp___3) {
      tmp___4 = 0;
    } else {
      tmp___4 = 1;
    }
  } else {
    tmp___4 = 0;
  }
  return (tmp___4);
}
}
static int excluded_header_field(char const   *field , size_t len___0 , char const   **exclude )
{
  size_t xlen ;
  size_t tmp ;
  int tmp___0 ;

  {
  if (! exclude) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *exclude) {
      goto while_break;
    }
    tmp = strlen(*exclude);
    xlen = tmp;
    if (len___0 == xlen) {
      tmp___0 = memcmp((void const   *)field, (void const   *)*exclude, xlen);
      if (! tmp___0) {
        return (1);
      }
    }
    exclude ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static struct commit_extra_header *read_commit_extra_header_lines(char const   *buffer___5 ,
                                                                  size_t size , char const   **exclude )
{
  struct commit_extra_header *extra___2 ;
  struct commit_extra_header **tail ;
  struct commit_extra_header *it ;
  char const   *line___0 ;
  char const   *next___2 ;
  char const   *eof ;
  char const   *eob ;
  struct strbuf buf___19 ;
  void *tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  void *tmp___3 ;
  void *tmp___4 ;

  {
  extra___2 = (struct commit_extra_header *)((void *)0);
  tail = & extra___2;
  it = (struct commit_extra_header *)((void *)0);
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  line___0 = buffer___5;
  eob = line___0 + size;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )line___0 < (unsigned long )eob) {
      if (! ((int const   )*line___0 != 10)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = memchr((void const   *)line___0, '\n', (size_t )(eob - line___0));
    next___2 = (char const   *)tmp;
    if (next___2) {
      next___2 ++;
    } else {
      next___2 = eob;
    }
    if ((int const   )*line___0 == 32) {
      if (it) {
        strbuf_add(& buf___19, (void const   *)(line___0 + 1), (size_t )(next___2 - (line___0 + 1)));
      }
      goto __Cont;
    }
    if (it) {
      it->value = strbuf_detach(& buf___19, & it->len);
    }
    strbuf_setlen(& buf___19, (size_t )0);
    it = (struct commit_extra_header *)((void *)0);
    tmp___0 = memchr((void const   *)line___0, ' ', (size_t )(next___2 - line___0));
    eof = (char const   *)tmp___0;
    if (! eof) {
      eof = next___2;
    } else {
      tmp___1 = standard_header_field(line___0, (size_t )(eof - line___0));
      if (tmp___1) {
        goto __Cont;
      } else {
        tmp___2 = excluded_header_field(line___0, (size_t )(eof - line___0), exclude);
        if (tmp___2) {
          goto __Cont;
        }
      }
    }
    tmp___3 = xcalloc((size_t )1, sizeof(*it));
    it = (struct commit_extra_header *)tmp___3;
    tmp___4 = xmemdupz((void const   *)line___0, (size_t )(eof - line___0));
    it->key = (char *)tmp___4;
    *tail = it;
    tail = & it->next;
    if ((unsigned long )(eof + 1) < (unsigned long )next___2) {
      strbuf_add(& buf___19, (void const   *)(eof + 1), (size_t )(next___2 - (eof + 1)));
    }
    __Cont: /* CIL Label */
    line___0 = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  if (it) {
    it->value = strbuf_detach(& buf___19, & it->len);
  }
  return (extra___2);
}
}
void free_commit_extra_headers(struct commit_extra_header *extra___2 )
{
  struct commit_extra_header *next___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! extra___2) {
      goto while_break;
    }
    next___2 = extra___2->next;
    free((void *)extra___2->key);
    free((void *)extra___2->value);
    free((void *)extra___2);
    extra___2 = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int commit_tree(char const   *msg___5 , size_t msg_len , struct object_id  const  *tree ,
                struct commit_list *parents , struct object_id *ret___67 , char const   *author ,
                char const   *sign_commit___2 )
{
  struct commit_extra_header *extra___2 ;
  struct commit_extra_header **tail ;
  int result___0 ;

  {
  extra___2 = (struct commit_extra_header *)((void *)0);
  tail = & extra___2;
  append_merge_tag_headers(parents, & tail);
  result___0 = commit_tree_extended(msg___5, msg_len, tree, parents, ret___67, author,
                                    (char const   *)((void *)0), sign_commit___2,
                                    extra___2);
  free_commit_extra_headers(extra___2);
  return (result___0);
}
}
static int find_invalid_utf8(char const   *buf___19 , int len___0 ) ;
static unsigned int const   max_codepoint[4]  = {      (unsigned int const   )0x7f,      (unsigned int const   )0x7ff,      (unsigned int const   )0xffff,      (unsigned int const   )0x10ffff};
static int find_invalid_utf8(char const   *buf___19 , int len___0 )
{
  int offset___2 ;
  unsigned char c___0 ;
  char const   *tmp ;
  int bytes ;
  int bad_offset ;
  unsigned int codepoint ;
  unsigned int min_val ;
  unsigned int max_val ;
  char const   *tmp___0 ;

  {
  offset___2 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! len___0) {
      goto while_break;
    }
    tmp = buf___19;
    buf___19 ++;
    c___0 = (unsigned char )*tmp;
    len___0 --;
    offset___2 ++;
    if ((int )c___0 < 0x80) {
      goto while_continue;
    }
    bad_offset = offset___2 - 1;
    bytes = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((int )c___0 & 0x40)) {
        goto while_break___0;
      }
      c___0 = (unsigned char )((int )c___0 << 1);
      bytes ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (bytes < 1) {
      return (bad_offset);
    } else
    if (3 < bytes) {
      return (bad_offset);
    }
    if (len___0 < bytes) {
      return (bad_offset);
    }
    codepoint = (unsigned int )(((int )c___0 & 0x7f) >> bytes);
    min_val = (unsigned int )(max_codepoint[bytes - 1] + 1U);
    max_val = (unsigned int )max_codepoint[bytes];
    offset___2 += bytes;
    len___0 -= bytes;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      codepoint <<= 6;
      codepoint |= (unsigned int )((int const   )*buf___19 & 63);
      tmp___0 = buf___19;
      buf___19 ++;
      if (((int const   )*tmp___0 & 192) != 128) {
        return (bad_offset);
      }
      bytes --;
      if (! bytes) {
        goto while_break___1;
      }
    }
    while_break___1: /* CIL Label */ ;
    }
    if (codepoint < min_val) {
      return (bad_offset);
    } else
    if (codepoint > max_val) {
      return (bad_offset);
    }
    if ((codepoint & 2095104U) == 55296U) {
      return (bad_offset);
    }
    if ((codepoint & 65534U) == 65534U) {
      return (bad_offset);
    }
    if (codepoint >= 64976U) {
      if (codepoint <= 65007U) {
        return (bad_offset);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (-1);
}
}
static int verify_utf8(struct strbuf *buf___19 )
{
  int ok ;
  long pos ;
  int bad ;
  unsigned char c___0 ;
  unsigned char replace[2] ;

  {
  ok = 1;
  pos = 0L;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    bad = find_invalid_utf8((char const   *)(buf___19->buf + pos), (int )(buf___19->len - (size_t )pos));
    if (bad < 0) {
      return (ok);
    }
    pos += (long )bad;
    ok = 0;
    c___0 = (unsigned char )*(buf___19->buf + pos);
    strbuf_remove(buf___19, (size_t )pos, (size_t )1);
    replace[0] = (unsigned char )(0xc0 + ((int )c___0 >> 6));
    replace[1] = (unsigned char )(0x80 + ((int )c___0 & 0x3f));
    strbuf_insert(buf___19, (size_t )pos, (void const   *)(replace), (size_t )2);
    pos += 2L;
  }
  while_break: /* CIL Label */ ;
  }
}
}
static char const   commit_utf8_warn[184]  =
  {      (char const   )'W',      (char const   )'a',      (char const   )'r',      (char const   )'n',
        (char const   )'i',      (char const   )'n',      (char const   )'g',      (char const   )':',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'m',
        (char const   )'m',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'m',      (char const   )'e',      (char const   )'s',      (char const   )'s',
        (char const   )'a',      (char const   )'g',      (char const   )'e',      (char const   )' ',
        (char const   )'d',      (char const   )'i',      (char const   )'d',      (char const   )' ',
        (char const   )'n',      (char const   )'o',      (char const   )'t',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'n',      (char const   )'f',
        (char const   )'o',      (char const   )'r',      (char const   )'m',      (char const   )' ',
        (char const   )'t',      (char const   )'o',      (char const   )' ',      (char const   )'U',
        (char const   )'T',      (char const   )'F',      (char const   )'-',      (char const   )'8',
        (char const   )'.',      (char const   )'\n',      (char const   )'Y',      (char const   )'o',
        (char const   )'u',      (char const   )' ',      (char const   )'m',      (char const   )'a',
        (char const   )'y',      (char const   )' ',      (char const   )'w',      (char const   )'a',
        (char const   )'n',      (char const   )'t',      (char const   )' ',      (char const   )'t',
        (char const   )'o',      (char const   )' ',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )'n',      (char const   )'d',      (char const   )' ',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'a',
        (char const   )'f',      (char const   )'t',      (char const   )'e',      (char const   )'r',
        (char const   )' ',      (char const   )'f',      (char const   )'i',      (char const   )'x',
        (char const   )'i',      (char const   )'n',      (char const   )'g',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'m',      (char const   )'e',      (char const   )'s',      (char const   )'s',
        (char const   )'a',      (char const   )'g',      (char const   )'e',      (char const   )',',
        (char const   )' ',      (char const   )'o',      (char const   )'r',      (char const   )' ',
        (char const   )'s',      (char const   )'e',      (char const   )'t',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'n',      (char const   )'f',
        (char const   )'i',      (char const   )'g',      (char const   )'\n',      (char const   )'v',
        (char const   )'a',      (char const   )'r',      (char const   )'i',      (char const   )'a',
        (char const   )'b',      (char const   )'l',      (char const   )'e',      (char const   )' ',
        (char const   )'i',      (char const   )'1',      (char const   )'8',      (char const   )'n',
        (char const   )'.',      (char const   )'c',      (char const   )'o',      (char const   )'m',
        (char const   )'m',      (char const   )'i',      (char const   )'t',      (char const   )'e',
        (char const   )'n',      (char const   )'c',      (char const   )'o',      (char const   )'d',
        (char const   )'i',      (char const   )'n',      (char const   )'g',      (char const   )' ',
        (char const   )'t',      (char const   )'o',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'e',
        (char const   )'n',      (char const   )'c',      (char const   )'o',      (char const   )'d',
        (char const   )'i',      (char const   )'n',      (char const   )'g',      (char const   )' ',
        (char const   )'y',      (char const   )'o',      (char const   )'u',      (char const   )'r',
        (char const   )' ',      (char const   )'p',      (char const   )'r',      (char const   )'o',
        (char const   )'j',      (char const   )'e',      (char const   )'c',      (char const   )'t',
        (char const   )' ',      (char const   )'u',      (char const   )'s',      (char const   )'e',
        (char const   )'s',      (char const   )'.',      (char const   )'\n',      (char const   )'\000'};
int commit_tree_extended(char const   *msg___5 , size_t msg_len , struct object_id  const  *tree ,
                         struct commit_list *parents , struct object_id *ret___67 ,
                         char const   *author , char const   *committer , char const   *sign_commit___2 ,
                         struct commit_extra_header *extra___2 )
{
  int result___0 ;
  int encoding_is_utf8 ;
  struct strbuf buffer___5 ;
  int tmp ;
  void *tmp___0 ;
  char *tmp___1 ;
  struct commit *parent ;
  struct commit *tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  assert_oid_type(tree, (enum object_type )2);
  tmp___0 = memchr((void const   *)msg___5, '\000', msg_len);
  if (tmp___0) {
    error((char const   *)"a NUL byte in commit log message not allowed.");
    tmp = const_error();
    return (tmp);
  }
  encoding_is_utf8 = is_encoding_utf8(git_commit_encoding);
  strbuf_init(& buffer___5, (size_t )8192);
  tmp___1 = oid_to_hex(tree);
  strbuf_addf(& buffer___5, (char const   *)"tree %s\n", tmp___1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! parents) {
      goto while_break;
    }
    tmp___2 = pop_commit(& parents);
    parent = tmp___2;
    tmp___3 = oid_to_hex((struct object_id  const  *)(& parent->object.oid));
    strbuf_addf(& buffer___5, (char const   *)"parent %s\n", tmp___3);
  }
  while_break: /* CIL Label */ ;
  }
  if (! author) {
    author = git_author_info(1);
  }
  strbuf_addf(& buffer___5, (char const   *)"author %s\n", author);
  if (! committer) {
    committer = git_committer_info(1);
  }
  strbuf_addf(& buffer___5, (char const   *)"committer %s\n", committer);
  if (! encoding_is_utf8) {
    strbuf_addf(& buffer___5, (char const   *)"encoding %s\n", git_commit_encoding);
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! extra___2) {
      goto while_break___0;
    }
    add_extra_header(& buffer___5, extra___2);
    extra___2 = extra___2->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_addch(& buffer___5, '\n');
  strbuf_add(& buffer___5, (void const   *)msg___5, msg_len);
  if (encoding_is_utf8) {
    tmp___5 = verify_utf8(& buffer___5);
    if (! tmp___5) {
      tmp___4 = _(commit_utf8_warn);
      fprintf(stderr, (char const   *)tmp___4);
    }
  }
  if (sign_commit___2) {
    tmp___6 = sign_with_header(& buffer___5, sign_commit___2);
    if (tmp___6) {
      result___0 = -1;
      goto out;
    }
  }
  result___0 = write_object_file((void const   *)buffer___5.buf, buffer___5.len, commit_type,
                                 ret___67);
  out:
  strbuf_release(& buffer___5);
  return (result___0);
}
}
static void init_merge_desc_slab_with_stride(struct merge_desc_slab *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_merge_desc_slab_with_stride(struct merge_desc_slab *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(struct merge_remote_desc *) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (struct merge_remote_desc ***)((void *)0);
  return;
}
}
static void init_merge_desc_slab(struct merge_desc_slab *s___1 )  __attribute__((__unused__)) ;
static void init_merge_desc_slab(struct merge_desc_slab *s___1 )
{


  {
  init_merge_desc_slab_with_stride(s___1, 1U);
  return;
}
}
static void clear_merge_desc_slab(struct merge_desc_slab *s___1 )  __attribute__((__unused__)) ;
static void clear_merge_desc_slab(struct merge_desc_slab *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (struct merge_remote_desc ***)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_merge_desc_slab(struct merge_desc_slab *s___1 , void (*free_fn)(struct merge_remote_desc ** ) )  __attribute__((__unused__)) ;
static void deep_clear_merge_desc_slab(struct merge_desc_slab *s___1 , void (*free_fn)(struct merge_remote_desc ** ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_merge_desc_slab(s___1);
  return;
}
}
static struct merge_remote_desc **merge_desc_slab_at_peek(struct merge_desc_slab *s___1 ,
                                                          struct commit  const  *c___0 ,
                                                          int add_if_missing )  __attribute__((__unused__)) ;
static struct merge_remote_desc **merge_desc_slab_at_peek(struct merge_desc_slab *s___1 ,
                                                          struct commit  const  *c___0 ,
                                                          int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((struct merge_remote_desc **)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (struct merge_remote_desc ***)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (struct merge_remote_desc **)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((struct merge_remote_desc **)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (struct merge_remote_desc **)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static struct merge_remote_desc **merge_desc_slab_at(struct merge_desc_slab *s___1 ,
                                                     struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct merge_remote_desc **merge_desc_slab_at(struct merge_desc_slab *s___1 ,
                                                     struct commit  const  *c___0 )
{
  struct merge_remote_desc **tmp ;

  {
  tmp = merge_desc_slab_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static struct merge_remote_desc **merge_desc_slab_peek(struct merge_desc_slab *s___1 ,
                                                       struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct merge_remote_desc **merge_desc_slab_peek(struct merge_desc_slab *s___1 ,
                                                       struct commit  const  *c___0 )
{
  struct merge_remote_desc **tmp ;

  {
  tmp = merge_desc_slab_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
static struct merge_desc_slab merge_desc_slab  =    {(unsigned int )(524256UL / sizeof(*(*(merge_desc_slab.slab)))), 1U, 0U, (struct merge_remote_desc ***)((void *)0)};
struct merge_remote_desc *merge_remote_util(struct commit *commit )
{
  struct merge_remote_desc **tmp ;

  {
  tmp = merge_desc_slab_at(& merge_desc_slab, (struct commit  const  *)commit);
  return (*tmp);
}
}
void set_merge_remote_desc(struct commit *commit , char const   *name___0 , struct object *obj )
{
  struct merge_remote_desc *desc___0 ;
  size_t flex_array_len_ ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  struct merge_remote_desc **tmp___3 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = strlen(name___0);
    flex_array_len_ = tmp;
    tmp___0 = st_add(sizeof(*desc___0), flex_array_len_);
    tmp___1 = st_add(tmp___0, (size_t )1);
    tmp___2 = xcalloc((size_t )1, tmp___1);
    desc___0 = (struct merge_remote_desc *)tmp___2;
    memcpy((void *)(desc___0->name), (void const   *)name___0, flex_array_len_);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  desc___0->obj = obj;
  tmp___3 = merge_desc_slab_at(& merge_desc_slab, (struct commit  const  *)commit);
  *tmp___3 = desc___0;
  return;
}
}
struct commit *get_merge_parent(char const   *name___0 )
{
  struct object *obj ;
  struct commit *commit ;
  struct object_id oid ;
  int tmp ;
  struct object *tmp___0 ;
  struct merge_remote_desc *tmp___1 ;

  {
  tmp = repo_get_oid(the_repository, name___0, & oid);
  if (tmp) {
    return ((struct commit *)((void *)0));
  }
  obj = parse_object(the_repository, (struct object_id  const  *)(& oid));
  tmp___0 = repo_peel_to_type(the_repository, name___0, 0, obj, (enum object_type )1);
  commit = (struct commit *)tmp___0;
  if (commit) {
    tmp___1 = merge_remote_util(commit);
    if (! tmp___1) {
      set_merge_remote_desc(commit, name___0, obj);
    }
  }
  return (commit);
}
}
struct commit_list **commit_list_append(struct commit *commit , struct commit_list **next___2 )
{
  struct commit_list *new_commit ;
  void *tmp ;

  {
  tmp = xmalloc(sizeof(struct commit_list ));
  new_commit = (struct commit_list *)tmp;
  new_commit->item = commit;
  *next___2 = new_commit;
  new_commit->next = (struct commit_list *)((void *)0);
  return (& new_commit->next);
}
}
char const   *find_commit_header(char const   *msg___5 , char const   *key___1 , size_t *out_len )
{
  int key_len ;
  size_t tmp ;
  char const   *line___0 ;
  char const   *eol ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  tmp = strlen(key___1);
  key_len = (int )tmp;
  line___0 = msg___5;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! line___0) {
      goto while_break;
    }
    tmp___0 = strchrnul(line___0, '\n');
    eol = (char const   *)tmp___0;
    if ((unsigned long )line___0 == (unsigned long )eol) {
      return ((char const   *)((void *)0));
    }
    if (eol - line___0 > (long )key_len) {
      tmp___1 = strncmp(line___0, key___1, (size_t )key_len);
      if (! tmp___1) {
        if ((int const   )*(line___0 + key_len) == 32) {
          *out_len = (size_t )(((eol - line___0) - (long )key_len) - 1L);
          return ((line___0 + key_len) + 1);
        }
      }
    }
    if (*eol) {
      line___0 = eol + 1;
    } else {
      line___0 = (char const   *)((void *)0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return ((char const   *)((void *)0));
}
}
size_t ignore_non_trailer(char const   *buf___19 , size_t len___0 )
{
  size_t boc ;
  size_t bol ;
  int in_old_conflicts_block ;
  size_t cutoff___0 ;
  size_t tmp ;
  char const   *next_line___1 ;
  void *tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;

  {
  boc = (size_t )0;
  bol = (size_t )0;
  in_old_conflicts_block = 0;
  tmp = wt_status_locate_end(buf___19, len___0);
  cutoff___0 = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (bol < cutoff___0)) {
      goto while_break;
    }
    tmp___0 = memchr((void const   *)(buf___19 + bol), '\n', len___0 - bol);
    next_line___1 = (char const   *)tmp___0;
    if (! next_line___1) {
      next_line___1 = buf___19 + len___0;
    } else {
      next_line___1 ++;
    }
    if ((int const   )*(buf___19 + bol) == (int const   )comment_line_char) {
      goto _L___0;
    } else
    if ((int const   )*(buf___19 + bol) == 10) {
      _L___0: /* CIL Label */
      if (! boc) {
        boc = bol;
      }
    } else {
      tmp___1 = starts_with(buf___19 + bol, (char const   *)"Conflicts:\n");
      if (tmp___1) {
        in_old_conflicts_block = 1;
        if (! boc) {
          boc = bol;
        }
      } else
      if (in_old_conflicts_block) {
        if (! ((int const   )*(buf___19 + bol) == 9)) {
          goto _L;
        }
      } else
      _L: /* CIL Label */
      if (boc) {
        boc = (size_t )0;
        in_old_conflicts_block = 0;
      }
    }
    bol = (size_t )(next_line___1 - buf___19);
  }
  while_break: /* CIL Label */ ;
  }
  if (boc) {
    tmp___2 = len___0 - boc;
  } else {
    tmp___2 = len___0 - cutoff___0;
  }
  return (tmp___2);
}
}
int __attribute__((__sentinel__))  run_commit_hook(int editor_is_used , char const   *index_file ,
                                                   char const   *name___0  , ...)
{
  struct strvec hook_env ;
  va_list args___0 ;
  int ret___67 ;

  {
  hook_env.v = empty_strvec;
  hook_env.nr = 0UL;
  hook_env.alloc = 0UL;
  strvec_pushf(& hook_env, (char const   *)"GIT_INDEX_FILE=%s", index_file);
  if (! editor_is_used) {
    strvec_push(& hook_env, (char const   *)"GIT_EDITOR=:");
  }
  __builtin_va_start(args___0, name___0);
  ret___67 = run_hook_ve((char const   **)hook_env.v, name___0, args___0);
  __builtin_va_end(args___0);
  strvec_clear(& hook_env);
  return ((int __attribute__((__sentinel__))  )ret___67);
}
}
extern void _obstack_newchunk(struct obstack * , int  ) ;
extern int _obstack_begin(struct obstack * , int  , int  , void *(*)(long  ) , void (*)(void * ) ) ;
extern int _obstack_begin_1(struct obstack * , int  , int  , void *(*)(void * , long  ) ,
                            void (*)(void * , void * ) , void * ) ;
extern int _obstack_memory_used(struct obstack * ) ;
extern void obstack_free(struct obstack * , void * ) ;
extern void (*obstack_alloc_failed_handler)(void) ;
int sigchain_push(int sig , void (*f)(int  ) ) ;
int sigchain_pop(int sig ) ;
void sigchain_push_common(void (*f)(int  ) ) ;
void sigchain_pop_common(void) ;
__inline static void strbuf_setlen___33(struct strbuf *sb___6 , size_t len___0 )
{
  size_t tmp ;

  {
  if (sb___6->alloc) {
    tmp = sb___6->alloc - 1UL;
  } else {
    tmp = (size_t )0;
  }
  if (len___0 > tmp) {
    BUG_fl((char const   *)"./strbuf.h", 163, (char const   *)"strbuf_setlen() beyond buffer");
  }
  sb___6->len = len___0;
  if ((unsigned long )sb___6->buf != (unsigned long )(strbuf_slopbuf)) {
    *(sb___6->buf + len___0) = (char )'\000';
  } else {
    assert(! strbuf_slopbuf[0]);
  }
  return;
}
}
__inline static int strbuf_strip_suffix___33(struct strbuf *sb___6 , char const   *suffix___3 )
{
  int tmp ;

  {
  tmp = strip_suffix_mem((char const   *)sb___6->buf, & sb___6->len, suffix___3);
  if (tmp) {
    strbuf_setlen___33(sb___6, sb___6->len);
    return (1);
  } else {
    return (0);
  }
}
}
__inline static unsigned int hashmap_get_size___33(struct hashmap *map___0 )
{


  {
  if (map___0->do_count_items) {
    return (map___0->private_size);
  }
  BUG_fl((char const   *)"./hashmap.h", 329, (char const   *)"hashmap_get_size: size not set");
  return (0U);
}
}
static void restore_term_on_signal(int sig )
{


  {
  restore_term();
  sigchain_pop(sig);
  raise(sig);
  return;
}
}
static int term_fd  =    -1;
static struct termios old_term  ;
void restore_term(void)
{


  {
  if (term_fd < 0) {
    return;
  }
  tcsetattr(term_fd, 2, (struct termios  const  *)(& old_term));
  close(term_fd);
  term_fd = -1;
  return;
}
}
int save_term(int full_duplex )
{
  int tmp ;
  int tmp___0 ;

  {
  if (term_fd < 0) {
    term_fd = open((char const   *)"/dev/tty", 02);
  }
  if (term_fd < 0) {
    tmp___0 = -1;
  } else {
    tmp = tcgetattr(term_fd, & old_term);
    tmp___0 = tmp;
  }
  return (tmp___0);
}
}
static int disable_bits(tcflag_t bits )
{
  struct termios t ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = save_term(0);
  if (tmp < 0) {
    goto error;
  }
  t = old_term;
  sigchain_push_common(& restore_term_on_signal);
  t.c_lflag &= ~ bits;
  tmp___0 = tcsetattr(term_fd, 2, (struct termios  const  *)(& t));
  if (! tmp___0) {
    return (0);
  }
  error:
  close(term_fd);
  term_fd = -1;
  return (-1);
}
}
static int disable_echo(void)
{
  int tmp ;

  {
  tmp = disable_bits((tcflag_t )0000010);
  return (tmp);
}
}
static int enable_non_canonical(void)
{
  int tmp ;

  {
  tmp = disable_bits((tcflag_t )10);
  return (tmp);
}
}
static struct strbuf buf___0  =    {0UL, 0UL, strbuf_slopbuf};
char *git_terminal_prompt(char const   *prompt , int echo )
{
  int r ;
  FILE *input_fh ;
  FILE *output_fh ;
  int tmp ;

  {
  input_fh = git_fopen((char const   *)"/dev/tty", (char const   *)"r");
  if (! input_fh) {
    return ((char *)((void *)0));
  }
  output_fh = git_fopen((char const   *)"/dev/tty", (char const   *)"w");
  if (! output_fh) {
    fclose(input_fh);
    return ((char *)((void *)0));
  }
  if (! echo) {
    tmp = disable_echo();
    if (tmp) {
      fclose(input_fh);
      fclose(output_fh);
      return ((char *)((void *)0));
    }
  }
  fputs((char const   * __restrict  )prompt, (FILE * __restrict  )output_fh);
  fflush(output_fh);
  r = strbuf_getline_lf(& buf___0, input_fh);
  if (! echo) {
    _IO_putc('\n', output_fh);
    fflush(output_fh);
  }
  restore_term();
  fclose(input_fh);
  fclose(output_fh);
  if (r == -1) {
    return ((char *)((void *)0));
  }
  return (buf___0.buf);
}
}
static int sequence_entry_cmp(void const   *hashmap_cmp_fn_data , struct escape_sequence_entry  const  *e1 ,
                              struct escape_sequence_entry  const  *e2 , void const   *keydata )
{
  void *tmp ;
  int tmp___0 ;

  {
  if (keydata) {
    tmp = (void *)keydata;
  } else {
    tmp = (void *)(e2->sequence);
  }
  tmp___0 = strcmp((char const   *)(e1->sequence), (char const   *)tmp);
  return (tmp___0);
}
}
static struct hashmap sequences  ;
static int initialized  ;
static int is_known_escape_sequence(char const   *sequence )
{
  struct child_process cp ;
  struct strbuf buf___19 ;
  char *p___0 ;
  char *eol ;
  int tmp ;
  char *comma ;
  void *tmp___0 ;
  struct escape_sequence_entry *e ;
  size_t flex_array_len_ ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;
  unsigned int tmp___4 ;
  int tmp___5 ;
  unsigned int tmp___6 ;
  struct hashmap_entry *tmp___7 ;
  int tmp___8 ;

  {
  if (! initialized) {
    cp.args.v = empty_strvec;
    cp.args.nr = 0UL;
    cp.args.alloc = 0UL;
    cp.env_array.v = empty_strvec;
    cp.env_array.nr = 0UL;
    cp.env_array.alloc = 0UL;
    cp.pid = 0;
    cp.trace2_child_id = 0;
    cp.trace2_child_us_start = 0UL;
    cp.trace2_child_class = (char const   *)0;
    cp.trace2_hook_name = (char const   *)0;
    cp.in = 0;
    cp.out = 0;
    cp.err = 0;
    cp.dir = (char const   *)0;
    cp.no_stdin = 0U;
    cp.no_stdout = 0U;
    cp.no_stderr = 0U;
    cp.git_cmd = 0U;
    cp.silent_exec_failure = 0U;
    cp.use_shell = 0U;
    cp.close_object_store = 0U;
    cp.stdout_to_stderr = 0U;
    cp.clean_on_exit = 0U;
    cp.wait_after_clean = 0U;
    cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    cp.clean_on_exit_handler_cbdata = (void *)0;
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    hashmap_init(& sequences, (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                       struct hashmap_entry  const  *entry_or_key ,
                                       void const   *keydata ))(& sequence_entry_cmp),
                 (void const   *)((void *)0), (size_t )0);
    strvec_pushl(& cp.args, "infocmp", "-L", "-1", (void *)0);
    tmp = pipe_command(& cp, (char const   *)((void *)0), (size_t )0, & buf___19,
                       (size_t )0, (struct strbuf *)((void *)0), (size_t )0);
    if (tmp) {
      strbuf_setlen___33(& buf___19, (size_t )0);
    }
    p___0 = buf___19.buf;
    eol = p___0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! *p___0) {
        goto while_break;
      }
      p___0 = strchr((char const   *)p___0, '=');
      if (! p___0) {
        goto while_break;
      }
      p___0 ++;
      eol = strchrnul((char const   *)p___0, '\n');
      tmp___5 = starts_with((char const   *)p___0, (char const   *)"\\E");
      if (tmp___5) {
        tmp___0 = memchr((void const   *)p___0, ',', (size_t )(eol - p___0));
        comma = (char *)tmp___0;
        *(p___0 + 0) = (char )'^';
        *(p___0 + 1) = (char )'[';
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          flex_array_len_ = (size_t )(comma - p___0);
          tmp___1 = st_add(sizeof(*e), flex_array_len_);
          tmp___2 = st_add(tmp___1, (size_t )1);
          tmp___3 = xcalloc((size_t )1, tmp___2);
          e = (struct escape_sequence_entry *)tmp___3;
          memcpy((void *)(e->sequence), (void const   *)p___0, flex_array_len_);
          goto while_break___0;
        }
        while_break___0: /* CIL Label */ ;
        }
        tmp___4 = strhash((char const   *)(e->sequence));
        hashmap_entry_init(& e->entry, tmp___4);
        hashmap_add(& sequences, & e->entry);
      }
      if (! *eol) {
        goto while_break;
      }
      p___0 = eol + 1;
    }
    while_break: /* CIL Label */ ;
    }
    initialized = 1;
  }
  tmp___6 = strhash(sequence);
  tmp___7 = hashmap_get_from_hash((struct hashmap  const  *)(& sequences), tmp___6,
                                  (void const   *)sequence);
  if (tmp___7) {
    tmp___8 = 1;
  } else {
    tmp___8 = 0;
  }
  return (tmp___8);
}
}
static int warning_displayed  ;
int read_key_without_echo(struct strbuf *buf___19 )
{
  int ch___0 ;
  int tmp ;
  int tmp___0 ;
  struct pollfd pfd ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (warning_displayed) {
    goto _L;
  } else {
    tmp___0 = enable_non_canonical();
    if (tmp___0 < 0) {
      _L: /* CIL Label */
      if (! warning_displayed) {
        warning((char const   *)"reading single keystrokes not supported on this platform; reading line instead");
        warning_displayed = 1;
      }
      tmp = strbuf_getline(buf___19, stdin);
      return (tmp);
    }
  }
  strbuf_setlen___33(buf___19, (size_t )0);
  ch___0 = getchar();
  if (ch___0 == -1) {
    restore_term();
    return (-1);
  }
  strbuf_addch(buf___19, ch___0);
  if (ch___0 == 27) {
    strbuf_splice(buf___19, buf___19->len - 1UL, (size_t )1, (void const   *)"^[",
                  (size_t )2);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___2 = is_known_escape_sequence((char const   *)buf___19->buf);
      if (tmp___2) {
        goto while_break;
      }
      pfd.fd = 0;
      pfd.events = (short)1;
      pfd.revents = (short)0;
      tmp___1 = poll(& pfd, (nfds_t )1, 500);
      if (tmp___1 < 1) {
        goto while_break;
      }
      ch___0 = getchar();
      if (ch___0 == -1) {
        return (0);
      }
      strbuf_addch(buf___19, ch___0);
    }
    while_break: /* CIL Label */ ;
    }
  }
  restore_term();
  return (0);
}
}
char const   *getenv_safe(struct strvec *argv___0 , char const   *name___0 ) ;
static double const   __ac_HASH_UPPER___18  =    (double const   )0.77;
__inline static void kh_resize_oid_set___18(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___18(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___18 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___18 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___18(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___18(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___18(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___18(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___18(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___18(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___18 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___18 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___18(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___18(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___18(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___18(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___18(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___18(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___18 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___18 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___18(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___18(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___18(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___18(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___15(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___15(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___18 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___18 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___15(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___15(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___15(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___15(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static struct config_source *cf  ;
static struct key_value_info *current_config_kvi  ;
static enum config_scope current_parsing_scope  ;
static int pack_compression_seen  ;
static int zlib_compression_seen  ;
static int config_file_fgetc(struct config_source *conf )
{
  int tmp ;

  {
  tmp = getc_unlocked(conf->u.file);
  return (tmp);
}
}
static int config_file_ungetc(int c___0 , struct config_source *conf )
{
  int tmp ;

  {
  tmp = ungetc(c___0, conf->u.file);
  return (tmp);
}
}
static long config_file_ftell(struct config_source *conf )
{
  long tmp ;

  {
  tmp = ftell(conf->u.file);
  return (tmp);
}
}
static int config_buf_fgetc(struct config_source *conf )
{
  size_t tmp ;

  {
  if (conf->u.buf.pos < conf->u.buf.len) {
    tmp = conf->u.buf.pos;
    (conf->u.buf.pos) ++;
    return ((int )*(conf->u.buf.buf + tmp));
  }
  return (-1);
}
}
static int config_buf_ungetc(int c___0 , struct config_source *conf )
{


  {
  if (conf->u.buf.pos > 0UL) {
    (conf->u.buf.pos) --;
    if ((int const   )*(conf->u.buf.buf + conf->u.buf.pos) != (int const   )c___0) {
      BUG_fl((char const   *)"config.c", 111, (char const   *)"config_buf can only ungetc the same character");
    }
    return (c___0);
  }
  return (-1);
}
}
static long config_buf_ftell(struct config_source *conf )
{


  {
  return ((long )conf->u.buf.pos);
}
}
static char const   include_depth_advice[105]  =
  {      (char const   )'e',      (char const   )'x',      (char const   )'c',      (char const   )'e',
        (char const   )'e',      (char const   )'d',      (char const   )'e',      (char const   )'d',
        (char const   )' ',      (char const   )'m',      (char const   )'a',      (char const   )'x',
        (char const   )'i',      (char const   )'m',      (char const   )'u',      (char const   )'m',
        (char const   )' ',      (char const   )'i',      (char const   )'n',      (char const   )'c',
        (char const   )'l',      (char const   )'u',      (char const   )'d',      (char const   )'e',
        (char const   )' ',      (char const   )'d',      (char const   )'e',      (char const   )'p',
        (char const   )'t',      (char const   )'h',      (char const   )' ',      (char const   )'(',
        (char const   )'%',      (char const   )'d',      (char const   )')',      (char const   )' ',
        (char const   )'w',      (char const   )'h',      (char const   )'i',      (char const   )'l',
        (char const   )'e',      (char const   )' ',      (char const   )'i',      (char const   )'n',
        (char const   )'c',      (char const   )'l',      (char const   )'u',      (char const   )'d',
        (char const   )'i',      (char const   )'n',      (char const   )'g',      (char const   )'\n',
        (char const   )'\t',      (char const   )'%',      (char const   )'s',      (char const   )'\n',
        (char const   )'f',      (char const   )'r',      (char const   )'o',      (char const   )'m',
        (char const   )'\n',      (char const   )'\t',      (char const   )'%',      (char const   )'s',
        (char const   )'\n',      (char const   )'T',      (char const   )'h',      (char const   )'i',
        (char const   )'s',      (char const   )' ',      (char const   )'m',      (char const   )'i',
        (char const   )'g',      (char const   )'h',      (char const   )'t',      (char const   )' ',
        (char const   )'b',      (char const   )'e',      (char const   )' ',      (char const   )'d',
        (char const   )'u',      (char const   )'e',      (char const   )' ',      (char const   )'t',
        (char const   )'o',      (char const   )' ',      (char const   )'c',      (char const   )'i',
        (char const   )'r',      (char const   )'c',      (char const   )'u',      (char const   )'l',
        (char const   )'a',      (char const   )'r',      (char const   )' ',      (char const   )'i',
        (char const   )'n',      (char const   )'c',      (char const   )'l',      (char const   )'u',
        (char const   )'d',      (char const   )'e',      (char const   )'s',      (char const   )'.',
        (char const   )'\000'};
static int handle_path_include(char const   *path___6 , struct config_include_data *inc )
{
  int ret___67 ;
  struct strbuf buf___19 ;
  char *expanded ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char *slash ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const   *tmp___4 ;
  char const   *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;

  {
  ret___67 = 0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (! path___6) {
    config_error_nonbool((char const   *)"include.path");
    tmp = const_error();
    return (tmp);
  }
  expanded = interpolate_path(path___6, 0);
  if (! expanded) {
    tmp___0 = _((char const   *)"could not expand include path \'%s\'");
    error((char const   *)tmp___0, path___6);
    tmp___1 = const_error();
    return (tmp___1);
  }
  path___6 = (char const   *)expanded;
  tmp___3 = is_absolute_path(path___6);
  if (! tmp___3) {
    if (! cf) {
      tmp___2 = _((char const   *)"relative config includes must come from files");
      error((char const   *)tmp___2);
      ret___67 = const_error();
      goto cleanup;
    } else
    if (! cf->path) {
      tmp___2 = _((char const   *)"relative config includes must come from files");
      error((char const   *)tmp___2);
      ret___67 = const_error();
      goto cleanup;
    }
    slash = git_find_last_dir_sep(cf->path);
    if (slash) {
      strbuf_add(& buf___19, (void const   *)cf->path, (size_t )((slash - (char *)cf->path) + 1L));
    }
    strbuf_addstr(& buf___19, path___6);
    path___6 = (char const   *)buf___19.buf;
  }
  tmp___7 = access_or_die(path___6, 4, 0U);
  if (! tmp___7) {
    (inc->depth) ++;
    if (inc->depth > 10) {
      if (! cf) {
        tmp___5 = (char const   *)"<unknown>";
      } else {
        if (cf->name) {
          tmp___4 = cf->name;
        } else {
          tmp___4 = (char const   *)"the command line";
        }
        tmp___5 = tmp___4;
      }
      tmp___6 = _(include_depth_advice);
      die((char const   *)tmp___6, 10, path___6, tmp___5);
    }
    ret___67 = git_config_from_file(& git_config_include, path___6, (void *)inc);
    (inc->depth) --;
  }
  cleanup:
  strbuf_release(& buf___19);
  free((void *)expanded);
  return (ret___67);
}
}
static void add_trailing_starstar_for_dir(struct strbuf *pat )
{
  int tmp ;

  {
  if (pat->len) {
    tmp = git_is_dir_sep((int )*(pat->buf + (pat->len - 1UL)));
    if (tmp) {
      strbuf_addstr(pat, (char const   *)"**");
    }
  }
  return;
}
}
static int prepare_include_condition_pattern(struct strbuf *pat )
{
  struct strbuf path___6 ;
  char *expanded ;
  int prefix___1 ;
  char const   *slash ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  prefix___1 = 0;
  expanded = interpolate_path((char const   *)pat->buf, 1);
  if (expanded) {
    strbuf_setlen(pat, (size_t )0);
    strbuf_addstr(pat, (char const   *)expanded);
    free((void *)expanded);
  }
  if ((int )*(pat->buf + 0) == 46) {
    tmp___3 = git_is_dir_sep((int )*(pat->buf + 1));
    if (tmp___3) {
      if (! cf) {
        tmp = _((char const   *)"relative config include conditionals must come from files");
        error((char const   *)tmp);
        tmp___0 = const_error();
        return (tmp___0);
      } else
      if (! cf->path) {
        tmp = _((char const   *)"relative config include conditionals must come from files");
        error((char const   *)tmp);
        tmp___0 = const_error();
        return (tmp___0);
      }
      strbuf_realpath(& path___6, cf->path, 1);
      tmp___1 = git_find_last_dir_sep((char const   *)path___6.buf);
      slash = (char const   *)tmp___1;
      if (! slash) {
        BUG_fl((char const   *)"config.c", 207, (char const   *)"how is this possible?");
      }
      strbuf_splice(pat, (size_t )0, (size_t )1, (void const   *)path___6.buf, (size_t )(slash - (char const   *)path___6.buf));
      prefix___1 = (int )((slash - (char const   *)path___6.buf) + 1L);
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp___2 = is_absolute_path((char const   *)pat->buf);
    if (! tmp___2) {
      strbuf_insertstr(pat, (size_t )0, (char const   *)"**/");
    }
  }
  add_trailing_starstar_for_dir(pat);
  strbuf_release(& path___6);
  return (prefix___1);
}
}
static int include_by_gitdir(struct config_options  const  *opts___1 , char const   *cond ,
                             size_t cond_len , int icase___0 )
{
  struct strbuf text ;
  struct strbuf pattern___0 ;
  int ret___67 ;
  int prefix___1 ;
  char const   *git_dir ;
  int already_tried_absolute ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  text.alloc = 0UL;
  text.len = 0UL;
  text.buf = strbuf_slopbuf;
  pattern___0.alloc = 0UL;
  pattern___0.len = 0UL;
  pattern___0.buf = strbuf_slopbuf;
  ret___67 = 0;
  already_tried_absolute = 0;
  if (opts___1->git_dir) {
    git_dir = (char const   *)opts___1->git_dir;
  } else {
    goto done;
  }
  strbuf_realpath(& text, git_dir, 1);
  strbuf_add(& pattern___0, (void const   *)cond, cond_len);
  prefix___1 = prepare_include_condition_pattern(& pattern___0);
  again:
  if (prefix___1 < 0) {
    goto done;
  }
  if (prefix___1 > 0) {
    if (text.len < (size_t )prefix___1) {
      goto done;
    }
    if (! icase___0) {
      tmp = strncmp((char const   *)pattern___0.buf, (char const   *)text.buf, (size_t )prefix___1);
      if (tmp) {
        goto done;
      }
    }
    if (icase___0) {
      tmp___0 = strncasecmp((char const   *)pattern___0.buf, (char const   *)text.buf,
                            (size_t )prefix___1);
      if (tmp___0) {
        goto done;
      }
    }
  }
  if (icase___0) {
    tmp___1 = 1;
  } else {
    tmp___1 = 0;
  }
  tmp___2 = wildmatch((char const   *)(pattern___0.buf + prefix___1), (char const   *)(text.buf + prefix___1),
                      (unsigned int )(2 | tmp___1));
  if (tmp___2) {
    tmp___3 = 0;
  } else {
    tmp___3 = 1;
  }
  ret___67 = tmp___3;
  if (! ret___67) {
    if (! already_tried_absolute) {
      strbuf_setlen(& text, (size_t )0);
      strbuf_add_absolute_path(& text, git_dir);
      already_tried_absolute = 1;
      goto again;
    }
  }
  done:
  strbuf_release(& pattern___0);
  strbuf_release(& text);
  return (ret___67);
}
}
static int include_by_branch(char const   *cond , size_t cond_len )
{
  int flags___0 ;
  int ret___67 ;
  struct strbuf pattern___0 ;
  char const   *refname ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const   *shortname ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  pattern___0.alloc = 0UL;
  pattern___0.len = 0UL;
  pattern___0.buf = strbuf_slopbuf;
  if (! the_repository->gitdir) {
    tmp___0 = (char const   *)((void *)0);
  } else {
    tmp = resolve_ref_unsafe((char const   *)"HEAD", 0, (struct object_id *)((void *)0),
                             & flags___0);
    tmp___0 = tmp;
  }
  refname = tmp___0;
  if (! refname) {
    return (0);
  } else
  if (! (flags___0 & 0x01)) {
    return (0);
  } else {
    tmp___1 = skip_prefix(refname, (char const   *)"refs/heads/", & shortname);
    if (! tmp___1) {
      return (0);
    }
  }
  strbuf_add(& pattern___0, (void const   *)cond, cond_len);
  add_trailing_starstar_for_dir(& pattern___0);
  tmp___2 = wildmatch((char const   *)pattern___0.buf, shortname, 2U);
  if (tmp___2) {
    tmp___3 = 0;
  } else {
    tmp___3 = 1;
  }
  ret___67 = tmp___3;
  strbuf_release(& pattern___0);
  return (ret___67);
}
}
static int include_condition_is_true(struct config_options  const  *opts___1 , char const   *cond ,
                                     size_t cond_len )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp___4 = skip_prefix_mem(cond, cond_len, (char const   *)"gitdir:", & cond, & cond_len);
  if (tmp___4) {
    tmp = include_by_gitdir(opts___1, cond, cond_len, 0);
    return (tmp);
  } else {
    tmp___3 = skip_prefix_mem(cond, cond_len, (char const   *)"gitdir/i:", & cond,
                              & cond_len);
    if (tmp___3) {
      tmp___0 = include_by_gitdir(opts___1, cond, cond_len, 1);
      return (tmp___0);
    } else {
      tmp___2 = skip_prefix_mem(cond, cond_len, (char const   *)"onbranch:", & cond,
                                & cond_len);
      if (tmp___2) {
        tmp___1 = include_by_branch(cond, cond_len);
        return (tmp___1);
      }
    }
  }
  return (0);
}
}
int git_config_include(char const   *var , char const   *value , void *data )
{
  struct config_include_data *inc ;
  char const   *cond ;
  char const   *key___1 ;
  size_t cond_len ;
  int ret___67 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  inc = (struct config_include_data *)data;
  ret___67 = (*(inc->fn))(var, value, inc->data);
  if (ret___67 < 0) {
    return (ret___67);
  }
  tmp = strcmp(var, (char const   *)"include.path");
  if (! tmp) {
    ret___67 = handle_path_include(value, inc);
  }
  tmp___0 = parse_config_key(var, (char const   *)"includeif", & cond, & cond_len,
                             & key___1);
  if (! tmp___0) {
    if (cond) {
      tmp___1 = include_condition_is_true(inc->opts, cond, cond_len);
      if (tmp___1) {
        tmp___2 = strcmp(key___1, (char const   *)"path");
        if (! tmp___2) {
          ret___67 = handle_path_include(value, inc);
        }
      }
    }
  }
  return (ret___67);
}
}
static void git_config_push_split_parameter(char const   *key___1 , char const   *value )
{
  struct strbuf env ;
  char const   *old ;
  char *tmp ;

  {
  env.alloc = 0UL;
  env.len = 0UL;
  env.buf = strbuf_slopbuf;
  tmp = getenv((char const   *)"GIT_CONFIG_PARAMETERS");
  old = (char const   *)tmp;
  if (old) {
    if (*old) {
      strbuf_addstr(& env, old);
      strbuf_addch(& env, ' ');
    }
  }
  sq_quote_buf(& env, key___1);
  strbuf_addch(& env, '=');
  if (value) {
    sq_quote_buf(& env, value);
  }
  setenv((char const   *)"GIT_CONFIG_PARAMETERS", (char const   *)env.buf, 1);
  strbuf_release(& env);
  return;
}
}
void git_config_push_parameter(char const   *text )
{
  char const   *value ;
  char *tmp ;
  char *key___1 ;
  void *tmp___0 ;

  {
  tmp = strchr(text, '=');
  value = (char const   *)tmp;
  if (value) {
    tmp___0 = xmemdupz((void const   *)text, (size_t )(value - text));
    key___1 = (char *)tmp___0;
    git_config_push_split_parameter((char const   *)key___1, value + 1);
    free((void *)key___1);
  } else {
    git_config_push_split_parameter(text, (char const   *)((void *)0));
  }
  return;
}
}
void git_config_push_env(char const   *spec )
{
  char *key___1 ;
  char const   *env_name ;
  char const   *env_value ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  void *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  tmp = strrchr(spec, '=');
  env_name = (char const   *)tmp;
  if (! env_name) {
    tmp___0 = _((char const   *)"invalid config format: %s");
    die((char const   *)tmp___0, spec);
  }
  tmp___1 = xmemdupz((void const   *)spec, (size_t )(env_name - spec));
  key___1 = (char *)tmp___1;
  env_name ++;
  if (! *env_name) {
    tmp___2 = _((char const   *)"missing environment variable name for configuration \'%.*s\'");
    die((char const   *)tmp___2, (int )((env_name - spec) - 1L), spec);
  }
  tmp___3 = getenv(env_name);
  env_value = (char const   *)tmp___3;
  if (! env_value) {
    tmp___4 = _((char const   *)"missing environment variable \'%s\' for configuration \'%.*s\'");
    die((char const   *)tmp___4, env_name, (int )((env_name - spec) - 1L), spec);
  }
  git_config_push_split_parameter((char const   *)key___1, env_value);
  free((void *)key___1);
  return;
}
}
__inline static int iskeychar(int c___0 )
{
  int tmp ;

  {
  if (((int const   )sane_ctype[(unsigned char )c___0] & 6) != 0) {
    tmp = 1;
  } else
  if (c___0 == 45) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
int git_config_parse_key(char const   *key___1 , char **store_key , size_t *baselen_ )
{
  size_t i ;
  size_t baselen ;
  int dot ;
  char const   *last_dot ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;
  unsigned char c___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;

  {
  tmp = strrchr(key___1, '.');
  last_dot = (char const   *)tmp;
  if ((unsigned long )last_dot == (unsigned long )((void *)0)) {
    tmp___0 = _((char const   *)"key does not contain a section: %s");
    error((char const   *)tmp___0, key___1);
    const_error();
    return (-2);
  } else
  if ((unsigned long )last_dot == (unsigned long )key___1) {
    tmp___0 = _((char const   *)"key does not contain a section: %s");
    error((char const   *)tmp___0, key___1);
    const_error();
    return (-2);
  }
  if (! *(last_dot + 1)) {
    tmp___1 = _((char const   *)"key does not contain variable name: %s");
    error((char const   *)tmp___1, key___1);
    const_error();
    return (-2);
  }
  baselen = (size_t )(last_dot - key___1);
  if (baselen_) {
    *baselen_ = baselen;
  }
  tmp___2 = strlen(key___1);
  tmp___3 = xmallocz(tmp___2);
  *store_key = (char *)tmp___3;
  dot = 0;
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(key___1 + i)) {
      goto while_break;
    }
    c___0 = (unsigned char )*(key___1 + i);
    if ((int )c___0 == 46) {
      dot = 1;
    }
    if (! dot) {
      goto _L;
    } else
    if (i > baselen) {
      _L: /* CIL Label */
      tmp___5 = iskeychar((int )c___0);
      if (tmp___5) {
        if (i == baselen + 1UL) {
          if (! (((int const   )sane_ctype[c___0] & 4) != 0)) {
            tmp___4 = _((char const   *)"invalid key: %s");
            error((char const   *)tmp___4, key___1);
            const_error();
            goto out_free_ret_1;
          }
        }
      } else {
        tmp___4 = _((char const   *)"invalid key: %s");
        error((char const   *)tmp___4, key___1);
        const_error();
        goto out_free_ret_1;
      }
      tmp___6 = sane_case((int )c___0, 0x20);
      c___0 = (unsigned char )tmp___6;
    } else
    if ((int )c___0 == 10) {
      tmp___7 = _((char const   *)"invalid key (newline): %s");
      error((char const   *)tmp___7, key___1);
      const_error();
      goto out_free_ret_1;
    }
    *(*store_key + i) = (char )c___0;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
  out_free_ret_1:
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)*store_key);
    *store_key = (char *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (-1);
}
}
static int config_parse_pair(char const   *key___1 , char const   *value , int (*fn)(char const   * ,
                                                                                     char const   * ,
                                                                                     void * ) ,
                             void *data )
{
  char *canonical_name___0 ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  size_t tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp___1 = strlen(key___1);
  if (! tmp___1) {
    tmp = _((char const   *)"empty config key");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  tmp___2 = git_config_parse_key(key___1, & canonical_name___0, (size_t *)((void *)0));
  if (tmp___2) {
    return (-1);
  }
  tmp___4 = (*fn)((char const   *)canonical_name___0, value, data);
  if (tmp___4 < 0) {
    ret___67 = -1;
  } else {
    ret___67 = 0;
  }
  free((void *)canonical_name___0);
  return (ret___67);
}
}
int git_config_parse_parameter(char const   *text , int (*fn)(char const   * , char const   * ,
                                                              void * ) , void *data )
{
  char const   *value ;
  struct strbuf **pair ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  pair = strbuf_split_str(text, '=', 2);
  if (! *(pair + 0)) {
    tmp = _((char const   *)"bogus config parameter: %s");
    error((char const   *)tmp, text);
    tmp___0 = const_error();
    return (tmp___0);
  }
  if ((*(pair + 0))->len) {
    if ((int )*((*(pair + 0))->buf + ((*(pair + 0))->len - 1UL)) == 61) {
      strbuf_setlen(*(pair + 0), (*(pair + 0))->len - 1UL);
      if (*(pair + 1)) {
        value = (char const   *)(*(pair + 1))->buf;
      } else {
        value = (char const   *)"";
      }
    } else {
      value = (char const   *)((void *)0);
    }
  } else {
    value = (char const   *)((void *)0);
  }
  strbuf_trim(*(pair + 0));
  if (! (*(pair + 0))->len) {
    strbuf_list_free(pair);
    tmp___1 = _((char const   *)"bogus config parameter: %s");
    error((char const   *)tmp___1, text);
    tmp___2 = const_error();
    return (tmp___2);
  }
  ret___67 = config_parse_pair((char const   *)(*(pair + 0))->buf, value, fn, data);
  strbuf_list_free(pair);
  return (ret___67);
}
}
static int parse_config_env_list(char *env , int (*fn)(char const   * , char const   * ,
                                                       void * ) , void *data )
{
  char *cur ;
  char const   *key___1 ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const   *value ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;

  {
  cur = env;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (cur) {
      if (! *cur) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = sq_dequote_step(cur, & cur);
    key___1 = (char const   *)tmp;
    if (! key___1) {
      tmp___0 = _((char const   *)"bogus format in %s");
      error((char const   *)tmp___0, "GIT_CONFIG_PARAMETERS");
      tmp___1 = const_error();
      return (tmp___1);
    }
    if (! cur) {
      goto _L;
    } else
    if (((int const   )sane_ctype[(unsigned char )*cur] & 1) != 0) {
      _L: /* CIL Label */
      tmp___2 = git_config_parse_parameter(key___1, fn, data);
      if (tmp___2 < 0) {
        return (-1);
      }
    } else
    if ((int )*cur == 61) {
      cur ++;
      if ((int )*cur == 39) {
        tmp___3 = sq_dequote_step(cur, & cur);
        value = (char const   *)tmp___3;
        if (! value) {
          tmp___4 = _((char const   *)"bogus format in %s");
          error((char const   *)tmp___4, "GIT_CONFIG_PARAMETERS");
          tmp___5 = const_error();
          return (tmp___5);
        } else
        if (cur) {
          if (! (((int const   )sane_ctype[(unsigned char )*cur] & 1) != 0)) {
            tmp___4 = _((char const   *)"bogus format in %s");
            error((char const   *)tmp___4, "GIT_CONFIG_PARAMETERS");
            tmp___5 = const_error();
            return (tmp___5);
          }
        }
      } else
      if (! *cur) {
        value = (char const   *)((void *)0);
      } else
      if (((int const   )sane_ctype[(unsigned char )*cur] & 1) != 0) {
        value = (char const   *)((void *)0);
      } else {
        tmp___6 = _((char const   *)"bogus format in %s");
        error((char const   *)tmp___6, "GIT_CONFIG_PARAMETERS");
        tmp___7 = const_error();
        return (tmp___7);
      }
      tmp___8 = config_parse_pair(key___1, value, fn, data);
      if (tmp___8 < 0) {
        return (-1);
      }
    } else {
      tmp___9 = _((char const   *)"bogus format in %s");
      error((char const   *)tmp___9, "GIT_CONFIG_PARAMETERS");
      tmp___10 = const_error();
      return (tmp___10);
    }
    if (cur) {
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (((int const   )sane_ctype[(unsigned char )*cur] & 1) != 0)) {
          goto while_break___0;
        }
        cur ++;
      }
      while_break___0: /* CIL Label */ ;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int git_config_from_parameters(int (*fn)(char const   * , char const   * , void * ) ,
                               void *data )
{
  char const   *env ;
  struct strbuf envvar ;
  struct strvec to_free ;
  int ret___67 ;
  char *envw ;
  struct config_source source ;
  char *tmp ;
  unsigned long count___0 ;
  char *endp ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const   *key___1 ;
  char const   *value ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;
  int tmp___6 ;

  {
  envvar.alloc = 0UL;
  envvar.len = 0UL;
  envvar.buf = strbuf_slopbuf;
  to_free.v = empty_strvec;
  to_free.nr = 0UL;
  to_free.alloc = 0UL;
  ret___67 = 0;
  envw = (char *)((void *)0);
  memset((void *)(& source), 0, sizeof(source));
  source.prev = cf;
  source.origin_type = (enum config_origin_type )4;
  cf = & source;
  tmp = getenv((char const   *)"GIT_CONFIG_COUNT");
  env = (char const   *)tmp;
  if (env) {
    count___0 = strtoul((char const   * __restrict  )env, (char ** __restrict  )(& endp),
                        10);
    if (*endp) {
      tmp___0 = _((char const   *)"bogus count in %s");
      error((char const   *)tmp___0, "GIT_CONFIG_COUNT");
      ret___67 = const_error();
      goto out;
    }
    if (count___0 > 2147483647UL) {
      tmp___1 = _((char const   *)"too many entries in %s");
      error((char const   *)tmp___1, "GIT_CONFIG_COUNT");
      ret___67 = const_error();
      goto out;
    }
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned long )i < count___0)) {
        goto while_break;
      }
      strbuf_addf(& envvar, (char const   *)"GIT_CONFIG_KEY_%d", i);
      key___1 = getenv_safe(& to_free, (char const   *)envvar.buf);
      if (! key___1) {
        tmp___2 = _((char const   *)"missing config key %s");
        error((char const   *)tmp___2, envvar.buf);
        ret___67 = const_error();
        goto out;
      }
      strbuf_setlen(& envvar, (size_t )0);
      strbuf_addf(& envvar, (char const   *)"GIT_CONFIG_VALUE_%d", i);
      value = getenv_safe(& to_free, (char const   *)envvar.buf);
      if (! value) {
        tmp___3 = _((char const   *)"missing config value %s");
        error((char const   *)tmp___3, envvar.buf);
        ret___67 = const_error();
        goto out;
      }
      strbuf_setlen(& envvar, (size_t )0);
      tmp___4 = config_parse_pair(key___1, value, fn, data);
      if (tmp___4 < 0) {
        ret___67 = -1;
        goto out;
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  tmp___5 = getenv((char const   *)"GIT_CONFIG_PARAMETERS");
  env = (char const   *)tmp___5;
  if (env) {
    envw = xstrdup(env);
    tmp___6 = parse_config_env_list(envw, fn, data);
    if (tmp___6 < 0) {
      ret___67 = -1;
      goto out;
    }
  }
  out:
  strbuf_release(& envvar);
  strvec_clear(& to_free);
  free((void *)envw);
  cf = source.prev;
  return (ret___67);
}
}
static int get_next_char(void)
{
  int c___0 ;
  int tmp ;

  {
  tmp = (*(cf->do_fgetc))(cf);
  c___0 = tmp;
  if (c___0 == 13) {
    c___0 = (*(cf->do_fgetc))(cf);
    if (c___0 != 10) {
      if (c___0 != -1) {
        (*(cf->do_ungetc))(c___0, cf);
      }
      c___0 = '\r';
    }
  }
  if (c___0 != -1) {
    (cf->total_len) ++;
    if (cf->total_len > 2147483647UL) {
      cf->eof = 1;
      return (0);
    }
  }
  if (c___0 == 10) {
    (cf->linenr) ++;
  }
  if (c___0 == -1) {
    cf->eof = 1;
    (cf->linenr) ++;
    c___0 = '\n';
  }
  return (c___0);
}
}
static char *parse_value(void)
{
  int quote ;
  int comment ;
  int space___0 ;
  int c___0 ;
  int tmp ;

  {
  quote = 0;
  comment = 0;
  space___0 = 0;
  strbuf_setlen(& cf->value, (size_t )0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = get_next_char();
    c___0 = tmp;
    if (c___0 == 10) {
      if (quote) {
        (cf->linenr) --;
        return ((char *)((void *)0));
      }
      return (cf->value.buf);
    }
    if (comment) {
      goto __Cont;
    }
    if (((int const   )sane_ctype[(unsigned char )c___0] & 1) != 0) {
      if (! quote) {
        if (cf->value.len) {
          space___0 ++;
        }
        goto __Cont;
      }
    }
    if (! quote) {
      if (c___0 == 59) {
        comment = 1;
        goto __Cont;
      } else
      if (c___0 == 35) {
        comment = 1;
        goto __Cont;
      }
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! space___0) {
        goto while_break___0;
      }
      strbuf_addch(& cf->value, ' ');
      space___0 --;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (c___0 == 92) {
      c___0 = get_next_char();
      {
      if (c___0 == 10) {
        goto case_10;
      }
      if (c___0 == 116) {
        goto case_116;
      }
      if (c___0 == 98) {
        goto case_98;
      }
      if (c___0 == 110) {
        goto case_110;
      }
      if (c___0 == 34) {
        goto case_34;
      }
      if (c___0 == 92) {
        goto case_34;
      }
      goto switch_default;
      case_10: /* CIL Label */
      goto __Cont;
      case_116: /* CIL Label */
      c___0 = '\t';
      goto switch_break;
      case_98: /* CIL Label */
      c___0 = '\b';
      goto switch_break;
      case_110: /* CIL Label */
      c___0 = '\n';
      goto switch_break;
      case_34: /* CIL Label */
      case_92: /* CIL Label */
      goto switch_break;
      switch_default: /* CIL Label */
      return ((char *)((void *)0));
      switch_break: /* CIL Label */ ;
      }
      strbuf_addch(& cf->value, c___0);
      goto __Cont;
    }
    if (c___0 == 34) {
      quote = 1 - quote;
      goto __Cont;
    }
    strbuf_addch(& cf->value, c___0);
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int get_value(int (*fn)(char const   * , char const   * , void * ) , void *data ,
                     struct strbuf *name___0 )
{
  int c___0 ;
  char *value ;
  int ret___67 ;
  int tmp ;
  int tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    c___0 = get_next_char();
    if (cf->eof) {
      goto while_break;
    }
    tmp = iskeychar(c___0);
    if (! tmp) {
      goto while_break;
    }
    tmp___0 = sane_case((int )((unsigned char )c___0), 0x20);
    strbuf_addch(name___0, tmp___0);
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (c___0 == 32)) {
      if (! (c___0 == 9)) {
        goto while_break___0;
      }
    }
    c___0 = get_next_char();
  }
  while_break___0: /* CIL Label */ ;
  }
  value = (char *)((void *)0);
  if (c___0 != 10) {
    if (c___0 != 61) {
      return (-1);
    }
    value = parse_value();
    if (! value) {
      return (-1);
    }
  }
  (cf->linenr) --;
  ret___67 = (*fn)((char const   *)name___0->buf, (char const   *)value, data);
  if (ret___67 >= 0) {
    (cf->linenr) ++;
  }
  return (ret___67);
}
}
static int get_extended_base_var(struct strbuf *name___0 , int c___0 )
{
  int c___1 ;
  int tmp ;
  int tmp___0 ;

  {
  cf->subsection_case_sensitive = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (c___0 == 10) {
      goto error_incomplete_line;
    }
    c___0 = get_next_char();
    if (! (((int const   )sane_ctype[(unsigned char )c___0] & 1) != 0)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (c___0 != 34) {
    return (-1);
  }
  strbuf_addch(name___0, '.');
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp = get_next_char();
    c___1 = tmp;
    if (c___1 == 10) {
      goto error_incomplete_line;
    }
    if (c___1 == 34) {
      goto while_break___0;
    }
    if (c___1 == 92) {
      c___1 = get_next_char();
      if (c___1 == 10) {
        goto error_incomplete_line;
      }
    }
    strbuf_addch(name___0, c___1);
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___0 = get_next_char();
  if (tmp___0 != 93) {
    return (-1);
  }
  return (0);
  error_incomplete_line:
  (cf->linenr) --;
  return (-1);
}
}
static int get_base_var(struct strbuf *name___0 )
{
  int c___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  cf->subsection_case_sensitive = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = get_next_char();
    c___0 = tmp;
    if (cf->eof) {
      return (-1);
    }
    if (c___0 == 93) {
      return (0);
    }
    if (((int const   )sane_ctype[(unsigned char )c___0] & 1) != 0) {
      tmp___0 = get_extended_base_var(name___0, c___0);
      return (tmp___0);
    }
    tmp___1 = iskeychar(c___0);
    if (! tmp___1) {
      if (c___0 != 46) {
        return (-1);
      }
    }
    tmp___2 = sane_case((int )((unsigned char )c___0), 0x20);
    strbuf_addch(name___0, tmp___2);
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int do_event(enum config_event_t type___0 , struct parse_event_data *data )
{
  size_t offset___2 ;
  long tmp ;
  int tmp___0 ;

  {
  if (! data->opts) {
    return (0);
  } else
  if (! (data->opts)->event_fn) {
    return (0);
  }
  if ((unsigned int )type___0 == 2U) {
    if ((unsigned int )data->previous_type == (unsigned int )type___0) {
      return (0);
    }
  }
  tmp = (*(cf->do_ftell))(cf);
  offset___2 = (size_t )tmp;
  if ((unsigned int )type___0 != 4U) {
    offset___2 --;
  }
  if ((unsigned int )data->previous_type != 4U) {
    tmp___0 = (*((data->opts)->event_fn))(data->previous_type, data->previous_offset,
                                          offset___2, (void *)(data->opts)->event_fn_data);
    if (tmp___0 < 0) {
      return (-1);
    }
  }
  data->previous_type = type___0;
  data->previous_offset = offset___2;
  return (0);
}
}
static int git_parse_source(int (*fn)(char const   * , char const   * , void * ) ,
                            void *data , struct config_options  const  *opts___1 )
{
  int comment ;
  size_t baselen ;
  struct strbuf *var ;
  int error_return ;
  char *error_msg ;
  char const   *bomptr ;
  struct parse_event_data event_data ;
  int c___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  unsigned int tmp___15 ;

  {
  comment = 0;
  baselen = (size_t )0;
  var = & cf->var;
  error_return = 0;
  error_msg = (char *)((void *)0);
  bomptr = utf8_bom;
  event_data.previous_type = (enum config_event_t )4;
  event_data.previous_offset = (size_t )0;
  event_data.opts = opts___1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    c___0 = get_next_char();
    if (bomptr) {
      if (*bomptr) {
        if (c___0 == (int )((int const   )*bomptr & 255)) {
          bomptr ++;
          goto __Cont;
        } else {
          if ((unsigned long )bomptr != (unsigned long )(utf8_bom)) {
            goto while_break;
          }
          bomptr = (char const   *)((void *)0);
        }
      }
    }
    if (c___0 == 10) {
      if (cf->eof) {
        tmp = do_event((enum config_event_t )4, & event_data);
        if (tmp < 0) {
          return (-1);
        }
        return (0);
      }
      tmp___0 = do_event((enum config_event_t )2, & event_data);
      if (tmp___0 < 0) {
        return (-1);
      }
      comment = 0;
      goto __Cont;
    }
    if (comment) {
      goto __Cont;
    }
    if (((int const   )sane_ctype[(unsigned char )c___0] & 1) != 0) {
      tmp___1 = do_event((enum config_event_t )2, & event_data);
      if (tmp___1 < 0) {
        return (-1);
      }
      goto __Cont;
    }
    if (c___0 == 35) {
      goto _L;
    } else
    if (c___0 == 59) {
      _L: /* CIL Label */
      tmp___2 = do_event((enum config_event_t )3, & event_data);
      if (tmp___2 < 0) {
        return (-1);
      }
      comment = 1;
      goto __Cont;
    }
    if (c___0 == 91) {
      tmp___3 = do_event((enum config_event_t )0, & event_data);
      if (tmp___3 < 0) {
        return (-1);
      }
      strbuf_setlen(var, (size_t )0);
      tmp___4 = get_base_var(var);
      if (tmp___4 < 0) {
        goto while_break;
      } else
      if (var->len < 1UL) {
        goto while_break;
      }
      strbuf_addch(var, '.');
      baselen = var->len;
      goto __Cont;
    }
    if (! (((int const   )sane_ctype[(unsigned char )c___0] & 4) != 0)) {
      goto while_break;
    }
    tmp___5 = do_event((enum config_event_t )1, & event_data);
    if (tmp___5 < 0) {
      return (-1);
    }
    strbuf_setlen(var, baselen);
    tmp___6 = sane_case((int )((unsigned char )c___0), 0x20);
    strbuf_addch(var, tmp___6);
    tmp___7 = get_value(fn, data, var);
    if (tmp___7 < 0) {
      goto while_break;
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___8 = do_event((enum config_event_t )5, & event_data);
  if (tmp___8 < 0) {
    return (-1);
  }
  {
  if ((unsigned int )cf->origin_type == 0U) {
    goto case_0;
  }
  if ((unsigned int )cf->origin_type == 1U) {
    goto case_1;
  }
  if ((unsigned int )cf->origin_type == 2U) {
    goto case_2;
  }
  if ((unsigned int )cf->origin_type == 3U) {
    goto case_3;
  }
  if ((unsigned int )cf->origin_type == 4U) {
    goto case_4;
  }
  goto switch_default;
  case_0: /* CIL Label */
  tmp___9 = _((char const   *)"bad config line %d in blob %s");
  error_msg = xstrfmt((char const   *)tmp___9, cf->linenr, cf->name);
  goto switch_break;
  case_1: /* CIL Label */
  tmp___10 = _((char const   *)"bad config line %d in file %s");
  error_msg = xstrfmt((char const   *)tmp___10, cf->linenr, cf->name);
  goto switch_break;
  case_2: /* CIL Label */
  tmp___11 = _((char const   *)"bad config line %d in standard input");
  error_msg = xstrfmt((char const   *)tmp___11, cf->linenr);
  goto switch_break;
  case_3: /* CIL Label */
  tmp___12 = _((char const   *)"bad config line %d in submodule-blob %s");
  error_msg = xstrfmt((char const   *)tmp___12, cf->linenr, cf->name);
  goto switch_break;
  case_4: /* CIL Label */
  tmp___13 = _((char const   *)"bad config line %d in command line %s");
  error_msg = xstrfmt((char const   *)tmp___13, cf->linenr, cf->name);
  goto switch_break;
  switch_default: /* CIL Label */
  tmp___14 = _((char const   *)"bad config line %d in %s");
  error_msg = xstrfmt((char const   *)tmp___14, cf->linenr, cf->name);
  switch_break: /* CIL Label */ ;
  }
  if (opts___1) {
    if (opts___1->error_action) {
      tmp___15 = (unsigned int )opts___1->error_action;
    } else {
      tmp___15 = (unsigned int )cf->default_error_action;
    }
  } else {
    tmp___15 = (unsigned int )cf->default_error_action;
  }
  {
  if (tmp___15 == 1U) {
    goto case_1___0;
  }
  if (tmp___15 == 2U) {
    goto case_2___0;
  }
  if (tmp___15 == 3U) {
    goto case_3___0;
  }
  if (tmp___15 == 0U) {
    goto case_0___0;
  }
  goto switch_break___0;
  case_1___0: /* CIL Label */
  die((char const   *)"%s", error_msg);
  goto switch_break___0;
  case_2___0: /* CIL Label */
  error((char const   *)"%s", error_msg);
  error_return = const_error();
  goto switch_break___0;
  case_3___0: /* CIL Label */
  error_return = -1;
  goto switch_break___0;
  case_0___0: /* CIL Label */
  BUG_fl((char const   *)"config.c", 1016, (char const   *)"config error action unset");
  switch_break___0: /* CIL Label */ ;
  }
  free((void *)error_msg);
  return (error_return);
}
}
static uintmax_t get_unit_factor(char const   *end )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! *end) {
    return ((uintmax_t )1);
  } else {
    tmp___1 = strcasecmp(end, (char const   *)"k");
    if (tmp___1) {
      tmp___0 = strcasecmp(end, (char const   *)"m");
      if (tmp___0) {
        tmp = strcasecmp(end, (char const   *)"g");
        if (! tmp) {
          return ((uintmax_t )1073741824);
        }
      } else {
        return ((uintmax_t )1048576);
      }
    } else {
      return ((uintmax_t )1024);
    }
  }
  return ((uintmax_t )0);
}
}
static int git_parse_signed(char const   *value , intmax_t *ret___67 , intmax_t max )
{
  char *end ;
  intmax_t val ;
  uintmax_t uval ;
  uintmax_t factor ;
  int *tmp ;
  int *tmp___0 ;
  int *tmp___1 ;
  int *tmp___2 ;
  int *tmp___3 ;

  {
  if (value) {
    if (*value) {
      tmp = __errno_location();
      *tmp = 0;
      val = strtoimax(value, & end, 0);
      tmp___0 = __errno_location();
      if (*tmp___0 == 34) {
        return (0);
      }
      factor = get_unit_factor((char const   *)end);
      if (! factor) {
        tmp___1 = __errno_location();
        *tmp___1 = 22;
        return (0);
      }
      if (val < 0L) {
        uval = (uintmax_t )(- val);
      } else {
        uval = (uintmax_t )val;
      }
      if (factor) {
        if (uval > (18446744073709551615UL >> (8UL * sizeof(uintmax_t ) - 8UL * sizeof(factor))) / factor) {
          tmp___2 = __errno_location();
          *tmp___2 = 34;
          return (0);
        } else {
          goto _L;
        }
      } else
      _L: /* CIL Label */
      if (factor * uval > (uintmax_t )max) {
        tmp___2 = __errno_location();
        *tmp___2 = 34;
        return (0);
      }
      val = (intmax_t )((uintmax_t )val * factor);
      *ret___67 = val;
      return (1);
    }
  }
  tmp___3 = __errno_location();
  *tmp___3 = 22;
  return (0);
}
}
static int git_parse_unsigned(char const   *value , uintmax_t *ret___67 , uintmax_t max )
{
  char *end ;
  uintmax_t val ;
  uintmax_t factor ;
  int *tmp ;
  int *tmp___0 ;
  int *tmp___1 ;
  int *tmp___2 ;
  int *tmp___3 ;

  {
  if (value) {
    if (*value) {
      tmp = __errno_location();
      *tmp = 0;
      val = strtoumax(value, & end, 0);
      tmp___0 = __errno_location();
      if (*tmp___0 == 34) {
        return (0);
      }
      factor = get_unit_factor((char const   *)end);
      if (! factor) {
        tmp___1 = __errno_location();
        *tmp___1 = 22;
        return (0);
      }
      if (factor) {
        if (val > (18446744073709551615UL >> (8UL * sizeof(uintmax_t ) - 8UL * sizeof(factor))) / factor) {
          tmp___2 = __errno_location();
          *tmp___2 = 34;
          return (0);
        } else {
          goto _L;
        }
      } else
      _L: /* CIL Label */
      if (factor * val > max) {
        tmp___2 = __errno_location();
        *tmp___2 = 34;
        return (0);
      }
      val *= factor;
      *ret___67 = val;
      return (1);
    }
  }
  tmp___3 = __errno_location();
  *tmp___3 = 22;
  return (0);
}
}
static int git_parse_int(char const   *value , int *ret___67 )
{
  intmax_t tmp ;
  int tmp___0 ;

  {
  tmp___0 = git_parse_signed(value, & tmp, 9223372036854775807L >> (8UL * sizeof(intmax_t ) - 8UL * sizeof(int )));
  if (! tmp___0) {
    return (0);
  }
  *ret___67 = (int )tmp;
  return (1);
}
}
static int git_parse_int64(char const   *value , int64_t *ret___67 )
{
  intmax_t tmp ;
  int tmp___0 ;

  {
  tmp___0 = git_parse_signed(value, & tmp, 9223372036854775807L >> (8UL * sizeof(intmax_t ) - 8UL * sizeof(int64_t )));
  if (! tmp___0) {
    return (0);
  }
  *ret___67 = tmp;
  return (1);
}
}
int git_parse_ulong(char const   *value , unsigned long *ret___67 )
{
  uintmax_t tmp ;
  int tmp___0 ;

  {
  tmp___0 = git_parse_unsigned(value, & tmp, 18446744073709551615UL >> (8UL * sizeof(uintmax_t ) - 8UL * sizeof(long )));
  if (! tmp___0) {
    return (0);
  }
  *ret___67 = tmp;
  return (1);
}
}
int git_parse_ssize_t(char const   *value , ssize_t *ret___67 )
{
  intmax_t tmp ;
  int tmp___0 ;

  {
  tmp___0 = git_parse_signed(value, & tmp, 9223372036854775807L >> (8UL * sizeof(intmax_t ) - 8UL * sizeof(ssize_t )));
  if (! tmp___0) {
    return (0);
  }
  *ret___67 = tmp;
  return (1);
}
}
static void die_bad_number(char const   *name___0 , char const   *value )  __attribute__((__noreturn__)) ;
static void die_bad_number(char const   *name___0 , char const   *value )
{
  char const   *error_type ;
  int *tmp ;
  char *tmp___0 ;
  int *tmp___1 ;
  char const   *bad_numeric ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;

  {
  tmp___1 = __errno_location();
  if (*tmp___1 == 34) {
    tmp___0 = "out of range";
  } else {
    tmp___0 = "invalid unit";
  }
  error_type = (char const   *)tmp___0;
  bad_numeric = (char const   *)"bad numeric config value \'%s\' for \'%s\': %s";
  if (! value) {
    value = (char const   *)"";
  }
  if (cf) {
    if (! cf->name) {
      tmp___2 = _(error_type);
      tmp___3 = _(bad_numeric);
      die((char const   *)tmp___3, value, name___0, tmp___2);
    }
  } else {
    tmp___2 = _(error_type);
    tmp___3 = _(bad_numeric);
    die((char const   *)tmp___3, value, name___0, tmp___2);
  }
  {
  if ((unsigned int )cf->origin_type == 0U) {
    goto case_0;
  }
  if ((unsigned int )cf->origin_type == 1U) {
    goto case_1;
  }
  if ((unsigned int )cf->origin_type == 2U) {
    goto case_2;
  }
  if ((unsigned int )cf->origin_type == 3U) {
    goto case_3;
  }
  if ((unsigned int )cf->origin_type == 4U) {
    goto case_4;
  }
  goto switch_default;
  case_0: /* CIL Label */
  tmp___4 = _(error_type);
  tmp___5 = _((char const   *)"bad numeric config value \'%s\' for \'%s\' in blob %s: %s");
  die((char const   *)tmp___5, value, name___0, cf->name, tmp___4);
  case_1: /* CIL Label */
  tmp___6 = _(error_type);
  tmp___7 = _((char const   *)"bad numeric config value \'%s\' for \'%s\' in file %s: %s");
  die((char const   *)tmp___7, value, name___0, cf->name, tmp___6);
  case_2: /* CIL Label */
  tmp___8 = _(error_type);
  tmp___9 = _((char const   *)"bad numeric config value \'%s\' for \'%s\' in standard input: %s");
  die((char const   *)tmp___9, value, name___0, tmp___8);
  case_3: /* CIL Label */
  tmp___10 = _(error_type);
  tmp___11 = _((char const   *)"bad numeric config value \'%s\' for \'%s\' in submodule-blob %s: %s");
  die((char const   *)tmp___11, value, name___0, cf->name, tmp___10);
  case_4: /* CIL Label */
  tmp___12 = _(error_type);
  tmp___13 = _((char const   *)"bad numeric config value \'%s\' for \'%s\' in command line %s: %s");
  die((char const   *)tmp___13, value, name___0, cf->name, tmp___12);
  switch_default: /* CIL Label */
  tmp___14 = _(error_type);
  tmp___15 = _((char const   *)"bad numeric config value \'%s\' for \'%s\' in %s: %s");
  die((char const   *)tmp___15, value, name___0, cf->name, tmp___14);
  switch_break: /* CIL Label */ ;
  }
}
}
int git_config_int(char const   *name___0 , char const   *value )
{
  int ret___67 ;
  int tmp ;

  {
  tmp = git_parse_int(value, & ret___67);
  if (! tmp) {
    die_bad_number(name___0, value);
  }
  return (ret___67);
}
}
int64_t git_config_int64(char const   *name___0 , char const   *value )
{
  int64_t ret___67 ;
  int tmp ;

  {
  tmp = git_parse_int64(value, & ret___67);
  if (! tmp) {
    die_bad_number(name___0, value);
  }
  return (ret___67);
}
}
unsigned long git_config_ulong(char const   *name___0 , char const   *value )
{
  unsigned long ret___67 ;
  int tmp ;

  {
  tmp = git_parse_ulong(value, & ret___67);
  if (! tmp) {
    die_bad_number(name___0, value);
  }
  return (ret___67);
}
}
ssize_t git_config_ssize_t(char const   *name___0 , char const   *value )
{
  ssize_t ret___67 ;
  int tmp ;

  {
  tmp = git_parse_ssize_t(value, & ret___67);
  if (! tmp) {
    die_bad_number(name___0, value);
  }
  return (ret___67);
}
}
static int git_parse_maybe_bool_text(char const   *value )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  if (! value) {
    return (1);
  }
  if (! *value) {
    return (0);
  }
  tmp = strcasecmp(value, (char const   *)"true");
  if (tmp) {
    tmp___0 = strcasecmp(value, (char const   *)"yes");
    if (tmp___0) {
      tmp___1 = strcasecmp(value, (char const   *)"on");
      if (! tmp___1) {
        return (1);
      }
    } else {
      return (1);
    }
  } else {
    return (1);
  }
  tmp___2 = strcasecmp(value, (char const   *)"false");
  if (tmp___2) {
    tmp___3 = strcasecmp(value, (char const   *)"no");
    if (tmp___3) {
      tmp___4 = strcasecmp(value, (char const   *)"off");
      if (! tmp___4) {
        return (0);
      }
    } else {
      return (0);
    }
  } else {
    return (0);
  }
  return (-1);
}
}
int git_parse_maybe_bool(char const   *value )
{
  int v ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = git_parse_maybe_bool_text(value);
  v = tmp;
  if (0 <= v) {
    return (v);
  }
  tmp___0 = git_parse_int(value, & v);
  if (tmp___0) {
    return (! (! v));
  }
  return (-1);
}
}
int git_config_bool_or_int(char const   *name___0 , char const   *value , int *is_bool )
{
  int v ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = git_parse_maybe_bool_text(value);
  v = tmp;
  if (0 <= v) {
    *is_bool = 1;
    return (v);
  }
  *is_bool = 0;
  tmp___0 = git_config_int(name___0, value);
  return (tmp___0);
}
}
int git_config_bool(char const   *name___0 , char const   *value )
{
  int v ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  tmp = git_parse_maybe_bool(value);
  v = tmp;
  if (v < 0) {
    tmp___0 = _((char const   *)"bad boolean config value \'%s\' for \'%s\'");
    die((char const   *)tmp___0, value, name___0);
  }
  return (v);
}
}
int git_config_string(char const   **dest , char const   *var , char const   *value )
{
  int tmp ;
  char *tmp___0 ;

  {
  if (! value) {
    config_error_nonbool(var);
    tmp = const_error();
    return (tmp);
  }
  tmp___0 = xstrdup(value);
  *dest = (char const   *)tmp___0;
  return (0);
}
}
int git_config_pathname(char const   **dest , char const   *var , char const   *value )
{
  int tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  if (! value) {
    config_error_nonbool(var);
    tmp = const_error();
    return (tmp);
  }
  tmp___0 = interpolate_path(value, 0);
  *dest = (char const   *)tmp___0;
  if (! *dest) {
    tmp___1 = _((char const   *)"failed to expand user dir in: \'%s\'");
    die((char const   *)tmp___1, value);
  }
  return (0);
}
}
int git_config_expiry_date(timestamp_t *timestamp___0 , char const   *var , char const   *value )
{
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (! value) {
    config_error_nonbool(var);
    tmp = const_error();
    return (tmp);
  }
  tmp___2 = parse_expiry_date(value, timestamp___0);
  if (tmp___2) {
    tmp___0 = _((char const   *)"\'%s\' for \'%s\' is not a valid timestamp");
    error((char const   *)tmp___0, value, var);
    tmp___1 = const_error();
    return (tmp___1);
  }
  return (0);
}
}
int git_config_color(char *dest , char const   *var , char const   *value )
{
  int tmp ;
  int tmp___0 ;

  {
  if (! value) {
    config_error_nonbool(var);
    tmp = const_error();
    return (tmp);
  }
  tmp___0 = color_parse(value, dest);
  if (tmp___0 < 0) {
    return (-1);
  }
  return (0);
}
}
static int git_default_core_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int abbrev___6 ;
  int tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;
  int level ;
  int tmp___27 ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  int tmp___29 ;
  int level___0 ;
  int tmp___30 ;
  char const __attribute__((__format_arg__(1)))  *tmp___31 ;
  int tmp___32 ;
  int pgsz_x2 ;
  int tmp___33 ;
  int tmp___34 ;
  int tmp___35 ;
  int tmp___36 ;
  int tmp___37 ;
  int tmp___38 ;
  int tmp___39 ;
  int tmp___40 ;
  int eol_rndtrp_die ;
  int tmp___41 ;
  int tmp___42 ;
  int tmp___43 ;
  int tmp___44 ;
  int tmp___45 ;
  int tmp___46 ;
  int tmp___47 ;
  int tmp___48 ;
  int tmp___49 ;
  int tmp___50 ;
  int tmp___51 ;
  char const __attribute__((__format_arg__(1)))  *tmp___52 ;
  int tmp___53 ;
  int tmp___54 ;
  int tmp___55 ;
  int tmp___56 ;
  int tmp___57 ;
  int tmp___58 ;
  int tmp___59 ;
  int tmp___60 ;
  int tmp___61 ;
  int tmp___62 ;
  int tmp___63 ;
  char const __attribute__((__format_arg__(1)))  *tmp___64 ;
  int tmp___65 ;
  int tmp___66 ;
  int tmp___67 ;
  int tmp___68 ;
  int tmp___69 ;
  int tmp___70 ;
  int tmp___71 ;
  int tmp___72 ;
  int tmp___73 ;
  int tmp___74 ;

  {
  tmp = strcmp(var, (char const   *)"core.filemode");
  if (! tmp) {
    trust_executable_bit = git_config_bool(var, value);
    return (0);
  }
  tmp___0 = strcmp(var, (char const   *)"core.trustctime");
  if (! tmp___0) {
    trust_ctime = git_config_bool(var, value);
    return (0);
  }
  tmp___3 = strcmp(var, (char const   *)"core.checkstat");
  if (! tmp___3) {
    tmp___2 = strcasecmp(value, (char const   *)"default");
    if (tmp___2) {
      tmp___1 = strcasecmp(value, (char const   *)"minimal");
      if (! tmp___1) {
        check_stat = 0;
      }
    } else {
      check_stat = 1;
    }
  }
  tmp___4 = strcmp(var, (char const   *)"core.quotepath");
  if (! tmp___4) {
    quote_path_fully = git_config_bool(var, value);
    return (0);
  }
  tmp___5 = strcmp(var, (char const   *)"core.symlinks");
  if (! tmp___5) {
    has_symlinks = git_config_bool(var, value);
    return (0);
  }
  tmp___6 = strcmp(var, (char const   *)"core.ignorecase");
  if (! tmp___6) {
    ignore_case = git_config_bool(var, value);
    return (0);
  }
  tmp___8 = strcmp(var, (char const   *)"core.attributesfile");
  if (! tmp___8) {
    tmp___7 = git_config_pathname(& git_attributes_file, var, value);
    return (tmp___7);
  }
  tmp___10 = strcmp(var, (char const   *)"core.hookspath");
  if (! tmp___10) {
    tmp___9 = git_config_pathname(& git_hooks_path, var, value);
    return (tmp___9);
  }
  tmp___11 = strcmp(var, (char const   *)"core.bare");
  if (! tmp___11) {
    is_bare_repository_cfg = git_config_bool(var, value);
    return (0);
  }
  tmp___12 = strcmp(var, (char const   *)"core.ignorestat");
  if (! tmp___12) {
    assume_unchanged = git_config_bool(var, value);
    return (0);
  }
  tmp___13 = strcmp(var, (char const   *)"core.prefersymlinkrefs");
  if (! tmp___13) {
    prefer_symlink_refs = git_config_bool(var, value);
    return (0);
  }
  tmp___16 = strcmp(var, (char const   *)"core.logallrefupdates");
  if (! tmp___16) {
    if (value) {
      tmp___15 = strcasecmp(value, (char const   *)"always");
      if (tmp___15) {
        goto _L;
      } else {
        log_all_ref_updates = (enum log_refs_config )2;
      }
    } else {
      _L: /* CIL Label */
      tmp___14 = git_config_bool(var, value);
      if (tmp___14) {
        log_all_ref_updates = (enum log_refs_config )1;
      } else {
        log_all_ref_updates = (enum log_refs_config )0;
      }
    }
    return (0);
  }
  tmp___17 = strcmp(var, (char const   *)"core.warnambiguousrefs");
  if (! tmp___17) {
    warn_ambiguous_refs = git_config_bool(var, value);
    return (0);
  }
  tmp___24 = strcmp(var, (char const   *)"core.abbrev");
  if (! tmp___24) {
    if (! value) {
      config_error_nonbool(var);
      tmp___18 = const_error();
      return (tmp___18);
    }
    tmp___23 = strcasecmp(value, (char const   *)"auto");
    if (tmp___23) {
      tmp___22 = git_parse_maybe_bool_text(value);
      if (tmp___22) {
        tmp___19 = git_config_int(var, value);
        abbrev___6 = tmp___19;
        if (abbrev___6 < minimum_abbrev) {
          tmp___20 = _((char const   *)"abbrev length out of range: %d");
          error((char const   *)tmp___20, abbrev___6);
          tmp___21 = const_error();
          return (tmp___21);
        } else
        if ((size_t )abbrev___6 > (the_repository->hash_algo)->hexsz) {
          tmp___20 = _((char const   *)"abbrev length out of range: %d");
          error((char const   *)tmp___20, abbrev___6);
          tmp___21 = const_error();
          return (tmp___21);
        }
        default_abbrev = abbrev___6;
      } else {
        default_abbrev = (int )(the_repository->hash_algo)->hexsz;
      }
    } else {
      default_abbrev = -1;
    }
    return (0);
  }
  tmp___26 = strcmp(var, (char const   *)"core.disambiguate");
  if (! tmp___26) {
    tmp___25 = set_disambiguate_hint_config(var, value);
    return (tmp___25);
  }
  tmp___29 = strcmp(var, (char const   *)"core.loosecompression");
  if (! tmp___29) {
    tmp___27 = git_config_int(var, value);
    level = tmp___27;
    if (level == -1) {
      level = -1;
    } else
    if (level < 0) {
      tmp___28 = _((char const   *)"bad zlib compression level %d");
      die((char const   *)tmp___28, level);
    } else
    if (level > 9) {
      tmp___28 = _((char const   *)"bad zlib compression level %d");
      die((char const   *)tmp___28, level);
    }
    zlib_compression_level = level;
    zlib_compression_seen = 1;
    return (0);
  }
  tmp___32 = strcmp(var, (char const   *)"core.compression");
  if (! tmp___32) {
    tmp___30 = git_config_int(var, value);
    level___0 = tmp___30;
    if (level___0 == -1) {
      level___0 = -1;
    } else
    if (level___0 < 0) {
      tmp___31 = _((char const   *)"bad zlib compression level %d");
      die((char const   *)tmp___31, level___0);
    } else
    if (level___0 > 9) {
      tmp___31 = _((char const   *)"bad zlib compression level %d");
      die((char const   *)tmp___31, level___0);
    }
    if (! zlib_compression_seen) {
      zlib_compression_level = level___0;
    }
    if (! pack_compression_seen) {
      pack_compression_level = level___0;
    }
    return (0);
  }
  tmp___34 = strcmp(var, (char const   *)"core.packedgitwindowsize");
  if (! tmp___34) {
    tmp___33 = getpagesize();
    pgsz_x2 = tmp___33 * 2;
    packed_git_window_size = git_config_ulong(var, value);
    packed_git_window_size /= (size_t )pgsz_x2;
    if (packed_git_window_size < 1UL) {
      packed_git_window_size = (size_t )1;
    }
    packed_git_window_size *= (size_t )pgsz_x2;
    return (0);
  }
  tmp___35 = strcmp(var, (char const   *)"core.bigfilethreshold");
  if (! tmp___35) {
    big_file_threshold = git_config_ulong(var, value);
    return (0);
  }
  tmp___36 = strcmp(var, (char const   *)"core.packedgitlimit");
  if (! tmp___36) {
    packed_git_limit = git_config_ulong(var, value);
    return (0);
  }
  tmp___37 = strcmp(var, (char const   *)"core.deltabasecachelimit");
  if (! tmp___37) {
    delta_base_cache_limit = git_config_ulong(var, value);
    return (0);
  }
  tmp___40 = strcmp(var, (char const   *)"core.autocrlf");
  if (! tmp___40) {
    if (value) {
      tmp___38 = strcasecmp(value, (char const   *)"input");
      if (! tmp___38) {
        auto_crlf = (enum auto_crlf )-1;
        return (0);
      }
    }
    tmp___39 = git_config_bool(var, value);
    auto_crlf = (enum auto_crlf )tmp___39;
    return (0);
  }
  tmp___42 = strcmp(var, (char const   *)"core.safecrlf");
  if (! tmp___42) {
    if (value) {
      tmp___41 = strcasecmp(value, (char const   *)"warn");
      if (! tmp___41) {
        global_conv_flags_eol = 1 << 1;
        return (0);
      }
    }
    eol_rndtrp_die = git_config_bool(var, value);
    if (eol_rndtrp_die) {
      global_conv_flags_eol = 1;
    } else {
      global_conv_flags_eol = 0;
    }
    return (0);
  }
  tmp___46 = strcmp(var, (char const   *)"core.eol");
  if (! tmp___46) {
    if (value) {
      tmp___45 = strcasecmp(value, (char const   *)"lf");
      if (tmp___45) {
        goto _L___1;
      } else {
        core_eol = (enum eol )2;
      }
    } else
    _L___1: /* CIL Label */
    if (value) {
      tmp___44 = strcasecmp(value, (char const   *)"crlf");
      if (tmp___44) {
        goto _L___0;
      } else {
        core_eol = (enum eol )1;
      }
    } else
    _L___0: /* CIL Label */
    if (value) {
      tmp___43 = strcasecmp(value, (char const   *)"native");
      if (tmp___43) {
        core_eol = (enum eol )0;
      } else {
        core_eol = (enum eol )2;
      }
    } else {
      core_eol = (enum eol )0;
    }
    return (0);
  }
  tmp___47 = strcmp(var, (char const   *)"core.checkroundtripencoding");
  if (! tmp___47) {
    check_roundtrip_encoding = xstrdup(value);
    return (0);
  }
  tmp___48 = strcmp(var, (char const   *)"core.notesref");
  if (! tmp___48) {
    notes_ref_name = xstrdup(value);
    return (0);
  }
  tmp___50 = strcmp(var, (char const   *)"core.editor");
  if (! tmp___50) {
    tmp___49 = git_config_string(& editor_program, var, value);
    return (tmp___49);
  }
  tmp___55 = strcmp(var, (char const   *)"core.commentchar");
  if (! tmp___55) {
    if (! value) {
      config_error_nonbool(var);
      tmp___51 = const_error();
      return (tmp___51);
    } else {
      tmp___54 = strcasecmp(value, (char const   *)"auto");
      if (tmp___54) {
        if (*(value + 0)) {
          if (! *(value + 1)) {
            comment_line_char = (char )*(value + 0);
            auto_comment_line_char = 0;
          } else {
            tmp___52 = _((char const   *)"core.commentChar should only be one character");
            error((char const   *)tmp___52);
            tmp___53 = const_error();
            return (tmp___53);
          }
        } else {
          tmp___52 = _((char const   *)"core.commentChar should only be one character");
          error((char const   *)tmp___52);
          tmp___53 = const_error();
          return (tmp___53);
        }
      } else {
        auto_comment_line_char = 1;
      }
    }
    return (0);
  }
  tmp___57 = strcmp(var, (char const   *)"core.askpass");
  if (! tmp___57) {
    tmp___56 = git_config_string(& askpass_program, var, value);
    return (tmp___56);
  }
  tmp___59 = strcmp(var, (char const   *)"core.excludesfile");
  if (! tmp___59) {
    tmp___58 = git_config_pathname(& excludes_file, var, value);
    return (tmp___58);
  }
  tmp___61 = strcmp(var, (char const   *)"core.whitespace");
  if (! tmp___61) {
    if (! value) {
      config_error_nonbool(var);
      tmp___60 = const_error();
      return (tmp___60);
    }
    whitespace_rule_cfg = parse_whitespace_rule(value);
    return (0);
  }
  tmp___62 = strcmp(var, (char const   *)"core.fsyncobjectfiles");
  if (! tmp___62) {
    fsync_object_files = git_config_bool(var, value);
    return (0);
  }
  tmp___63 = strcmp(var, (char const   *)"core.preloadindex");
  if (! tmp___63) {
    core_preload_index = git_config_bool(var, value);
    return (0);
  }
  tmp___67 = strcmp(var, (char const   *)"core.createobject");
  if (! tmp___67) {
    tmp___66 = strcmp(value, (char const   *)"rename");
    if (tmp___66) {
      tmp___65 = strcmp(value, (char const   *)"link");
      if (tmp___65) {
        tmp___64 = _((char const   *)"invalid mode for object creation: %s");
        die((char const   *)tmp___64, value);
      } else {
        object_creation_mode = (enum object_creation_mode )0;
      }
    } else {
      object_creation_mode = (enum object_creation_mode )1;
    }
    return (0);
  }
  tmp___68 = strcmp(var, (char const   *)"core.sparsecheckout");
  if (! tmp___68) {
    core_apply_sparse_checkout = git_config_bool(var, value);
    return (0);
  }
  tmp___69 = strcmp(var, (char const   *)"core.sparsecheckoutcone");
  if (! tmp___69) {
    core_sparse_checkout_cone = git_config_bool(var, value);
    return (0);
  }
  tmp___70 = strcmp(var, (char const   *)"core.precomposeunicode");
  if (! tmp___70) {
    precomposed_unicode = git_config_bool(var, value);
    return (0);
  }
  tmp___71 = strcmp(var, (char const   *)"core.protecthfs");
  if (! tmp___71) {
    protect_hfs = git_config_bool(var, value);
    return (0);
  }
  tmp___72 = strcmp(var, (char const   *)"core.protectntfs");
  if (! tmp___72) {
    protect_ntfs = git_config_bool(var, value);
    return (0);
  }
  tmp___73 = strcmp(var, (char const   *)"core.usereplacerefs");
  if (! tmp___73) {
    read_replace_refs = git_config_bool(var, value);
    return (0);
  }
  tmp___74 = noop_core_config(var, value, cb);
  return (tmp___74);
}
}
static int git_default_i18n_config(char const   *var , char const   *value )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___0 = strcmp(var, (char const   *)"i18n.commitencoding");
  if (! tmp___0) {
    tmp = git_config_string(& git_commit_encoding, var, value);
    return (tmp);
  }
  tmp___2 = strcmp(var, (char const   *)"i18n.logoutputencoding");
  if (! tmp___2) {
    tmp___1 = git_config_string(& git_log_output_encoding, var, value);
    return (tmp___1);
  }
  return (0);
}
}
static int git_default_branch_config(char const   *var , char const   *value )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  tmp___2 = strcmp(var, (char const   *)"branch.autosetupmerge");
  if (! tmp___2) {
    if (value) {
      tmp___0 = strcmp(value, (char const   *)"always");
      if (tmp___0) {
        goto _L;
      } else {
        git_branch_track = (enum branch_track )2;
        return (0);
      }
    } else
    _L: /* CIL Label */
    if (value) {
      tmp = strcmp(value, (char const   *)"inherit");
      if (! tmp) {
        git_branch_track = (enum branch_track )5;
        return (0);
      }
    }
    tmp___1 = git_config_bool(var, value);
    git_branch_track = (enum branch_track )tmp___1;
    return (0);
  }
  tmp___10 = strcmp(var, (char const   *)"branch.autosetuprebase");
  if (! tmp___10) {
    if (! value) {
      config_error_nonbool(var);
      tmp___3 = const_error();
      return (tmp___3);
    } else {
      tmp___9 = strcmp(value, (char const   *)"never");
      if (tmp___9) {
        tmp___8 = strcmp(value, (char const   *)"local");
        if (tmp___8) {
          tmp___7 = strcmp(value, (char const   *)"remote");
          if (tmp___7) {
            tmp___6 = strcmp(value, (char const   *)"always");
            if (tmp___6) {
              tmp___4 = _((char const   *)"malformed value for %s");
              error((char const   *)tmp___4, var);
              tmp___5 = const_error();
              return (tmp___5);
            } else {
              autorebase = (enum rebase_setup_type )3;
            }
          } else {
            autorebase = (enum rebase_setup_type )2;
          }
        } else {
          autorebase = (enum rebase_setup_type )1;
        }
      } else {
        autorebase = (enum rebase_setup_type )0;
      }
    }
    return (0);
  }
  return (0);
}
}
static int git_default_push_config(char const   *var , char const   *value )
{
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  tmp___9 = strcmp(var, (char const   *)"push.default");
  if (! tmp___9) {
    if (! value) {
      config_error_nonbool(var);
      tmp = const_error();
      return (tmp);
    } else {
      tmp___8 = strcmp(value, (char const   *)"nothing");
      if (tmp___8) {
        tmp___7 = strcmp(value, (char const   *)"matching");
        if (tmp___7) {
          tmp___6 = strcmp(value, (char const   *)"simple");
          if (tmp___6) {
            tmp___5 = strcmp(value, (char const   *)"upstream");
            if (tmp___5) {
              tmp___4 = strcmp(value, (char const   *)"tracking");
              if (tmp___4) {
                tmp___3 = strcmp(value, (char const   *)"current");
                if (tmp___3) {
                  tmp___0 = _((char const   *)"malformed value for %s: %s");
                  error((char const   *)tmp___0, var, value);
                  const_error();
                  tmp___1 = _((char const   *)"must be one of nothing, matching, simple, upstream or current");
                  error((char const   *)tmp___1);
                  tmp___2 = const_error();
                  return (tmp___2);
                } else {
                  push_default = (enum push_default_type )4;
                }
              } else {
                push_default = (enum push_default_type )3;
              }
            } else {
              push_default = (enum push_default_type )3;
            }
          } else {
            push_default = (enum push_default_type )2;
          }
        } else {
          push_default = (enum push_default_type )1;
        }
      } else {
        push_default = (enum push_default_type )0;
      }
    }
    return (0);
  }
  return (0);
}
}
static int git_default_mailmap_config(char const   *var , char const   *value )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___0 = strcmp(var, (char const   *)"mailmap.file");
  if (! tmp___0) {
    tmp = git_config_pathname(& git_mailmap_file, var, value);
    return (tmp);
  }
  tmp___2 = strcmp(var, (char const   *)"mailmap.blob");
  if (! tmp___2) {
    tmp___1 = git_config_string(& git_mailmap_blob, var, value);
    return (tmp___1);
  }
  return (0);
}
}
int git_default_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int level ;
  int tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  int tmp___21 ;

  {
  tmp___0 = starts_with(var, (char const   *)"core.");
  if (tmp___0) {
    tmp = git_default_core_config(var, value, cb);
    return (tmp);
  }
  tmp___2 = starts_with(var, (char const   *)"user.");
  if (tmp___2) {
    tmp___1 = git_ident_config(var, value, cb);
    return (tmp___1);
  } else {
    tmp___3 = starts_with(var, (char const   *)"author.");
    if (tmp___3) {
      tmp___1 = git_ident_config(var, value, cb);
      return (tmp___1);
    } else {
      tmp___4 = starts_with(var, (char const   *)"committer.");
      if (tmp___4) {
        tmp___1 = git_ident_config(var, value, cb);
        return (tmp___1);
      }
    }
  }
  tmp___6 = starts_with(var, (char const   *)"i18n.");
  if (tmp___6) {
    tmp___5 = git_default_i18n_config(var, value);
    return (tmp___5);
  }
  tmp___8 = starts_with(var, (char const   *)"branch.");
  if (tmp___8) {
    tmp___7 = git_default_branch_config(var, value);
    return (tmp___7);
  }
  tmp___10 = starts_with(var, (char const   *)"push.");
  if (tmp___10) {
    tmp___9 = git_default_push_config(var, value);
    return (tmp___9);
  }
  tmp___12 = starts_with(var, (char const   *)"mailmap.");
  if (tmp___12) {
    tmp___11 = git_default_mailmap_config(var, value);
    return (tmp___11);
  }
  tmp___14 = starts_with(var, (char const   *)"advice.");
  if (tmp___14) {
    tmp___13 = git_default_advice_config(var, value);
    return (tmp___13);
  } else {
    tmp___15 = starts_with(var, (char const   *)"color.advice");
    if (tmp___15) {
      tmp___13 = git_default_advice_config(var, value);
      return (tmp___13);
    }
  }
  tmp___16 = strcmp(var, (char const   *)"pager.color");
  if (tmp___16) {
    tmp___17 = strcmp(var, (char const   *)"color.pager");
    if (! tmp___17) {
      pager_use_color = git_config_bool(var, value);
      return (0);
    }
  } else {
    pager_use_color = git_config_bool(var, value);
    return (0);
  }
  tmp___18 = strcmp(var, (char const   *)"pack.packsizelimit");
  if (! tmp___18) {
    pack_size_limit_cfg = git_config_ulong(var, value);
    return (0);
  }
  tmp___21 = strcmp(var, (char const   *)"pack.compression");
  if (! tmp___21) {
    tmp___19 = git_config_int(var, value);
    level = tmp___19;
    if (level == -1) {
      level = -1;
    } else
    if (level < 0) {
      tmp___20 = _((char const   *)"bad pack compression level %d");
      die((char const   *)tmp___20, level);
    } else
    if (level > 9) {
      tmp___20 = _((char const   *)"bad pack compression level %d");
      die((char const   *)tmp___20, level);
    }
    pack_compression_level = level;
    pack_compression_seen = 1;
    return (0);
  }
  return (0);
}
}
static int do_config_from(struct config_source *top , int (*fn)(char const   * , char const   * ,
                                                                void * ) , void *data ,
                          struct config_options  const  *opts___1 )
{
  int ret___67 ;

  {
  top->prev = cf;
  top->linenr = 1;
  top->eof = 0;
  top->total_len = (size_t )0;
  strbuf_init(& top->value, (size_t )1024);
  strbuf_init(& top->var, (size_t )1024);
  cf = top;
  ret___67 = git_parse_source(fn, data, opts___1);
  strbuf_release(& top->value);
  strbuf_release(& top->var);
  cf = top->prev;
  return (ret___67);
}
}
static int do_config_from_file(int (*fn)(char const   * , char const   * , void * ) ,
                               enum config_origin_type  const  origin_type , char const   *name___0 ,
                               char const   *path___6 , FILE *f , void *data , struct config_options  const  *opts___1 )
{
  struct config_source top ;
  int ret___67 ;

  {
  top.u.file = f;
  top.origin_type = (enum config_origin_type )origin_type;
  top.name = name___0;
  top.path = path___6;
  top.default_error_action = (enum config_error_action )1;
  top.do_fgetc = & config_file_fgetc;
  top.do_ungetc = & config_file_ungetc;
  top.do_ftell = & config_file_ftell;
  flockfile(f);
  ret___67 = do_config_from(& top, fn, data, opts___1);
  funlockfile(f);
  return (ret___67);
}
}
static int git_config_from_stdin(int (*fn)(char const   * , char const   * , void * ) ,
                                 void *data )
{
  int tmp ;

  {
  tmp = do_config_from_file(fn, (enum config_origin_type  const  )2, (char const   *)"",
                            (char const   *)((void *)0), stdin, data, (struct config_options  const  *)((void *)0));
  return (tmp);
}
}
int git_config_from_file_with_options(int (*fn)(char const   * , char const   * ,
                                                void * ) , char const   *filename___0 ,
                                      void *data , struct config_options  const  *opts___1 )
{
  int ret___67 ;
  FILE *f ;

  {
  ret___67 = -1;
  f = fopen_or_warn(filename___0, (char const   *)"r");
  if (f) {
    ret___67 = do_config_from_file(fn, (enum config_origin_type  const  )1, filename___0,
                                   filename___0, f, data, opts___1);
    fclose(f);
  }
  return (ret___67);
}
}
int git_config_from_file(int (*fn)(char const   * , char const   * , void * ) , char const   *filename___0 ,
                         void *data )
{
  int tmp ;

  {
  tmp = git_config_from_file_with_options(fn, filename___0, data, (struct config_options  const  *)((void *)0));
  return (tmp);
}
}
int git_config_from_mem(int (*fn)(char const   * , char const   * , void * ) , enum config_origin_type  const  origin_type ,
                        char const   *name___0 , char const   *buf___19 , size_t len___0 ,
                        void *data , struct config_options  const  *opts___1 )
{
  struct config_source top ;
  int tmp ;

  {
  top.u.buf.buf = buf___19;
  top.u.buf.len = len___0;
  top.u.buf.pos = (size_t )0;
  top.origin_type = (enum config_origin_type )origin_type;
  top.name = name___0;
  top.path = (char const   *)((void *)0);
  top.default_error_action = (enum config_error_action )2;
  top.do_fgetc = & config_buf_fgetc;
  top.do_ungetc = & config_buf_ungetc;
  top.do_ftell = & config_buf_ftell;
  tmp = do_config_from(& top, fn, data, opts___1);
  return (tmp);
}
}
int git_config_from_blob_oid(int (*fn)(char const   * , char const   * , void * ) ,
                             char const   *name___0 , struct repository *repo , struct object_id  const  *oid ,
                             void *data )
{
  enum object_type type___0 ;
  char *buf___19 ;
  unsigned long size ;
  int ret___67 ;
  void *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  tmp = repo_read_object_file(repo, oid, & type___0, & size);
  buf___19 = (char *)tmp;
  if (! buf___19) {
    tmp___0 = _((char const   *)"unable to load config blob object \'%s\'");
    error((char const   *)tmp___0, name___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  if ((int )type___0 != 3) {
    free((void *)buf___19);
    tmp___2 = _((char const   *)"reference \'%s\' does not point to a blob");
    error((char const   *)tmp___2, name___0);
    tmp___3 = const_error();
    return (tmp___3);
  }
  ret___67 = git_config_from_mem(fn, (enum config_origin_type  const  )0, name___0,
                                 (char const   *)buf___19, size, data, (struct config_options  const  *)((void *)0));
  free((void *)buf___19);
  return (ret___67);
}
}
static int git_config_from_blob_ref(int (*fn)(char const   * , char const   * , void * ) ,
                                    struct repository *repo , char const   *name___0 ,
                                    void *data )
{
  struct object_id oid ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___1 = repo_get_oid(repo, name___0, & oid);
  if (tmp___1 < 0) {
    tmp = _((char const   *)"unable to resolve config blob \'%s\'");
    error((char const   *)tmp, name___0);
    tmp___0 = const_error();
    return (tmp___0);
  }
  tmp___2 = git_config_from_blob_oid(fn, name___0, repo, (struct object_id  const  *)(& oid),
                                     data);
  return (tmp___2);
}
}
char *git_system_config(void)
{
  char *system_config ;
  char *tmp ;
  char *tmp___0 ;

  {
  tmp = getenv((char const   *)"GIT_CONFIG_SYSTEM");
  tmp___0 = xstrdup_or_null((char const   *)tmp);
  system_config = tmp___0;
  if (! system_config) {
    system_config = system_path((char const   *)"/usr/local/etc/gitconfig");
  }
  normalize_path_copy(system_config, (char const   *)system_config);
  return (system_config);
}
}
void git_global_config(char **user_out , char **xdg_out )
{
  char *user_config ;
  char *tmp ;
  char *tmp___0 ;
  char *xdg_config ;

  {
  tmp = getenv((char const   *)"GIT_CONFIG_GLOBAL");
  tmp___0 = xstrdup_or_null((char const   *)tmp);
  user_config = tmp___0;
  xdg_config = (char *)((void *)0);
  if (! user_config) {
    user_config = interpolate_path((char const   *)"~/.gitconfig", 0);
    xdg_config = xdg_config_home((char const   *)"config");
  }
  *user_out = user_config;
  *xdg_out = xdg_config;
  return;
}
}
int git_env_bool(char const   *k , int def___0 )
{
  char const   *v ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = getenv(k);
  v = (char const   *)tmp;
  if (v) {
    tmp___0 = git_config_bool(k, v);
    tmp___1 = tmp___0;
  } else {
    tmp___1 = def___0;
  }
  return (tmp___1);
}
}
unsigned long git_env_ulong(char const   *k , unsigned long val )
{
  char const   *v ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  tmp = getenv(k);
  v = (char const   *)tmp;
  if (v) {
    tmp___1 = git_parse_ulong(v, & val);
    if (! tmp___1) {
      tmp___0 = _((char const   *)"failed to parse %s");
      die((char const   *)tmp___0, k);
    }
  }
  return (val);
}
}
int git_config_system(void)
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = git_env_bool((char const   *)"GIT_CONFIG_NOSYSTEM", 0);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
static int do_git_config_sequence(struct config_options  const  *opts___1 , int (*fn)(char const   * ,
                                                                                      char const   * ,
                                                                                      void * ) ,
                                  void *data )
{
  int ret___67 ;
  char *system_config ;
  char *tmp ;
  char *xdg_config ;
  char *user_config ;
  char *repo_config___0 ;
  enum config_scope prev_parsing_scope ;
  int tmp___0 ;
  int tmp___1 ;
  unsigned int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  char *path___6 ;
  char *tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;

  {
  ret___67 = 0;
  tmp = git_system_config();
  system_config = tmp;
  xdg_config = (char *)((void *)0);
  user_config = (char *)((void *)0);
  prev_parsing_scope = current_parsing_scope;
  if (opts___1->commondir) {
    repo_config___0 = mkpathdup((char const   *)"%s/config", opts___1->commondir);
  } else
  if (opts___1->git_dir) {
    BUG_fl((char const   *)"config.c", 1883, (char const   *)"git_dir without commondir");
  } else {
    repo_config___0 = (char *)((void *)0);
  }
  current_parsing_scope = (enum config_scope )1;
  tmp___1 = git_config_system();
  if (tmp___1) {
    if (system_config) {
      if (opts___1->system_gently) {
        tmp___2 = 1U;
      } else {
        tmp___2 = 0U;
      }
      tmp___3 = access_or_die((char const   *)system_config, 4, tmp___2);
      if (! tmp___3) {
        tmp___0 = git_config_from_file(fn, (char const   *)system_config, data);
        ret___67 += tmp___0;
      }
    }
  }
  current_parsing_scope = (enum config_scope )2;
  git_global_config(& user_config, & xdg_config);
  if (xdg_config) {
    tmp___5 = access_or_die((char const   *)xdg_config, 4, 1U);
    if (! tmp___5) {
      tmp___4 = git_config_from_file(fn, (char const   *)xdg_config, data);
      ret___67 += tmp___4;
    }
  }
  if (user_config) {
    tmp___7 = access_or_die((char const   *)user_config, 4, 1U);
    if (! tmp___7) {
      tmp___6 = git_config_from_file(fn, (char const   *)user_config, data);
      ret___67 += tmp___6;
    }
  }
  current_parsing_scope = (enum config_scope )3;
  if (! opts___1->ignore_repo) {
    if (repo_config___0) {
      tmp___9 = access_or_die((char const   *)repo_config___0, 4, 0U);
      if (! tmp___9) {
        tmp___8 = git_config_from_file(fn, (char const   *)repo_config___0, data);
        ret___67 += tmp___8;
      }
    }
  }
  current_parsing_scope = (enum config_scope )4;
  if (! opts___1->ignore_worktree) {
    if (repository_format_worktree_config) {
      tmp___10 = git_pathdup((char const   *)"config.worktree");
      path___6 = tmp___10;
      tmp___12 = access_or_die((char const   *)path___6, 4, 0U);
      if (! tmp___12) {
        tmp___11 = git_config_from_file(fn, (char const   *)path___6, data);
        ret___67 += tmp___11;
      }
      free((void *)path___6);
    }
  }
  current_parsing_scope = (enum config_scope )5;
  if (! opts___1->ignore_cmdline) {
    tmp___14 = git_config_from_parameters(fn, data);
    if (tmp___14 < 0) {
      tmp___13 = _((char const   *)"unable to parse command-line config");
      die((char const   *)tmp___13);
    }
  }
  current_parsing_scope = prev_parsing_scope;
  free((void *)system_config);
  free((void *)xdg_config);
  free((void *)user_config);
  free((void *)repo_config___0);
  return (ret___67);
}
}
int config_with_options(int (*fn)(char const   * , char const   * , void * ) , void *data ,
                        struct git_config_source *config_source , struct config_options  const  *opts___1 )
{
  struct config_include_data inc ;
  int tmp ;
  int tmp___0 ;
  struct repository *repo ;
  struct repository *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  inc.depth = 0;
  inc.fn = (int (*)(char const   * , char const   * , void * ))0;
  inc.data = (void *)0;
  inc.opts = (struct config_options  const  *)0;
  if (opts___1->respect_includes) {
    inc.fn = fn;
    inc.data = data;
    inc.opts = opts___1;
    fn = & git_config_include;
    data = (void *)(& inc);
  }
  if (config_source) {
    current_parsing_scope = config_source->scope;
  }
  if (config_source) {
    if (config_source->use_stdin) {
      tmp = git_config_from_stdin(fn, data);
      return (tmp);
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  if (config_source) {
    if (config_source->file) {
      tmp___0 = git_config_from_file(fn, config_source->file, data);
      return (tmp___0);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (config_source) {
    if (config_source->blob) {
      if (config_source->repo) {
        tmp___1 = config_source->repo;
      } else {
        tmp___1 = the_repository;
      }
      repo = tmp___1;
      tmp___2 = git_config_from_blob_ref(fn, repo, config_source->blob, data);
      return (tmp___2);
    }
  }
  tmp___3 = do_git_config_sequence(opts___1, fn, data);
  return (tmp___3);
}
}
static void configset_iter(struct config_set *cs , int (*fn)(char const   * , char const   * ,
                                                             void * ) , void *data )
{
  int i ;
  int value_index ;
  struct string_list *values ;
  struct config_set_element *entry ;
  struct configset_list *list___3 ;
  int tmp ;

  {
  list___3 = & cs->list;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < list___3->nr)) {
      goto while_break;
    }
    entry = (list___3->items + i)->e;
    value_index = (list___3->items + i)->value_index;
    values = & entry->value_list;
    current_config_kvi = (struct key_value_info *)(values->items + value_index)->util;
    tmp = (*fn)((char const   *)entry->key, (char const   *)(values->items + value_index)->string,
                data);
    if (tmp < 0) {
      git_die_config_linenr((char const   *)entry->key, current_config_kvi->filename,
                            current_config_kvi->linenr);
    }
    current_config_kvi = (struct key_value_info *)((void *)0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void read_early_config(int (*cb)(char const   * , char const   * , void * ) , void *data )
{
  struct config_options opts___1 ;
  struct strbuf commondir ;
  struct strbuf gitdir___0 ;
  int tmp ;
  int tmp___0 ;

  {
  opts___1.respect_includes = 0U;
  opts___1.ignore_repo = 0U;
  opts___1.ignore_worktree = 0U;
  opts___1.ignore_cmdline = 0U;
  opts___1.system_gently = 0U;
  opts___1.commondir = (char const   *)0;
  opts___1.git_dir = (char const   *)0;
  opts___1.event_fn = (int (*)(enum config_event_t type , size_t begin_offset , size_t end_offset ,
                               void *event_fn_data ))0;
  opts___1.event_fn_data = (void *)0;
  opts___1.error_action = 0U;
  commondir.alloc = 0UL;
  commondir.len = 0UL;
  commondir.buf = strbuf_slopbuf;
  gitdir___0.alloc = 0UL;
  gitdir___0.len = 0UL;
  gitdir___0.buf = strbuf_slopbuf;
  opts___1.respect_includes = 1U;
  tmp___0 = have_git_dir();
  if (tmp___0) {
    opts___1.commondir = get_git_common_dir();
    opts___1.git_dir = get_git_dir();
  } else {
    tmp = discover_git_directory(& commondir, & gitdir___0);
    if (! tmp) {
      opts___1.commondir = (char const   *)commondir.buf;
      opts___1.git_dir = (char const   *)gitdir___0.buf;
    }
  }
  config_with_options(cb, data, (struct git_config_source *)((void *)0), (struct config_options  const  *)(& opts___1));
  strbuf_release(& commondir);
  strbuf_release(& gitdir___0);
  return;
}
}
void read_very_early_config(int (*cb)(char const   * , char const   * , void * ) ,
                            void *data )
{
  struct config_options opts___1 ;

  {
  opts___1.respect_includes = 0U;
  opts___1.ignore_repo = 0U;
  opts___1.ignore_worktree = 0U;
  opts___1.ignore_cmdline = 0U;
  opts___1.system_gently = 0U;
  opts___1.commondir = (char const   *)0;
  opts___1.git_dir = (char const   *)0;
  opts___1.event_fn = (int (*)(enum config_event_t type , size_t begin_offset , size_t end_offset ,
                               void *event_fn_data ))0;
  opts___1.event_fn_data = (void *)0;
  opts___1.error_action = 0U;
  opts___1.respect_includes = 1U;
  opts___1.ignore_repo = 1U;
  opts___1.ignore_worktree = 1U;
  opts___1.ignore_cmdline = 1U;
  opts___1.system_gently = 1U;
  config_with_options(cb, data, (struct git_config_source *)((void *)0), (struct config_options  const  *)(& opts___1));
  return;
}
}
static struct config_set_element *configset_find_element(struct config_set *cs , char const   *key___1 )
{
  struct config_set_element k ;
  struct config_set_element *found_entry ;
  char *normalized_key ;
  int tmp ;
  unsigned int tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;

  {
  tmp = git_config_parse_key(key___1, & normalized_key, (size_t *)((void *)0));
  if (tmp) {
    return ((struct config_set_element *)((void *)0));
  }
  tmp___0 = strhash((char const   *)normalized_key);
  hashmap_entry_init(& k.ent, tmp___0);
  k.key = normalized_key;
  tmp___1 = hashmap_get((struct hashmap  const  *)(& cs->config_hash), (struct hashmap_entry  const  *)(& k.ent),
                        (void const   *)((void *)0));
  tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct config_set_element *)0)->ent));
  found_entry = (struct config_set_element *)tmp___2;
  free((void *)normalized_key);
  return (found_entry);
}
}
static int configset_add_value(struct config_set *cs , char const   *key___1 , char const   *value )
{
  struct config_set_element *e ;
  struct string_list_item *si ;
  struct configset_list_item *l_item ;
  struct key_value_info *kv_info ;
  void *tmp ;
  void *tmp___0 ;
  unsigned int tmp___1 ;
  char *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  unsigned int tmp___5 ;

  {
  tmp = xmalloc(sizeof(*kv_info));
  kv_info = (struct key_value_info *)tmp;
  e = configset_find_element(cs, key___1);
  if (! e) {
    tmp___0 = xmalloc(sizeof(*e));
    e = (struct config_set_element *)tmp___0;
    tmp___1 = strhash(key___1);
    hashmap_entry_init(& e->ent, tmp___1);
    e->key = xstrdup(key___1);
    string_list_init_dup(& e->value_list);
    hashmap_add(& cs->config_hash, & e->ent);
  }
  tmp___2 = xstrdup_or_null(value);
  si = string_list_append_nodup(& e->value_list, tmp___2);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (cs->list.nr + 1U > cs->list.alloc) {
      if (((cs->list.alloc + 16U) * 3U) / 2U < cs->list.nr + 1U) {
        cs->list.alloc = cs->list.nr + 1U;
      } else {
        cs->list.alloc = ((cs->list.alloc + 16U) * 3U) / 2U;
      }
      tmp___3 = st_mult(sizeof(*(cs->list.items)), (size_t )cs->list.alloc);
      tmp___4 = xrealloc((void *)cs->list.items, tmp___3);
      cs->list.items = (struct configset_list_item *)tmp___4;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___5 = cs->list.nr;
  (cs->list.nr) ++;
  l_item = cs->list.items + tmp___5;
  l_item->e = e;
  l_item->value_index = (int )(e->value_list.nr - 1U);
  if (! cf) {
    BUG_fl((char const   *)"config.c", 2078, (char const   *)"configset_add_value has no source");
  }
  if (cf->name) {
    kv_info->filename = strintern(cf->name);
    kv_info->linenr = cf->linenr;
    kv_info->origin_type = cf->origin_type;
  } else {
    kv_info->filename = (char const   *)((void *)0);
    kv_info->linenr = -1;
    kv_info->origin_type = (enum config_origin_type )4;
  }
  kv_info->scope = current_parsing_scope;
  si->util = (void *)kv_info;
  return (0);
}
}
static int config_set_element_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *eptr ,
                                  struct hashmap_entry  const  *entry_or_key , void const   *unused_keydata )
{
  struct config_set_element  const  *e1 ;
  struct config_set_element  const  *e2 ;
  int tmp ;

  {
  e1 = (struct config_set_element  const  *)((char *)eptr - (unsigned long )(& ((struct config_set_element  const  *)0)->ent));
  e2 = (struct config_set_element  const  *)((char *)entry_or_key - (unsigned long )(& ((struct config_set_element  const  *)0)->ent));
  tmp = strcmp((char const   *)e1->key, (char const   *)e2->key);
  return (tmp);
}
}
void git_configset_init(struct config_set *cs )
{


  {
  hashmap_init(& cs->config_hash, & config_set_element_cmp, (void const   *)((void *)0),
               (size_t )0);
  cs->hash_initialized = 1;
  cs->list.nr = 0U;
  cs->list.alloc = 0U;
  cs->list.items = (struct configset_list_item *)((void *)0);
  return;
}
}
void git_configset_clear(struct config_set *cs )
{
  struct config_set_element *entry ;
  struct hashmap_iter iter___0 ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;

  {
  if (! cs->hash_initialized) {
    return;
  }
  entry = (struct config_set_element *)((void *)0);
  tmp = hashmap_iter_first(& cs->config_hash, & iter___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct config_set_element *)0)->ent));
  entry = (struct config_set_element *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! entry) {
      goto while_break;
    }
    free((void *)entry->key);
    string_list_clear(& entry->value_list, 1);
    tmp___1 = hashmap_iter_next(& iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct config_set_element *)0)->ent));
    entry = (struct config_set_element *)tmp___2;
  }
  while_break: /* CIL Label */ ;
  }
  hashmap_clear_(& cs->config_hash, (ssize_t )((unsigned long )(& ((struct config_set_element *)0)->ent)));
  cs->hash_initialized = 0;
  free((void *)cs->list.items);
  cs->list.nr = 0U;
  cs->list.alloc = 0U;
  cs->list.items = (struct configset_list_item *)((void *)0);
  return;
}
}
static int config_set_callback(char const   *key___1 , char const   *value , void *cb )
{
  struct config_set *cs ;

  {
  cs = (struct config_set *)cb;
  configset_add_value(cs, key___1, value);
  return (0);
}
}
int git_configset_add_file(struct config_set *cs , char const   *filename___0 )
{
  int tmp ;

  {
  tmp = git_config_from_file(& config_set_callback, filename___0, (void *)cs);
  return (tmp);
}
}
int git_configset_get_value(struct config_set *cs , char const   *key___1 , char const   **value )
{
  struct string_list  const  *values ;

  {
  values = (struct string_list  const  *)((void *)0);
  values = git_configset_get_value_multi(cs, key___1);
  if (! values) {
    return (1);
  }
  assert(values->nr > 0U);
  *value = (char const   *)(values->items + (values->nr - 1U))->string;
  return (0);
}
}
struct string_list  const  *git_configset_get_value_multi(struct config_set *cs ,
                                                          char const   *key___1 )
{
  struct config_set_element *e ;
  struct config_set_element *tmp ;
  struct string_list *tmp___0 ;

  {
  tmp = configset_find_element(cs, key___1);
  e = tmp;
  if (e) {
    tmp___0 = & e->value_list;
  } else {
    tmp___0 = (struct string_list *)((void *)0);
  }
  return ((struct string_list  const  *)tmp___0);
}
}
int git_configset_get_string(struct config_set *cs , char const   *key___1 , char **dest )
{
  char const   *value ;
  int tmp ;
  int tmp___0 ;

  {
  tmp___0 = git_configset_get_value(cs, key___1, & value);
  if (tmp___0) {
    return (1);
  } else {
    tmp = git_config_string((char const   **)dest, key___1, value);
    return (tmp);
  }
}
}
int git_configset_get_string_tmp(struct config_set *cs , char const   *key___1 , char const   **dest )
{
  char const   *value ;
  int tmp ;
  int tmp___0 ;

  {
  tmp___0 = git_configset_get_value(cs, key___1, & value);
  if (tmp___0) {
    return (1);
  } else {
    if (! value) {
      config_error_nonbool(key___1);
      tmp = const_error();
      return (tmp);
    }
    *dest = value;
    return (0);
  }
}
}
int git_configset_get_int(struct config_set *cs , char const   *key___1 , int *dest )
{
  char const   *value ;
  int tmp ;

  {
  tmp = git_configset_get_value(cs, key___1, & value);
  if (tmp) {
    return (1);
  } else {
    *dest = git_config_int(key___1, value);
    return (0);
  }
}
}
int git_configset_get_ulong(struct config_set *cs , char const   *key___1 , unsigned long *dest )
{
  char const   *value ;
  int tmp ;

  {
  tmp = git_configset_get_value(cs, key___1, & value);
  if (tmp) {
    return (1);
  } else {
    *dest = git_config_ulong(key___1, value);
    return (0);
  }
}
}
int git_configset_get_bool(struct config_set *cs , char const   *key___1 , int *dest )
{
  char const   *value ;
  int tmp ;

  {
  tmp = git_configset_get_value(cs, key___1, & value);
  if (tmp) {
    return (1);
  } else {
    *dest = git_config_bool(key___1, value);
    return (0);
  }
}
}
int git_configset_get_bool_or_int(struct config_set *cs , char const   *key___1 ,
                                  int *is_bool , int *dest )
{
  char const   *value ;
  int tmp ;

  {
  tmp = git_configset_get_value(cs, key___1, & value);
  if (tmp) {
    return (1);
  } else {
    *dest = git_config_bool_or_int(key___1, value, is_bool);
    return (0);
  }
}
}
int git_configset_get_maybe_bool(struct config_set *cs , char const   *key___1 , int *dest )
{
  char const   *value ;
  int tmp ;

  {
  tmp = git_configset_get_value(cs, key___1, & value);
  if (tmp) {
    return (1);
  } else {
    *dest = git_parse_maybe_bool(value);
    if (*dest == -1) {
      return (-1);
    }
    return (0);
  }
}
}
int git_configset_get_pathname(struct config_set *cs , char const   *key___1 , char const   **dest )
{
  char const   *value ;
  int tmp ;
  int tmp___0 ;

  {
  tmp___0 = git_configset_get_value(cs, key___1, & value);
  if (tmp___0) {
    return (1);
  } else {
    tmp = git_config_pathname(dest, key___1, value);
    return (tmp);
  }
}
}
static void repo_read_config(struct repository *repo )
{
  struct config_options opts___1 ;
  void *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  opts___1.respect_includes = 0U;
  opts___1.ignore_repo = 0U;
  opts___1.ignore_worktree = 0U;
  opts___1.ignore_cmdline = 0U;
  opts___1.system_gently = 0U;
  opts___1.commondir = (char const   *)0;
  opts___1.git_dir = (char const   *)0;
  opts___1.event_fn = (int (*)(enum config_event_t type , size_t begin_offset , size_t end_offset ,
                               void *event_fn_data ))0;
  opts___1.event_fn_data = (void *)0;
  opts___1.error_action = 0U;
  opts___1.respect_includes = 1U;
  opts___1.commondir = (char const   *)repo->commondir;
  opts___1.git_dir = (char const   *)repo->gitdir;
  if (! repo->config) {
    tmp = xcalloc((size_t )1, sizeof(*(repo->config)));
    repo->config = (struct config_set *)tmp;
  } else {
    git_configset_clear(repo->config);
  }
  git_configset_init(repo->config);
  tmp___1 = config_with_options(& config_set_callback, (void *)repo->config, (struct git_config_source *)((void *)0),
                                (struct config_options  const  *)(& opts___1));
  if (tmp___1 < 0) {
    tmp___0 = _((char const   *)"unknown error occurred while reading the configuration files");
    die((char const   *)tmp___0);
  }
  return;
}
}
static void git_config_check_init(struct repository *repo )
{


  {
  if (repo->config) {
    if ((repo->config)->hash_initialized) {
      return;
    }
  }
  repo_read_config(repo);
  return;
}
}
static void repo_config_clear(struct repository *repo )
{


  {
  if (! repo->config) {
    return;
  } else
  if (! (repo->config)->hash_initialized) {
    return;
  }
  git_configset_clear(repo->config);
  return;
}
}
void repo_config(struct repository *repo , int (*fn)(char const   * , char const   * ,
                                                     void * ) , void *data )
{


  {
  git_config_check_init(repo);
  configset_iter(repo->config, fn, data);
  return;
}
}
int repo_config_get_value(struct repository *repo , char const   *key___1 , char const   **value )
{
  int tmp ;

  {
  git_config_check_init(repo);
  tmp = git_configset_get_value(repo->config, key___1, value);
  return (tmp);
}
}
struct string_list  const  *repo_config_get_value_multi(struct repository *repo ,
                                                        char const   *key___1 )
{
  struct string_list  const  *tmp ;

  {
  git_config_check_init(repo);
  tmp = git_configset_get_value_multi(repo->config, key___1);
  return (tmp);
}
}
int repo_config_get_string(struct repository *repo , char const   *key___1 , char **dest )
{
  int ret___67 ;

  {
  git_config_check_init(repo);
  ret___67 = git_configset_get_string(repo->config, key___1, dest);
  if (ret___67 < 0) {
    git_die_config(key___1, (char const   *)((void *)0));
  }
  return (ret___67);
}
}
int repo_config_get_string_tmp(struct repository *repo , char const   *key___1 , char const   **dest )
{
  int ret___67 ;

  {
  git_config_check_init(repo);
  ret___67 = git_configset_get_string_tmp(repo->config, key___1, dest);
  if (ret___67 < 0) {
    git_die_config(key___1, (char const   *)((void *)0));
  }
  return (ret___67);
}
}
int repo_config_get_int(struct repository *repo , char const   *key___1 , int *dest )
{
  int tmp ;

  {
  git_config_check_init(repo);
  tmp = git_configset_get_int(repo->config, key___1, dest);
  return (tmp);
}
}
int repo_config_get_ulong(struct repository *repo , char const   *key___1 , unsigned long *dest )
{
  int tmp ;

  {
  git_config_check_init(repo);
  tmp = git_configset_get_ulong(repo->config, key___1, dest);
  return (tmp);
}
}
int repo_config_get_bool(struct repository *repo , char const   *key___1 , int *dest )
{
  int tmp ;

  {
  git_config_check_init(repo);
  tmp = git_configset_get_bool(repo->config, key___1, dest);
  return (tmp);
}
}
int repo_config_get_bool_or_int(struct repository *repo , char const   *key___1 ,
                                int *is_bool , int *dest )
{
  int tmp ;

  {
  git_config_check_init(repo);
  tmp = git_configset_get_bool_or_int(repo->config, key___1, is_bool, dest);
  return (tmp);
}
}
int repo_config_get_maybe_bool(struct repository *repo , char const   *key___1 , int *dest )
{
  int tmp ;

  {
  git_config_check_init(repo);
  tmp = git_configset_get_maybe_bool(repo->config, key___1, dest);
  return (tmp);
}
}
int repo_config_get_pathname(struct repository *repo , char const   *key___1 , char const   **dest )
{
  int ret___67 ;

  {
  git_config_check_init(repo);
  ret___67 = git_configset_get_pathname(repo->config, key___1, dest);
  if (ret___67 < 0) {
    git_die_config(key___1, (char const   *)((void *)0));
  }
  return (ret___67);
}
}
void git_config(int (*fn)(char const   * , char const   * , void * ) , void *data )
{


  {
  repo_config(the_repository, fn, data);
  return;
}
}
void git_config_clear(void)
{


  {
  repo_config_clear(the_repository);
  return;
}
}
int git_config_get_value(char const   *key___1 , char const   **value )
{
  int tmp ;

  {
  tmp = repo_config_get_value(the_repository, key___1, value);
  return (tmp);
}
}
struct string_list  const  *git_config_get_value_multi(char const   *key___1 )
{
  struct string_list  const  *tmp ;

  {
  tmp = repo_config_get_value_multi(the_repository, key___1);
  return (tmp);
}
}
int git_config_get_string(char const   *key___1 , char **dest )
{
  int tmp ;

  {
  tmp = repo_config_get_string(the_repository, key___1, dest);
  return (tmp);
}
}
int git_config_get_string_tmp(char const   *key___1 , char const   **dest )
{
  int tmp ;

  {
  tmp = repo_config_get_string_tmp(the_repository, key___1, dest);
  return (tmp);
}
}
int git_config_get_int(char const   *key___1 , int *dest )
{
  int tmp ;

  {
  tmp = repo_config_get_int(the_repository, key___1, dest);
  return (tmp);
}
}
int git_config_get_ulong(char const   *key___1 , unsigned long *dest )
{
  int tmp ;

  {
  tmp = repo_config_get_ulong(the_repository, key___1, dest);
  return (tmp);
}
}
int git_config_get_bool(char const   *key___1 , int *dest )
{
  int tmp ;

  {
  tmp = repo_config_get_bool(the_repository, key___1, dest);
  return (tmp);
}
}
int git_config_get_bool_or_int(char const   *key___1 , int *is_bool , int *dest )
{
  int tmp ;

  {
  tmp = repo_config_get_bool_or_int(the_repository, key___1, is_bool, dest);
  return (tmp);
}
}
int git_config_get_maybe_bool(char const   *key___1 , int *dest )
{
  int tmp ;

  {
  tmp = repo_config_get_maybe_bool(the_repository, key___1, dest);
  return (tmp);
}
}
int git_config_get_pathname(char const   *key___1 , char const   **dest )
{
  int tmp ;

  {
  tmp = repo_config_get_pathname(the_repository, key___1, dest);
  return (tmp);
}
}
int git_config_get_expiry(char const   *key___1 , char const   **output___4 )
{
  int ret___67 ;
  int tmp ;
  timestamp_t now ;
  timestamp_t tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  timestamp_t tmp___2 ;
  int tmp___3 ;

  {
  tmp = git_config_get_string(key___1, (char **)output___4);
  ret___67 = tmp;
  if (ret___67) {
    return (ret___67);
  }
  tmp___3 = strcmp(*output___4, (char const   *)"now");
  if (tmp___3) {
    tmp___0 = approxidate_careful((char const   *)"now", (int *)((void *)0));
    now = tmp___0;
    tmp___2 = approxidate_careful(*output___4, (int *)((void *)0));
    if (tmp___2 >= now) {
      tmp___1 = _((char const   *)"Invalid %s: \'%s\'");
      git_die_config(key___1, (char const   *)tmp___1, key___1, *output___4);
    }
  }
  return (ret___67);
}
}
int git_config_get_expiry_in_days(char const   *key___1 , timestamp_t *expiry , timestamp_t now )
{
  char const   *expiry_string ;
  intmax_t days ;
  timestamp_t when ;
  int tmp ;
  int scale ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = git_config_get_string_tmp(key___1, & expiry_string);
  if (tmp) {
    return (1);
  }
  tmp___0 = git_parse_signed(expiry_string, & days, 9223372036854775807L >> (8UL * sizeof(intmax_t ) - 8UL * sizeof(int )));
  if (tmp___0) {
    scale = (int )86400;
    *expiry = now - (timestamp_t )(days * (intmax_t )scale);
    return (0);
  }
  tmp___1 = parse_expiry_date(expiry_string, & when);
  if (! tmp___1) {
    *expiry = when;
    return (0);
  }
  return (-1);
}
}
int git_config_get_split_index(void)
{
  int val ;
  int tmp ;

  {
  tmp = git_config_get_maybe_bool((char const   *)"core.splitindex", & val);
  if (! tmp) {
    return (val);
  }
  return (-1);
}
}
int git_config_get_max_percent_split_change(void)
{
  int val ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  val = -1;
  tmp___1 = git_config_get_int((char const   *)"splitindex.maxpercentchange", & val);
  if (! tmp___1) {
    if (0 <= val) {
      if (val <= 100) {
        return (val);
      }
    }
    tmp = _((char const   *)"splitIndex.maxPercentChange value \'%d\' should be between 0 and 100");
    error((char const   *)tmp, val);
    tmp___0 = const_error();
    return (tmp___0);
  }
  return (-1);
}
}
int git_config_get_fsmonitor(void)
{
  char *tmp ;
  int tmp___0 ;

  {
  tmp___0 = git_config_get_pathname((char const   *)"core.fsmonitor", & core_fsmonitor);
  if (tmp___0) {
    tmp = getenv((char const   *)"GIT_TEST_FSMONITOR");
    core_fsmonitor = (char const   *)tmp;
  }
  if (core_fsmonitor) {
    if (! *core_fsmonitor) {
      core_fsmonitor = (char const   *)((void *)0);
    }
  }
  if (core_fsmonitor) {
    return (1);
  }
  return (0);
}
}
int git_config_get_index_threads(int *dest )
{
  int is_bool ;
  int val ;
  unsigned long tmp ;
  int tmp___0 ;

  {
  tmp = git_env_ulong((char const   *)"GIT_TEST_INDEX_THREADS", 0UL);
  val = (int )tmp;
  if (val) {
    *dest = val;
    return (0);
  }
  tmp___0 = git_config_get_bool_or_int((char const   *)"index.threads", & is_bool,
                                       & val);
  if (! tmp___0) {
    if (is_bool) {
      if (val) {
        *dest = 0;
      } else {
        *dest = 1;
      }
    } else {
      *dest = val;
    }
    return (0);
  }
  return (1);
}
}
void git_die_config_linenr(char const   *key___1 , char const   *filename___0 , int linenr )  __attribute__((__noreturn__)) ;
void git_die_config_linenr(char const   *key___1 , char const   *filename___0 , int linenr )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  if (! filename___0) {
    tmp = _((char const   *)"unable to parse \'%s\' from command-line config");
    die((char const   *)tmp, key___1);
  } else {
    tmp___0 = _((char const   *)"bad config variable \'%s\' in file \'%s\' at line %d");
    die((char const   *)tmp___0, key___1, filename___0, linenr);
  }
}
}
void ( /* format attribute */  git_die_config)(char const   *key___1 , char const   *err___4
                                               , ...)  __attribute__((__noreturn__)) ;
void ( /* format attribute */  git_die_config)(char const   *key___1 , char const   *err___4
                                               , ...)
{
  struct string_list  const  *values ;
  struct key_value_info *kv_info ;
  void (*error_fn)(char const   * , va_list params ) ;
  report_fn tmp ;
  va_list params ;

  {
  tmp = get_error_routine();
  error_fn = tmp;
  if (err___4) {
    __builtin_va_start(params, err___4);
    (*error_fn)(err___4, params);
    __builtin_va_end(params);
  }
  values = git_config_get_value_multi(key___1);
  kv_info = (struct key_value_info *)(values->items + (values->nr - 1U))->util;
  git_die_config_linenr(key___1, kv_info->filename, kv_info->linenr);
}
}
static void config_store_data_clear(struct config_store_data *store )
{


  {
  free((void *)store->key);
  if ((unsigned long )store->value_pattern != (unsigned long )((void *)0)) {
    if ((unsigned long )store->value_pattern != (unsigned long )((void *)1)) {
      regfree(store->value_pattern);
      free((void *)store->value_pattern);
    }
  }
  free((void *)store->parsed);
  free((void *)store->seen);
  memset((void *)store, 0, sizeof(*store));
  return;
}
}
static int matches(char const   *key___1 , char const   *value , struct config_store_data  const  *store )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = strcmp(key___1, (char const   *)store->key);
  if (tmp) {
    return (0);
  }
  if (store->fixed_value) {
    tmp___0 = strcmp((char const   *)store->fixed_value, value);
    if (tmp___0) {
      tmp___1 = 0;
    } else {
      tmp___1 = 1;
    }
    return (tmp___1);
  }
  if (! store->value_pattern) {
    return (1);
  }
  if ((unsigned long )store->value_pattern == (unsigned long )((void *)1)) {
    return (0);
  }
  if (value) {
    tmp___2 = regexec((regex_t const   * __restrict  )store->value_pattern, (char const   * __restrict  )value,
                      (size_t )0, (regmatch_t * __restrict  )((void *)0), 0);
    if (tmp___2) {
      tmp___3 = 0;
    } else {
      tmp___3 = 1;
    }
  } else {
    tmp___3 = 0;
  }
  return ((int )(store->do_not_match ^ (int )tmp___3));
}
}
static int store_aux_event(enum config_event_t type___0 , size_t begin___0 , size_t end ,
                           void *data )
{
  struct config_store_data *store ;
  size_t tmp ;
  void *tmp___0 ;
  int (*cmpfn)(char const   * , char const   * , size_t  ) ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  size_t tmp___6 ;
  void *tmp___7 ;

  {
  store = (struct config_store_data *)data;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (store->parsed_nr + 1U > store->parsed_alloc) {
      if (((store->parsed_alloc + 16U) * 3U) / 2U < store->parsed_nr + 1U) {
        store->parsed_alloc = store->parsed_nr + 1U;
      } else {
        store->parsed_alloc = ((store->parsed_alloc + 16U) * 3U) / 2U;
      }
      tmp = st_mult(sizeof(*(store->parsed)), (size_t )store->parsed_alloc);
      tmp___0 = xrealloc((void *)store->parsed, tmp);
      store->parsed = (struct __anonstruct_parsed_70859958 *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  (store->parsed + store->parsed_nr)->begin = begin___0;
  (store->parsed + store->parsed_nr)->end = end;
  (store->parsed + store->parsed_nr)->type = type___0;
  if ((unsigned int )type___0 == 0U) {
    if (cf->var.len < 2UL) {
      tmp___1 = _((char const   *)"invalid section name \'%s\'");
      error((char const   *)tmp___1, cf->var.buf);
      tmp___2 = const_error();
      return (tmp___2);
    } else
    if ((int )*(cf->var.buf + (cf->var.len - 1UL)) != 46) {
      tmp___1 = _((char const   *)"invalid section name \'%s\'");
      error((char const   *)tmp___1, cf->var.buf);
      tmp___2 = const_error();
      return (tmp___2);
    }
    if (cf->subsection_case_sensitive) {
      cmpfn = (int (*)(char const   * , char const   * , size_t  ))(& strncasecmp);
    } else {
      cmpfn = (int (*)(char const   * , char const   * , size_t  ))(& strncmp);
    }
    if (cf->var.len - 1UL == store->baselen) {
      tmp___4 = (*cmpfn)((char const   *)cf->var.buf, (char const   *)store->key,
                         store->baselen);
      if (tmp___4) {
        tmp___5 = 0;
      } else {
        tmp___5 = 1;
      }
    } else {
      tmp___5 = 0;
    }
    tmp___3 = tmp___5;
    (store->parsed + store->parsed_nr)->is_keys_section = tmp___3;
    store->is_keys_section = (unsigned int )tmp___3;
    if (store->is_keys_section) {
      store->section_seen = 1U;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (store->seen_nr + 1U > store->seen_alloc) {
          if (((store->seen_alloc + 16U) * 3U) / 2U < store->seen_nr + 1U) {
            store->seen_alloc = store->seen_nr + 1U;
          } else {
            store->seen_alloc = ((store->seen_alloc + 16U) * 3U) / 2U;
          }
          tmp___6 = st_mult(sizeof(*(store->seen)), (size_t )store->seen_alloc);
          tmp___7 = xrealloc((void *)store->seen, tmp___6);
          store->seen = (unsigned int *)tmp___7;
        }
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
      *(store->seen + store->seen_nr) = store->parsed_nr;
    }
  }
  (store->parsed_nr) ++;
  return (0);
}
}
static int store_aux(char const   *key___1 , char const   *value , void *cb )
{
  struct config_store_data *store ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  int tmp___5 ;

  {
  store = (struct config_store_data *)cb;
  if (store->key_seen) {
    tmp___2 = matches(key___1, value, (struct config_store_data  const  *)store);
    if (tmp___2) {
      if (store->seen_nr == 1U) {
        if (store->multi_replace == 0) {
          tmp = _((char const   *)"%s has multiple values");
          warning((char const   *)tmp, key___1);
        }
      }
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (store->seen_nr + 1U > store->seen_alloc) {
          if (((store->seen_alloc + 16U) * 3U) / 2U < store->seen_nr + 1U) {
            store->seen_alloc = store->seen_nr + 1U;
          } else {
            store->seen_alloc = ((store->seen_alloc + 16U) * 3U) / 2U;
          }
          tmp___0 = st_mult(sizeof(*(store->seen)), (size_t )store->seen_alloc);
          tmp___1 = xrealloc((void *)store->seen, tmp___0);
          store->seen = (unsigned int *)tmp___1;
        }
        goto while_break;
      }
      while_break: /* CIL Label */ ;
      }
      *(store->seen + store->seen_nr) = store->parsed_nr;
      (store->seen_nr) ++;
    }
  } else
  if (store->is_keys_section) {
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (store->seen_nr + 1U > store->seen_alloc) {
        if (((store->seen_alloc + 16U) * 3U) / 2U < store->seen_nr + 1U) {
          store->seen_alloc = store->seen_nr + 1U;
        } else {
          store->seen_alloc = ((store->seen_alloc + 16U) * 3U) / 2U;
        }
        tmp___3 = st_mult(sizeof(*(store->seen)), (size_t )store->seen_alloc);
        tmp___4 = xrealloc((void *)store->seen, tmp___3);
        store->seen = (unsigned int *)tmp___4;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    *(store->seen + store->seen_nr) = store->parsed_nr;
    store->section_seen = 1U;
    tmp___5 = matches(key___1, value, (struct config_store_data  const  *)store);
    if (tmp___5) {
      (store->seen_nr) ++;
      store->key_seen = 1U;
    }
  }
  return (0);
}
}
static int write_error(char const   *filename___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  tmp = _((char const   *)"failed to write new configuration file %s");
  error((char const   *)tmp, filename___0);
  const_error();
  return (4);
}
}
static struct strbuf store_create_section(char const   *key___1 , struct config_store_data  const  *store )
{
  char const   *dot ;
  size_t i ;
  struct strbuf sb___6 ;
  void *tmp ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = memchr((void const   *)key___1, '.', (size_t )store->baselen);
  dot = (char const   *)tmp;
  if (dot) {
    strbuf_addf(& sb___6, (char const   *)"[%.*s \"", (int )(dot - key___1), key___1);
    i = (size_t )((dot - key___1) + 1L);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < (size_t )store->baselen)) {
        goto while_break;
      }
      if ((int const   )*(key___1 + i) == 34) {
        strbuf_addch(& sb___6, '\\');
      } else
      if ((int const   )*(key___1 + i) == 92) {
        strbuf_addch(& sb___6, '\\');
      }
      strbuf_addch(& sb___6, (int )*(key___1 + i));
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    strbuf_addstr(& sb___6, (char const   *)"\"]\n");
  } else {
    strbuf_addch(& sb___6, '[');
    strbuf_add(& sb___6, (void const   *)key___1, (size_t )store->baselen);
    strbuf_addstr(& sb___6, (char const   *)"]\n");
  }
  return (sb___6);
}
}
static ssize_t write_section(int fd , char const   *key___1 , struct config_store_data  const  *store )
{
  struct strbuf sb___6 ;
  struct strbuf tmp ;
  ssize_t ret___67 ;

  {
  tmp = store_create_section(key___1, store);
  sb___6 = tmp;
  ret___67 = write_in_full(fd, (void const   *)sb___6.buf, sb___6.len);
  strbuf_release(& sb___6);
  return (ret___67);
}
}
static ssize_t write_pair(int fd , char const   *key___1 , char const   *value , struct config_store_data  const  *store )
{
  int i ;
  ssize_t ret___67 ;
  char const   *quote ;
  struct strbuf sb___6 ;

  {
  quote = (char const   *)"";
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  if ((int const   )*(value + 0) == 32) {
    quote = (char const   *)"\"";
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(value + i)) {
      goto while_break;
    }
    if ((int const   )*(value + i) == 59) {
      quote = (char const   *)"\"";
    } else
    if ((int const   )*(value + i) == 35) {
      quote = (char const   *)"\"";
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (i) {
    if ((int const   )*(value + (i - 1)) == 32) {
      quote = (char const   *)"\"";
    }
  }
  strbuf_addf(& sb___6, (char const   *)"\t%s = %s", (key___1 + store->baselen) + 1,
              quote);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! *(value + i)) {
      goto while_break___0;
    }
    {
    if ((int const   )*(value + i) == 10) {
      goto case_10;
    }
    if ((int const   )*(value + i) == 9) {
      goto case_9;
    }
    if ((int const   )*(value + i) == 92) {
      goto case_92;
    }
    if ((int const   )*(value + i) == 34) {
      goto case_92;
    }
    goto switch_default;
    case_10: /* CIL Label */
    strbuf_addstr(& sb___6, (char const   *)"\\n");
    goto switch_break;
    case_9: /* CIL Label */
    strbuf_addstr(& sb___6, (char const   *)"\\t");
    goto switch_break;
    case_92: /* CIL Label */
    case_34: /* CIL Label */
    strbuf_addch(& sb___6, '\\');
    switch_default: /* CIL Label */
    strbuf_addch(& sb___6, (int )*(value + i));
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_addf(& sb___6, (char const   *)"%s\n", quote);
  ret___67 = write_in_full(fd, (void const   *)sb___6.buf, sb___6.len);
  strbuf_release(& sb___6);
  return (ret___67);
}
}
static void maybe_remove_section(struct config_store_data *store , size_t *begin_offset ,
                                 size_t *end_offset , int *seen_ptr )
{
  size_t begin___0 ;
  int i ;
  int seen___0 ;
  int section_seen ;
  enum config_event_t type___0 ;
  enum config_event_t type___1 ;

  {
  section_seen = 0;
  seen___0 = *seen_ptr;
  i = (int )*(store->seen + seen___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i > 0)) {
      goto while_break;
    }
    type___0 = (store->parsed + (i - 1))->type;
    if ((unsigned int )type___0 == 3U) {
      return;
    }
    if ((unsigned int )type___0 == 1U) {
      if (! section_seen) {
        return;
      }
      goto while_break;
    }
    if ((unsigned int )type___0 == 0U) {
      if (! (store->parsed + (i - 1))->is_keys_section) {
        goto while_break;
      }
      section_seen = 1;
    }
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  begin___0 = (store->parsed + i)->begin;
  i = (int )(*(store->seen + seen___0) + 1U);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < store->parsed_nr)) {
      goto while_break___0;
    }
    type___1 = (store->parsed + i)->type;
    if ((unsigned int )type___1 == 3U) {
      return;
    }
    if ((unsigned int )type___1 == 0U) {
      if ((store->parsed + i)->is_keys_section) {
        goto __Cont;
      }
      goto while_break___0;
    }
    if ((unsigned int )type___1 == 1U) {
      seen___0 ++;
      if ((unsigned int )seen___0 < store->seen_nr) {
        if ((unsigned int )i == *(store->seen + seen___0)) {
          goto __Cont;
        }
      }
      return;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  *seen_ptr = seen___0;
  *begin_offset = begin___0;
  if ((unsigned int )i < store->parsed_nr) {
    *end_offset = (store->parsed + i)->begin;
  } else {
    *end_offset = (store->parsed + (store->parsed_nr - 1U))->end;
  }
  return;
}
}
int git_config_set_in_file_gently(char const   *config_filename , char const   *key___1 ,
                                  char const   *value )
{
  int tmp ;

  {
  tmp = git_config_set_multivar_in_file_gently(config_filename, key___1, value, (char const   *)((void *)0),
                                               0U);
  return (tmp);
}
}
void git_config_set_in_file(char const   *config_filename , char const   *key___1 ,
                            char const   *value )
{


  {
  git_config_set_multivar_in_file(config_filename, key___1, value, (char const   *)((void *)0),
                                  0U);
  return;
}
}
int git_config_set_gently(char const   *key___1 , char const   *value )
{
  int tmp ;

  {
  tmp = git_config_set_multivar_gently(key___1, value, (char const   *)((void *)0),
                                       0U);
  return (tmp);
}
}
void git_config_set(char const   *key___1 , char const   *value )
{


  {
  git_config_set_multivar(key___1, value, (char const   *)((void *)0), 0U);
  trace2_cmd_set_config_fl((char const   *)"config.c", 2891, key___1, value);
  return;
}
}
int git_config_set_multivar_in_file_gently(char const   *config_filename , char const   *key___1 ,
                                           char const   *value , char const   *value_pattern___0 ,
                                           unsigned int flags___0 )
{
  int fd ;
  int in_fd ;
  int ret___67 ;
  struct lock_file lock___0 ;
  char *filename_buf ;
  char *contents ;
  size_t contents_sz ;
  struct config_store_data store ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int *tmp___2 ;
  ssize_t tmp___3 ;
  ssize_t tmp___4 ;
  struct stat st ;
  size_t copy_begin ;
  size_t copy_end ;
  int i ;
  int new_line ;
  struct config_options opts___1 ;
  void *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  size_t tmp___8 ;
  void *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  void *tmp___14 ;
  int *tmp___15 ;
  int *tmp___16 ;
  char const   *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  char const   *tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  char const   *tmp___21 ;
  int tmp___22 ;
  size_t tmp___23 ;
  void *tmp___24 ;
  size_t replace_end ;
  int j ;
  char c___0 ;
  ssize_t tmp___25 ;
  ssize_t tmp___26 ;
  ssize_t tmp___27 ;
  ssize_t tmp___28 ;
  ssize_t tmp___29 ;
  char const __attribute__((__format_arg__(1)))  *tmp___30 ;
  int tmp___31 ;
  char const   *tmp___32 ;

  {
  fd = -1;
  in_fd = -1;
  lock___0.tempfile = (struct tempfile *)0;
  filename_buf = (char *)((void *)0);
  contents = (char *)((void *)0);
  memset((void *)(& store), 0, sizeof(store));
  tmp = git_config_parse_key(key___1, & store.key, & store.baselen);
  ret___67 = 0 - tmp;
  if (ret___67) {
    goto out_free;
  }
  store.multi_replace = (flags___0 & 1U) != 0U;
  if (! config_filename) {
    filename_buf = git_pathdup((char const   *)"config");
    config_filename = (char const   *)filename_buf;
  }
  fd = hold_lock_file_for_update(& lock___0, config_filename, 0);
  if (fd < 0) {
    tmp___0 = _((char const   *)"could not lock config file %s");
    error_errno((char const   *)tmp___0, config_filename);
    const_error();
    ret___67 = -1;
    goto out_free;
  }
  in_fd = open(config_filename, 00);
  if (in_fd < 0) {
    tmp___2 = __errno_location();
    if (2 != *tmp___2) {
      tmp___1 = _((char const   *)"opening %s");
      error_errno((char const   *)tmp___1, config_filename);
      const_error();
      ret___67 = 3;
      goto out_free;
    }
    if ((unsigned long )value == (unsigned long )((void *)0)) {
      ret___67 = 5;
      goto out_free;
    }
    free((void *)store.key);
    store.key = xstrdup(key___1);
    tmp___3 = write_section(fd, key___1, (struct config_store_data  const  *)(& store));
    if (tmp___3 < 0L) {
      goto write_err_out;
    } else {
      tmp___4 = write_pair(fd, key___1, value, (struct config_store_data  const  *)(& store));
      if (tmp___4 < 0L) {
        goto write_err_out;
      }
    }
  } else {
    new_line = 0;
    if ((unsigned long )value_pattern___0 == (unsigned long )((void *)0)) {
      store.value_pattern = (regex_t *)((void *)0);
    } else
    if ((unsigned long )value_pattern___0 == (unsigned long )((void *)1)) {
      store.value_pattern = (regex_t *)((void *)1);
    } else
    if (flags___0 & (unsigned int )(1 << 1)) {
      store.fixed_value = value_pattern___0;
    } else {
      if ((int const   )*(value_pattern___0 + 0) == 33) {
        store.do_not_match = 1;
        value_pattern___0 ++;
      } else {
        store.do_not_match = 0;
      }
      tmp___5 = xmalloc(sizeof(regex_t ));
      store.value_pattern = (regex_t *)tmp___5;
      tmp___7 = regcomp((regex_t * __restrict  )store.value_pattern, (char const   * __restrict  )value_pattern___0,
                        1);
      if (tmp___7) {
        tmp___6 = _((char const   *)"invalid pattern: %s");
        error((char const   *)tmp___6, value_pattern___0);
        const_error();
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          free((void *)store.value_pattern);
          store.value_pattern = (regex_t *)((void *)0);
          goto while_break;
        }
        while_break: /* CIL Label */ ;
        }
        ret___67 = 6;
        goto out_free;
      }
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (1U > store.parsed_alloc) {
        if (((store.parsed_alloc + 16U) * 3U) / 2U < 1U) {
          store.parsed_alloc = 1U;
        } else {
          store.parsed_alloc = ((store.parsed_alloc + 16U) * 3U) / 2U;
        }
        tmp___8 = st_mult(sizeof(*(store.parsed)), (size_t )store.parsed_alloc);
        tmp___9 = xrealloc((void *)store.parsed, tmp___8);
        store.parsed = (struct __anonstruct_parsed_70859958 *)tmp___9;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    (store.parsed + 0)->end = (size_t )0;
    memset((void *)(& opts___1), 0, sizeof(opts___1));
    opts___1.event_fn = & store_aux_event;
    opts___1.event_fn_data = (void *)(& store);
    tmp___11 = git_config_from_file_with_options(& store_aux, config_filename, (void *)(& store),
                                                 (struct config_options  const  *)(& opts___1));
    if (tmp___11) {
      tmp___10 = _((char const   *)"invalid config file %s");
      error((char const   *)tmp___10, config_filename);
      const_error();
      ret___67 = 3;
      goto out_free;
    }
    if (store.seen_nr == 0U) {
      if ((unsigned long )value == (unsigned long )((void *)0)) {
        ret___67 = 5;
        goto out_free;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (store.seen_nr > 1U) {
      if (! store.multi_replace) {
        ret___67 = 5;
        goto out_free;
      }
    }
    tmp___13 = fstat(in_fd, & st);
    if (tmp___13 == -1) {
      tmp___12 = _((char const   *)"fstat on %s failed");
      error_errno((char const   *)tmp___12, config_filename);
      const_error();
      ret___67 = 3;
      goto out_free;
    }
    contents_sz = xsize_t(st.st_size);
    tmp___14 = xmmap_gently((void *)0, contents_sz, 0x1, 0x02, in_fd, (off_t )0);
    contents = (char *)tmp___14;
    if ((unsigned long )contents == (unsigned long )((void *)-1)) {
      tmp___16 = __errno_location();
      if (*tmp___16 == 19) {
        if ((st.st_mode & 61440U) == 16384U) {
          tmp___15 = __errno_location();
          *tmp___15 = 21;
        }
      }
      tmp___17 = mmap_os_err();
      tmp___18 = _((char const   *)"unable to mmap \'%s\'%s");
      error_errno((char const   *)tmp___18, config_filename, tmp___17);
      const_error();
      ret___67 = 3;
      contents = (char *)((void *)0);
      goto out_free;
    }
    close(in_fd);
    in_fd = -1;
    tmp___21 = get_lock_file_path(& lock___0);
    tmp___22 = chmod(tmp___21, st.st_mode & 4095U);
    if (tmp___22 < 0) {
      tmp___19 = get_lock_file_path(& lock___0);
      tmp___20 = _((char const   *)"chmod on %s failed");
      error_errno((char const   *)tmp___20, tmp___19);
      const_error();
      ret___67 = 4;
      goto out_free;
    }
    if (store.seen_nr == 0U) {
      if (! store.seen_alloc) {
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          if (1U > store.seen_alloc) {
            if (((store.seen_alloc + 16U) * 3U) / 2U < 1U) {
              store.seen_alloc = 1U;
            } else {
              store.seen_alloc = ((store.seen_alloc + 16U) * 3U) / 2U;
            }
            tmp___23 = st_mult(sizeof(*(store.seen)), (size_t )store.seen_alloc);
            tmp___24 = xrealloc((void *)store.seen, tmp___23);
            store.seen = (unsigned int *)tmp___24;
          }
          goto while_break___1;
        }
        while_break___1: /* CIL Label */ ;
        }
        *(store.seen + 0) = store.parsed_nr - (unsigned int )(! (! store.parsed_nr));
      }
      store.seen_nr = 1U;
    }
    i = 0;
    copy_begin = (size_t )0;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! ((unsigned int )i < store.seen_nr)) {
        goto while_break___2;
      }
      j = (int )*(store.seen + i);
      new_line = 0;
      if (! store.key_seen) {
        copy_end = (store.parsed + j)->end;
        if (copy_end > 0UL) {
          if (copy_end < contents_sz) {
            if ((int )*(contents + (copy_end - 1UL)) != 10) {
              if ((int )*(contents + copy_end) == 10) {
                copy_end ++;
              }
            }
          }
        }
        replace_end = copy_end;
      } else {
        replace_end = (store.parsed + j)->end;
        copy_end = (store.parsed + j)->begin;
        if (! value) {
          maybe_remove_section(& store, & copy_end, & replace_end, & i);
        }
        {
        while (1) {
          while_continue___3: /* CIL Label */ ;
          if (! (copy_end > 0UL)) {
            goto while_break___3;
          }
          c___0 = *(contents + (copy_end - 1UL));
          if (((int const   )sane_ctype[(unsigned char )c___0] & 1) != 0) {
            if ((int )c___0 != 10) {
              copy_end --;
            } else {
              goto while_break___3;
            }
          } else {
            goto while_break___3;
          }
        }
        while_break___3: /* CIL Label */ ;
        }
      }
      if (copy_end > 0UL) {
        if ((int )*(contents + (copy_end - 1UL)) != 10) {
          new_line = 1;
        }
      }
      if (copy_end > copy_begin) {
        tmp___25 = write_in_full(fd, (void const   *)(contents + copy_begin), copy_end - copy_begin);
        if (tmp___25 < 0L) {
          goto write_err_out;
        }
        if (new_line) {
          tmp___26 = write_str_in_full(fd, (char const   *)"\n");
          if (tmp___26 < 0L) {
            goto write_err_out;
          }
        }
      }
      copy_begin = replace_end;
      i ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    if ((unsigned long )value != (unsigned long )((void *)0)) {
      if (! store.section_seen) {
        tmp___27 = write_section(fd, key___1, (struct config_store_data  const  *)(& store));
        if (tmp___27 < 0L) {
          goto write_err_out;
        }
      }
      tmp___28 = write_pair(fd, key___1, value, (struct config_store_data  const  *)(& store));
      if (tmp___28 < 0L) {
        goto write_err_out;
      }
    }
    if (copy_begin < contents_sz) {
      tmp___29 = write_in_full(fd, (void const   *)(contents + copy_begin), contents_sz - copy_begin);
      if (tmp___29 < 0L) {
        goto write_err_out;
      }
    }
    munmap((void *)contents, contents_sz);
    contents = (char *)((void *)0);
  }
  tmp___31 = commit_lock_file(& lock___0);
  if (tmp___31 < 0) {
    tmp___30 = _((char const   *)"could not write config file %s");
    error_errno((char const   *)tmp___30, config_filename);
    const_error();
    ret___67 = 4;
    goto out_free;
  }
  ret___67 = 0;
  git_config_clear();
  out_free:
  rollback_lock_file(& lock___0);
  free((void *)filename_buf);
  if (contents) {
    munmap((void *)contents, contents_sz);
  }
  if (in_fd >= 0) {
    close(in_fd);
  }
  config_store_data_clear(& store);
  return (ret___67);
  write_err_out:
  tmp___32 = get_lock_file_path(& lock___0);
  ret___67 = write_error(tmp___32);
  goto out_free;
}
}
void git_config_set_multivar_in_file(char const   *config_filename , char const   *key___1 ,
                                     char const   *value , char const   *value_pattern___0 ,
                                     unsigned int flags___0 )
{
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  tmp = git_config_set_multivar_in_file_gently(config_filename, key___1, value, value_pattern___0,
                                               flags___0);
  if (! tmp) {
    return;
  }
  if (value) {
    tmp___0 = _((char const   *)"could not set \'%s\' to \'%s\'");
    die((char const   *)tmp___0, key___1, value);
  } else {
    tmp___1 = _((char const   *)"could not unset \'%s\'");
    die((char const   *)tmp___1, key___1);
  }
}
}
int git_config_set_multivar_gently(char const   *key___1 , char const   *value , char const   *value_pattern___0 ,
                                   unsigned int flags___0 )
{
  int tmp ;

  {
  tmp = git_config_set_multivar_in_file_gently((char const   *)((void *)0), key___1,
                                               value, value_pattern___0, flags___0);
  return (tmp);
}
}
void git_config_set_multivar(char const   *key___1 , char const   *value , char const   *value_pattern___0 ,
                             unsigned int flags___0 )
{


  {
  git_config_set_multivar_in_file((char const   *)((void *)0), key___1, value, value_pattern___0,
                                  flags___0);
  return;
}
}
static int section_name_match(char const   *buf___19 , char const   *name___0 )
{
  int i ;
  int j ;
  int dot ;
  int tmp ;
  int tmp___0 ;

  {
  i = 0;
  j = 0;
  dot = 0;
  if ((int const   )*(buf___19 + i) != 91) {
    return (0);
  }
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*(buf___19 + i)) {
      if (! ((int const   )*(buf___19 + i) != 93)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if (! dot) {
      if (((int const   )sane_ctype[(unsigned char )*(buf___19 + i)] & 1) != 0) {
        dot = 1;
        tmp = j;
        j ++;
        if ((int const   )*(name___0 + tmp) != 46) {
          goto while_break;
        }
        i ++;
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          if (! (((int const   )sane_ctype[(unsigned char )*(buf___19 + i)] & 1) != 0)) {
            goto while_break___0;
          }
          i ++;
        }
        while_break___0: /* CIL Label */ ;
        }
        if ((int const   )*(buf___19 + i) != 34) {
          goto while_break;
        }
        goto __Cont;
      }
    }
    if ((int const   )*(buf___19 + i) == 92) {
      if (dot) {
        i ++;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if ((int const   )*(buf___19 + i) == 34) {
      if (dot) {
        i ++;
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          if (! (((int const   )sane_ctype[(unsigned char )*(buf___19 + i)] & 1) != 0)) {
            goto while_break___1;
          }
          i ++;
        }
        while_break___1: /* CIL Label */ ;
        }
        goto while_break;
      }
    }
    tmp___0 = j;
    j ++;
    if ((int const   )*(buf___19 + i) != (int const   )*(name___0 + tmp___0)) {
      goto while_break;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if ((int const   )*(buf___19 + i) == 93) {
    if ((int const   )*(name___0 + j) == 0) {
      i ++;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (*(buf___19 + i)) {
          if (! (((int const   )sane_ctype[(unsigned char )*(buf___19 + i)] & 1) != 0)) {
            goto while_break___2;
          }
        } else {
          goto while_break___2;
        }
        i ++;
      }
      while_break___2: /* CIL Label */ ;
      }
      return (i);
    }
  }
  return (0);
}
}
static int section_name_is_ok(char const   *name___0 )
{


  {
  if (! *name___0) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*name___0) {
      if (! ((int const   )*name___0 != 46)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if ((int const   )*name___0 != 45) {
      if (! (((int const   )sane_ctype[(unsigned char )*name___0] & 6) != 0)) {
        return (0);
      }
    }
    name___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static int git_config_copy_or_rename_section_in_file(char const   *config_filename ,
                                                     char const   *old_name , char const   *new_name ,
                                                     int copy___0 )
{
  int ret___67 ;
  int remove___0 ;
  char *filename_buf ;
  struct lock_file lock___0 ;
  int out_fd ;
  char buf___19[1024] ;
  FILE *config_file ;
  struct stat st ;
  struct strbuf copystr ;
  struct config_store_data store ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const   *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const   *tmp___7 ;
  int tmp___8 ;
  unsigned int i ;
  int length ;
  int is_section ;
  char *output___4 ;
  int offset___2 ;
  char const   *tmp___9 ;
  ssize_t tmp___10 ;
  char const   *tmp___11 ;
  ssize_t tmp___12 ;
  size_t tmp___13 ;
  size_t tmp___14 ;
  char const   *tmp___15 ;
  ssize_t tmp___16 ;
  char *tmp___17 ;
  char const   *tmp___18 ;
  ssize_t tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  int tmp___21 ;

  {
  ret___67 = 0;
  remove___0 = 0;
  filename_buf = (char *)((void *)0);
  lock___0.tempfile = (struct tempfile *)0;
  config_file = (FILE *)((void *)0);
  copystr.alloc = 0UL;
  copystr.len = 0UL;
  copystr.buf = strbuf_slopbuf;
  memset((void *)(& store), 0, sizeof(store));
  if (new_name) {
    tmp___0 = section_name_is_ok(new_name);
    if (! tmp___0) {
      tmp = _((char const   *)"invalid section name: %s");
      error((char const   *)tmp, new_name);
      ret___67 = const_error();
      goto out_no_rollback;
    }
  }
  if (! config_filename) {
    filename_buf = git_pathdup((char const   *)"config");
    config_filename = (char const   *)filename_buf;
  }
  out_fd = hold_lock_file_for_update(& lock___0, config_filename, 0);
  if (out_fd < 0) {
    tmp___1 = _((char const   *)"could not lock config file %s");
    error((char const   *)tmp___1, config_filename);
    ret___67 = const_error();
    goto out;
  }
  config_file = git_fopen(config_filename, (char const   *)"rb");
  if (! config_file) {
    ret___67 = warn_on_fopen_errors(config_filename);
    if (ret___67) {
      goto out;
    }
    goto commit_and_out;
  }
  tmp___3 = fileno(config_file);
  tmp___4 = fstat(tmp___3, & st);
  if (tmp___4 == -1) {
    tmp___2 = _((char const   *)"fstat on %s failed");
    error_errno((char const   *)tmp___2, config_filename);
    ret___67 = const_error();
    goto out;
  }
  tmp___7 = get_lock_file_path(& lock___0);
  tmp___8 = chmod(tmp___7, st.st_mode & 4095U);
  if (tmp___8 < 0) {
    tmp___5 = get_lock_file_path(& lock___0);
    tmp___6 = _((char const   *)"chmod on %s failed");
    error_errno((char const   *)tmp___6, tmp___5);
    ret___67 = const_error();
    goto out;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___17 = fgets(buf___19, (int )sizeof(buf___19), config_file);
    if (! tmp___17) {
      goto while_break;
    }
    is_section = 0;
    output___4 = buf___19;
    i = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (buf___19[i]) {
        if (! (((int const   )sane_ctype[(unsigned char )buf___19[i]] & 1) != 0)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if ((int )buf___19[i] == 91) {
      is_section = 1;
      if (copystr.len > 0UL) {
        tmp___10 = write_in_full(out_fd, (void const   *)copystr.buf, copystr.len);
        if (tmp___10 < 0L) {
          tmp___9 = get_lock_file_path(& lock___0);
          ret___67 = write_error(tmp___9);
          goto out;
        }
        strbuf_setlen(& copystr, (size_t )0);
      }
      offset___2 = section_name_match((char const   *)(& buf___19[i]), old_name);
      if (offset___2 > 0) {
        ret___67 ++;
        if ((unsigned long )new_name == (unsigned long )((void *)0)) {
          remove___0 = 1;
          goto while_continue;
        }
        store.baselen = strlen(new_name);
        if (! copy___0) {
          tmp___12 = write_section(out_fd, new_name, (struct config_store_data  const  *)(& store));
          if (tmp___12 < 0L) {
            tmp___11 = get_lock_file_path(& lock___0);
            ret___67 = write_error(tmp___11);
            goto out;
          }
          output___4 += (unsigned int )offset___2 + i;
          tmp___13 = strlen((char const   *)output___4);
          if (tmp___13 > 0UL) {
            output___4 --;
            *(output___4 + 0) = (char )'\t';
          }
        } else {
          copystr = store_create_section(new_name, (struct config_store_data  const  *)(& store));
        }
      }
      remove___0 = 0;
    }
    if (remove___0) {
      goto while_continue;
    }
    tmp___14 = strlen((char const   *)output___4);
    length = (int )tmp___14;
    if (! is_section) {
      if (copystr.len > 0UL) {
        strbuf_add(& copystr, (void const   *)output___4, (size_t )length);
      }
    }
    tmp___16 = write_in_full(out_fd, (void const   *)output___4, (size_t )length);
    if (tmp___16 < 0L) {
      tmp___15 = get_lock_file_path(& lock___0);
      ret___67 = write_error(tmp___15);
      goto out;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (copystr.len > 0UL) {
    tmp___19 = write_in_full(out_fd, (void const   *)copystr.buf, copystr.len);
    if (tmp___19 < 0L) {
      tmp___18 = get_lock_file_path(& lock___0);
      ret___67 = write_error(tmp___18);
      goto out;
    }
    strbuf_setlen(& copystr, (size_t )0);
  }
  fclose(config_file);
  config_file = (FILE *)((void *)0);
  commit_and_out:
  tmp___21 = commit_lock_file(& lock___0);
  if (tmp___21 < 0) {
    tmp___20 = _((char const   *)"could not write config file %s");
    error_errno((char const   *)tmp___20, config_filename);
    ret___67 = const_error();
  }
  out:
  if (config_file) {
    fclose(config_file);
  }
  rollback_lock_file(& lock___0);
  out_no_rollback:
  free((void *)filename_buf);
  config_store_data_clear(& store);
  return (ret___67);
}
}
int git_config_rename_section_in_file(char const   *config_filename , char const   *old_name ,
                                      char const   *new_name )
{
  int tmp ;

  {
  tmp = git_config_copy_or_rename_section_in_file(config_filename, old_name, new_name,
                                                  0);
  return (tmp);
}
}
int git_config_rename_section(char const   *old_name , char const   *new_name )
{
  int tmp ;

  {
  tmp = git_config_rename_section_in_file((char const   *)((void *)0), old_name, new_name);
  return (tmp);
}
}
int git_config_copy_section_in_file(char const   *config_filename , char const   *old_name ,
                                    char const   *new_name )
{
  int tmp ;

  {
  tmp = git_config_copy_or_rename_section_in_file(config_filename, old_name, new_name,
                                                  1);
  return (tmp);
}
}
int git_config_copy_section(char const   *old_name , char const   *new_name )
{
  int tmp ;

  {
  tmp = git_config_copy_section_in_file((char const   *)((void *)0), old_name, new_name);
  return (tmp);
}
}
int config_error_nonbool(char const   *var )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  tmp = _((char const   *)"missing value for \'%s\'");
  error((char const   *)tmp, var);
  tmp___0 = const_error();
  return (tmp___0);
}
}
int parse_config_key(char const   *var , char const   *section , char const   **subsection ,
                     size_t *subsection_len , char const   **key___1 )
{
  char const   *dot ;
  int tmp ;
  char *tmp___0 ;

  {
  tmp = skip_prefix(var, section, & var);
  if (tmp) {
    if ((int const   )*var != 46) {
      return (-1);
    }
  } else {
    return (-1);
  }
  tmp___0 = strrchr(var, '.');
  dot = (char const   *)tmp___0;
  *key___1 = dot + 1;
  if ((unsigned long )dot == (unsigned long )var) {
    if (subsection) {
      *subsection = (char const   *)((void *)0);
      *subsection_len = (size_t )0;
    }
  } else {
    if (! subsection) {
      return (-1);
    }
    *subsection = var + 1;
    *subsection_len = (size_t )(dot - *subsection);
  }
  return (0);
}
}
char const   *current_config_origin_type(void)
{
  int type___0 ;

  {
  if (current_config_kvi) {
    type___0 = (int )current_config_kvi->origin_type;
  } else
  if (cf) {
    type___0 = (int )cf->origin_type;
  } else {
    BUG_fl((char const   *)"config.c", 3482, (char const   *)"current_config_origin_type called outside config callback");
  }
  {
  if (type___0 == 0) {
    goto case_0;
  }
  if (type___0 == 1) {
    goto case_1;
  }
  if (type___0 == 2) {
    goto case_2;
  }
  if (type___0 == 3) {
    goto case_3;
  }
  if (type___0 == 4) {
    goto case_4;
  }
  goto switch_default;
  case_0: /* CIL Label */
  return ((char const   *)"blob");
  case_1: /* CIL Label */
  return ((char const   *)"file");
  case_2: /* CIL Label */
  return ((char const   *)"standard input");
  case_3: /* CIL Label */
  return ((char const   *)"submodule-blob");
  case_4: /* CIL Label */
  return ((char const   *)"command line");
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"config.c", 3496, (char const   *)"unknown config origin type");
  switch_break: /* CIL Label */ ;
  }
}
}
char const   *config_scope_name(enum config_scope scope )
{


  {
  {
  if ((unsigned int )scope == 1U) {
    goto case_1;
  }
  if ((unsigned int )scope == 2U) {
    goto case_2;
  }
  if ((unsigned int )scope == 3U) {
    goto case_3;
  }
  if ((unsigned int )scope == 4U) {
    goto case_4;
  }
  if ((unsigned int )scope == 5U) {
    goto case_5;
  }
  if ((unsigned int )scope == 6U) {
    goto case_6;
  }
  goto switch_default;
  case_1: /* CIL Label */
  return ((char const   *)"system");
  case_2: /* CIL Label */
  return ((char const   *)"global");
  case_3: /* CIL Label */
  return ((char const   *)"local");
  case_4: /* CIL Label */
  return ((char const   *)"worktree");
  case_5: /* CIL Label */
  return ((char const   *)"command");
  case_6: /* CIL Label */
  return ((char const   *)"submodule");
  switch_default: /* CIL Label */
  return ((char const   *)"unknown");
  switch_break: /* CIL Label */ ;
  }
}
}
char const   *current_config_name(void)
{
  char const   *name___0 ;
  char const   *tmp ;

  {
  if (current_config_kvi) {
    name___0 = current_config_kvi->filename;
  } else
  if (cf) {
    name___0 = cf->name;
  } else {
    BUG_fl((char const   *)"config.c", 3528, (char const   *)"current_config_name called outside config callback");
  }
  if (name___0) {
    tmp = name___0;
  } else {
    tmp = (char const   *)"";
  }
  return (tmp);
}
}
enum config_scope current_config_scope(void)
{


  {
  if (current_config_kvi) {
    return (current_config_kvi->scope);
  } else {
    return (current_parsing_scope);
  }
}
}
int current_config_line(void)
{


  {
  if (current_config_kvi) {
    return (current_config_kvi->linenr);
  } else {
    return (cf->linenr);
  }
}
}
int lookup_config(char const   **mapping , int nr_mapping , char const   *var )
{
  int i ;
  char const   *name___0 ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_mapping)) {
      goto while_break;
    }
    name___0 = *(mapping + i);
    if (name___0) {
      tmp = strcasecmp(var, name___0);
      if (! tmp) {
        return (i);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (-1);
}
}
enum protocol_version get_protocol_version_config(void) ;
enum protocol_version determine_protocol_version_server(void) ;
enum protocol_version determine_protocol_version_client(char const   *server_response ) ;
struct child_process *git_connect(int *fd , char const   *url , char const   *prog ,
                                  int flags___0 ) ;
int finish_connect(struct child_process *conn ) ;
int git_connection_is_socket(struct child_process *conn ) ;
int server_supports(char const   *feature ) ;
int parse_feature_request(char const   *feature_list , char const   *feature ) ;
char const   *server_feature_value(char const   *feature , int *len___0 ) ;
int url_is_local_not_ssh(char const   *url ) ;
enum protocol_version discover_version(struct packet_reader *reader ) ;
int server_supports_hash(char const   *desired , int *feature_supported ) ;
char const   *parse_feature_value(char const   *feature_list , char const   *feature ,
                                  int *lenp , int *offset___2 ) ;
int server_supports_v2(char const   *c___0 , int die_on_error ) ;
int server_feature_v2(char const   *c___0 , char const   **v ) ;
int server_supports_feature(char const   *c___0 , char const   *feature , int die_on_error ) ;
void check_stateless_delimiter(int stateless_rpc___0 , struct packet_reader *reader ,
                               char const   *error___0 ) ;
int is_url(char const   *url ) ;
int is_urlschemechar(int first_flag , int ch___0 ) ;
char *url_decode(char const   *url ) ;
char *url_decode_mem(char const   *url , int len___0 ) ;
char *url_percent_decode(char const   *encoded ) ;
char *url_decode_parameter_name(char const   **query ) ;
char *url_decode_parameter_value(char const   **query ) ;
void end_url_with_slash(struct strbuf *buf___19 , char const   *url ) ;
void str_end_url_with_slash(char const   *url , char **dest ) ;
char const   *list_object_filter_config_name(enum list_objects_filter_choice c___0 ) ;
void list_objects_filter_die_if_populated(struct list_objects_filter_options *filter_options___3 ) ;
void parse_list_objects_filter(struct list_objects_filter_options *filter_options___3 ,
                               char const   *arg ) ;
int opt_parse_list_objects_filter(struct option  const  *opt___0 , char const   *arg ,
                                  int unset ) ;
char const   *expand_list_objects_filter_spec(struct list_objects_filter_options *filter___0 ) ;
char const   *list_objects_filter_spec(struct list_objects_filter_options *filter___0 ) ;
void list_objects_filter_release(struct list_objects_filter_options *filter_options___3 ) ;
__inline static void list_objects_filter_set_no_filter(struct list_objects_filter_options *filter_options___3 )
{


  {
  list_objects_filter_release(filter_options___3);
  filter_options___3->no_filter = 1U;
  return;
}
}
void partial_clone_register(char const   *remote , struct list_objects_filter_options *filter_options___3 ) ;
void partial_clone_get_default_filter_spec(struct list_objects_filter_options *filter_options___3 ,
                                           char const   *remote ) ;
int transport_summary_width(struct ref  const  *refs___0 ) ;
struct transport *transport_get(struct remote *remote , char const   *url ) ;
int is_transport_allowed(char const   *type___0 , int from_user ) ;
void transport_check_allowed(char const   *type___0 ) ;
int transport_set_option(struct transport *transport , char const   *name___0 , char const   *value ) ;
void transport_set_verbosity(struct transport *transport , int verbosity___3 , int force_progress ) ;
int transport_push(struct repository *r , struct transport *transport , struct refspec *rs___0 ,
                   int flags___0 , unsigned int *reject_reasons ) ;
struct ref  const  *transport_get_remote_refs(struct transport *transport , struct transport_ls_refs_options *transport_options ) ;
struct git_hash_algo  const  *transport_get_hash_algo(struct transport *transport ) ;
int transport_fetch_refs(struct transport *transport , struct ref *refs___0 ) ;
void transport_unlock_pack(struct transport *transport , unsigned int flags___0 ) ;
int transport_disconnect(struct transport *transport ) ;
char *transport_anonymize_url(char const   *url ) ;
void transport_take_over(struct transport *transport , struct child_process *child ) ;
int transport_connect(struct transport *transport , char const   *name___0 , char const   *exec ,
                      int *fd ) ;
int transport_helper_init(struct transport *transport , char const   *name___0 ) ;
int bidirectional_transfer_loop(int input , int output___4 ) ;
void transport_update_tracking_ref(struct remote *remote , struct ref *ref , int verbose___15 ) ;
int transport_refs_pushed(struct ref *ref ) ;
void transport_print_push_status(char const   *dest , struct ref *refs___0 , int verbose___15 ,
                                 int porcelain , unsigned int *reject_reasons ) ;
void reject_atomic_push(struct ref *remote_refs , int mirror_mode ) ;
char const   git_version_string[25] ;
char const   git_built_from_commit_string[41] ;
char const   *git_user_agent(void) ;
char const   *git_user_agent_sanitized(void) ;
static char *server_capabilities_v1  ;
static struct strvec server_capabilities_v2  =    {empty_strvec, 0UL, 0UL};
static char const   *next_server_feature_value(char const   *feature , int *len___0 ,
                                               int *offset___2 ) ;
static int check_ref(char const   *name___0 , unsigned int flags___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (! flags___0) {
    return (1);
  }
  tmp = skip_prefix(name___0, (char const   *)"refs/", & name___0);
  if (! tmp) {
    return (0);
  }
  if (flags___0 & 1u) {
    tmp___0 = check_refname_format(name___0, 0);
    if (tmp___0) {
      return (0);
    }
  }
  if (flags___0 & (1u << 1)) {
    tmp___1 = starts_with(name___0, (char const   *)"heads/");
    if (tmp___1) {
      return (1);
    }
  }
  if (flags___0 & (1u << 2)) {
    tmp___2 = starts_with(name___0, (char const   *)"tags/");
    if (tmp___2) {
      return (1);
    }
  }
  return (! (flags___0 & 4294967294U));
}
}
int check_ref_type(struct ref  const  *ref , int flags___0 )
{
  int tmp ;

  {
  tmp = check_ref((char const   *)(ref->name), (unsigned int )flags___0);
  return (tmp);
}
}
static void die_initial_contact(int unexpected )  __attribute__((__noreturn__)) ;
static void die_initial_contact(int unexpected )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  if (unexpected) {
    tmp = _((char const   *)"the remote end hung up upon initial contact");
    die((char const   *)tmp);
  } else {
    tmp___0 = _((char const   *)"Could not read from remote repository.\n\nPlease make sure you have the correct access rights\nand the repository exists.");
    die((char const   *)tmp___0);
  }
}
}
int server_supports_v2(char const   *c___0 , int die_on_error )
{
  int i ;
  char const   *out ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < server_capabilities_v2.nr)) {
      goto while_break;
    }
    tmp = skip_prefix(*(server_capabilities_v2.v + i), c___0, & out);
    if (tmp) {
      if (! *out) {
        return (1);
      } else
      if ((int const   )*out == 61) {
        return (1);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (die_on_error) {
    tmp___0 = _((char const   *)"server doesn\'t support \'%s\'");
    die((char const   *)tmp___0, c___0);
  }
  return (0);
}
}
int server_feature_v2(char const   *c___0 , char const   **v )
{
  int i ;
  char const   *out ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < server_capabilities_v2.nr)) {
      goto while_break;
    }
    tmp = skip_prefix(*(server_capabilities_v2.v + i), c___0, & out);
    if (tmp) {
      if ((int const   )*out == 61) {
        *v = out + 1;
        return (1);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int server_supports_feature(char const   *c___0 , char const   *feature , int die_on_error )
{
  int i ;
  char const   *out ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < server_capabilities_v2.nr)) {
      goto while_break;
    }
    tmp___0 = skip_prefix(*(server_capabilities_v2.v + i), c___0, & out);
    if (tmp___0) {
      if (! *out) {
        goto _L;
      } else {
        tmp___1 = out;
        out ++;
        if ((int const   )*tmp___1 == 61) {
          _L: /* CIL Label */
          tmp = parse_feature_request(out, feature);
          if (tmp) {
            return (1);
          } else {
            goto while_break;
          }
        }
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (die_on_error) {
    tmp___2 = _((char const   *)"server doesn\'t support feature \'%s\'");
    die((char const   *)tmp___2, feature);
  }
  return (0);
}
}
static void process_capabilities_v2(struct packet_reader *reader )
{
  enum packet_read_status tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = packet_reader_read(reader);
    if (! ((unsigned int )tmp == 1U)) {
      goto while_break;
    }
    strvec_push(& server_capabilities_v2, reader->line);
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned int )reader->status != 2U) {
    tmp___0 = _((char const   *)"expected flush after capabilities");
    die((char const   *)tmp___0);
  }
  return;
}
}
enum protocol_version discover_version(struct packet_reader *reader )
{
  enum protocol_version version___0 ;
  enum packet_read_status tmp ;

  {
  version___0 = (enum protocol_version )-1;
  tmp = packet_reader_peek(reader);
  {
  if ((unsigned int )tmp == 0U) {
    goto case_0;
  }
  if ((unsigned int )tmp == 4U) {
    goto case_4;
  }
  if ((unsigned int )tmp == 3U) {
    goto case_4;
  }
  if ((unsigned int )tmp == 2U) {
    goto case_4;
  }
  if ((unsigned int )tmp == 1U) {
    goto case_1;
  }
  goto switch_break;
  case_0: /* CIL Label */
  die_initial_contact(0);
  case_4: /* CIL Label */
  case_3: /* CIL Label */
  case_2: /* CIL Label */
  version___0 = (enum protocol_version )0;
  goto switch_break;
  case_1: /* CIL Label */
  version___0 = determine_protocol_version_client(reader->line);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  {
  if ((int )version___0 == 2) {
    goto case_2___0;
  }
  if ((int )version___0 == 1) {
    goto case_1___0;
  }
  if ((int )version___0 == 0) {
    goto case_0___0;
  }
  if ((int )version___0 == -1) {
    goto case_neg_1;
  }
  goto switch_break___0;
  case_2___0: /* CIL Label */
  process_capabilities_v2(reader);
  goto switch_break___0;
  case_1___0: /* CIL Label */
  packet_reader_read(reader);
  goto switch_break___0;
  case_0___0: /* CIL Label */
  goto switch_break___0;
  case_neg_1: /* CIL Label */
  BUG_fl((char const   *)"connect.c", 164, (char const   *)"unknown protocol version");
  switch_break___0: /* CIL Label */ ;
  }
  trace2_data_intmax_fl((char const   *)"connect.c", 167, (char const   *)"transfer",
                        (struct repository  const  *)((void *)0), (char const   *)"negotiated-version",
                        (intmax_t )version___0);
  return (version___0);
}
}
static void parse_one_symref_info(struct string_list *symref , char const   *val ,
                                  int len___0 )
{
  char *sym ;
  char *target ;
  struct string_list_item *item___0 ;
  void *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (! len___0) {
    return;
  }
  tmp = xmemdupz((void const   *)val, (size_t )len___0);
  sym = (char *)tmp;
  target = strchr((char const   *)sym, ':');
  if (! target) {
    goto reject;
  }
  tmp___0 = target;
  target ++;
  *tmp___0 = (char )'\000';
  tmp___1 = check_refname_format((char const   *)sym, 1);
  if (tmp___1) {
    goto reject;
  } else {
    tmp___2 = check_refname_format((char const   *)target, 1);
    if (tmp___2) {
      goto reject;
    }
  }
  item___0 = string_list_append_nodup(symref, sym);
  item___0->util = (void *)target;
  return;
  reject:
  free((void *)sym);
  return;
}
}
static void annotate_refs_with_symref_info(struct ref *ref )
{
  struct string_list symref ;
  int offset___2 ;
  int len___0 ;
  char const   *val ;
  struct string_list_item *item___0 ;

  {
  symref.items = (struct string_list_item *)0;
  symref.nr = 0U;
  symref.alloc = 0U;
  symref.strdup_strings = 1U;
  symref.cmp = (int (*)(char const   * , char const   * ))0;
  offset___2 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    val = next_server_feature_value((char const   *)"symref", & len___0, & offset___2);
    if (! val) {
      goto while_break;
    }
    parse_one_symref_info(& symref, val, len___0);
  }
  while_break: /* CIL Label */ ;
  }
  string_list_sort(& symref);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ref) {
      goto while_break___0;
    }
    item___0 = string_list_lookup(& symref, (char const   *)(ref->name));
    if (! item___0) {
      goto __Cont;
    }
    ref->symref = xstrdup((char const   *)((char *)item___0->util));
    __Cont: /* CIL Label */
    ref = ref->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  string_list_clear(& symref, 0);
  return;
}
}
static void process_capabilities(struct packet_reader *reader , int *linelen___1 )
{
  char const   *feat_val ;
  int feat_len ;
  char const   *line___0 ;
  int nul_location ;
  size_t tmp ;
  char *hash_name ;
  char *tmp___0 ;
  int hash_algo ;
  int tmp___1 ;

  {
  line___0 = reader->line;
  tmp = strlen(line___0);
  nul_location = (int )tmp;
  if (nul_location == *linelen___1) {
    return;
  }
  server_capabilities_v1 = xstrdup((line___0 + nul_location) + 1);
  *linelen___1 = nul_location;
  feat_val = server_feature_value((char const   *)"object-format", & feat_len);
  if (feat_val) {
    tmp___0 = xstrndup(feat_val, (size_t )feat_len);
    hash_name = tmp___0;
    tmp___1 = hash_algo_by_name((char const   *)hash_name);
    hash_algo = tmp___1;
    if (hash_algo != 0) {
      reader->hash_algo = & hash_algos[hash_algo];
    }
    free((void *)hash_name);
  } else {
    reader->hash_algo = & hash_algos[1];
  }
  return;
}
}
static int process_dummy_ref(struct packet_reader  const  *reader )
{
  char const   *line___0 ;
  struct object_id oid ;
  char const   *name___0 ;
  int tmp ;
  struct object_id  const  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  line___0 = (char const   *)reader->line;
  tmp = parse_oid_hex_algop(line___0, & oid, & name___0, (struct git_hash_algo  const  *)reader->hash_algo);
  if (tmp) {
    return (0);
  }
  if ((int const   )*name___0 != 32) {
    return (0);
  }
  name___0 ++;
  tmp___0 = null_oid();
  tmp___1 = oideq(tmp___0, (struct object_id  const  *)(& oid));
  if (tmp___1) {
    tmp___2 = strcmp(name___0, (char const   *)"capabilities^{}");
    if (tmp___2) {
      tmp___3 = 0;
    } else {
      tmp___3 = 1;
    }
  } else {
    tmp___3 = 0;
  }
  return (tmp___3);
}
}
static void check_no_capabilities(char const   *line___0 , int len___0 )
{
  size_t tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  size_t tmp___1 ;

  {
  tmp___1 = strlen(line___0);
  if (tmp___1 != (size_t )len___0) {
    tmp = strlen(line___0);
    tmp___0 = _((char const   *)"ignoring capabilities after first line \'%s\'");
    warning((char const   *)tmp___0, line___0 + tmp);
  }
  return;
}
}
static int process_ref(struct packet_reader  const  *reader , int len___0 , struct ref ***list___3 ,
                       unsigned int flags___0 , struct oid_array *extra_have )
{
  char const   *line___0 ;
  struct object_id old_oid ;
  char const   *name___0 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  struct ref *ref ;
  struct ref *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  line___0 = (char const   *)reader->line;
  tmp = parse_oid_hex_algop(line___0, & old_oid, & name___0, (struct git_hash_algo  const  *)reader->hash_algo);
  if (tmp) {
    return (0);
  }
  if ((int const   )*name___0 != 32) {
    return (0);
  }
  name___0 ++;
  if (extra_have) {
    tmp___4 = strcmp(name___0, (char const   *)".have");
    if (tmp___4) {
      goto _L;
    } else {
      oid_array_append(extra_have, (struct object_id  const  *)(& old_oid));
    }
  } else {
    _L: /* CIL Label */
    tmp___3 = strcmp(name___0, (char const   *)"capabilities^{}");
    if (tmp___3) {
      tmp___2 = check_ref(name___0, flags___0);
      if (tmp___2) {
        tmp___1 = alloc_ref(name___0);
        ref = tmp___1;
        oidcpy(& ref->old_oid, (struct object_id  const  *)(& old_oid));
        *(*list___3) = ref;
        *list___3 = & ref->next;
      }
    } else {
      tmp___0 = _((char const   *)"protocol error: unexpected capabilities^{}");
      die((char const   *)tmp___0);
    }
  }
  check_no_capabilities(line___0, len___0);
  return (1);
}
}
static int process_shallow(struct packet_reader  const  *reader , int len___0 , struct oid_array *shallow_points )
{
  char const   *line___0 ;
  char const   *arg ;
  struct object_id old_oid ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  line___0 = (char const   *)reader->line;
  tmp = skip_prefix(line___0, (char const   *)"shallow ", & arg);
  if (! tmp) {
    return (0);
  }
  tmp___1 = get_oid_hex_algop(arg, & old_oid, (struct git_hash_algo  const  *)reader->hash_algo);
  if (tmp___1) {
    tmp___0 = _((char const   *)"protocol error: expected shallow sha-1, got \'%s\'");
    die((char const   *)tmp___0, arg);
  }
  if (! shallow_points) {
    tmp___2 = _((char const   *)"repository on the other end cannot be shallow");
    die((char const   *)tmp___2);
  }
  oid_array_append(shallow_points, (struct object_id  const  *)(& old_oid));
  check_no_capabilities(line___0, len___0);
  return (1);
}
}
struct ref **get_remote_heads(struct packet_reader *reader , struct ref **list___3 ,
                              unsigned int flags___0 , struct oid_array *extra_have ,
                              struct oid_array *shallow_points )
{
  struct ref **orig_list ;
  int len___0 ;
  enum get_remote_heads_state state___1 ;
  enum packet_read_status tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  orig_list = list___3;
  len___0 = 0;
  state___1 = (enum get_remote_heads_state )0;
  *list___3 = (struct ref *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )state___1 != 3U)) {
      goto while_break;
    }
    tmp = packet_reader_read(reader);
    {
    if ((unsigned int )tmp == 0U) {
      goto case_0;
    }
    if ((unsigned int )tmp == 1U) {
      goto case_1;
    }
    if ((unsigned int )tmp == 2U) {
      goto case_2;
    }
    if ((unsigned int )tmp == 4U) {
      goto case_4;
    }
    if ((unsigned int )tmp == 3U) {
      goto case_4;
    }
    goto switch_break;
    case_0: /* CIL Label */
    die_initial_contact(1);
    case_1: /* CIL Label */
    len___0 = reader->pktlen;
    goto switch_break;
    case_2: /* CIL Label */
    state___1 = (enum get_remote_heads_state )3;
    goto switch_break;
    case_4: /* CIL Label */
    case_3: /* CIL Label */
    tmp___0 = _((char const   *)"invalid packet");
    die((char const   *)tmp___0);
    switch_break: /* CIL Label */ ;
    }
    {
    if ((unsigned int )state___1 == 0U) {
      goto case_0___0;
    }
    if ((unsigned int )state___1 == 1U) {
      goto case_1___0;
    }
    if ((unsigned int )state___1 == 2U) {
      goto case_2___0;
    }
    if ((unsigned int )state___1 == 3U) {
      goto case_3___0;
    }
    goto switch_break___0;
    case_0___0: /* CIL Label */
    process_capabilities(reader, & len___0);
    tmp___1 = process_dummy_ref((struct packet_reader  const  *)reader);
    if (tmp___1) {
      state___1 = (enum get_remote_heads_state )2;
      goto switch_break___0;
    }
    state___1 = (enum get_remote_heads_state )1;
    case_1___0: /* CIL Label */
    tmp___2 = process_ref((struct packet_reader  const  *)reader, len___0, & list___3,
                          flags___0, extra_have);
    if (tmp___2) {
      goto switch_break___0;
    }
    state___1 = (enum get_remote_heads_state )2;
    case_2___0: /* CIL Label */
    tmp___3 = process_shallow((struct packet_reader  const  *)reader, len___0, shallow_points);
    if (tmp___3) {
      goto switch_break___0;
    }
    tmp___4 = _((char const   *)"protocol error: unexpected \'%s\'");
    die((char const   *)tmp___4, reader->line);
    case_3___0: /* CIL Label */
    goto switch_break___0;
    switch_break___0: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  annotate_refs_with_symref_info(*orig_list);
  return (list___3);
}
}
static int process_ref_v2(struct packet_reader *reader , struct ref ***list___3 ,
                          char **unborn_head_target )
{
  int ret___67 ;
  int i ;
  struct object_id old_oid ;
  struct ref *ref ;
  struct string_list line_sections ;
  char const   *end ;
  char const   *line___0 ;
  int tmp ;
  char const   *arg ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const   *arg___0 ;
  int tmp___7 ;
  struct object_id peeled_oid ;
  char *peeled_name ;
  struct ref *peeled ;
  int tmp___8 ;
  int tmp___9 ;

  {
  ret___67 = 1;
  i = 0;
  line_sections.items = (struct string_list_item *)0;
  line_sections.nr = 0U;
  line_sections.alloc = 0U;
  line_sections.strdup_strings = 1U;
  line_sections.cmp = (int (*)(char const   * , char const   * ))0;
  line___0 = reader->line;
  tmp = string_list_split(& line_sections, line___0, ' ', -1);
  if (tmp < 2) {
    ret___67 = 0;
    goto out;
  }
  tmp___3 = strcmp((char const   *)"unborn", (char const   *)(line_sections.items + i)->string);
  if (! tmp___3) {
    i ++;
    if (unborn_head_target) {
      tmp___1 = i;
      i ++;
      tmp___2 = strcmp((char const   *)"HEAD", (char const   *)(line_sections.items + tmp___1)->string);
      if (! tmp___2) {
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          if (! ((unsigned int )i < line_sections.nr)) {
            goto while_break;
          }
          arg = (char const   *)(line_sections.items + i)->string;
          tmp___0 = skip_prefix(arg, (char const   *)"symref-target:", & arg);
          if (tmp___0) {
            *unborn_head_target = xstrdup(arg);
            goto while_break;
          }
          i ++;
        }
        while_break: /* CIL Label */ ;
        }
      }
    }
    goto out;
  }
  tmp___4 = i;
  i ++;
  tmp___5 = parse_oid_hex_algop((char const   *)(line_sections.items + tmp___4)->string,
                                & old_oid, & end, reader->hash_algo);
  if (tmp___5) {
    ret___67 = 0;
    goto out;
  } else
  if (*end) {
    ret___67 = 0;
    goto out;
  }
  tmp___6 = i;
  i ++;
  ref = alloc_ref((char const   *)(line_sections.items + tmp___6)->string);
  memcpy((void *)(ref->old_oid.hash), (void const   *)(old_oid.hash), (size_t )(reader->hash_algo)->rawsz);
  *(*list___3) = ref;
  *list___3 = & ref->next;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < line_sections.nr)) {
      goto while_break___0;
    }
    arg___0 = (char const   *)(line_sections.items + i)->string;
    tmp___7 = skip_prefix(arg___0, (char const   *)"symref-target:", & arg___0);
    if (tmp___7) {
      ref->symref = xstrdup(arg___0);
    }
    tmp___9 = skip_prefix(arg___0, (char const   *)"peeled:", & arg___0);
    if (tmp___9) {
      tmp___8 = parse_oid_hex_algop(arg___0, & peeled_oid, & end, reader->hash_algo);
      if (tmp___8) {
        ret___67 = 0;
        goto out;
      } else
      if (*end) {
        ret___67 = 0;
        goto out;
      }
      peeled_name = xstrfmt((char const   *)"%s^{}", ref->name);
      peeled = alloc_ref((char const   *)peeled_name);
      memcpy((void *)(peeled->old_oid.hash), (void const   *)(peeled_oid.hash), (size_t )(reader->hash_algo)->rawsz);
      *(*list___3) = peeled;
      *list___3 = & peeled->next;
      free((void *)peeled_name);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  out:
  string_list_clear(& line_sections, 0);
  return (ret___67);
}
}
void check_stateless_delimiter(int stateless_rpc___0 , struct packet_reader *reader ,
                               char const   *error___0 )
{
  enum packet_read_status tmp ;

  {
  if (! stateless_rpc___0) {
    return;
  }
  tmp = packet_reader_read(reader);
  if ((unsigned int )tmp != 4U) {
    die((char const   *)"%s", error___0);
  }
  return;
}
}
struct ref **get_remote_refs(int fd_out___0 , struct packet_reader *reader , struct ref **list___3 ,
                             int for_push , struct transport_ls_refs_options *transport_options ,
                             struct string_list  const  *server_options___1 , int stateless_rpc___0 )
{
  int i ;
  char const   *hash_name ;
  struct strvec *ref_prefixes ;
  struct strvec *tmp ;
  char **unborn_head_target ;
  char **tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  int hash_algo ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  enum packet_read_status tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;

  {
  if (transport_options) {
    tmp = & transport_options->ref_prefixes;
  } else {
    tmp = (struct strvec *)((void *)0);
  }
  ref_prefixes = tmp;
  if (transport_options) {
    tmp___0 = & transport_options->unborn_head_target;
  } else {
    tmp___0 = (char **)((void *)0);
  }
  unborn_head_target = tmp___0;
  *list___3 = (struct ref *)((void *)0);
  tmp___1 = server_supports_v2((char const   *)"ls-refs", 1);
  if (tmp___1) {
    packet_write_fmt(fd_out___0, (char const   *)"command=ls-refs\n");
  }
  tmp___3 = server_supports_v2((char const   *)"agent", 0);
  if (tmp___3) {
    tmp___2 = git_user_agent_sanitized();
    packet_write_fmt(fd_out___0, (char const   *)"agent=%s", tmp___2);
  }
  tmp___6 = server_feature_v2((char const   *)"object-format", & hash_name);
  if (tmp___6) {
    tmp___4 = hash_algo_by_name(hash_name);
    hash_algo = tmp___4;
    if (hash_algo == 0) {
      tmp___5 = _((char const   *)"unknown object format \'%s\' specified by server");
      die((char const   *)tmp___5, hash_name);
    }
    reader->hash_algo = & hash_algos[hash_algo];
    packet_write_fmt(fd_out___0, (char const   *)"object-format=%s", (reader->hash_algo)->name);
  } else {
    reader->hash_algo = & hash_algos[1];
  }
  if (server_options___1) {
    if (server_options___1->nr) {
      tmp___7 = server_supports_v2((char const   *)"server-option", 1);
      if (tmp___7) {
        i = 0;
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          if (! ((unsigned int )i < server_options___1->nr)) {
            goto while_break;
          }
          packet_write_fmt(fd_out___0, (char const   *)"server-option=%s", (server_options___1->items + i)->string);
          i ++;
        }
        while_break: /* CIL Label */ ;
        }
      }
    }
  }
  packet_delim(fd_out___0);
  if (! for_push) {
    packet_write_fmt(fd_out___0, (char const   *)"peel\n");
  }
  packet_write_fmt(fd_out___0, (char const   *)"symrefs\n");
  tmp___8 = server_supports_feature((char const   *)"ls-refs", (char const   *)"unborn",
                                    0);
  if (tmp___8) {
    packet_write_fmt(fd_out___0, (char const   *)"unborn\n");
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (ref_prefixes) {
      if (! ((size_t )i < ref_prefixes->nr)) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    packet_write_fmt(fd_out___0, (char const   *)"ref-prefix %s\n", *(ref_prefixes->v + i));
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  packet_flush(fd_out___0);
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    tmp___11 = packet_reader_read(reader);
    if (! ((unsigned int )tmp___11 == 1U)) {
      goto while_break___1;
    }
    tmp___10 = process_ref_v2(reader, & list___3, unborn_head_target);
    if (! tmp___10) {
      tmp___9 = _((char const   *)"invalid ls-refs response: %s");
      die((char const   *)tmp___9, reader->line);
    }
  }
  while_break___1: /* CIL Label */ ;
  }
  if ((unsigned int )reader->status != 2U) {
    tmp___12 = _((char const   *)"expected flush after ref listing");
    die((char const   *)tmp___12);
  }
  tmp___13 = _((char const   *)"expected response end packet after ref listing");
  check_stateless_delimiter(stateless_rpc___0, reader, (char const   *)tmp___13);
  return (list___3);
}
}
char const   *parse_feature_value(char const   *feature_list , char const   *feature ,
                                  int *lenp , int *offset___2 )
{
  int len___0 ;
  size_t tmp ;
  char const   *found ;
  char *tmp___0 ;
  char const   *value ;
  int end ;
  size_t tmp___1 ;

  {
  if (! feature_list) {
    return ((char const   *)((void *)0));
  }
  tmp = strlen(feature);
  len___0 = (int )tmp;
  if (offset___2) {
    feature_list += *offset___2;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *feature_list) {
      goto while_break;
    }
    tmp___0 = strstr(feature_list, feature);
    found = (char const   *)tmp___0;
    if (! found) {
      return ((char const   *)((void *)0));
    }
    if ((unsigned long )feature_list == (unsigned long )found) {
      goto _L___0;
    } else
    if (((int const   )sane_ctype[(unsigned char )*(found + -1)] & 1) != 0) {
      _L___0: /* CIL Label */
      value = found + len___0;
      if (! *value) {
        goto _L;
      } else
      if (((int const   )sane_ctype[(unsigned char )*value] & 1) != 0) {
        _L: /* CIL Label */
        if (lenp) {
          *lenp = 0;
        }
        if (offset___2) {
          *offset___2 = (int )((found + len___0) - feature_list);
        }
        return (value);
      } else
      if ((int const   )*value == 61) {
        value ++;
        tmp___1 = strcspn(value, (char const   *)" \t\n");
        end = (int )tmp___1;
        if (lenp) {
          *lenp = end;
        }
        if (offset___2) {
          *offset___2 = (int )((value + end) - feature_list);
        }
        return (value);
      }
    }
    feature_list = found + 1;
  }
  while_break: /* CIL Label */ ;
  }
  return ((char const   *)((void *)0));
}
}
int server_supports_hash(char const   *desired , int *feature_supported )
{
  int offset___2 ;
  int len___0 ;
  char const   *hash___0 ;
  size_t tmp ;
  int tmp___0 ;

  {
  offset___2 = 0;
  hash___0 = next_server_feature_value((char const   *)"object-format", & len___0,
                                       & offset___2);
  if (feature_supported) {
    *feature_supported = ! (! hash___0);
  }
  if (! hash___0) {
    hash___0 = (char const   *)hash_algos[1].name;
    tmp = strlen(hash___0);
    len___0 = (int )tmp;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! hash___0) {
      goto while_break;
    }
    tmp___0 = xstrncmpz(desired, hash___0, (size_t )len___0);
    if (! tmp___0) {
      return (1);
    }
    hash___0 = next_server_feature_value((char const   *)"object-format", & len___0,
                                         & offset___2);
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int parse_feature_request(char const   *feature_list , char const   *feature )
{
  char const   *tmp ;
  int tmp___0 ;

  {
  tmp = parse_feature_value(feature_list, feature, (int *)((void *)0), (int *)((void *)0));
  if (tmp) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static char const   *next_server_feature_value(char const   *feature , int *len___0 ,
                                               int *offset___2 )
{
  char const   *tmp ;

  {
  tmp = parse_feature_value((char const   *)server_capabilities_v1, feature, len___0,
                            offset___2);
  return (tmp);
}
}
char const   *server_feature_value(char const   *feature , int *len___0 )
{
  char const   *tmp ;

  {
  tmp = parse_feature_value((char const   *)server_capabilities_v1, feature, len___0,
                            (int *)((void *)0));
  return (tmp);
}
}
int server_supports(char const   *feature )
{
  char const   *tmp ;
  int tmp___0 ;

  {
  tmp = server_feature_value(feature, (int *)((void *)0));
  if (tmp) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
int url_is_local_not_ssh(char const   *url )
{
  char const   *colon ;
  char *tmp ;
  char const   *slash ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = strchr(url, ':');
  colon = (char const   *)tmp;
  tmp___0 = strchr(url, '/');
  slash = (char const   *)tmp___0;
  if (! colon) {
    tmp___2 = 1;
  } else
  if (slash) {
    if ((unsigned long )slash < (unsigned long )colon) {
      tmp___2 = 1;
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp___1 = git_has_dos_drive_prefix(url);
    if (tmp___1) {
      tmp___2 = 1;
    } else {
      tmp___2 = 0;
    }
  }
  return (tmp___2);
}
}
static char const   *prot_name(enum protocol protocol )
{


  {
  {
  if ((unsigned int )protocol == 2U) {
    goto case_2;
  }
  if ((unsigned int )protocol == 1U) {
    goto case_2;
  }
  if ((unsigned int )protocol == 3U) {
    goto case_3;
  }
  if ((unsigned int )protocol == 4U) {
    goto case_4;
  }
  goto switch_default;
  case_2: /* CIL Label */
  case_1: /* CIL Label */
  return ((char const   *)"file");
  case_3: /* CIL Label */
  return ((char const   *)"ssh");
  case_4: /* CIL Label */
  return ((char const   *)"git");
  switch_default: /* CIL Label */
  return ((char const   *)"unknown protocol");
  switch_break: /* CIL Label */ ;
  }
}
}
static enum protocol get_protocol(char const   *name___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  tmp = strcmp(name___0, (char const   *)"ssh");
  if (! tmp) {
    return ((enum protocol )3);
  }
  tmp___0 = strcmp(name___0, (char const   *)"git");
  if (! tmp___0) {
    return ((enum protocol )4);
  }
  tmp___1 = strcmp(name___0, (char const   *)"git+ssh");
  if (! tmp___1) {
    return ((enum protocol )3);
  }
  tmp___2 = strcmp(name___0, (char const   *)"ssh+git");
  if (! tmp___2) {
    return ((enum protocol )3);
  }
  tmp___3 = strcmp(name___0, (char const   *)"file");
  if (! tmp___3) {
    return ((enum protocol )2);
  }
  tmp___4 = _((char const   *)"protocol \'%s\' is not supported");
  die((char const   *)tmp___4, name___0);
}
}
static char *host_end(char **hoststart , int removebrackets )
{
  char *host ;
  char *end ;
  char *start ;
  char *tmp ;

  {
  host = *hoststart;
  tmp = strstr((char const   *)host, (char const   *)"@[");
  start = tmp;
  if (start) {
    start ++;
  } else {
    start = host;
  }
  if ((int )*(start + 0) == 91) {
    end = strchr((char const   *)(start + 1), ']');
    if (end) {
      if (removebrackets) {
        *end = (char)0;
        memmove((void *)start, (void const   *)(start + 1), (size_t )(end - start));
        end ++;
      }
    } else {
      end = host;
    }
  } else {
    end = host;
  }
  return (end);
}
}
static void get_host_and_port(char **host , char const   **port )
{
  char *colon ;
  char *end ;
  long portnr ;
  long tmp ;

  {
  end = host_end(host, 1);
  colon = strchr((char const   *)end, ':');
  if (colon) {
    tmp = strtol((char const   * __restrict  )(colon + 1), (char ** __restrict  )(& end),
                 10);
    portnr = tmp;
    if ((unsigned long )end != (unsigned long )(colon + 1)) {
      if ((int )*end == 0) {
        if (0L <= portnr) {
          if (portnr < 65536L) {
            *colon = (char)0;
            *port = (char const   *)(colon + 1);
          } else {
            goto _L___1;
          }
        } else {
          goto _L___1;
        }
      } else {
        goto _L___1;
      }
    } else
    _L___1: /* CIL Label */
    _L___0: /* CIL Label */
    _L: /* CIL Label */
    if (! *(colon + 1)) {
      *colon = (char)0;
    }
  }
  return;
}
}
static void enable_keepalive(int sockfd )
{
  int ka ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  ka = 1;
  tmp___0 = setsockopt(sockfd, 1, 9, (void const   *)(& ka), (socklen_t )sizeof(ka));
  if (tmp___0 < 0) {
    tmp = _((char const   *)"unable to set SO_KEEPALIVE on socket");
    error_errno((char const   *)tmp);
    const_error();
  }
  return;
}
}
static char addr[1025]  ;
static char const   *ai_name(struct addrinfo  const  *ai )
{
  int tmp ;

  {
  tmp = getnameinfo((struct sockaddr  const  * __restrict  )ai->ai_addr, (socklen_t )ai->ai_addrlen,
                    (char * __restrict  )(addr), (socklen_t )sizeof(addr), (char * __restrict  )((void *)0),
                    (socklen_t )0, 1);
  if (tmp != 0) {
    xsnprintf(addr, sizeof(addr), (char const   *)"(unknown)");
  }
  return ((char const   *)(addr));
}
}
static int git_tcp_connect_sock(char *host , int flags___0 )
{
  struct strbuf error_message ;
  int sockfd ;
  char const   *port ;
  struct addrinfo hints___0 ;
  struct addrinfo *ai0 ;
  struct addrinfo *ai ;
  int gai ;
  int cnt ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int *tmp___3 ;
  char *tmp___4 ;
  char const   *tmp___5 ;
  int tmp___6 ;
  char const   *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;

  {
  error_message.alloc = 0UL;
  error_message.len = 0UL;
  error_message.buf = strbuf_slopbuf;
  sockfd = -1;
  port = (char const   *)"9418";
  cnt = 0;
  get_host_and_port(& host, & port);
  if (! *port) {
    port = (char const   *)"<none>";
  }
  memset((void *)(& hints___0), 0, sizeof(hints___0));
  if ((unsigned int )flags___0 & (1u << 2)) {
    hints___0.ai_family = 2;
  } else
  if ((unsigned int )flags___0 & (1u << 3)) {
    hints___0.ai_family = 10;
  }
  hints___0.ai_socktype = 1;
  hints___0.ai_protocol = 6;
  if ((unsigned int )flags___0 & 1u) {
    tmp = _((char const   *)"Looking up %s ... ");
    fprintf(stderr, (char const   *)tmp, host);
  }
  gai = getaddrinfo((char const   * __restrict  )host, (char const   * __restrict  )port,
                    (struct addrinfo  const  * __restrict  )(& hints___0), (struct addrinfo ** __restrict  )(& ai));
  if (gai) {
    tmp___0 = gai_strerror(gai);
    tmp___1 = _((char const   *)"unable to look up %s (port %s) (%s)");
    die((char const   *)tmp___1, host, port, tmp___0);
  }
  if ((unsigned int )flags___0 & 1u) {
    tmp___2 = _((char const   *)"done.\nConnecting to %s (port %s) ... ");
    fprintf(stderr, (char const   *)tmp___2, host, port);
  }
  ai0 = ai;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ai) {
      goto while_break;
    }
    sockfd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
    if (sockfd < 0) {
      goto _L;
    } else {
      tmp___6 = connect(sockfd, (struct sockaddr  const  * __restrict  )ai->ai_addr,
                        ai->ai_addrlen);
      if (tmp___6 < 0) {
        _L: /* CIL Label */
        tmp___3 = __errno_location();
        tmp___4 = strerror(*tmp___3);
        tmp___5 = ai_name((struct addrinfo  const  *)ai);
        strbuf_addf(& error_message, (char const   *)"%s[%d: %s]: errno=%s\n", host,
                    cnt, tmp___5, tmp___4);
        if (0 <= sockfd) {
          close(sockfd);
        }
        sockfd = -1;
        goto __Cont;
      }
    }
    if ((unsigned int )flags___0 & 1u) {
      tmp___7 = ai_name((struct addrinfo  const  *)ai);
      fprintf(stderr, (char const   *)"%s ", tmp___7);
    }
    goto while_break;
    __Cont: /* CIL Label */
    ai = ai->ai_next;
    cnt ++;
  }
  while_break: /* CIL Label */ ;
  }
  freeaddrinfo(ai0);
  if (sockfd < 0) {
    tmp___8 = _((char const   *)"unable to connect to %s:\n%s");
    die((char const   *)tmp___8, host, error_message.buf);
  }
  enable_keepalive(sockfd);
  if ((unsigned int )flags___0 & 1u) {
    tmp___9 = _((char const   *)"done.");
    fprintf_ln(stderr, (char const   *)tmp___9);
  }
  strbuf_release(& error_message);
  return (sockfd);
}
}
static struct child_process no_fork  =
     {{empty_strvec, 0UL, 0UL}, {empty_strvec, 0UL, 0UL}, 0, 0, 0UL, (char const   *)0,
    (char const   *)0, 0, 0, 0, (char const   *)0, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U,
    0U, 0U, (void (*)(struct child_process *process ))0, (void *)0};
int git_connection_is_socket(struct child_process *conn )
{


  {
  return ((unsigned long )conn == (unsigned long )(& no_fork));
}
}
static struct child_process *git_tcp_connect(int *fd , char *host , int flags___0 )
{
  int sockfd ;
  int tmp ;

  {
  tmp = git_tcp_connect_sock(host, flags___0);
  sockfd = tmp;
  *(fd + 0) = sockfd;
  *(fd + 1) = dup(sockfd);
  return (& no_fork);
}
}
static char *git_proxy_command  ;
static int git_proxy_command_options(char const   *var , char const   *value , void *cb )
{
  char const   *for_pos ;
  int matchlen ;
  int hostlen ;
  char const   *rhost_name ;
  int rhost_len ;
  size_t tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  void *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  tmp___7 = strcmp(var, (char const   *)"core.gitproxy");
  if (! tmp___7) {
    matchlen = -1;
    rhost_name = (char const   *)cb;
    tmp = strlen(rhost_name);
    rhost_len = (int )tmp;
    if (git_proxy_command) {
      return (0);
    }
    if (! value) {
      config_error_nonbool(var);
      tmp___0 = const_error();
      return (tmp___0);
    }
    tmp___1 = strstr(value, (char const   *)" for ");
    for_pos = (char const   *)tmp___1;
    if (! for_pos) {
      tmp___2 = strlen(value);
      matchlen = (int )tmp___2;
    } else {
      tmp___3 = strlen(for_pos + 5);
      hostlen = (int )tmp___3;
      if (rhost_len < hostlen) {
        matchlen = -1;
      } else {
        tmp___4 = strncmp(for_pos + 5, (rhost_name + rhost_len) - hostlen, (size_t )hostlen);
        if (tmp___4) {
          matchlen = -1;
        } else
        if (rhost_len == hostlen) {
          matchlen = (int )(for_pos - value);
        } else
        if ((int const   )*(rhost_name + ((rhost_len - hostlen) - 1)) == 46) {
          matchlen = (int )(for_pos - value);
        } else {
          matchlen = -1;
        }
      }
    }
    if (0 <= matchlen) {
      if (matchlen == 4) {
        tmp___5 = memcmp((void const   *)value, (void const   *)"none", (size_t )4);
        if (! tmp___5) {
          matchlen = 0;
        }
      }
      tmp___6 = xmemdupz((void const   *)value, (size_t )matchlen);
      git_proxy_command = (char *)tmp___6;
    }
    return (0);
  }
  tmp___8 = git_default_config(var, value, cb);
  return (tmp___8);
}
}
static int git_use_proxy(char const   *host )
{
  int tmp ;

  {
  git_proxy_command = getenv((char const   *)"GIT_PROXY_COMMAND");
  git_config(& git_proxy_command_options, (void *)host);
  if (git_proxy_command) {
    if (*git_proxy_command) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static struct child_process *git_proxy_connect(int *fd , char *host )
{
  char const   *port ;
  struct child_process *proxy ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  void *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;

  {
  port = (char const   *)"9418";
  get_host_and_port(& host, & port);
  tmp___0 = looks_like_command_line_option((char const   *)host);
  if (tmp___0) {
    tmp = _((char const   *)"strange hostname \'%s\' blocked");
    die((char const   *)tmp, host);
  }
  tmp___2 = looks_like_command_line_option(port);
  if (tmp___2) {
    tmp___1 = _((char const   *)"strange port \'%s\' blocked");
    die((char const   *)tmp___1, port);
  }
  tmp___3 = xmalloc(sizeof(*proxy));
  proxy = (struct child_process *)tmp___3;
  child_process_init(proxy);
  strvec_push(& proxy->args, (char const   *)git_proxy_command);
  strvec_push(& proxy->args, (char const   *)host);
  strvec_push(& proxy->args, port);
  proxy->in = -1;
  proxy->out = -1;
  tmp___5 = start_command(proxy);
  if (tmp___5) {
    tmp___4 = _((char const   *)"cannot start proxy %s");
    die((char const   *)tmp___4, git_proxy_command);
  }
  *(fd + 0) = proxy->out;
  *(fd + 1) = proxy->in;
  return (proxy);
}
}
static char *get_port(char *host )
{
  char *end ;
  char *p___0 ;
  char *tmp ;
  long port ;
  long tmp___0 ;

  {
  tmp = strchr((char const   *)host, ':');
  p___0 = tmp;
  if (p___0) {
    tmp___0 = strtol((char const   * __restrict  )(p___0 + 1), (char ** __restrict  )(& end),
                     10);
    port = tmp___0;
    if ((unsigned long )end != (unsigned long )(p___0 + 1)) {
      if ((int )*end == 0) {
        if (0L <= port) {
          if (port < 65536L) {
            *p___0 = (char )'\000';
            return (p___0 + 1);
          }
        }
      }
    }
  }
  return ((char *)((void *)0));
}
}
static enum protocol parse_connect_url(char const   *url_orig , char **ret_host ,
                                       char **ret_path )
{
  char *url ;
  char *host ;
  char *path___6 ;
  char *end ;
  int separator ;
  enum protocol protocol ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  separator = '/';
  protocol = (enum protocol )1;
  tmp = is_url(url_orig);
  if (tmp) {
    url = url_decode(url_orig);
  } else {
    url = xstrdup(url_orig);
  }
  host = strstr((char const   *)url, (char const   *)"://");
  if (host) {
    *host = (char )'\000';
    protocol = get_protocol((char const   *)url);
    host += 3;
  } else {
    host = url;
    tmp___0 = url_is_local_not_ssh((char const   *)url);
    if (! tmp___0) {
      protocol = (enum protocol )3;
      separator = ':';
    }
  }
  end = host_end(& host, 0);
  if ((unsigned int )protocol == 1U) {
    path___6 = end;
  } else
  if ((unsigned int )protocol == 2U) {
    if ((int )*host != 47) {
      tmp___2 = git_has_dos_drive_prefix((char const   *)host);
      if (tmp___2) {
        goto _L___1;
      } else {
        tmp___3 = git_offset_1st_component((char const   *)(host - 2));
        if (tmp___3 > 1) {
          path___6 = host - 2;
        } else {
          goto _L___1;
        }
      }
    } else {
      goto _L___1;
    }
  } else
  _L___1: /* CIL Label */
  _L___0: /* CIL Label */
  _L: /* CIL Label */
  if ((unsigned int )protocol == 2U) {
    tmp___1 = git_has_dos_drive_prefix((char const   *)end);
    if (tmp___1) {
      path___6 = end;
    } else {
      path___6 = strchr((char const   *)end, separator);
    }
  } else {
    path___6 = strchr((char const   *)end, separator);
  }
  if (! path___6) {
    tmp___4 = _((char const   *)"no path specified; see \'git help pull\' for valid url syntax");
    die((char const   *)tmp___4);
  } else
  if (! *path___6) {
    tmp___4 = _((char const   *)"no path specified; see \'git help pull\' for valid url syntax");
    die((char const   *)tmp___4);
  }
  end = path___6;
  if (separator == 58) {
    path___6 ++;
  }
  if ((unsigned int )protocol == 4U) {
    goto _L___2;
  } else
  if ((unsigned int )protocol == 3U) {
    _L___2: /* CIL Label */
    if ((int )*(path___6 + 1) == 126) {
      path___6 ++;
    }
  }
  path___6 = xstrdup((char const   *)path___6);
  *end = (char )'\000';
  *ret_host = xstrdup((char const   *)host);
  *ret_path = path___6;
  free((void *)url);
  return (protocol);
}
}
static char const   *get_ssh_command(void)
{
  char const   *ssh ;
  char *tmp ;
  int tmp___0 ;

  {
  tmp = getenv((char const   *)"GIT_SSH_COMMAND");
  ssh = (char const   *)tmp;
  if (ssh) {
    return (ssh);
  }
  tmp___0 = git_config_get_string_tmp((char const   *)"core.sshcommand", & ssh);
  if (! tmp___0) {
    return (ssh);
  }
  return ((char const   *)((void *)0));
}
}
static void override_ssh_variant(enum ssh_variant *ssh_variant )
{
  char const   *variant ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = getenv((char const   *)"GIT_SSH_VARIANT");
  variant = (char const   *)tmp;
  if (! variant) {
    tmp___0 = git_config_get_string_tmp((char const   *)"ssh.variant", & variant);
    if (tmp___0) {
      return;
    }
  }
  tmp___5 = strcmp(variant, (char const   *)"auto");
  if (tmp___5) {
    tmp___4 = strcmp(variant, (char const   *)"plink");
    if (tmp___4) {
      tmp___3 = strcmp(variant, (char const   *)"putty");
      if (tmp___3) {
        tmp___2 = strcmp(variant, (char const   *)"tortoiseplink");
        if (tmp___2) {
          tmp___1 = strcmp(variant, (char const   *)"simple");
          if (tmp___1) {
            *ssh_variant = (enum ssh_variant )2;
          } else {
            *ssh_variant = (enum ssh_variant )1;
          }
        } else {
          *ssh_variant = (enum ssh_variant )5;
        }
      } else {
        *ssh_variant = (enum ssh_variant )4;
      }
    } else {
      *ssh_variant = (enum ssh_variant )3;
    }
  } else {
    *ssh_variant = (enum ssh_variant )0;
  }
  return;
}
}
static enum ssh_variant determine_ssh_variant(char const   *ssh_command , int is_cmdline )
{
  enum ssh_variant ssh_variant ;
  char const   *variant ;
  char *p___0 ;
  char *tmp ;
  char const   **ssh_argv ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  ssh_variant = (enum ssh_variant )0;
  p___0 = (char *)((void *)0);
  override_ssh_variant(& ssh_variant);
  if ((unsigned int )ssh_variant != 0U) {
    return (ssh_variant);
  }
  if (! is_cmdline) {
    p___0 = xstrdup(ssh_command);
    tmp = __xpg_basename(p___0);
    variant = (char const   *)tmp;
  } else {
    p___0 = xstrdup(ssh_command);
    tmp___1 = split_cmdline(p___0, & ssh_argv);
    if (tmp___1 > 0) {
      tmp___0 = __xpg_basename((char *)*(ssh_argv + 0));
      variant = (char const   *)tmp___0;
      free((void *)ssh_argv);
    } else {
      free((void *)p___0);
      return (ssh_variant);
    }
  }
  tmp___6 = strcasecmp(variant, (char const   *)"ssh");
  if (tmp___6) {
    tmp___7 = strcasecmp(variant, (char const   *)"ssh.exe");
    if (tmp___7) {
      tmp___4 = strcasecmp(variant, (char const   *)"plink");
      if (tmp___4) {
        tmp___5 = strcasecmp(variant, (char const   *)"plink.exe");
        if (tmp___5) {
          tmp___2 = strcasecmp(variant, (char const   *)"tortoiseplink");
          if (tmp___2) {
            tmp___3 = strcasecmp(variant, (char const   *)"tortoiseplink.exe");
            if (! tmp___3) {
              ssh_variant = (enum ssh_variant )5;
            }
          } else {
            ssh_variant = (enum ssh_variant )5;
          }
        } else {
          ssh_variant = (enum ssh_variant )3;
        }
      } else {
        ssh_variant = (enum ssh_variant )3;
      }
    } else {
      ssh_variant = (enum ssh_variant )2;
    }
  } else {
    ssh_variant = (enum ssh_variant )2;
  }
  free((void *)p___0);
  return (ssh_variant);
}
}
static struct child_process *git_connect_git(int *fd , char *hostandport , char const   *path___6 ,
                                             char const   *prog , enum protocol_version version___0 ,
                                             int flags___0 )
{
  struct child_process *conn ;
  struct strbuf request ;
  char *target_host ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;

  {
  request.alloc = 0UL;
  request.len = 0UL;
  request.buf = strbuf_slopbuf;
  tmp = getenv((char const   *)"GIT_OVERRIDE_VIRTUAL_HOST");
  target_host = tmp;
  if (target_host) {
    target_host = xstrdup((char const   *)target_host);
  } else {
    target_host = xstrdup((char const   *)hostandport);
  }
  transport_check_allowed((char const   *)"git");
  tmp___1 = strchr((char const   *)target_host, '\n');
  if (tmp___1) {
    tmp___0 = _((char const   *)"newline is forbidden in git:// hosts and repo paths");
    die((char const   *)tmp___0);
  } else {
    tmp___2 = strchr(path___6, '\n');
    if (tmp___2) {
      tmp___0 = _((char const   *)"newline is forbidden in git:// hosts and repo paths");
      die((char const   *)tmp___0);
    }
  }
  tmp___3 = git_use_proxy((char const   *)hostandport);
  if (tmp___3) {
    conn = git_proxy_connect(fd, hostandport);
  } else {
    conn = git_tcp_connect(fd, hostandport, flags___0);
  }
  strbuf_addf(& request, (char const   *)"%s %s%chost=%s%c", prog, path___6, 0, target_host,
              0);
  if ((int )version___0 > 0) {
    strbuf_addch(& request, '\000');
    strbuf_addf(& request, (char const   *)"version=%d%c", (int )version___0, '\000');
  }
  packet_write(*(fd + 1), (char const   *)request.buf, request.len);
  free((void *)target_host);
  strbuf_release(& request);
  return (conn);
}
}
static void push_ssh_options(struct strvec *args___0 , struct strvec *env , enum ssh_variant variant ,
                             char const   *port , enum protocol_version version___0 ,
                             int flags___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  if ((unsigned int )variant == 2U) {
    if ((int )version___0 > 0) {
      strvec_push(args___0, (char const   *)"-o");
      strvec_push(args___0, (char const   *)"SendEnv=GIT_PROTOCOL");
      strvec_pushf(env, (char const   *)"GIT_PROTOCOL=version=%d", (int )version___0);
    }
  }
  if ((unsigned int )flags___0 & (1u << 2)) {
    {
    if ((unsigned int )variant == 0U) {
      goto case_0;
    }
    if ((unsigned int )variant == 1U) {
      goto case_1;
    }
    if ((unsigned int )variant == 5U) {
      goto case_5;
    }
    if ((unsigned int )variant == 4U) {
      goto case_5;
    }
    if ((unsigned int )variant == 3U) {
      goto case_5;
    }
    if ((unsigned int )variant == 2U) {
      goto case_5;
    }
    goto switch_break;
    case_0: /* CIL Label */
    BUG_fl((char const   *)"connect.c", 1249, (char const   *)"VARIANT_AUTO passed to push_ssh_options");
    case_1: /* CIL Label */
    tmp = _((char const   *)"ssh variant \'simple\' does not support -4");
    die((char const   *)tmp);
    case_5: /* CIL Label */
    case_4: /* CIL Label */
    case_3: /* CIL Label */
    case_2: /* CIL Label */
    strvec_push(args___0, (char const   *)"-4");
    switch_break: /* CIL Label */ ;
    }
  } else
  if ((unsigned int )flags___0 & (1u << 3)) {
    {
    if ((unsigned int )variant == 0U) {
      goto case_0___0;
    }
    if ((unsigned int )variant == 1U) {
      goto case_1___0;
    }
    if ((unsigned int )variant == 5U) {
      goto case_5___0;
    }
    if ((unsigned int )variant == 4U) {
      goto case_5___0;
    }
    if ((unsigned int )variant == 3U) {
      goto case_5___0;
    }
    if ((unsigned int )variant == 2U) {
      goto case_5___0;
    }
    goto switch_break___0;
    case_0___0: /* CIL Label */
    BUG_fl((char const   *)"connect.c", 1261, (char const   *)"VARIANT_AUTO passed to push_ssh_options");
    case_1___0: /* CIL Label */
    tmp___0 = _((char const   *)"ssh variant \'simple\' does not support -6");
    die((char const   *)tmp___0);
    case_5___0: /* CIL Label */
    case_4___0: /* CIL Label */
    case_3___0: /* CIL Label */
    case_2___0: /* CIL Label */
    strvec_push(args___0, (char const   *)"-6");
    switch_break___0: /* CIL Label */ ;
    }
  }
  if ((unsigned int )variant == 5U) {
    strvec_push(args___0, (char const   *)"-batch");
  }
  if (port) {
    {
    if ((unsigned int )variant == 0U) {
      goto case_0___1;
    }
    if ((unsigned int )variant == 1U) {
      goto case_1___1;
    }
    if ((unsigned int )variant == 2U) {
      goto case_2___1;
    }
    if ((unsigned int )variant == 5U) {
      goto case_5___1;
    }
    if ((unsigned int )variant == 4U) {
      goto case_5___1;
    }
    if ((unsigned int )variant == 3U) {
      goto case_5___1;
    }
    goto switch_break___1;
    case_0___1: /* CIL Label */
    BUG_fl((char const   *)"connect.c", 1278, (char const   *)"VARIANT_AUTO passed to push_ssh_options");
    case_1___1: /* CIL Label */
    tmp___1 = _((char const   *)"ssh variant \'simple\' does not support setting port");
    die((char const   *)tmp___1);
    case_2___1: /* CIL Label */
    strvec_push(args___0, (char const   *)"-p");
    goto switch_break___1;
    case_5___1: /* CIL Label */
    case_4___1: /* CIL Label */
    case_3___1: /* CIL Label */
    strvec_push(args___0, (char const   *)"-P");
    switch_break___1: /* CIL Label */ ;
    }
    strvec_push(args___0, port);
  }
  return;
}
}
static void fill_ssh_args(struct child_process *conn , char const   *ssh_host , char const   *port ,
                          enum protocol_version version___0 , int flags___0 )
{
  char const   *ssh ;
  enum ssh_variant variant ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  struct child_process detect ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp___0 = looks_like_command_line_option(ssh_host);
  if (tmp___0) {
    tmp = _((char const   *)"strange hostname \'%s\' blocked");
    die((char const   *)tmp, ssh_host);
  }
  ssh = get_ssh_command();
  if (ssh) {
    variant = determine_ssh_variant(ssh, 1);
  } else {
    conn->use_shell = 0U;
    tmp___1 = getenv((char const   *)"GIT_SSH");
    ssh = (char const   *)tmp___1;
    if (! ssh) {
      ssh = (char const   *)"ssh";
    }
    variant = determine_ssh_variant(ssh, 0);
  }
  if ((unsigned int )variant == 0U) {
    detect.args.v = empty_strvec;
    detect.args.nr = 0UL;
    detect.args.alloc = 0UL;
    detect.env_array.v = empty_strvec;
    detect.env_array.nr = 0UL;
    detect.env_array.alloc = 0UL;
    detect.pid = 0;
    detect.trace2_child_id = 0;
    detect.trace2_child_us_start = 0UL;
    detect.trace2_child_class = (char const   *)0;
    detect.trace2_hook_name = (char const   *)0;
    detect.in = 0;
    detect.out = 0;
    detect.err = 0;
    detect.dir = (char const   *)0;
    detect.no_stdin = 0U;
    detect.no_stdout = 0U;
    detect.no_stderr = 0U;
    detect.git_cmd = 0U;
    detect.silent_exec_failure = 0U;
    detect.use_shell = 0U;
    detect.close_object_store = 0U;
    detect.stdout_to_stderr = 0U;
    detect.clean_on_exit = 0U;
    detect.wait_after_clean = 0U;
    detect.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    detect.clean_on_exit_handler_cbdata = (void *)0;
    detect.use_shell = conn->use_shell;
    detect.no_stderr = 1U;
    detect.no_stdout = detect.no_stderr;
    detect.no_stdin = detect.no_stdout;
    strvec_push(& detect.args, ssh);
    strvec_push(& detect.args, (char const   *)"-G");
    push_ssh_options(& detect.args, & detect.env_array, (enum ssh_variant )2, port,
                     version___0, flags___0);
    strvec_push(& detect.args, ssh_host);
    tmp___3 = run_command(& detect);
    if (tmp___3) {
      variant = (enum ssh_variant )1;
    } else {
      variant = (enum ssh_variant )2;
    }
  }
  strvec_push(& conn->args, ssh);
  push_ssh_options(& conn->args, & conn->env_array, variant, port, version___0, flags___0);
  strvec_push(& conn->args, ssh_host);
  return;
}
}
struct child_process *git_connect(int *fd , char const   *url , char const   *prog ,
                                  int flags___0 )
{
  char *hostandport ;
  char *path___6 ;
  struct child_process *conn ;
  enum protocol protocol ;
  enum protocol_version version___0 ;
  enum protocol_version tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;
  struct strbuf cmd ;
  char const   **var ;
  void *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char *ssh_host ;
  char const   *port ;
  char *tmp___9 ;
  char const   *tmp___10 ;
  char const   *tmp___11 ;
  char *tmp___12 ;
  char const   *tmp___13 ;
  char *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;

  {
  tmp = get_protocol_version_config();
  version___0 = tmp;
  if ((int )version___0 == 2) {
    tmp___0 = strcmp((char const   *)"git-receive-pack", prog);
    if (! tmp___0) {
      version___0 = (enum protocol_version )0;
    }
  }
  signal(17, (void (*)(int  ))0);
  protocol = parse_connect_url(url, & hostandport, & path___6);
  if ((unsigned int )flags___0 & (1u << 1)) {
    if ((unsigned int )protocol != 3U) {
      if (url) {
        tmp___1 = url;
      } else {
        tmp___1 = (char const   *)"NULL";
      }
      printf((char const   *)"Diag: url=%s\n", tmp___1);
      tmp___2 = prot_name(protocol);
      printf((char const   *)"Diag: protocol=%s\n", tmp___2);
      if (hostandport) {
        tmp___3 = hostandport;
      } else {
        tmp___3 = "NULL";
      }
      printf((char const   *)"Diag: hostandport=%s\n", tmp___3);
      if (path___6) {
        tmp___4 = path___6;
      } else {
        tmp___4 = "NULL";
      }
      printf((char const   *)"Diag: path=%s\n", tmp___4);
      conn = (struct child_process *)((void *)0);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if ((unsigned int )protocol == 4U) {
    conn = git_connect_git(fd, hostandport, (char const   *)path___6, prog, version___0,
                           flags___0);
    conn->trace2_child_class = (char const   *)"transport/git";
  } else {
    cmd.alloc = 0UL;
    cmd.len = 0UL;
    cmd.buf = strbuf_slopbuf;
    tmp___5 = xmalloc(sizeof(*conn));
    conn = (struct child_process *)tmp___5;
    child_process_init(conn);
    tmp___7 = looks_like_command_line_option((char const   *)path___6);
    if (tmp___7) {
      tmp___6 = _((char const   *)"strange pathname \'%s\' blocked");
      die((char const   *)tmp___6, path___6);
    }
    strbuf_addstr(& cmd, prog);
    strbuf_addch(& cmd, ' ');
    sq_quote_buf(& cmd, (char const   *)path___6);
    var = local_repo_env;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! *var) {
        goto while_break;
      }
      strvec_push(& conn->env_array, (char const   *)*var);
      var ++;
    }
    while_break: /* CIL Label */ ;
    }
    conn->use_shell = 1U;
    tmp___8 = -1;
    conn->out = tmp___8;
    conn->in = tmp___8;
    if ((unsigned int )protocol == 3U) {
      ssh_host = hostandport;
      port = (char const   *)((void *)0);
      transport_check_allowed((char const   *)"ssh");
      get_host_and_port(& ssh_host, & port);
      if (! port) {
        tmp___9 = get_port(ssh_host);
        port = (char const   *)tmp___9;
      }
      if ((unsigned int )flags___0 & (1u << 1)) {
        if (url) {
          tmp___10 = url;
        } else {
          tmp___10 = (char const   *)"NULL";
        }
        printf((char const   *)"Diag: url=%s\n", tmp___10);
        tmp___11 = prot_name(protocol);
        printf((char const   *)"Diag: protocol=%s\n", tmp___11);
        if (ssh_host) {
          tmp___12 = ssh_host;
        } else {
          tmp___12 = "NULL";
        }
        printf((char const   *)"Diag: userandhost=%s\n", tmp___12);
        if (port) {
          tmp___13 = port;
        } else {
          tmp___13 = (char const   *)"NONE";
        }
        printf((char const   *)"Diag: port=%s\n", tmp___13);
        if (path___6) {
          tmp___14 = path___6;
        } else {
          tmp___14 = "NULL";
        }
        printf((char const   *)"Diag: path=%s\n", tmp___14);
        free((void *)hostandport);
        free((void *)path___6);
        free((void *)conn);
        strbuf_release(& cmd);
        return ((struct child_process *)((void *)0));
      }
      conn->trace2_child_class = (char const   *)"transport/ssh";
      fill_ssh_args(conn, (char const   *)ssh_host, port, version___0, flags___0);
    } else {
      transport_check_allowed((char const   *)"file");
      conn->trace2_child_class = (char const   *)"transport/file";
      if ((int )version___0 > 0) {
        strvec_pushf(& conn->env_array, (char const   *)"GIT_PROTOCOL=version=%d",
                     (int )version___0);
      }
    }
    strvec_push(& conn->args, (char const   *)cmd.buf);
    tmp___16 = start_command(conn);
    if (tmp___16) {
      tmp___15 = _((char const   *)"unable to fork");
      die((char const   *)tmp___15);
    }
    *(fd + 0) = conn->out;
    *(fd + 1) = conn->in;
    strbuf_release(& cmd);
  }
  free((void *)hostandport);
  free((void *)path___6);
  return (conn);
}
}
int finish_connect(struct child_process *conn )
{
  int code ;
  int tmp ;

  {
  if (! conn) {
    return (0);
  } else {
    tmp = git_connection_is_socket(conn);
    if (tmp) {
      return (0);
    }
  }
  code = finish_command(conn);
  free((void *)conn);
  return (code);
}
}
static double const   __ac_HASH_UPPER___19  =    (double const   )0.77;
__inline static void kh_resize_oid_set___19(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___19(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___19 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___19 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___19(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___19(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___19(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___19(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___19(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___19(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___19 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___19 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___19(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___19(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___19(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___19(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___19(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___19(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___19 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___19 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___19(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___19(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___19(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___19(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___16(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___16(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___19 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___19 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___16(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___16(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___16(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___16(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
int check_connected(struct object_id  const  *(*fn)(void * ) , void *cb_data , struct check_connected_options *opt___0 ) ;
int check_connected(struct object_id  const  *(*fn)(void * ) , void *cb_data , struct check_connected_options *opt___0 )
{
  struct child_process rev_list ;
  FILE *rev_list_in ;
  struct check_connected_options defaults ;
  struct object_id  const  *oid ;
  int err___4 ;
  struct packed_git *new_pack ;
  struct transport *transport ;
  size_t base_len ;
  struct strbuf idx_file ;
  int tmp ;
  struct packed_git *p___0 ;
  off_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  off_t tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int *tmp___11 ;
  int *tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;

  {
  rev_list.args.v = empty_strvec;
  rev_list.args.nr = 0UL;
  rev_list.args.alloc = 0UL;
  rev_list.env_array.v = empty_strvec;
  rev_list.env_array.nr = 0UL;
  rev_list.env_array.alloc = 0UL;
  rev_list.pid = 0;
  rev_list.trace2_child_id = 0;
  rev_list.trace2_child_us_start = 0UL;
  rev_list.trace2_child_class = (char const   *)0;
  rev_list.trace2_hook_name = (char const   *)0;
  rev_list.in = 0;
  rev_list.out = 0;
  rev_list.err = 0;
  rev_list.dir = (char const   *)0;
  rev_list.no_stdin = 0U;
  rev_list.no_stdout = 0U;
  rev_list.no_stderr = 0U;
  rev_list.git_cmd = 0U;
  rev_list.silent_exec_failure = 0U;
  rev_list.use_shell = 0U;
  rev_list.close_object_store = 0U;
  rev_list.stdout_to_stderr = 0U;
  rev_list.clean_on_exit = 0U;
  rev_list.wait_after_clean = 0U;
  rev_list.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  rev_list.clean_on_exit_handler_cbdata = (void *)0;
  defaults.quiet = 0;
  defaults.shallow_file = (char const   *)0;
  defaults.transport = (struct transport *)0;
  defaults.err_fd = 0;
  defaults.progress = 0;
  defaults.env = (char const   **)0;
  defaults.is_deepening_fetch = 0U;
  err___4 = 0;
  new_pack = (struct packed_git *)((void *)0);
  if (! opt___0) {
    opt___0 = & defaults;
  }
  transport = opt___0->transport;
  oid = (*fn)(cb_data);
  if (! oid) {
    if (opt___0->err_fd) {
      close(opt___0->err_fd);
    }
    return (err___4);
  }
  if (transport) {
    if (transport->smart_options) {
      if ((transport->smart_options)->self_contained_and_connected) {
        if (transport->pack_lockfiles.nr == 1U) {
          tmp = strip_suffix((char const   *)(transport->pack_lockfiles.items + 0)->string,
                             (char const   *)".keep", & base_len);
          if (tmp) {
            idx_file.alloc = 0UL;
            idx_file.len = 0UL;
            idx_file.buf = strbuf_slopbuf;
            strbuf_add(& idx_file, (void const   *)(transport->pack_lockfiles.items + 0)->string,
                       base_len);
            strbuf_addstr(& idx_file, (char const   *)".idx");
            new_pack = add_packed_git((char const   *)idx_file.buf, idx_file.len,
                                      1);
            strbuf_release(& idx_file);
          }
        }
      }
    }
  }
  tmp___1 = has_promisor_remote();
  if (tmp___1) {
    reprepare_packed_git(the_repository);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      p___0 = get_all_packs(the_repository);
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! p___0) {
          goto while_break___0;
        }
        if (! p___0->pack_promisor) {
          goto __Cont;
        }
        tmp___0 = find_pack_entry_one((unsigned char const   *)(oid->hash), p___0);
        if (tmp___0) {
          goto promisor_pack_found;
        }
        __Cont: /* CIL Label */
        p___0 = p___0->next;
      }
      while_break___0: /* CIL Label */ ;
      }
      goto no_promisor_pack_found;
      promisor_pack_found:
      oid = (*fn)(cb_data);
      if (! ((unsigned long )oid != (unsigned long )((void *)0))) {
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    return (0);
  }
  no_promisor_pack_found:
  if (opt___0->shallow_file) {
    strvec_push(& rev_list.args, (char const   *)"--shallow-file");
    strvec_push(& rev_list.args, opt___0->shallow_file);
  }
  strvec_push(& rev_list.args, (char const   *)"rev-list");
  strvec_push(& rev_list.args, (char const   *)"--objects");
  strvec_push(& rev_list.args, (char const   *)"--stdin");
  tmp___2 = has_promisor_remote();
  if (tmp___2) {
    strvec_push(& rev_list.args, (char const   *)"--exclude-promisor-objects");
  }
  if (! opt___0->is_deepening_fetch) {
    strvec_push(& rev_list.args, (char const   *)"--not");
    strvec_push(& rev_list.args, (char const   *)"--all");
  }
  strvec_push(& rev_list.args, (char const   *)"--quiet");
  strvec_push(& rev_list.args, (char const   *)"--alternate-refs");
  if (opt___0->progress) {
    tmp___3 = _((char const   *)"Checking connectivity");
    strvec_pushf(& rev_list.args, (char const   *)"--progress=%s", tmp___3);
  }
  rev_list.git_cmd = 1U;
  if (opt___0->env) {
    strvec_pushv(& rev_list.env_array, opt___0->env);
  }
  rev_list.in = -1;
  rev_list.no_stdout = 1U;
  if (opt___0->err_fd) {
    rev_list.err = opt___0->err_fd;
  } else {
    rev_list.no_stderr = (unsigned int )opt___0->quiet;
  }
  tmp___6 = start_command(& rev_list);
  if (tmp___6) {
    tmp___4 = _((char const   *)"Could not run \'git rev-list\'");
    error((char const   *)tmp___4);
    tmp___5 = const_error();
    return (tmp___5);
  }
  sigchain_push(13, (void (*)(int  ))1);
  rev_list_in = xfdopen(rev_list.in, (char const   *)"w");
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (new_pack) {
      tmp___7 = find_pack_entry_one((unsigned char const   *)(oid->hash), new_pack);
      if (tmp___7) {
        goto __Cont___0;
      }
    }
    tmp___8 = oid_to_hex(oid);
    tmp___9 = fprintf(rev_list_in, (char const   *)"%s\n", tmp___8);
    if (tmp___9 < 0) {
      goto while_break___1;
    }
    __Cont___0: /* CIL Label */
    oid = (*fn)(cb_data);
    if (! ((unsigned long )oid != (unsigned long )((void *)0))) {
      goto while_break___1;
    }
  }
  while_break___1: /* CIL Label */ ;
  }
  tmp___13 = ferror(rev_list_in);
  if (tmp___13) {
    goto _L;
  } else {
    tmp___14 = fflush(rev_list_in);
    if (tmp___14) {
      _L: /* CIL Label */
      tmp___11 = __errno_location();
      if (*tmp___11 != 32) {
        tmp___12 = __errno_location();
        if (*tmp___12 != 22) {
          tmp___10 = _((char const   *)"failed write to rev-list");
          error_errno((char const   *)tmp___10);
          const_error();
        }
      }
      err___4 = -1;
    }
  }
  tmp___16 = fclose(rev_list_in);
  if (tmp___16) {
    tmp___15 = _((char const   *)"failed to close rev-list\'s stdin");
    error_errno((char const   *)tmp___15);
    err___4 = const_error();
  }
  sigchain_pop(13);
  tmp___17 = finish_command(& rev_list);
  if (tmp___17) {
    tmp___18 = 1;
  } else
  if (err___4) {
    tmp___18 = 1;
  } else {
    tmp___18 = 0;
  }
  return (tmp___18);
}
}
static double const   __ac_HASH_UPPER___20  =    (double const   )0.77;
__inline static void kh_resize_oid_set___20(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___20(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___20 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___20 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___20(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___20(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___20(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___20(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___20(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___20(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___20 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___20 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___20(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___20(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___20(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___20(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___20(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___20(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___20 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___20 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___20(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___20(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___20(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___20(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___17(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___17(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___20 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___20 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___17(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___17(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___17(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___17(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
int cmd2process_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *eptr ,
                    struct hashmap_entry  const  *entry_or_key , void const   *unused_keydata ) ;
int subprocess_start(struct hashmap *hashmap , struct subprocess_entry *entry , char const   *cmd ,
                     int (*startfn)(struct subprocess_entry *entry ) ) ;
void subprocess_stop(struct hashmap *hashmap , struct subprocess_entry *entry ) ;
struct subprocess_entry *subprocess_find_entry(struct hashmap *hashmap , char const   *cmd ) ;
__inline static struct child_process *subprocess_get_child_process(struct subprocess_entry *entry )
{


  {
  return (& entry->process);
}
}
int subprocess_handshake(struct subprocess_entry *entry , char const   *welcome_prefix ,
                         int *versions___0 , int *chosen_version , struct subprocess_capability *capabilities___2 ,
                         unsigned int *supported_capabilities ) ;
int subprocess_read_status(int fd , struct strbuf *status ) ;
static void gather_stats(char const   *buf___19 , unsigned long size , struct text_stat *stats___0 )
{
  unsigned long i ;
  unsigned char c___0 ;

  {
  memset((void *)stats___0, 0, sizeof(*stats___0));
  i = 0UL;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < size)) {
      goto while_break;
    }
    c___0 = (unsigned char )*(buf___19 + i);
    if ((int )c___0 == 13) {
      if (i + 1UL < size) {
        if ((int const   )*(buf___19 + (i + 1UL)) == 10) {
          (stats___0->crlf) ++;
          i ++;
        } else {
          (stats___0->lonecr) ++;
        }
      } else {
        (stats___0->lonecr) ++;
      }
      goto __Cont;
    }
    if ((int )c___0 == 10) {
      (stats___0->lonelf) ++;
      goto __Cont;
    }
    if ((int )c___0 == 127) {
      (stats___0->nonprintable) ++;
    } else
    if ((int )c___0 < 32) {
      {
      if ((int )c___0 == 12) {
        goto case_12;
      }
      if ((int )c___0 == 27) {
        goto case_12;
      }
      if ((int )c___0 == 9) {
        goto case_12;
      }
      if ((int )c___0 == 8) {
        goto case_12;
      }
      if ((int )c___0 == 0) {
        goto case_0;
      }
      goto switch_default;
      case_12: /* CIL Label */
      case_27: /* CIL Label */
      case_9: /* CIL Label */
      case_8: /* CIL Label */
      (stats___0->printable) ++;
      goto switch_break;
      case_0: /* CIL Label */
      (stats___0->nul) ++;
      switch_default: /* CIL Label */
      (stats___0->nonprintable) ++;
      switch_break: /* CIL Label */ ;
      }
    } else {
      (stats___0->printable) ++;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (size >= 1UL) {
    if ((int const   )*(buf___19 + (size - 1UL)) == 26) {
      (stats___0->nonprintable) --;
    }
  }
  return;
}
}
static int convert_is_binary(struct text_stat  const  *stats___0 )
{


  {
  if (stats___0->lonecr) {
    return (1);
  }
  if (stats___0->nul) {
    return (1);
  }
  if (stats___0->printable >> 7 < stats___0->nonprintable) {
    return (1);
  }
  return (0);
}
}
static unsigned int gather_convert_stats(char const   *data , unsigned long size )
{
  struct text_stat stats___0 ;
  int ret___67 ;
  int tmp ;

  {
  ret___67 = 0;
  if (! data) {
    return (0U);
  } else
  if (! size) {
    return (0U);
  }
  gather_stats(data, size, & stats___0);
  tmp = convert_is_binary((struct text_stat  const  *)(& stats___0));
  if (tmp) {
    ret___67 |= 0x4;
  }
  if (stats___0.crlf) {
    ret___67 |= 0x2;
  }
  if (stats___0.lonelf) {
    ret___67 |= 0x1;
  }
  return ((unsigned int )ret___67);
}
}
static char const   *gather_convert_stats_ascii(char const   *data , unsigned long size )
{
  unsigned int convert_stats ;
  unsigned int tmp ;

  {
  tmp = gather_convert_stats(data, size);
  convert_stats = tmp;
  if (convert_stats & 4U) {
    return ((char const   *)"-text");
  }
  {
  if (convert_stats == 1U) {
    goto case_1;
  }
  if (convert_stats == 2U) {
    goto case_2;
  }
  if (convert_stats == 3U) {
    goto case_3;
  }
  goto switch_default;
  case_1: /* CIL Label */
  return ((char const   *)"lf");
  case_2: /* CIL Label */
  return ((char const   *)"crlf");
  case_3: /* CIL Label */
  return ((char const   *)"mixed");
  switch_default: /* CIL Label */
  return ((char const   *)"none");
  switch_break: /* CIL Label */ ;
  }
}
}
char const   *get_cached_convert_stats_ascii(struct index_state *istate , char const   *path___6 )
{
  char const   *ret___67 ;
  unsigned long sz ;
  void *data ;
  void *tmp ;

  {
  tmp = read_blob_data_from_index(istate, path___6, & sz);
  data = tmp;
  ret___67 = gather_convert_stats_ascii((char const   *)data, sz);
  free(data);
  return (ret___67);
}
}
char const   *get_wt_convert_stats_ascii(char const   *path___6 )
{
  char const   *ret___67 ;
  struct strbuf sb___6 ;
  ssize_t tmp ;

  {
  ret___67 = (char const   *)"";
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = strbuf_read_file(& sb___6, path___6, (size_t )0);
  if (tmp >= 0L) {
    ret___67 = gather_convert_stats_ascii((char const   *)sb___6.buf, sb___6.len);
  }
  strbuf_release(& sb___6);
  return (ret___67);
}
}
static int text_eol_is_crlf(void)
{


  {
  if ((int )auto_crlf == 1) {
    return (1);
  } else
  if ((int )auto_crlf == -1) {
    return (0);
  }
  if ((unsigned int )core_eol == 1U) {
    return (1);
  }
  if ((unsigned int )core_eol == 0U) {

  }
  return (0);
}
}
static enum eol output_eol(enum convert_crlf_action crlf_action )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  {
  if ((unsigned int )crlf_action == 1U) {
    goto case_1;
  }
  if ((unsigned int )crlf_action == 4U) {
    goto case_4;
  }
  if ((unsigned int )crlf_action == 3U) {
    goto case_3;
  }
  if ((unsigned int )crlf_action == 7U) {
    goto case_7;
  }
  if ((unsigned int )crlf_action == 0U) {
    goto case_7;
  }
  if ((unsigned int )crlf_action == 6U) {
    goto case_6;
  }
  if ((unsigned int )crlf_action == 5U) {
    goto case_5;
  }
  if ((unsigned int )crlf_action == 2U) {
    goto case_5;
  }
  goto switch_break;
  case_1: /* CIL Label */
  return ((enum eol )0);
  case_4: /* CIL Label */
  return ((enum eol )1);
  case_3: /* CIL Label */
  return ((enum eol )2);
  case_7: /* CIL Label */
  case_0: /* CIL Label */
  return ((enum eol )1);
  case_6: /* CIL Label */
  return ((enum eol )2);
  case_5: /* CIL Label */
  case_2: /* CIL Label */
  tmp___1 = text_eol_is_crlf();
  if (tmp___1) {
    tmp___0 = 1;
  } else {
    tmp___0 = 2;
  }
  return ((enum eol )tmp___0);
  switch_break: /* CIL Label */ ;
  }
  tmp___2 = _((char const   *)"illegal crlf_action %d");
  warning((char const   *)tmp___2, (int )crlf_action);
  return (core_eol);
}
}
static void check_global_conv_flags_eol(char const   *path___6 , struct text_stat *old_stats ,
                                        struct text_stat *new_stats , int conv_flags )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  if (old_stats->crlf) {
    if (! new_stats->crlf) {
      if (conv_flags & 1) {
        tmp = _((char const   *)"CRLF would be replaced by LF in %s");
        die((char const   *)tmp, path___6);
      } else
      if (conv_flags & (1 << 1)) {
        tmp___0 = _((char const   *)"CRLF will be replaced by LF in %s.\nThe file will have its original line endings in your working directory");
        warning((char const   *)tmp___0, path___6);
      }
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (old_stats->lonelf) {
    if (! new_stats->lonelf) {
      if (conv_flags & 1) {
        tmp___1 = _((char const   *)"LF would be replaced by CRLF in %s");
        die((char const   *)tmp___1, path___6);
      } else
      if (conv_flags & (1 << 1)) {
        tmp___2 = _((char const   *)"LF will be replaced by CRLF in %s.\nThe file will have its original line endings in your working directory");
        warning((char const   *)tmp___2, path___6);
      }
    }
  }
  return;
}
}
static int has_crlf_in_index(struct index_state *istate , char const   *path___6 )
{
  unsigned long sz ;
  void *data ;
  char const   *crp ;
  int has_crlf ;
  void *tmp ;
  unsigned int ret_stats ;

  {
  has_crlf = 0;
  data = read_blob_data_from_index(istate, path___6, & sz);
  if (! data) {
    return (0);
  }
  tmp = memchr((void const   *)data, '\r', sz);
  crp = (char const   *)tmp;
  if (crp) {
    ret_stats = gather_convert_stats((char const   *)data, sz);
    if (! (ret_stats & 4U)) {
      if (ret_stats & 2U) {
        has_crlf = 1;
      }
    }
  }
  free(data);
  return (has_crlf);
}
}
static int will_convert_lf_to_crlf(struct text_stat *stats___0 , enum convert_crlf_action crlf_action )
{
  enum eol tmp ;
  int tmp___0 ;

  {
  tmp = output_eol(crlf_action);
  if ((unsigned int )tmp != 1U) {
    return (0);
  }
  if (! stats___0->lonelf) {
    return (0);
  }
  if ((unsigned int )crlf_action == 5U) {
    goto _L;
  } else
  if ((unsigned int )crlf_action == 6U) {
    goto _L;
  } else
  if ((unsigned int )crlf_action == 7U) {
    _L: /* CIL Label */
    if (stats___0->lonecr) {
      return (0);
    } else
    if (stats___0->crlf) {
      return (0);
    }
    tmp___0 = convert_is_binary((struct text_stat  const  *)stats___0);
    if (tmp___0) {
      return (0);
    }
  }
  return (1);
}
}
static int validate_encoding(char const   *path___6 , char const   *enc , char const   *data ,
                             size_t len___0 , int die_on_error )
{
  char const   *stripped ;
  char const   *error_msg ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *advise_msg ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int stripped_len ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  int tmp___3 ;
  char const   *error_msg___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const   *advise_msg___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  tmp___9 = skip_iprefix(enc, (char const   *)"UTF", & stripped);
  if (tmp___9) {
    skip_prefix(stripped, (char const   *)"-", & stripped);
    tmp___8 = has_prohibited_utf_bom(enc, data, len___0);
    if (tmp___8) {
      tmp = _((char const   *)"BOM is prohibited in \'%s\' if encoded as %s");
      error_msg = (char const   *)tmp;
      tmp___0 = _((char const   *)"The file \'%s\' contains a byte order mark (BOM). Please use UTF-%.*s as working-tree-encoding.");
      advise_msg = (char const   *)tmp___0;
      tmp___1 = strlen(stripped);
      tmp___2 = strlen((char const   *)"BE");
      stripped_len = (int )(tmp___1 - tmp___2);
      advise(advise_msg, path___6, stripped_len, stripped);
      if (die_on_error) {
        die(error_msg, path___6, enc);
      } else {
        error(error_msg, path___6, enc);
        tmp___3 = const_error();
        return (tmp___3);
      }
    } else {
      tmp___7 = is_missing_required_utf_bom(enc, data, len___0);
      if (tmp___7) {
        tmp___4 = _((char const   *)"BOM is required in \'%s\' if encoded as %s");
        error_msg___0 = (char const   *)tmp___4;
        tmp___5 = _((char const   *)"The file \'%s\' is missing a byte order mark (BOM). Please use UTF-%sBE or UTF-%sLE (depending on the byte order) as working-tree-encoding.");
        advise_msg___0 = (char const   *)tmp___5;
        advise(advise_msg___0, path___6, stripped, stripped);
        if (die_on_error) {
          die(error_msg___0, path___6, enc);
        } else {
          error(error_msg___0, path___6, enc);
          tmp___6 = const_error();
          return (tmp___6);
        }
      }
    }
  }
  return (0);
}
}
static void trace_encoding(char const   *context___0 , char const   *path___6 , char const   *encoding ,
                           char const   *buf___19 , size_t len___0 ) ;
static struct trace_key coe  =    {(char const   *)"GIT_TRACE_WORKING_TREE_ENCODING", 0, 0U, 0U};
static void trace_encoding(char const   *context___0 , char const   *path___6 , char const   *encoding ,
                           char const   *buf___19 , size_t len___0 )
{
  struct strbuf trace ;
  int i ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  trace.alloc = 0UL;
  trace.len = 0UL;
  trace.buf = strbuf_slopbuf;
  strbuf_addf(& trace, (char const   *)"%s (%s, considered %s):\n", context___0, path___6,
              encoding);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((size_t )i < len___0) {
      if (! buf___19) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if ((i + 1) % 8) {
      if ((size_t )(i + 1) < len___0) {
        tmp = ' ';
      } else {
        tmp = '\n';
      }
    } else {
      tmp = '\n';
    }
    if ((int const   )*(buf___19 + i) > 32) {
      if ((int const   )*(buf___19 + i) < 127) {
        tmp___0 = (int const   )*(buf___19 + i);
      } else {
        tmp___0 = (int const   )' ';
      }
    } else {
      tmp___0 = (int const   )' ';
    }
    strbuf_addf(& trace, (char const   *)"| \033[2m%2i:\033[0m %2x \033[2m%c\033[0m%c",
                i, (int )((unsigned char )*(buf___19 + i)), tmp___0, tmp);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addchars(& trace, '\n', (size_t )1);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___1 = trace_pass_fl(& coe);
    if (tmp___1) {
      trace_strbuf_fl((char const   *)"convert.c", 330, & coe, (struct strbuf  const  *)(& trace));
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_release(& trace);
  return;
}
}
static int check_roundtrip(char const   *enc_name )
{
  char const   *found ;
  char *tmp ;
  char const   *next___2 ;
  int len___0 ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  int tmp___2 ;

  {
  tmp = strcasestr((char const   *)check_roundtrip_encoding, enc_name);
  found = (char const   *)tmp;
  if (! found) {
    return (0);
  }
  tmp___0 = strlen(enc_name);
  next___2 = found + tmp___0;
  tmp___1 = strlen((char const   *)check_roundtrip_encoding);
  len___0 = (int )tmp___1;
  if (found) {
    if ((unsigned long )found == (unsigned long )check_roundtrip_encoding) {
      goto _L___0;
    } else
    if (((int const   )sane_ctype[(unsigned char )*(found + -1)] & 1) != 0) {
      goto _L___0;
    } else
    if ((int const   )*(found + -1) == 44) {
      _L___0: /* CIL Label */
      _L: /* CIL Label */
      if ((unsigned long )next___2 == (unsigned long )(check_roundtrip_encoding + len___0)) {
        tmp___2 = 1;
      } else
      if ((unsigned long )next___2 < (unsigned long )(check_roundtrip_encoding + len___0)) {
        if (((int const   )sane_ctype[(unsigned char )*(next___2 + 0)] & 1) != 0) {
          tmp___2 = 1;
        } else
        if ((int const   )*(next___2 + 0) == 44) {
          tmp___2 = 1;
        } else {
          tmp___2 = 0;
        }
      } else {
        tmp___2 = 0;
      }
    } else {
      tmp___2 = 0;
    }
  } else {
    tmp___2 = 0;
  }
  return (tmp___2);
}
}
static char const   *default_encoding  =    (char const   *)"UTF-8";
static int encode_to_git(char const   *path___6 , char const   *src , size_t src_len ,
                         struct strbuf *buf___19 , char const   *enc , int conv_flags )
{
  char *dst ;
  size_t dst_len ;
  int die_on_error ;
  int tmp ;
  char const   *msg___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char *re_src ;
  size_t re_src_len ;
  int tmp___1 ;
  char const   *msg___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  die_on_error = conv_flags & (1 << 4);
  if (! enc) {
    return (0);
  } else
  if (src) {
    if (! src_len) {
      return (0);
    }
  }
  if (! buf___19) {
    if (! src) {
      return (1);
    }
  }
  tmp = validate_encoding(path___6, enc, src, src_len, die_on_error);
  if (tmp) {
    return (0);
  }
  trace_encoding((char const   *)"source", path___6, enc, src, src_len);
  dst = reencode_string_len(src, src_len, default_encoding, enc, & dst_len);
  if (! dst) {
    tmp___0 = _((char const   *)"failed to encode \'%s\' from %s to %s");
    msg___5 = (char const   *)tmp___0;
    if (die_on_error) {
      die(msg___5, path___6, enc, default_encoding);
    } else {
      error(msg___5, path___6, enc, default_encoding);
      const_error();
      return (0);
    }
  }
  trace_encoding((char const   *)"destination", path___6, default_encoding, (char const   *)dst,
                 dst_len);
  if (die_on_error) {
    tmp___4 = check_roundtrip(enc);
    if (tmp___4) {
      re_src = reencode_string_len((char const   *)dst, dst_len, enc, default_encoding,
                                   & re_src_len);
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        tmp___1 = trace_pass_fl(& trace_default_key);
        if (tmp___1) {
          trace_printf_key_fl((char const   *)"convert.c", 445, & trace_default_key,
                              (char const   *)"Checking roundtrip encoding for %s...\n",
                              enc);
        }
        goto while_break;
      }
      while_break: /* CIL Label */ ;
      }
      trace_encoding((char const   *)"reencoded source", path___6, enc, (char const   *)re_src,
                     re_src_len);
      if (! re_src) {
        tmp___2 = _((char const   *)"encoding \'%s\' from %s to %s and back is not the same");
        msg___6 = (char const   *)tmp___2;
        die(msg___6, path___6, enc, default_encoding);
      } else
      if (src_len != re_src_len) {
        tmp___2 = _((char const   *)"encoding \'%s\' from %s to %s and back is not the same");
        msg___6 = (char const   *)tmp___2;
        die(msg___6, path___6, enc, default_encoding);
      } else {
        tmp___3 = memcmp((void const   *)src, (void const   *)re_src, src_len);
        if (tmp___3) {
          tmp___2 = _((char const   *)"encoding \'%s\' from %s to %s and back is not the same");
          msg___6 = (char const   *)tmp___2;
          die(msg___6, path___6, enc, default_encoding);
        }
      }
      free((void *)re_src);
    }
  }
  strbuf_attach(buf___19, (void *)dst, dst_len, dst_len + 1UL);
  return (1);
}
}
static int encode_to_worktree(char const   *path___6 , char const   *src , size_t src_len ,
                              struct strbuf *buf___19 , char const   *enc )
{
  char *dst ;
  size_t dst_len ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if (! enc) {
    return (0);
  } else
  if (src) {
    if (! src_len) {
      return (0);
    }
  }
  dst = reencode_string_len(src, src_len, enc, default_encoding, & dst_len);
  if (! dst) {
    tmp = _((char const   *)"failed to encode \'%s\' from %s to %s");
    error((char const   *)tmp, path___6, default_encoding, enc);
    const_error();
    return (0);
  }
  strbuf_attach(buf___19, (void *)dst, dst_len, dst_len + 1UL);
  return (1);
}
}
static int crlf_to_git(struct index_state *istate , char const   *path___6 , char const   *src ,
                       size_t len___0 , struct strbuf *buf___19 , enum convert_crlf_action crlf_action ,
                       int conv_flags )
{
  struct text_stat stats___0 ;
  char *dst ;
  int convert_crlf_into_lf ;
  int tmp ;
  int tmp___0 ;
  struct text_stat new_stats ;
  int tmp___1 ;
  size_t tmp___2 ;
  unsigned char c___0 ;
  char const   *tmp___3 ;
  char *tmp___4 ;
  unsigned char c___1 ;
  char const   *tmp___5 ;
  char *tmp___6 ;

  {
  if ((unsigned int )crlf_action == 1U) {
    return (0);
  } else
  if (src) {
    if (! len___0) {
      return (0);
    }
  }
  if (! buf___19) {
    if (! src) {
      return (1);
    }
  }
  gather_stats(src, len___0, & stats___0);
  convert_crlf_into_lf = ! (! stats___0.crlf);
  if ((unsigned int )crlf_action == 5U) {
    goto _L;
  } else
  if ((unsigned int )crlf_action == 6U) {
    goto _L;
  } else
  if ((unsigned int )crlf_action == 7U) {
    _L: /* CIL Label */
    tmp = convert_is_binary((struct text_stat  const  *)(& stats___0));
    if (tmp) {
      return (0);
    }
    if (! (conv_flags & (1 << 2))) {
      tmp___0 = has_crlf_in_index(istate, path___6);
      if (tmp___0) {
        convert_crlf_into_lf = 0;
      }
    }
  }
  if (conv_flags & (1 << 1)) {
    goto _L___0;
  } else
  if (conv_flags & 1) {
    if (len___0) {
      _L___0: /* CIL Label */
      memcpy((void *)(& new_stats), (void const   *)(& stats___0), sizeof(new_stats));
      if (convert_crlf_into_lf) {
        new_stats.lonelf += new_stats.crlf;
        new_stats.crlf = 0U;
      }
      tmp___1 = will_convert_lf_to_crlf(& new_stats, crlf_action);
      if (tmp___1) {
        new_stats.crlf += new_stats.lonelf;
        new_stats.lonelf = 0U;
      }
      check_global_conv_flags_eol(path___6, & stats___0, & new_stats, conv_flags);
    }
  }
  if (! convert_crlf_into_lf) {
    return (0);
  }
  if (! buf___19) {
    return (1);
  }
  tmp___2 = strbuf_avail((struct strbuf  const  *)buf___19);
  if (tmp___2 + buf___19->len < len___0) {
    strbuf_grow(buf___19, len___0 - buf___19->len);
  }
  dst = buf___19->buf;
  if ((unsigned int )crlf_action == 5U) {
    goto _L___1;
  } else
  if ((unsigned int )crlf_action == 6U) {
    goto _L___1;
  } else
  if ((unsigned int )crlf_action == 7U) {
    _L___1: /* CIL Label */
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___3 = src;
      src ++;
      c___0 = (unsigned char )*tmp___3;
      if ((int )c___0 != 13) {
        tmp___4 = dst;
        dst ++;
        *tmp___4 = (char )c___0;
      }
      len___0 --;
      if (! len___0) {
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
  } else {
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___5 = src;
      src ++;
      c___1 = (unsigned char )*tmp___5;
      if ((int )c___1 == 13) {
        if (1UL < len___0) {
          if (! ((int const   )*src == 10)) {
            tmp___6 = dst;
            dst ++;
            *tmp___6 = (char )c___1;
          }
        } else {
          tmp___6 = dst;
          dst ++;
          *tmp___6 = (char )c___1;
        }
      } else {
        tmp___6 = dst;
        dst ++;
        *tmp___6 = (char )c___1;
      }
      len___0 --;
      if (! len___0) {
        goto while_break___0;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  strbuf_setlen(buf___19, (size_t )(dst - buf___19->buf));
  return (1);
}
}
static int crlf_to_worktree(char const   *src , size_t len___0 , struct strbuf *buf___19 ,
                            enum convert_crlf_action crlf_action )
{
  char *to_free ;
  struct text_stat stats___0 ;
  enum eol tmp ;
  int tmp___0 ;
  char const   *nl ;
  void *tmp___1 ;

  {
  to_free = (char *)((void *)0);
  if (! len___0) {
    return (0);
  } else {
    tmp = output_eol(crlf_action);
    if ((unsigned int )tmp != 1U) {
      return (0);
    }
  }
  gather_stats(src, len___0, & stats___0);
  tmp___0 = will_convert_lf_to_crlf(& stats___0, crlf_action);
  if (! tmp___0) {
    return (0);
  }
  if ((unsigned long )src == (unsigned long )buf___19->buf) {
    to_free = strbuf_detach(buf___19, (size_t *)((void *)0));
  }
  strbuf_grow(buf___19, len___0 + (size_t )stats___0.lonelf);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = memchr((void const   *)src, '\n', len___0);
    nl = (char const   *)tmp___1;
    if (! nl) {
      goto while_break;
    }
    if ((unsigned long )nl > (unsigned long )src) {
      if ((int const   )*(nl + -1) == 13) {
        strbuf_add(buf___19, (void const   *)src, (size_t )((nl + 1) - src));
      } else {
        strbuf_add(buf___19, (void const   *)src, (size_t )(nl - src));
        strbuf_addstr(buf___19, (char const   *)"\r\n");
      }
    } else {
      strbuf_add(buf___19, (void const   *)src, (size_t )(nl - src));
      strbuf_addstr(buf___19, (char const   *)"\r\n");
    }
    len___0 -= (size_t )((nl + 1) - src);
    src = nl + 1;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_add(buf___19, (void const   *)src, len___0);
  free((void *)to_free);
  return (1);
}
}
static int filter_buffer_or_fd(int in , int out , void *data )
{
  struct child_process child_process ;
  struct filter_params *params ;
  int write_err ;
  int status ;
  struct strbuf cmd ;
  struct strbuf path___6 ;
  struct strbuf_expand_dict_entry dict[2] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  ssize_t tmp___2 ;
  int *tmp___3 ;
  int *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;

  {
  child_process.args.v = empty_strvec;
  child_process.args.nr = 0UL;
  child_process.args.alloc = 0UL;
  child_process.env_array.v = empty_strvec;
  child_process.env_array.nr = 0UL;
  child_process.env_array.alloc = 0UL;
  child_process.pid = 0;
  child_process.trace2_child_id = 0;
  child_process.trace2_child_us_start = 0UL;
  child_process.trace2_child_class = (char const   *)0;
  child_process.trace2_hook_name = (char const   *)0;
  child_process.in = 0;
  child_process.out = 0;
  child_process.err = 0;
  child_process.dir = (char const   *)0;
  child_process.no_stdin = 0U;
  child_process.no_stdout = 0U;
  child_process.no_stderr = 0U;
  child_process.git_cmd = 0U;
  child_process.silent_exec_failure = 0U;
  child_process.use_shell = 0U;
  child_process.close_object_store = 0U;
  child_process.stdout_to_stderr = 0U;
  child_process.clean_on_exit = 0U;
  child_process.wait_after_clean = 0U;
  child_process.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child_process.clean_on_exit_handler_cbdata = (void *)0;
  params = (struct filter_params *)data;
  cmd.alloc = 0UL;
  cmd.len = 0UL;
  cmd.buf = strbuf_slopbuf;
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  dict[0].placeholder = (char const   *)"f";
  dict[0].value = (char const   *)((void *)0);
  dict[1].placeholder = (char const   *)((void *)0);
  dict[1].value = (char const   *)((void *)0);
  sq_quote_buf(& path___6, params->path);
  dict[0].value = (char const   *)path___6.buf;
  strbuf_expand(& cmd, params->cmd, & strbuf_expand_dict_cb, (void *)(& dict));
  strbuf_release(& path___6);
  strvec_push(& child_process.args, (char const   *)cmd.buf);
  child_process.use_shell = 1U;
  child_process.in = -1;
  child_process.out = out;
  tmp___1 = start_command(& child_process);
  if (tmp___1) {
    strbuf_release(& cmd);
    tmp = _((char const   *)"cannot fork to run external filter \'%s\'");
    error((char const   *)tmp, params->cmd);
    tmp___0 = const_error();
    return (tmp___0);
  }
  sigchain_push(13, (void (*)(int  ))1);
  if (params->src) {
    tmp___2 = write_in_full(child_process.in, (void const   *)params->src, params->size);
    write_err = tmp___2 < 0L;
    tmp___3 = __errno_location();
    if (*tmp___3 == 32) {
      write_err = 0;
    }
  } else {
    write_err = copy_fd(params->fd, child_process.in);
    if (write_err == -3) {
      tmp___4 = __errno_location();
      if (*tmp___4 == 32) {
        write_err = 0;
      }
    }
  }
  tmp___5 = close(child_process.in);
  if (tmp___5) {
    write_err = 1;
  }
  if (write_err) {
    tmp___6 = _((char const   *)"cannot feed the input to external filter \'%s\'");
    error((char const   *)tmp___6, params->cmd);
    const_error();
  }
  sigchain_pop(13);
  status = finish_command(& child_process);
  if (status) {
    tmp___7 = _((char const   *)"external filter \'%s\' failed %d");
    error((char const   *)tmp___7, params->cmd, status);
    const_error();
  }
  strbuf_release(& cmd);
  if (write_err) {
    tmp___8 = 1;
  } else
  if (status) {
    tmp___8 = 1;
  } else {
    tmp___8 = 0;
  }
  return (tmp___8);
}
}
static int apply_single_file_filter(char const   *path___6 , char const   *src , size_t len___0 ,
                                    int fd , struct strbuf *dst , char const   *cmd )
{
  int err___4 ;
  struct strbuf nbuf ;
  struct async async ;
  struct filter_params params ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  ssize_t tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;

  {
  err___4 = 0;
  nbuf.alloc = 0UL;
  nbuf.len = 0UL;
  nbuf.buf = strbuf_slopbuf;
  memset((void *)(& async), 0, sizeof(async));
  async.proc = & filter_buffer_or_fd;
  async.data = (void *)(& params);
  async.out = -1;
  params.src = src;
  params.size = len___0;
  params.fd = fd;
  params.cmd = cmd;
  params.path = path___6;
  fflush((FILE *)((void *)0));
  tmp = start_async(& async);
  if (tmp) {
    return (0);
  }
  tmp___1 = strbuf_read(& nbuf, async.out, (size_t )0);
  if (tmp___1 < 0L) {
    tmp___0 = _((char const   *)"read from external filter \'%s\' failed");
    error((char const   *)tmp___0, cmd);
    err___4 = const_error();
  }
  tmp___3 = close(async.out);
  if (tmp___3) {
    tmp___2 = _((char const   *)"read from external filter \'%s\' failed");
    error((char const   *)tmp___2, cmd);
    err___4 = const_error();
  }
  tmp___5 = finish_async(& async);
  if (tmp___5) {
    tmp___4 = _((char const   *)"external filter \'%s\' failed");
    error((char const   *)tmp___4, cmd);
    err___4 = const_error();
  }
  if (! err___4) {
    strbuf_swap(dst, & nbuf);
  }
  strbuf_release(& nbuf);
  return (! err___4);
}
}
static int subprocess_map_initialized  ;
static struct hashmap subprocess_map  ;
static int start_multi_file_filter_fn(struct subprocess_entry *subprocess ) ;
static int versions[2]  = {      2,      0};
static struct subprocess_capability capabilities[4]  = {      {(char const   *)"clean", 1u},
        {(char const   *)"smudge", 1u << 1},
        {(char const   *)"delay", 1u << 2},
        {(char const   *)((void *)0), 0U}};
static int start_multi_file_filter_fn(struct subprocess_entry *subprocess )
{
  struct cmd2process *entry ;
  int tmp ;

  {
  entry = (struct cmd2process *)subprocess;
  tmp = subprocess_handshake(subprocess, (char const   *)"git-filter", versions, (int *)((void *)0),
                             capabilities, & entry->supported_capabilities);
  return (tmp);
}
}
static void handle_filter_error(struct strbuf  const  *filter_status , struct cmd2process *entry ,
                                unsigned int const   wanted_capability )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp___1 = strcmp((char const   *)filter_status->buf, (char const   *)"error");
  if (tmp___1) {
    tmp___0 = strcmp((char const   *)filter_status->buf, (char const   *)"abort");
    if (tmp___0) {
      tmp = _((char const   *)"external filter \'%s\' failed");
      error((char const   *)tmp, entry->subprocess.cmd);
      const_error();
      subprocess_stop(& subprocess_map, & entry->subprocess);
      free((void *)entry);
    } else
    if (wanted_capability) {
      entry->supported_capabilities &= (unsigned int )(~ wanted_capability);
    } else {
      tmp = _((char const   *)"external filter \'%s\' failed");
      error((char const   *)tmp, entry->subprocess.cmd);
      const_error();
      subprocess_stop(& subprocess_map, & entry->subprocess);
      free((void *)entry);
    }
  }
  return;
}
}
static int apply_multi_file_filter(char const   *path___6 , char const   *src , size_t len___0 ,
                                   int fd , struct strbuf *dst , char const   *cmd ,
                                   unsigned int const   wanted_capability , struct checkout_metadata  const  *meta ,
                                   struct delayed_checkout *dco )
{
  int err___4 ;
  int can_delay ;
  struct cmd2process *entry ;
  struct child_process *process___0 ;
  struct strbuf nbuf ;
  struct strbuf filter_status ;
  char const   *filter_type ;
  struct subprocess_entry *tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  size_t tmp___3 ;
  size_t tmp___4 ;
  size_t tmp___5 ;
  size_t tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;
  char *tmp___10 ;
  int tmp___11 ;
  ssize_t tmp___12 ;
  int tmp___13 ;

  {
  can_delay = 0;
  nbuf.alloc = 0UL;
  nbuf.len = 0UL;
  nbuf.buf = strbuf_slopbuf;
  filter_status.alloc = 0UL;
  filter_status.len = 0UL;
  filter_status.buf = strbuf_slopbuf;
  if (! subprocess_map_initialized) {
    subprocess_map_initialized = 1;
    hashmap_init(& subprocess_map, & cmd2process_cmp, (void const   *)((void *)0),
                 (size_t )0);
    entry = (struct cmd2process *)((void *)0);
  } else {
    tmp = subprocess_find_entry(& subprocess_map, cmd);
    entry = (struct cmd2process *)tmp;
  }
  fflush((FILE *)((void *)0));
  if (! entry) {
    tmp___0 = xmalloc(sizeof(*entry));
    entry = (struct cmd2process *)tmp___0;
    entry->supported_capabilities = 0U;
    tmp___1 = subprocess_start(& subprocess_map, & entry->subprocess, cmd, & start_multi_file_filter_fn);
    if (tmp___1) {
      free((void *)entry);
      return (0);
    }
  }
  process___0 = & entry->subprocess.process;
  if (! (entry->supported_capabilities & (unsigned int )wanted_capability)) {
    return (0);
  }
  if (wanted_capability & 1U) {
    filter_type = (char const   *)"clean";
  } else
  if (wanted_capability & (unsigned int const   )(1u << 1)) {
    filter_type = (char const   *)"smudge";
  } else {
    tmp___2 = _((char const   *)"unexpected filter type");
    die((char const   *)tmp___2);
  }
  sigchain_push(13, (void (*)(int  ))1);
  tmp___3 = strlen(filter_type);
  tmp___4 = strlen((char const   *)"command=\n");
  assert(tmp___3 < 65516UL - tmp___4);
  err___4 = packet_write_fmt_gently(process___0->in, (char const   *)"command=%s\n",
                                    filter_type);
  if (err___4) {
    goto done;
  }
  tmp___5 = strlen(path___6);
  tmp___6 = strlen((char const   *)"pathname=\n");
  err___4 = tmp___5 > 65516UL - tmp___6;
  if (err___4) {
    tmp___7 = _((char const   *)"path name too long for external filter");
    error((char const   *)tmp___7);
    const_error();
    goto done;
  }
  err___4 = packet_write_fmt_gently(process___0->in, (char const   *)"pathname=%s\n",
                                    path___6);
  if (err___4) {
    goto done;
  }
  if (meta) {
    if (meta->refname) {
      err___4 = packet_write_fmt_gently(process___0->in, (char const   *)"ref=%s\n",
                                        meta->refname);
      if (err___4) {
        goto done;
      }
    }
  }
  if (meta) {
    tmp___9 = is_null_oid((struct object_id  const  *)(& meta->treeish));
    if (! tmp___9) {
      tmp___8 = oid_to_hex((struct object_id  const  *)(& meta->treeish));
      err___4 = packet_write_fmt_gently(process___0->in, (char const   *)"treeish=%s\n",
                                        tmp___8);
      if (err___4) {
        goto done;
      }
    }
  }
  if (meta) {
    tmp___11 = is_null_oid((struct object_id  const  *)(& meta->blob));
    if (! tmp___11) {
      tmp___10 = oid_to_hex((struct object_id  const  *)(& meta->blob));
      err___4 = packet_write_fmt_gently(process___0->in, (char const   *)"blob=%s\n",
                                        tmp___10);
      if (err___4) {
        goto done;
      }
    }
  }
  if (entry->supported_capabilities & (1u << 2)) {
    if (dco) {
      if ((unsigned int )dco->state == 1U) {
        can_delay = 1;
        err___4 = packet_write_fmt_gently(process___0->in, (char const   *)"can-delay=1\n");
        if (err___4) {
          goto done;
        }
      }
    }
  }
  err___4 = packet_flush_gently(process___0->in);
  if (err___4) {
    goto done;
  }
  if (fd >= 0) {
    err___4 = write_packetized_from_fd_no_flush(fd, process___0->in);
  } else {
    err___4 = write_packetized_from_buf_no_flush(src, len___0, process___0->in);
  }
  if (err___4) {
    goto done;
  }
  err___4 = packet_flush_gently(process___0->in);
  if (err___4) {
    goto done;
  }
  err___4 = subprocess_read_status(process___0->out, & filter_status);
  if (err___4) {
    goto done;
  }
  if (can_delay) {
    tmp___13 = strcmp((char const   *)filter_status.buf, (char const   *)"delayed");
    if (tmp___13) {
      goto _L;
    } else {
      string_list_insert(& dco->filters, cmd);
      string_list_insert(& dco->paths, path___6);
    }
  } else {
    _L: /* CIL Label */
    err___4 = strcmp((char const   *)filter_status.buf, (char const   *)"success");
    if (err___4) {
      goto done;
    }
    tmp___12 = read_packetized_to_strbuf(process___0->out, & nbuf, 1);
    err___4 = tmp___12 < 0L;
    if (err___4) {
      goto done;
    }
    err___4 = subprocess_read_status(process___0->out, & filter_status);
    if (err___4) {
      goto done;
    }
    err___4 = strcmp((char const   *)filter_status.buf, (char const   *)"success");
  }
  done:
  sigchain_pop(13);
  if (err___4) {
    handle_filter_error((struct strbuf  const  *)(& filter_status), entry, wanted_capability);
  } else {
    strbuf_swap(dst, & nbuf);
  }
  strbuf_release(& nbuf);
  strbuf_release(& filter_status);
  return (! err___4);
}
}
int async_query_available_blobs(char const   *cmd , struct string_list *available_paths )
{
  int err___4 ;
  char *line___0 ;
  struct cmd2process *entry ;
  struct child_process *process___0 ;
  struct strbuf filter_status ;
  struct subprocess_entry *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const   *path___6 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  filter_status.alloc = 0UL;
  filter_status.len = 0UL;
  filter_status.buf = strbuf_slopbuf;
  assert(subprocess_map_initialized);
  tmp = subprocess_find_entry(& subprocess_map, cmd);
  entry = (struct cmd2process *)tmp;
  if (! entry) {
    tmp___0 = _((char const   *)"external filter \'%s\' is not available anymore although not all paths have been filtered");
    error((char const   *)tmp___0, cmd);
    const_error();
    return (0);
  }
  process___0 = & entry->subprocess.process;
  sigchain_push(13, (void (*)(int  ))1);
  err___4 = packet_write_fmt_gently(process___0->in, (char const   *)"command=list_available_blobs\n");
  if (err___4) {
    goto done;
  }
  err___4 = packet_flush_gently(process___0->in);
  if (err___4) {
    goto done;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    line___0 = packet_read_line(process___0->out, (int *)((void *)0));
    if (! line___0) {
      goto while_break;
    }
    tmp___2 = skip_prefix((char const   *)line___0, (char const   *)"pathname=", & path___6);
    if (tmp___2) {
      tmp___1 = xstrdup(path___6);
      string_list_insert(available_paths, (char const   *)tmp___1);
    }
  }
  while_break: /* CIL Label */ ;
  }
  err___4 = subprocess_read_status(process___0->out, & filter_status);
  if (err___4) {
    goto done;
  }
  err___4 = strcmp((char const   *)filter_status.buf, (char const   *)"success");
  done:
  sigchain_pop(13);
  if (err___4) {
    handle_filter_error((struct strbuf  const  *)(& filter_status), entry, (unsigned int const   )0);
  }
  strbuf_release(& filter_status);
  return (! err___4);
}
}
static struct convert_driver *user_convert  ;
static struct convert_driver **user_convert_tail  ;
static int apply_filter(char const   *path___6 , char const   *src , size_t len___0 ,
                        int fd , struct strbuf *dst , struct convert_driver *drv ,
                        unsigned int const   wanted_capability , struct checkout_metadata  const  *meta ,
                        struct delayed_checkout *dco )
{
  char const   *cmd ;
  int tmp ;
  int tmp___0 ;

  {
  cmd = (char const   *)((void *)0);
  if (! drv) {
    return (0);
  }
  if (! dst) {
    return (1);
  }
  if (wanted_capability & 1U) {
    if (! drv->process) {
      if (drv->clean) {
        cmd = drv->clean;
      } else {
        goto _L___0;
      }
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  _L: /* CIL Label */
  if (wanted_capability & (unsigned int const   )(1u << 1)) {
    if (! drv->process) {
      if (drv->smudge) {
        cmd = drv->smudge;
      }
    }
  }
  if (cmd) {
    if (*cmd) {
      tmp = apply_single_file_filter(path___6, src, len___0, fd, dst, cmd);
      return (tmp);
    } else {
      goto _L___1;
    }
  } else
  _L___1: /* CIL Label */
  if (drv->process) {
    if (*(drv->process)) {
      tmp___0 = apply_multi_file_filter(path___6, src, len___0, fd, dst, drv->process,
                                        wanted_capability, meta, dco);
      return (tmp___0);
    }
  }
  return (0);
}
}
static int read_convert_config(char const   *var , char const   *value , void *cb )
{
  char const   *key___1 ;
  char const   *name___0 ;
  size_t namelen ;
  struct convert_driver *drv ;
  int tmp ;
  int tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  tmp = parse_config_key(var, (char const   *)"filter", & name___0, & namelen, & key___1);
  if (tmp < 0) {
    return (0);
  } else
  if (! name___0) {
    return (0);
  }
  drv = user_convert;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! drv) {
      goto while_break;
    }
    tmp___0 = strncmp(drv->name, name___0, namelen);
    if (! tmp___0) {
      if (! *(drv->name + namelen)) {
        goto while_break;
      }
    }
    drv = drv->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (! drv) {
    tmp___1 = xcalloc((size_t )1, sizeof(*drv));
    drv = (struct convert_driver *)tmp___1;
    tmp___2 = xmemdupz((void const   *)name___0, namelen);
    drv->name = (char const   *)tmp___2;
    *user_convert_tail = drv;
    user_convert_tail = & drv->next;
  }
  tmp___4 = strcmp((char const   *)"smudge", key___1);
  if (! tmp___4) {
    tmp___3 = git_config_string(& drv->smudge, var, value);
    return (tmp___3);
  }
  tmp___6 = strcmp((char const   *)"clean", key___1);
  if (! tmp___6) {
    tmp___5 = git_config_string(& drv->clean, var, value);
    return (tmp___5);
  }
  tmp___8 = strcmp((char const   *)"process", key___1);
  if (! tmp___8) {
    tmp___7 = git_config_string(& drv->process, var, value);
    return (tmp___7);
  }
  tmp___9 = strcmp((char const   *)"required", key___1);
  if (! tmp___9) {
    drv->required = git_config_bool(var, value);
    return (0);
  }
  return (0);
}
}
static int count_ident(char const   *cp , unsigned long size )
{
  int cnt ;
  char ch___0 ;
  char const   *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;

  {
  cnt = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! size) {
      goto while_break;
    }
    tmp = cp;
    cp ++;
    ch___0 = (char )*tmp;
    size --;
    if ((int )ch___0 != 36) {
      goto while_continue;
    }
    if (size < 3UL) {
      goto while_break;
    }
    tmp___0 = memcmp((void const   *)"Id", (void const   *)cp, (size_t )2);
    if (tmp___0) {
      goto while_continue;
    }
    ch___0 = (char )*(cp + 2);
    cp += 3;
    size -= 3UL;
    if ((int )ch___0 == 36) {
      cnt ++;
    }
    if ((int )ch___0 != 58) {
      goto while_continue;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! size) {
        goto while_break___0;
      }
      tmp___1 = cp;
      cp ++;
      ch___0 = (char )*tmp___1;
      size --;
      if ((int )ch___0 == 36) {
        cnt ++;
        goto while_break___0;
      }
      if ((int )ch___0 == 10) {
        goto while_break___0;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (cnt);
}
}
static int ident_to_git(char const   *src , size_t len___0 , struct strbuf *buf___19 ,
                        int ident )
{
  char *dst ;
  char *dollar ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;
  void *tmp___3 ;
  int tmp___4 ;

  {
  if (! ident) {
    return (0);
  } else
  if (src) {
    tmp = count_ident(src, len___0);
    if (! tmp) {
      return (0);
    }
  }
  if (! buf___19) {
    return (1);
  }
  tmp___0 = strbuf_avail((struct strbuf  const  *)buf___19);
  if (tmp___0 + buf___19->len < len___0) {
    strbuf_grow(buf___19, len___0 - buf___19->len);
  }
  dst = buf___19->buf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = memchr((void const   *)src, '$', len___0);
    dollar = (char *)tmp___1;
    if (! dollar) {
      goto while_break;
    }
    memmove((void *)dst, (void const   *)src, (size_t )((dollar + 1) - (char *)src));
    dst += (dollar + 1) - (char *)src;
    len___0 -= (size_t )((dollar + 1) - (char *)src);
    src = (char const   *)(dollar + 1);
    if (len___0 > 3UL) {
      tmp___4 = memcmp((void const   *)src, (void const   *)"Id:", (size_t )3);
      if (! tmp___4) {
        tmp___2 = memchr((void const   *)(src + 3), '$', len___0 - 3UL);
        dollar = (char *)tmp___2;
        if (! dollar) {
          goto while_break;
        }
        tmp___3 = memchr((void const   *)(src + 3), '\n', (size_t )((dollar - (char *)src) - 3L));
        if (tmp___3) {
          goto __Cont;
        }
        memcpy((void *)dst, (void const   *)"Id$", (size_t )3);
        dst += 3;
        len___0 -= (size_t )((dollar + 1) - (char *)src);
        src = (char const   *)(dollar + 1);
      }
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  memmove((void *)dst, (void const   *)src, len___0);
  strbuf_setlen(buf___19, (size_t )((dst + len___0) - buf___19->buf));
  return (1);
}
}
static int ident_to_worktree(char const   *src , size_t len___0 , struct strbuf *buf___19 ,
                             int ident )
{
  struct object_id oid ;
  char *to_free ;
  char *dollar ;
  char *spc ;
  int cnt ;
  void *tmp ;
  int tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;
  void *tmp___3 ;
  char *tmp___4 ;

  {
  to_free = (char *)((void *)0);
  if (! ident) {
    return (0);
  }
  cnt = count_ident(src, len___0);
  if (! cnt) {
    return (0);
  }
  if ((unsigned long )src == (unsigned long )buf___19->buf) {
    to_free = strbuf_detach(buf___19, (size_t *)((void *)0));
  }
  hash_object_file(the_repository->hash_algo, (void const   *)src, len___0, (char const   *)"blob",
                   & oid);
  strbuf_grow(buf___19, len___0 + (size_t )((size_t )cnt * ((the_repository->hash_algo)->hexsz + 3UL)));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = memchr((void const   *)src, '$', len___0);
    dollar = (char *)tmp;
    if (! dollar) {
      goto while_break;
    }
    strbuf_add(buf___19, (void const   *)src, (size_t )((dollar + 1) - (char *)src));
    len___0 -= (size_t )((dollar + 1) - (char *)src);
    src = (char const   *)(dollar + 1);
    if (len___0 < 3UL) {
      goto __Cont;
    } else {
      tmp___0 = memcmp((void const   *)"Id", (void const   *)src, (size_t )2);
      if (tmp___0) {
        goto __Cont;
      }
    }
    if ((int const   )*(src + 2) == 36) {
      src += 3;
      len___0 -= 3UL;
    } else
    if ((int const   )*(src + 2) == 58) {
      tmp___1 = memchr((void const   *)(src + 3), '$', len___0 - 3UL);
      dollar = (char *)tmp___1;
      if (! dollar) {
        goto while_break;
      }
      tmp___2 = memchr((void const   *)(src + 3), '\n', (size_t )((dollar - (char *)src) - 3L));
      if (tmp___2) {
        goto __Cont;
      }
      tmp___3 = memchr((void const   *)(src + 4), ' ', (size_t )((dollar - (char *)src) - 4L));
      spc = (char *)tmp___3;
      if (spc) {
        if ((unsigned long )spc < (unsigned long )(dollar - 1)) {
          goto __Cont;
        }
      }
      len___0 -= (size_t )((dollar + 1) - (char *)src);
      src = (char const   *)(dollar + 1);
    } else {
      goto __Cont;
    }
    strbuf_addstr(buf___19, (char const   *)"Id: ");
    tmp___4 = oid_to_hex((struct object_id  const  *)(& oid));
    strbuf_addstr(buf___19, (char const   *)tmp___4);
    strbuf_addstr(buf___19, (char const   *)" $");
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_add(buf___19, (void const   *)src, len___0);
  free((void *)to_free);
  return (1);
}
}
static char const   *git_path_check_encoding(struct attr_check_item *check___4 )
{
  char const   *value ;
  size_t tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  value = check___4->value;
  if ((unsigned long )value == (unsigned long )((void *)0)) {
    return ((char const   *)((void *)0));
  } else {
    tmp = strlen(value);
    if (! tmp) {
      return ((char const   *)((void *)0));
    }
  }
  if ((unsigned long )value == (unsigned long )(git_attr__true)) {
    tmp___0 = _((char const   *)"true/false are no valid working-tree-encodings");
    die((char const   *)tmp___0);
  } else
  if ((unsigned long )value == (unsigned long )(git_attr__false)) {
    tmp___0 = _((char const   *)"true/false are no valid working-tree-encodings");
    die((char const   *)tmp___0);
  }
  tmp___1 = same_encoding(value, default_encoding);
  if (tmp___1) {
    return ((char const   *)((void *)0));
  }
  return (value);
}
}
static enum convert_crlf_action git_path_check_crlf(struct attr_check_item *check___4 )
{
  char const   *value ;
  int tmp ;
  int tmp___0 ;

  {
  value = check___4->value;
  if ((unsigned long )value == (unsigned long )(git_attr__true)) {
    return ((enum convert_crlf_action )2);
  } else
  if ((unsigned long )value == (unsigned long )(git_attr__false)) {
    return ((enum convert_crlf_action )1);
  } else
  if (! ((unsigned long )value == (unsigned long )((void *)0))) {
    tmp___0 = strcmp(value, (char const   *)"input");
    if (tmp___0) {
      tmp = strcmp(value, (char const   *)"auto");
      if (! tmp) {
        return ((enum convert_crlf_action )5);
      }
    } else {
      return ((enum convert_crlf_action )3);
    }
  }
  return ((enum convert_crlf_action )0);
}
}
static enum eol git_path_check_eol(struct attr_check_item *check___4 )
{
  char const   *value ;
  int tmp ;
  int tmp___0 ;

  {
  value = check___4->value;
  if (! ((unsigned long )value == (unsigned long )((void *)0))) {
    tmp___0 = strcmp(value, (char const   *)"lf");
    if (tmp___0) {
      tmp = strcmp(value, (char const   *)"crlf");
      if (! tmp) {
        return ((enum eol )1);
      }
    } else {
      return ((enum eol )2);
    }
  }
  return ((enum eol )0);
}
}
static struct convert_driver *git_path_check_convert(struct attr_check_item *check___4 )
{
  char const   *value ;
  struct convert_driver *drv ;
  int tmp ;

  {
  value = check___4->value;
  if ((unsigned long )value == (unsigned long )(git_attr__true)) {
    return ((struct convert_driver *)((void *)0));
  } else
  if ((unsigned long )value == (unsigned long )(git_attr__false)) {
    return ((struct convert_driver *)((void *)0));
  } else
  if ((unsigned long )value == (unsigned long )((void *)0)) {
    return ((struct convert_driver *)((void *)0));
  }
  drv = user_convert;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! drv) {
      goto while_break;
    }
    tmp = strcmp(value, drv->name);
    if (! tmp) {
      return (drv);
    }
    drv = drv->next;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct convert_driver *)((void *)0));
}
}
static int git_path_check_ident(struct attr_check_item *check___4 )
{
  char const   *value ;

  {
  value = check___4->value;
  return (! (! ((unsigned long )value == (unsigned long )(git_attr__true))));
}
}
static struct attr_check *check___0  ;
void convert_attrs(struct index_state *istate , struct conv_attrs *ca , char const   *path___6 )
{
  struct attr_check_item *ccheck ;
  enum eol eol_attr ;
  enum eol tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  ccheck = (struct attr_check_item *)((void *)0);
  if (! check___0) {
    check___0 = attr_check_initl((char const   *)"crlf", "ident", "filter", "eol",
                                 "text", "working-tree-encoding", (void *)0);
    user_convert_tail = & user_convert;
    git_config(& read_convert_config, (void *)0);
  }
  git_check_attr(istate, path___6, check___0);
  ccheck = check___0->items;
  ca->crlf_action = git_path_check_crlf(ccheck + 4);
  if ((unsigned int )ca->crlf_action == 0U) {
    ca->crlf_action = git_path_check_crlf(ccheck + 0);
  }
  ca->ident = git_path_check_ident(ccheck + 1);
  ca->drv = git_path_check_convert(ccheck + 2);
  if ((unsigned int )ca->crlf_action != 1U) {
    tmp = git_path_check_eol(ccheck + 3);
    eol_attr = tmp;
    if ((unsigned int )ca->crlf_action == 5U) {
      if ((unsigned int )eol_attr == 2U) {
        ca->crlf_action = (enum convert_crlf_action )6;
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if ((unsigned int )ca->crlf_action == 5U) {
      if ((unsigned int )eol_attr == 1U) {
        ca->crlf_action = (enum convert_crlf_action )7;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if ((unsigned int )eol_attr == 2U) {
      ca->crlf_action = (enum convert_crlf_action )3;
    } else
    if ((unsigned int )eol_attr == 1U) {
      ca->crlf_action = (enum convert_crlf_action )4;
    }
  }
  ca->working_tree_encoding = git_path_check_encoding(ccheck + 5);
  ca->attr_action = ca->crlf_action;
  if ((unsigned int )ca->crlf_action == 2U) {
    tmp___1 = text_eol_is_crlf();
    if (tmp___1) {
      ca->crlf_action = (enum convert_crlf_action )4;
    } else {
      ca->crlf_action = (enum convert_crlf_action )3;
    }
  }
  if ((unsigned int )ca->crlf_action == 0U) {
    if ((int )auto_crlf == 0) {
      ca->crlf_action = (enum convert_crlf_action )1;
    }
  }
  if ((unsigned int )ca->crlf_action == 0U) {
    if ((int )auto_crlf == 1) {
      ca->crlf_action = (enum convert_crlf_action )7;
    }
  }
  if ((unsigned int )ca->crlf_action == 0U) {
    if ((int )auto_crlf == -1) {
      ca->crlf_action = (enum convert_crlf_action )6;
    }
  }
  return;
}
}
void reset_parsed_attributes(void)
{
  struct convert_driver *drv ;
  struct convert_driver *next___2 ;

  {
  attr_check_free(check___0);
  check___0 = (struct attr_check *)((void *)0);
  reset_merge_attributes();
  drv = user_convert;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! drv) {
      goto while_break;
    }
    next___2 = drv->next;
    free((void *)drv->name);
    free((void *)drv);
    drv = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  user_convert = (struct convert_driver *)((void *)0);
  user_convert_tail = (struct convert_driver **)((void *)0);
  return;
}
}
int would_convert_to_git_filter_fd(struct index_state *istate , char const   *path___6 )
{
  struct conv_attrs ca ;
  int tmp ;

  {
  convert_attrs(istate, & ca, path___6);
  if (! ca.drv) {
    return (0);
  }
  if (! (ca.drv)->required) {
    return (0);
  }
  tmp = apply_filter(path___6, (char const   *)((void *)0), (size_t )0, -1, (struct strbuf *)((void *)0),
                     ca.drv, (unsigned int const   )1u, (struct checkout_metadata  const  *)((void *)0),
                     (struct delayed_checkout *)((void *)0));
  return (tmp);
}
}
char const   *get_convert_attr_ascii(struct index_state *istate , char const   *path___6 )
{
  struct conv_attrs ca ;

  {
  convert_attrs(istate, & ca, path___6);
  {
  if ((unsigned int )ca.attr_action == 0U) {
    goto case_0;
  }
  if ((unsigned int )ca.attr_action == 1U) {
    goto case_1;
  }
  if ((unsigned int )ca.attr_action == 2U) {
    goto case_2;
  }
  if ((unsigned int )ca.attr_action == 3U) {
    goto case_3;
  }
  if ((unsigned int )ca.attr_action == 4U) {
    goto case_4;
  }
  if ((unsigned int )ca.attr_action == 5U) {
    goto case_5;
  }
  if ((unsigned int )ca.attr_action == 7U) {
    goto case_7;
  }
  if ((unsigned int )ca.attr_action == 6U) {
    goto case_6;
  }
  goto switch_break;
  case_0: /* CIL Label */
  return ((char const   *)"");
  case_1: /* CIL Label */
  return ((char const   *)"-text");
  case_2: /* CIL Label */
  return ((char const   *)"text");
  case_3: /* CIL Label */
  return ((char const   *)"text eol=lf");
  case_4: /* CIL Label */
  return ((char const   *)"text eol=crlf");
  case_5: /* CIL Label */
  return ((char const   *)"text=auto");
  case_7: /* CIL Label */
  return ((char const   *)"text=auto eol=crlf");
  case_6: /* CIL Label */
  return ((char const   *)"text=auto eol=lf");
  switch_break: /* CIL Label */ ;
  }
  return ((char const   *)"");
}
}
int convert_to_git(struct index_state *istate , char const   *path___6 , char const   *src ,
                   size_t len___0 , struct strbuf *dst , int conv_flags )
{
  int ret___67 ;
  struct conv_attrs ca ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  ret___67 = 0;
  convert_attrs(istate, & ca, path___6);
  tmp = apply_filter(path___6, src, len___0, -1, dst, ca.drv, (unsigned int const   )1u,
                     (struct checkout_metadata  const  *)((void *)0), (struct delayed_checkout *)((void *)0));
  ret___67 |= tmp;
  if (! ret___67) {
    if (ca.drv) {
      if ((ca.drv)->required) {
        tmp___0 = _((char const   *)"%s: clean filter \'%s\' failed");
        die((char const   *)tmp___0, path___6, (ca.drv)->name);
      }
    }
  }
  if (ret___67) {
    if (dst) {
      src = (char const   *)dst->buf;
      len___0 = dst->len;
    }
  }
  tmp___1 = encode_to_git(path___6, src, len___0, dst, ca.working_tree_encoding, conv_flags);
  ret___67 |= tmp___1;
  if (ret___67) {
    if (dst) {
      src = (char const   *)dst->buf;
      len___0 = dst->len;
    }
  }
  if (! (conv_flags & (1 << 3))) {
    tmp___2 = crlf_to_git(istate, path___6, src, len___0, dst, ca.crlf_action, conv_flags);
    ret___67 |= tmp___2;
    if (ret___67) {
      if (dst) {
        src = (char const   *)dst->buf;
        len___0 = dst->len;
      }
    }
  }
  tmp___3 = ident_to_git(src, len___0, dst, ca.ident);
  return (ret___67 | tmp___3);
}
}
void convert_to_git_filter_fd(struct index_state *istate , char const   *path___6 ,
                              int fd , struct strbuf *dst , int conv_flags )
{
  struct conv_attrs ca ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  convert_attrs(istate, & ca, path___6);
  assert((int )ca.drv);
  tmp___0 = apply_filter(path___6, (char const   *)((void *)0), (size_t )0, fd, dst,
                         ca.drv, (unsigned int const   )1u, (struct checkout_metadata  const  *)((void *)0),
                         (struct delayed_checkout *)((void *)0));
  if (! tmp___0) {
    tmp = _((char const   *)"%s: clean filter \'%s\' failed");
    die((char const   *)tmp, path___6, (ca.drv)->name);
  }
  encode_to_git(path___6, (char const   *)dst->buf, dst->len, dst, ca.working_tree_encoding,
                conv_flags);
  crlf_to_git(istate, path___6, (char const   *)dst->buf, dst->len, dst, ca.crlf_action,
              conv_flags);
  ident_to_git((char const   *)dst->buf, dst->len, dst, ca.ident);
  return;
}
}
static int convert_to_working_tree_ca_internal(struct conv_attrs  const  *ca , char const   *path___6 ,
                                               char const   *src , size_t len___0 ,
                                               struct strbuf *dst , int normalizing ,
                                               struct checkout_metadata  const  *meta ,
                                               struct delayed_checkout *dco )
{
  int ret___67 ;
  int ret_filter ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  ret___67 = 0;
  ret_filter = 0;
  tmp = ident_to_worktree(src, len___0, dst, (int )ca->ident);
  ret___67 |= tmp;
  if (ret___67) {
    src = (char const   *)dst->buf;
    len___0 = dst->len;
  }
  if (ca->drv) {
    if ((ca->drv)->smudge) {
      goto _L;
    } else
    if ((ca->drv)->process) {
      goto _L;
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  if (! normalizing) {
    _L: /* CIL Label */
    tmp___0 = crlf_to_worktree(src, len___0, dst, (enum convert_crlf_action )ca->crlf_action);
    ret___67 |= tmp___0;
    if (ret___67) {
      src = (char const   *)dst->buf;
      len___0 = dst->len;
    }
  }
  tmp___1 = encode_to_worktree(path___6, src, len___0, dst, (char const   *)ca->working_tree_encoding);
  ret___67 |= tmp___1;
  if (ret___67) {
    src = (char const   *)dst->buf;
    len___0 = dst->len;
  }
  ret_filter = apply_filter(path___6, src, len___0, -1, dst, (struct convert_driver *)ca->drv,
                            (unsigned int const   )(1u << 1), meta, dco);
  if (! ret_filter) {
    if (ca->drv) {
      if ((ca->drv)->required) {
        tmp___2 = _((char const   *)"%s: smudge filter %s failed");
        die((char const   *)tmp___2, path___6, (ca->drv)->name);
      }
    }
  }
  return (ret___67 | ret_filter);
}
}
int async_convert_to_working_tree_ca(struct conv_attrs  const  *ca , char const   *path___6 ,
                                     char const   *src , size_t len___0 , struct strbuf *dst ,
                                     struct checkout_metadata  const  *meta , void *dco )
{
  int tmp ;

  {
  tmp = convert_to_working_tree_ca_internal(ca, path___6, src, len___0, dst, 0, meta,
                                            (struct delayed_checkout *)dco);
  return (tmp);
}
}
int convert_to_working_tree_ca(struct conv_attrs  const  *ca , char const   *path___6 ,
                               char const   *src , size_t len___0 , struct strbuf *dst ,
                               struct checkout_metadata  const  *meta )
{
  int tmp ;

  {
  tmp = convert_to_working_tree_ca_internal(ca, path___6, src, len___0, dst, 0, meta,
                                            (struct delayed_checkout *)((void *)0));
  return (tmp);
}
}
int renormalize_buffer(struct index_state *istate , char const   *path___6 , char const   *src ,
                       size_t len___0 , struct strbuf *dst )
{
  struct conv_attrs ca ;
  int ret___67 ;
  int tmp ;

  {
  convert_attrs(istate, & ca, path___6);
  ret___67 = convert_to_working_tree_ca_internal((struct conv_attrs  const  *)(& ca),
                                                 path___6, src, len___0, dst, 1, (struct checkout_metadata  const  *)((void *)0),
                                                 (struct delayed_checkout *)((void *)0));
  if (ret___67) {
    src = (char const   *)dst->buf;
    len___0 = dst->len;
  }
  tmp = convert_to_git(istate, path___6, src, len___0, dst, 1 << 2);
  return (ret___67 | tmp);
}
}
static int null_filter_fn(struct stream_filter *filter___0 , char const   *input ,
                          size_t *isize_p , char *output___4 , size_t *osize_p )
{
  size_t count___0 ;

  {
  if (! input) {
    return (0);
  }
  count___0 = *isize_p;
  if (*osize_p < count___0) {
    count___0 = *osize_p;
  }
  if (count___0) {
    memmove((void *)output___4, (void const   *)input, count___0);
    *isize_p -= count___0;
    *osize_p -= count___0;
  }
  return (0);
}
}
static void null_free_fn(struct stream_filter *filter___0 )
{


  {
  return;
}
}
static struct stream_filter_vtbl null_vtbl  =    {& null_filter_fn, & null_free_fn};
static struct stream_filter null_filter_singleton  =    {& null_vtbl};
int is_null_stream_filter(struct stream_filter *filter___0 )
{


  {
  return ((unsigned long )filter___0 == (unsigned long )(& null_filter_singleton));
}
}
static int lf_to_crlf_filter_fn(struct stream_filter *filter___0 , char const   *input ,
                                size_t *isize_p , char *output___4 , size_t *osize_p )
{
  size_t count___0 ;
  size_t o ;
  struct lf_to_crlf_filter *lf_to_crlf___0 ;
  size_t tmp ;
  size_t i ;
  int was_cr ;
  char ch___0 ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;

  {
  o = (size_t )0;
  lf_to_crlf___0 = (struct lf_to_crlf_filter *)filter___0;
  if (lf_to_crlf___0->has_held) {
    if ((int )lf_to_crlf___0->held != 13) {
      tmp = o;
      o ++;
      *(output___4 + tmp) = lf_to_crlf___0->held;
      lf_to_crlf___0->has_held = 0U;
    } else
    if (! input) {
      tmp = o;
      o ++;
      *(output___4 + tmp) = lf_to_crlf___0->held;
      lf_to_crlf___0->has_held = 0U;
    }
  }
  if (! input) {
    *osize_p -= o;
    return (0);
  }
  count___0 = *isize_p;
  if (count___0) {
    goto _L;
  } else
  if (lf_to_crlf___0->has_held) {
    _L: /* CIL Label */
    was_cr = 0;
    if (lf_to_crlf___0->has_held) {
      was_cr = 1;
      lf_to_crlf___0->has_held = 0U;
    }
    i = (size_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (o < *osize_p) {
        if (! (i < count___0)) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      ch___0 = (char )*(input + i);
      if ((int )ch___0 == 10) {
        tmp___0 = o;
        o ++;
        *(output___4 + tmp___0) = (char )'\r';
      } else
      if (was_cr) {
        tmp___1 = o;
        o ++;
        *(output___4 + tmp___1) = (char )'\r';
      }
      if (*osize_p <= o) {
        lf_to_crlf___0->has_held = 1U;
        lf_to_crlf___0->held = ch___0;
        goto __Cont;
      }
      if ((int )ch___0 == 13) {
        was_cr = 1;
        goto __Cont;
      }
      was_cr = 0;
      tmp___2 = o;
      o ++;
      *(output___4 + tmp___2) = ch___0;
      __Cont: /* CIL Label */
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    *osize_p -= o;
    *isize_p -= i;
    if (! lf_to_crlf___0->has_held) {
      if (was_cr) {
        lf_to_crlf___0->has_held = 1U;
        lf_to_crlf___0->held = (char )'\r';
      }
    }
  }
  return (0);
}
}
static void lf_to_crlf_free_fn(struct stream_filter *filter___0 )
{


  {
  free((void *)filter___0);
  return;
}
}
static struct stream_filter_vtbl lf_to_crlf_vtbl  =    {& lf_to_crlf_filter_fn, & lf_to_crlf_free_fn};
static struct stream_filter *lf_to_crlf_filter(void)
{
  struct lf_to_crlf_filter *lf_to_crlf___0 ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(*lf_to_crlf___0));
  lf_to_crlf___0 = (struct lf_to_crlf_filter *)tmp;
  lf_to_crlf___0->filter.vtbl = & lf_to_crlf_vtbl;
  return ((struct stream_filter *)lf_to_crlf___0);
}
}
static int cascade_filter_fn(struct stream_filter *filter___0 , char const   *input ,
                             size_t *isize_p , char *output___4 , size_t *osize_p )
{
  struct cascade_filter *cas___0 ;
  size_t filled ;
  size_t sz ;
  size_t to_feed ;
  size_t remaining ;
  int tmp ;
  int tmp___0 ;
  size_t fed ;
  int tmp___1 ;

  {
  cas___0 = (struct cascade_filter *)filter___0;
  filled = (size_t )0;
  sz = *osize_p;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (filled < sz)) {
      goto while_break;
    }
    remaining = sz - filled;
    if (cas___0->ptr < cas___0->end) {
      to_feed = (size_t )(cas___0->end - cas___0->ptr);
      tmp = stream_filter(cas___0->two, (char const   *)(cas___0->buf + cas___0->ptr),
                          & to_feed, output___4 + filled, & remaining);
      if (tmp) {
        return (-1);
      }
      cas___0->ptr = (int )((size_t )cas___0->ptr + ((size_t )(cas___0->end - cas___0->ptr) - to_feed));
      filled = sz - remaining;
      goto while_continue;
    }
    if (input) {
      to_feed = *isize_p;
    } else {
      to_feed = (size_t )0;
    }
    if (input) {
      if (! to_feed) {
        goto while_break;
      }
    }
    remaining = sizeof(cas___0->buf);
    tmp___0 = stream_filter(cas___0->one, input, & to_feed, cas___0->buf, & remaining);
    if (tmp___0) {
      return (-1);
    }
    cas___0->end = (int )(sizeof(cas___0->buf) - remaining);
    cas___0->ptr = 0;
    if (input) {
      fed = *isize_p - to_feed;
      *isize_p -= fed;
      input += fed;
    }
    if (input) {
      goto while_continue;
    } else
    if (cas___0->end) {
      goto while_continue;
    }
    to_feed = (size_t )0;
    remaining = sz - filled;
    tmp___1 = stream_filter(cas___0->two, (char const   *)((void *)0), & to_feed,
                            output___4 + filled, & remaining);
    if (tmp___1) {
      return (-1);
    }
    if (remaining == sz - filled) {
      goto while_break;
    }
    filled = sz - remaining;
  }
  while_break: /* CIL Label */ ;
  }
  *osize_p -= filled;
  return (0);
}
}
static void cascade_free_fn(struct stream_filter *filter___0 )
{
  struct cascade_filter *cas___0 ;

  {
  cas___0 = (struct cascade_filter *)filter___0;
  free_stream_filter(cas___0->one);
  free_stream_filter(cas___0->two);
  free((void *)filter___0);
  return;
}
}
static struct stream_filter_vtbl cascade_vtbl  =    {& cascade_filter_fn, & cascade_free_fn};
static struct stream_filter *cascade_filter(struct stream_filter *one___0 , struct stream_filter *two___0 )
{
  struct cascade_filter *cascade ;
  int tmp ;
  int tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;

  {
  if (! one___0) {
    return (two___0);
  } else {
    tmp = is_null_stream_filter(one___0);
    if (tmp) {
      return (two___0);
    }
  }
  if (! two___0) {
    return (one___0);
  } else {
    tmp___0 = is_null_stream_filter(two___0);
    if (tmp___0) {
      return (one___0);
    }
  }
  tmp___1 = xmalloc(sizeof(*cascade));
  cascade = (struct cascade_filter *)tmp___1;
  cascade->one = one___0;
  cascade->two = two___0;
  tmp___2 = 0;
  cascade->ptr = tmp___2;
  cascade->end = tmp___2;
  cascade->filter.vtbl = & cascade_vtbl;
  return ((struct stream_filter *)cascade);
}
}
static int is_foreign_ident(char const   *str )
{
  int i ;
  int tmp ;

  {
  tmp = skip_prefix(str, (char const   *)"$Id: ", & str);
  if (! tmp) {
    return (0);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(str + i)) {
      goto while_break;
    }
    if (((int const   )sane_ctype[(unsigned char )*(str + i)] & 1) != 0) {
      if ((int const   )*(str + (i + 1)) != 36) {
        return (1);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void ident_drain(struct ident_filter *ident , char **output_p , size_t *osize_p )
{
  size_t to_drain ;

  {
  to_drain = ident->left.len;
  if (*osize_p < to_drain) {
    to_drain = *osize_p;
  }
  if (to_drain) {
    memcpy((void *)*output_p, (void const   *)ident->left.buf, to_drain);
    strbuf_remove(& ident->left, (size_t )0, to_drain);
    *output_p += to_drain;
    *osize_p -= to_drain;
  }
  if (! ident->left.len) {
    ident->state = 0;
  }
  return;
}
}
static int ident_filter_fn(struct stream_filter *filter___0 , char const   *input ,
                           size_t *isize_p , char *output___4 , size_t *osize_p ) ;
static char const   head[4]  = {      (char const   )'$',      (char const   )'I',      (char const   )'d',      (char const   )'\000'};
static int ident_filter_fn(struct stream_filter *filter___0 , char const   *input ,
                           size_t *isize_p , char *output___4 , size_t *osize_p )
{
  struct ident_filter *ident ;
  int ch___0 ;
  char const   *tmp ;
  int tmp___0 ;

  {
  ident = (struct ident_filter *)filter___0;
  if (! input) {
    {
    if (ident->state == -1) {
      goto case_neg_1;
    }
    if (ident->state == -2) {
      goto case_neg_1;
    }
    goto switch_default;
    switch_default: /* CIL Label */
    strbuf_add(& ident->left, (void const   *)(head), (size_t )ident->state);
    case_neg_1: /* CIL Label */
    case_neg_2: /* CIL Label */
    ident_drain(ident, & output___4, osize_p);
    switch_break: /* CIL Label */ ;
    }
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *isize_p) {
      if (! (ident->state == -1)) {
        goto while_break;
      }
    }
    if (ident->state == -1) {
      ident_drain(ident, & output___4, osize_p);
      if (! *osize_p) {
        goto while_break;
      }
      goto while_continue;
    }
    tmp = input;
    input ++;
    ch___0 = (int )*tmp;
    (*isize_p) --;
    if (ident->state == -2) {
      strbuf_addch(& ident->left, ch___0);
      if (ch___0 != 10) {
        if (ch___0 != 36) {
          goto while_continue;
        }
      }
      if (ch___0 == 36) {
        tmp___0 = is_foreign_ident((char const   *)ident->left.buf);
        if (! tmp___0) {
          strbuf_setlen(& ident->left, sizeof(head) - 1UL);
          strbuf_addstr(& ident->left, (char const   *)(ident->ident));
        }
      }
      ident->state = -1;
      goto while_continue;
    }
    if ((unsigned long )ident->state < sizeof(head)) {
      if ((int const   )head[ident->state] == (int const   )ch___0) {
        (ident->state) ++;
        goto while_continue;
      }
    }
    if (ident->state) {
      strbuf_add(& ident->left, (void const   *)(head), (size_t )ident->state);
    }
    if ((unsigned long )ident->state == sizeof(head) - 1UL) {
      if (ch___0 != 58) {
        if (ch___0 != 36) {
          strbuf_addch(& ident->left, ch___0);
          ident->state = 0;
          goto while_continue;
        }
      }
      if (ch___0 == 58) {
        strbuf_addch(& ident->left, ch___0);
        ident->state = -2;
      } else {
        strbuf_addstr(& ident->left, (char const   *)(ident->ident));
        ident->state = -1;
      }
      goto while_continue;
    }
    strbuf_addch(& ident->left, ch___0);
    ident->state = -1;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void ident_free_fn(struct stream_filter *filter___0 )
{
  struct ident_filter *ident ;

  {
  ident = (struct ident_filter *)filter___0;
  strbuf_release(& ident->left);
  free((void *)filter___0);
  return;
}
}
static struct stream_filter_vtbl ident_vtbl  =    {& ident_filter_fn, & ident_free_fn};
static struct stream_filter *ident_filter(struct object_id  const  *oid )
{
  struct ident_filter *ident ;
  void *tmp ;
  char *tmp___0 ;

  {
  tmp = xmalloc(sizeof(*ident));
  ident = (struct ident_filter *)tmp;
  tmp___0 = oid_to_hex(oid);
  xsnprintf(ident->ident, sizeof(ident->ident), (char const   *)": %s $", tmp___0);
  strbuf_init(& ident->left, (size_t )0);
  ident->filter.vtbl = & ident_vtbl;
  ident->state = 0;
  return ((struct stream_filter *)ident);
}
}
struct stream_filter *get_stream_filter_ca(struct conv_attrs  const  *ca , struct object_id  const  *oid )
{
  struct stream_filter *filter___0 ;
  enum conv_attrs_classification tmp ;
  struct stream_filter *tmp___0 ;
  enum eol tmp___1 ;

  {
  filter___0 = (struct stream_filter *)((void *)0);
  tmp = classify_conv_attrs(ca);
  if ((unsigned int )tmp != 3U) {
    return ((struct stream_filter *)((void *)0));
  }
  if (ca->ident) {
    filter___0 = ident_filter(oid);
  }
  tmp___1 = output_eol((enum convert_crlf_action )ca->crlf_action);
  if ((unsigned int )tmp___1 == 1U) {
    tmp___0 = lf_to_crlf_filter();
    filter___0 = cascade_filter(filter___0, tmp___0);
  } else {
    filter___0 = cascade_filter(filter___0, & null_filter_singleton);
  }
  return (filter___0);
}
}
struct stream_filter *get_stream_filter(struct index_state *istate , char const   *path___6 ,
                                        struct object_id  const  *oid )
{
  struct conv_attrs ca ;
  struct stream_filter *tmp ;

  {
  convert_attrs(istate, & ca, path___6);
  tmp = get_stream_filter_ca((struct conv_attrs  const  *)(& ca), oid);
  return (tmp);
}
}
void free_stream_filter(struct stream_filter *filter___0 )
{


  {
  (*((filter___0->vtbl)->free))(filter___0);
  return;
}
}
int stream_filter(struct stream_filter *filter___0 , char const   *input , size_t *isize_p ,
                  char *output___4 , size_t *osize_p )
{
  int tmp ;

  {
  tmp = (*((filter___0->vtbl)->filter))(filter___0, input, isize_p, output___4, osize_p);
  return (tmp);
}
}
void init_checkout_metadata(struct checkout_metadata *meta , char const   *refname ,
                            struct object_id  const  *treeish , struct object_id  const  *blob )
{


  {
  memset((void *)meta, 0, sizeof(*meta));
  if (refname) {
    meta->refname = refname;
  }
  if (treeish) {
    oidcpy(& meta->treeish, treeish);
  }
  if (blob) {
    oidcpy(& meta->blob, blob);
  }
  return;
}
}
void clone_checkout_metadata(struct checkout_metadata *dst , struct checkout_metadata  const  *src ,
                             struct object_id  const  *blob )
{


  {
  memcpy((void *)dst, (void const   *)src, sizeof(*dst));
  if (blob) {
    oidcpy(& dst->blob, blob);
  }
  return;
}
}
enum conv_attrs_classification classify_conv_attrs(struct conv_attrs  const  *ca )
{


  {
  if (ca->drv) {
    if ((ca->drv)->process) {
      return ((enum conv_attrs_classification )2);
    }
    if ((ca->drv)->smudge) {
      return ((enum conv_attrs_classification )1);
    } else
    if ((ca->drv)->clean) {
      return ((enum conv_attrs_classification )1);
    }
  }
  if (ca->working_tree_encoding) {
    return ((enum conv_attrs_classification )0);
  }
  if ((unsigned int )ca->crlf_action == 5U) {
    return ((enum conv_attrs_classification )0);
  } else
  if ((unsigned int )ca->crlf_action == 7U) {
    return ((enum conv_attrs_classification )0);
  }
  return ((enum conv_attrs_classification )3);
}
}
int copy_fd(int ifd , int ofd )
{
  char buffer___5[8192] ;
  ssize_t len___0 ;
  ssize_t tmp ;
  ssize_t tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = xread(ifd, (void *)(buffer___5), sizeof(buffer___5));
    len___0 = tmp;
    if (! len___0) {
      goto while_break;
    }
    if (len___0 < 0L) {
      return (-2);
    }
    tmp___0 = write_in_full(ofd, (void const   *)(buffer___5), (size_t )len___0);
    if (tmp___0 < 0L) {
      return (-3);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int copy_times(char const   *dst , char const   *src )
{
  struct stat st ;
  struct utimbuf times ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = stat(src, & st);
  if (tmp < 0) {
    return (-1);
  }
  times.actime = st.st_atim.tv_sec;
  times.modtime = st.st_mtim.tv_sec;
  tmp___0 = utime(dst, (struct utimbuf  const  *)(& times));
  if (tmp___0 < 0) {
    return (-1);
  }
  return (0);
}
}
int copy_file(char const   *dst , char const   *src , int mode___1 )
{
  int fdi ;
  int fdo ;
  int status ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (mode___1 & 0111) {
    mode___1 = 0777;
  } else {
    mode___1 = 0666;
  }
  fdi = open(src, 00);
  if (fdi < 0) {
    return (fdi);
  }
  fdo = open(dst, 193, mode___1);
  if (fdo < 0) {
    close(fdi);
    return (fdo);
  }
  status = copy_fd(fdi, fdo);
  {
  if (status == -2) {
    goto case_neg_2;
  }
  if (status == -3) {
    goto case_neg_3;
  }
  goto switch_break;
  case_neg_2: /* CIL Label */
  error_errno((char const   *)"copy-fd: read returned");
  const_error();
  goto switch_break;
  case_neg_3: /* CIL Label */
  error_errno((char const   *)"copy-fd: write returned");
  const_error();
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  close(fdi);
  tmp___0 = close(fdo);
  if (tmp___0 != 0) {
    error_errno((char const   *)"%s: close error", dst);
    tmp = const_error();
    return (tmp);
  }
  if (! status) {
    tmp___1 = adjust_shared_perm(dst);
    if (tmp___1) {
      return (-1);
    }
  }
  return (status);
}
}
int copy_file_with_time(char const   *dst , char const   *src , int mode___1 )
{
  int status ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = copy_file(dst, src, mode___1);
  status = tmp;
  if (! status) {
    tmp___0 = copy_times(dst, src);
    return (tmp___0);
  }
  return (status);
}
}
void credential_init(struct credential *c___0 ) ;
void credential_clear(struct credential *c___0 ) ;
void credential_fill(struct credential *c___0 ) ;
void credential_approve(struct credential *c___0 ) ;
void credential_reject(struct credential *c___0 ) ;
int credential_read(struct credential *c___0 , FILE *fp ) ;
void credential_write(struct credential  const  *c___0 , FILE *fp ) ;
void credential_from_url(struct credential *c___0 , char const   *url ) ;
int credential_from_url_gently(struct credential *c___0 , char const   *url , int quiet___7 ) ;
int credential_match(struct credential  const  *want , struct credential  const  *have ) ;
char *url_normalize(char const   *url , struct url_info *out_info ) ;
int urlmatch_config_entry(char const   *var , char const   *value , void *cb ) ;
void credential_init(struct credential *c___0 )
{
  struct credential blank___1 ;

  {
  blank___1.helpers.items = (struct string_list_item *)0;
  blank___1.helpers.nr = 0U;
  blank___1.helpers.alloc = 0U;
  blank___1.helpers.strdup_strings = 1U;
  blank___1.helpers.cmp = (int (*)(char const   * , char const   * ))0;
  blank___1.approved = 0U;
  blank___1.configured = 0U;
  blank___1.quit = 0U;
  blank___1.use_http_path = 0U;
  blank___1.username_from_proto = 0U;
  blank___1.username = (char *)0;
  blank___1.password = (char *)0;
  blank___1.protocol = (char *)0;
  blank___1.host = (char *)0;
  blank___1.path = (char *)0;
  memcpy((void *)c___0, (void const   *)(& blank___1), sizeof(*c___0));
  return;
}
}
void credential_clear(struct credential *c___0 )
{


  {
  free((void *)c___0->protocol);
  free((void *)c___0->host);
  free((void *)c___0->path);
  free((void *)c___0->username);
  free((void *)c___0->password);
  string_list_clear(& c___0->helpers, 0);
  credential_init(c___0);
  return;
}
}
int credential_match(struct credential  const  *want , struct credential  const  *have )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  if (! want->protocol) {
    goto _L___1;
  } else
  if (have->protocol) {
    tmp = strcmp((char const   *)want->protocol, (char const   *)have->protocol);
    if (tmp) {
      tmp___3 = 0;
    } else
    _L___1: /* CIL Label */
    if (! want->host) {
      goto _L___0;
    } else
    if (have->host) {
      tmp___0 = strcmp((char const   *)want->host, (char const   *)have->host);
      if (tmp___0) {
        tmp___3 = 0;
      } else
      _L___0: /* CIL Label */
      if (! want->path) {
        goto _L;
      } else
      if (have->path) {
        tmp___1 = strcmp((char const   *)want->path, (char const   *)have->path);
        if (tmp___1) {
          tmp___3 = 0;
        } else
        _L: /* CIL Label */
        if (! want->username) {
          tmp___3 = 1;
        } else
        if (have->username) {
          tmp___2 = strcmp((char const   *)want->username, (char const   *)have->username);
          if (tmp___2) {
            tmp___3 = 0;
          } else {
            tmp___3 = 1;
          }
        } else {
          tmp___3 = 0;
        }
      } else {
        tmp___3 = 0;
      }
    } else {
      tmp___3 = 0;
    }
  } else {
    tmp___3 = 0;
  }
  return (tmp___3);
}
}
static int credential_from_potentially_partial_url(struct credential *c___0 , char const   *url ) ;
static int credential_config_callback(char const   *var , char const   *value , void *data )
{
  struct credential *c___0 ;
  char const   *key___1 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  c___0 = (struct credential *)data;
  tmp = skip_prefix(var, (char const   *)"credential.", & key___1);
  if (! tmp) {
    return (0);
  }
  if (! value) {
    config_error_nonbool(var);
    tmp___0 = const_error();
    return (tmp___0);
  }
  tmp___4 = strcmp(key___1, (char const   *)"helper");
  if (tmp___4) {
    tmp___3 = strcmp(key___1, (char const   *)"username");
    if (tmp___3) {
      tmp___2 = strcmp(key___1, (char const   *)"usehttppath");
      if (! tmp___2) {
        tmp___1 = git_config_bool(var, value);
        c___0->use_http_path = (unsigned int )tmp___1;
      }
    } else
    if (! c___0->username_from_proto) {
      free((void *)c___0->username);
      c___0->username = xstrdup(value);
    }
  } else
  if (*value) {
    string_list_append(& c___0->helpers, value);
  } else {
    string_list_clear(& c___0->helpers, 0);
  }
  return (0);
}
}
static int proto_is_http(char const   *s___1 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! s___1) {
    return (0);
  }
  tmp = strcmp(s___1, (char const   *)"https");
  if (tmp) {
    tmp___0 = strcmp(s___1, (char const   *)"http");
    if (tmp___0) {
      tmp___1 = 0;
    } else {
      tmp___1 = 1;
    }
  } else {
    tmp___1 = 1;
  }
  return (tmp___1);
}
}
static void credential_describe(struct credential *c___0 , struct strbuf *out ) ;
static void credential_format(struct credential *c___0 , struct strbuf *out ) ;
static int select_all(struct urlmatch_item  const  *a , struct urlmatch_item  const  *b___0 )
{


  {
  return (0);
}
}
static int match_partial_url(char const   *url , void *cb )
{
  struct credential *c___0 ;
  struct credential want ;
  int matches___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  c___0 = (struct credential *)cb;
  want.helpers.items = (struct string_list_item *)0;
  want.helpers.nr = 0U;
  want.helpers.alloc = 0U;
  want.helpers.strdup_strings = 1U;
  want.helpers.cmp = (int (*)(char const   * , char const   * ))0;
  want.approved = 0U;
  want.configured = 0U;
  want.quit = 0U;
  want.use_http_path = 0U;
  want.username_from_proto = 0U;
  want.username = (char *)0;
  want.password = (char *)0;
  want.protocol = (char *)0;
  want.host = (char *)0;
  want.path = (char *)0;
  matches___0 = 0;
  tmp___0 = credential_from_potentially_partial_url(& want, url);
  if (tmp___0 < 0) {
    tmp = _((char const   *)"skipping credential lookup for key: credential.%s");
    warning((char const   *)tmp, url);
  } else {
    matches___0 = credential_match((struct credential  const  *)(& want), (struct credential  const  *)c___0);
  }
  credential_clear(& want);
  return (matches___0);
}
}
static void credential_apply_config(struct credential *c___0 )
{
  char *normalized_url ;
  struct urlmatch_config config ;
  struct strbuf url ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  config.vars.items = (struct string_list_item *)0;
  config.vars.nr = 0U;
  config.vars.alloc = 0U;
  config.vars.strdup_strings = 1U;
  config.vars.cmp = (int (*)(char const   * , char const   * ))0;
  config.url.url = (char *)0;
  config.url.err = (char const   *)0;
  config.url.url_len = 0UL;
  config.url.scheme_len = 0UL;
  config.url.user_off = 0UL;
  config.url.user_len = 0UL;
  config.url.passwd_off = 0UL;
  config.url.passwd_len = 0UL;
  config.url.host_off = 0UL;
  config.url.host_len = 0UL;
  config.url.port_off = 0UL;
  config.url.port_len = 0UL;
  config.url.path_off = 0UL;
  config.url.path_len = 0UL;
  config.section = (char const   *)0;
  config.key = (char const   *)0;
  config.cb = (void *)0;
  config.collect_fn = (int (*)(char const   *var , char const   *value , void *cb ))0;
  config.cascade_fn = (int (*)(char const   *var , char const   *value , void *cb ))0;
  config.select_fn = (int (*)(struct urlmatch_item  const  *found , struct urlmatch_item  const  *existing ))0;
  config.fallback_match_fn = (int (*)(char const   *url , void *cb ))0;
  url.alloc = 0UL;
  url.len = 0UL;
  url.buf = strbuf_slopbuf;
  if (! c___0->host) {
    tmp = _((char const   *)"refusing to work with credential missing host field");
    die((char const   *)tmp);
  }
  if (! c___0->protocol) {
    tmp___0 = _((char const   *)"refusing to work with credential missing protocol field");
    die((char const   *)tmp___0);
  }
  if (c___0->configured) {
    return;
  }
  config.section = (char const   *)"credential";
  config.key = (char const   *)((void *)0);
  config.collect_fn = & credential_config_callback;
  config.cascade_fn = (int (*)(char const   *var , char const   *value , void *cb ))((void *)0);
  config.select_fn = & select_all;
  config.fallback_match_fn = & match_partial_url;
  config.cb = (void *)c___0;
  credential_format(c___0, & url);
  normalized_url = url_normalize((char const   *)url.buf, & config.url);
  git_config(& urlmatch_config_entry, (void *)(& config));
  string_list_clear(& config.vars, 1);
  free((void *)normalized_url);
  strbuf_release(& url);
  c___0->configured = 1U;
  if (! c___0->use_http_path) {
    tmp___1 = proto_is_http((char const   *)c___0->protocol);
    if (tmp___1) {
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        free((void *)c___0->path);
        c___0->path = (char *)((void *)0);
        goto while_break;
      }
      while_break: /* CIL Label */ ;
      }
    }
  }
  return;
}
}
static void credential_describe(struct credential *c___0 , struct strbuf *out )
{


  {
  if (! c___0->protocol) {
    return;
  }
  strbuf_addf(out, (char const   *)"%s://", c___0->protocol);
  if (c___0->username) {
    if (*(c___0->username)) {
      strbuf_addf(out, (char const   *)"%s@", c___0->username);
    }
  }
  if (c___0->host) {
    strbuf_addstr(out, (char const   *)c___0->host);
  }
  if (c___0->path) {
    strbuf_addf(out, (char const   *)"/%s", c___0->path);
  }
  return;
}
}
static void credential_format(struct credential *c___0 , struct strbuf *out )
{


  {
  if (! c___0->protocol) {
    return;
  }
  strbuf_addf(out, (char const   *)"%s://", c___0->protocol);
  if (c___0->username) {
    if (*(c___0->username)) {
      strbuf_add_percentencode(out, (char const   *)c___0->username, 1);
      strbuf_addch(out, '@');
    }
  }
  if (c___0->host) {
    strbuf_addstr(out, (char const   *)c___0->host);
  }
  if (c___0->path) {
    strbuf_addch(out, '/');
    strbuf_add_percentencode(out, (char const   *)c___0->path, 0);
  }
  return;
}
}
static char *credential_ask_one(char const   *what , struct credential *c___0 , int flags___0 )
{
  struct strbuf desc___0 ;
  struct strbuf prompt ;
  char *r ;
  char *tmp ;

  {
  desc___0.alloc = 0UL;
  desc___0.len = 0UL;
  desc___0.buf = strbuf_slopbuf;
  prompt.alloc = 0UL;
  prompt.len = 0UL;
  prompt.buf = strbuf_slopbuf;
  credential_describe(c___0, & desc___0);
  if (desc___0.len) {
    strbuf_addf(& prompt, (char const   *)"%s for \'%s\': ", what, desc___0.buf);
  } else {
    strbuf_addf(& prompt, (char const   *)"%s: ", what);
  }
  r = git_prompt((char const   *)prompt.buf, flags___0);
  strbuf_release(& desc___0);
  strbuf_release(& prompt);
  tmp = xstrdup((char const   *)r);
  return (tmp);
}
}
static void credential_getpass(struct credential *c___0 )
{


  {
  if (! c___0->username) {
    c___0->username = credential_ask_one((char const   *)"Username", c___0, 1 | (1 << 1));
  }
  if (! c___0->password) {
    c___0->password = credential_ask_one((char const   *)"Password", c___0, 1);
  }
  return;
}
}
int credential_read(struct credential *c___0 , FILE *fp )
{
  struct strbuf line___0 ;
  char *key___1 ;
  char *value ;
  char *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___10 = strbuf_getline(& line___0, fp);
    if (! (tmp___10 != -1)) {
      goto while_break;
    }
    key___1 = line___0.buf;
    tmp = strchr((char const   *)key___1, '=');
    value = tmp;
    if (! line___0.len) {
      goto while_break;
    }
    if (! value) {
      warning((char const   *)"invalid credential line: %s", key___1);
      strbuf_release(& line___0);
      return (-1);
    }
    tmp___0 = value;
    value ++;
    *tmp___0 = (char )'\000';
    tmp___9 = strcmp((char const   *)key___1, (char const   *)"username");
    if (tmp___9) {
      tmp___8 = strcmp((char const   *)key___1, (char const   *)"password");
      if (tmp___8) {
        tmp___7 = strcmp((char const   *)key___1, (char const   *)"protocol");
        if (tmp___7) {
          tmp___6 = strcmp((char const   *)key___1, (char const   *)"host");
          if (tmp___6) {
            tmp___5 = strcmp((char const   *)key___1, (char const   *)"path");
            if (tmp___5) {
              tmp___4 = strcmp((char const   *)key___1, (char const   *)"url");
              if (tmp___4) {
                tmp___3 = strcmp((char const   *)key___1, (char const   *)"quit");
                if (! tmp___3) {
                  tmp___1 = git_config_bool((char const   *)"quit", (char const   *)value);
                  if (tmp___1) {
                    tmp___2 = 1;
                  } else {
                    tmp___2 = 0;
                  }
                  c___0->quit = (unsigned int )tmp___2;
                }
              } else {
                credential_from_url(c___0, (char const   *)value);
              }
            } else {
              free((void *)c___0->path);
              c___0->path = xstrdup((char const   *)value);
            }
          } else {
            free((void *)c___0->host);
            c___0->host = xstrdup((char const   *)value);
          }
        } else {
          free((void *)c___0->protocol);
          c___0->protocol = xstrdup((char const   *)value);
        }
      } else {
        free((void *)c___0->password);
        c___0->password = xstrdup((char const   *)value);
      }
    } else {
      free((void *)c___0->username);
      c___0->username = xstrdup((char const   *)value);
      c___0->username_from_proto = 1U;
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& line___0);
  return (0);
}
}
static void credential_write_item(FILE *fp , char const   *key___1 , char const   *value ,
                                  int required )
{
  char *tmp ;

  {
  if (! value) {
    if (required) {
      BUG_fl((char const   *)"credential.c", 256, (char const   *)"credential value for %s is missing",
             key___1);
    }
  }
  if (! value) {
    return;
  }
  tmp = strchr(value, '\n');
  if (tmp) {
    die((char const   *)"credential value for %s contains newline", key___1);
  }
  fprintf(fp, (char const   *)"%s=%s\n", key___1, value);
  return;
}
}
void credential_write(struct credential  const  *c___0 , FILE *fp )
{


  {
  credential_write_item(fp, (char const   *)"protocol", (char const   *)c___0->protocol,
                        1);
  credential_write_item(fp, (char const   *)"host", (char const   *)c___0->host, 1);
  credential_write_item(fp, (char const   *)"path", (char const   *)c___0->path, 0);
  credential_write_item(fp, (char const   *)"username", (char const   *)c___0->username,
                        0);
  credential_write_item(fp, (char const   *)"password", (char const   *)c___0->password,
                        0);
  return;
}
}
static int run_credential_helper(struct credential *c___0 , char const   *cmd , int want_output )
{
  struct child_process helper ;
  FILE *fp ;
  int tmp ;
  int r ;
  int tmp___0 ;

  {
  helper.args.v = empty_strvec;
  helper.args.nr = 0UL;
  helper.args.alloc = 0UL;
  helper.env_array.v = empty_strvec;
  helper.env_array.nr = 0UL;
  helper.env_array.alloc = 0UL;
  helper.pid = 0;
  helper.trace2_child_id = 0;
  helper.trace2_child_us_start = 0UL;
  helper.trace2_child_class = (char const   *)0;
  helper.trace2_hook_name = (char const   *)0;
  helper.in = 0;
  helper.out = 0;
  helper.err = 0;
  helper.dir = (char const   *)0;
  helper.no_stdin = 0U;
  helper.no_stdout = 0U;
  helper.no_stderr = 0U;
  helper.git_cmd = 0U;
  helper.silent_exec_failure = 0U;
  helper.use_shell = 0U;
  helper.close_object_store = 0U;
  helper.stdout_to_stderr = 0U;
  helper.clean_on_exit = 0U;
  helper.wait_after_clean = 0U;
  helper.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  helper.clean_on_exit_handler_cbdata = (void *)0;
  strvec_push(& helper.args, cmd);
  helper.use_shell = 1U;
  helper.in = -1;
  if (want_output) {
    helper.out = -1;
  } else {
    helper.no_stdout = 1U;
  }
  tmp = start_command(& helper);
  if (tmp < 0) {
    return (-1);
  }
  fp = xfdopen(helper.in, (char const   *)"w");
  sigchain_push(13, (void (*)(int  ))1);
  credential_write((struct credential  const  *)c___0, fp);
  fclose(fp);
  sigchain_pop(13);
  if (want_output) {
    fp = xfdopen(helper.out, (char const   *)"r");
    r = credential_read(c___0, fp);
    fclose(fp);
    if (r < 0) {
      finish_command(& helper);
      return (-1);
    }
  }
  tmp___0 = finish_command(& helper);
  if (tmp___0) {
    return (-1);
  }
  return (0);
}
}
static int credential_do(struct credential *c___0 , char const   *helper , char const   *operation )
{
  struct strbuf cmd ;
  int r ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  cmd.alloc = 0UL;
  cmd.len = 0UL;
  cmd.buf = strbuf_slopbuf;
  if ((int const   )*(helper + 0) == 33) {
    strbuf_addstr(& cmd, helper + 1);
  } else {
    tmp = is_absolute_path(helper);
    if (tmp) {
      strbuf_addstr(& cmd, helper);
    } else {
      strbuf_addf(& cmd, (char const   *)"git credential-%s", helper);
    }
  }
  strbuf_addf(& cmd, (char const   *)" %s", operation);
  tmp___0 = strcmp(operation, (char const   *)"get");
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  r = run_credential_helper(c___0, (char const   *)cmd.buf, tmp___1);
  strbuf_release(& cmd);
  return (r);
}
}
void credential_fill(struct credential *c___0 )
{
  int i ;

  {
  if (c___0->username) {
    if (c___0->password) {
      return;
    }
  }
  credential_apply_config(c___0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < c___0->helpers.nr)) {
      goto while_break;
    }
    credential_do(c___0, (char const   *)(c___0->helpers.items + i)->string, (char const   *)"get");
    if (c___0->username) {
      if (c___0->password) {
        return;
      }
    }
    if (c___0->quit) {
      die((char const   *)"credential helper \'%s\' told us to quit", (c___0->helpers.items + i)->string);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  credential_getpass(c___0);
  if (! c___0->username) {
    if (! c___0->password) {
      die((char const   *)"unable to get password from user");
    }
  }
  return;
}
}
void credential_approve(struct credential *c___0 )
{
  int i ;

  {
  if (c___0->approved) {
    return;
  }
  if (! c___0->username) {
    return;
  } else
  if (! c___0->password) {
    return;
  }
  credential_apply_config(c___0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < c___0->helpers.nr)) {
      goto while_break;
    }
    credential_do(c___0, (char const   *)(c___0->helpers.items + i)->string, (char const   *)"store");
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  c___0->approved = 1U;
  return;
}
}
void credential_reject(struct credential *c___0 )
{
  int i ;

  {
  credential_apply_config(c___0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < c___0->helpers.nr)) {
      goto while_break;
    }
    credential_do(c___0, (char const   *)(c___0->helpers.items + i)->string, (char const   *)"erase");
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)c___0->username);
    c___0->username = (char *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    free((void *)c___0->password);
    c___0->password = (char *)((void *)0);
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  c___0->approved = 0U;
  return;
}
}
static int check_url_component(char const   *url , int quiet___7 , char const   *name___0 ,
                               char const   *value )
{
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  if (! value) {
    return (0);
  }
  tmp = strchr(value, '\n');
  if (! tmp) {
    return (0);
  }
  if (! quiet___7) {
    tmp___0 = _((char const   *)"url contains a newline in its %s component: %s");
    warning((char const   *)tmp___0, name___0, url);
  }
  return (-1);
}
}
static int credential_from_url_1(struct credential *c___0 , char const   *url , int allow_partial_url ,
                                 int quiet___7 )
{
  char const   *at ;
  char const   *colon ;
  char const   *cp ;
  char const   *slash ;
  char const   *host ;
  char const   *proto_end ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  char *p___0 ;
  size_t tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;

  {
  credential_clear(c___0);
  tmp = strstr(url, (char const   *)"://");
  proto_end = (char const   *)tmp;
  if (! allow_partial_url) {
    if (! proto_end) {
      goto _L;
    } else
    if ((unsigned long )proto_end == (unsigned long )url) {
      _L: /* CIL Label */
      if (! quiet___7) {
        tmp___0 = _((char const   *)"url has no scheme: %s");
        warning((char const   *)tmp___0, url);
      }
      return (-1);
    }
  }
  if (proto_end) {
    cp = proto_end + 3;
  } else {
    cp = url;
  }
  tmp___1 = strchr(cp, '@');
  at = (char const   *)tmp___1;
  tmp___2 = strchr(cp, ':');
  colon = (char const   *)tmp___2;
  tmp___3 = strcspn(cp, (char const   *)"/?#");
  slash = cp + tmp___3;
  if (! at) {
    host = cp;
  } else
  if ((unsigned long )slash <= (unsigned long )at) {
    host = cp;
  } else
  if (! colon) {
    goto _L___0;
  } else
  if ((unsigned long )at <= (unsigned long )colon) {
    _L___0: /* CIL Label */
    c___0->username = url_decode_mem(cp, (int )(at - cp));
    if (c___0->username) {
      if (*(c___0->username)) {
        c___0->username_from_proto = 1U;
      }
    }
    host = at + 1;
  } else {
    c___0->username = url_decode_mem(cp, (int )(colon - cp));
    if (c___0->username) {
      if (*(c___0->username)) {
        c___0->username_from_proto = 1U;
      }
    }
    c___0->password = url_decode_mem(colon + 1, (int )(at - (colon + 1)));
    host = at + 1;
  }
  if (proto_end) {
    if (proto_end - url > 0L) {
      tmp___4 = xmemdupz((void const   *)url, (size_t )(proto_end - url));
      c___0->protocol = (char *)tmp___4;
    }
  }
  if (! allow_partial_url) {
    c___0->host = url_decode_mem(host, (int )(slash - host));
  } else
  if (slash - host > 0L) {
    c___0->host = url_decode_mem(host, (int )(slash - host));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((int const   )*slash == 47)) {
      goto while_break;
    }
    slash ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (*slash) {
    c___0->path = url_decode(slash);
    tmp___5 = strlen((char const   *)c___0->path);
    p___0 = (c___0->path + tmp___5) - 1;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if ((unsigned long )p___0 > (unsigned long )c___0->path) {
        if (! ((int )*p___0 == 47)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      tmp___6 = p___0;
      p___0 --;
      *tmp___6 = (char )'\000';
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  tmp___7 = check_url_component(url, quiet___7, (char const   *)"username", (char const   *)c___0->username);
  if (tmp___7 < 0) {
    return (-1);
  } else {
    tmp___8 = check_url_component(url, quiet___7, (char const   *)"password", (char const   *)c___0->password);
    if (tmp___8 < 0) {
      return (-1);
    } else {
      tmp___9 = check_url_component(url, quiet___7, (char const   *)"protocol", (char const   *)c___0->protocol);
      if (tmp___9 < 0) {
        return (-1);
      } else {
        tmp___10 = check_url_component(url, quiet___7, (char const   *)"host", (char const   *)c___0->host);
        if (tmp___10 < 0) {
          return (-1);
        } else {
          tmp___11 = check_url_component(url, quiet___7, (char const   *)"path", (char const   *)c___0->path);
          if (tmp___11 < 0) {
            return (-1);
          }
        }
      }
    }
  }
  return (0);
}
}
static int credential_from_potentially_partial_url(struct credential *c___0 , char const   *url )
{
  int tmp ;

  {
  tmp = credential_from_url_1(c___0, url, 1, 0);
  return (tmp);
}
}
int credential_from_url_gently(struct credential *c___0 , char const   *url , int quiet___7 )
{
  int tmp ;

  {
  tmp = credential_from_url_1(c___0, url, 0, quiet___7);
  return (tmp);
}
}
void credential_from_url(struct credential *c___0 , char const   *url )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  tmp___0 = credential_from_url_gently(c___0, url, 0);
  if (tmp___0 < 0) {
    tmp = _((char const   *)"credential url cannot be parsed: %s");
    die((char const   *)tmp, url);
  }
  return;
}
}
static void verify_buffer_or_die(struct hashfile *f , void const   *buf___19 , unsigned int count___0 )
{
  ssize_t ret___67 ;
  ssize_t tmp ;
  int tmp___0 ;

  {
  tmp = read_in_full(f->check_fd, (void *)f->check_buffer, (size_t )count___0);
  ret___67 = tmp;
  if (ret___67 < 0L) {
    die_errno((char const   *)"%s: sha1 file read error", f->name);
  }
  if (ret___67 != (ssize_t )count___0) {
    die((char const   *)"%s: sha1 file truncated", f->name);
  }
  tmp___0 = memcmp(buf___19, (void const   *)f->check_buffer, (size_t )count___0);
  if (tmp___0) {
    die((char const   *)"sha1 file \'%s\' validation error", f->name);
  }
  return;
}
}
static void flush(struct hashfile *f , void const   *buf___19 , unsigned int count___0 )
{
  int *tmp ;
  ssize_t tmp___0 ;

  {
  if (0 <= f->check_fd) {
    if (count___0) {
      verify_buffer_or_die(f, buf___19, count___0);
    }
  }
  tmp___0 = write_in_full(f->fd, buf___19, (size_t )count___0);
  if (tmp___0 < 0L) {
    tmp = __errno_location();
    if (*tmp == 28) {
      die((char const   *)"sha1 file \'%s\' write error. Out of diskspace", f->name);
    }
    die_errno((char const   *)"sha1 file \'%s\' write error", f->name);
  }
  f->total += (off_t )count___0;
  display_throughput(f->tp, (uint64_t )f->total);
  return;
}
}
void hashflush(struct hashfile *f )
{
  unsigned int offset___2 ;

  {
  offset___2 = f->offset;
  if (offset___2) {
    (*((the_repository->hash_algo)->update_fn))(& f->ctx, (void const   *)f->buffer,
                                                (size_t )offset___2);
    flush(f, (void const   *)f->buffer, offset___2);
    f->offset = 0U;
  }
  return;
}
}
static void free_hashfile(struct hashfile *f )
{


  {
  free((void *)f->buffer);
  free((void *)f->check_buffer);
  free((void *)f);
  return;
}
}
int finalize_hashfile(struct hashfile *f , unsigned char *result___0 , unsigned int flags___0 )
{
  int fd ;
  int tmp ;
  char discard ;
  int cnt ;
  ssize_t tmp___0 ;
  int tmp___1 ;

  {
  hashflush(f);
  (*((the_repository->hash_algo)->final_fn))(f->buffer, & f->ctx);
  if (result___0) {
    hashcpy(result___0, (unsigned char const   *)f->buffer);
  }
  if (flags___0 & 4U) {
    flush(f, (void const   *)f->buffer, (unsigned int )(the_repository->hash_algo)->rawsz);
  }
  if (flags___0 & 2U) {
    fsync_or_die(f->fd, f->name);
  }
  if (flags___0 & 1U) {
    tmp = close(f->fd);
    if (tmp) {
      die_errno((char const   *)"%s: sha1 file error on close", f->name);
    }
    fd = 0;
  } else {
    fd = f->fd;
  }
  if (0 <= f->check_fd) {
    tmp___0 = read_in_full(f->check_fd, (void *)(& discard), (size_t )1);
    cnt = (int )tmp___0;
    if (cnt < 0) {
      die_errno((char const   *)"%s: error when reading the tail of sha1 file", f->name);
    }
    if (cnt) {
      die((char const   *)"%s: sha1 file has trailing garbage", f->name);
    }
    tmp___1 = close(f->check_fd);
    if (tmp___1) {
      die_errno((char const   *)"%s: sha1 file error on close", f->name);
    }
  }
  free_hashfile(f);
  return (fd);
}
}
void hashwrite(struct hashfile *f , void const   *buf___19 , unsigned int count___0 )
{
  unsigned int left ;
  unsigned int nr___0 ;
  unsigned int tmp ;
  uLong tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! count___0) {
      goto while_break;
    }
    left = (unsigned int )(f->buffer_len - (size_t )f->offset);
    if (count___0 > left) {
      tmp = left;
    } else {
      tmp = count___0;
    }
    nr___0 = tmp;
    if (f->do_crc) {
      tmp___0 = crc32((uLong )f->crc32, (Bytef const   *)buf___19, nr___0);
      f->crc32 = (uint32_t )tmp___0;
    }
    if ((size_t )nr___0 == f->buffer_len) {
      (*((the_repository->hash_algo)->update_fn))(& f->ctx, buf___19, (size_t )nr___0);
      flush(f, buf___19, nr___0);
    } else {
      memcpy((void *)(f->buffer + f->offset), buf___19, (size_t )nr___0);
      f->offset += nr___0;
      left -= nr___0;
      if (! left) {
        hashflush(f);
      }
    }
    count___0 -= nr___0;
    buf___19 = (void const   *)((char *)buf___19 + nr___0);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
struct hashfile *hashfd_check(char const   *name___0 )
{
  int sink ;
  int check___4 ;
  struct hashfile *f ;
  void *tmp ;

  {
  sink = xopen((char const   *)"/dev/null", 01);
  check___4 = xopen(name___0, 00);
  f = hashfd(sink, name___0);
  f->check_fd = check___4;
  tmp = xmalloc(f->buffer_len);
  f->check_buffer = (unsigned char *)tmp;
  return (f);
}
}
static struct hashfile *hashfd_internal(int fd , char const   *name___0 , struct progress *tp ,
                                        size_t buffer_len )
{
  struct hashfile *f ;
  void *tmp ;
  void *tmp___0 ;

  {
  tmp = xmalloc(sizeof(*f));
  f = (struct hashfile *)tmp;
  f->fd = fd;
  f->check_fd = -1;
  f->offset = 0U;
  f->total = (off_t )0;
  f->tp = tp;
  f->name = name___0;
  f->do_crc = 0;
  (*((the_repository->hash_algo)->init_fn))(& f->ctx);
  f->buffer_len = buffer_len;
  tmp___0 = xmalloc(buffer_len);
  f->buffer = (unsigned char *)tmp___0;
  f->check_buffer = (unsigned char *)((void *)0);
  return (f);
}
}
struct hashfile *hashfd(int fd , char const   *name___0 )
{
  struct hashfile *tmp ;

  {
  tmp = hashfd_internal(fd, name___0, (struct progress *)((void *)0), (size_t )131072);
  return (tmp);
}
}
struct hashfile *hashfd_throughput(int fd , char const   *name___0 , struct progress *tp )
{
  struct hashfile *tmp ;

  {
  tmp = hashfd_internal(fd, name___0, tp, (size_t )8192);
  return (tmp);
}
}
void hashfile_checkpoint(struct hashfile *f , struct hashfile_checkpoint *checkpoint___0 )
{


  {
  hashflush(f);
  checkpoint___0->offset = f->total;
  (*((the_repository->hash_algo)->clone_fn))(& checkpoint___0->ctx, (git_hash_ctx const   *)(& f->ctx));
  return;
}
}
int hashfile_truncate(struct hashfile *f , struct hashfile_checkpoint *checkpoint___0 )
{
  off_t offset___2 ;
  int tmp ;
  __off_t tmp___0 ;

  {
  offset___2 = checkpoint___0->offset;
  tmp = ftruncate(f->fd, offset___2);
  if (tmp) {
    return (-1);
  } else {
    tmp___0 = lseek(f->fd, offset___2, 0);
    if (tmp___0 != offset___2) {
      return (-1);
    }
  }
  f->total = offset___2;
  f->ctx = checkpoint___0->ctx;
  f->offset = 0U;
  return (0);
}
}
void crc32_begin(struct hashfile *f )
{
  uLong tmp ;

  {
  tmp = crc32((uLong )0, (Bytef const   *)((void *)0), (uInt )0);
  f->crc32 = (uint32_t )tmp;
  f->do_crc = 1;
  return;
}
}
uint32_t crc32_end(struct hashfile *f )
{


  {
  f->do_crc = 0;
  return (f->crc32);
}
}
int hashfile_checksum_valid(unsigned char const   *data , size_t total_len )
{
  unsigned char got[32] ;
  git_hash_ctx ctx___0 ;
  size_t data_len ;
  int tmp ;

  {
  data_len = total_len - (size_t )(the_repository->hash_algo)->rawsz;
  if (total_len < (size_t )(the_repository->hash_algo)->rawsz) {
    return (0);
  }
  (*((the_repository->hash_algo)->init_fn))(& ctx___0);
  (*((the_repository->hash_algo)->update_fn))(& ctx___0, (void const   *)data, data_len);
  (*((the_repository->hash_algo)->final_fn))(got, & ctx___0);
  tmp = hasheq((unsigned char const   *)(got), data + data_len);
  return (tmp);
}
}
unsigned char const   sane_ctype[256]  =
  {      (unsigned char const   )64,      (unsigned char const   )64,      (unsigned char const   )64,      (unsigned char const   )64,
        (unsigned char const   )64,      (unsigned char const   )64,      (unsigned char const   )64,      (unsigned char const   )64,
        (unsigned char const   )64,      (unsigned char const   )65,      (unsigned char const   )65,      (unsigned char const   )64,
        (unsigned char const   )64,      (unsigned char const   )65,      (unsigned char const   )64,      (unsigned char const   )64,
        (unsigned char const   )64,      (unsigned char const   )64,      (unsigned char const   )64,      (unsigned char const   )64,
        (unsigned char const   )64,      (unsigned char const   )64,      (unsigned char const   )64,      (unsigned char const   )64,
        (unsigned char const   )64,      (unsigned char const   )64,      (unsigned char const   )64,      (unsigned char const   )64,
        (unsigned char const   )64,      (unsigned char const   )64,      (unsigned char const   )64,      (unsigned char const   )64,
        (unsigned char const   )1,      (unsigned char const   )32,      (unsigned char const   )32,      (unsigned char const   )32,
        (unsigned char const   )16,      (unsigned char const   )32,      (unsigned char const   )32,      (unsigned char const   )32,
        (unsigned char const   )16,      (unsigned char const   )16,      (unsigned char const   )8,      (unsigned char const   )16,
        (unsigned char const   )32,      (unsigned char const   )32,      (unsigned char const   )16,      (unsigned char const   )32,
        (unsigned char const   )2,      (unsigned char const   )2,      (unsigned char const   )2,      (unsigned char const   )2,
        (unsigned char const   )2,      (unsigned char const   )2,      (unsigned char const   )2,      (unsigned char const   )2,
        (unsigned char const   )2,      (unsigned char const   )2,      (unsigned char const   )32,      (unsigned char const   )32,
        (unsigned char const   )32,      (unsigned char const   )32,      (unsigned char const   )32,      (unsigned char const   )8,
        (unsigned char const   )32,      (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,
        (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,
        (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,
        (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,
        (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,
        (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,
        (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )8,
        (unsigned char const   )8,      (unsigned char const   )128,      (unsigned char const   )16,      (unsigned char const   )32,
        (unsigned char const   )32,      (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,
        (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,
        (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,
        (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,
        (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,
        (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,
        (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )4,      (unsigned char const   )16,
        (unsigned char const   )16,      (unsigned char const   )128,      (unsigned char const   )32,      (unsigned char const   )64};
unsigned char const   tolower_trans_tbl[256]  =
  {      (unsigned char const   )0x00,      (unsigned char const   )0x01,      (unsigned char const   )0x02,      (unsigned char const   )0x03,
        (unsigned char const   )0x04,      (unsigned char const   )0x05,      (unsigned char const   )0x06,      (unsigned char const   )0x07,
        (unsigned char const   )0x08,      (unsigned char const   )0x09,      (unsigned char const   )0x0a,      (unsigned char const   )0x0b,
        (unsigned char const   )0x0c,      (unsigned char const   )0x0d,      (unsigned char const   )0x0e,      (unsigned char const   )0x0f,
        (unsigned char const   )0x10,      (unsigned char const   )0x11,      (unsigned char const   )0x12,      (unsigned char const   )0x13,
        (unsigned char const   )0x14,      (unsigned char const   )0x15,      (unsigned char const   )0x16,      (unsigned char const   )0x17,
        (unsigned char const   )0x18,      (unsigned char const   )0x19,      (unsigned char const   )0x1a,      (unsigned char const   )0x1b,
        (unsigned char const   )0x1c,      (unsigned char const   )0x1d,      (unsigned char const   )0x1e,      (unsigned char const   )0x1f,
        (unsigned char const   )' ',      (unsigned char const   )'!',      (unsigned char const   )'\"',      (unsigned char const   )'#',
        (unsigned char const   )'$',      (unsigned char const   )'%',      (unsigned char const   )'&',      (unsigned char const   )0x27,
        (unsigned char const   )'(',      (unsigned char const   )')',      (unsigned char const   )'*',      (unsigned char const   )'+',
        (unsigned char const   )',',      (unsigned char const   )'-',      (unsigned char const   )'.',      (unsigned char const   )'/',
        (unsigned char const   )'0',      (unsigned char const   )'1',      (unsigned char const   )'2',      (unsigned char const   )'3',
        (unsigned char const   )'4',      (unsigned char const   )'5',      (unsigned char const   )'6',      (unsigned char const   )'7',
        (unsigned char const   )'8',      (unsigned char const   )'9',      (unsigned char const   )':',      (unsigned char const   )';',
        (unsigned char const   )'<',      (unsigned char const   )'=',      (unsigned char const   )'>',      (unsigned char const   )'?',
        (unsigned char const   )'@',      (unsigned char const   )'a',      (unsigned char const   )'b',      (unsigned char const   )'c',
        (unsigned char const   )'d',      (unsigned char const   )'e',      (unsigned char const   )'f',      (unsigned char const   )'g',
        (unsigned char const   )'h',      (unsigned char const   )'i',      (unsigned char const   )'j',      (unsigned char const   )'k',
        (unsigned char const   )'l',      (unsigned char const   )'m',      (unsigned char const   )'n',      (unsigned char const   )'o',
        (unsigned char const   )'p',      (unsigned char const   )'q',      (unsigned char const   )'r',      (unsigned char const   )'s',
        (unsigned char const   )'t',      (unsigned char const   )'u',      (unsigned char const   )'v',      (unsigned char const   )'w',
        (unsigned char const   )'x',      (unsigned char const   )'y',      (unsigned char const   )'z',      (unsigned char const   )'[',
        (unsigned char const   )0x5c,      (unsigned char const   )']',      (unsigned char const   )'^',      (unsigned char const   )'_',
        (unsigned char const   )'`',      (unsigned char const   )'a',      (unsigned char const   )'b',      (unsigned char const   )'c',
        (unsigned char const   )'d',      (unsigned char const   )'e',      (unsigned char const   )'f',      (unsigned char const   )'g',
        (unsigned char const   )'h',      (unsigned char const   )'i',      (unsigned char const   )'j',      (unsigned char const   )'k',
        (unsigned char const   )'l',      (unsigned char const   )'m',      (unsigned char const   )'n',      (unsigned char const   )'o',
        (unsigned char const   )'p',      (unsigned char const   )'q',      (unsigned char const   )'r',      (unsigned char const   )'s',
        (unsigned char const   )'t',      (unsigned char const   )'u',      (unsigned char const   )'v',      (unsigned char const   )'w',
        (unsigned char const   )'x',      (unsigned char const   )'y',      (unsigned char const   )'z',      (unsigned char const   )'{',
        (unsigned char const   )'|',      (unsigned char const   )'}',      (unsigned char const   )'~',      (unsigned char const   )0x7f,
        (unsigned char const   )0x80,      (unsigned char const   )0x81,      (unsigned char const   )0x82,      (unsigned char const   )0x83,
        (unsigned char const   )0x84,      (unsigned char const   )0x85,      (unsigned char const   )0x86,      (unsigned char const   )0x87,
        (unsigned char const   )0x88,      (unsigned char const   )0x89,      (unsigned char const   )0x8a,      (unsigned char const   )0x8b,
        (unsigned char const   )0x8c,      (unsigned char const   )0x8d,      (unsigned char const   )0x8e,      (unsigned char const   )0x8f,
        (unsigned char const   )0x90,      (unsigned char const   )0x91,      (unsigned char const   )0x92,      (unsigned char const   )0x93,
        (unsigned char const   )0x94,      (unsigned char const   )0x95,      (unsigned char const   )0x96,      (unsigned char const   )0x97,
        (unsigned char const   )0x98,      (unsigned char const   )0x99,      (unsigned char const   )0x9a,      (unsigned char const   )0x9b,
        (unsigned char const   )0x9c,      (unsigned char const   )0x9d,      (unsigned char const   )0x9e,      (unsigned char const   )0x9f,
        (unsigned char const   )0xa0,      (unsigned char const   )0xa1,      (unsigned char const   )0xa2,      (unsigned char const   )0xa3,
        (unsigned char const   )0xa4,      (unsigned char const   )0xa5,      (unsigned char const   )0xa6,      (unsigned char const   )0xa7,
        (unsigned char const   )0xa8,      (unsigned char const   )0xa9,      (unsigned char const   )0xaa,      (unsigned char const   )0xab,
        (unsigned char const   )0xac,      (unsigned char const   )0xad,      (unsigned char const   )0xae,      (unsigned char const   )0xaf,
        (unsigned char const   )0xb0,      (unsigned char const   )0xb1,      (unsigned char const   )0xb2,      (unsigned char const   )0xb3,
        (unsigned char const   )0xb4,      (unsigned char const   )0xb5,      (unsigned char const   )0xb6,      (unsigned char const   )0xb7,
        (unsigned char const   )0xb8,      (unsigned char const   )0xb9,      (unsigned char const   )0xba,      (unsigned char const   )0xbb,
        (unsigned char const   )0xbc,      (unsigned char const   )0xbd,      (unsigned char const   )0xbe,      (unsigned char const   )0xbf,
        (unsigned char const   )0xc0,      (unsigned char const   )0xc1,      (unsigned char const   )0xc2,      (unsigned char const   )0xc3,
        (unsigned char const   )0xc4,      (unsigned char const   )0xc5,      (unsigned char const   )0xc6,      (unsigned char const   )0xc7,
        (unsigned char const   )0xc8,      (unsigned char const   )0xc9,      (unsigned char const   )0xca,      (unsigned char const   )0xcb,
        (unsigned char const   )0xcc,      (unsigned char const   )0xcd,      (unsigned char const   )0xce,      (unsigned char const   )0xcf,
        (unsigned char const   )0xd0,      (unsigned char const   )0xd1,      (unsigned char const   )0xd2,      (unsigned char const   )0xd3,
        (unsigned char const   )0xd4,      (unsigned char const   )0xd5,      (unsigned char const   )0xd6,      (unsigned char const   )0xd7,
        (unsigned char const   )0xd8,      (unsigned char const   )0xd9,      (unsigned char const   )0xda,      (unsigned char const   )0xdb,
        (unsigned char const   )0xdc,      (unsigned char const   )0xdd,      (unsigned char const   )0xde,      (unsigned char const   )0xdf,
        (unsigned char const   )0xe0,      (unsigned char const   )0xe1,      (unsigned char const   )0xe2,      (unsigned char const   )0xe3,
        (unsigned char const   )0xe4,      (unsigned char const   )0xe5,      (unsigned char const   )0xe6,      (unsigned char const   )0xe7,
        (unsigned char const   )0xe8,      (unsigned char const   )0xe9,      (unsigned char const   )0xea,      (unsigned char const   )0xeb,
        (unsigned char const   )0xec,      (unsigned char const   )0xed,      (unsigned char const   )0xee,      (unsigned char const   )0xef,
        (unsigned char const   )0xf0,      (unsigned char const   )0xf1,      (unsigned char const   )0xf2,      (unsigned char const   )0xf3,
        (unsigned char const   )0xf4,      (unsigned char const   )0xf5,      (unsigned char const   )0xf6,      (unsigned char const   )0xf7,
        (unsigned char const   )0xf8,      (unsigned char const   )0xf9,      (unsigned char const   )0xfa,      (unsigned char const   )0xfb,
        (unsigned char const   )0xfc,      (unsigned char const   )0xfd,      (unsigned char const   )0xfe,      (unsigned char const   )0xff};
static int const   mdays[12]  =
  {      (int const   )0,      (int const   )31,      (int const   )59,      (int const   )90,
        (int const   )120,      (int const   )151,      (int const   )181,      (int const   )212,
        (int const   )243,      (int const   )273,      (int const   )304,      (int const   )334};
time_t tm_to_time_t(struct tm  const  *tm )
{
  int year ;
  int month ;
  int day ;

  {
  year = (int )(tm->tm_year - 70);
  month = (int )tm->tm_mon;
  day = (int )tm->tm_mday;
  if (year < 0) {
    return ((time_t )-1);
  } else
  if (year > 129) {
    return ((time_t )-1);
  }
  if (month < 0) {
    return ((time_t )-1);
  } else
  if (month > 11) {
    return ((time_t )-1);
  }
  if (month < 2) {
    day --;
  } else
  if ((year + 2) % 4) {
    day --;
  }
  if (tm->tm_hour < 0) {
    return ((time_t )-1);
  } else
  if (tm->tm_min < 0) {
    return ((time_t )-1);
  } else
  if (tm->tm_sec < 0) {
    return ((time_t )-1);
  }
  return ((time_t )((((unsigned long )(((((year * 365 + (year + 1) / 4) + (int )mdays[month]) + day) * 24) * 60) * 60UL + (unsigned long )((tm->tm_hour * 60) * 60)) + (unsigned long )(tm->tm_min * 60)) + (unsigned long )tm->tm_sec));
}
}
static char const   *month_names[12]  =
  {      (char const   *)"January",      (char const   *)"February",      (char const   *)"March",      (char const   *)"April",
        (char const   *)"May",      (char const   *)"June",      (char const   *)"July",      (char const   *)"August",
        (char const   *)"September",      (char const   *)"October",      (char const   *)"November",      (char const   *)"December"};
static char const   *weekday_names[7]  = {      (char const   *)"Sundays",      (char const   *)"Mondays",      (char const   *)"Tuesdays",      (char const   *)"Wednesdays",
        (char const   *)"Thursdays",      (char const   *)"Fridays",      (char const   *)"Saturdays"};
static time_t gm_time_t(timestamp_t time___0 , int tz )
{
  int minutes ;
  int tmp ;

  {
  if (tz < 0) {
    minutes = - tz;
  } else {
    minutes = tz;
  }
  minutes = (minutes / 100) * 60 + minutes % 100;
  if (tz < 0) {
    minutes = - minutes;
  } else {
    minutes = minutes;
  }
  if (minutes > 0) {
    if ((unsigned long )(minutes * 60) > (18446744073709551615UL >> (8UL * sizeof(uintmax_t ) - 8UL * sizeof(time___0))) - time___0) {
      die((char const   *)"Timestamp+tz too large: %lu +%04d", time___0, tz);
    }
  } else
  if (time___0 < (timestamp_t )(- minutes * 60)) {
    die((char const   *)"Timestamp before Unix epoch: %lu %04d", time___0, tz);
  }
  time___0 += (timestamp_t )(minutes * 60);
  tmp = date_overflows(time___0);
  if (tmp) {
    die((char const   *)"Timestamp too large for this system: %lu", time___0);
  }
  return ((time_t )time___0);
}
}
static struct tm *time_to_tm(timestamp_t time___0 , int tz , struct tm *tm )
{
  time_t t ;
  time_t tmp ;
  struct tm *tmp___0 ;

  {
  tmp = gm_time_t(time___0, tz);
  t = tmp;
  tmp___0 = gmtime_r((time_t const   * __restrict  )(& t), (struct tm * __restrict  )tm);
  return (tmp___0);
}
}
static struct tm *time_to_tm_local(timestamp_t time___0 , struct tm *tm )
{
  time_t t ;
  struct tm *tmp ;

  {
  t = (time_t )time___0;
  tmp = localtime_r((time_t const   * __restrict  )(& t), (struct tm * __restrict  )tm);
  return (tmp);
}
}
static int local_time_tzoffset(time_t t , struct tm *tm )
{
  time_t t_local ;
  int offset___2 ;
  int eastwest ;

  {
  localtime_r((time_t const   * __restrict  )(& t), (struct tm * __restrict  )tm);
  t_local = tm_to_time_t((struct tm  const  *)tm);
  if (t_local == -1L) {
    return (0);
  }
  if (t_local < t) {
    eastwest = -1;
    offset___2 = (int )(t - t_local);
  } else {
    eastwest = 1;
    offset___2 = (int )(t_local - t);
  }
  offset___2 /= 60;
  offset___2 = offset___2 % 60 + (offset___2 / 60) * 100;
  return (offset___2 * eastwest);
}
}
static int local_tzoffset(timestamp_t time___0 )
{
  struct tm tm ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = date_overflows(time___0);
  if (tmp) {
    die((char const   *)"Timestamp too large for this system: %lu", time___0);
  }
  tmp___0 = local_time_tzoffset((time_t )time___0, & tm);
  return (tmp___0);
}
}
static void get_time(struct timeval *now )
{
  char const   *x ;
  char *tmp ;
  int tmp___0 ;

  {
  tmp = getenv((char const   *)"GIT_TEST_DATE_NOW");
  x = (char const   *)tmp;
  if (x) {
    tmp___0 = atoi(x);
    now->tv_sec = (__time_t )tmp___0;
    now->tv_usec = (__suseconds_t )0;
  } else {
    gettimeofday((struct timeval * __restrict  )now, (__timezone_ptr_t )((void *)0));
  }
  return;
}
}
void show_date_relative(timestamp_t time___0 , struct strbuf *timebuf___0 )
{
  struct timeval now ;
  timestamp_t diff ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___5 ;
  timestamp_t totalmonths ;
  timestamp_t years ;
  timestamp_t months ;
  struct strbuf sb___6 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___9 ;

  {
  get_time(& now);
  if ((timestamp_t )now.tv_sec < time___0) {
    tmp = _((char const   *)"in the future");
    strbuf_addstr(timebuf___0, (char const   *)tmp);
    return;
  }
  diff = (timestamp_t )now.tv_sec - time___0;
  if (diff < 90UL) {
    tmp___0 = Q_((char const   *)"%lu second ago", (char const   *)"%lu seconds ago",
                 diff);
    strbuf_addf(timebuf___0, (char const   *)tmp___0, diff);
    return;
  }
  diff = (diff + 30UL) / 60UL;
  if (diff < 90UL) {
    tmp___1 = Q_((char const   *)"%lu minute ago", (char const   *)"%lu minutes ago",
                 diff);
    strbuf_addf(timebuf___0, (char const   *)tmp___1, diff);
    return;
  }
  diff = (diff + 30UL) / 60UL;
  if (diff < 36UL) {
    tmp___2 = Q_((char const   *)"%lu hour ago", (char const   *)"%lu hours ago",
                 diff);
    strbuf_addf(timebuf___0, (char const   *)tmp___2, diff);
    return;
  }
  diff = (diff + 12UL) / 24UL;
  if (diff < 14UL) {
    tmp___3 = Q_((char const   *)"%lu day ago", (char const   *)"%lu days ago", diff);
    strbuf_addf(timebuf___0, (char const   *)tmp___3, diff);
    return;
  }
  if (diff < 70UL) {
    tmp___4 = Q_((char const   *)"%lu week ago", (char const   *)"%lu weeks ago",
                 (diff + 3UL) / 7UL);
    strbuf_addf(timebuf___0, (char const   *)tmp___4, (diff + 3UL) / 7UL);
    return;
  }
  if (diff < 365UL) {
    tmp___5 = Q_((char const   *)"%lu month ago", (char const   *)"%lu months ago",
                 (diff + 15UL) / 30UL);
    strbuf_addf(timebuf___0, (char const   *)tmp___5, (diff + 15UL) / 30UL);
    return;
  }
  if (diff < 1825UL) {
    totalmonths = ((diff * 12UL) * 2UL + 365UL) / 730UL;
    years = totalmonths / 12UL;
    months = totalmonths % 12UL;
    if (months) {
      sb___6.alloc = 0UL;
      sb___6.len = 0UL;
      sb___6.buf = strbuf_slopbuf;
      tmp___6 = Q_((char const   *)"%lu year", (char const   *)"%lu years", years);
      strbuf_addf(& sb___6, (char const   *)tmp___6, years);
      tmp___7 = Q_((char const   *)"%s, %lu month ago", (char const   *)"%s, %lu months ago",
                   months);
      strbuf_addf(timebuf___0, (char const   *)tmp___7, sb___6.buf, months);
      strbuf_release(& sb___6);
    } else {
      tmp___8 = Q_((char const   *)"%lu year ago", (char const   *)"%lu years ago",
                   years);
      strbuf_addf(timebuf___0, (char const   *)tmp___8, years);
    }
    return;
  }
  tmp___9 = Q_((char const   *)"%lu year ago", (char const   *)"%lu years ago", (diff + 183UL) / 365UL);
  strbuf_addf(timebuf___0, (char const   *)tmp___9, (diff + 183UL) / 365UL);
  return;
}
}
static struct date_mode mode  ;
struct date_mode *date_mode_from_type(enum date_mode_type type___0 )
{


  {
  if ((unsigned int )type___0 == 7U) {
    BUG_fl((char const   *)"date.c", 210, (char const   *)"cannot create anonymous strftime date_mode struct");
  }
  mode.type = type___0;
  mode.local = 0;
  return (& mode);
}
}
static void show_date_normal(struct strbuf *buf___19 , timestamp_t time___0 , struct tm *tm ,
                             int tz , struct tm *human_tm , int human_tz , int local___0 )
{
  struct __anonstruct_hide_165001531 hide ;
  int tmp ;

  {
  hide.year = 0U;
  hide.date = 0U;
  hide.wday = 0U;
  hide.time = 0U;
  hide.seconds = 0U;
  hide.tz = 0U;
  if (local___0) {
    tmp = 1;
  } else
  if (tz == human_tz) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  hide.tz = (unsigned int )tmp;
  hide.year = (unsigned int )(tm->tm_year == human_tm->tm_year);
  if (hide.year) {
    if (tm->tm_mon == human_tm->tm_mon) {
      if (! (tm->tm_mday > human_tm->tm_mday)) {
        if (tm->tm_mday == human_tm->tm_mday) {
          hide.wday = 1U;
          hide.date = hide.wday;
        } else
        if (tm->tm_mday + 5 > human_tm->tm_mday) {
          hide.date = 1U;
        }
      }
    }
  }
  if (hide.wday) {
    show_date_relative(time___0, buf___19);
    return;
  }
  if (human_tm->tm_year) {
    hide.seconds = 1U;
    hide.tz |= (unsigned int )(! hide.date);
    hide.time = (unsigned int )(! hide.year);
    hide.wday = hide.time;
  }
  if (! hide.wday) {
    strbuf_addf(buf___19, (char const   *)"%.3s ", weekday_names[tm->tm_wday]);
  }
  if (! hide.date) {
    strbuf_addf(buf___19, (char const   *)"%.3s %d ", month_names[tm->tm_mon], tm->tm_mday);
  }
  if (! hide.time) {
    strbuf_addf(buf___19, (char const   *)"%02d:%02d", tm->tm_hour, tm->tm_min);
    if (! hide.seconds) {
      strbuf_addf(buf___19, (char const   *)":%02d", tm->tm_sec);
    }
  } else {
    strbuf_rtrim(buf___19);
  }
  if (! hide.year) {
    strbuf_addf(buf___19, (char const   *)" %d", tm->tm_year + 1900);
  }
  if (! hide.tz) {
    strbuf_addf(buf___19, (char const   *)" %+05d", tz);
  }
  return;
}
}
static struct strbuf timebuf  =    {0UL, 0UL, strbuf_slopbuf};
char const   *show_date(timestamp_t time___0 , int tz , struct date_mode  const  *mode___1 )
{
  struct tm *tm ;
  struct tm tmbuf ;
  struct tm human_tm ;
  int human_tz ;
  struct timeval now ;
  char sign ;
  int tmp ;

  {
  tmbuf.tm_sec = 0;
  tmbuf.tm_min = 0;
  tmbuf.tm_hour = 0;
  tmbuf.tm_mday = 0;
  tmbuf.tm_mon = 0;
  tmbuf.tm_year = 0;
  tmbuf.tm_wday = 0;
  tmbuf.tm_yday = 0;
  tmbuf.tm_isdst = 0;
  tmbuf.tm_gmtoff = 0L;
  tmbuf.tm_zone = (char const   *)0;
  human_tm.tm_sec = 0;
  human_tm.tm_min = 0;
  human_tm.tm_hour = 0;
  human_tm.tm_mday = 0;
  human_tm.tm_mon = 0;
  human_tm.tm_year = 0;
  human_tm.tm_wday = 0;
  human_tm.tm_yday = 0;
  human_tm.tm_isdst = 0;
  human_tm.tm_gmtoff = 0L;
  human_tm.tm_zone = (char const   *)0;
  human_tz = -1;
  if ((unsigned int )mode___1->type == 9U) {
    strbuf_setlen(& timebuf, (size_t )0);
    strbuf_addf(& timebuf, (char const   *)"%lu", time___0);
    return ((char const   *)timebuf.buf);
  }
  if ((unsigned int )mode___1->type == 1U) {
    get_time(& now);
    human_tz = local_time_tzoffset(now.tv_sec, & human_tm);
  }
  if (mode___1->local) {
    tz = local_tzoffset(time___0);
  }
  if ((unsigned int )mode___1->type == 8U) {
    strbuf_setlen(& timebuf, (size_t )0);
    strbuf_addf(& timebuf, (char const   *)"%lu %+05d", time___0, tz);
    return ((char const   *)timebuf.buf);
  }
  if ((unsigned int )mode___1->type == 2U) {
    strbuf_setlen(& timebuf, (size_t )0);
    show_date_relative(time___0, & timebuf);
    return ((char const   *)timebuf.buf);
  }
  if (mode___1->local) {
    tm = time_to_tm_local(time___0, & tmbuf);
  } else {
    tm = time_to_tm(time___0, tz, & tmbuf);
  }
  if (! tm) {
    tm = time_to_tm((timestamp_t )0, 0, & tmbuf);
    tz = 0;
  }
  strbuf_setlen(& timebuf, (size_t )0);
  if ((unsigned int )mode___1->type == 3U) {
    strbuf_addf(& timebuf, (char const   *)"%04d-%02d-%02d", tm->tm_year + 1900, tm->tm_mon + 1,
                tm->tm_mday);
  } else
  if ((unsigned int )mode___1->type == 4U) {
    strbuf_addf(& timebuf, (char const   *)"%04d-%02d-%02d %02d:%02d:%02d %+05d",
                tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min,
                tm->tm_sec, tz);
  } else
  if ((unsigned int )mode___1->type == 5U) {
    if (tz >= 0) {
      tmp = '+';
    } else {
      tmp = '-';
    }
    sign = (char )tmp;
    tz = abs(tz);
    strbuf_addf(& timebuf, (char const   *)"%04d-%02d-%02dT%02d:%02d:%02d%c%02d:%02d",
                tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min,
                tm->tm_sec, (int )sign, tz / 100, tz % 100);
  } else
  if ((unsigned int )mode___1->type == 6U) {
    strbuf_addf(& timebuf, (char const   *)"%.3s, %d %.3s %d %02d:%02d:%02d %+05d",
                weekday_names[tm->tm_wday], tm->tm_mday, month_names[tm->tm_mon],
                tm->tm_year + 1900, tm->tm_hour, tm->tm_min, tm->tm_sec, tz);
  } else
  if ((unsigned int )mode___1->type == 7U) {
    strbuf_addftime(& timebuf, (char const   *)mode___1->strftime_fmt, (struct tm  const  *)tm,
                    tz, ! mode___1->local);
  } else {
    show_date_normal(& timebuf, time___0, tm, tz, & human_tm, human_tz, (int )mode___1->local);
  }
  return ((char const   *)timebuf.buf);
}
}
static struct __anonstruct_timezone_names_37437826  const  timezone_names[44]  =
  {      {(char const   *)"IDLW", -12, 0},
        {(char const   *)"NT", -11, 0},
        {(char const   *)"CAT", -10, 0},
        {(char const   *)"HST", -10, 0},
        {(char const   *)"HDT", -10, 1},
        {(char const   *)"YST", -9, 0},
        {(char const   *)"YDT", -9, 1},
        {(char const   *)"PST", -8, 0},
        {(char const   *)"PDT", -8, 1},
        {(char const   *)"MST", -7, 0},
        {(char const   *)"MDT", -7, 1},
        {(char const   *)"CST", -6, 0},
        {(char const   *)"CDT", -6, 1},
        {(char const   *)"EST", -5, 0},
        {(char const   *)"EDT", -5, 1},
        {(char const   *)"AST", -3, 0},
        {(char const   *)"ADT", -3, 1},
        {(char const   *)"WAT", -1, 0},
        {(char const   *)"GMT", 0, 0},
        {(char const   *)"UTC", 0, 0},
        {(char const   *)"Z", 0, 0},
        {(char const   *)"WET", 0, 0},
        {(char const   *)"BST", 0, 1},
        {(char const   *)"CET", 1, 0},
        {(char const   *)"MET", 1, 0},
        {(char const   *)"MEWT", 1, 0},
        {(char const   *)"MEST", 1, 1},
        {(char const   *)"CEST", 1, 1},
        {(char const   *)"MESZ", 1, 1},
        {(char const   *)"FWT", 1, 0},
        {(char const   *)"FST", 1, 1},
        {(char const   *)"EET", 2, 0},
        {(char const   *)"EEST", 2, 1},
        {(char const   *)"WAST", 7, 0},
        {(char const   *)"WADT", 7, 1},
        {(char const   *)"CCT", 8, 0},
        {(char const   *)"JST", 9, 0},
        {(char const   *)"EAST", 10, 0},
        {(char const   *)"EADT", 10, 1},
        {(char const   *)"GST", 10, 0},
        {(char const   *)"NZT", 12, 0},
        {(char const   *)"NZST", 12, 0},
        {(char const   *)"NZDT", 12, 1},
        {(char const   *)"IDLE", 12, 0}};
static int match_string(char const   *date , char const   *str )
{
  int i ;
  int tmp ;
  int tmp___0 ;

  {
  i = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *date) {
      goto while_break;
    }
    if ((int const   )*date == (int const   )*str) {
      goto __Cont;
    }
    tmp = sane_case((int )((unsigned char )*date), 0);
    tmp___0 = sane_case((int )((unsigned char )*str), 0);
    if (tmp == tmp___0) {
      goto __Cont;
    }
    if (! (((int const   )sane_ctype[(unsigned char )*date] & 6) != 0)) {
      goto while_break;
    }
    return (0);
    __Cont: /* CIL Label */
    date ++;
    str ++;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (i);
}
}
static int skip_alpha(char const   *date )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    i ++;
    if (! (((int const   )sane_ctype[(unsigned char )*(date + i)] & 4) != 0)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (i);
}
}
static int match_alpha(char const   *date , struct tm *tm , int *offset___2 )
{
  int i ;
  int match___0 ;
  int tmp ;
  int match___1 ;
  int tmp___0 ;
  int match___2 ;
  int tmp___1 ;
  int off ;
  size_t tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 12)) {
      goto while_break;
    }
    tmp = match_string(date, month_names[i]);
    match___0 = tmp;
    if (match___0 >= 3) {
      tm->tm_mon = i;
      return (match___0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < 7)) {
      goto while_break___0;
    }
    tmp___0 = match_string(date, weekday_names[i]);
    match___1 = tmp___0;
    if (match___1 >= 3) {
      tm->tm_wday = i;
      return (match___1);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(timezone_names) / sizeof(timezone_names[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break___1;
    }
    tmp___1 = match_string(date, (char const   *)timezone_names[i].name);
    match___2 = tmp___1;
    if (match___2 >= 3) {
      goto _L;
    } else {
      tmp___2 = strlen((char const   *)timezone_names[i].name);
      if ((size_t )match___2 == tmp___2) {
        _L: /* CIL Label */
        off = (int )timezone_names[i].offset;
        off += (int )timezone_names[i].dst;
        if (*offset___2 == -1) {
          *offset___2 = 60 * off;
        }
        return (match___2);
      }
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  tmp___3 = match_string(date, (char const   *)"PM");
  if (tmp___3 == 2) {
    tm->tm_hour = tm->tm_hour % 12 + 12;
    return (2);
  }
  tmp___4 = match_string(date, (char const   *)"AM");
  if (tmp___4 == 2) {
    tm->tm_hour %= 12;
    return (2);
  }
  tmp___5 = skip_alpha(date);
  return (tmp___5);
}
}
static int set_date(int year , int month , int day , struct tm *now_tm , time_t now ,
                    struct tm *tm )
{
  struct tm check___4 ;
  struct tm *r ;
  struct tm *tmp ;
  time_t specified ;

  {
  if (month > 0) {
    if (month < 13) {
      if (day > 0) {
        if (day < 32) {
          check___4 = *tm;
          if (now_tm) {
            tmp = & check___4;
          } else {
            tmp = tm;
          }
          r = tmp;
          r->tm_mon = month - 1;
          r->tm_mday = day;
          if (year == -1) {
            if (! now_tm) {
              return (1);
            }
            r->tm_year = now_tm->tm_year;
          } else
          if (year >= 1970) {
            if (year < 2100) {
              r->tm_year = year - 1900;
            } else {
              goto _L___0;
            }
          } else
          _L___0: /* CIL Label */
          if (year > 70) {
            if (year < 100) {
              r->tm_year = year;
            } else {
              goto _L;
            }
          } else
          _L: /* CIL Label */
          if (year < 38) {
            r->tm_year = year + 100;
          } else {
            return (-1);
          }
          if (! now_tm) {
            return (0);
          }
          specified = tm_to_time_t((struct tm  const  *)r);
          if (specified != -1L) {
            if (now + 864000L < specified) {
              return (-1);
            }
          }
          tm->tm_mon = r->tm_mon;
          tm->tm_mday = r->tm_mday;
          if (year != -1) {
            tm->tm_year = r->tm_year;
          }
          return (0);
        }
      }
    }
  }
  return (-1);
}
}
static int set_time(long hour , long minute , long second , struct tm *tm )
{


  {
  if (0L <= hour) {
    if (hour <= 24L) {
      if (0L <= minute) {
        if (minute < 60L) {
          if (0L <= second) {
            if (second <= 60L) {
              tm->tm_hour = (int )hour;
              tm->tm_min = (int )minute;
              tm->tm_sec = (int )second;
              return (0);
            }
          }
        }
      }
    }
  }
  return (-1);
}
}
static int is_date_known(struct tm *tm )
{
  int tmp ;

  {
  if (tm->tm_year != -1) {
    if (tm->tm_mon != -1) {
      if (tm->tm_mday != -1) {
        tmp = 1;
      } else {
        tmp = 0;
      }
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static int match_multi_number(timestamp_t num , char c___0 , char const   *date ,
                              char *end , struct tm *tm , time_t now )
{
  struct tm now_tm ;
  struct tm *refuse_future ;
  long num2 ;
  long num3 ;
  int tmp ;
  int tmp___0 ;
  struct tm *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  num2 = strtol((char const   * __restrict  )(end + 1), (char ** __restrict  )(& end),
                10);
  num3 = -1L;
  if ((int )*end == (int )c___0) {
    if (((int const   )sane_ctype[(unsigned char )*(end + 1)] & 2) != 0) {
      num3 = strtol((char const   * __restrict  )(end + 1), (char ** __restrict  )(& end),
                    10);
    }
  }
  {
  if ((int )c___0 == 58) {
    goto case_58;
  }
  if ((int )c___0 == 46) {
    goto case_46;
  }
  if ((int )c___0 == 47) {
    goto case_46;
  }
  if ((int )c___0 == 45) {
    goto case_46;
  }
  goto switch_break;
  case_58: /* CIL Label */
  if (num3 < 0L) {
    num3 = 0L;
  }
  tmp___0 = set_time((long )num, num2, num3, tm);
  if (tmp___0 == 0) {
    if ((int )*end == 46) {
      if (((int const   )sane_ctype[(unsigned char )*(end + 1)] & 2) != 0) {
        tmp = is_date_known(tm);
        if (tmp) {
          strtol((char const   * __restrict  )(end + 1), (char ** __restrict  )(& end),
                 10);
        }
      }
    }
    goto switch_break;
  }
  return (0);
  case_46: /* CIL Label */
  case_47: /* CIL Label */
  case_45: /* CIL Label */
  if (! now) {
    now = time((time_t *)((void *)0));
  }
  refuse_future = (struct tm *)((void *)0);
  tmp___1 = gmtime_r((time_t const   * __restrict  )(& now), (struct tm * __restrict  )(& now_tm));
  if (tmp___1) {
    refuse_future = & now_tm;
  }
  if (num > 70UL) {
    tmp___2 = set_date((int )num, (int )num2, (int )num3, (struct tm *)((void *)0),
                       now, tm);
    if (tmp___2 == 0) {
      goto switch_break;
    }
    tmp___3 = set_date((int )num, (int )num3, (int )num2, (struct tm *)((void *)0),
                       now, tm);
    if (tmp___3 == 0) {
      goto switch_break;
    }
  }
  if ((int )c___0 != 46) {
    tmp___4 = set_date((int )num3, (int )num, (int )num2, refuse_future, now, tm);
    if (tmp___4 == 0) {
      goto switch_break;
    }
  }
  tmp___5 = set_date((int )num3, (int )num2, (int )num, refuse_future, now, tm);
  if (tmp___5 == 0) {
    goto switch_break;
  }
  if ((int )c___0 == 46) {
    tmp___6 = set_date((int )num3, (int )num, (int )num2, refuse_future, now, tm);
    if (tmp___6 == 0) {
      goto switch_break;
    }
  }
  return (0);
  switch_break: /* CIL Label */ ;
  }
  return ((int )(end - (char *)date));
}
}
__inline static int nodate(struct tm *tm )
{


  {
  return ((((((tm->tm_year & tm->tm_mon) & tm->tm_mday) & tm->tm_hour) & tm->tm_min) & tm->tm_sec) < 0);
}
}
static int match_digit(char const   *date , struct tm *tm , int *offset___2 , int *tm_gmt )
{
  int n ;
  char *end ;
  timestamp_t num ;
  time_t time___0 ;
  struct tm *tmp ;
  int tmp___0 ;
  int match___0 ;
  int tmp___1 ;
  unsigned int num1 ;
  unsigned int num2 ;
  unsigned int num3 ;
  time_t tmp___2 ;
  int tmp___3 ;
  unsigned int minutes ;
  unsigned int hours ;

  {
  num = strtoumax(date, & end, 10);
  if (num >= 100000000UL) {
    tmp___0 = nodate(tm);
    if (tmp___0) {
      time___0 = (time_t )num;
      tmp = gmtime_r((time_t const   * __restrict  )(& time___0), (struct tm * __restrict  )tm);
      if (tmp) {
        *tm_gmt = 1;
        return ((int )(end - (char *)date));
      }
    }
  }
  {
  if ((int )*end == 45) {
    goto case_45;
  }
  if ((int )*end == 47) {
    goto case_45;
  }
  if ((int )*end == 46) {
    goto case_45;
  }
  if ((int )*end == 58) {
    goto case_45;
  }
  goto switch_break;
  case_45: /* CIL Label */
  case_47: /* CIL Label */
  case_46: /* CIL Label */
  case_58: /* CIL Label */
  if (((int const   )sane_ctype[(unsigned char )*(end + 1)] & 2) != 0) {
    tmp___1 = match_multi_number(num, *end, date, end, tm, (time_t )0);
    match___0 = tmp___1;
    if (match___0) {
      return (match___0);
    }
  }
  switch_break: /* CIL Label */ ;
  }
  n = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    n ++;
    if (! (((int const   )sane_ctype[(unsigned char )*(date + n)] & 2) != 0)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (n == 8) {
    goto _L;
  } else
  if (n == 6) {
    _L: /* CIL Label */
    num1 = (unsigned int )(num / 10000UL);
    num2 = (unsigned int )((num % 10000UL) / 100UL);
    num3 = (unsigned int )(num % 100UL);
    if (n == 8) {
      tmp___2 = time((time_t *)((void *)0));
      set_date((int )num1, (int )num2, (int )num3, (struct tm *)((void *)0), tmp___2,
               tm);
    } else
    if (n == 6) {
      tmp___3 = set_time((long )num1, (long )num2, (long )num3, tm);
      if (tmp___3 == 0) {
        if ((int )*end == 46) {
          if (((int const   )sane_ctype[(unsigned char )*(end + 1)] & 2) != 0) {
            strtoul((char const   * __restrict  )(end + 1), (char ** __restrict  )(& end),
                    10);
          }
        }
      }
    }
    return ((int )(end - (char *)date));
  }
  if (n == 4) {
    if (num <= 1400UL) {
      if (*offset___2 == -1) {
        minutes = (unsigned int )(num % 100UL);
        hours = (unsigned int )(num / 100UL);
        *offset___2 = (int )(hours * 60U + minutes);
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if (num > 1900UL) {
      if (num < 2100UL) {
        tm->tm_year = (int )(num - 1900UL);
      }
    }
    return (n);
  }
  if (n > 2) {
    return (n);
  }
  if (num > 0UL) {
    if (num < 32UL) {
      if (tm->tm_mday < 0) {
        tm->tm_mday = (int )num;
        return (n);
      }
    }
  }
  if (n == 2) {
    if (tm->tm_year < 0) {
      if (num < 10UL) {
        if (tm->tm_mday >= 0) {
          tm->tm_year = (int )(num + 100UL);
          return (n);
        }
      }
      if (num >= 70UL) {
        tm->tm_year = (int )num;
        return (n);
      }
    }
  }
  if (num > 0UL) {
    if (num < 13UL) {
      if (tm->tm_mon < 0) {
        tm->tm_mon = (int )(num - 1UL);
      }
    }
  }
  return (n);
}
}
static int match_tz(char const   *date , int *offp )
{
  char *end ;
  int hour ;
  unsigned long tmp ;
  int n ;
  int min ;
  unsigned long tmp___0 ;
  int offset___2 ;

  {
  tmp = strtoul((char const   * __restrict  )(date + 1), (char ** __restrict  )(& end),
                10);
  hour = (int )tmp;
  n = (int )(end - (char *)(date + 1));
  min = 0;
  if (n == 4) {
    min = hour % 100;
    hour /= 100;
  } else
  if (n != 2) {
    min = 99;
  } else
  if ((int )*end == 58) {
    tmp___0 = strtoul((char const   * __restrict  )(end + 1), (char ** __restrict  )(& end),
                      10);
    min = (int )tmp___0;
    if (end - (char *)(date + 1) != 5L) {
      min = 99;
    }
  }
  if (min < 60) {
    if (hour < 24) {
      offset___2 = hour * 60 + min;
      if ((int const   )*date == 45) {
        offset___2 = - offset___2;
      }
      *offp = offset___2;
    }
  }
  return ((int )(end - (char *)date));
}
}
static void date_string(timestamp_t date , int offset___2 , struct strbuf *buf___19 )
{
  int sign ;

  {
  sign = '+';
  if (offset___2 < 0) {
    offset___2 = - offset___2;
    sign = '-';
  }
  strbuf_addf(buf___19, (char const   *)"%lu %c%02d%02d", date, sign, offset___2 / 60,
              offset___2 % 60);
  return;
}
}
static int match_object_header_date(char const   *date , timestamp_t *timestamp___0 ,
                                    int *offset___2 )
{
  char *end ;
  timestamp_t stamp___0 ;
  int ofs ;
  long tmp ;

  {
  if ((int const   )*date < 48) {
    return (-1);
  } else
  if (57 < (int )*date) {
    return (-1);
  }
  stamp___0 = strtoumax(date, & end, 10);
  if ((int )*end != 32) {
    return (-1);
  } else
  if (stamp___0 == 18446744073709551615UL) {
    return (-1);
  } else
  if ((int )*(end + 1) != 43) {
    if ((int )*(end + 1) != 45) {
      return (-1);
    }
  }
  date = (char const   *)(end + 2);
  tmp = strtol((char const   * __restrict  )date, (char ** __restrict  )(& end), 10);
  ofs = (int )tmp;
  if ((int )*end != 0) {
    if ((int )*end != 10) {
      return (-1);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if ((unsigned long )end != (unsigned long )(date + 4)) {
    return (-1);
  }
  ofs = (ofs / 100) * 60 + ofs % 100;
  if ((int const   )*(date + -1) == 45) {
    ofs = - ofs;
  }
  *timestamp___0 = stamp___0;
  *offset___2 = ofs;
  return (0);
}
}
int parse_date_basic(char const   *date , timestamp_t *timestamp___0 , int *offset___2 )
{
  struct tm tm ;
  int tm_gmt ;
  timestamp_t dummy_timestamp ;
  int dummy_offset ;
  int tmp ;
  int match___0 ;
  unsigned char c___0 ;
  time_t tmp___0 ;
  time_t temp_time ;

  {
  if (! timestamp___0) {
    timestamp___0 = & dummy_timestamp;
  }
  if (! offset___2) {
    offset___2 = & dummy_offset;
  }
  memset((void *)(& tm), 0, sizeof(tm));
  tm.tm_year = -1;
  tm.tm_mon = -1;
  tm.tm_mday = -1;
  tm.tm_isdst = -1;
  tm.tm_hour = -1;
  tm.tm_min = -1;
  tm.tm_sec = -1;
  *offset___2 = -1;
  tm_gmt = 0;
  if ((int const   )*date == 64) {
    tmp = match_object_header_date(date + 1, timestamp___0, offset___2);
    if (! tmp) {
      return (0);
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    match___0 = 0;
    c___0 = (unsigned char )*date;
    if (! c___0) {
      goto while_break;
    } else
    if ((int )c___0 == 10) {
      goto while_break;
    }
    if (((int const   )sane_ctype[c___0] & 4) != 0) {
      match___0 = match_alpha(date, & tm, offset___2);
    } else
    if (((int const   )sane_ctype[c___0] & 2) != 0) {
      match___0 = match_digit(date, & tm, offset___2, & tm_gmt);
    } else
    if ((int )c___0 == 45) {
      goto _L;
    } else
    if ((int )c___0 == 43) {
      _L: /* CIL Label */
      if (((int const   )sane_ctype[(unsigned char )*(date + 1)] & 2) != 0) {
        match___0 = match_tz(date, offset___2);
      }
    }
    if (! match___0) {
      match___0 = 1;
    }
    date += match___0;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = tm_to_time_t((struct tm  const  *)(& tm));
  *timestamp___0 = (timestamp_t )tmp___0;
  if (*timestamp___0 == 18446744073709551615UL) {
    return (-1);
  }
  if (*offset___2 == -1) {
    tm.tm_isdst = -1;
    temp_time = mktime(& tm);
    if ((time_t )*timestamp___0 > temp_time) {
      *offset___2 = (int )(((time_t )*timestamp___0 - temp_time) / 60L);
    } else {
      *offset___2 = - ((int )((temp_time - (time_t )*timestamp___0) / 60L));
    }
  }
  if (! tm_gmt) {
    *timestamp___0 -= (timestamp_t )(*offset___2 * 60);
  }
  return (0);
}
}
int parse_expiry_date(char const   *date , timestamp_t *timestamp___0 )
{
  int errors ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  errors = 0;
  tmp___1 = strcmp(date, (char const   *)"never");
  if (tmp___1) {
    tmp___2 = strcmp(date, (char const   *)"false");
    if (tmp___2) {
      tmp = strcmp(date, (char const   *)"all");
      if (tmp) {
        tmp___0 = strcmp(date, (char const   *)"now");
        if (tmp___0) {
          *timestamp___0 = approxidate_careful(date, & errors);
        } else {
          *timestamp___0 = 18446744073709551615UL;
        }
      } else {
        *timestamp___0 = 18446744073709551615UL;
      }
    } else {
      *timestamp___0 = (timestamp_t )0;
    }
  } else {
    *timestamp___0 = (timestamp_t )0;
  }
  return (errors);
}
}
int parse_date(char const   *date , struct strbuf *result___0 )
{
  timestamp_t timestamp___0 ;
  int offset___2 ;
  int tmp ;

  {
  tmp = parse_date_basic(date, & timestamp___0, & offset___2);
  if (tmp) {
    return (-1);
  }
  date_string(timestamp___0, offset___2, result___0);
  return (0);
}
}
static enum date_mode_type parse_date_type(char const   *format___0 , char const   **end )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;

  {
  tmp = skip_prefix(format___0, (char const   *)"relative", end);
  if (tmp) {
    return ((enum date_mode_type )2);
  }
  tmp___0 = skip_prefix(format___0, (char const   *)"iso8601-strict", end);
  if (tmp___0) {
    return ((enum date_mode_type )5);
  } else {
    tmp___1 = skip_prefix(format___0, (char const   *)"iso-strict", end);
    if (tmp___1) {
      return ((enum date_mode_type )5);
    }
  }
  tmp___2 = skip_prefix(format___0, (char const   *)"iso8601", end);
  if (tmp___2) {
    return ((enum date_mode_type )4);
  } else {
    tmp___3 = skip_prefix(format___0, (char const   *)"iso", end);
    if (tmp___3) {
      return ((enum date_mode_type )4);
    }
  }
  tmp___4 = skip_prefix(format___0, (char const   *)"rfc2822", end);
  if (tmp___4) {
    return ((enum date_mode_type )6);
  } else {
    tmp___5 = skip_prefix(format___0, (char const   *)"rfc", end);
    if (tmp___5) {
      return ((enum date_mode_type )6);
    }
  }
  tmp___6 = skip_prefix(format___0, (char const   *)"short", end);
  if (tmp___6) {
    return ((enum date_mode_type )3);
  }
  tmp___7 = skip_prefix(format___0, (char const   *)"default", end);
  if (tmp___7) {
    return ((enum date_mode_type )0);
  }
  tmp___8 = skip_prefix(format___0, (char const   *)"human", end);
  if (tmp___8) {
    return ((enum date_mode_type )1);
  }
  tmp___9 = skip_prefix(format___0, (char const   *)"raw", end);
  if (tmp___9) {
    return ((enum date_mode_type )8);
  }
  tmp___10 = skip_prefix(format___0, (char const   *)"unix", end);
  if (tmp___10) {
    return ((enum date_mode_type )9);
  }
  tmp___11 = skip_prefix(format___0, (char const   *)"format", end);
  if (tmp___11) {
    return ((enum date_mode_type )7);
  }
  die((char const   *)"unknown date format %s", format___0);
}
}
void parse_date_format(char const   *format___0 , struct date_mode *mode___1 )
{
  char const   *p___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;

  {
  tmp___1 = skip_prefix(format___0, (char const   *)"auto:", & p___0);
  if (tmp___1) {
    tmp = isatty(1);
    if (tmp) {
      format___0 = p___0;
    } else {
      tmp___0 = pager_in_use();
      if (tmp___0) {
        format___0 = p___0;
      } else {
        format___0 = (char const   *)"default";
      }
    }
  }
  tmp___2 = strcmp(format___0, (char const   *)"local");
  if (! tmp___2) {
    format___0 = (char const   *)"default-local";
  }
  mode___1->type = parse_date_type(format___0, & p___0);
  mode___1->local = 0;
  tmp___3 = skip_prefix(p___0, (char const   *)"-local", & p___0);
  if (tmp___3) {
    mode___1->local = 1;
  }
  if ((unsigned int )mode___1->type == 7U) {
    tmp___4 = skip_prefix(p___0, (char const   *)":", & p___0);
    if (! tmp___4) {
      die((char const   *)"date format missing colon separator: %s", format___0);
    }
    tmp___5 = xstrdup(p___0);
    mode___1->strftime_fmt = (char const   *)tmp___5;
  } else
  if (*p___0) {
    die((char const   *)"unknown date format %s", format___0);
  }
  return;
}
}
void datestamp(struct strbuf *out )
{
  time_t now ;
  int offset___2 ;
  struct tm tm ;
  struct tm *tmp ;
  time_t tmp___0 ;

  {
  tm.tm_sec = 0;
  tm.tm_min = 0;
  tm.tm_hour = 0;
  tm.tm_mday = 0;
  tm.tm_mon = 0;
  tm.tm_year = 0;
  tm.tm_wday = 0;
  tm.tm_yday = 0;
  tm.tm_isdst = 0;
  tm.tm_gmtoff = 0L;
  tm.tm_zone = (char const   *)0;
  time(& now);
  tmp = localtime_r((time_t const   * __restrict  )(& now), (struct tm * __restrict  )(& tm));
  tmp___0 = tm_to_time_t((struct tm  const  *)tmp);
  offset___2 = (int )(tmp___0 - now);
  offset___2 /= 60;
  date_string((timestamp_t )now, offset___2, out);
  return;
}
}
static time_t update_tm(struct tm *tm , struct tm *now , time_t sec )
{
  time_t n ;
  time_t tmp ;

  {
  if (tm->tm_mday < 0) {
    tm->tm_mday = now->tm_mday;
  }
  if (tm->tm_mon < 0) {
    tm->tm_mon = now->tm_mon;
  }
  if (tm->tm_year < 0) {
    tm->tm_year = now->tm_year;
    if (tm->tm_mon > now->tm_mon) {
      (tm->tm_year) --;
    }
  }
  tmp = mktime(tm);
  n = tmp - sec;
  localtime_r((time_t const   * __restrict  )(& n), (struct tm * __restrict  )tm);
  return (n);
}
}
static void pending_number(struct tm *tm , int *num )
{
  int number ;

  {
  number = *num;
  if (number) {
    *num = 0;
    if (tm->tm_mday < 0) {
      if (number < 32) {
        tm->tm_mday = number;
      } else {
        goto _L___2;
      }
    } else
    _L___2: /* CIL Label */
    if (tm->tm_mon < 0) {
      if (number < 13) {
        tm->tm_mon = number - 1;
      } else {
        goto _L___1;
      }
    } else
    _L___1: /* CIL Label */
    if (tm->tm_year < 0) {
      if (number > 1969) {
        if (number < 2100) {
          tm->tm_year = number - 1900;
        } else {
          goto _L___0;
        }
      } else
      _L___0: /* CIL Label */
      if (number > 69) {
        if (number < 100) {
          tm->tm_year = number;
        } else {
          goto _L;
        }
      } else
      _L: /* CIL Label */
      if (number < 38) {
        tm->tm_year = 100 + number;
      }
    }
  }
  return;
}
}
static void date_now(struct tm *tm , struct tm *now , int *num )
{


  {
  *num = 0;
  update_tm(tm, now, (time_t )0);
  return;
}
}
static void date_yesterday(struct tm *tm , struct tm *now , int *num )
{


  {
  *num = 0;
  update_tm(tm, now, (time_t )86400);
  return;
}
}
static void date_time(struct tm *tm , struct tm *now , int hour )
{


  {
  if (tm->tm_hour < hour) {
    update_tm(tm, now, (time_t )86400);
  }
  tm->tm_hour = hour;
  tm->tm_min = 0;
  tm->tm_sec = 0;
  return;
}
}
static void date_midnight(struct tm *tm , struct tm *now , int *num )
{


  {
  pending_number(tm, num);
  date_time(tm, now, 0);
  return;
}
}
static void date_noon(struct tm *tm , struct tm *now , int *num )
{


  {
  pending_number(tm, num);
  date_time(tm, now, 12);
  return;
}
}
static void date_tea(struct tm *tm , struct tm *now , int *num )
{


  {
  pending_number(tm, num);
  date_time(tm, now, 17);
  return;
}
}
static void date_pm(struct tm *tm , struct tm *now , int *num )
{
  int hour ;
  int n ;

  {
  n = *num;
  *num = 0;
  hour = tm->tm_hour;
  if (n) {
    hour = n;
    tm->tm_min = 0;
    tm->tm_sec = 0;
  }
  tm->tm_hour = hour % 12 + 12;
  return;
}
}
static void date_am(struct tm *tm , struct tm *now , int *num )
{
  int hour ;
  int n ;

  {
  n = *num;
  *num = 0;
  hour = tm->tm_hour;
  if (n) {
    hour = n;
    tm->tm_min = 0;
    tm->tm_sec = 0;
  }
  tm->tm_hour = hour % 12;
  return;
}
}
static void date_never(struct tm *tm , struct tm *now , int *num )
{
  time_t n ;

  {
  n = (time_t )0;
  localtime_r((time_t const   * __restrict  )(& n), (struct tm * __restrict  )tm);
  *num = 0;
  return;
}
}
static struct special  const  special[9]  =
  {      {(char const   *)"yesterday", & date_yesterday},
        {(char const   *)"noon", & date_noon},
        {(char const   *)"midnight", & date_midnight},
        {(char const   *)"tea", & date_tea},
        {(char const   *)"PM", & date_pm},
        {(char const   *)"AM", & date_am},
        {(char const   *)"never", & date_never},
        {(char const   *)"now", & date_now},
        {(char const   *)((void *)0), (void (*)(struct tm * , struct tm * , int * ))0}};
static char const   *number_name[11]  =
  {      (char const   *)"zero",      (char const   *)"one",      (char const   *)"two",      (char const   *)"three",
        (char const   *)"four",      (char const   *)"five",      (char const   *)"six",      (char const   *)"seven",
        (char const   *)"eight",      (char const   *)"nine",      (char const   *)"ten"};
static struct typelen  const  typelen[6]  = {      {(char const   *)"seconds", 1},
        {(char const   *)"minutes", 60},
        {(char const   *)"hours", 3600},
        {(char const   *)"days", 86400},
        {(char const   *)"weeks", 604800},
        {(char const   *)((void *)0), 0}};
static char const   *approxidate_alpha(char const   *date , struct tm *tm , struct tm *now ,
                                       int *num , int *touched )
{
  struct typelen  const  *tl ;
  struct special  const  *s___1 ;
  char const   *end ;
  int i ;
  int match___0 ;
  int tmp ;
  int len___0 ;
  size_t tmp___0 ;
  int tmp___1 ;
  int len___1 ;
  size_t tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int len___2 ;
  size_t tmp___5 ;
  int tmp___6 ;
  int match___1 ;
  int tmp___7 ;
  int diff ;
  int n ;
  int n___0 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  end = date;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    end ++;
    if (! (((int const   )sane_ctype[(unsigned char )*end] & 4) != 0)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < 12)) {
      goto while_break___0;
    }
    tmp = match_string(date, month_names[i]);
    match___0 = tmp;
    if (match___0 >= 3) {
      tm->tm_mon = i;
      *touched = 1;
      return (end);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  s___1 = special;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! s___1->name) {
      goto while_break___1;
    }
    tmp___0 = strlen((char const   *)s___1->name);
    len___0 = (int )tmp___0;
    tmp___1 = match_string(date, (char const   *)s___1->name);
    if (tmp___1 == len___0) {
      (*(s___1->fn))(tm, now, num);
      *touched = 1;
      return (end);
    }
    s___1 ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  if (! *num) {
    i = 1;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (i < 11)) {
        goto while_break___2;
      }
      tmp___2 = strlen(number_name[i]);
      len___1 = (int )tmp___2;
      tmp___3 = match_string(date, number_name[i]);
      if (tmp___3 == len___1) {
        *num = i;
        *touched = 1;
        return (end);
      }
      i ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    tmp___4 = match_string(date, (char const   *)"last");
    if (tmp___4 == 4) {
      *num = 1;
      *touched = 1;
    }
    return (end);
  }
  tl = typelen;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! tl->type) {
      goto while_break___3;
    }
    tmp___5 = strlen((char const   *)tl->type);
    len___2 = (int )tmp___5;
    tmp___6 = match_string(date, (char const   *)tl->type);
    if (tmp___6 >= len___2 - 1) {
      update_tm(tm, now, (time_t )(tl->length * (int )*num));
      *num = 0;
      *touched = 1;
      return (end);
    }
    tl ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! (i < 7)) {
      goto while_break___4;
    }
    tmp___7 = match_string(date, weekday_names[i]);
    match___1 = tmp___7;
    if (match___1 >= 3) {
      n = *num - 1;
      *num = 0;
      diff = tm->tm_wday - i;
      if (diff <= 0) {
        n ++;
      }
      diff += 7 * n;
      update_tm(tm, now, (time_t )(((diff * 24) * 60) * 60));
      *touched = 1;
      return (end);
    }
    i ++;
  }
  while_break___4: /* CIL Label */ ;
  }
  tmp___8 = match_string(date, (char const   *)"months");
  if (tmp___8 >= 5) {
    update_tm(tm, now, (time_t )0);
    n___0 = tm->tm_mon - *num;
    *num = 0;
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      if (! (n___0 < 0)) {
        goto while_break___5;
      }
      n___0 += 12;
      (tm->tm_year) --;
    }
    while_break___5: /* CIL Label */ ;
    }
    tm->tm_mon = n___0;
    *touched = 1;
    return (end);
  }
  tmp___9 = match_string(date, (char const   *)"years");
  if (tmp___9 >= 4) {
    update_tm(tm, now, (time_t )0);
    tm->tm_year -= *num;
    *num = 0;
    *touched = 1;
    return (end);
  }
  return (end);
}
}
static char const   *approxidate_digit(char const   *date , struct tm *tm , int *num ,
                                       time_t now )
{
  char *end ;
  timestamp_t number ;
  uintmax_t tmp ;
  int match___0 ;
  int tmp___0 ;

  {
  tmp = strtoumax(date, & end, 10);
  number = tmp;
  {
  if ((int )*end == 45) {
    goto case_45;
  }
  if ((int )*end == 47) {
    goto case_45;
  }
  if ((int )*end == 46) {
    goto case_45;
  }
  if ((int )*end == 58) {
    goto case_45;
  }
  goto switch_break;
  case_45: /* CIL Label */
  case_47: /* CIL Label */
  case_46: /* CIL Label */
  case_58: /* CIL Label */
  if (((int const   )sane_ctype[(unsigned char )*(end + 1)] & 2) != 0) {
    tmp___0 = match_multi_number(number, *end, date, end, tm, now);
    match___0 = tmp___0;
    if (match___0) {
      return (date + match___0);
    }
  }
  switch_break: /* CIL Label */ ;
  }
  if ((int const   )*(date + 0) != 48) {
    *num = (int )number;
  } else
  if (end - (char *)date <= 2L) {
    *num = (int )number;
  }
  return ((char const   *)end);
}
}
static timestamp_t approxidate_str(char const   *date , struct timeval  const  *tv ,
                                   int *error_ret )
{
  int number ;
  int touched ;
  struct tm tm ;
  struct tm now ;
  time_t time_sec ;
  unsigned char c___0 ;
  time_t tmp ;

  {
  number = 0;
  touched = 0;
  time_sec = (time_t )tv->tv_sec;
  localtime_r((time_t const   * __restrict  )(& time_sec), (struct tm * __restrict  )(& tm));
  now = tm;
  tm.tm_year = -1;
  tm.tm_mon = -1;
  tm.tm_mday = -1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    c___0 = (unsigned char )*date;
    if (! c___0) {
      goto while_break;
    }
    date ++;
    if (((int const   )sane_ctype[c___0] & 2) != 0) {
      pending_number(& tm, & number);
      date = approxidate_digit(date - 1, & tm, & number, time_sec);
      touched = 1;
      goto __Cont;
    }
    if (((int const   )sane_ctype[c___0] & 4) != 0) {
      date = approxidate_alpha(date - 1, & tm, & now, & number, & touched);
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  pending_number(& tm, & number);
  if (! touched) {
    *error_ret = 1;
  }
  tmp = update_tm(& tm, & now, (time_t )0);
  return ((timestamp_t )tmp);
}
}
timestamp_t approxidate_relative(char const   *date )
{
  struct timeval tv ;
  timestamp_t timestamp___0 ;
  int offset___2 ;
  int errors ;
  int tmp ;
  timestamp_t tmp___0 ;

  {
  errors = 0;
  tmp = parse_date_basic(date, & timestamp___0, & offset___2);
  if (! tmp) {
    return (timestamp___0);
  }
  get_time(& tv);
  tmp___0 = approxidate_str(date, (struct timeval  const  *)(& tv), & errors);
  return (tmp___0);
}
}
timestamp_t approxidate_careful(char const   *date , int *error_ret )
{
  struct timeval tv ;
  timestamp_t timestamp___0 ;
  int offset___2 ;
  int dummy___0 ;
  int tmp ;
  timestamp_t tmp___0 ;

  {
  dummy___0 = 0;
  if (! error_ret) {
    error_ret = & dummy___0;
  }
  tmp = parse_date_basic(date, & timestamp___0, & offset___2);
  if (! tmp) {
    *error_ret = 0;
    return (timestamp___0);
  }
  get_time(& tv);
  tmp___0 = approxidate_str(date, (struct timeval  const  *)(& tv), error_ret);
  return (tmp___0);
}
}
int date_overflows(timestamp_t t )
{
  time_t sys ;
  int tmp ;

  {
  if (t >= 18446744073709551615UL) {
    return (1);
  }
  sys = (time_t )t;
  if (t != (timestamp_t )sys) {
    tmp = 1;
  } else
  if ((t < 1UL) != (sys < 1L)) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static unsigned int hash_obj(struct object  const  *obj , unsigned int n )
{
  unsigned int tmp ;

  {
  tmp = oidhash((struct object_id  const  *)(& obj->oid));
  return (tmp % n);
}
}
static void *insert_decoration(struct decoration *n , struct object  const  *base ,
                               void *decoration )
{
  int size ;
  struct decoration_entry *entries___1 ;
  unsigned int j ;
  unsigned int tmp ;
  void *old ;

  {
  size = (int )n->size;
  entries___1 = n->entries;
  tmp = hash_obj(base, (unsigned int )size);
  j = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (entries___1 + j)->base) {
      goto while_break;
    }
    if ((unsigned long )(entries___1 + j)->base == (unsigned long )base) {
      old = (entries___1 + j)->decoration;
      (entries___1 + j)->decoration = decoration;
      return (old);
    }
    j ++;
    if (j >= (unsigned int )size) {
      j = 0U;
    }
  }
  while_break: /* CIL Label */ ;
  }
  (entries___1 + j)->base = base;
  (entries___1 + j)->decoration = decoration;
  (n->nr) ++;
  return ((void *)0);
}
}
static void grow_decoration(struct decoration *n )
{
  int i ;
  int old_size ;
  struct decoration_entry *old_entries ;
  void *tmp ;
  struct object  const  *base ;
  void *decoration ;

  {
  old_size = (int )n->size;
  old_entries = n->entries;
  n->size = (unsigned int )(((old_size + 1000) * 3) / 2);
  tmp = xcalloc((size_t )n->size, sizeof(*(n->entries)));
  n->entries = (struct decoration_entry *)tmp;
  n->nr = 0U;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < old_size)) {
      goto while_break;
    }
    base = (old_entries + i)->base;
    decoration = (old_entries + i)->decoration;
    if (! decoration) {
      goto __Cont;
    }
    insert_decoration(n, base, decoration);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)old_entries);
  return;
}
}
void *add_decoration(struct decoration *n , struct object  const  *obj , void *decoration )
{
  int nr___0 ;
  void *tmp ;

  {
  nr___0 = (int )(n->nr + 1U);
  if ((unsigned int )nr___0 > (n->size * 2U) / 3U) {
    grow_decoration(n);
  }
  tmp = insert_decoration(n, obj, decoration);
  return (tmp);
}
}
void *lookup_decoration(struct decoration *n , struct object  const  *obj )
{
  unsigned int j ;
  struct decoration_entry *ref ;

  {
  if (! n->size) {
    return ((void *)0);
  }
  j = hash_obj(obj, n->size);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    ref = n->entries + j;
    if ((unsigned long )ref->base == (unsigned long )obj) {
      return (ref->decoration);
    }
    if (! ref->base) {
      return ((void *)0);
    }
    j ++;
    if (j == n->size) {
      j = 0U;
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
static char const   BITMAP_IDX_SIGNATURE[4] ;
static double const   __ac_HASH_UPPER___21  =    (double const   )0.77;
__inline static void kh_resize_oid_set___21(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___21(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___21 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___21 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___21(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___21(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___21(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___21(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___21(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___21(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___21 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___21 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___21(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___21(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___21(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___21(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___21(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___21(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___21 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___21 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___21(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___21(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___21(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___21(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static uint32_t ewah_bit_popcount64(uint64_t x )
{


  {
  x = (uint64_t )(((unsigned long long )x & 0x5555555555555555ULL) + ((unsigned long long )(x >> 1) & 0x5555555555555555ULL));
  x = (uint64_t )(((unsigned long long )x & 0x3333333333333333ULL) + ((unsigned long long )(x >> 2) & 0x3333333333333333ULL));
  x = (uint64_t )(((unsigned long long )x & 0x0F0F0F0F0F0F0F0FULL) + ((unsigned long long )(x >> 4) & 0x0F0F0F0F0F0F0F0FULL));
  return ((uint32_t )((unsigned long long )x * 0x0101010101010101ULL >> 56));
}
}
struct ewah_bitmap *ewah_pool_new(void) ;
void ewah_pool_free(struct ewah_bitmap *self ) ;
struct ewah_bitmap *ewah_new(void) ;
void ewah_free(struct ewah_bitmap *self ) ;
int ewah_serialize_to(struct ewah_bitmap *self , int (*write_fun)(void *out , void const   *buf ,
                                                                  size_t len ) , void *data ) ;
int ewah_serialize_strbuf(struct ewah_bitmap *self , struct strbuf *sb___6 ) ;
ssize_t ewah_read_mmap(struct ewah_bitmap *self , void const   *map___0 , size_t len___0 ) ;
uint32_t ewah_checksum(struct ewah_bitmap *self ) ;
void ewah_each_bit(struct ewah_bitmap *self , void (*callback)(size_t pos , void * ) ,
                   void *payload ) ;
void ewah_set(struct ewah_bitmap *self , size_t i ) ;
void ewah_iterator_init(struct ewah_iterator *it , struct ewah_bitmap *parent ) ;
int ewah_iterator_next(eword_t *next___2 , struct ewah_iterator *it ) ;
void ewah_xor(struct ewah_bitmap *ewah_i , struct ewah_bitmap *ewah_j , struct ewah_bitmap *out ) ;
size_t ewah_add_empty_words(struct ewah_bitmap *self , int v , size_t number ) ;
void ewah_add_dirty_words(struct ewah_bitmap *self , eword_t const   *buffer___5 ,
                          size_t number , int negate ) ;
size_t ewah_add(struct ewah_bitmap *self , eword_t word ) ;
struct bitmap *bitmap_new(void) ;
struct bitmap *bitmap_word_alloc(size_t word_alloc ) ;
struct bitmap *bitmap_dup(struct bitmap  const  *src ) ;
void bitmap_set(struct bitmap *self , size_t pos ) ;
void bitmap_unset(struct bitmap *self , size_t pos ) ;
int bitmap_get(struct bitmap *self , size_t pos ) ;
void bitmap_reset(struct bitmap *bitmap ) ;
void bitmap_free(struct bitmap *bitmap ) ;
int bitmap_equals(struct bitmap *self , struct bitmap *other ) ;
int bitmap_is_subset(struct bitmap *self , struct bitmap *other ) ;
struct ewah_bitmap *bitmap_to_ewah(struct bitmap *bitmap ) ;
struct bitmap *ewah_to_bitmap(struct ewah_bitmap *ewah ) ;
void bitmap_and_not(struct bitmap *self , struct bitmap *other ) ;
void bitmap_or_ewah(struct bitmap *self , struct ewah_bitmap *other ) ;
void bitmap_or(struct bitmap *self , struct bitmap  const  *other ) ;
size_t bitmap_popcount(struct bitmap *self ) ;
__inline static void kh_resize_odb_path_map___18(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___18(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___21 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___21 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___18(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___18(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___18(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___18(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
void prepare_packing_data(struct repository *r , struct packing_data *pdata ) ;
__inline static void packing_data_lock(struct packing_data *pdata )
{


  {
  pthread_mutex_lock(& pdata->odb_lock);
  return;
}
}
__inline static void packing_data_unlock(struct packing_data *pdata )
{


  {
  pthread_mutex_unlock(& pdata->odb_lock);
  return;
}
}
struct object_entry *packlist_alloc(struct packing_data *pdata , struct object_id  const  *oid ) ;
struct object_entry *packlist_find(struct packing_data *pdata , struct object_id  const  *oid ) ;
__inline static uint32_t pack_name_hash(char const   *name___0 )
{
  uint32_t c___0 ;
  uint32_t hash___0 ;
  char const   *tmp ;

  {
  hash___0 = (uint32_t )0;
  if (! name___0) {
    return ((uint32_t )0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = name___0;
    name___0 ++;
    c___0 = (uint32_t )*tmp;
    if (! (c___0 != 0U)) {
      goto while_break;
    }
    if (((int const   )sane_ctype[(unsigned char )c___0] & 1) != 0) {
      goto while_continue;
    }
    hash___0 = (hash___0 >> 2) + (c___0 << 24);
  }
  while_break: /* CIL Label */ ;
  }
  return (hash___0);
}
}
__inline static enum object_type oe_type(struct object_entry  const  *e )
{
  unsigned int tmp ;

  {
  if (e->type_valid) {
    tmp = e->type_;
  } else {
    tmp = (unsigned int )-1;
  }
  return ((enum object_type )tmp);
}
}
__inline static void oe_set_type(struct object_entry *e , enum object_type type___0 )
{


  {
  if ((int )type___0 >= 8) {
    BUG_fl((char const   *)"pack-objects.h", 220, (char const   *)"OBJ_ANY cannot be set in pack-objects code");
  }
  e->type_valid = (unsigned int )((int )type___0 >= 0);
  e->type_ = (unsigned int )type___0;
  return;
}
}
__inline static unsigned int oe_in_pack_pos(struct packing_data  const  *pack___0 ,
                                            struct object_entry  const  *e )
{


  {
  return (*(pack___0->in_pack_pos + (e - (struct object_entry  const  *)pack___0->objects)));
}
}
__inline static void oe_set_in_pack_pos(struct packing_data  const  *pack___0 , struct object_entry  const  *e ,
                                        unsigned int pos )
{


  {
  *(pack___0->in_pack_pos + (e - (struct object_entry  const  *)pack___0->objects)) = pos;
  return;
}
}
__inline static struct packed_git *oe_in_pack(struct packing_data  const  *pack___0 ,
                                              struct object_entry  const  *e )
{


  {
  if (pack___0->in_pack_by_idx) {
    return (*(pack___0->in_pack_by_idx + e->in_pack_idx));
  } else {
    return (*(pack___0->in_pack + (e - (struct object_entry  const  *)pack___0->objects)));
  }
}
}
void oe_map_new_pack(struct packing_data *pack___0 ) ;
__inline static void oe_set_in_pack(struct packing_data *pack___0 , struct object_entry *e ,
                                    struct packed_git *p___0 )
{


  {
  if (pack___0->in_pack_by_idx) {
    if (p___0->index) {
      e->in_pack_idx = (unsigned int )p___0->index;
      return;
    }
    oe_map_new_pack(pack___0);
  }
  *(pack___0->in_pack + (e - pack___0->objects)) = p___0;
  return;
}
}
void oe_set_delta_ext(struct packing_data *pdata , struct object_entry *delta , struct object_id  const  *oid ) ;
__inline static unsigned int oe_tree_depth(struct packing_data *pack___0 , struct object_entry *e )
{


  {
  if (! pack___0->tree_depth) {
    return (0U);
  }
  return (*(pack___0->tree_depth + (e - pack___0->objects)));
}
}
__inline static void oe_set_layer(struct packing_data *pack___0 , struct object_entry *e ,
                                  unsigned char layer )
{
  void *tmp ;

  {
  if (! pack___0->layer) {
    tmp = xcalloc((size_t )pack___0->nr_alloc, sizeof(*(pack___0->layer)));
    pack___0->layer = (unsigned char *)tmp;
  }
  *(pack___0->layer + (e - pack___0->objects)) = layer;
  return;
}
}
static char const   BITMAP_IDX_SIGNATURE[4]  = {      (char const   )'B',      (char const   )'I',      (char const   )'T',      (char const   )'M'};
struct bitmap_index *prepare_bitmap_git(struct repository *r ) ;
struct bitmap_index *prepare_midx_bitmap_git(struct multi_pack_index *midx ) ;
void count_bitmap_commit_list(struct bitmap_index *bitmap_git___0 , uint32_t *commits ,
                              uint32_t *trees___0 , uint32_t *blobs , uint32_t *tags___2 ) ;
void traverse_bitmap_commit_list(struct bitmap_index *bitmap_git___0 , struct rev_info *revs ,
                                 int (*show_reachable)(struct object_id  const  *oid ,
                                                       enum object_type type , int flags ,
                                                       uint32_t hash , struct packed_git *found_pack ,
                                                       off_t found_offset ) ) ;
void test_bitmap_walk(struct rev_info *revs ) ;
int test_bitmap_commits(struct repository *r ) ;
int test_bitmap_hashes(struct repository *r ) ;
struct bitmap_index *prepare_bitmap_walk(struct rev_info *revs , struct list_objects_filter_options *filter___0 ,
                                         int filter_provided_objects ) ;
uint32_t midx_preferred_pack(struct bitmap_index *bitmap_git___0 ) ;
int reuse_partial_packfile_from_bitmap(struct bitmap_index *bitmap_git___0 , struct packed_git **packfile_out ,
                                       uint32_t *entries___1 , struct bitmap **reuse_out ) ;
extern int rebuild_existing_bitmaps(struct bitmap_index * , struct packing_data *mapping ,
                                    kh_oid_map_t *reused_bitmaps , int show_progress ) ;
void free_bitmap_index(struct bitmap_index *b___0 ) ;
int bitmap_walk_contains(struct bitmap_index *bitmap_git___0 , struct bitmap *bitmap ,
                         struct object_id  const  *oid ) ;
int bitmap_has_oid_in_uninteresting(struct bitmap_index *bitmap_git___0 , struct object_id  const  *oid ) ;
off_t get_disk_usage_from_bitmap(struct bitmap_index *bitmap_git___0 , struct rev_info *revs ) ;
void bitmap_writer_show_progress(int show___5 ) ;
void bitmap_writer_set_checksum(unsigned char *sha1 ) ;
void bitmap_writer_build_type_index(struct packing_data *to_pack___0 , struct pack_idx_entry **index___2 ,
                                    uint32_t index_nr ) ;
uint32_t *create_bitmap_mapping(struct bitmap_index *bitmap_git___0 , struct packing_data *mapping ) ;
int rebuild_bitmap(uint32_t const   *reposition , struct ewah_bitmap *source , struct bitmap *dest ) ;
struct ewah_bitmap *bitmap_for_commit(struct bitmap_index *bitmap_git___0 , struct commit *commit ) ;
void bitmap_writer_select_commits(struct commit **indexed_commits___0 , unsigned int indexed_commits_nr___0 ,
                                  int max_bitmaps ) ;
int bitmap_writer_build(struct packing_data *to_pack___0 ) ;
void bitmap_writer_finish(struct pack_idx_entry **index___2 , uint32_t index_nr ,
                          char const   *filename___0 , uint16_t options ) ;
char *midx_bitmap_filename(struct multi_pack_index *midx ) ;
char *pack_bitmap_filename(struct packed_git *p___0 ) ;
int bitmap_is_midx(struct bitmap_index *bitmap_git___0 ) ;
struct string_list  const  *bitmap_preferred_tips(struct repository *r ) ;
int bitmap_is_preferred_refname(struct repository *r , char const   *refname ) ;
int island_delta_cmp(struct object_id  const  *a , struct object_id  const  *b___0 ) ;
int in_same_island(struct object_id  const  *trg_oid , struct object_id  const  *src_oid ) ;
void resolve_tree_islands(struct repository *r , int progress___7 , struct packing_data *to_pack___0 ) ;
void load_delta_islands(struct repository *r , int progress___7 ) ;
void propagate_island_marks(struct commit *commit ) ;
int compute_pack_layers(struct packing_data *to_pack___0 ) ;
__inline static kh_str_t *kh_init_str(void)  __attribute__((__unused__)) ;
__inline static kh_str_t *kh_init_str(void)
{
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(kh_str_t ));
  return ((kh_str_t *)tmp);
}
}
__inline static void kh_release_str(kh_str_t *h )  __attribute__((__unused__)) ;
__inline static void kh_release_str(kh_str_t *h )
{


  {
  free((void *)h->flags);
  free((void *)h->keys);
  free((void *)h->vals);
  return;
}
}
__inline static void kh_destroy_str(kh_str_t *h )  __attribute__((__unused__)) ;
__inline static void kh_destroy_str(kh_str_t *h )
{


  {
  if (h) {
    kh_release_str(h);
    free((void *)h);
  }
  return;
}
}
__inline static void kh_clear_str(kh_str_t *h )  __attribute__((__unused__)) ;
__inline static void kh_clear_str(kh_str_t *h )
{
  khint_t tmp ;
  khint_t tmp___0 ;

  {
  if (h) {
    if (h->flags) {
      if (h->n_buckets < 16U) {
        tmp = (khint_t )1;
      } else {
        tmp = h->n_buckets >> 4;
      }
      memset((void *)h->flags, 0xaa, (unsigned long )tmp * sizeof(khint32_t ));
      tmp___0 = (khint_t )0;
      h->n_occupied = tmp___0;
      h->size = tmp___0;
    }
  }
  return;
}
}
__inline static khint_t kh_get_str(kh_str_t const   *h , char const   *key___1 )  __attribute__((__unused__)) ;
__inline static khint_t kh_get_str(kh_str_t const   *h , char const   *key___1 )
{
  khint_t k ;
  khint_t i ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;
  khint_t tmp___0 ;

  {
  if (h->n_buckets) {
    step = (khint_t )0;
    mask = (khint_t )(h->n_buckets - 1U);
    k = __ac_X31_hash_string(key___1);
    i = k & mask;
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = strcmp(*(h->keys + i), key___1);
          if (tmp == 0) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        return ((khint_t )h->n_buckets);
      }
    }
    while_break: /* CIL Label */ ;
    }
    if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) {
      tmp___0 = h->n_buckets;
    } else {
      tmp___0 = (khint_t )i;
    }
    return ((khint_t )tmp___0);
  } else {
    return ((khint_t )0);
  }
}
}
__inline static void kh_resize_str(kh_str_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_str(kh_str_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___21 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = __ac_X31_hash_string(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___21 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_str(kh_str_t *h , char const   *key___1 , int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_str(kh_str_t *h , char const   *key___1 , int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_str(h, h->n_buckets - 1U);
    } else {
      kh_resize_str(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = __ac_X31_hash_string(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = strcmp(*(h->keys + i), key___1);
          if (tmp == 0) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_del_str(kh_str_t *h , khint_t x )  __attribute__((__unused__)) ;
__inline static void kh_del_str(kh_str_t *h , khint_t x )
{


  {
  if (x != h->n_buckets) {
    if (! ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 3U)) {
      *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) | (1ul << ((x & 0xfU) << 1)));
      (h->size) --;
    }
  }
  return;
}
}
static kh_oid_map_t *island_marks  ;
static unsigned int island_counter  ;
static unsigned int island_counter_core  ;
static kh_str_t *remote_islands  ;
static uint32_t island_bitmap_size  ;
static struct island_bitmap *island_bitmap_new(struct island_bitmap  const  *old )
{
  size_t size ;
  struct island_bitmap *b___0 ;
  void *tmp ;

  {
  size = sizeof(struct island_bitmap ) + (unsigned long )(island_bitmap_size * 4U);
  tmp = xcalloc((size_t )1, size);
  b___0 = (struct island_bitmap *)tmp;
  if (old) {
    memcpy((void *)b___0, (void const   *)old, size);
  }
  b___0->refcount = (uint32_t )1;
  return (b___0);
}
}
static void island_bitmap_or(struct island_bitmap *a , struct island_bitmap  const  *b___0 )
{
  uint32_t i ;

  {
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < island_bitmap_size)) {
      goto while_break;
    }
    a->bits[i] |= b___0->bits[i];
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int island_bitmap_is_subset(struct island_bitmap *self , struct island_bitmap *super )
{
  uint32_t i ;

  {
  if ((unsigned long )self == (unsigned long )super) {
    return (1);
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < island_bitmap_size)) {
      goto while_break;
    }
    if ((self->bits[i] & super->bits[i]) != self->bits[i]) {
      return (0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static void island_bitmap_set(struct island_bitmap *self , uint32_t i )
{


  {
  self->bits[i / 32U] |= (unsigned int )(1 << i % 32U);
  return;
}
}
static int island_bitmap_get(struct island_bitmap *self , uint32_t i )
{


  {
  return ((self->bits[i / 32U] & (unsigned int )(1 << i % 32U)) != 0U);
}
}
int in_same_island(struct object_id  const  *trg_oid , struct object_id  const  *src_oid )
{
  khiter_t trg_pos ;
  khiter_t src_pos ;
  int tmp ;

  {
  if (! island_marks) {
    return (1);
  }
  trg_pos = kh_get_oid_map((kh_oid_map_t const   *)island_marks, (struct object_id )*trg_oid);
  if (trg_pos >= island_marks->n_buckets) {
    return (1);
  }
  src_pos = kh_get_oid_map((kh_oid_map_t const   *)island_marks, (struct object_id )*src_oid);
  if (src_pos >= island_marks->n_buckets) {
    return (0);
  }
  tmp = island_bitmap_is_subset((struct island_bitmap *)*(island_marks->vals + trg_pos),
                                (struct island_bitmap *)*(island_marks->vals + src_pos));
  return (tmp);
}
}
int island_delta_cmp(struct object_id  const  *a , struct object_id  const  *b___0 )
{
  khiter_t a_pos ;
  khiter_t b_pos ;
  struct island_bitmap *a_bitmap ;
  struct island_bitmap *b_bitmap ;
  int tmp ;
  int tmp___0 ;

  {
  a_bitmap = (struct island_bitmap *)((void *)0);
  b_bitmap = (struct island_bitmap *)((void *)0);
  if (! island_marks) {
    return (0);
  }
  a_pos = kh_get_oid_map((kh_oid_map_t const   *)island_marks, (struct object_id )*a);
  if (a_pos < island_marks->n_buckets) {
    a_bitmap = (struct island_bitmap *)*(island_marks->vals + a_pos);
  }
  b_pos = kh_get_oid_map((kh_oid_map_t const   *)island_marks, (struct object_id )*b___0);
  if (b_pos < island_marks->n_buckets) {
    b_bitmap = (struct island_bitmap *)*(island_marks->vals + b_pos);
  }
  if (a_bitmap) {
    if (! b_bitmap) {
      return (-1);
    } else {
      tmp = island_bitmap_is_subset(a_bitmap, b_bitmap);
      if (! tmp) {
        return (-1);
      }
    }
  }
  if (b_bitmap) {
    if (! a_bitmap) {
      return (1);
    } else {
      tmp___0 = island_bitmap_is_subset(b_bitmap, a_bitmap);
      if (! tmp___0) {
        return (1);
      }
    }
  }
  return (0);
}
}
static struct island_bitmap *create_or_get_island_marks(struct object *obj )
{
  khiter_t pos ;
  int hash_ret ;
  struct island_bitmap *tmp ;

  {
  pos = kh_put_oid_map___21(island_marks, obj->oid, & hash_ret);
  if (hash_ret) {
    tmp = island_bitmap_new((struct island_bitmap  const  *)((void *)0));
    *(island_marks->vals + pos) = (void *)tmp;
  }
  return ((struct island_bitmap *)*(island_marks->vals + pos));
}
}
static void set_island_marks(struct object *obj , struct island_bitmap *marks___0 )
{
  struct island_bitmap *b___0 ;
  khiter_t pos ;
  int hash_ret ;
  void *tmp ;
  struct island_bitmap *tmp___0 ;

  {
  pos = kh_put_oid_map___21(island_marks, obj->oid, & hash_ret);
  if (hash_ret) {
    (marks___0->refcount) ++;
    *(island_marks->vals + pos) = (void *)marks___0;
    return;
  }
  b___0 = (struct island_bitmap *)*(island_marks->vals + pos);
  if (b___0->refcount > 1U) {
    (b___0->refcount) --;
    tmp___0 = island_bitmap_new((struct island_bitmap  const  *)b___0);
    tmp = (void *)tmp___0;
    *(island_marks->vals + pos) = tmp;
    b___0 = (struct island_bitmap *)tmp;
  }
  island_bitmap_or(b___0, (struct island_bitmap  const  *)marks___0);
  return;
}
}
static void mark_remote_island_1(struct repository *r , struct remote_island *rl ,
                                 int is_core_island )
{
  uint32_t i ;
  struct island_bitmap *marks___0 ;
  struct object *obj ;
  struct object *tmp ;

  {
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < rl->oids.nr)) {
      goto while_break;
    }
    tmp = parse_object(r, (struct object_id  const  *)(rl->oids.oid + i));
    obj = tmp;
    if (! obj) {
      goto __Cont;
    }
    marks___0 = create_or_get_island_marks(obj);
    island_bitmap_set(marks___0, island_counter);
    if (is_core_island) {
      if (obj->type == 1U) {
        obj->flags |= 1u << 22;
      }
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (obj) {
        if (! (obj->type == 4U)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      obj = ((struct tag *)obj)->tagged;
      if (obj) {
        parse_object(r, (struct object_id  const  *)(& obj->oid));
        marks___0 = create_or_get_island_marks(obj);
        island_bitmap_set(marks___0, island_counter);
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (is_core_island) {
    island_counter_core = island_counter;
  }
  island_counter ++;
  return;
}
}
static int tree_depth_compare(void const   *a , void const   *b___0 )
{
  struct tree_islands_todo  const  *todo_a ;
  struct tree_islands_todo  const  *todo_b ;

  {
  todo_a = (struct tree_islands_todo  const  *)a;
  todo_b = (struct tree_islands_todo  const  *)b___0;
  return ((int )(todo_a->depth - todo_b->depth));
}
}
void resolve_tree_islands(struct repository *r , int progress___7 , struct packing_data *to_pack___0 )
{
  struct progress *progress_state___0 ;
  struct tree_islands_todo *todo___0 ;
  int nr___0 ;
  int i ;
  size_t tmp ;
  void *tmp___0 ;
  enum object_type tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  struct object_entry *ent ;
  struct island_bitmap *root_marks ;
  struct tree *tree ;
  struct tree_desc desc___0 ;
  struct name_entry entry ;
  khiter_t pos ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  struct object *obj ;
  int tmp___6 ;

  {
  progress_state___0 = (struct progress *)((void *)0);
  nr___0 = 0;
  if (! island_marks) {
    return;
  }
  tmp = st_mult(sizeof(*todo___0), (size_t )to_pack___0->nr_objects);
  tmp___0 = xmalloc(tmp);
  todo___0 = (struct tree_islands_todo *)tmp___0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((uint32_t )i < to_pack___0->nr_objects)) {
      goto while_break;
    }
    tmp___1 = oe_type((struct object_entry  const  *)(to_pack___0->objects + i));
    if ((int )tmp___1 == 2) {
      (todo___0 + nr___0)->entry = to_pack___0->objects + i;
      (todo___0 + nr___0)->depth = oe_tree_depth(to_pack___0, to_pack___0->objects + i);
      nr___0 ++;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  sane_qsort((void *)todo___0, (size_t )nr___0, sizeof(*todo___0), & tree_depth_compare);
  if (progress___7) {
    tmp___2 = _((char const   *)"Propagating island marks");
    progress_state___0 = start_progress((char const   *)tmp___2, (uint64_t )nr___0);
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break___0;
    }
    ent = (todo___0 + i)->entry;
    pos = kh_get_oid_map((kh_oid_map_t const   *)island_marks, ent->idx.oid);
    if (pos >= island_marks->n_buckets) {
      goto __Cont;
    }
    root_marks = (struct island_bitmap *)*(island_marks->vals + pos);
    tree = lookup_tree(r, (struct object_id  const  *)(& ent->idx.oid));
    if (! tree) {
      tmp___3 = oid_to_hex((struct object_id  const  *)(& ent->idx.oid));
      tmp___4 = _((char const   *)"bad tree object %s");
      die((char const   *)tmp___4, tmp___3);
    } else {
      tmp___5 = parse_tree(tree);
      if (tmp___5 < 0) {
        tmp___3 = oid_to_hex((struct object_id  const  *)(& ent->idx.oid));
        tmp___4 = _((char const   *)"bad tree object %s");
        die((char const   *)tmp___4, tmp___3);
      }
    }
    init_tree_desc(& desc___0, (void const   *)tree->buffer, tree->size);
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      tmp___6 = tree_entry(& desc___0, & entry);
      if (! tmp___6) {
        goto while_break___1;
      }
      if ((entry.mode & 61440U) == 57344U) {
        goto while_continue___1;
      }
      obj = lookup_object(r, (struct object_id  const  *)(& entry.oid));
      if (! obj) {
        goto while_continue___1;
      }
      set_island_marks(obj, root_marks);
    }
    while_break___1: /* CIL Label */ ;
    }
    free_tree_buffer(tree);
    display_progress(progress_state___0, (uint64_t )(i + 1));
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  stop_progress(& progress_state___0);
  free((void *)todo___0);
  return;
}
}
static regex_t *island_regexes  ;
static unsigned int island_regexes_alloc  ;
static unsigned int island_regexes_nr  ;
static char const   *core_island_name  ;
static int island_config_callback(char const   *k , char const   *v , void *cb )
{
  struct strbuf re ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  tmp___4 = strcmp(k, (char const   *)"pack.island");
  if (! tmp___4) {
    re.alloc = 0UL;
    re.len = 0UL;
    re.buf = strbuf_slopbuf;
    if (! v) {
      config_error_nonbool(k);
      tmp = const_error();
      return (tmp);
    }
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (island_regexes_nr + 1U > island_regexes_alloc) {
        if (((island_regexes_alloc + 16U) * 3U) / 2U < island_regexes_nr + 1U) {
          island_regexes_alloc = island_regexes_nr + 1U;
        } else {
          island_regexes_alloc = ((island_regexes_alloc + 16U) * 3U) / 2U;
        }
        tmp___0 = st_mult(sizeof(*island_regexes), (size_t )island_regexes_alloc);
        tmp___1 = xrealloc((void *)island_regexes, tmp___0);
        island_regexes = (regex_t *)tmp___1;
      }
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    if ((int const   )*v != 94) {
      strbuf_addch(& re, '^');
    }
    strbuf_addstr(& re, v);
    tmp___3 = regcomp((regex_t * __restrict  )(island_regexes + island_regexes_nr),
                      (char const   * __restrict  )re.buf, 1);
    if (tmp___3) {
      tmp___2 = _((char const   *)"failed to load island regex for \'%s\': %s");
      die((char const   *)tmp___2, k, re.buf);
    }
    strbuf_release(& re);
    island_regexes_nr ++;
    return (0);
  }
  tmp___6 = strcmp(k, (char const   *)"pack.islandcore");
  if (! tmp___6) {
    tmp___5 = git_config_string(& core_island_name, k, v);
    return (tmp___5);
  }
  return (0);
}
}
static void add_ref_to_island(char const   *island_name , struct object_id  const  *oid )
{
  uint64_t sha_core ;
  struct remote_island *rl ;
  int hash_ret ;
  khiter_t pos ;
  khint_t tmp ;
  char *tmp___0 ;

  {
  rl = (struct remote_island *)((void *)0);
  tmp = kh_put_str(remote_islands, island_name, & hash_ret);
  pos = tmp;
  if (hash_ret) {
    tmp___0 = xstrdup(island_name);
    *(remote_islands->keys + pos) = (char const   *)tmp___0;
    *(remote_islands->vals + pos) = xcalloc((size_t )1, sizeof(struct remote_island ));
  }
  rl = (struct remote_island *)*(remote_islands->vals + pos);
  oid_array_append(& rl->oids, oid);
  memcpy((void *)(& sha_core), (void const   *)(oid->hash), sizeof(uint64_t ));
  rl->hash += sha_core;
  return;
}
}
static int find_island_for_ref(char const   *refname , struct object_id  const  *oid ,
                               int flags___0 , void *data )
{
  regmatch_t matches___0[16] ;
  int i ;
  int m ;
  struct strbuf island_name ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  regmatch_t *match___0 ;

  {
  island_name.alloc = 0UL;
  island_name.len = 0UL;
  island_name.buf = strbuf_slopbuf;
  i = (int )(island_regexes_nr - 1U);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i >= 0)) {
      goto while_break;
    }
    tmp = regexec((regex_t const   * __restrict  )(island_regexes + i), (char const   * __restrict  )refname,
                  sizeof(matches___0) / sizeof(matches___0[0]) + (sizeof(char [1]) - 1UL),
                  (regmatch_t * __restrict  )(matches___0), 0);
    if (! tmp) {
      goto while_break;
    }
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  if (i < 0) {
    return (0);
  }
  if (matches___0[(sizeof(matches___0) / sizeof(matches___0[0]) + (sizeof(char [1]) - 1UL)) - 1UL].rm_so != -1) {
    tmp___0 = _((char const   *)"island regex from config has too many capture groups (max=%d)");
    warning((char const   *)tmp___0, (int )(sizeof(matches___0) / sizeof(matches___0[0]) + (sizeof(char [1]) - 1UL)) - 2);
  }
  m = 1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )m < sizeof(matches___0) / sizeof(matches___0[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break___0;
    }
    match___0 = & matches___0[m];
    if (match___0->rm_so == -1) {
      goto __Cont;
    }
    if (island_name.len) {
      strbuf_addch(& island_name, '-');
    }
    strbuf_add(& island_name, (void const   *)(refname + match___0->rm_so), (size_t )(match___0->rm_eo - match___0->rm_so));
    __Cont: /* CIL Label */
    m ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  add_ref_to_island((char const   *)island_name.buf, oid);
  strbuf_release(& island_name);
  return (0);
}
}
static struct remote_island *get_core_island(void)
{
  khiter_t pos ;
  khint_t tmp ;

  {
  if (core_island_name) {
    tmp = kh_get_str((kh_str_t const   *)remote_islands, core_island_name);
    pos = tmp;
    if (pos < remote_islands->n_buckets) {
      return ((struct remote_island *)*(remote_islands->vals + pos));
    }
  }
  return ((struct remote_island *)((void *)0));
}
}
static void deduplicate_islands(struct repository *r )
{
  struct remote_island *island ;
  struct remote_island *core ;
  struct remote_island **list___3 ;
  unsigned int island_count ;
  unsigned int dst ;
  unsigned int src ;
  unsigned int ref ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  khint_t __i ;
  unsigned int tmp___1 ;
  int tmp___2 ;

  {
  core = (struct remote_island *)((void *)0);
  i = 0U;
  island_count = remote_islands->size;
  tmp = st_mult(sizeof(*list___3), (size_t )island_count);
  tmp___0 = xmalloc(tmp);
  list___3 = (struct remote_island **)tmp___0;
  __i = (khint_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (__i != remote_islands->n_buckets)) {
      goto while_break;
    }
    if (! (! ((*(remote_islands->flags + (__i >> 4)) >> ((__i & 0xfU) << 1)) & 3U))) {
      goto __Cont;
    }
    island = (struct remote_island *)*(remote_islands->vals + __i);
    tmp___1 = i;
    i ++;
    *(list___3 + tmp___1) = island;
    __Cont: /* CIL Label */
    __i ++;
  }
  while_break: /* CIL Label */ ;
  }
  ref = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (ref + 1U < island_count)) {
      goto while_break___0;
    }
    src = ref + 1U;
    dst = src;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (src < island_count)) {
        goto while_break___1;
      }
      if ((*(list___3 + ref))->hash == (*(list___3 + src))->hash) {
        goto __Cont___0;
      }
      if (src != dst) {
        *(list___3 + dst) = *(list___3 + src);
      }
      dst ++;
      __Cont___0: /* CIL Label */
      src ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    island_count = dst;
    ref ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  island_bitmap_size = island_count / 32U + 1U;
  core = get_core_island();
  i = 0U;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < island_count)) {
      goto while_break___2;
    }
    if (core) {
      if ((*(list___3 + i))->hash == core->hash) {
        tmp___2 = 1;
      } else {
        tmp___2 = 0;
      }
    } else {
      tmp___2 = 0;
    }
    mark_remote_island_1(r, *(list___3 + i), tmp___2);
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  free((void *)list___3);
  return;
}
}
void load_delta_islands(struct repository *r , int progress___7 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  island_marks = kh_init_oid_map();
  remote_islands = kh_init_str();
  git_config(& island_config_callback, (void *)0);
  for_each_ref(& find_island_for_ref, (void *)0);
  deduplicate_islands(r);
  if (progress___7) {
    tmp = _((char const   *)"Marked %d islands, done.\n");
    fprintf(stderr, (char const   *)tmp, island_counter);
  }
  return;
}
}
void propagate_island_marks(struct commit *commit )
{
  khiter_t pos ;
  khint_t tmp ;
  struct commit_list *p___0 ;
  struct island_bitmap *root_marks ;
  struct tree *tmp___0 ;

  {
  tmp = kh_get_oid_map((kh_oid_map_t const   *)island_marks, commit->object.oid);
  pos = tmp;
  if (pos < island_marks->n_buckets) {
    root_marks = (struct island_bitmap *)*(island_marks->vals + pos);
    repo_parse_commit(the_repository, commit);
    tmp___0 = repo_get_commit_tree(the_repository, (struct commit  const  *)commit);
    set_island_marks(& tmp___0->object, root_marks);
    p___0 = commit->parents;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! p___0) {
        goto while_break;
      }
      set_island_marks(& (p___0->item)->object, root_marks);
      p___0 = p___0->next;
    }
    while_break: /* CIL Label */ ;
    }
  }
  return;
}
}
int compute_pack_layers(struct packing_data *to_pack___0 )
{
  uint32_t i ;
  struct object_entry *entry ;
  khiter_t pos ;
  khint_t tmp ;
  struct island_bitmap *bitmap ;
  int tmp___0 ;

  {
  if (! core_island_name) {
    return (1);
  } else
  if (! island_marks) {
    return (1);
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < to_pack___0->nr_objects)) {
      goto while_break;
    }
    entry = to_pack___0->objects + i;
    tmp = kh_get_oid_map((kh_oid_map_t const   *)island_marks, entry->idx.oid);
    pos = tmp;
    oe_set_layer(to_pack___0, entry, (unsigned char)1);
    if (pos < island_marks->n_buckets) {
      bitmap = (struct island_bitmap *)*(island_marks->vals + pos);
      tmp___0 = island_bitmap_get(bitmap, island_counter_core);
      if (tmp___0) {
        oe_set_layer(to_pack___0, entry, (unsigned char)0);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (2);
}
}
static unsigned int const   T[256]  =
  {      (unsigned int const   )0x00000000,      (unsigned int const   )0xab59b4d1,      (unsigned int const   )0x56b369a2,      (unsigned int const   )0xfdeadd73,
        (unsigned int const   )0x063f6795,      (unsigned int const   )0xad66d344,      (unsigned int const   )0x508c0e37,      (unsigned int const   )0xfbd5bae6,
        (unsigned int const   )0x0c7ecf2a,      (unsigned int const   )0xa7277bfb,      (unsigned int const   )0x5acda688,      (unsigned int const   )0xf1941259,
        (unsigned int const   )0x0a41a8bf,      (unsigned int const   )0xa1181c6e,      (unsigned int const   )0x5cf2c11d,      (unsigned int const   )0xf7ab75cc,
        (unsigned int const   )0x18fd9e54,      (unsigned int const   )0xb3a42a85,      (unsigned int const   )0x4e4ef7f6,      (unsigned int const   )0xe5174327,
        (unsigned int const   )0x1ec2f9c1,      (unsigned int const   )0xb59b4d10,      (unsigned int const   )0x48719063,      (unsigned int const   )0xe32824b2,
        (unsigned int const   )0x1483517e,      (unsigned int const   )0xbfdae5af,      (unsigned int const   )0x423038dc,      (unsigned int const   )0xe9698c0d,
        (unsigned int const   )0x12bc36eb,      (unsigned int const   )0xb9e5823a,      (unsigned int const   )0x440f5f49,      (unsigned int const   )0xef56eb98,
        (unsigned int const   )0x31fb3ca8,      (unsigned int const   )0x9aa28879,      (unsigned int const   )0x6748550a,      (unsigned int const   )0xcc11e1db,
        (unsigned int const   )0x37c45b3d,      (unsigned int const   )0x9c9defec,      (unsigned int const   )0x6177329f,      (unsigned int const   )0xca2e864e,
        (unsigned int const   )0x3d85f382,      (unsigned int const   )0x96dc4753,      (unsigned int const   )0x6b369a20,      (unsigned int const   )0xc06f2ef1,
        (unsigned int const   )0x3bba9417,      (unsigned int const   )0x90e320c6,      (unsigned int const   )0x6d09fdb5,      (unsigned int const   )0xc6504964,
        (unsigned int const   )0x2906a2fc,      (unsigned int const   )0x825f162d,      (unsigned int const   )0x7fb5cb5e,      (unsigned int const   )0xd4ec7f8f,
        (unsigned int const   )0x2f39c569,      (unsigned int const   )0x846071b8,      (unsigned int const   )0x798aaccb,      (unsigned int const   )0xd2d3181a,
        (unsigned int const   )0x25786dd6,      (unsigned int const   )0x8e21d907,      (unsigned int const   )0x73cb0474,      (unsigned int const   )0xd892b0a5,
        (unsigned int const   )0x23470a43,      (unsigned int const   )0x881ebe92,      (unsigned int const   )0x75f463e1,      (unsigned int const   )0xdeadd730,
        (unsigned int const   )0x63f67950,      (unsigned int const   )0xc8afcd81,      (unsigned int const   )0x354510f2,      (unsigned int const   )0x9e1ca423,
        (unsigned int const   )0x65c91ec5,      (unsigned int const   )0xce90aa14,      (unsigned int const   )0x337a7767,      (unsigned int const   )0x9823c3b6,
        (unsigned int const   )0x6f88b67a,      (unsigned int const   )0xc4d102ab,      (unsigned int const   )0x393bdfd8,      (unsigned int const   )0x92626b09,
        (unsigned int const   )0x69b7d1ef,      (unsigned int const   )0xc2ee653e,      (unsigned int const   )0x3f04b84d,      (unsigned int const   )0x945d0c9c,
        (unsigned int const   )0x7b0be704,      (unsigned int const   )0xd05253d5,      (unsigned int const   )0x2db88ea6,      (unsigned int const   )0x86e13a77,
        (unsigned int const   )0x7d348091,      (unsigned int const   )0xd66d3440,      (unsigned int const   )0x2b87e933,      (unsigned int const   )0x80de5de2,
        (unsigned int const   )0x7775282e,      (unsigned int const   )0xdc2c9cff,      (unsigned int const   )0x21c6418c,      (unsigned int const   )0x8a9ff55d,
        (unsigned int const   )0x714a4fbb,      (unsigned int const   )0xda13fb6a,      (unsigned int const   )0x27f92619,      (unsigned int const   )0x8ca092c8,
        (unsigned int const   )0x520d45f8,      (unsigned int const   )0xf954f129,      (unsigned int const   )0x04be2c5a,      (unsigned int const   )0xafe7988b,
        (unsigned int const   )0x5432226d,      (unsigned int const   )0xff6b96bc,      (unsigned int const   )0x02814bcf,      (unsigned int const   )0xa9d8ff1e,
        (unsigned int const   )0x5e738ad2,      (unsigned int const   )0xf52a3e03,      (unsigned int const   )0x08c0e370,      (unsigned int const   )0xa39957a1,
        (unsigned int const   )0x584ced47,      (unsigned int const   )0xf3155996,      (unsigned int const   )0x0eff84e5,      (unsigned int const   )0xa5a63034,
        (unsigned int const   )0x4af0dbac,      (unsigned int const   )0xe1a96f7d,      (unsigned int const   )0x1c43b20e,      (unsigned int const   )0xb71a06df,
        (unsigned int const   )0x4ccfbc39,      (unsigned int const   )0xe79608e8,      (unsigned int const   )0x1a7cd59b,      (unsigned int const   )0xb125614a,
        (unsigned int const   )0x468e1486,      (unsigned int const   )0xedd7a057,      (unsigned int const   )0x103d7d24,      (unsigned int const   )0xbb64c9f5,
        (unsigned int const   )0x40b17313,      (unsigned int const   )0xebe8c7c2,      (unsigned int const   )0x16021ab1,      (unsigned int const   )0xbd5bae60,
        (unsigned int const   )0x6cb54671,      (unsigned int const   )0xc7ecf2a0,      (unsigned int const   )0x3a062fd3,      (unsigned int const   )0x915f9b02,
        (unsigned int const   )0x6a8a21e4,      (unsigned int const   )0xc1d39535,      (unsigned int const   )0x3c394846,      (unsigned int const   )0x9760fc97,
        (unsigned int const   )0x60cb895b,      (unsigned int const   )0xcb923d8a,      (unsigned int const   )0x3678e0f9,      (unsigned int const   )0x9d215428,
        (unsigned int const   )0x66f4eece,      (unsigned int const   )0xcdad5a1f,      (unsigned int const   )0x3047876c,      (unsigned int const   )0x9b1e33bd,
        (unsigned int const   )0x7448d825,      (unsigned int const   )0xdf116cf4,      (unsigned int const   )0x22fbb187,      (unsigned int const   )0x89a20556,
        (unsigned int const   )0x7277bfb0,      (unsigned int const   )0xd92e0b61,      (unsigned int const   )0x24c4d612,      (unsigned int const   )0x8f9d62c3,
        (unsigned int const   )0x7836170f,      (unsigned int const   )0xd36fa3de,      (unsigned int const   )0x2e857ead,      (unsigned int const   )0x85dcca7c,
        (unsigned int const   )0x7e09709a,      (unsigned int const   )0xd550c44b,      (unsigned int const   )0x28ba1938,      (unsigned int const   )0x83e3ade9,
        (unsigned int const   )0x5d4e7ad9,      (unsigned int const   )0xf617ce08,      (unsigned int const   )0x0bfd137b,      (unsigned int const   )0xa0a4a7aa,
        (unsigned int const   )0x5b711d4c,      (unsigned int const   )0xf028a99d,      (unsigned int const   )0x0dc274ee,      (unsigned int const   )0xa69bc03f,
        (unsigned int const   )0x5130b5f3,      (unsigned int const   )0xfa690122,      (unsigned int const   )0x0783dc51,      (unsigned int const   )0xacda6880,
        (unsigned int const   )0x570fd266,      (unsigned int const   )0xfc5666b7,      (unsigned int const   )0x01bcbbc4,      (unsigned int const   )0xaae50f15,
        (unsigned int const   )0x45b3e48d,      (unsigned int const   )0xeeea505c,      (unsigned int const   )0x13008d2f,      (unsigned int const   )0xb85939fe,
        (unsigned int const   )0x438c8318,      (unsigned int const   )0xe8d537c9,      (unsigned int const   )0x153feaba,      (unsigned int const   )0xbe665e6b,
        (unsigned int const   )0x49cd2ba7,      (unsigned int const   )0xe2949f76,      (unsigned int const   )0x1f7e4205,      (unsigned int const   )0xb427f6d4,
        (unsigned int const   )0x4ff24c32,      (unsigned int const   )0xe4abf8e3,      (unsigned int const   )0x19412590,      (unsigned int const   )0xb2189141,
        (unsigned int const   )0x0f433f21,      (unsigned int const   )0xa41a8bf0,      (unsigned int const   )0x59f05683,      (unsigned int const   )0xf2a9e252,
        (unsigned int const   )0x097c58b4,      (unsigned int const   )0xa225ec65,      (unsigned int const   )0x5fcf3116,      (unsigned int const   )0xf49685c7,
        (unsigned int const   )0x033df00b,      (unsigned int const   )0xa86444da,      (unsigned int const   )0x558e99a9,      (unsigned int const   )0xfed72d78,
        (unsigned int const   )0x0502979e,      (unsigned int const   )0xae5b234f,      (unsigned int const   )0x53b1fe3c,      (unsigned int const   )0xf8e84aed,
        (unsigned int const   )0x17bea175,      (unsigned int const   )0xbce715a4,      (unsigned int const   )0x410dc8d7,      (unsigned int const   )0xea547c06,
        (unsigned int const   )0x1181c6e0,      (unsigned int const   )0xbad87231,      (unsigned int const   )0x4732af42,      (unsigned int const   )0xec6b1b93,
        (unsigned int const   )0x1bc06e5f,      (unsigned int const   )0xb099da8e,      (unsigned int const   )0x4d7307fd,      (unsigned int const   )0xe62ab32c,
        (unsigned int const   )0x1dff09ca,      (unsigned int const   )0xb6a6bd1b,      (unsigned int const   )0x4b4c6068,      (unsigned int const   )0xe015d4b9,
        (unsigned int const   )0x3eb80389,      (unsigned int const   )0x95e1b758,      (unsigned int const   )0x680b6a2b,      (unsigned int const   )0xc352defa,
        (unsigned int const   )0x3887641c,      (unsigned int const   )0x93ded0cd,      (unsigned int const   )0x6e340dbe,      (unsigned int const   )0xc56db96f,
        (unsigned int const   )0x32c6cca3,      (unsigned int const   )0x999f7872,      (unsigned int const   )0x6475a501,      (unsigned int const   )0xcf2c11d0,
        (unsigned int const   )0x34f9ab36,      (unsigned int const   )0x9fa01fe7,      (unsigned int const   )0x624ac294,      (unsigned int const   )0xc9137645,
        (unsigned int const   )0x26459ddd,      (unsigned int const   )0x8d1c290c,      (unsigned int const   )0x70f6f47f,      (unsigned int const   )0xdbaf40ae,
        (unsigned int const   )0x207afa48,      (unsigned int const   )0x8b234e99,      (unsigned int const   )0x76c993ea,      (unsigned int const   )0xdd90273b,
        (unsigned int const   )0x2a3b52f7,      (unsigned int const   )0x8162e626,      (unsigned int const   )0x7c883b55,      (unsigned int const   )0xd7d18f84,
        (unsigned int const   )0x2c043562,      (unsigned int const   )0x875d81b3,      (unsigned int const   )0x7ab75cc0,      (unsigned int const   )0xd1eee811};
static unsigned int const   U___0[256]  =
  {      (unsigned int const   )0x00000000,      (unsigned int const   )0x7eb5200d,      (unsigned int const   )0x5633f4cb,      (unsigned int const   )0x2886d4c6,
        (unsigned int const   )0x073e5d47,      (unsigned int const   )0x798b7d4a,      (unsigned int const   )0x510da98c,      (unsigned int const   )0x2fb88981,
        (unsigned int const   )0x0e7cba8e,      (unsigned int const   )0x70c99a83,      (unsigned int const   )0x584f4e45,      (unsigned int const   )0x26fa6e48,
        (unsigned int const   )0x0942e7c9,      (unsigned int const   )0x77f7c7c4,      (unsigned int const   )0x5f711302,      (unsigned int const   )0x21c4330f,
        (unsigned int const   )0x1cf9751c,      (unsigned int const   )0x624c5511,      (unsigned int const   )0x4aca81d7,      (unsigned int const   )0x347fa1da,
        (unsigned int const   )0x1bc7285b,      (unsigned int const   )0x65720856,      (unsigned int const   )0x4df4dc90,      (unsigned int const   )0x3341fc9d,
        (unsigned int const   )0x1285cf92,      (unsigned int const   )0x6c30ef9f,      (unsigned int const   )0x44b63b59,      (unsigned int const   )0x3a031b54,
        (unsigned int const   )0x15bb92d5,      (unsigned int const   )0x6b0eb2d8,      (unsigned int const   )0x4388661e,      (unsigned int const   )0x3d3d4613,
        (unsigned int const   )0x39f2ea38,      (unsigned int const   )0x4747ca35,      (unsigned int const   )0x6fc11ef3,      (unsigned int const   )0x11743efe,
        (unsigned int const   )0x3eccb77f,      (unsigned int const   )0x40799772,      (unsigned int const   )0x68ff43b4,      (unsigned int const   )0x164a63b9,
        (unsigned int const   )0x378e50b6,      (unsigned int const   )0x493b70bb,      (unsigned int const   )0x61bda47d,      (unsigned int const   )0x1f088470,
        (unsigned int const   )0x30b00df1,      (unsigned int const   )0x4e052dfc,      (unsigned int const   )0x6683f93a,      (unsigned int const   )0x1836d937,
        (unsigned int const   )0x250b9f24,      (unsigned int const   )0x5bbebf29,      (unsigned int const   )0x73386bef,      (unsigned int const   )0x0d8d4be2,
        (unsigned int const   )0x2235c263,      (unsigned int const   )0x5c80e26e,      (unsigned int const   )0x740636a8,      (unsigned int const   )0x0ab316a5,
        (unsigned int const   )0x2b7725aa,      (unsigned int const   )0x55c205a7,      (unsigned int const   )0x7d44d161,      (unsigned int const   )0x03f1f16c,
        (unsigned int const   )0x2c4978ed,      (unsigned int const   )0x52fc58e0,      (unsigned int const   )0x7a7a8c26,      (unsigned int const   )0x04cfac2b,
        (unsigned int const   )0x73e5d470,      (unsigned int const   )0x0d50f47d,      (unsigned int const   )0x25d620bb,      (unsigned int const   )0x5b6300b6,
        (unsigned int const   )0x74db8937,      (unsigned int const   )0x0a6ea93a,      (unsigned int const   )0x22e87dfc,      (unsigned int const   )0x5c5d5df1,
        (unsigned int const   )0x7d996efe,      (unsigned int const   )0x032c4ef3,      (unsigned int const   )0x2baa9a35,      (unsigned int const   )0x551fba38,
        (unsigned int const   )0x7aa733b9,      (unsigned int const   )0x041213b4,      (unsigned int const   )0x2c94c772,      (unsigned int const   )0x5221e77f,
        (unsigned int const   )0x6f1ca16c,      (unsigned int const   )0x11a98161,      (unsigned int const   )0x392f55a7,      (unsigned int const   )0x479a75aa,
        (unsigned int const   )0x6822fc2b,      (unsigned int const   )0x1697dc26,      (unsigned int const   )0x3e1108e0,      (unsigned int const   )0x40a428ed,
        (unsigned int const   )0x61601be2,      (unsigned int const   )0x1fd53bef,      (unsigned int const   )0x3753ef29,      (unsigned int const   )0x49e6cf24,
        (unsigned int const   )0x665e46a5,      (unsigned int const   )0x18eb66a8,      (unsigned int const   )0x306db26e,      (unsigned int const   )0x4ed89263,
        (unsigned int const   )0x4a173e48,      (unsigned int const   )0x34a21e45,      (unsigned int const   )0x1c24ca83,      (unsigned int const   )0x6291ea8e,
        (unsigned int const   )0x4d29630f,      (unsigned int const   )0x339c4302,      (unsigned int const   )0x1b1a97c4,      (unsigned int const   )0x65afb7c9,
        (unsigned int const   )0x446b84c6,      (unsigned int const   )0x3adea4cb,      (unsigned int const   )0x1258700d,      (unsigned int const   )0x6ced5000,
        (unsigned int const   )0x4355d981,      (unsigned int const   )0x3de0f98c,      (unsigned int const   )0x15662d4a,      (unsigned int const   )0x6bd30d47,
        (unsigned int const   )0x56ee4b54,      (unsigned int const   )0x285b6b59,      (unsigned int const   )0x00ddbf9f,      (unsigned int const   )0x7e689f92,
        (unsigned int const   )0x51d01613,      (unsigned int const   )0x2f65361e,      (unsigned int const   )0x07e3e2d8,      (unsigned int const   )0x7956c2d5,
        (unsigned int const   )0x5892f1da,      (unsigned int const   )0x2627d1d7,      (unsigned int const   )0x0ea10511,      (unsigned int const   )0x7014251c,
        (unsigned int const   )0x5facac9d,      (unsigned int const   )0x21198c90,      (unsigned int const   )0x099f5856,      (unsigned int const   )0x772a785b,
        (unsigned int const   )0x4c921c31,      (unsigned int const   )0x32273c3c,      (unsigned int const   )0x1aa1e8fa,      (unsigned int const   )0x6414c8f7,
        (unsigned int const   )0x4bac4176,      (unsigned int const   )0x3519617b,      (unsigned int const   )0x1d9fb5bd,      (unsigned int const   )0x632a95b0,
        (unsigned int const   )0x42eea6bf,      (unsigned int const   )0x3c5b86b2,      (unsigned int const   )0x14dd5274,      (unsigned int const   )0x6a687279,
        (unsigned int const   )0x45d0fbf8,      (unsigned int const   )0x3b65dbf5,      (unsigned int const   )0x13e30f33,      (unsigned int const   )0x6d562f3e,
        (unsigned int const   )0x506b692d,      (unsigned int const   )0x2ede4920,      (unsigned int const   )0x06589de6,      (unsigned int const   )0x78edbdeb,
        (unsigned int const   )0x5755346a,      (unsigned int const   )0x29e01467,      (unsigned int const   )0x0166c0a1,      (unsigned int const   )0x7fd3e0ac,
        (unsigned int const   )0x5e17d3a3,      (unsigned int const   )0x20a2f3ae,      (unsigned int const   )0x08242768,      (unsigned int const   )0x76910765,
        (unsigned int const   )0x59298ee4,      (unsigned int const   )0x279caee9,      (unsigned int const   )0x0f1a7a2f,      (unsigned int const   )0x71af5a22,
        (unsigned int const   )0x7560f609,      (unsigned int const   )0x0bd5d604,      (unsigned int const   )0x235302c2,      (unsigned int const   )0x5de622cf,
        (unsigned int const   )0x725eab4e,      (unsigned int const   )0x0ceb8b43,      (unsigned int const   )0x246d5f85,      (unsigned int const   )0x5ad87f88,
        (unsigned int const   )0x7b1c4c87,      (unsigned int const   )0x05a96c8a,      (unsigned int const   )0x2d2fb84c,      (unsigned int const   )0x539a9841,
        (unsigned int const   )0x7c2211c0,      (unsigned int const   )0x029731cd,      (unsigned int const   )0x2a11e50b,      (unsigned int const   )0x54a4c506,
        (unsigned int const   )0x69998315,      (unsigned int const   )0x172ca318,      (unsigned int const   )0x3faa77de,      (unsigned int const   )0x411f57d3,
        (unsigned int const   )0x6ea7de52,      (unsigned int const   )0x1012fe5f,      (unsigned int const   )0x38942a99,      (unsigned int const   )0x46210a94,
        (unsigned int const   )0x67e5399b,      (unsigned int const   )0x19501996,      (unsigned int const   )0x31d6cd50,      (unsigned int const   )0x4f63ed5d,
        (unsigned int const   )0x60db64dc,      (unsigned int const   )0x1e6e44d1,      (unsigned int const   )0x36e89017,      (unsigned int const   )0x485db01a,
        (unsigned int const   )0x3f77c841,      (unsigned int const   )0x41c2e84c,      (unsigned int const   )0x69443c8a,      (unsigned int const   )0x17f11c87,
        (unsigned int const   )0x38499506,      (unsigned int const   )0x46fcb50b,      (unsigned int const   )0x6e7a61cd,      (unsigned int const   )0x10cf41c0,
        (unsigned int const   )0x310b72cf,      (unsigned int const   )0x4fbe52c2,      (unsigned int const   )0x67388604,      (unsigned int const   )0x198da609,
        (unsigned int const   )0x36352f88,      (unsigned int const   )0x48800f85,      (unsigned int const   )0x6006db43,      (unsigned int const   )0x1eb3fb4e,
        (unsigned int const   )0x238ebd5d,      (unsigned int const   )0x5d3b9d50,      (unsigned int const   )0x75bd4996,      (unsigned int const   )0x0b08699b,
        (unsigned int const   )0x24b0e01a,      (unsigned int const   )0x5a05c017,      (unsigned int const   )0x728314d1,      (unsigned int const   )0x0c3634dc,
        (unsigned int const   )0x2df207d3,      (unsigned int const   )0x534727de,      (unsigned int const   )0x7bc1f318,      (unsigned int const   )0x0574d315,
        (unsigned int const   )0x2acc5a94,      (unsigned int const   )0x54797a99,      (unsigned int const   )0x7cffae5f,      (unsigned int const   )0x024a8e52,
        (unsigned int const   )0x06852279,      (unsigned int const   )0x78300274,      (unsigned int const   )0x50b6d6b2,      (unsigned int const   )0x2e03f6bf,
        (unsigned int const   )0x01bb7f3e,      (unsigned int const   )0x7f0e5f33,      (unsigned int const   )0x57888bf5,      (unsigned int const   )0x293dabf8,
        (unsigned int const   )0x08f998f7,      (unsigned int const   )0x764cb8fa,      (unsigned int const   )0x5eca6c3c,      (unsigned int const   )0x207f4c31,
        (unsigned int const   )0x0fc7c5b0,      (unsigned int const   )0x7172e5bd,      (unsigned int const   )0x59f4317b,      (unsigned int const   )0x27411176,
        (unsigned int const   )0x1a7c5765,      (unsigned int const   )0x64c97768,      (unsigned int const   )0x4c4fa3ae,      (unsigned int const   )0x32fa83a3,
        (unsigned int const   )0x1d420a22,      (unsigned int const   )0x63f72a2f,      (unsigned int const   )0x4b71fee9,      (unsigned int const   )0x35c4dee4,
        (unsigned int const   )0x1400edeb,      (unsigned int const   )0x6ab5cde6,      (unsigned int const   )0x42331920,      (unsigned int const   )0x3c86392d,
        (unsigned int const   )0x133eb0ac,      (unsigned int const   )0x6d8b90a1,      (unsigned int const   )0x450d4467,      (unsigned int const   )0x3bb8646a};
struct delta_index *create_delta_index(void const   *buf___19 , unsigned long bufsize )
{
  unsigned int i ;
  unsigned int hsize ;
  unsigned int hmask ;
  unsigned int entries___1 ;
  unsigned int prev_val ;
  unsigned int *hash_count ;
  unsigned char const   *data ;
  unsigned char const   *buffer___5 ;
  struct delta_index *index___2 ;
  struct unpacked_index_entry *entry ;
  struct unpacked_index_entry **hash___0 ;
  struct index_entry *packed_entry ;
  struct index_entry **packed_hash ;
  void *mem ;
  unsigned long memsize ;
  void *tmp ;
  unsigned int val ;
  struct unpacked_index_entry *tmp___0 ;
  int acc ;
  struct unpacked_index_entry *keep___0 ;
  struct index_entry *tmp___1 ;

  {
  buffer___5 = (unsigned char const   *)buf___19;
  if (! buf___19) {
    return ((struct delta_index *)((void *)0));
  } else
  if (! bufsize) {
    return ((struct delta_index *)((void *)0));
  }
  entries___1 = (unsigned int )((bufsize - 1UL) / 16UL);
  if (bufsize >= 0xffffffffUL) {
    entries___1 = 268435455U;
  }
  hsize = entries___1 / 4U;
  i = 4U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (1u << i < hsize)) {
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  hsize = (unsigned int )(1 << i);
  hmask = hsize - 1U;
  memsize = sizeof(*hash___0) * (unsigned long )hsize + sizeof(*entry) * (unsigned long )entries___1;
  mem = malloc(memsize);
  if (! mem) {
    return ((struct delta_index *)((void *)0));
  }
  hash___0 = (struct unpacked_index_entry **)mem;
  mem = (void *)(hash___0 + hsize);
  entry = (struct unpacked_index_entry *)mem;
  memset((void *)hash___0, 0, (unsigned long )hsize * sizeof(*hash___0));
  tmp = calloc((size_t )hsize, sizeof(*hash_count));
  hash_count = (unsigned int *)tmp;
  if (! hash_count) {
    free((void *)hash___0);
    return ((struct delta_index *)((void *)0));
  }
  prev_val = (unsigned int )(~ 0);
  data = (buffer___5 + entries___1 * 16U) - 16;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )data >= (unsigned long )buffer___5)) {
      goto while_break___0;
    }
    val = 0U;
    i = 1U;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i <= 16U)) {
        goto while_break___1;
      }
      val = ((val << 8) | (unsigned int )*(data + i)) ^ (unsigned int )T[val >> 23];
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (val == prev_val) {
      (entry + -1)->entry.ptr = data + 16;
      entries___1 --;
    } else {
      prev_val = val;
      i = val & hmask;
      entry->entry.ptr = data + 16;
      entry->entry.val = val;
      entry->next = *(hash___0 + i);
      tmp___0 = entry;
      entry ++;
      *(hash___0 + i) = tmp___0;
      (*(hash_count + i)) ++;
    }
    data -= 16;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 0U;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < hsize)) {
      goto while_break___2;
    }
    if (*(hash_count + i) <= 64U) {
      goto __Cont;
    }
    entries___1 -= *(hash_count + i) - 64U;
    entry = *(hash___0 + i);
    acc = 0;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      acc = (int )((unsigned int )acc + (*(hash_count + i) - 64U));
      if (acc > 0) {
        keep___0 = entry;
        {
        while (1) {
          while_continue___4: /* CIL Label */ ;
          entry = entry->next;
          acc -= 64;
          if (! (acc > 0)) {
            goto while_break___4;
          }
        }
        while_break___4: /* CIL Label */ ;
        }
        keep___0->next = entry->next;
      }
      entry = entry->next;
      if (! entry) {
        goto while_break___3;
      }
    }
    while_break___3: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  free((void *)hash_count);
  memsize = (sizeof(*index___2) + sizeof(*packed_hash) * (unsigned long )(hsize + 1U)) + sizeof(*packed_entry) * (unsigned long )entries___1;
  mem = malloc(memsize);
  if (! mem) {
    free((void *)hash___0);
    return ((struct delta_index *)((void *)0));
  }
  index___2 = (struct delta_index *)mem;
  index___2->memsize = memsize;
  index___2->src_buf = buf___19;
  index___2->src_size = bufsize;
  index___2->hash_mask = hmask;
  mem = (void *)(index___2->hash);
  packed_hash = (struct index_entry **)mem;
  mem = (void *)(packed_hash + (hsize + 1U));
  packed_entry = (struct index_entry *)mem;
  i = 0U;
  {
  while (1) {
    while_continue___5: /* CIL Label */ ;
    if (! (i < hsize)) {
      goto while_break___5;
    }
    *(packed_hash + i) = packed_entry;
    entry = *(hash___0 + i);
    {
    while (1) {
      while_continue___6: /* CIL Label */ ;
      if (! entry) {
        goto while_break___6;
      }
      tmp___1 = packed_entry;
      packed_entry ++;
      *tmp___1 = entry->entry;
      entry = entry->next;
    }
    while_break___6: /* CIL Label */ ;
    }
    i ++;
  }
  while_break___5: /* CIL Label */ ;
  }
  *(packed_hash + hsize) = packed_entry;
  assert(packed_entry - (struct index_entry *)mem == (long )entries___1);
  free((void *)hash___0);
  return (index___2);
}
}
void free_delta_index(struct delta_index *index___2 )
{


  {
  free((void *)index___2);
  return;
}
}
unsigned long sizeof_delta_index(struct delta_index *index___2 )
{


  {
  if (index___2) {
    return (index___2->memsize);
  } else {
    return (0UL);
  }
}
}
void *create_delta(struct delta_index  const  *index___2 , void const   *trg_buf ,
                   unsigned long trg_size , unsigned long *delta_size , unsigned long max_size___0 )
{
  unsigned int i ;
  unsigned int val ;
  off_t outpos ;
  off_t moff ;
  size_t l ;
  size_t outsize ;
  size_t msize ;
  int inscnt ;
  unsigned char const   *ref_data ;
  unsigned char const   *ref_top ;
  unsigned char const   *data ;
  unsigned char const   *top ;
  unsigned char *out ;
  void *tmp ;
  off_t tmp___0 ;
  off_t tmp___1 ;
  off_t tmp___2 ;
  off_t tmp___3 ;
  off_t tmp___4 ;
  struct index_entry *entry ;
  unsigned char const   *ref ;
  unsigned char const   *src ;
  unsigned int ref_size ;
  unsigned int tmp___5 ;
  unsigned char const   *tmp___6 ;
  off_t tmp___7 ;
  unsigned char const   *tmp___8 ;
  unsigned int left ;
  unsigned char *op ;
  off_t tmp___9 ;
  off_t tmp___10 ;
  off_t tmp___11 ;
  off_t tmp___12 ;
  off_t tmp___13 ;
  off_t tmp___14 ;
  off_t tmp___15 ;
  int j ;
  void *tmp___16 ;
  void *tmp___17 ;

  {
  *delta_size = 0UL;
  if (! trg_buf) {
    return ((void *)0);
  } else
  if (! trg_size) {
    return ((void *)0);
  }
  outpos = (off_t )0;
  outsize = (size_t )8192;
  if (max_size___0) {
    if (outsize >= max_size___0) {
      outsize = (max_size___0 + 34UL) + 1UL;
    }
  }
  tmp = malloc(outsize);
  out = (unsigned char *)tmp;
  if (! out) {
    return ((void *)0);
  }
  l = (size_t )index___2->src_size;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (l >= 128UL)) {
      goto while_break;
    }
    tmp___0 = outpos;
    outpos ++;
    *(out + tmp___0) = (unsigned char )(l | 128UL);
    l >>= 7;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = outpos;
  outpos ++;
  *(out + tmp___1) = (unsigned char )l;
  l = trg_size;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (l >= 128UL)) {
      goto while_break___0;
    }
    tmp___2 = outpos;
    outpos ++;
    *(out + tmp___2) = (unsigned char )(l | 128UL);
    l >>= 7;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___3 = outpos;
  outpos ++;
  *(out + tmp___3) = (unsigned char )l;
  ref_data = (unsigned char const   *)index___2->src_buf;
  ref_top = ref_data + index___2->src_size;
  data = (unsigned char const   *)trg_buf;
  top = (unsigned char const   *)trg_buf + trg_size;
  outpos ++;
  val = 0U;
  i = 0U;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (i < 16U) {
      if (! ((unsigned long )data < (unsigned long )top)) {
        goto while_break___1;
      }
    } else {
      goto while_break___1;
    }
    tmp___4 = outpos;
    outpos ++;
    *(out + tmp___4) = (unsigned char )*data;
    val = ((val << 8) | (unsigned int )*data) ^ (unsigned int )T[val >> 23];
    i ++;
    data ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  inscnt = (int )i;
  moff = (off_t )0;
  msize = (size_t )0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((unsigned long )data < (unsigned long )top)) {
      goto while_break___2;
    }
    if (msize < 4096UL) {
      val ^= (unsigned int )U___0[*(data + -16)];
      val = ((val << 8) | (unsigned int )*data) ^ (unsigned int )T[val >> 23];
      i = val & (unsigned int )index___2->hash_mask;
      entry = index___2->hash[i];
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if (! ((unsigned long )entry < (unsigned long )index___2->hash[i + 1U])) {
          goto while_break___3;
        }
        ref = entry->ptr;
        src = data;
        ref_size = (unsigned int )(ref_top - ref);
        if (entry->val != val) {
          goto __Cont;
        }
        if ((long )ref_size > top - src) {
          ref_size = (unsigned int )(top - src);
        }
        if ((size_t )ref_size <= msize) {
          goto while_break___3;
        }
        {
        while (1) {
          while_continue___4: /* CIL Label */ ;
          tmp___5 = ref_size;
          ref_size --;
          if (tmp___5) {
            tmp___6 = src;
            src ++;
            if (! ((int const   )*tmp___6 == (int const   )*ref)) {
              goto while_break___4;
            }
          } else {
            goto while_break___4;
          }
          ref ++;
        }
        while_break___4: /* CIL Label */ ;
        }
        if (msize < (size_t )(ref - entry->ptr)) {
          msize = (size_t )(ref - entry->ptr);
          moff = entry->ptr - ref_data;
          if (msize >= 4096UL) {
            goto while_break___3;
          }
        }
        __Cont: /* CIL Label */
        entry ++;
      }
      while_break___3: /* CIL Label */ ;
      }
    }
    if (msize < 4UL) {
      if (! inscnt) {
        outpos ++;
      }
      tmp___7 = outpos;
      outpos ++;
      tmp___8 = data;
      data ++;
      *(out + tmp___7) = (unsigned char )*tmp___8;
      inscnt ++;
      if (inscnt == 0x7f) {
        *(out + ((outpos - (off_t )inscnt) - 1L)) = (unsigned char )inscnt;
        inscnt = 0;
      }
      msize = (size_t )0;
    } else {
      if (inscnt) {
        {
        while (1) {
          while_continue___5: /* CIL Label */ ;
          if (moff) {
            if (! ((int const   )*(ref_data + (moff - 1L)) == (int const   )*(data + -1))) {
              goto while_break___5;
            }
          } else {
            goto while_break___5;
          }
          msize ++;
          moff --;
          data --;
          outpos --;
          inscnt --;
          if (inscnt) {
            goto while_continue___5;
          }
          outpos --;
          inscnt --;
          goto while_break___5;
        }
        while_break___5: /* CIL Label */ ;
        }
        *(out + ((outpos - (off_t )inscnt) - 1L)) = (unsigned char )inscnt;
        inscnt = 0;
      }
      if (msize < 65536UL) {
        left = 0U;
      } else {
        left = (unsigned int )(msize - 65536UL);
      }
      msize -= (size_t )left;
      tmp___9 = outpos;
      outpos ++;
      op = out + tmp___9;
      i = 128U;
      if (moff & 255L) {
        tmp___10 = outpos;
        outpos ++;
        *(out + tmp___10) = (unsigned char )moff;
        i |= 1U;
      }
      if (moff & 65280L) {
        tmp___11 = outpos;
        outpos ++;
        *(out + tmp___11) = (unsigned char )(moff >> 8);
        i |= 2U;
      }
      if (moff & 16711680L) {
        tmp___12 = outpos;
        outpos ++;
        *(out + tmp___12) = (unsigned char )(moff >> 16);
        i |= 4U;
      }
      if (moff & 4278190080L) {
        tmp___13 = outpos;
        outpos ++;
        *(out + tmp___13) = (unsigned char )(moff >> 24);
        i |= 8U;
      }
      if (msize & 255UL) {
        tmp___14 = outpos;
        outpos ++;
        *(out + tmp___14) = (unsigned char )msize;
        i |= 16U;
      }
      if (msize & 65280UL) {
        tmp___15 = outpos;
        outpos ++;
        *(out + tmp___15) = (unsigned char )(msize >> 8);
        i |= 32U;
      }
      *op = (unsigned char )i;
      data += msize;
      moff = (off_t )((size_t )moff + msize);
      msize = (size_t )left;
      if (moff > 4294967295L) {
        msize = (size_t )0;
      }
      if (msize < 4096UL) {
        val = 0U;
        j = -16;
        {
        while (1) {
          while_continue___6: /* CIL Label */ ;
          if (! (j < 0)) {
            goto while_break___6;
          }
          val = ((val << 8) | (unsigned int )*(data + j)) ^ (unsigned int )T[val >> 23];
          j ++;
        }
        while_break___6: /* CIL Label */ ;
        }
      }
    }
    if ((size_t )outpos >= outsize - 34UL) {
      tmp___16 = (void *)out;
      outsize = (outsize * 3UL) / 2UL;
      if (max_size___0) {
        if (outsize >= max_size___0) {
          outsize = (max_size___0 + 34UL) + 1UL;
        }
      }
      if (max_size___0) {
        if ((unsigned long )outpos > max_size___0) {
          goto while_break___2;
        }
      }
      tmp___17 = realloc((void *)out, outsize);
      out = (unsigned char *)tmp___17;
      if (! out) {
        free(tmp___16);
        return ((void *)0);
      }
    }
  }
  while_break___2: /* CIL Label */ ;
  }
  if (inscnt) {
    *(out + ((outpos - (off_t )inscnt) - 1L)) = (unsigned char )inscnt;
  }
  if (max_size___0) {
    if ((unsigned long )outpos > max_size___0) {
      free((void *)out);
      return ((void *)0);
    }
  }
  *delta_size = (unsigned long )outpos;
  return ((void *)out);
}
}
int diff_merges_config(char const   *value ) ;
void diff_merges_suppress_m_parsing(void) ;
int diff_merges_parse_opts(struct rev_info *revs , char const   **argv___0 ) ;
void diff_merges_suppress(struct rev_info *revs ) ;
void diff_merges_default_to_first_parent(struct rev_info *revs ) ;
void diff_merges_default_to_dense_combined(struct rev_info *revs ) ;
void diff_merges_set_dense_combined_if_unset(struct rev_info *revs ) ;
void diff_merges_setup_revs(struct rev_info *revs ) ;
static double const   __ac_HASH_UPPER___22  =    (double const   )0.77;
__inline static void kh_resize_oid_set___22(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___22(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___22 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___22 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___22(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___22(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___22(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___22(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___22(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___22(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___22 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___22 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___22(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___22(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___22(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___22(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___22(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___22(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___22 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___22 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___22(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___22(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___22(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___22(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void set_separate(struct rev_info *revs ) ;
static void (*set_to_default)(struct rev_info * )  =    & set_separate;
static int suppress_m_parsing  ;
static void suppress(struct rev_info *revs )
{


  {
  revs->separate_merges = 0U;
  revs->first_parent_merges = 0U;
  revs->combine_merges = 0U;
  revs->dense_combined_merges = 0U;
  revs->combined_all_paths = 0U;
  revs->merges_imply_patch = 0U;
  revs->merges_need_diff = 0U;
  return;
}
}
static void set_separate(struct rev_info *revs )
{


  {
  suppress(revs);
  revs->separate_merges = 1U;
  return;
}
}
static void set_first_parent(struct rev_info *revs )
{


  {
  set_separate(revs);
  revs->first_parent_merges = 1U;
  return;
}
}
static void set_combined(struct rev_info *revs )
{


  {
  suppress(revs);
  revs->combine_merges = 1U;
  revs->dense_combined_merges = 0U;
  return;
}
}
static void set_dense_combined(struct rev_info *revs )
{


  {
  suppress(revs);
  revs->combine_merges = 1U;
  revs->dense_combined_merges = 1U;
  return;
}
}
static diff_merges_setup_func_t func_by_opt(char const   *optarg___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  tmp = strcmp(optarg___0, (char const   *)"off");
  if (tmp) {
    tmp___0 = strcmp(optarg___0, (char const   *)"none");
    if (! tmp___0) {
      return (& suppress);
    }
  } else {
    return (& suppress);
  }
  tmp___8 = strcmp(optarg___0, (char const   *)"1");
  if (tmp___8) {
    tmp___9 = strcmp(optarg___0, (char const   *)"first-parent");
    if (tmp___9) {
      tmp___7 = strcmp(optarg___0, (char const   *)"separate");
      if (tmp___7) {
        tmp___5 = strcmp(optarg___0, (char const   *)"c");
        if (tmp___5) {
          tmp___6 = strcmp(optarg___0, (char const   *)"combined");
          if (tmp___6) {
            tmp___3 = strcmp(optarg___0, (char const   *)"cc");
            if (tmp___3) {
              tmp___4 = strcmp(optarg___0, (char const   *)"dense-combined");
              if (tmp___4) {
                tmp___1 = strcmp(optarg___0, (char const   *)"m");
                if (tmp___1) {
                  tmp___2 = strcmp(optarg___0, (char const   *)"on");
                  if (! tmp___2) {
                    return (set_to_default);
                  }
                } else {
                  return (set_to_default);
                }
              } else {
                return (& set_dense_combined);
              }
            } else {
              return (& set_dense_combined);
            }
          } else {
            return (& set_combined);
          }
        } else {
          return (& set_combined);
        }
      } else {
        return (& set_separate);
      }
    } else {
      return (& set_first_parent);
    }
  } else {
    return (& set_first_parent);
  }
  return ((diff_merges_setup_func_t )((void *)0));
}
}
static void set_diff_merges(struct rev_info *revs , char const   *optarg___0 )
{
  void (*func)(struct rev_info * ) ;
  diff_merges_setup_func_t tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  tmp = func_by_opt(optarg___0);
  func = tmp;
  if (! func) {
    tmp___0 = _((char const   *)"unknown value for --diff-merges: %s");
    die((char const   *)tmp___0, optarg___0);
  }
  (*func)(revs);
  if ((unsigned long )func != (unsigned long )(& suppress)) {
    revs->merges_need_diff = 1U;
  }
  return;
}
}
int diff_merges_config(char const   *value )
{
  void (*func)(struct rev_info * ) ;
  diff_merges_setup_func_t tmp ;

  {
  tmp = func_by_opt(value);
  func = tmp;
  if (! func) {
    return (-1);
  }
  set_to_default = func;
  return (0);
}
}
void diff_merges_suppress_m_parsing(void)
{


  {
  suppress_m_parsing = 1;
  return;
}
}
int diff_merges_parse_opts(struct rev_info *revs , char const   **argv___0 )
{
  int argcount ;
  char const   *optarg___0 ;
  char const   *arg ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  argcount = 1;
  arg = *(argv___0 + 0);
  if (! suppress_m_parsing) {
    tmp___3 = strcmp(arg, (char const   *)"-m");
    if (tmp___3) {
      goto _L;
    } else {
      (*set_to_default)(revs);
    }
  } else {
    _L: /* CIL Label */
    tmp___2 = strcmp(arg, (char const   *)"-c");
    if (tmp___2) {
      tmp___1 = strcmp(arg, (char const   *)"--cc");
      if (tmp___1) {
        tmp___0 = strcmp(arg, (char const   *)"--no-diff-merges");
        if (tmp___0) {
          tmp = strcmp(arg, (char const   *)"--combined-all-paths");
          if (tmp) {
            argcount = parse_long_opt((char const   *)"diff-merges", argv___0, & optarg___0);
            if (argcount) {
              set_diff_merges(revs, optarg___0);
            } else {
              return (0);
            }
          } else {
            revs->combined_all_paths = 1U;
          }
        } else {
          suppress(revs);
        }
      } else {
        set_dense_combined(revs);
        revs->merges_imply_patch = 1U;
      }
    } else {
      set_combined(revs);
      revs->merges_imply_patch = 1U;
    }
  }
  revs->explicit_diff_merges = 1U;
  return (argcount);
}
}
void diff_merges_suppress(struct rev_info *revs )
{


  {
  suppress(revs);
  return;
}
}
void diff_merges_default_to_first_parent(struct rev_info *revs )
{


  {
  if (! revs->explicit_diff_merges) {
    revs->separate_merges = 1U;
  }
  if (revs->separate_merges) {
    revs->first_parent_merges = 1U;
  }
  return;
}
}
void diff_merges_default_to_dense_combined(struct rev_info *revs )
{


  {
  if (! revs->explicit_diff_merges) {
    set_dense_combined(revs);
  }
  return;
}
}
void diff_merges_set_dense_combined_if_unset(struct rev_info *revs )
{


  {
  if (! revs->combine_merges) {
    set_dense_combined(revs);
  }
  return;
}
}
void diff_merges_setup_revs(struct rev_info *revs )
{


  {
  if (revs->combine_merges == 0U) {
    revs->dense_combined_merges = 0U;
  }
  if (revs->separate_merges == 0U) {
    revs->first_parent_merges = 0U;
  }
  if (revs->combined_all_paths) {
    if (! revs->combine_merges) {
      die((char const   *)"--combined-all-paths makes no sense without -c or --cc");
    }
  }
  if (revs->merges_imply_patch) {
    revs->diff = 1U;
  }
  if (revs->merges_imply_patch) {
    goto _L;
  } else
  if (revs->merges_need_diff) {
    _L: /* CIL Label */
    if (! revs->diffopt.output_format) {
      revs->diffopt.output_format = 0x0010;
    }
  }
  return;
}
}
static double const   __ac_HASH_UPPER___23  =    (double const   )0.77;
__inline static void kh_resize_oid_set___23(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___23(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___23 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___23 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___23(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___23(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___23(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___23(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___23(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___23(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___23 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___23 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___23(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___23(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___23(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___23(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___23(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___23(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___23 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___23 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___23(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___23(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___23(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___23(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
int is_gitmodules_unmerged(struct index_state *istate ) ;
int is_writing_gitmodules_ok(void) ;
int is_staging_gitmodules_ok(struct index_state *istate ) ;
int update_path_in_gitmodules(char const   *oldpath , char const   *newpath ) ;
int remove_path_from_gitmodules(char const   *path___6 ) ;
void stage_updated_gitmodules(struct index_state *istate ) ;
void set_diffopt_flags_from_submodule_config(struct diff_options *diffopt , char const   *path___6 ) ;
int git_default_submodule_config(char const   *var , char const   *value , void *cb ) ;
int option_parse_recurse_submodules_worktree_updater(struct option  const  *opt___0 ,
                                                     char const   *arg , int unset ) ;
int is_submodule_active(struct repository *repo , char const   *path___6 ) ;
int is_submodule_populated_gently(char const   *path___6 , int *return_error_code ) ;
void die_in_unpopulated_submodule(struct index_state *istate , char const   *prefix___1 ) ;
void die_path_inside_submodule(struct index_state *istate , struct pathspec  const  *ps ) ;
enum submodule_update_type parse_submodule_update_type(char const   *value ) ;
int parse_submodule_update_strategy(char const   *value , struct submodule_update_strategy *dst ) ;
char const   *submodule_strategy_to_string(struct submodule_update_strategy  const  *s___1 ) ;
void handle_ignore_submodules_arg(struct diff_options *diffopt , char const   *arg ) ;
void show_submodule_diff_summary(struct diff_options *o , char const   *path___6 ,
                                 struct object_id *one___0 , struct object_id *two___0 ,
                                 unsigned int dirty_submodule ) ;
void show_submodule_inline_diff(struct diff_options *o , char const   *path___6 ,
                                struct object_id *one___0 , struct object_id *two___0 ,
                                unsigned int dirty_submodule ) ;
int should_update_submodules(void) ;
struct submodule  const  *submodule_from_ce(struct cache_entry  const  *ce ) ;
void check_for_new_submodule_commits(struct object_id *oid ) ;
int fetch_populated_submodules(struct repository *r , struct strvec  const  *options ,
                               char const   *prefix___1 , int command_line_option ,
                               int default_option , int quiet___7 , int max_parallel_jobs ) ;
unsigned int is_submodule_modified(char const   *path___6 , int ignore_untracked ) ;
int submodule_uses_gitfile(char const   *path___6 ) ;
int bad_to_remove_submodule(char const   *path___6 , unsigned int flags___0 ) ;
int add_submodule_odb(char const   *path___6 ) ;
void add_submodule_odb_by_path(char const   *path___6 ) ;
int register_all_submodule_odb_as_alternates(void) ;
int submodule_touches_in_range(struct repository *r , struct object_id *excl_oid ,
                               struct object_id *incl_oid ) ;
int find_unpushed_submodules(struct repository *r , struct oid_array *commits , char const   *remotes_name ,
                             struct string_list *needs_pushing ) ;
int push_unpushed_submodules(struct repository *r , struct oid_array *commits , struct remote  const  *remote ,
                             struct refspec  const  *rs___0 , struct string_list  const  *push_options ,
                             int dry_run___3 ) ;
int submodule_to_gitdir(struct strbuf *buf___19 , char const   *submodule ) ;
void submodule_name_to_gitdir(struct strbuf *buf___19 , struct repository *r , char const   *submodule_name ) ;
int validate_submodule_git_dir(char *git_dir , char const   *submodule_name ) ;
int submodule_move_head(char const   *path___6 , char const   *old_head , char const   *new_head ,
                        unsigned int flags___0 ) ;
void submodule_unset_core_worktree(struct submodule  const  *sub ) ;
void prepare_submodule_repo_env(struct strvec *out ) ;
void absorb_git_dir_into_superproject(char const   *path___6 , unsigned int flags___0 ) ;
int get_superproject_working_tree(struct strbuf *buf___19 ) ;
struct trace_key trace_fsmonitor ;
int read_fsmonitor_extension(struct index_state *istate , void const   *data , unsigned long sz ) ;
void fill_fsmonitor_bitmap(struct index_state *istate ) ;
void write_fsmonitor_extension(struct strbuf *sb___6 , struct index_state *istate ) ;
void add_fsmonitor(struct index_state *istate ) ;
void remove_fsmonitor(struct index_state *istate ) ;
void tweak_fsmonitor(struct index_state *istate ) ;
void refresh_fsmonitor(struct index_state *istate ) ;
int fsmonitor_is_trivial_response(struct strbuf  const  *query_result ) ;
__inline static int is_fsmonitor_refreshed(struct index_state  const  *istate )
{
  int tmp ;

  {
  if (! core_fsmonitor) {
    tmp = 1;
  } else
  if (istate->fsmonitor_has_run_once) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
__inline static void mark_fsmonitor_valid(struct index_state *istate , struct cache_entry *ce )
{
  int tmp ;

  {
  if (core_fsmonitor) {
    if (! (ce->ce_flags & (unsigned int )(1 << 21))) {
      istate->cache_changed = 1U;
      ce->ce_flags |= (unsigned int )(1 << 21);
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        tmp = trace_pass_fl(& trace_fsmonitor);
        if (tmp) {
          trace_printf_key_fl((char const   *)"fsmonitor.h", 73, & trace_fsmonitor,
                              (char const   *)"mark_fsmonitor_clean \'%s\'", ce->name);
        }
        goto while_break;
      }
      while_break: /* CIL Label */ ;
      }
    }
  }
  return;
}
}
__inline static void mark_fsmonitor_invalid(struct index_state *istate , struct cache_entry *ce )
{
  int tmp ;

  {
  if (core_fsmonitor) {
    ce->ce_flags &= (unsigned int )(~ (1 << 21));
    untracked_cache_invalidate_path(istate, (char const   *)(ce->name), 1);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp = trace_pass_fl(& trace_fsmonitor);
      if (tmp) {
        trace_printf_key_fl((char const   *)"fsmonitor.h", 89, & trace_fsmonitor,
                            (char const   *)"mark_fsmonitor_invalid \'%s\'", ce->name);
      }
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
  }
  return;
}
}
static void init_contains_cache_with_stride___2(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___2(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___2(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___2(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___2(s___1, 1U);
  return;
}
}
static void clear_contains_cache___2(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___2(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___2(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___2(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___2(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___2(struct contains_cache *s___1 ,
                                                        struct commit  const  *c___0 ,
                                                        int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___2(struct contains_cache *s___1 ,
                                                        struct commit  const  *c___0 ,
                                                        int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___2(struct contains_cache *s___1 ,
                                                   struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___2(struct contains_cache *s___1 ,
                                                   struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___2(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___2(struct contains_cache *s___1 ,
                                                     struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___2(struct contains_cache *s___1 ,
                                                     struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___2(s___1, c___0, 0);
  return (tmp);
}
}
static int check_removed(struct index_state  const  *istate , struct cache_entry  const  *ce ,
                         struct stat *st )
{
  int tmp ;
  int *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  struct object_id sub ;
  int tmp___4 ;

  {
  tmp = is_fsmonitor_refreshed(istate);
  assert(tmp);
  if (! (ce->ce_flags & (unsigned int )(1 << 21))) {
    tmp___2 = lstat((char const   *)(ce->name), st);
    if (tmp___2 < 0) {
      tmp___0 = __errno_location();
      tmp___1 = is_missing_file_error(*tmp___0);
      if (! tmp___1) {
        return (-1);
      }
      return (1);
    }
  }
  tmp___3 = has_symlink_leading_path((char const   *)(ce->name), (int )ce->ce_namelen);
  if (tmp___3) {
    return (1);
  }
  if ((st->st_mode & 61440U) == 16384U) {
    if (! ((ce->ce_mode & 61440U) == 57344U)) {
      tmp___4 = resolve_gitlink_ref((char const   *)(ce->name), (char const   *)"HEAD",
                                    & sub);
      if (tmp___4) {
        return (1);
      }
    }
  }
  return (0);
}
}
static int match_stat_with_submodule(struct diff_options *diffopt , struct cache_entry  const  *ce ,
                                     struct stat *st , unsigned int ce_option , unsigned int *dirty_submodule )
{
  int changed ;
  int tmp ;
  struct diff_flags orig_flags ;

  {
  tmp = ie_match_stat((diffopt->repo)->index, ce, st, ce_option);
  changed = tmp;
  if ((ce->ce_mode & 61440U) == 57344U) {
    orig_flags = diffopt->flags;
    if (! diffopt->flags.override_submodule_config) {
      set_diffopt_flags_from_submodule_config(diffopt, (char const   *)(ce->name));
    }
    if (diffopt->flags.ignore_submodules) {
      changed = 0;
    } else
    if (! diffopt->flags.ignore_dirty_submodules) {
      if (! changed) {
        *dirty_submodule = is_submodule_modified((char const   *)(ce->name), (int )diffopt->flags.ignore_untracked_in_submodules);
      } else
      if (diffopt->flags.dirty_submodules) {
        *dirty_submodule = is_submodule_modified((char const   *)(ce->name), (int )diffopt->flags.ignore_untracked_in_submodules);
      }
    }
    diffopt->flags = orig_flags;
  }
  return (changed);
}
}
int run_diff_files(struct rev_info *revs , unsigned int option )
{
  int entries___1 ;
  int i ;
  int diff_unmerged_stage ;
  unsigned int ce_option ;
  int tmp ;
  uint64_t start ;
  uint64_t tmp___0 ;
  struct index_state *istate ;
  unsigned int oldmode ;
  unsigned int newmode ;
  struct cache_entry *ce ;
  int changed ;
  unsigned int dirty_submodule ;
  struct object_id  const  *old_oid ;
  struct object_id  const  *new_oid ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  struct combine_diff_path *dpath ;
  struct diff_filepair *pair ;
  unsigned int wt_mode ;
  int num_compare_stages ;
  size_t path_len ;
  struct stat st ;
  size_t tmp___4 ;
  size_t tmp___5 ;
  size_t tmp___6 ;
  size_t tmp___7 ;
  void *tmp___8 ;
  struct cache_entry *nce ;
  int stage ;
  int tmp___9 ;
  int mode___1 ;
  struct stat st___0 ;
  int tmp___10 ;
  int tmp___11 ;
  struct object_id  const  *tmp___12 ;
  struct object_id  const  *tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  uint64_t tmp___18 ;
  int tmp___19 ;

  {
  diff_unmerged_stage = revs->max_count;
  if (option & 2U) {
    tmp = 02;
  } else {
    tmp = 0;
  }
  ce_option = (unsigned int )tmp;
  tmp___0 = getnanotime();
  start = tmp___0;
  istate = (revs->diffopt.repo)->index;
  diff_set_mnemonic_prefix(& revs->diffopt, (char const   *)"i/", (char const   *)"w/");
  refresh_fsmonitor(istate);
  if (diff_unmerged_stage < 0) {
    diff_unmerged_stage = 2;
  }
  entries___1 = (int )istate->cache_nr;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < entries___1)) {
      goto while_break;
    }
    ce = *(istate->cache + i);
    dirty_submodule = 0U;
    tmp___1 = diff_can_quit_early(& revs->diffopt);
    if (tmp___1) {
      goto while_break;
    }
    tmp___2 = ce_path_match(istate, (struct cache_entry  const  *)ce, (struct pathspec  const  *)(& revs->prune_data),
                            (char *)((void *)0));
    if (! tmp___2) {
      goto __Cont;
    }
    if (revs->diffopt.prefix) {
      tmp___3 = strncmp((char const   *)(ce->name), revs->diffopt.prefix, (size_t )revs->diffopt.prefix_length);
      if (tmp___3) {
        goto __Cont;
      }
    }
    if ((12288U & ce->ce_flags) >> 12) {
      wt_mode = 0U;
      num_compare_stages = 0;
      path_len = (size_t )ce->ce_namelen;
      tmp___4 = st_mult(sizeof(struct combine_diff_parent ), (size_t )5);
      tmp___5 = st_add(sizeof(struct combine_diff_path ), path_len);
      tmp___6 = st_add(tmp___5, (size_t )1);
      tmp___7 = st_add(tmp___6, tmp___4);
      tmp___8 = xmalloc(tmp___7);
      dpath = (struct combine_diff_path *)tmp___8;
      dpath->path = (char *)(& dpath->parent[5]);
      dpath->next = (struct combine_diff_path *)((void *)0);
      memcpy((void *)dpath->path, (void const   *)(ce->name), path_len);
      *(dpath->path + path_len) = (char )'\000';
      oidclr(& dpath->oid);
      memset((void *)(& dpath->parent[0]), 0, sizeof(struct combine_diff_parent ) * 5UL);
      changed = check_removed((struct index_state  const  *)istate, (struct cache_entry  const  *)ce,
                              & st);
      if (! changed) {
        wt_mode = ce_mode_from_stat((struct cache_entry  const  *)ce, st.st_mode);
      } else {
        if (changed < 0) {
          perror((char const   *)(ce->name));
          goto __Cont;
        }
        wt_mode = 0U;
      }
      dpath->mode = wt_mode;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (i < entries___1)) {
          goto while_break___0;
        }
        nce = *(istate->cache + i);
        tmp___9 = strcmp((char const   *)(ce->name), (char const   *)(nce->name));
        if (tmp___9) {
          goto while_break___0;
        }
        stage = (int )((12288U & nce->ce_flags) >> 12);
        if (2 <= stage) {
          mode___1 = (int )nce->ce_mode;
          num_compare_stages ++;
          oidcpy(& dpath->parent[stage - 2].oid, (struct object_id  const  *)(& nce->oid));
          dpath->parent[stage - 2].mode = ce_mode_from_stat((struct cache_entry  const  *)nce,
                                                            (unsigned int )mode___1);
          dpath->parent[stage - 2].status = (char )'M';
        }
        if (stage == diff_unmerged_stage) {
          ce = nce;
        }
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      i --;
      if (revs->combine_merges) {
        if (num_compare_stages == 2) {
          show_combined_diff(dpath, 2, revs);
          free((void *)dpath);
          goto __Cont;
        }
      }
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        free((void *)dpath);
        dpath = (struct combine_diff_path *)((void *)0);
        goto while_break___1;
      }
      while_break___1: /* CIL Label */ ;
      }
      pair = diff_unmerge(& revs->diffopt, (char const   *)(ce->name));
      if (wt_mode) {
        (pair->two)->mode = (unsigned short )wt_mode;
      }
      if ((12288U & ce->ce_flags) >> 12 != (unsigned int )diff_unmerged_stage) {
        goto __Cont;
      }
    }
    if (ce->ce_flags & (unsigned int )(1 << 18)) {
      goto __Cont;
    } else
    if (ce->ce_flags & (unsigned int )(1 << 30)) {
      goto __Cont;
    }
    if (ce->ce_flags & (unsigned int )(0x8000 | (1 << 21))) {
      changed = 0;
      newmode = ce->ce_mode;
    } else {
      changed = check_removed((struct index_state  const  *)istate, (struct cache_entry  const  *)ce,
                              & st___0);
      if (changed) {
        if (changed < 0) {
          perror((char const   *)(ce->name));
          goto __Cont;
        }
        tmp___10 = is_null_oid((struct object_id  const  *)(& ce->oid));
        if (tmp___10) {
          tmp___11 = 0;
        } else {
          tmp___11 = 1;
        }
        diff_addremove(& revs->diffopt, '-', ce->ce_mode, (struct object_id  const  *)(& ce->oid),
                       tmp___11, (char const   *)(ce->name), 0U);
        goto __Cont;
      } else
      if (revs->diffopt.ita_invisible_in_index) {
        if (ce->ce_flags & (unsigned int )(1 << 29)) {
          newmode = ce_mode_from_stat((struct cache_entry  const  *)ce, st___0.st_mode);
          tmp___12 = null_oid();
          diff_addremove(& revs->diffopt, '+', newmode, tmp___12, 0, (char const   *)(ce->name),
                         0U);
          goto __Cont;
        }
      }
      changed = match_stat_with_submodule(& revs->diffopt, (struct cache_entry  const  *)ce,
                                          & st___0, ce_option, & dirty_submodule);
      newmode = ce_mode_from_stat((struct cache_entry  const  *)ce, st___0.st_mode);
    }
    if (! changed) {
      if (! dirty_submodule) {
        ce->ce_flags |= (unsigned int )(1 << 18);
        mark_fsmonitor_valid(istate, ce);
        if (! revs->diffopt.flags.find_copies_harder) {
          goto __Cont;
        }
      }
    }
    oldmode = ce->ce_mode;
    old_oid = (struct object_id  const  *)(& ce->oid);
    if (changed) {
      tmp___13 = null_oid();
      new_oid = tmp___13;
    } else {
      new_oid = (struct object_id  const  *)(& ce->oid);
    }
    tmp___14 = is_null_oid(new_oid);
    if (tmp___14) {
      tmp___15 = 0;
    } else {
      tmp___15 = 1;
    }
    tmp___16 = is_null_oid(old_oid);
    if (tmp___16) {
      tmp___17 = 0;
    } else {
      tmp___17 = 1;
    }
    diff_change(& revs->diffopt, oldmode, newmode, old_oid, new_oid, tmp___17, tmp___15,
                (char const   *)(ce->name), 0U, dirty_submodule);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  diffcore_std(& revs->diffopt);
  diff_flush(& revs->diffopt);
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    tmp___19 = trace_pass_fl(& trace_perf_key);
    if (tmp___19) {
      tmp___18 = getnanotime();
      trace_performance_fl((char const   *)"diff-lib.c", 266, tmp___18 - start, (char const   *)"diff-files");
    }
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  return (0);
}
}
static void diff_index_show_file(struct rev_info *revs , char const   *prefix___1 ,
                                 struct cache_entry  const  *ce , struct object_id  const  *oid ,
                                 int oid_valid , unsigned int mode___1 , unsigned int dirty_submodule )
{


  {
  diff_addremove(& revs->diffopt, (int )*(prefix___1 + 0), mode___1, oid, oid_valid,
                 (char const   *)(ce->name), dirty_submodule);
  return;
}
}
static int get_stat_data(struct index_state  const  *istate , struct cache_entry  const  *ce ,
                         struct object_id  const  **oidp , unsigned int *modep , int cached ,
                         int match_missing , unsigned int *dirty_submodule , struct diff_options *diffopt )
{
  struct object_id  const  *oid ;
  unsigned int mode___1 ;
  int changed ;
  struct stat st ;

  {
  oid = (struct object_id  const  *)(& ce->oid);
  mode___1 = (unsigned int )ce->ce_mode;
  if (! cached) {
    if (! (ce->ce_flags & (unsigned int )(1 << 18))) {
      changed = check_removed(istate, ce, & st);
      if (changed < 0) {
        return (-1);
      } else
      if (changed) {
        if (match_missing) {
          *oidp = oid;
          *modep = mode___1;
          return (0);
        }
        return (-1);
      }
      changed = match_stat_with_submodule(diffopt, ce, & st, 0U, dirty_submodule);
      if (changed) {
        mode___1 = ce_mode_from_stat(ce, st.st_mode);
        oid = null_oid();
      }
    }
  }
  *oidp = oid;
  *modep = mode___1;
  return (0);
}
}
static void show_new_file(struct rev_info *revs , struct cache_entry  const  *new_file ,
                          int cached , int match_missing )
{
  struct object_id  const  *oid ;
  unsigned int mode___1 ;
  unsigned int dirty_submodule ;
  struct index_state *istate ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  dirty_submodule = 0U;
  istate = (revs->diffopt.repo)->index;
  if (new_file) {
    if (new_file->ce_mode == 16384U) {
      diff_tree_oid((struct object_id  const  *)((void *)0), (struct object_id  const  *)(& new_file->oid),
                    (char const   *)(new_file->name), & revs->diffopt);
      return;
    }
  }
  tmp = get_stat_data((struct index_state  const  *)istate, new_file, & oid, & mode___1,
                      cached, match_missing, & dirty_submodule, & revs->diffopt);
  if (tmp < 0) {
    return;
  }
  tmp___0 = is_null_oid(oid);
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  diff_index_show_file(revs, (char const   *)"+", new_file, oid, tmp___1, mode___1,
                       dirty_submodule);
  return;
}
}
static int show_modified(struct rev_info *revs , struct cache_entry  const  *old_entry ,
                         struct cache_entry  const  *new_entry , int report_missing___0 ,
                         int cached , int match_missing )
{
  unsigned int mode___1 ;
  unsigned int oldmode ;
  struct object_id  const  *oid ;
  unsigned int dirty_submodule ;
  struct index_state *istate ;
  int tmp ;
  struct combine_diff_path *p___0 ;
  int pathlen ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  dirty_submodule = 0U;
  istate = (revs->diffopt.repo)->index;
  assert((old_entry->ce_mode == 16384U) == (new_entry->ce_mode == 16384U));
  if (new_entry->ce_mode == 16384U) {
    diff_tree_oid((struct object_id  const  *)(& old_entry->oid), (struct object_id  const  *)(& new_entry->oid),
                  (char const   *)(new_entry->name), & revs->diffopt);
    return (0);
  }
  tmp = get_stat_data((struct index_state  const  *)istate, new_entry, & oid, & mode___1,
                      cached, match_missing, & dirty_submodule, & revs->diffopt);
  if (tmp < 0) {
    if (report_missing___0) {
      diff_index_show_file(revs, (char const   *)"-", old_entry, (struct object_id  const  *)(& old_entry->oid),
                           1, (unsigned int )old_entry->ce_mode, 0U);
    }
    return (-1);
  }
  if (revs->combine_merges) {
    if (! cached) {
      tmp___5 = oideq(oid, (struct object_id  const  *)(& old_entry->oid));
      if (tmp___5) {
        tmp___6 = oideq((struct object_id  const  *)(& old_entry->oid), (struct object_id  const  *)(& new_entry->oid));
        if (! tmp___6) {
          _L: /* CIL Label */
          pathlen = (int )new_entry->ce_namelen;
          tmp___0 = st_mult(sizeof(struct combine_diff_parent ), (size_t )2);
          tmp___1 = st_add(sizeof(struct combine_diff_path ), (size_t )pathlen);
          tmp___2 = st_add(tmp___1, (size_t )1);
          tmp___3 = st_add(tmp___2, tmp___0);
          tmp___4 = xmalloc(tmp___3);
          p___0 = (struct combine_diff_path *)tmp___4;
          p___0->path = (char *)(& p___0->parent[2]);
          p___0->next = (struct combine_diff_path *)((void *)0);
          memcpy((void *)p___0->path, (void const   *)(new_entry->name), (size_t )pathlen);
          *(p___0->path + pathlen) = (char)0;
          p___0->mode = mode___1;
          oidclr(& p___0->oid);
          memset((void *)(p___0->parent), 0, 2UL * sizeof(struct combine_diff_parent ));
          p___0->parent[0].status = (char )'M';
          p___0->parent[0].mode = (unsigned int )new_entry->ce_mode;
          oidcpy(& p___0->parent[0].oid, (struct object_id  const  *)(& new_entry->oid));
          p___0->parent[1].status = (char )'M';
          p___0->parent[1].mode = (unsigned int )old_entry->ce_mode;
          oidcpy(& p___0->parent[1].oid, (struct object_id  const  *)(& old_entry->oid));
          show_combined_diff(p___0, 2, revs);
          free((void *)p___0);
          return (0);
        }
      } else {
        goto _L;
      }
    }
  }
  oldmode = (unsigned int )old_entry->ce_mode;
  if (mode___1 == oldmode) {
    tmp___7 = oideq(oid, (struct object_id  const  *)(& old_entry->oid));
    if (tmp___7) {
      if (! dirty_submodule) {
        if (! revs->diffopt.flags.find_copies_harder) {
          return (0);
        }
      }
    }
  }
  tmp___8 = is_null_oid(oid);
  if (tmp___8) {
    tmp___9 = 0;
  } else {
    tmp___9 = 1;
  }
  diff_change(& revs->diffopt, oldmode, mode___1, (struct object_id  const  *)(& old_entry->oid),
              oid, 1, tmp___9, (char const   *)(old_entry->name), 0U, dirty_submodule);
  return (0);
}
}
static void do_oneway_diff(struct unpack_trees_options *o , struct cache_entry  const  *idx___0 ,
                           struct cache_entry  const  *tree )
{
  struct rev_info *revs ;
  int match_missing ;
  int cached ;
  int tmp ;
  struct diff_filepair *pair ;

  {
  revs = (struct rev_info *)o->unpack_data;
  if (o->index_only) {
    if (revs->diffopt.ita_invisible_in_index) {
      if (idx___0) {
        if (idx___0->ce_flags & (unsigned int )(1 << 29)) {
          idx___0 = (struct cache_entry  const  *)((void *)0);
          if (! tree) {
            return;
          }
        }
      }
    }
  }
  if (o->index_only) {
    tmp = 1;
  } else
  if (idx___0) {
    if (idx___0->ce_flags & 32768U) {
      tmp = 1;
    } else
    if (idx___0->ce_flags & (unsigned int )(1 << 30)) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  cached = tmp;
  match_missing = (int )revs->match_missing;
  if (cached) {
    if (idx___0) {
      if ((12288U & idx___0->ce_flags) >> 12) {
        pair = diff_unmerge(& revs->diffopt, (char const   *)(idx___0->name));
        if (tree) {
          fill_filespec(pair->one, (struct object_id  const  *)(& tree->oid), 1, (unsigned short )tree->ce_mode);
        }
        return;
      }
    }
  }
  if (! tree) {
    show_new_file(revs, idx___0, cached, match_missing);
    return;
  }
  if (! idx___0) {
    diff_index_show_file(revs, (char const   *)"-", tree, (struct object_id  const  *)(& tree->oid),
                         1, (unsigned int )tree->ce_mode, 0U);
    return;
  }
  show_modified(revs, tree, idx___0, 1, cached, match_missing);
  return;
}
}
static int oneway_diff(struct cache_entry  const  **src , struct unpack_trees_options *o )
{
  struct cache_entry  const  *idx___0 ;
  struct cache_entry  const  *tree ;
  struct rev_info *revs ;
  int tmp ;
  struct cache_entry  const  *tmp___0 ;
  int tmp___1 ;

  {
  idx___0 = (struct cache_entry  const  *)*(src + 0);
  tree = (struct cache_entry  const  *)*(src + 1);
  revs = (struct rev_info *)o->unpack_data;
  if ((unsigned long )tree == (unsigned long )o->df_conflict_entry) {
    tree = (struct cache_entry  const  *)((void *)0);
  }
  if (idx___0) {
    tmp___0 = idx___0;
  } else {
    tmp___0 = tree;
  }
  tmp___1 = ce_path_match((revs->diffopt.repo)->index, tmp___0, (struct pathspec  const  *)(& revs->prune_data),
                          (char *)((void *)0));
  if (tmp___1) {
    do_oneway_diff(o, idx___0, tree);
    tmp = diff_can_quit_early(& revs->diffopt);
    if (tmp) {
      o->exiting_early = 1U;
      return (-1);
    }
  }
  return (0);
}
}
static int diff_cache(struct rev_info *revs , struct object_id  const  *tree_oid ,
                      char const   *tree_name , int cached )
{
  struct tree *tree ;
  struct tree_desc t ;
  struct unpack_trees_options opts___1 ;
  char *tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tree = parse_tree_indirect(tree_oid);
  if (! tree) {
    if (tree_name) {
      tmp___0 = tree_name;
    } else {
      tmp = oid_to_hex(tree_oid);
      tmp___0 = (char const   *)tmp;
    }
    error((char const   *)"bad tree object %s", tmp___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  memset((void *)(& opts___1), 0, sizeof(opts___1));
  opts___1.head_idx = 1;
  opts___1.index_only = (unsigned int )cached;
  if (cached) {
    if (! revs->diffopt.flags.find_copies_harder) {
      tmp___2 = 1;
    } else {
      tmp___2 = 0;
    }
  } else {
    tmp___2 = 0;
  }
  opts___1.diff_index_cached = (unsigned int )tmp___2;
  opts___1.merge = 1U;
  opts___1.fn = & oneway_diff;
  opts___1.unpack_data = (void *)revs;
  opts___1.src_index = (revs->diffopt.repo)->index;
  opts___1.dst_index = (struct index_state *)((void *)0);
  opts___1.pathspec = & revs->diffopt.pathspec;
  (opts___1.pathspec)->recursive = 1U;
  init_tree_desc(& t, (void const   *)tree->buffer, tree->size);
  tmp___3 = unpack_trees(1U, & t, & opts___1);
  return (tmp___3);
}
}
void diff_get_merge_base(struct rev_info  const  *revs , struct object_id *mb )
{
  int i ;
  struct commit *mb_child[2] ;
  unsigned int tmp ;
  struct commit_list *merge_bases ;
  struct object *obj ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  struct object_id oid ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  mb_child[0] = (struct commit *)0;
  tmp = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 2U) {
      goto while_break;
    }
    mb_child[tmp] = (struct commit *)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < revs->pending.nr)) {
      goto while_break___0;
    }
    obj = (revs->pending.objects + i)->item;
    if (obj->flags) {
      tmp___0 = _((char const   *)"--merge-base does not work with ranges");
      die((char const   *)tmp___0);
    }
    if (obj->type != 1U) {
      tmp___1 = _((char const   *)"--merge-base only works with commits");
      die((char const   *)tmp___1);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (revs->pending.nr < 1U) {
    BUG_fl((char const   *)"diff-lib.c", 572, (char const   *)"unexpected revs->pending.nr: %d",
           revs->pending.nr);
  } else
  if (revs->pending.nr > 2U) {
    BUG_fl((char const   *)"diff-lib.c", 572, (char const   *)"unexpected revs->pending.nr: %d",
           revs->pending.nr);
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned int )i < revs->pending.nr)) {
      goto while_break___1;
    }
    mb_child[i] = lookup_commit_reference(the_repository, (struct object_id  const  *)(& ((revs->pending.objects + i)->item)->oid));
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  if (revs->pending.nr == 1U) {
    tmp___3 = repo_get_oid(the_repository, (char const   *)"HEAD", & oid);
    if (tmp___3) {
      tmp___2 = _((char const   *)"unable to get HEAD");
      die((char const   *)tmp___2);
    }
    mb_child[1] = lookup_commit_reference(the_repository, (struct object_id  const  *)(& oid));
  }
  merge_bases = repo_get_merge_bases(the_repository, mb_child[0], mb_child[1]);
  if (! merge_bases) {
    tmp___4 = _((char const   *)"no merge base found");
    die((char const   *)tmp___4);
  }
  if (merge_bases->next) {
    tmp___5 = _((char const   *)"multiple merge bases found");
    die((char const   *)tmp___5);
  }
  oidcpy(mb, (struct object_id  const  *)(& (merge_bases->item)->object.oid));
  free_commit_list(merge_bases);
  return;
}
}
int run_diff_index(struct rev_info *revs , unsigned int option )
{
  struct object_array_entry *ent ;
  int cached ;
  int merge_base ;
  struct object_id oid ;
  char const   *name___0 ;
  char merge_base_hex[65] ;
  struct index_state *istate ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  uint64_t tmp___3 ;
  int tmp___4 ;

  {
  cached = ! (! (option & 1U));
  merge_base = ! (! (option & 2U));
  istate = (revs->diffopt.repo)->index;
  if (revs->pending.nr != 1U) {
    BUG_fl((char const   *)"diff-lib.c", 607, (char const   *)"run_diff_index must be passed exactly one tree");
  }
  trace_performance_enter();
  ent = revs->pending.objects;
  refresh_fsmonitor(istate);
  if (merge_base) {
    diff_get_merge_base((struct rev_info  const  *)revs, & oid);
    tmp = oid_to_hex_r(merge_base_hex, (struct object_id  const  *)(& oid));
    name___0 = (char const   *)tmp;
  } else {
    oidcpy(& oid, (struct object_id  const  *)(& (ent->item)->oid));
    name___0 = (char const   *)ent->name;
  }
  tmp___1 = diff_cache(revs, (struct object_id  const  *)(& oid), name___0, cached);
  if (tmp___1) {
    tmp___0 = trace2_cmd_exit_fl((char const   *)"diff-lib.c", 623, 128);
    exit(tmp___0);
  }
  if (cached) {
    tmp___2 = "i/";
  } else {
    tmp___2 = "w/";
  }
  diff_set_mnemonic_prefix(& revs->diffopt, (char const   *)"c/", (char const   *)tmp___2);
  diffcore_fix_diff_index();
  diffcore_std(& revs->diffopt);
  diff_flush(& revs->diffopt);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___4 = trace_pass_fl(& trace_perf_key);
    if (tmp___4) {
      tmp___3 = getnanotime();
      trace_performance_leave_fl((char const   *)"diff-lib.c", 629, tmp___3, (char const   *)"diff-index");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int do_diff_cache(struct object_id  const  *tree_oid , struct diff_options *opt___0 )
{
  struct rev_info revs ;
  int tmp ;
  int tmp___0 ;

  {
  repo_init_revisions(opt___0->repo, & revs, (char const   *)((void *)0));
  copy_pathspec(& revs.prune_data, (struct pathspec  const  *)(& opt___0->pathspec));
  diff_setup_done(& revs.diffopt);
  revs.diffopt = *opt___0;
  tmp___0 = diff_cache(& revs, tree_oid, (char const   *)((void *)0), 1);
  if (tmp___0) {
    tmp = trace2_cmd_exit_fl((char const   *)"diff-lib.c", 643, 128);
    exit(tmp);
  }
  clear_pathspec(& revs.prune_data);
  return (0);
}
}
int index_differs_from(struct repository *r , char const   *def___0 , struct diff_flags  const  *flags___0 ,
                       int ita_invisible_in_index )
{
  struct rev_info rev ;
  struct setup_revision_opt opt___0 ;

  {
  repo_init_revisions(r, & rev, (char const   *)((void *)0));
  memset((void *)(& opt___0), 0, sizeof(opt___0));
  opt___0.def = def___0;
  setup_revisions(0, (char const   **)((void *)0), & rev, & opt___0);
  rev.diffopt.flags.quick = 1U;
  rev.diffopt.flags.exit_with_status = 1U;
  if (flags___0) {
    diff_flags_or(& rev.diffopt.flags, flags___0);
  }
  rev.diffopt.ita_invisible_in_index = ita_invisible_in_index;
  run_diff_index(& rev, 1U);
  object_array_clear(& rev.pending);
  return (rev.diffopt.flags.has_changes != 0U);
}
}
static struct strbuf *idiff_prefix_cb(struct diff_options *opt___0 , void *data )
{


  {
  return ((struct strbuf *)data);
}
}
void show_interdiff(struct object_id  const  *oid1 , struct object_id  const  *oid2 ,
                    int indent , struct diff_options *diffopt )
{
  struct diff_options opts___1 ;
  struct strbuf prefix___1 ;

  {
  prefix___1.alloc = 0UL;
  prefix___1.len = 0UL;
  prefix___1.buf = strbuf_slopbuf;
  memcpy((void *)(& opts___1), (void const   *)diffopt, sizeof(opts___1));
  opts___1.output_format = 0x0010;
  opts___1.output_prefix = & idiff_prefix_cb;
  strbuf_addchars(& prefix___1, ' ', (size_t )indent);
  opts___1.output_prefix_data = (void *)(& prefix___1);
  diff_setup_done(& opts___1);
  diff_tree_oid(oid1, oid2, (char const   *)"", & opts___1);
  diffcore_std(& opts___1);
  diff_flush(& opts___1);
  strbuf_release(& prefix___1);
  return;
}
}
static double const   __ac_HASH_UPPER___24  =    (double const   )0.77;
__inline static void kh_resize_oid_set___24(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___24(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___24 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___24 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___24(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___24(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___24(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___24(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___24(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___24(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___24 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___24 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___24(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___24(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___24(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___24(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___24(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___24(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___24 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___24 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___24(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___24(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___24(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___24(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
char const   git_usage_string[379] ;
char const   git_more_info_string[231] ;
void setup_auto_pager(char const   *cmd , int def___0 ) ;
int is_builtin(char const   *s___1 ) ;
int cmd_add(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_am(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_annotate(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_apply(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_archive(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_bisect__helper(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_blame(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_branch(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_bugreport(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_bundle(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_cat_file(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_checkout(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_checkout__worker(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_checkout_index(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_check_attr(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_check_ignore(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_check_mailmap(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_check_ref_format(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_cherry(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_cherry_pick(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_clone(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_clean(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_column(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_commit(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_commit_graph(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_commit_tree(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_config(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_count_objects(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_credential(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_credential_cache(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_credential_cache_daemon(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_credential_store(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_describe(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_diff_files(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_diff_index(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_diff(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_diff_tree(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_difftool(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_env__helper(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_fast_export(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_fast_import(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_fetch(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_fetch_pack(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_fmt_merge_msg(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_for_each_ref(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_for_each_repo(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_format_patch(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_fsck(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_gc(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_get_tar_commit_id(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_grep(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_hash_object(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_help(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_index_pack(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_init_db(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_interpret_trailers(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_log(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_log_reflog(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_ls_files(int argc , char const   **argv___0 , char const   *cmd_prefix ) ;
int cmd_ls_tree(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_ls_remote(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_mailinfo(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_mailsplit(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_maintenance(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_merge(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_merge_base(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_merge_index(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_merge_ours(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_merge_file(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_merge_recursive(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_merge_tree(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_mktag(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_mktree(int ac , char const   **av , char const   *prefix___1 ) ;
int cmd_multi_pack_index(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_mv(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_name_rev(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_notes(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_pack_objects(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_pack_redundant(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_patch_id(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_prune(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_prune_packed(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_pull(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_push(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_range_diff(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_read_tree(int argc , char const   **argv___0 , char const   *cmd_prefix ) ;
int cmd_rebase(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
extern int cmd_rebase__interactive(int argc , char const   **argv , char const   *prefix ) ;
int cmd_receive_pack(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_reflog(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_remote(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_remote_ext(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_remote_fd(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_repack(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_rerere(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_reset(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_restore(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_rev_list(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_rev_parse(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_revert(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_rm(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_send_pack(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_shortlog(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_show(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_show_branch(int ac , char const   **av , char const   *prefix___1 ) ;
int cmd_show_index(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_sparse_checkout(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_status(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_stash(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_stripspace(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_submodule__helper(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_switch(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_symbolic_ref(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_tag(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_unpack_file(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_unpack_objects(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_update_index(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_update_ref(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_update_server_info(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_upload_archive(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_upload_archive_writer(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_upload_pack(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_var(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_verify_commit(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_verify_tag(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_version(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_whatchanged(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_worktree(int ac , char const   **av , char const   *prefix___1 ) ;
int cmd_write_tree(int argc , char const   **argv___0 , char const   *cmd_prefix ) ;
int cmd_verify_pack(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_show_ref(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_pack_refs(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
int cmd_replace(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
static int read_directory_contents(char const   *path___6 , struct string_list *list___3 )
{
  DIR *dir ;
  struct dirent *e ;
  int tmp ;

  {
  dir = opendir(path___6);
  if (! dir) {
    error((char const   *)"Could not open directory %s", path___6);
    tmp = const_error();
    return (tmp);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    e = readdir_skip_dot_and_dotdot(dir);
    if (! e) {
      goto while_break;
    }
    string_list_insert(list___3, (char const   *)(e->d_name));
  }
  while_break: /* CIL Label */ ;
  }
  closedir(dir);
  return (0);
}
}
static char const   file_from_standard_input[2]  = {      (char const   )'-',      (char const   )'\000'};
static int get_mode(char const   *path___6 , int *mode___1 )
{
  struct stat st ;
  unsigned int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (! path___6) {
    *mode___1 = 0;
  } else {
    tmp___2 = strcmp(path___6, (char const   *)"/dev/null");
    if (tmp___2) {
      if ((unsigned long )path___6 == (unsigned long )(file_from_standard_input)) {
        tmp = create_ce_mode(438U);
        *mode___1 = (int )tmp;
      } else {
        tmp___1 = lstat(path___6, & st);
        if (tmp___1) {
          error((char const   *)"Could not access \'%s\'", path___6);
          tmp___0 = const_error();
          return (tmp___0);
        } else {
          *mode___1 = (int )st.st_mode;
        }
      }
    } else {
      *mode___1 = 0;
    }
  }
  return (0);
}
}
static int populate_from_stdin(struct diff_filespec *s___1 )
{
  struct strbuf buf___19 ;
  size_t size ;
  int tmp ;
  ssize_t tmp___0 ;
  char *tmp___1 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  size = (size_t )0;
  tmp___0 = strbuf_read(& buf___19, 0, (size_t )0);
  if (tmp___0 < 0L) {
    error_errno((char const   *)"error while reading from stdin");
    tmp = const_error();
    return (tmp);
  }
  s___1->should_munmap = 0U;
  tmp___1 = strbuf_detach(& buf___19, & size);
  s___1->data = (void *)tmp___1;
  s___1->size = size;
  s___1->should_free = 1U;
  s___1->is_stdin = 1U;
  return (0);
}
}
static struct diff_filespec *noindex_filespec(char const   *name___0 , int mode___1 )
{
  struct diff_filespec *s___1 ;
  struct object_id  const  *tmp ;

  {
  if (! name___0) {
    name___0 = (char const   *)"/dev/null";
  }
  s___1 = alloc_filespec(name___0);
  tmp = null_oid();
  fill_filespec(s___1, tmp, 0, (unsigned short )mode___1);
  if ((unsigned long )name___0 == (unsigned long )(file_from_standard_input)) {
    populate_from_stdin(s___1);
  }
  return (s___1);
}
}
static int queue_diff(struct diff_options *o , char const   *name1 , char const   *name2 )
{
  int mode1 ;
  int mode2 ;
  int tmp ;
  int tmp___0 ;
  struct diff_filespec *d1 ;
  struct diff_filespec *d2 ;
  struct strbuf buffer1 ;
  struct strbuf buffer2 ;
  struct string_list p1 ;
  struct string_list p2 ;
  int i1 ;
  int i2 ;
  int ret___67 ;
  size_t len1 ;
  size_t len2 ;
  int tmp___1 ;
  int tmp___2 ;
  char const   *n1 ;
  char const   *n2 ;
  int comp ;
  int tmp___3 ;
  int tmp___4 ;
  struct diff_filespec *d1___0 ;
  struct diff_filespec *d2___0 ;
  void *_swap_a_ptr ;
  void *_swap_b_ptr ;
  unsigned char _swap_buffer[sizeof(mode1)] ;
  void *_swap_a_ptr___0 ;
  void *_swap_b_ptr___0 ;
  unsigned char _swap_buffer___0[sizeof(name1)] ;

  {
  mode1 = 0;
  mode2 = 0;
  tmp = get_mode(name1, & mode1);
  if (tmp) {
    return (-1);
  } else {
    tmp___0 = get_mode(name2, & mode2);
    if (tmp___0) {
      return (-1);
    }
  }
  if (mode1) {
    if (mode2) {
      if (((mode1 & 0170000) == 0040000) != ((mode2 & 0170000) == 0040000)) {
        if ((mode1 & 0170000) == 0040000) {
          d1 = noindex_filespec((char const   *)((void *)0), 0);
          d2 = noindex_filespec(name2, mode2);
          name2 = (char const   *)((void *)0);
          mode2 = 0;
        } else {
          d1 = noindex_filespec(name1, mode1);
          d2 = noindex_filespec((char const   *)((void *)0), 0);
          name1 = (char const   *)((void *)0);
          mode1 = 0;
        }
        diff_queue(& diff_queued_diff, d1, d2);
      }
    }
  }
  if ((mode1 & 0170000) == 0040000) {
    goto _L;
  } else
  if ((mode2 & 0170000) == 0040000) {
    _L: /* CIL Label */
    buffer1.alloc = 0UL;
    buffer1.len = 0UL;
    buffer1.buf = strbuf_slopbuf;
    buffer2.alloc = 0UL;
    buffer2.len = 0UL;
    buffer2.buf = strbuf_slopbuf;
    p1.items = (struct string_list_item *)0;
    p1.nr = 0U;
    p1.alloc = 0U;
    p1.strdup_strings = 1U;
    p1.cmp = (int (*)(char const   * , char const   * ))0;
    p2.items = (struct string_list_item *)0;
    p2.nr = 0U;
    p2.alloc = 0U;
    p2.strdup_strings = 1U;
    p2.cmp = (int (*)(char const   * , char const   * ))0;
    ret___67 = 0;
    len1 = (size_t )0;
    len2 = (size_t )0;
    if (name1) {
      tmp___1 = read_directory_contents(name1, & p1);
      if (tmp___1) {
        return (-1);
      }
    }
    if (name2) {
      tmp___2 = read_directory_contents(name2, & p2);
      if (tmp___2) {
        string_list_clear(& p1, 0);
        return (-1);
      }
    }
    if (name1) {
      strbuf_addstr(& buffer1, name1);
      strbuf_complete(& buffer1, (char )'/');
      len1 = buffer1.len;
    }
    if (name2) {
      strbuf_addstr(& buffer2, name2);
      strbuf_complete(& buffer2, (char )'/');
      len2 = buffer2.len;
    }
    i2 = 0;
    i1 = i2;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ret___67) {
        if (! ((unsigned int )i1 < p1.nr)) {
          if (! ((unsigned int )i2 < p2.nr)) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      strbuf_setlen(& buffer1, len1);
      strbuf_setlen(& buffer2, len2);
      if ((unsigned int )i1 == p1.nr) {
        comp = 1;
      } else
      if ((unsigned int )i2 == p2.nr) {
        comp = -1;
      } else {
        comp = strcmp((char const   *)(p1.items + i1)->string, (char const   *)(p2.items + i2)->string);
      }
      if (comp > 0) {
        n1 = (char const   *)((void *)0);
      } else {
        tmp___3 = i1;
        i1 ++;
        strbuf_addstr(& buffer1, (char const   *)(p1.items + tmp___3)->string);
        n1 = (char const   *)buffer1.buf;
      }
      if (comp < 0) {
        n2 = (char const   *)((void *)0);
      } else {
        tmp___4 = i2;
        i2 ++;
        strbuf_addstr(& buffer2, (char const   *)(p2.items + tmp___4)->string);
        n2 = (char const   *)buffer2.buf;
      }
      ret___67 = queue_diff(o, n1, n2);
    }
    while_break: /* CIL Label */ ;
    }
    string_list_clear(& p1, 0);
    string_list_clear(& p2, 0);
    strbuf_release(& buffer1);
    strbuf_release(& buffer2);
    return (ret___67);
  } else {
    if (o->flags.reverse_diff) {
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        _swap_a_ptr = (void *)(& mode1);
        _swap_b_ptr = (void *)(& mode2);
        memcpy((void *)(_swap_buffer), (void const   *)_swap_a_ptr, sizeof(mode1));
        memcpy(_swap_a_ptr, (void const   *)_swap_b_ptr, sizeof(mode1) + (sizeof(char [1]) - 1UL));
        memcpy(_swap_b_ptr, (void const   *)(_swap_buffer), sizeof(mode1));
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        _swap_a_ptr___0 = (void *)(& name1);
        _swap_b_ptr___0 = (void *)(& name2);
        memcpy((void *)(_swap_buffer___0), (void const   *)_swap_a_ptr___0, sizeof(name1));
        memcpy(_swap_a_ptr___0, (void const   *)_swap_b_ptr___0, sizeof(name1) + (sizeof(char [1]) - 1UL));
        memcpy(_swap_b_ptr___0, (void const   *)(_swap_buffer___0), sizeof(name1));
        goto while_break___1;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
    d1___0 = noindex_filespec(name1, mode1);
    d2___0 = noindex_filespec(name2, mode2);
    diff_queue(& diff_queued_diff, d1___0, d2___0);
    return (0);
  }
}
}
static void append_basename(struct strbuf *path___6 , char const   *dir , char const   *file___0 )
{
  char const   *tail ;
  char *tmp ;
  char const   *tmp___0 ;

  {
  tmp = strrchr(file___0, '/');
  tail = (char const   *)tmp;
  strbuf_addstr(path___6, dir);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (path___6->len) {
      if (! ((int )*(path___6->buf + (path___6->len - 1UL)) == 47)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    (path___6->len) --;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addch(path___6, '/');
  if (tail) {
    tmp___0 = tail + 1;
  } else {
    tmp___0 = file___0;
  }
  strbuf_addstr(path___6, tmp___0);
  return;
}
}
static void fixup_paths(char const   **path___6 , struct strbuf *replacement )
{
  unsigned int isdir0 ;
  unsigned int isdir1 ;
  int tmp ;
  int tmp___0 ;

  {
  if ((unsigned long )*(path___6 + 0) == (unsigned long )(file_from_standard_input)) {
    return;
  } else
  if ((unsigned long )*(path___6 + 1) == (unsigned long )(file_from_standard_input)) {
    return;
  }
  tmp = is_directory(*(path___6 + 0));
  isdir0 = (unsigned int )tmp;
  tmp___0 = is_directory(*(path___6 + 1));
  isdir1 = (unsigned int )tmp___0;
  if (isdir0 == isdir1) {
    return;
  }
  if (isdir0) {
    append_basename(replacement, *(path___6 + 0), *(path___6 + 1));
    *(path___6 + 0) = (char const   *)replacement->buf;
  } else {
    append_basename(replacement, *(path___6 + 1), *(path___6 + 0));
    *(path___6 + 1) = (char const   *)replacement->buf;
  }
  return;
}
}
static char const   *diff_no_index_usage[2]  = {      (char const   *)"git diff --no-index [<options>] <path> <path>",      (char const   *)((void *)0)};
int diff_no_index(struct rev_info *revs , int implicit_no_index , int argc , char const   **argv___0 )
{
  int i ;
  int no_index___0 ;
  char const   *paths___0[2] ;
  struct strbuf replacement ;
  char const   *prefix___1 ;
  struct option no_index_options[2] ;
  struct option *options ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *p___0 ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  replacement.alloc = 0UL;
  replacement.len = 0UL;
  replacement.buf = strbuf_slopbuf;
  prefix___1 = revs->prefix;
  no_index_options[0].type = (enum parse_opt_type )8;
  no_index_options[0].short_name = 0;
  no_index_options[0].long_name = (char const   *)"no-index";
  no_index_options[0].value = (void *)(& no_index___0);
  no_index_options[0].argh = (char const   *)((void *)0);
  no_index_options[0].help = (char const   *)"";
  no_index_options[0].flags = (enum parse_opt_option_flags )14;
  no_index_options[0].callback = (parse_opt_cb *)((void *)0);
  no_index_options[0].defval = (intptr_t )1;
  no_index_options[0].ll_callback = (parse_opt_ll_cb *)0;
  no_index_options[0].extra = 0L;
  no_index_options[1].type = (enum parse_opt_type )0;
  no_index_options[1].short_name = 0;
  no_index_options[1].long_name = (char const   *)0;
  no_index_options[1].value = (void *)0;
  no_index_options[1].argh = (char const   *)0;
  no_index_options[1].help = (char const   *)0;
  no_index_options[1].flags = 0U;
  no_index_options[1].callback = (parse_opt_cb *)0;
  no_index_options[1].defval = 0L;
  no_index_options[1].ll_callback = (parse_opt_ll_cb *)0;
  no_index_options[1].extra = 0L;
  options = parse_options_concat((struct option  const  *)(no_index_options), (struct option  const  *)revs->diffopt.parseopts);
  argc = parse_options(argc, argv___0, revs->prefix, (struct option  const  *)options,
                       diff_no_index_usage, (enum parse_opt_flags )0);
  if (argc != 2) {
    if (implicit_no_index) {
      tmp = _((char const   *)"Not a git repository. Use --no-index to compare two paths outside a working tree");
      warning((char const   *)tmp);
    }
    usage_with_options(diff_no_index_usage, (struct option  const  *)options);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)options);
    options = (struct option *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < 2)) {
      goto while_break___0;
    }
    p___0 = *(argv___0 + ((argc - 2) + i));
    tmp___1 = strcmp(p___0, (char const   *)"-");
    if (tmp___1) {
      if (prefix___1) {
        tmp___0 = prefix_filename(prefix___1, p___0);
        p___0 = (char const   *)tmp___0;
      }
    } else {
      p___0 = file_from_standard_input;
    }
    paths___0[i] = p___0;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  fixup_paths(paths___0, & replacement);
  revs->diffopt.skip_stat_unmatch = 1;
  if (! revs->diffopt.output_format) {
    revs->diffopt.output_format = 0x0010;
  }
  revs->diffopt.flags.no_index = 1U;
  revs->diffopt.flags.relative_name = 1U;
  revs->diffopt.prefix = prefix___1;
  revs->max_count = -2;
  diff_setup_done(& revs->diffopt);
  setup_diff_pager(& revs->diffopt);
  revs->diffopt.flags.exit_with_status = 1U;
  tmp___2 = queue_diff(& revs->diffopt, paths___0[0], paths___0[1]);
  if (tmp___2) {
    return (1);
  }
  diff_set_mnemonic_prefix(& revs->diffopt, (char const   *)"1/", (char const   *)"2/");
  diffcore_std(& revs->diffopt);
  diff_flush(& revs->diffopt);
  strbuf_release(& replacement);
  tmp___3 = diff_result_code(& revs->diffopt, 0);
  return (tmp___3);
}
}
static double const   __ac_HASH_UPPER___25  =    (double const   )0.77;
__inline static void kh_resize_oid_set___25(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___25(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___25 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___25 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___25(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___25(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___25(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___25(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___25(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___25(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___25 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___25 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___25(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___25(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___25(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___25(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___25(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___25(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___25 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___25 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___25(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___25(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___25(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___25(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
struct diff_queue_struct diff_queued_diff  ;
__inline static void kh_resize_odb_path_map___19(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___19(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___25 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___25 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___19(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___19(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___19(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___19(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
void submodule_cache_free(struct submodule_cache *cache___0 ) ;
int parse_submodule_fetchjobs(char const   *var , char const   *value ) ;
int parse_fetch_recurse_submodules_arg(char const   *opt___0 , char const   *arg ) ;
int option_fetch_parse_recurse_submodules(struct option  const  *opt___0 , char const   *arg ,
                                          int unset ) ;
int parse_update_recurse_submodules_arg(char const   *opt___0 , char const   *arg ) ;
int parse_push_recurse_submodules_arg(char const   *opt___0 , char const   *arg ) ;
void repo_read_gitmodules(struct repository *repo , int skip_if_read ) ;
void gitmodules_config_oid(struct object_id  const  *commit_oid ) ;
struct submodule  const  *submodule_from_name(struct repository *r , struct object_id  const  *treeish_name ,
                                              char const   *name___0 ) ;
struct submodule  const  *submodule_from_path(struct repository *r , struct object_id  const  *treeish_name ,
                                              char const   *path___6 ) ;
void submodule_free(struct repository *r ) ;
int print_config_from_gitmodules(struct repository *repo , char const   *key___1 ) ;
int config_set_in_gitmodules_file_gently(char const   *key___1 , char const   *value ) ;
int check_submodule_name(char const   *name___0 ) ;
void fetch_config_from_gitmodules(int *max_children___0 , int *recurse_submodules___4 ) ;
void update_clone_config_from_gitmodules(int *max_jobs___1 ) ;
void graph_setup_line_prefix(struct diff_options *diffopt ) ;
void graph_set_column_colors(char const   **colors , unsigned short colors_max ) ;
struct git_graph *graph_init(struct rev_info *opt___0 ) ;
void graph_update(struct git_graph *graph , struct commit *commit ) ;
int graph_is_commit_finished(struct git_graph  const  *graph ) ;
int graph_next_line(struct git_graph *graph , struct strbuf *sb___6 ) ;
int graph_width(struct git_graph *graph ) ;
void graph_show_commit(struct git_graph *graph ) ;
void graph_show_oneline(struct git_graph *graph ) ;
void graph_show_padding(struct git_graph *graph ) ;
int graph_show_remainder(struct git_graph *graph ) ;
void graph_show_commit_msg(struct git_graph *graph , FILE *file___0 , struct strbuf  const  *sb___6 ) ;
static int diff_detect_rename_default  ;
static int diff_indent_heuristic  =    1;
static int diff_rename_limit_default  =    1000;
static int diff_suppress_blank_empty  ;
static int diff_use_color_default  =    -1;
static int diff_color_moved_default  ;
static int diff_color_moved_ws_default  ;
static int diff_context_default  =    3;
static int diff_interhunk_context_default  ;
static char const   *diff_word_regex_cfg  ;
static char const   *external_diff_cmd_cfg  ;
static char const   *diff_order_file_cfg  ;
int diff_auto_refresh_index  =    1;
static int diff_mnemonic_prefix  ;
static int diff_no_prefix  ;
static int diff_relative  ;
static int diff_stat_graph_width  ;
static int diff_dirstat_permille_default  =    30;
static struct diff_options default_diff_options  ;
static long diff_algorithm  ;
static unsigned int ws_error_highlight_default  =    (unsigned int )(1 << 12);
static char diff_colors[23][75]  =
  { {        (char )'\033',        (char )'[',        (char )'m',        (char )'\000'},
   {        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'1',        (char )'m',
            (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'3',        (char )'6',
            (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'3',        (char )'1',
            (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'3',        (char )'2',
            (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'3',        (char )'3',
            (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'4',        (char )'1',
            (char )'m',        (char )'\000'},
   {        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'1',        (char )';',
            (char )'3',        (char )'5',        (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'1',        (char )';',
            (char )'3',        (char )'4',        (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'2',        (char )'m',
            (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'2',        (char )';',
            (char )'3',        (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'1',        (char )';',
            (char )'3',        (char )'6',        (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'1',        (char )';',
            (char )'3',        (char )'3',        (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'2',        (char )'m',
            (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'2',        (char )';',
            (char )'3',        (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'2',        (char )'m',
            (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'2',        (char )';',
            (char )'3',        (char )'1',        (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'2',        (char )';',
            (char )'3',        (char )'2',        (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'1',        (char )'m',
            (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'1',        (char )';',
            (char )'3',        (char )'1',        (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'1',        (char )';',
            (char )'3',        (char )'2',        (char )'m',        (char )'\000'}};
static char const   *color_diff_slots[23]  =
  {      (char const   *)0,      (char const   *)"context",      (char const   *)"meta",      (char const   *)"frag",
        (char const   *)"old",      (char const   *)"new",      (char const   *)"commit",      (char const   *)"whitespace",
        (char const   *)"func",      (char const   *)"oldMoved",      (char const   *)"oldMovedAlternative",      (char const   *)"oldMovedDimmed",
        (char const   *)"oldMovedAlternativeDimmed",      (char const   *)"newMoved",      (char const   *)"newMovedAlternative",      (char const   *)"newMovedDimmed",
        (char const   *)"newMovedAlternativeDimmed",      (char const   *)"contextDimmed",      (char const   *)"oldDimmed",      (char const   *)"newDimmed",
        (char const   *)"contextBold",      (char const   *)"oldBold",      (char const   *)"newBold"};
static char const   *extra[1]  = {      (char const   *)"plain"};
void list_config_color_diff_slots(struct string_list *list___3 , char const   *prefix___1 )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(extra) / sizeof(extra[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    list_config_item(list___3, prefix___1, extra[i]);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(color_diff_slots) / sizeof(color_diff_slots[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break___0;
    }
    if (color_diff_slots[i]) {
      list_config_item(list___3, prefix___1, color_diff_slots[i]);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static int parse_diff_color_slot(char const   *var )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = strcasecmp(var, (char const   *)"plain");
  if (! tmp) {
    return (1);
  }
  tmp___0 = lookup_config(color_diff_slots, (int )(sizeof(color_diff_slots) / sizeof(color_diff_slots[0]) + (sizeof(char [1]) - 1UL)),
                          var);
  return (tmp___0);
}
}
static int parse_dirstat_params(struct diff_options *options , char const   *params_string ,
                                struct strbuf *errmsg )
{
  char *params_copy ;
  char *tmp ;
  struct string_list params ;
  int ret___67 ;
  int i ;
  char const   *p___0 ;
  char *end ;
  int permille ;
  unsigned long tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  tmp = xstrdup(params_string);
  params_copy = tmp;
  params.items = (struct string_list_item *)0;
  params.nr = 0U;
  params.alloc = 0U;
  params.strdup_strings = 0U;
  params.cmp = (int (*)(char const   * , char const   * ))0;
  ret___67 = 0;
  if (*params_copy) {
    string_list_split_in_place(& params, params_copy, ',', -1);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < params.nr)) {
      goto while_break;
    }
    p___0 = (char const   *)(params.items + i)->string;
    tmp___7 = strcmp(p___0, (char const   *)"changes");
    if (tmp___7) {
      tmp___6 = strcmp(p___0, (char const   *)"lines");
      if (tmp___6) {
        tmp___5 = strcmp(p___0, (char const   *)"files");
        if (tmp___5) {
          tmp___4 = strcmp(p___0, (char const   *)"noncumulative");
          if (tmp___4) {
            tmp___3 = strcmp(p___0, (char const   *)"cumulative");
            if (tmp___3) {
              if (((int const   )sane_ctype[(unsigned char )*p___0] & 2) != 0) {
                tmp___0 = strtoul((char const   * __restrict  )p___0, (char ** __restrict  )(& end),
                                  10);
                permille = (int )(tmp___0 * 10UL);
                if ((int )*end == 46) {
                  end ++;
                  if (((int const   )sane_ctype[(unsigned char )*end] & 2) != 0) {
                    permille += (int )*end - 48;
                    {
                    while (1) {
                      while_continue___0: /* CIL Label */ ;
                      end ++;
                      if (! (((int const   )sane_ctype[(unsigned char )*end] & 2) != 0)) {
                        goto while_break___0;
                      }
                    }
                    while_break___0: /* CIL Label */ ;
                    }
                  }
                }
                if (! *end) {
                  options->dirstat_permille = permille;
                } else {
                  tmp___1 = _((char const   *)"  Failed to parse dirstat cut-off percentage \'%s\'\n");
                  strbuf_addf(errmsg, (char const   *)tmp___1, p___0);
                  ret___67 ++;
                }
              } else {
                tmp___2 = _((char const   *)"  Unknown dirstat parameter \'%s\'\n");
                strbuf_addf(errmsg, (char const   *)tmp___2, p___0);
                ret___67 ++;
              }
            } else {
              options->flags.dirstat_cumulative = 1U;
            }
          } else {
            options->flags.dirstat_cumulative = 0U;
          }
        } else {
          options->flags.dirstat_by_line = 0U;
          options->flags.dirstat_by_file = 1U;
        }
      } else {
        options->flags.dirstat_by_line = 1U;
        options->flags.dirstat_by_file = 0U;
      }
    } else {
      options->flags.dirstat_by_line = 0U;
      options->flags.dirstat_by_file = 0U;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_clear(& params, 0);
  free((void *)params_copy);
  return (ret___67);
}
}
static int parse_submodule_params(struct diff_options *options , char const   *value )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp___1 = strcmp(value, (char const   *)"log");
  if (tmp___1) {
    tmp___0 = strcmp(value, (char const   *)"short");
    if (tmp___0) {
      tmp = strcmp(value, (char const   *)"diff");
      if (tmp) {
        return (-1);
      } else {
        options->submodule_format = (enum diff_submodule_format )2;
      }
    } else {
      options->submodule_format = (enum diff_submodule_format )0;
    }
  } else {
    options->submodule_format = (enum diff_submodule_format )1;
  }
  return (0);
}
}
int git_config_rename(char const   *var , char const   *value )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  if (! value) {
    return (1);
  }
  tmp = strcasecmp(value, (char const   *)"copies");
  if (tmp) {
    tmp___0 = strcasecmp(value, (char const   *)"copy");
    if (! tmp___0) {
      return (2);
    }
  } else {
    return (2);
  }
  tmp___3 = git_config_bool(var, value);
  if (tmp___3) {
    tmp___2 = 1;
  } else {
    tmp___2 = 0;
  }
  return (tmp___2);
}
}
long parse_algorithm_value(char const   *value )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  if (! value) {
    return (-1L);
  } else {
    tmp___2 = strcasecmp(value, (char const   *)"myers");
    if (tmp___2) {
      tmp___3 = strcasecmp(value, (char const   *)"default");
      if (tmp___3) {
        tmp___1 = strcasecmp(value, (char const   *)"minimal");
        if (tmp___1) {
          tmp___0 = strcasecmp(value, (char const   *)"patience");
          if (tmp___0) {
            tmp = strcasecmp(value, (char const   *)"histogram");
            if (! tmp) {
              return ((long )(1 << 15));
            }
          } else {
            return ((long )(1 << 14));
          }
        } else {
          return (1L);
        }
      } else {
        return (0L);
      }
    } else {
      return (0L);
    }
  }
  return (-1L);
}
}
static int parse_one_token(char const   **arg , char const   *token )
{
  char const   *rest ;
  int tmp ;

  {
  tmp = skip_prefix(*arg, token, & rest);
  if (tmp) {
    if (! *rest) {
      *arg = rest;
      return (1);
    } else
    if ((int const   )*rest == 44) {
      *arg = rest;
      return (1);
    }
  }
  return (0);
}
}
static int parse_ws_error_highlight(char const   *arg )
{
  char const   *orig_arg ;
  unsigned int val ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  orig_arg = arg;
  val = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *arg) {
      goto while_break;
    }
    tmp___4 = parse_one_token(& arg, (char const   *)"none");
    if (tmp___4) {
      val = 0U;
    } else {
      tmp___3 = parse_one_token(& arg, (char const   *)"default");
      if (tmp___3) {
        val = (unsigned int )(1 << 12);
      } else {
        tmp___2 = parse_one_token(& arg, (char const   *)"all");
        if (tmp___2) {
          val = (unsigned int )(((1 << 12) | (1 << 14)) | (1 << 13));
        } else {
          tmp___1 = parse_one_token(& arg, (char const   *)"new");
          if (tmp___1) {
            val |= (unsigned int )(1 << 12);
          } else {
            tmp___0 = parse_one_token(& arg, (char const   *)"old");
            if (tmp___0) {
              val |= (unsigned int )(1 << 14);
            } else {
              tmp = parse_one_token(& arg, (char const   *)"context");
              if (tmp) {
                val |= (unsigned int )(1 << 13);
              } else {
                return (-1 - (int )(arg - orig_arg));
              }
            }
          }
        }
      }
    }
    if (*arg) {
      arg ++;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return ((int )val);
}
}
void init_diff_ui_defaults(void)
{


  {
  diff_detect_rename_default = 1;
  return;
}
}
int git_diff_heuristic_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;

  {
  tmp = strcmp(var, (char const   *)"diff.indentheuristic");
  if (! tmp) {
    diff_indent_heuristic = git_config_bool(var, value);
  }
  return (0);
}
}
static int parse_color_moved(char const   *arg )
{
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  tmp = git_parse_maybe_bool(arg);
  {
  if (tmp == 0) {
    goto case_0;
  }
  if (tmp == 1) {
    goto case_1;
  }
  goto switch_default;
  case_0: /* CIL Label */
  return (0);
  case_1: /* CIL Label */
  return (3);
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  tmp___8 = strcmp(arg, (char const   *)"no");
  if (tmp___8) {
    tmp___7 = strcmp(arg, (char const   *)"plain");
    if (tmp___7) {
      tmp___6 = strcmp(arg, (char const   *)"blocks");
      if (tmp___6) {
        tmp___5 = strcmp(arg, (char const   *)"zebra");
        if (tmp___5) {
          tmp___4 = strcmp(arg, (char const   *)"default");
          if (tmp___4) {
            tmp___3 = strcmp(arg, (char const   *)"dimmed-zebra");
            if (tmp___3) {
              tmp___2 = strcmp(arg, (char const   *)"dimmed_zebra");
              if (tmp___2) {
                tmp___0 = _((char const   *)"color moved setting must be one of \'no\', \'default\', \'blocks\', \'zebra\', \'dimmed-zebra\', \'plain\'");
                error((char const   *)tmp___0);
                tmp___1 = const_error();
                return (tmp___1);
              } else {
                return (4);
              }
            } else {
              return (4);
            }
          } else {
            return (3);
          }
        } else {
          return (3);
        }
      } else {
        return (2);
      }
    } else {
      return (1);
    }
  } else {
    return (0);
  }
}
}
static unsigned int parse_color_moved_ws(char const   *arg )
{
  int ret___67 ;
  struct string_list l ;
  struct string_list_item *i ;
  struct strbuf sb___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  ret___67 = 0;
  l.items = (struct string_list_item *)0;
  l.nr = 0U;
  l.alloc = 0U;
  l.strdup_strings = 1U;
  l.cmp = (int (*)(char const   * , char const   * ))0;
  string_list_split(& l, arg, ',', -1);
  i = l.items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i) {
      if (! ((unsigned long )i < (unsigned long )(l.items + l.nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    strbuf_addstr(& sb___6, (char const   *)i->string);
    strbuf_trim(& sb___6);
    tmp___4 = strcmp((char const   *)sb___6.buf, (char const   *)"no");
    if (tmp___4) {
      tmp___3 = strcmp((char const   *)sb___6.buf, (char const   *)"ignore-space-change");
      if (tmp___3) {
        tmp___2 = strcmp((char const   *)sb___6.buf, (char const   *)"ignore-space-at-eol");
        if (tmp___2) {
          tmp___1 = strcmp((char const   *)sb___6.buf, (char const   *)"ignore-all-space");
          if (tmp___1) {
            tmp___0 = strcmp((char const   *)sb___6.buf, (char const   *)"allow-indentation-change");
            if (tmp___0) {
              ret___67 |= 1;
              tmp = _((char const   *)"unknown color-moved-ws mode \'%s\', possible values are \'ignore-space-change\', \'ignore-space-at-eol\', \'ignore-all-space\', \'allow-indentation-change\'");
              error((char const   *)tmp, sb___6.buf);
              const_error();
            } else {
              ret___67 |= 1 << 5;
            }
          } else {
            ret___67 |= 1 << 1;
          }
        } else {
          ret___67 |= 1 << 3;
        }
      } else {
        ret___67 |= 1 << 2;
      }
    } else {
      ret___67 = 0;
    }
    strbuf_release(& sb___6);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (ret___67 & (1 << 5)) {
    if (ret___67 & ((((1 << 1) | (1 << 2)) | (1 << 3)) | (1 << 4))) {
      tmp___5 = _((char const   *)"color-moved-ws: allow-indentation-change cannot be combined with other whitespace modes");
      error((char const   *)tmp___5);
      const_error();
      ret___67 |= 1;
    }
  }
  string_list_clear(& l, 0);
  return ((unsigned int )ret___67);
}
}
int git_diff_ui_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;
  int tmp___0 ;
  int cm ;
  int tmp___1 ;
  int tmp___2 ;
  unsigned int cm___0 ;
  unsigned int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;

  {
  tmp = strcmp(var, (char const   *)"diff.color");
  if (tmp) {
    tmp___0 = strcmp(var, (char const   *)"color.diff");
    if (! tmp___0) {
      diff_use_color_default = git_config_colorbool(var, value);
      return (0);
    }
  } else {
    diff_use_color_default = git_config_colorbool(var, value);
    return (0);
  }
  tmp___2 = strcmp(var, (char const   *)"diff.colormoved");
  if (! tmp___2) {
    tmp___1 = parse_color_moved(value);
    cm = tmp___1;
    if (cm < 0) {
      return (-1);
    }
    diff_color_moved_default = cm;
    return (0);
  }
  tmp___4 = strcmp(var, (char const   *)"diff.colormovedws");
  if (! tmp___4) {
    tmp___3 = parse_color_moved_ws(value);
    cm___0 = tmp___3;
    if (cm___0 & 1U) {
      return (-1);
    }
    diff_color_moved_ws_default = (int )cm___0;
    return (0);
  }
  tmp___5 = strcmp(var, (char const   *)"diff.context");
  if (! tmp___5) {
    diff_context_default = git_config_int(var, value);
    if (diff_context_default < 0) {
      return (-1);
    }
    return (0);
  }
  tmp___6 = strcmp(var, (char const   *)"diff.interhunkcontext");
  if (! tmp___6) {
    diff_interhunk_context_default = git_config_int(var, value);
    if (diff_interhunk_context_default < 0) {
      return (-1);
    }
    return (0);
  }
  tmp___7 = strcmp(var, (char const   *)"diff.renames");
  if (! tmp___7) {
    diff_detect_rename_default = git_config_rename(var, value);
    return (0);
  }
  tmp___8 = strcmp(var, (char const   *)"diff.autorefreshindex");
  if (! tmp___8) {
    diff_auto_refresh_index = git_config_bool(var, value);
    return (0);
  }
  tmp___9 = strcmp(var, (char const   *)"diff.mnemonicprefix");
  if (! tmp___9) {
    diff_mnemonic_prefix = git_config_bool(var, value);
    return (0);
  }
  tmp___10 = strcmp(var, (char const   *)"diff.noprefix");
  if (! tmp___10) {
    diff_no_prefix = git_config_bool(var, value);
    return (0);
  }
  tmp___11 = strcmp(var, (char const   *)"diff.relative");
  if (! tmp___11) {
    diff_relative = git_config_bool(var, value);
    return (0);
  }
  tmp___12 = strcmp(var, (char const   *)"diff.statgraphwidth");
  if (! tmp___12) {
    diff_stat_graph_width = git_config_int(var, value);
    return (0);
  }
  tmp___14 = strcmp(var, (char const   *)"diff.external");
  if (! tmp___14) {
    tmp___13 = git_config_string(& external_diff_cmd_cfg, var, value);
    return (tmp___13);
  }
  tmp___16 = strcmp(var, (char const   *)"diff.wordregex");
  if (! tmp___16) {
    tmp___15 = git_config_string(& diff_word_regex_cfg, var, value);
    return (tmp___15);
  }
  tmp___18 = strcmp(var, (char const   *)"diff.orderfile");
  if (! tmp___18) {
    tmp___17 = git_config_pathname(& diff_order_file_cfg, var, value);
    return (tmp___17);
  }
  tmp___19 = strcmp(var, (char const   *)"diff.ignoresubmodules");
  if (! tmp___19) {
    handle_ignore_submodules_arg(& default_diff_options, value);
  }
  tmp___22 = strcmp(var, (char const   *)"diff.submodule");
  if (! tmp___22) {
    tmp___21 = parse_submodule_params(& default_diff_options, value);
    if (tmp___21) {
      tmp___20 = _((char const   *)"Unknown value for \'diff.submodule\' config variable: \'%s\'");
      warning((char const   *)tmp___20, value);
    }
    return (0);
  }
  tmp___23 = strcmp(var, (char const   *)"diff.algorithm");
  if (! tmp___23) {
    diff_algorithm = parse_algorithm_value(value);
    if (diff_algorithm < 0L) {
      return (-1);
    }
    return (0);
  }
  tmp___24 = git_color_config(var, value, cb);
  if (tmp___24 < 0) {
    return (-1);
  }
  tmp___25 = git_diff_basic_config(var, value, cb);
  return (tmp___25);
}
}
int git_diff_basic_config(char const   *var , char const   *value , void *cb )
{
  char const   *name___0 ;
  int tmp ;
  int tmp___0 ;
  int slot ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int val ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  struct strbuf errmsg ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;

  {
  tmp = strcmp(var, (char const   *)"diff.renamelimit");
  if (! tmp) {
    diff_rename_limit_default = git_config_int(var, value);
    return (0);
  }
  tmp___0 = userdiff_config(var, value);
  if (tmp___0 < 0) {
    return (-1);
  }
  tmp___4 = skip_prefix(var, (char const   *)"diff.color.", & name___0);
  if (tmp___4) {
    goto _L;
  } else {
    tmp___5 = skip_prefix(var, (char const   *)"color.diff.", & name___0);
    if (tmp___5) {
      _L: /* CIL Label */
      tmp___1 = parse_diff_color_slot(name___0);
      slot = tmp___1;
      if (slot < 0) {
        return (0);
      }
      if (! value) {
        config_error_nonbool(var);
        tmp___2 = const_error();
        return (tmp___2);
      }
      tmp___3 = color_parse(value, diff_colors[slot]);
      return (tmp___3);
    }
  }
  tmp___7 = strcmp(var, (char const   *)"diff.wserrorhighlight");
  if (! tmp___7) {
    tmp___6 = parse_ws_error_highlight(value);
    val = tmp___6;
    if (val < 0) {
      return (-1);
    }
    ws_error_highlight_default = (unsigned int )val;
    return (0);
  }
  tmp___8 = strcmp(var, (char const   *)"diff.suppressblankempty");
  if (tmp___8) {
    tmp___9 = strcmp(var, (char const   *)"diff.suppress-blank-empty");
    if (! tmp___9) {
      diff_suppress_blank_empty = git_config_bool(var, value);
      return (0);
    }
  } else {
    diff_suppress_blank_empty = git_config_bool(var, value);
    return (0);
  }
  tmp___12 = strcmp(var, (char const   *)"diff.dirstat");
  if (! tmp___12) {
    errmsg.alloc = 0UL;
    errmsg.len = 0UL;
    errmsg.buf = strbuf_slopbuf;
    default_diff_options.dirstat_permille = diff_dirstat_permille_default;
    tmp___11 = parse_dirstat_params(& default_diff_options, value, & errmsg);
    if (tmp___11) {
      tmp___10 = _((char const   *)"Found errors in \'diff.dirstat\' config variable:\n%s");
      warning((char const   *)tmp___10, errmsg.buf);
    }
    strbuf_release(& errmsg);
    diff_dirstat_permille_default = default_diff_options.dirstat_permille;
    return (0);
  }
  tmp___13 = git_diff_heuristic_config(var, value, cb);
  if (tmp___13 < 0) {
    return (-1);
  }
  tmp___14 = git_default_config(var, value, cb);
  return (tmp___14);
}
}
static char *quote_two(char const   *one___0 , char const   *two___0 )
{
  int need_one ;
  size_t tmp ;
  int need_two ;
  size_t tmp___0 ;
  struct strbuf res ;
  char *tmp___1 ;

  {
  tmp = quote_c_style(one___0, (struct strbuf *)((void *)0), (FILE *)((void *)0),
                      1U);
  need_one = (int )tmp;
  tmp___0 = quote_c_style(two___0, (struct strbuf *)((void *)0), (FILE *)((void *)0),
                          1U);
  need_two = (int )tmp___0;
  res.alloc = 0UL;
  res.len = 0UL;
  res.buf = strbuf_slopbuf;
  if (need_one + need_two) {
    strbuf_addch(& res, '\"');
    quote_c_style(one___0, & res, (FILE *)((void *)0), 1U);
    quote_c_style(two___0, & res, (FILE *)((void *)0), 1U);
    strbuf_addch(& res, '\"');
  } else {
    strbuf_addstr(& res, one___0);
    strbuf_addstr(& res, two___0);
  }
  tmp___1 = strbuf_detach(& res, (size_t *)((void *)0));
  return (tmp___1);
}
}
static char const   *external_diff(void) ;
static char const   *external_diff_cmd  =    (char const   *)((void *)0);
static int done_preparing  =    0;
static char const   *external_diff(void)
{
  char *tmp ;
  char *tmp___0 ;

  {
  if (done_preparing) {
    return (external_diff_cmd);
  }
  tmp = getenv((char const   *)"GIT_EXTERNAL_DIFF");
  tmp___0 = xstrdup_or_null((char const   *)tmp);
  external_diff_cmd = (char const   *)tmp___0;
  if (! external_diff_cmd) {
    external_diff_cmd = external_diff_cmd_cfg;
  }
  done_preparing = 1;
  return (external_diff_cmd);
}
}
static struct diff_tempfile diff_temp[2]  ;
static int count_lines(char const   *data , int size )
{
  int count___0 ;
  int ch___0 ;
  int completely_empty ;
  int nl_just_seen ;
  char const   *tmp ;
  int tmp___0 ;

  {
  completely_empty = 1;
  nl_just_seen = 0;
  count___0 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = size;
    size --;
    if (! (0 < tmp___0)) {
      goto while_break;
    }
    tmp = data;
    data ++;
    ch___0 = (int )*tmp;
    if (ch___0 == 10) {
      count___0 ++;
      nl_just_seen = 1;
      completely_empty = 0;
    } else {
      nl_just_seen = 0;
      completely_empty = 0;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (completely_empty) {
    return (0);
  }
  if (! nl_just_seen) {
    count___0 ++;
  }
  return (count___0);
}
}
static int fill_mmfile(struct repository *r , mmfile_t *mf , struct diff_filespec *one___0 )
{
  int tmp ;

  {
  if (! ((int )one___0->mode != 0)) {
    mf->ptr = "";
    mf->size = 0L;
    return (0);
  } else {
    tmp = diff_populate_filespec(r, one___0, (struct diff_populate_filespec_options  const  *)((void *)0));
    if (tmp) {
      return (-1);
    }
  }
  mf->ptr = (char *)one___0->data;
  mf->size = (long )one___0->size;
  return (0);
}
}
static unsigned long diff_filespec_size(struct repository *r , struct diff_filespec *one___0 )
{
  struct diff_populate_filespec_options dpf_options ;

  {
  dpf_options.check_size_only = 1U;
  dpf_options.check_binary = 0U;
  dpf_options.missing_object_cb = (void (*)(void * ))0;
  dpf_options.missing_object_data = (void *)0;
  if (! ((int )one___0->mode != 0)) {
    return (0UL);
  }
  diff_populate_filespec(r, one___0, (struct diff_populate_filespec_options  const  *)(& dpf_options));
  return (one___0->size);
}
}
static int count_trailing_blank(mmfile_t *mf , unsigned int ws_rule )
{
  char *ptr ;
  long size ;
  int cnt ;
  char *prev_eol ;
  int tmp ;

  {
  ptr = mf->ptr;
  size = mf->size;
  cnt = 0;
  if (! size) {
    return (cnt);
  }
  ptr += size - 1L;
  if (! ((int )*ptr != 10)) {
    ptr --;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )mf->ptr < (unsigned long )ptr)) {
      goto while_break;
    }
    prev_eol = ptr;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned long )mf->ptr <= (unsigned long )prev_eol)) {
        goto while_break___0;
      }
      if ((int )*prev_eol == 10) {
        goto while_break___0;
      }
      prev_eol --;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp = ws_blank_line((char const   *)(prev_eol + 1), (int )(ptr - prev_eol), ws_rule);
    if (! tmp) {
      goto while_break;
    }
    cnt ++;
    ptr = prev_eol - 1;
  }
  while_break: /* CIL Label */ ;
  }
  return (cnt);
}
}
static void check_blank_at_eof(mmfile_t *mf1 , mmfile_t *mf2 , struct emit_callback *ecbdata )
{
  int l1 ;
  int l2 ;
  int at ;
  unsigned int ws_rule ;

  {
  ws_rule = ecbdata->ws_rule;
  l1 = count_trailing_blank(mf1, ws_rule);
  l2 = count_trailing_blank(mf2, ws_rule);
  if (l2 <= l1) {
    ecbdata->blank_at_eof_in_preimage = 0;
    ecbdata->blank_at_eof_in_postimage = 0;
    return;
  }
  at = count_lines((char const   *)mf1->ptr, (int )mf1->size);
  ecbdata->blank_at_eof_in_preimage = (at - l1) + 1;
  at = count_lines((char const   *)mf2->ptr, (int )mf2->size);
  ecbdata->blank_at_eof_in_postimage = (at - l2) + 1;
  return;
}
}
static void emit_line_0(struct diff_options *o , char const   *set_sign , char const   *set ,
                        unsigned int reverse___0 , char const   *reset , int first ,
                        char const   *line___0 , int len___0 )
{
  int has_trailing_newline ;
  int has_trailing_carriage_return ;
  int needs_reset ;
  FILE *file___0 ;
  char const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  needs_reset = 0;
  file___0 = o->file;
  tmp = diff_line_prefix(o);
  fputs((char const   * __restrict  )tmp, (FILE * __restrict  )file___0);
  if (len___0 > 0) {
    if ((int const   )*(line___0 + (len___0 - 1)) == 10) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  has_trailing_newline = tmp___0;
  if (has_trailing_newline) {
    len___0 --;
  }
  if (len___0 > 0) {
    if ((int const   )*(line___0 + (len___0 - 1)) == 13) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  has_trailing_carriage_return = tmp___1;
  if (has_trailing_carriage_return) {
    len___0 --;
  }
  if (! len___0) {
    if (! first) {
      goto end_of_line;
    }
  }
  if (reverse___0) {
    tmp___2 = want_color_fd(1, o->use_color);
    if (tmp___2) {
      fputs((char const   * __restrict  )"\033[7m", (FILE * __restrict  )file___0);
      needs_reset = 1;
    }
  }
  if (set_sign) {
    fputs((char const   * __restrict  )set_sign, (FILE * __restrict  )file___0);
    needs_reset = 1;
  }
  if (first) {
    fputc(first, file___0);
  }
  if (! len___0) {
    goto end_of_line;
  }
  if (set) {
    if (set_sign) {
      if ((unsigned long )set != (unsigned long )set_sign) {
        fputs((char const   * __restrict  )reset, (FILE * __restrict  )file___0);
      }
    }
    fputs((char const   * __restrict  )set, (FILE * __restrict  )file___0);
    needs_reset = 1;
  }
  fwrite((void const   * __restrict  )line___0, (size_t )len___0, (size_t )1, (FILE * __restrict  )file___0);
  needs_reset = 1;
  end_of_line:
  if (needs_reset) {
    fputs((char const   * __restrict  )reset, (FILE * __restrict  )file___0);
  }
  if (has_trailing_carriage_return) {
    fputc('\r', file___0);
  }
  if (has_trailing_newline) {
    fputc('\n', file___0);
  }
  return;
}
}
static void emit_line(struct diff_options *o , char const   *set , char const   *reset ,
                      char const   *line___0 , int len___0 )
{


  {
  emit_line_0(o, set, (char const   *)((void *)0), 0U, reset, 0, line___0, len___0);
  return;
}
}
static void append_emitted_diff_symbol(struct diff_options *o , struct emitted_diff_symbol *e )
{
  struct emitted_diff_symbol *f ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  void *tmp___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((o->emitted_symbols)->nr + 1 > (o->emitted_symbols)->alloc) {
      if ((((o->emitted_symbols)->alloc + 16) * 3) / 2 < (o->emitted_symbols)->nr + 1) {
        (o->emitted_symbols)->alloc = (o->emitted_symbols)->nr + 1;
      } else {
        (o->emitted_symbols)->alloc = (((o->emitted_symbols)->alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*((o->emitted_symbols)->buf)), (size_t )(o->emitted_symbols)->alloc);
      tmp___0 = xrealloc((void *)(o->emitted_symbols)->buf, tmp);
      (o->emitted_symbols)->buf = (struct emitted_diff_symbol *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = (o->emitted_symbols)->nr;
  ((o->emitted_symbols)->nr) ++;
  f = (o->emitted_symbols)->buf + tmp___1;
  memcpy((void *)f, (void const   *)e, sizeof(struct emitted_diff_symbol ));
  if (e->line) {
    tmp___2 = xmemdupz((void const   *)e->line, (size_t )e->len);
    f->line = (char const   *)tmp___2;
  } else {
    f->line = (char const   *)((void *)0);
  }
  return;
}
}
static void fill_es_indent_data(struct emitted_diff_symbol *es )
{
  unsigned int off ;
  unsigned int i ;
  int width ;
  int tab_width ;
  char const   *s___1 ;
  int len___0 ;

  {
  off = 0U;
  width = 0;
  tab_width = es->flags & 077;
  s___1 = es->line;
  len___0 = (int )es->len;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((int const   )*(s___1 + off) == 12)) {
      if (! ((int const   )*(s___1 + off) == 11)) {
        if ((int const   )*(s___1 + off) == 13) {
          if (! (off < (unsigned int )(len___0 - 1))) {
            goto while_break;
          }
        } else {
          goto while_break;
        }
      }
    }
    off ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if ((int const   )*(s___1 + off) == 32) {
      width ++;
      off ++;
    } else
    if ((int const   )*(s___1 + off) == 9) {
      width += tab_width - width % tab_width;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        off ++;
        if (! ((int const   )*(s___1 + off) == 9)) {
          goto while_break___1;
        }
        width += tab_width;
      }
      while_break___1: /* CIL Label */ ;
      }
    } else {
      goto while_break___0;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  i = off;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < (unsigned int )len___0)) {
      goto while_break___2;
    }
    if (! (((int const   )sane_ctype[(unsigned char )*(s___1 + i)] & 1) != 0)) {
      goto while_break___2;
    }
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  if (i == (unsigned int )len___0) {
    es->indent_width = (-0x7FFFFFFF-1);
    es->indent_off = (int )len___0;
  } else {
    es->indent_off = (int )off;
    es->indent_width = width;
  }
  return;
}
}
static int compute_ws_delta(struct emitted_diff_symbol  const  *a , struct emitted_diff_symbol  const  *b___0 )
{
  int a_width ;
  int b_width ;

  {
  a_width = (int )a->indent_width;
  b_width = (int )b___0->indent_width;
  if (a_width == (-0x7FFFFFFF-1)) {
    if (b_width == (-0x7FFFFFFF-1)) {
      return ((-0x7FFFFFFF-1));
    }
  }
  return (a_width - b_width);
}
}
static int cmp_in_block_with_wsd(struct moved_entry  const  *cur , struct emitted_diff_symbol  const  *l ,
                                 struct moved_block *pmb )
{
  int a_width ;
  int b_width ;
  int delta ;

  {
  a_width = (int )(cur->es)->indent_width;
  b_width = (int )l->indent_width;
  if ((cur->es)->id != l->id) {
    return (1);
  }
  if (a_width == (-0x7FFFFFFF-1)) {
    return (0);
  }
  delta = b_width - a_width;
  if (pmb->wsd == (-0x7FFFFFFF-1)) {
    pmb->wsd = delta;
  }
  return (delta != pmb->wsd);
}
}
static int interned_diff_symbol_cmp(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *eptr ,
                                    struct hashmap_entry  const  *entry_or_key , void const   *keydata )
{
  struct diff_options  const  *diffopt ;
  struct emitted_diff_symbol  const  *a ;
  struct emitted_diff_symbol  const  *b___0 ;
  unsigned int flags___0 ;
  int tmp ;
  int tmp___0 ;

  {
  diffopt = (struct diff_options  const  *)hashmap_cmp_fn_data;
  flags___0 = (unsigned int )(diffopt->color_moved_ws_handling & (unsigned int )((((1 << 1) | (1 << 2)) | (1 << 3)) | (1 << 4)));
  a = (struct emitted_diff_symbol  const  *)((struct interned_diff_symbol  const  *)((char *)eptr - (unsigned long )(& ((struct interned_diff_symbol  const  *)0)->ent)))->es;
  b___0 = (struct emitted_diff_symbol  const  *)((struct interned_diff_symbol  const  *)((char *)entry_or_key - (unsigned long )(& ((struct interned_diff_symbol  const  *)0)->ent)))->es;
  tmp = xdiff_compare_lines((char const   *)(a->line + a->indent_off), (long )(a->len - a->indent_off),
                            (char const   *)(b___0->line + b___0->indent_off), (long )(b___0->len - b___0->indent_off),
                            (long )flags___0);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
static void prepare_entry(struct diff_options *o , struct emitted_diff_symbol *l ,
                          struct interned_diff_symbol *s___1 )
{
  unsigned int flags___0 ;
  unsigned int hash___0 ;
  unsigned long tmp ;

  {
  flags___0 = o->color_moved_ws_handling & (unsigned int )((((1 << 1) | (1 << 2)) | (1 << 3)) | (1 << 4));
  tmp = xdiff_hash_string(l->line + l->indent_off, (size_t )(l->len - l->indent_off),
                          (long )flags___0);
  hash___0 = (unsigned int )tmp;
  hashmap_entry_init(& s___1->ent, hash___0);
  s___1->es = l;
  return;
}
}
static struct moved_entry_list *add_lines_to_move_detection(struct diff_options *o ,
                                                            struct mem_pool *entry_mem_pool )
{
  struct moved_entry *prev_line ;
  struct mem_pool interned_pool ;
  struct hashmap interned_map ;
  struct moved_entry_list *entry_list ;
  size_t entry_list_alloc ;
  unsigned int id ;
  int n ;
  struct interned_diff_symbol key___1 ;
  struct emitted_diff_symbol *l ;
  struct interned_diff_symbol *s___1 ;
  struct moved_entry *entry ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  size_t new_nr ;
  size_t tmp___1 ;
  void *tmp___2 ;
  void *tmp___3 ;
  void *tmp___4 ;
  void *tmp___5 ;

  {
  prev_line = (struct moved_entry *)((void *)0);
  entry_list = (struct moved_entry_list *)((void *)0);
  entry_list_alloc = (size_t )0;
  id = 0U;
  hashmap_init(& interned_map, & interned_diff_symbol_cmp, (void const   *)o, (size_t )8096);
  mem_pool_init(& interned_pool, (size_t )1048576);
  n = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (n < (o->emitted_symbols)->nr)) {
      goto while_break;
    }
    l = (o->emitted_symbols)->buf + n;
    if ((unsigned int )l->s != 28U) {
      if ((unsigned int )l->s != 29U) {
        prev_line = (struct moved_entry *)((void *)0);
        goto __Cont;
      }
    }
    if (o->color_moved_ws_handling & (unsigned int )(1 << 5)) {
      fill_es_indent_data(l);
    }
    prepare_entry(o, l, & key___1);
    tmp = hashmap_get((struct hashmap  const  *)(& interned_map), (struct hashmap_entry  const  *)(& key___1.ent),
                      (void const   *)(& key___1.ent));
    tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct interned_diff_symbol *)0)->ent));
    s___1 = (struct interned_diff_symbol *)tmp___0;
    if (s___1) {
      l->id = (s___1->es)->id;
    } else {
      l->id = id;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        new_nr = (size_t )(id + 1U);
        if (new_nr < (size_t )id) {
          BUG_fl((char const   *)"diff.c", 976, (char const   *)"negative growth in ALLOC_GROW_BY");
        }
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          if (new_nr > entry_list_alloc) {
            if (((entry_list_alloc + 16UL) * 3UL) / 2UL < new_nr) {
              entry_list_alloc = new_nr;
            } else {
              entry_list_alloc = ((entry_list_alloc + 16UL) * 3UL) / 2UL;
            }
            tmp___1 = st_mult(sizeof(*entry_list), entry_list_alloc);
            tmp___2 = xrealloc((void *)entry_list, tmp___1);
            entry_list = (struct moved_entry_list *)tmp___2;
          }
          goto while_break___1;
        }
        while_break___1: /* CIL Label */ ;
        }
        memset((void *)(entry_list + id), 0, sizeof(*entry_list));
        id = (unsigned int )new_nr;
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
      tmp___3 = mem_pool_alloc(& interned_pool, sizeof(key___1));
      tmp___4 = memcpy(tmp___3, (void const   *)(& key___1), sizeof(key___1));
      hashmap_add(& interned_map, (struct hashmap_entry *)tmp___4);
    }
    tmp___5 = mem_pool_alloc(entry_mem_pool, sizeof(*entry));
    entry = (struct moved_entry *)tmp___5;
    entry->es = (struct emitted_diff_symbol  const  *)l;
    entry->next_line = (struct moved_entry *)((void *)0);
    if (prev_line) {
      if ((unsigned int )(prev_line->es)->s == (unsigned int )l->s) {
        prev_line->next_line = entry;
      }
    }
    prev_line = entry;
    if ((unsigned int )l->s == 28U) {
      entry->next_match = (entry_list + l->id)->add;
      (entry_list + l->id)->add = entry;
    } else {
      entry->next_match = (entry_list + l->id)->del;
      (entry_list + l->id)->del = entry;
    }
    __Cont: /* CIL Label */
    n ++;
  }
  while_break: /* CIL Label */ ;
  }
  hashmap_clear_(& interned_map, (ssize_t )-1);
  mem_pool_discard(& interned_pool, 0);
  return (entry_list);
}
}
static void pmb_advance_or_null(struct diff_options *o , struct emitted_diff_symbol *l ,
                                struct moved_block *pmb , int *pmb_nr )
{
  int i ;
  int j ;
  int match___0 ;
  struct moved_entry *prev ;
  struct moved_entry *cur ;
  struct moved_entry *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  i = 0;
  j = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < *pmb_nr)) {
      goto while_break;
    }
    prev = (pmb + i)->match;
    if (prev) {
      if (prev->next_line) {
        tmp = prev->next_line;
      } else {
        tmp = (struct moved_entry *)((void *)0);
      }
    } else {
      tmp = (struct moved_entry *)((void *)0);
    }
    cur = tmp;
    if (o->color_moved_ws_handling & (unsigned int )(1 << 5)) {
      if (cur) {
        tmp___0 = cmp_in_block_with_wsd((struct moved_entry  const  *)cur, (struct emitted_diff_symbol  const  *)l,
                                        pmb + i);
        if (tmp___0) {
          tmp___1 = 0;
        } else {
          tmp___1 = 1;
        }
      } else {
        tmp___1 = 0;
      }
      match___0 = tmp___1;
    } else {
      if (cur) {
        if ((cur->es)->id == (unsigned int )l->id) {
          tmp___2 = 1;
        } else {
          tmp___2 = 0;
        }
      } else {
        tmp___2 = 0;
      }
      match___0 = tmp___2;
    }
    if (match___0) {
      *(pmb + j) = *(pmb + i);
      tmp___3 = j;
      j ++;
      (pmb + tmp___3)->match = cur;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  *pmb_nr = j;
  return;
}
}
static void fill_potential_moved_blocks(struct diff_options *o , struct moved_entry *match___0 ,
                                        struct emitted_diff_symbol *l , struct moved_block **pmb_p ,
                                        int *pmb_alloc_p , int *pmb_nr_p )
{
  struct moved_block *pmb ;
  int pmb_alloc ;
  int pmb_nr ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  pmb = *pmb_p;
  pmb_alloc = *pmb_alloc_p;
  pmb_nr = *pmb_nr_p;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! match___0) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (pmb_nr + 1 > pmb_alloc) {
        if (((pmb_alloc + 16) * 3) / 2 < pmb_nr + 1) {
          pmb_alloc = pmb_nr + 1;
        } else {
          pmb_alloc = ((pmb_alloc + 16) * 3) / 2;
        }
        tmp = st_mult(sizeof(*pmb), (size_t )pmb_alloc);
        tmp___0 = xrealloc((void *)pmb, tmp);
        pmb = (struct moved_block *)tmp___0;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (o->color_moved_ws_handling & (unsigned int )(1 << 5)) {
      (pmb + pmb_nr)->wsd = compute_ws_delta((struct emitted_diff_symbol  const  *)l,
                                             match___0->es);
    } else {
      (pmb + pmb_nr)->wsd = 0;
    }
    tmp___1 = pmb_nr;
    pmb_nr ++;
    (pmb + tmp___1)->match = match___0;
    match___0 = match___0->next_match;
  }
  while_break: /* CIL Label */ ;
  }
  *pmb_p = pmb;
  *pmb_alloc_p = pmb_alloc;
  *pmb_nr_p = pmb_nr;
  return;
}
}
static int adjust_last_block(struct diff_options *o , int n , int block_length )
{
  int i ;
  int alnum_count ;
  char const   *c___0 ;

  {
  alnum_count = 0;
  if ((unsigned int )o->color_moved == 1U) {
    return (block_length);
  }
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < block_length + 1)) {
      goto while_break;
    }
    c___0 = ((o->emitted_symbols)->buf + (n - i))->line;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! *c___0) {
        goto while_break___0;
      }
      if (! (((int const   )sane_ctype[(unsigned char )*c___0] & 6) != 0)) {
        goto __Cont;
      }
      alnum_count ++;
      if (alnum_count >= 20) {
        return (1);
      }
      __Cont: /* CIL Label */
      c___0 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 1;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < block_length + 1)) {
      goto while_break___1;
    }
    ((o->emitted_symbols)->buf + (n - i))->flags &= ~ ((1 << 17) | (1 << 18));
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  return (0);
}
}
static void mark_color_as_moved(struct diff_options *o , struct moved_entry_list *entry_list )
{
  struct moved_block *pmb ;
  int pmb_nr ;
  int pmb_alloc ;
  int n ;
  int flipped_block ;
  int block_length ;
  enum diff_symbol moved_symbol ;
  struct moved_entry *match___0 ;
  struct emitted_diff_symbol *l ;
  int tmp ;
  int contiguous ;
  int tmp___0 ;

  {
  pmb = (struct moved_block *)((void *)0);
  pmb_nr = 0;
  pmb_alloc = 0;
  flipped_block = 0;
  block_length = 0;
  moved_symbol = (enum diff_symbol )0;
  n = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (n < (o->emitted_symbols)->nr)) {
      goto while_break;
    }
    match___0 = (struct moved_entry *)((void *)0);
    l = (o->emitted_symbols)->buf + n;
    {
    if ((unsigned int )l->s == 28U) {
      goto case_28;
    }
    if ((unsigned int )l->s == 29U) {
      goto case_29;
    }
    goto switch_default;
    case_28: /* CIL Label */
    match___0 = (entry_list + l->id)->del;
    goto switch_break;
    case_29: /* CIL Label */
    match___0 = (entry_list + l->id)->add;
    goto switch_break;
    switch_default: /* CIL Label */
    flipped_block = 0;
    switch_break: /* CIL Label */ ;
    }
    if (pmb_nr) {
      if (! match___0) {
        goto _L;
      } else
      if ((unsigned int )l->s != (unsigned int )moved_symbol) {
        _L: /* CIL Label */
        tmp = adjust_last_block(o, n, block_length);
        if (! tmp) {
          if (block_length > 1) {
            match___0 = (struct moved_entry *)((void *)0);
            n -= block_length;
          }
        }
        pmb_nr = 0;
        block_length = 0;
        flipped_block = 0;
      }
    }
    if (! match___0) {
      moved_symbol = (enum diff_symbol )0;
      goto __Cont;
    }
    if ((unsigned int )o->color_moved == 1U) {
      l->flags |= 1 << 17;
      goto __Cont;
    }
    pmb_advance_or_null(o, l, pmb, & pmb_nr);
    if (pmb_nr == 0) {
      tmp___0 = adjust_last_block(o, n, block_length);
      contiguous = tmp___0;
      if (! contiguous) {
        if (block_length > 1) {
          n -= block_length;
        } else {
          fill_potential_moved_blocks(o, match___0, l, & pmb, & pmb_alloc, & pmb_nr);
        }
      } else {
        fill_potential_moved_blocks(o, match___0, l, & pmb, & pmb_alloc, & pmb_nr);
      }
      if (contiguous) {
        if (pmb_nr) {
          if ((unsigned int )moved_symbol == (unsigned int )l->s) {
            flipped_block = (flipped_block + 1) % 2;
          } else {
            flipped_block = 0;
          }
        } else {
          flipped_block = 0;
        }
      } else {
        flipped_block = 0;
      }
      if (pmb_nr) {
        moved_symbol = l->s;
      } else {
        moved_symbol = (enum diff_symbol )0;
      }
      block_length = 0;
    }
    if (pmb_nr) {
      block_length ++;
      l->flags |= 1 << 17;
      if (flipped_block) {
        if ((unsigned int )o->color_moved != 2U) {
          l->flags |= 1 << 18;
        }
      }
    }
    __Cont: /* CIL Label */
    n ++;
  }
  while_break: /* CIL Label */ ;
  }
  adjust_last_block(o, n, block_length);
  free((void *)pmb);
  return;
}
}
static void dim_moved_lines(struct diff_options *o )
{
  int n ;
  struct emitted_diff_symbol *prev ;
  struct emitted_diff_symbol *tmp ;
  struct emitted_diff_symbol *l ;
  struct emitted_diff_symbol *next___2 ;
  struct emitted_diff_symbol *tmp___0 ;

  {
  n = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (n < (o->emitted_symbols)->nr)) {
      goto while_break;
    }
    if (n != 0) {
      tmp = (o->emitted_symbols)->buf + (n - 1);
    } else {
      tmp = (struct emitted_diff_symbol *)((void *)0);
    }
    prev = tmp;
    l = (o->emitted_symbols)->buf + n;
    if (n < (o->emitted_symbols)->nr - 1) {
      tmp___0 = (o->emitted_symbols)->buf + (n + 1);
    } else {
      tmp___0 = (struct emitted_diff_symbol *)((void *)0);
    }
    next___2 = tmp___0;
    if ((unsigned int )l->s != 28U) {
      if ((unsigned int )l->s != 29U) {
        goto __Cont;
      }
    }
    if (! (l->flags & (1 << 17))) {
      goto __Cont;
    }
    if (prev) {
      if ((unsigned int )prev->s != 28U) {
        if ((unsigned int )prev->s != 29U) {
          prev = (struct emitted_diff_symbol *)((void *)0);
        }
      }
    }
    if (next___2) {
      if ((unsigned int )next___2->s != 28U) {
        if ((unsigned int )next___2->s != 29U) {
          next___2 = (struct emitted_diff_symbol *)((void *)0);
        }
      }
    }
    if (prev) {
      if ((prev->flags & ((1 << 17) | (1 << 18))) == (l->flags & ((1 << 17) | (1 << 18)))) {
        if (next___2) {
          if ((next___2->flags & ((1 << 17) | (1 << 18))) == (l->flags & ((1 << 17) | (1 << 18)))) {
            l->flags |= 1 << 19;
            goto __Cont;
          }
        }
      }
    }
    if (prev) {
      if (prev->flags & (1 << 17)) {
        if ((prev->flags & (1 << 18)) != (l->flags & (1 << 18))) {
          goto __Cont;
        }
      }
    }
    if (next___2) {
      if (next___2->flags & (1 << 17)) {
        if ((next___2->flags & (1 << 18)) != (l->flags & (1 << 18))) {
          goto __Cont;
        }
      }
    }
    l->flags |= 1 << 19;
    __Cont: /* CIL Label */
    n ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void emit_line_ws_markup(struct diff_options *o , char const   *set_sign ,
                                char const   *set , char const   *reset , int sign_index ,
                                char const   *line___0 , int len___0 , unsigned int ws_rule ,
                                int blank_at_eof )
{
  char const   *ws ;
  int sign ;
  char const   *tmp ;

  {
  ws = (char const   *)((void *)0);
  sign = (int )o->output_indicators[sign_index];
  if (o->ws_error_highlight & ws_rule) {
    ws = diff_get_color(o->use_color, (enum color_diff )7);
    if (! *ws) {
      ws = (char const   *)((void *)0);
    }
  }
  if (! ws) {
    if (! set_sign) {
      emit_line_0(o, set, (char const   *)((void *)0), 0U, reset, sign, line___0,
                  len___0);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (! ws) {
    emit_line_0(o, set_sign, set, (unsigned int )(! (! set_sign)), reset, sign, line___0,
                len___0);
  } else
  if (blank_at_eof) {
    emit_line_0(o, ws, (char const   *)((void *)0), 0U, reset, sign, line___0, len___0);
  } else {
    if (set_sign) {
      tmp = set_sign;
    } else {
      tmp = set;
    }
    emit_line_0(o, tmp, (char const   *)((void *)0), (unsigned int )(! (! set_sign)),
                reset, sign, (char const   *)"", 0);
    ws_check_emit(line___0, len___0, ws_rule, o->file, set, reset, ws);
  }
  return;
}
}
static void emit_diff_symbol_from_struct(struct diff_options *o , struct emitted_diff_symbol *eds ) ;
static char const   *nneof  =    (char const   *)" No newline at end of file\n";
static void emit_diff_symbol_from_struct(struct diff_options *o , struct emitted_diff_symbol *eds )
{
  char const   *context___0 ;
  char const   *reset ;
  char const   *set ;
  char const   *set_sign ;
  char const   *meta ;
  char const   *fraginfo ;
  struct strbuf sb___6 ;
  enum diff_symbol s___1 ;
  char const   *line___0 ;
  int len___0 ;
  unsigned int flags___0 ;
  size_t tmp ;
  char const   *tmp___0 ;
  char c___0 ;
  int tmp___1 ;
  char c___1 ;
  int tmp___2 ;
  char c___2 ;
  int tmp___3 ;
  char *tmp___4 ;
  char *tmp___5 ;
  char *tmp___6 ;
  char const   *tmp___7 ;
  char *tmp___8 ;
  char *tmp___9 ;
  char *tmp___10 ;
  char const   *tmp___11 ;
  char const   *tmp___12 ;
  char const   *tmp___13 ;
  char const   *tmp___14 ;
  char const   *tmp___15 ;
  char const   *tmp___16 ;
  char const   *tmp___17 ;
  size_t tmp___18 ;
  size_t tmp___19 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  s___1 = eds->s;
  line___0 = eds->line;
  len___0 = eds->len;
  flags___0 = (unsigned int )eds->flags;
  {
  if ((unsigned int )s___1 == 30U) {
    goto case_30;
  }
  if ((unsigned int )s___1 == 31U) {
    goto case_31;
  }
  if ((unsigned int )s___1 == 3U) {
    goto case_31;
  }
  if ((unsigned int )s___1 == 8U) {
    goto case_31;
  }
  if ((unsigned int )s___1 == 11U) {
    goto case_31;
  }
  if ((unsigned int )s___1 == 7U) {
    goto case_31;
  }
  if ((unsigned int )s___1 == 18U) {
    goto case_31;
  }
  if ((unsigned int )s___1 == 17U) {
    goto case_31;
  }
  if ((unsigned int )s___1 == 16U) {
    goto case_31;
  }
  if ((unsigned int )s___1 == 32U) {
    goto case_32;
  }
  if ((unsigned int )s___1 == 27U) {
    goto case_32;
  }
  if ((unsigned int )s___1 == 33U) {
    goto case_33;
  }
  if ((unsigned int )s___1 == 26U) {
    goto case_26;
  }
  if ((unsigned int )s___1 == 28U) {
    goto case_28;
  }
  if ((unsigned int )s___1 == 29U) {
    goto case_29;
  }
  if ((unsigned int )s___1 == 24U) {
    goto case_24;
  }
  if ((unsigned int )s___1 == 25U) {
    goto case_25;
  }
  if ((unsigned int )s___1 == 22U) {
    goto case_22;
  }
  if ((unsigned int )s___1 == 23U) {
    goto case_23;
  }
  if ((unsigned int )s___1 == 21U) {
    goto case_21;
  }
  if ((unsigned int )s___1 == 20U) {
    goto case_21;
  }
  if ((unsigned int )s___1 == 0U) {
    goto case_0;
  }
  if ((unsigned int )s___1 == 1U) {
    goto case_1;
  }
  if ((unsigned int )s___1 == 2U) {
    goto case_2;
  }
  if ((unsigned int )s___1 == 4U) {
    goto case_4;
  }
  if ((unsigned int )s___1 == 19U) {
    goto case_19;
  }
  if ((unsigned int )s___1 == 12U) {
    goto case_12;
  }
  if ((unsigned int )s___1 == 13U) {
    goto case_13;
  }
  if ((unsigned int )s___1 == 14U) {
    goto case_14;
  }
  if ((unsigned int )s___1 == 15U) {
    goto case_15;
  }
  if ((unsigned int )s___1 == 5U) {
    goto case_5;
  }
  if ((unsigned int )s___1 == 6U) {
    goto case_6;
  }
  if ((unsigned int )s___1 == 9U) {
    goto case_9;
  }
  if ((unsigned int )s___1 == 10U) {
    goto case_10;
  }
  goto switch_default___1;
  case_30: /* CIL Label */
  context___0 = diff_get_color(o->use_color, (enum color_diff )1);
  reset = diff_get_color(o->use_color, (enum color_diff )0);
  _IO_putc('\n', o->file);
  tmp = strlen(nneof);
  emit_line_0(o, context___0, (char const   *)((void *)0), 0U, reset, '\\', nneof,
              (int )tmp);
  goto switch_break;
  case_31: /* CIL Label */
  case_3: /* CIL Label */
  case_8: /* CIL Label */
  case_11: /* CIL Label */
  case_7: /* CIL Label */
  case_18: /* CIL Label */
  case_17: /* CIL Label */
  case_16: /* CIL Label */
  emit_line(o, (char const   *)"", (char const   *)"", line___0, len___0);
  goto switch_break;
  case_32: /* CIL Label */
  case_27: /* CIL Label */
  context___0 = diff_get_color(o->use_color, (enum color_diff )1);
  reset = diff_get_color(o->use_color, (enum color_diff )0);
  emit_line(o, context___0, reset, line___0, len___0);
  goto switch_break;
  case_33: /* CIL Label */
  tmp___0 = diff_line_prefix(o);
  fprintf(o->file, (char const   *)"%s%c", tmp___0, o->line_termination);
  goto switch_break;
  case_26: /* CIL Label */
  set = diff_get_color(o->use_color, (enum color_diff )1);
  reset = diff_get_color(o->use_color, (enum color_diff )0);
  set_sign = (char const   *)((void *)0);
  if (o->flags.dual_color_diffed_diffs) {
    if (! len___0) {
      tmp___1 = 0;
    } else {
      tmp___1 = (int )*(line___0 + 0);
    }
    c___0 = (char )tmp___1;
    if ((int )c___0 == 43) {
      set = diff_get_color(o->use_color, (enum color_diff )5);
    } else
    if ((int )c___0 == 64) {
      set = diff_get_color(o->use_color, (enum color_diff )3);
    } else
    if ((int )c___0 == 45) {
      set = diff_get_color(o->use_color, (enum color_diff )4);
    }
  }
  emit_line_ws_markup(o, set_sign, set, reset, 2, line___0, len___0, flags___0 & (unsigned int )((((1 << 12) | (1 << 14)) | (1 << 13)) | 07777),
                      0);
  goto switch_break;
  case_28: /* CIL Label */
  {
  if ((flags___0 & (unsigned int )(((1 << 17) | (1 << 18)) | (1 << 19))) == (unsigned int )(((1 << 17) | (1 << 18)) | (1 << 19))) {
    goto case_exp;
  }
  if ((flags___0 & (unsigned int )(((1 << 17) | (1 << 18)) | (1 << 19))) == (unsigned int )((1 << 17) | (1 << 18))) {
    goto case_exp___0;
  }
  if ((flags___0 & (unsigned int )(((1 << 17) | (1 << 18)) | (1 << 19))) == (unsigned int )((1 << 17) | (1 << 19))) {
    goto case_exp___1;
  }
  if ((flags___0 & (unsigned int )(((1 << 17) | (1 << 18)) | (1 << 19))) == (unsigned int )(1 << 17)) {
    goto case_exp___2;
  }
  goto switch_default;
  case_exp: /* CIL Label */
  set = diff_get_color(o->use_color, (enum color_diff )16);
  goto switch_break___0;
  case_exp___0: /* CIL Label */
  set = diff_get_color(o->use_color, (enum color_diff )14);
  goto switch_break___0;
  case_exp___1: /* CIL Label */
  set = diff_get_color(o->use_color, (enum color_diff )15);
  goto switch_break___0;
  case_exp___2: /* CIL Label */
  set = diff_get_color(o->use_color, (enum color_diff )13);
  goto switch_break___0;
  switch_default: /* CIL Label */
  set = diff_get_color(o->use_color, (enum color_diff )5);
  switch_break___0: /* CIL Label */ ;
  }
  reset = diff_get_color(o->use_color, (enum color_diff )0);
  if (! o->flags.dual_color_diffed_diffs) {
    set_sign = (char const   *)((void *)0);
  } else {
    if (! len___0) {
      tmp___2 = 0;
    } else {
      tmp___2 = (int )*(line___0 + 0);
    }
    c___1 = (char )tmp___2;
    set_sign = set;
    if ((int )c___1 == 45) {
      set = diff_get_color(o->use_color, (enum color_diff )21);
    } else
    if ((int )c___1 == 64) {
      set = diff_get_color(o->use_color, (enum color_diff )3);
    } else
    if ((int )c___1 == 43) {
      set = diff_get_color(o->use_color, (enum color_diff )22);
    } else {
      set = diff_get_color(o->use_color, (enum color_diff )20);
    }
    flags___0 &= (unsigned int )(~ ((((1 << 12) | (1 << 14)) | (1 << 13)) | 07777));
  }
  emit_line_ws_markup(o, set_sign, set, reset, 0, line___0, len___0, flags___0 & (unsigned int )((((1 << 12) | (1 << 14)) | (1 << 13)) | 07777),
                      (int )(flags___0 & (unsigned int )(1 << 16)));
  goto switch_break;
  case_29: /* CIL Label */
  {
  if ((flags___0 & (unsigned int )(((1 << 17) | (1 << 18)) | (1 << 19))) == (unsigned int )(((1 << 17) | (1 << 18)) | (1 << 19))) {
    goto case_exp___3;
  }
  if ((flags___0 & (unsigned int )(((1 << 17) | (1 << 18)) | (1 << 19))) == (unsigned int )((1 << 17) | (1 << 18))) {
    goto case_exp___4;
  }
  if ((flags___0 & (unsigned int )(((1 << 17) | (1 << 18)) | (1 << 19))) == (unsigned int )((1 << 17) | (1 << 19))) {
    goto case_exp___5;
  }
  if ((flags___0 & (unsigned int )(((1 << 17) | (1 << 18)) | (1 << 19))) == (unsigned int )(1 << 17)) {
    goto case_exp___6;
  }
  goto switch_default___0;
  case_exp___3: /* CIL Label */
  set = diff_get_color(o->use_color, (enum color_diff )12);
  goto switch_break___1;
  case_exp___4: /* CIL Label */
  set = diff_get_color(o->use_color, (enum color_diff )10);
  goto switch_break___1;
  case_exp___5: /* CIL Label */
  set = diff_get_color(o->use_color, (enum color_diff )11);
  goto switch_break___1;
  case_exp___6: /* CIL Label */
  set = diff_get_color(o->use_color, (enum color_diff )9);
  goto switch_break___1;
  switch_default___0: /* CIL Label */
  set = diff_get_color(o->use_color, (enum color_diff )4);
  switch_break___1: /* CIL Label */ ;
  }
  reset = diff_get_color(o->use_color, (enum color_diff )0);
  if (! o->flags.dual_color_diffed_diffs) {
    set_sign = (char const   *)((void *)0);
  } else {
    if (! len___0) {
      tmp___3 = 0;
    } else {
      tmp___3 = (int )*(line___0 + 0);
    }
    c___2 = (char )tmp___3;
    set_sign = set;
    if ((int )c___2 == 43) {
      set = diff_get_color(o->use_color, (enum color_diff )19);
    } else
    if ((int )c___2 == 64) {
      set = diff_get_color(o->use_color, (enum color_diff )3);
    } else
    if ((int )c___2 == 45) {
      set = diff_get_color(o->use_color, (enum color_diff )18);
    } else {
      set = diff_get_color(o->use_color, (enum color_diff )17);
    }
  }
  emit_line_ws_markup(o, set_sign, set, reset, 1, line___0, len___0, flags___0 & (unsigned int )((((1 << 12) | (1 << 14)) | (1 << 13)) | 07777),
                      0);
  goto switch_break;
  case_24: /* CIL Label */
  context___0 = diff_get_color(o->use_color, (enum color_diff )1);
  reset = diff_get_color(o->use_color, (enum color_diff )0);
  emit_line(o, context___0, reset, line___0, len___0);
  fputs((char const   * __restrict  )"~\n", (FILE * __restrict  )o->file);
  goto switch_break;
  case_25: /* CIL Label */
  context___0 = diff_get_color(o->use_color, (enum color_diff )1);
  reset = diff_get_color(o->use_color, (enum color_diff )0);
  if ((int const   )*(line___0 + 0) != 10) {
    line___0 ++;
    len___0 --;
  }
  emit_line(o, context___0, reset, line___0, len___0);
  goto switch_break;
  case_22: /* CIL Label */
  meta = diff_get_color(o->use_color, (enum color_diff )2);
  reset = diff_get_color(o->use_color, (enum color_diff )0);
  tmp___6 = strchr(line___0, ' ');
  if (tmp___6) {
    tmp___5 = "\t";
  } else {
    tmp___5 = "";
  }
  tmp___7 = diff_line_prefix(o);
  fprintf(o->file, (char const   *)"%s%s+++ %s%s%s\n", tmp___7, meta, line___0, reset,
          tmp___5);
  goto switch_break;
  case_23: /* CIL Label */
  meta = diff_get_color(o->use_color, (enum color_diff )2);
  reset = diff_get_color(o->use_color, (enum color_diff )0);
  tmp___10 = strchr(line___0, ' ');
  if (tmp___10) {
    tmp___9 = "\t";
  } else {
    tmp___9 = "";
  }
  tmp___11 = diff_line_prefix(o);
  fprintf(o->file, (char const   *)"%s%s--- %s%s%s\n", tmp___11, meta, line___0, reset,
          tmp___9);
  goto switch_break;
  case_21: /* CIL Label */
  case_20: /* CIL Label */
  fprintf(o->file, (char const   *)"%s", line___0);
  goto switch_break;
  case_0: /* CIL Label */
  tmp___12 = diff_line_prefix(o);
  fprintf(o->file, (char const   *)"%sGIT binary patch\n", tmp___12);
  goto switch_break;
  case_1: /* CIL Label */
  tmp___13 = diff_line_prefix(o);
  fprintf(o->file, (char const   *)"%sdelta %s\n", tmp___13, line___0);
  goto switch_break;
  case_2: /* CIL Label */
  tmp___14 = diff_line_prefix(o);
  fprintf(o->file, (char const   *)"%sliteral %s\n", tmp___14, line___0);
  goto switch_break;
  case_4: /* CIL Label */
  tmp___15 = diff_line_prefix(o);
  fputs((char const   * __restrict  )tmp___15, (FILE * __restrict  )o->file);
  fputc('\n', o->file);
  goto switch_break;
  case_19: /* CIL Label */
  fraginfo = diff_get_color(o->use_color, (enum color_diff )3);
  reset = diff_get_color(o->use_color, (enum color_diff )0);
  emit_line(o, fraginfo, reset, line___0, len___0);
  goto switch_break;
  case_12: /* CIL Label */
  set = diff_get_color(o->use_color, (enum color_diff )5);
  reset = diff_get_color(o->use_color, (enum color_diff )0);
  emit_line(o, set, reset, line___0, len___0);
  goto switch_break;
  case_13: /* CIL Label */
  set = diff_get_color(o->use_color, (enum color_diff )4);
  reset = diff_get_color(o->use_color, (enum color_diff )0);
  emit_line(o, set, reset, line___0, len___0);
  goto switch_break;
  case_14: /* CIL Label */
  tmp___16 = diff_line_prefix(o);
  fprintf(o->file, (char const   *)"%sSubmodule %s contains untracked content\n",
          tmp___16, line___0);
  goto switch_break;
  case_15: /* CIL Label */
  tmp___17 = diff_line_prefix(o);
  fprintf(o->file, (char const   *)"%sSubmodule %s contains modified content\n", tmp___17,
          line___0);
  goto switch_break;
  case_5: /* CIL Label */
  tmp___18 = strlen((char const   *)" 0 files changed\n");
  emit_line(o, (char const   *)"", (char const   *)"", (char const   *)" 0 files changed\n",
            (int )tmp___18);
  goto switch_break;
  case_6: /* CIL Label */
  tmp___19 = strlen((char const   *)" ...\n");
  emit_line(o, (char const   *)"", (char const   *)"", (char const   *)" ...\n", (int )tmp___19);
  goto switch_break;
  case_9: /* CIL Label */
  fprintf(o->file, (char const   *)"%.*s", len___0, line___0);
  goto switch_break;
  case_10: /* CIL Label */
  fputs((char const   * __restrict  )o->stat_sep, (FILE * __restrict  )o->file);
  goto switch_break;
  switch_default___1: /* CIL Label */
  BUG_fl((char const   *)"diff.c", 1513, (char const   *)"unknown diff symbol");
  switch_break: /* CIL Label */ ;
  }
  strbuf_release(& sb___6);
  return;
}
}
static void emit_diff_symbol(struct diff_options *o , enum diff_symbol s___1 , char const   *line___0 ,
                             int len___0 , unsigned int flags___0 )
{
  struct emitted_diff_symbol e ;

  {
  e.line = line___0;
  e.len = len___0;
  e.flags = (int )flags___0;
  e.indent_off = 0;
  e.indent_width = 0;
  e.id = 0U;
  e.s = s___1;
  if (o->emitted_symbols) {
    append_emitted_diff_symbol(o, & e);
  } else {
    emit_diff_symbol_from_struct(o, & e);
  }
  return;
}
}
void diff_emit_submodule_del(struct diff_options *o , char const   *line___0 )
{
  size_t tmp ;

  {
  tmp = strlen(line___0);
  emit_diff_symbol(o, (enum diff_symbol )13, line___0, (int )tmp, 0U);
  return;
}
}
void diff_emit_submodule_add(struct diff_options *o , char const   *line___0 )
{
  size_t tmp ;

  {
  tmp = strlen(line___0);
  emit_diff_symbol(o, (enum diff_symbol )12, line___0, (int )tmp, 0U);
  return;
}
}
void diff_emit_submodule_untracked(struct diff_options *o , char const   *path___6 )
{
  size_t tmp ;

  {
  tmp = strlen(path___6);
  emit_diff_symbol(o, (enum diff_symbol )14, path___6, (int )tmp, 0U);
  return;
}
}
void diff_emit_submodule_modified(struct diff_options *o , char const   *path___6 )
{
  size_t tmp ;

  {
  tmp = strlen(path___6);
  emit_diff_symbol(o, (enum diff_symbol )15, path___6, (int )tmp, 0U);
  return;
}
}
void diff_emit_submodule_header(struct diff_options *o , char const   *header___0 )
{
  size_t tmp ;

  {
  tmp = strlen(header___0);
  emit_diff_symbol(o, (enum diff_symbol )16, header___0, (int )tmp, 0U);
  return;
}
}
void diff_emit_submodule_error(struct diff_options *o , char const   *err___4 )
{
  size_t tmp ;

  {
  tmp = strlen(err___4);
  emit_diff_symbol(o, (enum diff_symbol )17, err___4, (int )tmp, 0U);
  return;
}
}
void diff_emit_submodule_pipethrough(struct diff_options *o , char const   *line___0 ,
                                     int len___0 )
{


  {
  emit_diff_symbol(o, (enum diff_symbol )18, line___0, len___0, 0U);
  return;
}
}
static int new_blank_line_at_eof(struct emit_callback *ecbdata , char const   *line___0 ,
                                 int len___0 )
{
  int tmp ;

  {
  if (ecbdata->ws_rule & 1024U) {
    if (ecbdata->blank_at_eof_in_preimage) {
      if (ecbdata->blank_at_eof_in_postimage) {
        if (ecbdata->blank_at_eof_in_preimage <= ecbdata->lno_in_preimage) {
          if (! (ecbdata->blank_at_eof_in_postimage <= ecbdata->lno_in_postimage)) {
            return (0);
          }
        } else {
          return (0);
        }
      } else {
        return (0);
      }
    } else {
      return (0);
    }
  } else {
    return (0);
  }
  tmp = ws_blank_line(line___0, len___0, ecbdata->ws_rule);
  return (tmp);
}
}
static void emit_add_line(struct emit_callback *ecbdata , char const   *line___0 ,
                          int len___0 )
{
  unsigned int flags___0 ;
  int tmp ;

  {
  flags___0 = (unsigned int )(1 << 12) | ecbdata->ws_rule;
  tmp = new_blank_line_at_eof(ecbdata, line___0, len___0);
  if (tmp) {
    flags___0 |= (unsigned int )(1 << 16);
  }
  emit_diff_symbol(ecbdata->opt, (enum diff_symbol )28, line___0, len___0, flags___0);
  return;
}
}
static void emit_del_line(struct emit_callback *ecbdata , char const   *line___0 ,
                          int len___0 )
{
  unsigned int flags___0 ;

  {
  flags___0 = (unsigned int )(1 << 14) | ecbdata->ws_rule;
  emit_diff_symbol(ecbdata->opt, (enum diff_symbol )29, line___0, len___0, flags___0);
  return;
}
}
static void emit_context_line(struct emit_callback *ecbdata , char const   *line___0 ,
                              int len___0 )
{
  unsigned int flags___0 ;

  {
  flags___0 = (unsigned int )(1 << 13) | ecbdata->ws_rule;
  emit_diff_symbol(ecbdata->opt, (enum diff_symbol )26, line___0, len___0, flags___0);
  return;
}
}
static void emit_hunk_header(struct emit_callback *ecbdata , char const   *line___0 ,
                             int len___0 ) ;
static char const   atat[2]  = {      (char const   )'@',      (char const   )'@'};
static void emit_hunk_header(struct emit_callback *ecbdata , char const   *line___0 ,
                             int len___0 )
{
  char const   *context___0 ;
  char const   *tmp ;
  char const   *frag ;
  char const   *tmp___0 ;
  char const   *func ;
  char const   *tmp___1 ;
  char const   *reset ;
  char const   *tmp___2 ;
  char const   *reverse___0 ;
  char *tmp___3 ;
  char const   *cp ;
  char const   *ep ;
  struct strbuf msgbuf___0 ;
  int org_len ;
  int i ;
  int tmp___4 ;
  void *tmp___5 ;

  {
  tmp = diff_get_color(ecbdata->color_diff, (enum color_diff )1);
  context___0 = tmp;
  tmp___0 = diff_get_color(ecbdata->color_diff, (enum color_diff )3);
  frag = tmp___0;
  tmp___1 = diff_get_color(ecbdata->color_diff, (enum color_diff )8);
  func = tmp___1;
  tmp___2 = diff_get_color(ecbdata->color_diff, (enum color_diff )0);
  reset = tmp___2;
  if (ecbdata->color_diff) {
    tmp___3 = "\033[7m";
  } else {
    tmp___3 = "";
  }
  reverse___0 = (char const   *)tmp___3;
  msgbuf___0.alloc = 0UL;
  msgbuf___0.len = 0UL;
  msgbuf___0.buf = strbuf_slopbuf;
  org_len = len___0;
  i = 1;
  if (len___0 < 10) {
    emit_diff_symbol(ecbdata->opt, (enum diff_symbol )32, line___0, len___0, 0U);
    return;
  } else {
    tmp___4 = memcmp((void const   *)line___0, (void const   *)(atat), (size_t )2);
    if (tmp___4) {
      emit_diff_symbol(ecbdata->opt, (enum diff_symbol )32, line___0, len___0, 0U);
      return;
    } else {
      tmp___5 = memmem((void const   *)(line___0 + 2), (size_t )(len___0 - 2), (void const   *)(atat),
                       (size_t )2);
      ep = (char const   *)tmp___5;
      if (! ep) {
        emit_diff_symbol(ecbdata->opt, (enum diff_symbol )32, line___0, len___0, 0U);
        return;
      }
    }
  }
  ep += 2;
  if ((ecbdata->opt)->flags.dual_color_diffed_diffs) {
    strbuf_addstr(& msgbuf___0, reverse___0);
  }
  strbuf_addstr(& msgbuf___0, frag);
  if ((ecbdata->opt)->flags.suppress_hunk_header_line_count) {
    strbuf_add(& msgbuf___0, (void const   *)(atat), sizeof(atat));
  } else {
    strbuf_add(& msgbuf___0, (void const   *)line___0, (size_t )(ep - line___0));
  }
  strbuf_addstr(& msgbuf___0, reset);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 3)) {
      goto while_break;
    }
    if ((int const   )*(line___0 + (len___0 - i)) == 13) {
      len___0 --;
    } else
    if ((int const   )*(line___0 + (len___0 - i)) == 10) {
      len___0 --;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  cp = ep;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (ep - line___0 < (long )len___0)) {
      goto while_break___0;
    }
    if ((int const   )*ep != 32) {
      if ((int const   )*ep != 9) {
        goto while_break___0;
      }
    }
    ep ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if ((unsigned long )ep != (unsigned long )cp) {
    strbuf_addstr(& msgbuf___0, context___0);
    strbuf_add(& msgbuf___0, (void const   *)cp, (size_t )(ep - cp));
    strbuf_addstr(& msgbuf___0, reset);
  }
  if ((unsigned long )ep < (unsigned long )(line___0 + len___0)) {
    strbuf_addstr(& msgbuf___0, func);
    strbuf_add(& msgbuf___0, (void const   *)ep, (size_t )((line___0 + len___0) - ep));
    strbuf_addstr(& msgbuf___0, reset);
  }
  strbuf_add(& msgbuf___0, (void const   *)(line___0 + len___0), (size_t )(org_len - len___0));
  strbuf_complete_line(& msgbuf___0);
  emit_diff_symbol(ecbdata->opt, (enum diff_symbol )31, (char const   *)msgbuf___0.buf,
                   (int )msgbuf___0.len, 0U);
  strbuf_release(& msgbuf___0);
  return;
}
}
static struct diff_tempfile *claim_diff_tempfile(void)
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(diff_temp) / sizeof(diff_temp[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    if (! diff_temp[i].name) {
      return (diff_temp + i);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  BUG_fl((char const   *)"diff.c", 1678, (char const   *)"diff is failing to clean up its tempfiles");
}
}
static void remove_tempfile(void)
{
  int i ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(diff_temp) / sizeof(diff_temp[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp = is_tempfile_active(diff_temp[i].tempfile);
    if (tmp) {
      delete_tempfile(& diff_temp[i].tempfile);
    }
    diff_temp[i].name = (char const   *)((void *)0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void add_line_count(struct strbuf *out , int count___0 )
{


  {
  {
  if (count___0 == 0) {
    goto case_0;
  }
  if (count___0 == 1) {
    goto case_1;
  }
  goto switch_default;
  case_0: /* CIL Label */
  strbuf_addstr(out, (char const   *)"0,0");
  goto switch_break;
  case_1: /* CIL Label */
  strbuf_addstr(out, (char const   *)"1");
  goto switch_break;
  switch_default: /* CIL Label */
  strbuf_addf(out, (char const   *)"1,%d", count___0);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static void emit_rewrite_lines(struct emit_callback *ecb , int prefix___1 , char const   *data ,
                               int size )
{
  char const   *endp ;
  int len___0 ;
  void *tmp ;

  {
  endp = (char const   *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (0 < size)) {
      goto while_break;
    }
    tmp = memchr((void const   *)data, '\n', (size_t )size);
    endp = (char const   *)tmp;
    if (endp) {
      len___0 = (int )((endp - data) + 1L);
    } else {
      len___0 = size;
    }
    if (prefix___1 != 43) {
      (ecb->lno_in_preimage) ++;
      emit_del_line(ecb, data, len___0);
    } else {
      (ecb->lno_in_postimage) ++;
      emit_add_line(ecb, data, len___0);
    }
    size -= len___0;
    data += len___0;
  }
  while_break: /* CIL Label */ ;
  }
  if (! endp) {
    emit_diff_symbol(ecb->opt, (enum diff_symbol )30, (char const   *)((void *)0),
                     0, 0U);
  }
  return;
}
}
static void emit_rewrite_diff(char const   *name_a , char const   *name_b , struct diff_filespec *one___0 ,
                              struct diff_filespec *two___0 , struct userdiff_driver *textconv_one ,
                              struct userdiff_driver *textconv_two , struct diff_options *o ) ;
static struct strbuf a_name  =    {0UL, 0UL, strbuf_slopbuf};
static struct strbuf b_name  =    {0UL, 0UL, strbuf_slopbuf};
static void emit_rewrite_diff(char const   *name_a , char const   *name_b , struct diff_filespec *one___0 ,
                              struct diff_filespec *two___0 , struct userdiff_driver *textconv_one ,
                              struct userdiff_driver *textconv_two , struct diff_options *o )
{
  int lc_a ;
  int lc_b ;
  char const   *a_prefix ;
  char const   *b_prefix ;
  char *data_one ;
  char *data_two ;
  size_t size_one ;
  size_t size_two ;
  struct emit_callback ecbdata ;
  struct strbuf out ;
  mmfile_t mf1 ;
  mmfile_t mf2 ;

  {
  out.alloc = 0UL;
  out.len = 0UL;
  out.buf = strbuf_slopbuf;
  if (diff_mnemonic_prefix) {
    if (o->flags.reverse_diff) {
      a_prefix = o->b_prefix;
      b_prefix = o->a_prefix;
    } else {
      a_prefix = o->a_prefix;
      b_prefix = o->b_prefix;
    }
  } else {
    a_prefix = o->a_prefix;
    b_prefix = o->b_prefix;
  }
  name_a += (int const   )*name_a == 47;
  name_b += (int const   )*name_b == 47;
  strbuf_setlen(& a_name, (size_t )0);
  strbuf_setlen(& b_name, (size_t )0);
  quote_two_c_style(& a_name, a_prefix, name_a, 0U);
  quote_two_c_style(& b_name, b_prefix, name_b, 0U);
  size_one = fill_textconv(o->repo, textconv_one, one___0, & data_one);
  size_two = fill_textconv(o->repo, textconv_two, two___0, & data_two);
  memset((void *)(& ecbdata), 0, sizeof(ecbdata));
  ecbdata.color_diff = want_color_fd(1, o->use_color);
  ecbdata.ws_rule = whitespace_rule((o->repo)->index, name_b);
  ecbdata.opt = o;
  if (ecbdata.ws_rule & 1024U) {
    mf1.ptr = data_one;
    mf2.ptr = data_two;
    mf1.size = (long )size_one;
    mf2.size = (long )size_two;
    check_blank_at_eof(& mf1, & mf2, & ecbdata);
  }
  ecbdata.lno_in_preimage = 1;
  ecbdata.lno_in_postimage = 1;
  lc_a = count_lines((char const   *)data_one, (int )size_one);
  lc_b = count_lines((char const   *)data_two, (int )size_two);
  emit_diff_symbol(o, (enum diff_symbol )23, (char const   *)a_name.buf, (int )a_name.len,
                   0U);
  emit_diff_symbol(o, (enum diff_symbol )22, (char const   *)b_name.buf, (int )b_name.len,
                   0U);
  strbuf_addstr(& out, (char const   *)"@@ -");
  if (! o->irreversible_delete) {
    add_line_count(& out, lc_a);
  } else {
    strbuf_addstr(& out, (char const   *)"?,?");
  }
  strbuf_addstr(& out, (char const   *)" +");
  add_line_count(& out, lc_b);
  strbuf_addstr(& out, (char const   *)" @@\n");
  emit_diff_symbol(o, (enum diff_symbol )19, (char const   *)out.buf, (int )out.len,
                   0U);
  strbuf_release(& out);
  if (lc_a) {
    if (! o->irreversible_delete) {
      emit_rewrite_lines(& ecbdata, '-', (char const   *)data_one, (int )size_one);
    }
  }
  if (lc_b) {
    emit_rewrite_lines(& ecbdata, '+', (char const   *)data_two, (int )size_two);
  }
  if (textconv_one) {
    free((void *)data_one);
  }
  if (textconv_two) {
    free((void *)data_two);
  }
  return;
}
}
static void diff_words_append(char *line___0 , unsigned long len___0 , struct diff_words_buffer *buffer___5 )
{
  size_t tmp ;
  void *tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )buffer___5->text.size + len___0 > buffer___5->alloc) {
      if (((buffer___5->alloc + 16UL) * 3UL) / 2UL < (unsigned long )buffer___5->text.size + len___0) {
        buffer___5->alloc = (unsigned long )buffer___5->text.size + len___0;
      } else {
        buffer___5->alloc = ((buffer___5->alloc + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*(buffer___5->text.ptr)), buffer___5->alloc);
      tmp___0 = xrealloc((void *)buffer___5->text.ptr, tmp);
      buffer___5->text.ptr = (char *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  line___0 ++;
  len___0 --;
  memcpy((void *)(buffer___5->text.ptr + buffer___5->text.size), (void const   *)line___0,
         len___0);
  buffer___5->text.size = (long )((unsigned long )buffer___5->text.size + len___0);
  *(buffer___5->text.ptr + buffer___5->text.size) = (char )'\000';
  return;
}
}
static struct diff_words_style diff_words_styles[3]  = {      {(enum diff_words_type )1, {(char const   *)"+", (char const   *)"\n", (char const   *)0},
      {(char const   *)"-", (char const   *)"\n", (char const   *)0}, {(char const   *)" ",
                                                                       (char const   *)"\n",
                                                                       (char const   *)0},
      (char const   *)"~\n"},
        {(enum diff_words_type )2, {(char const   *)"{+", (char const   *)"+}", (char const   *)0},
      {(char const   *)"[-", (char const   *)"-]", (char const   *)0}, {(char const   *)"",
                                                                        (char const   *)"",
                                                                        (char const   *)0},
      (char const   *)"\n"},
        {(enum diff_words_type )3, {(char const   *)"", (char const   *)"", (char const   *)0},
      {(char const   *)"", (char const   *)"", (char const   *)0}, {(char const   *)"",
                                                                    (char const   *)"",
                                                                    (char const   *)0},
      (char const   *)"\n"}};
static int fn_out_diff_words_write_helper(struct diff_options *o , struct diff_words_style_elem *st_el ,
                                          char const   *newline , size_t count___0 ,
                                          char const   *buf___19 )
{
  int print ;
  struct strbuf sb___6 ;
  char *p___0 ;
  void *tmp ;
  char const   *tmp___0 ;
  char const   *reset ;
  char *tmp___1 ;
  size_t tmp___2 ;

  {
  print = 0;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! count___0) {
      goto while_break;
    }
    tmp = memchr((void const   *)buf___19, '\n', count___0);
    p___0 = (char *)tmp;
    if (print) {
      tmp___0 = diff_line_prefix(o);
      strbuf_addstr(& sb___6, tmp___0);
    }
    if ((unsigned long )p___0 != (unsigned long )buf___19) {
      if (st_el->color) {
        if (*(st_el->color)) {
          tmp___1 = "\033[m";
        } else {
          tmp___1 = (char *)((void *)0);
        }
      } else {
        tmp___1 = (char *)((void *)0);
      }
      reset = (char const   *)tmp___1;
      if (st_el->color) {
        if (*(st_el->color)) {
          strbuf_addstr(& sb___6, st_el->color);
        }
      }
      strbuf_addstr(& sb___6, st_el->prefix);
      if (p___0) {
        tmp___2 = (size_t )(p___0 - (char *)buf___19);
      } else {
        tmp___2 = count___0;
      }
      strbuf_add(& sb___6, (void const   *)buf___19, tmp___2);
      strbuf_addstr(& sb___6, st_el->suffix);
      if (reset) {
        strbuf_addstr(& sb___6, reset);
      }
    }
    if (! p___0) {
      goto out;
    }
    strbuf_addstr(& sb___6, newline);
    count___0 -= (size_t )((p___0 + 1) - (char *)buf___19);
    buf___19 = (char const   *)(p___0 + 1);
    print = 1;
    if (count___0) {
      emit_diff_symbol(o, (enum diff_symbol )9, (char const   *)sb___6.buf, (int )sb___6.len,
                       0U);
      strbuf_setlen(& sb___6, (size_t )0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  out:
  if (sb___6.len) {
    emit_diff_symbol(o, (enum diff_symbol )9, (char const   *)sb___6.buf, (int )sb___6.len,
                     0U);
  }
  strbuf_release(& sb___6);
  return (0);
}
}
static int color_words_output_graph_prefix(struct diff_words_data *diff_words )
{


  {
  if (diff_words->last_minus == 0) {
    if ((unsigned long )diff_words->current_plus == (unsigned long )diff_words->plus.text.ptr) {
      return (1);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if ((unsigned long )diff_words->current_plus > (unsigned long )diff_words->plus.text.ptr) {
    if ((int const   )*(diff_words->current_plus - 1) == 10) {
      return (1);
    } else {
      return (0);
    }
  } else {
    return (0);
  }
}
}
static void fn_out_diff_words_aux(void *priv , long minus_first , long minus_len ,
                                  long plus_first , long plus_len , char const   *func ,
                                  long funclen )
{
  struct diff_words_data *diff_words ;
  struct diff_words_style *style ;
  char const   *minus_begin ;
  char const   *minus_end ;
  char const   *plus_begin ;
  char const   *plus_end ;
  struct diff_options *opt___0 ;
  char const   *line_prefix ;
  int tmp ;

  {
  diff_words = (struct diff_words_data *)priv;
  style = diff_words->style;
  opt___0 = diff_words->opt;
  assert((int )opt___0);
  line_prefix = diff_line_prefix(opt___0);
  if (minus_len) {
    minus_begin = (diff_words->minus.orig + minus_first)->begin;
    minus_end = (diff_words->minus.orig + ((minus_first + minus_len) - 1L))->end;
  } else {
    minus_end = (diff_words->minus.orig + minus_first)->end;
    minus_begin = minus_end;
  }
  if (plus_len) {
    plus_begin = (diff_words->plus.orig + plus_first)->begin;
    plus_end = (diff_words->plus.orig + ((plus_first + plus_len) - 1L))->end;
  } else {
    plus_end = (diff_words->plus.orig + plus_first)->end;
    plus_begin = plus_end;
  }
  tmp = color_words_output_graph_prefix(diff_words);
  if (tmp) {
    fputs((char const   * __restrict  )line_prefix, (FILE * __restrict  )(diff_words->opt)->file);
  }
  if ((unsigned long )diff_words->current_plus != (unsigned long )plus_begin) {
    fn_out_diff_words_write_helper(diff_words->opt, & style->ctx, style->newline,
                                   (size_t )(plus_begin - diff_words->current_plus),
                                   diff_words->current_plus);
  }
  if ((unsigned long )minus_begin != (unsigned long )minus_end) {
    fn_out_diff_words_write_helper(diff_words->opt, & style->old_word, style->newline,
                                   (size_t )(minus_end - minus_begin), minus_begin);
  }
  if ((unsigned long )plus_begin != (unsigned long )plus_end) {
    fn_out_diff_words_write_helper(diff_words->opt, & style->new_word, style->newline,
                                   (size_t )(plus_end - plus_begin), plus_begin);
  }
  diff_words->current_plus = plus_end;
  diff_words->last_minus = (int )minus_first;
  return;
}
}
static int find_word_boundaries(mmfile_t *buffer___5 , regex_t *word_regex , int *begin___0 ,
                                int *end )
{
  regmatch_t match___0[1] ;
  char *p___0 ;
  void *tmp ;
  int tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (word_regex) {
      if (! ((long )*begin___0 < buffer___5->size)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___0 = regexec_buf((regex_t const   *)word_regex, (char const   *)(buffer___5->ptr + *begin___0),
                          (size_t )(buffer___5->size - (long )*begin___0), (size_t )1,
                          match___0, 0);
    if (tmp___0) {
      return (-1);
    } else {
      tmp = memchr((void const   *)((buffer___5->ptr + *begin___0) + match___0[0].rm_so),
                   '\n', (size_t )(match___0[0].rm_eo - match___0[0].rm_so));
      p___0 = (char *)tmp;
      if (p___0) {
        *end = (int )(p___0 - buffer___5->ptr);
      } else {
        *end = match___0[0].rm_eo + *begin___0;
      }
      *begin___0 += match___0[0].rm_so;
      if (*begin___0 == *end) {
        (*begin___0) ++;
      } else {
        return (*begin___0 > *end);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if ((long )*begin___0 < buffer___5->size) {
      if (! (((int const   )sane_ctype[(unsigned char )*(buffer___5->ptr + *begin___0)] & 1) != 0)) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    (*begin___0) ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if ((long )*begin___0 >= buffer___5->size) {
    return (-1);
  }
  *end = *begin___0 + 1;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if ((long )*end < buffer___5->size) {
      if (! (! (((int const   )sane_ctype[(unsigned char )*(buffer___5->ptr + *end)] & 1) != 0))) {
        goto while_break___1;
      }
    } else {
      goto while_break___1;
    }
    (*end) ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  return (0);
}
}
static void diff_words_fill(struct diff_words_buffer *buffer___5 , mmfile_t *out ,
                            regex_t *word_regex )
{
  int i ;
  int j ;
  long alloc___0 ;
  size_t tmp ;
  void *tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;

  {
  alloc___0 = 0L;
  out->size = 0L;
  out->ptr = (char *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (1 > buffer___5->orig_alloc) {
      if (((buffer___5->orig_alloc + 16) * 3) / 2 < 1) {
        buffer___5->orig_alloc = 1;
      } else {
        buffer___5->orig_alloc = ((buffer___5->orig_alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(buffer___5->orig)), (size_t )buffer___5->orig_alloc);
      tmp___0 = xrealloc((void *)buffer___5->orig, tmp);
      buffer___5->orig = (struct diff_words_orig *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = (char const   *)buffer___5->text.ptr;
  (buffer___5->orig + 0)->end = tmp___1;
  (buffer___5->orig + 0)->begin = tmp___1;
  buffer___5->orig_nr = 1;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((long )i < buffer___5->text.size)) {
      goto while_break___0;
    }
    tmp___2 = find_word_boundaries(& buffer___5->text, word_regex, & i, & j);
    if (tmp___2) {
      return;
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (buffer___5->orig_nr + 1 > buffer___5->orig_alloc) {
        if (((buffer___5->orig_alloc + 16) * 3) / 2 < buffer___5->orig_nr + 1) {
          buffer___5->orig_alloc = buffer___5->orig_nr + 1;
        } else {
          buffer___5->orig_alloc = ((buffer___5->orig_alloc + 16) * 3) / 2;
        }
        tmp___3 = st_mult(sizeof(*(buffer___5->orig)), (size_t )buffer___5->orig_alloc);
        tmp___4 = xrealloc((void *)buffer___5->orig, tmp___3);
        buffer___5->orig = (struct diff_words_orig *)tmp___4;
      }
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
    (buffer___5->orig + buffer___5->orig_nr)->begin = (char const   *)(buffer___5->text.ptr + i);
    (buffer___5->orig + buffer___5->orig_nr)->end = (char const   *)(buffer___5->text.ptr + j);
    (buffer___5->orig_nr) ++;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (((out->size + (long )j) - (long )i) + 1L > alloc___0) {
        if (((alloc___0 + 16L) * 3L) / 2L < ((out->size + (long )j) - (long )i) + 1L) {
          alloc___0 = ((out->size + (long )j) - (long )i) + 1L;
        } else {
          alloc___0 = ((alloc___0 + 16L) * 3L) / 2L;
        }
        tmp___5 = st_mult(sizeof(*(out->ptr)), (size_t )alloc___0);
        tmp___6 = xrealloc((void *)out->ptr, tmp___5);
        out->ptr = (char *)tmp___6;
      }
      goto while_break___2;
    }
    while_break___2: /* CIL Label */ ;
    }
    memcpy((void *)(out->ptr + out->size), (void const   *)(buffer___5->text.ptr + i),
           (size_t )(j - i));
    *(out->ptr + ((out->size + (long )j) - (long )i)) = (char )'\n';
    out->size += (long )((j - i) + 1);
    i = j - 1;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void diff_words_show(struct diff_words_data *diff_words )
{
  xpparam_t xpp ;
  xdemitconf_t xecfg ;
  mmfile_t minus ;
  mmfile_t plus ;
  struct diff_words_style *style ;
  struct diff_options *opt___0 ;
  char const   *line_prefix ;
  size_t tmp ;
  int tmp___0 ;
  size_t tmp___1 ;
  int tmp___2 ;
  long tmp___3 ;

  {
  style = diff_words->style;
  opt___0 = diff_words->opt;
  assert((int )opt___0);
  line_prefix = diff_line_prefix(opt___0);
  if (! diff_words->plus.text.size) {
    tmp = strlen(line_prefix);
    emit_diff_symbol(diff_words->opt, (enum diff_symbol )9, line_prefix, (int )tmp,
                     0U);
    fn_out_diff_words_write_helper(diff_words->opt, & style->old_word, style->newline,
                                   (size_t )diff_words->minus.text.size, (char const   *)diff_words->minus.text.ptr);
    diff_words->minus.text.size = 0L;
    return;
  }
  diff_words->current_plus = (char const   *)diff_words->plus.text.ptr;
  diff_words->last_minus = 0;
  memset((void *)(& xpp), 0, sizeof(xpp));
  memset((void *)(& xecfg), 0, sizeof(xecfg));
  diff_words_fill(& diff_words->minus, & minus, diff_words->word_regex);
  diff_words_fill(& diff_words->plus, & plus, diff_words->word_regex);
  xpp.flags = 0UL;
  xecfg.ctxlen = 0L;
  tmp___0 = xdi_diff_outf(& minus, & plus, & fn_out_diff_words_aux, (int (*)(void * ,
                                                                             char * ,
                                                                             unsigned long  ))((void *)0),
                          (void *)diff_words, (xpparam_t const   *)(& xpp), (xdemitconf_t const   *)(& xecfg));
  if (tmp___0) {
    die((char const   *)"unable to generate word diff");
  }
  free((void *)minus.ptr);
  free((void *)plus.ptr);
  if ((unsigned long )diff_words->current_plus != (unsigned long )(diff_words->plus.text.ptr + diff_words->plus.text.size)) {
    tmp___2 = color_words_output_graph_prefix(diff_words);
    if (tmp___2) {
      tmp___1 = strlen(line_prefix);
      emit_diff_symbol(diff_words->opt, (enum diff_symbol )9, line_prefix, (int )tmp___1,
                       0U);
    }
    fn_out_diff_words_write_helper(diff_words->opt, & style->ctx, style->newline,
                                   (size_t )((diff_words->plus.text.ptr + diff_words->plus.text.size) - (char *)diff_words->current_plus),
                                   diff_words->current_plus);
  }
  tmp___3 = 0L;
  diff_words->plus.text.size = tmp___3;
  diff_words->minus.text.size = tmp___3;
  return;
}
}
static void diff_words_flush(struct emit_callback *ecbdata )
{
  struct diff_options *wo ;
  struct diff_options *o ;
  struct emitted_diff_symbols *wol ;
  int i ;

  {
  wo = (ecbdata->diff_words)->opt;
  if ((ecbdata->diff_words)->minus.text.size) {
    diff_words_show(ecbdata->diff_words);
  } else
  if ((ecbdata->diff_words)->plus.text.size) {
    diff_words_show(ecbdata->diff_words);
  }
  if (wo->emitted_symbols) {
    o = ecbdata->opt;
    wol = wo->emitted_symbols;
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < wol->nr)) {
        goto while_break;
      }
      append_emitted_diff_symbol(o, wol->buf + i);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < wol->nr)) {
        goto while_break___0;
      }
      free((void *)(wol->buf + i)->line);
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    wol->nr = 0;
  }
  return;
}
}
static void diff_filespec_load_driver(struct diff_filespec *one___0 , struct index_state *istate )
{


  {
  if (one___0->driver) {
    return;
  }
  if (((int )one___0->mode & 0170000) == 0100000) {
    one___0->driver = userdiff_find_by_path(istate, (char const   *)one___0->path);
  }
  if (! one___0->driver) {
    one___0->driver = userdiff_find_by_name((char const   *)"default");
  }
  return;
}
}
static char const   *userdiff_word_regex(struct diff_filespec *one___0 , struct index_state *istate )
{


  {
  diff_filespec_load_driver(one___0, istate);
  return ((one___0->driver)->word_regex);
}
}
static void init_diff_words_data(struct emit_callback *ecbdata , struct diff_options *orig_opts ,
                                 struct diff_filespec *one___0 , struct diff_filespec *two___0 )
{
  int i ;
  struct diff_options *o ;
  void *tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;
  int tmp___3 ;
  struct diff_words_style *st ;
  int tmp___4 ;

  {
  tmp = xmalloc(sizeof(struct diff_options ));
  o = (struct diff_options *)tmp;
  memcpy((void *)o, (void const   *)orig_opts, sizeof(struct diff_options ));
  tmp___0 = xcalloc((size_t )1, sizeof(*(ecbdata->diff_words)));
  ecbdata->diff_words = (struct diff_words_data *)tmp___0;
  (ecbdata->diff_words)->type = o->word_diff;
  (ecbdata->diff_words)->opt = o;
  if (orig_opts->emitted_symbols) {
    tmp___1 = xcalloc((size_t )1, sizeof(*(o->emitted_symbols)));
    o->emitted_symbols = (struct emitted_diff_symbols *)tmp___1;
  }
  if (! o->word_regex) {
    o->word_regex = userdiff_word_regex(one___0, (o->repo)->index);
  }
  if (! o->word_regex) {
    o->word_regex = userdiff_word_regex(two___0, (o->repo)->index);
  }
  if (! o->word_regex) {
    o->word_regex = diff_word_regex_cfg;
  }
  if (o->word_regex) {
    tmp___2 = xmalloc(sizeof(regex_t ));
    (ecbdata->diff_words)->word_regex = (regex_t *)tmp___2;
    tmp___3 = regcomp((regex_t * __restrict  )(ecbdata->diff_words)->word_regex, (char const   * __restrict  )o->word_regex,
                      1 | ((1 << 1) << 1));
    if (tmp___3) {
      die((char const   *)"invalid regular expression: %s", o->word_regex);
    }
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(diff_words_styles) / sizeof(diff_words_styles[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    if ((unsigned int )o->word_diff == (unsigned int )diff_words_styles[i].type) {
      (ecbdata->diff_words)->style = & diff_words_styles[i];
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___4 = want_color_fd(1, o->use_color);
  if (tmp___4) {
    st = (ecbdata->diff_words)->style;
    st->old_word.color = diff_get_color(o->use_color, (enum color_diff )4);
    st->new_word.color = diff_get_color(o->use_color, (enum color_diff )5);
    st->ctx.color = diff_get_color(o->use_color, (enum color_diff )1);
  }
  return;
}
}
static void free_diff_words_data(struct emit_callback *ecbdata )
{


  {
  if (ecbdata->diff_words) {
    diff_words_flush(ecbdata);
    free((void *)((ecbdata->diff_words)->opt)->emitted_symbols);
    free((void *)(ecbdata->diff_words)->opt);
    free((void *)(ecbdata->diff_words)->minus.text.ptr);
    free((void *)(ecbdata->diff_words)->minus.orig);
    free((void *)(ecbdata->diff_words)->plus.text.ptr);
    free((void *)(ecbdata->diff_words)->plus.orig);
    if ((ecbdata->diff_words)->word_regex) {
      regfree((ecbdata->diff_words)->word_regex);
      free((void *)(ecbdata->diff_words)->word_regex);
    }
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      free((void *)ecbdata->diff_words);
      ecbdata->diff_words = (struct diff_words_data *)((void *)0);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
  }
  return;
}
}
char const   *diff_get_color(int diff_use_color , enum color_diff ix )
{
  int tmp ;

  {
  tmp = want_color_fd(1, diff_use_color);
  if (tmp) {
    return ((char const   *)(diff_colors[ix]));
  }
  return ((char const   *)"");
}
}
char const   *diff_line_prefix(struct diff_options *opt___0 )
{
  struct strbuf *msgbuf___0 ;

  {
  if (! opt___0->output_prefix) {
    return ((char const   *)"");
  }
  msgbuf___0 = (*(opt___0->output_prefix))(opt___0, opt___0->output_prefix_data);
  return ((char const   *)msgbuf___0->buf);
}
}
static unsigned long sane_truncate_line(char *line___0 , unsigned long len___0 )
{
  char const   *cp ;
  unsigned long allot ;
  size_t l ;

  {
  l = len___0;
  cp = (char const   *)line___0;
  allot = l;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (0UL < l)) {
      goto while_break;
    }
    utf8_width(& cp, & l);
    if (! cp) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (allot - l);
}
}
static void find_lno(char const   *line___0 , struct emit_callback *ecbdata )
{
  char const   *p___0 ;
  char *tmp ;
  long tmp___0 ;
  char *tmp___1 ;
  long tmp___2 ;

  {
  ecbdata->lno_in_preimage = 0;
  ecbdata->lno_in_postimage = 0;
  tmp = strchr(line___0, '-');
  p___0 = (char const   *)tmp;
  if (! p___0) {
    return;
  }
  tmp___0 = strtol((char const   * __restrict  )(p___0 + 1), (char ** __restrict  )((void *)0),
                   10);
  ecbdata->lno_in_preimage = (int )tmp___0;
  tmp___1 = strchr(p___0, '+');
  p___0 = (char const   *)tmp___1;
  if (! p___0) {
    return;
  }
  tmp___2 = strtol((char const   * __restrict  )(p___0 + 1), (char ** __restrict  )((void *)0),
                   10);
  ecbdata->lno_in_postimage = (int )tmp___2;
  return;
}
}
static int fn_out_consume(void *priv , char *line___0 , unsigned long len___0 )
{
  struct emit_callback *ecbdata ;
  struct diff_options *o ;
  size_t tmp ;
  size_t tmp___0 ;
  char const   *tmp___1 ;
  enum diff_symbol s___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  ecbdata = (struct emit_callback *)priv;
  o = ecbdata->opt;
  o->found_changes = 1;
  if (ecbdata->header) {
    emit_diff_symbol(o, (enum diff_symbol )21, (char const   *)(ecbdata->header)->buf,
                     (int )(ecbdata->header)->len, 0U);
    strbuf_setlen(ecbdata->header, (size_t )0);
    ecbdata->header = (struct strbuf *)((void *)0);
  }
  if (*(ecbdata->label_path + 0)) {
    tmp = strlen(*(ecbdata->label_path + 0));
    emit_diff_symbol(o, (enum diff_symbol )23, *(ecbdata->label_path + 0), (int )tmp,
                     0U);
    tmp___0 = strlen(*(ecbdata->label_path + 1));
    emit_diff_symbol(o, (enum diff_symbol )22, *(ecbdata->label_path + 1), (int )tmp___0,
                     0U);
    tmp___1 = (char const   *)((void *)0);
    *(ecbdata->label_path + 1) = tmp___1;
    *(ecbdata->label_path + 0) = tmp___1;
  }
  if (diff_suppress_blank_empty) {
    if (len___0 == 2UL) {
      if ((int )*(line___0 + 0) == 32) {
        if ((int )*(line___0 + 1) == 10) {
          *(line___0 + 0) = (char )'\n';
          len___0 = 1UL;
        }
      }
    }
  }
  if ((int )*(line___0 + 0) == 64) {
    if (ecbdata->diff_words) {
      diff_words_flush(ecbdata);
    }
    len___0 = sane_truncate_line(line___0, len___0);
    find_lno((char const   *)line___0, ecbdata);
    emit_hunk_header(ecbdata, (char const   *)line___0, (int )len___0);
    return (0);
  }
  if (ecbdata->diff_words) {
    if ((unsigned int )(ecbdata->diff_words)->type == 1U) {
      tmp___2 = 24;
    } else {
      tmp___2 = 25;
    }
    s___1 = (enum diff_symbol )tmp___2;
    if ((int )*(line___0 + 0) == 45) {
      diff_words_append(line___0, len___0, & (ecbdata->diff_words)->minus);
      return (0);
    } else
    if ((int )*(line___0 + 0) == 43) {
      diff_words_append(line___0, len___0, & (ecbdata->diff_words)->plus);
      return (0);
    } else {
      tmp___3 = starts_with((char const   *)line___0, (char const   *)"\\ ");
      if (tmp___3) {
        return (0);
      }
    }
    diff_words_flush(ecbdata);
    emit_diff_symbol(o, s___1, (char const   *)line___0, (int )len___0, 0U);
    return (0);
  }
  {
  if ((int )*(line___0 + 0) == 43) {
    goto case_43;
  }
  if ((int )*(line___0 + 0) == 45) {
    goto case_45;
  }
  if ((int )*(line___0 + 0) == 32) {
    goto case_32;
  }
  goto switch_default;
  case_43: /* CIL Label */
  (ecbdata->lno_in_postimage) ++;
  emit_add_line(ecbdata, (char const   *)(line___0 + 1), (int )(len___0 - 1UL));
  goto switch_break;
  case_45: /* CIL Label */
  (ecbdata->lno_in_preimage) ++;
  emit_del_line(ecbdata, (char const   *)(line___0 + 1), (int )(len___0 - 1UL));
  goto switch_break;
  case_32: /* CIL Label */
  (ecbdata->lno_in_postimage) ++;
  (ecbdata->lno_in_preimage) ++;
  emit_context_line(ecbdata, (char const   *)(line___0 + 1), (int )(len___0 - 1UL));
  goto switch_break;
  switch_default: /* CIL Label */
  (ecbdata->lno_in_preimage) ++;
  emit_diff_symbol(o, (enum diff_symbol )27, (char const   *)line___0, (int )len___0,
                   0U);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void pprint_rename(struct strbuf *name___0 , char const   *a , char const   *b___0 )
{
  char const   *old_name ;
  char const   *new_name ;
  int pfx_length ;
  int sfx_length ;
  int pfx_adjust_for_slash ;
  int len_a ;
  size_t tmp ;
  int len_b ;
  size_t tmp___0 ;
  int a_midlen ;
  int b_midlen ;
  int qlen_a ;
  size_t tmp___1 ;
  int qlen_b ;
  size_t tmp___2 ;

  {
  old_name = a;
  new_name = b___0;
  tmp = strlen(a);
  len_a = (int )tmp;
  tmp___0 = strlen(b___0);
  len_b = (int )tmp___0;
  tmp___1 = quote_c_style(a, (struct strbuf *)((void *)0), (FILE *)((void *)0), 0U);
  qlen_a = (int )tmp___1;
  tmp___2 = quote_c_style(b___0, (struct strbuf *)((void *)0), (FILE *)((void *)0),
                          0U);
  qlen_b = (int )tmp___2;
  if (qlen_a) {
    quote_c_style(a, name___0, (FILE *)((void *)0), 0U);
    strbuf_addstr(name___0, (char const   *)" => ");
    quote_c_style(b___0, name___0, (FILE *)((void *)0), 0U);
    return;
  } else
  if (qlen_b) {
    quote_c_style(a, name___0, (FILE *)((void *)0), 0U);
    strbuf_addstr(name___0, (char const   *)" => ");
    quote_c_style(b___0, name___0, (FILE *)((void *)0), 0U);
    return;
  }
  pfx_length = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*old_name) {
      if (*new_name) {
        if (! ((int const   )*old_name == (int const   )*new_name)) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if ((int const   )*old_name == 47) {
      pfx_length = (int )((old_name - a) + 1L);
    }
    old_name ++;
    new_name ++;
  }
  while_break: /* CIL Label */ ;
  }
  old_name = a + len_a;
  new_name = b___0 + len_b;
  sfx_length = 0;
  if (pfx_length) {
    pfx_adjust_for_slash = 1;
  } else {
    pfx_adjust_for_slash = 0;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if ((unsigned long )((a + pfx_length) - pfx_adjust_for_slash) <= (unsigned long )old_name) {
      if ((unsigned long )((b___0 + pfx_length) - pfx_adjust_for_slash) <= (unsigned long )new_name) {
        if (! ((int const   )*old_name == (int const   )*new_name)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    if ((int const   )*old_name == 47) {
      sfx_length = (int )((long )len_a - (old_name - a));
    }
    old_name --;
    new_name --;
  }
  while_break___0: /* CIL Label */ ;
  }
  a_midlen = (len_a - pfx_length) - sfx_length;
  b_midlen = (len_b - pfx_length) - sfx_length;
  if (a_midlen < 0) {
    a_midlen = 0;
  }
  if (b_midlen < 0) {
    b_midlen = 0;
  }
  strbuf_grow(name___0, (size_t )((((pfx_length + a_midlen) + b_midlen) + sfx_length) + 7));
  if (pfx_length + sfx_length) {
    strbuf_add(name___0, (void const   *)a, (size_t )pfx_length);
    strbuf_addch(name___0, '{');
  }
  strbuf_add(name___0, (void const   *)(a + pfx_length), (size_t )a_midlen);
  strbuf_addstr(name___0, (char const   *)" => ");
  strbuf_add(name___0, (void const   *)(b___0 + pfx_length), (size_t )b_midlen);
  if (pfx_length + sfx_length) {
    strbuf_addch(name___0, '}');
    strbuf_add(name___0, (void const   *)((a + len_a) - sfx_length), (size_t )sfx_length);
  }
  return;
}
}
static struct diffstat_file *diffstat_add(struct diffstat_t *diffstat , char const   *name_a ,
                                          char const   *name_b )
{
  struct diffstat_file *x ;
  void *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*x));
  x = (struct diffstat_file *)tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (diffstat->nr + 1 > diffstat->alloc) {
      if (((diffstat->alloc + 16) * 3) / 2 < diffstat->nr + 1) {
        diffstat->alloc = diffstat->nr + 1;
      } else {
        diffstat->alloc = ((diffstat->alloc + 16) * 3) / 2;
      }
      tmp___0 = st_mult(sizeof(*(diffstat->files)), (size_t )diffstat->alloc);
      tmp___1 = xrealloc((void *)diffstat->files, tmp___0);
      diffstat->files = (struct diffstat_file **)tmp___1;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = diffstat->nr;
  (diffstat->nr) ++;
  *(diffstat->files + tmp___2) = x;
  if (name_b) {
    x->from_name = xstrdup(name_a);
    x->name = xstrdup(name_b);
    x->is_renamed = 1U;
  } else {
    x->from_name = (char *)((void *)0);
    x->name = xstrdup(name_a);
  }
  return (x);
}
}
static int diffstat_consume(void *priv , char *line___0 , unsigned long len___0 )
{
  struct diffstat_t *diffstat ;
  struct diffstat_file *x ;

  {
  diffstat = (struct diffstat_t *)priv;
  x = *(diffstat->files + (diffstat->nr - 1));
  if ((int )*(line___0 + 0) == 43) {
    (x->added) ++;
  } else
  if ((int )*(line___0 + 0) == 45) {
    (x->deleted) ++;
  }
  return (0);
}
}
char const   mime_boundary_leader[13]  =
  {      (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'\000'};
static int scale_linear(int it , int width , int max_change )
{


  {
  if (! it) {
    return (0);
  }
  return (1 + (it * (width - 1)) / max_change);
}
}
static void show_graph(struct strbuf *out , char ch___0 , int cnt , char const   *set ,
                       char const   *reset )
{


  {
  if (cnt <= 0) {
    return;
  }
  strbuf_addstr(out, set);
  strbuf_addchars(out, (int )ch___0, (size_t )cnt);
  strbuf_addstr(out, reset);
  return;
}
}
static void fill_print_name(struct diffstat_file *file___0 )
{
  struct strbuf pname ;

  {
  pname.alloc = 0UL;
  pname.len = 0UL;
  pname.buf = strbuf_slopbuf;
  if (file___0->print_name) {
    return;
  }
  if (file___0->is_renamed) {
    pprint_rename(& pname, (char const   *)file___0->from_name, (char const   *)file___0->name);
  } else {
    quote_c_style((char const   *)file___0->name, & pname, (FILE *)((void *)0), 0U);
  }
  if (file___0->comments) {
    strbuf_addf(& pname, (char const   *)" (%s)", file___0->comments);
  }
  file___0->print_name = strbuf_detach(& pname, (size_t *)((void *)0));
  return;
}
}
static void print_stat_summary_inserts_deletes(struct diff_options *options , int files ,
                                               int insertions , int deletions )
{
  struct strbuf sb___6 ;
  int tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  if (! files) {
    if (insertions == 0) {
      if (deletions == 0) {
        tmp = 1;
      } else {
        tmp = 0;
      }
    } else {
      tmp = 0;
    }
    assert(tmp);
    emit_diff_symbol(options, (enum diff_symbol )5, (char const   *)((void *)0), 0,
                     0U);
    return;
  }
  if (files == 1) {
    tmp___0 = " %d file changed";
  } else {
    tmp___0 = " %d files changed";
  }
  strbuf_addf(& sb___6, (char const   *)tmp___0, files);
  if (insertions) {
    goto _L;
  } else
  if (deletions == 0) {
    _L: /* CIL Label */
    if (insertions == 1) {
      tmp___1 = ", %d insertion(+)";
    } else {
      tmp___1 = ", %d insertions(+)";
    }
    strbuf_addf(& sb___6, (char const   *)tmp___1, insertions);
  }
  if (deletions) {
    goto _L___0;
  } else
  if (insertions == 0) {
    _L___0: /* CIL Label */
    if (deletions == 1) {
      tmp___2 = ", %d deletion(-)";
    } else {
      tmp___2 = ", %d deletions(-)";
    }
    strbuf_addf(& sb___6, (char const   *)tmp___2, deletions);
  }
  strbuf_addch(& sb___6, '\n');
  emit_diff_symbol(options, (enum diff_symbol )7, (char const   *)sb___6.buf, (int )sb___6.len,
                   0U);
  strbuf_release(& sb___6);
  return;
}
}
void print_stat_summary(FILE *fp , int files , int insertions , int deletions )
{
  struct diff_options o ;

  {
  memset((void *)(& o), 0, sizeof(o));
  o.file = fp;
  print_stat_summary_inserts_deletes(& o, files, insertions, deletions);
  return;
}
}
static void show_stats___0(struct diffstat_t *data , struct diff_options *options )
{
  int i ;
  int len___0 ;
  int add___2 ;
  int del ;
  int adds ;
  int dels ;
  uintmax_t max_change ;
  uintmax_t max_len ;
  int total_files ;
  int count___0 ;
  int width ;
  int name_width ;
  int graph_width___0 ;
  int number_width ;
  int bin_width ;
  char const   *reset ;
  char const   *add_c ;
  char const   *del_c ;
  int extra_shown ;
  char const   *line_prefix ;
  char const   *tmp ;
  struct strbuf out ;
  struct diffstat_file *file___0 ;
  uintmax_t change ;
  size_t tmp___0 ;
  int w ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  size_t tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const   *prefix___1 ;
  struct diffstat_file *file___1 ;
  char *name___0 ;
  uintmax_t added ;
  uintmax_t deleted ;
  int name_len ;
  size_t tmp___8 ;
  char *slash ;
  int total ;
  int tmp___9 ;
  char *tmp___10 ;
  struct diffstat_file *file___2 ;
  uintmax_t added___0 ;
  uintmax_t deleted___0 ;

  {
  adds = 0;
  dels = 0;
  max_change = (uintmax_t )0;
  max_len = (uintmax_t )0;
  total_files = data->nr;
  number_width = 0;
  bin_width = 0;
  extra_shown = 0;
  tmp = diff_line_prefix(options);
  line_prefix = tmp;
  out.alloc = 0UL;
  out.len = 0UL;
  out.buf = strbuf_slopbuf;
  if (data->nr == 0) {
    return;
  }
  if (options->stat_count) {
    count___0 = options->stat_count;
  } else {
    count___0 = data->nr;
  }
  reset = diff_get_color(options->use_color, (enum color_diff )0);
  add_c = diff_get_color(options->use_color, (enum color_diff )5);
  del_c = diff_get_color(options->use_color, (enum color_diff )4);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i < count___0) {
      if (! (i < data->nr)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    file___0 = *(data->files + i);
    change = file___0->added + file___0->deleted;
    if (! file___0->is_interesting) {
      if (change == 0UL) {
        count___0 ++;
        goto __Cont;
      }
    }
    fill_print_name(file___0);
    tmp___0 = strlen((char const   *)file___0->print_name);
    len___0 = (int )tmp___0;
    if (max_len < (uintmax_t )len___0) {
      max_len = (uintmax_t )len___0;
    }
    if (file___0->is_unmerged) {
      if (bin_width < 8) {
        bin_width = 8;
      } else {
        bin_width = bin_width;
      }
      goto __Cont;
    }
    if (file___0->is_binary) {
      tmp___1 = decimal_width(file___0->added);
      tmp___2 = decimal_width(file___0->deleted);
      w = (14 + tmp___1) + tmp___2;
      if (bin_width < w) {
        bin_width = w;
      } else {
        bin_width = bin_width;
      }
      number_width = 3;
      goto __Cont;
    }
    if (max_change < change) {
      max_change = change;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  count___0 = i;
  if (options->stat_width == -1) {
    tmp___3 = term_columns();
    tmp___4 = strlen(line_prefix);
    width = (int )((size_t )tmp___3 - tmp___4);
  } else
  if (options->stat_width) {
    width = options->stat_width;
  } else {
    width = 80;
  }
  tmp___7 = decimal_width(max_change);
  if (tmp___7 > number_width) {
    tmp___6 = decimal_width(max_change);
    number_width = tmp___6;
  } else {
    number_width = number_width;
  }
  if (options->stat_graph_width == -1) {
    options->stat_graph_width = diff_stat_graph_width;
  }
  if (width < 22 + number_width) {
    width = 22 + number_width;
  }
  if (max_change + 4UL > (uintmax_t )bin_width) {
    graph_width___0 = (int )max_change;
  } else {
    graph_width___0 = bin_width - 4;
  }
  if (options->stat_graph_width) {
    if (options->stat_graph_width < graph_width___0) {
      graph_width___0 = options->stat_graph_width;
    }
  }
  if (options->stat_name_width > 0) {
    if ((uintmax_t )options->stat_name_width < max_len) {
      name_width = options->stat_name_width;
    } else {
      name_width = (int )max_len;
    }
  } else {
    name_width = (int )max_len;
  }
  if (((name_width + number_width) + 6) + graph_width___0 > width) {
    if (graph_width___0 > ((width * 3) / 8 - number_width) - 6) {
      graph_width___0 = ((width * 3) / 8 - number_width) - 6;
      if (graph_width___0 < 6) {
        graph_width___0 = 6;
      }
    }
    if (options->stat_graph_width) {
      if (graph_width___0 > options->stat_graph_width) {
        graph_width___0 = options->stat_graph_width;
      }
    }
    if (name_width > ((width - number_width) - 6) - graph_width___0) {
      name_width = ((width - number_width) - 6) - graph_width___0;
    } else {
      graph_width___0 = ((width - number_width) - 6) - name_width;
    }
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < count___0)) {
      goto while_break___0;
    }
    prefix___1 = (char const   *)"";
    file___1 = *(data->files + i);
    name___0 = file___1->print_name;
    added = file___1->added;
    deleted = file___1->deleted;
    if (! file___1->is_interesting) {
      if (added + deleted == 0UL) {
        goto __Cont___0;
      }
    }
    len___0 = name_width;
    tmp___8 = strlen((char const   *)name___0);
    name_len = (int )tmp___8;
    if (name_width < name_len) {
      prefix___1 = (char const   *)"...";
      len___0 -= 3;
      name___0 += name_len - len___0;
      slash = strchr((char const   *)name___0, '/');
      if (slash) {
        name___0 = slash;
      }
    }
    if (file___1->is_binary) {
      strbuf_addf(& out, (char const   *)" %s%-*s |", prefix___1, len___0, name___0);
      strbuf_addf(& out, (char const   *)" %*s", number_width, "Bin");
      if (! added) {
        if (! deleted) {
          strbuf_addch(& out, '\n');
          emit_diff_symbol(options, (enum diff_symbol )8, (char const   *)out.buf,
                           (int )out.len, 0U);
          strbuf_setlen(& out, (size_t )0);
          goto __Cont___0;
        }
      }
      strbuf_addf(& out, (char const   *)" %s%lu%s", del_c, deleted, reset);
      strbuf_addstr(& out, (char const   *)" -> ");
      strbuf_addf(& out, (char const   *)"%s%lu%s", add_c, added, reset);
      strbuf_addstr(& out, (char const   *)" bytes\n");
      emit_diff_symbol(options, (enum diff_symbol )8, (char const   *)out.buf, (int )out.len,
                       0U);
      strbuf_setlen(& out, (size_t )0);
      goto __Cont___0;
    } else
    if (file___1->is_unmerged) {
      strbuf_addf(& out, (char const   *)" %s%-*s |", prefix___1, len___0, name___0);
      strbuf_addstr(& out, (char const   *)" Unmerged\n");
      emit_diff_symbol(options, (enum diff_symbol )8, (char const   *)out.buf, (int )out.len,
                       0U);
      strbuf_setlen(& out, (size_t )0);
      goto __Cont___0;
    }
    add___2 = (int )added;
    del = (int )deleted;
    if ((uintmax_t )graph_width___0 <= max_change) {
      tmp___9 = scale_linear(add___2 + del, graph_width___0, (int )max_change);
      total = tmp___9;
      if (total < 2) {
        if (add___2) {
          if (del) {
            total = 2;
          }
        }
      }
      if (add___2 < del) {
        add___2 = scale_linear(add___2, graph_width___0, (int )max_change);
        del = total - add___2;
      } else {
        del = scale_linear(del, graph_width___0, (int )max_change);
        add___2 = total - del;
      }
    }
    strbuf_addf(& out, (char const   *)" %s%-*s |", prefix___1, len___0, name___0);
    if (added + deleted) {
      tmp___10 = " ";
    } else {
      tmp___10 = "";
    }
    strbuf_addf(& out, (char const   *)" %*lu%s", number_width, added + deleted, tmp___10);
    show_graph(& out, (char )'+', add___2, add_c, reset);
    show_graph(& out, (char )'-', del, del_c, reset);
    strbuf_addch(& out, '\n');
    emit_diff_symbol(options, (enum diff_symbol )8, (char const   *)out.buf, (int )out.len,
                     0U);
    strbuf_setlen(& out, (size_t )0);
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < data->nr)) {
      goto while_break___1;
    }
    file___2 = *(data->files + i);
    added___0 = file___2->added;
    deleted___0 = file___2->deleted;
    if (file___2->is_unmerged) {
      total_files --;
      goto __Cont___1;
    } else
    if (! file___2->is_interesting) {
      if (added___0 + deleted___0 == 0UL) {
        total_files --;
        goto __Cont___1;
      }
    }
    if (! file___2->is_binary) {
      adds = (int )((uintmax_t )adds + added___0);
      dels = (int )((uintmax_t )dels + deleted___0);
    }
    if (i < count___0) {
      goto __Cont___1;
    }
    if (! extra_shown) {
      emit_diff_symbol(options, (enum diff_symbol )6, (char const   *)((void *)0),
                       0, 0U);
    }
    extra_shown = 1;
    __Cont___1: /* CIL Label */
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  print_stat_summary_inserts_deletes(options, total_files, adds, dels);
  strbuf_release(& out);
  return;
}
}
static void show_shortstats(struct diffstat_t *data , struct diff_options *options )
{
  int i ;
  int adds ;
  int dels ;
  int total_files ;
  int added ;
  int deleted ;

  {
  adds = 0;
  dels = 0;
  total_files = data->nr;
  if (data->nr == 0) {
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < data->nr)) {
      goto while_break;
    }
    added = (int )(*(data->files + i))->added;
    deleted = (int )(*(data->files + i))->deleted;
    if ((*(data->files + i))->is_unmerged) {
      total_files --;
    } else
    if (! (*(data->files + i))->is_interesting) {
      if (added + deleted == 0) {
        total_files --;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (! (*(data->files + i))->is_binary) {
      adds += added;
      dels += deleted;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  print_stat_summary_inserts_deletes(options, total_files, adds, dels);
  return;
}
}
static void show_numstat(struct diffstat_t *data , struct diff_options *options )
{
  int i ;
  struct diffstat_file *file___0 ;
  char const   *tmp ;

  {
  if (data->nr == 0) {
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < data->nr)) {
      goto while_break;
    }
    file___0 = *(data->files + i);
    tmp = diff_line_prefix(options);
    fprintf(options->file, (char const   *)"%s", tmp);
    if (file___0->is_binary) {
      fprintf(options->file, (char const   *)"-\t-\t");
    } else {
      fprintf(options->file, (char const   *)"%lu\t%lu\t", file___0->added, file___0->deleted);
    }
    if (options->line_termination) {
      fill_print_name(file___0);
      if (! file___0->is_renamed) {
        write_name_quoted((char const   *)file___0->name, options->file, options->line_termination);
      } else {
        fputs((char const   * __restrict  )file___0->print_name, (FILE * __restrict  )options->file);
        _IO_putc(options->line_termination, options->file);
      }
    } else {
      if (file___0->is_renamed) {
        _IO_putc('\000', options->file);
        write_name_quoted((char const   *)file___0->from_name, options->file, '\000');
      }
      write_name_quoted((char const   *)file___0->name, options->file, '\000');
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static long gather_dirstat(struct diff_options *opt___0 , struct dirstat_dir *dir ,
                           unsigned long changed , char const   *base , int baselen )
{
  unsigned long sum_changes ;
  unsigned int sources ;
  char const   *line_prefix ;
  char const   *tmp ;
  struct dirstat_file *f ;
  int namelen ;
  size_t tmp___0 ;
  unsigned long changes ;
  char *slash ;
  int tmp___1 ;
  int newbaselen ;
  long tmp___2 ;
  int permille ;

  {
  sum_changes = 0UL;
  sources = 0U;
  tmp = diff_line_prefix(opt___0);
  line_prefix = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! dir->nr) {
      goto while_break;
    }
    f = dir->files;
    tmp___0 = strlen(f->name);
    namelen = (int )tmp___0;
    if (namelen < baselen) {
      goto while_break;
    }
    tmp___1 = memcmp((void const   *)f->name, (void const   *)base, (size_t )baselen);
    if (tmp___1) {
      goto while_break;
    }
    slash = strchr(f->name + baselen, '/');
    if (slash) {
      newbaselen = (int )((slash + 1) - (char *)f->name);
      tmp___2 = gather_dirstat(opt___0, dir, changed, f->name, newbaselen);
      changes = (unsigned long )tmp___2;
      sources ++;
    } else {
      changes = f->changed;
      (dir->files) ++;
      (dir->nr) --;
      sources += 2U;
    }
    sum_changes += changes;
  }
  while_break: /* CIL Label */ ;
  }
  if (baselen) {
    if (sources != 1U) {
      if (sum_changes) {
        permille = (int )((sum_changes * 1000UL) / changed);
        if (permille >= dir->permille) {
          fprintf(opt___0->file, (char const   *)"%s%4d.%01d%% %.*s\n", line_prefix,
                  permille / 10, permille % 10, baselen, base);
          if (! dir->cumulative) {
            return (0L);
          }
        }
      }
    }
  }
  return ((long )sum_changes);
}
}
static int dirstat_compare(void const   *_a , void const   *_b )
{
  struct dirstat_file  const  *a ;
  struct dirstat_file  const  *b___0 ;
  int tmp ;

  {
  a = (struct dirstat_file  const  *)_a;
  b___0 = (struct dirstat_file  const  *)_b;
  tmp = strcmp((char const   *)a->name, (char const   *)b___0->name);
  return (tmp);
}
}
static void show_dirstat(struct diff_options *options )
{
  int i ;
  unsigned long changed ;
  struct dirstat_dir dir ;
  struct diff_queue_struct *q ;
  struct diff_filepair *p___0 ;
  char const   *name___0 ;
  unsigned long copied ;
  unsigned long added ;
  unsigned long damage ;
  struct diff_populate_filespec_options dpf_options ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  q = & diff_queued_diff;
  dir.files = (struct dirstat_file *)((void *)0);
  dir.alloc = 0;
  dir.nr = 0;
  dir.permille = options->dirstat_permille;
  dir.cumulative = (int )options->flags.dirstat_cumulative;
  changed = 0UL;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break;
    }
    p___0 = *(q->queue + i);
    dpf_options.check_size_only = 1U;
    dpf_options.check_binary = 0U;
    dpf_options.missing_object_cb = (void (*)(void * ))0;
    dpf_options.missing_object_data = (void *)0;
    if ((p___0->two)->path) {
      name___0 = (char const   *)(p___0->two)->path;
    } else {
      name___0 = (char const   *)(p___0->one)->path;
    }
    if ((p___0->one)->oid_valid) {
      if ((p___0->two)->oid_valid) {
        tmp = oideq((struct object_id  const  *)(& (p___0->one)->oid), (struct object_id  const  *)(& (p___0->two)->oid));
        if (tmp) {
          damage = 0UL;
          goto found_damage;
        }
      }
    }
    if (options->flags.dirstat_by_file) {
      damage = 1UL;
      goto found_damage;
    }
    if ((int )(p___0->one)->mode != 0) {
      if ((int )(p___0->two)->mode != 0) {
        diff_populate_filespec(options->repo, p___0->one, (struct diff_populate_filespec_options  const  *)((void *)0));
        diff_populate_filespec(options->repo, p___0->two, (struct diff_populate_filespec_options  const  *)((void *)0));
        diffcore_count_changes(options->repo, p___0->one, p___0->two, (void **)((void *)0),
                               (void **)((void *)0), & copied, & added);
        diff_free_filespec_data(p___0->one);
        diff_free_filespec_data(p___0->two);
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if ((int )(p___0->one)->mode != 0) {
      diff_populate_filespec(options->repo, p___0->one, (struct diff_populate_filespec_options  const  *)(& dpf_options));
      added = 0UL;
      copied = added;
      diff_free_filespec_data(p___0->one);
    } else
    if ((int )(p___0->two)->mode != 0) {
      diff_populate_filespec(options->repo, p___0->two, (struct diff_populate_filespec_options  const  *)(& dpf_options));
      copied = 0UL;
      added = (p___0->two)->size;
      diff_free_filespec_data(p___0->two);
    } else {
      goto __Cont;
    }
    damage = ((p___0->one)->size - copied) + added;
    if (! damage) {
      damage = 1UL;
    }
    found_damage:
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (dir.nr + 1 > dir.alloc) {
        if (((dir.alloc + 16) * 3) / 2 < dir.nr + 1) {
          dir.alloc = dir.nr + 1;
        } else {
          dir.alloc = ((dir.alloc + 16) * 3) / 2;
        }
        tmp___0 = st_mult(sizeof(*(dir.files)), (size_t )dir.alloc);
        tmp___1 = xrealloc((void *)dir.files, tmp___0);
        dir.files = (struct dirstat_file *)tmp___1;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    (dir.files + dir.nr)->name = name___0;
    (dir.files + dir.nr)->changed = damage;
    changed += damage;
    (dir.nr) ++;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! changed) {
    return;
  }
  sane_qsort((void *)dir.files, (size_t )dir.nr, sizeof(*(dir.files)), & dirstat_compare);
  gather_dirstat(options, & dir, changed, (char const   *)"", 0);
  return;
}
}
static void show_dirstat_by_line(struct diffstat_t *data , struct diff_options *options )
{
  int i ;
  unsigned long changed ;
  struct dirstat_dir dir ;
  struct diffstat_file *file___0 ;
  unsigned long damage ;
  size_t tmp ;
  void *tmp___0 ;

  {
  if (data->nr == 0) {
    return;
  }
  dir.files = (struct dirstat_file *)((void *)0);
  dir.alloc = 0;
  dir.nr = 0;
  dir.permille = options->dirstat_permille;
  dir.cumulative = (int )options->flags.dirstat_cumulative;
  changed = 0UL;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < data->nr)) {
      goto while_break;
    }
    file___0 = *(data->files + i);
    damage = file___0->added + file___0->deleted;
    if (file___0->is_binary) {
      damage = ((damage + 64UL) - 1UL) / 64UL;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (dir.nr + 1 > dir.alloc) {
        if (((dir.alloc + 16) * 3) / 2 < dir.nr + 1) {
          dir.alloc = dir.nr + 1;
        } else {
          dir.alloc = ((dir.alloc + 16) * 3) / 2;
        }
        tmp = st_mult(sizeof(*(dir.files)), (size_t )dir.alloc);
        tmp___0 = xrealloc((void *)dir.files, tmp);
        dir.files = (struct dirstat_file *)tmp___0;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    (dir.files + dir.nr)->name = (char const   *)file___0->name;
    (dir.files + dir.nr)->changed = damage;
    changed += damage;
    (dir.nr) ++;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! changed) {
    return;
  }
  sane_qsort((void *)dir.files, (size_t )dir.nr, sizeof(*(dir.files)), & dirstat_compare);
  gather_dirstat(options, & dir, changed, (char const   *)"", 0);
  return;
}
}
static void free_diffstat_file(struct diffstat_file *f )
{


  {
  free((void *)f->print_name);
  free((void *)f->name);
  free((void *)f->from_name);
  free((void *)f);
  return;
}
}
void free_diffstat_info(struct diffstat_t *diffstat )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < diffstat->nr)) {
      goto while_break;
    }
    free_diffstat_file(*(diffstat->files + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)diffstat->files);
  return;
}
}
static int is_conflict_marker(char const   *line___0 , int marker_size , unsigned long len___0 )
{
  char firstchar ;
  int cnt ;

  {
  if (len___0 < (unsigned long )(marker_size + 1)) {
    return (0);
  }
  firstchar = (char )*(line___0 + 0);
  {
  if ((int )firstchar == 124) {
    goto case_124;
  }
  if ((int )firstchar == 60) {
    goto case_124;
  }
  if ((int )firstchar == 62) {
    goto case_124;
  }
  if ((int )firstchar == 61) {
    goto case_124;
  }
  goto switch_default;
  case_124: /* CIL Label */
  case_60: /* CIL Label */
  case_62: /* CIL Label */
  case_61: /* CIL Label */
  goto switch_break;
  switch_default: /* CIL Label */
  return (0);
  switch_break: /* CIL Label */ ;
  }
  cnt = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (cnt < marker_size)) {
      goto while_break;
    }
    if ((int const   )*(line___0 + cnt) != (int const   )firstchar) {
      return (0);
    }
    cnt ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (len___0 < (unsigned long )(marker_size + 1)) {
    return (0);
  } else
  if (! (((int const   )sane_ctype[(unsigned char )*(line___0 + marker_size)] & 1) != 0)) {
    return (0);
  }
  return (1);
}
}
static void checkdiff_consume_hunk(void *priv , long ob , long on , long nb , long nn ,
                                   char const   *func , long funclen )
{
  struct checkdiff_t *data ;

  {
  data = (struct checkdiff_t *)priv;
  data->lineno = (int )(nb - 1L);
  return;
}
}
static int checkdiff_consume(void *priv , char *line___0 , unsigned long len___0 )
{
  struct checkdiff_t *data ;
  int marker_size ;
  char const   *ws ;
  char const   *tmp ;
  char const   *reset ;
  char const   *tmp___0 ;
  char const   *set ;
  char const   *tmp___1 ;
  char *err___4 ;
  char const   *line_prefix ;
  unsigned int bad ;
  int tmp___2 ;

  {
  data = (struct checkdiff_t *)priv;
  marker_size = data->conflict_marker_size;
  tmp = diff_get_color((data->o)->use_color, (enum color_diff )7);
  ws = tmp;
  tmp___0 = diff_get_color((data->o)->use_color, (enum color_diff )0);
  reset = tmp___0;
  tmp___1 = diff_get_color((data->o)->use_color, (enum color_diff )5);
  set = tmp___1;
  assert((int )data->o);
  line_prefix = diff_line_prefix(data->o);
  if ((int )*(line___0 + 0) == 43) {
    (data->lineno) ++;
    tmp___2 = is_conflict_marker((char const   *)(line___0 + 1), marker_size, len___0 - 1UL);
    if (tmp___2) {
      data->status |= 1U;
      fprintf((data->o)->file, (char const   *)"%s%s:%d: leftover conflict marker\n",
              line_prefix, data->filename, data->lineno);
    }
    bad = ws_check((char const   *)(line___0 + 1), (int )(len___0 - 1UL), data->ws_rule);
    if (! bad) {
      return (0);
    }
    data->status |= bad;
    err___4 = whitespace_error_string(bad);
    fprintf((data->o)->file, (char const   *)"%s%s:%d: %s.\n", line_prefix, data->filename,
            data->lineno, err___4);
    free((void *)err___4);
    emit_line(data->o, set, reset, (char const   *)line___0, 1);
    ws_check_emit((char const   *)(line___0 + 1), (int )(len___0 - 1UL), data->ws_rule,
                  (data->o)->file, set, reset, ws);
  } else
  if ((int )*(line___0 + 0) == 32) {
    (data->lineno) ++;
  }
  return (0);
}
}
static unsigned char *deflate_it(char *data , unsigned long size , unsigned long *result_size )
{
  int bound ;
  unsigned char *deflated ;
  git_zstream stream ;
  unsigned long tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  git_deflate_init(& stream, zlib_compression_level);
  tmp = git_deflate_bound(& stream, size);
  bound = (int )tmp;
  tmp___0 = xmalloc((size_t )bound);
  deflated = (unsigned char *)tmp___0;
  stream.next_out = deflated;
  stream.avail_out = (unsigned long )bound;
  stream.next_in = (unsigned char *)data;
  stream.avail_in = size;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = git_deflate(& stream, 4);
    if (! (tmp___1 == 0)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  git_deflate_end(& stream);
  *result_size = stream.total_out;
  return (deflated);
}
}
static void emit_binary_diff_body(struct diff_options *o , mmfile_t *one___0 , mmfile_t *two___0 )
{
  void *cp ;
  void *delta ;
  void *deflated ;
  void *data ;
  unsigned long orig_size ;
  unsigned long delta_size ;
  unsigned long deflate_size ;
  unsigned long data_size ;
  unsigned char *tmp ;
  void *to_free ;
  unsigned char *tmp___0 ;
  char *s___1 ;
  char *tmp___1 ;
  size_t tmp___2 ;
  char *s___2 ;
  char *tmp___3 ;
  size_t tmp___4 ;
  int len___0 ;
  int bytes ;
  unsigned long tmp___5 ;
  char line___0[71] ;
  size_t tmp___6 ;
  int tmp___7 ;

  {
  delta = (void *)0;
  tmp = deflate_it(two___0->ptr, (unsigned long )two___0->size, & deflate_size);
  deflated = (void *)tmp;
  if (one___0->size) {
    if (two___0->size) {
      delta = diff_delta((void const   *)one___0->ptr, (unsigned long )one___0->size,
                         (void const   *)two___0->ptr, (unsigned long )two___0->size,
                         & delta_size, deflate_size);
      if (delta) {
        to_free = delta;
        orig_size = delta_size;
        tmp___0 = deflate_it((char *)delta, delta_size, & delta_size);
        delta = (void *)tmp___0;
        free(to_free);
      }
    }
  }
  if (delta) {
    if (delta_size < deflate_size) {
      tmp___1 = xstrfmt((char const   *)"%lu", orig_size);
      s___1 = tmp___1;
      tmp___2 = strlen((char const   *)s___1);
      emit_diff_symbol(o, (enum diff_symbol )1, (char const   *)s___1, (int )tmp___2,
                       0U);
      free((void *)s___1);
      free(deflated);
      data = delta;
      data_size = delta_size;
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp___3 = xstrfmt((char const   *)"%lu", two___0->size);
    s___2 = tmp___3;
    tmp___4 = strlen((char const   *)s___2);
    emit_diff_symbol(o, (enum diff_symbol )2, (char const   *)s___2, (int )tmp___4,
                     0U);
    free((void *)s___2);
    free(delta);
    data = deflated;
    data_size = deflate_size;
  }
  cp = data;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! data_size) {
      goto while_break;
    }
    if (52UL < data_size) {
      tmp___5 = 52UL;
    } else {
      tmp___5 = data_size;
    }
    bytes = (int )tmp___5;
    data_size -= (unsigned long )bytes;
    if (bytes <= 26) {
      line___0[0] = (char )((bytes + 65) - 1);
    } else {
      line___0[0] = (char )(((bytes - 26) + 97) - 1);
    }
    encode_85(line___0 + 1, (unsigned char const   *)cp, bytes);
    cp = (void *)((char *)cp + bytes);
    tmp___6 = strlen((char const   *)(line___0));
    len___0 = (int )tmp___6;
    tmp___7 = len___0;
    len___0 ++;
    line___0[tmp___7] = (char )'\n';
    line___0[len___0] = (char )'\000';
    emit_diff_symbol(o, (enum diff_symbol )3, (char const   *)(line___0), len___0,
                     0U);
  }
  while_break: /* CIL Label */ ;
  }
  emit_diff_symbol(o, (enum diff_symbol )4, (char const   *)((void *)0), 0, 0U);
  free(data);
  return;
}
}
static void emit_binary_diff(struct diff_options *o , mmfile_t *one___0 , mmfile_t *two___0 )
{


  {
  emit_diff_symbol(o, (enum diff_symbol )0, (char const   *)((void *)0), 0, 0U);
  emit_binary_diff_body(o, one___0, two___0);
  emit_binary_diff_body(o, two___0, one___0);
  return;
}
}
int diff_filespec_is_binary(struct repository *r , struct diff_filespec *one___0 )
{
  struct diff_populate_filespec_options dpf_options ;

  {
  dpf_options.check_size_only = 0U;
  dpf_options.check_binary = 1U;
  dpf_options.missing_object_cb = (void (*)(void * ))0;
  dpf_options.missing_object_data = (void *)0;
  if (one___0->is_binary == -1) {
    diff_filespec_load_driver(one___0, r->index);
    if ((one___0->driver)->binary != -1) {
      one___0->is_binary = (one___0->driver)->binary;
    } else {
      if (! one___0->data) {
        if ((int )one___0->mode != 0) {
          diff_populate_filespec(r, one___0, (struct diff_populate_filespec_options  const  *)(& dpf_options));
        }
      }
      if (one___0->is_binary == -1) {
        if (one___0->data) {
          one___0->is_binary = buffer_is_binary((char const   *)one___0->data, one___0->size);
        }
      }
      if (one___0->is_binary == -1) {
        one___0->is_binary = 0;
      }
    }
  }
  return (one___0->is_binary);
}
}
static struct userdiff_funcname  const  *diff_funcname_pattern(struct diff_options *o ,
                                                               struct diff_filespec *one___0 )
{
  struct userdiff_funcname *tmp ;

  {
  diff_filespec_load_driver(one___0, (o->repo)->index);
  if ((one___0->driver)->funcname.pattern) {
    tmp = & (one___0->driver)->funcname;
  } else {
    tmp = (struct userdiff_funcname *)((void *)0);
  }
  return ((struct userdiff_funcname  const  *)tmp);
}
}
void diff_set_mnemonic_prefix(struct diff_options *options , char const   *a , char const   *b___0 )
{


  {
  if (! options->a_prefix) {
    options->a_prefix = a;
  }
  if (! options->b_prefix) {
    options->b_prefix = b___0;
  }
  return;
}
}
struct userdiff_driver *get_textconv(struct repository *r , struct diff_filespec *one___0 )
{
  struct userdiff_driver *tmp ;

  {
  if (! ((int )one___0->mode != 0)) {
    return ((struct userdiff_driver *)((void *)0));
  }
  diff_filespec_load_driver(one___0, r->index);
  tmp = userdiff_get_textconv(r, one___0->driver);
  return (tmp);
}
}
static void builtin_diff(char const   *name_a , char const   *name_b , struct diff_filespec *one___0 ,
                         struct diff_filespec *two___0 , char const   *xfrm_msg ,
                         int must_show_header , struct diff_options *o , int complete_rewrite )
{
  mmfile_t mf1 ;
  mmfile_t mf2 ;
  char const   *lbl[2] ;
  char *a_one ;
  char *b_two ;
  char const   *meta ;
  char const   *tmp ;
  char const   *reset ;
  char const   *tmp___0 ;
  char const   *a_prefix ;
  char const   *b_prefix ;
  struct userdiff_driver *textconv_one ;
  struct userdiff_driver *textconv_two ;
  struct strbuf header___0 ;
  char const   *line_prefix ;
  char const   *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  struct strbuf sb___6 ;
  int tmp___6 ;
  char const   *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  char const   *tmp___11 ;
  char const   *diffopts ;
  char const   *v ;
  xpparam_t xpp ;
  xdemitconf_t xecfg ;
  struct emit_callback ecbdata ;
  struct userdiff_funcname  const  *pe ;
  size_t tmp___12 ;
  size_t tmp___13 ;
  char *tmp___14 ;
  unsigned long tmp___15 ;
  unsigned long tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;

  {
  tmp = diff_get_color(o->use_color, (enum color_diff )2);
  meta = tmp;
  tmp___0 = diff_get_color(o->use_color, (enum color_diff )0);
  reset = tmp___0;
  textconv_one = (struct userdiff_driver *)((void *)0);
  textconv_two = (struct userdiff_driver *)((void *)0);
  header___0.alloc = 0UL;
  header___0.len = 0UL;
  header___0.buf = strbuf_slopbuf;
  tmp___1 = diff_line_prefix(o);
  line_prefix = tmp___1;
  diff_set_mnemonic_prefix(o, (char const   *)"a/", (char const   *)"b/");
  if (o->flags.reverse_diff) {
    a_prefix = o->b_prefix;
    b_prefix = o->a_prefix;
  } else {
    a_prefix = o->a_prefix;
    b_prefix = o->b_prefix;
  }
  if ((unsigned int )o->submodule_format == 1U) {
    if (! one___0->mode) {
      goto _L___4;
    } else
    if (((int )one___0->mode & 0170000) == 0160000) {
      _L___4: /* CIL Label */
      if (! two___0->mode) {
        goto _L___2;
      } else
      if (((int )two___0->mode & 0170000) == 0160000) {
        _L___2: /* CIL Label */
        if (one___0->path) {
          tmp___2 = one___0->path;
        } else {
          tmp___2 = two___0->path;
        }
        show_submodule_diff_summary(o, (char const   *)tmp___2, & one___0->oid, & two___0->oid,
                                    two___0->dirty_submodule);
        return;
      } else {
        goto _L___3;
      }
    } else {
      goto _L___3;
    }
  } else
  _L___3: /* CIL Label */
  _L___1: /* CIL Label */
  if ((unsigned int )o->submodule_format == 2U) {
    if (! one___0->mode) {
      goto _L___0;
    } else
    if (((int )one___0->mode & 0170000) == 0160000) {
      _L___0: /* CIL Label */
      if (! two___0->mode) {
        goto _L;
      } else
      if (((int )two___0->mode & 0170000) == 0160000) {
        _L: /* CIL Label */
        if (one___0->path) {
          tmp___3 = one___0->path;
        } else {
          tmp___3 = two___0->path;
        }
        show_submodule_inline_diff(o, (char const   *)tmp___3, & one___0->oid, & two___0->oid,
                                   two___0->dirty_submodule);
        return;
      }
    }
  }
  if (o->flags.allow_textconv) {
    textconv_one = get_textconv(o->repo, one___0);
    textconv_two = get_textconv(o->repo, two___0);
  }
  if ((int )one___0->mode != 0) {
    name_a = name_a;
  } else {
    name_a = name_b;
  }
  if ((int )two___0->mode != 0) {
    name_b = name_b;
  } else {
    name_b = name_a;
  }
  a_one = quote_two(a_prefix, name_a + ((int const   )*name_a == 47));
  b_two = quote_two(b_prefix, name_b + ((int const   )*name_b == 47));
  if ((int )one___0->mode != 0) {
    lbl[0] = (char const   *)a_one;
  } else {
    lbl[0] = (char const   *)"/dev/null";
  }
  if ((int )two___0->mode != 0) {
    lbl[1] = (char const   *)b_two;
  } else {
    lbl[1] = (char const   *)"/dev/null";
  }
  strbuf_addf(& header___0, (char const   *)"%s%sdiff --git %s %s%s\n", line_prefix,
              meta, a_one, b_two, reset);
  if ((int const   )*(lbl[0] + 0) == 47) {
    strbuf_addf(& header___0, (char const   *)"%s%snew file mode %06o%s\n", line_prefix,
                meta, (int )two___0->mode, reset);
    if (xfrm_msg) {
      strbuf_addstr(& header___0, xfrm_msg);
    }
    must_show_header = 1;
  } else
  if ((int const   )*(lbl[1] + 0) == 47) {
    strbuf_addf(& header___0, (char const   *)"%s%sdeleted file mode %06o%s\n", line_prefix,
                meta, (int )one___0->mode, reset);
    if (xfrm_msg) {
      strbuf_addstr(& header___0, xfrm_msg);
    }
    must_show_header = 1;
  } else {
    if ((int )one___0->mode != (int )two___0->mode) {
      strbuf_addf(& header___0, (char const   *)"%s%sold mode %06o%s\n", line_prefix,
                  meta, (int )one___0->mode, reset);
      strbuf_addf(& header___0, (char const   *)"%s%snew mode %06o%s\n", line_prefix,
                  meta, (int )two___0->mode, reset);
      must_show_header = 1;
    }
    if (xfrm_msg) {
      strbuf_addstr(& header___0, xfrm_msg);
    }
    if (((int )one___0->mode ^ (int )two___0->mode) & 0170000) {
      goto free_ab_and_return;
    }
    if (complete_rewrite) {
      if (textconv_one) {
        goto _L___5;
      } else {
        tmp___4 = diff_filespec_is_binary(o->repo, one___0);
        if (! tmp___4) {
          _L___5: /* CIL Label */
          if (textconv_two) {
            emit_diff_symbol(o, (enum diff_symbol )21, (char const   *)header___0.buf,
                             (int )header___0.len, 0U);
            strbuf_setlen(& header___0, (size_t )0);
            emit_rewrite_diff(name_a, name_b, one___0, two___0, textconv_one, textconv_two,
                              o);
            o->found_changes = 1;
            goto free_ab_and_return;
          } else {
            tmp___5 = diff_filespec_is_binary(o->repo, two___0);
            if (! tmp___5) {
              emit_diff_symbol(o, (enum diff_symbol )21, (char const   *)header___0.buf,
                               (int )header___0.len, 0U);
              strbuf_setlen(& header___0, (size_t )0);
              emit_rewrite_diff(name_a, name_b, one___0, two___0, textconv_one, textconv_two,
                                o);
              o->found_changes = 1;
              goto free_ab_and_return;
            }
          }
        }
      }
    }
  }
  if (o->irreversible_delete) {
    if ((int const   )*(lbl[1] + 0) == 47) {
      emit_diff_symbol(o, (enum diff_symbol )21, (char const   *)header___0.buf, (int )header___0.len,
                       0U);
      strbuf_setlen(& header___0, (size_t )0);
      goto free_ab_and_return;
    } else {
      goto _L___9;
    }
  } else
  _L___9: /* CIL Label */
  if (! o->flags.text) {
    if (! textconv_one) {
      tmp___20 = diff_filespec_is_binary(o->repo, one___0);
      if (tmp___20) {
        goto _L___7;
      } else {
        goto _L___8;
      }
    } else
    _L___8: /* CIL Label */
    if (! textconv_two) {
      tmp___21 = diff_filespec_is_binary(o->repo, two___0);
      if (tmp___21) {
        _L___7: /* CIL Label */
        sb___6.alloc = 0UL;
        sb___6.len = 0UL;
        sb___6.buf = strbuf_slopbuf;
        if (! one___0->data) {
          if (! two___0->data) {
            if (((int )one___0->mode & 0170000) == 0100000) {
              if (((int )two___0->mode & 0170000) == 0100000) {
                if (! o->flags.binary) {
                  tmp___6 = oideq((struct object_id  const  *)(& one___0->oid), (struct object_id  const  *)(& two___0->oid));
                  if (tmp___6) {
                    if (must_show_header) {
                      emit_diff_symbol(o, (enum diff_symbol )21, (char const   *)header___0.buf,
                                       (int )header___0.len, 0U);
                    }
                    goto free_ab_and_return;
                  }
                  emit_diff_symbol(o, (enum diff_symbol )21, (char const   *)header___0.buf,
                                   (int )header___0.len, 0U);
                  tmp___7 = diff_line_prefix(o);
                  strbuf_addf(& sb___6, (char const   *)"%sBinary files %s and %s differ\n",
                              tmp___7, lbl[0], lbl[1]);
                  emit_diff_symbol(o, (enum diff_symbol )20, (char const   *)sb___6.buf,
                                   (int )sb___6.len, 0U);
                  strbuf_release(& sb___6);
                  goto free_ab_and_return;
                }
              }
            }
          }
        }
        tmp___8 = fill_mmfile(o->repo, & mf1, one___0);
        if (tmp___8 < 0) {
          die((char const   *)"unable to read files to diff");
        } else {
          tmp___9 = fill_mmfile(o->repo, & mf2, two___0);
          if (tmp___9 < 0) {
            die((char const   *)"unable to read files to diff");
          }
        }
        if (mf1.size == mf2.size) {
          tmp___10 = memcmp((void const   *)mf1.ptr, (void const   *)mf2.ptr, (size_t )mf1.size);
          if (! tmp___10) {
            if (must_show_header) {
              emit_diff_symbol(o, (enum diff_symbol )21, (char const   *)header___0.buf,
                               (int )header___0.len, 0U);
            }
            goto free_ab_and_return;
          }
        }
        emit_diff_symbol(o, (enum diff_symbol )21, (char const   *)header___0.buf,
                         (int )header___0.len, 0U);
        strbuf_setlen(& header___0, (size_t )0);
        if (o->flags.binary) {
          emit_binary_diff(o, & mf1, & mf2);
        } else {
          tmp___11 = diff_line_prefix(o);
          strbuf_addf(& sb___6, (char const   *)"%sBinary files %s and %s differ\n",
                      tmp___11, lbl[0], lbl[1]);
          emit_diff_symbol(o, (enum diff_symbol )20, (char const   *)sb___6.buf, (int )sb___6.len,
                           0U);
          strbuf_release(& sb___6);
        }
        o->found_changes = 1;
      } else {
        goto _L___6;
      }
    } else {
      goto _L___6;
    }
  } else {
    _L___6: /* CIL Label */
    if (must_show_header) {
      emit_diff_symbol(o, (enum diff_symbol )21, (char const   *)header___0.buf, (int )header___0.len,
                       0U);
      strbuf_setlen(& header___0, (size_t )0);
    }
    tmp___12 = fill_textconv(o->repo, textconv_one, one___0, & mf1.ptr);
    mf1.size = (long )tmp___12;
    tmp___13 = fill_textconv(o->repo, textconv_two, two___0, & mf2.ptr);
    mf2.size = (long )tmp___13;
    pe = diff_funcname_pattern(o, one___0);
    if (! pe) {
      pe = diff_funcname_pattern(o, two___0);
    }
    memset((void *)(& xpp), 0, sizeof(xpp));
    memset((void *)(& xecfg), 0, sizeof(xecfg));
    memset((void *)(& ecbdata), 0, sizeof(ecbdata));
    if (o->flags.suppress_diff_headers) {
      lbl[0] = (char const   *)((void *)0);
    }
    ecbdata.label_path = lbl;
    ecbdata.color_diff = want_color_fd(1, o->use_color);
    ecbdata.ws_rule = whitespace_rule((o->repo)->index, name_b);
    if (ecbdata.ws_rule & 1024U) {
      check_blank_at_eof(& mf1, & mf2, & ecbdata);
    }
    ecbdata.opt = o;
    if (header___0.len) {
      if (! o->flags.suppress_diff_headers) {
        ecbdata.header = & header___0;
      }
    }
    xpp.flags = (unsigned long )o->xdl_opts;
    xpp.ignore_regex = o->ignore_regex;
    xpp.ignore_regex_nr = o->ignore_regex_nr;
    xpp.anchors = o->anchors;
    xpp.anchors_nr = o->anchors_nr;
    xecfg.ctxlen = (long )o->context;
    xecfg.interhunkctxlen = (long )o->interhunkcontext;
    xecfg.flags = 1UL;
    if (o->flags.funccontext) {
      xecfg.flags |= (unsigned long )(1 << 2);
    }
    if (pe) {
      xdiff_set_find_func(& xecfg, (char const   *)pe->pattern, (int )pe->cflags);
    }
    tmp___14 = getenv((char const   *)"GIT_DIFF_OPTS");
    diffopts = (char const   *)tmp___14;
    if (! (! diffopts)) {
      tmp___18 = skip_prefix(diffopts, (char const   *)"--unified=", & v);
      if (tmp___18) {
        tmp___15 = strtoul((char const   * __restrict  )v, (char ** __restrict  )((void *)0),
                           10);
        xecfg.ctxlen = (long )tmp___15;
      } else {
        tmp___17 = skip_prefix(diffopts, (char const   *)"-u", & v);
        if (tmp___17) {
          tmp___16 = strtoul((char const   * __restrict  )v, (char ** __restrict  )((void *)0),
                             10);
          xecfg.ctxlen = (long )tmp___16;
        }
      }
    }
    if (o->word_diff) {
      init_diff_words_data(& ecbdata, o, one___0, two___0);
    }
    tmp___19 = xdi_diff_outf(& mf1, & mf2, (void (*)(void *data , long old_begin ,
                                                     long old_nr , long new_begin ,
                                                     long new_nr , char const   *func ,
                                                     long funclen ))((void *)0), & fn_out_consume,
                             (void *)(& ecbdata), (xpparam_t const   *)(& xpp), (xdemitconf_t const   *)(& xecfg));
    if (tmp___19) {
      die((char const   *)"unable to generate diff for %s", one___0->path);
    }
    if (o->word_diff) {
      free_diff_words_data(& ecbdata);
    }
    if (textconv_one) {
      free((void *)mf1.ptr);
    }
    if (textconv_two) {
      free((void *)mf2.ptr);
    }
    xdiff_clear_find_func(& xecfg);
  }
  free_ab_and_return:
  strbuf_release(& header___0);
  diff_free_filespec_data(one___0);
  diff_free_filespec_data(two___0);
  free((void *)a_one);
  free((void *)b_two);
  return;
}
}
static char *get_compact_summary(struct diff_filepair  const  *p___0 , int is_renamed )
{


  {
  if (! is_renamed) {
    if ((int )p___0->status == 65) {
      if (((int )(p___0->two)->mode & 0170000) == 0120000) {
        return ("new +l");
      } else
      if (((int )(p___0->two)->mode & 0777) == 0755) {
        return ("new +x");
      } else {
        return ("new");
      }
    } else
    if ((int )p___0->status == 68) {
      return ("gone");
    }
  }
  if (((int )(p___0->one)->mode & 0170000) == 0120000) {
    if (! (((int )(p___0->two)->mode & 0170000) == 0120000)) {
      return ("mode -l");
    } else {
      goto _L___1;
    }
  } else
  _L___1: /* CIL Label */
  if (! (((int )(p___0->one)->mode & 0170000) == 0120000)) {
    if (((int )(p___0->two)->mode & 0170000) == 0120000) {
      return ("mode +l");
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  if (((int )(p___0->one)->mode & 0777) == 0644) {
    if (((int )(p___0->two)->mode & 0777) == 0755) {
      return ("mode +x");
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (((int )(p___0->one)->mode & 0777) == 0755) {
    if (((int )(p___0->two)->mode & 0777) == 0644) {
      return ("mode -x");
    }
  }
  return ((char *)((void *)0));
}
}
static void builtin_diffstat(char const   *name_a , char const   *name_b , struct diff_filespec *one___0 ,
                             struct diff_filespec *two___0 , struct diffstat_t *diffstat ,
                             struct diff_options *o , struct diff_filepair *p___0 )
{
  mmfile_t mf1 ;
  mmfile_t mf2 ;
  struct diffstat_file *data ;
  int may_differ ;
  int complete_rewrite ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  xpparam_t xpp ;
  xdemitconf_t xecfg ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  struct diffstat_file *file___0 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  complete_rewrite = 0;
  if (! p___0->is_unmerged) {
    if ((int )p___0->status == 77) {
      if (p___0->score) {
        complete_rewrite = 1;
      }
    }
  }
  data = diffstat_add(diffstat, name_a, name_b);
  data->is_interesting = (unsigned int )((int )p___0->status != 88);
  if (o->flags.stat_with_summary) {
    tmp = get_compact_summary((struct diff_filepair  const  *)p___0, (int )data->is_renamed);
    data->comments = (char const   *)tmp;
  }
  if (! one___0) {
    data->is_unmerged = 1U;
    return;
  } else
  if (! two___0) {
    data->is_unmerged = 1U;
    return;
  }
  if (one___0->oid_valid) {
    if (two___0->oid_valid) {
      tmp___0 = oideq((struct object_id  const  *)(& one___0->oid), (struct object_id  const  *)(& two___0->oid));
      if (tmp___0) {
        tmp___1 = 0;
      } else {
        tmp___1 = 1;
      }
    } else {
      tmp___1 = 1;
    }
  } else {
    tmp___1 = 1;
  }
  may_differ = tmp___1;
  tmp___7 = diff_filespec_is_binary(o->repo, one___0);
  if (tmp___7) {
    goto _L;
  } else {
    tmp___8 = diff_filespec_is_binary(o->repo, two___0);
    if (tmp___8) {
      _L: /* CIL Label */
      data->is_binary = 1U;
      if (! may_differ) {
        data->added = (uintmax_t )0;
        data->deleted = (uintmax_t )0;
      } else {
        data->added = diff_filespec_size(o->repo, two___0);
        data->deleted = diff_filespec_size(o->repo, one___0);
      }
    } else
    if (complete_rewrite) {
      diff_populate_filespec(o->repo, one___0, (struct diff_populate_filespec_options  const  *)((void *)0));
      diff_populate_filespec(o->repo, two___0, (struct diff_populate_filespec_options  const  *)((void *)0));
      tmp___2 = count_lines((char const   *)one___0->data, (int )one___0->size);
      data->deleted = (uintmax_t )tmp___2;
      tmp___3 = count_lines((char const   *)two___0->data, (int )two___0->size);
      data->added = (uintmax_t )tmp___3;
    } else
    if (may_differ) {
      tmp___4 = fill_mmfile(o->repo, & mf1, one___0);
      if (tmp___4 < 0) {
        die((char const   *)"unable to read files to diff");
      } else {
        tmp___5 = fill_mmfile(o->repo, & mf2, two___0);
        if (tmp___5 < 0) {
          die((char const   *)"unable to read files to diff");
        }
      }
      memset((void *)(& xpp), 0, sizeof(xpp));
      memset((void *)(& xecfg), 0, sizeof(xecfg));
      xpp.flags = (unsigned long )o->xdl_opts;
      xpp.ignore_regex = o->ignore_regex;
      xpp.ignore_regex_nr = o->ignore_regex_nr;
      xpp.anchors = o->anchors;
      xpp.anchors_nr = o->anchors_nr;
      xecfg.ctxlen = (long )o->context;
      xecfg.interhunkctxlen = (long )o->interhunkcontext;
      xecfg.flags = (unsigned long )(1 << 1);
      tmp___6 = xdi_diff_outf(& mf1, & mf2, (void (*)(void *data , long old_begin ,
                                                      long old_nr , long new_begin ,
                                                      long new_nr , char const   *func ,
                                                      long funclen ))((void *)0),
                              & diffstat_consume, (void *)diffstat, (xpparam_t const   *)(& xpp),
                              (xdemitconf_t const   *)(& xecfg));
      if (tmp___6) {
        die((char const   *)"unable to generate diffstat for %s", one___0->path);
      }
      if ((int )one___0->mode != 0) {
        if ((int )two___0->mode != 0) {
          file___0 = *(diffstat->files + (diffstat->nr - 1));
          if ((int )p___0->status == 77) {
            if (! file___0->added) {
              if (! file___0->deleted) {
                if ((int )one___0->mode == (int )two___0->mode) {
                  free_diffstat_file(file___0);
                  (diffstat->nr) --;
                }
              }
            }
          }
        }
      }
    }
  }
  diff_free_filespec_data(one___0);
  diff_free_filespec_data(two___0);
  return;
}
}
static char *err___0  ;
static void builtin_checkdiff(char const   *name_a , char const   *name_b , char const   *attr_path ,
                              struct diff_filespec *one___0 , struct diff_filespec *two___0 ,
                              struct diff_options *o )
{
  mmfile_t mf1 ;
  mmfile_t mf2 ;
  struct checkdiff_t data ;
  int tmp ;
  int tmp___0 ;
  xpparam_t xpp ;
  xdemitconf_t xecfg ;
  int tmp___1 ;
  struct emit_callback ecbdata ;
  int blank_at_eof ;
  int tmp___2 ;

  {
  if (! two___0) {
    return;
  }
  memset((void *)(& data), 0, sizeof(data));
  if (name_b) {
    data.filename = name_b;
  } else {
    data.filename = name_a;
  }
  data.lineno = 0;
  data.o = o;
  data.ws_rule = whitespace_rule((o->repo)->index, attr_path);
  data.conflict_marker_size = ll_merge_marker_size((o->repo)->index, attr_path);
  tmp = fill_mmfile(o->repo, & mf1, one___0);
  if (tmp < 0) {
    die((char const   *)"unable to read files to diff");
  } else {
    tmp___0 = fill_mmfile(o->repo, & mf2, two___0);
    if (tmp___0 < 0) {
      die((char const   *)"unable to read files to diff");
    }
  }
  tmp___2 = diff_filespec_is_binary(o->repo, two___0);
  if (! tmp___2) {
    memset((void *)(& xpp), 0, sizeof(xpp));
    memset((void *)(& xecfg), 0, sizeof(xecfg));
    xecfg.ctxlen = 1L;
    xpp.flags = 0UL;
    tmp___1 = xdi_diff_outf(& mf1, & mf2, & checkdiff_consume_hunk, & checkdiff_consume,
                            (void *)(& data), (xpparam_t const   *)(& xpp), (xdemitconf_t const   *)(& xecfg));
    if (tmp___1) {
      die((char const   *)"unable to generate checkdiff for %s", one___0->path);
    }
    if (data.ws_rule & 1024U) {
      ecbdata.ws_rule = data.ws_rule;
      check_blank_at_eof(& mf1, & mf2, & ecbdata);
      blank_at_eof = ecbdata.blank_at_eof_in_postimage;
      if (blank_at_eof) {
        if (! err___0) {
          err___0 = whitespace_error_string(1024U);
        }
        fprintf(o->file, (char const   *)"%s:%d: %s.\n", data.filename, blank_at_eof,
                err___0);
        data.status = 1U;
      }
    }
  }
  free_and_return:
  diff_free_filespec_data(one___0);
  diff_free_filespec_data(two___0);
  if (data.status) {
    o->flags.check_failed = 1U;
  }
  return;
}
}
struct diff_filespec *alloc_filespec(char const   *path___6 )
{
  struct diff_filespec *spec ;
  size_t flex_array_len_ ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = strlen(path___6);
    flex_array_len_ = tmp;
    tmp___0 = st_add(sizeof(*spec), flex_array_len_);
    tmp___1 = st_add(tmp___0, (size_t )1);
    tmp___2 = xcalloc((size_t )1, tmp___1);
    spec = (struct diff_filespec *)tmp___2;
    memcpy((void *)(spec + 1), (void const   *)path___6, flex_array_len_);
    spec->path = (char *)((void *)(spec + 1));
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  spec->count = 1;
  spec->is_binary = -1;
  return (spec);
}
}
void free_filespec(struct diff_filespec *spec )
{


  {
  (spec->count) --;
  if (! spec->count) {
    diff_free_filespec_data(spec);
    free((void *)spec);
  }
  return;
}
}
void fill_filespec(struct diff_filespec *spec , struct object_id  const  *oid , int oid_valid ,
                   unsigned short mode___1 )
{
  unsigned int tmp ;

  {
  if (mode___1) {
    tmp = canon_mode((unsigned int )mode___1);
    spec->mode = (unsigned short )tmp;
    oidcpy(& spec->oid, oid);
    spec->oid_valid = (unsigned int )oid_valid;
  }
  return;
}
}
static int reuse_worktree_file(struct index_state *istate , char const   *name___0 ,
                               struct object_id  const  *oid , int want_file )
{
  struct cache_entry  const  *ce ;
  struct stat st ;
  int pos ;
  int len___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  if (! istate->cache) {
    return (0);
  }
  if (! want_file) {
    tmp___0 = would_convert_to_git(istate, name___0);
    if (tmp___0) {
      return (0);
    }
  }
  tmp___1 = path_in_sparse_checkout(name___0, istate);
  if (! tmp___1) {
    return (0);
  }
  tmp___2 = strlen(name___0);
  len___0 = (int )tmp___2;
  pos = index_name_pos(istate, name___0, len___0);
  if (pos < 0) {
    return (0);
  }
  ce = (struct cache_entry  const  *)*(istate->cache + pos);
  tmp___3 = oideq(oid, (struct object_id  const  *)(& ce->oid));
  if (tmp___3) {
    if (! ((ce->ce_mode & 61440U) == 32768U)) {
      return (0);
    }
  } else {
    return (0);
  }
  if (ce->ce_flags & 32768U) {
    return (0);
  } else
  if (ce->ce_flags & (unsigned int )(1 << 30)) {
    return (0);
  }
  if (ce->ce_flags & (unsigned int )(1 << 18)) {
    return (1);
  } else {
    tmp___4 = lstat(name___0, & st);
    if (! tmp___4) {
      tmp___5 = ie_match_stat(istate, ce, & st, 0U);
      if (! tmp___5) {
        return (1);
      }
    }
  }
  return (0);
}
}
static int diff_populate_gitlink(struct diff_filespec *s___1 , int size_only )
{
  struct strbuf buf___19 ;
  char *dirty___0 ;
  char *tmp ;
  char *tmp___0 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  dirty___0 = "";
  if (s___1->dirty_submodule) {
    dirty___0 = "-dirty";
  }
  tmp = oid_to_hex((struct object_id  const  *)(& s___1->oid));
  strbuf_addf(& buf___19, (char const   *)"Subproject commit %s%s\n", tmp, dirty___0);
  s___1->size = buf___19.len;
  if (size_only) {
    s___1->data = (void *)0;
    strbuf_release(& buf___19);
  } else {
    tmp___0 = strbuf_detach(& buf___19, (size_t *)((void *)0));
    s___1->data = (void *)tmp___0;
    s___1->should_free = 1U;
  }
  return (0);
}
}
int diff_populate_filespec(struct repository *r , struct diff_filespec *s___1 , struct diff_populate_filespec_options  const  *options )
{
  int size_only ;
  unsigned int tmp ;
  int check_binary ;
  unsigned int tmp___0 ;
  int err___4 ;
  int conv_flags ;
  int tmp___1 ;
  struct strbuf buf___19 ;
  struct stat st ;
  int fd ;
  int tmp___2 ;
  struct strbuf sb___6 ;
  int tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;
  size_t size ;
  char *tmp___6 ;
  int tmp___7 ;
  struct object_info info___0 ;
  int tmp___8 ;
  char *tmp___9 ;
  int tmp___10 ;
  char *tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;

  {
  if (options) {
    tmp = options->check_size_only;
  } else {
    tmp = (unsigned int )0;
  }
  size_only = (int )tmp;
  if (options) {
    tmp___0 = options->check_binary;
  } else {
    tmp___0 = (unsigned int )0;
  }
  check_binary = (int )tmp___0;
  err___4 = 0;
  conv_flags = global_conv_flags_eol;
  if (conv_flags & 1) {
    conv_flags = 1 << 1;
  }
  if (! ((int )s___1->mode != 0)) {
    die((char const   *)"internal error: asking to populate invalid file.");
  }
  if (((int )s___1->mode & 0170000) == 0040000) {
    return (-1);
  }
  if (s___1->data) {
    return (0);
  }
  if (size_only) {
    if (0UL < s___1->size) {
      return (0);
    }
  }
  if (((int )s___1->mode & 0170000) == 0160000) {
    tmp___1 = diff_populate_gitlink(s___1, size_only);
    return (tmp___1);
  }
  if (! s___1->oid_valid) {
    goto _L___0;
  } else {
    tmp___13 = reuse_worktree_file(r->index, (char const   *)s___1->path, (struct object_id  const  *)(& s___1->oid),
                                   0);
    if (tmp___13) {
      _L___0: /* CIL Label */
      buf___19.alloc = 0UL;
      buf___19.len = 0UL;
      buf___19.buf = strbuf_slopbuf;
      tmp___2 = lstat((char const   *)s___1->path, & st);
      if (tmp___2 < 0) {
        err_empty:
        err___4 = -1;
        empty:
        s___1->data = (void *)"";
        s___1->size = 0UL;
        return (err___4);
      }
      s___1->size = xsize_t(st.st_size);
      if (! s___1->size) {
        goto empty;
      }
      if ((st.st_mode & 61440U) == 40960U) {
        sb___6.alloc = 0UL;
        sb___6.len = 0UL;
        sb___6.buf = strbuf_slopbuf;
        tmp___3 = strbuf_readlink(& sb___6, (char const   *)s___1->path, s___1->size);
        if (tmp___3) {
          goto err_empty;
        }
        s___1->size = sb___6.len;
        tmp___4 = strbuf_detach(& sb___6, (size_t *)((void *)0));
        s___1->data = (void *)tmp___4;
        s___1->should_free = 1U;
        return (0);
      }
      if (size_only) {
        tmp___5 = would_convert_to_git(r->index, (char const   *)s___1->path);
        if (! tmp___5) {
          return (0);
        }
      }
      if (check_binary) {
        if (s___1->size > big_file_threshold) {
          if (s___1->is_binary == -1) {
            s___1->is_binary = 1;
            return (0);
          }
        }
      }
      fd = open((char const   *)s___1->path, 00);
      if (fd < 0) {
        goto err_empty;
      }
      s___1->data = xmmap((void *)0, s___1->size, 0x1, 0x02, fd, (off_t )0);
      close(fd);
      s___1->should_munmap = 1U;
      tmp___7 = convert_to_git(r->index, (char const   *)s___1->path, (char const   *)s___1->data,
                               s___1->size, & buf___19, conv_flags);
      if (tmp___7) {
        size = (size_t )0;
        munmap(s___1->data, s___1->size);
        s___1->should_munmap = 0U;
        tmp___6 = strbuf_detach(& buf___19, & size);
        s___1->data = (void *)tmp___6;
        s___1->size = size;
        s___1->should_free = 1U;
      }
    } else {
      info___0.typep = (enum object_type *)0;
      info___0.sizep = & s___1->size;
      info___0.disk_sizep = (off_t *)0;
      info___0.delta_base_oid = (struct object_id *)0;
      info___0.type_name = (struct strbuf *)0;
      info___0.contentp = (void **)0;
      info___0.whence = 0U;
      info___0.u.packed.pack = (struct packed_git *)0;
      info___0.u.packed.offset = 0L;
      info___0.u.packed.is_delta = 0U;
      if (! size_only) {
        if (! check_binary) {
          info___0.contentp = & s___1->data;
        }
      }
      if (options) {
        if (options->missing_object_cb) {
          tmp___8 = oid_object_info_extended(r, (struct object_id  const  *)(& s___1->oid),
                                             & info___0, 33U);
          if (! tmp___8) {
            goto object_read;
          }
          (*(options->missing_object_cb))((void *)options->missing_object_data);
        }
      }
      tmp___10 = oid_object_info_extended(r, (struct object_id  const  *)(& s___1->oid),
                                          & info___0, 1U);
      if (tmp___10) {
        tmp___9 = oid_to_hex((struct object_id  const  *)(& s___1->oid));
        die((char const   *)"unable to read %s", tmp___9);
      }
      object_read:
      if (size_only) {
        goto _L;
      } else
      if (check_binary) {
        _L: /* CIL Label */
        if (size_only) {
          return (0);
        }
        if (s___1->size > big_file_threshold) {
          if (s___1->is_binary == -1) {
            s___1->is_binary = 1;
            return (0);
          }
        }
      }
      if (! info___0.contentp) {
        info___0.contentp = & s___1->data;
        tmp___12 = oid_object_info_extended(r, (struct object_id  const  *)(& s___1->oid),
                                            & info___0, 1U);
        if (tmp___12) {
          tmp___11 = oid_to_hex((struct object_id  const  *)(& s___1->oid));
          die((char const   *)"unable to read %s", tmp___11);
        }
      }
      s___1->should_free = 1U;
    }
  }
  return (0);
}
}
void diff_free_filespec_blob(struct diff_filespec *s___1 )
{
  unsigned int tmp ;

  {
  if (s___1->should_free) {
    free(s___1->data);
  } else
  if (s___1->should_munmap) {
    munmap(s___1->data, s___1->size);
  }
  if (s___1->should_free) {
    tmp = 0U;
    s___1->should_munmap = tmp;
    s___1->should_free = tmp;
    s___1->data = (void *)0;
  } else
  if (s___1->should_munmap) {
    tmp = 0U;
    s___1->should_munmap = tmp;
    s___1->should_free = tmp;
    s___1->data = (void *)0;
  }
  return;
}
}
void diff_free_filespec_data(struct diff_filespec *s___1 )
{


  {
  if (! s___1) {
    return;
  }
  diff_free_filespec_blob(s___1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free(s___1->cnt_data);
    s___1->cnt_data = (void *)0;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void prep_temp_blob(struct index_state *istate , char const   *path___6 , struct diff_tempfile *temp ,
                           void *blob , unsigned long size , struct object_id  const  *oid ,
                           int mode___1 )
{
  struct strbuf buf___19 ;
  struct strbuf tempfile ;
  char *path_dup ;
  char *tmp ;
  char const   *base ;
  char *tmp___0 ;
  struct checkout_metadata meta ;
  size_t tmp___1 ;
  int tmp___2 ;
  ssize_t tmp___3 ;
  int tmp___4 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tempfile.alloc = 0UL;
  tempfile.len = 0UL;
  tempfile.buf = strbuf_slopbuf;
  tmp = xstrdup(path___6);
  path_dup = tmp;
  tmp___0 = __xpg_basename(path_dup);
  base = (char const   *)tmp___0;
  init_checkout_metadata(& meta, (char const   *)((void *)0), (struct object_id  const  *)((void *)0),
                         oid);
  strbuf_addstr(& tempfile, (char const   *)"XXXXXX_");
  strbuf_addstr(& tempfile, base);
  tmp___1 = strlen(base);
  temp->tempfile = mks_tempfile_ts((char const   *)tempfile.buf, (int )(tmp___1 + 1UL));
  if (! temp->tempfile) {
    die_errno((char const   *)"unable to create temp-file");
  }
  tmp___2 = convert_to_working_tree(istate, path___6, (char const   *)blob, size,
                                    & buf___19, (struct checkout_metadata  const  *)(& meta));
  if (tmp___2) {
    blob = (void *)buf___19.buf;
    size = buf___19.len;
  }
  tmp___3 = write_in_full((int )(temp->tempfile)->fd, (void const   *)blob, size);
  if (tmp___3 < 0L) {
    die_errno((char const   *)"unable to write temp-file");
  } else {
    tmp___4 = close_tempfile_gently(temp->tempfile);
    if (tmp___4) {
      die_errno((char const   *)"unable to write temp-file");
    }
  }
  temp->name = get_tempfile_path(temp->tempfile);
  oid_to_hex_r(temp->hex, oid);
  xsnprintf(temp->mode, sizeof(temp->mode), (char const   *)"%06o", mode___1);
  strbuf_release(& buf___19);
  strbuf_release(& tempfile);
  free((void *)path_dup);
  return;
}
}
static struct diff_tempfile *prepare_temp_file(struct repository *r , char const   *name___0 ,
                                               struct diff_filespec *one___0 )
{
  struct diff_tempfile *temp ;
  struct diff_tempfile *tmp ;
  struct stat st ;
  int *tmp___0 ;
  int tmp___1 ;
  struct strbuf sb___6 ;
  int tmp___2 ;
  int tmp___3 ;
  struct object_id  const  *tmp___4 ;
  struct object_id  const  *tmp___5 ;
  struct object_id  const  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  tmp = claim_diff_tempfile();
  temp = tmp;
  if (! ((int )one___0->mode != 0)) {
    not_a_valid_file:
    temp->name = (char const   *)"/dev/null";
    xsnprintf(temp->hex, sizeof(temp->hex), (char const   *)".");
    xsnprintf(temp->mode, sizeof(temp->mode), (char const   *)".");
    return (temp);
  }
  if (! (((int )one___0->mode & 0170000) == 0160000)) {
    if (! one___0->oid_valid) {
      goto _L___0;
    } else {
      tmp___8 = reuse_worktree_file(r->index, name___0, (struct object_id  const  *)(& one___0->oid),
                                    1);
      if (tmp___8) {
        _L___0: /* CIL Label */
        tmp___1 = lstat(name___0, & st);
        if (tmp___1 < 0) {
          tmp___0 = __errno_location();
          if (*tmp___0 == 2) {
            goto not_a_valid_file;
          }
          die_errno((char const   *)"stat(%s)", name___0);
        }
        if ((st.st_mode & 61440U) == 40960U) {
          sb___6.alloc = 0UL;
          sb___6.len = 0UL;
          sb___6.buf = strbuf_slopbuf;
          tmp___2 = strbuf_readlink(& sb___6, name___0, (size_t )st.st_size);
          if (tmp___2 < 0) {
            die_errno((char const   *)"readlink(%s)", name___0);
          }
          if (one___0->oid_valid) {
            tmp___3 = (int )one___0->mode;
          } else {
            tmp___3 = 0120000;
          }
          if (one___0->oid_valid) {
            tmp___5 = (struct object_id  const  *)(& one___0->oid);
          } else {
            tmp___4 = null_oid();
            tmp___5 = tmp___4;
          }
          prep_temp_blob(r->index, name___0, temp, (void *)sb___6.buf, sb___6.len,
                         tmp___5, tmp___3);
          strbuf_release(& sb___6);
        } else {
          temp->name = name___0;
          if (! one___0->oid_valid) {
            tmp___6 = null_oid();
            oid_to_hex_r(temp->hex, tmp___6);
          } else {
            oid_to_hex_r(temp->hex, (struct object_id  const  *)(& one___0->oid));
          }
          xsnprintf(temp->mode, sizeof(temp->mode), (char const   *)"%06o", (int )one___0->mode);
        }
        return (temp);
      } else {
        goto _L;
      }
    }
  } else {
    _L: /* CIL Label */
    tmp___7 = diff_populate_filespec(r, one___0, (struct diff_populate_filespec_options  const  *)((void *)0));
    if (tmp___7) {
      die((char const   *)"cannot read data blob for %s", one___0->path);
    }
    prep_temp_blob(r->index, name___0, temp, one___0->data, one___0->size, (struct object_id  const  *)(& one___0->oid),
                   (int )one___0->mode);
  }
  return (temp);
}
}
static void add_external_diff_name(struct repository *r , struct strvec *argv___0 ,
                                   char const   *name___0 , struct diff_filespec *df )
{
  struct diff_tempfile *temp ;
  struct diff_tempfile *tmp ;

  {
  tmp = prepare_temp_file(r, name___0, df);
  temp = tmp;
  strvec_push(argv___0, temp->name);
  strvec_push(argv___0, (char const   *)(temp->hex));
  strvec_push(argv___0, (char const   *)(temp->mode));
  return;
}
}
static void run_external_diff(char const   *pgm___0 , char const   *name___0 , char const   *other ,
                              struct diff_filespec *one___0 , struct diff_filespec *two___0 ,
                              char const   *xfrm_msg , struct diff_options *o )
{
  struct strvec argv___0 ;
  struct strvec env ;
  struct diff_queue_struct *q ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  argv___0.v = empty_strvec;
  argv___0.nr = 0UL;
  argv___0.alloc = 0UL;
  env.v = empty_strvec;
  env.nr = 0UL;
  env.alloc = 0UL;
  q = & diff_queued_diff;
  strvec_push(& argv___0, pgm___0);
  strvec_push(& argv___0, name___0);
  if (one___0) {
    if (two___0) {
      add_external_diff_name(o->repo, & argv___0, name___0, one___0);
      if (! other) {
        add_external_diff_name(o->repo, & argv___0, name___0, two___0);
      } else {
        add_external_diff_name(o->repo, & argv___0, other, two___0);
        strvec_push(& argv___0, other);
        strvec_push(& argv___0, xfrm_msg);
      }
    }
  }
  (o->diff_path_counter) ++;
  strvec_pushf(& env, (char const   *)"GIT_DIFF_PATH_COUNTER=%d", o->diff_path_counter);
  strvec_pushf(& env, (char const   *)"GIT_DIFF_PATH_TOTAL=%d", q->nr);
  diff_free_filespec_data(one___0);
  diff_free_filespec_data(two___0);
  tmp___0 = run_command_v_opt_cd_env(argv___0.v, 1 << 4, (char const   *)((void *)0),
                                     (char const   **)env.v);
  if (tmp___0) {
    tmp = _((char const   *)"external diff died, stopping at %s");
    die((char const   *)tmp, name___0);
  }
  remove_tempfile();
  strvec_clear(& argv___0);
  strvec_clear(& env);
  return;
}
}
static int similarity_index(struct diff_filepair *p___0 )
{


  {
  return ((int )((double )((int )p___0->score * 100) / 60000.0));
}
}
static char const   *diff_abbrev_oid(struct object_id  const  *oid , int abbrev___6 )
{
  char const   *tmp ;
  char *hex___3 ;
  char *tmp___0 ;

  {
  if (startup_info->have_repository) {
    tmp = repo_find_unique_abbrev(the_repository, oid, abbrev___6);
    return (tmp);
  } else {
    tmp___0 = oid_to_hex(oid);
    hex___3 = tmp___0;
    if (abbrev___6 < 0) {
      abbrev___6 = 7;
    }
    if ((size_t )abbrev___6 > (the_repository->hash_algo)->hexsz) {
      BUG_fl((char const   *)"diff.c", 4258, (char const   *)"oid abbreviation out of range: %d",
             abbrev___6);
    }
    if (abbrev___6) {
      *(hex___3 + abbrev___6) = (char )'\000';
    }
    return ((char const   *)hex___3);
  }
}
}
static void fill_metainfo(struct strbuf *msg___5 , char const   *name___0 , char const   *other ,
                          struct diff_filespec *one___0 , struct diff_filespec *two___0 ,
                          struct diff_options *o , struct diff_filepair *p___0 , int *must_show_header ,
                          int use_color )
{
  char const   *set ;
  char const   *tmp ;
  char const   *reset ;
  char const   *tmp___0 ;
  char const   *line_prefix ;
  char const   *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  unsigned int hexsz ;
  int abbrev___6 ;
  int tmp___5 ;
  mmfile_t mf ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  char const   *tmp___10 ;
  char const   *tmp___11 ;
  int tmp___12 ;

  {
  tmp = diff_get_color(use_color, (enum color_diff )2);
  set = tmp;
  tmp___0 = diff_get_color(use_color, (enum color_diff )0);
  reset = tmp___0;
  tmp___1 = diff_line_prefix(o);
  line_prefix = tmp___1;
  *must_show_header = 1;
  strbuf_init(msg___5, (size_t )8492);
  {
  if ((int )p___0->status == 67) {
    goto case_67;
  }
  if ((int )p___0->status == 82) {
    goto case_82;
  }
  if ((int )p___0->status == 77) {
    goto case_77;
  }
  goto switch_default;
  case_67: /* CIL Label */
  tmp___2 = similarity_index(p___0);
  strbuf_addf(msg___5, (char const   *)"%s%ssimilarity index %d%%", line_prefix, set,
              tmp___2);
  strbuf_addf(msg___5, (char const   *)"%s\n%s%scopy from ", reset, line_prefix, set);
  quote_c_style(name___0, msg___5, (FILE *)((void *)0), 0U);
  strbuf_addf(msg___5, (char const   *)"%s\n%s%scopy to ", reset, line_prefix, set);
  quote_c_style(other, msg___5, (FILE *)((void *)0), 0U);
  strbuf_addf(msg___5, (char const   *)"%s\n", reset);
  goto switch_break;
  case_82: /* CIL Label */
  tmp___3 = similarity_index(p___0);
  strbuf_addf(msg___5, (char const   *)"%s%ssimilarity index %d%%", line_prefix, set,
              tmp___3);
  strbuf_addf(msg___5, (char const   *)"%s\n%s%srename from ", reset, line_prefix,
              set);
  quote_c_style(name___0, msg___5, (FILE *)((void *)0), 0U);
  strbuf_addf(msg___5, (char const   *)"%s\n%s%srename to ", reset, line_prefix, set);
  quote_c_style(other, msg___5, (FILE *)((void *)0), 0U);
  strbuf_addf(msg___5, (char const   *)"%s\n", reset);
  goto switch_break;
  case_77: /* CIL Label */
  if (p___0->score) {
    tmp___4 = similarity_index(p___0);
    strbuf_addf(msg___5, (char const   *)"%s%sdissimilarity index %d%%%s\n", line_prefix,
                set, tmp___4, reset);
    goto switch_break;
  }
  switch_default: /* CIL Label */
  *must_show_header = 0;
  switch_break: /* CIL Label */ ;
  }
  if (one___0) {
    if (two___0) {
      tmp___12 = oideq((struct object_id  const  *)(& one___0->oid), (struct object_id  const  *)(& two___0->oid));
      if (! tmp___12) {
        hexsz = (unsigned int )(the_repository->hash_algo)->hexsz;
        if (o->abbrev) {
          tmp___5 = o->abbrev;
        } else {
          tmp___5 = default_abbrev;
        }
        abbrev___6 = tmp___5;
        if (o->flags.full_index) {
          abbrev___6 = (int )hexsz;
        }
        if (o->flags.binary) {
          tmp___6 = fill_mmfile(o->repo, & mf, one___0);
          if (tmp___6) {
            _L: /* CIL Label */
            tmp___8 = fill_mmfile(o->repo, & mf, two___0);
            if (! tmp___8) {
              tmp___9 = diff_filespec_is_binary(o->repo, two___0);
              if (tmp___9) {
                abbrev___6 = (int )hexsz;
              }
            }
          } else {
            tmp___7 = diff_filespec_is_binary(o->repo, one___0);
            if (tmp___7) {
              abbrev___6 = (int )hexsz;
            } else {
              goto _L;
            }
          }
        }
        tmp___10 = diff_abbrev_oid((struct object_id  const  *)(& two___0->oid), abbrev___6);
        tmp___11 = diff_abbrev_oid((struct object_id  const  *)(& one___0->oid), abbrev___6);
        strbuf_addf(msg___5, (char const   *)"%s%sindex %s..%s", line_prefix, set,
                    tmp___11, tmp___10);
        if ((int )one___0->mode == (int )two___0->mode) {
          strbuf_addf(msg___5, (char const   *)" %06o", (int )one___0->mode);
        }
        strbuf_addf(msg___5, (char const   *)"%s\n", reset);
      }
    }
  }
  return;
}
}
static void run_diff_cmd(char const   *pgm___0 , char const   *name___0 , char const   *other ,
                         char const   *attr_path , struct diff_filespec *one___0 ,
                         struct diff_filespec *two___0 , struct strbuf *msg___5 ,
                         struct diff_options *o , struct diff_filepair *p___0 )
{
  char const   *xfrm_msg ;
  int complete_rewrite ;
  int tmp ;
  int must_show_header ;
  struct userdiff_driver *drv ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;

  {
  xfrm_msg = (char const   *)((void *)0);
  if ((int )p___0->status == 77) {
    if (p___0->score) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  complete_rewrite = tmp;
  must_show_header = 0;
  if (o->flags.allow_external) {
    drv = userdiff_find_by_path((o->repo)->index, attr_path);
    if (drv) {
      if (drv->external) {
        pgm___0 = drv->external;
      }
    }
  }
  if (msg___5) {
    tmp___0 = want_color_fd(1, o->use_color);
    if (tmp___0) {
      if (! pgm___0) {
        tmp___1 = 1;
      } else {
        tmp___1 = 0;
      }
    } else {
      tmp___1 = 0;
    }
    fill_metainfo(msg___5, name___0, other, one___0, two___0, o, p___0, & must_show_header,
                  tmp___1);
    if (msg___5->len) {
      xfrm_msg = (char const   *)msg___5->buf;
    } else {
      xfrm_msg = (char const   *)((void *)0);
    }
  }
  if (pgm___0) {
    run_external_diff(pgm___0, name___0, other, one___0, two___0, xfrm_msg, o);
    return;
  }
  if (one___0) {
    if (two___0) {
      if (other) {
        tmp___2 = other;
      } else {
        tmp___2 = name___0;
      }
      builtin_diff(name___0, tmp___2, one___0, two___0, xfrm_msg, must_show_header,
                   o, complete_rewrite);
    } else {
      fprintf(o->file, (char const   *)"* Unmerged path %s\n", name___0);
    }
  } else {
    fprintf(o->file, (char const   *)"* Unmerged path %s\n", name___0);
  }
  return;
}
}
static void diff_fill_oid_info(struct diff_filespec *one___0 , struct index_state *istate )
{
  struct stat st ;
  int tmp ;
  int tmp___0 ;

  {
  if ((int )one___0->mode != 0) {
    if (! one___0->oid_valid) {
      if (one___0->is_stdin) {
        oidclr(& one___0->oid);
        return;
      }
      tmp = lstat((char const   *)one___0->path, & st);
      if (tmp < 0) {
        die_errno((char const   *)"stat \'%s\'", one___0->path);
      }
      tmp___0 = index_path(istate, & one___0->oid, (char const   *)one___0->path,
                           & st, 0U);
      if (tmp___0) {
        die((char const   *)"cannot hash %s", one___0->path);
      }
    }
  } else {
    oidclr(& one___0->oid);
  }
  return;
}
}
static void strip_prefix(int prefix_length , char const   **namep , char const   **otherp )
{
  int tmp ;
  int tmp___0 ;

  {
  if (*namep) {
    tmp = is_absolute_path(*namep);
    if (! tmp) {
      *namep += prefix_length;
      if ((int const   )*(*namep) == 47) {
        (*namep) ++;
      }
    }
  }
  if (*otherp) {
    tmp___0 = is_absolute_path(*otherp);
    if (! tmp___0) {
      *otherp += prefix_length;
      if ((int const   )*(*otherp) == 47) {
        (*otherp) ++;
      }
    }
  }
  return;
}
}
static void run_diff___0(struct diff_filepair *p___0 , struct diff_options *o )
{
  char const   *pgm___0 ;
  char const   *tmp ;
  struct strbuf msg___5 ;
  struct diff_filespec *one___0 ;
  struct diff_filespec *two___0 ;
  char const   *name___0 ;
  char const   *other ;
  char const   *attr_path ;
  int tmp___0 ;
  int tmp___1 ;
  struct diff_filespec *null ;
  struct diff_filespec *tmp___2 ;

  {
  tmp = external_diff();
  pgm___0 = tmp;
  one___0 = p___0->one;
  two___0 = p___0->two;
  name___0 = (char const   *)one___0->path;
  tmp___1 = strcmp(name___0, (char const   *)two___0->path);
  if (tmp___1) {
    other = (char const   *)two___0->path;
  } else {
    other = (char const   *)((void *)0);
  }
  attr_path = name___0;
  if (o->prefix_length) {
    strip_prefix(o->prefix_length, & name___0, & other);
  }
  if (! o->flags.allow_external) {
    pgm___0 = (char const   *)((void *)0);
  }
  if (p___0->is_unmerged) {
    run_diff_cmd(pgm___0, name___0, (char const   *)((void *)0), attr_path, (struct diff_filespec *)((void *)0),
                 (struct diff_filespec *)((void *)0), (struct strbuf *)((void *)0),
                 o, p___0);
    return;
  }
  diff_fill_oid_info(one___0, (o->repo)->index);
  diff_fill_oid_info(two___0, (o->repo)->index);
  if (! pgm___0) {
    if ((int )one___0->mode != 0) {
      if ((int )two___0->mode != 0) {
        if ((0170000 & (int )one___0->mode) != (0170000 & (int )two___0->mode)) {
          tmp___2 = alloc_filespec((char const   *)two___0->path);
          null = tmp___2;
          run_diff_cmd((char const   *)((void *)0), name___0, other, attr_path, one___0,
                       null, & msg___5, o, p___0);
          free((void *)null);
          strbuf_release(& msg___5);
          null = alloc_filespec((char const   *)one___0->path);
          run_diff_cmd((char const   *)((void *)0), name___0, other, attr_path, null,
                       two___0, & msg___5, o, p___0);
          free((void *)null);
        } else {
          run_diff_cmd(pgm___0, name___0, other, attr_path, one___0, two___0, & msg___5,
                       o, p___0);
        }
      } else {
        run_diff_cmd(pgm___0, name___0, other, attr_path, one___0, two___0, & msg___5,
                     o, p___0);
      }
    } else {
      run_diff_cmd(pgm___0, name___0, other, attr_path, one___0, two___0, & msg___5,
                   o, p___0);
    }
  } else {
    run_diff_cmd(pgm___0, name___0, other, attr_path, one___0, two___0, & msg___5,
                 o, p___0);
  }
  strbuf_release(& msg___5);
  return;
}
}
static void run_diffstat(struct diff_filepair *p___0 , struct diff_options *o , struct diffstat_t *diffstat )
{
  char const   *name___0 ;
  char const   *other ;
  int tmp ;
  int tmp___0 ;

  {
  if (p___0->is_unmerged) {
    builtin_diffstat((char const   *)(p___0->one)->path, (char const   *)((void *)0),
                     (struct diff_filespec *)((void *)0), (struct diff_filespec *)((void *)0),
                     diffstat, o, p___0);
    return;
  }
  name___0 = (char const   *)(p___0->one)->path;
  tmp___0 = strcmp(name___0, (char const   *)(p___0->two)->path);
  if (tmp___0) {
    other = (char const   *)(p___0->two)->path;
  } else {
    other = (char const   *)((void *)0);
  }
  if (o->prefix_length) {
    strip_prefix(o->prefix_length, & name___0, & other);
  }
  diff_fill_oid_info(p___0->one, (o->repo)->index);
  diff_fill_oid_info(p___0->two, (o->repo)->index);
  builtin_diffstat(name___0, other, p___0->one, p___0->two, diffstat, o, p___0);
  return;
}
}
static void run_checkdiff(struct diff_filepair *p___0 , struct diff_options *o )
{
  char const   *name___0 ;
  char const   *other ;
  char const   *attr_path ;
  int tmp ;
  int tmp___0 ;

  {
  if (p___0->is_unmerged) {
    return;
  }
  name___0 = (char const   *)(p___0->one)->path;
  tmp___0 = strcmp(name___0, (char const   *)(p___0->two)->path);
  if (tmp___0) {
    other = (char const   *)(p___0->two)->path;
  } else {
    other = (char const   *)((void *)0);
  }
  if (other) {
    attr_path = other;
  } else {
    attr_path = name___0;
  }
  if (o->prefix_length) {
    strip_prefix(o->prefix_length, & name___0, & other);
  }
  diff_fill_oid_info(p___0->one, (o->repo)->index);
  diff_fill_oid_info(p___0->two, (o->repo)->index);
  builtin_checkdiff(name___0, other, attr_path, p___0->one, p___0->two, o);
  return;
}
}
static void prep_parse_options(struct diff_options *options ) ;
void repo_diff_setup(struct repository *r , struct diff_options *options )
{
  char const   *tmp ;

  {
  memcpy((void *)options, (void const   *)(& default_diff_options), sizeof(*options));
  options->file = stdout;
  options->repo = r;
  options->output_indicators[0] = (char )'+';
  options->output_indicators[1] = (char )'-';
  options->output_indicators[2] = (char )' ';
  options->abbrev = default_abbrev;
  options->line_termination = '\n';
  options->break_opt = -1;
  options->rename_limit = -1;
  options->dirstat_permille = diff_dirstat_permille_default;
  options->context = diff_context_default;
  options->interhunkcontext = diff_interhunk_context_default;
  options->ws_error_highlight = ws_error_highlight_default;
  options->flags.rename_empty = 1U;
  options->flags.relative_name = (unsigned int )diff_relative;
  options->objfind = (struct oidset *)((void *)0);
  options->change = & diff_change;
  options->add_remove = & diff_addremove;
  options->use_color = diff_use_color_default;
  options->detect_rename = diff_detect_rename_default;
  options->xdl_opts = (int )((long )options->xdl_opts | diff_algorithm);
  if (diff_indent_heuristic) {
    options->xdl_opts |= 1 << 23;
  }
  options->orderfile = diff_order_file_cfg;
  if (! options->flags.ignore_submodule_set) {
    options->flags.ignore_untracked_in_submodules = 1U;
  }
  if (diff_no_prefix) {
    tmp = (char const   *)"";
    options->b_prefix = tmp;
    options->a_prefix = tmp;
  } else
  if (! diff_mnemonic_prefix) {
    options->a_prefix = (char const   *)"a/";
    options->b_prefix = (char const   *)"b/";
  }
  options->color_moved = (enum __anonenum_color_moved_62231619 )diff_color_moved_default;
  options->color_moved_ws_handling = (unsigned int )diff_color_moved_ws_default;
  prep_parse_options(options);
  return;
}
}
void diff_setup_done(struct diff_options *options )
{
  unsigned int check_mask ;
  int hexsz ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  size_t tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const   *tmp___5 ;

  {
  check_mask = 3840U;
  hexsz = (int )(the_repository->hash_algo)->hexsz;
  if (options->set_default) {
    (*(options->set_default))(options);
  }
  if (((unsigned int )options->output_format & check_mask) & (((unsigned int )options->output_format & check_mask) - 1U)) {
    tmp = _((char const   *)"options \'%s\', \'%s\', \'%s\', and \'%s\' cannot be used together");
    die((char const   *)tmp, "--name-only", "--name-status", "--check", "-s");
  }
  if ((options->pickaxe_opts & 28U) & ((options->pickaxe_opts & 28U) - 1U)) {
    tmp___0 = _((char const   *)"options \'%s\', \'%s\', and \'%s\' cannot be used together");
    die((char const   *)tmp___0, "-G", "-S", "--find-object");
  }
  if ((options->pickaxe_opts & 10U) & ((options->pickaxe_opts & 10U) - 1U)) {
    tmp___1 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together, use \'%s\' with \'%s\'");
    die((char const   *)tmp___1, "-G", "--pickaxe-regex", "--pickaxe-regex", "-S");
  }
  if ((options->pickaxe_opts & 17U) & ((options->pickaxe_opts & 17U) - 1U)) {
    tmp___2 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together, use \'%s\' with \'%s\' and \'%s\'");
    die((char const   *)tmp___2, "--pickaxe-all", "--find-object", "--pickaxe-all",
        "-G", "-S");
  }
  if (options->xdl_opts & ((((1 << 1) | (1 << 2)) | (1 << 3)) | (1 << 4))) {
    options->flags.diff_from_contents = 1U;
  } else
  if (options->ignore_regex_nr) {
    options->flags.diff_from_contents = 1U;
  } else {
    options->flags.diff_from_contents = 0U;
  }
  if (options->flags.find_copies_harder) {
    options->detect_rename = 2;
  }
  if (! options->flags.relative_name) {
    options->prefix = (char const   *)((void *)0);
  }
  if (options->prefix) {
    tmp___3 = strlen(options->prefix);
    options->prefix_length = (int )tmp___3;
  } else {
    options->prefix_length = 0;
  }
  if (options->output_format & 3840) {
    options->output_format &= -128;
  }
  if (options->output_format & 1150) {
    options->flags.recursive = 1U;
  }
  if (options->pickaxe_opts & 28U) {
    options->flags.recursive = 1U;
  }
  if (options->output_format & 0x0010) {
    options->flags.dirty_submodules = 1U;
  }
  if (options->detect_rename) {
    if (options->rename_limit < 0) {
      options->rename_limit = diff_rename_limit_default;
    }
  }
  if (hexsz < (int )options->abbrev) {
    options->abbrev = (int )hexsz;
  }
  if (options->flags.quick) {
    options->output_format = 0x0800;
    options->flags.exit_with_status = 1U;
  }
  options->diff_path_counter = 0;
  if (options->flags.follow_renames) {
    if (options->pathspec.nr != 1) {
      tmp___4 = _((char const   *)"--follow requires exactly one pathspec");
      die((char const   *)tmp___4);
    }
  }
  if (! options->use_color) {
    options->color_moved = (enum __anonenum_color_moved_62231619 )0;
  } else {
    tmp___5 = external_diff();
    if (tmp___5) {
      options->color_moved = (enum __anonenum_color_moved_62231619 )0;
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)options->parseopts);
    options->parseopts = (struct option *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int parse_long_opt(char const   *opt___0 , char const   **argv___0 , char const   **optarg___0 )
{
  char const   *arg ;
  int tmp ;
  int tmp___0 ;

  {
  arg = *(argv___0 + 0);
  tmp = skip_prefix(arg, (char const   *)"--", & arg);
  if (! tmp) {
    return (0);
  }
  tmp___0 = skip_prefix(arg, opt___0, & arg);
  if (! tmp___0) {
    return (0);
  }
  if ((int const   )*arg == 61) {
    *optarg___0 = arg + 1;
    return (1);
  }
  if ((int const   )*arg != 0) {
    return (0);
  }
  if (! *(argv___0 + 1)) {
    die((char const   *)"Option \'--%s\' requires a value", opt___0);
  }
  *optarg___0 = *(argv___0 + 1);
  return (2);
}
}
static int diff_opt_stat(struct option  const  *opt___0 , char const   *value , int unset )
{
  struct diff_options *options ;
  int width ;
  int name_width ;
  int graph_width___0 ;
  int count___0 ;
  char *end ;
  unsigned long tmp ;
  unsigned long tmp___0 ;
  unsigned long tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  unsigned long tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  unsigned long tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  unsigned long tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  unsigned long tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;

  {
  options = (struct diff_options *)opt___0->value;
  width = options->stat_width;
  name_width = options->stat_name_width;
  graph_width___0 = options->stat_graph_width;
  count___0 = options->stat_count;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 4719, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___20 = strcmp((char const   *)opt___0->long_name, (char const   *)"stat");
  if (tmp___20) {
    tmp___19 = strcmp((char const   *)opt___0->long_name, (char const   *)"stat-width");
    if (tmp___19) {
      tmp___18 = strcmp((char const   *)opt___0->long_name, (char const   *)"stat-name-width");
      if (tmp___18) {
        tmp___17 = strcmp((char const   *)opt___0->long_name, (char const   *)"stat-graph-width");
        if (tmp___17) {
          tmp___16 = strcmp((char const   *)opt___0->long_name, (char const   *)"stat-count");
          if (tmp___16) {
            BUG_fl((char const   *)"diff.c", 4752, (char const   *)"%s should not get here",
                   opt___0->long_name);
          } else {
            tmp___13 = strtoul((char const   * __restrict  )value, (char ** __restrict  )(& end),
                               10);
            count___0 = (int )tmp___13;
            if (*end) {
              tmp___14 = _((char const   *)"%s expects a numerical value");
              error((char const   *)tmp___14, opt___0->long_name);
              tmp___15 = const_error();
              return (tmp___15);
            }
          }
        } else {
          tmp___10 = strtoul((char const   * __restrict  )value, (char ** __restrict  )(& end),
                             10);
          graph_width___0 = (int )tmp___10;
          if (*end) {
            tmp___11 = _((char const   *)"%s expects a numerical value");
            error((char const   *)tmp___11, opt___0->long_name);
            tmp___12 = const_error();
            return (tmp___12);
          }
        }
      } else {
        tmp___7 = strtoul((char const   * __restrict  )value, (char ** __restrict  )(& end),
                          10);
        name_width = (int )tmp___7;
        if (*end) {
          tmp___8 = _((char const   *)"%s expects a numerical value");
          error((char const   *)tmp___8, opt___0->long_name);
          tmp___9 = const_error();
          return (tmp___9);
        }
      }
    } else {
      tmp___4 = strtoul((char const   * __restrict  )value, (char ** __restrict  )(& end),
                        10);
      width = (int )tmp___4;
      if (*end) {
        tmp___5 = _((char const   *)"%s expects a numerical value");
        error((char const   *)tmp___5, opt___0->long_name);
        tmp___6 = const_error();
        return (tmp___6);
      }
    }
  } else
  if (value) {
    tmp = strtoul((char const   * __restrict  )value, (char ** __restrict  )(& end),
                  10);
    width = (int )tmp;
    if ((int )*end == 44) {
      tmp___0 = strtoul((char const   * __restrict  )(end + 1), (char ** __restrict  )(& end),
                        10);
      name_width = (int )tmp___0;
    }
    if ((int )*end == 44) {
      tmp___1 = strtoul((char const   * __restrict  )(end + 1), (char ** __restrict  )(& end),
                        10);
      count___0 = (int )tmp___1;
    }
    if (*end) {
      tmp___2 = _((char const   *)"invalid --stat value: %s");
      error((char const   *)tmp___2, value);
      tmp___3 = const_error();
      return (tmp___3);
    }
  }
  options->output_format |= 0x0002;
  options->stat_name_width = name_width;
  options->stat_graph_width = graph_width___0;
  options->stat_width = width;
  options->stat_count = count___0;
  return (0);
}
}
static int parse_dirstat_opt(struct diff_options *options , char const   *params )
{
  struct strbuf errmsg ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  errmsg.alloc = 0UL;
  errmsg.len = 0UL;
  errmsg.buf = strbuf_slopbuf;
  tmp___0 = parse_dirstat_params(options, params, & errmsg);
  if (tmp___0) {
    tmp = _((char const   *)"Failed to parse --dirstat/-X option parameter:\n%s");
    die((char const   *)tmp, errmsg.buf);
  }
  strbuf_release(& errmsg);
  options->output_format |= 0x0040;
  return (1);
}
}
static char const   diff_status_letters[11]  =
  {      (char const   )'A',      (char const   )'C',      (char const   )'D',      (char const   )'M',
        (char const   )'R',      (char const   )'T',      (char const   )'X',      (char const   )'U',
        (char const   )'*',      (char const   )'B',      (char const   )'\000'};
static unsigned int filter_bit[91]  ;
static void prepare_filter_bits(void)
{
  int i ;

  {
  if (! filter_bit[65]) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! diff_status_letters[i]) {
        goto while_break;
      }
      filter_bit[(int )diff_status_letters[i]] = (unsigned int )(1 << i);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  return;
}
}
static unsigned int filter_bit_tst(char status , struct diff_options  const  *opt___0 )
{


  {
  return ((unsigned int )(opt___0->filter & (unsigned int )filter_bit[(int )status]));
}
}
unsigned int diff_filter_bit(char status )
{


  {
  prepare_filter_bits();
  return (filter_bit[(int )status]);
}
}
static int diff_opt_diff_filter(struct option  const  *option , char const   *optarg___0 ,
                                int unset )
{
  struct diff_options *opt___0 ;
  int i ;
  int optch ;
  unsigned int bit ;
  int negate ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  opt___0 = (struct diff_options *)option->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 4820, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  prepare_filter_bits();
  if (! opt___0->filter) {
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      optch = (int )*(optarg___0 + i);
      if (! (optch != 0)) {
        goto while_break___0;
      }
      if (optch < 97) {
        goto __Cont;
      } else
      if (122 < optch) {
        goto __Cont;
      }
      opt___0->filter = (unsigned int )((1 << ((sizeof(diff_status_letters) / sizeof(diff_status_letters[0]) + (sizeof(char [1]) - 1UL)) - 1UL)) - 1);
      opt___0->filter &= ~ filter_bit[42];
      goto while_break___0;
      __Cont: /* CIL Label */
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    optch = (int )*(optarg___0 + i);
    if (! (optch != 0)) {
      goto while_break___1;
    }
    if (97 <= optch) {
      if (optch <= 122) {
        negate = 1;
        optch = sane_case((int )((unsigned char )optch), 0);
      } else {
        negate = 0;
      }
    } else {
      negate = 0;
    }
    if (0 <= optch) {
      if (optch <= 90) {
        bit = filter_bit[optch];
      } else {
        bit = 0U;
      }
    } else {
      bit = 0U;
    }
    if (! bit) {
      tmp = _((char const   *)"unknown change class \'%c\' in --diff-filter=%s");
      error((char const   *)tmp, (int const   )*(optarg___0 + i), optarg___0);
      tmp___0 = const_error();
      return (tmp___0);
    }
    if (negate) {
      opt___0->filter &= ~ bit;
    } else {
      opt___0->filter |= bit;
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  return (0);
}
}
static void enable_patch_output(int *fmt )
{


  {
  *fmt &= -2049;
  *fmt |= 0x0010;
  return;
}
}
static int diff_opt_ws_error_highlight(struct option  const  *option , char const   *arg ,
                                       int unset )
{
  struct diff_options *opt___0 ;
  int val ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  opt___0 = (struct diff_options *)option->value;
  tmp = parse_ws_error_highlight(arg);
  val = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 4873, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (val < 0) {
    tmp___0 = _((char const   *)"unknown value after ws-error-highlight=%.*s");
    error((char const   *)tmp___0, -1 - val, arg);
    tmp___1 = const_error();
    return (tmp___1);
  }
  opt___0->ws_error_highlight = (unsigned int )val;
  return (0);
}
}
static int diff_opt_find_object(struct option  const  *option , char const   *arg ,
                                int unset )
{
  struct diff_options *opt___0 ;
  struct object_id oid ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  void *tmp___2 ;

  {
  opt___0 = (struct diff_options *)option->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 4887, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = repo_get_oid(the_repository, arg, & oid);
  if (tmp___1) {
    tmp = _((char const   *)"unable to resolve \'%s\'");
    error((char const   *)tmp, arg);
    tmp___0 = const_error();
    return (tmp___0);
  }
  if (! opt___0->objfind) {
    tmp___2 = xcalloc((size_t )1, sizeof(*(opt___0->objfind)));
    opt___0->objfind = (struct oidset *)tmp___2;
  }
  opt___0->pickaxe_opts |= 16U;
  opt___0->flags.recursive = 1U;
  opt___0->flags.tree_in_recursive = 1U;
  oidset_insert(opt___0->objfind, (struct object_id  const  *)(& oid));
  return (0);
}
}
static int diff_opt_anchored(struct option  const  *opt___0 , char const   *arg ,
                             int unset )
{
  struct diff_options *options ;
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 4906, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  options->xdl_opts = (options->xdl_opts & ~ ((1 << 14) | (1 << 15))) | (1 << 14);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (options->anchors_nr + 1UL > options->anchors_alloc) {
      if (((options->anchors_alloc + 16UL) * 3UL) / 2UL < options->anchors_nr + 1UL) {
        options->anchors_alloc = options->anchors_nr + 1UL;
      } else {
        options->anchors_alloc = ((options->anchors_alloc + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*(options->anchors)), options->anchors_alloc);
      tmp___0 = xrealloc((void *)options->anchors, tmp);
      options->anchors = (char **)tmp___0;
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___1 = options->anchors_nr;
  (options->anchors_nr) ++;
  *(options->anchors + tmp___1) = xstrdup(arg);
  return (0);
}
}
static int diff_opt_binary(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct diff_options *options ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 4919, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"diff.c", 4920, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  enable_patch_output(& options->output_format);
  options->flags.binary = 1U;
  return (0);
}
}
static int diff_opt_break_rewrites(struct option  const  *opt___0 , char const   *arg ,
                                   int unset )
{
  int *break_opt ;
  int opt1 ;
  int opt2 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  break_opt = (int *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 4932, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (! arg) {
    arg = (char const   *)"";
  }
  opt1 = parse_rename_score(& arg);
  if ((int const   )*arg == 0) {
    opt2 = 0;
  } else
  if ((int const   )*arg != 47) {
    tmp = _((char const   *)"%s expects <n>/<m> form");
    error((char const   *)tmp, opt___0->long_name);
    tmp___0 = const_error();
    return (tmp___0);
  } else {
    arg ++;
    opt2 = parse_rename_score(& arg);
  }
  if ((int const   )*arg != 0) {
    tmp___1 = _((char const   *)"%s expects <n>/<m> form");
    error((char const   *)tmp___1, opt___0->long_name);
    tmp___2 = const_error();
    return (tmp___2);
  }
  *break_opt = opt1 | (opt2 << 16);
  return (0);
}
}
static int diff_opt_char(struct option  const  *opt___0 , char const   *arg , int unset )
{
  char *value ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  value = (char *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 4955, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (*(arg + 1)) {
    tmp = _((char const   *)"%s expects a character, got \'%s\'");
    error((char const   *)tmp, opt___0->long_name, arg);
    tmp___0 = const_error();
    return (tmp___0);
  }
  *value = (char )*(arg + 0);
  return (0);
}
}
static int diff_opt_color_moved(struct option  const  *opt___0 , char const   *arg ,
                                int unset )
{
  struct diff_options *options ;
  int cm ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  options = (struct diff_options *)opt___0->value;
  if (unset) {
    options->color_moved = (enum __anonenum_color_moved_62231619 )0;
  } else
  if (! arg) {
    if (diff_color_moved_default) {
      options->color_moved = (enum __anonenum_color_moved_62231619 )diff_color_moved_default;
    }
    if ((unsigned int )options->color_moved == 0U) {
      options->color_moved = (enum __anonenum_color_moved_62231619 )3;
    }
  } else {
    tmp = parse_color_moved(arg);
    cm = tmp;
    if (cm < 0) {
      tmp___0 = _((char const   *)"bad --color-moved argument: %s");
      error((char const   *)tmp___0, arg);
      tmp___1 = const_error();
      return (tmp___1);
    }
    options->color_moved = (enum __anonenum_color_moved_62231619 )cm;
  }
  return (0);
}
}
static int diff_opt_color_moved_ws(struct option  const  *opt___0 , char const   *arg ,
                                   int unset )
{
  struct diff_options *options ;
  unsigned int cm ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  options = (struct diff_options *)opt___0->value;
  if (unset) {
    options->color_moved_ws_handling = 0U;
    return (0);
  }
  cm = parse_color_moved_ws(arg);
  if (cm & 1U) {
    tmp = _((char const   *)"invalid mode \'%s\' in --color-moved-ws");
    error((char const   *)tmp, arg);
    tmp___0 = const_error();
    return (tmp___0);
  }
  options->color_moved_ws_handling = cm;
  return (0);
}
}
static int diff_opt_color_words(struct option  const  *opt___0 , char const   *arg ,
                                int unset )
{
  struct diff_options *options ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 5007, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  options->use_color = 1;
  options->word_diff = (enum diff_words_type )3;
  options->word_regex = arg;
  return (0);
}
}
static int diff_opt_compact_summary(struct option  const  *opt___0 , char const   *arg ,
                                    int unset )
{
  struct diff_options *options ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"diff.c", 5019, (char const   *)"option callback does not expect an argument");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (unset) {
    options->flags.stat_with_summary = 0U;
  } else {
    options->flags.stat_with_summary = 1U;
    options->output_format |= 0x0002;
  }
  return (0);
}
}
static int diff_opt_diff_algorithm(struct option  const  *opt___0 , char const   *arg ,
                                   int unset )
{
  struct diff_options *options ;
  long value ;
  long tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  options = (struct diff_options *)opt___0->value;
  tmp = parse_algorithm_value(arg);
  value = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 5035, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (value < 0L) {
    tmp___0 = _((char const   *)"option diff-algorithm accepts \"myers\", \"minimal\", \"patience\" and \"histogram\"");
    error((char const   *)tmp___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  options->xdl_opts &= -2;
  options->xdl_opts &= ~ ((1 << 14) | (1 << 15));
  options->xdl_opts = (int )((long )options->xdl_opts | value);
  return (0);
}
}
static int diff_opt_dirstat(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct diff_options *options ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 5052, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = strcmp((char const   *)opt___0->long_name, (char const   *)"cumulative");
  if (tmp___0) {
    tmp = strcmp((char const   *)opt___0->long_name, (char const   *)"dirstat-by-file");
    if (! tmp) {
      parse_dirstat_opt(options, (char const   *)"files");
    }
  } else {
    if (arg) {
      BUG_fl((char const   *)"diff.c", 5055, (char const   *)"how come --cumulative take a value?");
    }
    arg = (char const   *)"cumulative";
  }
  if (arg) {
    tmp___1 = arg;
  } else {
    tmp___1 = (char const   *)"";
  }
  parse_dirstat_opt(options, tmp___1);
  return (0);
}
}
static int diff_opt_find_copies(struct option  const  *opt___0 , char const   *arg ,
                                int unset )
{
  struct diff_options *options ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 5068, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (! arg) {
    arg = (char const   *)"";
  }
  options->rename_score = parse_rename_score(& arg);
  if ((int const   )*arg != 0) {
    tmp = _((char const   *)"invalid argument to %s");
    error((char const   *)tmp, opt___0->long_name);
    tmp___0 = const_error();
    return (tmp___0);
  }
  if (options->detect_rename == 2) {
    options->flags.find_copies_harder = 1U;
  } else {
    options->detect_rename = 2;
  }
  return (0);
}
}
static int diff_opt_find_renames(struct option  const  *opt___0 , char const   *arg ,
                                 int unset )
{
  struct diff_options *options ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 5088, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (! arg) {
    arg = (char const   *)"";
  }
  options->rename_score = parse_rename_score(& arg);
  if ((int const   )*arg != 0) {
    tmp = _((char const   *)"invalid argument to %s");
    error((char const   *)tmp, opt___0->long_name);
    tmp___0 = const_error();
    return (tmp___0);
  }
  options->detect_rename = 1;
  return (0);
}
}
static int diff_opt_follow(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct diff_options *options ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"diff.c", 5104, (char const   *)"option callback does not expect an argument");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (unset) {
    options->flags.follow_renames = 0U;
    options->flags.default_follow_renames = 0U;
  } else {
    options->flags.follow_renames = 1U;
  }
  return (0);
}
}
static int diff_opt_ignore_submodules(struct option  const  *opt___0 , char const   *arg ,
                                      int unset )
{
  struct diff_options *options ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 5119, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (! arg) {
    arg = (char const   *)"all";
  }
  options->flags.override_submodule_config = 1U;
  handle_ignore_submodules_arg(options, arg);
  return (0);
}
}
static int diff_opt_line_prefix(struct option  const  *opt___0 , char const   *optarg___0 ,
                                int unset )
{
  struct diff_options *options ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 5132, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  options->line_prefix = optarg___0;
  options->line_prefix_length = strlen(options->line_prefix);
  graph_setup_line_prefix(options);
  return (0);
}
}
static int diff_opt_no_prefix(struct option  const  *opt___0 , char const   *optarg___0 ,
                              int unset )
{
  struct diff_options *options ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 5144, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (optarg___0) {
      BUG_fl((char const   *)"diff.c", 5145, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  options->a_prefix = (char const   *)"";
  options->b_prefix = (char const   *)"";
  return (0);
}
}
static enum parse_opt_result diff_opt_output(struct parse_opt_ctx_t *ctx___0 , struct option  const  *opt___0 ,
                                             char const   *arg , int unset )
{
  struct diff_options *options ;
  char *path___6 ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 5158, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  path___6 = prefix_filename(ctx___0->prefix, arg);
  options->file = xfopen((char const   *)path___6, (char const   *)"w");
  options->close_file = 1;
  if (options->use_color != 1) {
    options->use_color = 0;
  }
  free((void *)path___6);
  return ((enum parse_opt_result )0);
}
}
static int diff_opt_patience(struct option  const  *opt___0 , char const   *arg ,
                             int unset )
{
  struct diff_options *options ;
  int i ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 5174, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"diff.c", 5175, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  options->xdl_opts = (options->xdl_opts & ~ ((1 << 14) | (1 << 15))) | (1 << 14);
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((size_t )i < options->anchors_nr)) {
      goto while_break___1;
    }
    free((void *)*(options->anchors + i));
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  options->anchors_nr = (size_t )0;
  return (0);
}
}
static int diff_opt_ignore_regex(struct option  const  *opt___0 , char const   *arg ,
                                 int unset )
{
  struct diff_options *options ;
  regex_t *regex ;
  void *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 5194, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = xmalloc(sizeof(*regex));
  regex = (regex_t *)tmp;
  tmp___2 = regcomp((regex_t * __restrict  )regex, (char const   * __restrict  )arg,
                    1 | ((1 << 1) << 1));
  if (tmp___2) {
    tmp___0 = _((char const   *)"invalid regex given to -I: \'%s\'");
    error((char const   *)tmp___0, arg);
    tmp___1 = const_error();
    return (tmp___1);
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (options->ignore_regex_nr + 1UL > options->ignore_regex_alloc) {
      if (((options->ignore_regex_alloc + 16UL) * 3UL) / 2UL < options->ignore_regex_nr + 1UL) {
        options->ignore_regex_alloc = options->ignore_regex_nr + 1UL;
      } else {
        options->ignore_regex_alloc = ((options->ignore_regex_alloc + 16UL) * 3UL) / 2UL;
      }
      tmp___3 = st_mult(sizeof(*(options->ignore_regex)), options->ignore_regex_alloc);
      tmp___4 = xrealloc((void *)options->ignore_regex, tmp___3);
      options->ignore_regex = (regex_t **)tmp___4;
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___5 = options->ignore_regex_nr;
  (options->ignore_regex_nr) ++;
  *(options->ignore_regex + tmp___5) = regex;
  return (0);
}
}
static int diff_opt_pickaxe_regex(struct option  const  *opt___0 , char const   *arg ,
                                  int unset )
{
  struct diff_options *options ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 5209, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  options->pickaxe = arg;
  options->pickaxe_opts |= 8U;
  return (0);
}
}
static int diff_opt_pickaxe_string(struct option  const  *opt___0 , char const   *arg ,
                                   int unset )
{
  struct diff_options *options ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 5220, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  options->pickaxe = arg;
  options->pickaxe_opts |= 4U;
  return (0);
}
}
static int diff_opt_relative(struct option  const  *opt___0 , char const   *arg ,
                             int unset )
{
  struct diff_options *options ;

  {
  options = (struct diff_options *)opt___0->value;
  options->flags.relative_name = (unsigned int )(! unset);
  if (arg) {
    options->prefix = arg;
  }
  return (0);
}
}
static int diff_opt_submodule(struct option  const  *opt___0 , char const   *arg ,
                              int unset )
{
  struct diff_options *options ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 5242, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (! arg) {
    arg = (char const   *)"log";
  }
  tmp___1 = parse_submodule_params(options, arg);
  if (tmp___1) {
    tmp = _((char const   *)"failed to parse --submodule option parameter: \'%s\'");
    error((char const   *)tmp, arg);
    tmp___0 = const_error();
    return (tmp___0);
  }
  return (0);
}
}
static int diff_opt_textconv(struct option  const  *opt___0 , char const   *arg ,
                             int unset )
{
  struct diff_options *options ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"diff.c", 5256, (char const   *)"option callback does not expect an argument");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (unset) {
    options->flags.allow_textconv = 0U;
  } else {
    options->flags.allow_textconv = 1U;
    options->flags.textconv_set_via_cmdline = 1U;
  }
  return (0);
}
}
static int diff_opt_unified(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct diff_options *options ;
  char *s___1 ;
  long tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 5272, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (arg) {
    tmp = strtol((char const   * __restrict  )arg, (char ** __restrict  )(& s___1),
                 10);
    options->context = (int )tmp;
    if (*s___1) {
      tmp___0 = _((char const   *)"%s expects a numerical value");
      error((char const   *)tmp___0, "--unified");
      tmp___1 = const_error();
      return (tmp___1);
    }
  }
  enable_patch_output(& options->output_format);
  return (0);
}
}
static int diff_opt_word_diff(struct option  const  *opt___0 , char const   *arg ,
                              int unset )
{
  struct diff_options *options ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 5289, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (arg) {
    tmp___4 = strcmp(arg, (char const   *)"plain");
    if (tmp___4) {
      tmp___3 = strcmp(arg, (char const   *)"color");
      if (tmp___3) {
        tmp___2 = strcmp(arg, (char const   *)"porcelain");
        if (tmp___2) {
          tmp___1 = strcmp(arg, (char const   *)"none");
          if (tmp___1) {
            tmp = _((char const   *)"bad --word-diff argument: %s");
            error((char const   *)tmp, arg);
            tmp___0 = const_error();
            return (tmp___0);
          } else {
            options->word_diff = (enum diff_words_type )0;
          }
        } else {
          options->word_diff = (enum diff_words_type )1;
        }
      } else {
        options->use_color = 1;
        options->word_diff = (enum diff_words_type )3;
      }
    } else {
      options->word_diff = (enum diff_words_type )2;
    }
  } else
  if ((unsigned int )options->word_diff == 0U) {
    options->word_diff = (enum diff_words_type )2;
  }
  return (0);
}
}
static int diff_opt_word_diff_regex(struct option  const  *opt___0 , char const   *arg ,
                                    int unset )
{
  struct diff_options *options ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 5315, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned int )options->word_diff == 0U) {
    options->word_diff = (enum diff_words_type )2;
  }
  options->word_regex = arg;
  return (0);
}
}
static int diff_opt_rotate_to(struct option  const  *opt___0 , char const   *arg ,
                              int unset )
{
  struct diff_options *options ;
  int tmp ;

  {
  options = (struct diff_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"diff.c", 5326, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = strcmp((char const   *)opt___0->long_name, (char const   *)"skip-to");
  if (tmp) {
    options->skip_instead_of_rotate = 0;
  } else {
    options->skip_instead_of_rotate = 1;
  }
  options->rotate_to = arg;
  return (0);
}
}
static void prep_parse_options(struct diff_options *options )
{
  struct option parseopts[89] ;
  size_t tmp ;
  void *tmp___0 ;

  {
  parseopts[0].type = (enum parse_opt_type )1;
  parseopts[0].short_name = 0;
  parseopts[0].long_name = (char const   *)((void *)0);
  parseopts[0].value = (void *)0;
  parseopts[0].argh = (char const   *)((void *)0);
  parseopts[0].help = (char const   *)"Diff output format options";
  parseopts[0].flags = 0U;
  parseopts[0].callback = (parse_opt_cb *)0;
  parseopts[0].defval = 0L;
  parseopts[0].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[0].extra = 0L;
  parseopts[1].type = (enum parse_opt_type )6;
  parseopts[1].short_name = 'p';
  parseopts[1].long_name = (char const   *)"patch";
  parseopts[1].value = (void *)(& options->output_format);
  parseopts[1].argh = (char const   *)((void *)0);
  parseopts[1].help = (char const   *)"generate patch";
  parseopts[1].flags = (enum parse_opt_option_flags )6;
  parseopts[1].callback = (parse_opt_cb *)((void *)0);
  parseopts[1].defval = (intptr_t )0x0010;
  parseopts[1].ll_callback = (parse_opt_ll_cb *)((void *)0);
  parseopts[1].extra = (intptr_t )0x0800;
  parseopts[2].type = (enum parse_opt_type )4;
  parseopts[2].short_name = 's';
  parseopts[2].long_name = (char const   *)"no-patch";
  parseopts[2].value = (void *)(& options->output_format);
  parseopts[2].argh = (char const   *)((void *)0);
  parseopts[2].help = (char const   *)"suppress diff output";
  parseopts[2].flags = (enum parse_opt_option_flags )6;
  parseopts[2].callback = (parse_opt_cb *)((void *)0);
  parseopts[2].defval = (intptr_t )0x0800;
  parseopts[2].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[2].extra = 0L;
  parseopts[3].type = (enum parse_opt_type )6;
  parseopts[3].short_name = 'u';
  parseopts[3].long_name = (char const   *)((void *)0);
  parseopts[3].value = (void *)(& options->output_format);
  parseopts[3].argh = (char const   *)((void *)0);
  parseopts[3].help = (char const   *)"generate patch";
  parseopts[3].flags = (enum parse_opt_option_flags )6;
  parseopts[3].callback = (parse_opt_cb *)((void *)0);
  parseopts[3].defval = (intptr_t )0x0010;
  parseopts[3].ll_callback = (parse_opt_ll_cb *)((void *)0);
  parseopts[3].extra = (intptr_t )0x0800;
  parseopts[4].type = (enum parse_opt_type )12;
  parseopts[4].short_name = 'U';
  parseopts[4].long_name = (char const   *)"unified";
  parseopts[4].value = (void *)options;
  parseopts[4].argh = (char const   *)"<n>";
  parseopts[4].help = (char const   *)"generate diffs with <n> lines context";
  parseopts[4].flags = (enum parse_opt_option_flags )5;
  parseopts[4].callback = & diff_opt_unified;
  parseopts[4].defval = 0L;
  parseopts[4].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[4].extra = 0L;
  parseopts[5].type = (enum parse_opt_type )8;
  parseopts[5].short_name = 'W';
  parseopts[5].long_name = (char const   *)"function-context";
  parseopts[5].value = (void *)(& options->flags.funccontext);
  parseopts[5].argh = (char const   *)((void *)0);
  parseopts[5].help = (char const   *)"generate diffs with <n> lines context";
  parseopts[5].flags = (enum parse_opt_option_flags )2;
  parseopts[5].callback = (parse_opt_cb *)((void *)0);
  parseopts[5].defval = (intptr_t )1;
  parseopts[5].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[5].extra = 0L;
  parseopts[6].type = (enum parse_opt_type )4;
  parseopts[6].short_name = 0;
  parseopts[6].long_name = (char const   *)"raw";
  parseopts[6].value = (void *)(& options->output_format);
  parseopts[6].argh = (char const   *)((void *)0);
  parseopts[6].help = (char const   *)"generate the diff in raw format";
  parseopts[6].flags = (enum parse_opt_option_flags )6;
  parseopts[6].callback = (parse_opt_cb *)((void *)0);
  parseopts[6].defval = (intptr_t )0x0001;
  parseopts[6].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[6].extra = 0L;
  parseopts[7].type = (enum parse_opt_type )6;
  parseopts[7].short_name = 0;
  parseopts[7].long_name = (char const   *)"patch-with-raw";
  parseopts[7].value = (void *)(& options->output_format);
  parseopts[7].argh = (char const   *)((void *)0);
  parseopts[7].help = (char const   *)"synonym for \'-p --raw\'";
  parseopts[7].flags = (enum parse_opt_option_flags )6;
  parseopts[7].callback = (parse_opt_cb *)((void *)0);
  parseopts[7].defval = (intptr_t )17;
  parseopts[7].ll_callback = (parse_opt_ll_cb *)((void *)0);
  parseopts[7].extra = (intptr_t )0x0800;
  parseopts[8].type = (enum parse_opt_type )6;
  parseopts[8].short_name = 0;
  parseopts[8].long_name = (char const   *)"patch-with-stat";
  parseopts[8].value = (void *)(& options->output_format);
  parseopts[8].argh = (char const   *)((void *)0);
  parseopts[8].help = (char const   *)"synonym for \'-p --stat\'";
  parseopts[8].flags = (enum parse_opt_option_flags )6;
  parseopts[8].callback = (parse_opt_cb *)((void *)0);
  parseopts[8].defval = (intptr_t )18;
  parseopts[8].ll_callback = (parse_opt_ll_cb *)((void *)0);
  parseopts[8].extra = (intptr_t )0x0800;
  parseopts[9].type = (enum parse_opt_type )4;
  parseopts[9].short_name = 0;
  parseopts[9].long_name = (char const   *)"numstat";
  parseopts[9].value = (void *)(& options->output_format);
  parseopts[9].argh = (char const   *)((void *)0);
  parseopts[9].help = (char const   *)"machine friendly --stat";
  parseopts[9].flags = (enum parse_opt_option_flags )6;
  parseopts[9].callback = (parse_opt_cb *)((void *)0);
  parseopts[9].defval = (intptr_t )0x0004;
  parseopts[9].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[9].extra = 0L;
  parseopts[10].type = (enum parse_opt_type )4;
  parseopts[10].short_name = 0;
  parseopts[10].long_name = (char const   *)"shortstat";
  parseopts[10].value = (void *)(& options->output_format);
  parseopts[10].argh = (char const   *)((void *)0);
  parseopts[10].help = (char const   *)"output only the last line of --stat";
  parseopts[10].flags = (enum parse_opt_option_flags )6;
  parseopts[10].callback = (parse_opt_cb *)((void *)0);
  parseopts[10].defval = (intptr_t )0x0020;
  parseopts[10].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[10].extra = 0L;
  parseopts[11].type = (enum parse_opt_type )12;
  parseopts[11].short_name = 'X';
  parseopts[11].long_name = (char const   *)"dirstat";
  parseopts[11].value = (void *)options;
  parseopts[11].argh = (char const   *)"<param1,param2>...";
  parseopts[11].help = (char const   *)"output the distribution of relative amount of changes for each sub-directory";
  parseopts[11].flags = (enum parse_opt_option_flags )5;
  parseopts[11].callback = & diff_opt_dirstat;
  parseopts[11].defval = 0L;
  parseopts[11].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[11].extra = 0L;
  parseopts[12].type = (enum parse_opt_type )12;
  parseopts[12].short_name = 0;
  parseopts[12].long_name = (char const   *)"cumulative";
  parseopts[12].value = (void *)options;
  parseopts[12].argh = (char const   *)((void *)0);
  parseopts[12].help = (char const   *)"synonym for --dirstat=cumulative";
  parseopts[12].flags = (enum parse_opt_option_flags )6;
  parseopts[12].callback = & diff_opt_dirstat;
  parseopts[12].defval = 0L;
  parseopts[12].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[12].extra = 0L;
  parseopts[13].type = (enum parse_opt_type )12;
  parseopts[13].short_name = 0;
  parseopts[13].long_name = (char const   *)"dirstat-by-file";
  parseopts[13].value = (void *)options;
  parseopts[13].argh = (char const   *)"<param1,param2>...";
  parseopts[13].help = (char const   *)"synonym for --dirstat=files,param1,param2...";
  parseopts[13].flags = (enum parse_opt_option_flags )5;
  parseopts[13].callback = & diff_opt_dirstat;
  parseopts[13].defval = 0L;
  parseopts[13].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[13].extra = 0L;
  parseopts[14].type = (enum parse_opt_type )4;
  parseopts[14].short_name = 0;
  parseopts[14].long_name = (char const   *)"check";
  parseopts[14].value = (void *)(& options->output_format);
  parseopts[14].argh = (char const   *)((void *)0);
  parseopts[14].help = (char const   *)"warn if changes introduce conflict markers or whitespace errors";
  parseopts[14].flags = (enum parse_opt_option_flags )6;
  parseopts[14].callback = (parse_opt_cb *)((void *)0);
  parseopts[14].defval = (intptr_t )0x0400;
  parseopts[14].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[14].extra = 0L;
  parseopts[15].type = (enum parse_opt_type )4;
  parseopts[15].short_name = 0;
  parseopts[15].long_name = (char const   *)"summary";
  parseopts[15].value = (void *)(& options->output_format);
  parseopts[15].argh = (char const   *)((void *)0);
  parseopts[15].help = (char const   *)"condensed summary such as creations, renames and mode changes";
  parseopts[15].flags = (enum parse_opt_option_flags )6;
  parseopts[15].callback = (parse_opt_cb *)((void *)0);
  parseopts[15].defval = (intptr_t )0x0008;
  parseopts[15].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[15].extra = 0L;
  parseopts[16].type = (enum parse_opt_type )4;
  parseopts[16].short_name = 0;
  parseopts[16].long_name = (char const   *)"name-only";
  parseopts[16].value = (void *)(& options->output_format);
  parseopts[16].argh = (char const   *)((void *)0);
  parseopts[16].help = (char const   *)"show only names of changed files";
  parseopts[16].flags = (enum parse_opt_option_flags )6;
  parseopts[16].callback = (parse_opt_cb *)((void *)0);
  parseopts[16].defval = (intptr_t )0x0100;
  parseopts[16].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[16].extra = 0L;
  parseopts[17].type = (enum parse_opt_type )4;
  parseopts[17].short_name = 0;
  parseopts[17].long_name = (char const   *)"name-status";
  parseopts[17].value = (void *)(& options->output_format);
  parseopts[17].argh = (char const   *)((void *)0);
  parseopts[17].help = (char const   *)"show only names and status of changed files";
  parseopts[17].flags = (enum parse_opt_option_flags )6;
  parseopts[17].callback = (parse_opt_cb *)((void *)0);
  parseopts[17].defval = (intptr_t )0x0200;
  parseopts[17].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[17].extra = 0L;
  parseopts[18].type = (enum parse_opt_type )12;
  parseopts[18].short_name = 0;
  parseopts[18].long_name = (char const   *)"stat";
  parseopts[18].value = (void *)options;
  parseopts[18].argh = (char const   *)"<width>[,<name-width>[,<count>]]";
  parseopts[18].help = (char const   *)"generate diffstat";
  parseopts[18].flags = (enum parse_opt_option_flags )5;
  parseopts[18].callback = & diff_opt_stat;
  parseopts[18].defval = 0L;
  parseopts[18].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[18].extra = 0L;
  parseopts[19].type = (enum parse_opt_type )12;
  parseopts[19].short_name = 0;
  parseopts[19].long_name = (char const   *)"stat-width";
  parseopts[19].value = (void *)options;
  parseopts[19].argh = (char const   *)"<width>";
  parseopts[19].help = (char const   *)"generate diffstat with a given width";
  parseopts[19].flags = (enum parse_opt_option_flags )4;
  parseopts[19].callback = & diff_opt_stat;
  parseopts[19].defval = 0L;
  parseopts[19].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[19].extra = 0L;
  parseopts[20].type = (enum parse_opt_type )12;
  parseopts[20].short_name = 0;
  parseopts[20].long_name = (char const   *)"stat-name-width";
  parseopts[20].value = (void *)options;
  parseopts[20].argh = (char const   *)"<width>";
  parseopts[20].help = (char const   *)"generate diffstat with a given name width";
  parseopts[20].flags = (enum parse_opt_option_flags )4;
  parseopts[20].callback = & diff_opt_stat;
  parseopts[20].defval = 0L;
  parseopts[20].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[20].extra = 0L;
  parseopts[21].type = (enum parse_opt_type )12;
  parseopts[21].short_name = 0;
  parseopts[21].long_name = (char const   *)"stat-graph-width";
  parseopts[21].value = (void *)options;
  parseopts[21].argh = (char const   *)"<width>";
  parseopts[21].help = (char const   *)"generate diffstat with a given graph width";
  parseopts[21].flags = (enum parse_opt_option_flags )4;
  parseopts[21].callback = & diff_opt_stat;
  parseopts[21].defval = 0L;
  parseopts[21].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[21].extra = 0L;
  parseopts[22].type = (enum parse_opt_type )12;
  parseopts[22].short_name = 0;
  parseopts[22].long_name = (char const   *)"stat-count";
  parseopts[22].value = (void *)options;
  parseopts[22].argh = (char const   *)"<count>";
  parseopts[22].help = (char const   *)"generate diffstat with limited lines";
  parseopts[22].flags = (enum parse_opt_option_flags )4;
  parseopts[22].callback = & diff_opt_stat;
  parseopts[22].defval = 0L;
  parseopts[22].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[22].extra = 0L;
  parseopts[23].type = (enum parse_opt_type )12;
  parseopts[23].short_name = 0;
  parseopts[23].long_name = (char const   *)"compact-summary";
  parseopts[23].value = (void *)options;
  parseopts[23].argh = (char const   *)((void *)0);
  parseopts[23].help = (char const   *)"generate compact summary in diffstat";
  parseopts[23].flags = (enum parse_opt_option_flags )2;
  parseopts[23].callback = & diff_opt_compact_summary;
  parseopts[23].defval = 0L;
  parseopts[23].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[23].extra = 0L;
  parseopts[24].type = (enum parse_opt_type )12;
  parseopts[24].short_name = 0;
  parseopts[24].long_name = (char const   *)"binary";
  parseopts[24].value = (void *)options;
  parseopts[24].argh = (char const   *)((void *)0);
  parseopts[24].help = (char const   *)"output a binary diff that can be applied";
  parseopts[24].flags = (enum parse_opt_option_flags )6;
  parseopts[24].callback = & diff_opt_binary;
  parseopts[24].defval = 0L;
  parseopts[24].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[24].extra = 0L;
  parseopts[25].type = (enum parse_opt_type )8;
  parseopts[25].short_name = 0;
  parseopts[25].long_name = (char const   *)"full-index";
  parseopts[25].value = (void *)(& options->flags.full_index);
  parseopts[25].argh = (char const   *)((void *)0);
  parseopts[25].help = (char const   *)"show full pre- and post-image object names on the \"index\" lines";
  parseopts[25].flags = (enum parse_opt_option_flags )2;
  parseopts[25].callback = (parse_opt_cb *)((void *)0);
  parseopts[25].defval = (intptr_t )1;
  parseopts[25].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[25].extra = 0L;
  parseopts[26].type = (enum parse_opt_type )12;
  parseopts[26].short_name = 0;
  parseopts[26].long_name = (char const   *)"color";
  parseopts[26].value = (void *)(& options->use_color);
  parseopts[26].argh = (char const   *)"when";
  parseopts[26].help = (char const   *)"show colored diff";
  parseopts[26].flags = (enum parse_opt_option_flags )1;
  parseopts[26].callback = & parse_opt_color_flag_cb;
  parseopts[26].defval = (intptr_t )"always";
  parseopts[26].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[26].extra = 0L;
  parseopts[27].type = (enum parse_opt_type )12;
  parseopts[27].short_name = 0;
  parseopts[27].long_name = (char const   *)"ws-error-highlight";
  parseopts[27].value = (void *)options;
  parseopts[27].argh = (char const   *)"<kind>";
  parseopts[27].help = (char const   *)"highlight whitespace errors in the \'context\', \'old\' or \'new\' lines in the diff";
  parseopts[27].flags = (enum parse_opt_option_flags )4;
  parseopts[27].callback = & diff_opt_ws_error_highlight;
  parseopts[27].defval = 0L;
  parseopts[27].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[27].extra = 0L;
  parseopts[28].type = (enum parse_opt_type )8;
  parseopts[28].short_name = 'z';
  parseopts[28].long_name = (char const   *)((void *)0);
  parseopts[28].value = (void *)(& options->line_termination);
  parseopts[28].argh = (char const   *)((void *)0);
  parseopts[28].help = (char const   *)"do not munge pathnames and use NULs as output field terminators in --raw or --numstat";
  parseopts[28].flags = (enum parse_opt_option_flags )2;
  parseopts[28].callback = (parse_opt_cb *)((void *)0);
  parseopts[28].defval = (intptr_t )0;
  parseopts[28].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[28].extra = 0L;
  parseopts[29].type = (enum parse_opt_type )12;
  parseopts[29].short_name = 0;
  parseopts[29].long_name = (char const   *)"abbrev";
  parseopts[29].value = (void *)(& options->abbrev);
  parseopts[29].argh = (char const   *)"n";
  parseopts[29].help = (char const   *)"use <n> digits to display object names";
  parseopts[29].flags = (enum parse_opt_option_flags )1;
  parseopts[29].callback = & parse_opt_abbrev_cb;
  parseopts[29].defval = (intptr_t )0;
  parseopts[29].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[29].extra = 0L;
  parseopts[30].type = (enum parse_opt_type )9;
  parseopts[30].short_name = 0;
  parseopts[30].long_name = (char const   *)"src-prefix";
  parseopts[30].value = (void *)(& options->a_prefix);
  parseopts[30].argh = (char const   *)"<prefix>";
  parseopts[30].help = (char const   *)"show the given source prefix instead of \"a/\"";
  parseopts[30].flags = (enum parse_opt_option_flags )4;
  parseopts[30].callback = (parse_opt_cb *)0;
  parseopts[30].defval = 0L;
  parseopts[30].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[30].extra = 0L;
  parseopts[31].type = (enum parse_opt_type )9;
  parseopts[31].short_name = 0;
  parseopts[31].long_name = (char const   *)"dst-prefix";
  parseopts[31].value = (void *)(& options->b_prefix);
  parseopts[31].argh = (char const   *)"<prefix>";
  parseopts[31].help = (char const   *)"show the given destination prefix instead of \"b/\"";
  parseopts[31].flags = (enum parse_opt_option_flags )4;
  parseopts[31].callback = (parse_opt_cb *)0;
  parseopts[31].defval = 0L;
  parseopts[31].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[31].extra = 0L;
  parseopts[32].type = (enum parse_opt_type )12;
  parseopts[32].short_name = 0;
  parseopts[32].long_name = (char const   *)"line-prefix";
  parseopts[32].value = (void *)options;
  parseopts[32].argh = (char const   *)"<prefix>";
  parseopts[32].help = (char const   *)"prepend an additional prefix to every line of output";
  parseopts[32].flags = (enum parse_opt_option_flags )4;
  parseopts[32].callback = & diff_opt_line_prefix;
  parseopts[32].defval = 0L;
  parseopts[32].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[32].extra = 0L;
  parseopts[33].type = (enum parse_opt_type )12;
  parseopts[33].short_name = 0;
  parseopts[33].long_name = (char const   *)"no-prefix";
  parseopts[33].value = (void *)options;
  parseopts[33].argh = (char const   *)((void *)0);
  parseopts[33].help = (char const   *)"do not show any source or destination prefix";
  parseopts[33].flags = (enum parse_opt_option_flags )6;
  parseopts[33].callback = & diff_opt_no_prefix;
  parseopts[33].defval = 0L;
  parseopts[33].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[33].extra = 0L;
  parseopts[34].type = (enum parse_opt_type )10;
  parseopts[34].short_name = 0;
  parseopts[34].long_name = (char const   *)"inter-hunk-context";
  parseopts[34].value = (void *)(& options->interhunkcontext);
  parseopts[34].argh = (char const   *)"n";
  parseopts[34].help = (char const   *)"show context between diff hunks up to the specified number of lines";
  parseopts[34].flags = (enum parse_opt_option_flags )4;
  parseopts[34].callback = (parse_opt_cb *)0;
  parseopts[34].defval = 0L;
  parseopts[34].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[34].extra = 0L;
  parseopts[35].type = (enum parse_opt_type )12;
  parseopts[35].short_name = 0;
  parseopts[35].long_name = (char const   *)"output-indicator-new";
  parseopts[35].value = (void *)(& options->output_indicators[0]);
  parseopts[35].argh = (char const   *)"<char>";
  parseopts[35].help = (char const   *)"specify the character to indicate a new line instead of \'+\'";
  parseopts[35].flags = (enum parse_opt_option_flags )4;
  parseopts[35].callback = & diff_opt_char;
  parseopts[35].defval = 0L;
  parseopts[35].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[35].extra = 0L;
  parseopts[36].type = (enum parse_opt_type )12;
  parseopts[36].short_name = 0;
  parseopts[36].long_name = (char const   *)"output-indicator-old";
  parseopts[36].value = (void *)(& options->output_indicators[1]);
  parseopts[36].argh = (char const   *)"<char>";
  parseopts[36].help = (char const   *)"specify the character to indicate an old line instead of \'-\'";
  parseopts[36].flags = (enum parse_opt_option_flags )4;
  parseopts[36].callback = & diff_opt_char;
  parseopts[36].defval = 0L;
  parseopts[36].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[36].extra = 0L;
  parseopts[37].type = (enum parse_opt_type )12;
  parseopts[37].short_name = 0;
  parseopts[37].long_name = (char const   *)"output-indicator-context";
  parseopts[37].value = (void *)(& options->output_indicators[2]);
  parseopts[37].argh = (char const   *)"<char>";
  parseopts[37].help = (char const   *)"specify the character to indicate a context instead of \' \'";
  parseopts[37].flags = (enum parse_opt_option_flags )4;
  parseopts[37].callback = & diff_opt_char;
  parseopts[37].defval = 0L;
  parseopts[37].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[37].extra = 0L;
  parseopts[38].type = (enum parse_opt_type )1;
  parseopts[38].short_name = 0;
  parseopts[38].long_name = (char const   *)((void *)0);
  parseopts[38].value = (void *)0;
  parseopts[38].argh = (char const   *)((void *)0);
  parseopts[38].help = (char const   *)"Diff rename options";
  parseopts[38].flags = 0U;
  parseopts[38].callback = (parse_opt_cb *)0;
  parseopts[38].defval = 0L;
  parseopts[38].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[38].extra = 0L;
  parseopts[39].type = (enum parse_opt_type )12;
  parseopts[39].short_name = 'B';
  parseopts[39].long_name = (char const   *)"break-rewrites";
  parseopts[39].value = (void *)(& options->break_opt);
  parseopts[39].argh = (char const   *)"<n>[/<m>]";
  parseopts[39].help = (char const   *)"break complete rewrite changes into pairs of delete and create";
  parseopts[39].flags = (enum parse_opt_option_flags )5;
  parseopts[39].callback = & diff_opt_break_rewrites;
  parseopts[39].defval = 0L;
  parseopts[39].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[39].extra = 0L;
  parseopts[40].type = (enum parse_opt_type )12;
  parseopts[40].short_name = 'M';
  parseopts[40].long_name = (char const   *)"find-renames";
  parseopts[40].value = (void *)options;
  parseopts[40].argh = (char const   *)"<n>";
  parseopts[40].help = (char const   *)"detect renames";
  parseopts[40].flags = (enum parse_opt_option_flags )5;
  parseopts[40].callback = & diff_opt_find_renames;
  parseopts[40].defval = 0L;
  parseopts[40].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[40].extra = 0L;
  parseopts[41].type = (enum parse_opt_type )8;
  parseopts[41].short_name = 'D';
  parseopts[41].long_name = (char const   *)"irreversible-delete";
  parseopts[41].value = (void *)(& options->irreversible_delete);
  parseopts[41].argh = (char const   *)((void *)0);
  parseopts[41].help = (char const   *)"omit the preimage for deletes";
  parseopts[41].flags = (enum parse_opt_option_flags )6;
  parseopts[41].callback = (parse_opt_cb *)((void *)0);
  parseopts[41].defval = (intptr_t )1;
  parseopts[41].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[41].extra = 0L;
  parseopts[42].type = (enum parse_opt_type )12;
  parseopts[42].short_name = 'C';
  parseopts[42].long_name = (char const   *)"find-copies";
  parseopts[42].value = (void *)options;
  parseopts[42].argh = (char const   *)"<n>";
  parseopts[42].help = (char const   *)"detect copies";
  parseopts[42].flags = (enum parse_opt_option_flags )5;
  parseopts[42].callback = & diff_opt_find_copies;
  parseopts[42].defval = 0L;
  parseopts[42].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[42].extra = 0L;
  parseopts[43].type = (enum parse_opt_type )8;
  parseopts[43].short_name = 0;
  parseopts[43].long_name = (char const   *)"find-copies-harder";
  parseopts[43].value = (void *)(& options->flags.find_copies_harder);
  parseopts[43].argh = (char const   *)((void *)0);
  parseopts[43].help = (char const   *)"use unmodified files as source to find copies";
  parseopts[43].flags = (enum parse_opt_option_flags )2;
  parseopts[43].callback = (parse_opt_cb *)((void *)0);
  parseopts[43].defval = (intptr_t )1;
  parseopts[43].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[43].extra = 0L;
  parseopts[44].type = (enum parse_opt_type )8;
  parseopts[44].short_name = 0;
  parseopts[44].long_name = (char const   *)"no-renames";
  parseopts[44].value = (void *)(& options->detect_rename);
  parseopts[44].argh = (char const   *)((void *)0);
  parseopts[44].help = (char const   *)"disable rename detection";
  parseopts[44].flags = (enum parse_opt_option_flags )6;
  parseopts[44].callback = (parse_opt_cb *)((void *)0);
  parseopts[44].defval = (intptr_t )0;
  parseopts[44].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[44].extra = 0L;
  parseopts[45].type = (enum parse_opt_type )8;
  parseopts[45].short_name = 0;
  parseopts[45].long_name = (char const   *)"rename-empty";
  parseopts[45].value = (void *)(& options->flags.rename_empty);
  parseopts[45].argh = (char const   *)((void *)0);
  parseopts[45].help = (char const   *)"use empty blobs as rename source";
  parseopts[45].flags = (enum parse_opt_option_flags )2;
  parseopts[45].callback = (parse_opt_cb *)((void *)0);
  parseopts[45].defval = (intptr_t )1;
  parseopts[45].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[45].extra = 0L;
  parseopts[46].type = (enum parse_opt_type )12;
  parseopts[46].short_name = 0;
  parseopts[46].long_name = (char const   *)"follow";
  parseopts[46].value = (void *)options;
  parseopts[46].argh = (char const   *)((void *)0);
  parseopts[46].help = (char const   *)"continue listing the history of a file beyond renames";
  parseopts[46].flags = (enum parse_opt_option_flags )2;
  parseopts[46].callback = & diff_opt_follow;
  parseopts[46].defval = 0L;
  parseopts[46].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[46].extra = 0L;
  parseopts[47].type = (enum parse_opt_type )10;
  parseopts[47].short_name = 'l';
  parseopts[47].long_name = (char const   *)((void *)0);
  parseopts[47].value = (void *)(& options->rename_limit);
  parseopts[47].argh = (char const   *)"n";
  parseopts[47].help = (char const   *)"prevent rename/copy detection if the number of rename/copy targets exceeds given limit";
  parseopts[47].flags = (enum parse_opt_option_flags )0;
  parseopts[47].callback = (parse_opt_cb *)0;
  parseopts[47].defval = 0L;
  parseopts[47].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[47].extra = 0L;
  parseopts[48].type = (enum parse_opt_type )1;
  parseopts[48].short_name = 0;
  parseopts[48].long_name = (char const   *)((void *)0);
  parseopts[48].value = (void *)0;
  parseopts[48].argh = (char const   *)((void *)0);
  parseopts[48].help = (char const   *)"Diff algorithm options";
  parseopts[48].flags = 0U;
  parseopts[48].callback = (parse_opt_cb *)0;
  parseopts[48].defval = 0L;
  parseopts[48].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[48].extra = 0L;
  parseopts[49].type = (enum parse_opt_type )4;
  parseopts[49].short_name = 0;
  parseopts[49].long_name = (char const   *)"minimal";
  parseopts[49].value = (void *)(& options->xdl_opts);
  parseopts[49].argh = (char const   *)((void *)0);
  parseopts[49].help = (char const   *)"produce the smallest possible diff";
  parseopts[49].flags = (enum parse_opt_option_flags )2;
  parseopts[49].callback = (parse_opt_cb *)((void *)0);
  parseopts[49].defval = (intptr_t )1;
  parseopts[49].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[49].extra = 0L;
  parseopts[50].type = (enum parse_opt_type )4;
  parseopts[50].short_name = 'w';
  parseopts[50].long_name = (char const   *)"ignore-all-space";
  parseopts[50].value = (void *)(& options->xdl_opts);
  parseopts[50].argh = (char const   *)((void *)0);
  parseopts[50].help = (char const   *)"ignore whitespace when comparing lines";
  parseopts[50].flags = (enum parse_opt_option_flags )6;
  parseopts[50].callback = (parse_opt_cb *)((void *)0);
  parseopts[50].defval = (intptr_t )(1 << 1);
  parseopts[50].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[50].extra = 0L;
  parseopts[51].type = (enum parse_opt_type )4;
  parseopts[51].short_name = 'b';
  parseopts[51].long_name = (char const   *)"ignore-space-change";
  parseopts[51].value = (void *)(& options->xdl_opts);
  parseopts[51].argh = (char const   *)((void *)0);
  parseopts[51].help = (char const   *)"ignore changes in amount of whitespace";
  parseopts[51].flags = (enum parse_opt_option_flags )6;
  parseopts[51].callback = (parse_opt_cb *)((void *)0);
  parseopts[51].defval = (intptr_t )(1 << 2);
  parseopts[51].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[51].extra = 0L;
  parseopts[52].type = (enum parse_opt_type )4;
  parseopts[52].short_name = 0;
  parseopts[52].long_name = (char const   *)"ignore-space-at-eol";
  parseopts[52].value = (void *)(& options->xdl_opts);
  parseopts[52].argh = (char const   *)((void *)0);
  parseopts[52].help = (char const   *)"ignore changes in whitespace at EOL";
  parseopts[52].flags = (enum parse_opt_option_flags )6;
  parseopts[52].callback = (parse_opt_cb *)((void *)0);
  parseopts[52].defval = (intptr_t )(1 << 3);
  parseopts[52].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[52].extra = 0L;
  parseopts[53].type = (enum parse_opt_type )4;
  parseopts[53].short_name = 0;
  parseopts[53].long_name = (char const   *)"ignore-cr-at-eol";
  parseopts[53].value = (void *)(& options->xdl_opts);
  parseopts[53].argh = (char const   *)((void *)0);
  parseopts[53].help = (char const   *)"ignore carrier-return at the end of line";
  parseopts[53].flags = (enum parse_opt_option_flags )6;
  parseopts[53].callback = (parse_opt_cb *)((void *)0);
  parseopts[53].defval = (intptr_t )(1 << 4);
  parseopts[53].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[53].extra = 0L;
  parseopts[54].type = (enum parse_opt_type )4;
  parseopts[54].short_name = 0;
  parseopts[54].long_name = (char const   *)"ignore-blank-lines";
  parseopts[54].value = (void *)(& options->xdl_opts);
  parseopts[54].argh = (char const   *)((void *)0);
  parseopts[54].help = (char const   *)"ignore changes whose lines are all blank";
  parseopts[54].flags = (enum parse_opt_option_flags )6;
  parseopts[54].callback = (parse_opt_cb *)((void *)0);
  parseopts[54].defval = (intptr_t )(1 << 7);
  parseopts[54].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[54].extra = 0L;
  parseopts[55].type = (enum parse_opt_type )12;
  parseopts[55].short_name = 'I';
  parseopts[55].long_name = (char const   *)"ignore-matching-lines";
  parseopts[55].value = (void *)options;
  parseopts[55].argh = (char const   *)"<regex>";
  parseopts[55].help = (char const   *)"ignore changes whose all lines match <regex>";
  parseopts[55].flags = (enum parse_opt_option_flags )0;
  parseopts[55].callback = & diff_opt_ignore_regex;
  parseopts[55].defval = 0L;
  parseopts[55].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[55].extra = 0L;
  parseopts[56].type = (enum parse_opt_type )4;
  parseopts[56].short_name = 0;
  parseopts[56].long_name = (char const   *)"indent-heuristic";
  parseopts[56].value = (void *)(& options->xdl_opts);
  parseopts[56].argh = (char const   *)((void *)0);
  parseopts[56].help = (char const   *)"heuristic to shift diff hunk boundaries for easy reading";
  parseopts[56].flags = (enum parse_opt_option_flags )2;
  parseopts[56].callback = (parse_opt_cb *)((void *)0);
  parseopts[56].defval = (intptr_t )(1 << 23);
  parseopts[56].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[56].extra = 0L;
  parseopts[57].type = (enum parse_opt_type )12;
  parseopts[57].short_name = 0;
  parseopts[57].long_name = (char const   *)"patience";
  parseopts[57].value = (void *)options;
  parseopts[57].argh = (char const   *)((void *)0);
  parseopts[57].help = (char const   *)"generate diff using the \"patience diff\" algorithm";
  parseopts[57].flags = (enum parse_opt_option_flags )6;
  parseopts[57].callback = & diff_opt_patience;
  parseopts[57].defval = 0L;
  parseopts[57].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[57].extra = 0L;
  parseopts[58].type = (enum parse_opt_type )6;
  parseopts[58].short_name = 0;
  parseopts[58].long_name = (char const   *)"histogram";
  parseopts[58].value = (void *)(& options->xdl_opts);
  parseopts[58].argh = (char const   *)((void *)0);
  parseopts[58].help = (char const   *)"generate diff using the \"histogram diff\" algorithm";
  parseopts[58].flags = (enum parse_opt_option_flags )6;
  parseopts[58].callback = (parse_opt_cb *)((void *)0);
  parseopts[58].defval = (intptr_t )(1 << 15);
  parseopts[58].ll_callback = (parse_opt_ll_cb *)((void *)0);
  parseopts[58].extra = (intptr_t )((1 << 14) | (1 << 15));
  parseopts[59].type = (enum parse_opt_type )12;
  parseopts[59].short_name = 0;
  parseopts[59].long_name = (char const   *)"diff-algorithm";
  parseopts[59].value = (void *)options;
  parseopts[59].argh = (char const   *)"<algorithm>";
  parseopts[59].help = (char const   *)"choose a diff algorithm";
  parseopts[59].flags = (enum parse_opt_option_flags )4;
  parseopts[59].callback = & diff_opt_diff_algorithm;
  parseopts[59].defval = 0L;
  parseopts[59].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[59].extra = 0L;
  parseopts[60].type = (enum parse_opt_type )12;
  parseopts[60].short_name = 0;
  parseopts[60].long_name = (char const   *)"anchored";
  parseopts[60].value = (void *)options;
  parseopts[60].argh = (char const   *)"<text>";
  parseopts[60].help = (char const   *)"generate diff using the \"anchored diff\" algorithm";
  parseopts[60].flags = (enum parse_opt_option_flags )4;
  parseopts[60].callback = & diff_opt_anchored;
  parseopts[60].defval = 0L;
  parseopts[60].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[60].extra = 0L;
  parseopts[61].type = (enum parse_opt_type )12;
  parseopts[61].short_name = 0;
  parseopts[61].long_name = (char const   *)"word-diff";
  parseopts[61].value = (void *)options;
  parseopts[61].argh = (char const   *)"<mode>";
  parseopts[61].help = (char const   *)"show word diff, using <mode> to delimit changed words";
  parseopts[61].flags = (enum parse_opt_option_flags )5;
  parseopts[61].callback = & diff_opt_word_diff;
  parseopts[61].defval = 0L;
  parseopts[61].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[61].extra = 0L;
  parseopts[62].type = (enum parse_opt_type )12;
  parseopts[62].short_name = 0;
  parseopts[62].long_name = (char const   *)"word-diff-regex";
  parseopts[62].value = (void *)options;
  parseopts[62].argh = (char const   *)"<regex>";
  parseopts[62].help = (char const   *)"use <regex> to decide what a word is";
  parseopts[62].flags = (enum parse_opt_option_flags )4;
  parseopts[62].callback = & diff_opt_word_diff_regex;
  parseopts[62].defval = 0L;
  parseopts[62].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[62].extra = 0L;
  parseopts[63].type = (enum parse_opt_type )12;
  parseopts[63].short_name = 0;
  parseopts[63].long_name = (char const   *)"color-words";
  parseopts[63].value = (void *)options;
  parseopts[63].argh = (char const   *)"<regex>";
  parseopts[63].help = (char const   *)"equivalent to --word-diff=color --word-diff-regex=<regex>";
  parseopts[63].flags = (enum parse_opt_option_flags )5;
  parseopts[63].callback = & diff_opt_color_words;
  parseopts[63].defval = 0L;
  parseopts[63].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[63].extra = 0L;
  parseopts[64].type = (enum parse_opt_type )12;
  parseopts[64].short_name = 0;
  parseopts[64].long_name = (char const   *)"color-moved";
  parseopts[64].value = (void *)options;
  parseopts[64].argh = (char const   *)"<mode>";
  parseopts[64].help = (char const   *)"moved lines of code are colored differently";
  parseopts[64].flags = (enum parse_opt_option_flags )1;
  parseopts[64].callback = & diff_opt_color_moved;
  parseopts[64].defval = 0L;
  parseopts[64].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[64].extra = 0L;
  parseopts[65].type = (enum parse_opt_type )12;
  parseopts[65].short_name = 0;
  parseopts[65].long_name = (char const   *)"color-moved-ws";
  parseopts[65].value = (void *)options;
  parseopts[65].argh = (char const   *)"<mode>";
  parseopts[65].help = (char const   *)"how white spaces are ignored in --color-moved";
  parseopts[65].flags = (enum parse_opt_option_flags )0;
  parseopts[65].callback = & diff_opt_color_moved_ws;
  parseopts[65].defval = 0L;
  parseopts[65].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[65].extra = 0L;
  parseopts[66].type = (enum parse_opt_type )1;
  parseopts[66].short_name = 0;
  parseopts[66].long_name = (char const   *)((void *)0);
  parseopts[66].value = (void *)0;
  parseopts[66].argh = (char const   *)((void *)0);
  parseopts[66].help = (char const   *)"Other diff options";
  parseopts[66].flags = 0U;
  parseopts[66].callback = (parse_opt_cb *)0;
  parseopts[66].defval = 0L;
  parseopts[66].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[66].extra = 0L;
  parseopts[67].type = (enum parse_opt_type )12;
  parseopts[67].short_name = 0;
  parseopts[67].long_name = (char const   *)"relative";
  parseopts[67].value = (void *)options;
  parseopts[67].argh = (char const   *)"<prefix>";
  parseopts[67].help = (char const   *)"when run from subdir, exclude changes outside and show relative paths";
  parseopts[67].flags = (enum parse_opt_option_flags )1;
  parseopts[67].callback = & diff_opt_relative;
  parseopts[67].defval = 0L;
  parseopts[67].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[67].extra = 0L;
  parseopts[68].type = (enum parse_opt_type )8;
  parseopts[68].short_name = 'a';
  parseopts[68].long_name = (char const   *)"text";
  parseopts[68].value = (void *)(& options->flags.text);
  parseopts[68].argh = (char const   *)((void *)0);
  parseopts[68].help = (char const   *)"treat all files as text";
  parseopts[68].flags = (enum parse_opt_option_flags )2;
  parseopts[68].callback = (parse_opt_cb *)((void *)0);
  parseopts[68].defval = (intptr_t )1;
  parseopts[68].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[68].extra = 0L;
  parseopts[69].type = (enum parse_opt_type )8;
  parseopts[69].short_name = 'R';
  parseopts[69].long_name = (char const   *)((void *)0);
  parseopts[69].value = (void *)(& options->flags.reverse_diff);
  parseopts[69].argh = (char const   *)((void *)0);
  parseopts[69].help = (char const   *)"swap two inputs, reverse the diff";
  parseopts[69].flags = (enum parse_opt_option_flags )2;
  parseopts[69].callback = (parse_opt_cb *)((void *)0);
  parseopts[69].defval = (intptr_t )1;
  parseopts[69].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[69].extra = 0L;
  parseopts[70].type = (enum parse_opt_type )8;
  parseopts[70].short_name = 0;
  parseopts[70].long_name = (char const   *)"exit-code";
  parseopts[70].value = (void *)(& options->flags.exit_with_status);
  parseopts[70].argh = (char const   *)((void *)0);
  parseopts[70].help = (char const   *)"exit with 1 if there were differences, 0 otherwise";
  parseopts[70].flags = (enum parse_opt_option_flags )2;
  parseopts[70].callback = (parse_opt_cb *)((void *)0);
  parseopts[70].defval = (intptr_t )1;
  parseopts[70].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[70].extra = 0L;
  parseopts[71].type = (enum parse_opt_type )8;
  parseopts[71].short_name = 0;
  parseopts[71].long_name = (char const   *)"quiet";
  parseopts[71].value = (void *)(& options->flags.quick);
  parseopts[71].argh = (char const   *)((void *)0);
  parseopts[71].help = (char const   *)"disable all output of the program";
  parseopts[71].flags = (enum parse_opt_option_flags )2;
  parseopts[71].callback = (parse_opt_cb *)((void *)0);
  parseopts[71].defval = (intptr_t )1;
  parseopts[71].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[71].extra = 0L;
  parseopts[72].type = (enum parse_opt_type )8;
  parseopts[72].short_name = 0;
  parseopts[72].long_name = (char const   *)"ext-diff";
  parseopts[72].value = (void *)(& options->flags.allow_external);
  parseopts[72].argh = (char const   *)((void *)0);
  parseopts[72].help = (char const   *)"allow an external diff helper to be executed";
  parseopts[72].flags = (enum parse_opt_option_flags )2;
  parseopts[72].callback = (parse_opt_cb *)((void *)0);
  parseopts[72].defval = (intptr_t )1;
  parseopts[72].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[72].extra = 0L;
  parseopts[73].type = (enum parse_opt_type )12;
  parseopts[73].short_name = 0;
  parseopts[73].long_name = (char const   *)"textconv";
  parseopts[73].value = (void *)options;
  parseopts[73].argh = (char const   *)((void *)0);
  parseopts[73].help = (char const   *)"run external text conversion filters when comparing binary files";
  parseopts[73].flags = (enum parse_opt_option_flags )2;
  parseopts[73].callback = & diff_opt_textconv;
  parseopts[73].defval = 0L;
  parseopts[73].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[73].extra = 0L;
  parseopts[74].type = (enum parse_opt_type )12;
  parseopts[74].short_name = 0;
  parseopts[74].long_name = (char const   *)"ignore-submodules";
  parseopts[74].value = (void *)options;
  parseopts[74].argh = (char const   *)"<when>";
  parseopts[74].help = (char const   *)"ignore changes to submodules in the diff generation";
  parseopts[74].flags = (enum parse_opt_option_flags )5;
  parseopts[74].callback = & diff_opt_ignore_submodules;
  parseopts[74].defval = 0L;
  parseopts[74].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[74].extra = 0L;
  parseopts[75].type = (enum parse_opt_type )12;
  parseopts[75].short_name = 0;
  parseopts[75].long_name = (char const   *)"submodule";
  parseopts[75].value = (void *)options;
  parseopts[75].argh = (char const   *)"<format>";
  parseopts[75].help = (char const   *)"specify how differences in submodules are shown";
  parseopts[75].flags = (enum parse_opt_option_flags )5;
  parseopts[75].callback = & diff_opt_submodule;
  parseopts[75].defval = 0L;
  parseopts[75].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[75].extra = 0L;
  parseopts[76].type = (enum parse_opt_type )8;
  parseopts[76].short_name = 0;
  parseopts[76].long_name = (char const   *)"ita-invisible-in-index";
  parseopts[76].value = (void *)(& options->ita_invisible_in_index);
  parseopts[76].argh = (char const   *)((void *)0);
  parseopts[76].help = (char const   *)"hide \'git add -N\' entries from the index";
  parseopts[76].flags = (enum parse_opt_option_flags )6;
  parseopts[76].callback = (parse_opt_cb *)((void *)0);
  parseopts[76].defval = (intptr_t )1;
  parseopts[76].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[76].extra = 0L;
  parseopts[77].type = (enum parse_opt_type )8;
  parseopts[77].short_name = 0;
  parseopts[77].long_name = (char const   *)"ita-visible-in-index";
  parseopts[77].value = (void *)(& options->ita_invisible_in_index);
  parseopts[77].argh = (char const   *)((void *)0);
  parseopts[77].help = (char const   *)"treat \'git add -N\' entries as real in the index";
  parseopts[77].flags = (enum parse_opt_option_flags )6;
  parseopts[77].callback = (parse_opt_cb *)((void *)0);
  parseopts[77].defval = (intptr_t )0;
  parseopts[77].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[77].extra = 0L;
  parseopts[78].type = (enum parse_opt_type )12;
  parseopts[78].short_name = 'S';
  parseopts[78].long_name = (char const   *)((void *)0);
  parseopts[78].value = (void *)options;
  parseopts[78].argh = (char const   *)"<string>";
  parseopts[78].help = (char const   *)"look for differences that change the number of occurrences of the specified string";
  parseopts[78].flags = (enum parse_opt_option_flags )0;
  parseopts[78].callback = & diff_opt_pickaxe_string;
  parseopts[78].defval = 0L;
  parseopts[78].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[78].extra = 0L;
  parseopts[79].type = (enum parse_opt_type )12;
  parseopts[79].short_name = 'G';
  parseopts[79].long_name = (char const   *)((void *)0);
  parseopts[79].value = (void *)options;
  parseopts[79].argh = (char const   *)"<regex>";
  parseopts[79].help = (char const   *)"look for differences that change the number of occurrences of the specified regex";
  parseopts[79].flags = (enum parse_opt_option_flags )0;
  parseopts[79].callback = & diff_opt_pickaxe_regex;
  parseopts[79].defval = 0L;
  parseopts[79].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[79].extra = 0L;
  parseopts[80].type = (enum parse_opt_type )4;
  parseopts[80].short_name = 0;
  parseopts[80].long_name = (char const   *)"pickaxe-all";
  parseopts[80].value = (void *)(& options->pickaxe_opts);
  parseopts[80].argh = (char const   *)((void *)0);
  parseopts[80].help = (char const   *)"show all changes in the changeset with -S or -G";
  parseopts[80].flags = (enum parse_opt_option_flags )6;
  parseopts[80].callback = (parse_opt_cb *)((void *)0);
  parseopts[80].defval = (intptr_t )1;
  parseopts[80].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[80].extra = 0L;
  parseopts[81].type = (enum parse_opt_type )4;
  parseopts[81].short_name = 0;
  parseopts[81].long_name = (char const   *)"pickaxe-regex";
  parseopts[81].value = (void *)(& options->pickaxe_opts);
  parseopts[81].argh = (char const   *)((void *)0);
  parseopts[81].help = (char const   *)"treat <string> in -S as extended POSIX regular expression";
  parseopts[81].flags = (enum parse_opt_option_flags )6;
  parseopts[81].callback = (parse_opt_cb *)((void *)0);
  parseopts[81].defval = (intptr_t )2;
  parseopts[81].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[81].extra = 0L;
  parseopts[82].type = (enum parse_opt_type )14;
  parseopts[82].short_name = 'O';
  parseopts[82].long_name = (char const   *)((void *)0);
  parseopts[82].value = (void *)(& options->orderfile);
  parseopts[82].argh = (char const   *)"file";
  parseopts[82].help = (char const   *)"control the order in which files appear in the output";
  parseopts[82].flags = 0U;
  parseopts[82].callback = (parse_opt_cb *)0;
  parseopts[82].defval = 0L;
  parseopts[82].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[82].extra = 0L;
  parseopts[83].type = (enum parse_opt_type )12;
  parseopts[83].short_name = 0;
  parseopts[83].long_name = (char const   *)"rotate-to";
  parseopts[83].value = (void *)options;
  parseopts[83].argh = (char const   *)"<path>";
  parseopts[83].help = (char const   *)"show the change in the specified path first";
  parseopts[83].flags = (enum parse_opt_option_flags )4;
  parseopts[83].callback = & diff_opt_rotate_to;
  parseopts[83].defval = 0L;
  parseopts[83].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[83].extra = 0L;
  parseopts[84].type = (enum parse_opt_type )12;
  parseopts[84].short_name = 0;
  parseopts[84].long_name = (char const   *)"skip-to";
  parseopts[84].value = (void *)options;
  parseopts[84].argh = (char const   *)"<path>";
  parseopts[84].help = (char const   *)"skip the output to the specified path";
  parseopts[84].flags = (enum parse_opt_option_flags )4;
  parseopts[84].callback = & diff_opt_rotate_to;
  parseopts[84].defval = 0L;
  parseopts[84].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[84].extra = 0L;
  parseopts[85].type = (enum parse_opt_type )12;
  parseopts[85].short_name = 0;
  parseopts[85].long_name = (char const   *)"find-object";
  parseopts[85].value = (void *)options;
  parseopts[85].argh = (char const   *)"<object-id>";
  parseopts[85].help = (char const   *)"look for differences that change the number of occurrences of the specified object";
  parseopts[85].flags = (enum parse_opt_option_flags )4;
  parseopts[85].callback = & diff_opt_find_object;
  parseopts[85].defval = 0L;
  parseopts[85].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[85].extra = 0L;
  parseopts[86].type = (enum parse_opt_type )12;
  parseopts[86].short_name = 0;
  parseopts[86].long_name = (char const   *)"diff-filter";
  parseopts[86].value = (void *)options;
  parseopts[86].argh = (char const   *)"[(A|C|D|M|R|T|U|X|B)...[*]]";
  parseopts[86].help = (char const   *)"select files by diff type";
  parseopts[86].flags = (enum parse_opt_option_flags )4;
  parseopts[86].callback = & diff_opt_diff_filter;
  parseopts[86].defval = 0L;
  parseopts[86].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[86].extra = 0L;
  parseopts[87].type = (enum parse_opt_type )12;
  parseopts[87].short_name = 0;
  parseopts[87].long_name = (char const   *)"output";
  parseopts[87].value = (void *)options;
  parseopts[87].argh = (char const   *)"<file>";
  parseopts[87].help = (char const   *)"Output to a specific file";
  parseopts[87].flags = (enum parse_opt_option_flags )4;
  parseopts[87].callback = (parse_opt_cb *)((void *)0);
  parseopts[87].defval = (intptr_t )0;
  parseopts[87].ll_callback = & diff_opt_output;
  parseopts[87].extra = 0L;
  parseopts[88].type = (enum parse_opt_type )0;
  parseopts[88].short_name = 0;
  parseopts[88].long_name = (char const   *)0;
  parseopts[88].value = (void *)0;
  parseopts[88].argh = (char const   *)0;
  parseopts[88].help = (char const   *)0;
  parseopts[88].flags = 0U;
  parseopts[88].callback = (parse_opt_cb *)0;
  parseopts[88].defval = 0L;
  parseopts[88].ll_callback = (parse_opt_ll_cb *)0;
  parseopts[88].extra = 0L;
  tmp = st_mult(sizeof(*(options->parseopts)), sizeof(parseopts) / sizeof(parseopts[0]) + (sizeof(char [1]) - 1UL));
  tmp___0 = xmalloc(tmp);
  options->parseopts = (struct option *)tmp___0;
  memcpy((void *)options->parseopts, (void const   *)(parseopts), sizeof(parseopts));
  return;
}
}
int diff_opt_parse(struct diff_options *options , char const   **av , int ac , char const   *prefix___1 )
{


  {
  if (! prefix___1) {
    prefix___1 = (char const   *)"";
  }
  ac = parse_options(ac, av, prefix___1, (struct option  const  *)options->parseopts,
                     (char const   **)((void *)0), (enum parse_opt_flags )59);
  return (ac);
}
}
int parse_rename_score(char const   **cp_p )
{
  unsigned long num ;
  unsigned long scale ;
  int ch___0 ;
  int dot ;
  char const   *cp ;
  double tmp ;

  {
  cp = *cp_p;
  num = 0UL;
  scale = 1UL;
  dot = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    ch___0 = (int )*cp;
    if (! dot) {
      if (ch___0 == 46) {
        scale = 1UL;
        dot = 1;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (ch___0 == 37) {
      if (dot) {
        scale *= 100UL;
      } else {
        scale = 100UL;
      }
      cp ++;
      goto while_break;
    } else
    if (ch___0 >= 48) {
      if (ch___0 <= 57) {
        if (scale < 100000UL) {
          scale *= 10UL;
          num = num * 10UL + (unsigned long )(ch___0 - 48);
        }
      } else {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    cp ++;
  }
  while_break: /* CIL Label */ ;
  }
  *cp_p = cp;
  if (num >= scale) {
    tmp = 60000.0;
  } else {
    tmp = (60000.0 * (double )num) / (double )scale;
  }
  return ((int )tmp);
}
}
void diff_q(struct diff_queue_struct *queue , struct diff_filepair *dp )
{
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (queue->nr + 1 > queue->alloc) {
      if (((queue->alloc + 16) * 3) / 2 < queue->nr + 1) {
        queue->alloc = queue->nr + 1;
      } else {
        queue->alloc = ((queue->alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(queue->queue)), (size_t )queue->alloc);
      tmp___0 = xrealloc((void *)queue->queue, tmp);
      queue->queue = (struct diff_filepair **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = queue->nr;
  (queue->nr) ++;
  *(queue->queue + tmp___1) = dp;
  return;
}
}
struct diff_filepair *diff_queue(struct diff_queue_struct *queue , struct diff_filespec *one___0 ,
                                 struct diff_filespec *two___0 )
{
  struct diff_filepair *dp ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(*dp));
  dp = (struct diff_filepair *)tmp;
  dp->one = one___0;
  dp->two = two___0;
  if (queue) {
    diff_q(queue, dp);
  }
  return (dp);
}
}
void diff_free_filepair(struct diff_filepair *p___0 )
{


  {
  free_filespec(p___0->one);
  free_filespec(p___0->two);
  free((void *)p___0);
  return;
}
}
static char hex[65]  ;
char const   *diff_aligned_abbrev(struct object_id  const  *oid , int len___0 )
{
  int abblen ;
  char const   *abbrev___6 ;
  char *tmp ;
  int tmp___0 ;
  size_t tmp___1 ;
  char *tmp___2 ;

  {
  if ((size_t )len___0 == (the_repository->hash_algo)->hexsz) {
    tmp = oid_to_hex(oid);
    return ((char const   *)tmp);
  }
  abbrev___6 = diff_abbrev_oid(oid, len___0);
  tmp___0 = print_sha1_ellipsis();
  if (! tmp___0) {
    return (abbrev___6);
  }
  tmp___1 = strlen(abbrev___6);
  abblen = (int )tmp___1;
  if ((size_t )abblen < (the_repository->hash_algo)->hexsz - 3UL) {
    if (len___0 < abblen) {
      if (abblen <= len___0 + 2) {
        xsnprintf(hex, sizeof(hex), (char const   *)"%s%.*s", abbrev___6, (len___0 + 3) - abblen,
                  "..");
      } else {
        xsnprintf(hex, sizeof(hex), (char const   *)"%s...", abbrev___6);
      }
    } else {
      xsnprintf(hex, sizeof(hex), (char const   *)"%s...", abbrev___6);
    }
    return ((char const   *)(hex));
  }
  tmp___2 = oid_to_hex(oid);
  return ((char const   *)tmp___2);
}
}
static void diff_flush_raw(struct diff_filepair *p___0 , struct diff_options *opt___0 )
{
  int line_termination___1 ;
  int inter_name_termination ;
  int tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  char const   *name_a ;
  char const   *name_b ;
  char const   *name_a___0 ;
  char const   *name_b___0 ;

  {
  line_termination___1 = opt___0->line_termination;
  if (line_termination___1) {
    tmp = '\t';
  } else {
    tmp = '\000';
  }
  inter_name_termination = tmp;
  tmp___0 = diff_line_prefix(opt___0);
  fprintf(opt___0->file, (char const   *)"%s", tmp___0);
  if (! (opt___0->output_format & 0x0200)) {
    tmp___1 = diff_aligned_abbrev((struct object_id  const  *)(& (p___0->one)->oid),
                                  opt___0->abbrev);
    fprintf(opt___0->file, (char const   *)":%06o %06o %s ", (int )(p___0->one)->mode,
            (int )(p___0->two)->mode, tmp___1);
    tmp___2 = diff_aligned_abbrev((struct object_id  const  *)(& (p___0->two)->oid),
                                  opt___0->abbrev);
    fprintf(opt___0->file, (char const   *)"%s ", tmp___2);
  }
  if (p___0->score) {
    tmp___3 = similarity_index(p___0);
    fprintf(opt___0->file, (char const   *)"%c%03d%c", (int )p___0->status, tmp___3,
            inter_name_termination);
  } else {
    fprintf(opt___0->file, (char const   *)"%c%c", (int )p___0->status, inter_name_termination);
  }
  if ((int )p___0->status == 67) {
    name_a = (char const   *)(p___0->one)->path;
    name_b = (char const   *)(p___0->two)->path;
    strip_prefix(opt___0->prefix_length, & name_a, & name_b);
    write_name_quoted(name_a, opt___0->file, inter_name_termination);
    write_name_quoted(name_b, opt___0->file, line_termination___1);
  } else
  if ((int )p___0->status == 82) {
    name_a = (char const   *)(p___0->one)->path;
    name_b = (char const   *)(p___0->two)->path;
    strip_prefix(opt___0->prefix_length, & name_a, & name_b);
    write_name_quoted(name_a, opt___0->file, inter_name_termination);
    write_name_quoted(name_b, opt___0->file, line_termination___1);
  } else {
    if ((p___0->one)->mode) {
      name_a___0 = (char const   *)(p___0->one)->path;
    } else {
      name_a___0 = (char const   *)(p___0->two)->path;
    }
    name_b___0 = (char const   *)((void *)0);
    strip_prefix(opt___0->prefix_length, & name_a___0, & name_b___0);
    write_name_quoted(name_a___0, opt___0->file, line_termination___1);
  }
  return;
}
}
int diff_unmodified_pair(struct diff_filepair *p___0 )
{
  struct diff_filespec *one___0 ;
  struct diff_filespec *two___0 ;
  int tmp ;
  int tmp___0 ;

  {
  one___0 = p___0->one;
  two___0 = p___0->two;
  if (p___0->is_unmerged) {
    return (0);
  }
  if (((int )one___0->mode != 0) != ((int )two___0->mode != 0)) {
    return (0);
  } else
  if ((int )(p___0->one)->mode != (int )(p___0->two)->mode) {
    return (0);
  } else {
    tmp = strcmp((char const   *)one___0->path, (char const   *)two___0->path);
    if (tmp) {
      return (0);
    }
  }
  if (one___0->oid_valid) {
    if (two___0->oid_valid) {
      tmp___0 = oideq((struct object_id  const  *)(& one___0->oid), (struct object_id  const  *)(& two___0->oid));
      if (tmp___0) {
        if (! one___0->dirty_submodule) {
          if (! two___0->dirty_submodule) {
            return (1);
          }
        }
      }
    }
  }
  if (! one___0->oid_valid) {
    if (! two___0->oid_valid) {
      return (1);
    }
  }
  return (0);
}
}
static void diff_flush_patch(struct diff_filepair *p___0 , struct diff_options *o )
{
  int tmp ;

  {
  tmp = diff_unmodified_pair(p___0);
  if (tmp) {
    return;
  }
  if ((int )(p___0->one)->mode != 0) {
    if (((int )(p___0->one)->mode & 0170000) == 0040000) {
      return;
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if ((int )(p___0->two)->mode != 0) {
    if (((int )(p___0->two)->mode & 0170000) == 0040000) {
      return;
    }
  }
  run_diff___0(p___0, o);
  return;
}
}
static void diff_flush_stat(struct diff_filepair *p___0 , struct diff_options *o ,
                            struct diffstat_t *diffstat )
{
  int tmp ;

  {
  tmp = diff_unmodified_pair(p___0);
  if (tmp) {
    return;
  }
  if ((int )(p___0->one)->mode != 0) {
    if (((int )(p___0->one)->mode & 0170000) == 0040000) {
      return;
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if ((int )(p___0->two)->mode != 0) {
    if (((int )(p___0->two)->mode & 0170000) == 0040000) {
      return;
    }
  }
  run_diffstat(p___0, o, diffstat);
  return;
}
}
static void diff_flush_checkdiff(struct diff_filepair *p___0 , struct diff_options *o )
{
  int tmp ;

  {
  tmp = diff_unmodified_pair(p___0);
  if (tmp) {
    return;
  }
  if ((int )(p___0->one)->mode != 0) {
    if (((int )(p___0->one)->mode & 0170000) == 0040000) {
      return;
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if ((int )(p___0->two)->mode != 0) {
    if (((int )(p___0->two)->mode & 0170000) == 0040000) {
      return;
    }
  }
  run_checkdiff(p___0, o);
  return;
}
}
int diff_queue_is_empty(void)
{
  struct diff_queue_struct *q ;
  int i ;
  int tmp ;

  {
  q = & diff_queued_diff;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break;
    }
    tmp = diff_unmodified_pair(*(q->queue + i));
    if (! tmp) {
      return (0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static void diff_resolve_rename_copy(void)
{
  int i ;
  struct diff_filepair *p___0 ;
  struct diff_queue_struct *q ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  q = & diff_queued_diff;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break___0;
    }
    p___0 = *(q->queue + i);
    p___0->status = (char)0;
    if (p___0->is_unmerged) {
      p___0->status = (char )'U';
    } else
    if (! ((int )(p___0->one)->mode != 0)) {
      p___0->status = (char )'A';
    } else
    if (! ((int )(p___0->two)->mode != 0)) {
      p___0->status = (char )'D';
    } else
    if ((0170000 & (int )(p___0->one)->mode) != (0170000 & (int )(p___0->two)->mode)) {
      p___0->status = (char )'T';
    } else
    if (p___0->renamed_pair) {
      tmp = strcmp((char const   *)(p___0->one)->path, (char const   *)(p___0->two)->path);
      if (tmp) {
        ((p___0->one)->rename_used) --;
        if ((p___0->one)->rename_used > 0) {
          p___0->status = (char )'C';
        } else {
          p___0->status = (char )'R';
        }
      } else {
        p___0->status = (char )'M';
      }
    } else {
      tmp___0 = oideq((struct object_id  const  *)(& (p___0->one)->oid), (struct object_id  const  *)(& (p___0->two)->oid));
      if (tmp___0) {
        if ((int )(p___0->one)->mode != (int )(p___0->two)->mode) {
          p___0->status = (char )'M';
        } else
        if ((p___0->one)->dirty_submodule) {
          p___0->status = (char )'M';
        } else
        if ((p___0->two)->dirty_submodule) {
          p___0->status = (char )'M';
        } else {
          tmp___1 = is_null_oid((struct object_id  const  *)(& (p___0->one)->oid));
          if (tmp___1) {
            p___0->status = (char )'M';
          } else {
            error((char const   *)"feeding unmodified %s to diffcore", (p___0->one)->path);
            const_error();
            p___0->status = (char )'X';
          }
        }
      } else {
        p___0->status = (char )'M';
      }
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  return;
}
}
static int check_pair_status(struct diff_filepair *p___0 )
{


  {
  {
  if ((int )p___0->status == 88) {
    goto case_88;
  }
  if ((int )p___0->status == 0) {
    goto case_0;
  }
  goto switch_default;
  case_88: /* CIL Label */
  return (0);
  case_0: /* CIL Label */
  die((char const   *)"internal error in diff-resolve-rename-copy");
  switch_default: /* CIL Label */
  return (1);
  switch_break: /* CIL Label */ ;
  }
}
}
static void flush_one_pair(struct diff_filepair *p___0 , struct diff_options *opt___0 )
{
  int fmt ;
  char const   *name_a ;
  char const   *name_b ;
  char const   *tmp ;

  {
  fmt = opt___0->output_format;
  if (fmt & 0x0400) {
    diff_flush_checkdiff(p___0, opt___0);
  } else
  if (fmt & 513) {
    diff_flush_raw(p___0, opt___0);
  } else
  if (fmt & 0x0100) {
    name_a = (char const   *)(p___0->two)->path;
    name_b = (char const   *)((void *)0);
    strip_prefix(opt___0->prefix_length, & name_a, & name_b);
    tmp = diff_line_prefix(opt___0);
    fprintf(opt___0->file, (char const   *)"%s", tmp);
    write_name_quoted(name_a, opt___0->file, opt___0->line_termination);
  }
  return;
}
}
static void show_file_mode_name___0(struct diff_options *opt___0 , char const   *newdelete ,
                                    struct diff_filespec *fs )
{
  struct strbuf sb___6 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  if (fs->mode) {
    strbuf_addf(& sb___6, (char const   *)" %s mode %06o ", newdelete, (int )fs->mode);
  } else {
    strbuf_addf(& sb___6, (char const   *)" %s ", newdelete);
  }
  quote_c_style((char const   *)fs->path, & sb___6, (FILE *)((void *)0), 0U);
  strbuf_addch(& sb___6, '\n');
  emit_diff_symbol(opt___0, (enum diff_symbol )11, (char const   *)sb___6.buf, (int )sb___6.len,
                   0U);
  strbuf_release(& sb___6);
  return;
}
}
static void show_mode_change___0(struct diff_options *opt___0 , struct diff_filepair *p___0 ,
                                 int show_name___2 )
{
  struct strbuf sb___6 ;

  {
  if ((p___0->one)->mode) {
    if ((p___0->two)->mode) {
      if ((int )(p___0->one)->mode != (int )(p___0->two)->mode) {
        sb___6.alloc = 0UL;
        sb___6.len = 0UL;
        sb___6.buf = strbuf_slopbuf;
        strbuf_addf(& sb___6, (char const   *)" mode change %06o => %06o", (int )(p___0->one)->mode,
                    (int )(p___0->two)->mode);
        if (show_name___2) {
          strbuf_addch(& sb___6, ' ');
          quote_c_style((char const   *)(p___0->two)->path, & sb___6, (FILE *)((void *)0),
                        0U);
        }
        strbuf_addch(& sb___6, '\n');
        emit_diff_symbol(opt___0, (enum diff_symbol )11, (char const   *)sb___6.buf,
                         (int )sb___6.len, 0U);
        strbuf_release(& sb___6);
      }
    }
  }
  return;
}
}
static void show_rename_copy___0(struct diff_options *opt___0 , char const   *renamecopy ,
                                 struct diff_filepair *p___0 )
{
  struct strbuf sb___6 ;
  struct strbuf names___0 ;
  int tmp ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  names___0.alloc = 0UL;
  names___0.len = 0UL;
  names___0.buf = strbuf_slopbuf;
  pprint_rename(& names___0, (char const   *)(p___0->one)->path, (char const   *)(p___0->two)->path);
  tmp = similarity_index(p___0);
  strbuf_addf(& sb___6, (char const   *)" %s %s (%d%%)\n", renamecopy, names___0.buf,
              tmp);
  strbuf_release(& names___0);
  emit_diff_symbol(opt___0, (enum diff_symbol )11, (char const   *)sb___6.buf, (int )sb___6.len,
                   0U);
  show_mode_change___0(opt___0, p___0, 0);
  strbuf_release(& sb___6);
  return;
}
}
static void diff_summary(struct diff_options *opt___0 , struct diff_filepair *p___0 )
{
  struct strbuf sb___6 ;
  int tmp ;

  {
  {
  if ((int )p___0->status == 68) {
    goto case_68;
  }
  if ((int )p___0->status == 65) {
    goto case_65;
  }
  if ((int )p___0->status == 67) {
    goto case_67;
  }
  if ((int )p___0->status == 82) {
    goto case_82;
  }
  goto switch_default;
  case_68: /* CIL Label */
  show_file_mode_name___0(opt___0, (char const   *)"delete", p___0->one);
  goto switch_break;
  case_65: /* CIL Label */
  show_file_mode_name___0(opt___0, (char const   *)"create", p___0->two);
  goto switch_break;
  case_67: /* CIL Label */
  show_rename_copy___0(opt___0, (char const   *)"copy", p___0);
  goto switch_break;
  case_82: /* CIL Label */
  show_rename_copy___0(opt___0, (char const   *)"rename", p___0);
  goto switch_break;
  switch_default: /* CIL Label */
  if (p___0->score) {
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    strbuf_addstr(& sb___6, (char const   *)" rewrite ");
    quote_c_style((char const   *)(p___0->two)->path, & sb___6, (FILE *)((void *)0),
                  0U);
    tmp = similarity_index(p___0);
    strbuf_addf(& sb___6, (char const   *)" (%d%%)\n", tmp);
    emit_diff_symbol(opt___0, (enum diff_symbol )11, (char const   *)sb___6.buf, (int )sb___6.len,
                     0U);
    strbuf_release(& sb___6);
  }
  show_mode_change___0(opt___0, p___0, ! p___0->score);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static int remove_space(char *line___0 , int len___0 )
{
  int i ;
  char *dst ;
  unsigned char c___0 ;
  char *tmp ;

  {
  dst = line___0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < len___0)) {
      goto while_break;
    }
    c___0 = (unsigned char )*(line___0 + i);
    if (! (((int const   )sane_ctype[c___0] & 1) != 0)) {
      tmp = dst;
      dst ++;
      *tmp = (char )c___0;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((int )(dst - line___0));
}
}
void flush_one_hunk(struct object_id *result___0 , git_hash_ctx *ctx___0 )
{
  unsigned char hash___0[32] ;
  unsigned short carry ;
  int i ;

  {
  carry = (unsigned short)0;
  (*((the_repository->hash_algo)->final_fn))(hash___0, ctx___0);
  (*((the_repository->hash_algo)->init_fn))(ctx___0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < (the_repository->hash_algo)->rawsz)) {
      goto while_break;
    }
    carry = (unsigned short )((int )carry + ((int )result___0->hash[i] + (int )hash___0[i]));
    result___0->hash[i] = (unsigned char )carry;
    carry = (unsigned short )((int )carry >> 8);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int patch_id_consume(void *priv , char *line___0 , unsigned long len___0 )
{
  struct patch_id_t *data ;
  int new_len ;
  int tmp ;

  {
  data = (struct patch_id_t *)priv;
  if (len___0 > 12UL) {
    tmp = starts_with((char const   *)line___0, (char const   *)"\\ ");
    if (tmp) {
      return (0);
    }
  }
  new_len = remove_space(line___0, (int )len___0);
  (*((the_repository->hash_algo)->update_fn))(data->ctx, (void const   *)line___0,
                                              (size_t )new_len);
  data->patchlen += new_len;
  return (0);
}
}
static void patch_id_add_string(git_hash_ctx *ctx___0 , char const   *str )
{
  size_t tmp ;

  {
  tmp = strlen(str);
  (*((the_repository->hash_algo)->update_fn))(ctx___0, (void const   *)str, tmp);
  return;
}
}
static void patch_id_add_mode(git_hash_ctx *ctx___0 , unsigned int mode___1 )
{
  char buf___19[12] ;
  int len___0 ;
  int tmp ;

  {
  tmp = xsnprintf(buf___19, sizeof(buf___19), (char const   *)"%06o", mode___1);
  len___0 = tmp;
  (*((the_repository->hash_algo)->update_fn))(ctx___0, (void const   *)(buf___19),
                                              (size_t )len___0);
  return;
}
}
static int diff_get_patch_id(struct diff_options *options , struct object_id *oid ,
                             int diff_header_only , int stable )
{
  struct diff_queue_struct *q ;
  int i ;
  git_hash_ctx ctx___0 ;
  struct patch_id_t data ;
  xpparam_t xpp ;
  xdemitconf_t xecfg ;
  mmfile_t mf1 ;
  mmfile_t mf2 ;
  struct diff_filepair *p___0 ;
  int len1 ;
  int len2 ;
  int tmp ;
  int tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  char *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;

  {
  q = & diff_queued_diff;
  (*((the_repository->hash_algo)->init_fn))(& ctx___0);
  memset((void *)(& data), 0, sizeof(struct patch_id_t ));
  data.ctx = & ctx___0;
  oidclr(oid);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break;
    }
    p___0 = *(q->queue + i);
    memset((void *)(& xpp), 0, sizeof(xpp));
    memset((void *)(& xecfg), 0, sizeof(xecfg));
    if ((int )p___0->status == 0) {
      error((char const   *)"internal diff status error");
      tmp = const_error();
      return (tmp);
    }
    if ((int )p___0->status == 88) {
      goto __Cont;
    }
    tmp___0 = diff_unmodified_pair(p___0);
    if (tmp___0) {
      goto __Cont;
    }
    if ((int )(p___0->one)->mode != 0) {
      if (((int )(p___0->one)->mode & 0170000) == 0040000) {
        goto __Cont;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if ((int )(p___0->two)->mode != 0) {
      if (((int )(p___0->two)->mode & 0170000) == 0040000) {
        goto __Cont;
      }
    }
    if (p___0->is_unmerged) {
      goto __Cont;
    }
    diff_fill_oid_info(p___0->one, (options->repo)->index);
    diff_fill_oid_info(p___0->two, (options->repo)->index);
    tmp___1 = strlen((char const   *)(p___0->one)->path);
    len1 = remove_space((p___0->one)->path, (int )tmp___1);
    tmp___2 = strlen((char const   *)(p___0->two)->path);
    len2 = remove_space((p___0->two)->path, (int )tmp___2);
    patch_id_add_string(& ctx___0, (char const   *)"diff--git");
    patch_id_add_string(& ctx___0, (char const   *)"a/");
    (*((the_repository->hash_algo)->update_fn))(& ctx___0, (void const   *)(p___0->one)->path,
                                                (size_t )len1);
    patch_id_add_string(& ctx___0, (char const   *)"b/");
    (*((the_repository->hash_algo)->update_fn))(& ctx___0, (void const   *)(p___0->two)->path,
                                                (size_t )len2);
    if ((int )(p___0->one)->mode == 0) {
      patch_id_add_string(& ctx___0, (char const   *)"newfilemode");
      patch_id_add_mode(& ctx___0, (unsigned int )(p___0->two)->mode);
      patch_id_add_string(& ctx___0, (char const   *)"---/dev/null");
      patch_id_add_string(& ctx___0, (char const   *)"+++b/");
      (*((the_repository->hash_algo)->update_fn))(& ctx___0, (void const   *)(p___0->two)->path,
                                                  (size_t )len2);
    } else
    if ((int )(p___0->two)->mode == 0) {
      patch_id_add_string(& ctx___0, (char const   *)"deletedfilemode");
      patch_id_add_mode(& ctx___0, (unsigned int )(p___0->one)->mode);
      patch_id_add_string(& ctx___0, (char const   *)"---a/");
      (*((the_repository->hash_algo)->update_fn))(& ctx___0, (void const   *)(p___0->one)->path,
                                                  (size_t )len1);
      patch_id_add_string(& ctx___0, (char const   *)"+++/dev/null");
    } else {
      patch_id_add_string(& ctx___0, (char const   *)"---a/");
      (*((the_repository->hash_algo)->update_fn))(& ctx___0, (void const   *)(p___0->one)->path,
                                                  (size_t )len1);
      patch_id_add_string(& ctx___0, (char const   *)"+++b/");
      (*((the_repository->hash_algo)->update_fn))(& ctx___0, (void const   *)(p___0->two)->path,
                                                  (size_t )len2);
    }
    if (diff_header_only) {
      goto __Cont;
    }
    tmp___4 = fill_mmfile(options->repo, & mf1, p___0->one);
    if (tmp___4 < 0) {
      error((char const   *)"unable to read files to diff");
      tmp___3 = const_error();
      return (tmp___3);
    } else {
      tmp___5 = fill_mmfile(options->repo, & mf2, p___0->two);
      if (tmp___5 < 0) {
        error((char const   *)"unable to read files to diff");
        tmp___3 = const_error();
        return (tmp___3);
      }
    }
    tmp___8 = diff_filespec_is_binary(options->repo, p___0->one);
    if (tmp___8) {
      tmp___6 = oid_to_hex((struct object_id  const  *)(& (p___0->one)->oid));
      (*((the_repository->hash_algo)->update_fn))(& ctx___0, (void const   *)tmp___6,
                                                  (size_t )(the_repository->hash_algo)->hexsz);
      tmp___7 = oid_to_hex((struct object_id  const  *)(& (p___0->two)->oid));
      (*((the_repository->hash_algo)->update_fn))(& ctx___0, (void const   *)tmp___7,
                                                  (size_t )(the_repository->hash_algo)->hexsz);
      goto __Cont;
    } else {
      tmp___9 = diff_filespec_is_binary(options->repo, p___0->two);
      if (tmp___9) {
        tmp___6 = oid_to_hex((struct object_id  const  *)(& (p___0->one)->oid));
        (*((the_repository->hash_algo)->update_fn))(& ctx___0, (void const   *)tmp___6,
                                                    (size_t )(the_repository->hash_algo)->hexsz);
        tmp___7 = oid_to_hex((struct object_id  const  *)(& (p___0->two)->oid));
        (*((the_repository->hash_algo)->update_fn))(& ctx___0, (void const   *)tmp___7,
                                                    (size_t )(the_repository->hash_algo)->hexsz);
        goto __Cont;
      }
    }
    xpp.flags = 0UL;
    xecfg.ctxlen = 3L;
    xecfg.flags = (unsigned long )(1 << 1);
    tmp___11 = xdi_diff_outf(& mf1, & mf2, (void (*)(void *data , long old_begin ,
                                                     long old_nr , long new_begin ,
                                                     long new_nr , char const   *func ,
                                                     long funclen ))((void *)0), & patch_id_consume,
                             (void *)(& data), (xpparam_t const   *)(& xpp), (xdemitconf_t const   *)(& xecfg));
    if (tmp___11) {
      error((char const   *)"unable to generate patch-id diff for %s", (p___0->one)->path);
      tmp___10 = const_error();
      return (tmp___10);
    }
    if (stable) {
      flush_one_hunk(oid, & ctx___0);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! stable) {
    (*((the_repository->hash_algo)->final_oid_fn))(oid, & ctx___0);
  }
  return (0);
}
}
int diff_flush_patch_id(struct diff_options *options , struct object_id *oid , int diff_header_only ,
                        int stable )
{
  struct diff_queue_struct *q ;
  int i ;
  int result___0 ;
  int tmp ;
  int tmp___0 ;

  {
  q = & diff_queued_diff;
  tmp = diff_get_patch_id(options, oid, diff_header_only, stable);
  result___0 = tmp;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break;
    }
    diff_free_filepair(*(q->queue + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)q->queue);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    q->queue = (struct diff_filepair **)((void *)0);
    tmp___0 = 0;
    q->alloc = tmp___0;
    q->nr = tmp___0;
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (result___0);
}
}
static int is_summary_empty(struct diff_queue_struct  const  *q )
{
  int i ;
  struct diff_filepair  const  *p___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (int )q->nr)) {
      goto while_break;
    }
    p___0 = (struct diff_filepair  const  *)*(q->queue + i);
    {
    if ((int )p___0->status == 82) {
      goto case_82;
    }
    if ((int )p___0->status == 67) {
      goto case_82;
    }
    if ((int )p___0->status == 65) {
      goto case_82;
    }
    if ((int )p___0->status == 68) {
      goto case_82;
    }
    goto switch_default;
    case_82: /* CIL Label */
    case_67: /* CIL Label */
    case_65: /* CIL Label */
    case_68: /* CIL Label */
    return (0);
    switch_default: /* CIL Label */
    if (p___0->score) {
      return (0);
    }
    if ((p___0->one)->mode) {
      if ((p___0->two)->mode) {
        if ((int )(p___0->one)->mode != (int )(p___0->two)->mode) {
          return (0);
        }
      }
    }
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static char const   rename_limit_warning[63]  =
  {      (char const   )'e',      (char const   )'x',      (char const   )'h',      (char const   )'a',
        (char const   )'u',      (char const   )'s',      (char const   )'t',      (char const   )'i',
        (char const   )'v',      (char const   )'e',      (char const   )' ',      (char const   )'r',
        (char const   )'e',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )' ',      (char const   )'d',      (char const   )'e',
        (char const   )'t',      (char const   )'e',      (char const   )'c',      (char const   )'t',
        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )' ',
        (char const   )'w',      (char const   )'a',      (char const   )'s',      (char const   )' ',
        (char const   )'s',      (char const   )'k',      (char const   )'i',      (char const   )'p',
        (char const   )'p',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'d',      (char const   )'u',      (char const   )'e',      (char const   )' ',
        (char const   )'t',      (char const   )'o',      (char const   )' ',      (char const   )'t',
        (char const   )'o',      (char const   )'o',      (char const   )' ',      (char const   )'m',
        (char const   )'a',      (char const   )'n',      (char const   )'y',      (char const   )' ',
        (char const   )'f',      (char const   )'i',      (char const   )'l',      (char const   )'e',
        (char const   )'s',      (char const   )'.',      (char const   )'\000'};
static char const   degrade_cc_to_c_warning[61]  =
  {      (char const   )'o',      (char const   )'n',      (char const   )'l',      (char const   )'y',
        (char const   )' ',      (char const   )'f',      (char const   )'o',      (char const   )'u',
        (char const   )'n',      (char const   )'d',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'p',      (char const   )'i',      (char const   )'e',
        (char const   )'s',      (char const   )' ',      (char const   )'f',      (char const   )'r',
        (char const   )'o',      (char const   )'m',      (char const   )' ',      (char const   )'m',
        (char const   )'o',      (char const   )'d',      (char const   )'i',      (char const   )'f',
        (char const   )'i',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'p',      (char const   )'a',      (char const   )'t',      (char const   )'h',
        (char const   )'s',      (char const   )' ',      (char const   )'d',      (char const   )'u',
        (char const   )'e',      (char const   )' ',      (char const   )'t',      (char const   )'o',
        (char const   )' ',      (char const   )'t',      (char const   )'o',      (char const   )'o',
        (char const   )' ',      (char const   )'m',      (char const   )'a',      (char const   )'n',
        (char const   )'y',      (char const   )' ',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )'s',      (char const   )'.',
        (char const   )'\000'};
static char const   rename_limit_advice[75]  =
  {      (char const   )'y',      (char const   )'o',      (char const   )'u',      (char const   )' ',
        (char const   )'m',      (char const   )'a',      (char const   )'y',      (char const   )' ',
        (char const   )'w',      (char const   )'a',      (char const   )'n',      (char const   )'t',
        (char const   )' ',      (char const   )'t',      (char const   )'o',      (char const   )' ',
        (char const   )'s',      (char const   )'e',      (char const   )'t',      (char const   )' ',
        (char const   )'y',      (char const   )'o',      (char const   )'u',      (char const   )'r',
        (char const   )' ',      (char const   )'%',      (char const   )'s',      (char const   )' ',
        (char const   )'v',      (char const   )'a',      (char const   )'r',      (char const   )'i',
        (char const   )'a',      (char const   )'b',      (char const   )'l',      (char const   )'e',
        (char const   )' ',      (char const   )'t',      (char const   )'o',      (char const   )' ',
        (char const   )'a',      (char const   )'t',      (char const   )' ',      (char const   )'l',
        (char const   )'e',      (char const   )'a',      (char const   )'s',      (char const   )'t',
        (char const   )' ',      (char const   )'%',      (char const   )'d',      (char const   )' ',
        (char const   )'a',      (char const   )'n',      (char const   )'d',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'t',      (char const   )'r',
        (char const   )'y',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )' ',      (char const   )'c',      (char const   )'o',
        (char const   )'m',      (char const   )'m',      (char const   )'a',      (char const   )'n',
        (char const   )'d',      (char const   )'.',      (char const   )'\000'};
void diff_warn_rename_limit(char const   *varname , int needed , int degraded_cc )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  fflush(stdout);
  if (degraded_cc) {
    tmp = _(degrade_cc_to_c_warning);
    warning((char const   *)tmp);
  } else
  if (needed) {
    tmp___0 = _(rename_limit_warning);
    warning((char const   *)tmp___0);
  } else {
    return;
  }
  if (0 < needed) {
    tmp___1 = _(rename_limit_advice);
    warning((char const   *)tmp___1, varname, needed);
  }
  return;
}
}
static void diff_flush_patch_all_file_pairs(struct diff_options *o ) ;
static struct emitted_diff_symbols esm  =    {(struct emitted_diff_symbol *)0, 0, 0};
static void diff_flush_patch_all_file_pairs(struct diff_options *o )
{
  int i ;
  struct diff_queue_struct *q ;
  struct diff_filepair *p___0 ;
  int tmp ;
  struct mem_pool entry_pool ;
  struct moved_entry_list *entry_list ;

  {
  q = & diff_queued_diff;
  if ((1 << 12) & 07777) {
    BUG_fl((char const   *)"diff.c", 6286, (char const   *)"WS rules bit mask overlaps with diff symbol flags");
  }
  if (o->color_moved) {
    o->emitted_symbols = & esm;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break;
    }
    p___0 = *(q->queue + i);
    tmp = check_pair_status(p___0);
    if (tmp) {
      diff_flush_patch(p___0, o);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (o->emitted_symbols) {
    if (o->color_moved) {
      mem_pool_init(& entry_pool, (size_t )1048576);
      entry_list = add_lines_to_move_detection(o, & entry_pool);
      mark_color_as_moved(o, entry_list);
      if ((unsigned int )o->color_moved == 4U) {
        dim_moved_lines(o);
      }
      mem_pool_discard(& entry_pool, 0);
      free((void *)entry_list);
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < esm.nr)) {
        goto while_break___0;
      }
      emit_diff_symbol_from_struct(o, esm.buf + i);
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < esm.nr)) {
        goto while_break___1;
      }
      free((void *)(esm.buf + i)->line);
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    esm.nr = 0;
    o->emitted_symbols = (struct emitted_diff_symbols *)((void *)0);
  }
  return;
}
}
static void diff_free_file(struct diff_options *options )
{


  {
  if (options->close_file) {
    fclose(options->file);
  }
  return;
}
}
static void diff_free_ignore_regex(struct diff_options *options )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < options->ignore_regex_nr)) {
      goto while_break;
    }
    regfree(*(options->ignore_regex + i));
    free((void *)*(options->ignore_regex + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)options->ignore_regex);
  return;
}
}
void diff_free(struct diff_options *options )
{


  {
  if (options->no_free) {
    return;
  }
  diff_free_file(options);
  diff_free_ignore_regex(options);
  return;
}
}
void diff_flush(struct diff_options *options )
{
  struct diff_queue_struct *q ;
  int i ;
  int output_format ;
  int separator ;
  int dirstat_by_line ;
  struct diff_filepair *p___0 ;
  int tmp ;
  struct diffstat_t diffstat ;
  int tmp___0 ;
  struct diff_filepair *p___1 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  q = & diff_queued_diff;
  output_format = options->output_format;
  separator = 0;
  dirstat_by_line = 0;
  if (! q->nr) {
    goto free_queue;
  }
  if (output_format & 1793) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < q->nr)) {
        goto while_break;
      }
      p___0 = *(q->queue + i);
      tmp = check_pair_status(p___0);
      if (tmp) {
        flush_one_pair(p___0, options);
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    separator ++;
  }
  if (output_format & 0x0040) {
    if (options->flags.dirstat_by_line) {
      dirstat_by_line = 1;
    }
  }
  if (output_format & 38) {
    goto _L;
  } else
  if (dirstat_by_line) {
    _L: /* CIL Label */
    compute_diffstat(options, & diffstat, q);
    if (output_format & 0x0004) {
      show_numstat(& diffstat, options);
    }
    if (output_format & 0x0002) {
      show_stats___0(& diffstat, options);
    }
    if (output_format & 0x0020) {
      show_shortstats(& diffstat, options);
    }
    if (output_format & 0x0040) {
      if (dirstat_by_line) {
        show_dirstat_by_line(& diffstat, options);
      }
    }
    free_diffstat_info(& diffstat);
    separator ++;
  }
  if (output_format & 0x0040) {
    if (! dirstat_by_line) {
      show_dirstat(options);
    }
  }
  if (output_format & 0x0008) {
    tmp___0 = is_summary_empty((struct diff_queue_struct  const  *)q);
    if (! tmp___0) {
      i = 0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (i < q->nr)) {
          goto while_break___0;
        }
        diff_summary(options, *(q->queue + i));
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      separator ++;
    }
  }
  if (output_format & 0x0800) {
    if (options->flags.exit_with_status) {
      if (options->flags.diff_from_contents) {
        diff_free_file(options);
        options->file = xfopen((char const   *)"/dev/null", (char const   *)"w");
        options->close_file = 1;
        options->color_moved = (enum __anonenum_color_moved_62231619 )0;
        i = 0;
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          if (! (i < q->nr)) {
            goto while_break___1;
          }
          p___1 = *(q->queue + i);
          tmp___1 = check_pair_status(p___1);
          if (tmp___1) {
            diff_flush_patch(p___1, options);
          }
          if (options->found_changes) {
            goto while_break___1;
          }
          i ++;
        }
        while_break___1: /* CIL Label */ ;
        }
      }
    }
  }
  if (output_format & 0x0010) {
    if (separator) {
      emit_diff_symbol(options, (enum diff_symbol )33, (char const   *)((void *)0),
                       0, 0U);
      if (options->stat_sep) {
        emit_diff_symbol(options, (enum diff_symbol )10, (char const   *)((void *)0),
                         0, 0U);
      }
    }
    diff_flush_patch_all_file_pairs(options);
  }
  if (output_format & 0x1000) {
    (*(options->format_callback))(q, options, options->format_callback_data);
  }
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break___2;
    }
    diff_free_filepair(*(q->queue + i));
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  free_queue:
  free((void *)q->queue);
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    q->queue = (struct diff_filepair **)((void *)0);
    tmp___2 = 0;
    q->alloc = tmp___2;
    q->nr = tmp___2;
    goto while_break___3;
  }
  while_break___3: /* CIL Label */ ;
  }
  diff_free(options);
  if (options->flags.diff_from_contents) {
    if (options->found_changes) {
      options->flags.has_changes = 1U;
    } else {
      options->flags.has_changes = 0U;
    }
  }
  return;
}
}
static int match_filter(struct diff_options  const  *options , struct diff_filepair  const  *p___0 )
{
  unsigned int tmp ;
  unsigned int tmp___0 ;
  unsigned int tmp___1 ;
  int tmp___2 ;

  {
  if ((int )p___0->status == 77) {
    if (p___0->score) {
      tmp = filter_bit_tst((char )'B', options);
      if (tmp) {
        tmp___2 = 1;
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if (! p___0->score) {
      tmp___0 = filter_bit_tst((char )'M', options);
      if (tmp___0) {
        tmp___2 = 1;
      } else {
        goto _L;
      }
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if ((int )p___0->status != 77) {
    tmp___1 = filter_bit_tst((char )p___0->status, options);
    if (tmp___1) {
      tmp___2 = 1;
    } else {
      tmp___2 = 0;
    }
  } else {
    tmp___2 = 0;
  }
  return (tmp___2);
}
}
static void diffcore_apply_filter(struct diff_options *options )
{
  int i ;
  struct diff_queue_struct *q ;
  struct diff_queue_struct outq ;
  int found ;
  int tmp ;
  struct diff_filepair *p___0 ;
  int tmp___0 ;
  unsigned int tmp___1 ;

  {
  q = & diff_queued_diff;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    outq.queue = (struct diff_filepair **)((void *)0);
    outq.alloc = 0;
    outq.nr = outq.alloc;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (! options->filter) {
    return;
  }
  tmp___1 = filter_bit_tst((char )'*', (struct diff_options  const  *)options);
  if (tmp___1) {
    found = 0;
    i = found;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! found) {
        if (! (i < q->nr)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      tmp = match_filter((struct diff_options  const  *)options, (struct diff_filepair  const  *)*(q->queue + i));
      if (tmp) {
        found ++;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (found) {
      return;
    }
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < q->nr)) {
        goto while_break___1;
      }
      diff_free_filepair(*(q->queue + i));
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
  } else {
    i = 0;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (i < q->nr)) {
        goto while_break___2;
      }
      p___0 = *(q->queue + i);
      tmp___0 = match_filter((struct diff_options  const  *)options, (struct diff_filepair  const  *)p___0);
      if (tmp___0) {
        diff_q(& outq, p___0);
      } else {
        diff_free_filepair(p___0);
      }
      i ++;
    }
    while_break___2: /* CIL Label */ ;
    }
  }
  free((void *)q->queue);
  *q = outq;
  return;
}
}
static int diff_filespec_is_identical(struct repository *r , struct diff_filespec *one___0 ,
                                      struct diff_filespec *two___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (((int )one___0->mode & 0170000) == 0160000) {
    return (0);
  }
  tmp = diff_populate_filespec(r, one___0, (struct diff_populate_filespec_options  const  *)((void *)0));
  if (tmp) {
    return (0);
  }
  tmp___0 = diff_populate_filespec(r, two___0, (struct diff_populate_filespec_options  const  *)((void *)0));
  if (tmp___0) {
    return (0);
  }
  tmp___1 = memcmp((void const   *)one___0->data, (void const   *)two___0->data, one___0->size);
  if (tmp___1) {
    tmp___2 = 0;
  } else {
    tmp___2 = 1;
  }
  return (tmp___2);
}
}
static int diff_filespec_check_stat_unmatch(struct repository *r , struct diff_filepair *p___0 )
{
  struct diff_populate_filespec_options dpf_options ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  dpf_options.check_size_only = 1U;
  dpf_options.check_binary = 0U;
  dpf_options.missing_object_cb = & diff_queued_diff_prefetch;
  dpf_options.missing_object_data = (void *)r;
  if (p___0->done_skip_stat_unmatch) {
    return ((int )p___0->skip_stat_unmatch_result);
  }
  p___0->done_skip_stat_unmatch = 1U;
  p___0->skip_stat_unmatch_result = 0U;
  if (! ((int )(p___0->one)->mode != 0)) {
    p___0->skip_stat_unmatch_result = 1U;
  } else
  if (! ((int )(p___0->two)->mode != 0)) {
    p___0->skip_stat_unmatch_result = 1U;
  } else
  if ((p___0->one)->oid_valid) {
    if ((p___0->two)->oid_valid) {
      p___0->skip_stat_unmatch_result = 1U;
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if ((int )(p___0->one)->mode != (int )(p___0->two)->mode) {
    p___0->skip_stat_unmatch_result = 1U;
  } else {
    tmp = diff_populate_filespec(r, p___0->one, (struct diff_populate_filespec_options  const  *)(& dpf_options));
    if (tmp) {
      p___0->skip_stat_unmatch_result = 1U;
    } else {
      tmp___0 = diff_populate_filespec(r, p___0->two, (struct diff_populate_filespec_options  const  *)(& dpf_options));
      if (tmp___0) {
        p___0->skip_stat_unmatch_result = 1U;
      } else
      if ((p___0->one)->size != (p___0->two)->size) {
        p___0->skip_stat_unmatch_result = 1U;
      } else {
        tmp___1 = diff_filespec_is_identical(r, p___0->one, p___0->two);
        if (! tmp___1) {
          p___0->skip_stat_unmatch_result = 1U;
        }
      }
    }
  }
  return ((int )p___0->skip_stat_unmatch_result);
}
}
static void diffcore_skip_stat_unmatch(struct diff_options *diffopt )
{
  int i ;
  struct diff_queue_struct *q ;
  struct diff_queue_struct outq ;
  struct diff_filepair *p___0 ;
  int tmp ;

  {
  q = & diff_queued_diff;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    outq.queue = (struct diff_filepair **)((void *)0);
    outq.alloc = 0;
    outq.nr = outq.alloc;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break___0;
    }
    p___0 = *(q->queue + i);
    tmp = diff_filespec_check_stat_unmatch(diffopt->repo, p___0);
    if (tmp) {
      diff_q(& outq, p___0);
    } else {
      if (! diffopt->flags.no_index) {
        (diffopt->skip_stat_unmatch) ++;
      }
      diff_free_filepair(p___0);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)q->queue);
  *q = outq;
  return;
}
}
static int diffnamecmp(void const   *a_ , void const   *b_ )
{
  struct diff_filepair  const  *a ;
  struct diff_filepair  const  *b___0 ;
  char const   *name_a ;
  char const   *name_b ;
  int tmp ;

  {
  a = *((struct diff_filepair  const  **)a_);
  b___0 = *((struct diff_filepair  const  **)b_);
  if (a->one) {
    name_a = (char const   *)(a->one)->path;
  } else {
    name_a = (char const   *)(a->two)->path;
  }
  if (b___0->one) {
    name_b = (char const   *)(b___0->one)->path;
  } else {
    name_b = (char const   *)(b___0->two)->path;
  }
  tmp = strcmp(name_a, name_b);
  return (tmp);
}
}
void diffcore_fix_diff_index(void)
{
  struct diff_queue_struct *q ;

  {
  q = & diff_queued_diff;
  sane_qsort((void *)q->queue, (size_t )q->nr, sizeof(*(q->queue)), & diffnamecmp);
  return;
}
}
void diff_add_if_missing(struct repository *r , struct oid_array *to_fetch , struct diff_filespec  const  *filespec )
{
  int tmp ;

  {
  if (filespec) {
    if (filespec->oid_valid) {
      if (! (((int )filespec->mode & 61440) == 57344)) {
        tmp = oid_object_info_extended(r, (struct object_id  const  *)(& filespec->oid),
                                       (struct object_info *)((void *)0), 40U);
        if (tmp) {
          oid_array_append(to_fetch, (struct object_id  const  *)(& filespec->oid));
        }
      }
    }
  }
  return;
}
}
void diff_queued_diff_prefetch(void *repository )
{
  struct repository *repo ;
  int i ;
  struct diff_queue_struct *q ;
  struct oid_array to_fetch ;
  struct diff_filepair *p___0 ;

  {
  repo = (struct repository *)repository;
  q = & diff_queued_diff;
  to_fetch.oid = (struct object_id *)0;
  to_fetch.nr = 0UL;
  to_fetch.alloc = 0UL;
  to_fetch.sorted = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break;
    }
    p___0 = *(q->queue + i);
    diff_add_if_missing(repo, & to_fetch, (struct diff_filespec  const  *)p___0->one);
    diff_add_if_missing(repo, & to_fetch, (struct diff_filespec  const  *)p___0->two);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  promisor_remote_get_direct(repo, (struct object_id  const  *)to_fetch.oid, (int )to_fetch.nr);
  oid_array_clear(& to_fetch);
  return;
}
}
void diffcore_std(struct diff_options *options )
{
  int output_formats_to_prefetch ;
  int tmp ;

  {
  output_formats_to_prefetch = 118;
  if ((unsigned long )options->repo == (unsigned long )the_repository) {
    tmp = has_promisor_remote();
    if (tmp) {
      if (options->output_format & output_formats_to_prefetch) {
        diff_queued_diff_prefetch((void *)options->repo);
      } else
      if (options->pickaxe_opts & 28U) {
        diff_queued_diff_prefetch((void *)options->repo);
      }
    }
  }
  if (options->skip_stat_unmatch) {
    diffcore_skip_stat_unmatch(options);
  }
  if (! options->found_follow) {
    if (options->break_opt != -1) {
      diffcore_break(options->repo, options->break_opt);
    }
    if (options->detect_rename) {
      diffcore_rename(options);
    }
    if (options->break_opt != -1) {
      diffcore_merge_broken();
    }
  }
  if (options->pickaxe_opts & 28U) {
    diffcore_pickaxe(options);
  }
  if (options->orderfile) {
    diffcore_order(options->orderfile);
  }
  if (options->rotate_to) {
    diffcore_rotate(options);
  }
  if (! options->found_follow) {
    diff_resolve_rename_copy();
  }
  diffcore_apply_filter(options);
  if (diff_queued_diff.nr) {
    if (! options->flags.diff_from_contents) {
      options->flags.has_changes = 1U;
    } else {
      options->flags.has_changes = 0U;
    }
  } else {
    options->flags.has_changes = 0U;
  }
  options->found_follow = 0;
  return;
}
}
int diff_result_code(struct diff_options *opt___0 , int status )
{
  int result___0 ;

  {
  result___0 = 0;
  diff_warn_rename_limit((char const   *)"diff.renameLimit", opt___0->needed_rename_limit,
                         opt___0->degraded_cc_to_c);
  if (! opt___0->flags.exit_with_status) {
    if (! (opt___0->output_format & 0x0400)) {
      return (status);
    }
  }
  if (opt___0->flags.exit_with_status) {
    if (opt___0->flags.has_changes) {
      result___0 |= 01;
    }
  }
  if (opt___0->output_format & 0x0400) {
    if (opt___0->flags.check_failed) {
      result___0 |= 02;
    }
  }
  return (result___0);
}
}
int diff_can_quit_early(struct diff_options *opt___0 )
{
  int tmp ;

  {
  if (opt___0->flags.quick) {
    if (! opt___0->filter) {
      if (opt___0->flags.has_changes) {
        tmp = 1;
      } else {
        tmp = 0;
      }
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static int is_submodule_ignored(char const   *path___6 , struct diff_options *options )
{
  int ignored ;
  struct diff_flags orig_flags ;

  {
  ignored = 0;
  orig_flags = options->flags;
  if (! options->flags.override_submodule_config) {
    set_diffopt_flags_from_submodule_config(options, path___6);
  }
  if (options->flags.ignore_submodules) {
    ignored = 1;
  }
  options->flags = orig_flags;
  return (ignored);
}
}
void compute_diffstat(struct diff_options *options , struct diffstat_t *diffstat ,
                      struct diff_queue_struct *q )
{
  int i ;
  struct diff_filepair *p___0 ;
  int tmp ;

  {
  memset((void *)diffstat, 0, sizeof(struct diffstat_t ));
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break;
    }
    p___0 = *(q->queue + i);
    tmp = check_pair_status(p___0);
    if (tmp) {
      diff_flush_stat(p___0, options, diffstat);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void diff_addremove(struct diff_options *options , int addremove___0 , unsigned int mode___1 ,
                    struct object_id  const  *oid , int oid_valid , char const   *concatpath ,
                    unsigned int dirty_submodule )
{
  struct diff_filespec *one___0 ;
  struct diff_filespec *two___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if ((mode___1 & 61440U) == 57344U) {
    tmp = is_submodule_ignored(concatpath, options);
    if (tmp) {
      return;
    }
  }
  if (options->flags.reverse_diff) {
    if (addremove___0 == 43) {
      addremove___0 = '-';
    } else {
      if (addremove___0 == 45) {
        tmp___0 = '+';
      } else {
        tmp___0 = addremove___0;
      }
      addremove___0 = tmp___0;
    }
  }
  if (options->prefix) {
    tmp___1 = strncmp(concatpath, options->prefix, (size_t )options->prefix_length);
    if (tmp___1) {
      return;
    }
  }
  one___0 = alloc_filespec(concatpath);
  two___0 = alloc_filespec(concatpath);
  if (addremove___0 != 43) {
    fill_filespec(one___0, oid, oid_valid, (unsigned short )mode___1);
  }
  if (addremove___0 != 45) {
    fill_filespec(two___0, oid, oid_valid, (unsigned short )mode___1);
    two___0->dirty_submodule = dirty_submodule;
  }
  diff_queue(& diff_queued_diff, one___0, two___0);
  if (! options->flags.diff_from_contents) {
    options->flags.has_changes = 1U;
  }
  return;
}
}
void diff_change(struct diff_options *options , unsigned int old_mode , unsigned int new_mode ,
                 struct object_id  const  *old_oid , struct object_id  const  *new_oid ,
                 int old_oid_valid , int new_oid_valid , char const   *concatpath ,
                 unsigned int old_dirty_submodule , unsigned int new_dirty_submodule )
{
  struct diff_filespec *one___0 ;
  struct diff_filespec *two___0 ;
  struct diff_filepair *p___0 ;
  int tmp ;
  void *_swap_a_ptr ;
  void *_swap_b_ptr ;
  unsigned char _swap_buffer[sizeof(old_mode)] ;
  void *_swap_a_ptr___0 ;
  void *_swap_b_ptr___0 ;
  unsigned char _swap_buffer___0[sizeof(old_oid)] ;
  void *_swap_a_ptr___1 ;
  void *_swap_b_ptr___1 ;
  unsigned char _swap_buffer___1[sizeof(old_oid_valid)] ;
  void *_swap_a_ptr___2 ;
  void *_swap_b_ptr___2 ;
  unsigned char _swap_buffer___2[sizeof(old_dirty_submodule)] ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if ((old_mode & 61440U) == 57344U) {
    if ((new_mode & 61440U) == 57344U) {
      tmp = is_submodule_ignored(concatpath, options);
      if (tmp) {
        return;
      }
    }
  }
  if (options->flags.reverse_diff) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      _swap_a_ptr = (void *)(& old_mode);
      _swap_b_ptr = (void *)(& new_mode);
      memcpy((void *)(_swap_buffer), (void const   *)_swap_a_ptr, sizeof(old_mode));
      memcpy(_swap_a_ptr, (void const   *)_swap_b_ptr, sizeof(old_mode) + (sizeof(char [1]) - 1UL));
      memcpy(_swap_b_ptr, (void const   *)(_swap_buffer), sizeof(old_mode));
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      _swap_a_ptr___0 = (void *)(& old_oid);
      _swap_b_ptr___0 = (void *)(& new_oid);
      memcpy((void *)(_swap_buffer___0), (void const   *)_swap_a_ptr___0, sizeof(old_oid));
      memcpy(_swap_a_ptr___0, (void const   *)_swap_b_ptr___0, sizeof(old_oid) + (sizeof(char [1]) - 1UL));
      memcpy(_swap_b_ptr___0, (void const   *)(_swap_buffer___0), sizeof(old_oid));
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      _swap_a_ptr___1 = (void *)(& old_oid_valid);
      _swap_b_ptr___1 = (void *)(& new_oid_valid);
      memcpy((void *)(_swap_buffer___1), (void const   *)_swap_a_ptr___1, sizeof(old_oid_valid));
      memcpy(_swap_a_ptr___1, (void const   *)_swap_b_ptr___1, sizeof(old_oid_valid) + (sizeof(char [1]) - 1UL));
      memcpy(_swap_b_ptr___1, (void const   *)(_swap_buffer___1), sizeof(old_oid_valid));
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      _swap_a_ptr___2 = (void *)(& old_dirty_submodule);
      _swap_b_ptr___2 = (void *)(& new_dirty_submodule);
      memcpy((void *)(_swap_buffer___2), (void const   *)_swap_a_ptr___2, sizeof(old_dirty_submodule));
      memcpy(_swap_a_ptr___2, (void const   *)_swap_b_ptr___2, sizeof(old_dirty_submodule) + (sizeof(char [1]) - 1UL));
      memcpy(_swap_b_ptr___2, (void const   *)(_swap_buffer___2), sizeof(old_dirty_submodule));
      goto while_break___2;
    }
    while_break___2: /* CIL Label */ ;
    }
  }
  if (options->prefix) {
    tmp___0 = strncmp(concatpath, options->prefix, (size_t )options->prefix_length);
    if (tmp___0) {
      return;
    }
  }
  one___0 = alloc_filespec(concatpath);
  two___0 = alloc_filespec(concatpath);
  fill_filespec(one___0, old_oid, old_oid_valid, (unsigned short )old_mode);
  fill_filespec(two___0, new_oid, new_oid_valid, (unsigned short )new_mode);
  one___0->dirty_submodule = old_dirty_submodule;
  two___0->dirty_submodule = new_dirty_submodule;
  p___0 = diff_queue(& diff_queued_diff, one___0, two___0);
  if (options->flags.diff_from_contents) {
    return;
  }
  if (options->flags.quick) {
    if (options->skip_stat_unmatch) {
      tmp___1 = diff_filespec_check_stat_unmatch(options->repo, p___0);
      if (! tmp___1) {
        diff_free_filespec_data(p___0->one);
        diff_free_filespec_data(p___0->two);
        return;
      }
    }
  }
  options->flags.has_changes = 1U;
  return;
}
}
struct diff_filepair *diff_unmerge(struct diff_options *options , char const   *path___6 )
{
  struct diff_filepair *pair ;
  struct diff_filespec *one___0 ;
  struct diff_filespec *two___0 ;
  int tmp ;

  {
  if (options->prefix) {
    tmp = strncmp(path___6, options->prefix, (size_t )options->prefix_length);
    if (tmp) {
      return ((struct diff_filepair *)((void *)0));
    }
  }
  one___0 = alloc_filespec(path___6);
  two___0 = alloc_filespec(path___6);
  pair = diff_queue(& diff_queued_diff, one___0, two___0);
  pair->is_unmerged = 1U;
  return (pair);
}
}
static char *run_textconv(struct repository *r , char const   *pgm___0 , struct diff_filespec *spec ,
                          size_t *outsize )
{
  struct diff_tempfile *temp ;
  struct child_process child ;
  struct strbuf buf___19 ;
  int err___4 ;
  int tmp ;
  ssize_t tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;

  {
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  err___4 = 0;
  temp = prepare_temp_file(r, (char const   *)spec->path, spec);
  strvec_push(& child.args, pgm___0);
  strvec_push(& child.args, temp->name);
  child.use_shell = 1U;
  child.out = -1;
  tmp = start_command(& child);
  if (tmp) {
    remove_tempfile();
    return ((char *)((void *)0));
  }
  tmp___0 = strbuf_read(& buf___19, child.out, (size_t )0);
  if (tmp___0 < 0L) {
    error((char const   *)"error reading from textconv command \'%s\'", pgm___0);
    err___4 = const_error();
  }
  close(child.out);
  tmp___1 = finish_command(& child);
  if (tmp___1) {
    strbuf_release(& buf___19);
    remove_tempfile();
    return ((char *)((void *)0));
  } else
  if (err___4) {
    strbuf_release(& buf___19);
    remove_tempfile();
    return ((char *)((void *)0));
  }
  remove_tempfile();
  tmp___2 = strbuf_detach(& buf___19, outsize);
  return (tmp___2);
}
}
size_t fill_textconv(struct repository *r , struct userdiff_driver *driver , struct diff_filespec *df ,
                     char **outbuf )
{
  size_t size ;
  int tmp ;

  {
  if (! driver) {
    if (! ((int )df->mode != 0)) {
      *outbuf = "";
      return ((size_t )0);
    }
    tmp = diff_populate_filespec(r, df, (struct diff_populate_filespec_options  const  *)((void *)0));
    if (tmp) {
      die((char const   *)"unable to read files to diff");
    }
    *outbuf = (char *)df->data;
    return (df->size);
  }
  if (! driver->textconv) {
    BUG_fl((char const   *)"diff.c", 6917, (char const   *)"fill_textconv called with non-textconv driver");
  }
  if (driver->textconv_cache) {
    if (df->oid_valid) {
      *outbuf = notes_cache_get(driver->textconv_cache, & df->oid, & size);
      if (*outbuf) {
        return (size);
      }
    }
  }
  *outbuf = run_textconv(r, driver->textconv, df, & size);
  if (! *outbuf) {
    die((char const   *)"unable to read files to diff");
  }
  if (driver->textconv_cache) {
    if (df->oid_valid) {
      notes_cache_put(driver->textconv_cache, & df->oid, (char const   *)*outbuf,
                      size);
      notes_cache_write(driver->textconv_cache);
    }
  }
  return (size);
}
}
int textconv_object(struct repository *r , char const   *path___6 , unsigned int mode___1 ,
                    struct object_id  const  *oid , int oid_valid , char **buf___19 ,
                    unsigned long *buf_size )
{
  struct diff_filespec *df ;
  struct userdiff_driver *textconv ;

  {
  df = alloc_filespec(path___6);
  fill_filespec(df, oid, oid_valid, (unsigned short )mode___1);
  textconv = get_textconv(r, df);
  if (! textconv) {
    free_filespec(df);
    return (0);
  }
  *buf_size = fill_textconv(r, textconv, df, buf___19);
  free_filespec(df);
  return (1);
}
}
void setup_diff_pager(struct diff_options *opt___0 )
{
  int tmp ;

  {
  if (! opt___0->flags.exit_with_status) {
    tmp = check_pager_config((char const   *)"diff");
    if (tmp != 0) {
      setup_pager();
    }
  }
  return;
}
}
static double const   __ac_HASH_UPPER___26  =    (double const   )0.77;
__inline static void kh_resize_oid_set___26(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___26(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___26 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___26 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___26(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___26(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___26(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___26(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___26(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___26(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___26 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___26 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___26(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___26(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___26(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___26(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___26(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___26(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___26 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___26 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___26(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___26(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___26(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___26(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int should_break(struct repository *r , struct diff_filespec *src , struct diff_filespec *dst ,
                        int break_score , int *merge_score_p )
{
  unsigned long delta_size ;
  unsigned long max_size___0 ;
  unsigned long src_copied ;
  unsigned long literal_added ;
  unsigned long src_removed ;
  struct diff_populate_filespec_options options ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  options.check_size_only = 0U;
  options.check_binary = 0U;
  options.missing_object_cb = (void (*)(void * ))0;
  options.missing_object_data = (void *)0;
  *merge_score_p = 0;
  if ((((int )src->mode & 0170000) == 0100000) != (((int )dst->mode & 0170000) == 0100000)) {
    *merge_score_p = (int )60000.0;
    return (1);
  }
  if (src->oid_valid) {
    if (dst->oid_valid) {
      tmp = oideq((struct object_id  const  *)(& src->oid), (struct object_id  const  *)(& dst->oid));
      if (tmp) {
        return (0);
      }
    }
  }
  if ((unsigned long )r == (unsigned long )the_repository) {
    tmp___0 = has_promisor_remote();
    if (tmp___0) {
      options.missing_object_cb = & diff_queued_diff_prefetch;
      options.missing_object_data = (void *)r;
    }
  }
  tmp___1 = diff_populate_filespec(r, src, (struct diff_populate_filespec_options  const  *)(& options));
  if (tmp___1) {
    return (0);
  } else {
    tmp___2 = diff_populate_filespec(r, dst, (struct diff_populate_filespec_options  const  *)(& options));
    if (tmp___2) {
      return (0);
    }
  }
  if (src->size > dst->size) {
    max_size___0 = src->size;
  } else {
    max_size___0 = dst->size;
  }
  if (max_size___0 < 400UL) {
    return (0);
  }
  if (! src->size) {
    return (0);
  }
  tmp___3 = diffcore_count_changes(r, src, dst, & src->cnt_data, & dst->cnt_data,
                                   & src_copied, & literal_added);
  if (tmp___3) {
    return (0);
  }
  if (src->size < src_copied) {
    src_copied = src->size;
  }
  if (dst->size < literal_added + src_copied) {
    if (src_copied < dst->size) {
      literal_added = dst->size - src_copied;
    } else {
      literal_added = 0UL;
    }
  }
  src_removed = src->size - src_copied;
  *merge_score_p = (int )(((double )src_removed * 60000.0) / (double )src->size);
  if (*merge_score_p > break_score) {
    return (1);
  }
  delta_size = src_removed + literal_added;
  if (((double )delta_size * 60000.0) / (double )max_size___0 < (double )break_score) {
    return (0);
  }
  if ((double )(src->size * (unsigned long )break_score) < (double )src_removed * 60000.0) {
    if (literal_added * 20UL < src_removed) {
      if (literal_added * 20UL < src_copied) {
        return (0);
      }
    }
  }
  return (1);
}
}
void diffcore_break(struct repository *r , int break_score )
{
  struct diff_queue_struct *q ;
  struct diff_queue_struct outq ;
  int merge_score ;
  int i ;
  struct diff_filepair *p___0 ;
  int score ;
  struct diff_filespec *null_one ;
  struct diff_filespec *null_two ;
  struct diff_filepair *dp ;
  int tmp ;
  enum object_type tmp___0 ;
  enum object_type tmp___1 ;
  int tmp___2 ;

  {
  q = & diff_queued_diff;
  merge_score = (break_score >> 16) & 0xFFFF;
  break_score &= 0xFFFF;
  if (! break_score) {
    break_score = 30000;
  }
  if (! merge_score) {
    merge_score = 36000;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    outq.queue = (struct diff_filepair **)((void *)0);
    outq.alloc = 0;
    outq.nr = outq.alloc;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break___0;
    }
    p___0 = *(q->queue + i);
    if ((int )(p___0->one)->mode != 0) {
      if ((int )(p___0->two)->mode != 0) {
        tmp___0 = object_type((unsigned int )(p___0->one)->mode);
        if ((int )tmp___0 == 3) {
          tmp___1 = object_type((unsigned int )(p___0->two)->mode);
          if ((int )tmp___1 == 3) {
            tmp___2 = strcmp((char const   *)(p___0->one)->path, (char const   *)(p___0->two)->path);
            if (! tmp___2) {
              tmp = should_break(r, p___0->one, p___0->two, break_score, & score);
              if (tmp) {
                if (score < merge_score) {
                  score = 0;
                }
                null_one = alloc_filespec((char const   *)(p___0->one)->path);
                dp = diff_queue(& outq, p___0->one, null_one);
                dp->score = (unsigned short )score;
                dp->broken_pair = 1U;
                null_two = alloc_filespec((char const   *)(p___0->two)->path);
                dp = diff_queue(& outq, null_two, p___0->two);
                dp->score = (unsigned short )score;
                dp->broken_pair = 1U;
                diff_free_filespec_blob(p___0->one);
                diff_free_filespec_blob(p___0->two);
                free((void *)p___0);
                goto __Cont;
              }
            }
          }
        }
      }
    }
    diff_free_filespec_data(p___0->one);
    diff_free_filespec_data(p___0->two);
    diff_q(& outq, p___0);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)q->queue);
  *q = outq;
  return;
}
}
static void merge_broken(struct diff_filepair *p___0 , struct diff_filepair *pp ,
                         struct diff_queue_struct *outq )
{
  struct diff_filepair *c___0 ;
  struct diff_filepair *d ;
  struct diff_filepair *dp ;

  {
  c___0 = p___0;
  d = pp;
  if ((int )(p___0->one)->mode != 0) {
    d = p___0;
    c___0 = pp;
  }
  if (! ((int )(d->one)->mode != 0)) {
    die((char const   *)"internal error in merge #1");
  }
  if ((int )(d->two)->mode != 0) {
    die((char const   *)"internal error in merge #2");
  }
  if ((int )(c___0->one)->mode != 0) {
    die((char const   *)"internal error in merge #3");
  }
  if (! ((int )(c___0->two)->mode != 0)) {
    die((char const   *)"internal error in merge #4");
  }
  dp = diff_queue(outq, d->one, c___0->two);
  dp->score = p___0->score;
  ((d->one)->rename_used) ++;
  diff_free_filespec_data(d->two);
  diff_free_filespec_data(c___0->one);
  free((void *)d);
  free((void *)c___0);
  return;
}
}
void diffcore_merge_broken(void)
{
  struct diff_queue_struct *q ;
  struct diff_queue_struct outq ;
  int i ;
  int j ;
  struct diff_filepair *p___0 ;
  struct diff_filepair *pp ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  q = & diff_queued_diff;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    outq.queue = (struct diff_filepair **)((void *)0);
    outq.alloc = 0;
    outq.nr = outq.alloc;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break___0;
    }
    p___0 = *(q->queue + i);
    if (! p___0) {
      goto __Cont;
    } else
    if (p___0->broken_pair) {
      tmp___1 = strcmp((char const   *)(p___0->one)->path, (char const   *)(p___0->two)->path);
      if (tmp___1) {
        diff_q(& outq, p___0);
      } else {
        j = i + 1;
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          if (! (j < q->nr)) {
            goto while_break___1;
          }
          pp = *(q->queue + j);
          if (pp->broken_pair) {
            tmp = strcmp((char const   *)(pp->one)->path, (char const   *)(pp->two)->path);
            if (! tmp) {
              tmp___0 = strcmp((char const   *)(p___0->one)->path, (char const   *)(pp->two)->path);
              if (! tmp___0) {
                merge_broken(p___0, pp, & outq);
                *(q->queue + j) = (struct diff_filepair *)((void *)0);
                goto next;
              }
            }
          }
          j ++;
        }
        while_break___1: /* CIL Label */ ;
        }
        diff_q(& outq, p___0);
      }
    } else {
      diff_q(& outq, p___0);
    }
    next: ;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)q->queue);
  *q = outq;
  return;
}
}
static double const   __ac_HASH_UPPER___27  =    (double const   )0.77;
__inline static void kh_resize_oid_set___27(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___27(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___27 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___27 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___27(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___27(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___27(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___27(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___27(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___27(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___27 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___27 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___27(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___27(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___27(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___27(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___27(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___27(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___27 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___27 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___27(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___27(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___27(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___27(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static struct spanhash_top *spanhash_rehash(struct spanhash_top *orig )
{
  struct spanhash_top *new_spanhash ;
  int i ;
  int osz ;
  int sz ;
  size_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  struct spanhash *o ;
  int bucket___0 ;
  struct spanhash *h ;
  int tmp___2 ;

  {
  osz = 1 << orig->alloc_log2;
  sz = osz << 1;
  tmp = st_mult(sizeof(struct spanhash ), (size_t )sz);
  tmp___0 = st_add(sizeof(*orig), tmp);
  tmp___1 = xmalloc(tmp___0);
  new_spanhash = (struct spanhash_top *)tmp___1;
  new_spanhash->alloc_log2 = orig->alloc_log2 + 1;
  new_spanhash->free = ((1 << new_spanhash->alloc_log2) * (new_spanhash->alloc_log2 - 3)) / new_spanhash->alloc_log2;
  memset((void *)(new_spanhash->data), 0, sizeof(struct spanhash ) * (unsigned long )sz);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < osz)) {
      goto while_break;
    }
    o = & orig->data[i];
    if (! o->cnt) {
      goto __Cont;
    }
    bucket___0 = (int )(o->hashval & (unsigned int )(sz - 1));
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___2 = bucket___0;
      bucket___0 ++;
      h = & new_spanhash->data[tmp___2];
      if (! h->cnt) {
        h->hashval = o->hashval;
        h->cnt = o->cnt;
        (new_spanhash->free) --;
        goto while_break___0;
      }
      if (sz <= bucket___0) {
        bucket___0 = 0;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)orig);
  return (new_spanhash);
}
}
static struct spanhash_top *add_spanhash(struct spanhash_top *top , unsigned int hashval ,
                                         int cnt )
{
  int bucket___0 ;
  int lim ;
  struct spanhash *h ;
  int tmp ;
  struct spanhash_top *tmp___0 ;

  {
  lim = 1 << top->alloc_log2;
  bucket___0 = (int )(hashval & (unsigned int )(lim - 1));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = bucket___0;
    bucket___0 ++;
    h = & top->data[tmp];
    if (! h->cnt) {
      h->hashval = hashval;
      h->cnt = (unsigned int )cnt;
      (top->free) --;
      if (top->free < 0) {
        tmp___0 = spanhash_rehash(top);
        return (tmp___0);
      }
      return (top);
    }
    if (h->hashval == hashval) {
      h->cnt += (unsigned int )cnt;
      return (top);
    }
    if (lim <= bucket___0) {
      bucket___0 = 0;
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int spanhash_cmp(void const   *a_ , void const   *b_ )
{
  struct spanhash  const  *a ;
  struct spanhash  const  *b___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  a = (struct spanhash  const  *)a_;
  b___0 = (struct spanhash  const  *)b_;
  if (! a->cnt) {
    if (! b___0->cnt) {
      tmp = 0;
    } else {
      tmp = 1;
    }
    return (tmp);
  }
  if (! b___0->cnt) {
    return (-1);
  }
  if (a->hashval < b___0->hashval) {
    tmp___1 = -1;
  } else {
    if (a->hashval > b___0->hashval) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
    tmp___1 = tmp___0;
  }
  return (tmp___1);
}
}
static struct spanhash_top *hash_chars(struct repository *r , struct diff_filespec *one___0 )
{
  int i ;
  int n ;
  unsigned int accum1 ;
  unsigned int accum2 ;
  unsigned int hashval ;
  struct spanhash_top *hash___0 ;
  unsigned char *buf___19 ;
  unsigned int sz ;
  int is_text ;
  int tmp ;
  int tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;
  unsigned int c___0 ;
  unsigned char *tmp___4 ;
  unsigned int old_1 ;

  {
  buf___19 = (unsigned char *)one___0->data;
  sz = (unsigned int )one___0->size;
  tmp = diff_filespec_is_binary(r, one___0);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  is_text = tmp___0;
  i = 9;
  tmp___1 = st_mult(sizeof(struct spanhash ), 1UL << i);
  tmp___2 = st_add(sizeof(*hash___0), tmp___1);
  tmp___3 = xmalloc(tmp___2);
  hash___0 = (struct spanhash_top *)tmp___3;
  hash___0->alloc_log2 = i;
  hash___0->free = ((1 << i) * (i - 3)) / i;
  memset((void *)(hash___0->data), 0, sizeof(struct spanhash ) * (1UL << i));
  n = 0;
  accum2 = 0U;
  accum1 = accum2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! sz) {
      goto while_break;
    }
    tmp___4 = buf___19;
    buf___19 ++;
    c___0 = (unsigned int )*tmp___4;
    old_1 = accum1;
    sz --;
    if (is_text) {
      if (c___0 == 13U) {
        if (sz) {
          if ((int )*buf___19 == 10) {
            goto while_continue;
          }
        }
      }
    }
    accum1 = (accum1 << 7) ^ (accum2 >> 25);
    accum2 = (accum2 << 7) ^ (old_1 >> 25);
    accum1 += c___0;
    n ++;
    if (n < 64) {
      if (c___0 != 10U) {
        goto while_continue;
      }
    }
    hashval = (accum1 + accum2 * 97U) % 107927U;
    hash___0 = add_spanhash(hash___0, hashval, n);
    n = 0;
    accum2 = 0U;
    accum1 = accum2;
  }
  while_break: /* CIL Label */ ;
  }
  sane_qsort((void *)(hash___0->data), 1ul << hash___0->alloc_log2, sizeof(hash___0->data[0]),
             & spanhash_cmp);
  return (hash___0);
}
}
int diffcore_count_changes(struct repository *r , struct diff_filespec *src , struct diff_filespec *dst ,
                           void **src_count_p , void **dst_count_p , unsigned long *src_copied ,
                           unsigned long *literal_added )
{
  struct spanhash *s___1 ;
  struct spanhash *d ;
  struct spanhash_top *src_count ;
  struct spanhash_top *dst_count ;
  unsigned long sc ;
  unsigned long la ;
  unsigned int dst_cnt ;
  unsigned int src_cnt ;

  {
  dst_count = (struct spanhash_top *)((void *)0);
  src_count = dst_count;
  if (src_count_p) {
    src_count = (struct spanhash_top *)*src_count_p;
  }
  if (! src_count) {
    src_count = hash_chars(r, src);
    if (src_count_p) {
      *src_count_p = (void *)src_count;
    }
  }
  if (dst_count_p) {
    dst_count = (struct spanhash_top *)*dst_count_p;
  }
  if (! dst_count) {
    dst_count = hash_chars(r, dst);
    if (dst_count_p) {
      *dst_count_p = (void *)dst_count;
    }
  }
  la = 0UL;
  sc = la;
  s___1 = src_count->data;
  d = dst_count->data;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! s___1->cnt) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! d->cnt) {
        goto while_break___0;
      }
      if (d->hashval >= s___1->hashval) {
        goto while_break___0;
      }
      la += (unsigned long )d->cnt;
      d ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    src_cnt = s___1->cnt;
    dst_cnt = 0U;
    if (d->cnt) {
      if (d->hashval == s___1->hashval) {
        dst_cnt = d->cnt;
        d ++;
      }
    }
    if (src_cnt < dst_cnt) {
      la += (unsigned long )(dst_cnt - src_cnt);
      sc += (unsigned long )src_cnt;
    } else {
      sc += (unsigned long )dst_cnt;
    }
    s___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! d->cnt) {
      goto while_break___1;
    }
    la += (unsigned long )d->cnt;
    d ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  if (! src_count_p) {
    free((void *)src_count);
  }
  if (! dst_count_p) {
    free((void *)dst_count);
  }
  *src_copied = sc;
  *literal_added = la;
  return (0);
}
}
static double const   __ac_HASH_UPPER___28  =    (double const   )0.77;
__inline static void kh_resize_oid_set___28(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___28(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___28 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___28 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___28(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___28(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___28(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___28(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___28(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___28(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___28 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___28 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___28(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___28(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___28(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___28(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___28(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___28(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___28 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___28 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___28(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___28(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___28(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___28(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char **order  ;
static int order_cnt  ;
static void prepare_order(char const   *orderfile )
{
  int cnt ;
  int pass ;
  struct strbuf sb___6 ;
  void *map___0 ;
  char *cp ;
  char *endp ;
  ssize_t sz ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char *tmp___0 ;
  char *ep ;
  void *tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  if (order) {
    return;
  }
  sz = strbuf_read_file(& sb___6, orderfile, (size_t )0);
  if (sz < 0L) {
    tmp = _((char const   *)"failed to read orderfile \'%s\'");
    die_errno((char const   *)tmp, orderfile);
  }
  tmp___0 = strbuf_detach(& sb___6, (size_t *)((void *)0));
  map___0 = (void *)tmp___0;
  endp = (char *)map___0 + sz;
  pass = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (pass < 2)) {
      goto while_break;
    }
    cnt = 0;
    cp = (char *)map___0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned long )cp < (unsigned long )endp)) {
        goto while_break___0;
      }
      ep = cp;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if ((unsigned long )ep < (unsigned long )endp) {
          if (! ((int )*ep != 10)) {
            goto while_break___1;
          }
        } else {
          goto while_break___1;
        }
        ep ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      if (! ((int )*cp == 10)) {
        if (! ((int )*cp == 35)) {
          if (pass == 0) {
            cnt ++;
          } else {
            if ((int )*ep == 10) {
              *ep = (char)0;
              *(order + cnt) = cp;
            } else {
              tmp___1 = xmemdupz((void const   *)cp, (size_t )(ep - cp));
              *(order + cnt) = (char *)tmp___1;
            }
            cnt ++;
          }
        }
      }
      if ((unsigned long )ep < (unsigned long )endp) {
        ep ++;
      }
      cp = ep;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (pass == 0) {
      order_cnt = cnt;
      tmp___2 = st_mult(sizeof(*order), (size_t )cnt);
      tmp___3 = xmalloc(tmp___2);
      order = (char **)tmp___3;
    }
    pass ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int match_order(char const   *path___6 ) ;
static struct strbuf p  =    {0UL, 0UL, strbuf_slopbuf};
static int match_order(char const   *path___6 )
{
  int i ;
  char *cp ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < order_cnt)) {
      goto while_break;
    }
    strbuf_setlen(& p, (size_t )0);
    strbuf_addstr(& p, path___6);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! *(p.buf + 0)) {
        goto while_break___0;
      }
      tmp = wildmatch((char const   *)*(order + i), (char const   *)p.buf, 0U);
      if (! tmp) {
        return (i);
      }
      cp = strrchr((char const   *)p.buf, '/');
      if (! cp) {
        goto while_break___0;
      }
      *cp = (char)0;
    }
    while_break___0: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (order_cnt);
}
}
static int compare_objs_order(void const   *a_ , void const   *b_ )
{
  struct obj_order  const  *a ;
  struct obj_order  const  *b___0 ;

  {
  a = (struct obj_order  const  *)a_;
  b___0 = (struct obj_order  const  *)b_;
  if (a->order != b___0->order) {
    return ((int )(a->order - b___0->order));
  }
  return ((int )(a->orig_order - b___0->orig_order));
}
}
void order_objects(char const   *orderfile , char const   *(*obj_path)(void *obj ) ,
                   struct obj_order *objs___0 , int nr___0 )
{
  int i ;
  char const   *tmp ;

  {
  if (! nr___0) {
    return;
  }
  prepare_order(orderfile);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break;
    }
    (objs___0 + i)->orig_order = i;
    tmp = (*obj_path)((objs___0 + i)->obj);
    (objs___0 + i)->order = match_order(tmp);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  sane_qsort((void *)objs___0, (size_t )nr___0, sizeof(*objs___0), & compare_objs_order);
  return;
}
}
static char const   *pair_pathtwo(void *obj )
{
  struct diff_filepair *pair ;

  {
  pair = (struct diff_filepair *)obj;
  return ((char const   *)(pair->two)->path);
}
}
void diffcore_order(char const   *orderfile )
{
  struct diff_queue_struct *q ;
  struct obj_order *o ;
  int i ;
  size_t tmp ;
  void *tmp___0 ;

  {
  q = & diff_queued_diff;
  if (! q->nr) {
    return;
  }
  tmp = st_mult(sizeof(*o), (size_t )q->nr);
  tmp___0 = xmalloc(tmp);
  o = (struct obj_order *)tmp___0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break;
    }
    (o + i)->obj = (void *)*(q->queue + i);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  order_objects(orderfile, & pair_pathtwo, o, q->nr);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break___0;
    }
    *(q->queue + i) = (struct diff_filepair *)(o + i)->obj;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)o);
  return;
}
}
static double const   __ac_HASH_UPPER___29  =    (double const   )0.77;
__inline static void kh_resize_oid_set___29(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___29(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___29 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___29 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___29(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___29(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___29(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___29(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___29(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___29(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___29 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___29 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___29(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___29(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___29(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___29(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___29(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___29(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___29 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___29 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___29(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___29(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___29(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___29(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
kwset_t kwsalloc(unsigned char const   *trans ) ;
char const   *kwsincr(kwset_t kws , char const   *text , size_t len___0 ) ;
char const   *kwsprep(kwset_t kws ) ;
size_t kwsexec(kwset_t kws , char const   *text , size_t size , struct kwsmatch *kwsmatch ) ;
void kwsfree(kwset_t kws ) ;
static int diffgrep_consume(void *priv , char *line___0 , unsigned long len___0 )
{
  struct diffgrep_cb *data ;
  regmatch_t regmatch ;
  int tmp ;

  {
  data = (struct diffgrep_cb *)priv;
  if ((int )*(line___0 + 0) != 43) {
    if ((int )*(line___0 + 0) != 45) {
      return (0);
    }
  }
  if (data->hit) {
    BUG_fl((char const   *)"diffcore-pickaxe.c", 30, (char const   *)"Already matched in diffgrep_consume! Broken xdiff_emit_line_fn?");
  }
  tmp = regexec_buf((regex_t const   *)data->regexp, (char const   *)(line___0 + 1),
                    len___0 - 1UL, (size_t )1, & regmatch, 0);
  if (! tmp) {
    data->hit = 1;
    return (1);
  }
  return (0);
}
}
static int diff_grep(mmfile_t *one___0 , mmfile_t *two___0 , struct diff_options *o ,
                     regex_t *regexp___0 , kwset_t kws )
{
  struct diffgrep_cb ecbdata ;
  xpparam_t xpp ;
  xdemitconf_t xecfg ;
  int ret___67 ;

  {
  memset((void *)(& xpp), 0, sizeof(xpp));
  memset((void *)(& xecfg), 0, sizeof(xecfg));
  ecbdata.regexp = regexp___0;
  ecbdata.hit = 0;
  xecfg.flags = (unsigned long )(1 << 1);
  xecfg.ctxlen = (long )o->context;
  xecfg.interhunkctxlen = (long )o->interhunkcontext;
  ret___67 = xdi_diff_outf(one___0, two___0, (void (*)(void *data , long old_begin ,
                                                       long old_nr , long new_begin ,
                                                       long new_nr , char const   *func ,
                                                       long funclen ))((void *)0),
                           & diffgrep_consume, (void *)(& ecbdata), (xpparam_t const   *)(& xpp),
                           (xdemitconf_t const   *)(& xecfg));
  if (ecbdata.hit) {
    return (1);
  }
  if (ret___67) {
    return (ret___67);
  }
  return (0);
}
}
static unsigned int contains(mmfile_t *mf , regex_t *regexp___0 , kwset_t kws , unsigned int limit___1 )
{
  unsigned int cnt ;
  unsigned long sz ;
  char const   *data ;
  regmatch_t regmatch ;
  int flags___0 ;
  int tmp ;
  struct kwsmatch kwsm ;
  size_t offset___2 ;
  size_t tmp___0 ;

  {
  cnt = 0U;
  sz = (unsigned long )mf->size;
  data = (char const   *)mf->ptr;
  if (regexp___0) {
    flags___0 = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (sz) {
        tmp = regexec_buf((regex_t const   *)regexp___0, data, sz, (size_t )1, & regmatch,
                          flags___0);
        if (tmp) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      flags___0 |= 1;
      data += regmatch.rm_eo;
      sz -= (unsigned long )regmatch.rm_eo;
      if (sz) {
        if (regmatch.rm_so == regmatch.rm_eo) {
          data ++;
          sz --;
        }
      }
      cnt ++;
      if (limit___1) {
        if (cnt == limit___1) {
          return (cnt);
        }
      }
    }
    while_break: /* CIL Label */ ;
    }
  } else {
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! sz) {
        goto while_break___0;
      }
      tmp___0 = kwsexec(kws, data, sz, & kwsm);
      offset___2 = tmp___0;
      if (offset___2 == 18446744073709551615UL) {
        goto while_break___0;
      }
      sz -= offset___2 + kwsm.size[0];
      data += offset___2 + kwsm.size[0];
      cnt ++;
      if (limit___1) {
        if (cnt == limit___1) {
          return (cnt);
        }
      }
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  return (cnt);
}
}
static int has_changes(mmfile_t *one___0 , mmfile_t *two___0 , struct diff_options *o ,
                       regex_t *regexp___0 , kwset_t kws )
{
  unsigned int c1 ;
  unsigned int tmp ;
  unsigned int tmp___0 ;
  unsigned int c2 ;
  unsigned int tmp___1 ;
  unsigned int tmp___2 ;

  {
  if (one___0) {
    tmp = contains(one___0, regexp___0, kws, 0U);
    tmp___0 = tmp;
  } else {
    tmp___0 = 0U;
  }
  c1 = tmp___0;
  if (two___0) {
    tmp___1 = contains(two___0, regexp___0, kws, c1 + 1U);
    tmp___2 = tmp___1;
  } else {
    tmp___2 = 0U;
  }
  c2 = tmp___2;
  return (c1 != c2);
}
}
static int pickaxe_match(struct diff_filepair *p___0 , struct diff_options *o , regex_t *regexp___0 ,
                         kwset_t kws , int (*fn)(mmfile_t *one , mmfile_t *two , struct diff_options *o ,
                                                 regex_t *regexp , kwset_t kws ) )
{
  struct userdiff_driver *textconv_one ;
  struct userdiff_driver *textconv_two ;
  mmfile_t mf1 ;
  mmfile_t mf2 ;
  int ret___67 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  size_t tmp___5 ;
  size_t tmp___6 ;

  {
  textconv_one = (struct userdiff_driver *)((void *)0);
  textconv_two = (struct userdiff_driver *)((void *)0);
  if (! ((int )(p___0->one)->mode != 0)) {
    if (! ((int )(p___0->two)->mode != 0)) {
      return (0);
    }
  }
  if (o->objfind) {
    if ((int )(p___0->one)->mode != 0) {
      tmp = oidset_contains((struct oidset  const  *)o->objfind, (struct object_id  const  *)(& (p___0->one)->oid));
      if (tmp) {
        tmp___1 = 1;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if ((int )(p___0->two)->mode != 0) {
      tmp___0 = oidset_contains((struct oidset  const  *)o->objfind, (struct object_id  const  *)(& (p___0->two)->oid));
      if (tmp___0) {
        tmp___1 = 1;
      } else {
        tmp___1 = 0;
      }
    } else {
      tmp___1 = 0;
    }
    return (tmp___1);
  }
  if (o->flags.allow_textconv) {
    textconv_one = get_textconv(o->repo, p___0->one);
    textconv_two = get_textconv(o->repo, p___0->two);
  }
  if ((unsigned long )textconv_one == (unsigned long )textconv_two) {
    tmp___2 = diff_unmodified_pair(p___0);
    if (tmp___2) {
      return (0);
    }
  }
  if (o->pickaxe_opts & 8U) {
    if (! o->flags.text) {
      if (! textconv_one) {
        tmp___3 = diff_filespec_is_binary(o->repo, p___0->one);
        if (tmp___3) {
          return (0);
        } else {
          goto _L___0;
        }
      } else
      _L___0: /* CIL Label */
      if (! textconv_two) {
        tmp___4 = diff_filespec_is_binary(o->repo, p___0->two);
        if (tmp___4) {
          return (0);
        }
      }
    }
  }
  tmp___5 = fill_textconv(o->repo, textconv_one, p___0->one, & mf1.ptr);
  mf1.size = (long )tmp___5;
  tmp___6 = fill_textconv(o->repo, textconv_two, p___0->two, & mf2.ptr);
  mf2.size = (long )tmp___6;
  ret___67 = (*fn)(& mf1, & mf2, o, regexp___0, kws);
  if (textconv_one) {
    free((void *)mf1.ptr);
  }
  if (textconv_two) {
    free((void *)mf2.ptr);
  }
  diff_free_filespec_data(p___0->one);
  diff_free_filespec_data(p___0->two);
  return (ret___67);
}
}
static void pickaxe(struct diff_queue_struct *q , struct diff_options *o , regex_t *regexp___0 ,
                    kwset_t kws , int (*fn)(mmfile_t *one , mmfile_t *two , struct diff_options *o ,
                                            regex_t *regexp , kwset_t kws ) )
{
  int i ;
  struct diff_queue_struct outq ;
  struct diff_filepair *p___0 ;
  int tmp ;
  struct diff_filepair *p___1 ;
  int tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    outq.queue = (struct diff_filepair **)((void *)0);
    outq.alloc = 0;
    outq.nr = outq.alloc;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (o->pickaxe_opts & 1U) {
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < q->nr)) {
        goto while_break___0;
      }
      p___0 = *(q->queue + i);
      tmp = pickaxe_match(p___0, o, regexp___0, kws, fn);
      if (tmp) {
        return;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < q->nr)) {
        goto while_break___1;
      }
      diff_free_filepair(*(q->queue + i));
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
  } else {
    i = 0;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (i < q->nr)) {
        goto while_break___2;
      }
      p___1 = *(q->queue + i);
      tmp___0 = pickaxe_match(p___1, o, regexp___0, kws, fn);
      if (tmp___0) {
        diff_q(& outq, p___1);
      } else {
        diff_free_filepair(p___1);
      }
      i ++;
    }
    while_break___2: /* CIL Label */ ;
    }
  }
  free((void *)q->queue);
  *q = outq;
  return;
}
}
static void regcomp_or_die(regex_t *regex , char const   *needle , int cflags )
{
  int err___4 ;
  int tmp ;
  char errbuf[1024] ;

  {
  tmp = regcomp((regex_t * __restrict  )regex, (char const   * __restrict  )needle,
                cflags);
  err___4 = tmp;
  if (err___4) {
    regerror(err___4, (regex_t const   * __restrict  )regex, (char * __restrict  )(errbuf),
             (size_t )1024);
    die((char const   *)"invalid regex: %s", errbuf);
  }
  return;
}
}
void diffcore_pickaxe(struct diff_options *o )
{
  char const   *needle ;
  int opts___1 ;
  regex_t regex ;
  regex_t *regexp___0 ;
  kwset_t kws ;
  int (*fn)(mmfile_t *one , mmfile_t *two , struct diff_options *o , regex_t *regexp ,
            kwset_t kws ) ;
  int cflags ;
  struct strbuf sb___6 ;
  int cflags___0 ;
  unsigned char const   *tmp ;
  size_t tmp___0 ;
  int tmp___1 ;

  {
  needle = o->pickaxe;
  opts___1 = (int )o->pickaxe_opts;
  regexp___0 = (regex_t *)((void *)0);
  kws = (kwset_t )((void *)0);
  if (opts___1 & -17) {
    if (! needle) {
      BUG_fl((char const   *)"diffcore-pickaxe.c", 239, (char const   *)"should have needle under -G or -S");
    } else
    if (! *needle) {
      BUG_fl((char const   *)"diffcore-pickaxe.c", 239, (char const   *)"should have needle under -G or -S");
    }
  }
  if (opts___1 & 10) {
    cflags = 1 | ((1 << 1) << 1);
    if (o->pickaxe_opts & 32U) {
      cflags |= 1 << 1;
    }
    regcomp_or_die(& regex, needle, cflags);
    regexp___0 = & regex;
    if (opts___1 & 8) {
      fn = & diff_grep;
    } else
    if (opts___1 & 2) {
      fn = & has_changes;
    } else {
      BUG_fl((char const   *)"diffcore-pickaxe.c", 259, (char const   *)"unreachable");
    }
  } else
  if (opts___1 & 4) {
    if (o->pickaxe_opts & 32U) {
      tmp___1 = has_non_ascii(needle);
      if (tmp___1) {
        sb___6.alloc = 0UL;
        sb___6.len = 0UL;
        sb___6.buf = strbuf_slopbuf;
        cflags___0 = ((1 << 1) << 1) | (1 << 1);
        basic_regex_quote_buf(& sb___6, needle);
        regcomp_or_die(& regex, (char const   *)sb___6.buf, cflags___0);
        strbuf_release(& sb___6);
        regexp___0 = & regex;
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      if (o->pickaxe_opts & 32U) {
        tmp = tolower_trans_tbl;
      } else {
        tmp = (unsigned char const   *)((void *)0);
      }
      kws = kwsalloc(tmp);
      tmp___0 = strlen(needle);
      kwsincr(kws, needle, tmp___0);
      kwsprep(kws);
    }
    fn = & has_changes;
  } else
  if (opts___1 & 16) {
    fn = (int (*)(mmfile_t *one , mmfile_t *two , struct diff_options *o , regex_t *regexp ,
                  kwset_t kws ))((void *)0);
  } else {
    BUG_fl((char const   *)"diffcore-pickaxe.c", 280, (char const   *)"unknown pickaxe_opts flag");
  }
  pickaxe(& diff_queued_diff, o, regexp___0, kws, fn);
  if (regexp___0) {
    regfree(regexp___0);
  }
  if (kws) {
    kwsfree(kws);
  }
  return;
}
}
static double const   __ac_HASH_UPPER___30  =    (double const   )0.77;
__inline static void kh_resize_oid_set___30(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___30(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___30 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___30 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___30(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___30(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___30(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___30(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___30(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___30(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___30 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___30 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___30(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___30(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___30(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___30(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___30(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___30(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___30 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___30 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___30(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___30(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___30(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___30(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___20(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___20(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___30 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___30 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___20(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___20(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___20(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___20(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
int cmp_strmap_entry(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry1 ,
                     struct hashmap_entry  const  *entry2 , void const   *keydata ) ;
void strmap_init(struct strmap *map___0 ) ;
void strmap_init_with_options(struct strmap *map___0 , struct mem_pool *pool , int strdup_strings ) ;
void strmap_clear(struct strmap *map___0 , int free_values ) ;
void strmap_partial_clear(struct strmap *map___0 , int free_values ) ;
void *strmap_put(struct strmap *map___0 , char const   *str , void *data ) ;
struct strmap_entry *strmap_get_entry(struct strmap *map___0 , char const   *str ) ;
void *strmap_get(struct strmap *map___0 , char const   *str ) ;
int strmap_contains(struct strmap *map___0 , char const   *str ) ;
void strmap_remove(struct strmap *map___0 , char const   *str , int free_value ) ;
__inline static unsigned int strmap_get_size(struct strmap *map___0 )
{
  unsigned int tmp ;

  {
  tmp = hashmap_get_size(& map___0->map);
  return (tmp);
}
}
__inline static int strmap_empty(struct strmap *map___0 )
{
  unsigned int tmp ;

  {
  tmp = strmap_get_size(map___0);
  return (tmp == 0U);
}
}
__inline static void strintmap_init(struct strintmap *map___0 , int default_value___0 )
{


  {
  strmap_init(& map___0->map);
  map___0->default_value = default_value___0;
  return;
}
}
__inline static void strintmap_init_with_options(struct strintmap *map___0 , int default_value___0 ,
                                                 struct mem_pool *pool , int strdup_strings )
{


  {
  strmap_init_with_options(& map___0->map, pool, strdup_strings);
  map___0->default_value = default_value___0;
  return;
}
}
__inline static void strintmap_clear(struct strintmap *map___0 )
{


  {
  strmap_clear(& map___0->map, 0);
  return;
}
}
__inline static void strintmap_partial_clear(struct strintmap *map___0 )
{


  {
  strmap_partial_clear(& map___0->map, 0);
  return;
}
}
__inline static int strintmap_contains(struct strintmap *map___0 , char const   *str )
{
  int tmp ;

  {
  tmp = strmap_contains(& map___0->map, str);
  return (tmp);
}
}
__inline static void strintmap_remove(struct strintmap *map___0 , char const   *str )
{


  {
  strmap_remove(& map___0->map, str, 0);
  return;
}
}
__inline static int strintmap_empty(struct strintmap *map___0 )
{
  int tmp ;

  {
  tmp = strmap_empty(& map___0->map);
  return (tmp);
}
}
__inline static unsigned int strintmap_get_size(struct strintmap *map___0 )
{
  unsigned int tmp ;

  {
  tmp = strmap_get_size(& map___0->map);
  return (tmp);
}
}
__inline static int strintmap_get(struct strintmap *map___0 , char const   *str )
{
  struct strmap_entry *result___0 ;
  struct strmap_entry *tmp ;

  {
  tmp = strmap_get_entry(& map___0->map, str);
  result___0 = tmp;
  if (! result___0) {
    return (map___0->default_value);
  }
  return ((int )((intptr_t )result___0->value));
}
}
__inline static void strintmap_set(struct strintmap *map___0 , char const   *str ,
                                   intptr_t v )
{


  {
  strmap_put(& map___0->map, str, (void *)v);
  return;
}
}
void strintmap_incr(struct strintmap *map___0 , char const   *str , intptr_t amt ) ;
__inline static void strset_init(struct strset *set )
{


  {
  strmap_init(& set->map);
  return;
}
}
__inline static void strset_init_with_options(struct strset *set , struct mem_pool *pool ,
                                              int strdup_strings )
{


  {
  strmap_init_with_options(& set->map, pool, strdup_strings);
  return;
}
}
__inline static void strset_clear(struct strset *set )
{


  {
  strmap_clear(& set->map, 0);
  return;
}
}
__inline static void strset_partial_clear(struct strset *set )
{


  {
  strmap_partial_clear(& set->map, 0);
  return;
}
}
__inline static int strset_contains(struct strset *set , char const   *str )
{
  int tmp ;

  {
  tmp = strmap_contains(& set->map, str);
  return (tmp);
}
}
__inline static void strset_remove(struct strset *set , char const   *str )
{


  {
  strmap_remove(& set->map, str, 0);
  return;
}
}
__inline static int strset_empty(struct strset *set )
{
  int tmp ;

  {
  tmp = strmap_empty(& set->map);
  return (tmp);
}
}
__inline static unsigned int strset_get_size(struct strset *set )
{
  unsigned int tmp ;

  {
  tmp = strmap_get_size(& set->map);
  return (tmp);
}
}
int strset_add(struct strset *set , char const   *str ) ;
static struct diff_rename_dst *rename_dst  ;
static int rename_dst_nr  ;
static int rename_dst_alloc  ;
static struct strintmap *break_idx  =    (struct strintmap *)((void *)0);
static struct diff_rename_dst *locate_rename_dst(struct diff_filepair *p___0 )
{
  int idx___0 ;
  int tmp ;
  int tmp___0 ;
  struct diff_rename_dst *tmp___1 ;

  {
  if (break_idx) {
    tmp = strintmap_get(break_idx, (char const   *)(p___0->one)->path);
    tmp___0 = tmp;
  } else {
    tmp___0 = -1;
  }
  idx___0 = tmp___0;
  if (idx___0 == -1) {
    tmp___1 = (struct diff_rename_dst *)((void *)0);
  } else {
    tmp___1 = rename_dst + idx___0;
  }
  return (tmp___1);
}
}
static int add_rename_dst(struct diff_filepair *p___0 )
{
  size_t tmp ;
  void *tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (rename_dst_nr + 1 > rename_dst_alloc) {
      if (((rename_dst_alloc + 16) * 3) / 2 < rename_dst_nr + 1) {
        rename_dst_alloc = rename_dst_nr + 1;
      } else {
        rename_dst_alloc = ((rename_dst_alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*rename_dst), (size_t )rename_dst_alloc);
      tmp___0 = xrealloc((void *)rename_dst, tmp);
      rename_dst = (struct diff_rename_dst *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  (rename_dst + rename_dst_nr)->p = p___0;
  (rename_dst + rename_dst_nr)->filespec_to_free = (struct diff_filespec *)((void *)0);
  (rename_dst + rename_dst_nr)->is_rename = 0;
  rename_dst_nr ++;
  return (0);
}
}
static struct diff_rename_src *rename_src  ;
static int rename_src_nr  ;
static int rename_src_alloc  ;
static void register_rename_src(struct diff_filepair *p___0 )
{
  void *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  if (p___0->broken_pair) {
    if (! break_idx) {
      tmp = xmalloc(sizeof(*break_idx));
      break_idx = (struct strintmap *)tmp;
      strintmap_init_with_options(break_idx, -1, (struct mem_pool *)((void *)0), 0);
    }
    strintmap_set(break_idx, (char const   *)(p___0->one)->path, (intptr_t )rename_dst_nr);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (rename_src_nr + 1 > rename_src_alloc) {
      if (((rename_src_alloc + 16) * 3) / 2 < rename_src_nr + 1) {
        rename_src_alloc = rename_src_nr + 1;
      } else {
        rename_src_alloc = ((rename_src_alloc + 16) * 3) / 2;
      }
      tmp___0 = st_mult(sizeof(*rename_src), (size_t )rename_src_alloc);
      tmp___1 = xrealloc((void *)rename_src, tmp___0);
      rename_src = (struct diff_rename_src *)tmp___1;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  (rename_src + rename_src_nr)->p = p___0;
  (rename_src + rename_src_nr)->score = p___0->score;
  rename_src_nr ++;
  return;
}
}
static int basename_same(struct diff_filespec *src , struct diff_filespec *dst )
{
  int src_len ;
  size_t tmp ;
  int dst_len ;
  size_t tmp___0 ;
  char c1 ;
  char c2 ;
  int tmp___1 ;

  {
  tmp = strlen((char const   *)src->path);
  src_len = (int )tmp;
  tmp___0 = strlen((char const   *)dst->path);
  dst_len = (int )tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (src_len) {
      if (! dst_len) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    src_len --;
    c1 = *(src->path + src_len);
    dst_len --;
    c2 = *(dst->path + dst_len);
    if ((int )c1 != (int )c2) {
      return (0);
    }
    if ((int )c1 == 47) {
      return (1);
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (! src_len) {
    goto _L;
  } else
  if ((int )*(src->path + (src_len - 1)) == 47) {
    _L: /* CIL Label */
    if (! dst_len) {
      tmp___1 = 1;
    } else
    if ((int )*(dst->path + (dst_len - 1)) == 47) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static void inexact_prefetch(void *prefetch_options )
{
  struct inexact_prefetch_options *options ;
  int i ;
  struct oid_array to_fetch ;
  int tmp ;

  {
  options = (struct inexact_prefetch_options *)prefetch_options;
  to_fetch.oid = (struct object_id *)0;
  to_fetch.nr = 0UL;
  to_fetch.alloc = 0UL;
  to_fetch.sorted = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < rename_dst_nr)) {
      goto while_break;
    }
    if (((rename_dst + i)->p)->renamed_pair) {
      goto __Cont;
    }
    diff_add_if_missing(options->repo, & to_fetch, (struct diff_filespec  const  *)((rename_dst + i)->p)->two);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < rename_src_nr)) {
      goto while_break___0;
    }
    if (options->skip_unmodified) {
      tmp = diff_unmodified_pair((rename_src + i)->p);
      if (tmp) {
        goto __Cont___0;
      }
    }
    diff_add_if_missing(options->repo, & to_fetch, (struct diff_filespec  const  *)((rename_src + i)->p)->one);
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  promisor_remote_get_direct(options->repo, (struct object_id  const  *)to_fetch.oid,
                             (int )to_fetch.nr);
  oid_array_clear(& to_fetch);
  return;
}
}
static int estimate_similarity(struct repository *r , struct diff_filespec *src ,
                               struct diff_filespec *dst , int minimum_score , struct diff_populate_filespec_options *dpf_opt )
{
  unsigned long max_size___0 ;
  unsigned long delta_size ;
  unsigned long base_size ;
  unsigned long src_copied ;
  unsigned long literal_added ;
  int score ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  if (! (((int )src->mode & 0170000) == 0100000)) {
    return (0);
  } else
  if (! (((int )dst->mode & 0170000) == 0100000)) {
    return (0);
  }
  dpf_opt->check_size_only = 1U;
  if (! src->cnt_data) {
    tmp = diff_populate_filespec(r, src, (struct diff_populate_filespec_options  const  *)dpf_opt);
    if (tmp) {
      return (0);
    }
  }
  if (! dst->cnt_data) {
    tmp___0 = diff_populate_filespec(r, dst, (struct diff_populate_filespec_options  const  *)dpf_opt);
    if (tmp___0) {
      return (0);
    }
  }
  if (src->size > dst->size) {
    max_size___0 = src->size;
  } else {
    max_size___0 = dst->size;
  }
  if (src->size < dst->size) {
    base_size = src->size;
  } else {
    base_size = dst->size;
  }
  delta_size = max_size___0 - base_size;
  if ((double )max_size___0 * (60000.0 - (double )minimum_score) < (double )delta_size * 60000.0) {
    return (0);
  }
  dpf_opt->check_size_only = 0U;
  if (! src->cnt_data) {
    tmp___1 = diff_populate_filespec(r, src, (struct diff_populate_filespec_options  const  *)dpf_opt);
    if (tmp___1) {
      return (0);
    }
  }
  if (! dst->cnt_data) {
    tmp___2 = diff_populate_filespec(r, dst, (struct diff_populate_filespec_options  const  *)dpf_opt);
    if (tmp___2) {
      return (0);
    }
  }
  tmp___3 = diffcore_count_changes(r, src, dst, & src->cnt_data, & dst->cnt_data,
                                   & src_copied, & literal_added);
  if (tmp___3) {
    return (0);
  }
  if (! dst->size) {
    score = 0;
  } else {
    score = (int )(((double )src_copied * 60000.0) / (double )max_size___0);
  }
  return (score);
}
}
static void record_rename_pair(int dst_index , int src_index , int score )
{
  struct diff_filepair *src ;
  struct diff_filepair *dst ;
  int tmp ;

  {
  src = (rename_src + src_index)->p;
  dst = (rename_dst + dst_index)->p;
  if (dst->renamed_pair) {
    die((char const   *)"internal error: dst already matched.");
  }
  ((src->one)->rename_used) ++;
  ((src->one)->count) ++;
  (rename_dst + dst_index)->filespec_to_free = dst->one;
  (rename_dst + dst_index)->is_rename = 1;
  dst->one = src->one;
  dst->renamed_pair = 1U;
  tmp = strcmp((char const   *)(dst->one)->path, (char const   *)(dst->two)->path);
  if (tmp) {
    dst->score = (unsigned short )score;
  } else {
    dst->score = (rename_src + src_index)->score;
  }
  return;
}
}
static int score_compare(void const   *a_ , void const   *b_ )
{
  struct diff_score  const  *a ;
  struct diff_score  const  *b___0 ;

  {
  a = (struct diff_score  const  *)a_;
  b___0 = (struct diff_score  const  *)b_;
  if (a->dst < 0) {
    return (0 <= (int )b___0->dst);
  } else
  if (b___0->dst < 0) {
    return (-1);
  }
  if ((int )a->score == (int )b___0->score) {
    return ((int )((int )b___0->name_score - (int )a->name_score));
  }
  return ((int )((int )b___0->score - (int )a->score));
}
}
static unsigned int hash_filespec(struct repository *r , struct diff_filespec *filespec )
{
  int tmp ;
  unsigned int tmp___0 ;

  {
  if (! filespec->oid_valid) {
    tmp = diff_populate_filespec(r, filespec, (struct diff_populate_filespec_options  const  *)((void *)0));
    if (tmp) {
      return (0U);
    }
    hash_object_file(r->hash_algo, (void const   *)filespec->data, filespec->size,
                     (char const   *)"blob", & filespec->oid);
  }
  tmp___0 = oidhash((struct object_id  const  *)(& filespec->oid));
  return (tmp___0);
}
}
static int find_identical_files(struct hashmap *srcs___0 , int dst_index , struct diff_options *options )
{
  int renames ;
  struct diff_filespec *target ;
  struct file_similarity *p___0 ;
  struct file_similarity *best ;
  int i ;
  int best_score ;
  unsigned int hash___0 ;
  unsigned int tmp ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;
  struct hashmap_entry *tmp___2 ;
  void *tmp___3 ;
  int score ;
  struct diff_filespec *source ;
  int tmp___4 ;
  int tmp___5 ;

  {
  renames = 0;
  target = ((rename_dst + dst_index)->p)->two;
  best = (struct file_similarity *)((void *)0);
  i = 100;
  best_score = -1;
  tmp = hash_filespec(options->repo, target);
  hash___0 = tmp;
  tmp___0 = hashmap_get_from_hash((struct hashmap  const  *)srcs___0, hash___0, (void const   *)((void *)0));
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct file_similarity *)0)->entry));
  p___0 = (struct file_similarity *)tmp___1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    source = p___0->filespec;
    tmp___4 = oideq((struct object_id  const  *)(& source->oid), (struct object_id  const  *)(& target->oid));
    if (! tmp___4) {
      goto __Cont;
    }
    if (! (((int )source->mode & 0170000) == 0100000)) {
      goto _L;
    } else
    if (! (((int )target->mode & 0170000) == 0100000)) {
      _L: /* CIL Label */
      if ((int )source->mode != (int )target->mode) {
        goto __Cont;
      }
    }
    score = ! source->rename_used;
    if (source->rename_used) {
      if (options->detect_rename != 2) {
        goto __Cont;
      }
    }
    tmp___5 = basename_same(source, target);
    score += tmp___5;
    if (score > best_score) {
      best = p___0;
      best_score = score;
      if (score == 2) {
        goto while_break;
      }
    }
    i --;
    if (! i) {
      goto while_break;
    }
    __Cont: /* CIL Label */
    tmp___2 = hashmap_get_next((struct hashmap  const  *)srcs___0, (struct hashmap_entry  const  *)(& p___0->entry));
    tmp___3 = container_of_or_null_offset((void *)tmp___2, (unsigned long )(& ((struct file_similarity *)0)->entry));
    p___0 = (struct file_similarity *)tmp___3;
  }
  while_break: /* CIL Label */ ;
  }
  if (best) {
    record_rename_pair(dst_index, best->index, (int )60000.0);
    renames ++;
  }
  return (renames);
}
}
static void insert_file_table(struct repository *r , struct mem_pool *pool , struct hashmap *table ,
                              int index___2 , struct diff_filespec *filespec )
{
  struct file_similarity *entry ;
  void *tmp ;
  unsigned int tmp___0 ;

  {
  tmp = mem_pool_alloc(pool, sizeof(*entry));
  entry = (struct file_similarity *)tmp;
  entry->index = index___2;
  entry->filespec = filespec;
  tmp___0 = hash_filespec(r, filespec);
  hashmap_entry_init(& entry->entry, tmp___0);
  hashmap_add(table, & entry->entry);
  return;
}
}
static int find_exact_renames(struct diff_options *options , struct mem_pool *pool )
{
  int i ;
  int renames ;
  struct hashmap file_table ;
  int tmp ;

  {
  renames = 0;
  hashmap_init(& file_table, (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                      struct hashmap_entry  const  *entry_or_key ,
                                      void const   *keydata ))((void *)0), (void const   *)((void *)0),
               (size_t )rename_src_nr);
  i = rename_src_nr - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i >= 0)) {
      goto while_break;
    }
    insert_file_table(options->repo, pool, & file_table, i, ((rename_src + i)->p)->one);
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < rename_dst_nr)) {
      goto while_break___0;
    }
    tmp = find_identical_files(& file_table, i, options);
    renames += tmp;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  hashmap_clear_(& file_table, (ssize_t )-1);
  return (renames);
}
}
static char *get_dirname(char const   *filename___0 )
{
  char *slash ;
  char *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  tmp = strrchr(filename___0, '/');
  slash = tmp;
  if (slash) {
    tmp___0 = xstrndup(filename___0, (size_t )(slash - (char *)filename___0));
    tmp___2 = tmp___0;
  } else {
    tmp___1 = xstrdup((char const   *)"");
    tmp___2 = tmp___1;
  }
  return (tmp___2);
}
}
static void dirname_munge(char *filename___0 )
{
  char *slash ;
  char *tmp ;

  {
  tmp = strrchr((char const   *)filename___0, '/');
  slash = tmp;
  if (! slash) {
    slash = filename___0;
  }
  *slash = (char )'\000';
  return;
}
}
static char const   *get_highest_rename_path(struct strintmap *counts )
{
  int highest_count ;
  char const   *highest_destination_dir ;
  struct hashmap_iter iter___0 ;
  struct strmap_entry *entry ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;
  char const   *destination_dir ;
  intptr_t count___0 ;

  {
  highest_count = 0;
  highest_destination_dir = (char const   *)((void *)0);
  entry = (struct strmap_entry *)((void *)0);
  tmp = hashmap_iter_first(& counts->map.map, & iter___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  entry = (struct strmap_entry *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! entry) {
      goto while_break;
    }
    destination_dir = entry->key;
    count___0 = (intptr_t )entry->value;
    if (count___0 > (intptr_t )highest_count) {
      highest_count = (int )count___0;
      highest_destination_dir = destination_dir;
    }
    tmp___1 = hashmap_iter_next(& iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    entry = (struct strmap_entry *)tmp___2;
  }
  while_break: /* CIL Label */ ;
  }
  return (highest_destination_dir);
}
}
static char *UNKNOWN_DIR  =    "/";
static int dir_rename_already_determinable(struct strintmap *counts )
{
  struct hashmap_iter iter___0 ;
  struct strmap_entry *entry ;
  int first ;
  int second ;
  int unknown ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;
  char const   *destination_dir ;
  intptr_t count___0 ;
  int tmp___3 ;

  {
  first = 0;
  second = 0;
  unknown = 0;
  entry = (struct strmap_entry *)((void *)0);
  tmp = hashmap_iter_first(& counts->map.map, & iter___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  entry = (struct strmap_entry *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! entry) {
      goto while_break;
    }
    destination_dir = entry->key;
    count___0 = (intptr_t )entry->value;
    tmp___3 = strcmp(destination_dir, (char const   *)UNKNOWN_DIR);
    if (tmp___3) {
      if (count___0 >= (intptr_t )first) {
        second = first;
        first = (int )count___0;
      } else
      if (count___0 >= (intptr_t )second) {
        second = (int )count___0;
      }
    } else {
      unknown = (int )count___0;
    }
    tmp___1 = hashmap_iter_next(& iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    entry = (struct strmap_entry *)tmp___2;
  }
  while_break: /* CIL Label */ ;
  }
  return (first > second + unknown);
}
}
static void increment_count(struct dir_rename_info *info___0 , char *old_dir , char *new_dir )
{
  struct strintmap *counts ;
  struct strmap_entry *e ;
  void *tmp ;

  {
  e = strmap_get_entry(info___0->dir_rename_count, (char const   *)old_dir);
  if (e) {
    counts = (struct strintmap *)e->value;
  } else {
    tmp = xmalloc(sizeof(*counts));
    counts = (struct strintmap *)tmp;
    strintmap_init_with_options(counts, 0, (struct mem_pool *)((void *)0), 1);
    strmap_put(info___0->dir_rename_count, (char const   *)old_dir, (void *)counts);
  }
  strintmap_incr(counts, (char const   *)new_dir, (intptr_t )1);
  return;
}
}
static void update_dir_rename_counts(struct dir_rename_info *info___0 , struct strintmap *dirs_removed ,
                                     char const   *oldname , char const   *newname )
{
  char *old_dir ;
  char *new_dir ;
  char new_dir_first_char ;
  int first_time_in_loop ;
  int drd_flag ;
  int tmp ;
  char *old_sub_dir ;
  char *tmp___0 ;
  char *new_sub_dir ;
  char *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  new_dir_first_char = (char )*(newname + 0);
  first_time_in_loop = 1;
  if (! info___0->setup) {
    return;
  }
  old_dir = xstrdup(oldname);
  new_dir = xstrdup(newname);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    drd_flag = 0;
    dirname_munge(old_dir);
    if (info___0->relevant_source_dirs) {
      tmp = strintmap_contains(info___0->relevant_source_dirs, (char const   *)old_dir);
      if (! tmp) {
        goto while_break;
      }
    }
    dirname_munge(new_dir);
    if (! first_time_in_loop) {
      tmp___0 = strchr((char const   *)old_dir, '\000');
      old_sub_dir = tmp___0 + 1;
      tmp___1 = strchr((char const   *)new_dir, '\000');
      new_sub_dir = tmp___1 + 1;
      if (! *new_dir) {
        if ((int )new_dir_first_char != (int )*(old_sub_dir + 0)) {
          goto while_break;
        } else {
          tmp___2 = strcmp((char const   *)(old_sub_dir + 1), (char const   *)new_sub_dir);
          if (tmp___2) {
            goto while_break;
          }
        }
      } else {
        tmp___3 = strcmp((char const   *)old_sub_dir, (char const   *)new_sub_dir);
        if (tmp___3) {
          goto while_break;
        }
      }
    }
    if (dirs_removed) {
      drd_flag = strintmap_get(dirs_removed, (char const   *)old_dir);
    }
    if (drd_flag == 2) {
      increment_count(info___0, old_dir, new_dir);
    } else
    if (first_time_in_loop) {
      increment_count(info___0, old_dir, new_dir);
    }
    first_time_in_loop = 0;
    if (drd_flag == 0) {
      goto while_break;
    }
    if (! *old_dir) {
      goto while_break;
    } else
    if (! *new_dir) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)old_dir);
  free((void *)new_dir);
  return;
}
}
static void initialize_dir_rename_info(struct dir_rename_info *info___0 , struct strintmap *relevant_sources ,
                                       struct strintmap *dirs_removed , struct strmap *dir_rename_count ,
                                       struct strmap *cached_pairs )
{
  struct hashmap_iter iter___0 ;
  struct strmap_entry *entry ;
  int i ;
  void *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;
  struct hashmap_entry *tmp___3 ;
  void *tmp___4 ;
  char *dirname___0 ;
  char *tmp___5 ;
  int tmp___6 ;
  char *filename___0 ;
  struct hashmap_entry *tmp___7 ;
  void *tmp___8 ;
  struct hashmap_entry *tmp___9 ;
  void *tmp___10 ;
  char const   *old_name ;
  char const   *new_name ;
  struct hashmap_entry *tmp___11 ;
  void *tmp___12 ;
  struct hashmap_entry *tmp___13 ;
  void *tmp___14 ;
  struct strintmap *counts ;
  char *best_newdir ;
  char const   *tmp___15 ;

  {
  if (! dirs_removed) {
    if (! relevant_sources) {
      info___0->setup = 0U;
      return;
    }
  }
  info___0->setup = 1U;
  info___0->dir_rename_count = dir_rename_count;
  if (! info___0->dir_rename_count) {
    tmp = xmalloc(sizeof(*dir_rename_count));
    info___0->dir_rename_count = (struct strmap *)tmp;
    strmap_init(info___0->dir_rename_count);
  }
  strintmap_init_with_options(& info___0->idx_map, -1, (struct mem_pool *)((void *)0),
                              0);
  strmap_init_with_options(& info___0->dir_rename_guess, (struct mem_pool *)((void *)0),
                           0);
  info___0->relevant_source_dirs = (struct strintmap *)((void *)0);
  if (dirs_removed) {
    info___0->relevant_source_dirs = dirs_removed;
  } else
  if (! relevant_sources) {
    info___0->relevant_source_dirs = dirs_removed;
  } else {
    tmp___0 = xmalloc(sizeof(struct strintmap ));
    info___0->relevant_source_dirs = (struct strintmap *)tmp___0;
    strintmap_init(info___0->relevant_source_dirs, 0);
    entry = (struct strmap_entry *)((void *)0);
    tmp___1 = hashmap_iter_first(& relevant_sources->map.map, & iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    entry = (struct strmap_entry *)tmp___2;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! entry) {
        goto while_break;
      }
      tmp___5 = get_dirname(entry->key);
      dirname___0 = tmp___5;
      if (! dirs_removed) {
        strintmap_set(info___0->relevant_source_dirs, (char const   *)dirname___0,
                      (intptr_t )0);
      } else {
        tmp___6 = strintmap_contains(dirs_removed, (char const   *)dirname___0);
        if (tmp___6) {
          strintmap_set(info___0->relevant_source_dirs, (char const   *)dirname___0,
                        (intptr_t )0);
        }
      }
      free((void *)dirname___0);
      tmp___3 = hashmap_iter_next(& iter___0);
      tmp___4 = container_of_or_null_offset((void *)tmp___3, (unsigned long )(& ((struct strmap_entry *)0)->ent));
      entry = (struct strmap_entry *)tmp___4;
    }
    while_break: /* CIL Label */ ;
    }
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < rename_dst_nr)) {
      goto while_break___0;
    }
    if (! (rename_dst + i)->is_rename) {
      filename___0 = (((rename_dst + i)->p)->two)->path;
      strintmap_set(& info___0->idx_map, (char const   *)filename___0, (intptr_t )i);
      goto __Cont;
    }
    update_dir_rename_counts(info___0, dirs_removed, (char const   *)(((rename_dst + i)->p)->one)->path,
                             (char const   *)(((rename_dst + i)->p)->two)->path);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  entry = (struct strmap_entry *)((void *)0);
  tmp___7 = hashmap_iter_first(& cached_pairs->map, & iter___0);
  tmp___8 = container_of_or_null_offset((void *)tmp___7, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  entry = (struct strmap_entry *)tmp___8;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! entry) {
      goto while_break___1;
    }
    old_name = entry->key;
    new_name = (char const   *)entry->value;
    if (! new_name) {
      goto __Cont___0;
    }
    update_dir_rename_counts(info___0, dirs_removed, old_name, new_name);
    __Cont___0: /* CIL Label */
    tmp___9 = hashmap_iter_next(& iter___0);
    tmp___10 = container_of_or_null_offset((void *)tmp___9, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    entry = (struct strmap_entry *)tmp___10;
  }
  while_break___1: /* CIL Label */ ;
  }
  entry = (struct strmap_entry *)((void *)0);
  tmp___11 = hashmap_iter_first(& (info___0->dir_rename_count)->map, & iter___0);
  tmp___12 = container_of_or_null_offset((void *)tmp___11, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  entry = (struct strmap_entry *)tmp___12;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! entry) {
      goto while_break___2;
    }
    counts = (struct strintmap *)entry->value;
    tmp___15 = get_highest_rename_path(counts);
    best_newdir = xstrdup(tmp___15);
    strmap_put(& info___0->dir_rename_guess, entry->key, (void *)best_newdir);
    tmp___13 = hashmap_iter_next(& iter___0);
    tmp___14 = container_of_or_null_offset((void *)tmp___13, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    entry = (struct strmap_entry *)tmp___14;
  }
  while_break___2: /* CIL Label */ ;
  }
  return;
}
}
void partial_clear_dir_rename_count(struct strmap *dir_rename_count )
{
  struct hashmap_iter iter___0 ;
  struct strmap_entry *entry ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;
  struct strintmap *counts ;

  {
  entry = (struct strmap_entry *)((void *)0);
  tmp = hashmap_iter_first(& dir_rename_count->map, & iter___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  entry = (struct strmap_entry *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! entry) {
      goto while_break;
    }
    counts = (struct strintmap *)entry->value;
    strintmap_clear(counts);
    tmp___1 = hashmap_iter_next(& iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    entry = (struct strmap_entry *)tmp___2;
  }
  while_break: /* CIL Label */ ;
  }
  strmap_partial_clear(dir_rename_count, 1);
  return;
}
}
static void cleanup_dir_rename_info(struct dir_rename_info *info___0 , struct strintmap *dirs_removed ,
                                    int keep_dir_rename_count )
{
  struct hashmap_iter iter___0 ;
  struct strmap_entry *entry ;
  struct string_list to_remove ;
  int i ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;
  char const   *source_dir ;
  struct strintmap *counts ;
  int tmp___3 ;
  int tmp___4 ;

  {
  to_remove.items = (struct string_list_item *)0;
  to_remove.nr = 0U;
  to_remove.alloc = 0U;
  to_remove.strdup_strings = 0U;
  to_remove.cmp = (int (*)(char const   * , char const   * ))0;
  if (! info___0->setup) {
    return;
  }
  strintmap_clear(& info___0->idx_map);
  strmap_clear(& info___0->dir_rename_guess, 1);
  if (info___0->relevant_source_dirs) {
    if ((unsigned long )info___0->relevant_source_dirs != (unsigned long )dirs_removed) {
      strintmap_clear(info___0->relevant_source_dirs);
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        free((void *)info___0->relevant_source_dirs);
        info___0->relevant_source_dirs = (struct strintmap *)((void *)0);
        goto while_break;
      }
      while_break: /* CIL Label */ ;
      }
    }
  }
  if (! keep_dir_rename_count) {
    partial_clear_dir_rename_count(info___0->dir_rename_count);
    strmap_clear(info___0->dir_rename_count, 1);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      free((void *)info___0->dir_rename_count);
      info___0->dir_rename_count = (struct strmap *)((void *)0);
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    return;
  }
  entry = (struct strmap_entry *)((void *)0);
  tmp = hashmap_iter_first(& (info___0->dir_rename_count)->map, & iter___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  entry = (struct strmap_entry *)tmp___0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! entry) {
      goto while_break___1;
    }
    source_dir = entry->key;
    counts = (struct strintmap *)entry->value;
    tmp___3 = strintmap_get(dirs_removed, source_dir);
    if (! tmp___3) {
      string_list_append(& to_remove, source_dir);
      strintmap_clear(counts);
      goto __Cont;
    }
    tmp___4 = strintmap_contains(counts, (char const   *)UNKNOWN_DIR);
    if (tmp___4) {
      strintmap_remove(counts, (char const   *)UNKNOWN_DIR);
    }
    __Cont: /* CIL Label */
    tmp___1 = hashmap_iter_next(& iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    entry = (struct strmap_entry *)tmp___2;
  }
  while_break___1: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((unsigned int )i < to_remove.nr)) {
      goto while_break___2;
    }
    strmap_remove(info___0->dir_rename_count, (char const   *)(to_remove.items + i)->string,
                  1);
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  string_list_clear(& to_remove, 0);
  return;
}
}
static char const   *get_basename(char const   *filename___0 )
{
  char const   *base ;
  char *tmp ;
  char const   *tmp___0 ;

  {
  tmp = strrchr(filename___0, '/');
  base = (char const   *)tmp;
  if (base) {
    tmp___0 = base + 1;
  } else {
    tmp___0 = filename___0;
  }
  return (tmp___0);
}
}
static int idx_possible_rename(char *filename___0 , struct dir_rename_info *info___0 )
{
  char *old_dir ;
  char *new_dir ;
  struct strbuf new_path___0 ;
  int idx___0 ;
  void *tmp ;
  char const   *tmp___0 ;

  {
  new_path___0.alloc = 0UL;
  new_path___0.len = 0UL;
  new_path___0.buf = strbuf_slopbuf;
  if (! info___0->setup) {
    return (-1);
  }
  old_dir = get_dirname((char const   *)filename___0);
  tmp = strmap_get(& info___0->dir_rename_guess, (char const   *)old_dir);
  new_dir = (char *)tmp;
  free((void *)old_dir);
  if (! new_dir) {
    return (-1);
  }
  strbuf_addstr(& new_path___0, (char const   *)new_dir);
  strbuf_addch(& new_path___0, '/');
  tmp___0 = get_basename((char const   *)filename___0);
  strbuf_addstr(& new_path___0, tmp___0);
  idx___0 = strintmap_get(& info___0->idx_map, (char const   *)new_path___0.buf);
  strbuf_release(& new_path___0);
  return (idx___0);
}
}
static void basename_prefetch(void *prefetch_options )
{
  struct basename_prefetch_options *options ;
  struct strintmap *relevant_sources ;
  struct strintmap *sources ;
  struct strintmap *dests ;
  struct dir_rename_info *info___0 ;
  int i ;
  struct oid_array to_fetch ;
  char *filename___0 ;
  char const   *base ;
  intptr_t src_index ;
  intptr_t dst_index ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct diff_filespec *one___0 ;
  struct diff_filespec *two___0 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  options = (struct basename_prefetch_options *)prefetch_options;
  relevant_sources = options->relevant_sources;
  sources = options->sources;
  dests = options->dests;
  info___0 = options->info;
  to_fetch.oid = (struct object_id *)0;
  to_fetch.nr = 0UL;
  to_fetch.alloc = 0UL;
  to_fetch.sorted = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < rename_src_nr)) {
      goto while_break;
    }
    filename___0 = (((rename_src + i)->p)->one)->path;
    base = (char const   *)((void *)0);
    if (relevant_sources) {
      tmp = strintmap_contains(relevant_sources, (char const   *)filename___0);
      if (! tmp) {
        goto __Cont;
      }
    }
    base = get_basename((char const   *)filename___0);
    tmp___0 = strintmap_get(sources, base);
    src_index = (intptr_t )tmp___0;
    if (src_index == -1L) {
      tmp___1 = 1;
    } else
    if (src_index == (intptr_t )i) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
    assert(tmp___1);
    tmp___4 = strintmap_contains(dests, base);
    if (tmp___4) {
      tmp___2 = strintmap_get(dests, base);
      dst_index = (intptr_t )tmp___2;
      if (src_index == -1L) {
        src_index = (intptr_t )i;
        tmp___3 = idx_possible_rename(filename___0, info___0);
        dst_index = (intptr_t )tmp___3;
      } else
      if (dst_index == -1L) {
        src_index = (intptr_t )i;
        tmp___3 = idx_possible_rename(filename___0, info___0);
        dst_index = (intptr_t )tmp___3;
      }
      if (dst_index == -1L) {
        goto __Cont;
      }
      if ((rename_dst + dst_index)->is_rename) {
        goto __Cont;
      }
      one___0 = ((rename_src + src_index)->p)->one;
      two___0 = ((rename_dst + dst_index)->p)->two;
      diff_add_if_missing(options->repo, & to_fetch, (struct diff_filespec  const  *)two___0);
      diff_add_if_missing(options->repo, & to_fetch, (struct diff_filespec  const  *)one___0);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  promisor_remote_get_direct(options->repo, (struct object_id  const  *)to_fetch.oid,
                             (int )to_fetch.nr);
  oid_array_clear(& to_fetch);
  return;
}
}
static int find_basename_matches(struct diff_options *options , int minimum_score ,
                                 struct dir_rename_info *info___0 , struct strintmap *relevant_sources ,
                                 struct strintmap *dirs_removed )
{
  int i ;
  int renames ;
  struct strintmap sources ;
  struct strintmap dests ;
  struct diff_populate_filespec_options dpf_options ;
  struct basename_prefetch_options prefetch_options ;
  char *filename___0 ;
  char const   *base ;
  int tmp ;
  char *filename___1 ;
  char const   *base___0 ;
  int tmp___0 ;
  int tmp___1 ;
  char *filename___2 ;
  char const   *base___1 ;
  intptr_t src_index ;
  intptr_t dst_index ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  struct diff_filespec *one___0 ;
  struct diff_filespec *two___0 ;
  int score ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  renames = 0;
  dpf_options.check_size_only = 0U;
  dpf_options.check_binary = 0U;
  dpf_options.missing_object_cb = (void (*)(void * ))((void *)0);
  dpf_options.missing_object_data = (void *)0;
  prefetch_options.repo = options->repo;
  prefetch_options.relevant_sources = relevant_sources;
  prefetch_options.sources = & sources;
  prefetch_options.dests = & dests;
  prefetch_options.info = info___0;
  strintmap_init_with_options(& sources, -1, (struct mem_pool *)((void *)0), 0);
  strintmap_init_with_options(& dests, -1, (struct mem_pool *)((void *)0), 0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < rename_src_nr)) {
      goto while_break;
    }
    filename___0 = (((rename_src + i)->p)->one)->path;
    assert(! (((rename_src + i)->p)->one)->rename_used);
    base = get_basename((char const   *)filename___0);
    tmp = strintmap_contains(& sources, base);
    if (tmp) {
      strintmap_set(& sources, base, (intptr_t )-1);
    } else {
      strintmap_set(& sources, base, (intptr_t )i);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < rename_dst_nr)) {
      goto while_break___0;
    }
    filename___1 = (((rename_dst + i)->p)->two)->path;
    if ((rename_dst + i)->is_rename) {
      goto __Cont;
    }
    base___0 = get_basename((char const   *)filename___1);
    tmp___0 = strintmap_contains(& dests, base___0);
    if (tmp___0) {
      strintmap_set(& dests, base___0, (intptr_t )-1);
    } else {
      strintmap_set(& dests, base___0, (intptr_t )i);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if ((unsigned long )options->repo == (unsigned long )the_repository) {
    tmp___1 = has_promisor_remote();
    if (tmp___1) {
      dpf_options.missing_object_cb = & basename_prefetch;
      dpf_options.missing_object_data = (void *)(& prefetch_options);
    }
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < rename_src_nr)) {
      goto while_break___1;
    }
    filename___2 = (((rename_src + i)->p)->one)->path;
    base___1 = (char const   *)((void *)0);
    if (relevant_sources) {
      tmp___2 = strintmap_contains(relevant_sources, (char const   *)filename___2);
      if (! tmp___2) {
        goto __Cont___0;
      }
    }
    base___1 = get_basename((char const   *)filename___2);
    tmp___3 = strintmap_get(& sources, base___1);
    src_index = (intptr_t )tmp___3;
    if (src_index == -1L) {
      tmp___4 = 1;
    } else
    if (src_index == (intptr_t )i) {
      tmp___4 = 1;
    } else {
      tmp___4 = 0;
    }
    assert(tmp___4);
    tmp___7 = strintmap_contains(& dests, base___1);
    if (tmp___7) {
      tmp___5 = strintmap_get(& dests, base___1);
      dst_index = (intptr_t )tmp___5;
      if (src_index == -1L) {
        src_index = (intptr_t )i;
        tmp___6 = idx_possible_rename(filename___2, info___0);
        dst_index = (intptr_t )tmp___6;
      } else
      if (dst_index == -1L) {
        src_index = (intptr_t )i;
        tmp___6 = idx_possible_rename(filename___2, info___0);
        dst_index = (intptr_t )tmp___6;
      }
      if (dst_index == -1L) {
        goto __Cont___0;
      }
      if ((rename_dst + dst_index)->is_rename) {
        goto __Cont___0;
      }
      one___0 = ((rename_src + src_index)->p)->one;
      two___0 = ((rename_dst + dst_index)->p)->two;
      score = estimate_similarity(options->repo, one___0, two___0, minimum_score,
                                  & dpf_options);
      if (score < minimum_score) {
        goto __Cont___0;
      }
      record_rename_pair((int )dst_index, (int )src_index, score);
      renames ++;
      update_dir_rename_counts(info___0, dirs_removed, (char const   *)one___0->path,
                               (char const   *)two___0->path);
      diff_free_filespec_blob(one___0);
      diff_free_filespec_blob(two___0);
    }
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  strintmap_clear(& sources);
  strintmap_clear(& dests);
  return (renames);
}
}
static void record_if_better(struct diff_score *m , struct diff_score *o )
{
  int i ;
  int worst ;
  int tmp ;
  int tmp___0 ;

  {
  worst = 0;
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 4)) {
      goto while_break;
    }
    tmp = score_compare((void const   *)(m + i), (void const   *)(m + worst));
    if (tmp > 0) {
      worst = i;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = score_compare((void const   *)(m + worst), (void const   *)o);
  if (tmp___0 > 0) {
    *(m + worst) = *o;
  }
  return;
}
}
static int too_many_rename_candidates(int num_destinations , int num_sources , struct diff_options *options )
{
  int rename_limit ;
  int i ;
  int limited_sources ;
  size_t tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  size_t tmp___3 ;

  {
  rename_limit = options->rename_limit;
  options->needed_rename_limit = 0;
  if (rename_limit <= 0) {
    return (0);
  }
  tmp = st_mult((size_t )num_destinations, (size_t )num_sources);
  tmp___0 = st_mult((size_t )rename_limit, (size_t )rename_limit);
  if (tmp <= tmp___0) {
    return (0);
  }
  if (num_sources > num_destinations) {
    options->needed_rename_limit = num_sources;
  } else {
    options->needed_rename_limit = num_destinations;
  }
  if (! options->flags.find_copies_harder) {
    return (1);
  }
  i = 0;
  limited_sources = i;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < num_sources)) {
      goto while_break;
    }
    tmp___1 = diff_unmodified_pair((rename_src + i)->p);
    if (tmp___1) {
      goto __Cont;
    }
    limited_sources ++;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = st_mult((size_t )num_destinations, (size_t )limited_sources);
  tmp___3 = st_mult((size_t )rename_limit, (size_t )rename_limit);
  if (tmp___2 <= tmp___3) {
    return (2);
  }
  return (1);
}
}
static int find_renames(struct diff_score *mx , int dst_cnt , int minimum_score ,
                        int copies , struct dir_rename_info *info___0 , struct strintmap *dirs_removed )
{
  int count___0 ;
  int i ;
  struct diff_rename_dst *dst ;

  {
  count___0 = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < dst_cnt * 4)) {
      goto while_break;
    }
    if ((mx + i)->dst < 0) {
      goto while_break;
    } else
    if ((int )(mx + i)->score < minimum_score) {
      goto while_break;
    }
    dst = rename_dst + (mx + i)->dst;
    if (dst->is_rename) {
      goto __Cont;
    }
    if (! copies) {
      if ((((rename_src + (mx + i)->src)->p)->one)->rename_used) {
        goto __Cont;
      }
    }
    record_rename_pair((mx + i)->dst, (mx + i)->src, (int )(mx + i)->score);
    count___0 ++;
    update_dir_rename_counts(info___0, dirs_removed, (char const   *)(((rename_src + (mx + i)->src)->p)->one)->path,
                             (char const   *)(((rename_dst + (mx + i)->dst)->p)->two)->path);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (count___0);
}
}
static void remove_unneeded_paths_from_src(int detecting_copies , struct strintmap *interesting___1 )
{
  int i ;
  int new_num_src ;
  struct diff_filespec *one___0 ;
  int tmp ;

  {
  if (detecting_copies) {
    if (! interesting___1) {
      return;
    }
  }
  if (break_idx) {
    return;
  }
  i = 0;
  new_num_src = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < rename_src_nr)) {
      goto while_break;
    }
    one___0 = ((rename_src + i)->p)->one;
    if (! detecting_copies) {
      if (one___0->rename_used) {
        goto __Cont;
      }
    }
    if (interesting___1) {
      tmp = strintmap_contains(interesting___1, (char const   *)one___0->path);
      if (! tmp) {
        goto __Cont;
      }
    }
    if (new_num_src < i) {
      memcpy((void *)(rename_src + new_num_src), (void const   *)(rename_src + i),
             sizeof(struct diff_rename_src ));
    }
    new_num_src ++;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  rename_src_nr = new_num_src;
  return;
}
}
static void handle_early_known_dir_renames(struct dir_rename_info *info___0 , struct strintmap *relevant_sources ,
                                           struct strintmap *dirs_removed )
{
  int i ;
  int new_num_src ;
  struct hashmap_iter iter___0 ;
  struct strmap_entry *entry ;
  char *old_dir ;
  struct diff_filespec *one___0 ;
  char *freeme ;
  int tmp ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;
  struct hashmap_entry *tmp___2 ;
  void *tmp___3 ;
  struct strintmap *counts ;
  int tmp___4 ;
  int tmp___5 ;
  struct diff_filespec *one___1 ;
  int val ;
  int removable ;
  char *dir ;
  char *tmp___6 ;
  char *freeme___0 ;
  int res ;
  int tmp___7 ;

  {
  if (! dirs_removed) {
    return;
  } else
  if (! relevant_sources) {
    return;
  }
  if (break_idx) {
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < rename_src_nr)) {
      goto while_break;
    }
    one___0 = ((rename_src + i)->p)->one;
    assert(! one___0->rename_used);
    old_dir = get_dirname((char const   *)one___0->path);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if ((int )*old_dir != 0) {
        tmp = strintmap_get(dirs_removed, (char const   *)old_dir);
        if (! (0 != tmp)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      freeme = old_dir;
      increment_count(info___0, old_dir, UNKNOWN_DIR);
      old_dir = get_dirname((char const   *)old_dir);
      free((void *)freeme);
    }
    while_break___0: /* CIL Label */ ;
    }
    free((void *)old_dir);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  entry = (struct strmap_entry *)((void *)0);
  tmp___0 = hashmap_iter_first(& (info___0->dir_rename_count)->map, & iter___0);
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  entry = (struct strmap_entry *)tmp___1;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! entry) {
      goto while_break___1;
    }
    counts = (struct strintmap *)entry->value;
    tmp___4 = strintmap_get(dirs_removed, entry->key);
    if (tmp___4 == 2) {
      tmp___5 = dir_rename_already_determinable(counts);
      if (tmp___5) {
        strintmap_set(dirs_removed, entry->key, (intptr_t )1);
      }
    }
    tmp___2 = hashmap_iter_next(& iter___0);
    tmp___3 = container_of_or_null_offset((void *)tmp___2, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    entry = (struct strmap_entry *)tmp___3;
  }
  while_break___1: /* CIL Label */ ;
  }
  i = 0;
  new_num_src = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < rename_src_nr)) {
      goto while_break___2;
    }
    one___1 = ((rename_src + i)->p)->one;
    val = strintmap_get(relevant_sources, (char const   *)one___1->path);
    assert(val != -1);
    if (val == 2) {
      removable = 1;
      tmp___6 = get_dirname((char const   *)one___1->path);
      dir = tmp___6;
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        freeme___0 = dir;
        tmp___7 = strintmap_get(dirs_removed, (char const   *)dir);
        res = tmp___7;
        if (res == 0) {
          goto while_break___3;
        }
        if (res == 2) {
          removable = 0;
          goto while_break___3;
        }
        assert(res == 1);
        dir = get_dirname((char const   *)dir);
        free((void *)freeme___0);
      }
      while_break___3: /* CIL Label */ ;
      }
      free((void *)dir);
      if (removable) {
        strintmap_set(relevant_sources, (char const   *)one___1->path, (intptr_t )0);
        goto __Cont;
      }
    }
    if (new_num_src < i) {
      memcpy((void *)(rename_src + new_num_src), (void const   *)(rename_src + i),
             sizeof(struct diff_rename_src ));
    }
    new_num_src ++;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  rename_src_nr = new_num_src;
  return;
}
}
static void free_filespec_data(struct diff_filespec *spec )
{


  {
  (spec->count) --;
  if (! spec->count) {
    diff_free_filespec_data(spec);
  }
  return;
}
}
static void pool_free_filespec(struct mem_pool *pool , struct diff_filespec *spec )
{


  {
  if (! pool) {
    free_filespec(spec);
    return;
  }
  free_filespec_data(spec);
  return;
}
}
void pool_diff_free_filepair(struct mem_pool *pool , struct diff_filepair *p___0 )
{


  {
  if (! pool) {
    diff_free_filepair(p___0);
    return;
  }
  free_filespec_data(p___0->one);
  free_filespec_data(p___0->two);
  return;
}
}
void diffcore_rename_extended(struct diff_options *options , struct mem_pool *pool ,
                              struct strintmap *relevant_sources , struct strintmap *dirs_removed ,
                              struct strmap *dir_rename_count , struct strmap *cached_pairs )
{
  int detect_rename ;
  int minimum_score ;
  struct diff_queue_struct *q ;
  struct diff_queue_struct outq ;
  struct diff_score *mx ;
  int i ;
  int j ;
  int rename_count ;
  int skip_unmodified ;
  int num_destinations ;
  int dst_cnt ;
  int num_sources ;
  int want_copies ;
  struct progress *progress___7 ;
  struct mem_pool local_pool ;
  struct dir_rename_info info___0 ;
  struct diff_populate_filespec_options dpf_options ;
  struct inexact_prefetch_options prefetch_options ;
  int tmp ;
  int tmp___0 ;
  struct diff_filepair *p___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  double factor ;
  char *basename_factor ;
  char *tmp___5 ;
  int min_basename_score ;
  long tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  size_t tmp___12 ;
  void *tmp___13 ;
  struct diff_filespec *two___0 ;
  struct diff_score *m ;
  struct diff_filespec *one___0 ;
  struct diff_score this_src ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  struct diff_filepair *p___1 ;
  struct diff_filepair *pair_to_free ;
  struct diff_rename_dst *dst ;
  struct diff_rename_dst *tmp___20 ;
  int tmp___21 ;

  {
  detect_rename = options->detect_rename;
  minimum_score = options->rename_score;
  q = & diff_queued_diff;
  skip_unmodified = 0;
  progress___7 = (struct progress *)((void *)0);
  dpf_options.check_size_only = 0U;
  dpf_options.check_binary = 0U;
  dpf_options.missing_object_cb = (void (*)(void * ))((void *)0);
  dpf_options.missing_object_data = (void *)0;
  prefetch_options.repo = options->repo;
  prefetch_options.skip_unmodified = 0;
  trace2_region_enter_fl((char const   *)"diffcore-rename.c", 1401, (char const   *)"diff",
                         (char const   *)"setup", (struct repository  const  *)options->repo);
  info___0.setup = 0U;
  if (! dir_rename_count) {
    tmp___0 = 1;
  } else {
    tmp = strmap_empty(dir_rename_count);
    if (tmp) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  }
  assert(tmp___0);
  want_copies = detect_rename == 2;
  if (dirs_removed) {
    if (break_idx) {
      BUG_fl((char const   *)"diffcore-rename.c", 1406, (char const   *)"dirs_removed incompatible with break/copy detection");
    } else
    if (want_copies) {
      BUG_fl((char const   *)"diffcore-rename.c", 1406, (char const   *)"dirs_removed incompatible with break/copy detection");
    }
  }
  if (break_idx) {
    if (relevant_sources) {
      BUG_fl((char const   *)"diffcore-rename.c", 1408, (char const   *)"break detection incompatible with source specification");
    }
  }
  if (! minimum_score) {
    minimum_score = 30000;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break;
    }
    p___0 = *(q->queue + i);
    if (! ((int )(p___0->one)->mode != 0)) {
      if (! ((int )(p___0->two)->mode != 0)) {
        goto __Cont;
      } else
      if (options->single_follow) {
        tmp___3 = strcmp(options->single_follow, (char const   *)(p___0->two)->path);
        if (tmp___3) {
          goto __Cont;
        } else {
          goto _L___0;
        }
      } else
      _L___0: /* CIL Label */
      if (! options->flags.rename_empty) {
        tmp___2 = is_empty_blob_oid((struct object_id  const  *)(& (p___0->two)->oid));
        if (tmp___2) {
          goto __Cont;
        } else {
          goto _L;
        }
      } else {
        _L: /* CIL Label */
        tmp___1 = add_rename_dst(p___0);
        if (tmp___1 < 0) {
          warning((char const   *)"skipping rename detection, detected duplicate destination \'%s\'",
                  (p___0->two)->path);
          goto cleanup;
        }
      }
    } else
    if (! options->flags.rename_empty) {
      tmp___4 = is_empty_blob_oid((struct object_id  const  *)(& (p___0->one)->oid));
      if (tmp___4) {
        goto __Cont;
      } else {
        goto _L___2;
      }
    } else
    _L___2: /* CIL Label */
    if (! p___0->is_unmerged) {
      if (! ((int )(p___0->two)->mode != 0)) {
        if (p___0->broken_pair) {
          if (! p___0->score) {
            ((p___0->one)->rename_used) ++;
          }
        }
        register_rename_src(p___0);
      } else {
        goto _L___1;
      }
    } else
    _L___1: /* CIL Label */
    if (want_copies) {
      ((p___0->one)->rename_used) ++;
      register_rename_src(p___0);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  trace2_region_leave_fl((char const   *)"diffcore-rename.c", 1454, (char const   *)"diff",
                         (char const   *)"setup", (struct repository  const  *)options->repo);
  if (rename_dst_nr == 0) {
    goto cleanup;
  } else
  if (rename_src_nr == 0) {
    goto cleanup;
  }
  trace2_region_enter_fl((char const   *)"diffcore-rename.c", 1458, (char const   *)"diff",
                         (char const   *)"exact renames", (struct repository  const  *)options->repo);
  mem_pool_init(& local_pool, (size_t )32768);
  rename_count = find_exact_renames(options, & local_pool);
  mem_pool_discard(& local_pool, 0);
  trace2_region_leave_fl((char const   *)"diffcore-rename.c", 1471, (char const   *)"diff",
                         (char const   *)"exact renames", (struct repository  const  *)options->repo);
  if ((double )minimum_score == 60000.0) {
    goto cleanup;
  }
  num_sources = rename_src_nr;
  if (want_copies) {
    trace2_region_enter_fl((char const   *)"diffcore-rename.c", 1485, (char const   *)"diff",
                           (char const   *)"cull after exact", (struct repository  const  *)options->repo);
    remove_unneeded_paths_from_src(want_copies, relevant_sources);
    trace2_region_leave_fl((char const   *)"diffcore-rename.c", 1487, (char const   *)"diff",
                           (char const   *)"cull after exact", (struct repository  const  *)options->repo);
  } else
  if (break_idx) {
    trace2_region_enter_fl((char const   *)"diffcore-rename.c", 1485, (char const   *)"diff",
                           (char const   *)"cull after exact", (struct repository  const  *)options->repo);
    remove_unneeded_paths_from_src(want_copies, relevant_sources);
    trace2_region_leave_fl((char const   *)"diffcore-rename.c", 1487, (char const   *)"diff",
                           (char const   *)"cull after exact", (struct repository  const  *)options->repo);
  } else {
    factor = 0.5;
    tmp___5 = getenv((char const   *)"GIT_BASENAME_FACTOR");
    basename_factor = tmp___5;
    if (basename_factor) {
      tmp___6 = strtol((char const   * __restrict  )basename_factor, (char ** __restrict  )((void *)0),
                       10);
      factor = (double )tmp___6 / 100.0;
    }
    if (factor >= 0.0) {
      if (factor <= 1.0) {
        tmp___7 = 1;
      } else {
        tmp___7 = 0;
      }
    } else {
      tmp___7 = 0;
    }
    assert(tmp___7);
    min_basename_score = minimum_score + (int )(factor * (60000.0 - (double )minimum_score));
    trace2_region_enter_fl((char const   *)"diffcore-rename.c", 1504, (char const   *)"diff",
                           (char const   *)"cull after exact", (struct repository  const  *)options->repo);
    remove_unneeded_paths_from_src(want_copies, (struct strintmap *)((void *)0));
    trace2_region_leave_fl((char const   *)"diffcore-rename.c", 1506, (char const   *)"diff",
                           (char const   *)"cull after exact", (struct repository  const  *)options->repo);
    trace2_region_enter_fl((char const   *)"diffcore-rename.c", 1509, (char const   *)"diff",
                           (char const   *)"dir rename setup", (struct repository  const  *)options->repo);
    initialize_dir_rename_info(& info___0, relevant_sources, dirs_removed, dir_rename_count,
                               cached_pairs);
    trace2_region_leave_fl((char const   *)"diffcore-rename.c", 1513, (char const   *)"diff",
                           (char const   *)"dir rename setup", (struct repository  const  *)options->repo);
    trace2_region_enter_fl((char const   *)"diffcore-rename.c", 1516, (char const   *)"diff",
                           (char const   *)"basename matches", (struct repository  const  *)options->repo);
    tmp___8 = find_basename_matches(options, min_basename_score, & info___0, relevant_sources,
                                    dirs_removed);
    rename_count += tmp___8;
    trace2_region_leave_fl((char const   *)"diffcore-rename.c", 1522, (char const   *)"diff",
                           (char const   *)"basename matches", (struct repository  const  *)options->repo);
    trace2_region_enter_fl((char const   *)"diffcore-rename.c", 1534, (char const   *)"diff",
                           (char const   *)"cull basename", (struct repository  const  *)options->repo);
    remove_unneeded_paths_from_src(want_copies, relevant_sources);
    handle_early_known_dir_renames(& info___0, relevant_sources, dirs_removed);
    trace2_region_leave_fl((char const   *)"diffcore-rename.c", 1538, (char const   *)"diff",
                           (char const   *)"cull basename", (struct repository  const  *)options->repo);
  }
  num_destinations = rename_dst_nr - rename_count;
  num_sources = rename_src_nr;
  if (! num_destinations) {
    goto cleanup;
  } else
  if (! num_sources) {
    goto cleanup;
  }
  tmp___9 = too_many_rename_candidates(num_destinations, num_sources, options);
  {
  if (tmp___9 == 1) {
    goto case_1;
  }
  if (tmp___9 == 2) {
    goto case_2;
  }
  goto switch_default;
  case_1: /* CIL Label */
  goto cleanup;
  case_2: /* CIL Label */
  options->degraded_cc_to_c = 1;
  skip_unmodified = 1;
  goto switch_break;
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  trace2_region_enter_fl((char const   *)"diffcore-rename.c", 1561, (char const   *)"diff",
                         (char const   *)"inexact renames", (struct repository  const  *)options->repo);
  if (options->show_rename_progress) {
    tmp___10 = _((char const   *)"Performing inexact rename detection");
    progress___7 = start_delayed_progress((char const   *)tmp___10, (uint64_t )num_destinations * (uint64_t )num_sources);
  }
  prefetch_options.skip_unmodified = skip_unmodified;
  if ((unsigned long )options->repo == (unsigned long )the_repository) {
    tmp___11 = has_promisor_remote();
    if (tmp___11) {
      dpf_options.missing_object_cb = & inexact_prefetch;
      dpf_options.missing_object_data = (void *)(& prefetch_options);
    }
  }
  tmp___12 = st_mult((size_t )4, (size_t )num_destinations);
  tmp___13 = xcalloc(tmp___12, sizeof(*mx));
  mx = (struct diff_score *)tmp___13;
  i = 0;
  dst_cnt = i;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < rename_dst_nr)) {
      goto while_break___0;
    }
    two___0 = ((rename_dst + i)->p)->two;
    if ((rename_dst + i)->is_rename) {
      goto __Cont___0;
    }
    m = mx + dst_cnt * 4;
    j = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (j < 4)) {
        goto while_break___1;
      }
      (m + j)->dst = -1;
      j ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    j = 0;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (j < rename_src_nr)) {
        goto while_break___2;
      }
      one___0 = ((rename_src + j)->p)->one;
      if (! one___0->rename_used) {
        tmp___14 = 1;
      } else
      if (want_copies) {
        tmp___14 = 1;
      } else
      if (break_idx) {
        tmp___14 = 1;
      } else {
        tmp___14 = 0;
      }
      assert(tmp___14);
      if (skip_unmodified) {
        tmp___15 = diff_unmodified_pair((rename_src + j)->p);
        if (tmp___15) {
          goto __Cont___1;
        }
      }
      tmp___16 = estimate_similarity(options->repo, one___0, two___0, minimum_score,
                                     & dpf_options);
      this_src.score = (unsigned short )tmp___16;
      tmp___17 = basename_same(one___0, two___0);
      this_src.name_score = (short )tmp___17;
      this_src.dst = i;
      this_src.src = j;
      record_if_better(m, & this_src);
      diff_free_filespec_blob(one___0);
      diff_free_filespec_blob(two___0);
      __Cont___1: /* CIL Label */
      j ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    dst_cnt ++;
    display_progress(progress___7, (uint64_t )dst_cnt * (uint64_t )num_sources);
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  stop_progress(& progress___7);
  git_stable_qsort((void *)mx, (size_t )(dst_cnt * 4), sizeof(*mx), & score_compare);
  tmp___18 = find_renames(mx, dst_cnt, minimum_score, 0, & info___0, dirs_removed);
  rename_count += tmp___18;
  if (want_copies) {
    tmp___19 = find_renames(mx, dst_cnt, minimum_score, 1, & info___0, dirs_removed);
    rename_count += tmp___19;
  }
  free((void *)mx);
  trace2_region_leave_fl((char const   *)"diffcore-rename.c", 1627, (char const   *)"diff",
                         (char const   *)"inexact renames", (struct repository  const  *)options->repo);
  cleanup:
  trace2_region_enter_fl((char const   *)"diffcore-rename.c", 1633, (char const   *)"diff",
                         (char const   *)"write back to queue", (struct repository  const  *)options->repo);
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    outq.queue = (struct diff_filepair **)((void *)0);
    outq.alloc = 0;
    outq.nr = outq.alloc;
    goto while_break___3;
  }
  while_break___3: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break___4;
    }
    p___1 = *(q->queue + i);
    pair_to_free = (struct diff_filepair *)((void *)0);
    if (p___1->is_unmerged) {
      diff_q(& outq, p___1);
    } else
    if (! ((int )(p___1->one)->mode != 0)) {
      if ((int )(p___1->two)->mode != 0) {
        diff_q(& outq, p___1);
      } else {
        goto _L___5;
      }
    } else
    _L___5: /* CIL Label */
    if ((int )(p___1->one)->mode != 0) {
      if (! ((int )(p___1->two)->mode != 0)) {
        if (! ((int )(p___1->one)->mode != 0) != ! ((int )(p___1->two)->mode != 0)) {
          if (p___1->broken_pair != 0U) {
            tmp___20 = locate_rename_dst(p___1);
            dst = tmp___20;
            if (! dst) {
              BUG_fl((char const   *)"diffcore-rename.c", 1667, (char const   *)"tracking failed somehow; failed to find associated dst for broken pair");
            }
            if (dst->is_rename) {
              pair_to_free = p___1;
            }
          } else {
            goto _L___3;
          }
        } else
        _L___3: /* CIL Label */
        if ((p___1->one)->rename_used) {
          pair_to_free = p___1;
        }
        if (! pair_to_free) {
          diff_q(& outq, p___1);
        }
      } else {
        goto _L___4;
      }
    } else {
      _L___4: /* CIL Label */
      tmp___21 = diff_unmodified_pair(p___1);
      if (tmp___21) {
        pair_to_free = p___1;
      } else {
        diff_q(& outq, p___1);
      }
    }
    if (pair_to_free) {
      pool_diff_free_filepair(pool, pair_to_free);
    }
    i ++;
  }
  while_break___4: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___5: /* CIL Label */ ;
    goto while_break___5;
  }
  while_break___5: /* CIL Label */ ;
  }
  free((void *)q->queue);
  *q = outq;
  {
  while (1) {
    while_continue___6: /* CIL Label */ ;
    goto while_break___6;
  }
  while_break___6: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___7: /* CIL Label */ ;
    if (! (i < rename_dst_nr)) {
      goto while_break___7;
    }
    if ((rename_dst + i)->filespec_to_free) {
      pool_free_filespec(pool, (rename_dst + i)->filespec_to_free);
    }
    i ++;
  }
  while_break___7: /* CIL Label */ ;
  }
  cleanup_dir_rename_info(& info___0, dirs_removed, (unsigned long )dir_rename_count != (unsigned long )((void *)0));
  {
  while (1) {
    while_continue___8: /* CIL Label */ ;
    free((void *)rename_dst);
    rename_dst = (struct diff_rename_dst *)((void *)0);
    goto while_break___8;
  }
  while_break___8: /* CIL Label */ ;
  }
  rename_dst_alloc = 0;
  rename_dst_nr = rename_dst_alloc;
  {
  while (1) {
    while_continue___9: /* CIL Label */ ;
    free((void *)rename_src);
    rename_src = (struct diff_rename_src *)((void *)0);
    goto while_break___9;
  }
  while_break___9: /* CIL Label */ ;
  }
  rename_src_alloc = 0;
  rename_src_nr = rename_src_alloc;
  if (break_idx) {
    strintmap_clear(break_idx);
    {
    while (1) {
      while_continue___10: /* CIL Label */ ;
      free((void *)break_idx);
      break_idx = (struct strintmap *)((void *)0);
      goto while_break___10;
    }
    while_break___10: /* CIL Label */ ;
    }
  }
  trace2_region_leave_fl((char const   *)"diffcore-rename.c", 1710, (char const   *)"diff",
                         (char const   *)"write back to queue", (struct repository  const  *)options->repo);
  return;
}
}
void diffcore_rename(struct diff_options *options )
{


  {
  diffcore_rename_extended(options, (struct mem_pool *)((void *)0), (struct strintmap *)((void *)0),
                           (struct strintmap *)((void *)0), (struct strmap *)((void *)0),
                           (struct strmap *)((void *)0));
  return;
}
}
static double const   __ac_HASH_UPPER___31  =    (double const   )0.77;
__inline static void kh_resize_oid_set___31(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___31(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___31 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___31 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___31(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___31(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___31(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___31(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___31(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___31(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___31 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___31 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___31(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___31(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___31(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___31(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___31(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___31(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___31 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___31 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___31(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___31(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___31(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___31(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
void diffcore_rotate(struct diff_options *opt___0 )
{
  struct diff_queue_struct *q ;
  struct diff_queue_struct outq ;
  int rotate_to ;
  int i ;
  int cmp___0 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  q = & diff_queued_diff;
  if (! q->nr) {
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break;
    }
    tmp = strcmp(opt___0->rotate_to, (char const   *)((*(q->queue + i))->two)->path);
    cmp___0 = tmp;
    if (! cmp___0) {
      goto while_break;
    }
    if (! opt___0->rotate_to_strict) {
      if (cmp___0 < 0) {
        goto while_break;
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (q->nr <= i) {
    if (opt___0->rotate_to_strict) {
      tmp___0 = _((char const   *)"No such path \'%s\' in the diff");
      die((char const   *)tmp___0, opt___0->rotate_to);
    }
    return;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    outq.queue = (struct diff_filepair **)((void *)0);
    outq.alloc = 0;
    outq.nr = outq.alloc;
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  rotate_to = i;
  i = rotate_to;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break___1;
    }
    diff_q(& outq, *(q->queue + i));
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < rotate_to)) {
      goto while_break___2;
    }
    if (opt___0->skip_instead_of_rotate) {
      diff_free_filepair(*(q->queue + i));
    } else {
      diff_q(& outq, *(q->queue + i));
    }
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  free((void *)q->queue);
  *q = outq;
  return;
}
}
struct dir_iterator *dir_iterator_begin(char const   *path___6 , unsigned int flags___0 ) ;
int dir_iterator_advance(struct dir_iterator *dir_iterator ) ;
int dir_iterator_abort(struct dir_iterator *dir_iterator ) ;
static int push_level(struct dir_iterator_int *iter___0 )
{
  struct dir_iterator_level *level ;
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  int tmp___2 ;
  int saved_errno ;
  int *tmp___3 ;
  int *tmp___4 ;
  int *tmp___5 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (iter___0->levels_nr + 1UL > iter___0->levels_alloc) {
      if (((iter___0->levels_alloc + 16UL) * 3UL) / 2UL < iter___0->levels_nr + 1UL) {
        iter___0->levels_alloc = iter___0->levels_nr + 1UL;
      } else {
        iter___0->levels_alloc = ((iter___0->levels_alloc + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*(iter___0->levels)), iter___0->levels_alloc);
      tmp___0 = xrealloc((void *)iter___0->levels, tmp);
      iter___0->levels = (struct dir_iterator_level *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = iter___0->levels_nr;
  (iter___0->levels_nr) ++;
  level = iter___0->levels + tmp___1;
  tmp___2 = git_is_dir_sep((int )*(iter___0->base.path.buf + (iter___0->base.path.len - 1UL)));
  if (! tmp___2) {
    strbuf_addch(& iter___0->base.path, '/');
  }
  level->prefix_len = iter___0->base.path.len;
  level->dir = opendir((char const   *)iter___0->base.path.buf);
  if (! level->dir) {
    tmp___3 = __errno_location();
    saved_errno = *tmp___3;
    tmp___4 = __errno_location();
    if (*tmp___4 != 2) {
      warning_errno((char const   *)"error opening directory \'%s\'", iter___0->base.path.buf);
    }
    (iter___0->levels_nr) --;
    tmp___5 = __errno_location();
    *tmp___5 = saved_errno;
    return (-1);
  }
  return (0);
}
}
static int pop_level(struct dir_iterator_int *iter___0 )
{
  struct dir_iterator_level *level ;
  int tmp ;

  {
  level = iter___0->levels + (iter___0->levels_nr - 1UL);
  if (level->dir) {
    tmp = closedir(level->dir);
    if (tmp) {
      warning_errno((char const   *)"error closing directory \'%s\'", iter___0->base.path.buf);
    }
  }
  level->dir = (DIR *)((void *)0);
  (iter___0->levels_nr) --;
  return ((int )iter___0->levels_nr);
}
}
static int prepare_next_entry_data(struct dir_iterator_int *iter___0 , struct dirent *de )
{
  int err___4 ;
  int saved_errno ;
  int *tmp ;
  int *tmp___0 ;
  int *tmp___1 ;

  {
  strbuf_addstr(& iter___0->base.path, (char const   *)(de->d_name));
  iter___0->base.relative_path = (char const   *)(iter___0->base.path.buf + (iter___0->levels + 0)->prefix_len);
  iter___0->base.__xpg_basename = (char const   *)(iter___0->base.path.buf + (iter___0->levels + (iter___0->levels_nr - 1UL))->prefix_len);
  if (iter___0->flags & (unsigned int )(1 << 1)) {
    err___4 = stat((char const   *)iter___0->base.path.buf, & iter___0->base.st);
  } else {
    err___4 = lstat((char const   *)iter___0->base.path.buf, & iter___0->base.st);
  }
  tmp = __errno_location();
  saved_errno = *tmp;
  if (err___4) {
    tmp___0 = __errno_location();
    if (*tmp___0 != 2) {
      warning_errno((char const   *)"failed to stat \'%s\'", iter___0->base.path.buf);
    }
  }
  tmp___1 = __errno_location();
  *tmp___1 = saved_errno;
  return (err___4);
}
}
int dir_iterator_advance(struct dir_iterator *dir_iterator )
{
  struct dir_iterator_int *iter___0 ;
  int *tmp ;
  int tmp___0 ;
  struct dirent *de ;
  struct dir_iterator_level *level ;
  int *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int *tmp___4 ;
  int tmp___5 ;
  int *tmp___6 ;
  int tmp___7 ;

  {
  iter___0 = (struct dir_iterator_int *)dir_iterator;
  if ((iter___0->base.st.st_mode & 61440U) == 16384U) {
    tmp___0 = push_level(iter___0);
    if (tmp___0) {
      tmp = __errno_location();
      if (*tmp != 2) {
        if (iter___0->flags & 1U) {
          goto error_out;
        }
      }
      if (iter___0->levels_nr == 0UL) {
        goto error_out;
      }
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    level = iter___0->levels + (iter___0->levels_nr - 1UL);
    strbuf_setlen(& iter___0->base.path, level->prefix_len);
    tmp___1 = __errno_location();
    *tmp___1 = 0;
    de = readdir(level->dir);
    if (! de) {
      tmp___4 = __errno_location();
      if (*tmp___4) {
        warning_errno((char const   *)"error reading directory \'%s\'", iter___0->base.path.buf);
        if (iter___0->flags & 1U) {
          goto error_out;
        }
      } else {
        tmp___3 = pop_level(iter___0);
        if (tmp___3 == 0) {
          tmp___2 = dir_iterator_abort(dir_iterator);
          return (tmp___2);
        }
      }
      goto while_continue;
    }
    tmp___5 = is_dot_or_dotdot((char const   *)(de->d_name));
    if (tmp___5) {
      goto while_continue;
    }
    tmp___7 = prepare_next_entry_data(iter___0, de);
    if (tmp___7) {
      tmp___6 = __errno_location();
      if (*tmp___6 != 2) {
        if (iter___0->flags & 1U) {
          goto error_out;
        }
      }
      goto while_continue;
    }
    return (0);
  }
  while_break: /* CIL Label */ ;
  }
  error_out:
  dir_iterator_abort(dir_iterator);
  return (-2);
}
}
int dir_iterator_abort(struct dir_iterator *dir_iterator )
{
  struct dir_iterator_int *iter___0 ;
  struct dir_iterator_level *level ;
  int saved_errno ;
  int *tmp ;
  int *tmp___0 ;
  int tmp___1 ;

  {
  iter___0 = (struct dir_iterator_int *)dir_iterator;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! iter___0->levels_nr) {
      goto while_break;
    }
    level = iter___0->levels + (iter___0->levels_nr - 1UL);
    if (level->dir) {
      tmp___1 = closedir(level->dir);
      if (tmp___1) {
        tmp = __errno_location();
        saved_errno = *tmp;
        strbuf_setlen(& iter___0->base.path, level->prefix_len);
        tmp___0 = __errno_location();
        *tmp___0 = saved_errno;
        warning_errno((char const   *)"error closing directory \'%s\'", iter___0->base.path.buf);
      }
    }
    (iter___0->levels_nr) --;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)iter___0->levels);
  strbuf_release(& iter___0->base.path);
  free((void *)iter___0);
  return (-1);
}
}
struct dir_iterator *dir_iterator_begin(char const   *path___6 , unsigned int flags___0 )
{
  struct dir_iterator_int *iter___0 ;
  void *tmp ;
  struct dir_iterator *dir_iterator ;
  int saved_errno ;
  size_t tmp___0 ;
  void *tmp___1 ;
  int *tmp___2 ;
  int tmp___3 ;
  int *tmp___4 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*iter___0));
  iter___0 = (struct dir_iterator_int *)tmp;
  dir_iterator = & iter___0->base;
  strbuf_init(& iter___0->base.path, (size_t )4096);
  strbuf_addstr(& iter___0->base.path, path___6);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (10UL > iter___0->levels_alloc) {
      if (((iter___0->levels_alloc + 16UL) * 3UL) / 2UL < 10UL) {
        iter___0->levels_alloc = (size_t )10;
      } else {
        iter___0->levels_alloc = ((iter___0->levels_alloc + 16UL) * 3UL) / 2UL;
      }
      tmp___0 = st_mult(sizeof(*(iter___0->levels)), iter___0->levels_alloc);
      tmp___1 = xrealloc((void *)iter___0->levels, tmp___0);
      iter___0->levels = (struct dir_iterator_level *)tmp___1;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  iter___0->levels_nr = (size_t )0;
  iter___0->flags = flags___0;
  tmp___3 = stat((char const   *)iter___0->base.path.buf, & iter___0->base.st);
  if (tmp___3 < 0) {
    tmp___2 = __errno_location();
    saved_errno = *tmp___2;
    goto error_out;
  }
  if (! ((iter___0->base.st.st_mode & 61440U) == 16384U)) {
    saved_errno = 20;
    goto error_out;
  }
  return (dir_iterator);
  error_out:
  dir_iterator_abort(dir_iterator);
  tmp___4 = __errno_location();
  *tmp___4 = saved_errno;
  return ((struct dir_iterator *)((void *)0));
}
}
static double const   __ac_HASH_UPPER___32  =    (double const   )0.77;
__inline static void kh_resize_oid_set___32(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___32(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___32 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___32 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___32(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___32(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___32(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___32(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___32(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___32(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___32 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___32 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___32(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___32(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___32(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___32(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___32(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___32(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___32 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___32 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___32(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___32(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___32(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___32(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___21(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___21(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___32 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___32 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___21(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___21(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___21(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___21(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
int encode_varint(uintmax_t value , unsigned char *buf___19 ) ;
uintmax_t decode_varint(unsigned char const   **bufp ) ;
static enum path_treatment read_directory_recursive(struct dir_struct *dir , struct index_state *istate ,
                                                    char const   *base , int baselen ,
                                                    struct untracked_cache_dir *untracked ,
                                                    int check_only , int stop_at_first_file ,
                                                    struct pathspec  const  *pathspec___1 ) ;
static int resolve_dtype(int dtype , struct index_state *istate , char const   *path___6 ,
                         int len___0 ) ;
struct dirent *readdir_skip_dot_and_dotdot(DIR *dirp )
{
  struct dirent *e ;
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    e = readdir(dirp);
    if (! ((unsigned long )e != (unsigned long )((void *)0))) {
      goto while_break;
    }
    tmp = is_dot_or_dotdot((char const   *)(e->d_name));
    if (! tmp) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (e);
}
}
int count_slashes(char const   *s___1 )
{
  int cnt ;
  char const   *tmp ;

  {
  cnt = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *s___1) {
      goto while_break;
    }
    tmp = s___1;
    s___1 ++;
    if ((int const   )*tmp == 47) {
      cnt ++;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (cnt);
}
}
int fspathcmp(char const   *a , char const   *b___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (ignore_case) {
    tmp = strcasecmp(a, b___0);
    tmp___1 = tmp;
  } else {
    tmp___0 = strcmp(a, b___0);
    tmp___1 = tmp___0;
  }
  return (tmp___1);
}
}
int fspatheq(char const   *a , char const   *b___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = fspathcmp(a, b___0);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
int fspathncmp(char const   *a , char const   *b___0 , size_t count___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (ignore_case) {
    tmp = strncasecmp(a, b___0, count___0);
    tmp___1 = tmp;
  } else {
    tmp___0 = strncmp(a, b___0, count___0);
    tmp___1 = tmp___0;
  }
  return (tmp___1);
}
}
unsigned int fspathhash(char const   *str )
{
  unsigned int tmp ;
  unsigned int tmp___0 ;
  unsigned int tmp___1 ;

  {
  if (ignore_case) {
    tmp = strihash(str);
    tmp___1 = tmp;
  } else {
    tmp___0 = strhash(str);
    tmp___1 = tmp___0;
  }
  return (tmp___1);
}
}
int git_fnmatch(struct pathspec_item  const  *item___0 , char const   *pattern___0 ,
                char const   *string___0 , int prefix___1 )
{
  int tmp ;
  int pattern_len ;
  size_t tmp___0 ;
  int string_len ;
  size_t tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  if (prefix___1 > 0) {
    tmp = ps_strncmp(item___0, pattern___0, string___0, (size_t )prefix___1);
    if (tmp) {
      return (1);
    }
    pattern___0 += prefix___1;
    string___0 += prefix___1;
  }
  if (item___0->flags & 1) {
    pattern___0 ++;
    tmp___0 = strlen(pattern___0);
    pattern_len = (int )tmp___0;
    tmp___1 = strlen(string___0);
    string_len = (int )tmp___1;
    if (string_len < pattern_len) {
      tmp___3 = 1;
    } else {
      tmp___2 = ps_strcmp(item___0, pattern___0, (string___0 + string_len) - pattern_len);
      if (tmp___2) {
        tmp___3 = 1;
      } else {
        tmp___3 = 0;
      }
    }
    return (tmp___3);
  }
  if (item___0->magic & (unsigned int )(1 << 3)) {
    if (item___0->magic & (unsigned int )(1 << 4)) {
      tmp___4 = 1;
    } else {
      tmp___4 = 0;
    }
    tmp___5 = wildmatch(pattern___0, string___0, (unsigned int )(2 | tmp___4));
    return (tmp___5);
  } else {
    if (item___0->magic & (unsigned int )(1 << 4)) {
      tmp___6 = 1;
    } else {
      tmp___6 = 0;
    }
    tmp___7 = wildmatch(pattern___0, string___0, (unsigned int )tmp___6);
    return (tmp___7);
  }
}
}
static int fnmatch_icase_mem(char const   *pattern___0 , int patternlen , char const   *string___0 ,
                             int stringlen , int flags___0 )
{
  int match_status ;
  struct strbuf pat_buf ;
  struct strbuf str_buf ;
  char const   *use_pat ;
  char const   *use_str ;

  {
  pat_buf.alloc = 0UL;
  pat_buf.len = 0UL;
  pat_buf.buf = strbuf_slopbuf;
  str_buf.alloc = 0UL;
  str_buf.len = 0UL;
  str_buf.buf = strbuf_slopbuf;
  use_pat = pattern___0;
  use_str = string___0;
  if (*(pattern___0 + patternlen)) {
    strbuf_add(& pat_buf, (void const   *)pattern___0, (size_t )patternlen);
    use_pat = (char const   *)pat_buf.buf;
  }
  if (*(string___0 + stringlen)) {
    strbuf_add(& str_buf, (void const   *)string___0, (size_t )stringlen);
    use_str = (char const   *)str_buf.buf;
  }
  if (ignore_case) {
    flags___0 |= 1;
  }
  match_status = wildmatch(use_pat, use_str, (unsigned int )flags___0);
  strbuf_release(& pat_buf);
  strbuf_release(& str_buf);
  return (match_status);
}
}
static size_t common_prefix_len(struct pathspec  const  *pathspec___1 )
{
  int n ;
  size_t max ;
  size_t i ;
  size_t len___0 ;
  size_t item_len ;
  char c___0 ;

  {
  max = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (pathspec___1->magic & (unsigned int )(~ ((((((1 | (1 << 1)) | (1 << 2)) | (1 << 3)) | (1 << 4)) | (1 << 5)) | (1 << 6)))) {
      BUG_fl((char const   *)"dir.c", 171, (char const   *)"unsupported magic %x",
             pathspec___1->magic & (unsigned int )(~ ((((((1 | (1 << 1)) | (1 << 2)) | (1 << 3)) | (1 << 4)) | (1 << 5)) | (1 << 6))));
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  n = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (n < (int )pathspec___1->nr)) {
      goto while_break___0;
    }
    i = (size_t )0;
    len___0 = (size_t )0;
    if ((pathspec___1->items + n)->magic & (unsigned int )(1 << 5)) {
      goto __Cont;
    }
    if ((pathspec___1->items + n)->magic & (unsigned int )(1 << 4)) {
      item_len = (size_t )(pathspec___1->items + n)->prefix;
    } else {
      item_len = (size_t )(pathspec___1->items + n)->nowildcard_len;
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (i < item_len) {
        if (! (n == 0)) {
          if (! (i < max)) {
            goto while_break___1;
          }
        }
      } else {
        goto while_break___1;
      }
      c___0 = *((pathspec___1->items + n)->match + i);
      if ((int )c___0 != (int )*((pathspec___1->items + 0)->match + i)) {
        goto while_break___1;
      }
      if ((int )c___0 == 47) {
        len___0 = i + 1UL;
      }
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (n == 0) {
      goto _L;
    } else
    if (len___0 < max) {
      _L: /* CIL Label */
      max = len___0;
      if (! max) {
        goto while_break___0;
      }
    }
    __Cont: /* CIL Label */
    n ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (max);
}
}
char *common_prefix(struct pathspec  const  *pathspec___1 )
{
  unsigned long len___0 ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  tmp = common_prefix_len(pathspec___1);
  len___0 = tmp;
  if (len___0) {
    tmp___0 = xmemdupz((void const   *)(pathspec___1->items + 0)->match, len___0);
    tmp___1 = tmp___0;
  } else {
    tmp___1 = (void *)0;
  }
  return ((char *)tmp___1);
}
}
int fill_directory(struct dir_struct *dir , struct index_state *istate , struct pathspec  const  *pathspec___1 )
{
  char const   *prefix___1 ;
  size_t prefix_len___1 ;
  unsigned int exclusive_flags ;

  {
  exclusive_flags = 33U;
  if (((unsigned int )dir->flags & exclusive_flags) == exclusive_flags) {
    BUG_fl((char const   *)"dir.c", 218, (char const   *)"DIR_SHOW_IGNORED and DIR_SHOW_IGNORED_TOO are exclusive");
  }
  prefix_len___1 = common_prefix_len(pathspec___1);
  if (prefix_len___1) {
    prefix___1 = (char const   *)(pathspec___1->items + 0)->match;
  } else {
    prefix___1 = (char const   *)"";
  }
  read_directory(dir, istate, prefix___1, (int )prefix_len___1, pathspec___1);
  return ((int )prefix_len___1);
}
}
int within_depth(char const   *name___0 , int namelen , int depth___1 , int max_depth___0 )
{
  char const   *cp ;
  char const   *cpe ;
  char const   *tmp ;

  {
  cp = name___0;
  cpe = name___0 + namelen;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )cp < (unsigned long )cpe)) {
      goto while_break;
    }
    tmp = cp;
    cp ++;
    if ((int const   )*tmp != 47) {
      goto while_continue;
    }
    depth___1 ++;
    if (depth___1 > max_depth___0) {
      return (0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static int do_read_blob(struct object_id  const  *oid , struct oid_stat *oid_stat ,
                        size_t *size_out , char **data_out )
{
  enum object_type type___0 ;
  unsigned long sz ;
  char *data ;
  void *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  unsigned long tmp___2 ;

  {
  *size_out = (size_t )0;
  *data_out = (char *)((void *)0);
  tmp = repo_read_object_file(the_repository, oid, & type___0, & sz);
  data = (char *)tmp;
  if (! data) {
    free((void *)data);
    return (-1);
  } else
  if ((int )type___0 != 3) {
    free((void *)data);
    return (-1);
  }
  if (oid_stat) {
    memset((void *)(& oid_stat->stat), 0, sizeof(oid_stat->stat));
    oidcpy(& oid_stat->oid, oid);
  }
  if (sz == 0UL) {
    free((void *)data);
    return (0);
  }
  if ((int )*(data + (sz - 1UL)) != 10) {
    tmp___0 = st_add(sz, (size_t )1);
    tmp___1 = xrealloc((void *)data, tmp___0);
    data = (char *)tmp___1;
    tmp___2 = sz;
    sz ++;
    *(data + tmp___2) = (char )'\n';
  }
  *size_out = xsize_t((off_t )sz);
  *data_out = data;
  return (1);
}
}
static int match_pathspec_item(struct index_state *istate , struct pathspec_item  const  *item___0 ,
                               int prefix___1 , char const   *name___0 , int namelen ,
                               unsigned int flags___0 )
{
  char const   *match___0 ;
  int matchlen ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int offset___2 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  match___0 = (char const   *)(item___0->match + prefix___1);
  matchlen = (int )(item___0->len - (int )prefix___1);
  if (item___0->prefix) {
    if (item___0->magic & (unsigned int )(1 << 4)) {
      tmp = strncmp((char const   *)item___0->match, name___0 - prefix___1, (size_t )item___0->prefix);
      if (tmp) {
        return (0);
      }
    }
  }
  if (item___0->attr_match_nr) {
    tmp___0 = match_pathspec_attrs(istate, name___0, namelen, item___0);
    if (! tmp___0) {
      return (0);
    }
  }
  if (! *match___0) {
    return (1);
  }
  if (matchlen <= namelen) {
    tmp___2 = ps_strncmp(item___0, match___0, name___0, (size_t )matchlen);
    if (tmp___2) {
      goto _L;
    } else {
      if (matchlen == namelen) {
        return (4);
      }
      if ((int const   )*(match___0 + (matchlen - 1)) == 47) {
        return (1);
      } else
      if ((int const   )*(name___0 + matchlen) == 47) {
        return (1);
      }
    }
  } else
  _L: /* CIL Label */
  if (flags___0 & (unsigned int )(1 << 1)) {
    if ((int const   )*(match___0 + (matchlen - 1)) == 47) {
      if (namelen == matchlen - 1) {
        tmp___1 = ps_strncmp(item___0, match___0, name___0, (size_t )namelen);
        if (! tmp___1) {
          return (4);
        }
      }
    }
  }
  if (item___0->nowildcard_len < item___0->len) {
    tmp___3 = git_fnmatch(item___0, match___0, name___0, (int )(item___0->nowildcard_len - (int )prefix___1));
    if (! tmp___3) {
      return (3);
    }
  }
  if (flags___0 & (unsigned int )(1 << 2)) {
    if (! (flags___0 & 1U)) {
      if ((int const   )*(name___0 + (namelen - 1)) == 47) {
        tmp___4 = 1;
      } else {
        tmp___4 = 0;
      }
      offset___2 = tmp___4;
      if (namelen < matchlen) {
        if ((int const   )*(match___0 + (namelen - offset___2)) == 47) {
          tmp___5 = ps_strncmp(item___0, match___0, name___0, (size_t )namelen);
          if (! tmp___5) {
            return (2);
          }
        }
      }
      if (item___0->nowildcard_len < item___0->len) {
        tmp___6 = ps_strncmp(item___0, match___0, name___0, (size_t )(item___0->nowildcard_len - (int )prefix___1));
        if (tmp___6) {
          return (0);
        }
      }
      if (item___0->nowildcard_len == item___0->len) {
        return (0);
      }
      return (2);
    }
  }
  return (0);
}
}
static int do_match_pathspec(struct index_state *istate , struct pathspec  const  *ps ,
                             char const   *name___0 , int namelen , int prefix___1 ,
                             char *seen___0 , unsigned int flags___0 )
{
  int i ;
  int retval ;
  int exclude ;
  int tmp ;
  int how ;
  int len___0 ;
  int tmp___0 ;

  {
  retval = 0;
  exclude = (int )(flags___0 & 1U);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (ps->magic & (unsigned int )(~ ((((((1 | (1 << 1)) | (1 << 2)) | (1 << 3)) | (1 << 4)) | (1 << 5)) | (1 << 6)))) {
      BUG_fl((char const   *)"dir.c", 462, (char const   *)"unsupported magic %x",
             ps->magic & (unsigned int )(~ ((((((1 | (1 << 1)) | (1 << 2)) | (1 << 3)) | (1 << 4)) | (1 << 5)) | (1 << 6))));
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (! ps->nr) {
    if (! ps->recursive) {
      return (1);
    } else
    if (! (ps->magic & (unsigned int )(1 << 1))) {
      return (1);
    } else
    if (ps->max_depth == -1) {
      return (1);
    }
    tmp = within_depth(name___0, namelen, 0, (int )ps->max_depth);
    if (tmp) {
      return (4);
    } else {
      return (0);
    }
  }
  name___0 += prefix___1;
  namelen -= prefix___1;
  i = (int )(ps->nr - 1);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i >= 0)) {
      goto while_break___0;
    }
    if (! exclude) {
      if ((ps->items + i)->magic & (unsigned int )(1 << 5)) {
        goto __Cont;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (exclude) {
      if (! ((ps->items + i)->magic & (unsigned int )(1 << 5))) {
        goto __Cont;
      }
    }
    if (seen___0) {
      if ((int )*(seen___0 + i) == 4) {
        goto __Cont;
      }
    }
    if (seen___0) {
      if ((ps->items + i)->magic & (unsigned int )(1 << 5)) {
        *(seen___0 + i) = (char)3;
      }
    }
    how = match_pathspec_item(istate, (struct pathspec_item  const  *)(ps->items + i),
                              prefix___1, name___0, namelen, flags___0);
    if (ps->recursive) {
      if (ps->magic & (unsigned int )(1 << 1)) {
        if (ps->max_depth != -1) {
          if (how) {
            if (how != 3) {
              len___0 = (ps->items + i)->len;
              if ((int const   )*(name___0 + len___0) == 47) {
                len___0 ++;
              }
              tmp___0 = within_depth(name___0 + len___0, namelen - len___0, 0, (int )ps->max_depth);
              if (tmp___0) {
                how = 4;
              } else {
                how = 0;
              }
            }
          }
        }
      }
    }
    if (how) {
      if (retval < how) {
        retval = how;
      }
      if (seen___0) {
        if ((int )*(seen___0 + i) < how) {
          *(seen___0 + i) = (char )how;
        }
      }
    }
    __Cont: /* CIL Label */
    i --;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (retval);
}
}
static int match_pathspec_with_flags(struct index_state *istate , struct pathspec  const  *ps ,
                                     char const   *name___0 , int namelen , int prefix___1 ,
                                     char *seen___0 , unsigned int flags___0 )
{
  int positive ;
  int negative ;
  int tmp ;

  {
  positive = do_match_pathspec(istate, ps, name___0, namelen, prefix___1, seen___0,
                               flags___0);
  if (! (ps->magic & (unsigned int )(1 << 5))) {
    return (positive);
  } else
  if (! positive) {
    return (positive);
  }
  negative = do_match_pathspec(istate, ps, name___0, namelen, prefix___1, seen___0,
                               flags___0 | 1U);
  if (negative) {
    tmp = 0;
  } else {
    tmp = positive;
  }
  return (tmp);
}
}
int match_pathspec(struct index_state *istate , struct pathspec  const  *ps , char const   *name___0 ,
                   int namelen , int prefix___1 , char *seen___0 , int is_dir )
{
  unsigned int flags___0 ;
  int tmp ;
  int tmp___0 ;

  {
  if (is_dir) {
    tmp = 1 << 1;
  } else {
    tmp = 0;
  }
  flags___0 = (unsigned int )tmp;
  tmp___0 = match_pathspec_with_flags(istate, ps, name___0, namelen, prefix___1, seen___0,
                                      flags___0);
  return (tmp___0);
}
}
int submodule_path_match(struct index_state *istate , struct pathspec  const  *ps ,
                         char const   *submodule_name , char *seen___0 )
{
  int matched ;
  size_t tmp ;
  int tmp___0 ;

  {
  tmp = strlen(submodule_name);
  tmp___0 = match_pathspec_with_flags(istate, ps, submodule_name, (int )tmp, 0, seen___0,
                                      (unsigned int )((1 << 1) | (1 << 2)));
  matched = tmp___0;
  return (matched);
}
}
int report_path_error(char const   *ps_matched___1 , struct pathspec  const  *pathspec___1 )
{
  int num ;
  int errors ;
  int other ;
  int found_dup ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  errors = 0;
  num = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (num < (int )pathspec___1->nr)) {
      goto while_break;
    }
    if (*(ps_matched___1 + num)) {
      goto __Cont;
    }
    other = 0;
    found_dup = other;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! found_dup) {
        if (! (other < (int )pathspec___1->nr)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      if (other == num) {
        goto __Cont___0;
      } else
      if (! *(ps_matched___1 + other)) {
        goto __Cont___0;
      }
      tmp = strcmp((char const   *)(pathspec___1->items + other)->original, (char const   *)(pathspec___1->items + num)->original);
      if (! tmp) {
        found_dup = 1;
      }
      __Cont___0: /* CIL Label */
      other ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (found_dup) {
      goto __Cont;
    }
    tmp___0 = _((char const   *)"pathspec \'%s\' did not match any file(s) known to git");
    error((char const   *)tmp___0, (pathspec___1->items + num)->original);
    const_error();
    errors ++;
    __Cont: /* CIL Label */
    num ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (errors);
}
}
int simple_length(char const   *match___0 )
{
  int len___0 ;
  unsigned char c___0 ;
  char const   *tmp ;

  {
  len___0 = -1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = match___0;
    match___0 ++;
    c___0 = (unsigned char )*tmp;
    len___0 ++;
    if ((int )c___0 == 0) {
      return (len___0);
    } else
    if (((int const   )sane_ctype[c___0] & 8) != 0) {
      return (len___0);
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
int no_wildcard(char const   *string___0 )
{
  int tmp ;

  {
  tmp = simple_length(string___0);
  return ((int const   )*(string___0 + tmp) == 0);
}
}
void parse_path_pattern(char const   **pattern___0 , int *patternlen , unsigned int *flags___0 ,
                        int *nowildcardlen )
{
  char const   *p___0 ;
  size_t i ;
  size_t len___0 ;
  int tmp ;

  {
  p___0 = *pattern___0;
  *flags___0 = 0U;
  if ((int const   )*p___0 == 33) {
    *flags___0 |= 16U;
    p___0 ++;
  }
  len___0 = strlen(p___0);
  if (len___0) {
    if ((int const   )*(p___0 + (len___0 - 1UL)) == 47) {
      len___0 --;
      *flags___0 |= 8U;
    }
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < len___0)) {
      goto while_break;
    }
    if ((int const   )*(p___0 + i) == 47) {
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (i == len___0) {
    *flags___0 |= 1U;
  }
  *nowildcardlen = simple_length(p___0);
  if ((size_t )*nowildcardlen > len___0) {
    *nowildcardlen = (int )len___0;
  }
  if ((int const   )*p___0 == 42) {
    tmp = no_wildcard(p___0 + 1);
    if (tmp) {
      *flags___0 |= 4U;
    }
  }
  *pattern___0 = p___0;
  *patternlen = (int )len___0;
  return;
}
}
int pl_hashmap_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *a ,
                   struct hashmap_entry  const  *b___0 , void const   *key___1 )
{
  struct pattern_entry  const  *ee1 ;
  struct pattern_entry  const  *ee2 ;
  size_t min_len ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  ee1 = (struct pattern_entry  const  *)((struct pattern_entry *)((char *)a - (unsigned long )(& ((struct pattern_entry *)0)->ent)));
  ee2 = (struct pattern_entry  const  *)((struct pattern_entry *)((char *)b___0 - (unsigned long )(& ((struct pattern_entry *)0)->ent)));
  if (ee1->patternlen <= ee2->patternlen) {
    tmp = ee1->patternlen;
  } else {
    tmp = ee2->patternlen;
  }
  min_len = (size_t )tmp;
  if (ignore_case) {
    tmp___0 = strncasecmp((char const   *)ee1->pattern, (char const   *)ee2->pattern,
                          min_len);
    return (tmp___0);
  }
  tmp___1 = strncmp((char const   *)ee1->pattern, (char const   *)ee2->pattern, min_len);
  return (tmp___1);
}
}
static char *dup_and_filter_pattern(char const   *pattern___0 )
{
  char *set ;
  char *read___0 ;
  size_t count___0 ;
  char *result___0 ;
  char *tmp ;

  {
  count___0 = (size_t )0;
  tmp = xstrdup(pattern___0);
  result___0 = tmp;
  set = result___0;
  read___0 = result___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *read___0) {
      goto while_break;
    }
    if ((int )*read___0 == 92) {
      read___0 ++;
    }
    *set = *read___0;
    set ++;
    read___0 ++;
    count___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  *set = (char)0;
  if (count___0 > 2UL) {
    if ((int )*(set - 1) == 42) {
      if ((int )*(set - 2) == 47) {
        *(set - 2) = (char)0;
      }
    }
  }
  return (result___0);
}
}
static void add_pattern_to_hashsets(struct pattern_list *pl , struct path_pattern *given )
{
  struct pattern_entry *translated ;
  char *truncated ;
  char *data ;
  char const   *prev ;
  char const   *cur ;
  char const   *next___2 ;
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  void *tmp___5 ;
  unsigned int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  struct hashmap_entry *tmp___8 ;
  void *tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  void *tmp___12 ;
  unsigned int tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  struct hashmap_entry *tmp___15 ;
  void *tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;

  {
  data = (char *)((void *)0);
  if (! pl->use_cone_patterns) {
    return;
  }
  if (given->flags & 16U) {
    if (given->flags & 8U) {
      tmp = strcmp(given->pattern, (char const   *)"/*");
      if (! tmp) {
        pl->full_cone = 0U;
        return;
      }
    }
  }
  if (! given->flags) {
    tmp___0 = strcmp(given->pattern, (char const   *)"/*");
    if (! tmp___0) {
      pl->full_cone = 1U;
      return;
    }
  }
  if (given->patternlen < 2) {
    tmp___1 = _((char const   *)"unrecognized pattern: \'%s\'");
    warning((char const   *)tmp___1, given->pattern);
    goto clear_hashmaps;
  } else
  if ((int const   )*(given->pattern) != 47) {
    tmp___1 = _((char const   *)"unrecognized pattern: \'%s\'");
    warning((char const   *)tmp___1, given->pattern);
    goto clear_hashmaps;
  } else {
    tmp___2 = strstr(given->pattern, (char const   *)"**");
    if (tmp___2) {
      tmp___1 = _((char const   *)"unrecognized pattern: \'%s\'");
      warning((char const   *)tmp___1, given->pattern);
      goto clear_hashmaps;
    }
  }
  prev = given->pattern;
  cur = given->pattern + 1;
  next___2 = given->pattern + 2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *cur) {
      goto while_break;
    }
    if (! (((int const   )sane_ctype[(unsigned char )*cur] & 8) != 0)) {
      goto increment;
    }
    if ((int const   )*prev == 92) {
      goto increment;
    }
    if ((int const   )*cur == 92) {
      if (((int const   )sane_ctype[(unsigned char )*next___2] & 8) != 0) {
        goto increment;
      }
    }
    if ((int const   )*prev == 47) {
      if ((int const   )*cur == 42) {
        if ((int const   )*next___2 == 0) {
          goto increment;
        }
      }
    }
    tmp___3 = _((char const   *)"unrecognized pattern: \'%s\'");
    warning((char const   *)tmp___3, given->pattern);
    goto clear_hashmaps;
    increment:
    prev ++;
    cur ++;
    next___2 ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (given->patternlen > 2) {
    tmp___10 = strcmp((given->pattern + given->patternlen) - 2, (char const   *)"/*");
    if (! tmp___10) {
      if (! (given->flags & 16U)) {
        tmp___4 = _((char const   *)"unrecognized pattern: \'%s\'");
        warning((char const   *)tmp___4, given->pattern);
        goto clear_hashmaps;
      }
      truncated = dup_and_filter_pattern(given->pattern);
      tmp___5 = xmalloc(sizeof(struct pattern_entry ));
      translated = (struct pattern_entry *)tmp___5;
      translated->pattern = truncated;
      translated->patternlen = (size_t )(given->patternlen - 2);
      tmp___6 = fspathhash((char const   *)translated->pattern);
      hashmap_entry_init(& translated->ent, tmp___6);
      tmp___8 = hashmap_get((struct hashmap  const  *)(& pl->recursive_hashmap), (struct hashmap_entry  const  *)(& translated->ent),
                            (void const   *)((void *)0));
      tmp___9 = container_of_or_null_offset((void *)tmp___8, (unsigned long )(& ((struct pattern_entry *)0)->ent));
      if (! tmp___9) {
        tmp___7 = _((char const   *)"unrecognized negative pattern: \'%s\'");
        warning((char const   *)tmp___7, given->pattern);
        free((void *)truncated);
        free((void *)translated);
        goto clear_hashmaps;
      }
      hashmap_add(& pl->parent_hashmap, & translated->ent);
      hashmap_remove(& pl->recursive_hashmap, (struct hashmap_entry  const  *)(& translated->ent),
                     (void const   *)(& data));
      free((void *)data);
      return;
    }
  }
  if (given->flags & 16U) {
    tmp___11 = _((char const   *)"unrecognized negative pattern: \'%s\'");
    warning((char const   *)tmp___11, given->pattern);
    goto clear_hashmaps;
  }
  tmp___12 = xmalloc(sizeof(struct pattern_entry ));
  translated = (struct pattern_entry *)tmp___12;
  translated->pattern = dup_and_filter_pattern(given->pattern);
  translated->patternlen = (size_t )given->patternlen;
  tmp___13 = fspathhash((char const   *)translated->pattern);
  hashmap_entry_init(& translated->ent, tmp___13);
  hashmap_add(& pl->recursive_hashmap, & translated->ent);
  tmp___15 = hashmap_get((struct hashmap  const  *)(& pl->parent_hashmap), (struct hashmap_entry  const  *)(& translated->ent),
                         (void const   *)((void *)0));
  tmp___16 = container_of_or_null_offset((void *)tmp___15, (unsigned long )(& ((struct pattern_entry *)0)->ent));
  if (tmp___16) {
    tmp___14 = _((char const   *)"your sparse-checkout file may have issues: pattern \'%s\' is repeated");
    warning((char const   *)tmp___14, given->pattern);
    goto clear_hashmaps;
  }
  return;
  clear_hashmaps:
  tmp___17 = _((char const   *)"disabling cone pattern matching");
  warning((char const   *)tmp___17);
  hashmap_clear_(& pl->parent_hashmap, (ssize_t )((unsigned long )(& ((struct pattern_entry *)0)->ent)));
  hashmap_clear_(& pl->recursive_hashmap, (ssize_t )((unsigned long )(& ((struct pattern_entry *)0)->ent)));
  pl->use_cone_patterns = 0U;
  return;
}
}
static int hashmap_contains_path(struct hashmap *map___0 , struct strbuf *pattern___0 )
{
  struct pattern_entry p___0 ;
  unsigned int tmp ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;

  {
  p___0.pattern = pattern___0->buf;
  p___0.patternlen = pattern___0->len;
  tmp = fspathhash((char const   *)p___0.pattern);
  hashmap_entry_init(& p___0.ent, tmp);
  tmp___0 = hashmap_get((struct hashmap  const  *)map___0, (struct hashmap_entry  const  *)(& p___0.ent),
                        (void const   *)((void *)0));
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct pattern_entry *)0)->ent));
  if (tmp___1) {
    tmp___2 = 1;
  } else {
    tmp___2 = 0;
  }
  return (tmp___2);
}
}
int hashmap_contains_parent(struct hashmap *map___0 , char const   *path___6 , struct strbuf *buffer___5 )
{
  char *slash_pos ;
  int tmp ;

  {
  strbuf_setlen(buffer___5, (size_t )0);
  if ((int const   )*(path___6 + 0) != 47) {
    strbuf_addch(buffer___5, '/');
  }
  strbuf_addstr(buffer___5, path___6);
  slash_pos = strrchr((char const   *)buffer___5->buf, '/');
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )slash_pos > (unsigned long )buffer___5->buf)) {
      goto while_break;
    }
    strbuf_setlen(buffer___5, (size_t )(slash_pos - buffer___5->buf));
    tmp = hashmap_contains_path(map___0, buffer___5);
    if (tmp) {
      return (1);
    }
    slash_pos = strrchr((char const   *)buffer___5->buf, '/');
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
void add_pattern(char const   *string___0 , char const   *base , int baselen , struct pattern_list *pl ,
                 int srcpos )
{
  struct path_pattern *pattern___0 ;
  int patternlen ;
  unsigned int flags___0 ;
  int nowildcardlen ;
  size_t flex_array_len_ ;
  size_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  int tmp___5 ;

  {
  parse_path_pattern(& string___0, & patternlen, & flags___0, & nowildcardlen);
  if (flags___0 & 8U) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      flex_array_len_ = (size_t )patternlen;
      tmp = st_add(sizeof(*pattern___0), flex_array_len_);
      tmp___0 = st_add(tmp, (size_t )1);
      tmp___1 = xcalloc((size_t )1, tmp___0);
      pattern___0 = (struct path_pattern *)tmp___1;
      memcpy((void *)(pattern___0 + 1), (void const   *)string___0, flex_array_len_);
      pattern___0->pattern = (char const   *)((void *)(pattern___0 + 1));
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
  } else {
    tmp___2 = xmalloc(sizeof(*pattern___0));
    pattern___0 = (struct path_pattern *)tmp___2;
    pattern___0->pattern = string___0;
  }
  pattern___0->patternlen = patternlen;
  pattern___0->nowildcardlen = nowildcardlen;
  pattern___0->base = base;
  pattern___0->baselen = baselen;
  pattern___0->flags = flags___0;
  pattern___0->srcpos = srcpos;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (pl->nr + 1 > pl->alloc) {
      if (((pl->alloc + 16) * 3) / 2 < pl->nr + 1) {
        pl->alloc = pl->nr + 1;
      } else {
        pl->alloc = ((pl->alloc + 16) * 3) / 2;
      }
      tmp___3 = st_mult(sizeof(*(pl->patterns)), (size_t )pl->alloc);
      tmp___4 = xrealloc((void *)pl->patterns, tmp___3);
      pl->patterns = (struct path_pattern **)tmp___4;
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___5 = pl->nr;
  (pl->nr) ++;
  *(pl->patterns + tmp___5) = pattern___0;
  pattern___0->pl = pl;
  add_pattern_to_hashsets(pl, pattern___0);
  return;
}
}
static int read_skip_worktree_file_from_index(struct index_state *istate , char const   *path___6 ,
                                              size_t *size_out , char **data_out ,
                                              struct oid_stat *oid_stat )
{
  int pos ;
  int len___0 ;
  size_t tmp ;
  int tmp___0 ;

  {
  tmp = strlen(path___6);
  len___0 = (int )tmp;
  pos = index_name_pos(istate, path___6, len___0);
  if (pos < 0) {
    return (-1);
  }
  if (! ((*(istate->cache + pos))->ce_flags & (unsigned int )(1 << 30))) {
    return (-1);
  }
  tmp___0 = do_read_blob((struct object_id  const  *)(& (*(istate->cache + pos))->oid),
                         oid_stat, size_out, data_out);
  return (tmp___0);
}
}
void clear_pattern_list(struct pattern_list *pl )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < pl->nr)) {
      goto while_break;
    }
    free((void *)*(pl->patterns + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)pl->patterns);
  free((void *)pl->filebuf);
  hashmap_clear_(& pl->recursive_hashmap, (ssize_t )((unsigned long )(& ((struct pattern_entry *)0)->ent)));
  hashmap_clear_(& pl->parent_hashmap, (ssize_t )((unsigned long )(& ((struct pattern_entry *)0)->ent)));
  memset((void *)pl, 0, sizeof(*pl));
  return;
}
}
static void trim_trailing_spaces(char *buf___19 )
{
  char *p___0 ;
  char *last_space ;

  {
  last_space = (char *)((void *)0);
  p___0 = buf___19;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    {
    if ((int )*p___0 == 32) {
      goto case_32;
    }
    if ((int )*p___0 == 92) {
      goto case_92;
    }
    goto switch_default;
    case_32: /* CIL Label */
    if (! last_space) {
      last_space = p___0;
    }
    goto switch_break;
    case_92: /* CIL Label */
    p___0 ++;
    if (! *p___0) {
      return;
    }
    switch_default: /* CIL Label */
    last_space = (char *)((void *)0);
    switch_break: /* CIL Label */ ;
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (last_space) {
    *last_space = (char )'\000';
  }
  return;
}
}
static struct untracked_cache_dir *lookup_untracked(struct untracked_cache *uc , struct untracked_cache_dir *dir ,
                                                    char const   *name___0 , int len___0 )
{
  int first ;
  int last ;
  struct untracked_cache_dir *d ;
  int cmp___0 ;
  int next___2 ;
  size_t tmp ;
  size_t flex_array_len_ ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;

  {
  if (! dir) {
    return ((struct untracked_cache_dir *)((void *)0));
  }
  if (len___0) {
    if ((int const   )*(name___0 + (len___0 - 1)) == 47) {
      len___0 --;
    }
  }
  first = 0;
  last = (int )dir->dirs_nr;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (last > first)) {
      goto while_break;
    }
    next___2 = first + ((last - first) >> 1);
    d = *(dir->dirs + next___2);
    cmp___0 = strncmp(name___0, (char const   *)(d->name), (size_t )len___0);
    if (! cmp___0) {
      tmp = strlen((char const   *)(d->name));
      if (tmp > (size_t )len___0) {
        cmp___0 = -1;
      }
    }
    if (! cmp___0) {
      return (d);
    }
    if (cmp___0 < 0) {
      last = next___2;
      goto while_continue;
    }
    first = next___2 + 1;
  }
  while_break: /* CIL Label */ ;
  }
  (uc->dir_created) ++;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    flex_array_len_ = (size_t )len___0;
    tmp___0 = st_add(sizeof(*d), flex_array_len_);
    tmp___1 = st_add(tmp___0, (size_t )1);
    tmp___2 = xcalloc((size_t )1, tmp___1);
    d = (struct untracked_cache_dir *)tmp___2;
    memcpy((void *)(d->name), (void const   *)name___0, flex_array_len_);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (dir->dirs_nr + 1U > dir->dirs_alloc) {
      if (((dir->dirs_alloc + 16U) * 3U) / 2U < dir->dirs_nr + 1U) {
        dir->dirs_alloc = dir->dirs_nr + 1U;
      } else {
        dir->dirs_alloc = ((dir->dirs_alloc + 16U) * 3U) / 2U;
      }
      tmp___3 = st_mult(sizeof(*(dir->dirs)), (size_t )dir->dirs_alloc);
      tmp___4 = xrealloc((void *)dir->dirs, tmp___3);
      dir->dirs = (struct untracked_cache_dir **)tmp___4;
    }
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  move_array((void *)((dir->dirs + first) + 1), (void const   *)(dir->dirs + first),
             (size_t )(dir->dirs_nr - (unsigned int )first), sizeof(*((dir->dirs + first) + 1)) + (sizeof(char [1]) - 1UL));
  (dir->dirs_nr) ++;
  *(dir->dirs + first) = d;
  return (d);
}
}
static void do_invalidate_gitignore(struct untracked_cache_dir *dir )
{
  int i ;

  {
  dir->valid = 0U;
  dir->untracked_nr = 0U;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < dir->dirs_nr)) {
      goto while_break;
    }
    do_invalidate_gitignore(*(dir->dirs + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void invalidate_gitignore(struct untracked_cache *uc , struct untracked_cache_dir *dir )
{


  {
  (uc->gitignore_invalidated) ++;
  do_invalidate_gitignore(dir);
  return;
}
}
static void invalidate_directory(struct untracked_cache *uc , struct untracked_cache_dir *dir )
{
  int i ;

  {
  if (dir->valid) {
    (uc->dir_invalidated) ++;
  }
  dir->valid = 0U;
  dir->untracked_nr = 0U;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < dir->dirs_nr)) {
      goto while_break;
    }
    (*(dir->dirs + i))->recurse = 0U;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int add_patterns_from_buffer(char *buf___19 , size_t size , char const   *base ,
                                    int baselen , struct pattern_list *pl ) ;
static int add_patterns(char const   *fname , char const   *base , int baselen , struct pattern_list *pl ,
                        struct index_state *istate , unsigned int flags___0 , struct oid_stat *oid_stat )
{
  struct stat st ;
  int r ;
  int fd ;
  size_t size ;
  char *buf___19 ;
  void *tmp ;
  ssize_t tmp___0 ;
  size_t tmp___1 ;
  int pos ;
  size_t tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  size = (size_t )0;
  if (flags___0 & 1U) {
    fd = open_nofollow(fname, 00);
  } else {
    fd = open(fname, 00);
  }
  if (fd < 0) {
    goto _L___0;
  } else {
    tmp___5 = fstat(fd, & st);
    if (tmp___5 < 0) {
      _L___0: /* CIL Label */
      if (fd < 0) {
        warn_on_fopen_errors(fname);
      } else {
        close(fd);
      }
      if (! istate) {
        return (-1);
      }
      r = read_skip_worktree_file_from_index(istate, fname, & size, & buf___19, oid_stat);
      if (r != 1) {
        return (r);
      }
    } else {
      size = xsize_t(st.st_size);
      if (size == 0UL) {
        if (oid_stat) {
          fill_stat_data(& oid_stat->stat, & st);
          oidcpy(& oid_stat->oid, (struct object_id  const  *)(the_repository->hash_algo)->empty_blob);
          oid_stat->valid = 1;
        }
        close(fd);
        return (0);
      }
      tmp = xmallocz(size);
      buf___19 = (char *)tmp;
      tmp___0 = read_in_full(fd, (void *)buf___19, size);
      if ((size_t )tmp___0 != size) {
        free((void *)buf___19);
        close(fd);
        return (-1);
      }
      tmp___1 = size;
      size ++;
      *(buf___19 + tmp___1) = (char )'\n';
      close(fd);
      if (oid_stat) {
        if (oid_stat->valid) {
          tmp___4 = match_stat_data_racy((struct index_state  const  *)istate, (struct stat_data  const  *)(& oid_stat->stat),
                                         & st);
          if (tmp___4) {
            goto _L;
          }
        } else
        _L: /* CIL Label */
        if (istate) {
          tmp___2 = strlen(fname);
          pos = index_name_pos(istate, fname, (int )tmp___2);
          if (pos >= 0) {
            if (! ((12288U & (*(istate->cache + pos))->ce_flags) >> 12)) {
              if ((*(istate->cache + pos))->ce_flags & (unsigned int )(1 << 18)) {
                tmp___3 = would_convert_to_git(istate, fname);
                if (tmp___3) {
                  hash_object_file(the_repository->hash_algo, (void const   *)buf___19,
                                   size, (char const   *)"blob", & oid_stat->oid);
                } else {
                  oidcpy(& oid_stat->oid, (struct object_id  const  *)(& (*(istate->cache + pos))->oid));
                }
              } else {
                hash_object_file(the_repository->hash_algo, (void const   *)buf___19,
                                 size, (char const   *)"blob", & oid_stat->oid);
              }
            } else {
              hash_object_file(the_repository->hash_algo, (void const   *)buf___19,
                               size, (char const   *)"blob", & oid_stat->oid);
            }
          } else {
            hash_object_file(the_repository->hash_algo, (void const   *)buf___19,
                             size, (char const   *)"blob", & oid_stat->oid);
          }
        } else {
          hash_object_file(the_repository->hash_algo, (void const   *)buf___19, size,
                           (char const   *)"blob", & oid_stat->oid);
        }
        fill_stat_data(& oid_stat->stat, & st);
        oid_stat->valid = 1;
      }
    }
  }
  add_patterns_from_buffer(buf___19, size, base, baselen, pl);
  return (0);
}
}
static int add_patterns_from_buffer(char *buf___19 , size_t size , char const   *base ,
                                    int baselen , struct pattern_list *pl )
{
  int i ;
  int lineno ;
  char *entry ;
  int tmp ;
  int tmp___0 ;

  {
  lineno = 1;
  hashmap_init(& pl->recursive_hashmap, & pl_hashmap_cmp, (void const   *)((void *)0),
               (size_t )0);
  hashmap_init(& pl->parent_hashmap, & pl_hashmap_cmp, (void const   *)((void *)0),
               (size_t )0);
  pl->filebuf = buf___19;
  tmp = skip_utf8_bom(& buf___19, size);
  if (tmp) {
    size -= (size_t )(buf___19 - pl->filebuf);
  }
  entry = buf___19;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < size)) {
      goto while_break;
    }
    if ((int )*(buf___19 + i) == 10) {
      if ((unsigned long )entry != (unsigned long )(buf___19 + i)) {
        if ((int )*(entry + 0) != 35) {
          if (i) {
            if ((int )*(buf___19 + (i - 1)) == 13) {
              tmp___0 = 1;
            } else {
              tmp___0 = 0;
            }
          } else {
            tmp___0 = 0;
          }
          *(buf___19 + (i - tmp___0)) = (char)0;
          trim_trailing_spaces(entry);
          add_pattern((char const   *)entry, base, baselen, pl, lineno);
        }
      }
      lineno ++;
      entry = (buf___19 + i) + 1;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int add_patterns_from_file_to_list(char const   *fname , char const   *base , int baselen ,
                                   struct pattern_list *pl , struct index_state *istate ,
                                   unsigned int flags___0 )
{
  int tmp ;

  {
  tmp = add_patterns(fname, base, baselen, pl, istate, flags___0, (struct oid_stat *)((void *)0));
  return (tmp);
}
}
int add_patterns_from_blob_to_list(struct object_id *oid , char const   *base , int baselen ,
                                   struct pattern_list *pl )
{
  char *buf___19 ;
  size_t size ;
  int r ;

  {
  r = do_read_blob((struct object_id  const  *)oid, (struct oid_stat *)((void *)0),
                   & size, & buf___19);
  if (r != 1) {
    return (r);
  }
  add_patterns_from_buffer(buf___19, size, base, baselen, pl);
  return (0);
}
}
struct pattern_list *add_pattern_list(struct dir_struct *dir , int group_type , char const   *src )
{
  struct pattern_list *pl ;
  struct exclude_list_group *group ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  group = & dir->exclude_list_group[group_type];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (group->nr + 1 > group->alloc) {
      if (((group->alloc + 16) * 3) / 2 < group->nr + 1) {
        group->alloc = group->nr + 1;
      } else {
        group->alloc = ((group->alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(group->pl)), (size_t )group->alloc);
      tmp___0 = xrealloc((void *)group->pl, tmp);
      group->pl = (struct pattern_list *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = group->nr;
  (group->nr) ++;
  pl = group->pl + tmp___1;
  memset((void *)pl, 0, sizeof(*pl));
  pl->src = src;
  return (pl);
}
}
static void add_patterns_from_file_1(struct dir_struct *dir , char const   *fname ,
                                     struct oid_stat *oid_stat )
{
  struct pattern_list *pl ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  if (! dir->untracked) {
    (dir->unmanaged_exclude_files) ++;
  }
  pl = add_pattern_list(dir, 2, fname);
  tmp___0 = add_patterns(fname, (char const   *)"", 0, pl, (struct index_state *)((void *)0),
                         0U, oid_stat);
  if (tmp___0 < 0) {
    tmp = _((char const   *)"cannot use %s as an exclude file");
    die((char const   *)tmp, fname);
  }
  return;
}
}
void add_patterns_from_file(struct dir_struct *dir , char const   *fname )
{


  {
  (dir->unmanaged_exclude_files) ++;
  add_patterns_from_file_1(dir, fname, (struct oid_stat *)((void *)0));
  return;
}
}
int match_basename(char const   *__xpg_basename___0 , int basenamelen , char const   *pattern___0 ,
                   int prefix___1 , int patternlen , unsigned int flags___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (prefix___1 == patternlen) {
    if (patternlen == basenamelen) {
      tmp = fspathncmp(pattern___0, __xpg_basename___0, (size_t )basenamelen);
      if (! tmp) {
        return (1);
      }
    }
  } else
  if (flags___0 & 4U) {
    if (patternlen - 1 <= basenamelen) {
      tmp___0 = fspathncmp(pattern___0 + 1, (__xpg_basename___0 + basenamelen) - (patternlen - 1),
                           (size_t )(patternlen - 1));
      if (! tmp___0) {
        return (1);
      }
    }
  } else {
    tmp___1 = fnmatch_icase_mem(pattern___0, patternlen, __xpg_basename___0, basenamelen,
                                0);
    if (tmp___1 == 0) {
      return (1);
    }
  }
  return (0);
}
}
int match_pathname(char const   *pathname , int pathlen , char const   *base , int baselen ,
                   char const   *pattern___0 , int prefix___1 , int patternlen , unsigned int flags___0 )
{
  char const   *name___0 ;
  int namelen ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if ((int const   )*pattern___0 == 47) {
    pattern___0 ++;
    patternlen --;
    prefix___1 --;
  }
  if (pathlen < baselen + 1) {
    return (0);
  } else
  if (baselen) {
    if ((int const   )*(pathname + baselen) != 47) {
      return (0);
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp = fspathncmp(pathname, base, (size_t )baselen);
    if (tmp) {
      return (0);
    }
  }
  if (baselen) {
    namelen = (pathlen - baselen) - 1;
  } else {
    namelen = pathlen;
  }
  name___0 = (pathname + pathlen) - namelen;
  if (prefix___1) {
    if (prefix___1 > namelen) {
      return (0);
    }
    tmp___0 = fspathncmp(pattern___0, name___0, (size_t )prefix___1);
    if (tmp___0) {
      return (0);
    }
    pattern___0 += prefix___1;
    patternlen -= prefix___1;
    name___0 += prefix___1;
    namelen -= prefix___1;
    if (! patternlen) {
      if (! namelen) {
        return (1);
      }
    }
  }
  tmp___1 = fnmatch_icase_mem(pattern___0, patternlen, name___0, namelen, 2);
  return (tmp___1 == 0);
}
}
static struct path_pattern *last_matching_pattern_from_list(char const   *pathname ,
                                                            int pathlen , char const   *__xpg_basename___0 ,
                                                            int *dtype , struct pattern_list *pl ,
                                                            struct index_state *istate )
{
  struct path_pattern *res ;
  int i ;
  struct path_pattern *pattern___0 ;
  char const   *exclude ;
  int prefix___1 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  res = (struct path_pattern *)((void *)0);
  if (! pl->nr) {
    return ((struct path_pattern *)((void *)0));
  }
  i = pl->nr - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (0 <= i)) {
      goto while_break;
    }
    pattern___0 = *(pl->patterns + i);
    exclude = pattern___0->pattern;
    prefix___1 = pattern___0->nowildcardlen;
    if (pattern___0->flags & 8U) {
      *dtype = resolve_dtype(*dtype, istate, pathname, pathlen);
      if (*dtype != 4) {
        goto __Cont;
      }
    }
    if (pattern___0->flags & 1U) {
      tmp = match_basename(__xpg_basename___0, (int )((long )pathlen - (__xpg_basename___0 - pathname)),
                           exclude, prefix___1, pattern___0->patternlen, pattern___0->flags);
      if (tmp) {
        res = pattern___0;
        goto while_break;
      }
      goto __Cont;
    }
    if (pattern___0->baselen == 0) {
      tmp___0 = 1;
    } else
    if ((int const   )*(pattern___0->base + (pattern___0->baselen - 1)) == 47) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
    assert(tmp___0);
    if (pattern___0->baselen) {
      tmp___1 = pattern___0->baselen - 1;
    } else {
      tmp___1 = 0;
    }
    tmp___2 = match_pathname(pathname, pathlen, pattern___0->base, tmp___1, exclude,
                             prefix___1, pattern___0->patternlen, pattern___0->flags);
    if (tmp___2) {
      res = pattern___0;
      goto while_break;
    }
    __Cont: /* CIL Label */
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
enum pattern_match_result path_matches_pattern_list(char const   *pathname , int pathlen ,
                                                    char const   *__xpg_basename___0 ,
                                                    int *dtype , struct pattern_list *pl ,
                                                    struct index_state *istate )
{
  struct path_pattern *pattern___0 ;
  struct strbuf parent_pathname ;
  int result___0 ;
  size_t slash_pos ;
  char const   *slash_ptr ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  parent_pathname.alloc = 0UL;
  parent_pathname.len = 0UL;
  parent_pathname.buf = strbuf_slopbuf;
  result___0 = 0;
  if (! pl->use_cone_patterns) {
    pattern___0 = last_matching_pattern_from_list(pathname, pathlen, __xpg_basename___0,
                                                  dtype, pl, istate);
    if (pattern___0) {
      if (pattern___0->flags & 16U) {
        return ((enum pattern_match_result )0);
      } else {
        return ((enum pattern_match_result )1);
      }
    }
    return ((enum pattern_match_result )-1);
  }
  if (pl->full_cone) {
    return ((enum pattern_match_result )1);
  }
  strbuf_addch(& parent_pathname, '/');
  strbuf_add(& parent_pathname, (void const   *)pathname, (size_t )pathlen);
  if (parent_pathname.len > 0UL) {
    if ((int )*(parent_pathname.buf + (parent_pathname.len - 1UL)) == 47) {
      slash_pos = parent_pathname.len - 1UL;
      strbuf_add(& parent_pathname, (void const   *)"-", (size_t )1);
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp = strrchr((char const   *)parent_pathname.buf, '/');
    slash_ptr = (char const   *)tmp;
    if (slash_ptr) {
      slash_pos = (size_t )(slash_ptr - (char const   *)parent_pathname.buf);
    } else {
      slash_pos = (size_t )0;
    }
  }
  tmp___0 = hashmap_contains_path(& pl->recursive_hashmap, & parent_pathname);
  if (tmp___0) {
    result___0 = 2;
    goto done;
  }
  if (! slash_pos) {
    result___0 = 1;
    goto done;
  }
  strbuf_setlen(& parent_pathname, slash_pos);
  tmp___1 = hashmap_contains_path(& pl->parent_hashmap, & parent_pathname);
  if (tmp___1) {
    result___0 = 1;
    goto done;
  }
  tmp___2 = hashmap_contains_parent(& pl->recursive_hashmap, pathname, & parent_pathname);
  if (tmp___2) {
    result___0 = 2;
  }
  done:
  strbuf_release(& parent_pathname);
  return ((enum pattern_match_result )result___0);
}
}
int init_sparse_checkout_patterns(struct index_state *istate )
{
  void *tmp ;
  int tmp___0 ;

  {
  if (! core_apply_sparse_checkout) {
    return (1);
  }
  if (istate->sparse_checkout_patterns) {
    return (0);
  }
  tmp = xcalloc((size_t )1, sizeof(*(istate->sparse_checkout_patterns)));
  istate->sparse_checkout_patterns = (struct pattern_list *)tmp;
  tmp___0 = get_sparse_checkout_patterns(istate->sparse_checkout_patterns);
  if (tmp___0 < 0) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      free((void *)istate->sparse_checkout_patterns);
      istate->sparse_checkout_patterns = (struct pattern_list *)((void *)0);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    return (-1);
  }
  return (0);
}
}
static int path_in_sparse_checkout_1(char const   *path___6 , struct index_state *istate ,
                                     int require_cone_mode )
{
  int dtype ;
  enum pattern_match_result match___0 ;
  char const   *end ;
  char const   *slash ;
  int tmp ;
  size_t tmp___0 ;
  char const   *tmp___1 ;

  {
  dtype = 8;
  match___0 = (enum pattern_match_result )-1;
  tmp = init_sparse_checkout_patterns(istate);
  if (tmp) {
    return (1);
  } else
  if (require_cone_mode) {
    if (! (istate->sparse_checkout_patterns)->use_cone_patterns) {
      return (1);
    }
  }
  tmp___0 = strlen(path___6);
  end = path___6 + tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )end > (unsigned long )path___6) {
      if (! ((int )match___0 == -1)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    slash = end - 1;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if ((unsigned long )slash > (unsigned long )path___6) {
        if (! ((int const   )*slash != 47)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      slash --;
    }
    while_break___0: /* CIL Label */ ;
    }
    if ((unsigned long )slash > (unsigned long )path___6) {
      tmp___1 = slash + 1;
    } else {
      tmp___1 = path___6;
    }
    match___0 = path_matches_pattern_list(path___6, (int )(end - path___6), tmp___1,
                                          & dtype, istate->sparse_checkout_patterns,
                                          istate);
    dtype = 4;
    end = slash;
  }
  while_break: /* CIL Label */ ;
  }
  return ((int )match___0 > 0);
}
}
int path_in_sparse_checkout(char const   *path___6 , struct index_state *istate )
{
  int tmp ;

  {
  tmp = path_in_sparse_checkout_1(path___6, istate, 0);
  return (tmp);
}
}
int path_in_cone_mode_sparse_checkout(char const   *path___6 , struct index_state *istate )
{
  int tmp ;

  {
  tmp = path_in_sparse_checkout_1(path___6, istate, 1);
  return (tmp);
}
}
static struct path_pattern *last_matching_pattern_from_lists(struct dir_struct *dir ,
                                                             struct index_state *istate ,
                                                             char const   *pathname ,
                                                             int pathlen , char const   *__xpg_basename___0 ,
                                                             int *dtype_p )
{
  int i ;
  int j ;
  struct exclude_list_group *group ;
  struct path_pattern *pattern___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i <= 2)) {
      goto while_break;
    }
    group = & dir->exclude_list_group[i];
    j = group->nr - 1;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j >= 0)) {
        goto while_break___0;
      }
      pattern___0 = last_matching_pattern_from_list(pathname, pathlen, __xpg_basename___0,
                                                    dtype_p, group->pl + j, istate);
      if (pattern___0) {
        return (pattern___0);
      }
      j --;
    }
    while_break___0: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct path_pattern *)((void *)0));
}
}
static void prep_exclude(struct dir_struct *dir , struct index_state *istate , char const   *base ,
                         int baselen )
{
  struct exclude_list_group *group ;
  struct pattern_list *pl ;
  struct exclude_stack *stk ;
  struct untracked_cache_dir *untracked ;
  int current ;
  int tmp ;
  int tmp___0 ;
  char const   *cp ;
  struct oid_stat oid_stat ;
  void *tmp___1 ;
  char *tmp___2 ;
  int dt ;
  struct strbuf sb___6 ;
  char *tmp___3 ;
  struct oid_stat *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  stk = (struct exclude_stack *)((void *)0);
  group = & dir->exclude_list_group[1];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    stk = dir->exclude_stack;
    if (! ((unsigned long )stk != (unsigned long )((void *)0))) {
      goto while_break;
    }
    if (stk->baselen <= baselen) {
      tmp = strncmp((char const   *)dir->basebuf.buf, base, (size_t )stk->baselen);
      if (! tmp) {
        goto while_break;
      }
    }
    pl = group->pl + (dir->exclude_stack)->exclude_ix;
    dir->exclude_stack = stk->prev;
    dir->pattern = (struct path_pattern *)((void *)0);
    free((void *)((char *)pl->src));
    clear_pattern_list(pl);
    free((void *)stk);
    (group->nr) --;
  }
  while_break: /* CIL Label */ ;
  }
  if (dir->pattern) {
    return;
  }
  if (! dir->basebuf.buf) {
    strbuf_init(& dir->basebuf, (size_t )4096);
  }
  if (stk) {
    current = stk->baselen;
  } else {
    current = -1;
  }
  if (current < 0) {
    tmp___0 = 0;
  } else {
    tmp___0 = current;
  }
  strbuf_setlen(& dir->basebuf, (size_t )tmp___0);
  if (dir->untracked) {
    if (stk) {
      untracked = stk->ucd;
    } else {
      untracked = (dir->untracked)->root;
    }
  } else {
    untracked = (struct untracked_cache_dir *)((void *)0);
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (current < baselen)) {
      goto while_break___0;
    }
    tmp___1 = xcalloc((size_t )1, sizeof(*stk));
    stk = (struct exclude_stack *)tmp___1;
    if (current < 0) {
      cp = base;
      current = 0;
    } else {
      tmp___2 = strchr((base + current) + 1, '/');
      cp = (char const   *)tmp___2;
      if (! cp) {
        die((char const   *)"oops in prep_exclude");
      }
      cp ++;
      untracked = lookup_untracked(dir->untracked, untracked, base + current, (int )((cp - base) - (long )current));
    }
    stk->prev = dir->exclude_stack;
    stk->baselen = (int )(cp - base);
    stk->exclude_ix = group->nr;
    stk->ucd = untracked;
    pl = add_pattern_list(dir, 1, (char const   *)((void *)0));
    strbuf_add(& dir->basebuf, (void const   *)(base + current), (size_t )(stk->baselen - current));
    assert((size_t )stk->baselen == dir->basebuf.len);
    if (stk->baselen) {
      dt = 4;
      *(dir->basebuf.buf + (stk->baselen - 1)) = (char)0;
      dir->pattern = last_matching_pattern_from_lists(dir, istate, (char const   *)dir->basebuf.buf,
                                                      stk->baselen - 1, (char const   *)(dir->basebuf.buf + current),
                                                      & dt);
      *(dir->basebuf.buf + (stk->baselen - 1)) = (char )'/';
      if (dir->pattern) {
        if ((dir->pattern)->flags & 16U) {
          dir->pattern = (struct path_pattern *)((void *)0);
        }
      }
      if (dir->pattern) {
        dir->exclude_stack = stk;
        return;
      }
    }
    oidclr(& oid_stat.oid);
    oid_stat.valid = 0;
    if (dir->exclude_per_dir) {
      if (! untracked) {
        goto _L;
      } else
      if (! untracked->valid) {
        goto _L;
      } else {
        tmp___5 = is_null_oid((struct object_id  const  *)(& untracked->exclude_oid));
        if (! tmp___5) {
          _L: /* CIL Label */
          sb___6.alloc = 0UL;
          sb___6.len = 0UL;
          sb___6.buf = strbuf_slopbuf;
          strbuf_addbuf(& sb___6, (struct strbuf  const  *)(& dir->basebuf));
          strbuf_addstr(& sb___6, dir->exclude_per_dir);
          tmp___3 = strbuf_detach(& sb___6, (size_t *)((void *)0));
          pl->src = (char const   *)tmp___3;
          if (untracked) {
            tmp___4 = & oid_stat;
          } else {
            tmp___4 = (struct oid_stat *)((void *)0);
          }
          add_patterns(pl->src, pl->src, stk->baselen, pl, istate, 1U, tmp___4);
        }
      }
    }
    if (untracked) {
      tmp___6 = oideq((struct object_id  const  *)(& oid_stat.oid), (struct object_id  const  *)(& untracked->exclude_oid));
      if (! tmp___6) {
        invalidate_gitignore(dir->untracked, untracked);
        oidcpy(& untracked->exclude_oid, (struct object_id  const  *)(& oid_stat.oid));
      }
    }
    dir->exclude_stack = stk;
    current = stk->baselen;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_setlen(& dir->basebuf, (size_t )baselen);
  return;
}
}
struct path_pattern *last_matching_pattern(struct dir_struct *dir , struct index_state *istate ,
                                           char const   *pathname , int *dtype_p )
{
  int pathlen ;
  size_t tmp ;
  char const   *__xpg_basename___0 ;
  char *tmp___0 ;
  struct path_pattern *tmp___1 ;

  {
  tmp = strlen(pathname);
  pathlen = (int )tmp;
  tmp___0 = strrchr(pathname, '/');
  __xpg_basename___0 = (char const   *)tmp___0;
  if (__xpg_basename___0) {
    __xpg_basename___0 ++;
  } else {
    __xpg_basename___0 = pathname;
  }
  prep_exclude(dir, istate, pathname, (int )(__xpg_basename___0 - pathname));
  if (dir->pattern) {
    return (dir->pattern);
  }
  tmp___1 = last_matching_pattern_from_lists(dir, istate, pathname, pathlen, __xpg_basename___0,
                                             dtype_p);
  return (tmp___1);
}
}
int is_excluded(struct dir_struct *dir , struct index_state *istate , char const   *pathname ,
                int *dtype_p )
{
  struct path_pattern *pattern___0 ;
  struct path_pattern *tmp ;
  int tmp___0 ;

  {
  tmp = last_matching_pattern(dir, istate, pathname, dtype_p);
  pattern___0 = tmp;
  if (pattern___0) {
    if (pattern___0->flags & 16U) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
    return (tmp___0);
  }
  return (0);
}
}
static struct dir_entry *dir_entry_new(char const   *pathname , int len___0 )
{
  struct dir_entry *ent ;
  size_t flex_array_len_ ;
  size_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    flex_array_len_ = (size_t )len___0;
    tmp = st_add(sizeof(*ent), flex_array_len_);
    tmp___0 = st_add(tmp, (size_t )1);
    tmp___1 = xcalloc((size_t )1, tmp___0);
    ent = (struct dir_entry *)tmp___1;
    memcpy((void *)(ent->name), (void const   *)pathname, flex_array_len_);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  ent->len = (unsigned int )len___0;
  return (ent);
}
}
static struct dir_entry *dir_add_name(struct dir_struct *dir , struct index_state *istate ,
                                      char const   *pathname , int len___0 )
{
  struct cache_entry *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;
  struct dir_entry *tmp___3 ;

  {
  tmp = index_file_exists(istate, pathname, len___0, ignore_case);
  if (tmp) {
    return ((struct dir_entry *)((void *)0));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (dir->nr + 1 > dir->alloc) {
      if (((dir->alloc + 16) * 3) / 2 < dir->nr + 1) {
        dir->alloc = dir->nr + 1;
      } else {
        dir->alloc = ((dir->alloc + 16) * 3) / 2;
      }
      tmp___0 = st_mult(sizeof(*(dir->entries)), (size_t )dir->alloc);
      tmp___1 = xrealloc((void *)dir->entries, tmp___0);
      dir->entries = (struct dir_entry **)tmp___1;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = dir->nr;
  (dir->nr) ++;
  tmp___3 = dir_entry_new(pathname, len___0);
  *(dir->entries + tmp___2) = tmp___3;
  return (tmp___3);
}
}
struct dir_entry *dir_add_ignored(struct dir_struct *dir , struct index_state *istate ,
                                  char const   *pathname , int len___0 )
{
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;
  struct dir_entry *tmp___3 ;

  {
  tmp = index_name_is_other(istate, pathname, len___0);
  if (! tmp) {
    return ((struct dir_entry *)((void *)0));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (dir->ignored_nr + 1 > dir->ignored_alloc) {
      if (((dir->ignored_alloc + 16) * 3) / 2 < dir->ignored_nr + 1) {
        dir->ignored_alloc = dir->ignored_nr + 1;
      } else {
        dir->ignored_alloc = ((dir->ignored_alloc + 16) * 3) / 2;
      }
      tmp___0 = st_mult(sizeof(*(dir->ignored)), (size_t )dir->ignored_alloc);
      tmp___1 = xrealloc((void *)dir->ignored, tmp___0);
      dir->ignored = (struct dir_entry **)tmp___1;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = dir->ignored_nr;
  (dir->ignored_nr) ++;
  tmp___3 = dir_entry_new(pathname, len___0);
  *(dir->ignored + tmp___2) = tmp___3;
  return (tmp___3);
}
}
static enum exist_status directory_exists_in_index_icase(struct index_state *istate ,
                                                         char const   *dirname___0 ,
                                                         int len___0 )
{
  struct cache_entry *ce ;
  int tmp ;

  {
  tmp = index_dir_exists(istate, dirname___0, len___0);
  if (tmp) {
    return ((enum exist_status )1);
  }
  ce = index_file_exists(istate, dirname___0, len___0, ignore_case);
  if (ce) {
    if ((ce->ce_mode & 61440U) == 57344U) {
      return ((enum exist_status )2);
    }
  }
  return ((enum exist_status )0);
}
}
static enum exist_status directory_exists_in_index(struct index_state *istate , char const   *dirname___0 ,
                                                   int len___0 )
{
  int pos ;
  enum exist_status tmp ;
  struct cache_entry  const  *ce ;
  int tmp___0 ;
  unsigned char endchar ;
  int tmp___1 ;

  {
  if (ignore_case) {
    tmp = directory_exists_in_index_icase(istate, dirname___0, len___0);
    return (tmp);
  }
  pos = index_name_pos(istate, dirname___0, len___0);
  if (pos < 0) {
    pos = - pos - 1;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )pos < istate->cache_nr)) {
      goto while_break;
    }
    tmp___0 = pos;
    pos ++;
    ce = (struct cache_entry  const  *)*(istate->cache + tmp___0);
    tmp___1 = strncmp((char const   *)(ce->name), dirname___0, (size_t )len___0);
    if (tmp___1) {
      goto while_break;
    }
    endchar = (unsigned char )ce->name[len___0];
    if ((int )endchar > 47) {
      goto while_break;
    }
    if ((int )endchar == 47) {
      return ((enum exist_status )1);
    }
    if (! endchar) {
      if ((ce->ce_mode & 61440U) == 57344U) {
        return ((enum exist_status )2);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return ((enum exist_status )0);
}
}
static enum path_treatment treat_directory(struct dir_struct *dir , struct index_state *istate ,
                                           struct untracked_cache_dir *untracked ,
                                           char const   *dirname___0 , int len___0 ,
                                           int baselen , int excluded , struct pathspec  const  *pathspec___1 )
{
  enum path_treatment state___1 ;
  int matches_how ;
  int nested_repo ;
  int check_only ;
  int stop_early ;
  int old_ignored_nr ;
  int old_untracked_nr ;
  enum exist_status status ;
  enum exist_status tmp ;
  struct strbuf sb___6 ;
  int tmp___0 ;
  enum path_treatment tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int want_ignored_subpaths ;
  int tmp___4 ;
  int i ;
  int i___0 ;

  {
  matches_how = 0;
  nested_repo = 0;
  tmp = directory_exists_in_index(istate, dirname___0, len___0 - 1);
  status = tmp;
  if ((unsigned int )status == 1U) {
    return ((enum path_treatment )1);
  }
  if ((unsigned int )status == 2U) {
    return ((enum path_treatment )0);
  }
  if ((unsigned int )status != 0U) {
    BUG_fl((char const   *)"dir.c", 1873, (char const   *)"Unhandled value for directory_exists_in_index: %d\n",
           (unsigned int )status);
  }
  if (pathspec___1) {
    if (! excluded) {
      matches_how = match_pathspec_with_flags(istate, pathspec___1, dirname___0, len___0,
                                              0, (char *)((void *)0), (unsigned int )(1 << 2));
      if (! matches_how) {
        return ((enum path_treatment )0);
      }
    }
  }
  if ((unsigned int )dir->flags & 512U) {
    goto _L;
  } else
  if (! ((unsigned int )dir->flags & 8U)) {
    _L: /* CIL Label */
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    strbuf_addstr(& sb___6, dirname___0);
    nested_repo = is_nonbare_repository_dir(& sb___6);
    strbuf_release(& sb___6);
  }
  if (nested_repo) {
    if ((unsigned int )dir->flags & 512U) {
      return ((enum path_treatment )0);
    } else
    if (matches_how == 2) {
      return ((enum path_treatment )0);
    }
    if (excluded) {
      tmp___0 = 2;
    } else {
      tmp___0 = 3;
    }
    return ((enum path_treatment )tmp___0);
  }
  if (! ((unsigned int )dir->flags & 2U)) {
    if (excluded) {
      if ((unsigned int )dir->flags & 32U) {
        if ((unsigned int )dir->flags & 256U) {
          if (! ((unsigned int )dir->flags & 4U)) {
            return ((enum path_treatment )2);
          }
          tmp___1 = read_directory_recursive(dir, istate, dirname___0, len___0, untracked,
                                             1, 1, pathspec___1);
          if ((unsigned int )tmp___1 == 2U) {
            return ((enum path_treatment )2);
          }
          return ((enum path_treatment )0);
        }
      }
    }
    return ((enum path_treatment )1);
  }
  assert((int )((unsigned int )dir->flags & 2U));
  if (matches_how == 2) {
    return ((enum path_treatment )1);
  }
  if (excluded) {
    if (! ((unsigned int )dir->flags & 4U)) {
      return ((enum path_treatment )2);
    }
    if ((unsigned int )dir->flags & 32U) {
      if ((unsigned int )dir->flags & 256U) {
        return ((enum path_treatment )2);
      }
    }
  }
  if (! excluded) {
    if (! ((unsigned int )dir->flags & 37U)) {
      return ((enum path_treatment )3);
    }
  }
  if ((unsigned int )dir->flags & 4U) {
    if (! ((unsigned int )dir->flags & 32U)) {
      tmp___2 = 1;
    } else {
      tmp___2 = 0;
    }
  } else {
    tmp___2 = 0;
  }
  check_only = tmp___2;
  if (check_only) {
    if (excluded) {
      tmp___3 = 1;
    } else {
      tmp___3 = 0;
    }
  } else {
    tmp___3 = 0;
  }
  stop_early = tmp___3;
  old_ignored_nr = dir->ignored_nr;
  old_untracked_nr = dir->nr;
  untracked = lookup_untracked(dir->untracked, untracked, dirname___0 + baselen, len___0 - baselen);
  state___1 = read_directory_recursive(dir, istate, dirname___0, len___0, untracked,
                                       check_only, stop_early, pathspec___1);
  if ((unsigned int )state___1 == 2U) {
    if ((unsigned int )dir->flags & 32U) {
      if ((unsigned int )dir->flags & 256U) {
        tmp___4 = 1;
      } else {
        tmp___4 = 0;
      }
    } else {
      tmp___4 = 0;
    }
    want_ignored_subpaths = tmp___4;
    if (want_ignored_subpaths) {
      state___1 = (enum path_treatment )0;
    } else {
      i = old_ignored_nr + 1;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! (i < dir->ignored_nr)) {
          goto while_break;
        }
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          free((void *)*(dir->ignored + i));
          *(dir->ignored + i) = (struct dir_entry *)((void *)0);
          goto while_break___0;
        }
        while_break___0: /* CIL Label */ ;
        }
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
      dir->ignored_nr = old_ignored_nr;
    }
  }
  if ((unsigned int )dir->flags & 32U) {
    if (! ((unsigned int )dir->flags & 128U)) {
      i___0 = old_untracked_nr + 1;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! (i___0 < dir->nr)) {
          goto while_break___1;
        }
        {
        while (1) {
          while_continue___2: /* CIL Label */ ;
          free((void *)*(dir->entries + i___0));
          *(dir->entries + i___0) = (struct dir_entry *)((void *)0);
          goto while_break___2;
        }
        while_break___2: /* CIL Label */ ;
        }
        i___0 ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      dir->nr = old_untracked_nr;
    }
  }
  if ((unsigned int )state___1 == 0U) {
    if (! ((unsigned int )dir->flags & 4U)) {
      if (excluded) {
        state___1 = (enum path_treatment )2;
      } else {
        state___1 = (enum path_treatment )3;
      }
    }
  }
  return (state___1);
}
}
static int simplify_away(char const   *path___6 , int pathlen , struct pathspec  const  *pathspec___1 )
{
  int i ;
  struct pathspec_item  const  *item___0 ;
  int len___0 ;
  int tmp ;

  {
  if (! pathspec___1) {
    return (0);
  } else
  if (! pathspec___1->nr) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (pathspec___1->magic & (unsigned int )(~ ((((((1 | (1 << 1)) | (1 << 2)) | (1 << 3)) | (1 << 4)) | (1 << 5)) | (1 << 6)))) {
      BUG_fl((char const   *)"dir.c", 2103, (char const   *)"unsupported magic %x",
             pathspec___1->magic & (unsigned int )(~ ((((((1 | (1 << 1)) | (1 << 2)) | (1 << 3)) | (1 << 4)) | (1 << 5)) | (1 << 6))));
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < (int )pathspec___1->nr)) {
      goto while_break___0;
    }
    item___0 = (struct pathspec_item  const  *)(pathspec___1->items + i);
    len___0 = (int )item___0->nowildcard_len;
    if (len___0 > pathlen) {
      len___0 = pathlen;
    }
    tmp = ps_strncmp(item___0, (char const   *)item___0->match, path___6, (size_t )len___0);
    if (! tmp) {
      return (0);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (1);
}
}
static int exclude_matches_pathspec(char const   *path___6 , int pathlen , struct pathspec  const  *pathspec___1 )
{
  int i ;
  struct pathspec_item  const  *item___0 ;
  int len___0 ;
  int tmp ;
  int tmp___0 ;

  {
  if (! pathspec___1) {
    return (0);
  } else
  if (! pathspec___1->nr) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (pathspec___1->magic & (unsigned int )(~ (((((1 | (1 << 1)) | (1 << 2)) | (1 << 3)) | (1 << 4)) | (1 << 5)))) {
      BUG_fl((char const   *)"dir.c", 2143, (char const   *)"unsupported magic %x",
             pathspec___1->magic & (unsigned int )(~ (((((1 | (1 << 1)) | (1 << 2)) | (1 << 3)) | (1 << 4)) | (1 << 5))));
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < (int )pathspec___1->nr)) {
      goto while_break___0;
    }
    item___0 = (struct pathspec_item  const  *)(pathspec___1->items + i);
    len___0 = (int )item___0->nowildcard_len;
    if (len___0 == pathlen) {
      tmp = ps_strncmp(item___0, (char const   *)item___0->match, path___6, (size_t )pathlen);
      if (! tmp) {
        return (1);
      }
    }
    if (len___0 > pathlen) {
      if ((int )*(item___0->match + pathlen) == 47) {
        tmp___0 = ps_strncmp(item___0, (char const   *)item___0->match, path___6,
                             (size_t )pathlen);
        if (! tmp___0) {
          return (1);
        }
      }
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (0);
}
}
static int get_index_dtype(struct index_state *istate , char const   *path___6 , int len___0 )
{
  int pos ;
  struct cache_entry  const  *ce ;
  struct cache_entry *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = index_file_exists(istate, path___6, len___0, 0);
  ce = (struct cache_entry  const  *)tmp;
  if (ce) {
    if (! (ce->ce_flags & (unsigned int )(1 << 18))) {
      return (0);
    }
    if ((ce->ce_mode & 61440U) == 57344U) {
      return (4);
    }
    return (8);
  }
  pos = index_name_pos(istate, path___6, len___0);
  if (pos >= 0) {
    return (0);
  }
  pos = - pos - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )pos < istate->cache_nr)) {
      goto while_break;
    }
    tmp___0 = pos;
    pos ++;
    ce = (struct cache_entry  const  *)*(istate->cache + tmp___0);
    tmp___1 = strncmp((char const   *)(ce->name), path___6, (size_t )len___0);
    if (tmp___1) {
      goto while_break;
    }
    if ((int )ce->name[len___0] > 47) {
      goto while_break;
    }
    if ((int )ce->name[len___0] < 47) {
      goto while_continue;
    }
    if (! (ce->ce_flags & (unsigned int )(1 << 18))) {
      goto while_break;
    }
    return (4);
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int resolve_dtype(int dtype , struct index_state *istate , char const   *path___6 ,
                         int len___0 )
{
  struct stat st ;
  int tmp ;

  {
  if (dtype != 0) {
    return (dtype);
  }
  dtype = get_index_dtype(istate, path___6, len___0);
  if (dtype != 0) {
    return (dtype);
  }
  tmp = lstat(path___6, & st);
  if (tmp) {
    return (dtype);
  }
  if ((st.st_mode & 61440U) == 32768U) {
    return (8);
  }
  if ((st.st_mode & 61440U) == 16384U) {
    return (4);
  }
  if ((st.st_mode & 61440U) == 40960U) {
    return (10);
  }
  return (dtype);
}
}
static enum path_treatment treat_path_fast(struct dir_struct *dir , struct cached_dir *cdir ,
                                           struct index_state *istate , struct strbuf *path___6 ,
                                           int baselen , struct pathspec  const  *pathspec___1 )
{
  enum path_treatment tmp ;

  {
  strbuf_setlen(path___6, (size_t )baselen);
  if (! cdir->ucd) {
    strbuf_addstr(path___6, cdir->file);
    return ((enum path_treatment )3);
  }
  strbuf_addstr(path___6, (char const   *)((cdir->ucd)->name));
  strbuf_complete(path___6, (char )'/');
  if ((cdir->ucd)->check_only) {
    tmp = read_directory_recursive(dir, istate, (char const   *)path___6->buf, (int )path___6->len,
                                   cdir->ucd, 1, 0, pathspec___1);
    return (tmp);
  }
  return ((enum path_treatment )1);
}
}
static enum path_treatment treat_path(struct dir_struct *dir , struct untracked_cache_dir *untracked ,
                                      struct cached_dir *cdir , struct index_state *istate ,
                                      struct strbuf *path___6 , int baselen , struct pathspec  const  *pathspec___1 )
{
  int has_path_in_index ;
  int dtype ;
  int excluded ;
  enum path_treatment tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  struct cache_entry *tmp___3 ;
  int tmp___4 ;
  enum exist_status tmp___5 ;
  enum path_treatment tmp___6 ;
  int tmp___7 ;

  {
  if (! cdir->d_name) {
    tmp = treat_path_fast(dir, cdir, istate, path___6, baselen, pathspec___1);
    return (tmp);
  }
  tmp___0 = is_dot_or_dotdot(cdir->d_name);
  if (tmp___0) {
    return ((enum path_treatment )0);
  } else {
    tmp___1 = fspathcmp(cdir->d_name, (char const   *)".git");
    if (! tmp___1) {
      return ((enum path_treatment )0);
    }
  }
  strbuf_setlen(path___6, (size_t )baselen);
  strbuf_addstr(path___6, cdir->d_name);
  tmp___2 = simplify_away((char const   *)path___6->buf, (int )path___6->len, pathspec___1);
  if (tmp___2) {
    return ((enum path_treatment )0);
  }
  dtype = resolve_dtype(cdir->d_type, istate, (char const   *)path___6->buf, (int )path___6->len);
  tmp___3 = index_file_exists(istate, (char const   *)path___6->buf, (int )path___6->len,
                              ignore_case);
  if (tmp___3) {
    tmp___4 = 1;
  } else {
    tmp___4 = 0;
  }
  has_path_in_index = tmp___4;
  if (dtype != 4) {
    if (has_path_in_index) {
      return ((enum path_treatment )0);
    }
  }
  if ((unsigned int )dir->flags & 64U) {
    if (dtype == 4) {
      if (! has_path_in_index) {
        tmp___5 = directory_exists_in_index(istate, (char const   *)path___6->buf,
                                            (int )path___6->len);
        if ((unsigned int )tmp___5 == 0U) {
          return ((enum path_treatment )0);
        }
      }
    }
  }
  excluded = is_excluded(dir, istate, (char const   *)path___6->buf, & dtype);
  if (excluded) {
    if (! ((unsigned int )dir->flags & 33U)) {
      return ((enum path_treatment )2);
    }
  }
  {
  if (dtype == 4) {
    goto case_4;
  }
  if (dtype == 10) {
    goto case_10;
  }
  if (dtype == 8) {
    goto case_10;
  }
  goto switch_default;
  switch_default: /* CIL Label */
  return ((enum path_treatment )0);
  case_4: /* CIL Label */
  strbuf_addch(path___6, '/');
  tmp___6 = treat_directory(dir, istate, untracked, (char const   *)path___6->buf,
                            (int )path___6->len, baselen, excluded, pathspec___1);
  return (tmp___6);
  case_10: /* CIL Label */
  case_8: /* CIL Label */
  if (pathspec___1) {
    tmp___7 = match_pathspec(istate, pathspec___1, (char const   *)path___6->buf,
                             (int )path___6->len, 0, (char *)((void *)0), 0);
    if (! tmp___7) {
      return ((enum path_treatment )0);
    }
  }
  if (excluded) {
    return ((enum path_treatment )2);
  }
  return ((enum path_treatment )3);
  switch_break: /* CIL Label */ ;
  }
}
}
static void add_untracked(struct untracked_cache_dir *dir , char const   *name___0 )
{
  size_t tmp ;
  void *tmp___0 ;
  unsigned int tmp___1 ;

  {
  if (! dir) {
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (dir->untracked_nr + 1U > dir->untracked_alloc) {
      if (((dir->untracked_alloc + 16U) * 3U) / 2U < dir->untracked_nr + 1U) {
        dir->untracked_alloc = dir->untracked_nr + 1U;
      } else {
        dir->untracked_alloc = ((dir->untracked_alloc + 16U) * 3U) / 2U;
      }
      tmp = st_mult(sizeof(*(dir->untracked)), (size_t )dir->untracked_alloc);
      tmp___0 = xrealloc((void *)dir->untracked, tmp);
      dir->untracked = (char **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = dir->untracked_nr;
  (dir->untracked_nr) ++;
  *(dir->untracked + tmp___1) = xstrdup(name___0);
  return;
}
}
static int valid_cached_dir(struct dir_struct *dir , struct untracked_cache_dir *untracked ,
                            struct index_state *istate , struct strbuf *path___6 ,
                            int check_only )
{
  struct stat st ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! untracked) {
    return (0);
  }
  refresh_fsmonitor(istate);
  if ((dir->untracked)->use_fsmonitor) {
    if (! untracked->valid) {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    if (path___6->len) {
      tmp = path___6->buf;
    } else {
      tmp = ".";
    }
    tmp___0 = lstat((char const   *)tmp, & st);
    if (tmp___0) {
      memset((void *)(& untracked->stat_data), 0, sizeof(untracked->stat_data));
      return (0);
    }
    if (! untracked->valid) {
      fill_stat_data(& untracked->stat_data, & st);
      return (0);
    } else {
      tmp___1 = match_stat_data_racy((struct index_state  const  *)istate, (struct stat_data  const  *)(& untracked->stat_data),
                                     & st);
      if (tmp___1) {
        fill_stat_data(& untracked->stat_data, & st);
        return (0);
      }
    }
  }
  if (untracked->check_only != (unsigned int )(! (! check_only))) {
    return (0);
  }
  if (path___6->len) {
    if ((int )*(path___6->buf + (path___6->len - 1UL)) != 47) {
      strbuf_addch(path___6, '/');
      prep_exclude(dir, istate, (char const   *)path___6->buf, (int )path___6->len);
      strbuf_setlen(path___6, path___6->len - 1UL);
    } else {
      prep_exclude(dir, istate, (char const   *)path___6->buf, (int )path___6->len);
    }
  } else {
    prep_exclude(dir, istate, (char const   *)path___6->buf, (int )path___6->len);
  }
  return ((int )untracked->valid);
}
}
static int open_cached_dir(struct cached_dir *cdir , struct dir_struct *dir , struct untracked_cache_dir *untracked ,
                           struct index_state *istate , struct strbuf *path___6 ,
                           int check_only )
{
  char const   *c_path ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  memset((void *)cdir, 0, sizeof(*cdir));
  cdir->untracked = untracked;
  tmp = valid_cached_dir(dir, untracked, istate, path___6, check_only);
  if (tmp) {
    return (0);
  }
  if (path___6->len) {
    c_path = (char const   *)path___6->buf;
  } else {
    c_path = (char const   *)".";
  }
  cdir->fdir = opendir(c_path);
  if (! cdir->fdir) {
    tmp___0 = _((char const   *)"could not open directory \'%s\'");
    warning_errno((char const   *)tmp___0, c_path);
  }
  if (dir->untracked) {
    invalidate_directory(dir->untracked, untracked);
    ((dir->untracked)->dir_opened) ++;
  }
  if (! cdir->fdir) {
    return (-1);
  }
  return (0);
}
}
static int read_cached_dir(struct cached_dir *cdir )
{
  struct dirent *de ;
  struct untracked_cache_dir *d ;
  struct untracked_cache_dir *d___0 ;
  int tmp ;

  {
  if (cdir->fdir) {
    de = readdir_skip_dot_and_dotdot(cdir->fdir);
    if (! de) {
      cdir->d_name = (char const   *)((void *)0);
      cdir->d_type = 0;
      return (-1);
    }
    cdir->d_name = (char const   *)(de->d_name);
    cdir->d_type = (int )de->d_type;
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )cdir->nr_dirs < (cdir->untracked)->dirs_nr)) {
      goto while_break;
    }
    d = *((cdir->untracked)->dirs + cdir->nr_dirs);
    if (! d->recurse) {
      (cdir->nr_dirs) ++;
      goto while_continue;
    }
    cdir->ucd = d;
    (cdir->nr_dirs) ++;
    return (0);
  }
  while_break: /* CIL Label */ ;
  }
  cdir->ucd = (struct untracked_cache_dir *)((void *)0);
  if ((unsigned int )cdir->nr_files < (cdir->untracked)->untracked_nr) {
    d___0 = cdir->untracked;
    tmp = cdir->nr_files;
    (cdir->nr_files) ++;
    cdir->file = (char const   *)*(d___0->untracked + tmp);
    return (0);
  }
  return (-1);
}
}
static void close_cached_dir(struct cached_dir *cdir )
{


  {
  if (cdir->fdir) {
    closedir(cdir->fdir);
  }
  if (cdir->untracked) {
    (cdir->untracked)->valid = 1U;
    (cdir->untracked)->recurse = 1U;
  }
  return;
}
}
static void add_path_to_appropriate_result_list(struct dir_struct *dir , struct untracked_cache_dir *untracked ,
                                                struct cached_dir *cdir , struct index_state *istate ,
                                                struct strbuf *path___6 , int baselen ,
                                                struct pathspec  const  *pathspec___1 ,
                                                enum path_treatment state___1 )
{
  int tmp ;

  {
  {
  if ((unsigned int )state___1 == 2U) {
    goto case_2;
  }
  if ((unsigned int )state___1 == 3U) {
    goto case_3;
  }
  goto switch_default;
  case_2: /* CIL Label */
  if ((unsigned int )dir->flags & 1U) {
    dir_add_name(dir, istate, (char const   *)path___6->buf, (int )path___6->len);
  } else
  if ((unsigned int )dir->flags & 32U) {
    dir_add_ignored(dir, istate, (char const   *)path___6->buf, (int )path___6->len);
  } else
  if ((unsigned int )dir->flags & 16U) {
    tmp = exclude_matches_pathspec((char const   *)path___6->buf, (int )path___6->len,
                                   pathspec___1);
    if (tmp) {
      dir_add_ignored(dir, istate, (char const   *)path___6->buf, (int )path___6->len);
    }
  }
  goto switch_break;
  case_3: /* CIL Label */
  if ((unsigned int )dir->flags & 1U) {
    goto switch_break;
  }
  dir_add_name(dir, istate, (char const   *)path___6->buf, (int )path___6->len);
  if (cdir->fdir) {
    add_untracked(untracked, (char const   *)(path___6->buf + baselen));
  }
  goto switch_break;
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static enum path_treatment read_directory_recursive(struct dir_struct *dir , struct index_state *istate ,
                                                    char const   *base , int baselen ,
                                                    struct untracked_cache_dir *untracked ,
                                                    int check_only , int stop_at_first_file ,
                                                    struct pathspec  const  *pathspec___1 )
{
  struct cached_dir cdir ;
  enum path_treatment state___1 ;
  enum path_treatment subdir_state ;
  enum path_treatment dir_state ;
  struct strbuf path___6 ;
  int tmp ;
  struct untracked_cache_dir *ud ;
  int tmp___0 ;
  int tmp___1 ;

  {
  dir_state = (enum path_treatment )0;
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  strbuf_add(& path___6, (void const   *)base, (size_t )baselen);
  tmp = open_cached_dir(& cdir, dir, untracked, istate, & path___6, check_only);
  if (tmp) {
    goto out;
  }
  (dir->visited_directories) ++;
  if (untracked) {
    untracked->check_only = (unsigned int )(! (! check_only));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = read_cached_dir(& cdir);
    if (tmp___1) {
      goto while_break;
    }
    state___1 = treat_path(dir, untracked, & cdir, istate, & path___6, baselen, pathspec___1);
    (dir->visited_paths) ++;
    if ((unsigned int )state___1 > (unsigned int )dir_state) {
      dir_state = state___1;
    }
    if ((unsigned int )state___1 == 1U) {
      ud = lookup_untracked(dir->untracked, untracked, (char const   *)(path___6.buf + baselen),
                            (int )(path___6.len - (size_t )baselen));
      subdir_state = read_directory_recursive(dir, istate, (char const   *)path___6.buf,
                                              (int )path___6.len, ud, check_only,
                                              stop_at_first_file, pathspec___1);
      if ((unsigned int )subdir_state > (unsigned int )dir_state) {
        dir_state = subdir_state;
      }
      if (pathspec___1) {
        tmp___0 = match_pathspec(istate, pathspec___1, (char const   *)path___6.buf,
                                 (int )path___6.len, 0, (char *)((void *)0), 0);
        if (! tmp___0) {
          state___1 = (enum path_treatment )0;
        }
      }
    }
    if (check_only) {
      if (stop_at_first_file) {
        if ((unsigned int )dir_state >= 2U) {
          dir_state = (enum path_treatment )2;
          goto while_break;
        }
      }
      if ((unsigned int )dir_state == 3U) {
        if (cdir.fdir) {
          add_untracked(untracked, (char const   *)(path___6.buf + baselen));
        }
        goto while_break;
      }
      goto while_continue;
    }
    add_path_to_appropriate_result_list(dir, untracked, & cdir, istate, & path___6,
                                        baselen, pathspec___1, state___1);
  }
  while_break: /* CIL Label */ ;
  }
  close_cached_dir(& cdir);
  out:
  strbuf_release(& path___6);
  return (dir_state);
}
}
int cmp_dir_entry(void const   *p1 , void const   *p2 )
{
  struct dir_entry  const  *e1 ;
  struct dir_entry  const  *e2 ;
  int tmp ;

  {
  e1 = *((struct dir_entry  const  **)p1);
  e2 = *((struct dir_entry  const  **)p2);
  tmp = name_compare((char const   *)(e1->name), (size_t )e1->len, (char const   *)(e2->name),
                     (size_t )e2->len);
  return (tmp);
}
}
int check_dir_entry_contains(struct dir_entry  const  *out , struct dir_entry  const  *in )
{
  int tmp ;
  int tmp___0 ;

  {
  if (out->len < in->len) {
    if ((int )out->name[out->len - 1U] == 47) {
      tmp = memcmp((void const   *)(out->name), (void const   *)(in->name), (size_t )out->len);
      if (tmp) {
        tmp___0 = 0;
      } else {
        tmp___0 = 1;
      }
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static int treat_leading_path(struct dir_struct *dir , struct index_state *istate ,
                              char const   *path___6 , int len___0 , struct pathspec  const  *pathspec___1 )
{
  struct strbuf sb___6 ;
  struct strbuf subdir ;
  int prevlen ;
  int baselen ;
  char const   *cp ;
  struct cached_dir cdir ;
  enum path_treatment state___1 ;
  void *tmp ;
  int tmp___0 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  subdir.alloc = 0UL;
  subdir.len = 0UL;
  subdir.buf = strbuf_slopbuf;
  state___1 = (enum path_treatment )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (len___0) {
      if (! ((int const   )*(path___6 + (len___0 - 1)) == 47)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    len___0 --;
  }
  while_break: /* CIL Label */ ;
  }
  if (! len___0) {
    return (1);
  }
  memset((void *)(& cdir), 0, sizeof(cdir));
  cdir.d_type = 4;
  baselen = 0;
  prevlen = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    prevlen = baselen + ! (! baselen);
    cp = path___6 + prevlen;
    tmp = memchr((void const   *)cp, '/', (size_t )((path___6 + len___0) - cp));
    cp = (char const   *)tmp;
    if (! cp) {
      baselen = len___0;
    } else {
      baselen = (int )(cp - path___6);
    }
    strbuf_setlen(& sb___6, (size_t )0);
    strbuf_add(& sb___6, (void const   *)path___6, (size_t )baselen);
    tmp___0 = is_directory((char const   *)sb___6.buf);
    if (! tmp___0) {
      goto while_break___0;
    }
    strbuf_setlen(& sb___6, (size_t )0);
    strbuf_add(& sb___6, (void const   *)path___6, (size_t )prevlen);
    strbuf_setlen(& subdir, (size_t )0);
    strbuf_add(& subdir, (void const   *)(path___6 + prevlen), (size_t )(baselen - prevlen));
    cdir.d_name = (char const   *)subdir.buf;
    state___1 = treat_path(dir, (struct untracked_cache_dir *)((void *)0), & cdir,
                           istate, & sb___6, prevlen, pathspec___1);
    if ((unsigned int )state___1 != 1U) {
      goto while_break___0;
    }
    if (len___0 <= baselen) {
      goto while_break___0;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  add_path_to_appropriate_result_list(dir, (struct untracked_cache_dir *)((void *)0),
                                      & cdir, istate, & sb___6, baselen, pathspec___1,
                                      state___1);
  strbuf_release(& subdir);
  strbuf_release(& sb___6);
  return ((unsigned int )state___1 == 1U);
}
}
static char const   *get_ident_string(void) ;
static struct strbuf sb___0  =    {0UL, 0UL, strbuf_slopbuf};
static char const   *get_ident_string(void)
{
  struct utsname uts ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;

  {
  if (sb___0.len) {
    return ((char const   *)sb___0.buf);
  }
  tmp___0 = uname(& uts);
  if (tmp___0 < 0) {
    tmp = _((char const   *)"failed to get kernel name and information");
    die_errno((char const   *)tmp);
  }
  tmp___1 = get_git_work_tree();
  strbuf_addf(& sb___0, (char const   *)"Location %s, system %s", tmp___1, uts.sysname);
  return ((char const   *)sb___0.buf);
}
}
static int ident_in_untracked(struct untracked_cache  const  *uc )
{
  char const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = get_ident_string();
  tmp___0 = strcmp((char const   *)uc->ident.buf, tmp);
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  return (tmp___1);
}
}
static void set_untracked_ident(struct untracked_cache *uc )
{
  char const   *tmp ;

  {
  strbuf_setlen(& uc->ident, (size_t )0);
  tmp = get_ident_string();
  strbuf_addstr(& uc->ident, tmp);
  strbuf_addch(& uc->ident, 0);
  return;
}
}
static void new_untracked_cache(struct index_state *istate )
{
  struct untracked_cache *uc ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(*uc));
  uc = (struct untracked_cache *)tmp;
  strbuf_init(& uc->ident, (size_t )100);
  uc->exclude_per_dir = (char const   *)".gitignore";
  uc->dir_flags = 6U;
  set_untracked_ident(uc);
  istate->untracked = uc;
  istate->cache_changed |= (unsigned int )(1 << 7);
  return;
}
}
void add_untracked_cache(struct index_state *istate )
{
  int tmp ;

  {
  if (! istate->untracked) {
    new_untracked_cache(istate);
  } else {
    tmp = ident_in_untracked((struct untracked_cache  const  *)istate->untracked);
    if (! tmp) {
      free_untracked_cache(istate->untracked);
      new_untracked_cache(istate);
    }
  }
  return;
}
}
void remove_untracked_cache(struct index_state *istate )
{


  {
  if (istate->untracked) {
    free_untracked_cache(istate->untracked);
    istate->untracked = (struct untracked_cache *)((void *)0);
    istate->cache_changed |= (unsigned int )(1 << 7);
  }
  return;
}
}
static struct untracked_cache_dir *validate_untracked_cache(struct dir_struct *dir ,
                                                            int base_len , struct pathspec  const  *pathspec___1 ) ;
static int untracked_cache_disabled  =    -1;
static struct untracked_cache_dir *validate_untracked_cache(struct dir_struct *dir ,
                                                            int base_len , struct pathspec  const  *pathspec___1 )
{
  struct untracked_cache_dir *root ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  size_t flex_array_len_ ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  if (! dir->untracked) {
    return ((struct untracked_cache_dir *)((void *)0));
  }
  if (untracked_cache_disabled < 0) {
    untracked_cache_disabled = git_env_bool((char const   *)"GIT_DISABLE_UNTRACKED_CACHE",
                                            0);
  }
  if (untracked_cache_disabled) {
    return ((struct untracked_cache_dir *)((void *)0));
  }
  if (dir->unmanaged_exclude_files) {
    return ((struct untracked_cache_dir *)((void *)0));
  }
  if (base_len) {
    return ((struct untracked_cache_dir *)((void *)0));
  } else
  if (pathspec___1) {
    if (pathspec___1->nr) {
      return ((struct untracked_cache_dir *)((void *)0));
    }
  }
  if ((unsigned int )dir->flags != (dir->untracked)->dir_flags) {
    return ((struct untracked_cache_dir *)((void *)0));
  } else
  if (! ((unsigned int )dir->flags & 2U)) {
    return ((struct untracked_cache_dir *)((void *)0));
  } else
  if ((unsigned int )dir->flags & 49U) {
    return ((struct untracked_cache_dir *)((void *)0));
  }
  if ((unsigned long )dir->exclude_per_dir != (unsigned long )(dir->untracked)->exclude_per_dir) {
    tmp = strcmp(dir->exclude_per_dir, (dir->untracked)->exclude_per_dir);
    if (tmp) {
      return ((struct untracked_cache_dir *)((void *)0));
    }
  }
  if (dir->exclude_list_group[0].nr) {
    return ((struct untracked_cache_dir *)((void *)0));
  }
  tmp___1 = ident_in_untracked((struct untracked_cache  const  *)dir->untracked);
  if (! tmp___1) {
    tmp___0 = _((char const   *)"untracked cache is disabled on this system or location");
    warning((char const   *)tmp___0);
    return ((struct untracked_cache_dir *)((void *)0));
  }
  if (! (dir->untracked)->root) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___2 = strlen((char const   *)"");
      flex_array_len_ = tmp___2;
      tmp___3 = st_add(sizeof(*((dir->untracked)->root)), flex_array_len_);
      tmp___4 = st_add(tmp___3, (size_t )1);
      tmp___5 = xcalloc((size_t )1, tmp___4);
      (dir->untracked)->root = (struct untracked_cache_dir *)tmp___5;
      memcpy((void *)(((dir->untracked)->root)->name), (void const   *)"", flex_array_len_);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
  }
  root = (dir->untracked)->root;
  tmp___6 = oideq((struct object_id  const  *)(& dir->ss_info_exclude.oid), (struct object_id  const  *)(& (dir->untracked)->ss_info_exclude.oid));
  if (! tmp___6) {
    invalidate_gitignore(dir->untracked, root);
    (dir->untracked)->ss_info_exclude = dir->ss_info_exclude;
  }
  tmp___7 = oideq((struct object_id  const  *)(& dir->ss_excludes_file.oid), (struct object_id  const  *)(& (dir->untracked)->ss_excludes_file.oid));
  if (! tmp___7) {
    invalidate_gitignore(dir->untracked, root);
    (dir->untracked)->ss_excludes_file = dir->ss_excludes_file;
  }
  root->recurse = 1U;
  return (root);
}
}
static void emit_traversal_statistics(struct dir_struct *dir , struct repository *repo ,
                                      char const   *path___6 , int path_len )
{
  int tmp ;
  struct strbuf tmp___0 ;

  {
  tmp = trace2_is_enabled();
  if (! tmp) {
    return;
  }
  if (! path_len) {
    trace2_data_string_fl((char const   *)"dir.c", 2878, (char const   *)"read_directory",
                          (struct repository  const  *)repo, (char const   *)"path",
                          (char const   *)"");
  } else {
    tmp___0.alloc = 0UL;
    tmp___0.len = 0UL;
    tmp___0.buf = strbuf_slopbuf;
    strbuf_add(& tmp___0, (void const   *)path___6, (size_t )path_len);
    trace2_data_string_fl((char const   *)"dir.c", 2882, (char const   *)"read_directory",
                          (struct repository  const  *)repo, (char const   *)"path",
                          (char const   *)tmp___0.buf);
    strbuf_release(& tmp___0);
  }
  trace2_data_intmax_fl((char const   *)"dir.c", 2887, (char const   *)"read_directory",
                        (struct repository  const  *)repo, (char const   *)"directories-visited",
                        (intmax_t )dir->visited_directories);
  trace2_data_intmax_fl((char const   *)"dir.c", 2889, (char const   *)"read_directory",
                        (struct repository  const  *)repo, (char const   *)"paths-visited",
                        (intmax_t )dir->visited_paths);
  if (! dir->untracked) {
    return;
  }
  trace2_data_intmax_fl((char const   *)"dir.c", 2894, (char const   *)"read_directory",
                        (struct repository  const  *)repo, (char const   *)"node-creation",
                        (intmax_t )(dir->untracked)->dir_created);
  trace2_data_intmax_fl((char const   *)"dir.c", 2897, (char const   *)"read_directory",
                        (struct repository  const  *)repo, (char const   *)"gitignore-invalidation",
                        (intmax_t )(dir->untracked)->gitignore_invalidated);
  trace2_data_intmax_fl((char const   *)"dir.c", 2900, (char const   *)"read_directory",
                        (struct repository  const  *)repo, (char const   *)"directory-invalidation",
                        (intmax_t )(dir->untracked)->dir_invalidated);
  trace2_data_intmax_fl((char const   *)"dir.c", 2902, (char const   *)"read_directory",
                        (struct repository  const  *)repo, (char const   *)"opendir",
                        (intmax_t )(dir->untracked)->dir_opened);
  return;
}
}
static int force_untracked_cache  =    -1;
int read_directory(struct dir_struct *dir , struct index_state *istate , char const   *path___6 ,
                   int len___0 , struct pathspec  const  *pathspec___1 )
{
  struct untracked_cache_dir *untracked ;
  int tmp ;
  int tmp___0 ;

  {
  trace2_region_enter_fl((char const   *)"dir.c", 2910, (char const   *)"dir", (char const   *)"read_directory",
                         (struct repository  const  *)istate->repo);
  dir->visited_paths = 0U;
  dir->visited_directories = 0U;
  tmp = has_symlink_leading_path(path___6, len___0);
  if (tmp) {
    trace2_region_leave_fl((char const   *)"dir.c", 2915, (char const   *)"dir", (char const   *)"read_directory",
                           (struct repository  const  *)istate->repo);
    return (dir->nr);
  }
  untracked = validate_untracked_cache(dir, len___0, pathspec___1);
  if (! untracked) {
    dir->untracked = (struct untracked_cache *)((void *)0);
  }
  if (! len___0) {
    read_directory_recursive(dir, istate, path___6, len___0, untracked, 0, 0, pathspec___1);
  } else {
    tmp___0 = treat_leading_path(dir, istate, path___6, len___0, pathspec___1);
    if (tmp___0) {
      read_directory_recursive(dir, istate, path___6, len___0, untracked, 0, 0, pathspec___1);
    }
  }
  sane_qsort((void *)dir->entries, (size_t )dir->nr, sizeof(*(dir->entries)), & cmp_dir_entry);
  sane_qsort((void *)dir->ignored, (size_t )dir->ignored_nr, sizeof(*(dir->ignored)),
             & cmp_dir_entry);
  emit_traversal_statistics(dir, istate->repo, path___6, len___0);
  trace2_region_leave_fl((char const   *)"dir.c", 2933, (char const   *)"dir", (char const   *)"read_directory",
                         (struct repository  const  *)istate->repo);
  if (dir->untracked) {
    if (force_untracked_cache < 0) {
      force_untracked_cache = git_env_bool((char const   *)"GIT_FORCE_UNTRACKED_CACHE",
                                           0);
    }
    if (force_untracked_cache) {
      if ((unsigned long )dir->untracked == (unsigned long )istate->untracked) {
        if ((dir->untracked)->dir_opened) {
          istate->cache_changed |= (unsigned int )(1 << 7);
        } else
        if ((dir->untracked)->gitignore_invalidated) {
          istate->cache_changed |= (unsigned int )(1 << 7);
        } else
        if ((dir->untracked)->dir_invalidated) {
          istate->cache_changed |= (unsigned int )(1 << 7);
        }
      }
    }
    if ((unsigned long )dir->untracked != (unsigned long )istate->untracked) {
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        free((void *)dir->untracked);
        dir->untracked = (struct untracked_cache *)((void *)0);
        goto while_break;
      }
      while_break: /* CIL Label */ ;
      }
    }
  }
  return (dir->nr);
}
}
int file_exists(char const   *f )
{
  struct stat sb___6 ;
  int tmp ;

  {
  tmp = lstat(f, & sb___6);
  return (tmp == 0);
}
}
int repo_file_exists(struct repository *repo , char const   *path___6 )
{
  int tmp ;

  {
  if ((unsigned long )repo != (unsigned long )the_repository) {
    BUG_fl((char const   *)"dir.c", 2963, (char const   *)"do not know how to check file existence in arbitrary repo");
  }
  tmp = file_exists(path___6);
  return (tmp);
}
}
static int cmp_icase(char a , char b___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  if ((int )a == (int )b___0) {
    return (0);
  }
  if (ignore_case) {
    tmp = sane_case((int )((unsigned char )a), 0);
    tmp___0 = sane_case((int )((unsigned char )b___0), 0);
    return (tmp - tmp___0);
  }
  return ((int )a - (int )b___0);
}
}
int dir_inside_of(char const   *subdir , char const   *dir )
{
  int offset___2 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  offset___2 = 0;
  if (dir) {
    if (subdir) {
      if (*dir) {
        if (*subdir) {
          tmp = 1;
        } else {
          tmp = 0;
        }
      } else {
        tmp = 0;
      }
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  assert(tmp);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*dir) {
      if (*subdir) {
        tmp___0 = cmp_icase((char )*dir, (char )*subdir);
        if (tmp___0) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    dir ++;
    subdir ++;
    offset___2 ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (*dir) {
    if (*subdir) {
      return (-1);
    }
  }
  if (! *subdir) {
    if (! *dir) {
      tmp___1 = offset___2;
    } else {
      tmp___1 = -1;
    }
    return (tmp___1);
  }
  tmp___5 = git_is_dir_sep((int )*(dir + -1));
  if (tmp___5) {
    tmp___4 = git_is_dir_sep((int )*(subdir + -1));
    if (tmp___4) {
      tmp___3 = offset___2;
    } else {
      tmp___3 = -1;
    }
    return (tmp___3);
  }
  tmp___8 = git_is_dir_sep((int )*subdir);
  if (tmp___8) {
    tmp___7 = offset___2 + 1;
  } else {
    tmp___7 = -1;
  }
  return (tmp___7);
}
}
int is_inside_dir(char const   *dir )
{
  char *cwd___0 ;
  int rc___0 ;
  int tmp ;

  {
  if (! dir) {
    return (0);
  }
  cwd___0 = xgetcwd();
  tmp = dir_inside_of((char const   *)cwd___0, dir);
  rc___0 = tmp >= 0;
  free((void *)cwd___0);
  return (rc___0);
}
}
int is_empty_dir(char const   *path___6 )
{
  DIR *dir ;
  DIR *tmp ;
  struct dirent *e ;
  int ret___67 ;

  {
  tmp = opendir(path___6);
  dir = tmp;
  ret___67 = 1;
  if (! dir) {
    return (0);
  }
  e = readdir_skip_dot_and_dotdot(dir);
  if (e) {
    ret___67 = 0;
  }
  closedir(dir);
  return (ret___67);
}
}
char *git_url_basename(char const   *repo , int is_bundle___0 , int is_bare )
{
  char const   *end ;
  size_t tmp ;
  char const   *start ;
  char const   *ptr ;
  size_t len___0 ;
  char *dir ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  void *tmp___6 ;
  void *tmp___7 ;
  int tmp___8 ;
  char *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char *out ;
  int prev_space ;
  char ch___0 ;
  char *tmp___11 ;

  {
  tmp = strlen(repo);
  end = repo + tmp;
  tmp___0 = strstr(repo, (char const   *)"://");
  start = (char const   *)tmp___0;
  if ((unsigned long )start == (unsigned long )((void *)0)) {
    start = repo;
  } else {
    start += 3;
  }
  ptr = start;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )ptr < (unsigned long )end) {
      tmp___1 = git_is_dir_sep((int )*ptr);
      if (tmp___1) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if ((int const   )*ptr == 64) {
      start = ptr + 1;
    }
    ptr ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if ((unsigned long )start < (unsigned long )end) {
      tmp___2 = git_is_dir_sep((int )*(end + -1));
      if (! tmp___2) {
        if (! (((int const   )sane_ctype[(unsigned char )*(end + -1)] & 1) != 0)) {
          goto while_break___0;
        }
      }
    } else {
      goto while_break___0;
    }
    end --;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (end - start > 5L) {
    tmp___4 = git_is_dir_sep((int )*(end + -5));
    if (tmp___4) {
      tmp___5 = strncmp(end - 4, (char const   *)".git", (size_t )4);
      if (! tmp___5) {
        end -= 5;
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          if ((unsigned long )start < (unsigned long )end) {
            tmp___3 = git_is_dir_sep((int )*(end + -1));
            if (! tmp___3) {
              goto while_break___1;
            }
          } else {
            goto while_break___1;
          }
          end --;
        }
        while_break___1: /* CIL Label */ ;
        }
      }
    }
  }
  tmp___6 = memchr((void const   *)start, '/', (size_t )(end - start));
  if ((unsigned long )tmp___6 == (unsigned long )((void *)0)) {
    tmp___7 = memchr((void const   *)start, ':', (size_t )(end - start));
    if ((unsigned long )tmp___7 != (unsigned long )((void *)0)) {
      ptr = end;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if ((unsigned long )start < (unsigned long )ptr) {
          if (((int const   )sane_ctype[(unsigned char )*(ptr + -1)] & 2) != 0) {
            if (! ((int const   )*(ptr + -1) != 58)) {
              goto while_break___2;
            }
          } else {
            goto while_break___2;
          }
        } else {
          goto while_break___2;
        }
        ptr --;
      }
      while_break___2: /* CIL Label */ ;
      }
      if ((unsigned long )start < (unsigned long )ptr) {
        if ((int const   )*(ptr + -1) == 58) {
          end = ptr - 1;
        }
      }
    }
  }
  ptr = end;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if ((unsigned long )start < (unsigned long )ptr) {
      tmp___8 = git_is_dir_sep((int )*(ptr + -1));
      if (tmp___8) {
        goto while_break___3;
      } else
      if (! ((int const   )*(ptr + -1) != 58)) {
        goto while_break___3;
      }
    } else {
      goto while_break___3;
    }
    ptr --;
  }
  while_break___3: /* CIL Label */ ;
  }
  start = ptr;
  len___0 = (size_t )(end - start);
  if (is_bundle___0) {
    tmp___9 = ".bundle";
  } else {
    tmp___9 = ".git";
  }
  strip_suffix_mem(start, & len___0, (char const   *)tmp___9);
  if (! len___0) {
    tmp___10 = _((char const   *)"No directory name could be guessed.\nPlease specify a directory on the command line");
    die((char const   *)tmp___10);
  } else
  if (len___0 == 1UL) {
    if ((int const   )*start == 47) {
      tmp___10 = _((char const   *)"No directory name could be guessed.\nPlease specify a directory on the command line");
      die((char const   *)tmp___10);
    }
  }
  if (is_bare) {
    dir = xstrfmt((char const   *)"%.*s.git", (int )len___0, start);
  } else {
    dir = xstrndup(start, len___0);
  }
  if (*dir) {
    out = dir;
    prev_space = 1;
    end = (char const   *)dir;
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (! *end) {
        goto while_break___4;
      }
      ch___0 = (char )*end;
      if ((int )((unsigned char )ch___0) < 32) {
        ch___0 = (char )' ';
      }
      if (((int const   )sane_ctype[(unsigned char )ch___0] & 1) != 0) {
        if (prev_space) {
          goto __Cont;
        }
        prev_space = 1;
      } else {
        prev_space = 0;
      }
      tmp___11 = out;
      out ++;
      *tmp___11 = ch___0;
      __Cont: /* CIL Label */
      end ++;
    }
    while_break___4: /* CIL Label */ ;
    }
    *out = (char )'\000';
    if ((unsigned long )out > (unsigned long )dir) {
      if (prev_space) {
        *(out + -1) = (char )'\000';
      }
    }
  }
  return (dir);
}
}
void strip_dir_trailing_slashes(char *dir )
{
  char *end ;
  size_t tmp ;
  int tmp___0 ;

  {
  tmp = strlen((char const   *)dir);
  end = dir + tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )dir < (unsigned long )(end - 1)) {
      tmp___0 = git_is_dir_sep((int )*(end + -1));
      if (! tmp___0) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    end --;
  }
  while_break: /* CIL Label */ ;
  }
  *end = (char )'\000';
  return;
}
}
static int remove_dir_recurse(struct strbuf *path___6 , int flag , int *kept_up )
{
  DIR *dir ;
  struct dirent *e ;
  int ret___67 ;
  int original_len ;
  int len___0 ;
  int kept_down ;
  int only_empty ;
  int keep_toplevel ;
  int purge_original_cwd ;
  struct object_id submodule_head ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int *tmp___2 ;
  int *tmp___3 ;
  struct stat st ;
  int *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int *tmp___10 ;
  int tmp___11 ;
  int *tmp___12 ;
  int tmp___13 ;

  {
  ret___67 = 0;
  original_len = (int )path___6->len;
  kept_down = 0;
  only_empty = flag & 01;
  keep_toplevel = flag & 04;
  purge_original_cwd = flag & 0x08;
  if (flag & 02) {
    tmp = resolve_gitlink_ref((char const   *)path___6->buf, (char const   *)"HEAD",
                              & submodule_head);
    if (! tmp) {
      if (kept_up) {
        *kept_up = 1;
      }
      return (0);
    }
  }
  flag &= -5;
  dir = opendir((char const   *)path___6->buf);
  if (! dir) {
    tmp___3 = __errno_location();
    if (*tmp___3 == 2) {
      if (keep_toplevel) {
        tmp___0 = -1;
      } else {
        tmp___0 = 0;
      }
      return (tmp___0);
    } else {
      tmp___2 = __errno_location();
      if (*tmp___2 == 13) {
        if (! keep_toplevel) {
          tmp___1 = lstat_cache_aware_rmdir((char const   *)path___6->buf);
          return (tmp___1);
        } else {
          return (-1);
        }
      } else {
        return (-1);
      }
    }
  }
  strbuf_complete(path___6, (char )'/');
  len___0 = (int )path___6->len;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    e = readdir_skip_dot_and_dotdot(dir);
    if (! ((unsigned long )e != (unsigned long )((void *)0))) {
      goto while_break;
    }
    strbuf_setlen(path___6, (size_t )len___0);
    strbuf_addstr(path___6, (char const   *)(e->d_name));
    tmp___8 = lstat((char const   *)path___6->buf, & st);
    if (tmp___8) {
      tmp___4 = __errno_location();
      if (*tmp___4 == 2) {
        goto while_continue;
      }
    } else
    if ((st.st_mode & 61440U) == 16384U) {
      tmp___5 = remove_dir_recurse(path___6, flag, & kept_down);
      if (! tmp___5) {
        goto while_continue;
      }
    } else
    if (! only_empty) {
      tmp___6 = unlink((char const   *)path___6->buf);
      if (tmp___6) {
        tmp___7 = __errno_location();
        if (*tmp___7 == 2) {
          goto while_continue;
        }
      } else {
        goto while_continue;
      }
    }
    ret___67 = -1;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  closedir(dir);
  strbuf_setlen(path___6, (size_t )original_len);
  if (! ret___67) {
    if (! keep_toplevel) {
      if (! kept_down) {
        if (! purge_original_cwd) {
          if (startup_info->original_cwd) {
            tmp___13 = strcmp(startup_info->original_cwd, (char const   *)path___6->buf);
            if (tmp___13) {
              goto _L___0;
            } else {
              ret___67 = -1;
            }
          } else {
            goto _L___0;
          }
        } else {
          _L___0: /* CIL Label */
          _L: /* CIL Label */
          tmp___11 = lstat_cache_aware_rmdir((char const   *)path___6->buf);
          if (tmp___11) {
            tmp___12 = __errno_location();
            if (*tmp___12 == 2) {
              ret___67 = 0;
            } else {
              ret___67 = -1;
            }
          } else {
            ret___67 = 0;
          }
        }
      } else {
        goto _L___2;
      }
    } else {
      goto _L___2;
    }
  } else
  _L___2: /* CIL Label */
  _L___1: /* CIL Label */
  if (kept_up) {
    *kept_up = ! ret___67;
  }
  return (ret___67);
}
}
int remove_dir_recursively(struct strbuf *path___6 , int flag )
{
  int tmp ;

  {
  tmp = remove_dir_recurse(path___6, flag, (int *)((void *)0));
  return (tmp);
}
}
static char *ret___9  ;
static char const   *git_path_info_exclude(void)
{


  {
  if (! ret___9) {
    ret___9 = git_pathdup((char const   *)"info/exclude");
  }
  return ((char const   *)ret___9);
}
}
void setup_standard_excludes(struct dir_struct *dir )
{
  char *tmp ;
  struct oid_stat *tmp___0 ;
  int tmp___1 ;
  char const   *path___6 ;
  char const   *tmp___2 ;
  struct oid_stat *tmp___3 ;
  int tmp___4 ;

  {
  dir->exclude_per_dir = (char const   *)".gitignore";
  if (! excludes_file) {
    tmp = xdg_config_home((char const   *)"ignore");
    excludes_file = (char const   *)tmp;
  }
  if (excludes_file) {
    tmp___1 = access_or_warn(excludes_file, 4, 0U);
    if (! tmp___1) {
      if (dir->untracked) {
        tmp___0 = & dir->ss_excludes_file;
      } else {
        tmp___0 = (struct oid_stat *)((void *)0);
      }
      add_patterns_from_file_1(dir, excludes_file, tmp___0);
    }
  }
  if (startup_info->have_repository) {
    tmp___2 = git_path_info_exclude();
    path___6 = tmp___2;
    tmp___4 = access_or_warn(path___6, 4, 0U);
    if (! tmp___4) {
      if (dir->untracked) {
        tmp___3 = & dir->ss_info_exclude;
      } else {
        tmp___3 = (struct oid_stat *)((void *)0);
      }
      add_patterns_from_file_1(dir, path___6, tmp___3);
    }
  }
  return;
}
}
char *get_sparse_checkout_filename(void)
{
  char *tmp ;

  {
  tmp = git_pathdup((char const   *)"info/sparse-checkout");
  return (tmp);
}
}
int get_sparse_checkout_patterns(struct pattern_list *pl )
{
  int res ;
  char *sparse_filename ;
  char *tmp ;

  {
  tmp = get_sparse_checkout_filename();
  sparse_filename = tmp;
  pl->use_cone_patterns = (unsigned int )core_sparse_checkout_cone;
  res = add_patterns_from_file_to_list((char const   *)sparse_filename, (char const   *)"",
                                       0, pl, (struct index_state *)((void *)0), 0U);
  free((void *)sparse_filename);
  return (res);
}
}
int remove_path(char const   *name___0 )
{
  char *slash ;
  int tmp ;
  int *tmp___0 ;
  int tmp___1 ;
  char *dirs ;
  char *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp = unlink(name___0);
  if (tmp) {
    tmp___0 = __errno_location();
    tmp___1 = is_missing_file_error(*tmp___0);
    if (! tmp___1) {
      return (-1);
    }
  }
  slash = strrchr(name___0, '/');
  if (slash) {
    tmp___2 = xstrdup(name___0);
    dirs = tmp___2;
    slash = dirs + (slash - (char *)name___0);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      *slash = (char )'\000';
      if (startup_info->original_cwd) {
        tmp___3 = strcmp(startup_info->original_cwd, (char const   *)dirs);
        if (! tmp___3) {
          goto while_break;
        }
      }
      tmp___4 = lstat_cache_aware_rmdir((char const   *)dirs);
      if (tmp___4 == 0) {
        slash = strrchr((char const   *)dirs, '/');
        if (! slash) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    free((void *)dirs);
  }
  return (0);
}
}
void dir_clear(struct dir_struct *dir )
{
  int i ;
  int j ;
  struct exclude_list_group *group ;
  struct pattern_list *pl ;
  struct exclude_stack *stk ;
  struct dir_struct new ;
  struct exclude_stack *prev ;

  {
  new.nr = 0;
  new.alloc = 0;
  new.ignored_nr = 0;
  new.ignored_alloc = 0;
  new.flags = 0U;
  new.entries = (struct dir_entry **)0;
  new.ignored = (struct dir_entry **)0;
  new.exclude_per_dir = (char const   *)0;
  new.exclude_list_group[0].nr = 0;
  new.exclude_list_group[0].alloc = 0;
  new.exclude_list_group[0].pl = (struct pattern_list *)0;
  new.exclude_list_group[1].nr = 0;
  new.exclude_list_group[1].alloc = 0;
  new.exclude_list_group[1].pl = (struct pattern_list *)0;
  new.exclude_list_group[2].nr = 0;
  new.exclude_list_group[2].alloc = 0;
  new.exclude_list_group[2].pl = (struct pattern_list *)0;
  new.exclude_stack = (struct exclude_stack *)0;
  new.pattern = (struct path_pattern *)0;
  new.basebuf.alloc = 0UL;
  new.basebuf.len = 0UL;
  new.basebuf.buf = (char *)0;
  new.untracked = (struct untracked_cache *)0;
  new.ss_info_exclude.stat.sd_ctime.sec = 0U;
  new.ss_info_exclude.stat.sd_ctime.nsec = 0U;
  new.ss_info_exclude.stat.sd_mtime.sec = 0U;
  new.ss_info_exclude.stat.sd_mtime.nsec = 0U;
  new.ss_info_exclude.stat.sd_dev = 0U;
  new.ss_info_exclude.stat.sd_ino = 0U;
  new.ss_info_exclude.stat.sd_uid = 0U;
  new.ss_info_exclude.stat.sd_gid = 0U;
  new.ss_info_exclude.stat.sd_size = 0U;
  new.ss_info_exclude.oid.hash[0] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[1] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[2] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[3] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[4] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[5] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[6] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[7] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[8] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[9] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[10] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[11] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[12] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[13] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[14] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[15] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[16] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[17] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[18] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[19] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[20] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[21] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[22] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[23] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[24] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[25] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[26] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[27] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[28] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[29] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[30] = (unsigned char)0;
  new.ss_info_exclude.oid.hash[31] = (unsigned char)0;
  new.ss_info_exclude.oid.algo = 0;
  new.ss_info_exclude.valid = 0;
  new.ss_excludes_file.stat.sd_ctime.sec = 0U;
  new.ss_excludes_file.stat.sd_ctime.nsec = 0U;
  new.ss_excludes_file.stat.sd_mtime.sec = 0U;
  new.ss_excludes_file.stat.sd_mtime.nsec = 0U;
  new.ss_excludes_file.stat.sd_dev = 0U;
  new.ss_excludes_file.stat.sd_ino = 0U;
  new.ss_excludes_file.stat.sd_uid = 0U;
  new.ss_excludes_file.stat.sd_gid = 0U;
  new.ss_excludes_file.stat.sd_size = 0U;
  new.ss_excludes_file.oid.hash[0] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[1] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[2] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[3] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[4] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[5] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[6] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[7] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[8] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[9] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[10] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[11] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[12] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[13] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[14] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[15] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[16] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[17] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[18] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[19] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[20] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[21] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[22] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[23] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[24] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[25] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[26] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[27] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[28] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[29] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[30] = (unsigned char)0;
  new.ss_excludes_file.oid.hash[31] = (unsigned char)0;
  new.ss_excludes_file.oid.algo = 0;
  new.ss_excludes_file.valid = 0;
  new.unmanaged_exclude_files = 0U;
  new.visited_paths = 0U;
  new.visited_directories = 0U;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i <= 2)) {
      goto while_break;
    }
    group = & dir->exclude_list_group[i];
    j = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < group->nr)) {
        goto while_break___0;
      }
      pl = group->pl + j;
      if (i == 1) {
        free((void *)((char *)pl->src));
      }
      clear_pattern_list(pl);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    free((void *)group->pl);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < dir->ignored_nr)) {
      goto while_break___1;
    }
    free((void *)*(dir->ignored + i));
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < dir->nr)) {
      goto while_break___2;
    }
    free((void *)*(dir->entries + i));
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  free((void *)dir->ignored);
  free((void *)dir->entries);
  stk = dir->exclude_stack;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! stk) {
      goto while_break___3;
    }
    prev = stk->prev;
    free((void *)stk);
    stk = prev;
  }
  while_break___3: /* CIL Label */ ;
  }
  strbuf_release(& dir->basebuf);
  memcpy((void *)dir, (void const   *)(& new), sizeof(*dir));
  return;
}
}
static void stat_data_to_disk(struct stat_data *to , struct stat_data  const  *from___0 )
{


  {
  to->sd_ctime.sec = git_bswap32((uint32_t )from___0->sd_ctime.sec);
  to->sd_ctime.nsec = git_bswap32((uint32_t )from___0->sd_ctime.nsec);
  to->sd_mtime.sec = git_bswap32((uint32_t )from___0->sd_mtime.sec);
  to->sd_mtime.nsec = git_bswap32((uint32_t )from___0->sd_mtime.nsec);
  to->sd_dev = git_bswap32((uint32_t )from___0->sd_dev);
  to->sd_ino = git_bswap32((uint32_t )from___0->sd_ino);
  to->sd_uid = git_bswap32((uint32_t )from___0->sd_uid);
  to->sd_gid = git_bswap32((uint32_t )from___0->sd_gid);
  to->sd_size = git_bswap32((uint32_t )from___0->sd_size);
  return;
}
}
static void write_one_dir(struct untracked_cache_dir *untracked , struct write_data *wd )
{
  struct stat_data stat_data ;
  struct strbuf *out ;
  unsigned char intbuf[16] ;
  unsigned int intlen ;
  unsigned int value ;
  int i ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  size_t tmp___3 ;
  size_t tmp___4 ;

  {
  out = & wd->out;
  tmp = wd->index;
  (wd->index) ++;
  i = tmp;
  if (! untracked->valid) {
    untracked->untracked_nr = 0U;
    untracked->check_only = 0U;
  }
  if (untracked->check_only) {
    ewah_set(wd->check_only, (size_t )i);
  }
  if (untracked->valid) {
    ewah_set(wd->valid, (size_t )i);
    stat_data_to_disk(& stat_data, (struct stat_data  const  *)(& untracked->stat_data));
    strbuf_add(& wd->sb_stat, (void const   *)(& stat_data), sizeof(stat_data));
  }
  tmp___0 = is_null_oid((struct object_id  const  *)(& untracked->exclude_oid));
  if (! tmp___0) {
    ewah_set(wd->sha1_valid, (size_t )i);
    strbuf_add(& wd->sb_sha1, (void const   *)(untracked->exclude_oid.hash), (size_t )(the_repository->hash_algo)->rawsz);
  }
  tmp___1 = encode_varint((uintmax_t )untracked->untracked_nr, intbuf);
  intlen = (unsigned int )tmp___1;
  strbuf_add(out, (void const   *)(intbuf), (size_t )intlen);
  i = 0;
  value = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < untracked->dirs_nr)) {
      goto while_break;
    }
    if ((*(untracked->dirs + i))->recurse) {
      value ++;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = encode_varint((uintmax_t )value, intbuf);
  intlen = (unsigned int )tmp___2;
  strbuf_add(out, (void const   *)(intbuf), (size_t )intlen);
  tmp___3 = strlen((char const   *)(untracked->name));
  strbuf_add(out, (void const   *)(untracked->name), tmp___3 + 1UL);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < untracked->untracked_nr)) {
      goto while_break___0;
    }
    tmp___4 = strlen((char const   *)*(untracked->untracked + i));
    strbuf_add(out, (void const   *)*(untracked->untracked + i), tmp___4 + 1UL);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned int )i < untracked->dirs_nr)) {
      goto while_break___1;
    }
    if ((*(untracked->dirs + i))->recurse) {
      write_one_dir(*(untracked->dirs + i), wd);
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  return;
}
}
void write_untracked_extension(struct strbuf *out , struct untracked_cache *untracked )
{
  struct ondisk_untracked_cache *ouc ;
  struct write_data wd ;
  unsigned char varbuf[16] ;
  int varint_len ;
  unsigned int hashsz ;
  void *tmp ;
  size_t tmp___0 ;

  {
  hashsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  tmp = xcalloc((size_t )1, sizeof(*ouc));
  ouc = (struct ondisk_untracked_cache *)tmp;
  stat_data_to_disk(& ouc->info_exclude_stat, (struct stat_data  const  *)(& untracked->ss_info_exclude.stat));
  stat_data_to_disk(& ouc->excludes_file_stat, (struct stat_data  const  *)(& untracked->ss_excludes_file.stat));
  ouc->dir_flags = git_bswap32(untracked->dir_flags);
  varint_len = encode_varint(untracked->ident.len, varbuf);
  strbuf_add(out, (void const   *)(varbuf), (size_t )varint_len);
  strbuf_addbuf(out, (struct strbuf  const  *)(& untracked->ident));
  strbuf_add(out, (void const   *)ouc, sizeof(*ouc));
  strbuf_add(out, (void const   *)(untracked->ss_info_exclude.oid.hash), (size_t )hashsz);
  strbuf_add(out, (void const   *)(untracked->ss_excludes_file.oid.hash), (size_t )hashsz);
  tmp___0 = strlen(untracked->exclude_per_dir);
  strbuf_add(out, (void const   *)untracked->exclude_per_dir, tmp___0 + 1UL);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)ouc);
    ouc = (struct ondisk_untracked_cache *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (! untracked->root) {
    varint_len = encode_varint((uintmax_t )0, varbuf);
    strbuf_add(out, (void const   *)(varbuf), (size_t )varint_len);
    return;
  }
  wd.index = 0;
  wd.check_only = ewah_new();
  wd.valid = ewah_new();
  wd.sha1_valid = ewah_new();
  strbuf_init(& wd.out, (size_t )1024);
  strbuf_init(& wd.sb_stat, (size_t )1024);
  strbuf_init(& wd.sb_sha1, (size_t )1024);
  write_one_dir(untracked->root, & wd);
  varint_len = encode_varint((uintmax_t )wd.index, varbuf);
  strbuf_add(out, (void const   *)(varbuf), (size_t )varint_len);
  strbuf_addbuf(out, (struct strbuf  const  *)(& wd.out));
  ewah_serialize_strbuf(wd.valid, out);
  ewah_serialize_strbuf(wd.check_only, out);
  ewah_serialize_strbuf(wd.sha1_valid, out);
  strbuf_addbuf(out, (struct strbuf  const  *)(& wd.sb_stat));
  strbuf_addbuf(out, (struct strbuf  const  *)(& wd.sb_sha1));
  strbuf_addch(out, '\000');
  ewah_free(wd.valid);
  ewah_free(wd.check_only);
  ewah_free(wd.sha1_valid);
  strbuf_release(& wd.out);
  strbuf_release(& wd.sb_stat);
  strbuf_release(& wd.sb_sha1);
  return;
}
}
static void free_untracked(struct untracked_cache_dir *ucd )
{
  int i ;

  {
  if (! ucd) {
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < ucd->dirs_nr)) {
      goto while_break;
    }
    free_untracked(*(ucd->dirs + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < ucd->untracked_nr)) {
      goto while_break___0;
    }
    free((void *)*(ucd->untracked + i));
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)ucd->untracked);
  free((void *)ucd->dirs);
  free((void *)ucd);
  return;
}
}
void free_untracked_cache(struct untracked_cache *uc )
{


  {
  if (uc) {
    free_untracked(uc->root);
  }
  free((void *)uc);
  return;
}
}
static void stat_data_from_disk(struct stat_data *to , unsigned char const   *data )
{


  {
  memcpy((void *)to, (void const   *)data, sizeof(*to));
  to->sd_ctime.sec = git_bswap32(to->sd_ctime.sec);
  to->sd_ctime.nsec = git_bswap32(to->sd_ctime.nsec);
  to->sd_mtime.sec = git_bswap32(to->sd_mtime.sec);
  to->sd_mtime.nsec = git_bswap32(to->sd_mtime.nsec);
  to->sd_dev = git_bswap32(to->sd_dev);
  to->sd_ino = git_bswap32(to->sd_ino);
  to->sd_uid = git_bswap32(to->sd_uid);
  to->sd_gid = git_bswap32(to->sd_gid);
  to->sd_size = git_bswap32(to->sd_size);
  return;
}
}
static int read_one_dir(struct untracked_cache_dir **untracked_ , struct read_data *rd )
{
  struct untracked_cache_dir ud ;
  struct untracked_cache_dir *untracked ;
  unsigned char const   *data ;
  unsigned char const   *end ;
  unsigned char const   *eos ;
  unsigned int value ;
  int i ;
  uintmax_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  uintmax_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  void *tmp___5 ;
  size_t tmp___6 ;
  size_t tmp___7 ;
  void *tmp___8 ;
  void *tmp___9 ;
  void *tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;

  {
  data = rd->data;
  end = rd->end;
  memset((void *)(& ud), 0, sizeof(ud));
  tmp = decode_varint(& data);
  value = (unsigned int )tmp;
  if ((unsigned long )data > (unsigned long )end) {
    return (-1);
  }
  ud.recurse = 1U;
  ud.untracked_alloc = value;
  ud.untracked_nr = value;
  if (ud.untracked_nr) {
    tmp___0 = st_mult(sizeof(*(ud.untracked)), (size_t )ud.untracked_nr);
    tmp___1 = xmalloc(tmp___0);
    ud.untracked = (char **)tmp___1;
  }
  tmp___2 = decode_varint(& data);
  ud.dirs_nr = (unsigned int )tmp___2;
  ud.dirs_alloc = ud.dirs_nr;
  if ((unsigned long )data > (unsigned long )end) {
    return (-1);
  }
  tmp___3 = st_mult(sizeof(*(ud.dirs)), (size_t )ud.dirs_nr);
  tmp___4 = xmalloc(tmp___3);
  ud.dirs = (struct untracked_cache_dir **)tmp___4;
  tmp___5 = memchr((void const   *)data, '\000', (size_t )(end - data));
  eos = (unsigned char const   *)tmp___5;
  if (! eos) {
    return (-1);
  } else
  if ((unsigned long )eos == (unsigned long )end) {
    return (-1);
  }
  tmp___6 = st_add(sizeof(*untracked), (size_t )(eos - data));
  tmp___7 = st_add(tmp___6, (size_t )1);
  tmp___8 = xmalloc(tmp___7);
  untracked = (struct untracked_cache_dir *)tmp___8;
  *untracked_ = untracked;
  memcpy((void *)untracked, (void const   *)(& ud), sizeof(ud));
  memcpy((void *)(untracked->name), (void const   *)data, (size_t )((eos - data) + 1L));
  data = eos + 1;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < untracked->untracked_nr)) {
      goto while_break;
    }
    tmp___9 = memchr((void const   *)data, '\000', (size_t )(end - data));
    eos = (unsigned char const   *)tmp___9;
    if (! eos) {
      return (-1);
    } else
    if ((unsigned long )eos == (unsigned long )end) {
      return (-1);
    }
    tmp___10 = xmemdupz((void const   *)data, (size_t )(eos - data));
    *(untracked->untracked + i) = (char *)tmp___10;
    data = eos + 1;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___11 = rd->index;
  (rd->index) ++;
  *(rd->ucd + tmp___11) = untracked;
  rd->data = data;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < untracked->dirs_nr)) {
      goto while_break___0;
    }
    tmp___12 = read_one_dir(untracked->dirs + i, rd);
    if (tmp___12 < 0) {
      return (-1);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (0);
}
}
static void set_check_only(size_t pos , void *cb )
{
  struct read_data *rd ;
  struct untracked_cache_dir *ud ;

  {
  rd = (struct read_data *)cb;
  ud = *(rd->ucd + pos);
  ud->check_only = 1U;
  return;
}
}
static void read_stat(size_t pos , void *cb )
{
  struct read_data *rd ;
  struct untracked_cache_dir *ud ;

  {
  rd = (struct read_data *)cb;
  ud = *(rd->ucd + pos);
  if ((unsigned long )(rd->data + sizeof(struct stat_data )) > (unsigned long )rd->end) {
    rd->data = rd->end + 1;
    return;
  }
  stat_data_from_disk(& ud->stat_data, rd->data);
  rd->data += sizeof(struct stat_data );
  ud->valid = 1U;
  return;
}
}
static void read_oid(size_t pos , void *cb )
{
  struct read_data *rd ;
  struct untracked_cache_dir *ud ;

  {
  rd = (struct read_data *)cb;
  ud = *(rd->ucd + pos);
  if ((unsigned long )(rd->data + (the_repository->hash_algo)->rawsz) > (unsigned long )rd->end) {
    rd->data = rd->end + 1;
    return;
  }
  oidread(& ud->exclude_oid, rd->data);
  rd->data += (the_repository->hash_algo)->rawsz;
  return;
}
}
static void load_oid_stat(struct oid_stat *oid_stat , unsigned char const   *data ,
                          unsigned char const   *sha1 )
{


  {
  stat_data_from_disk(& oid_stat->stat, data);
  oidread(& oid_stat->oid, sha1);
  oid_stat->valid = 1;
  return;
}
}
struct untracked_cache *read_untracked_extension(void const   *data , unsigned long sz )
{
  struct untracked_cache *uc ;
  struct read_data rd ;
  unsigned char const   *next___2 ;
  unsigned char const   *end ;
  char const   *ident ;
  int ident_len ;
  ssize_t len___0 ;
  char const   *exclude_per_dir ;
  unsigned int hashsz ;
  unsigned int offset___2 ;
  unsigned int exclude_per_dir_offset ;
  uintmax_t tmp ;
  void *tmp___0 ;
  char *tmp___1 ;
  size_t tmp___2 ;
  uintmax_t tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;
  int tmp___6 ;

  {
  next___2 = (unsigned char const   *)data;
  end = (unsigned char const   *)data + sz;
  hashsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  offset___2 = (unsigned int )sizeof(struct ondisk_untracked_cache );
  exclude_per_dir_offset = offset___2 + 2U * hashsz;
  if (sz <= 1UL) {
    return ((struct untracked_cache *)((void *)0));
  } else
  if ((int const   )*(end + -1) != 0) {
    return ((struct untracked_cache *)((void *)0));
  }
  end --;
  tmp = decode_varint(& next___2);
  ident_len = (int )tmp;
  if ((unsigned long )(next___2 + ident_len) > (unsigned long )end) {
    return ((struct untracked_cache *)((void *)0));
  }
  ident = (char const   *)next___2;
  next___2 += ident_len;
  if ((unsigned long )((next___2 + exclude_per_dir_offset) + 1) > (unsigned long )end) {
    return ((struct untracked_cache *)((void *)0));
  }
  tmp___0 = xcalloc((size_t )1, sizeof(*uc));
  uc = (struct untracked_cache *)tmp___0;
  strbuf_init(& uc->ident, (size_t )ident_len);
  strbuf_add(& uc->ident, (void const   *)ident, (size_t )ident_len);
  load_oid_stat(& uc->ss_info_exclude, next___2 + (unsigned long )(& ((struct ondisk_untracked_cache *)0)->info_exclude_stat),
                next___2 + offset___2);
  load_oid_stat(& uc->ss_excludes_file, next___2 + (unsigned long )(& ((struct ondisk_untracked_cache *)0)->excludes_file_stat),
                (next___2 + offset___2) + hashsz);
  uc->dir_flags = get_be32((void const   *)(next___2 + (unsigned long )(& ((struct ondisk_untracked_cache *)0)->dir_flags)));
  exclude_per_dir = (char const   *)next___2 + exclude_per_dir_offset;
  tmp___1 = xstrdup(exclude_per_dir);
  uc->exclude_per_dir = (char const   *)tmp___1;
  tmp___2 = strlen(exclude_per_dir);
  next___2 += ((size_t )exclude_per_dir_offset + tmp___2) + 1UL;
  if ((unsigned long )next___2 >= (unsigned long )end) {
    goto done2;
  }
  tmp___3 = decode_varint(& next___2);
  len___0 = (ssize_t )tmp___3;
  if ((unsigned long )next___2 > (unsigned long )end) {
    goto done2;
  } else
  if (len___0 == 0L) {
    goto done2;
  }
  rd.valid = ewah_new();
  rd.check_only = ewah_new();
  rd.sha1_valid = ewah_new();
  rd.data = next___2;
  rd.end = end;
  rd.index = 0;
  tmp___4 = st_mult(sizeof(*(rd.ucd)), (size_t )len___0);
  tmp___5 = xmalloc(tmp___4);
  rd.ucd = (struct untracked_cache_dir **)tmp___5;
  tmp___6 = read_one_dir(& uc->root, & rd);
  if (tmp___6) {
    goto done;
  } else
  if ((ssize_t )rd.index != len___0) {
    goto done;
  }
  next___2 = rd.data;
  len___0 = ewah_read_mmap(rd.valid, (void const   *)next___2, (size_t )(end - next___2));
  if (len___0 < 0L) {
    goto done;
  }
  next___2 += len___0;
  len___0 = ewah_read_mmap(rd.check_only, (void const   *)next___2, (size_t )(end - next___2));
  if (len___0 < 0L) {
    goto done;
  }
  next___2 += len___0;
  len___0 = ewah_read_mmap(rd.sha1_valid, (void const   *)next___2, (size_t )(end - next___2));
  if (len___0 < 0L) {
    goto done;
  }
  ewah_each_bit(rd.check_only, & set_check_only, (void *)(& rd));
  rd.data = next___2 + len___0;
  ewah_each_bit(rd.valid, & read_stat, (void *)(& rd));
  ewah_each_bit(rd.sha1_valid, & read_oid, (void *)(& rd));
  next___2 = rd.data;
  done:
  free((void *)rd.ucd);
  ewah_free(rd.valid);
  ewah_free(rd.check_only);
  ewah_free(rd.sha1_valid);
  done2:
  if ((unsigned long )next___2 != (unsigned long )end) {
    free_untracked_cache(uc);
    uc = (struct untracked_cache *)((void *)0);
  }
  return (uc);
}
}
static void invalidate_one_directory(struct untracked_cache *uc , struct untracked_cache_dir *ucd )
{


  {
  (uc->dir_invalidated) ++;
  ucd->valid = 0U;
  ucd->untracked_nr = 0U;
  return;
}
}
static int invalidate_one_component(struct untracked_cache *uc , struct untracked_cache_dir *dir ,
                                    char const   *path___6 , int len___0 )
{
  char const   *rest ;
  char *tmp ;
  int component_len ;
  struct untracked_cache_dir *d ;
  struct untracked_cache_dir *tmp___0 ;
  int ret___67 ;
  int tmp___1 ;

  {
  tmp = strchr(path___6, '/');
  rest = (char const   *)tmp;
  if (rest) {
    component_len = (int )(rest - path___6);
    tmp___0 = lookup_untracked(uc, dir, path___6, component_len);
    d = tmp___0;
    tmp___1 = invalidate_one_component(uc, d, rest + 1, len___0 - (component_len + 1));
    ret___67 = tmp___1;
    if (ret___67) {
      invalidate_one_directory(uc, dir);
    }
    return (ret___67);
  }
  invalidate_one_directory(uc, dir);
  return ((int )(uc->dir_flags & 2U));
}
}
void untracked_cache_invalidate_path(struct index_state *istate , char const   *path___6 ,
                                     int safe_path )
{
  int tmp ;
  size_t tmp___0 ;

  {
  if (! istate->untracked) {
    return;
  } else
  if (! (istate->untracked)->root) {
    return;
  }
  if (! safe_path) {
    tmp = verify_path(path___6, 0U);
    if (! tmp) {
      return;
    }
  }
  tmp___0 = strlen(path___6);
  invalidate_one_component(istate->untracked, (istate->untracked)->root, path___6,
                           (int )tmp___0);
  return;
}
}
void untracked_cache_remove_from_index(struct index_state *istate , char const   *path___6 )
{


  {
  untracked_cache_invalidate_path(istate, path___6, 1);
  return;
}
}
void untracked_cache_add_to_index(struct index_state *istate , char const   *path___6 )
{


  {
  untracked_cache_invalidate_path(istate, path___6, 1);
  return;
}
}
static void connect_wt_gitdir_in_nested(char const   *sub_worktree , char const   *sub_gitdir )
{
  int i ;
  struct repository subrepo ;
  struct strbuf sub_wt ;
  struct strbuf sub_gd ;
  struct submodule  const  *sub ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  struct cache_entry  const  *ce ;
  int tmp___2 ;
  struct object_id  const  *tmp___3 ;
  int tmp___4 ;

  {
  sub_wt.alloc = 0UL;
  sub_wt.len = 0UL;
  sub_wt.buf = strbuf_slopbuf;
  sub_gd.alloc = 0UL;
  sub_gd.len = 0UL;
  sub_gd.buf = strbuf_slopbuf;
  tmp = repo_init(& subrepo, sub_gitdir, sub_worktree);
  if (tmp) {
    return;
  }
  tmp___1 = repo_read_index(& subrepo);
  if (tmp___1 < 0) {
    tmp___0 = _((char const   *)"index file corrupt in repo %s");
    die((char const   *)tmp___0, subrepo.gitdir);
  }
  ensure_full_index(subrepo.index);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < (subrepo.index)->cache_nr)) {
      goto while_break;
    }
    ce = (struct cache_entry  const  *)*((subrepo.index)->cache + i);
    if (! ((ce->ce_mode & 61440U) == 57344U)) {
      goto __Cont;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if ((unsigned int )(i + 1) < (subrepo.index)->cache_nr) {
        tmp___2 = strcmp((char const   *)(ce->name), (char const   *)((*((subrepo.index)->cache + (i + 1)))->name));
        if (tmp___2) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___3 = null_oid();
    sub = submodule_from_path(& subrepo, tmp___3, (char const   *)(ce->name));
    if (! sub) {
      goto __Cont;
    } else {
      tmp___4 = is_submodule_active(& subrepo, (char const   *)(ce->name));
      if (! tmp___4) {
        goto __Cont;
      }
    }
    strbuf_setlen(& sub_wt, (size_t )0);
    strbuf_setlen(& sub_gd, (size_t )0);
    strbuf_addf(& sub_wt, (char const   *)"%s/%s", sub_worktree, sub->path);
    submodule_name_to_gitdir(& sub_gd, & subrepo, (char const   *)sub->name);
    connect_work_tree_and_git_dir((char const   *)sub_wt.buf, (char const   *)sub_gd.buf,
                                  1);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& sub_wt);
  strbuf_release(& sub_gd);
  repo_clear(& subrepo);
  return;
}
}
void connect_work_tree_and_git_dir(char const   *work_tree_ , char const   *git_dir_ ,
                                   int recurse_into_nested )
{
  struct strbuf gitfile_sb ;
  struct strbuf cfg_sb ;
  struct strbuf rel_path ;
  char *git_dir ;
  char *work_tree ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  enum scld_error tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  enum scld_error tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;

  {
  gitfile_sb.alloc = 0UL;
  gitfile_sb.len = 0UL;
  gitfile_sb.buf = strbuf_slopbuf;
  cfg_sb.alloc = 0UL;
  cfg_sb.len = 0UL;
  cfg_sb.buf = strbuf_slopbuf;
  rel_path.alloc = 0UL;
  rel_path.len = 0UL;
  rel_path.buf = strbuf_slopbuf;
  strbuf_addf(& gitfile_sb, (char const   *)"%s/.git", work_tree_);
  tmp___0 = safe_create_leading_directories_const((char const   *)gitfile_sb.buf);
  if (tmp___0) {
    tmp = _((char const   *)"could not create directories for %s");
    die((char const   *)tmp, gitfile_sb.buf);
  }
  strbuf_addf(& cfg_sb, (char const   *)"%s/config", git_dir_);
  tmp___2 = safe_create_leading_directories_const((char const   *)cfg_sb.buf);
  if (tmp___2) {
    tmp___1 = _((char const   *)"could not create directories for %s");
    die((char const   *)tmp___1, cfg_sb.buf);
  }
  git_dir = real_pathdup(git_dir_, 1);
  work_tree = real_pathdup(work_tree_, 1);
  tmp___3 = relative_path((char const   *)git_dir, (char const   *)work_tree, & rel_path);
  write_file((char const   *)gitfile_sb.buf, (char const   *)"gitdir: %s", tmp___3);
  tmp___4 = relative_path((char const   *)work_tree, (char const   *)git_dir, & rel_path);
  git_config_set_in_file((char const   *)cfg_sb.buf, (char const   *)"core.worktree",
                         tmp___4);
  strbuf_release(& gitfile_sb);
  strbuf_release(& cfg_sb);
  strbuf_release(& rel_path);
  if (recurse_into_nested) {
    connect_wt_gitdir_in_nested((char const   *)work_tree, (char const   *)git_dir);
  }
  free((void *)work_tree);
  free((void *)git_dir);
  return;
}
}
void relocate_gitdir(char const   *path___6 , char const   *old_git_dir , char const   *new_git_dir )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  tmp___0 = rename(old_git_dir, new_git_dir);
  if (tmp___0 < 0) {
    tmp = _((char const   *)"could not migrate git directory from \'%s\' to \'%s\'");
    die_errno((char const   *)tmp, old_git_dir, new_git_dir);
  }
  connect_work_tree_and_git_dir(path___6, new_git_dir, 0);
  return;
}
}
int is_terminal_dumb(void)
{
  char const   *terminal ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = getenv((char const   *)"TERM");
  terminal = (char const   *)tmp;
  if (! terminal) {
    tmp___1 = 1;
  } else {
    tmp___0 = strcmp(terminal, (char const   *)"dumb");
    if (tmp___0) {
      tmp___1 = 0;
    } else {
      tmp___1 = 1;
    }
  }
  return (tmp___1);
}
}
char const   *git_editor(void)
{
  char const   *editor___0 ;
  char *tmp ;
  int terminal_is_dumb ;
  int tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  tmp = getenv((char const   *)"GIT_EDITOR");
  editor___0 = (char const   *)tmp;
  tmp___0 = is_terminal_dumb();
  terminal_is_dumb = tmp___0;
  if (! editor___0) {
    if (editor_program) {
      editor___0 = editor_program;
    }
  }
  if (! editor___0) {
    if (! terminal_is_dumb) {
      tmp___1 = getenv((char const   *)"VISUAL");
      editor___0 = (char const   *)tmp___1;
    }
  }
  if (! editor___0) {
    tmp___2 = getenv((char const   *)"EDITOR");
    editor___0 = (char const   *)tmp___2;
  }
  if (! editor___0) {
    if (terminal_is_dumb) {
      return ((char const   *)((void *)0));
    }
  }
  if (! editor___0) {
    editor___0 = (char const   *)"vi";
  }
  return (editor___0);
}
}
char const   *git_sequence_editor(void)
{
  char const   *editor___0 ;
  char *tmp ;

  {
  tmp = getenv((char const   *)"GIT_SEQUENCE_EDITOR");
  editor___0 = (char const   *)tmp;
  if (! editor___0) {
    git_config_get_string_tmp((char const   *)"sequence.editor", & editor___0);
  }
  if (! editor___0) {
    editor___0 = git_editor();
  }
  return (editor___0);
}
}
static int launch_specified_editor(char const   *editor___0 , char const   *path___6 ,
                                   struct strbuf *buffer___5 , char const   **env )
{
  int tmp ;
  struct strbuf realpath___1 ;
  struct child_process p___0 ;
  int ret___67 ;
  int sig ;
  int print_waiting_for_editor ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char term___1 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  ssize_t tmp___13 ;

  {
  if (! editor___0) {
    error((char const   *)"Terminal is dumb, but EDITOR unset");
    tmp = const_error();
    return (tmp);
  }
  tmp___11 = strcmp(editor___0, (char const   *)":");
  if (tmp___11) {
    realpath___1.alloc = 0UL;
    realpath___1.len = 0UL;
    realpath___1.buf = strbuf_slopbuf;
    p___0.args.v = empty_strvec;
    p___0.args.nr = 0UL;
    p___0.args.alloc = 0UL;
    p___0.env_array.v = empty_strvec;
    p___0.env_array.nr = 0UL;
    p___0.env_array.alloc = 0UL;
    p___0.pid = 0;
    p___0.trace2_child_id = 0;
    p___0.trace2_child_us_start = 0UL;
    p___0.trace2_child_class = (char const   *)0;
    p___0.trace2_hook_name = (char const   *)0;
    p___0.in = 0;
    p___0.out = 0;
    p___0.err = 0;
    p___0.dir = (char const   *)0;
    p___0.no_stdin = 0U;
    p___0.no_stdout = 0U;
    p___0.no_stderr = 0U;
    p___0.git_cmd = 0U;
    p___0.silent_exec_failure = 0U;
    p___0.use_shell = 0U;
    p___0.close_object_store = 0U;
    p___0.stdout_to_stderr = 0U;
    p___0.clean_on_exit = 0U;
    p___0.wait_after_clean = 0U;
    p___0.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    p___0.clean_on_exit_handler_cbdata = (void *)0;
    tmp___0 = advice_enabled((enum advice_type )32);
    if (tmp___0) {
      tmp___1 = isatty(2);
      if (tmp___1) {
        tmp___2 = 1;
      } else {
        tmp___2 = 0;
      }
    } else {
      tmp___2 = 0;
    }
    print_waiting_for_editor = tmp___2;
    if (print_waiting_for_editor) {
      tmp___5 = is_terminal_dumb();
      if (tmp___5) {
        tmp___4 = '\n';
      } else {
        tmp___4 = ' ';
      }
      term___1 = (char )tmp___4;
      tmp___6 = _((char const   *)"hint: Waiting for your editor to close the file...%c");
      fprintf(stderr, (char const   *)tmp___6, (int )term___1);
      fflush(stderr);
    }
    strbuf_realpath(& realpath___1, path___6, 1);
    strvec_pushl(& p___0.args, editor___0, realpath___1.buf, (void *)0);
    if (env) {
      strvec_pushv(& p___0.env_array, (char const   **)env);
    }
    p___0.use_shell = 1U;
    p___0.trace2_child_class = (char const   *)"editor";
    tmp___8 = start_command(& p___0);
    if (tmp___8 < 0) {
      strbuf_release(& realpath___1);
      error((char const   *)"unable to start editor \'%s\'", editor___0);
      tmp___7 = const_error();
      return (tmp___7);
    }
    sigchain_push(2, (void (*)(int  ))1);
    sigchain_push(3, (void (*)(int  ))1);
    ret___67 = finish_command(& p___0);
    strbuf_release(& realpath___1);
    sig = ret___67 - 128;
    sigchain_pop(2);
    sigchain_pop(3);
    if (sig == 2) {
      raise(sig);
    } else
    if (sig == 3) {
      raise(sig);
    }
    if (ret___67) {
      error((char const   *)"There was a problem with the editor \'%s\'.", editor___0);
      tmp___9 = const_error();
      return (tmp___9);
    }
    if (print_waiting_for_editor) {
      tmp___10 = is_terminal_dumb();
      if (! tmp___10) {
        term_clear_line();
      }
    }
  }
  if (! buffer___5) {
    return (0);
  }
  tmp___13 = strbuf_read_file(buffer___5, path___6, (size_t )0);
  if (tmp___13 < 0L) {
    error_errno((char const   *)"could not read file \'%s\'", path___6);
    tmp___12 = const_error();
    return (tmp___12);
  }
  return (0);
}
}
int launch_editor(char const   *path___6 , struct strbuf *buffer___5 , char const   **env )
{
  char const   *tmp ;
  int tmp___0 ;

  {
  tmp = git_editor();
  tmp___0 = launch_specified_editor(tmp, path___6, buffer___5, env);
  return (tmp___0);
}
}
int launch_sequence_editor(char const   *path___6 , struct strbuf *buffer___5 , char const   **env )
{
  char const   *tmp ;
  int tmp___0 ;

  {
  tmp = git_sequence_editor();
  tmp___0 = launch_specified_editor(tmp, path___6, buffer___5, env);
  return (tmp___0);
}
}
static double const   __ac_HASH_UPPER___33  =    (double const   )0.77;
__inline static void kh_resize_oid_set___33(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___33(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___33 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___33 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___33(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___33(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___33(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___33(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___33(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___33(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___33 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___33 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___33(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___33(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___33(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___33(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___33(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___33(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___33 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___33 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___33(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___33(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___33(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___33(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___22(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___22(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___33 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___33 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___22(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___22(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___22(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___22(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
enum pc_status parallel_checkout_status(void) ;
void get_parallel_checkout_configs(int *num_workers , int *threshold ) ;
void init_parallel_checkout(void) ;
int enqueue_checkout(struct cache_entry *ce , struct conv_attrs *ca ) ;
size_t pc_queue_size(void) ;
int run_parallel_checkout(struct checkout *state___1 , int num_workers , int threshold ,
                          struct progress *progress___7 , unsigned int *progress_cnt ) ;
void write_pc_item(struct parallel_checkout_item *pc_item , struct checkout *state___1 ) ;
static void create_directories(char const   *path___6 , int path_len , struct checkout  const  *state___1 )
{
  char *buf___19 ;
  void *tmp ;
  int len___0 ;
  int tmp___0 ;
  int *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp = xmallocz((size_t )path_len);
  buf___19 = (char *)tmp;
  len___0 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (len___0 < path_len)) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      *(buf___19 + len___0) = (char )*(path___6 + len___0);
      len___0 ++;
      if (len___0 < path_len) {
        if (! ((int const   )*(path___6 + len___0) != 47)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    if (len___0 >= path_len) {
      goto while_break;
    }
    *(buf___19 + len___0) = (char)0;
    tmp___0 = has_dirs_only_path((char const   *)buf___19, len___0, (int )state___1->base_dir_len);
    if (tmp___0) {
      goto while_continue;
    }
    tmp___4 = mkdir((char const   *)buf___19, (__mode_t )0777);
    if (tmp___4) {
      tmp___1 = __errno_location();
      if (*tmp___1 == 17) {
        if (state___1->force) {
          tmp___2 = unlink_or_warn((char const   *)buf___19);
          if (! tmp___2) {
            tmp___3 = mkdir((char const   *)buf___19, (__mode_t )0777);
            if (! tmp___3) {
              goto while_continue;
            }
          }
        }
      }
      die_errno((char const   *)"cannot create directory at \'%s\'", buf___19);
    }
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)buf___19);
  return;
}
}
static void remove_subtree(struct strbuf *path___6 )
{
  DIR *dir ;
  DIR *tmp ;
  struct dirent *de ;
  int origlen ;
  struct stat st ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = opendir((char const   *)path___6->buf);
  dir = tmp;
  origlen = (int )path___6->len;
  if (! dir) {
    die_errno((char const   *)"cannot opendir \'%s\'", path___6->buf);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    de = readdir_skip_dot_and_dotdot(dir);
    if (! ((unsigned long )de != (unsigned long )((void *)0))) {
      goto while_break;
    }
    strbuf_addch(path___6, '/');
    strbuf_addstr(path___6, (char const   *)(de->d_name));
    tmp___0 = lstat((char const   *)path___6->buf, & st);
    if (tmp___0) {
      die_errno((char const   *)"cannot lstat \'%s\'", path___6->buf);
    }
    if ((st.st_mode & 61440U) == 16384U) {
      remove_subtree(path___6);
    } else {
      tmp___1 = unlink((char const   *)path___6->buf);
      if (tmp___1) {
        die_errno((char const   *)"cannot unlink \'%s\'", path___6->buf);
      }
    }
    strbuf_setlen(path___6, (size_t )origlen);
  }
  while_break: /* CIL Label */ ;
  }
  closedir(dir);
  tmp___2 = lstat_cache_aware_rmdir((char const   *)path___6->buf);
  if (tmp___2) {
    die_errno((char const   *)"cannot rmdir \'%s\'", path___6->buf);
  }
  return;
}
}
static int create_file___0(char const   *path___6 , unsigned int mode___1 )
{
  int tmp ;

  {
  if (mode___1 & 64U) {
    mode___1 = 511U;
  } else {
    mode___1 = 438U;
  }
  tmp = open(path___6, 193, mode___1);
  return (tmp);
}
}
void *read_blob_entry(struct cache_entry  const  *ce , size_t *size )
{
  enum object_type type___0 ;
  unsigned long ul ;
  void *blob_data ;
  void *tmp ;

  {
  tmp = repo_read_object_file(the_repository, (struct object_id  const  *)(& ce->oid),
                              & type___0, & ul);
  blob_data = tmp;
  *size = ul;
  if (blob_data) {
    if ((int )type___0 == 3) {
      return (blob_data);
    }
    free(blob_data);
  }
  return ((void *)0);
}
}
static int open_output_fd(char *path___6 , struct cache_entry  const  *ce , int to_tempfile___0 )
{
  int symlink___0 ;
  char *tmp ;
  int tmp___0 ;
  unsigned int tmp___1 ;
  int tmp___2 ;

  {
  symlink___0 = (ce->ce_mode & 61440U) != 32768U;
  if (to_tempfile___0) {
    if (symlink___0) {
      tmp = ".merge_link_XXXXXX";
    } else {
      tmp = ".merge_file_XXXXXX";
    }
    xsnprintf(path___6, (size_t )25, (char const   *)"%s", tmp);
    tmp___0 = mkstemp(path___6);
    return (tmp___0);
  } else {
    if (! symlink___0) {
      tmp___1 = ce->ce_mode;
    } else {
      tmp___1 = (unsigned int )0666;
    }
    tmp___2 = create_file___0((char const   *)path___6, (unsigned int )tmp___1);
    return (tmp___2);
  }
}
}
int fstat_checkout_output(int fd , struct checkout  const  *state___1 , struct stat *st )
{
  int tmp ;
  int tmp___0 ;

  {
  if (state___1->refresh_cache) {
    if (! state___1->base_dir_len) {
      tmp = fstat(fd, st);
      if (tmp) {
        tmp___0 = 0;
      } else {
        tmp___0 = 1;
      }
      return (tmp___0);
    }
  }
  return (0);
}
}
static int streaming_write_entry(struct cache_entry  const  *ce , char *path___6 ,
                                 struct stream_filter *filter___0 , struct checkout  const  *state___1 ,
                                 int to_tempfile___0 , int *fstat_done , struct stat *statbuf )
{
  int result___0 ;
  int fd ;
  int tmp ;
  int tmp___0 ;

  {
  result___0 = 0;
  fd = open_output_fd(path___6, ce, to_tempfile___0);
  if (fd < 0) {
    return (-1);
  }
  tmp = stream_blob_to_fd(fd, (struct object_id  const  *)(& ce->oid), filter___0,
                          1);
  result___0 |= tmp;
  *fstat_done = fstat_checkout_output(fd, state___1, statbuf);
  tmp___0 = close(fd);
  result___0 |= tmp___0;
  if (result___0) {
    unlink((char const   *)path___6);
  }
  return (result___0);
}
}
void enable_delayed_checkout(struct checkout *state___1 )
{
  void *tmp ;

  {
  if (! state___1->delayed_checkout) {
    tmp = xmalloc(sizeof(*(state___1->delayed_checkout)));
    state___1->delayed_checkout = (struct delayed_checkout *)tmp;
    (state___1->delayed_checkout)->state = (enum ce_delay_state )1;
    string_list_init_nodup(& (state___1->delayed_checkout)->filters);
    string_list_init_nodup(& (state___1->delayed_checkout)->paths);
  }
  return;
}
}
static int remove_available_paths(struct string_list_item *item___0 , void *cb_data )
{
  struct string_list *available_paths ;
  struct string_list_item *available ;

  {
  available_paths = (struct string_list *)cb_data;
  available = string_list_lookup(available_paths, (char const   *)item___0->string);
  if (available) {
    available->util = (void *)item___0->string;
  }
  return (! available);
}
}
int finish_delayed_checkout(struct checkout *state___1 , int *nr_checkouts , int show_progress___4 )
{
  int errs ;
  unsigned int processed_paths ;
  off_t filtered_bytes ;
  struct string_list_item *filter___0 ;
  struct string_list_item *path___6 ;
  struct progress *progress___7 ;
  struct delayed_checkout *dco ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct string_list available_paths ;
  int tmp___0 ;
  struct cache_entry *ce ;
  size_t tmp___1 ;
  int tmp___2 ;

  {
  errs = 0;
  processed_paths = 0U;
  filtered_bytes = (off_t )0;
  progress___7 = (struct progress *)((void *)0);
  dco = state___1->delayed_checkout;
  if (! state___1->delayed_checkout) {
    return (errs);
  }
  dco->state = (enum ce_delay_state )2;
  if (show_progress___4) {
    tmp = _((char const   *)"Filtering content");
    progress___7 = start_delayed_progress((char const   *)tmp, (uint64_t )dco->paths.nr);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (dco->filters.nr > 0U)) {
      goto while_break;
    }
    filter___0 = dco->filters.items;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (filter___0) {
        if (! ((unsigned long )filter___0 < (unsigned long )(dco->filters.items + dco->filters.nr))) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      available_paths.items = (struct string_list_item *)0;
      available_paths.nr = 0U;
      available_paths.alloc = 0U;
      available_paths.strdup_strings = 0U;
      available_paths.cmp = (int (*)(char const   * , char const   * ))0;
      tmp___0 = async_query_available_blobs((char const   *)filter___0->string, & available_paths);
      if (! tmp___0) {
        errs = 1;
        filter___0->string = "";
        goto __Cont;
      }
      if (available_paths.nr <= 0U) {
        filter___0->string = "";
        goto __Cont;
      }
      filter_string_list(& dco->paths, 0, & remove_available_paths, (void *)(& available_paths));
      path___6 = available_paths.items;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (path___6) {
          if (! ((unsigned long )path___6 < (unsigned long )(available_paths.items + available_paths.nr))) {
            goto while_break___1;
          }
        } else {
          goto while_break___1;
        }
        if (! path___6->util) {
          error((char const   *)"external filter \'%s\' signaled that \'%s\' is now available although it has not been delayed earlier",
                filter___0->string, path___6->string);
          const_error();
          errs |= 1;
          filter___0->string = "";
          goto __Cont___0;
        }
        tmp___1 = strlen((char const   *)path___6->string);
        ce = index_file_exists(state___1->istate, (char const   *)path___6->string,
                               (int )tmp___1, 0);
        if (ce) {
          processed_paths ++;
          display_progress(progress___7, (uint64_t )processed_paths);
          tmp___2 = checkout_entry(ce, (struct checkout  const  *)state___1, (char *)((void *)0),
                                   nr_checkouts);
          errs |= tmp___2;
          filtered_bytes += (off_t )ce->ce_stat_data.sd_size;
          display_throughput(progress___7, (uint64_t )filtered_bytes);
        } else {
          errs = 1;
        }
        __Cont___0: /* CIL Label */
        path___6 ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      __Cont: /* CIL Label */
      filter___0 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    string_list_remove_empty_items(& dco->filters, 0);
  }
  while_break: /* CIL Label */ ;
  }
  stop_progress(& progress___7);
  string_list_clear(& dco->filters, 0);
  errs = (int )((unsigned int )errs | dco->paths.nr);
  path___6 = dco->paths.items;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (path___6) {
      if (! ((unsigned long )path___6 < (unsigned long )(dco->paths.items + dco->paths.nr))) {
        goto while_break___2;
      }
    } else {
      goto while_break___2;
    }
    error((char const   *)"\'%s\' was not filtered properly", path___6->string);
    const_error();
    path___6 ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  string_list_clear(& dco->paths, 0);
  free((void *)dco);
  state___1->delayed_checkout = (struct delayed_checkout *)((void *)0);
  return (errs);
}
}
void update_ce_after_write(struct checkout  const  *state___1 , struct cache_entry *ce ,
                           struct stat *st )
{


  {
  if (state___1->refresh_cache) {
    assert((int )state___1->istate);
    fill_stat_cache_info((struct index_state *)state___1->istate, ce, st);
    ce->ce_flags |= (unsigned int )(1 << 27);
    mark_fsmonitor_invalid((struct index_state *)state___1->istate, ce);
    (state___1->istate)->cache_changed |= (unsigned int )(1 << 1);
  }
  return;
}
}
static int write_entry(struct cache_entry *ce , char *path___6 , struct conv_attrs *ca ,
                       struct checkout  const  *state___1 , int to_tempfile___0 )
{
  unsigned int ce_mode_s_ifmt ;
  struct delayed_checkout *dco ;
  int fd ;
  int ret___67 ;
  int fstat_done ;
  char *new_blob ;
  struct strbuf buf___19 ;
  size_t size ;
  ssize_t wrote ;
  size_t newsize ;
  struct stat st ;
  struct submodule  const  *sub ;
  struct checkout_metadata meta ;
  struct stream_filter *filter___0 ;
  struct stream_filter *tmp ;
  int tmp___0 ;
  void *tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  void *tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  char *tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;

  {
  ce_mode_s_ifmt = ce->ce_mode & 61440U;
  dco = (struct delayed_checkout *)state___1->delayed_checkout;
  fstat_done = 0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  newsize = (size_t )0;
  clone_checkout_metadata(& meta, (struct checkout_metadata  const  *)(& state___1->meta),
                          (struct object_id  const  *)(& ce->oid));
  if (ce_mode_s_ifmt == 32768U) {
    tmp = get_stream_filter_ca((struct conv_attrs  const  *)ca, (struct object_id  const  *)(& ce->oid));
    filter___0 = tmp;
    if (filter___0) {
      tmp___0 = streaming_write_entry((struct cache_entry  const  *)ce, path___6,
                                      filter___0, state___1, to_tempfile___0, & fstat_done,
                                      & st);
      if (! tmp___0) {
        goto finish;
      }
    }
  }
  {
  if (ce_mode_s_ifmt == 40960U) {
    goto case_40960;
  }
  if (ce_mode_s_ifmt == 32768U) {
    goto case_32768;
  }
  if (ce_mode_s_ifmt == 57344U) {
    goto case_57344;
  }
  goto switch_default;
  case_40960: /* CIL Label */
  tmp___1 = read_blob_entry((struct cache_entry  const  *)ce, & size);
  new_blob = (char *)tmp___1;
  if (! new_blob) {
    tmp___2 = oid_to_hex((struct object_id  const  *)(& ce->oid));
    error((char const   *)"unable to read sha1 file of %s (%s)", ce->name, tmp___2);
    tmp___3 = const_error();
    return (tmp___3);
  }
  if (! has_symlinks) {
    goto write_file_entry;
  } else
  if (to_tempfile___0) {
    goto write_file_entry;
  }
  ret___67 = symlink((char const   *)new_blob, (char const   *)path___6);
  free((void *)new_blob);
  if (ret___67) {
    error_errno((char const   *)"unable to create symlink %s", path___6);
    tmp___4 = const_error();
    return (tmp___4);
  }
  goto switch_break;
  case_32768: /* CIL Label */
  if (dco) {
    if ((unsigned int )dco->state == 2U) {
      new_blob = (char *)((void *)0);
      size = (size_t )0;
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp___5 = read_blob_entry((struct cache_entry  const  *)ce, & size);
    new_blob = (char *)tmp___5;
    if (! new_blob) {
      tmp___6 = oid_to_hex((struct object_id  const  *)(& ce->oid));
      error((char const   *)"unable to read sha1 file of %s (%s)", ce->name, tmp___6);
      tmp___7 = const_error();
      return (tmp___7);
    }
  }
  if (dco) {
    if ((unsigned int )dco->state != 0U) {
      ret___67 = async_convert_to_working_tree_ca((struct conv_attrs  const  *)ca,
                                                  (char const   *)(ce->name), (char const   *)new_blob,
                                                  size, & buf___19, (struct checkout_metadata  const  *)(& meta),
                                                  (void *)dco);
      if (ret___67) {
        tmp___8 = string_list_has_string((struct string_list  const  *)(& dco->paths),
                                         (char const   *)(ce->name));
        if (tmp___8) {
          free((void *)new_blob);
          goto delayed;
        }
      }
    } else {
      ret___67 = convert_to_working_tree_ca((struct conv_attrs  const  *)ca, (char const   *)(ce->name),
                                            (char const   *)new_blob, size, & buf___19,
                                            (struct checkout_metadata  const  *)(& meta));
    }
  } else {
    ret___67 = convert_to_working_tree_ca((struct conv_attrs  const  *)ca, (char const   *)(ce->name),
                                          (char const   *)new_blob, size, & buf___19,
                                          (struct checkout_metadata  const  *)(& meta));
  }
  if (ret___67) {
    free((void *)new_blob);
    new_blob = strbuf_detach(& buf___19, & newsize);
    size = newsize;
  }
  write_file_entry:
  fd = open_output_fd(path___6, (struct cache_entry  const  *)ce, to_tempfile___0);
  if (fd < 0) {
    free((void *)new_blob);
    error_errno((char const   *)"unable to create file %s", path___6);
    tmp___9 = const_error();
    return (tmp___9);
  }
  wrote = write_in_full(fd, (void const   *)new_blob, size);
  if (! to_tempfile___0) {
    fstat_done = fstat_checkout_output(fd, state___1, & st);
  }
  close(fd);
  free((void *)new_blob);
  if (wrote < 0L) {
    error((char const   *)"unable to write file %s", path___6);
    tmp___10 = const_error();
    return (tmp___10);
  }
  goto switch_break;
  case_57344: /* CIL Label */
  if (to_tempfile___0) {
    error((char const   *)"cannot create temporary submodule %s", ce->name);
    tmp___11 = const_error();
    return (tmp___11);
  }
  tmp___13 = mkdir((char const   *)path___6, (__mode_t )0777);
  if (tmp___13 < 0) {
    error((char const   *)"cannot create submodule directory %s", path___6);
    tmp___12 = const_error();
    return (tmp___12);
  }
  sub = submodule_from_ce((struct cache_entry  const  *)ce);
  if (sub) {
    if (state___1->force) {
      tmp___14 = 1 << 1;
    } else {
      tmp___14 = 0;
    }
    tmp___15 = oid_to_hex((struct object_id  const  *)(& ce->oid));
    tmp___16 = submodule_move_head((char const   *)(ce->name), (char const   *)((void *)0),
                                   (char const   *)tmp___15, (unsigned int )tmp___14);
    return (tmp___16);
  }
  goto switch_break;
  switch_default: /* CIL Label */
  error((char const   *)"unknown file mode for %s in index", ce->name);
  tmp___17 = const_error();
  return (tmp___17);
  switch_break: /* CIL Label */ ;
  }
  finish:
  if (state___1->refresh_cache) {
    if (! fstat_done) {
      tmp___19 = lstat((char const   *)(ce->name), & st);
      if (tmp___19 < 0) {
        error_errno((char const   *)"unable to stat just-written file %s", ce->name);
        tmp___18 = const_error();
        return (tmp___18);
      }
    }
    update_ce_after_write(state___1, ce, & st);
  }
  delayed:
  return (0);
}
}
static int check_path(char const   *path___6 , int len___0 , struct stat *st , int skiplen )
{
  char const   *slash ;
  int *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  slash = path___6 + len___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )path___6 < (unsigned long )slash) {
      if (! ((int const   )*slash != 47)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    slash --;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = has_dirs_only_path(path___6, (int )(slash - path___6), skiplen);
  if (! tmp___0) {
    tmp = __errno_location();
    *tmp = 2;
    return (-1);
  }
  tmp___1 = lstat(path___6, st);
  return (tmp___1);
}
}
static void mark_colliding_entries(struct checkout  const  *state___1 , struct cache_entry *ce ,
                                   struct stat *st )
{
  int i ;
  int trust_ino ;
  struct cache_entry *dup___0 ;
  enum pc_status tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  trust_ino = check_stat;
  ce->ce_flags |= (unsigned int )(1 << 26);
  ensure_full_index((struct index_state *)state___1->istate);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < (state___1->istate)->cache_nr)) {
      goto while_break;
    }
    dup___0 = *((state___1->istate)->cache + i);
    if ((unsigned long )dup___0 == (unsigned long )ce) {
      tmp = parallel_checkout_status();
      if ((unsigned int )tmp == 2U) {
        goto __Cont;
      } else {
        goto while_break;
      }
    }
    if (dup___0->ce_flags & (unsigned int )(((1 << 26) | 0x8000) | (1 << 30))) {
      goto __Cont;
    }
    if (trust_ino) {
      tmp___0 = match_stat_data((struct stat_data  const  *)(& dup___0->ce_stat_data),
                                st);
      if (tmp___0) {
        goto _L;
      } else {
        dup___0->ce_flags |= (unsigned int )(1 << 26);
        goto while_break;
      }
    } else
    _L: /* CIL Label */
    if (! trust_ino) {
      tmp___1 = fspathcmp((char const   *)(ce->name), (char const   *)(dup___0->name));
      if (! tmp___1) {
        dup___0->ce_flags |= (unsigned int )(1 << 26);
        goto while_break;
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct strbuf path___0  =    {0UL, 0UL, strbuf_slopbuf};
int checkout_entry_ca(struct cache_entry *ce , struct conv_attrs *ca , struct checkout  const  *state___1 ,
                      char *topath___0 , int *nr_checkouts )
{
  struct stat st ;
  struct conv_attrs ca_buf ;
  int tmp ;
  struct submodule  const  *sub ;
  unsigned int changed ;
  int tmp___0 ;
  int err___4 ;
  struct stat sb___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;

  {
  if (ce->ce_flags & (unsigned int )(1 << 22)) {
    if (topath___0) {
      BUG_fl((char const   *)"entry.c", 469, (char const   *)"Can\'t remove entry to a path");
    }
    unlink_entry((struct cache_entry  const  *)ce);
    return (0);
  }
  if (topath___0) {
    if ((ce->ce_mode & 61440U) == 32768U) {
      if (! ca) {
        convert_attrs((struct index_state *)state___1->istate, & ca_buf, (char const   *)(ce->name));
        ca = & ca_buf;
      }
    }
    tmp = write_entry(ce, topath___0, ca, state___1, 1);
    return (tmp);
  }
  strbuf_setlen(& path___0, (size_t )0);
  strbuf_add(& path___0, (void const   *)state___1->base_dir, (size_t )state___1->base_dir_len);
  strbuf_add(& path___0, (void const   *)(ce->name), (size_t )ce->ce_namelen);
  tmp___11 = check_path((char const   *)path___0.buf, (int )path___0.len, & st, (int )state___1->base_dir_len);
  if (tmp___11) {
    if (state___1->not_new) {
      return (0);
    }
  } else {
    tmp___0 = ie_match_stat((struct index_state *)state___1->istate, (struct cache_entry  const  *)ce,
                            & st, 5U);
    changed = (unsigned int )tmp___0;
    sub = submodule_from_ce((struct cache_entry  const  *)ce);
    if (sub) {
      tmp___8 = is_submodule_populated_gently((char const   *)(ce->name), & err___4);
      if (tmp___8) {
        if (state___1->force) {
          tmp___5 = 1 << 1;
        } else {
          tmp___5 = 0;
        }
        tmp___6 = oid_to_hex((struct object_id  const  *)(& ce->oid));
        tmp___7 = submodule_move_head((char const   *)(ce->name), (char const   *)"HEAD",
                                      (char const   *)tmp___6, (unsigned int )tmp___5);
        return (tmp___7);
      } else {
        tmp___2 = lstat((char const   *)(ce->name), & sb___6);
        if (tmp___2) {
          tmp___1 = _((char const   *)"could not stat file \'%s\'");
          die((char const   *)tmp___1, ce->name);
        }
        if (! (st.st_mode & 16384U)) {
          unlink_or_warn((char const   *)(ce->name));
        }
        tmp___3 = oid_to_hex((struct object_id  const  *)(& ce->oid));
        tmp___4 = submodule_move_head((char const   *)(ce->name), (char const   *)((void *)0),
                                      (char const   *)tmp___3, 0U);
        return (tmp___4);
      }
    }
    if (! changed) {
      return (0);
    }
    if (! state___1->force) {
      if (! state___1->quiet) {
        fprintf(stderr, (char const   *)"%s already exists, no checkout\n", path___0.buf);
      }
      return (-1);
    }
    if (state___1->clone) {
      mark_colliding_entries(state___1, ce, & st);
    }
    if ((st.st_mode & 61440U) == 16384U) {
      if ((ce->ce_mode & 61440U) == 57344U) {
        return (0);
      }
      remove_subtree(& path___0);
    } else {
      tmp___10 = unlink((char const   *)path___0.buf);
      if (tmp___10) {
        error_errno((char const   *)"unable to unlink old \'%s\'", path___0.buf);
        tmp___9 = const_error();
        return (tmp___9);
      }
    }
  }
  create_directories((char const   *)path___0.buf, (int )path___0.len, state___1);
  if (nr_checkouts) {
    (*nr_checkouts) ++;
  }
  if ((ce->ce_mode & 61440U) == 32768U) {
    if (! ca) {
      convert_attrs((struct index_state *)state___1->istate, & ca_buf, (char const   *)(ce->name));
      ca = & ca_buf;
    }
  }
  tmp___12 = enqueue_checkout(ce, ca);
  if (! tmp___12) {
    return (0);
  }
  tmp___13 = write_entry(ce, path___0.buf, ca, state___1, 0);
  return (tmp___13);
}
}
void unlink_entry(struct cache_entry  const  *ce )
{
  struct submodule  const  *sub ;
  struct submodule  const  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = submodule_from_ce(ce);
  sub = tmp;
  if (sub) {
    submodule_move_head((char const   *)(ce->name), (char const   *)"HEAD", (char const   *)((void *)0),
                        (unsigned int )(1 << 1));
  }
  tmp___0 = check_leading_path((char const   *)(ce->name), (int )ce->ce_namelen, 1);
  if (tmp___0 >= 0) {
    return;
  }
  tmp___1 = remove_or_warn((unsigned int )ce->ce_mode, (char const   *)(ce->name));
  if (tmp___1) {
    return;
  }
  schedule_dir_for_removal((char const   *)(ce->name), (int )ce->ce_namelen);
  return;
}
}
char *git_work_tree_cfg  ;
int ignore_case  ;
int assume_unchanged  ;
int prefer_symlink_refs  ;
char *apply_default_whitespace  ;
char *apply_default_ignorewhitespace  ;
char const   *git_attributes_file  ;
char const   *git_hooks_path  ;
unsigned long pack_size_limit_cfg  ;
char *git_replace_ref_base  ;
int fsync_object_files  ;
char const   *core_fsmonitor  ;
int core_apply_sparse_checkout  ;
int core_sparse_checkout_cone  ;
int auto_comment_line_char  ;
char *notes_ref_name  ;
int repository_format_precious_objects  ;
int repository_format_worktree_config  ;
char const   *git_commit_encoding  ;
char const   *git_log_output_encoding  ;
char const   *editor_program  ;
char const   *askpass_program  ;
char const   *excludes_file  ;
int merge_log_config ;
int fmt_merge_msg_config(char const   *key___1 , char const   *value , void *cb ) ;
int fmt_merge_msg(struct strbuf *in , struct strbuf *out , struct fmt_merge_msg_opts *opts___1 ) ;
static double const   __ac_HASH_UPPER___34  =    (double const   )0.77;
__inline static void kh_resize_oid_set___34(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___34(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___34 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___34 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___34(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___34(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___34(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___34(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___34(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___34(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___34 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___34 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___34(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___34(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___34(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___34(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___34(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___34(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___34 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___34 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___34(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___34(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___34(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___34(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___23(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___23(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___34 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___34 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___23(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___23(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___23(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___23(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
struct tmp_objdir *tmp_objdir_create(char const   *prefix___1 ) ;
char const   **tmp_objdir_env(struct tmp_objdir  const  *t ) ;
int tmp_objdir_migrate(struct tmp_objdir *t ) ;
int tmp_objdir_destroy(struct tmp_objdir *t ) ;
void tmp_objdir_add_as_alternate(struct tmp_objdir  const  *t ) ;
void tmp_objdir_replace_primary_odb(struct tmp_objdir *t , int will_destroy ) ;
struct tmp_objdir *tmp_objdir_unapply_primary_odb(void) ;
void tmp_objdir_reapply_primary_odb(struct tmp_objdir *t , char const   *old_cwd ,
                                    char const   *new_cwd ) ;
int trust_executable_bit  =    1;
int trust_ctime  =    1;
int check_stat  =    1;
int has_symlinks  =    1;
int minimum_abbrev  =    4;
int default_abbrev  =    -1;
int is_bare_repository_cfg  =    -1;
int warn_ambiguous_refs  =    1;
int warn_on_object_refname_ambiguity  =    1;
int zlib_compression_level  =    1;
int pack_compression_level  =    -1;
int use_fsync  =    -1;
size_t packed_git_window_size  =    (size_t )1073741824;
size_t packed_git_limit  =    35184372088832UL;
size_t delta_base_cache_limit  =    (size_t )100663296;
unsigned long big_file_threshold  =    536870912UL;
int pager_use_color  =    1;
enum auto_crlf auto_crlf  =    (enum auto_crlf )0;
int read_replace_refs  =    1;
enum eol core_eol  =    (enum eol )0;
int global_conv_flags_eol  =    1 << 1;
char *check_roundtrip_encoding  =    "SHIFT-JIS";
unsigned int whitespace_rule_cfg  =    1224U;
enum branch_track git_branch_track  =    (enum branch_track )1;
enum rebase_setup_type autorebase  =    (enum rebase_setup_type )0;
enum push_default_type push_default  =    (enum push_default_type )5;
enum object_creation_mode object_creation_mode  =    (enum object_creation_mode )0;
int grafts_replace_parents  =    1;
int merge_log_config  =    -1;
int precomposed_unicode  =    -1;
enum log_refs_config log_all_ref_updates  =    (enum log_refs_config )-1;
int protect_hfs  =    0;
int protect_ntfs  =    1;
char comment_line_char  =    (char )'#';
int core_preload_index  =    1;
static char *git_namespace  ;
static char *super_prefix  ;
char const   *local_repo_env[17]  =
  {      (char const   *)"GIT_ALTERNATE_OBJECT_DIRECTORIES",      (char const   *)"GIT_CONFIG",      (char const   *)"GIT_CONFIG_PARAMETERS",      (char const   *)"GIT_CONFIG_COUNT",
        (char const   *)"GIT_OBJECT_DIRECTORY",      (char const   *)"GIT_DIR",      (char const   *)"GIT_WORK_TREE",      (char const   *)"GIT_IMPLICIT_WORK_TREE",
        (char const   *)"GIT_GRAFT_FILE",      (char const   *)"GIT_INDEX_FILE",      (char const   *)"GIT_NO_REPLACE_OBJECTS",      (char const   *)"GIT_REPLACE_REF_BASE",
        (char const   *)"GIT_PREFIX",      (char const   *)"GIT_INTERNAL_SUPER_PREFIX",      (char const   *)"GIT_SHALLOW_FILE",      (char const   *)"GIT_COMMON_DIR",
        (char const   *)((void *)0)};
static char *expand_namespace(char const   *raw_namespace )
{
  struct strbuf buf___19 ;
  struct strbuf **components ;
  struct strbuf **c___0 ;
  char *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (! raw_namespace) {
    tmp = xstrdup((char const   *)"");
    return (tmp);
  } else
  if (! *raw_namespace) {
    tmp = xstrdup((char const   *)"");
    return (tmp);
  }
  strbuf_addstr(& buf___19, raw_namespace);
  components = strbuf_split((struct strbuf  const  *)(& buf___19), '/');
  strbuf_setlen(& buf___19, (size_t )0);
  c___0 = components;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *c___0) {
      goto while_break;
    }
    tmp___0 = strcmp((char const   *)(*c___0)->buf, (char const   *)"/");
    if (tmp___0 != 0) {
      strbuf_addf(& buf___19, (char const   *)"refs/namespaces/%s", (*c___0)->buf);
    }
    c___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_list_free(components);
  tmp___2 = check_refname_format((char const   *)buf___19.buf, 0);
  if (tmp___2) {
    tmp___1 = _((char const   *)"bad git namespace path \"%s\"");
    die((char const   *)tmp___1, raw_namespace);
  }
  strbuf_addch(& buf___19, '/');
  tmp___3 = strbuf_detach(& buf___19, (size_t *)((void *)0));
  return (tmp___3);
}
}
char const   *getenv_safe(struct strvec *argv___0 , char const   *name___0 )
{
  char const   *value ;
  char *tmp ;

  {
  tmp = getenv(name___0);
  value = (char const   *)tmp;
  if (! value) {
    return ((char const   *)((void *)0));
  }
  strvec_push(argv___0, value);
  return (*(argv___0->v + (argv___0->nr - 1UL)));
}
}
void setup_git_env(char const   *git_dir )
{
  char const   *shallow_file ;
  char const   *replace_ref_base ;
  struct set_gitdir_args args___0 ;
  struct strvec to_free ;
  char *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char const   *tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;

  {
  args___0.commondir = (char const   *)((void *)0);
  args___0.object_dir = (char const   *)0;
  args___0.graft_file = (char const   *)0;
  args___0.index_file = (char const   *)0;
  args___0.alternate_db = (char const   *)0;
  args___0.disable_ref_updates = 0;
  to_free.v = empty_strvec;
  to_free.nr = 0UL;
  to_free.alloc = 0UL;
  args___0.commondir = getenv_safe(& to_free, (char const   *)"GIT_COMMON_DIR");
  args___0.object_dir = getenv_safe(& to_free, (char const   *)"GIT_OBJECT_DIRECTORY");
  args___0.graft_file = getenv_safe(& to_free, (char const   *)"GIT_GRAFT_FILE");
  args___0.index_file = getenv_safe(& to_free, (char const   *)"GIT_INDEX_FILE");
  args___0.alternate_db = getenv_safe(& to_free, (char const   *)"GIT_ALTERNATE_OBJECT_DIRECTORIES");
  tmp = getenv((char const   *)"GIT_QUARANTINE_PATH");
  if (tmp) {
    args___0.disable_ref_updates = 1;
  }
  repo_set_gitdir(the_repository, git_dir, (struct set_gitdir_args  const  *)(& args___0));
  strvec_clear(& to_free);
  tmp___0 = getenv((char const   *)"GIT_NO_REPLACE_OBJECTS");
  if (tmp___0) {
    read_replace_refs = 0;
  }
  tmp___1 = getenv((char const   *)"GIT_REPLACE_REF_BASE");
  replace_ref_base = (char const   *)tmp___1;
  free((void *)git_replace_ref_base);
  if (replace_ref_base) {
    tmp___2 = replace_ref_base;
  } else {
    tmp___2 = (char const   *)"refs/replace/";
  }
  git_replace_ref_base = xstrdup(tmp___2);
  free((void *)git_namespace);
  tmp___3 = getenv((char const   *)"GIT_NAMESPACE");
  git_namespace = expand_namespace((char const   *)tmp___3);
  tmp___4 = getenv((char const   *)"GIT_SHALLOW_FILE");
  shallow_file = (char const   *)tmp___4;
  if (shallow_file) {
    set_alternate_shallow_file(the_repository, shallow_file, 0);
  }
  return;
}
}
int is_bare_repository(void)
{
  char const   *tmp ;
  int tmp___0 ;

  {
  if (is_bare_repository_cfg) {
    tmp = get_git_work_tree();
    if (tmp) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
int have_git_dir(void)
{
  int tmp ;

  {
  if (startup_info->have_repository) {
    tmp = 1;
  } else
  if (the_repository->gitdir) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
char const   *get_git_dir(void)
{


  {
  if (! the_repository->gitdir) {
    BUG_fl((char const   *)"environment.c", 208, (char const   *)"git environment hasn\'t been setup");
  }
  return ((char const   *)the_repository->gitdir);
}
}
char const   *get_git_common_dir(void)
{


  {
  if (! the_repository->commondir) {
    BUG_fl((char const   *)"environment.c", 215, (char const   *)"git environment hasn\'t been setup");
  }
  return ((char const   *)the_repository->commondir);
}
}
char const   *get_git_namespace(void)
{


  {
  if (! git_namespace) {
    BUG_fl((char const   *)"environment.c", 222, (char const   *)"git environment hasn\'t been setup");
  }
  return ((char const   *)git_namespace);
}
}
char const   *strip_namespace(char const   *namespaced_ref )
{
  char const   *out ;
  char const   *tmp ;
  int tmp___0 ;

  {
  tmp = get_git_namespace();
  tmp___0 = skip_prefix(namespaced_ref, tmp, & out);
  if (tmp___0) {
    return (out);
  }
  return ((char const   *)((void *)0));
}
}
static int initialized___0  ;
char const   *get_super_prefix(void)
{
  char *tmp ;

  {
  if (! initialized___0) {
    tmp = getenv((char const   *)"GIT_INTERNAL_SUPER_PREFIX");
    super_prefix = xstrdup_or_null((char const   *)tmp);
    initialized___0 = 1;
  }
  return ((char const   *)super_prefix);
}
}
static int git_work_tree_initialized  ;
void set_git_work_tree(char const   *new_work_tree )
{
  struct strbuf realpath___1 ;
  int tmp ;

  {
  if (git_work_tree_initialized) {
    realpath___1.alloc = 0UL;
    realpath___1.len = 0UL;
    realpath___1.buf = strbuf_slopbuf;
    strbuf_realpath(& realpath___1, new_work_tree, 1);
    new_work_tree = (char const   *)realpath___1.buf;
    tmp = strcmp(new_work_tree, (char const   *)the_repository->worktree);
    if (tmp) {
      die((char const   *)"internal error: work tree has already been set\nCurrent worktree: %s\nNew worktree: %s",
          the_repository->worktree, new_work_tree);
    }
    strbuf_release(& realpath___1);
    return;
  }
  git_work_tree_initialized = 1;
  repo_set_worktree(the_repository, new_work_tree);
  return;
}
}
char const   *get_git_work_tree(void)
{


  {
  return ((char const   *)the_repository->worktree);
}
}
char *get_object_directory(void)
{


  {
  if (! (the_repository->objects)->odb) {
    BUG_fl((char const   *)"environment.c", 277, (char const   *)"git environment hasn\'t been setup");
  }
  return (((the_repository->objects)->odb)->path);
}
}
int odb_mkstemp(struct strbuf *temp_filename , char const   *pattern___0 )
{
  int fd ;
  int mode___1 ;
  int tmp ;

  {
  mode___1 = 0444;
  git_path_buf(temp_filename, (char const   *)"objects/%s", pattern___0);
  fd = git_mkstemp_mode(temp_filename->buf, mode___1);
  if (0 <= fd) {
    return (fd);
  }
  git_path_buf(temp_filename, (char const   *)"objects/%s", pattern___0);
  safe_create_leading_directories(temp_filename->buf);
  tmp = xmkstemp_mode(temp_filename->buf, mode___1);
  return (tmp);
}
}
int odb_pack_keep(char const   *name___0 )
{
  int fd ;
  int tmp ;

  {
  fd = open(name___0, 194, 0600);
  if (0 <= fd) {
    return (fd);
  }
  safe_create_leading_directories_const(name___0);
  tmp = open(name___0, 194, 0600);
  return (tmp);
}
}
char *get_index_file(void)
{


  {
  if (! the_repository->index_file) {
    BUG_fl((char const   *)"environment.c", 317, (char const   *)"git environment hasn\'t been setup");
  }
  return (the_repository->index_file);
}
}
char *get_graft_file(struct repository *r )
{


  {
  if (! r->graft_file) {
    BUG_fl((char const   *)"environment.c", 324, (char const   *)"git environment hasn\'t been setup");
  }
  return (r->graft_file);
}
}
static void set_git_dir_1(char const   *path___6 )
{


  {
  xsetenv((char const   *)"GIT_DIR", path___6, 1);
  setup_git_env(path___6);
  return;
}
}
static void update_relative_gitdir(char const   *name___0 , char const   *old_cwd ,
                                   char const   *new_cwd , void *data )
{
  char *path___6 ;
  char const   *tmp ;
  char *tmp___0 ;
  struct tmp_objdir *tmp_objdir___0 ;
  struct tmp_objdir *tmp___1 ;
  int tmp___2 ;

  {
  tmp = get_git_dir();
  tmp___0 = reparent_relative_path(old_cwd, new_cwd, tmp);
  path___6 = tmp___0;
  tmp___1 = tmp_objdir_unapply_primary_odb();
  tmp_objdir___0 = tmp___1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = trace_pass_fl(& trace_setup_key);
    if (tmp___2) {
      trace_printf_key_fl((char const   *)"environment.c", 344, & trace_setup_key,
                          (char const   *)"setup: move $GIT_DIR to \'%s\'", path___6);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  set_git_dir_1((char const   *)path___6);
  if (tmp_objdir___0) {
    tmp_objdir_reapply_primary_odb(tmp_objdir___0, old_cwd, new_cwd);
  }
  free((void *)path___6);
  return;
}
}
void set_git_dir(char const   *path___6 , int make_realpath )
{
  struct strbuf realpath___1 ;
  int tmp ;

  {
  realpath___1.alloc = 0UL;
  realpath___1.len = 0UL;
  realpath___1.buf = strbuf_slopbuf;
  if (make_realpath) {
    strbuf_realpath(& realpath___1, path___6, 1);
    path___6 = (char const   *)realpath___1.buf;
  }
  set_git_dir_1(path___6);
  tmp = is_absolute_path(path___6);
  if (! tmp) {
    chdir_notify_register((char const   *)((void *)0), & update_relative_gitdir, (void *)0);
  }
  strbuf_release(& realpath___1);
  return;
}
}
char const   *get_log_output_encoding(void)
{
  char const   *tmp ;
  char const   *tmp___0 ;

  {
  if (git_log_output_encoding) {
    tmp___0 = git_log_output_encoding;
  } else {
    tmp = get_commit_output_encoding();
    tmp___0 = tmp;
  }
  return (tmp___0);
}
}
char const   *get_commit_output_encoding(void)
{
  char const   *tmp ;

  {
  if (git_commit_encoding) {
    tmp = git_commit_encoding;
  } else {
    tmp = (char const   *)"UTF-8";
  }
  return (tmp);
}
}
static int the_shared_repository  =    0;
static int need_shared_repository_from_config  =    1;
void set_shared_repository(int value )
{


  {
  the_shared_repository = value;
  need_shared_repository_from_config = 0;
  return;
}
}
int get_shared_repository(void)
{
  char const   *var ;
  char const   *value ;
  int tmp ;

  {
  if (need_shared_repository_from_config) {
    var = (char const   *)"core.sharedrepository";
    tmp = git_config_get_value(var, & value);
    if (! tmp) {
      the_shared_repository = git_config_perm(var, value);
    }
    need_shared_repository_from_config = 0;
  }
  return (the_shared_repository);
}
}
void reset_shared_repository(void)
{


  {
  need_shared_repository_from_config = 1;
  return;
}
}
int use_optional_locks(void)
{
  int tmp ;

  {
  tmp = git_env_bool((char const   *)"GIT_OPTIONAL_LOCKS", 1);
  return (tmp);
}
}
static int cached_result  =    -1;
int print_sha1_ellipsis(void)
{
  char const   *v ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (cached_result < 0) {
    tmp = getenv((char const   *)"GIT_PRINT_SHA1_ELLIPSIS");
    v = (char const   *)tmp;
    if (v) {
      tmp___0 = strcasecmp(v, (char const   *)"yes");
      if (tmp___0) {
        tmp___1 = 0;
      } else {
        tmp___1 = 1;
      }
    } else {
      tmp___1 = 0;
    }
    cached_result = tmp___1;
  }
  return (cached_result);
}
}
struct bitmap *bitmap_word_alloc(size_t word_alloc )
{
  struct bitmap *bitmap ;
  void *tmp ;
  void *tmp___0 ;

  {
  tmp = xmalloc(sizeof(struct bitmap ));
  bitmap = (struct bitmap *)tmp;
  tmp___0 = xcalloc(word_alloc, sizeof(*(bitmap->words)));
  bitmap->words = (eword_t *)tmp___0;
  bitmap->word_alloc = word_alloc;
  return (bitmap);
}
}
struct bitmap *bitmap_new(void)
{
  struct bitmap *tmp ;

  {
  tmp = bitmap_word_alloc((size_t )32);
  return (tmp);
}
}
struct bitmap *bitmap_dup(struct bitmap  const  *src )
{
  struct bitmap *dst ;
  struct bitmap *tmp ;

  {
  tmp = bitmap_word_alloc((size_t )src->word_alloc);
  dst = tmp;
  copy_array((void *)dst->words, (void const   *)src->words, (size_t )src->word_alloc,
             sizeof(*(dst->words)) + (sizeof(char [1]) - 1UL));
  return (dst);
}
}
static void bitmap_grow(struct bitmap *self , size_t word_alloc )
{
  size_t old_size ;
  size_t tmp ;
  void *tmp___0 ;

  {
  old_size = self->word_alloc;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (word_alloc > self->word_alloc) {
      if (((self->word_alloc + 16UL) * 3UL) / 2UL < word_alloc) {
        self->word_alloc = word_alloc;
      } else {
        self->word_alloc = ((self->word_alloc + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*(self->words)), self->word_alloc);
      tmp___0 = xrealloc((void *)self->words, tmp);
      self->words = (eword_t *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  memset((void *)(self->words + old_size), 0x0, (self->word_alloc - old_size) * sizeof(eword_t ));
  return;
}
}
void bitmap_set(struct bitmap *self , size_t pos )
{
  size_t block___0 ;

  {
  block___0 = pos / (sizeof(eword_t ) * 8UL);
  bitmap_grow(self, block___0 + 1UL);
  *(self->words + block___0) |= 1UL << pos % (sizeof(eword_t ) * 8UL);
  return;
}
}
void bitmap_unset(struct bitmap *self , size_t pos )
{
  size_t block___0 ;

  {
  block___0 = pos / (sizeof(eword_t ) * 8UL);
  if (block___0 < self->word_alloc) {
    *(self->words + block___0) &= ~ (1UL << pos % (sizeof(eword_t ) * 8UL));
  }
  return;
}
}
int bitmap_get(struct bitmap *self , size_t pos )
{
  size_t block___0 ;
  int tmp ;

  {
  block___0 = pos / (sizeof(eword_t ) * 8UL);
  if (block___0 < self->word_alloc) {
    if ((*(self->words + block___0) & (1UL << pos % (sizeof(eword_t ) * 8UL))) != 0UL) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
struct ewah_bitmap *bitmap_to_ewah(struct bitmap *bitmap )
{
  struct ewah_bitmap *ewah ;
  struct ewah_bitmap *tmp ;
  size_t i ;
  size_t running_empty_words ;
  eword_t last_word ;

  {
  tmp = ewah_new();
  ewah = tmp;
  running_empty_words = (size_t )0;
  last_word = (eword_t )0;
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < bitmap->word_alloc)) {
      goto while_break;
    }
    if (*(bitmap->words + i) == 0UL) {
      running_empty_words ++;
      goto __Cont;
    }
    if (last_word != 0UL) {
      ewah_add(ewah, last_word);
    }
    if (running_empty_words > 0UL) {
      ewah_add_empty_words(ewah, 0, running_empty_words);
      running_empty_words = (size_t )0;
    }
    last_word = *(bitmap->words + i);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  ewah_add(ewah, last_word);
  return (ewah);
}
}
struct bitmap *ewah_to_bitmap(struct ewah_bitmap *ewah )
{
  struct bitmap *bitmap ;
  struct bitmap *tmp ;
  struct ewah_iterator it ;
  eword_t blowup ;
  size_t i ;
  size_t tmp___0 ;
  void *tmp___1 ;
  size_t tmp___2 ;
  int tmp___3 ;

  {
  tmp = bitmap_new();
  bitmap = tmp;
  i = (size_t )0;
  ewah_iterator_init(& it, ewah);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = ewah_iterator_next(& blowup, & it);
    if (! tmp___3) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (i + 1UL > bitmap->word_alloc) {
        if (((bitmap->word_alloc + 16UL) * 3UL) / 2UL < i + 1UL) {
          bitmap->word_alloc = i + 1UL;
        } else {
          bitmap->word_alloc = ((bitmap->word_alloc + 16UL) * 3UL) / 2UL;
        }
        tmp___0 = st_mult(sizeof(*(bitmap->words)), bitmap->word_alloc);
        tmp___1 = xrealloc((void *)bitmap->words, tmp___0);
        bitmap->words = (eword_t *)tmp___1;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___2 = i;
    i ++;
    *(bitmap->words + tmp___2) = blowup;
  }
  while_break: /* CIL Label */ ;
  }
  bitmap->word_alloc = i;
  return (bitmap);
}
}
void bitmap_and_not(struct bitmap *self , struct bitmap *other )
{
  size_t count___0 ;
  size_t tmp ;
  size_t i ;

  {
  if (self->word_alloc < other->word_alloc) {
    tmp = self->word_alloc;
  } else {
    tmp = other->word_alloc;
  }
  count___0 = (size_t )tmp;
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (size_t )count___0)) {
      goto while_break;
    }
    *(self->words + i) &= ~ *(other->words + i);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void bitmap_or(struct bitmap *self , struct bitmap  const  *other )
{
  size_t i ;

  {
  bitmap_grow(self, (size_t )other->word_alloc);
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (size_t )other->word_alloc)) {
      goto while_break;
    }
    *(self->words + i) |= *(other->words + i);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void bitmap_or_ewah(struct bitmap *self , struct ewah_bitmap *other )
{
  size_t original_size ;
  size_t other_final ;
  size_t i ;
  struct ewah_iterator it ;
  eword_t word ;
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  int tmp___2 ;

  {
  original_size = self->word_alloc;
  other_final = other->bit_size / (sizeof(eword_t ) * 8UL) + 1UL;
  i = (size_t )0;
  if (self->word_alloc < other_final) {
    self->word_alloc = other_final;
    tmp = st_mult(sizeof(*(self->words)), self->word_alloc);
    tmp___0 = xrealloc((void *)self->words, tmp);
    self->words = (eword_t *)tmp___0;
    memset((void *)(self->words + original_size), 0x0, (self->word_alloc - original_size) * sizeof(eword_t ));
  }
  ewah_iterator_init(& it, other);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = ewah_iterator_next(& word, & it);
    if (! tmp___2) {
      goto while_break;
    }
    tmp___1 = i;
    i ++;
    *(self->words + tmp___1) |= word;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
size_t bitmap_popcount(struct bitmap *self )
{
  size_t i ;
  size_t count___0 ;
  uint32_t tmp ;

  {
  count___0 = (size_t )0;
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < self->word_alloc)) {
      goto while_break;
    }
    tmp = ewah_bit_popcount64(*(self->words + i));
    count___0 += (size_t )tmp;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (count___0);
}
}
int bitmap_equals(struct bitmap *self , struct bitmap *other )
{
  struct bitmap *big ;
  struct bitmap *small ;
  size_t i ;

  {
  if (self->word_alloc < other->word_alloc) {
    small = self;
    big = other;
  } else {
    small = other;
    big = self;
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < small->word_alloc)) {
      goto while_break;
    }
    if (*(small->words + i) != *(big->words + i)) {
      return (0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < big->word_alloc)) {
      goto while_break___0;
    }
    if (*(big->words + i) != 0UL) {
      return (0);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (1);
}
}
int bitmap_is_subset(struct bitmap *self , struct bitmap *other )
{
  size_t common_size ;
  size_t i ;

  {
  if (self->word_alloc < other->word_alloc) {
    common_size = self->word_alloc;
  } else {
    common_size = other->word_alloc;
    i = common_size;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < self->word_alloc)) {
        goto while_break;
      }
      if (*(self->words + i)) {
        return (1);
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < common_size)) {
      goto while_break___0;
    }
    if (*(self->words + i) & ~ *(other->words + i)) {
      return (1);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (0);
}
}
void bitmap_reset(struct bitmap *bitmap )
{


  {
  memset((void *)bitmap->words, 0x0, bitmap->word_alloc * sizeof(eword_t ));
  return;
}
}
void bitmap_free(struct bitmap *bitmap )
{


  {
  if ((unsigned long )bitmap == (unsigned long )((void *)0)) {
    return;
  }
  free((void *)bitmap->words);
  free((void *)bitmap);
  return;
}
}
__inline static int rlw_get_run_bit(eword_t const   *word )
{


  {
  return ((int )(*word & 1UL));
}
}
__inline static void rlw_set_run_bit(eword_t *word , int b___0 )
{


  {
  if (b___0) {
    *word |= 1UL;
  } else {
    *word &= 18446744073709551614UL;
  }
  return;
}
}
__inline static void rlw_xor_run_bit(eword_t *word )
{


  {
  if (*word & 1UL) {
    *word &= 18446744073709551614UL;
  } else {
    *word |= 1UL;
  }
  return;
}
}
__inline static void rlw_set_running_len(eword_t *word , eword_t l )
{


  {
  *word |= ((1UL << sizeof(eword_t ) * 4UL) - 1UL) << 1;
  *word &= (l << 1) | ~ (((1UL << sizeof(eword_t ) * 4UL) - 1UL) << 1);
  return;
}
}
__inline static eword_t rlw_get_running_len(eword_t const   *word )
{


  {
  return ((eword_t )((*word >> 1) & (unsigned long const   )((1UL << sizeof(eword_t ) * 4UL) - 1UL)));
}
}
__inline static eword_t rlw_get_literal_words(eword_t const   *word )
{


  {
  return ((eword_t )(*word >> (1UL + sizeof(eword_t ) * 4UL)));
}
}
__inline static void rlw_set_literal_words(eword_t *word , eword_t l )
{


  {
  *word |= ~ ((1UL << (sizeof(eword_t ) * 4UL + 1UL)) - 1UL);
  *word &= (l << (sizeof(eword_t ) * 4UL + 1UL)) | ((1UL << (sizeof(eword_t ) * 4UL + 1UL)) - 1UL);
  return;
}
}
__inline static eword_t rlw_size(eword_t const   *self )
{
  eword_t tmp ;
  eword_t tmp___0 ;

  {
  tmp = rlw_get_running_len(self);
  tmp___0 = rlw_get_literal_words(self);
  return (tmp + tmp___0);
}
}
void rlwit_init(struct rlw_iterator *it , struct ewah_bitmap *from_ewah ) ;
void rlwit_discard_first_words(struct rlw_iterator *it , size_t x ) ;
size_t rlwit_discharge(struct rlw_iterator *it , struct ewah_bitmap *out , size_t max ,
                       int negate ) ;
__inline static size_t rlwit_word_size(struct rlw_iterator *it )
{


  {
  return ((size_t )(it->rlw.running_len + it->rlw.literal_words));
}
}
__inline static size_t rlwit_literal_words(struct rlw_iterator *it )
{


  {
  return (it->pointer - (size_t )it->rlw.literal_words);
}
}
__inline static size_t min_size(size_t a , size_t b___0 )
{
  size_t tmp ;

  {
  if (a < b___0) {
    tmp = a;
  } else {
    tmp = b___0;
  }
  return (tmp);
}
}
__inline static size_t max_size(size_t a , size_t b___0 )
{
  size_t tmp ;

  {
  if (a > b___0) {
    tmp = a;
  } else {
    tmp = b___0;
  }
  return (tmp);
}
}
__inline static void buffer_grow(struct ewah_bitmap *self , size_t new_size )
{
  size_t rlw_offset ;
  size_t tmp ;
  void *tmp___0 ;

  {
  rlw_offset = (size_t )((uint8_t *)self->rlw - (uint8_t *)self->buffer);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (new_size > self->alloc_size) {
      if (((self->alloc_size + 16UL) * 3UL) / 2UL < new_size) {
        self->alloc_size = new_size;
      } else {
        self->alloc_size = ((self->alloc_size + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*(self->buffer)), self->alloc_size);
      tmp___0 = xrealloc((void *)self->buffer, tmp);
      self->buffer = (eword_t *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  self->rlw = self->buffer + rlw_offset / sizeof(eword_t );
  return;
}
}
__inline static void buffer_push(struct ewah_bitmap *self , eword_t value )
{
  size_t tmp ;

  {
  buffer_grow(self, self->buffer_size + 1UL);
  tmp = self->buffer_size;
  (self->buffer_size) ++;
  *(self->buffer + tmp) = value;
  return;
}
}
static void buffer_push_rlw(struct ewah_bitmap *self , eword_t value )
{


  {
  buffer_push(self, value);
  self->rlw = (self->buffer + self->buffer_size) - 1;
  return;
}
}
static size_t add_empty_words(struct ewah_bitmap *self , int v , size_t number )
{
  size_t added ;
  eword_t runlen ;
  eword_t can_add ;
  eword_t tmp ;
  int tmp___0 ;
  int tmp___1 ;
  eword_t tmp___2 ;

  {
  added = (size_t )0;
  tmp___1 = rlw_get_run_bit((eword_t const   *)self->rlw);
  if (tmp___1 != v) {
    tmp___2 = rlw_size((eword_t const   *)self->rlw);
    if (tmp___2 == 0UL) {
      rlw_set_run_bit(self->rlw, v);
    } else {
      goto _L___0;
    }
  } else {
    _L___0: /* CIL Label */
    tmp = rlw_get_literal_words((eword_t const   *)self->rlw);
    if (tmp != 0UL) {
      goto _L;
    } else {
      tmp___0 = rlw_get_run_bit((eword_t const   *)self->rlw);
      if (tmp___0 != v) {
        _L: /* CIL Label */
        buffer_push_rlw(self, (eword_t )0);
        if (v) {
          rlw_set_run_bit(self->rlw, v);
        }
        added ++;
      }
    }
  }
  runlen = rlw_get_running_len((eword_t const   *)self->rlw);
  can_add = min_size(number, ((1UL << sizeof(eword_t ) * 4UL) - 1UL) - runlen);
  rlw_set_running_len(self->rlw, runlen + can_add);
  number -= can_add;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (number >= (1UL << sizeof(eword_t ) * 4UL) - 1UL)) {
      goto while_break;
    }
    buffer_push_rlw(self, (eword_t )0);
    added ++;
    if (v) {
      rlw_set_run_bit(self->rlw, v);
    }
    rlw_set_running_len(self->rlw, (1UL << sizeof(eword_t ) * 4UL) - 1UL);
    number -= (1UL << sizeof(eword_t ) * 4UL) - 1UL;
  }
  while_break: /* CIL Label */ ;
  }
  if (number > 0UL) {
    buffer_push_rlw(self, (eword_t )0);
    added ++;
    if (v) {
      rlw_set_run_bit(self->rlw, v);
    }
    rlw_set_running_len(self->rlw, number);
  }
  return (added);
}
}
size_t ewah_add_empty_words(struct ewah_bitmap *self , int v , size_t number )
{
  size_t tmp ;

  {
  if (number == 0UL) {
    return ((size_t )0);
  }
  self->bit_size += number * (sizeof(eword_t ) * 8UL);
  tmp = add_empty_words(self, v, number);
  return (tmp);
}
}
static size_t add_literal(struct ewah_bitmap *self , eword_t new_data___0 )
{
  eword_t current_num ;
  eword_t tmp ;
  eword_t tmp___0 ;

  {
  tmp = rlw_get_literal_words((eword_t const   *)self->rlw);
  current_num = tmp;
  if (current_num >= (1UL << ((sizeof(eword_t ) * 8UL - 1UL) - sizeof(eword_t ) * 4UL)) - 1UL) {
    buffer_push_rlw(self, (eword_t )0);
    rlw_set_literal_words(self->rlw, (eword_t )1);
    buffer_push(self, new_data___0);
    return ((size_t )2);
  }
  rlw_set_literal_words(self->rlw, current_num + 1UL);
  tmp___0 = rlw_get_literal_words((eword_t const   *)self->rlw);
  assert(tmp___0 == current_num + 1UL);
  buffer_push(self, new_data___0);
  return ((size_t )1);
}
}
void ewah_add_dirty_words(struct ewah_bitmap *self , eword_t const   *buffer___5 ,
                          size_t number , int negate )
{
  size_t literals ;
  size_t can_add ;
  size_t i ;
  size_t tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    literals = rlw_get_literal_words((eword_t const   *)self->rlw);
    can_add = min_size(number, ((1UL << ((sizeof(eword_t ) * 8UL - 1UL) - sizeof(eword_t ) * 4UL)) - 1UL) - literals);
    rlw_set_literal_words(self->rlw, literals + can_add);
    buffer_grow(self, self->buffer_size + can_add);
    if (negate) {
      i = (size_t )0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (i < can_add)) {
          goto while_break___0;
        }
        tmp = self->buffer_size;
        (self->buffer_size) ++;
        *(self->buffer + tmp) = (eword_t )(~ *(buffer___5 + i));
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
    } else {
      memcpy((void *)(self->buffer + self->buffer_size), (void const   *)buffer___5,
             can_add * sizeof(eword_t ));
      self->buffer_size += can_add;
    }
    self->bit_size += can_add * (sizeof(eword_t ) * 8UL);
    if (number - can_add == 0UL) {
      goto while_break;
    }
    buffer_push_rlw(self, (eword_t )0);
    buffer___5 += can_add;
    number -= can_add;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static size_t add_empty_word(struct ewah_bitmap *self , int v )
{
  int no_literal ;
  eword_t tmp ;
  eword_t run_len ;
  eword_t tmp___0 ;
  int tmp___1 ;
  eword_t tmp___2 ;
  eword_t tmp___3 ;
  int tmp___4 ;
  eword_t tmp___5 ;
  int tmp___6 ;
  eword_t tmp___7 ;
  eword_t tmp___8 ;
  int tmp___9 ;

  {
  tmp = rlw_get_literal_words((eword_t const   *)self->rlw);
  no_literal = tmp == 0UL;
  tmp___0 = rlw_get_running_len((eword_t const   *)self->rlw);
  run_len = tmp___0;
  if (no_literal) {
    if (run_len == 0UL) {
      rlw_set_run_bit(self->rlw, v);
      tmp___1 = rlw_get_run_bit((eword_t const   *)self->rlw);
      assert(tmp___1 == v);
    }
  }
  if (no_literal) {
    tmp___9 = rlw_get_run_bit((eword_t const   *)self->rlw);
    if (tmp___9 == v) {
      if (run_len < (1UL << sizeof(eword_t ) * 4UL) - 1UL) {
        rlw_set_running_len(self->rlw, run_len + 1UL);
        tmp___2 = rlw_get_running_len((eword_t const   *)self->rlw);
        assert(tmp___2 == run_len + 1UL);
        return ((size_t )0);
      } else {
        goto _L___0;
      }
    } else {
      goto _L___0;
    }
  } else {
    _L___0: /* CIL Label */
    _L: /* CIL Label */
    buffer_push_rlw(self, (eword_t )0);
    tmp___3 = rlw_get_running_len((eword_t const   *)self->rlw);
    assert(tmp___3 == 0UL);
    tmp___4 = rlw_get_run_bit((eword_t const   *)self->rlw);
    assert(tmp___4 == 0);
    tmp___5 = rlw_get_literal_words((eword_t const   *)self->rlw);
    assert(tmp___5 == 0UL);
    rlw_set_run_bit(self->rlw, v);
    tmp___6 = rlw_get_run_bit((eword_t const   *)self->rlw);
    assert(tmp___6 == v);
    rlw_set_running_len(self->rlw, (eword_t )1);
    tmp___7 = rlw_get_running_len((eword_t const   *)self->rlw);
    assert(tmp___7 == 1UL);
    tmp___8 = rlw_get_literal_words((eword_t const   *)self->rlw);
    assert(tmp___8 == 0UL);
    return ((size_t )1);
  }
}
}
size_t ewah_add(struct ewah_bitmap *self , eword_t word )
{
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;

  {
  self->bit_size += sizeof(eword_t ) * 8UL;
  if (word == 0UL) {
    tmp = add_empty_word(self, 0);
    return (tmp);
  }
  if (word == 18446744073709551615UL) {
    tmp___0 = add_empty_word(self, 1);
    return (tmp___0);
  }
  tmp___1 = add_literal(self, word);
  return (tmp___1);
}
}
void ewah_set(struct ewah_bitmap *self , size_t i )
{
  size_t dist___0 ;
  eword_t tmp ;
  eword_t tmp___0 ;
  eword_t tmp___1 ;

  {
  dist___0 = (size_t )((((i + 1UL) + sizeof(eword_t ) * 8UL) - 1UL) / (sizeof(eword_t ) * 8UL) - ((self->bit_size + sizeof(eword_t ) * 8UL) - 1UL) / (sizeof(eword_t ) * 8UL));
  assert(i >= self->bit_size);
  self->bit_size = i + 1UL;
  if (dist___0 > 0UL) {
    if (dist___0 > 1UL) {
      add_empty_words(self, 0, (size_t )(dist___0 - 1UL));
    }
    add_literal(self, 1UL << i % (sizeof(eword_t ) * 8UL));
    return;
  }
  tmp___0 = rlw_get_literal_words((eword_t const   *)self->rlw);
  if (tmp___0 == 0UL) {
    tmp = rlw_get_running_len((eword_t const   *)self->rlw);
    rlw_set_running_len(self->rlw, tmp - 1UL);
    add_literal(self, 1UL << i % (sizeof(eword_t ) * 8UL));
    return;
  }
  *(self->buffer + (self->buffer_size - 1UL)) |= 1UL << i % (sizeof(eword_t ) * 8UL);
  if (*(self->buffer + (self->buffer_size - 1UL)) == 18446744073709551615UL) {
    (self->buffer_size) --;
    *(self->buffer + self->buffer_size) = (eword_t )0;
    tmp___1 = rlw_get_literal_words((eword_t const   *)self->rlw);
    rlw_set_literal_words(self->rlw, tmp___1 - 1UL);
    add_empty_word(self, 1);
  }
  return;
}
}
void ewah_each_bit(struct ewah_bitmap *self , void (*callback)(size_t pos , void * ) ,
                   void *payload )
{
  size_t pos ;
  size_t pointer ;
  size_t k ;
  eword_t *word ;
  size_t len___0 ;
  eword_t tmp ;
  eword_t tmp___0 ;
  int tmp___1 ;
  int c___0 ;
  eword_t tmp___2 ;

  {
  pos = (size_t )0;
  pointer = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (pointer < self->buffer_size)) {
      goto while_break;
    }
    word = self->buffer + pointer;
    tmp___1 = rlw_get_run_bit((eword_t const   *)word);
    if (tmp___1) {
      tmp = rlw_get_running_len((eword_t const   *)word);
      len___0 = tmp * (sizeof(eword_t ) * 8UL);
      k = (size_t )0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (k < len___0)) {
          goto while_break___0;
        }
        (*callback)(pos, payload);
        k ++;
        pos ++;
      }
      while_break___0: /* CIL Label */ ;
      }
    } else {
      tmp___0 = rlw_get_running_len((eword_t const   *)word);
      pos += tmp___0 * (sizeof(eword_t ) * 8UL);
    }
    pointer ++;
    k = (size_t )0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      tmp___2 = rlw_get_literal_words((eword_t const   *)word);
      if (! (k < tmp___2)) {
        goto while_break___1;
      }
      c___0 = 0;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (! ((unsigned long )c___0 < sizeof(eword_t ) * 8UL)) {
          goto while_break___2;
        }
        if ((*(self->buffer + pointer) & (1UL << c___0)) != 0UL) {
          (*callback)(pos, payload);
        }
        c___0 ++;
        pos ++;
      }
      while_break___2: /* CIL Label */ ;
      }
      pointer ++;
      k ++;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void ewah_clear(struct ewah_bitmap *self )
{


  {
  self->buffer_size = (size_t )1;
  *(self->buffer + 0) = (eword_t )0;
  self->bit_size = (size_t )0;
  self->rlw = self->buffer;
  return;
}
}
struct ewah_bitmap *ewah_new(void)
{
  struct ewah_bitmap *self ;
  void *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  tmp = xmalloc(sizeof(struct ewah_bitmap ));
  self = (struct ewah_bitmap *)tmp;
  self->alloc_size = (size_t )32;
  tmp___0 = st_mult(sizeof(*(self->buffer)), self->alloc_size);
  tmp___1 = xmalloc(tmp___0);
  self->buffer = (eword_t *)tmp___1;
  ewah_clear(self);
  return (self);
}
}
void ewah_free(struct ewah_bitmap *self )
{


  {
  if (! self) {
    return;
  }
  if (self->alloc_size) {
    free((void *)self->buffer);
  }
  free((void *)self);
  return;
}
}
static void read_new_rlw(struct ewah_iterator *it )
{
  eword_t const   *word ;

  {
  word = (eword_t const   *)((void *)0);
  it->literals = (eword_t )0;
  it->compressed = (eword_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    word = it->buffer + it->pointer;
    it->rl = rlw_get_running_len(word);
    it->lw = rlw_get_literal_words(word);
    it->b = rlw_get_run_bit(word);
    if (it->rl) {
      return;
    } else
    if (it->lw) {
      return;
    }
    if (it->pointer < it->buffer_size - 1UL) {
      (it->pointer) ++;
    } else {
      it->pointer = it->buffer_size;
      return;
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
int ewah_iterator_next(eword_t *next___2 , struct ewah_iterator *it )
{


  {
  if (it->pointer >= it->buffer_size) {
    return (0);
  }
  if (it->compressed < it->rl) {
    (it->compressed) ++;
    if (it->b) {
      *next___2 = (eword_t )(~ 0);
    } else {
      *next___2 = (eword_t )0;
    }
  } else {
    assert(it->literals < it->lw);
    (it->literals) ++;
    (it->pointer) ++;
    assert(it->pointer < it->buffer_size);
    *next___2 = (eword_t )*(it->buffer + it->pointer);
  }
  if (it->compressed == it->rl) {
    if (it->literals == it->lw) {
      (it->pointer) ++;
      if (it->pointer < it->buffer_size) {
        read_new_rlw(it);
      }
    }
  }
  return (1);
}
}
void ewah_iterator_init(struct ewah_iterator *it , struct ewah_bitmap *parent )
{


  {
  it->buffer = (eword_t const   *)parent->buffer;
  it->buffer_size = parent->buffer_size;
  it->pointer = (size_t )0;
  it->lw = (eword_t )0;
  it->rl = (eword_t )0;
  it->compressed = (eword_t )0;
  it->literals = (eword_t )0;
  it->b = 0;
  if (it->pointer < it->buffer_size) {
    read_new_rlw(it);
  }
  return;
}
}
void ewah_xor(struct ewah_bitmap *ewah_i , struct ewah_bitmap *ewah_j , struct ewah_bitmap *out )
{
  struct rlw_iterator rlw_i ;
  struct rlw_iterator rlw_j ;
  size_t literals ;
  struct rlw_iterator *prey ;
  struct rlw_iterator *predator ;
  size_t index___2 ;
  int negate_words ;
  size_t k ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;

  {
  rlwit_init(& rlw_i, ewah_i);
  rlwit_init(& rlw_j, ewah_j);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = rlwit_word_size(& rlw_i);
    if (tmp > 0UL) {
      tmp___0 = rlwit_word_size(& rlw_j);
      if (! (tmp___0 > 0UL)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (rlw_i.rlw.running_len > 0)) {
        if (! (rlw_j.rlw.running_len > 0)) {
          goto while_break___0;
        }
      }
      if (rlw_i.rlw.running_len < rlw_j.rlw.running_len) {
        prey = & rlw_i;
        predator = & rlw_j;
      } else {
        prey = & rlw_j;
        predator = & rlw_i;
      }
      negate_words = ! (! predator->rlw.running_bit);
      index___2 = rlwit_discharge(prey, out, (size_t )predator->rlw.running_len, negate_words);
      ewah_add_empty_words(out, negate_words, (size_t )predator->rlw.running_len - index___2);
      rlwit_discard_first_words(predator, (size_t )predator->rlw.running_len);
    }
    while_break___0: /* CIL Label */ ;
    }
    literals = min_size((size_t )rlw_i.rlw.literal_words, (size_t )rlw_j.rlw.literal_words);
    if (literals) {
      k = (size_t )0;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! (k < literals)) {
          goto while_break___1;
        }
        ewah_add(out, (eword_t )(*(rlw_i.buffer + (rlw_i.literal_word_start + k)) ^ *(rlw_j.buffer + (rlw_j.literal_word_start + k))));
        k ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      rlwit_discard_first_words(& rlw_i, literals);
      rlwit_discard_first_words(& rlw_j, literals);
    }
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = rlwit_word_size(& rlw_i);
  if (tmp___1 > 0UL) {
    rlwit_discharge(& rlw_i, out, (size_t )(~ 0), 0);
  } else {
    rlwit_discharge(& rlw_j, out, (size_t )(~ 0), 0);
  }
  out->bit_size = max_size(ewah_i->bit_size, ewah_j->bit_size);
  return;
}
}
static struct ewah_bitmap *bitmap_pool[16]  ;
static size_t bitmap_pool_size  ;
struct ewah_bitmap *ewah_pool_new(void)
{
  struct ewah_bitmap *tmp ;

  {
  if (bitmap_pool_size) {
    bitmap_pool_size --;
    return (bitmap_pool[bitmap_pool_size]);
  }
  tmp = ewah_new();
  return (tmp);
}
}
void ewah_pool_free(struct ewah_bitmap *self )
{
  size_t tmp ;

  {
  if ((unsigned long )self == (unsigned long )((void *)0)) {
    return;
  }
  if (bitmap_pool_size == 16UL) {
    ewah_free(self);
    return;
  } else
  if (self->alloc_size == 0UL) {
    ewah_free(self);
    return;
  }
  ewah_clear(self);
  tmp = bitmap_pool_size;
  bitmap_pool_size ++;
  bitmap_pool[tmp] = self;
  return;
}
}
uint32_t ewah_checksum(struct ewah_bitmap *self )
{
  uint8_t const   *p___0 ;
  uint32_t crc ;
  size_t size ;
  uint8_t const   *tmp ;
  size_t tmp___0 ;

  {
  p___0 = (uint8_t const   *)((uint8_t *)self->buffer);
  crc = (uint32_t )self->bit_size;
  size = self->buffer_size * sizeof(eword_t );
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = size;
    size --;
    if (! tmp___0) {
      goto while_break;
    }
    tmp = p___0;
    p___0 ++;
    crc = ((crc << 5) - crc) + (uint32_t )*tmp;
  }
  while_break: /* CIL Label */ ;
  }
  return (crc);
}
}
int ewah_serialize_to(struct ewah_bitmap *self , int (*write_fun)(void *out , void const   *buf ,
                                                                  size_t len ) , void *data )
{
  size_t i ;
  eword_t dump___1[2048] ;
  size_t words_per_dump ;
  uint32_t bitsize ;
  uint32_t word_count ;
  uint32_t rlw_pos ;
  eword_t const   *buffer___5 ;
  size_t words_left ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  words_per_dump = (size_t )(sizeof(dump___1) / sizeof(eword_t ));
  bitsize = git_bswap32((uint32_t )self->bit_size);
  tmp = (*write_fun)(data, (void const   *)(& bitsize), (size_t )4);
  if (tmp != 4) {
    return (-1);
  }
  word_count = git_bswap32((uint32_t )self->buffer_size);
  tmp___0 = (*write_fun)(data, (void const   *)(& word_count), (size_t )4);
  if (tmp___0 != 4) {
    return (-1);
  }
  buffer___5 = (eword_t const   *)self->buffer;
  words_left = self->buffer_size;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (words_left >= (size_t )words_per_dump)) {
      goto while_break;
    }
    i = (size_t )0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < (size_t )words_per_dump)) {
        goto while_break___0;
      }
      dump___1[i] = git_bswap64((uint64_t )*buffer___5);
      i ++;
      buffer___5 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___1 = (*write_fun)(data, (void const   *)(dump___1), sizeof(dump___1));
    if ((unsigned long )tmp___1 != sizeof(dump___1)) {
      return (-1);
    }
    words_left -= (size_t )words_per_dump;
  }
  while_break: /* CIL Label */ ;
  }
  if (words_left) {
    i = (size_t )0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < words_left)) {
        goto while_break___1;
      }
      dump___1[i] = git_bswap64((uint64_t )*buffer___5);
      i ++;
      buffer___5 ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    tmp___2 = (*write_fun)(data, (void const   *)(dump___1), words_left * 8UL);
    if ((size_t )tmp___2 != words_left * 8UL) {
      return (-1);
    }
  }
  rlw_pos = (uint32_t )((uint8_t *)self->rlw - (uint8_t *)self->buffer);
  rlw_pos = git_bswap32((uint32_t )((unsigned long )rlw_pos / sizeof(eword_t )));
  tmp___3 = (*write_fun)(data, (void const   *)(& rlw_pos), (size_t )4);
  if (tmp___3 != 4) {
    return (-1);
  }
  return ((int )(12UL + self->buffer_size * 8UL));
}
}
static int write_strbuf(void *user_data , void const   *data , size_t len___0 )
{
  struct strbuf *sb___6 ;

  {
  sb___6 = (struct strbuf *)user_data;
  strbuf_add(sb___6, data, len___0);
  return ((int )len___0);
}
}
int ewah_serialize_strbuf(struct ewah_bitmap *self , struct strbuf *sb___6 )
{
  int tmp ;

  {
  tmp = ewah_serialize_to(self, & write_strbuf, (void *)sb___6);
  return (tmp);
}
}
ssize_t ewah_read_mmap(struct ewah_bitmap *self , void const   *map___0 , size_t len___0 )
{
  uint8_t const   *ptr ;
  size_t data_len ;
  size_t i ;
  int tmp ;
  uint32_t tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  uint32_t tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  uint32_t tmp___8 ;

  {
  ptr = (uint8_t const   *)map___0;
  if (len___0 < sizeof(uint32_t )) {
    error((char const   *)"corrupt ewah bitmap: eof before bit size");
    tmp = const_error();
    return ((ssize_t )tmp);
  }
  tmp___0 = get_be32((void const   *)ptr);
  self->bit_size = (size_t )tmp___0;
  ptr += sizeof(uint32_t );
  len___0 -= sizeof(uint32_t );
  if (len___0 < sizeof(uint32_t )) {
    error((char const   *)"corrupt ewah bitmap: eof before length");
    tmp___1 = const_error();
    return ((ssize_t )tmp___1);
  }
  tmp___3 = get_be32((void const   *)ptr);
  tmp___2 = (size_t )tmp___3;
  self->alloc_size = tmp___2;
  self->buffer_size = tmp___2;
  ptr += sizeof(uint32_t );
  len___0 -= sizeof(uint32_t );
  tmp___4 = st_mult(sizeof(*(self->buffer)), self->alloc_size);
  tmp___5 = xrealloc((void *)self->buffer, tmp___4);
  self->buffer = (eword_t *)tmp___5;
  data_len = st_mult(self->buffer_size, sizeof(eword_t ));
  if (len___0 < data_len) {
    error((char const   *)"corrupt ewah bitmap: eof in data (%lu bytes short)", data_len - len___0);
    tmp___6 = const_error();
    return ((ssize_t )tmp___6);
  }
  memcpy((void *)self->buffer, (void const   *)ptr, data_len);
  ptr += data_len;
  len___0 -= data_len;
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < self->buffer_size)) {
      goto while_break;
    }
    *(self->buffer + i) = git_bswap64(*(self->buffer + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (len___0 < sizeof(uint32_t )) {
    error((char const   *)"corrupt ewah bitmap: eof before rlw");
    tmp___7 = const_error();
    return ((ssize_t )tmp___7);
  }
  tmp___8 = get_be32((void const   *)ptr);
  self->rlw = self->buffer + tmp___8;
  ptr += sizeof(uint32_t );
  len___0 -= sizeof(uint32_t );
  return (ptr - (uint8_t const   *)map___0);
}
}
__inline static int next_word(struct rlw_iterator *it )
{
  eword_t tmp ;
  eword_t tmp___0 ;
  eword_t tmp___1 ;

  {
  if (it->pointer >= it->size) {
    return (0);
  }
  it->rlw.word = it->buffer + it->pointer;
  tmp = rlw_get_literal_words(it->rlw.word);
  it->pointer += tmp + 1UL;
  tmp___0 = rlw_get_literal_words(it->rlw.word);
  it->rlw.literal_words = (int )tmp___0;
  tmp___1 = rlw_get_running_len(it->rlw.word);
  it->rlw.running_len = (int )tmp___1;
  it->rlw.running_bit = rlw_get_run_bit(it->rlw.word);
  it->rlw.literal_word_offset = 0;
  return (1);
}
}
void rlwit_init(struct rlw_iterator *it , struct ewah_bitmap *from_ewah )
{
  size_t tmp ;

  {
  it->buffer = (eword_t const   *)from_ewah->buffer;
  it->size = from_ewah->buffer_size;
  it->pointer = (size_t )0;
  next_word(it);
  tmp = rlwit_literal_words(it);
  it->literal_word_start = tmp + (size_t )it->rlw.literal_word_offset;
  return;
}
}
void rlwit_discard_first_words(struct rlw_iterator *it , size_t x )
{
  size_t discard ;
  int tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (x > 0UL)) {
      goto while_break;
    }
    if ((size_t )it->rlw.running_len > x) {
      it->rlw.running_len = (int )((size_t )it->rlw.running_len - x);
      return;
    }
    x -= (size_t )it->rlw.running_len;
    it->rlw.running_len = 0;
    if (x > (size_t )it->rlw.literal_words) {
      discard = (size_t )it->rlw.literal_words;
    } else {
      discard = x;
    }
    it->literal_word_start += discard;
    it->rlw.literal_words = (int )((size_t )it->rlw.literal_words - discard);
    x -= discard;
    if (x > 0UL) {
      goto _L;
    } else {
      tmp___1 = rlwit_word_size(it);
      if (tmp___1 == 0UL) {
        _L: /* CIL Label */
        tmp = next_word(it);
        if (! tmp) {
          goto while_break;
        }
        tmp___0 = rlwit_literal_words(it);
        it->literal_word_start = tmp___0 + (size_t )it->rlw.literal_word_offset;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
size_t rlwit_discharge(struct rlw_iterator *it , struct ewah_bitmap *out , size_t max ,
                       int negate )
{
  size_t index___2 ;
  size_t pd ;
  size_t pl ;
  size_t tmp ;

  {
  index___2 = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (index___2 < max) {
      tmp = rlwit_word_size(it);
      if (! (tmp > 0UL)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    pl = (size_t )it->rlw.running_len;
    if (index___2 + pl > max) {
      pl = max - index___2;
    }
    ewah_add_empty_words(out, it->rlw.running_bit ^ negate, pl);
    index___2 += pl;
    pd = (size_t )it->rlw.literal_words;
    if (pd + index___2 > max) {
      pd = max - index___2;
    }
    ewah_add_dirty_words(out, it->buffer + it->literal_word_start, pd, negate);
    rlwit_discard_first_words(it, pd + pl);
    index___2 += pd;
  }
  while_break: /* CIL Label */ ;
  }
  return (index___2);
}
}
static char const   *system_prefix(void) ;
static char const   *system_prefix(void)
{


  {
  return ((char const   *)"/usr/local");
}
}
void git_resolve_executable_dir(char const   *argv0 )
{


  {
  return;
}
}
char *system_path(char const   *path___6 )
{
  struct strbuf d ;
  char *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char *tmp___2 ;

  {
  d.alloc = 0UL;
  d.len = 0UL;
  d.buf = strbuf_slopbuf;
  tmp___0 = is_absolute_path(path___6);
  if (tmp___0) {
    tmp = xstrdup(path___6);
    return (tmp);
  }
  tmp___1 = system_prefix();
  strbuf_addf(& d, (char const   *)"%s/%s", tmp___1, path___6);
  tmp___2 = strbuf_detach(& d, (size_t *)((void *)0));
  return (tmp___2);
}
}
static char const   *exec_path_value  ;
void git_set_exec_path(char const   *exec_path )
{


  {
  exec_path_value = exec_path;
  setenv((char const   *)"GIT_EXEC_PATH", exec_path, 1);
  return;
}
}
char const   *git_exec_path(void)
{
  char const   *env ;
  char *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;

  {
  if (! exec_path_value) {
    tmp = getenv((char const   *)"GIT_EXEC_PATH");
    env = (char const   *)tmp;
    if (env) {
      if (*env) {
        tmp___0 = xstrdup(env);
        exec_path_value = (char const   *)tmp___0;
      } else {
        tmp___1 = system_path((char const   *)"/usr/local/libexec/git-core");
        exec_path_value = (char const   *)tmp___1;
      }
    } else {
      tmp___1 = system_path((char const   *)"/usr/local/libexec/git-core");
      exec_path_value = (char const   *)tmp___1;
    }
  }
  return (exec_path_value);
}
}
static void add_path(struct strbuf *out , char const   *path___6 )
{


  {
  if (path___6) {
    if (*path___6) {
      strbuf_add_absolute_path(out, path___6);
      strbuf_addch(out, ':');
    }
  }
  return;
}
}
void setup_path(void)
{
  char const   *exec_path ;
  char const   *tmp ;
  char const   *old_path ;
  char *tmp___0 ;
  struct strbuf new_path___0 ;

  {
  tmp = git_exec_path();
  exec_path = tmp;
  tmp___0 = getenv((char const   *)"PATH");
  old_path = (char const   *)tmp___0;
  new_path___0.alloc = 0UL;
  new_path___0.len = 0UL;
  new_path___0.buf = strbuf_slopbuf;
  git_set_exec_path(exec_path);
  add_path(& new_path___0, exec_path);
  if (old_path) {
    strbuf_addstr(& new_path___0, old_path);
  } else {
    strbuf_addstr(& new_path___0, (char const   *)"/usr/bin:/bin");
  }
  setenv((char const   *)"PATH", (char const   *)new_path___0.buf, 1);
  strbuf_release(& new_path___0);
  return;
}
}
char const   **prepare_git_cmd(struct strvec *out , char const   **argv___0 )
{


  {
  strvec_push(out, (char const   *)"git");
  strvec_pushv(out, argv___0);
  return (out->v);
}
}
int execv_git_cmd(char const   **argv___0 )
{
  struct strvec nargv ;
  int tmp ;
  int *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  nargv.v = empty_strvec;
  nargv.nr = 0UL;
  nargv.alloc = 0UL;
  prepare_git_cmd(& nargv, argv___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = trace_pass_fl(& trace_default_key);
    if (tmp) {
      trace_argv_printf_fl((char const   *)"exec-cmd.c", 335, nargv.v, (char const   *)"trace: exec:");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  sane_execvp((char const   *)"git", (char **)((char **)nargv.v));
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___2 = trace_pass_fl(& trace_default_key);
    if (tmp___2) {
      tmp___0 = __errno_location();
      tmp___1 = strerror(*tmp___0);
      trace_printf_key_fl((char const   *)"exec-cmd.c", 340, & trace_default_key,
                          (char const   *)"trace: exec failed: %s\n", tmp___1);
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  strvec_clear(& nargv);
  return (-1);
}
}
int __attribute__((__sentinel__))  execl_git_cmd(char const   *cmd  , ...)
{
  int argc ;
  char const   *argv___0[33] ;
  char const   *arg ;
  va_list param ;
  int tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  __builtin_va_start(param, cmd);
  argv___0[0] = cmd;
  argc = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (argc < 32)) {
      goto while_break;
    }
    tmp = argc;
    argc ++;
    tmp___1 = __builtin_va_arg(param, char *);
    tmp___0 = tmp___1;
    argv___0[tmp] = tmp___0;
    arg = tmp___0;
    if (! arg) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  __builtin_va_end(param);
  if (32 <= argc) {
    tmp___2 = _((char const   *)"too many args to run %s");
    error((char const   *)tmp___2, cmd);
    tmp___3 = const_error();
    return ((int __attribute__((__sentinel__))  )tmp___3);
  }
  argv___0[argc] = (char const   *)((void *)0);
  tmp___4 = execv_git_cmd(argv___0);
  return ((int __attribute__((__sentinel__))  )tmp___4);
}
}
void fetch_negotiator_init(struct repository *r , struct fetch_negotiator *negotiator ) ;
void default_negotiator_init(struct fetch_negotiator *negotiator ) ;
void skipping_negotiator_init(struct fetch_negotiator *negotiator ) ;
void noop_negotiator_init(struct fetch_negotiator *negotiator ) ;
void fetch_negotiator_init(struct repository *r , struct fetch_negotiator *negotiator )
{


  {
  prepare_repo_settings(r);
  {
  if ((unsigned int )r->settings.fetch_negotiation_algorithm == 1U) {
    goto case_1;
  }
  if ((unsigned int )r->settings.fetch_negotiation_algorithm == 2U) {
    goto case_2;
  }
  if ((unsigned int )r->settings.fetch_negotiation_algorithm == 0U) {
    goto case_0;
  }
  goto switch_break;
  case_1: /* CIL Label */
  skipping_negotiator_init(negotiator);
  return;
  case_2: /* CIL Label */
  noop_negotiator_init(negotiator);
  return;
  case_0: /* CIL Label */
  default_negotiator_init(negotiator);
  return;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static double const   __ac_HASH_UPPER___35  =    (double const   )0.77;
__inline static void kh_resize_oid_set___35(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___35(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___35 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___35 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___35(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___35(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___35(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___35(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___35(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___35(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___35 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___35 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___35(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___35(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___35(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___35(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___35(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___35(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___35 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___35 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___35(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___35(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___35(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___35(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
struct ref *fetch_pack(struct fetch_pack_args *args___0 , int *fd , struct ref  const  *ref ,
                       struct ref **sought , int nr_sought , struct oid_array *shallow ,
                       struct string_list *pack_lockfiles , enum protocol_version version___0 ) ;
void negotiate_using_fetch(struct oid_array  const  *negotiation_tips , struct string_list  const  *server_options___1 ,
                           int stateless_rpc___0 , int *fd , struct oidset *acked_commits ) ;
int report_unmatched_refs(struct ref **sought , int nr_sought ) ;
__inline static void kh_resize_odb_path_map___24(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___24(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___35 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___35 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___24(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___24(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___24(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___24(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
void fsck_set_msg_type_from_ids(struct fsck_options *options , enum fsck_msg_id msg_id ,
                                enum fsck_msg_type msg_type ) ;
void fsck_set_msg_type(struct fsck_options *options , char const   *msg_id_str , char const   *msg_type_str ) ;
void fsck_set_msg_types(struct fsck_options *options , char const   *values ) ;
int is_valid_msg_type(char const   *msg_id , char const   *msg_type ) ;
int fsck_error_function(struct fsck_options *o , struct object_id  const  *oid , enum object_type object_type___0 ,
                        enum fsck_msg_type msg_type , enum fsck_msg_id msg_id , char const   *message___0 ) ;
int fsck_error_cb_print_missing_gitmodules(struct fsck_options *o , struct object_id  const  *oid ,
                                           enum object_type object_type___0 , enum fsck_msg_type msg_type ,
                                           enum fsck_msg_id msg_id , char const   *message___0 ) ;
int fsck_walk(struct object *obj , void *data , struct fsck_options *options ) ;
int fsck_object(struct object *obj , void *data , unsigned long size , struct fsck_options *options ) ;
int fsck_tag_standalone(struct object_id  const  *oid , char const   *buffer___5 ,
                        unsigned long size , struct fsck_options *options , struct object_id *tagged_oid ,
                        int *tagged_type ) ;
int fsck_finish(struct fsck_options *options ) ;
void fsck_enable_object_names(struct fsck_options *options ) ;
char const   *fsck_get_object_name(struct fsck_options *options , struct object_id  const  *oid ) ;
void ( /* format attribute */  fsck_put_object_name)(struct fsck_options *options ,
                                                     struct object_id  const  *oid ,
                                                     char const   *fmt  , ...) ;
char const   *fsck_describe_object(struct fsck_options *options , struct object_id  const  *oid ) ;
int git_fsck_config(char const   *var , char const   *value , void *cb ) ;
static void init_contains_cache_with_stride___3(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___3(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___3(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___3(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___3(s___1, 1U);
  return;
}
}
static void clear_contains_cache___3(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___3(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___3(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___3(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___3(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___3(struct contains_cache *s___1 ,
                                                        struct commit  const  *c___0 ,
                                                        int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___3(struct contains_cache *s___1 ,
                                                        struct commit  const  *c___0 ,
                                                        int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___3(struct contains_cache *s___1 ,
                                                   struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___3(struct contains_cache *s___1 ,
                                                   struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___3(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___3(struct contains_cache *s___1 ,
                                                     struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___3(struct contains_cache *s___1 ,
                                                     struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___3(s___1, c___0, 0);
  return (tmp);
}
}
static int transfer_unpack_limit  =    -1;
static int fetch_unpack_limit  =    -1;
static int unpack_limit  =    100;
static int prefer_ofs_delta  =    1;
static int no_done  ;
static int deepen_since_ok  ;
static int deepen_not_ok  ;
static int fetch_fsck_objects  =    -1;
static int transfer_fsck_objects  =    -1;
static int agent_supported  ;
static int server_supports_filtering  ;
static int advertise_sid  ;
static struct shallow_lock shallow_lock  ;
static char const   *alternate_shallow_file  ;
static struct fsck_options fsck_options  =
     {(int (*)(struct object *obj , enum object_type object_type , void *data , struct fsck_options *options ))0,
    & fsck_error_cb_print_missing_gitmodules, 1U, (enum fsck_msg_type *)0, {{0U, 0U,
                                                                             0U, 0U,
                                                                             (khint32_t *)0,
                                                                             (struct object_id *)0,
                                                                             (int *)0}},
    {{(khint_t )0, 0U, 0U, 0U, (khint32_t *)0, (struct object_id *)0, (int *)0}},
    {{(khint_t )0, 0U, 0U, 0U, (khint32_t *)0, (struct object_id *)0, (int *)0}},
    (kh_oid_map_t *)0};
static struct strbuf fsck_msg_types  =    {0UL, 0UL, strbuf_slopbuf};
static struct string_list uri_protocols  =    {(struct string_list_item *)0, 0U, 0U, 1U, (int (*)(char const   * , char const   * ))0};
static int multi_ack  ;
static int use_sideband  ;
static unsigned int allow_unadvertised_object_request  ;
__inline static void ( /* format attribute */  print_verbose)(struct fetch_pack_args  const  *args___0 ,
                                                              char const   *fmt  , ...)
{
  va_list params ;

  {
  if (! args___0->verbose) {
    return;
  }
  __builtin_va_start(params, fmt);
  vfprintf(stderr, fmt, params);
  __builtin_va_end(params);
  fputc('\n', stderr);
  return;
}
}
static void cache_one_alternate(struct object_id  const  *oid , void *vcache )
{
  struct alternate_object_cache *cache___0 ;
  struct object *obj ;
  struct object *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  size_t tmp___2 ;

  {
  cache___0 = (struct alternate_object_cache *)vcache;
  tmp = parse_object(the_repository, oid);
  obj = tmp;
  if (! obj) {
    return;
  } else
  if (obj->flags & (1U << 1)) {
    return;
  }
  obj->flags |= 1U << 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (cache___0->nr + 1UL > cache___0->alloc) {
      if (((cache___0->alloc + 16UL) * 3UL) / 2UL < cache___0->nr + 1UL) {
        cache___0->alloc = cache___0->nr + 1UL;
      } else {
        cache___0->alloc = ((cache___0->alloc + 16UL) * 3UL) / 2UL;
      }
      tmp___0 = st_mult(sizeof(*(cache___0->items)), cache___0->alloc);
      tmp___1 = xrealloc((void *)cache___0->items, tmp___0);
      cache___0->items = (struct object **)tmp___1;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = cache___0->nr;
  (cache___0->nr) ++;
  *(cache___0->items + tmp___2) = obj;
  return;
}
}
static int initialized___1  ;
static struct alternate_object_cache cache  ;
static void for_each_cached_alternate(struct fetch_negotiator *negotiator , void (*cb)(struct fetch_negotiator * ,
                                                                                       struct object * ) )
{
  size_t i ;

  {
  if (! initialized___1) {
    for_each_alternate_ref(& cache_one_alternate, (void *)(& cache));
    initialized___1 = 1;
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < cache.nr)) {
      goto while_break;
    }
    (*cb)(negotiator, *(cache.items + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct commit *deref_without_lazy_fetch(struct object_id  const  *oid , int mark_tags_complete )
{
  enum object_type type___0 ;
  struct object_info info___0 ;
  struct commit *commit ;
  int tmp ;
  struct tag *tag ;
  struct object *tmp___0 ;
  struct commit *commit___0 ;
  struct commit *tmp___1 ;
  int tmp___2 ;

  {
  info___0.typep = & type___0;
  info___0.sizep = (unsigned long *)0;
  info___0.disk_sizep = (off_t *)0;
  info___0.delta_base_oid = (struct object_id *)0;
  info___0.type_name = (struct strbuf *)0;
  info___0.contentp = (void **)0;
  info___0.whence = 0U;
  info___0.u.packed.pack = (struct packed_git *)0;
  info___0.u.packed.offset = 0L;
  info___0.u.packed.is_delta = 0U;
  commit = lookup_commit_in_graph(the_repository, oid);
  if (commit) {
    return (commit);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = oid_object_info_extended(the_repository, oid, & info___0, 40U);
    if (tmp) {
      return ((struct commit *)((void *)0));
    }
    if ((int )type___0 == 4) {
      tmp___0 = parse_object(the_repository, oid);
      tag = (struct tag *)tmp___0;
      if (! tag->tagged) {
        return ((struct commit *)((void *)0));
      }
      if (mark_tags_complete) {
        tag->object.flags |= 1U;
      }
      oid = (struct object_id  const  *)(& (tag->tagged)->oid);
    } else {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if ((int )type___0 == 1) {
    tmp___1 = lookup_commit(the_repository, oid);
    commit___0 = tmp___1;
    if (! commit___0) {
      return ((struct commit *)((void *)0));
    } else {
      tmp___2 = repo_parse_commit(the_repository, commit___0);
      if (tmp___2) {
        return ((struct commit *)((void *)0));
      }
    }
    return (commit___0);
  }
  return ((struct commit *)((void *)0));
}
}
static int rev_list_insert_ref(struct fetch_negotiator *negotiator , struct object_id  const  *oid )
{
  struct commit *c___0 ;
  struct commit *tmp ;

  {
  tmp = deref_without_lazy_fetch(oid, 0);
  c___0 = tmp;
  if (c___0) {
    (*(negotiator->add_tip))(negotiator, c___0);
  }
  return (0);
}
}
static int rev_list_insert_ref_oid(char const   *refname , struct object_id  const  *oid ,
                                   int flag , void *cb_data )
{
  int tmp ;

  {
  tmp = rev_list_insert_ref((struct fetch_negotiator *)cb_data, oid);
  return (tmp);
}
}
static void consume_shallow_list(struct fetch_pack_args *args___0 , struct packet_reader *reader )
{
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  enum packet_read_status tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  if (args___0->stateless_rpc) {
    if (args___0->deepen) {
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        tmp___2 = packet_reader_read(reader);
        if (! ((unsigned int )tmp___2 == 1U)) {
          goto while_break;
        }
        tmp = starts_with(reader->line, (char const   *)"shallow ");
        if (tmp) {
          goto while_continue;
        }
        tmp___0 = starts_with(reader->line, (char const   *)"unshallow ");
        if (tmp___0) {
          goto while_continue;
        }
        tmp___1 = _((char const   *)"git fetch-pack: expected shallow list");
        die((char const   *)tmp___1);
      }
      while_break: /* CIL Label */ ;
      }
      if ((unsigned int )reader->status != 2U) {
        tmp___3 = _((char const   *)"git fetch-pack: expected a flush packet after shallow list");
        die((char const   *)tmp___3);
      }
    }
  }
  return;
}
}
static enum ack_type get_ack(struct packet_reader *reader , struct object_id *result_oid )
{
  int len___0 ;
  char const   *arg ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  enum packet_read_status tmp___0 ;
  int tmp___1 ;
  char const   *p___0 ;
  char *tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;

  {
  tmp___0 = packet_reader_read(reader);
  if ((unsigned int )tmp___0 != 1U) {
    tmp = _((char const   *)"git fetch-pack: expected ACK/NAK, got a flush packet");
    die((char const   *)tmp);
  }
  len___0 = reader->pktlen;
  tmp___1 = strcmp(reader->line, (char const   *)"NAK");
  if (! tmp___1) {
    return ((enum ack_type )0);
  }
  tmp___6 = skip_prefix(reader->line, (char const   *)"ACK ", & arg);
  if (tmp___6) {
    tmp___5 = parse_oid_hex(arg, result_oid, & p___0);
    if (! tmp___5) {
      len___0 = (int )((long )len___0 - (p___0 - reader->line));
      if (len___0 < 1) {
        return ((enum ack_type )1);
      }
      tmp___2 = strstr(p___0, (char const   *)"continue");
      if (tmp___2) {
        return ((enum ack_type )2);
      }
      tmp___3 = strstr(p___0, (char const   *)"common");
      if (tmp___3) {
        return ((enum ack_type )3);
      }
      tmp___4 = strstr(p___0, (char const   *)"ready");
      if (tmp___4) {
        return ((enum ack_type )4);
      }
      return ((enum ack_type )1);
    }
  }
  tmp___7 = _((char const   *)"git fetch-pack: expected ACK/NAK, got \'%s\'");
  die((char const   *)tmp___7, reader->line);
}
}
static void send_request(struct fetch_pack_args *args___0 , int fd , struct strbuf *buf___19 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  ssize_t tmp___0 ;

  {
  if (args___0->stateless_rpc) {
    send_sideband(fd, -1, (char const   *)buf___19->buf, (ssize_t )buf___19->len,
                  65520);
    packet_flush(fd);
  } else {
    tmp___0 = write_in_full(fd, (void const   *)buf___19->buf, buf___19->len);
    if (tmp___0 < 0L) {
      tmp = _((char const   *)"unable to write to remote");
      die_errno((char const   *)tmp);
    }
  }
  return;
}
}
static void insert_one_alternate_object(struct fetch_negotiator *negotiator , struct object *obj )
{


  {
  rev_list_insert_ref(negotiator, (struct object_id  const  *)(& obj->oid));
  return;
}
}
static int next_flush(int stateless_rpc___0 , int count___0 )
{


  {
  if (stateless_rpc___0) {
    if (count___0 < 16384) {
      count___0 <<= 1;
    } else {
      count___0 = (count___0 * 11) / 10;
    }
  } else
  if (count___0 < 32) {
    count___0 <<= 1;
  } else {
    count___0 += 32;
  }
  return (count___0);
}
}
static void mark_tips(struct fetch_negotiator *negotiator , struct oid_array  const  *negotiation_tips )
{
  int i ;

  {
  if (! negotiation_tips) {
    for_each_rawref(& rev_list_insert_ref_oid, (void *)negotiator);
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < negotiation_tips->nr)) {
      goto while_break;
    }
    rev_list_insert_ref(negotiator, (struct object_id  const  *)(negotiation_tips->oid + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int find_common(struct fetch_negotiator *negotiator , struct fetch_pack_args *args___0 ,
                       int *fd , struct object_id *result_oid , struct ref *refs___0 )
{
  int fetching ;
  int count___0 ;
  int flushes ;
  int flush_at ;
  int retval ;
  struct object_id  const  *oid ;
  unsigned int in_vain ;
  int got_continue ;
  int got_ready ;
  struct strbuf req_buf ;
  size_t state_len ;
  struct packet_reader reader ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct object_id *remote ;
  char const   *remote_hex ;
  struct object *o ;
  char *tmp___0 ;
  struct strbuf c___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  timestamp_t max_age ;
  timestamp_t tmp___4 ;
  int i ;
  struct string_list_item *s___1 ;
  char const   *spec ;
  char const   *tmp___5 ;
  char const   *arg ;
  struct object_id oid___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  struct object *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  struct object *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  enum packet_read_status tmp___19 ;
  char *tmp___20 ;
  char *tmp___21 ;
  int ack___2 ;
  enum ack_type tmp___22 ;
  char *tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;
  struct commit *commit ;
  struct commit *tmp___25 ;
  int was_common ;
  char *tmp___26 ;
  char const __attribute__((__format_arg__(1)))  *tmp___27 ;
  char const   *hex___3 ;
  char *tmp___28 ;
  char const __attribute__((__format_arg__(1)))  *tmp___29 ;
  char const __attribute__((__format_arg__(1)))  *tmp___30 ;
  int ack___3 ;
  enum ack_type tmp___31 ;
  char *tmp___32 ;
  char const __attribute__((__format_arg__(1)))  *tmp___33 ;
  int tmp___34 ;

  {
  count___0 = 0;
  flushes = 0;
  flush_at = 16;
  in_vain = 0U;
  got_continue = 0;
  got_ready = 0;
  req_buf.alloc = 0UL;
  req_buf.len = 0UL;
  req_buf.buf = strbuf_slopbuf;
  state_len = (size_t )0;
  if (args___0->stateless_rpc) {
    if (multi_ack == 1) {
      tmp = _((char const   *)"the option \'%s\' requires \'%s\'");
      die((char const   *)tmp, "--stateless-rpc", "multi_ack_detailed");
    }
  }
  packet_reader_init(& reader, *(fd + 0), (char *)((void *)0), (size_t )0, (int )((1u << 1) | (1u << 2)));
  mark_tips(negotiator, args___0->negotiation_tips);
  for_each_cached_alternate(negotiator, & insert_one_alternate_object);
  fetching = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! refs___0) {
      goto while_break;
    }
    remote = & refs___0->old_oid;
    o = lookup_object(the_repository, (struct object_id  const  *)remote);
    if ((unsigned long )o != (unsigned long )((void *)0)) {
      if (o->flags & 1U) {
        goto __Cont;
      }
    }
    tmp___0 = oid_to_hex((struct object_id  const  *)remote);
    remote_hex = (char const   *)tmp___0;
    if (! fetching) {
      c___0.alloc = 0UL;
      c___0.len = 0UL;
      c___0.buf = strbuf_slopbuf;
      if (multi_ack == 2) {
        strbuf_addstr(& c___0, (char const   *)" multi_ack_detailed");
      }
      if (multi_ack == 1) {
        strbuf_addstr(& c___0, (char const   *)" multi_ack");
      }
      if (no_done) {
        strbuf_addstr(& c___0, (char const   *)" no-done");
      }
      if (use_sideband == 2) {
        strbuf_addstr(& c___0, (char const   *)" side-band-64k");
      }
      if (use_sideband == 1) {
        strbuf_addstr(& c___0, (char const   *)" side-band");
      }
      if (args___0->deepen_relative) {
        strbuf_addstr(& c___0, (char const   *)" deepen-relative");
      }
      if (args___0->use_thin_pack) {
        strbuf_addstr(& c___0, (char const   *)" thin-pack");
      }
      if (args___0->no_progress) {
        strbuf_addstr(& c___0, (char const   *)" no-progress");
      }
      if (args___0->include_tag) {
        strbuf_addstr(& c___0, (char const   *)" include-tag");
      }
      if (prefer_ofs_delta) {
        strbuf_addstr(& c___0, (char const   *)" ofs-delta");
      }
      if (deepen_since_ok) {
        strbuf_addstr(& c___0, (char const   *)" deepen-since");
      }
      if (deepen_not_ok) {
        strbuf_addstr(& c___0, (char const   *)" deepen-not");
      }
      if (agent_supported) {
        tmp___1 = git_user_agent_sanitized();
        strbuf_addf(& c___0, (char const   *)" agent=%s", tmp___1);
      }
      if (advertise_sid) {
        tmp___2 = trace2_session_id();
        strbuf_addf(& c___0, (char const   *)" session-id=%s", tmp___2);
      }
      if (args___0->filter_options.choice) {
        strbuf_addstr(& c___0, (char const   *)" filter");
      }
      packet_buf_write(& req_buf, (char const   *)"want %s%s\n", remote_hex, c___0.buf);
      strbuf_release(& c___0);
    } else {
      packet_buf_write(& req_buf, (char const   *)"want %s\n", remote_hex);
    }
    fetching ++;
    __Cont: /* CIL Label */
    refs___0 = refs___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (! fetching) {
    strbuf_release(& req_buf);
    packet_flush(*(fd + 1));
    return (1);
  }
  tmp___3 = is_repository_shallow(the_repository);
  if (tmp___3) {
    write_shallow_commits(& req_buf, 1, (struct oid_array  const  *)((void *)0));
  }
  if (args___0->depth > 0) {
    packet_buf_write(& req_buf, (char const   *)"deepen %d", args___0->depth);
  }
  if (args___0->deepen_since) {
    tmp___4 = approxidate_careful(args___0->deepen_since, (int *)((void *)0));
    max_age = tmp___4;
    packet_buf_write(& req_buf, (char const   *)"deepen-since %lu", max_age);
  }
  if (args___0->deepen_not) {
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned int )i < (args___0->deepen_not)->nr)) {
        goto while_break___0;
      }
      s___1 = (struct string_list_item *)((args___0->deepen_not)->items + i);
      packet_buf_write(& req_buf, (char const   *)"deepen-not %s", s___1->string);
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  if (server_supports_filtering) {
    if (args___0->filter_options.choice) {
      tmp___5 = expand_list_objects_filter_spec(& args___0->filter_options);
      spec = tmp___5;
      packet_buf_write(& req_buf, (char const   *)"filter %s", spec);
    }
  }
  packet_buf_flush(& req_buf);
  state_len = req_buf.len;
  if (args___0->deepen) {
    send_request(args___0, *(fd + 1), & req_buf);
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      tmp___19 = packet_reader_read(& reader);
      if (! ((unsigned int )tmp___19 == 1U)) {
        goto while_break___1;
      }
      tmp___8 = skip_prefix(reader.line, (char const   *)"shallow ", & arg);
      if (tmp___8) {
        tmp___7 = get_oid_hex(arg, & oid___0);
        if (tmp___7) {
          tmp___6 = _((char const   *)"invalid shallow line: %s");
          die((char const   *)tmp___6, reader.line);
        }
        register_shallow(the_repository, (struct object_id  const  *)(& oid___0));
        goto while_continue___1;
      }
      tmp___17 = skip_prefix(reader.line, (char const   *)"unshallow ", & arg);
      if (tmp___17) {
        tmp___10 = get_oid_hex(arg, & oid___0);
        if (tmp___10) {
          tmp___9 = _((char const   *)"invalid unshallow line: %s");
          die((char const   *)tmp___9, reader.line);
        }
        tmp___12 = lookup_object(the_repository, (struct object_id  const  *)(& oid___0));
        if (! tmp___12) {
          tmp___11 = _((char const   *)"object not found: %s");
          die((char const   *)tmp___11, reader.line);
        }
        tmp___14 = parse_object(the_repository, (struct object_id  const  *)(& oid___0));
        if (! tmp___14) {
          tmp___13 = _((char const   *)"error in object: %s");
          die((char const   *)tmp___13, reader.line);
        }
        tmp___16 = unregister_shallow((struct object_id  const  *)(& oid___0));
        if (tmp___16) {
          tmp___15 = _((char const   *)"no shallow found: %s");
          die((char const   *)tmp___15, reader.line);
        }
        goto while_continue___1;
      }
      tmp___18 = _((char const   *)"expected shallow/unshallow, got %s");
      die((char const   *)tmp___18, reader.line);
    }
    while_break___1: /* CIL Label */ ;
    }
  } else
  if (! args___0->stateless_rpc) {
    send_request(args___0, *(fd + 1), & req_buf);
  }
  if (! args___0->stateless_rpc) {
    strbuf_setlen(& req_buf, (size_t )0);
    state_len = (size_t )0;
  }
  trace2_region_enter_fl((char const   *)"fetch-pack.c", 424, (char const   *)"fetch-pack",
                         (char const   *)"negotiation_v0_v1", (struct repository  const  *)the_repository);
  flushes = 0;
  retval = -1;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    oid = (*(negotiator->next))(negotiator);
    if (! oid) {
      goto while_break___2;
    }
    tmp___20 = oid_to_hex(oid);
    packet_buf_write(& req_buf, (char const   *)"have %s\n", tmp___20);
    tmp___21 = oid_to_hex(oid);
    print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)"have %s",
                  tmp___21);
    in_vain ++;
    count___0 ++;
    if (flush_at <= count___0) {
      packet_buf_flush(& req_buf);
      send_request(args___0, *(fd + 1), & req_buf);
      strbuf_setlen(& req_buf, state_len);
      flushes ++;
      flush_at = next_flush((int )args___0->stateless_rpc, count___0);
      if (! args___0->stateless_rpc) {
        if (count___0 == 16) {
          goto while_continue___2;
        }
      }
      consume_shallow_list(args___0, & reader);
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        tmp___22 = get_ack(& reader, result_oid);
        ack___2 = (int )tmp___22;
        if (ack___2) {
          tmp___23 = oid_to_hex((struct object_id  const  *)result_oid);
          tmp___24 = _((char const   *)"got %s %d %s");
          print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___24,
                        "ack", ack___2, tmp___23);
        }
        {
        if (ack___2 == 1) {
          goto case_1;
        }
        if (ack___2 == 2) {
          goto case_2;
        }
        if (ack___2 == 4) {
          goto case_2;
        }
        if (ack___2 == 3) {
          goto case_2;
        }
        goto switch_break;
        case_1: /* CIL Label */
        flushes = 0;
        multi_ack = 0;
        retval = 0;
        goto done;
        case_2: /* CIL Label */
        case_4: /* CIL Label */
        case_3: /* CIL Label */
        tmp___25 = lookup_commit(the_repository, (struct object_id  const  *)result_oid);
        commit = tmp___25;
        if (! commit) {
          tmp___26 = oid_to_hex((struct object_id  const  *)result_oid);
          tmp___27 = _((char const   *)"invalid commit %s");
          die((char const   *)tmp___27, tmp___26);
        }
        was_common = (*(negotiator->ack))(negotiator, commit);
        if (args___0->stateless_rpc) {
          if (ack___2 == 3) {
            if (! was_common) {
              tmp___28 = oid_to_hex((struct object_id  const  *)result_oid);
              hex___3 = (char const   *)tmp___28;
              packet_buf_write(& req_buf, (char const   *)"have %s\n", hex___3);
              state_len = req_buf.len;
              in_vain = 0U;
            } else {
              goto _L___0;
            }
          } else {
            goto _L___0;
          }
        } else
        _L___0: /* CIL Label */
        _L: /* CIL Label */
        if (! args___0->stateless_rpc) {
          in_vain = 0U;
        } else
        if (ack___2 != 3) {
          in_vain = 0U;
        }
        retval = 0;
        got_continue = 1;
        if (ack___2 == 4) {
          got_ready = 1;
        }
        goto switch_break;
        switch_break: /* CIL Label */ ;
        }
        if (! ack___2) {
          goto while_break___3;
        }
      }
      while_break___3: /* CIL Label */ ;
      }
      flushes --;
      if (got_continue) {
        if (256U < in_vain) {
          tmp___29 = _((char const   *)"giving up");
          print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___29);
          goto while_break___2;
        }
      }
      if (got_ready) {
        goto while_break___2;
      }
    }
  }
  while_break___2: /* CIL Label */ ;
  }
  done:
  trace2_region_leave_fl((char const   *)"fetch-pack.c", 507, (char const   *)"fetch-pack",
                         (char const   *)"negotiation_v0_v1", (struct repository  const  *)the_repository);
  if (! got_ready) {
    packet_buf_write(& req_buf, (char const   *)"done\n");
    send_request(args___0, *(fd + 1), & req_buf);
  } else
  if (! no_done) {
    packet_buf_write(& req_buf, (char const   *)"done\n");
    send_request(args___0, *(fd + 1), & req_buf);
  }
  tmp___30 = _((char const   *)"done");
  print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___30);
  if (retval != 0) {
    multi_ack = 0;
    flushes ++;
  }
  strbuf_release(& req_buf);
  if (! got_ready) {
    consume_shallow_list(args___0, & reader);
  } else
  if (! no_done) {
    consume_shallow_list(args___0, & reader);
  }
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! flushes) {
      if (! multi_ack) {
        goto while_break___4;
      }
    }
    tmp___31 = get_ack(& reader, result_oid);
    ack___3 = (int )tmp___31;
    if (ack___3) {
      tmp___32 = oid_to_hex((struct object_id  const  *)result_oid);
      tmp___33 = _((char const   *)"got %s (%d) %s");
      print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___33,
                    "ack", ack___3, tmp___32);
      if (ack___3 == 1) {
        return (0);
      }
      multi_ack = 1;
      goto while_continue___4;
    }
    flushes --;
  }
  while_break___4: /* CIL Label */ ;
  }
  if (count___0) {
    tmp___34 = retval;
  } else {
    tmp___34 = 0;
  }
  return (tmp___34);
}
}
static struct commit_list *complete  ;
static int mark_complete(struct object_id  const  *oid )
{
  struct commit *commit ;
  struct commit *tmp ;

  {
  tmp = deref_without_lazy_fetch(oid, 1);
  commit = tmp;
  if (commit) {
    if (! (commit->object.flags & 1U)) {
      commit->object.flags |= 1U;
      commit_list_insert(commit, & complete);
    }
  }
  return (0);
}
}
static int mark_complete_oid(char const   *refname , struct object_id  const  *oid ,
                             int flag , void *cb_data )
{
  int tmp ;

  {
  tmp = mark_complete(oid);
  return (tmp);
}
}
static void mark_recent_complete_commits(struct fetch_pack_args *args___0 , timestamp_t cutoff___0 )
{
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (complete) {
      if (! (cutoff___0 <= (complete->item)->date)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = oid_to_hex((struct object_id  const  *)(& (complete->item)->object.oid));
    tmp___0 = _((char const   *)"Marking %s as complete");
    print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___0,
                  tmp);
    pop_most_recent_commit(& complete, 1U);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void add_refs_to_oidset(struct oidset *oids , struct ref *refs___0 )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! refs___0) {
      goto while_break;
    }
    oidset_insert(oids, (struct object_id  const  *)(& refs___0->old_oid));
    refs___0 = refs___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int is_unmatched_ref(struct ref  const  *ref )
{
  struct object_id oid ;
  char const   *p___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if ((unsigned int )ref->match_status == 0U) {
    tmp = parse_oid_hex((char const   *)(ref->name), & oid, & p___0);
    if (tmp) {
      tmp___1 = 0;
    } else
    if ((int const   )*p___0 == 0) {
      tmp___0 = oideq((struct object_id  const  *)(& oid), (struct object_id  const  *)(& ref->old_oid));
      if (tmp___0) {
        tmp___1 = 1;
      } else {
        tmp___1 = 0;
      }
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static void filter_refs___0(struct fetch_pack_args *args___0 , struct ref **refs___0 ,
                            struct ref **sought , int nr_sought )
{
  struct ref *newlist ;
  struct ref **newtail ;
  struct ref *unmatched ;
  struct ref *ref ;
  struct ref *next___2 ;
  struct oidset tip_oids ;
  int i ;
  int strict___1 ;
  int keep___0 ;
  int cmp___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  newlist = (struct ref *)((void *)0);
  newtail = & newlist;
  unmatched = (struct ref *)((void *)0);
  tip_oids.set.n_buckets = (khint_t )0;
  tip_oids.set.size = 0U;
  tip_oids.set.n_occupied = 0U;
  tip_oids.set.upper_bound = 0U;
  tip_oids.set.flags = (khint32_t *)0;
  tip_oids.set.keys = (struct object_id *)0;
  tip_oids.set.vals = (int *)0;
  strict___1 = ! (allow_unadvertised_object_request & 3U);
  i = 0;
  ref = *refs___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    keep___0 = 0;
    next___2 = ref->next;
    tmp___1 = starts_with((char const   *)(ref->name), (char const   *)"refs/");
    if (tmp___1) {
      tmp___2 = check_refname_format((char const   *)(ref->name), 0);
      if (tmp___2) {
        free_one_ref(ref);
        goto __Cont;
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (i < nr_sought)) {
          goto while_break___0;
        }
        tmp = strcmp((char const   *)(ref->name), (char const   *)((*(sought + i))->name));
        cmp___0 = tmp;
        if (cmp___0 < 0) {
          goto while_break___0;
        } else
        if (cmp___0 == 0) {
          keep___0 = 1;
          (*(sought + i))->match_status = (enum __anonenum_match_status_4187538 )1;
        }
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      if (! keep___0) {
        if (args___0->fetch_all) {
          if (! args___0->deepen) {
            keep___0 = 1;
          } else {
            tmp___0 = starts_with((char const   *)(ref->name), (char const   *)"refs/tags/");
            if (! tmp___0) {
              keep___0 = 1;
            }
          }
        }
      }
    }
    if (keep___0) {
      *newtail = ref;
      ref->next = (struct ref *)((void *)0);
      newtail = & ref->next;
    } else {
      ref->next = unmatched;
      unmatched = ref;
    }
    __Cont: /* CIL Label */
    ref = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  if (strict___1) {
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < nr_sought)) {
        goto while_break___1;
      }
      ref = *(sought + i);
      tmp___3 = is_unmatched_ref((struct ref  const  *)ref);
      if (! tmp___3) {
        goto __Cont___0;
      }
      add_refs_to_oidset(& tip_oids, unmatched);
      add_refs_to_oidset(& tip_oids, newlist);
      goto while_break___1;
      __Cont___0: /* CIL Label */
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < nr_sought)) {
      goto while_break___2;
    }
    ref = *(sought + i);
    tmp___4 = is_unmatched_ref((struct ref  const  *)ref);
    if (! tmp___4) {
      goto __Cont___1;
    }
    if (! strict___1) {
      ref->match_status = (enum __anonenum_match_status_4187538 )1;
      *newtail = copy_ref((struct ref  const  *)ref);
      newtail = & (*newtail)->next;
    } else {
      tmp___5 = oidset_contains((struct oidset  const  *)(& tip_oids), (struct object_id  const  *)(& ref->old_oid));
      if (tmp___5) {
        ref->match_status = (enum __anonenum_match_status_4187538 )1;
        *newtail = copy_ref((struct ref  const  *)ref);
        newtail = & (*newtail)->next;
      } else {
        ref->match_status = (enum __anonenum_match_status_4187538 )2;
      }
    }
    __Cont___1: /* CIL Label */
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  oidset_clear(& tip_oids);
  free_refs(unmatched);
  *refs___0 = newlist;
  return;
}
}
static void mark_alternate_complete(struct fetch_negotiator *unused , struct object *obj )
{


  {
  mark_complete((struct object_id  const  *)(& obj->oid));
  return;
}
}
static void mark_complete_and_common_ref(struct fetch_negotiator *negotiator , struct fetch_pack_args *args___0 ,
                                         struct ref **refs___0 )
{
  struct ref *ref ;
  int old_save_commit_buffer ;
  timestamp_t cutoff___0 ;
  struct object *o ;
  int tmp ;
  struct commit *commit ;
  struct commit *c___0 ;
  struct commit *tmp___0 ;

  {
  old_save_commit_buffer = save_commit_buffer;
  cutoff___0 = (timestamp_t )0;
  save_commit_buffer = 0;
  trace2_region_enter_fl((char const   *)"fetch-pack.c", 697, (char const   *)"fetch-pack",
                         (char const   *)"parse_remote_refs_and_find_cutoff", (struct repository  const  *)((void *)0));
  ref = *refs___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    tmp = repo_has_object_file_with_flags(the_repository, (struct object_id  const  *)(& ref->old_oid),
                                          40);
    if (! tmp) {
      goto __Cont;
    }
    o = parse_object(the_repository, (struct object_id  const  *)(& ref->old_oid));
    if (! o) {
      goto __Cont;
    }
    if (o->type == 1U) {
      commit = (struct commit *)o;
      if (! cutoff___0) {
        cutoff___0 = commit->date;
      } else
      if (cutoff___0 < commit->date) {
        cutoff___0 = commit->date;
      }
    }
    __Cont: /* CIL Label */
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  trace2_region_leave_fl((char const   *)"fetch-pack.c", 720, (char const   *)"fetch-pack",
                         (char const   *)"parse_remote_refs_and_find_cutoff", (struct repository  const  *)((void *)0));
  trace2_region_enter_fl((char const   *)"fetch-pack.c", 726, (char const   *)"fetch-pack",
                         (char const   *)"mark_complete_local_refs", (struct repository  const  *)((void *)0));
  if (! args___0->deepen) {
    for_each_rawref(& mark_complete_oid, (void *)0);
    for_each_cached_alternate((struct fetch_negotiator *)((void *)0), & mark_alternate_complete);
    commit_list_sort_by_date(& complete);
    if (cutoff___0) {
      mark_recent_complete_commits(args___0, cutoff___0);
    }
  }
  trace2_region_leave_fl((char const   *)"fetch-pack.c", 734, (char const   *)"fetch-pack",
                         (char const   *)"mark_complete_local_refs", (struct repository  const  *)((void *)0));
  trace2_region_enter_fl((char const   *)"fetch-pack.c", 740, (char const   *)"fetch-pack",
                         (char const   *)"mark_common_remote_refs", (struct repository  const  *)((void *)0));
  ref = *refs___0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ref) {
      goto while_break___0;
    }
    tmp___0 = deref_without_lazy_fetch((struct object_id  const  *)(& ref->old_oid),
                                       0);
    c___0 = tmp___0;
    if (! c___0) {
      goto __Cont___0;
    } else
    if (! (c___0->object.flags & 1U)) {
      goto __Cont___0;
    }
    (*(negotiator->known_common))(negotiator, c___0);
    __Cont___0: /* CIL Label */
    ref = ref->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  trace2_region_leave_fl((char const   *)"fetch-pack.c", 749, (char const   *)"fetch-pack",
                         (char const   *)"mark_common_remote_refs", (struct repository  const  *)((void *)0));
  save_commit_buffer = old_save_commit_buffer;
  return;
}
}
static int everything_local(struct fetch_pack_args *args___0 , struct ref **refs___0 )
{
  struct ref *ref ;
  int retval ;
  struct object_id  const  *remote ;
  struct object *o ;
  char *tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  retval = 1;
  ref = *refs___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    remote = (struct object_id  const  *)(& ref->old_oid);
    o = lookup_object(the_repository, remote);
    if (! o) {
      retval = 0;
      tmp = oid_to_hex(remote);
      print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)"want %s (%s)",
                    tmp, ref->name);
      goto __Cont;
    } else
    if (! (o->flags & 1U)) {
      retval = 0;
      tmp = oid_to_hex(remote);
      print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)"want %s (%s)",
                    tmp, ref->name);
      goto __Cont;
    }
    tmp___0 = oid_to_hex(remote);
    tmp___1 = _((char const   *)"already have %s (%s)");
    print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___1,
                  tmp___0, ref->name);
    __Cont: /* CIL Label */
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (retval);
}
}
static int sideband_demux(int in , int out , void *data )
{
  int *xd ;
  int ret___67 ;

  {
  xd = (int *)data;
  ret___67 = recv_sideband((char const   *)"fetch-pack", *(xd + 0), out);
  close(out);
  return (ret___67);
}
}
static void create_promisor_file(char const   *keep_name , struct ref **sought , int nr_sought )
{
  struct strbuf promisor_name ;
  int suffix_stripped ;

  {
  promisor_name.alloc = 0UL;
  promisor_name.len = 0UL;
  promisor_name.buf = strbuf_slopbuf;
  strbuf_addstr(& promisor_name, keep_name);
  suffix_stripped = strbuf_strip_suffix(& promisor_name, (char const   *)".keep");
  if (! suffix_stripped) {
    BUG_fl((char const   *)"fetch-pack.c", 802, (char const   *)"name of pack lockfile should end with .keep (was \'%s\')",
           keep_name);
  }
  strbuf_addstr(& promisor_name, (char const   *)".promisor");
  write_promisor_file((char const   *)promisor_name.buf, sought, nr_sought);
  strbuf_release(& promisor_name);
  return;
}
}
static void parse_gitmodules_oids(int fd , struct oidset *gitmodules_oids )
{
  int len___0 ;
  char hex_hash[65] ;
  int read_len ;
  ssize_t tmp ;
  struct object_id oid ;
  char const   *end ;
  int tmp___0 ;

  {
  len___0 = (int )((the_repository->hash_algo)->hexsz + 1UL);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = read_in_full(fd, (void *)(hex_hash), (size_t )len___0);
    read_len = (int )tmp;
    if (! read_len) {
      return;
    }
    if (read_len != len___0) {
      die((char const   *)"invalid length read %d", read_len);
    }
    tmp___0 = parse_oid_hex((char const   *)(hex_hash), & oid, & end);
    if (tmp___0) {
      die((char const   *)"invalid hash");
    } else
    if ((int const   )*end != 10) {
      die((char const   *)"invalid hash");
    }
    oidset_insert(gitmodules_oids, (struct object_id  const  *)(& oid));
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int get_pack(struct fetch_pack_args *args___0 , int *xd , struct string_list *pack_lockfiles ,
                    struct strvec *index_pack_args , struct ref **sought , int nr_sought ,
                    struct oidset *gitmodules_oids )
{
  struct async demux ;
  int do_keep ;
  char const   *cmd_name ;
  struct pack_header header___0 ;
  int pass_header ;
  struct child_process cmd ;
  int fsck_objects ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  uint32_t tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char hostname[65] ;
  int tmp___6 ;
  __pid_t tmp___7 ;
  uint32_t tmp___8 ;
  uint32_t tmp___9 ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  int is_well_formed ;
  char *pack_lockfile___0 ;
  char *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  int tmp___17 ;

  {
  do_keep = (int )args___0->keep_pack;
  pass_header = 0;
  cmd.args.v = empty_strvec;
  cmd.args.nr = 0UL;
  cmd.args.alloc = 0UL;
  cmd.env_array.v = empty_strvec;
  cmd.env_array.nr = 0UL;
  cmd.env_array.alloc = 0UL;
  cmd.pid = 0;
  cmd.trace2_child_id = 0;
  cmd.trace2_child_us_start = 0UL;
  cmd.trace2_child_class = (char const   *)0;
  cmd.trace2_hook_name = (char const   *)0;
  cmd.in = 0;
  cmd.out = 0;
  cmd.err = 0;
  cmd.dir = (char const   *)0;
  cmd.no_stdin = 0U;
  cmd.no_stdout = 0U;
  cmd.no_stderr = 0U;
  cmd.git_cmd = 0U;
  cmd.silent_exec_failure = 0U;
  cmd.use_shell = 0U;
  cmd.close_object_store = 0U;
  cmd.stdout_to_stderr = 0U;
  cmd.clean_on_exit = 0U;
  cmd.wait_after_clean = 0U;
  cmd.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cmd.clean_on_exit_handler_cbdata = (void *)0;
  fsck_objects = 0;
  memset((void *)(& demux), 0, sizeof(demux));
  if (use_sideband) {
    demux.proc = & sideband_demux;
    demux.data = (void *)xd;
    demux.out = -1;
    demux.isolate_sigpipe = 1;
    tmp___0 = start_async(& demux);
    if (tmp___0) {
      tmp = _((char const   *)"fetch-pack: unable to fork off sideband demultiplexer");
      die((char const   *)tmp);
    }
  } else {
    demux.out = *(xd + 0);
  }
  if (! args___0->keep_pack) {
    if (unpack_limit) {
      if (! index_pack_args) {
        tmp___2 = read_pack_header(demux.out, & header___0);
        if (tmp___2) {
          tmp___1 = _((char const   *)"protocol error: bad pack header");
          die((char const   *)tmp___1);
        }
        pass_header = 1;
        tmp___3 = git_bswap32(header___0.hdr_entries);
        if (tmp___3 < (uint32_t )unpack_limit) {
          do_keep = 0;
        } else {
          do_keep = 1;
        }
      }
    }
  }
  if (alternate_shallow_file) {
    strvec_push(& cmd.args, (char const   *)"--shallow-file");
    strvec_push(& cmd.args, alternate_shallow_file);
  }
  if (fetch_fsck_objects >= 0) {
    tmp___5 = fetch_fsck_objects;
  } else {
    if (transfer_fsck_objects >= 0) {
      tmp___4 = transfer_fsck_objects;
    } else {
      tmp___4 = 0;
    }
    tmp___5 = tmp___4;
  }
  if (tmp___5) {
    fsck_objects = 1;
  }
  if (do_keep) {
    goto _L___1;
  } else
  if (args___0->from_promisor) {
    goto _L___1;
  } else
  if (index_pack_args) {
    goto _L___1;
  } else
  if (fsck_objects) {
    _L___1: /* CIL Label */
    if (pack_lockfiles) {
      cmd.out = -1;
    } else
    if (fsck_objects) {
      cmd.out = -1;
    }
    cmd_name = (char const   *)"index-pack";
    strvec_push(& cmd.args, cmd_name);
    strvec_push(& cmd.args, (char const   *)"--stdin");
    if (! args___0->quiet) {
      if (! args___0->no_progress) {
        strvec_push(& cmd.args, (char const   *)"-v");
      }
    }
    if (args___0->use_thin_pack) {
      strvec_push(& cmd.args, (char const   *)"--fix-thin");
    }
    if (do_keep) {
      goto _L___0;
    } else
    if (index_pack_args) {
      _L___0: /* CIL Label */
      if (args___0->lock_pack) {
        goto _L;
      } else
      if (unpack_limit) {
        _L: /* CIL Label */
        tmp___6 = xgethostname(hostname, sizeof(hostname));
        if (tmp___6) {
          xsnprintf(hostname, sizeof(hostname), (char const   *)"localhost");
        }
        tmp___7 = getpid();
        strvec_pushf(& cmd.args, (char const   *)"--keep=fetch-pack %lu on %s", (uintmax_t )tmp___7,
                     hostname);
      }
    }
    if (! index_pack_args) {
      if (args___0->check_self_contained_and_connected) {
        strvec_push(& cmd.args, (char const   *)"--check-self-contained-and-connected");
      } else {
        args___0->check_self_contained_and_connected = 0U;
      }
    } else {
      args___0->check_self_contained_and_connected = 0U;
    }
    if (args___0->from_promisor) {
      strvec_push(& cmd.args, (char const   *)"--promisor");
    }
  } else {
    cmd_name = (char const   *)"unpack-objects";
    strvec_push(& cmd.args, cmd_name);
    if (args___0->quiet) {
      strvec_push(& cmd.args, (char const   *)"-q");
    } else
    if (args___0->no_progress) {
      strvec_push(& cmd.args, (char const   *)"-q");
    }
    args___0->check_self_contained_and_connected = 0U;
  }
  if (pass_header) {
    tmp___8 = git_bswap32(header___0.hdr_entries);
    tmp___9 = git_bswap32(header___0.hdr_version);
    strvec_pushf(& cmd.args, (char const   *)"--pack_header=%u,%u", tmp___9, tmp___8);
  }
  if (fsck_objects) {
    if (args___0->from_promisor) {
      strvec_push(& cmd.args, (char const   *)"--fsck-objects");
    } else
    if (index_pack_args) {
      strvec_push(& cmd.args, (char const   *)"--fsck-objects");
    } else {
      strvec_pushf(& cmd.args, (char const   *)"--strict%s", fsck_msg_types.buf);
    }
  }
  if (index_pack_args) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((size_t )i < cmd.args.nr)) {
        goto while_break;
      }
      strvec_push(index_pack_args, *(cmd.args.v + i));
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  sigchain_push(13, (void (*)(int  ))1);
  cmd.in = demux.out;
  cmd.git_cmd = 1U;
  tmp___11 = start_command(& cmd);
  if (tmp___11) {
    tmp___10 = _((char const   *)"fetch-pack: unable to fork off %s");
    die((char const   *)tmp___10, cmd_name);
  }
  if (do_keep) {
    if (pack_lockfiles) {
      goto _L___2;
    } else
    if (fsck_objects) {
      _L___2: /* CIL Label */
      tmp___12 = index_pack_lockfile(cmd.out, & is_well_formed);
      pack_lockfile___0 = tmp___12;
      if (! is_well_formed) {
        tmp___13 = _((char const   *)"fetch-pack: invalid index-pack output");
        die((char const   *)tmp___13);
      }
      if (pack_lockfile___0) {
        string_list_append_nodup(pack_lockfiles, pack_lockfile___0);
      }
      parse_gitmodules_oids(cmd.out, gitmodules_oids);
      close(cmd.out);
    }
  }
  if (! use_sideband) {
    *(xd + 0) = -1;
  }
  ret___67 = finish_command(& cmd);
  if (! ret___67) {
    goto _L___3;
  } else
  if (args___0->check_self_contained_and_connected) {
    if (ret___67 == 1) {
      _L___3: /* CIL Label */
      if (args___0->check_self_contained_and_connected) {
        if (ret___67 == 0) {
          tmp___14 = 1;
        } else {
          tmp___14 = 0;
        }
      } else {
        tmp___14 = 0;
      }
      args___0->self_contained_and_connected = (unsigned int )tmp___14;
    } else {
      tmp___15 = _((char const   *)"%s failed");
      die((char const   *)tmp___15, cmd_name);
    }
  } else {
    tmp___15 = _((char const   *)"%s failed");
    die((char const   *)tmp___15, cmd_name);
  }
  if (use_sideband) {
    tmp___17 = finish_async(& demux);
    if (tmp___17) {
      tmp___16 = _((char const   *)"error in sideband demultiplexer");
      die((char const   *)tmp___16);
    }
  }
  sigchain_pop(13);
  if (do_keep) {
    if (pack_lockfiles) {
      if (pack_lockfiles->nr) {
        if (args___0->from_promisor) {
          create_promisor_file((char const   *)(pack_lockfiles->items + 0)->string,
                               sought, nr_sought);
        }
      }
    }
  }
  return (0);
}
}
static int cmp_ref_by_name(void const   *a_ , void const   *b_ )
{
  struct ref  const  *a ;
  struct ref  const  *b___0 ;
  int tmp ;

  {
  a = *((struct ref  const  **)a_);
  b___0 = *((struct ref  const  **)b_);
  tmp = strcmp((char const   *)(a->name), (char const   *)(b___0->name));
  return (tmp);
}
}
static struct ref *do_fetch_pack(struct fetch_pack_args *args___0 , int *fd , struct ref  const  *orig_ref ,
                                 struct ref **sought , int nr_sought , struct shallow_info *si ,
                                 struct string_list *pack_lockfiles )
{
  struct repository *r ;
  struct ref *ref ;
  struct ref *tmp ;
  struct object_id oid ;
  char const   *agent_feature ;
  int agent_len ;
  struct fetch_negotiator negotiator_alloc ;
  struct fetch_negotiator *negotiator ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  int tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  int tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  int tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  int tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;
  int tmp___25 ;
  char const __attribute__((__format_arg__(1)))  *tmp___26 ;
  int tmp___27 ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  int tmp___29 ;
  char const __attribute__((__format_arg__(1)))  *tmp___30 ;
  char const __attribute__((__format_arg__(1)))  *tmp___31 ;
  int tmp___32 ;
  char const __attribute__((__format_arg__(1)))  *tmp___33 ;
  char const __attribute__((__format_arg__(1)))  *tmp___34 ;
  int tmp___35 ;
  char const __attribute__((__format_arg__(1)))  *tmp___36 ;
  char const __attribute__((__format_arg__(1)))  *tmp___37 ;
  int tmp___38 ;
  char const __attribute__((__format_arg__(1)))  *tmp___39 ;
  int tmp___40 ;
  int tmp___41 ;
  char const __attribute__((__format_arg__(1)))  *tmp___42 ;
  int tmp___43 ;
  char const __attribute__((__format_arg__(1)))  *tmp___44 ;
  char const __attribute__((__format_arg__(1)))  *tmp___45 ;
  int tmp___46 ;
  int tmp___47 ;

  {
  r = the_repository;
  tmp = copy_ref_list(orig_ref);
  ref = tmp;
  negotiator = & negotiator_alloc;
  fetch_negotiator_init(r, negotiator);
  sort_ref_list(& ref, & ref_compare_name);
  sane_qsort((void *)sought, (size_t )nr_sought, sizeof(*sought), & cmp_ref_by_name);
  agent_feature = server_feature_value((char const   *)"agent", & agent_len);
  if (agent_feature) {
    agent_supported = 1;
    if (agent_len) {
      tmp___0 = _((char const   *)"Server version is %.*s");
      print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___0,
                    agent_len, agent_feature);
    }
  }
  tmp___1 = server_supports((char const   *)"session-id");
  if (! tmp___1) {
    advertise_sid = 0;
  }
  tmp___5 = server_supports((char const   *)"shallow");
  if (tmp___5) {
    tmp___2 = _((char const   *)"Server supports %s");
    print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___2,
                  "shallow");
  } else
  if (args___0->depth > 0) {
    tmp___3 = _((char const   *)"Server does not support shallow clients");
    die((char const   *)tmp___3);
  } else {
    tmp___4 = is_repository_shallow(r);
    if (tmp___4) {
      tmp___3 = _((char const   *)"Server does not support shallow clients");
      die((char const   *)tmp___3);
    }
  }
  if (args___0->depth > 0) {
    args___0->deepen = 1U;
  } else
  if (args___0->deepen_since) {
    args___0->deepen = 1U;
  } else
  if (args___0->deepen_not) {
    args___0->deepen = 1U;
  }
  tmp___11 = server_supports((char const   *)"multi_ack_detailed");
  if (tmp___11) {
    tmp___6 = _((char const   *)"Server supports %s");
    print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___6,
                  "multi_ack_detailed");
    multi_ack = 2;
    tmp___8 = server_supports((char const   *)"no-done");
    if (tmp___8) {
      tmp___7 = _((char const   *)"Server supports %s");
      print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___7,
                    "no-done");
      if (args___0->stateless_rpc) {
        no_done = 1;
      }
    }
  } else {
    tmp___10 = server_supports((char const   *)"multi_ack");
    if (tmp___10) {
      tmp___9 = _((char const   *)"Server supports %s");
      print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___9,
                    "multi_ack");
      multi_ack = 1;
    }
  }
  tmp___15 = server_supports((char const   *)"side-band-64k");
  if (tmp___15) {
    tmp___12 = _((char const   *)"Server supports %s");
    print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___12,
                  "side-band-64k");
    use_sideband = 2;
  } else {
    tmp___14 = server_supports((char const   *)"side-band");
    if (tmp___14) {
      tmp___13 = _((char const   *)"Server supports %s");
      print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___13,
                    "side-band");
      use_sideband = 1;
    }
  }
  tmp___17 = server_supports((char const   *)"allow-tip-sha1-in-want");
  if (tmp___17) {
    tmp___16 = _((char const   *)"Server supports %s");
    print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___16,
                  "allow-tip-sha1-in-want");
    allow_unadvertised_object_request |= 1U;
  }
  tmp___19 = server_supports((char const   *)"allow-reachable-sha1-in-want");
  if (tmp___19) {
    tmp___18 = _((char const   *)"Server supports %s");
    print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___18,
                  "allow-reachable-sha1-in-want");
    allow_unadvertised_object_request |= 2U;
  }
  tmp___21 = server_supports((char const   *)"thin-pack");
  if (tmp___21) {
    tmp___20 = _((char const   *)"Server supports %s");
    print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___20,
                  "thin-pack");
  } else {
    args___0->use_thin_pack = 0U;
  }
  tmp___23 = server_supports((char const   *)"no-progress");
  if (tmp___23) {
    tmp___22 = _((char const   *)"Server supports %s");
    print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___22,
                  "no-progress");
  } else {
    args___0->no_progress = 0U;
  }
  tmp___25 = server_supports((char const   *)"include-tag");
  if (tmp___25) {
    tmp___24 = _((char const   *)"Server supports %s");
    print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___24,
                  "include-tag");
  } else {
    args___0->include_tag = 0U;
  }
  tmp___27 = server_supports((char const   *)"ofs-delta");
  if (tmp___27) {
    tmp___26 = _((char const   *)"Server supports %s");
    print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___26,
                  "ofs-delta");
  } else {
    prefer_ofs_delta = 0;
  }
  tmp___29 = server_supports((char const   *)"filter");
  if (tmp___29) {
    server_supports_filtering = 1;
    tmp___28 = _((char const   *)"Server supports %s");
    print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___28,
                  "filter");
  } else
  if (args___0->filter_options.choice) {
    warning((char const   *)"filtering not recognized by server, ignoring");
  }
  tmp___32 = server_supports((char const   *)"deepen-since");
  if (tmp___32) {
    tmp___30 = _((char const   *)"Server supports %s");
    print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___30,
                  "deepen-since");
    deepen_since_ok = 1;
  } else
  if (args___0->deepen_since) {
    tmp___31 = _((char const   *)"Server does not support --shallow-since");
    die((char const   *)tmp___31);
  }
  tmp___35 = server_supports((char const   *)"deepen-not");
  if (tmp___35) {
    tmp___33 = _((char const   *)"Server supports %s");
    print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___33,
                  "deepen-not");
    deepen_not_ok = 1;
  } else
  if (args___0->deepen_not) {
    tmp___34 = _((char const   *)"Server does not support --shallow-exclude");
    die((char const   *)tmp___34);
  }
  tmp___38 = server_supports((char const   *)"deepen-relative");
  if (tmp___38) {
    tmp___36 = _((char const   *)"Server supports %s");
    print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___36,
                  "deepen-relative");
  } else
  if (args___0->deepen_relative) {
    tmp___37 = _((char const   *)"Server does not support --deepen");
    die((char const   *)tmp___37);
  }
  tmp___40 = server_supports_hash((char const   *)(the_repository->hash_algo)->name,
                                  (int *)((void *)0));
  if (! tmp___40) {
    tmp___39 = _((char const   *)"Server does not support this repository\'s object format");
    die((char const   *)tmp___39);
  }
  mark_complete_and_common_ref(negotiator, args___0, & ref);
  filter_refs___0(args___0, & ref, sought, nr_sought);
  tmp___41 = everything_local(args___0, & ref);
  if (tmp___41) {
    packet_flush(*(fd + 1));
    goto all_done;
  }
  tmp___43 = find_common(negotiator, args___0, fd, & oid, ref);
  if (tmp___43 < 0) {
    if (! args___0->keep_pack) {
      tmp___42 = _((char const   *)"no common commits");
      warning((char const   *)tmp___42);
    }
  }
  if (args___0->stateless_rpc) {
    packet_flush(*(fd + 1));
  }
  if (args___0->deepen) {
    setup_alternate_shallow(& shallow_lock, & alternate_shallow_file, (struct oid_array  const  *)((void *)0));
  } else
  if (si->nr_ours) {
    goto _L;
  } else
  if (si->nr_theirs) {
    _L: /* CIL Label */
    if (args___0->reject_shallow_remote) {
      tmp___44 = _((char const   *)"source repository is shallow, reject to clone.");
      die((char const   *)tmp___44);
    }
    alternate_shallow_file = setup_temporary_shallow((struct oid_array  const  *)si->shallow);
  } else {
    alternate_shallow_file = (char const   *)((void *)0);
  }
  tmp___46 = get_pack(args___0, fd, pack_lockfiles, (struct strvec *)((void *)0),
                      sought, nr_sought, & fsck_options.gitmodules_found);
  if (tmp___46) {
    tmp___45 = _((char const   *)"git fetch-pack: fetch failed.");
    die((char const   *)tmp___45);
  }
  tmp___47 = fsck_finish(& fsck_options);
  if (tmp___47) {
    die((char const   *)"fsck failed");
  }
  all_done:
  if (negotiator) {
    (*(negotiator->release))(negotiator);
  }
  return (ref);
}
}
static void add_shallow_requests(struct strbuf *req_buf , struct fetch_pack_args  const  *args___0 )
{
  int tmp ;
  timestamp_t max_age ;
  timestamp_t tmp___0 ;
  int i ;
  struct string_list_item *s___1 ;

  {
  tmp = is_repository_shallow(the_repository);
  if (tmp) {
    write_shallow_commits(req_buf, 1, (struct oid_array  const  *)((void *)0));
  }
  if (args___0->depth > 0) {
    packet_buf_write(req_buf, (char const   *)"deepen %d", args___0->depth);
  }
  if (args___0->deepen_since) {
    tmp___0 = approxidate_careful((char const   *)args___0->deepen_since, (int *)((void *)0));
    max_age = tmp___0;
    packet_buf_write(req_buf, (char const   *)"deepen-since %lu", max_age);
  }
  if (args___0->deepen_not) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )i < (args___0->deepen_not)->nr)) {
        goto while_break;
      }
      s___1 = (struct string_list_item *)((args___0->deepen_not)->items + i);
      packet_buf_write(req_buf, (char const   *)"deepen-not %s", s___1->string);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (args___0->deepen_relative) {
    packet_buf_write(req_buf, (char const   *)"deepen-relative\n");
  }
  return;
}
}
static void add_wants(struct ref  const  *wants , struct strbuf *req_buf )
{
  int use_ref_in_want ;
  int tmp ;
  struct object_id  const  *remote ;
  struct object *o ;
  char *tmp___0 ;

  {
  tmp = server_supports_feature((char const   *)"fetch", (char const   *)"ref-in-want",
                                0);
  use_ref_in_want = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! wants) {
      goto while_break;
    }
    remote = (struct object_id  const  *)(& wants->old_oid);
    o = lookup_object(the_repository, remote);
    if ((unsigned long )o != (unsigned long )((void *)0)) {
      if (o->flags & 1U) {
        goto __Cont;
      }
    }
    if (! use_ref_in_want) {
      tmp___0 = oid_to_hex(remote);
      packet_buf_write(req_buf, (char const   *)"want %s\n", tmp___0);
    } else
    if (wants->exact_oid) {
      tmp___0 = oid_to_hex(remote);
      packet_buf_write(req_buf, (char const   *)"want %s\n", tmp___0);
    } else {
      packet_buf_write(req_buf, (char const   *)"want-ref %s\n", wants->name);
    }
    __Cont: /* CIL Label */
    wants = (struct ref  const  *)wants->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void add_common(struct strbuf *req_buf , struct oidset *common )
{
  struct oidset_iter iter___0 ;
  struct object_id  const  *oid ;
  char *tmp ;
  struct object_id *tmp___0 ;

  {
  oidset_iter_init(common, & iter___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = oidset_iter_next(& iter___0);
    oid = (struct object_id  const  *)tmp___0;
    if (! oid) {
      goto while_break;
    }
    tmp = oid_to_hex(oid);
    packet_buf_write(req_buf, (char const   *)"have %s\n", tmp);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int add_haves(struct fetch_negotiator *negotiator , struct strbuf *req_buf ,
                     int *haves_to_send )
{
  int haves_added ;
  struct object_id  const  *oid ;
  char *tmp ;

  {
  haves_added = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    oid = (*(negotiator->next))(negotiator);
    if (! oid) {
      goto while_break;
    }
    tmp = oid_to_hex(oid);
    packet_buf_write(req_buf, (char const   *)"have %s\n", tmp);
    haves_added ++;
    if (haves_added >= *haves_to_send) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  *haves_to_send = next_flush(1, *haves_to_send);
  return (haves_added);
}
}
static void write_fetch_command_and_capabilities(struct strbuf *req_buf , struct string_list  const  *server_options___1 )
{
  char const   *hash_name ;
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  int i ;
  int tmp___4 ;
  int hash_algo ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  tmp = server_supports_v2((char const   *)"fetch", 1);
  if (tmp) {
    packet_buf_write(req_buf, (char const   *)"command=fetch");
  }
  tmp___1 = server_supports_v2((char const   *)"agent", 0);
  if (tmp___1) {
    tmp___0 = git_user_agent_sanitized();
    packet_buf_write(req_buf, (char const   *)"agent=%s", tmp___0);
  }
  if (advertise_sid) {
    tmp___3 = server_supports_v2((char const   *)"session-id", 0);
    if (tmp___3) {
      tmp___2 = trace2_session_id();
      packet_buf_write(req_buf, (char const   *)"session-id=%s", tmp___2);
    }
  }
  if (server_options___1) {
    if (server_options___1->nr) {
      tmp___4 = server_supports_v2((char const   *)"server-option", 1);
      if (tmp___4) {
        i = 0;
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          if (! ((unsigned int )i < server_options___1->nr)) {
            goto while_break;
          }
          packet_buf_write(req_buf, (char const   *)"server-option=%s", (server_options___1->items + i)->string);
          i ++;
        }
        while_break: /* CIL Label */ ;
        }
      }
    }
  }
  tmp___10 = server_feature_v2((char const   *)"object-format", & hash_name);
  if (tmp___10) {
    tmp___5 = hash_algo_by_name(hash_name);
    hash_algo = tmp___5;
    tmp___7 = hash_algo_by_ptr(the_repository->hash_algo);
    if (tmp___7 != hash_algo) {
      tmp___6 = _((char const   *)"mismatched algorithms: client %s; server %s");
      die((char const   *)tmp___6, (the_repository->hash_algo)->name, hash_name);
    }
    packet_buf_write(req_buf, (char const   *)"object-format=%s", (the_repository->hash_algo)->name);
  } else {
    tmp___9 = hash_algo_by_ptr(the_repository->hash_algo);
    if (tmp___9 != 1) {
      tmp___8 = _((char const   *)"the server does not support algorithm \'%s\'");
      die((char const   *)tmp___8, (the_repository->hash_algo)->name);
    }
  }
  packet_buf_delim(req_buf);
  return;
}
}
static int send_fetch_request(struct fetch_negotiator *negotiator , int fd_out___0 ,
                              struct fetch_pack_args *args___0 , struct ref  const  *wants ,
                              struct oidset *common , int *haves_to_send , int *in_vain ,
                              int sideband_all , int seen_ack )
{
  int haves_added ;
  int done_sent ;
  struct strbuf req_buf ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *spec ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int i ;
  struct strbuf to_send ;
  char const   *s___1 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  ssize_t tmp___9 ;

  {
  done_sent = 0;
  req_buf.alloc = 0UL;
  req_buf.len = 0UL;
  req_buf.buf = strbuf_slopbuf;
  write_fetch_command_and_capabilities(& req_buf, args___0->server_options);
  if (args___0->use_thin_pack) {
    packet_buf_write(& req_buf, (char const   *)"thin-pack");
  }
  if (args___0->no_progress) {
    packet_buf_write(& req_buf, (char const   *)"no-progress");
  }
  if (args___0->include_tag) {
    packet_buf_write(& req_buf, (char const   *)"include-tag");
  }
  if (prefer_ofs_delta) {
    packet_buf_write(& req_buf, (char const   *)"ofs-delta");
  }
  if (sideband_all) {
    packet_buf_write(& req_buf, (char const   *)"sideband-all");
  }
  tmp___1 = server_supports_feature((char const   *)"fetch", (char const   *)"shallow",
                                    0);
  if (tmp___1) {
    add_shallow_requests(& req_buf, (struct fetch_pack_args  const  *)args___0);
  } else {
    tmp___0 = is_repository_shallow(the_repository);
    if (tmp___0) {
      tmp = _((char const   *)"Server does not support shallow requests");
      die((char const   *)tmp);
    } else
    if (args___0->deepen) {
      tmp = _((char const   *)"Server does not support shallow requests");
      die((char const   *)tmp);
    }
  }
  tmp___4 = server_supports_feature((char const   *)"fetch", (char const   *)"filter",
                                    0);
  if (tmp___4) {
    if (args___0->filter_options.choice) {
      tmp___2 = expand_list_objects_filter_spec(& args___0->filter_options);
      spec = tmp___2;
      tmp___3 = _((char const   *)"Server supports filter");
      print_verbose((struct fetch_pack_args  const  *)args___0, (char const   *)tmp___3);
      packet_buf_write(& req_buf, (char const   *)"filter %s", spec);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (args___0->filter_options.choice) {
    warning((char const   *)"filtering not recognized by server, ignoring");
  }
  tmp___7 = server_supports_feature((char const   *)"fetch", (char const   *)"packfile-uris",
                                    0);
  if (tmp___7) {
    to_send.alloc = 0UL;
    to_send.len = 0UL;
    to_send.buf = strbuf_slopbuf;
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )i < uri_protocols.nr)) {
        goto while_break;
      }
      s___1 = (char const   *)(uri_protocols.items + i)->string;
      tmp___5 = strcmp(s___1, (char const   *)"https");
      if (tmp___5) {
        tmp___6 = strcmp(s___1, (char const   *)"http");
        if (! tmp___6) {
          _L___0: /* CIL Label */
          if (to_send.len) {
            strbuf_addch(& to_send, ',');
          }
          strbuf_addstr(& to_send, s___1);
        }
      } else {
        goto _L___0;
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (to_send.len) {
      packet_buf_write(& req_buf, (char const   *)"packfile-uris %s", to_send.buf);
      strbuf_release(& to_send);
    }
  }
  add_wants(wants, & req_buf);
  add_common(& req_buf, common);
  haves_added = add_haves(negotiator, & req_buf, haves_to_send);
  *in_vain += haves_added;
  if (! haves_added) {
    packet_buf_write(& req_buf, (char const   *)"done\n");
    done_sent = 1;
  } else
  if (seen_ack) {
    if (*in_vain >= 256) {
      packet_buf_write(& req_buf, (char const   *)"done\n");
      done_sent = 1;
    }
  }
  packet_buf_flush(& req_buf);
  tmp___9 = write_in_full(fd_out___0, (void const   *)req_buf.buf, req_buf.len);
  if (tmp___9 < 0L) {
    tmp___8 = _((char const   *)"unable to write request to remote");
    die_errno((char const   *)tmp___8);
  }
  strbuf_release(& req_buf);
  return (done_sent);
}
}
static int process_section_header(struct packet_reader *reader , char const   *section ,
                                  int peek )
{
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  enum packet_read_status tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  tmp___0 = packet_reader_peek(reader);
  if ((unsigned int )tmp___0 != 1U) {
    tmp = _((char const   *)"error reading section header \'%s\'");
    die((char const   *)tmp, section);
  }
  tmp___1 = strcmp(reader->line, section);
  if (tmp___1) {
    tmp___2 = 0;
  } else {
    tmp___2 = 1;
  }
  ret___67 = tmp___2;
  if (! peek) {
    if (! ret___67) {
      tmp___3 = _((char const   *)"expected \'%s\', received \'%s\'");
      die((char const   *)tmp___3, section, reader->line);
    }
    packet_reader_read(reader);
  }
  return (ret___67);
}
}
static int process_ack(struct fetch_negotiator *negotiator , struct packet_reader *reader ,
                       struct object_id *common_oid , int *received_ready )
{
  char const   *arg ;
  int tmp ;
  struct commit *commit ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  enum packet_read_status tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___4 = packet_reader_read(reader);
    if (! ((unsigned int )tmp___4 == 1U)) {
      goto while_break;
    }
    tmp = strcmp(reader->line, (char const   *)"NAK");
    if (! tmp) {
      goto while_continue;
    }
    tmp___1 = skip_prefix(reader->line, (char const   *)"ACK ", & arg);
    if (tmp___1) {
      tmp___0 = get_oid_hex(arg, common_oid);
      if (! tmp___0) {
        commit = lookup_commit(the_repository, (struct object_id  const  *)common_oid);
        if (negotiator) {
          (*(negotiator->ack))(negotiator, commit);
        }
      }
      return (1);
    }
    tmp___2 = strcmp(reader->line, (char const   *)"ready");
    if (! tmp___2) {
      *received_ready = 1;
      goto while_continue;
    }
    tmp___3 = _((char const   *)"unexpected acknowledgment line: \'%s\'");
    die((char const   *)tmp___3, reader->line);
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned int )reader->status != 2U) {
    if ((unsigned int )reader->status != 3U) {
      tmp___5 = _((char const   *)"error processing acks: %d");
      die((char const   *)tmp___5, (unsigned int )reader->status);
    }
  }
  if (*received_ready) {
    if ((unsigned int )reader->status != 3U) {
      tmp___6 = _((char const   *)"expected packfile to be sent after \'ready\'");
      die((char const   *)tmp___6);
    }
  }
  if (! *received_ready) {
    if ((unsigned int )reader->status != 2U) {
      tmp___7 = _((char const   *)"expected no other sections to be sent after no \'ready\'");
      die((char const   *)tmp___7);
    }
  }
  return (0);
}
}
static void receive_shallow_info(struct fetch_pack_args *args___0 , struct packet_reader *reader ,
                                 struct oid_array *shallows , struct shallow_info *si )
{
  int unshallow_received ;
  char const   *arg ;
  struct object_id oid ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  struct object *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  struct object *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  enum packet_read_status tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;

  {
  unshallow_received = 0;
  process_section_header(reader, (char const   *)"shallow-info", 0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___12 = packet_reader_read(reader);
    if (! ((unsigned int )tmp___12 == 1U)) {
      goto while_break;
    }
    tmp___1 = skip_prefix(reader->line, (char const   *)"shallow ", & arg);
    if (tmp___1) {
      tmp___0 = get_oid_hex(arg, & oid);
      if (tmp___0) {
        tmp = _((char const   *)"invalid shallow line: %s");
        die((char const   *)tmp, reader->line);
      }
      oid_array_append(shallows, (struct object_id  const  *)(& oid));
      goto while_continue;
    }
    tmp___10 = skip_prefix(reader->line, (char const   *)"unshallow ", & arg);
    if (tmp___10) {
      tmp___3 = get_oid_hex(arg, & oid);
      if (tmp___3) {
        tmp___2 = _((char const   *)"invalid unshallow line: %s");
        die((char const   *)tmp___2, reader->line);
      }
      tmp___5 = lookup_object(the_repository, (struct object_id  const  *)(& oid));
      if (! tmp___5) {
        tmp___4 = _((char const   *)"object not found: %s");
        die((char const   *)tmp___4, reader->line);
      }
      tmp___7 = parse_object(the_repository, (struct object_id  const  *)(& oid));
      if (! tmp___7) {
        tmp___6 = _((char const   *)"error in object: %s");
        die((char const   *)tmp___6, reader->line);
      }
      tmp___9 = unregister_shallow((struct object_id  const  *)(& oid));
      if (tmp___9) {
        tmp___8 = _((char const   *)"no shallow found: %s");
        die((char const   *)tmp___8, reader->line);
      }
      unshallow_received = 1;
      goto while_continue;
    }
    tmp___11 = _((char const   *)"expected shallow/unshallow, got %s");
    die((char const   *)tmp___11, reader->line);
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned int )reader->status != 2U) {
    if ((unsigned int )reader->status != 3U) {
      tmp___13 = _((char const   *)"error processing shallow info: %d");
      die((char const   *)tmp___13, (unsigned int )reader->status);
    }
  }
  if (args___0->deepen) {
    goto _L___0;
  } else
  if (unshallow_received) {
    _L___0: /* CIL Label */
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((size_t )i < shallows->nr)) {
        goto while_break___0;
      }
      register_shallow(the_repository, (struct object_id  const  *)(shallows->oid + i));
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    setup_alternate_shallow(& shallow_lock, & alternate_shallow_file, (struct oid_array  const  *)((void *)0));
    args___0->deepen = 1U;
  } else
  if (shallows->nr) {
    prepare_shallow_info(si, shallows);
    if (si->nr_ours) {
      goto _L;
    } else
    if (si->nr_theirs) {
      _L: /* CIL Label */
      if (args___0->reject_shallow_remote) {
        tmp___14 = _((char const   *)"source repository is shallow, reject to clone.");
        die((char const   *)tmp___14);
      }
      alternate_shallow_file = setup_temporary_shallow((struct oid_array  const  *)si->shallow);
    } else {
      alternate_shallow_file = (char const   *)((void *)0);
    }
  } else {
    alternate_shallow_file = (char const   *)((void *)0);
  }
  return;
}
}
static int cmp_name_ref(void const   *name___0 , void const   *ref )
{
  int tmp ;

  {
  tmp = strcmp((char const   *)name___0, (char const   *)((*((struct ref **)ref))->name));
  return (tmp);
}
}
static void receive_wanted_refs(struct packet_reader *reader , struct ref **sought ,
                                int nr_sought )
{
  struct object_id oid ;
  char const   *end ;
  struct ref **found ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  void *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  enum packet_read_status tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  process_section_header(reader, (char const   *)"wanted-refs", 0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___4 = packet_reader_read(reader);
    if (! ((unsigned int )tmp___4 == 1U)) {
      goto while_break;
    }
    tmp___0 = parse_oid_hex(reader->line, & oid, & end);
    if (tmp___0) {
      tmp = _((char const   *)"expected wanted-ref, got \'%s\'");
      die((char const   *)tmp, reader->line);
    } else {
      tmp___1 = end;
      end ++;
      if ((int const   )*tmp___1 != 32) {
        tmp = _((char const   *)"expected wanted-ref, got \'%s\'");
        die((char const   *)tmp, reader->line);
      }
    }
    tmp___2 = bsearch((void const   *)end, (void const   *)sought, (size_t )nr_sought,
                      sizeof(*sought), & cmp_name_ref);
    found = (struct ref **)tmp___2;
    if (! found) {
      tmp___3 = _((char const   *)"unexpected wanted-ref: \'%s\'");
      die((char const   *)tmp___3, reader->line);
    }
    oidcpy(& (*found)->old_oid, (struct object_id  const  *)(& oid));
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned int )reader->status != 3U) {
    tmp___5 = _((char const   *)"error processing wanted refs: %d");
    die((char const   *)tmp___5, (unsigned int )reader->status);
  }
  return;
}
}
static void receive_packfile_uris(struct packet_reader *reader , struct string_list *uris )
{
  enum packet_read_status tmp ;

  {
  process_section_header(reader, (char const   *)"packfile-uris", 0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = packet_reader_read(reader);
    if (! ((unsigned int )tmp == 1U)) {
      goto while_break;
    }
    if ((size_t )reader->pktlen < (the_repository->hash_algo)->hexsz) {
      die((char const   *)"expected \'<hash> <uri>\', got: %s\n", reader->line);
    } else
    if ((int const   )*(reader->line + (the_repository->hash_algo)->hexsz) != 32) {
      die((char const   *)"expected \'<hash> <uri>\', got: %s\n", reader->line);
    }
    string_list_append(uris, reader->line);
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned int )reader->status != 3U) {
    die((char const   *)"expected DELIM");
  }
  return;
}
}
static void do_check_stateless_delimiter(int stateless_rpc___0 , struct packet_reader *reader )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  tmp = _((char const   *)"git fetch-pack: expected response end packet");
  check_stateless_delimiter(stateless_rpc___0, reader, (char const   *)tmp);
  return;
}
}
static struct ref *do_fetch_pack_v2(struct fetch_pack_args *args___0 , int *fd , struct ref  const  *orig_ref ,
                                    struct ref **sought , int nr_sought , struct oid_array *shallows ,
                                    struct shallow_info *si , struct string_list *pack_lockfiles )
{
  struct repository *r ;
  struct ref *ref ;
  struct ref *tmp ;
  int state___1 ;
  struct oidset common ;
  struct packet_reader reader ;
  int in_vain ;
  int negotiation_started ;
  int haves_to_send ;
  struct fetch_negotiator negotiator_alloc ;
  struct fetch_negotiator *negotiator ;
  int seen_ack ;
  struct object_id common_oid ;
  int received_ready ;
  struct string_list packfile_uris ;
  int i ;
  struct strvec index_pack_args ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  struct strvec *tmp___10 ;
  int tmp___11 ;
  int j ;
  struct child_process cmd ;
  char packname[65] ;
  char const   *uri ;
  int tmp___12 ;
  ssize_t tmp___13 ;
  int tmp___14 ;
  ssize_t tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  char *tmp___18 ;
  char *tmp___19 ;
  int tmp___20 ;

  {
  r = the_repository;
  tmp = copy_ref_list(orig_ref);
  ref = tmp;
  state___1 = (int )0;
  common.set.n_buckets = (khint_t )0;
  common.set.size = 0U;
  common.set.n_occupied = 0U;
  common.set.upper_bound = 0U;
  common.set.flags = (khint32_t *)0;
  common.set.keys = (struct object_id *)0;
  common.set.vals = (int *)0;
  in_vain = 0;
  negotiation_started = 0;
  haves_to_send = 16;
  seen_ack = 0;
  received_ready = 0;
  packfile_uris.items = (struct string_list_item *)0;
  packfile_uris.nr = 0U;
  packfile_uris.alloc = 0U;
  packfile_uris.strdup_strings = 1U;
  packfile_uris.cmp = (int (*)(char const   * , char const   * ))0;
  index_pack_args.v = empty_strvec;
  index_pack_args.nr = 0UL;
  index_pack_args.alloc = 0UL;
  negotiator = & negotiator_alloc;
  fetch_negotiator_init(r, negotiator);
  packet_reader_init(& reader, *(fd + 0), (char *)((void *)0), (size_t )0, (int )((1u << 1) | (1u << 2)));
  tmp___0 = git_env_bool((char const   *)"GIT_TEST_SIDEBAND_ALL", 1);
  if (tmp___0) {
    tmp___1 = server_supports_feature((char const   *)"fetch", (char const   *)"sideband-all",
                                      0);
    if (tmp___1) {
      reader.use_sideband = 1U;
      reader.me = (char const   *)"fetch-pack";
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )state___1 != 4U)) {
      goto while_break;
    }
    {
    if ((unsigned int )state___1 == 0U) {
      goto case_0;
    }
    if ((unsigned int )state___1 == 1U) {
      goto case_1;
    }
    if ((unsigned int )state___1 == 2U) {
      goto case_2;
    }
    if ((unsigned int )state___1 == 3U) {
      goto case_3;
    }
    if ((unsigned int )state___1 == 4U) {
      goto case_4;
    }
    goto switch_break;
    case_0: /* CIL Label */
    sort_ref_list(& ref, & ref_compare_name);
    sane_qsort((void *)sought, (size_t )nr_sought, sizeof(*sought), & cmp_ref_by_name);
    allow_unadvertised_object_request |= 2U;
    use_sideband = 2;
    if (args___0->depth > 0) {
      args___0->deepen = 1U;
    } else
    if (args___0->deepen_since) {
      args___0->deepen = 1U;
    } else
    if (args___0->deepen_not) {
      args___0->deepen = 1U;
    }
    mark_complete_and_common_ref(negotiator, args___0, & ref);
    filter_refs___0(args___0, & ref, sought, nr_sought);
    tmp___2 = everything_local(args___0, & ref);
    if (tmp___2) {
      state___1 = (int )4;
    } else {
      state___1 = (int )1;
    }
    mark_tips(negotiator, args___0->negotiation_tips);
    for_each_cached_alternate(negotiator, & insert_one_alternate_object);
    goto switch_break;
    case_1: /* CIL Label */
    if (! negotiation_started) {
      negotiation_started = 1;
      trace2_region_enter_fl((char const   *)"fetch-pack.c", 1618, (char const   *)"fetch-pack",
                             (char const   *)"negotiation_v2", (struct repository  const  *)the_repository);
    }
    tmp___3 = send_fetch_request(negotiator, *(fd + 1), args___0, (struct ref  const  *)ref,
                                 & common, & haves_to_send, & in_vain, (int )reader.use_sideband,
                                 seen_ack);
    if (tmp___3) {
      state___1 = (int )3;
    } else {
      state___1 = (int )2;
    }
    goto switch_break;
    case_2: /* CIL Label */
    process_section_header(& reader, (char const   *)"acknowledgments", 0);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___4 = process_ack(negotiator, & reader, & common_oid, & received_ready);
      if (! tmp___4) {
        goto while_break___0;
      }
      in_vain = 0;
      seen_ack = 1;
      oidset_insert(& common, (struct object_id  const  *)(& common_oid));
    }
    while_break___0: /* CIL Label */ ;
    }
    if (received_ready) {
      state___1 = (int )3;
    } else {
      do_check_stateless_delimiter((int )args___0->stateless_rpc, & reader);
      state___1 = (int )1;
    }
    goto switch_break;
    case_3: /* CIL Label */
    trace2_region_leave_fl((char const   *)"fetch-pack.c", 1652, (char const   *)"fetch-pack",
                           (char const   *)"negotiation_v2", (struct repository  const  *)the_repository);
    tmp___5 = process_section_header(& reader, (char const   *)"shallow-info", 1);
    if (tmp___5) {
      receive_shallow_info(args___0, & reader, shallows, si);
    }
    tmp___6 = process_section_header(& reader, (char const   *)"wanted-refs", 1);
    if (tmp___6) {
      receive_wanted_refs(& reader, sought, nr_sought);
    }
    tmp___7 = git_env_bool((char const   *)"GIT_TRACE_REDACT", 1);
    if (tmp___7) {
      reader.options = (int )((unsigned int )reader.options | (1u << 4));
    }
    tmp___8 = process_section_header(& reader, (char const   *)"packfile-uris", 1);
    if (tmp___8) {
      receive_packfile_uris(& reader, & packfile_uris);
    }
    reader.options = (int )((unsigned int )reader.options & ~ (1u << 4));
    process_section_header(& reader, (char const   *)"packfile", 0);
    close(*(fd + 1));
    *(fd + 1) = -1;
    if (packfile_uris.nr) {
      tmp___10 = & index_pack_args;
    } else {
      tmp___10 = (struct strvec *)((void *)0);
    }
    tmp___11 = get_pack(args___0, fd, pack_lockfiles, tmp___10, sought, nr_sought,
                        & fsck_options.gitmodules_found);
    if (tmp___11) {
      tmp___9 = _((char const   *)"git fetch-pack: fetch failed.");
      die((char const   *)tmp___9);
    }
    do_check_stateless_delimiter((int )args___0->stateless_rpc, & reader);
    state___1 = (int )4;
    goto switch_break;
    case_4: /* CIL Label */
    goto while_continue;
    switch_break: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned int )i < packfile_uris.nr)) {
      goto while_break___1;
    }
    cmd.args.v = empty_strvec;
    cmd.args.nr = 0UL;
    cmd.args.alloc = 0UL;
    cmd.env_array.v = empty_strvec;
    cmd.env_array.nr = 0UL;
    cmd.env_array.alloc = 0UL;
    cmd.pid = 0;
    cmd.trace2_child_id = 0;
    cmd.trace2_child_us_start = 0UL;
    cmd.trace2_child_class = (char const   *)0;
    cmd.trace2_hook_name = (char const   *)0;
    cmd.in = 0;
    cmd.out = 0;
    cmd.err = 0;
    cmd.dir = (char const   *)0;
    cmd.no_stdin = 0U;
    cmd.no_stdout = 0U;
    cmd.no_stderr = 0U;
    cmd.git_cmd = 0U;
    cmd.silent_exec_failure = 0U;
    cmd.use_shell = 0U;
    cmd.close_object_store = 0U;
    cmd.stdout_to_stderr = 0U;
    cmd.clean_on_exit = 0U;
    cmd.wait_after_clean = 0U;
    cmd.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    cmd.clean_on_exit_handler_cbdata = (void *)0;
    uri = (char const   *)(((packfile_uris.items + i)->string + (the_repository->hash_algo)->hexsz) + 1);
    strvec_push(& cmd.args, (char const   *)"http-fetch");
    strvec_pushf(& cmd.args, (char const   *)"--packfile=%.*s", (int )(the_repository->hash_algo)->hexsz,
                 (packfile_uris.items + i)->string);
    j = 0;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! ((size_t )j < index_pack_args.nr)) {
        goto while_break___2;
      }
      strvec_pushf(& cmd.args, (char const   *)"--index-pack-arg=%s", *(index_pack_args.v + j));
      j ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    strvec_push(& cmd.args, uri);
    cmd.git_cmd = 1U;
    cmd.no_stdin = 1U;
    cmd.out = -1;
    tmp___12 = start_command(& cmd);
    if (tmp___12) {
      die((char const   *)"fetch-pack: unable to spawn http-fetch");
    }
    tmp___13 = read_in_full(cmd.out, (void *)(packname), (size_t )5);
    if (tmp___13 < 0L) {
      die((char const   *)"fetch-pack: expected keep then TAB at start of http-fetch output");
    } else {
      tmp___14 = memcmp((void const   *)(packname), (void const   *)"keep\t", (size_t )5);
      if (tmp___14) {
        die((char const   *)"fetch-pack: expected keep then TAB at start of http-fetch output");
      }
    }
    tmp___15 = read_in_full(cmd.out, (void *)(packname), (size_t )((the_repository->hash_algo)->hexsz + 1UL));
    if (tmp___15 < 0L) {
      die((char const   *)"fetch-pack: expected hash then LF at end of http-fetch output");
    } else
    if ((int )packname[(the_repository->hash_algo)->hexsz] != 10) {
      die((char const   *)"fetch-pack: expected hash then LF at end of http-fetch output");
    }
    packname[(the_repository->hash_algo)->hexsz] = (char )'\000';
    parse_gitmodules_oids(cmd.out, & fsck_options.gitmodules_found);
    close(cmd.out);
    tmp___16 = finish_command(& cmd);
    if (tmp___16) {
      die((char const   *)"fetch-pack: unable to finish http-fetch");
    }
    tmp___17 = memcmp((void const   *)(packfile_uris.items + i)->string, (void const   *)(packname),
                      (size_t )(the_repository->hash_algo)->hexsz);
    if (tmp___17) {
      die((char const   *)"fetch-pack: pack downloaded from %s does not match expected hash %.*s",
          uri, (int )(the_repository->hash_algo)->hexsz, (packfile_uris.items + i)->string);
    }
    tmp___18 = get_object_directory();
    tmp___19 = xstrfmt((char const   *)"%s/pack/pack-%s.keep", tmp___18, packname);
    string_list_append_nodup(pack_lockfiles, tmp___19);
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  string_list_clear(& packfile_uris, 0);
  strvec_clear(& index_pack_args);
  tmp___20 = fsck_finish(& fsck_options);
  if (tmp___20) {
    die((char const   *)"fsck failed");
  }
  if (negotiator) {
    (*(negotiator->release))(negotiator);
  }
  oidset_clear(& common);
  return (ref);
}
}
static int fetch_pack_config_cb(char const   *var , char const   *value , void *cb )
{
  char const   *path___6 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp___1 = strcmp(var, (char const   *)"fetch.fsck.skiplist");
  if (tmp___1 == 0) {
    tmp = git_config_pathname(& path___6, var, value);
    if (tmp) {
      return (1);
    }
    if (fsck_msg_types.len) {
      tmp___0 = ',';
    } else {
      tmp___0 = '=';
    }
    strbuf_addf(& fsck_msg_types, (char const   *)"%cskiplist=%s", tmp___0, path___6);
    free((void *)((char *)path___6));
    return (0);
  }
  tmp___4 = skip_prefix(var, (char const   *)"fetch.fsck.", & var);
  if (tmp___4) {
    tmp___3 = is_valid_msg_type(var, value);
    if (tmp___3) {
      if (fsck_msg_types.len) {
        tmp___2 = ',';
      } else {
        tmp___2 = '=';
      }
      strbuf_addf(& fsck_msg_types, (char const   *)"%c%s=%s", tmp___2, var, value);
    } else {
      warning((char const   *)"Skipping unknown msg id \'%s\'", var);
    }
    return (0);
  }
  tmp___5 = git_default_config(var, value, cb);
  return (tmp___5);
}
}
static void fetch_pack_config(void)
{
  char *str ;
  int tmp ;

  {
  git_config_get_int((char const   *)"fetch.unpacklimit", & fetch_unpack_limit);
  git_config_get_int((char const   *)"transfer.unpacklimit", & transfer_unpack_limit);
  git_config_get_bool((char const   *)"repack.usedeltabaseoffset", & prefer_ofs_delta);
  git_config_get_bool((char const   *)"fetch.fsckobjects", & fetch_fsck_objects);
  git_config_get_bool((char const   *)"transfer.fsckobjects", & transfer_fsck_objects);
  git_config_get_bool((char const   *)"transfer.advertisesid", & advertise_sid);
  if (! uri_protocols.nr) {
    tmp = git_config_get_string((char const   *)"fetch.uriprotocols", & str);
    if (! tmp) {
      if (str) {
        string_list_split(& uri_protocols, (char const   *)str, ',', -1);
        free((void *)str);
      }
    }
  }
  git_config(& fetch_pack_config_cb, (void *)0);
  return;
}
}
static int did_setup  ;
static void fetch_pack_setup(void)
{


  {
  if (did_setup) {
    return;
  }
  fetch_pack_config();
  if (0 <= transfer_unpack_limit) {
    unpack_limit = transfer_unpack_limit;
  } else
  if (0 <= fetch_unpack_limit) {
    unpack_limit = fetch_unpack_limit;
  }
  did_setup = 1;
  return;
}
}
static int remove_duplicates_in_refs(struct ref **ref , int nr___0 )
{
  struct string_list names___0 ;
  int src ;
  int dst ;
  struct string_list_item *item___0 ;

  {
  names___0.items = (struct string_list_item *)0;
  names___0.nr = 0U;
  names___0.alloc = 0U;
  names___0.strdup_strings = 0U;
  names___0.cmp = (int (*)(char const   * , char const   * ))0;
  dst = 0;
  src = dst;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (src < nr___0)) {
      goto while_break;
    }
    item___0 = string_list_insert(& names___0, (char const   *)((*(ref + src))->name));
    if (item___0->util) {
      goto __Cont;
    }
    item___0->util = (void *)*(ref + src);
    if (src != dst) {
      *(ref + dst) = *(ref + src);
    }
    dst ++;
    __Cont: /* CIL Label */
    src ++;
  }
  while_break: /* CIL Label */ ;
  }
  src = dst;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (src < nr___0)) {
      goto while_break___0;
    }
    *(ref + src) = (struct ref *)((void *)0);
    src ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  string_list_clear(& names___0, 0);
  return (dst);
}
}
static void update_shallow(struct fetch_pack_args *args___0 , struct ref **sought ,
                           int nr_sought , struct shallow_info *si )
{
  struct oid_array ref ;
  int *status ;
  int i ;
  char const   *tmp ;
  struct oid_array extra___2 ;
  struct object_id *oid ;
  int tmp___0 ;
  struct oid_array extra___3 ;
  struct object_id *oid___0 ;
  void *tmp___1 ;

  {
  ref.oid = (struct object_id *)0;
  ref.nr = 0UL;
  ref.alloc = 0UL;
  ref.sorted = 0;
  if (args___0->deepen) {
    if (alternate_shallow_file) {
      if ((int const   )*alternate_shallow_file == 0) {
        tmp = git_path_shallow(the_repository);
        unlink_or_warn(tmp);
        rollback_shallow_file(the_repository, & shallow_lock);
      } else {
        commit_shallow_file(the_repository, & shallow_lock);
      }
      alternate_shallow_file = (char const   *)((void *)0);
      return;
    }
  }
  if (! si->shallow) {
    return;
  } else
  if (! (si->shallow)->nr) {
    return;
  }
  if (args___0->cloning) {
    extra___2.oid = (struct object_id *)0;
    extra___2.nr = 0UL;
    extra___2.alloc = 0UL;
    extra___2.sorted = 0;
    oid = (si->shallow)->oid;
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((size_t )i < (si->shallow)->nr)) {
        goto while_break;
      }
      tmp___0 = repo_has_object_file(the_repository, (struct object_id  const  *)(oid + i));
      if (tmp___0) {
        oid_array_append(& extra___2, (struct object_id  const  *)(oid + i));
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (extra___2.nr) {
      setup_alternate_shallow(& shallow_lock, & alternate_shallow_file, (struct oid_array  const  *)(& extra___2));
      commit_shallow_file(the_repository, & shallow_lock);
      alternate_shallow_file = (char const   *)((void *)0);
    }
    oid_array_clear(& extra___2);
    return;
  }
  if (! si->nr_ours) {
    if (! si->nr_theirs) {
      return;
    }
  }
  remove_nonexistent_theirs_shallow(si);
  if (! si->nr_ours) {
    if (! si->nr_theirs) {
      return;
    }
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < nr_sought)) {
      goto while_break___0;
    }
    oid_array_append(& ref, (struct object_id  const  *)(& (*(sought + i))->old_oid));
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  si->ref = & ref;
  if (args___0->update_shallow) {
    extra___3.oid = (struct object_id *)0;
    extra___3.nr = 0UL;
    extra___3.alloc = 0UL;
    extra___3.sorted = 0;
    oid___0 = (si->shallow)->oid;
    assign_shallow_commits_to_refs(si, (uint32_t **)((void *)0), (int *)((void *)0));
    if (! si->nr_ours) {
      if (! si->nr_theirs) {
        oid_array_clear(& ref);
        return;
      }
    }
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < si->nr_ours)) {
        goto while_break___1;
      }
      oid_array_append(& extra___3, (struct object_id  const  *)(oid___0 + *(si->ours + i)));
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (i < si->nr_theirs)) {
        goto while_break___2;
      }
      oid_array_append(& extra___3, (struct object_id  const  *)(oid___0 + *(si->theirs + i)));
      i ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    setup_alternate_shallow(& shallow_lock, & alternate_shallow_file, (struct oid_array  const  *)(& extra___3));
    commit_shallow_file(the_repository, & shallow_lock);
    oid_array_clear(& extra___3);
    oid_array_clear(& ref);
    alternate_shallow_file = (char const   *)((void *)0);
    return;
  }
  tmp___1 = xcalloc((size_t )nr_sought, sizeof(*status));
  status = (int *)tmp___1;
  assign_shallow_commits_to_refs(si, (uint32_t **)((void *)0), status);
  if (si->nr_ours) {
    goto _L;
  } else
  if (si->nr_theirs) {
    _L: /* CIL Label */
    i = 0;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! (i < nr_sought)) {
        goto while_break___3;
      }
      if (*(status + i)) {
        (*(sought + i))->status = (enum __anonenum_status_407753297 )8;
      }
      i ++;
    }
    while_break___3: /* CIL Label */ ;
    }
  }
  free((void *)status);
  oid_array_clear(& ref);
  return;
}
}
static struct object_id  const  *iterate_ref_map(void *cb_data )
{
  struct ref **rm___0 ;
  struct ref *ref ;

  {
  rm___0 = (struct ref **)cb_data;
  ref = *rm___0;
  if (! ref) {
    return ((struct object_id  const  *)((void *)0));
  }
  *rm___0 = ref->next;
  return ((struct object_id  const  *)(& ref->old_oid));
}
}
struct ref *fetch_pack(struct fetch_pack_args *args___0 , int *fd , struct ref  const  *ref ,
                       struct ref **sought , int nr_sought , struct oid_array *shallow ,
                       struct string_list *pack_lockfiles , enum protocol_version version___0 )
{
  struct ref *ref_cpy ;
  struct shallow_info si ;
  struct oid_array shallows_scratch ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct check_connected_options opt___0 ;
  struct ref *iterator ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  shallows_scratch.oid = (struct object_id *)0;
  shallows_scratch.nr = 0UL;
  shallows_scratch.alloc = 0UL;
  shallows_scratch.sorted = 0;
  fetch_pack_setup();
  if (nr_sought) {
    nr_sought = remove_duplicates_in_refs(sought, nr_sought);
  }
  if ((int )version___0 != 2) {
    if (! ref) {
      packet_flush(*(fd + 1));
      tmp = _((char const   *)"no matching remote head");
      die((char const   *)tmp);
    }
  }
  if ((int )version___0 == 2) {
    if (shallow->nr) {
      BUG_fl((char const   *)"fetch-pack.c", 1963, (char const   *)"Protocol V2 does not provide shallows at this point in the fetch");
    }
    memset((void *)(& si), 0, sizeof(si));
    ref_cpy = do_fetch_pack_v2(args___0, (int *)fd, ref, sought, nr_sought, & shallows_scratch,
                               & si, pack_lockfiles);
  } else {
    prepare_shallow_info(& si, shallow);
    ref_cpy = do_fetch_pack(args___0, (int *)fd, ref, sought, nr_sought, & si, pack_lockfiles);
  }
  reprepare_packed_git(the_repository);
  if (! args___0->cloning) {
    if (args___0->deepen) {
      opt___0.quiet = 0;
      opt___0.shallow_file = (char const   *)0;
      opt___0.transport = (struct transport *)0;
      opt___0.err_fd = 0;
      opt___0.progress = 0;
      opt___0.env = (char const   **)0;
      opt___0.is_deepening_fetch = 0U;
      iterator = ref_cpy;
      opt___0.shallow_file = alternate_shallow_file;
      if (args___0->deepen) {
        opt___0.is_deepening_fetch = 1U;
      }
      tmp___1 = check_connected(& iterate_ref_map, (void *)(& iterator), & opt___0);
      if (tmp___1) {
        tmp___0 = _((char const   *)"remote did not send all necessary objects");
        error((char const   *)tmp___0);
        const_error();
        free_refs(ref_cpy);
        ref_cpy = (struct ref *)((void *)0);
        rollback_shallow_file(the_repository, & shallow_lock);
        goto cleanup;
      }
      args___0->connectivity_checked = 1U;
    }
  }
  update_shallow(args___0, sought, nr_sought, & si);
  cleanup:
  clear_shallow_info(& si);
  oid_array_clear(& shallows_scratch);
  return (ref_cpy);
}
}
static int add_to_object_array(struct object_id  const  *oid , void *data )
{
  struct object_array *a ;
  struct object *tmp ;

  {
  a = (struct object_array *)data;
  tmp = lookup_object(the_repository, oid);
  add_object_array(tmp, (char const   *)"", a);
  return (0);
}
}
static void clear_common_flag(struct oidset *s___1 )
{
  struct oidset_iter iter___0 ;
  struct object_id  const  *oid ;
  struct object *obj ;
  struct object *tmp ;
  struct object_id *tmp___0 ;

  {
  oidset_iter_init(s___1, & iter___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = oidset_iter_next(& iter___0);
    oid = (struct object_id  const  *)tmp___0;
    if (! oid) {
      goto while_break;
    }
    tmp = lookup_object(the_repository, oid);
    obj = tmp;
    obj->flags &= ~ (1U << 6);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void negotiate_using_fetch(struct oid_array  const  *negotiation_tips , struct string_list  const  *server_options___1 ,
                           int stateless_rpc___0 , int *fd , struct oidset *acked_commits )
{
  struct fetch_negotiator negotiator ;
  struct packet_reader reader ;
  struct object_array nt_object_array ;
  struct strbuf req_buf ;
  int haves_to_send ;
  int in_vain ;
  int seen_ack ;
  int last_iteration ;
  timestamp_t min_generation ;
  int haves_added ;
  struct object_id common_oid ;
  int received_ready ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  ssize_t tmp___0 ;
  struct commit *commit ;
  struct commit *tmp___1 ;
  timestamp_t generation ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  nt_object_array.nr = 0U;
  nt_object_array.alloc = 0U;
  nt_object_array.objects = (struct object_array_entry *)0;
  req_buf.alloc = 0UL;
  req_buf.len = 0UL;
  req_buf.buf = strbuf_slopbuf;
  haves_to_send = 16;
  in_vain = 0;
  seen_ack = 0;
  last_iteration = 0;
  min_generation = (timestamp_t )((1ULL << 63) - 1ULL);
  fetch_negotiator_init(the_repository, & negotiator);
  mark_tips(& negotiator, negotiation_tips);
  packet_reader_init(& reader, *(fd + 0), (char *)((void *)0), (size_t )0, (int )((1u << 1) | (1u << 2)));
  oid_array_for_each((struct oid_array *)negotiation_tips, & add_to_object_array,
                     (void *)(& nt_object_array));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (! last_iteration)) {
      goto while_break;
    }
    received_ready = 0;
    strbuf_setlen(& req_buf, (size_t )0);
    write_fetch_command_and_capabilities(& req_buf, server_options___1);
    packet_buf_write(& req_buf, (char const   *)"wait-for-done");
    haves_added = add_haves(& negotiator, & req_buf, & haves_to_send);
    in_vain += haves_added;
    if (! haves_added) {
      last_iteration = 1;
    } else
    if (seen_ack) {
      if (in_vain >= 256) {
        last_iteration = 1;
      }
    }
    packet_buf_flush(& req_buf);
    tmp___0 = write_in_full(*(fd + 1), (void const   *)req_buf.buf, req_buf.len);
    if (tmp___0 < 0L) {
      tmp = _((char const   *)"unable to write request to remote");
      die_errno((char const   *)tmp);
    }
    process_section_header(& reader, (char const   *)"acknowledgments", 0);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___2 = process_ack(& negotiator, & reader, & common_oid, & received_ready);
      if (! tmp___2) {
        goto while_break___0;
      }
      tmp___1 = lookup_commit(the_repository, (struct object_id  const  *)(& common_oid));
      commit = tmp___1;
      if (commit) {
        parse_commit_or_die(commit);
        commit->object.flags |= 1U << 6;
        generation = commit_graph_generation((struct commit  const  *)commit);
        if (generation < min_generation) {
          min_generation = generation;
        }
      }
      in_vain = 0;
      seen_ack = 1;
      oidset_insert(acked_commits, (struct object_id  const  *)(& common_oid));
    }
    while_break___0: /* CIL Label */ ;
    }
    if (received_ready) {
      tmp___3 = _((char const   *)"unexpected \'ready\' from remote");
      die((char const   *)tmp___3);
    } else {
      do_check_stateless_delimiter(stateless_rpc___0, & reader);
    }
    tmp___4 = can_all_from_reach_with_flag(& nt_object_array, 1U << 6, 1U << 7, (time_t )0,
                                           min_generation);
    if (tmp___4) {
      last_iteration = 1;
    }
  }
  while_break: /* CIL Label */ ;
  }
  clear_common_flag(acked_commits);
  strbuf_release(& req_buf);
  return;
}
}
int report_unmatched_refs(struct ref **sought , int nr_sought )
{
  int i ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  ret___67 = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_sought)) {
      goto while_break;
    }
    if (! *(sought + i)) {
      goto __Cont;
    }
    {
    if ((unsigned int )(*(sought + i))->match_status == 1U) {
      goto case_1;
    }
    if ((unsigned int )(*(sought + i))->match_status == 0U) {
      goto case_0;
    }
    if ((unsigned int )(*(sought + i))->match_status == 2U) {
      goto case_2;
    }
    goto switch_break;
    case_1: /* CIL Label */
    goto __Cont;
    case_0: /* CIL Label */
    tmp = _((char const   *)"no such remote ref %s");
    error((char const   *)tmp, (*(sought + i))->name);
    const_error();
    goto switch_break;
    case_2: /* CIL Label */
    tmp___0 = _((char const   *)"Server does not allow request for unadvertised object %s");
    error((char const   *)tmp___0, (*(sought + i))->name);
    const_error();
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    ret___67 = 1;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static double const   __ac_HASH_UPPER___36  =    (double const   )0.77;
__inline static void kh_resize_oid_set___36(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___36(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___36 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___36 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___36(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___36(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___36(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___36(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___36(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___36(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___36 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___36 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___36(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___36(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___36(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___36(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___36(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___36(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___36 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___36 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___36(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___36(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___36(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___36(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___25(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___25(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___36 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___36 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___25(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___25(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___25(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___25(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_contains_cache_with_stride___4(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___4(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___4(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___4(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___4(s___1, 1U);
  return;
}
}
static void clear_contains_cache___4(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___4(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___4(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___4(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___4(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___4(struct contains_cache *s___1 ,
                                                        struct commit  const  *c___0 ,
                                                        int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___4(struct contains_cache *s___1 ,
                                                        struct commit  const  *c___0 ,
                                                        int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___4(struct contains_cache *s___1 ,
                                                   struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___4(struct contains_cache *s___1 ,
                                                   struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___4(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___4(struct contains_cache *s___1 ,
                                                     struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___4(struct contains_cache *s___1 ,
                                                     struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___4(s___1, c___0, 0);
  return (tmp);
}
}
static int use_branch_desc  ;
static int suppress_dest_pattern_seen  ;
static struct string_list suppress_dest_patterns  =    {(struct string_list_item *)0, 0U, 0U, 1U, (int (*)(char const   * , char const   * ))0};
int fmt_merge_msg_config(char const   *key___1 , char const   *value , void *cb )
{
  int status ;
  int is_bool ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  status = 0;
  tmp___4 = strcmp(key___1, (char const   *)"merge.log");
  if (tmp___4) {
    tmp___5 = strcmp(key___1, (char const   *)"merge.summary");
    if (tmp___5) {
      tmp___3 = strcmp(key___1, (char const   *)"merge.branchdesc");
      if (tmp___3) {
        tmp___2 = strcmp(key___1, (char const   *)"merge.suppressdest");
        if (tmp___2) {
          status = git_gpg_config(key___1, value, (void *)0);
          if (status) {
            return (status);
          }
          tmp___1 = git_default_config(key___1, value, cb);
          return (tmp___1);
        } else {
          if (! value) {
            config_error_nonbool(key___1);
            tmp___0 = const_error();
            return (tmp___0);
          }
          if (! *value) {
            string_list_clear(& suppress_dest_patterns, 0);
          } else {
            string_list_append(& suppress_dest_patterns, value);
          }
          suppress_dest_pattern_seen = 1;
        }
      } else {
        use_branch_desc = git_config_bool(key___1, value);
      }
    } else {
      _L: /* CIL Label */
      merge_log_config = git_config_bool_or_int(key___1, value, & is_bool);
      if (! is_bool) {
        if (merge_log_config < 0) {
          error((char const   *)"%s: negative length %s", key___1, value);
          tmp = const_error();
          return (tmp);
        }
      }
      if (is_bool) {
        if (merge_log_config) {
          merge_log_config = 20;
        }
      }
    }
  } else {
    goto _L;
  }
  return (0);
}
}
static void init_src_data(struct src_data *data )
{


  {
  data->branch.strdup_strings = 1U;
  data->tag.strdup_strings = 1U;
  data->r_branch.strdup_strings = 1U;
  data->generic.strdup_strings = 1U;
  return;
}
}
static struct string_list srcs  =    {(struct string_list_item *)0, 0U, 0U, 1U, (int (*)(char const   * , char const   * ))0};
static struct string_list origins  =    {(struct string_list_item *)0, 0U, 0U, 1U, (int (*)(char const   * , char const   * ))0};
static struct merge_parent *find_merge_parent(struct merge_parents *table , struct object_id *given ,
                                              struct object_id *commit )
{
  int i ;
  int tmp ;
  int tmp___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < table->nr)) {
      goto while_break;
    }
    if (given) {
      tmp = oideq((struct object_id  const  *)(& (table->item + i)->given), (struct object_id  const  *)given);
      if (! tmp) {
        goto __Cont;
      }
    }
    if (commit) {
      tmp___0 = oideq((struct object_id  const  *)(& (table->item + i)->commit), (struct object_id  const  *)commit);
      if (! tmp___0) {
        goto __Cont;
      }
    }
    return (table->item + i);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct merge_parent *)((void *)0));
}
}
static void add_merge_parent(struct merge_parents *table , struct object_id *given ,
                             struct object_id *commit )
{
  struct merge_parent *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  if (table->nr) {
    tmp = find_merge_parent(table, given, commit);
    if (tmp) {
      return;
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (table->nr + 1 > table->alloc) {
      if (((table->alloc + 16) * 3) / 2 < table->nr + 1) {
        table->alloc = table->nr + 1;
      } else {
        table->alloc = ((table->alloc + 16) * 3) / 2;
      }
      tmp___0 = st_mult(sizeof(*(table->item)), (size_t )table->alloc);
      tmp___1 = xrealloc((void *)table->item, tmp___0);
      table->item = (struct merge_parent *)tmp___1;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  oidcpy(& (table->item + table->nr)->given, (struct object_id  const  *)given);
  oidcpy(& (table->item + table->nr)->commit, (struct object_id  const  *)commit);
  (table->item + table->nr)->used = (unsigned char)0;
  (table->nr) ++;
  return;
}
}
static int handle_line(char *line___0 , struct merge_parents *merge_parents )
{
  int i ;
  int len___0 ;
  size_t tmp ;
  struct origin_data *origin_data ;
  char *src ;
  char const   *origin___0 ;
  char const   *tag_name ;
  char *to_free ;
  struct src_data *src_data ;
  struct string_list_item *item___0 ;
  int pulling_head ;
  struct object_id oid ;
  unsigned int hexsz ;
  int tmp___0 ;
  struct merge_parent *tmp___1 ;
  void *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int len___1 ;
  size_t tmp___6 ;
  void *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  struct string_list_item *tmp___11 ;

  {
  tmp = strlen((char const   *)line___0);
  len___0 = (int )tmp;
  to_free = (char *)((void *)0);
  pulling_head = 0;
  hexsz = (unsigned int )(the_repository->hash_algo)->hexsz;
  if ((unsigned int )len___0 < hexsz + 3U) {
    return (1);
  } else
  if ((int )*(line___0 + hexsz) != 9) {
    return (1);
  }
  tmp___0 = starts_with((char const   *)((line___0 + hexsz) + 1), (char const   *)"not-for-merge");
  if (tmp___0) {
    return (0);
  }
  if ((int )*(line___0 + (hexsz + 1U)) != 9) {
    return (2);
  }
  i = get_oid_hex((char const   *)line___0, & oid);
  if (i) {
    return (3);
  }
  tmp___1 = find_merge_parent(merge_parents, & oid, (struct object_id *)((void *)0));
  if (! tmp___1) {
    return (0);
  }
  tmp___2 = xcalloc((size_t )1, sizeof(*origin_data));
  origin_data = (struct origin_data *)tmp___2;
  oidcpy(& origin_data->oid, (struct object_id  const  *)(& oid));
  if ((int )*(line___0 + (len___0 - 1)) == 10) {
    *(line___0 + (len___0 - 1)) = (char)0;
  }
  line___0 += hexsz + 2U;
  src = strstr((char const   *)line___0, (char const   *)" of ");
  if (src) {
    *src = (char)0;
    src += 4;
    pulling_head = 0;
  } else {
    src = line___0;
    pulling_head = 1;
  }
  item___0 = unsorted_string_list_lookup(& srcs, (char const   *)src);
  if (! item___0) {
    item___0 = string_list_append(& srcs, (char const   *)src);
    item___0->util = xcalloc((size_t )1, sizeof(struct src_data ));
    init_src_data((struct src_data *)item___0->util);
  }
  src_data = (struct src_data *)item___0->util;
  if (pulling_head) {
    origin___0 = (char const   *)src;
    src_data->head_status |= 1;
  } else {
    tmp___5 = skip_prefix((char const   *)line___0, (char const   *)"branch ", & origin___0);
    if (tmp___5) {
      origin_data->is_local_branch = 1U;
      string_list_append(& src_data->branch, origin___0);
      src_data->head_status |= 2;
    } else {
      tmp___4 = skip_prefix((char const   *)line___0, (char const   *)"tag ", & tag_name);
      if (tmp___4) {
        origin___0 = (char const   *)line___0;
        string_list_append(& src_data->tag, tag_name);
        src_data->head_status |= 2;
      } else {
        tmp___3 = skip_prefix((char const   *)line___0, (char const   *)"remote-tracking branch ",
                              & origin___0);
        if (tmp___3) {
          string_list_append(& src_data->r_branch, origin___0);
          src_data->head_status |= 2;
        } else {
          origin___0 = (char const   *)src;
          string_list_append(& src_data->generic, (char const   *)line___0);
          src_data->head_status |= 2;
        }
      }
    }
  }
  tmp___8 = strcmp((char const   *)".", (char const   *)src);
  if (tmp___8) {
    tmp___9 = strcmp((char const   *)src, origin___0);
    if (tmp___9) {
      to_free = xstrfmt((char const   *)"%s of %s", origin___0, src);
      origin___0 = (char const   *)to_free;
    } else {
      _L: /* CIL Label */
      tmp___6 = strlen(origin___0);
      len___1 = (int )tmp___6;
      if ((int const   )*(origin___0 + 0) == 39) {
        if ((int const   )*(origin___0 + (len___1 - 1)) == 39) {
          tmp___7 = xmemdupz((void const   *)(origin___0 + 1), (size_t )(len___1 - 2));
          to_free = (char *)tmp___7;
          origin___0 = (char const   *)to_free;
        }
      }
    }
  } else {
    goto _L;
  }
  tmp___10 = strcmp((char const   *)".", (char const   *)src);
  if (tmp___10) {
    origin_data->is_local_branch = 0U;
  }
  tmp___11 = string_list_append(& origins, origin___0);
  tmp___11->util = (void *)origin_data;
  free((void *)to_free);
  return (0);
}
}
static void print_joined(char const   *singular , char const   *plural , struct string_list *list___3 ,
                         struct strbuf *out )
{
  int i ;
  char *tmp ;

  {
  if (list___3->nr == 0U) {
    return;
  }
  if (list___3->nr == 1U) {
    strbuf_addf(out, (char const   *)"%s%s", singular, (list___3->items + 0)->string);
  } else {
    strbuf_addstr(out, plural);
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )i < list___3->nr - 1U)) {
        goto while_break;
      }
      if (i > 0) {
        tmp = ", ";
      } else {
        tmp = "";
      }
      strbuf_addf(out, (char const   *)"%s%s", tmp, (list___3->items + i)->string);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    strbuf_addf(out, (char const   *)" and %s", (list___3->items + (list___3->nr - 1U))->string);
  }
  return;
}
}
static void add_branch_desc(struct strbuf *out , char const   *name___0 )
{
  struct strbuf desc___0 ;
  char const   *bp ;
  char const   *ep ;
  char *tmp ;
  int tmp___0 ;

  {
  desc___0.alloc = 0UL;
  desc___0.len = 0UL;
  desc___0.buf = strbuf_slopbuf;
  tmp___0 = read_branch_desc(& desc___0, name___0);
  if (! tmp___0) {
    bp = (char const   *)desc___0.buf;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! *bp) {
        goto while_break;
      }
      tmp = strchrnul(bp, '\n');
      ep = (char const   *)tmp;
      if (*ep) {
        ep ++;
      }
      strbuf_addf(out, (char const   *)"  : %.*s", (int )(ep - bp), bp);
      bp = ep;
    }
    while_break: /* CIL Label */ ;
    }
    strbuf_complete_line(out);
  }
  strbuf_release(& desc___0);
  return;
}
}
static void record_person_from_buf(int which , struct string_list *people , char const   *buffer___5 )
{
  char *name_buf ;
  char *name___0 ;
  char *name_end ;
  struct string_list_item *elem ;
  char const   *field ;
  size_t tmp ;
  void *tmp___0 ;

  {
  if (which == 97) {
    field = (char const   *)"\nauthor ";
  } else {
    field = (char const   *)"\ncommitter ";
  }
  name___0 = strstr(buffer___5, field);
  if (! name___0) {
    return;
  }
  tmp = strlen(field);
  name___0 += tmp;
  name_end = strchrnul((char const   *)name___0, '<');
  if (*name_end) {
    name_end --;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (((int const   )sane_ctype[(unsigned char )*name_end] & 1) != 0) {
      if (! ((unsigned long )name___0 <= (unsigned long )name_end)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    name_end --;
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned long )name_end < (unsigned long )name___0) {
    return;
  }
  tmp___0 = xmemdupz((void const   *)name___0, (size_t )((name_end - name___0) + 1L));
  name_buf = (char *)tmp___0;
  elem = string_list_lookup(people, (char const   *)name_buf);
  if (! elem) {
    elem = string_list_insert(people, (char const   *)name_buf);
    elem->util = (void *)0;
  }
  elem->util = (void *)((intptr_t )elem->util + 1L);
  free((void *)name_buf);
  return;
}
}
static void record_person(int which , struct string_list *people , struct commit *commit )
{
  char const   *buffer___5 ;
  void const   *tmp ;

  {
  tmp = repo_get_commit_buffer(the_repository, (struct commit  const  *)commit, (unsigned long *)((void *)0));
  buffer___5 = (char const   *)tmp;
  record_person_from_buf(which, people, buffer___5);
  repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit, (void const   *)buffer___5);
  return;
}
}
static int cmp_string_list_util_as_integral(void const   *a_ , void const   *b_ )
{
  struct string_list_item  const  *a ;
  struct string_list_item  const  *b___0 ;

  {
  a = (struct string_list_item  const  *)a_;
  b___0 = (struct string_list_item  const  *)b_;
  return ((int )((intptr_t )b___0->util - (intptr_t )a->util));
}
}
static void add_people_count(struct strbuf *out , struct string_list *people )
{


  {
  if (people->nr == 1U) {
    strbuf_addstr(out, (char const   *)(people->items + 0)->string);
  } else
  if (people->nr == 2U) {
    strbuf_addf(out, (char const   *)"%s (%d) and %s (%d)", (people->items + 0)->string,
                (int )((intptr_t )(people->items + 0)->util), (people->items + 1)->string,
                (int )((intptr_t )(people->items + 1)->util));
  } else
  if (people->nr) {
    strbuf_addf(out, (char const   *)"%s (%d) and others", (people->items + 0)->string,
                (int )((intptr_t )(people->items + 0)->util));
  }
  return;
}
}
static void credit_people(struct strbuf *out , struct string_list *them , int kind )
{
  char const   *label ;
  char const   *me ;
  int tmp ;
  int tmp___0 ;

  {
  if (kind == 97) {
    label = (char const   *)"By";
    me = git_author_info(2);
  } else {
    label = (char const   *)"Via";
    me = git_committer_info(2);
  }
  if (! them->nr) {
    return;
  } else
  if (them->nr == 1U) {
    if (me) {
      tmp = skip_prefix(me, (char const   *)(them->items)->string, & me);
      if (tmp) {
        tmp___0 = starts_with(me, (char const   *)" <");
        if (tmp___0) {
          return;
        }
      }
    }
  }
  strbuf_addf(out, (char const   *)"\n%c %s ", (int )comment_line_char, label);
  add_people_count(out, them);
  return;
}
}
static void add_people_info(struct strbuf *out , struct string_list *authors , struct string_list *committers )
{


  {
  sane_qsort((void *)authors->items, (size_t )authors->nr, sizeof(*(authors->items)),
             & cmp_string_list_util_as_integral);
  sane_qsort((void *)committers->items, (size_t )committers->nr, sizeof(*(committers->items)),
             & cmp_string_list_util_as_integral);
  credit_people(out, authors, 'a');
  credit_people(out, committers, 'c');
  return;
}
}
static void shortlog(char const   *name___0 , struct origin_data *origin_data , struct commit *head___1 ,
                     struct rev_info *rev , struct fmt_merge_msg_opts *opts___1 ,
                     struct strbuf *out )
{
  int i ;
  int count___0 ;
  struct commit *commit ;
  struct object *branch___0 ;
  struct string_list subjects ;
  struct string_list authors ;
  struct string_list committers ;
  int flags___0 ;
  struct strbuf sb___6 ;
  struct object_id  const  *oid ;
  int limit___1 ;
  char *tmp ;
  struct object *tmp___0 ;
  int tmp___1 ;
  struct pretty_print_context ctx___0 ;
  char *tmp___2 ;
  char *tmp___3 ;

  {
  count___0 = 0;
  subjects.items = (struct string_list_item *)0;
  subjects.nr = 0U;
  subjects.alloc = 0U;
  subjects.strdup_strings = 1U;
  subjects.cmp = (int (*)(char const   * , char const   * ))0;
  authors.items = (struct string_list_item *)0;
  authors.nr = 0U;
  authors.alloc = 0U;
  authors.strdup_strings = 1U;
  authors.cmp = (int (*)(char const   * , char const   * ))0;
  committers.items = (struct string_list_item *)0;
  committers.nr = 0U;
  committers.alloc = 0U;
  committers.strdup_strings = 1U;
  committers.cmp = (int (*)(char const   * , char const   * ))0;
  flags___0 = (int )(((((1u << 1) | (1u << 2)) | 1u) | (1u << 3)) | (1u << 7));
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  oid = (struct object_id  const  *)(& origin_data->oid);
  limit___1 = opts___1->shortlog_len;
  tmp = oid_to_hex(oid);
  tmp___0 = parse_object(the_repository, oid);
  branch___0 = deref_tag(the_repository, tmp___0, (char const   *)tmp, (int )(the_repository->hash_algo)->hexsz);
  if (! branch___0) {
    return;
  } else
  if (branch___0->type != 1U) {
    return;
  }
  setup_revisions(0, (char const   **)((void *)0), rev, (struct setup_revision_opt *)((void *)0));
  add_pending_object(rev, branch___0, name___0);
  add_pending_object(rev, & head___1->object, (char const   *)"^HEAD");
  head___1->object.flags |= 1u << 1;
  tmp___1 = prepare_revision_walk(rev);
  if (tmp___1) {
    die((char const   *)"revision walk setup failed");
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    commit = get_revision(rev);
    if (! ((unsigned long )commit != (unsigned long )((void *)0))) {
      goto while_break;
    }
    ctx___0.fmt = (enum cmit_fmt )0;
    ctx___0.abbrev = 0;
    ctx___0.after_subject = (char const   *)0;
    ctx___0.preserve_subject = 0;
    ctx___0.date_mode.type = 0U;
    ctx___0.date_mode.strftime_fmt = (char const   *)0;
    ctx___0.date_mode.local = 0;
    ctx___0.date_mode_explicit = 0U;
    ctx___0.print_email_subject = 0;
    ctx___0.expand_tabs_in_log = 0;
    ctx___0.need_8bit_cte = 0;
    ctx___0.notes_message = (char *)0;
    ctx___0.reflog_info = (struct reflog_walk_info *)0;
    ctx___0.rev = (struct rev_info *)0;
    ctx___0.output_encoding = (char const   *)0;
    ctx___0.mailmap = (struct string_list *)0;
    ctx___0.color = 0;
    ctx___0.from_ident = (struct ident_split *)0;
    ctx___0.encode_email_headers = 0U;
    ctx___0.describe_status = (struct pretty_print_describe_status *)0;
    ctx___0.in_body_headers.items = (struct string_list_item *)0;
    ctx___0.in_body_headers.nr = 0U;
    ctx___0.in_body_headers.alloc = 0U;
    ctx___0.in_body_headers.strdup_strings = 0U;
    ctx___0.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
    ctx___0.graph_width = 0;
    if (commit->parents) {
      if ((commit->parents)->next) {
        if (opts___1->credit_people) {
          record_person('c', & committers, commit);
        }
        goto while_continue;
      }
    }
    if (! count___0) {
      if (opts___1->credit_people) {
        record_person('c', & committers, commit);
      }
    }
    if (opts___1->credit_people) {
      record_person('a', & authors, commit);
    }
    count___0 ++;
    if (subjects.nr > (unsigned int )limit___1) {
      goto while_continue;
    }
    repo_format_commit_message(the_repository, (struct commit  const  *)commit, (char const   *)"%s",
                               & sb___6, (struct pretty_print_context  const  *)(& ctx___0));
    strbuf_ltrim(& sb___6);
    if (! sb___6.len) {
      tmp___2 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
      string_list_append(& subjects, (char const   *)tmp___2);
    } else {
      tmp___3 = strbuf_detach(& sb___6, (size_t *)((void *)0));
      string_list_append_nodup(& subjects, tmp___3);
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (opts___1->credit_people) {
    add_people_info(out, & authors, & committers);
  }
  if (count___0 > limit___1) {
    strbuf_addf(out, (char const   *)"\n* %s: (%d commits)\n", name___0, count___0);
  } else {
    strbuf_addf(out, (char const   *)"\n* %s:\n", name___0);
  }
  if (origin_data->is_local_branch) {
    if (use_branch_desc) {
      add_branch_desc(out, name___0);
    }
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < subjects.nr)) {
      goto while_break___0;
    }
    if (i >= limit___1) {
      strbuf_addstr(out, (char const   *)"  ...\n");
    } else {
      strbuf_addf(out, (char const   *)"  %s\n", (subjects.items + i)->string);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  clear_commit_marks((struct commit *)branch___0, (unsigned int )flags___0);
  clear_commit_marks(head___1, (unsigned int )flags___0);
  free_commit_list(rev->commits);
  rev->commits = (struct commit_list *)((void *)0);
  rev->pending.nr = 0U;
  string_list_clear(& authors, 0);
  string_list_clear(& committers, 0);
  string_list_clear(& subjects, 0);
  return;
}
}
static int dest_suppressed(char const   *dest_branch )
{
  struct string_list_item *item___0 ;
  int tmp ;

  {
  item___0 = suppress_dest_patterns.items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(suppress_dest_patterns.items + suppress_dest_patterns.nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = wildmatch((char const   *)item___0->string, dest_branch, 2U);
    if (! tmp) {
      return (1);
    }
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void fmt_merge_msg_title(struct strbuf *out , char const   *current_branch )
{
  int i ;
  char *sep ;
  struct src_data *src_data ;
  char const   *subsep ;
  int tmp ;
  int tmp___0 ;

  {
  i = 0;
  sep = "";
  strbuf_addstr(out, (char const   *)"Merge ");
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < srcs.nr)) {
      goto while_break;
    }
    src_data = (struct src_data *)(srcs.items + i)->util;
    subsep = (char const   *)"";
    strbuf_addstr(out, (char const   *)sep);
    sep = "; ";
    if (src_data->head_status == 1) {
      strbuf_addstr(out, (char const   *)(srcs.items + i)->string);
      goto __Cont;
    }
    if (src_data->head_status == 3) {
      subsep = (char const   *)", ";
      strbuf_addstr(out, (char const   *)"HEAD");
    }
    if (src_data->branch.nr) {
      strbuf_addstr(out, subsep);
      subsep = (char const   *)", ";
      print_joined((char const   *)"branch ", (char const   *)"branches ", & src_data->branch,
                   out);
    }
    if (src_data->r_branch.nr) {
      strbuf_addstr(out, subsep);
      subsep = (char const   *)", ";
      print_joined((char const   *)"remote-tracking branch ", (char const   *)"remote-tracking branches ",
                   & src_data->r_branch, out);
    }
    if (src_data->tag.nr) {
      strbuf_addstr(out, subsep);
      subsep = (char const   *)", ";
      print_joined((char const   *)"tag ", (char const   *)"tags ", & src_data->tag,
                   out);
    }
    if (src_data->generic.nr) {
      strbuf_addstr(out, subsep);
      print_joined((char const   *)"commit ", (char const   *)"commits ", & src_data->generic,
                   out);
    }
    tmp = strcmp((char const   *)".", (char const   *)(srcs.items + i)->string);
    if (tmp) {
      strbuf_addf(out, (char const   *)" of %s", (srcs.items + i)->string);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = dest_suppressed(current_branch);
  if (! tmp___0) {
    strbuf_addf(out, (char const   *)" into %s", current_branch);
  }
  strbuf_addch(out, '\n');
  return;
}
}
static void fmt_tag_signature(struct strbuf *tagbuf , struct strbuf *sig , char const   *buf___19 ,
                              unsigned long len___0 )
{
  char const   *tag_body ;
  char *tmp ;

  {
  tmp = strstr(buf___19, (char const   *)"\n\n");
  tag_body = (char const   *)tmp;
  if (tag_body) {
    tag_body += 2;
    strbuf_add(tagbuf, (void const   *)tag_body, (size_t )((buf___19 + len___0) - tag_body));
  }
  strbuf_complete_line(tagbuf);
  if (sig->len) {
    strbuf_addch(tagbuf, '\n');
    strbuf_add_commented_lines(tagbuf, (char const   *)sig->buf, sig->len);
  }
  return;
}
}
static void fmt_merge_msg_sigs(struct strbuf *out )
{
  int i ;
  int tag_number ;
  int first_tag___0 ;
  struct strbuf tagbuf ;
  struct object_id *oid ;
  enum object_type type___0 ;
  unsigned long size ;
  char *buf___19 ;
  void *tmp ;
  char *origbuf ;
  unsigned long len___0 ;
  struct signature_check sigc ;
  struct strbuf payload ;
  struct strbuf sig ;
  int tmp___0 ;
  int tmp___1 ;
  struct strbuf tagline ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  int tmp___4 ;

  {
  tag_number = 0;
  first_tag___0 = 0;
  tagbuf.alloc = 0UL;
  tagbuf.len = 0UL;
  tagbuf.buf = strbuf_slopbuf;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < origins.nr)) {
      goto while_break;
    }
    oid = (struct object_id *)(origins.items + i)->util;
    tmp = repo_read_object_file(the_repository, (struct object_id  const  *)oid, & type___0,
                                & size);
    buf___19 = (char *)tmp;
    origbuf = buf___19;
    len___0 = size;
    sigc.payload = (char *)((void *)0);
    sigc.payload_len = 0UL;
    sigc.payload_type = 0U;
    sigc.payload_timestamp = 0UL;
    sigc.output = (char *)0;
    sigc.gpg_status = (char *)0;
    sigc.result = (char)0;
    sigc.signer = (char *)0;
    sigc.key = (char *)0;
    sigc.fingerprint = (char *)0;
    sigc.primary_key_fingerprint = (char *)0;
    sigc.trust_level = 0U;
    payload.alloc = 0UL;
    payload.len = 0UL;
    payload.buf = strbuf_slopbuf;
    sig.alloc = 0UL;
    sig.len = 0UL;
    sig.buf = strbuf_slopbuf;
    if (! buf___19) {
      goto next;
    } else
    if ((int )type___0 != 4) {
      goto next;
    }
    tmp___1 = parse_signature((char const   *)buf___19, size, & payload, & sig);
    if (tmp___1) {
      buf___19 = payload.buf;
      len___0 = payload.len;
      sigc.payload_type = (enum payload_type )2;
      sigc.payload = strbuf_detach(& payload, & sigc.payload_len);
      tmp___0 = check_signature(& sigc, (char const   *)sig.buf, sig.len);
      if (tmp___0) {
        if (! sigc.output) {
          strbuf_addstr(& sig, (char const   *)"gpg verification failed.\n");
        } else {
          strbuf_addstr(& sig, (char const   *)sigc.output);
        }
      } else {
        strbuf_addstr(& sig, (char const   *)sigc.output);
      }
    }
    tmp___4 = tag_number;
    tag_number ++;
    if (tmp___4) {
      if (tag_number == 2) {
        tagline.alloc = 0UL;
        tagline.len = 0UL;
        tagline.buf = strbuf_slopbuf;
        strbuf_addch(& tagline, '\n');
        tmp___2 = strlen((char const   *)(origins.items + first_tag___0)->string);
        strbuf_add_commented_lines(& tagline, (char const   *)(origins.items + first_tag___0)->string,
                                   tmp___2);
        strbuf_insert(& tagbuf, (size_t )0, (void const   *)tagline.buf, tagline.len);
        strbuf_release(& tagline);
      }
      strbuf_addch(& tagbuf, '\n');
      tmp___3 = strlen((char const   *)(origins.items + i)->string);
      strbuf_add_commented_lines(& tagbuf, (char const   *)(origins.items + i)->string,
                                 tmp___3);
      fmt_tag_signature(& tagbuf, & sig, (char const   *)buf___19, len___0);
    } else {
      fmt_tag_signature(& tagbuf, & sig, (char const   *)buf___19, len___0);
      first_tag___0 = i;
    }
    strbuf_release(& payload);
    strbuf_release(& sig);
    signature_check_clear(& sigc);
    next:
    free((void *)origbuf);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (tagbuf.len) {
    strbuf_addch(out, '\n');
    strbuf_addbuf(out, (struct strbuf  const  *)(& tagbuf));
  }
  strbuf_release(& tagbuf);
  return;
}
}
static void find_merge_parents(struct merge_parents *result___0 , struct strbuf *in ,
                               struct object_id *head___1 )
{
  struct commit_list *parents ;
  struct commit *head_commit ;
  int pos ;
  int i ;
  int j ;
  int len___0 ;
  char *p___0 ;
  char *newline ;
  char *tmp ;
  char const   *q ;
  struct object_id oid ;
  struct commit *parent ;
  struct object *obj ;
  size_t tmp___0 ;
  int tmp___1 ;
  struct object *tmp___2 ;
  struct commit *cmit ;
  struct commit *tmp___3 ;
  int tmp___4 ;

  {
  pos = 0;
  parents = (struct commit_list *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )pos < in->len)) {
      goto while_break;
    }
    p___0 = in->buf + pos;
    tmp = strchr((char const   *)p___0, '\n');
    newline = tmp;
    if (newline) {
      len___0 = (int )(newline - p___0);
    } else {
      tmp___0 = strlen((char const   *)p___0);
      len___0 = (int )tmp___0;
    }
    pos += len___0 + ! (! newline);
    tmp___1 = parse_oid_hex((char const   *)p___0, & oid, & q);
    if (tmp___1) {
      goto while_continue;
    } else
    if ((int const   )*(q + 0) != 9) {
      goto while_continue;
    } else
    if ((int const   )*(q + 1) != 9) {
      goto while_continue;
    }
    obj = parse_object(the_repository, (struct object_id  const  *)(& oid));
    tmp___2 = repo_peel_to_type(the_repository, (char const   *)((void *)0), 0, obj,
                                (enum object_type )1);
    parent = (struct commit *)tmp___2;
    if (! parent) {
      goto while_continue;
    }
    commit_list_insert(parent, & parents);
    add_merge_parent(result___0, & obj->oid, & parent->object.oid);
  }
  while_break: /* CIL Label */ ;
  }
  head_commit = lookup_commit(the_repository, (struct object_id  const  *)head___1);
  if (head_commit) {
    commit_list_insert(head_commit, & parents);
  }
  reduce_heads_replace(& parents);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! parents) {
      goto while_break___0;
    }
    tmp___3 = pop_commit(& parents);
    cmit = tmp___3;
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < result___0->nr)) {
        goto while_break___1;
      }
      tmp___4 = oideq((struct object_id  const  *)(& (result___0->item + i)->commit),
                      (struct object_id  const  *)(& cmit->object.oid));
      if (tmp___4) {
        (result___0->item + i)->used = (unsigned char)1;
      }
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  j = 0;
  i = j;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < result___0->nr)) {
      goto while_break___2;
    }
    if ((result___0->item + i)->used) {
      if (i != j) {
        *(result___0->item + j) = *(result___0->item + i);
      }
      j ++;
    }
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  result___0->nr = j;
  return;
}
}
int fmt_merge_msg(struct strbuf *in , struct strbuf *out , struct fmt_merge_msg_opts *opts___1 )
{
  int i ;
  int pos ;
  struct object_id head_oid___1 ;
  char const   *current_branch ;
  void *current_branch_to_free ;
  struct merge_parents merge_parents ;
  char *tmp ;
  int tmp___0 ;
  int len___0 ;
  char *newline ;
  char *p___0 ;
  size_t tmp___1 ;
  int tmp___2 ;
  struct commit *head___1 ;
  struct rev_info rev ;

  {
  i = 0;
  pos = 0;
  if (! suppress_dest_pattern_seen) {
    string_list_append(& suppress_dest_patterns, (char const   *)"main");
    string_list_append(& suppress_dest_patterns, (char const   *)"master");
  }
  memset((void *)(& merge_parents), 0, sizeof(merge_parents));
  tmp = resolve_refdup((char const   *)"HEAD", 0x01, & head_oid___1, (int *)((void *)0));
  current_branch_to_free = (void *)tmp;
  current_branch = (char const   *)current_branch_to_free;
  if (! current_branch) {
    die((char const   *)"No current branch");
  }
  if (opts___1->into_name) {
    current_branch = opts___1->into_name;
  } else {
    tmp___0 = starts_with(current_branch, (char const   *)"refs/heads/");
    if (tmp___0) {
      current_branch += 11;
    }
  }
  find_merge_parents(& merge_parents, in, & head_oid___1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )pos < in->len)) {
      goto while_break;
    }
    p___0 = in->buf + pos;
    newline = strchr((char const   *)p___0, '\n');
    if (newline) {
      len___0 = (int )(newline - p___0);
    } else {
      tmp___1 = strlen((char const   *)p___0);
      len___0 = (int )tmp___1;
    }
    pos += len___0 + ! (! newline);
    i ++;
    *(p___0 + len___0) = (char)0;
    tmp___2 = handle_line(p___0, & merge_parents);
    if (tmp___2) {
      die((char const   *)"error in line %d: %.*s", i, len___0, p___0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (opts___1->add_title) {
    if (srcs.nr) {
      fmt_merge_msg_title(out, current_branch);
    }
  }
  if (origins.nr) {
    fmt_merge_msg_sigs(out);
  }
  if (opts___1->shortlog_len) {
    head___1 = lookup_commit_or_die((struct object_id  const  *)(& head_oid___1),
                                    (char const   *)"HEAD");
    repo_init_revisions(the_repository, & rev, (char const   *)((void *)0));
    rev.commit_format = (enum cmit_fmt )5;
    diff_merges_suppress(& rev);
    rev.limited = 1U;
    strbuf_complete_line(out);
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned int )i < origins.nr)) {
        goto while_break___0;
      }
      shortlog((char const   *)(origins.items + i)->string, (struct origin_data *)(origins.items + i)->util,
               head___1, & rev, opts___1, out);
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  strbuf_complete_line(out);
  free(current_branch_to_free);
  free((void *)merge_parents.item);
  return (0);
}
}
static double const   __ac_HASH_UPPER___37  =    (double const   )0.77;
__inline static void kh_resize_oid_set___37(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___37(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___37 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___37 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___37(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___37(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___37(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___37(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___37(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___37(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___37 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___37 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___37(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___37(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___37(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___37(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___37(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___37(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___37 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___37 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___37(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___37(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___37(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___37(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___26(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___26(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___37 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___37 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___26(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___26(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___26(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___26(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static struct __anonstruct_msg_id_info_745191059 msg_id_info[56]  =
  {      {(char const   *)"NUL_IN_HEADER", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )2},
        {(char const   *)"UNTERMINATED_HEADER", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )2},
        {(char const   *)"BAD_DATE", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"BAD_DATE_OVERFLOW", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"BAD_EMAIL", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"BAD_NAME", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"BAD_OBJECT_SHA1", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"BAD_PARENT_SHA1", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"BAD_TAG_OBJECT", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"BAD_TIMEZONE", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"BAD_TREE", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"BAD_TREE_SHA1", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"BAD_TYPE", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"DUPLICATE_ENTRIES", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"MISSING_AUTHOR", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"MISSING_COMMITTER", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"MISSING_EMAIL", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"MISSING_NAME_BEFORE_EMAIL", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"MISSING_OBJECT", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"MISSING_SPACE_BEFORE_DATE", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"MISSING_SPACE_BEFORE_EMAIL", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"MISSING_TAG", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"MISSING_TAG_ENTRY", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"MISSING_TREE", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"MISSING_TREE_OBJECT", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"MISSING_TYPE", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"MISSING_TYPE_ENTRY", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"MULTIPLE_AUTHORS", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"TREE_NOT_SORTED", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"UNKNOWN_TYPE", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"ZERO_PADDED_DATE", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"GITMODULES_MISSING", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"GITMODULES_BLOB", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"GITMODULES_LARGE", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"GITMODULES_NAME", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"GITMODULES_SYMLINK", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"GITMODULES_URL", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"GITMODULES_PATH", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"GITMODULES_UPDATE", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )3},
        {(char const   *)"BAD_FILEMODE", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )4},
        {(char const   *)"EMPTY_NAME", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )4},
        {(char const   *)"FULL_PATHNAME", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )4},
        {(char const   *)"HAS_DOT", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )4},
        {(char const   *)"HAS_DOTDOT", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )4},
        {(char const   *)"HAS_DOTGIT", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )4},
        {(char const   *)"NULL_SHA1", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )4},
        {(char const   *)"ZERO_PADDED_FILEMODE", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )4},
        {(char const   *)"NUL_IN_COMMIT", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )4},
        {(char const   *)"GITMODULES_PARSE", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )1},
        {(char const   *)"GITIGNORE_SYMLINK", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )1},
        {(char const   *)"GITATTRIBUTES_SYMLINK", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )1},
        {(char const   *)"MAILMAP_SYMLINK", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )1},
        {(char const   *)"BAD_TAG_NAME", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )1},
        {(char const   *)"MISSING_TAGGER_ENTRY", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )1},
        {(char const   *)"EXTRA_HEADER_ENTRY", (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )0},
        {(char const   *)((void *)0), (char const   *)((void *)0), (char const   *)((void *)0),
      (enum fsck_msg_type )-1}};
static void prepare_msg_ids(void)
{
  int i ;
  char const   *p___0 ;
  int len___0 ;
  size_t tmp ;
  char *q ;
  void *tmp___0 ;
  char *tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  void *tmp___4 ;
  char *tmp___5 ;
  char const   *tmp___6 ;
  char *tmp___7 ;
  char const   *tmp___8 ;
  int tmp___9 ;

  {
  if (msg_id_info[0].downcased) {
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 55)) {
      goto while_break;
    }
    p___0 = msg_id_info[i].id_string;
    tmp = strlen(p___0);
    len___0 = (int )tmp;
    tmp___0 = xmalloc((size_t )len___0);
    q = (char *)tmp___0;
    msg_id_info[i].downcased = (char const   *)q;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! *p___0) {
        goto while_break___0;
      }
      if ((int const   )*p___0 == 95) {
        p___0 ++;
      } else {
        tmp___1 = q;
        q ++;
        tmp___2 = p___0;
        p___0 ++;
        tmp___3 = sane_case((int )((unsigned char )*tmp___2), 0x20);
        *tmp___1 = (char )tmp___3;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    *q = (char )'\000';
    p___0 = msg_id_info[i].id_string;
    tmp___4 = xmalloc((size_t )len___0);
    q = (char *)tmp___4;
    msg_id_info[i].camelcased = (char const   *)q;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! *p___0) {
        goto while_break___1;
      }
      if ((int const   )*p___0 == 95) {
        p___0 ++;
        if (*p___0) {
          tmp___5 = q;
          q ++;
          tmp___6 = p___0;
          p___0 ++;
          *tmp___5 = (char )*tmp___6;
        }
      } else {
        tmp___7 = q;
        q ++;
        tmp___8 = p___0;
        p___0 ++;
        tmp___9 = sane_case((int )((unsigned char )*tmp___8), 0x20);
        *tmp___7 = (char )tmp___9;
      }
    }
    while_break___1: /* CIL Label */ ;
    }
    *q = (char )'\000';
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int parse_msg_id(char const   *text )
{
  int i ;
  int tmp ;

  {
  prepare_msg_ids();
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 55)) {
      goto while_break;
    }
    tmp = strcmp(text, msg_id_info[i].downcased);
    if (! tmp) {
      return (i);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (-1);
}
}
void list_config_fsck_msg_ids(struct string_list *list___3 , char const   *prefix___1 )
{
  int i ;

  {
  prepare_msg_ids();
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 55)) {
      goto while_break;
    }
    list_config_item(list___3, prefix___1, msg_id_info[i].camelcased);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static enum fsck_msg_type fsck_msg_type(enum fsck_msg_id msg_id , struct fsck_options *options )
{
  int tmp ;
  enum fsck_msg_type msg_type ;

  {
  if ((unsigned int )msg_id >= 0U) {
    if ((unsigned int )msg_id < 55U) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  assert(tmp);
  if (! options->msg_type) {
    msg_type = msg_id_info[msg_id].msg_type;
    if (options->strict) {
      if ((unsigned int )msg_type == 4U) {
        msg_type = (enum fsck_msg_type )3;
      }
    }
    return (msg_type);
  }
  return (*(options->msg_type + msg_id));
}
}
static enum fsck_msg_type parse_msg_type(char const   *str )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp___1 = strcmp(str, (char const   *)"error");
  if (tmp___1) {
    tmp___0 = strcmp(str, (char const   *)"warn");
    if (tmp___0) {
      tmp = strcmp(str, (char const   *)"ignore");
      if (tmp) {
        die((char const   *)"Unknown fsck message type: \'%s\'", str);
      } else {
        return ((enum fsck_msg_type )0);
      }
    } else {
      return ((enum fsck_msg_type )4);
    }
  } else {
    return ((enum fsck_msg_type )3);
  }
}
}
int is_valid_msg_type(char const   *msg_id , char const   *msg_type )
{
  int tmp ;

  {
  tmp = parse_msg_id(msg_id);
  if (tmp < 0) {
    return (0);
  }
  parse_msg_type(msg_type);
  return (1);
}
}
void fsck_set_msg_type_from_ids(struct fsck_options *options , enum fsck_msg_id msg_id ,
                                enum fsck_msg_type msg_type )
{
  int i ;
  enum fsck_msg_type *severity ;
  size_t tmp ;
  void *tmp___0 ;

  {
  if (! options->msg_type) {
    tmp = st_mult(sizeof(*severity), (size_t )55);
    tmp___0 = xmalloc(tmp);
    severity = (enum fsck_msg_type *)tmp___0;
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < 55)) {
        goto while_break;
      }
      *(severity + i) = fsck_msg_type((enum fsck_msg_id )i, options);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    options->msg_type = severity;
  }
  *(options->msg_type + msg_id) = msg_type;
  return;
}
}
void fsck_set_msg_type(struct fsck_options *options , char const   *msg_id_str , char const   *msg_type_str )
{
  int msg_id ;
  int tmp ;
  enum fsck_msg_type msg_type ;
  enum fsck_msg_type tmp___0 ;

  {
  tmp = parse_msg_id(msg_id_str);
  msg_id = tmp;
  tmp___0 = parse_msg_type(msg_type_str);
  msg_type = tmp___0;
  if (msg_id < 0) {
    die((char const   *)"Unhandled message id: %s", msg_id_str);
  }
  if ((unsigned int )msg_type != 3U) {
    if ((unsigned int )msg_id_info[msg_id].msg_type == 2U) {
      die((char const   *)"Cannot demote %s to %s", msg_id_str, msg_type_str);
    }
  }
  fsck_set_msg_type_from_ids(options, (enum fsck_msg_id )msg_id, msg_type);
  return;
}
}
void fsck_set_msg_types(struct fsck_options *options , char const   *values )
{
  char *buf___19 ;
  char *tmp ;
  char *to_free ;
  int done___0 ;
  int len___0 ;
  size_t tmp___0 ;
  int equal ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = xstrdup(values);
  buf___19 = tmp;
  to_free = buf___19;
  done___0 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (! done___0)) {
      goto while_break;
    }
    tmp___0 = strcspn((char const   *)buf___19, (char const   *)" ,|");
    len___0 = (int )tmp___0;
    done___0 = ! *(buf___19 + len___0);
    if (! len___0) {
      buf___19 ++;
      goto while_continue;
    }
    *(buf___19 + len___0) = (char )'\000';
    equal = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (equal < len___0) {
        if ((int )*(buf___19 + equal) != 61) {
          if (! ((int )*(buf___19 + equal) != 58)) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      tmp___1 = sane_case((int )((unsigned char )*(buf___19 + equal)), 0x20);
      *(buf___19 + equal) = (char )tmp___1;
      equal ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    *(buf___19 + equal) = (char )'\000';
    tmp___2 = strcmp((char const   *)buf___19, (char const   *)"skiplist");
    if (! tmp___2) {
      if (equal == len___0) {
        die((char const   *)"skiplist requires a path");
      }
      oidset_parse_file(& options->skiplist, (char const   *)((buf___19 + equal) + 1));
      buf___19 += len___0 + 1;
      goto while_continue;
    }
    if (equal == len___0) {
      die((char const   *)"Missing \'=\': \'%s\'", buf___19);
    }
    fsck_set_msg_type(options, (char const   *)buf___19, (char const   *)((buf___19 + equal) + 1));
    buf___19 += len___0 + 1;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)to_free);
  return;
}
}
static int object_on_skiplist(struct fsck_options *opts___1 , struct object_id  const  *oid )
{
  int tmp ;
  int tmp___0 ;

  {
  if (opts___1) {
    if (oid) {
      tmp = oidset_contains((struct oidset  const  *)(& opts___1->skiplist), oid);
      if (tmp) {
        tmp___0 = 1;
      } else {
        tmp___0 = 0;
      }
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static int ( /* format attribute */  report___0)(struct fsck_options *options , struct object_id  const  *oid ,
                                                 enum object_type object_type___0 ,
                                                 enum fsck_msg_id msg_id , char const   *fmt
                                                 , ...)
{
  va_list ap ;
  struct strbuf sb___6 ;
  enum fsck_msg_type msg_type ;
  enum fsck_msg_type tmp ;
  int result___0 ;
  int tmp___0 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = fsck_msg_type(msg_id, options);
  msg_type = tmp;
  if ((unsigned int )msg_type == 0U) {
    return (0);
  }
  tmp___0 = object_on_skiplist(options, oid);
  if (tmp___0) {
    return (0);
  }
  if ((unsigned int )msg_type == 2U) {
    msg_type = (enum fsck_msg_type )3;
  } else
  if ((unsigned int )msg_type == 1U) {
    msg_type = (enum fsck_msg_type )4;
  }
  prepare_msg_ids();
  strbuf_addf(& sb___6, (char const   *)"%s: ", msg_id_info[msg_id].camelcased);
  __builtin_va_start(ap, fmt);
  strbuf_vaddf(& sb___6, fmt, ap);
  result___0 = (*(options->error_func))(options, oid, object_type___0, msg_type, msg_id,
                                        (char const   *)sb___6.buf);
  strbuf_release(& sb___6);
  __builtin_va_end(ap);
  return (result___0);
}
}
void fsck_enable_object_names(struct fsck_options *options )
{


  {
  if (! options->object_names) {
    options->object_names = kh_init_oid_map();
  }
  return;
}
}
char const   *fsck_get_object_name(struct fsck_options *options , struct object_id  const  *oid )
{
  khiter_t pos ;

  {
  if (! options->object_names) {
    return ((char const   *)((void *)0));
  }
  pos = kh_get_oid_map((kh_oid_map_t const   *)options->object_names, (struct object_id )*oid);
  if (pos >= (options->object_names)->n_buckets) {
    return ((char const   *)((void *)0));
  }
  return ((char const   *)*((options->object_names)->vals + pos));
}
}
void ( /* format attribute */  fsck_put_object_name)(struct fsck_options *options ,
                                                     struct object_id  const  *oid ,
                                                     char const   *fmt  , ...)
{
  va_list ap ;
  struct strbuf buf___19 ;
  khiter_t pos ;
  int hashret ;
  char *tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (! options->object_names) {
    return;
  }
  pos = kh_put_oid_map___37(options->object_names, (struct object_id )*oid, & hashret);
  if (! hashret) {
    return;
  }
  __builtin_va_start(ap, fmt);
  strbuf_vaddf(& buf___19, fmt, ap);
  tmp = strbuf_detach(& buf___19, (size_t *)((void *)0));
  *((options->object_names)->vals + pos) = (void *)tmp;
  __builtin_va_end(ap);
  return;
}
}
static struct strbuf bufs[4]  = {      {0UL, 0UL, strbuf_slopbuf},
        {0UL, 0UL, strbuf_slopbuf},
        {0UL, 0UL, strbuf_slopbuf},
        {0UL, 0UL, strbuf_slopbuf}};
static int b  =    0;
char const   *fsck_describe_object(struct fsck_options *options , struct object_id  const  *oid )
{
  struct strbuf *buf___19 ;
  char const   *name___0 ;
  char const   *tmp ;
  char *tmp___0 ;

  {
  tmp = fsck_get_object_name(options, oid);
  name___0 = tmp;
  buf___19 = bufs + b;
  b = (int )((unsigned long )(b + 1) % (sizeof(bufs) / sizeof(bufs[0]) + (sizeof(char [1]) - 1UL)));
  strbuf_setlen(buf___19, (size_t )0);
  tmp___0 = oid_to_hex(oid);
  strbuf_addstr(buf___19, (char const   *)tmp___0);
  if (name___0) {
    strbuf_addf(buf___19, (char const   *)" (%s)", name___0);
  }
  return ((char const   *)buf___19->buf);
}
}
static int fsck_walk_tree(struct tree *tree , void *data , struct fsck_options *options )
{
  struct tree_desc desc___0 ;
  struct name_entry entry ;
  int res ;
  char const   *name___0 ;
  int tmp ;
  int tmp___0 ;
  struct object *obj ;
  int result___0 ;
  struct tree *tmp___1 ;
  struct blob *tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;

  {
  res = 0;
  tmp = parse_tree(tree);
  if (tmp) {
    return (-1);
  }
  name___0 = fsck_get_object_name(options, (struct object_id  const  *)(& tree->object.oid));
  tmp___0 = init_tree_desc_gently(& desc___0, (void const   *)tree->buffer, tree->size);
  if (tmp___0) {
    return (-1);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___4 = tree_entry_gently(& desc___0, & entry);
    if (! tmp___4) {
      goto while_break;
    }
    if ((entry.mode & 61440U) == 57344U) {
      goto while_continue;
    }
    if ((entry.mode & 61440U) == 16384U) {
      tmp___1 = lookup_tree(the_repository, (struct object_id  const  *)(& entry.oid));
      obj = (struct object *)tmp___1;
      if (name___0) {
        if (obj) {
          fsck_put_object_name(options, (struct object_id  const  *)(& entry.oid),
                               (char const   *)"%s%s/", name___0, entry.path);
        }
      }
      result___0 = (*(options->walk))(obj, (enum object_type )2, data, options);
    } else
    if ((entry.mode & 61440U) == 32768U) {
      goto _L;
    } else
    if ((entry.mode & 61440U) == 40960U) {
      _L: /* CIL Label */
      tmp___2 = lookup_blob(the_repository, (struct object_id  const  *)(& entry.oid));
      obj = (struct object *)tmp___2;
      if (name___0) {
        if (obj) {
          fsck_put_object_name(options, (struct object_id  const  *)(& entry.oid),
                               (char const   *)"%s%s", name___0, entry.path);
        }
      }
      result___0 = (*(options->walk))(obj, (enum object_type )3, data, options);
    } else {
      tmp___3 = fsck_describe_object(options, (struct object_id  const  *)(& tree->object.oid));
      error((char const   *)"in tree %s: entry %s has bad mode %.6o", tmp___3, entry.path,
            entry.mode);
      result___0 = const_error();
    }
    if (result___0 < 0) {
      return (result___0);
    }
    if (! res) {
      res = result___0;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
static int fsck_walk_commit(struct commit *commit , void *data , struct fsck_options *options )
{
  int counter___7 ;
  int generation ;
  int name_prefix_len ;
  struct commit_list *parents ;
  int res ;
  int result___0 ;
  char const   *name___0 ;
  int tmp ;
  struct object_id *tmp___0 ;
  struct tree *tmp___1 ;
  int len___0 ;
  size_t tmp___2 ;
  int power ;
  struct object_id *oid ;
  int tmp___3 ;

  {
  counter___7 = 0;
  generation = 0;
  name_prefix_len = 0;
  tmp = repo_parse_commit(the_repository, commit);
  if (tmp) {
    return (-1);
  }
  name___0 = fsck_get_object_name(options, (struct object_id  const  *)(& commit->object.oid));
  if (name___0) {
    tmp___0 = get_commit_tree_oid((struct commit  const  *)commit);
    fsck_put_object_name(options, (struct object_id  const  *)tmp___0, (char const   *)"%s:",
                         name___0);
  }
  tmp___1 = repo_get_commit_tree(the_repository, (struct commit  const  *)commit);
  result___0 = (*(options->walk))((struct object *)tmp___1, (enum object_type )2,
                                  data, options);
  if (result___0 < 0) {
    return (result___0);
  }
  res = result___0;
  parents = commit->parents;
  if (name___0) {
    if (parents) {
      tmp___2 = strlen(name___0);
      len___0 = (int )tmp___2;
      if (len___0) {
        if ((int const   )*(name___0 + (len___0 - 1)) == 94) {
          generation = 1;
          name_prefix_len = len___0 - 1;
        } else {
          goto _L;
        }
      } else {
        _L: /* CIL Label */
        generation = 0;
        power = 1;
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          if (len___0) {
            if (! (((int const   )sane_ctype[(unsigned char )*(name___0 + (len___0 - 1))] & 2) != 0)) {
              goto while_break;
            }
          } else {
            goto while_break;
          }
          len___0 --;
          generation += power * (int )((int const   )*(name___0 + len___0) - 48);
          power *= 10;
        }
        while_break: /* CIL Label */ ;
        }
        if (power > 1) {
          if (len___0) {
            if ((int const   )*(name___0 + (len___0 - 1)) == 126) {
              name_prefix_len = len___0 - 1;
            } else {
              generation = 0;
              name_prefix_len = len___0;
            }
          } else {
            generation = 0;
            name_prefix_len = len___0;
          }
        } else {
          generation = 0;
          name_prefix_len = len___0;
        }
      }
    }
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! parents) {
      goto while_break___0;
    }
    if (name___0) {
      oid = & (parents->item)->object.oid;
      tmp___3 = counter___7;
      counter___7 ++;
      if (tmp___3) {
        fsck_put_object_name(options, (struct object_id  const  *)oid, (char const   *)"%s^%d",
                             name___0, counter___7);
      } else
      if (generation > 0) {
        fsck_put_object_name(options, (struct object_id  const  *)oid, (char const   *)"%.*s~%d",
                             name_prefix_len, name___0, generation + 1);
      } else {
        fsck_put_object_name(options, (struct object_id  const  *)oid, (char const   *)"%s^",
                             name___0);
      }
    }
    result___0 = (*(options->walk))((struct object *)parents->item, (enum object_type )1,
                                    data, options);
    if (result___0 < 0) {
      return (result___0);
    }
    if (! res) {
      res = result___0;
    }
    parents = parents->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (res);
}
}
static int fsck_walk_tag(struct tag *tag , void *data , struct fsck_options *options )
{
  char const   *name___0 ;
  char const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = fsck_get_object_name(options, (struct object_id  const  *)(& tag->object.oid));
  name___0 = tmp;
  tmp___0 = parse_tag(tag);
  if (tmp___0) {
    return (-1);
  }
  if (name___0) {
    fsck_put_object_name(options, (struct object_id  const  *)(& (tag->tagged)->oid),
                         (char const   *)"%s", name___0);
  }
  tmp___1 = (*(options->walk))(tag->tagged, (enum object_type )8, data, options);
  return (tmp___1);
}
}
int fsck_walk(struct object *obj , void *data , struct fsck_options *options )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;

  {
  if (! obj) {
    return (-1);
  }
  if (obj->type == 0U) {
    parse_object(the_repository, (struct object_id  const  *)(& obj->oid));
  }
  {
  if (obj->type == 3U) {
    goto case_3;
  }
  if (obj->type == 2U) {
    goto case_2;
  }
  if (obj->type == 1U) {
    goto case_1;
  }
  if (obj->type == 4U) {
    goto case_4;
  }
  goto switch_default;
  case_3: /* CIL Label */
  return (0);
  case_2: /* CIL Label */
  tmp = fsck_walk_tree((struct tree *)obj, data, options);
  return (tmp);
  case_1: /* CIL Label */
  tmp___0 = fsck_walk_commit((struct commit *)obj, data, options);
  return (tmp___0);
  case_4: /* CIL Label */
  tmp___1 = fsck_walk_tag((struct tag *)obj, data, options);
  return (tmp___1);
  switch_default: /* CIL Label */
  tmp___2 = fsck_describe_object(options, (struct object_id  const  *)(& obj->oid));
  error((char const   *)"Unknown object type for %s", tmp___2);
  const_error();
  return (-1);
  switch_break: /* CIL Label */ ;
  }
}
}
static void name_stack_push(struct name_stack *stack , char const   *name___0 )
{
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (stack->nr + 1UL > stack->alloc) {
      if (((stack->alloc + 16UL) * 3UL) / 2UL < stack->nr + 1UL) {
        stack->alloc = stack->nr + 1UL;
      } else {
        stack->alloc = ((stack->alloc + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*(stack->names)), stack->alloc);
      tmp___0 = xrealloc((void *)stack->names, tmp);
      stack->names = (char const   **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = stack->nr;
  (stack->nr) ++;
  *(stack->names + tmp___1) = name___0;
  return;
}
}
static char const   *name_stack_pop(struct name_stack *stack )
{
  char const   *tmp ;

  {
  if (stack->nr) {
    (stack->nr) --;
    tmp = *(stack->names + stack->nr);
  } else {
    tmp = (char const   *)((void *)0);
  }
  return (tmp);
}
}
static void name_stack_clear(struct name_stack *stack )
{
  size_t tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)stack->names);
    stack->names = (char const   **)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = (size_t )0;
  stack->alloc = tmp;
  stack->nr = tmp;
  return;
}
}
static int is_less_than_slash(unsigned char c___0 )
{
  int tmp ;

  {
  if (0 < (int )c___0) {
    if ((int )c___0 < 47) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static int verify_ordered(unsigned int mode1 , char const   *name1 , unsigned int mode2 ,
                          char const   *name2 , struct name_stack *candidates )
{
  int len1 ;
  size_t tmp ;
  int len2 ;
  size_t tmp___0 ;
  int len___0 ;
  int tmp___1 ;
  unsigned char c1 ;
  unsigned char c2 ;
  int cmp___0 ;
  char const   *p___0 ;
  char const   *f_name ;
  char const   *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  tmp = strlen(name1);
  len1 = (int )tmp;
  tmp___0 = strlen(name2);
  len2 = (int )tmp___0;
  if (len1 < len2) {
    tmp___1 = len1;
  } else {
    tmp___1 = len2;
  }
  len___0 = tmp___1;
  cmp___0 = memcmp((void const   *)name1, (void const   *)name2, (size_t )len___0);
  if (cmp___0 < 0) {
    return (0);
  }
  if (cmp___0 > 0) {
    return (-1);
  }
  c1 = (unsigned char )*(name1 + len___0);
  c2 = (unsigned char )*(name2 + len___0);
  if (! c1) {
    if (! c2) {
      return (-2);
    }
  }
  if (! c1) {
    if ((mode1 & 61440U) == 16384U) {
      c1 = (unsigned char )'/';
    }
  }
  if (! c2) {
    if ((mode2 & 61440U) == 16384U) {
      c2 = (unsigned char )'/';
    }
  }
  if (! c1) {
    tmp___6 = is_less_than_slash(c2);
    if (tmp___6) {
      name_stack_push(candidates, name1);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if ((int )c2 == 47) {
    tmp___5 = is_less_than_slash(c1);
    if (tmp___5) {
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        tmp___2 = name_stack_pop(candidates);
        f_name = tmp___2;
        if (! f_name) {
          goto while_break;
        }
        tmp___3 = skip_prefix(name2, f_name, & p___0);
        if (! tmp___3) {
          goto __Cont;
        }
        if (! *p___0) {
          return (-2);
        }
        tmp___4 = is_less_than_slash((unsigned char )*p___0);
        if (tmp___4) {
          name_stack_push(candidates, f_name);
          goto while_break;
        }
        __Cont: /* CIL Label */ ;
      }
      while_break: /* CIL Label */ ;
      }
    }
  }
  if ((int )c1 < (int )c2) {
    tmp___7 = 0;
  } else {
    tmp___7 = -1;
  }
  return (tmp___7);
}
}
static int fsck_tree(struct object_id  const  *tree_oid , char const   *buffer___5 ,
                     unsigned long size , struct fsck_options *options )
{
  int retval ;
  int has_null_sha1 ;
  int has_full_path ;
  int has_empty_name ;
  int has_dot ;
  int has_dotdot ;
  int has_dotgit ;
  int has_zero_pad ;
  int has_bad_modes ;
  int has_dup_entries ;
  int not_properly_sorted ;
  struct tree_desc desc___0 ;
  unsigned int o_mode ;
  char const   *o_name ;
  struct name_stack df_dup_candidates ;
  int tmp ;
  int tmp___0 ;
  unsigned short mode___1 ;
  char const   *name___0 ;
  char const   *backslash ;
  struct object_id  const  *entry_oid ;
  int tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  char *tmp___26 ;
  char *tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;
  int tmp___30 ;
  int tmp___31 ;
  int tmp___32 ;
  int tmp___33 ;
  int tmp___34 ;
  int tmp___35 ;
  int tmp___36 ;
  int tmp___37 ;
  int tmp___38 ;
  int tmp___39 ;
  int tmp___40 ;

  {
  retval = 0;
  has_null_sha1 = 0;
  has_full_path = 0;
  has_empty_name = 0;
  has_dot = 0;
  has_dotdot = 0;
  has_dotgit = 0;
  has_zero_pad = 0;
  has_bad_modes = 0;
  has_dup_entries = 0;
  not_properly_sorted = 0;
  df_dup_candidates.names = (char const   **)((void *)0);
  df_dup_candidates.nr = 0UL;
  df_dup_candidates.alloc = 0UL;
  tmp___0 = init_tree_desc_gently(& desc___0, (void const   *)buffer___5, size);
  if (tmp___0) {
    tmp = report___0(options, tree_oid, (enum object_type )2, (enum fsck_msg_id )10,
                     (char const   *)"cannot be parsed as a tree");
    retval += tmp;
    return (retval);
  }
  o_mode = 0U;
  o_name = (char const   *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! desc___0.size) {
      goto while_break;
    }
    entry_oid = tree_entry_extract(& desc___0, & name___0, & mode___1);
    tmp___1 = is_null_oid(entry_oid);
    has_null_sha1 |= tmp___1;
    tmp___2 = strchr(name___0, '/');
    if (tmp___2) {
      tmp___3 = 1;
    } else {
      tmp___3 = 0;
    }
    has_full_path |= tmp___3;
    has_empty_name |= ! *name___0;
    tmp___4 = strcmp(name___0, (char const   *)".");
    if (tmp___4) {
      tmp___5 = 0;
    } else {
      tmp___5 = 1;
    }
    has_dot |= tmp___5;
    tmp___6 = strcmp(name___0, (char const   *)"..");
    if (tmp___6) {
      tmp___7 = 0;
    } else {
      tmp___7 = 1;
    }
    has_dotdot |= tmp___7;
    tmp___8 = is_hfs_dotgit(name___0);
    if (tmp___8) {
      tmp___10 = 1;
    } else {
      tmp___9 = is_ntfs_dotgit(name___0);
      if (tmp___9) {
        tmp___10 = 1;
      } else {
        tmp___10 = 0;
      }
    }
    has_dotgit |= tmp___10;
    has_zero_pad |= (int )*((char *)desc___0.buffer) == 48;
    tmp___12 = is_hfs_dotgitmodules(name___0);
    if (tmp___12) {
      goto _L;
    } else {
      tmp___13 = is_ntfs_dotgitmodules(name___0);
      if (tmp___13) {
        _L: /* CIL Label */
        if (! (((int )mode___1 & 0170000) == 0120000)) {
          oidset_insert(& options->gitmodules_found, entry_oid);
        } else {
          tmp___11 = report___0(options, tree_oid, (enum object_type )2, (enum fsck_msg_id )35,
                                (char const   *)".gitmodules is a symbolic link");
          retval += tmp___11;
        }
      }
    }
    if (((int )mode___1 & 0170000) == 0120000) {
      tmp___15 = is_hfs_dotgitignore(name___0);
      if (tmp___15) {
        tmp___14 = report___0(options, tree_oid, (enum object_type )2, (enum fsck_msg_id )49,
                              (char const   *)".gitignore is a symlink");
        retval += tmp___14;
      } else {
        tmp___16 = is_ntfs_dotgitignore(name___0);
        if (tmp___16) {
          tmp___14 = report___0(options, tree_oid, (enum object_type )2, (enum fsck_msg_id )49,
                                (char const   *)".gitignore is a symlink");
          retval += tmp___14;
        }
      }
      tmp___18 = is_hfs_dotgitattributes(name___0);
      if (tmp___18) {
        tmp___17 = report___0(options, tree_oid, (enum object_type )2, (enum fsck_msg_id )50,
                              (char const   *)".gitattributes is a symlink");
        retval += tmp___17;
      } else {
        tmp___19 = is_ntfs_dotgitattributes(name___0);
        if (tmp___19) {
          tmp___17 = report___0(options, tree_oid, (enum object_type )2, (enum fsck_msg_id )50,
                                (char const   *)".gitattributes is a symlink");
          retval += tmp___17;
        }
      }
      tmp___21 = is_hfs_dotmailmap(name___0);
      if (tmp___21) {
        tmp___20 = report___0(options, tree_oid, (enum object_type )2, (enum fsck_msg_id )51,
                              (char const   *)".mailmap is a symlink");
        retval += tmp___20;
      } else {
        tmp___22 = is_ntfs_dotmailmap(name___0);
        if (tmp___22) {
          tmp___20 = report___0(options, tree_oid, (enum object_type )2, (enum fsck_msg_id )51,
                                (char const   *)".mailmap is a symlink");
          retval += tmp___20;
        }
      }
    }
    tmp___27 = strchr(name___0, '\\');
    backslash = (char const   *)tmp___27;
    if (backslash) {
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! backslash) {
          goto while_break___0;
        }
        backslash ++;
        tmp___23 = is_ntfs_dotgit(backslash);
        has_dotgit |= tmp___23;
        tmp___25 = is_ntfs_dotgitmodules(backslash);
        if (tmp___25) {
          if (! (((int )mode___1 & 0170000) == 0120000)) {
            oidset_insert(& options->gitmodules_found, entry_oid);
          } else {
            tmp___24 = report___0(options, tree_oid, (enum object_type )2, (enum fsck_msg_id )35,
                                  (char const   *)".gitmodules is a symbolic link");
            retval += tmp___24;
          }
        }
        tmp___26 = strchr(backslash, '\\');
        backslash = (char const   *)tmp___26;
      }
      while_break___0: /* CIL Label */ ;
      }
    }
    tmp___29 = update_tree_entry_gently(& desc___0);
    if (tmp___29) {
      tmp___28 = report___0(options, tree_oid, (enum object_type )2, (enum fsck_msg_id )10,
                            (char const   *)"cannot be parsed as a tree");
      retval += tmp___28;
      goto while_break;
    }
    {
    if ((int )mode___1 == 0160000) {
      goto case_57344;
    }
    if ((int )mode___1 == 0040000) {
      goto case_57344;
    }
    if ((int )mode___1 == 0120000) {
      goto case_57344;
    }
    if ((int )mode___1 == 33188) {
      goto case_57344;
    }
    if ((int )mode___1 == 33261) {
      goto case_57344;
    }
    if ((int )mode___1 == 33204) {
      goto case_33204;
    }
    goto switch_default;
    case_57344: /* CIL Label */
    case_16384: /* CIL Label */
    case_40960: /* CIL Label */
    case_33188: /* CIL Label */
    case_33261: /* CIL Label */
    goto switch_break;
    case_33204: /* CIL Label */
    if (! options->strict) {
      goto switch_break;
    }
    switch_default: /* CIL Label */
    has_bad_modes = 1;
    switch_break: /* CIL Label */ ;
    }
    if (o_name) {
      tmp___30 = verify_ordered(o_mode, o_name, (unsigned int )mode___1, name___0,
                                & df_dup_candidates);
      {
      if (tmp___30 == -1) {
        goto case_neg_1;
      }
      if (tmp___30 == -2) {
        goto case_neg_2;
      }
      goto switch_default___0;
      case_neg_1: /* CIL Label */
      not_properly_sorted = 1;
      goto switch_break___0;
      case_neg_2: /* CIL Label */
      has_dup_entries = 1;
      goto switch_break___0;
      switch_default___0: /* CIL Label */
      goto switch_break___0;
      switch_break___0: /* CIL Label */ ;
      }
    }
    o_mode = (unsigned int )mode___1;
    o_name = name___0;
  }
  while_break: /* CIL Label */ ;
  }
  name_stack_clear(& df_dup_candidates);
  if (has_null_sha1) {
    tmp___31 = report___0(options, tree_oid, (enum object_type )2, (enum fsck_msg_id )45,
                          (char const   *)"contains entries pointing to null sha1");
    retval += tmp___31;
  }
  if (has_full_path) {
    tmp___32 = report___0(options, tree_oid, (enum object_type )2, (enum fsck_msg_id )41,
                          (char const   *)"contains full pathnames");
    retval += tmp___32;
  }
  if (has_empty_name) {
    tmp___33 = report___0(options, tree_oid, (enum object_type )2, (enum fsck_msg_id )40,
                          (char const   *)"contains empty pathname");
    retval += tmp___33;
  }
  if (has_dot) {
    tmp___34 = report___0(options, tree_oid, (enum object_type )2, (enum fsck_msg_id )42,
                          (char const   *)"contains \'.\'");
    retval += tmp___34;
  }
  if (has_dotdot) {
    tmp___35 = report___0(options, tree_oid, (enum object_type )2, (enum fsck_msg_id )43,
                          (char const   *)"contains \'..\'");
    retval += tmp___35;
  }
  if (has_dotgit) {
    tmp___36 = report___0(options, tree_oid, (enum object_type )2, (enum fsck_msg_id )44,
                          (char const   *)"contains \'.git\'");
    retval += tmp___36;
  }
  if (has_zero_pad) {
    tmp___37 = report___0(options, tree_oid, (enum object_type )2, (enum fsck_msg_id )46,
                          (char const   *)"contains zero-padded file modes");
    retval += tmp___37;
  }
  if (has_bad_modes) {
    tmp___38 = report___0(options, tree_oid, (enum object_type )2, (enum fsck_msg_id )39,
                          (char const   *)"contains bad file modes");
    retval += tmp___38;
  }
  if (has_dup_entries) {
    tmp___39 = report___0(options, tree_oid, (enum object_type )2, (enum fsck_msg_id )13,
                          (char const   *)"contains duplicate file entries");
    retval += tmp___39;
  }
  if (not_properly_sorted) {
    tmp___40 = report___0(options, tree_oid, (enum object_type )2, (enum fsck_msg_id )28,
                          (char const   *)"not properly sorted");
    retval += tmp___40;
  }
  return (retval);
}
}
static int verify_headers(void const   *data , unsigned long size , struct object_id  const  *oid ,
                          enum object_type type___0 , struct fsck_options *options )
{
  char const   *buffer___5 ;
  unsigned long i ;
  int tmp ;
  int tmp___0 ;

  {
  buffer___5 = (char const   *)data;
  i = 0UL;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < size)) {
      goto while_break;
    }
    {
    if ((int const   )*(buffer___5 + i) == 0) {
      goto case_0;
    }
    if ((int const   )*(buffer___5 + i) == 10) {
      goto case_10;
    }
    goto switch_break;
    case_0: /* CIL Label */
    tmp = report___0(options, oid, type___0, (enum fsck_msg_id )0, (char const   *)"unterminated header: NUL at offset %ld",
                     i);
    return (tmp);
    case_10: /* CIL Label */
    if (i + 1UL < size) {
      if ((int const   )*(buffer___5 + (i + 1UL)) == 10) {
        return (0);
      }
    }
    switch_break: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (size) {
    if ((int const   )*(buffer___5 + (size - 1UL)) == 10) {
      return (0);
    }
  }
  tmp___0 = report___0(options, oid, type___0, (enum fsck_msg_id )1, (char const   *)"unterminated header");
  return (tmp___0);
}
}
static int fsck_ident(char const   **ident , struct object_id  const  *oid , enum object_type type___0 ,
                      struct fsck_options *options )
{
  char const   *p___0 ;
  char *end ;
  char *tmp ;
  int tmp___0 ;
  size_t tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  size_t tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  uintmax_t tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;

  {
  p___0 = *ident;
  tmp = strchrnul(*ident, '\n');
  *ident = (char const   *)tmp;
  if ((int const   )*(*ident) == 10) {
    (*ident) ++;
  }
  if ((int const   )*p___0 == 60) {
    tmp___0 = report___0(options, oid, type___0, (enum fsck_msg_id )17, (char const   *)"invalid author/committer line - missing space before email");
    return (tmp___0);
  }
  tmp___1 = strcspn(p___0, (char const   *)"<>\n");
  p___0 += tmp___1;
  if ((int const   )*p___0 == 62) {
    tmp___2 = report___0(options, oid, type___0, (enum fsck_msg_id )5, (char const   *)"invalid author/committer line - bad name");
    return (tmp___2);
  }
  if ((int const   )*p___0 != 60) {
    tmp___3 = report___0(options, oid, type___0, (enum fsck_msg_id )16, (char const   *)"invalid author/committer line - missing email");
    return (tmp___3);
  }
  if ((int const   )*(p___0 + -1) != 32) {
    tmp___4 = report___0(options, oid, type___0, (enum fsck_msg_id )20, (char const   *)"invalid author/committer line - missing space before email");
    return (tmp___4);
  }
  p___0 ++;
  tmp___5 = strcspn(p___0, (char const   *)"<>\n");
  p___0 += tmp___5;
  if ((int const   )*p___0 != 62) {
    tmp___6 = report___0(options, oid, type___0, (enum fsck_msg_id )4, (char const   *)"invalid author/committer line - bad email");
    return (tmp___6);
  }
  p___0 ++;
  if ((int const   )*p___0 != 32) {
    tmp___7 = report___0(options, oid, type___0, (enum fsck_msg_id )19, (char const   *)"invalid author/committer line - missing space before date");
    return (tmp___7);
  }
  p___0 ++;
  if ((int const   )*p___0 == 48) {
    if ((int const   )*(p___0 + 1) != 32) {
      tmp___8 = report___0(options, oid, type___0, (enum fsck_msg_id )30, (char const   *)"invalid author/committer line - zero-padded date");
      return (tmp___8);
    }
  }
  tmp___10 = strtoumax(p___0, & end, 10);
  tmp___11 = date_overflows(tmp___10);
  if (tmp___11) {
    tmp___9 = report___0(options, oid, type___0, (enum fsck_msg_id )3, (char const   *)"invalid author/committer line - date causes integer overflow");
    return (tmp___9);
  }
  if ((unsigned long )end == (unsigned long )p___0) {
    tmp___12 = report___0(options, oid, type___0, (enum fsck_msg_id )2, (char const   *)"invalid author/committer line - bad date");
    return (tmp___12);
  } else
  if ((int )*end != 32) {
    tmp___12 = report___0(options, oid, type___0, (enum fsck_msg_id )2, (char const   *)"invalid author/committer line - bad date");
    return (tmp___12);
  }
  p___0 = (char const   *)(end + 1);
  if ((int const   )*p___0 != 43) {
    if ((int const   )*p___0 != 45) {
      tmp___13 = report___0(options, oid, type___0, (enum fsck_msg_id )9, (char const   *)"invalid author/committer line - bad time zone");
      return (tmp___13);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (! (((int const   )sane_ctype[(unsigned char )*(p___0 + 1)] & 2) != 0)) {
    tmp___13 = report___0(options, oid, type___0, (enum fsck_msg_id )9, (char const   *)"invalid author/committer line - bad time zone");
    return (tmp___13);
  } else
  if (! (((int const   )sane_ctype[(unsigned char )*(p___0 + 2)] & 2) != 0)) {
    tmp___13 = report___0(options, oid, type___0, (enum fsck_msg_id )9, (char const   *)"invalid author/committer line - bad time zone");
    return (tmp___13);
  } else
  if (! (((int const   )sane_ctype[(unsigned char )*(p___0 + 3)] & 2) != 0)) {
    tmp___13 = report___0(options, oid, type___0, (enum fsck_msg_id )9, (char const   *)"invalid author/committer line - bad time zone");
    return (tmp___13);
  } else
  if (! (((int const   )sane_ctype[(unsigned char )*(p___0 + 4)] & 2) != 0)) {
    tmp___13 = report___0(options, oid, type___0, (enum fsck_msg_id )9, (char const   *)"invalid author/committer line - bad time zone");
    return (tmp___13);
  } else
  if ((int const   )*(p___0 + 5) != 10) {
    tmp___13 = report___0(options, oid, type___0, (enum fsck_msg_id )9, (char const   *)"invalid author/committer line - bad time zone");
    return (tmp___13);
  }
  p___0 += 6;
  return (0);
}
}
static int fsck_commit(struct object_id  const  *oid , char const   *buffer___5 ,
                       unsigned long size , struct fsck_options *options )
{
  struct object_id tree_oid ;
  struct object_id parent_oid ;
  unsigned int author_count ;
  int err___4 ;
  char const   *buffer_begin ;
  char const   *p___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  void *tmp___8 ;

  {
  buffer_begin = buffer___5;
  tmp = verify_headers((void const   *)buffer___5, size, oid, (enum object_type )1,
                       options);
  if (tmp) {
    return (-1);
  }
  tmp___1 = skip_prefix(buffer___5, (char const   *)"tree ", & buffer___5);
  if (! tmp___1) {
    tmp___0 = report___0(options, oid, (enum object_type )1, (enum fsck_msg_id )23,
                         (char const   *)"invalid format - expected \'tree\' line");
    return (tmp___0);
  }
  tmp___2 = parse_oid_hex(buffer___5, & tree_oid, & p___0);
  if (tmp___2) {
    goto _L;
  } else
  if ((int const   )*p___0 != 10) {
    _L: /* CIL Label */
    err___4 = report___0(options, oid, (enum object_type )1, (enum fsck_msg_id )11,
                         (char const   *)"invalid \'tree\' line format - bad sha1");
    if (err___4) {
      return (err___4);
    }
  }
  buffer___5 = p___0 + 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___4 = skip_prefix(buffer___5, (char const   *)"parent ", & buffer___5);
    if (! tmp___4) {
      goto while_break;
    }
    tmp___3 = parse_oid_hex(buffer___5, & parent_oid, & p___0);
    if (tmp___3) {
      goto _L___0;
    } else
    if ((int const   )*p___0 != 10) {
      _L___0: /* CIL Label */
      err___4 = report___0(options, oid, (enum object_type )1, (enum fsck_msg_id )7,
                           (char const   *)"invalid \'parent\' line format - bad sha1");
      if (err___4) {
        return (err___4);
      }
    }
    buffer___5 = p___0 + 1;
  }
  while_break: /* CIL Label */ ;
  }
  author_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___5 = skip_prefix(buffer___5, (char const   *)"author ", & buffer___5);
    if (! tmp___5) {
      goto while_break___0;
    }
    author_count ++;
    err___4 = fsck_ident(& buffer___5, oid, (enum object_type )1, options);
    if (err___4) {
      return (err___4);
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  if (author_count < 1U) {
    err___4 = report___0(options, oid, (enum object_type )1, (enum fsck_msg_id )14,
                         (char const   *)"invalid format - expected \'author\' line");
  } else
  if (author_count > 1U) {
    err___4 = report___0(options, oid, (enum object_type )1, (enum fsck_msg_id )27,
                         (char const   *)"invalid format - multiple \'author\' lines");
  }
  if (err___4) {
    return (err___4);
  }
  tmp___7 = skip_prefix(buffer___5, (char const   *)"committer ", & buffer___5);
  if (! tmp___7) {
    tmp___6 = report___0(options, oid, (enum object_type )1, (enum fsck_msg_id )15,
                         (char const   *)"invalid format - expected \'committer\' line");
    return (tmp___6);
  }
  err___4 = fsck_ident(& buffer___5, oid, (enum object_type )1, options);
  if (err___4) {
    return (err___4);
  }
  tmp___8 = memchr((void const   *)buffer_begin, '\000', size);
  if (tmp___8) {
    err___4 = report___0(options, oid, (enum object_type )1, (enum fsck_msg_id )47,
                         (char const   *)"NUL byte in the commit object body");
    if (err___4) {
      return (err___4);
    }
  }
  return (0);
}
}
static int fsck_tag(struct object_id  const  *oid , char const   *buffer___5 , unsigned long size ,
                    struct fsck_options *options )
{
  struct object_id tagged_oid ;
  int tagged_type ;
  int tmp ;

  {
  tmp = fsck_tag_standalone(oid, buffer___5, size, options, & tagged_oid, & tagged_type);
  return (tmp);
}
}
int fsck_tag_standalone(struct object_id  const  *oid , char const   *buffer___5 ,
                        unsigned long size , struct fsck_options *options , struct object_id *tagged_oid ,
                        int *tagged_type )
{
  int ret___67 ;
  char *eol ;
  struct strbuf sb___6 ;
  char const   *p___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  ret___67 = 0;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  ret___67 = verify_headers((void const   *)buffer___5, size, oid, (enum object_type )4,
                            options);
  if (ret___67) {
    goto done;
  }
  tmp = skip_prefix(buffer___5, (char const   *)"object ", & buffer___5);
  if (! tmp) {
    ret___67 = report___0(options, oid, (enum object_type )4, (enum fsck_msg_id )18,
                          (char const   *)"invalid format - expected \'object\' line");
    goto done;
  }
  tmp___0 = parse_oid_hex(buffer___5, tagged_oid, & p___0);
  if (tmp___0) {
    goto _L;
  } else
  if ((int const   )*p___0 != 10) {
    _L: /* CIL Label */
    ret___67 = report___0(options, oid, (enum object_type )4, (enum fsck_msg_id )6,
                          (char const   *)"invalid \'object\' line format - bad sha1");
    if (ret___67) {
      goto done;
    }
  }
  buffer___5 = p___0 + 1;
  tmp___1 = skip_prefix(buffer___5, (char const   *)"type ", & buffer___5);
  if (! tmp___1) {
    ret___67 = report___0(options, oid, (enum object_type )4, (enum fsck_msg_id )26,
                          (char const   *)"invalid format - expected \'type\' line");
    goto done;
  }
  eol = strchr(buffer___5, '\n');
  if (! eol) {
    ret___67 = report___0(options, oid, (enum object_type )4, (enum fsck_msg_id )25,
                          (char const   *)"invalid format - unexpected end after \'type\' line");
    goto done;
  }
  *tagged_type = type_from_string_gently(buffer___5, eol - (char *)buffer___5, 1);
  if (*tagged_type < 0) {
    ret___67 = report___0(options, oid, (enum object_type )4, (enum fsck_msg_id )12,
                          (char const   *)"invalid \'type\' value");
  }
  if (ret___67) {
    goto done;
  }
  buffer___5 = (char const   *)(eol + 1);
  tmp___2 = skip_prefix(buffer___5, (char const   *)"tag ", & buffer___5);
  if (! tmp___2) {
    ret___67 = report___0(options, oid, (enum object_type )4, (enum fsck_msg_id )22,
                          (char const   *)"invalid format - expected \'tag\' line");
    goto done;
  }
  eol = strchr(buffer___5, '\n');
  if (! eol) {
    ret___67 = report___0(options, oid, (enum object_type )4, (enum fsck_msg_id )21,
                          (char const   *)"invalid format - unexpected end after \'type\' line");
    goto done;
  }
  strbuf_addf(& sb___6, (char const   *)"refs/tags/%.*s", (int )(eol - (char *)buffer___5),
              buffer___5);
  tmp___3 = check_refname_format((char const   *)sb___6.buf, 0);
  if (tmp___3) {
    ret___67 = report___0(options, oid, (enum object_type )4, (enum fsck_msg_id )52,
                          (char const   *)"invalid \'tag\' name: %.*s", (int )(eol - (char *)buffer___5),
                          buffer___5);
    if (ret___67) {
      goto done;
    }
  }
  buffer___5 = (char const   *)(eol + 1);
  tmp___4 = skip_prefix(buffer___5, (char const   *)"tagger ", & buffer___5);
  if (tmp___4) {
    ret___67 = fsck_ident(& buffer___5, oid, (enum object_type )4, options);
  } else {
    ret___67 = report___0(options, oid, (enum object_type )4, (enum fsck_msg_id )53,
                          (char const   *)"invalid format - expected \'tagger\' line");
    if (ret___67) {
      goto done;
    }
  }
  if (! *buffer___5) {
    goto done;
  }
  tmp___5 = starts_with(buffer___5, (char const   *)"\n");
  if (! tmp___5) {
    ret___67 = report___0(options, oid, (enum object_type )4, (enum fsck_msg_id )54,
                          (char const   *)"invalid format - extra header(s) after \'tagger\'");
    if (ret___67) {
      goto done;
    }
  }
  done:
  strbuf_release(& sb___6);
  return (ret___67);
}
}
static int starts_with_dot_slash(char const   *str )
{
  int tmp ;

  {
  if ((int const   )*(str + 0) == 46) {
    if ((int const   )*(str + 1) == 47) {
      tmp = 1;
    } else
    if ((int const   )*(str + 1) == 92) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static int starts_with_dot_dot_slash(char const   *str )
{
  int tmp ;
  int tmp___0 ;

  {
  if ((int const   )*(str + 0) == 46) {
    tmp = starts_with_dot_slash(str + 1);
    if (tmp) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static int submodule_url_is_relative(char const   *url )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = starts_with_dot_slash(url);
  if (tmp) {
    tmp___1 = 1;
  } else {
    tmp___0 = starts_with_dot_dot_slash(url);
    if (tmp___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  }
  return (tmp___1);
}
}
static int count_leading_dotdots(char const   *url , char const   **out )
{
  int result___0 ;
  size_t tmp ;
  int tmp___0 ;
  size_t tmp___1 ;
  int tmp___2 ;

  {
  result___0 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = starts_with_dot_dot_slash(url);
    if (tmp___0) {
      result___0 ++;
      tmp = strlen((char const   *)"../");
      url += tmp;
      goto while_continue;
    }
    tmp___2 = starts_with_dot_slash(url);
    if (tmp___2) {
      tmp___1 = strlen((char const   *)"./");
      url += tmp___1;
      goto while_continue;
    }
    *out = url;
    return (result___0);
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int url_to_curl_url(char const   *url , char const   **out )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  tmp = skip_prefix(url, (char const   *)"http::", out);
  if (tmp) {
    return (1);
  } else {
    tmp___0 = skip_prefix(url, (char const   *)"https::", out);
    if (tmp___0) {
      return (1);
    } else {
      tmp___1 = skip_prefix(url, (char const   *)"ftp::", out);
      if (tmp___1) {
        return (1);
      } else {
        tmp___2 = skip_prefix(url, (char const   *)"ftps::", out);
        if (tmp___2) {
          return (1);
        }
      }
    }
  }
  tmp___3 = starts_with(url, (char const   *)"http://");
  if (tmp___3) {
    *out = url;
    return (1);
  } else {
    tmp___4 = starts_with(url, (char const   *)"https://");
    if (tmp___4) {
      *out = url;
      return (1);
    } else {
      tmp___5 = starts_with(url, (char const   *)"ftp://");
      if (tmp___5) {
        *out = url;
        return (1);
      } else {
        tmp___6 = starts_with(url, (char const   *)"ftps://");
        if (tmp___6) {
          *out = url;
          return (1);
        }
      }
    }
  }
  return (0);
}
}
static int check_submodule_url(char const   *url )
{
  char const   *curl_url ;
  int tmp ;
  char *decoded ;
  char const   *next___2 ;
  int has_nl ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  struct credential c___0 ;
  int ret___67 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  tmp = looks_like_command_line_option(url);
  if (tmp) {
    return (-1);
  }
  tmp___5 = submodule_url_is_relative(url);
  if (tmp___5) {
    goto _L;
  } else {
    tmp___6 = starts_with(url, (char const   *)"git://");
    if (tmp___6) {
      _L: /* CIL Label */
      decoded = url_decode(url);
      tmp___0 = strchr((char const   *)decoded, '\n');
      if (tmp___0) {
        tmp___1 = 1;
      } else {
        tmp___1 = 0;
      }
      has_nl = tmp___1;
      free((void *)decoded);
      if (has_nl) {
        return (-1);
      }
      tmp___2 = count_leading_dotdots(url, & next___2);
      if (tmp___2 > 0) {
        if ((int const   )*next___2 == 58) {
          return (-1);
        } else
        if ((int const   )*next___2 == 47) {
          return (-1);
        }
      }
    } else {
      tmp___4 = url_to_curl_url(url, & curl_url);
      if (tmp___4) {
        c___0.helpers.items = (struct string_list_item *)0;
        c___0.helpers.nr = 0U;
        c___0.helpers.alloc = 0U;
        c___0.helpers.strdup_strings = 1U;
        c___0.helpers.cmp = (int (*)(char const   * , char const   * ))0;
        c___0.approved = 0U;
        c___0.configured = 0U;
        c___0.quit = 0U;
        c___0.use_http_path = 0U;
        c___0.username_from_proto = 0U;
        c___0.username = (char *)0;
        c___0.password = (char *)0;
        c___0.protocol = (char *)0;
        c___0.host = (char *)0;
        c___0.path = (char *)0;
        ret___67 = 0;
        tmp___3 = credential_from_url_gently(& c___0, curl_url, 1);
        if (tmp___3) {
          ret___67 = -1;
        } else
        if (! *(c___0.host)) {
          ret___67 = -1;
        }
        credential_clear(& c___0);
        return (ret___67);
      }
    }
  }
  return (0);
}
}
static int fsck_gitmodules_fn(char const   *var , char const   *value , void *vdata )
{
  struct fsck_gitmodules_data *data ;
  char const   *subsection ;
  char const   *key___1 ;
  size_t subsection_len ;
  char *name___0 ;
  int tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  enum submodule_update_type tmp___11 ;

  {
  data = (struct fsck_gitmodules_data *)vdata;
  tmp = parse_config_key(var, (char const   *)"submodule", & subsection, & subsection_len,
                         & key___1);
  if (tmp < 0) {
    return (0);
  } else
  if (! subsection) {
    return (0);
  }
  tmp___0 = xmemdupz((void const   *)subsection, subsection_len);
  name___0 = (char *)tmp___0;
  tmp___2 = check_submodule_name((char const   *)name___0);
  if (tmp___2 < 0) {
    tmp___1 = report___0(data->options, data->oid, (enum object_type )3, (enum fsck_msg_id )34,
                         (char const   *)"disallowed submodule name: %s", name___0);
    data->ret |= tmp___1;
  }
  tmp___4 = strcmp(key___1, (char const   *)"url");
  if (! tmp___4) {
    if (value) {
      tmp___5 = check_submodule_url(value);
      if (tmp___5 < 0) {
        tmp___3 = report___0(data->options, data->oid, (enum object_type )3, (enum fsck_msg_id )36,
                             (char const   *)"disallowed submodule url: %s", value);
        data->ret |= tmp___3;
      }
    }
  }
  tmp___7 = strcmp(key___1, (char const   *)"path");
  if (! tmp___7) {
    if (value) {
      tmp___8 = looks_like_command_line_option(value);
      if (tmp___8) {
        tmp___6 = report___0(data->options, data->oid, (enum object_type )3, (enum fsck_msg_id )37,
                             (char const   *)"disallowed submodule path: %s", value);
        data->ret |= tmp___6;
      }
    }
  }
  tmp___10 = strcmp(key___1, (char const   *)"update");
  if (! tmp___10) {
    if (value) {
      tmp___11 = parse_submodule_update_type(value);
      if ((unsigned int )tmp___11 == 5U) {
        tmp___9 = report___0(data->options, data->oid, (enum object_type )3, (enum fsck_msg_id )38,
                             (char const   *)"disallowed submodule update setting: %s",
                             value);
        data->ret |= tmp___9;
      }
    }
  }
  free((void *)name___0);
  return (0);
}
}
static int fsck_blob(struct object_id  const  *oid , char const   *buf___19 , unsigned long size ,
                     struct fsck_options *options )
{
  struct fsck_gitmodules_data data ;
  struct config_options config_opts ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  config_opts.respect_includes = 0U;
  config_opts.ignore_repo = 0U;
  config_opts.ignore_worktree = 0U;
  config_opts.ignore_cmdline = 0U;
  config_opts.system_gently = 0U;
  config_opts.commondir = (char const   *)0;
  config_opts.git_dir = (char const   *)0;
  config_opts.event_fn = (int (*)(enum config_event_t type , size_t begin_offset ,
                                  size_t end_offset , void *event_fn_data ))0;
  config_opts.event_fn_data = (void *)0;
  config_opts.error_action = 0U;
  tmp = oidset_contains((struct oidset  const  *)(& options->gitmodules_found), oid);
  if (! tmp) {
    return (0);
  }
  oidset_insert(& options->gitmodules_done, oid);
  tmp___0 = object_on_skiplist(options, oid);
  if (tmp___0) {
    return (0);
  }
  if (! buf___19) {
    tmp___1 = report___0(options, oid, (enum object_type )3, (enum fsck_msg_id )33,
                         (char const   *)".gitmodules too large to parse");
    return (tmp___1);
  }
  data.oid = oid;
  data.options = options;
  data.ret = 0;
  config_opts.error_action = (enum config_error_action )3;
  tmp___3 = git_config_from_mem(& fsck_gitmodules_fn, (enum config_origin_type  const  )0,
                                (char const   *)".gitmodules", buf___19, size, (void *)(& data),
                                (struct config_options  const  *)(& config_opts));
  if (tmp___3) {
    tmp___2 = report___0(options, oid, (enum object_type )3, (enum fsck_msg_id )48,
                         (char const   *)"could not parse gitmodules blob");
    data.ret |= tmp___2;
  }
  return (data.ret);
}
}
int fsck_object(struct object *obj , void *data , unsigned long size , struct fsck_options *options )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  if (! obj) {
    tmp = report___0(options, (struct object_id  const  *)((void *)0), (enum object_type )0,
                     (enum fsck_msg_id )6, (char const   *)"no valid object to fsck");
    return (tmp);
  }
  if (obj->type == 3U) {
    tmp___0 = fsck_blob((struct object_id  const  *)(& obj->oid), (char const   *)data,
                        size, options);
    return (tmp___0);
  }
  if (obj->type == 2U) {
    tmp___1 = fsck_tree((struct object_id  const  *)(& obj->oid), (char const   *)data,
                        size, options);
    return (tmp___1);
  }
  if (obj->type == 1U) {
    tmp___2 = fsck_commit((struct object_id  const  *)(& obj->oid), (char const   *)data,
                          size, options);
    return (tmp___2);
  }
  if (obj->type == 4U) {
    tmp___3 = fsck_tag((struct object_id  const  *)(& obj->oid), (char const   *)data,
                       size, options);
    return (tmp___3);
  }
  tmp___4 = report___0(options, (struct object_id  const  *)(& obj->oid), (enum object_type )obj->type,
                       (enum fsck_msg_id )29, (char const   *)"unknown type \'%d\' (internal fsck error)",
                       obj->type);
  return (tmp___4);
}
}
int fsck_error_function(struct fsck_options *o , struct object_id  const  *oid , enum object_type object_type___0 ,
                        enum fsck_msg_type msg_type , enum fsck_msg_id msg_id , char const   *message___0 )
{
  char const   *tmp ;
  char const   *tmp___0 ;

  {
  if ((unsigned int )msg_type == 4U) {
    tmp = fsck_describe_object(o, oid);
    warning((char const   *)"object %s: %s", tmp, message___0);
    return (0);
  }
  tmp___0 = fsck_describe_object(o, oid);
  error((char const   *)"object %s: %s", tmp___0, message___0);
  const_error();
  return (1);
}
}
int fsck_finish(struct fsck_options *options )
{
  int ret___67 ;
  struct oidset_iter iter___0 ;
  struct object_id  const  *oid ;
  enum object_type type___0 ;
  unsigned long size ;
  char *buf___19 ;
  int tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  struct object_id *tmp___5 ;

  {
  ret___67 = 0;
  oidset_iter_init(& options->gitmodules_found, & iter___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___5 = oidset_iter_next(& iter___0);
    oid = (struct object_id  const  *)tmp___5;
    if (! oid) {
      goto while_break;
    }
    tmp = oidset_contains((struct oidset  const  *)(& options->gitmodules_done), oid);
    if (tmp) {
      goto while_continue;
    }
    tmp___0 = repo_read_object_file(the_repository, oid, & type___0, & size);
    buf___19 = (char *)tmp___0;
    if (! buf___19) {
      tmp___1 = is_promisor_object(oid);
      if (tmp___1) {
        goto while_continue;
      }
      tmp___2 = report___0(options, oid, (enum object_type )3, (enum fsck_msg_id )31,
                           (char const   *)"unable to read .gitmodules blob");
      ret___67 |= tmp___2;
      goto while_continue;
    }
    if ((int )type___0 == 3) {
      tmp___3 = fsck_blob(oid, (char const   *)buf___19, size, options);
      ret___67 |= tmp___3;
    } else {
      tmp___4 = report___0(options, oid, type___0, (enum fsck_msg_id )32, (char const   *)"non-blob found at .gitmodules");
      ret___67 |= tmp___4;
    }
    free((void *)buf___19);
  }
  while_break: /* CIL Label */ ;
  }
  oidset_clear(& options->gitmodules_found);
  oidset_clear(& options->gitmodules_done);
  return (ret___67);
}
}
int git_fsck_config(char const   *var , char const   *value , void *cb )
{
  struct fsck_options *options ;
  char const   *path___6 ;
  struct strbuf sb___6 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  options = (struct fsck_options *)cb;
  tmp___0 = strcmp(var, (char const   *)"fsck.skiplist");
  if (tmp___0 == 0) {
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    tmp = git_config_pathname(& path___6, var, value);
    if (tmp) {
      return (1);
    }
    strbuf_addf(& sb___6, (char const   *)"skiplist=%s", path___6);
    free((void *)((char *)path___6));
    fsck_set_msg_types(options, (char const   *)sb___6.buf);
    strbuf_release(& sb___6);
    return (0);
  }
  tmp___1 = skip_prefix(var, (char const   *)"fsck.", & var);
  if (tmp___1) {
    fsck_set_msg_type(options, var, value);
    return (0);
  }
  tmp___2 = git_default_config(var, value, cb);
  return (tmp___2);
}
}
int fsck_error_cb_print_missing_gitmodules(struct fsck_options *o , struct object_id  const  *oid ,
                                           enum object_type object_type___0 , enum fsck_msg_type msg_type ,
                                           enum fsck_msg_id msg_id , char const   *message___0 )
{
  char *tmp ;
  int tmp___0 ;

  {
  if ((unsigned int )msg_id == 31U) {
    tmp = oid_to_hex(oid);
    puts((char const   *)tmp);
    return (0);
  }
  tmp___0 = fsck_error_function(o, oid, object_type___0, msg_type, msg_id, message___0);
  return (tmp___0);
}
}
struct trace_key trace_fsmonitor  =    {(char const   *)"GIT_TRACE_FSMONITOR", 0, 0U, 0U};
static void assert_index_minimum(struct index_state *istate , size_t pos )
{


  {
  if (pos > (size_t )istate->cache_nr) {
    BUG_fl((char const   *)"fsmonitor.c", 20, (char const   *)"fsmonitor_dirty has more entries than the index (%lu > %u)",
           pos, istate->cache_nr);
  }
  return;
}
}
static void fsmonitor_ewah_callback(size_t pos , void *is )
{
  struct index_state *istate ;
  struct cache_entry *ce ;

  {
  istate = (struct index_state *)is;
  assert_index_minimum(istate, pos + 1UL);
  ce = *(istate->cache + pos);
  ce->ce_flags &= (unsigned int )(~ (1 << 21));
  return;
}
}
static int fsmonitor_hook_version(void)
{
  int hook_version ;
  int tmp ;

  {
  tmp = git_config_get_int((char const   *)"core.fsmonitorhookversion", & hook_version);
  if (tmp) {
    return (-1);
  }
  if (hook_version == 1) {
    return (hook_version);
  } else
  if (hook_version == 2) {
    return (hook_version);
  }
  warning((char const   *)"Invalid hook version \'%i\' in core.fsmonitorhookversion. Must be 1 or 2.",
          hook_version);
  return (-1);
}
}
int read_fsmonitor_extension(struct index_state *istate , void const   *data , unsigned long sz )
{
  char const   *index___2 ;
  uint32_t hdr_version ;
  uint32_t ewah_size ;
  struct ewah_bitmap *fsmonitor_dirty ;
  int ret___67 ;
  uint64_t timestamp___0 ;
  struct strbuf last_update ;
  int tmp ;
  int tmp___0 ;
  ssize_t tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  index___2 = (char const   *)data;
  last_update.alloc = 0UL;
  last_update.len = 0UL;
  last_update.buf = strbuf_slopbuf;
  if (sz < (sizeof(uint32_t ) + 1UL) + sizeof(uint32_t )) {
    error((char const   *)"corrupt fsmonitor extension (too short)");
    tmp = const_error();
    return (tmp);
  }
  hdr_version = get_be32((void const   *)index___2);
  index___2 += sizeof(uint32_t );
  if (hdr_version == 1U) {
    timestamp___0 = get_be64((void const   *)index___2);
    strbuf_addf(& last_update, (char const   *)"%lu", timestamp___0);
    index___2 += sizeof(uint64_t );
  } else
  if (hdr_version == 2U) {
    strbuf_addstr(& last_update, index___2);
    index___2 += last_update.len + 1UL;
  } else {
    error((char const   *)"bad fsmonitor version %d", hdr_version);
    tmp___0 = const_error();
    return (tmp___0);
  }
  istate->fsmonitor_last_update = strbuf_detach(& last_update, (size_t *)((void *)0));
  ewah_size = get_be32((void const   *)index___2);
  index___2 += sizeof(uint32_t );
  fsmonitor_dirty = ewah_new();
  tmp___1 = ewah_read_mmap(fsmonitor_dirty, (void const   *)index___2, (size_t )ewah_size);
  ret___67 = (int )tmp___1;
  if ((uint32_t )ret___67 != ewah_size) {
    ewah_free(fsmonitor_dirty);
    error((char const   *)"failed to parse ewah bitmap reading fsmonitor index extension");
    tmp___2 = const_error();
    return (tmp___2);
  }
  istate->fsmonitor_dirty = fsmonitor_dirty;
  if (! istate->split_index) {
    assert_index_minimum(istate, (istate->fsmonitor_dirty)->bit_size);
  }
  trace2_data_string_fl((char const   *)"fsmonitor.c", 94, (char const   *)"index",
                        (struct repository  const  *)((void *)0), (char const   *)"extension/fsmn/read/token",
                        (char const   *)istate->fsmonitor_last_update);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = trace_pass_fl(& trace_fsmonitor);
    if (tmp___3) {
      trace_printf_key_fl((char const   *)"fsmonitor.c", 97, & trace_fsmonitor, (char const   *)"read fsmonitor extension successful \'%s\'",
                          istate->fsmonitor_last_update);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
void fill_fsmonitor_bitmap(struct index_state *istate )
{
  unsigned int i ;
  unsigned int skipped ;

  {
  skipped = 0U;
  istate->fsmonitor_dirty = ewah_new();
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < istate->cache_nr)) {
      goto while_break;
    }
    if ((*(istate->cache + i))->ce_flags & (unsigned int )(1 << 17)) {
      skipped ++;
    } else
    if (! ((*(istate->cache + i))->ce_flags & (unsigned int )(1 << 21))) {
      ewah_set(istate->fsmonitor_dirty, (size_t )(i - skipped));
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void write_fsmonitor_extension(struct strbuf *sb___6 , struct index_state *istate )
{
  uint32_t hdr_version ;
  uint32_t ewah_start ;
  uint32_t ewah_size ;
  int fixup ;
  int tmp ;

  {
  ewah_size = (uint32_t )0;
  fixup = 0;
  if (! istate->split_index) {
    assert_index_minimum(istate, (istate->fsmonitor_dirty)->bit_size);
  }
  put_be32((void *)(& hdr_version), (uint32_t )2);
  strbuf_add(sb___6, (void const   *)(& hdr_version), sizeof(uint32_t ));
  strbuf_addstr(sb___6, (char const   *)istate->fsmonitor_last_update);
  strbuf_addch(sb___6, 0);
  fixup = (int )sb___6->len;
  strbuf_add(sb___6, (void const   *)(& ewah_size), sizeof(uint32_t ));
  ewah_start = (uint32_t )sb___6->len;
  ewah_serialize_strbuf(istate->fsmonitor_dirty, sb___6);
  ewah_free(istate->fsmonitor_dirty);
  istate->fsmonitor_dirty = (struct ewah_bitmap *)((void *)0);
  put_be32((void *)(& ewah_size), (uint32_t )(sb___6->len - (size_t )ewah_start));
  memcpy((void *)(sb___6->buf + fixup), (void const   *)(& ewah_size), sizeof(uint32_t ));
  trace2_data_string_fl((char const   *)"fsmonitor.c", 142, (char const   *)"index",
                        (struct repository  const  *)((void *)0), (char const   *)"extension/fsmn/write/token",
                        (char const   *)istate->fsmonitor_last_update);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = trace_pass_fl(& trace_fsmonitor);
    if (tmp) {
      trace_printf_key_fl((char const   *)"fsmonitor.c", 145, & trace_fsmonitor, (char const   *)"write fsmonitor extension successful \'%s\'",
                          istate->fsmonitor_last_update);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int query_fsmonitor(int version___0 , char const   *last_update , struct strbuf *query_result )
{
  struct child_process cp ;
  int result___0 ;
  int tmp ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  if (! core_fsmonitor) {
    return (-1);
  }
  strvec_push(& cp.args, core_fsmonitor);
  strvec_pushf(& cp.args, (char const   *)"%d", version___0);
  strvec_pushf(& cp.args, (char const   *)"%s", last_update);
  cp.use_shell = 1U;
  cp.dir = get_git_work_tree();
  trace2_region_enter_fl((char const   *)"fsmonitor.c", 165, (char const   *)"fsm_hook",
                         (char const   *)"query", (struct repository  const  *)((void *)0));
  result___0 = capture_command(& cp, query_result, (size_t )1024);
  if (result___0) {
    trace2_data_intmax_fl((char const   *)"fsmonitor.c", 170, (char const   *)"fsm_hook",
                          (struct repository  const  *)((void *)0), (char const   *)"query/failed",
                          (intmax_t )result___0);
  } else {
    trace2_data_intmax_fl((char const   *)"fsmonitor.c", 173, (char const   *)"fsm_hook",
                          (struct repository  const  *)((void *)0), (char const   *)"query/response-length",
                          (intmax_t )query_result->len);
    tmp = fsmonitor_is_trivial_response((struct strbuf  const  *)query_result);
    if (tmp) {
      trace2_data_intmax_fl((char const   *)"fsmonitor.c", 177, (char const   *)"fsm_hook",
                            (struct repository  const  *)((void *)0), (char const   *)"query/trivial-response",
                            (intmax_t )1);
    }
  }
  trace2_region_leave_fl((char const   *)"fsmonitor.c", 180, (char const   *)"fsm_hook",
                         (char const   *)"query", (struct repository  const  *)((void *)0));
  return (result___0);
}
}
static char trivial_response[3]  = {      (char )'\000',      (char )'/',      (char )'\000'};
int fsmonitor_is_trivial_response(struct strbuf  const  *query_result )
{
  int tmp ;
  int tmp___0 ;

  {
  if (query_result->len >= 3UL) {
    tmp = memcmp((void const   *)(trivial_response), (void const   *)(query_result->buf + (query_result->len - 3UL)),
                 (size_t )3);
    if (tmp) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static void fsmonitor_refresh_callback(struct index_state *istate , char *name___0 )
{
  int i ;
  int len___0 ;
  size_t tmp ;
  int tmp___0 ;
  int pos ;
  size_t tmp___1 ;
  int tmp___2 ;
  struct cache_entry *ce ;
  int tmp___3 ;

  {
  tmp = strlen((char const   *)name___0);
  len___0 = (int )tmp;
  if ((int )*(name___0 + (len___0 - 1)) == 47) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )i < istate->cache_nr)) {
        goto while_break;
      }
      if ((*(istate->cache + i))->ce_flags & (unsigned int )(1 << 21)) {
        tmp___0 = starts_with((char const   *)((*(istate->cache + i))->name), (char const   *)name___0);
        if (tmp___0) {
          (*(istate->cache + i))->ce_flags &= (unsigned int )(~ (1 << 21));
        }
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    *(name___0 + (len___0 - 1)) = (char )'\000';
  } else {
    tmp___1 = strlen((char const   *)name___0);
    tmp___2 = index_name_pos(istate, (char const   *)name___0, (int )tmp___1);
    pos = tmp___2;
    if (pos >= 0) {
      ce = *(istate->cache + pos);
      ce->ce_flags &= (unsigned int )(~ (1 << 21));
    }
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___3 = trace_pass_fl(& trace_fsmonitor);
    if (tmp___3) {
      trace_printf_key_fl((char const   *)"fsmonitor.c", 228, & trace_fsmonitor, (char const   *)"fsmonitor_refresh_callback \'%s\'",
                          name___0);
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  untracked_cache_invalidate_path(istate, (char const   *)name___0, 0);
  return;
}
}
void refresh_fsmonitor(struct index_state *istate )
{
  struct strbuf query_result ;
  int query_success ;
  int hook_version ;
  size_t bol ;
  uint64_t last_update ;
  struct strbuf last_update_token ;
  char *buf___19 ;
  unsigned int i ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  uint64_t tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;
  int is_cache_changed ;

  {
  query_result.alloc = 0UL;
  query_result.len = 0UL;
  query_result.buf = strbuf_slopbuf;
  query_success = 0;
  hook_version = -1;
  bol = (size_t )0;
  last_update_token.alloc = 0UL;
  last_update_token.len = 0UL;
  last_update_token.buf = strbuf_slopbuf;
  if (! core_fsmonitor) {
    return;
  } else
  if (istate->fsmonitor_has_run_once) {
    return;
  }
  hook_version = fsmonitor_hook_version();
  istate->fsmonitor_has_run_once = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = trace_pass_fl(& trace_fsmonitor);
    if (tmp) {
      trace_printf_key_fl((char const   *)"fsmonitor.c", 249, & trace_fsmonitor, (char const   *)"refresh fsmonitor");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  last_update = getnanotime();
  if (hook_version == 1) {
    strbuf_addf(& last_update_token, (char const   *)"%lu", last_update);
  }
  if (istate->fsmonitor_last_update) {
    if (hook_version == -1) {
      goto _L;
    } else
    if (hook_version == 2) {
      _L: /* CIL Label */
      tmp___0 = query_fsmonitor(2, (char const   *)istate->fsmonitor_last_update,
                                & query_result);
      if (tmp___0) {
        tmp___1 = 0;
      } else {
        tmp___1 = 1;
      }
      query_success = tmp___1;
      if (query_success) {
        if (hook_version < 0) {
          hook_version = 2;
        }
        buf___19 = query_result.buf;
        strbuf_addstr(& last_update_token, (char const   *)buf___19);
        if (! last_update_token.len) {
          warning((char const   *)"Empty last update token.");
          query_success = 0;
        } else {
          bol = last_update_token.len + 1UL;
        }
      } else
      if (hook_version < 0) {
        hook_version = 1;
        if (! last_update_token.len) {
          strbuf_addf(& last_update_token, (char const   *)"%lu", last_update);
        }
      }
    }
    if (hook_version == 1) {
      tmp___2 = query_fsmonitor(1, (char const   *)istate->fsmonitor_last_update,
                                & query_result);
      if (tmp___2) {
        tmp___3 = 0;
      } else {
        tmp___3 = 1;
      }
      query_success = tmp___3;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___5 = trace_pass_fl(& trace_perf_key);
      if (tmp___5) {
        tmp___4 = getnanotime();
        trace_performance_fl((char const   *)"fsmonitor.c", 299, tmp___4 - last_update,
                             (char const   *)"fsmonitor process \'%s\'", core_fsmonitor);
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      tmp___7 = trace_pass_fl(& trace_fsmonitor);
      if (tmp___7) {
        if (query_success) {
          tmp___6 = "success";
        } else {
          tmp___6 = "failure";
        }
        trace_printf_key_fl((char const   *)"fsmonitor.c", 301, & trace_fsmonitor,
                            (char const   *)"fsmonitor process \'%s\' returned %s",
                            core_fsmonitor, tmp___6);
      }
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  if (query_success) {
    if ((int )*(query_result.buf + bol) != 47) {
      buf___19 = query_result.buf;
      i = (unsigned int )bol;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (! ((size_t )i < query_result.len)) {
          goto while_break___2;
        }
        if ((int )*(buf___19 + i) != 0) {
          goto __Cont;
        }
        fsmonitor_refresh_callback(istate, buf___19 + bol);
        bol = (size_t )(i + 1U);
        __Cont: /* CIL Label */
        i ++;
      }
      while_break___2: /* CIL Label */ ;
      }
      if (bol < query_result.len) {
        fsmonitor_refresh_callback(istate, buf___19 + bol);
      }
      if (istate->untracked) {
        (istate->untracked)->use_fsmonitor = 1U;
      }
    } else {
      goto _L___0;
    }
  } else {
    _L___0: /* CIL Label */
    is_cache_changed = 0;
    i = 0U;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! (i < istate->cache_nr)) {
        goto while_break___3;
      }
      if ((*(istate->cache + i))->ce_flags & (unsigned int )(1 << 21)) {
        is_cache_changed = 1;
        (*(istate->cache + i))->ce_flags &= (unsigned int )(~ (1 << 21));
      }
      i ++;
    }
    while_break___3: /* CIL Label */ ;
    }
    if (is_cache_changed) {
      istate->cache_changed |= (unsigned int )(1 << 8);
    }
    if (istate->untracked) {
      (istate->untracked)->use_fsmonitor = 0U;
    }
  }
  strbuf_release(& query_result);
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    free((void *)istate->fsmonitor_last_update);
    istate->fsmonitor_last_update = (char *)((void *)0);
    goto while_break___4;
  }
  while_break___4: /* CIL Label */ ;
  }
  istate->fsmonitor_last_update = strbuf_detach(& last_update_token, (size_t *)((void *)0));
  return;
}
}
static void initialize_fsmonitor_last_update(struct index_state *istate )
{
  struct strbuf last_update ;
  uint64_t tmp ;

  {
  last_update.alloc = 0UL;
  last_update.len = 0UL;
  last_update.buf = strbuf_slopbuf;
  tmp = getnanotime();
  strbuf_addf(& last_update, (char const   *)"%lu", tmp);
  istate->fsmonitor_last_update = strbuf_detach(& last_update, (size_t *)((void *)0));
  return;
}
}
void add_fsmonitor(struct index_state *istate )
{
  unsigned int i ;
  int tmp ;

  {
  if (! istate->fsmonitor_last_update) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp = trace_pass_fl(& trace_fsmonitor);
      if (tmp) {
        trace_printf_key_fl((char const   *)"fsmonitor.c", 383, & trace_fsmonitor,
                            (char const   *)"add fsmonitor");
      }
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    istate->cache_changed |= (unsigned int )(1 << 8);
    initialize_fsmonitor_last_update(istate);
    i = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < istate->cache_nr)) {
        goto while_break___0;
      }
      (*(istate->cache + i))->ce_flags &= (unsigned int )(~ (1 << 21));
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (istate->untracked) {
      add_untracked_cache(istate);
      (istate->untracked)->use_fsmonitor = 1U;
    }
    refresh_fsmonitor(istate);
  }
  return;
}
}
void remove_fsmonitor(struct index_state *istate )
{
  int tmp ;

  {
  if (istate->fsmonitor_last_update) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp = trace_pass_fl(& trace_fsmonitor);
      if (tmp) {
        trace_printf_key_fl((char const   *)"fsmonitor.c", 405, & trace_fsmonitor,
                            (char const   *)"remove fsmonitor");
      }
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    istate->cache_changed |= (unsigned int )(1 << 8);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      free((void *)istate->fsmonitor_last_update);
      istate->fsmonitor_last_update = (char *)((void *)0);
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  return;
}
}
void tweak_fsmonitor(struct index_state *istate )
{
  unsigned int i ;
  int fsmonitor_enabled ;
  int tmp ;

  {
  tmp = git_config_get_fsmonitor();
  fsmonitor_enabled = tmp;
  if (istate->fsmonitor_dirty) {
    if (fsmonitor_enabled) {
      i = 0U;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! (i < istate->cache_nr)) {
          goto while_break;
        }
        (*(istate->cache + i))->ce_flags |= (unsigned int )(1 << 21);
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
      assert_index_minimum(istate, (istate->fsmonitor_dirty)->bit_size);
      ewah_each_bit(istate->fsmonitor_dirty, & fsmonitor_ewah_callback, (void *)istate);
      refresh_fsmonitor(istate);
    }
    ewah_free(istate->fsmonitor_dirty);
    istate->fsmonitor_dirty = (struct ewah_bitmap *)((void *)0);
  }
  {
  if (fsmonitor_enabled == -1) {
    goto case_neg_1;
  }
  if (fsmonitor_enabled == 0) {
    goto case_0;
  }
  if (fsmonitor_enabled == 1) {
    goto case_1;
  }
  goto switch_default;
  case_neg_1: /* CIL Label */
  goto switch_break;
  case_0: /* CIL Label */
  remove_fsmonitor(istate);
  goto switch_break;
  case_1: /* CIL Label */
  add_fsmonitor(istate);
  goto switch_break;
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
extern nl_catd ( __attribute__((__nonnull__(1))) catopen)(char const   *__cat_name ,
                                                          int __flag ) ;
extern char *( __attribute__((__nonnull__(1), __leaf__)) catgets)(nl_catd __catalog ,
                                                                  int __set , int __number ,
                                                                  char const   *__string )  __attribute__((__nothrow__)) ;
extern int ( __attribute__((__nonnull__(1), __leaf__)) catclose)(nl_catd __catalog )  __attribute__((__nothrow__)) ;
extern char *( __attribute__((__leaf__)) nl_langinfo)(nl_item __item )  __attribute__((__nothrow__)) ;
extern char *nl_langinfo_l(nl_item __item , locale_t __l ) ;
static char const   *charset  ;
char const   *get_preferred_languages(void)
{
  char const   *retval ;
  char *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = getenv((char const   *)"LANGUAGE");
  retval = (char const   *)tmp;
  if (retval) {
    if (*retval) {
      return (retval);
    }
  }
  tmp___0 = setlocale(5, (char const   *)((void *)0));
  retval = (char const   *)tmp___0;
  if (retval) {
    if (*retval) {
      tmp___1 = strcmp(retval, (char const   *)"C");
      if (tmp___1) {
        tmp___2 = strcmp(retval, (char const   *)"POSIX");
        if (tmp___2) {
          return (retval);
        }
      }
    }
  }
  return ((char const   *)((void *)0));
}
}
static int ( /* format attribute */  test_vsnprintf)(char const   *fmt  , ...)
{
  char buf___19[26] ;
  int ret___67 ;
  va_list ap ;

  {
  __builtin_va_start(ap, fmt);
  ret___67 = vsnprintf(buf___19, sizeof(buf___19), fmt, ap);
  __builtin_va_end(ap);
  return (ret___67);
}
}
static void init_gettext_charset(char const   *domain )
{
  char *tmp ;
  int tmp___0 ;

  {
  setlocale(0, (char const   *)"");
  tmp = nl_langinfo(14);
  charset = (char const   *)tmp;
  bind_textdomain_codeset(domain, charset);
  tmp___0 = test_vsnprintf((char const   *)"%.*s", 13, "David_K\345gedal");
  if (tmp___0 < 0) {
    setlocale(0, (char const   *)"C");
  }
  return;
}
}
void git_setup_gettext(void)
{
  char const   *podir ;
  char *tmp ;
  char *p___0 ;
  int tmp___0 ;

  {
  tmp = getenv((char const   *)"GIT_TEXTDOMAINDIR");
  podir = (char const   *)tmp;
  p___0 = (char *)((void *)0);
  if (! podir) {
    p___0 = system_path((char const   *)"share/locale");
    podir = (char const   *)p___0;
  }
  tmp___0 = is_directory(podir);
  if (! tmp___0) {
    free((void *)p___0);
    return;
  }
  bindtextdomain((char const   *)"git", podir);
  setlocale(5, (char const   *)"");
  setlocale(2, (char const   *)"");
  init_gettext_charset((char const   *)"git");
  textdomain((char const   *)"git");
  free((void *)p___0);
  return;
}
}
static int is_utf8___0  =    -1;
int gettext_width(char const   *s___1 )
{
  int tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;

  {
  if (is_utf8___0 == -1) {
    is_utf8___0 = is_utf8_locale();
  }
  if (is_utf8___0) {
    tmp = utf8_strwidth(s___1);
    tmp___1 = (size_t )tmp;
  } else {
    tmp___0 = strlen(s___1);
    tmp___1 = tmp___0;
  }
  return ((int )tmp___1);
}
}
int is_utf8_locale(void)
{
  int tmp ;

  {
  tmp = is_encoding_utf8(charset);
  return (tmp);
}
}
static char *configured_signing_key  ;
static char const   *ssh_default_key_command  ;
static char const   *ssh_allowed_signers  ;
static char const   *ssh_revocation_file  ;
static enum signature_trust_level configured_min_trust_level  =    (enum signature_trust_level )0;
static char const   *openpgp_verify_args[2]  = {      (char const   *)"--keyid-format=long",      (char const   *)((void *)0)};
static char const   *openpgp_sigs[3]  = {      (char const   *)"-----BEGIN PGP SIGNATURE-----",      (char const   *)"-----BEGIN PGP MESSAGE-----",      (char const   *)((void *)0)};
static char const   *x509_verify_args[1]  = {      (char const   *)((void *)0)};
static char const   *x509_sigs[2]  = {      (char const   *)"-----BEGIN SIGNED MESSAGE-----",      (char const   *)((void *)0)};
static char const   *ssh_verify_args[1]  = {      (char const   *)((void *)0)};
static char const   *ssh_sigs[2]  = {      (char const   *)"-----BEGIN SSH SIGNATURE-----",      (char const   *)((void *)0)};
static int verify_gpg_signed_buffer(struct signature_check *sigc , struct gpg_format *fmt ,
                                    char const   *signature___0 , size_t signature_size ) ;
static int verify_ssh_signed_buffer(struct signature_check *sigc , struct gpg_format *fmt ,
                                    char const   *signature___0 , size_t signature_size ) ;
static int sign_buffer_gpg(struct strbuf *buffer___5 , struct strbuf *signature___0 ,
                           char const   *signing_key ) ;
static int sign_buffer_ssh(struct strbuf *buffer___5 , struct strbuf *signature___0 ,
                           char const   *signing_key ) ;
static char const   *get_default_ssh_signing_key(void) ;
static char const   *get_ssh_key_id(void) ;
static struct gpg_format gpg_format[3]  = {      {(char const   *)"openpgp", (char const   *)"gpg", openpgp_verify_args, openpgp_sigs,
      & verify_gpg_signed_buffer, & sign_buffer_gpg, (char const   *(*)(void))((void *)0),
      (char const   *(*)(void))((void *)0)},
        {(char const   *)"x509", (char const   *)"gpgsm", x509_verify_args, x509_sigs,
      & verify_gpg_signed_buffer, & sign_buffer_gpg, (char const   *(*)(void))((void *)0),
      (char const   *(*)(void))((void *)0)},
        {(char const   *)"ssh", (char const   *)"ssh-keygen", ssh_verify_args, ssh_sigs,
      & verify_ssh_signed_buffer, & sign_buffer_ssh, & get_default_ssh_signing_key,
      & get_ssh_key_id}};
static struct gpg_format *use_format  =    & gpg_format[0];
static struct gpg_format *get_format_by_name(char const   *str )
{
  int i ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(gpg_format) / sizeof(gpg_format[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp = strcmp(gpg_format[i].name, str);
    if (! tmp) {
      return (gpg_format + i);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct gpg_format *)((void *)0));
}
}
static struct gpg_format *get_format_by_sig(char const   *sig )
{
  int i ;
  int j ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(gpg_format) / sizeof(gpg_format[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    j = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! *(gpg_format[i].sigs + j)) {
        goto while_break___0;
      }
      tmp = starts_with(sig, *(gpg_format[i].sigs + j));
      if (tmp) {
        return (gpg_format + i);
      }
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct gpg_format *)((void *)0));
}
}
void signature_check_clear(struct signature_check *sigc )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)sigc->payload);
    sigc->payload = (char *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)sigc->output);
    sigc->output = (char *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    free((void *)sigc->gpg_status);
    sigc->gpg_status = (char *)((void *)0);
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    free((void *)sigc->signer);
    sigc->signer = (char *)((void *)0);
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    free((void *)sigc->key);
    sigc->key = (char *)((void *)0);
    goto while_break___3;
  }
  while_break___3: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    free((void *)sigc->fingerprint);
    sigc->fingerprint = (char *)((void *)0);
    goto while_break___4;
  }
  while_break___4: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___5: /* CIL Label */ ;
    free((void *)sigc->primary_key_fingerprint);
    sigc->primary_key_fingerprint = (char *)((void *)0);
    goto while_break___5;
  }
  while_break___5: /* CIL Label */ ;
  }
  return;
}
}
static struct __anonstruct_sigcheck_gpg_status_963783585 sigcheck_gpg_status[8]  =
  {      {(char )'G', (char const   *)"GOODSIG ", (unsigned int )((1 | (1 << 1)) | (1 << 2))},
        {(char )'B',
      (char const   *)"BADSIG ", (unsigned int )((1 | (1 << 1)) | (1 << 2))},
        {(char )'E', (char const   *)"ERRSIG ", (unsigned int )(1 | (1 << 1))},
        {(char )'X', (char const   *)"EXPSIG ", (unsigned int )((1 | (1 << 1)) | (1 << 2))},
        {(char )'Y',
      (char const   *)"EXPKEYSIG ", (unsigned int )((1 | (1 << 1)) | (1 << 2))},
        {(char )'R', (char const   *)"REVKEYSIG ", (unsigned int )((1 | (1 << 1)) | (1 << 2))},
        {(char)0,
      (char const   *)"VALIDSIG ", (unsigned int )(1 << 3)},
        {(char)0, (char const   *)"TRUST_", (unsigned int )(1 << 4)}};
static struct __anonstruct_sigcheck_gpg_trust_level_78706636 sigcheck_gpg_trust_level[5]  = {      {(char const   *)"UNDEFINED",
      (enum signature_trust_level )0},
        {(char const   *)"NEVER", (enum signature_trust_level )1},
        {(char const   *)"MARGINAL", (enum signature_trust_level )2},
        {(char const   *)"FULLY", (enum signature_trust_level )3},
        {(char const   *)"ULTIMATE", (enum signature_trust_level )4}};
static void replace_cstring(char **field , char const   *line___0 , char const   *next___2 )
{
  void *tmp ;

  {
  free((void *)*field);
  if (line___0) {
    if (next___2) {
      tmp = xmemdupz((void const   *)line___0, (size_t )(next___2 - line___0));
      *field = (char *)tmp;
    } else {
      *field = (char *)((void *)0);
    }
  } else {
    *field = (char *)((void *)0);
  }
  return;
}
}
static int parse_gpg_trust_level(char const   *level , enum signature_trust_level *res )
{
  size_t i ;
  int tmp ;

  {
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < sizeof(sigcheck_gpg_trust_level) / sizeof(sigcheck_gpg_trust_level[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp = strcmp(sigcheck_gpg_trust_level[i].key, level);
    if (! tmp) {
      *res = sigcheck_gpg_trust_level[i].value;
      return (0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static void parse_gpg_output(struct signature_check *sigc )
{
  char const   *buf___19 ;
  char const   *line___0 ;
  char const   *next___2 ;
  int i ;
  int j ;
  int seen_exclusive_status ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  size_t trust_size ;
  size_t tmp___4 ;
  char *trust ;
  void *tmp___5 ;
  int tmp___6 ;
  char const   *limit___1 ;
  char **field ;
  char *tmp___7 ;
  char *tmp___8 ;
  char *tmp___9 ;
  char *tmp___10 ;
  int tmp___11 ;

  {
  buf___19 = (char const   *)sigc->gpg_status;
  seen_exclusive_status = 0;
  line___0 = buf___19;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *line___0) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((int const   )*line___0 == 10)) {
        goto while_break___0;
      }
      line___0 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! *line___0) {
      goto while_break;
    }
    tmp___0 = skip_prefix(line___0, (char const   *)"[GNUPG:] ", & line___0);
    if (! tmp___0) {
      goto __Cont;
    }
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((unsigned long )i < sizeof(sigcheck_gpg_status) / sizeof(sigcheck_gpg_status[0]) + (sizeof(char [1]) - 1UL))) {
        goto while_break___1;
      }
      tmp___11 = skip_prefix(line___0, sigcheck_gpg_status[i].check, & line___0);
      if (tmp___11) {
        if (sigcheck_gpg_status[i].flags & 1U) {
          tmp___1 = seen_exclusive_status;
          seen_exclusive_status ++;
          if (tmp___1) {
            goto error;
          }
        }
        if (sigcheck_gpg_status[i].result) {
          sigc->result = sigcheck_gpg_status[i].result;
        }
        if (sigcheck_gpg_status[i].flags & (unsigned int )(1 << 1)) {
          tmp___2 = strchrnul(line___0, ' ');
          next___2 = (char const   *)tmp___2;
          replace_cstring(& sigc->key, line___0, next___2);
          if (*next___2) {
            if (sigcheck_gpg_status[i].flags & (unsigned int )(1 << 2)) {
              line___0 = next___2 + 1;
              tmp___3 = strchrnul(line___0, '\n');
              next___2 = (char const   *)tmp___3;
              replace_cstring(& sigc->signer, line___0, next___2);
            }
          }
        }
        if (sigcheck_gpg_status[i].flags & (unsigned int )(1 << 4)) {
          tmp___4 = strcspn(line___0, (char const   *)" \n");
          trust_size = tmp___4;
          tmp___5 = xmemdupz((void const   *)line___0, trust_size);
          trust = (char *)tmp___5;
          tmp___6 = parse_gpg_trust_level((char const   *)trust, & sigc->trust_level);
          if (tmp___6) {
            free((void *)trust);
            goto error;
          }
          free((void *)trust);
        }
        if (sigcheck_gpg_status[i].flags & (unsigned int )(1 << 3)) {
          tmp___7 = strchrnul(line___0, ' ');
          next___2 = (char const   *)tmp___7;
          replace_cstring(& sigc->fingerprint, line___0, next___2);
          tmp___8 = strchrnul(line___0, '\n');
          limit___1 = (char const   *)tmp___8;
          j = 9;
          {
          while (1) {
            while_continue___2: /* CIL Label */ ;
            if (! (j > 0)) {
              goto while_break___2;
            }
            if (! *next___2) {
              goto while_break___2;
            } else
            if ((unsigned long )limit___1 <= (unsigned long )next___2) {
              goto while_break___2;
            }
            line___0 = next___2 + 1;
            tmp___9 = strchrnul(line___0, ' ');
            next___2 = (char const   *)tmp___9;
            j --;
          }
          while_break___2: /* CIL Label */ ;
          }
          field = & sigc->primary_key_fingerprint;
          if (! j) {
            tmp___10 = strchrnul(line___0, '\n');
            next___2 = (char const   *)tmp___10;
            replace_cstring(field, line___0, next___2);
          } else {
            replace_cstring(field, (char const   *)((void *)0), (char const   *)((void *)0));
          }
        }
        goto while_break___1;
      }
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    tmp = strchrnul(line___0 + 1, '\n');
    line___0 = (char const   *)tmp;
  }
  while_break: /* CIL Label */ ;
  }
  return;
  error:
  sigc->result = (char )'E';
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    free((void *)sigc->primary_key_fingerprint);
    sigc->primary_key_fingerprint = (char *)((void *)0);
    goto while_break___3;
  }
  while_break___3: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    free((void *)sigc->fingerprint);
    sigc->fingerprint = (char *)((void *)0);
    goto while_break___4;
  }
  while_break___4: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___5: /* CIL Label */ ;
    free((void *)sigc->signer);
    sigc->signer = (char *)((void *)0);
    goto while_break___5;
  }
  while_break___5: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___6: /* CIL Label */ ;
    free((void *)sigc->key);
    sigc->key = (char *)((void *)0);
    goto while_break___6;
  }
  while_break___6: /* CIL Label */ ;
  }
  return;
}
}
static int verify_gpg_signed_buffer(struct signature_check *sigc , struct gpg_format *fmt ,
                                    char const   *signature___0 , size_t signature_size )
{
  struct child_process gpg ;
  struct tempfile *temp ;
  int ret___67 ;
  struct strbuf gpg_stdout ;
  struct strbuf gpg_stderr ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  ssize_t tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;

  {
  gpg.args.v = empty_strvec;
  gpg.args.nr = 0UL;
  gpg.args.alloc = 0UL;
  gpg.env_array.v = empty_strvec;
  gpg.env_array.nr = 0UL;
  gpg.env_array.alloc = 0UL;
  gpg.pid = 0;
  gpg.trace2_child_id = 0;
  gpg.trace2_child_us_start = 0UL;
  gpg.trace2_child_class = (char const   *)0;
  gpg.trace2_hook_name = (char const   *)0;
  gpg.in = 0;
  gpg.out = 0;
  gpg.err = 0;
  gpg.dir = (char const   *)0;
  gpg.no_stdin = 0U;
  gpg.no_stdout = 0U;
  gpg.no_stderr = 0U;
  gpg.git_cmd = 0U;
  gpg.silent_exec_failure = 0U;
  gpg.use_shell = 0U;
  gpg.close_object_store = 0U;
  gpg.stdout_to_stderr = 0U;
  gpg.clean_on_exit = 0U;
  gpg.wait_after_clean = 0U;
  gpg.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  gpg.clean_on_exit_handler_cbdata = (void *)0;
  gpg_stdout.alloc = 0UL;
  gpg_stdout.len = 0UL;
  gpg_stdout.buf = strbuf_slopbuf;
  gpg_stderr.alloc = 0UL;
  gpg_stderr.len = 0UL;
  gpg_stderr.buf = strbuf_slopbuf;
  temp = mks_tempfile_t((char const   *)".git_vtag_tmpXXXXXX");
  if (! temp) {
    tmp = _((char const   *)"could not create temporary file");
    error_errno((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  tmp___2 = write_in_full((int )temp->fd, (void const   *)signature___0, signature_size);
  if (tmp___2 < 0L) {
    tmp___1 = _((char const   *)"failed writing detached signature to \'%s\'");
    error_errno((char const   *)tmp___1, temp->filename.buf);
    const_error();
    delete_tempfile(& temp);
    return (-1);
  } else {
    tmp___3 = close_tempfile_gently(temp);
    if (tmp___3 < 0) {
      tmp___1 = _((char const   *)"failed writing detached signature to \'%s\'");
      error_errno((char const   *)tmp___1, temp->filename.buf);
      const_error();
      delete_tempfile(& temp);
      return (-1);
    }
  }
  strvec_push(& gpg.args, fmt->program);
  strvec_pushv(& gpg.args, fmt->verify_args);
  strvec_pushl(& gpg.args, "--status-fd=1", "--verify", temp->filename.buf, "-", (void *)0);
  sigchain_push(13, (void (*)(int  ))1);
  ret___67 = pipe_command(& gpg, (char const   *)sigc->payload, sigc->payload_len,
                          & gpg_stdout, (size_t )0, & gpg_stderr, (size_t )0);
  sigchain_pop(13);
  delete_tempfile(& temp);
  tmp___4 = strstr((char const   *)gpg_stdout.buf, (char const   *)"\n[GNUPG:] GOODSIG ");
  if (tmp___4) {
    tmp___5 = 0;
  } else {
    tmp___5 = 1;
  }
  ret___67 |= tmp___5;
  sigc->output = strbuf_detach(& gpg_stderr, (size_t *)((void *)0));
  sigc->gpg_status = strbuf_detach(& gpg_stdout, (size_t *)((void *)0));
  parse_gpg_output(sigc);
  strbuf_release(& gpg_stdout);
  strbuf_release(& gpg_stderr);
  return (ret___67);
}
}
static void parse_ssh_output(struct signature_check *sigc )
{
  char const   *line___0 ;
  char const   *principal ;
  char const   *search ;
  char *to_free ;
  char *key___1 ;
  size_t tmp ;
  void *tmp___0 ;
  char *tmp___1 ;
  void *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;

  {
  key___1 = (char *)((void *)0);
  sigc->result = (char )'B';
  sigc->trust_level = (enum signature_trust_level )1;
  tmp = strcspn((char const   *)sigc->output, (char const   *)"\n");
  tmp___0 = xmemdupz((void const   *)sigc->output, tmp);
  to_free = (char *)tmp___0;
  line___0 = (char const   *)to_free;
  tmp___4 = skip_prefix(line___0, (char const   *)"Good \"git\" signature for ", & line___0);
  if (tmp___4) {
    principal = line___0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___1 = strstr(line___0, (char const   *)" with ");
      search = (char const   *)tmp___1;
      if (search) {
        line___0 = search + 1;
      }
      if (! ((unsigned long )search != (unsigned long )((void *)0))) {
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if ((unsigned long )line___0 == (unsigned long )principal) {
      goto cleanup;
    }
    sigc->result = (char )'G';
    sigc->trust_level = (enum signature_trust_level )3;
    tmp___2 = xmemdupz((void const   *)principal, (size_t )((line___0 - principal) - 1L));
    sigc->signer = (char *)tmp___2;
  } else {
    tmp___3 = skip_prefix(line___0, (char const   *)"Good \"git\" signature with ",
                          & line___0);
    if (tmp___3) {
      sigc->result = (char )'G';
      sigc->trust_level = (enum signature_trust_level )0;
    } else {
      goto cleanup;
    }
  }
  key___1 = strstr(line___0, (char const   *)"key ");
  if (key___1) {
    tmp___5 = strstr(line___0, (char const   *)"key ");
    sigc->fingerprint = xstrdup((char const   *)(tmp___5 + 4));
    sigc->key = xstrdup((char const   *)sigc->fingerprint);
  } else {
    sigc->result = (char )'B';
  }
  cleanup:
  free((void *)to_free);
  return;
}
}
static int verify_ssh_signed_buffer(struct signature_check *sigc , struct gpg_format *fmt ,
                                    char const   *signature___0 , size_t signature_size )
{
  struct child_process ssh_keygen ;
  struct tempfile *buffer_file ;
  int ret___67 ;
  char const   *line___0 ;
  size_t trust_size ;
  char *principal ;
  struct strbuf ssh_principals_out ;
  struct strbuf ssh_principals_err ;
  struct strbuf ssh_keygen_out ;
  struct strbuf ssh_keygen_err ;
  struct strbuf verify_time ;
  struct date_mode verify_date_mode ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  ssize_t tmp___3 ;
  int tmp___4 ;
  char const   *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char *tmp___7 ;
  char *tmp___8 ;
  void *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;

  {
  ssh_keygen.args.v = empty_strvec;
  ssh_keygen.args.nr = 0UL;
  ssh_keygen.args.alloc = 0UL;
  ssh_keygen.env_array.v = empty_strvec;
  ssh_keygen.env_array.nr = 0UL;
  ssh_keygen.env_array.alloc = 0UL;
  ssh_keygen.pid = 0;
  ssh_keygen.trace2_child_id = 0;
  ssh_keygen.trace2_child_us_start = 0UL;
  ssh_keygen.trace2_child_class = (char const   *)0;
  ssh_keygen.trace2_hook_name = (char const   *)0;
  ssh_keygen.in = 0;
  ssh_keygen.out = 0;
  ssh_keygen.err = 0;
  ssh_keygen.dir = (char const   *)0;
  ssh_keygen.no_stdin = 0U;
  ssh_keygen.no_stdout = 0U;
  ssh_keygen.no_stderr = 0U;
  ssh_keygen.git_cmd = 0U;
  ssh_keygen.silent_exec_failure = 0U;
  ssh_keygen.use_shell = 0U;
  ssh_keygen.close_object_store = 0U;
  ssh_keygen.stdout_to_stderr = 0U;
  ssh_keygen.clean_on_exit = 0U;
  ssh_keygen.wait_after_clean = 0U;
  ssh_keygen.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  ssh_keygen.clean_on_exit_handler_cbdata = (void *)0;
  ret___67 = -1;
  ssh_principals_out.alloc = 0UL;
  ssh_principals_out.len = 0UL;
  ssh_principals_out.buf = strbuf_slopbuf;
  ssh_principals_err.alloc = 0UL;
  ssh_principals_err.len = 0UL;
  ssh_principals_err.buf = strbuf_slopbuf;
  ssh_keygen_out.alloc = 0UL;
  ssh_keygen_out.len = 0UL;
  ssh_keygen_out.buf = strbuf_slopbuf;
  ssh_keygen_err.alloc = 0UL;
  ssh_keygen_err.len = 0UL;
  ssh_keygen_err.buf = strbuf_slopbuf;
  verify_time.alloc = 0UL;
  verify_time.len = 0UL;
  verify_time.buf = strbuf_slopbuf;
  verify_date_mode.type = (enum date_mode_type )((enum date_mode_type )7);
  verify_date_mode.strftime_fmt = (char const   *)((char const   *)"%Y%m%d%H%M%S");
  verify_date_mode.local = (int )1;
  if (! ssh_allowed_signers) {
    tmp = _((char const   *)"gpg.ssh.allowedSignersFile needs to be configured and exist for ssh signature verification");
    error((char const   *)tmp);
    const_error();
    return (-1);
  }
  buffer_file = mks_tempfile_t((char const   *)".git_vtag_tmpXXXXXX");
  if (! buffer_file) {
    tmp___0 = _((char const   *)"could not create temporary file");
    error_errno((char const   *)tmp___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  tmp___3 = write_in_full((int )buffer_file->fd, (void const   *)signature___0, signature_size);
  if (tmp___3 < 0L) {
    tmp___2 = _((char const   *)"failed writing detached signature to \'%s\'");
    error_errno((char const   *)tmp___2, buffer_file->filename.buf);
    const_error();
    delete_tempfile(& buffer_file);
    return (-1);
  } else {
    tmp___4 = close_tempfile_gently(buffer_file);
    if (tmp___4 < 0) {
      tmp___2 = _((char const   *)"failed writing detached signature to \'%s\'");
      error_errno((char const   *)tmp___2, buffer_file->filename.buf);
      const_error();
      delete_tempfile(& buffer_file);
      return (-1);
    }
  }
  if (sigc->payload_timestamp) {
    tmp___5 = show_date(sigc->payload_timestamp, 0, (struct date_mode  const  *)(& verify_date_mode));
    strbuf_addf(& verify_time, (char const   *)"-Overify-time=%s", tmp___5);
  }
  strvec_pushl(& ssh_keygen.args, fmt->program, "-Y", "find-principals", "-f", ssh_allowed_signers,
               "-s", buffer_file->filename.buf, verify_time.buf, (void *)0);
  ret___67 = pipe_command(& ssh_keygen, (char const   *)((void *)0), (size_t )0, & ssh_principals_out,
                          (size_t )0, & ssh_principals_err, (size_t )0);
  if (ret___67) {
    tmp___7 = strstr((char const   *)ssh_principals_err.buf, (char const   *)"usage:");
    if (tmp___7) {
      tmp___6 = _((char const   *)"ssh-keygen -Y find-principals/verify is needed for ssh signature verification (available in openssh version 8.2p1+)");
      error((char const   *)tmp___6);
      const_error();
      goto out;
    }
  }
  if (ret___67) {
    child_process_init(& ssh_keygen);
    strvec_pushl(& ssh_keygen.args, fmt->program, "-Y", "check-novalidate", "-n",
                 "git", "-s", buffer_file->filename.buf, verify_time.buf, (void *)0);
    pipe_command(& ssh_keygen, (char const   *)sigc->payload, sigc->payload_len, & ssh_keygen_out,
                 (size_t )0, & ssh_keygen_err, (size_t )0);
    ret___67 = -1;
  } else
  if (! ssh_principals_out.len) {
    child_process_init(& ssh_keygen);
    strvec_pushl(& ssh_keygen.args, fmt->program, "-Y", "check-novalidate", "-n",
                 "git", "-s", buffer_file->filename.buf, verify_time.buf, (void *)0);
    pipe_command(& ssh_keygen, (char const   *)sigc->payload, sigc->payload_len, & ssh_keygen_out,
                 (size_t )0, & ssh_keygen_err, (size_t )0);
    ret___67 = -1;
  } else {
    line___0 = (char const   *)ssh_principals_out.buf;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! *line___0) {
        goto while_break;
      }
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! ((int const   )*line___0 == 10)) {
          goto while_break___0;
        }
        line___0 ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      if (! *line___0) {
        goto while_break;
      }
      trust_size = strcspn(line___0, (char const   *)"\n");
      tmp___9 = xmemdupz((void const   *)line___0, trust_size);
      principal = (char *)tmp___9;
      child_process_init(& ssh_keygen);
      strbuf_release(& ssh_keygen_out);
      strbuf_release(& ssh_keygen_err);
      strvec_push(& ssh_keygen.args, fmt->program);
      strvec_pushl(& ssh_keygen.args, "-Y", "verify", "-n", "git", "-f", ssh_allowed_signers,
                   "-I", principal, "-s", buffer_file->filename.buf, verify_time.buf,
                   (void *)0);
      if (ssh_revocation_file) {
        tmp___11 = file_exists(ssh_revocation_file);
        if (tmp___11) {
          strvec_pushl(& ssh_keygen.args, "-r", ssh_revocation_file, (void *)0);
        } else {
          tmp___10 = _((char const   *)"ssh signing revocation file configured but not found: %s");
          warning((char const   *)tmp___10, ssh_revocation_file);
        }
      }
      sigchain_push(13, (void (*)(int  ))1);
      ret___67 = pipe_command(& ssh_keygen, (char const   *)sigc->payload, sigc->payload_len,
                              & ssh_keygen_out, (size_t )0, & ssh_keygen_err, (size_t )0);
      sigchain_pop(13);
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        free((void *)principal);
        principal = (char *)((void *)0);
        goto while_break___1;
      }
      while_break___1: /* CIL Label */ ;
      }
      if (! ret___67) {
        tmp___12 = starts_with((char const   *)ssh_keygen_out.buf, (char const   *)"Good");
        if (tmp___12) {
          tmp___13 = 0;
        } else {
          tmp___13 = 1;
        }
        ret___67 = tmp___13;
      }
      if (! ret___67) {
        goto while_break;
      }
      tmp___8 = strchrnul(line___0 + 1, '\n');
      line___0 = (char const   *)tmp___8;
    }
    while_break: /* CIL Label */ ;
    }
  }
  strbuf_stripspace(& ssh_keygen_out, 0);
  strbuf_stripspace(& ssh_keygen_err, 0);
  strbuf_add(& ssh_keygen_out, (void const   *)ssh_principals_err.buf, ssh_principals_err.len);
  strbuf_add(& ssh_keygen_out, (void const   *)ssh_keygen_err.buf, ssh_keygen_err.len);
  sigc->output = strbuf_detach(& ssh_keygen_out, (size_t *)((void *)0));
  sigc->gpg_status = xstrdup((char const   *)sigc->output);
  parse_ssh_output(sigc);
  out:
  if (buffer_file) {
    delete_tempfile(& buffer_file);
  }
  strbuf_release(& ssh_principals_out);
  strbuf_release(& ssh_principals_err);
  strbuf_release(& ssh_keygen_out);
  strbuf_release(& ssh_keygen_err);
  strbuf_release(& verify_time);
  return (ret___67);
}
}
static int parse_payload_metadata(struct signature_check *sigc )
{
  char const   *ident_line ;
  size_t ident_len ;
  struct ident_split ident ;
  char const   *signer_header ;
  int tmp ;

  {
  ident_line = (char const   *)((void *)0);
  {
  if ((unsigned int )sigc->payload_type == 1U) {
    goto case_1;
  }
  if ((unsigned int )sigc->payload_type == 2U) {
    goto case_2;
  }
  if ((unsigned int )sigc->payload_type == 3U) {
    goto case_3;
  }
  if ((unsigned int )sigc->payload_type == 0U) {
    goto case_3;
  }
  goto switch_default;
  case_1: /* CIL Label */
  signer_header = (char const   *)"committer";
  goto switch_break;
  case_2: /* CIL Label */
  signer_header = (char const   *)"tagger";
  goto switch_break;
  case_3: /* CIL Label */
  case_0: /* CIL Label */
  return (0);
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"gpg-interface.c", 597, (char const   *)"invalid value for sigc->payload_type");
  switch_break: /* CIL Label */ ;
  }
  ident_line = find_commit_header((char const   *)sigc->payload, signer_header, & ident_len);
  if (! ident_line) {
    return (1);
  } else
  if (! ident_len) {
    return (1);
  }
  tmp = split_ident_line(& ident, ident_line, (int )ident_len);
  if (tmp) {
    return (1);
  }
  if (! sigc->payload_timestamp) {
    if (ident.date_begin) {
      if (ident.date_end) {
        sigc->payload_timestamp = strtoumax(ident.date_begin, (char **)((void *)0),
                                            10);
      }
    }
  }
  return (0);
}
}
int check_signature(struct signature_check *sigc , char const   *signature___0 , size_t slen )
{
  struct gpg_format *fmt ;
  int status ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  sigc->result = (char )'N';
  sigc->trust_level = (enum signature_trust_level )-1;
  fmt = get_format_by_sig(signature___0);
  if (! fmt) {
    tmp = _((char const   *)"bad/incompatible signature \'%s\'");
    die((char const   *)tmp, signature___0);
  }
  tmp___0 = parse_payload_metadata(sigc);
  if (tmp___0) {
    return (1);
  }
  status = (*(fmt->verify_signed_buffer))(sigc, fmt, signature___0, slen);
  if (status) {
    if (! sigc->output) {
      return (! (! status));
    }
  }
  status |= (int )sigc->result != 71;
  status |= (unsigned int )sigc->trust_level < (unsigned int )configured_min_trust_level;
  return (! (! status));
}
}
void print_signature_buffer(struct signature_check  const  *sigc , unsigned int flags___0 )
{
  char const   *output___4 ;
  char *tmp ;

  {
  if (flags___0 & 2U) {
    tmp = sigc->gpg_status;
  } else {
    tmp = sigc->output;
  }
  output___4 = (char const   *)tmp;
  if (flags___0 & 1U) {
    if (sigc->payload) {
      fwrite((void const   * __restrict  )sigc->payload, (size_t )1, (size_t )sigc->payload_len,
             (FILE * __restrict  )stdout);
    }
  }
  if (output___4) {
    fputs((char const   * __restrict  )output___4, (FILE * __restrict  )stderr);
  }
  return;
}
}
size_t parse_signed_buffer(char const   *buf___19 , size_t size )
{
  size_t len___0 ;
  size_t match___0 ;
  char const   *eol ;
  struct gpg_format *tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;

  {
  len___0 = (size_t )0;
  match___0 = size;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (len___0 < size)) {
      goto while_break;
    }
    tmp = get_format_by_sig(buf___19 + len___0);
    if (tmp) {
      match___0 = len___0;
    }
    tmp___0 = memchr((void const   *)(buf___19 + len___0), '\n', size - len___0);
    eol = (char const   *)tmp___0;
    if (eol) {
      tmp___1 = (size_t )((eol - (buf___19 + len___0)) + 1L);
    } else {
      tmp___1 = size - len___0;
    }
    len___0 += tmp___1;
  }
  while_break: /* CIL Label */ ;
  }
  return (match___0);
}
}
int parse_signature(char const   *buf___19 , size_t size , struct strbuf *payload ,
                    struct strbuf *signature___0 )
{
  size_t match___0 ;
  size_t tmp ;

  {
  tmp = parse_signed_buffer(buf___19, size);
  match___0 = tmp;
  if (match___0 != size) {
    strbuf_add(payload, (void const   *)buf___19, match___0);
    remove_signature(payload);
    strbuf_add(signature___0, (void const   *)(buf___19 + match___0), size - match___0);
    return (1);
  }
  return (0);
}
}
void set_signing_key(char const   *key___1 )
{


  {
  free((void *)configured_signing_key);
  configured_signing_key = xstrdup(key___1);
  return;
}
}
int git_gpg_config(char const   *var , char const   *value , void *cb )
{
  struct gpg_format *fmt ;
  char *fmtname ;
  char *trust ;
  int ret___67 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;

  {
  fmt = (struct gpg_format *)((void *)0);
  fmtname = (char *)((void *)0);
  tmp___0 = strcmp(var, (char const   *)"user.signingkey");
  if (! tmp___0) {
    if (! value) {
      config_error_nonbool(var);
      tmp = const_error();
      return (tmp);
    }
    set_signing_key(value);
    return (0);
  }
  tmp___3 = strcmp(var, (char const   *)"gpg.format");
  if (! tmp___3) {
    if (! value) {
      config_error_nonbool(var);
      tmp___1 = const_error();
      return (tmp___1);
    }
    fmt = get_format_by_name(value);
    if (! fmt) {
      error((char const   *)"unsupported value for %s: %s", var, value);
      tmp___2 = const_error();
      return (tmp___2);
    }
    use_format = fmt;
    return (0);
  }
  tmp___6 = strcmp(var, (char const   *)"gpg.mintrustlevel");
  if (! tmp___6) {
    if (! value) {
      config_error_nonbool(var);
      tmp___4 = const_error();
      return (tmp___4);
    }
    trust = xstrdup_toupper(value);
    ret___67 = parse_gpg_trust_level((char const   *)trust, & configured_min_trust_level);
    free((void *)trust);
    if (ret___67) {
      error((char const   *)"unsupported value for %s: %s", var, value);
      tmp___5 = const_error();
      return (tmp___5);
    }
    return (0);
  }
  tmp___9 = strcmp(var, (char const   *)"gpg.ssh.defaultkeycommand");
  if (! tmp___9) {
    if (! value) {
      config_error_nonbool(var);
      tmp___7 = const_error();
      return (tmp___7);
    }
    tmp___8 = git_config_string(& ssh_default_key_command, var, value);
    return (tmp___8);
  }
  tmp___12 = strcmp(var, (char const   *)"gpg.ssh.allowedsignersfile");
  if (! tmp___12) {
    if (! value) {
      config_error_nonbool(var);
      tmp___10 = const_error();
      return (tmp___10);
    }
    tmp___11 = git_config_pathname(& ssh_allowed_signers, var, value);
    return (tmp___11);
  }
  tmp___15 = strcmp(var, (char const   *)"gpg.ssh.revocationfile");
  if (! tmp___15) {
    if (! value) {
      config_error_nonbool(var);
      tmp___13 = const_error();
      return (tmp___13);
    }
    tmp___14 = git_config_pathname(& ssh_revocation_file, var, value);
    return (tmp___14);
  }
  tmp___16 = strcmp(var, (char const   *)"gpg.program");
  if (tmp___16) {
    tmp___17 = strcmp(var, (char const   *)"gpg.openpgp.program");
    if (! tmp___17) {
      fmtname = "openpgp";
    }
  } else {
    fmtname = "openpgp";
  }
  tmp___18 = strcmp(var, (char const   *)"gpg.x509.program");
  if (! tmp___18) {
    fmtname = "x509";
  }
  tmp___19 = strcmp(var, (char const   *)"gpg.ssh.program");
  if (! tmp___19) {
    fmtname = "ssh";
  }
  if (fmtname) {
    fmt = get_format_by_name((char const   *)fmtname);
    tmp___20 = git_config_string(& fmt->program, var, value);
    return (tmp___20);
  }
  return (0);
}
}
static int is_literal_ssh_key(char const   *string___0 , char const   **key___1 )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = skip_prefix(string___0, (char const   *)"key::", key___1);
  if (tmp) {
    return (1);
  }
  tmp___0 = starts_with(string___0, (char const   *)"ssh-");
  if (tmp___0) {
    *key___1 = string___0;
    return (1);
  }
  return (0);
}
}
static char *get_ssh_key_fingerprint(char const   *signing_key )
{
  struct child_process ssh_keygen ;
  int ret___67 ;
  struct strbuf fingerprint_stdout ;
  struct strbuf **fingerprint ;
  char *fingerprint_ret ;
  char const   *literal_key ;
  size_t tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  ssh_keygen.args.v = empty_strvec;
  ssh_keygen.args.nr = 0UL;
  ssh_keygen.args.alloc = 0UL;
  ssh_keygen.env_array.v = empty_strvec;
  ssh_keygen.env_array.nr = 0UL;
  ssh_keygen.env_array.alloc = 0UL;
  ssh_keygen.pid = 0;
  ssh_keygen.trace2_child_id = 0;
  ssh_keygen.trace2_child_us_start = 0UL;
  ssh_keygen.trace2_child_class = (char const   *)0;
  ssh_keygen.trace2_hook_name = (char const   *)0;
  ssh_keygen.in = 0;
  ssh_keygen.out = 0;
  ssh_keygen.err = 0;
  ssh_keygen.dir = (char const   *)0;
  ssh_keygen.no_stdin = 0U;
  ssh_keygen.no_stdout = 0U;
  ssh_keygen.no_stderr = 0U;
  ssh_keygen.git_cmd = 0U;
  ssh_keygen.silent_exec_failure = 0U;
  ssh_keygen.use_shell = 0U;
  ssh_keygen.close_object_store = 0U;
  ssh_keygen.stdout_to_stderr = 0U;
  ssh_keygen.clean_on_exit = 0U;
  ssh_keygen.wait_after_clean = 0U;
  ssh_keygen.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  ssh_keygen.clean_on_exit_handler_cbdata = (void *)0;
  ret___67 = -1;
  fingerprint_stdout.alloc = 0UL;
  fingerprint_stdout.len = 0UL;
  fingerprint_stdout.buf = strbuf_slopbuf;
  literal_key = (char const   *)((void *)0);
  tmp___0 = is_literal_ssh_key(signing_key, & literal_key);
  if (tmp___0) {
    strvec_pushl(& ssh_keygen.args, "ssh-keygen", "-lf", "-", (void *)0);
    tmp = strlen(literal_key);
    ret___67 = pipe_command(& ssh_keygen, literal_key, tmp, & fingerprint_stdout,
                            (size_t )0, (struct strbuf *)((void *)0), (size_t )0);
  } else {
    strvec_pushl(& ssh_keygen.args, "ssh-keygen", "-lf", configured_signing_key, (void *)0);
    ret___67 = pipe_command(& ssh_keygen, (char const   *)((void *)0), (size_t )0,
                            & fingerprint_stdout, (size_t )0, (struct strbuf *)((void *)0),
                            (size_t )0);
  }
  if (! (! ret___67)) {
    tmp___1 = _((char const   *)"failed to get the ssh fingerprint for key \'%s\'");
    die_errno((char const   *)tmp___1, signing_key);
  }
  fingerprint = strbuf_split_max((struct strbuf  const  *)(& fingerprint_stdout),
                                 ' ', 3);
  if (! *(fingerprint + 1)) {
    tmp___2 = _((char const   *)"failed to get the ssh fingerprint for key \'%s\'");
    die_errno((char const   *)tmp___2, signing_key);
  }
  fingerprint_ret = strbuf_detach(*(fingerprint + 1), (size_t *)((void *)0));
  strbuf_list_free(fingerprint);
  strbuf_release(& fingerprint_stdout);
  return (fingerprint_ret);
}
}
static char const   *get_default_ssh_signing_key(void)
{
  struct child_process ssh_default_key ;
  int ret___67 ;
  struct strbuf key_stdout ;
  struct strbuf key_stderr ;
  struct strbuf **keys ;
  char *key_command ;
  char const   **argv___0 ;
  int n ;
  char *default_key ;
  char const   *literal_key ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  ssh_default_key.args.v = empty_strvec;
  ssh_default_key.args.nr = 0UL;
  ssh_default_key.args.alloc = 0UL;
  ssh_default_key.env_array.v = empty_strvec;
  ssh_default_key.env_array.nr = 0UL;
  ssh_default_key.env_array.alloc = 0UL;
  ssh_default_key.pid = 0;
  ssh_default_key.trace2_child_id = 0;
  ssh_default_key.trace2_child_us_start = 0UL;
  ssh_default_key.trace2_child_class = (char const   *)0;
  ssh_default_key.trace2_hook_name = (char const   *)0;
  ssh_default_key.in = 0;
  ssh_default_key.out = 0;
  ssh_default_key.err = 0;
  ssh_default_key.dir = (char const   *)0;
  ssh_default_key.no_stdin = 0U;
  ssh_default_key.no_stdout = 0U;
  ssh_default_key.no_stderr = 0U;
  ssh_default_key.git_cmd = 0U;
  ssh_default_key.silent_exec_failure = 0U;
  ssh_default_key.use_shell = 0U;
  ssh_default_key.close_object_store = 0U;
  ssh_default_key.stdout_to_stderr = 0U;
  ssh_default_key.clean_on_exit = 0U;
  ssh_default_key.wait_after_clean = 0U;
  ssh_default_key.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  ssh_default_key.clean_on_exit_handler_cbdata = (void *)0;
  ret___67 = -1;
  key_stdout.alloc = 0UL;
  key_stdout.len = 0UL;
  key_stdout.buf = strbuf_slopbuf;
  key_stderr.alloc = 0UL;
  key_stderr.len = 0UL;
  key_stderr.buf = strbuf_slopbuf;
  key_command = (char *)((void *)0);
  default_key = (char *)((void *)0);
  literal_key = (char const   *)((void *)0);
  if (! ssh_default_key_command) {
    tmp = _((char const   *)"either user.signingkey or gpg.ssh.defaultKeyCommand needs to be configured");
    die((char const   *)tmp);
  }
  key_command = xstrdup(ssh_default_key_command);
  n = split_cmdline(key_command, & argv___0);
  if (n < 0) {
    tmp___0 = split_cmdline_strerror(n);
    die((char const   *)"malformed build-time gpg.ssh.defaultKeyCommand: %s", tmp___0);
  }
  strvec_pushv(& ssh_default_key.args, argv___0);
  ret___67 = pipe_command(& ssh_default_key, (char const   *)((void *)0), (size_t )0,
                          & key_stdout, (size_t )0, & key_stderr, (size_t )0);
  if (! ret___67) {
    keys = strbuf_split_max((struct strbuf  const  *)(& key_stdout), '\n', 2);
    if (*(keys + 0)) {
      tmp___2 = is_literal_ssh_key((char const   *)(*(keys + 0))->buf, & literal_key);
      if (tmp___2) {
        default_key = strbuf_detach(*(keys + 0), (size_t *)((void *)0));
      } else {
        tmp___1 = _((char const   *)"gpg.ssh.defaultKeyCommand succeeded but returned no keys: %s %s");
        warning((char const   *)tmp___1, key_stderr.buf, key_stdout.buf);
      }
    } else {
      tmp___1 = _((char const   *)"gpg.ssh.defaultKeyCommand succeeded but returned no keys: %s %s");
      warning((char const   *)tmp___1, key_stderr.buf, key_stdout.buf);
    }
    strbuf_list_free(keys);
  } else {
    tmp___3 = _((char const   *)"gpg.ssh.defaultKeyCommand failed: %s %s");
    warning((char const   *)tmp___3, key_stderr.buf, key_stdout.buf);
  }
  free((void *)key_command);
  free((void *)argv___0);
  strbuf_release(& key_stdout);
  return ((char const   *)default_key);
}
}
static char const   *get_ssh_key_id(void)
{
  char const   *tmp ;
  char *tmp___0 ;

  {
  tmp = get_signing_key();
  tmp___0 = get_ssh_key_fingerprint(tmp);
  return ((char const   *)tmp___0);
}
}
char const   *get_signing_key_id(void)
{
  char const   *tmp ;
  char const   *tmp___0 ;

  {
  if (use_format->get_key_id) {
    tmp = (*(use_format->get_key_id))();
    return (tmp);
  }
  tmp___0 = get_signing_key();
  return (tmp___0);
}
}
char const   *get_signing_key(void)
{
  char const   *tmp ;
  char const   *tmp___0 ;

  {
  if (configured_signing_key) {
    return ((char const   *)configured_signing_key);
  }
  if (use_format->get_default_key) {
    tmp = (*(use_format->get_default_key))();
    return (tmp);
  }
  tmp___0 = git_committer_info(3);
  return (tmp___0);
}
}
int sign_buffer(struct strbuf *buffer___5 , struct strbuf *signature___0 , char const   *signing_key )
{
  int tmp ;

  {
  tmp = (*(use_format->sign_buffer))(buffer___5, signature___0, signing_key);
  return (tmp);
}
}
static void remove_cr_after(struct strbuf *buffer___5 , size_t offset___2 )
{
  size_t i ;
  size_t j ;

  {
  j = offset___2;
  i = j;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < buffer___5->len)) {
      goto while_break;
    }
    if ((int )*(buffer___5->buf + i) != 13) {
      if (i != j) {
        *(buffer___5->buf + j) = *(buffer___5->buf + i);
      }
      j ++;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_setlen(buffer___5, j);
  return;
}
}
static int sign_buffer_gpg(struct strbuf *buffer___5 , struct strbuf *signature___0 ,
                           char const   *signing_key )
{
  struct child_process gpg ;
  int ret___67 ;
  size_t bottom ;
  struct strbuf gpg_status ;
  char *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  gpg.args.v = empty_strvec;
  gpg.args.nr = 0UL;
  gpg.args.alloc = 0UL;
  gpg.env_array.v = empty_strvec;
  gpg.env_array.nr = 0UL;
  gpg.env_array.alloc = 0UL;
  gpg.pid = 0;
  gpg.trace2_child_id = 0;
  gpg.trace2_child_us_start = 0UL;
  gpg.trace2_child_class = (char const   *)0;
  gpg.trace2_hook_name = (char const   *)0;
  gpg.in = 0;
  gpg.out = 0;
  gpg.err = 0;
  gpg.dir = (char const   *)0;
  gpg.no_stdin = 0U;
  gpg.no_stdout = 0U;
  gpg.no_stderr = 0U;
  gpg.git_cmd = 0U;
  gpg.silent_exec_failure = 0U;
  gpg.use_shell = 0U;
  gpg.close_object_store = 0U;
  gpg.stdout_to_stderr = 0U;
  gpg.clean_on_exit = 0U;
  gpg.wait_after_clean = 0U;
  gpg.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  gpg.clean_on_exit_handler_cbdata = (void *)0;
  gpg_status.alloc = 0UL;
  gpg_status.len = 0UL;
  gpg_status.buf = strbuf_slopbuf;
  strvec_pushl(& gpg.args, use_format->program, "--status-fd=2", "-bsau", signing_key,
               (void *)0);
  bottom = signature___0->len;
  sigchain_push(13, (void (*)(int  ))1);
  ret___67 = pipe_command(& gpg, (char const   *)buffer___5->buf, buffer___5->len,
                          signature___0, (size_t )1024, & gpg_status, (size_t )0);
  sigchain_pop(13);
  tmp = strstr((char const   *)gpg_status.buf, (char const   *)"\n[GNUPG:] SIG_CREATED ");
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  ret___67 |= tmp___0;
  strbuf_release(& gpg_status);
  if (ret___67) {
    tmp___1 = _((char const   *)"gpg failed to sign the data");
    error((char const   *)tmp___1);
    tmp___2 = const_error();
    return (tmp___2);
  }
  remove_cr_after(signature___0, bottom);
  return (0);
}
}
static int sign_buffer_ssh(struct strbuf *buffer___5 , struct strbuf *signature___0 ,
                           char const   *signing_key )
{
  struct child_process signer ;
  int ret___67 ;
  size_t bottom ;
  size_t keylen ;
  struct strbuf signer_stderr ;
  struct tempfile *key_file ;
  struct tempfile *buffer_file ;
  char *ssh_signing_key_file ;
  struct strbuf ssh_signature_filename ;
  char const   *literal_key ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  ssize_t tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  ssize_t tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  ssize_t tmp___14 ;

  {
  signer.args.v = empty_strvec;
  signer.args.nr = 0UL;
  signer.args.alloc = 0UL;
  signer.env_array.v = empty_strvec;
  signer.env_array.nr = 0UL;
  signer.env_array.alloc = 0UL;
  signer.pid = 0;
  signer.trace2_child_id = 0;
  signer.trace2_child_us_start = 0UL;
  signer.trace2_child_class = (char const   *)0;
  signer.trace2_hook_name = (char const   *)0;
  signer.in = 0;
  signer.out = 0;
  signer.err = 0;
  signer.dir = (char const   *)0;
  signer.no_stdin = 0U;
  signer.no_stdout = 0U;
  signer.no_stderr = 0U;
  signer.git_cmd = 0U;
  signer.silent_exec_failure = 0U;
  signer.use_shell = 0U;
  signer.close_object_store = 0U;
  signer.stdout_to_stderr = 0U;
  signer.clean_on_exit = 0U;
  signer.wait_after_clean = 0U;
  signer.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  signer.clean_on_exit_handler_cbdata = (void *)0;
  ret___67 = -1;
  signer_stderr.alloc = 0UL;
  signer_stderr.len = 0UL;
  signer_stderr.buf = strbuf_slopbuf;
  key_file = (struct tempfile *)((void *)0);
  buffer_file = (struct tempfile *)((void *)0);
  ssh_signing_key_file = (char *)((void *)0);
  ssh_signature_filename.alloc = 0UL;
  ssh_signature_filename.len = 0UL;
  ssh_signature_filename.buf = strbuf_slopbuf;
  literal_key = (char const   *)((void *)0);
  if (! signing_key) {
    tmp = _((char const   *)"user.signingkey needs to be set for ssh signing");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  } else
  if ((int const   )*(signing_key + 0) == 0) {
    tmp = _((char const   *)"user.signingkey needs to be set for ssh signing");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  tmp___6 = is_literal_ssh_key(signing_key, & literal_key);
  if (tmp___6) {
    key_file = mks_tempfile_t((char const   *)".git_signing_key_tmpXXXXXX");
    if (! key_file) {
      tmp___1 = _((char const   *)"could not create temporary file");
      error_errno((char const   *)tmp___1);
      tmp___2 = const_error();
      return (tmp___2);
    }
    keylen = strlen(literal_key);
    tmp___4 = write_in_full((int )key_file->fd, (void const   *)literal_key, keylen);
    if (tmp___4 < 0L) {
      tmp___3 = _((char const   *)"failed writing ssh signing key to \'%s\'");
      error_errno((char const   *)tmp___3, key_file->filename.buf);
      const_error();
      goto out;
    } else {
      tmp___5 = close_tempfile_gently(key_file);
      if (tmp___5 < 0) {
        tmp___3 = _((char const   *)"failed writing ssh signing key to \'%s\'");
        error_errno((char const   *)tmp___3, key_file->filename.buf);
        const_error();
        goto out;
      }
    }
    ssh_signing_key_file = strbuf_detach(& key_file->filename, (size_t *)((void *)0));
  } else {
    ssh_signing_key_file = interpolate_path(signing_key, 1);
  }
  buffer_file = mks_tempfile_t((char const   *)".git_signing_buffer_tmpXXXXXX");
  if (! buffer_file) {
    tmp___7 = _((char const   *)"could not create temporary file");
    error_errno((char const   *)tmp___7);
    const_error();
    goto out;
  }
  tmp___9 = write_in_full((int )buffer_file->fd, (void const   *)buffer___5->buf,
                          buffer___5->len);
  if (tmp___9 < 0L) {
    tmp___8 = _((char const   *)"failed writing ssh signing key buffer to \'%s\'");
    error_errno((char const   *)tmp___8, buffer_file->filename.buf);
    const_error();
    goto out;
  } else {
    tmp___10 = close_tempfile_gently(buffer_file);
    if (tmp___10 < 0) {
      tmp___8 = _((char const   *)"failed writing ssh signing key buffer to \'%s\'");
      error_errno((char const   *)tmp___8, buffer_file->filename.buf);
      const_error();
      goto out;
    }
  }
  strvec_pushl(& signer.args, use_format->program, "-Y", "sign", "-n", "git", "-f",
               ssh_signing_key_file, buffer_file->filename.buf, (void *)0);
  sigchain_push(13, (void (*)(int  ))1);
  ret___67 = pipe_command(& signer, (char const   *)((void *)0), (size_t )0, (struct strbuf *)((void *)0),
                          (size_t )0, & signer_stderr, (size_t )0);
  sigchain_pop(13);
  if (ret___67) {
    tmp___12 = strstr((char const   *)signer_stderr.buf, (char const   *)"usage:");
    if (tmp___12) {
      tmp___11 = _((char const   *)"ssh-keygen -Y sign is needed for ssh signing (available in openssh version 8.2p1+)");
      error((char const   *)tmp___11);
      const_error();
    }
    error((char const   *)"%s", signer_stderr.buf);
    const_error();
    goto out;
  }
  bottom = signature___0->len;
  strbuf_addbuf(& ssh_signature_filename, (struct strbuf  const  *)(& buffer_file->filename));
  strbuf_addstr(& ssh_signature_filename, (char const   *)".sig");
  tmp___14 = strbuf_read_file(signature___0, (char const   *)ssh_signature_filename.buf,
                              (size_t )0);
  if (tmp___14 < 0L) {
    tmp___13 = _((char const   *)"failed reading ssh signing data buffer from \'%s\'");
    error_errno((char const   *)tmp___13, ssh_signature_filename.buf);
    const_error();
  }
  unlink_or_warn((char const   *)ssh_signature_filename.buf);
  remove_cr_after(signature___0, bottom);
  out:
  if (key_file) {
    delete_tempfile(& key_file);
  }
  if (buffer_file) {
    delete_tempfile(& buffer_file);
  }
  strbuf_release(& signer_stderr);
  strbuf_release(& ssh_signature_filename);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)ssh_signing_key_file);
    ssh_signing_key_file = (char *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static double const   __ac_HASH_UPPER___38  =    (double const   )0.77;
__inline static void kh_resize_oid_set___38(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___38(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___38 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___38 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___38(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___38(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___38(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___38(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___38(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___38(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___38 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___38 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___38(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___38(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___38(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___38(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___38(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___38(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___38 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___38 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___38(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___38(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___38(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___38(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void graph_padding_line(struct git_graph *graph , struct strbuf *sb___6 ) ;
static void graph_show_strbuf(struct git_graph *graph , FILE *file___0 , struct strbuf  const  *sb___6 ) ;
static void graph_show_line_prefix(struct diff_options  const  *diffopt )
{


  {
  if (! diffopt) {
    return;
  } else
  if (! diffopt->line_prefix) {
    return;
  }
  fwrite((void const   * __restrict  )diffopt->line_prefix, sizeof(char ), (size_t )diffopt->line_prefix_length,
         (FILE * __restrict  )diffopt->file);
  return;
}
}
static char const   **column_colors  ;
static unsigned short column_colors_max  ;
static void parse_graph_colors_config(struct strvec *colors , char const   *string___0 )
{
  char const   *end ;
  char const   *start ;
  size_t tmp ;
  char const   *comma ;
  char *tmp___0 ;
  char color___0[75] ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  start = string___0;
  tmp = strlen(string___0);
  end = string___0 + tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )start < (unsigned long )end)) {
      goto while_break;
    }
    tmp___0 = strchrnul(start, ',');
    comma = (char const   *)tmp___0;
    tmp___2 = color_parse_mem(start, (int )(comma - start), color___0);
    if (tmp___2) {
      tmp___1 = _((char const   *)"ignored invalid color \'%.*s\' in log.graphColors");
      warning((char const   *)tmp___1, (int )(comma - start), start);
    } else {
      strvec_push(colors, (char const   *)(color___0));
    }
    start = comma + 1;
  }
  while_break: /* CIL Label */ ;
  }
  strvec_push(colors, (char const   *)"\033[m");
  return;
}
}
void graph_set_column_colors(char const   **colors , unsigned short colors_max )
{


  {
  column_colors = colors;
  column_colors_max = colors_max;
  return;
}
}
static char const   *column_get_color_code(unsigned short color___0 )
{


  {
  return (*(column_colors + color___0));
}
}
__inline static void graph_line_addch(struct graph_line *line___0 , int c___0 )
{


  {
  strbuf_addch(line___0->buf, c___0);
  (line___0->width) ++;
  return;
}
}
__inline static void graph_line_addchars(struct graph_line *line___0 , int c___0 ,
                                         size_t n )
{


  {
  strbuf_addchars(line___0->buf, c___0, n);
  line___0->width += n;
  return;
}
}
__inline static void graph_line_addstr(struct graph_line *line___0 , char const   *s___1 )
{
  size_t tmp ;

  {
  strbuf_addstr(line___0->buf, s___1);
  tmp = strlen(s___1);
  line___0->width += tmp;
  return;
}
}
__inline static void graph_line_addcolor(struct graph_line *line___0 , unsigned short color___0 )
{
  char const   *tmp ;

  {
  tmp = column_get_color_code(color___0);
  strbuf_addstr(line___0->buf, tmp);
  return;
}
}
static void graph_line_write_column(struct graph_line *line___0 , struct column  const  *c___0 ,
                                    char col_char )
{


  {
  if ((int )c___0->color < (int )column_colors_max) {
    graph_line_addcolor(line___0, (unsigned short )c___0->color);
  }
  graph_line_addch(line___0, (int )col_char);
  if ((int )c___0->color < (int )column_colors_max) {
    graph_line_addcolor(line___0, column_colors_max);
  }
  return;
}
}
static struct strbuf *diff_output_prefix_callback(struct diff_options *opt___0 , void *data ) ;
static struct strbuf msgbuf  =    {0UL, 0UL, strbuf_slopbuf};
static struct strbuf *diff_output_prefix_callback(struct diff_options *opt___0 , void *data )
{
  struct git_graph *graph ;

  {
  graph = (struct git_graph *)data;
  assert((int )opt___0);
  strbuf_setlen(& msgbuf, (size_t )0);
  if (opt___0->line_prefix) {
    strbuf_add(& msgbuf, (void const   *)opt___0->line_prefix, opt___0->line_prefix_length);
  }
  if (graph) {
    graph_padding_line(graph, & msgbuf);
  }
  return (& msgbuf);
}
}
static struct diff_options  const  *default_diffopt  ;
void graph_setup_line_prefix(struct diff_options *diffopt )
{


  {
  default_diffopt = (struct diff_options  const  *)diffopt;
  if (diffopt) {
    if (! diffopt->output_prefix) {
      diffopt->output_prefix = & diff_output_prefix_callback;
    }
  }
  return;
}
}
static struct strvec custom_colors  =    {empty_strvec, 0UL, 0UL};
struct git_graph *graph_init(struct rev_info *opt___0 )
{
  struct git_graph *graph ;
  void *tmp ;
  char *string___0 ;
  int tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  size_t tmp___7 ;
  void *tmp___8 ;

  {
  tmp = xmalloc(sizeof(struct git_graph ));
  graph = (struct git_graph *)tmp;
  if (! column_colors) {
    tmp___0 = git_config_get_string((char const   *)"log.graphcolors", & string___0);
    if (tmp___0) {
      graph_set_column_colors(column_colors_ansi, (unsigned short )column_colors_ansi_max);
    } else {
      strvec_clear(& custom_colors);
      parse_graph_colors_config(& custom_colors, (char const   *)string___0);
      free((void *)string___0);
      graph_set_column_colors(custom_colors.v, (unsigned short )(custom_colors.nr - 1UL));
    }
  }
  graph->commit = (struct commit *)((void *)0);
  graph->revs = opt___0;
  graph->num_parents = 0;
  graph->expansion_row = 0;
  graph->state = (enum graph_state )0;
  graph->prev_state = (enum graph_state )0;
  graph->commit_index = 0;
  graph->prev_commit_index = 0;
  graph->merge_layout = 0;
  graph->edges_added = 0;
  graph->prev_edges_added = 0;
  graph->num_columns = 0;
  graph->num_new_columns = 0;
  graph->mapping_size = 0;
  graph->default_column_color = (unsigned short )((int )column_colors_max - 1);
  graph->column_capacity = 30;
  tmp___1 = st_mult(sizeof(*(graph->columns)), (size_t )graph->column_capacity);
  tmp___2 = xmalloc(tmp___1);
  graph->columns = (struct column *)tmp___2;
  tmp___3 = st_mult(sizeof(*(graph->new_columns)), (size_t )graph->column_capacity);
  tmp___4 = xmalloc(tmp___3);
  graph->new_columns = (struct column *)tmp___4;
  tmp___5 = st_mult(sizeof(*(graph->mapping)), (size_t )(2 * graph->column_capacity));
  tmp___6 = xmalloc(tmp___5);
  graph->mapping = (int *)tmp___6;
  tmp___7 = st_mult(sizeof(*(graph->old_mapping)), (size_t )(2 * graph->column_capacity));
  tmp___8 = xmalloc(tmp___7);
  graph->old_mapping = (int *)tmp___8;
  opt___0->diffopt.output_prefix = & diff_output_prefix_callback;
  opt___0->diffopt.output_prefix_data = (void *)graph;
  return (graph);
}
}
static void graph_update_state(struct git_graph *graph , enum graph_state s___1 )
{


  {
  graph->prev_state = graph->state;
  graph->state = s___1;
  return;
}
}
static void graph_ensure_capacity(struct git_graph *graph , int num_columns )
{
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;

  {
  if (graph->column_capacity >= num_columns) {
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    graph->column_capacity *= 2;
    if (! (graph->column_capacity < num_columns)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  tmp = st_mult(sizeof(*(graph->columns)), (size_t )graph->column_capacity);
  tmp___0 = xrealloc((void *)graph->columns, tmp);
  graph->columns = (struct column *)tmp___0;
  tmp___1 = st_mult(sizeof(*(graph->new_columns)), (size_t )graph->column_capacity);
  tmp___2 = xrealloc((void *)graph->new_columns, tmp___1);
  graph->new_columns = (struct column *)tmp___2;
  tmp___3 = st_mult(sizeof(*(graph->mapping)), (size_t )(graph->column_capacity * 2));
  tmp___4 = xrealloc((void *)graph->mapping, tmp___3);
  graph->mapping = (int *)tmp___4;
  tmp___5 = st_mult(sizeof(*(graph->old_mapping)), (size_t )(graph->column_capacity * 2));
  tmp___6 = xrealloc((void *)graph->old_mapping, tmp___5);
  graph->old_mapping = (int *)tmp___6;
  return;
}
}
static int graph_is_interesting(struct git_graph *graph , struct commit *commit )
{
  enum commit_action tmp ;

  {
  if (graph->revs) {
    if ((graph->revs)->boundary) {
      if (commit->object.flags & (1u << 6)) {
        return (1);
      }
    }
  }
  tmp = get_commit_action(graph->revs, commit);
  return ((unsigned int )tmp == 1U);
}
}
static struct commit_list *next_interesting_parent(struct git_graph *graph , struct commit_list *orig )
{
  struct commit_list *list___3 ;
  int tmp ;

  {
  if ((graph->revs)->first_parent_only) {
    return ((struct commit_list *)((void *)0));
  }
  list___3 = orig->next;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    tmp = graph_is_interesting(graph, list___3->item);
    if (tmp) {
      return (list___3);
    }
    list___3 = list___3->next;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct commit_list *)((void *)0));
}
}
static struct commit_list *first_interesting_parent(struct git_graph *graph )
{
  struct commit_list *parents ;
  int tmp ;
  struct commit_list *tmp___0 ;

  {
  parents = (graph->commit)->parents;
  if (! parents) {
    return ((struct commit_list *)((void *)0));
  }
  tmp = graph_is_interesting(graph, parents->item);
  if (tmp) {
    return (parents);
  }
  tmp___0 = next_interesting_parent(graph, parents);
  return (tmp___0);
}
}
static unsigned short graph_get_current_column_color(struct git_graph  const  *graph )
{
  int tmp ;

  {
  tmp = want_color_fd(1, (graph->revs)->diffopt.use_color);
  if (! tmp) {
    return (column_colors_max);
  }
  return ((unsigned short )graph->default_column_color);
}
}
static void graph_increment_column_color(struct git_graph *graph )
{


  {
  graph->default_column_color = (unsigned short )(((int )graph->default_column_color + 1) % (int )column_colors_max);
  return;
}
}
static unsigned short graph_find_commit_color(struct git_graph  const  *graph , struct commit  const  *commit )
{
  int i ;
  unsigned short tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (int )graph->num_columns)) {
      goto while_break;
    }
    if ((unsigned long )(graph->columns + i)->commit == (unsigned long )commit) {
      return ((graph->columns + i)->color);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = graph_get_current_column_color(graph);
  return (tmp);
}
}
static int graph_find_new_column_by_commit(struct git_graph *graph , struct commit *commit )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < graph->num_new_columns)) {
      goto while_break;
    }
    if ((unsigned long )(graph->new_columns + i)->commit == (unsigned long )commit) {
      return (i);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (-1);
}
}
static void graph_insert_into_new_columns(struct git_graph *graph , struct commit *commit ,
                                          int idx___0 )
{
  int i ;
  int tmp ;
  int mapping_idx ;
  int tmp___0 ;
  int dist___0 ;
  int shift ;

  {
  tmp = graph_find_new_column_by_commit(graph, commit);
  i = tmp;
  if (i < 0) {
    tmp___0 = graph->num_new_columns;
    (graph->num_new_columns) ++;
    i = tmp___0;
    (graph->new_columns + i)->commit = commit;
    (graph->new_columns + i)->color = graph_find_commit_color((struct git_graph  const  *)graph,
                                                              (struct commit  const  *)commit);
  }
  if (graph->num_parents > 1) {
    if (idx___0 > -1) {
      if (graph->merge_layout == -1) {
        dist___0 = idx___0 - i;
        if (dist___0 > 1) {
          shift = 2 * dist___0 - 3;
        } else {
          shift = 1;
        }
        if (dist___0 > 0) {
          graph->merge_layout = 0;
        } else {
          graph->merge_layout = 1;
        }
        graph->edges_added = (graph->num_parents + graph->merge_layout) - 2;
        mapping_idx = graph->width + (graph->merge_layout - 1) * shift;
        graph->width += 2 * graph->merge_layout;
      } else {
        goto _L___0;
      }
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  _L: /* CIL Label */
  if (graph->edges_added > 0) {
    if (i == *(graph->mapping + (graph->width - 2))) {
      mapping_idx = graph->width - 2;
      graph->edges_added = -1;
    } else {
      mapping_idx = graph->width;
      graph->width += 2;
    }
  } else {
    mapping_idx = graph->width;
    graph->width += 2;
  }
  *(graph->mapping + mapping_idx) = i;
  return;
}
}
static void graph_update_columns(struct git_graph *graph )
{
  struct commit_list *parent ;
  int max_new_columns ;
  int i ;
  int seen_this ;
  int is_commit_in_columns ;
  void *_swap_a_ptr ;
  void *_swap_b_ptr ;
  unsigned char _swap_buffer[sizeof(graph->columns)] ;
  struct commit *col_commit ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    _swap_a_ptr = (void *)(& graph->columns);
    _swap_b_ptr = (void *)(& graph->new_columns);
    memcpy((void *)(_swap_buffer), (void const   *)_swap_a_ptr, sizeof(graph->columns));
    memcpy(_swap_a_ptr, (void const   *)_swap_b_ptr, sizeof(graph->columns) + (sizeof(char [1]) - 1UL));
    memcpy(_swap_b_ptr, (void const   *)(_swap_buffer), sizeof(graph->columns));
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  graph->num_columns = graph->num_new_columns;
  graph->num_new_columns = 0;
  max_new_columns = graph->num_columns + graph->num_parents;
  graph_ensure_capacity(graph, max_new_columns);
  graph->mapping_size = 2 * max_new_columns;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < graph->mapping_size)) {
      goto while_break___0;
    }
    *(graph->mapping + i) = -1;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  graph->width = 0;
  graph->prev_edges_added = graph->edges_added;
  graph->edges_added = 0;
  seen_this = 0;
  is_commit_in_columns = 1;
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i <= graph->num_columns)) {
      goto while_break___1;
    }
    if (i == graph->num_columns) {
      if (seen_this) {
        goto while_break___1;
      }
      is_commit_in_columns = 0;
      col_commit = graph->commit;
    } else {
      col_commit = (graph->columns + i)->commit;
    }
    if ((unsigned long )col_commit == (unsigned long )graph->commit) {
      seen_this = 1;
      graph->commit_index = i;
      graph->merge_layout = -1;
      parent = first_interesting_parent(graph);
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (! parent) {
          goto while_break___2;
        }
        if (graph->num_parents > 1) {
          graph_increment_column_color(graph);
        } else
        if (! is_commit_in_columns) {
          graph_increment_column_color(graph);
        }
        graph_insert_into_new_columns(graph, parent->item, i);
        parent = next_interesting_parent(graph, parent);
      }
      while_break___2: /* CIL Label */ ;
      }
      if (graph->num_parents == 0) {
        graph->width += 2;
      }
    } else {
      graph_insert_into_new_columns(graph, col_commit, -1);
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (graph->mapping_size > 1) {
      if (! (*(graph->mapping + (graph->mapping_size - 1)) < 0)) {
        goto while_break___3;
      }
    } else {
      goto while_break___3;
    }
    (graph->mapping_size) --;
  }
  while_break___3: /* CIL Label */ ;
  }
  return;
}
}
static int graph_num_dashed_parents(struct git_graph *graph )
{


  {
  return ((graph->num_parents + graph->merge_layout) - 3);
}
}
static int graph_num_expansion_rows(struct git_graph *graph )
{
  int tmp ;

  {
  tmp = graph_num_dashed_parents(graph);
  return (tmp * 2);
}
}
static int graph_needs_pre_commit_line(struct git_graph *graph )
{
  int tmp ;
  int tmp___0 ;

  {
  if (graph->num_parents >= 3) {
    if (graph->commit_index < graph->num_columns - 1) {
      tmp = graph_num_expansion_rows(graph);
      if (graph->expansion_row < tmp) {
        tmp___0 = 1;
      } else {
        tmp___0 = 0;
      }
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
void graph_update(struct git_graph *graph , struct commit *commit )
{
  struct commit_list *parent ;
  int tmp ;

  {
  graph->commit = commit;
  graph->num_parents = 0;
  parent = first_interesting_parent(graph);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! parent) {
      goto while_break;
    }
    (graph->num_parents) ++;
    parent = next_interesting_parent(graph, parent);
  }
  while_break: /* CIL Label */ ;
  }
  graph->prev_commit_index = graph->commit_index;
  graph_update_columns(graph);
  graph->expansion_row = 0;
  if ((unsigned int )graph->state != 0U) {
    graph->state = (enum graph_state )1;
  } else {
    tmp = graph_needs_pre_commit_line(graph);
    if (tmp) {
      graph->state = (enum graph_state )2;
    } else {
      graph->state = (enum graph_state )3;
    }
  }
  return;
}
}
static int graph_is_mapping_correct(struct git_graph *graph )
{
  int i ;
  int target ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < graph->mapping_size)) {
      goto while_break;
    }
    target = *(graph->mapping + i);
    if (target < 0) {
      goto __Cont;
    }
    if (target == i / 2) {
      goto __Cont;
    }
    return (0);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static void graph_pad_horizontally(struct git_graph *graph , struct graph_line *line___0 )
{


  {
  if (line___0->width < (size_t )graph->width) {
    graph_line_addchars(line___0, ' ', (size_t )graph->width - line___0->width);
  }
  return;
}
}
static void graph_output_padding_line(struct git_graph *graph , struct graph_line *line___0 )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < graph->num_new_columns)) {
      goto while_break;
    }
    graph_line_write_column(line___0, (struct column  const  *)(graph->new_columns + i),
                            (char )'|');
    graph_line_addch(line___0, ' ');
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int graph_width(struct git_graph *graph )
{


  {
  return (graph->width);
}
}
static void graph_output_skip_line(struct git_graph *graph , struct graph_line *line___0 )
{
  int tmp ;

  {
  graph_line_addstr(line___0, (char const   *)"...");
  tmp = graph_needs_pre_commit_line(graph);
  if (tmp) {
    graph_update_state(graph, (enum graph_state )2);
  } else {
    graph_update_state(graph, (enum graph_state )3);
  }
  return;
}
}
static void graph_output_pre_commit_line(struct git_graph *graph , struct graph_line *line___0 )
{
  int i ;
  int seen_this ;
  int tmp ;
  int tmp___0 ;
  struct column *col ;
  int tmp___1 ;

  {
  assert(graph->num_parents >= 3);
  if (0 <= graph->expansion_row) {
    tmp = graph_num_expansion_rows(graph);
    if (graph->expansion_row < tmp) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  assert(tmp___0);
  seen_this = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < graph->num_columns)) {
      goto while_break;
    }
    col = graph->columns + i;
    if ((unsigned long )col->commit == (unsigned long )graph->commit) {
      seen_this = 1;
      graph_line_write_column(line___0, (struct column  const  *)col, (char )'|');
      graph_line_addchars(line___0, ' ', (size_t )graph->expansion_row);
    } else
    if (seen_this) {
      if (graph->expansion_row == 0) {
        if ((unsigned int )graph->prev_state == 4U) {
          if (graph->prev_commit_index < i) {
            graph_line_write_column(line___0, (struct column  const  *)col, (char )'\\');
          } else {
            graph_line_write_column(line___0, (struct column  const  *)col, (char )'|');
          }
        } else {
          graph_line_write_column(line___0, (struct column  const  *)col, (char )'|');
        }
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (seen_this) {
      if (graph->expansion_row > 0) {
        graph_line_write_column(line___0, (struct column  const  *)col, (char )'\\');
      } else {
        graph_line_write_column(line___0, (struct column  const  *)col, (char )'|');
      }
    } else {
      graph_line_write_column(line___0, (struct column  const  *)col, (char )'|');
    }
    graph_line_addch(line___0, ' ');
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  (graph->expansion_row) ++;
  tmp___1 = graph_needs_pre_commit_line(graph);
  if (! tmp___1) {
    graph_update_state(graph, (enum graph_state )3);
  }
  return;
}
}
static void graph_output_commit_char(struct git_graph *graph , struct graph_line *line___0 )
{
  char const   *tmp ;

  {
  if ((graph->commit)->object.flags & (1u << 5)) {
    assert((int )(graph->revs)->boundary);
    graph_line_addch(line___0, 'o');
    return;
  }
  tmp = get_revision_mark((struct rev_info  const  *)graph->revs, (struct commit  const  *)graph->commit);
  graph_line_addstr(line___0, tmp);
  return;
}
}
static void graph_draw_octopus_merge(struct git_graph *graph , struct graph_line *line___0 )
{
  int i ;
  int j ;
  struct column *col ;
  int dashed_parents ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = graph_num_dashed_parents(graph);
  dashed_parents = tmp;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < dashed_parents)) {
      goto while_break;
    }
    j = *(graph->mapping + ((graph->commit_index + i) + 2) * 2);
    col = graph->new_columns + j;
    graph_line_write_column(line___0, (struct column  const  *)col, (char )'-');
    if (i == dashed_parents - 1) {
      tmp___0 = '.';
    } else {
      tmp___0 = '-';
    }
    graph_line_write_column(line___0, (struct column  const  *)col, (char )tmp___0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void graph_output_commit_line(struct git_graph *graph , struct graph_line *line___0 )
{
  int seen_this ;
  int i ;
  struct column *col ;
  struct commit *col_commit ;
  int tmp ;

  {
  seen_this = 0;
  seen_this = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i <= graph->num_columns)) {
      goto while_break;
    }
    col = graph->columns + i;
    if (i == graph->num_columns) {
      if (seen_this) {
        goto while_break;
      }
      col_commit = graph->commit;
    } else {
      col_commit = (graph->columns + i)->commit;
    }
    if ((unsigned long )col_commit == (unsigned long )graph->commit) {
      seen_this = 1;
      graph_output_commit_char(graph, line___0);
      if (graph->num_parents > 2) {
        graph_draw_octopus_merge(graph, line___0);
      }
    } else
    if (seen_this) {
      if (graph->edges_added > 1) {
        graph_line_write_column(line___0, (struct column  const  *)col, (char )'\\');
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if (seen_this) {
      if (graph->edges_added == 1) {
        if ((unsigned int )graph->prev_state == 4U) {
          if (graph->prev_edges_added > 0) {
            if (graph->prev_commit_index < i) {
              graph_line_write_column(line___0, (struct column  const  *)col, (char )'\\');
            } else {
              graph_line_write_column(line___0, (struct column  const  *)col, (char )'|');
            }
          } else {
            graph_line_write_column(line___0, (struct column  const  *)col, (char )'|');
          }
        } else {
          graph_line_write_column(line___0, (struct column  const  *)col, (char )'|');
        }
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if ((unsigned int )graph->prev_state == 5U) {
      if (*(graph->old_mapping + (2 * i + 1)) == i) {
        if (*(graph->mapping + 2 * i) < i) {
          graph_line_write_column(line___0, (struct column  const  *)col, (char )'/');
        } else {
          graph_line_write_column(line___0, (struct column  const  *)col, (char )'|');
        }
      } else {
        graph_line_write_column(line___0, (struct column  const  *)col, (char )'|');
      }
    } else {
      graph_line_write_column(line___0, (struct column  const  *)col, (char )'|');
    }
    graph_line_addch(line___0, ' ');
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (graph->num_parents > 1) {
    graph_update_state(graph, (enum graph_state )4);
  } else {
    tmp = graph_is_mapping_correct(graph);
    if (tmp) {
      graph_update_state(graph, (enum graph_state )0);
    } else {
      graph_update_state(graph, (enum graph_state )5);
    }
  }
  return;
}
}
static char const   merge_chars[3]  = {      (char const   )'/',      (char const   )'|',      (char const   )'\\'};
static void graph_output_post_merge_line(struct git_graph *graph , struct graph_line *line___0 )
{
  int seen_this ;
  int i ;
  int j ;
  struct commit_list *first_parent___0 ;
  struct commit_list *tmp ;
  struct column *parent_col ;
  struct column *col ;
  struct commit *col_commit ;
  struct commit_list *parents ;
  int par_column ;
  int idx___0 ;
  char c___0 ;
  int tmp___0 ;

  {
  seen_this = 0;
  tmp = first_interesting_parent(graph);
  first_parent___0 = tmp;
  parent_col = (struct column *)((void *)0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i <= graph->num_columns)) {
      goto while_break;
    }
    col = graph->columns + i;
    if (i == graph->num_columns) {
      if (seen_this) {
        goto while_break;
      }
      col_commit = graph->commit;
    } else {
      col_commit = col->commit;
    }
    if ((unsigned long )col_commit == (unsigned long )graph->commit) {
      parents = first_parent___0;
      idx___0 = graph->merge_layout;
      seen_this = 1;
      j = 0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (j < graph->num_parents)) {
          goto while_break___0;
        }
        par_column = graph_find_new_column_by_commit(graph, parents->item);
        assert(par_column >= 0);
        c___0 = (char )merge_chars[idx___0];
        graph_line_write_column(line___0, (struct column  const  *)(graph->new_columns + par_column),
                                c___0);
        if (idx___0 == 2) {
          if (graph->edges_added > 0) {
            graph_line_addch(line___0, ' ');
          } else
          if (j < graph->num_parents - 1) {
            graph_line_addch(line___0, ' ');
          }
        } else {
          idx___0 ++;
        }
        parents = next_interesting_parent(graph, parents);
        j ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      if (graph->edges_added == 0) {
        graph_line_addch(line___0, ' ');
      }
    } else
    if (seen_this) {
      if (graph->edges_added > 0) {
        graph_line_write_column(line___0, (struct column  const  *)col, (char )'\\');
      } else {
        graph_line_write_column(line___0, (struct column  const  *)col, (char )'|');
      }
      graph_line_addch(line___0, ' ');
    } else {
      graph_line_write_column(line___0, (struct column  const  *)col, (char )'|');
      if (graph->merge_layout != 0) {
        goto _L;
      } else
      if (i != graph->commit_index - 1) {
        _L: /* CIL Label */
        if (parent_col) {
          graph_line_write_column(line___0, (struct column  const  *)parent_col, (char )'_');
        } else {
          graph_line_addch(line___0, ' ');
        }
      }
    }
    if ((unsigned long )col_commit == (unsigned long )first_parent___0->item) {
      parent_col = col;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = graph_is_mapping_correct(graph);
  if (tmp___0) {
    graph_update_state(graph, (enum graph_state )0);
  } else {
    graph_update_state(graph, (enum graph_state )5);
  }
  return;
}
}
static void graph_output_collapsing_line(struct git_graph *graph , struct graph_line *line___0 )
{
  int i ;
  short used_horizontal ;
  int horizontal_edge ;
  int horizontal_edge_target ;
  void *_swap_a_ptr ;
  void *_swap_b_ptr ;
  unsigned char _swap_buffer[sizeof(graph->mapping)] ;
  int target ;
  int j ;
  int j___0 ;
  int target___0 ;
  int tmp ;

  {
  used_horizontal = (short)0;
  horizontal_edge = -1;
  horizontal_edge_target = -1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    _swap_a_ptr = (void *)(& graph->mapping);
    _swap_b_ptr = (void *)(& graph->old_mapping);
    memcpy((void *)(_swap_buffer), (void const   *)_swap_a_ptr, sizeof(graph->mapping));
    memcpy(_swap_a_ptr, (void const   *)_swap_b_ptr, sizeof(graph->mapping) + (sizeof(char [1]) - 1UL));
    memcpy(_swap_b_ptr, (void const   *)(_swap_buffer), sizeof(graph->mapping));
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < graph->mapping_size)) {
      goto while_break___0;
    }
    *(graph->mapping + i) = -1;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < graph->mapping_size)) {
      goto while_break___1;
    }
    target = *(graph->old_mapping + i);
    if (target < 0) {
      goto __Cont;
    }
    assert(target * 2 <= i);
    if (target * 2 == i) {
      assert(*(graph->mapping + i) == -1);
      *(graph->mapping + i) = target;
    } else
    if (*(graph->mapping + (i - 1)) < 0) {
      *(graph->mapping + (i - 1)) = target;
      if (horizontal_edge == -1) {
        horizontal_edge = i;
        horizontal_edge_target = target;
        j = target * 2 + 3;
        {
        while (1) {
          while_continue___2: /* CIL Label */ ;
          if (! (j < i - 2)) {
            goto while_break___2;
          }
          *(graph->mapping + j) = target;
          j += 2;
        }
        while_break___2: /* CIL Label */ ;
        }
      }
    } else
    if (! (*(graph->mapping + (i - 1)) == target)) {
      assert(*(graph->mapping + (i - 1)) > target);
      assert(*(graph->mapping + (i - 2)) < 0);
      *(graph->mapping + (i - 2)) = target;
      if (horizontal_edge == -1) {
        horizontal_edge_target = target;
        horizontal_edge = i - 1;
        j___0 = target * 2 + 3;
        {
        while (1) {
          while_continue___3: /* CIL Label */ ;
          if (! (j___0 < i - 2)) {
            goto while_break___3;
          }
          *(graph->mapping + j___0) = target;
          j___0 += 2;
        }
        while_break___3: /* CIL Label */ ;
        }
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  copy_array((void *)graph->old_mapping, (void const   *)graph->mapping, (size_t )graph->mapping_size,
             sizeof(*(graph->old_mapping)) + (sizeof(char [1]) - 1UL));
  if (*(graph->mapping + (graph->mapping_size - 1)) < 0) {
    (graph->mapping_size) --;
  }
  i = 0;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! (i < graph->mapping_size)) {
      goto while_break___4;
    }
    target___0 = *(graph->mapping + i);
    if (target___0 < 0) {
      graph_line_addch(line___0, ' ');
    } else
    if (target___0 * 2 == i) {
      graph_line_write_column(line___0, (struct column  const  *)(graph->new_columns + target___0),
                              (char )'|');
    } else
    if (target___0 == horizontal_edge_target) {
      if (i != horizontal_edge - 1) {
        if (i != target___0 * 2 + 3) {
          *(graph->mapping + i) = -1;
        }
        used_horizontal = (short)1;
        graph_line_write_column(line___0, (struct column  const  *)(graph->new_columns + target___0),
                                (char )'_');
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      if (used_horizontal) {
        if (i < horizontal_edge) {
          *(graph->mapping + i) = -1;
        }
      }
      graph_line_write_column(line___0, (struct column  const  *)(graph->new_columns + target___0),
                              (char )'/');
    }
    i ++;
  }
  while_break___4: /* CIL Label */ ;
  }
  tmp = graph_is_mapping_correct(graph);
  if (tmp) {
    graph_update_state(graph, (enum graph_state )0);
  }
  return;
}
}
int graph_next_line(struct git_graph *graph , struct strbuf *sb___6 )
{
  int shown_commit_line ;
  struct graph_line line___0 ;

  {
  shown_commit_line = 0;
  line___0.buf = sb___6;
  line___0.width = (size_t )0;
  if (! graph->commit) {
    return (-1);
  }
  {
  if ((unsigned int )graph->state == 0U) {
    goto case_0;
  }
  if ((unsigned int )graph->state == 1U) {
    goto case_1;
  }
  if ((unsigned int )graph->state == 2U) {
    goto case_2;
  }
  if ((unsigned int )graph->state == 3U) {
    goto case_3;
  }
  if ((unsigned int )graph->state == 4U) {
    goto case_4;
  }
  if ((unsigned int )graph->state == 5U) {
    goto case_5;
  }
  goto switch_break;
  case_0: /* CIL Label */
  graph_output_padding_line(graph, & line___0);
  goto switch_break;
  case_1: /* CIL Label */
  graph_output_skip_line(graph, & line___0);
  goto switch_break;
  case_2: /* CIL Label */
  graph_output_pre_commit_line(graph, & line___0);
  goto switch_break;
  case_3: /* CIL Label */
  graph_output_commit_line(graph, & line___0);
  shown_commit_line = 1;
  goto switch_break;
  case_4: /* CIL Label */
  graph_output_post_merge_line(graph, & line___0);
  goto switch_break;
  case_5: /* CIL Label */
  graph_output_collapsing_line(graph, & line___0);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  graph_pad_horizontally(graph, & line___0);
  return (shown_commit_line);
}
}
static void graph_padding_line(struct git_graph *graph , struct strbuf *sb___6 )
{
  int i ;
  struct graph_line line___0 ;
  struct column *col ;
  int len___0 ;

  {
  line___0.buf = sb___6;
  line___0.width = (size_t )0;
  if ((unsigned int )graph->state != 3U) {
    graph_next_line(graph, sb___6);
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < graph->num_columns)) {
      goto while_break;
    }
    col = graph->columns + i;
    graph_line_write_column(& line___0, (struct column  const  *)col, (char )'|');
    if ((unsigned long )col->commit == (unsigned long )graph->commit) {
      if (graph->num_parents > 2) {
        len___0 = (graph->num_parents - 2) * 2;
        graph_line_addchars(& line___0, ' ', (size_t )len___0);
      } else {
        graph_line_addch(& line___0, ' ');
      }
    } else {
      graph_line_addch(& line___0, ' ');
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  graph_pad_horizontally(graph, & line___0);
  graph->prev_state = (enum graph_state )0;
  return;
}
}
int graph_is_commit_finished(struct git_graph  const  *graph )
{


  {
  return ((unsigned int )graph->state == 0U);
}
}
void graph_show_commit(struct git_graph *graph )
{
  struct strbuf msgbuf___0 ;
  int shown_commit_line ;
  int tmp ;
  int tmp___0 ;

  {
  msgbuf___0.alloc = 0UL;
  msgbuf___0.len = 0UL;
  msgbuf___0.buf = strbuf_slopbuf;
  shown_commit_line = 0;
  graph_show_line_prefix(default_diffopt);
  if (! graph) {
    return;
  }
  tmp = graph_is_commit_finished((struct git_graph  const  *)graph);
  if (tmp) {
    graph_show_padding(graph);
    shown_commit_line = 1;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! shown_commit_line) {
      tmp___0 = graph_is_commit_finished((struct git_graph  const  *)graph);
      if (tmp___0) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    shown_commit_line = graph_next_line(graph, & msgbuf___0);
    fwrite((void const   * __restrict  )msgbuf___0.buf, sizeof(char ), msgbuf___0.len,
           (FILE * __restrict  )(graph->revs)->diffopt.file);
    if (! shown_commit_line) {
      _IO_putc('\n', (graph->revs)->diffopt.file);
      graph_show_line_prefix((struct diff_options  const  *)(& (graph->revs)->diffopt));
    }
    strbuf_setlen(& msgbuf___0, (size_t )0);
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& msgbuf___0);
  return;
}
}
void graph_show_oneline(struct git_graph *graph )
{
  struct strbuf msgbuf___0 ;

  {
  msgbuf___0.alloc = 0UL;
  msgbuf___0.len = 0UL;
  msgbuf___0.buf = strbuf_slopbuf;
  graph_show_line_prefix(default_diffopt);
  if (! graph) {
    return;
  }
  graph_next_line(graph, & msgbuf___0);
  fwrite((void const   * __restrict  )msgbuf___0.buf, sizeof(char ), msgbuf___0.len,
         (FILE * __restrict  )(graph->revs)->diffopt.file);
  strbuf_release(& msgbuf___0);
  return;
}
}
void graph_show_padding(struct git_graph *graph )
{
  struct strbuf msgbuf___0 ;

  {
  msgbuf___0.alloc = 0UL;
  msgbuf___0.len = 0UL;
  msgbuf___0.buf = strbuf_slopbuf;
  graph_show_line_prefix(default_diffopt);
  if (! graph) {
    return;
  }
  graph_padding_line(graph, & msgbuf___0);
  fwrite((void const   * __restrict  )msgbuf___0.buf, sizeof(char ), msgbuf___0.len,
         (FILE * __restrict  )(graph->revs)->diffopt.file);
  strbuf_release(& msgbuf___0);
  return;
}
}
int graph_show_remainder(struct git_graph *graph )
{
  struct strbuf msgbuf___0 ;
  int shown ;
  int tmp ;
  int tmp___0 ;

  {
  msgbuf___0.alloc = 0UL;
  msgbuf___0.len = 0UL;
  msgbuf___0.buf = strbuf_slopbuf;
  shown = 0;
  graph_show_line_prefix(default_diffopt);
  if (! graph) {
    return (0);
  }
  tmp = graph_is_commit_finished((struct git_graph  const  *)graph);
  if (tmp) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    graph_next_line(graph, & msgbuf___0);
    fwrite((void const   * __restrict  )msgbuf___0.buf, sizeof(char ), msgbuf___0.len,
           (FILE * __restrict  )(graph->revs)->diffopt.file);
    strbuf_setlen(& msgbuf___0, (size_t )0);
    shown = 1;
    tmp___0 = graph_is_commit_finished((struct git_graph  const  *)graph);
    if (tmp___0) {
      goto while_break;
    } else {
      _IO_putc('\n', (graph->revs)->diffopt.file);
      graph_show_line_prefix((struct diff_options  const  *)(& (graph->revs)->diffopt));
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& msgbuf___0);
  return (shown);
}
}
static void graph_show_strbuf(struct git_graph *graph , FILE *file___0 , struct strbuf  const  *sb___6 )
{
  char *p___0 ;
  size_t len___0 ;
  char *next_p ;
  char *tmp ;

  {
  p___0 = (char *)sb___6->buf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    tmp = strchr((char const   *)p___0, '\n');
    next_p = tmp;
    if (next_p) {
      next_p ++;
      len___0 = (size_t )(next_p - p___0);
    } else {
      len___0 = (size_t )((sb___6->buf + sb___6->len) - (char *)p___0);
    }
    fwrite((void const   * __restrict  )p___0, sizeof(char ), len___0, (FILE * __restrict  )file___0);
    if (next_p) {
      if ((int )*next_p != 0) {
        graph_show_oneline(graph);
      }
    }
    p___0 = next_p;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void graph_show_commit_msg(struct git_graph *graph , FILE *file___0 , struct strbuf  const  *sb___6 )
{
  int newline_terminated ;
  int tmp ;
  int tmp___0 ;

  {
  graph_show_strbuf(graph, file___0, sb___6);
  if (! graph) {
    return;
  }
  if (sb___6->len) {
    if ((int )*(sb___6->buf + (sb___6->len - 1UL)) == 10) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  newline_terminated = tmp;
  tmp___0 = graph_is_commit_finished((struct git_graph  const  *)graph);
  if (! tmp___0) {
    if (! newline_terminated) {
      _IO_putc('\n', file___0);
    }
    graph_show_remainder(graph);
    if (newline_terminated) {
      _IO_putc('\n', file___0);
    }
  }
  return;
}
}
int grep_use_locks  ;
pthread_mutex_t grep_attr_mutex  ;
static double const   __ac_HASH_UPPER___39  =    (double const   )0.77;
__inline static void kh_resize_oid_set___39(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___39(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___39 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___39 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___39(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___39(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___39(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___39(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___39(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___39(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___39 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___39 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___39(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___39(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___39(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___39(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___39(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___39(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___39 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___39 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___39(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___39(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___39(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___39(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___27(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___27(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___39 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___39 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___27(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___27(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___27(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___27(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int grep_source_load(struct grep_source *gs ) ;
static int grep_source_is_binary(struct grep_source *gs , struct index_state *istate ) ;
static void std_output(struct grep_opt *opt___0 , void const   *buf___19 , size_t size )
{


  {
  fwrite((void const   * __restrict  )buf___19, size, (size_t )1, (FILE * __restrict  )stdout);
  return;
}
}
static struct grep_opt grep_defaults  =
     {(struct grep_pat *)0, (struct grep_pat **)0, (struct grep_pat *)0, (struct grep_pat **)0,
    (struct grep_expr *)0, (struct repository *)0, (char const   *)0, 0, {(unsigned char *)0,
                                                                          0UL, 0UL,
                                                                          0UL, (char *)0,
                                                                          (unsigned char *)0,
                                                                          0UL, 0U,
                                                                          0U, 0U,
                                                                          0U, 0U,
                                                                          0U, 0U},
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, -1, -1, 0, 0,
    0, 0, 0, {{(char )'\000'}, {(char )'\033', (char )'[', (char )'3', (char )'5',
                                (char )'m', (char )'\000'}, {(char )'\000'}, {(char )'\033',
                                                                              (char )'[',
                                                                              (char )'3',
                                                                              (char )'2',
                                                                              (char )'m',
                                                                              (char )'\000'},
              {(char )'\033', (char )'[', (char )'3', (char )'2', (char )'m', (char )'\000'},
              {(char )'\033', (char )'[', (char )'1', (char )';', (char )'3', (char )'1',
               (char )'m', (char )'\000'}, {(char )'\033', (char )'[', (char )'1',
                                            (char )';', (char )'3', (char )'1', (char )'m',
                                            (char )'\000'}, {(char )'\000'}, {(char )'\033',
                                                                              (char )'[',
                                                                              (char )'3',
                                                                              (char )'6',
                                                                              (char )'m',
                                                                              (char )'\000'}},
    0U, 0U, 0U, 0, 0, 0, (void *)0, & std_output, (void *)0};
static char const   *color_grep_slots[9]  =
  {      (char const   *)"context",      (char const   *)"filename",      (char const   *)"function",      (char const   *)"lineNumber",
        (char const   *)"column",      (char const   *)"matchContext",      (char const   *)"matchSelected",      (char const   *)"selected",
        (char const   *)"separator"};
static int parse_pattern_type_arg(char const   *opt___0 , char const   *arg )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp___3 = strcmp(arg, (char const   *)"default");
  if (tmp___3) {
    tmp___2 = strcmp(arg, (char const   *)"basic");
    if (tmp___2) {
      tmp___1 = strcmp(arg, (char const   *)"extended");
      if (tmp___1) {
        tmp___0 = strcmp(arg, (char const   *)"fixed");
        if (tmp___0) {
          tmp = strcmp(arg, (char const   *)"perl");
          if (! tmp) {
            return (4);
          }
        } else {
          return (3);
        }
      } else {
        return (2);
      }
    } else {
      return (1);
    }
  } else {
    return (0);
  }
  die((char const   *)"bad %s argument: %s", opt___0, arg);
}
}
static char const   *extra___0[1]  = {      (char const   *)"match"};
void list_config_color_grep_slots(struct string_list *list___3 , char const   *prefix___1 )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(extra___0) / sizeof(extra___0[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    list_config_item(list___3, prefix___1, extra___0[i]);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(color_grep_slots) / sizeof(color_grep_slots[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break___0;
    }
    if (color_grep_slots[i]) {
      list_config_item(list___3, prefix___1, color_grep_slots[i]);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
int grep_config(char const   *var , char const   *value , void *cb )
{
  struct grep_opt *opt___0 ;
  char const   *slot ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int i ;
  int tmp___10 ;
  char *color___0 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;

  {
  opt___0 = & grep_defaults;
  tmp = userdiff_config(var, value);
  if (tmp < 0) {
    return (-1);
  }
  tmp___0 = strcmp(var, (char const   *)"grep.extendedregexp");
  if (! tmp___0) {
    opt___0->extended_regexp_option = git_config_bool(var, value);
    return (0);
  }
  tmp___1 = strcmp(var, (char const   *)"grep.patterntype");
  if (! tmp___1) {
    opt___0->pattern_type_option = parse_pattern_type_arg(var, value);
    return (0);
  }
  tmp___2 = strcmp(var, (char const   *)"grep.linenumber");
  if (! tmp___2) {
    opt___0->linenum = git_config_bool(var, value);
    return (0);
  }
  tmp___3 = strcmp(var, (char const   *)"grep.column");
  if (! tmp___3) {
    opt___0->columnnum = git_config_bool(var, value);
    return (0);
  }
  tmp___6 = strcmp(var, (char const   *)"grep.fullname");
  if (! tmp___6) {
    tmp___4 = git_config_bool(var, value);
    if (tmp___4) {
      tmp___5 = 0;
    } else {
      tmp___5 = 1;
    }
    opt___0->relative = tmp___5;
    return (0);
  }
  tmp___7 = strcmp(var, (char const   *)"color.grep");
  if (! tmp___7) {
    opt___0->color = git_config_colorbool(var, value);
  }
  tmp___14 = strcmp(var, (char const   *)"color.grep.match");
  if (tmp___14) {
    tmp___13 = skip_prefix(var, (char const   *)"color.grep.", & slot);
    if (tmp___13) {
      tmp___10 = lookup_config(color_grep_slots, (int )(sizeof(color_grep_slots) / sizeof(color_grep_slots[0]) + (sizeof(char [1]) - 1UL)),
                               slot);
      i = tmp___10;
      if (i < 0) {
        return (-1);
      }
      color___0 = opt___0->colors[i];
      if (! value) {
        config_error_nonbool(var);
        tmp___11 = const_error();
        return (tmp___11);
      }
      tmp___12 = color_parse(value, color___0);
      return (tmp___12);
    }
  } else {
    tmp___8 = grep_config((char const   *)"color.grep.matchcontext", value, cb);
    if (tmp___8 < 0) {
      return (-1);
    }
    tmp___9 = grep_config((char const   *)"color.grep.matchselected", value, cb);
    if (tmp___9 < 0) {
      return (-1);
    }
  }
  return (0);
}
}
void grep_init(struct grep_opt *opt___0 , struct repository *repo , char const   *prefix___1 )
{
  size_t tmp ;

  {
  *opt___0 = grep_defaults;
  opt___0->repo = repo;
  opt___0->prefix = prefix___1;
  if (prefix___1) {
    if (*prefix___1) {
      tmp = strlen(prefix___1);
      opt___0->prefix_length = (int )tmp;
    } else {
      opt___0->prefix_length = 0;
    }
  } else {
    opt___0->prefix_length = 0;
  }
  opt___0->pattern_tail = & opt___0->pattern_list;
  opt___0->header_tail = & opt___0->header_list;
  return;
}
}
static void grep_set_pattern_type_option(enum grep_pattern_type pattern_type , struct grep_opt *opt___0 )
{


  {
  if ((unsigned int )pattern_type != 2U) {
    if (opt___0->extended_regexp_option) {
      opt___0->extended_regexp_option = 0;
    }
  }
  {
  if ((unsigned int )pattern_type == 1U) {
    goto case_1;
  }
  if ((unsigned int )pattern_type == 0U) {
    goto case_1;
  }
  if ((unsigned int )pattern_type == 2U) {
    goto case_2;
  }
  if ((unsigned int )pattern_type == 3U) {
    goto case_3;
  }
  if ((unsigned int )pattern_type == 4U) {
    goto case_4;
  }
  goto switch_break;
  case_1: /* CIL Label */
  case_0: /* CIL Label */
  goto switch_break;
  case_2: /* CIL Label */
  opt___0->extended_regexp_option = 1;
  goto switch_break;
  case_3: /* CIL Label */
  opt___0->fixed = 1;
  goto switch_break;
  case_4: /* CIL Label */
  opt___0->pcre2 = 1;
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
void grep_commit_pattern_type(enum grep_pattern_type pattern_type , struct grep_opt *opt___0 )
{


  {
  if ((unsigned int )pattern_type != 0U) {
    grep_set_pattern_type_option(pattern_type, opt___0);
  } else
  if (opt___0->pattern_type_option != 0) {
    grep_set_pattern_type_option((enum grep_pattern_type )opt___0->pattern_type_option,
                                 opt___0);
  } else
  if (opt___0->extended_regexp_option) {
    grep_set_pattern_type_option((enum grep_pattern_type )2, opt___0);
  }
  return;
}
}
static struct grep_pat *create_grep_pat(char const   *pat , size_t patlen , char const   *origin___0 ,
                                        int no , enum grep_pat_token t , enum grep_header_field field )
{
  struct grep_pat *p___0 ;
  void *tmp ;
  void *tmp___0 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*p___0));
  p___0 = (struct grep_pat *)tmp;
  tmp___0 = xmemdupz((void const   *)pat, patlen);
  p___0->pattern = (char *)tmp___0;
  p___0->patternlen = patlen;
  p___0->origin = origin___0;
  p___0->no = no;
  p___0->token = t;
  p___0->field = field;
  return (p___0);
}
}
static void do_append_grep_pat(struct grep_pat ***tail , struct grep_pat *p___0 )
{
  struct grep_pat *new_pat ;
  size_t len___0 ;
  char *cp ;
  char *nl ;

  {
  *(*tail) = p___0;
  *tail = & p___0->next;
  p___0->next = (struct grep_pat *)((void *)0);
  {
  if ((unsigned int )p___0->token == 2U) {
    goto case_2;
  }
  if ((unsigned int )p___0->token == 1U) {
    goto case_2;
  }
  if ((unsigned int )p___0->token == 0U) {
    goto case_2;
  }
  goto switch_default;
  case_2: /* CIL Label */
  case_1: /* CIL Label */
  case_0: /* CIL Label */
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    len___0 = (size_t )0;
    cp = p___0->pattern + p___0->patternlen;
    nl = (char *)((void *)0);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      len___0 ++;
      if (! (len___0 <= p___0->patternlen)) {
        goto while_break___0;
      }
      cp --;
      if ((int )*cp == 10) {
        nl = cp;
        goto while_break___0;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! nl) {
      goto while_break;
    }
    new_pat = create_grep_pat((char const   *)(nl + 1), len___0 - 1UL, p___0->origin,
                              p___0->no, p___0->token, p___0->field);
    new_pat->next = p___0->next;
    if (! p___0->next) {
      *tail = & new_pat->next;
    }
    p___0->next = new_pat;
    *nl = (char )'\000';
    p___0->patternlen -= len___0;
  }
  while_break: /* CIL Label */ ;
  }
  goto switch_break;
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
void append_header_grep_pattern(struct grep_opt *opt___0 , enum grep_header_field field ,
                                char const   *pat )
{
  struct grep_pat *p___0 ;
  size_t tmp ;
  struct grep_pat *tmp___0 ;

  {
  tmp = strlen(pat);
  tmp___0 = create_grep_pat(pat, tmp, (char const   *)"header", 0, (enum grep_pat_token )1,
                            field);
  p___0 = tmp___0;
  if ((unsigned int )field == 2U) {
    opt___0->use_reflog_filter = 1;
  }
  do_append_grep_pat(& opt___0->header_tail, p___0);
  return;
}
}
void append_grep_pattern(struct grep_opt *opt___0 , char const   *pat , char const   *origin___0 ,
                         int no , enum grep_pat_token t )
{
  size_t tmp ;

  {
  tmp = strlen(pat);
  append_grep_pat(opt___0, pat, tmp, origin___0, no, t);
  return;
}
}
void append_grep_pat(struct grep_opt *opt___0 , char const   *pat , size_t patlen ,
                     char const   *origin___0 , int no , enum grep_pat_token t )
{
  struct grep_pat *p___0 ;
  struct grep_pat *tmp ;

  {
  tmp = create_grep_pat(pat, patlen, origin___0, no, t, (enum grep_header_field )0);
  p___0 = tmp;
  do_append_grep_pat(& opt___0->pattern_tail, p___0);
  return;
}
}
struct grep_opt *grep_opt_dup(struct grep_opt  const  *opt___0 )
{
  struct grep_pat *pat ;
  struct grep_opt *ret___67 ;
  void *tmp ;

  {
  tmp = xmalloc(sizeof(struct grep_opt ));
  ret___67 = (struct grep_opt *)tmp;
  *ret___67 = (struct grep_opt )*opt___0;
  ret___67->pattern_list = (struct grep_pat *)((void *)0);
  ret___67->pattern_tail = & ret___67->pattern_list;
  pat = (struct grep_pat *)opt___0->pattern_list;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )pat != (unsigned long )((void *)0))) {
      goto while_break;
    }
    if ((unsigned int )pat->token == 1U) {
      append_header_grep_pattern(ret___67, pat->field, (char const   *)pat->pattern);
    } else {
      append_grep_pat(ret___67, (char const   *)pat->pattern, pat->patternlen, pat->origin,
                      pat->no, pat->token);
    }
    pat = pat->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static void compile_regexp_failed(struct grep_pat  const  *p___0 , char const   *error___0 )  __attribute__((__noreturn__)) ;
static void compile_regexp_failed(struct grep_pat  const  *p___0 , char const   *error___0 )
{
  char where___0[1024] ;

  {
  if (p___0->no) {
    xsnprintf(where___0, sizeof(where___0), (char const   *)"In \'%s\' at %d, ", p___0->origin,
              p___0->no);
  } else
  if (p___0->origin) {
    xsnprintf(where___0, sizeof(where___0), (char const   *)"%s, ", p___0->origin);
  } else {
    where___0[0] = (char)0;
  }
  die((char const   *)"%s\'%s\': %s", where___0, p___0->pattern, error___0);
}
}
static int is_fixed(char const   *s___1 , size_t len___0 )
{
  size_t i ;

  {
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < len___0)) {
      goto while_break;
    }
    if (((int const   )sane_ctype[(unsigned char )*(s___1 + i)] & 24) != 0) {
      return (0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static void compile_pcre2_pattern(struct grep_pat *p___0 , struct grep_opt  const  *opt___0 )
{


  {
  die((char const   *)"cannot use Perl-compatible regexes when not compiled with USE_LIBPCRE");
}
}
static int pcre2match(struct grep_pat *p___0 , char const   *line___0 , char const   *eol ,
                      regmatch_t *match___0 , int eflags )
{


  {
  return (1);
}
}
static void free_pcre2_pattern(struct grep_pat *p___0 )
{


  {
  return;
}
}
static void compile_fixed_regexp(struct grep_pat *p___0 , struct grep_opt *opt___0 )
{
  struct strbuf sb___6 ;
  int err___4 ;
  int regflags ;
  char errbuf[1024] ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  regflags = 0;
  basic_regex_quote_buf(& sb___6, (char const   *)p___0->pattern);
  if (opt___0->ignore_case) {
    regflags |= 1 << 1;
  }
  err___4 = regcomp((regex_t * __restrict  )(& p___0->regexp), (char const   * __restrict  )sb___6.buf,
                    regflags);
  strbuf_release(& sb___6);
  if (err___4) {
    regerror(err___4, (regex_t const   * __restrict  )(& p___0->regexp), (char * __restrict  )(errbuf),
             sizeof(errbuf));
    compile_regexp_failed((struct grep_pat  const  *)p___0, (char const   *)(errbuf));
  }
  return;
}
}
static void compile_regexp(struct grep_pat *p___0 , struct grep_opt *opt___0 )
{
  int err___4 ;
  int regflags ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  char errbuf[1024] ;

  {
  regflags = (1 << 1) << 1;
  p___0->word_regexp = (unsigned int )opt___0->word_regexp;
  p___0->ignore_case = (unsigned int )opt___0->ignore_case;
  p___0->fixed = (unsigned int )opt___0->fixed;
  tmp___0 = memchr((void const   *)p___0->pattern, 0, p___0->patternlen);
  if (tmp___0) {
    if (! opt___0->pcre2) {
      tmp = _((char const   *)"given pattern contains NULL byte (via -f <file>). This is only supported with -P under PCRE v2");
      die((char const   *)tmp);
    }
  }
  tmp___1 = is_fixed((char const   *)p___0->pattern, p___0->patternlen);
  p___0->is_fixed = (unsigned int )tmp___1;
  if (p___0->fixed) {
    compile_fixed_regexp(p___0, opt___0);
    return;
  } else
  if (p___0->is_fixed) {
    compile_fixed_regexp(p___0, opt___0);
    return;
  }
  if (opt___0->pcre2) {
    compile_pcre2_pattern(p___0, (struct grep_opt  const  *)opt___0);
    return;
  }
  if (p___0->ignore_case) {
    regflags |= 1 << 1;
  }
  if (opt___0->extended_regexp_option) {
    regflags |= 1;
  }
  err___4 = regcomp((regex_t * __restrict  )(& p___0->regexp), (char const   * __restrict  )p___0->pattern,
                    regflags);
  if (err___4) {
    regerror(err___4, (regex_t const   * __restrict  )(& p___0->regexp), (char * __restrict  )(errbuf),
             (size_t )1024);
    compile_regexp_failed((struct grep_pat  const  *)p___0, (char const   *)(errbuf));
  }
  return;
}
}
static struct grep_expr *compile_pattern_or(struct grep_pat **list___3 ) ;
static struct grep_expr *compile_pattern_atom(struct grep_pat **list___3 )
{
  struct grep_pat *p___0 ;
  struct grep_expr *x ;
  void *tmp ;

  {
  p___0 = *list___3;
  if (! p___0) {
    return ((struct grep_expr *)((void *)0));
  }
  {
  if ((unsigned int )p___0->token == 2U) {
    goto case_2;
  }
  if ((unsigned int )p___0->token == 1U) {
    goto case_2;
  }
  if ((unsigned int )p___0->token == 0U) {
    goto case_2;
  }
  if ((unsigned int )p___0->token == 4U) {
    goto case_4;
  }
  goto switch_default;
  case_2: /* CIL Label */
  case_1: /* CIL Label */
  case_0: /* CIL Label */
  tmp = xcalloc((size_t )1, sizeof(*x));
  x = (struct grep_expr *)tmp;
  x->node = (enum grep_expr_node )0;
  x->u.atom = p___0;
  *list___3 = p___0->next;
  return (x);
  case_4: /* CIL Label */
  *list___3 = p___0->next;
  x = compile_pattern_or(list___3);
  if (! *list___3) {
    die((char const   *)"unmatched parenthesis");
  } else
  if ((unsigned int )(*list___3)->token != 5U) {
    die((char const   *)"unmatched parenthesis");
  }
  *list___3 = (*list___3)->next;
  return (x);
  switch_default: /* CIL Label */
  return ((struct grep_expr *)((void *)0));
  switch_break: /* CIL Label */ ;
  }
}
}
static struct grep_expr *compile_pattern_not(struct grep_pat **list___3 )
{
  struct grep_pat *p___0 ;
  struct grep_expr *x ;
  void *tmp ;
  struct grep_expr *tmp___0 ;

  {
  p___0 = *list___3;
  if (! p___0) {
    return ((struct grep_expr *)((void *)0));
  }
  {
  if ((unsigned int )p___0->token == 6U) {
    goto case_6;
  }
  goto switch_default;
  case_6: /* CIL Label */
  if (! p___0->next) {
    die((char const   *)"--not not followed by pattern expression");
  }
  *list___3 = p___0->next;
  tmp = xcalloc((size_t )1, sizeof(*x));
  x = (struct grep_expr *)tmp;
  x->node = (enum grep_expr_node )1;
  x->u.unary = compile_pattern_not(list___3);
  if (! x->u.unary) {
    die((char const   *)"--not followed by non pattern expression");
  }
  return (x);
  switch_default: /* CIL Label */
  tmp___0 = compile_pattern_atom(list___3);
  return (tmp___0);
  switch_break: /* CIL Label */ ;
  }
}
}
static struct grep_expr *compile_pattern_and(struct grep_pat **list___3 )
{
  struct grep_pat *p___0 ;
  struct grep_expr *x ;
  struct grep_expr *y ;
  struct grep_expr *z ;
  void *tmp ;

  {
  x = compile_pattern_not(list___3);
  p___0 = *list___3;
  if (p___0) {
    if ((unsigned int )p___0->token == 3U) {
      if (! x) {
        die((char const   *)"--and not preceded by pattern expression");
      }
      if (! p___0->next) {
        die((char const   *)"--and not followed by pattern expression");
      }
      *list___3 = p___0->next;
      y = compile_pattern_and(list___3);
      if (! y) {
        die((char const   *)"--and not followed by pattern expression");
      }
      tmp = xcalloc((size_t )1, sizeof(*z));
      z = (struct grep_expr *)tmp;
      z->node = (enum grep_expr_node )2;
      z->u.binary.left = x;
      z->u.binary.right = y;
      return (z);
    }
  }
  return (x);
}
}
static struct grep_expr *compile_pattern_or(struct grep_pat **list___3 )
{
  struct grep_pat *p___0 ;
  struct grep_expr *x ;
  struct grep_expr *y ;
  struct grep_expr *z ;
  void *tmp ;

  {
  x = compile_pattern_and(list___3);
  p___0 = *list___3;
  if (x) {
    if (p___0) {
      if ((unsigned int )p___0->token != 5U) {
        y = compile_pattern_or(list___3);
        if (! y) {
          die((char const   *)"not a pattern expression %s", p___0->pattern);
        }
        tmp = xcalloc((size_t )1, sizeof(*z));
        z = (struct grep_expr *)tmp;
        z->node = (enum grep_expr_node )4;
        z->u.binary.left = x;
        z->u.binary.right = y;
        return (z);
      }
    }
  }
  return (x);
}
}
static struct grep_expr *compile_pattern_expr(struct grep_pat **list___3 )
{
  struct grep_expr *tmp ;

  {
  tmp = compile_pattern_or(list___3);
  return (tmp);
}
}
static struct grep_expr *grep_not_expr(struct grep_expr *expr )
{
  struct grep_expr *z ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(*z));
  z = (struct grep_expr *)tmp;
  z->node = (enum grep_expr_node )1;
  z->u.unary = expr;
  return (z);
}
}
static struct grep_expr *grep_true_expr(void)
{
  struct grep_expr *z ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(*z));
  z = (struct grep_expr *)tmp;
  z->node = (enum grep_expr_node )3;
  return (z);
}
}
static struct grep_expr *grep_or_expr(struct grep_expr *left , struct grep_expr *right )
{
  struct grep_expr *z ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(*z));
  z = (struct grep_expr *)tmp;
  z->node = (enum grep_expr_node )4;
  z->u.binary.left = left;
  z->u.binary.right = right;
  return (z);
}
}
static struct grep_expr *prep_header_patterns(struct grep_opt *opt___0 )
{
  struct grep_pat *p___0 ;
  struct grep_expr *header_expr ;
  struct grep_expr *header_group[3] ;
  enum grep_header_field fld ;
  struct grep_expr *h ;
  struct grep_pat *pp ;

  {
  if (! opt___0->header_list) {
    return ((struct grep_expr *)((void *)0));
  }
  p___0 = opt___0->header_list;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if ((unsigned int )p___0->token != 1U) {
      BUG_fl((char const   *)"grep.c", 738, (char const   *)"a non-header pattern in grep header list.");
    }
    if ((unsigned int )p___0->field < 0U) {
      BUG_fl((char const   *)"grep.c", 741, (char const   *)"unknown header field %d",
             (unsigned int )p___0->field);
    } else
    if (3U <= (unsigned int )p___0->field) {
      BUG_fl((char const   *)"grep.c", 741, (char const   *)"unknown header field %d",
             (unsigned int )p___0->field);
    }
    compile_regexp(p___0, opt___0);
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  fld = (enum grep_header_field )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )fld < 3U)) {
      goto while_break___0;
    }
    header_group[fld] = (struct grep_expr *)((void *)0);
    fld = (enum grep_header_field )((unsigned int )fld + 1U);
  }
  while_break___0: /* CIL Label */ ;
  }
  p___0 = opt___0->header_list;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___1;
    }
    pp = p___0;
    h = compile_pattern_atom(& pp);
    if (! h) {
      BUG_fl((char const   *)"grep.c", 754, (char const   *)"malformed header expr");
    } else
    if ((unsigned long )pp != (unsigned long )p___0->next) {
      BUG_fl((char const   *)"grep.c", 754, (char const   *)"malformed header expr");
    }
    if (! header_group[p___0->field]) {
      header_group[p___0->field] = h;
      goto __Cont;
    }
    header_group[p___0->field] = grep_or_expr(h, header_group[p___0->field]);
    __Cont: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break___1: /* CIL Label */ ;
  }
  header_expr = (struct grep_expr *)((void *)0);
  fld = (enum grep_header_field )0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((unsigned int )fld < 3U)) {
      goto while_break___2;
    }
    if (! header_group[fld]) {
      goto __Cont___0;
    }
    if (! header_expr) {
      header_expr = grep_true_expr();
    }
    header_expr = grep_or_expr(header_group[fld], header_expr);
    __Cont___0: /* CIL Label */
    fld = (enum grep_header_field )((unsigned int )fld + 1U);
  }
  while_break___2: /* CIL Label */ ;
  }
  return (header_expr);
}
}
static struct grep_expr *grep_splice_or(struct grep_expr *x , struct grep_expr *y )
{
  struct grep_expr *z ;

  {
  z = x;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! x) {
      goto while_break;
    }
    assert((unsigned int )x->node == 4U);
    if (x->u.binary.right) {
      if ((unsigned int )(x->u.binary.right)->node == 3U) {
        x->u.binary.right = y;
        goto while_break;
      }
    }
    x = x->u.binary.right;
  }
  while_break: /* CIL Label */ ;
  }
  return (z);
}
}
void compile_grep_patterns(struct grep_opt *opt___0 )
{
  struct grep_pat *p___0 ;
  struct grep_expr *header_expr ;
  struct grep_expr *tmp ;

  {
  tmp = prep_header_patterns(opt___0);
  header_expr = tmp;
  p___0 = opt___0->pattern_list;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    {
    if ((unsigned int )p___0->token == 2U) {
      goto case_2;
    }
    if ((unsigned int )p___0->token == 1U) {
      goto case_2;
    }
    if ((unsigned int )p___0->token == 0U) {
      goto case_2;
    }
    goto switch_default;
    case_2: /* CIL Label */
    case_1: /* CIL Label */
    case_0: /* CIL Label */
    compile_regexp(p___0, opt___0);
    goto switch_break;
    switch_default: /* CIL Label */
    opt___0->extended = 1;
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (opt___0->all_match) {
    opt___0->extended = 1;
  } else
  if (opt___0->no_body_match) {
    opt___0->extended = 1;
  } else
  if (header_expr) {
    opt___0->extended = 1;
  } else
  if (! opt___0->extended) {
    return;
  }
  p___0 = opt___0->pattern_list;
  if (p___0) {
    opt___0->pattern_expression = compile_pattern_expr(& p___0);
  }
  if (p___0) {
    die((char const   *)"incomplete pattern expression: %s", p___0->pattern);
  }
  if (opt___0->no_body_match) {
    if (opt___0->pattern_expression) {
      opt___0->pattern_expression = grep_not_expr(opt___0->pattern_expression);
    }
  }
  if (! header_expr) {
    return;
  }
  if (! opt___0->pattern_expression) {
    opt___0->pattern_expression = header_expr;
  } else
  if (opt___0->all_match) {
    opt___0->pattern_expression = grep_splice_or(header_expr, opt___0->pattern_expression);
  } else {
    opt___0->pattern_expression = grep_or_expr(opt___0->pattern_expression, header_expr);
  }
  opt___0->all_match = 1;
  return;
}
}
static void free_pattern_expr(struct grep_expr *x )
{


  {
  {
  if ((unsigned int )x->node == 0U) {
    goto case_0;
  }
  if ((unsigned int )x->node == 3U) {
    goto case_0;
  }
  if ((unsigned int )x->node == 1U) {
    goto case_1;
  }
  if ((unsigned int )x->node == 4U) {
    goto case_4;
  }
  if ((unsigned int )x->node == 2U) {
    goto case_4;
  }
  goto switch_break;
  case_0: /* CIL Label */
  case_3: /* CIL Label */
  goto switch_break;
  case_1: /* CIL Label */
  free_pattern_expr(x->u.unary);
  goto switch_break;
  case_4: /* CIL Label */
  case_2: /* CIL Label */
  free_pattern_expr(x->u.binary.left);
  free_pattern_expr(x->u.binary.right);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  free((void *)x);
  return;
}
}
void free_grep_patterns(struct grep_opt *opt___0 )
{
  struct grep_pat *p___0 ;
  struct grep_pat *n ;

  {
  p___0 = opt___0->pattern_list;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    n = p___0->next;
    {
    if ((unsigned int )p___0->token == 2U) {
      goto case_2;
    }
    if ((unsigned int )p___0->token == 1U) {
      goto case_2;
    }
    if ((unsigned int )p___0->token == 0U) {
      goto case_2;
    }
    goto switch_default;
    case_2: /* CIL Label */
    case_1: /* CIL Label */
    case_0: /* CIL Label */
    if (p___0->pcre2_pattern) {
      free_pcre2_pattern(p___0);
    } else {
      regfree(& p___0->regexp);
    }
    free((void *)p___0->pattern);
    goto switch_break;
    switch_default: /* CIL Label */
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    free((void *)p___0);
    p___0 = n;
  }
  while_break: /* CIL Label */ ;
  }
  if (! opt___0->extended) {
    return;
  }
  free_pattern_expr(opt___0->pattern_expression);
  return;
}
}
static char const   *end_of_line(char const   *cp , unsigned long *left )
{
  unsigned long l ;

  {
  l = *left;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (l) {
      if (! ((int const   )*cp != 10)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    l --;
    cp ++;
  }
  while_break: /* CIL Label */ ;
  }
  *left = l;
  return (cp);
}
}
static int word_char(char ch___0 )
{
  int tmp ;

  {
  if (((int const   )sane_ctype[(unsigned char )ch___0] & 6) != 0) {
    tmp = 1;
  } else
  if ((int )ch___0 == 95) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static void output_color(struct grep_opt *opt___0 , void const   *data , size_t size ,
                         char const   *color___0 )
{
  size_t tmp ;
  size_t tmp___0 ;
  int tmp___1 ;

  {
  tmp___1 = want_color_fd(1, opt___0->color);
  if (tmp___1) {
    if (color___0) {
      if (*(color___0 + 0)) {
        tmp = strlen(color___0);
        (*(opt___0->output))(opt___0, (void const   *)color___0, tmp);
        (*(opt___0->output))(opt___0, data, size);
        tmp___0 = strlen((char const   *)"\033[m");
        (*(opt___0->output))(opt___0, (void const   *)"\033[m", tmp___0);
      } else {
        (*(opt___0->output))(opt___0, data, size);
      }
    } else {
      (*(opt___0->output))(opt___0, data, size);
    }
  } else {
    (*(opt___0->output))(opt___0, data, size);
  }
  return;
}
}
static void output_sep(struct grep_opt *opt___0 , char sign )
{


  {
  if (opt___0->null_following_name) {
    (*(opt___0->output))(opt___0, (void const   *)"\000", (size_t )1);
  } else {
    output_color(opt___0, (void const   *)(& sign), (size_t )1, (char const   *)(opt___0->colors[8]));
  }
  return;
}
}
static void show_name(struct grep_opt *opt___0 , char const   *name___0 )
{
  size_t tmp ;
  char *tmp___0 ;

  {
  tmp = strlen(name___0);
  output_color(opt___0, (void const   *)name___0, tmp, (char const   *)(opt___0->colors[1]));
  if (opt___0->null_following_name) {
    tmp___0 = "\000";
  } else {
    tmp___0 = "\n";
  }
  (*(opt___0->output))(opt___0, (void const   *)tmp___0, (size_t )1);
  return;
}
}
static int patmatch(struct grep_pat *p___0 , char const   *line___0 , char const   *eol ,
                    regmatch_t *match___0 , int eflags )
{
  int hit ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (p___0->pcre2_pattern) {
    tmp = pcre2match(p___0, line___0, eol, match___0, eflags);
    if (tmp) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
    hit = tmp___0;
  } else {
    tmp___1 = regexec_buf((regex_t const   *)(& p___0->regexp), line___0, (size_t )(eol - line___0),
                          (size_t )1, match___0, eflags);
    if (tmp___1) {
      tmp___2 = 0;
    } else {
      tmp___2 = 1;
    }
    hit = tmp___2;
  }
  return (hit);
}
}
static void strip_timestamp(char const   *bol , char const   **eol_p )
{
  char const   *eol ;

  {
  eol = *eol_p;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    eol --;
    if (! ((unsigned long )bol < (unsigned long )eol)) {
      goto while_break;
    }
    if ((int const   )*eol != 62) {
      goto while_continue;
    }
    eol ++;
    *eol_p = eol;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct __anonstruct_header_field_673951369 header_field[3]  = {      {(char const   *)"author ", (size_t )7},
        {(char const   *)"committer ", (size_t )10},
        {(char const   *)"reflog ", (size_t )7}};
static int headerless_match_one_pattern(struct grep_pat *p___0 , char const   *bol ,
                                        char const   *eol , enum grep_context ctx___0 ,
                                        regmatch_t *pmatch , int eflags )
{
  int hit ;
  char const   *start ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  hit = 0;
  start = bol;
  if ((unsigned int )p___0->token != 0U) {
    if (((unsigned int )p___0->token == 1U) != ((unsigned int )ctx___0 == 0U)) {
      return (0);
    }
  }
  again:
  hit = patmatch(p___0, bol, eol, pmatch, eflags);
  if (hit) {
    if (p___0->word_regexp) {
      if ((pmatch + 0)->rm_so < 0) {
        die((char const   *)"regexp returned nonsense");
      } else
      if (eol - bol < (long )(pmatch + 0)->rm_so) {
        die((char const   *)"regexp returned nonsense");
      } else
      if ((pmatch + 0)->rm_eo < 0) {
        die((char const   *)"regexp returned nonsense");
      } else
      if (eol - bol < (long )(pmatch + 0)->rm_eo) {
        die((char const   *)"regexp returned nonsense");
      }
      if ((pmatch + 0)->rm_so == 0) {
        goto _L;
      } else {
        tmp = word_char((char )*(bol + ((pmatch + 0)->rm_so - 1)));
        if (tmp) {
          hit = 0;
        } else
        _L: /* CIL Label */
        if (! ((long )(pmatch + 0)->rm_eo == eol - bol)) {
          tmp___0 = word_char((char )*(bol + (pmatch + 0)->rm_eo));
          if (tmp___0) {
            hit = 0;
          }
        }
      }
      if (pmatch->rm_so == pmatch->rm_eo) {
        hit = 0;
      }
      if (! hit) {
        if ((unsigned long )((bol + (pmatch + 0)->rm_so) + 1) < (unsigned long )eol) {
          bol = (bol + (pmatch + 0)->rm_so) + 1;
          {
          while (1) {
            while_continue: /* CIL Label */ ;
            tmp___1 = word_char((char )*(bol + -1));
            if (tmp___1) {
              if (! ((unsigned long )bol < (unsigned long )eol)) {
                goto while_break;
              }
            } else {
              goto while_break;
            }
            bol ++;
          }
          while_break: /* CIL Label */ ;
          }
          eflags |= 1;
          if ((unsigned long )bol < (unsigned long )eol) {
            goto again;
          }
        }
      }
    }
  }
  if (hit) {
    (pmatch + 0)->rm_so = (regoff_t )((long )(pmatch + 0)->rm_so + (bol - start));
    (pmatch + 0)->rm_eo = (regoff_t )((long )(pmatch + 0)->rm_eo + (bol - start));
  }
  return (hit);
}
}
static int match_one_pattern(struct grep_pat *p___0 , char const   *bol , char const   *eol ,
                             enum grep_context ctx___0 , regmatch_t *pmatch , int eflags )
{
  char const   *field ;
  size_t len___0 ;
  int tmp ;
  int tmp___0 ;

  {
  if ((unsigned int )p___0->token == 1U) {
    assert((unsigned long )p___0->field < sizeof(header_field) / sizeof(header_field[0]) + (sizeof(char [1]) - 1UL));
    field = header_field[p___0->field].field;
    len___0 = header_field[p___0->field].len;
    tmp = strncmp(bol, field, len___0);
    if (tmp) {
      return (0);
    }
    bol += len___0;
    {
    if ((unsigned int )p___0->field == 1U) {
      goto case_1;
    }
    if ((unsigned int )p___0->field == 0U) {
      goto case_1;
    }
    goto switch_default;
    case_1: /* CIL Label */
    case_0: /* CIL Label */
    strip_timestamp(bol, & eol);
    goto switch_break;
    switch_default: /* CIL Label */
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
  }
  tmp___0 = headerless_match_one_pattern(p___0, bol, eol, ctx___0, pmatch, eflags);
  return (tmp___0);
}
}
static int match_expr_eval(struct grep_opt *opt___0 , struct grep_expr *x , char const   *bol ,
                           char const   *eol , enum grep_context ctx___0 , ssize_t *col ,
                           ssize_t *icol , int collect_hits )
{
  int h ;
  regmatch_t tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  h = 0;
  if (! x) {
    die((char const   *)"Not a valid grep expression");
  }
  {
  if ((unsigned int )x->node == 3U) {
    goto case_3;
  }
  if ((unsigned int )x->node == 0U) {
    goto case_0;
  }
  if ((unsigned int )x->node == 1U) {
    goto case_1;
  }
  if ((unsigned int )x->node == 2U) {
    goto case_2;
  }
  if ((unsigned int )x->node == 4U) {
    goto case_4;
  }
  goto switch_default;
  case_3: /* CIL Label */
  h = 1;
  goto switch_break;
  case_0: /* CIL Label */
  h = match_one_pattern(x->u.atom, bol, eol, ctx___0, & tmp, 0);
  if (h) {
    if (*col < 0L) {
      *col = (ssize_t )tmp.rm_so;
    } else
    if ((ssize_t )tmp.rm_so < *col) {
      *col = (ssize_t )tmp.rm_so;
    }
  }
  if ((unsigned int )(x->u.atom)->token == 2U) {
    opt___0->body_hit |= h;
  }
  goto switch_break;
  case_1: /* CIL Label */
  tmp___0 = match_expr_eval(opt___0, x->u.unary, bol, eol, ctx___0, icol, col, 0);
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  h = tmp___1;
  goto switch_break;
  case_2: /* CIL Label */
  h = match_expr_eval(opt___0, x->u.binary.left, bol, eol, ctx___0, col, icol, 0);
  if (h) {
    tmp___2 = match_expr_eval(opt___0, x->u.binary.right, bol, eol, ctx___0, col,
                              icol, 0);
    h &= tmp___2;
  } else
  if (opt___0->columnnum) {
    tmp___2 = match_expr_eval(opt___0, x->u.binary.right, bol, eol, ctx___0, col,
                              icol, 0);
    h &= tmp___2;
  }
  goto switch_break;
  case_4: /* CIL Label */
  if (! collect_hits) {
    if (! opt___0->columnnum) {
      tmp___3 = match_expr_eval(opt___0, x->u.binary.left, bol, eol, ctx___0, col,
                                icol, 0);
      if (tmp___3) {
        tmp___5 = 1;
      } else {
        tmp___4 = match_expr_eval(opt___0, x->u.binary.right, bol, eol, ctx___0, col,
                                  icol, 0);
        if (tmp___4) {
          tmp___5 = 1;
        } else {
          tmp___5 = 0;
        }
      }
      return (tmp___5);
    }
  }
  h = match_expr_eval(opt___0, x->u.binary.left, bol, eol, ctx___0, col, icol, 0);
  if (collect_hits) {
    (x->u.binary.left)->hit |= (unsigned int )h;
  }
  tmp___6 = match_expr_eval(opt___0, x->u.binary.right, bol, eol, ctx___0, col, icol,
                            collect_hits);
  h |= tmp___6;
  goto switch_break;
  switch_default: /* CIL Label */
  die((char const   *)"Unexpected node type (internal error) %d", (unsigned int )x->node);
  switch_break: /* CIL Label */ ;
  }
  if (collect_hits) {
    x->hit |= (unsigned int )h;
  }
  return (h);
}
}
static int match_expr(struct grep_opt *opt___0 , char const   *bol , char const   *eol ,
                      enum grep_context ctx___0 , ssize_t *col , ssize_t *icol , int collect_hits )
{
  struct grep_expr *x ;
  int tmp ;

  {
  x = opt___0->pattern_expression;
  tmp = match_expr_eval(opt___0, x, bol, eol, ctx___0, col, icol, collect_hits);
  return (tmp);
}
}
static int match_line(struct grep_opt *opt___0 , char const   *bol , char const   *eol ,
                      ssize_t *col , ssize_t *icol , enum grep_context ctx___0 , int collect_hits )
{
  struct grep_pat *p___0 ;
  int hit ;
  int tmp ;
  regmatch_t tmp___0 ;
  int tmp___1 ;

  {
  hit = 0;
  if (opt___0->extended) {
    tmp = match_expr(opt___0, bol, eol, ctx___0, col, icol, collect_hits);
    return (tmp);
  }
  p___0 = opt___0->pattern_list;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    tmp___1 = match_one_pattern(p___0, bol, eol, ctx___0, & tmp___0, 0);
    if (tmp___1) {
      hit |= 1;
      if (! opt___0->columnnum) {
        goto while_break;
      }
      if (*col < 0L) {
        *col = (ssize_t )tmp___0.rm_so;
      } else
      if ((ssize_t )tmp___0.rm_so < *col) {
        *col = (ssize_t )tmp___0.rm_so;
      }
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (hit);
}
}
static int match_next_pattern(struct grep_pat *p___0 , char const   *bol , char const   *eol ,
                              enum grep_context ctx___0 , regmatch_t *pmatch , int eflags )
{
  regmatch_t match___0 ;
  int tmp ;

  {
  tmp = headerless_match_one_pattern(p___0, bol, eol, ctx___0, & match___0, eflags);
  if (! tmp) {
    return (0);
  }
  if (match___0.rm_so < 0) {
    return (0);
  } else
  if (match___0.rm_eo < 0) {
    return (0);
  }
  if (pmatch->rm_so >= 0) {
    if (pmatch->rm_eo >= 0) {
      if (match___0.rm_so > pmatch->rm_so) {
        return (1);
      }
      if (match___0.rm_so == pmatch->rm_so) {
        if (match___0.rm_eo < pmatch->rm_eo) {
          return (1);
        }
      }
    }
  }
  pmatch->rm_so = match___0.rm_so;
  pmatch->rm_eo = match___0.rm_eo;
  return (1);
}
}
int grep_next_match(struct grep_opt *opt___0 , char const   *bol , char const   *eol ,
                    enum grep_context ctx___0 , regmatch_t *pmatch , enum grep_header_field field ,
                    int eflags )
{
  struct grep_pat *p___0 ;
  int hit ;
  regoff_t tmp ;
  int tmp___0 ;

  {
  hit = 0;
  tmp = -1;
  pmatch->rm_eo = tmp;
  pmatch->rm_so = tmp;
  if ((unsigned long )bol < (unsigned long )eol) {
    if ((unsigned int )ctx___0 == 0U) {
      p___0 = opt___0->header_list;
    } else {
      p___0 = opt___0->pattern_list;
    }
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! p___0) {
        goto while_break;
      }
      {
      if ((unsigned int )p___0->token == 1U) {
        goto case_1;
      }
      if ((unsigned int )p___0->token == 2U) {
        goto case_2;
      }
      if ((unsigned int )p___0->token == 0U) {
        goto case_2;
      }
      goto switch_default;
      case_1: /* CIL Label */
      if ((unsigned int )field != 3U) {
        if ((unsigned int )p___0->field != (unsigned int )field) {
          goto __Cont;
        }
      }
      case_2: /* CIL Label */
      case_0: /* CIL Label */
      tmp___0 = match_next_pattern(p___0, bol, eol, ctx___0, pmatch, eflags);
      hit |= tmp___0;
      goto switch_break;
      switch_default: /* CIL Label */
      goto switch_break;
      switch_break: /* CIL Label */ ;
      }
      __Cont: /* CIL Label */
      p___0 = p___0->next;
    }
    while_break: /* CIL Label */ ;
    }
  }
  return (hit);
}
}
static void show_line_header(struct grep_opt *opt___0 , char const   *name___0 , unsigned int lno ,
                             ssize_t cno , char sign )
{
  size_t tmp ;
  size_t tmp___0 ;
  char buf___19[32] ;
  size_t tmp___1 ;
  char buf___20[32] ;
  size_t tmp___2 ;

  {
  if (opt___0->heading) {
    if (opt___0->last_shown == 0U) {
      tmp = strlen(name___0);
      output_color(opt___0, (void const   *)name___0, tmp, (char const   *)(opt___0->colors[1]));
      (*(opt___0->output))(opt___0, (void const   *)"\n", (size_t )1);
    }
  }
  opt___0->last_shown = lno;
  if (! opt___0->heading) {
    if (opt___0->pathname) {
      tmp___0 = strlen(name___0);
      output_color(opt___0, (void const   *)name___0, tmp___0, (char const   *)(opt___0->colors[1]));
      output_sep(opt___0, sign);
    }
  }
  if (opt___0->linenum) {
    xsnprintf(buf___19, sizeof(buf___19), (char const   *)"%d", lno);
    tmp___1 = strlen((char const   *)(buf___19));
    output_color(opt___0, (void const   *)(buf___19), tmp___1, (char const   *)(opt___0->colors[3]));
    output_sep(opt___0, sign);
  }
  if (opt___0->columnnum) {
    if (cno) {
      xsnprintf(buf___20, sizeof(buf___20), (char const   *)"%lu", (uintmax_t )cno);
      tmp___2 = strlen((char const   *)(buf___20));
      output_color(opt___0, (void const   *)(buf___20), tmp___2, (char const   *)(opt___0->colors[4]));
      output_sep(opt___0, sign);
    }
  }
  return;
}
}
static void show_line(struct grep_opt *opt___0 , char const   *bol , char const   *eol ,
                      char const   *name___0 , unsigned int lno , ssize_t cno , char sign )
{
  int rest ;
  char const   *match_color ;
  char const   *line_color ;
  regmatch_t match___0 ;
  enum grep_context ctx___0 ;
  int eflags ;
  int tmp ;

  {
  rest = (int )(eol - bol);
  match_color = (char const   *)((void *)0);
  line_color = (char const   *)((void *)0);
  if (opt___0->file_break) {
    if (opt___0->last_shown == 0U) {
      if (opt___0->show_hunk_mark) {
        (*(opt___0->output))(opt___0, (void const   *)"\n", (size_t )1);
      }
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  if (opt___0->pre_context) {
    goto _L;
  } else
  if (opt___0->post_context) {
    goto _L;
  } else
  if (opt___0->funcbody) {
    _L: /* CIL Label */
    if (opt___0->last_shown == 0U) {
      if (opt___0->show_hunk_mark) {
        output_color(opt___0, (void const   *)"--", (size_t )2, (char const   *)(opt___0->colors[8]));
        (*(opt___0->output))(opt___0, (void const   *)"\n", (size_t )1);
      }
    } else
    if (lno > opt___0->last_shown + 1U) {
      output_color(opt___0, (void const   *)"--", (size_t )2, (char const   *)(opt___0->colors[8]));
      (*(opt___0->output))(opt___0, (void const   *)"\n", (size_t )1);
    }
  }
  if (! opt___0->only_matching) {
    show_line_header(opt___0, name___0, lno, cno, sign);
  }
  if (opt___0->color) {
    goto _L___1;
  } else
  if (opt___0->only_matching) {
    _L___1: /* CIL Label */
    ctx___0 = (enum grep_context )1;
    eflags = 0;
    if (opt___0->color) {
      if ((int )sign == 58) {
        match_color = (char const   *)(opt___0->colors[6]);
      } else {
        match_color = (char const   *)(opt___0->colors[5]);
      }
      if ((int )sign == 58) {
        line_color = (char const   *)(opt___0->colors[7]);
      } else
      if ((int )sign == 45) {
        line_color = (char const   *)(opt___0->colors[0]);
      } else
      if ((int )sign == 61) {
        line_color = (char const   *)(opt___0->colors[2]);
      }
    }
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp = grep_next_match(opt___0, bol, eol, ctx___0, & match___0, (enum grep_header_field )3,
                            eflags);
      if (! tmp) {
        goto while_break;
      }
      if (match___0.rm_so == match___0.rm_eo) {
        goto while_break;
      }
      if (opt___0->only_matching) {
        show_line_header(opt___0, name___0, lno, cno, sign);
      } else {
        output_color(opt___0, (void const   *)bol, (size_t )match___0.rm_so, line_color);
      }
      output_color(opt___0, (void const   *)(bol + match___0.rm_so), (size_t )(match___0.rm_eo - match___0.rm_so),
                   match_color);
      if (opt___0->only_matching) {
        (*(opt___0->output))(opt___0, (void const   *)"\n", (size_t )1);
      }
      bol += match___0.rm_eo;
      cno += (ssize_t )match___0.rm_eo;
      rest -= match___0.rm_eo;
      eflags = 1;
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (! opt___0->only_matching) {
    output_color(opt___0, (void const   *)bol, (size_t )rest, line_color);
    (*(opt___0->output))(opt___0, (void const   *)"\n", (size_t )1);
  }
  return;
}
}
__inline static void grep_attr_lock(void)
{


  {
  if (grep_use_locks) {
    pthread_mutex_lock(& grep_attr_mutex);
  }
  return;
}
}
__inline static void grep_attr_unlock(void)
{


  {
  if (grep_use_locks) {
    pthread_mutex_unlock(& grep_attr_mutex);
  }
  return;
}
}
static int match_funcname(struct grep_opt *opt___0 , struct grep_source *gs , char const   *bol ,
                          char const   *eol )
{
  xdemitconf_t *xecfg ;
  struct userdiff_funcname  const  *pe ;
  void *tmp ;
  char buf___19[1] ;
  long tmp___0 ;

  {
  xecfg = (xdemitconf_t *)opt___0->priv;
  if (xecfg) {
    if (! xecfg->find_func) {
      grep_source_load_driver(gs, (opt___0->repo)->index);
      if ((gs->driver)->funcname.pattern) {
        pe = (struct userdiff_funcname  const  *)(& (gs->driver)->funcname);
        xdiff_set_find_func(xecfg, (char const   *)pe->pattern, (int )pe->cflags);
      } else {
        tmp = (void *)0;
        opt___0->priv = tmp;
        xecfg = (xdemitconf_t *)tmp;
      }
    }
  }
  if (xecfg) {
    tmp___0 = (*(xecfg->find_func))(bol, eol - bol, buf___19, 1L, xecfg->find_func_priv);
    return (tmp___0 >= 0L);
  }
  if ((unsigned long )bol == (unsigned long )eol) {
    return (0);
  }
  if (((int const   )sane_ctype[(unsigned char )*bol] & 4) != 0) {
    return (1);
  } else
  if ((int const   )*bol == 95) {
    return (1);
  } else
  if ((int const   )*bol == 36) {
    return (1);
  }
  return (0);
}
}
static void show_funcname_line(struct grep_opt *opt___0 , struct grep_source *gs ,
                               char const   *bol , unsigned int lno )
{
  char const   *eol ;
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )bol > (unsigned long )gs->buf)) {
      goto while_break;
    }
    bol --;
    eol = bol;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if ((unsigned long )bol > (unsigned long )gs->buf) {
        if (! ((int const   )*(bol + -1) != 10)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      bol --;
    }
    while_break___0: /* CIL Label */ ;
    }
    lno --;
    if (lno <= opt___0->last_shown) {
      goto while_break;
    }
    tmp = match_funcname(opt___0, gs, bol, eol);
    if (tmp) {
      show_line(opt___0, bol, eol, (char const   *)gs->name, lno, (ssize_t )0, (char )'=');
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int is_empty_line(char const   *bol , char const   *eol ) ;
static void show_pre_context(struct grep_opt *opt___0 , struct grep_source *gs , char const   *bol ,
                             char const   *end , unsigned int lno )
{
  unsigned int cur ;
  unsigned int from___0 ;
  unsigned int funcname_lno ;
  unsigned int orig_from ;
  int funcname_needed ;
  int comment_needed ;
  int tmp ;
  char const   *next_bol ;
  char const   *eol ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const   *eol___0 ;
  char sign ;
  int tmp___3 ;

  {
  cur = lno;
  from___0 = 1U;
  funcname_lno = 0U;
  funcname_needed = ! (! opt___0->funcname);
  comment_needed = 0;
  if (opt___0->pre_context < lno) {
    from___0 = lno - opt___0->pre_context;
  }
  if (from___0 <= opt___0->last_shown) {
    from___0 = opt___0->last_shown + 1U;
  }
  orig_from = from___0;
  if (opt___0->funcbody) {
    tmp = match_funcname(opt___0, gs, bol, end);
    if (tmp) {
      comment_needed = 1;
    } else {
      funcname_needed = 1;
    }
    from___0 = opt___0->last_shown + 1U;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )bol > (unsigned long )gs->buf) {
      if (! (cur > from___0)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    next_bol = bol;
    bol --;
    eol = bol;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if ((unsigned long )bol > (unsigned long )gs->buf) {
        if (! ((int const   )*(bol + -1) != 10)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      bol --;
    }
    while_break___0: /* CIL Label */ ;
    }
    cur --;
    if (comment_needed) {
      tmp___0 = is_empty_line(bol, eol);
      if (tmp___0) {
        goto _L;
      } else {
        tmp___1 = match_funcname(opt___0, gs, bol, eol);
        if (tmp___1) {
          _L: /* CIL Label */
          comment_needed = 0;
          from___0 = orig_from;
          if (cur < from___0) {
            cur ++;
            bol = next_bol;
            goto while_break;
          }
        }
      }
    }
    if (funcname_needed) {
      tmp___2 = match_funcname(opt___0, gs, bol, eol);
      if (tmp___2) {
        funcname_lno = cur;
        funcname_needed = 0;
        if (opt___0->funcbody) {
          comment_needed = 1;
        } else {
          from___0 = orig_from;
        }
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (opt___0->funcname) {
    if (funcname_needed) {
      show_funcname_line(opt___0, gs, bol, cur);
    }
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (cur < lno)) {
      goto while_break___1;
    }
    eol___0 = bol;
    if (cur == funcname_lno) {
      tmp___3 = '=';
    } else {
      tmp___3 = '-';
    }
    sign = (char )tmp___3;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! ((int const   )*eol___0 != 10)) {
        goto while_break___2;
      }
      eol___0 ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    show_line(opt___0, bol, eol___0, (char const   *)gs->name, cur, (ssize_t )0, (char )sign);
    bol = eol___0 + 1;
    cur ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  return;
}
}
static int should_lookahead(struct grep_opt *opt___0 )
{
  struct grep_pat *p___0 ;

  {
  if (opt___0->extended) {
    return (0);
  }
  if (opt___0->invert) {
    return (0);
  }
  p___0 = opt___0->pattern_list;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if ((unsigned int )p___0->token != 0U) {
      return (0);
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static int look_ahead(struct grep_opt *opt___0 , unsigned long *left_p , unsigned int *lno_p ,
                      char const   **bol_p )
{
  unsigned int lno ;
  char const   *bol ;
  struct grep_pat *p___0 ;
  char const   *sp ;
  char const   *last_bol ;
  regoff_t earliest ;
  int hit ;
  regmatch_t m ;

  {
  lno = *lno_p;
  bol = *bol_p;
  earliest = -1;
  p___0 = opt___0->pattern_list;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    hit = patmatch(p___0, bol, bol + *left_p, & m, 0);
    if (! hit) {
      goto __Cont;
    } else
    if (m.rm_so < 0) {
      goto __Cont;
    } else
    if (m.rm_eo < 0) {
      goto __Cont;
    }
    if (earliest < 0) {
      earliest = m.rm_so;
    } else
    if (m.rm_so < earliest) {
      earliest = m.rm_so;
    }
    __Cont: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (earliest < 0) {
    *bol_p = bol + *left_p;
    *left_p = 0UL;
    return (1);
  }
  sp = bol + earliest;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if ((unsigned long )bol < (unsigned long )sp) {
      if (! ((int const   )*(sp + -1) != 10)) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    sp --;
  }
  while_break___0: /* CIL Label */ ;
  }
  last_bol = sp;
  sp = bol;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned long )sp < (unsigned long )last_bol)) {
      goto while_break___1;
    }
    if ((int const   )*sp == 10) {
      lno ++;
    }
    sp ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  *left_p -= (unsigned long )(last_bol - bol);
  *bol_p = last_bol;
  *lno_p = lno;
  return (0);
}
}
static int fill_textconv_grep(struct repository *r , struct userdiff_driver *driver ,
                              struct grep_source *gs )
{
  struct diff_filespec *df ;
  char *buf___19 ;
  size_t size ;
  int tmp ;
  struct object_id  const  *tmp___0 ;

  {
  if (! driver) {
    tmp = grep_source_load(gs);
    return (tmp);
  } else
  if (! driver->textconv) {
    tmp = grep_source_load(gs);
    return (tmp);
  }
  df = alloc_filespec((char const   *)gs->path);
  {
  if ((unsigned int )gs->type == 0U) {
    goto case_0;
  }
  if ((unsigned int )gs->type == 1U) {
    goto case_1;
  }
  goto switch_default;
  case_0: /* CIL Label */
  fill_filespec(df, (struct object_id  const  *)gs->identifier, 1, (unsigned short)33188);
  goto switch_break;
  case_1: /* CIL Label */
  tmp___0 = null_oid();
  fill_filespec(df, tmp___0, 0, (unsigned short)33188);
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"grep.c", 1533, (char const   *)"attempt to textconv something without a path?");
  switch_break: /* CIL Label */ ;
  }
  obj_read_lock();
  size = fill_textconv(r, driver, df, & buf___19);
  obj_read_unlock();
  free_filespec(df);
  grep_source_clear_data(gs);
  gs->buf = (char const   *)buf___19;
  gs->size = size;
  return (0);
}
}
static int is_empty_line(char const   *bol , char const   *eol )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )bol < (unsigned long )eol) {
      if (! (((int const   )sane_ctype[(unsigned char )*bol] & 1) != 0)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    bol ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((unsigned long )bol == (unsigned long )eol);
}
}
static int grep_source_1(struct grep_opt *opt___0 , struct grep_source *gs , int collect_hits )
{
  char const   *bol ;
  char const   *peek_bol ;
  unsigned long left ;
  unsigned int lno ;
  unsigned int last_hit ;
  int binary_match_only ;
  unsigned int count___0 ;
  int try_lookahead ;
  int show_function ;
  struct userdiff_driver *textconv ;
  enum grep_context ctx___0 ;
  xdemitconf_t xecfg ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *eol ;
  int hit ;
  ssize_t cno ;
  ssize_t col ;
  ssize_t icol ;
  int tmp___2 ;
  size_t tmp___3 ;
  unsigned long peek_left ;
  char const   *peek_eol ;
  int tmp___4 ;
  int tmp___5 ;
  char buf___19[32] ;
  size_t tmp___6 ;
  size_t tmp___7 ;

  {
  peek_bol = (char const   *)((void *)0);
  lno = 1U;
  last_hit = 0U;
  binary_match_only = 0;
  count___0 = 0U;
  try_lookahead = 0;
  show_function = 0;
  textconv = (struct userdiff_driver *)((void *)0);
  ctx___0 = (enum grep_context )0;
  if (! opt___0->status_only) {
    if ((unsigned long )gs->name == (unsigned long )((void *)0)) {
      BUG_fl((char const   *)"grep.c", 1592, (char const   *)"grep call which could print a name requires grep_source.name be non-NULL");
    }
  }
  if (! opt___0->output) {
    opt___0->output = & std_output;
  }
  if (opt___0->pre_context) {
    goto _L;
  } else
  if (opt___0->post_context) {
    goto _L;
  } else
  if (opt___0->file_break) {
    goto _L;
  } else
  if (opt___0->funcbody) {
    _L: /* CIL Label */
    if (opt___0->last_shown) {
      opt___0->show_hunk_mark = 1;
    }
    if ((unsigned long )opt___0->output != (unsigned long )(& std_output)) {
      opt___0->show_hunk_mark = 1;
    }
  }
  opt___0->last_shown = 0U;
  if (opt___0->allow_textconv) {
    grep_source_load_driver(gs, (opt___0->repo)->index);
    grep_attr_lock();
    obj_read_lock();
    textconv = userdiff_get_textconv(opt___0->repo, gs->driver);
    obj_read_unlock();
    grep_attr_unlock();
  }
  if (! textconv) {
    {
    if (opt___0->binary == 0) {
      goto case_0;
    }
    if (opt___0->binary == 1) {
      goto case_1;
    }
    if (opt___0->binary == 2) {
      goto case_2;
    }
    goto switch_default;
    case_0: /* CIL Label */
    tmp = grep_source_is_binary(gs, (opt___0->repo)->index);
    if (tmp) {
      binary_match_only = 1;
    }
    goto switch_break;
    case_1: /* CIL Label */
    tmp___0 = grep_source_is_binary(gs, (opt___0->repo)->index);
    if (tmp___0) {
      return (0);
    }
    goto switch_break;
    case_2: /* CIL Label */
    goto switch_break;
    switch_default: /* CIL Label */
    BUG_fl((char const   *)"grep.c", 1645, (char const   *)"unknown binary handling mode");
    switch_break: /* CIL Label */ ;
    }
  }
  memset((void *)(& xecfg), 0, sizeof(xecfg));
  opt___0->priv = (void *)(& xecfg);
  try_lookahead = should_lookahead(opt___0);
  tmp___1 = fill_textconv_grep(opt___0->repo, textconv, gs);
  if (tmp___1 < 0) {
    return (0);
  }
  bol = gs->buf;
  left = gs->size;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! left) {
      goto while_break;
    }
    col = (ssize_t )-1;
    icol = (ssize_t )-1;
    if (try_lookahead) {
      if (last_hit) {
        if (! show_function) {
          if (! (lno <= last_hit + opt___0->post_context)) {
            goto _L___0;
          }
        }
      } else {
        _L___0: /* CIL Label */
        tmp___2 = look_ahead(opt___0, & left, & lno, & bol);
        if (tmp___2) {
          goto while_break;
        }
      }
    }
    eol = end_of_line(bol, & left);
    if ((unsigned int )ctx___0 == 0U) {
      if ((unsigned long )eol == (unsigned long )bol) {
        ctx___0 = (enum grep_context )1;
      }
    }
    hit = match_line(opt___0, bol, eol, & col, & icol, ctx___0, collect_hits);
    if (collect_hits) {
      goto next_line;
    }
    if (opt___0->invert) {
      hit = ! hit;
    }
    if (opt___0->unmatch_name_only) {
      if (hit) {
        return (0);
      }
      goto next_line;
    }
    if (hit) {
      count___0 ++;
      if (opt___0->status_only) {
        return (1);
      }
      if (opt___0->name_only) {
        show_name(opt___0, (char const   *)gs->name);
        return (1);
      }
      if (opt___0->count) {
        goto next_line;
      }
      if (binary_match_only) {
        (*(opt___0->output))(opt___0, (void const   *)"Binary file ", (size_t )12);
        tmp___3 = strlen((char const   *)gs->name);
        output_color(opt___0, (void const   *)gs->name, tmp___3, (char const   *)(opt___0->colors[1]));
        (*(opt___0->output))(opt___0, (void const   *)" matches\n", (size_t )9);
        return (1);
      }
      if (opt___0->pre_context) {
        show_pre_context(opt___0, gs, bol, eol, lno);
      } else
      if (opt___0->funcbody) {
        show_pre_context(opt___0, gs, bol, eol, lno);
      } else
      if (opt___0->funcname) {
        show_funcname_line(opt___0, gs, bol, lno);
      }
      if (opt___0->invert) {
        cno = icol;
      } else {
        cno = col;
      }
      if (cno < 0L) {
        cno = (ssize_t )0;
      }
      show_line(opt___0, bol, eol, (char const   *)gs->name, lno, cno + 1L, (char )':');
      last_hit = lno;
      if (opt___0->funcbody) {
        show_function = 1;
      }
      goto next_line;
    }
    if (show_function) {
      if (! peek_bol) {
        goto _L___1;
      } else
      if ((unsigned long )peek_bol < (unsigned long )bol) {
        _L___1: /* CIL Label */
        peek_left = left;
        peek_eol = eol;
        peek_bol = bol;
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          tmp___4 = is_empty_line(peek_bol, peek_eol);
          if (! tmp___4) {
            goto while_break___0;
          }
          peek_bol = peek_eol + 1;
          peek_eol = end_of_line(peek_bol, & peek_left);
        }
        while_break___0: /* CIL Label */ ;
        }
        tmp___5 = match_funcname(opt___0, gs, peek_bol, peek_eol);
        if (tmp___5) {
          show_function = 0;
        }
      }
    }
    if (show_function) {
      show_line(opt___0, bol, eol, (char const   *)gs->name, lno, col + 1L, (char )'-');
    } else
    if (last_hit) {
      if (lno <= last_hit + opt___0->post_context) {
        show_line(opt___0, bol, eol, (char const   *)gs->name, lno, col + 1L, (char )'-');
      }
    }
    next_line:
    bol = eol + 1;
    if (! left) {
      goto while_break;
    }
    left --;
    lno ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (collect_hits) {
    return (0);
  }
  if (opt___0->status_only) {
    return (opt___0->unmatch_name_only);
  }
  if (opt___0->unmatch_name_only) {
    show_name(opt___0, (char const   *)gs->name);
    return (1);
  }
  xdiff_clear_find_func(& xecfg);
  opt___0->priv = (void *)0;
  if (opt___0->count) {
    if (count___0) {
      if (opt___0->pathname) {
        tmp___6 = strlen((char const   *)gs->name);
        output_color(opt___0, (void const   *)gs->name, tmp___6, (char const   *)(opt___0->colors[1]));
        output_sep(opt___0, (char )':');
      }
      xsnprintf(buf___19, sizeof(buf___19), (char const   *)"%u\n", count___0);
      tmp___7 = strlen((char const   *)(buf___19));
      (*(opt___0->output))(opt___0, (void const   *)(buf___19), tmp___7);
      return (1);
    }
  }
  return (! (! last_hit));
}
}
static void clr_hit_marker(struct grep_expr *x )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    x->hit = 0U;
    if ((unsigned int )x->node != 4U) {
      return;
    }
    (x->u.binary.left)->hit = 0U;
    x = x->u.binary.right;
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int chk_hit_marker(struct grep_expr *x )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned int )x->node != 4U) {
      return ((int )x->hit);
    }
    if (! (x->u.binary.left)->hit) {
      return (0);
    }
    x = x->u.binary.right;
  }
  while_break: /* CIL Label */ ;
  }
}
}
int grep_source(struct grep_opt *opt___0 , struct grep_source *gs )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! opt___0->all_match) {
    if (! opt___0->no_body_match) {
      tmp = grep_source_1(opt___0, gs, 0);
      return (tmp);
    }
  }
  clr_hit_marker(opt___0->pattern_expression);
  opt___0->body_hit = 0;
  grep_source_1(opt___0, gs, 1);
  if (opt___0->all_match) {
    tmp___0 = chk_hit_marker(opt___0->pattern_expression);
    if (! tmp___0) {
      return (0);
    }
  }
  if (opt___0->no_body_match) {
    if (opt___0->body_hit) {
      return (0);
    }
  }
  tmp___1 = grep_source_1(opt___0, gs, 0);
  return (tmp___1);
}
}
static void grep_source_init_buf(struct grep_source *gs , char const   *buf___19 ,
                                 unsigned long size )
{


  {
  gs->type = (enum grep_source_type )2;
  gs->name = (char *)((void *)0);
  gs->path = (char *)((void *)0);
  gs->buf = buf___19;
  gs->size = size;
  gs->driver = (struct userdiff_driver *)((void *)0);
  gs->identifier = (void *)0;
  return;
}
}
int grep_buffer(struct grep_opt *opt___0 , char const   *buf___19 , unsigned long size )
{
  struct grep_source gs ;
  int r ;

  {
  grep_source_init_buf(& gs, buf___19, size);
  r = grep_source(opt___0, & gs);
  grep_source_clear(& gs);
  return (r);
}
}
void grep_source_init_file(struct grep_source *gs , char const   *name___0 , char const   *path___6 )
{
  char *tmp ;

  {
  gs->type = (enum grep_source_type )1;
  gs->name = xstrdup_or_null(name___0);
  gs->path = xstrdup_or_null(path___6);
  gs->buf = (char const   *)((void *)0);
  gs->size = 0UL;
  gs->driver = (struct userdiff_driver *)((void *)0);
  tmp = xstrdup(path___6);
  gs->identifier = (void *)tmp;
  return;
}
}
void grep_source_init_oid(struct grep_source *gs , char const   *name___0 , char const   *path___6 ,
                          struct object_id  const  *oid , struct repository *repo )
{
  struct object_id *tmp ;

  {
  gs->type = (enum grep_source_type )0;
  gs->name = xstrdup_or_null(name___0);
  gs->path = xstrdup_or_null(path___6);
  gs->buf = (char const   *)((void *)0);
  gs->size = 0UL;
  gs->driver = (struct userdiff_driver *)((void *)0);
  tmp = oiddup(oid);
  gs->identifier = (void *)tmp;
  gs->repo = repo;
  return;
}
}
void grep_source_clear(struct grep_source *gs )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)gs->name);
    gs->name = (char *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)gs->path);
    gs->path = (char *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    free(gs->identifier);
    gs->identifier = (void *)0;
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  grep_source_clear_data(gs);
  return;
}
}
void grep_source_clear_data(struct grep_source *gs )
{


  {
  {
  if ((unsigned int )gs->type == 0U) {
    goto case_0;
  }
  if ((unsigned int )gs->type == 1U) {
    goto case_0;
  }
  if ((unsigned int )gs->type == 2U) {
    goto case_2;
  }
  goto switch_break;
  case_0: /* CIL Label */
  case_1: /* CIL Label */
  free((void *)((char *)gs->buf));
  gs->buf = (char const   *)((void *)0);
  gs->size = 0UL;
  goto switch_break;
  case_2: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static int grep_source_load_oid(struct grep_source *gs )
{
  enum object_type type___0 ;
  void *tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  tmp = repo_read_object_file(gs->repo, (struct object_id  const  *)gs->identifier,
                              & type___0, & gs->size);
  gs->buf = (char const   *)tmp;
  if (! gs->buf) {
    tmp___0 = oid_to_hex((struct object_id  const  *)gs->identifier);
    tmp___1 = _((char const   *)"\'%s\': unable to read %s");
    error((char const   *)tmp___1, gs->name, tmp___0);
    tmp___2 = const_error();
    return (tmp___2);
  }
  return (0);
}
}
static int grep_source_load_file(struct grep_source *gs )
{
  char const   *filename___0 ;
  struct stat st ;
  char *data ;
  size_t size ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int *tmp___0 ;
  int tmp___1 ;
  void *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  ssize_t tmp___4 ;

  {
  filename___0 = (char const   *)gs->identifier;
  tmp___1 = lstat(filename___0, & st);
  if (tmp___1 < 0) {
    err_ret:
    tmp___0 = __errno_location();
    if (*tmp___0 != 2) {
      tmp = _((char const   *)"failed to stat \'%s\'");
      error_errno((char const   *)tmp, filename___0);
      const_error();
    }
    return (-1);
  }
  if (! ((st.st_mode & 61440U) == 32768U)) {
    return (-1);
  }
  size = xsize_t(st.st_size);
  i = open(filename___0, 00);
  if (i < 0) {
    goto err_ret;
  }
  tmp___2 = xmallocz(size);
  data = (char *)tmp___2;
  tmp___4 = read_in_full(i, (void *)data, size);
  if (st.st_size != tmp___4) {
    tmp___3 = _((char const   *)"\'%s\': short read");
    error_errno((char const   *)tmp___3, filename___0);
    const_error();
    close(i);
    free((void *)data);
    return (-1);
  }
  close(i);
  gs->buf = (char const   *)data;
  gs->size = size;
  return (0);
}
}
static int grep_source_load(struct grep_source *gs )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (gs->buf) {
    return (0);
  }
  {
  if ((unsigned int )gs->type == 1U) {
    goto case_1;
  }
  if ((unsigned int )gs->type == 0U) {
    goto case_0;
  }
  if ((unsigned int )gs->type == 2U) {
    goto case_2;
  }
  goto switch_break;
  case_1: /* CIL Label */
  tmp = grep_source_load_file(gs);
  return (tmp);
  case_0: /* CIL Label */
  tmp___0 = grep_source_load_oid(gs);
  return (tmp___0);
  case_2: /* CIL Label */
  if (gs->buf) {
    tmp___1 = 0;
  } else {
    tmp___1 = -1;
  }
  return (tmp___1);
  switch_break: /* CIL Label */ ;
  }
  BUG_fl((char const   *)"grep.c", 1995, (char const   *)"invalid grep_source type to load");
}
}
void grep_source_load_driver(struct grep_source *gs , struct index_state *istate )
{


  {
  if (gs->driver) {
    return;
  }
  grep_attr_lock();
  if (gs->path) {
    gs->driver = userdiff_find_by_path(istate, (char const   *)gs->path);
  }
  if (! gs->driver) {
    gs->driver = userdiff_find_by_name((char const   *)"default");
  }
  grep_attr_unlock();
  return;
}
}
static int grep_source_is_binary(struct grep_source *gs , struct index_state *istate )
{
  int tmp ;
  int tmp___0 ;

  {
  grep_source_load_driver(gs, istate);
  if ((gs->driver)->binary != -1) {
    return ((gs->driver)->binary);
  }
  tmp___0 = grep_source_load(gs);
  if (! tmp___0) {
    tmp = buffer_is_binary(gs->buf, gs->size);
    return (tmp);
  }
  return (0);
}
}
static uint32_t take2(struct object_id  const  *oid , size_t ofs )
{


  {
  return ((uint32_t )(((int )oid->hash[ofs] << 8) | (int )oid->hash[ofs + 1UL]));
}
}
int oid_pos(struct object_id  const  *oid , void const   *table , size_t nr___0 ,
            oid_access_fn *fn )
{
  size_t hi ;
  size_t lo ;
  size_t mi ;
  size_t lov ;
  size_t hiv ;
  size_t miv ;
  size_t ofs ;
  struct object_id  const  *tmp ;
  uint32_t tmp___0 ;
  struct object_id  const  *tmp___1 ;
  uint32_t tmp___2 ;
  uint32_t tmp___3 ;
  int tmp___4 ;
  int cmp___0 ;
  struct object_id  const  *tmp___5 ;
  int tmp___6 ;

  {
  hi = nr___0;
  lo = (size_t )0;
  mi = (size_t )0;
  if (! nr___0) {
    return (-1);
  }
  if (nr___0 != 1UL) {
    ofs = (size_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (ofs < (size_t )((the_repository->hash_algo)->rawsz - 2UL))) {
        goto while_break;
      }
      tmp = (*fn)((size_t )0, table);
      tmp___0 = take2(tmp, ofs);
      lov = (size_t )tmp___0;
      tmp___1 = (*fn)(nr___0 - 1UL, table);
      tmp___2 = take2(tmp___1, ofs);
      hiv = (size_t )tmp___2;
      tmp___3 = take2(oid, ofs);
      miv = (size_t )tmp___3;
      if (miv < lov) {
        return (-1);
      }
      if (hiv < miv) {
        tmp___4 = index_pos_to_insert_pos(nr___0);
        return (tmp___4);
      }
      if (lov != hiv) {
        mi = ((nr___0 - 1UL) * (miv - lov)) / (hiv - lov);
        if (lo <= mi) {
          if (mi < hi) {
            goto while_break;
          }
        }
        BUG_fl((char const   *)"hash-lookup.c", 84, (char const   *)"assertion failed in binary search");
      }
      ofs += 2UL;
    }
    while_break: /* CIL Label */ ;
    }
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___5 = (*fn)(mi, table);
    cmp___0 = oidcmp(tmp___5, oid);
    if (! cmp___0) {
      return ((int )mi);
    }
    if (cmp___0 > 0) {
      hi = mi;
    } else {
      lo = mi + 1UL;
    }
    mi = lo + (hi - lo) / 2UL;
    if (! (lo < hi)) {
      goto while_break___0;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___6 = index_pos_to_insert_pos(lo);
  return (tmp___6);
}
}
int bsearch_hash(unsigned char const   *hash___0 , uint32_t const   *fanout_nbo ,
                 unsigned char const   *table , size_t stride , uint32_t *result___0 )
{
  uint32_t hi ;
  uint32_t lo ;
  uint32_t tmp ;
  unsigned int mi ;
  int cmp___0 ;
  int tmp___0 ;

  {
  hi = git_bswap32((uint32_t )*(fanout_nbo + *hash___0));
  if ((int const   )*hash___0 == 0) {
    lo = (uint32_t )0;
  } else {
    tmp = git_bswap32((uint32_t )*(fanout_nbo + ((int const   )*hash___0 - 1)));
    lo = tmp;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (lo < hi)) {
      goto while_break;
    }
    mi = lo + (hi - lo) / 2U;
    tmp___0 = hashcmp(table + (size_t )mi * stride, hash___0);
    cmp___0 = tmp___0;
    if (! cmp___0) {
      if (result___0) {
        *result___0 = mi;
      }
      return (1);
    }
    if (cmp___0 > 0) {
      hi = mi;
    } else {
      lo = mi + 1U;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (result___0) {
    *result___0 = lo;
  }
  return (0);
}
}
unsigned int strhash(char const   *str )
{
  unsigned int c___0 ;
  unsigned int hash___0 ;
  char const   *tmp ;

  {
  hash___0 = 0x811c9dc5;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = str;
    str ++;
    c___0 = (unsigned int )((unsigned char )*tmp);
    if (! c___0) {
      goto while_break;
    }
    hash___0 = hash___0 * 16777619U ^ c___0;
  }
  while_break: /* CIL Label */ ;
  }
  return (hash___0);
}
}
unsigned int strihash(char const   *str )
{
  unsigned int c___0 ;
  unsigned int hash___0 ;
  char const   *tmp ;

  {
  hash___0 = 0x811c9dc5;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = str;
    str ++;
    c___0 = (unsigned int )((unsigned char )*tmp);
    if (! c___0) {
      goto while_break;
    }
    if (c___0 >= 97U) {
      if (c___0 <= 122U) {
        c___0 -= 32U;
      }
    }
    hash___0 = hash___0 * 16777619U ^ c___0;
  }
  while_break: /* CIL Label */ ;
  }
  return (hash___0);
}
}
unsigned int memhash(void const   *buf___19 , size_t len___0 )
{
  unsigned int hash___0 ;
  unsigned char *ucbuf ;
  unsigned int c___0 ;
  unsigned char *tmp ;
  size_t tmp___0 ;

  {
  hash___0 = 0x811c9dc5;
  ucbuf = (unsigned char *)buf___19;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = len___0;
    len___0 --;
    if (! tmp___0) {
      goto while_break;
    }
    tmp = ucbuf;
    ucbuf ++;
    c___0 = (unsigned int )*tmp;
    hash___0 = hash___0 * 16777619U ^ c___0;
  }
  while_break: /* CIL Label */ ;
  }
  return (hash___0);
}
}
unsigned int memihash(void const   *buf___19 , size_t len___0 )
{
  unsigned int hash___0 ;
  unsigned char *ucbuf ;
  unsigned int c___0 ;
  unsigned char *tmp ;
  size_t tmp___0 ;

  {
  hash___0 = 0x811c9dc5;
  ucbuf = (unsigned char *)buf___19;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = len___0;
    len___0 --;
    if (! tmp___0) {
      goto while_break;
    }
    tmp = ucbuf;
    ucbuf ++;
    c___0 = (unsigned int )*tmp;
    if (c___0 >= 97U) {
      if (c___0 <= 122U) {
        c___0 -= 32U;
      }
    }
    hash___0 = hash___0 * 16777619U ^ c___0;
  }
  while_break: /* CIL Label */ ;
  }
  return (hash___0);
}
}
unsigned int memihash_cont(unsigned int hash_seed , void const   *buf___19 , size_t len___0 )
{
  unsigned int hash___0 ;
  unsigned char *ucbuf ;
  unsigned int c___0 ;
  unsigned char *tmp ;
  size_t tmp___0 ;

  {
  hash___0 = hash_seed;
  ucbuf = (unsigned char *)buf___19;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = len___0;
    len___0 --;
    if (! tmp___0) {
      goto while_break;
    }
    tmp = ucbuf;
    ucbuf ++;
    c___0 = (unsigned int )*tmp;
    if (c___0 >= 97U) {
      if (c___0 <= 122U) {
        c___0 -= 32U;
      }
    }
    hash___0 = hash___0 * 16777619U ^ c___0;
  }
  while_break: /* CIL Label */ ;
  }
  return (hash___0);
}
}
static void alloc_table(struct hashmap *map___0 , unsigned int size )
{
  void *tmp ;

  {
  map___0->tablesize = size;
  tmp = xcalloc((size_t )size, sizeof(*(map___0->table)));
  map___0->table = (struct hashmap_entry **)tmp;
  map___0->grow_at = (unsigned int )(((uint64_t )size * 80UL) / 100UL);
  if (size <= 64U) {
    map___0->shrink_at = 0U;
  } else {
    map___0->shrink_at = map___0->grow_at / (unsigned int )((1 << 2) + 1);
  }
  return;
}
}
__inline static int entry_equals(struct hashmap  const  *map___0 , struct hashmap_entry  const  *e1 ,
                                 struct hashmap_entry  const  *e2 , void const   *keydata )
{
  int tmp ;
  int tmp___0 ;

  {
  if ((unsigned long )e1 == (unsigned long )e2) {
    tmp___0 = 1;
  } else
  if (e1->hash == e2->hash) {
    tmp = (*(map___0->cmpfn))((void const   *)map___0->cmpfn_data, e1, e2, keydata);
    if (tmp) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
__inline static unsigned int bucket(struct hashmap  const  *map___0 , struct hashmap_entry  const  *key___1 )
{


  {
  return ((unsigned int )(key___1->hash & (map___0->tablesize - 1U)));
}
}
int hashmap_bucket(struct hashmap  const  *map___0 , unsigned int hash___0 )
{


  {
  return ((int )(hash___0 & (unsigned int )(map___0->tablesize - 1U)));
}
}
static void rehash(struct hashmap *map___0 , unsigned int newsize )
{
  unsigned int i ;
  unsigned int oldsize ;
  struct hashmap_entry **oldtable ;
  struct hashmap_entry *e ;
  struct hashmap_entry *next___2 ;
  unsigned int b___0 ;
  unsigned int tmp ;

  {
  oldsize = map___0->tablesize;
  oldtable = map___0->table;
  alloc_table(map___0, newsize);
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < oldsize)) {
      goto while_break;
    }
    e = *(oldtable + i);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! e) {
        goto while_break___0;
      }
      next___2 = e->next;
      tmp = bucket((struct hashmap  const  *)map___0, (struct hashmap_entry  const  *)e);
      b___0 = tmp;
      e->next = *(map___0->table + b___0);
      *(map___0->table + b___0) = e;
      e = next___2;
    }
    while_break___0: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)oldtable);
  return;
}
}
__inline static struct hashmap_entry **find_entry_ptr(struct hashmap  const  *map___0 ,
                                                      struct hashmap_entry  const  *key___1 ,
                                                      void const   *keydata )
{
  struct hashmap_entry **e ;
  unsigned int tmp ;
  int tmp___0 ;

  {
  tmp = bucket(map___0, key___1);
  e = map___0->table + tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*e) {
      tmp___0 = entry_equals(map___0, (struct hashmap_entry  const  *)*e, key___1,
                             keydata);
      if (tmp___0) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    e = & (*e)->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (e);
}
}
static int always_equal(void const   *unused_cmp_data , struct hashmap_entry  const  *unused1 ,
                        struct hashmap_entry  const  *unused2 , void const   *unused_keydata )
{


  {
  return (0);
}
}
void hashmap_init(struct hashmap *map___0 , int (*equals_function)(void const   *hashmap_cmp_fn_data ,
                                                                   struct hashmap_entry  const  *entry ,
                                                                   struct hashmap_entry  const  *entry_or_key ,
                                                                   void const   *keydata ) ,
                  void const   *cmpfn_data , size_t initial_size )
{
  unsigned int size ;

  {
  size = 64U;
  memset((void *)map___0, 0, sizeof(*map___0));
  if (equals_function) {
    map___0->cmpfn = equals_function;
  } else {
    map___0->cmpfn = & always_equal;
  }
  map___0->cmpfn_data = cmpfn_data;
  initial_size = (size_t )((unsigned int )((initial_size * 100UL) / 80UL));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (initial_size > (size_t )size)) {
      goto while_break;
    }
    size <<= 2;
  }
  while_break: /* CIL Label */ ;
  }
  alloc_table(map___0, size);
  map___0->do_count_items = 1U;
  return;
}
}
static void free_individual_entries(struct hashmap *map___0 , ssize_t entry_offset )
{
  struct hashmap_iter iter___0 ;
  struct hashmap_entry *e ;

  {
  hashmap_iter_init(map___0, & iter___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    e = hashmap_iter_next(& iter___0);
    if (! e) {
      goto while_break;
    }
    free((void *)((char *)e - entry_offset));
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void hashmap_partial_clear_(struct hashmap *map___0 , ssize_t entry_offset )
{


  {
  if (! map___0) {
    return;
  } else
  if (! map___0->table) {
    return;
  }
  if (entry_offset >= 0L) {
    free_individual_entries(map___0, entry_offset);
  }
  memset((void *)map___0->table, 0, (unsigned long )map___0->tablesize * sizeof(struct hashmap_entry *));
  map___0->shrink_at = 0U;
  map___0->private_size = 0U;
  return;
}
}
void hashmap_clear_(struct hashmap *map___0 , ssize_t entry_offset )
{


  {
  if (! map___0) {
    return;
  } else
  if (! map___0->table) {
    return;
  }
  if (entry_offset >= 0L) {
    free_individual_entries(map___0, entry_offset);
  }
  free((void *)map___0->table);
  memset((void *)map___0, 0, sizeof(*map___0));
  return;
}
}
struct hashmap_entry *hashmap_get(struct hashmap  const  *map___0 , struct hashmap_entry  const  *key___1 ,
                                  void const   *keydata )
{
  struct hashmap_entry **tmp ;

  {
  if (! map___0->table) {
    return ((struct hashmap_entry *)((void *)0));
  }
  tmp = find_entry_ptr(map___0, key___1, keydata);
  return (*tmp);
}
}
struct hashmap_entry *hashmap_get_next(struct hashmap  const  *map___0 , struct hashmap_entry  const  *entry )
{
  struct hashmap_entry *e ;
  int tmp ;

  {
  e = (struct hashmap_entry *)entry->next;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! e) {
      goto while_break;
    }
    tmp = entry_equals(map___0, entry, (struct hashmap_entry  const  *)e, (void const   *)((void *)0));
    if (tmp) {
      return (e);
    }
    e = e->next;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct hashmap_entry *)((void *)0));
}
}
void hashmap_add(struct hashmap *map___0 , struct hashmap_entry *entry )
{
  unsigned int b___0 ;

  {
  if (! map___0->table) {
    alloc_table(map___0, 64U);
  }
  b___0 = bucket((struct hashmap  const  *)map___0, (struct hashmap_entry  const  *)entry);
  entry->next = *(map___0->table + b___0);
  *(map___0->table + b___0) = entry;
  if (map___0->do_count_items) {
    (map___0->private_size) ++;
    if (map___0->private_size > map___0->grow_at) {
      rehash(map___0, map___0->tablesize << 2);
    }
  }
  return;
}
}
struct hashmap_entry *hashmap_remove(struct hashmap *map___0 , struct hashmap_entry  const  *key___1 ,
                                     void const   *keydata )
{
  struct hashmap_entry *old ;
  struct hashmap_entry **e ;

  {
  if (! map___0->table) {
    return ((struct hashmap_entry *)((void *)0));
  }
  e = find_entry_ptr((struct hashmap  const  *)map___0, key___1, keydata);
  if (! *e) {
    return ((struct hashmap_entry *)((void *)0));
  }
  old = *e;
  *e = old->next;
  old->next = (struct hashmap_entry *)((void *)0);
  if (map___0->do_count_items) {
    (map___0->private_size) --;
    if (map___0->private_size < map___0->shrink_at) {
      rehash(map___0, map___0->tablesize >> 2);
    }
  }
  return (old);
}
}
struct hashmap_entry *hashmap_put(struct hashmap *map___0 , struct hashmap_entry *entry )
{
  struct hashmap_entry *old ;
  struct hashmap_entry *tmp ;

  {
  tmp = hashmap_remove(map___0, (struct hashmap_entry  const  *)entry, (void const   *)((void *)0));
  old = tmp;
  hashmap_add(map___0, entry);
  return (old);
}
}
void hashmap_iter_init(struct hashmap *map___0 , struct hashmap_iter *iter___0 )
{


  {
  iter___0->map = map___0;
  iter___0->tablepos = 0U;
  iter___0->next = (struct hashmap_entry *)((void *)0);
  return;
}
}
struct hashmap_entry *hashmap_iter_next(struct hashmap_iter *iter___0 )
{
  struct hashmap_entry *current ;
  unsigned int tmp ;

  {
  current = iter___0->next;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (current) {
      iter___0->next = current->next;
      return (current);
    }
    if (iter___0->tablepos >= (iter___0->map)->tablesize) {
      return ((struct hashmap_entry *)((void *)0));
    }
    tmp = iter___0->tablepos;
    (iter___0->tablepos) ++;
    current = *((iter___0->map)->table + tmp);
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int pool_entry_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *eptr ,
                          struct hashmap_entry  const  *entry_or_key , void const   *keydata )
{
  struct pool_entry  const  *e1 ;
  struct pool_entry  const  *e2 ;
  int tmp ;
  int tmp___0 ;

  {
  e1 = (struct pool_entry  const  *)((char *)eptr - (unsigned long )(& ((struct pool_entry  const  *)0)->ent));
  e2 = (struct pool_entry  const  *)((char *)entry_or_key - (unsigned long )(& ((struct pool_entry  const  *)0)->ent));
  if ((unsigned long )(e1->data) != (unsigned long )keydata) {
    if (e1->len != e2->len) {
      tmp___0 = 1;
    } else {
      tmp = memcmp((void const   *)(e1->data), keydata, (size_t )e1->len);
      if (tmp) {
        tmp___0 = 1;
      } else {
        tmp___0 = 0;
      }
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static struct hashmap map  ;
void const   *memintern(void const   *data , size_t len___0 )
{
  struct pool_entry key___1 ;
  struct pool_entry *e ;
  unsigned int tmp ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;
  size_t flex_array_len_ ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;

  {
  if (! map.tablesize) {
    hashmap_init(& map, & pool_entry_cmp, (void const   *)((void *)0), (size_t )0);
  }
  tmp = memhash(data, len___0);
  hashmap_entry_init(& key___1.ent, tmp);
  key___1.len = len___0;
  tmp___0 = hashmap_get((struct hashmap  const  *)(& map), (struct hashmap_entry  const  *)(& key___1.ent),
                        data);
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct pool_entry *)0)->ent));
  e = (struct pool_entry *)tmp___1;
  if (! e) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      flex_array_len_ = len___0;
      tmp___2 = st_add(sizeof(*e), flex_array_len_);
      tmp___3 = st_add(tmp___2, (size_t )1);
      tmp___4 = xcalloc((size_t )1, tmp___3);
      e = (struct pool_entry *)tmp___4;
      memcpy((void *)(e->data), data, flex_array_len_);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    hashmap_entry_init(& e->ent, key___1.ent.hash);
    e->len = len___0;
    hashmap_add(& map, & e->ent);
  }
  return ((void const   *)(e->data));
}
}
int levenshtein(char const   *string1 , char const   *string2 , int w , int s___1 ,
                int a , int d ) ;
static char const   *category_names[17]  =
  {      (char const   *)"ancillaryinterrogators",      (char const   *)"ancillarymanipulators",      (char const   *)"complete",      (char const   *)"foreignscminterface",
        (char const   *)"guide",      (char const   *)"history",      (char const   *)"info",      (char const   *)"init",
        (char const   *)"mainporcelain",      (char const   *)"plumbinginterrogators",      (char const   *)"plumbingmanipulators",      (char const   *)"purehelpers",
        (char const   *)"remote",      (char const   *)"synchelpers",      (char const   *)"synchingrepositories",      (char const   *)"worktree",
        (char const   *)((void *)0)};
static struct cmdname_help command_list[167]  =
  {      {(char const   *)"git-add", (char const   *)"Add file contents to the index",
      (uint32_t )((1UL << 8) | (1UL << 15))},
        {(char const   *)"git-am", (char const   *)"Apply a series of patches from a mailbox",
      (uint32_t )(1UL << 8)},
        {(char const   *)"git-annotate", (char const   *)"Annotate file lines with commit information",
      (uint32_t )1UL},
        {(char const   *)"git-apply", (char const   *)"Apply a patch to files and/or to the index",
      (uint32_t )((1UL << 10) | (1UL << 2))},
        {(char const   *)"git-archimport", (char const   *)"Import a GNU Arch repository into Git",
      (uint32_t )(1UL << 3)},
        {(char const   *)"git-archive", (char const   *)"Create an archive of files from a named tree",
      (uint32_t )(1UL << 8)},
        {(char const   *)"git-bisect", (char const   *)"Use binary search to find the commit that introduced a bug",
      (uint32_t )((1UL << 8) | (1UL << 6))},
        {(char const   *)"git-blame", (char const   *)"Show what revision and author last modified each line of a file",
      (uint32_t )(1UL | (1UL << 2))},
        {(char const   *)"git-branch", (char const   *)"List, create, or delete branches",
      (uint32_t )((1UL << 8) | (1UL << 5))},
        {(char const   *)"git-bugreport", (char const   *)"Collect information for user to file a bug report",
      (uint32_t )1UL},
        {(char const   *)"git-bundle", (char const   *)"Move objects and refs by archive",
      (uint32_t )(1UL << 8)},
        {(char const   *)"git-cat-file", (char const   *)"Provide content or type and size information for repository objects",
      (uint32_t )(1UL << 9)},
        {(char const   *)"git-check-attr", (char const   *)"Display gitattributes information",
      (uint32_t )(1UL << 11)},
        {(char const   *)"git-check-ignore", (char const   *)"Debug gitignore / exclude files",
      (uint32_t )(1UL << 11)},
        {(char const   *)"git-check-mailmap", (char const   *)"Show canonical names and email addresses of contacts",
      (uint32_t )(1UL << 11)},
        {(char const   *)"git-check-ref-format", (char const   *)"Ensures that a reference name is well formed",
      (uint32_t )(1UL << 11)},
        {(char const   *)"git-checkout", (char const   *)"Switch branches or restore working tree files",
      (uint32_t )(1UL << 8)},
        {(char const   *)"git-checkout-index", (char const   *)"Copy files from the index to the working tree",
      (uint32_t )(1UL << 10)},
        {(char const   *)"git-cherry", (char const   *)"Find commits yet to be applied to upstream",
      (uint32_t )((1UL << 9) | (1UL << 2))},
        {(char const   *)"git-cherry-pick", (char const   *)"Apply the changes introduced by some existing commits",
      (uint32_t )(1UL << 8)},
        {(char const   *)"git-citool", (char const   *)"Graphical alternative to git-commit",
      (uint32_t )(1UL << 8)},
        {(char const   *)"git-clean", (char const   *)"Remove untracked files from the working tree",
      (uint32_t )(1UL << 8)},
        {(char const   *)"git-clone", (char const   *)"Clone a repository into a new directory",
      (uint32_t )((1UL << 8) | (1UL << 7))},
        {(char const   *)"git-column", (char const   *)"Display data in columns", (uint32_t )(1UL << 11)},
        {(char const   *)"git-commit",
      (char const   *)"Record changes to the repository", (uint32_t )((1UL << 8) | (1UL << 5))},
        {(char const   *)"git-commit-graph",
      (char const   *)"Write and verify Git commit-graph files", (uint32_t )(1UL << 10)},
        {(char const   *)"git-commit-tree",
      (char const   *)"Create a new commit object", (uint32_t )(1UL << 10)},
        {(char const   *)"git-config", (char const   *)"Get and set repository or global options",
      (uint32_t )((1UL << 1) | (1UL << 2))},
        {(char const   *)"git-count-objects", (char const   *)"Count unpacked number of objects and their disk consumption",
      (uint32_t )1UL},
        {(char const   *)"git-credential", (char const   *)"Retrieve and store user credentials",
      (uint32_t )(1UL << 11)},
        {(char const   *)"git-credential-cache", (char const   *)"Helper to temporarily store passwords in memory",
      (uint32_t )(1UL << 11)},
        {(char const   *)"git-credential-store", (char const   *)"Helper to store credentials on disk",
      (uint32_t )(1UL << 11)},
        {(char const   *)"git-cvsexportcommit", (char const   *)"Export a single commit to a CVS checkout",
      (uint32_t )(1UL << 3)},
        {(char const   *)"git-cvsimport", (char const   *)"Salvage your data out of another SCM people love to hate",
      (uint32_t )(1UL << 3)},
        {(char const   *)"git-cvsserver", (char const   *)"A CVS server emulator for Git",
      (uint32_t )(1UL << 3)},
        {(char const   *)"git-daemon", (char const   *)"A really simple server for Git repositories",
      (uint32_t )(1UL << 14)},
        {(char const   *)"git-describe", (char const   *)"Give an object a human readable name based on an available ref",
      (uint32_t )(1UL << 8)},
        {(char const   *)"git-diff", (char const   *)"Show changes between commits, commit and working tree, etc",
      (uint32_t )((1UL << 8) | (1UL << 6))},
        {(char const   *)"git-diff-files", (char const   *)"Compares files in the working tree and the index",
      (uint32_t )(1UL << 9)},
        {(char const   *)"git-diff-index", (char const   *)"Compare a tree to the working tree or index",
      (uint32_t )(1UL << 9)},
        {(char const   *)"git-diff-tree", (char const   *)"Compares the content and mode of blobs found via two tree objects",
      (uint32_t )(1UL << 9)},
        {(char const   *)"git-difftool", (char const   *)"Show changes using common diff tools",
      (uint32_t )(1UL | (1UL << 2))},
        {(char const   *)"git-fast-export", (char const   *)"Git data exporter", (uint32_t )(1UL << 1)},
        {(char const   *)"git-fast-import",
      (char const   *)"Backend for fast Git data importers", (uint32_t )(1UL << 1)},
        {(char const   *)"git-fetch",
      (char const   *)"Download objects and refs from another repository", (uint32_t )((1UL << 8) | (1UL << 12))},
        {(char const   *)"git-fetch-pack",
      (char const   *)"Receive missing objects from another repository", (uint32_t )(1UL << 14)},
        {(char const   *)"git-filter-branch",
      (char const   *)"Rewrite branches", (uint32_t )(1UL << 1)},
        {(char const   *)"git-fmt-merge-msg", (char const   *)"Produce a merge commit message",
      (uint32_t )(1UL << 11)},
        {(char const   *)"git-for-each-ref", (char const   *)"Output information on each ref",
      (uint32_t )(1UL << 9)},
        {(char const   *)"git-for-each-repo", (char const   *)"Run a Git command on a list of repositories",
      (uint32_t )(1UL << 9)},
        {(char const   *)"git-format-patch", (char const   *)"Prepare patches for e-mail submission",
      (uint32_t )(1UL << 8)},
        {(char const   *)"git-fsck", (char const   *)"Verifies the connectivity and validity of the objects in the database",
      (uint32_t )(1UL | (1UL << 2))},
        {(char const   *)"git-gc", (char const   *)"Cleanup unnecessary files and optimize the local repository",
      (uint32_t )(1UL << 8)},
        {(char const   *)"git-get-tar-commit-id", (char const   *)"Extract commit ID from an archive created using git-archive",
      (uint32_t )(1UL << 9)},
        {(char const   *)"git-grep", (char const   *)"Print lines matching a pattern",
      (uint32_t )((1UL << 8) | (1UL << 6))},
        {(char const   *)"git-gui", (char const   *)"A portable graphical interface to Git",
      (uint32_t )(1UL << 8)},
        {(char const   *)"git-hash-object", (char const   *)"Compute object ID and optionally creates a blob from a file",
      (uint32_t )(1UL << 10)},
        {(char const   *)"git-help", (char const   *)"Display help information about Git",
      (uint32_t )(1UL | (1UL << 2))},
        {(char const   *)"git-http-backend", (char const   *)"Server side implementation of Git over HTTP",
      (uint32_t )(1UL << 14)},
        {(char const   *)"git-imap-send", (char const   *)"Send a collection of patches from stdin to an IMAP folder",
      (uint32_t )(1UL << 3)},
        {(char const   *)"git-index-pack", (char const   *)"Build pack index file for an existing packed archive",
      (uint32_t )(1UL << 10)},
        {(char const   *)"git-init", (char const   *)"Create an empty Git repository or reinitialize an existing one",
      (uint32_t )((1UL << 8) | (1UL << 7))},
        {(char const   *)"git-instaweb", (char const   *)"Instantly browse your working repository in gitweb",
      (uint32_t )(1UL | (1UL << 2))},
        {(char const   *)"git-interpret-trailers", (char const   *)"Add or parse structured information in commit messages",
      (uint32_t )(1UL << 11)},
        {(char const   *)"git-log", (char const   *)"Show commit logs", (uint32_t )((1UL << 8) | (1UL << 6))},
        {(char const   *)"git-ls-files",
      (char const   *)"Show information about files in the index and the working tree",
      (uint32_t )(1UL << 9)},
        {(char const   *)"git-ls-remote", (char const   *)"List references in a remote repository",
      (uint32_t )(1UL << 9)},
        {(char const   *)"git-ls-tree", (char const   *)"List the contents of a tree object",
      (uint32_t )(1UL << 9)},
        {(char const   *)"git-mailinfo", (char const   *)"Extracts patch and authorship from a single e-mail message",
      (uint32_t )(1UL << 11)},
        {(char const   *)"git-mailsplit", (char const   *)"Simple UNIX mbox splitter program",
      (uint32_t )(1UL << 11)},
        {(char const   *)"git-maintenance", (char const   *)"Run tasks to optimize Git repository data",
      (uint32_t )(1UL << 8)},
        {(char const   *)"git-merge", (char const   *)"Join two or more development histories together",
      (uint32_t )((1UL << 8) | (1UL << 5))},
        {(char const   *)"git-merge-base", (char const   *)"Find as good common ancestors as possible for a merge",
      (uint32_t )(1UL << 9)},
        {(char const   *)"git-merge-file", (char const   *)"Run a three-way file merge",
      (uint32_t )(1UL << 10)},
        {(char const   *)"git-merge-index", (char const   *)"Run a merge for files needing merging",
      (uint32_t )(1UL << 10)},
        {(char const   *)"git-merge-one-file", (char const   *)"The standard helper program to use with git-merge-index",
      (uint32_t )(1UL << 11)},
        {(char const   *)"git-merge-tree", (char const   *)"Show three-way merge without touching index",
      (uint32_t )1UL},
        {(char const   *)"git-mergetool", (char const   *)"Run merge conflict resolution tools to resolve merge conflicts",
      (uint32_t )((1UL << 1) | (1UL << 2))},
        {(char const   *)"git-mktag", (char const   *)"Creates a tag object with extra validation",
      (uint32_t )(1UL << 10)},
        {(char const   *)"git-mktree", (char const   *)"Build a tree-object from ls-tree formatted text",
      (uint32_t )(1UL << 10)},
        {(char const   *)"git-multi-pack-index", (char const   *)"Write and verify multi-pack-indexes",
      (uint32_t )(1UL << 10)},
        {(char const   *)"git-mv", (char const   *)"Move or rename a file, a directory, or a symlink",
      (uint32_t )((1UL << 8) | (1UL << 15))},
        {(char const   *)"git-name-rev", (char const   *)"Find symbolic names for given revs",
      (uint32_t )(1UL << 9)},
        {(char const   *)"git-notes", (char const   *)"Add or inspect object notes",
      (uint32_t )(1UL << 8)},
        {(char const   *)"git-p4", (char const   *)"Import from and submit to Perforce repositories",
      (uint32_t )(1UL << 3)},
        {(char const   *)"git-pack-objects", (char const   *)"Create a packed archive of objects",
      (uint32_t )(1UL << 10)},
        {(char const   *)"git-pack-redundant", (char const   *)"Find redundant pack files",
      (uint32_t )(1UL << 9)},
        {(char const   *)"git-pack-refs", (char const   *)"Pack heads and tags for efficient repository access",
      (uint32_t )(1UL << 1)},
        {(char const   *)"git-patch-id", (char const   *)"Compute unique ID for a patch",
      (uint32_t )(1UL << 11)},
        {(char const   *)"git-prune", (char const   *)"Prune all unreachable objects from the object database",
      (uint32_t )((1UL << 1) | (1UL << 2))},
        {(char const   *)"git-prune-packed", (char const   *)"Remove extra objects that are already in pack files",
      (uint32_t )(1UL << 10)},
        {(char const   *)"git-pull", (char const   *)"Fetch from and integrate with another repository or a local branch",
      (uint32_t )((1UL << 8) | (1UL << 12))},
        {(char const   *)"git-push", (char const   *)"Update remote refs along with associated objects",
      (uint32_t )((1UL << 8) | (1UL << 12))},
        {(char const   *)"git-quiltimport", (char const   *)"Applies a quilt patchset onto the current branch",
      (uint32_t )(1UL << 3)},
        {(char const   *)"git-range-diff", (char const   *)"Compare two commit ranges (e.g. two versions of a branch)",
      (uint32_t )(1UL << 8)},
        {(char const   *)"git-read-tree", (char const   *)"Reads tree information into the index",
      (uint32_t )(1UL << 10)},
        {(char const   *)"git-rebase", (char const   *)"Reapply commits on top of another base tip",
      (uint32_t )((1UL << 8) | (1UL << 5))},
        {(char const   *)"git-receive-pack", (char const   *)"Receive what is pushed into the repository",
      (uint32_t )(1UL << 13)},
        {(char const   *)"git-reflog", (char const   *)"Manage reflog information", (uint32_t )((1UL << 1) | (1UL << 2))},
        {(char const   *)"git-remote",
      (char const   *)"Manage set of tracked repositories", (uint32_t )((1UL << 1) | (1UL << 2))},
        {(char const   *)"git-repack",
      (char const   *)"Pack unpacked objects in a repository", (uint32_t )((1UL << 1) | (1UL << 2))},
        {(char const   *)"git-replace",
      (char const   *)"Create, list, delete refs to replace objects", (uint32_t )((1UL << 1) | (1UL << 2))},
        {(char const   *)"git-request-pull",
      (char const   *)"Generates a summary of pending changes", (uint32_t )((1UL << 3) | (1UL << 2))},
        {(char const   *)"git-rerere",
      (char const   *)"Reuse recorded resolution of conflicted merges", (uint32_t )1UL},
        {(char const   *)"git-reset",
      (char const   *)"Reset current HEAD to the specified state", (uint32_t )((1UL << 8) | (1UL << 5))},
        {(char const   *)"git-restore",
      (char const   *)"Restore working tree files", (uint32_t )((1UL << 8) | (1UL << 15))},
        {(char const   *)"git-rev-list",
      (char const   *)"Lists commit objects in reverse chronological order", (uint32_t )(1UL << 9)},
        {(char const   *)"git-rev-parse",
      (char const   *)"Pick out and massage parameters", (uint32_t )(1UL << 9)},
        {(char const   *)"git-revert", (char const   *)"Revert some existing commits",
      (uint32_t )(1UL << 8)},
        {(char const   *)"git-rm", (char const   *)"Remove files from the working tree and from the index",
      (uint32_t )((1UL << 8) | (1UL << 15))},
        {(char const   *)"git-send-email", (char const   *)"Send a collection of patches as emails",
      (uint32_t )((1UL << 3) | (1UL << 2))},
        {(char const   *)"git-send-pack", (char const   *)"Push objects over Git protocol to another repository",
      (uint32_t )(1UL << 14)},
        {(char const   *)"git-sh-i18n", (char const   *)"Git\'s i18n setup code for shell scripts",
      (uint32_t )(1UL << 11)},
        {(char const   *)"git-sh-setup", (char const   *)"Common Git shell script setup code",
      (uint32_t )(1UL << 11)},
        {(char const   *)"git-shell", (char const   *)"Restricted login shell for Git-only SSH access",
      (uint32_t )(1UL << 13)},
        {(char const   *)"git-shortlog", (char const   *)"Summarize \'git log\' output",
      (uint32_t )(1UL << 8)},
        {(char const   *)"git-show", (char const   *)"Show various types of objects",
      (uint32_t )((1UL << 8) | (1UL << 6))},
        {(char const   *)"git-show-branch", (char const   *)"Show branches and their commits",
      (uint32_t )(1UL | (1UL << 2))},
        {(char const   *)"git-show-index", (char const   *)"Show packed archive index",
      (uint32_t )(1UL << 9)},
        {(char const   *)"git-show-ref", (char const   *)"List references in a local repository",
      (uint32_t )(1UL << 9)},
        {(char const   *)"git-sparse-checkout", (char const   *)"Initialize and modify the sparse-checkout",
      (uint32_t )(1UL << 8)},
        {(char const   *)"git-stage", (char const   *)"Add file contents to the staging area",
      (uint32_t )(1UL << 2)},
        {(char const   *)"git-stash", (char const   *)"Stash the changes in a dirty working directory away",
      (uint32_t )(1UL << 8)},
        {(char const   *)"git-status", (char const   *)"Show the working tree status",
      (uint32_t )((1UL << 8) | (1UL << 6))},
        {(char const   *)"git-stripspace", (char const   *)"Remove unnecessary whitespace",
      (uint32_t )(1UL << 11)},
        {(char const   *)"git-submodule", (char const   *)"Initialize, update or inspect submodules",
      (uint32_t )(1UL << 8)},
        {(char const   *)"git-svn", (char const   *)"Bidirectional operation between a Subversion repository and Git",
      (uint32_t )(1UL << 3)},
        {(char const   *)"git-switch", (char const   *)"Switch branches", (uint32_t )((1UL << 8) | (1UL << 5))},
        {(char const   *)"git-symbolic-ref",
      (char const   *)"Read, modify and delete symbolic refs", (uint32_t )(1UL << 10)},
        {(char const   *)"git-tag",
      (char const   *)"Create, list, delete or verify a tag object signed with GPG",
      (uint32_t )((1UL << 8) | (1UL << 5))},
        {(char const   *)"git-unpack-file", (char const   *)"Creates a temporary file with a blob\'s contents",
      (uint32_t )(1UL << 9)},
        {(char const   *)"git-unpack-objects", (char const   *)"Unpack objects from a packed archive",
      (uint32_t )(1UL << 10)},
        {(char const   *)"git-update-index", (char const   *)"Register file contents in the working tree to the index",
      (uint32_t )(1UL << 10)},
        {(char const   *)"git-update-ref", (char const   *)"Update the object name stored in a ref safely",
      (uint32_t )(1UL << 10)},
        {(char const   *)"git-update-server-info", (char const   *)"Update auxiliary info file to help dumb servers",
      (uint32_t )(1UL << 14)},
        {(char const   *)"git-upload-archive", (char const   *)"Send archive back to git-archive",
      (uint32_t )(1UL << 13)},
        {(char const   *)"git-upload-pack", (char const   *)"Send objects packed back to git-fetch-pack",
      (uint32_t )(1UL << 13)},
        {(char const   *)"git-var", (char const   *)"Show a Git logical variable", (uint32_t )(1UL << 9)},
        {(char const   *)"git-verify-commit",
      (char const   *)"Check the GPG signature of commits", (uint32_t )1UL},
        {(char const   *)"git-verify-pack", (char const   *)"Validate packed Git archive files",
      (uint32_t )(1UL << 9)},
        {(char const   *)"git-verify-tag", (char const   *)"Check the GPG signature of tags",
      (uint32_t )1UL},
        {(char const   *)"git-whatchanged", (char const   *)"Show logs with difference each commit introduces",
      (uint32_t )(1UL | (1UL << 2))},
        {(char const   *)"git-worktree", (char const   *)"Manage multiple working trees",
      (uint32_t )(1UL << 8)},
        {(char const   *)"git-write-tree", (char const   *)"Create a tree object from the current index",
      (uint32_t )(1UL << 10)},
        {(char const   *)"gitattributes", (char const   *)"Defining attributes per path",
      (uint32_t )(1UL << 4)},
        {(char const   *)"gitcli", (char const   *)"Git command-line interface and conventions",
      (uint32_t )(1UL << 4)},
        {(char const   *)"gitcore-tutorial", (char const   *)"A Git core tutorial for developers",
      (uint32_t )(1UL << 4)},
        {(char const   *)"gitcredentials", (char const   *)"Providing usernames and passwords to Git",
      (uint32_t )(1UL << 4)},
        {(char const   *)"gitcvs-migration", (char const   *)"Git for CVS users", (uint32_t )(1UL << 4)},
        {(char const   *)"gitdiffcore",
      (char const   *)"Tweaking diff output", (uint32_t )(1UL << 4)},
        {(char const   *)"giteveryday", (char const   *)"A useful minimum set of commands for Everyday Git",
      (uint32_t )(1UL << 4)},
        {(char const   *)"gitfaq", (char const   *)"Frequently asked questions about using Git",
      (uint32_t )(1UL << 4)},
        {(char const   *)"gitglossary", (char const   *)"A Git Glossary", (uint32_t )(1UL << 4)},
        {(char const   *)"githooks",
      (char const   *)"Hooks used by Git", (uint32_t )(1UL << 4)},
        {(char const   *)"gitignore", (char const   *)"Specifies intentionally untracked files to ignore",
      (uint32_t )(1UL << 4)},
        {(char const   *)"gitk", (char const   *)"The Git repository browser", (uint32_t )(1UL << 8)},
        {(char const   *)"gitmailmap",
      (char const   *)"Map author/committer names and/or E-Mail addresses", (uint32_t )(1UL << 4)},
        {(char const   *)"gitmodules",
      (char const   *)"Defining submodule properties", (uint32_t )(1UL << 4)},
        {(char const   *)"gitnamespaces", (char const   *)"Git namespaces", (uint32_t )(1UL << 4)},
        {(char const   *)"gitremote-helpers",
      (char const   *)"Helper programs to interact with remote repositories", (uint32_t )(1UL << 4)},
        {(char const   *)"gitrepository-layout",
      (char const   *)"Git Repository Layout", (uint32_t )(1UL << 4)},
        {(char const   *)"gitrevisions", (char const   *)"Specifying revisions and ranges for Git",
      (uint32_t )(1UL << 4)},
        {(char const   *)"gitsubmodules", (char const   *)"Mounting one repository inside another",
      (uint32_t )(1UL << 4)},
        {(char const   *)"gittutorial", (char const   *)"A tutorial introduction to Git",
      (uint32_t )(1UL << 4)},
        {(char const   *)"gittutorial-2", (char const   *)"A tutorial introduction to Git: part two",
      (uint32_t )(1UL << 4)},
        {(char const   *)"gitweb", (char const   *)"Git web interface (web frontend to Git repositories)",
      (uint32_t )1UL},
        {(char const   *)"gitworkflows", (char const   *)"An overview of recommended workflows with Git",
      (uint32_t )(1UL << 4)}};
static uint32_t common_mask  =    (uint32_t )(((((1UL << 7) | (1UL << 15)) | (1UL << 6)) | (1UL << 5)) | (1UL << 12));
static struct category_description common_categories[6]  = {      {(uint32_t )(1UL << 7), (char const   *)"start a working area (see also: git help tutorial)"},
        {(uint32_t )(1UL << 15),
      (char const   *)"work on the current change (see also: git help everyday)"},
        {(uint32_t )(1UL << 6),
      (char const   *)"examine the history and state (see also: git help revisions)"},
        {(uint32_t )(1UL << 5),
      (char const   *)"grow, mark and tweak your common history"},
        {(uint32_t )(1UL << 12), (char const   *)"collaborate (see also: git help workflows)"},
        {(uint32_t )0,
      (char const   *)((void *)0)}};
static struct category_description main_categories[9]  =
  {      {(uint32_t )(1UL << 8), (char const   *)"Main Porcelain Commands"},
        {(uint32_t )(1UL << 1), (char const   *)"Ancillary Commands / Manipulators"},
        {(uint32_t )1UL,
      (char const   *)"Ancillary Commands / Interrogators"},
        {(uint32_t )(1UL << 3), (char const   *)"Interacting with Others"},
        {(uint32_t )(1UL << 10), (char const   *)"Low-level Commands / Manipulators"},
        {(uint32_t )(1UL << 9),
      (char const   *)"Low-level Commands / Interrogators"},
        {(uint32_t )(1UL << 14), (char const   *)"Low-level Commands / Syncing Repositories"},
        {(uint32_t )(1UL << 11),
      (char const   *)"Low-level Commands / Internal Helpers"},
        {(uint32_t )0, (char const   *)((void *)0)}};
static char const   *drop_prefix(char const   *name___0 , uint32_t category )
{
  char const   *new_name ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = skip_prefix(name___0, (char const   *)"git-", & new_name);
  if (tmp) {
    return (new_name);
  }
  if ((unsigned long )category == 1UL << 4) {
    tmp___0 = skip_prefix(name___0, (char const   *)"git", & new_name);
    if (tmp___0) {
      return (new_name);
    }
  }
  return (name___0);
}
}
static void extract_cmds(struct cmdname_help **p_cmds , uint32_t mask )
{
  int i ;
  int nr___0 ;
  struct cmdname_help *cmds___0 ;
  size_t tmp ;
  void *tmp___0 ;
  struct cmdname_help  const  *cmd ;

  {
  nr___0 = 0;
  if (sizeof(command_list) / sizeof(command_list[0]) + (sizeof(char [1]) - 1UL) == 0UL) {
    BUG_fl((char const   *)"help.c", 61, (char const   *)"empty command_list[] is a sign of broken generate-cmdlist.sh");
  }
  tmp = st_mult(sizeof(*cmds___0), (sizeof(command_list) / sizeof(command_list[0]) + (sizeof(char [1]) - 1UL)) + 1UL);
  tmp___0 = xmalloc(tmp);
  cmds___0 = (struct cmdname_help *)tmp___0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(command_list) / sizeof(command_list[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    cmd = (struct cmdname_help  const  *)(command_list + i);
    if (! (cmd->category & (unsigned int )mask)) {
      goto __Cont;
    }
    *(cmds___0 + nr___0) = (struct cmdname_help )*cmd;
    (cmds___0 + nr___0)->name = drop_prefix((char const   *)cmd->name, (uint32_t )cmd->category);
    nr___0 ++;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  (cmds___0 + nr___0)->name = (char const   *)((void *)0);
  *p_cmds = cmds___0;
  return;
}
}
static void print_command_list(struct cmdname_help  const  *cmds___0 , uint32_t mask ,
                               int longest )
{
  int i ;
  size_t len___0 ;
  size_t tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (cmds___0 + i)->name) {
      goto while_break;
    }
    if ((cmds___0 + i)->category & (unsigned int )mask) {
      tmp = strlen((char const   *)(cmds___0 + i)->name);
      len___0 = tmp;
      printf((char const   *)"   %s   ", (cmds___0 + i)->name);
      if ((size_t )longest > len___0) {
        mput_char((char )' ', (unsigned int )((size_t )longest - len___0));
      }
      tmp___0 = _((char const   *)(cmds___0 + i)->help);
      puts((char const   *)tmp___0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int cmd_name_cmp(void const   *elem1 , void const   *elem2 )
{
  struct cmdname_help  const  *e1 ;
  struct cmdname_help  const  *e2 ;
  int tmp ;

  {
  e1 = (struct cmdname_help  const  *)elem1;
  e2 = (struct cmdname_help  const  *)elem2;
  tmp = strcmp((char const   *)e1->name, (char const   *)e2->name);
  return (tmp);
}
}
static void print_cmd_by_category(struct category_description  const  *catdesc , int *longest_p )
{
  struct cmdname_help *cmds___0 ;
  int longest ;
  int i ;
  int nr___0 ;
  uint32_t mask ;
  size_t tmp ;
  size_t tmp___0 ;
  uint32_t mask___0 ;
  char const   *desc___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  longest = 0;
  nr___0 = 0;
  mask = (uint32_t )0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (catdesc + i)->desc) {
      goto while_break;
    }
    mask |= (unsigned int )(catdesc + i)->category;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  extract_cmds(& cmds___0, mask);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (cmds___0 + i)->name) {
      goto while_break___0;
    }
    tmp___0 = strlen((cmds___0 + i)->name);
    if ((size_t )longest < tmp___0) {
      tmp = strlen((cmds___0 + i)->name);
      longest = (int )tmp;
    }
    i ++;
    nr___0 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  sane_qsort((void *)cmds___0, (size_t )nr___0, sizeof(*cmds___0), & cmd_name_cmp);
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (catdesc + i)->desc) {
      goto while_break___1;
    }
    mask___0 = (uint32_t )(catdesc + i)->category;
    desc___0 = (char const   *)(catdesc + i)->desc;
    tmp___1 = _(desc___0);
    printf((char const   *)"\n%s\n", tmp___1);
    print_command_list((struct cmdname_help  const  *)cmds___0, mask___0, longest);
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  free((void *)cmds___0);
  if (longest_p) {
    *longest_p = longest;
  }
  return;
}
}
void add_cmdname(struct cmdnames *cmds___0 , char const   *name___0 , int len___0 )
{
  struct cmdname *ent ;
  size_t flex_array_len_ ;
  size_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;
  int tmp___4 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    flex_array_len_ = (size_t )len___0;
    tmp = st_add(sizeof(*ent), flex_array_len_);
    tmp___0 = st_add(tmp, (size_t )1);
    tmp___1 = xcalloc((size_t )1, tmp___0);
    ent = (struct cmdname *)tmp___1;
    memcpy((void *)(ent->name), (void const   *)name___0, flex_array_len_);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  ent->len = (size_t )len___0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (cmds___0->cnt + 1 > cmds___0->alloc) {
      if (((cmds___0->alloc + 16) * 3) / 2 < cmds___0->cnt + 1) {
        cmds___0->alloc = cmds___0->cnt + 1;
      } else {
        cmds___0->alloc = ((cmds___0->alloc + 16) * 3) / 2;
      }
      tmp___2 = st_mult(sizeof(*(cmds___0->names)), (size_t )cmds___0->alloc);
      tmp___3 = xrealloc((void *)cmds___0->names, tmp___2);
      cmds___0->names = (struct cmdname **)tmp___3;
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___4 = cmds___0->cnt;
  (cmds___0->cnt) ++;
  *(cmds___0->names + tmp___4) = ent;
  return;
}
}
static void clean_cmdnames(struct cmdnames *cmds___0 )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < cmds___0->cnt)) {
      goto while_break;
    }
    free((void *)*(cmds___0->names + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)cmds___0->names);
  cmds___0->cnt = 0;
  cmds___0->alloc = 0;
  return;
}
}
static int cmdname_compare(void const   *a_ , void const   *b_ )
{
  struct cmdname *a ;
  struct cmdname *b___0 ;
  int tmp ;

  {
  a = *((struct cmdname **)a_);
  b___0 = *((struct cmdname **)b_);
  tmp = strcmp((char const   *)(a->name), (char const   *)(b___0->name));
  return (tmp);
}
}
static void uniq(struct cmdnames *cmds___0 )
{
  int i ;
  int j ;
  int tmp ;
  int tmp___0 ;

  {
  if (! cmds___0->cnt) {
    return;
  }
  j = 1;
  i = j;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < cmds___0->cnt)) {
      goto while_break;
    }
    tmp___0 = strcmp((char const   *)((*(cmds___0->names + i))->name), (char const   *)((*(cmds___0->names + (j - 1)))->name));
    if (tmp___0) {
      tmp = j;
      j ++;
      *(cmds___0->names + tmp) = *(cmds___0->names + i);
    } else {
      free((void *)*(cmds___0->names + i));
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  cmds___0->cnt = j;
  return;
}
}
void exclude_cmds(struct cmdnames *cmds___0 , struct cmdnames *excludes )
{
  int ci ;
  int cj ;
  int ei ;
  int cmp___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  ei = 0;
  cj = ei;
  ci = cj;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (ci < cmds___0->cnt) {
      if (! (ei < excludes->cnt)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    cmp___0 = strcmp((char const   *)((*(cmds___0->names + ci))->name), (char const   *)((*(excludes->names + ei))->name));
    if (cmp___0 < 0) {
      tmp = cj;
      cj ++;
      tmp___0 = ci;
      ci ++;
      *(cmds___0->names + tmp) = *(cmds___0->names + tmp___0);
    } else
    if (cmp___0 == 0) {
      ei ++;
      tmp___1 = ci;
      ci ++;
      free((void *)*(cmds___0->names + tmp___1));
    } else
    if (cmp___0 > 0) {
      ei ++;
    }
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (ci < cmds___0->cnt)) {
      goto while_break___0;
    }
    tmp___2 = cj;
    cj ++;
    tmp___3 = ci;
    ci ++;
    *(cmds___0->names + tmp___2) = *(cmds___0->names + tmp___3);
  }
  while_break___0: /* CIL Label */ ;
  }
  cmds___0->cnt = cj;
  return;
}
}
static void pretty_print_cmdnames(struct cmdnames *cmds___0 , unsigned int colopts___3 )
{
  struct string_list list___3 ;
  struct column_options copts ;
  int i ;

  {
  list___3.items = (struct string_list_item *)0;
  list___3.nr = 0U;
  list___3.alloc = 0U;
  list___3.strdup_strings = 0U;
  list___3.cmp = (int (*)(char const   * , char const   * ))0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < cmds___0->cnt)) {
      goto while_break;
    }
    string_list_append(& list___3, (char const   *)((*(cmds___0->names + i))->name));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  colopts___3 = (colopts___3 & 4294967247U) | 16U;
  memset((void *)(& copts), 0, sizeof(copts));
  copts.indent = (char const   *)"  ";
  copts.padding = 2;
  print_columns((struct string_list  const  *)(& list___3), colopts___3, (struct column_options  const  *)(& copts));
  string_list_clear(& list___3, 0);
  return;
}
}
static void list_commands_in_dir(struct cmdnames *cmds___0 , char const   *path___6 ,
                                 char const   *prefix___1 )
{
  DIR *dir ;
  DIR *tmp ;
  struct dirent *de ;
  struct strbuf buf___19 ;
  int len___0 ;
  char const   *ent ;
  size_t entlen ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = opendir(path___6);
  dir = tmp;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (! dir) {
    return;
  }
  if (! prefix___1) {
    prefix___1 = (char const   *)"git-";
  }
  strbuf_addf(& buf___19, (char const   *)"%s/", path___6);
  len___0 = (int )buf___19.len;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    de = readdir(dir);
    if (! ((unsigned long )de != (unsigned long )((void *)0))) {
      goto while_break;
    }
    tmp___0 = skip_prefix((char const   *)(de->d_name), prefix___1, & ent);
    if (! tmp___0) {
      goto while_continue;
    }
    strbuf_setlen(& buf___19, (size_t )len___0);
    strbuf_addstr(& buf___19, (char const   *)(de->d_name));
    tmp___1 = is_executable((char const   *)buf___19.buf);
    if (! tmp___1) {
      goto while_continue;
    }
    entlen = strlen(ent);
    strip_suffix(ent, (char const   *)".exe", & entlen);
    add_cmdname(cmds___0, ent, (int )entlen);
  }
  while_break: /* CIL Label */ ;
  }
  closedir(dir);
  strbuf_release(& buf___19);
  return;
}
}
void load_command_list(char const   *prefix___1 , struct cmdnames *main_cmds___1 ,
                       struct cmdnames *other_cmds___1 )
{
  char const   *env_path ;
  char *tmp ;
  char const   *exec_path ;
  char const   *tmp___0 ;
  char *paths___0 ;
  char *path___6 ;
  char *colon ;
  int tmp___1 ;

  {
  tmp = getenv((char const   *)"PATH");
  env_path = (char const   *)tmp;
  tmp___0 = git_exec_path();
  exec_path = tmp___0;
  load_builtin_commands(prefix___1, main_cmds___1);
  if (exec_path) {
    list_commands_in_dir(main_cmds___1, exec_path, prefix___1);
    sane_qsort((void *)main_cmds___1->names, (size_t )main_cmds___1->cnt, sizeof(*(main_cmds___1->names)),
               & cmdname_compare);
    uniq(main_cmds___1);
  }
  if (env_path) {
    paths___0 = xstrdup(env_path);
    path___6 = paths___0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      colon = strchr((char const   *)path___6, ':');
      if (colon) {
        *colon = (char)0;
      }
      if (! exec_path) {
        list_commands_in_dir(other_cmds___1, (char const   *)path___6, prefix___1);
      } else {
        tmp___1 = strcmp((char const   *)path___6, exec_path);
        if (tmp___1) {
          list_commands_in_dir(other_cmds___1, (char const   *)path___6, prefix___1);
        }
      }
      if (! colon) {
        goto while_break;
      }
      path___6 = colon + 1;
    }
    while_break: /* CIL Label */ ;
    }
    free((void *)paths___0);
    sane_qsort((void *)other_cmds___1->names, (size_t )other_cmds___1->cnt, sizeof(*(other_cmds___1->names)),
               & cmdname_compare);
    uniq(other_cmds___1);
  }
  exclude_cmds(other_cmds___1, main_cmds___1);
  return;
}
}
static int get_colopts(char const   *var , char const   *value , void *data )
{
  unsigned int *colopts___3 ;
  int tmp ;
  int tmp___0 ;

  {
  colopts___3 = (unsigned int *)data;
  tmp___0 = starts_with(var, (char const   *)"column.");
  if (tmp___0) {
    tmp = git_column_config(var, value, (char const   *)"help", colopts___3);
    return (tmp);
  }
  return (0);
}
}
void list_commands(struct cmdnames *main_cmds___1 , struct cmdnames *other_cmds___1 )
{
  unsigned int colopts___3 ;
  char const   *exec_path ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  colopts___3 = 0U;
  git_config(& get_colopts, (void *)(& colopts___3));
  if (main_cmds___1->cnt) {
    tmp = git_exec_path();
    exec_path = tmp;
    tmp___0 = _((char const   *)"available git commands in \'%s\'");
    printf_ln((char const   *)tmp___0, exec_path);
    putchar('\n');
    pretty_print_cmdnames(main_cmds___1, colopts___3);
    putchar('\n');
  }
  if (other_cmds___1->cnt) {
    tmp___1 = _((char const   *)"git commands available from elsewhere on your $PATH");
    printf_ln((char const   *)tmp___1);
    putchar('\n');
    pretty_print_cmdnames(other_cmds___1, colopts___3);
    putchar('\n');
  }
  return;
}
}
void list_common_cmds_help(void)
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  tmp = _((char const   *)"These are common Git commands used in various situations:");
  puts((char const   *)tmp);
  print_cmd_by_category((struct category_description  const  *)(common_categories),
                        (int *)((void *)0));
  return;
}
}
void list_all_main_cmds(struct string_list *list___3 )
{
  struct cmdnames main_cmds___1 ;
  struct cmdnames other_cmds___1 ;
  int i ;

  {
  memset((void *)(& main_cmds___1), 0, sizeof(main_cmds___1));
  memset((void *)(& other_cmds___1), 0, sizeof(other_cmds___1));
  load_command_list((char const   *)"git-", & main_cmds___1, & other_cmds___1);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < main_cmds___1.cnt)) {
      goto while_break;
    }
    string_list_append(list___3, (char const   *)((*(main_cmds___1.names + i))->name));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clean_cmdnames(& main_cmds___1);
  clean_cmdnames(& other_cmds___1);
  return;
}
}
void list_all_other_cmds(struct string_list *list___3 )
{
  struct cmdnames main_cmds___1 ;
  struct cmdnames other_cmds___1 ;
  int i ;

  {
  memset((void *)(& main_cmds___1), 0, sizeof(main_cmds___1));
  memset((void *)(& other_cmds___1), 0, sizeof(other_cmds___1));
  load_command_list((char const   *)"git-", & main_cmds___1, & other_cmds___1);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < other_cmds___1.cnt)) {
      goto while_break;
    }
    string_list_append(list___3, (char const   *)((*(other_cmds___1.names + i))->name));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clean_cmdnames(& main_cmds___1);
  clean_cmdnames(& other_cmds___1);
  return;
}
}
void list_cmds_by_category(struct string_list *list___3 , char const   *cat )
{
  int i ;
  int n ;
  uint32_t cat_id ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  struct cmdname_help *cmd ;
  char const   *tmp___1 ;

  {
  n = (int )(sizeof(command_list) / sizeof(command_list[0]) + (sizeof(char [1]) - 1UL));
  cat_id = (uint32_t )0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! category_names[i]) {
      goto while_break;
    }
    tmp = strcmp(cat, category_names[i]);
    if (! tmp) {
      cat_id = (uint32_t )(1UL << i);
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! cat_id) {
    tmp___0 = _((char const   *)"unsupported command listing type \'%s\'");
    die((char const   *)tmp___0, cat);
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break___0;
    }
    cmd = command_list + i;
    if (! (cmd->category & cat_id)) {
      goto __Cont;
    }
    tmp___1 = drop_prefix(cmd->name, cmd->category);
    string_list_append(list___3, tmp___1);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
void list_cmds_by_config(struct string_list *list___3 )
{
  char const   *cmd_list___0 ;
  int tmp ;
  struct strbuf sb___6 ;
  char const   *p___0 ;
  char *tmp___0 ;

  {
  tmp = git_config_get_string_tmp((char const   *)"completion.commands", & cmd_list___0);
  if (tmp) {
    return;
  }
  string_list_sort(list___3);
  string_list_remove_duplicates(list___3, 0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *cmd_list___0) {
      goto while_break;
    }
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    tmp___0 = strchrnul(cmd_list___0, ' ');
    p___0 = (char const   *)tmp___0;
    strbuf_add(& sb___6, (void const   *)cmd_list___0, (size_t )(p___0 - cmd_list___0));
    if ((int )*(sb___6.buf + 0) == 45) {
      string_list_remove(list___3, (char const   *)(sb___6.buf + 1), 0);
    } else {
      string_list_insert(list___3, (char const   *)sb___6.buf);
    }
    strbuf_release(& sb___6);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((int const   )*p___0 == 32)) {
        goto while_break___0;
      }
      p___0 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    cmd_list___0 = p___0;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void list_guides_help(void)
{
  struct category_description catdesc[2] ;

  {
  catdesc[0].category = (uint32_t )(1UL << 4);
  catdesc[0].desc = (char const   *)"The Git concept guides are:";
  catdesc[1].category = (uint32_t )0;
  catdesc[1].desc = (char const   *)((void *)0);
  print_cmd_by_category((struct category_description  const  *)(catdesc), (int *)((void *)0));
  putchar('\n');
  return;
}
}
static int get_alias(char const   *var , char const   *value , void *data )
{
  struct string_list *list___3 ;
  struct string_list_item *tmp ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  list___3 = (struct string_list *)data;
  tmp___1 = skip_prefix(var, (char const   *)"alias.", & var);
  if (tmp___1) {
    tmp = string_list_append(list___3, var);
    tmp___0 = xstrdup(value);
    tmp->util = (void *)tmp___0;
  }
  return (0);
}
}
void list_all_cmds_help(void)
{
  struct string_list others ;
  struct string_list alias_list ;
  struct cmdname_help *aliases___0 ;
  int i ;
  int longest ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  size_t len___0 ;
  size_t tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;

  {
  others.items = (struct string_list_item *)0;
  others.nr = 0U;
  others.alloc = 0U;
  others.strdup_strings = 1U;
  others.cmp = (int (*)(char const   * , char const   * ))0;
  alias_list.items = (struct string_list_item *)0;
  alias_list.nr = 0U;
  alias_list.alloc = 0U;
  alias_list.strdup_strings = 1U;
  alias_list.cmp = (int (*)(char const   * , char const   * ))0;
  tmp = _((char const   *)"See \'git help <command>\' to read about a specific subcommand");
  printf_ln((char const   *)tmp);
  print_cmd_by_category((struct category_description  const  *)(main_categories),
                        & longest);
  list_all_other_cmds(& others);
  if (others.nr) {
    tmp___0 = _((char const   *)"External commands");
    printf((char const   *)"\n%s\n", tmp___0);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < others.nr)) {
      goto while_break;
    }
    printf((char const   *)"   %s\n", (others.items + i)->string);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_clear(& others, 0);
  git_config(& get_alias, (void *)(& alias_list));
  string_list_sort(& alias_list);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < alias_list.nr)) {
      goto while_break___0;
    }
    tmp___1 = strlen((char const   *)(alias_list.items + i)->string);
    len___0 = tmp___1;
    if ((size_t )longest < len___0) {
      longest = (int )len___0;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (alias_list.nr) {
    tmp___2 = _((char const   *)"Command aliases");
    printf((char const   *)"\n%s\n", tmp___2);
    tmp___3 = st_mult(sizeof(*aliases___0), (size_t )(alias_list.nr + 1U));
    tmp___4 = xmalloc(tmp___3);
    aliases___0 = (struct cmdname_help *)tmp___4;
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((unsigned int )i < alias_list.nr)) {
        goto while_break___1;
      }
      (aliases___0 + i)->name = (char const   *)(alias_list.items + i)->string;
      (aliases___0 + i)->help = (char const   *)(alias_list.items + i)->util;
      (aliases___0 + i)->category = (uint32_t )1;
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    (aliases___0 + alias_list.nr)->name = (char const   *)((void *)0);
    print_command_list((struct cmdname_help  const  *)aliases___0, (uint32_t )1, longest);
    free((void *)aliases___0);
  }
  string_list_clear(& alias_list, 1);
  return;
}
}
int is_in_cmdlist(struct cmdnames *c___0 , char const   *s___1 )
{
  int i ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < c___0->cnt)) {
      goto while_break;
    }
    tmp = strcmp(s___1, (char const   *)((*(c___0->names + i))->name));
    if (! tmp) {
      return (1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int autocorrect  ;
static struct cmdnames aliases  ;
static int git_unknown_cmd_config(char const   *var , char const   *value , void *cb )
{
  char const   *p___0 ;
  int tmp ;
  int v ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  size_t tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  tmp___4 = strcmp(var, (char const   *)"help.autocorrect");
  if (! tmp___4) {
    if (! value) {
      config_error_nonbool(var);
      tmp = const_error();
      return (tmp);
    }
    tmp___3 = strcmp(value, (char const   *)"never");
    if (tmp___3) {
      tmp___2 = strcmp(value, (char const   *)"immediate");
      if (tmp___2) {
        tmp___1 = strcmp(value, (char const   *)"prompt");
        if (tmp___1) {
          tmp___0 = git_config_int(var, value);
          v = tmp___0;
          if (v < 0) {
            autocorrect = -1;
          } else {
            autocorrect = v;
          }
        } else {
          autocorrect = -3;
        }
      } else {
        autocorrect = -1;
      }
    } else {
      autocorrect = -2;
    }
  }
  tmp___6 = skip_prefix(var, (char const   *)"alias.", & p___0);
  if (tmp___6) {
    tmp___5 = strlen(p___0);
    add_cmdname(& aliases, p___0, (int )tmp___5);
  }
  tmp___7 = git_default_config(var, value, cb);
  return (tmp___7);
}
}
static int levenshtein_compare(void const   *p1 , void const   *p2 )
{
  struct cmdname  const  **c1 ;
  struct cmdname  const  **c2 ;
  char const   *s1 ;
  char const   *s2 ;
  int l1 ;
  int l2 ;
  int tmp ;
  int tmp___0 ;

  {
  c1 = (struct cmdname  const  **)p1;
  c2 = (struct cmdname  const  **)p2;
  s1 = (char const   *)((*c1)->name);
  s2 = (char const   *)((*c2)->name);
  l1 = (int )(*c1)->len;
  l2 = (int )(*c2)->len;
  if (l1 != l2) {
    tmp___0 = l1 - l2;
  } else {
    tmp = strcmp(s1, s2);
    tmp___0 = tmp;
  }
  return (tmp___0);
}
}
static void add_cmd_list(struct cmdnames *cmds___0 , struct cmdnames *old )
{
  int i ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (cmds___0->cnt + old->cnt > cmds___0->alloc) {
      if (((cmds___0->alloc + 16) * 3) / 2 < cmds___0->cnt + old->cnt) {
        cmds___0->alloc = cmds___0->cnt + old->cnt;
      } else {
        cmds___0->alloc = ((cmds___0->alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(cmds___0->names)), (size_t )cmds___0->alloc);
      tmp___0 = xrealloc((void *)cmds___0->names, tmp);
      cmds___0->names = (struct cmdname **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < old->cnt)) {
      goto while_break___0;
    }
    tmp___1 = cmds___0->cnt;
    (cmds___0->cnt) ++;
    *(cmds___0->names + tmp___1) = *(old->names + i);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    free((void *)old->names);
    old->names = (struct cmdname **)((void *)0);
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  old->cnt = 0;
  return;
}
}
static char const   bad_interpreter_advice[94]  =
  {      (char const   )'\'',      (char const   )'%',      (char const   )'s',      (char const   )'\'',
        (char const   )' ',      (char const   )'a',      (char const   )'p',      (char const   )'p',
        (char const   )'e',      (char const   )'a',      (char const   )'r',      (char const   )'s',
        (char const   )' ',      (char const   )'t',      (char const   )'o',      (char const   )' ',
        (char const   )'b',      (char const   )'e',      (char const   )' ',      (char const   )'a',
        (char const   )' ',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'m',
        (char const   )'m',      (char const   )'a',      (char const   )'n',      (char const   )'d',
        (char const   )',',      (char const   )' ',      (char const   )'b',      (char const   )'u',
        (char const   )'t',      (char const   )' ',      (char const   )'w',      (char const   )'e',
        (char const   )' ',      (char const   )'w',      (char const   )'e',      (char const   )'r',
        (char const   )'e',      (char const   )' ',      (char const   )'n',      (char const   )'o',
        (char const   )'t',      (char const   )'\n',      (char const   )'a',      (char const   )'b',
        (char const   )'l',      (char const   )'e',      (char const   )' ',      (char const   )'t',
        (char const   )'o',      (char const   )' ',      (char const   )'e',      (char const   )'x',
        (char const   )'e',      (char const   )'c',      (char const   )'u',      (char const   )'t',
        (char const   )'e',      (char const   )' ',      (char const   )'i',      (char const   )'t',
        (char const   )'.',      (char const   )' ',      (char const   )'M',      (char const   )'a',
        (char const   )'y',      (char const   )'b',      (char const   )'e',      (char const   )' ',
        (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )'-',
        (char const   )'%',      (char const   )'s',      (char const   )' ',      (char const   )'i',
        (char const   )'s',      (char const   )' ',      (char const   )'b',      (char const   )'r',
        (char const   )'o',      (char const   )'k',      (char const   )'e',      (char const   )'n',
        (char const   )'?',      (char const   )'\000'};
char const   *help_unknown_cmd(char const   *cmd )
{
  int i ;
  int n ;
  int best_similarity ;
  struct cmdnames main_cmds___1 ;
  struct cmdnames other_cmds___1 ;
  struct cmdname_help *common_cmds ;
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int cmp___0 ;
  char const   *candidate ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const   *assumed ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char *answer ;
  struct strbuf msg___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___17 ;
  int tmp___18 ;

  {
  best_similarity = 0;
  memset((void *)(& main_cmds___1), 0, sizeof(main_cmds___1));
  memset((void *)(& other_cmds___1), 0, sizeof(other_cmds___1));
  memset((void *)(& aliases), 0, sizeof(aliases));
  read_early_config(& git_unknown_cmd_config, (void *)0);
  if (autocorrect == -3) {
    tmp = isatty(0);
    if (tmp) {
      tmp___0 = isatty(2);
      if (! tmp___0) {
        autocorrect = -2;
      }
    } else {
      autocorrect = -2;
    }
  }
  if (autocorrect == -2) {
    tmp___1 = _((char const   *)"git: \'%s\' is not a git command. See \'git --help\'.");
    fprintf_ln(stderr, (char const   *)tmp___1, cmd);
    tmp___2 = trace2_cmd_exit_fl((char const   *)"help.c", 566, 1);
    exit(tmp___2);
  }
  load_command_list((char const   *)"git-", & main_cmds___1, & other_cmds___1);
  add_cmd_list(& main_cmds___1, & aliases);
  add_cmd_list(& main_cmds___1, & other_cmds___1);
  sane_qsort((void *)main_cmds___1.names, (size_t )main_cmds___1.cnt, sizeof(*(main_cmds___1.names)),
             & cmdname_compare);
  uniq(& main_cmds___1);
  extract_cmds(& common_cmds, common_mask);
  i = 0;
  n = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < main_cmds___1.cnt)) {
      goto while_break;
    }
    cmp___0 = 0;
    candidate = (char const   *)((*(main_cmds___1.names + i))->name);
    tmp___4 = strcmp(candidate, cmd);
    if (! tmp___4) {
      tmp___3 = _(bad_interpreter_advice);
      die((char const   *)tmp___3, cmd, cmd);
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if ((common_cmds + n)->name) {
        cmp___0 = strcmp((common_cmds + n)->name, candidate);
        if (! (cmp___0 < 0)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      n ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if ((common_cmds + n)->name) {
      if (! cmp___0) {
        n ++;
        tmp___5 = starts_with(candidate, cmd);
        if (tmp___5) {
          (*(main_cmds___1.names + i))->len = (size_t )0;
          goto __Cont;
        }
      }
    }
    tmp___6 = levenshtein(cmd, candidate, 0, 2, 1, 3);
    (*(main_cmds___1.names + i))->len = (size_t )(tmp___6 + 1);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    free((void *)common_cmds);
    common_cmds = (struct cmdname_help *)((void *)0);
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  sane_qsort((void *)main_cmds___1.names, (size_t )main_cmds___1.cnt, sizeof(*(main_cmds___1.names)),
             & levenshtein_compare);
  if (! main_cmds___1.cnt) {
    tmp___7 = _((char const   *)"Uh oh. Your system reports no Git commands at all.");
    die((char const   *)tmp___7);
  }
  n = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (n < main_cmds___1.cnt) {
      if (! (! (*(main_cmds___1.names + n))->len)) {
        goto while_break___2;
      }
    } else {
      goto while_break___2;
    }
    n ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  if (main_cmds___1.cnt <= n) {
    best_similarity = 8;
  } else {
    tmp___8 = n;
    n ++;
    best_similarity = (int )(*(main_cmds___1.names + tmp___8))->len;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (n < main_cmds___1.cnt) {
        if (! ((size_t )best_similarity == (*(main_cmds___1.names + n))->len)) {
          goto while_break___3;
        }
      } else {
        goto while_break___3;
      }
      n ++;
    }
    while_break___3: /* CIL Label */ ;
    }
  }
  if (autocorrect) {
    if (n == 1) {
      if (best_similarity < 7) {
        assumed = (char const   *)((*(main_cmds___1.names + 0))->name);
        *(main_cmds___1.names + 0) = (struct cmdname *)((void *)0);
        clean_cmdnames(& main_cmds___1);
        tmp___9 = _((char const   *)"WARNING: You called a Git command named \'%s\', which does not exist.");
        fprintf_ln(stderr, (char const   *)tmp___9, cmd);
        if (autocorrect == -1) {
          tmp___10 = _((char const   *)"Continuing under the assumption that you meant \'%s\'.");
          fprintf_ln(stderr, (char const   *)tmp___10, assumed);
        } else
        if (autocorrect == -3) {
          msg___5.alloc = 0UL;
          msg___5.len = 0UL;
          msg___5.buf = strbuf_slopbuf;
          tmp___11 = _((char const   *)"Run \'%s\' instead [y/N]? ");
          strbuf_addf(& msg___5, (char const   *)tmp___11, assumed);
          answer = git_prompt((char const   *)msg___5.buf, 1 << 1);
          strbuf_release(& msg___5);
          tmp___13 = starts_with((char const   *)answer, (char const   *)"y");
          if (! tmp___13) {
            tmp___14 = starts_with((char const   *)answer, (char const   *)"Y");
            if (! tmp___14) {
              tmp___12 = trace2_cmd_exit_fl((char const   *)"help.c", 651, 1);
              exit(tmp___12);
            }
          }
        } else {
          tmp___15 = _((char const   *)"Continuing in %0.1f seconds, assuming that you meant \'%s\'.");
          fprintf_ln(stderr, (char const   *)tmp___15, (double )((float )autocorrect) / 10.0,
                     assumed);
          sleep_millisec(autocorrect * 100);
        }
        return (assumed);
      }
    }
  }
  tmp___16 = _((char const   *)"git: \'%s\' is not a git command. See \'git --help\'.");
  fprintf_ln(stderr, (char const   *)tmp___16, cmd);
  if (best_similarity < 7) {
    tmp___17 = Q_((char const   *)"\nThe most similar command is", (char const   *)"\nThe most similar commands are",
                  (unsigned long )n);
    fprintf_ln(stderr, (char const   *)tmp___17);
    i = 0;
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (! (i < n)) {
        goto while_break___4;
      }
      fprintf(stderr, (char const   *)"\t%s\n", (*(main_cmds___1.names + i))->name);
      i ++;
    }
    while_break___4: /* CIL Label */ ;
    }
  }
  tmp___18 = trace2_cmd_exit_fl((char const   *)"help.c", 674, 1);
  exit(tmp___18);
}
}
void get_version_info(struct strbuf *buf___19 , int show_build_options )
{


  {
  strbuf_addf(buf___19, (char const   *)"git version %s\n", git_version_string);
  if (show_build_options) {
    strbuf_addf(buf___19, (char const   *)"cpu: %s\n", "x86_64");
    if (git_built_from_commit_string[0]) {
      strbuf_addf(buf___19, (char const   *)"built from commit: %s\n", git_built_from_commit_string);
    } else {
      strbuf_addstr(buf___19, (char const   *)"no commit associated with this build\n");
    }
    strbuf_addf(buf___19, (char const   *)"sizeof-long: %d\n", (int )sizeof(long ));
    strbuf_addf(buf___19, (char const   *)"sizeof-size_t: %d\n", (int )sizeof(size_t ));
    strbuf_addf(buf___19, (char const   *)"shell-path: %s\n", "/bin/sh");
  }
  return;
}
}
int cmd_version(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct strbuf buf___19 ;
  int build_options ;
  char const   *usage___2[2] ;
  struct option options[2] ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  build_options = 0;
  usage___2[0] = (char const   *)"git version [<options>]";
  usage___2[1] = (char const   *)((void *)0);
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"build-options";
  options[0].value = (void *)(& build_options);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"also print build options";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )0;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)0;
  options[1].value = (void *)0;
  options[1].argh = (char const   *)0;
  options[1].help = (char const   *)0;
  options[1].flags = 0U;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       usage___2, (enum parse_opt_flags )0);
  get_version_info(& buf___19, build_options);
  printf((char const   *)"%s", buf___19.buf);
  strbuf_release(& buf___19);
  return (0);
}
}
static int append_similar_ref(char const   *refname , struct object_id  const  *oid ,
                              int flags___0 , void *cb_data )
{
  struct similar_ref_cb *cb ;
  char *branch___0 ;
  char *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  cb = (struct similar_ref_cb *)cb_data;
  tmp = strrchr(refname, '/');
  branch___0 = tmp + 1;
  tmp___1 = starts_with(refname, (char const   *)"refs/remotes/");
  if (tmp___1) {
    tmp___2 = strcmp((char const   *)branch___0, cb->base_ref);
    if (! tmp___2) {
      tmp___0 = shorten_unambiguous_ref(refname, 1);
      string_list_append_nodup(cb->similar_refs, tmp___0);
    }
  }
  return (0);
}
}
static struct string_list guess_refs(char const   *ref )
{
  struct similar_ref_cb ref_cb ;
  struct string_list similar_refs ;

  {
  similar_refs.items = (struct string_list_item *)0;
  similar_refs.nr = 0U;
  similar_refs.alloc = 0U;
  similar_refs.strdup_strings = 1U;
  similar_refs.cmp = (int (*)(char const   * , char const   * ))0;
  ref_cb.base_ref = ref;
  ref_cb.similar_refs = & similar_refs;
  for_each_ref(& append_similar_ref, (void *)(& ref_cb));
  return (similar_refs);
}
}
void help_unknown_ref(char const   *ref , char const   *cmd , char const   *error___0 )  __attribute__((__noreturn__)) ;
void help_unknown_ref(char const   *ref , char const   *cmd , char const   *error___0 )
{
  int i ;
  struct string_list suggested_refs ;
  struct string_list tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  tmp = guess_refs(ref);
  suggested_refs = tmp;
  tmp___0 = _((char const   *)"%s: %s - %s");
  fprintf_ln(stderr, (char const   *)tmp___0, cmd, ref, error___0);
  if (suggested_refs.nr > 0U) {
    tmp___1 = Q_((char const   *)"\nDid you mean this?", (char const   *)"\nDid you mean one of these?",
                 (unsigned long )suggested_refs.nr);
    fprintf_ln(stderr, (char const   *)tmp___1);
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )i < suggested_refs.nr)) {
        goto while_break;
      }
      fprintf(stderr, (char const   *)"\t%s\n", (suggested_refs.items + i)->string);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  string_list_clear(& suggested_refs, 0);
  tmp___2 = trace2_cmd_exit_fl((char const   *)"help.c", 773, 1);
  exit(tmp___2);
}
}
signed char const   hexval_table[256]  =
  {      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )0,      (signed char const   )1,      (signed char const   )2,      (signed char const   )3,
        (signed char const   )4,      (signed char const   )5,      (signed char const   )6,      (signed char const   )7,
        (signed char const   )8,      (signed char const   )9,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )10,      (signed char const   )11,      (signed char const   )12,
        (signed char const   )13,      (signed char const   )14,      (signed char const   )15,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )10,      (signed char const   )11,      (signed char const   )12,
        (signed char const   )13,      (signed char const   )14,      (signed char const   )15,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1};
int hex_to_bytes(unsigned char *binary , char const   *hex___3 , size_t len___0 )
{
  unsigned int val ;
  unsigned int tmp ;
  unsigned int tmp___0 ;
  unsigned char *tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! len___0) {
      goto while_break;
    }
    tmp = hexval((unsigned char )*(hex___3 + 0));
    tmp___0 = hexval((unsigned char )*(hex___3 + 1));
    val = (tmp << 4) | tmp___0;
    if (val & 4294967040U) {
      return (-1);
    }
    tmp___1 = binary;
    binary ++;
    *tmp___1 = (unsigned char )val;
    len___0 --;
    hex___3 += 2;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int get_hash_hex_algop(char const   *hex___3 , unsigned char *hash___0 , struct git_hash_algo  const  *algop )
{
  int i ;
  int val ;
  int tmp ;
  unsigned char *tmp___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < algop->rawsz)) {
      goto while_break;
    }
    tmp = hex2chr(hex___3);
    val = tmp;
    if (val < 0) {
      return (-1);
    }
    tmp___0 = hash___0;
    hash___0 ++;
    *tmp___0 = (unsigned char )val;
    hex___3 += 2;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int get_sha1_hex(char const   *hex___3 , unsigned char *sha1 )
{
  int tmp ;

  {
  tmp = get_hash_hex_algop(hex___3, sha1, the_repository->hash_algo);
  return (tmp);
}
}
int get_oid_hex_algop(char const   *hex___3 , struct object_id *oid , struct git_hash_algo  const  *algop )
{
  int ret___67 ;
  int tmp ;

  {
  tmp = get_hash_hex_algop(hex___3, oid->hash, algop);
  ret___67 = tmp;
  if (! ret___67) {
    oid_set_algo(oid, algop);
  }
  return (ret___67);
}
}
int get_oid_hex_any(char const   *hex___3 , struct object_id *oid )
{
  int i ;
  int tmp ;

  {
  i = 2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i > 0)) {
      goto while_break;
    }
    tmp = get_oid_hex_algop(hex___3, oid, & hash_algos[i]);
    if (! tmp) {
      return (i);
    }
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int get_oid_hex(char const   *hex___3 , struct object_id *oid )
{
  int tmp ;

  {
  tmp = get_oid_hex_algop(hex___3, oid, the_repository->hash_algo);
  return (tmp);
}
}
int parse_oid_hex_algop(char const   *hex___3 , struct object_id *oid , char const   **end ,
                        struct git_hash_algo  const  *algop )
{
  int ret___67 ;
  int tmp ;

  {
  tmp = get_oid_hex_algop(hex___3, oid, algop);
  ret___67 = tmp;
  if (! ret___67) {
    *end = hex___3 + algop->hexsz;
  }
  return (ret___67);
}
}
int parse_oid_hex_any(char const   *hex___3 , struct object_id *oid , char const   **end )
{
  int ret___67 ;
  int tmp ;

  {
  tmp = get_oid_hex_any(hex___3, oid);
  ret___67 = tmp;
  if (ret___67) {
    *end = hex___3 + hash_algos[ret___67].hexsz;
  }
  return (ret___67);
}
}
int parse_oid_hex(char const   *hex___3 , struct object_id *oid , char const   **end )
{
  int tmp ;

  {
  tmp = parse_oid_hex_algop(hex___3, oid, end, the_repository->hash_algo);
  return (tmp);
}
}
static char const   hex___0[17]  =
  {      (char const   )'0',      (char const   )'1',      (char const   )'2',      (char const   )'3',
        (char const   )'4',      (char const   )'5',      (char const   )'6',      (char const   )'7',
        (char const   )'8',      (char const   )'9',      (char const   )'a',      (char const   )'b',
        (char const   )'c',      (char const   )'d',      (char const   )'e',      (char const   )'f',
        (char const   )'\000'};
char *hash_to_hex_algop_r(char *buffer___5 , unsigned char const   *hash___0 , struct git_hash_algo  const  *algop )
{
  char *buf___19 ;
  int i ;
  unsigned int val ;
  unsigned char const   *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;

  {
  buf___19 = buffer___5;
  if ((unsigned long )algop == (unsigned long )(& hash_algos[0])) {
    algop = the_repository->hash_algo;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < algop->rawsz)) {
      goto while_break;
    }
    tmp = hash___0;
    hash___0 ++;
    val = (unsigned int )*tmp;
    tmp___0 = buf___19;
    buf___19 ++;
    *tmp___0 = (char )hex___0[val >> 4];
    tmp___1 = buf___19;
    buf___19 ++;
    *tmp___1 = (char )hex___0[val & 15U];
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  *buf___19 = (char )'\000';
  return (buffer___5);
}
}
char *oid_to_hex_r(char *buffer___5 , struct object_id  const  *oid )
{
  char *tmp ;

  {
  tmp = hash_to_hex_algop_r(buffer___5, (unsigned char const   *)(oid->hash), & hash_algos[oid->algo]);
  return (tmp);
}
}
static int bufno  ;
static char hexbuffer[4][65]  ;
char *hash_to_hex_algop(unsigned char const   *hash___0 , struct git_hash_algo  const  *algop )
{
  char *tmp ;

  {
  bufno = (int )((unsigned long )(bufno + 1) % (sizeof(hexbuffer) / sizeof(hexbuffer[0]) + (sizeof(char [1]) - 1UL)));
  tmp = hash_to_hex_algop_r(hexbuffer[bufno], hash___0, algop);
  return (tmp);
}
}
char *hash_to_hex(unsigned char const   *hash___0 )
{
  char *tmp ;

  {
  tmp = hash_to_hex_algop(hash___0, the_repository->hash_algo);
  return (tmp);
}
}
char *oid_to_hex(struct object_id  const  *oid )
{
  char *tmp ;

  {
  tmp = hash_to_hex_algop((unsigned char const   *)(oid->hash), & hash_algos[oid->algo]);
  return (tmp);
}
}
char const   *find_hook(char const   *name___0 ) ;
int hook_exists(char const   *name___0 ) ;
static struct strbuf path___1  =    {0UL, 0UL, strbuf_slopbuf};
static struct string_list advise_given  =    {(struct string_list_item *)0, 0U, 0U, 1U, (int (*)(char const   * , char const   * ))0};
char const   *find_hook(char const   *name___0 )
{
  int err___4 ;
  int *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  struct string_list_item *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  strbuf_setlen(& path___1, (size_t )0);
  strbuf_git_path(& path___1, (char const   *)"hooks/%s", name___0);
  tmp___3 = access((char const   *)path___1.buf, 1);
  if (tmp___3 < 0) {
    tmp = __errno_location();
    err___4 = *tmp;
    if (err___4 == 13) {
      tmp___2 = advice_enabled((enum advice_type )9);
      if (tmp___2) {
        tmp___1 = string_list_lookup(& advise_given, name___0);
        if (! tmp___1) {
          string_list_insert(& advise_given, name___0);
          tmp___0 = _((char const   *)"The \'%s\' hook was ignored because it\'s not set as executable.\nYou can disable this warning with `git config advice.ignoredHook false`.");
          advise((char const   *)tmp___0, path___1.buf);
        }
      }
    }
    return ((char const   *)((void *)0));
  }
  return ((char const   *)path___1.buf);
}
}
int hook_exists(char const   *name___0 )
{
  char const   *tmp ;
  int tmp___0 ;

  {
  tmp = find_hook(name___0);
  if (tmp) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static struct strbuf git_default_name  =    {0UL, 0UL, strbuf_slopbuf};
static struct strbuf git_default_email  =    {0UL, 0UL, strbuf_slopbuf};
static struct strbuf git_default_date  =    {0UL, 0UL, strbuf_slopbuf};
static struct strbuf git_author_name  =    {0UL, 0UL, strbuf_slopbuf};
static struct strbuf git_author_email  =    {0UL, 0UL, strbuf_slopbuf};
static struct strbuf git_committer_name  =    {0UL, 0UL, strbuf_slopbuf};
static struct strbuf git_committer_email  =    {0UL, 0UL, strbuf_slopbuf};
static int default_email_is_bogus  ;
static int default_name_is_bogus  ;
static int ident_use_config_only  ;
static int committer_ident_explicitly_given  ;
static int author_ident_explicitly_given  ;
static int ident_config_given  ;
static struct passwd fallback  ;
static struct passwd *xgetpwuid_self(int *is_bogus )
{
  struct passwd *pw ;
  int *tmp ;
  __uid_t tmp___0 ;

  {
  tmp = __errno_location();
  *tmp = 0;
  tmp___0 = getuid();
  pw = getpwuid(tmp___0);
  if (! pw) {
    fallback.pw_name = "unknown";
    fallback.pw_gecos = "Unknown";
    pw = & fallback;
    if (is_bogus) {
      *is_bogus = 1;
    }
  }
  return (pw);
}
}
static void copy_gecos(struct passwd  const  *w , struct strbuf *name___0 )
{
  char *src ;
  int ch___0 ;
  int tmp ;

  {
  src = (char *)w->pw_gecos;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*src) {
      if (! ((int )*src != 44)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    ch___0 = (int )*src;
    if (ch___0 != 38) {
      strbuf_addch(name___0, ch___0);
    } else {
      tmp = sane_case((int )((unsigned char )*(w->pw_name)), 0);
      strbuf_addch(name___0, tmp);
      strbuf_addstr(name___0, (char const   *)(w->pw_name + 1));
    }
    src ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int add_mailname_host(struct strbuf *buf___19 )
{
  FILE *mailname ;
  struct strbuf mailnamebuf ;
  int tmp ;
  int tmp___0 ;

  {
  mailnamebuf.alloc = 0UL;
  mailnamebuf.len = 0UL;
  mailnamebuf.buf = strbuf_slopbuf;
  mailname = fopen_or_warn((char const   *)"/etc/mailname", (char const   *)"r");
  if (! mailname) {
    return (-1);
  }
  tmp___0 = strbuf_getline(& mailnamebuf, mailname);
  if (tmp___0 == -1) {
    tmp = ferror(mailname);
    if (tmp) {
      warning_errno((char const   *)"cannot read /etc/mailname");
    }
    strbuf_release(& mailnamebuf);
    fclose(mailname);
    return (-1);
  }
  strbuf_addbuf(buf___19, (struct strbuf  const  *)(& mailnamebuf));
  strbuf_release(& mailnamebuf);
  fclose(mailname);
  return (0);
}
}
static int canonical_name(char const   *host , struct strbuf *out )
{
  int status ;
  struct addrinfo hints___0 ;
  struct addrinfo *ai ;
  char *tmp ;
  int tmp___0 ;

  {
  status = -1;
  memset((void *)(& hints___0), '\000', sizeof(hints___0));
  hints___0.ai_flags = 0x0002;
  tmp___0 = getaddrinfo((char const   * __restrict  )host, (char const   * __restrict  )((void *)0),
                        (struct addrinfo  const  * __restrict  )(& hints___0), (struct addrinfo ** __restrict  )(& ai));
  if (! tmp___0) {
    if (ai) {
      if (ai->ai_canonname) {
        tmp = strchr((char const   *)ai->ai_canonname, '.');
        if (tmp) {
          strbuf_addstr(out, (char const   *)ai->ai_canonname);
          status = 0;
        }
      }
    }
    freeaddrinfo(ai);
  }
  return (status);
}
}
static void add_domainname(struct strbuf *out , int *is_bogus )
{
  char buf___19[65] ;
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  tmp = xgethostname(buf___19, sizeof(buf___19));
  if (tmp) {
    warning_errno((char const   *)"cannot get host name");
    strbuf_addstr(out, (char const   *)"(none)");
    *is_bogus = 1;
    return;
  }
  tmp___1 = strchr((char const   *)(buf___19), '.');
  if (tmp___1) {
    strbuf_addstr(out, (char const   *)(buf___19));
  } else {
    tmp___0 = canonical_name((char const   *)(buf___19), out);
    if (tmp___0 < 0) {
      strbuf_addf(out, (char const   *)"%s.(none)", buf___19);
      *is_bogus = 1;
    }
  }
  return;
}
}
static void copy_email(struct passwd  const  *pw , struct strbuf *email , int *is_bogus )
{
  int tmp ;

  {
  strbuf_addstr(email, (char const   *)pw->pw_name);
  strbuf_addch(email, '@');
  tmp = add_mailname_host(email);
  if (! tmp) {
    return;
  }
  add_domainname(email, is_bogus);
  return;
}
}
char const   *ident_default_name(void)
{
  struct passwd *tmp ;

  {
  if (! (ident_config_given & 01)) {
    if (! git_default_name.len) {
      tmp = xgetpwuid_self(& default_name_is_bogus);
      copy_gecos((struct passwd  const  *)tmp, & git_default_name);
      strbuf_trim(& git_default_name);
    }
  }
  return ((char const   *)git_default_name.buf);
}
}
char const   *ident_default_email(void)
{
  char const   *email ;
  char *tmp ;
  struct passwd *tmp___0 ;

  {
  if (! (ident_config_given & 02)) {
    if (! git_default_email.len) {
      tmp = getenv((char const   *)"EMAIL");
      email = (char const   *)tmp;
      if (email) {
        if (*(email + 0)) {
          strbuf_addstr(& git_default_email, email);
          committer_ident_explicitly_given |= 02;
          author_ident_explicitly_given |= 02;
        } else {
          goto _L;
        }
      } else {
        _L: /* CIL Label */
        email = (char const   *)((void *)0);
        if (email) {
          if (*(email + 0)) {
            strbuf_addstr(& git_default_email, email);
            free((void *)((char *)email));
          } else {
            tmp___0 = xgetpwuid_self(& default_email_is_bogus);
            copy_email((struct passwd  const  *)tmp___0, & git_default_email, & default_email_is_bogus);
          }
        } else {
          tmp___0 = xgetpwuid_self(& default_email_is_bogus);
          copy_email((struct passwd  const  *)tmp___0, & git_default_email, & default_email_is_bogus);
        }
      }
      strbuf_trim(& git_default_email);
    }
  }
  return ((char const   *)git_default_email.buf);
}
}
static char const   *ident_default_date(void)
{


  {
  if (! git_default_date.len) {
    datestamp(& git_default_date);
  }
  return ((char const   *)git_default_date.buf);
}
}
void reset_ident_date(void)
{


  {
  strbuf_setlen(& git_default_date, (size_t )0);
  return;
}
}
static int crud(unsigned char c___0 )
{
  int tmp ;

  {
  if ((int )c___0 <= 32) {
    tmp = 1;
  } else
  if ((int )c___0 == 46) {
    tmp = 1;
  } else
  if ((int )c___0 == 44) {
    tmp = 1;
  } else
  if ((int )c___0 == 58) {
    tmp = 1;
  } else
  if ((int )c___0 == 59) {
    tmp = 1;
  } else
  if ((int )c___0 == 60) {
    tmp = 1;
  } else
  if ((int )c___0 == 62) {
    tmp = 1;
  } else
  if ((int )c___0 == 34) {
    tmp = 1;
  } else
  if ((int )c___0 == 92) {
    tmp = 1;
  } else
  if ((int )c___0 == 39) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static int has_non_crud(char const   *str )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *str) {
      goto while_break;
    }
    tmp = crud((unsigned char )*str);
    if (! tmp) {
      return (1);
    }
    str ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void strbuf_addstr_without_crud(struct strbuf *sb___6 , char const   *src )
{
  size_t i ;
  size_t len___0 ;
  unsigned char c___0 ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  size_t tmp___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    c___0 = (unsigned char )*src;
    if (! ((int )c___0 != 0)) {
      goto while_break;
    }
    tmp = crud(c___0);
    if (! tmp) {
      goto while_break;
    }
    src ++;
  }
  while_break: /* CIL Label */ ;
  }
  len___0 = strlen(src);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (len___0 > 0UL)) {
      goto while_break___0;
    }
    c___0 = (unsigned char )*(src + (len___0 - 1UL));
    tmp___0 = crud(c___0);
    if (! tmp___0) {
      goto while_break___0;
    }
    len___0 --;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_grow(sb___6, len___0);
  i = (size_t )0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < len___0)) {
      goto while_break___1;
    }
    tmp___1 = src;
    src ++;
    c___0 = (unsigned char )*tmp___1;
    {
    if ((int )c___0 == 62) {
      goto case_62;
    }
    if ((int )c___0 == 60) {
      goto case_62;
    }
    if ((int )c___0 == 10) {
      goto case_62;
    }
    goto switch_break;
    case_62: /* CIL Label */
    case_60: /* CIL Label */
    case_10: /* CIL Label */
    goto __Cont;
    switch_break: /* CIL Label */ ;
    }
    tmp___2 = sb___6->len;
    (sb___6->len) ++;
    *(sb___6->buf + tmp___2) = (char )c___0;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  *(sb___6->buf + sb___6->len) = (char )'\000';
  return;
}
}
int split_ident_line(struct ident_split *split , char const   *line___0 , int len___0 )
{
  char const   *cp ;
  size_t span ;
  int status ;

  {
  status = -1;
  memset((void *)split, 0, sizeof(*split));
  split->name_begin = line___0;
  cp = line___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*cp) {
      if (! ((unsigned long )cp < (unsigned long )(line___0 + len___0))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if ((int const   )*cp == 60) {
      split->mail_begin = cp + 1;
      goto while_break;
    }
    cp ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! split->mail_begin) {
    return (status);
  }
  cp = split->mail_begin - 2;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )line___0 <= (unsigned long )cp)) {
      goto while_break___0;
    }
    if (! (((int const   )sane_ctype[(unsigned char )*cp] & 1) != 0)) {
      split->name_end = cp + 1;
      goto while_break___0;
    }
    cp --;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (! split->name_end) {
    split->name_end = split->name_begin;
  }
  cp = split->mail_begin;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned long )cp < (unsigned long )(line___0 + len___0))) {
      goto while_break___1;
    }
    if ((int const   )*cp == 62) {
      split->mail_end = cp;
      goto while_break___1;
    }
    cp ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  if (! split->mail_end) {
    return (status);
  }
  cp = (line___0 + len___0) - 1;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((int const   )*cp != 62)) {
      goto while_break___2;
    }
    cp --;
  }
  while_break___2: /* CIL Label */ ;
  }
  cp ++;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if ((unsigned long )cp < (unsigned long )(line___0 + len___0)) {
      if (! (((int const   )sane_ctype[(unsigned char )*cp] & 1) != 0)) {
        goto while_break___3;
      }
    } else {
      goto while_break___3;
    }
    cp ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  if ((unsigned long )(line___0 + len___0) <= (unsigned long )cp) {
    goto person_only;
  }
  split->date_begin = cp;
  span = strspn(cp, (char const   *)"0123456789");
  if (! span) {
    goto person_only;
  }
  split->date_end = split->date_begin + span;
  cp = split->date_end;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if ((unsigned long )cp < (unsigned long )(line___0 + len___0)) {
      if (! (((int const   )sane_ctype[(unsigned char )*cp] & 1) != 0)) {
        goto while_break___4;
      }
    } else {
      goto while_break___4;
    }
    cp ++;
  }
  while_break___4: /* CIL Label */ ;
  }
  if ((unsigned long )(line___0 + len___0) <= (unsigned long )cp) {
    goto person_only;
  } else
  if ((int const   )*cp != 43) {
    if ((int const   )*cp != 45) {
      goto person_only;
    }
  }
  split->tz_begin = cp;
  span = strspn(cp + 1, (char const   *)"0123456789");
  if (! span) {
    goto person_only;
  }
  split->tz_end = (split->tz_begin + 1) + span;
  return (0);
  person_only:
  split->date_begin = (char const   *)((void *)0);
  split->date_end = (char const   *)((void *)0);
  split->tz_begin = (char const   *)((void *)0);
  split->tz_end = (char const   *)((void *)0);
  return (0);
}
}
static void ident_env_hint(enum want_ident whose_ident )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  {
  if ((unsigned int )whose_ident == 1U) {
    goto case_1;
  }
  if ((unsigned int )whose_ident == 2U) {
    goto case_2;
  }
  goto switch_default;
  case_1: /* CIL Label */
  tmp = _((char const   *)"Author identity unknown\n");
  fputs((char const   * __restrict  )tmp, (FILE * __restrict  )stderr);
  goto switch_break;
  case_2: /* CIL Label */
  tmp___0 = _((char const   *)"Committer identity unknown\n");
  fputs((char const   * __restrict  )tmp___0, (FILE * __restrict  )stderr);
  goto switch_break;
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  tmp___1 = _((char const   *)"\n*** Please tell me who you are.\n\nRun\n\n  git config --global user.email \"you@example.com\"\n  git config --global user.name \"Your Name\"\n\nto set your account\'s default identity.\nOmit --global to set the identity only in this repository.\n\n");
  fputs((char const   * __restrict  )tmp___1, (FILE * __restrict  )stderr);
  return;
}
}
static int index___0  ;
static struct strbuf ident_pool[2]  = {      {0UL, 0UL, strbuf_slopbuf},
        {0UL, 0UL, strbuf_slopbuf}};
char const   *fmt_ident(char const   *name___0 , char const   *email , enum want_ident whose_ident ,
                        char const   *date_str , int flag )
{
  int strict___1 ;
  int want_date ;
  int want_name ;
  struct strbuf *ident ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int using_default ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  struct passwd *pw ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const   *tmp___8 ;

  {
  strict___1 = flag & 1;
  want_date = ! (flag & 2);
  want_name = ! (flag & 4);
  ident = & ident_pool[index___0];
  index___0 = (int )((unsigned long )(index___0 + 1) % (sizeof(ident_pool) / sizeof(ident_pool[0]) + (sizeof(char [1]) - 1UL)));
  if (! email) {
    if ((unsigned int )whose_ident == 1U) {
      if (git_author_email.len) {
        email = (char const   *)git_author_email.buf;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if ((unsigned int )whose_ident == 2U) {
      if (git_committer_email.len) {
        email = (char const   *)git_committer_email.buf;
      }
    }
  }
  if (! email) {
    if (strict___1) {
      if (ident_use_config_only) {
        if (! (ident_config_given & 02)) {
          ident_env_hint(whose_ident);
          tmp = _((char const   *)"no email was given and auto-detection is disabled");
          die((char const   *)tmp);
        }
      }
    }
    email = ident_default_email();
    if (strict___1) {
      if (default_email_is_bogus) {
        ident_env_hint(whose_ident);
        tmp___0 = _((char const   *)"unable to auto-detect email address (got \'%s\')");
        die((char const   *)tmp___0, email);
      }
    }
  }
  if (want_name) {
    using_default = 0;
    if (! name___0) {
      if ((unsigned int )whose_ident == 1U) {
        if (git_author_name.len) {
          name___0 = (char const   *)git_author_name.buf;
        } else {
          goto _L___0;
        }
      } else
      _L___0: /* CIL Label */
      if ((unsigned int )whose_ident == 2U) {
        if (git_committer_name.len) {
          name___0 = (char const   *)git_committer_name.buf;
        }
      }
    }
    if (! name___0) {
      if (strict___1) {
        if (ident_use_config_only) {
          if (! (ident_config_given & 01)) {
            ident_env_hint(whose_ident);
            tmp___1 = _((char const   *)"no name was given and auto-detection is disabled");
            die((char const   *)tmp___1);
          }
        }
      }
      name___0 = ident_default_name();
      using_default = 1;
      if (strict___1) {
        if (default_name_is_bogus) {
          ident_env_hint(whose_ident);
          tmp___2 = _((char const   *)"unable to auto-detect name (got \'%s\')");
          die((char const   *)tmp___2, name___0);
        }
      }
    }
    if (! *name___0) {
      if (strict___1) {
        if (using_default) {
          ident_env_hint(whose_ident);
        }
        tmp___3 = _((char const   *)"empty ident name (for <%s>) not allowed");
        die((char const   *)tmp___3, email);
      }
      pw = xgetpwuid_self((int *)((void *)0));
      name___0 = (char const   *)pw->pw_name;
    }
    if (strict___1) {
      tmp___5 = has_non_crud(name___0);
      if (! tmp___5) {
        tmp___4 = _((char const   *)"name consists only of disallowed characters: %s");
        die((char const   *)tmp___4, name___0);
      }
    }
  }
  strbuf_setlen(ident, (size_t )0);
  if (want_name) {
    strbuf_addstr_without_crud(ident, name___0);
    strbuf_addstr(ident, (char const   *)" <");
  }
  strbuf_addstr_without_crud(ident, email);
  if (want_name) {
    strbuf_addch(ident, '>');
  }
  if (want_date) {
    strbuf_addch(ident, ' ');
    if (date_str) {
      if (*(date_str + 0)) {
        tmp___7 = parse_date(date_str, ident);
        if (tmp___7 < 0) {
          tmp___6 = _((char const   *)"invalid date format: %s");
          die((char const   *)tmp___6, date_str);
        }
      } else {
        tmp___8 = ident_default_date();
        strbuf_addstr(ident, tmp___8);
      }
    } else {
      tmp___8 = ident_default_date();
      strbuf_addstr(ident, tmp___8);
    }
  }
  return ((char const   *)ident->buf);
}
}
char const   *fmt_name(enum want_ident whose_ident )
{
  char *name___0 ;
  char *email ;
  char const   *tmp ;

  {
  name___0 = (char *)((void *)0);
  email = (char *)((void *)0);
  {
  if ((unsigned int )whose_ident == 0U) {
    goto case_0;
  }
  if ((unsigned int )whose_ident == 1U) {
    goto case_1;
  }
  if ((unsigned int )whose_ident == 2U) {
    goto case_2;
  }
  goto switch_break;
  case_0: /* CIL Label */
  goto switch_break;
  case_1: /* CIL Label */
  name___0 = getenv((char const   *)"GIT_AUTHOR_NAME");
  email = getenv((char const   *)"GIT_AUTHOR_EMAIL");
  goto switch_break;
  case_2: /* CIL Label */
  name___0 = getenv((char const   *)"GIT_COMMITTER_NAME");
  email = getenv((char const   *)"GIT_COMMITTER_EMAIL");
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  tmp = fmt_ident((char const   *)name___0, (char const   *)email, whose_ident, (char const   *)((void *)0),
                  3);
  return (tmp);
}
}
char const   *git_author_info(int flag )
{
  char *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  char const   *tmp___4 ;

  {
  tmp = getenv((char const   *)"GIT_AUTHOR_NAME");
  if (tmp) {
    author_ident_explicitly_given |= 01;
  }
  tmp___0 = getenv((char const   *)"GIT_AUTHOR_EMAIL");
  if (tmp___0) {
    author_ident_explicitly_given |= 02;
  }
  tmp___1 = getenv((char const   *)"GIT_AUTHOR_DATE");
  tmp___2 = getenv((char const   *)"GIT_AUTHOR_EMAIL");
  tmp___3 = getenv((char const   *)"GIT_AUTHOR_NAME");
  tmp___4 = fmt_ident((char const   *)tmp___3, (char const   *)tmp___2, (enum want_ident )1,
                      (char const   *)tmp___1, flag);
  return (tmp___4);
}
}
char const   *git_committer_info(int flag )
{
  char *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  char const   *tmp___4 ;

  {
  tmp = getenv((char const   *)"GIT_COMMITTER_NAME");
  if (tmp) {
    committer_ident_explicitly_given |= 01;
  }
  tmp___0 = getenv((char const   *)"GIT_COMMITTER_EMAIL");
  if (tmp___0) {
    committer_ident_explicitly_given |= 02;
  }
  tmp___1 = getenv((char const   *)"GIT_COMMITTER_DATE");
  tmp___2 = getenv((char const   *)"GIT_COMMITTER_EMAIL");
  tmp___3 = getenv((char const   *)"GIT_COMMITTER_NAME");
  tmp___4 = fmt_ident((char const   *)tmp___3, (char const   *)tmp___2, (enum want_ident )2,
                      (char const   *)tmp___1, flag);
  return (tmp___4);
}
}
static int ident_is_sufficient(int user_ident_explicitly_given )
{


  {
  return (user_ident_explicitly_given & 02);
}
}
int committer_ident_sufficiently_given(void)
{
  int tmp ;

  {
  tmp = ident_is_sufficient(committer_ident_explicitly_given);
  return (tmp);
}
}
int author_ident_sufficiently_given(void)
{
  int tmp ;

  {
  tmp = ident_is_sufficient(author_ident_explicitly_given);
  return (tmp);
}
}
static int set_ident(char const   *var , char const   *value )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  tmp___0 = strcmp(var, (char const   *)"author.name");
  if (! tmp___0) {
    if (! value) {
      config_error_nonbool(var);
      tmp = const_error();
      return (tmp);
    }
    strbuf_setlen(& git_author_name, (size_t )0);
    strbuf_addstr(& git_author_name, value);
    author_ident_explicitly_given |= 01;
    ident_config_given |= 01;
    return (0);
  }
  tmp___2 = strcmp(var, (char const   *)"author.email");
  if (! tmp___2) {
    if (! value) {
      config_error_nonbool(var);
      tmp___1 = const_error();
      return (tmp___1);
    }
    strbuf_setlen(& git_author_email, (size_t )0);
    strbuf_addstr(& git_author_email, value);
    author_ident_explicitly_given |= 02;
    ident_config_given |= 02;
    return (0);
  }
  tmp___4 = strcmp(var, (char const   *)"committer.name");
  if (! tmp___4) {
    if (! value) {
      config_error_nonbool(var);
      tmp___3 = const_error();
      return (tmp___3);
    }
    strbuf_setlen(& git_committer_name, (size_t )0);
    strbuf_addstr(& git_committer_name, value);
    committer_ident_explicitly_given |= 01;
    ident_config_given |= 01;
    return (0);
  }
  tmp___6 = strcmp(var, (char const   *)"committer.email");
  if (! tmp___6) {
    if (! value) {
      config_error_nonbool(var);
      tmp___5 = const_error();
      return (tmp___5);
    }
    strbuf_setlen(& git_committer_email, (size_t )0);
    strbuf_addstr(& git_committer_email, value);
    committer_ident_explicitly_given |= 02;
    ident_config_given |= 02;
    return (0);
  }
  tmp___8 = strcmp(var, (char const   *)"user.name");
  if (! tmp___8) {
    if (! value) {
      config_error_nonbool(var);
      tmp___7 = const_error();
      return (tmp___7);
    }
    strbuf_setlen(& git_default_name, (size_t )0);
    strbuf_addstr(& git_default_name, value);
    committer_ident_explicitly_given |= 01;
    author_ident_explicitly_given |= 01;
    ident_config_given |= 01;
    return (0);
  }
  tmp___10 = strcmp(var, (char const   *)"user.email");
  if (! tmp___10) {
    if (! value) {
      config_error_nonbool(var);
      tmp___9 = const_error();
      return (tmp___9);
    }
    strbuf_setlen(& git_default_email, (size_t )0);
    strbuf_addstr(& git_default_email, value);
    committer_ident_explicitly_given |= 02;
    author_ident_explicitly_given |= 02;
    ident_config_given |= 02;
    return (0);
  }
  return (0);
}
}
int git_ident_config(char const   *var , char const   *value , void *data )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = strcmp(var, (char const   *)"user.useconfigonly");
  if (! tmp) {
    ident_use_config_only = git_config_bool(var, value);
    return (0);
  }
  tmp___0 = set_ident(var, value);
  return (tmp___0);
}
}
static void set_env_if(char const   *key___1 , char const   *value , int *given ,
                       int bit )
{
  char *tmp ;

  {
  if (*given & bit) {
    return;
  } else {
    tmp = getenv(key___1);
    if (tmp) {
      return;
    }
  }
  setenv(key___1, value, 0);
  *given |= bit;
  return;
}
}
void prepare_fallback_ident(char const   *name___0 , char const   *email )
{


  {
  set_env_if((char const   *)"GIT_AUTHOR_NAME", name___0, & author_ident_explicitly_given,
             01);
  set_env_if((char const   *)"GIT_AUTHOR_EMAIL", email, & author_ident_explicitly_given,
             02);
  set_env_if((char const   *)"GIT_COMMITTER_NAME", name___0, & committer_ident_explicitly_given,
             01);
  set_env_if((char const   *)"GIT_COMMITTER_EMAIL", email, & committer_ident_explicitly_given,
             02);
  return;
}
}
static int buf_cmp(char const   *a_begin , char const   *a_end , char const   *b_begin ,
                   char const   *b_end )
{
  int a_len ;
  int b_len ;
  int min ;
  int tmp ;
  int cmp___0 ;

  {
  a_len = (int )(a_end - a_begin);
  b_len = (int )(b_end - b_begin);
  if (a_len < b_len) {
    tmp = a_len;
  } else {
    tmp = b_len;
  }
  min = tmp;
  cmp___0 = memcmp((void const   *)a_begin, (void const   *)b_begin, (size_t )min);
  if (cmp___0) {
    return (cmp___0);
  }
  return (a_len - b_len);
}
}
int ident_cmp(struct ident_split  const  *a , struct ident_split  const  *b___0 )
{
  int cmp___0 ;
  int tmp ;

  {
  cmp___0 = buf_cmp((char const   *)a->mail_begin, (char const   *)a->mail_end, (char const   *)b___0->mail_begin,
                    (char const   *)b___0->mail_end);
  if (cmp___0) {
    return (cmp___0);
  }
  tmp = buf_cmp((char const   *)a->name_begin, (char const   *)a->name_end, (char const   *)b___0->name_begin,
                (char const   *)b___0->name_end);
  return (tmp);
}
}
void jw_init(struct json_writer *jw )
{
  struct json_writer blank___1 ;

  {
  blank___1.json.alloc = 0UL;
  blank___1.json.len = 0UL;
  blank___1.json.buf = strbuf_slopbuf;
  blank___1.open_stack.alloc = 0UL;
  blank___1.open_stack.len = 0UL;
  blank___1.open_stack.buf = strbuf_slopbuf;
  blank___1.need_comma = 0U;
  blank___1.pretty = 0U;
  memcpy((void *)jw, (void const   *)(& blank___1), sizeof(*jw));
  return;
}
}
void jw_release(struct json_writer *jw )
{


  {
  strbuf_release(& jw->json);
  strbuf_release(& jw->open_stack);
  return;
}
}
static void append_quoted_string(struct strbuf *out , char const   *in )
{
  unsigned char c___0 ;
  char const   *tmp ;

  {
  strbuf_addch(out, '\"');
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = in;
    in ++;
    c___0 = (unsigned char )*tmp;
    if (! ((int )c___0 != 0)) {
      goto while_break;
    }
    if ((int )c___0 == 34) {
      strbuf_addstr(out, (char const   *)"\\\"");
    } else
    if ((int )c___0 == 92) {
      strbuf_addstr(out, (char const   *)"\\\\");
    } else
    if ((int )c___0 == 10) {
      strbuf_addstr(out, (char const   *)"\\n");
    } else
    if ((int )c___0 == 13) {
      strbuf_addstr(out, (char const   *)"\\r");
    } else
    if ((int )c___0 == 9) {
      strbuf_addstr(out, (char const   *)"\\t");
    } else
    if ((int )c___0 == 12) {
      strbuf_addstr(out, (char const   *)"\\f");
    } else
    if ((int )c___0 == 8) {
      strbuf_addstr(out, (char const   *)"\\b");
    } else
    if ((int )c___0 < 0x20) {
      strbuf_addf(out, (char const   *)"\\u%04x", (int )c___0);
    } else {
      strbuf_addch(out, (int )c___0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addch(out, '\"');
  return;
}
}
static void indent_pretty(struct json_writer *jw )
{
  int k ;

  {
  k = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )k < jw->open_stack.len)) {
      goto while_break;
    }
    strbuf_addstr(& jw->json, (char const   *)"  ");
    k ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void begin(struct json_writer *jw , char ch_open , int pretty___0 )
{


  {
  jw->pretty = (unsigned int )pretty___0;
  strbuf_addch(& jw->json, (int )ch_open);
  strbuf_addch(& jw->open_stack, (int )ch_open);
  jw->need_comma = 0U;
  return;
}
}
static void assert_in_object(struct json_writer  const  *jw , char const   *key___1 )
{


  {
  if (! jw->open_stack.len) {
    BUG_fl((char const   *)"json-writer.c", 75, (char const   *)"json-writer: object: missing jw_object_begin(): \'%s\'",
           key___1);
  }
  if ((int )*(jw->open_stack.buf + (jw->open_stack.len - 1UL)) != 123) {
    BUG_fl((char const   *)"json-writer.c", 77, (char const   *)"json-writer: object: not in object: \'%s\'",
           key___1);
  }
  return;
}
}
static void assert_in_array(struct json_writer  const  *jw )
{


  {
  if (! jw->open_stack.len) {
    BUG_fl((char const   *)"json-writer.c", 86, (char const   *)"json-writer: array: missing jw_array_begin()");
  }
  if ((int )*(jw->open_stack.buf + (jw->open_stack.len - 1UL)) != 91) {
    BUG_fl((char const   *)"json-writer.c", 88, (char const   *)"json-writer: array: not in array");
  }
  return;
}
}
static void maybe_add_comma(struct json_writer *jw )
{


  {
  if (jw->need_comma) {
    strbuf_addch(& jw->json, ',');
  } else {
    jw->need_comma = 1U;
  }
  return;
}
}
static void fmt_double(struct json_writer *jw , int precision , double value )
{
  struct strbuf fmt ;

  {
  if (precision < 0) {
    strbuf_addf(& jw->json, (char const   *)"%f", value);
  } else {
    fmt.alloc = 0UL;
    fmt.len = 0UL;
    fmt.buf = strbuf_slopbuf;
    strbuf_addf(& fmt, (char const   *)"%%.%df", precision);
    strbuf_addf(& jw->json, (char const   *)fmt.buf, value);
    strbuf_release(& fmt);
  }
  return;
}
}
static void object_common(struct json_writer *jw , char const   *key___1 )
{


  {
  assert_in_object((struct json_writer  const  *)jw, key___1);
  maybe_add_comma(jw);
  if (jw->pretty) {
    strbuf_addch(& jw->json, '\n');
    indent_pretty(jw);
  }
  append_quoted_string(& jw->json, key___1);
  strbuf_addch(& jw->json, ':');
  if (jw->pretty) {
    strbuf_addch(& jw->json, ' ');
  }
  return;
}
}
static void array_common(struct json_writer *jw )
{


  {
  assert_in_array((struct json_writer  const  *)jw);
  maybe_add_comma(jw);
  if (jw->pretty) {
    strbuf_addch(& jw->json, '\n');
    indent_pretty(jw);
  }
  return;
}
}
static void assert_is_terminated(struct json_writer  const  *jw )
{


  {
  if (jw->open_stack.len) {
    BUG_fl((char const   *)"json-writer.c", 150, (char const   *)"json-writer: object: missing jw_end(): \'%s\'",
           jw->json.buf);
  }
  return;
}
}
void jw_object_begin(struct json_writer *jw , int pretty___0 )
{


  {
  begin(jw, (char )'{', pretty___0);
  return;
}
}
void jw_object_string(struct json_writer *jw , char const   *key___1 , char const   *value )
{


  {
  object_common(jw, key___1);
  append_quoted_string(& jw->json, value);
  return;
}
}
void jw_object_intmax(struct json_writer *jw , char const   *key___1 , intmax_t value )
{


  {
  object_common(jw, key___1);
  strbuf_addf(& jw->json, (char const   *)"%ld", value);
  return;
}
}
void jw_object_double(struct json_writer *jw , char const   *key___1 , int precision ,
                      double value )
{


  {
  object_common(jw, key___1);
  fmt_double(jw, precision, value);
  return;
}
}
void jw_object_true(struct json_writer *jw , char const   *key___1 )
{


  {
  object_common(jw, key___1);
  strbuf_addstr(& jw->json, (char const   *)"true");
  return;
}
}
void jw_object_false(struct json_writer *jw , char const   *key___1 )
{


  {
  object_common(jw, key___1);
  strbuf_addstr(& jw->json, (char const   *)"false");
  return;
}
}
void jw_object_bool(struct json_writer *jw , char const   *key___1 , int value )
{


  {
  if (value) {
    jw_object_true(jw, key___1);
  } else {
    jw_object_false(jw, key___1);
  }
  return;
}
}
void jw_object_null(struct json_writer *jw , char const   *key___1 )
{


  {
  object_common(jw, key___1);
  strbuf_addstr(& jw->json, (char const   *)"null");
  return;
}
}
static void increase_indent(struct strbuf *sb___6 , struct json_writer  const  *jw ,
                            int indent )
{
  int k ;
  char ch___0 ;

  {
  strbuf_setlen(sb___6, (size_t )0);
  k = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )k < jw->json.len)) {
      goto while_break;
    }
    ch___0 = *(jw->json.buf + k);
    strbuf_addch(sb___6, (int )ch___0);
    if ((int )ch___0 == 10) {
      strbuf_addchars(sb___6, ' ', (size_t )indent);
    }
    k ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void kill_indent(struct strbuf *sb___6 , struct json_writer  const  *jw )
{
  int k ;
  int eat_it ;
  char ch___0 ;

  {
  eat_it = 0;
  strbuf_setlen(sb___6, (size_t )0);
  k = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )k < jw->json.len)) {
      goto while_break;
    }
    ch___0 = *(jw->json.buf + k);
    if (eat_it) {
      if ((int )ch___0 == 32) {
        goto __Cont;
      }
    }
    if ((int )ch___0 == 10) {
      eat_it = 1;
      goto __Cont;
    }
    eat_it = 0;
    strbuf_addch(sb___6, (int )ch___0);
    __Cont: /* CIL Label */
    k ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void append_sub_jw(struct json_writer *jw , struct json_writer  const  *value )
{
  struct strbuf sb___6 ;
  struct strbuf sb___7 ;

  {
  if (jw->pretty) {
    if (jw->open_stack.len) {
      if (value->pretty) {
        sb___6.alloc = 0UL;
        sb___6.len = 0UL;
        sb___6.buf = strbuf_slopbuf;
        increase_indent(& sb___6, value, (int )(jw->open_stack.len * 2UL));
        strbuf_addbuf(& jw->json, (struct strbuf  const  *)(& sb___6));
        strbuf_release(& sb___6);
        return;
      }
    }
  }
  if (! jw->pretty) {
    if (value->pretty) {
      sb___7.alloc = 0UL;
      sb___7.len = 0UL;
      sb___7.buf = strbuf_slopbuf;
      kill_indent(& sb___7, value);
      strbuf_addbuf(& jw->json, (struct strbuf  const  *)(& sb___7));
      strbuf_release(& sb___7);
      return;
    }
  }
  strbuf_addbuf(& jw->json, (struct strbuf  const  *)(& value->json));
  return;
}
}
void jw_object_sub_jw(struct json_writer *jw , char const   *key___1 , struct json_writer  const  *value )
{


  {
  assert_is_terminated(value);
  object_common(jw, key___1);
  append_sub_jw(jw, value);
  return;
}
}
void jw_object_inline_begin_object(struct json_writer *jw , char const   *key___1 )
{


  {
  object_common(jw, key___1);
  jw_object_begin(jw, (int )jw->pretty);
  return;
}
}
void jw_object_inline_begin_array(struct json_writer *jw , char const   *key___1 )
{


  {
  object_common(jw, key___1);
  jw_array_begin(jw, (int )jw->pretty);
  return;
}
}
void jw_array_begin(struct json_writer *jw , int pretty___0 )
{


  {
  begin(jw, (char )'[', pretty___0);
  return;
}
}
void jw_array_string(struct json_writer *jw , char const   *value )
{


  {
  array_common(jw);
  append_quoted_string(& jw->json, value);
  return;
}
}
void jw_array_intmax(struct json_writer *jw , intmax_t value )
{


  {
  array_common(jw);
  strbuf_addf(& jw->json, (char const   *)"%ld", value);
  return;
}
}
void jw_array_double(struct json_writer *jw , int precision , double value )
{


  {
  array_common(jw);
  fmt_double(jw, precision, value);
  return;
}
}
void jw_array_true(struct json_writer *jw )
{


  {
  array_common(jw);
  strbuf_addstr(& jw->json, (char const   *)"true");
  return;
}
}
void jw_array_false(struct json_writer *jw )
{


  {
  array_common(jw);
  strbuf_addstr(& jw->json, (char const   *)"false");
  return;
}
}
void jw_array_bool(struct json_writer *jw , int value )
{


  {
  if (value) {
    jw_array_true(jw);
  } else {
    jw_array_false(jw);
  }
  return;
}
}
void jw_array_null(struct json_writer *jw )
{


  {
  array_common(jw);
  strbuf_addstr(& jw->json, (char const   *)"null");
  return;
}
}
void jw_array_sub_jw(struct json_writer *jw , struct json_writer  const  *value )
{


  {
  assert_is_terminated(value);
  array_common(jw);
  append_sub_jw(jw, value);
  return;
}
}
void jw_array_argc_argv(struct json_writer *jw , int argc , char const   **argv___0 )
{
  int k ;

  {
  k = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (k < argc)) {
      goto while_break;
    }
    jw_array_string(jw, *(argv___0 + k));
    k ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void jw_array_argv(struct json_writer *jw , char const   **argv___0 )
{
  char const   **tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *argv___0) {
      goto while_break;
    }
    tmp = argv___0;
    argv___0 ++;
    jw_array_string(jw, *tmp);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void jw_array_inline_begin_object(struct json_writer *jw )
{


  {
  array_common(jw);
  jw_object_begin(jw, (int )jw->pretty);
  return;
}
}
void jw_array_inline_begin_array(struct json_writer *jw )
{


  {
  array_common(jw);
  jw_array_begin(jw, (int )jw->pretty);
  return;
}
}
int jw_is_terminated(struct json_writer  const  *jw )
{


  {
  return (! jw->open_stack.len);
}
}
void jw_end(struct json_writer *jw )
{
  char ch_open ;
  int len___0 ;

  {
  if (! jw->open_stack.len) {
    BUG_fl((char const   *)"json-writer.c", 395, (char const   *)"json-writer: too many jw_end(): \'%s\'",
           jw->json.buf);
  }
  len___0 = (int )(jw->open_stack.len - 1UL);
  ch_open = *(jw->open_stack.buf + len___0);
  strbuf_setlen(& jw->open_stack, (size_t )len___0);
  jw->need_comma = 1U;
  if (jw->pretty) {
    strbuf_addch(& jw->json, '\n');
    indent_pretty(jw);
  }
  if ((int )ch_open == 123) {
    strbuf_addch(& jw->json, '}');
  } else {
    strbuf_addch(& jw->json, ']');
  }
  return;
}
}
static void *obstack_chunk_alloc(long size )
{
  void *tmp ;

  {
  if (size < 0L) {
    BUG_fl((char const   *)"kwset.c", 45, (char const   *)"Cannot allocate a negative amount: %ld",
           size);
  }
  tmp = xmalloc((size_t )size);
  return (tmp);
}
}
kwset_t kwsalloc(unsigned char const   *trans )
{
  struct kwset *kwset ;
  void *tmp ;
  struct obstack *__h ;
  struct obstack *__o ;
  int __len ;
  struct obstack *__o1 ;
  void *__value ;

  {
  tmp = xmalloc(sizeof(struct kwset ));
  kwset = (struct kwset *)tmp;
  _obstack_begin(& kwset->obstack, 0, 0, & obstack_chunk_alloc, (void (*)(void * ))(& free));
  kwset->words = 0;
  __h = & kwset->obstack;
  __o = __h;
  __len = (int )sizeof(struct trie );
  if (__o->chunk_limit - __o->next_free < (long )__len) {
    _obstack_newchunk(__o, __len);
  }
  __o->next_free += __len;
  __o1 = __h;
  __value = (void *)__o1->object_base;
  if ((unsigned long )__o1->next_free == (unsigned long )__value) {
    __o1->maybe_empty_object = 1U;
  }
  if (sizeof(long ) < sizeof(void *)) {
    __o1->next_free = __o1->object_base + (((__o1->next_free - __o1->object_base) + (long )__o1->alignment_mask) & (long )(~ __o1->alignment_mask));
  } else {
    __o1->next_free = (char *)((void *)((long )((void *)0) + ((((long )__o1->next_free - (long )((void *)0)) + (long )__o1->alignment_mask) & (long )(~ __o1->alignment_mask))));
  }
  if (__o1->next_free - (char *)__o1->chunk > __o1->chunk_limit - (char *)__o1->chunk) {
    __o1->next_free = __o1->chunk_limit;
  }
  __o1->object_base = __o1->next_free;
  kwset->trie = (struct trie *)__value;
  if (! kwset->trie) {
    kwsfree((kwset_t )kwset);
    return ((kwset_t )((void *)0));
  }
  (kwset->trie)->accepting = 0U;
  (kwset->trie)->links = (struct tree___0 *)((void *)0);
  (kwset->trie)->parent = (struct trie *)((void *)0);
  (kwset->trie)->next = (struct trie *)((void *)0);
  (kwset->trie)->fail = (struct trie *)((void *)0);
  (kwset->trie)->depth = 0;
  (kwset->trie)->shift = 0;
  kwset->mind = 0x7fffffff;
  kwset->maxd = -1;
  kwset->target = (char *)((void *)0);
  kwset->trans = trans;
  return ((kwset_t )kwset);
}
}
char const   *kwsincr(kwset_t kws , char const   *text , size_t len___0 )
{
  struct kwset *kwset ;
  register struct trie *trie ;
  register unsigned char label ;
  register struct tree___0 *link___1 ;
  register int depth___1 ;
  struct tree___0 *links[12] ;
  enum __anonenum_dirs_744895363 dirs[12] ;
  struct tree___0 *t ;
  struct tree___0 *r ;
  struct tree___0 *l ;
  struct tree___0 *rl ;
  struct tree___0 *lr ;
  int tmp ;
  int tmp___0 ;
  struct obstack *__h ;
  struct obstack *__o ;
  int __len ;
  struct obstack *__o1 ;
  void *__value ;
  struct obstack *__h___0 ;
  struct obstack *__o___0 ;
  int __len___0 ;
  struct obstack *__o1___0 ;
  void *__value___0 ;
  struct obstack *__o___1 ;
  void *__obj ;
  char *tmp___1 ;
  char tmp___2 ;
  char tmp___3 ;
  size_t tmp___4 ;

  {
  kwset = (struct kwset *)kws;
  trie = kwset->trie;
  text += len___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___4 = len___0;
    len___0 --;
    if (! tmp___4) {
      goto while_break;
    }
    if (kwset->trans) {
      text --;
      label = (unsigned char )*(kwset->trans + (unsigned char )*text);
    } else {
      text --;
      label = (unsigned char )*text;
    }
    link___1 = trie->links;
    links[0] = (struct tree___0 *)(& trie->links);
    dirs[0] = (enum __anonenum_dirs_744895363 )0;
    depth___1 = 1;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (link___1) {
        if (! ((int )label != (int )link___1->label)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      links[depth___1] = link___1;
      if ((int )label < (int )link___1->label) {
        tmp = depth___1;
        depth___1 ++;
        dirs[tmp] = (enum __anonenum_dirs_744895363 )0;
        link___1 = link___1->llink;
      } else {
        tmp___0 = depth___1;
        depth___1 ++;
        dirs[tmp___0] = (enum __anonenum_dirs_744895363 )1;
        link___1 = link___1->rlink;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! link___1) {
      __h = & kwset->obstack;
      __o = __h;
      __len = (int )sizeof(struct tree___0 );
      if (__o->chunk_limit - __o->next_free < (long )__len) {
        _obstack_newchunk(__o, __len);
      }
      __o->next_free += __len;
      __o1 = __h;
      __value = (void *)__o1->object_base;
      if ((unsigned long )__o1->next_free == (unsigned long )__value) {
        __o1->maybe_empty_object = 1U;
      }
      if (sizeof(long ) < sizeof(void *)) {
        __o1->next_free = __o1->object_base + (((__o1->next_free - __o1->object_base) + (long )__o1->alignment_mask) & (long )(~ __o1->alignment_mask));
      } else {
        __o1->next_free = (char *)((void *)((long )((void *)0) + ((((long )__o1->next_free - (long )((void *)0)) + (long )__o1->alignment_mask) & (long )(~ __o1->alignment_mask))));
      }
      if (__o1->next_free - (char *)__o1->chunk > __o1->chunk_limit - (char *)__o1->chunk) {
        __o1->next_free = __o1->chunk_limit;
      }
      __o1->object_base = __o1->next_free;
      link___1 = (struct tree___0 *)__value;
      if (! link___1) {
        return ((char const   *)"memory exhausted");
      }
      link___1->llink = (struct tree___0 *)((void *)0);
      link___1->rlink = (struct tree___0 *)((void *)0);
      __h___0 = & kwset->obstack;
      __o___0 = __h___0;
      __len___0 = (int )sizeof(struct trie );
      if (__o___0->chunk_limit - __o___0->next_free < (long )__len___0) {
        _obstack_newchunk(__o___0, __len___0);
      }
      __o___0->next_free += __len___0;
      __o1___0 = __h___0;
      __value___0 = (void *)__o1___0->object_base;
      if ((unsigned long )__o1___0->next_free == (unsigned long )__value___0) {
        __o1___0->maybe_empty_object = 1U;
      }
      if (sizeof(long ) < sizeof(void *)) {
        __o1___0->next_free = __o1___0->object_base + (((__o1___0->next_free - __o1___0->object_base) + (long )__o1___0->alignment_mask) & (long )(~ __o1___0->alignment_mask));
      } else {
        __o1___0->next_free = (char *)((void *)((long )((void *)0) + ((((long )__o1___0->next_free - (long )((void *)0)) + (long )__o1___0->alignment_mask) & (long )(~ __o1___0->alignment_mask))));
      }
      if (__o1___0->next_free - (char *)__o1___0->chunk > __o1___0->chunk_limit - (char *)__o1___0->chunk) {
        __o1___0->next_free = __o1___0->chunk_limit;
      }
      __o1___0->object_base = __o1___0->next_free;
      link___1->trie = (struct trie *)__value___0;
      if (! link___1->trie) {
        __o___1 = & kwset->obstack;
        __obj = (void *)link___1;
        if ((unsigned long )__obj > (unsigned long )((void *)__o___1->chunk)) {
          if ((unsigned long )__obj < (unsigned long )((void *)__o___1->chunk_limit)) {
            tmp___1 = (char *)__obj;
            __o___1->object_base = tmp___1;
            __o___1->next_free = tmp___1;
          } else {
            obstack_free(__o___1, __obj);
          }
        } else {
          obstack_free(__o___1, __obj);
        }
        return ((char const   *)"memory exhausted");
      }
      (link___1->trie)->accepting = 0U;
      (link___1->trie)->links = (struct tree___0 *)((void *)0);
      (link___1->trie)->parent = trie;
      (link___1->trie)->next = (struct trie *)((void *)0);
      (link___1->trie)->fail = (struct trie *)((void *)0);
      (link___1->trie)->depth = trie->depth + 1;
      (link___1->trie)->shift = 0;
      link___1->label = label;
      link___1->balance = (char)0;
      depth___1 --;
      if ((unsigned int )dirs[depth___1] == 0U) {
        (links[depth___1])->llink = link___1;
      } else {
        (links[depth___1])->rlink = link___1;
      }
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (depth___1) {
          if (! (! (links[depth___1])->balance)) {
            goto while_break___1;
          }
        } else {
          goto while_break___1;
        }
        if ((unsigned int )dirs[depth___1] == 0U) {
          (links[depth___1])->balance = (char )((int )(links[depth___1])->balance - 1);
        } else {
          (links[depth___1])->balance = (char )((int )(links[depth___1])->balance + 1);
        }
        depth___1 --;
      }
      while_break___1: /* CIL Label */ ;
      }
      if (depth___1) {
        if ((unsigned int )dirs[depth___1] == 0U) {
          (links[depth___1])->balance = (char )((int )(links[depth___1])->balance - 1);
          if ((links[depth___1])->balance) {
            goto _L;
          } else {
            goto _L___0;
          }
        } else
        _L___0: /* CIL Label */
        if ((unsigned int )dirs[depth___1] == 1U) {
          (links[depth___1])->balance = (char )((int )(links[depth___1])->balance + 1);
          if ((links[depth___1])->balance) {
            _L: /* CIL Label */
            {
            if ((int )(links[depth___1])->balance == -2) {
              goto case_neg_2;
            }
            if ((int )(links[depth___1])->balance == 2) {
              goto case_2;
            }
            goto switch_default___1;
            case_neg_2: /* CIL Label */
            {
            if ((unsigned int )dirs[depth___1 + 1] == 0U) {
              goto case_0;
            }
            if ((unsigned int )dirs[depth___1 + 1] == 1U) {
              goto case_1;
            }
            goto switch_default;
            case_0: /* CIL Label */
            r = links[depth___1];
            t = r->llink;
            rl = t->rlink;
            t->rlink = r;
            r->llink = rl;
            tmp___2 = (char)0;
            r->balance = tmp___2;
            t->balance = tmp___2;
            goto switch_break___0;
            case_1: /* CIL Label */
            r = links[depth___1];
            l = r->llink;
            t = l->rlink;
            rl = t->rlink;
            lr = t->llink;
            t->llink = l;
            l->rlink = lr;
            t->rlink = r;
            r->llink = rl;
            if ((int )t->balance != 1) {
              l->balance = (char)0;
            } else {
              l->balance = (char)-1;
            }
            if ((int )t->balance != -1) {
              r->balance = (char)0;
            } else {
              r->balance = (char)1;
            }
            t->balance = (char)0;
            goto switch_break___0;
            switch_default: /* CIL Label */
            abort();
            switch_break___0: /* CIL Label */ ;
            }
            goto switch_break;
            case_2: /* CIL Label */
            {
            if ((unsigned int )dirs[depth___1 + 1] == 1U) {
              goto case_1___0;
            }
            if ((unsigned int )dirs[depth___1 + 1] == 0U) {
              goto case_0___0;
            }
            goto switch_default___0;
            case_1___0: /* CIL Label */
            l = links[depth___1];
            t = l->rlink;
            lr = t->llink;
            t->llink = l;
            l->rlink = lr;
            tmp___3 = (char)0;
            l->balance = tmp___3;
            t->balance = tmp___3;
            goto switch_break___1;
            case_0___0: /* CIL Label */
            l = links[depth___1];
            r = l->rlink;
            t = r->llink;
            lr = t->llink;
            rl = t->rlink;
            t->llink = l;
            l->rlink = lr;
            t->rlink = r;
            r->llink = rl;
            if ((int )t->balance != 1) {
              l->balance = (char)0;
            } else {
              l->balance = (char)-1;
            }
            if ((int )t->balance != -1) {
              r->balance = (char)0;
            } else {
              r->balance = (char)1;
            }
            t->balance = (char)0;
            goto switch_break___1;
            switch_default___0: /* CIL Label */
            abort();
            switch_break___1: /* CIL Label */ ;
            }
            goto switch_break;
            switch_default___1: /* CIL Label */
            abort();
            switch_break: /* CIL Label */ ;
            }
            if ((unsigned int )dirs[depth___1 - 1] == 0U) {
              (links[depth___1 - 1])->llink = t;
            } else {
              (links[depth___1 - 1])->rlink = t;
            }
          }
        }
      }
    }
    trie = link___1->trie;
  }
  while_break: /* CIL Label */ ;
  }
  if (! trie->accepting) {
    trie->accepting = (unsigned int )(1 + 2 * kwset->words);
  }
  (kwset->words) ++;
  if (trie->depth < kwset->mind) {
    kwset->mind = trie->depth;
  }
  if (trie->depth > kwset->maxd) {
    kwset->maxd = trie->depth;
  }
  return ((char const   *)((void *)0));
}
}
static void enqueue(struct tree___0 *tree , struct trie **last )
{
  struct trie *tmp ;

  {
  if (! tree) {
    return;
  }
  enqueue(tree->llink, last);
  enqueue(tree->rlink, last);
  tmp = tree->trie;
  (*last)->next = tmp;
  *last = tmp;
  return;
}
}
static void treefails(struct tree___0  const  *tree , struct trie  const  *fail ,
                      struct trie *recourse )
{
  register struct tree___0 *link___1 ;

  {
  if (! tree) {
    return;
  }
  treefails((struct tree___0  const  *)tree->llink, fail, recourse);
  treefails((struct tree___0  const  *)tree->rlink, fail, recourse);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! fail) {
      goto while_break;
    }
    link___1 = (struct tree___0 *)fail->links;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (link___1) {
        if (! ((int )tree->label != (int )link___1->label)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      if ((int )tree->label < (int )link___1->label) {
        link___1 = link___1->llink;
      } else {
        link___1 = link___1->rlink;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    if (link___1) {
      (tree->trie)->fail = link___1->trie;
      return;
    }
    fail = (struct trie  const  *)fail->fail;
  }
  while_break: /* CIL Label */ ;
  }
  (tree->trie)->fail = recourse;
  return;
}
}
static void treedelta(struct tree___0  const  *tree , unsigned int depth___1 , unsigned char *delta )
{


  {
  if (! tree) {
    return;
  }
  treedelta((struct tree___0  const  *)tree->llink, depth___1, delta);
  treedelta((struct tree___0  const  *)tree->rlink, depth___1, delta);
  if (depth___1 < (unsigned int )*(delta + tree->label)) {
    *(delta + tree->label) = (unsigned char )depth___1;
  }
  return;
}
}
static int hasevery(struct tree___0  const  *a , struct tree___0  const  *b___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  if (! b___0) {
    return (1);
  }
  tmp = hasevery(a, (struct tree___0  const  *)b___0->llink);
  if (! tmp) {
    return (0);
  }
  tmp___0 = hasevery(a, (struct tree___0  const  *)b___0->rlink);
  if (! tmp___0) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (a) {
      if (! ((int )b___0->label != (int )a->label)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if ((int )b___0->label < (int )a->label) {
      a = (struct tree___0  const  *)a->llink;
    } else {
      a = (struct tree___0  const  *)a->rlink;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (! (! a));
}
}
static void treenext(struct tree___0  const  *tree , struct trie **next___2 )
{


  {
  if (! tree) {
    return;
  }
  treenext((struct tree___0  const  *)tree->llink, next___2);
  treenext((struct tree___0  const  *)tree->rlink, next___2);
  *(next___2 + tree->label) = (struct trie *)tree->trie;
  return;
}
}
char const   *kwsprep(kwset_t kws )
{
  register struct kwset *kwset ;
  register int i ;
  register struct trie *curr ;
  register unsigned char const   *trans ;
  unsigned char delta[256] ;
  int tmp ;
  char c___0 ;
  struct obstack *__h ;
  struct obstack *__o ;
  int __len ;
  struct obstack *__o1 ;
  void *__value ;
  register struct trie *fail ;
  struct trie *last ;
  struct trie *next___2[256] ;
  int tmp___0 ;

  {
  kwset = (struct kwset *)kws;
  if (kwset->mind < 255) {
    tmp = kwset->mind;
  } else {
    tmp = 255;
  }
  memset((void *)(delta), tmp, (size_t )256);
  if (kwset->words == 1) {
    if ((unsigned long )kwset->trans == (unsigned long )((void *)0)) {
      __h = & kwset->obstack;
      __o = __h;
      __len = kwset->mind;
      if (__o->chunk_limit - __o->next_free < (long )__len) {
        _obstack_newchunk(__o, __len);
      }
      __o->next_free += __len;
      __o1 = __h;
      __value = (void *)__o1->object_base;
      if ((unsigned long )__o1->next_free == (unsigned long )__value) {
        __o1->maybe_empty_object = 1U;
      }
      if (sizeof(long ) < sizeof(void *)) {
        __o1->next_free = __o1->object_base + (((__o1->next_free - __o1->object_base) + (long )__o1->alignment_mask) & (long )(~ __o1->alignment_mask));
      } else {
        __o1->next_free = (char *)((void *)((long )((void *)0) + ((((long )__o1->next_free - (long )((void *)0)) + (long )__o1->alignment_mask) & (long )(~ __o1->alignment_mask))));
      }
      if (__o1->next_free - (char *)__o1->chunk > __o1->chunk_limit - (char *)__o1->chunk) {
        __o1->next_free = __o1->chunk_limit;
      }
      __o1->object_base = __o1->next_free;
      kwset->target = (char *)__value;
      if (! kwset->target) {
        return ((char const   *)"memory exhausted");
      }
      i = kwset->mind - 1;
      curr = kwset->trie;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! (i >= 0)) {
          goto while_break;
        }
        *(kwset->target + i) = (char )(curr->links)->label;
        curr = (curr->links)->trie;
        i --;
      }
      while_break: /* CIL Label */ ;
      }
      i = 0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (i < kwset->mind)) {
          goto while_break___0;
        }
        delta[(unsigned char )*(kwset->target + i)] = (unsigned char )(kwset->mind - (i + 1));
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      c___0 = *(kwset->target + (kwset->mind - 1));
      i = kwset->mind - 2;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! (i >= 0)) {
          goto while_break___1;
        }
        if ((int )*(kwset->target + i) == (int )c___0) {
          goto while_break___1;
        }
        i --;
      }
      while_break___1: /* CIL Label */ ;
      }
      kwset->mind2 = kwset->mind - (i + 1);
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    last = kwset->trie;
    curr = last;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! curr) {
        goto while_break___2;
      }
      enqueue(curr->links, & last);
      curr->shift = kwset->mind;
      curr->maxshift = kwset->mind;
      treedelta((struct tree___0  const  *)curr->links, (unsigned int )curr->depth,
                delta);
      treefails((struct tree___0  const  *)curr->links, (struct trie  const  *)curr->fail,
                kwset->trie);
      fail = curr->fail;
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if (! fail) {
          goto while_break___3;
        }
        tmp___0 = hasevery((struct tree___0  const  *)fail->links, (struct tree___0  const  *)curr->links);
        if (! tmp___0) {
          if (curr->depth - fail->depth < fail->shift) {
            fail->shift = curr->depth - fail->depth;
          }
        }
        if (curr->accepting) {
          if (fail->maxshift > curr->depth - fail->depth) {
            fail->maxshift = curr->depth - fail->depth;
          }
        }
        fail = fail->fail;
      }
      while_break___3: /* CIL Label */ ;
      }
      curr = curr->next;
    }
    while_break___2: /* CIL Label */ ;
    }
    curr = (kwset->trie)->next;
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (! curr) {
        goto while_break___4;
      }
      if (curr->maxshift > (curr->parent)->maxshift) {
        curr->maxshift = (curr->parent)->maxshift;
      }
      if (curr->shift > curr->maxshift) {
        curr->shift = curr->maxshift;
      }
      curr = curr->next;
    }
    while_break___4: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      if (! (i < 256)) {
        goto while_break___5;
      }
      next___2[i] = (struct trie *)((void *)0);
      i ++;
    }
    while_break___5: /* CIL Label */ ;
    }
    treenext((struct tree___0  const  *)(kwset->trie)->links, next___2);
    trans = kwset->trans;
    if ((unsigned long )trans != (unsigned long )((void *)0)) {
      i = 0;
      {
      while (1) {
        while_continue___6: /* CIL Label */ ;
        if (! (i < 256)) {
          goto while_break___6;
        }
        kwset->next[i] = next___2[(unsigned char )*(trans + i)];
        i ++;
      }
      while_break___6: /* CIL Label */ ;
      }
    } else {
      copy_array((void *)(kwset->next), (void const   *)(next___2), (size_t )256,
                 sizeof(kwset->next[0]) + (sizeof(char [1]) - 1UL));
    }
  }
  trans = kwset->trans;
  if ((unsigned long )trans != (unsigned long )((void *)0)) {
    i = 0;
    {
    while (1) {
      while_continue___7: /* CIL Label */ ;
      if (! (i < 256)) {
        goto while_break___7;
      }
      kwset->delta[i] = delta[(unsigned char )*(trans + i)];
      i ++;
    }
    while_break___7: /* CIL Label */ ;
    }
  } else {
    memcpy((void *)(kwset->delta), (void const   *)(delta), (size_t )256);
  }
  return ((char const   *)((void *)0));
}
}
static size_t bmexec(kwset_t kws , char const   *text , size_t size )
{
  struct kwset  const  *kwset ;
  register unsigned char const   *d1 ;
  register char const   *ep ;
  register char const   *sp ;
  register char const   *tp ;
  register int d ;
  register int gc ;
  register int i ;
  register int len___0 ;
  register int md2 ;
  void *tmp ;
  long tmp___0 ;

  {
  kwset = (struct kwset  const  *)kws;
  len___0 = (int )kwset->mind;
  if (len___0 == 0) {
    return ((size_t )0);
  }
  if ((size_t )len___0 > size) {
    return ((size_t )-1);
  }
  if (len___0 == 1) {
    tmp = memchr((void const   *)text, (int )*(kwset->target + 0), size);
    tp = (char const   *)tmp;
    if (tp) {
      tmp___0 = tp - text;
    } else {
      tmp___0 = -1L;
    }
    return ((size_t )tmp___0);
  }
  d1 = (unsigned char const   *)(kwset->delta);
  sp = (char const   *)(kwset->target + len___0);
  gc = (int )((unsigned char )*(sp + -2));
  md2 = (int )kwset->mind2;
  tp = text + len___0;
  if (size > (size_t )(12 * len___0)) {
    ep = (text + size) - 11 * len___0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! ((unsigned long )tp <= (unsigned long )ep)) {
          goto while_break___0;
        }
        d = (int )*(d1 + (unsigned char )*(tp + -1));
        tp += d;
        d = (int )*(d1 + (unsigned char )*(tp + -1));
        tp += d;
        if (d == 0) {
          goto found;
        }
        d = (int )*(d1 + (unsigned char )*(tp + -1));
        tp += d;
        d = (int )*(d1 + (unsigned char )*(tp + -1));
        tp += d;
        d = (int )*(d1 + (unsigned char )*(tp + -1));
        tp += d;
        if (d == 0) {
          goto found;
        }
        d = (int )*(d1 + (unsigned char )*(tp + -1));
        tp += d;
        d = (int )*(d1 + (unsigned char )*(tp + -1));
        tp += d;
        d = (int )*(d1 + (unsigned char )*(tp + -1));
        tp += d;
        if (d == 0) {
          goto found;
        }
        d = (int )*(d1 + (unsigned char )*(tp + -1));
        tp += d;
        d = (int )*(d1 + (unsigned char )*(tp + -1));
        tp += d;
      }
      while_break___0: /* CIL Label */ ;
      }
      goto while_break;
      found:
      if ((int )((unsigned char )*(tp + -2)) == gc) {
        i = 3;
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          if (i <= len___0) {
            if (! ((int )((unsigned char )*(tp + - i)) == (int )((unsigned char )*(sp + - i)))) {
              goto while_break___1;
            }
          } else {
            goto while_break___1;
          }
          i ++;
        }
        while_break___1: /* CIL Label */ ;
        }
        if (i > len___0) {
          return ((size_t )((tp - len___0) - text));
        }
      }
      tp += md2;
    }
    while_break: /* CIL Label */ ;
    }
  }
  ep = text + size;
  d = (int )*(d1 + (unsigned char )*(tp + -1));
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((long )d <= ep - tp)) {
      goto while_break___2;
    }
    tp += d;
    d = (int )*(d1 + (unsigned char )*(tp + -1));
    if (d != 0) {
      goto while_continue___2;
    }
    if ((int )((unsigned char )*(tp + -2)) == gc) {
      i = 3;
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if (i <= len___0) {
          if (! ((int )((unsigned char )*(tp + - i)) == (int )((unsigned char )*(sp + - i)))) {
            goto while_break___3;
          }
        } else {
          goto while_break___3;
        }
        i ++;
      }
      while_break___3: /* CIL Label */ ;
      }
      if (i > len___0) {
        return ((size_t )((tp - len___0) - text));
      }
    }
    d = md2;
  }
  while_break___2: /* CIL Label */ ;
  }
  return ((size_t )-1);
}
}
static size_t cwexec(kwset_t kws , char const   *text , size_t len___0 , struct kwsmatch *kwsmatch )
{
  struct kwset  const  *kwset ;
  struct trie **next___2 ;
  struct trie  const  *trie ;
  struct trie  const  *accept___0 ;
  char const   *beg ;
  char const   *lim ;
  char const   *mch ;
  char const   *lmch ;
  register unsigned char c___0 ;
  register unsigned char const   *delta ;
  register int d ;
  register char const   *end ;
  register char const   *qlim ;
  register struct tree___0  const  *tree ;
  register unsigned char const   *trans ;

  {
  accept___0 = (struct trie  const  *)((void *)0);
  kwset = (struct kwset  const  *)((struct kwset *)kws);
  if (len___0 < (size_t )kwset->mind) {
    return ((size_t )-1);
  }
  next___2 = (struct trie **)(kwset->next);
  delta = (unsigned char const   *)(kwset->delta);
  trans = (unsigned char const   *)kwset->trans;
  lim = text + len___0;
  end = text;
  d = (int )kwset->mind;
  if (d != 0) {
    mch = (char const   *)((void *)0);
  } else {
    mch = text;
    accept___0 = (struct trie  const  *)kwset->trie;
    goto match;
  }
  if (len___0 >= (size_t )(4 * (int )kwset->mind)) {
    qlim = lim - 4 * (int )kwset->mind;
  } else {
    qlim = (char const   *)((void *)0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (lim - end >= (long )d)) {
      goto while_break;
    }
    if (qlim) {
      if ((unsigned long )end <= (unsigned long )qlim) {
        end += d - 1;
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          c___0 = (unsigned char )*end;
          d = (int )*(delta + c___0);
          if (d) {
            if (! ((unsigned long )end < (unsigned long )qlim)) {
              goto while_break___0;
            }
          } else {
            goto while_break___0;
          }
          end += d;
          end += (int const   )*(delta + (unsigned char )*end);
          end += (int const   )*(delta + (unsigned char )*end);
        }
        while_break___0: /* CIL Label */ ;
        }
        end ++;
      } else {
        end += d;
        c___0 = (unsigned char )*(end + -1);
        d = (int )*(delta + c___0);
      }
    } else {
      end += d;
      c___0 = (unsigned char )*(end + -1);
      d = (int )*(delta + c___0);
    }
    if (d) {
      goto while_continue;
    }
    beg = end - 1;
    trie = (struct trie  const  *)*(next___2 + c___0);
    if (trie->accepting) {
      mch = beg;
      accept___0 = trie;
    }
    d = (int )trie->shift;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((unsigned long )beg > (unsigned long )text)) {
        goto while_break___1;
      }
      if (trans) {
        beg --;
        c___0 = (unsigned char )*(trans + (unsigned char )*beg);
      } else {
        beg --;
        c___0 = (unsigned char )*beg;
      }
      tree = (struct tree___0  const  *)trie->links;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (tree) {
          if (! ((int )c___0 != (int )tree->label)) {
            goto while_break___2;
          }
        } else {
          goto while_break___2;
        }
        if ((int )c___0 < (int )tree->label) {
          tree = (struct tree___0  const  *)tree->llink;
        } else {
          tree = (struct tree___0  const  *)tree->rlink;
        }
      }
      while_break___2: /* CIL Label */ ;
      }
      if (tree) {
        trie = (struct trie  const  *)tree->trie;
        if (trie->accepting) {
          mch = beg;
          accept___0 = trie;
        }
      } else {
        goto while_break___1;
      }
      d = (int )trie->shift;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (mch) {
      goto match;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return ((size_t )-1);
  match:
  if (lim - mch > (long )kwset->maxd) {
    lim = mch + kwset->maxd;
  }
  lmch = (char const   *)((void *)0);
  d = 1;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! (lim - end >= (long )d)) {
      goto while_break___3;
    }
    end += d;
    c___0 = (unsigned char )*(end + -1);
    d = (int )*(delta + c___0);
    if (d != 0) {
      goto while_continue___3;
    }
    beg = end - 1;
    trie = (struct trie  const  *)*(next___2 + c___0);
    if (! trie) {
      d = 1;
      goto while_continue___3;
    }
    if (trie->accepting) {
      if ((unsigned long )beg <= (unsigned long )mch) {
        lmch = beg;
        accept___0 = trie;
      }
    }
    d = (int )trie->shift;
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (! ((unsigned long )beg > (unsigned long )text)) {
        goto while_break___4;
      }
      if (trans) {
        beg --;
        c___0 = (unsigned char )*(trans + (unsigned char )*beg);
      } else {
        beg --;
        c___0 = (unsigned char )*beg;
      }
      tree = (struct tree___0  const  *)trie->links;
      {
      while (1) {
        while_continue___5: /* CIL Label */ ;
        if (tree) {
          if (! ((int )c___0 != (int )tree->label)) {
            goto while_break___5;
          }
        } else {
          goto while_break___5;
        }
        if ((int )c___0 < (int )tree->label) {
          tree = (struct tree___0  const  *)tree->llink;
        } else {
          tree = (struct tree___0  const  *)tree->rlink;
        }
      }
      while_break___5: /* CIL Label */ ;
      }
      if (tree) {
        trie = (struct trie  const  *)tree->trie;
        if (trie->accepting) {
          if ((unsigned long )beg <= (unsigned long )mch) {
            lmch = beg;
            accept___0 = trie;
          }
        }
      } else {
        goto while_break___4;
      }
      d = (int )trie->shift;
    }
    while_break___4: /* CIL Label */ ;
    }
    if (lmch) {
      mch = lmch;
      goto match;
    }
    if (! d) {
      d = 1;
    }
  }
  while_break___3: /* CIL Label */ ;
  }
  if (kwsmatch) {
    kwsmatch->index = (int )(accept___0->accepting / 2U);
    kwsmatch->offset[0] = (size_t )(mch - text);
    kwsmatch->size[0] = (size_t )accept___0->depth;
  }
  return ((size_t )(mch - text));
}
}
size_t kwsexec(kwset_t kws , char const   *text , size_t size , struct kwsmatch *kwsmatch )
{
  struct kwset  const  *kwset ;
  size_t ret___67 ;
  size_t tmp ;
  size_t tmp___0 ;

  {
  kwset = (struct kwset  const  *)((struct kwset *)kws);
  if (kwset->words == 1) {
    if ((unsigned long )kwset->trans == (unsigned long )((void *)0)) {
      tmp = bmexec(kws, text, size);
      ret___67 = tmp;
      if ((unsigned long )kwsmatch != (unsigned long )((void *)0)) {
        if (ret___67 != 18446744073709551615UL) {
          kwsmatch->index = 0;
          kwsmatch->offset[0] = ret___67;
          kwsmatch->size[0] = (size_t )kwset->mind;
        }
      }
      return (ret___67);
    } else {
      tmp___0 = cwexec(kws, text, size, kwsmatch);
      return (tmp___0);
    }
  } else {
    tmp___0 = cwexec(kws, text, size, kwsmatch);
    return (tmp___0);
  }
}
}
void kwsfree(kwset_t kws )
{
  struct kwset *kwset ;
  struct obstack *__o ;
  void *__obj ;
  char *tmp ;

  {
  kwset = (struct kwset *)kws;
  __o = & kwset->obstack;
  __obj = (void *)0;
  if ((unsigned long )__obj > (unsigned long )((void *)__o->chunk)) {
    if ((unsigned long )__obj < (unsigned long )((void *)__o->chunk_limit)) {
      tmp = (char *)__obj;
      __o->object_base = tmp;
      __o->next_free = tmp;
    } else {
      obstack_free(__o, __obj);
    }
  } else {
    obstack_free(__o, __obj);
  }
  free((void *)kws);
  return;
}
}
int levenshtein(char const   *string1 , char const   *string2 , int w , int s___1 ,
                int a , int d )
{
  int len1 ;
  size_t tmp ;
  int len2 ;
  size_t tmp___0 ;
  int *row0 ;
  int *row1 ;
  int *row2 ;
  int i ;
  int j ;
  size_t tmp___1 ;
  void *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  int *dummy___0 ;

  {
  tmp = strlen(string1);
  len1 = (int )tmp;
  tmp___0 = strlen(string2);
  len2 = (int )tmp___0;
  tmp___1 = st_mult(sizeof(*row0), (size_t )(len2 + 1));
  tmp___2 = xmalloc(tmp___1);
  row0 = (int *)tmp___2;
  tmp___3 = st_mult(sizeof(*row1), (size_t )(len2 + 1));
  tmp___4 = xmalloc(tmp___3);
  row1 = (int *)tmp___4;
  tmp___5 = st_mult(sizeof(*row2), (size_t )(len2 + 1));
  tmp___6 = xmalloc(tmp___5);
  row2 = (int *)tmp___6;
  j = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (j <= len2)) {
      goto while_break;
    }
    *(row1 + j) = j * a;
    j ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < len1)) {
      goto while_break___0;
    }
    *(row2 + 0) = (i + 1) * d;
    j = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (j < len2)) {
        goto while_break___1;
      }
      *(row2 + (j + 1)) = *(row1 + j) + s___1 * ((int const   )*(string1 + i) != (int const   )*(string2 + j));
      if (i > 0) {
        if (j > 0) {
          if ((int const   )*(string1 + (i - 1)) == (int const   )*(string2 + j)) {
            if ((int const   )*(string1 + i) == (int const   )*(string2 + (j - 1))) {
              if (*(row2 + (j + 1)) > *(row0 + (j - 1)) + w) {
                *(row2 + (j + 1)) = *(row0 + (j - 1)) + w;
              }
            }
          }
        }
      }
      if (*(row2 + (j + 1)) > *(row1 + (j + 1)) + d) {
        *(row2 + (j + 1)) = *(row1 + (j + 1)) + d;
      }
      if (*(row2 + (j + 1)) > *(row2 + j) + a) {
        *(row2 + (j + 1)) = *(row2 + j) + a;
      }
      j ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    dummy___0 = row0;
    row0 = row1;
    row1 = row2;
    row2 = dummy___0;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = *(row1 + len2);
  free((void *)row0);
  free((void *)row1);
  free((void *)row2);
  return (i);
}
}
int parse_range_arg(char const   *arg , char const   *(*nth_line_cb___0)(void *data ,
                                                                         long lno ) ,
                    void *cb_data , long lines , long anchor , long *begin___0 , long *end ,
                    char const   *path___6 , struct index_state *istate ) ;
char const   *skip_range_arg(char const   *arg , struct index_state *istate ) ;
static double const   __ac_HASH_UPPER___40  =    (double const   )0.77;
__inline static void kh_resize_oid_set___40(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___40(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___40 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___40 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___40(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___40(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___40(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___40(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___40(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___40(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___40 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___40 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___40(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___40(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___40(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___40(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___40(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___40(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___40 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___40 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___40(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___40(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___40(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___40(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
void range_set_init(struct range_set *rs___0 , size_t prealloc ) ;
void range_set_release(struct range_set *rs___0 ) ;
void range_set_append_unsafe(struct range_set *rs___0 , long a , long b___0 ) ;
void range_set_append(struct range_set *rs___0 , long a , long b___0 ) ;
void sort_and_merge_range_set(struct range_set *rs___0 ) ;
void line_log_init(struct rev_info *rev , char const   *prefix___1 , struct string_list *args___0 ) ;
int line_log_filter(struct rev_info *rev ) ;
int line_log_process_ranges_arbitrary_commit(struct rev_info *rev , struct commit *commit ) ;
int line_log_print(struct rev_info *rev , struct commit *commit ) ;
static void range_set_grow(struct range_set *rs___0 , size_t extra___2 )
{
  size_t tmp ;
  void *tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((size_t )rs___0->nr + extra___2 > (size_t )rs___0->alloc) {
      if ((size_t )(((rs___0->alloc + 16U) * 3U) / 2U) < (size_t )rs___0->nr + extra___2) {
        rs___0->alloc = (unsigned int )((size_t )rs___0->nr + extra___2);
      } else {
        rs___0->alloc = ((rs___0->alloc + 16U) * 3U) / 2U;
      }
      tmp = st_mult(sizeof(*(rs___0->ranges)), (size_t )rs___0->alloc);
      tmp___0 = xrealloc((void *)rs___0->ranges, tmp);
      rs___0->ranges = (struct range *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void range_set_init(struct range_set *rs___0 , size_t prealloc )
{
  unsigned int tmp ;

  {
  tmp = 0U;
  rs___0->nr = tmp;
  rs___0->alloc = tmp;
  rs___0->ranges = (struct range *)((void *)0);
  if (prealloc) {
    range_set_grow(rs___0, prealloc);
  }
  return;
}
}
void range_set_release(struct range_set *rs___0 )
{
  unsigned int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)rs___0->ranges);
    rs___0->ranges = (struct range *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = 0U;
  rs___0->nr = tmp;
  rs___0->alloc = tmp;
  return;
}
}
static void range_set_copy(struct range_set *dst , struct range_set *src )
{


  {
  range_set_init(dst, (size_t )src->nr);
  copy_array((void *)dst->ranges, (void const   *)src->ranges, (size_t )src->nr, sizeof(*(dst->ranges)) + (sizeof(char [1]) - 1UL));
  dst->nr = src->nr;
  return;
}
}
static void range_set_move(struct range_set *dst , struct range_set *src )
{
  unsigned int tmp ;

  {
  range_set_release(dst);
  dst->ranges = src->ranges;
  dst->nr = src->nr;
  dst->alloc = src->alloc;
  src->ranges = (struct range *)((void *)0);
  tmp = 0U;
  src->nr = tmp;
  src->alloc = tmp;
  return;
}
}
void range_set_append_unsafe(struct range_set *rs___0 , long a , long b___0 )
{


  {
  assert(a <= b___0);
  range_set_grow(rs___0, (size_t )1);
  (rs___0->ranges + rs___0->nr)->start = a;
  (rs___0->ranges + rs___0->nr)->end = b___0;
  (rs___0->nr) ++;
  return;
}
}
void range_set_append(struct range_set *rs___0 , long a , long b___0 )
{
  int tmp ;

  {
  if (rs___0->nr == 0U) {
    tmp = 1;
  } else
  if ((rs___0->ranges + (rs___0->nr - 1U))->end <= a) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  assert(tmp);
  range_set_append_unsafe(rs___0, a, b___0);
  return;
}
}
static int range_cmp(void const   *_r , void const   *_s )
{
  struct range  const  *r ;
  struct range  const  *s___1 ;

  {
  r = (struct range  const  *)_r;
  s___1 = (struct range  const  *)_s;
  if (r->start == s___1->start) {
    return (0);
  }
  if (r->start < s___1->start) {
    return (-1);
  }
  return (1);
}
}
static void range_set_check_invariants(struct range_set *rs___0 )
{
  unsigned int i ;

  {
  if (! rs___0) {
    return;
  }
  if (rs___0->nr) {
    assert((rs___0->ranges + 0)->start < (rs___0->ranges + 0)->end);
  }
  i = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < rs___0->nr)) {
      goto while_break;
    }
    assert((rs___0->ranges + (i - 1U))->end < (rs___0->ranges + i)->start);
    assert((rs___0->ranges + i)->start < (rs___0->ranges + i)->end);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void sort_and_merge_range_set(struct range_set *rs___0 )
{
  unsigned int i ;
  unsigned int o ;

  {
  o = 0U;
  sane_qsort((void *)rs___0->ranges, (size_t )rs___0->nr, sizeof(*(rs___0->ranges)),
             & range_cmp);
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < rs___0->nr)) {
      goto while_break;
    }
    if ((rs___0->ranges + i)->start == (rs___0->ranges + i)->end) {
      goto __Cont;
    }
    if (o > 0U) {
      if ((rs___0->ranges + i)->start <= (rs___0->ranges + (o - 1U))->end) {
        if ((rs___0->ranges + (o - 1U))->end < (rs___0->ranges + i)->end) {
          (rs___0->ranges + (o - 1U))->end = (rs___0->ranges + i)->end;
        }
      } else {
        (rs___0->ranges + o)->start = (rs___0->ranges + i)->start;
        (rs___0->ranges + o)->end = (rs___0->ranges + i)->end;
        o ++;
      }
    } else {
      (rs___0->ranges + o)->start = (rs___0->ranges + i)->start;
      (rs___0->ranges + o)->end = (rs___0->ranges + i)->end;
      o ++;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  assert(o <= rs___0->nr);
  rs___0->nr = o;
  range_set_check_invariants(rs___0);
  return;
}
}
static void range_set_union(struct range_set *out , struct range_set *a , struct range_set *b___0 )
{
  unsigned int i ;
  unsigned int j ;
  struct range *ra ;
  struct range *rb ;
  struct range *new_range ;
  unsigned int tmp ;
  unsigned int tmp___0 ;
  unsigned int tmp___1 ;
  unsigned int tmp___2 ;
  unsigned int tmp___3 ;
  unsigned int tmp___4 ;

  {
  i = 0U;
  j = 0U;
  ra = a->ranges;
  rb = b___0->ranges;
  assert(out->nr == 0U);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < a->nr)) {
      if (! (j < b___0->nr)) {
        goto while_break;
      }
    }
    if (i < a->nr) {
      if (j < b___0->nr) {
        if ((ra + i)->start < (rb + j)->start) {
          tmp = i;
          i ++;
          new_range = ra + tmp;
        } else
        if ((ra + i)->start > (rb + j)->start) {
          tmp___0 = j;
          j ++;
          new_range = rb + tmp___0;
        } else
        if ((ra + i)->end < (rb + j)->end) {
          tmp___1 = i;
          i ++;
          new_range = ra + tmp___1;
        } else {
          tmp___2 = j;
          j ++;
          new_range = rb + tmp___2;
        }
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (i < a->nr) {
      tmp___3 = i;
      i ++;
      new_range = ra + tmp___3;
    } else {
      tmp___4 = j;
      j ++;
      new_range = rb + tmp___4;
    }
    if (! (new_range->start == new_range->end)) {
      if (! out->nr) {
        range_set_grow(out, (size_t )1);
        (out->ranges + out->nr)->start = new_range->start;
        (out->ranges + out->nr)->end = new_range->end;
        (out->nr) ++;
      } else
      if ((out->ranges + (out->nr - 1U))->end < new_range->start) {
        range_set_grow(out, (size_t )1);
        (out->ranges + out->nr)->start = new_range->start;
        (out->ranges + out->nr)->end = new_range->end;
        (out->nr) ++;
      } else
      if ((out->ranges + (out->nr - 1U))->end < new_range->end) {
        (out->ranges + (out->nr - 1U))->end = new_range->end;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void range_set_difference(struct range_set *out , struct range_set *a , struct range_set *b___0 )
{
  unsigned int i ;
  unsigned int j ;
  long start ;
  long end ;

  {
  j = 0U;
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < a->nr)) {
      goto while_break;
    }
    start = (a->ranges + i)->start;
    end = (a->ranges + i)->end;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (start < end)) {
        goto while_break___0;
      }
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (j < b___0->nr) {
          if (! (start >= (b___0->ranges + j)->end)) {
            goto while_break___1;
          }
        } else {
          goto while_break___1;
        }
        j ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      if (j >= b___0->nr) {
        range_set_append(out, start, end);
        goto while_break___0;
      } else
      if (end < (b___0->ranges + j)->start) {
        range_set_append(out, start, end);
        goto while_break___0;
      }
      if (start >= (b___0->ranges + j)->start) {
        start = (b___0->ranges + j)->end;
      } else
      if (end > (b___0->ranges + j)->start) {
        if (start < (b___0->ranges + j)->start) {
          range_set_append(out, start, (b___0->ranges + j)->start);
        }
        start = (b___0->ranges + j)->end;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void diff_ranges_init(struct diff_ranges *diff )
{


  {
  range_set_init(& diff->parent, (size_t )0);
  range_set_init(& diff->target, (size_t )0);
  return;
}
}
static void diff_ranges_release(struct diff_ranges *diff )
{


  {
  range_set_release(& diff->parent);
  range_set_release(& diff->target);
  return;
}
}
static void line_log_data_init(struct line_log_data *r )
{


  {
  memset((void *)r, 0, sizeof(struct line_log_data ));
  range_set_init(& r->ranges, (size_t )0);
  return;
}
}
static void line_log_data_clear(struct line_log_data *r )
{


  {
  range_set_release(& r->ranges);
  if (r->pair) {
    diff_free_filepair(r->pair);
  }
  return;
}
}
static void free_line_log_data(struct line_log_data *r )
{
  struct line_log_data *next___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! r) {
      goto while_break;
    }
    next___2 = r->next;
    line_log_data_clear(r);
    free((void *)r);
    r = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct line_log_data *search_line_log_data(struct line_log_data *list___3 ,
                                                  char const   *path___6 , struct line_log_data **insertion_point )
{
  struct line_log_data *p___0 ;
  int cmp___0 ;
  int tmp ;

  {
  p___0 = list___3;
  if (insertion_point) {
    *insertion_point = (struct line_log_data *)((void *)0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    tmp = strcmp((char const   *)p___0->path, path___6);
    cmp___0 = tmp;
    if (! cmp___0) {
      return (p___0);
    }
    if (insertion_point) {
      if (cmp___0 < 0) {
        *insertion_point = p___0;
      }
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct line_log_data *)((void *)0));
}
}
static void line_log_data_insert(struct line_log_data **list___3 , char *path___6 ,
                                 long begin___0 , long end )
{
  struct line_log_data *ip___0 ;
  struct line_log_data *p___0 ;
  struct line_log_data *tmp ;
  void *tmp___0 ;

  {
  tmp = search_line_log_data(*list___3, (char const   *)path___6, & ip___0);
  p___0 = tmp;
  if (p___0) {
    range_set_append_unsafe(& p___0->ranges, begin___0, end);
    free((void *)path___6);
    return;
  }
  tmp___0 = xcalloc((size_t )1, sizeof(*p___0));
  p___0 = (struct line_log_data *)tmp___0;
  p___0->path = path___6;
  range_set_append(& p___0->ranges, begin___0, end);
  if (ip___0) {
    p___0->next = ip___0->next;
    ip___0->next = p___0;
  } else {
    p___0->next = *list___3;
    *list___3 = p___0;
  }
  return;
}
}
static int collect_diff_cb(long start_a , long count_a , long start_b , long count_b ,
                           void *data )
{
  struct collect_diff_cbdata *d ;

  {
  d = (struct collect_diff_cbdata *)data;
  if (count_a >= 0L) {
    range_set_append(& (d->diff)->parent, start_a, start_a + count_a);
  }
  if (count_b >= 0L) {
    range_set_append(& (d->diff)->target, start_b, start_b + count_b);
  }
  return (0);
}
}
static int collect_diff(mmfile_t *parent , mmfile_t *target , struct diff_ranges *out )
{
  struct collect_diff_cbdata cbdata ;
  xpparam_t xpp ;
  xdemitconf_t xecfg ;
  xdemitcb_t ecb ;
  int tmp ;

  {
  cbdata.diff = (struct diff_ranges *)((void *)0);
  memset((void *)(& xpp), 0, sizeof(xpp));
  memset((void *)(& xecfg), 0, sizeof(xecfg));
  xecfg.interhunkctxlen = 0L;
  xecfg.ctxlen = xecfg.interhunkctxlen;
  cbdata.diff = out;
  xecfg.hunk_func = & collect_diff_cb;
  memset((void *)(& ecb), 0, sizeof(ecb));
  ecb.priv = (void *)(& cbdata);
  tmp = xdi_diff(parent, target, (xpparam_t const   *)(& xpp), (xdemitconf_t const   *)(& xecfg),
                 & ecb);
  return (tmp);
}
}
static int ranges_overlap(struct range *a , struct range *b___0 )
{
  int tmp ;

  {
  if (a->end <= b___0->start) {
    tmp = 0;
  } else
  if (b___0->end <= a->start) {
    tmp = 0;
  } else {
    tmp = 1;
  }
  return (tmp);
}
}
static void diff_ranges_filter_touched(struct diff_ranges *out , struct diff_ranges *diff ,
                                       struct range_set *rs___0 )
{
  unsigned int i ;
  unsigned int j ;
  int tmp ;

  {
  j = 0U;
  assert(out->target.nr == 0U);
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < diff->target.nr)) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((diff->target.ranges + i)->start > (rs___0->ranges + j)->end)) {
        goto while_break___0;
      }
      j ++;
      if (j == rs___0->nr) {
        return;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp = ranges_overlap(diff->target.ranges + i, rs___0->ranges + j);
    if (tmp) {
      range_set_append(& out->parent, (diff->parent.ranges + i)->start, (diff->parent.ranges + i)->end);
      range_set_append(& out->target, (diff->target.ranges + i)->start, (diff->target.ranges + i)->end);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void range_set_shift_diff(struct range_set *out , struct range_set *rs___0 ,
                                 struct diff_ranges *diff )
{
  unsigned int i ;
  unsigned int j ;
  long offset___2 ;
  struct range *src ;
  struct range *target ;
  struct range *parent ;

  {
  j = 0U;
  offset___2 = 0L;
  src = rs___0->ranges;
  target = diff->target.ranges;
  parent = diff->parent.ranges;
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < rs___0->nr)) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (j < diff->target.nr) {
        if (! ((src + i)->start >= (target + j)->start)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      offset___2 += ((parent + j)->end - (parent + j)->start) - ((target + j)->end - (target + j)->start);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    range_set_append(out, (src + i)->start + offset___2, (src + i)->end + offset___2);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void range_set_map_across_diff(struct range_set *out , struct range_set *rs___0 ,
                                      struct diff_ranges *diff , struct diff_ranges **touched_out )
{
  struct diff_ranges *touched ;
  void *tmp ;
  struct range_set tmp1 ;
  struct range_set tmp2 ;

  {
  tmp = xmalloc(sizeof(*touched));
  touched = (struct diff_ranges *)tmp;
  tmp1.alloc = 0U;
  tmp1.nr = 0U;
  tmp1.ranges = (struct range *)0;
  tmp2.alloc = 0U;
  tmp2.nr = 0U;
  tmp2.ranges = (struct range *)0;
  diff_ranges_init(touched);
  diff_ranges_filter_touched(touched, diff, rs___0);
  range_set_difference(& tmp1, rs___0, & touched->target);
  range_set_shift_diff(& tmp2, & tmp1, diff);
  range_set_union(out, & tmp2, & touched->parent);
  range_set_release(& tmp1);
  range_set_release(& tmp2);
  *touched_out = touched;
  return;
}
}
static struct commit *check_single_commit(struct rev_info *revs )
{
  struct object *commit ;
  int found ;
  int i ;
  struct object *obj ;

  {
  commit = (struct object *)((void *)0);
  found = -1;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < revs->pending.nr)) {
      goto while_break;
    }
    obj = (revs->pending.objects + i)->item;
    if (obj->flags & (1u << 1)) {
      goto __Cont;
    }
    obj = deref_tag(revs->repo, obj, (char const   *)((void *)0), 0);
    if (! obj) {
      die((char const   *)"Non commit %s?", (revs->pending.objects + i)->name);
    } else
    if (obj->type != 1U) {
      die((char const   *)"Non commit %s?", (revs->pending.objects + i)->name);
    }
    if (commit) {
      die((char const   *)"More than one commit to dig from: %s and %s?", (revs->pending.objects + i)->name,
          (revs->pending.objects + found)->name);
    }
    commit = obj;
    found = i;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! commit) {
    die((char const   *)"No commit specified?");
  }
  return ((struct commit *)commit);
}
}
static void fill_blob_sha1(struct repository *r , struct commit *commit , struct diff_filespec *spec )
{
  unsigned short mode___1 ;
  struct object_id oid ;
  int tmp ;

  {
  tmp = get_tree_entry(r, (struct object_id  const  *)(& commit->object.oid), (char const   *)spec->path,
                       & oid, & mode___1);
  if (tmp) {
    die((char const   *)"There is no path %s in the commit", spec->path);
  }
  fill_filespec(spec, (struct object_id  const  *)(& oid), 1, mode___1);
  return;
}
}
static void fill_line_ends(struct repository *r , struct diff_filespec *spec , long *lines ,
                           unsigned long **line_ends )
{
  int num ;
  int size ;
  long cur ;
  unsigned long *ends ;
  char *data ;
  char *tmp ;
  int tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  long tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;
  long tmp___6 ;
  size_t tmp___7 ;
  void *tmp___8 ;

  {
  num = 0;
  size = 50;
  cur = 0L;
  ends = (unsigned long *)((void *)0);
  data = (char *)((void *)0);
  tmp___0 = diff_populate_filespec(r, spec, (struct diff_populate_filespec_options  const  *)((void *)0));
  if (tmp___0) {
    tmp = oid_to_hex((struct object_id  const  *)(& spec->oid));
    die((char const   *)"Cannot read blob %s", tmp);
  }
  tmp___1 = st_mult(sizeof(*ends), (size_t )size);
  tmp___2 = xmalloc(tmp___1);
  ends = (unsigned long *)tmp___2;
  tmp___3 = cur;
  cur ++;
  *(ends + tmp___3) = 0UL;
  data = (char *)spec->data;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )num < spec->size)) {
      goto while_break;
    }
    if ((int )*(data + num) == 10) {
      goto _L;
    } else
    if ((unsigned long )num == spec->size - 1UL) {
      _L: /* CIL Label */
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (cur + 1L > (long )size) {
          if ((long )(((size + 16) * 3) / 2) < cur + 1L) {
            size = (int )(cur + 1L);
          } else {
            size = ((size + 16) * 3) / 2;
          }
          tmp___4 = st_mult(sizeof(*ends), (size_t )size);
          tmp___5 = xrealloc((void *)ends, tmp___4);
          ends = (unsigned long *)tmp___5;
        }
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
      tmp___6 = cur;
      cur ++;
      *(ends + tmp___6) = (unsigned long )num;
    }
    num ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___7 = st_mult(sizeof(*ends), (size_t )cur);
  tmp___8 = xrealloc((void *)ends, tmp___7);
  ends = (unsigned long *)tmp___8;
  *lines = cur - 1L;
  *line_ends = ends;
  return;
}
}
static char const   *nth_line(void *data , long line___0 )
{
  struct nth_line_cb *d ;
  int tmp ;
  int tmp___0 ;

  {
  d = (struct nth_line_cb *)data;
  if (d) {
    if (line___0 <= d->lines) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  assert(tmp);
  if (d->spec) {
    if ((d->spec)->data) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  assert(tmp___0);
  if (line___0 == 0L) {
    return ((char const   *)((char *)(d->spec)->data));
  } else {
    return ((char const   *)(((char *)(d->spec)->data + *(d->line_ends + line___0)) + 1));
  }
}
}
static struct line_log_data *parse_lines(struct repository *r , struct commit *commit ,
                                         char const   *prefix___1 , struct string_list *args___0 )
{
  long lines ;
  unsigned long *ends ;
  struct nth_line_cb cb_data ;
  struct string_list_item *item___0 ;
  struct line_log_data *ranges ;
  struct line_log_data *p___0 ;
  char const   *name_part ;
  char const   *range_part ;
  char *full_name ;
  struct diff_filespec *spec ;
  long begin___0 ;
  long end ;
  long anchor ;
  char *tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  int tmp___2 ;

  {
  lines = 0L;
  ends = (unsigned long *)((void *)0);
  ranges = (struct line_log_data *)((void *)0);
  item___0 = args___0->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(args___0->items + args___0->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    begin___0 = 0L;
    end = 0L;
    name_part = skip_range_arg((char const   *)item___0->string, r->index);
    if (! name_part) {
      die((char const   *)"-L argument not \'start,end:file\' or \':funcname:file\': %s",
          item___0->string);
    } else
    if ((int const   )*name_part != 58) {
      die((char const   *)"-L argument not \'start,end:file\' or \':funcname:file\': %s",
          item___0->string);
    } else
    if (! *(name_part + 1)) {
      die((char const   *)"-L argument not \'start,end:file\' or \':funcname:file\': %s",
          item___0->string);
    }
    tmp = xstrndup((char const   *)item___0->string, (size_t )(name_part - (char const   *)item___0->string));
    range_part = (char const   *)tmp;
    name_part ++;
    if (prefix___1) {
      tmp___0 = strlen(prefix___1);
      tmp___1 = tmp___0;
    } else {
      tmp___1 = (size_t )0;
    }
    full_name = prefix_path(prefix___1, (int )tmp___1, name_part);
    spec = alloc_filespec((char const   *)full_name);
    fill_blob_sha1(r, commit, spec);
    fill_line_ends(r, spec, & lines, & ends);
    cb_data.spec = spec;
    cb_data.lines = lines;
    cb_data.line_ends = ends;
    p___0 = search_line_log_data(ranges, (char const   *)full_name, (struct line_log_data **)((void *)0));
    if (p___0) {
      if (p___0->ranges.nr) {
        anchor = (p___0->ranges.ranges + (p___0->ranges.nr - 1U))->end + 1L;
      } else {
        anchor = 1L;
      }
    } else {
      anchor = 1L;
    }
    tmp___2 = parse_range_arg(range_part, & nth_line, (void *)(& cb_data), lines,
                              anchor, & begin___0, & end, (char const   *)full_name,
                              r->index);
    if (tmp___2) {
      die((char const   *)"malformed -L argument \'%s\'", range_part);
    }
    if (! lines) {
      if (begin___0) {
        die((char const   *)"file %s has only %lu lines", name_part, lines);
      } else
      if (end) {
        die((char const   *)"file %s has only %lu lines", name_part, lines);
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (lines < begin___0) {
      die((char const   *)"file %s has only %lu lines", name_part, lines);
    }
    if (begin___0 < 1L) {
      begin___0 = 1L;
    }
    if (end < 1L) {
      end = lines;
    } else
    if (lines < end) {
      end = lines;
    }
    begin___0 --;
    line_log_data_insert(& ranges, full_name, begin___0, end);
    free_filespec(spec);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      free((void *)ends);
      ends = (unsigned long *)((void *)0);
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  p___0 = ranges;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___1;
    }
    sort_and_merge_range_set(& p___0->ranges);
    p___0 = p___0->next;
  }
  while_break___1: /* CIL Label */ ;
  }
  return (ranges);
}
}
static struct line_log_data *line_log_data_copy_one(struct line_log_data *r )
{
  struct line_log_data *ret___67 ;
  void *tmp ;

  {
  tmp = xmalloc(sizeof(*ret___67));
  ret___67 = (struct line_log_data *)tmp;
  assert((int )r);
  line_log_data_init(ret___67);
  range_set_copy(& ret___67->ranges, & r->ranges);
  ret___67->path = xstrdup((char const   *)r->path);
  return (ret___67);
}
}
static struct line_log_data *line_log_data_copy(struct line_log_data *r )
{
  struct line_log_data *ret___67 ;
  struct line_log_data *tmp ;
  struct line_log_data *prev ;

  {
  ret___67 = (struct line_log_data *)((void *)0);
  tmp = (struct line_log_data *)((void *)0);
  prev = (struct line_log_data *)((void *)0);
  assert((int )r);
  prev = line_log_data_copy_one(r);
  tmp = prev;
  ret___67 = tmp;
  r = r->next;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! r) {
      goto while_break;
    }
    tmp = line_log_data_copy_one(r);
    prev->next = tmp;
    prev = tmp;
    r = r->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static struct line_log_data *line_log_data_merge(struct line_log_data *a , struct line_log_data *b___0 )
{
  struct line_log_data *head___1 ;
  struct line_log_data **pp ;
  struct line_log_data *src ;
  struct line_log_data *src2 ;
  struct line_log_data *d ;
  int cmp___0 ;
  void *tmp ;

  {
  head___1 = (struct line_log_data *)((void *)0);
  pp = & head___1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! a) {
      if (! b___0) {
        goto while_break;
      }
    }
    src2 = (struct line_log_data *)((void *)0);
    if (! a) {
      cmp___0 = 1;
    } else
    if (! b___0) {
      cmp___0 = -1;
    } else {
      cmp___0 = strcmp((char const   *)a->path, (char const   *)b___0->path);
    }
    if (cmp___0 < 0) {
      src = a;
      a = a->next;
    } else
    if (cmp___0 == 0) {
      src = a;
      a = a->next;
      src2 = b___0;
      b___0 = b___0->next;
    } else {
      src = b___0;
      b___0 = b___0->next;
    }
    tmp = xmalloc(sizeof(struct line_log_data ));
    d = (struct line_log_data *)tmp;
    line_log_data_init(d);
    d->path = xstrdup((char const   *)src->path);
    *pp = d;
    pp = & d->next;
    if (src2) {
      range_set_union(& d->ranges, & src->ranges, & src2->ranges);
    } else {
      range_set_copy(& d->ranges, & src->ranges);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (head___1);
}
}
static void add_line_range(struct rev_info *revs , struct commit *commit , struct line_log_data *range )
{
  struct line_log_data *old_line ;
  struct line_log_data *new_line ;
  void *tmp ;

  {
  old_line = (struct line_log_data *)((void *)0);
  new_line = (struct line_log_data *)((void *)0);
  tmp = lookup_decoration(& revs->line_log_data, (struct object  const  *)(& commit->object));
  old_line = (struct line_log_data *)tmp;
  if (old_line) {
    if (range) {
      new_line = line_log_data_merge(old_line, range);
      free_line_log_data(old_line);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (range) {
    new_line = line_log_data_copy(range);
  }
  if (new_line) {
    add_decoration(& revs->line_log_data, (struct object  const  *)(& commit->object),
                   (void *)new_line);
  }
  return;
}
}
static void clear_commit_line_range(struct rev_info *revs , struct commit *commit )
{
  struct line_log_data *r ;
  void *tmp ;

  {
  tmp = lookup_decoration(& revs->line_log_data, (struct object  const  *)(& commit->object));
  r = (struct line_log_data *)tmp;
  if (! r) {
    return;
  }
  free_line_log_data(r);
  add_decoration(& revs->line_log_data, (struct object  const  *)(& commit->object),
                 (void *)0);
  return;
}
}
static struct line_log_data *lookup_line_range(struct rev_info *revs , struct commit *commit )
{
  struct line_log_data *ret___67 ;
  struct line_log_data *d ;
  void *tmp ;

  {
  ret___67 = (struct line_log_data *)((void *)0);
  tmp = lookup_decoration(& revs->line_log_data, (struct object  const  *)(& commit->object));
  ret___67 = (struct line_log_data *)tmp;
  d = ret___67;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! d) {
      goto while_break;
    }
    range_set_check_invariants(& d->ranges);
    d = d->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static int same_paths_in_pathspec_and_range(struct pathspec *pathspec___1 , struct line_log_data *range )
{
  int i ;
  struct line_log_data *r ;
  int tmp ;

  {
  i = 0;
  r = range;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i < pathspec___1->nr) {
      if (! r) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = strcmp((char const   *)(pathspec___1->items + i)->match, (char const   *)r->path);
    if (tmp) {
      return (0);
    }
    i ++;
    r = r->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (i < pathspec___1->nr) {
    return (0);
  } else
  if (r) {
    return (0);
  }
  return (1);
}
}
static void parse_pathspec_from_ranges(struct pathspec *pathspec___1 , struct line_log_data *range )
{
  struct line_log_data *r ;
  struct strvec array ;
  char const   **paths___0 ;

  {
  array.v = empty_strvec;
  array.nr = 0UL;
  array.alloc = 0UL;
  r = range;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! r) {
      goto while_break;
    }
    strvec_push(& array, (char const   *)r->path);
    r = r->next;
  }
  while_break: /* CIL Label */ ;
  }
  paths___0 = strvec_detach(& array);
  parse_pathspec(pathspec___1, 0U, (unsigned int )(1 << 1), (char const   *)"", paths___0);
  free((void *)paths___0);
  return;
}
}
void line_log_init(struct rev_info *rev , char const   *prefix___1 , struct string_list *args___0 )
{
  struct commit *commit ;
  struct line_log_data *range ;

  {
  commit = (struct commit *)((void *)0);
  commit = check_single_commit(rev);
  range = parse_lines(rev->diffopt.repo, commit, prefix___1, args___0);
  add_line_range(rev, commit, range);
  parse_pathspec_from_ranges(& rev->diffopt.pathspec, range);
  return;
}
}
static void move_diff_queue(struct diff_queue_struct *dst , struct diff_queue_struct *src )
{
  int tmp ;

  {
  assert((unsigned long )src != (unsigned long )dst);
  memcpy((void *)dst, (void const   *)src, sizeof(struct diff_queue_struct ));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    src->queue = (struct diff_filepair **)((void *)0);
    tmp = 0;
    src->alloc = tmp;
    src->nr = tmp;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void filter_diffs_for_paths(struct line_log_data *range , int keep_deletions )
{
  int i ;
  struct diff_queue_struct outq ;
  struct diff_filepair *p___0 ;
  struct line_log_data *rg ;
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    outq.queue = (struct diff_filepair **)((void *)0);
    outq.alloc = 0;
    outq.nr = outq.alloc;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < diff_queued_diff.nr)) {
      goto while_break___0;
    }
    p___0 = *(diff_queued_diff.queue + i);
    rg = (struct line_log_data *)((void *)0);
    if (! ((int )(p___0->two)->mode != 0)) {
      if (keep_deletions) {
        diff_q(& outq, p___0);
      } else {
        diff_free_filepair(p___0);
      }
      goto __Cont;
    }
    rg = range;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! rg) {
        goto while_break___1;
      }
      tmp = strcmp((char const   *)rg->path, (char const   *)(p___0->two)->path);
      if (! tmp) {
        goto while_break___1;
      }
      rg = rg->next;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (rg) {
      diff_q(& outq, p___0);
    } else {
      diff_free_filepair(p___0);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)diff_queued_diff.queue);
  diff_queued_diff = outq;
  return;
}
}
__inline static int diff_might_be_rename(void)
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < diff_queued_diff.nr)) {
      goto while_break;
    }
    if (! ((int )((*(diff_queued_diff.queue + i))->one)->mode != 0)) {
      return (1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void queue_diffs(struct line_log_data *range , struct diff_options *opt___0 ,
                        struct diff_queue_struct *queue , struct commit *commit ,
                        struct commit *parent )
{
  struct object_id *tree_oid ;
  struct object_id *parent_tree_oid ;
  struct object_id *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  assert((int )commit);
  tree_oid = get_commit_tree_oid((struct commit  const  *)commit);
  if (parent) {
    tmp = get_commit_tree_oid((struct commit  const  *)parent);
    parent_tree_oid = tmp;
  } else {
    parent_tree_oid = (struct object_id *)((void *)0);
  }
  if (opt___0->detect_rename) {
    tmp___0 = same_paths_in_pathspec_and_range(& opt___0->pathspec, range);
    if (! tmp___0) {
      clear_pathspec(& opt___0->pathspec);
      parse_pathspec_from_ranges(& opt___0->pathspec, range);
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    diff_queued_diff.queue = (struct diff_filepair **)((void *)0);
    diff_queued_diff.alloc = 0;
    diff_queued_diff.nr = diff_queued_diff.alloc;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  diff_tree_oid((struct object_id  const  *)parent_tree_oid, (struct object_id  const  *)tree_oid,
                (char const   *)"", opt___0);
  if (opt___0->detect_rename) {
    tmp___1 = diff_might_be_rename();
    if (tmp___1) {
      clear_pathspec(& opt___0->pathspec);
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        diff_queued_diff.queue = (struct diff_filepair **)((void *)0);
        diff_queued_diff.alloc = 0;
        diff_queued_diff.nr = diff_queued_diff.alloc;
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
      diff_tree_oid((struct object_id  const  *)parent_tree_oid, (struct object_id  const  *)tree_oid,
                    (char const   *)"", opt___0);
      filter_diffs_for_paths(range, 1);
      diffcore_std(opt___0);
      filter_diffs_for_paths(range, 0);
    }
  }
  move_diff_queue(queue, & diff_queued_diff);
  return;
}
}
static char *get_nth_line(long line___0 , unsigned long *ends , void *data )
{


  {
  if (line___0 == 0L) {
    return ((char *)data);
  } else {
    return (((char *)data + *(ends + line___0)) + 1);
  }
}
}
static void print_line(char const   *prefix___1 , char first , long line___0 , unsigned long *ends ,
                       void *data , char const   *color___0 , char const   *reset ,
                       FILE *file___0 )
{
  char *begin___0 ;
  char *tmp ;
  char *end ;
  char *tmp___0 ;
  int had_nl ;

  {
  tmp = get_nth_line(line___0, ends, data);
  begin___0 = tmp;
  tmp___0 = get_nth_line(line___0 + 1L, ends, data);
  end = tmp___0;
  had_nl = 0;
  if ((unsigned long )end > (unsigned long )begin___0) {
    if ((int )*(end + -1) == 10) {
      end --;
      had_nl = 1;
    }
  }
  fputs((char const   * __restrict  )prefix___1, (FILE * __restrict  )file___0);
  fputs((char const   * __restrict  )color___0, (FILE * __restrict  )file___0);
  _IO_putc((int )first, file___0);
  fwrite((void const   * __restrict  )begin___0, (size_t )1, (size_t )(end - begin___0),
         (FILE * __restrict  )file___0);
  fputs((char const   * __restrict  )reset, (FILE * __restrict  )file___0);
  _IO_putc('\n', file___0);
  if (! had_nl) {
    fputs((char const   * __restrict  )"\\ No newline at end of file\n", (FILE * __restrict  )file___0);
  }
  return;
}
}
static char *output_prefix(struct diff_options *opt___0 )
{
  char *prefix___1 ;
  struct strbuf *sb___6 ;
  struct strbuf *tmp ;

  {
  prefix___1 = "";
  if (opt___0->output_prefix) {
    tmp = (*(opt___0->output_prefix))(opt___0, opt___0->output_prefix_data);
    sb___6 = tmp;
    prefix___1 = sb___6->buf;
  }
  return (prefix___1);
}
}
static void dump_diff_hacky_one(struct rev_info *rev , struct line_log_data *range )
{
  unsigned int i ;
  unsigned int j ;
  long p_lines ;
  long t_lines ;
  unsigned long *p_ends ;
  unsigned long *t_ends ;
  struct diff_filepair *pair ;
  struct diff_ranges *diff ;
  struct diff_options *opt___0 ;
  char *prefix___1 ;
  char *tmp ;
  char const   *c_reset ;
  char const   *tmp___0 ;
  char const   *c_frag ;
  char const   *tmp___1 ;
  char const   *c_meta ;
  char const   *tmp___2 ;
  char const   *c_old ;
  char const   *tmp___3 ;
  char const   *c_new ;
  char const   *tmp___4 ;
  char const   *c_context ;
  char const   *tmp___5 ;
  char *tmp___6 ;
  char *tmp___7 ;
  long p_start ;
  long p_end ;
  long t_start ;
  long t_end ;
  long t_cur ;
  unsigned int j_last ;
  int k ;

  {
  j = 0U;
  p_ends = (unsigned long *)((void *)0);
  t_ends = (unsigned long *)((void *)0);
  pair = range->pair;
  diff = & range->diff;
  opt___0 = & rev->diffopt;
  tmp = output_prefix(opt___0);
  prefix___1 = tmp;
  tmp___0 = diff_get_color(opt___0->use_color, (enum color_diff )0);
  c_reset = tmp___0;
  tmp___1 = diff_get_color(opt___0->use_color, (enum color_diff )3);
  c_frag = tmp___1;
  tmp___2 = diff_get_color(opt___0->use_color, (enum color_diff )2);
  c_meta = tmp___2;
  tmp___3 = diff_get_color(opt___0->use_color, (enum color_diff )4);
  c_old = tmp___3;
  tmp___4 = diff_get_color(opt___0->use_color, (enum color_diff )5);
  c_new = tmp___4;
  tmp___5 = diff_get_color(opt___0->use_color, (enum color_diff )1);
  c_context = tmp___5;
  if (! pair) {
    return;
  } else
  if (! diff) {
    return;
  }
  if ((pair->one)->oid_valid) {
    fill_line_ends(rev->diffopt.repo, pair->one, & p_lines, & p_ends);
  }
  fill_line_ends(rev->diffopt.repo, pair->two, & t_lines, & t_ends);
  fprintf(opt___0->file, (char const   *)"%s%sdiff --git a/%s b/%s%s\n", prefix___1,
          c_meta, (pair->one)->path, (pair->two)->path, c_reset);
  if ((pair->one)->oid_valid) {
    tmp___6 = (pair->one)->path;
  } else {
    tmp___6 = "/dev/null";
  }
  if ((pair->one)->oid_valid) {
    tmp___7 = "a/";
  } else {
    tmp___7 = "";
  }
  fprintf(opt___0->file, (char const   *)"%s%s--- %s%s%s\n", prefix___1, c_meta, tmp___7,
          tmp___6, c_reset);
  fprintf(opt___0->file, (char const   *)"%s%s+++ b/%s%s\n", prefix___1, c_meta, (pair->two)->path,
          c_reset);
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < range->ranges.nr)) {
      goto while_break;
    }
    t_start = (range->ranges.ranges + i)->start;
    t_end = (range->ranges.ranges + i)->end;
    t_cur = t_start;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (j < diff->target.nr) {
        if (! ((diff->target.ranges + j)->end < t_start)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (j == diff->target.nr) {
      goto __Cont;
    } else
    if ((diff->target.ranges + j)->start > t_end) {
      goto __Cont;
    }
    j_last = j;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (j_last < diff->target.nr) {
        if (! ((diff->target.ranges + j_last)->start < t_end)) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      j_last ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (j_last > j) {
      j_last --;
    }
    if (t_start < (diff->target.ranges + j)->start) {
      p_start = (diff->parent.ranges + j)->start - ((diff->target.ranges + j)->start - t_start);
    } else {
      p_start = (diff->parent.ranges + j)->start;
    }
    if (t_end > (diff->target.ranges + j_last)->end) {
      p_end = (diff->parent.ranges + j_last)->end + (t_end - (diff->target.ranges + j_last)->end);
    } else {
      p_end = (diff->parent.ranges + j_last)->end;
    }
    if (! p_start) {
      if (! p_end) {
        p_start = -1L;
        p_end = -1L;
      }
    }
    fprintf(opt___0->file, (char const   *)"%s%s@@ -%ld,%ld +%ld,%ld @@%s\n", prefix___1,
            c_frag, p_start + 1L, p_end - p_start, t_start + 1L, t_end - t_start,
            c_reset);
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (j < diff->target.nr) {
        if (! ((diff->target.ranges + j)->start < t_end)) {
          goto while_break___2;
        }
      } else {
        goto while_break___2;
      }
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if (! (t_cur < (diff->target.ranges + j)->start)) {
          goto while_break___3;
        }
        print_line((char const   *)prefix___1, (char )' ', t_cur, t_ends, (pair->two)->data,
                   c_context, c_reset, opt___0->file);
        t_cur ++;
      }
      while_break___3: /* CIL Label */ ;
      }
      k = (int )(diff->parent.ranges + j)->start;
      {
      while (1) {
        while_continue___4: /* CIL Label */ ;
        if (! ((long )k < (diff->parent.ranges + j)->end)) {
          goto while_break___4;
        }
        print_line((char const   *)prefix___1, (char )'-', (long )k, p_ends, (pair->one)->data,
                   c_old, c_reset, opt___0->file);
        k ++;
      }
      while_break___4: /* CIL Label */ ;
      }
      {
      while (1) {
        while_continue___5: /* CIL Label */ ;
        if (t_cur < (diff->target.ranges + j)->end) {
          if (! (t_cur < t_end)) {
            goto while_break___5;
          }
        } else {
          goto while_break___5;
        }
        print_line((char const   *)prefix___1, (char )'+', t_cur, t_ends, (pair->two)->data,
                   c_new, c_reset, opt___0->file);
        t_cur ++;
      }
      while_break___5: /* CIL Label */ ;
      }
      j ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___6: /* CIL Label */ ;
      if (! (t_cur < t_end)) {
        goto while_break___6;
      }
      print_line((char const   *)prefix___1, (char )' ', t_cur, t_ends, (pair->two)->data,
                 c_context, c_reset, opt___0->file);
      t_cur ++;
    }
    while_break___6: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)p_ends);
  free((void *)t_ends);
  return;
}
}
static void dump_diff_hacky(struct rev_info *rev , struct line_log_data *range )
{
  char *tmp ;

  {
  tmp = output_prefix(& rev->diffopt);
  fprintf(rev->diffopt.file, (char const   *)"%s\n", tmp);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! range) {
      goto while_break;
    }
    dump_diff_hacky_one(rev, range);
    range = range->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int process_diff_filepair(struct rev_info *rev , struct diff_filepair *pair ,
                                 struct line_log_data *range , struct diff_ranges **diff_out )
{
  struct line_log_data *rg ;
  struct range_set tmp ;
  struct diff_ranges diff ;
  mmfile_t file_parent ;
  mmfile_t file_target ;
  int tmp___0 ;
  int tmp___1 ;

  {
  rg = range;
  assert((int )(pair->two)->path);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! rg) {
      goto while_break;
    }
    assert((int )rg->path);
    tmp___0 = strcmp((char const   *)rg->path, (char const   *)(pair->two)->path);
    if (! tmp___0) {
      goto while_break;
    }
    rg = rg->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (! rg) {
    return (0);
  }
  if (rg->ranges.nr == 0U) {
    return (0);
  }
  assert((int )(pair->two)->oid_valid);
  diff_populate_filespec(rev->diffopt.repo, pair->two, (struct diff_populate_filespec_options  const  *)((void *)0));
  file_target.ptr = (char *)(pair->two)->data;
  file_target.size = (long )(pair->two)->size;
  if ((pair->one)->oid_valid) {
    diff_populate_filespec(rev->diffopt.repo, pair->one, (struct diff_populate_filespec_options  const  *)((void *)0));
    file_parent.ptr = (char *)(pair->one)->data;
    file_parent.size = (long )(pair->one)->size;
  } else {
    file_parent.ptr = "";
    file_parent.size = 0L;
  }
  diff_ranges_init(& diff);
  tmp___1 = collect_diff(& file_parent, & file_target, & diff);
  if (tmp___1) {
    die((char const   *)"unable to generate diff for %s", (pair->one)->path);
  }
  free((void *)rg->path);
  rg->path = xstrdup((char const   *)(pair->one)->path);
  range_set_init(& tmp, (size_t )0);
  range_set_map_across_diff(& tmp, & rg->ranges, & diff, diff_out);
  range_set_release(& rg->ranges);
  range_set_move(& rg->ranges, & tmp);
  diff_ranges_release(& diff);
  return ((*diff_out)->parent.nr > 0U);
}
}
static struct diff_filepair *diff_filepair_dup(struct diff_filepair *pair )
{
  struct diff_filepair *new_filepair ;
  void *tmp ;

  {
  tmp = xmalloc(sizeof(struct diff_filepair ));
  new_filepair = (struct diff_filepair *)tmp;
  new_filepair->one = pair->one;
  new_filepair->two = pair->two;
  ((new_filepair->one)->count) ++;
  ((new_filepair->two)->count) ++;
  return (new_filepair);
}
}
static void free_diffqueues(int n , struct diff_queue_struct *dq )
{
  int i ;
  int j ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    j = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < (dq + i)->nr)) {
        goto while_break___0;
      }
      diff_free_filepair(*((dq + i)->queue + j));
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)dq);
  return;
}
}
static int process_all_files(struct line_log_data **range_out , struct rev_info *rev ,
                             struct diff_queue_struct *queue , struct line_log_data *range )
{
  int i ;
  int changed ;
  struct diff_ranges *pairdiff ;
  struct diff_filepair *pair ;
  struct line_log_data *rg ;
  int tmp ;
  int tmp___0 ;

  {
  changed = 0;
  *range_out = line_log_data_copy(range);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < queue->nr)) {
      goto while_break;
    }
    pairdiff = (struct diff_ranges *)((void *)0);
    pair = *(queue->queue + i);
    tmp___0 = process_diff_filepair(rev, pair, *range_out, & pairdiff);
    if (tmp___0) {
      rg = range;
      changed ++;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (rg) {
          tmp = strcmp((char const   *)rg->path, (char const   *)(pair->two)->path);
          if (! tmp) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
        rg = rg->next;
      }
      while_break___0: /* CIL Label */ ;
      }
      assert((int )rg);
      rg->pair = diff_filepair_dup(*(queue->queue + i));
      memcpy((void *)(& rg->diff), (void const   *)pairdiff, sizeof(struct diff_ranges ));
    }
    free((void *)pairdiff);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (changed);
}
}
int line_log_print(struct rev_info *rev , struct commit *commit )
{
  struct line_log_data *range ;
  struct line_log_data *tmp ;

  {
  show_log(rev);
  if (! (rev->diffopt.output_format & 0x0800)) {
    tmp = lookup_line_range(rev, commit);
    range = tmp;
    dump_diff_hacky(rev, range);
  }
  return (1);
}
}
static int bloom_filter_check(struct rev_info *rev , struct commit *commit , struct line_log_data *range )
{
  struct bloom_filter *filter___0 ;
  struct bloom_key key___1 ;
  int result___0 ;
  size_t tmp ;
  int tmp___0 ;

  {
  result___0 = 0;
  if (! commit->parents) {
    return (1);
  }
  if (! rev->bloom_filter_settings) {
    return (1);
  } else {
    filter___0 = get_or_compute_bloom_filter(rev->repo, commit, 0, (struct bloom_filter_settings  const  *)((void *)0),
                                             (enum bloom_filter_computed *)((void *)0));
    if (! filter___0) {
      return (1);
    }
  }
  if (! range) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! result___0) {
      if (! range) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = strlen((char const   *)range->path);
    fill_bloom_key((char const   *)range->path, tmp, & key___1, (struct bloom_filter_settings  const  *)rev->bloom_filter_settings);
    tmp___0 = bloom_filter_contains((struct bloom_filter  const  *)filter___0, (struct bloom_key  const  *)(& key___1),
                                    (struct bloom_filter_settings  const  *)rev->bloom_filter_settings);
    if (tmp___0) {
      result___0 = 1;
    }
    clear_bloom_key(& key___1);
    range = range->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (result___0);
}
}
static int process_ranges_ordinary_commit(struct rev_info *rev , struct commit *commit ,
                                          struct line_log_data *range )
{
  struct commit *parent ;
  struct diff_queue_struct queue ;
  struct line_log_data *parent_range ;
  int changed ;

  {
  parent = (struct commit *)((void *)0);
  if (commit->parents) {
    parent = (commit->parents)->item;
  }
  queue_diffs(range, & rev->diffopt, & queue, commit, parent);
  changed = process_all_files(& parent_range, rev, & queue, range);
  if (parent) {
    add_line_range(rev, parent, parent_range);
  }
  free_line_log_data(parent_range);
  return (changed);
}
}
static int process_ranges_merge_commit(struct rev_info *rev , struct commit *commit ,
                                       struct line_log_data *range )
{
  struct diff_queue_struct *diffqueues ;
  struct line_log_data **cand ;
  struct commit **parents ;
  struct commit_list *p___0 ;
  int i ;
  int nparents ;
  unsigned int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;
  int changed ;

  {
  tmp = commit_list_count((struct commit_list  const  *)commit->parents);
  nparents = (int )tmp;
  if (nparents > 1) {
    if (rev->first_parent_only) {
      nparents = 1;
    }
  }
  tmp___0 = st_mult(sizeof(*diffqueues), (size_t )nparents);
  tmp___1 = xmalloc(tmp___0);
  diffqueues = (struct diff_queue_struct *)tmp___1;
  tmp___2 = st_mult(sizeof(*cand), (size_t )nparents);
  tmp___3 = xmalloc(tmp___2);
  cand = (struct line_log_data **)tmp___3;
  tmp___4 = st_mult(sizeof(*parents), (size_t )nparents);
  tmp___5 = xmalloc(tmp___4);
  parents = (struct commit **)tmp___5;
  p___0 = commit->parents;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nparents)) {
      goto while_break;
    }
    *(parents + i) = p___0->item;
    p___0 = p___0->next;
    queue_diffs(range, & rev->diffopt, diffqueues + i, commit, *(parents + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < nparents)) {
      goto while_break___0;
    }
    *(cand + i) = (struct line_log_data *)((void *)0);
    changed = process_all_files(cand + i, rev, diffqueues + i, range);
    if (! changed) {
      add_line_range(rev, *(parents + i), *(cand + i));
      clear_commit_line_range(rev, commit);
      commit_list_append(*(parents + i), & commit->parents);
      free((void *)parents);
      free((void *)cand);
      free_diffqueues(nparents, diffqueues);
      return (0);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < nparents)) {
      goto while_break___1;
    }
    add_line_range(rev, *(parents + i), *(cand + i));
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  clear_commit_line_range(rev, commit);
  free((void *)parents);
  free((void *)cand);
  free_diffqueues(nparents, diffqueues);
  return (1);
}
}
int line_log_process_ranges_arbitrary_commit(struct rev_info *rev , struct commit *commit )
{
  struct line_log_data *range ;
  struct line_log_data *tmp ;
  int changed ;
  struct line_log_data *prange ;
  struct line_log_data *tmp___0 ;
  int tmp___1 ;

  {
  tmp = lookup_line_range(rev, commit);
  range = tmp;
  changed = 0;
  if (range) {
    if (commit->parents) {
      tmp___1 = bloom_filter_check(rev, commit, range);
      if (tmp___1) {
        goto _L;
      } else {
        tmp___0 = line_log_data_copy(range);
        prange = tmp___0;
        add_line_range(rev, (commit->parents)->item, prange);
        clear_commit_line_range(rev, commit);
      }
    } else
    _L: /* CIL Label */
    if (! commit->parents) {
      changed = process_ranges_ordinary_commit(rev, commit, range);
    } else
    if (! (commit->parents)->next) {
      changed = process_ranges_ordinary_commit(rev, commit, range);
    } else {
      changed = process_ranges_merge_commit(rev, commit, range);
    }
  }
  if (! changed) {
    commit->object.flags |= 1u << 2;
  }
  return (changed);
}
}
static enum rewrite_result line_log_rewrite_one(struct rev_info *rev , struct commit **pp )
{
  struct commit *p___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    p___0 = *pp;
    if (p___0->parents) {
      if ((p___0->parents)->next) {
        return ((enum rewrite_result )0);
      }
    }
    if (p___0->object.flags & (1u << 1)) {
      return ((enum rewrite_result )0);
    }
    if (! (p___0->object.flags & (1u << 2))) {
      return ((enum rewrite_result )0);
    }
    if (! p___0->parents) {
      return ((enum rewrite_result )1);
    }
    *pp = (p___0->parents)->item;
  }
  while_break: /* CIL Label */ ;
  }
}
}
int line_log_filter(struct rev_info *rev )
{
  struct commit *commit ;
  struct commit_list *list___3 ;
  struct commit_list *out ;
  struct commit_list **pp ;
  struct commit_list *to_free ;
  int tmp ;

  {
  list___3 = rev->commits;
  out = (struct commit_list *)((void *)0);
  pp = & out;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    to_free = (struct commit_list *)((void *)0);
    commit = list___3->item;
    tmp = line_log_process_ranges_arbitrary_commit(rev, commit);
    if (tmp) {
      *pp = list___3;
      pp = & list___3->next;
    } else {
      to_free = list___3;
    }
    list___3 = list___3->next;
    free((void *)to_free);
  }
  while_break: /* CIL Label */ ;
  }
  *pp = (struct commit_list *)((void *)0);
  list___3 = out;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! list___3) {
      goto while_break___0;
    }
    rewrite_parents(rev, list___3->item, & line_log_rewrite_one);
    list___3 = list___3->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  rev->commits = out;
  return (0);
}
}
static char const   *parse_loc(char const   *spec , char const   *(*nth_line___0)(void *data ,
                                                                                  long lno ) ,
                               void *data , long lines , long begin___0 , long *ret___67 )
{
  char *term___1 ;
  char const   *line___0 ;
  long num ;
  int reg_error ;
  regex_t regexp___0 ;
  regmatch_t match___0[1] ;
  char const   *cp ;
  char const   *nline ;
  long tmp ;
  char *tmp___0 ;
  char errbuf[1024] ;

  {
  if (1L <= begin___0) {
    if ((int const   )*(spec + 0) == 43) {
      goto _L;
    } else
    if ((int const   )*(spec + 0) == 45) {
      _L: /* CIL Label */
      num = strtol((char const   * __restrict  )(spec + 1), (char ** __restrict  )(& term___1),
                   10);
      if ((unsigned long )term___1 != (unsigned long )(spec + 1)) {
        if (! ret___67) {
          return ((char const   *)term___1);
        }
        if (num == 0L) {
          die((char const   *)"-L invalid empty range");
        }
        if ((int const   )*(spec + 0) == 45) {
          num = 0L - num;
        }
        if (0L < num) {
          *ret___67 = (begin___0 + num) - 2L;
        } else
        if (! num) {
          *ret___67 = begin___0;
        } else
        if (begin___0 + num > 0L) {
          *ret___67 = begin___0 + num;
        } else {
          *ret___67 = 1L;
        }
        return ((char const   *)term___1);
      }
      return (spec);
    }
  }
  num = strtol((char const   * __restrict  )spec, (char ** __restrict  )(& term___1),
               10);
  if ((unsigned long )term___1 != (unsigned long )spec) {
    if (ret___67) {
      if (num <= 0L) {
        die((char const   *)"-L invalid line number: %ld", num);
      }
      *ret___67 = num;
    }
    return ((char const   *)term___1);
  }
  if (begin___0 < 0L) {
    if ((int const   )*(spec + 0) != 94) {
      begin___0 = - begin___0;
    } else {
      begin___0 = 1L;
      spec ++;
    }
  }
  if ((int const   )*(spec + 0) != 47) {
    return (spec);
  }
  term___1 = (char *)spec + 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*term___1) {
      if (! ((int )*term___1 != 47)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if ((int )*term___1 == 92) {
      term___1 ++;
    }
    term___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
  if ((int )*term___1 != 47) {
    return (spec);
  }
  if (! ret___67) {
    return ((char const   *)(term___1 + 1));
  }
  *term___1 = (char)0;
  begin___0 --;
  line___0 = (*nth_line___0)(data, begin___0);
  reg_error = regcomp((regex_t * __restrict  )(& regexp___0), (char const   * __restrict  )(spec + 1),
                      (1 << 1) << 1);
  if (reg_error) {
    regerror(reg_error, (regex_t const   * __restrict  )(& regexp___0), (char * __restrict  )(errbuf),
             (size_t )1024);
    die((char const   *)"-L parameter \'%s\' starting at line %ld: %s", spec + 1,
        begin___0 + 1L, errbuf);
  } else {
    reg_error = regexec((regex_t const   * __restrict  )(& regexp___0), (char const   * __restrict  )line___0,
                        (size_t )1, (regmatch_t * __restrict  )(match___0), 0);
    if (reg_error) {
      regerror(reg_error, (regex_t const   * __restrict  )(& regexp___0), (char * __restrict  )(errbuf),
               (size_t )1024);
      die((char const   *)"-L parameter \'%s\' starting at line %ld: %s", spec + 1,
          begin___0 + 1L, errbuf);
    } else {
      cp = line___0 + match___0[0].rm_so;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        tmp = begin___0;
        begin___0 ++;
        if (! (tmp < lines)) {
          goto while_break___0;
        }
        nline = (*nth_line___0)(data, begin___0);
        if ((unsigned long )line___0 <= (unsigned long )cp) {
          if ((unsigned long )cp < (unsigned long )nline) {
            goto while_break___0;
          }
        }
        line___0 = nline;
      }
      while_break___0: /* CIL Label */ ;
      }
      *ret___67 = begin___0;
      regfree(& regexp___0);
      tmp___0 = term___1;
      term___1 ++;
      *tmp___0 = (char )'/';
      return ((char const   *)term___1);
    }
  }
}
}
static int match_funcname___0(xdemitconf_t *xecfg , char const   *bol , char const   *eol )
{
  char buf___19[1] ;
  long tmp ;

  {
  if (xecfg) {
    tmp = (*(xecfg->find_func))(bol, eol - bol, buf___19, 1L, xecfg->find_func_priv);
    return (tmp >= 0L);
  }
  if ((unsigned long )bol == (unsigned long )eol) {
    return (0);
  }
  if (((int const   )sane_ctype[(unsigned char )*bol] & 4) != 0) {
    return (1);
  } else
  if ((int const   )*bol == 95) {
    return (1);
  } else
  if ((int const   )*bol == 36) {
    return (1);
  }
  return (0);
}
}
static char const   *find_funcname_matching_regexp(xdemitconf_t *xecfg , char const   *start ,
                                                   regex_t *regexp___0 )
{
  int reg_error ;
  regmatch_t match___0[1] ;
  char const   *bol ;
  char const   *eol ;
  char errbuf[1024] ;
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    reg_error = regexec((regex_t const   * __restrict  )regexp___0, (char const   * __restrict  )start,
                        (size_t )1, (regmatch_t * __restrict  )(match___0), 0);
    if (reg_error == 1) {
      return ((char const   *)((void *)0));
    } else
    if (reg_error) {
      regerror(reg_error, (regex_t const   * __restrict  )regexp___0, (char * __restrict  )(errbuf),
               (size_t )1024);
      die((char const   *)"-L parameter: regexec() failed: %s", errbuf);
    }
    bol = start + match___0[0].rm_so;
    eol = start + match___0[0].rm_eo;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if ((unsigned long )bol > (unsigned long )start) {
        if (! ((int const   )*bol != 10)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      bol --;
    }
    while_break___0: /* CIL Label */ ;
    }
    if ((int const   )*bol == 10) {
      bol ++;
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (*eol) {
        if (! ((int const   )*eol != 10)) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      eol ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if ((int const   )*eol == 10) {
      eol ++;
    }
    tmp = match_funcname___0(xecfg, (char const   *)((char *)bol), (char const   *)((char *)eol));
    if (tmp) {
      return (bol);
    }
    start = eol;
  }
  while_break: /* CIL Label */ ;
  }
}
}
static char const   *parse_range_funcname(char const   *arg , char const   *(*nth_line_cb___0)(void *data ,
                                                                                               long lno ) ,
                                          void *cb_data , long lines , long anchor ,
                                          long *begin___0 , long *end , char const   *path___6 ,
                                          struct index_state *istate )
{
  char *pattern___0 ;
  char const   *term___1 ;
  struct userdiff_driver *drv ;
  xdemitconf_t *xecfg ;
  char const   *start ;
  char const   *p___0 ;
  int reg_error ;
  regex_t regexp___0 ;
  struct userdiff_funcname  const  *pe ;
  void *tmp ;
  char errbuf[1024] ;
  char const   *tmp___0 ;
  char const   *bol ;
  char const   *tmp___1 ;
  char const   *eol ;
  char const   *tmp___2 ;
  int tmp___3 ;

  {
  xecfg = (xdemitconf_t *)((void *)0);
  if ((int const   )*arg == 94) {
    anchor = 1L;
    arg ++;
  }
  assert((int const   )*arg == 58);
  term___1 = arg + 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*term___1) {
      if (! ((int const   )*term___1 != 58)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if ((int const   )*term___1 == 92) {
      if (*(term___1 + 1)) {
        term___1 ++;
      }
    }
    term___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned long )term___1 == (unsigned long )(arg + 1)) {
    return ((char const   *)((void *)0));
  }
  if (! begin___0) {
    return (term___1);
  }
  pattern___0 = xstrndup(arg + 1, (size_t )(term___1 - (arg + 1)));
  anchor --;
  start = (*nth_line_cb___0)(cb_data, anchor);
  drv = userdiff_find_by_path(istate, path___6);
  if (drv) {
    if (drv->funcname.pattern) {
      pe = (struct userdiff_funcname  const  *)(& drv->funcname);
      tmp = xcalloc((size_t )1, sizeof(*xecfg));
      xecfg = (xdemitconf_t *)tmp;
      xdiff_set_find_func(xecfg, (char const   *)pe->pattern, (int )pe->cflags);
    }
  }
  reg_error = regcomp((regex_t * __restrict  )(& regexp___0), (char const   * __restrict  )pattern___0,
                      (1 << 1) << 1);
  if (reg_error) {
    regerror(reg_error, (regex_t const   * __restrict  )(& regexp___0), (char * __restrict  )(errbuf),
             (size_t )1024);
    die((char const   *)"-L parameter \'%s\': %s", pattern___0, errbuf);
  }
  p___0 = find_funcname_matching_regexp(xecfg, (char const   *)((char *)start), & regexp___0);
  if (! p___0) {
    die((char const   *)"-L parameter \'%s\' starting at line %ld: no match", pattern___0,
        anchor + 1L);
  }
  *begin___0 = 0L;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___0 = (*nth_line_cb___0)(cb_data, *begin___0);
    if (! ((unsigned long )p___0 > (unsigned long )tmp___0)) {
      goto while_break___0;
    }
    (*begin___0) ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (*begin___0 >= lines) {
    die((char const   *)"-L parameter \'%s\' matches at EOF", pattern___0);
  }
  *end = *begin___0 + 1L;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (*end < lines)) {
      goto while_break___1;
    }
    tmp___1 = (*nth_line_cb___0)(cb_data, *end);
    bol = tmp___1;
    tmp___2 = (*nth_line_cb___0)(cb_data, *end + 1L);
    eol = tmp___2;
    tmp___3 = match_funcname___0(xecfg, bol, eol);
    if (tmp___3) {
      goto while_break___1;
    }
    (*end) ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  regfree(& regexp___0);
  free((void *)xecfg);
  free((void *)pattern___0);
  (*begin___0) ++;
  return (term___1);
}
}
int parse_range_arg(char const   *arg , char const   *(*nth_line_cb___0)(void *data ,
                                                                         long lno ) ,
                    void *cb_data , long lines , long anchor , long *begin___0 , long *end ,
                    char const   *path___6 , struct index_state *istate )
{
  long tmp ;
  void *_swap_a_ptr ;
  void *_swap_b_ptr ;
  unsigned char _swap_buffer[sizeof(*end)] ;

  {
  tmp = 0L;
  *end = tmp;
  *begin___0 = tmp;
  if (anchor < 1L) {
    anchor = 1L;
  }
  if (anchor > lines) {
    anchor = lines + 1L;
  }
  if ((int const   )*arg == 58) {
    goto _L;
  } else
  if ((int const   )*arg == 94) {
    if ((int const   )*(arg + 1) == 58) {
      _L: /* CIL Label */
      arg = parse_range_funcname(arg, nth_line_cb___0, cb_data, lines, anchor, begin___0,
                                 end, path___6, istate);
      if (! arg) {
        return (-1);
      } else
      if (*arg) {
        return (-1);
      }
      return (0);
    }
  }
  arg = parse_loc(arg, nth_line_cb___0, cb_data, lines, - anchor, begin___0);
  if ((int const   )*arg == 44) {
    arg = parse_loc(arg + 1, nth_line_cb___0, cb_data, lines, *begin___0 + 1L, end);
  }
  if (*arg) {
    return (-1);
  }
  if (*begin___0) {
    if (*end) {
      if (*end < *begin___0) {
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          _swap_a_ptr = (void *)end;
          _swap_b_ptr = (void *)begin___0;
          memcpy((void *)(_swap_buffer), (void const   *)_swap_a_ptr, sizeof(*end));
          memcpy(_swap_a_ptr, (void const   *)_swap_b_ptr, sizeof(*end) + (sizeof(char [1]) - 1UL));
          memcpy(_swap_b_ptr, (void const   *)(_swap_buffer), sizeof(*end));
          goto while_break;
        }
        while_break: /* CIL Label */ ;
        }
      }
    }
  }
  return (0);
}
}
char const   *skip_range_arg(char const   *arg , struct index_state *istate )
{
  char const   *tmp ;

  {
  if ((int const   )*arg == 58) {
    tmp = parse_range_funcname(arg, (char const   *(*)(void *data , long lno ))((void *)0),
                               (void *)0, 0L, 0L, (long *)((void *)0), (long *)((void *)0),
                               (char const   *)((void *)0), istate);
    return (tmp);
  } else
  if ((int const   )*arg == 94) {
    if ((int const   )*(arg + 1) == 58) {
      tmp = parse_range_funcname(arg, (char const   *(*)(void *data , long lno ))((void *)0),
                                 (void *)0, 0L, 0L, (long *)((void *)0), (long *)((void *)0),
                                 (char const   *)((void *)0), istate);
      return (tmp);
    }
  }
  arg = parse_loc(arg, (char const   *(*)(void *data , long lno ))((void *)0), (void *)0,
                  0L, -1L, (long *)((void *)0));
  if ((int const   )*arg == 44) {
    arg = parse_loc(arg + 1, (char const   *(*)(void *data , long lno ))((void *)0),
                    (void *)0, 0L, 0L, (long *)((void *)0));
  }
  return (arg);
}
}
void compute_assignment(int column_count , int row_count , int *cost , int *column2row ,
                        int *row2column ) ;
void compute_assignment(int column_count , int row_count , int *cost , int *column2row ,
                        int *row2column )
{
  int *v ;
  int *d ;
  int *free_row ;
  int free_count ;
  int saved_free_count ;
  int *pred ;
  int *col ;
  int i ;
  int j ;
  int phase ;
  size_t tmp ;
  void *tmp___0 ;
  int i1 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  int j1 ;
  int tmp___3 ;
  int min ;
  int tmp___4 ;
  int k ;
  int u1 ;
  int u2 ;
  int j1___0 ;
  int j2 ;
  int i0 ;
  int tmp___5 ;
  int c___0 ;
  int tmp___6 ;
  size_t tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;
  int i1___0 ;
  int low ;
  int up ;
  int last ;
  int k___0 ;
  int min___0 ;
  int c___1 ;
  int u1___0 ;
  int tmp___13 ;
  int tmp___14 ;
  int j1___1 ;
  int tmp___15 ;
  int tmp___16 ;
  int j1___2 ;
  void *_swap_a_ptr ;
  void *_swap_b_ptr ;
  unsigned char _swap_buffer[sizeof(j)] ;

  {
  free_count = 0;
  if (column_count < 2) {
    memset((void *)column2row, 0, sizeof(int ) * (unsigned long )column_count);
    memset((void *)row2column, 0, sizeof(int ) * (unsigned long )row_count);
    return;
  }
  memset((void *)column2row, -1, sizeof(int ) * (unsigned long )column_count);
  memset((void *)row2column, -1, sizeof(int ) * (unsigned long )row_count);
  tmp = st_mult(sizeof(*v), (size_t )column_count);
  tmp___0 = xmalloc(tmp);
  v = (int *)tmp___0;
  j = column_count - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (j >= 0)) {
      goto while_break;
    }
    i1 = 0;
    i = 1;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < row_count)) {
        goto while_break___0;
      }
      if (*(cost + (j + column_count * i1)) > *(cost + (j + column_count * i))) {
        i1 = i;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    *(v + j) = *(cost + (j + column_count * i1));
    if (*(row2column + i1) == -1) {
      *(row2column + i1) = j;
      *(column2row + j) = i1;
    } else {
      if (*(row2column + i1) >= 0) {
        *(row2column + i1) = -2 - *(row2column + i1);
      }
      *(column2row + j) = -1;
    }
    j --;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = st_mult(sizeof(*free_row), (size_t )row_count);
  tmp___2 = xmalloc(tmp___1);
  free_row = (int *)tmp___2;
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < row_count)) {
      goto while_break___1;
    }
    j1 = *(row2column + i);
    if (j1 == -1) {
      tmp___3 = free_count;
      free_count ++;
      *(free_row + tmp___3) = i;
    } else
    if (j1 < -1) {
      *(row2column + i) = -2 - j1;
    } else {
      min = *(cost + (! j1 + column_count * i)) - *(v + ! j1);
      j = 1;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (! (j < column_count)) {
          goto while_break___2;
        }
        if (j != j1) {
          if (min > *(cost + (j + column_count * i)) - *(v + j)) {
            min = *(cost + (j + column_count * i)) - *(v + j);
          }
        }
        j ++;
      }
      while_break___2: /* CIL Label */ ;
      }
      *(v + j1) -= min;
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  if (column_count < row_count) {
    tmp___4 = row_count - column_count;
  } else {
    tmp___4 = 0;
  }
  if (free_count == tmp___4) {
    free((void *)v);
    free((void *)free_row);
    return;
  }
  phase = 0;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! (phase < 2)) {
      goto while_break___3;
    }
    k = 0;
    saved_free_count = free_count;
    free_count = 0;
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (! (k < saved_free_count)) {
        goto while_break___4;
      }
      j1___0 = 0;
      tmp___5 = k;
      k ++;
      i = *(free_row + tmp___5);
      u1 = *(cost + (j1___0 + column_count * i)) - *(v + j1___0);
      j2 = -1;
      u2 = 0x7fffffff;
      j = 1;
      {
      while (1) {
        while_continue___5: /* CIL Label */ ;
        if (! (j < column_count)) {
          goto while_break___5;
        }
        c___0 = *(cost + (j + column_count * i)) - *(v + j);
        if (u2 > c___0) {
          if (u1 < c___0) {
            u2 = c___0;
            j2 = j;
          } else {
            u2 = u1;
            u1 = c___0;
            j2 = j1___0;
            j1___0 = j;
          }
        }
        j ++;
      }
      while_break___5: /* CIL Label */ ;
      }
      if (j2 < 0) {
        j2 = j1___0;
        u2 = u1;
      }
      i0 = *(column2row + j1___0);
      if (u1 < u2) {
        *(v + j1___0) -= u2 - u1;
      } else
      if (i0 >= 0) {
        j1___0 = j2;
        i0 = *(column2row + j1___0);
      }
      if (i0 >= 0) {
        if (u1 < u2) {
          k --;
          *(free_row + k) = i0;
        } else {
          tmp___6 = free_count;
          free_count ++;
          *(free_row + tmp___6) = i0;
        }
      }
      *(row2column + i) = j1___0;
      *(column2row + j1___0) = i;
    }
    while_break___4: /* CIL Label */ ;
    }
    phase ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  saved_free_count = free_count;
  tmp___7 = st_mult(sizeof(*d), (size_t )column_count);
  tmp___8 = xmalloc(tmp___7);
  d = (int *)tmp___8;
  tmp___9 = st_mult(sizeof(*pred), (size_t )column_count);
  tmp___10 = xmalloc(tmp___9);
  pred = (int *)tmp___10;
  tmp___11 = st_mult(sizeof(*col), (size_t )column_count);
  tmp___12 = xmalloc(tmp___11);
  col = (int *)tmp___12;
  free_count = 0;
  {
  while (1) {
    while_continue___6: /* CIL Label */ ;
    if (! (free_count < saved_free_count)) {
      goto while_break___6;
    }
    i1___0 = *(free_row + free_count);
    low = 0;
    up = 0;
    j = 0;
    {
    while (1) {
      while_continue___7: /* CIL Label */ ;
      if (! (j < column_count)) {
        goto while_break___7;
      }
      *(d + j) = *(cost + (j + column_count * i1___0)) - *(v + j);
      *(pred + j) = i1___0;
      *(col + j) = j;
      j ++;
    }
    while_break___7: /* CIL Label */ ;
    }
    j = -1;
    {
    while (1) {
      while_continue___8: /* CIL Label */ ;
      last = low;
      tmp___13 = up;
      up ++;
      min___0 = *(d + *(col + tmp___13));
      k___0 = up;
      {
      while (1) {
        while_continue___9: /* CIL Label */ ;
        if (! (k___0 < column_count)) {
          goto while_break___9;
        }
        j = *(col + k___0);
        c___1 = *(d + j);
        if (c___1 <= min___0) {
          if (c___1 < min___0) {
            up = low;
            min___0 = c___1;
          }
          *(col + k___0) = *(col + up);
          tmp___14 = up;
          up ++;
          *(col + tmp___14) = j;
        }
        k___0 ++;
      }
      while_break___9: /* CIL Label */ ;
      }
      k___0 = low;
      {
      while (1) {
        while_continue___10: /* CIL Label */ ;
        if (! (k___0 < up)) {
          goto while_break___10;
        }
        if (*(column2row + *(col + k___0)) == -1) {
          goto update;
        }
        k___0 ++;
      }
      while_break___10: /* CIL Label */ ;
      }
      {
      while (1) {
        while_continue___11: /* CIL Label */ ;
        tmp___15 = low;
        low ++;
        j1___1 = *(col + tmp___15);
        i = *(column2row + j1___1);
        u1___0 = (*(cost + (j1___1 + column_count * i)) - *(v + j1___1)) - min___0;
        k___0 = up;
        {
        while (1) {
          while_continue___12: /* CIL Label */ ;
          if (! (k___0 < column_count)) {
            goto while_break___12;
          }
          j = *(col + k___0);
          c___1 = (*(cost + (j + column_count * i)) - *(v + j)) - u1___0;
          if (c___1 < *(d + j)) {
            *(d + j) = c___1;
            *(pred + j) = i;
            if (c___1 == min___0) {
              if (*(column2row + j) == -1) {
                goto update;
              }
              *(col + k___0) = *(col + up);
              tmp___16 = up;
              up ++;
              *(col + tmp___16) = j;
            }
          }
          k___0 ++;
        }
        while_break___12: /* CIL Label */ ;
        }
        if (! (low != up)) {
          goto while_break___11;
        }
      }
      while_break___11: /* CIL Label */ ;
      }
      if (! (low == up)) {
        goto while_break___8;
      }
    }
    while_break___8: /* CIL Label */ ;
    }
    update:
    k___0 = 0;
    {
    while (1) {
      while_continue___13: /* CIL Label */ ;
      if (! (k___0 < last)) {
        goto while_break___13;
      }
      j1___2 = *(col + k___0);
      *(v + j1___2) += *(d + j1___2) - min___0;
      k___0 ++;
    }
    while_break___13: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___14: /* CIL Label */ ;
      if (j < 0) {
        BUG_fl((char const   *)"linear-assignment.c", 195, (char const   *)"negative j: %d",
               j);
      }
      i = *(pred + j);
      *(column2row + j) = i;
      {
      while (1) {
        while_continue___15: /* CIL Label */ ;
        _swap_a_ptr = (void *)(& j);
        _swap_b_ptr = (void *)(row2column + i);
        memcpy((void *)(_swap_buffer), (void const   *)_swap_a_ptr, sizeof(j));
        memcpy(_swap_a_ptr, (void const   *)_swap_b_ptr, sizeof(j) + (sizeof(char [1]) - 1UL));
        memcpy(_swap_b_ptr, (void const   *)(_swap_buffer), sizeof(j));
        goto while_break___15;
      }
      while_break___15: /* CIL Label */ ;
      }
      if (! (i1___0 != i)) {
        goto while_break___14;
      }
    }
    while_break___14: /* CIL Label */ ;
    }
    free_count ++;
  }
  while_break___6: /* CIL Label */ ;
  }
  free((void *)col);
  free((void *)pred);
  free((void *)d);
  free((void *)v);
  free((void *)free_row);
  return;
}
}
static double const   __ac_HASH_UPPER___41  =    (double const   )0.77;
__inline static void kh_resize_oid_set___41(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___41(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___41 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___41 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___41(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___41(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___41(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___41(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___41(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___41(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___41 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___41 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___41(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___41(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___41(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___41(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___41(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___41(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___41 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___41 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___41(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___41(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___41(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___41(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
struct filter *list_objects_filter__init(struct oidset *omitted , struct list_objects_filter_options *filter_options___3 ) ;
enum list_objects_filter_result list_objects_filter__filter_object(struct repository *r ,
                                                                   enum list_objects_filter_situation filter_situation ,
                                                                   struct object *obj ,
                                                                   char const   *pathname ,
                                                                   char const   *filename___0 ,
                                                                   struct filter *filter___0 ) ;
void list_objects_filter__free(struct filter *filter___0 ) ;
static int parse_combine_filter(struct list_objects_filter_options *filter_options___3 ,
                                char const   *arg , struct strbuf *errbuf ) ;
char const   *list_object_filter_config_name(enum list_objects_filter_choice c___0 )
{


  {
  {
  if ((unsigned int )c___0 == 0U) {
    goto case_0;
  }
  if ((unsigned int )c___0 == 1U) {
    goto case_1;
  }
  if ((unsigned int )c___0 == 2U) {
    goto case_2;
  }
  if ((unsigned int )c___0 == 3U) {
    goto case_3;
  }
  if ((unsigned int )c___0 == 4U) {
    goto case_4;
  }
  if ((unsigned int )c___0 == 5U) {
    goto case_5;
  }
  if ((unsigned int )c___0 == 6U) {
    goto case_6;
  }
  if ((unsigned int )c___0 == 7U) {
    goto case_7;
  }
  goto switch_break;
  case_0: /* CIL Label */
  goto switch_break;
  case_1: /* CIL Label */
  return ((char const   *)"blob:none");
  case_2: /* CIL Label */
  return ((char const   *)"blob:limit");
  case_3: /* CIL Label */
  return ((char const   *)"tree");
  case_4: /* CIL Label */
  return ((char const   *)"sparse:oid");
  case_5: /* CIL Label */
  return ((char const   *)"object:type");
  case_6: /* CIL Label */
  return ((char const   *)"combine");
  case_7: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  BUG_fl((char const   *)"list-objects-filter-options.c", 40, (char const   *)"list_object_filter_config_name: invalid argument \'%d\'",
         (unsigned int )c___0);
}
}
static int gently_parse_list_objects_filter(struct list_objects_filter_options *filter_options___3 ,
                                            char const   *arg , struct strbuf *errbuf )
{
  char const   *v0 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int type___0 ;
  size_t tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;

  {
  if (! arg) {
    return (0);
  }
  if (filter_options___3->choice) {
    BUG_fl((char const   *)"list-objects-filter-options.c", 69, (char const   *)"filter_options already populated");
  }
  tmp___13 = strcmp(arg, (char const   *)"blob:none");
  if (tmp___13) {
    tmp___12 = skip_prefix(arg, (char const   *)"blob:limit=", & v0);
    if (tmp___12) {
      tmp = git_parse_ulong(v0, & filter_options___3->blob_limit_value);
      if (tmp) {
        filter_options___3->choice = (enum list_objects_filter_choice )2;
        return (0);
      }
    } else {
      tmp___11 = skip_prefix(arg, (char const   *)"tree:", & v0);
      if (tmp___11) {
        tmp___1 = git_parse_ulong(v0, & filter_options___3->tree_exclude_depth);
        if (! tmp___1) {
          tmp___0 = _((char const   *)"expected \'tree:<depth>\'");
          strbuf_addstr(errbuf, (char const   *)tmp___0);
          return (1);
        }
        filter_options___3->choice = (enum list_objects_filter_choice )3;
        return (0);
      } else {
        tmp___10 = skip_prefix(arg, (char const   *)"sparse:oid=", & v0);
        if (tmp___10) {
          filter_options___3->sparse_oid_name = xstrdup(v0);
          filter_options___3->choice = (enum list_objects_filter_choice )4;
          return (0);
        } else {
          tmp___9 = skip_prefix(arg, (char const   *)"sparse:path=", & v0);
          if (tmp___9) {
            if (errbuf) {
              tmp___2 = _((char const   *)"sparse:path filters support has been dropped");
              strbuf_addstr(errbuf, (char const   *)tmp___2);
            }
            return (1);
          } else {
            tmp___8 = skip_prefix(arg, (char const   *)"object:type=", & v0);
            if (tmp___8) {
              tmp___3 = strlen(v0);
              tmp___4 = type_from_string_gently(v0, (ssize_t )tmp___3, 1);
              type___0 = tmp___4;
              if (type___0 < 0) {
                tmp___5 = _((char const   *)"\'%s\' for \'object:type=<type>\' is not a valid object type");
                strbuf_addf(errbuf, (char const   *)tmp___5, v0);
                return (1);
              }
              filter_options___3->object_type = (enum object_type )type___0;
              filter_options___3->choice = (enum list_objects_filter_choice )5;
              return (0);
            } else {
              tmp___7 = skip_prefix(arg, (char const   *)"combine:", & v0);
              if (tmp___7) {
                tmp___6 = parse_combine_filter(filter_options___3, v0, errbuf);
                return (tmp___6);
              }
            }
          }
        }
      }
    }
  } else {
    filter_options___3->choice = (enum list_objects_filter_choice )1;
    return (0);
  }
  tmp___14 = _((char const   *)"invalid filter-spec \'%s\'");
  strbuf_addf(errbuf, (char const   *)tmp___14, arg);
  memset((void *)filter_options___3, 0, sizeof(*filter_options___3));
  return (1);
}
}
static char const   *RESERVED_NON_WS  =    (char const   *)"~`!@#$^&*()[]{}\\;\'\",<>?";
static int has_reserved_character(struct strbuf *sub_spec , struct strbuf *errbuf )
{
  char const   *c___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char *tmp___0 ;

  {
  c___0 = (char const   *)sub_spec->buf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *c___0) {
      goto while_break;
    }
    if ((int const   )*c___0 <= 32) {
      tmp = _((char const   *)"must escape char in sub-filter-spec: \'%c\'");
      strbuf_addf(errbuf, (char const   *)tmp, (int const   )*c___0);
      return (1);
    } else {
      tmp___0 = strchr(RESERVED_NON_WS, (int )*c___0);
      if (tmp___0) {
        tmp = _((char const   *)"must escape char in sub-filter-spec: \'%c\'");
        strbuf_addf(errbuf, (char const   *)tmp, (int const   )*c___0);
        return (1);
      }
    }
    c___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int parse_combine_subfilter(struct list_objects_filter_options *filter_options___3 ,
                                   struct strbuf *subspec , struct strbuf *errbuf )
{
  size_t new_index ;
  char *decoded ;
  int result___0 ;
  size_t new_nr ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  new_index = filter_options___3->sub_nr;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    new_nr = filter_options___3->sub_nr + 1UL;
    if (new_nr < filter_options___3->sub_nr) {
      BUG_fl((char const   *)"list-objects-filter-options.c", 160, (char const   *)"negative growth in ALLOC_GROW_BY");
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (new_nr > filter_options___3->sub_alloc) {
        if (((filter_options___3->sub_alloc + 16UL) * 3UL) / 2UL < new_nr) {
          filter_options___3->sub_alloc = new_nr;
        } else {
          filter_options___3->sub_alloc = ((filter_options___3->sub_alloc + 16UL) * 3UL) / 2UL;
        }
        tmp = st_mult(sizeof(*(filter_options___3->sub)), filter_options___3->sub_alloc);
        tmp___0 = xrealloc((void *)filter_options___3->sub, tmp);
        filter_options___3->sub = (struct list_objects_filter_options *)tmp___0;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    memset((void *)(filter_options___3->sub + filter_options___3->sub_nr), 0, sizeof(*(filter_options___3->sub)));
    filter_options___3->sub_nr = new_nr;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  decoded = url_percent_decode((char const   *)subspec->buf);
  tmp___1 = has_reserved_character(subspec, errbuf);
  if (tmp___1) {
    tmp___3 = 1;
  } else {
    tmp___2 = gently_parse_list_objects_filter(filter_options___3->sub + new_index,
                                               (char const   *)decoded, errbuf);
    if (tmp___2) {
      tmp___3 = 1;
    } else {
      tmp___3 = 0;
    }
  }
  result___0 = tmp___3;
  free((void *)decoded);
  return (result___0);
}
}
static int parse_combine_filter(struct list_objects_filter_options *filter_options___3 ,
                                char const   *arg , struct strbuf *errbuf )
{
  struct strbuf **subspecs ;
  struct strbuf **tmp ;
  size_t sub ;
  int result___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  size_t last ;

  {
  tmp = strbuf_split_str(arg, '+', 0);
  subspecs = tmp;
  result___0 = 0;
  if (! *(subspecs + 0)) {
    tmp___0 = _((char const   *)"expected something after combine:");
    strbuf_addstr(errbuf, (char const   *)tmp___0);
    result___0 = 1;
    goto cleanup;
  }
  sub = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*(subspecs + sub)) {
      if (! (! result___0)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if (*(subspecs + (sub + 1UL))) {
      last = (*(subspecs + sub))->len - 1UL;
      assert((int )*((*(subspecs + sub))->buf + last) == 43);
      strbuf_remove(*(subspecs + sub), last, (size_t )1);
    }
    result___0 = parse_combine_subfilter(filter_options___3, *(subspecs + sub), errbuf);
    sub ++;
  }
  while_break: /* CIL Label */ ;
  }
  filter_options___3->choice = (enum list_objects_filter_choice )6;
  cleanup:
  strbuf_list_free(subspecs);
  if (result___0) {
    list_objects_filter_release(filter_options___3);
    memset((void *)filter_options___3, 0, sizeof(*filter_options___3));
  }
  return (result___0);
}
}
static int allow_unencoded(char ch___0 )
{
  char *tmp ;
  int tmp___0 ;

  {
  if ((int )ch___0 <= 32) {
    return (0);
  } else
  if ((int )ch___0 == 37) {
    return (0);
  } else
  if ((int )ch___0 == 43) {
    return (0);
  }
  tmp = strchr(RESERVED_NON_WS, (int )ch___0);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
static void filter_spec_append_urlencode(struct list_objects_filter_options *filter___0 ,
                                         char const   *raw )
{
  struct strbuf buf___19 ;
  int tmp ;
  char *tmp___0 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  strbuf_addstr_urlencode(& buf___19, raw, & allow_unencoded);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = trace_pass_fl(& trace_default_key);
    if (tmp) {
      trace_printf_key_fl((char const   *)"list-objects-filter-options.c", 224, & trace_default_key,
                          (char const   *)"Add to combine filter-spec: %s\n", buf___19.buf);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = strbuf_detach(& buf___19, (size_t *)((void *)0));
  string_list_append(& filter___0->filter_spec, (char const   *)tmp___0);
  return;
}
}
static void transform_to_combine_type(struct list_objects_filter_options *filter_options___3 )
{
  int initial_sub_alloc ;
  struct list_objects_filter_options *sub_array ;
  void *tmp ;
  char *tmp___0 ;
  char const   *tmp___1 ;

  {
  assert((int )filter_options___3->choice);
  if ((unsigned int )filter_options___3->choice == 6U) {
    return;
  }
  initial_sub_alloc = (int )2;
  tmp = xcalloc((size_t )initial_sub_alloc, sizeof(*sub_array));
  sub_array = (struct list_objects_filter_options *)tmp;
  *(sub_array + 0) = *filter_options___3;
  memset((void *)filter_options___3, 0, sizeof(*filter_options___3));
  filter_options___3->sub = sub_array;
  filter_options___3->sub_alloc = (size_t )initial_sub_alloc;
  filter_options___3->sub_nr = (size_t )1;
  filter_options___3->choice = (enum list_objects_filter_choice )6;
  tmp___0 = xstrdup((char const   *)"combine:");
  string_list_append(& filter_options___3->filter_spec, (char const   *)tmp___0);
  tmp___1 = list_objects_filter_spec(filter_options___3->sub + 0);
  filter_spec_append_urlencode(filter_options___3, tmp___1);
  string_list_clear(& (filter_options___3->sub + 0)->filter_spec, 0);
  return;
}
}
void list_objects_filter_die_if_populated(struct list_objects_filter_options *filter_options___3 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if (filter_options___3->choice) {
    tmp = _((char const   *)"multiple filter-specs cannot be combined");
    die((char const   *)tmp);
  }
  return;
}
}
void parse_list_objects_filter(struct list_objects_filter_options *filter_options___3 ,
                               char const   *arg )
{
  struct strbuf errbuf ;
  int parse_error ;
  char *tmp ;
  char *tmp___0 ;
  size_t new_nr ;
  size_t tmp___1 ;
  void *tmp___2 ;

  {
  errbuf.alloc = 0UL;
  errbuf.len = 0UL;
  errbuf.buf = strbuf_slopbuf;
  if (! filter_options___3->choice) {
    tmp = xstrdup(arg);
    string_list_append(& filter_options___3->filter_spec, (char const   *)tmp);
    parse_error = gently_parse_list_objects_filter(filter_options___3, arg, & errbuf);
  } else {
    transform_to_combine_type(filter_options___3);
    tmp___0 = xstrdup((char const   *)"+");
    string_list_append(& filter_options___3->filter_spec, (char const   *)tmp___0);
    filter_spec_append_urlencode(filter_options___3, arg);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      new_nr = filter_options___3->sub_nr + 1UL;
      if (new_nr < filter_options___3->sub_nr) {
        BUG_fl((char const   *)"list-objects-filter-options.c", 289, (char const   *)"negative growth in ALLOC_GROW_BY");
      }
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (new_nr > filter_options___3->sub_alloc) {
          if (((filter_options___3->sub_alloc + 16UL) * 3UL) / 2UL < new_nr) {
            filter_options___3->sub_alloc = new_nr;
          } else {
            filter_options___3->sub_alloc = ((filter_options___3->sub_alloc + 16UL) * 3UL) / 2UL;
          }
          tmp___1 = st_mult(sizeof(*(filter_options___3->sub)), filter_options___3->sub_alloc);
          tmp___2 = xrealloc((void *)filter_options___3->sub, tmp___1);
          filter_options___3->sub = (struct list_objects_filter_options *)tmp___2;
        }
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
      memset((void *)(filter_options___3->sub + filter_options___3->sub_nr), 0, sizeof(*(filter_options___3->sub)));
      filter_options___3->sub_nr = new_nr;
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    parse_error = gently_parse_list_objects_filter(filter_options___3->sub + (filter_options___3->sub_nr - 1UL),
                                                   arg, & errbuf);
  }
  if (parse_error) {
    die((char const   *)"%s", errbuf.buf);
  }
  return;
}
}
int opt_parse_list_objects_filter(struct option  const  *opt___0 , char const   *arg ,
                                  int unset )
{
  struct list_objects_filter_options *filter_options___3 ;

  {
  filter_options___3 = (struct list_objects_filter_options *)opt___0->value;
  if (unset) {
    list_objects_filter_set_no_filter(filter_options___3);
  } else
  if (! arg) {
    list_objects_filter_set_no_filter(filter_options___3);
  } else {
    parse_list_objects_filter(filter_options___3, arg);
  }
  return (0);
}
}
char const   *list_objects_filter_spec(struct list_objects_filter_options *filter___0 )
{
  struct strbuf concatted ;
  char *tmp ;

  {
  if (! filter___0->filter_spec.nr) {
    BUG_fl((char const   *)"list-objects-filter-options.c", 314, (char const   *)"no filter_spec available for this filter");
  }
  if (filter___0->filter_spec.nr != 1U) {
    concatted.alloc = 0UL;
    concatted.len = 0UL;
    concatted.buf = strbuf_slopbuf;
    strbuf_add_separated_string_list(& concatted, (char const   *)"", & filter___0->filter_spec);
    string_list_clear(& filter___0->filter_spec, 0);
    tmp = strbuf_detach(& concatted, (size_t *)((void *)0));
    string_list_append(& filter___0->filter_spec, (char const   *)tmp);
  }
  return ((char const   *)(filter___0->filter_spec.items + 0)->string);
}
}
char const   *expand_list_objects_filter_spec(struct list_objects_filter_options *filter___0 )
{
  struct strbuf expanded_spec ;
  char *tmp ;
  char const   *tmp___0 ;

  {
  if ((unsigned int )filter___0->choice == 2U) {
    expanded_spec.alloc = 0UL;
    expanded_spec.len = 0UL;
    expanded_spec.buf = strbuf_slopbuf;
    strbuf_addf(& expanded_spec, (char const   *)"blob:limit=%lu", filter___0->blob_limit_value);
    string_list_clear(& filter___0->filter_spec, 0);
    tmp = strbuf_detach(& expanded_spec, (size_t *)((void *)0));
    string_list_append(& filter___0->filter_spec, (char const   *)tmp);
  }
  tmp___0 = list_objects_filter_spec(filter___0);
  return (tmp___0);
}
}
void list_objects_filter_release(struct list_objects_filter_options *filter_options___3 )
{
  size_t sub ;

  {
  if (! filter_options___3) {
    return;
  }
  string_list_clear(& filter_options___3->filter_spec, 0);
  free((void *)filter_options___3->sparse_oid_name);
  sub = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (sub < filter_options___3->sub_nr)) {
      goto while_break;
    }
    list_objects_filter_release(filter_options___3->sub + sub);
    sub ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)filter_options___3->sub);
  memset((void *)filter_options___3, 0, sizeof(*filter_options___3));
  return;
}
}
void partial_clone_register(char const   *remote , struct list_objects_filter_options *filter_options___3 )
{
  struct promisor_remote *promisor_remote ;
  char *cfg_name ;
  char *filter_name ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;

  {
  promisor_remote = promisor_remote_find(remote);
  if (promisor_remote) {
    if (promisor_remote->partial_clone_filter) {
      return;
    }
  } else {
    tmp___0 = upgrade_repository_format(1);
    if (tmp___0 < 0) {
      tmp = _((char const   *)"unable to upgrade repository format to support partial clone");
      die((char const   *)tmp);
    }
    cfg_name = xstrfmt((char const   *)"remote.%s.promisor", remote);
    git_config_set((char const   *)cfg_name, (char const   *)"true");
    free((void *)cfg_name);
  }
  filter_name = xstrfmt((char const   *)"remote.%s.partialclonefilter", remote);
  tmp___1 = expand_list_objects_filter_spec(filter_options___3);
  git_config_set((char const   *)filter_name, tmp___1);
  free((void *)filter_name);
  promisor_remote_reinit();
  return;
}
}
void partial_clone_get_default_filter_spec(struct list_objects_filter_options *filter_options___3 ,
                                           char const   *remote )
{
  struct promisor_remote *promisor ;
  struct promisor_remote *tmp ;
  struct strbuf errbuf ;

  {
  tmp = promisor_remote_find(remote);
  promisor = tmp;
  errbuf.alloc = 0UL;
  errbuf.len = 0UL;
  errbuf.buf = strbuf_slopbuf;
  if (! promisor) {
    return;
  }
  string_list_append(& filter_options___3->filter_spec, promisor->partial_clone_filter);
  gently_parse_list_objects_filter(filter_options___3, promisor->partial_clone_filter,
                                   & errbuf);
  strbuf_release(& errbuf);
  return;
}
}
static double const   __ac_HASH_UPPER___42  =    (double const   )0.77;
__inline static void kh_resize_oid_set___42(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___42(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___42 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___42 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___42(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___42(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___42(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___42(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___42(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___42(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___42 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___42 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___42(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___42(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___42(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___42(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___42(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___42(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___42 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___42 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___42(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___42(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___42(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___42(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___28(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___28(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___42 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___42 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___28(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___28(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___28(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___28(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static enum list_objects_filter_result filter_blobs_none(struct repository *r , enum list_objects_filter_situation filter_situation ,
                                                         struct object *obj , char const   *pathname ,
                                                         char const   *filename___0 ,
                                                         struct oidset *omits , void *filter_data_ )
{


  {
  {
  if ((unsigned int )filter_situation == 1U) {
    goto case_1;
  }
  if ((unsigned int )filter_situation == 0U) {
    goto case_0;
  }
  if ((unsigned int )filter_situation == 2U) {
    goto case_2;
  }
  if ((unsigned int )filter_situation == 3U) {
    goto case_3;
  }
  if ((unsigned int )filter_situation == 4U) {
    goto case_4;
  }
  goto switch_default;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"list-objects-filter.c", 83, (char const   *)"unknown filter_situation: %d",
         (unsigned int )filter_situation);
  case_1: /* CIL Label */
  assert(obj->type == 4U);
  return ((enum list_objects_filter_result )3);
  case_0: /* CIL Label */
  assert(obj->type == 1U);
  return ((enum list_objects_filter_result )3);
  case_2: /* CIL Label */
  assert(obj->type == 2U);
  return ((enum list_objects_filter_result )3);
  case_3: /* CIL Label */
  assert(obj->type == 2U);
  return ((enum list_objects_filter_result )0);
  case_4: /* CIL Label */
  assert(obj->type == 3U);
  assert((obj->flags & 1u) == 0U);
  if (omits) {
    oidset_insert(omits, (struct object_id  const  *)(& obj->oid));
  }
  return ((enum list_objects_filter_result )1);
  switch_break: /* CIL Label */ ;
  }
}
}
static void filter_blobs_none__init(struct list_objects_filter_options *filter_options___3 ,
                                    struct filter *filter___0 )
{


  {
  filter___0->filter_object_fn = & filter_blobs_none;
  filter___0->free_fn = (void (*)(void *filter_data ))(& free);
  return;
}
}
static int filter_trees_update_omits(struct object *obj , struct oidset *omits , int include_it )
{
  int tmp ;
  int tmp___0 ;

  {
  if (! omits) {
    return (0);
  }
  if (include_it) {
    tmp = oidset_remove(omits, (struct object_id  const  *)(& obj->oid));
    return (tmp);
  } else {
    tmp___0 = oidset_insert(omits, (struct object_id  const  *)(& obj->oid));
    return (tmp___0);
  }
}
}
static enum list_objects_filter_result filter_trees_depth(struct repository *r , enum list_objects_filter_situation filter_situation ,
                                                          struct object *obj , char const   *pathname ,
                                                          char const   *filename___0 ,
                                                          struct oidset *omits , void *filter_data_ )
{
  struct filter_trees_depth_data *filter_data ;
  struct seen_map_entry *seen_info ;
  int include_it ;
  int filter_res ;
  int already_seen ;
  int tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  int been_omitted ;
  int tmp___2 ;

  {
  filter_data = (struct filter_trees_depth_data *)filter_data_;
  include_it = filter_data->current_depth < filter_data->exclude_depth;
  {
  if ((unsigned int )filter_situation == 1U) {
    goto case_1;
  }
  if ((unsigned int )filter_situation == 0U) {
    goto case_0;
  }
  if ((unsigned int )filter_situation == 3U) {
    goto case_3;
  }
  if ((unsigned int )filter_situation == 4U) {
    goto case_4;
  }
  if ((unsigned int )filter_situation == 2U) {
    goto case_2;
  }
  goto switch_default;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"list-objects-filter.c", 184, (char const   *)"unknown filter_situation: %d",
         (unsigned int )filter_situation);
  case_1: /* CIL Label */
  assert(obj->type == 4U);
  return ((enum list_objects_filter_result )3);
  case_0: /* CIL Label */
  assert(obj->type == 1U);
  return ((enum list_objects_filter_result )3);
  case_3: /* CIL Label */
  assert(obj->type == 2U);
  (filter_data->current_depth) --;
  return ((enum list_objects_filter_result )0);
  case_4: /* CIL Label */
  filter_trees_update_omits(obj, omits, include_it);
  if (include_it) {
    tmp = 3;
  } else {
    tmp = 0;
  }
  return ((enum list_objects_filter_result )tmp);
  case_2: /* CIL Label */
  tmp___0 = oidmap_get((struct oidmap  const  *)(& filter_data->seen_at_depth), (struct object_id  const  *)(& obj->oid));
  seen_info = (struct seen_map_entry *)tmp___0;
  if (! seen_info) {
    tmp___1 = xcalloc((size_t )1, sizeof(*seen_info));
    seen_info = (struct seen_map_entry *)tmp___1;
    oidcpy(& seen_info->base.oid, (struct object_id  const  *)(& obj->oid));
    seen_info->depth = filter_data->current_depth;
    oidmap_put(& filter_data->seen_at_depth, (void *)seen_info);
    already_seen = 0;
  } else {
    already_seen = filter_data->current_depth >= seen_info->depth;
  }
  if (already_seen) {
    filter_res = 4;
  } else {
    tmp___2 = filter_trees_update_omits(obj, omits, include_it);
    been_omitted = tmp___2;
    seen_info->depth = filter_data->current_depth;
    if (include_it) {
      filter_res = 2;
    } else
    if (omits) {
      if (! been_omitted) {
        filter_res = 0;
      } else {
        filter_res = 4;
      }
    } else {
      filter_res = 4;
    }
  }
  (filter_data->current_depth) ++;
  return ((enum list_objects_filter_result )filter_res);
  switch_break: /* CIL Label */ ;
  }
}
}
static void filter_trees_free(void *filter_data )
{
  struct filter_trees_depth_data *d ;

  {
  d = (struct filter_trees_depth_data *)filter_data;
  if (! d) {
    return;
  }
  oidmap_free(& d->seen_at_depth, 1);
  free((void *)d);
  return;
}
}
static void filter_trees_depth__init(struct list_objects_filter_options *filter_options___3 ,
                                     struct filter *filter___0 )
{
  struct filter_trees_depth_data *d ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(*d));
  d = (struct filter_trees_depth_data *)tmp;
  oidmap_init(& d->seen_at_depth, (size_t )0);
  d->exclude_depth = filter_options___3->tree_exclude_depth;
  d->current_depth = 0UL;
  filter___0->filter_data = (void *)d;
  filter___0->filter_object_fn = & filter_trees_depth;
  filter___0->free_fn = & filter_trees_free;
  return;
}
}
static enum list_objects_filter_result filter_blobs_limit(struct repository *r , enum list_objects_filter_situation filter_situation ,
                                                          struct object *obj , char const   *pathname ,
                                                          char const   *filename___0 ,
                                                          struct oidset *omits , void *filter_data_ )
{
  struct filter_blobs_limit_data *filter_data ;
  unsigned long object_length ;
  enum object_type t ;
  int tmp ;

  {
  filter_data = (struct filter_blobs_limit_data *)filter_data_;
  {
  if ((unsigned int )filter_situation == 1U) {
    goto case_1;
  }
  if ((unsigned int )filter_situation == 0U) {
    goto case_0;
  }
  if ((unsigned int )filter_situation == 2U) {
    goto case_2;
  }
  if ((unsigned int )filter_situation == 3U) {
    goto case_3;
  }
  if ((unsigned int )filter_situation == 4U) {
    goto case_4;
  }
  goto switch_default;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"list-objects-filter.c", 288, (char const   *)"unknown filter_situation: %d",
         (unsigned int )filter_situation);
  case_1: /* CIL Label */
  assert(obj->type == 4U);
  return ((enum list_objects_filter_result )3);
  case_0: /* CIL Label */
  assert(obj->type == 1U);
  return ((enum list_objects_filter_result )3);
  case_2: /* CIL Label */
  assert(obj->type == 2U);
  return ((enum list_objects_filter_result )3);
  case_3: /* CIL Label */
  assert(obj->type == 2U);
  return ((enum list_objects_filter_result )0);
  case_4: /* CIL Label */
  assert(obj->type == 3U);
  assert((obj->flags & 1u) == 0U);
  tmp = oid_object_info(r, (struct object_id  const  *)(& obj->oid), & object_length);
  t = (enum object_type )tmp;
  if ((int )t != 3) {
    goto include_it;
  }
  if (object_length < filter_data->max_bytes) {
    goto include_it;
  }
  if (omits) {
    oidset_insert(omits, (struct object_id  const  *)(& obj->oid));
  }
  return ((enum list_objects_filter_result )1);
  switch_break: /* CIL Label */ ;
  }
  include_it:
  if (omits) {
    oidset_remove(omits, (struct object_id  const  *)(& obj->oid));
  }
  return ((enum list_objects_filter_result )3);
}
}
static void filter_blobs_limit__init(struct list_objects_filter_options *filter_options___3 ,
                                     struct filter *filter___0 )
{
  struct filter_blobs_limit_data *d ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(*d));
  d = (struct filter_blobs_limit_data *)tmp;
  d->max_bytes = filter_options___3->blob_limit_value;
  filter___0->filter_data = (void *)d;
  filter___0->filter_object_fn = & filter_blobs_limit;
  filter___0->free_fn = (void (*)(void *filter_data ))(& free);
  return;
}
}
static enum list_objects_filter_result filter_sparse(struct repository *r , enum list_objects_filter_situation filter_situation ,
                                                     struct object *obj , char const   *pathname ,
                                                     char const   *filename___0 ,
                                                     struct oidset *omits , void *filter_data_ )
{
  struct filter_sparse_data *filter_data ;
  int dtype ;
  struct frame *frame ;
  enum pattern_match_result match___0 ;
  size_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  size_t tmp___2 ;

  {
  filter_data = (struct filter_sparse_data *)filter_data_;
  {
  if ((unsigned int )filter_situation == 1U) {
    goto case_1;
  }
  if ((unsigned int )filter_situation == 0U) {
    goto case_0;
  }
  if ((unsigned int )filter_situation == 2U) {
    goto case_2;
  }
  if ((unsigned int )filter_situation == 3U) {
    goto case_3;
  }
  if ((unsigned int )filter_situation == 4U) {
    goto case_4;
  }
  goto switch_default;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"list-objects-filter.c", 402, (char const   *)"unknown filter_situation: %d",
         (unsigned int )filter_situation);
  case_1: /* CIL Label */
  assert(obj->type == 4U);
  return ((enum list_objects_filter_result )3);
  case_0: /* CIL Label */
  assert(obj->type == 1U);
  return ((enum list_objects_filter_result )3);
  case_2: /* CIL Label */
  assert(obj->type == 2U);
  dtype = 4;
  tmp = strlen(pathname);
  match___0 = path_matches_pattern_list(pathname, (int )tmp, filename___0, & dtype,
                                        & filter_data->pl, r->index);
  if ((int )match___0 == -1) {
    match___0 = (filter_data->array_frame + (filter_data->nr - 1UL))->default_match;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (filter_data->nr + 1UL > filter_data->alloc) {
      if (((filter_data->alloc + 16UL) * 3UL) / 2UL < filter_data->nr + 1UL) {
        filter_data->alloc = filter_data->nr + 1UL;
      } else {
        filter_data->alloc = ((filter_data->alloc + 16UL) * 3UL) / 2UL;
      }
      tmp___0 = st_mult(sizeof(*(filter_data->array_frame)), filter_data->alloc);
      tmp___1 = xrealloc((void *)filter_data->array_frame, tmp___0);
      filter_data->array_frame = (struct frame *)tmp___1;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  (filter_data->array_frame + filter_data->nr)->default_match = match___0;
  (filter_data->array_frame + filter_data->nr)->child_prov_omit = 0U;
  (filter_data->nr) ++;
  if (obj->flags & (unsigned int )(1 << 21)) {
    return ((enum list_objects_filter_result )0);
  }
  obj->flags |= (unsigned int )(1 << 21);
  return ((enum list_objects_filter_result )2);
  case_3: /* CIL Label */
  assert(obj->type == 2U);
  assert(filter_data->nr > 1UL);
  (filter_data->nr) --;
  frame = filter_data->array_frame + filter_data->nr;
  (filter_data->array_frame + (filter_data->nr - 1UL))->child_prov_omit |= frame->child_prov_omit;
  if (! frame->child_prov_omit) {
    return ((enum list_objects_filter_result )1);
  }
  return ((enum list_objects_filter_result )0);
  case_4: /* CIL Label */
  assert(obj->type == 3U);
  assert((obj->flags & 1u) == 0U);
  frame = filter_data->array_frame + (filter_data->nr - 1UL);
  dtype = 8;
  tmp___2 = strlen(pathname);
  match___0 = path_matches_pattern_list(pathname, (int )tmp___2, filename___0, & dtype,
                                        & filter_data->pl, r->index);
  if ((int )match___0 == -1) {
    match___0 = frame->default_match;
  }
  if ((int )match___0 == 1) {
    if (omits) {
      oidset_remove(omits, (struct object_id  const  *)(& obj->oid));
    }
    return ((enum list_objects_filter_result )3);
  }
  if (omits) {
    oidset_insert(omits, (struct object_id  const  *)(& obj->oid));
  }
  frame->child_prov_omit = 1U;
  return ((enum list_objects_filter_result )0);
  switch_break: /* CIL Label */ ;
  }
}
}
static void filter_sparse_free(void *filter_data )
{
  struct filter_sparse_data *d ;

  {
  d = (struct filter_sparse_data *)filter_data;
  free((void *)d->array_frame);
  free((void *)d);
  return;
}
}
static void filter_sparse_oid__init(struct list_objects_filter_options *filter_options___3 ,
                                    struct filter *filter___0 )
{
  struct filter_sparse_data *d ;
  void *tmp ;
  struct object_context oc ;
  struct object_id sparse_oid ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  enum get_oid_result tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*d));
  d = (struct filter_sparse_data *)tmp;
  tmp___1 = get_oid_with_context(the_repository, (char const   *)filter_options___3->sparse_oid_name,
                                 32U, & sparse_oid, & oc);
  if (tmp___1) {
    tmp___0 = _((char const   *)"unable to access sparse blob in \'%s\'");
    die((char const   *)tmp___0, filter_options___3->sparse_oid_name);
  }
  tmp___4 = add_patterns_from_blob_to_list(& sparse_oid, (char const   *)"", 0, & d->pl);
  if (tmp___4 < 0) {
    tmp___2 = oid_to_hex((struct object_id  const  *)(& sparse_oid));
    tmp___3 = _((char const   *)"unable to parse sparse filter data in %s");
    die((char const   *)tmp___3, tmp___2);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (d->nr + 1UL > d->alloc) {
      if (((d->alloc + 16UL) * 3UL) / 2UL < d->nr + 1UL) {
        d->alloc = d->nr + 1UL;
      } else {
        d->alloc = ((d->alloc + 16UL) * 3UL) / 2UL;
      }
      tmp___5 = st_mult(sizeof(*(d->array_frame)), d->alloc);
      tmp___6 = xrealloc((void *)d->array_frame, tmp___5);
      d->array_frame = (struct frame *)tmp___6;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  (d->array_frame + d->nr)->default_match = (enum pattern_match_result )0;
  (d->array_frame + d->nr)->child_prov_omit = 0U;
  (d->nr) ++;
  filter___0->filter_data = (void *)d;
  filter___0->filter_object_fn = & filter_sparse;
  filter___0->free_fn = & filter_sparse_free;
  return;
}
}
static enum list_objects_filter_result filter_object_type(struct repository *r , enum list_objects_filter_situation filter_situation ,
                                                          struct object *obj , char const   *pathname ,
                                                          char const   *filename___0 ,
                                                          struct oidset *omits , void *filter_data_ )
{
  struct filter_object_type_data *filter_data ;

  {
  filter_data = (struct filter_object_type_data *)filter_data_;
  {
  if ((unsigned int )filter_situation == 1U) {
    goto case_1;
  }
  if ((unsigned int )filter_situation == 0U) {
    goto case_0;
  }
  if ((unsigned int )filter_situation == 2U) {
    goto case_2;
  }
  if ((unsigned int )filter_situation == 4U) {
    goto case_4;
  }
  if ((unsigned int )filter_situation == 3U) {
    goto case_3;
  }
  goto switch_default;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"list-objects-filter.c", 569, (char const   *)"unknown filter_situation: %d",
         (unsigned int )filter_situation);
  case_1: /* CIL Label */
  assert(obj->type == 4U);
  if ((int )filter_data->object_type == 4) {
    return ((enum list_objects_filter_result )3);
  }
  return ((enum list_objects_filter_result )1);
  case_0: /* CIL Label */
  assert(obj->type == 1U);
  if ((int )filter_data->object_type == 1) {
    return ((enum list_objects_filter_result )3);
  }
  return ((enum list_objects_filter_result )1);
  case_2: /* CIL Label */
  assert(obj->type == 2U);
  if ((int )filter_data->object_type == 1) {
    return ((enum list_objects_filter_result )4);
  } else
  if ((int )filter_data->object_type == 4) {
    return ((enum list_objects_filter_result )4);
  }
  if ((int )filter_data->object_type == 2) {
    return ((enum list_objects_filter_result )3);
  }
  return ((enum list_objects_filter_result )1);
  case_4: /* CIL Label */
  assert(obj->type == 3U);
  if ((int )filter_data->object_type == 3) {
    return ((enum list_objects_filter_result )3);
  }
  return ((enum list_objects_filter_result )1);
  case_3: /* CIL Label */
  return ((enum list_objects_filter_result )0);
  switch_break: /* CIL Label */ ;
  }
}
}
static void filter_object_type__init(struct list_objects_filter_options *filter_options___3 ,
                                     struct filter *filter___0 )
{
  struct filter_object_type_data *d ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(*d));
  d = (struct filter_object_type_data *)tmp;
  d->object_type = filter_options___3->object_type;
  filter___0->filter_data = (void *)d;
  filter___0->filter_object_fn = & filter_object_type;
  filter___0->free_fn = (void (*)(void *filter_data ))(& free);
  return;
}
}
static enum list_objects_filter_result process_subfilter(struct repository *r , enum list_objects_filter_situation filter_situation ,
                                                         struct object *obj , char const   *pathname ,
                                                         char const   *filename___0 ,
                                                         struct subfilter *sub )
{
  enum list_objects_filter_result result___0 ;
  int tmp ;
  int tmp___0 ;

  {
  if (sub->is_skipping_tree) {
    if ((unsigned int )filter_situation == 3U) {
      tmp = oideq((struct object_id  const  *)(& obj->oid), (struct object_id  const  *)(& sub->skip_tree));
      if (tmp) {
        sub->is_skipping_tree = 0U;
      } else {
        return ((enum list_objects_filter_result )0);
      }
    } else {
      return ((enum list_objects_filter_result )0);
    }
  }
  tmp___0 = oidset_contains((struct oidset  const  *)(& sub->seen), (struct object_id  const  *)(& obj->oid));
  if (tmp___0) {
    return ((enum list_objects_filter_result )0);
  }
  result___0 = list_objects_filter__filter_object(r, filter_situation, obj, pathname,
                                                  filename___0, sub->filter);
  if ((unsigned int )result___0 & 1U) {
    oidset_insert(& sub->seen, (struct object_id  const  *)(& obj->oid));
  }
  if ((unsigned int )result___0 & 4U) {
    sub->is_skipping_tree = 1U;
    sub->skip_tree = obj->oid;
  }
  return (result___0);
}
}
static enum list_objects_filter_result filter_combine(struct repository *r , enum list_objects_filter_situation filter_situation ,
                                                      struct object *obj , char const   *pathname ,
                                                      char const   *filename___0 ,
                                                      struct oidset *omits , void *filter_data )
{
  struct combine_filter_data *d ;
  enum list_objects_filter_result combined_result ;
  size_t sub ;
  enum list_objects_filter_result sub_result ;
  enum list_objects_filter_result tmp ;

  {
  d = (struct combine_filter_data *)filter_data;
  combined_result = (enum list_objects_filter_result )7;
  sub = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (sub < d->nr)) {
      goto while_break;
    }
    tmp = process_subfilter(r, filter_situation, obj, pathname, filename___0, d->sub + sub);
    sub_result = tmp;
    if (! ((unsigned int )sub_result & 2U)) {
      combined_result = (enum list_objects_filter_result )((unsigned int )combined_result & 4294967293U);
    }
    if (! ((unsigned int )sub_result & 1U)) {
      combined_result = (enum list_objects_filter_result )((unsigned int )combined_result & 4294967294U);
    }
    if (! (d->sub + sub)->is_skipping_tree) {
      combined_result = (enum list_objects_filter_result )((unsigned int )combined_result & 4294967291U);
    }
    sub ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (combined_result);
}
}
static void filter_combine__free(void *filter_data )
{
  struct combine_filter_data *d ;
  size_t sub ;

  {
  d = (struct combine_filter_data *)filter_data;
  sub = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (sub < d->nr)) {
      goto while_break;
    }
    list_objects_filter__free((d->sub + sub)->filter);
    oidset_clear(& (d->sub + sub)->seen);
    if ((d->sub + sub)->omits.set.size) {
      BUG_fl((char const   *)"list-objects-filter.c", 709, (char const   *)"expected oidset to be cleared already");
    }
    sub ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)d->sub);
  return;
}
}
static void add_all(struct oidset *dest , struct oidset *src )
{
  struct oidset_iter iter___0 ;
  struct object_id *src_oid ;

  {
  oidset_iter_init(src, & iter___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    src_oid = oidset_iter_next(& iter___0);
    if (! ((unsigned long )src_oid != (unsigned long )((void *)0))) {
      goto while_break;
    }
    oidset_insert(dest, (struct object_id  const  *)src_oid);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void filter_combine__finalize_omits(struct oidset *omits , void *filter_data )
{
  struct combine_filter_data *d ;
  size_t sub ;

  {
  d = (struct combine_filter_data *)filter_data;
  sub = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (sub < d->nr)) {
      goto while_break;
    }
    add_all(omits, & (d->sub + sub)->omits);
    oidset_clear(& (d->sub + sub)->omits);
    sub ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void filter_combine__init(struct list_objects_filter_options *filter_options___3 ,
                                 struct filter *filter___0 )
{
  struct combine_filter_data *d ;
  void *tmp ;
  size_t sub ;
  void *tmp___0 ;
  struct oidset *tmp___1 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*d));
  d = (struct combine_filter_data *)tmp;
  d->nr = filter_options___3->sub_nr;
  tmp___0 = xcalloc(d->nr, sizeof(*(d->sub)));
  d->sub = (struct subfilter *)tmp___0;
  sub = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (sub < d->nr)) {
      goto while_break;
    }
    if (filter___0->omits) {
      tmp___1 = & (d->sub + sub)->omits;
    } else {
      tmp___1 = (struct oidset *)((void *)0);
    }
    (d->sub + sub)->filter = list_objects_filter__init(tmp___1, filter_options___3->sub + sub);
    sub ++;
  }
  while_break: /* CIL Label */ ;
  }
  filter___0->filter_data = (void *)d;
  filter___0->filter_object_fn = & filter_combine;
  filter___0->free_fn = & filter_combine__free;
  filter___0->finalize_omits_fn = & filter_combine__finalize_omits;
  return;
}
}
static filter_init_fn s_filters[7]  = {      (filter_init_fn )((void *)0),      & filter_blobs_none__init,      & filter_blobs_limit__init,      & filter_trees_depth__init,
        & filter_sparse_oid__init,      & filter_object_type__init,      & filter_combine__init};
struct filter *list_objects_filter__init(struct oidset *omitted , struct list_objects_filter_options *filter_options___3 )
{
  struct filter *filter___0 ;
  void (*init_fn)(struct list_objects_filter_options *filter_options , struct filter *filter ) ;
  void *tmp ;

  {
  assert(sizeof(s_filters) / sizeof(s_filters[0]) == 7UL);
  if (! filter_options___3) {
    return ((struct filter *)((void *)0));
  }
  if ((unsigned int )filter_options___3->choice >= 7U) {
    BUG_fl((char const   *)"list-objects-filter.c", 787, (char const   *)"invalid list-objects filter choice: %d",
           (unsigned int )filter_options___3->choice);
  }
  init_fn = s_filters[filter_options___3->choice];
  if (! init_fn) {
    return ((struct filter *)((void *)0));
  }
  tmp = xcalloc((size_t )1, sizeof(*filter___0));
  filter___0 = (struct filter *)tmp;
  filter___0->omits = omitted;
  (*init_fn)(filter_options___3, filter___0);
  return (filter___0);
}
}
enum list_objects_filter_result list_objects_filter__filter_object(struct repository *r ,
                                                                   enum list_objects_filter_situation filter_situation ,
                                                                   struct object *obj ,
                                                                   char const   *pathname ,
                                                                   char const   *filename___0 ,
                                                                   struct filter *filter___0 )
{
  enum list_objects_filter_result tmp ;

  {
  if (filter___0) {
    if (obj->flags & (1u << 25)) {
      tmp = (*(filter___0->filter_object_fn))(r, filter_situation, obj, pathname,
                                              filename___0, filter___0->omits, filter___0->filter_data);
      return (tmp);
    }
  }
  if ((unsigned int )filter_situation == 3U) {
    return ((enum list_objects_filter_result )0);
  }
  return ((enum list_objects_filter_result )3);
}
}
void list_objects_filter__free(struct filter *filter___0 )
{


  {
  if (! filter___0) {
    return;
  }
  if (filter___0->finalize_omits_fn) {
    if (filter___0->omits) {
      (*(filter___0->finalize_omits_fn))(filter___0->omits, filter___0->filter_data);
    }
  }
  (*(filter___0->free_fn))(filter___0->filter_data);
  free((void *)filter___0);
  return;
}
}
static double const   __ac_HASH_UPPER___43  =    (double const   )0.77;
__inline static void kh_resize_oid_set___43(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___43(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___43 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___43 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___43(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___43(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___43(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___43(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___43(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___43(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___43 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___43 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___43(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___43(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___43(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___43(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___43(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___43(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___43 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___43 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___43(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___43(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___43(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___43(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___29(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___29(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___43 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___43 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___29(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___29(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___29(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___29(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void process_blob(struct traversal_context *ctx___0 , struct blob *blob , struct strbuf *path___6 ,
                         char const   *name___0 )
{
  struct object *obj ;
  size_t pathlen ;
  enum list_objects_filter_result r ;
  int tmp ;
  int tmp___0 ;

  {
  obj = & blob->object;
  if (! (ctx___0->revs)->blob_objects) {
    return;
  }
  if (! obj) {
    die((char const   *)"bad blob object");
  }
  if (obj->flags & ((1u << 1) | 1u)) {
    return;
  }
  if ((ctx___0->revs)->exclude_promisor_objects) {
    tmp = repo_has_object_file(the_repository, (struct object_id  const  *)(& obj->oid));
    if (! tmp) {
      tmp___0 = is_promisor_object((struct object_id  const  *)(& obj->oid));
      if (tmp___0) {
        return;
      }
    }
  }
  pathlen = path___6->len;
  strbuf_addstr(path___6, name___0);
  r = list_objects_filter__filter_object((ctx___0->revs)->repo, (enum list_objects_filter_situation )4,
                                         obj, (char const   *)path___6->buf, (char const   *)(path___6->buf + pathlen),
                                         ctx___0->filter);
  if ((unsigned int )r & 1U) {
    obj->flags |= 1u;
  }
  if ((unsigned int )r & 2U) {
    (*(ctx___0->show_object))(obj, (char const   *)path___6->buf, ctx___0->show_data);
  }
  strbuf_setlen(path___6, pathlen);
  return;
}
}
static void process_gitlink(struct traversal_context *ctx___0 , unsigned char const   *sha1 ,
                            struct strbuf *path___6 , char const   *name___0 )
{


  {
  return;
}
}
static void process_tree(struct traversal_context *ctx___0 , struct tree *tree , struct strbuf *base ,
                         char const   *name___0 ) ;
static void process_tree_contents(struct traversal_context *ctx___0 , struct tree *tree ,
                                  struct strbuf *base )
{
  struct tree_desc desc___0 ;
  struct name_entry entry ;
  enum interesting match___0 ;
  int tmp ;
  struct tree *t ;
  struct tree *tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  struct blob *b___0 ;
  struct blob *tmp___3 ;
  char *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;

  {
  if ((ctx___0->revs)->diffopt.pathspec.nr == 0) {
    tmp = 2;
  } else {
    tmp = 0;
  }
  match___0 = (enum interesting )tmp;
  init_tree_desc(& desc___0, (void const   *)tree->buffer, tree->size);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___6 = tree_entry(& desc___0, & entry);
    if (! tmp___6) {
      goto while_break;
    }
    if ((int )match___0 != 2) {
      match___0 = tree_entry_interesting(((ctx___0->revs)->repo)->index, (struct name_entry  const  *)(& entry),
                                         base, 0, (struct pathspec  const  *)(& (ctx___0->revs)->diffopt.pathspec));
      if ((int )match___0 == -1) {
        goto while_break;
      }
      if ((int )match___0 == 0) {
        goto while_continue;
      }
    }
    if ((entry.mode & 61440U) == 16384U) {
      tmp___0 = lookup_tree((ctx___0->revs)->repo, (struct object_id  const  *)(& entry.oid));
      t = tmp___0;
      if (! t) {
        tmp___1 = oid_to_hex((struct object_id  const  *)(& tree->object.oid));
        tmp___2 = _((char const   *)"entry \'%s\' in tree %s has tree mode, but is not a tree");
        die((char const   *)tmp___2, entry.path, tmp___1);
      }
      t->object.flags |= 1u << 25;
      process_tree(ctx___0, t, base, entry.path);
    } else
    if ((entry.mode & 61440U) == 57344U) {
      process_gitlink(ctx___0, (unsigned char const   *)(entry.oid.hash), base, entry.path);
    } else {
      tmp___3 = lookup_blob((ctx___0->revs)->repo, (struct object_id  const  *)(& entry.oid));
      b___0 = tmp___3;
      if (! b___0) {
        tmp___4 = oid_to_hex((struct object_id  const  *)(& tree->object.oid));
        tmp___5 = _((char const   *)"entry \'%s\' in tree %s has blob mode, but is not a blob");
        die((char const   *)tmp___5, entry.path, tmp___4);
      }
      b___0->object.flags |= 1u << 25;
      process_blob(ctx___0, b___0, base, entry.path);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void process_tree(struct traversal_context *ctx___0 , struct tree *tree , struct strbuf *base ,
                         char const   *name___0 )
{
  struct object *obj ;
  struct rev_info *revs ;
  int baselen ;
  enum list_objects_filter_result r ;
  int failed_parse ;
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  obj = & tree->object;
  revs = ctx___0->revs;
  baselen = (int )base->len;
  if (! revs->tree_objects) {
    return;
  }
  if (! obj) {
    die((char const   *)"bad tree object");
  }
  if (obj->flags & ((1u << 1) | 1u)) {
    return;
  }
  if (revs->include_check_obj) {
    tmp = (*(revs->include_check_obj))(& tree->object, revs->include_check_data);
    if (! tmp) {
      return;
    }
  }
  failed_parse = parse_tree_gently(tree, 1);
  if (failed_parse) {
    if (revs->ignore_missing_links) {
      return;
    }
    if (revs->exclude_promisor_objects) {
      tmp___0 = is_promisor_object((struct object_id  const  *)(& obj->oid));
      if (tmp___0) {
        return;
      }
    }
    if (! revs->do_not_die_on_missing_tree) {
      tmp___1 = oid_to_hex((struct object_id  const  *)(& obj->oid));
      die((char const   *)"bad tree object %s", tmp___1);
    }
  }
  strbuf_addstr(base, name___0);
  r = list_objects_filter__filter_object((ctx___0->revs)->repo, (enum list_objects_filter_situation )2,
                                         obj, (char const   *)base->buf, (char const   *)(base->buf + baselen),
                                         ctx___0->filter);
  if ((unsigned int )r & 1U) {
    obj->flags |= 1u;
  }
  if ((unsigned int )r & 2U) {
    (*(ctx___0->show_object))(obj, (char const   *)base->buf, ctx___0->show_data);
  }
  if (base->len) {
    strbuf_addch(base, '/');
  }
  if ((unsigned int )r & 4U) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___2 = trace_pass_fl(& trace_default_key);
      if (tmp___2) {
        trace_printf_key_fl((char const   *)"list-objects.c", 202, & trace_default_key,
                            (char const   *)"Skipping contents of tree %s...\n", base->buf);
      }
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
  } else
  if (! failed_parse) {
    process_tree_contents(ctx___0, tree, base);
  }
  r = list_objects_filter__filter_object((ctx___0->revs)->repo, (enum list_objects_filter_situation )3,
                                         obj, (char const   *)base->buf, (char const   *)(base->buf + baselen),
                                         ctx___0->filter);
  if ((unsigned int )r & 1U) {
    obj->flags |= 1u;
  }
  if ((unsigned int )r & 2U) {
    (*(ctx___0->show_object))(obj, (char const   *)base->buf, ctx___0->show_data);
  }
  strbuf_setlen(base, (size_t )baselen);
  free_tree_buffer(tree);
  return;
}
}
static void process_tag(struct traversal_context *ctx___0 , struct tag *tag , char const   *name___0 )
{
  enum list_objects_filter_result r ;

  {
  r = list_objects_filter__filter_object((ctx___0->revs)->repo, (enum list_objects_filter_situation )1,
                                         & tag->object, (char const   *)((void *)0),
                                         (char const   *)((void *)0), ctx___0->filter);
  if ((unsigned int )r & 1U) {
    tag->object.flags |= 1u;
  }
  if ((unsigned int )r & 2U) {
    (*(ctx___0->show_object))(& tag->object, name___0, ctx___0->show_data);
  }
  return;
}
}
static void mark_edge_parents_uninteresting(struct commit *commit , struct rev_info *revs ,
                                            void (*show_edge___1)(struct commit * ) )
{
  struct commit_list *parents ;
  struct commit *parent ;
  struct tree *tmp ;

  {
  parents = commit->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! parents) {
      goto while_break;
    }
    parent = parents->item;
    if (! (parent->object.flags & (1u << 1))) {
      goto __Cont;
    }
    tmp = repo_get_commit_tree(the_repository, (struct commit  const  *)parent);
    mark_tree_uninteresting(revs->repo, tmp);
    if (revs->edge_hint) {
      if (! (parent->object.flags & (1u << 3))) {
        parent->object.flags |= 1u << 3;
        (*show_edge___1)(parent);
      }
    }
    __Cont: /* CIL Label */
    parents = parents->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void add_edge_parents(struct commit *commit , struct rev_info *revs , void (*show_edge___1)(struct commit * ) ,
                             struct oidset *set )
{
  struct commit_list *parents ;
  struct commit *parent ;
  struct tree *tree ;
  struct tree *tmp ;

  {
  parents = commit->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! parents) {
      goto while_break;
    }
    parent = parents->item;
    tmp = repo_get_commit_tree(the_repository, (struct commit  const  *)parent);
    tree = tmp;
    if (! tree) {
      goto __Cont;
    }
    oidset_insert(set, (struct object_id  const  *)(& tree->object.oid));
    if (! (parent->object.flags & (1u << 1))) {
      goto __Cont;
    }
    tree->object.flags |= 1u << 1;
    if (revs->edge_hint) {
      if (! (parent->object.flags & (1u << 3))) {
        parent->object.flags |= 1u << 3;
        (*show_edge___1)(parent);
      }
    }
    __Cont: /* CIL Label */
    parents = parents->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void mark_edges_uninteresting(struct rev_info *revs , void (*show_edge___1)(struct commit * ) ,
                              int sparse___0 )
{
  struct commit_list *list___3 ;
  int i ;
  struct oidset set ;
  struct commit *commit ;
  struct tree *tree ;
  struct tree *tmp ;
  struct commit *commit___0 ;
  struct tree *tmp___0 ;
  struct object *obj ;
  struct commit *commit___1 ;
  struct tree *tmp___1 ;

  {
  if (sparse___0) {
    oidset_init(& set, (size_t )16);
    list___3 = revs->commits;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! list___3) {
        goto while_break;
      }
      commit = list___3->item;
      tmp = repo_get_commit_tree(the_repository, (struct commit  const  *)commit);
      tree = tmp;
      if (commit->object.flags & (1u << 1)) {
        tree->object.flags |= 1u << 1;
      }
      oidset_insert(& set, (struct object_id  const  *)(& tree->object.oid));
      add_edge_parents(commit, revs, show_edge___1, & set);
      list___3 = list___3->next;
    }
    while_break: /* CIL Label */ ;
    }
    mark_trees_uninteresting_sparse(revs->repo, & set);
    oidset_clear(& set);
  } else {
    list___3 = revs->commits;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! list___3) {
        goto while_break___0;
      }
      commit___0 = list___3->item;
      if (commit___0->object.flags & (1u << 1)) {
        tmp___0 = repo_get_commit_tree(the_repository, (struct commit  const  *)commit___0);
        mark_tree_uninteresting(revs->repo, tmp___0);
        if (revs->edge_hint_aggressive) {
          if (! (commit___0->object.flags & (1u << 3))) {
            commit___0->object.flags |= 1u << 3;
            (*show_edge___1)(commit___0);
          }
        }
        goto __Cont;
      }
      mark_edge_parents_uninteresting(commit___0, revs, show_edge___1);
      __Cont: /* CIL Label */
      list___3 = list___3->next;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  if (revs->edge_hint_aggressive) {
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((unsigned int )i < revs->cmdline.nr)) {
        goto while_break___1;
      }
      obj = (revs->cmdline.rev + i)->item;
      commit___1 = (struct commit *)obj;
      if (obj->type != 1U) {
        goto __Cont___0;
      } else
      if (! (obj->flags & (1u << 1))) {
        goto __Cont___0;
      }
      tmp___1 = repo_get_commit_tree(the_repository, (struct commit  const  *)commit___1);
      mark_tree_uninteresting(revs->repo, tmp___1);
      if (! (obj->flags & (1u << 3))) {
        obj->flags |= 1u << 3;
        (*show_edge___1)(commit___1);
      }
      __Cont___0: /* CIL Label */
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  return;
}
}
static void add_pending_tree(struct rev_info *revs , struct tree *tree )
{


  {
  add_pending_object(revs, & tree->object, (char const   *)"");
  return;
}
}
static void traverse_non_commits(struct traversal_context *ctx___0 , struct strbuf *base )
{
  int i ;
  struct object_array_entry *pending___0 ;
  struct object *obj ;
  char const   *name___0 ;
  char const   *path___6 ;
  char *tmp ;

  {
  assert(base->len == 0UL);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < (ctx___0->revs)->pending.nr)) {
      goto while_break;
    }
    pending___0 = (ctx___0->revs)->pending.objects + i;
    obj = pending___0->item;
    name___0 = (char const   *)pending___0->name;
    path___6 = (char const   *)pending___0->path;
    if (obj->flags & ((1u << 1) | 1u)) {
      goto __Cont;
    }
    if (obj->type == 4U) {
      process_tag(ctx___0, (struct tag *)obj, name___0);
      goto __Cont;
    }
    if (! path___6) {
      path___6 = (char const   *)"";
    }
    if (obj->type == 2U) {
      process_tree(ctx___0, (struct tree *)obj, base, path___6);
      goto __Cont;
    }
    if (obj->type == 3U) {
      process_blob(ctx___0, (struct blob *)obj, base, path___6);
      goto __Cont;
    }
    tmp = oid_to_hex((struct object_id  const  *)(& obj->oid));
    die((char const   *)"unknown pending object %s (%s)", tmp, name___0);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  object_array_clear(& (ctx___0->revs)->pending);
  return;
}
}
static void do_traverse(struct traversal_context *ctx___0 )
{
  struct commit *commit ;
  struct strbuf csp ;
  enum list_objects_filter_result r ;
  struct tree *tree ;
  struct tree *tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  struct tree *tmp___2 ;

  {
  strbuf_init(& csp, (size_t )4096);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    commit = get_revision(ctx___0->revs);
    if (! ((unsigned long )commit != (unsigned long )((void *)0))) {
      goto while_break;
    }
    r = list_objects_filter__filter_object((ctx___0->revs)->repo, (enum list_objects_filter_situation )0,
                                           & commit->object, (char const   *)((void *)0),
                                           (char const   *)((void *)0), ctx___0->filter);
    if (! (! (ctx___0->revs)->tree_objects)) {
      tmp___2 = repo_get_commit_tree(the_repository, (struct commit  const  *)commit);
      if (tmp___2) {
        tmp = repo_get_commit_tree(the_repository, (struct commit  const  *)commit);
        tree = tmp;
        tree->object.flags |= 1u << 25;
        add_pending_tree(ctx___0->revs, tree);
      } else
      if (commit->object.parsed) {
        tmp___0 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
        tmp___1 = _((char const   *)"unable to load root tree for commit %s");
        die((char const   *)tmp___1, tmp___0);
      }
    }
    if ((unsigned int )r & 1U) {
      commit->object.flags |= 1u;
    }
    if ((unsigned int )r & 2U) {
      (*(ctx___0->show_commit))(commit, ctx___0->show_data);
    }
    if ((ctx___0->revs)->tree_blobs_in_commit_order) {
      traverse_non_commits(ctx___0, & csp);
    }
  }
  while_break: /* CIL Label */ ;
  }
  traverse_non_commits(ctx___0, & csp);
  strbuf_release(& csp);
  return;
}
}
void traverse_commit_list(struct rev_info *revs , void (*show_commit___3)(struct commit * ,
                                                                          void * ) ,
                          void (*show_object___2)(struct object * , char const   * ,
                                                  void * ) , void *show_data )
{
  struct traversal_context ctx___0 ;

  {
  ctx___0.revs = revs;
  ctx___0.show_commit = show_commit___3;
  ctx___0.show_object = show_object___2;
  ctx___0.show_data = show_data;
  ctx___0.filter = (struct filter *)((void *)0);
  do_traverse(& ctx___0);
  return;
}
}
void traverse_commit_list_filtered(struct list_objects_filter_options *filter_options___3 ,
                                   struct rev_info *revs , void (*show_commit___3)(struct commit * ,
                                                                                   void * ) ,
                                   void (*show_object___2)(struct object * , char const   * ,
                                                           void * ) , void *show_data ,
                                   struct oidset *omitted )
{
  struct traversal_context ctx___0 ;

  {
  ctx___0.revs = revs;
  ctx___0.show_object = show_object___2;
  ctx___0.show_commit = show_commit___3;
  ctx___0.show_data = show_data;
  ctx___0.filter = list_objects_filter__init(omitted, filter_options___3);
  do_traverse(& ctx___0);
  list_objects_filter__free(ctx___0.filter);
  return;
}
}
static struct attr_check *merge_attributes  ;
static struct attr_check *load_merge_attributes(void)
{


  {
  if (! merge_attributes) {
    merge_attributes = attr_check_initl((char const   *)"merge", "conflict-marker-size",
                                        (void *)0);
  }
  return (merge_attributes);
}
}
void reset_merge_attributes(void)
{


  {
  attr_check_free(merge_attributes);
  merge_attributes = (struct attr_check *)((void *)0);
  return;
}
}
static int ll_binary_merge(struct ll_merge_driver  const  *drv_unused , mmbuffer_t *result___0 ,
                           char const   *path___6 , mmfile_t *orig , char const   *orig_name ,
                           mmfile_t *src1 , char const   *name1 , mmfile_t *src2 ,
                           char const   *name2 , struct ll_merge_options  const  *opts___1 ,
                           int marker_size )
{
  mmfile_t *stolen ;
  int tmp ;

  {
  assert((int )opts___1);
  if (opts___1->virtual_ancestor) {
    stolen = orig;
  } else {
    {
    if (opts___1->variant == 1U) {
      goto case_1;
    }
    if (opts___1->variant == 2U) {
      goto case_2;
    }
    goto switch_default;
    switch_default: /* CIL Label */
    warning((char const   *)"Cannot merge binary files: %s (%s vs. %s)", path___6,
            name1, name2);
    case_1: /* CIL Label */
    stolen = src1;
    goto switch_break;
    case_2: /* CIL Label */
    stolen = src2;
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
  }
  result___0->ptr = stolen->ptr;
  result___0->size = stolen->size;
  stolen->ptr = (char *)((void *)0);
  if (opts___1->variant == 1U) {
    tmp = 0;
  } else
  if (opts___1->variant == 2U) {
    tmp = 0;
  } else {
    tmp = 1;
  }
  return (tmp);
}
}
static int ll_xdl_merge(struct ll_merge_driver  const  *drv_unused , mmbuffer_t *result___0 ,
                        char const   *path___6 , mmfile_t *orig , char const   *orig_name ,
                        mmfile_t *src1 , char const   *name1 , mmfile_t *src2 , char const   *name2 ,
                        struct ll_merge_options  const  *opts___1 , int marker_size )
{
  xmparam_t xmp ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  assert((int )opts___1);
  if ((unsigned long )orig->size > 1072693248UL) {
    tmp = ll_binary_merge(drv_unused, result___0, path___6, orig, orig_name, src1,
                          name1, src2, name2, opts___1, marker_size);
    return (tmp);
  } else
  if ((unsigned long )src1->size > 1072693248UL) {
    tmp = ll_binary_merge(drv_unused, result___0, path___6, orig, orig_name, src1,
                          name1, src2, name2, opts___1, marker_size);
    return (tmp);
  } else
  if ((unsigned long )src2->size > 1072693248UL) {
    tmp = ll_binary_merge(drv_unused, result___0, path___6, orig, orig_name, src1,
                          name1, src2, name2, opts___1, marker_size);
    return (tmp);
  } else {
    tmp___0 = buffer_is_binary((char const   *)orig->ptr, (unsigned long )orig->size);
    if (tmp___0) {
      tmp = ll_binary_merge(drv_unused, result___0, path___6, orig, orig_name, src1,
                            name1, src2, name2, opts___1, marker_size);
      return (tmp);
    } else {
      tmp___1 = buffer_is_binary((char const   *)src1->ptr, (unsigned long )src1->size);
      if (tmp___1) {
        tmp = ll_binary_merge(drv_unused, result___0, path___6, orig, orig_name, src1,
                              name1, src2, name2, opts___1, marker_size);
        return (tmp);
      } else {
        tmp___2 = buffer_is_binary((char const   *)src2->ptr, (unsigned long )src2->size);
        if (tmp___2) {
          tmp = ll_binary_merge(drv_unused, result___0, path___6, orig, orig_name,
                                src1, name1, src2, name2, opts___1, marker_size);
          return (tmp);
        }
      }
    }
  }
  memset((void *)(& xmp), 0, sizeof(xmp));
  xmp.level = 2;
  xmp.favor = (int )opts___1->variant;
  xmp.xpp.flags = (unsigned long )opts___1->xdl_opts;
  if (git_xmerge_style >= 0) {
    xmp.style = git_xmerge_style;
  }
  if (marker_size > 0) {
    xmp.marker_size = marker_size;
  }
  xmp.ancestor = orig_name;
  xmp.file1 = name1;
  xmp.file2 = name2;
  tmp___3 = xdl_merge(orig, src1, src2, (xmparam_t const   *)(& xmp), result___0);
  return (tmp___3);
}
}
static int ll_union_merge(struct ll_merge_driver  const  *drv_unused , mmbuffer_t *result___0 ,
                          char const   *path___6 , mmfile_t *orig , char const   *orig_name ,
                          mmfile_t *src1 , char const   *name1 , mmfile_t *src2 ,
                          char const   *name2 , struct ll_merge_options  const  *opts___1 ,
                          int marker_size )
{
  struct ll_merge_options o ;
  int tmp ;

  {
  assert((int )opts___1);
  o = (struct ll_merge_options )*opts___1;
  o.variant = 3U;
  tmp = ll_xdl_merge(drv_unused, result___0, path___6, orig, orig_name, src1, name1,
                     src2, name2, (struct ll_merge_options  const  *)(& o), marker_size);
  return (tmp);
}
}
static struct ll_merge_driver ll_merge_drv[3]  = {      {(char const   *)"binary", (char const   *)"built-in binary merge", & ll_binary_merge,
      (char const   *)0, (struct ll_merge_driver *)0, (char *)0},
        {(char const   *)"text", (char const   *)"built-in 3-way text merge", & ll_xdl_merge,
      (char const   *)0, (struct ll_merge_driver *)0, (char *)0},
        {(char const   *)"union", (char const   *)"built-in union merge", & ll_union_merge,
      (char const   *)0, (struct ll_merge_driver *)0, (char *)0}};
static void create_temp(mmfile_t *src , char *path___6 , size_t len___0 )
{
  int fd ;
  ssize_t tmp ;

  {
  xsnprintf(path___6, len___0, (char const   *)".merge_file_XXXXXX");
  fd = xmkstemp(path___6);
  tmp = write_in_full(fd, (void const   *)src->ptr, (size_t )src->size);
  if (tmp < 0L) {
    die_errno((char const   *)"unable to write temp-file");
  }
  close(fd);
  return;
}
}
static int ll_ext_merge(struct ll_merge_driver  const  *fn , mmbuffer_t *result___0 ,
                        char const   *path___6 , mmfile_t *orig , char const   *orig_name ,
                        mmfile_t *src1 , char const   *name1 , mmfile_t *src2 , char const   *name2 ,
                        struct ll_merge_options  const  *opts___1 , int marker_size )
{
  char temp[4][50] ;
  struct strbuf cmd ;
  struct strbuf_expand_dict_entry dict[6] ;
  struct strbuf path_sq ;
  char const   *args___0[2] ;
  int status ;
  int fd ;
  int i ;
  struct stat st ;
  int tmp ;
  void *tmp___0 ;
  ssize_t tmp___1 ;

  {
  cmd.alloc = 0UL;
  cmd.len = 0UL;
  cmd.buf = strbuf_slopbuf;
  path_sq.alloc = 0UL;
  path_sq.len = 0UL;
  path_sq.buf = strbuf_slopbuf;
  args___0[0] = (char const   *)((void *)0);
  args___0[1] = (char const   *)((void *)0);
  assert((int )opts___1);
  sq_quote_buf(& path_sq, path___6);
  dict[0].placeholder = (char const   *)"O";
  dict[0].value = (char const   *)(temp[0]);
  dict[1].placeholder = (char const   *)"A";
  dict[1].value = (char const   *)(temp[1]);
  dict[2].placeholder = (char const   *)"B";
  dict[2].value = (char const   *)(temp[2]);
  dict[3].placeholder = (char const   *)"L";
  dict[3].value = (char const   *)(temp[3]);
  dict[4].placeholder = (char const   *)"P";
  dict[4].value = (char const   *)path_sq.buf;
  dict[5].placeholder = (char const   *)((void *)0);
  dict[5].value = (char const   *)((void *)0);
  if ((unsigned long )fn->cmdline == (unsigned long )((void *)0)) {
    die((char const   *)"custom merge driver %s lacks command line.", fn->name);
  }
  result___0->ptr = (char *)((void *)0);
  result___0->size = 0L;
  create_temp(orig, temp[0], sizeof(temp[0]));
  create_temp(src1, temp[1], sizeof(temp[1]));
  create_temp(src2, temp[2], sizeof(temp[2]));
  xsnprintf(temp[3], sizeof(temp[3]), (char const   *)"%d", marker_size);
  strbuf_expand(& cmd, (char const   *)fn->cmdline, & strbuf_expand_dict_cb, (void *)(& dict));
  args___0[0] = (char const   *)cmd.buf;
  status = run_command_v_opt(args___0, 1 << 4);
  fd = open((char const   *)(temp[1]), 00);
  if (fd < 0) {
    goto bad;
  }
  tmp = fstat(fd, & st);
  if (tmp) {
    goto close_bad;
  }
  result___0->size = st.st_size;
  tmp___0 = xmallocz((size_t )result___0->size);
  result___0->ptr = (char *)tmp___0;
  tmp___1 = read_in_full(fd, (void *)result___0->ptr, (size_t )result___0->size);
  if (tmp___1 != result___0->size) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      free((void *)result___0->ptr);
      result___0->ptr = (char *)((void *)0);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    result___0->size = 0L;
  }
  close_bad:
  close(fd);
  bad:
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < 3)) {
      goto while_break___0;
    }
    unlink_or_warn((char const   *)(temp[i]));
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_release(& cmd);
  strbuf_release(& path_sq);
  return (status);
}
}
static struct ll_merge_driver *ll_user_merge  ;
static struct ll_merge_driver **ll_user_merge_tail  ;
static char const   *default_ll_merge  ;
static int read_merge_config(char const   *var , char const   *value , void *cb )
{
  struct ll_merge_driver *fn ;
  char const   *key___1 ;
  char const   *name___0 ;
  size_t namelen ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  void *tmp___3 ;
  void *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  tmp___0 = strcmp(var, (char const   *)"merge.default");
  if (! tmp___0) {
    tmp = git_config_string(& default_ll_merge, var, value);
    return (tmp);
  }
  tmp___1 = parse_config_key(var, (char const   *)"merge", & name___0, & namelen,
                             & key___1);
  if (tmp___1 < 0) {
    return (0);
  } else
  if (! name___0) {
    return (0);
  }
  fn = ll_user_merge;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! fn) {
      goto while_break;
    }
    tmp___2 = strncmp(fn->name, name___0, namelen);
    if (! tmp___2) {
      if (! *(fn->name + namelen)) {
        goto while_break;
      }
    }
    fn = fn->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (! fn) {
    tmp___3 = xcalloc((size_t )1, sizeof(*fn));
    fn = (struct ll_merge_driver *)tmp___3;
    tmp___4 = xmemdupz((void const   *)name___0, namelen);
    fn->name = (char const   *)tmp___4;
    fn->fn = & ll_ext_merge;
    *ll_user_merge_tail = fn;
    ll_user_merge_tail = & fn->next;
  }
  tmp___6 = strcmp((char const   *)"name", key___1);
  if (! tmp___6) {
    tmp___5 = git_config_string(& fn->description, var, value);
    return (tmp___5);
  }
  tmp___8 = strcmp((char const   *)"driver", key___1);
  if (! tmp___8) {
    if (! value) {
      error((char const   *)"%s: lacks value", var);
      tmp___7 = const_error();
      return (tmp___7);
    }
    fn->cmdline = xstrdup(value);
    return (0);
  }
  tmp___10 = strcmp((char const   *)"recursive", key___1);
  if (! tmp___10) {
    tmp___9 = git_config_string(& fn->recursive, var, value);
    return (tmp___9);
  }
  return (0);
}
}
static void initialize_ll_merge(void)
{


  {
  if (ll_user_merge_tail) {
    return;
  }
  ll_user_merge_tail = & ll_user_merge;
  git_config(& read_merge_config, (void *)0);
  return;
}
}
static struct ll_merge_driver  const  *find_ll_merge_driver(char const   *merge_attr )
{
  struct ll_merge_driver *fn ;
  char const   *name___0 ;
  int i ;
  int tmp ;
  int tmp___0 ;

  {
  initialize_ll_merge();
  if ((unsigned long )merge_attr == (unsigned long )(git_attr__true)) {
    return ((struct ll_merge_driver  const  *)(& ll_merge_drv[1]));
  } else
  if ((unsigned long )merge_attr == (unsigned long )(git_attr__false)) {
    return ((struct ll_merge_driver  const  *)(& ll_merge_drv[0]));
  } else
  if ((unsigned long )merge_attr == (unsigned long )((void *)0)) {
    if (! default_ll_merge) {
      return ((struct ll_merge_driver  const  *)(& ll_merge_drv[1]));
    } else {
      name___0 = default_ll_merge;
    }
  } else {
    name___0 = merge_attr;
  }
  fn = ll_user_merge;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! fn) {
      goto while_break;
    }
    tmp = strcmp(fn->name, name___0);
    if (! tmp) {
      return ((struct ll_merge_driver  const  *)fn);
    }
    fn = fn->next;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(ll_merge_drv) / sizeof(ll_merge_drv[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break___0;
    }
    tmp___0 = strcmp(ll_merge_drv[i].name, name___0);
    if (! tmp___0) {
      return ((struct ll_merge_driver  const  *)(& ll_merge_drv[i]));
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return ((struct ll_merge_driver  const  *)(& ll_merge_drv[1]));
}
}
static void normalize_file(mmfile_t *mm , char const   *path___6 , struct index_state *istate )
{
  struct strbuf strbuf ;
  int tmp ;

  {
  strbuf.alloc = 0UL;
  strbuf.len = 0UL;
  strbuf.buf = strbuf_slopbuf;
  tmp = renormalize_buffer(istate, path___6, (char const   *)mm->ptr, (size_t )mm->size,
                           & strbuf);
  if (tmp) {
    free((void *)mm->ptr);
    mm->size = (long )strbuf.len;
    mm->ptr = strbuf_detach(& strbuf, (size_t *)((void *)0));
  }
  return;
}
}
static struct ll_merge_options  const  default_opts  ;
int ll_merge(mmbuffer_t *result_buf , char const   *path___6 , mmfile_t *ancestor ,
             char const   *ancestor_label , mmfile_t *ours , char const   *our_label ,
             mmfile_t *theirs , char const   *their_label , struct index_state *istate ,
             struct ll_merge_options  const  *opts___1 )
{
  struct attr_check *check___4 ;
  struct attr_check *tmp ;
  char const   *ll_driver_name ;
  int marker_size ;
  struct ll_merge_driver  const  *driver ;
  int tmp___0 ;

  {
  tmp = load_merge_attributes();
  check___4 = tmp;
  ll_driver_name = (char const   *)((void *)0);
  marker_size = 7;
  if (! opts___1) {
    opts___1 = & default_opts;
  }
  if (opts___1->renormalize) {
    normalize_file(ancestor, path___6, istate);
    normalize_file(ours, path___6, istate);
    normalize_file(theirs, path___6, istate);
  }
  git_check_attr(istate, path___6, check___4);
  ll_driver_name = (check___4->items + 0)->value;
  if ((check___4->items + 1)->value) {
    marker_size = atoi((check___4->items + 1)->value);
    if (marker_size <= 0) {
      marker_size = 7;
    }
  }
  driver = find_ll_merge_driver(ll_driver_name);
  if (opts___1->virtual_ancestor) {
    if (driver->recursive) {
      driver = find_ll_merge_driver((char const   *)driver->recursive);
    }
  }
  if (opts___1->extra_marker_size) {
    marker_size = (int )((unsigned int )marker_size + opts___1->extra_marker_size);
  }
  tmp___0 = (*(driver->fn))(driver, result_buf, path___6, ancestor, ancestor_label,
                            ours, our_label, theirs, their_label, opts___1, marker_size);
  return (tmp___0);
}
}
static struct attr_check *check___1  ;
int ll_merge_marker_size(struct index_state *istate , char const   *path___6 )
{
  int marker_size ;

  {
  marker_size = 7;
  if (! check___1) {
    check___1 = attr_check_initl((char const   *)"conflict-marker-size", (void *)0);
  }
  git_check_attr(istate, path___6, check___1);
  if ((check___1->items + 0)->value) {
    marker_size = atoi((check___1->items + 0)->value);
    if (marker_size <= 0) {
      marker_size = 7;
    }
  }
  return (marker_size);
}
}
static void trim_last_path_component(struct strbuf *path___6 )
{
  int i ;

  {
  i = (int )path___6->len;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i) {
      if (! ((int )*(path___6->buf + (i - 1)) == 47)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (i) {
      if (! ((int )*(path___6->buf + (i - 1)) != 47)) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    i --;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_setlen(path___6, (size_t )i);
  return;
}
}
static void resolve_symlink(struct strbuf *path___6 ) ;
static struct strbuf link___0  =    {0UL, 0UL, strbuf_slopbuf};
static void resolve_symlink(struct strbuf *path___6 )
{
  int depth___1 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  depth___1 = 5;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = depth___1;
    depth___1 --;
    if (! tmp___1) {
      goto while_break;
    }
    tmp = strbuf_readlink(& link___0, (char const   *)path___6->buf, path___6->len);
    if (tmp < 0) {
      goto while_break;
    }
    tmp___0 = is_absolute_path((char const   *)link___0.buf);
    if (tmp___0) {
      strbuf_setlen(path___6, (size_t )0);
    } else {
      trim_last_path_component(path___6);
    }
    strbuf_addbuf(path___6, (struct strbuf  const  *)(& link___0));
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_setlen(& link___0, (size_t )0);
  return;
}
}
static int lock_file(struct lock_file *lk , char const   *path___6 , int flags___0 ,
                     int mode___1 )
{
  struct strbuf filename___0 ;
  int volatile   tmp ;

  {
  filename___0.alloc = 0UL;
  filename___0.len = 0UL;
  filename___0.buf = strbuf_slopbuf;
  strbuf_addstr(& filename___0, path___6);
  if (! (flags___0 & 2)) {
    resolve_symlink(& filename___0);
  }
  strbuf_addstr(& filename___0, (char const   *)".lock");
  lk->tempfile = create_tempfile_mode((char const   *)filename___0.buf, mode___1);
  strbuf_release(& filename___0);
  if (lk->tempfile) {
    tmp = (lk->tempfile)->fd;
  } else {
    tmp = (int volatile   )-1;
  }
  return ((int )tmp);
}
}
static int lock_file_timeout(struct lock_file *lk , char const   *path___6 , int flags___0 ,
                             long timeout_ms___0 , int mode___1 ) ;
static int random_initialized  =    0;
static int lock_file_timeout(struct lock_file *lk , char const   *path___6 , int flags___0 ,
                             long timeout_ms___0 , int mode___1 )
{
  int n ;
  int multiplier ;
  long remaining_ms ;
  int tmp ;
  __pid_t tmp___0 ;
  long backoff_ms ;
  long wait_ms ;
  int fd ;
  int *tmp___1 ;
  int tmp___2 ;

  {
  n = 1;
  multiplier = 1;
  remaining_ms = 0L;
  if (timeout_ms___0 == 0L) {
    tmp = lock_file(lk, path___6, flags___0, mode___1);
    return (tmp);
  }
  if (! random_initialized) {
    tmp___0 = getpid();
    srand((unsigned int )tmp___0);
    random_initialized = 1;
  }
  if (timeout_ms___0 > 0L) {
    remaining_ms = timeout_ms___0;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    fd = lock_file(lk, path___6, flags___0, mode___1);
    if (fd >= 0) {
      return (fd);
    } else {
      tmp___1 = __errno_location();
      if (*tmp___1 != 17) {
        return (-1);
      } else
      if (timeout_ms___0 > 0L) {
        if (remaining_ms <= 0L) {
          return (-1);
        }
      }
    }
    backoff_ms = (long )multiplier;
    tmp___2 = rand();
    wait_ms = ((long )(750 + tmp___2 % 500) * backoff_ms) / 1000L;
    sleep_millisec((int )wait_ms);
    remaining_ms -= wait_ms;
    multiplier += 2 * n + 1;
    if (multiplier > 1000) {
      multiplier = 1000;
    } else {
      n ++;
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
void unable_to_lock_message(char const   *path___6 , int err___4 , struct strbuf *buf___19 )
{
  char *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char *tmp___2 ;
  char const   *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  if (err___4 == 17) {
    tmp = strerror(err___4);
    tmp___0 = absolute_path(path___6);
    tmp___1 = _((char const   *)"Unable to create \'%s.lock\': %s.\n\nAnother git process seems to be running in this repository, e.g.\nan editor opened by \'git commit\'. Please make sure all processes\nare terminated then try again. If it still fails, a git process\nmay have crashed in this repository earlier:\nremove the file manually to continue.");
    strbuf_addf(buf___19, (char const   *)tmp___1, tmp___0, tmp);
  } else {
    tmp___2 = strerror(err___4);
    tmp___3 = absolute_path(path___6);
    tmp___4 = _((char const   *)"Unable to create \'%s.lock\': %s");
    strbuf_addf(buf___19, (char const   *)tmp___4, tmp___3, tmp___2);
  }
  return;
}
}
void unable_to_lock_die(char const   *path___6 , int err___4 )  __attribute__((__noreturn__)) ;
void unable_to_lock_die(char const   *path___6 , int err___4 )
{
  struct strbuf buf___19 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  unable_to_lock_message(path___6, err___4, & buf___19);
  die((char const   *)"%s", buf___19.buf);
}
}
int hold_lock_file_for_update_timeout_mode(struct lock_file *lk , char const   *path___6 ,
                                           int flags___0 , long timeout_ms___0 , int mode___1 )
{
  int fd ;
  int tmp ;
  int *tmp___0 ;
  struct strbuf buf___19 ;
  int *tmp___1 ;

  {
  tmp = lock_file_timeout(lk, path___6, flags___0, timeout_ms___0, mode___1);
  fd = tmp;
  if (fd < 0) {
    if (flags___0 & 1) {
      tmp___0 = __errno_location();
      unable_to_lock_die(path___6, *tmp___0);
    }
    if (flags___0 & 4) {
      buf___19.alloc = 0UL;
      buf___19.len = 0UL;
      buf___19.buf = strbuf_slopbuf;
      tmp___1 = __errno_location();
      unable_to_lock_message(path___6, *tmp___1, & buf___19);
      error((char const   *)"%s", buf___19.buf);
      const_error();
      strbuf_release(& buf___19);
    }
  }
  return (fd);
}
}
char *get_locked_file_path(struct lock_file *lk )
{
  struct strbuf ret___67 ;
  char const   *tmp ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  ret___67.alloc = 0UL;
  ret___67.len = 0UL;
  ret___67.buf = strbuf_slopbuf;
  tmp = get_tempfile_path(lk->tempfile);
  strbuf_addstr(& ret___67, tmp);
  if (ret___67.len <= 5UL) {
    BUG_fl((char const   *)"lockfile.c", 198, (char const   *)"get_locked_file_path() called for malformed lock object");
  } else {
    tmp___0 = strcmp((char const   *)((ret___67.buf + ret___67.len) - 5), (char const   *)".lock");
    if (tmp___0) {
      BUG_fl((char const   *)"lockfile.c", 198, (char const   *)"get_locked_file_path() called for malformed lock object");
    }
  }
  strbuf_setlen(& ret___67, ret___67.len - 5UL);
  tmp___1 = strbuf_detach(& ret___67, (size_t *)((void *)0));
  return (tmp___1);
}
}
int commit_lock_file(struct lock_file *lk )
{
  char *result_path ;
  char *tmp ;
  int save_errno ;
  int *tmp___0 ;
  int *tmp___1 ;
  int tmp___2 ;

  {
  tmp = get_locked_file_path(lk);
  result_path = tmp;
  tmp___2 = commit_lock_file_to(lk, (char const   *)result_path);
  if (tmp___2) {
    tmp___0 = __errno_location();
    save_errno = *tmp___0;
    free((void *)result_path);
    tmp___1 = __errno_location();
    *tmp___1 = save_errno;
    return (-1);
  }
  free((void *)result_path);
  return (0);
}
}
static double const   __ac_HASH_UPPER___44  =    (double const   )0.77;
__inline static void kh_resize_oid_set___44(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___44(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___44 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___44 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___44(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___44(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___44(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___44(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___44(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___44(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___44 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___44 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___44(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___44(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___44(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___44(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___44(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___44(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___44 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___44 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___44(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___44(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___44(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___44(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___30(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___30(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___44 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___44 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___30(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___30(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___30(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___30(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
void init_reflog_walk(struct reflog_walk_info **info___0 ) ;
int add_reflog_for_walk(struct reflog_walk_info *info___0 , struct commit *commit ,
                        char const   *name___0 ) ;
void show_reflog_message(struct reflog_walk_info *reflog_info , int oneline , struct date_mode  const  *dmode ,
                         int force_date___0 ) ;
void get_reflog_message(struct strbuf *sb___6 , struct reflog_walk_info *reflog_info ) ;
char const   *get_reflog_ident(struct reflog_walk_info *reflog_info ) ;
timestamp_t get_reflog_timestamp(struct reflog_walk_info *reflog_info ) ;
void get_reflog_selector(struct strbuf *sb___6 , struct reflog_walk_info *reflog_info ,
                         struct date_mode  const  *dmode , int force_date___0 , int shorten ) ;
int reflog_walk_empty(struct reflog_walk_info *info___0 ) ;
struct commit *next_reflog_entry(struct reflog_walk_info *walk ) ;
int show_range_diff(char const   *range1 , char const   *range2 , struct range_diff_options *range_diff_opts ) ;
int is_range_diff_range(char const   *arg ) ;
static struct decoration name_decoration  =    {(char const   *)"object names", 0U, 0U, (struct decoration_entry *)0};
static int decoration_loaded  ;
static int decoration_flags  ;
static char decoration_colors[7][75]  = { {        (char )'\033',        (char )'[',        (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'1',        (char )';',
            (char )'3',        (char )'2',        (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'1',        (char )';',
            (char )'3',        (char )'1',        (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'1',        (char )';',
            (char )'3',        (char )'3',        (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'1',        (char )';',
            (char )'3',        (char )'5',        (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'1',        (char )';',
            (char )'3',        (char )'6',        (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'1',        (char )';',
            (char )'3',        (char )'4',        (char )'m',        (char )'\000'}};
static char const   *color_decorate_slots[7]  = {      (char const   *)0,      (char const   *)"branch",      (char const   *)"remoteBranch",      (char const   *)"tag",
        (char const   *)"stash",      (char const   *)"HEAD",      (char const   *)"grafted"};
static char const   *decorate_get_color(int decorate_use_color , enum decoration_type ix )
{
  int tmp ;

  {
  tmp = want_color_fd(1, decorate_use_color);
  if (tmp) {
    return ((char const   *)(decoration_colors[ix]));
  }
  return ((char const   *)"");
}
}
void list_config_color_decorate_slots(struct string_list *list___3 , char const   *prefix___1 )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(color_decorate_slots) / sizeof(color_decorate_slots[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    if (color_decorate_slots[i]) {
      list_config_item(list___3, prefix___1, color_decorate_slots[i]);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int parse_decorate_color_config(char const   *var , char const   *slot_name , char const   *value )
{
  int slot ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = lookup_config(color_decorate_slots, (int )(sizeof(color_decorate_slots) / sizeof(color_decorate_slots[0]) + (sizeof(char [1]) - 1UL)),
                      slot_name);
  slot = tmp;
  if (slot < 0) {
    return (0);
  }
  if (! value) {
    config_error_nonbool(var);
    tmp___0 = const_error();
    return (tmp___0);
  }
  tmp___1 = color_parse(value, decoration_colors[slot]);
  return (tmp___1);
}
}
void add_name_decoration(enum decoration_type type___0 , char const   *name___0 ,
                         struct object *obj )
{
  struct name_decoration *res ;
  size_t flex_array_len_ ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  void *tmp___3 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = strlen(name___0);
    flex_array_len_ = tmp;
    tmp___0 = st_add(sizeof(*res), flex_array_len_);
    tmp___1 = st_add(tmp___0, (size_t )1);
    tmp___2 = xcalloc((size_t )1, tmp___1);
    res = (struct name_decoration *)tmp___2;
    memcpy((void *)(res->name), (void const   *)name___0, flex_array_len_);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  res->type = (int )type___0;
  tmp___3 = add_decoration(& name_decoration, (struct object  const  *)obj, (void *)res);
  res->next = (struct name_decoration *)tmp___3;
  return;
}
}
struct name_decoration  const  *get_name_decoration(struct object  const  *obj )
{
  void *tmp ;

  {
  load_ref_decorations((struct decoration_filter *)((void *)0), 1);
  tmp = lookup_decoration(& name_decoration, obj);
  return ((struct name_decoration  const  *)tmp);
}
}
static int match_ref_pattern(char const   *refname , struct string_list_item  const  *item___0 )
{
  int matched ;
  int tmp ;
  char const   *rest ;
  int tmp___0 ;

  {
  matched = 0;
  if ((unsigned long )item___0->util == (unsigned long )((void *)0)) {
    tmp = wildmatch((char const   *)item___0->string, refname, 0U);
    if (! tmp) {
      matched = 1;
    }
  } else {
    tmp___0 = skip_prefix(refname, (char const   *)item___0->string, & rest);
    if (tmp___0) {
      if (! *rest) {
        matched = 1;
      } else
      if ((int const   )*rest == 47) {
        matched = 1;
      }
    }
  }
  return (matched);
}
}
static int ref_filter_match(char const   *refname , struct decoration_filter  const  *filter___0 )
{
  struct string_list_item *item___0 ;
  struct string_list  const  *exclude_patterns___0 ;
  struct string_list  const  *include_patterns ;
  struct string_list  const  *exclude_patterns_config ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  exclude_patterns___0 = (struct string_list  const  *)filter___0->exclude_ref_pattern;
  include_patterns = (struct string_list  const  *)filter___0->include_ref_pattern;
  exclude_patterns_config = (struct string_list  const  *)filter___0->exclude_ref_config_pattern;
  if (exclude_patterns___0) {
    if (exclude_patterns___0->nr) {
      item___0 = (struct string_list_item *)exclude_patterns___0->items;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (item___0) {
          if (! ((unsigned long )item___0 < (unsigned long )(exclude_patterns___0->items + exclude_patterns___0->nr))) {
            goto while_break;
          }
        } else {
          goto while_break;
        }
        tmp = match_ref_pattern(refname, (struct string_list_item  const  *)item___0);
        if (tmp) {
          return (0);
        }
        item___0 ++;
      }
      while_break: /* CIL Label */ ;
      }
    }
  }
  if (include_patterns) {
    if (include_patterns->nr) {
      item___0 = (struct string_list_item *)include_patterns->items;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (item___0) {
          if (! ((unsigned long )item___0 < (unsigned long )(include_patterns->items + include_patterns->nr))) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
        tmp___0 = match_ref_pattern(refname, (struct string_list_item  const  *)item___0);
        if (tmp___0) {
          return (1);
        }
        item___0 ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      return (0);
    }
  }
  if (exclude_patterns_config) {
    if (exclude_patterns_config->nr) {
      item___0 = (struct string_list_item *)exclude_patterns_config->items;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (item___0) {
          if (! ((unsigned long )item___0 < (unsigned long )(exclude_patterns_config->items + exclude_patterns_config->nr))) {
            goto while_break___1;
          }
        } else {
          goto while_break___1;
        }
        tmp___1 = match_ref_pattern(refname, (struct string_list_item  const  *)item___0);
        if (tmp___1) {
          return (0);
        }
        item___0 ++;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
  }
  return (1);
}
}
static int add_ref_decoration(char const   *refname , struct object_id  const  *oid ,
                              int flags___0 , void *cb_data )
{
  struct object *obj ;
  enum object_type objtype ;
  enum decoration_type deco_type ;
  struct decoration_filter *filter___0 ;
  int tmp ;
  struct object_id original_oid ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  deco_type = (enum decoration_type )0;
  filter___0 = (struct decoration_filter *)cb_data;
  if (filter___0) {
    tmp = ref_filter_match(refname, (struct decoration_filter  const  *)filter___0);
    if (! tmp) {
      return (0);
    }
  }
  tmp___2 = starts_with(refname, (char const   *)git_replace_ref_base);
  if (tmp___2) {
    if (! read_replace_refs) {
      return (0);
    }
    tmp___0 = strlen((char const   *)git_replace_ref_base);
    tmp___1 = get_oid_hex(refname + tmp___0, & original_oid);
    if (tmp___1) {
      warning((char const   *)"invalid replace ref %s", refname);
      return (0);
    }
    obj = parse_object(the_repository, (struct object_id  const  *)(& original_oid));
    if (obj) {
      add_name_decoration((enum decoration_type )6, (char const   *)"replaced", obj);
    }
    return (0);
  }
  tmp___3 = oid_object_info(the_repository, oid, (unsigned long *)((void *)0));
  objtype = (enum object_type )tmp___3;
  if ((int )objtype < 0) {
    return (0);
  }
  obj = lookup_object_by_type(the_repository, oid, objtype);
  tmp___8 = starts_with(refname, (char const   *)"refs/heads/");
  if (tmp___8) {
    deco_type = (enum decoration_type )1;
  } else {
    tmp___7 = starts_with(refname, (char const   *)"refs/remotes/");
    if (tmp___7) {
      deco_type = (enum decoration_type )2;
    } else {
      tmp___6 = starts_with(refname, (char const   *)"refs/tags/");
      if (tmp___6) {
        deco_type = (enum decoration_type )3;
      } else {
        tmp___5 = strcmp(refname, (char const   *)"refs/stash");
        if (tmp___5) {
          tmp___4 = strcmp(refname, (char const   *)"HEAD");
          if (! tmp___4) {
            deco_type = (enum decoration_type )5;
          }
        } else {
          deco_type = (enum decoration_type )4;
        }
      }
    }
  }
  add_name_decoration(deco_type, refname, obj);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (obj->type == 4U)) {
      goto while_break;
    }
    if (! obj->parsed) {
      parse_object(the_repository, (struct object_id  const  *)(& obj->oid));
    }
    obj = ((struct tag *)obj)->tagged;
    if (! obj) {
      goto while_break;
    }
    add_name_decoration((enum decoration_type )3, refname, obj);
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int add_graft_decoration(struct commit_graft  const  *graft , void *cb_data )
{
  struct commit *commit ;
  struct commit *tmp ;

  {
  tmp = lookup_commit(the_repository, (struct object_id  const  *)(& graft->oid));
  commit = tmp;
  if (! commit) {
    return (0);
  }
  add_name_decoration((enum decoration_type )6, (char const   *)"grafted", & commit->object);
  return (0);
}
}
void load_ref_decorations(struct decoration_filter *filter___0 , int flags___0 )
{
  struct string_list_item *item___0 ;

  {
  if (! decoration_loaded) {
    if (filter___0) {
      item___0 = (filter___0->exclude_ref_pattern)->items;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (item___0) {
          if (! ((unsigned long )item___0 < (unsigned long )((filter___0->exclude_ref_pattern)->items + (filter___0->exclude_ref_pattern)->nr))) {
            goto while_break;
          }
        } else {
          goto while_break;
        }
        normalize_glob_ref(item___0, (char const   *)((void *)0), (char const   *)item___0->string);
        item___0 ++;
      }
      while_break: /* CIL Label */ ;
      }
      item___0 = (filter___0->include_ref_pattern)->items;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (item___0) {
          if (! ((unsigned long )item___0 < (unsigned long )((filter___0->include_ref_pattern)->items + (filter___0->include_ref_pattern)->nr))) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
        normalize_glob_ref(item___0, (char const   *)((void *)0), (char const   *)item___0->string);
        item___0 ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      item___0 = (filter___0->exclude_ref_config_pattern)->items;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (item___0) {
          if (! ((unsigned long )item___0 < (unsigned long )((filter___0->exclude_ref_config_pattern)->items + (filter___0->exclude_ref_config_pattern)->nr))) {
            goto while_break___1;
          }
        } else {
          goto while_break___1;
        }
        normalize_glob_ref(item___0, (char const   *)((void *)0), (char const   *)item___0->string);
        item___0 ++;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
    decoration_loaded = 1;
    decoration_flags = flags___0;
    for_each_ref(& add_ref_decoration, (void *)filter___0);
    head_ref(& add_ref_decoration, (void *)filter___0);
    for_each_commit_graft(& add_graft_decoration, (void *)filter___0);
  }
  return;
}
}
static void show_parents(struct commit *commit , int abbrev___6 , FILE *file___0 )
{
  struct commit_list *p___0 ;
  struct commit *parent ;
  char const   *tmp ;

  {
  p___0 = commit->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    parent = p___0->item;
    tmp = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& parent->object.oid),
                                  abbrev___6);
    fprintf(file___0, (char const   *)" %s", tmp);
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void show_children(struct rev_info *opt___0 , struct commit *commit , int abbrev___6 )
{
  struct commit_list *p___0 ;
  void *tmp ;
  char const   *tmp___0 ;

  {
  tmp = lookup_decoration(& opt___0->children, (struct object  const  *)(& commit->object));
  p___0 = (struct commit_list *)tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    tmp___0 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& (p___0->item)->object.oid),
                                      abbrev___6);
    fprintf(opt___0->diffopt.file, (char const   *)" %s", tmp___0);
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct name_decoration  const  *current_pointed_by_HEAD(struct name_decoration  const  *decoration )
{
  struct name_decoration  const  *list___3 ;
  struct name_decoration  const  *head___1 ;
  char const   *branch_name ;
  int rru_flags ;
  int tmp ;
  int tmp___0 ;

  {
  head___1 = (struct name_decoration  const  *)((void *)0);
  branch_name = (char const   *)((void *)0);
  list___3 = decoration;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    if (list___3->type == 5) {
      head___1 = list___3;
      goto while_break;
    }
    list___3 = (struct name_decoration  const  *)list___3->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (! head___1) {
    return ((struct name_decoration  const  *)((void *)0));
  }
  branch_name = resolve_ref_unsafe((char const   *)"HEAD", 0, (struct object_id *)((void *)0),
                                   & rru_flags);
  if (! branch_name) {
    return ((struct name_decoration  const  *)((void *)0));
  } else
  if (! (rru_flags & 0x01)) {
    return ((struct name_decoration  const  *)((void *)0));
  }
  tmp = starts_with(branch_name, (char const   *)"refs/");
  if (! tmp) {
    return ((struct name_decoration  const  *)((void *)0));
  }
  list___3 = decoration;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! list___3) {
      goto while_break___0;
    }
    if (list___3->type == 1) {
      tmp___0 = strcmp(branch_name, (char const   *)(list___3->name));
      if (! tmp___0) {
        return (list___3);
      }
    }
    list___3 = (struct name_decoration  const  *)list___3->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  return ((struct name_decoration  const  *)((void *)0));
}
}
static void show_name___0(struct strbuf *sb___6 , struct name_decoration  const  *decoration )
{
  char const   *tmp ;

  {
  if (decoration_flags == 1) {
    tmp = prettify_refname((char const   *)(decoration->name));
    strbuf_addstr(sb___6, tmp);
  } else {
    strbuf_addstr(sb___6, (char const   *)(decoration->name));
  }
  return;
}
}
void format_decorations_extended(struct strbuf *sb___6 , struct commit  const  *commit ,
                                 int use_color , char const   *prefix___1 , char const   *separator ,
                                 char const   *suffix___3 )
{
  struct name_decoration  const  *decoration ;
  struct name_decoration  const  *current_and_HEAD ;
  char const   *color_commit ;
  char const   *tmp ;
  char const   *color_reset ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;

  {
  tmp = diff_get_color(use_color, (enum color_diff )6);
  color_commit = tmp;
  tmp___0 = decorate_get_color(use_color, (enum decoration_type )0);
  color_reset = tmp___0;
  decoration = get_name_decoration((struct object  const  *)(& commit->object));
  if (! decoration) {
    return;
  }
  current_and_HEAD = current_pointed_by_HEAD(decoration);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! decoration) {
      goto while_break;
    }
    if ((unsigned long )decoration != (unsigned long )current_and_HEAD) {
      strbuf_addstr(sb___6, color_commit);
      strbuf_addstr(sb___6, prefix___1);
      strbuf_addstr(sb___6, color_reset);
      tmp___1 = decorate_get_color(use_color, (enum decoration_type )decoration->type);
      strbuf_addstr(sb___6, tmp___1);
      if (decoration->type == 3) {
        strbuf_addstr(sb___6, (char const   *)"tag: ");
      }
      show_name___0(sb___6, decoration);
      if (current_and_HEAD) {
        if (decoration->type == 5) {
          strbuf_addstr(sb___6, (char const   *)" -> ");
          strbuf_addstr(sb___6, color_reset);
          tmp___2 = decorate_get_color(use_color, (enum decoration_type )current_and_HEAD->type);
          strbuf_addstr(sb___6, tmp___2);
          show_name___0(sb___6, current_and_HEAD);
        }
      }
      strbuf_addstr(sb___6, color_reset);
      prefix___1 = separator;
    }
    decoration = (struct name_decoration  const  *)decoration->next;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addstr(sb___6, color_commit);
  strbuf_addstr(sb___6, suffix___3);
  strbuf_addstr(sb___6, color_reset);
  return;
}
}
void show_decorations(struct rev_info *opt___0 , struct commit *commit )
{
  struct strbuf sb___6 ;
  char **slot ;
  char **tmp ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  if (opt___0->sources) {
    tmp = revision_sources_peek(opt___0->sources, (struct commit  const  *)commit);
    slot = tmp;
    if (slot) {
      if (*slot) {
        fprintf(opt___0->diffopt.file, (char const   *)"\t%s", *slot);
      }
    }
  }
  if (! opt___0->show_decorations) {
    return;
  }
  format_decorations_extended(& sb___6, (struct commit  const  *)commit, opt___0->diffopt.use_color,
                              (char const   *)" (", (char const   *)", ", (char const   *)")");
  fputs((char const   * __restrict  )sb___6.buf, (FILE * __restrict  )opt___0->diffopt.file);
  strbuf_release(& sb___6);
  return;
}
}
static unsigned int digits_in_number(unsigned int number )
{
  unsigned int i ;
  unsigned int result___0 ;

  {
  i = 10U;
  result___0 = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i <= number)) {
      goto while_break;
    }
    i *= 10U;
    result___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (result___0);
}
}
void fmt_output_subject(struct strbuf *filename___0 , char const   *subject , struct rev_info *info___0 )
{
  char const   *suffix___3 ;
  int nr___0 ;
  int start_len ;
  int max_len ;
  size_t tmp ;
  struct strbuf temp ;

  {
  suffix___3 = info___0->patch_suffix;
  nr___0 = info___0->nr;
  start_len = (int )filename___0->len;
  tmp = strlen(suffix___3);
  max_len = (int )((size_t )(start_len + info___0->patch_name_max) - (tmp + 1UL));
  if (info___0->reroll_count) {
    temp.alloc = 0UL;
    temp.len = 0UL;
    temp.buf = strbuf_slopbuf;
    strbuf_addf(& temp, (char const   *)"v%s", info___0->reroll_count);
    format_sanitized_subject(filename___0, (char const   *)temp.buf, temp.len);
    strbuf_addstr(filename___0, (char const   *)"-");
    strbuf_release(& temp);
  }
  strbuf_addf(filename___0, (char const   *)"%04d-%s", nr___0, subject);
  if ((size_t )max_len < filename___0->len) {
    strbuf_setlen(filename___0, (size_t )max_len);
  }
  strbuf_addstr(filename___0, suffix___3);
  return;
}
}
void fmt_output_commit(struct strbuf *filename___0 , struct commit *commit , struct rev_info *info___0 )
{
  struct pretty_print_context ctx___0 ;
  struct strbuf subject ;

  {
  ctx___0.fmt = (enum cmit_fmt )0;
  ctx___0.abbrev = 0;
  ctx___0.after_subject = (char const   *)0;
  ctx___0.preserve_subject = 0;
  ctx___0.date_mode.type = 0U;
  ctx___0.date_mode.strftime_fmt = (char const   *)0;
  ctx___0.date_mode.local = 0;
  ctx___0.date_mode_explicit = 0U;
  ctx___0.print_email_subject = 0;
  ctx___0.expand_tabs_in_log = 0;
  ctx___0.need_8bit_cte = 0;
  ctx___0.notes_message = (char *)0;
  ctx___0.reflog_info = (struct reflog_walk_info *)0;
  ctx___0.rev = (struct rev_info *)0;
  ctx___0.output_encoding = (char const   *)0;
  ctx___0.mailmap = (struct string_list *)0;
  ctx___0.color = 0;
  ctx___0.from_ident = (struct ident_split *)0;
  ctx___0.encode_email_headers = 0U;
  ctx___0.describe_status = (struct pretty_print_describe_status *)0;
  ctx___0.in_body_headers.items = (struct string_list_item *)0;
  ctx___0.in_body_headers.nr = 0U;
  ctx___0.in_body_headers.alloc = 0U;
  ctx___0.in_body_headers.strdup_strings = 0U;
  ctx___0.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
  ctx___0.graph_width = 0;
  subject.alloc = 0UL;
  subject.len = 0UL;
  subject.buf = strbuf_slopbuf;
  repo_format_commit_message(the_repository, (struct commit  const  *)commit, (char const   *)"%f",
                             & subject, (struct pretty_print_context  const  *)(& ctx___0));
  fmt_output_subject(filename___0, (char const   *)subject.buf, info___0);
  strbuf_release(& subject);
  return;
}
}
void fmt_output_email_subject(struct strbuf *sb___6 , struct rev_info *opt___0 )
{
  unsigned int tmp ;
  char *tmp___0 ;

  {
  if (opt___0->total > 0) {
    tmp = digits_in_number((unsigned int )opt___0->total);
    if (*(opt___0->subject_prefix)) {
      tmp___0 = " ";
    } else {
      tmp___0 = "";
    }
    strbuf_addf(sb___6, (char const   *)"Subject: [%s%s%0*d/%d] ", opt___0->subject_prefix,
                tmp___0, tmp, opt___0->nr, opt___0->total);
  } else
  if (opt___0->total == 0) {
    if (opt___0->subject_prefix) {
      if (*(opt___0->subject_prefix)) {
        strbuf_addf(sb___6, (char const   *)"Subject: [%s] ", opt___0->subject_prefix);
      } else {
        strbuf_addstr(sb___6, (char const   *)"Subject: ");
      }
    } else {
      strbuf_addstr(sb___6, (char const   *)"Subject: ");
    }
  } else {
    strbuf_addstr(sb___6, (char const   *)"Subject: ");
  }
  return;
}
}
static struct strbuf subject_buffer  =    {0UL, 0UL, strbuf_slopbuf};
static struct strbuf buffer  =    {0UL, 0UL, strbuf_slopbuf};
void log_write_email_headers(struct rev_info *opt___0 , struct commit *commit , char const   **extra_headers_p ,
                             int *need_8bit_cte_p , int maybe_multipart )
{
  char const   *extra_headers ;
  char const   *name___0 ;
  struct object_id  const  *tmp ;
  struct object_id  const  *tmp___0 ;
  char *tmp___1 ;
  int i ;
  int n ;
  char *tmp___2 ;
  struct strbuf filename___0 ;
  char const   *tmp___3 ;
  char *tmp___4 ;

  {
  extra_headers = opt___0->extra_headers;
  if (opt___0->zero_commit) {
    tmp = null_oid();
    tmp___0 = tmp;
  } else {
    tmp___0 = (struct object_id  const  *)(& commit->object.oid);
  }
  tmp___1 = oid_to_hex(tmp___0);
  name___0 = (char const   *)tmp___1;
  *need_8bit_cte_p = 0;
  fprintf(opt___0->diffopt.file, (char const   *)"From %s Mon Sep 17 00:00:00 2001\n",
          name___0);
  graph_show_oneline(opt___0->graph);
  if (opt___0->message_id) {
    fprintf(opt___0->diffopt.file, (char const   *)"Message-Id: <%s>\n", opt___0->message_id);
    graph_show_oneline(opt___0->graph);
  }
  if (opt___0->ref_message_ids) {
    if ((opt___0->ref_message_ids)->nr > 0U) {
      n = (int )(opt___0->ref_message_ids)->nr;
      fprintf(opt___0->diffopt.file, (char const   *)"In-Reply-To: <%s>\n", ((opt___0->ref_message_ids)->items + (n - 1))->string);
      i = 0;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! (i < n)) {
          goto while_break;
        }
        if (i > 0) {
          tmp___2 = "\t";
        } else {
          tmp___2 = "References: ";
        }
        fprintf(opt___0->diffopt.file, (char const   *)"%s<%s>\n", tmp___2, ((opt___0->ref_message_ids)->items + i)->string);
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
      graph_show_oneline(opt___0->graph);
    }
  }
  if (opt___0->mime_boundary) {
    if (maybe_multipart) {
      filename___0.alloc = 0UL;
      filename___0.len = 0UL;
      filename___0.buf = strbuf_slopbuf;
      *need_8bit_cte_p = -1;
      strbuf_setlen(& subject_buffer, (size_t )0);
      strbuf_setlen(& buffer, (size_t )0);
      if (extra_headers) {
        tmp___3 = extra_headers;
      } else {
        tmp___3 = (char const   *)"";
      }
      strbuf_addf(& subject_buffer, (char const   *)"%sMIME-Version: 1.0\nContent-Type: multipart/mixed; boundary=\"%s%s\"\n\nThis is a multi-part message in MIME format.\n--%s%s\nContent-Type: text/plain; charset=UTF-8; format=fixed\nContent-Transfer-Encoding: 8bit\n\n",
                  tmp___3, mime_boundary_leader, opt___0->mime_boundary, mime_boundary_leader,
                  opt___0->mime_boundary);
      extra_headers = (char const   *)subject_buffer.buf;
      if (opt___0->numbered_files) {
        strbuf_addf(& filename___0, (char const   *)"%d", opt___0->nr);
      } else {
        fmt_output_commit(& filename___0, commit, opt___0);
      }
      if (opt___0->no_inline) {
        tmp___4 = "attachment";
      } else {
        tmp___4 = "inline";
      }
      strbuf_addf(& buffer, (char const   *)"\n--%s%s\nContent-Type: text/x-patch; name=\"%s\"\nContent-Transfer-Encoding: 8bit\nContent-Disposition: %s; filename=\"%s\"\n\n",
                  mime_boundary_leader, opt___0->mime_boundary, filename___0.buf,
                  tmp___4, filename___0.buf);
      opt___0->diffopt.stat_sep = (char const   *)buffer.buf;
      strbuf_release(& filename___0);
    }
  }
  *extra_headers_p = extra_headers;
  return;
}
}
static void show_sig_lines(struct rev_info *opt___0 , int status , char const   *bol )
{
  char const   *color___0 ;
  char const   *reset ;
  char const   *eol ;
  int tmp ;
  char *tmp___0 ;
  char *tmp___1 ;

  {
  if (status) {
    tmp = 7;
  } else {
    tmp = 3;
  }
  color___0 = diff_get_color(opt___0->diffopt.use_color, (enum color_diff )tmp);
  reset = diff_get_color(opt___0->diffopt.use_color, (enum color_diff )0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *bol) {
      goto while_break;
    }
    tmp___0 = strchrnul(bol, '\n');
    eol = (char const   *)tmp___0;
    if (*eol) {
      tmp___1 = "\n";
    } else {
      tmp___1 = "";
    }
    fprintf(opt___0->diffopt.file, (char const   *)"%s%.*s%s%s", color___0, (int )(eol - bol),
            bol, reset, tmp___1);
    graph_show_oneline(opt___0->graph);
    if (*eol) {
      bol = eol + 1;
    } else {
      bol = eol;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void show_signature(struct rev_info *opt___0 , struct commit *commit )
{
  struct strbuf payload ;
  struct strbuf signature___0 ;
  struct signature_check sigc ;
  int status ;
  int tmp ;

  {
  payload.alloc = 0UL;
  payload.len = 0UL;
  payload.buf = strbuf_slopbuf;
  signature___0.alloc = 0UL;
  signature___0.len = 0UL;
  signature___0.buf = strbuf_slopbuf;
  sigc.payload = (char *)0;
  sigc.payload_len = 0UL;
  sigc.payload_type = 0U;
  sigc.payload_timestamp = 0UL;
  sigc.output = (char *)0;
  sigc.gpg_status = (char *)0;
  sigc.result = (char)0;
  sigc.signer = (char *)0;
  sigc.key = (char *)0;
  sigc.fingerprint = (char *)0;
  sigc.primary_key_fingerprint = (char *)0;
  sigc.trust_level = 0U;
  tmp = parse_signed_commit((struct commit  const  *)commit, & payload, & signature___0,
                            the_repository->hash_algo);
  if (tmp <= 0) {
    goto out;
  }
  sigc.payload_type = (enum payload_type )1;
  sigc.payload = strbuf_detach(& payload, & sigc.payload_len);
  status = check_signature(& sigc, (char const   *)signature___0.buf, signature___0.len);
  if (status) {
    if (! sigc.output) {
      show_sig_lines(opt___0, status, (char const   *)"No signature\n");
    } else {
      show_sig_lines(opt___0, status, (char const   *)sigc.output);
    }
  } else {
    show_sig_lines(opt___0, status, (char const   *)sigc.output);
  }
  signature_check_clear(& sigc);
  out:
  strbuf_release(& payload);
  strbuf_release(& signature___0);
  return;
}
}
static int which_parent(struct object_id  const  *oid , struct commit  const  *commit )
{
  int nth ;
  struct commit_list  const  *parent ;
  int tmp ;

  {
  nth = 0;
  parent = (struct commit_list  const  *)commit->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! parent) {
      goto while_break;
    }
    tmp = oideq((struct object_id  const  *)(& (parent->item)->object.oid), oid);
    if (tmp) {
      return (nth);
    }
    nth ++;
    parent = (struct commit_list  const  *)parent->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (-1);
}
}
static int is_common_merge(struct commit  const  *commit )
{
  int tmp ;

  {
  if (commit->parents) {
    if ((commit->parents)->next) {
      if (! ((commit->parents)->next)->next) {
        tmp = 1;
      } else {
        tmp = 0;
      }
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static int show_one_mergetag(struct commit *commit , struct commit_extra_header *extra___2 ,
                             void *data )
{
  struct rev_info *opt___0 ;
  struct object_id oid ;
  struct tag *tag ;
  struct strbuf verify_message ;
  struct signature_check sigc ;
  int status ;
  int nth ;
  struct strbuf payload ;
  struct strbuf signature___0 ;
  char const   *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  opt___0 = (struct rev_info *)data;
  sigc.payload = (char *)0;
  sigc.payload_len = 0UL;
  sigc.payload_type = 0U;
  sigc.payload_timestamp = 0UL;
  sigc.output = (char *)0;
  sigc.gpg_status = (char *)0;
  sigc.result = (char)0;
  sigc.signer = (char *)0;
  sigc.key = (char *)0;
  sigc.fingerprint = (char *)0;
  sigc.primary_key_fingerprint = (char *)0;
  sigc.trust_level = 0U;
  payload.alloc = 0UL;
  payload.len = 0UL;
  payload.buf = strbuf_slopbuf;
  signature___0.alloc = 0UL;
  signature___0.len = 0UL;
  signature___0.buf = strbuf_slopbuf;
  tmp = type_name(4U);
  hash_object_file(the_repository->hash_algo, (void const   *)extra___2->value, extra___2->len,
                   tmp, & oid);
  tag = lookup_tag(the_repository, (struct object_id  const  *)(& oid));
  if (! tag) {
    return (-1);
  }
  strbuf_init(& verify_message, (size_t )256);
  tmp___3 = parse_tag_buffer(the_repository, tag, (void const   *)extra___2->value,
                             extra___2->len);
  if (tmp___3) {
    strbuf_addstr(& verify_message, (char const   *)"malformed mergetag\n");
  } else {
    tmp___1 = is_common_merge((struct commit  const  *)commit);
    if (tmp___1) {
      tmp___2 = oideq((struct object_id  const  *)(& (tag->tagged)->oid), (struct object_id  const  *)(& (((commit->parents)->next)->item)->object.oid));
      if (tmp___2) {
        strbuf_addf(& verify_message, (char const   *)"merged tag \'%s\'\n", tag->tag);
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      nth = which_parent((struct object_id  const  *)(& (tag->tagged)->oid), (struct commit  const  *)commit);
      if (nth < 0) {
        tmp___0 = oid_to_hex((struct object_id  const  *)(& (tag->tagged)->oid));
        strbuf_addf(& verify_message, (char const   *)"tag %s names a non-parent %s\n",
                    tag->tag, tmp___0);
      } else {
        strbuf_addf(& verify_message, (char const   *)"parent #%d, tagged \'%s\'\n",
                    nth + 1, tag->tag);
      }
    }
  }
  status = -1;
  tmp___4 = parse_signature((char const   *)extra___2->value, extra___2->len, & payload,
                            & signature___0);
  if (tmp___4) {
    sigc.payload_type = (enum payload_type )2;
    sigc.payload = strbuf_detach(& payload, & sigc.payload_len);
    status = check_signature(& sigc, (char const   *)signature___0.buf, signature___0.len);
    if (sigc.output) {
      strbuf_addstr(& verify_message, (char const   *)sigc.output);
    } else {
      strbuf_addstr(& verify_message, (char const   *)"No signature\n");
    }
    signature_check_clear(& sigc);
  }
  show_sig_lines(opt___0, status, (char const   *)verify_message.buf);
  strbuf_release(& verify_message);
  strbuf_release(& payload);
  strbuf_release(& signature___0);
  return (0);
}
}
static int show_mergetag(struct rev_info *opt___0 , struct commit *commit )
{
  int tmp ;

  {
  tmp = for_each_mergetag(& show_one_mergetag, commit, (void *)opt___0);
  return (tmp);
}
}
static void next_commentary_block(struct rev_info *opt___0 , struct strbuf *sb___6 )
{
  char const   *x ;
  char *tmp ;

  {
  if (opt___0->shown_dashes) {
    tmp = "\n";
  } else {
    tmp = "---\n";
  }
  x = (char const   *)tmp;
  if (sb___6) {
    strbuf_addstr(sb___6, x);
  } else {
    fputs((char const   * __restrict  )x, (FILE * __restrict  )opt___0->diffopt.file);
  }
  opt___0->shown_dashes = 1U;
  return;
}
}
void show_log(struct rev_info *opt___0 )
{
  struct strbuf msgbuf___0 ;
  struct log_info *log ;
  struct commit *commit ;
  struct commit *parent ;
  int abbrev_commit ;
  size_t tmp ;
  char const   *extra_headers ;
  struct pretty_print_context ctx___0 ;
  char const   *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  char const   *tmp___5 ;
  int tmp___6 ;
  int raw ;
  struct strbuf notebuf ;
  char const   *tmp___7 ;
  char const   *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  struct diff_queue_struct dq ;
  int tmp___11 ;
  struct diff_queue_struct dq___0 ;
  struct diff_options opts___1 ;
  struct range_diff_options range_diff_opts ;
  int tmp___12 ;

  {
  msgbuf___0.alloc = 0UL;
  msgbuf___0.len = 0UL;
  msgbuf___0.buf = strbuf_slopbuf;
  log = opt___0->loginfo;
  commit = log->commit;
  parent = log->parent;
  if (opt___0->abbrev_commit) {
    tmp = (size_t )opt___0->abbrev;
  } else {
    tmp = (the_repository->hash_algo)->hexsz;
  }
  abbrev_commit = (int )tmp;
  extra_headers = opt___0->extra_headers;
  ctx___0.fmt = (enum cmit_fmt )0;
  ctx___0.abbrev = 0;
  ctx___0.after_subject = (char const   *)0;
  ctx___0.preserve_subject = 0;
  ctx___0.date_mode.type = 0U;
  ctx___0.date_mode.strftime_fmt = (char const   *)0;
  ctx___0.date_mode.local = 0;
  ctx___0.date_mode_explicit = 0U;
  ctx___0.print_email_subject = 0;
  ctx___0.expand_tabs_in_log = 0;
  ctx___0.need_8bit_cte = 0;
  ctx___0.notes_message = (char *)0;
  ctx___0.reflog_info = (struct reflog_walk_info *)0;
  ctx___0.rev = (struct rev_info *)0;
  ctx___0.output_encoding = (char const   *)0;
  ctx___0.mailmap = (struct string_list *)0;
  ctx___0.color = 0;
  ctx___0.from_ident = (struct ident_split *)0;
  ctx___0.encode_email_headers = 0U;
  ctx___0.describe_status = (struct pretty_print_describe_status *)0;
  ctx___0.in_body_headers.items = (struct string_list_item *)0;
  ctx___0.in_body_headers.nr = 0U;
  ctx___0.in_body_headers.alloc = 0U;
  ctx___0.in_body_headers.strdup_strings = 0U;
  ctx___0.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
  ctx___0.graph_width = 0;
  opt___0->loginfo = (struct log_info *)((void *)0);
  if (! opt___0->verbose_header) {
    graph_show_commit(opt___0->graph);
    if (! opt___0->graph) {
      put_revision_mark((struct rev_info  const  *)opt___0, (struct commit  const  *)commit);
    }
    tmp___0 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& commit->object.oid),
                                      abbrev_commit);
    fputs((char const   * __restrict  )tmp___0, (FILE * __restrict  )opt___0->diffopt.file);
    if (opt___0->print_parents) {
      show_parents(commit, abbrev_commit, opt___0->diffopt.file);
    }
    if (opt___0->children.name) {
      show_children(opt___0, commit, abbrev_commit);
    }
    show_decorations(opt___0, commit);
    if (opt___0->graph) {
      tmp___1 = graph_is_commit_finished((struct git_graph  const  *)opt___0->graph);
      if (! tmp___1) {
        _IO_putc('\n', opt___0->diffopt.file);
        graph_show_remainder(opt___0->graph);
      }
    }
    _IO_putc(opt___0->diffopt.line_termination, opt___0->diffopt.file);
    return;
  }
  if (opt___0->shown_one) {
    if (! opt___0->use_terminator) {
      if (opt___0->diffopt.line_termination == 10) {
        if (! opt___0->missing_newline) {
          graph_show_padding(opt___0->graph);
        }
      }
      _IO_putc(opt___0->diffopt.line_termination, opt___0->diffopt.file);
    }
  }
  opt___0->shown_one = 1U;
  graph_show_commit(opt___0->graph);
  tmp___6 = cmit_fmt_is_mail(opt___0->commit_format);
  if (tmp___6) {
    log_write_email_headers(opt___0, commit, & extra_headers, & ctx___0.need_8bit_cte,
                            1);
    ctx___0.rev = opt___0;
    ctx___0.print_email_subject = 1;
  } else
  if ((unsigned int )opt___0->commit_format != 8U) {
    tmp___2 = diff_get_color(opt___0->diffopt.use_color, (enum color_diff )6);
    fputs((char const   * __restrict  )tmp___2, (FILE * __restrict  )opt___0->diffopt.file);
    if ((unsigned int )opt___0->commit_format != 5U) {
      fputs((char const   * __restrict  )"commit ", (FILE * __restrict  )opt___0->diffopt.file);
    }
    if (! opt___0->graph) {
      put_revision_mark((struct rev_info  const  *)opt___0, (struct commit  const  *)commit);
    }
    tmp___3 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& commit->object.oid),
                                      abbrev_commit);
    fputs((char const   * __restrict  )tmp___3, (FILE * __restrict  )opt___0->diffopt.file);
    if (opt___0->print_parents) {
      show_parents(commit, abbrev_commit, opt___0->diffopt.file);
    }
    if (opt___0->children.name) {
      show_children(opt___0, commit, abbrev_commit);
    }
    if (parent) {
      tmp___4 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& parent->object.oid),
                                        abbrev_commit);
      fprintf(opt___0->diffopt.file, (char const   *)" (from %s)", tmp___4);
    }
    tmp___5 = diff_get_color(opt___0->diffopt.use_color, (enum color_diff )0);
    fputs((char const   * __restrict  )tmp___5, (FILE * __restrict  )opt___0->diffopt.file);
    show_decorations(opt___0, commit);
    if ((unsigned int )opt___0->commit_format == 5U) {
      _IO_putc(' ', opt___0->diffopt.file);
    } else {
      _IO_putc('\n', opt___0->diffopt.file);
      graph_show_oneline(opt___0->graph);
    }
    if (opt___0->reflog_info) {
      show_reflog_message(opt___0->reflog_info, (unsigned int )opt___0->commit_format == 5U,
                          (struct date_mode  const  *)(& opt___0->date_mode), (int )opt___0->date_mode_explicit);
      if ((unsigned int )opt___0->commit_format == 5U) {
        return;
      }
    }
  }
  if (opt___0->show_signature) {
    show_signature(opt___0, commit);
    show_mergetag(opt___0, commit);
  }
  if (opt___0->show_notes) {
    notebuf.alloc = 0UL;
    notebuf.len = 0UL;
    notebuf.buf = strbuf_slopbuf;
    raw = (unsigned int )opt___0->commit_format == 8U;
    tmp___7 = get_log_output_encoding();
    format_display_notes((struct object_id  const  *)(& commit->object.oid), & notebuf,
                         tmp___7, raw);
    ctx___0.notes_message = strbuf_detach(& notebuf, (size_t *)((void *)0));
  }
  if (ctx___0.need_8bit_cte >= 0) {
    if (opt___0->add_signoff) {
      tmp___8 = fmt_name((enum want_ident )2);
      ctx___0.need_8bit_cte = has_non_ascii(tmp___8);
    }
  }
  ctx___0.date_mode = opt___0->date_mode;
  ctx___0.date_mode_explicit = opt___0->date_mode_explicit;
  ctx___0.abbrev = opt___0->diffopt.abbrev;
  ctx___0.after_subject = extra_headers;
  ctx___0.preserve_subject = (int )opt___0->preserve_subject;
  ctx___0.encode_email_headers = opt___0->encode_email_headers;
  ctx___0.reflog_info = opt___0->reflog_info;
  ctx___0.fmt = opt___0->commit_format;
  ctx___0.mailmap = opt___0->mailmap;
  ctx___0.color = opt___0->diffopt.use_color;
  ctx___0.expand_tabs_in_log = opt___0->expand_tabs_in_log;
  ctx___0.output_encoding = get_log_output_encoding();
  ctx___0.rev = opt___0;
  if (opt___0->from_ident.mail_begin) {
    if (opt___0->from_ident.name_begin) {
      ctx___0.from_ident = & opt___0->from_ident;
    }
  }
  if (opt___0->graph) {
    ctx___0.graph_width = graph_width(opt___0->graph);
  }
  pretty_print_commit(& ctx___0, (struct commit  const  *)commit, & msgbuf___0);
  if (opt___0->add_signoff) {
    append_signoff(& msgbuf___0, (size_t )0, 1u);
  }
  if ((unsigned int )ctx___0.fmt != 8U) {
    if (ctx___0.notes_message) {
      if (*(ctx___0.notes_message)) {
        tmp___9 = cmit_fmt_is_mail(ctx___0.fmt);
        if (tmp___9) {
          next_commentary_block(opt___0, & msgbuf___0);
        }
        strbuf_addstr(& msgbuf___0, (char const   *)ctx___0.notes_message);
      }
    }
  }
  if (opt___0->show_log_size) {
    fprintf(opt___0->diffopt.file, (char const   *)"log size %i\n", (int )msgbuf___0.len);
    graph_show_oneline(opt___0->graph);
  }
  if (! msgbuf___0.len) {
    opt___0->missing_newline = 1U;
  } else
  if ((int )*(msgbuf___0.buf + (msgbuf___0.len - 1UL)) != 10) {
    opt___0->missing_newline = 1U;
  } else {
    opt___0->missing_newline = 0U;
  }
  graph_show_commit_msg(opt___0->graph, opt___0->diffopt.file, (struct strbuf  const  *)(& msgbuf___0));
  if (opt___0->use_terminator) {
    tmp___10 = commit_format_is_empty(opt___0->commit_format);
    if (! tmp___10) {
      if (! opt___0->missing_newline) {
        graph_show_padding(opt___0->graph);
      }
      _IO_putc(opt___0->diffopt.line_termination, opt___0->diffopt.file);
    }
  }
  strbuf_release(& msgbuf___0);
  free((void *)ctx___0.notes_message);
  tmp___11 = cmit_fmt_is_mail(ctx___0.fmt);
  if (tmp___11) {
    if (opt___0->idiff_oid1) {
      memcpy((void *)(& dq), (void const   *)(& diff_queued_diff), sizeof(diff_queued_diff));
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        diff_queued_diff.queue = (struct diff_filepair **)((void *)0);
        diff_queued_diff.alloc = 0;
        diff_queued_diff.nr = diff_queued_diff.alloc;
        goto while_break;
      }
      while_break: /* CIL Label */ ;
      }
      next_commentary_block(opt___0, (struct strbuf *)((void *)0));
      fprintf_ln(opt___0->diffopt.file, (char const   *)"%s", opt___0->idiff_title);
      show_interdiff(opt___0->idiff_oid1, opt___0->idiff_oid2, 2, & opt___0->diffopt);
      memcpy((void *)(& diff_queued_diff), (void const   *)(& dq), sizeof(diff_queued_diff));
    }
  }
  tmp___12 = cmit_fmt_is_mail(ctx___0.fmt);
  if (tmp___12) {
    if (opt___0->rdiff1) {
      range_diff_opts.creation_factor = opt___0->creation_factor;
      range_diff_opts.dual_color = 1U;
      range_diff_opts.left_only = 0U;
      range_diff_opts.right_only = 0U;
      range_diff_opts.diffopt = (struct diff_options  const  *)(& opts___1);
      range_diff_opts.other_arg = (struct strvec  const  *)0;
      memcpy((void *)(& dq___0), (void const   *)(& diff_queued_diff), sizeof(diff_queued_diff));
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        diff_queued_diff.queue = (struct diff_filepair **)((void *)0);
        diff_queued_diff.alloc = 0;
        diff_queued_diff.nr = diff_queued_diff.alloc;
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
      next_commentary_block(opt___0, (struct strbuf *)((void *)0));
      fprintf_ln(opt___0->diffopt.file, (char const   *)"%s", opt___0->rdiff_title);
      repo_diff_setup(the_repository, & opts___1);
      opts___1.file = opt___0->diffopt.file;
      opts___1.use_color = opt___0->diffopt.use_color;
      diff_setup_done(& opts___1);
      show_range_diff(opt___0->rdiff1, opt___0->rdiff2, & range_diff_opts);
      memcpy((void *)(& diff_queued_diff), (void const   *)(& dq___0), sizeof(diff_queued_diff));
    }
  }
  return;
}
}
int log_tree_diff_flush(struct rev_info *opt___0 )
{
  int saved_fmt ;
  int tmp ;
  int pch ;
  struct strbuf *msg___5 ;
  int tmp___0 ;

  {
  opt___0->shown_dashes = 0U;
  diffcore_std(& opt___0->diffopt);
  tmp = diff_queue_is_empty();
  if (tmp) {
    saved_fmt = opt___0->diffopt.output_format;
    opt___0->diffopt.output_format = 0x0800;
    diff_flush(& opt___0->diffopt);
    opt___0->diffopt.output_format = saved_fmt;
    return (0);
  }
  if (opt___0->loginfo) {
    if (! opt___0->no_commit_id) {
      show_log(opt___0);
      if (opt___0->diffopt.output_format & -2049) {
        if (opt___0->verbose_header) {
          if ((unsigned int )opt___0->commit_format != 5U) {
            tmp___0 = commit_format_is_empty(opt___0->commit_format);
            if (! tmp___0) {
              pch = 18;
              if (opt___0->diffopt.output_prefix) {
                msg___5 = (struct strbuf *)((void *)0);
                msg___5 = (*(opt___0->diffopt.output_prefix))(& opt___0->diffopt,
                                                              opt___0->diffopt.output_prefix_data);
                fwrite((void const   * __restrict  )msg___5->buf, msg___5->len, (size_t )1,
                       (FILE * __restrict  )opt___0->diffopt.file);
              }
              if (! opt___0->shown_dashes) {
                if ((pch & opt___0->diffopt.output_format) == pch) {
                  fprintf(opt___0->diffopt.file, (char const   *)"---");
                }
              }
              _IO_putc('\n', opt___0->diffopt.file);
            }
          }
        }
      }
    }
  }
  diff_flush(& opt___0->diffopt);
  return (1);
}
}
static int do_diff_combined(struct rev_info *opt___0 , struct commit *commit )
{


  {
  diff_tree_combined_merge((struct commit  const  *)commit, opt___0);
  return (! opt___0->loginfo);
}
}
static int log_tree_diff(struct rev_info *opt___0 , struct commit *commit , struct log_info *log )
{
  int showed_log ;
  struct commit_list *parents ;
  struct object_id *oid ;
  int is_merge___1 ;
  int all_need_diff ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct commit *parent ;
  struct object_id *tmp___2 ;

  {
  if (opt___0->diff) {
    tmp = 1;
  } else
  if (opt___0->diffopt.flags.exit_with_status) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  all_need_diff = tmp;
  if (! all_need_diff) {
    if (! opt___0->merges_need_diff) {
      return (0);
    }
  }
  parse_commit_or_die(commit);
  oid = get_commit_tree_oid((struct commit  const  *)commit);
  parents = get_saved_parents(opt___0, (struct commit  const  *)commit);
  if (parents) {
    if (parents->next) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  is_merge___1 = tmp___0;
  if (! is_merge___1) {
    if (! all_need_diff) {
      return (0);
    }
  }
  if (! parents) {
    if (opt___0->show_root_diff) {
      diff_root_tree_oid((struct object_id  const  *)oid, (char const   *)"", & opt___0->diffopt);
      log_tree_diff_flush(opt___0);
    }
    return (! opt___0->loginfo);
  }
  if (is_merge___1) {
    if (opt___0->combine_merges) {
      tmp___1 = do_diff_combined(opt___0, commit);
      return (tmp___1);
    }
    if (opt___0->separate_merges) {
      if (! opt___0->first_parent_merges) {
        log->parent = parents->item;
      }
    } else {
      return (0);
    }
  }
  showed_log = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    parent = parents->item;
    parse_commit_or_die(parent);
    tmp___2 = get_commit_tree_oid((struct commit  const  *)parent);
    diff_tree_oid((struct object_id  const  *)tmp___2, (struct object_id  const  *)oid,
                  (char const   *)"", & opt___0->diffopt);
    log_tree_diff_flush(opt___0);
    showed_log |= ! opt___0->loginfo;
    parents = parents->next;
    if (! parents) {
      goto while_break;
    } else
    if (opt___0->first_parent_merges) {
      goto while_break;
    }
    log->parent = parents->item;
    opt___0->loginfo = log;
  }
  while_break: /* CIL Label */ ;
  }
  return (showed_log);
}
}
int log_tree_commit(struct rev_info *opt___0 , struct commit *commit )
{
  struct log_info log ;
  int shown ;
  int no_free ;
  int tmp ;

  {
  no_free = opt___0->diffopt.no_free;
  log.commit = commit;
  log.parent = (struct commit *)((void *)0);
  opt___0->loginfo = & log;
  opt___0->diffopt.no_free = 1;
  if (opt___0->line_level_traverse) {
    tmp = line_log_print(opt___0, commit);
    return (tmp);
  }
  if (opt___0->track_linear) {
    if (! opt___0->linear) {
      if (! opt___0->reverse_output_stage) {
        fprintf(opt___0->diffopt.file, (char const   *)"\n%s\n", opt___0->break_bar);
      }
    }
  }
  shown = log_tree_diff(opt___0, commit, & log);
  if (! shown) {
    if (opt___0->loginfo) {
      if (opt___0->always_show_header) {
        log.parent = (struct commit *)((void *)0);
        show_log(opt___0);
        shown = 1;
      }
    }
  }
  if (opt___0->track_linear) {
    if (! opt___0->linear) {
      if (opt___0->reverse_output_stage) {
        fprintf(opt___0->diffopt.file, (char const   *)"\n%s\n", opt___0->break_bar);
      }
    }
  }
  opt___0->loginfo = (struct log_info *)((void *)0);
  maybe_flush_or_die(opt___0->diffopt.file, (char const   *)"stdout");
  opt___0->diffopt.no_free = no_free;
  diff_free(& opt___0->diffopt);
  return (shown);
}
}
int ls_refs(struct repository *r , struct packet_reader *request ) ;
int ls_refs_advertise(struct repository *r , struct strbuf *value ) ;
static int config_read  ;
static int advertise_unborn  ;
static int allow_unborn  ;
static void ensure_config_read(void)
{
  char const   *str ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  str = (char const   *)((void *)0);
  if (config_read) {
    return;
  }
  tmp___3 = repo_config_get_string_tmp(the_repository, (char const   *)"lsrefs.unborn",
                                       & str);
  if (tmp___3) {
    advertise_unborn = 1;
    allow_unborn = 1;
  } else {
    tmp___2 = strcmp(str, (char const   *)"advertise");
    if (tmp___2) {
      tmp___1 = strcmp(str, (char const   *)"allow");
      if (tmp___1) {
        tmp___0 = strcmp(str, (char const   *)"ignore");
        if (tmp___0) {
          tmp = _((char const   *)"invalid value \'%s\' for lsrefs.unborn");
          die((char const   *)tmp, str);
        }
      } else {
        allow_unborn = 1;
      }
    } else {
      advertise_unborn = 1;
      allow_unborn = 1;
    }
  }
  config_read = 1;
  return;
}
}
static int ref_match(struct strvec  const  *prefixes___0 , char const   *refname )
{
  int i ;
  char const   *prefix___1 ;
  int tmp ;

  {
  if (! prefixes___0->nr) {
    return (1);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < prefixes___0->nr)) {
      goto while_break;
    }
    prefix___1 = *(prefixes___0->v + i);
    tmp = starts_with(refname, prefix___1);
    if (tmp) {
      return (1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int send_ref(char const   *refname , struct object_id  const  *oid , int flag ,
                    void *cb_data )
{
  struct ls_refs_data *data ;
  char const   *refname_nons ;
  char const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  struct object_id unused ;
  char const   *symref_target ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  struct object_id peeled ;
  char *tmp___5 ;
  int tmp___6 ;

  {
  data = (struct ls_refs_data *)cb_data;
  tmp = strip_namespace(refname);
  refname_nons = tmp;
  strbuf_setlen(& data->buf, (size_t )0);
  tmp___0 = ref_is_hidden(refname_nons, refname);
  if (tmp___0) {
    return (0);
  }
  tmp___1 = ref_match((struct strvec  const  *)(& data->prefixes), refname_nons);
  if (! tmp___1) {
    return (0);
  }
  if (oid) {
    tmp___2 = oid_to_hex(oid);
    strbuf_addf(& data->buf, (char const   *)"%s %s", tmp___2, refname_nons);
  } else {
    strbuf_addf(& data->buf, (char const   *)"unborn %s", refname_nons);
  }
  if (data->symrefs) {
    if (flag & 0x01) {
      tmp___3 = resolve_ref_unsafe(refname, 0, & unused, & flag);
      symref_target = tmp___3;
      if (! symref_target) {
        die((char const   *)"\'%s\' is a symref but it is not?", refname);
      }
      tmp___4 = strip_namespace(symref_target);
      strbuf_addf(& data->buf, (char const   *)" symref-target:%s", tmp___4);
    }
  }
  if (data->peel) {
    if (oid) {
      tmp___6 = peel_iterated_oid(oid, & peeled);
      if (! tmp___6) {
        tmp___5 = oid_to_hex((struct object_id  const  *)(& peeled));
        strbuf_addf(& data->buf, (char const   *)" peeled:%s", tmp___5);
      }
    }
  }
  strbuf_addch(& data->buf, '\n');
  packet_fwrite(stdout, (char const   *)data->buf.buf, data->buf.len);
  return (0);
}
}
static void send_possibly_unborn_head(struct ls_refs_data *data )
{
  struct strbuf namespaced ;
  struct object_id oid ;
  int flag ;
  int oid_is_null ;
  char const   *tmp ;
  char const   *tmp___0 ;
  struct object_id *tmp___1 ;

  {
  namespaced.alloc = 0UL;
  namespaced.len = 0UL;
  namespaced.buf = strbuf_slopbuf;
  tmp = get_git_namespace();
  strbuf_addf(& namespaced, (char const   *)"%sHEAD", tmp);
  tmp___0 = resolve_ref_unsafe((char const   *)namespaced.buf, 0, & oid, & flag);
  if (! tmp___0) {
    return;
  }
  oid_is_null = is_null_oid((struct object_id  const  *)(& oid));
  if (! oid_is_null) {
    goto _L;
  } else
  if (data->unborn) {
    if (data->symrefs) {
      if (flag & 0x01) {
        _L: /* CIL Label */
        if (oid_is_null) {
          tmp___1 = (struct object_id *)((void *)0);
        } else {
          tmp___1 = & oid;
        }
        send_ref((char const   *)namespaced.buf, (struct object_id  const  *)tmp___1,
                 flag, (void *)data);
      }
    }
  }
  strbuf_release(& namespaced);
  return;
}
}
static int ls_refs_config(char const   *var , char const   *value , void *data )
{
  int tmp ;

  {
  tmp = parse_hide_refs_config(var, value, (char const   *)"uploadpack");
  return (tmp);
}
}
int ls_refs(struct repository *r , struct packet_reader *request )
{
  struct ls_refs_data data ;
  char const   *arg ;
  char const   *out ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  enum packet_read_status tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const   *tmp___6 ;

  {
  memset((void *)(& data), 0, sizeof(data));
  strvec_init(& data.prefixes);
  strbuf_init(& data.buf, (size_t )0);
  ensure_config_read();
  git_config(& ls_refs_config, (void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___4 = packet_reader_read(request);
    if (! ((unsigned int )tmp___4 == 1U)) {
      goto while_break;
    }
    arg = request->line;
    tmp___3 = strcmp((char const   *)"peel", arg);
    if (tmp___3) {
      tmp___2 = strcmp((char const   *)"symrefs", arg);
      if (tmp___2) {
        tmp___1 = skip_prefix(arg, (char const   *)"ref-prefix ", & out);
        if (tmp___1) {
          if (data.prefixes.nr < 65536UL) {
            strvec_push(& data.prefixes, out);
          }
        } else {
          tmp___0 = strcmp((char const   *)"unborn", arg);
          if (tmp___0) {
            tmp = _((char const   *)"unexpected line: \'%s\'");
            die((char const   *)tmp, arg);
          } else {
            data.unborn = (unsigned int )allow_unborn;
          }
        }
      } else {
        data.symrefs = 1U;
      }
    } else {
      data.peel = 1U;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned int )request->status != 2U) {
    tmp___5 = _((char const   *)"expected flush after ls-refs arguments");
    die((char const   *)tmp___5);
  }
  if (data.prefixes.nr >= 65536UL) {
    strvec_clear(& data.prefixes);
  }
  send_possibly_unborn_head(& data);
  if (! data.prefixes.nr) {
    strvec_push(& data.prefixes, (char const   *)"");
  }
  tmp___6 = get_git_namespace();
  for_each_fullref_in_prefixes(tmp___6, data.prefixes.v, & send_ref, (void *)(& data));
  packet_fflush(stdout);
  strvec_clear(& data.prefixes);
  strbuf_release(& data.buf);
  return (0);
}
}
int ls_refs_advertise(struct repository *r , struct strbuf *value )
{


  {
  if (value) {
    ensure_config_read();
    if (advertise_unborn) {
      strbuf_addstr(value, (char const   *)"unborn");
    }
  }
  return (1);
}
}
int mailinfo_parse_quoted_cr_action(char const   *actionstr , int *action ) ;
void setup_mailinfo(struct mailinfo *mi ) ;
int mailinfo(struct mailinfo *mi , char const   *msg___5 , char const   *patch ) ;
void clear_mailinfo(struct mailinfo *mi ) ;
static void cleanup_space(struct strbuf *sb___6 )
{
  size_t pos ;
  size_t cnt ;

  {
  pos = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (pos < sb___6->len)) {
      goto while_break;
    }
    if (((int const   )sane_ctype[(unsigned char )*(sb___6->buf + pos)] & 1) != 0) {
      *(sb___6->buf + pos) = (char )' ';
      cnt = (size_t )0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (((int const   )sane_ctype[(unsigned char )*(sb___6->buf + ((pos + cnt) + 1UL))] & 1) != 0)) {
          goto while_break___0;
        }
        cnt ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      strbuf_remove(sb___6, pos + 1UL, cnt);
    }
    pos ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void get_sane_name(struct strbuf *out , struct strbuf *name___0 , struct strbuf *email )
{
  struct strbuf *src ;
  char *tmp ;

  {
  src = name___0;
  if (! name___0->len) {
    src = email;
  } else
  if (60UL < name___0->len) {
    src = email;
  } else {
    tmp = strpbrk((char const   *)name___0->buf, (char const   *)"@<>");
    if (tmp) {
      src = email;
    } else
    if ((unsigned long )name___0 == (unsigned long )out) {
      return;
    }
  }
  strbuf_setlen(out, (size_t )0);
  strbuf_addbuf(out, (struct strbuf  const  *)src);
  return;
}
}
static void parse_bogus_from(struct mailinfo *mi , struct strbuf  const  *line___0 )
{
  char *bra ;
  char *ket ;

  {
  if (mi->email.len) {
    return;
  }
  bra = strchr((char const   *)line___0->buf, '<');
  if (! bra) {
    return;
  }
  ket = strchr((char const   *)bra, '>');
  if (! ket) {
    return;
  }
  strbuf_setlen(& mi->email, (size_t )0);
  strbuf_add(& mi->email, (void const   *)(bra + 1), (size_t )((ket - bra) - 1L));
  strbuf_setlen(& mi->name, (size_t )0);
  strbuf_add(& mi->name, (void const   *)line___0->buf, (size_t )(bra - (char *)line___0->buf));
  strbuf_trim(& mi->name);
  get_sane_name(& mi->name, & mi->name, & mi->email);
  return;
}
}
static char const   *unquote_comment(struct strbuf *outbuf , char const   *in )
{
  int c___0 ;
  int take_next_literally ;
  char const   *tmp ;

  {
  take_next_literally = 0;
  strbuf_addch(outbuf, '(');
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = in;
    in ++;
    c___0 = (int )*tmp;
    if (! (c___0 != 0)) {
      goto while_break;
    }
    if (take_next_literally == 1) {
      take_next_literally = 0;
    } else {
      {
      if (c___0 == 92) {
        goto case_92;
      }
      if (c___0 == 40) {
        goto case_40;
      }
      if (c___0 == 41) {
        goto case_41;
      }
      goto switch_break;
      case_92: /* CIL Label */
      take_next_literally = 1;
      goto while_continue;
      case_40: /* CIL Label */
      in = unquote_comment(outbuf, in);
      goto while_continue;
      case_41: /* CIL Label */
      strbuf_addch(outbuf, ')');
      return (in);
      switch_break: /* CIL Label */ ;
      }
    }
    strbuf_addch(outbuf, c___0);
  }
  while_break: /* CIL Label */ ;
  }
  return (in);
}
}
static char const   *unquote_quoted_string(struct strbuf *outbuf , char const   *in )
{
  int c___0 ;
  int take_next_literally ;
  char const   *tmp ;

  {
  take_next_literally = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = in;
    in ++;
    c___0 = (int )*tmp;
    if (! (c___0 != 0)) {
      goto while_break;
    }
    if (take_next_literally == 1) {
      take_next_literally = 0;
    } else {
      {
      if (c___0 == 92) {
        goto case_92;
      }
      if (c___0 == 34) {
        goto case_34;
      }
      goto switch_break;
      case_92: /* CIL Label */
      take_next_literally = 1;
      goto while_continue;
      case_34: /* CIL Label */
      return (in);
      switch_break: /* CIL Label */ ;
      }
    }
    strbuf_addch(outbuf, c___0);
  }
  while_break: /* CIL Label */ ;
  }
  return (in);
}
}
static void unquote_quoted_pair(struct strbuf *line___0 )
{
  struct strbuf outbuf ;
  char const   *in ;
  int c___0 ;
  char const   *tmp ;

  {
  in = (char const   *)line___0->buf;
  strbuf_init(& outbuf, line___0->len);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = in;
    in ++;
    c___0 = (int )*tmp;
    if (! (c___0 != 0)) {
      goto while_break;
    }
    {
    if (c___0 == 34) {
      goto case_34;
    }
    if (c___0 == 40) {
      goto case_40;
    }
    goto switch_break;
    case_34: /* CIL Label */
    in = unquote_quoted_string(& outbuf, in);
    goto while_continue;
    case_40: /* CIL Label */
    in = unquote_comment(& outbuf, in);
    goto while_continue;
    switch_break: /* CIL Label */ ;
    }
    strbuf_addch(& outbuf, c___0);
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_swap(& outbuf, line___0);
  strbuf_release(& outbuf);
  return;
}
}
static void handle_from(struct mailinfo *mi , struct strbuf  const  *from___0 )
{
  char *at ;
  size_t el ;
  struct strbuf f ;
  char *tmp ;
  char c___0 ;
  int tmp___0 ;

  {
  strbuf_init(& f, (size_t )from___0->len);
  strbuf_addbuf(& f, from___0);
  unquote_quoted_pair(& f);
  at = strchr((char const   *)f.buf, '@');
  if (! at) {
    parse_bogus_from(mi, from___0);
    goto out;
  }
  if (mi->email.len) {
    tmp = strchr((char const   *)(at + 1), '@');
    if (tmp) {
      goto out;
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )at > (unsigned long )f.buf)) {
      goto while_break;
    }
    c___0 = *(at + -1);
    if (((int const   )sane_ctype[(unsigned char )c___0] & 1) != 0) {
      goto while_break;
    }
    if ((int )c___0 == 60) {
      *(at + -1) = (char )' ';
      goto while_break;
    }
    at --;
  }
  while_break: /* CIL Label */ ;
  }
  el = strcspn((char const   *)at, (char const   *)" \n\t\r\v\f>");
  strbuf_setlen(& mi->email, (size_t )0);
  strbuf_add(& mi->email, (void const   *)at, el);
  if (*(at + el)) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  strbuf_remove(& f, (size_t )(at - f.buf), el + (size_t )tmp___0);
  cleanup_space(& f);
  strbuf_trim(& f);
  if ((int )*(f.buf + 0) == 40) {
    if (f.len) {
      if ((int )*(f.buf + (f.len - 1UL)) == 41) {
        strbuf_remove(& f, (size_t )0, (size_t )1);
        strbuf_setlen(& f, f.len - 1UL);
      }
    }
  }
  get_sane_name(& mi->name, & f, & mi->email);
  out:
  strbuf_release(& f);
  return;
}
}
static void handle_header(struct strbuf **out , struct strbuf  const  *line___0 )
{
  void *tmp ;

  {
  if (! *out) {
    tmp = xmalloc(sizeof(struct strbuf ));
    *out = (struct strbuf *)tmp;
    strbuf_init(*out, (size_t )line___0->len);
  } else {
    strbuf_setlen(*out, (size_t )0);
  }
  strbuf_addbuf(*out, line___0);
  return;
}
}
static int slurp_attr(char const   *line___0 , char const   *name___0 , struct strbuf *attr )
{
  char const   *ends ;
  char const   *ap ;
  char *tmp ;
  size_t sz ;
  size_t tmp___0 ;

  {
  tmp = strcasestr(line___0, name___0);
  ap = (char const   *)tmp;
  strbuf_setlen(attr, (size_t )0);
  if (! ap) {
    return (0);
  }
  tmp___0 = strlen(name___0);
  ap += tmp___0;
  if ((int const   )*ap == 34) {
    ap ++;
    ends = (char const   *)"\"";
  } else {
    ends = (char const   *)"; \t";
  }
  sz = strcspn(ap, ends);
  strbuf_add(attr, (void const   *)ap, sz);
  return (1);
}
}
static int has_attr_value(char const   *line___0 , char const   *name___0 , char const   *value )
{
  struct strbuf sb___6 ;
  int rc___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = slurp_attr(line___0, name___0, & sb___6);
  if (tmp) {
    tmp___0 = strcasecmp((char const   *)sb___6.buf, value);
    if (tmp___0) {
      tmp___1 = 0;
    } else {
      tmp___1 = 1;
    }
  } else {
    tmp___1 = 0;
  }
  rc___0 = tmp___1;
  strbuf_release(& sb___6);
  return (rc___0);
}
}
static void handle_content_type(struct mailinfo *mi , struct strbuf *line___0 )
{
  struct strbuf *boundary ;
  void *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = xmalloc(sizeof(struct strbuf ));
  boundary = (struct strbuf *)tmp;
  strbuf_init(boundary, line___0->len);
  tmp___0 = has_attr_value((char const   *)line___0->buf, (char const   *)"format=",
                           (char const   *)"flowed");
  mi->format_flowed = (unsigned int )tmp___0;
  tmp___1 = has_attr_value((char const   *)line___0->buf, (char const   *)"delsp=",
                           (char const   *)"yes");
  mi->delsp = (unsigned int )tmp___1;
  tmp___2 = slurp_attr((char const   *)line___0->buf, (char const   *)"boundary=",
                       boundary);
  if (tmp___2) {
    strbuf_insertstr(boundary, (size_t )0, (char const   *)"--");
    (mi->content_top) ++;
    if ((unsigned long )mi->content_top >= (unsigned long )(& mi->content[5])) {
      error((char const   *)"Too many boundaries to handle");
      const_error();
      mi->input_error = -1;
      mi->content_top = & mi->content[5] - 1;
      return;
    }
    *(mi->content_top) = boundary;
    boundary = (struct strbuf *)((void *)0);
  }
  slurp_attr((char const   *)line___0->buf, (char const   *)"charset=", & mi->charset);
  if (boundary) {
    strbuf_release(boundary);
    free((void *)boundary);
  }
  return;
}
}
static void handle_content_transfer_encoding(struct mailinfo *mi , struct strbuf  const  *line___0 )
{
  char *tmp ;
  char *tmp___0 ;

  {
  tmp___0 = strcasestr((char const   *)line___0->buf, (char const   *)"base64");
  if (tmp___0) {
    mi->transfer_encoding = (enum __anonenum_transfer_encoding_992119343 )2;
  } else {
    tmp = strcasestr((char const   *)line___0->buf, (char const   *)"quoted-printable");
    if (tmp) {
      mi->transfer_encoding = (enum __anonenum_transfer_encoding_992119343 )1;
    } else {
      mi->transfer_encoding = (enum __anonenum_transfer_encoding_992119343 )0;
    }
  }
  return;
}
}
static int is_multipart_boundary(struct mailinfo *mi , struct strbuf  const  *line___0 )
{
  struct strbuf *content_top ;
  int tmp ;
  int tmp___0 ;

  {
  content_top = *(mi->content_top);
  if (content_top->len <= (size_t )line___0->len) {
    tmp = memcmp((void const   *)line___0->buf, (void const   *)content_top->buf,
                 content_top->len);
    if (tmp) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static void cleanup_subject(struct mailinfo *mi , struct strbuf *subject )
{
  size_t at ;
  char *pos ;
  size_t remove___0 ;
  void *tmp ;

  {
  at = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (at < subject->len)) {
      goto while_break;
    }
    {
    if ((int )*(subject->buf + at) == 82) {
      goto case_82;
    }
    if ((int )*(subject->buf + at) == 114) {
      goto case_82;
    }
    if ((int )*(subject->buf + at) == 58) {
      goto case_58;
    }
    if ((int )*(subject->buf + at) == 9) {
      goto case_58;
    }
    if ((int )*(subject->buf + at) == 32) {
      goto case_58;
    }
    if ((int )*(subject->buf + at) == 91) {
      goto case_91;
    }
    goto switch_break;
    case_82: /* CIL Label */
    case_114: /* CIL Label */
    if (subject->len <= at + 3UL) {
      goto switch_break;
    }
    if ((int )*(subject->buf + (at + 1UL)) == 101) {
      goto _L;
    } else
    if ((int )*(subject->buf + (at + 1UL)) == 69) {
      _L: /* CIL Label */
      if ((int )*(subject->buf + (at + 2UL)) == 58) {
        strbuf_remove(subject, at, (size_t )3);
        goto while_continue;
      }
    }
    at ++;
    goto switch_break;
    case_58: /* CIL Label */
    case_9: /* CIL Label */
    case_32: /* CIL Label */
    strbuf_remove(subject, at, (size_t )1);
    goto while_continue;
    case_91: /* CIL Label */
    pos = strchr((char const   *)(subject->buf + at), ']');
    if (! pos) {
      goto switch_break;
    }
    remove___0 = ((size_t )(pos - subject->buf) + at) + 1UL;
    if (! mi->keep_non_patch_brackets_in_subject) {
      strbuf_remove(subject, at, remove___0);
    } else
    if (7UL <= remove___0) {
      tmp = memmem((void const   *)(subject->buf + at), remove___0, (void const   *)"PATCH",
                   (size_t )5);
      if (tmp) {
        strbuf_remove(subject, at, remove___0);
      } else {
        goto _L___0;
      }
    } else {
      _L___0: /* CIL Label */
      at += remove___0;
      if (((int const   )sane_ctype[(unsigned char )*(subject->buf + at)] & 1) != 0) {
        at ++;
      }
    }
    goto while_continue;
    switch_break: /* CIL Label */ ;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_trim(subject);
  return;
}
}
static char const   *header[10]  = {      (char const   *)"From",      (char const   *)"Subject",      (char const   *)"Date"};
__inline static int skip_header(struct strbuf  const  *line___0 , char const   *hdr ,
                                char const   **outval )
{
  char const   *val ;
  int tmp ;
  char const   *tmp___0 ;

  {
  tmp = skip_iprefix((char const   *)line___0->buf, hdr, & val);
  if (tmp) {
    tmp___0 = val;
    val ++;
    if ((int const   )*tmp___0 != 58) {
      return (0);
    }
  } else {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (((int const   )sane_ctype[(unsigned char )*val] & 1) != 0)) {
      goto while_break;
    }
    val ++;
  }
  while_break: /* CIL Label */ ;
  }
  *outval = val;
  return (1);
}
}
static int is_format_patch_separator(char const   *line___0 , int len___0 ) ;
static char const   SAMPLE[72]  =
  {      (char const   )'F',      (char const   )'r',      (char const   )'o',      (char const   )'m',
        (char const   )' ',      (char const   )'e',      (char const   )'6',      (char const   )'8',
        (char const   )'0',      (char const   )'7',      (char const   )'f',      (char const   )'3',
        (char const   )'e',      (char const   )'f',      (char const   )'c',      (char const   )'a',
        (char const   )'2',      (char const   )'8',      (char const   )'b',      (char const   )'3',
        (char const   )'0',      (char const   )'d',      (char const   )'e',      (char const   )'c',
        (char const   )'f',      (char const   )'e',      (char const   )'c',      (char const   )'b',
        (char const   )'1',      (char const   )'7',      (char const   )'3',      (char const   )'2',
        (char const   )'a',      (char const   )'5',      (char const   )'6',      (char const   )'c',
        (char const   )'7',      (char const   )'d',      (char const   )'b',      (char const   )'1',
        (char const   )'1',      (char const   )'3',      (char const   )'7',      (char const   )'e',
        (char const   )'e',      (char const   )' ',      (char const   )'M',      (char const   )'o',
        (char const   )'n',      (char const   )' ',      (char const   )'S',      (char const   )'e',
        (char const   )'p',      (char const   )' ',      (char const   )'1',      (char const   )'7',
        (char const   )' ',      (char const   )'0',      (char const   )'0',      (char const   )':',
        (char const   )'0',      (char const   )'0',      (char const   )':',      (char const   )'0',
        (char const   )'0',      (char const   )' ',      (char const   )'2',      (char const   )'0',
        (char const   )'0',      (char const   )'1',      (char const   )'\n',      (char const   )'\000'};
static int is_format_patch_separator(char const   *line___0 , int len___0 )
{
  char const   *cp ;
  size_t tmp ;
  int tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp = strlen(SAMPLE);
  if ((size_t )len___0 != tmp) {
    return (0);
  }
  tmp___0 = skip_prefix(line___0, (char const   *)"From ", & cp);
  if (! tmp___0) {
    return (0);
  }
  tmp___1 = strspn(cp, (char const   *)"0123456789abcdef");
  if (tmp___1 != 40UL) {
    return (0);
  }
  cp += 40;
  tmp___2 = strlen(SAMPLE);
  tmp___3 = memcmp((void const   *)(SAMPLE + (cp - line___0)), (void const   *)cp,
                   tmp___2 - (size_t )(cp - line___0));
  if (tmp___3) {
    tmp___4 = 0;
  } else {
    tmp___4 = 1;
  }
  return (tmp___4);
}
}
static struct strbuf *decode_q_segment(struct strbuf  const  *q_seg , int rfc2047 )
{
  char const   *in ;
  int c___0 ;
  struct strbuf *out ;
  void *tmp ;
  int ch___0 ;
  int d ;
  char const   *tmp___0 ;

  {
  in = (char const   *)q_seg->buf;
  tmp = xmalloc(sizeof(struct strbuf ));
  out = (struct strbuf *)tmp;
  strbuf_init(out, (size_t )q_seg->len);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = in;
    in ++;
    c___0 = (int )*tmp___0;
    if (! (c___0 != 0)) {
      goto while_break;
    }
    if (c___0 == 61) {
      d = (int )*in;
      if (d == 10) {
        goto while_break;
      } else
      if (! d) {
        goto while_break;
      }
      ch___0 = hex2chr(in);
      if (ch___0 >= 0) {
        strbuf_addch(out, ch___0);
        in += 2;
        goto while_continue;
      }
    }
    if (rfc2047) {
      if (c___0 == 95) {
        c___0 = 0x20;
      }
    }
    strbuf_addch(out, c___0);
  }
  while_break: /* CIL Label */ ;
  }
  return (out);
}
}
static struct strbuf *decode_b_segment(struct strbuf  const  *b_seg )
{
  int c___0 ;
  int pos ;
  int acc ;
  char const   *in ;
  struct strbuf *out ;
  void *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;

  {
  pos = 0;
  acc = 0;
  in = (char const   *)b_seg->buf;
  tmp = xmalloc(sizeof(struct strbuf ));
  out = (struct strbuf *)tmp;
  strbuf_init(out, (size_t )b_seg->len);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = in;
    in ++;
    c___0 = (int )*tmp___1;
    if (! (c___0 != 0)) {
      goto while_break;
    }
    if (c___0 == 43) {
      c___0 = 62;
    } else
    if (c___0 == 47) {
      c___0 = 63;
    } else
    if (65 <= c___0) {
      if (c___0 <= 90) {
        c___0 -= 65;
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if (97 <= c___0) {
      if (c___0 <= 122) {
        c___0 -= 71;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (48 <= c___0) {
      if (c___0 <= 57) {
        c___0 -= -4;
      } else {
        goto while_continue;
      }
    } else {
      goto while_continue;
    }
    tmp___0 = pos;
    pos ++;
    {
    if (tmp___0 == 0) {
      goto case_0;
    }
    if (tmp___0 == 1) {
      goto case_1;
    }
    if (tmp___0 == 2) {
      goto case_2;
    }
    if (tmp___0 == 3) {
      goto case_3;
    }
    goto switch_break;
    case_0: /* CIL Label */
    acc = c___0 << 2;
    goto switch_break;
    case_1: /* CIL Label */
    strbuf_addch(out, acc | (c___0 >> 4));
    acc = (c___0 & 15) << 4;
    goto switch_break;
    case_2: /* CIL Label */
    strbuf_addch(out, acc | (c___0 >> 2));
    acc = (c___0 & 3) << 6;
    goto switch_break;
    case_3: /* CIL Label */
    strbuf_addch(out, acc | c___0);
    pos = 0;
    acc = pos;
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (out);
}
}
static int convert_to_utf8(struct mailinfo *mi , struct strbuf *line___0 , char const   *charset___0 )
{
  char *out ;
  size_t out_len ;
  int tmp ;
  int tmp___0 ;

  {
  if (! mi->metainfo_charset) {
    return (0);
  } else
  if (! charset___0) {
    return (0);
  } else
  if (! *charset___0) {
    return (0);
  }
  tmp = same_encoding(mi->metainfo_charset, charset___0);
  if (tmp) {
    return (0);
  }
  out = reencode_string_len((char const   *)line___0->buf, line___0->len, mi->metainfo_charset,
                            charset___0, & out_len);
  if (! out) {
    mi->input_error = -1;
    error((char const   *)"cannot convert from %s to %s", charset___0, mi->metainfo_charset);
    tmp___0 = const_error();
    return (tmp___0);
  }
  strbuf_attach(line___0, (void *)out, out_len, out_len);
  return (0);
}
}
static void decode_header(struct mailinfo *mi , struct strbuf *it )
{
  char *in ;
  char *ep ;
  char *cp ;
  struct strbuf outbuf ;
  struct strbuf *dec ;
  struct strbuf charset_q ;
  struct strbuf piecebuf ;
  int found_error ;
  int encoding ;
  char *scan ;
  int tmp ;
  int tmp___0 ;

  {
  outbuf.alloc = 0UL;
  outbuf.len = 0UL;
  outbuf.buf = strbuf_slopbuf;
  charset_q.alloc = 0UL;
  charset_q.len = 0UL;
  charset_q.buf = strbuf_slopbuf;
  piecebuf.alloc = 0UL;
  piecebuf.len = 0UL;
  piecebuf.buf = strbuf_slopbuf;
  found_error = 1;
  in = it->buf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((size_t )(in - it->buf) <= it->len) {
      ep = strstr((char const   *)in, (char const   *)"=?");
      if (! ((unsigned long )ep != (unsigned long )((void *)0))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    strbuf_setlen(& charset_q, (size_t )0);
    strbuf_setlen(& piecebuf, (size_t )0);
    if ((unsigned long )in != (unsigned long )ep) {
      scan = in;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! ((unsigned long )scan < (unsigned long )ep)) {
          goto while_break___0;
        }
        if (! (((int const   )sane_ctype[(unsigned char )*scan] & 1) != 0)) {
          goto while_break___0;
        }
        scan ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      if ((unsigned long )scan != (unsigned long )ep) {
        strbuf_add(& outbuf, (void const   *)in, (size_t )(ep - in));
      } else
      if ((unsigned long )in == (unsigned long )it->buf) {
        strbuf_add(& outbuf, (void const   *)in, (size_t )(ep - in));
      }
    }
    ep += 2;
    if ((size_t )(ep - it->buf) >= it->len) {
      goto release_return;
    } else {
      cp = strchr((char const   *)ep, '?');
      if (! cp) {
        goto release_return;
      }
    }
    if ((size_t )((cp + 3) - it->buf) > it->len) {
      goto release_return;
    }
    strbuf_add(& charset_q, (void const   *)ep, (size_t )(cp - ep));
    encoding = (int )*(cp + 1);
    if (! encoding) {
      goto release_return;
    } else
    if ((int )*(cp + 2) != 63) {
      goto release_return;
    }
    ep = strstr((char const   *)(cp + 3), (char const   *)"?=");
    if (! ep) {
      goto release_return;
    }
    strbuf_add(& piecebuf, (void const   *)(cp + 3), (size_t )((ep - cp) - 3L));
    tmp = sane_case((int )((unsigned char )encoding), 0x20);
    {
    if (tmp == 98) {
      goto case_98;
    }
    if (tmp == 113) {
      goto case_113;
    }
    goto switch_default;
    switch_default: /* CIL Label */
    goto release_return;
    case_98: /* CIL Label */
    dec = decode_b_segment((struct strbuf  const  *)(& piecebuf));
    goto switch_break;
    case_113: /* CIL Label */
    dec = decode_q_segment((struct strbuf  const  *)(& piecebuf), 1);
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    tmp___0 = convert_to_utf8(mi, dec, (char const   *)charset_q.buf);
    if (tmp___0) {
      goto release_return;
    }
    strbuf_addbuf(& outbuf, (struct strbuf  const  *)dec);
    strbuf_release(dec);
    free((void *)dec);
    in = ep + 2;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addstr(& outbuf, (char const   *)in);
  strbuf_setlen(it, (size_t )0);
  strbuf_addbuf(it, (struct strbuf  const  *)(& outbuf));
  found_error = 0;
  release_return:
  strbuf_release(& outbuf);
  strbuf_release(& charset_q);
  strbuf_release(& piecebuf);
  if (found_error) {
    mi->input_error = -1;
  }
  return;
}
}
static int parse_header(struct strbuf  const  *line___0 , char const   *hdr , struct mailinfo *mi ,
                        struct strbuf *val )
{
  char const   *val_str ;
  int tmp ;

  {
  tmp = skip_header(line___0, hdr, & val_str);
  if (! tmp) {
    return (0);
  }
  strbuf_addstr(val, val_str);
  decode_header(mi, val);
  return (1);
}
}
static int check_header(struct mailinfo *mi , struct strbuf  const  *line___0 , struct strbuf **hdr_data ,
                        int overwrite )
{
  int i ;
  int ret___67 ;
  struct strbuf sb___6 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  ret___67 = 0;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! header[i]) {
      goto while_break;
    }
    if (! *(hdr_data + i)) {
      goto _L;
    } else
    if (overwrite) {
      _L: /* CIL Label */
      tmp = parse_header(line___0, header[i], mi, & sb___6);
      if (tmp) {
        handle_header(hdr_data + i, (struct strbuf  const  *)(& sb___6));
        ret___67 = 1;
        goto check_header_out;
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = parse_header(line___0, (char const   *)"Content-Type", mi, & sb___6);
  if (tmp___0) {
    handle_content_type(mi, & sb___6);
    ret___67 = 1;
    goto check_header_out;
  }
  tmp___1 = parse_header(line___0, (char const   *)"Content-Transfer-Encoding", mi,
                         & sb___6);
  if (tmp___1) {
    handle_content_transfer_encoding(mi, (struct strbuf  const  *)(& sb___6));
    ret___67 = 1;
    goto check_header_out;
  }
  tmp___2 = parse_header(line___0, (char const   *)"Message-Id", mi, & sb___6);
  if (tmp___2) {
    if (mi->add_message_id) {
      mi->message_id = strbuf_detach(& sb___6, (size_t *)((void *)0));
    }
    ret___67 = 1;
    goto check_header_out;
  }
  check_header_out:
  strbuf_release(& sb___6);
  return (ret___67);
}
}
static int is_inbody_header(struct mailinfo  const  *mi , struct strbuf  const  *line___0 )
{
  int i ;
  char const   *val ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! header[i]) {
      goto while_break;
    }
    if (! *(mi->s_hdr_data + i)) {
      tmp = skip_header(line___0, header[i], & val);
      if (tmp) {
        return (1);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void decode_transfer_encoding(struct mailinfo *mi , struct strbuf *line___0 )
{
  struct strbuf *ret___67 ;

  {
  {
  if ((unsigned int )mi->transfer_encoding == 1U) {
    goto case_1;
  }
  if ((unsigned int )mi->transfer_encoding == 2U) {
    goto case_2;
  }
  goto switch_default;
  case_1: /* CIL Label */
  ret___67 = decode_q_segment((struct strbuf  const  *)line___0, 0);
  goto switch_break;
  case_2: /* CIL Label */
  ret___67 = decode_b_segment((struct strbuf  const  *)line___0);
  goto switch_break;
  switch_default: /* CIL Label */
  case_0: /* CIL Label */
  return;
  switch_break: /* CIL Label */ ;
  }
  strbuf_setlen(line___0, (size_t )0);
  strbuf_addbuf(line___0, (struct strbuf  const  *)ret___67);
  strbuf_release(ret___67);
  free((void *)ret___67);
  return;
}
}
__inline static int patchbreak(struct strbuf  const  *line___0 )
{
  size_t i ;
  int tmp ;
  int tmp___0 ;
  unsigned char c___0 ;
  int tmp___1 ;

  {
  tmp = starts_with((char const   *)line___0->buf, (char const   *)"diff -");
  if (tmp) {
    return (1);
  }
  tmp___0 = starts_with((char const   *)line___0->buf, (char const   *)"Index: ");
  if (tmp___0) {
    return (1);
  }
  if (line___0->len < 4UL) {
    return (0);
  }
  tmp___1 = starts_with((char const   *)line___0->buf, (char const   *)"---");
  if (tmp___1) {
    if ((int )*(line___0->buf + 3) == 32) {
      if (! (((int const   )sane_ctype[(unsigned char )*(line___0->buf + 4)] & 1) != 0)) {
        return (1);
      }
    }
    i = (size_t )3;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < (size_t )line___0->len)) {
        goto while_break;
      }
      c___0 = (unsigned char )*(line___0->buf + i);
      if ((int )c___0 == 10) {
        return (1);
      }
      if (! (((int const   )sane_ctype[c___0] & 1) != 0)) {
        goto while_break;
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    return (0);
  }
  return (0);
}
}
static int is_scissors_line(char const   *line___0 )
{
  char const   *c___0 ;
  int scissors ;
  int gap ;
  char const   *first_nonblank ;
  char const   *last_nonblank ;
  int visible ;
  int perforation ;
  int in_perforation ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  scissors = 0;
  gap = 0;
  first_nonblank = (char const   *)((void *)0);
  last_nonblank = (char const   *)((void *)0);
  perforation = 0;
  in_perforation = 0;
  c___0 = line___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *c___0) {
      goto while_break;
    }
    if (((int const   )sane_ctype[(unsigned char )*c___0] & 1) != 0) {
      if (in_perforation) {
        perforation ++;
        gap ++;
      }
      goto __Cont;
    }
    last_nonblank = c___0;
    if ((unsigned long )first_nonblank == (unsigned long )((void *)0)) {
      first_nonblank = c___0;
    }
    if ((int const   )*c___0 == 45) {
      in_perforation = 1;
      perforation ++;
      goto __Cont;
    }
    tmp = starts_with(c___0, (char const   *)">8");
    if (tmp) {
      in_perforation = 1;
      perforation += 2;
      scissors += 2;
      c___0 ++;
      goto __Cont;
    } else {
      tmp___0 = starts_with(c___0, (char const   *)"8<");
      if (tmp___0) {
        in_perforation = 1;
        perforation += 2;
        scissors += 2;
        c___0 ++;
        goto __Cont;
      } else {
        tmp___1 = starts_with(c___0, (char const   *)">%");
        if (tmp___1) {
          in_perforation = 1;
          perforation += 2;
          scissors += 2;
          c___0 ++;
          goto __Cont;
        } else {
          tmp___2 = starts_with(c___0, (char const   *)"%<");
          if (tmp___2) {
            in_perforation = 1;
            perforation += 2;
            scissors += 2;
            c___0 ++;
            goto __Cont;
          }
        }
      }
    }
    in_perforation = 0;
    __Cont: /* CIL Label */
    c___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (first_nonblank) {
    if (last_nonblank) {
      visible = (int )((last_nonblank - first_nonblank) + 1L);
    } else {
      visible = 0;
    }
  } else {
    visible = 0;
  }
  if (scissors) {
    if (8 <= visible) {
      if (visible < perforation * 3) {
        if (gap * 2 < perforation) {
          tmp___3 = 1;
        } else {
          tmp___3 = 0;
        }
      } else {
        tmp___3 = 0;
      }
    } else {
      tmp___3 = 0;
    }
  } else {
    tmp___3 = 0;
  }
  return (tmp___3);
}
}
static void flush_inbody_header_accum(struct mailinfo *mi )
{
  int tmp ;

  {
  if (! mi->inbody_header_accum.len) {
    return;
  }
  tmp = check_header(mi, (struct strbuf  const  *)(& mi->inbody_header_accum), mi->s_hdr_data,
                     0);
  if (! tmp) {
    BUG_fl((char const   *)"mailinfo.c", 742, (char const   *)"inbody_header_accum, if not empty, must always contain a valid in-body header");
  }
  strbuf_setlen(& mi->inbody_header_accum, (size_t )0);
  return;
}
}
static int check_inbody_header(struct mailinfo *mi , struct strbuf  const  *line___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int i ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  if (mi->inbody_header_accum.len) {
    if ((int )*(line___0->buf + 0) == 32) {
      goto _L;
    } else
    if ((int )*(line___0->buf + 0) == 9) {
      _L: /* CIL Label */
      if (mi->use_scissors) {
        tmp = is_scissors_line((char const   *)line___0->buf);
        if (tmp) {
          flush_inbody_header_accum(mi);
          return (0);
        }
      }
      strbuf_strip_suffix(& mi->inbody_header_accum, (char const   *)"\n");
      strbuf_addbuf(& mi->inbody_header_accum, line___0);
      return (1);
    }
  }
  flush_inbody_header_accum(mi);
  tmp___1 = starts_with((char const   *)line___0->buf, (char const   *)">From");
  if (tmp___1) {
    if (((int const   )sane_ctype[(unsigned char )*(line___0->buf + 5)] & 1) != 0) {
      tmp___0 = is_format_patch_separator((char const   *)(line___0->buf + 1), (int )(line___0->len - 1UL));
      return (tmp___0);
    }
  }
  tmp___3 = starts_with((char const   *)line___0->buf, (char const   *)"[PATCH]");
  if (tmp___3) {
    if (((int const   )sane_ctype[(unsigned char )*(line___0->buf + 7)] & 1) != 0) {
      i = 0;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! header[i]) {
          goto while_break;
        }
        tmp___2 = strcmp((char const   *)"Subject", header[i]);
        if (! tmp___2) {
          handle_header(mi->s_hdr_data + i, line___0);
          return (1);
        }
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
      return (0);
    }
  }
  tmp___4 = is_inbody_header((struct mailinfo  const  *)mi, line___0);
  if (tmp___4) {
    strbuf_addbuf(& mi->inbody_header_accum, line___0);
    return (1);
  }
  return (0);
}
}
static int handle_commit_msg(struct mailinfo *mi , struct strbuf *line___0 )
{
  int tmp ;
  int i ;
  int tmp___0 ;
  int tmp___1 ;

  {
  assert(! mi->filter_stage);
  if (mi->header_stage) {
    if (! line___0->len) {
      goto _L;
    } else
    if (line___0->len == 1UL) {
      if ((int )*(line___0->buf + 0) == 10) {
        _L: /* CIL Label */
        if (mi->inbody_header_accum.len) {
          flush_inbody_header_accum(mi);
          mi->header_stage = 0;
        }
        return (0);
      }
    }
  }
  if (mi->use_inbody_headers) {
    if (mi->header_stage) {
      mi->header_stage = check_inbody_header(mi, (struct strbuf  const  *)line___0);
      if (mi->header_stage) {
        return (0);
      }
    } else {
      mi->header_stage = 0;
    }
  } else {
    mi->header_stage = 0;
  }
  tmp = convert_to_utf8(mi, line___0, (char const   *)mi->charset.buf);
  if (tmp) {
    return (0);
  }
  if (mi->use_scissors) {
    tmp___0 = is_scissors_line((char const   *)line___0->buf);
    if (tmp___0) {
      strbuf_setlen(& mi->log_message, (size_t )0);
      mi->header_stage = 1;
      i = 0;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! header[i]) {
          goto while_break;
        }
        if (*(mi->s_hdr_data + i)) {
          strbuf_release(*(mi->s_hdr_data + i));
        }
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          free((void *)*(mi->s_hdr_data + i));
          *(mi->s_hdr_data + i) = (struct strbuf *)((void *)0);
          goto while_break___0;
        }
        while_break___0: /* CIL Label */ ;
        }
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
      return (0);
    }
  }
  tmp___1 = patchbreak((struct strbuf  const  *)line___0);
  if (tmp___1) {
    if (mi->message_id) {
      strbuf_addf(& mi->log_message, (char const   *)"Message-Id: %s\n", mi->message_id);
    }
    return (1);
  }
  strbuf_addbuf(& mi->log_message, (struct strbuf  const  *)line___0);
  return (0);
}
}
static void handle_patch(struct mailinfo *mi , struct strbuf  const  *line___0 )
{


  {
  fwrite((void const   * __restrict  )line___0->buf, (size_t )1, (size_t )line___0->len,
         (FILE * __restrict  )mi->patchfile);
  (mi->patch_lines) ++;
  return;
}
}
static void handle_filter(struct mailinfo *mi , struct strbuf *line___0 )
{
  int tmp ;

  {
  {
  if (mi->filter_stage == 0) {
    goto case_0;
  }
  if (mi->filter_stage == 1) {
    goto case_1;
  }
  goto switch_break;
  case_0: /* CIL Label */
  tmp = handle_commit_msg(mi, line___0);
  if (! tmp) {
    goto switch_break;
  }
  (mi->filter_stage) ++;
  case_1: /* CIL Label */
  handle_patch(mi, (struct strbuf  const  *)line___0);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static int is_rfc2822_header(struct strbuf  const  *line___0 )
{
  int ch___0 ;
  char *cp ;
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  cp = (char *)line___0->buf;
  tmp = starts_with((char const   *)cp, (char const   *)"From ");
  if (tmp) {
    return (1);
  } else {
    tmp___0 = starts_with((char const   *)cp, (char const   *)">From ");
    if (tmp___0) {
      return (1);
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = cp;
    cp ++;
    ch___0 = (int )*tmp___1;
    if (! ch___0) {
      goto while_break;
    }
    if (ch___0 == 58) {
      return (1);
    }
    if (33 <= ch___0) {
      if (ch___0 <= 57) {
        goto while_continue;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (59 <= ch___0) {
      if (ch___0 <= 126) {
        goto while_continue;
      }
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int read_one_header_line(struct strbuf *line___0 , FILE *in )
{
  struct strbuf continuation ;
  int tmp ;
  int tmp___0 ;
  int peek ;
  int tmp___1 ;

  {
  continuation.alloc = 0UL;
  continuation.len = 0UL;
  continuation.buf = strbuf_slopbuf;
  tmp = strbuf_getline_lf(line___0, in);
  if (tmp) {
    return (0);
  }
  strbuf_rtrim(line___0);
  if (! line___0->len) {
    strbuf_addch(line___0, '\n');
    return (0);
  } else {
    tmp___0 = is_rfc2822_header((struct strbuf  const  *)line___0);
    if (! tmp___0) {
      strbuf_addch(line___0, '\n');
      return (0);
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    peek = fgetc(in);
    if (peek == -1) {
      goto while_break;
    }
    ungetc(peek, in);
    if (peek != 32) {
      if (peek != 9) {
        goto while_break;
      }
    }
    tmp___1 = strbuf_getline_lf(& continuation, in);
    if (tmp___1) {
      goto while_break;
    }
    *(continuation.buf + 0) = (char )' ';
    strbuf_rtrim(& continuation);
    strbuf_addbuf(line___0, (struct strbuf  const  *)(& continuation));
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& continuation);
  return (1);
}
}
static int find_boundary(struct mailinfo *mi , struct strbuf *line___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = strbuf_getline_lf(line___0, mi->input);
    if (tmp___0) {
      goto while_break;
    }
    if (*(mi->content_top)) {
      tmp = is_multipart_boundary(mi, (struct strbuf  const  *)line___0);
      if (tmp) {
        return (1);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int handle_boundary(struct mailinfo *mi , struct strbuf *line___0 )
{
  struct strbuf newline ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  newline.alloc = 0UL;
  newline.len = 0UL;
  newline.buf = strbuf_slopbuf;
  strbuf_addch(& newline, '\n');
  again:
  if (line___0->len >= (*(mi->content_top))->len + 2UL) {
    tmp___0 = memcmp((void const   *)(line___0->buf + (*(mi->content_top))->len),
                     (void const   *)"--", (size_t )2);
    if (! tmp___0) {
      strbuf_release(*(mi->content_top));
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        free((void *)*(mi->content_top));
        *(mi->content_top) = (struct strbuf *)((void *)0);
        goto while_break;
      }
      while_break: /* CIL Label */ ;
      }
      (mi->content_top) --;
      if ((unsigned long )mi->content_top < (unsigned long )(mi->content)) {
        error((char const   *)"Detected mismatched boundaries, can\'t recover");
        const_error();
        mi->input_error = -1;
        mi->content_top = mi->content;
        strbuf_release(& newline);
        return (0);
      }
      handle_filter(mi, & newline);
      strbuf_release(& newline);
      if (mi->input_error) {
        return (0);
      }
      tmp = find_boundary(mi, line___0);
      if (! tmp) {
        return (0);
      }
      goto again;
    }
  }
  mi->transfer_encoding = (enum __anonenum_transfer_encoding_992119343 )0;
  strbuf_setlen(& mi->charset, (size_t )0);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___1 = read_one_header_line(line___0, mi->input);
    if (! tmp___1) {
      goto while_break___0;
    }
    check_header(mi, (struct strbuf  const  *)line___0, mi->p_hdr_data, 0);
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_release(& newline);
  tmp___2 = strbuf_getline_lf(line___0, mi->input);
  if (tmp___2) {
    return (0);
  }
  strbuf_addch(line___0, '\n');
  return (1);
}
}
static void handle_filter_flowed(struct mailinfo *mi , struct strbuf *line___0 , struct strbuf *prev )
{
  size_t len___0 ;
  char const   *rest ;
  int tmp ;

  {
  len___0 = line___0->len;
  if (! mi->format_flowed) {
    if (len___0 >= 2UL) {
      if ((int )*(line___0->buf + (len___0 - 2UL)) == 13) {
        if ((int )*(line___0->buf + (len___0 - 1UL)) == 10) {
          mi->have_quoted_cr = 1U;
          if (mi->quoted_cr == 2) {
            strbuf_setlen(line___0, len___0 - 2UL);
            strbuf_addch(line___0, '\n');
            len___0 --;
          }
        }
      }
    }
    handle_filter(mi, line___0);
    return;
  }
  if ((int )*(line___0->buf + (len___0 - 1UL)) == 10) {
    len___0 --;
    if (len___0) {
      if ((int )*(line___0->buf + (len___0 - 1UL)) == 13) {
        len___0 --;
      }
    }
  }
  tmp = skip_prefix((char const   *)line___0->buf, (char const   *)"-- ", & rest);
  if (tmp) {
    if ((size_t )(rest - (char const   *)line___0->buf) == len___0) {
      if (prev->len) {
        handle_filter(mi, prev);
        strbuf_setlen(prev, (size_t )0);
      }
      handle_filter(mi, line___0);
      return;
    }
  }
  if (len___0) {
    if ((int )*(line___0->buf + 0) == 32) {
      strbuf_remove(line___0, (size_t )0, (size_t )1);
      len___0 --;
    }
  }
  if (len___0) {
    if ((int )*(line___0->buf + (len___0 - 1UL)) == 32) {
      strbuf_add(prev, (void const   *)line___0->buf, len___0 - (size_t )(! (! mi->delsp)));
      return;
    }
  }
  strbuf_insert(line___0, (size_t )0, (void const   *)prev->buf, prev->len);
  strbuf_setlen(prev, (size_t )0);
  handle_filter(mi, line___0);
  return;
}
}
static void summarize_quoted_cr(struct mailinfo *mi )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if (mi->have_quoted_cr) {
    if (mi->quoted_cr == 1) {
      tmp = _((char const   *)"quoted CRLF detected");
      warning((char const   *)tmp);
    }
  }
  return;
}
}
static void handle_body(struct mailinfo *mi , struct strbuf *line___0 )
{
  struct strbuf prev ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct strbuf **lines ;
  struct strbuf **it ;
  struct strbuf *sb___6 ;
  int tmp___2 ;

  {
  prev.alloc = 0UL;
  prev.len = 0UL;
  prev.buf = strbuf_slopbuf;
  if (*(mi->content_top)) {
    tmp = find_boundary(mi, line___0);
    if (! tmp) {
      goto handle_body_out;
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*(mi->content_top)) {
      tmp___1 = is_multipart_boundary(mi, (struct strbuf  const  *)line___0);
      if (tmp___1) {
        if (prev.len) {
          handle_filter(mi, & prev);
          strbuf_setlen(& prev, (size_t )0);
        }
        summarize_quoted_cr(mi);
        mi->have_quoted_cr = 0U;
        tmp___0 = handle_boundary(mi, line___0);
        if (! tmp___0) {
          goto handle_body_out;
        }
      }
    }
    decode_transfer_encoding(mi, line___0);
    {
    if ((unsigned int )mi->transfer_encoding == 1U) {
      goto case_1;
    }
    if ((unsigned int )mi->transfer_encoding == 2U) {
      goto case_1;
    }
    goto switch_default;
    case_1: /* CIL Label */
    case_2: /* CIL Label */
    strbuf_insert(line___0, (size_t )0, (void const   *)prev.buf, prev.len);
    strbuf_setlen(& prev, (size_t )0);
    lines = strbuf_split((struct strbuf  const  *)line___0, '\n');
    it = lines;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      sb___6 = *it;
      if (! sb___6) {
        goto while_break___0;
      }
      if ((unsigned long )*(it + 1) == (unsigned long )((void *)0)) {
        if ((int )*(sb___6->buf + (sb___6->len - 1UL)) != 10) {
          strbuf_addbuf(& prev, (struct strbuf  const  *)sb___6);
          goto while_break___0;
        }
      }
      handle_filter_flowed(mi, sb___6, & prev);
      it ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    strbuf_list_free(lines);
    goto switch_break;
    switch_default: /* CIL Label */
    handle_filter_flowed(mi, line___0, & prev);
    switch_break: /* CIL Label */ ;
    }
    if (mi->input_error) {
      goto while_break;
    }
    tmp___2 = strbuf_getwholeline(line___0, mi->input, '\n');
    if (tmp___2) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (prev.len) {
    handle_filter(mi, & prev);
  }
  summarize_quoted_cr(mi);
  flush_inbody_header_accum(mi);
  handle_body_out:
  strbuf_release(& prev);
  return;
}
}
static void output_header_lines(FILE *fout , char const   *hdr , struct strbuf  const  *data )
{
  char const   *sp ;
  char *ep ;
  char *tmp ;
  int len___0 ;
  size_t tmp___0 ;

  {
  sp = (char const   *)data->buf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = strchr(sp, '\n');
    ep = tmp;
    if (! ep) {
      tmp___0 = strlen(sp);
      len___0 = (int )tmp___0;
    } else {
      len___0 = (int )(ep - (char *)sp);
    }
    fprintf(fout, (char const   *)"%s: %.*s\n", hdr, len___0, sp);
    if (! ep) {
      goto while_break;
    }
    sp = (char const   *)(ep + 1);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void handle_info(struct mailinfo *mi )
{
  struct strbuf *hdr ;
  int i ;
  void *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! header[i]) {
      goto while_break;
    }
    if (mi->patch_lines) {
      if (*(mi->s_hdr_data + i)) {
        hdr = *(mi->s_hdr_data + i);
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (*(mi->p_hdr_data + i)) {
      hdr = *(mi->p_hdr_data + i);
    } else {
      goto __Cont;
    }
    tmp = memchr((void const   *)hdr->buf, '\000', hdr->len);
    if (tmp) {
      error((char const   *)"a NUL byte in \'%s\' is not allowed.", header[i]);
      const_error();
      mi->input_error = -1;
    }
    tmp___1 = strcmp(header[i], (char const   *)"Subject");
    if (tmp___1) {
      tmp___0 = strcmp(header[i], (char const   *)"From");
      if (tmp___0) {
        cleanup_space(hdr);
        fprintf(mi->output, (char const   *)"%s: %s\n", header[i], hdr->buf);
      } else {
        cleanup_space(hdr);
        handle_from(mi, (struct strbuf  const  *)hdr);
        fprintf(mi->output, (char const   *)"Author: %s\n", mi->name.buf);
        fprintf(mi->output, (char const   *)"Email: %s\n", mi->email.buf);
      }
    } else {
      if (! mi->keep_subject) {
        cleanup_subject(mi, hdr);
        cleanup_space(hdr);
      }
      output_header_lines(mi->output, (char const   *)"Subject", (struct strbuf  const  *)hdr);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  fprintf(mi->output, (char const   *)"\n");
  return;
}
}
int mailinfo(struct mailinfo *mi , char const   *msg___5 , char const   *patch )
{
  FILE *cmitmsg ;
  int peek ;
  struct strbuf line___0 ;
  void *tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  cmitmsg = git_fopen(msg___5, (char const   *)"w");
  if (! cmitmsg) {
    perror(msg___5);
    return (-1);
  }
  mi->patchfile = git_fopen(patch, (char const   *)"w");
  if (! mi->patchfile) {
    perror(patch);
    fclose(cmitmsg);
    return (-1);
  }
  tmp = xcalloc((size_t )10, sizeof(*(mi->p_hdr_data)));
  mi->p_hdr_data = (struct strbuf **)tmp;
  tmp___0 = xcalloc((size_t )10, sizeof(*(mi->s_hdr_data)));
  mi->s_hdr_data = (struct strbuf **)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    peek = fgetc(mi->input);
    if (peek == -1) {
      fclose(cmitmsg);
      error((char const   *)"empty patch: \'%s\'", patch);
      tmp___1 = const_error();
      return (tmp___1);
    }
    if (! (((int const   )sane_ctype[(unsigned char )peek] & 1) != 0)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  ungetc(peek, mi->input);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___2 = read_one_header_line(& line___0, mi->input);
    if (! tmp___2) {
      goto while_break___0;
    }
    check_header(mi, (struct strbuf  const  *)(& line___0), mi->p_hdr_data, 1);
  }
  while_break___0: /* CIL Label */ ;
  }
  handle_body(mi, & line___0);
  fwrite((void const   * __restrict  )mi->log_message.buf, (size_t )1, mi->log_message.len,
         (FILE * __restrict  )cmitmsg);
  fclose(cmitmsg);
  fclose(mi->patchfile);
  handle_info(mi);
  strbuf_release(& line___0);
  return (mi->input_error);
}
}
int mailinfo_parse_quoted_cr_action(char const   *actionstr , int *action )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp___1 = strcmp(actionstr, (char const   *)"nowarn");
  if (tmp___1) {
    tmp___0 = strcmp(actionstr, (char const   *)"warn");
    if (tmp___0) {
      tmp = strcmp(actionstr, (char const   *)"strip");
      if (tmp) {
        return (-1);
      } else {
        *action = 2;
      }
    } else {
      *action = 1;
    }
  } else {
    *action = 0;
  }
  return (0);
}
}
static int git_mailinfo_config(char const   *var , char const   *value , void *mi_ )
{
  struct mailinfo *mi ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  mi = (struct mailinfo *)mi_;
  tmp___0 = starts_with(var, (char const   *)"mailinfo.");
  if (! tmp___0) {
    tmp = git_default_config(var, value, (void *)0);
    return (tmp);
  }
  tmp___1 = strcmp(var, (char const   *)"mailinfo.scissors");
  if (! tmp___1) {
    mi->use_scissors = git_config_bool(var, value);
    return (0);
  }
  tmp___5 = strcmp(var, (char const   *)"mailinfo.quotedcr");
  if (! tmp___5) {
    tmp___4 = mailinfo_parse_quoted_cr_action(value, & mi->quoted_cr);
    if (tmp___4 != 0) {
      tmp___2 = _((char const   *)"bad action \'%s\' for \'%s\'");
      error((char const   *)tmp___2, value, var);
      tmp___3 = const_error();
      return (tmp___3);
    }
    return (0);
  }
  return (0);
}
}
void setup_mailinfo(struct mailinfo *mi )
{


  {
  memset((void *)mi, 0, sizeof(*mi));
  strbuf_init(& mi->name, (size_t )0);
  strbuf_init(& mi->email, (size_t )0);
  strbuf_init(& mi->charset, (size_t )0);
  strbuf_init(& mi->log_message, (size_t )0);
  strbuf_init(& mi->inbody_header_accum, (size_t )0);
  mi->quoted_cr = 1;
  mi->header_stage = 1;
  mi->use_inbody_headers = 1;
  mi->content_top = mi->content;
  git_config(& git_mailinfo_config, (void *)mi);
  return;
}
}
void clear_mailinfo(struct mailinfo *mi )
{


  {
  strbuf_release(& mi->name);
  strbuf_release(& mi->email);
  strbuf_release(& mi->charset);
  strbuf_release(& mi->inbody_header_accum);
  free((void *)mi->message_id);
  strbuf_list_free(mi->p_hdr_data);
  strbuf_list_free(mi->s_hdr_data);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )(mi->content) < (unsigned long )mi->content_top)) {
      goto while_break;
    }
    free((void *)*(mi->content_top));
    (mi->content_top) --;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& mi->log_message);
  return;
}
}
char const   *git_mailmap_file  ;
char const   *git_mailmap_blob  ;
int read_mailmap(struct string_list *map___0 ) ;
void clear_mailmap(struct string_list *map___0 ) ;
int map_user(struct string_list *map___0 , char const   **email , size_t *emaillen ,
             char const   **name___0 , size_t *namelen ) ;
static double const   __ac_HASH_UPPER___45  =    (double const   )0.77;
__inline static void kh_resize_oid_set___45(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___45(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___45 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___45 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___45(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___45(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___45(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___45(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___45(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___45(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___45 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___45 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___45(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___45(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___45(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___45(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___45(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___45(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___45 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___45 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___45(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___45(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___45(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___45(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___31(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___31(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___45 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___45 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___31(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___31(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___31(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___31(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void ( /* format attribute */  debug_mm)(char const   *format___0
                                                         , ...)
{


  {
  return;
}
}
static void free_mailmap_info(void *p___0 , char const   *s___1 )
{
  struct mailmap_info *mi ;
  char const   *tmp ;
  char const   *tmp___0 ;

  {
  mi = (struct mailmap_info *)p___0;
  tmp = precompose_string_if_needed((char const   *)mi->email);
  tmp___0 = precompose_string_if_needed((char const   *)mi->name);
  debug_mm((char const   *)"mailmap: -- complex: \'%s\' -> \'%s\' <%s>\n", s___1,
           tmp___0, tmp);
  free((void *)mi->name);
  free((void *)mi->email);
  free((void *)mi);
  return;
}
}
static void free_mailmap_entry(void *p___0 , char const   *s___1 )
{
  struct mailmap_entry *me ;
  char const   *tmp ;
  char const   *tmp___0 ;

  {
  me = (struct mailmap_entry *)p___0;
  debug_mm((char const   *)"mailmap: removing entries for <%s>, with %d sub-entries\n",
           s___1, me->namemap.nr);
  tmp = precompose_string_if_needed((char const   *)me->email);
  tmp___0 = precompose_string_if_needed((char const   *)me->name);
  debug_mm((char const   *)"mailmap: - simple: \'%s\' <%s>\n", tmp___0, tmp);
  free((void *)me->name);
  free((void *)me->email);
  me->namemap.strdup_strings = 1U;
  string_list_clear_func(& me->namemap, & free_mailmap_info);
  free((void *)me);
  return;
}
}
static int namemap_cmp(char const   *a , char const   *b___0 )
{
  int tmp ;

  {
  tmp = strcasecmp(a, b___0);
  return (tmp);
}
}
static void add_mapping(struct string_list *map___0 , char *new_name , char *new_email ,
                        char *old_name , char *old_email )
{
  struct mailmap_entry *me ;
  struct string_list_item *item___0 ;
  void *tmp ;
  struct mailmap_info *mi ;
  void *tmp___0 ;
  struct string_list_item *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;

  {
  if ((unsigned long )old_email == (unsigned long )((void *)0)) {
    old_email = new_email;
    new_email = (char *)((void *)0);
  }
  item___0 = string_list_insert(map___0, (char const   *)old_email);
  if (item___0->util) {
    me = (struct mailmap_entry *)item___0->util;
  } else {
    tmp = xcalloc((size_t )1, sizeof(*me));
    me = (struct mailmap_entry *)tmp;
    me->namemap.strdup_strings = 1U;
    me->namemap.cmp = & namemap_cmp;
    item___0->util = (void *)me;
  }
  if ((unsigned long )old_name == (unsigned long )((void *)0)) {
    debug_mm((char const   *)"mailmap: adding (simple) entry for \'%s\'\n", old_email);
    if (new_name) {
      free((void *)me->name);
      me->name = xstrdup((char const   *)new_name);
    }
    if (new_email) {
      free((void *)me->email);
      me->email = xstrdup((char const   *)new_email);
    }
  } else {
    tmp___0 = xcalloc((size_t )1, sizeof(struct mailmap_info ));
    mi = (struct mailmap_info *)tmp___0;
    debug_mm((char const   *)"mailmap: adding (complex) entry for \'%s\'\n", old_email);
    mi->name = xstrdup_or_null((char const   *)new_name);
    mi->email = xstrdup_or_null((char const   *)new_email);
    tmp___1 = string_list_insert(& me->namemap, (char const   *)old_name);
    tmp___1->util = (void *)mi;
  }
  tmp___2 = precompose_string_if_needed((char const   *)new_email);
  tmp___3 = precompose_string_if_needed((char const   *)new_name);
  tmp___4 = precompose_string_if_needed((char const   *)old_name);
  debug_mm((char const   *)"mailmap:  \'%s\' <%s> -> \'%s\' <%s>\n", tmp___4, old_email,
           tmp___3, tmp___2);
  return;
}
}
static char *parse_name_and_email(char *buffer___5 , char **name___0 , char **email ,
                                  int allow_empty_email )
{
  char *left ;
  char *right ;
  char *nstart ;
  char *nend ;
  char *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;

  {
  tmp = (char *)((void *)0);
  *email = tmp;
  *name___0 = tmp;
  left = strchr((char const   *)buffer___5, '<');
  if ((unsigned long )left == (unsigned long )((void *)0)) {
    return ((char *)((void *)0));
  }
  right = strchr((char const   *)(left + 1), '>');
  if ((unsigned long )right == (unsigned long )((void *)0)) {
    return ((char *)((void *)0));
  }
  if (! allow_empty_email) {
    if ((unsigned long )(left + 1) == (unsigned long )right) {
      return ((char *)((void *)0));
    }
  }
  nstart = buffer___5;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (((int const   )sane_ctype[(unsigned char )*nstart] & 1) != 0) {
      if (! ((unsigned long )nstart < (unsigned long )left)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    nstart ++;
  }
  while_break: /* CIL Label */ ;
  }
  nend = left - 1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if ((unsigned long )nend > (unsigned long )nstart) {
      if (! (((int const   )sane_ctype[(unsigned char )*nend] & 1) != 0)) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    nend --;
  }
  while_break___0: /* CIL Label */ ;
  }
  if ((unsigned long )nstart <= (unsigned long )nend) {
    *name___0 = nstart;
  } else {
    *name___0 = (char *)((void *)0);
  }
  *email = left + 1;
  *(nend + 1) = (char )'\000';
  tmp___0 = right;
  right ++;
  *tmp___0 = (char )'\000';
  if ((int )*right == 0) {
    tmp___1 = (char *)((void *)0);
  } else {
    tmp___1 = right;
  }
  return (tmp___1);
}
}
static void read_mailmap_line(struct string_list *map___0 , char *buffer___5 )
{
  char *name1 ;
  char *email1 ;
  char *name2 ;
  char *email2 ;

  {
  name1 = (char *)((void *)0);
  email1 = (char *)((void *)0);
  name2 = (char *)((void *)0);
  email2 = (char *)((void *)0);
  if ((int )*(buffer___5 + 0) == 35) {
    return;
  }
  name2 = parse_name_and_email(buffer___5, & name1, & email1, 0);
  if ((unsigned long )name2 != (unsigned long )((void *)0)) {
    parse_name_and_email(name2, & name2, & email2, 1);
  }
  if (email1) {
    add_mapping(map___0, name1, email1, name2, email2);
  }
  return;
}
}
static int read_mailmap_file(struct string_list *map___0 , char const   *filename___0 ,
                             unsigned int flags___0 )
{
  char buffer___5[1024] ;
  FILE *f ;
  int fd ;
  int *tmp ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  if (! filename___0) {
    return (0);
  }
  if (flags___0 & 1U) {
    fd = open_nofollow(filename___0, 00);
  } else {
    fd = open(filename___0, 00);
  }
  if (fd < 0) {
    tmp = __errno_location();
    if (*tmp == 2) {
      return (0);
    }
    error_errno((char const   *)"unable to open mailmap at %s", filename___0);
    tmp___0 = const_error();
    return (tmp___0);
  }
  f = xfdopen(fd, (char const   *)"r");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = fgets(buffer___5, (int )sizeof(buffer___5), f);
    if (! ((unsigned long )tmp___1 != (unsigned long )((void *)0))) {
      goto while_break;
    }
    read_mailmap_line(map___0, buffer___5);
  }
  while_break: /* CIL Label */ ;
  }
  fclose(f);
  return (0);
}
}
static void read_mailmap_string(struct string_list *map___0 , char *buf___19 )
{
  char *end ;
  char *tmp ;
  char *tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *buf___19) {
      goto while_break;
    }
    tmp = strchrnul((char const   *)buf___19, '\n');
    end = tmp;
    if (*end) {
      tmp___0 = end;
      end ++;
      *tmp___0 = (char )'\000';
    }
    read_mailmap_line(map___0, buf___19);
    buf___19 = end;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int read_mailmap_blob(struct string_list *map___0 , char const   *name___0 )
{
  struct object_id oid ;
  char *buf___19 ;
  unsigned long size ;
  enum object_type type___0 ;
  int tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (! name___0) {
    return (0);
  }
  tmp = repo_get_oid(the_repository, name___0, & oid);
  if (tmp < 0) {
    return (0);
  }
  tmp___0 = repo_read_object_file(the_repository, (struct object_id  const  *)(& oid),
                                  & type___0, & size);
  buf___19 = (char *)tmp___0;
  if (! buf___19) {
    error((char const   *)"unable to read mailmap object at %s", name___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  if ((int )type___0 != 3) {
    error((char const   *)"mailmap is not a blob: %s", name___0);
    tmp___2 = const_error();
    return (tmp___2);
  }
  read_mailmap_string(map___0, buf___19);
  free((void *)buf___19);
  return (0);
}
}
int read_mailmap(struct string_list *map___0 )
{
  int err___4 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  err___4 = 0;
  map___0->strdup_strings = 1U;
  map___0->cmp = & namemap_cmp;
  if (! git_mailmap_blob) {
    tmp = is_bare_repository();
    if (tmp) {
      git_mailmap_blob = (char const   *)"HEAD:.mailmap";
    }
  }
  if (! startup_info->have_repository) {
    goto _L;
  } else {
    tmp___2 = is_bare_repository();
    if (! tmp___2) {
      _L: /* CIL Label */
      if (startup_info->have_repository) {
        tmp___0 = 1;
      } else {
        tmp___0 = 0;
      }
      tmp___1 = read_mailmap_file(map___0, (char const   *)".mailmap", (unsigned int )tmp___0);
      err___4 |= tmp___1;
    }
  }
  if (startup_info->have_repository) {
    tmp___3 = read_mailmap_blob(map___0, git_mailmap_blob);
    err___4 |= tmp___3;
  }
  tmp___4 = read_mailmap_file(map___0, git_mailmap_file, 0U);
  err___4 |= tmp___4;
  return (err___4);
}
}
void clear_mailmap(struct string_list *map___0 )
{


  {
  debug_mm((char const   *)"mailmap: clearing %d entries...\n", map___0->nr);
  map___0->strdup_strings = 1U;
  string_list_clear_func(map___0, & free_mailmap_entry);
  debug_mm((char const   *)"mailmap: cleared\n");
  return;
}
}
static struct string_list_item *lookup_prefix(struct string_list *map___0 , char const   *string___0 ,
                                              size_t len___0 )
{
  int i ;
  int tmp ;
  int cmp___0 ;
  int tmp___0 ;

  {
  tmp = string_list_find_insert_index((struct string_list  const  *)map___0, string___0,
                                      1);
  i = tmp;
  if (i < 0) {
    i = -1 - i;
    if (! *(string___0 + len___0)) {
      return (map___0->items + i);
    }
  } else
  if (! *(string___0 + len___0)) {
    return ((struct string_list_item *)((void *)0));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    i --;
    if (0 <= i) {
      if (! ((unsigned int )i < map___0->nr)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___0 = strncasecmp((char const   *)(map___0->items + i)->string, string___0,
                          len___0);
    cmp___0 = tmp___0;
    if (cmp___0 < 0) {
      goto while_break;
    } else
    if (! cmp___0) {
      if (! *((map___0->items + i)->string + len___0)) {
        return (map___0->items + i);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct string_list_item *)((void *)0));
}
}
int map_user(struct string_list *map___0 , char const   **email , size_t *emaillen ,
             char const   **name___0 , size_t *namelen )
{
  struct string_list_item *item___0 ;
  struct mailmap_entry *me ;
  char const   *tmp ;
  char const   *tmp___0 ;
  struct string_list_item *subitem ;
  struct mailmap_info *mi ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;

  {
  tmp = precompose_string_if_needed(*email);
  tmp___0 = precompose_string_if_needed(*name___0);
  debug_mm((char const   *)"map_user: map \'%.*s\' <%.*s>\n", (int )*namelen, tmp___0,
           (int )*emaillen, tmp);
  item___0 = lookup_prefix(map___0, *email, *emaillen);
  if ((unsigned long )item___0 != (unsigned long )((void *)0)) {
    me = (struct mailmap_entry *)item___0->util;
    if (me->namemap.nr) {
      subitem = lookup_prefix(& me->namemap, *name___0, *namelen);
      if (subitem) {
        item___0 = subitem;
      }
    }
  }
  if ((unsigned long )item___0 != (unsigned long )((void *)0)) {
    mi = (struct mailmap_info *)item___0->util;
    if ((unsigned long )mi->name == (unsigned long )((void *)0)) {
      if ((unsigned long )mi->email == (unsigned long )((void *)0)) {
        debug_mm((char const   *)"map_user:  -- (no simple mapping)\n");
        return (0);
      }
    }
    if (mi->email) {
      *email = (char const   *)mi->email;
      *emaillen = strlen(*email);
    }
    if (mi->name) {
      *name___0 = (char const   *)mi->name;
      *namelen = strlen(*name___0);
    }
    tmp___1 = precompose_string_if_needed(*email);
    tmp___2 = precompose_string_if_needed(*name___0);
    debug_mm((char const   *)"map_user:  to \'%.*s\' <%.*s>\n", (int )*namelen, tmp___2,
             (int )*emaillen, tmp___1);
    return (1);
  }
  debug_mm((char const   *)"map_user:  --\n");
  return (0);
}
}
static double const   __ac_HASH_UPPER___46  =    (double const   )0.77;
__inline static void kh_resize_oid_set___46(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___46(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___46 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___46 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___46(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___46(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___46(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___46(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___46(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___46(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___46 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___46 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___46(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___46(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___46(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___46(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___46(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___46(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___46 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___46 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___46(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___46(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___46(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___46(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___32(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___32(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___46 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___46 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___32(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___32(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___32(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___32(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int score_missing(unsigned int mode___1 )
{
  int score ;

  {
  if ((mode___1 & 61440U) == 16384U) {
    score = -1000;
  } else
  if ((mode___1 & 61440U) == 40960U) {
    score = -500;
  } else {
    score = -50;
  }
  return (score);
}
}
static int score_differs(unsigned int mode1 , unsigned int mode2 )
{
  int score ;

  {
  if (((mode1 & 61440U) == 16384U) != ((mode2 & 61440U) == 16384U)) {
    score = -100;
  } else
  if (((mode1 & 61440U) == 40960U) != ((mode2 & 61440U) == 40960U)) {
    score = -50;
  } else {
    score = -5;
  }
  return (score);
}
}
static int score_matches(unsigned int mode1 , unsigned int mode2 )
{
  int score ;

  {
  if (((mode1 & 61440U) == 16384U) != ((mode2 & 61440U) == 16384U)) {
    score = -100;
  } else
  if (((mode1 & 61440U) == 40960U) != ((mode2 & 61440U) == 40960U)) {
    score = -50;
  } else
  if ((mode1 & 61440U) == 16384U) {
    score = 1000;
  } else
  if ((mode1 & 61440U) == 40960U) {
    score = 500;
  } else {
    score = 250;
  }
  return (score);
}
}
static void *fill_tree_desc_strict(struct tree_desc *desc___0 , struct object_id  const  *hash___0 )
{
  void *buffer___5 ;
  enum object_type type___0 ;
  unsigned long size ;
  char *tmp ;
  char *tmp___0 ;

  {
  buffer___5 = repo_read_object_file(the_repository, hash___0, & type___0, & size);
  if (! buffer___5) {
    tmp = oid_to_hex(hash___0);
    die((char const   *)"unable to read tree (%s)", tmp);
  }
  if ((int )type___0 != 2) {
    tmp___0 = oid_to_hex(hash___0);
    die((char const   *)"%s is not a tree", tmp___0);
  }
  init_tree_desc(desc___0, (void const   *)buffer___5, size);
  return (buffer___5);
}
}
static int base_name_entries_compare(struct name_entry  const  *a , struct name_entry  const  *b___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = tree_entry_len(b___0);
  tmp___0 = tree_entry_len(a);
  tmp___1 = base_name_compare((char const   *)a->path, tmp___0, (int )a->mode, (char const   *)b___0->path,
                              tmp, (int )b___0->mode);
  return (tmp___1);
}
}
static int score_trees(struct object_id  const  *hash1 , struct object_id  const  *hash2 )
{
  struct tree_desc one___0 ;
  struct tree_desc two___0 ;
  void *one_buf ;
  void *tmp ;
  void *two_buf ;
  void *tmp___0 ;
  int score ;
  int cmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = fill_tree_desc_strict(& one___0, hash1);
  one_buf = tmp;
  tmp___0 = fill_tree_desc_strict(& two___0, hash2);
  two_buf = tmp___0;
  score = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (one___0.size) {
      if (two___0.size) {
        cmp___0 = base_name_entries_compare((struct name_entry  const  *)(& one___0.entry),
                                            (struct name_entry  const  *)(& two___0.entry));
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (one___0.size) {
      cmp___0 = -1;
    } else
    if (two___0.size) {
      cmp___0 = 1;
    } else {
      goto while_break;
    }
    if (cmp___0 < 0) {
      tmp___1 = score_missing(one___0.entry.mode);
      score += tmp___1;
      update_tree_entry(& one___0);
    } else
    if (cmp___0 > 0) {
      tmp___2 = score_missing(two___0.entry.mode);
      score += tmp___2;
      update_tree_entry(& two___0);
    } else {
      tmp___5 = oideq((struct object_id  const  *)(& one___0.entry.oid), (struct object_id  const  *)(& two___0.entry.oid));
      if (tmp___5) {
        tmp___4 = score_matches(one___0.entry.mode, two___0.entry.mode);
        score += tmp___4;
      } else {
        tmp___3 = score_differs(one___0.entry.mode, two___0.entry.mode);
        score += tmp___3;
      }
      update_tree_entry(& one___0);
      update_tree_entry(& two___0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  free(one_buf);
  free(two_buf);
  return (score);
}
}
static void match_trees(struct object_id  const  *hash1 , struct object_id  const  *hash2 ,
                        int *best_score , char **best_match , char const   *base ,
                        int recurse_limit )
{
  struct tree_desc one___0 ;
  void *one_buf ;
  void *tmp ;
  char const   *path___6 ;
  struct object_id  const  *elem ;
  unsigned short mode___1 ;
  int score ;
  char *newbase ;
  char *tmp___0 ;

  {
  tmp = fill_tree_desc_strict(& one___0, hash1);
  one_buf = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! one___0.size) {
      goto while_break;
    }
    elem = tree_entry_extract(& one___0, & path___6, & mode___1);
    if (! (((int )mode___1 & 0170000) == 0040000)) {
      goto next;
    }
    score = score_trees(elem, hash2);
    if (*best_score < score) {
      free((void *)*best_match);
      *best_match = xstrfmt((char const   *)"%s%s", base, path___6);
      *best_score = score;
    }
    if (recurse_limit) {
      tmp___0 = xstrfmt((char const   *)"%s%s/", base, path___6);
      newbase = tmp___0;
      match_trees(elem, hash2, best_score, best_match, (char const   *)newbase, recurse_limit - 1);
      free((void *)newbase);
    }
    next:
    update_tree_entry(& one___0);
  }
  while_break: /* CIL Label */ ;
  }
  free(one_buf);
  return;
}
}
static int splice_tree(struct object_id  const  *oid1 , char const   *prefix___1 ,
                       struct object_id  const  *oid2 , struct object_id *result___0 )
{
  char *subpath ;
  int toplen ;
  char *buf___19 ;
  unsigned long sz ;
  struct tree_desc desc___0 ;
  unsigned char *rewrite_here ;
  struct object_id  const  *rewrite_with ;
  struct object_id subtree ;
  enum object_type type___0 ;
  int status ;
  void *tmp ;
  char *tmp___0 ;
  char const   *name___0 ;
  unsigned short mode___1 ;
  char *tmp___1 ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;
  struct object_id tree_oid ;

  {
  subpath = strchrnul(prefix___1, '/');
  toplen = (int )(subpath - (char *)prefix___1);
  if (*subpath) {
    subpath ++;
  }
  tmp = repo_read_object_file(the_repository, oid1, & type___0, & sz);
  buf___19 = (char *)tmp;
  if (! buf___19) {
    tmp___0 = oid_to_hex(oid1);
    die((char const   *)"cannot read tree %s", tmp___0);
  }
  init_tree_desc(& desc___0, (void const   *)buf___19, sz);
  rewrite_here = (unsigned char *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! desc___0.size) {
      goto while_break;
    }
    tree_entry_extract(& desc___0, & name___0, & mode___1);
    tmp___3 = strlen(name___0);
    if (tmp___3 == (size_t )toplen) {
      tmp___4 = memcmp((void const   *)name___0, (void const   *)prefix___1, (size_t )toplen);
      if (! tmp___4) {
        if (! (((int )mode___1 & 0170000) == 0040000)) {
          tmp___1 = oid_to_hex(oid1);
          die((char const   *)"entry %s in tree %s is not a tree", name___0, tmp___1);
        }
        tmp___2 = strlen(desc___0.entry.path);
        rewrite_here = (unsigned char *)((desc___0.entry.path + tmp___2) + 1);
        goto while_break;
      }
    }
    update_tree_entry(& desc___0);
  }
  while_break: /* CIL Label */ ;
  }
  if (! rewrite_here) {
    tmp___5 = oid_to_hex(oid1);
    die((char const   *)"entry %.*s not found in tree %s", toplen, prefix___1, tmp___5);
  }
  if (*subpath) {
    oidread(& tree_oid, (unsigned char const   *)rewrite_here);
    status = splice_tree((struct object_id  const  *)(& tree_oid), (char const   *)subpath,
                         oid2, & subtree);
    if (status) {
      return (status);
    }
    rewrite_with = (struct object_id  const  *)(& subtree);
  } else {
    rewrite_with = oid2;
  }
  hashcpy(rewrite_here, (unsigned char const   *)(rewrite_with->hash));
  status = write_object_file((void const   *)buf___19, sz, tree_type, result___0);
  free((void *)buf___19);
  return (status);
}
}
void shift_tree(struct repository *r , struct object_id  const  *hash1 , struct object_id  const  *hash2 ,
                struct object_id *shifted , int depth_limit )
{
  char *add_prefix___0 ;
  char *del_prefix ;
  int add_score ;
  int del_score ;
  void *tmp ;
  void *tmp___0 ;
  unsigned short mode___1 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  if (! depth_limit) {
    depth_limit = 2;
  }
  del_score = score_trees(hash1, hash2);
  add_score = del_score;
  tmp = xcalloc((size_t )1, (size_t )1);
  add_prefix___0 = (char *)tmp;
  tmp___0 = xcalloc((size_t )1, (size_t )1);
  del_prefix = (char *)tmp___0;
  match_trees(hash1, hash2, & add_score, & add_prefix___0, (char const   *)"", depth_limit);
  match_trees(hash2, hash1, & del_score, & del_prefix, (char const   *)"", depth_limit);
  oidcpy(shifted, hash2);
  if (add_score < del_score) {
    if (! *del_prefix) {
      return;
    }
    tmp___2 = get_tree_entry(r, hash2, (char const   *)del_prefix, shifted, & mode___1);
    if (tmp___2) {
      tmp___1 = oid_to_hex(hash2);
      die((char const   *)"cannot find path %s in tree %s", del_prefix, tmp___1);
    }
    return;
  }
  if (! *add_prefix___0) {
    return;
  }
  splice_tree(hash1, (char const   *)add_prefix___0, hash2, shifted);
  return;
}
}
void shift_tree_by(struct repository *r , struct object_id  const  *hash1 , struct object_id  const  *hash2 ,
                   struct object_id *shifted , char const   *shift_prefix )
{
  struct object_id sub1 ;
  struct object_id sub2 ;
  unsigned short mode1 ;
  unsigned short mode2 ;
  unsigned int candidate ;
  int tmp ;
  int tmp___0 ;
  int best_score ;
  int tmp___1 ;
  int score ;

  {
  candidate = 0U;
  tmp = get_tree_entry(r, hash1, shift_prefix, & sub1, & mode1);
  if (! tmp) {
    if (((int )mode1 & 0170000) == 0040000) {
      candidate |= 1U;
    }
  }
  tmp___0 = get_tree_entry(r, hash2, shift_prefix, & sub2, & mode2);
  if (! tmp___0) {
    if (((int )mode2 & 0170000) == 0040000) {
      candidate |= 2U;
    }
  }
  if (candidate == 3U) {
    tmp___1 = score_trees(hash1, hash2);
    best_score = tmp___1;
    candidate = 0U;
    score = score_trees((struct object_id  const  *)(& sub1), hash2);
    if (score > best_score) {
      candidate = 1U;
      best_score = score;
    }
    score = score_trees((struct object_id  const  *)(& sub2), hash1);
    if (score > best_score) {
      candidate = 2U;
    }
  }
  if (! candidate) {
    oidcpy(shifted, hash2);
    return;
  }
  if (candidate == 1U) {
    splice_tree(hash1, shift_prefix, hash2, shifted);
  } else {
    oidcpy(shifted, (struct object_id  const  *)(& sub2));
  }
  return;
}
}
static struct mp_block *mem_pool_alloc_block(struct mem_pool *pool , size_t block_alloc ,
                                             struct mp_block *insert_after )
{
  struct mp_block *p___0 ;
  size_t tmp ;
  void *tmp___0 ;

  {
  pool->pool_alloc += sizeof(struct mp_block ) + block_alloc;
  tmp = st_add(sizeof(struct mp_block ), block_alloc);
  tmp___0 = xmalloc(tmp);
  p___0 = (struct mp_block *)tmp___0;
  p___0->next_free = (char *)(p___0->space);
  p___0->end = p___0->next_free + block_alloc;
  if (insert_after) {
    p___0->next_block = insert_after->next_block;
    insert_after->next_block = p___0;
  } else {
    p___0->next_block = pool->mp_block;
    pool->mp_block = p___0;
  }
  return (p___0);
}
}
void mem_pool_init(struct mem_pool *pool , size_t initial_size )
{


  {
  memset((void *)pool, 0, sizeof(*pool));
  pool->block_alloc = 1048576UL - sizeof(struct mp_block );
  if (initial_size > 0UL) {
    mem_pool_alloc_block(pool, initial_size, (struct mp_block *)((void *)0));
  }
  return;
}
}
void mem_pool_discard(struct mem_pool *pool , int invalidate_memory )
{
  struct mp_block *block___0 ;
  struct mp_block *block_to_free ;

  {
  block___0 = pool->mp_block;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! block___0) {
      goto while_break;
    }
    block_to_free = block___0;
    block___0 = block___0->next_block;
    if (invalidate_memory) {
      memset((void *)(block_to_free->space), 0xDD, (size_t )(block_to_free->end - (char *)(block_to_free->space)));
    }
    free((void *)block_to_free);
  }
  while_break: /* CIL Label */ ;
  }
  pool->mp_block = (struct mp_block *)((void *)0);
  pool->pool_alloc = (size_t )0;
  return;
}
}
void *mem_pool_alloc(struct mem_pool *pool , size_t len___0 )
{
  struct mp_block *p___0 ;
  void *r ;
  struct mp_block *tmp ;

  {
  p___0 = (struct mp_block *)((void *)0);
  if (len___0 & (sizeof(uintmax_t ) - 1UL)) {
    len___0 += sizeof(uintmax_t ) - (len___0 & (sizeof(uintmax_t ) - 1UL));
  }
  if (pool->mp_block) {
    if ((size_t )((pool->mp_block)->end - (pool->mp_block)->next_free) >= len___0) {
      p___0 = pool->mp_block;
    }
  }
  if (! p___0) {
    if (len___0 >= pool->block_alloc / 2UL) {
      tmp = mem_pool_alloc_block(pool, len___0, pool->mp_block);
      return ((void *)tmp);
    }
    p___0 = mem_pool_alloc_block(pool, pool->block_alloc, (struct mp_block *)((void *)0));
  }
  r = (void *)p___0->next_free;
  p___0->next_free += len___0;
  return (r);
}
}
void *mem_pool_calloc(struct mem_pool *pool , size_t count___0 , size_t size )
{
  size_t len___0 ;
  size_t tmp ;
  void *r ;
  void *tmp___0 ;

  {
  tmp = st_mult(count___0, size);
  len___0 = tmp;
  tmp___0 = mem_pool_alloc(pool, len___0);
  r = tmp___0;
  memset(r, 0, len___0);
  return (r);
}
}
char *mem_pool_strdup(struct mem_pool *pool , char const   *str )
{
  size_t len___0 ;
  size_t tmp ;
  char *ret___67 ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  tmp = strlen(str);
  len___0 = tmp + 1UL;
  tmp___0 = mem_pool_alloc(pool, len___0);
  ret___67 = (char *)tmp___0;
  tmp___1 = memcpy((void *)ret___67, (void const   *)str, len___0);
  return ((char *)tmp___1);
}
}
char *mem_pool_strndup(struct mem_pool *pool , char const   *str , size_t len___0 )
{
  char *p___0 ;
  void *tmp ;
  size_t actual_len ;
  size_t tmp___0 ;
  char *ret___67 ;
  void *tmp___1 ;
  void *tmp___2 ;

  {
  tmp = memchr((void const   *)str, '\000', len___0);
  p___0 = (char *)tmp;
  if (p___0) {
    tmp___0 = (size_t )(p___0 - (char *)str);
  } else {
    tmp___0 = len___0;
  }
  actual_len = tmp___0;
  tmp___1 = mem_pool_alloc(pool, actual_len + 1UL);
  ret___67 = (char *)tmp___1;
  *(ret___67 + actual_len) = (char )'\000';
  tmp___2 = memcpy((void *)ret___67, (void const   *)str, actual_len);
  return ((char *)tmp___2);
}
}
int mem_pool_contains(struct mem_pool *pool , void *mem )
{
  struct mp_block *p___0 ;

  {
  p___0 = pool->mp_block;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if ((unsigned long )mem >= (unsigned long )((void *)(p___0->space))) {
      if ((unsigned long )mem < (unsigned long )((void *)p___0->end)) {
        return (1);
      }
    }
    p___0 = p___0->next_block;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
void mem_pool_combine(struct mem_pool *dst , struct mem_pool *src )
{
  struct mp_block *p___0 ;

  {
  if (dst->mp_block) {
    if (src->mp_block) {
      p___0 = dst->mp_block;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! p___0->next_block) {
          goto while_break;
        }
        p___0 = p___0->next_block;
      }
      while_break: /* CIL Label */ ;
      }
      p___0->next_block = src->mp_block;
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (src->mp_block) {
    dst->mp_block = src->mp_block;
  }
  dst->pool_alloc += src->pool_alloc;
  src->pool_alloc = (size_t )0;
  src->mp_block = (struct mp_block *)((void *)0);
  return;
}
}
void *merge_blobs(struct index_state *istate , char const   *path___6 , struct blob *base ,
                  struct blob *our , struct blob *their , unsigned long *size ) ;
static double const   __ac_HASH_UPPER___47  =    (double const   )0.77;
__inline static void kh_resize_oid_set___47(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___47(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___47 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___47 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___47(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___47(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___47(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___47(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___47(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___47(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___47 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___47 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___47(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___47(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___47(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___47(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___47(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___47(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___47 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___47 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___47(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___47(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___47(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___47(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___33(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___33(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___47 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___47 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___33(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___33(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___33(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___33(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int fill_mmfile_blob(mmfile_t *f , struct blob *obj )
{
  void *buf___19 ;
  unsigned long size ;
  enum object_type type___0 ;

  {
  buf___19 = repo_read_object_file(the_repository, (struct object_id  const  *)(& obj->object.oid),
                                   & type___0, & size);
  if (! buf___19) {
    return (-1);
  }
  if ((int )type___0 != 3) {
    free(buf___19);
    return (-1);
  }
  f->ptr = (char *)buf___19;
  f->size = (long )size;
  return (0);
}
}
static void free_mmfile(mmfile_t *f )
{


  {
  free((void *)f->ptr);
  return;
}
}
static void *three_way_filemerge(struct index_state *istate , char const   *path___6 ,
                                 mmfile_t *base , mmfile_t *our , mmfile_t *their ,
                                 unsigned long *size )
{
  int merge_status ;
  mmbuffer_t res ;

  {
  merge_status = ll_merge(& res, path___6, base, (char const   *)((void *)0), our,
                          (char const   *)".our", their, (char const   *)".their",
                          istate, (struct ll_merge_options  const  *)((void *)0));
  if (merge_status < 0) {
    return ((void *)0);
  }
  *size = (unsigned long )res.size;
  return ((void *)res.ptr);
}
}
void *merge_blobs(struct index_state *istate , char const   *path___6 , struct blob *base ,
                  struct blob *our , struct blob *their , unsigned long *size )
{
  void *res ;
  mmfile_t f1 ;
  mmfile_t f2 ;
  mmfile_t common ;
  enum object_type type___0 ;
  void *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  res = (void *)0;
  if (! our) {
    goto _L;
  } else
  if (! their) {
    _L: /* CIL Label */
    if (base) {
      return ((void *)0);
    }
    if (! our) {
      our = their;
    }
    tmp = repo_read_object_file(the_repository, (struct object_id  const  *)(& our->object.oid),
                                & type___0, size);
    return (tmp);
  }
  tmp___0 = fill_mmfile_blob(& f1, our);
  if (tmp___0 < 0) {
    goto out_no_mmfile;
  }
  tmp___1 = fill_mmfile_blob(& f2, their);
  if (tmp___1 < 0) {
    goto out_free_f1;
  }
  if (base) {
    tmp___2 = fill_mmfile_blob(& common, base);
    if (tmp___2 < 0) {
      goto out_free_f2_f1;
    }
  } else {
    common.ptr = xstrdup((char const   *)"");
    common.size = 0L;
  }
  res = three_way_filemerge(istate, path___6, & common, & f1, & f2, size);
  free_mmfile(& common);
  out_free_f2_f1:
  free_mmfile(& f2);
  out_free_f1:
  free_mmfile(& f1);
  out_no_mmfile:
  return (res);
}
}
extern void init_merge_options(struct merge_options__0 *opt , struct repository *repo ) ;
extern int parse_merge_opt(struct merge_options__0 *opt , char const   *s ) ;
extern int merge_trees(struct merge_options__0 *opt , struct tree *head , struct tree *merge ,
                       struct tree *merge_base ) ;
extern int merge_recursive(struct merge_options__0 *opt , struct commit *h1 , struct commit *h2 ,
                           struct commit_list *merge_bases , struct commit **result ) ;
extern int merge_recursive_generic(struct merge_options__0 *opt , struct object_id  const  *head ,
                                   struct object_id  const  *merge , int num_merge_bases ,
                                   struct object_id  const  **merge_bases , struct commit **result ) ;
void merge_incore_recursive(struct merge_options *opt___0 , struct commit_list *merge_bases ,
                            struct commit *side1 , struct commit *side2 , struct merge_result *result___0 ) ;
void merge_incore_nonrecursive(struct merge_options *opt___0 , struct tree *merge_base ,
                               struct tree *side1 , struct tree *side2 , struct merge_result *result___0 ) ;
void merge_switch_to_result(struct merge_options *opt___0 , struct tree *head___1 ,
                            struct merge_result *result___0 , int update_worktree_and_index ,
                            int display_update_msgs ) ;
void merge_finalize(struct merge_options *opt___0 , struct merge_result *result___0 ) ;
static void init_contains_cache_with_stride___5(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___5(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___5(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___5(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___5(s___1, 1U);
  return;
}
}
static void clear_contains_cache___5(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___5(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___5(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___5(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___5(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___5(struct contains_cache *s___1 ,
                                                        struct commit  const  *c___0 ,
                                                        int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___5(struct contains_cache *s___1 ,
                                                        struct commit  const  *c___0 ,
                                                        int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___5(struct contains_cache *s___1 ,
                                                   struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___5(struct contains_cache *s___1 ,
                                                   struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___5(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___5(struct contains_cache *s___1 ,
                                                     struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___5(struct contains_cache *s___1 ,
                                                     struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___5(s___1, c___0, 0);
  return (tmp);
}
}
static double const   __ac_HASH_UPPER___48  =    (double const   )0.77;
__inline static void kh_resize_oid_set___48(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___48(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___48 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___48 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___48(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___48(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___48(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___48(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___48(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___48(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___48 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___48 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___48(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___48(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___48(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___48(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___48(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___48(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___48 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___48 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___48(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___48(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___48(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___48(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___34(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___34(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___48 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___48 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___34(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___34(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___34(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___34(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static unsigned int RESULT_INITIALIZED  =    448664045U;
static void free_strmap_strings(struct strmap *map___0 )
{
  struct hashmap_iter iter___0 ;
  struct strmap_entry *entry ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;

  {
  entry = (struct strmap_entry *)((void *)0);
  tmp = hashmap_iter_first(& map___0->map, & iter___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  entry = (struct strmap_entry *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! entry) {
      goto while_break;
    }
    free((void *)((char *)entry->key));
    tmp___1 = hashmap_iter_next(& iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    entry = (struct strmap_entry *)tmp___2;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void clear_or_reinit_internal_opts(struct merge_options_internal *opti , int reinitialize )
{
  struct rename_info *renames ;
  int i ;
  void (*strmap_clear_func)(struct strmap * , int  ) ;
  void (*tmp)(struct strmap *map , int free_values ) ;
  void (*strintmap_clear_func)(struct strintmap * ) ;
  void (*tmp___0)(struct strintmap *map ) ;
  void (*strset_clear_func)(struct strset * ) ;
  void (*tmp___1)(struct strset *set ) ;
  struct hashmap_iter iter___0 ;
  struct strmap_entry *e ;
  struct hashmap_entry *tmp___2 ;
  void *tmp___3 ;
  struct hashmap_entry *tmp___4 ;
  void *tmp___5 ;
  struct strbuf *sb___6 ;
  int tmp___6 ;

  {
  renames = & opti->renames;
  if (reinitialize) {
    tmp = & strmap_partial_clear;
  } else {
    tmp = & strmap_clear;
  }
  strmap_clear_func = tmp;
  if (reinitialize) {
    tmp___0 = & strintmap_partial_clear;
  } else {
    tmp___0 = & strintmap_clear;
  }
  strintmap_clear_func = tmp___0;
  if (reinitialize) {
    tmp___1 = & strset_partial_clear;
  } else {
    tmp___1 = & strset_clear;
  }
  strset_clear_func = tmp___1;
  (*strmap_clear_func)(& opti->paths, 0);
  (*strmap_clear_func)(& opti->conflicted, 0);
  if (opti->attr_index.cache_nr) {
    discard_index(& opti->attr_index);
  }
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i <= 2)) {
      goto while_break;
    }
    (*strintmap_clear_func)(& renames->dirs_removed[i]);
    (*strmap_clear_func)(& renames->dir_renames[i], 0);
    (*strintmap_clear_func)(& renames->relevant_sources[i]);
    if (! reinitialize) {
      assert(renames->cached_pairs_valid_side == 0);
    }
    if (i != renames->cached_pairs_valid_side) {
      if (-1 != renames->cached_pairs_valid_side) {
        (*strset_clear_func)(& renames->cached_target_names[i]);
        (*strmap_clear_func)(& renames->cached_pairs[i], 1);
        (*strset_clear_func)(& renames->cached_irrelevant[i]);
        partial_clear_dir_rename_count(& renames->dir_rename_count[i]);
        if (! reinitialize) {
          strmap_clear(& renames->dir_rename_count[i], 1);
        }
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i <= 2)) {
      goto while_break___0;
    }
    (*strintmap_clear_func)(& renames->deferred[i].possible_trivial_merges);
    (*strset_clear_func)(& renames->deferred[i].target_dirs);
    renames->deferred[i].trivial_merges_okay = 1U;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  renames->cached_pairs_valid_side = 0;
  renames->dir_rename_mask = 0U;
  if (! reinitialize) {
    e = (struct strmap_entry *)((void *)0);
    tmp___2 = hashmap_iter_first(& opti->output.map, & iter___0);
    tmp___3 = container_of_or_null_offset((void *)tmp___2, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    e = (struct strmap_entry *)tmp___3;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! e) {
        goto while_break___1;
      }
      sb___6 = (struct strbuf *)e->value;
      strbuf_release(sb___6);
      free((void *)sb___6);
      tmp___4 = hashmap_iter_next(& iter___0);
      tmp___5 = container_of_or_null_offset((void *)tmp___4, (unsigned long )(& ((struct strmap_entry *)0)->ent));
      e = (struct strmap_entry *)tmp___5;
    }
    while_break___1: /* CIL Label */ ;
    }
    strmap_clear(& opti->output, 0);
  }
  mem_pool_discard(& opti->pool, 0);
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    free((void *)renames->callback_data);
    renames->callback_data = (struct traversal_callback_data *)((void *)0);
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  tmp___6 = 0;
  renames->callback_data_alloc = tmp___6;
  renames->callback_data_nr = tmp___6;
  return;
}
}
static int ( /* format attribute */  err___1)(struct merge_options *opt___0 , char const   *err___4
                                              , ...)
{
  va_list params ;
  struct strbuf sb___6 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  strbuf_addstr(& sb___6, (char const   *)"error: ");
  __builtin_va_start(params, err___4);
  strbuf_vaddf(& sb___6, err___4, params);
  __builtin_va_end(params);
  error((char const   *)"%s", sb___6.buf);
  const_error();
  strbuf_release(& sb___6);
  return (-1);
}
}
static void format_commit(struct strbuf *sb___6 , int indent , struct repository *repo ,
                          struct commit *commit )
{
  struct merge_remote_desc *desc___0 ;
  struct pretty_print_context ctx___0 ;

  {
  ctx___0.fmt = (enum cmit_fmt )0;
  ctx___0.abbrev = 0;
  ctx___0.after_subject = (char const   *)0;
  ctx___0.preserve_subject = 0;
  ctx___0.date_mode.type = 0U;
  ctx___0.date_mode.strftime_fmt = (char const   *)0;
  ctx___0.date_mode.local = 0;
  ctx___0.date_mode_explicit = 0U;
  ctx___0.print_email_subject = 0;
  ctx___0.expand_tabs_in_log = 0;
  ctx___0.need_8bit_cte = 0;
  ctx___0.notes_message = (char *)0;
  ctx___0.reflog_info = (struct reflog_walk_info *)0;
  ctx___0.rev = (struct rev_info *)0;
  ctx___0.output_encoding = (char const   *)0;
  ctx___0.mailmap = (struct string_list *)0;
  ctx___0.color = 0;
  ctx___0.from_ident = (struct ident_split *)0;
  ctx___0.encode_email_headers = 0U;
  ctx___0.describe_status = (struct pretty_print_describe_status *)0;
  ctx___0.in_body_headers.items = (struct string_list_item *)0;
  ctx___0.in_body_headers.nr = 0U;
  ctx___0.in_body_headers.alloc = 0U;
  ctx___0.in_body_headers.strdup_strings = 0U;
  ctx___0.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
  ctx___0.graph_width = 0;
  ctx___0.abbrev = default_abbrev;
  strbuf_addchars(sb___6, ' ', (size_t )indent);
  desc___0 = merge_remote_util(commit);
  if (desc___0) {
    strbuf_addf(sb___6, (char const   *)"virtual %s\n", desc___0->name);
    return;
  }
  repo_format_commit_message(repo, (struct commit  const  *)commit, (char const   *)"%h %s",
                             sb___6, (struct pretty_print_context  const  *)(& ctx___0));
  strbuf_addch(sb___6, '\n');
  return;
}
}
static void ( /* format attribute */  path_msg)(struct merge_options *opt___0 , char const   *path___6 ,
                                                int omittable_hint , char const   *fmt
                                                , ...)
{
  va_list ap ;
  struct strbuf *sb___6 ;
  void *tmp ;
  void *tmp___0 ;

  {
  tmp = strmap_get(& (opt___0->priv)->output, path___6);
  sb___6 = (struct strbuf *)tmp;
  if (! sb___6) {
    tmp___0 = xmalloc(sizeof(*sb___6));
    sb___6 = (struct strbuf *)tmp___0;
    strbuf_init(sb___6, (size_t )0);
    strmap_put(& (opt___0->priv)->output, path___6, (void *)sb___6);
  }
  __builtin_va_start(ap, fmt);
  strbuf_vaddf(sb___6, fmt, ap);
  __builtin_va_end(ap);
  strbuf_addch(sb___6, '\n');
  return;
}
}
static struct diff_filespec *pool_alloc_filespec(struct mem_pool *pool , char const   *path___6 )
{
  struct diff_filespec *spec ;
  void *tmp ;

  {
  tmp = mem_pool_calloc(pool, (size_t )1, sizeof(*spec));
  spec = (struct diff_filespec *)tmp;
  spec->path = (char *)path___6;
  spec->count = 1;
  spec->is_binary = -1;
  return (spec);
}
}
static struct diff_filepair *pool_diff_queue(struct mem_pool *pool , struct diff_queue_struct *queue ,
                                             struct diff_filespec *one___0 , struct diff_filespec *two___0 )
{
  struct diff_filepair *dp ;
  void *tmp ;

  {
  tmp = mem_pool_calloc(pool, (size_t )1, sizeof(*dp));
  dp = (struct diff_filepair *)tmp;
  dp->one = one___0;
  dp->two = two___0;
  if (queue) {
    diff_q(queue, dp);
  }
  return (dp);
}
}
static void add_flattened_path(struct strbuf *out , char const   *s___1 )
{
  size_t i ;

  {
  i = out->len;
  strbuf_addstr(out, s___1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < out->len)) {
      goto while_break;
    }
    if ((int )*(out->buf + i) == 47) {
      *(out->buf + i) = (char )'_';
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static char *unique_path(struct strmap *existing_paths , char const   *path___6 ,
                         char const   *branch___0 )
{
  struct strbuf newpath ;
  int suffix___3 ;
  size_t base_len ;
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  newpath.alloc = 0UL;
  newpath.len = 0UL;
  newpath.buf = strbuf_slopbuf;
  suffix___3 = 0;
  strbuf_addf(& newpath, (char const   *)"%s~", path___6);
  add_flattened_path(& newpath, branch___0);
  base_len = newpath.len;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = strmap_contains(existing_paths, (char const   *)newpath.buf);
    if (! tmp___0) {
      goto while_break;
    }
    strbuf_setlen(& newpath, base_len);
    tmp = suffix___3;
    suffix___3 ++;
    strbuf_addf(& newpath, (char const   *)"_%d", tmp);
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = strbuf_detach(& newpath, (size_t *)((void *)0));
  return (tmp___1);
}
}
static int traverse_trees_wrapper_callback(int n , unsigned long mask , unsigned long dirmask ,
                                           struct name_entry *names___0 , struct traverse_info *info___0 )
{
  struct merge_options *opt___0 ;
  struct rename_info *renames ;
  unsigned int filemask ;
  size_t tmp ;
  void *tmp___0 ;

  {
  opt___0 = (struct merge_options *)info___0->data;
  renames = & (opt___0->priv)->renames;
  filemask = (unsigned int )(mask & ~ dirmask);
  assert(n == 3);
  if (! renames->callback_data_traverse_path) {
    renames->callback_data_traverse_path = xstrdup(info___0->traverse_path);
  }
  if (filemask) {
    if (filemask == renames->dir_rename_mask) {
      renames->dir_rename_mask = 7U;
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (renames->callback_data_nr + 1 > renames->callback_data_alloc) {
      if (((renames->callback_data_alloc + 16) * 3) / 2 < renames->callback_data_nr + 1) {
        renames->callback_data_alloc = renames->callback_data_nr + 1;
      } else {
        renames->callback_data_alloc = ((renames->callback_data_alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(renames->callback_data)), (size_t )renames->callback_data_alloc);
      tmp___0 = xrealloc((void *)renames->callback_data, tmp);
      renames->callback_data = (struct traversal_callback_data *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  (renames->callback_data + renames->callback_data_nr)->mask = mask;
  (renames->callback_data + renames->callback_data_nr)->dirmask = dirmask;
  copy_array((void *)((renames->callback_data + renames->callback_data_nr)->names),
             (void const   *)names___0, (size_t )3, sizeof((renames->callback_data + renames->callback_data_nr)->names[0]) + (sizeof(char [1]) - 1UL));
  (renames->callback_data_nr) ++;
  return ((int )mask);
}
}
static int traverse_trees_wrapper(struct index_state *istate , int n , struct tree_desc *t ,
                                  struct traverse_info *info___0 )
{
  int ret___67 ;
  int i ;
  int old_offset ;
  int (*old_fn)(int n , unsigned long mask , unsigned long dirmask , struct name_entry *entry ,
                struct traverse_info * ) ;
  char *old_callback_data_traverse_path ;
  struct merge_options *opt___0 ;
  struct rename_info *renames ;
  int tmp ;

  {
  opt___0 = (struct merge_options *)info___0->data;
  renames = & (opt___0->priv)->renames;
  if (renames->dir_rename_mask == 2U) {
    tmp = 1;
  } else
  if (renames->dir_rename_mask == 4U) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  assert(tmp);
  old_callback_data_traverse_path = renames->callback_data_traverse_path;
  old_fn = info___0->fn;
  old_offset = renames->callback_data_nr;
  renames->callback_data_traverse_path = (char *)((void *)0);
  info___0->fn = & traverse_trees_wrapper_callback;
  ret___67 = traverse_trees(istate, n, t, info___0);
  if (ret___67 < 0) {
    return (ret___67);
  }
  info___0->traverse_path = (char const   *)renames->callback_data_traverse_path;
  info___0->fn = old_fn;
  i = old_offset;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < renames->callback_data_nr)) {
      goto while_break;
    }
    (*(info___0->fn))(n, (renames->callback_data + i)->mask, (renames->callback_data + i)->dirmask,
                      (renames->callback_data + i)->names, info___0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  renames->callback_data_nr = old_offset;
  free((void *)renames->callback_data_traverse_path);
  renames->callback_data_traverse_path = old_callback_data_traverse_path;
  info___0->traverse_path = (char const   *)((void *)0);
  return (0);
}
}
static void setup_path_info(struct merge_options *opt___0 , struct string_list_item *result___0 ,
                            char const   *current_dir_name , int current_dir_name_len ,
                            char *fullpath , struct name_entry *names___0 , struct name_entry *merged_version ,
                            unsigned int is_null , unsigned int df_conflict , unsigned int filemask ,
                            unsigned int dirmask , int resolved )
{
  struct merged_info *mi ;
  int tmp ;
  int tmp___0 ;
  unsigned long tmp___1 ;
  void *tmp___2 ;
  int i ;
  struct conflict_info *ci ;
  int tmp___3 ;

  {
  if (! is_null) {
    tmp = 1;
  } else
  if (resolved) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  assert(tmp);
  if (! df_conflict) {
    tmp___0 = 1;
  } else
  if (! resolved) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  assert(tmp___0);
  assert(resolved == ((unsigned long )merged_version != (unsigned long )((void *)0)));
  if (resolved) {
    tmp___1 = sizeof(struct merged_info );
  } else {
    tmp___1 = sizeof(struct conflict_info );
  }
  tmp___2 = mem_pool_calloc(& (opt___0->priv)->pool, (size_t )1, tmp___1);
  mi = (struct merged_info *)tmp___2;
  mi->directory_name = current_dir_name;
  mi->basename_offset = (size_t )current_dir_name_len;
  mi->clean = (unsigned int )(! (! resolved));
  if (resolved) {
    mi->result.mode = (unsigned short )merged_version->mode;
    oidcpy(& mi->result.oid, (struct object_id  const  *)(& merged_version->oid));
    mi->is_null = (unsigned int )(! (! is_null));
  } else {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      ci = (struct conflict_info *)mi;
      if (ci) {
        if (! mi->clean) {
          tmp___3 = 1;
        } else {
          tmp___3 = 0;
        }
      } else {
        tmp___3 = 0;
      }
      assert(tmp___3);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i <= 2)) {
        goto while_break___0;
      }
      ci->pathnames[i] = (char const   *)fullpath;
      ci->stages[i].mode = (unsigned short )(names___0 + i)->mode;
      oidcpy(& ci->stages[i].oid, (struct object_id  const  *)(& (names___0 + i)->oid));
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    ci->filemask = filemask;
    ci->dirmask = dirmask;
    ci->df_conflict = (unsigned int )(! (! df_conflict));
    if (dirmask) {
      mi->is_null = 1U;
    }
  }
  strmap_put(& (opt___0->priv)->paths, (char const   *)fullpath, (void *)mi);
  result___0->string = fullpath;
  result___0->util = (void *)mi;
  return;
}
}
static void add_pair(struct merge_options *opt___0 , struct name_entry *names___0 ,
                     char const   *pathname , unsigned int side , unsigned int is_add ,
                     unsigned int match_mask , unsigned int dir_rename_mask )
{
  struct diff_filespec *one___0 ;
  struct diff_filespec *two___0 ;
  struct rename_info *renames ;
  int names_idx ;
  unsigned int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  unsigned int content_relevant ;
  unsigned int location_relevant ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  struct diff_filespec *tmp___6 ;

  {
  renames = & (opt___0->priv)->renames;
  if (is_add) {
    tmp = side;
  } else {
    tmp = 0U;
  }
  names_idx = (int )tmp;
  if (is_add) {
    if (match_mask == 0U) {
      tmp___0 = 1;
    } else
    if (match_mask == 6U) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
    assert(tmp___0);
    tmp___1 = strset_contains(& renames->cached_target_names[side], pathname);
    if (tmp___1) {
      return;
    }
  } else {
    content_relevant = (unsigned int )(match_mask == 0U);
    location_relevant = (unsigned int )(dir_rename_mask == 7U);
    if (match_mask == 0U) {
      tmp___2 = 1;
    } else
    if (match_mask == 3U) {
      tmp___2 = 1;
    } else
    if (match_mask == 5U) {
      tmp___2 = 1;
    } else {
      tmp___2 = 0;
    }
    assert(tmp___2);
    if (content_relevant) {
      strset_remove(& renames->cached_irrelevant[side], pathname);
    }
    if (content_relevant) {
      goto _L;
    } else
    if (location_relevant) {
      _L: /* CIL Label */
      if (content_relevant) {
        tmp___3 = 1;
      } else {
        tmp___3 = 2;
      }
      strintmap_set(& renames->relevant_sources[side], pathname, (intptr_t )tmp___3);
    }
    tmp___4 = strmap_contains(& renames->cached_pairs[side], pathname);
    if (tmp___4) {
      return;
    } else {
      tmp___5 = strset_contains(& renames->cached_irrelevant[side], pathname);
      if (tmp___5) {
        return;
      }
    }
  }
  one___0 = pool_alloc_filespec(& (opt___0->priv)->pool, pathname);
  two___0 = pool_alloc_filespec(& (opt___0->priv)->pool, pathname);
  if (is_add) {
    tmp___6 = two___0;
  } else {
    tmp___6 = one___0;
  }
  fill_filespec(tmp___6, (struct object_id  const  *)(& (names___0 + names_idx)->oid),
                1, (unsigned short )(names___0 + names_idx)->mode);
  pool_diff_queue(& (opt___0->priv)->pool, & renames->pairs[side], one___0, two___0);
  return;
}
}
static void collect_rename_info(struct merge_options *opt___0 , struct name_entry *names___0 ,
                                char const   *dirname___0 , char const   *fullname ,
                                unsigned int filemask , unsigned int dirmask , unsigned int match_mask )
{
  struct rename_info *renames ;
  unsigned int side ;
  int tmp ;
  unsigned int sides ;
  unsigned int relevance ;
  int tmp___0 ;
  unsigned int side___0 ;
  unsigned int side_mask ;

  {
  renames = & (opt___0->priv)->renames;
  if (renames->dir_rename_mask != 7U) {
    if (dirmask == 3U) {
      goto _L;
    } else
    if (dirmask == 5U) {
      _L: /* CIL Label */
      if (renames->dir_rename_mask == 0U) {
        tmp = 1;
      } else
      if (renames->dir_rename_mask == (dirmask & 4294967294U)) {
        tmp = 1;
      } else {
        tmp = 0;
      }
      assert(tmp);
      renames->dir_rename_mask = dirmask & 4294967294U;
    }
  }
  if (dirmask == 1U) {
    goto _L___0;
  } else
  if (dirmask == 3U) {
    goto _L___0;
  } else
  if (dirmask == 5U) {
    _L___0: /* CIL Label */
    sides = (7U - dirmask) / 2U;
    if (renames->dir_rename_mask == 7U) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
    relevance = (unsigned int )tmp___0;
    if (sides & 1U) {
      strintmap_set(& renames->dirs_removed[1], fullname, (intptr_t )relevance);
    }
    if (sides & 2U) {
      strintmap_set(& renames->dirs_removed[2], fullname, (intptr_t )relevance);
    }
  }
  if (renames->dir_rename_mask == 7U) {
    if (filemask == 2U) {
      side___0 = 3U - (filemask >> 1);
      strintmap_set(& renames->dirs_removed[side___0], dirname___0, (intptr_t )2);
    } else
    if (filemask == 4U) {
      side___0 = 3U - (filemask >> 1);
      strintmap_set(& renames->dirs_removed[side___0], dirname___0, (intptr_t )2);
    }
  }
  if (filemask == 0U) {
    return;
  } else
  if (filemask == 7U) {
    return;
  }
  side = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (side <= 2U)) {
      goto while_break;
    }
    side_mask = (unsigned int )(1 << side);
    if (filemask & 1U) {
      if (! (filemask & side_mask)) {
        add_pair(opt___0, names___0, fullname, side, 0U, match_mask & filemask, renames->dir_rename_mask);
      }
    }
    if (! (filemask & 1U)) {
      if (filemask & side_mask) {
        add_pair(opt___0, names___0, fullname, side, 1U, match_mask & filemask, renames->dir_rename_mask);
      }
    }
    side ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int collect_merge_info_callback(int n , unsigned long mask , unsigned long dirmask ,
                                       struct name_entry *names___0 , struct traverse_info *info___0 )
{
  struct merge_options *opt___0 ;
  struct merge_options_internal *opti ;
  struct rename_info *renames ;
  struct string_list_item pi ;
  struct conflict_info *ci ;
  struct name_entry *p___0 ;
  size_t len___0 ;
  char *fullpath ;
  char const   *dirname___0 ;
  unsigned int prev_dir_rename_mask ;
  unsigned int filemask ;
  unsigned int match_mask ;
  unsigned int mbase_null ;
  unsigned int side1_null ;
  unsigned int side2_null ;
  unsigned int side1_matches_mbase ;
  int tmp ;
  int tmp___0 ;
  unsigned int side2_matches_mbase ;
  int tmp___1 ;
  int tmp___2 ;
  unsigned int sides_match ;
  int tmp___3 ;
  int tmp___4 ;
  unsigned int df_conflict ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  void *tmp___11 ;
  int tmp___12 ;
  struct traverse_info newinfo ;
  struct tree_desc t[3] ;
  void *buf___19[3] ;
  char const   *original_dir_name ;
  int i ;
  int ret___67 ;
  int side ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  size_t tmp___16 ;
  struct object_id  const  *oid ;

  {
  opt___0 = (struct merge_options *)info___0->data;
  opti = opt___0->priv;
  renames = & (opt___0->priv)->renames;
  dirname___0 = opti->current_dir_name;
  prev_dir_rename_mask = renames->dir_rename_mask;
  filemask = (unsigned int )(mask & ~ dirmask);
  match_mask = 0U;
  mbase_null = (unsigned int )(! (mask & 1UL));
  side1_null = (unsigned int )(! (mask & 2UL));
  side2_null = (unsigned int )(! (mask & 4UL));
  if (! side1_null) {
    if (! mbase_null) {
      if ((names___0 + 0)->mode == (names___0 + 1)->mode) {
        tmp = oideq((struct object_id  const  *)(& (names___0 + 0)->oid), (struct object_id  const  *)(& (names___0 + 1)->oid));
        if (tmp) {
          tmp___0 = 1;
        } else {
          tmp___0 = 0;
        }
      } else {
        tmp___0 = 0;
      }
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  side1_matches_mbase = (unsigned int )tmp___0;
  if (! side2_null) {
    if (! mbase_null) {
      if ((names___0 + 0)->mode == (names___0 + 2)->mode) {
        tmp___1 = oideq((struct object_id  const  *)(& (names___0 + 0)->oid), (struct object_id  const  *)(& (names___0 + 2)->oid));
        if (tmp___1) {
          tmp___2 = 1;
        } else {
          tmp___2 = 0;
        }
      } else {
        tmp___2 = 0;
      }
    } else {
      tmp___2 = 0;
    }
  } else {
    tmp___2 = 0;
  }
  side2_matches_mbase = (unsigned int )tmp___2;
  if (! side1_null) {
    if (! side2_null) {
      if ((names___0 + 1)->mode == (names___0 + 2)->mode) {
        tmp___3 = oideq((struct object_id  const  *)(& (names___0 + 1)->oid), (struct object_id  const  *)(& (names___0 + 2)->oid));
        if (tmp___3) {
          tmp___4 = 1;
        } else {
          tmp___4 = 0;
        }
      } else {
        tmp___4 = 0;
      }
    } else {
      tmp___4 = 0;
    }
  } else {
    tmp___4 = 0;
  }
  sides_match = (unsigned int )tmp___4;
  if (filemask != 0U) {
    if (dirmask != 0UL) {
      tmp___5 = 1;
    } else {
      tmp___5 = 0;
    }
  } else {
    tmp___5 = 0;
  }
  df_conflict = (unsigned int )tmp___5;
  if (n != 3) {
    BUG_fl((char const   *)"merge-ort.c", 1072, (char const   *)"Called collect_merge_info_callback wrong");
  }
  tmp___6 = is_null_oid((struct object_id  const  *)(& (names___0 + 0)->oid));
  assert(mbase_null == (unsigned int )tmp___6);
  tmp___7 = is_null_oid((struct object_id  const  *)(& (names___0 + 1)->oid));
  assert(side1_null == (unsigned int )tmp___7);
  tmp___8 = is_null_oid((struct object_id  const  *)(& (names___0 + 2)->oid));
  assert(side2_null == (unsigned int )tmp___8);
  if (! mbase_null) {
    tmp___9 = 1;
  } else
  if (! side1_null) {
    tmp___9 = 1;
  } else
  if (! side2_null) {
    tmp___9 = 1;
  } else {
    tmp___9 = 0;
  }
  assert(tmp___9);
  if (mask > 0UL) {
    if (mask < 8UL) {
      tmp___10 = 1;
    } else {
      tmp___10 = 0;
    }
  } else {
    tmp___10 = 0;
  }
  assert(tmp___10);
  if (side1_matches_mbase) {
    if (side2_matches_mbase) {
      match_mask = 7U;
    } else {
      match_mask = 3U;
    }
  } else
  if (side2_matches_mbase) {
    match_mask = 5U;
  } else
  if (sides_match) {
    match_mask = 6U;
  }
  p___0 = names___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (! p___0->mode)) {
      goto while_break;
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  len___0 = traverse_path_len((struct traverse_info  const  *)info___0, (size_t )p___0->pathlen);
  tmp___11 = mem_pool_alloc(& (opt___0->priv)->pool, len___0 + 1UL);
  fullpath = (char *)tmp___11;
  make_traverse_path(fullpath, len___0 + 1UL, (struct traverse_info  const  *)info___0,
                     p___0->path, (size_t )p___0->pathlen);
  if (side1_matches_mbase) {
    if (side2_matches_mbase) {
      setup_path_info(opt___0, & pi, dirname___0, (int )info___0->pathlen, fullpath,
                      names___0, names___0 + 0, mbase_null, 0U, filemask, (unsigned int )dirmask,
                      1);
      return ((int )mask);
    }
  }
  if (sides_match) {
    if (filemask == 7U) {
      setup_path_info(opt___0, & pi, dirname___0, (int )info___0->pathlen, fullpath,
                      names___0, names___0 + 1, side1_null, 0U, filemask, (unsigned int )dirmask,
                      1);
      return ((int )mask);
    }
  }
  if (side1_matches_mbase) {
    if (filemask == 7U) {
      setup_path_info(opt___0, & pi, dirname___0, (int )info___0->pathlen, fullpath,
                      names___0, names___0 + 2, side2_null, 0U, filemask, (unsigned int )dirmask,
                      1);
      return ((int )mask);
    }
  }
  if (side2_matches_mbase) {
    if (filemask == 7U) {
      setup_path_info(opt___0, & pi, dirname___0, (int )info___0->pathlen, fullpath,
                      names___0, names___0 + 1, side1_null, 0U, filemask, (unsigned int )dirmask,
                      1);
      return ((int )mask);
    }
  }
  collect_rename_info(opt___0, names___0, dirname___0, (char const   *)fullpath, filemask,
                      (unsigned int )dirmask, match_mask);
  setup_path_info(opt___0, & pi, dirname___0, (int )info___0->pathlen, fullpath, names___0,
                  (struct name_entry *)((void *)0), 0U, df_conflict, filemask, (unsigned int )dirmask,
                  0);
  ci = (struct conflict_info *)pi.util;
  if (ci) {
    if (! ci->merged.clean) {
      tmp___12 = 1;
    } else {
      tmp___12 = 0;
    }
  } else {
    tmp___12 = 0;
  }
  assert(tmp___12);
  ci->match_mask = match_mask;
  if (dirmask) {
    buf___19[0] = (void *)0;
    buf___19[1] = (void *)0;
    buf___19[2] = (void *)0;
    if (! side1_matches_mbase) {
      tmp___13 = 1;
    } else
    if (! side2_matches_mbase) {
      tmp___13 = 1;
    } else {
      tmp___13 = 0;
    }
    assert(tmp___13);
    if (side1_matches_mbase) {
      side = 2;
    } else {
      if (side2_matches_mbase) {
        tmp___14 = 1;
      } else {
        tmp___14 = 0;
      }
      side = tmp___14;
    }
    if (filemask == 0U) {
      if (dirmask == 2UL) {
        ci->match_mask = (unsigned int )(7UL - dirmask);
        side = (int )(dirmask / 2UL);
      } else
      if (dirmask == 4UL) {
        ci->match_mask = (unsigned int )(7UL - dirmask);
        side = (int )(dirmask / 2UL);
      }
    }
    if (renames->dir_rename_mask != 7U) {
      if (side != 0) {
        if (renames->deferred[side].trivial_merges_okay) {
          tmp___15 = strset_contains(& renames->deferred[side].target_dirs, (char const   *)pi.string);
          if (! tmp___15) {
            strintmap_set(& renames->deferred[side].possible_trivial_merges, (char const   *)pi.string,
                          (intptr_t )renames->dir_rename_mask);
            renames->dir_rename_mask = prev_dir_rename_mask;
            return ((int )mask);
          }
        }
      }
    }
    ci->match_mask &= filemask;
    newinfo = *info___0;
    newinfo.prev = info___0;
    newinfo.name = p___0->path;
    newinfo.namelen = (size_t )p___0->pathlen;
    tmp___16 = st_add(newinfo.pathlen, (size_t )p___0->pathlen);
    newinfo.pathlen = st_add(tmp___16, (size_t )1);
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i <= 2)) {
        goto while_break___0;
      }
      if (i == 1) {
        if (side1_matches_mbase) {
          t[1] = t[0];
        } else {
          goto _L___1;
        }
      } else
      _L___1: /* CIL Label */
      if (i == 2) {
        if (side2_matches_mbase) {
          t[2] = t[0];
        } else {
          goto _L___0;
        }
      } else
      _L___0: /* CIL Label */
      if (i == 2) {
        if (sides_match) {
          t[2] = t[1];
        } else {
          goto _L;
        }
      } else {
        _L: /* CIL Label */
        oid = (struct object_id  const  *)((void *)0);
        if (dirmask & 1UL) {
          oid = (struct object_id  const  *)(& (names___0 + i)->oid);
        }
        buf___19[i] = fill_tree_descriptor(opt___0->repo, t + i, oid);
      }
      dirmask >>= 1;
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    original_dir_name = opti->current_dir_name;
    opti->current_dir_name = (char const   *)pi.string;
    if (renames->dir_rename_mask == 0U) {
      ret___67 = traverse_trees((struct index_state *)((void *)0), 3, t, & newinfo);
    } else
    if (renames->dir_rename_mask == 7U) {
      ret___67 = traverse_trees((struct index_state *)((void *)0), 3, t, & newinfo);
    } else {
      ret___67 = traverse_trees_wrapper((struct index_state *)((void *)0), 3, t, & newinfo);
    }
    opti->current_dir_name = original_dir_name;
    renames->dir_rename_mask = prev_dir_rename_mask;
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i <= 2)) {
        goto while_break___1;
      }
      free(buf___19[i]);
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (ret___67 < 0) {
      return (-1);
    }
  }
  return ((int )mask);
}
}
static void resolve_trivial_directory_merge(struct conflict_info *ci , int side )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (ci) {
    if (! ci->merged.clean) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  assert(tmp);
  if (side == 1) {
    if (ci->match_mask == 5U) {
      tmp___0 = 1;
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (side == 2) {
    if (ci->match_mask == 3U) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  assert(tmp___0);
  oidcpy(& ci->merged.result.oid, (struct object_id  const  *)(& ci->stages[side].oid));
  ci->merged.result.mode = ci->stages[side].mode;
  tmp___1 = is_null_oid((struct object_id  const  *)(& ci->stages[side].oid));
  ci->merged.is_null = (unsigned int )tmp___1;
  ci->match_mask = 0U;
  ci->merged.clean = 1U;
  return;
}
}
static int handle_deferred_entries(struct merge_options *opt___0 , struct traverse_info *info___0 )
{
  struct rename_info *renames ;
  struct hashmap_iter iter___0 ;
  struct strmap_entry *entry ;
  int side ;
  int ret___67 ;
  int path_count_before ;
  int path_count_after ;
  unsigned int tmp ;
  unsigned int optimization_okay ;
  struct strintmap copy___0 ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;
  struct hashmap_entry *tmp___2 ;
  void *tmp___3 ;
  char *rename_target ;
  char *dir ;
  char *dir_marker ;
  struct strmap_entry *e ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  struct hashmap_entry *tmp___7 ;
  void *tmp___8 ;
  struct hashmap_entry *tmp___9 ;
  void *tmp___10 ;
  char const   *path___6 ;
  unsigned int dir_rename_mask ;
  struct conflict_info *ci ;
  unsigned int dirmask ;
  struct tree_desc t[3] ;
  void *buf___19[3] ;
  unsigned int tmp___11 ;
  int i ;
  void *tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  struct object_id  const  *oid ;
  struct hashmap_entry *tmp___15 ;
  void *tmp___16 ;
  struct hashmap_entry *tmp___17 ;
  void *tmp___18 ;
  char const   *path___7 ;
  struct conflict_info *ci___0 ;
  void *tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  unsigned int tmp___23 ;
  int wanted_factor ;

  {
  renames = & (opt___0->priv)->renames;
  ret___67 = 0;
  path_count_after = 0;
  tmp = strmap_get_size(& (opt___0->priv)->paths);
  path_count_before = (int )tmp;
  side = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (side <= 2)) {
      goto while_break;
    }
    optimization_okay = 1U;
    entry = (struct strmap_entry *)((void *)0);
    tmp___0 = hashmap_iter_first(& renames->relevant_sources[side].map.map, & iter___0);
    tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    entry = (struct strmap_entry *)tmp___1;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! entry) {
        goto while_break___0;
      }
      tmp___4 = strset_contains(& renames->cached_irrelevant[side], entry->key);
      if (tmp___4) {
        goto __Cont;
      }
      e = strmap_get_entry(& renames->cached_pairs[side], entry->key);
      if (! e) {
        optimization_okay = 0U;
        goto while_break___0;
      }
      rename_target = (char *)e->value;
      if (! rename_target) {
        goto __Cont;
      }
      tmp___5 = strmap_contains(& (opt___0->priv)->paths, (char const   *)rename_target);
      if (tmp___5) {
        goto __Cont;
      }
      dir = xstrdup((char const   *)rename_target);
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        dir_marker = strrchr((char const   *)dir, '/');
        if (! dir_marker) {
          goto while_break___1;
        }
        *dir_marker = (char )'\000';
        tmp___6 = strset_contains(& renames->deferred[side].target_dirs, (char const   *)dir);
        if (tmp___6) {
          goto while_break___1;
        }
        strset_add(& renames->deferred[side].target_dirs, (char const   *)dir);
      }
      while_break___1: /* CIL Label */ ;
      }
      free((void *)dir);
      __Cont: /* CIL Label */
      tmp___2 = hashmap_iter_next(& iter___0);
      tmp___3 = container_of_or_null_offset((void *)tmp___2, (unsigned long )(& ((struct strmap_entry *)0)->ent));
      entry = (struct strmap_entry *)tmp___3;
    }
    while_break___0: /* CIL Label */ ;
    }
    renames->deferred[side].trivial_merges_okay = optimization_okay;
    copy___0 = renames->deferred[side].possible_trivial_merges;
    strintmap_init_with_options(& renames->deferred[side].possible_trivial_merges,
                                0, & (opt___0->priv)->pool, 0);
    entry = (struct strmap_entry *)((void *)0);
    tmp___7 = hashmap_iter_first(& copy___0.map.map, & iter___0);
    tmp___8 = container_of_or_null_offset((void *)tmp___7, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    entry = (struct strmap_entry *)tmp___8;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! entry) {
        goto while_break___2;
      }
      path___6 = entry->key;
      dir_rename_mask = (unsigned int )((intptr_t )entry->value);
      buf___19[0] = (void *)0;
      tmp___11 = 1U;
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if (tmp___11 >= 3U) {
          goto while_break___3;
        }
        buf___19[tmp___11] = (void *)0;
        tmp___11 ++;
      }
      while_break___3: /* CIL Label */ ;
      }
      tmp___12 = strmap_get(& (opt___0->priv)->paths, path___6);
      ci = (struct conflict_info *)tmp___12;
      if (ci) {
        if (! ci->merged.clean) {
          tmp___13 = 1;
        } else {
          tmp___13 = 0;
        }
      } else {
        tmp___13 = 0;
      }
      assert(tmp___13);
      dirmask = ci->dirmask;
      if (optimization_okay) {
        tmp___14 = strset_contains(& renames->deferred[side].target_dirs, path___6);
        if (! tmp___14) {
          resolve_trivial_directory_merge(ci, side);
          goto __Cont___0;
        }
      }
      info___0->name = path___6;
      info___0->namelen = strlen(path___6);
      info___0->pathlen = info___0->namelen + 1UL;
      i = 0;
      {
      while (1) {
        while_continue___4: /* CIL Label */ ;
        if (! (i < 3)) {
          goto while_break___4;
        }
        if (i == 1) {
          if (ci->match_mask == 3U) {
            t[1] = t[0];
          } else {
            goto _L___1;
          }
        } else
        _L___1: /* CIL Label */
        if (i == 2) {
          if (ci->match_mask == 5U) {
            t[2] = t[0];
          } else {
            goto _L___0;
          }
        } else
        _L___0: /* CIL Label */
        if (i == 2) {
          if (ci->match_mask == 6U) {
            t[2] = t[1];
          } else {
            goto _L;
          }
        } else {
          _L: /* CIL Label */
          oid = (struct object_id  const  *)((void *)0);
          if (dirmask & 1U) {
            oid = (struct object_id  const  *)(& ci->stages[i].oid);
          }
          buf___19[i] = fill_tree_descriptor(opt___0->repo, t + i, oid);
        }
        i ++;
        dirmask >>= 1;
      }
      while_break___4: /* CIL Label */ ;
      }
      ci->match_mask &= ci->filemask;
      (opt___0->priv)->current_dir_name = path___6;
      renames->dir_rename_mask = dir_rename_mask;
      if (renames->dir_rename_mask == 0U) {
        ret___67 = traverse_trees((struct index_state *)((void *)0), 3, t, info___0);
      } else
      if (renames->dir_rename_mask == 7U) {
        ret___67 = traverse_trees((struct index_state *)((void *)0), 3, t, info___0);
      } else {
        ret___67 = traverse_trees_wrapper((struct index_state *)((void *)0), 3, t,
                                          info___0);
      }
      i = 0;
      {
      while (1) {
        while_continue___5: /* CIL Label */ ;
        if (! (i <= 2)) {
          goto while_break___5;
        }
        free(buf___19[i]);
        i ++;
      }
      while_break___5: /* CIL Label */ ;
      }
      if (ret___67 < 0) {
        return (ret___67);
      }
      __Cont___0: /* CIL Label */
      tmp___9 = hashmap_iter_next(& iter___0);
      tmp___10 = container_of_or_null_offset((void *)tmp___9, (unsigned long )(& ((struct strmap_entry *)0)->ent));
      entry = (struct strmap_entry *)tmp___10;
    }
    while_break___2: /* CIL Label */ ;
    }
    strintmap_clear(& copy___0);
    entry = (struct strmap_entry *)((void *)0);
    tmp___15 = hashmap_iter_first(& renames->deferred[side].possible_trivial_merges.map.map,
                                  & iter___0);
    tmp___16 = container_of_or_null_offset((void *)tmp___15, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    entry = (struct strmap_entry *)tmp___16;
    {
    while (1) {
      while_continue___6: /* CIL Label */ ;
      if (! entry) {
        goto while_break___6;
      }
      path___7 = entry->key;
      tmp___19 = strmap_get(& (opt___0->priv)->paths, path___7);
      ci___0 = (struct conflict_info *)tmp___19;
      if (ci___0) {
        if (! ci___0->merged.clean) {
          tmp___20 = 1;
        } else {
          tmp___20 = 0;
        }
      } else {
        tmp___20 = 0;
      }
      assert(tmp___20);
      if (renames->deferred[side].trivial_merges_okay) {
        tmp___21 = strset_contains(& renames->deferred[side].target_dirs, path___7);
        if (tmp___21) {
          tmp___22 = 0;
        } else {
          tmp___22 = 1;
        }
      } else {
        tmp___22 = 0;
      }
      assert(tmp___22);
      resolve_trivial_directory_merge(ci___0, side);
      tmp___17 = hashmap_iter_next(& iter___0);
      tmp___18 = container_of_or_null_offset((void *)tmp___17, (unsigned long )(& ((struct strmap_entry *)0)->ent));
      entry = (struct strmap_entry *)tmp___18;
    }
    while_break___6: /* CIL Label */ ;
    }
    if (! optimization_okay) {
      tmp___23 = strmap_get_size(& (opt___0->priv)->paths);
      path_count_after = (int )tmp___23;
    } else
    if (path_count_after) {
      tmp___23 = strmap_get_size(& (opt___0->priv)->paths);
      path_count_after = (int )tmp___23;
    }
    side ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (path_count_after) {
    wanted_factor = (int )3;
    assert(renames->redo_after_renames == 0U);
    if (path_count_after / path_count_before >= (int )wanted_factor) {
      renames->redo_after_renames = 1U;
      renames->cached_pairs_valid_side = -1;
    }
  } else
  if (renames->redo_after_renames == 2U) {
    renames->redo_after_renames = 0U;
  }
  return (ret___67);
}
}
static int collect_merge_info(struct merge_options *opt___0 , struct tree *merge_base ,
                              struct tree *side1 , struct tree *side2 )
{
  int ret___67 ;
  struct tree_desc t[3] ;
  struct traverse_info info___0 ;

  {
  (opt___0->priv)->toplevel_dir = (char const   *)"";
  (opt___0->priv)->current_dir_name = (opt___0->priv)->toplevel_dir;
  setup_traverse_info(& info___0, (opt___0->priv)->toplevel_dir);
  info___0.fn = & collect_merge_info_callback;
  info___0.data = (void *)opt___0;
  info___0.show_all_errors = 1;
  parse_tree(merge_base);
  parse_tree(side1);
  parse_tree(side2);
  init_tree_desc(t + 0, (void const   *)merge_base->buffer, merge_base->size);
  init_tree_desc(t + 1, (void const   *)side1->buffer, side1->size);
  init_tree_desc(t + 2, (void const   *)side2->buffer, side2->size);
  trace2_region_enter_fl((char const   *)"merge-ort.c", 1481, (char const   *)"merge",
                         (char const   *)"traverse_trees", (struct repository  const  *)opt___0->repo);
  ret___67 = traverse_trees((struct index_state *)((void *)0), 3, t, & info___0);
  if (ret___67 == 0) {
    ret___67 = handle_deferred_entries(opt___0, & info___0);
  }
  trace2_region_leave_fl((char const   *)"merge-ort.c", 1485, (char const   *)"merge",
                         (char const   *)"traverse_trees", (struct repository  const  *)opt___0->repo);
  return (ret___67);
}
}
static int find_first_merges(struct repository *repo , char const   *path___6 , struct commit *a ,
                             struct commit *b___0 , struct object_array *result___0 )
{
  int i ;
  int j ;
  struct object_array merges ;
  struct commit *commit ;
  int contains_another ;
  char merged_revision[66] ;
  char const   *rev_args___0[6] ;
  struct rev_info revs ;
  struct setup_revision_opt rev_opts ;
  char *tmp ;
  int tmp___0 ;
  struct object *o ;
  int tmp___1 ;
  struct commit *m1 ;
  struct commit *m2 ;
  int tmp___2 ;

  {
  merges.nr = 0U;
  merges.alloc = 0U;
  merges.objects = (struct object_array_entry *)0;
  rev_args___0[0] = (char const   *)"rev-list";
  rev_args___0[1] = (char const   *)"--merges";
  rev_args___0[2] = (char const   *)"--ancestry-path";
  rev_args___0[3] = (char const   *)"--all";
  rev_args___0[4] = (char const   *)(merged_revision);
  rev_args___0[5] = (char const   *)((void *)0);
  memset((void *)result___0, 0, sizeof(struct object_array ));
  memset((void *)(& rev_opts), 0, sizeof(rev_opts));
  tmp = oid_to_hex((struct object_id  const  *)(& a->object.oid));
  xsnprintf(merged_revision, sizeof(merged_revision), (char const   *)"^%s", tmp);
  repo_init_revisions(repo, & revs, (char const   *)((void *)0));
  revs.single_worktree = (unsigned int )((unsigned long )path___6 != (unsigned long )((void *)0));
  setup_revisions((int )((sizeof(rev_args___0) / sizeof(rev_args___0[0]) + (sizeof(char [1]) - 1UL)) - 1UL),
                  rev_args___0, & revs, & rev_opts);
  tmp___0 = prepare_revision_walk(& revs);
  if (tmp___0) {
    die((char const   *)"revision walk setup failed");
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    commit = get_revision(& revs);
    if (! ((unsigned long )commit != (unsigned long )((void *)0))) {
      goto while_break;
    }
    o = & commit->object;
    tmp___1 = repo_in_merge_bases(repo, b___0, commit);
    if (tmp___1) {
      add_object_array(o, (char const   *)((void *)0), & merges);
    }
  }
  while_break: /* CIL Label */ ;
  }
  reset_revision_walk();
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < merges.nr)) {
      goto while_break___0;
    }
    m1 = (struct commit *)(merges.objects + i)->item;
    contains_another = 0;
    j = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((unsigned int )j < merges.nr)) {
        goto while_break___1;
      }
      m2 = (struct commit *)(merges.objects + j)->item;
      if (i != j) {
        tmp___2 = repo_in_merge_bases(repo, m2, m1);
        if (tmp___2) {
          contains_another = 1;
          goto while_break___1;
        }
      }
      j ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (! contains_another) {
      add_object_array((merges.objects + i)->item, (char const   *)((void *)0), result___0);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  object_array_clear(& merges);
  return ((int )result___0->nr);
}
}
static int merge_submodule(struct merge_options *opt___0 , char const   *path___6 ,
                           struct object_id  const  *o , struct object_id  const  *a ,
                           struct object_id  const  *b___0 , struct object_id *result___0 )
{
  struct repository subrepo ;
  struct strbuf sb___6 ;
  int ret___67 ;
  struct commit *commit_o ;
  struct commit *commit_a ;
  struct commit *commit_b ;
  int parent_count ;
  struct object_array merges ;
  int i ;
  int search ;
  struct object_id  const  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  struct object_id  const  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  char *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  char *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  char *tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  ret___67 = 0;
  search = ! (opt___0->priv)->call_depth;
  if ((opt___0->priv)->call_depth) {
    tmp = o;
  } else {
    tmp = a;
  }
  oidcpy(result___0, tmp);
  tmp___0 = is_null_oid(o);
  if (tmp___0) {
    return (0);
  }
  tmp___1 = is_null_oid(a);
  if (tmp___1) {
    return (0);
  }
  tmp___2 = is_null_oid(b___0);
  if (tmp___2) {
    return (0);
  }
  tmp___4 = null_oid();
  tmp___5 = repo_submodule_init(& subrepo, opt___0->repo, path___6, tmp___4);
  if (tmp___5) {
    tmp___3 = _((char const   *)"Failed to merge submodule %s (not checked out)");
    path_msg(opt___0, path___6, 0, (char const   *)tmp___3, path___6);
    return (0);
  }
  commit_o = lookup_commit_reference(& subrepo, o);
  if (commit_o) {
    commit_a = lookup_commit_reference(& subrepo, a);
    if (commit_a) {
      commit_b = lookup_commit_reference(& subrepo, b___0);
      if (! commit_b) {
        tmp___6 = _((char const   *)"Failed to merge submodule %s (commits not present)");
        path_msg(opt___0, path___6, 0, (char const   *)tmp___6, path___6);
        goto cleanup;
      }
    } else {
      tmp___6 = _((char const   *)"Failed to merge submodule %s (commits not present)");
      path_msg(opt___0, path___6, 0, (char const   *)tmp___6, path___6);
      goto cleanup;
    }
  } else {
    tmp___6 = _((char const   *)"Failed to merge submodule %s (commits not present)");
    path_msg(opt___0, path___6, 0, (char const   *)tmp___6, path___6);
    goto cleanup;
  }
  tmp___8 = repo_in_merge_bases(& subrepo, commit_o, commit_a);
  if (tmp___8) {
    tmp___9 = repo_in_merge_bases(& subrepo, commit_o, commit_b);
    if (! tmp___9) {
      tmp___7 = _((char const   *)"Failed to merge submodule %s (commits don\'t follow merge-base)");
      path_msg(opt___0, path___6, 0, (char const   *)tmp___7, path___6);
      goto cleanup;
    }
  } else {
    tmp___7 = _((char const   *)"Failed to merge submodule %s (commits don\'t follow merge-base)");
    path_msg(opt___0, path___6, 0, (char const   *)tmp___7, path___6);
    goto cleanup;
  }
  tmp___12 = repo_in_merge_bases(& subrepo, commit_a, commit_b);
  if (tmp___12) {
    oidcpy(result___0, b___0);
    tmp___10 = oid_to_hex(b___0);
    tmp___11 = _((char const   *)"Note: Fast-forwarding submodule %s to %s");
    path_msg(opt___0, path___6, 1, (char const   *)tmp___11, path___6, tmp___10);
    ret___67 = 1;
    goto cleanup;
  }
  tmp___15 = repo_in_merge_bases(& subrepo, commit_b, commit_a);
  if (tmp___15) {
    oidcpy(result___0, a);
    tmp___13 = oid_to_hex(a);
    tmp___14 = _((char const   *)"Note: Fast-forwarding submodule %s to %s");
    path_msg(opt___0, path___6, 1, (char const   *)tmp___14, path___6, tmp___13);
    ret___67 = 1;
    goto cleanup;
  }
  if (! search) {
    goto cleanup;
  }
  parent_count = find_first_merges(& subrepo, path___6, commit_a, commit_b, & merges);
  {
  if (parent_count == 0) {
    goto case_0;
  }
  if (parent_count == 1) {
    goto case_1;
  }
  goto switch_default;
  case_0: /* CIL Label */
  tmp___16 = _((char const   *)"Failed to merge submodule %s");
  path_msg(opt___0, path___6, 0, (char const   *)tmp___16, path___6);
  goto switch_break;
  case_1: /* CIL Label */
  format_commit(& sb___6, 4, & subrepo, (struct commit *)(merges.objects + 0)->item);
  tmp___17 = _((char const   *)"Failed to merge submodule %s, but a possible merge resolution exists:\n%s\n");
  path_msg(opt___0, path___6, 0, (char const   *)tmp___17, path___6, sb___6.buf);
  tmp___18 = oid_to_hex((struct object_id  const  *)(& ((merges.objects + 0)->item)->oid));
  tmp___19 = _((char const   *)"If this is correct simply add it to the index for example\nby using:\n\n  git update-index --cacheinfo 160000 %s \"%s\"\n\nwhich will accept this suggestion.\n");
  path_msg(opt___0, path___6, 1, (char const   *)tmp___19, tmp___18, path___6);
  strbuf_release(& sb___6);
  goto switch_break;
  switch_default: /* CIL Label */
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < merges.nr)) {
      goto while_break;
    }
    format_commit(& sb___6, 4, & subrepo, (struct commit *)(merges.objects + i)->item);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___20 = _((char const   *)"Failed to merge submodule %s, but multiple possible merges exist:\n%s");
  path_msg(opt___0, path___6, 0, (char const   *)tmp___20, path___6, sb___6.buf);
  strbuf_release(& sb___6);
  switch_break: /* CIL Label */ ;
  }
  object_array_clear(& merges);
  cleanup:
  repo_clear(& subrepo);
  return (ret___67);
}
}
static void initialize_attr_index(struct merge_options *opt___0 )
{
  struct merged_info *mi ;
  struct index_state *attr_index ;
  struct cache_entry *ce ;
  void *tmp ;
  int len___0 ;
  size_t tmp___0 ;
  int stage ;
  int len___1 ;
  struct conflict_info *ci ;
  int tmp___1 ;
  unsigned int stage_mask ;
  size_t tmp___2 ;

  {
  attr_index = & (opt___0->priv)->attr_index;
  attr_index->initialized = 1U;
  if (! opt___0->renormalize) {
    return;
  }
  tmp = strmap_get(& (opt___0->priv)->paths, (char const   *)".gitattributes");
  mi = (struct merged_info *)tmp;
  if (! mi) {
    return;
  }
  if (mi->clean) {
    tmp___0 = strlen((char const   *)".gitattributes");
    len___0 = (int )tmp___0;
    ce = make_empty_cache_entry(attr_index, (size_t )len___0);
    ce->ce_mode = create_ce_mode((unsigned int )mi->result.mode);
    ce->ce_flags = create_ce_flags(0U);
    ce->ce_namelen = (unsigned int )len___0;
    oidcpy(& ce->oid, (struct object_id  const  *)(& mi->result.oid));
    memcpy((void *)(ce->name), (void const   *)".gitattributes", (size_t )len___0);
    add_index_entry(attr_index, ce, 3);
    get_stream_filter(attr_index, (char const   *)".gitattributes", (struct object_id  const  *)(& ce->oid));
  } else {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      ci = (struct conflict_info *)mi;
      if (ci) {
        if (! mi->clean) {
          tmp___1 = 1;
        } else {
          tmp___1 = 0;
        }
      } else {
        tmp___1 = 0;
      }
      assert(tmp___1);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    stage = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (stage < 3)) {
        goto while_break___0;
      }
      stage_mask = (unsigned int )(1 << stage);
      if (! (ci->filemask & stage_mask)) {
        goto __Cont;
      }
      tmp___2 = strlen((char const   *)".gitattributes");
      len___1 = (int )tmp___2;
      ce = make_empty_cache_entry(attr_index, (size_t )len___1);
      ce->ce_mode = create_ce_mode((unsigned int )ci->stages[stage].mode);
      ce->ce_flags = create_ce_flags((unsigned int )stage);
      ce->ce_namelen = (unsigned int )len___1;
      oidcpy(& ce->oid, (struct object_id  const  *)(& ci->stages[stage].oid));
      memcpy((void *)(ce->name), (void const   *)".gitattributes", (size_t )len___1);
      add_index_entry(attr_index, ce, 3);
      get_stream_filter(attr_index, (char const   *)".gitattributes", (struct object_id  const  *)(& ce->oid));
      __Cont: /* CIL Label */
      stage ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  return;
}
}
static int merge_3way(struct merge_options *opt___0 , char const   *path___6 , struct object_id  const  *o ,
                      struct object_id  const  *a , struct object_id  const  *b___0 ,
                      char const   **pathnames , int const   extra_marker_size , mmbuffer_t *result_buf )
{
  mmfile_t orig ;
  mmfile_t src1 ;
  mmfile_t src2 ;
  struct ll_merge_options ll_opts ;
  char *base ;
  char *name1 ;
  char *name2 ;
  int merge_status ;
  int tmp ;

  {
  ll_opts.virtual_ancestor = 0U;
  ll_opts.variant = 0U;
  ll_opts.renormalize = 0U;
  ll_opts.extra_marker_size = 0U;
  ll_opts.xdl_opts = 0L;
  if (! (opt___0->priv)->attr_index.initialized) {
    initialize_attr_index(opt___0);
  }
  ll_opts.renormalize = opt___0->renormalize;
  ll_opts.extra_marker_size = (unsigned int )extra_marker_size;
  ll_opts.xdl_opts = opt___0->xdl_opts;
  if ((opt___0->priv)->call_depth) {
    ll_opts.virtual_ancestor = 1U;
    ll_opts.variant = 0U;
  } else {
    {
    if ((unsigned int )opt___0->recursive_variant == 1U) {
      goto case_1;
    }
    if ((unsigned int )opt___0->recursive_variant == 2U) {
      goto case_2;
    }
    goto switch_default;
    case_1: /* CIL Label */
    ll_opts.variant = 1U;
    goto switch_break;
    case_2: /* CIL Label */
    ll_opts.variant = 2U;
    goto switch_break;
    switch_default: /* CIL Label */
    ll_opts.variant = 0U;
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
  }
  if (*(pathnames + 0)) {
    if (*(pathnames + 1)) {
      if (*(pathnames + 2)) {
        if (opt___0->ancestor) {
          tmp = 1;
        } else {
          tmp = 0;
        }
      } else {
        tmp = 0;
      }
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  assert(tmp);
  if ((unsigned long )*(pathnames + 0) == (unsigned long )*(pathnames + 1)) {
    if ((unsigned long )*(pathnames + 1) == (unsigned long )*(pathnames + 2)) {
      base = mkpathdup((char const   *)"%s", opt___0->ancestor);
      name1 = mkpathdup((char const   *)"%s", opt___0->branch1);
      name2 = mkpathdup((char const   *)"%s", opt___0->branch2);
    } else {
      base = mkpathdup((char const   *)"%s:%s", opt___0->ancestor, *(pathnames + 0));
      name1 = mkpathdup((char const   *)"%s:%s", opt___0->branch1, *(pathnames + 1));
      name2 = mkpathdup((char const   *)"%s:%s", opt___0->branch2, *(pathnames + 2));
    }
  } else {
    base = mkpathdup((char const   *)"%s:%s", opt___0->ancestor, *(pathnames + 0));
    name1 = mkpathdup((char const   *)"%s:%s", opt___0->branch1, *(pathnames + 1));
    name2 = mkpathdup((char const   *)"%s:%s", opt___0->branch2, *(pathnames + 2));
  }
  read_mmblob(& orig, o);
  read_mmblob(& src1, a);
  read_mmblob(& src2, b___0);
  merge_status = ll_merge(result_buf, path___6, & orig, (char const   *)base, & src1,
                          (char const   *)name1, & src2, (char const   *)name2, & (opt___0->priv)->attr_index,
                          (struct ll_merge_options  const  *)(& ll_opts));
  free((void *)base);
  free((void *)name1);
  free((void *)name2);
  free((void *)orig.ptr);
  free((void *)src1.ptr);
  free((void *)src2.ptr);
  return (merge_status);
}
}
static int handle_content_merge(struct merge_options *opt___0 , char const   *path___6 ,
                                struct version_info  const  *o , struct version_info  const  *a ,
                                struct version_info  const  *b___0 , char const   **pathnames ,
                                int const   extra_marker_size , struct version_info *result___0 )
{
  unsigned int clean ;
  mmbuffer_t result_buf ;
  int ret___67 ;
  int merge_status ;
  int two_way ;
  struct object_id  const  *tmp ;
  struct object_id  const  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int two_way___0 ;
  struct object_id  const  *tmp___5 ;
  struct object_id  const  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  clean = 1U;
  assert((0170000 & (int )a->mode) == (0170000 & (int )b___0->mode));
  if ((int )a->mode == (int )b___0->mode) {
    result___0->mode = (unsigned short )b___0->mode;
  } else
  if ((int )a->mode == (int )o->mode) {
    result___0->mode = (unsigned short )b___0->mode;
  } else {
    assert(((int )a->mode & 61440) == 32768);
    result___0->mode = (unsigned short )a->mode;
    clean = (unsigned int )((int )b___0->mode == (int )o->mode);
  }
  tmp___9 = oideq((struct object_id  const  *)(& a->oid), (struct object_id  const  *)(& b___0->oid));
  if (tmp___9) {
    oidcpy(& result___0->oid, (struct object_id  const  *)(& b___0->oid));
  } else {
    tmp___10 = oideq((struct object_id  const  *)(& a->oid), (struct object_id  const  *)(& o->oid));
    if (tmp___10) {
      oidcpy(& result___0->oid, (struct object_id  const  *)(& b___0->oid));
    } else {
      tmp___8 = oideq((struct object_id  const  *)(& b___0->oid), (struct object_id  const  *)(& o->oid));
      if (tmp___8) {
        oidcpy(& result___0->oid, (struct object_id  const  *)(& a->oid));
      } else
      if (((int )a->mode & 61440) == 32768) {
        ret___67 = 0;
        two_way = (0170000 & (int )o->mode) != (0170000 & (int )a->mode);
        if (two_way) {
          tmp = null_oid();
          tmp___0 = tmp;
        } else {
          tmp___0 = (struct object_id  const  *)(& o->oid);
        }
        merge_status = merge_3way(opt___0, path___6, tmp___0, (struct object_id  const  *)(& a->oid),
                                  (struct object_id  const  *)(& b___0->oid), pathnames,
                                  extra_marker_size, & result_buf);
        if (merge_status < 0) {
          tmp___1 = _((char const   *)"Failed to execute internal merge");
          ret___67 = err___1(opt___0, (char const   *)tmp___1);
        } else
        if (! result_buf.ptr) {
          tmp___1 = _((char const   *)"Failed to execute internal merge");
          ret___67 = err___1(opt___0, (char const   *)tmp___1);
        }
        if (! ret___67) {
          tmp___3 = write_object_file((void const   *)result_buf.ptr, (unsigned long )result_buf.size,
                                      blob_type, & result___0->oid);
          if (tmp___3) {
            tmp___2 = _((char const   *)"Unable to add %s to database");
            ret___67 = err___1(opt___0, (char const   *)tmp___2, path___6);
          }
        }
        free((void *)result_buf.ptr);
        if (ret___67) {
          return (-1);
        }
        clean &= (unsigned int )(merge_status == 0);
        tmp___4 = _((char const   *)"Auto-merging %s");
        path_msg(opt___0, path___6, 1, (char const   *)tmp___4, path___6);
      } else
      if (((int )a->mode & 61440) == 57344) {
        two_way___0 = (0170000 & (int )o->mode) != (0170000 & (int )a->mode);
        if (two_way___0) {
          tmp___5 = null_oid();
          tmp___6 = tmp___5;
        } else {
          tmp___6 = (struct object_id  const  *)(& o->oid);
        }
        tmp___7 = merge_submodule(opt___0, *(pathnames + 0), tmp___6, (struct object_id  const  *)(& a->oid),
                                  (struct object_id  const  *)(& b___0->oid), & result___0->oid);
        clean = (unsigned int )tmp___7;
        if ((opt___0->priv)->call_depth) {
          if (two_way___0) {
            if (! clean) {
              result___0->mode = (unsigned short )o->mode;
              oidcpy(& result___0->oid, (struct object_id  const  *)(& o->oid));
            }
          }
        }
      } else
      if (((int )a->mode & 61440) == 40960) {
        if ((opt___0->priv)->call_depth) {
          clean = 0U;
          result___0->mode = (unsigned short )o->mode;
          oidcpy(& result___0->oid, (struct object_id  const  *)(& o->oid));
        } else {
          {
          if ((unsigned int )opt___0->recursive_variant == 0U) {
            goto case_0;
          }
          if ((unsigned int )opt___0->recursive_variant == 1U) {
            goto case_1;
          }
          if ((unsigned int )opt___0->recursive_variant == 2U) {
            goto case_2;
          }
          goto switch_break;
          case_0: /* CIL Label */
          clean = 0U;
          oidcpy(& result___0->oid, (struct object_id  const  *)(& a->oid));
          goto switch_break;
          case_1: /* CIL Label */
          oidcpy(& result___0->oid, (struct object_id  const  *)(& a->oid));
          goto switch_break;
          case_2: /* CIL Label */
          oidcpy(& result___0->oid, (struct object_id  const  *)(& b___0->oid));
          goto switch_break;
          switch_break: /* CIL Label */ ;
          }
        }
      } else {
        BUG_fl((char const   *)"merge-ort.c", 1930, (char const   *)"unsupported object type in the tree: %06o for %s",
               (int )a->mode, path___6);
      }
    }
  }
  return ((int )clean);
}
}
static char *apply_dir_rename(struct strmap_entry *rename_info , char const   *old_path )
{
  struct strbuf new_path___0 ;
  char const   *old_dir ;
  char const   *new_dir ;
  int oldlen ;
  int newlen ;
  int new_dir_len ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  char *tmp___2 ;

  {
  new_path___0.alloc = 0UL;
  new_path___0.len = 0UL;
  new_path___0.buf = strbuf_slopbuf;
  old_dir = rename_info->key;
  new_dir = (char const   *)rename_info->value;
  tmp = strlen(old_dir);
  oldlen = (int )tmp;
  if ((int const   )*new_dir == 0) {
    oldlen ++;
  }
  tmp___0 = strlen(new_dir);
  new_dir_len = (int )tmp___0;
  tmp___1 = strlen(old_path);
  newlen = (int )(((size_t )new_dir_len + (tmp___1 - (size_t )oldlen)) + 1UL);
  strbuf_grow(& new_path___0, (size_t )newlen);
  strbuf_add(& new_path___0, (void const   *)new_dir, (size_t )new_dir_len);
  strbuf_addstr(& new_path___0, old_path + oldlen);
  tmp___2 = strbuf_detach(& new_path___0, (size_t *)((void *)0));
  return (tmp___2);
}
}
static int path_in_way(struct strmap *paths___0 , char const   *path___6 , unsigned int side_mask )
{
  struct merged_info *mi ;
  void *tmp ;
  struct conflict_info *ci ;
  int tmp___0 ;

  {
  tmp = strmap_get(paths___0, path___6);
  mi = (struct merged_info *)tmp;
  if (! mi) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! mi) {
      ci = (struct conflict_info *)((void *)0);
    } else
    if (mi->clean) {
      ci = (struct conflict_info *)((void *)0);
    } else {
      ci = (struct conflict_info *)mi;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (mi->clean) {
    tmp___0 = 1;
  } else
  if (side_mask & (ci->filemask | ci->dirmask)) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static char *handle_path_level_conflicts(struct merge_options *opt___0 , char const   *path___6 ,
                                         unsigned int side_index , struct strmap_entry *rename_info ,
                                         struct strmap *collisions )
{
  char *new_path___0 ;
  struct collision_info *c_info ;
  int clean ;
  struct strbuf collision_paths ;
  void *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  new_path___0 = (char *)((void *)0);
  clean = 1;
  collision_paths.alloc = 0UL;
  collision_paths.len = 0UL;
  collision_paths.buf = strbuf_slopbuf;
  new_path___0 = apply_dir_rename(rename_info, path___6);
  if (! new_path___0) {
    BUG_fl((char const   *)"merge-ort.c", 2013, (char const   *)"Failed to apply directory rename!");
  }
  tmp = strmap_get(collisions, (char const   *)new_path___0);
  c_info = (struct collision_info *)tmp;
  if ((unsigned long )c_info == (unsigned long )((void *)0)) {
    BUG_fl((char const   *)"merge-ort.c", 2022, (char const   *)"c_info is NULL");
  }
  if (c_info->reported_already) {
    clean = 0;
  } else {
    tmp___2 = path_in_way(& (opt___0->priv)->paths, (char const   *)new_path___0,
                          (unsigned int )(1 << side_index));
    if (tmp___2) {
      c_info->reported_already = 1U;
      strbuf_add_separated_string_list(& collision_paths, (char const   *)", ", & c_info->source_files);
      tmp___0 = _((char const   *)"CONFLICT (implicit dir rename): Existing file/dir at %s in the way of implicit directory rename(s) putting the following path(s) there: %s.");
      path_msg(opt___0, (char const   *)new_path___0, 0, (char const   *)tmp___0,
               new_path___0, collision_paths.buf);
      clean = 0;
    } else
    if (c_info->source_files.nr > 1U) {
      c_info->reported_already = 1U;
      strbuf_add_separated_string_list(& collision_paths, (char const   *)", ", & c_info->source_files);
      tmp___1 = _((char const   *)"CONFLICT (implicit dir rename): Cannot map more than one path to %s; implicit directory renames tried to put these paths there: %s");
      path_msg(opt___0, (char const   *)new_path___0, 0, (char const   *)tmp___1,
               new_path___0, collision_paths.buf);
      clean = 0;
    }
  }
  strbuf_release(& collision_paths);
  if (! clean) {
    if (new_path___0) {
      free((void *)new_path___0);
      return ((char *)((void *)0));
    }
  }
  return (new_path___0);
}
}
static void get_provisional_directory_renames(struct merge_options *opt___0 , unsigned int side ,
                                              int *clean )
{
  struct hashmap_iter iter___0 ;
  struct strmap_entry *entry ;
  struct rename_info *renames ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;
  char const   *source_dir ;
  struct strintmap *counts ;
  struct hashmap_iter count_iter ;
  struct strmap_entry *count_entry ;
  int max ;
  int bad_max ;
  char const   *best ;
  struct hashmap_entry *tmp___3 ;
  void *tmp___4 ;
  struct hashmap_entry *tmp___5 ;
  void *tmp___6 ;
  char const   *target_dir ;
  intptr_t count___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;

  {
  renames = & (opt___0->priv)->renames;
  entry = (struct strmap_entry *)((void *)0);
  tmp = hashmap_iter_first(& renames->dir_rename_count[side].map, & iter___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  entry = (struct strmap_entry *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! entry) {
      goto while_break;
    }
    source_dir = entry->key;
    counts = (struct strintmap *)entry->value;
    max = 0;
    bad_max = 0;
    best = (char const   *)((void *)0);
    count_entry = (struct strmap_entry *)((void *)0);
    tmp___3 = hashmap_iter_first(& counts->map.map, & count_iter);
    tmp___4 = container_of_or_null_offset((void *)tmp___3, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    count_entry = (struct strmap_entry *)tmp___4;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! count_entry) {
        goto while_break___0;
      }
      target_dir = count_entry->key;
      count___0 = (intptr_t )count_entry->value;
      if (count___0 == (intptr_t )max) {
        bad_max = max;
      } else
      if (count___0 > (intptr_t )max) {
        max = (int )count___0;
        best = target_dir;
      }
      tmp___5 = hashmap_iter_next(& count_iter);
      tmp___6 = container_of_or_null_offset((void *)tmp___5, (unsigned long )(& ((struct strmap_entry *)0)->ent));
      count_entry = (struct strmap_entry *)tmp___6;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (max == 0) {
      goto __Cont;
    }
    if (bad_max == max) {
      tmp___7 = _((char const   *)"CONFLICT (directory rename split): Unclear where to rename %s to; it was renamed to multiple other directories, with no destination getting a majority of the files.");
      path_msg(opt___0, source_dir, 0, (char const   *)tmp___7, source_dir);
      *clean = 0;
    } else {
      strmap_put(& renames->dir_renames[side], source_dir, (void *)best);
    }
    __Cont: /* CIL Label */
    tmp___1 = hashmap_iter_next(& iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    entry = (struct strmap_entry *)tmp___2;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void handle_directory_level_conflicts(struct merge_options *opt___0 )
{
  struct hashmap_iter iter___0 ;
  struct strmap_entry *entry ;
  struct string_list duplicated ;
  struct rename_info *renames ;
  struct strmap *side1_dir_renames ;
  struct strmap *side2_dir_renames ;
  int i ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;
  int tmp___3 ;

  {
  duplicated.items = (struct string_list_item *)0;
  duplicated.nr = 0U;
  duplicated.alloc = 0U;
  duplicated.strdup_strings = 0U;
  duplicated.cmp = (int (*)(char const   * , char const   * ))0;
  renames = & (opt___0->priv)->renames;
  side1_dir_renames = & renames->dir_renames[1];
  side2_dir_renames = & renames->dir_renames[2];
  entry = (struct strmap_entry *)((void *)0);
  tmp = hashmap_iter_first(& side1_dir_renames->map, & iter___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  entry = (struct strmap_entry *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! entry) {
      goto while_break;
    }
    tmp___3 = strmap_contains(side2_dir_renames, entry->key);
    if (tmp___3) {
      string_list_append(& duplicated, entry->key);
    }
    tmp___1 = hashmap_iter_next(& iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    entry = (struct strmap_entry *)tmp___2;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < duplicated.nr)) {
      goto while_break___0;
    }
    strmap_remove(side1_dir_renames, (char const   *)(duplicated.items + i)->string,
                  0);
    strmap_remove(side2_dir_renames, (char const   *)(duplicated.items + i)->string,
                  0);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  string_list_clear(& duplicated, 0);
  return;
}
}
static struct strmap_entry *check_dir_renamed(char const   *path___6 , struct strmap *dir_renames )
{
  char *temp ;
  char *tmp ;
  char *end ;
  struct strmap_entry *e ;

  {
  tmp = xstrdup(path___6);
  temp = tmp;
  e = (struct strmap_entry *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    end = strrchr((char const   *)temp, '/');
    if (! end) {
      goto while_break;
    }
    *end = (char )'\000';
    e = strmap_get_entry(dir_renames, (char const   *)temp);
    if (e) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)temp);
  return (e);
}
}
static void compute_collisions(struct strmap *collisions , struct strmap *dir_renames ,
                               struct diff_queue_struct *pairs )
{
  int i ;
  int tmp ;
  struct strmap_entry *rename_info ;
  struct collision_info *collision_info ;
  char *new_path___0 ;
  struct diff_filepair *pair ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  strmap_init_with_options(collisions, (struct mem_pool *)((void *)0), 0);
  tmp = strmap_empty(dir_renames);
  if (tmp) {
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < pairs->nr)) {
      goto while_break;
    }
    pair = *(pairs->queue + i);
    if ((int )pair->status != 65) {
      if ((int )pair->status != 82) {
        goto __Cont;
      }
    }
    rename_info = check_dir_renamed((char const   *)(pair->two)->path, dir_renames);
    if (! rename_info) {
      goto __Cont;
    }
    new_path___0 = apply_dir_rename(rename_info, (char const   *)(pair->two)->path);
    assert((int )new_path___0);
    tmp___0 = strmap_get(collisions, (char const   *)new_path___0);
    collision_info = (struct collision_info *)tmp___0;
    if (collision_info) {
      free((void *)new_path___0);
    } else {
      tmp___1 = xcalloc((size_t )1, sizeof(*collision_info));
      collision_info = (struct collision_info *)tmp___1;
      string_list_init_nodup(& collision_info->source_files);
      strmap_put(collisions, (char const   *)new_path___0, (void *)collision_info);
    }
    string_list_insert(& collision_info->source_files, (char const   *)(pair->two)->path);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static char *check_for_directory_rename(struct merge_options *opt___0 , char const   *path___6 ,
                                        unsigned int side_index , struct strmap *dir_renames ,
                                        struct strmap *dir_rename_exclusions , struct strmap *collisions ,
                                        int *clean_merge )
{
  char *new_path___0 ;
  struct strmap_entry *rename_info ;
  struct strmap_entry *otherinfo ;
  char const   *new_dir ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  new_path___0 = (char *)((void *)0);
  otherinfo = (struct strmap_entry *)((void *)0);
  tmp = strmap_empty(dir_renames);
  if (tmp) {
    return (new_path___0);
  }
  rename_info = check_dir_renamed(path___6, dir_renames);
  if (! rename_info) {
    return (new_path___0);
  }
  new_dir = (char const   *)rename_info->value;
  otherinfo = strmap_get_entry(dir_rename_exclusions, new_dir);
  if (otherinfo) {
    tmp___0 = _((char const   *)"WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was renamed.");
    path_msg(opt___0, rename_info->key, 1, (char const   *)tmp___0, rename_info->key,
             new_dir, path___6, new_dir);
    return ((char *)((void *)0));
  }
  new_path___0 = handle_path_level_conflicts(opt___0, path___6, side_index, rename_info,
                                             collisions);
  *clean_merge &= (unsigned long )new_path___0 != (unsigned long )((void *)0);
  return (new_path___0);
}
}
static void apply_directory_rename_modifications(struct merge_options *opt___0 , struct diff_filepair *pair ,
                                                 char *new_path___0 )
{
  struct string_list dirs_to_insert ;
  struct conflict_info *ci ;
  struct conflict_info *new_ci ;
  struct strmap_entry *entry ;
  char const   *branch_with_new_path ;
  char const   *branch_with_dir_rename ;
  char const   *old_path ;
  char const   *parent_name ;
  char const   *cur_path ;
  int i ;
  int len___0 ;
  int tmp ;
  char *tmp___0 ;
  char *last_slash ;
  char *tmp___1 ;
  char *tmp___2 ;
  struct conflict_info *dir_ci ;
  char *cur_dir ;
  void *tmp___3 ;
  size_t tmp___4 ;
  int tmp___5 ;
  size_t tmp___6 ;
  void *tmp___7 ;
  int index___2 ;
  int tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;

  {
  dirs_to_insert.items = (struct string_list_item *)0;
  dirs_to_insert.nr = 0U;
  dirs_to_insert.alloc = 0U;
  dirs_to_insert.strdup_strings = 0U;
  dirs_to_insert.cmp = (int (*)(char const   * , char const   * ))0;
  old_path = (char const   *)(pair->two)->path;
  entry = strmap_get_entry(& (opt___0->priv)->paths, old_path);
  old_path = entry->key;
  ci = (struct conflict_info *)entry->value;
  if (ci) {
    if (! ci->merged.clean) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  assert(tmp);
  tmp___0 = mem_pool_strdup(& (opt___0->priv)->pool, (char const   *)new_path___0);
  cur_path = (char const   *)tmp___0;
  free((void *)new_path___0);
  new_path___0 = (char *)cur_path;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = strrchr(cur_path, '/');
    last_slash = tmp___1;
    if (last_slash) {
      tmp___2 = mem_pool_strndup(& (opt___0->priv)->pool, cur_path, (size_t )(last_slash - (char *)cur_path));
      parent_name = (char const   *)tmp___2;
    } else {
      parent_name = (opt___0->priv)->toplevel_dir;
      goto while_break;
    }
    entry = strmap_get_entry(& (opt___0->priv)->paths, parent_name);
    if (entry) {
      parent_name = entry->key;
      goto while_break;
    }
    string_list_append(& dirs_to_insert, parent_name);
    cur_path = parent_name;
  }
  while_break: /* CIL Label */ ;
  }
  i = (int )(dirs_to_insert.nr - 1U);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i >= 0)) {
      goto while_break___0;
    }
    cur_dir = (dirs_to_insert.items + i)->string;
    tmp___3 = xcalloc((size_t )1, sizeof(*dir_ci));
    dir_ci = (struct conflict_info *)tmp___3;
    dir_ci->merged.directory_name = parent_name;
    tmp___4 = strlen(parent_name);
    len___0 = (int )tmp___4;
    if (len___0 > 0) {
      dir_ci->merged.basename_offset = (size_t )(len___0 + 1);
    } else {
      dir_ci->merged.basename_offset = (size_t )len___0;
    }
    dir_ci->dirmask = ci->filemask;
    strmap_put(& (opt___0->priv)->paths, (char const   *)cur_dir, (void *)dir_ci);
    parent_name = (char const   *)cur_dir;
    i --;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (ci->filemask == 2U) {
    tmp___5 = 1;
  } else
  if (ci->filemask == 4U) {
    tmp___5 = 1;
  } else {
    tmp___5 = 0;
  }
  assert(tmp___5);
  assert(ci->dirmask == 0U);
  strmap_remove(& (opt___0->priv)->paths, old_path, 0);
  if (ci->filemask == 2U) {
    branch_with_new_path = opt___0->branch1;
  } else {
    branch_with_new_path = opt___0->branch2;
  }
  if (ci->filemask == 2U) {
    branch_with_dir_rename = opt___0->branch2;
  } else {
    branch_with_dir_rename = opt___0->branch1;
  }
  ci->merged.directory_name = parent_name;
  tmp___6 = strlen(parent_name);
  len___0 = (int )tmp___6;
  if (len___0 > 0) {
    ci->merged.basename_offset = (size_t )(len___0 + 1);
  } else {
    ci->merged.basename_offset = (size_t )len___0;
  }
  tmp___7 = strmap_get(& (opt___0->priv)->paths, (char const   *)new_path___0);
  new_ci = (struct conflict_info *)tmp___7;
  if (! new_ci) {
    strmap_put(& (opt___0->priv)->paths, (char const   *)new_path___0, (void *)ci);
  } else {
    if (new_ci) {
      if (! new_ci->merged.clean) {
        tmp___8 = 1;
      } else {
        tmp___8 = 0;
      }
    } else {
      tmp___8 = 0;
    }
    assert(tmp___8);
    if (ci->filemask == 2U) {
      tmp___9 = 1;
    } else
    if (ci->filemask == 4U) {
      tmp___9 = 1;
    } else {
      tmp___9 = 0;
    }
    assert(tmp___9);
    assert((new_ci->filemask & ci->filemask) == 0U);
    assert(! new_ci->merged.clean);
    new_ci->filemask |= ci->filemask;
    if (new_ci->dirmask) {
      new_ci->df_conflict = 1U;
    }
    index___2 = (int )(ci->filemask >> 1);
    new_ci->pathnames[index___2] = ci->pathnames[index___2];
    new_ci->stages[index___2].mode = ci->stages[index___2].mode;
    oidcpy(& new_ci->stages[index___2].oid, (struct object_id  const  *)(& ci->stages[index___2].oid));
    ci = new_ci;
  }
  if ((unsigned int )opt___0->detect_directory_renames == 2U) {
    if ((int )pair->status == 65) {
      tmp___10 = _((char const   *)"Path updated: %s added in %s inside a directory that was renamed in %s; moving it to %s.");
      path_msg(opt___0, (char const   *)new_path___0, 1, (char const   *)tmp___10,
               old_path, branch_with_new_path, branch_with_dir_rename, new_path___0);
    } else {
      tmp___11 = _((char const   *)"Path updated: %s renamed to %s in %s, inside a directory that was renamed in %s; moving it to %s.");
      path_msg(opt___0, (char const   *)new_path___0, 1, (char const   *)tmp___11,
               (pair->one)->path, old_path, branch_with_new_path, branch_with_dir_rename,
               new_path___0);
    }
  } else {
    ci->path_conflict = 1U;
    if ((int )pair->status == 65) {
      tmp___12 = _((char const   *)"CONFLICT (file location): %s added in %s inside a directory that was renamed in %s, suggesting it should perhaps be moved to %s.");
      path_msg(opt___0, (char const   *)new_path___0, 0, (char const   *)tmp___12,
               old_path, branch_with_new_path, branch_with_dir_rename, new_path___0);
    } else {
      tmp___13 = _((char const   *)"CONFLICT (file location): %s renamed to %s in %s, inside a directory that was renamed in %s, suggesting it should perhaps be moved to %s.");
      path_msg(opt___0, (char const   *)new_path___0, 0, (char const   *)tmp___13,
               (pair->one)->path, old_path, branch_with_new_path, branch_with_dir_rename,
               new_path___0);
    }
  }
  (pair->two)->path = new_path___0;
  return;
}
}
static int process_renames(struct merge_options *opt___0 , struct diff_queue_struct *renames )
{
  int clean_merge ;
  int i ;
  char const   *oldpath ;
  char const   *newpath ;
  struct diff_filepair *pair ;
  struct conflict_info *oldinfo ;
  struct conflict_info *newinfo ;
  struct strmap_entry *old_ent ;
  struct strmap_entry *new_ent ;
  unsigned int old_sidemask ;
  int target_index ;
  int other_source_index ;
  int source_deleted ;
  int collision ;
  int type_changed ;
  char const   *rename_branch ;
  char const   *delete_branch ;
  char const   *pathnames[3] ;
  struct version_info merged ;
  struct conflict_info *base ;
  struct conflict_info *side1 ;
  struct conflict_info *side2 ;
  unsigned int was_binary_blob ;
  void *tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  struct rename_info *ri ;
  int j ;
  int tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  char const   *pathnames___0[3] ;
  struct version_info merged___0 ;
  struct conflict_info *base___0 ;
  struct conflict_info *side1___0 ;
  struct conflict_info *side2___0 ;
  unsigned int clean ;
  void *tmp___14 ;
  void *tmp___15 ;
  void *tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  char const __attribute__((__format_arg__(1)))  *tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  struct object_id  const  *tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;

  {
  clean_merge = 1;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < renames->nr)) {
      goto while_break;
    }
    oldpath = (char const   *)((void *)0);
    pair = *(renames->queue + i);
    oldinfo = (struct conflict_info *)((void *)0);
    newinfo = (struct conflict_info *)((void *)0);
    rename_branch = (char const   *)((void *)0);
    delete_branch = (char const   *)((void *)0);
    old_ent = strmap_get_entry(& (opt___0->priv)->paths, (char const   *)(pair->one)->path);
    new_ent = strmap_get_entry(& (opt___0->priv)->paths, (char const   *)(pair->two)->path);
    if (old_ent) {
      oldpath = old_ent->key;
      oldinfo = (struct conflict_info *)old_ent->value;
    }
    newpath = (char const   *)(pair->two)->path;
    if (new_ent) {
      newpath = new_ent->key;
      newinfo = (struct conflict_info *)new_ent->value;
    }
    if (! oldinfo) {
      goto __Cont;
    } else
    if (oldinfo->merged.clean) {
      goto __Cont;
    }
    if (i + 1 < renames->nr) {
      tmp___8 = strcmp(oldpath, (char const   *)((*(renames->queue + (i + 1)))->one)->path);
      if (! tmp___8) {
        was_binary_blob = 0U;
        pathnames[0] = oldpath;
        pathnames[1] = newpath;
        pathnames[2] = (char const   *)((*(renames->queue + (i + 1)))->two)->path;
        tmp = strmap_get(& (opt___0->priv)->paths, pathnames[0]);
        base = (struct conflict_info *)tmp;
        tmp___0 = strmap_get(& (opt___0->priv)->paths, pathnames[1]);
        side1 = (struct conflict_info *)tmp___0;
        tmp___1 = strmap_get(& (opt___0->priv)->paths, pathnames[2]);
        side2 = (struct conflict_info *)tmp___1;
        if (base) {
          if (! base->merged.clean) {
            tmp___2 = 1;
          } else {
            tmp___2 = 0;
          }
        } else {
          tmp___2 = 0;
        }
        assert(tmp___2);
        if (side1) {
          if (! side1->merged.clean) {
            tmp___3 = 1;
          } else {
            tmp___3 = 0;
          }
        } else {
          tmp___3 = 0;
        }
        assert(tmp___3);
        if (side2) {
          if (! side2->merged.clean) {
            tmp___4 = 1;
          } else {
            tmp___4 = 0;
          }
        } else {
          tmp___4 = 0;
        }
        assert(tmp___4);
        tmp___5 = strcmp(pathnames[1], pathnames[2]);
        if (! tmp___5) {
          ri = & (opt___0->priv)->renames;
          assert((unsigned long )side1 == (unsigned long )side2);
          memcpy((void *)(& side1->stages[0]), (void const   *)(& base->stages[0]),
                 sizeof(merged));
          side1->filemask |= 1U;
          base->merged.is_null = 1U;
          base->merged.clean = 1U;
          j = 0;
          {
          while (1) {
            while_continue___0: /* CIL Label */ ;
            if (! (j < 3)) {
              goto while_break___0;
            }
            ri->merge_trees[j] = (struct tree *)((void *)0);
            j ++;
          }
          while_break___0: /* CIL Label */ ;
          }
          i ++;
          goto __Cont;
        }
        clean_merge = handle_content_merge(opt___0, (char const   *)(pair->one)->path,
                                           (struct version_info  const  *)(& base->stages[0]),
                                           (struct version_info  const  *)(& side1->stages[1]),
                                           (struct version_info  const  *)(& side2->stages[2]),
                                           (char const   **)(pathnames), (int const   )(1 + 2 * (opt___0->priv)->call_depth),
                                           & merged);
        if (! clean_merge) {
          if ((int )merged.mode == (int )side1->stages[1].mode) {
            tmp___6 = oideq((struct object_id  const  *)(& merged.oid), (struct object_id  const  *)(& side1->stages[1].oid));
            if (tmp___6) {
              was_binary_blob = 1U;
            }
          }
        }
        memcpy((void *)(& side1->stages[1]), (void const   *)(& merged), sizeof(merged));
        if (was_binary_blob) {
          oidcpy(& merged.oid, (struct object_id  const  *)(& side2->stages[2].oid));
          merged.mode = side2->stages[2].mode;
        }
        memcpy((void *)(& side2->stages[2]), (void const   *)(& merged), sizeof(merged));
        side1->path_conflict = 1U;
        side2->path_conflict = 1U;
        base->path_conflict = 1U;
        tmp___7 = _((char const   *)"CONFLICT (rename/rename): %s renamed to %s in %s and to %s in %s.");
        path_msg(opt___0, oldpath, 0, (char const   *)tmp___7, pathnames[0], pathnames[1],
                 opt___0->branch1, pathnames[2], opt___0->branch2);
        i ++;
        goto __Cont;
      }
    }
    if (oldinfo) {
      if (! oldinfo->merged.clean) {
        tmp___9 = 1;
      } else {
        tmp___9 = 0;
      }
    } else {
      tmp___9 = 0;
    }
    assert(tmp___9);
    if (newinfo) {
      if (! newinfo->merged.clean) {
        tmp___10 = 1;
      } else {
        tmp___10 = 0;
      }
    } else {
      tmp___10 = 0;
    }
    assert(tmp___10);
    target_index = (int )pair->score;
    if (target_index == 1) {
      tmp___11 = 1;
    } else
    if (target_index == 2) {
      tmp___11 = 1;
    } else {
      tmp___11 = 0;
    }
    assert(tmp___11);
    other_source_index = 3 - target_index;
    old_sidemask = (unsigned int )(1 << other_source_index);
    source_deleted = oldinfo->filemask == 1U;
    collision = (newinfo->filemask & old_sidemask) != 0U;
    if (! source_deleted) {
      if ((((int )oldinfo->stages[other_source_index].mode & 0170000) == 0100000) != (((int )newinfo->stages[target_index].mode & 0170000) == 0100000)) {
        tmp___12 = 1;
      } else {
        tmp___12 = 0;
      }
    } else {
      tmp___12 = 0;
    }
    type_changed = tmp___12;
    if (type_changed) {
      if (collision) {
        collision = 0;
      }
    }
    if (source_deleted) {
      if (target_index == 1) {
        rename_branch = opt___0->branch1;
        delete_branch = opt___0->branch2;
      } else {
        rename_branch = opt___0->branch2;
        delete_branch = opt___0->branch1;
      }
    }
    if (source_deleted) {
      tmp___13 = 1;
    } else
    if (oldinfo->filemask & old_sidemask) {
      tmp___13 = 1;
    } else {
      tmp___13 = 0;
    }
    assert(tmp___13);
    if (collision) {
      if (! source_deleted) {
        pathnames___0[0] = oldpath;
        pathnames___0[other_source_index] = oldpath;
        pathnames___0[target_index] = newpath;
        tmp___14 = strmap_get(& (opt___0->priv)->paths, pathnames___0[0]);
        base___0 = (struct conflict_info *)tmp___14;
        tmp___15 = strmap_get(& (opt___0->priv)->paths, pathnames___0[1]);
        side1___0 = (struct conflict_info *)tmp___15;
        tmp___16 = strmap_get(& (opt___0->priv)->paths, pathnames___0[2]);
        side2___0 = (struct conflict_info *)tmp___16;
        if (base___0) {
          if (! base___0->merged.clean) {
            tmp___17 = 1;
          } else {
            tmp___17 = 0;
          }
        } else {
          tmp___17 = 0;
        }
        assert(tmp___17);
        if (side1___0) {
          if (! side1___0->merged.clean) {
            tmp___18 = 1;
          } else {
            tmp___18 = 0;
          }
        } else {
          tmp___18 = 0;
        }
        assert(tmp___18);
        if (side2___0) {
          if (! side2___0->merged.clean) {
            tmp___19 = 1;
          } else {
            tmp___19 = 0;
          }
        } else {
          tmp___19 = 0;
        }
        assert(tmp___19);
        tmp___20 = handle_content_merge(opt___0, (char const   *)(pair->one)->path,
                                        (struct version_info  const  *)(& base___0->stages[0]),
                                        (struct version_info  const  *)(& side1___0->stages[1]),
                                        (struct version_info  const  *)(& side2___0->stages[2]),
                                        (char const   **)(pathnames___0), (int const   )(1 + 2 * (opt___0->priv)->call_depth),
                                        & merged___0);
        clean = (unsigned int )tmp___20;
        memcpy((void *)(& newinfo->stages[target_index]), (void const   *)(& merged___0),
               sizeof(merged___0));
        if (! clean) {
          tmp___21 = _((char const   *)"CONFLICT (rename involved in collision): rename of %s -> %s has content conflicts AND collides with another path; this may result in nested conflict markers.");
          path_msg(opt___0, newpath, 0, (char const   *)tmp___21, oldpath, newpath);
        }
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if (collision) {
      if (source_deleted) {
        newinfo->path_conflict = 1U;
        tmp___22 = _((char const   *)"CONFLICT (rename/delete): %s renamed to %s in %s, but deleted in %s.");
        path_msg(opt___0, newpath, 0, (char const   *)tmp___22, oldpath, newpath,
                 rename_branch, delete_branch);
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      memcpy((void *)(& newinfo->stages[0]), (void const   *)(& oldinfo->stages[0]),
             sizeof(newinfo->stages[0]));
      newinfo->filemask |= 1U;
      newinfo->pathnames[0] = oldpath;
      if (type_changed) {
        tmp___23 = null_oid();
        memcpy((void *)(& oldinfo->stages[0].oid), (void const   *)tmp___23, sizeof(oldinfo->stages[0].oid));
        oldinfo->stages[0].mode = (unsigned short)0;
        oldinfo->filemask &= 6U;
      } else
      if (source_deleted) {
        newinfo->path_conflict = 1U;
        tmp___24 = _((char const   *)"CONFLICT (rename/delete): %s renamed to %s in %s, but deleted in %s.");
        path_msg(opt___0, newpath, 0, (char const   *)tmp___24, oldpath, newpath,
                 rename_branch, delete_branch);
      } else {
        memcpy((void *)(& newinfo->stages[other_source_index]), (void const   *)(& oldinfo->stages[other_source_index]),
               sizeof(newinfo->stages[0]));
        newinfo->filemask |= (unsigned int )(1 << other_source_index);
        newinfo->pathnames[other_source_index] = oldpath;
      }
    }
    if (! type_changed) {
      oldinfo->merged.is_null = 1U;
      oldinfo->merged.clean = 1U;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (clean_merge);
}
}
__inline static int possible_side_renames(struct rename_info *renames , unsigned int side_index )
{
  int tmp ;
  int tmp___0 ;

  {
  if (renames->pairs[side_index].nr > 0) {
    tmp = strintmap_empty(& renames->relevant_sources[side_index]);
    if (tmp) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
__inline static int possible_renames(struct rename_info *renames )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = possible_side_renames(renames, 1U);
  if (tmp) {
    tmp___3 = 1;
  } else {
    tmp___0 = possible_side_renames(renames, 2U);
    if (tmp___0) {
      tmp___3 = 1;
    } else {
      tmp___1 = strmap_empty(& renames->cached_pairs[1]);
      if (tmp___1) {
        tmp___2 = strmap_empty(& renames->cached_pairs[2]);
        if (tmp___2) {
          tmp___3 = 0;
        } else {
          tmp___3 = 1;
        }
      } else {
        tmp___3 = 1;
      }
    }
  }
  return (tmp___3);
}
}
static void resolve_diffpair_statuses(struct diff_queue_struct *q )
{
  int i ;
  struct diff_filepair *p___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break;
    }
    p___0 = *(q->queue + i);
    p___0->status = (char)0;
    if (! ((int )(p___0->one)->mode != 0)) {
      p___0->status = (char )'A';
    } else
    if (! ((int )(p___0->two)->mode != 0)) {
      p___0->status = (char )'D';
    } else
    if (p___0->renamed_pair) {
      p___0->status = (char )'R';
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void prune_cached_from_relevant(struct rename_info *renames , unsigned int side )
{
  struct hashmap_iter iter___0 ;
  struct strmap_entry *entry ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;
  struct hashmap_entry *tmp___3 ;
  void *tmp___4 ;
  struct hashmap_entry *tmp___5 ;
  void *tmp___6 ;

  {
  entry = (struct strmap_entry *)((void *)0);
  tmp = hashmap_iter_first(& renames->cached_pairs[side].map, & iter___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  entry = (struct strmap_entry *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! entry) {
      goto while_break;
    }
    strintmap_remove(& renames->relevant_sources[side], entry->key);
    tmp___1 = hashmap_iter_next(& iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    entry = (struct strmap_entry *)tmp___2;
  }
  while_break: /* CIL Label */ ;
  }
  entry = (struct strmap_entry *)((void *)0);
  tmp___3 = hashmap_iter_first(& renames->cached_irrelevant[side].map.map, & iter___0);
  tmp___4 = container_of_or_null_offset((void *)tmp___3, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  entry = (struct strmap_entry *)tmp___4;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! entry) {
      goto while_break___0;
    }
    strintmap_remove(& renames->relevant_sources[side], entry->key);
    tmp___5 = hashmap_iter_next(& iter___0);
    tmp___6 = container_of_or_null_offset((void *)tmp___5, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    entry = (struct strmap_entry *)tmp___6;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void use_cached_pairs(struct merge_options *opt___0 , struct strmap *cached_pairs ,
                             struct diff_queue_struct *pairs )
{
  struct hashmap_iter iter___0 ;
  struct strmap_entry *entry ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;
  struct diff_filespec *one___0 ;
  struct diff_filespec *two___0 ;
  char const   *old_name ;
  char const   *new_name ;
  char *tmp___3 ;
  char *tmp___4 ;

  {
  entry = (struct strmap_entry *)((void *)0);
  tmp = hashmap_iter_first(& cached_pairs->map, & iter___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  entry = (struct strmap_entry *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! entry) {
      goto while_break;
    }
    old_name = entry->key;
    new_name = (char const   *)entry->value;
    if (! new_name) {
      new_name = old_name;
    }
    tmp___3 = mem_pool_strdup(& (opt___0->priv)->pool, old_name);
    old_name = (char const   *)tmp___3;
    tmp___4 = mem_pool_strdup(& (opt___0->priv)->pool, new_name);
    new_name = (char const   *)tmp___4;
    one___0 = pool_alloc_filespec(& (opt___0->priv)->pool, old_name);
    two___0 = pool_alloc_filespec(& (opt___0->priv)->pool, new_name);
    pool_diff_queue(& (opt___0->priv)->pool, pairs, one___0, two___0);
    if (entry->value) {
      (*(pairs->queue + (pairs->nr - 1)))->status = (char )'R';
    } else {
      (*(pairs->queue + (pairs->nr - 1)))->status = (char )'D';
    }
    tmp___1 = hashmap_iter_next(& iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    entry = (struct strmap_entry *)tmp___2;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void cache_new_pair(struct rename_info *renames , int side , char *old_path ,
                           char *new_path___0 , int free_old_value )
{
  char *old_value ;
  void *tmp ;

  {
  new_path___0 = xstrdup((char const   *)new_path___0);
  tmp = strmap_put(& renames->cached_pairs[side], (char const   *)old_path, (void *)new_path___0);
  old_value = (char *)tmp;
  strset_add(& renames->cached_target_names[side], (char const   *)new_path___0);
  if (free_old_value) {
    free((void *)old_value);
  } else {
    assert(! old_value);
  }
  return;
}
}
static void possibly_cache_new_pair(struct rename_info *renames , struct diff_filepair *p___0 ,
                                    unsigned int side , char *new_path___0 )
{
  int dir_renamed_side ;
  int val ;
  int tmp ;

  {
  dir_renamed_side = 0;
  if (new_path___0) {
    dir_renamed_side = (int )(3U - side);
  } else {
    tmp = strintmap_get(& renames->relevant_sources[side], (char const   *)(p___0->one)->path);
    val = tmp;
    if (val == 0) {
      assert((int )p___0->status == 68);
      strset_add(& renames->cached_irrelevant[side], (char const   *)(p___0->one)->path);
    }
    if (val <= 0) {
      return;
    }
  }
  if ((int )p___0->status == 68) {
    strmap_put(& renames->cached_pairs[side], (char const   *)(p___0->one)->path,
               (void *)0);
  } else
  if ((int )p___0->status == 82) {
    if (! new_path___0) {
      new_path___0 = (p___0->two)->path;
    } else {
      cache_new_pair(renames, dir_renamed_side, (p___0->two)->path, new_path___0,
                     0);
    }
    cache_new_pair(renames, (int )side, (p___0->one)->path, new_path___0, 1);
  } else
  if ((int )p___0->status == 65) {
    if (new_path___0) {
      cache_new_pair(renames, dir_renamed_side, (p___0->two)->path, new_path___0,
                     0);
    }
  }
  return;
}
}
static int compare_pairs(void const   *a_ , void const   *b_ )
{
  struct diff_filepair  const  *a ;
  struct diff_filepair  const  *b___0 ;
  int tmp ;

  {
  a = *((struct diff_filepair  const  **)a_);
  b___0 = *((struct diff_filepair  const  **)b_);
  tmp = strcmp((char const   *)(a->one)->path, (char const   *)(b___0->one)->path);
  return (tmp);
}
}
static int detect_regular_renames(struct merge_options *opt___0 , unsigned int side_index )
{
  struct diff_options diff_opts ;
  struct rename_info *renames ;
  int tmp ;

  {
  renames = & (opt___0->priv)->renames;
  prune_cached_from_relevant(renames, side_index);
  tmp = possible_side_renames(renames, side_index);
  if (! tmp) {
    resolve_diffpair_statuses(& renames->pairs[side_index]);
    return (0);
  }
  partial_clear_dir_rename_count(& renames->dir_rename_count[side_index]);
  repo_diff_setup(opt___0->repo, & diff_opts);
  diff_opts.flags.recursive = 1U;
  diff_opts.flags.rename_empty = 0U;
  diff_opts.detect_rename = 1;
  diff_opts.rename_limit = opt___0->rename_limit;
  if (opt___0->rename_limit <= 0) {
    diff_opts.rename_limit = 7000;
  }
  diff_opts.rename_score = opt___0->rename_score;
  diff_opts.show_rename_progress = opt___0->show_rename_progress;
  diff_opts.output_format = 0x0800;
  diff_setup_done(& diff_opts);
  diff_queued_diff = renames->pairs[side_index];
  trace2_region_enter_fl((char const   *)"merge-ort.c", 2942, (char const   *)"diff",
                         (char const   *)"diffcore_rename", (struct repository  const  *)opt___0->repo);
  diffcore_rename_extended(& diff_opts, & (opt___0->priv)->pool, & renames->relevant_sources[side_index],
                           & renames->dirs_removed[side_index], & renames->dir_rename_count[side_index],
                           & renames->cached_pairs[side_index]);
  trace2_region_leave_fl((char const   *)"merge-ort.c", 2949, (char const   *)"diff",
                         (char const   *)"diffcore_rename", (struct repository  const  *)opt___0->repo);
  resolve_diffpair_statuses(& diff_queued_diff);
  if (diff_opts.needed_rename_limit > 0) {
    renames->redo_after_renames = 0U;
  }
  if (diff_opts.needed_rename_limit > renames->needed_limit) {
    renames->needed_limit = diff_opts.needed_rename_limit;
  }
  renames->pairs[side_index] = diff_queued_diff;
  diff_opts.output_format = 0x0800;
  diff_queued_diff.nr = 0;
  diff_queued_diff.queue = (struct diff_filepair **)((void *)0);
  diff_flush(& diff_opts);
  return (1);
}
}
static int collect_renames(struct merge_options *opt___0 , struct diff_queue_struct *result___0 ,
                           unsigned int side_index , struct strmap *dir_renames_for_side ,
                           struct strmap *rename_exclusions )
{
  int i ;
  int clean ;
  struct strmap collisions ;
  struct diff_queue_struct *side_pairs ;
  struct hashmap_iter iter___0 ;
  struct strmap_entry *entry ;
  struct rename_info *renames ;
  struct diff_filepair *p___0 ;
  char *new_path___0 ;
  int tmp ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;
  struct hashmap_entry *tmp___2 ;
  void *tmp___3 ;
  struct collision_info *info___0 ;

  {
  clean = 1;
  renames = & (opt___0->priv)->renames;
  side_pairs = & renames->pairs[side_index];
  compute_collisions(& collisions, dir_renames_for_side, side_pairs);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < side_pairs->nr)) {
      goto while_break;
    }
    p___0 = *(side_pairs->queue + i);
    if ((int )p___0->status != 65) {
      if ((int )p___0->status != 82) {
        possibly_cache_new_pair(renames, p___0, side_index, (char *)((void *)0));
        pool_diff_free_filepair(& (opt___0->priv)->pool, p___0);
        goto __Cont;
      }
    }
    new_path___0 = check_for_directory_rename(opt___0, (char const   *)(p___0->two)->path,
                                              side_index, dir_renames_for_side, rename_exclusions,
                                              & collisions, & clean);
    possibly_cache_new_pair(renames, p___0, side_index, new_path___0);
    if ((int )p___0->status != 82) {
      if (! new_path___0) {
        pool_diff_free_filepair(& (opt___0->priv)->pool, p___0);
        goto __Cont;
      }
    }
    if (new_path___0) {
      apply_directory_rename_modifications(opt___0, p___0, new_path___0);
    }
    p___0->score = (unsigned short )side_index;
    tmp = result___0->nr;
    (result___0->nr) ++;
    *(result___0->queue + tmp) = p___0;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  entry = (struct strmap_entry *)((void *)0);
  tmp___0 = hashmap_iter_first(& collisions.map, & iter___0);
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  entry = (struct strmap_entry *)tmp___1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! entry) {
      goto while_break___0;
    }
    info___0 = (struct collision_info *)entry->value;
    string_list_clear(& info___0->source_files, 0);
    tmp___2 = hashmap_iter_next(& iter___0);
    tmp___3 = container_of_or_null_offset((void *)tmp___2, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    entry = (struct strmap_entry *)tmp___3;
  }
  while_break___0: /* CIL Label */ ;
  }
  free_strmap_strings(& collisions);
  strmap_clear(& collisions, 1);
  return (clean);
}
}
static int detect_and_process_renames(struct merge_options *opt___0 , struct tree *merge_base ,
                                      struct tree *side1 , struct tree *side2 )
{
  struct diff_queue_struct combined ;
  struct rename_info *renames ;
  int need_dir_renames ;
  int s___1 ;
  int clean ;
  unsigned int detection_run ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int i ;
  int side ;
  struct diff_filepair *p___0 ;
  int tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  struct diff_queue_struct *side_pairs ;
  int i___0 ;
  struct diff_filepair *p___1 ;
  int tmp___8 ;
  int i___1 ;

  {
  renames = & (opt___0->priv)->renames;
  clean = 1;
  detection_run = 0U;
  memset((void *)(& combined), 0, sizeof(combined));
  tmp = possible_renames(renames);
  if (! tmp) {
    goto cleanup;
  }
  trace2_region_enter_fl((char const   *)"merge-ort.c", 3060, (char const   *)"merge",
                         (char const   *)"regular renames", (struct repository  const  *)opt___0->repo);
  tmp___0 = detect_regular_renames(opt___0, 1U);
  detection_run |= (unsigned int )tmp___0;
  tmp___1 = detect_regular_renames(opt___0, 2U);
  detection_run |= (unsigned int )tmp___1;
  if (renames->redo_after_renames) {
    if (detection_run) {
      side = 1;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! (side <= 2)) {
          goto while_break;
        }
        i = 0;
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          if (! (i < renames->pairs[side].nr)) {
            goto while_break___0;
          }
          p___0 = *(renames->pairs[side].queue + i);
          possibly_cache_new_pair(renames, p___0, (unsigned int )side, (char *)((void *)0));
          i ++;
        }
        while_break___0: /* CIL Label */ ;
        }
        side ++;
      }
      while_break: /* CIL Label */ ;
      }
      renames->redo_after_renames = 2U;
      trace2_region_leave_fl((char const   *)"merge-ort.c", 3077, (char const   *)"merge",
                             (char const   *)"regular renames", (struct repository  const  *)opt___0->repo);
      goto cleanup;
    }
  }
  use_cached_pairs(opt___0, & renames->cached_pairs[1], & renames->pairs[1]);
  use_cached_pairs(opt___0, & renames->cached_pairs[2], & renames->pairs[2]);
  trace2_region_leave_fl((char const   *)"merge-ort.c", 3082, (char const   *)"merge",
                         (char const   *)"regular renames", (struct repository  const  *)opt___0->repo);
  trace2_region_enter_fl((char const   *)"merge-ort.c", 3084, (char const   *)"merge",
                         (char const   *)"directory renames", (struct repository  const  *)opt___0->repo);
  if (! (opt___0->priv)->call_depth) {
    if ((unsigned int )opt___0->detect_directory_renames == 2U) {
      tmp___2 = 1;
    } else
    if ((unsigned int )opt___0->detect_directory_renames == 1U) {
      tmp___2 = 1;
    } else {
      tmp___2 = 0;
    }
  } else {
    tmp___2 = 0;
  }
  need_dir_renames = tmp___2;
  if (need_dir_renames) {
    get_provisional_directory_renames(opt___0, 1U, & clean);
    get_provisional_directory_renames(opt___0, 2U, & clean);
    handle_directory_level_conflicts(opt___0);
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (renames->pairs[1].nr + renames->pairs[2].nr > combined.alloc) {
      if (((combined.alloc + 16) * 3) / 2 < renames->pairs[1].nr + renames->pairs[2].nr) {
        combined.alloc = renames->pairs[1].nr + renames->pairs[2].nr;
      } else {
        combined.alloc = ((combined.alloc + 16) * 3) / 2;
      }
      tmp___3 = st_mult(sizeof(*(combined.queue)), (size_t )combined.alloc);
      tmp___4 = xrealloc((void *)combined.queue, tmp___3);
      combined.queue = (struct diff_filepair **)tmp___4;
    }
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  tmp___5 = collect_renames(opt___0, & combined, 1U, & renames->dir_renames[2], & renames->dir_renames[1]);
  clean &= tmp___5;
  tmp___6 = collect_renames(opt___0, & combined, 2U, & renames->dir_renames[1], & renames->dir_renames[2]);
  clean &= tmp___6;
  git_stable_qsort((void *)combined.queue, (size_t )combined.nr, sizeof(*(combined.queue)),
                   & compare_pairs);
  trace2_region_leave_fl((char const   *)"merge-ort.c", 3106, (char const   *)"merge",
                         (char const   *)"directory renames", (struct repository  const  *)opt___0->repo);
  trace2_region_enter_fl((char const   *)"merge-ort.c", 3108, (char const   *)"merge",
                         (char const   *)"process renames", (struct repository  const  *)opt___0->repo);
  tmp___7 = process_renames(opt___0, & combined);
  clean &= tmp___7;
  trace2_region_leave_fl((char const   *)"merge-ort.c", 3110, (char const   *)"merge",
                         (char const   *)"process renames", (struct repository  const  *)opt___0->repo);
  goto simple_cleanup;
  cleanup:
  s___1 = 1;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (s___1 <= 2)) {
      goto while_break___2;
    }
    side_pairs = & renames->pairs[s___1];
    i___0 = 0;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! (i___0 < side_pairs->nr)) {
        goto while_break___3;
      }
      p___1 = *(side_pairs->queue + i___0);
      pool_diff_free_filepair(& (opt___0->priv)->pool, p___1);
      i___0 ++;
    }
    while_break___3: /* CIL Label */ ;
    }
    s___1 ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  simple_cleanup:
  s___1 = 1;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! (s___1 <= 2)) {
      goto while_break___4;
    }
    free((void *)renames->pairs[s___1].queue);
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      renames->pairs[s___1].queue = (struct diff_filepair **)((void *)0);
      tmp___8 = 0;
      renames->pairs[s___1].alloc = tmp___8;
      renames->pairs[s___1].nr = tmp___8;
      goto while_break___5;
    }
    while_break___5: /* CIL Label */ ;
    }
    s___1 ++;
  }
  while_break___4: /* CIL Label */ ;
  }
  if (combined.nr) {
    i___1 = 0;
    {
    while (1) {
      while_continue___6: /* CIL Label */ ;
      if (! (i___1 < combined.nr)) {
        goto while_break___6;
      }
      pool_diff_free_filepair(& (opt___0->priv)->pool, *(combined.queue + i___1));
      i___1 ++;
    }
    while_break___6: /* CIL Label */ ;
    }
    free((void *)combined.queue);
  }
  return (clean);
}
}
static int sort_dirs_next_to_their_children(char const   *one___0 , char const   *two___0 )
{
  unsigned char c1 ;
  unsigned char c2 ;
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*one___0) {
      if (! ((int const   )*one___0 == (int const   )*two___0)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    one___0 ++;
    two___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (*one___0) {
    c1 = (unsigned char )*one___0;
  } else {
    c1 = (unsigned char )'/';
  }
  if (*two___0) {
    c2 = (unsigned char )*two___0;
  } else {
    c2 = (unsigned char )'/';
  }
  if ((int )c1 == (int )c2) {
    if (*one___0) {
      tmp = 1;
    } else {
      tmp = -1;
    }
    return (tmp);
  } else {
    return ((int )c1 - (int )c2);
  }
}
}
static int read_oid_strbuf(struct merge_options *opt___0 , struct object_id  const  *oid ,
                           struct strbuf *dst )
{
  void *buf___19 ;
  enum object_type type___0 ;
  unsigned long size ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  buf___19 = repo_read_object_file(the_repository, oid, & type___0, & size);
  if (! buf___19) {
    tmp = oid_to_hex(oid);
    tmp___0 = _((char const   *)"cannot read object %s");
    tmp___1 = err___1(opt___0, (char const   *)tmp___0, tmp);
    return (tmp___1);
  }
  if ((int )type___0 != 3) {
    free(buf___19);
    tmp___2 = oid_to_hex(oid);
    tmp___3 = _((char const   *)"object %s is not a blob");
    tmp___4 = err___1(opt___0, (char const   *)tmp___3, tmp___2);
    return (tmp___4);
  }
  strbuf_attach(dst, buf___19, size, size + 1UL);
  return (0);
}
}
static int blob_unchanged(struct merge_options *opt___0 , struct version_info  const  *base ,
                          struct version_info  const  *side , char const   *path___6 )
{
  struct strbuf basebuf ;
  struct strbuf sidebuf ;
  int ret___67 ;
  struct index_state *idx___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  basebuf.alloc = 0UL;
  basebuf.len = 0UL;
  basebuf.buf = strbuf_slopbuf;
  sidebuf.alloc = 0UL;
  sidebuf.len = 0UL;
  sidebuf.buf = strbuf_slopbuf;
  ret___67 = 0;
  idx___0 = & (opt___0->priv)->attr_index;
  if (! idx___0->initialized) {
    initialize_attr_index(opt___0);
  }
  if ((int )base->mode != (int )side->mode) {
    return (0);
  }
  tmp = oideq((struct object_id  const  *)(& base->oid), (struct object_id  const  *)(& side->oid));
  if (tmp) {
    return (1);
  }
  tmp___0 = read_oid_strbuf(opt___0, (struct object_id  const  *)(& base->oid), & basebuf);
  if (tmp___0) {
    goto error_return;
  } else {
    tmp___1 = read_oid_strbuf(opt___0, (struct object_id  const  *)(& side->oid),
                              & sidebuf);
    if (tmp___1) {
      goto error_return;
    }
  }
  tmp___4 = renormalize_buffer(idx___0, path___6, (char const   *)basebuf.buf, basebuf.len,
                               & basebuf);
  tmp___5 = renormalize_buffer(idx___0, path___6, (char const   *)sidebuf.buf, sidebuf.len,
                               & sidebuf);
  if (tmp___4 | tmp___5) {
    if (basebuf.len == sidebuf.len) {
      tmp___2 = memcmp((void const   *)basebuf.buf, (void const   *)sidebuf.buf, basebuf.len);
      if (tmp___2) {
        tmp___3 = 0;
      } else {
        tmp___3 = 1;
      }
    } else {
      tmp___3 = 0;
    }
    ret___67 = tmp___3;
  }
  error_return:
  strbuf_release(& basebuf);
  strbuf_release(& sidebuf);
  return (ret___67);
}
}
static int tree_entry_order(void const   *a_ , void const   *b_ )
{
  struct string_list_item  const  *a ;
  struct string_list_item  const  *b___0 ;
  struct merged_info  const  *ami ;
  struct merged_info  const  *bmi ;
  size_t tmp ;
  size_t tmp___0 ;
  int tmp___1 ;

  {
  a = (struct string_list_item  const  *)a_;
  b___0 = (struct string_list_item  const  *)b_;
  ami = (struct merged_info  const  *)a->util;
  bmi = (struct merged_info  const  *)b___0->util;
  tmp = strlen((char const   *)b___0->string);
  tmp___0 = strlen((char const   *)a->string);
  tmp___1 = base_name_compare((char const   *)a->string, (int )tmp___0, (int )ami->result.mode,
                              (char const   *)b___0->string, (int )tmp, (int )bmi->result.mode);
  return (tmp___1);
}
}
static void write_tree(struct object_id *result_oid , struct string_list *versions___0 ,
                       unsigned int offset___2 , size_t hash_size___0 )
{
  size_t maxlen ;
  size_t extra___2 ;
  unsigned int nr___0 ;
  struct strbuf buf___19 ;
  int i ;
  size_t tmp ;
  struct merged_info *mi ;
  struct version_info *ri ;

  {
  maxlen = (size_t )0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  assert(offset___2 <= versions___0->nr);
  nr___0 = versions___0->nr - offset___2;
  if (versions___0->nr) {
    sane_qsort((void *)(versions___0->items + offset___2), (size_t )nr___0, sizeof(*(versions___0->items + offset___2)),
               & tree_entry_order);
  }
  extra___2 = hash_size___0 + 8UL;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < nr___0)) {
      goto while_break;
    }
    tmp = strlen((char const   *)(versions___0->items + (offset___2 + (unsigned int )i))->string);
    maxlen += tmp + extra___2;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_grow(& buf___19, maxlen);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < nr___0)) {
      goto while_break___0;
    }
    mi = (struct merged_info *)(versions___0->items + (offset___2 + (unsigned int )i))->util;
    ri = & mi->result;
    strbuf_addf(& buf___19, (char const   *)"%o %s%c", (int )ri->mode, (versions___0->items + (offset___2 + (unsigned int )i))->string,
                '\000');
    strbuf_add(& buf___19, (void const   *)(ri->oid.hash), hash_size___0);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  write_object_file((void const   *)buf___19.buf, buf___19.len, tree_type, result_oid);
  strbuf_release(& buf___19);
  return;
}
}
static void record_entry_for_tree(struct directory_versions *dir_metadata , char const   *path___6 ,
                                  struct merged_info *mi )
{
  char const   *__xpg_basename___0 ;
  char *tmp ;
  struct string_list_item *tmp___0 ;

  {
  if (mi->is_null) {
    return;
  }
  __xpg_basename___0 = path___6 + mi->basename_offset;
  tmp = strchr(__xpg_basename___0, '/');
  assert((unsigned long )tmp == (unsigned long )((void *)0));
  tmp___0 = string_list_append(& dir_metadata->versions, __xpg_basename___0);
  tmp___0->util = (void *)(& mi->result);
  return;
}
}
static void write_completed_directory(struct merge_options *opt___0 , char const   *new_directory_name ,
                                      struct directory_versions *info___0 )
{
  char const   *prev_dir ;
  struct merged_info *dir_info ;
  unsigned int offset___2 ;
  uintptr_t offset___3 ;
  size_t tmp ;
  struct string_list_item *tmp___0 ;
  int tmp___1 ;
  void *tmp___2 ;
  uintptr_t c___0 ;
  struct string_list_item *tmp___3 ;
  size_t tmp___4 ;

  {
  dir_info = (struct merged_info *)((void *)0);
  if ((unsigned long )new_directory_name == (unsigned long )info___0->last_directory) {
    return;
  }
  if ((unsigned long )info___0->last_directory == (unsigned long )((void *)0)) {
    goto _L;
  } else {
    tmp___1 = strncmp(new_directory_name, info___0->last_directory, (size_t )info___0->last_directory_len);
    if (! tmp___1) {
      _L: /* CIL Label */
      offset___3 = (uintptr_t )info___0->versions.nr;
      info___0->last_directory = new_directory_name;
      tmp = strlen(info___0->last_directory);
      info___0->last_directory_len = (unsigned int )tmp;
      tmp___0 = string_list_append(& info___0->offsets, info___0->last_directory);
      tmp___0->util = (void *)offset___3;
      return;
    }
  }
  tmp___2 = strmap_get(& (opt___0->priv)->paths, info___0->last_directory);
  dir_info = (struct merged_info *)tmp___2;
  assert((int )dir_info);
  offset___2 = (unsigned int )((uintptr_t )(info___0->offsets.items + (info___0->offsets.nr - 1U))->util);
  if (offset___2 == info___0->versions.nr) {
    dir_info->is_null = 1U;
  } else {
    dir_info->is_null = 0U;
    dir_info->result.mode = (unsigned short)16384;
    write_tree(& dir_info->result.oid, & info___0->versions, offset___2, (size_t )((opt___0->repo)->hash_algo)->rawsz);
  }
  (info___0->offsets.nr) --;
  info___0->versions.nr = offset___2;
  if (info___0->offsets.nr == 0U) {
    prev_dir = (char const   *)((void *)0);
  } else {
    prev_dir = (char const   *)(info___0->offsets.items + (info___0->offsets.nr - 1U))->string;
  }
  if ((unsigned long )new_directory_name != (unsigned long )prev_dir) {
    c___0 = (uintptr_t )info___0->versions.nr;
    tmp___3 = string_list_append(& info___0->offsets, new_directory_name);
    tmp___3->util = (void *)c___0;
  }
  info___0->last_directory = new_directory_name;
  tmp___4 = strlen(info___0->last_directory);
  info___0->last_directory_len = (unsigned int )tmp___4;
  return;
}
}
static void process_entry(struct merge_options *opt___0 , char const   *path___6 ,
                          struct conflict_info *ci , struct directory_versions *dir_metadata )
{
  int df_file_index ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int i ;
  struct object_id  const  *tmp___2 ;
  struct conflict_info *new_ci ;
  char const   *branch___0 ;
  char const   *old_path ;
  int i___0 ;
  void *tmp___3 ;
  struct object_id  const  *tmp___4 ;
  char *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  unsigned int othermask ;
  int side ;
  int tmp___8 ;
  int tmp___9 ;
  unsigned int o_mode ;
  unsigned int a_mode ;
  unsigned int b_mode ;
  struct conflict_info *new_ci___0 ;
  char const   *a_path ;
  char const   *b_path ;
  int rename_a ;
  int rename_b ;
  void *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  struct object_id  const  *tmp___13 ;
  struct object_id  const  *tmp___14 ;
  struct object_id  const  *tmp___15 ;
  struct object_id  const  *tmp___16 ;
  int tmp___17 ;
  char *tmp___18 ;
  char *tmp___19 ;
  struct version_info merged_file ;
  unsigned int clean_merge ;
  struct version_info *o ;
  struct version_info *a ;
  struct version_info *b___0 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  char const   *reason ;
  char const __attribute__((__format_arg__(1)))  *tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  char const __attribute__((__format_arg__(1)))  *tmp___26 ;
  char const   *modify_branch ;
  char const   *delete_branch ;
  int side___0 ;
  int tmp___27 ;
  int index___2 ;
  int tmp___28 ;
  char const __attribute__((__format_arg__(1)))  *tmp___29 ;
  int tmp___30 ;
  int tmp___31 ;
  int side___1 ;
  int tmp___32 ;
  int tmp___33 ;
  struct object_id  const  *tmp___34 ;

  {
  df_file_index = 0;
  if (ci) {
    if (! ci->merged.clean) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  assert(tmp);
  if (ci->filemask >= 0U) {
    if (ci->filemask <= 7U) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  assert(tmp___0);
  if (ci->match_mask == 0U) {
    tmp___1 = 1;
  } else
  if (ci->match_mask == 3U) {
    tmp___1 = 1;
  } else
  if (ci->match_mask == 5U) {
    tmp___1 = 1;
  } else
  if (ci->match_mask == 6U) {
    tmp___1 = 1;
  } else {
    tmp___1 = 0;
  }
  assert(tmp___1);
  if (ci->dirmask) {
    record_entry_for_tree(dir_metadata, path___6, & ci->merged);
    if (ci->filemask == 0U) {
      return;
    }
    assert((int )ci->df_conflict);
  }
  if (ci->df_conflict) {
    if ((int )ci->merged.result.mode == 0) {
      ci->df_conflict = 0U;
      assert(ci->filemask != 0U);
      ci->merged.clean = 0U;
      ci->merged.is_null = 0U;
      ci->match_mask &= ~ ci->dirmask;
      ci->dirmask = 0U;
      i = 0;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! (i <= 2)) {
          goto while_break;
        }
        if (ci->filemask & (unsigned int )(1 << i)) {
          goto __Cont;
        }
        ci->stages[i].mode = (unsigned short)0;
        tmp___2 = null_oid();
        oidcpy(& ci->stages[i].oid, tmp___2);
        __Cont: /* CIL Label */
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (ci->df_conflict) {
    if ((int )ci->merged.result.mode != 0) {
      old_path = path___6;
      assert((int )ci->merged.result.mode == 0040000);
      if (ci->filemask == 1U) {
        ci->filemask = 0U;
        return;
      }
      tmp___3 = mem_pool_calloc(& (opt___0->priv)->pool, (size_t )1, sizeof(*new_ci));
      new_ci = (struct conflict_info *)tmp___3;
      memcpy((void *)new_ci, (void const   *)ci, sizeof(*ci));
      new_ci->match_mask &= ~ new_ci->dirmask;
      new_ci->dirmask = 0U;
      i___0 = 0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (i___0 <= 2)) {
          goto while_break___0;
        }
        if (new_ci->filemask & (unsigned int )(1 << i___0)) {
          goto __Cont___0;
        }
        new_ci->stages[i___0].mode = (unsigned short)0;
        tmp___4 = null_oid();
        oidcpy(& new_ci->stages[i___0].oid, tmp___4);
        __Cont___0: /* CIL Label */
        i___0 ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      if (ci->dirmask & (unsigned int )(1 << 1)) {
        df_file_index = 2;
      } else {
        df_file_index = 1;
      }
      if (df_file_index == 1) {
        branch___0 = opt___0->branch1;
      } else {
        branch___0 = opt___0->branch2;
      }
      tmp___5 = unique_path(& (opt___0->priv)->paths, path___6, branch___0);
      path___6 = (char const   *)tmp___5;
      strmap_put(& (opt___0->priv)->paths, path___6, (void *)new_ci);
      tmp___6 = _((char const   *)"CONFLICT (file/directory): directory in the way of %s from %s; moving it to %s instead.");
      path_msg(opt___0, path___6, 0, (char const   *)tmp___6, old_path, branch___0,
               path___6);
      ci->filemask = 0U;
      ci = new_ci;
    }
  }
  if (ci->match_mask) {
    if (! ci->df_conflict) {
      if (! ci->path_conflict) {
        tmp___7 = 1;
      } else {
        tmp___7 = 0;
      }
    } else {
      tmp___7 = 0;
    }
    ci->merged.clean = (unsigned int )tmp___7;
    if (ci->match_mask == 6U) {
      ci->merged.result.mode = ci->stages[1].mode;
      oidcpy(& ci->merged.result.oid, (struct object_id  const  *)(& ci->stages[1].oid));
    } else {
      othermask = 7U & ~ ci->match_mask;
      if (othermask == 4U) {
        tmp___8 = 2;
      } else {
        tmp___8 = 1;
      }
      side = tmp___8;
      ci->merged.result.mode = ci->stages[side].mode;
      ci->merged.is_null = (unsigned int )(! ci->merged.result.mode);
      if (ci->merged.is_null) {
        ci->merged.clean = 1U;
      }
      oidcpy(& ci->merged.result.oid, (struct object_id  const  *)(& ci->stages[side].oid));
      if (othermask == 2U) {
        tmp___9 = 1;
      } else
      if (othermask == 4U) {
        tmp___9 = 1;
      } else {
        tmp___9 = 0;
      }
      assert(tmp___9);
      assert(ci->merged.is_null == (unsigned int )(ci->filemask == ci->match_mask));
    }
  } else
  if (ci->filemask >= 6U) {
    if ((0170000 & (int )ci->stages[1].mode) != (0170000 & (int )ci->stages[2].mode)) {
      if ((opt___0->priv)->call_depth) {
        ci->merged.clean = 0U;
        oidcpy(& ci->merged.result.oid, (struct object_id  const  *)(& ci->stages[0].oid));
        ci->merged.result.mode = ci->stages[0].mode;
        ci->merged.is_null = (unsigned int )((int )ci->merged.result.mode == 0);
      } else {
        o_mode = (unsigned int )ci->stages[0].mode;
        a_mode = (unsigned int )ci->stages[1].mode;
        b_mode = (unsigned int )ci->stages[2].mode;
        a_path = (char const   *)((void *)0);
        b_path = (char const   *)((void *)0);
        rename_a = 0;
        rename_b = 0;
        tmp___10 = mem_pool_alloc(& (opt___0->priv)->pool, sizeof(*new_ci___0));
        new_ci___0 = (struct conflict_info *)tmp___10;
        if ((a_mode & 61440U) == 32768U) {
          rename_a = 1;
        } else
        if ((b_mode & 61440U) == 32768U) {
          rename_b = 1;
        } else {
          rename_a = 1;
          rename_b = 1;
        }
        if (rename_a) {
          if (rename_b) {
            tmp___11 = _((char const   *)"CONFLICT (distinct types): %s had different types on each side; renamed both of them so each can be recorded somewhere.");
            path_msg(opt___0, path___6, 0, (char const   *)tmp___11, path___6);
          } else {
            tmp___12 = _((char const   *)"CONFLICT (distinct types): %s had different types on each side; renamed one of them so each can be recorded somewhere.");
            path_msg(opt___0, path___6, 0, (char const   *)tmp___12, path___6);
          }
        } else {
          tmp___12 = _((char const   *)"CONFLICT (distinct types): %s had different types on each side; renamed one of them so each can be recorded somewhere.");
          path_msg(opt___0, path___6, 0, (char const   *)tmp___12, path___6);
        }
        ci->merged.clean = 0U;
        memcpy((void *)new_ci___0, (void const   *)ci, sizeof(*new_ci___0));
        new_ci___0->merged.result.mode = ci->stages[2].mode;
        oidcpy(& new_ci___0->merged.result.oid, (struct object_id  const  *)(& ci->stages[2].oid));
        new_ci___0->stages[1].mode = (unsigned short)0;
        tmp___13 = null_oid();
        oidcpy(& new_ci___0->stages[1].oid, tmp___13);
        new_ci___0->filemask = 5U;
        if ((61440U & b_mode) != (61440U & o_mode)) {
          new_ci___0->stages[0].mode = (unsigned short)0;
          tmp___14 = null_oid();
          oidcpy(& new_ci___0->stages[0].oid, tmp___14);
          new_ci___0->filemask = 4U;
        }
        ci->merged.result.mode = ci->stages[1].mode;
        oidcpy(& ci->merged.result.oid, (struct object_id  const  *)(& ci->stages[1].oid));
        ci->stages[2].mode = (unsigned short)0;
        tmp___15 = null_oid();
        oidcpy(& ci->stages[2].oid, tmp___15);
        ci->filemask = 3U;
        if ((61440U & a_mode) != (61440U & o_mode)) {
          ci->stages[0].mode = (unsigned short)0;
          tmp___16 = null_oid();
          oidcpy(& ci->stages[0].oid, tmp___16);
          ci->filemask = 2U;
        }
        if (rename_a) {
          tmp___17 = 1;
        } else
        if (rename_b) {
          tmp___17 = 1;
        } else {
          tmp___17 = 0;
        }
        assert(tmp___17);
        if (rename_a) {
          tmp___18 = unique_path(& (opt___0->priv)->paths, path___6, opt___0->branch1);
          a_path = (char const   *)tmp___18;
          strmap_put(& (opt___0->priv)->paths, a_path, (void *)ci);
        }
        if (rename_b) {
          tmp___19 = unique_path(& (opt___0->priv)->paths, path___6, opt___0->branch2);
          b_path = (char const   *)tmp___19;
        } else {
          b_path = path___6;
        }
        strmap_put(& (opt___0->priv)->paths, b_path, (void *)new_ci___0);
        if (rename_a) {
          if (rename_b) {
            strmap_remove(& (opt___0->priv)->paths, path___6, 0);
          }
        }
        strmap_put(& (opt___0->priv)->conflicted, b_path, (void *)new_ci___0);
        record_entry_for_tree(dir_metadata, b_path, & new_ci___0->merged);
        if (a_path) {
          path___6 = a_path;
        }
      }
    } else {
      goto _L___3;
    }
  } else
  _L___3: /* CIL Label */
  if (ci->filemask >= 6U) {
    o = & ci->stages[0];
    a = & ci->stages[1];
    b___0 = & ci->stages[2];
    tmp___20 = handle_content_merge(opt___0, path___6, (struct version_info  const  *)o,
                                    (struct version_info  const  *)a, (struct version_info  const  *)b___0,
                                    (char const   **)(ci->pathnames), (int const   )((opt___0->priv)->call_depth * 2),
                                    & merged_file);
    clean_merge = (unsigned int )tmp___20;
    if (clean_merge) {
      if (! ci->df_conflict) {
        if (! ci->path_conflict) {
          tmp___21 = 1;
        } else {
          tmp___21 = 0;
        }
      } else {
        tmp___21 = 0;
      }
    } else {
      tmp___21 = 0;
    }
    ci->merged.clean = (unsigned int )tmp___21;
    ci->merged.result.mode = merged_file.mode;
    ci->merged.is_null = (unsigned int )((int )merged_file.mode == 0);
    oidcpy(& ci->merged.result.oid, (struct object_id  const  *)(& merged_file.oid));
    if (clean_merge) {
      if (ci->df_conflict) {
        if (df_file_index == 1) {
          tmp___22 = 1;
        } else
        if (df_file_index == 2) {
          tmp___22 = 1;
        } else {
          tmp___22 = 0;
        }
        assert(tmp___22);
        ci->filemask = (unsigned int )(1 << df_file_index);
        ci->stages[df_file_index].mode = merged_file.mode;
        oidcpy(& ci->stages[df_file_index].oid, (struct object_id  const  *)(& merged_file.oid));
      }
    }
    if (! clean_merge) {
      tmp___23 = _((char const   *)"content");
      reason = (char const   *)tmp___23;
      if (ci->filemask == 6U) {
        tmp___24 = _((char const   *)"add/add");
        reason = (char const   *)tmp___24;
      }
      if (((int )merged_file.mode & 0170000) == 0160000) {
        tmp___25 = _((char const   *)"submodule");
        reason = (char const   *)tmp___25;
      }
      tmp___26 = _((char const   *)"CONFLICT (%s): Merge conflict in %s");
      path_msg(opt___0, path___6, 0, (char const   *)tmp___26, reason, path___6);
    }
  } else
  if (ci->filemask == 3U) {
    goto _L___2;
  } else
  if (ci->filemask == 5U) {
    _L___2: /* CIL Label */
    if (ci->filemask == 5U) {
      tmp___27 = 2;
    } else {
      tmp___27 = 1;
    }
    side___0 = tmp___27;
    if ((opt___0->priv)->call_depth) {
      tmp___28 = 0;
    } else {
      tmp___28 = side___0;
    }
    index___2 = tmp___28;
    ci->merged.result.mode = ci->stages[index___2].mode;
    oidcpy(& ci->merged.result.oid, (struct object_id  const  *)(& ci->stages[index___2].oid));
    ci->merged.clean = 0U;
    if (side___0 == 1) {
      modify_branch = opt___0->branch1;
    } else {
      modify_branch = opt___0->branch2;
    }
    if (side___0 == 1) {
      delete_branch = opt___0->branch2;
    } else {
      delete_branch = opt___0->branch1;
    }
    if (opt___0->renormalize) {
      tmp___31 = blob_unchanged(opt___0, (struct version_info  const  *)(& ci->stages[0]),
                                (struct version_info  const  *)(& ci->stages[side___0]),
                                path___6);
      if (tmp___31) {
        if (! ci->path_conflict) {
          ci->merged.is_null = 1U;
          ci->merged.clean = 1U;
          ci->df_conflict = 0U;
        }
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if (ci->path_conflict) {
      tmp___30 = oideq((struct object_id  const  *)(& ci->stages[0].oid), (struct object_id  const  *)(& ci->stages[side___0].oid));
      if (! tmp___30) {
        tmp___29 = _((char const   *)"CONFLICT (modify/delete): %s deleted in %s and modified in %s.  Version %s of %s left in tree.");
        path_msg(opt___0, path___6, 0, (char const   *)tmp___29, path___6, delete_branch,
                 modify_branch, modify_branch, path___6);
      }
    } else {
      tmp___29 = _((char const   *)"CONFLICT (modify/delete): %s deleted in %s and modified in %s.  Version %s of %s left in tree.");
      path_msg(opt___0, path___6, 0, (char const   *)tmp___29, path___6, delete_branch,
               modify_branch, modify_branch, path___6);
    }
  } else
  if (ci->filemask == 2U) {
    goto _L___1;
  } else
  if (ci->filemask == 4U) {
    _L___1: /* CIL Label */
    if (ci->filemask == 4U) {
      tmp___32 = 2;
    } else {
      tmp___32 = 1;
    }
    side___1 = tmp___32;
    ci->merged.result.mode = ci->stages[side___1].mode;
    oidcpy(& ci->merged.result.oid, (struct object_id  const  *)(& ci->stages[side___1].oid));
    if (! ci->df_conflict) {
      if (! ci->path_conflict) {
        tmp___33 = 1;
      } else {
        tmp___33 = 0;
      }
    } else {
      tmp___33 = 0;
    }
    ci->merged.clean = (unsigned int )tmp___33;
  } else
  if (ci->filemask == 1U) {
    ci->merged.is_null = 1U;
    ci->merged.result.mode = (unsigned short)0;
    tmp___34 = null_oid();
    oidcpy(& ci->merged.result.oid, tmp___34);
    assert(! ci->df_conflict);
    ci->merged.clean = (unsigned int )(! ci->path_conflict);
  }
  if (! ci->merged.clean) {
    strmap_put(& (opt___0->priv)->conflicted, path___6, (void *)ci);
  }
  record_entry_for_tree(dir_metadata, path___6, & ci->merged);
  return;
}
}
static void prefetch_for_content_merges(struct merge_options *opt___0 , struct string_list *plist )
{
  struct string_list_item *e ;
  struct oid_array to_fetch ;
  int tmp ;
  struct conflict_info *ci ;
  int i ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  unsigned int side_mask ;
  struct version_info *vi ;
  int tmp___3 ;

  {
  to_fetch.oid = (struct object_id *)0;
  to_fetch.nr = 0UL;
  to_fetch.alloc = 0UL;
  to_fetch.sorted = 0;
  if ((unsigned long )opt___0->repo != (unsigned long )the_repository) {
    return;
  } else {
    tmp = has_promisor_remote();
    if (! tmp) {
      return;
    }
  }
  e = plist->items + (plist->nr - 1U);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )e >= (unsigned long )plist->items)) {
      goto while_break;
    }
    ci = (struct conflict_info *)e->util;
    if (ci->merged.clean) {
      goto __Cont;
    }
    if (ci->match_mask) {
      goto __Cont;
    } else
    if (ci->filemask < 6U) {
      goto __Cont;
    } else
    if (! (((int )ci->stages[1].mode & 0170000) == 0100000)) {
      goto __Cont;
    } else
    if (! (((int )ci->stages[2].mode & 0170000) == 0100000)) {
      goto __Cont;
    } else {
      tmp___0 = oideq((struct object_id  const  *)(& ci->stages[1].oid), (struct object_id  const  *)(& ci->stages[2].oid));
      if (tmp___0) {
        goto __Cont;
      }
    }
    if (ci->filemask == 7U) {
      if (((int )ci->stages[0].mode & 0170000) == 0100000) {
        tmp___1 = oideq((struct object_id  const  *)(& ci->stages[0].oid), (struct object_id  const  *)(& ci->stages[1].oid));
        if (tmp___1) {
          goto __Cont;
        } else {
          tmp___2 = oideq((struct object_id  const  *)(& ci->stages[0].oid), (struct object_id  const  *)(& ci->stages[2].oid));
          if (tmp___2) {
            goto __Cont;
          }
        }
      }
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < 3)) {
        goto while_break___0;
      }
      side_mask = (unsigned int )(1 << i);
      vi = & ci->stages[i];
      if (ci->filemask & side_mask) {
        if (((int )vi->mode & 0170000) == 0100000) {
          tmp___3 = oid_object_info_extended(opt___0->repo, (struct object_id  const  *)(& vi->oid),
                                             (struct object_info *)((void *)0), 40U);
          if (tmp___3) {
            oid_array_append(& to_fetch, (struct object_id  const  *)(& vi->oid));
          }
        }
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    e --;
  }
  while_break: /* CIL Label */ ;
  }
  promisor_remote_get_direct(opt___0->repo, (struct object_id  const  *)to_fetch.oid,
                             (int )to_fetch.nr);
  oid_array_clear(& to_fetch);
  return;
}
}
static void process_entries(struct merge_options *opt___0 , struct object_id *result_oid )
{
  struct hashmap_iter iter___0 ;
  struct strmap_entry *e ;
  struct string_list plist ;
  struct string_list_item *entry ;
  struct directory_versions dir_metadata ;
  int tmp ;
  unsigned int tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  unsigned int tmp___3 ;
  struct hashmap_entry *tmp___4 ;
  void *tmp___5 ;
  struct hashmap_entry *tmp___6 ;
  void *tmp___7 ;
  struct string_list_item *tmp___8 ;
  char *path___6 ;
  struct merged_info *mi ;
  struct conflict_info *ci ;

  {
  plist.items = (struct string_list_item *)0;
  plist.nr = 0U;
  plist.alloc = 0U;
  plist.strdup_strings = 0U;
  plist.cmp = (int (*)(char const   * , char const   * ))0;
  dir_metadata.versions.items = (struct string_list_item *)0;
  dir_metadata.versions.nr = 0U;
  dir_metadata.versions.alloc = 0U;
  dir_metadata.versions.strdup_strings = 0U;
  dir_metadata.versions.cmp = (int (*)(char const   * , char const   * ))0;
  dir_metadata.offsets.items = (struct string_list_item *)0;
  dir_metadata.offsets.nr = 0U;
  dir_metadata.offsets.alloc = 0U;
  dir_metadata.offsets.strdup_strings = 0U;
  dir_metadata.offsets.cmp = (int (*)(char const   * , char const   * ))0;
  dir_metadata.last_directory = (char const   *)((void *)0);
  dir_metadata.last_directory_len = 0U;
  trace2_region_enter_fl((char const   *)"merge-ort.c", 3961, (char const   *)"merge",
                         (char const   *)"process_entries setup", (struct repository  const  *)opt___0->repo);
  tmp = strmap_empty(& (opt___0->priv)->paths);
  if (tmp) {
    oidcpy(result_oid, (struct object_id  const  *)((opt___0->repo)->hash_algo)->empty_tree);
    return;
  }
  trace2_region_enter_fl((char const   *)"merge-ort.c", 3968, (char const   *)"merge",
                         (char const   *)"plist grow", (struct repository  const  *)opt___0->repo);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = strmap_get_size(& (opt___0->priv)->paths);
    if (tmp___3 > plist.alloc) {
      tmp___0 = strmap_get_size(& (opt___0->priv)->paths);
      if (((plist.alloc + 16U) * 3U) / 2U < tmp___0) {
        plist.alloc = strmap_get_size(& (opt___0->priv)->paths);
      } else {
        plist.alloc = ((plist.alloc + 16U) * 3U) / 2U;
      }
      tmp___1 = st_mult(sizeof(*(plist.items)), (size_t )plist.alloc);
      tmp___2 = xrealloc((void *)plist.items, tmp___1);
      plist.items = (struct string_list_item *)tmp___2;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  trace2_region_leave_fl((char const   *)"merge-ort.c", 3970, (char const   *)"merge",
                         (char const   *)"plist grow", (struct repository  const  *)opt___0->repo);
  trace2_region_enter_fl((char const   *)"merge-ort.c", 3973, (char const   *)"merge",
                         (char const   *)"plist copy", (struct repository  const  *)opt___0->repo);
  e = (struct strmap_entry *)((void *)0);
  tmp___4 = hashmap_iter_first(& (opt___0->priv)->paths.map, & iter___0);
  tmp___5 = container_of_or_null_offset((void *)tmp___4, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  e = (struct strmap_entry *)tmp___5;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! e) {
      goto while_break___0;
    }
    tmp___8 = string_list_append(& plist, e->key);
    tmp___8->util = e->value;
    tmp___6 = hashmap_iter_next(& iter___0);
    tmp___7 = container_of_or_null_offset((void *)tmp___6, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    e = (struct strmap_entry *)tmp___7;
  }
  while_break___0: /* CIL Label */ ;
  }
  trace2_region_leave_fl((char const   *)"merge-ort.c", 3977, (char const   *)"merge",
                         (char const   *)"plist copy", (struct repository  const  *)opt___0->repo);
  trace2_region_enter_fl((char const   *)"merge-ort.c", 3979, (char const   *)"merge",
                         (char const   *)"plist special sort", (struct repository  const  *)opt___0->repo);
  plist.cmp = & sort_dirs_next_to_their_children;
  string_list_sort(& plist);
  trace2_region_leave_fl((char const   *)"merge-ort.c", 3982, (char const   *)"merge",
                         (char const   *)"plist special sort", (struct repository  const  *)opt___0->repo);
  trace2_region_leave_fl((char const   *)"merge-ort.c", 3984, (char const   *)"merge",
                         (char const   *)"process_entries setup", (struct repository  const  *)opt___0->repo);
  trace2_region_enter_fl((char const   *)"merge-ort.c", 3995, (char const   *)"merge",
                         (char const   *)"processing", (struct repository  const  *)opt___0->repo);
  prefetch_for_content_merges(opt___0, & plist);
  entry = plist.items + (plist.nr - 1U);
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned long )entry >= (unsigned long )plist.items)) {
      goto while_break___1;
    }
    path___6 = entry->string;
    mi = (struct merged_info *)entry->util;
    write_completed_directory(opt___0, mi->directory_name, & dir_metadata);
    if (mi->clean) {
      record_entry_for_tree(& dir_metadata, (char const   *)path___6, mi);
    } else {
      ci = (struct conflict_info *)mi;
      process_entry(opt___0, (char const   *)path___6, ci, & dir_metadata);
    }
    entry --;
  }
  while_break___1: /* CIL Label */ ;
  }
  trace2_region_leave_fl((char const   *)"merge-ort.c", 4015, (char const   *)"merge",
                         (char const   *)"processing", (struct repository  const  *)opt___0->repo);
  trace2_region_enter_fl((char const   *)"merge-ort.c", 4017, (char const   *)"merge",
                         (char const   *)"process_entries cleanup", (struct repository  const  *)opt___0->repo);
  if (dir_metadata.offsets.nr != 1U) {
    printf((char const   *)"dir_metadata.offsets.nr = %d (should be 1)\n", dir_metadata.offsets.nr);
    printf((char const   *)"dir_metadata.offsets.items[0].util = %u (should be 0)\n",
           (unsigned int )((uintptr_t )(dir_metadata.offsets.items + 0)->util));
    fflush(stdout);
    BUG_fl((char const   *)"merge-ort.c", 4025, (char const   *)"dir_metadata accounting completely off; shouldn\'t happen");
  } else
  if ((uintptr_t )(dir_metadata.offsets.items + 0)->util != 0UL) {
    printf((char const   *)"dir_metadata.offsets.nr = %d (should be 1)\n", dir_metadata.offsets.nr);
    printf((char const   *)"dir_metadata.offsets.items[0].util = %u (should be 0)\n",
           (unsigned int )((uintptr_t )(dir_metadata.offsets.items + 0)->util));
    fflush(stdout);
    BUG_fl((char const   *)"merge-ort.c", 4025, (char const   *)"dir_metadata accounting completely off; shouldn\'t happen");
  }
  write_tree(result_oid, & dir_metadata.versions, 0U, (size_t )((opt___0->repo)->hash_algo)->rawsz);
  string_list_clear(& plist, 0);
  string_list_clear(& dir_metadata.versions, 0);
  string_list_clear(& dir_metadata.offsets, 0);
  trace2_region_leave_fl((char const   *)"merge-ort.c", 4032, (char const   *)"merge",
                         (char const   *)"process_entries cleanup", (struct repository  const  *)opt___0->repo);
  return;
}
}
static int checkout(struct merge_options *opt___0 , struct tree *prev , struct tree *next___2 )
{
  int ret___67 ;
  struct tree_desc trees___0[2] ;
  struct unpack_trees_options unpack_opts ;

  {
  memset((void *)(& unpack_opts), 0, sizeof(unpack_opts));
  unpack_opts.head_idx = -1;
  unpack_opts.src_index = (opt___0->repo)->index;
  unpack_opts.dst_index = (opt___0->repo)->index;
  setup_unpack_trees_porcelain(& unpack_opts, (char const   *)"merge");
  unpack_opts.update = 1U;
  unpack_opts.merge = 1U;
  unpack_opts.quiet = 0U;
  unpack_opts.verbose_update = (unsigned int )(opt___0->verbosity > 2);
  unpack_opts.fn = & twoway_merge;
  unpack_opts.preserve_ignored = 0U;
  parse_tree(prev);
  init_tree_desc(& trees___0[0], (void const   *)prev->buffer, prev->size);
  parse_tree(next___2);
  init_tree_desc(& trees___0[1], (void const   *)next___2->buffer, next___2->size);
  ret___67 = unpack_trees(2U, trees___0, & unpack_opts);
  clear_unpack_trees_porcelain(& unpack_opts);
  return (ret___67);
}
}
static int record_conflicted_index_entries(struct merge_options *opt___0 )
{
  struct hashmap_iter iter___0 ;
  struct strmap_entry *e ;
  struct index_state *index___2 ;
  struct checkout state___1 ;
  int errs ;
  int original_cache_nr ;
  int tmp ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;
  struct hashmap_entry *tmp___2 ;
  void *tmp___3 ;
  int tmp___4 ;
  struct hashmap_entry *tmp___5 ;
  void *tmp___6 ;
  struct hashmap_entry *tmp___7 ;
  void *tmp___8 ;
  char const   *path___6 ;
  struct conflict_info *ci ;
  int pos ;
  struct cache_entry *ce ;
  int i ;
  int tmp___9 ;
  void *_swap_a_ptr ;
  void *_swap_b_ptr ;
  unsigned char _swap_buffer[sizeof(index___2->cache_nr)] ;
  size_t tmp___10 ;
  void *_swap_a_ptr___0 ;
  void *_swap_b_ptr___0 ;
  unsigned char _swap_buffer___0[sizeof(index___2->cache_nr)] ;
  struct stat st ;
  char *new_name ;
  char *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  struct version_info *vi ;

  {
  index___2 = (opt___0->repo)->index;
  state___1.istate = (struct index_state *)0;
  state___1.base_dir = (char const   *)"";
  state___1.base_dir_len = 0;
  state___1.delayed_checkout = (struct delayed_checkout *)0;
  state___1.meta.refname = (char const   *)0;
  state___1.meta.treeish.hash[0] = (unsigned char)0;
  state___1.meta.treeish.hash[1] = (unsigned char)0;
  state___1.meta.treeish.hash[2] = (unsigned char)0;
  state___1.meta.treeish.hash[3] = (unsigned char)0;
  state___1.meta.treeish.hash[4] = (unsigned char)0;
  state___1.meta.treeish.hash[5] = (unsigned char)0;
  state___1.meta.treeish.hash[6] = (unsigned char)0;
  state___1.meta.treeish.hash[7] = (unsigned char)0;
  state___1.meta.treeish.hash[8] = (unsigned char)0;
  state___1.meta.treeish.hash[9] = (unsigned char)0;
  state___1.meta.treeish.hash[10] = (unsigned char)0;
  state___1.meta.treeish.hash[11] = (unsigned char)0;
  state___1.meta.treeish.hash[12] = (unsigned char)0;
  state___1.meta.treeish.hash[13] = (unsigned char)0;
  state___1.meta.treeish.hash[14] = (unsigned char)0;
  state___1.meta.treeish.hash[15] = (unsigned char)0;
  state___1.meta.treeish.hash[16] = (unsigned char)0;
  state___1.meta.treeish.hash[17] = (unsigned char)0;
  state___1.meta.treeish.hash[18] = (unsigned char)0;
  state___1.meta.treeish.hash[19] = (unsigned char)0;
  state___1.meta.treeish.hash[20] = (unsigned char)0;
  state___1.meta.treeish.hash[21] = (unsigned char)0;
  state___1.meta.treeish.hash[22] = (unsigned char)0;
  state___1.meta.treeish.hash[23] = (unsigned char)0;
  state___1.meta.treeish.hash[24] = (unsigned char)0;
  state___1.meta.treeish.hash[25] = (unsigned char)0;
  state___1.meta.treeish.hash[26] = (unsigned char)0;
  state___1.meta.treeish.hash[27] = (unsigned char)0;
  state___1.meta.treeish.hash[28] = (unsigned char)0;
  state___1.meta.treeish.hash[29] = (unsigned char)0;
  state___1.meta.treeish.hash[30] = (unsigned char)0;
  state___1.meta.treeish.hash[31] = (unsigned char)0;
  state___1.meta.treeish.algo = 0;
  state___1.meta.blob.hash[0] = (unsigned char)0;
  state___1.meta.blob.hash[1] = (unsigned char)0;
  state___1.meta.blob.hash[2] = (unsigned char)0;
  state___1.meta.blob.hash[3] = (unsigned char)0;
  state___1.meta.blob.hash[4] = (unsigned char)0;
  state___1.meta.blob.hash[5] = (unsigned char)0;
  state___1.meta.blob.hash[6] = (unsigned char)0;
  state___1.meta.blob.hash[7] = (unsigned char)0;
  state___1.meta.blob.hash[8] = (unsigned char)0;
  state___1.meta.blob.hash[9] = (unsigned char)0;
  state___1.meta.blob.hash[10] = (unsigned char)0;
  state___1.meta.blob.hash[11] = (unsigned char)0;
  state___1.meta.blob.hash[12] = (unsigned char)0;
  state___1.meta.blob.hash[13] = (unsigned char)0;
  state___1.meta.blob.hash[14] = (unsigned char)0;
  state___1.meta.blob.hash[15] = (unsigned char)0;
  state___1.meta.blob.hash[16] = (unsigned char)0;
  state___1.meta.blob.hash[17] = (unsigned char)0;
  state___1.meta.blob.hash[18] = (unsigned char)0;
  state___1.meta.blob.hash[19] = (unsigned char)0;
  state___1.meta.blob.hash[20] = (unsigned char)0;
  state___1.meta.blob.hash[21] = (unsigned char)0;
  state___1.meta.blob.hash[22] = (unsigned char)0;
  state___1.meta.blob.hash[23] = (unsigned char)0;
  state___1.meta.blob.hash[24] = (unsigned char)0;
  state___1.meta.blob.hash[25] = (unsigned char)0;
  state___1.meta.blob.hash[26] = (unsigned char)0;
  state___1.meta.blob.hash[27] = (unsigned char)0;
  state___1.meta.blob.hash[28] = (unsigned char)0;
  state___1.meta.blob.hash[29] = (unsigned char)0;
  state___1.meta.blob.hash[30] = (unsigned char)0;
  state___1.meta.blob.hash[31] = (unsigned char)0;
  state___1.meta.blob.algo = 0;
  state___1.force = 0U;
  state___1.quiet = 0U;
  state___1.not_new = 0U;
  state___1.clone = 0U;
  state___1.refresh_cache = 0U;
  errs = 0;
  tmp = strmap_empty(& (opt___0->priv)->conflicted);
  if (tmp) {
    return (0);
  }
  e = (struct strmap_entry *)((void *)0);
  tmp___0 = hashmap_iter_first(& (opt___0->priv)->conflicted.map, & iter___0);
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  e = (struct strmap_entry *)tmp___1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! e) {
      goto while_break;
    }
    tmp___4 = path_in_sparse_checkout(e->key, index___2);
    if (! tmp___4) {
      ensure_full_index(index___2);
      goto while_break;
    }
    tmp___2 = hashmap_iter_next(& iter___0);
    tmp___3 = container_of_or_null_offset((void *)tmp___2, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    e = (struct strmap_entry *)tmp___3;
  }
  while_break: /* CIL Label */ ;
  }
  state___1.force = 1U;
  state___1.quiet = 1U;
  state___1.refresh_cache = 1U;
  state___1.istate = index___2;
  original_cache_nr = (int )index___2->cache_nr;
  e = (struct strmap_entry *)((void *)0);
  tmp___5 = hashmap_iter_first(& (opt___0->priv)->conflicted.map, & iter___0);
  tmp___6 = container_of_or_null_offset((void *)tmp___5, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  e = (struct strmap_entry *)tmp___6;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! e) {
      goto while_break___0;
    }
    path___6 = e->key;
    ci = (struct conflict_info *)e->value;
    if (ci) {
      if (! ci->merged.clean) {
        tmp___9 = 1;
      } else {
        tmp___9 = 0;
      }
    } else {
      tmp___9 = 0;
    }
    assert(tmp___9);
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      _swap_a_ptr = (void *)(& index___2->cache_nr);
      _swap_b_ptr = (void *)(& original_cache_nr);
      memcpy((void *)(_swap_buffer), (void const   *)_swap_a_ptr, sizeof(index___2->cache_nr));
      memcpy(_swap_a_ptr, (void const   *)_swap_b_ptr, sizeof(index___2->cache_nr) + (sizeof(char [1]) - 1UL));
      memcpy(_swap_b_ptr, (void const   *)(_swap_buffer), sizeof(index___2->cache_nr));
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
    tmp___10 = strlen(path___6);
    pos = index_name_pos(index___2, path___6, (int )tmp___10);
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      _swap_a_ptr___0 = (void *)(& index___2->cache_nr);
      _swap_b_ptr___0 = (void *)(& original_cache_nr);
      memcpy((void *)(_swap_buffer___0), (void const   *)_swap_a_ptr___0, sizeof(index___2->cache_nr));
      memcpy(_swap_a_ptr___0, (void const   *)_swap_b_ptr___0, sizeof(index___2->cache_nr) + (sizeof(char [1]) - 1UL));
      memcpy(_swap_b_ptr___0, (void const   *)(_swap_buffer___0), sizeof(index___2->cache_nr));
      goto while_break___2;
    }
    while_break___2: /* CIL Label */ ;
    }
    if (pos < 0) {
      if (ci->filemask != 1U) {
        BUG_fl((char const   *)"merge-ort.c", 4142, (char const   *)"Conflicted %s but nothing in basic working tree or index; this shouldn\'t happen",
               path___6);
      }
      cache_tree_invalidate_path(index___2, path___6);
    } else {
      ce = *(index___2->cache + pos);
      if (ce->ce_flags & (unsigned int )(1 << 30)) {
        tmp___14 = lstat(path___6, & st);
        if (! tmp___14) {
          tmp___11 = unique_path(& (opt___0->priv)->paths, path___6, (char const   *)"cruft");
          new_name = tmp___11;
          tmp___12 = _((char const   *)"Note: %s not up to date and in way of checking out conflicted version; old copy renamed to %s");
          path_msg(opt___0, path___6, 1, (char const   *)tmp___12, path___6, new_name);
          tmp___13 = rename(path___6, (char const   *)new_name);
          errs |= tmp___13;
          free((void *)new_name);
        }
        tmp___15 = checkout_entry(ce, (struct checkout  const  *)(& state___1), (char *)((void *)0),
                                  (int *)((void *)0));
        errs |= tmp___15;
      }
      ce->ce_flags |= (unsigned int )(1 << 17);
    }
    i = 0;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! (i <= 2)) {
        goto while_break___3;
      }
      if (! ((unsigned long )ci->filemask & (1ul << i))) {
        goto __Cont;
      }
      vi = & ci->stages[i];
      ce = make_cache_entry(index___2, (unsigned int )vi->mode, (struct object_id  const  *)(& vi->oid),
                            path___6, i + 1, 0U);
      add_index_entry(index___2, ce, 8);
      __Cont: /* CIL Label */
      i ++;
    }
    while_break___3: /* CIL Label */ ;
    }
    tmp___7 = hashmap_iter_next(& iter___0);
    tmp___8 = container_of_or_null_offset((void *)tmp___7, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    e = (struct strmap_entry *)tmp___8;
  }
  while_break___0: /* CIL Label */ ;
  }
  remove_marked_cache_entries(index___2, 1);
  sane_qsort((void *)index___2->cache, (size_t )index___2->cache_nr, sizeof(*(index___2->cache)),
             & cmp_cache_name_compare);
  return (errs);
}
}
void merge_switch_to_result(struct merge_options *opt___0 , struct tree *head___1 ,
                            struct merge_result *result___0 , int update_worktree_and_index ,
                            int display_update_msgs )
{
  char const   *filename___0 ;
  FILE *fp ;
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  struct merge_options_internal *opti ;
  struct hashmap_iter iter___0 ;
  struct strmap_entry *e ;
  struct string_list olist ;
  int i ;
  unsigned int tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  unsigned int tmp___5 ;
  struct hashmap_entry *tmp___6 ;
  void *tmp___7 ;
  struct hashmap_entry *tmp___8 ;
  void *tmp___9 ;
  struct string_list_item *tmp___10 ;
  struct strbuf *sb___6 ;

  {
  assert((unsigned long )opt___0->priv == (unsigned long )((void *)0));
  if (result___0->clean >= 0) {
    if (update_worktree_and_index) {
      trace2_region_enter_fl((char const   *)"merge-ort.c", 4224, (char const   *)"merge",
                             (char const   *)"checkout", (struct repository  const  *)opt___0->repo);
      tmp = checkout(opt___0, head___1, result___0->tree);
      if (tmp) {
        result___0->clean = -1;
        return;
      }
      trace2_region_leave_fl((char const   *)"merge-ort.c", 4230, (char const   *)"merge",
                             (char const   *)"checkout", (struct repository  const  *)opt___0->repo);
      trace2_region_enter_fl((char const   *)"merge-ort.c", 4232, (char const   *)"merge",
                             (char const   *)"record_conflicted", (struct repository  const  *)opt___0->repo);
      opt___0->priv = (struct merge_options_internal *)result___0->priv;
      tmp___0 = record_conflicted_index_entries(opt___0);
      if (tmp___0) {
        opt___0->priv = (struct merge_options_internal *)((void *)0);
        result___0->clean = -1;
        return;
      }
      opt___0->priv = (struct merge_options_internal *)((void *)0);
      trace2_region_leave_fl((char const   *)"merge-ort.c", 4241, (char const   *)"merge",
                             (char const   *)"record_conflicted", (struct repository  const  *)opt___0->repo);
      trace2_region_enter_fl((char const   *)"merge-ort.c", 4243, (char const   *)"merge",
                             (char const   *)"write_auto_merge", (struct repository  const  *)opt___0->repo);
      filename___0 = git_path_auto_merge(opt___0->repo);
      fp = xfopen(filename___0, (char const   *)"w");
      tmp___1 = oid_to_hex((struct object_id  const  *)(& (result___0->tree)->object.oid));
      fprintf(fp, (char const   *)"%s\n", tmp___1);
      fclose(fp);
      trace2_region_leave_fl((char const   *)"merge-ort.c", 4248, (char const   *)"merge",
                             (char const   *)"write_auto_merge", (struct repository  const  *)opt___0->repo);
    }
  }
  if (display_update_msgs) {
    opti = (struct merge_options_internal *)result___0->priv;
    olist.items = (struct string_list_item *)0;
    olist.nr = 0U;
    olist.alloc = 0U;
    olist.strdup_strings = 0U;
    olist.cmp = (int (*)(char const   * , char const   * ))0;
    trace2_region_enter_fl((char const   *)"merge-ort.c", 4258, (char const   *)"merge",
                           (char const   *)"display messages", (struct repository  const  *)opt___0->repo);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___5 = strmap_get_size(& opti->output);
      if (tmp___5 > olist.alloc) {
        tmp___2 = strmap_get_size(& opti->output);
        if (((olist.alloc + 16U) * 3U) / 2U < tmp___2) {
          olist.alloc = strmap_get_size(& opti->output);
        } else {
          olist.alloc = ((olist.alloc + 16U) * 3U) / 2U;
        }
        tmp___3 = st_mult(sizeof(*(olist.items)), (size_t )olist.alloc);
        tmp___4 = xrealloc((void *)olist.items, tmp___3);
        olist.items = (struct string_list_item *)tmp___4;
      }
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    e = (struct strmap_entry *)((void *)0);
    tmp___6 = hashmap_iter_first(& opti->output.map, & iter___0);
    tmp___7 = container_of_or_null_offset((void *)tmp___6, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    e = (struct strmap_entry *)tmp___7;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! e) {
        goto while_break___0;
      }
      tmp___10 = string_list_append(& olist, e->key);
      tmp___10->util = e->value;
      tmp___8 = hashmap_iter_next(& iter___0);
      tmp___9 = container_of_or_null_offset((void *)tmp___8, (unsigned long )(& ((struct strmap_entry *)0)->ent));
      e = (struct strmap_entry *)tmp___9;
    }
    while_break___0: /* CIL Label */ ;
    }
    string_list_sort(& olist);
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((unsigned int )i < olist.nr)) {
        goto while_break___1;
      }
      sb___6 = (struct strbuf *)(olist.items + i)->util;
      printf((char const   *)"%s", sb___6->buf);
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    string_list_clear(& olist, 0);
    diff_warn_rename_limit((char const   *)"merge.renamelimit", opti->renames.needed_limit,
                           0);
    trace2_region_leave_fl((char const   *)"merge-ort.c", 4282, (char const   *)"merge",
                           (char const   *)"display messages", (struct repository  const  *)opt___0->repo);
  }
  merge_finalize(opt___0, result___0);
  return;
}
}
void merge_finalize(struct merge_options *opt___0 , struct merge_result *result___0 )
{
  struct merge_options_internal *opti ;

  {
  opti = (struct merge_options_internal *)result___0->priv;
  if (opt___0->renormalize) {
    git_attr_set_direction((enum git_attr_direction )0);
  }
  assert((unsigned long )opt___0->priv == (unsigned long )((void *)0));
  clear_or_reinit_internal_opts(opti, 0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)opti);
    opti = (struct merge_options_internal *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct tree *shift_tree_object(struct repository *repo , struct tree *one___0 ,
                                      struct tree *two___0 , char const   *subtree_shift )
{
  struct object_id shifted ;
  int tmp ;
  struct tree *tmp___0 ;

  {
  if (! *subtree_shift) {
    shift_tree(repo, (struct object_id  const  *)(& one___0->object.oid), (struct object_id  const  *)(& two___0->object.oid),
               & shifted, 0);
  } else {
    shift_tree_by(repo, (struct object_id  const  *)(& one___0->object.oid), (struct object_id  const  *)(& two___0->object.oid),
                  & shifted, subtree_shift);
  }
  tmp = oideq((struct object_id  const  *)(& two___0->object.oid), (struct object_id  const  *)(& shifted));
  if (tmp) {
    return (two___0);
  }
  tmp___0 = lookup_tree(repo, (struct object_id  const  *)(& shifted));
  return (tmp___0);
}
}
static struct commit *make_virtual_commit(struct repository *repo , struct tree *tree ,
                                          char const   *comment )
{
  struct commit *commit ;
  void *tmp ;

  {
  tmp = alloc_commit_node(repo);
  commit = (struct commit *)tmp;
  set_merge_remote_desc(commit, comment, (struct object *)commit);
  set_commit_tree(commit, tree);
  commit->object.parsed = 1U;
  return (commit);
}
}
static void merge_start(struct merge_options *opt___0 , struct merge_result *result___0 )
{
  struct rename_info *renames ;
  int i ;
  struct mem_pool *pool ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  size_t tmp___6 ;
  int tmp___7 ;
  void *tmp___8 ;

  {
  pool = (struct mem_pool *)((void *)0);
  trace2_region_enter_fl((char const   *)"merge-ort.c", 4344, (char const   *)"merge",
                         (char const   *)"sanity checks", (struct repository  const  *)opt___0->repo);
  assert((int )opt___0->repo);
  if (opt___0->branch1) {
    if (opt___0->branch2) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  assert(tmp);
  if ((unsigned int )opt___0->detect_directory_renames >= 0U) {
    if ((unsigned int )opt___0->detect_directory_renames <= 2U) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  assert(tmp___0);
  assert(opt___0->rename_limit >= -1);
  if (opt___0->rename_score >= 0) {
    if ((double )opt___0->rename_score <= 60000.0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  assert(tmp___1);
  if (opt___0->show_rename_progress >= 0) {
    if (opt___0->show_rename_progress <= 1) {
      tmp___2 = 1;
    } else {
      tmp___2 = 0;
    }
  } else {
    tmp___2 = 0;
  }
  assert(tmp___2);
  assert(opt___0->xdl_opts >= 0L);
  if ((unsigned int )opt___0->recursive_variant >= 0U) {
    if ((unsigned int )opt___0->recursive_variant <= 2U) {
      tmp___3 = 1;
    } else {
      tmp___3 = 0;
    }
  } else {
    tmp___3 = 0;
  }
  assert(tmp___3);
  if (opt___0->detect_renames >= -1) {
    if (opt___0->detect_renames <= 2) {
      tmp___4 = 1;
    } else {
      tmp___4 = 0;
    }
  } else {
    tmp___4 = 0;
  }
  assert(tmp___4);
  if (opt___0->verbosity >= 0) {
    if (opt___0->verbosity <= 5) {
      tmp___5 = 1;
    } else {
      tmp___5 = 0;
    }
  } else {
    tmp___5 = 0;
  }
  assert(tmp___5);
  assert(opt___0->buffer_output <= 2U);
  assert(opt___0->obuf.len == 0UL);
  assert((unsigned long )opt___0->priv == (unsigned long )((void *)0));
  if (result___0->_properly_initialized != 0U) {
    if (result___0->_properly_initialized != RESULT_INITIALIZED) {
      BUG_fl((char const   *)"merge-ort.c", 4373, (char const   *)"struct merge_result passed to merge_incore_*recursive() must be zeroed or filled with values from a previous run");
    }
  }
  assert(! (! result___0->priv) == ! (! result___0->_properly_initialized));
  if (result___0->priv) {
    opt___0->priv = (struct merge_options_internal *)result___0->priv;
    result___0->priv = (void *)0;
    assert((opt___0->priv)->call_depth == 0);
    if (! (opt___0->priv)->toplevel_dir) {
      tmp___7 = 1;
    } else {
      tmp___6 = strlen((opt___0->priv)->toplevel_dir);
      if (0UL == tmp___6) {
        tmp___7 = 1;
      } else {
        tmp___7 = 0;
      }
    }
    assert(tmp___7);
  }
  trace2_region_leave_fl((char const   *)"merge-ort.c", 4387, (char const   *)"merge",
                         (char const   *)"sanity checks", (struct repository  const  *)opt___0->repo);
  opt___0->xdl_opts = (opt___0->xdl_opts & (long )(~ ((1 << 14) | (1 << 15)))) | (long )(1 << 15);
  if (opt___0->renormalize) {
    git_attr_set_direction((enum git_attr_direction )1);
  }
  trace2_region_enter_fl((char const   *)"merge-ort.c", 4397, (char const   *)"merge",
                         (char const   *)"allocate/init", (struct repository  const  *)opt___0->repo);
  if (opt___0->priv) {
    clear_or_reinit_internal_opts(opt___0->priv, 1);
    trace2_region_leave_fl((char const   *)"merge-ort.c", 4400, (char const   *)"merge",
                           (char const   *)"allocate/init", (struct repository  const  *)opt___0->repo);
    return;
  }
  tmp___8 = xcalloc((size_t )1, sizeof(*(opt___0->priv)));
  opt___0->priv = (struct merge_options_internal *)tmp___8;
  renames = & (opt___0->priv)->renames;
  mem_pool_init(& (opt___0->priv)->pool, (size_t )0);
  pool = & (opt___0->priv)->pool;
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i <= 2)) {
      goto while_break;
    }
    strintmap_init_with_options(& renames->dirs_removed[i], 0, pool, 0);
    strmap_init_with_options(& renames->dir_rename_count[i], (struct mem_pool *)((void *)0),
                             1);
    strmap_init_with_options(& renames->dir_renames[i], (struct mem_pool *)((void *)0),
                             0);
    strintmap_init_with_options(& renames->relevant_sources[i], -1, pool, 0);
    strmap_init_with_options(& renames->cached_pairs[i], (struct mem_pool *)((void *)0),
                             1);
    strset_init_with_options(& renames->cached_irrelevant[i], (struct mem_pool *)((void *)0),
                             1);
    strset_init_with_options(& renames->cached_target_names[i], (struct mem_pool *)((void *)0),
                             0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i <= 2)) {
      goto while_break___0;
    }
    strintmap_init_with_options(& renames->deferred[i].possible_trivial_merges, 0,
                                pool, 0);
    strset_init_with_options(& renames->deferred[i].target_dirs, pool, 1);
    renames->deferred[i].trivial_merges_okay = 1U;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  strmap_init_with_options(& (opt___0->priv)->paths, pool, 0);
  strmap_init_with_options(& (opt___0->priv)->conflicted, pool, 0);
  strmap_init(& (opt___0->priv)->output);
  trace2_region_leave_fl((char const   *)"merge-ort.c", 4460, (char const   *)"merge",
                         (char const   *)"allocate/init", (struct repository  const  *)opt___0->repo);
  return;
}
}
static void merge_check_renames_reusable(struct merge_options *opt___0 , struct merge_result *result___0 ,
                                         struct tree *merge_base , struct tree *side1 ,
                                         struct tree *side2 )
{
  struct rename_info *renames ;
  struct tree **merge_trees___1 ;
  struct merge_options_internal *opti ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  opti = (struct merge_options_internal *)result___0->priv;
  if (! opti) {
    return;
  }
  renames = & opti->renames;
  merge_trees___1 = renames->merge_trees;
  if (! *(merge_trees___1 + 0)) {
    if (! *(merge_trees___1 + 0)) {
      if (! *(merge_trees___1 + 1)) {
        if (! *(merge_trees___1 + 2)) {
          tmp = 1;
        } else {
          tmp = 0;
        }
      } else {
        tmp = 0;
      }
    } else {
      tmp = 0;
    }
    assert(tmp);
    renames->cached_pairs_valid_side = 0;
    return;
  }
  if (*(merge_trees___1 + 0)) {
    if (*(merge_trees___1 + 1)) {
      if (*(merge_trees___1 + 2)) {
        tmp___0 = 1;
      } else {
        tmp___0 = 0;
      }
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  assert(tmp___0);
  tmp___3 = oideq((struct object_id  const  *)(& merge_base->object.oid), (struct object_id  const  *)(& (*(merge_trees___1 + 2))->object.oid));
  if (tmp___3) {
    tmp___4 = oideq((struct object_id  const  *)(& side1->object.oid), (struct object_id  const  *)(& (result___0->tree)->object.oid));
    if (tmp___4) {
      renames->cached_pairs_valid_side = 1;
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp___1 = oideq((struct object_id  const  *)(& merge_base->object.oid), (struct object_id  const  *)(& (*(merge_trees___1 + 1))->object.oid));
    if (tmp___1) {
      tmp___2 = oideq((struct object_id  const  *)(& side2->object.oid), (struct object_id  const  *)(& (result___0->tree)->object.oid));
      if (tmp___2) {
        renames->cached_pairs_valid_side = 2;
      } else {
        renames->cached_pairs_valid_side = 0;
      }
    } else {
      renames->cached_pairs_valid_side = 0;
    }
  }
  return;
}
}
static void merge_ort_nonrecursive_internal(struct merge_options *opt___0 , struct tree *merge_base ,
                                            struct tree *side1 , struct tree *side2 ,
                                            struct merge_result *result___0 )
{
  struct object_id working_tree_oid ;
  char *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  if (opt___0->subtree_shift) {
    side2 = shift_tree_object(opt___0->repo, side1, side2, opt___0->subtree_shift);
    merge_base = shift_tree_object(opt___0->repo, side1, merge_base, opt___0->subtree_shift);
  }
  redo:
  trace2_region_enter_fl((char const   *)"merge-ort.c", 4528, (char const   *)"merge",
                         (char const   *)"collect_merge_info", (struct repository  const  *)opt___0->repo);
  tmp___3 = collect_merge_info(opt___0, merge_base, side1, side2);
  if (tmp___3 != 0) {
    tmp = oid_to_hex((struct object_id  const  *)(& side2->object.oid));
    tmp___0 = oid_to_hex((struct object_id  const  *)(& side1->object.oid));
    tmp___1 = oid_to_hex((struct object_id  const  *)(& merge_base->object.oid));
    tmp___2 = _((char const   *)"collecting merge info failed for trees %s, %s, %s");
    err___1(opt___0, (char const   *)tmp___2, tmp___1, tmp___0, tmp);
    result___0->clean = -1;
    return;
  }
  trace2_region_leave_fl((char const   *)"merge-ort.c", 4541, (char const   *)"merge",
                         (char const   *)"collect_merge_info", (struct repository  const  *)opt___0->repo);
  trace2_region_enter_fl((char const   *)"merge-ort.c", 4543, (char const   *)"merge",
                         (char const   *)"renames", (struct repository  const  *)opt___0->repo);
  result___0->clean = detect_and_process_renames(opt___0, merge_base, side1, side2);
  trace2_region_leave_fl((char const   *)"merge-ort.c", 4546, (char const   *)"merge",
                         (char const   *)"renames", (struct repository  const  *)opt___0->repo);
  if ((opt___0->priv)->renames.redo_after_renames == 2U) {
    trace2_region_enter_fl((char const   *)"merge-ort.c", 4548, (char const   *)"merge",
                           (char const   *)"reset_maps", (struct repository  const  *)opt___0->repo);
    clear_or_reinit_internal_opts(opt___0->priv, 1);
    trace2_region_leave_fl((char const   *)"merge-ort.c", 4550, (char const   *)"merge",
                           (char const   *)"reset_maps", (struct repository  const  *)opt___0->repo);
    goto redo;
  }
  trace2_region_enter_fl((char const   *)"merge-ort.c", 4554, (char const   *)"merge",
                         (char const   *)"process_entries", (struct repository  const  *)opt___0->repo);
  process_entries(opt___0, & working_tree_oid);
  trace2_region_leave_fl((char const   *)"merge-ort.c", 4556, (char const   *)"merge",
                         (char const   *)"process_entries", (struct repository  const  *)opt___0->repo);
  result___0->tree = parse_tree_indirect((struct object_id  const  *)(& working_tree_oid));
  tmp___4 = strmap_empty(& (opt___0->priv)->conflicted);
  result___0->clean &= tmp___4;
  if (! (opt___0->priv)->call_depth) {
    result___0->priv = (void *)opt___0->priv;
    result___0->_properly_initialized = RESULT_INITIALIZED;
    opt___0->priv = (struct merge_options_internal *)((void *)0);
  }
  return;
}
}
static void merge_ort_internal(struct merge_options *opt___0 , struct commit_list *merge_bases ,
                               struct commit *h1 , struct commit *h2 , struct merge_result *result___0 )
{
  struct commit_list *iter___0 ;
  struct commit *merged_merge_bases ;
  char const   *ancestor_name ;
  struct strbuf merge_base_abbrev ;
  struct tree *tree ;
  char const   *saved_b1 ;
  char const   *saved_b2 ;
  struct commit *prev ;
  struct tree *tmp ;
  struct tree *tmp___0 ;
  struct tree *tmp___1 ;

  {
  merge_base_abbrev.alloc = 0UL;
  merge_base_abbrev.len = 0UL;
  merge_base_abbrev.buf = strbuf_slopbuf;
  if (! merge_bases) {
    merge_bases = repo_get_merge_bases(the_repository, h1, h2);
    merge_bases = reverse_commit_list(merge_bases);
  }
  merged_merge_bases = pop_commit(& merge_bases);
  if ((unsigned long )merged_merge_bases == (unsigned long )((void *)0)) {
    tree = lookup_tree(opt___0->repo, (struct object_id  const  *)((opt___0->repo)->hash_algo)->empty_tree);
    merged_merge_bases = make_virtual_commit(opt___0->repo, tree, (char const   *)"ancestor");
    ancestor_name = (char const   *)"empty tree";
  } else
  if (merge_bases) {
    ancestor_name = (char const   *)"merged common ancestors";
  } else {
    strbuf_add_unique_abbrev(& merge_base_abbrev, (struct object_id  const  *)(& merged_merge_bases->object.oid),
                             default_abbrev);
    ancestor_name = (char const   *)merge_base_abbrev.buf;
  }
  iter___0 = merge_bases;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! iter___0) {
      goto while_break;
    }
    prev = merged_merge_bases;
    ((opt___0->priv)->call_depth) ++;
    saved_b1 = opt___0->branch1;
    saved_b2 = opt___0->branch2;
    opt___0->branch1 = (char const   *)"Temporary merge branch 1";
    opt___0->branch2 = (char const   *)"Temporary merge branch 2";
    merge_ort_internal(opt___0, (struct commit_list *)((void *)0), prev, iter___0->item,
                       result___0);
    if (result___0->clean < 0) {
      return;
    }
    opt___0->branch1 = saved_b1;
    opt___0->branch2 = saved_b2;
    ((opt___0->priv)->call_depth) --;
    merged_merge_bases = make_virtual_commit(opt___0->repo, result___0->tree, (char const   *)"merged tree");
    commit_list_insert(prev, & merged_merge_bases->parents);
    commit_list_insert(iter___0->item, & (merged_merge_bases->parents)->next);
    clear_or_reinit_internal_opts(opt___0->priv, 1);
    iter___0 = iter___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  opt___0->ancestor = ancestor_name;
  tmp = repo_get_commit_tree(opt___0->repo, (struct commit  const  *)h2);
  tmp___0 = repo_get_commit_tree(opt___0->repo, (struct commit  const  *)h1);
  tmp___1 = repo_get_commit_tree(opt___0->repo, (struct commit  const  *)merged_merge_bases);
  merge_ort_nonrecursive_internal(opt___0, tmp___1, tmp___0, tmp, result___0);
  strbuf_release(& merge_base_abbrev);
  opt___0->ancestor = (char const   *)((void *)0);
  return;
}
}
void merge_incore_nonrecursive(struct merge_options *opt___0 , struct tree *merge_base ,
                               struct tree *side1 , struct tree *side2 , struct merge_result *result___0 )
{


  {
  trace2_region_enter_fl((char const   *)"merge-ort.c", 4658, (char const   *)"merge",
                         (char const   *)"incore_nonrecursive", (struct repository  const  *)opt___0->repo);
  trace2_region_enter_fl((char const   *)"merge-ort.c", 4660, (char const   *)"merge",
                         (char const   *)"merge_start", (struct repository  const  *)opt___0->repo);
  assert((unsigned long )opt___0->ancestor != (unsigned long )((void *)0));
  merge_check_renames_reusable(opt___0, result___0, merge_base, side1, side2);
  merge_start(opt___0, result___0);
  (opt___0->priv)->renames.merge_trees[0] = merge_base;
  (opt___0->priv)->renames.merge_trees[1] = side1;
  (opt___0->priv)->renames.merge_trees[2] = side2;
  trace2_region_leave_fl((char const   *)"merge-ort.c", 4672, (char const   *)"merge",
                         (char const   *)"merge_start", (struct repository  const  *)opt___0->repo);
  merge_ort_nonrecursive_internal(opt___0, merge_base, side1, side2, result___0);
  trace2_region_leave_fl((char const   *)"merge-ort.c", 4675, (char const   *)"merge",
                         (char const   *)"incore_nonrecursive", (struct repository  const  *)opt___0->repo);
  return;
}
}
void merge_incore_recursive(struct merge_options *opt___0 , struct commit_list *merge_bases ,
                            struct commit *side1 , struct commit *side2 , struct merge_result *result___0 )
{


  {
  trace2_region_enter_fl((char const   *)"merge-ort.c", 4684, (char const   *)"merge",
                         (char const   *)"incore_recursive", (struct repository  const  *)opt___0->repo);
  assert((unsigned long )opt___0->ancestor == (unsigned long )((void *)0));
  trace2_region_enter_fl((char const   *)"merge-ort.c", 4689, (char const   *)"merge",
                         (char const   *)"merge_start", (struct repository  const  *)opt___0->repo);
  merge_start(opt___0, result___0);
  trace2_region_leave_fl((char const   *)"merge-ort.c", 4691, (char const   *)"merge",
                         (char const   *)"merge_start", (struct repository  const  *)opt___0->repo);
  merge_ort_internal(opt___0, merge_bases, side1, side2, result___0);
  trace2_region_leave_fl((char const   *)"merge-ort.c", 4694, (char const   *)"merge",
                         (char const   *)"incore_recursive", (struct repository  const  *)opt___0->repo);
  return;
}
}
int merge_ort_nonrecursive(struct merge_options *opt___0 , struct tree *head___1 ,
                           struct tree *merge___1 , struct tree *merge_base ) ;
int merge_ort_recursive(struct merge_options *opt___0 , struct commit *side1 , struct commit *side2 ,
                        struct commit_list *merge_bases , struct commit **result___0 ) ;
static int unclean(struct merge_options *opt___0 , struct tree *head___1 )
{
  struct strbuf sb___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  if (head___1) {
    tmp___0 = repo_index_has_changes(opt___0->repo, head___1, & sb___6);
    if (tmp___0) {
      tmp = _((char const   *)"Your local changes to the following files would be overwritten by merge:\n  %s");
      fprintf(stderr, (char const   *)tmp, sb___6.buf);
      strbuf_release(& sb___6);
      return (-1);
    }
  }
  return (0);
}
}
int merge_ort_nonrecursive(struct merge_options *opt___0 , struct tree *head___1 ,
                           struct tree *merge___1 , struct tree *merge_base )
{
  struct merge_result result___0 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  tmp = unclean(opt___0, head___1);
  if (tmp) {
    return (-1);
  }
  tmp___1 = oideq((struct object_id  const  *)(& merge_base->object.oid), (struct object_id  const  *)(& merge___1->object.oid));
  if (tmp___1) {
    tmp___0 = _((char const   *)"Already up to date.");
    printf_ln((char const   *)tmp___0);
    return (1);
  }
  memset((void *)(& result___0), 0, sizeof(result___0));
  merge_incore_nonrecursive(opt___0, merge_base, head___1, merge___1, & result___0);
  merge_switch_to_result(opt___0, head___1, & result___0, 1, 1);
  return (result___0.clean);
}
}
int merge_ort_recursive(struct merge_options *opt___0 , struct commit *side1 , struct commit *side2 ,
                        struct commit_list *merge_bases , struct commit **result___0 )
{
  struct tree *head___1 ;
  struct tree *tmp ;
  struct merge_result tmp___0 ;
  int tmp___1 ;

  {
  tmp = repo_get_commit_tree(opt___0->repo, (struct commit  const  *)side1);
  head___1 = tmp;
  tmp___1 = unclean(opt___0, head___1);
  if (tmp___1) {
    return (-1);
  }
  memset((void *)(& tmp___0), 0, sizeof(tmp___0));
  merge_incore_recursive(opt___0, merge_bases, side1, side2, & tmp___0);
  merge_switch_to_result(opt___0, head___1, & tmp___0, 1, 1);
  *result___0 = (struct commit *)((void *)0);
  return (tmp___0.clean);
}
}
static void init_contains_cache_with_stride___6(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___6(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___6(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___6(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___6(s___1, 1U);
  return;
}
}
static void clear_contains_cache___6(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___6(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___6(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___6(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___6(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___6(struct contains_cache *s___1 ,
                                                        struct commit  const  *c___0 ,
                                                        int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___6(struct contains_cache *s___1 ,
                                                        struct commit  const  *c___0 ,
                                                        int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___6(struct contains_cache *s___1 ,
                                                   struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___6(struct contains_cache *s___1 ,
                                                   struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___6(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___6(struct contains_cache *s___1 ,
                                                     struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___6(struct contains_cache *s___1 ,
                                                     struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___6(s___1, c___0, 0);
  return (tmp);
}
}
static double const   __ac_HASH_UPPER___49  =    (double const   )0.77;
__inline static void kh_resize_oid_set___49(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___49(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___49 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___49 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___49(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___49(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___49(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___49(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___49(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___49(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___49 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___49 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___49(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___49(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___49(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___49(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___49(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___49(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___49 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___49 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___49(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___49(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___49(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___49(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___35(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___35(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___49 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___49 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___35(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___35(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___35(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___35(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int path_hashmap_cmp(void const   *cmp_data , struct hashmap_entry  const  *eptr ,
                            struct hashmap_entry  const  *entry_or_key , void const   *keydata )
{
  struct path_hashmap_entry  const  *a ;
  struct path_hashmap_entry  const  *b___0 ;
  char const   *key___1 ;
  char const   *tmp ;
  int tmp___0 ;

  {
  key___1 = (char const   *)keydata;
  a = (struct path_hashmap_entry  const  *)((char *)eptr - (unsigned long )(& ((struct path_hashmap_entry  const  *)0)->e));
  b___0 = (struct path_hashmap_entry  const  *)((char *)entry_or_key - (unsigned long )(& ((struct path_hashmap_entry  const  *)0)->e));
  if (key___1) {
    tmp = key___1;
  } else {
    tmp = (char const   *)(b___0->path);
  }
  tmp___0 = fspathcmp((char const   *)(a->path), tmp);
  return (tmp___0);
}
}
static struct dir_rename_entry *dir_rename_find_entry(struct hashmap *hashmap , char *dir )
{
  struct dir_rename_entry key___1 ;
  unsigned int tmp ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;

  {
  if ((unsigned long )dir == (unsigned long )((void *)0)) {
    return ((struct dir_rename_entry *)((void *)0));
  }
  tmp = strhash((char const   *)dir);
  hashmap_entry_init(& key___1.ent, tmp);
  key___1.dir = dir;
  tmp___0 = hashmap_get((struct hashmap  const  *)hashmap, (struct hashmap_entry  const  *)(& key___1.ent),
                        (void const   *)((void *)0));
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct dir_rename_entry *)0)->ent));
  return ((struct dir_rename_entry *)tmp___1);
}
}
static int dir_rename_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *eptr ,
                          struct hashmap_entry  const  *entry_or_key , void const   *unused_keydata )
{
  struct dir_rename_entry  const  *e1 ;
  struct dir_rename_entry  const  *e2 ;
  int tmp ;

  {
  e1 = (struct dir_rename_entry  const  *)((char *)eptr - (unsigned long )(& ((struct dir_rename_entry  const  *)0)->ent));
  e2 = (struct dir_rename_entry  const  *)((char *)entry_or_key - (unsigned long )(& ((struct dir_rename_entry  const  *)0)->ent));
  tmp = strcmp((char const   *)e1->dir, (char const   *)e2->dir);
  return (tmp);
}
}
static void dir_rename_init(struct hashmap *map___0 )
{


  {
  hashmap_init(map___0, & dir_rename_cmp, (void const   *)((void *)0), (size_t )0);
  return;
}
}
static void dir_rename_entry_init(struct dir_rename_entry *entry , char *directory )
{
  unsigned int tmp ;

  {
  tmp = strhash((char const   *)directory);
  hashmap_entry_init(& entry->ent, tmp);
  entry->dir = directory;
  entry->non_unique_new_dir = 0U;
  strbuf_init(& entry->new_dir, (size_t )0);
  string_list_init_nodup(& entry->possible_new_dirs);
  return;
}
}
static struct collision_entry *collision_find_entry(struct hashmap *hashmap , char *target_file )
{
  struct collision_entry key___1 ;
  unsigned int tmp ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;

  {
  tmp = strhash((char const   *)target_file);
  hashmap_entry_init(& key___1.ent, tmp);
  key___1.target_file = target_file;
  tmp___0 = hashmap_get((struct hashmap  const  *)hashmap, (struct hashmap_entry  const  *)(& key___1.ent),
                        (void const   *)((void *)0));
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct collision_entry *)0)->ent));
  return ((struct collision_entry *)tmp___1);
}
}
static int collision_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *eptr ,
                         struct hashmap_entry  const  *entry_or_key , void const   *unused_keydata )
{
  struct collision_entry  const  *e1 ;
  struct collision_entry  const  *e2 ;
  int tmp ;

  {
  e1 = (struct collision_entry  const  *)((char *)eptr - (unsigned long )(& ((struct collision_entry  const  *)0)->ent));
  e2 = (struct collision_entry  const  *)((char *)entry_or_key - (unsigned long )(& ((struct collision_entry  const  *)0)->ent));
  tmp = strcmp((char const   *)e1->target_file, (char const   *)e2->target_file);
  return (tmp);
}
}
static void collision_init(struct hashmap *map___0 )
{


  {
  hashmap_init(map___0, & collision_cmp, (void const   *)((void *)0), (size_t )0);
  return;
}
}
static void flush_output(struct merge_options___0 *opt___0 )
{


  {
  if (opt___0->buffer_output < 2U) {
    if (opt___0->obuf.len) {
      fputs((char const   * __restrict  )opt___0->obuf.buf, (FILE * __restrict  )stdout);
      strbuf_setlen(& opt___0->obuf, (size_t )0);
    }
  }
  return;
}
}
static int ( /* format attribute */  err___2)(struct merge_options___0 *opt___0 ,
                                              char const   *err___4  , ...)
{
  va_list params ;

  {
  if (opt___0->buffer_output < 2U) {
    flush_output(opt___0);
  } else {
    strbuf_complete(& opt___0->obuf, (char )'\n');
    strbuf_addstr(& opt___0->obuf, (char const   *)"error: ");
  }
  __builtin_va_start(params, err___4);
  strbuf_vaddf(& opt___0->obuf, err___4, params);
  __builtin_va_end(params);
  if (opt___0->buffer_output > 1U) {
    strbuf_addch(& opt___0->obuf, '\n');
  } else {
    error((char const   *)"%s", opt___0->obuf.buf);
    const_error();
    strbuf_setlen(& opt___0->obuf, (size_t )0);
  }
  return (-1);
}
}
static struct tree *shift_tree_object___0(struct repository *repo , struct tree *one___0 ,
                                          struct tree *two___0 , char const   *subtree_shift )
{
  struct object_id shifted ;
  int tmp ;
  struct tree *tmp___0 ;

  {
  if (! *subtree_shift) {
    shift_tree(repo, (struct object_id  const  *)(& one___0->object.oid), (struct object_id  const  *)(& two___0->object.oid),
               & shifted, 0);
  } else {
    shift_tree_by(repo, (struct object_id  const  *)(& one___0->object.oid), (struct object_id  const  *)(& two___0->object.oid),
                  & shifted, subtree_shift);
  }
  tmp = oideq((struct object_id  const  *)(& two___0->object.oid), (struct object_id  const  *)(& shifted));
  if (tmp) {
    return (two___0);
  }
  tmp___0 = lookup_tree(repo, (struct object_id  const  *)(& shifted));
  return (tmp___0);
}
}
static struct commit *make_virtual_commit___0(struct repository *repo , struct tree *tree ,
                                              char const   *comment )
{
  struct commit *commit ;
  void *tmp ;

  {
  tmp = alloc_commit_node(repo);
  commit = (struct commit *)tmp;
  set_merge_remote_desc(commit, comment, (struct object *)commit);
  set_commit_tree(commit, tree);
  commit->object.parsed = 1U;
  return (commit);
}
}
__inline static void setup_rename_conflict_info(enum rename_type rename_type , struct merge_options___0 *opt___0 ,
                                                struct rename *ren1 , struct rename *ren2 )
{
  struct rename_conflict_info *ci ;
  void *tmp ;

  {
  if (ren2) {
    if ((unsigned long )ren1->branch != (unsigned long )opt___0->branch1) {
      setup_rename_conflict_info(rename_type, opt___0, ren2, ren1);
      return;
    }
  }
  tmp = xcalloc((size_t )1, sizeof(*ci));
  ci = (struct rename_conflict_info *)tmp;
  ci->rename_type = rename_type;
  ci->ren1 = ren1;
  ci->ren2 = ren2;
  ((ci->ren1)->dst_entry)->processed = 0U;
  ((ci->ren1)->dst_entry)->rename_conflict_info = ci;
  if (ren2) {
    ((ci->ren2)->dst_entry)->rename_conflict_info = ci;
  }
  return;
}
}
static int show(struct merge_options___0 *opt___0 , int v )
{
  int tmp ;

  {
  if (! (opt___0->priv)->call_depth) {
    if (opt___0->verbosity >= v) {
      tmp = 1;
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (opt___0->verbosity >= 5) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static void ( /* format attribute */  output)(struct merge_options___0 *opt___0 ,
                                              int v , char const   *fmt  , ...)
{
  va_list ap ;
  int tmp ;

  {
  tmp = show(opt___0, v);
  if (! tmp) {
    return;
  }
  strbuf_addchars(& opt___0->obuf, ' ', (size_t )((opt___0->priv)->call_depth * 2));
  __builtin_va_start(ap, fmt);
  strbuf_vaddf(& opt___0->obuf, fmt, ap);
  __builtin_va_end(ap);
  strbuf_addch(& opt___0->obuf, '\n');
  if (! opt___0->buffer_output) {
    flush_output(opt___0);
  }
  return;
}
}
static void repo_output_commit_title(struct merge_options___0 *opt___0 , struct repository *repo ,
                                     struct commit *commit )
{
  struct merge_remote_desc *desc___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *title ;
  char const   *msg___5 ;
  void const   *tmp___0 ;
  int len___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  strbuf_addchars(& opt___0->obuf, ' ', (size_t )((opt___0->priv)->call_depth * 2));
  desc___0 = merge_remote_util(commit);
  if (desc___0) {
    strbuf_addf(& opt___0->obuf, (char const   *)"virtual %s\n", desc___0->name);
  } else {
    strbuf_repo_add_unique_abbrev(& opt___0->obuf, repo, (struct object_id  const  *)(& commit->object.oid),
                                  default_abbrev);
    strbuf_addch(& opt___0->obuf, ' ');
    tmp___2 = repo_parse_commit(repo, commit);
    if (tmp___2 != 0) {
      tmp = _((char const   *)"(bad commit)\n");
      strbuf_addstr(& opt___0->obuf, (char const   *)tmp);
    } else {
      tmp___0 = repo_get_commit_buffer(repo, (struct commit  const  *)commit, (unsigned long *)((void *)0));
      msg___5 = (char const   *)tmp___0;
      tmp___1 = find_commit_subject(msg___5, & title);
      len___0 = tmp___1;
      if (len___0) {
        strbuf_addf(& opt___0->obuf, (char const   *)"%.*s\n", len___0, title);
      }
      repo_unuse_commit_buffer(repo, (struct commit  const  *)commit, (void const   *)msg___5);
    }
  }
  flush_output(opt___0);
  return;
}
}
static void output_commit_title(struct merge_options___0 *opt___0 , struct commit *commit )
{


  {
  repo_output_commit_title(opt___0, the_repository, commit);
  return;
}
}
static int add_cacheinfo(struct merge_options___0 *opt___0 , struct diff_filespec  const  *blob ,
                         char const   *path___6 , int stage , int refresh___1 , int options )
{
  struct index_state *istate ;
  struct cache_entry *ce ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  struct cache_entry *nce ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  istate = (opt___0->repo)->index;
  ce = make_cache_entry(istate, (unsigned int )blob->mode, (struct object_id  const  *)(& blob->oid),
                        path___6, stage, 0U);
  if (! ce) {
    tmp = _((char const   *)"add_cacheinfo failed for path \'%s\'; merge aborting.");
    tmp___0 = err___2(opt___0, (char const   *)tmp, path___6);
    return (tmp___0);
  }
  ret___67 = add_index_entry(istate, ce, options);
  if (refresh___1) {
    nce = refresh_cache_entry(istate, ce, 24U);
    if (! nce) {
      tmp___1 = _((char const   *)"add_cacheinfo failed to refresh for path \'%s\'; merge aborting.");
      tmp___2 = err___2(opt___0, (char const   *)tmp___1, path___6);
      return (tmp___2);
    }
    if ((unsigned long )nce != (unsigned long )ce) {
      ret___67 = add_index_entry(istate, nce, options);
    }
  }
  return (ret___67);
}
}
__inline static int merge_detect_rename(struct merge_options___0 *opt___0 )
{
  int tmp ;

  {
  if (opt___0->detect_renames >= 0) {
    tmp = opt___0->detect_renames;
  } else {
    tmp = 1;
  }
  return (tmp);
}
}
static void init_tree_desc_from_tree(struct tree_desc *desc___0 , struct tree *tree )
{


  {
  parse_tree(tree);
  init_tree_desc(desc___0, (void const   *)tree->buffer, tree->size);
  return;
}
}
static int unpack_trees_start(struct merge_options___0 *opt___0 , struct tree *common ,
                              struct tree *head___1 , struct tree *merge___1 )
{
  int rc___0 ;
  struct tree_desc t[3] ;
  struct index_state tmp_index ;
  int tmp ;
  int tmp___0 ;

  {
  tmp_index.cache = (struct cache_entry **)((void *)0);
  tmp_index.version = 0U;
  tmp_index.cache_nr = 0U;
  tmp_index.cache_alloc = 0U;
  tmp_index.cache_changed = 0U;
  tmp_index.resolve_undo = (struct string_list *)0;
  tmp_index.cache_tree = (struct cache_tree *)0;
  tmp_index.split_index = (struct split_index *)0;
  tmp_index.timestamp.sec = 0U;
  tmp_index.timestamp.nsec = 0U;
  tmp_index.name_hash_initialized = 0U;
  tmp_index.initialized = 0U;
  tmp_index.drop_cache_tree = 0U;
  tmp_index.updated_workdir = 0U;
  tmp_index.updated_skipworktree = 0U;
  tmp_index.fsmonitor_has_run_once = 0U;
  tmp_index.sparse_index = 0U;
  tmp_index.name_hash.table = (struct hashmap_entry **)0;
  tmp_index.name_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                       struct hashmap_entry  const  *entry_or_key ,
                                       void const   *keydata ))0;
  tmp_index.name_hash.cmpfn_data = (void const   *)0;
  tmp_index.name_hash.private_size = 0U;
  tmp_index.name_hash.tablesize = 0U;
  tmp_index.name_hash.grow_at = 0U;
  tmp_index.name_hash.shrink_at = 0U;
  tmp_index.name_hash.do_count_items = 0U;
  tmp_index.dir_hash.table = (struct hashmap_entry **)0;
  tmp_index.dir_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                      struct hashmap_entry  const  *entry_or_key ,
                                      void const   *keydata ))0;
  tmp_index.dir_hash.cmpfn_data = (void const   *)0;
  tmp_index.dir_hash.private_size = 0U;
  tmp_index.dir_hash.tablesize = 0U;
  tmp_index.dir_hash.grow_at = 0U;
  tmp_index.dir_hash.shrink_at = 0U;
  tmp_index.dir_hash.do_count_items = 0U;
  tmp_index.oid.hash[0] = (unsigned char)0;
  tmp_index.oid.hash[1] = (unsigned char)0;
  tmp_index.oid.hash[2] = (unsigned char)0;
  tmp_index.oid.hash[3] = (unsigned char)0;
  tmp_index.oid.hash[4] = (unsigned char)0;
  tmp_index.oid.hash[5] = (unsigned char)0;
  tmp_index.oid.hash[6] = (unsigned char)0;
  tmp_index.oid.hash[7] = (unsigned char)0;
  tmp_index.oid.hash[8] = (unsigned char)0;
  tmp_index.oid.hash[9] = (unsigned char)0;
  tmp_index.oid.hash[10] = (unsigned char)0;
  tmp_index.oid.hash[11] = (unsigned char)0;
  tmp_index.oid.hash[12] = (unsigned char)0;
  tmp_index.oid.hash[13] = (unsigned char)0;
  tmp_index.oid.hash[14] = (unsigned char)0;
  tmp_index.oid.hash[15] = (unsigned char)0;
  tmp_index.oid.hash[16] = (unsigned char)0;
  tmp_index.oid.hash[17] = (unsigned char)0;
  tmp_index.oid.hash[18] = (unsigned char)0;
  tmp_index.oid.hash[19] = (unsigned char)0;
  tmp_index.oid.hash[20] = (unsigned char)0;
  tmp_index.oid.hash[21] = (unsigned char)0;
  tmp_index.oid.hash[22] = (unsigned char)0;
  tmp_index.oid.hash[23] = (unsigned char)0;
  tmp_index.oid.hash[24] = (unsigned char)0;
  tmp_index.oid.hash[25] = (unsigned char)0;
  tmp_index.oid.hash[26] = (unsigned char)0;
  tmp_index.oid.hash[27] = (unsigned char)0;
  tmp_index.oid.hash[28] = (unsigned char)0;
  tmp_index.oid.hash[29] = (unsigned char)0;
  tmp_index.oid.hash[30] = (unsigned char)0;
  tmp_index.oid.hash[31] = (unsigned char)0;
  tmp_index.oid.algo = 0;
  tmp_index.untracked = (struct untracked_cache *)0;
  tmp_index.fsmonitor_last_update = (char *)0;
  tmp_index.fsmonitor_dirty = (struct ewah_bitmap *)0;
  tmp_index.ce_mem_pool = (struct mem_pool *)0;
  tmp_index.progress = (struct progress *)0;
  tmp_index.repo = (struct repository *)0;
  tmp_index.sparse_checkout_patterns = (struct pattern_list *)0;
  memset((void *)(& (opt___0->priv)->unpack_opts), 0, sizeof((opt___0->priv)->unpack_opts));
  if ((opt___0->priv)->call_depth) {
    (opt___0->priv)->unpack_opts.index_only = 1U;
  } else {
    (opt___0->priv)->unpack_opts.update = 1U;
    (opt___0->priv)->unpack_opts.preserve_ignored = 0U;
  }
  (opt___0->priv)->unpack_opts.merge = 1U;
  (opt___0->priv)->unpack_opts.head_idx = 2;
  (opt___0->priv)->unpack_opts.fn = & threeway_merge;
  (opt___0->priv)->unpack_opts.src_index = (opt___0->repo)->index;
  (opt___0->priv)->unpack_opts.dst_index = & tmp_index;
  tmp = merge_detect_rename(opt___0);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  (opt___0->priv)->unpack_opts.aggressive = (unsigned int )tmp___0;
  setup_unpack_trees_porcelain(& (opt___0->priv)->unpack_opts, (char const   *)"merge");
  init_tree_desc_from_tree(t + 0, common);
  init_tree_desc_from_tree(t + 1, head___1);
  init_tree_desc_from_tree(t + 2, merge___1);
  rc___0 = unpack_trees(3U, t, & (opt___0->priv)->unpack_opts);
  cache_tree_free(& ((opt___0->repo)->index)->cache_tree);
  (opt___0->priv)->orig_index = *((opt___0->repo)->index);
  *((opt___0->repo)->index) = tmp_index;
  (opt___0->priv)->unpack_opts.src_index = & (opt___0->priv)->orig_index;
  return (rc___0);
}
}
static void unpack_trees_finish(struct merge_options___0 *opt___0 )
{


  {
  discard_index(& (opt___0->priv)->orig_index);
  clear_unpack_trees_porcelain(& (opt___0->priv)->unpack_opts);
  return;
}
}
static int save_files_dirs(struct object_id  const  *oid , struct strbuf *base , char const   *path___6 ,
                           unsigned int mode___1 , void *context___0 )
{
  struct path_hashmap_entry *entry ;
  int baselen ;
  struct merge_options___0 *opt___0 ;
  size_t flex_array_len_ ;
  size_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  unsigned int tmp___2 ;
  int tmp___3 ;

  {
  baselen = (int )base->len;
  opt___0 = (struct merge_options___0 *)context___0;
  strbuf_addstr(base, path___6);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    flex_array_len_ = base->len;
    tmp = st_add(sizeof(*entry), flex_array_len_);
    tmp___0 = st_add(tmp, (size_t )1);
    tmp___1 = xcalloc((size_t )1, tmp___0);
    entry = (struct path_hashmap_entry *)tmp___1;
    memcpy((void *)(entry->path), (void const   *)base->buf, flex_array_len_);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = fspathhash((char const   *)(entry->path));
  hashmap_entry_init(& entry->e, tmp___2);
  hashmap_add(& (opt___0->priv)->current_file_dir_set, & entry->e);
  strbuf_setlen(base, (size_t )baselen);
  if ((mode___1 & 61440U) == 16384U) {
    tmp___3 = 1;
  } else {
    tmp___3 = 0;
  }
  return (tmp___3);
}
}
static void get_files_dirs(struct merge_options___0 *opt___0 , struct tree *tree )
{
  struct pathspec match_all ;

  {
  memset((void *)(& match_all), 0, sizeof(match_all));
  read_tree(opt___0->repo, tree, (struct pathspec  const  *)(& match_all), & save_files_dirs,
            (void *)opt___0);
  return;
}
}
static int get_tree_entry_if_blob(struct repository *r , struct object_id  const  *tree ,
                                  char const   *path___6 , struct diff_filespec *dfs )
{
  int ret___67 ;
  struct object_id  const  *tmp ;

  {
  ret___67 = get_tree_entry(r, tree, path___6, & dfs->oid, & dfs->mode);
  if (((int )dfs->mode & 0170000) == 0040000) {
    tmp = null_oid();
    oidcpy(& dfs->oid, tmp);
    dfs->mode = (unsigned short)0;
  }
  return (ret___67);
}
}
static struct stage_data *insert_stage_data(struct repository *r , char const   *path___6 ,
                                            struct tree *o , struct tree *a , struct tree *b___0 ,
                                            struct string_list *entries___1 )
{
  struct string_list_item *item___0 ;
  struct stage_data *e ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(struct stage_data ));
  e = (struct stage_data *)tmp;
  get_tree_entry_if_blob(r, (struct object_id  const  *)(& o->object.oid), path___6,
                         & e->stages[1]);
  get_tree_entry_if_blob(r, (struct object_id  const  *)(& a->object.oid), path___6,
                         & e->stages[2]);
  get_tree_entry_if_blob(r, (struct object_id  const  *)(& b___0->object.oid), path___6,
                         & e->stages[3]);
  item___0 = string_list_insert(entries___1, path___6);
  item___0->util = (void *)e;
  return (e);
}
}
static struct string_list *get_unmerged(struct index_state *istate )
{
  struct string_list *unmerged ;
  void *tmp ;
  int i ;
  struct string_list_item *item___0 ;
  struct stage_data *e ;
  struct cache_entry  const  *ce ;

  {
  tmp = xcalloc((size_t )1, sizeof(struct string_list ));
  unmerged = (struct string_list *)tmp;
  unmerged->strdup_strings = 1U;
  ensure_full_index(istate);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    ce = (struct cache_entry  const  *)*(istate->cache + i);
    if (! ((12288U & ce->ce_flags) >> 12)) {
      goto __Cont;
    }
    item___0 = string_list_lookup(unmerged, (char const   *)(ce->name));
    if (! item___0) {
      item___0 = string_list_insert(unmerged, (char const   *)(ce->name));
      item___0->util = xcalloc((size_t )1, sizeof(struct stage_data ));
    }
    e = (struct stage_data *)item___0->util;
    e->stages[(12288U & ce->ce_flags) >> 12].mode = (unsigned short )ce->ce_mode;
    oidcpy(& e->stages[(12288U & ce->ce_flags) >> 12].oid, (struct object_id  const  *)(& ce->oid));
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (unmerged);
}
}
static int string_list_df_name_compare(char const   *one___0 , char const   *two___0 )
{
  int onelen ;
  size_t tmp ;
  int twolen ;
  size_t tmp___0 ;
  int cmp___0 ;
  int tmp___1 ;

  {
  tmp = strlen(one___0);
  onelen = (int )tmp;
  tmp___0 = strlen(two___0);
  twolen = (int )tmp___0;
  tmp___1 = df_name_compare(one___0, onelen, 0040000, two___0, twolen, 0040000);
  cmp___0 = tmp___1;
  if (cmp___0) {
    return (cmp___0);
  }
  return (onelen - twolen);
}
}
static void record_df_conflict_files(struct merge_options___0 *opt___0 , struct string_list *entries___1 )
{
  struct string_list df_sorted_entries ;
  char const   *last_file ;
  int last_len ;
  int i ;
  struct string_list_item *next___2 ;
  struct string_list_item *tmp ;
  char const   *path___6 ;
  int len___0 ;
  size_t tmp___0 ;
  struct stage_data *e ;
  int tmp___1 ;

  {
  df_sorted_entries.items = (struct string_list_item *)0;
  df_sorted_entries.nr = 0U;
  df_sorted_entries.alloc = 0U;
  df_sorted_entries.strdup_strings = 0U;
  df_sorted_entries.cmp = (int (*)(char const   * , char const   * ))0;
  last_file = (char const   *)((void *)0);
  last_len = 0;
  if ((opt___0->priv)->call_depth) {
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < entries___1->nr)) {
      goto while_break;
    }
    next___2 = entries___1->items + i;
    tmp = string_list_append(& df_sorted_entries, (char const   *)next___2->string);
    tmp->util = next___2->util;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  df_sorted_entries.cmp = & string_list_df_name_compare;
  string_list_sort(& df_sorted_entries);
  string_list_clear(& (opt___0->priv)->df_conflict_file_set, 1);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < df_sorted_entries.nr)) {
      goto while_break___0;
    }
    path___6 = (char const   *)(df_sorted_entries.items + i)->string;
    tmp___0 = strlen(path___6);
    len___0 = (int )tmp___0;
    e = (struct stage_data *)(df_sorted_entries.items + i)->util;
    if (last_file) {
      if (len___0 > last_len) {
        tmp___1 = memcmp((void const   *)path___6, (void const   *)last_file, (size_t )last_len);
        if (tmp___1 == 0) {
          if ((int const   )*(path___6 + last_len) == 47) {
            string_list_insert(& (opt___0->priv)->df_conflict_file_set, last_file);
          }
        }
      }
    }
    if (((int )e->stages[2].mode & 0170000) == 0100000) {
      last_file = path___6;
      last_len = len___0;
    } else
    if (((int )e->stages[2].mode & 0170000) == 0120000) {
      last_file = path___6;
      last_len = len___0;
    } else {
      last_file = (char const   *)((void *)0);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  string_list_clear(& df_sorted_entries, 0);
  return;
}
}
static int update_stages(struct merge_options___0 *opt___0 , char const   *path___6 ,
                         struct diff_filespec  const  *o , struct diff_filespec  const  *a ,
                         struct diff_filespec  const  *b___0 )
{
  int clear ;
  int options ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  clear = 1;
  options = 5;
  if (clear) {
    tmp = remove_file_from_index((opt___0->repo)->index, path___6);
    if (tmp) {
      return (-1);
    }
  }
  if (o) {
    tmp___0 = add_cacheinfo(opt___0, o, path___6, 1, 0, options);
    if (tmp___0) {
      return (-1);
    }
  }
  if (a) {
    tmp___1 = add_cacheinfo(opt___0, a, path___6, 2, 0, options);
    if (tmp___1) {
      return (-1);
    }
  }
  if (b___0) {
    tmp___2 = add_cacheinfo(opt___0, b___0, path___6, 3, 0, options);
    if (tmp___2) {
      return (-1);
    }
  }
  return (0);
}
}
static void update_entry(struct stage_data *entry , struct diff_filespec *o , struct diff_filespec *a ,
                         struct diff_filespec *b___0 )
{


  {
  entry->processed = 0U;
  entry->stages[1].mode = o->mode;
  entry->stages[2].mode = a->mode;
  entry->stages[3].mode = b___0->mode;
  oidcpy(& entry->stages[1].oid, (struct object_id  const  *)(& o->oid));
  oidcpy(& entry->stages[2].oid, (struct object_id  const  *)(& a->oid));
  oidcpy(& entry->stages[3].oid, (struct object_id  const  *)(& b___0->oid));
  return;
}
}
static int remove_file___0(struct merge_options___0 *opt___0 , int clean , char const   *path___6 ,
                           int no_wd )
{
  int update_cache ;
  int tmp ;
  int update_working_directory___0 ;
  int tmp___0 ;
  int tmp___1 ;
  struct cache_entry *ce ;
  size_t tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  if ((opt___0->priv)->call_depth) {
    tmp = 1;
  } else
  if (clean) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  update_cache = tmp;
  if (! (opt___0->priv)->call_depth) {
    if (! no_wd) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  update_working_directory___0 = tmp___0;
  if (update_cache) {
    tmp___1 = remove_file_from_index((opt___0->repo)->index, path___6);
    if (tmp___1) {
      return (-1);
    }
  }
  if (update_working_directory___0) {
    if (ignore_case) {
      tmp___2 = strlen(path___6);
      ce = index_file_exists((opt___0->repo)->index, path___6, (int )tmp___2, ignore_case);
      if (ce) {
        if ((12288U & ce->ce_flags) >> 12 == 0U) {
          tmp___3 = strcmp(path___6, (char const   *)(ce->name));
          if (tmp___3) {
            return (0);
          }
        }
      }
    }
    tmp___4 = remove_path(path___6);
    if (tmp___4) {
      return (-1);
    }
  }
  return (0);
}
}
static void add_flattened_path___0(struct strbuf *out , char const   *s___1 )
{
  size_t i ;

  {
  i = out->len;
  strbuf_addstr(out, s___1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < out->len)) {
      goto while_break;
    }
    if ((int )*(out->buf + i) == 47) {
      *(out->buf + i) = (char )'_';
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static char *unique_path___0(struct merge_options___0 *opt___0 , char const   *path___6 ,
                             char const   *branch___0 )
{
  struct path_hashmap_entry *entry ;
  struct strbuf newpath ;
  int suffix___3 ;
  size_t base_len ;
  int tmp ;
  unsigned int tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  int tmp___2 ;
  size_t flex_array_len_ ;
  size_t tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;
  unsigned int tmp___6 ;
  char *tmp___7 ;

  {
  newpath.alloc = 0UL;
  newpath.len = 0UL;
  newpath.buf = strbuf_slopbuf;
  suffix___3 = 0;
  strbuf_addf(& newpath, (char const   *)"%s~", path___6);
  add_flattened_path___0(& newpath, branch___0);
  base_len = newpath.len;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = fspathhash((char const   *)newpath.buf);
    tmp___1 = hashmap_get_from_hash((struct hashmap  const  *)(& (opt___0->priv)->current_file_dir_set),
                                    tmp___0, (void const   *)newpath.buf);
    if (! tmp___1) {
      if (! (opt___0->priv)->call_depth) {
        tmp___2 = file_exists((char const   *)newpath.buf);
        if (! tmp___2) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
    }
    strbuf_setlen(& newpath, base_len);
    tmp = suffix___3;
    suffix___3 ++;
    strbuf_addf(& newpath, (char const   *)"_%d", tmp);
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    flex_array_len_ = newpath.len;
    tmp___3 = st_add(sizeof(*entry), flex_array_len_);
    tmp___4 = st_add(tmp___3, (size_t )1);
    tmp___5 = xcalloc((size_t )1, tmp___4);
    entry = (struct path_hashmap_entry *)tmp___5;
    memcpy((void *)(entry->path), (void const   *)newpath.buf, flex_array_len_);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___6 = fspathhash((char const   *)(entry->path));
  hashmap_entry_init(& entry->e, tmp___6);
  hashmap_add(& (opt___0->priv)->current_file_dir_set, & entry->e);
  tmp___7 = strbuf_detach(& newpath, (size_t *)((void *)0));
  return (tmp___7);
}
}
static int dir_in_way(struct index_state *istate , char const   *path___6 , int check_working_copy ,
                      int empty_ok )
{
  int pos ;
  struct strbuf dirpath ;
  struct stat st ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  dirpath.alloc = 0UL;
  dirpath.len = 0UL;
  dirpath.buf = strbuf_slopbuf;
  strbuf_addstr(& dirpath, path___6);
  strbuf_addch(& dirpath, '/');
  pos = index_name_pos(istate, (char const   *)dirpath.buf, (int )dirpath.len);
  if (pos < 0) {
    pos = -1 - pos;
  }
  if ((unsigned int )pos < istate->cache_nr) {
    tmp = strncmp((char const   *)dirpath.buf, (char const   *)((*(istate->cache + pos))->name),
                  dirpath.len);
    if (! tmp) {
      strbuf_release(& dirpath);
      return (1);
    }
  }
  strbuf_release(& dirpath);
  if (check_working_copy) {
    tmp___0 = lstat(path___6, & st);
    if (tmp___0) {
      tmp___4 = 0;
    } else
    if ((st.st_mode & 61440U) == 16384U) {
      if (empty_ok) {
        tmp___1 = is_empty_dir(path___6);
        if (tmp___1) {
          tmp___4 = 0;
        } else {
          goto _L;
        }
      } else {
        _L: /* CIL Label */
        tmp___2 = strlen(path___6);
        tmp___3 = has_symlink_leading_path(path___6, (int )tmp___2);
        if (tmp___3) {
          tmp___4 = 0;
        } else {
          tmp___4 = 1;
        }
      }
    } else {
      tmp___4 = 0;
    }
  } else {
    tmp___4 = 0;
  }
  return (tmp___4);
}
}
static int was_tracked_and_matches(struct merge_options___0 *opt___0 , char const   *path___6 ,
                                   struct diff_filespec  const  *blob )
{
  int pos ;
  size_t tmp ;
  int tmp___0 ;
  struct cache_entry *ce ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = strlen(path___6);
  tmp___0 = index_name_pos(& (opt___0->priv)->orig_index, path___6, (int )tmp);
  pos = tmp___0;
  if (0 > pos) {
    return (0);
  }
  ce = *((opt___0->priv)->orig_index.cache + pos);
  tmp___1 = oideq((struct object_id  const  *)(& ce->oid), (struct object_id  const  *)(& blob->oid));
  if (tmp___1) {
    if (ce->ce_mode == (unsigned int )blob->mode) {
      tmp___2 = 1;
    } else {
      tmp___2 = 0;
    }
  } else {
    tmp___2 = 0;
  }
  return (tmp___2);
}
}
static int was_tracked(struct merge_options___0 *opt___0 , char const   *path___6 )
{
  int pos ;
  size_t tmp ;
  int tmp___0 ;

  {
  tmp = strlen(path___6);
  tmp___0 = index_name_pos(& (opt___0->priv)->orig_index, path___6, (int )tmp);
  pos = tmp___0;
  if (0 <= pos) {
    return (1);
  }
  return (0);
}
}
static int would_lose_untracked(struct merge_options___0 *opt___0 , char const   *path___6 )
{
  struct index_state *istate ;
  int pos ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  istate = (opt___0->repo)->index;
  tmp = strlen(path___6);
  tmp___0 = index_name_pos(istate, path___6, (int )tmp);
  pos = tmp___0;
  if (pos < 0) {
    pos = -1 - pos;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned int )pos < istate->cache_nr) {
      tmp___1 = strcmp(path___6, (char const   *)((*(istate->cache + pos))->name));
      if (tmp___1) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    {
    if ((12288U & (*(istate->cache + pos))->ce_flags) >> 12 == 2U) {
      goto case_2;
    }
    if ((12288U & (*(istate->cache + pos))->ce_flags) >> 12 == 0U) {
      goto case_2;
    }
    goto switch_break;
    case_2: /* CIL Label */
    case_0: /* CIL Label */
    return (0);
    switch_break: /* CIL Label */ ;
    }
    pos ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = file_exists(path___6);
  return (tmp___2);
}
}
static int was_dirty(struct merge_options___0 *opt___0 , char const   *path___6 )
{
  struct cache_entry *ce ;
  int dirty___0 ;
  int tmp ;
  size_t tmp___0 ;
  int tmp___1 ;

  {
  dirty___0 = 1;
  if ((opt___0->priv)->call_depth) {
    return (! dirty___0);
  } else {
    tmp = was_tracked(opt___0, path___6);
    if (! tmp) {
      return (! dirty___0);
    }
  }
  tmp___0 = strlen(path___6);
  ce = index_file_exists((opt___0->priv)->unpack_opts.src_index, path___6, (int )tmp___0,
                         ignore_case);
  tmp___1 = verify_uptodate((struct cache_entry  const  *)ce, & (opt___0->priv)->unpack_opts);
  dirty___0 = tmp___1 != 0;
  return (dirty___0);
}
}
static int make_room_for_path(struct merge_options___0 *opt___0 , char const   *path___6 )
{
  int status ;
  int i ;
  char const   *msg___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *df_path ;
  size_t pathlen ;
  size_t tmp___0 ;
  size_t df_pathlen ;
  size_t tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  enum scld_error tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;

  {
  tmp = _((char const   *)"failed to create path \'%s\'%s");
  msg___5 = (char const   *)tmp;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < (opt___0->priv)->df_conflict_file_set.nr)) {
      goto while_break;
    }
    df_path = (char const   *)((opt___0->priv)->df_conflict_file_set.items + i)->string;
    tmp___0 = strlen(path___6);
    pathlen = tmp___0;
    tmp___1 = strlen(df_path);
    df_pathlen = tmp___1;
    if (df_pathlen < pathlen) {
      if ((int const   )*(path___6 + df_pathlen) == 47) {
        tmp___3 = strncmp(path___6, df_path, df_pathlen);
        if (tmp___3 == 0) {
          tmp___2 = _((char const   *)"Removing %s to make room for subdirectory\n");
          output(opt___0, 3, (char const   *)tmp___2, df_path);
          unlink(df_path);
          unsorted_string_list_delete_item(& (opt___0->priv)->df_conflict_file_set,
                                           i, 0);
          goto while_break;
        }
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___4 = safe_create_leading_directories_const(path___6);
  status = (int )tmp___4;
  if (status) {
    if (status == -3) {
      tmp___5 = _((char const   *)": perhaps a D/F conflict?");
      tmp___6 = err___2(opt___0, msg___5, path___6, tmp___5);
      return (tmp___6);
    }
    tmp___7 = err___2(opt___0, msg___5, path___6, "");
    return (tmp___7);
  }
  tmp___10 = would_lose_untracked(opt___0, path___6);
  if (tmp___10) {
    tmp___8 = _((char const   *)"refusing to lose untracked file at \'%s\'");
    tmp___9 = err___2(opt___0, (char const   *)tmp___8, path___6);
    return (tmp___9);
  }
  tmp___11 = unlink(path___6);
  if (! tmp___11) {
    return (0);
  }
  tmp___12 = __errno_location();
  if (*tmp___12 == 2) {
    return (0);
  }
  tmp___13 = _((char const   *)": perhaps a D/F conflict?");
  tmp___14 = err___2(opt___0, msg___5, path___6, tmp___13);
  return (tmp___14);
}
}
static int update_file_flags(struct merge_options___0 *opt___0 , struct diff_filespec  const  *contents ,
                             char const   *path___6 , int update_cache , int update_wd )
{
  int ret___67 ;
  enum object_type type___0 ;
  void *buf___19 ;
  unsigned long size ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  struct strbuf strbuf ;
  char *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int fd ;
  int mode___1 ;
  int tmp___6 ;
  int *tmp___7 ;
  char *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char *lnk ;
  void *tmp___10 ;
  int *tmp___11 ;
  char *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;
  char *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  int refresh___1 ;
  int tmp___17 ;
  int tmp___18 ;

  {
  ret___67 = 0;
  if ((opt___0->priv)->call_depth) {
    update_wd = 0;
  }
  if (update_wd) {
    if (((int )contents->mode & 61440) == 57344) {
      update_wd = 0;
      goto update_index;
    }
    buf___19 = repo_read_object_file(the_repository, (struct object_id  const  *)(& contents->oid),
                                     & type___0, & size);
    if (! buf___19) {
      tmp = oid_to_hex((struct object_id  const  *)(& contents->oid));
      tmp___0 = _((char const   *)"cannot read object %s \'%s\'");
      ret___67 = err___2(opt___0, (char const   *)tmp___0, tmp, path___6);
      goto free_buf;
    }
    if ((int )type___0 != 3) {
      tmp___1 = oid_to_hex((struct object_id  const  *)(& contents->oid));
      tmp___2 = _((char const   *)"blob expected for %s \'%s\'");
      ret___67 = err___2(opt___0, (char const   *)tmp___2, tmp___1, path___6);
      goto free_buf;
    }
    if (((int )contents->mode & 61440) == 32768) {
      strbuf.alloc = 0UL;
      strbuf.len = 0UL;
      strbuf.buf = strbuf_slopbuf;
      tmp___4 = convert_to_working_tree((opt___0->repo)->index, path___6, (char const   *)buf___19,
                                        size, & strbuf, (struct checkout_metadata  const  *)((void *)0));
      if (tmp___4) {
        free(buf___19);
        size = strbuf.len;
        tmp___3 = strbuf_detach(& strbuf, (size_t *)((void *)0));
        buf___19 = (void *)tmp___3;
      }
    }
    tmp___5 = make_room_for_path(opt___0, path___6);
    if (tmp___5 < 0) {
      update_wd = 0;
      goto free_buf;
    }
    if (((int )contents->mode & 61440) == 32768) {
      goto _L;
    } else
    if (! has_symlinks) {
      if (((int )contents->mode & 61440) == 40960) {
        _L: /* CIL Label */
        if ((int )contents->mode & 64) {
          tmp___6 = 0777;
        } else {
          tmp___6 = 0666;
        }
        mode___1 = tmp___6;
        fd = open(path___6, 577, mode___1);
        if (fd < 0) {
          tmp___7 = __errno_location();
          tmp___8 = strerror(*tmp___7);
          tmp___9 = _((char const   *)"failed to open \'%s\': %s");
          ret___67 = err___2(opt___0, (char const   *)tmp___9, path___6, tmp___8);
          goto free_buf;
        }
        write_in_full(fd, (void const   *)buf___19, size);
        close(fd);
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if (((int )contents->mode & 61440) == 40960) {
      tmp___10 = xmemdupz((void const   *)buf___19, size);
      lnk = (char *)tmp___10;
      safe_create_leading_directories_const(path___6);
      unlink(path___6);
      tmp___14 = symlink((char const   *)lnk, path___6);
      if (tmp___14) {
        tmp___11 = __errno_location();
        tmp___12 = strerror(*tmp___11);
        tmp___13 = _((char const   *)"failed to symlink \'%s\': %s");
        ret___67 = err___2(opt___0, (char const   *)tmp___13, path___6, tmp___12);
      }
      free((void *)lnk);
    } else {
      tmp___15 = oid_to_hex((struct object_id  const  *)(& contents->oid));
      tmp___16 = _((char const   *)"do not know what to do with %06o %s \'%s\'");
      ret___67 = err___2(opt___0, (char const   *)tmp___16, (int )contents->mode,
                         tmp___15, path___6);
    }
    free_buf:
    free(buf___19);
  }
  update_index:
  if (! ret___67) {
    if (update_cache) {
      if (! (opt___0->priv)->call_depth) {
        if ((int )contents->mode != 57344) {
          tmp___17 = 1;
        } else {
          tmp___17 = 0;
        }
      } else {
        tmp___17 = 0;
      }
      refresh___1 = tmp___17;
      tmp___18 = add_cacheinfo(opt___0, contents, path___6, 0, refresh___1, 1);
      if (tmp___18) {
        return (-1);
      }
    }
  }
  return (ret___67);
}
}
static int update_file(struct merge_options___0 *opt___0 , int clean , struct diff_filespec  const  *contents ,
                       char const   *path___6 )
{
  int tmp ;
  int tmp___0 ;

  {
  if ((opt___0->priv)->call_depth) {
    tmp = 1;
  } else
  if (clean) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  tmp___0 = update_file_flags(opt___0, contents, path___6, tmp, ! (opt___0->priv)->call_depth);
  return (tmp___0);
}
}
static int merge_3way___0(struct merge_options___0 *opt___0 , mmbuffer_t *result_buf ,
                          struct diff_filespec  const  *o , struct diff_filespec  const  *a ,
                          struct diff_filespec  const  *b___0 , char const   *branch1 ,
                          char const   *branch2 , int const   extra_marker_size )
{
  mmfile_t orig ;
  mmfile_t src1 ;
  mmfile_t src2 ;
  struct ll_merge_options ll_opts ;
  char *base ;
  char *name1 ;
  char *name2 ;
  int merge_status ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  ll_opts.virtual_ancestor = 0U;
  ll_opts.variant = 0U;
  ll_opts.renormalize = 0U;
  ll_opts.extra_marker_size = 0U;
  ll_opts.xdl_opts = 0L;
  ll_opts.renormalize = opt___0->renormalize;
  ll_opts.extra_marker_size = (unsigned int )extra_marker_size;
  ll_opts.xdl_opts = opt___0->xdl_opts;
  if ((opt___0->priv)->call_depth) {
    ll_opts.virtual_ancestor = 1U;
    ll_opts.variant = 0U;
  } else {
    {
    if ((unsigned int )opt___0->recursive_variant == 1U) {
      goto case_1;
    }
    if ((unsigned int )opt___0->recursive_variant == 2U) {
      goto case_2;
    }
    goto switch_default;
    case_1: /* CIL Label */
    ll_opts.variant = 1U;
    goto switch_break;
    case_2: /* CIL Label */
    ll_opts.variant = 2U;
    goto switch_break;
    switch_default: /* CIL Label */
    ll_opts.variant = 0U;
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
  }
  if (a->path) {
    if (b___0->path) {
      if (o->path) {
        if (opt___0->ancestor) {
          tmp = 1;
        } else {
          tmp = 0;
        }
      } else {
        tmp = 0;
      }
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  assert(tmp);
  tmp___0 = strcmp((char const   *)a->path, (char const   *)b___0->path);
  if (tmp___0) {
    base = mkpathdup((char const   *)"%s:%s", opt___0->ancestor, o->path);
    name1 = mkpathdup((char const   *)"%s:%s", branch1, a->path);
    name2 = mkpathdup((char const   *)"%s:%s", branch2, b___0->path);
  } else {
    tmp___1 = strcmp((char const   *)a->path, (char const   *)o->path);
    if (tmp___1 != 0) {
      base = mkpathdup((char const   *)"%s:%s", opt___0->ancestor, o->path);
      name1 = mkpathdup((char const   *)"%s:%s", branch1, a->path);
      name2 = mkpathdup((char const   *)"%s:%s", branch2, b___0->path);
    } else {
      base = mkpathdup((char const   *)"%s", opt___0->ancestor);
      name1 = mkpathdup((char const   *)"%s", branch1);
      name2 = mkpathdup((char const   *)"%s", branch2);
    }
  }
  read_mmblob(& orig, (struct object_id  const  *)(& o->oid));
  read_mmblob(& src1, (struct object_id  const  *)(& a->oid));
  read_mmblob(& src2, (struct object_id  const  *)(& b___0->oid));
  merge_status = ll_merge(result_buf, (char const   *)a->path, & orig, (char const   *)base,
                          & src1, (char const   *)name1, & src2, (char const   *)name2,
                          (opt___0->repo)->index, (struct ll_merge_options  const  *)(& ll_opts));
  free((void *)base);
  free((void *)name1);
  free((void *)name2);
  free((void *)orig.ptr);
  free((void *)src1.ptr);
  free((void *)src2.ptr);
  return (merge_status);
}
}
static int find_first_merges___0(struct repository *repo , struct object_array *result___0 ,
                                 char const   *path___6 , struct commit *a , struct commit *b___0 )
{
  int i ;
  int j ;
  struct object_array merges ;
  struct commit *commit ;
  int contains_another ;
  char merged_revision[66] ;
  char const   *rev_args___0[6] ;
  struct rev_info revs ;
  struct setup_revision_opt rev_opts ;
  char *tmp ;
  int tmp___0 ;
  struct object *o ;
  int tmp___1 ;
  struct commit *m1 ;
  struct commit *m2 ;
  int tmp___2 ;

  {
  merges.nr = 0U;
  merges.alloc = 0U;
  merges.objects = (struct object_array_entry *)0;
  rev_args___0[0] = (char const   *)"rev-list";
  rev_args___0[1] = (char const   *)"--merges";
  rev_args___0[2] = (char const   *)"--ancestry-path";
  rev_args___0[3] = (char const   *)"--all";
  rev_args___0[4] = (char const   *)(merged_revision);
  rev_args___0[5] = (char const   *)((void *)0);
  memset((void *)result___0, 0, sizeof(struct object_array ));
  memset((void *)(& rev_opts), 0, sizeof(rev_opts));
  tmp = oid_to_hex((struct object_id  const  *)(& a->object.oid));
  xsnprintf(merged_revision, sizeof(merged_revision), (char const   *)"^%s", tmp);
  repo_init_revisions(repo, & revs, (char const   *)((void *)0));
  revs.single_worktree = (unsigned int )((unsigned long )path___6 != (unsigned long )((void *)0));
  setup_revisions((int )((sizeof(rev_args___0) / sizeof(rev_args___0[0]) + (sizeof(char [1]) - 1UL)) - 1UL),
                  rev_args___0, & revs, & rev_opts);
  tmp___0 = prepare_revision_walk(& revs);
  if (tmp___0) {
    die((char const   *)"revision walk setup failed");
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    commit = get_revision(& revs);
    if (! ((unsigned long )commit != (unsigned long )((void *)0))) {
      goto while_break;
    }
    o = & commit->object;
    tmp___1 = repo_in_merge_bases(repo, b___0, commit);
    if (tmp___1) {
      add_object_array(o, (char const   *)((void *)0), & merges);
    }
  }
  while_break: /* CIL Label */ ;
  }
  reset_revision_walk();
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < merges.nr)) {
      goto while_break___0;
    }
    m1 = (struct commit *)(merges.objects + i)->item;
    contains_another = 0;
    j = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((unsigned int )j < merges.nr)) {
        goto while_break___1;
      }
      m2 = (struct commit *)(merges.objects + j)->item;
      if (i != j) {
        tmp___2 = repo_in_merge_bases(repo, m2, m1);
        if (tmp___2) {
          contains_another = 1;
          goto while_break___1;
        }
      }
      j ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (! contains_another) {
      add_object_array((merges.objects + i)->item, (char const   *)((void *)0), result___0);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  object_array_clear(& merges);
  return ((int )result___0->nr);
}
}
static void print_commit(struct repository *repo , struct commit *commit )
{
  struct strbuf sb___6 ;
  struct pretty_print_context ctx___0 ;
  struct merge_remote_desc *tmp ;
  int tmp___0 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  ctx___0.fmt = (enum cmit_fmt )0;
  ctx___0.abbrev = 0;
  ctx___0.after_subject = (char const   *)0;
  ctx___0.preserve_subject = 0;
  ctx___0.date_mode.type = 0U;
  ctx___0.date_mode.strftime_fmt = (char const   *)0;
  ctx___0.date_mode.local = 0;
  ctx___0.date_mode_explicit = 0U;
  ctx___0.print_email_subject = 0;
  ctx___0.expand_tabs_in_log = 0;
  ctx___0.need_8bit_cte = 0;
  ctx___0.notes_message = (char *)0;
  ctx___0.reflog_info = (struct reflog_walk_info *)0;
  ctx___0.rev = (struct rev_info *)0;
  ctx___0.output_encoding = (char const   *)0;
  ctx___0.mailmap = (struct string_list *)0;
  ctx___0.color = 0;
  ctx___0.from_ident = (struct ident_split *)0;
  ctx___0.encode_email_headers = 0U;
  ctx___0.describe_status = (struct pretty_print_describe_status *)0;
  ctx___0.in_body_headers.items = (struct string_list_item *)0;
  ctx___0.in_body_headers.nr = 0U;
  ctx___0.in_body_headers.alloc = 0U;
  ctx___0.in_body_headers.strdup_strings = 0U;
  ctx___0.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
  ctx___0.graph_width = 0;
  ctx___0.date_mode.type = (enum date_mode_type )0;
  tmp = merge_remote_util(commit);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  assert(tmp___0);
  repo_format_commit_message(repo, (struct commit  const  *)commit, (char const   *)" %h: %m %s",
                             & sb___6, (struct pretty_print_context  const  *)(& ctx___0));
  fprintf(stderr, (char const   *)"%s\n", sb___6.buf);
  strbuf_release(& sb___6);
  return;
}
}
static int is_valid(struct diff_filespec  const  *dfs )
{
  int tmp ;
  int tmp___0 ;

  {
  if ((int )dfs->mode != 0) {
    tmp = is_null_oid((struct object_id  const  *)(& dfs->oid));
    if (tmp) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static int merge_submodule___0(struct merge_options___0 *opt___0 , struct object_id *result___0 ,
                               char const   *path___6 , struct object_id  const  *base ,
                               struct object_id  const  *a , struct object_id  const  *b___0 )
{
  struct repository subrepo ;
  int ret___67 ;
  struct commit *commit_base ;
  struct commit *commit_a ;
  struct commit *commit_b ;
  int parent_count ;
  struct object_array merges ;
  int i ;
  int search ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  struct object_id  const  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  char const __attribute__((__format_arg__(1)))  *tmp___21 ;
  char *tmp___22 ;
  char const __attribute__((__format_arg__(1)))  *tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;

  {
  ret___67 = 0;
  search = ! (opt___0->priv)->call_depth;
  oidcpy(result___0, a);
  tmp = is_null_oid(base);
  if (tmp) {
    return (0);
  }
  tmp___0 = is_null_oid(a);
  if (tmp___0) {
    return (0);
  }
  tmp___1 = is_null_oid(b___0);
  if (tmp___1) {
    return (0);
  }
  tmp___3 = null_oid();
  tmp___4 = repo_submodule_init(& subrepo, opt___0->repo, path___6, tmp___3);
  if (tmp___4) {
    tmp___2 = _((char const   *)"Failed to merge submodule %s (not checked out)");
    output(opt___0, 1, (char const   *)tmp___2, path___6);
    return (0);
  }
  commit_base = lookup_commit_reference(& subrepo, base);
  if (commit_base) {
    commit_a = lookup_commit_reference(& subrepo, a);
    if (commit_a) {
      commit_b = lookup_commit_reference(& subrepo, b___0);
      if (! commit_b) {
        tmp___5 = _((char const   *)"Failed to merge submodule %s (commits not present)");
        output(opt___0, 1, (char const   *)tmp___5, path___6);
        goto cleanup;
      }
    } else {
      tmp___5 = _((char const   *)"Failed to merge submodule %s (commits not present)");
      output(opt___0, 1, (char const   *)tmp___5, path___6);
      goto cleanup;
    }
  } else {
    tmp___5 = _((char const   *)"Failed to merge submodule %s (commits not present)");
    output(opt___0, 1, (char const   *)tmp___5, path___6);
    goto cleanup;
  }
  tmp___7 = repo_in_merge_bases(& subrepo, commit_base, commit_a);
  if (tmp___7) {
    tmp___8 = repo_in_merge_bases(& subrepo, commit_base, commit_b);
    if (! tmp___8) {
      tmp___6 = _((char const   *)"Failed to merge submodule %s (commits don\'t follow merge-base)");
      output(opt___0, 1, (char const   *)tmp___6, path___6);
      goto cleanup;
    }
  } else {
    tmp___6 = _((char const   *)"Failed to merge submodule %s (commits don\'t follow merge-base)");
    output(opt___0, 1, (char const   *)tmp___6, path___6);
    goto cleanup;
  }
  tmp___13 = repo_in_merge_bases(& subrepo, commit_a, commit_b);
  if (tmp___13) {
    oidcpy(result___0, b___0);
    tmp___12 = show(opt___0, 3);
    if (tmp___12) {
      tmp___9 = _((char const   *)"Fast-forwarding submodule %s to the following commit:");
      output(opt___0, 3, (char const   *)tmp___9, path___6);
      repo_output_commit_title(opt___0, & subrepo, commit_b);
    } else {
      tmp___11 = show(opt___0, 2);
      if (tmp___11) {
        tmp___10 = _((char const   *)"Fast-forwarding submodule %s");
        output(opt___0, 2, (char const   *)tmp___10, path___6);
      }
    }
    ret___67 = 1;
    goto cleanup;
  }
  tmp___18 = repo_in_merge_bases(& subrepo, commit_b, commit_a);
  if (tmp___18) {
    oidcpy(result___0, a);
    tmp___17 = show(opt___0, 3);
    if (tmp___17) {
      tmp___14 = _((char const   *)"Fast-forwarding submodule %s to the following commit:");
      output(opt___0, 3, (char const   *)tmp___14, path___6);
      repo_output_commit_title(opt___0, & subrepo, commit_a);
    } else {
      tmp___16 = show(opt___0, 2);
      if (tmp___16) {
        tmp___15 = _((char const   *)"Fast-forwarding submodule %s");
        output(opt___0, 2, (char const   *)tmp___15, path___6);
      }
    }
    ret___67 = 1;
    goto cleanup;
  }
  if (! search) {
    goto cleanup;
  }
  parent_count = find_first_merges___0(& subrepo, & merges, path___6, commit_a, commit_b);
  {
  if (parent_count == 0) {
    goto case_0;
  }
  if (parent_count == 1) {
    goto case_1;
  }
  goto switch_default;
  case_0: /* CIL Label */
  tmp___19 = _((char const   *)"Failed to merge submodule %s (merge following commits not found)");
  output(opt___0, 1, (char const   *)tmp___19, path___6);
  goto switch_break;
  case_1: /* CIL Label */
  tmp___20 = _((char const   *)"Failed to merge submodule %s (not fast-forward)");
  output(opt___0, 1, (char const   *)tmp___20, path___6);
  tmp___21 = _((char const   *)"Found a possible merge resolution for the submodule:\n");
  output(opt___0, 2, (char const   *)tmp___21);
  print_commit(& subrepo, (struct commit *)(merges.objects + 0)->item);
  tmp___22 = oid_to_hex((struct object_id  const  *)(& ((merges.objects + 0)->item)->oid));
  tmp___23 = _((char const   *)"If this is correct simply add it to the index for example\nby using:\n\n  git update-index --cacheinfo 160000 %s \"%s\"\n\nwhich will accept this suggestion.\n");
  output(opt___0, 2, (char const   *)tmp___23, tmp___22, path___6);
  goto switch_break;
  switch_default: /* CIL Label */
  tmp___24 = _((char const   *)"Failed to merge submodule %s (multiple merges found)");
  output(opt___0, 1, (char const   *)tmp___24, path___6);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < merges.nr)) {
      goto while_break;
    }
    print_commit(& subrepo, (struct commit *)(merges.objects + i)->item);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  switch_break: /* CIL Label */ ;
  }
  object_array_clear(& merges);
  cleanup:
  repo_clear(& subrepo);
  return (ret___67);
}
}
static int merge_mode_and_contents(struct merge_options___0 *opt___0 , struct diff_filespec  const  *o ,
                                   struct diff_filespec  const  *a , struct diff_filespec  const  *b___0 ,
                                   char const   *filename___0 , char const   *branch1 ,
                                   char const   *branch2 , int const   extra_marker_size ,
                                   struct merge_file_info *result___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  mmbuffer_t result_buf ;
  int ret___67 ;
  int merge_status ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;

  {
  if ((unsigned long )opt___0->branch1 != (unsigned long )branch1) {
    tmp = merge_mode_and_contents(opt___0, o, b___0, a, filename___0, branch2, branch1,
                                  extra_marker_size, result___0);
    return (tmp);
  }
  result___0->merge = 0U;
  result___0->clean = 1U;
  if ((0170000 & (int )a->mode) != (0170000 & (int )b___0->mode)) {
    result___0->clean = 0U;
    if (((int )a->mode & 61440) == 32768) {
      result___0->blob.mode = (unsigned short )a->mode;
      oidcpy(& result___0->blob.oid, (struct object_id  const  *)(& a->oid));
    } else {
      result___0->blob.mode = (unsigned short )b___0->mode;
      oidcpy(& result___0->blob.oid, (struct object_id  const  *)(& b___0->oid));
    }
  } else {
    tmp___0 = oideq((struct object_id  const  *)(& a->oid), (struct object_id  const  *)(& o->oid));
    if (! tmp___0) {
      tmp___1 = oideq((struct object_id  const  *)(& b___0->oid), (struct object_id  const  *)(& o->oid));
      if (! tmp___1) {
        result___0->merge = 1U;
      }
    }
    if ((int )a->mode == (int )b___0->mode) {
      result___0->blob.mode = (unsigned short )b___0->mode;
    } else
    if ((int )a->mode == (int )o->mode) {
      result___0->blob.mode = (unsigned short )b___0->mode;
    } else {
      result___0->blob.mode = (unsigned short )a->mode;
      if ((int )b___0->mode != (int )o->mode) {
        result___0->clean = 0U;
        result___0->merge = 1U;
      }
    }
    tmp___8 = oideq((struct object_id  const  *)(& a->oid), (struct object_id  const  *)(& b___0->oid));
    if (tmp___8) {
      oidcpy(& result___0->blob.oid, (struct object_id  const  *)(& b___0->oid));
    } else {
      tmp___9 = oideq((struct object_id  const  *)(& a->oid), (struct object_id  const  *)(& o->oid));
      if (tmp___9) {
        oidcpy(& result___0->blob.oid, (struct object_id  const  *)(& b___0->oid));
      } else {
        tmp___7 = oideq((struct object_id  const  *)(& b___0->oid), (struct object_id  const  *)(& o->oid));
        if (tmp___7) {
          oidcpy(& result___0->blob.oid, (struct object_id  const  *)(& a->oid));
        } else
        if (((int )a->mode & 61440) == 32768) {
          ret___67 = 0;
          merge_status = merge_3way___0(opt___0, & result_buf, o, a, b___0, branch1,
                                        branch2, extra_marker_size);
          if (merge_status < 0) {
            tmp___2 = _((char const   *)"Failed to execute internal merge");
            ret___67 = err___2(opt___0, (char const   *)tmp___2);
          } else
          if (! result_buf.ptr) {
            tmp___2 = _((char const   *)"Failed to execute internal merge");
            ret___67 = err___2(opt___0, (char const   *)tmp___2);
          }
          if (! ret___67) {
            tmp___4 = write_object_file((void const   *)result_buf.ptr, (unsigned long )result_buf.size,
                                        blob_type, & result___0->blob.oid);
            if (tmp___4) {
              tmp___3 = _((char const   *)"Unable to add %s to database");
              ret___67 = err___2(opt___0, (char const   *)tmp___3, a->path);
            }
          }
          free((void *)result_buf.ptr);
          if (ret___67) {
            return (ret___67);
          }
          result___0->clean = (unsigned int )(merge_status == 0);
        } else
        if (((int )a->mode & 61440) == 57344) {
          tmp___5 = merge_submodule___0(opt___0, & result___0->blob.oid, (char const   *)o->path,
                                        (struct object_id  const  *)(& o->oid), (struct object_id  const  *)(& a->oid),
                                        (struct object_id  const  *)(& b___0->oid));
          result___0->clean = (unsigned int )tmp___5;
        } else
        if (((int )a->mode & 61440) == 40960) {
          {
          if ((unsigned int )opt___0->recursive_variant == 0U) {
            goto case_0;
          }
          if ((unsigned int )opt___0->recursive_variant == 1U) {
            goto case_1;
          }
          if ((unsigned int )opt___0->recursive_variant == 2U) {
            goto case_2;
          }
          goto switch_break;
          case_0: /* CIL Label */
          oidcpy(& result___0->blob.oid, (struct object_id  const  *)(& a->oid));
          tmp___6 = oideq((struct object_id  const  *)(& a->oid), (struct object_id  const  *)(& b___0->oid));
          if (! tmp___6) {
            result___0->clean = 0U;
          }
          goto switch_break;
          case_1: /* CIL Label */
          oidcpy(& result___0->blob.oid, (struct object_id  const  *)(& a->oid));
          goto switch_break;
          case_2: /* CIL Label */
          oidcpy(& result___0->blob.oid, (struct object_id  const  *)(& b___0->oid));
          goto switch_break;
          switch_break: /* CIL Label */ ;
          }
        } else {
          BUG_fl((char const   *)"merge-recursive.c", 1406, (char const   *)"unsupported object type in the tree");
        }
      }
    }
  }
  if (result___0->merge) {
    tmp___10 = _((char const   *)"Auto-merging %s");
    output(opt___0, 2, (char const   *)tmp___10, filename___0);
  }
  return (0);
}
}
static int handle_rename_via_dir(struct merge_options___0 *opt___0 , struct rename_conflict_info *ci )
{
  struct rename  const  *ren ;
  struct diff_filespec  const  *dest ;
  char *file_path ;
  int mark_conflicted ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct diff_filespec  const  *tmp___2 ;
  struct diff_filespec  const  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  ren = (struct rename  const  *)ci->ren1;
  dest = (struct diff_filespec  const  *)(ren->pair)->two;
  file_path = (char *)dest->path;
  mark_conflicted = (unsigned int )opt___0->detect_directory_renames == 1U;
  assert((int )ren->dir_rename_original_dest);
  if (! (opt___0->priv)->call_depth) {
    tmp___0 = would_lose_untracked(opt___0, (char const   *)dest->path);
    if (tmp___0) {
      mark_conflicted = 1;
      file_path = unique_path___0(opt___0, (char const   *)dest->path, (char const   *)ren->branch);
      tmp = _((char const   *)"Error: Refusing to lose untracked file at %s; writing to %s instead.");
      output(opt___0, 1, (char const   *)tmp, dest->path, file_path);
    }
  }
  if (mark_conflicted) {
    tmp___1 = update_file(opt___0, 0, dest, (char const   *)file_path);
    if (tmp___1) {
      return (-1);
    }
    if ((unsigned long )file_path != (unsigned long )dest->path) {
      free((void *)file_path);
    }
    if ((unsigned long )ren->branch == (unsigned long )opt___0->branch1) {
      tmp___2 = (struct diff_filespec  const  *)((void *)0);
    } else {
      tmp___2 = dest;
    }
    if ((unsigned long )ren->branch == (unsigned long )opt___0->branch1) {
      tmp___3 = dest;
    } else {
      tmp___3 = (struct diff_filespec  const  *)((void *)0);
    }
    tmp___4 = update_stages(opt___0, (char const   *)dest->path, (struct diff_filespec  const  *)((void *)0),
                            tmp___3, tmp___2);
    if (tmp___4) {
      return (-1);
    }
    return (0);
  } else {
    tmp___5 = update_file(opt___0, 1, dest, (char const   *)dest->path);
    if (tmp___5) {
      return (-1);
    }
    return (1);
  }
}
}
static int handle_change_delete(struct merge_options___0 *opt___0 , char const   *path___6 ,
                                char const   *old_path , struct diff_filespec  const  *o ,
                                struct diff_filespec  const  *changed , char const   *change_branch ,
                                char const   *delete_branch , char const   *change ,
                                char const   *change_past )
{
  char *alt_path ;
  char const   *update_path ;
  int ret___67 ;
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  alt_path = (char *)((void *)0);
  update_path = path___6;
  ret___67 = 0;
  tmp = dir_in_way((opt___0->repo)->index, path___6, ! (opt___0->priv)->call_depth,
                   0);
  if (tmp) {
    alt_path = unique_path___0(opt___0, path___6, change_branch);
    update_path = (char const   *)alt_path;
  } else
  if (! (opt___0->priv)->call_depth) {
    tmp___0 = would_lose_untracked(opt___0, path___6);
    if (tmp___0) {
      alt_path = unique_path___0(opt___0, path___6, change_branch);
      update_path = (char const   *)alt_path;
    }
  }
  if ((opt___0->priv)->call_depth) {
    ret___67 = remove_file_from_index((opt___0->repo)->index, path___6);
    if (! ret___67) {
      ret___67 = update_file(opt___0, 0, o, update_path);
    }
  } else {
    if (! alt_path) {
      if (! old_path) {
        tmp___1 = _((char const   *)"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left in tree.");
        output(opt___0, 1, (char const   *)tmp___1, change, path___6, delete_branch,
               change_past, change_branch, change_branch, path___6);
      } else {
        tmp___2 = _((char const   *)"CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s left in tree.");
        output(opt___0, 1, (char const   *)tmp___2, change, old_path, delete_branch,
               change_past, path___6, change_branch, change_branch, path___6);
      }
    } else
    if (! old_path) {
      tmp___3 = _((char const   *)"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left in tree at %s.");
      output(opt___0, 1, (char const   *)tmp___3, change, path___6, delete_branch,
             change_past, change_branch, change_branch, path___6, alt_path);
    } else {
      tmp___4 = _((char const   *)"CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s left in tree at %s.");
      output(opt___0, 1, (char const   *)tmp___4, change, old_path, delete_branch,
             change_past, path___6, change_branch, change_branch, path___6, alt_path);
    }
    if ((unsigned long )change_branch != (unsigned long )opt___0->branch1) {
      ret___67 = update_file(opt___0, 0, changed, update_path);
    } else
    if (alt_path) {
      ret___67 = update_file(opt___0, 0, changed, update_path);
    }
  }
  free((void *)alt_path);
  return (ret___67);
}
}
static int handle_rename_delete(struct merge_options___0 *opt___0 , struct rename_conflict_info *ci )
{
  struct rename  const  *ren ;
  struct diff_filespec  const  *orig ;
  struct diff_filespec  const  *dest ;
  char const   *rename_branch ;
  char const   *delete_branch ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  struct diff_filespec  const  *tmp___6 ;
  struct diff_filespec  const  *tmp___7 ;
  int tmp___8 ;

  {
  ren = (struct rename  const  *)ci->ren1;
  orig = (struct diff_filespec  const  *)(ren->pair)->one;
  dest = (struct diff_filespec  const  *)(ren->pair)->two;
  rename_branch = (char const   *)ren->branch;
  if ((unsigned long )opt___0->branch1 == (unsigned long )ren->branch) {
    tmp = opt___0->branch2;
  } else {
    tmp = opt___0->branch1;
  }
  delete_branch = tmp;
  tmp___0 = _((char const   *)"renamed");
  tmp___1 = _((char const   *)"rename");
  if ((opt___0->priv)->call_depth) {
    tmp___2 = (char *)((void *)0);
  } else {
    tmp___2 = orig->path;
  }
  if ((opt___0->priv)->call_depth) {
    tmp___3 = orig->path;
  } else {
    tmp___3 = dest->path;
  }
  tmp___4 = handle_change_delete(opt___0, (char const   *)tmp___3, (char const   *)tmp___2,
                                 orig, dest, rename_branch, delete_branch, (char const   *)tmp___1,
                                 (char const   *)tmp___0);
  if (tmp___4) {
    return (-1);
  }
  if ((opt___0->priv)->call_depth) {
    tmp___5 = remove_file_from_index((opt___0->repo)->index, (char const   *)dest->path);
    return (tmp___5);
  } else {
    if ((unsigned long )rename_branch == (unsigned long )opt___0->branch1) {
      tmp___6 = (struct diff_filespec  const  *)((void *)0);
    } else {
      tmp___6 = dest;
    }
    if ((unsigned long )rename_branch == (unsigned long )opt___0->branch1) {
      tmp___7 = dest;
    } else {
      tmp___7 = (struct diff_filespec  const  *)((void *)0);
    }
    tmp___8 = update_stages(opt___0, (char const   *)dest->path, (struct diff_filespec  const  *)((void *)0),
                            tmp___7, tmp___6);
    return (tmp___8);
  }
}
}
static int handle_file_collision(struct merge_options___0 *opt___0 , char const   *collide_path ,
                                 char const   *prev_path1 , char const   *prev_path2 ,
                                 char const   *branch1 , char const   *branch2 , struct diff_filespec *a ,
                                 struct diff_filespec *b___0 )
{
  struct merge_file_info mfi ;
  struct diff_filespec null ;
  char *alt_path ;
  char const   *update_path ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  struct object_id  const  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;

  {
  alt_path = (char *)((void *)0);
  update_path = collide_path;
  if ((unsigned long )branch1 != (unsigned long )opt___0->branch1) {
    tmp = handle_file_collision(opt___0, collide_path, prev_path2, prev_path1, branch2,
                                branch1, b___0, a);
    return (tmp);
  }
  if (prev_path1) {
    if ((opt___0->priv)->call_depth) {
      tmp___1 = 1;
    } else {
      tmp___0 = would_lose_untracked(opt___0, prev_path1);
      if (tmp___0) {
        tmp___1 = 1;
      } else {
        tmp___1 = 0;
      }
    }
    remove_file___0(opt___0, 1, prev_path1, tmp___1);
  }
  if (prev_path2) {
    if ((opt___0->priv)->call_depth) {
      tmp___3 = 1;
    } else {
      tmp___2 = would_lose_untracked(opt___0, prev_path2);
      if (tmp___2) {
        tmp___3 = 1;
      } else {
        tmp___3 = 0;
      }
    }
    remove_file___0(opt___0, 1, prev_path2, tmp___3);
  }
  tmp___7 = was_dirty(opt___0, collide_path);
  if (tmp___7) {
    tmp___4 = _((char const   *)"Refusing to lose dirty file at %s");
    output(opt___0, 1, (char const   *)tmp___4, collide_path);
    alt_path = unique_path___0(opt___0, collide_path, (char const   *)"merged");
    update_path = (char const   *)alt_path;
  } else {
    tmp___6 = would_lose_untracked(opt___0, collide_path);
    if (tmp___6) {
      tmp___5 = _((char const   *)"Refusing to lose untracked file at %s, even though it\'s in the way.");
      output(opt___0, 1, (char const   *)tmp___5, collide_path);
      alt_path = unique_path___0(opt___0, collide_path, (char const   *)"merged");
      update_path = (char const   *)alt_path;
    } else {
      remove_file___0(opt___0, 0, collide_path, 0);
    }
  }
  null.path = (char *)collide_path;
  tmp___8 = null_oid();
  oidcpy(& null.oid, tmp___8);
  null.mode = (unsigned short)0;
  tmp___9 = merge_mode_and_contents(opt___0, (struct diff_filespec  const  *)(& null),
                                    (struct diff_filespec  const  *)a, (struct diff_filespec  const  *)b___0,
                                    collide_path, branch1, branch2, (int const   )((opt___0->priv)->call_depth * 2),
                                    & mfi);
  if (tmp___9) {
    return (-1);
  }
  mfi.clean &= (unsigned int )(! alt_path);
  tmp___10 = update_file(opt___0, (int )mfi.clean, (struct diff_filespec  const  *)(& mfi.blob),
                         update_path);
  if (tmp___10) {
    return (-1);
  }
  if (! mfi.clean) {
    if (! (opt___0->priv)->call_depth) {
      tmp___11 = update_stages(opt___0, collide_path, (struct diff_filespec  const  *)((void *)0),
                               (struct diff_filespec  const  *)a, (struct diff_filespec  const  *)b___0);
      if (tmp___11) {
        return (-1);
      }
    }
  }
  free((void *)alt_path);
  return ((int )mfi.clean);
}
}
static int handle_rename_add(struct merge_options___0 *opt___0 , struct rename_conflict_info *ci )
{
  struct diff_filespec *a ;
  struct diff_filespec *c___0 ;
  char *path___6 ;
  char *prev_path_desc ;
  struct merge_file_info mfi ;
  char const   *rename_branch ;
  char const   *add_branch___0 ;
  char const   *tmp ;
  int other_stage ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  a = ((ci->ren1)->pair)->one;
  c___0 = ((ci->ren1)->pair)->two;
  path___6 = c___0->path;
  rename_branch = (ci->ren1)->branch;
  if ((unsigned long )opt___0->branch1 == (unsigned long )rename_branch) {
    tmp = opt___0->branch2;
  } else {
    tmp = opt___0->branch1;
  }
  add_branch___0 = tmp;
  if ((unsigned long )(ci->ren1)->branch == (unsigned long )opt___0->branch1) {
    tmp___0 = 3;
  } else {
    tmp___0 = 2;
  }
  other_stage = tmp___0;
  tmp___1 = _((char const   *)"CONFLICT (rename/add): Rename %s->%s in %s.  Added %s in %s");
  output(opt___0, 1, (char const   *)tmp___1, a->path, c___0->path, rename_branch,
         c___0->path, add_branch___0);
  prev_path_desc = xstrfmt((char const   *)"version of %s from %s", path___6, a->path);
  ((ci->ren1)->src_entry)->stages[other_stage].path = a->path;
  tmp___2 = merge_mode_and_contents(opt___0, (struct diff_filespec  const  *)a, (struct diff_filespec  const  *)c___0,
                                    (struct diff_filespec  const  *)(& ((ci->ren1)->src_entry)->stages[other_stage]),
                                    (char const   *)prev_path_desc, opt___0->branch1,
                                    opt___0->branch2, (int const   )(1 + (opt___0->priv)->call_depth * 2),
                                    & mfi);
  if (tmp___2) {
    return (-1);
  }
  free((void *)prev_path_desc);
  mfi.blob.path = c___0->path;
  ((ci->ren1)->dst_entry)->stages[other_stage].path = mfi.blob.path;
  tmp___3 = handle_file_collision(opt___0, (char const   *)c___0->path, (char const   *)a->path,
                                  (char const   *)((void *)0), rename_branch, add_branch___0,
                                  & mfi.blob, & ((ci->ren1)->dst_entry)->stages[other_stage]);
  return (tmp___3);
}
}
static char *find_path_for_conflict(struct merge_options___0 *opt___0 , char const   *path___6 ,
                                    char const   *branch1 , char const   *branch2 )
{
  char *new_path___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  new_path___0 = (char *)((void *)0);
  tmp___2 = dir_in_way((opt___0->repo)->index, path___6, ! (opt___0->priv)->call_depth,
                       0);
  if (tmp___2) {
    new_path___0 = unique_path___0(opt___0, path___6, branch1);
    tmp = _((char const   *)"%s is a directory in %s adding as %s instead");
    output(opt___0, 1, (char const   *)tmp, path___6, branch2, new_path___0);
  } else {
    tmp___1 = would_lose_untracked(opt___0, path___6);
    if (tmp___1) {
      new_path___0 = unique_path___0(opt___0, path___6, branch1);
      tmp___0 = _((char const   *)"Refusing to lose untracked file at %s; adding as %s instead");
      output(opt___0, 1, (char const   *)tmp___0, path___6, new_path___0);
    }
  }
  return (new_path___0);
}
}
__inline static int flip_stage(int stage )
{


  {
  return (5 - stage);
}
}
static int handle_rename_rename_1to2(struct merge_options___0 *opt___0 , struct rename_conflict_info *ci )
{
  struct merge_file_info mfi ;
  struct diff_filespec *add___2 ;
  struct diff_filespec *o ;
  struct diff_filespec *a ;
  struct diff_filespec *b___0 ;
  char *path_desc ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char *new_path___0 ;
  char *tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  char *new_path___1 ;
  char *tmp___13 ;
  char *tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;

  {
  o = ((ci->ren1)->pair)->one;
  a = ((ci->ren1)->pair)->two;
  b___0 = ((ci->ren2)->pair)->two;
  if ((opt___0->priv)->call_depth) {
    tmp = _((char const   *)" (left unresolved)");
    tmp___0 = tmp;
  } else {
    tmp___0 = (char const __attribute__((__format_arg__(1)))  *)"";
  }
  tmp___1 = _((char const   *)"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s\"->\"%s\" in \"%s\"%s");
  output(opt___0, 1, (char const   *)tmp___1, o->path, a->path, (ci->ren1)->branch,
         o->path, b___0->path, (ci->ren2)->branch, tmp___0);
  path_desc = xstrfmt((char const   *)"%s and %s, both renamed from %s", a->path,
                      b___0->path, o->path);
  tmp___2 = merge_mode_and_contents(opt___0, (struct diff_filespec  const  *)o, (struct diff_filespec  const  *)a,
                                    (struct diff_filespec  const  *)b___0, (char const   *)path_desc,
                                    (ci->ren1)->branch, (ci->ren2)->branch, (int const   )((opt___0->priv)->call_depth * 2),
                                    & mfi);
  if (tmp___2) {
    return (-1);
  }
  free((void *)path_desc);
  if ((opt___0->priv)->call_depth) {
    remove_file_from_index((opt___0->repo)->index, (char const   *)o->path);
  }
  tmp___3 = flip_stage(2);
  add___2 = & ((ci->ren1)->dst_entry)->stages[tmp___3];
  tmp___9 = is_valid((struct diff_filespec  const  *)add___2);
  if (tmp___9) {
    mfi.blob.path = a->path;
    add___2->path = mfi.blob.path;
    tmp___4 = handle_file_collision(opt___0, (char const   *)a->path, (char const   *)((void *)0),
                                    (char const   *)((void *)0), (ci->ren1)->branch,
                                    (ci->ren2)->branch, & mfi.blob, add___2);
    if (tmp___4 < 0) {
      return (-1);
    }
  } else {
    tmp___5 = find_path_for_conflict(opt___0, (char const   *)a->path, (ci->ren1)->branch,
                                     (ci->ren2)->branch);
    new_path___0 = tmp___5;
    if (new_path___0) {
      tmp___6 = new_path___0;
    } else {
      tmp___6 = a->path;
    }
    tmp___7 = update_file(opt___0, 0, (struct diff_filespec  const  *)(& mfi.blob),
                          (char const   *)tmp___6);
    if (tmp___7) {
      return (-1);
    }
    free((void *)new_path___0);
    if (! (opt___0->priv)->call_depth) {
      tmp___8 = update_stages(opt___0, (char const   *)a->path, (struct diff_filespec  const  *)((void *)0),
                              (struct diff_filespec  const  *)a, (struct diff_filespec  const  *)((void *)0));
      if (tmp___8) {
        return (-1);
      }
    }
  }
  if (! mfi.clean) {
    if ((int )mfi.blob.mode == (int )a->mode) {
      tmp___10 = oideq((struct object_id  const  *)(& mfi.blob.oid), (struct object_id  const  *)(& a->oid));
      if (tmp___10) {
        oidcpy(& mfi.blob.oid, (struct object_id  const  *)(& b___0->oid));
        mfi.blob.mode = b___0->mode;
      }
    }
  }
  tmp___11 = flip_stage(3);
  add___2 = & ((ci->ren2)->dst_entry)->stages[tmp___11];
  tmp___17 = is_valid((struct diff_filespec  const  *)add___2);
  if (tmp___17) {
    mfi.blob.path = b___0->path;
    add___2->path = mfi.blob.path;
    tmp___12 = handle_file_collision(opt___0, (char const   *)b___0->path, (char const   *)((void *)0),
                                     (char const   *)((void *)0), (ci->ren1)->branch,
                                     (ci->ren2)->branch, add___2, & mfi.blob);
    if (tmp___12 < 0) {
      return (-1);
    }
  } else {
    tmp___13 = find_path_for_conflict(opt___0, (char const   *)b___0->path, (ci->ren2)->branch,
                                      (ci->ren1)->branch);
    new_path___1 = tmp___13;
    if (new_path___1) {
      tmp___14 = new_path___1;
    } else {
      tmp___14 = b___0->path;
    }
    tmp___15 = update_file(opt___0, 0, (struct diff_filespec  const  *)(& mfi.blob),
                           (char const   *)tmp___14);
    if (tmp___15) {
      return (-1);
    }
    free((void *)new_path___1);
    if (! (opt___0->priv)->call_depth) {
      tmp___16 = update_stages(opt___0, (char const   *)b___0->path, (struct diff_filespec  const  *)((void *)0),
                               (struct diff_filespec  const  *)((void *)0), (struct diff_filespec  const  *)b___0);
      if (tmp___16) {
        return (-1);
      }
    }
  }
  return (0);
}
}
static int handle_rename_rename_2to1(struct merge_options___0 *opt___0 , struct rename_conflict_info *ci )
{
  struct diff_filespec *a ;
  struct diff_filespec *b___0 ;
  struct diff_filespec *c1 ;
  struct diff_filespec *c2 ;
  char *path___6 ;
  char *path_side_1_desc ;
  char *path_side_2_desc ;
  struct merge_file_info mfi_c1 ;
  struct merge_file_info mfi_c2 ;
  int ostage1 ;
  int ostage2 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  a = ((ci->ren1)->pair)->one;
  b___0 = ((ci->ren2)->pair)->one;
  c1 = ((ci->ren1)->pair)->two;
  c2 = ((ci->ren2)->pair)->two;
  path___6 = c1->path;
  tmp = _((char const   *)"CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s");
  output(opt___0, 1, (char const   *)tmp, a->path, c1->path, (ci->ren1)->branch, b___0->path,
         c2->path, (ci->ren2)->branch);
  path_side_1_desc = xstrfmt((char const   *)"version of %s from %s", path___6, a->path);
  path_side_2_desc = xstrfmt((char const   *)"version of %s from %s", path___6, b___0->path);
  if ((unsigned long )(ci->ren1)->branch == (unsigned long )opt___0->branch1) {
    ostage1 = 3;
  } else {
    ostage1 = 2;
  }
  ostage2 = flip_stage(ostage1);
  ((ci->ren1)->src_entry)->stages[ostage1].path = a->path;
  ((ci->ren2)->src_entry)->stages[ostage2].path = b___0->path;
  tmp___0 = merge_mode_and_contents(opt___0, (struct diff_filespec  const  *)a, (struct diff_filespec  const  *)c1,
                                    (struct diff_filespec  const  *)(& ((ci->ren1)->src_entry)->stages[ostage1]),
                                    (char const   *)path_side_1_desc, opt___0->branch1,
                                    opt___0->branch2, (int const   )(1 + (opt___0->priv)->call_depth * 2),
                                    & mfi_c1);
  if (tmp___0) {
    return (-1);
  } else {
    tmp___1 = merge_mode_and_contents(opt___0, (struct diff_filespec  const  *)b___0,
                                      (struct diff_filespec  const  *)(& ((ci->ren2)->src_entry)->stages[ostage2]),
                                      (struct diff_filespec  const  *)c2, (char const   *)path_side_2_desc,
                                      opt___0->branch1, opt___0->branch2, (int const   )(1 + (opt___0->priv)->call_depth * 2),
                                      & mfi_c2);
    if (tmp___1) {
      return (-1);
    }
  }
  free((void *)path_side_1_desc);
  free((void *)path_side_2_desc);
  mfi_c1.blob.path = path___6;
  mfi_c2.blob.path = path___6;
  tmp___2 = handle_file_collision(opt___0, (char const   *)path___6, (char const   *)a->path,
                                  (char const   *)b___0->path, (ci->ren1)->branch,
                                  (ci->ren2)->branch, & mfi_c1.blob, & mfi_c2.blob);
  return (tmp___2);
}
}
static struct diff_queue_struct *get_diffpairs(struct merge_options___0 *opt___0 ,
                                               struct tree *o_tree , struct tree *tree )
{
  struct diff_queue_struct *ret___67 ;
  struct diff_options opts___1 ;
  void *tmp ;

  {
  repo_diff_setup(opt___0->repo, & opts___1);
  opts___1.flags.recursive = 1U;
  opts___1.flags.rename_empty = 0U;
  opts___1.detect_rename = merge_detect_rename(opt___0);
  if (opts___1.detect_rename > 1) {
    opts___1.detect_rename = 1;
  }
  if (opt___0->rename_limit >= 0) {
    opts___1.rename_limit = opt___0->rename_limit;
  } else {
    opts___1.rename_limit = 7000;
  }
  opts___1.rename_score = opt___0->rename_score;
  opts___1.show_rename_progress = opt___0->show_rename_progress;
  opts___1.output_format = 0x0800;
  diff_setup_done(& opts___1);
  diff_tree_oid((struct object_id  const  *)(& o_tree->object.oid), (struct object_id  const  *)(& tree->object.oid),
                (char const   *)"", & opts___1);
  diffcore_std(& opts___1);
  if (opts___1.needed_rename_limit > (opt___0->priv)->needed_rename_limit) {
    (opt___0->priv)->needed_rename_limit = opts___1.needed_rename_limit;
  }
  tmp = xmalloc(sizeof(*ret___67));
  ret___67 = (struct diff_queue_struct *)tmp;
  *ret___67 = diff_queued_diff;
  opts___1.output_format = 0x0800;
  diff_queued_diff.nr = 0;
  diff_queued_diff.queue = (struct diff_filepair **)((void *)0);
  diff_flush(& opts___1);
  return (ret___67);
}
}
static int tree_has_path(struct repository *r , struct tree *tree , char const   *path___6 )
{
  struct object_id hashy ;
  unsigned short mode_o ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = get_tree_entry(r, (struct object_id  const  *)(& tree->object.oid), path___6,
                       & hashy, & mode_o);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
static char *apply_dir_rename___0(struct dir_rename_entry *entry , char const   *old_path )
{
  struct strbuf new_path___0 ;
  int oldlen ;
  int newlen ;
  size_t tmp ;
  size_t tmp___0 ;
  char *tmp___1 ;

  {
  new_path___0.alloc = 0UL;
  new_path___0.len = 0UL;
  new_path___0.buf = strbuf_slopbuf;
  if (entry->non_unique_new_dir) {
    return ((char *)((void *)0));
  }
  tmp = strlen((char const   *)entry->dir);
  oldlen = (int )tmp;
  if (entry->new_dir.len == 0UL) {
    oldlen ++;
  }
  tmp___0 = strlen(old_path);
  newlen = (int )((entry->new_dir.len + (tmp___0 - (size_t )oldlen)) + 1UL);
  strbuf_grow(& new_path___0, (size_t )newlen);
  strbuf_addbuf(& new_path___0, (struct strbuf  const  *)(& entry->new_dir));
  strbuf_addstr(& new_path___0, old_path + oldlen);
  tmp___1 = strbuf_detach(& new_path___0, (size_t *)((void *)0));
  return (tmp___1);
}
}
static void get_renamed_dir_portion(char const   *old_path , char const   *new_path___0 ,
                                    char **old_dir , char **new_dir )
{
  char *end_of_old ;
  char *end_of_new ;

  {
  *old_dir = (char *)((void *)0);
  *new_dir = (char *)((void *)0);
  end_of_old = strrchr(old_path, '/');
  end_of_new = strrchr(new_path___0, '/');
  if ((unsigned long )end_of_old == (unsigned long )((void *)0)) {
    return;
  }
  if ((unsigned long )end_of_new == (unsigned long )((void *)0)) {
    *old_dir = xstrndup(old_path, (size_t )(end_of_old - (char *)old_path));
    *new_dir = xstrdup((char const   *)"");
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    end_of_new --;
    end_of_old --;
    if ((int )*end_of_new == (int )*end_of_old) {
      if ((unsigned long )end_of_old != (unsigned long )old_path) {
        if (! ((unsigned long )end_of_new != (unsigned long )new_path___0)) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
    } else {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned long )end_of_old == (unsigned long )old_path) {
    if ((unsigned long )end_of_new == (unsigned long )new_path___0) {
      if ((int )*end_of_old == (int )*end_of_new) {
        return;
      }
    }
  }
  if ((unsigned long )end_of_new == (unsigned long )new_path___0) {
    if ((unsigned long )end_of_old != (unsigned long )old_path) {
      if ((int )*(end_of_old + -1) == 47) {
        end_of_old --;
        *old_dir = xstrndup(old_path, (size_t )(end_of_old - (char *)old_path));
        *new_dir = xstrdup((char const   *)"");
        return;
      }
    }
  }
  end_of_old ++;
  end_of_old = strchr((char const   *)end_of_old, '/');
  end_of_new ++;
  end_of_new = strchr((char const   *)end_of_new, '/');
  *old_dir = xstrndup(old_path, (size_t )(end_of_old - (char *)old_path));
  *new_dir = xstrndup(new_path___0, (size_t )(end_of_new - (char *)new_path___0));
  return;
}
}
static void remove_hashmap_entries(struct hashmap *dir_renames , struct string_list *items_to_remove )
{
  int i ;
  struct dir_rename_entry *entry ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < items_to_remove->nr)) {
      goto while_break;
    }
    entry = (struct dir_rename_entry *)(items_to_remove->items + i)->util;
    hashmap_remove(dir_renames, (struct hashmap_entry  const  *)(& entry->ent), (void const   *)((void *)0));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_clear(items_to_remove, 0);
  return;
}
}
static char *handle_path_level_conflicts___0(struct merge_options___0 *opt___0 , char const   *path___6 ,
                                             struct dir_rename_entry *entry , struct hashmap *collisions ,
                                             struct tree *tree )
{
  char *new_path___0 ;
  struct collision_entry *collision_ent ;
  int clean ;
  struct strbuf collision_paths ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  new_path___0 = (char *)((void *)0);
  clean = 1;
  collision_paths.alloc = 0UL;
  collision_paths.len = 0UL;
  collision_paths.buf = strbuf_slopbuf;
  new_path___0 = apply_dir_rename___0(entry, path___6);
  if (! new_path___0) {
    if (! entry->non_unique_new_dir) {
      BUG_fl((char const   *)"merge-recursive.c", 2099, (char const   *)"entry->non_unqiue_dir not set and !new_path");
    }
    tmp = _((char const   *)"CONFLICT (directory rename split): Unclear where to place %s because directory %s was renamed to multiple other directories, with no destination getting a majority of the files.");
    output(opt___0, 1, (char const   *)tmp, path___6, entry->dir);
    clean = 0;
    return ((char *)((void *)0));
  }
  collision_ent = collision_find_entry(collisions, new_path___0);
  if ((unsigned long )collision_ent == (unsigned long )((void *)0)) {
    BUG_fl((char const   *)"merge-recursive.c", 2117, (char const   *)"collision_ent is NULL");
  }
  if (collision_ent->reported_already) {
    clean = 0;
  } else {
    tmp___2 = tree_has_path(opt___0->repo, tree, (char const   *)new_path___0);
    if (tmp___2) {
      collision_ent->reported_already = 1U;
      strbuf_add_separated_string_list(& collision_paths, (char const   *)", ", & collision_ent->source_files);
      tmp___0 = _((char const   *)"CONFLICT (implicit dir rename): Existing file/dir at %s in the way of implicit directory rename(s) putting the following path(s) there: %s.");
      output(opt___0, 1, (char const   *)tmp___0, new_path___0, collision_paths.buf);
      clean = 0;
    } else
    if (collision_ent->source_files.nr > 1U) {
      collision_ent->reported_already = 1U;
      strbuf_add_separated_string_list(& collision_paths, (char const   *)", ", & collision_ent->source_files);
      tmp___1 = _((char const   *)"CONFLICT (implicit dir rename): Cannot map more than one path to %s; implicit directory renames tried to put these paths there: %s");
      output(opt___0, 1, (char const   *)tmp___1, new_path___0, collision_paths.buf);
      clean = 0;
    }
  }
  strbuf_release(& collision_paths);
  if (! clean) {
    if (new_path___0) {
      free((void *)new_path___0);
      return ((char *)((void *)0));
    }
  }
  return (new_path___0);
}
}
static void handle_directory_level_conflicts___0(struct merge_options___0 *opt___0 ,
                                                 struct hashmap *dir_re_head , struct tree *head___1 ,
                                                 struct hashmap *dir_re_merge , struct tree *merge___1 )
{
  struct hashmap_iter iter___0 ;
  struct dir_rename_entry *head_ent ;
  struct dir_rename_entry *merge_ent ;
  struct string_list remove_from_head ;
  struct string_list remove_from_merge ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;
  struct string_list_item *tmp___3 ;
  struct string_list_item *tmp___4 ;
  struct string_list_item *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  struct hashmap_entry *tmp___8 ;
  void *tmp___9 ;
  struct hashmap_entry *tmp___10 ;
  void *tmp___11 ;
  struct string_list_item *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  struct string_list_item *tmp___14 ;
  struct string_list_item *tmp___15 ;
  int tmp___16 ;

  {
  remove_from_head.items = (struct string_list_item *)0;
  remove_from_head.nr = 0U;
  remove_from_head.alloc = 0U;
  remove_from_head.strdup_strings = 0U;
  remove_from_head.cmp = (int (*)(char const   * , char const   * ))0;
  remove_from_merge.items = (struct string_list_item *)0;
  remove_from_merge.nr = 0U;
  remove_from_merge.alloc = 0U;
  remove_from_merge.strdup_strings = 0U;
  remove_from_merge.cmp = (int (*)(char const   * , char const   * ))0;
  head_ent = (struct dir_rename_entry *)((void *)0);
  tmp = hashmap_iter_first(dir_re_head, & iter___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct dir_rename_entry *)0)->ent));
  head_ent = (struct dir_rename_entry *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! head_ent) {
      goto while_break;
    }
    merge_ent = dir_rename_find_entry(dir_re_merge, head_ent->dir);
    if (merge_ent) {
      if (! head_ent->non_unique_new_dir) {
        if (! merge_ent->non_unique_new_dir) {
          tmp___7 = strbuf_cmp((struct strbuf  const  *)(& head_ent->new_dir), (struct strbuf  const  *)(& merge_ent->new_dir));
          if (tmp___7) {
            goto _L___1;
          } else {
            tmp___3 = string_list_append(& remove_from_head, (char const   *)head_ent->dir);
            tmp___3->util = (void *)head_ent;
            strbuf_release(& head_ent->new_dir);
            tmp___4 = string_list_append(& remove_from_merge, (char const   *)merge_ent->dir);
            tmp___4->util = (void *)merge_ent;
            strbuf_release(& merge_ent->new_dir);
          }
        } else {
          goto _L___1;
        }
      } else {
        goto _L___1;
      }
    } else {
      _L___1: /* CIL Label */
      _L___0: /* CIL Label */
      _L: /* CIL Label */
      tmp___6 = tree_has_path(opt___0->repo, head___1, (char const   *)head_ent->dir);
      if (tmp___6) {
        tmp___5 = string_list_append(& remove_from_head, (char const   *)head_ent->dir);
        tmp___5->util = (void *)head_ent;
        strbuf_release(& head_ent->new_dir);
      }
    }
    tmp___1 = hashmap_iter_next(& iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct dir_rename_entry *)0)->ent));
    head_ent = (struct dir_rename_entry *)tmp___2;
  }
  while_break: /* CIL Label */ ;
  }
  remove_hashmap_entries(dir_re_head, & remove_from_head);
  remove_hashmap_entries(dir_re_merge, & remove_from_merge);
  merge_ent = (struct dir_rename_entry *)((void *)0);
  tmp___8 = hashmap_iter_first(dir_re_merge, & iter___0);
  tmp___9 = container_of_or_null_offset((void *)tmp___8, (unsigned long )(& ((struct dir_rename_entry *)0)->ent));
  merge_ent = (struct dir_rename_entry *)tmp___9;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! merge_ent) {
      goto while_break___0;
    }
    head_ent = dir_rename_find_entry(dir_re_head, merge_ent->dir);
    tmp___16 = tree_has_path(opt___0->repo, merge___1, (char const   *)merge_ent->dir);
    if (tmp___16) {
      tmp___12 = string_list_append(& remove_from_merge, (char const   *)merge_ent->dir);
      tmp___12->util = (void *)merge_ent;
    } else
    if (head_ent) {
      if (! head_ent->non_unique_new_dir) {
        if (! merge_ent->non_unique_new_dir) {
          tmp___13 = _((char const   *)"CONFLICT (rename/rename): Rename directory %s->%s in %s. Rename directory %s->%s in %s");
          output(opt___0, 1, (char const   *)tmp___13, head_ent->dir, head_ent->new_dir.buf,
                 opt___0->branch1, head_ent->dir, merge_ent->new_dir.buf, opt___0->branch2);
          tmp___14 = string_list_append(& remove_from_head, (char const   *)head_ent->dir);
          tmp___14->util = (void *)head_ent;
          strbuf_release(& head_ent->new_dir);
          tmp___15 = string_list_append(& remove_from_merge, (char const   *)merge_ent->dir);
          tmp___15->util = (void *)merge_ent;
          strbuf_release(& merge_ent->new_dir);
        }
      }
    }
    tmp___10 = hashmap_iter_next(& iter___0);
    tmp___11 = container_of_or_null_offset((void *)tmp___10, (unsigned long )(& ((struct dir_rename_entry *)0)->ent));
    merge_ent = (struct dir_rename_entry *)tmp___11;
  }
  while_break___0: /* CIL Label */ ;
  }
  remove_hashmap_entries(dir_re_head, & remove_from_head);
  remove_hashmap_entries(dir_re_merge, & remove_from_merge);
  return;
}
}
static struct hashmap *get_directory_renames(struct diff_queue_struct *pairs )
{
  struct hashmap *dir_renames ;
  struct hashmap_iter iter___0 ;
  struct dir_rename_entry *entry ;
  int i ;
  void *tmp ;
  struct string_list_item *item___0 ;
  int *count___0 ;
  struct diff_filepair *pair ;
  char *old_dir ;
  char *new_dir ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;
  struct hashmap_entry *tmp___3 ;
  void *tmp___4 ;
  int max ;
  int bad_max ;
  char *best ;
  int *count___1 ;

  {
  tmp = xmalloc(sizeof(*dir_renames));
  dir_renames = (struct hashmap *)tmp;
  dir_rename_init(dir_renames);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < pairs->nr)) {
      goto while_break;
    }
    pair = *(pairs->queue + i);
    if ((int )pair->status != 82) {
      goto __Cont;
    }
    get_renamed_dir_portion((char const   *)(pair->one)->path, (char const   *)(pair->two)->path,
                            & old_dir, & new_dir);
    if (! old_dir) {
      goto __Cont;
    }
    entry = dir_rename_find_entry(dir_renames, old_dir);
    if (! entry) {
      tmp___0 = xmalloc(sizeof(*entry));
      entry = (struct dir_rename_entry *)tmp___0;
      dir_rename_entry_init(entry, old_dir);
      hashmap_put(dir_renames, & entry->ent);
    } else {
      free((void *)old_dir);
    }
    item___0 = string_list_lookup(& entry->possible_new_dirs, (char const   *)new_dir);
    if (! item___0) {
      item___0 = string_list_insert(& entry->possible_new_dirs, (char const   *)new_dir);
      item___0->util = xcalloc((size_t )1, sizeof(int ));
    } else {
      free((void *)new_dir);
    }
    count___0 = (int *)item___0->util;
    (*count___0) ++;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  entry = (struct dir_rename_entry *)((void *)0);
  tmp___1 = hashmap_iter_first(dir_renames, & iter___0);
  tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct dir_rename_entry *)0)->ent));
  entry = (struct dir_rename_entry *)tmp___2;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! entry) {
      goto while_break___0;
    }
    max = 0;
    bad_max = 0;
    best = (char *)((void *)0);
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((unsigned int )i < entry->possible_new_dirs.nr)) {
        goto while_break___1;
      }
      count___1 = (int *)(entry->possible_new_dirs.items + i)->util;
      if (*count___1 == max) {
        bad_max = max;
      } else
      if (*count___1 > max) {
        max = *count___1;
        best = (entry->possible_new_dirs.items + i)->string;
      }
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (bad_max == max) {
      entry->non_unique_new_dir = 1U;
    } else {
      assert(entry->new_dir.len == 0UL);
      strbuf_addstr(& entry->new_dir, (char const   *)best);
    }
    entry->possible_new_dirs.strdup_strings = 1U;
    string_list_clear(& entry->possible_new_dirs, 1);
    tmp___3 = hashmap_iter_next(& iter___0);
    tmp___4 = container_of_or_null_offset((void *)tmp___3, (unsigned long )(& ((struct dir_rename_entry *)0)->ent));
    entry = (struct dir_rename_entry *)tmp___4;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (dir_renames);
}
}
static struct dir_rename_entry *check_dir_renamed___0(char const   *path___6 , struct hashmap *dir_renames )
{
  char *temp ;
  char *tmp ;
  char *end ;
  struct dir_rename_entry *entry ;

  {
  tmp = xstrdup(path___6);
  temp = tmp;
  entry = (struct dir_rename_entry *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    end = strrchr((char const   *)temp, '/');
    if (! end) {
      goto while_break;
    }
    *end = (char )'\000';
    entry = dir_rename_find_entry(dir_renames, temp);
    if (entry) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)temp);
  return (entry);
}
}
static void compute_collisions___0(struct hashmap *collisions , struct hashmap *dir_renames ,
                                   struct diff_queue_struct *pairs )
{
  int i ;
  struct dir_rename_entry *dir_rename_ent ;
  struct collision_entry *collision_ent ;
  char *new_path___0 ;
  struct diff_filepair *pair ;
  void *tmp ;
  unsigned int tmp___0 ;

  {
  collision_init(collisions);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < pairs->nr)) {
      goto while_break;
    }
    pair = *(pairs->queue + i);
    if ((int )pair->status != 65) {
      if ((int )pair->status != 82) {
        goto __Cont;
      }
    }
    dir_rename_ent = check_dir_renamed___0((char const   *)(pair->two)->path, dir_renames);
    if (! dir_rename_ent) {
      goto __Cont;
    }
    new_path___0 = apply_dir_rename___0(dir_rename_ent, (char const   *)(pair->two)->path);
    if (! new_path___0) {
      goto __Cont;
    }
    collision_ent = collision_find_entry(collisions, new_path___0);
    if (! collision_ent) {
      tmp = xcalloc((size_t )1, sizeof(*collision_ent));
      collision_ent = (struct collision_entry *)tmp;
      tmp___0 = strhash((char const   *)new_path___0);
      hashmap_entry_init(& collision_ent->ent, tmp___0);
      hashmap_put(collisions, & collision_ent->ent);
      collision_ent->target_file = new_path___0;
    } else {
      free((void *)new_path___0);
    }
    string_list_insert(& collision_ent->source_files, (char const   *)(pair->two)->path);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static char *check_for_directory_rename___0(struct merge_options___0 *opt___0 , char const   *path___6 ,
                                            struct tree *tree , struct hashmap *dir_renames ,
                                            struct hashmap *dir_rename_exclusions ,
                                            struct hashmap *collisions , int *clean_merge )
{
  char *new_path___0 ;
  struct dir_rename_entry *entry ;
  struct dir_rename_entry *tmp ;
  struct dir_rename_entry *oentry ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  new_path___0 = (char *)((void *)0);
  tmp = check_dir_renamed___0(path___6, dir_renames);
  entry = tmp;
  oentry = (struct dir_rename_entry *)((void *)0);
  if (! entry) {
    return (new_path___0);
  }
  oentry = dir_rename_find_entry(dir_rename_exclusions, entry->new_dir.buf);
  if (oentry) {
    tmp___0 = _((char const   *)"WARNING: Avoiding applying %s -> %s rename to %s, because %s itself was renamed.");
    output(opt___0, 1, (char const   *)tmp___0, entry->dir, entry->new_dir.buf, path___6,
           entry->new_dir.buf);
  } else {
    new_path___0 = handle_path_level_conflicts___0(opt___0, path___6, entry, collisions,
                                                   tree);
    *clean_merge &= (unsigned long )new_path___0 != (unsigned long )((void *)0);
  }
  return (new_path___0);
}
}
static void apply_directory_rename_modifications___0(struct merge_options___0 *opt___0 ,
                                                     struct diff_filepair *pair ,
                                                     char *new_path___0 , struct rename *re ,
                                                     struct tree *tree , struct tree *o_tree ,
                                                     struct tree *a_tree , struct tree *b_tree ,
                                                     struct string_list *entries___1 )
{
  struct string_list_item *item___0 ;
  int stage ;
  int tmp ;
  int update_wd ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  if ((unsigned long )tree == (unsigned long )a_tree) {
    tmp = 2;
  } else {
    tmp = 3;
  }
  stage = tmp;
  tmp___0 = was_dirty(opt___0, (char const   *)(pair->two)->path);
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  update_wd = tmp___1;
  if (! update_wd) {
    tmp___2 = _((char const   *)"Refusing to lose dirty file at %s");
    output(opt___0, 1, (char const   *)tmp___2, (pair->two)->path);
  }
  remove_file___0(opt___0, 1, (char const   *)(pair->two)->path, ! update_wd);
  item___0 = string_list_lookup(entries___1, (char const   *)new_path___0);
  if (item___0) {
    (re->dst_entry)->processed = 1U;
    re->dst_entry = (struct stage_data *)item___0->util;
  } else {
    if ((int )pair->status == 82) {
      (re->dst_entry)->processed = 1U;
    }
    re->dst_entry = insert_stage_data(opt___0->repo, (char const   *)new_path___0,
                                      o_tree, a_tree, b_tree, entries___1);
    item___0 = string_list_insert(entries___1, (char const   *)new_path___0);
    item___0->util = (void *)re->dst_entry;
  }
  get_tree_entry(opt___0->repo, (struct object_id  const  *)(& tree->object.oid),
                 (char const   *)(pair->two)->path, & (re->dst_entry)->stages[stage].oid,
                 & (re->dst_entry)->stages[stage].mode);
  re->dir_rename_original_type = pair->status;
  re->dir_rename_original_dest = (pair->two)->path;
  pair->status = (char )'R';
  (pair->two)->path = new_path___0;
  return;
}
}
static struct string_list *get_renames(struct merge_options___0 *opt___0 , char const   *branch___0 ,
                                       struct diff_queue_struct *pairs , struct hashmap *dir_renames ,
                                       struct hashmap *dir_rename_exclusions , struct tree *tree ,
                                       struct tree *o_tree , struct tree *a_tree ,
                                       struct tree *b_tree , struct string_list *entries___1 ,
                                       int *clean_merge )
{
  int i ;
  struct hashmap collisions ;
  struct hashmap_iter iter___0 ;
  struct collision_entry *e ;
  struct string_list *renames ;
  void *tmp ;
  struct string_list_item *item___0 ;
  struct rename *re ;
  struct diff_filepair *pair ;
  char *new_path___0 ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;
  struct hashmap_entry *tmp___3 ;
  void *tmp___4 ;

  {
  compute_collisions___0(& collisions, dir_renames, pairs);
  tmp = xcalloc((size_t )1, sizeof(*renames));
  renames = (struct string_list *)tmp;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < pairs->nr)) {
      goto while_break;
    }
    pair = *(pairs->queue + i);
    if ((int )pair->status != 65) {
      if ((int )pair->status != 82) {
        diff_free_filepair(pair);
        goto __Cont;
      }
    }
    new_path___0 = check_for_directory_rename___0(opt___0, (char const   *)(pair->two)->path,
                                                  tree, dir_renames, dir_rename_exclusions,
                                                  & collisions, clean_merge);
    if ((int )pair->status != 82) {
      if (! new_path___0) {
        diff_free_filepair(pair);
        goto __Cont;
      }
    }
    tmp___0 = xmalloc(sizeof(*re));
    re = (struct rename *)tmp___0;
    re->processed = 0U;
    re->pair = pair;
    re->branch = branch___0;
    re->dir_rename_original_type = (char )'\000';
    re->dir_rename_original_dest = (char *)((void *)0);
    item___0 = string_list_lookup(entries___1, (char const   *)((re->pair)->one)->path);
    if (! item___0) {
      re->src_entry = insert_stage_data(opt___0->repo, (char const   *)((re->pair)->one)->path,
                                        o_tree, a_tree, b_tree, entries___1);
    } else {
      re->src_entry = (struct stage_data *)item___0->util;
    }
    item___0 = string_list_lookup(entries___1, (char const   *)((re->pair)->two)->path);
    if (! item___0) {
      re->dst_entry = insert_stage_data(opt___0->repo, (char const   *)((re->pair)->two)->path,
                                        o_tree, a_tree, b_tree, entries___1);
    } else {
      re->dst_entry = (struct stage_data *)item___0->util;
    }
    item___0 = string_list_insert(renames, (char const   *)(pair->one)->path);
    item___0->util = (void *)re;
    if (new_path___0) {
      apply_directory_rename_modifications___0(opt___0, pair, new_path___0, re, tree,
                                               o_tree, a_tree, b_tree, entries___1);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  e = (struct collision_entry *)((void *)0);
  tmp___1 = hashmap_iter_first(& collisions, & iter___0);
  tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct collision_entry *)0)->ent));
  e = (struct collision_entry *)tmp___2;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! e) {
      goto while_break___0;
    }
    free((void *)e->target_file);
    string_list_clear(& e->source_files, 0);
    tmp___3 = hashmap_iter_next(& iter___0);
    tmp___4 = container_of_or_null_offset((void *)tmp___3, (unsigned long )(& ((struct collision_entry *)0)->ent));
    e = (struct collision_entry *)tmp___4;
  }
  while_break___0: /* CIL Label */ ;
  }
  hashmap_clear_(& collisions, (ssize_t )((unsigned long )(& ((struct collision_entry *)0)->ent)));
  return (renames);
}
}
static int process_renames___0(struct merge_options___0 *opt___0 , struct string_list *a_renames ,
                               struct string_list *b_renames )
{
  int clean_merge ;
  int i ;
  int j ;
  struct string_list a_by_dst ;
  struct string_list b_by_dst ;
  struct rename  const  *sre ;
  struct string_list_item *tmp ;
  struct string_list_item *tmp___0 ;
  struct string_list *renames1 ;
  struct string_list *renames2Dst ;
  struct rename *ren1 ;
  struct rename *ren2 ;
  char const   *ren1_src ;
  char const   *ren1_dst ;
  struct string_list_item *lookup ;
  int tmp___1 ;
  int tmp___2 ;
  int compare___1 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  void *_swap_a_ptr ;
  void *_swap_b_ptr ;
  unsigned char _swap_buffer[sizeof(ren2)] ;
  char const   *ren2_src ;
  char const   *ren2_dst ;
  enum rename_type rename_type ;
  int tmp___6 ;
  int tmp___7 ;
  char *ren2_dst___0 ;
  int tmp___8 ;
  struct diff_filespec src_other ;
  struct diff_filespec dst_other ;
  int try_merge___0 ;
  int renamed_stage ;
  int tmp___9 ;
  int other_stage ;
  int tmp___10 ;
  int renamed_to_self ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  struct object_id  const  *tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  struct object_id  const  *tmp___19 ;
  int tmp___20 ;
  struct object_id  const  *tmp___21 ;
  int tmp___22 ;
  struct diff_filespec *o ;
  struct diff_filespec *a ;
  struct diff_filespec *b___0 ;

  {
  clean_merge = 1;
  a_by_dst.items = (struct string_list_item *)0;
  a_by_dst.nr = 0U;
  a_by_dst.alloc = 0U;
  a_by_dst.strdup_strings = 0U;
  a_by_dst.cmp = (int (*)(char const   * , char const   * ))0;
  b_by_dst.items = (struct string_list_item *)0;
  b_by_dst.nr = 0U;
  b_by_dst.alloc = 0U;
  b_by_dst.strdup_strings = 0U;
  b_by_dst.cmp = (int (*)(char const   * , char const   * ))0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < a_renames->nr)) {
      goto while_break;
    }
    sre = (struct rename  const  *)(a_renames->items + i)->util;
    tmp = string_list_insert(& a_by_dst, (char const   *)((sre->pair)->two)->path);
    tmp->util = (void *)sre;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < b_renames->nr)) {
      goto while_break___0;
    }
    sre = (struct rename  const  *)(b_renames->items + i)->util;
    tmp___0 = string_list_insert(& b_by_dst, (char const   *)((sre->pair)->two)->path);
    tmp___0->util = (void *)sre;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 0;
  j = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned int )i < a_renames->nr)) {
      if (! ((unsigned int )j < b_renames->nr)) {
        goto while_break___1;
      }
    }
    ren1 = (struct rename *)((void *)0);
    ren2 = (struct rename *)((void *)0);
    if ((unsigned int )i >= a_renames->nr) {
      tmp___1 = j;
      j ++;
      ren2 = (struct rename *)(b_renames->items + tmp___1)->util;
    } else
    if ((unsigned int )j >= b_renames->nr) {
      tmp___2 = i;
      i ++;
      ren1 = (struct rename *)(a_renames->items + tmp___2)->util;
    } else {
      tmp___3 = strcmp((char const   *)(a_renames->items + i)->string, (char const   *)(b_renames->items + j)->string);
      compare___1 = tmp___3;
      if (compare___1 <= 0) {
        tmp___4 = i;
        i ++;
        ren1 = (struct rename *)(a_renames->items + tmp___4)->util;
      }
      if (compare___1 >= 0) {
        tmp___5 = j;
        j ++;
        ren2 = (struct rename *)(b_renames->items + tmp___5)->util;
      }
    }
    if (ren1) {
      renames1 = a_renames;
      renames2Dst = & b_by_dst;
    } else {
      renames1 = b_renames;
      renames2Dst = & a_by_dst;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        _swap_a_ptr = (void *)(& ren2);
        _swap_b_ptr = (void *)(& ren1);
        memcpy((void *)(_swap_buffer), (void const   *)_swap_a_ptr, sizeof(ren2));
        memcpy(_swap_a_ptr, (void const   *)_swap_b_ptr, sizeof(ren2) + (sizeof(char [1]) - 1UL));
        memcpy(_swap_b_ptr, (void const   *)(_swap_buffer), sizeof(ren2));
        goto while_break___2;
      }
      while_break___2: /* CIL Label */ ;
      }
    }
    if (ren1->processed) {
      goto __Cont;
    }
    ren1->processed = 1U;
    (ren1->dst_entry)->processed = 1U;
    (ren1->src_entry)->processed = 1U;
    ren1_src = (char const   *)((ren1->pair)->one)->path;
    ren1_dst = (char const   *)((ren1->pair)->two)->path;
    if (ren2) {
      ren2_src = (char const   *)((ren2->pair)->one)->path;
      ren2_dst = (char const   *)((ren2->pair)->two)->path;
      tmp___6 = strcmp(ren1_src, ren2_src);
      if (tmp___6 != 0) {
        BUG_fl((char const   *)"merge-recursive.c", 2764, (char const   *)"ren1_src != ren2_src");
      }
      (ren2->dst_entry)->processed = 1U;
      ren2->processed = 1U;
      tmp___7 = strcmp(ren1_dst, ren2_dst);
      if (tmp___7 != 0) {
        rename_type = (enum rename_type )5;
        clean_merge = 0;
      } else {
        rename_type = (enum rename_type )4;
        remove_file___0(opt___0, 1, ren1_src, 1);
        update_entry(ren1->dst_entry, (ren1->pair)->one, (ren1->pair)->two, (ren2->pair)->two);
      }
      setup_rename_conflict_info(rename_type, opt___0, ren1, ren2);
    } else {
      lookup = string_list_lookup(renames2Dst, ren1_dst);
      if (lookup) {
        ren2 = (struct rename *)lookup->util;
        ren2_dst___0 = ((ren2->pair)->two)->path;
        tmp___8 = strcmp(ren1_dst, (char const   *)ren2_dst___0);
        if (tmp___8 != 0) {
          BUG_fl((char const   *)"merge-recursive.c", 2789, (char const   *)"ren1_dst != ren2_dst");
        }
        clean_merge = 0;
        ren2->processed = 1U;
        (ren2->src_entry)->processed = 1U;
        setup_rename_conflict_info((enum rename_type )6, opt___0, ren1, ren2);
      } else {
        if ((unsigned long )a_renames == (unsigned long )renames1) {
          tmp___9 = 2;
        } else {
          tmp___9 = 3;
        }
        renamed_stage = tmp___9;
        if ((unsigned long )a_renames == (unsigned long )renames1) {
          tmp___10 = 3;
        } else {
          tmp___10 = 2;
        }
        other_stage = tmp___10;
        tmp___11 = strcmp(ren1_src, ren1_dst);
        if (tmp___11) {
          tmp___12 = 0;
        } else {
          tmp___12 = 1;
        }
        renamed_to_self = tmp___12;
        if (! renamed_to_self) {
          if (renamed_stage == 2) {
            tmp___14 = 1;
          } else {
            tmp___13 = was_tracked(opt___0, ren1_src);
            if (tmp___13) {
              tmp___14 = 0;
            } else {
              tmp___14 = 1;
            }
          }
          remove_file___0(opt___0, 1, ren1_src, tmp___14);
        }
        oidcpy(& src_other.oid, (struct object_id  const  *)(& (ren1->src_entry)->stages[other_stage].oid));
        src_other.mode = (ren1->src_entry)->stages[other_stage].mode;
        oidcpy(& dst_other.oid, (struct object_id  const  *)(& (ren1->dst_entry)->stages[other_stage].oid));
        dst_other.mode = (ren1->dst_entry)->stages[other_stage].mode;
        try_merge___0 = 0;
        tmp___21 = null_oid();
        tmp___22 = oideq((struct object_id  const  *)(& src_other.oid), tmp___21);
        if (tmp___22) {
          if ((int )ren1->dir_rename_original_type == 65) {
            setup_rename_conflict_info((enum rename_type )1, opt___0, ren1, (struct rename *)((void *)0));
          } else {
            goto _L___0;
          }
        } else
        _L___0: /* CIL Label */
        if (renamed_to_self) {
          setup_rename_conflict_info((enum rename_type )0, opt___0, ren1, (struct rename *)((void *)0));
        } else {
          tmp___19 = null_oid();
          tmp___20 = oideq((struct object_id  const  *)(& src_other.oid), tmp___19);
          if (tmp___20) {
            setup_rename_conflict_info((enum rename_type )3, opt___0, ren1, (struct rename *)((void *)0));
          } else
          if ((int )dst_other.mode == (int )((ren1->pair)->two)->mode) {
            tmp___18 = oideq((struct object_id  const  *)(& dst_other.oid), (struct object_id  const  *)(& ((ren1->pair)->two)->oid));
            if (tmp___18) {
              tmp___15 = update_file_flags(opt___0, (struct diff_filespec  const  *)(ren1->pair)->two,
                                           ren1_dst, 1, 0);
              if (tmp___15) {
                clean_merge = -1;
              }
            } else {
              goto _L;
            }
          } else {
            _L: /* CIL Label */
            tmp___16 = null_oid();
            tmp___17 = oideq((struct object_id  const  *)(& dst_other.oid), tmp___16);
            if (tmp___17) {
              try_merge___0 = 1;
            } else {
              setup_rename_conflict_info((enum rename_type )2, opt___0, ren1, (struct rename *)((void *)0));
            }
          }
        }
        if (clean_merge < 0) {
          goto cleanup_and_return;
        }
        if (try_merge___0) {
          src_other.path = (char *)ren1_src;
          o = (ren1->pair)->one;
          if ((unsigned long )a_renames == (unsigned long )renames1) {
            a = (ren1->pair)->two;
            b___0 = & src_other;
          } else {
            b___0 = (ren1->pair)->two;
            a = & src_other;
          }
          update_entry(ren1->dst_entry, o, a, b___0);
          setup_rename_conflict_info((enum rename_type )0, opt___0, ren1, (struct rename *)((void *)0));
        }
      }
    }
    __Cont: /* CIL Label */ ;
  }
  while_break___1: /* CIL Label */ ;
  }
  cleanup_and_return:
  string_list_clear(& a_by_dst, 0);
  string_list_clear(& b_by_dst, 0);
  return (clean_merge);
}
}
static void initial_cleanup_rename(struct diff_queue_struct *pairs , struct hashmap *dir_renames )
{
  struct hashmap_iter iter___0 ;
  struct dir_rename_entry *e ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;

  {
  e = (struct dir_rename_entry *)((void *)0);
  tmp = hashmap_iter_first(dir_renames, & iter___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct dir_rename_entry *)0)->ent));
  e = (struct dir_rename_entry *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! e) {
      goto while_break;
    }
    free((void *)e->dir);
    strbuf_release(& e->new_dir);
    tmp___1 = hashmap_iter_next(& iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct dir_rename_entry *)0)->ent));
    e = (struct dir_rename_entry *)tmp___2;
  }
  while_break: /* CIL Label */ ;
  }
  hashmap_clear_(dir_renames, (ssize_t )((unsigned long )(& ((struct dir_rename_entry *)0)->ent)));
  free((void *)dir_renames);
  free((void *)pairs->queue);
  free((void *)pairs);
  return;
}
}
static int detect_and_process_renames___0(struct merge_options___0 *opt___0 , struct tree *common ,
                                          struct tree *head___1 , struct tree *merge___1 ,
                                          struct string_list *entries___1 , struct rename_info___0 *ri )
{
  struct diff_queue_struct *head_pairs ;
  struct diff_queue_struct *merge_pairs ;
  struct hashmap *dir_re_head ;
  struct hashmap *dir_re_merge ;
  int clean ;
  int tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;

  {
  clean = 1;
  ri->head_renames = (struct string_list *)((void *)0);
  ri->merge_renames = (struct string_list *)((void *)0);
  tmp = merge_detect_rename(opt___0);
  if (! tmp) {
    return (1);
  }
  head_pairs = get_diffpairs(opt___0, common, head___1);
  merge_pairs = get_diffpairs(opt___0, common, merge___1);
  if ((unsigned int )opt___0->detect_directory_renames == 2U) {
    dir_re_head = get_directory_renames(head_pairs);
    dir_re_merge = get_directory_renames(merge_pairs);
    handle_directory_level_conflicts___0(opt___0, dir_re_head, head___1, dir_re_merge,
                                         merge___1);
  } else
  if ((unsigned int )opt___0->detect_directory_renames == 1U) {
    if (! (opt___0->priv)->call_depth) {
      dir_re_head = get_directory_renames(head_pairs);
      dir_re_merge = get_directory_renames(merge_pairs);
      handle_directory_level_conflicts___0(opt___0, dir_re_head, head___1, dir_re_merge,
                                           merge___1);
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp___0 = xmalloc(sizeof(*dir_re_head));
    dir_re_head = (struct hashmap *)tmp___0;
    tmp___1 = xmalloc(sizeof(*dir_re_merge));
    dir_re_merge = (struct hashmap *)tmp___1;
    dir_rename_init(dir_re_head);
    dir_rename_init(dir_re_merge);
  }
  ri->head_renames = get_renames(opt___0, opt___0->branch1, head_pairs, dir_re_merge,
                                 dir_re_head, head___1, common, head___1, merge___1,
                                 entries___1, & clean);
  if (clean < 0) {
    goto cleanup;
  }
  ri->merge_renames = get_renames(opt___0, opt___0->branch2, merge_pairs, dir_re_head,
                                  dir_re_merge, merge___1, common, head___1, merge___1,
                                  entries___1, & clean);
  if (clean < 0) {
    goto cleanup;
  }
  tmp___2 = process_renames___0(opt___0, ri->head_renames, ri->merge_renames);
  clean &= tmp___2;
  cleanup:
  initial_cleanup_rename(head_pairs, dir_re_head);
  initial_cleanup_rename(merge_pairs, dir_re_merge);
  return (clean);
}
}
static void final_cleanup_rename(struct string_list *rename___0 )
{
  struct rename  const  *re ;
  int i ;

  {
  if ((unsigned long )rename___0 == (unsigned long )((void *)0)) {
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < rename___0->nr)) {
      goto while_break;
    }
    re = (struct rename  const  *)(rename___0->items + i)->util;
    diff_free_filepair((struct diff_filepair *)re->pair);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_clear(rename___0, 1);
  free((void *)rename___0);
  return;
}
}
static void final_cleanup_renames(struct rename_info___0 *re_info )
{


  {
  final_cleanup_rename(re_info->head_renames);
  final_cleanup_rename(re_info->merge_renames);
  return;
}
}
static int read_oid_strbuf___0(struct merge_options___0 *opt___0 , struct object_id  const  *oid ,
                               struct strbuf *dst )
{
  void *buf___19 ;
  enum object_type type___0 ;
  unsigned long size ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  buf___19 = repo_read_object_file(the_repository, oid, & type___0, & size);
  if (! buf___19) {
    tmp = oid_to_hex(oid);
    tmp___0 = _((char const   *)"cannot read object %s");
    tmp___1 = err___2(opt___0, (char const   *)tmp___0, tmp);
    return (tmp___1);
  }
  if ((int )type___0 != 3) {
    free(buf___19);
    tmp___2 = oid_to_hex(oid);
    tmp___3 = _((char const   *)"object %s is not a blob");
    tmp___4 = err___2(opt___0, (char const   *)tmp___3, tmp___2);
    return (tmp___4);
  }
  strbuf_attach(dst, buf___19, size, size + 1UL);
  return (0);
}
}
static int blob_unchanged___0(struct merge_options___0 *opt___0 , struct diff_filespec  const  *o ,
                              struct diff_filespec  const  *a , int renormalize ,
                              char const   *path___6 )
{
  struct strbuf obuf ;
  struct strbuf abuf ;
  int ret___67 ;
  struct index_state *idx___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  obuf.alloc = 0UL;
  obuf.len = 0UL;
  obuf.buf = strbuf_slopbuf;
  abuf.alloc = 0UL;
  abuf.len = 0UL;
  abuf.buf = strbuf_slopbuf;
  ret___67 = 0;
  idx___0 = (opt___0->repo)->index;
  if ((int )a->mode != (int )o->mode) {
    return (0);
  }
  tmp = oideq((struct object_id  const  *)(& o->oid), (struct object_id  const  *)(& a->oid));
  if (tmp) {
    return (1);
  }
  if (! renormalize) {
    return (0);
  }
  tmp___0 = read_oid_strbuf___0(opt___0, (struct object_id  const  *)(& o->oid), & obuf);
  if (tmp___0) {
    goto error_return;
  } else {
    tmp___1 = read_oid_strbuf___0(opt___0, (struct object_id  const  *)(& a->oid),
                                  & abuf);
    if (tmp___1) {
      goto error_return;
    }
  }
  tmp___4 = renormalize_buffer(idx___0, path___6, (char const   *)obuf.buf, obuf.len,
                               & obuf);
  tmp___5 = renormalize_buffer(idx___0, path___6, (char const   *)abuf.buf, abuf.len,
                               & abuf);
  if (tmp___4 | tmp___5) {
    if (obuf.len == abuf.len) {
      tmp___2 = memcmp((void const   *)obuf.buf, (void const   *)abuf.buf, obuf.len);
      if (tmp___2) {
        tmp___3 = 0;
      } else {
        tmp___3 = 1;
      }
    } else {
      tmp___3 = 0;
    }
    ret___67 = tmp___3;
  }
  error_return:
  strbuf_release(& obuf);
  strbuf_release(& abuf);
  return (ret___67);
}
}
static int handle_modify_delete(struct merge_options___0 *opt___0 , char const   *path___6 ,
                                struct diff_filespec  const  *o , struct diff_filespec  const  *a ,
                                struct diff_filespec  const  *b___0 )
{
  char const   *modify_branch ;
  char const   *delete_branch ;
  struct diff_filespec  const  *changed ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  tmp = is_valid(a);
  if (tmp) {
    modify_branch = opt___0->branch1;
    delete_branch = opt___0->branch2;
    changed = a;
  } else {
    modify_branch = opt___0->branch2;
    delete_branch = opt___0->branch1;
    changed = b___0;
  }
  tmp___0 = _((char const   *)"modified");
  tmp___1 = _((char const   *)"modify");
  tmp___2 = handle_change_delete(opt___0, path___6, (char const   *)((void *)0), o,
                                 changed, modify_branch, delete_branch, (char const   *)tmp___1,
                                 (char const   *)tmp___0);
  return (tmp___2);
}
}
static int handle_content_merge___0(struct merge_file_info *mfi , struct merge_options___0 *opt___0 ,
                                    char const   *path___6 , int is_dirty , struct diff_filespec  const  *o ,
                                    struct diff_filespec  const  *a , struct diff_filespec  const  *b___0 ,
                                    struct rename_conflict_info *ci )
{
  char const   *reason ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  unsigned int df_conflict_remains ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int pos ;
  struct cache_entry *ce ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  size_t tmp___8 ;
  size_t tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  char *new_path___0 ;
  int tmp___14 ;
  int file_from_stage2 ;
  int tmp___15 ;
  struct diff_filespec *tmp___16 ;
  struct diff_filespec *tmp___17 ;
  int tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;

  {
  tmp = _((char const   *)"content");
  reason = (char const   *)tmp;
  df_conflict_remains = 0U;
  tmp___1 = is_valid(o);
  if (! tmp___1) {
    tmp___0 = _((char const   *)"add/add");
    reason = (char const   *)tmp___0;
  }
  if (o->path) {
    if (a->path) {
      if (b___0->path) {
        tmp___2 = 1;
      } else {
        tmp___2 = 0;
      }
    } else {
      tmp___2 = 0;
    }
  } else {
    tmp___2 = 0;
  }
  assert(tmp___2);
  if (ci) {
    tmp___3 = dir_in_way((opt___0->repo)->index, path___6, ! (opt___0->priv)->call_depth,
                         ((int )(((ci->ren1)->pair)->two)->mode & 0170000) == 0160000);
    if (tmp___3) {
      df_conflict_remains = 1U;
    }
  }
  tmp___4 = merge_mode_and_contents(opt___0, o, a, b___0, path___6, opt___0->branch1,
                                    opt___0->branch2, (int const   )((opt___0->priv)->call_depth * 2),
                                    mfi);
  if (tmp___4) {
    return (-1);
  }
  if (mfi->clean) {
    tmp___10 = was_tracked_and_matches(opt___0, path___6, (struct diff_filespec  const  *)(& mfi->blob));
    if (tmp___10) {
      if (! df_conflict_remains) {
        tmp___5 = _((char const   *)"Skipped %s (merged same as existing)");
        output(opt___0, 3, (char const   *)tmp___5, path___6);
        if (! (opt___0->priv)->call_depth) {
          if (! is_dirty) {
            tmp___6 = 1;
          } else {
            tmp___6 = 0;
          }
        } else {
          tmp___6 = 0;
        }
        tmp___7 = add_cacheinfo(opt___0, (struct diff_filespec  const  *)(& mfi->blob),
                                path___6, 0, tmp___6, 0);
        if (tmp___7) {
          return (-1);
        }
        tmp___8 = strlen(path___6);
        pos = index_name_pos(& (opt___0->priv)->orig_index, path___6, (int )tmp___8);
        ce = *((opt___0->priv)->orig_index.cache + pos);
        if (ce->ce_flags & (unsigned int )(1 << 30)) {
          tmp___9 = strlen(path___6);
          pos = index_name_pos((opt___0->repo)->index, path___6, (int )tmp___9);
          ce = *(((opt___0->repo)->index)->cache + pos);
          ce->ce_flags |= (unsigned int )(1 << 30);
        }
        return ((int )mfi->clean);
      }
    }
  }
  if (! mfi->clean) {
    if (((int )mfi->blob.mode & 0170000) == 0160000) {
      tmp___11 = _((char const   *)"submodule");
      reason = (char const   *)tmp___11;
    }
    tmp___12 = _((char const   *)"CONFLICT (%s): Merge conflict in %s");
    output(opt___0, 1, (char const   *)tmp___12, reason, path___6);
    if (ci) {
      if (! df_conflict_remains) {
        tmp___13 = update_stages(opt___0, path___6, o, a, b___0);
        if (tmp___13) {
          return (-1);
        }
      }
    }
  }
  if (df_conflict_remains) {
    goto _L;
  } else
  if (is_dirty) {
    _L: /* CIL Label */
    if ((opt___0->priv)->call_depth) {
      remove_file_from_index((opt___0->repo)->index, path___6);
    } else
    if (! mfi->clean) {
      tmp___14 = update_stages(opt___0, path___6, o, a, b___0);
      if (tmp___14) {
        return (-1);
      }
    } else {
      tmp___15 = was_tracked(opt___0, path___6);
      file_from_stage2 = tmp___15;
      if (file_from_stage2) {
        tmp___16 = (struct diff_filespec *)((void *)0);
      } else {
        tmp___16 = & mfi->blob;
      }
      if (file_from_stage2) {
        tmp___17 = & mfi->blob;
      } else {
        tmp___17 = (struct diff_filespec *)((void *)0);
      }
      tmp___18 = update_stages(opt___0, path___6, (struct diff_filespec  const  *)((void *)0),
                               (struct diff_filespec  const  *)tmp___17, (struct diff_filespec  const  *)tmp___16);
      if (tmp___18) {
        return (-1);
      }
    }
    new_path___0 = unique_path___0(opt___0, path___6, (ci->ren1)->branch);
    if (is_dirty) {
      tmp___19 = _((char const   *)"Refusing to lose dirty file at %s");
      output(opt___0, 1, (char const   *)tmp___19, path___6);
    }
    tmp___20 = _((char const   *)"Adding as %s instead");
    output(opt___0, 1, (char const   *)tmp___20, new_path___0);
    tmp___21 = update_file(opt___0, 0, (struct diff_filespec  const  *)(& mfi->blob),
                           (char const   *)new_path___0);
    if (tmp___21) {
      free((void *)new_path___0);
      return (-1);
    }
    free((void *)new_path___0);
    mfi->clean = 0U;
  } else {
    tmp___22 = update_file(opt___0, (int )mfi->clean, (struct diff_filespec  const  *)(& mfi->blob),
                           path___6);
    if (tmp___22) {
      return (-1);
    }
  }
  if (! is_dirty) {
    if (mfi->clean) {
      tmp___23 = 1;
    } else {
      tmp___23 = 0;
    }
  } else {
    tmp___23 = 0;
  }
  return (tmp___23);
}
}
static int handle_rename_normal(struct merge_options___0 *opt___0 , char const   *path___6 ,
                                struct diff_filespec  const  *o , struct diff_filespec  const  *a ,
                                struct diff_filespec  const  *b___0 , struct rename_conflict_info *ci )
{
  struct rename *ren ;
  struct merge_file_info mfi ;
  int clean ;
  int tmp ;
  int tmp___0 ;

  {
  ren = ci->ren1;
  tmp = was_dirty(opt___0, path___6);
  clean = handle_content_merge___0(& mfi, opt___0, path___6, tmp, o, a, b___0, ci);
  if (clean) {
    if ((unsigned int )opt___0->detect_directory_renames == 1U) {
      if (ren->dir_rename_original_dest) {
        tmp___0 = update_stages(opt___0, path___6, (struct diff_filespec  const  *)(& mfi.blob),
                                (struct diff_filespec  const  *)(& mfi.blob), (struct diff_filespec  const  *)(& mfi.blob));
        if (tmp___0) {
          return (-1);
        }
        clean = 0;
      }
    }
  }
  return (clean);
}
}
static void dir_rename_warning(char const   *msg___5 , int is_add , int clean , struct merge_options___0 *opt___0 ,
                               struct rename *ren )
{
  char const   *other_branch ;
  int tmp ;
  int tmp___0 ;

  {
  if ((unsigned long )ren->branch == (unsigned long )opt___0->branch1) {
    other_branch = opt___0->branch2;
  } else {
    other_branch = opt___0->branch1;
  }
  if (is_add) {
    if (clean) {
      tmp = 2;
    } else {
      tmp = 1;
    }
    output(opt___0, tmp, msg___5, ((ren->pair)->one)->path, ren->branch, other_branch,
           ((ren->pair)->two)->path);
    return;
  }
  if (clean) {
    tmp___0 = 2;
  } else {
    tmp___0 = 1;
  }
  output(opt___0, tmp___0, msg___5, ((ren->pair)->one)->path, ren->dir_rename_original_dest,
         ren->branch, other_branch, ((ren->pair)->two)->path);
  return;
}
}
static int warn_about_dir_renamed_entries(struct merge_options___0 *opt___0 , struct rename *ren )
{
  char const   *msg___5 ;
  int clean ;
  int is_add ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  clean = 1;
  if (! ren) {
    return (clean);
  }
  if (! ren->dir_rename_original_dest) {
    return (clean);
  }
  assert((unsigned int )opt___0->detect_directory_renames > 0U);
  if ((int )ren->dir_rename_original_type == 65) {
    tmp = 1;
  } else
  if ((int )ren->dir_rename_original_type == 82) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  assert(tmp);
  clean = (unsigned int )opt___0->detect_directory_renames == 2U;
  is_add = (int )ren->dir_rename_original_type == 65;
  if ((int )ren->dir_rename_original_type == 65) {
    if (clean) {
      tmp___0 = _((char const   *)"Path updated: %s added in %s inside a directory that was renamed in %s; moving it to %s.");
      msg___5 = (char const   *)tmp___0;
    } else {
      goto _L___1;
    }
  } else
  _L___1: /* CIL Label */
  if ((int )ren->dir_rename_original_type == 65) {
    if (! clean) {
      tmp___1 = _((char const   *)"CONFLICT (file location): %s added in %s inside a directory that was renamed in %s, suggesting it should perhaps be moved to %s.");
      msg___5 = (char const   *)tmp___1;
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  if ((int )ren->dir_rename_original_type == 82) {
    if (clean) {
      tmp___2 = _((char const   *)"Path updated: %s renamed to %s in %s, inside a directory that was renamed in %s; moving it to %s.");
      msg___5 = (char const   *)tmp___2;
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if ((int )ren->dir_rename_original_type == 82) {
    if (! clean) {
      tmp___3 = _((char const   *)"CONFLICT (file location): %s renamed to %s in %s, inside a directory that was renamed in %s, suggesting it should perhaps be moved to %s.");
      msg___5 = (char const   *)tmp___3;
    } else {
      BUG_fl((char const   *)"merge-recursive.c", 3275, (char const   *)"Impossible dir_rename_original_type/clean combination");
    }
  } else {
    BUG_fl((char const   *)"merge-recursive.c", 3275, (char const   *)"Impossible dir_rename_original_type/clean combination");
  }
  dir_rename_warning(msg___5, is_add, clean, opt___0, ren);
  return (clean);
}
}
static int process_entry___0(struct merge_options___0 *opt___0 , char const   *path___6 ,
                             struct stage_data *entry )
{
  int clean_merge ;
  int normalize ;
  struct diff_filespec *o ;
  struct diff_filespec *a ;
  struct diff_filespec *b___0 ;
  int o_valid ;
  int tmp ;
  int a_valid ;
  int tmp___0 ;
  int b_valid ;
  int tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  struct rename_conflict_info *ci ;
  struct diff_filespec *temp ;
  int path_clean ;
  int tmp___4 ;
  char *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  char const   *add_branch___0 ;
  char const   *other_branch ;
  char const   *conf ;
  struct diff_filespec  const  *contents ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char *new_path___0 ;
  char *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  char const __attribute__((__format_arg__(1)))  *tmp___21 ;
  struct merge_file_info mfi ;
  int is_dirty ;

  {
  clean_merge = 1;
  normalize = (int )opt___0->renormalize;
  o = & entry->stages[1];
  a = & entry->stages[2];
  b___0 = & entry->stages[3];
  tmp = is_valid((struct diff_filespec  const  *)o);
  o_valid = tmp;
  tmp___0 = is_valid((struct diff_filespec  const  *)a);
  a_valid = tmp___0;
  tmp___1 = is_valid((struct diff_filespec  const  *)b___0);
  b_valid = tmp___1;
  tmp___3 = (char *)path___6;
  b___0->path = tmp___3;
  tmp___2 = tmp___3;
  a->path = tmp___2;
  o->path = tmp___2;
  entry->processed = 1U;
  if (entry->rename_conflict_info) {
    ci = entry->rename_conflict_info;
    path_clean = warn_about_dir_renamed_entries(opt___0, ci->ren1);
    tmp___4 = warn_about_dir_renamed_entries(opt___0, ci->ren2);
    path_clean &= tmp___4;
    if ((unsigned long )opt___0->branch1 == (unsigned long )(ci->ren1)->branch) {
      temp = b___0;
    } else {
      temp = a;
    }
    tmp___5 = (((ci->ren1)->pair)->one)->path;
    temp->path = tmp___5;
    o->path = tmp___5;
    if (ci->ren2) {
      assert((unsigned long )opt___0->branch1 == (unsigned long )(ci->ren1)->branch);
    }
    {
    if ((unsigned int )ci->rename_type == 4U) {
      goto case_4;
    }
    if ((unsigned int )ci->rename_type == 0U) {
      goto case_4;
    }
    if ((unsigned int )ci->rename_type == 1U) {
      goto case_1;
    }
    if ((unsigned int )ci->rename_type == 2U) {
      goto case_2;
    }
    if ((unsigned int )ci->rename_type == 3U) {
      goto case_3;
    }
    if ((unsigned int )ci->rename_type == 5U) {
      goto case_5;
    }
    if ((unsigned int )ci->rename_type == 6U) {
      goto case_6;
    }
    goto switch_default;
    case_4: /* CIL Label */
    case_0: /* CIL Label */
    clean_merge = handle_rename_normal(opt___0, path___6, (struct diff_filespec  const  *)o,
                                       (struct diff_filespec  const  *)a, (struct diff_filespec  const  *)b___0,
                                       ci);
    goto switch_break;
    case_1: /* CIL Label */
    clean_merge = handle_rename_via_dir(opt___0, ci);
    goto switch_break;
    case_2: /* CIL Label */
    clean_merge = handle_rename_add(opt___0, ci);
    goto switch_break;
    case_3: /* CIL Label */
    clean_merge = 0;
    tmp___6 = handle_rename_delete(opt___0, ci);
    if (tmp___6) {
      clean_merge = -1;
    }
    goto switch_break;
    case_5: /* CIL Label */
    o->path = (((ci->ren1)->pair)->one)->path;
    a->path = (((ci->ren1)->pair)->two)->path;
    b___0->path = (((ci->ren2)->pair)->two)->path;
    clean_merge = 0;
    tmp___7 = handle_rename_rename_1to2(opt___0, ci);
    if (tmp___7) {
      clean_merge = -1;
    }
    goto switch_break;
    case_6: /* CIL Label */
    o->path = (char *)((void *)0);
    a->path = (((ci->ren1)->pair)->two)->path;
    b___0->path = (((ci->ren2)->pair)->two)->path;
    clean_merge = handle_rename_rename_2to1(opt___0, ci);
    goto switch_break;
    switch_default: /* CIL Label */
    entry->processed = 0U;
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    if (path_clean < clean_merge) {
      clean_merge = path_clean;
    }
  } else
  if (o_valid) {
    if (! a_valid) {
      goto _L___10;
    } else
    if (! b_valid) {
      _L___10: /* CIL Label */
      if (! a_valid) {
        if (! b_valid) {
          goto _L;
        } else {
          goto _L___2;
        }
      } else
      _L___2: /* CIL Label */
      if (! b_valid) {
        tmp___10 = blob_unchanged___0(opt___0, (struct diff_filespec  const  *)o,
                                      (struct diff_filespec  const  *)a, normalize,
                                      path___6);
        if (tmp___10) {
          goto _L;
        } else {
          goto _L___1;
        }
      } else
      _L___1: /* CIL Label */
      if (! a_valid) {
        tmp___11 = blob_unchanged___0(opt___0, (struct diff_filespec  const  *)o,
                                      (struct diff_filespec  const  *)b___0, normalize,
                                      path___6);
        if (tmp___11) {
          _L: /* CIL Label */
          if (a_valid) {
            tmp___8 = _((char const   *)"Removing %s");
            output(opt___0, 2, (char const   *)tmp___8, path___6);
          }
          remove_file___0(opt___0, 1, path___6, ! a_valid);
        } else {
          goto _L___0;
        }
      } else {
        _L___0: /* CIL Label */
        clean_merge = 0;
        tmp___9 = handle_modify_delete(opt___0, path___6, (struct diff_filespec  const  *)o,
                                       (struct diff_filespec  const  *)a, (struct diff_filespec  const  *)b___0);
        if (tmp___9) {
          clean_merge = -1;
        }
      }
    } else {
      goto _L___9;
    }
  } else
  _L___9: /* CIL Label */
  if (! o_valid) {
    if (a_valid) {
      if (! b_valid) {
        goto _L___4;
      } else {
        goto _L___8;
      }
    } else {
      goto _L___8;
    }
  } else
  _L___8: /* CIL Label */
  _L___7: /* CIL Label */
  if (! o_valid) {
    if (! a_valid) {
      if (b_valid) {
        _L___4: /* CIL Label */
        if (a_valid) {
          add_branch___0 = opt___0->branch1;
          other_branch = opt___0->branch2;
          contents = (struct diff_filespec  const  *)a;
          tmp___12 = _((char const   *)"file/directory");
          conf = (char const   *)tmp___12;
        } else {
          add_branch___0 = opt___0->branch2;
          other_branch = opt___0->branch1;
          contents = (struct diff_filespec  const  *)b___0;
          tmp___13 = _((char const   *)"directory/file");
          conf = (char const   *)tmp___13;
        }
        if (! (opt___0->priv)->call_depth) {
          if (! (((int )a->mode & 0170000) == 0160000)) {
            tmp___19 = 1;
          } else {
            tmp___19 = 0;
          }
        } else {
          tmp___19 = 0;
        }
        tmp___20 = dir_in_way((opt___0->repo)->index, path___6, tmp___19, 0);
        if (tmp___20) {
          tmp___14 = unique_path___0(opt___0, path___6, add_branch___0);
          new_path___0 = tmp___14;
          clean_merge = 0;
          tmp___15 = _((char const   *)"CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s");
          output(opt___0, 1, (char const   *)tmp___15, conf, path___6, other_branch,
                 path___6, new_path___0);
          tmp___16 = update_file(opt___0, 0, contents, (char const   *)new_path___0);
          if (tmp___16) {
            clean_merge = -1;
          } else
          if ((opt___0->priv)->call_depth) {
            remove_file_from_index((opt___0->repo)->index, path___6);
          }
          free((void *)new_path___0);
        } else {
          tmp___17 = _((char const   *)"Adding %s");
          output(opt___0, 2, (char const   *)tmp___17, path___6);
          tmp___18 = update_file_flags(opt___0, contents, path___6, 1, ! a_valid);
          if (tmp___18) {
            clean_merge = -1;
          }
        }
      } else {
        goto _L___6;
      }
    } else {
      goto _L___6;
    }
  } else
  _L___6: /* CIL Label */
  _L___5: /* CIL Label */
  if (a_valid) {
    if (b_valid) {
      if (! o_valid) {
        tmp___21 = _((char const   *)"CONFLICT (add/add): Merge conflict in %s");
        output(opt___0, 1, (char const   *)tmp___21, path___6);
        clean_merge = handle_file_collision(opt___0, path___6, (char const   *)((void *)0),
                                            (char const   *)((void *)0), opt___0->branch1,
                                            opt___0->branch2, a, b___0);
      } else {
        is_dirty = 0;
        clean_merge = handle_content_merge___0(& mfi, opt___0, path___6, is_dirty,
                                               (struct diff_filespec  const  *)o,
                                               (struct diff_filespec  const  *)a,
                                               (struct diff_filespec  const  *)b___0,
                                               (struct rename_conflict_info *)((void *)0));
      }
    } else {
      goto _L___3;
    }
  } else
  _L___3: /* CIL Label */
  if (! o_valid) {
    if (! a_valid) {
      if (! b_valid) {
        remove_file___0(opt___0, 1, path___6, ! a->mode);
      } else {
        BUG_fl((char const   *)"merge-recursive.c", 3460, (char const   *)"fatal merge failure, shouldn\'t happen.");
      }
    } else {
      BUG_fl((char const   *)"merge-recursive.c", 3460, (char const   *)"fatal merge failure, shouldn\'t happen.");
    }
  } else {
    BUG_fl((char const   *)"merge-recursive.c", 3460, (char const   *)"fatal merge failure, shouldn\'t happen.");
  }
  return (clean_merge);
}
}
static int merge_trees_internal(struct merge_options___0 *opt___0 , struct tree *head___1 ,
                                struct tree *merge___1 , struct tree *merge_base ,
                                struct tree **result___0 )
{
  struct index_state *istate ;
  int code ;
  int clean ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  struct string_list *entries___1 ;
  struct rename_info___0 re_info ;
  int i ;
  char const   *path___6 ;
  struct stage_data *e ;
  int ret___67 ;
  int tmp___5 ;
  struct stage_data *e___0 ;
  int tmp___6 ;
  struct tree *tmp___7 ;

  {
  istate = (opt___0->repo)->index;
  if (opt___0->subtree_shift) {
    merge___1 = shift_tree_object___0(opt___0->repo, head___1, merge___1, opt___0->subtree_shift);
    merge_base = shift_tree_object___0(opt___0->repo, head___1, merge_base, opt___0->subtree_shift);
  }
  tmp___0 = oideq((struct object_id  const  *)(& merge_base->object.oid), (struct object_id  const  *)(& merge___1->object.oid));
  if (tmp___0) {
    tmp = _((char const   *)"Already up to date.");
    output(opt___0, 0, (char const   *)tmp);
    *result___0 = head___1;
    return (1);
  }
  code = unpack_trees_start(opt___0, merge_base, head___1, merge___1);
  if (code != 0) {
    tmp___4 = show(opt___0, 4);
    if (tmp___4) {
      tmp___1 = oid_to_hex((struct object_id  const  *)(& merge___1->object.oid));
      tmp___2 = oid_to_hex((struct object_id  const  *)(& head___1->object.oid));
      tmp___3 = _((char const   *)"merging of trees %s and %s failed");
      err___2(opt___0, (char const   *)tmp___3, tmp___2, tmp___1);
    } else
    if ((opt___0->priv)->call_depth) {
      tmp___1 = oid_to_hex((struct object_id  const  *)(& merge___1->object.oid));
      tmp___2 = oid_to_hex((struct object_id  const  *)(& head___1->object.oid));
      tmp___3 = _((char const   *)"merging of trees %s and %s failed");
      err___2(opt___0, (char const   *)tmp___3, tmp___2, tmp___1);
    }
    unpack_trees_finish(opt___0);
    return (-1);
  }
  tmp___6 = unmerged_index((struct index_state  const  *)istate);
  if (tmp___6) {
    hashmap_init(& (opt___0->priv)->current_file_dir_set, & path_hashmap_cmp, (void const   *)((void *)0),
                 (size_t )512);
    get_files_dirs(opt___0, head___1);
    get_files_dirs(opt___0, merge___1);
    entries___1 = get_unmerged((opt___0->repo)->index);
    clean = detect_and_process_renames___0(opt___0, merge_base, head___1, merge___1,
                                           entries___1, & re_info);
    record_df_conflict_files(opt___0, entries___1);
    if (clean < 0) {
      goto cleanup;
    }
    i = (int )(entries___1->nr - 1U);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (0 <= i)) {
        goto while_break;
      }
      path___6 = (char const   *)(entries___1->items + i)->string;
      e = (struct stage_data *)(entries___1->items + i)->util;
      if (! e->processed) {
        tmp___5 = process_entry___0(opt___0, path___6, e);
        ret___67 = tmp___5;
        if (! ret___67) {
          clean = 0;
        } else
        if (ret___67 < 0) {
          clean = ret___67;
          goto cleanup;
        }
      }
      i --;
    }
    while_break: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned int )i < entries___1->nr)) {
        goto while_break___0;
      }
      e___0 = (struct stage_data *)(entries___1->items + i)->util;
      if (! e___0->processed) {
        BUG_fl((char const   *)"merge-recursive.c", 3537, (char const   *)"unprocessed path??? %s",
               (entries___1->items + i)->string);
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    cleanup:
    final_cleanup_renames(& re_info);
    string_list_clear(entries___1, 1);
    free((void *)entries___1);
    hashmap_clear_(& (opt___0->priv)->current_file_dir_set, (ssize_t )((unsigned long )(& ((struct path_hashmap_entry *)0)->e)));
    if (clean < 0) {
      unpack_trees_finish(opt___0);
      return (clean);
    }
  } else {
    clean = 1;
  }
  unpack_trees_finish(opt___0);
  if ((opt___0->priv)->call_depth) {
    tmp___7 = write_in_core_index_as_tree(opt___0->repo);
    *result___0 = tmp___7;
    if (! tmp___7) {
      return (-1);
    }
  }
  return (clean);
}
}
static int merge_recursive_internal(struct merge_options___0 *opt___0 , struct commit *h1 ,
                                    struct commit *h2 , struct commit_list *merge_bases ,
                                    struct commit **result___0 )
{
  struct commit_list *iter___0 ;
  struct commit *merged_merge_bases ;
  struct tree *result_tree ;
  int clean ;
  char const   *ancestor_name ;
  struct strbuf merge_base_abbrev ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  unsigned int cnt ;
  unsigned int tmp___1 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  struct tree *tree ;
  char const   *saved_b1 ;
  char const   *saved_b2 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  struct tree *tmp___7 ;
  struct tree *tmp___8 ;
  struct tree *tmp___9 ;

  {
  merge_base_abbrev.alloc = 0UL;
  merge_base_abbrev.len = 0UL;
  merge_base_abbrev.buf = strbuf_slopbuf;
  tmp___0 = show(opt___0, 4);
  if (tmp___0) {
    tmp = _((char const   *)"Merging:");
    output(opt___0, 4, (char const   *)tmp);
    output_commit_title(opt___0, h1);
    output_commit_title(opt___0, h2);
  }
  if (! merge_bases) {
    merge_bases = repo_get_merge_bases(the_repository, h1, h2);
    merge_bases = reverse_commit_list(merge_bases);
  }
  tmp___3 = show(opt___0, 5);
  if (tmp___3) {
    tmp___1 = commit_list_count((struct commit_list  const  *)merge_bases);
    cnt = tmp___1;
    tmp___2 = Q_((char const   *)"found %u common ancestor:", (char const   *)"found %u common ancestors:",
                 (unsigned long )cnt);
    output(opt___0, 5, (char const   *)tmp___2, cnt);
    iter___0 = merge_bases;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! iter___0) {
        goto while_break;
      }
      output_commit_title(opt___0, iter___0->item);
      iter___0 = iter___0->next;
    }
    while_break: /* CIL Label */ ;
    }
  }
  merged_merge_bases = pop_commit(& merge_bases);
  if ((unsigned long )merged_merge_bases == (unsigned long )((void *)0)) {
    tree = lookup_tree(opt___0->repo, (struct object_id  const  *)((opt___0->repo)->hash_algo)->empty_tree);
    merged_merge_bases = make_virtual_commit___0(opt___0->repo, tree, (char const   *)"ancestor");
    ancestor_name = (char const   *)"empty tree";
  } else
  if (opt___0->ancestor) {
    if (! (opt___0->priv)->call_depth) {
      ancestor_name = opt___0->ancestor;
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (merge_bases) {
    ancestor_name = (char const   *)"merged common ancestors";
  } else {
    strbuf_add_unique_abbrev(& merge_base_abbrev, (struct object_id  const  *)(& merged_merge_bases->object.oid),
                             default_abbrev);
    ancestor_name = (char const   *)merge_base_abbrev.buf;
  }
  iter___0 = merge_bases;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! iter___0) {
      goto while_break___0;
    }
    ((opt___0->priv)->call_depth) ++;
    discard_index((opt___0->repo)->index);
    saved_b1 = opt___0->branch1;
    saved_b2 = opt___0->branch2;
    opt___0->branch1 = (char const   *)"Temporary merge branch 1";
    opt___0->branch2 = (char const   *)"Temporary merge branch 2";
    tmp___4 = merge_recursive_internal(opt___0, merged_merge_bases, iter___0->item,
                                       (struct commit_list *)((void *)0), & merged_merge_bases);
    if (tmp___4 < 0) {
      return (-1);
    }
    opt___0->branch1 = saved_b1;
    opt___0->branch2 = saved_b2;
    ((opt___0->priv)->call_depth) --;
    if (! merged_merge_bases) {
      tmp___5 = _((char const   *)"merge returned no commit");
      tmp___6 = err___2(opt___0, (char const   *)tmp___5);
      return (tmp___6);
    }
    iter___0 = iter___0->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  discard_index((opt___0->repo)->index);
  if (! (opt___0->priv)->call_depth) {
    repo_read_index(opt___0->repo);
  }
  opt___0->ancestor = ancestor_name;
  tmp___7 = repo_get_commit_tree(opt___0->repo, (struct commit  const  *)merged_merge_bases);
  tmp___8 = repo_get_commit_tree(opt___0->repo, (struct commit  const  *)h2);
  tmp___9 = repo_get_commit_tree(opt___0->repo, (struct commit  const  *)h1);
  clean = merge_trees_internal(opt___0, tmp___9, tmp___8, tmp___7, & result_tree);
  strbuf_release(& merge_base_abbrev);
  opt___0->ancestor = (char const   *)((void *)0);
  if (clean < 0) {
    flush_output(opt___0);
    return (clean);
  }
  if ((opt___0->priv)->call_depth) {
    *result___0 = make_virtual_commit___0(opt___0->repo, result_tree, (char const   *)"merged tree");
    commit_list_insert(h1, & (*result___0)->parents);
    commit_list_insert(h2, & ((*result___0)->parents)->next);
  }
  return (clean);
}
}
static int merge_start___0(struct merge_options___0 *opt___0 , struct tree *head___1 )
{
  struct strbuf sb___6 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  void *tmp___8 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  assert((int )opt___0->repo);
  if (opt___0->branch1) {
    if (opt___0->branch2) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  assert(tmp);
  if (opt___0->detect_renames >= -1) {
    if (opt___0->detect_renames <= 2) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  assert(tmp___0);
  if ((unsigned int )opt___0->detect_directory_renames >= 0U) {
    if ((unsigned int )opt___0->detect_directory_renames <= 2U) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  assert(tmp___1);
  assert(opt___0->rename_limit >= -1);
  if (opt___0->rename_score >= 0) {
    if ((double )opt___0->rename_score <= 60000.0) {
      tmp___2 = 1;
    } else {
      tmp___2 = 0;
    }
  } else {
    tmp___2 = 0;
  }
  assert(tmp___2);
  if (opt___0->show_rename_progress >= 0) {
    if (opt___0->show_rename_progress <= 1) {
      tmp___3 = 1;
    } else {
      tmp___3 = 0;
    }
  } else {
    tmp___3 = 0;
  }
  assert(tmp___3);
  assert(opt___0->xdl_opts >= 0L);
  if ((unsigned int )opt___0->recursive_variant >= 0U) {
    if ((unsigned int )opt___0->recursive_variant <= 2U) {
      tmp___4 = 1;
    } else {
      tmp___4 = 0;
    }
  } else {
    tmp___4 = 0;
  }
  assert(tmp___4);
  if (opt___0->verbosity >= 0) {
    if (opt___0->verbosity <= 5) {
      tmp___5 = 1;
    } else {
      tmp___5 = 0;
    }
  } else {
    tmp___5 = 0;
  }
  assert(tmp___5);
  assert(opt___0->buffer_output <= 2U);
  assert(opt___0->obuf.len == 0UL);
  assert((unsigned long )opt___0->priv == (unsigned long )((void *)0));
  tmp___7 = repo_index_has_changes(opt___0->repo, head___1, & sb___6);
  if (tmp___7) {
    tmp___6 = _((char const   *)"Your local changes to the following files would be overwritten by merge:\n  %s");
    err___2(opt___0, (char const   *)tmp___6, sb___6.buf);
    strbuf_release(& sb___6);
    return (-1);
  }
  tmp___8 = xcalloc((size_t )1, sizeof(*(opt___0->priv)));
  opt___0->priv = (struct merge_options_internal___0 *)tmp___8;
  string_list_init_dup(& (opt___0->priv)->df_conflict_file_set);
  return (0);
}
}
static void merge_finalize___0(struct merge_options___0 *opt___0 )
{
  int tmp ;

  {
  flush_output(opt___0);
  if (! (opt___0->priv)->call_depth) {
    if (opt___0->buffer_output < 2U) {
      strbuf_release(& opt___0->obuf);
    }
  }
  tmp = show(opt___0, 2);
  if (tmp) {
    diff_warn_rename_limit((char const   *)"merge.renamelimit", (opt___0->priv)->needed_rename_limit,
                           0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)opt___0->priv);
    opt___0->priv = (struct merge_options_internal___0 *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int merge_trees(struct merge_options___0 *opt___0 , struct tree *head___1 , struct tree *merge___1 ,
                struct tree *merge_base )
{
  int clean ;
  struct tree *ignored ;
  int tmp ;

  {
  assert((unsigned long )opt___0->ancestor != (unsigned long )((void *)0));
  tmp = merge_start___0(opt___0, head___1);
  if (tmp) {
    return (-1);
  }
  clean = merge_trees_internal(opt___0, head___1, merge___1, merge_base, & ignored);
  merge_finalize___0(opt___0);
  return (clean);
}
}
int merge_recursive(struct merge_options___0 *opt___0 , struct commit *h1 , struct commit *h2 ,
                    struct commit_list *merge_bases , struct commit **result___0 )
{
  int clean ;
  int tmp ;
  int tmp___0 ;
  struct tree *tmp___1 ;
  int tmp___2 ;

  {
  if ((unsigned long )opt___0->ancestor == (unsigned long )((void *)0)) {
    tmp___0 = 1;
  } else {
    tmp = strcmp(opt___0->ancestor, (char const   *)"constructed merge base");
    if (tmp) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
  }
  assert(tmp___0);
  prepare_repo_settings(opt___0->repo);
  (opt___0->repo)->settings.command_requires_full_index = 1;
  tmp___1 = repo_get_commit_tree(opt___0->repo, (struct commit  const  *)h1);
  tmp___2 = merge_start___0(opt___0, tmp___1);
  if (tmp___2) {
    return (-1);
  }
  clean = merge_recursive_internal(opt___0, h1, h2, merge_bases, result___0);
  merge_finalize___0(opt___0);
  return (clean);
}
}
static struct commit *get_ref(struct repository *repo , struct object_id  const  *oid ,
                              char const   *name___0 )
{
  struct object *object ;
  size_t tmp ;
  struct object *tmp___0 ;
  struct commit *tmp___1 ;
  int tmp___2 ;

  {
  tmp = strlen(name___0);
  tmp___0 = parse_object(repo, oid);
  object = deref_tag(repo, tmp___0, name___0, (int )tmp);
  if (! object) {
    return ((struct commit *)((void *)0));
  }
  if (object->type == 2U) {
    tmp___1 = make_virtual_commit___0(repo, (struct tree *)object, name___0);
    return (tmp___1);
  }
  if (object->type != 1U) {
    return ((struct commit *)((void *)0));
  }
  tmp___2 = repo_parse_commit(the_repository, (struct commit *)object);
  if (tmp___2) {
    return ((struct commit *)((void *)0));
  }
  return ((struct commit *)object);
}
}
int merge_recursive_generic(struct merge_options___0 *opt___0 , struct object_id  const  *head___1 ,
                            struct object_id  const  *merge___1 , int num_merge_bases ,
                            struct object_id  const  **merge_bases , struct commit **result___0 )
{
  int clean ;
  struct lock_file lock___0 ;
  struct commit *head_commit ;
  struct commit *tmp ;
  struct commit *next_commit ;
  struct commit *tmp___0 ;
  struct commit_list *ca ;
  int i ;
  struct commit *base ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  lock___0.tempfile = (struct tempfile *)0;
  tmp = get_ref(opt___0->repo, head___1, opt___0->branch1);
  head_commit = tmp;
  tmp___0 = get_ref(opt___0->repo, merge___1, opt___0->branch2);
  next_commit = tmp___0;
  ca = (struct commit_list *)((void *)0);
  if (merge_bases) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < num_merge_bases)) {
        goto while_break;
      }
      tmp___4 = oid_to_hex(*(merge_bases + i));
      base = get_ref(opt___0->repo, *(merge_bases + i), (char const   *)tmp___4);
      if (! base) {
        tmp___1 = oid_to_hex(*(merge_bases + i));
        tmp___2 = _((char const   *)"Could not parse object \'%s\'");
        tmp___3 = err___2(opt___0, (char const   *)tmp___2, tmp___1);
        return (tmp___3);
      }
      commit_list_insert(base, & ca);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (num_merge_bases == 1) {
      opt___0->ancestor = (char const   *)"constructed merge base";
    }
  }
  repo_hold_locked_index(opt___0->repo, & lock___0, 1);
  clean = merge_recursive(opt___0, head_commit, next_commit, ca, result___0);
  if (clean < 0) {
    rollback_lock_file(& lock___0);
    return (clean);
  }
  tmp___7 = write_locked_index((opt___0->repo)->index, & lock___0, (unsigned int )(1 | (1 << 1)));
  if (tmp___7) {
    tmp___5 = _((char const   *)"Unable to write index.");
    tmp___6 = err___2(opt___0, (char const   *)tmp___5);
    return (tmp___6);
  }
  if (clean) {
    tmp___8 = 0;
  } else {
    tmp___8 = 1;
  }
  return (tmp___8);
}
}
static void merge_recursive_config(struct merge_options___0 *opt___0 )
{
  char *value ;
  int renormalize ;
  int tmp ;
  int tmp___0 ;
  int boolval ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  value = (char *)((void *)0);
  renormalize = 0;
  git_config_get_int((char const   *)"merge.verbosity", & opt___0->verbosity);
  git_config_get_int((char const   *)"diff.renamelimit", & opt___0->rename_limit);
  git_config_get_int((char const   *)"merge.renamelimit", & opt___0->rename_limit);
  git_config_get_bool((char const   *)"merge.renormalize", & renormalize);
  opt___0->renormalize = (unsigned int )renormalize;
  tmp = git_config_get_string((char const   *)"diff.renames", & value);
  if (! tmp) {
    opt___0->detect_renames = git_config_rename((char const   *)"diff.renames", (char const   *)value);
    free((void *)value);
  }
  tmp___0 = git_config_get_string((char const   *)"merge.renames", & value);
  if (! tmp___0) {
    opt___0->detect_renames = git_config_rename((char const   *)"merge.renames", (char const   *)value);
    free((void *)value);
  }
  tmp___3 = git_config_get_string((char const   *)"merge.directoryrenames", & value);
  if (! tmp___3) {
    tmp___1 = git_parse_maybe_bool((char const   *)value);
    boolval = tmp___1;
    if (0 <= boolval) {
      if (boolval) {
        opt___0->detect_directory_renames = (enum __anonenum_detect_directory_renames_652368180 )2;
      } else {
        opt___0->detect_directory_renames = (enum __anonenum_detect_directory_renames_652368180 )0;
      }
    } else {
      tmp___2 = strcasecmp((char const   *)value, (char const   *)"conflict");
      if (! tmp___2) {
        opt___0->detect_directory_renames = (enum __anonenum_detect_directory_renames_652368180 )1;
      }
    }
    free((void *)value);
  }
  git_config(& git_xmerge_config, (void *)0);
  return;
}
}
void init_merge_options(struct merge_options___0 *opt___0 , struct repository *repo )
{
  char const   *merge_verbosity ;
  char *tmp ;
  long tmp___0 ;

  {
  memset((void *)opt___0, 0, sizeof(struct merge_options___0 ));
  opt___0->repo = repo;
  opt___0->detect_renames = -1;
  opt___0->detect_directory_renames = (enum __anonenum_detect_directory_renames_652368180 )1;
  opt___0->rename_limit = -1;
  opt___0->verbosity = 2;
  opt___0->buffer_output = 1U;
  strbuf_init(& opt___0->obuf, (size_t )0);
  opt___0->renormalize = 0U;
  merge_recursive_config(opt___0);
  tmp = getenv((char const   *)"GIT_MERGE_VERBOSITY");
  merge_verbosity = (char const   *)tmp;
  if (merge_verbosity) {
    tmp___0 = strtol((char const   * __restrict  )merge_verbosity, (char ** __restrict  )((void *)0),
                     10);
    opt___0->verbosity = (int )tmp___0;
  }
  if (opt___0->verbosity >= 5) {
    opt___0->buffer_output = 0U;
  }
  return;
}
}
int parse_merge_opt(struct merge_options___0 *opt___0 , char const   *s___1 )
{
  char const   *arg ;
  long value ;
  long tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;

  {
  if (! s___1) {
    return (-1);
  } else
  if (! *s___1) {
    return (-1);
  }
  tmp___17 = strcmp(s___1, (char const   *)"ours");
  if (tmp___17) {
    tmp___16 = strcmp(s___1, (char const   *)"theirs");
    if (tmp___16) {
      tmp___15 = strcmp(s___1, (char const   *)"subtree");
      if (tmp___15) {
        tmp___14 = skip_prefix(s___1, (char const   *)"subtree=", & arg);
        if (tmp___14) {
          opt___0->subtree_shift = arg;
        } else {
          tmp___13 = strcmp(s___1, (char const   *)"patience");
          if (tmp___13) {
            tmp___12 = strcmp(s___1, (char const   *)"histogram");
            if (tmp___12) {
              tmp___11 = skip_prefix(s___1, (char const   *)"diff-algorithm=", & arg);
              if (tmp___11) {
                tmp = parse_algorithm_value(arg);
                value = tmp;
                if (value < 0L) {
                  return (-1);
                }
                opt___0->xdl_opts &= -2L;
                opt___0->xdl_opts &= (long )(~ ((1 << 14) | (1 << 15)));
                opt___0->xdl_opts |= value;
              } else {
                tmp___10 = strcmp(s___1, (char const   *)"ignore-space-change");
                if (tmp___10) {
                  tmp___9 = strcmp(s___1, (char const   *)"ignore-all-space");
                  if (tmp___9) {
                    tmp___8 = strcmp(s___1, (char const   *)"ignore-space-at-eol");
                    if (tmp___8) {
                      tmp___7 = strcmp(s___1, (char const   *)"ignore-cr-at-eol");
                      if (tmp___7) {
                        tmp___6 = strcmp(s___1, (char const   *)"renormalize");
                        if (tmp___6) {
                          tmp___5 = strcmp(s___1, (char const   *)"no-renormalize");
                          if (tmp___5) {
                            tmp___4 = strcmp(s___1, (char const   *)"no-renames");
                            if (tmp___4) {
                              tmp___3 = strcmp(s___1, (char const   *)"find-renames");
                              if (tmp___3) {
                                tmp___1 = skip_prefix(s___1, (char const   *)"find-renames=",
                                                      & arg);
                                if (tmp___1) {
                                  goto _L;
                                } else {
                                  tmp___2 = skip_prefix(s___1, (char const   *)"rename-threshold=",
                                                        & arg);
                                  if (tmp___2) {
                                    _L: /* CIL Label */
                                    tmp___0 = parse_rename_score(& arg);
                                    opt___0->rename_score = tmp___0;
                                    if (tmp___0 == -1) {
                                      return (-1);
                                    } else
                                    if ((int const   )*arg != 0) {
                                      return (-1);
                                    }
                                    opt___0->detect_renames = 1;
                                  } else {
                                    return (-1);
                                  }
                                }
                              } else {
                                opt___0->detect_renames = 1;
                                opt___0->rename_score = 0;
                              }
                            } else {
                              opt___0->detect_renames = 0;
                            }
                          } else {
                            opt___0->renormalize = 0U;
                          }
                        } else {
                          opt___0->renormalize = 1U;
                        }
                      } else {
                        opt___0->xdl_opts |= (long )(1 << 4);
                      }
                    } else {
                      opt___0->xdl_opts |= (long )(1 << 3);
                    }
                  } else {
                    opt___0->xdl_opts |= (long )(1 << 1);
                  }
                } else {
                  opt___0->xdl_opts |= (long )(1 << 2);
                }
              }
            } else {
              opt___0->xdl_opts = (opt___0->xdl_opts & (long )(~ ((1 << 14) | (1 << 15)))) | (long )(1 << 15);
            }
          } else {
            opt___0->xdl_opts = (opt___0->xdl_opts & (long )(~ ((1 << 14) | (1 << 15)))) | (long )(1 << 14);
          }
        }
      } else {
        opt___0->subtree_shift = (char const   *)"";
      }
    } else {
      opt___0->recursive_variant = (enum __anonenum_recursive_variant_585442255 )2;
    }
  } else {
    opt___0->recursive_variant = (enum __anonenum_recursive_variant_585442255 )1;
  }
  return (0);
}
}
static double const   __ac_HASH_UPPER___50  =    (double const   )0.77;
__inline static void kh_resize_oid_set___50(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___50(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___50 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___50 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___50(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___50(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___50(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___50(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___50(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___50(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___50 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___50 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___50(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___50(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___50(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___50(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___50(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___50(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___50 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___50 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___50(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___50(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___50(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___50(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
void record_resolve_undo(struct index_state *istate , struct cache_entry *ce ) ;
void resolve_undo_write(struct strbuf *sb___6 , struct string_list *resolve_undo ) ;
struct string_list *resolve_undo_read(char const   *data , unsigned long size ) ;
void resolve_undo_clear_index(struct index_state *istate ) ;
int unmerge_index_entry_at(struct index_state *istate , int pos ) ;
void unmerge_index(struct index_state *istate , struct pathspec  const  *pathspec___1 ) ;
void unmerge_marked_index(struct index_state *istate ) ;
static char const   *merge_argument(struct commit *commit )
{
  struct object_id  const  *tmp ;
  char *tmp___0 ;

  {
  if (commit) {
    tmp = (struct object_id  const  *)(& commit->object.oid);
  } else {
    tmp = (struct object_id  const  *)(the_repository->hash_algo)->empty_tree;
  }
  tmp___0 = oid_to_hex(tmp);
  return ((char const   *)tmp___0);
}
}
int try_merge_command(struct repository *r , char const   *strategy , size_t xopts_nr___0 ,
                      char const   **xopts___0 , struct commit_list *common , char const   *head_arg ,
                      struct commit_list *remotes )
{
  struct strvec args___0 ;
  int i ;
  int ret___67 ;
  struct commit_list *j ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  args___0.v = empty_strvec;
  args___0.nr = 0UL;
  args___0.alloc = 0UL;
  strvec_pushf(& args___0, (char const   *)"merge-%s", strategy);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < xopts_nr___0)) {
      goto while_break;
    }
    strvec_pushf(& args___0, (char const   *)"--%s", *(xopts___0 + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  j = common;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! j) {
      goto while_break___0;
    }
    tmp = merge_argument(j->item);
    strvec_push(& args___0, tmp);
    j = j->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  strvec_push(& args___0, (char const   *)"--");
  strvec_push(& args___0, head_arg);
  j = remotes;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! j) {
      goto while_break___1;
    }
    tmp___0 = merge_argument(j->item);
    strvec_push(& args___0, tmp___0);
    j = j->next;
  }
  while_break___1: /* CIL Label */ ;
  }
  ret___67 = run_command_v_opt(args___0.v, 1 << 1);
  strvec_clear(& args___0);
  discard_index(r->index);
  tmp___2 = repo_read_index(r);
  if (tmp___2 < 0) {
    tmp___1 = _((char const   *)"failed to read the cache");
    die((char const   *)tmp___1);
  }
  resolve_undo_clear_index(r->index);
  return (ret___67);
}
}
int checkout_fast_forward(struct repository *r , struct object_id  const  *head___1 ,
                          struct object_id  const  *remote , int overwrite_ignore___0 )
{
  struct tree *trees___0[8] ;
  struct unpack_trees_options opts___1 ;
  struct tree_desc t[8] ;
  int i ;
  int nr_trees___0 ;
  struct lock_file lock_file___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  nr_trees___0 = 0;
  lock_file___0.tempfile = (struct tempfile *)0;
  refresh_index(r->index, (unsigned int )(1 << 2), (struct pathspec  const  *)((void *)0),
                (char *)((void *)0), (char const   *)((void *)0));
  tmp = repo_hold_locked_index(r, & lock_file___0, 4);
  if (tmp < 0) {
    return (-1);
  }
  memset((void *)(& trees___0), 0, sizeof(trees___0));
  memset((void *)(& t), 0, sizeof(t));
  trees___0[nr_trees___0] = parse_tree_indirect(head___1);
  tmp___0 = nr_trees___0;
  nr_trees___0 ++;
  if (! trees___0[tmp___0]) {
    rollback_lock_file(& lock_file___0);
    return (-1);
  }
  trees___0[nr_trees___0] = parse_tree_indirect(remote);
  tmp___1 = nr_trees___0;
  nr_trees___0 ++;
  if (! trees___0[tmp___1]) {
    rollback_lock_file(& lock_file___0);
    return (-1);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_trees___0)) {
      goto while_break;
    }
    parse_tree(trees___0[i]);
    init_tree_desc(t + i, (void const   *)(trees___0[i])->buffer, (trees___0[i])->size);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  memset((void *)(& opts___1), 0, sizeof(opts___1));
  opts___1.preserve_ignored = (unsigned int )(! overwrite_ignore___0);
  opts___1.head_idx = 1;
  opts___1.src_index = r->index;
  opts___1.dst_index = r->index;
  opts___1.update = 1U;
  opts___1.verbose_update = 1U;
  opts___1.merge = 1U;
  opts___1.fn = & twoway_merge;
  init_checkout_metadata(& opts___1.meta, (char const   *)((void *)0), remote, (struct object_id  const  *)((void *)0));
  setup_unpack_trees_porcelain(& opts___1, (char const   *)"merge");
  tmp___2 = unpack_trees((unsigned int )nr_trees___0, t, & opts___1);
  if (tmp___2) {
    rollback_lock_file(& lock_file___0);
    clear_unpack_trees_porcelain(& opts___1);
    return (-1);
  }
  clear_unpack_trees_porcelain(& opts___1);
  tmp___5 = write_locked_index(r->index, & lock_file___0, 1U);
  if (tmp___5) {
    tmp___3 = _((char const   *)"unable to write new index file");
    error((char const   *)tmp___3);
    tmp___4 = const_error();
    return (tmp___4);
  }
  return (0);
}
}
static void *llist_merge(void *list___3 , void *other , void *(*get_next_fn)(void const   * ) ,
                         void (*set_next_fn)(void * , void * ) , int (*compare_fn)(void const   * ,
                                                                                   void const   * ) )
{
  void *result___0 ;
  void *tail ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  result___0 = list___3;
  tmp = (*compare_fn)((void const   *)list___3, (void const   *)other);
  if (tmp > 0) {
    result___0 = other;
    goto other;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tail = list___3;
      list___3 = (*get_next_fn)((void const   *)list___3);
      if (! list___3) {
        (*set_next_fn)(tail, other);
        return (result___0);
      }
      tmp___0 = (*compare_fn)((void const   *)list___3, (void const   *)other);
      if (! (tmp___0 <= 0)) {
        goto while_break___0;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    (*set_next_fn)(tail, other);
    other:
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      tail = other;
      other = (*get_next_fn)((void const   *)other);
      if (! other) {
        (*set_next_fn)(tail, list___3);
        return (result___0);
      }
      tmp___1 = (*compare_fn)((void const   *)list___3, (void const   *)other);
      if (! (tmp___1 > 0)) {
        goto while_break___1;
      }
    }
    while_break___1: /* CIL Label */ ;
    }
    (*set_next_fn)(tail, list___3);
  }
  while_break: /* CIL Label */ ;
  }
}
}
void *llist_mergesort(void *list___3 , void *(*get_next_fn)(void const   * ) , void (*set_next_fn)(void * ,
                                                                                                   void * ) ,
                      int (*compare_fn)(void const   * , void const   * ) )
{
  void *ranks[8UL * sizeof(void *)] ;
  size_t n ;
  int i ;
  void *next___2 ;
  void *tmp ;

  {
  n = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    tmp = (*get_next_fn)((void const   *)list___3);
    next___2 = tmp;
    if (next___2) {
      (*set_next_fn)(list___3, (void *)0);
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (n & (1UL << i))) {
        goto while_break___0;
      }
      list___3 = llist_merge(ranks[i], list___3, get_next_fn, set_next_fn, compare_fn);
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    n ++;
    ranks[i] = list___3;
    list___3 = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! n) {
      goto while_break___1;
    }
    if (! (n & 1UL)) {
      goto __Cont;
    }
    if (list___3) {
      list___3 = llist_merge(ranks[i], list___3, get_next_fn, set_next_fn, compare_fn);
    } else {
      list___3 = ranks[i];
    }
    __Cont: /* CIL Label */
    i ++;
    n >>= 1;
  }
  while_break___1: /* CIL Label */ ;
  }
  return (list___3);
}
}
static char const   BITMAP_IDX_SIGNATURE___0[4] ;
static double const   __ac_HASH_UPPER___51  =    (double const   )0.77;
__inline static void kh_resize_oid_set___51(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___51(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___51 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___51 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___51(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___51(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___51(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___51(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___51(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___51(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___51 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___51 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___51(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___51(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___51(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___51(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___51(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___51(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___51 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___51 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___51(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___51(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___51(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___51(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___36(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___36(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___51 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___51 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___36(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___36(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___36(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___36(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
unsigned char const   *get_midx_checksum(struct multi_pack_index *m ) ;
void get_midx_filename(struct strbuf *out , char const   *object_dir ) ;
void get_midx_rev_filename(struct strbuf *out , struct multi_pack_index *m ) ;
struct multi_pack_index *load_multi_pack_index(char const   *object_dir , int local___0 ) ;
int prepare_midx_pack(struct repository *r , struct multi_pack_index *m , uint32_t pack_int_id ) ;
int bsearch_midx(struct object_id  const  *oid , struct multi_pack_index *m , uint32_t *result___0 ) ;
off_t nth_midxed_offset(struct multi_pack_index *m , uint32_t pos ) ;
uint32_t nth_midxed_pack_int_id(struct multi_pack_index *m , uint32_t pos ) ;
struct object_id *nth_midxed_object_oid(struct object_id *oid , struct multi_pack_index *m ,
                                        uint32_t n ) ;
int fill_midx_entry(struct repository *r , struct object_id  const  *oid , struct pack_entry *e ,
                    struct multi_pack_index *m ) ;
int midx_contains_pack(struct multi_pack_index *m , char const   *idx_or_pack_name ) ;
int prepare_multi_pack_index_one(struct repository *r , char const   *object_dir ,
                                 int local___0 ) ;
int write_midx_file(char const   *object_dir , char const   *preferred_pack_name ,
                    char const   *refs_snapshot , unsigned int flags___0 ) ;
int write_midx_file_only(char const   *object_dir , struct string_list *packs_to_include ,
                         char const   *preferred_pack_name , char const   *refs_snapshot ,
                         unsigned int flags___0 ) ;
void clear_midx_file(struct repository *r ) ;
int verify_midx_file(struct repository *r , char const   *object_dir , unsigned int flags___0 ) ;
int expire_midx_packs(struct repository *r , char const   *object_dir , unsigned int flags___0 ) ;
int midx_repack(struct repository *r , char const   *object_dir , size_t batch_size ,
                unsigned int flags___0 ) ;
void close_midx(struct multi_pack_index *m ) ;
static char const   BITMAP_IDX_SIGNATURE___0[4]  = {      (char const   )'B',      (char const   )'I',      (char const   )'T',      (char const   )'M'};
static uint8_t oid_version___0(void)
{
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  tmp = hash_algo_by_ptr(the_repository->hash_algo);
  {
  if (tmp == 1) {
    goto case_1;
  }
  if (tmp == 2) {
    goto case_2;
  }
  goto switch_default;
  case_1: /* CIL Label */
  return ((uint8_t )1);
  case_2: /* CIL Label */
  return ((uint8_t )2);
  switch_default: /* CIL Label */
  tmp___0 = _((char const   *)"invalid hash version");
  die((char const   *)tmp___0);
  switch_break: /* CIL Label */ ;
  }
}
}
unsigned char const   *get_midx_checksum(struct multi_pack_index *m )
{


  {
  return ((m->data + m->data_len) - (the_repository->hash_algo)->rawsz);
}
}
void get_midx_filename(struct strbuf *out , char const   *object_dir )
{


  {
  strbuf_addf(out, (char const   *)"%s/pack/multi-pack-index", object_dir);
  return;
}
}
void get_midx_rev_filename(struct strbuf *out , struct multi_pack_index *m )
{
  unsigned char const   *tmp ;
  char *tmp___0 ;

  {
  get_midx_filename(out, (char const   *)(m->object_dir));
  tmp = get_midx_checksum(m);
  tmp___0 = hash_to_hex(tmp);
  strbuf_addf(out, (char const   *)"-%s.rev", tmp___0);
  return;
}
}
static int midx_read_oid_fanout(unsigned char const   *chunk_start , size_t chunk_size ,
                                void *data )
{
  struct multi_pack_index *m ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  m = (struct multi_pack_index *)data;
  m->chunk_oid_fanout = (uint32_t const   *)((uint32_t *)chunk_start);
  if (chunk_size != 1024UL) {
    tmp = _((char const   *)"multi-pack-index OID fanout is of the wrong size");
    error((char const   *)tmp);
    const_error();
    return (1);
  }
  return (0);
}
}
struct multi_pack_index *load_multi_pack_index(char const   *object_dir , int local___0 )
{
  struct multi_pack_index *m ;
  int fd ;
  struct stat st ;
  size_t midx_size ;
  void *midx_map ;
  uint32_t hash_version ;
  struct strbuf midx_name ;
  uint32_t i ;
  char const   *cur_pack_name ;
  struct chunkfile *cf___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  size_t flex_array_len_ ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  uint8_t tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  uint8_t tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  int tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  int tmp___19 ;
  void *tmp___20 ;
  void *tmp___21 ;
  size_t tmp___22 ;
  char const __attribute__((__format_arg__(1)))  *tmp___23 ;
  int tmp___24 ;

  {
  m = (struct multi_pack_index *)((void *)0);
  midx_map = (void *)0;
  midx_name.alloc = 0UL;
  midx_name.len = 0UL;
  midx_name.buf = strbuf_slopbuf;
  cf___0 = (struct chunkfile *)((void *)0);
  get_midx_filename(& midx_name, object_dir);
  fd = git_open_cloexec((char const   *)midx_name.buf, 00);
  if (fd < 0) {
    goto cleanup_fail;
  }
  tmp___0 = fstat(fd, & st);
  if (tmp___0) {
    tmp = _((char const   *)"failed to read %s");
    error_errno((char const   *)tmp, midx_name.buf);
    const_error();
    goto cleanup_fail;
  }
  midx_size = xsize_t(st.st_size);
  if (midx_size < (size_t )(12UL + (the_repository->hash_algo)->rawsz)) {
    tmp___1 = _((char const   *)"multi-pack-index file %s is too small");
    error((char const   *)tmp___1, midx_name.buf);
    const_error();
    goto cleanup_fail;
  }
  strbuf_release(& midx_name);
  midx_map = xmmap((void *)0, midx_size, 0x1, 0x02, fd, (off_t )0);
  close(fd);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = strlen(object_dir);
    flex_array_len_ = tmp___2;
    tmp___3 = st_add(sizeof(*m), flex_array_len_);
    tmp___4 = st_add(tmp___3, (size_t )1);
    tmp___5 = xcalloc((size_t )1, tmp___4);
    m = (struct multi_pack_index *)tmp___5;
    memcpy((void *)(m->object_dir), (void const   *)object_dir, flex_array_len_);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  m->data = (unsigned char const   *)midx_map;
  m->data_len = midx_size;
  m->local = local___0;
  m->signature = get_be32((void const   *)m->data);
  if (m->signature != 1296647256U) {
    tmp___6 = _((char const   *)"multi-pack-index signature 0x%08x does not match signature 0x%08x");
    die((char const   *)tmp___6, m->signature, 0x4d494458);
  }
  m->version = (unsigned char )*(m->data + 4);
  if ((int )m->version != 1) {
    tmp___7 = _((char const   *)"multi-pack-index version %d not recognized");
    die((char const   *)tmp___7, (int )m->version);
  }
  hash_version = (uint32_t )*(m->data + 5);
  tmp___10 = oid_version___0();
  if (hash_version != (uint32_t )tmp___10) {
    tmp___8 = oid_version___0();
    tmp___9 = _((char const   *)"multi-pack-index hash version %u does not match version %u");
    error((char const   *)tmp___9, hash_version, (int )tmp___8);
    const_error();
    goto cleanup_fail;
  }
  m->hash_len = (unsigned char )(the_repository->hash_algo)->rawsz;
  m->num_chunks = (unsigned char )*(m->data + 6);
  m->num_packs = get_be32((void const   *)(m->data + 8));
  cf___0 = init_chunkfile((struct hashfile *)((void *)0));
  tmp___11 = read_table_of_contents(cf___0, m->data, midx_size, (uint64_t )12, (int )m->num_chunks);
  if (tmp___11) {
    goto cleanup_fail;
  }
  tmp___13 = pair_chunk(cf___0, (uint32_t )0x504e414d, & m->chunk_pack_names);
  if (tmp___13 == -2) {
    tmp___12 = _((char const   *)"multi-pack-index missing required pack-name chunk");
    die((char const   *)tmp___12);
  }
  tmp___15 = read_chunk(cf___0, (uint32_t )0x4f494446, & midx_read_oid_fanout, (void *)m);
  if (tmp___15 == -2) {
    tmp___14 = _((char const   *)"multi-pack-index missing required OID fanout chunk");
    die((char const   *)tmp___14);
  }
  tmp___17 = pair_chunk(cf___0, (uint32_t )0x4f49444c, & m->chunk_oid_lookup);
  if (tmp___17 == -2) {
    tmp___16 = _((char const   *)"multi-pack-index missing required OID lookup chunk");
    die((char const   *)tmp___16);
  }
  tmp___19 = pair_chunk(cf___0, (uint32_t )0x4f4f4646, & m->chunk_object_offsets);
  if (tmp___19 == -2) {
    tmp___18 = _((char const   *)"multi-pack-index missing required object offsets chunk");
    die((char const   *)tmp___18);
  }
  pair_chunk(cf___0, (uint32_t )0x4c4f4646, & m->chunk_large_offsets);
  m->num_objects = git_bswap32((uint32_t )*(m->chunk_oid_fanout + 255));
  tmp___20 = xcalloc((size_t )m->num_packs, sizeof(*(m->pack_names)));
  m->pack_names = (char const   **)tmp___20;
  tmp___21 = xcalloc((size_t )m->num_packs, sizeof(*(m->packs)));
  m->packs = (struct packed_git **)tmp___21;
  cur_pack_name = (char const   *)m->chunk_pack_names;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < m->num_packs)) {
      goto while_break___0;
    }
    *(m->pack_names + i) = cur_pack_name;
    tmp___22 = strlen(cur_pack_name);
    cur_pack_name += tmp___22 + 1UL;
    if (i) {
      tmp___24 = strcmp(*(m->pack_names + i), *(m->pack_names + (i - 1U)));
      if (tmp___24 <= 0) {
        tmp___23 = _((char const   *)"multi-pack-index pack names out of order: \'%s\' before \'%s\'");
        die((char const   *)tmp___23, *(m->pack_names + (i - 1U)), *(m->pack_names + i));
      }
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  trace2_data_intmax_fl((char const   *)"midx.c", 181, (char const   *)"midx", (struct repository  const  *)the_repository,
                        (char const   *)"load/num_packs", (intmax_t )m->num_packs);
  trace2_data_intmax_fl((char const   *)"midx.c", 182, (char const   *)"midx", (struct repository  const  *)the_repository,
                        (char const   *)"load/num_objects", (intmax_t )m->num_objects);
  free_chunkfile(cf___0);
  return (m);
  cleanup_fail:
  free((void *)m);
  strbuf_release(& midx_name);
  free_chunkfile(cf___0);
  if (midx_map) {
    munmap(midx_map, midx_size);
  }
  if (0 <= fd) {
    close(fd);
  }
  return ((struct multi_pack_index *)((void *)0));
}
}
void close_midx(struct multi_pack_index *m )
{
  uint32_t i ;

  {
  if (! m) {
    return;
  }
  close_midx(m->next);
  munmap((void *)((unsigned char *)m->data), m->data_len);
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < m->num_packs)) {
      goto while_break;
    }
    if (*(m->packs + i)) {
      (*(m->packs + i))->multi_pack_index = 0U;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)m->packs);
    m->packs = (struct packed_git **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    free((void *)m->pack_names);
    m->pack_names = (char const   **)((void *)0);
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  free((void *)m);
  return;
}
}
int prepare_midx_pack(struct repository *r , struct multi_pack_index *m , uint32_t pack_int_id )
{
  struct strbuf pack_name ;
  struct packed_git *p___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  pack_name.alloc = 0UL;
  pack_name.len = 0UL;
  pack_name.buf = strbuf_slopbuf;
  if (pack_int_id >= m->num_packs) {
    tmp = _((char const   *)"bad pack-int-id: %u (%u total packs)");
    die((char const   *)tmp, pack_int_id, m->num_packs);
  }
  if (*(m->packs + pack_int_id)) {
    return (0);
  }
  strbuf_addf(& pack_name, (char const   *)"%s/pack/%s", m->object_dir, *(m->pack_names + pack_int_id));
  p___0 = add_packed_git((char const   *)pack_name.buf, pack_name.len, m->local);
  strbuf_release(& pack_name);
  if (! p___0) {
    return (1);
  }
  p___0->multi_pack_index = 1U;
  *(m->packs + pack_int_id) = p___0;
  install_packed_git(r, p___0);
  list_add_tail(& p___0->mru, & (r->objects)->packed_git_mru);
  return (0);
}
}
int bsearch_midx(struct object_id  const  *oid , struct multi_pack_index *m , uint32_t *result___0 )
{
  int tmp ;

  {
  tmp = bsearch_hash((unsigned char const   *)(oid->hash), m->chunk_oid_fanout, m->chunk_oid_lookup,
                     (size_t )(the_repository->hash_algo)->rawsz, result___0);
  return (tmp);
}
}
struct object_id *nth_midxed_object_oid(struct object_id *oid , struct multi_pack_index *m ,
                                        uint32_t n )
{


  {
  if (n >= m->num_objects) {
    return ((struct object_id *)((void *)0));
  }
  oidread(oid, m->chunk_oid_lookup + (uint32_t )m->hash_len * n);
  return (oid);
}
}
off_t nth_midxed_offset(struct multi_pack_index *m , uint32_t pos )
{
  unsigned char const   *offset_data ;
  uint32_t offset32 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  uint64_t tmp___0 ;

  {
  offset_data = m->chunk_object_offsets + (unsigned long )((off_t )pos) * (2UL * sizeof(uint32_t ));
  offset32 = get_be32((void const   *)(offset_data + sizeof(uint32_t )));
  if (m->chunk_large_offsets) {
    if (offset32 & 0x80000000) {
      if (sizeof(off_t ) < sizeof(uint64_t )) {
        tmp = _((char const   *)"multi-pack-index stores a 64-bit offset, but off_t is too small");
        die((char const   *)tmp);
      }
      offset32 ^= 0x80000000;
      tmp___0 = get_be64((void const   *)(m->chunk_large_offsets + sizeof(uint64_t ) * (unsigned long )offset32));
      return ((off_t )tmp___0);
    }
  }
  return ((off_t )offset32);
}
}
uint32_t nth_midxed_pack_int_id(struct multi_pack_index *m , uint32_t pos )
{
  uint32_t tmp ;

  {
  tmp = get_be32((void const   *)(m->chunk_object_offsets + (unsigned long )((off_t )pos) * (2UL * sizeof(uint32_t ))));
  return (tmp);
}
}
int fill_midx_entry(struct repository *r , struct object_id  const  *oid , struct pack_entry *e ,
                    struct multi_pack_index *m )
{
  uint32_t pos ;
  uint32_t pack_int_id ;
  struct packed_git *p___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = bsearch_midx(oid, m, & pos);
  if (! tmp) {
    return (0);
  }
  if (pos >= m->num_objects) {
    return (0);
  }
  pack_int_id = nth_midxed_pack_int_id(m, pos);
  tmp___0 = prepare_midx_pack(r, m, pack_int_id);
  if (tmp___0) {
    return (0);
  }
  p___0 = *(m->packs + pack_int_id);
  tmp___1 = is_pack_valid(p___0);
  if (! tmp___1) {
    return (0);
  }
  tmp___2 = oidset_size((struct oidset  const  *)(& p___0->bad_objects));
  if (tmp___2) {
    tmp___3 = oidset_contains((struct oidset  const  *)(& p___0->bad_objects), oid);
    if (tmp___3) {
      return (0);
    }
  }
  e->offset = nth_midxed_offset(m, pos);
  e->p = p___0;
  return (1);
}
}
static int cmp_idx_or_pack_name(char const   *idx_or_pack_name , char const   *idx_name )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*idx_name) {
      if (! ((int const   )*idx_name == (int const   )*idx_or_pack_name)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    idx_name ++;
    idx_or_pack_name ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = strcmp(idx_name, (char const   *)"idx");
  if (! tmp) {
    tmp___0 = strcmp(idx_or_pack_name, (char const   *)"pack");
    if (! tmp___0) {
      return (0);
    }
  }
  tmp___1 = strcmp(idx_or_pack_name, idx_name);
  return (tmp___1);
}
}
int midx_contains_pack(struct multi_pack_index *m , char const   *idx_or_pack_name )
{
  uint32_t first ;
  uint32_t last ;
  uint32_t mid ;
  char const   *current ;
  int cmp___0 ;

  {
  first = (uint32_t )0;
  last = m->num_packs;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (first < last)) {
      goto while_break;
    }
    mid = first + (last - first) / 2U;
    current = *(m->pack_names + mid);
    cmp___0 = cmp_idx_or_pack_name(idx_or_pack_name, current);
    if (! cmp___0) {
      return (1);
    }
    if (cmp___0 > 0) {
      first = mid + 1U;
      goto while_continue;
    }
    last = mid;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int prepare_multi_pack_index_one(struct repository *r , char const   *object_dir ,
                                 int local___0 )
{
  struct multi_pack_index *m ;
  struct multi_pack_index *m_search ;
  int tmp ;
  struct multi_pack_index *mp ;

  {
  prepare_repo_settings(r);
  if (! r->settings.core_multi_pack_index) {
    return (0);
  }
  m_search = (r->objects)->multi_pack_index;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! m_search) {
      goto while_break;
    }
    tmp = strcmp(object_dir, (char const   *)(m_search->object_dir));
    if (! tmp) {
      return (1);
    }
    m_search = m_search->next;
  }
  while_break: /* CIL Label */ ;
  }
  m = load_multi_pack_index(object_dir, local___0);
  if (m) {
    mp = (r->objects)->multi_pack_index;
    if (mp) {
      m->next = mp->next;
      mp->next = m;
    } else {
      (r->objects)->multi_pack_index = m;
    }
    return (1);
  }
  return (0);
}
}
static size_t write_midx_header(struct hashfile *f , unsigned char num_chunks , uint32_t num_packs )
{
  uint8_t tmp ;

  {
  hashwrite_be32(f, (uint32_t )0x4d494458);
  hashwrite_u8(f, (uint8_t )1);
  tmp = oid_version___0();
  hashwrite_u8(f, tmp);
  hashwrite_u8(f, num_chunks);
  hashwrite_u8(f, (uint8_t )0);
  hashwrite_be32(f, num_packs);
  return ((size_t )12);
}
}
static int pack_info_compare(void const   *_a , void const   *_b )
{
  struct pack_info *a ;
  struct pack_info *b___0 ;
  int tmp ;

  {
  a = (struct pack_info *)_a;
  b___0 = (struct pack_info *)_b;
  tmp = strcmp((char const   *)a->pack_name, (char const   *)b___0->pack_name);
  return (tmp);
}
}
static int idx_or_pack_name_cmp(void const   *_va , void const   *_vb )
{
  char const   *pack_name ;
  struct pack_info  const  *compar ;
  int tmp ;

  {
  pack_name = (char const   *)_va;
  compar = (struct pack_info  const  *)_vb;
  tmp = cmp_idx_or_pack_name(pack_name, (char const   *)compar->pack_name);
  return (tmp);
}
}
static void add_pack_to_midx(char const   *full_path , size_t full_path_len , char const   *file_name ,
                             void *data )
{
  struct write_midx_context *ctx___0 ;
  int tmp ;
  int tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  ctx___0 = (struct write_midx_context *)data;
  tmp___6 = ends_with(file_name, (char const   *)".idx");
  if (tmp___6) {
    (ctx___0->pack_paths_checked) ++;
    display_progress(ctx___0->progress, (uint64_t )ctx___0->pack_paths_checked);
    if (ctx___0->m) {
      tmp___0 = midx_contains_pack(ctx___0->m, file_name);
      if (tmp___0) {
        return;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (ctx___0->to_include) {
      tmp = string_list_has_string((struct string_list  const  *)ctx___0->to_include,
                                   file_name);
      if (! tmp) {
        return;
      }
    }
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (ctx___0->nr + 1U > ctx___0->alloc) {
        if (((ctx___0->alloc + 16U) * 3U) / 2U < ctx___0->nr + 1U) {
          ctx___0->alloc = ctx___0->nr + 1U;
        } else {
          ctx___0->alloc = ((ctx___0->alloc + 16U) * 3U) / 2U;
        }
        tmp___1 = st_mult(sizeof(*(ctx___0->info)), (size_t )ctx___0->alloc);
        tmp___2 = xrealloc((void *)ctx___0->info, tmp___1);
        ctx___0->info = (struct pack_info *)tmp___2;
      }
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    (ctx___0->info + ctx___0->nr)->p = add_packed_git(full_path, full_path_len, 0);
    if (! (ctx___0->info + ctx___0->nr)->p) {
      tmp___3 = _((char const   *)"failed to add packfile \'%s\'");
      warning((char const   *)tmp___3, full_path);
      return;
    }
    tmp___5 = open_pack_index((ctx___0->info + ctx___0->nr)->p);
    if (tmp___5) {
      tmp___4 = _((char const   *)"failed to open pack-index \'%s\'");
      warning((char const   *)tmp___4, full_path);
      close_pack((ctx___0->info + ctx___0->nr)->p);
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        free((void *)(ctx___0->info + ctx___0->nr)->p);
        (ctx___0->info + ctx___0->nr)->p = (struct packed_git *)((void *)0);
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
      return;
    }
    (ctx___0->info + ctx___0->nr)->pack_name = xstrdup(file_name);
    (ctx___0->info + ctx___0->nr)->orig_pack_int_id = ctx___0->nr;
    (ctx___0->info + ctx___0->nr)->expired = 0U;
    (ctx___0->nr) ++;
  }
  return;
}
}
static int midx_oid_compare(void const   *_a , void const   *_b )
{
  struct pack_midx_entry  const  *a ;
  struct pack_midx_entry  const  *b___0 ;
  int cmp___0 ;
  int tmp ;

  {
  a = (struct pack_midx_entry  const  *)_a;
  b___0 = (struct pack_midx_entry  const  *)_b;
  tmp = oidcmp((struct object_id  const  *)(& a->oid), (struct object_id  const  *)(& b___0->oid));
  cmp___0 = tmp;
  if (cmp___0) {
    return (cmp___0);
  }
  if (a->preferred > b___0->preferred) {
    return (-1);
  }
  if (a->preferred < b___0->preferred) {
    return (1);
  }
  if (a->pack_mtime > b___0->pack_mtime) {
    return (-1);
  } else
  if (a->pack_mtime < b___0->pack_mtime) {
    return (1);
  }
  return ((int )(a->pack_int_id - b___0->pack_int_id));
}
}
static int nth_midxed_pack_midx_entry(struct multi_pack_index *m , struct pack_midx_entry *e ,
                                      uint32_t pos )
{
  off_t tmp ;

  {
  if (pos >= m->num_objects) {
    return (1);
  }
  nth_midxed_object_oid(& e->oid, m, pos);
  e->pack_int_id = nth_midxed_pack_int_id(m, pos);
  tmp = nth_midxed_offset(m, pos);
  e->offset = (uint64_t )tmp;
  e->pack_mtime = (time_t )0;
  return (0);
}
}
static void fill_pack_entry(uint32_t pack_int_id , struct packed_git *p___0 , uint32_t cur_object ,
                            struct pack_midx_entry *entry , int preferred )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  off_t tmp___1 ;

  {
  tmp___0 = nth_packed_object_id(& entry->oid, p___0, cur_object);
  if (tmp___0 < 0) {
    tmp = _((char const   *)"failed to locate object %d in packfile");
    die((char const   *)tmp, cur_object);
  }
  entry->pack_int_id = pack_int_id;
  entry->pack_mtime = p___0->mtime;
  tmp___1 = nth_packed_object_offset((struct packed_git  const  *)p___0, cur_object);
  entry->offset = (uint64_t )tmp___1;
  entry->preferred = (unsigned int )(! (! preferred));
  return;
}
}
static struct pack_midx_entry *get_sorted_entries(struct multi_pack_index *m , struct pack_info *info___0 ,
                                                  uint32_t nr_packs , uint32_t *nr_objects___1 ,
                                                  int preferred_pack )
{
  uint32_t cur_fanout ;
  uint32_t cur_pack ;
  uint32_t cur_object ;
  uint32_t alloc_fanout ;
  uint32_t alloc_objects___0 ;
  uint32_t total_objects ;
  struct pack_midx_entry *entries_by_fanout ;
  struct pack_midx_entry *deduplicated_entries ;
  uint32_t start_pack ;
  uint32_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;
  uint32_t nr_fanout ;
  uint32_t start ;
  uint32_t end ;
  size_t tmp___4 ;
  void *tmp___5 ;
  uint32_t tmp___6 ;
  uint32_t start___0 ;
  uint32_t end___0 ;
  int preferred ;
  size_t tmp___7 ;
  void *tmp___8 ;
  int tmp___9 ;
  size_t tmp___10 ;
  void *tmp___11 ;

  {
  total_objects = (uint32_t )0;
  entries_by_fanout = (struct pack_midx_entry *)((void *)0);
  deduplicated_entries = (struct pack_midx_entry *)((void *)0);
  if (m) {
    tmp = m->num_packs;
  } else {
    tmp = (uint32_t )0;
  }
  start_pack = tmp;
  cur_pack = start_pack;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (cur_pack < nr_packs)) {
      goto while_break;
    }
    total_objects += ((info___0 + cur_pack)->p)->num_objects;
    cur_pack ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (total_objects > 3200U) {
    alloc_fanout = total_objects / 200U;
  } else {
    alloc_fanout = (uint32_t )16;
  }
  alloc_objects___0 = alloc_fanout;
  tmp___0 = st_mult(sizeof(*entries_by_fanout), (size_t )alloc_fanout);
  tmp___1 = xmalloc(tmp___0);
  entries_by_fanout = (struct pack_midx_entry *)tmp___1;
  tmp___2 = st_mult(sizeof(*deduplicated_entries), (size_t )alloc_objects___0);
  tmp___3 = xmalloc(tmp___2);
  deduplicated_entries = (struct pack_midx_entry *)tmp___3;
  *nr_objects___1 = (uint32_t )0;
  cur_fanout = (uint32_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (cur_fanout < 256U)) {
      goto while_break___0;
    }
    nr_fanout = (uint32_t )0;
    if (m) {
      start = (uint32_t )0;
      if (cur_fanout) {
        start = git_bswap32((uint32_t )*(m->chunk_oid_fanout + (cur_fanout - 1U)));
      }
      end = git_bswap32((uint32_t )*(m->chunk_oid_fanout + cur_fanout));
      cur_object = start;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! (cur_object < end)) {
          goto while_break___1;
        }
        {
        while (1) {
          while_continue___2: /* CIL Label */ ;
          if (nr_fanout + 1U > alloc_fanout) {
            if (((alloc_fanout + 16U) * 3U) / 2U < nr_fanout + 1U) {
              alloc_fanout = nr_fanout + 1U;
            } else {
              alloc_fanout = ((alloc_fanout + 16U) * 3U) / 2U;
            }
            tmp___4 = st_mult(sizeof(*entries_by_fanout), (size_t )alloc_fanout);
            tmp___5 = xrealloc((void *)entries_by_fanout, tmp___4);
            entries_by_fanout = (struct pack_midx_entry *)tmp___5;
          }
          goto while_break___2;
        }
        while_break___2: /* CIL Label */ ;
        }
        nth_midxed_pack_midx_entry(m, entries_by_fanout + nr_fanout, cur_object);
        tmp___6 = nth_midxed_pack_int_id(m, cur_object);
        if (tmp___6 == (uint32_t )preferred_pack) {
          (entries_by_fanout + nr_fanout)->preferred = 1U;
        } else {
          (entries_by_fanout + nr_fanout)->preferred = 0U;
        }
        nr_fanout ++;
        cur_object ++;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
    cur_pack = start_pack;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! (cur_pack < nr_packs)) {
        goto while_break___3;
      }
      start___0 = (uint32_t )0;
      preferred = cur_pack == (uint32_t )preferred_pack;
      if (cur_fanout) {
        start___0 = get_pack_fanout((info___0 + cur_pack)->p, cur_fanout - 1U);
      }
      end___0 = get_pack_fanout((info___0 + cur_pack)->p, cur_fanout);
      cur_object = start___0;
      {
      while (1) {
        while_continue___4: /* CIL Label */ ;
        if (! (cur_object < end___0)) {
          goto while_break___4;
        }
        {
        while (1) {
          while_continue___5: /* CIL Label */ ;
          if (nr_fanout + 1U > alloc_fanout) {
            if (((alloc_fanout + 16U) * 3U) / 2U < nr_fanout + 1U) {
              alloc_fanout = nr_fanout + 1U;
            } else {
              alloc_fanout = ((alloc_fanout + 16U) * 3U) / 2U;
            }
            tmp___7 = st_mult(sizeof(*entries_by_fanout), (size_t )alloc_fanout);
            tmp___8 = xrealloc((void *)entries_by_fanout, tmp___7);
            entries_by_fanout = (struct pack_midx_entry *)tmp___8;
          }
          goto while_break___5;
        }
        while_break___5: /* CIL Label */ ;
        }
        fill_pack_entry(cur_pack, (info___0 + cur_pack)->p, cur_object, entries_by_fanout + nr_fanout,
                        preferred);
        nr_fanout ++;
        cur_object ++;
      }
      while_break___4: /* CIL Label */ ;
      }
      cur_pack ++;
    }
    while_break___3: /* CIL Label */ ;
    }
    sane_qsort((void *)entries_by_fanout, (size_t )nr_fanout, sizeof(*entries_by_fanout),
               & midx_oid_compare);
    cur_object = (uint32_t )0;
    {
    while (1) {
      while_continue___6: /* CIL Label */ ;
      if (! (cur_object < nr_fanout)) {
        goto while_break___6;
      }
      if (cur_object) {
        tmp___9 = oideq((struct object_id  const  *)(& (entries_by_fanout + (cur_object - 1U))->oid),
                        (struct object_id  const  *)(& (entries_by_fanout + cur_object)->oid));
        if (tmp___9) {
          goto __Cont;
        }
      }
      {
      while (1) {
        while_continue___7: /* CIL Label */ ;
        if (*nr_objects___1 + 1U > alloc_objects___0) {
          if (((alloc_objects___0 + 16U) * 3U) / 2U < *nr_objects___1 + 1U) {
            alloc_objects___0 = *nr_objects___1 + 1U;
          } else {
            alloc_objects___0 = ((alloc_objects___0 + 16U) * 3U) / 2U;
          }
          tmp___10 = st_mult(sizeof(*deduplicated_entries), (size_t )alloc_objects___0);
          tmp___11 = xrealloc((void *)deduplicated_entries, tmp___10);
          deduplicated_entries = (struct pack_midx_entry *)tmp___11;
        }
        goto while_break___7;
      }
      while_break___7: /* CIL Label */ ;
      }
      memcpy((void *)(deduplicated_entries + *nr_objects___1), (void const   *)(entries_by_fanout + cur_object),
             sizeof(struct pack_midx_entry ));
      (*nr_objects___1) ++;
      __Cont: /* CIL Label */
      cur_object ++;
    }
    while_break___6: /* CIL Label */ ;
    }
    cur_fanout ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)entries_by_fanout);
  return (deduplicated_entries);
}
}
static int write_midx_pack_names(struct hashfile *f , void *data )
{
  struct write_midx_context *ctx___0 ;
  uint32_t i ;
  unsigned char padding___2[4] ;
  size_t written___0 ;
  size_t writelen ;
  int tmp ;
  size_t tmp___0 ;

  {
  ctx___0 = (struct write_midx_context *)data;
  written___0 = (size_t )0;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < ctx___0->nr)) {
      goto while_break;
    }
    if ((ctx___0->info + i)->expired) {
      goto __Cont;
    }
    if (i) {
      tmp = strcmp((char const   *)(ctx___0->info + i)->pack_name, (char const   *)(ctx___0->info + (i - 1U))->pack_name);
      if (tmp <= 0) {
        BUG_fl((char const   *)"midx.c", 706, (char const   *)"incorrect pack-file order: %s before %s",
               (ctx___0->info + (i - 1U))->pack_name, (ctx___0->info + i)->pack_name);
      }
    }
    tmp___0 = strlen((char const   *)(ctx___0->info + i)->pack_name);
    writelen = tmp___0 + 1UL;
    hashwrite(f, (void const   *)(ctx___0->info + i)->pack_name, (unsigned int )writelen);
    written___0 += writelen;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = (uint32_t )(4UL - written___0 % 4UL);
  if (i < 4U) {
    memset((void *)(padding___2), 0, sizeof(padding___2));
    hashwrite(f, (void const   *)(padding___2), i);
  }
  return (0);
}
}
static int write_midx_oid_fanout(struct hashfile *f , void *data )
{
  struct write_midx_context *ctx___0 ;
  struct pack_midx_entry *list___3 ;
  struct pack_midx_entry *last ;
  uint32_t count___0 ;
  uint32_t i ;
  struct pack_midx_entry *next___2 ;

  {
  ctx___0 = (struct write_midx_context *)data;
  list___3 = ctx___0->entries;
  last = ctx___0->entries + ctx___0->entries_nr;
  count___0 = (uint32_t )0;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 256U)) {
      goto while_break;
    }
    next___2 = list___3;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if ((unsigned long )next___2 < (unsigned long )last) {
        if (! ((uint32_t )next___2->oid.hash[0] == i)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      count___0 ++;
      next___2 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    hashwrite_be32(f, count___0);
    list___3 = next___2;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int write_midx_oid_lookup(struct hashfile *f , void *data )
{
  struct write_midx_context *ctx___0 ;
  unsigned char hash_len ;
  struct pack_midx_entry *list___3 ;
  uint32_t i ;
  struct pack_midx_entry *obj ;
  struct pack_midx_entry *tmp ;
  struct pack_midx_entry *next___2 ;
  char *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  ctx___0 = (struct write_midx_context *)data;
  hash_len = (unsigned char )(the_repository->hash_algo)->rawsz;
  list___3 = ctx___0->entries;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < ctx___0->entries_nr)) {
      goto while_break;
    }
    tmp = list___3;
    list___3 ++;
    obj = tmp;
    if (i < ctx___0->entries_nr - 1U) {
      next___2 = list___3;
      tmp___2 = oidcmp((struct object_id  const  *)(& obj->oid), (struct object_id  const  *)(& next___2->oid));
      if (tmp___2 >= 0) {
        tmp___0 = oid_to_hex((struct object_id  const  *)(& next___2->oid));
        tmp___1 = oid_to_hex((struct object_id  const  *)(& obj->oid));
        BUG_fl((char const   *)"midx.c", 768, (char const   *)"OIDs not in order: %s >= %s",
               tmp___1, tmp___0);
      }
    }
    hashwrite(f, (void const   *)(obj->oid.hash), (unsigned int )((int )hash_len));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int write_midx_object_offsets(struct hashfile *f , void *data )
{
  struct write_midx_context *ctx___0 ;
  struct pack_midx_entry *list___3 ;
  uint32_t i ;
  uint32_t nr_large_offset ;
  struct pack_midx_entry *obj ;
  struct pack_midx_entry *tmp ;
  char *tmp___0 ;
  uint32_t tmp___1 ;
  char *tmp___2 ;

  {
  ctx___0 = (struct write_midx_context *)data;
  list___3 = ctx___0->entries;
  nr_large_offset = (uint32_t )0;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < ctx___0->entries_nr)) {
      goto while_break;
    }
    tmp = list___3;
    list___3 ++;
    obj = tmp;
    if (*(ctx___0->pack_perm + obj->pack_int_id) == 4294967295U) {
      tmp___0 = oid_to_hex((struct object_id  const  *)(& obj->oid));
      BUG_fl((char const   *)"midx.c", 790, (char const   *)"object %s is in an expired pack with int-id %d",
             tmp___0, obj->pack_int_id);
    }
    hashwrite_be32(f, *(ctx___0->pack_perm + obj->pack_int_id));
    if (ctx___0->large_offsets_needed) {
      if (obj->offset >> 31) {
        tmp___1 = nr_large_offset;
        nr_large_offset ++;
        hashwrite_be32(f, 0x80000000 | tmp___1);
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (! ctx___0->large_offsets_needed) {
      if (obj->offset >> 32) {
        tmp___2 = oid_to_hex((struct object_id  const  *)(& obj->oid));
        BUG_fl((char const   *)"midx.c", 799, (char const   *)"object %s requires a large offset (%lx) but the MIDX is not writing large offsets!",
               tmp___2, obj->offset);
      } else {
        hashwrite_be32(f, (uint32_t )obj->offset);
      }
    } else {
      hashwrite_be32(f, (uint32_t )obj->offset);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int write_midx_large_offsets(struct hashfile *f , void *data )
{
  struct write_midx_context *ctx___0 ;
  struct pack_midx_entry *list___3 ;
  struct pack_midx_entry *end ;
  uint32_t nr_large_offset ;
  struct pack_midx_entry *obj ;
  uint64_t offset___2 ;
  struct pack_midx_entry *tmp ;

  {
  ctx___0 = (struct write_midx_context *)data;
  list___3 = ctx___0->entries;
  end = ctx___0->entries + ctx___0->entries_nr;
  nr_large_offset = ctx___0->num_large_offsets;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! nr_large_offset) {
      goto while_break;
    }
    if ((unsigned long )list___3 >= (unsigned long )end) {
      BUG_fl((char const   *)"midx.c", 820, (char const   *)"too many large-offset objects");
    }
    tmp = list___3;
    list___3 ++;
    obj = tmp;
    offset___2 = obj->offset;
    if (! (offset___2 >> 31)) {
      goto while_continue;
    }
    hashwrite_be64(f, offset___2);
    nr_large_offset --;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int midx_pack_order_cmp(void const   *va , void const   *vb )
{
  struct midx_pack_order_data  const  *a ;
  struct midx_pack_order_data  const  *b___0 ;

  {
  a = (struct midx_pack_order_data  const  *)va;
  b___0 = (struct midx_pack_order_data  const  *)vb;
  if (a->pack < b___0->pack) {
    return (-1);
  } else
  if (a->pack > b___0->pack) {
    return (1);
  } else
  if (a->offset < b___0->offset) {
    return (-1);
  } else
  if (a->offset > b___0->offset) {
    return (1);
  } else {
    return (0);
  }
}
}
static uint32_t *midx_pack_order(struct write_midx_context *ctx___0 )
{
  struct midx_pack_order_data *data ;
  uint32_t *pack_order ;
  uint32_t i ;
  size_t tmp ;
  void *tmp___0 ;
  struct pack_midx_entry *e ;
  size_t tmp___1 ;
  void *tmp___2 ;

  {
  tmp = st_mult(sizeof(*data), (size_t )ctx___0->entries_nr);
  tmp___0 = xmalloc(tmp);
  data = (struct midx_pack_order_data *)tmp___0;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < ctx___0->entries_nr)) {
      goto while_break;
    }
    e = ctx___0->entries + i;
    (data + i)->nr = i;
    (data + i)->pack = *(ctx___0->pack_perm + e->pack_int_id);
    if (! e->preferred) {
      (data + i)->pack |= 1U << 31;
    }
    (data + i)->offset = (off_t )e->offset;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  sane_qsort((void *)data, (size_t )ctx___0->entries_nr, sizeof(*data), & midx_pack_order_cmp);
  tmp___1 = st_mult(sizeof(*pack_order), (size_t )ctx___0->entries_nr);
  tmp___2 = xmalloc(tmp___1);
  pack_order = (uint32_t *)tmp___2;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < ctx___0->entries_nr)) {
      goto while_break___0;
    }
    *(pack_order + i) = (data + i)->nr;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)data);
  return (pack_order);
}
}
static void write_midx_reverse_index(char *midx_name , unsigned char *midx_hash ,
                                     struct write_midx_context *ctx___0 )
{
  struct strbuf buf___19 ;
  char const   *tmp_file___0 ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = hash_to_hex((unsigned char const   *)midx_hash);
  strbuf_addf(& buf___19, (char const   *)"%s-%s.rev", midx_name, tmp);
  tmp_file___0 = write_rev_file_order((char const   *)((void *)0), ctx___0->pack_order,
                                      ctx___0->entries_nr, (unsigned char const   *)midx_hash,
                                      4U);
  tmp___1 = finalize_object_file(tmp_file___0, (char const   *)buf___19.buf);
  if (tmp___1) {
    tmp___0 = _((char const   *)"cannot store reverse index file");
    die((char const   *)tmp___0);
  }
  strbuf_release(& buf___19);
  return;
}
}
static void clear_midx_files_ext(char const   *object_dir , char const   *ext , unsigned char *keep_hash ) ;
static int midx_checksum_valid(struct multi_pack_index *m )
{
  int tmp ;

  {
  tmp = hashfile_checksum_valid(m->data, m->data_len);
  return (tmp);
}
}
static void prepare_midx_packing_data(struct packing_data *pdata , struct write_midx_context *ctx___0 )
{
  uint32_t i ;
  struct pack_midx_entry *from___0 ;
  struct object_entry *to ;
  struct object_entry *tmp ;

  {
  memset((void *)pdata, 0, sizeof(struct packing_data ));
  prepare_packing_data(the_repository, pdata);
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < ctx___0->entries_nr)) {
      goto while_break;
    }
    from___0 = ctx___0->entries + *(ctx___0->pack_order + i);
    tmp = packlist_alloc(pdata, (struct object_id  const  *)(& from___0->oid));
    to = tmp;
    oe_set_in_pack(pdata, to, (ctx___0->info + *(ctx___0->pack_perm + from___0->pack_int_id))->p);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int add_ref_to_pending(char const   *refname , struct object_id  const  *oid ,
                              int flag , void *cb_data )
{
  struct rev_info *revs ;
  struct object *object ;
  int tmp ;

  {
  revs = (struct rev_info *)cb_data;
  if (flag & 0x01) {
    if (flag & 0x04) {
      warning((char const   *)"symbolic ref is dangling: %s", refname);
      return (0);
    }
  }
  object = parse_object_or_die(oid, refname);
  if (object->type != 1U) {
    return (0);
  }
  add_pending_object(revs, object, (char const   *)"");
  tmp = bitmap_is_preferred_refname(revs->repo, refname);
  if (tmp) {
    object->flags |= 1u << 22;
  }
  return (0);
}
}
static struct object_id  const  *bitmap_oid_access(size_t index___2 , void const   *_entries )
{
  struct pack_midx_entry  const  *entries___1 ;

  {
  entries___1 = (struct pack_midx_entry  const  *)_entries;
  return ((struct object_id  const  *)(& (entries___1 + index___2)->oid));
}
}
static void bitmap_show_commit(struct commit *commit , void *_data )
{
  struct bitmap_commit_cb *data ;
  int pos ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  size_t tmp___2 ;

  {
  data = (struct bitmap_commit_cb *)_data;
  tmp = oid_pos((struct object_id  const  *)(& commit->object.oid), (void const   *)(data->ctx)->entries,
                (size_t )(data->ctx)->entries_nr, & bitmap_oid_access);
  pos = tmp;
  if (pos < 0) {
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (data->commits_nr + 1UL > data->commits_alloc) {
      if (((data->commits_alloc + 16UL) * 3UL) / 2UL < data->commits_nr + 1UL) {
        data->commits_alloc = data->commits_nr + 1UL;
      } else {
        data->commits_alloc = ((data->commits_alloc + 16UL) * 3UL) / 2UL;
      }
      tmp___0 = st_mult(sizeof(*(data->commits)), data->commits_alloc);
      tmp___1 = xrealloc((void *)data->commits, tmp___0);
      data->commits = (struct commit **)tmp___1;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = data->commits_nr;
  (data->commits_nr) ++;
  *(data->commits + tmp___2) = commit;
  return;
}
}
static int read_refs_snapshot(char const   *refs_snapshot , struct rev_info *revs )
{
  struct strbuf buf___19 ;
  struct object_id oid ;
  FILE *f ;
  FILE *tmp ;
  struct object *object ;
  int preferred ;
  char *hex___3 ;
  char const   *end ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = xfopen(refs_snapshot, (char const   *)"r");
  f = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = strbuf_getline(& buf___19, f);
    if (! (tmp___3 != -1)) {
      goto while_break;
    }
    preferred = 0;
    hex___3 = buf___19.buf;
    end = (char const   *)((void *)0);
    if (buf___19.len) {
      if ((int )*(buf___19.buf) == 43) {
        preferred = 1;
        hex___3 = buf___19.buf + 1;
      }
    }
    tmp___1 = parse_oid_hex((char const   *)hex___3, & oid, & end);
    if (tmp___1 < 0) {
      tmp___0 = _((char const   *)"could not parse line: %s");
      die((char const   *)tmp___0, buf___19.buf);
    }
    if (*end) {
      tmp___2 = _((char const   *)"malformed line: %s");
      die((char const   *)tmp___2, buf___19.buf);
    }
    object = parse_object_or_die((struct object_id  const  *)(& oid), (char const   *)((void *)0));
    if (preferred) {
      object->flags |= 1u << 22;
    }
    add_pending_object(revs, object, (char const   *)"");
  }
  while_break: /* CIL Label */ ;
  }
  fclose(f);
  strbuf_release(& buf___19);
  return (0);
}
}
static struct commit **find_commits_for_midx_bitmap(uint32_t *indexed_commits_nr_p ,
                                                    char const   *refs_snapshot ,
                                                    struct write_midx_context *ctx___0 )
{
  struct rev_info revs ;
  struct bitmap_commit_cb cb ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  cb.commits = (struct commit **)0;
  cb.commits_nr = 0UL;
  cb.commits_alloc = 0UL;
  cb.ctx = (struct write_midx_context *)0;
  cb.ctx = ctx___0;
  repo_init_revisions(the_repository, & revs, (char const   *)((void *)0));
  if (refs_snapshot) {
    read_refs_snapshot(refs_snapshot, & revs);
  } else {
    setup_revisions(0, (char const   **)((void *)0), & revs, (struct setup_revision_opt *)((void *)0));
    for_each_ref(& add_ref_to_pending, (void *)(& revs));
  }
  fetch_if_missing = 0;
  revs.exclude_promisor_objects = 1U;
  tmp___0 = prepare_revision_walk(& revs);
  if (tmp___0) {
    tmp = _((char const   *)"revision walk setup failed");
    die((char const   *)tmp);
  }
  traverse_commit_list(& revs, & bitmap_show_commit, (void (*)(struct object * , char const   * ,
                                                               void * ))((void *)0),
                       (void *)(& cb));
  if (indexed_commits_nr_p) {
    *indexed_commits_nr_p = (uint32_t )cb.commits_nr;
  }
  return (cb.commits);
}
}
static int write_midx_bitmap(char *midx_name , unsigned char *midx_hash , struct write_midx_context *ctx___0 ,
                             char const   *refs_snapshot , unsigned int flags___0 )
{
  struct packing_data pdata ;
  struct pack_idx_entry **index___2 ;
  struct commit **commits ;
  uint32_t i ;
  uint32_t commits_nr ;
  uint16_t options ;
  char *bitmap_name ;
  char *tmp ;
  char *tmp___0 ;
  int ret___67 ;
  size_t tmp___1 ;
  void *tmp___2 ;

  {
  commits = (struct commit **)((void *)0);
  options = (uint16_t )0;
  tmp = hash_to_hex((unsigned char const   *)midx_hash);
  tmp___0 = xstrfmt((char const   *)"%s-%s.bitmap", midx_name, tmp);
  bitmap_name = tmp___0;
  if (flags___0 & (unsigned int )(1 << 3)) {
    options = (uint16_t )((int )options | 4);
  }
  prepare_midx_packing_data(& pdata, ctx___0);
  commits = find_commits_for_midx_bitmap(& commits_nr, refs_snapshot, ctx___0);
  tmp___1 = st_mult(sizeof(*index___2), (size_t )pdata.nr_objects);
  tmp___2 = xmalloc(tmp___1);
  index___2 = (struct pack_idx_entry **)tmp___2;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < pdata.nr_objects)) {
      goto while_break;
    }
    *(index___2 + i) = & (pdata.objects + i)->idx;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  bitmap_writer_show_progress((int )(flags___0 & 1U));
  bitmap_writer_build_type_index(& pdata, index___2, pdata.nr_objects);
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < pdata.nr_objects)) {
      goto while_break___0;
    }
    *(index___2 + *(ctx___0->pack_order + i)) = & (pdata.objects + i)->idx;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  bitmap_writer_select_commits(commits, commits_nr, -1);
  ret___67 = bitmap_writer_build(& pdata);
  if (ret___67 < 0) {
    goto cleanup;
  }
  bitmap_writer_set_checksum(midx_hash);
  bitmap_writer_finish(index___2, pdata.nr_objects, (char const   *)bitmap_name, options);
  cleanup:
  free((void *)index___2);
  free((void *)bitmap_name);
  return (ret___67);
}
}
static struct multi_pack_index *lookup_multi_pack_index(struct repository *r , char const   *object_dir )
{
  struct multi_pack_index *cur ;
  int tmp ;

  {
  find_odb(r, object_dir);
  cur = get_multi_pack_index(r);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! cur) {
      goto while_break;
    }
    tmp = strcmp(object_dir, (char const   *)(cur->object_dir));
    if (! tmp) {
      return (cur);
    }
    cur = cur->next;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct multi_pack_index *)((void *)0));
}
}
static int write_midx_internal(char const   *object_dir , struct string_list *packs_to_include ,
                               struct string_list *packs_to_drop , char const   *preferred_pack_name ,
                               char const   *refs_snapshot , unsigned int flags___0 )
{
  struct strbuf midx_name ;
  unsigned char midx_hash[32] ;
  uint32_t i ;
  struct hashfile *f ;
  struct lock_file lk ;
  struct write_midx_context ctx___0 ;
  int pack_name_concat_len ;
  int dropped_packs ;
  int result___0 ;
  struct chunkfile *cf___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  enum scld_error tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  struct bitmap_index *bitmap_git___0 ;
  int bitmap_exists ;
  int want_bitmap ;
  int tmp___12 ;
  int tmp___13 ;
  int found ;
  int tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  struct packed_git *oldest ;
  struct packed_git *p___0 ;
  struct packed_git *preferred ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  int drop_index ;
  int missing_drops ;
  int cmp___0 ;
  int tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  size_t tmp___19 ;
  void *tmp___20 ;
  size_t tmp___21 ;
  struct pack_info *preferred___0 ;
  void *tmp___22 ;
  uint32_t perm ;
  char const __attribute__((__format_arg__(1)))  *tmp___23 ;
  char const   *tmp___24 ;
  int tmp___25 ;
  char const __attribute__((__format_arg__(1)))  *tmp___26 ;
  int tmp___27 ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  int tmp___29 ;
  char const __attribute__((__format_arg__(1)))  *tmp___30 ;
  int tmp___31 ;

  {
  midx_name.alloc = 0UL;
  midx_name.len = 0UL;
  midx_name.buf = strbuf_slopbuf;
  f = (struct hashfile *)((void *)0);
  ctx___0.info = (struct pack_info *)0;
  ctx___0.nr = 0U;
  ctx___0.alloc = 0U;
  ctx___0.m = (struct multi_pack_index *)0;
  ctx___0.progress = (struct progress *)0;
  ctx___0.pack_paths_checked = 0U;
  ctx___0.entries = (struct pack_midx_entry *)0;
  ctx___0.entries_nr = 0U;
  ctx___0.pack_perm = (uint32_t *)0;
  ctx___0.pack_order = (uint32_t *)0;
  ctx___0.large_offsets_needed = 0U;
  ctx___0.num_large_offsets = 0U;
  ctx___0.preferred_pack_idx = 0;
  ctx___0.to_include = (struct string_list *)0;
  pack_name_concat_len = 0;
  dropped_packs = 0;
  result___0 = 0;
  get_midx_filename(& midx_name, object_dir);
  tmp___0 = safe_create_leading_directories(midx_name.buf);
  if (tmp___0) {
    tmp = _((char const   *)"unable to create leading directories of %s");
    die_errno((char const   *)tmp, midx_name.buf);
  }
  if (! packs_to_include) {
    ctx___0.m = lookup_multi_pack_index(the_repository, object_dir);
  }
  if (ctx___0.m) {
    tmp___2 = midx_checksum_valid(ctx___0.m);
    if (! tmp___2) {
      tmp___1 = _((char const   *)"ignoring existing multi-pack-index; checksum mismatch");
      warning((char const   *)tmp___1);
      ctx___0.m = (struct multi_pack_index *)((void *)0);
    }
  }
  ctx___0.nr = (uint32_t )0;
  if (ctx___0.m) {
    ctx___0.alloc = (ctx___0.m)->num_packs;
  } else {
    ctx___0.alloc = (uint32_t )16;
  }
  ctx___0.info = (struct pack_info *)((void *)0);
  tmp___3 = st_mult(sizeof(*(ctx___0.info)), (size_t )ctx___0.alloc);
  tmp___4 = xmalloc(tmp___3);
  ctx___0.info = (struct pack_info *)tmp___4;
  if (ctx___0.m) {
    i = (uint32_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < (ctx___0.m)->num_packs)) {
        goto while_break;
      }
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (ctx___0.nr + 1U > ctx___0.alloc) {
          if (((ctx___0.alloc + 16U) * 3U) / 2U < ctx___0.nr + 1U) {
            ctx___0.alloc = ctx___0.nr + 1U;
          } else {
            ctx___0.alloc = ((ctx___0.alloc + 16U) * 3U) / 2U;
          }
          tmp___5 = st_mult(sizeof(*(ctx___0.info)), (size_t )ctx___0.alloc);
          tmp___6 = xrealloc((void *)ctx___0.info, tmp___5);
          ctx___0.info = (struct pack_info *)tmp___6;
        }
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
      (ctx___0.info + ctx___0.nr)->orig_pack_int_id = i;
      (ctx___0.info + ctx___0.nr)->pack_name = xstrdup(*((ctx___0.m)->pack_names + i));
      (ctx___0.info + ctx___0.nr)->p = *((ctx___0.m)->packs + i);
      (ctx___0.info + ctx___0.nr)->expired = 0U;
      if (flags___0 & (unsigned int )(1 << 1)) {
        tmp___8 = prepare_midx_pack(the_repository, ctx___0.m, i);
        if (tmp___8) {
          tmp___7 = _((char const   *)"could not load pack");
          error((char const   *)tmp___7);
          const_error();
          result___0 = 1;
          goto cleanup;
        }
        tmp___10 = open_pack_index(*((ctx___0.m)->packs + i));
        if (tmp___10) {
          tmp___9 = _((char const   *)"could not open index for %s");
          die((char const   *)tmp___9, (*((ctx___0.m)->packs + i))->pack_name);
        }
        (ctx___0.info + ctx___0.nr)->p = *((ctx___0.m)->packs + i);
      }
      (ctx___0.nr) ++;
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  ctx___0.pack_paths_checked = 0U;
  if (flags___0 & 1U) {
    tmp___11 = _((char const   *)"Adding packfiles to multi-pack-index");
    ctx___0.progress = start_delayed_progress((char const   *)tmp___11, (uint64_t )0);
  } else {
    ctx___0.progress = (struct progress *)((void *)0);
  }
  ctx___0.to_include = packs_to_include;
  for_each_file_in_pack_dir(object_dir, & add_pack_to_midx, (void *)(& ctx___0));
  stop_progress(& ctx___0.progress);
  if (ctx___0.m) {
    if (ctx___0.nr == (ctx___0.m)->num_packs) {
      if (! packs_to_include) {
        if (! packs_to_drop) {
          want_bitmap = (int )(flags___0 & (unsigned int )(1 << 2));
          bitmap_git___0 = prepare_midx_bitmap_git(ctx___0.m);
          if (bitmap_git___0) {
            tmp___12 = bitmap_is_midx(bitmap_git___0);
            if (tmp___12) {
              tmp___13 = 1;
            } else {
              tmp___13 = 0;
            }
          } else {
            tmp___13 = 0;
          }
          bitmap_exists = tmp___13;
          free_bitmap_index(bitmap_git___0);
          if (bitmap_exists) {
            goto _L;
          } else
          if (! want_bitmap) {
            _L: /* CIL Label */
            if (! want_bitmap) {
              clear_midx_files_ext(object_dir, (char const   *)".bitmap", (unsigned char *)((void *)0));
            }
            goto cleanup;
          }
        }
      }
    }
  }
  if (preferred_pack_name) {
    found = 0;
    i = (uint32_t )0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < ctx___0.nr)) {
        goto while_break___1;
      }
      tmp___14 = cmp_idx_or_pack_name(preferred_pack_name, (char const   *)(ctx___0.info + i)->pack_name);
      if (! tmp___14) {
        ctx___0.preferred_pack_idx = (int )i;
        found = 1;
        goto while_break___1;
      }
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (! found) {
      tmp___15 = _((char const   *)"unknown preferred pack: \'%s\'");
      warning((char const   *)tmp___15, preferred_pack_name);
    }
  } else
  if (ctx___0.nr) {
    if (flags___0 & (unsigned int )((1 << 1) | (1 << 2))) {
      oldest = (ctx___0.info + ctx___0.preferred_pack_idx)->p;
      ctx___0.preferred_pack_idx = 0;
      if (packs_to_drop) {
        if (packs_to_drop->nr) {
          BUG_fl((char const   *)"midx.c", 1255, (char const   *)"cannot write a MIDX bitmap during expiration");
        }
      }
      i = (uint32_t )1;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (! (i < ctx___0.nr)) {
          goto while_break___2;
        }
        p___0 = (ctx___0.info + i)->p;
        if (! oldest->num_objects) {
          oldest = p___0;
          ctx___0.preferred_pack_idx = (int )i;
        } else
        if (p___0->mtime < oldest->mtime) {
          oldest = p___0;
          ctx___0.preferred_pack_idx = (int )i;
        }
        i ++;
      }
      while_break___2: /* CIL Label */ ;
      }
      if (! oldest->num_objects) {
        ctx___0.preferred_pack_idx = -1;
      }
    } else {
      ctx___0.preferred_pack_idx = -1;
    }
  } else {
    ctx___0.preferred_pack_idx = -1;
  }
  if (ctx___0.preferred_pack_idx > -1) {
    preferred = (ctx___0.info + ctx___0.preferred_pack_idx)->p;
    if (! preferred->num_objects) {
      tmp___16 = _((char const   *)"cannot select preferred pack %s with no objects");
      error((char const   *)tmp___16, preferred->pack_name);
      const_error();
      result___0 = 1;
      goto cleanup;
    }
  }
  ctx___0.entries = get_sorted_entries(ctx___0.m, ctx___0.info, ctx___0.nr, & ctx___0.entries_nr,
                                       ctx___0.preferred_pack_idx);
  ctx___0.large_offsets_needed = 0U;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! (i < ctx___0.entries_nr)) {
      goto while_break___3;
    }
    if ((ctx___0.entries + i)->offset > 2147483647UL) {
      (ctx___0.num_large_offsets) ++;
    }
    if ((ctx___0.entries + i)->offset > 4294967295UL) {
      ctx___0.large_offsets_needed = 1U;
    }
    i ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  sane_qsort((void *)ctx___0.info, (size_t )ctx___0.nr, sizeof(*(ctx___0.info)), & pack_info_compare);
  if (packs_to_drop) {
    if (packs_to_drop->nr) {
      drop_index = 0;
      missing_drops = 0;
      i = (uint32_t )0;
      {
      while (1) {
        while_continue___4: /* CIL Label */ ;
        if (i < ctx___0.nr) {
          if (! ((unsigned int )drop_index < packs_to_drop->nr)) {
            goto while_break___4;
          }
        } else {
          goto while_break___4;
        }
        tmp___17 = strcmp((char const   *)(ctx___0.info + i)->pack_name, (char const   *)(packs_to_drop->items + drop_index)->string);
        cmp___0 = tmp___17;
        if (! cmp___0) {
          drop_index ++;
          (ctx___0.info + i)->expired = 1U;
        } else
        if (cmp___0 > 0) {
          tmp___18 = _((char const   *)"did not see pack-file %s to drop");
          error((char const   *)tmp___18, (packs_to_drop->items + drop_index)->string);
          const_error();
          drop_index ++;
          missing_drops ++;
          i --;
        } else {
          (ctx___0.info + i)->expired = 0U;
        }
        i ++;
      }
      while_break___4: /* CIL Label */ ;
      }
      if (missing_drops) {
        result___0 = 1;
        goto cleanup;
      }
    }
  }
  tmp___19 = st_mult(sizeof(*(ctx___0.pack_perm)), (size_t )ctx___0.nr);
  tmp___20 = xmalloc(tmp___19);
  ctx___0.pack_perm = (uint32_t *)tmp___20;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___5: /* CIL Label */ ;
    if (! (i < ctx___0.nr)) {
      goto while_break___5;
    }
    if ((ctx___0.info + i)->expired) {
      dropped_packs ++;
      *(ctx___0.pack_perm + (ctx___0.info + i)->orig_pack_int_id) = 4294967295U;
    } else {
      *(ctx___0.pack_perm + (ctx___0.info + i)->orig_pack_int_id) = i - (uint32_t )dropped_packs;
    }
    i ++;
  }
  while_break___5: /* CIL Label */ ;
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___6: /* CIL Label */ ;
    if (! (i < ctx___0.nr)) {
      goto while_break___6;
    }
    if (! (ctx___0.info + i)->expired) {
      tmp___21 = strlen((char const   *)(ctx___0.info + i)->pack_name);
      pack_name_concat_len = (int )((size_t )pack_name_concat_len + (tmp___21 + 1UL));
    }
    i ++;
  }
  while_break___6: /* CIL Label */ ;
  }
  if (preferred_pack_name) {
    tmp___22 = bsearch((void const   *)preferred_pack_name, (void const   *)ctx___0.info,
                       (size_t )ctx___0.nr, sizeof(*(ctx___0.info)), & idx_or_pack_name_cmp);
    preferred___0 = (struct pack_info *)tmp___22;
    if (preferred___0) {
      perm = *(ctx___0.pack_perm + preferred___0->orig_pack_int_id);
      if (perm == 4294967295U) {
        tmp___23 = _((char const   *)"preferred pack \'%s\' is expired");
        warning((char const   *)tmp___23, preferred_pack_name);
      }
    }
  }
  if (pack_name_concat_len % 4) {
    pack_name_concat_len += 4 - pack_name_concat_len % 4;
  }
  hold_lock_file_for_update(& lk, (char const   *)midx_name.buf, 1);
  tmp___24 = get_lock_file_path(& lk);
  tmp___25 = get_lock_file_fd(& lk);
  f = hashfd(tmp___25, tmp___24);
  if (ctx___0.nr - (uint32_t )dropped_packs == 0U) {
    tmp___26 = _((char const   *)"no pack files to index.");
    error((char const   *)tmp___26);
    const_error();
    result___0 = 1;
    goto cleanup;
  }
  cf___0 = init_chunkfile(f);
  add_chunk(cf___0, (uint32_t )0x504e414d, (size_t )pack_name_concat_len, & write_midx_pack_names);
  add_chunk(cf___0, (uint32_t )0x4f494446, sizeof(uint32_t ) * 256UL, & write_midx_oid_fanout);
  add_chunk(cf___0, (uint32_t )0x4f49444c, (size_t )ctx___0.entries_nr * (size_t )(the_repository->hash_algo)->rawsz,
            & write_midx_oid_lookup);
  add_chunk(cf___0, (uint32_t )0x4f4f4646, (size_t )ctx___0.entries_nr * (2UL * sizeof(uint32_t )),
            & write_midx_object_offsets);
  if (ctx___0.large_offsets_needed) {
    add_chunk(cf___0, (uint32_t )0x4c4f4646, (size_t )ctx___0.num_large_offsets * sizeof(uint64_t ),
              & write_midx_large_offsets);
  }
  tmp___27 = get_num_chunks(cf___0);
  write_midx_header(f, (unsigned char )tmp___27, ctx___0.nr - (uint32_t )dropped_packs);
  write_chunkfile(cf___0, (void *)(& ctx___0));
  finalize_hashfile(f, midx_hash, 6U);
  free_chunkfile(cf___0);
  if (flags___0 & (unsigned int )((1 << 1) | (1 << 2))) {
    ctx___0.pack_order = midx_pack_order(& ctx___0);
  }
  if (flags___0 & (unsigned int )(1 << 1)) {
    write_midx_reverse_index(midx_name.buf, midx_hash, & ctx___0);
  }
  if (flags___0 & (unsigned int )(1 << 2)) {
    tmp___29 = write_midx_bitmap(midx_name.buf, midx_hash, & ctx___0, refs_snapshot,
                                 flags___0);
    if (tmp___29 < 0) {
      tmp___28 = _((char const   *)"could not write multi-pack bitmap");
      error((char const   *)tmp___28);
      const_error();
      result___0 = 1;
      goto cleanup;
    }
  }
  if (ctx___0.m) {
    close_object_store(the_repository->objects);
  }
  tmp___31 = commit_lock_file(& lk);
  if (tmp___31 < 0) {
    tmp___30 = _((char const   *)"could not write multi-pack-index");
    die_errno((char const   *)tmp___30);
  }
  clear_midx_files_ext(object_dir, (char const   *)".bitmap", midx_hash);
  clear_midx_files_ext(object_dir, (char const   *)".rev", midx_hash);
  cleanup:
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___7: /* CIL Label */ ;
    if (! (i < ctx___0.nr)) {
      goto while_break___7;
    }
    if ((ctx___0.info + i)->p) {
      close_pack((ctx___0.info + i)->p);
      free((void *)(ctx___0.info + i)->p);
    }
    free((void *)(ctx___0.info + i)->pack_name);
    i ++;
  }
  while_break___7: /* CIL Label */ ;
  }
  free((void *)ctx___0.info);
  free((void *)ctx___0.entries);
  free((void *)ctx___0.pack_perm);
  free((void *)ctx___0.pack_order);
  strbuf_release(& midx_name);
  return (result___0);
}
}
int write_midx_file(char const   *object_dir , char const   *preferred_pack_name ,
                    char const   *refs_snapshot , unsigned int flags___0 )
{
  int tmp ;

  {
  tmp = write_midx_internal(object_dir, (struct string_list *)((void *)0), (struct string_list *)((void *)0),
                            preferred_pack_name, refs_snapshot, flags___0);
  return (tmp);
}
}
int write_midx_file_only(char const   *object_dir , struct string_list *packs_to_include ,
                         char const   *preferred_pack_name , char const   *refs_snapshot ,
                         unsigned int flags___0 )
{
  int tmp ;

  {
  tmp = write_midx_internal(object_dir, packs_to_include, (struct string_list *)((void *)0),
                            preferred_pack_name, refs_snapshot, flags___0);
  return (tmp);
}
}
static void clear_midx_file_ext(char const   *full_path , size_t full_path_len , char const   *file_name ,
                                void *_data )
{
  struct clear_midx_data *data ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  data = (struct clear_midx_data *)_data;
  tmp = starts_with(file_name, (char const   *)"multi-pack-index-");
  if (tmp) {
    tmp___0 = ends_with(file_name, data->ext);
    if (! tmp___0) {
      return;
    }
  } else {
    return;
  }
  if (data->keep) {
    tmp___1 = strcmp((char const   *)data->keep, file_name);
    if (! tmp___1) {
      return;
    }
  }
  tmp___3 = unlink(full_path);
  if (tmp___3) {
    tmp___2 = _((char const   *)"failed to remove %s");
    die_errno((char const   *)tmp___2, full_path);
  }
  return;
}
}
static void clear_midx_files_ext(char const   *object_dir , char const   *ext , unsigned char *keep_hash )
{
  struct clear_midx_data data ;
  char *tmp ;

  {
  memset((void *)(& data), 0, sizeof(struct clear_midx_data ));
  if (keep_hash) {
    tmp = hash_to_hex((unsigned char const   *)keep_hash);
    data.keep = xstrfmt((char const   *)"multi-pack-index-%s%s", tmp, ext);
  }
  data.ext = ext;
  for_each_file_in_pack_dir(object_dir, & clear_midx_file_ext, (void *)(& data));
  free((void *)data.keep);
  return;
}
}
void clear_midx_file(struct repository *r )
{
  struct strbuf midx ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  midx.alloc = 0UL;
  midx.len = 0UL;
  midx.buf = strbuf_slopbuf;
  get_midx_filename(& midx, (char const   *)((r->objects)->odb)->path);
  if (r->objects) {
    if ((r->objects)->multi_pack_index) {
      close_midx((r->objects)->multi_pack_index);
      (r->objects)->multi_pack_index = (struct multi_pack_index *)((void *)0);
    }
  }
  tmp___0 = remove_path((char const   *)midx.buf);
  if (tmp___0) {
    tmp = _((char const   *)"failed to clear multi-pack-index at %s");
    die((char const   *)tmp, midx.buf);
  }
  clear_midx_files_ext((char const   *)((r->objects)->odb)->path, (char const   *)".bitmap",
                       (unsigned char *)((void *)0));
  clear_midx_files_ext((char const   *)((r->objects)->odb)->path, (char const   *)".rev",
                       (unsigned char *)((void *)0));
  strbuf_release(& midx);
  return;
}
}
static int verify_midx_error  ;
static void ( /* format attribute */  midx_report)(char const   *fmt  , ...)
{
  va_list ap ;

  {
  verify_midx_error = 1;
  __builtin_va_start(ap, fmt);
  vfprintf(stderr, fmt, ap);
  fprintf(stderr, (char const   *)"\n");
  __builtin_va_end(ap);
  return;
}
}
static int compare_pair_pos_vs_id(void const   *_a , void const   *_b )
{
  struct pair_pos_vs_id *a ;
  struct pair_pos_vs_id *b___0 ;

  {
  a = (struct pair_pos_vs_id *)_a;
  b___0 = (struct pair_pos_vs_id *)_b;
  return ((int )(b___0->pack_int_id - a->pack_int_id));
}
}
int verify_midx_file(struct repository *r , char const   *object_dir , unsigned int flags___0 )
{
  struct pair_pos_vs_id *pairs ;
  uint32_t i ;
  struct progress *progress___7 ;
  struct multi_pack_index *m ;
  struct multi_pack_index *tmp ;
  int result___0 ;
  struct stat sb___6 ;
  struct strbuf filename___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  uint32_t oid_fanout1 ;
  uint32_t tmp___6 ;
  uint32_t oid_fanout2 ;
  uint32_t tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  struct object_id oid1 ;
  struct object_id oid2 ;
  char *tmp___11 ;
  char *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;
  uint64_t _n ;
  size_t tmp___15 ;
  void *tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  struct object_id oid ;
  struct pack_entry e ;
  off_t m_offset ;
  off_t p_offset ;
  char *tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  int tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  int tmp___23 ;
  char *tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  uint64_t _n___0 ;

  {
  pairs = (struct pair_pos_vs_id *)((void *)0);
  progress___7 = (struct progress *)((void *)0);
  tmp = load_multi_pack_index(object_dir, 1);
  m = tmp;
  verify_midx_error = 0;
  if (! m) {
    result___0 = 0;
    filename___0.alloc = 0UL;
    filename___0.len = 0UL;
    filename___0.buf = strbuf_slopbuf;
    get_midx_filename(& filename___0, object_dir);
    tmp___1 = stat((char const   *)filename___0.buf, & sb___6);
    if (! tmp___1) {
      tmp___0 = _((char const   *)"multi-pack-index file exists, but failed to parse");
      error((char const   *)tmp___0);
      const_error();
      result___0 = 1;
    }
    strbuf_release(& filename___0);
    return (result___0);
  }
  tmp___3 = midx_checksum_valid(m);
  if (! tmp___3) {
    tmp___2 = _((char const   *)"incorrect checksum");
    midx_report((char const   *)tmp___2);
  }
  if (flags___0 & 1U) {
    tmp___4 = _((char const   *)"Looking for referenced packfiles");
    progress___7 = start_delayed_progress((char const   *)tmp___4, (uint64_t )m->num_packs);
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < m->num_packs)) {
      goto while_break;
    }
    tmp___5 = prepare_midx_pack(r, m, i);
    if (tmp___5) {
      midx_report((char const   *)"failed to load pack in position %d", i);
    }
    display_progress(progress___7, (uint64_t )(i + 1U));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  stop_progress(& progress___7);
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < 255U)) {
      goto while_break___0;
    }
    tmp___6 = git_bswap32((uint32_t )*(m->chunk_oid_fanout + i));
    oid_fanout1 = tmp___6;
    tmp___7 = git_bswap32((uint32_t )*(m->chunk_oid_fanout + (i + 1U)));
    oid_fanout2 = tmp___7;
    if (oid_fanout1 > oid_fanout2) {
      tmp___8 = _((char const   *)"oid fanout out of order: fanout[%d] = %x > %x = fanout[%d]");
      midx_report((char const   *)tmp___8, i, oid_fanout1, oid_fanout2, i + 1U);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (m->num_objects == 0U) {
    tmp___9 = _((char const   *)"the midx contains no oid");
    midx_report((char const   *)tmp___9);
    goto cleanup;
  }
  if (flags___0 & 1U) {
    tmp___10 = _((char const   *)"Verifying OID order in multi-pack-index");
    progress___7 = start_sparse_progress((char const   *)tmp___10, (uint64_t )(m->num_objects - 1U));
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < m->num_objects - 1U)) {
      goto while_break___1;
    }
    nth_midxed_object_oid(& oid1, m, i);
    nth_midxed_object_oid(& oid2, m, i + 1U);
    tmp___14 = oidcmp((struct object_id  const  *)(& oid1), (struct object_id  const  *)(& oid2));
    if (tmp___14 >= 0) {
      tmp___11 = oid_to_hex((struct object_id  const  *)(& oid2));
      tmp___12 = oid_to_hex((struct object_id  const  *)(& oid1));
      tmp___13 = _((char const   *)"oid lookup out of order: oid[%d] = %s >= %s = oid[%d]");
      midx_report((char const   *)tmp___13, i, tmp___12, tmp___11, i + 1U);
    }
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      _n = (uint64_t )(i + 1U);
      if ((_n & (unsigned long )((1 << 12) - 1)) == 0UL) {
        display_progress(progress___7, _n);
      }
      goto while_break___2;
    }
    while_break___2: /* CIL Label */ ;
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  stop_progress(& progress___7);
  tmp___15 = st_mult(sizeof(*pairs), (size_t )m->num_objects);
  tmp___16 = xmalloc(tmp___15);
  pairs = (struct pair_pos_vs_id *)tmp___16;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! (i < m->num_objects)) {
      goto while_break___3;
    }
    (pairs + i)->pos = i;
    (pairs + i)->pack_int_id = nth_midxed_pack_int_id(m, i);
    i ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  if (flags___0 & 1U) {
    tmp___17 = _((char const   *)"Sorting objects by packfile");
    progress___7 = start_sparse_progress((char const   *)tmp___17, (uint64_t )m->num_objects);
  }
  display_progress(progress___7, (uint64_t )0);
  sane_qsort((void *)pairs, (size_t )m->num_objects, sizeof(*pairs), & compare_pair_pos_vs_id);
  stop_progress(& progress___7);
  if (flags___0 & 1U) {
    tmp___18 = _((char const   *)"Verifying object offsets");
    progress___7 = start_sparse_progress((char const   *)tmp___18, (uint64_t )m->num_objects);
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! (i < m->num_objects)) {
      goto while_break___4;
    }
    if (i > 0U) {
      if ((pairs + (i - 1U))->pack_int_id != (pairs + i)->pack_int_id) {
        if (*(m->packs + (pairs + (i - 1U))->pack_int_id)) {
          close_pack_fd(*(m->packs + (pairs + (i - 1U))->pack_int_id));
          close_pack_index(*(m->packs + (pairs + (i - 1U))->pack_int_id));
        }
      }
    }
    nth_midxed_object_oid(& oid, m, (pairs + i)->pos);
    tmp___21 = fill_midx_entry(r, (struct object_id  const  *)(& oid), & e, m);
    if (! tmp___21) {
      tmp___19 = oid_to_hex((struct object_id  const  *)(& oid));
      tmp___20 = _((char const   *)"failed to load pack entry for oid[%d] = %s");
      midx_report((char const   *)tmp___20, (pairs + i)->pos, tmp___19);
      goto __Cont;
    }
    tmp___23 = open_pack_index(e.p);
    if (tmp___23) {
      tmp___22 = _((char const   *)"failed to load pack-index for packfile %s");
      midx_report((char const   *)tmp___22, (e.p)->pack_name);
      goto while_break___4;
    }
    m_offset = e.offset;
    p_offset = find_pack_entry_one((unsigned char const   *)(oid.hash), e.p);
    if (m_offset != p_offset) {
      tmp___24 = oid_to_hex((struct object_id  const  *)(& oid));
      tmp___25 = _((char const   *)"incorrect object offset for oid[%d] = %s: %lx != %lx");
      midx_report((char const   *)tmp___25, (pairs + i)->pos, tmp___24, m_offset,
                  p_offset);
    }
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      _n___0 = (uint64_t )(i + 1U);
      if ((_n___0 & (unsigned long )((1 << 12) - 1)) == 0UL) {
        display_progress(progress___7, _n___0);
      }
      goto while_break___5;
    }
    while_break___5: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___4: /* CIL Label */ ;
  }
  stop_progress(& progress___7);
  cleanup:
  free((void *)pairs);
  close_midx(m);
  return (verify_midx_error);
}
}
int expire_midx_packs(struct repository *r , char const   *object_dir , unsigned int flags___0 )
{
  uint32_t i ;
  uint32_t *count___0 ;
  uint32_t result___0 ;
  struct string_list packs_to_drop ;
  struct multi_pack_index *m ;
  struct multi_pack_index *tmp ;
  struct progress *progress___7 ;
  void *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int pack_int_id ;
  uint32_t tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char *pack_name ;
  int tmp___4 ;
  int tmp___5 ;

  {
  result___0 = (uint32_t )0;
  packs_to_drop.items = (struct string_list_item *)0;
  packs_to_drop.nr = 0U;
  packs_to_drop.alloc = 0U;
  packs_to_drop.strdup_strings = 1U;
  packs_to_drop.cmp = (int (*)(char const   * , char const   * ))0;
  tmp = lookup_multi_pack_index(r, object_dir);
  m = tmp;
  progress___7 = (struct progress *)((void *)0);
  if (! m) {
    return (0);
  }
  tmp___0 = xcalloc((size_t )m->num_packs, sizeof(*count___0));
  count___0 = (uint32_t *)tmp___0;
  if (flags___0 & 1U) {
    tmp___1 = _((char const   *)"Counting referenced objects");
    progress___7 = start_delayed_progress((char const   *)tmp___1, (uint64_t )m->num_objects);
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < m->num_objects)) {
      goto while_break;
    }
    tmp___2 = nth_midxed_pack_int_id(m, i);
    pack_int_id = (int )tmp___2;
    (*(count___0 + pack_int_id)) ++;
    display_progress(progress___7, (uint64_t )(i + 1U));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  stop_progress(& progress___7);
  if (flags___0 & 1U) {
    tmp___3 = _((char const   *)"Finding and deleting unreferenced packfiles");
    progress___7 = start_delayed_progress((char const   *)tmp___3, (uint64_t )m->num_packs);
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < m->num_packs)) {
      goto while_break___0;
    }
    display_progress(progress___7, (uint64_t )(i + 1U));
    if (*(count___0 + i)) {
      goto __Cont;
    }
    tmp___4 = prepare_midx_pack(r, m, i);
    if (tmp___4) {
      goto __Cont;
    }
    if ((*(m->packs + i))->pack_keep) {
      goto __Cont;
    }
    pack_name = xstrdup((char const   *)((*(m->packs + i))->pack_name));
    close_pack(*(m->packs + i));
    string_list_insert(& packs_to_drop, *(m->pack_names + i));
    unlink_pack_path((char const   *)pack_name, 0);
    free((void *)pack_name);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  stop_progress(& progress___7);
  free((void *)count___0);
  if (packs_to_drop.nr) {
    tmp___5 = write_midx_internal(object_dir, (struct string_list *)((void *)0), & packs_to_drop,
                                  (char const   *)((void *)0), (char const   *)((void *)0),
                                  flags___0);
    result___0 = (uint32_t )tmp___5;
  }
  string_list_clear(& packs_to_drop, 0);
  return ((int )result___0);
}
}
static int compare_by_mtime(void const   *a_ , void const   *b_ )
{
  struct repack_info  const  *a ;
  struct repack_info  const  *b___0 ;

  {
  a = (struct repack_info  const  *)a_;
  b___0 = (struct repack_info  const  *)b_;
  if (a->mtime < b___0->mtime) {
    return (-1);
  }
  if (a->mtime > b___0->mtime) {
    return (1);
  }
  return (0);
}
}
static int fill_included_packs_all(struct repository *r , struct multi_pack_index *m ,
                                   unsigned char *include_pack )
{
  uint32_t i ;
  uint32_t count___0 ;
  int pack_kept_objects___0 ;
  int tmp ;

  {
  count___0 = (uint32_t )0;
  pack_kept_objects___0 = 0;
  repo_config_get_bool(r, (char const   *)"repack.packkeptobjects", & pack_kept_objects___0);
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < m->num_packs)) {
      goto while_break;
    }
    tmp = prepare_midx_pack(r, m, i);
    if (tmp) {
      goto __Cont;
    }
    if (! pack_kept_objects___0) {
      if ((*(m->packs + i))->pack_keep) {
        goto __Cont;
      }
    }
    *(include_pack + i) = (unsigned char)1;
    count___0 ++;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (count___0 < 2U);
}
}
static int fill_included_packs_batch(struct repository *r , struct multi_pack_index *m ,
                                     unsigned char *include_pack , size_t batch_size )
{
  uint32_t i ;
  uint32_t packs_to_repack ;
  size_t total_size ;
  struct repack_info *pack_info ;
  void *tmp ;
  int pack_kept_objects___0 ;
  int tmp___0 ;
  uint32_t pack_int_id ;
  uint32_t tmp___1 ;
  int pack_int_id___0 ;
  struct packed_git *p___0 ;
  size_t expected_size ;
  int tmp___2 ;

  {
  tmp = xcalloc((size_t )m->num_packs, sizeof(struct repack_info ));
  pack_info = (struct repack_info *)tmp;
  pack_kept_objects___0 = 0;
  repo_config_get_bool(r, (char const   *)"repack.packkeptobjects", & pack_kept_objects___0);
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < m->num_packs)) {
      goto while_break;
    }
    (pack_info + i)->pack_int_id = i;
    tmp___0 = prepare_midx_pack(r, m, i);
    if (tmp___0) {
      goto __Cont;
    }
    (pack_info + i)->mtime = (timestamp_t )(*(m->packs + i))->mtime;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (batch_size) {
      if (! (i < m->num_objects)) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    tmp___1 = nth_midxed_pack_int_id(m, i);
    pack_int_id = tmp___1;
    ((pack_info + pack_int_id)->referenced_objects) ++;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  sane_qsort((void *)pack_info, (size_t )m->num_packs, sizeof(*pack_info), & compare_by_mtime);
  total_size = (size_t )0;
  packs_to_repack = (uint32_t )0;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (total_size < batch_size) {
      if (! (i < m->num_packs)) {
        goto while_break___1;
      }
    } else {
      goto while_break___1;
    }
    pack_int_id___0 = (int )(pack_info + i)->pack_int_id;
    p___0 = *(m->packs + pack_int_id___0);
    if (! p___0) {
      goto __Cont___0;
    }
    if (! pack_kept_objects___0) {
      if (p___0->pack_keep) {
        goto __Cont___0;
      }
    }
    tmp___2 = open_pack_index(p___0);
    if (tmp___2) {
      goto __Cont___0;
    } else
    if (! p___0->num_objects) {
      goto __Cont___0;
    }
    expected_size = (size_t )(p___0->pack_size * (off_t )(pack_info + i)->referenced_objects);
    expected_size /= (size_t )p___0->num_objects;
    if (expected_size >= batch_size) {
      goto __Cont___0;
    }
    packs_to_repack ++;
    total_size += expected_size;
    *(include_pack + pack_int_id___0) = (unsigned char)1;
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  free((void *)pack_info);
  if (packs_to_repack < 2U) {
    return (1);
  }
  return (0);
}
}
int midx_repack(struct repository *r , char const   *object_dir , size_t batch_size ,
                unsigned int flags___0 )
{
  int result___0 ;
  uint32_t i ;
  unsigned char *include_pack ;
  struct child_process cmd ;
  FILE *cmd_in ;
  struct strbuf base_name___0 ;
  struct multi_pack_index *m ;
  struct multi_pack_index *tmp ;
  int delta_base_offset___0 ;
  int use_delta_islands___1 ;
  void *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  struct object_id oid ;
  uint32_t pack_int_id ;
  uint32_t tmp___5 ;
  char *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;

  {
  result___0 = 0;
  cmd.args.v = empty_strvec;
  cmd.args.nr = 0UL;
  cmd.args.alloc = 0UL;
  cmd.env_array.v = empty_strvec;
  cmd.env_array.nr = 0UL;
  cmd.env_array.alloc = 0UL;
  cmd.pid = 0;
  cmd.trace2_child_id = 0;
  cmd.trace2_child_us_start = 0UL;
  cmd.trace2_child_class = (char const   *)0;
  cmd.trace2_hook_name = (char const   *)0;
  cmd.in = 0;
  cmd.out = 0;
  cmd.err = 0;
  cmd.dir = (char const   *)0;
  cmd.no_stdin = 0U;
  cmd.no_stdout = 0U;
  cmd.no_stderr = 0U;
  cmd.git_cmd = 0U;
  cmd.silent_exec_failure = 0U;
  cmd.use_shell = 0U;
  cmd.close_object_store = 0U;
  cmd.stdout_to_stderr = 0U;
  cmd.clean_on_exit = 0U;
  cmd.wait_after_clean = 0U;
  cmd.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cmd.clean_on_exit_handler_cbdata = (void *)0;
  base_name___0.alloc = 0UL;
  base_name___0.len = 0UL;
  base_name___0.buf = strbuf_slopbuf;
  tmp = lookup_multi_pack_index(r, object_dir);
  m = tmp;
  delta_base_offset___0 = 1;
  use_delta_islands___1 = 0;
  if (! m) {
    return (0);
  }
  tmp___0 = xcalloc((size_t )m->num_packs, sizeof(*include_pack));
  include_pack = (unsigned char *)tmp___0;
  if (batch_size) {
    tmp___1 = fill_included_packs_batch(r, m, include_pack, batch_size);
    if (tmp___1) {
      goto cleanup;
    }
  } else {
    tmp___2 = fill_included_packs_all(r, m, include_pack);
    if (tmp___2) {
      goto cleanup;
    }
  }
  repo_config_get_bool(r, (char const   *)"repack.usedeltabaseoffset", & delta_base_offset___0);
  repo_config_get_bool(r, (char const   *)"repack.usedeltaislands", & use_delta_islands___1);
  strvec_push(& cmd.args, (char const   *)"pack-objects");
  strbuf_addstr(& base_name___0, object_dir);
  strbuf_addstr(& base_name___0, (char const   *)"/pack/pack");
  strvec_push(& cmd.args, (char const   *)base_name___0.buf);
  if (delta_base_offset___0) {
    strvec_push(& cmd.args, (char const   *)"--delta-base-offset");
  }
  if (use_delta_islands___1) {
    strvec_push(& cmd.args, (char const   *)"--delta-islands");
  }
  if (flags___0 & 1U) {
    strvec_push(& cmd.args, (char const   *)"--progress");
  } else {
    strvec_push(& cmd.args, (char const   *)"-q");
  }
  strbuf_release(& base_name___0);
  cmd.git_cmd = 1U;
  cmd.out = -1;
  cmd.in = cmd.out;
  tmp___4 = start_command(& cmd);
  if (tmp___4) {
    tmp___3 = _((char const   *)"could not start pack-objects");
    error((char const   *)tmp___3);
    const_error();
    result___0 = 1;
    goto cleanup;
  }
  cmd_in = xfdopen(cmd.in, (char const   *)"w");
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < m->num_objects)) {
      goto while_break;
    }
    tmp___5 = nth_midxed_pack_int_id(m, i);
    pack_int_id = tmp___5;
    if (! *(include_pack + pack_int_id)) {
      goto __Cont;
    }
    nth_midxed_object_oid(& oid, m, i);
    tmp___6 = oid_to_hex((struct object_id  const  *)(& oid));
    fprintf(cmd_in, (char const   *)"%s\n", tmp___6);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  fclose(cmd_in);
  tmp___8 = finish_command(& cmd);
  if (tmp___8) {
    tmp___7 = _((char const   *)"could not finish pack-objects");
    error((char const   *)tmp___7);
    const_error();
    result___0 = 1;
    goto cleanup;
  }
  result___0 = write_midx_internal(object_dir, (struct string_list *)((void *)0),
                                   (struct string_list *)((void *)0), (char const   *)((void *)0),
                                   (char const   *)((void *)0), flags___0);
  cleanup:
  free((void *)include_pack);
  return (result___0);
}
}
static int dir_entry_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *eptr ,
                         struct hashmap_entry  const  *entry_or_key , void const   *keydata )
{
  struct dir_entry___0  const  *e1 ;
  struct dir_entry___0  const  *e2 ;
  char const   *name___0 ;
  char const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  name___0 = (char const   *)keydata;
  e1 = (struct dir_entry___0  const  *)((char *)eptr - (unsigned long )(& ((struct dir_entry___0  const  *)0)->ent));
  e2 = (struct dir_entry___0  const  *)((char *)entry_or_key - (unsigned long )(& ((struct dir_entry___0  const  *)0)->ent));
  if (e1->namelen != e2->namelen) {
    tmp___1 = 1;
  } else {
    if (name___0) {
      tmp = name___0;
    } else {
      tmp = (char const   *)(e2->name);
    }
    tmp___0 = strncasecmp((char const   *)(e1->name), tmp, (size_t )e1->namelen);
    if (tmp___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  }
  return (tmp___1);
}
}
static struct dir_entry___0 *find_dir_entry__hash(struct index_state *istate , char const   *name___0 ,
                                                  unsigned int namelen , unsigned int hash___0 )
{
  struct dir_entry___0 key___1 ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;

  {
  hashmap_entry_init(& key___1.ent, hash___0);
  key___1.namelen = namelen;
  tmp = hashmap_get((struct hashmap  const  *)(& istate->dir_hash), (struct hashmap_entry  const  *)(& key___1.ent),
                    (void const   *)name___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct dir_entry___0 *)0)->ent));
  return ((struct dir_entry___0 *)tmp___0);
}
}
static struct dir_entry___0 *find_dir_entry(struct index_state *istate , char const   *name___0 ,
                                            unsigned int namelen )
{
  unsigned int tmp ;
  struct dir_entry___0 *tmp___0 ;

  {
  tmp = memihash((void const   *)name___0, (size_t )namelen);
  tmp___0 = find_dir_entry__hash(istate, name___0, namelen, tmp);
  return (tmp___0);
}
}
static struct dir_entry___0 *hash_dir_entry(struct index_state *istate , struct cache_entry *ce ,
                                            int namelen )
{
  struct dir_entry___0 *dir ;
  int tmp ;
  size_t flex_array_len_ ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  unsigned int tmp___3 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (namelen > 0) {
      tmp = git_is_dir_sep((int )ce->name[namelen - 1]);
      if (tmp) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    namelen --;
  }
  while_break: /* CIL Label */ ;
  }
  if (namelen <= 0) {
    return ((struct dir_entry___0 *)((void *)0));
  }
  namelen --;
  dir = find_dir_entry(istate, (char const   *)(ce->name), (unsigned int )namelen);
  if (! dir) {
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      flex_array_len_ = (size_t )namelen;
      tmp___0 = st_add(sizeof(*dir), flex_array_len_);
      tmp___1 = st_add(tmp___0, (size_t )1);
      tmp___2 = xcalloc((size_t )1, tmp___1);
      dir = (struct dir_entry___0 *)tmp___2;
      memcpy((void *)(dir->name), (void const   *)(ce->name), flex_array_len_);
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___3 = memihash((void const   *)(ce->name), (size_t )namelen);
    hashmap_entry_init(& dir->ent, tmp___3);
    dir->namelen = (unsigned int )namelen;
    hashmap_add(& istate->dir_hash, & dir->ent);
    dir->parent = hash_dir_entry(istate, ce, namelen);
  }
  return (dir);
}
}
static void add_dir_entry(struct index_state *istate , struct cache_entry *ce )
{
  struct dir_entry___0 *dir ;
  struct dir_entry___0 *tmp ;
  int tmp___0 ;

  {
  tmp = hash_dir_entry(istate, ce, (int )ce->ce_namelen);
  dir = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (dir) {
      tmp___0 = dir->nr;
      (dir->nr) ++;
      if (tmp___0) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    dir = dir->parent;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void remove_dir_entry(struct index_state *istate , struct cache_entry *ce )
{
  struct dir_entry___0 *dir ;
  struct dir_entry___0 *tmp ;
  struct dir_entry___0 *parent ;

  {
  tmp = hash_dir_entry(istate, ce, (int )ce->ce_namelen);
  dir = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (dir) {
      (dir->nr) --;
      if (dir->nr) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    parent = dir->parent;
    hashmap_remove(& istate->dir_hash, (struct hashmap_entry  const  *)(& dir->ent),
                   (void const   *)((void *)0));
    free((void *)dir);
    dir = parent;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void hash_index_entry(struct index_state *istate , struct cache_entry *ce )
{
  unsigned int tmp ;

  {
  if (ce->ce_flags & (unsigned int )(1 << 20)) {
    return;
  }
  ce->ce_flags |= (unsigned int )(1 << 20);
  if (! (ce->ce_mode == 16384U)) {
    tmp = memihash((void const   *)(ce->name), (size_t )ce->ce_namelen);
    hashmap_entry_init(& ce->ent, tmp);
    hashmap_add(& istate->name_hash, & ce->ent);
  }
  if (ignore_case) {
    add_dir_entry(istate, ce);
  }
  return;
}
}
static int cache_entry_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *eptr ,
                           struct hashmap_entry  const  *entry_or_key , void const   *remove___0 )
{
  struct cache_entry  const  *ce1 ;
  struct cache_entry  const  *ce2 ;
  int tmp ;

  {
  ce1 = (struct cache_entry  const  *)((char *)eptr - (unsigned long )(& ((struct cache_entry  const  *)0)->ent));
  ce2 = (struct cache_entry  const  *)((char *)entry_or_key - (unsigned long )(& ((struct cache_entry  const  *)0)->ent));
  if (remove___0) {
    tmp = ! ((unsigned long )ce1 == (unsigned long )ce2);
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static int lazy_try_threaded  =    1;
static int lazy_nr_dir_threads  ;
static pthread_mutex_t *lazy_dir_mutex_array  ;
static int lookup_lazy_params(struct index_state *istate )
{
  int nr_cpus ;

  {
  lazy_nr_dir_threads = 0;
  if (! lazy_try_threaded) {
    return (0);
  }
  if (! ignore_case) {
    return (0);
  }
  nr_cpus = online_cpus();
  if (nr_cpus < 2) {
    return (0);
  }
  if (istate->cache_nr < 4000U) {
    return (0);
  }
  if (istate->cache_nr < (unsigned int )(nr_cpus * 2000)) {
    nr_cpus = (int )(istate->cache_nr / 2000U);
  }
  lazy_nr_dir_threads = nr_cpus;
  return (lazy_nr_dir_threads);
}
}
static void init_dir_mutex(void)
{
  int j ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )32, sizeof(*lazy_dir_mutex_array));
  lazy_dir_mutex_array = (pthread_mutex_t *)tmp;
  j = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (j < 32)) {
      goto while_break;
    }
    init_recursive_mutex(lazy_dir_mutex_array + j);
    j ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void cleanup_dir_mutex(void)
{
  int j ;

  {
  j = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (j < 32)) {
      goto while_break;
    }
    pthread_mutex_destroy(lazy_dir_mutex_array + j);
    j ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)lazy_dir_mutex_array);
  return;
}
}
static void lock_dir_mutex(int j )
{


  {
  pthread_mutex_lock(lazy_dir_mutex_array + j);
  return;
}
}
static void unlock_dir_mutex(int j )
{


  {
  pthread_mutex_unlock(lazy_dir_mutex_array + j);
  return;
}
}
__inline static int compute_dir_lock_nr(struct hashmap  const  *map___0 , unsigned int hash___0 )
{
  int tmp ;

  {
  tmp = hashmap_bucket(map___0, hash___0);
  return (tmp % 32);
}
}
static struct dir_entry___0 *hash_dir_entry_with_parent_and_prefix(struct index_state *istate ,
                                                                   struct dir_entry___0 *parent ,
                                                                   struct strbuf *prefix___1 )
{
  struct dir_entry___0 *dir ;
  unsigned int hash___0 ;
  int lock_nr ;
  char *tmp ;
  size_t flex_array_len_ ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;

  {
  tmp = strchr((char const   *)prefix___1->buf, '/');
  assert(((unsigned long )parent != (unsigned long )((void *)0)) ^ ((unsigned long )tmp == (unsigned long )((void *)0)));
  if (parent) {
    hash___0 = memihash_cont(parent->ent.hash, (void const   *)(prefix___1->buf + parent->namelen),
                             prefix___1->len - (size_t )parent->namelen);
  } else {
    hash___0 = memihash((void const   *)prefix___1->buf, prefix___1->len);
  }
  lock_nr = compute_dir_lock_nr((struct hashmap  const  *)(& istate->dir_hash), hash___0);
  lock_dir_mutex(lock_nr);
  dir = find_dir_entry__hash(istate, (char const   *)prefix___1->buf, (unsigned int )prefix___1->len,
                             hash___0);
  if (! dir) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      flex_array_len_ = prefix___1->len;
      tmp___0 = st_add(sizeof(*dir), flex_array_len_);
      tmp___1 = st_add(tmp___0, (size_t )1);
      tmp___2 = xcalloc((size_t )1, tmp___1);
      dir = (struct dir_entry___0 *)tmp___2;
      memcpy((void *)(dir->name), (void const   *)prefix___1->buf, flex_array_len_);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    hashmap_entry_init(& dir->ent, hash___0);
    dir->namelen = (unsigned int )prefix___1->len;
    dir->parent = parent;
    hashmap_add(& istate->dir_hash, & dir->ent);
    if (parent) {
      unlock_dir_mutex(lock_nr);
      lock_nr = compute_dir_lock_nr((struct hashmap  const  *)(& istate->dir_hash),
                                    parent->ent.hash);
      lock_dir_mutex(lock_nr);
      (parent->nr) ++;
    }
  }
  unlock_dir_mutex(lock_nr);
  return (dir);
}
}
static int handle_range_1(struct index_state *istate , int k_start , int k_end , struct dir_entry___0 *parent ,
                          struct strbuf *prefix___1 , struct lazy_entry *lazy_entries ) ;
static int handle_range_dir(struct index_state *istate , int k_start , int k_end ,
                            struct dir_entry___0 *parent , struct strbuf *prefix___1 ,
                            struct lazy_entry *lazy_entries , struct dir_entry___0 **dir_new_out )
{
  int rc___0 ;
  int k ;
  int input_prefix_len ;
  struct dir_entry___0 *dir_new ;
  int begin___0 ;
  int end ;
  int mid ;
  int cmp___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  input_prefix_len = (int )prefix___1->len;
  dir_new = hash_dir_entry_with_parent_and_prefix(istate, parent, prefix___1);
  strbuf_addch(prefix___1, '/');
  if (k_start + 1 >= k_end) {
    k = k_end;
  } else {
    tmp___1 = strncmp((char const   *)((*(istate->cache + (k_start + 1)))->name),
                      (char const   *)prefix___1->buf, prefix___1->len);
    if (tmp___1 > 0) {
      k = k_start + 1;
    } else {
      tmp___0 = strncmp((char const   *)((*(istate->cache + (k_end - 1)))->name),
                        (char const   *)prefix___1->buf, prefix___1->len);
      if (tmp___0 == 0) {
        k = k_end;
      } else {
        begin___0 = k_start;
        end = k_end;
        assert(begin___0 >= 0);
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          if (! (begin___0 < end)) {
            goto while_break;
          }
          mid = begin___0 + ((end - begin___0) >> 1);
          tmp = strncmp((char const   *)((*(istate->cache + mid))->name), (char const   *)prefix___1->buf,
                        prefix___1->len);
          cmp___0 = tmp;
          if (cmp___0 == 0) {
            begin___0 = mid + 1;
          } else
          if (cmp___0 > 0) {
            end = mid;
          } else {
            die((char const   *)"cache entry out of order");
          }
        }
        while_break: /* CIL Label */ ;
        }
        k = begin___0;
      }
    }
  }
  rc___0 = handle_range_1(istate, k_start, k, dir_new, prefix___1, lazy_entries);
  strbuf_setlen(prefix___1, (size_t )input_prefix_len);
  *dir_new_out = dir_new;
  return (rc___0);
}
}
static int handle_range_1(struct index_state *istate , int k_start , int k_end , struct dir_entry___0 *parent ,
                          struct strbuf *prefix___1 , struct lazy_entry *lazy_entries )
{
  int input_prefix_len ;
  int k ;
  struct cache_entry *ce_k ;
  char const   *name___0 ;
  char const   *slash ;
  int tmp ;
  char *tmp___0 ;
  int len___0 ;
  int processed ;
  struct dir_entry___0 *dir_new ;

  {
  input_prefix_len = (int )prefix___1->len;
  k = k_start;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (k < k_end)) {
      goto while_break;
    }
    ce_k = *(istate->cache + k);
    if (prefix___1->len) {
      tmp = strncmp((char const   *)(ce_k->name), (char const   *)prefix___1->buf,
                    prefix___1->len);
      if (tmp) {
        goto while_break;
      }
    }
    name___0 = (char const   *)(ce_k->name + prefix___1->len);
    tmp___0 = strchr(name___0, '/');
    slash = (char const   *)tmp___0;
    if (slash) {
      len___0 = (int )(slash - name___0);
      strbuf_add(prefix___1, (void const   *)name___0, (size_t )len___0);
      processed = handle_range_dir(istate, k, k_end, parent, prefix___1, lazy_entries,
                                   & dir_new);
      if (processed) {
        k += processed;
        strbuf_setlen(prefix___1, (size_t )input_prefix_len);
        goto while_continue;
      }
      strbuf_addch(prefix___1, '/');
      processed = handle_range_1(istate, k, k_end, dir_new, prefix___1, lazy_entries);
      k += processed;
      strbuf_setlen(prefix___1, (size_t )input_prefix_len);
      goto while_continue;
    }
    (lazy_entries + k)->dir = parent;
    if (parent) {
      (lazy_entries + k)->hash_name = memihash_cont(parent->ent.hash, (void const   *)(ce_k->name + parent->namelen),
                                                    (size_t )(ce_k->ce_namelen - parent->namelen));
      (lazy_entries + k)->hash_dir = parent->ent.hash;
    } else {
      (lazy_entries + k)->hash_name = memihash((void const   *)(ce_k->name), (size_t )ce_k->ce_namelen);
    }
    k ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (k - k_start);
}
}
static void *lazy_dir_thread_proc(void *_data )
{
  struct lazy_dir_thread_data *d ;
  struct strbuf prefix___1 ;

  {
  d = (struct lazy_dir_thread_data *)_data;
  prefix___1.alloc = 0UL;
  prefix___1.len = 0UL;
  prefix___1.buf = strbuf_slopbuf;
  handle_range_1(d->istate, d->k_start, d->k_end, (struct dir_entry___0 *)((void *)0),
                 & prefix___1, d->lazy_entries);
  strbuf_release(& prefix___1);
  return ((void *)0);
}
}
static void *lazy_name_thread_proc(void *_data )
{
  struct lazy_name_thread_data *d ;
  int k ;
  struct cache_entry *ce_k ;

  {
  d = (struct lazy_name_thread_data *)_data;
  k = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )k < (d->istate)->cache_nr)) {
      goto while_break;
    }
    ce_k = *((d->istate)->cache + k);
    ce_k->ce_flags |= (unsigned int )(1 << 20);
    hashmap_entry_init(& ce_k->ent, (d->lazy_entries + k)->hash_name);
    hashmap_add(& (d->istate)->name_hash, & ce_k->ent);
    k ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((void *)0);
}
}
__inline static void lazy_update_dir_ref_counts(struct index_state *istate , struct lazy_entry *lazy_entries )
{
  int k ;

  {
  k = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )k < istate->cache_nr)) {
      goto while_break;
    }
    if ((lazy_entries + k)->dir) {
      (((lazy_entries + k)->dir)->nr) ++;
    }
    k ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void threaded_lazy_init_name_hash(struct index_state *istate )
{
  int err___4 ;
  int nr_each ;
  int k_start ;
  int t ;
  struct lazy_entry *lazy_entries ;
  struct lazy_dir_thread_data *td_dir ;
  struct lazy_name_thread_data *td_name ;
  void *tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  struct lazy_dir_thread_data *td_dir_t ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  struct lazy_dir_thread_data *td_dir_t___0 ;
  int tmp___4 ;
  char *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;

  {
  k_start = 0;
  nr_each = (int )(((istate->cache_nr + (unsigned int )lazy_nr_dir_threads) - 1U) / (unsigned int )lazy_nr_dir_threads);
  tmp = xcalloc((size_t )istate->cache_nr, sizeof(*lazy_entries));
  lazy_entries = (struct lazy_entry *)tmp;
  tmp___0 = xcalloc((size_t )lazy_nr_dir_threads, sizeof(*td_dir));
  td_dir = (struct lazy_dir_thread_data *)tmp___0;
  tmp___1 = xcalloc((size_t )1, sizeof(*td_name));
  td_name = (struct lazy_name_thread_data *)tmp___1;
  init_dir_mutex();
  t = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (t < lazy_nr_dir_threads)) {
      goto while_break;
    }
    td_dir_t = td_dir + t;
    td_dir_t->istate = istate;
    td_dir_t->lazy_entries = lazy_entries;
    td_dir_t->k_start = k_start;
    k_start += nr_each;
    if ((unsigned int )k_start > istate->cache_nr) {
      k_start = (int )istate->cache_nr;
    }
    td_dir_t->k_end = k_start;
    err___4 = pthread_create((pthread_t * __restrict  )(& td_dir_t->pthread), (pthread_attr_t const   * __restrict  )((void *)0),
                             & lazy_dir_thread_proc, (void * __restrict  )td_dir_t);
    if (err___4) {
      tmp___2 = strerror(err___4);
      tmp___3 = _((char const   *)"unable to create lazy_dir thread: %s");
      die((char const   *)tmp___3, tmp___2);
    }
    t ++;
  }
  while_break: /* CIL Label */ ;
  }
  t = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (t < lazy_nr_dir_threads)) {
      goto while_break___0;
    }
    td_dir_t___0 = td_dir + t;
    tmp___4 = pthread_join(td_dir_t___0->pthread, (void **)((void *)0));
    if (tmp___4) {
      die((char const   *)"unable to join lazy_dir_thread");
    }
    t ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  td_name->istate = istate;
  td_name->lazy_entries = lazy_entries;
  err___4 = pthread_create((pthread_t * __restrict  )(& td_name->pthread), (pthread_attr_t const   * __restrict  )((void *)0),
                           & lazy_name_thread_proc, (void * __restrict  )td_name);
  if (err___4) {
    tmp___5 = strerror(err___4);
    tmp___6 = _((char const   *)"unable to create lazy_name thread: %s");
    die((char const   *)tmp___6, tmp___5);
  }
  lazy_update_dir_ref_counts(istate, lazy_entries);
  err___4 = pthread_join(td_name->pthread, (void **)((void *)0));
  if (err___4) {
    tmp___7 = strerror(err___4);
    tmp___8 = _((char const   *)"unable to join lazy_name thread: %s");
    die((char const   *)tmp___8, tmp___7);
  }
  cleanup_dir_mutex();
  free((void *)td_name);
  free((void *)td_dir);
  free((void *)lazy_entries);
  return;
}
}
static void lazy_init_name_hash(struct index_state *istate )
{
  int nr___0 ;
  int tmp ;
  uint64_t tmp___0 ;
  int tmp___1 ;

  {
  if (istate->name_hash_initialized) {
    return;
  }
  trace_performance_enter();
  trace2_region_enter_fl((char const   *)"name-hash.c", 585, (char const   *)"index",
                         (char const   *)"name-hash-init", (struct repository  const  *)istate->repo);
  hashmap_init(& istate->name_hash, & cache_entry_cmp, (void const   *)((void *)0),
               (size_t )istate->cache_nr);
  hashmap_init(& istate->dir_hash, & dir_entry_cmp, (void const   *)((void *)0), (size_t )istate->cache_nr);
  tmp = lookup_lazy_params(istate);
  if (tmp) {
    hashmap_disable_item_counting(& istate->dir_hash);
    threaded_lazy_init_name_hash(istate);
    hashmap_enable_item_counting(& istate->dir_hash);
  } else {
    nr___0 = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )nr___0 < istate->cache_nr)) {
        goto while_break;
      }
      hash_index_entry(istate, *(istate->cache + nr___0));
      nr___0 ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  istate->name_hash_initialized = 1U;
  trace2_region_leave_fl((char const   *)"name-hash.c", 606, (char const   *)"index",
                         (char const   *)"name-hash-init", (struct repository  const  *)istate->repo);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___1 = trace_pass_fl(& trace_perf_key);
    if (tmp___1) {
      tmp___0 = getnanotime();
      trace_performance_leave_fl((char const   *)"name-hash.c", 607, tmp___0, (char const   *)"initialize name hash");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
int test_lazy_init_name_hash(struct index_state *istate , int try_threaded )
{


  {
  lazy_nr_dir_threads = 0;
  lazy_try_threaded = try_threaded;
  lazy_init_name_hash(istate);
  return (lazy_nr_dir_threads);
}
}
void add_name_hash(struct index_state *istate , struct cache_entry *ce )
{


  {
  if (istate->name_hash_initialized) {
    hash_index_entry(istate, ce);
  }
  return;
}
}
void remove_name_hash(struct index_state *istate , struct cache_entry *ce )
{


  {
  if (! istate->name_hash_initialized) {
    return;
  } else
  if (! (ce->ce_flags & (unsigned int )(1 << 20))) {
    return;
  }
  ce->ce_flags &= (unsigned int )(~ (1 << 20));
  hashmap_remove(& istate->name_hash, (struct hashmap_entry  const  *)(& ce->ent),
                 (void const   *)ce);
  if (ignore_case) {
    remove_dir_entry(istate, ce);
  }
  return;
}
}
static int slow_same_name(char const   *name1 , int len1 , char const   *name2 , int len2 )
{
  unsigned char c1 ;
  char const   *tmp ;
  unsigned char c2 ;
  char const   *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (len1 != len2) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! len1) {
      goto while_break;
    }
    tmp = name1;
    name1 ++;
    c1 = (unsigned char )*tmp;
    tmp___0 = name2;
    name2 ++;
    c2 = (unsigned char )*tmp___0;
    len1 --;
    if ((int )c1 != (int )c2) {
      tmp___1 = sane_case((int )c1, 0);
      c1 = (unsigned char )tmp___1;
      tmp___2 = sane_case((int )c2, 0);
      c2 = (unsigned char )tmp___2;
      if ((int )c1 != (int )c2) {
        return (0);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static int same_name(struct cache_entry  const  *ce , char const   *name___0 , int namelen ,
                     int icase___0 )
{
  int len___0 ;
  int tmp ;
  int tmp___0 ;

  {
  len___0 = (int )ce->ce_namelen;
  if (len___0 == namelen) {
    tmp = memcmp((void const   *)name___0, (void const   *)(ce->name), (size_t )len___0);
    if (! tmp) {
      return (1);
    }
  }
  if (! icase___0) {
    return (0);
  }
  tmp___0 = slow_same_name(name___0, namelen, (char const   *)(ce->name), len___0);
  return (tmp___0);
}
}
int index_dir_exists(struct index_state *istate , char const   *name___0 , int namelen )
{
  struct dir_entry___0 *dir ;
  int tmp ;

  {
  lazy_init_name_hash(istate);
  expand_to_path(istate, name___0, (size_t )namelen, 0);
  dir = find_dir_entry(istate, name___0, (unsigned int )namelen);
  if (dir) {
    if (dir->nr) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
void adjust_dirname_case(struct index_state *istate , char *name___0 )
{
  char const   *startPtr ;
  char const   *ptr ;
  size_t tmp ;
  struct dir_entry___0 *dir ;

  {
  startPtr = (char const   *)name___0;
  ptr = startPtr;
  lazy_init_name_hash(istate);
  tmp = strlen((char const   *)name___0);
  expand_to_path(istate, (char const   *)name___0, tmp, 0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *ptr) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (*ptr) {
        if (! ((int const   )*ptr != 47)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      ptr ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if ((int const   )*ptr == 47) {
      dir = find_dir_entry(istate, (char const   *)name___0, (unsigned int )(ptr - (char const   *)name___0));
      if (dir) {
        memcpy((void *)startPtr, (void const   *)(dir->name + (startPtr - (char const   *)name___0)),
               (size_t )(ptr - startPtr));
        startPtr = ptr + 1;
      }
      ptr ++;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
struct cache_entry *index_file_exists(struct index_state *istate , char const   *name___0 ,
                                      int namelen , int icase___0 )
{
  struct cache_entry *ce ;
  unsigned int hash___0 ;
  unsigned int tmp ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;
  struct hashmap_entry *tmp___2 ;
  void *tmp___3 ;
  int tmp___4 ;

  {
  tmp = memihash((void const   *)name___0, (size_t )namelen);
  hash___0 = tmp;
  lazy_init_name_hash(istate);
  expand_to_path(istate, name___0, (size_t )namelen, icase___0);
  tmp___0 = hashmap_get_from_hash((struct hashmap  const  *)(& istate->name_hash),
                                  hash___0, (void const   *)((void *)0));
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct cache_entry *)0)->ent));
  ce = (struct cache_entry *)tmp___1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ce) {
      goto while_break;
    }
    tmp___4 = same_name((struct cache_entry  const  *)ce, name___0, namelen, icase___0);
    if (tmp___4) {
      return (ce);
    }
    tmp___2 = hashmap_get_next((struct hashmap  const  *)(& istate->name_hash), (struct hashmap_entry  const  *)(& ce->ent));
    tmp___3 = container_of_or_null_offset((void *)tmp___2, (unsigned long )(& ((struct cache_entry *)0)->ent));
    ce = (struct cache_entry *)tmp___3;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct cache_entry *)((void *)0));
}
}
void free_name_hash(struct index_state *istate )
{


  {
  if (! istate->name_hash_initialized) {
    return;
  }
  istate->name_hash_initialized = 0U;
  hashmap_clear_(& istate->name_hash, (ssize_t )-1);
  hashmap_clear_(& istate->dir_hash, (ssize_t )((unsigned long )(& ((struct dir_entry___0 *)0)->ent)));
  return;
}
}
static int marked  ;
static void rev_list_push(struct negotiation_state *ns , struct commit *commit , int mark )
{
  int tmp ;

  {
  if (! (commit->object.flags & (unsigned int )mark)) {
    commit->object.flags |= (unsigned int )mark;
    tmp = repo_parse_commit(the_repository, commit);
    if (tmp) {
      return;
    }
    prio_queue_put(& ns->rev_list, (void *)commit);
    if (! (commit->object.flags & (1U << 2))) {
      (ns->non_common_revs) ++;
    }
  }
  return;
}
}
static int clear_marks(char const   *refname , struct object_id  const  *oid , int flag ,
                       void *cb_data )
{
  struct object *o ;
  struct object *tmp ;
  struct object *tmp___0 ;

  {
  tmp = parse_object(the_repository, oid);
  tmp___0 = deref_tag(the_repository, tmp, refname, 0);
  o = tmp___0;
  if (o) {
    if (o->type == 1U) {
      clear_commit_marks((struct commit *)o, (((1U << 2) | (1U << 3)) | (1U << 4)) | (1U << 5));
    }
  }
  return (0);
}
}
static void mark_common(struct negotiation_state *ns , struct commit *commit , int ancestors_only ,
                        int dont_parse )
{
  struct object *o ;
  struct commit_list *parents ;
  int tmp ;

  {
  if ((unsigned long )commit != (unsigned long )((void *)0)) {
    if (! (commit->object.flags & (1U << 2))) {
      o = (struct object *)commit;
      if (! ancestors_only) {
        o->flags |= 1U << 2;
      }
      if (! (o->flags & (1U << 4))) {
        rev_list_push(ns, commit, (int )(1U << 4));
      } else {
        if (! ancestors_only) {
          if (! (o->flags & (1U << 5))) {
            (ns->non_common_revs) --;
          }
        }
        if (! o->parsed) {
          if (! dont_parse) {
            tmp = repo_parse_commit(the_repository, commit);
            if (tmp) {
              return;
            }
          }
        }
        parents = commit->parents;
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          if (! parents) {
            goto while_break;
          }
          mark_common(ns, parents->item, 0, dont_parse);
          parents = parents->next;
        }
        while_break: /* CIL Label */ ;
        }
      }
    }
  }
  return;
}
}
static struct object_id  const  *get_rev(struct negotiation_state *ns )
{
  struct commit *commit ;
  unsigned int mark ;
  struct commit_list *parents ;
  void *tmp ;

  {
  commit = (struct commit *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )commit == (unsigned long )((void *)0))) {
      goto while_break;
    }
    if (ns->rev_list.nr == 0) {
      return ((struct object_id  const  *)((void *)0));
    } else
    if (ns->non_common_revs == 0) {
      return ((struct object_id  const  *)((void *)0));
    }
    tmp = prio_queue_get(& ns->rev_list);
    commit = (struct commit *)tmp;
    repo_parse_commit(the_repository, commit);
    parents = commit->parents;
    commit->object.flags |= 1U << 5;
    if (! (commit->object.flags & (1U << 2))) {
      (ns->non_common_revs) --;
    }
    if (commit->object.flags & (1U << 2)) {
      commit = (struct commit *)((void *)0);
      mark = (1U << 2) | (1U << 4);
    } else
    if (commit->object.flags & (1U << 3)) {
      mark = (1U << 2) | (1U << 4);
    } else {
      mark = 1U << 4;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! parents) {
        goto while_break___0;
      }
      if (! ((parents->item)->object.flags & (1U << 4))) {
        rev_list_push(ns, parents->item, (int )mark);
      }
      if (mark & (1U << 2)) {
        mark_common(ns, parents->item, 1, 0);
      }
      parents = parents->next;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct object_id  const  *)(& commit->object.oid));
}
}
static void known_common(struct fetch_negotiator *n , struct commit *c___0 )
{


  {
  if (! (c___0->object.flags & (1U << 4))) {
    rev_list_push((struct negotiation_state *)n->data, c___0, (int )((1U << 3) | (1U << 4)));
    mark_common((struct negotiation_state *)n->data, c___0, 1, 1);
  }
  return;
}
}
static void add_tip(struct fetch_negotiator *n , struct commit *c___0 )
{


  {
  n->known_common = (void (*)(struct fetch_negotiator * , struct commit * ))((void *)0);
  rev_list_push((struct negotiation_state *)n->data, c___0, (int )(1U << 4));
  return;
}
}
static struct object_id  const  *next(struct fetch_negotiator *n )
{
  struct object_id  const  *tmp ;

  {
  n->known_common = (void (*)(struct fetch_negotiator * , struct commit * ))((void *)0);
  n->add_tip = (void (*)(struct fetch_negotiator * , struct commit * ))((void *)0);
  tmp = get_rev((struct negotiation_state *)n->data);
  return (tmp);
}
}
static int ack(struct fetch_negotiator *n , struct commit *c___0 )
{
  int known_to_be_common ;

  {
  known_to_be_common = ! (! (c___0->object.flags & (1U << 2)));
  mark_common((struct negotiation_state *)n->data, c___0, 0, 1);
  return (known_to_be_common);
}
}
static void release(struct fetch_negotiator *n )
{


  {
  clear_prio_queue(& ((struct negotiation_state *)n->data)->rev_list);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free(n->data);
    n->data = (void *)0;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void default_negotiator_init(struct fetch_negotiator *negotiator )
{
  struct negotiation_state *ns ;
  void *tmp ;

  {
  negotiator->known_common = & known_common;
  negotiator->add_tip = & add_tip;
  negotiator->next = & next;
  negotiator->ack = & ack;
  negotiator->release = & release;
  tmp = xcalloc((size_t )1, sizeof(*ns));
  ns = (struct negotiation_state *)tmp;
  negotiator->data = (void *)ns;
  ns->rev_list.compare = & compare_commits_by_commit_date;
  if (marked) {
    for_each_ref(& clear_marks, (void *)0);
  }
  marked = 1;
  return;
}
}
static void known_common___0(struct fetch_negotiator *n , struct commit *c___0 )
{


  {
  return;
}
}
static void add_tip___0(struct fetch_negotiator *n , struct commit *c___0 )
{


  {
  return;
}
}
static struct object_id  const  *next___0(struct fetch_negotiator *n )
{


  {
  return ((struct object_id  const  *)((void *)0));
}
}
static int ack___0(struct fetch_negotiator *n , struct commit *c___0 )
{


  {
  BUG_fl((char const   *)"negotiator/noop.c", 27, (char const   *)"ack with noop negotiator, which does not emit any commits");
  return (0);
}
}
static void release___0(struct fetch_negotiator *n )
{


  {
  return;
}
}
void noop_negotiator_init(struct fetch_negotiator *negotiator )
{


  {
  negotiator->known_common = & known_common___0;
  negotiator->add_tip = & add_tip___0;
  negotiator->next = & next___0;
  negotiator->ack = & ack___0;
  negotiator->release = & release___0;
  negotiator->data = (void *)0;
  return;
}
}
static int marked___0  ;
static int compare(void const   *a_ , void const   *b_ , void *unused )
{
  struct entry  const  *a ;
  struct entry  const  *b___0 ;
  int tmp ;

  {
  a = (struct entry  const  *)a_;
  b___0 = (struct entry  const  *)b_;
  tmp = compare_commits_by_commit_date((void const   *)a->commit, (void const   *)b___0->commit,
                                       (void *)0);
  return (tmp);
}
}
static struct entry *rev_list_push___0(struct data *data , struct commit *commit ,
                                       int mark )
{
  struct entry *entry ;
  void *tmp ;

  {
  commit->object.flags |= (unsigned int )mark | (1U << 4);
  tmp = xcalloc((size_t )1, sizeof(*entry));
  entry = (struct entry *)tmp;
  entry->commit = commit;
  prio_queue_put(& data->rev_list, (void *)entry);
  if (! ((unsigned int )mark & (1U << 2))) {
    (data->non_common_revs) ++;
  }
  return (entry);
}
}
static int clear_marks___0(char const   *refname , struct object_id  const  *oid ,
                           int flag , void *cb_data )
{
  struct object *o ;
  struct object *tmp ;
  struct object *tmp___0 ;

  {
  tmp = parse_object(the_repository, oid);
  tmp___0 = deref_tag(the_repository, tmp, refname, 0);
  o = tmp___0;
  if (o) {
    if (o->type == 1U) {
      clear_commit_marks((struct commit *)o, (((1U << 2) | (1U << 3)) | (1U << 4)) | (1U << 5));
    }
  }
  return (0);
}
}
static void mark_common___0(struct data *data , struct commit *c___0 )
{
  struct commit_list *p___0 ;

  {
  if (c___0->object.flags & (1U << 2)) {
    return;
  }
  c___0->object.flags |= 1U << 2;
  if (! (c___0->object.flags & (1U << 5))) {
    (data->non_common_revs) --;
  }
  if (! c___0->object.parsed) {
    return;
  }
  p___0 = c___0->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if ((p___0->item)->object.flags & (1U << 4)) {
      mark_common___0(data, p___0->item);
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int push_parent(struct data *data , struct entry *entry , struct commit *to_push )
{
  struct entry *parent_entry ;
  int i ;
  uint16_t new_original_ttl ;
  int tmp ;
  uint16_t new_ttl ;
  int tmp___0 ;

  {
  if (to_push->object.flags & (1U << 4)) {
    if (to_push->object.flags & (1U << 5)) {
      return (0);
    }
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < data->rev_list.nr)) {
        goto while_break;
      }
      parent_entry = (struct entry *)(data->rev_list.array + i)->data;
      if ((unsigned long )parent_entry->commit == (unsigned long )to_push) {
        goto parent_found;
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    BUG_fl((char const   *)"negotiator/skipping.c", 135, (char const   *)"missing parent in priority queue");
    parent_found: ;
  } else {
    parent_entry = rev_list_push___0(data, to_push, 0);
  }
  if ((entry->commit)->object.flags & ((1U << 2) | (1U << 3))) {
    mark_common___0(data, to_push);
  } else {
    if (entry->ttl) {
      tmp = (int )entry->original_ttl;
    } else {
      tmp = ((int )entry->original_ttl * 3) / 2 + 1;
    }
    new_original_ttl = (uint16_t )tmp;
    if (entry->ttl) {
      tmp___0 = (int )entry->ttl - 1;
    } else {
      tmp___0 = (int )new_original_ttl;
    }
    new_ttl = (uint16_t )tmp___0;
    if ((int )parent_entry->original_ttl < (int )new_original_ttl) {
      parent_entry->original_ttl = new_original_ttl;
      parent_entry->ttl = new_ttl;
    }
  }
  return (1);
}
}
static struct object_id  const  *get_rev___0(struct data *data )
{
  struct commit *to_send ;
  struct entry *entry ;
  struct commit *commit ;
  struct commit_list *p___0 ;
  int parent_pushed ;
  void *tmp ;
  int tmp___0 ;

  {
  to_send = (struct commit *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )to_send == (unsigned long )((void *)0))) {
      goto while_break;
    }
    parent_pushed = 0;
    if (data->rev_list.nr == 0) {
      return ((struct object_id  const  *)((void *)0));
    } else
    if (data->non_common_revs == 0) {
      return ((struct object_id  const  *)((void *)0));
    }
    tmp = prio_queue_get(& data->rev_list);
    entry = (struct entry *)tmp;
    commit = entry->commit;
    commit->object.flags |= 1U << 5;
    if (! (commit->object.flags & (1U << 2))) {
      (data->non_common_revs) --;
    }
    if (! (commit->object.flags & (1U << 2))) {
      if (! entry->ttl) {
        to_send = commit;
      }
    }
    repo_parse_commit(the_repository, commit);
    p___0 = commit->parents;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! p___0) {
        goto while_break___0;
      }
      tmp___0 = push_parent(data, entry, p___0->item);
      parent_pushed |= tmp___0;
      p___0 = p___0->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! (commit->object.flags & (1U << 2))) {
      if (! parent_pushed) {
        to_send = commit;
      }
    }
    free((void *)entry);
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct object_id  const  *)(& to_send->object.oid));
}
}
static void known_common___1(struct fetch_negotiator *n , struct commit *c___0 )
{


  {
  if (c___0->object.flags & (1U << 4)) {
    return;
  }
  rev_list_push___0((struct data *)n->data, c___0, (int )(1U << 3));
  return;
}
}
static void add_tip___1(struct fetch_negotiator *n , struct commit *c___0 )
{


  {
  n->known_common = (void (*)(struct fetch_negotiator * , struct commit * ))((void *)0);
  if (c___0->object.flags & (1U << 4)) {
    return;
  }
  rev_list_push___0((struct data *)n->data, c___0, 0);
  return;
}
}
static struct object_id  const  *next___1(struct fetch_negotiator *n )
{
  struct object_id  const  *tmp ;

  {
  n->known_common = (void (*)(struct fetch_negotiator * , struct commit * ))((void *)0);
  n->add_tip = (void (*)(struct fetch_negotiator * , struct commit * ))((void *)0);
  tmp = get_rev___0((struct data *)n->data);
  return (tmp);
}
}
static int ack___1(struct fetch_negotiator *n , struct commit *c___0 )
{
  int known_to_be_common ;
  char *tmp ;

  {
  known_to_be_common = ! (! (c___0->object.flags & (1U << 2)));
  if (! (c___0->object.flags & (1U << 4))) {
    tmp = oid_to_hex((struct object_id  const  *)(& c___0->object.oid));
    die((char const   *)"received ack for commit %s not sent as \'have\'\n", tmp);
  }
  mark_common___0((struct data *)n->data, c___0);
  return (known_to_be_common);
}
}
static void release___1(struct fetch_negotiator *n )
{


  {
  clear_prio_queue(& ((struct data *)n->data)->rev_list);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free(n->data);
    n->data = (void *)0;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void skipping_negotiator_init(struct fetch_negotiator *negotiator )
{
  struct data *data ;
  void *tmp ;

  {
  negotiator->known_common = & known_common___1;
  negotiator->add_tip = & add_tip___1;
  negotiator->next = & next___1;
  negotiator->ack = & ack___1;
  negotiator->release = & release___1;
  tmp = xcalloc((size_t )1, sizeof(*data));
  data = (struct data *)tmp;
  negotiator->data = (void *)data;
  data->rev_list.compare = & compare;
  if (marked___0) {
    for_each_ref(& clear_marks___0, (void *)0);
  }
  marked___0 = 1;
  return;
}
}
static double const   __ac_HASH_UPPER___52  =    (double const   )0.77;
__inline static void kh_resize_oid_set___52(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___52(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___52 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___52 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___52(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___52(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___52(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___52(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___52(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___52(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___52 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___52 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___52(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___52(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___52(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___52(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___52(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___52(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___52 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___52 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___52(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___52(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___52(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___52(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___37(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___37(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___52 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___52 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___37(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___37(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___37(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___37(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int notes_cache_match_validity(struct repository *r , char const   *ref , char const   *validity )
{
  struct object_id oid ;
  struct commit *commit ;
  struct pretty_print_context pretty_ctx ;
  struct strbuf msg___5 ;
  int ret___67 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  msg___5.alloc = 0UL;
  msg___5.len = 0UL;
  msg___5.buf = strbuf_slopbuf;
  tmp = read_ref(ref, & oid);
  if (tmp < 0) {
    return (0);
  }
  commit = lookup_commit_reference_gently(r, (struct object_id  const  *)(& oid),
                                          1);
  if (! commit) {
    return (0);
  }
  memset((void *)(& pretty_ctx), 0, sizeof(pretty_ctx));
  repo_format_commit_message(the_repository, (struct commit  const  *)commit, (char const   *)"%s",
                             & msg___5, (struct pretty_print_context  const  *)(& pretty_ctx));
  strbuf_trim(& msg___5);
  tmp___0 = strcmp((char const   *)msg___5.buf, validity);
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  ret___67 = tmp___1;
  strbuf_release(& msg___5);
  return (ret___67);
}
}
void notes_cache_init(struct repository *r , struct notes_cache *c___0 , char const   *name___0 ,
                      char const   *validity )
{
  struct strbuf ref ;
  int flags___0 ;
  int tmp ;

  {
  ref.alloc = 0UL;
  ref.len = 0UL;
  ref.buf = strbuf_slopbuf;
  flags___0 = 2;
  memset((void *)c___0, 0, sizeof(*c___0));
  c___0->validity = xstrdup(validity);
  strbuf_addf(& ref, (char const   *)"refs/notes/%s", name___0);
  tmp = notes_cache_match_validity(r, (char const   *)ref.buf, validity);
  if (! tmp) {
    flags___0 |= 1;
  }
  init_notes(& c___0->tree, (char const   *)ref.buf, & combine_notes_overwrite, flags___0);
  strbuf_release(& ref);
  return;
}
}
int notes_cache_write(struct notes_cache *c___0 )
{
  struct object_id tree_oid ;
  struct object_id commit_oid ;
  int tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (! c___0) {
    return (-1);
  } else
  if (! c___0->tree.initialized) {
    return (-1);
  } else
  if (! c___0->tree.update_ref) {
    return (-1);
  } else
  if (! *(c___0->tree.update_ref)) {
    return (-1);
  }
  if (! c___0->tree.dirty) {
    return (0);
  }
  tmp = write_notes_tree(& c___0->tree, & tree_oid);
  if (tmp) {
    return (-1);
  }
  tmp___0 = strlen((char const   *)c___0->validity);
  tmp___1 = commit_tree((char const   *)c___0->validity, tmp___0, (struct object_id  const  *)(& tree_oid),
                        (struct commit_list *)((void *)0), & commit_oid, (char const   *)((void *)0),
                        (char const   *)((void *)0));
  if (tmp___1 < 0) {
    return (-1);
  }
  tmp___2 = update_ref((char const   *)"update notes cache", (char const   *)c___0->tree.update_ref,
                       (struct object_id  const  *)(& commit_oid), (struct object_id  const  *)((void *)0),
                       0U, (enum action_on_err )2);
  if (tmp___2 < 0) {
    return (-1);
  }
  return (0);
}
}
char *notes_cache_get(struct notes_cache *c___0 , struct object_id *key_oid , size_t *outsize )
{
  struct object_id  const  *value_oid ;
  enum object_type type___0 ;
  char *value ;
  unsigned long size ;
  void *tmp ;

  {
  value_oid = get_note(& c___0->tree, (struct object_id  const  *)key_oid);
  if (! value_oid) {
    return ((char *)((void *)0));
  }
  tmp = repo_read_object_file(the_repository, value_oid, & type___0, & size);
  value = (char *)tmp;
  *outsize = size;
  return (value);
}
}
int notes_cache_put(struct notes_cache *c___0 , struct object_id *key_oid , char const   *data ,
                    size_t size )
{
  struct object_id value_oid ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = write_object_file((void const   *)data, size, (char const   *)"blob", & value_oid);
  if (tmp < 0) {
    return (-1);
  }
  tmp___0 = add_note(& c___0->tree, (struct object_id  const  *)key_oid, (struct object_id  const  *)(& value_oid),
                     (int (*)(struct object_id *cur_oid , struct object_id  const  *new_oid ))((void *)0));
  return (tmp___0);
}
}
static double const   __ac_HASH_UPPER___53  =    (double const   )0.77;
__inline static void kh_resize_oid_set___53(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___53(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___53 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___53 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___53(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___53(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___53(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___53(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___53(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___53(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___53 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___53 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___53(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___53(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___53(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___53(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___53(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___53(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___53 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___53 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___53(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___53(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___53(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___53(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___38(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___38(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___53 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___53 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___38(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___38(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___38(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___38(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
void create_notes_commit(struct repository *r , struct notes_tree *t , struct commit_list *parents ,
                         char const   *msg___5 , size_t msg_len , struct object_id *result_oid ) ;
void commit_notes(struct repository *r , struct notes_tree *t , char const   *msg___5 ) ;
int parse_notes_merge_strategy(char const   *v , enum notes_merge_strategy *s___1 ) ;
struct notes_rewrite_cfg *init_copy_notes_for_rewrite(char const   *cmd ) ;
int copy_note_for_rewrite(struct notes_rewrite_cfg *c___0 , struct object_id  const  *from_obj ,
                          struct object_id  const  *to_obj ) ;
void finish_copy_notes_for_rewrite(struct repository *r , struct notes_rewrite_cfg *c___0 ,
                                   char const   *msg___5 ) ;
void init_notes_merge_options(struct repository *r , struct notes_merge_options *o ) ;
int notes_merge(struct notes_merge_options *o , struct notes_tree *local_tree , struct object_id *result_oid ) ;
int notes_merge_commit(struct notes_merge_options *o , struct notes_tree *partial_tree ,
                       struct commit *partial_commit , struct object_id *result_oid ) ;
int notes_merge_abort(struct notes_merge_options *o ) ;
static void init_contains_cache_with_stride___7(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___7(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___7(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___7(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___7(s___1, 1U);
  return;
}
}
static void clear_contains_cache___7(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___7(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___7(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___7(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___7(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___7(struct contains_cache *s___1 ,
                                                        struct commit  const  *c___0 ,
                                                        int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___7(struct contains_cache *s___1 ,
                                                        struct commit  const  *c___0 ,
                                                        int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___7(struct contains_cache *s___1 ,
                                                   struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___7(struct contains_cache *s___1 ,
                                                   struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___7(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___7(struct contains_cache *s___1 ,
                                                     struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___7(struct contains_cache *s___1 ,
                                                     struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___7(s___1, c___0, 0);
  return (tmp);
}
}
void init_notes_merge_options(struct repository *r , struct notes_merge_options *o )
{


  {
  memset((void *)o, 0, sizeof(struct notes_merge_options ));
  strbuf_init(& o->commit_msg, (size_t )0);
  o->verbosity = 2;
  o->repo = r;
  return;
}
}
static int path_to_oid(char const   *path___6 , struct object_id *oid )
{
  char hex_oid[64] ;
  int i ;
  int tmp ;
  int tmp___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*path___6) {
      if (! ((size_t )i < (the_repository->hash_algo)->hexsz)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if ((int const   )*path___6 != 47) {
      tmp = i;
      i ++;
      hex_oid[tmp] = (char )*path___6;
    }
    path___6 ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (*path___6) {
    return (-1);
  } else
  if ((size_t )i != (the_repository->hash_algo)->hexsz) {
    return (-1);
  }
  tmp___0 = get_oid_hex((char const   *)(hex_oid), oid);
  return (tmp___0);
}
}
static int verify_notes_filepair(struct diff_filepair *p___0 , struct object_id *oid )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  {
  if ((int )p___0->status == 77) {
    goto case_77;
  }
  if ((int )p___0->status == 65) {
    goto case_65;
  }
  if ((int )p___0->status == 68) {
    goto case_68;
  }
  goto switch_default;
  case_77: /* CIL Label */
  assert((int )(p___0->one)->mode == (int )(p___0->two)->mode);
  tmp = is_null_oid((struct object_id  const  *)(& (p___0->one)->oid));
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  assert(tmp___0);
  tmp___1 = is_null_oid((struct object_id  const  *)(& (p___0->two)->oid));
  if (tmp___1) {
    tmp___2 = 0;
  } else {
    tmp___2 = 1;
  }
  assert(tmp___2);
  goto switch_break;
  case_65: /* CIL Label */
  tmp___3 = is_null_oid((struct object_id  const  *)(& (p___0->one)->oid));
  assert(tmp___3);
  goto switch_break;
  case_68: /* CIL Label */
  tmp___4 = is_null_oid((struct object_id  const  *)(& (p___0->two)->oid));
  assert(tmp___4);
  goto switch_break;
  switch_default: /* CIL Label */
  return (-1);
  switch_break: /* CIL Label */ ;
  }
  tmp___5 = strcmp((char const   *)(p___0->one)->path, (char const   *)(p___0->two)->path);
  if (tmp___5) {
    tmp___6 = 0;
  } else {
    tmp___6 = 1;
  }
  assert(tmp___6);
  tmp___7 = path_to_oid((char const   *)(p___0->one)->path, oid);
  return (tmp___7);
}
}
static int last_index  ;
static struct notes_merge_pair *find_notes_merge_pair_pos(struct notes_merge_pair *list___3 ,
                                                          int len___0 , struct object_id *obj ,
                                                          int insert_new , int *occupied )
{
  int i ;
  int tmp ;
  int prev_cmp ;
  int cmp___0 ;

  {
  if (last_index < len___0) {
    tmp = last_index;
  } else {
    tmp = len___0 - 1;
  }
  i = tmp;
  prev_cmp = 0;
  cmp___0 = -1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i >= 0) {
      if (! (i < len___0)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    cmp___0 = oidcmp((struct object_id  const  *)obj, (struct object_id  const  *)(& (list___3 + i)->obj));
    if (! cmp___0) {
      goto while_break;
    } else
    if (cmp___0 < 0) {
      if (prev_cmp <= 0) {
        i --;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (cmp___0 < 0) {
      goto while_break;
    } else
    if (cmp___0 > 0) {
      if (prev_cmp >= 0) {
        i ++;
      } else {
        i ++;
        goto while_break;
      }
    } else {
      i ++;
      goto while_break;
    }
    prev_cmp = cmp___0;
  }
  while_break: /* CIL Label */ ;
  }
  if (i < 0) {
    i = 0;
  }
  if (! cmp___0) {
    *occupied = 1;
  } else {
    *occupied = 0;
    if (insert_new) {
      if (i < len___0) {
        move_array((void *)((list___3 + i) + 1), (void const   *)(list___3 + i), (size_t )(len___0 - i),
                   sizeof(*((list___3 + i) + 1)) + (sizeof(char [1]) - 1UL));
        memset((void *)(list___3 + i), 0, sizeof(struct notes_merge_pair ));
      }
    }
  }
  last_index = i;
  return (list___3 + i);
}
}
static struct object_id uninitialized  =    {{(unsigned char )'\377', (unsigned char )'\377', (unsigned char )'\377', (unsigned char )'\377',
     (unsigned char )'\377', (unsigned char )'\377', (unsigned char )'\377', (unsigned char )'\377',
     (unsigned char )'\377', (unsigned char )'\377', (unsigned char )'\377', (unsigned char )'\377',
     (unsigned char )'\377', (unsigned char )'\377', (unsigned char )'\377', (unsigned char )'\377',
     (unsigned char )'\377', (unsigned char )'\377', (unsigned char )'\377', (unsigned char )'\377',
     (unsigned char )'\000'}, 0};
static struct notes_merge_pair *diff_tree_remote(struct notes_merge_options *o , struct object_id  const  *base ,
                                                 struct object_id  const  *remote ,
                                                 int *num_changes )
{
  struct diff_options opt___0 ;
  struct notes_merge_pair *changes ;
  int i ;
  int len___0 ;
  char *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  void *tmp___2 ;
  struct diff_filepair *p___0 ;
  struct notes_merge_pair *mp ;
  int occupied ;
  struct object_id obj ;
  char *tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  char *tmp___12 ;
  char *tmp___13 ;
  char *tmp___14 ;
  int tmp___15 ;

  {
  len___0 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = trace_pass_fl(& trace_default_key);
    if (tmp___1) {
      tmp = oid_to_hex(remote);
      tmp___0 = oid_to_hex(base);
      trace_printf_key_fl((char const   *)"notes-merge.c", 130, & trace_default_key,
                          (char const   *)"\tdiff_tree_remote(base = %.7s, remote = %.7s)\n",
                          tmp___0, tmp);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  repo_diff_setup(o->repo, & opt___0);
  opt___0.flags.recursive = 1U;
  opt___0.output_format = 0x0800;
  diff_setup_done(& opt___0);
  diff_tree_oid(base, remote, (char const   *)"", & opt___0);
  diffcore_std(& opt___0);
  tmp___2 = xcalloc((size_t )diff_queued_diff.nr, sizeof(*changes));
  changes = (struct notes_merge_pair *)tmp___2;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < diff_queued_diff.nr)) {
      goto while_break___0;
    }
    p___0 = *(diff_queued_diff.queue + i);
    tmp___6 = verify_notes_filepair(p___0, & obj);
    if (tmp___6) {
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        tmp___5 = trace_pass_fl(& trace_default_key);
        if (tmp___5) {
          tmp___3 = oid_to_hex((struct object_id  const  *)(& (p___0->two)->oid));
          tmp___4 = oid_to_hex((struct object_id  const  *)(& (p___0->one)->oid));
          trace_printf_key_fl((char const   *)"notes-merge.c", 151, & trace_default_key,
                              (char const   *)"\t\tCannot merge entry \'%s\' (%c): %.7s -> %.7s. Skipping!\n",
                              (p___0->one)->path, (int )p___0->status, tmp___4, tmp___3);
        }
        goto while_break___1;
      }
      while_break___1: /* CIL Label */ ;
      }
      goto __Cont;
    }
    mp = find_notes_merge_pair_pos(changes, len___0, & obj, 1, & occupied);
    if (occupied) {
      tmp___7 = oideq((struct object_id  const  *)(& mp->obj), (struct object_id  const  *)(& obj));
      assert(tmp___7);
      tmp___11 = is_null_oid((struct object_id  const  *)(& (p___0->one)->oid));
      if (tmp___11) {
        tmp___8 = is_null_oid((struct object_id  const  *)(& mp->remote));
        assert(tmp___8);
        oidcpy(& mp->remote, (struct object_id  const  *)(& (p___0->two)->oid));
      } else {
        tmp___10 = is_null_oid((struct object_id  const  *)(& (p___0->two)->oid));
        if (tmp___10) {
          tmp___9 = is_null_oid((struct object_id  const  *)(& mp->base));
          assert(tmp___9);
          oidcpy(& mp->base, (struct object_id  const  *)(& (p___0->one)->oid));
        } else {
          assert(0);
        }
      }
    } else {
      oidcpy(& mp->obj, (struct object_id  const  *)(& obj));
      oidcpy(& mp->base, (struct object_id  const  *)(& (p___0->one)->oid));
      oidcpy(& mp->local, (struct object_id  const  *)(& uninitialized));
      oidcpy(& mp->remote, (struct object_id  const  *)(& (p___0->two)->oid));
      len___0 ++;
    }
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      tmp___15 = trace_pass_fl(& trace_default_key);
      if (tmp___15) {
        tmp___12 = oid_to_hex((struct object_id  const  *)(& mp->remote));
        tmp___13 = oid_to_hex((struct object_id  const  *)(& mp->base));
        tmp___14 = oid_to_hex((struct object_id  const  *)(& mp->obj));
        trace_printf_key_fl((char const   *)"notes-merge.c", 175, & trace_default_key,
                            (char const   *)"\t\tStored remote change for %s: %.7s -> %.7s\n",
                            tmp___14, tmp___13, tmp___12);
      }
      goto while_break___2;
    }
    while_break___2: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  diff_flush(& opt___0);
  clear_pathspec(& opt___0.pathspec);
  *num_changes = len___0;
  return (changes);
}
}
static void diff_tree_local(struct notes_merge_options *o , struct notes_merge_pair *changes ,
                            int len___0 , struct object_id  const  *base , struct object_id  const  *local___0 )
{
  struct diff_options opt___0 ;
  int i ;
  char *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  struct diff_filepair *p___0 ;
  struct notes_merge_pair *mp ;
  int match___0 ;
  struct object_id obj ;
  char *tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  char *tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  char *tmp___19 ;
  char *tmp___20 ;
  char *tmp___21 ;
  int tmp___22 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = trace_pass_fl(& trace_default_key);
    if (tmp___1) {
      tmp = oid_to_hex(local___0);
      tmp___0 = oid_to_hex(base);
      trace_printf_key_fl((char const   *)"notes-merge.c", 193, & trace_default_key,
                          (char const   *)"\tdiff_tree_local(len = %i, base = %.7s, local = %.7s)\n",
                          len___0, tmp___0, tmp);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  repo_diff_setup(o->repo, & opt___0);
  opt___0.flags.recursive = 1U;
  opt___0.output_format = 0x0800;
  diff_setup_done(& opt___0);
  diff_tree_oid(base, local___0, (char const   *)"", & opt___0);
  diffcore_std(& opt___0);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < diff_queued_diff.nr)) {
      goto while_break___0;
    }
    p___0 = *(diff_queued_diff.queue + i);
    tmp___5 = verify_notes_filepair(p___0, & obj);
    if (tmp___5) {
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        tmp___4 = trace_pass_fl(& trace_default_key);
        if (tmp___4) {
          tmp___2 = oid_to_hex((struct object_id  const  *)(& (p___0->two)->oid));
          tmp___3 = oid_to_hex((struct object_id  const  *)(& (p___0->one)->oid));
          trace_printf_key_fl((char const   *)"notes-merge.c", 212, & trace_default_key,
                              (char const   *)"\t\tCannot merge entry \'%s\' (%c): %.7s -> %.7s. Skipping!\n",
                              (p___0->one)->path, (int )p___0->status, tmp___3, tmp___2);
        }
        goto while_break___1;
      }
      while_break___1: /* CIL Label */ ;
      }
      goto __Cont;
    }
    mp = find_notes_merge_pair_pos(changes, len___0, & obj, 0, & match___0);
    if (! match___0) {
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        tmp___9 = trace_pass_fl(& trace_default_key);
        if (tmp___9) {
          tmp___6 = oid_to_hex((struct object_id  const  *)(& (p___0->two)->oid));
          tmp___7 = oid_to_hex((struct object_id  const  *)(& (p___0->one)->oid));
          tmp___8 = oid_to_hex((struct object_id  const  *)(& obj));
          trace_printf_key_fl((char const   *)"notes-merge.c", 220, & trace_default_key,
                              (char const   *)"\t\tIgnoring local-only change for %s: %.7s -> %.7s\n",
                              tmp___8, tmp___7, tmp___6);
        }
        goto while_break___2;
      }
      while_break___2: /* CIL Label */ ;
      }
      goto __Cont;
    }
    tmp___10 = oideq((struct object_id  const  *)(& mp->obj), (struct object_id  const  *)(& obj));
    assert(tmp___10);
    tmp___18 = is_null_oid((struct object_id  const  *)(& (p___0->two)->oid));
    if (tmp___18) {
      tmp___11 = oideq((struct object_id  const  *)(& mp->local), (struct object_id  const  *)(& uninitialized));
      if (tmp___11) {
        oidclr(& mp->local);
      }
    } else {
      tmp___17 = is_null_oid((struct object_id  const  *)(& (p___0->one)->oid));
      if (tmp___17) {
        tmp___12 = is_null_oid((struct object_id  const  *)(& mp->local));
        if (tmp___12) {
          tmp___14 = 1;
        } else {
          tmp___13 = oideq((struct object_id  const  *)(& mp->local), (struct object_id  const  *)(& uninitialized));
          if (tmp___13) {
            tmp___14 = 1;
          } else {
            tmp___14 = 0;
          }
        }
        assert(tmp___14);
        oidcpy(& mp->local, (struct object_id  const  *)(& (p___0->two)->oid));
      } else {
        tmp___15 = oideq((struct object_id  const  *)(& (p___0->one)->oid), (struct object_id  const  *)(& mp->base));
        assert(tmp___15);
        tmp___16 = oideq((struct object_id  const  *)(& mp->local), (struct object_id  const  *)(& uninitialized));
        assert(tmp___16);
        oidcpy(& mp->local, (struct object_id  const  *)(& (p___0->two)->oid));
      }
    }
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      tmp___22 = trace_pass_fl(& trace_default_key);
      if (tmp___22) {
        tmp___19 = oid_to_hex((struct object_id  const  *)(& mp->local));
        tmp___20 = oid_to_hex((struct object_id  const  *)(& mp->base));
        tmp___21 = oid_to_hex((struct object_id  const  *)(& mp->obj));
        trace_printf_key_fl((char const   *)"notes-merge.c", 261, & trace_default_key,
                            (char const   *)"\t\tStored local change for %s: %.7s -> %.7s\n",
                            tmp___21, tmp___20, tmp___19);
      }
      goto while_break___3;
    }
    while_break___3: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  diff_flush(& opt___0);
  clear_pathspec(& opt___0.pathspec);
  return;
}
}
static void check_notes_merge_worktree(struct notes_merge_options *o )
{
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  char const   *tmp___6 ;
  int tmp___7 ;
  char const   *tmp___8 ;
  char const   *tmp___9 ;
  enum scld_error tmp___10 ;
  char const   *tmp___11 ;
  char const   *tmp___12 ;
  int tmp___13 ;

  {
  if (! o->has_worktree) {
    tmp___4 = git_path((char const   *)"NOTES_MERGE_WORKTREE");
    tmp___5 = file_exists(tmp___4);
    if (tmp___5) {
      tmp___6 = git_path((char const   *)"NOTES_MERGE_WORKTREE");
      tmp___7 = is_empty_dir(tmp___6);
      if (! tmp___7) {
        tmp___3 = advice_enabled((enum advice_type )23);
        if (tmp___3) {
          tmp = git_path((char const   *)"NOTES_MERGE_*");
          tmp___0 = _((char const   *)"You have not concluded your previous notes merge (%s exists).\nPlease, use \'git notes merge --commit\' or \'git notes merge --abort\' to commit/abort the previous merge before you start a new notes merge.");
          die((char const   *)tmp___0, tmp);
        } else {
          tmp___1 = git_path((char const   *)"NOTES_MERGE_*");
          tmp___2 = _((char const   *)"You have not concluded your notes merge (%s exists).");
          die((char const   *)tmp___2, tmp___1);
        }
      }
    }
    tmp___9 = git_path((char const   *)"NOTES_MERGE_WORKTREE/.test");
    tmp___10 = safe_create_leading_directories_const(tmp___9);
    if (tmp___10) {
      tmp___8 = git_path((char const   *)"NOTES_MERGE_WORKTREE");
      die_errno((char const   *)"unable to create directory %s", tmp___8);
    }
    o->has_worktree = 1U;
  } else {
    tmp___12 = git_path((char const   *)"NOTES_MERGE_WORKTREE");
    tmp___13 = file_exists(tmp___12);
    if (! tmp___13) {
      tmp___11 = git_path((char const   *)"NOTES_MERGE_WORKTREE");
      die((char const   *)"missing \'%s\'. This should not happen", tmp___11);
    }
  }
  return;
}
}
static void write_buf_to_worktree(struct object_id  const  *obj , char const   *buf___19 ,
                                  unsigned long size )
{
  int fd ;
  char *path___6 ;
  char *tmp ;
  char *tmp___0 ;
  enum scld_error tmp___1 ;
  ssize_t ret___67 ;
  ssize_t tmp___2 ;
  int *tmp___3 ;

  {
  tmp = oid_to_hex(obj);
  tmp___0 = git_pathdup((char const   *)"NOTES_MERGE_WORKTREE/%s", tmp);
  path___6 = tmp___0;
  tmp___1 = safe_create_leading_directories_const((char const   *)path___6);
  if (tmp___1) {
    die_errno((char const   *)"unable to create directory for \'%s\'", path___6);
  }
  fd = xopen((char const   *)path___6, 193, 0666);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (size > 0UL)) {
      goto while_break;
    }
    tmp___2 = write_in_full(fd, (void const   *)buf___19, size);
    ret___67 = tmp___2;
    if (ret___67 < 0L) {
      tmp___3 = __errno_location();
      if (*tmp___3 == 32) {
        goto while_break;
      }
      die_errno((char const   *)"notes-merge");
    }
    size -= (unsigned long )ret___67;
    buf___19 += ret___67;
  }
  while_break: /* CIL Label */ ;
  }
  close(fd);
  free((void *)path___6);
  return;
}
}
static void write_note_to_worktree(struct object_id  const  *obj , struct object_id  const  *note )
{
  enum object_type type___0 ;
  unsigned long size ;
  void *buf___19 ;
  void *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;

  {
  tmp = repo_read_object_file(the_repository, note, & type___0, & size);
  buf___19 = tmp;
  if (! buf___19) {
    tmp___0 = oid_to_hex(obj);
    tmp___1 = oid_to_hex(note);
    die((char const   *)"cannot read note %s for object %s", tmp___1, tmp___0);
  }
  if ((int )type___0 != 3) {
    tmp___2 = oid_to_hex(obj);
    tmp___3 = oid_to_hex(note);
    die((char const   *)"blob expected in note %s for object %s", tmp___3, tmp___2);
  }
  write_buf_to_worktree(obj, (char const   *)buf___19, size);
  free(buf___19);
  return;
}
}
static int ll_merge_in_worktree(struct notes_merge_options *o , struct notes_merge_pair *p___0 )
{
  mmbuffer_t result_buf ;
  mmfile_t base ;
  mmfile_t local___0 ;
  mmfile_t remote ;
  int status ;
  char *tmp ;

  {
  read_mmblob(& base, (struct object_id  const  *)(& p___0->base));
  read_mmblob(& local___0, (struct object_id  const  *)(& p___0->local));
  read_mmblob(& remote, (struct object_id  const  *)(& p___0->remote));
  tmp = oid_to_hex((struct object_id  const  *)(& p___0->obj));
  status = ll_merge(& result_buf, (char const   *)tmp, & base, (char const   *)((void *)0),
                    & local___0, o->local_ref, & remote, o->remote_ref, (o->repo)->index,
                    (struct ll_merge_options  const  *)((void *)0));
  free((void *)base.ptr);
  free((void *)local___0.ptr);
  free((void *)remote.ptr);
  if (status < 0) {
    die((char const   *)"Failed to execute internal merge");
  } else
  if (! result_buf.ptr) {
    die((char const   *)"Failed to execute internal merge");
  }
  write_buf_to_worktree((struct object_id  const  *)(& p___0->obj), (char const   *)result_buf.ptr,
                        (unsigned long )result_buf.size);
  free((void *)result_buf.ptr);
  return (status);
}
}
static int merge_one_change_manual(struct notes_merge_options *o , struct notes_merge_pair *p___0 ,
                                   struct notes_tree *t )
{
  char const   *lref ;
  char const   *tmp ;
  char const   *rref ;
  char const   *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  char *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  char *tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  char *tmp___13 ;
  char const   *reason ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  char *tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;

  {
  if (o->local_ref) {
    tmp = o->local_ref;
  } else {
    tmp = (char const   *)"local version";
  }
  lref = tmp;
  if (o->remote_ref) {
    tmp___0 = o->remote_ref;
  } else {
    tmp___0 = (char const   *)"remote version";
  }
  rref = tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___5 = trace_pass_fl(& trace_default_key);
    if (tmp___5) {
      tmp___1 = oid_to_hex((struct object_id  const  *)(& p___0->remote));
      tmp___2 = oid_to_hex((struct object_id  const  *)(& p___0->local));
      tmp___3 = oid_to_hex((struct object_id  const  *)(& p___0->base));
      tmp___4 = oid_to_hex((struct object_id  const  *)(& p___0->obj));
      trace_printf_key_fl((char const   *)"notes-merge.c", 380, & trace_default_key,
                          (char const   *)"\t\t\tmerge_one_change_manual(obj = %.7s, base = %.7s, local = %.7s, remote = %.7s)\n",
                          tmp___4, tmp___3, tmp___2, tmp___1);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (! o->has_worktree) {
    strbuf_addstr(& o->commit_msg, (char const   *)"\n\nConflicts:\n");
  }
  tmp___6 = oid_to_hex((struct object_id  const  *)(& p___0->obj));
  strbuf_addf(& o->commit_msg, (char const   *)"\t%s\n", tmp___6);
  if (o->verbosity >= 2) {
    tmp___7 = oid_to_hex((struct object_id  const  *)(& p___0->obj));
    printf((char const   *)"Auto-merging notes for %s\n", tmp___7);
  }
  check_notes_merge_worktree(o);
  tmp___21 = is_null_oid((struct object_id  const  *)(& p___0->local));
  if (tmp___21) {
    tmp___8 = is_null_oid((struct object_id  const  *)(& p___0->remote));
    if (tmp___8) {
      tmp___9 = 0;
    } else {
      tmp___9 = 1;
    }
    assert(tmp___9);
    if (o->verbosity >= 1) {
      tmp___10 = oid_to_hex((struct object_id  const  *)(& p___0->obj));
      printf((char const   *)"CONFLICT (delete/modify): Notes for object %s deleted in %s and modified in %s. Version from %s left in tree.\n",
             tmp___10, lref, rref, rref);
    }
    write_note_to_worktree((struct object_id  const  *)(& p___0->obj), (struct object_id  const  *)(& p___0->remote));
  } else {
    tmp___20 = is_null_oid((struct object_id  const  *)(& p___0->remote));
    if (tmp___20) {
      tmp___11 = is_null_oid((struct object_id  const  *)(& p___0->local));
      if (tmp___11) {
        tmp___12 = 0;
      } else {
        tmp___12 = 1;
      }
      assert(tmp___12);
      if (o->verbosity >= 1) {
        tmp___13 = oid_to_hex((struct object_id  const  *)(& p___0->obj));
        printf((char const   *)"CONFLICT (delete/modify): Notes for object %s deleted in %s and modified in %s. Version from %s left in tree.\n",
               tmp___13, rref, lref, lref);
      }
      write_note_to_worktree((struct object_id  const  *)(& p___0->obj), (struct object_id  const  *)(& p___0->local));
    } else {
      reason = (char const   *)"content";
      tmp___14 = is_null_oid((struct object_id  const  *)(& p___0->base));
      if (tmp___14) {
        reason = (char const   *)"add/add";
      }
      tmp___15 = is_null_oid((struct object_id  const  *)(& p___0->local));
      if (tmp___15) {
        tmp___16 = 0;
      } else {
        tmp___16 = 1;
      }
      assert(tmp___16);
      tmp___17 = is_null_oid((struct object_id  const  *)(& p___0->remote));
      if (tmp___17) {
        tmp___18 = 0;
      } else {
        tmp___18 = 1;
      }
      assert(tmp___18);
      if (o->verbosity >= 1) {
        tmp___19 = oid_to_hex((struct object_id  const  *)(& p___0->obj));
        printf((char const   *)"CONFLICT (%s): Merge conflict in notes for object %s\n",
               reason, tmp___19);
      }
      ll_merge_in_worktree(o, p___0);
    }
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___22 = trace_pass_fl(& trace_default_key);
    if (tmp___22) {
      trace_printf_key_fl((char const   *)"notes-merge.c", 423, & trace_default_key,
                          (char const   *)"\t\t\tremoving from partial merge result\n");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  remove_note(t, (unsigned char const   *)(p___0->obj.hash));
  return (1);
}
}
static int merge_one_change(struct notes_merge_options *o , struct notes_merge_pair *p___0 ,
                            struct notes_tree *t )
{
  int tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;
  int tmp___6 ;

  {
  {
  if ((unsigned int )o->strategy == 0U) {
    goto case_0;
  }
  if ((unsigned int )o->strategy == 1U) {
    goto case_1;
  }
  if ((unsigned int )o->strategy == 2U) {
    goto case_2;
  }
  if ((unsigned int )o->strategy == 3U) {
    goto case_3;
  }
  if ((unsigned int )o->strategy == 4U) {
    goto case_4;
  }
  goto switch_break;
  case_0: /* CIL Label */
  tmp = merge_one_change_manual(o, p___0, t);
  return (tmp);
  case_1: /* CIL Label */
  if (o->verbosity >= 2) {
    tmp___0 = oid_to_hex((struct object_id  const  *)(& p___0->obj));
    printf((char const   *)"Using local notes for %s\n", tmp___0);
  }
  return (0);
  case_2: /* CIL Label */
  if (o->verbosity >= 2) {
    tmp___1 = oid_to_hex((struct object_id  const  *)(& p___0->obj));
    printf((char const   *)"Using remote notes for %s\n", tmp___1);
  }
  tmp___2 = add_note(t, (struct object_id  const  *)(& p___0->obj), (struct object_id  const  *)(& p___0->remote),
                     & combine_notes_overwrite);
  if (tmp___2) {
    BUG_fl((char const   *)"notes-merge.c", 451, (char const   *)"combine_notes_overwrite failed");
  }
  return (0);
  case_3: /* CIL Label */
  if (o->verbosity >= 2) {
    tmp___3 = oid_to_hex((struct object_id  const  *)(& p___0->obj));
    printf((char const   *)"Concatenating local and remote notes for %s\n", tmp___3);
  }
  tmp___4 = add_note(t, (struct object_id  const  *)(& p___0->obj), (struct object_id  const  *)(& p___0->remote),
                     & combine_notes_concatenate);
  if (tmp___4) {
    die((char const   *)"failed to concatenate notes (combine_notes_concatenate)");
  }
  return (0);
  case_4: /* CIL Label */
  if (o->verbosity >= 2) {
    tmp___5 = oid_to_hex((struct object_id  const  *)(& p___0->obj));
    printf((char const   *)"Concatenating unique lines in local and remote notes for %s\n",
           tmp___5);
  }
  tmp___6 = add_note(t, (struct object_id  const  *)(& p___0->obj), (struct object_id  const  *)(& p___0->remote),
                     & combine_notes_cat_sort_uniq);
  if (tmp___6) {
    die((char const   *)"failed to concatenate notes (combine_notes_cat_sort_uniq)");
  }
  return (0);
  switch_break: /* CIL Label */ ;
  }
  die((char const   *)"Unknown strategy (%i).", (unsigned int )o->strategy);
}
}
static int merge_changes(struct notes_merge_options *o , struct notes_merge_pair *changes ,
                         int *num_changes , struct notes_tree *t )
{
  int i ;
  int conflicts ;
  int tmp ;
  struct notes_merge_pair *p___0 ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;

  {
  conflicts = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = trace_pass_fl(& trace_default_key);
    if (tmp) {
      trace_printf_key_fl((char const   *)"notes-merge.c", 479, & trace_default_key,
                          (char const   *)"\tmerge_changes(num_changes = %i)\n", *num_changes);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < *num_changes)) {
      goto while_break___0;
    }
    p___0 = changes + i;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      tmp___4 = trace_pass_fl(& trace_default_key);
      if (tmp___4) {
        tmp___0 = oid_to_hex((struct object_id  const  *)(& p___0->remote));
        tmp___1 = oid_to_hex((struct object_id  const  *)(& p___0->local));
        tmp___2 = oid_to_hex((struct object_id  const  *)(& p___0->base));
        tmp___3 = oid_to_hex((struct object_id  const  *)(& p___0->obj));
        trace_printf_key_fl((char const   *)"notes-merge.c", 485, & trace_default_key,
                            (char const   *)"\t\t%.7s: %.7s -> %.7s/%.7s\n", tmp___3,
                            tmp___2, tmp___1, tmp___0);
      }
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
    tmp___14 = oideq((struct object_id  const  *)(& p___0->base), (struct object_id  const  *)(& p___0->remote));
    if (tmp___14) {
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        tmp___5 = trace_pass_fl(& trace_default_key);
        if (tmp___5) {
          trace_printf_key_fl((char const   *)"notes-merge.c", 489, & trace_default_key,
                              (char const   *)"\t\t\tskipping (no remote change)\n");
        }
        goto while_break___2;
      }
      while_break___2: /* CIL Label */ ;
      }
    } else {
      tmp___13 = oideq((struct object_id  const  *)(& p___0->local), (struct object_id  const  *)(& p___0->remote));
      if (tmp___13) {
        {
        while (1) {
          while_continue___3: /* CIL Label */ ;
          tmp___6 = trace_pass_fl(& trace_default_key);
          if (tmp___6) {
            trace_printf_key_fl((char const   *)"notes-merge.c", 492, & trace_default_key,
                                (char const   *)"\t\t\tskipping (local == remote)\n");
          }
          goto while_break___3;
        }
        while_break___3: /* CIL Label */ ;
        }
      } else {
        tmp___11 = oideq((struct object_id  const  *)(& p___0->local), (struct object_id  const  *)(& uninitialized));
        if (tmp___11) {
          goto _L;
        } else {
          tmp___12 = oideq((struct object_id  const  *)(& p___0->local), (struct object_id  const  *)(& p___0->base));
          if (tmp___12) {
            _L: /* CIL Label */
            {
            while (1) {
              while_continue___4: /* CIL Label */ ;
              tmp___7 = trace_pass_fl(& trace_default_key);
              if (tmp___7) {
                trace_printf_key_fl((char const   *)"notes-merge.c", 496, & trace_default_key,
                                    (char const   *)"\t\t\tno local change, adopted remote\n");
              }
              goto while_break___4;
            }
            while_break___4: /* CIL Label */ ;
            }
            tmp___8 = add_note(t, (struct object_id  const  *)(& p___0->obj), (struct object_id  const  *)(& p___0->remote),
                               & combine_notes_overwrite);
            if (tmp___8) {
              BUG_fl((char const   *)"notes-merge.c", 499, (char const   *)"combine_notes_overwrite failed");
            }
          } else {
            {
            while (1) {
              while_continue___5: /* CIL Label */ ;
              tmp___9 = trace_pass_fl(& trace_default_key);
              if (tmp___9) {
                trace_printf_key_fl((char const   *)"notes-merge.c", 502, & trace_default_key,
                                    (char const   *)"\t\t\tneed content-level merge\n");
              }
              goto while_break___5;
            }
            while_break___5: /* CIL Label */ ;
            }
            tmp___10 = merge_one_change(o, p___0, t);
            conflicts += tmp___10;
          }
        }
      }
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (conflicts);
}
}
static int merge_from_diffs(struct notes_merge_options *o , struct object_id  const  *base ,
                            struct object_id  const  *local___0 , struct object_id  const  *remote ,
                            struct notes_tree *t )
{
  struct notes_merge_pair *changes ;
  int num_changes ;
  int conflicts ;
  char *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = trace_pass_fl(& trace_default_key);
    if (tmp___2) {
      tmp = oid_to_hex(remote);
      tmp___0 = oid_to_hex(local___0);
      tmp___1 = oid_to_hex(base);
      trace_printf_key_fl((char const   *)"notes-merge.c", 521, & trace_default_key,
                          (char const   *)"\tmerge_from_diffs(base = %.7s, local = %.7s, remote = %.7s)\n",
                          tmp___1, tmp___0, tmp);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  changes = diff_tree_remote(o, base, remote, & num_changes);
  diff_tree_local(o, changes, num_changes, base, local___0);
  conflicts = merge_changes(o, changes, & num_changes, t);
  free((void *)changes);
  if (o->verbosity >= 4) {
    if (t->dirty) {
      tmp___3 = "Merge result: %i unmerged notes and a dirty notes tree\n";
    } else {
      tmp___3 = "Merge result: %i unmerged notes and a clean notes tree\n";
    }
    printf((char const   *)tmp___3, conflicts);
  }
  if (conflicts) {
    tmp___4 = -1;
  } else {
    tmp___4 = 1;
  }
  return (tmp___4);
}
}
int notes_merge(struct notes_merge_options *o , struct notes_tree *local_tree , struct object_id *result_oid )
{
  struct object_id local_oid ;
  struct object_id remote_oid ;
  struct commit *local___0 ;
  struct commit *remote ;
  struct commit_list *bases ;
  struct object_id  const  *base_oid ;
  struct object_id  const  *base_tree_oid ;
  int result___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  char *tmp___10 ;
  int tmp___11 ;
  char *tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  struct object_id *tmp___15 ;
  char *tmp___16 ;
  struct object_id *tmp___17 ;
  char *tmp___18 ;
  char *tmp___19 ;
  char *tmp___20 ;
  char *tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  struct object_id *tmp___24 ;
  struct object_id *tmp___25 ;
  struct commit_list *parents ;
  char *tmp___26 ;
  int tmp___27 ;

  {
  bases = (struct commit_list *)((void *)0);
  result___0 = 0;
  if (o->local_ref) {
    if (o->remote_ref) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  assert(tmp);
  tmp___0 = strcmp(o->local_ref, (char const   *)local_tree->ref);
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  assert(tmp___1);
  oidclr(result_oid);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = trace_pass_fl(& trace_default_key);
    if (tmp___2) {
      trace_printf_key_fl((char const   *)"notes-merge.c", 553, & trace_default_key,
                          (char const   *)"notes_merge(o->local_ref = %s, o->remote_ref = %s)\n",
                          o->local_ref, o->remote_ref);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___6 = read_ref_full(o->local_ref, 0, & local_oid, (int *)((void *)0));
  if (tmp___6) {
    die((char const   *)"Failed to resolve local notes ref \'%s\'", o->local_ref);
  } else {
    tmp___4 = check_refname_format(o->local_ref, 0);
    if (tmp___4) {
      _L: /* CIL Label */
      local___0 = lookup_commit_reference(o->repo, (struct object_id  const  *)(& local_oid));
      if (! local___0) {
        tmp___3 = oid_to_hex((struct object_id  const  *)(& local_oid));
        die((char const   *)"Could not parse local commit %s (%s)", tmp___3, o->local_ref);
      }
    } else {
      tmp___5 = is_null_oid((struct object_id  const  *)(& local_oid));
      if (tmp___5) {
        local___0 = (struct commit *)((void *)0);
      } else {
        goto _L;
      }
    }
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___8 = trace_pass_fl(& trace_default_key);
    if (tmp___8) {
      tmp___7 = oid_to_hex((struct object_id  const  *)(& local_oid));
      trace_printf_key_fl((char const   *)"notes-merge.c", 564, & trace_default_key,
                          (char const   *)"\tlocal commit: %.7s\n", tmp___7);
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___11 = repo_get_oid(the_repository, o->remote_ref, & remote_oid);
  if (tmp___11) {
    tmp___9 = check_refname_format(o->remote_ref, 0);
    if (tmp___9) {
      die((char const   *)"Failed to resolve remote notes ref \'%s\'", o->remote_ref);
    } else {
      oidclr(& remote_oid);
      remote = (struct commit *)((void *)0);
    }
  } else {
    remote = lookup_commit_reference(o->repo, (struct object_id  const  *)(& remote_oid));
    if (! remote) {
      tmp___10 = oid_to_hex((struct object_id  const  *)(& remote_oid));
      die((char const   *)"Could not parse remote commit %s (%s)", tmp___10, o->remote_ref);
    }
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    tmp___13 = trace_pass_fl(& trace_default_key);
    if (tmp___13) {
      tmp___12 = oid_to_hex((struct object_id  const  *)(& remote_oid));
      trace_printf_key_fl((char const   *)"notes-merge.c", 583, & trace_default_key,
                          (char const   *)"\tremote commit: %.7s\n", tmp___12);
    }
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  if (! local___0) {
    if (! remote) {
      die((char const   *)"Cannot merge empty notes ref (%s) into empty notes ref (%s)",
          o->remote_ref, o->local_ref);
    }
  }
  if (! local___0) {
    oidcpy(result_oid, (struct object_id  const  *)(& remote_oid));
    goto found_result;
  }
  if (! remote) {
    oidcpy(result_oid, (struct object_id  const  *)(& local_oid));
    goto found_result;
  }
  if (local___0) {
    if (remote) {
      tmp___14 = 1;
    } else {
      tmp___14 = 0;
    }
  } else {
    tmp___14 = 0;
  }
  assert(tmp___14);
  bases = repo_get_merge_bases(the_repository, local___0, remote);
  if (! bases) {
    base_oid = null_oid();
    base_tree_oid = (struct object_id  const  *)(the_repository->hash_algo)->empty_tree;
    if (o->verbosity >= 4) {
      printf((char const   *)"No merge base found; doing history-less merge\n");
    }
  } else
  if (! bases->next) {
    base_oid = (struct object_id  const  *)(& (bases->item)->object.oid);
    tmp___15 = get_commit_tree_oid((struct commit  const  *)bases->item);
    base_tree_oid = (struct object_id  const  *)tmp___15;
    if (o->verbosity >= 4) {
      tmp___16 = oid_to_hex(base_oid);
      printf((char const   *)"One merge base found (%.7s)\n", tmp___16);
    }
  } else {
    base_oid = (struct object_id  const  *)(& (bases->item)->object.oid);
    tmp___17 = get_commit_tree_oid((struct commit  const  *)bases->item);
    base_tree_oid = (struct object_id  const  *)tmp___17;
    if (o->verbosity >= 3) {
      tmp___18 = oid_to_hex(base_oid);
      printf((char const   *)"Multiple merge bases found. Using the first (%.7s)\n",
             tmp___18);
    }
  }
  if (o->verbosity >= 4) {
    tmp___19 = oid_to_hex(base_oid);
    tmp___20 = oid_to_hex((struct object_id  const  *)(& local___0->object.oid));
    tmp___21 = oid_to_hex((struct object_id  const  *)(& remote->object.oid));
    printf((char const   *)"Merging remote commit %.7s into local commit %.7s with merge-base %.7s\n",
           tmp___21, tmp___20, tmp___19);
  }
  tmp___22 = oideq((struct object_id  const  *)(& remote->object.oid), base_oid);
  if (tmp___22) {
    if (o->verbosity >= 2) {
      printf_ln((char const   *)"Already up to date.");
    }
    oidcpy(result_oid, (struct object_id  const  *)(& local___0->object.oid));
    goto found_result;
  }
  tmp___23 = oideq((struct object_id  const  *)(& local___0->object.oid), base_oid);
  if (tmp___23) {
    if (o->verbosity >= 2) {
      printf((char const   *)"Fast-forward\n");
    }
    oidcpy(result_oid, (struct object_id  const  *)(& remote->object.oid));
    goto found_result;
  }
  tmp___24 = get_commit_tree_oid((struct commit  const  *)remote);
  tmp___25 = get_commit_tree_oid((struct commit  const  *)local___0);
  result___0 = merge_from_diffs(o, base_tree_oid, (struct object_id  const  *)tmp___25,
                                (struct object_id  const  *)tmp___24, local_tree);
  if (result___0 != 0) {
    parents = (struct commit_list *)((void *)0);
    commit_list_insert(remote, & parents);
    commit_list_insert(local___0, & parents);
    create_notes_commit(o->repo, local_tree, parents, (char const   *)o->commit_msg.buf,
                        o->commit_msg.len, result_oid);
  }
  found_result:
  free_commit_list(bases);
  strbuf_release(& o->commit_msg);
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    tmp___27 = trace_pass_fl(& trace_default_key);
    if (tmp___27) {
      tmp___26 = oid_to_hex((struct object_id  const  *)result_oid);
      trace_printf_key_fl((char const   *)"notes-merge.c", 660, & trace_default_key,
                          (char const   *)"notes_merge(): result = %i, result_oid = %.7s\n",
                          result___0, tmp___26);
    }
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  return (result___0);
}
}
int notes_merge_commit(struct notes_merge_options *o , struct notes_tree *partial_tree ,
                       struct commit *partial_commit , struct object_id *result_oid )
{
  DIR *dir ;
  struct dirent *e ;
  struct strbuf path___6 ;
  char const   *buffer___5 ;
  void const   *tmp ;
  char const   *msg___5 ;
  char *tmp___0 ;
  int baselen ;
  struct stat st ;
  struct object_id obj_oid ;
  struct object_id blob_oid ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;
  char *tmp___6 ;
  size_t tmp___7 ;
  char *tmp___8 ;

  {
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  tmp = repo_get_commit_buffer(the_repository, (struct commit  const  *)partial_commit,
                               (unsigned long *)((void *)0));
  buffer___5 = (char const   *)tmp;
  tmp___0 = strstr(buffer___5, (char const   *)"\n\n");
  msg___5 = (char const   *)tmp___0;
  git_path_buf(& path___6, (char const   *)"NOTES_MERGE_WORKTREE");
  if (o->verbosity >= 3) {
    printf((char const   *)"Committing notes in notes merge worktree at %s\n", path___6.buf);
  }
  if (! msg___5) {
    die((char const   *)"partial notes commit has empty message");
  } else
  if ((int const   )*(msg___5 + 2) == 0) {
    die((char const   *)"partial notes commit has empty message");
  }
  msg___5 += 2;
  dir = opendir((char const   *)path___6.buf);
  if (! dir) {
    die_errno((char const   *)"could not open %s", path___6.buf);
  }
  strbuf_addch(& path___6, '/');
  baselen = (int )path___6.len;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    e = readdir_skip_dot_and_dotdot(dir);
    if (! ((unsigned long )e != (unsigned long )((void *)0))) {
      goto while_break;
    }
    tmp___1 = get_oid_hex((char const   *)(e->d_name), & obj_oid);
    if (tmp___1) {
      if (o->verbosity >= 3) {
        printf((char const   *)"Skipping non-SHA1 entry \'%s%s\'\n", path___6.buf,
               e->d_name);
      }
      goto while_continue;
    }
    strbuf_addstr(& path___6, (char const   *)(e->d_name));
    tmp___2 = stat((char const   *)path___6.buf, & st);
    if (tmp___2) {
      die_errno((char const   *)"Failed to stat \'%s\'", path___6.buf);
    }
    tmp___3 = index_path((o->repo)->index, & blob_oid, (char const   *)path___6.buf,
                         & st, 1U);
    if (tmp___3) {
      die((char const   *)"Failed to write blob object from \'%s\'", path___6.buf);
    }
    tmp___4 = add_note(partial_tree, (struct object_id  const  *)(& obj_oid), (struct object_id  const  *)(& blob_oid),
                       (int (*)(struct object_id *cur_oid , struct object_id  const  *new_oid ))((void *)0));
    if (tmp___4) {
      die((char const   *)"Failed to add resolved note \'%s\' to notes tree", path___6.buf);
    }
    if (o->verbosity >= 4) {
      tmp___5 = oid_to_hex((struct object_id  const  *)(& blob_oid));
      tmp___6 = oid_to_hex((struct object_id  const  *)(& obj_oid));
      printf((char const   *)"Added resolved note for object %s: %s\n", tmp___6, tmp___5);
    }
    strbuf_setlen(& path___6, (size_t )baselen);
  }
  while_break: /* CIL Label */ ;
  }
  tmp___7 = strlen(msg___5);
  create_notes_commit(o->repo, partial_tree, partial_commit->parents, msg___5, tmp___7,
                      result_oid);
  repo_unuse_commit_buffer(the_repository, (struct commit  const  *)partial_commit,
                           (void const   *)buffer___5);
  if (o->verbosity >= 4) {
    tmp___8 = oid_to_hex((struct object_id  const  *)result_oid);
    printf((char const   *)"Finalized notes merge commit: %s\n", tmp___8);
  }
  strbuf_release(& path___6);
  closedir(dir);
  return (0);
}
}
int notes_merge_abort(struct notes_merge_options *o )
{
  struct strbuf buf___19 ;
  int ret___67 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  git_path_buf(& buf___19, (char const   *)"NOTES_MERGE_WORKTREE");
  if (o->verbosity >= 3) {
    printf((char const   *)"Removing notes merge worktree at %s/*\n", buf___19.buf);
  }
  ret___67 = remove_dir_recursively(& buf___19, 04);
  strbuf_release(& buf___19);
  return (ret___67);
}
}
void create_notes_commit(struct repository *r , struct notes_tree *t , struct commit_list *parents ,
                         char const   *msg___5 , size_t msg_len , struct object_id *result_oid )
{
  struct object_id tree_oid ;
  int tmp ;
  struct object_id parent_oid ;
  struct commit *parent ;
  struct commit *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  assert(t->initialized);
  tmp = write_notes_tree(t, & tree_oid);
  if (tmp) {
    die((char const   *)"Failed to write notes tree to database");
  }
  if (! parents) {
    tmp___2 = read_ref((char const   *)t->ref, & parent_oid);
    if (! tmp___2) {
      tmp___0 = lookup_commit(r, (struct object_id  const  *)(& parent_oid));
      parent = tmp___0;
      tmp___1 = repo_parse_commit(the_repository, parent);
      if (tmp___1) {
        die((char const   *)"Failed to find/parse commit %s", t->ref);
      }
      commit_list_insert(parent, & parents);
    }
  }
  tmp___3 = commit_tree(msg___5, msg_len, (struct object_id  const  *)(& tree_oid),
                        parents, result_oid, (char const   *)((void *)0), (char const   *)((void *)0));
  if (tmp___3) {
    die((char const   *)"Failed to commit notes tree to database");
  }
  return;
}
}
void commit_notes(struct repository *r , struct notes_tree *t , char const   *msg___5 )
{
  struct strbuf buf___19 ;
  struct object_id commit_oid ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (! t) {
    t = & default_notes_tree;
  }
  if (! t->initialized) {
    tmp = _((char const   *)"Cannot commit uninitialized/unreferenced notes tree");
    die((char const   *)tmp);
  } else
  if (! t->update_ref) {
    tmp = _((char const   *)"Cannot commit uninitialized/unreferenced notes tree");
    die((char const   *)tmp);
  } else
  if (! *(t->update_ref)) {
    tmp = _((char const   *)"Cannot commit uninitialized/unreferenced notes tree");
    die((char const   *)tmp);
  }
  if (! t->dirty) {
    return;
  }
  strbuf_addstr(& buf___19, msg___5);
  strbuf_complete_line(& buf___19);
  create_notes_commit(r, t, (struct commit_list *)((void *)0), (char const   *)buf___19.buf,
                      buf___19.len, & commit_oid);
  strbuf_insertstr(& buf___19, (size_t )0, (char const   *)"notes: ");
  update_ref((char const   *)buf___19.buf, (char const   *)t->update_ref, (struct object_id  const  *)(& commit_oid),
             (struct object_id  const  *)((void *)0), 0U, (enum action_on_err )1);
  strbuf_release(& buf___19);
  return;
}
}
int parse_notes_merge_strategy(char const   *v , enum notes_merge_strategy *s___1 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp___3 = strcmp(v, (char const   *)"manual");
  if (tmp___3) {
    tmp___2 = strcmp(v, (char const   *)"ours");
    if (tmp___2) {
      tmp___1 = strcmp(v, (char const   *)"theirs");
      if (tmp___1) {
        tmp___0 = strcmp(v, (char const   *)"union");
        if (tmp___0) {
          tmp = strcmp(v, (char const   *)"cat_sort_uniq");
          if (tmp) {
            return (-1);
          } else {
            *s___1 = (enum notes_merge_strategy )4;
          }
        } else {
          *s___1 = (enum notes_merge_strategy )3;
        }
      } else {
        *s___1 = (enum notes_merge_strategy )2;
      }
    } else {
      *s___1 = (enum notes_merge_strategy )1;
    }
  } else {
    *s___1 = (enum notes_merge_strategy )0;
  }
  return (0);
}
}
static combine_notes_fn parse_combine_notes_fn(char const   *v )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___2 = strcasecmp(v, (char const   *)"overwrite");
  if (tmp___2) {
    tmp___1 = strcasecmp(v, (char const   *)"ignore");
    if (tmp___1) {
      tmp___0 = strcasecmp(v, (char const   *)"concatenate");
      if (tmp___0) {
        tmp = strcasecmp(v, (char const   *)"cat_sort_uniq");
        if (tmp) {
          return ((combine_notes_fn )((void *)0));
        } else {
          return (& combine_notes_cat_sort_uniq);
        }
      } else {
        return (& combine_notes_concatenate);
      }
    } else {
      return (& combine_notes_ignore);
    }
  } else {
    return (& combine_notes_overwrite);
  }
}
}
static int notes_rewrite_config(char const   *k , char const   *v , void *cb )
{
  struct notes_rewrite_cfg *c___0 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  c___0 = (struct notes_rewrite_cfg *)cb;
  tmp___5 = starts_with(k, (char const   *)"notes.rewrite.");
  if (tmp___5) {
    tmp___6 = strcmp(k + 14, c___0->cmd);
    if (tmp___6) {
      goto _L___0;
    } else {
      c___0->enabled = git_config_bool(k, v);
      return (0);
    }
  } else
  _L___0: /* CIL Label */
  if (! c___0->mode_from_env) {
    tmp___4 = strcmp(k, (char const   *)"notes.rewritemode");
    if (tmp___4) {
      goto _L;
    } else {
      if (! v) {
        config_error_nonbool(k);
        tmp = const_error();
        return (tmp);
      }
      c___0->combine = parse_combine_notes_fn(v);
      if (! c___0->combine) {
        tmp___0 = _((char const   *)"Bad notes.rewriteMode value: \'%s\'");
        error((char const   *)tmp___0, v);
        const_error();
        return (1);
      }
      return (0);
    }
  } else
  _L: /* CIL Label */
  if (! c___0->refs_from_env) {
    tmp___3 = strcmp(k, (char const   *)"notes.rewriteref");
    if (! tmp___3) {
      tmp___2 = starts_with(v, (char const   *)"refs/notes/");
      if (tmp___2) {
        string_list_add_refs_by_glob(c___0->refs, v);
      } else {
        tmp___1 = _((char const   *)"Refusing to rewrite notes in %s (outside of refs/notes/)");
        warning((char const   *)tmp___1, v);
      }
      return (0);
    }
  }
  return (0);
}
}
struct notes_rewrite_cfg *init_copy_notes_for_rewrite(char const   *cmd )
{
  struct notes_rewrite_cfg *c___0 ;
  void *tmp ;
  char const   *rewrite_mode_env ;
  char *tmp___0 ;
  char const   *rewrite_refs_env ;
  char *tmp___1 ;
  void *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  tmp = xmalloc(sizeof(struct notes_rewrite_cfg ));
  c___0 = (struct notes_rewrite_cfg *)tmp;
  tmp___0 = getenv((char const   *)"GIT_NOTES_REWRITE_MODE");
  rewrite_mode_env = (char const   *)tmp___0;
  tmp___1 = getenv((char const   *)"GIT_NOTES_REWRITE_REF");
  rewrite_refs_env = (char const   *)tmp___1;
  c___0->cmd = cmd;
  c___0->enabled = 1;
  c___0->combine = & combine_notes_concatenate;
  tmp___2 = xcalloc((size_t )1, sizeof(*(c___0->refs)));
  c___0->refs = (struct string_list *)tmp___2;
  (c___0->refs)->strdup_strings = 1U;
  c___0->refs_from_env = 0;
  c___0->mode_from_env = 0;
  if (rewrite_mode_env) {
    c___0->mode_from_env = 1;
    c___0->combine = parse_combine_notes_fn(rewrite_mode_env);
    if (! c___0->combine) {
      tmp___3 = _((char const   *)"Bad %s value: \'%s\'");
      error((char const   *)tmp___3, "GIT_NOTES_REWRITE_MODE", rewrite_mode_env);
      const_error();
    }
  }
  if (rewrite_refs_env) {
    c___0->refs_from_env = 1;
    string_list_add_refs_from_colon_sep(c___0->refs, rewrite_refs_env);
  }
  git_config(& notes_rewrite_config, (void *)c___0);
  if (! c___0->enabled) {
    string_list_clear(c___0->refs, 0);
    free((void *)c___0->refs);
    free((void *)c___0);
    return ((struct notes_rewrite_cfg *)((void *)0));
  } else
  if (! (c___0->refs)->nr) {
    string_list_clear(c___0->refs, 0);
    free((void *)c___0->refs);
    free((void *)c___0);
    return ((struct notes_rewrite_cfg *)((void *)0));
  }
  c___0->trees = load_notes_trees(c___0->refs, 2);
  string_list_clear(c___0->refs, 0);
  free((void *)c___0->refs);
  return (c___0);
}
}
int copy_note_for_rewrite(struct notes_rewrite_cfg *c___0 , struct object_id  const  *from_obj ,
                          struct object_id  const  *to_obj )
{
  int ret___67 ;
  int i ;
  int tmp ;
  int tmp___0 ;

  {
  ret___67 = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(c___0->trees + i)) {
      goto while_break;
    }
    tmp = copy_note(*(c___0->trees + i), from_obj, to_obj, 1, c___0->combine);
    if (tmp) {
      tmp___0 = 1;
    } else
    if (ret___67) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
    ret___67 = tmp___0;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
void finish_copy_notes_for_rewrite(struct repository *r , struct notes_rewrite_cfg *c___0 ,
                                   char const   *msg___5 )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(c___0->trees + i)) {
      goto while_break;
    }
    commit_notes(r, *(c___0->trees + i), msg___5);
    free_notes(*(c___0->trees + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)c___0->trees);
  free((void *)c___0);
  return;
}
}
struct notes_tree default_notes_tree  ;
static double const   __ac_HASH_UPPER___54  =    (double const   )0.77;
__inline static void kh_resize_oid_set___54(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___54(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___54 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___54 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___54(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___54(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___54(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___54(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___54(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___54(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___54 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___54 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___54(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___54(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___54(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___54(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___54(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___54(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___54 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___54 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___54(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___54(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___54(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___54(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___39(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___39(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___54 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___54 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___39(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___39(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___39(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___39(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static struct string_list display_notes_refs  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static struct notes_tree **display_notes_trees  ;
static void load_subtree(struct notes_tree *t , struct leaf_node *subtree , struct int_node *node ,
                         unsigned int n ) ;
static void **note_tree_search(struct notes_tree *t , struct int_node **tree , unsigned char *n ,
                               unsigned char const   *key_sha1 )
{
  struct leaf_node *l ;
  unsigned char i ;
  void *p___0 ;
  void **tmp ;
  int tmp___0 ;
  void **tmp___1 ;
  void **tmp___2 ;
  int tmp___3 ;

  {
  p___0 = (*tree)->a[0];
  if (((uintptr_t )p___0 & 3UL) == 3UL) {
    l = (struct leaf_node *)((void *)((uintptr_t )p___0 & 18446744073709551612UL));
    tmp___0 = memcmp((void const   *)key_sha1, (void const   *)(l->key_oid.hash),
                     (size_t )l->key_oid.hash[(the_repository->hash_algo)->rawsz - 1UL]);
    if (! tmp___0) {
      (*tree)->a[0] = (void *)0;
      load_subtree(t, l, *tree, (unsigned int )*n);
      free((void *)l);
      tmp = note_tree_search(t, tree, n, key_sha1);
      return (tmp);
    }
  }
  i = (unsigned char )(((int const   )*(key_sha1 + ((int )*n >> 1)) >> ((~ ((int )*n) & 0x01) << 2)) & 15);
  p___0 = (*tree)->a[i];
  {
  if (((uintptr_t )p___0 & 3UL) == 1UL) {
    goto case_1;
  }
  if (((uintptr_t )p___0 & 3UL) == 3UL) {
    goto case_3;
  }
  goto switch_default;
  case_1: /* CIL Label */
  *tree = (struct int_node *)((void *)((uintptr_t )p___0 & 18446744073709551612UL));
  *n = (unsigned char )((int )*n + 1);
  tmp___1 = note_tree_search(t, tree, n, key_sha1);
  return (tmp___1);
  case_3: /* CIL Label */
  l = (struct leaf_node *)((void *)((uintptr_t )p___0 & 18446744073709551612UL));
  tmp___3 = memcmp((void const   *)key_sha1, (void const   *)(l->key_oid.hash), (size_t )l->key_oid.hash[(the_repository->hash_algo)->rawsz - 1UL]);
  if (! tmp___3) {
    (*tree)->a[i] = (void *)0;
    load_subtree(t, l, *tree, (unsigned int )*n);
    free((void *)l);
    tmp___2 = note_tree_search(t, tree, n, key_sha1);
    return (tmp___2);
  }
  switch_default: /* CIL Label */
  return (& (*tree)->a[i]);
  switch_break: /* CIL Label */ ;
  }
}
}
static struct leaf_node *note_tree_find(struct notes_tree *t , struct int_node *tree ,
                                        unsigned char n , unsigned char const   *key_sha1 )
{
  void **p___0 ;
  void **tmp ;
  struct leaf_node *l ;
  int tmp___0 ;

  {
  tmp = note_tree_search(t, & tree, & n, key_sha1);
  p___0 = tmp;
  if (((uintptr_t )*p___0 & 3UL) == 2UL) {
    l = (struct leaf_node *)((void *)((uintptr_t )*p___0 & 18446744073709551612UL));
    tmp___0 = hasheq(key_sha1, (unsigned char const   *)(l->key_oid.hash));
    if (tmp___0) {
      return (l);
    }
  }
  return ((struct leaf_node *)((void *)0));
}
}
static int note_tree_consolidate(struct int_node *tree , struct int_node *parent ,
                                 unsigned char index___2 )
{
  unsigned int i ;
  void *p___0 ;
  int tmp ;

  {
  p___0 = (void *)0;
  if (tree) {
    if (parent) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  assert(tmp);
  assert((unsigned long )((void *)((uintptr_t )parent->a[index___2] & 18446744073709551612UL)) == (unsigned long )tree);
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 16U)) {
      goto while_break;
    }
    if (((uintptr_t )tree->a[i] & 3UL) != 0UL) {
      if (p___0) {
        return (-2);
      }
      p___0 = tree->a[i];
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (p___0) {
    if (((uintptr_t )p___0 & 3UL) != 2UL) {
      return (-2);
    }
  }
  parent->a[index___2] = p___0;
  free((void *)tree);
  return (0);
}
}
static void note_tree_remove(struct notes_tree *t , struct int_node *tree , unsigned char n ,
                             struct leaf_node *entry )
{
  struct leaf_node *l ;
  struct int_node *parent_stack[32] ;
  unsigned char i ;
  unsigned char j ;
  void **p___0 ;
  void **tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = note_tree_search(t, & tree, & n, (unsigned char const   *)(entry->key_oid.hash));
  p___0 = tmp;
  assert(((uintptr_t )entry & 3UL) == 0UL);
  if (((uintptr_t )*p___0 & 3UL) != 2UL) {
    return;
  }
  l = (struct leaf_node *)((void *)((uintptr_t )*p___0 & 18446744073709551612UL));
  tmp___0 = oideq((struct object_id  const  *)(& l->key_oid), (struct object_id  const  *)(& entry->key_oid));
  if (! tmp___0) {
    return;
  }
  oidcpy(& entry->val_oid, (struct object_id  const  *)(& l->val_oid));
  free((void *)l);
  *p___0 = (void *)((uintptr_t )((void *)0));
  if (! n) {
    return;
  }
  parent_stack[0] = t->root;
  i = (unsigned char)0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((int )i < (int )n)) {
      goto while_break;
    }
    j = (unsigned char )(((int )entry->key_oid.hash[(int )i >> 1] >> ((~ ((int )i) & 0x01) << 2)) & 0x0f);
    parent_stack[(int )i + 1] = (struct int_node *)((void *)((uintptr_t )(parent_stack[i])->a[j] & 18446744073709551612UL));
    i = (unsigned char )((int )i + 1);
  }
  while_break: /* CIL Label */ ;
  }
  if ((int )i == (int )n) {
    if ((unsigned long )parent_stack[i] == (unsigned long )tree) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  assert(tmp___1);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if ((int )i > 0) {
      tmp___2 = note_tree_consolidate(parent_stack[i], parent_stack[(int )i - 1],
                                      (unsigned char )(((int )entry->key_oid.hash[((int )i - 1) >> 1] >> ((~ ((int )i - 1) & 0x01) << 2)) & 0x0f));
      if (tmp___2) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    i = (unsigned char )((int )i - 1);
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static int note_tree_insert(struct notes_tree *t , struct int_node *tree , unsigned char n ,
                            struct leaf_node *entry , unsigned char type___0 , int (*combine_notes)(struct object_id *cur_oid ,
                                                                                                    struct object_id  const  *new_oid ) )
{
  struct int_node *new_node ;
  struct leaf_node *l ;
  void **p___0 ;
  void **tmp ;
  int ret___67 ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  void *tmp___9 ;
  int tmp___10 ;

  {
  tmp = note_tree_search(t, & tree, & n, (unsigned char const   *)(entry->key_oid.hash));
  p___0 = tmp;
  ret___67 = 0;
  assert(((uintptr_t )entry & 3UL) == 0UL);
  l = (struct leaf_node *)((void *)((uintptr_t )*p___0 & 18446744073709551612UL));
  {
  if (((uintptr_t )*p___0 & 3UL) == 0UL) {
    goto case_0;
  }
  if (((uintptr_t )*p___0 & 3UL) == 2UL) {
    goto case_2;
  }
  if (((uintptr_t )*p___0 & 3UL) == 3UL) {
    goto case_3___0;
  }
  goto switch_break;
  case_0: /* CIL Label */
  assert(! *p___0);
  tmp___0 = is_null_oid((struct object_id  const  *)(& entry->val_oid));
  if (tmp___0) {
    free((void *)entry);
  } else {
    *p___0 = (void *)((uintptr_t )entry | (unsigned long )type___0);
  }
  return (0);
  case_2: /* CIL Label */
  {
  if ((int )type___0 == 2) {
    goto case_2___0;
  }
  if ((int )type___0 == 3) {
    goto case_3;
  }
  goto switch_break___0;
  case_2___0: /* CIL Label */
  tmp___3 = oideq((struct object_id  const  *)(& l->key_oid), (struct object_id  const  *)(& entry->key_oid));
  if (tmp___3) {
    tmp___1 = oideq((struct object_id  const  *)(& l->val_oid), (struct object_id  const  *)(& entry->val_oid));
    if (tmp___1) {
      free((void *)entry);
      return (0);
    }
    ret___67 = (*combine_notes)(& l->val_oid, (struct object_id  const  *)(& entry->val_oid));
    if (! ret___67) {
      tmp___2 = is_null_oid((struct object_id  const  *)(& l->val_oid));
      if (tmp___2) {
        note_tree_remove(t, tree, n, entry);
      }
    }
    free((void *)entry);
    return (ret___67);
  }
  goto switch_break___0;
  case_3: /* CIL Label */
  tmp___4 = memcmp((void const   *)(l->key_oid.hash), (void const   *)(entry->key_oid.hash),
                   (size_t )entry->key_oid.hash[(the_repository->hash_algo)->rawsz - 1UL]);
  if (! tmp___4) {
    load_subtree(t, entry, tree, (unsigned int )n);
    free((void *)entry);
    return (0);
  }
  goto switch_break___0;
  switch_break___0: /* CIL Label */ ;
  }
  goto switch_break;
  case_3___0: /* CIL Label */
  tmp___6 = memcmp((void const   *)(entry->key_oid.hash), (void const   *)(l->key_oid.hash),
                   (size_t )l->key_oid.hash[(the_repository->hash_algo)->rawsz - 1UL]);
  if (! tmp___6) {
    *p___0 = (void *)0;
    load_subtree(t, l, tree, (unsigned int )n);
    free((void *)l);
    tmp___5 = note_tree_insert(t, tree, n, entry, type___0, combine_notes);
    return (tmp___5);
  }
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  if (((uintptr_t )*p___0 & 3UL) == 2UL) {
    tmp___7 = 1;
  } else
  if (((uintptr_t )*p___0 & 3UL) == 3UL) {
    tmp___7 = 1;
  } else {
    tmp___7 = 0;
  }
  assert(tmp___7);
  tmp___8 = is_null_oid((struct object_id  const  *)(& entry->val_oid));
  if (tmp___8) {
    free((void *)entry);
    return (0);
  }
  tmp___9 = xcalloc((size_t )1, sizeof(struct int_node ));
  new_node = (struct int_node *)tmp___9;
  ret___67 = note_tree_insert(t, new_node, (unsigned char )((int )n + 1), l, (unsigned char )((uintptr_t )*p___0 & 3UL),
                              combine_notes);
  if (ret___67) {
    return (ret___67);
  }
  *p___0 = (void *)((uintptr_t )new_node | 1UL);
  tmp___10 = note_tree_insert(t, new_node, (unsigned char )((int )n + 1), entry, type___0,
                              combine_notes);
  return (tmp___10);
}
}
static void note_tree_free(struct int_node *tree )
{
  unsigned int i ;
  void *p___0 ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 16U)) {
      goto while_break;
    }
    p___0 = tree->a[i];
    {
    if (((uintptr_t )p___0 & 3UL) == 1UL) {
      goto case_1;
    }
    if (((uintptr_t )p___0 & 3UL) == 3UL) {
      goto case_3;
    }
    if (((uintptr_t )p___0 & 3UL) == 2UL) {
      goto case_3;
    }
    goto switch_break;
    case_1: /* CIL Label */
    note_tree_free((struct int_node *)((void *)((uintptr_t )p___0 & 18446744073709551612UL)));
    case_3: /* CIL Label */
    case_2: /* CIL Label */
    free((void *)((uintptr_t )p___0 & 18446744073709551612UL));
    switch_break: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int non_note_cmp(struct non_note  const  *a , struct non_note  const  *b___0 )
{
  int tmp ;

  {
  tmp = strcmp((char const   *)a->path, (char const   *)b___0->path);
  return (tmp);
}
}
static void add_non_note(struct notes_tree *t , char *path___6 , unsigned int mode___1 ,
                         unsigned char const   *sha1 )
{
  struct non_note *p___0 ;
  struct non_note *n ;
  void *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  p___0 = t->prev_non_note;
  tmp = xmalloc(sizeof(struct non_note ));
  n = (struct non_note *)tmp;
  n->next = (struct non_note *)((void *)0);
  n->path = path___6;
  n->mode = mode___1;
  oidread(& n->oid, sha1);
  t->prev_non_note = n;
  if (! t->first_non_note) {
    t->first_non_note = n;
    return;
  }
  tmp___1 = non_note_cmp((struct non_note  const  *)p___0, (struct non_note  const  *)n);
  if (! (tmp___1 < 0)) {
    tmp___0 = non_note_cmp((struct non_note  const  *)t->first_non_note, (struct non_note  const  *)n);
    if (tmp___0 <= 0) {
      p___0 = t->first_non_note;
    } else {
      n->next = t->first_non_note;
      t->first_non_note = n;
      return;
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (p___0->next) {
      tmp___2 = non_note_cmp((struct non_note  const  *)p___0->next, (struct non_note  const  *)n);
      if (! (tmp___2 <= 0)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___4 = non_note_cmp((struct non_note  const  *)p___0, (struct non_note  const  *)n);
  if (tmp___4 == 0) {
    tmp___3 = strcmp((char const   *)p___0->path, (char const   *)n->path);
    assert(tmp___3 == 0);
    p___0->mode = n->mode;
    oidcpy(& p___0->oid, (struct object_id  const  *)(& n->oid));
    free((void *)n);
    t->prev_non_note = p___0;
    return;
  }
  n->next = p___0->next;
  p___0->next = n;
  return;
}
}
static void load_subtree(struct notes_tree *t , struct leaf_node *subtree , struct int_node *node ,
                         unsigned int n )
{
  struct object_id object_oid ;
  size_t prefix_len___1 ;
  void *buf___19 ;
  struct tree_desc desc___0 ;
  struct name_entry entry ;
  unsigned int hashsz ;
  char *tmp ;
  unsigned char type___0 ;
  struct leaf_node *l ;
  size_t path_len ;
  size_t tmp___0 ;
  int tmp___1 ;
  size_t len___0 ;
  size_t tmp___2 ;
  int tmp___3 ;
  void *tmp___4 ;
  char *tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;
  struct strbuf non_note_path ;
  char const   *q ;
  char *tmp___8 ;
  size_t i ;
  char const   *tmp___9 ;
  char const   *tmp___10 ;
  char *tmp___11 ;
  int tmp___12 ;

  {
  hashsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  buf___19 = fill_tree_descriptor(the_repository, & desc___0, (struct object_id  const  *)(& subtree->val_oid));
  if (! buf___19) {
    tmp = oid_to_hex((struct object_id  const  *)(& subtree->val_oid));
    die((char const   *)"Could not read %s for notes-index", tmp);
  }
  prefix_len___1 = (size_t )subtree->key_oid.hash[(the_repository->hash_algo)->rawsz - 1UL];
  if (prefix_len___1 >= (size_t )hashsz) {
    BUG_fl((char const   *)"notes.c", 409, (char const   *)"prefix_len (%lu) is out of range",
           prefix_len___1);
  }
  if (prefix_len___1 * 2UL < (size_t )n) {
    BUG_fl((char const   *)"notes.c", 411, (char const   *)"prefix_len (%lu) is too small",
           prefix_len___1);
  }
  memcpy((void *)(object_oid.hash), (void const   *)(subtree->key_oid.hash), prefix_len___1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___12 = tree_entry(& desc___0, & entry);
    if (! tmp___12) {
      goto while_break;
    }
    tmp___0 = strlen(entry.path);
    path_len = tmp___0;
    if (path_len == 2UL * ((size_t )hashsz - prefix_len___1)) {
      if (! ((entry.mode & 61440U) == 32768U)) {
        goto handle_non_note;
      }
      tmp___1 = hex_to_bytes(object_oid.hash + prefix_len___1, entry.path, (size_t )hashsz - prefix_len___1);
      if (tmp___1) {
        goto handle_non_note;
      }
      type___0 = (unsigned char)2;
    } else
    if (path_len == 2UL) {
      len___0 = prefix_len___1;
      if (! ((entry.mode & 61440U) == 16384U)) {
        goto handle_non_note;
      }
      tmp___2 = len___0;
      len___0 ++;
      tmp___3 = hex_to_bytes(object_oid.hash + tmp___2, entry.path, (size_t )1);
      if (tmp___3) {
        goto handle_non_note;
      }
      memset((void *)(object_oid.hash + len___0), 0, ((size_t )hashsz - len___0) - 1UL);
      object_oid.hash[(the_repository->hash_algo)->rawsz - 1UL] = (unsigned char )len___0;
      type___0 = (unsigned char)3;
    } else {
      goto handle_non_note;
    }
    tmp___4 = xcalloc((size_t )1, sizeof(*l));
    l = (struct leaf_node *)tmp___4;
    oidcpy(& l->key_oid, (struct object_id  const  *)(& object_oid));
    oidcpy(& l->val_oid, (struct object_id  const  *)(& entry.oid));
    oid_set_algo(& l->key_oid, the_repository->hash_algo);
    oid_set_algo(& l->val_oid, the_repository->hash_algo);
    tmp___7 = note_tree_insert(t, node, (unsigned char )n, l, type___0, & combine_notes_concatenate);
    if (tmp___7) {
      tmp___5 = oid_to_hex((struct object_id  const  *)(& object_oid));
      if ((int )type___0 == 2) {
        tmp___6 = "note";
      } else {
        tmp___6 = "subtree";
      }
      die((char const   *)"Failed to load %s %s into notes tree from %s", tmp___6,
          tmp___5, t->ref);
    }
    goto while_continue;
    handle_non_note:
    non_note_path.alloc = 0UL;
    non_note_path.len = 0UL;
    non_note_path.buf = strbuf_slopbuf;
    tmp___8 = oid_to_hex((struct object_id  const  *)(& subtree->key_oid));
    q = (char const   *)tmp___8;
    i = (size_t )0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < prefix_len___1)) {
        goto while_break___0;
      }
      tmp___9 = q;
      q ++;
      strbuf_addch(& non_note_path, (int )*tmp___9);
      tmp___10 = q;
      q ++;
      strbuf_addch(& non_note_path, (int )*tmp___10);
      strbuf_addch(& non_note_path, '/');
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    strbuf_addstr(& non_note_path, entry.path);
    oid_set_algo(& entry.oid, the_repository->hash_algo);
    tmp___11 = strbuf_detach(& non_note_path, (size_t *)((void *)0));
    add_non_note(t, tmp___11, entry.mode, (unsigned char const   *)(entry.oid.hash));
  }
  while_break: /* CIL Label */ ;
  }
  free(buf___19);
  return;
}
}
static unsigned char determine_fanout(struct int_node *tree , unsigned char n , unsigned char fanout )
{
  unsigned int i ;

  {
  if ((int )n % 2) {
    return (fanout);
  } else
  if ((int )n > 2 * (int )fanout) {
    return (fanout);
  }
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 16U)) {
      goto while_break;
    }
    {
    if (((uintptr_t )tree->a[i] & 3UL) == 1UL) {
      goto case_1;
    }
    if (((uintptr_t )tree->a[i] & 3UL) == 3UL) {
      goto case_1;
    }
    goto switch_default;
    case_1: /* CIL Label */
    case_3: /* CIL Label */
    goto __Cont;
    switch_default: /* CIL Label */
    return (fanout);
    switch_break: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((unsigned char )((int )fanout + 1));
}
}
static void construct_path_with_fanout(unsigned char const   *hash___0 , unsigned char fanout ,
                                       char *path___6 )
{
  unsigned int i ;
  unsigned int j ;
  char const   *hex_hash ;
  char *tmp ;
  unsigned int tmp___0 ;
  unsigned int tmp___1 ;
  unsigned int tmp___2 ;
  unsigned int tmp___3 ;
  unsigned int tmp___4 ;

  {
  i = 0U;
  j = 0U;
  tmp = hash_to_hex(hash___0);
  hex_hash = (char const   *)tmp;
  assert((size_t )fanout < (the_repository->hash_algo)->rawsz);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! fanout) {
      goto while_break;
    }
    tmp___0 = i;
    i ++;
    tmp___1 = j;
    j ++;
    *(path___6 + tmp___0) = (char )*(hex_hash + tmp___1);
    tmp___2 = i;
    i ++;
    tmp___3 = j;
    j ++;
    *(path___6 + tmp___2) = (char )*(hex_hash + tmp___3);
    tmp___4 = i;
    i ++;
    *(path___6 + tmp___4) = (char )'/';
    fanout = (unsigned char )((int )fanout - 1);
  }
  while_break: /* CIL Label */ ;
  }
  xsnprintf(path___6 + i, (size_t )(96U - i), (char const   *)"%s", hex_hash + j);
  return;
}
}
static char path___2[96]  ;
static int for_each_note_helper(struct notes_tree *t , struct int_node *tree , unsigned char n ,
                                unsigned char fanout , int flags___0 , each_note_fn *fn ,
                                void *cb_data )
{
  unsigned int i ;
  void *p___0 ;
  int ret___67 ;
  struct leaf_node *l ;
  unsigned int path_len ;
  unsigned int tmp ;

  {
  ret___67 = 0;
  fanout = determine_fanout(tree, n, fanout);
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 16U)) {
      goto while_break;
    }
    redo:
    p___0 = tree->a[i];
    {
    if (((uintptr_t )p___0 & 3UL) == 1UL) {
      goto case_1;
    }
    if (((uintptr_t )p___0 & 3UL) == 3UL) {
      goto case_3;
    }
    if (((uintptr_t )p___0 & 3UL) == 2UL) {
      goto case_2;
    }
    goto switch_break;
    case_1: /* CIL Label */
    ret___67 = for_each_note_helper(t, (struct int_node *)((void *)((uintptr_t )p___0 & 18446744073709551612UL)),
                                    (unsigned char )((int )n + 1), fanout, flags___0,
                                    fn, cb_data);
    goto switch_break;
    case_3: /* CIL Label */
    l = (struct leaf_node *)((void *)((uintptr_t )p___0 & 18446744073709551612UL));
    if ((int )n < 2 * (int )fanout) {
      if (flags___0 & 2) {
        path_len = (unsigned int )((int )l->key_oid.hash[(the_repository->hash_algo)->rawsz - 1UL] * 2 + (int )fanout);
        assert(path_len < 95U);
        construct_path_with_fanout((unsigned char const   *)(l->key_oid.hash), fanout,
                                   path___2);
        if ((int )path___2[path_len - 1U] != 47) {
          tmp = path_len;
          path_len ++;
          path___2[tmp] = (char )'/';
        }
        path___2[path_len] = (char )'\000';
        ret___67 = (*fn)((struct object_id  const  *)(& l->key_oid), (struct object_id  const  *)(& l->val_oid),
                         path___2, cb_data);
      }
    }
    if ((int )n >= 2 * (int )fanout) {
      tree->a[i] = (void *)0;
      load_subtree(t, l, tree, (unsigned int )n);
      free((void *)l);
      goto redo;
    } else
    if (! (flags___0 & 1)) {
      tree->a[i] = (void *)0;
      load_subtree(t, l, tree, (unsigned int )n);
      free((void *)l);
      goto redo;
    }
    goto switch_break;
    case_2: /* CIL Label */
    l = (struct leaf_node *)((void *)((uintptr_t )p___0 & 18446744073709551612UL));
    construct_path_with_fanout((unsigned char const   *)(l->key_oid.hash), fanout,
                               path___2);
    ret___67 = (*fn)((struct object_id  const  *)(& l->key_oid), (struct object_id  const  *)(& l->val_oid),
                     path___2, cb_data);
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    if (ret___67) {
      return (ret___67);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
__inline static int matches_tree_write_stack(struct tree_write_stack *tws , char const   *full_path )
{
  int tmp ;

  {
  if ((int const   )*(full_path + 0) == (int const   )tws->path[0]) {
    if ((int const   )*(full_path + 1) == (int const   )tws->path[1]) {
      if ((int const   )*(full_path + 2) == 47) {
        tmp = 1;
      } else {
        tmp = 0;
      }
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static void write_tree_entry(struct strbuf *buf___19 , unsigned int mode___1 , char const   *path___6 ,
                             unsigned int path_len , unsigned char const   *hash___0 )
{


  {
  strbuf_addf(buf___19, (char const   *)"%o %.*s%c", mode___1, path_len, path___6,
              '\000');
  strbuf_add(buf___19, (void const   *)hash___0, (size_t )(the_repository->hash_algo)->rawsz);
  return;
}
}
static void tree_write_stack_init_subtree(struct tree_write_stack *tws , char const   *path___6 )
{
  struct tree_write_stack *n ;
  int tmp ;
  void *tmp___0 ;
  char tmp___1 ;

  {
  assert(! tws->next);
  if ((int )tws->path[0] == 0) {
    if ((int )tws->path[1] == 0) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  assert(tmp);
  tmp___0 = xmalloc(sizeof(struct tree_write_stack ));
  n = (struct tree_write_stack *)tmp___0;
  n->next = (struct tree_write_stack *)((void *)0);
  strbuf_init(& n->buf, (size_t )(256UL * (32UL + (the_repository->hash_algo)->hexsz)));
  tmp___1 = (char )'\000';
  n->path[1] = tmp___1;
  n->path[0] = tmp___1;
  tws->next = n;
  tws->path[0] = (char )*(path___6 + 0);
  tws->path[1] = (char )*(path___6 + 1);
  return;
}
}
static int tree_write_stack_finish_subtree(struct tree_write_stack *tws )
{
  int ret___67 ;
  struct tree_write_stack *n ;
  struct object_id s___1 ;
  char tmp ;

  {
  n = tws->next;
  if (n) {
    ret___67 = tree_write_stack_finish_subtree(n);
    if (ret___67) {
      return (ret___67);
    }
    ret___67 = write_object_file((void const   *)n->buf.buf, n->buf.len, tree_type,
                                 & s___1);
    if (ret___67) {
      return (ret___67);
    }
    strbuf_release(& n->buf);
    free((void *)n);
    tws->next = (struct tree_write_stack *)((void *)0);
    write_tree_entry(& tws->buf, 16384U, (char const   *)(tws->path), 2U, (unsigned char const   *)(s___1.hash));
    tmp = (char )'\000';
    tws->path[1] = tmp;
    tws->path[0] = tmp;
  }
  return (0);
}
}
static int write_each_note_helper(struct tree_write_stack *tws , char const   *path___6 ,
                                  unsigned int mode___1 , struct object_id  const  *oid )
{
  size_t path_len ;
  size_t tmp ;
  unsigned int n ;
  int ret___67 ;
  int tmp___0 ;
  void *tmp___1 ;

  {
  tmp = strlen(path___6);
  path_len = tmp;
  n = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tws) {
      if ((size_t )(3U * n) < path_len) {
        tmp___0 = matches_tree_write_stack(tws, path___6 + 3U * n);
        if (! tmp___0) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    n ++;
    tws = tws->next;
  }
  while_break: /* CIL Label */ ;
  }
  ret___67 = tree_write_stack_finish_subtree(tws);
  if (ret___67) {
    return (ret___67);
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if ((size_t )(3U * n + 2U) < path_len) {
      if (! ((int const   )*(path___6 + (3U * n + 2U)) == 47)) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    tree_write_stack_init_subtree(tws, path___6 + 3U * n);
    n ++;
    tws = tws->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___1 = memchr((void const   *)(path___6 + 3U * n), '/', path_len - (size_t )(3U * n));
  assert((unsigned long )tmp___1 == (unsigned long )((void *)0));
  write_tree_entry(& tws->buf, mode___1, path___6 + 3U * n, (unsigned int )(path_len - (size_t )(3U * n)),
                   (unsigned char const   *)(oid->hash));
  return (0);
}
}
static int write_each_non_note_until(char const   *note_path , struct write_each_note_data *d )
{
  struct non_note *p___0 ;
  struct non_note *n ;
  struct non_note *tmp ;
  int cmp___0 ;
  int ret___67 ;

  {
  p___0 = d->nn_prev;
  if (p___0) {
    tmp = p___0->next;
  } else {
    tmp = *(d->nn_list);
  }
  n = tmp;
  cmp___0 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (n) {
      if (! (! note_path)) {
        cmp___0 = strcmp((char const   *)n->path, note_path);
        if (! (cmp___0 <= 0)) {
          goto while_break;
        }
      }
    } else {
      goto while_break;
    }
    if (note_path) {
      if (! (cmp___0 == 0)) {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      ret___67 = write_each_note_helper(d->root, (char const   *)n->path, n->mode,
                                        (struct object_id  const  *)(& n->oid));
      if (ret___67) {
        return (ret___67);
      }
    }
    p___0 = n;
    n = n->next;
  }
  while_break: /* CIL Label */ ;
  }
  d->nn_prev = p___0;
  return (0);
}
}
static int write_each_note(struct object_id  const  *object_oid , struct object_id  const  *note_oid ,
                           char *note_path , void *cb_data )
{
  struct write_each_note_data *d ;
  size_t note_path_len ;
  size_t tmp ;
  unsigned int mode___1 ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  d = (struct write_each_note_data *)cb_data;
  tmp = strlen((char const   *)note_path);
  note_path_len = tmp;
  mode___1 = 33188U;
  if ((int )*(note_path + (note_path_len - 1UL)) == 47) {
    note_path_len --;
    *(note_path + note_path_len) = (char )'\000';
    mode___1 = 16384U;
  }
  assert(note_path_len <= (size_t )(64UL + ((the_repository->hash_algo)->rawsz - 1UL)));
  tmp___0 = write_each_non_note_until((char const   *)note_path, d);
  if (tmp___0) {
    tmp___2 = 1;
  } else {
    tmp___1 = write_each_note_helper(d->root, (char const   *)note_path, mode___1,
                                     note_oid);
    if (tmp___1) {
      tmp___2 = 1;
    } else {
      tmp___2 = 0;
    }
  }
  return (tmp___2);
}
}
static int prune_notes_helper(struct object_id  const  *object_oid , struct object_id  const  *note_oid ,
                              char *note_path , void *cb_data )
{
  struct note_delete_list **l ;
  struct note_delete_list *n ;
  int tmp ;
  void *tmp___0 ;

  {
  l = (struct note_delete_list **)cb_data;
  tmp = repo_has_object_file(the_repository, object_oid);
  if (tmp) {
    return (0);
  }
  tmp___0 = xmalloc(sizeof(*n));
  n = (struct note_delete_list *)tmp___0;
  n->next = *l;
  n->sha1 = (unsigned char const   *)(object_oid->hash);
  *l = n;
  return (0);
}
}
int combine_notes_concatenate(struct object_id *cur_oid , struct object_id  const  *new_oid )
{
  char *cur_msg ;
  char *new_msg ;
  char *buf___19 ;
  unsigned long cur_len ;
  unsigned long new_len ;
  unsigned long buf_len ;
  enum object_type cur_type ;
  enum object_type new_type ;
  int ret___67 ;
  void *tmp ;
  int tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;
  void *tmp___3 ;

  {
  cur_msg = (char *)((void *)0);
  new_msg = (char *)((void *)0);
  tmp___0 = is_null_oid(new_oid);
  if (! tmp___0) {
    tmp = repo_read_object_file(the_repository, new_oid, & new_type, & new_len);
    new_msg = (char *)tmp;
  }
  if (! new_msg) {
    free((void *)new_msg);
    return (0);
  } else
  if (! new_len) {
    free((void *)new_msg);
    return (0);
  } else
  if ((int )new_type != 3) {
    free((void *)new_msg);
    return (0);
  }
  tmp___2 = is_null_oid((struct object_id  const  *)cur_oid);
  if (! tmp___2) {
    tmp___1 = repo_read_object_file(the_repository, (struct object_id  const  *)cur_oid,
                                    & cur_type, & cur_len);
    cur_msg = (char *)tmp___1;
  }
  if (! cur_msg) {
    free((void *)cur_msg);
    free((void *)new_msg);
    oidcpy(cur_oid, new_oid);
    return (0);
  } else
  if (! cur_len) {
    free((void *)cur_msg);
    free((void *)new_msg);
    oidcpy(cur_oid, new_oid);
    return (0);
  } else
  if ((int )cur_type != 3) {
    free((void *)cur_msg);
    free((void *)new_msg);
    oidcpy(cur_oid, new_oid);
    return (0);
  }
  if ((int )*(cur_msg + (cur_len - 1UL)) == 10) {
    cur_len --;
  }
  buf_len = (cur_len + 2UL) + new_len;
  tmp___3 = xmalloc(buf_len);
  buf___19 = (char *)tmp___3;
  memcpy((void *)buf___19, (void const   *)cur_msg, cur_len);
  *(buf___19 + cur_len) = (char )'\n';
  *(buf___19 + (cur_len + 1UL)) = (char )'\n';
  memcpy((void *)((buf___19 + cur_len) + 2), (void const   *)new_msg, new_len);
  free((void *)cur_msg);
  free((void *)new_msg);
  ret___67 = write_object_file((void const   *)buf___19, buf_len, blob_type, cur_oid);
  free((void *)buf___19);
  return (ret___67);
}
}
int combine_notes_overwrite(struct object_id *cur_oid , struct object_id  const  *new_oid )
{


  {
  oidcpy(cur_oid, new_oid);
  return (0);
}
}
int combine_notes_ignore(struct object_id *cur_oid , struct object_id  const  *new_oid )
{


  {
  return (0);
}
}
static int string_list_add_note_lines(struct string_list *list___3 , struct object_id  const  *oid )
{
  char *data ;
  unsigned long len___0 ;
  enum object_type t ;
  int tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  tmp = is_null_oid(oid);
  if (tmp) {
    return (0);
  }
  tmp___0 = repo_read_object_file(the_repository, oid, & t, & len___0);
  data = (char *)tmp___0;
  if ((int )t != 3) {
    goto _L;
  } else
  if (! data) {
    goto _L;
  } else
  if (! len___0) {
    _L: /* CIL Label */
    free((void *)data);
    if ((int )t != 3) {
      tmp___1 = 1;
    } else
    if (! data) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
    return (tmp___1);
  }
  string_list_split(list___3, (char const   *)data, '\n', -1);
  free((void *)data);
  return (0);
}
}
static int string_list_join_lines_helper(struct string_list_item *item___0 , void *cb_data )
{
  struct strbuf *buf___19 ;

  {
  buf___19 = (struct strbuf *)cb_data;
  strbuf_addstr(buf___19, (char const   *)item___0->string);
  strbuf_addch(buf___19, '\n');
  return (0);
}
}
int combine_notes_cat_sort_uniq(struct object_id *cur_oid , struct object_id  const  *new_oid )
{
  struct string_list sort_uniq_list ;
  struct strbuf buf___19 ;
  int ret___67 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  sort_uniq_list.items = (struct string_list_item *)0;
  sort_uniq_list.nr = 0U;
  sort_uniq_list.alloc = 0U;
  sort_uniq_list.strdup_strings = 1U;
  sort_uniq_list.cmp = (int (*)(char const   * , char const   * ))0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  ret___67 = 1;
  tmp = string_list_add_note_lines(& sort_uniq_list, (struct object_id  const  *)cur_oid);
  if (tmp) {
    goto out;
  }
  tmp___0 = string_list_add_note_lines(& sort_uniq_list, new_oid);
  if (tmp___0) {
    goto out;
  }
  string_list_remove_empty_items(& sort_uniq_list, 0);
  string_list_sort(& sort_uniq_list);
  string_list_remove_duplicates(& sort_uniq_list, 0);
  tmp___1 = for_each_string_list(& sort_uniq_list, & string_list_join_lines_helper,
                                 (void *)(& buf___19));
  if (tmp___1) {
    goto out;
  }
  ret___67 = write_object_file((void const   *)buf___19.buf, buf___19.len, blob_type,
                               cur_oid);
  out:
  strbuf_release(& buf___19);
  string_list_clear(& sort_uniq_list, 0);
  return (ret___67);
}
}
static int string_list_add_one_ref(char const   *refname , struct object_id  const  *oid ,
                                   int flag , void *cb )
{
  struct string_list *refs___0 ;
  int tmp ;

  {
  refs___0 = (struct string_list *)cb;
  tmp = unsorted_string_list_has_string(refs___0, refname);
  if (! tmp) {
    string_list_append(refs___0, refname);
  }
  return (0);
}
}
void string_list_add_refs_by_glob(struct string_list *list___3 , char const   *glob___0 )
{
  struct object_id oid ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;

  {
  assert((int )list___3->strdup_strings);
  tmp___1 = has_glob_specials(glob___0);
  if (tmp___1) {
    for_each_glob_ref(& string_list_add_one_ref, glob___0, (void *)list___3);
  } else {
    tmp = repo_get_oid(the_repository, glob___0, & oid);
    if (tmp) {
      warning((char const   *)"notes ref %s is invalid", glob___0);
    }
    tmp___0 = unsorted_string_list_has_string(list___3, glob___0);
    if (! tmp___0) {
      string_list_append(list___3, glob___0);
    }
  }
  return;
}
}
void string_list_add_refs_from_colon_sep(struct string_list *list___3 , char const   *globs )
{
  struct string_list split ;
  char *globs_copy ;
  char *tmp ;
  int i ;

  {
  split.items = (struct string_list_item *)0;
  split.nr = 0U;
  split.alloc = 0U;
  split.strdup_strings = 0U;
  split.cmp = (int (*)(char const   * , char const   * ))0;
  tmp = xstrdup(globs);
  globs_copy = tmp;
  string_list_split_in_place(& split, globs_copy, ':', -1);
  string_list_remove_empty_items(& split, 0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < split.nr)) {
      goto while_break;
    }
    string_list_add_refs_by_glob(list___3, (char const   *)(split.items + i)->string);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_clear(& split, 0);
  free((void *)globs_copy);
  return;
}
}
static int notes_display_config(char const   *k , char const   *v , void *cb )
{
  int *load_refs ;
  int tmp ;
  int tmp___0 ;

  {
  load_refs = (int *)cb;
  if (*load_refs) {
    tmp___0 = strcmp(k, (char const   *)"notes.displayref");
    if (! tmp___0) {
      if (! v) {
        config_error_nonbool(k);
        tmp = const_error();
        return (tmp);
      }
      string_list_add_refs_by_glob(& display_notes_refs, v);
    }
  }
  return (0);
}
}
char const   *default_notes_ref(void)
{
  char const   *notes_ref ;
  char *tmp ;

  {
  notes_ref = (char const   *)((void *)0);
  if (! notes_ref) {
    tmp = getenv((char const   *)"GIT_NOTES_REF");
    notes_ref = (char const   *)tmp;
  }
  if (! notes_ref) {
    notes_ref = (char const   *)notes_ref_name;
  }
  if (! notes_ref) {
    notes_ref = (char const   *)"refs/notes/commits";
  }
  return (notes_ref);
}
}
void init_notes(struct notes_tree *t , char const   *notes_ref , int (*combine_notes)(struct object_id *cur_oid ,
                                                                                      struct object_id  const  *new_oid ) ,
                int flags___0 )
{
  struct object_id oid ;
  struct object_id object_oid ;
  unsigned short mode___1 ;
  struct leaf_node root_tree ;
  void *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;

  {
  if (! t) {
    t = & default_notes_tree;
  }
  assert(! t->initialized);
  if (! notes_ref) {
    notes_ref = default_notes_ref();
  }
  if (! combine_notes) {
    combine_notes = & combine_notes_concatenate;
  }
  tmp = xcalloc((size_t )1, sizeof(struct int_node ));
  t->root = (struct int_node *)tmp;
  t->first_non_note = (struct non_note *)((void *)0);
  t->prev_non_note = (struct non_note *)((void *)0);
  t->ref = xstrdup_or_null(notes_ref);
  if (flags___0 & 2) {
    t->update_ref = t->ref;
  } else {
    t->update_ref = (char *)((void *)0);
  }
  t->combine_notes = combine_notes;
  t->initialized = 1;
  t->dirty = 0;
  if (flags___0 & 1) {
    return;
  } else
  if (! notes_ref) {
    return;
  } else {
    tmp___0 = repo_get_oid_treeish(the_repository, notes_ref, & object_oid);
    if (tmp___0) {
      return;
    }
  }
  if (flags___0 & 2) {
    tmp___1 = read_ref(notes_ref, & object_oid);
    if (tmp___1) {
      die((char const   *)"Cannot use notes ref %s", notes_ref);
    }
  }
  tmp___3 = get_tree_entry(the_repository, (struct object_id  const  *)(& object_oid),
                           (char const   *)"", & oid, & mode___1);
  if (tmp___3) {
    tmp___2 = oid_to_hex((struct object_id  const  *)(& object_oid));
    die((char const   *)"Failed to read notes tree referenced by %s (%s)", notes_ref,
        tmp___2);
  }
  oidclr(& root_tree.key_oid);
  oidcpy(& root_tree.val_oid, (struct object_id  const  *)(& oid));
  load_subtree(t, & root_tree, t->root, 0U);
  return;
}
}
struct notes_tree **load_notes_trees(struct string_list *refs___0 , int flags___0 )
{
  struct string_list_item *item___0 ;
  int counter___7 ;
  struct notes_tree **trees___0 ;
  size_t tmp ;
  void *tmp___0 ;
  struct notes_tree *t ;
  void *tmp___1 ;
  int tmp___2 ;

  {
  counter___7 = 0;
  tmp = st_mult(sizeof(*trees___0), (size_t )(refs___0->nr + 1U));
  tmp___0 = xmalloc(tmp);
  trees___0 = (struct notes_tree **)tmp___0;
  item___0 = refs___0->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(refs___0->items + refs___0->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___1 = xcalloc((size_t )1, sizeof(struct notes_tree ));
    t = (struct notes_tree *)tmp___1;
    init_notes(t, (char const   *)item___0->string, & combine_notes_ignore, flags___0);
    tmp___2 = counter___7;
    counter___7 ++;
    *(trees___0 + tmp___2) = t;
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  *(trees___0 + counter___7) = (struct notes_tree *)((void *)0);
  return (trees___0);
}
}
void init_display_notes(struct display_notes_opt *opt___0 )
{


  {
  memset((void *)opt___0, 0, sizeof(*opt___0));
  opt___0->use_default_notes = -1;
  return;
}
}
void enable_default_display_notes(struct display_notes_opt *opt___0 , int *show_notes___0 )
{


  {
  opt___0->use_default_notes = 1;
  *show_notes___0 = 1;
  return;
}
}
void enable_ref_display_notes(struct display_notes_opt *opt___0 , int *show_notes___0 ,
                              char const   *ref )
{
  struct strbuf buf___19 ;
  char *tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  strbuf_addstr(& buf___19, ref);
  expand_notes_ref(& buf___19);
  tmp = strbuf_detach(& buf___19, (size_t *)((void *)0));
  string_list_append(& opt___0->extra_notes_refs, (char const   *)tmp);
  *show_notes___0 = 1;
  return;
}
}
void disable_display_notes(struct display_notes_opt *opt___0 , int *show_notes___0 )
{


  {
  opt___0->use_default_notes = -1;
  opt___0->extra_notes_refs.strdup_strings = 1U;
  string_list_clear(& opt___0->extra_notes_refs, 0);
  opt___0->extra_notes_refs.strdup_strings = 0U;
  *show_notes___0 = 0;
  return;
}
}
void load_display_notes(struct display_notes_opt *opt___0 )
{
  char *display_ref_env ;
  int load_config_refs ;
  char const   *tmp ;
  struct string_list_item *item___0 ;

  {
  load_config_refs = 0;
  display_notes_refs.strdup_strings = 1U;
  assert(! display_notes_trees);
  if (! opt___0) {
    goto _L;
  } else
  if (opt___0->use_default_notes > 0) {
    goto _L;
  } else
  if (opt___0->use_default_notes == -1) {
    if (! opt___0->extra_notes_refs.nr) {
      _L: /* CIL Label */
      tmp = default_notes_ref();
      string_list_append(& display_notes_refs, tmp);
      display_ref_env = getenv((char const   *)"GIT_NOTES_DISPLAY_REF");
      if (display_ref_env) {
        string_list_add_refs_from_colon_sep(& display_notes_refs, (char const   *)display_ref_env);
        load_config_refs = 0;
      } else {
        load_config_refs = 1;
      }
    }
  }
  git_config(& notes_display_config, (void *)(& load_config_refs));
  if (opt___0) {
    item___0 = opt___0->extra_notes_refs.items;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(opt___0->extra_notes_refs.items + opt___0->extra_notes_refs.nr))) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      string_list_add_refs_by_glob(& display_notes_refs, (char const   *)item___0->string);
      item___0 ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  display_notes_trees = load_notes_trees(& display_notes_refs, 0);
  string_list_clear(& display_notes_refs, 0);
  return;
}
}
int add_note(struct notes_tree *t , struct object_id  const  *object_oid , struct object_id  const  *note_oid ,
             int (*combine_notes)(struct object_id *cur_oid , struct object_id  const  *new_oid ) )
{
  struct leaf_node *l ;
  void *tmp ;
  int tmp___0 ;

  {
  if (! t) {
    t = & default_notes_tree;
  }
  assert(t->initialized);
  t->dirty = 1;
  if (! combine_notes) {
    combine_notes = t->combine_notes;
  }
  tmp = xmalloc(sizeof(struct leaf_node ));
  l = (struct leaf_node *)tmp;
  oidcpy(& l->key_oid, object_oid);
  oidcpy(& l->val_oid, note_oid);
  tmp___0 = note_tree_insert(t, t->root, (unsigned char)0, l, (unsigned char)2, combine_notes);
  return (tmp___0);
}
}
int remove_note(struct notes_tree *t , unsigned char const   *object_sha1 )
{
  struct leaf_node l ;
  int tmp ;

  {
  if (! t) {
    t = & default_notes_tree;
  }
  assert(t->initialized);
  oidread(& l.key_oid, object_sha1);
  oidclr(& l.val_oid);
  note_tree_remove(t, t->root, (unsigned char)0, & l);
  tmp = is_null_oid((struct object_id  const  *)(& l.val_oid));
  if (tmp) {
    return (1);
  }
  t->dirty = 1;
  return (0);
}
}
struct object_id  const  *get_note(struct notes_tree *t , struct object_id  const  *oid )
{
  struct leaf_node *found ;
  struct object_id *tmp ;

  {
  if (! t) {
    t = & default_notes_tree;
  }
  assert(t->initialized);
  found = note_tree_find(t, t->root, (unsigned char)0, (unsigned char const   *)(oid->hash));
  if (found) {
    tmp = & found->val_oid;
  } else {
    tmp = (struct object_id *)((void *)0);
  }
  return ((struct object_id  const  *)tmp);
}
}
int for_each_note(struct notes_tree *t , int flags___0 , each_note_fn *fn , void *cb_data )
{
  int tmp ;

  {
  if (! t) {
    t = & default_notes_tree;
  }
  assert(t->initialized);
  tmp = for_each_note_helper(t, t->root, (unsigned char)0, (unsigned char)0, flags___0,
                             fn, cb_data);
  return (tmp);
}
}
int write_notes_tree(struct notes_tree *t , struct object_id *result___0 )
{
  struct tree_write_stack root ;
  struct write_each_note_data cb_data ;
  int ret___67 ;
  int flags___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  if (! t) {
    t = & default_notes_tree;
  }
  assert(t->initialized);
  root.next = (struct tree_write_stack *)((void *)0);
  strbuf_init(& root.buf, (size_t )(256UL * (32UL + (the_repository->hash_algo)->hexsz)));
  root.path[1] = (char )'\000';
  root.path[0] = root.path[1];
  cb_data.root = & root;
  cb_data.nn_list = & t->first_non_note;
  cb_data.nn_prev = (struct non_note *)((void *)0);
  flags___0 = 3;
  tmp = for_each_note(t, flags___0, & write_each_note, (void *)(& cb_data));
  if (tmp) {
    tmp___3 = 1;
  } else {
    tmp___0 = write_each_non_note_until((char const   *)((void *)0), & cb_data);
    if (tmp___0) {
      tmp___3 = 1;
    } else {
      tmp___1 = tree_write_stack_finish_subtree(& root);
      if (tmp___1) {
        tmp___3 = 1;
      } else {
        tmp___2 = write_object_file((void const   *)root.buf.buf, root.buf.len, tree_type,
                                    result___0);
        if (tmp___2) {
          tmp___3 = 1;
        } else {
          tmp___3 = 0;
        }
      }
    }
  }
  ret___67 = tmp___3;
  strbuf_release(& root.buf);
  return (ret___67);
}
}
void prune_notes(struct notes_tree *t , int flags___0 )
{
  struct note_delete_list *l ;
  char *tmp ;

  {
  l = (struct note_delete_list *)((void *)0);
  if (! t) {
    t = & default_notes_tree;
  }
  assert(t->initialized);
  for_each_note(t, 0, & prune_notes_helper, (void *)(& l));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! l) {
      goto while_break;
    }
    if (flags___0 & 1) {
      tmp = hash_to_hex(l->sha1);
      printf((char const   *)"%s\n", tmp);
    }
    if (! (flags___0 & 2)) {
      remove_note(t, l->sha1);
    }
    l = l->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void free_notes(struct notes_tree *t )
{


  {
  if (! t) {
    t = & default_notes_tree;
  }
  if (t->root) {
    note_tree_free(t->root);
  }
  free((void *)t->root);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! t->first_non_note) {
      goto while_break;
    }
    t->prev_non_note = (t->first_non_note)->next;
    free((void *)(t->first_non_note)->path);
    free((void *)t->first_non_note);
    t->first_non_note = t->prev_non_note;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)t->ref);
  memset((void *)t, 0, sizeof(struct notes_tree ));
  return;
}
}
static void format_note(struct notes_tree *t , struct object_id  const  *object_oid ,
                        struct strbuf *sb___6 , char const   *output_encoding , int raw ) ;
static char const   utf8[6]  = {      (char const   )'u',      (char const   )'t',      (char const   )'f',      (char const   )'-',
        (char const   )'8',      (char const   )'\000'};
static void format_note(struct notes_tree *t , struct object_id  const  *object_oid ,
                        struct strbuf *sb___6 , char const   *output_encoding , int raw )
{
  struct object_id  const  *oid ;
  char *msg___5 ;
  char *msg_p ;
  unsigned long linelen___1 ;
  unsigned long msglen ;
  enum object_type type___0 ;
  void *tmp ;
  char *reencoded ;
  char *tmp___0 ;
  int tmp___1 ;
  char const   *ref ;
  int tmp___2 ;
  char *tmp___3 ;

  {
  if (! t) {
    t = & default_notes_tree;
  }
  if (! t->initialized) {
    init_notes(t, (char const   *)((void *)0), (int (*)(struct object_id *cur_oid ,
                                                        struct object_id  const  *new_oid ))((void *)0),
               0);
  }
  oid = get_note(t, object_oid);
  if (! oid) {
    return;
  }
  tmp = repo_read_object_file(the_repository, oid, & type___0, & msglen);
  msg___5 = (char *)tmp;
  if (msg___5) {
    if ((int )type___0 != 3) {
      free((void *)msg___5);
      return;
    }
  } else {
    free((void *)msg___5);
    return;
  }
  if (output_encoding) {
    if (*output_encoding) {
      tmp___1 = is_encoding_utf8(output_encoding);
      if (! tmp___1) {
        tmp___0 = reencode_string((char const   *)msg___5, output_encoding, utf8);
        reencoded = tmp___0;
        if (reencoded) {
          free((void *)msg___5);
          msg___5 = reencoded;
          msglen = strlen((char const   *)msg___5);
        }
      }
    }
  }
  if (msglen) {
    if ((int )*(msg___5 + (msglen - 1UL)) == 10) {
      msglen --;
    }
  }
  if (! raw) {
    ref = (char const   *)t->ref;
    if (! ref) {
      strbuf_addstr(sb___6, (char const   *)"\nNotes:\n");
    } else {
      tmp___2 = strcmp(ref, (char const   *)"refs/notes/commits");
      if (tmp___2) {
        skip_prefix(ref, (char const   *)"refs/", & ref);
        skip_prefix(ref, (char const   *)"notes/", & ref);
        strbuf_addf(sb___6, (char const   *)"\nNotes (%s):\n", ref);
      } else {
        strbuf_addstr(sb___6, (char const   *)"\nNotes:\n");
      }
    }
  }
  msg_p = msg___5;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )msg_p < (unsigned long )(msg___5 + msglen))) {
      goto while_break;
    }
    tmp___3 = strchrnul((char const   *)msg_p, '\n');
    linelen___1 = (unsigned long )(tmp___3 - msg_p);
    if (! raw) {
      strbuf_addstr(sb___6, (char const   *)"    ");
    }
    strbuf_add(sb___6, (void const   *)msg_p, linelen___1);
    strbuf_addch(sb___6, '\n');
    msg_p += linelen___1 + 1UL;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)msg___5);
  return;
}
}
void format_display_notes(struct object_id  const  *object_oid , struct strbuf *sb___6 ,
                          char const   *output_encoding , int raw )
{
  int i ;

  {
  assert((int )display_notes_trees);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(display_notes_trees + i)) {
      goto while_break;
    }
    format_note(*(display_notes_trees + i), object_oid, sb___6, output_encoding, raw);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int copy_note(struct notes_tree *t , struct object_id  const  *from_obj , struct object_id  const  *to_obj ,
              int force___2 , int (*combine_notes)(struct object_id *cur_oid , struct object_id  const  *new_oid ) )
{
  struct object_id  const  *note ;
  struct object_id  const  *tmp ;
  struct object_id  const  *existing_note ;
  struct object_id  const  *tmp___0 ;
  int tmp___1 ;
  struct object_id  const  *tmp___2 ;
  int tmp___3 ;

  {
  tmp = get_note(t, from_obj);
  note = tmp;
  tmp___0 = get_note(t, to_obj);
  existing_note = tmp___0;
  if (! force___2) {
    if (existing_note) {
      return (1);
    }
  }
  if (note) {
    tmp___1 = add_note(t, to_obj, note, combine_notes);
    return (tmp___1);
  } else
  if (existing_note) {
    tmp___2 = null_oid();
    tmp___3 = add_note(t, to_obj, tmp___2, combine_notes);
    return (tmp___3);
  }
  return (0);
}
}
void expand_notes_ref(struct strbuf *sb___6 )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp___0 = starts_with((char const   *)sb___6->buf, (char const   *)"refs/notes/");
  if (tmp___0) {
    return;
  } else {
    tmp = starts_with((char const   *)sb___6->buf, (char const   *)"notes/");
    if (tmp) {
      strbuf_insertstr(sb___6, (size_t )0, (char const   *)"refs/");
    } else {
      strbuf_insertstr(sb___6, (size_t )0, (char const   *)"refs/notes/");
    }
  }
  return;
}
}
void expand_loose_notes_ref(struct strbuf *sb___6 )
{
  struct object_id object ;
  int tmp ;

  {
  tmp = repo_get_oid(the_repository, (char const   *)sb___6->buf, & object);
  if (tmp) {
    expand_notes_ref(sb___6);
  }
  return;
}
}
static double const   __ac_HASH_UPPER___55  =    (double const   )0.77;
__inline static void kh_resize_oid_set___55(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___55(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___55 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___55 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___55(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___55(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___55(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___55(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___55(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___55(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___55 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___55 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___55(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___55(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___55(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___55(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___55(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___55(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___55 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___55 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___55(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___55(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___55(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___55(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___40(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___40(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___55 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___55 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___40(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___40(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___40(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___40(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
pthread_mutex_t obj_read_mutex  ;
static struct object_id  const  empty_tree_oid  =    {{(unsigned char )'K', (unsigned char )'\202', (unsigned char )']', (unsigned char )'\306',
     (unsigned char )'B', (unsigned char )'\313', (unsigned char )'n', (unsigned char )'\271',
     (unsigned char )'\240', (unsigned char )'`', (unsigned char )'\345', (unsigned char )'K',
     (unsigned char )'\370', (unsigned char )'\326', (unsigned char )'\222', (unsigned char )'\210',
     (unsigned char )'\373', (unsigned char )'\356', (unsigned char )'I', (unsigned char )'\004',
     (unsigned char )'\000'}, 1};
static struct object_id  const  empty_blob_oid  =    {{(unsigned char )'\346', (unsigned char )'\235', (unsigned char )'\342', (unsigned char )'\233',
     (unsigned char )'\262', (unsigned char )'\321', (unsigned char )'\326', (unsigned char )'C',
     (unsigned char )'K', (unsigned char )'\213', (unsigned char )')', (unsigned char )'\256',
     (unsigned char )'w', (unsigned char )'Z', (unsigned char )'\330', (unsigned char )'\302',
     (unsigned char )'\344', (unsigned char )'\214', (unsigned char )'S', (unsigned char )'\221',
     (unsigned char )'\000'}, 1};
static struct object_id  const  null_oid_sha1  =    {{(unsigned char)0}, 1};
static struct object_id  const  empty_tree_oid_sha256  =    {{(unsigned char )'n', (unsigned char )'\361', (unsigned char )'\233', (unsigned char )'A',
     (unsigned char )'\"', (unsigned char )'\\', (unsigned char )'S', (unsigned char )'i',
     (unsigned char )'\361', (unsigned char )'\301', (unsigned char )'\004', (unsigned char )'\324',
     (unsigned char )']', (unsigned char )'\215', (unsigned char )'\205', (unsigned char )'\357',
     (unsigned char )'\251', (unsigned char )'\260', (unsigned char )'W', (unsigned char )'\265',
     (unsigned char )';', (unsigned char )'\024', (unsigned char )'\264', (unsigned char )'\271',
     (unsigned char )'\271', (unsigned char )'9', (unsigned char )'\335', (unsigned char )'t',
     (unsigned char )'\336', (unsigned char )'\314', (unsigned char )'S', (unsigned char )'!'},
    2};
static struct object_id  const  empty_blob_oid_sha256  =    {{(unsigned char )'G', (unsigned char )':', (unsigned char )'\017', (unsigned char )'L',
     (unsigned char )';', (unsigned char )'\350', (unsigned char )'\251', (unsigned char )'6',
     (unsigned char )'\201', (unsigned char )'\242', (unsigned char )'g', (unsigned char )'\343',
     (unsigned char )'\261', (unsigned char )'\351', (unsigned char )'\247', (unsigned char )'\334',
     (unsigned char )'\332', (unsigned char )'\021', (unsigned char )'\205', (unsigned char )'C',
     (unsigned char )'o', (unsigned char )'\341', (unsigned char )'A', (unsigned char )'\367',
     (unsigned char )'t', (unsigned char )'\221', (unsigned char )' ', (unsigned char )'\243',
     (unsigned char )'\003', (unsigned char )'r', (unsigned char )'\030', (unsigned char )'\023'},
    2};
static struct object_id  const  null_oid_sha256  =    {{(unsigned char)0}, 2};
static void git_hash_sha1_init(git_hash_ctx *ctx___0 )
{


  {
  SHA1DCInit(& ctx___0->sha1);
  return;
}
}
static void git_hash_sha1_clone(git_hash_ctx *dst , git_hash_ctx const   *src )
{


  {
  git_SHA1_Clone(& dst->sha1, (SHA1_CTX const   *)(& src->sha1));
  return;
}
}
static void git_hash_sha1_update(git_hash_ctx *ctx___0 , void const   *data , size_t len___0 )
{


  {
  git_SHA1DCUpdate(& ctx___0->sha1, data, len___0);
  return;
}
}
static void git_hash_sha1_final(unsigned char *hash___0 , git_hash_ctx *ctx___0 )
{


  {
  git_SHA1DCFinal((unsigned char *)hash___0, & ctx___0->sha1);
  return;
}
}
static void git_hash_sha1_final_oid(struct object_id *oid , git_hash_ctx *ctx___0 )
{


  {
  git_SHA1DCFinal((unsigned char *)(oid->hash), & ctx___0->sha1);
  memset((void *)(oid->hash + 20), 0, (size_t )12);
  oid->algo = 1;
  return;
}
}
static void git_hash_sha256_init(git_hash_ctx *ctx___0 )
{


  {
  blk_SHA256_Init(& ctx___0->sha256);
  return;
}
}
static void git_hash_sha256_clone(git_hash_ctx *dst , git_hash_ctx const   *src )
{


  {
  git_SHA256_Clone(& dst->sha256, (blk_SHA256_CTX const   *)(& src->sha256));
  return;
}
}
static void git_hash_sha256_update(git_hash_ctx *ctx___0 , void const   *data , size_t len___0 )
{


  {
  blk_SHA256_Update(& ctx___0->sha256, data, len___0);
  return;
}
}
static void git_hash_sha256_final(unsigned char *hash___0 , git_hash_ctx *ctx___0 )
{


  {
  blk_SHA256_Final(hash___0, & ctx___0->sha256);
  return;
}
}
static void git_hash_sha256_final_oid(struct object_id *oid , git_hash_ctx *ctx___0 )
{


  {
  blk_SHA256_Final(oid->hash, & ctx___0->sha256);
  memset((void *)(oid->hash + 32), 0, (size_t )0);
  oid->algo = 2;
  return;
}
}
static void git_hash_unknown_init(git_hash_ctx *ctx___0 )
{


  {
  BUG_fl((char const   *)"object-file.c", 145, (char const   *)"trying to init unknown hash");
}
}
static void git_hash_unknown_clone(git_hash_ctx *dst , git_hash_ctx const   *src )
{


  {
  BUG_fl((char const   *)"object-file.c", 150, (char const   *)"trying to clone unknown hash");
}
}
static void git_hash_unknown_update(git_hash_ctx *ctx___0 , void const   *data , size_t len___0 )
{


  {
  BUG_fl((char const   *)"object-file.c", 155, (char const   *)"trying to update unknown hash");
}
}
static void git_hash_unknown_final(unsigned char *hash___0 , git_hash_ctx *ctx___0 )
{


  {
  BUG_fl((char const   *)"object-file.c", 160, (char const   *)"trying to finalize unknown hash");
}
}
static void git_hash_unknown_final_oid(struct object_id *oid , git_hash_ctx *ctx___0 )
{


  {
  BUG_fl((char const   *)"object-file.c", 165, (char const   *)"trying to finalize unknown hash");
}
}
struct git_hash_algo  const  hash_algos[3]  = {      {(char const   *)((void *)0), (uint32_t )0x00000000, (size_t )0, (size_t )0,
      (size_t )0, & git_hash_unknown_init, & git_hash_unknown_clone, & git_hash_unknown_update,
      & git_hash_unknown_final, & git_hash_unknown_final_oid, (struct object_id  const  *)((void *)0),
      (struct object_id  const  *)((void *)0), (struct object_id  const  *)((void *)0)},
        {(char const   *)"sha1",
      (uint32_t )0x73686131, (size_t )20, (size_t )40, (size_t )64, & git_hash_sha1_init,
      & git_hash_sha1_clone, & git_hash_sha1_update, & git_hash_sha1_final, & git_hash_sha1_final_oid,
      & empty_tree_oid, & empty_blob_oid, & null_oid_sha1},
        {(char const   *)"sha256", (uint32_t )0x73323536, (size_t )32, (size_t )64, (size_t )64,
      & git_hash_sha256_init, & git_hash_sha256_clone, & git_hash_sha256_update, & git_hash_sha256_final,
      & git_hash_sha256_final_oid, & empty_tree_oid_sha256, & empty_blob_oid_sha256,
      & null_oid_sha256}};
struct object_id  const  *null_oid(void)
{


  {
  return ((struct object_id  const  *)(the_repository->hash_algo)->null_oid);
}
}
static char buf___1[65]  ;
char const   *empty_tree_oid_hex(void)
{
  char *tmp ;

  {
  tmp = oid_to_hex_r(buf___1, (struct object_id  const  *)(the_repository->hash_algo)->empty_tree);
  return ((char const   *)tmp);
}
}
static char buf___2[65]  ;
char const   *empty_blob_oid_hex(void)
{
  char *tmp ;

  {
  tmp = oid_to_hex_r(buf___2, (struct object_id  const  *)(the_repository->hash_algo)->empty_blob);
  return ((char const   *)tmp);
}
}
int hash_algo_by_name(char const   *name___0 )
{
  int i ;
  int tmp ;

  {
  if (! name___0) {
    return (0);
  }
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 3)) {
      goto while_break;
    }
    tmp = strcmp(name___0, (char const   *)hash_algos[i].name);
    if (! tmp) {
      return (i);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int hash_algo_by_id(uint32_t format_id )
{
  int i ;

  {
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 3)) {
      goto while_break;
    }
    if (format_id == (uint32_t )hash_algos[i].format_id) {
      return (i);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int hash_algo_by_length(int len___0 )
{
  int i ;

  {
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 3)) {
      goto while_break;
    }
    if ((size_t )len___0 == hash_algos[i].rawsz) {
      return (i);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static struct cached_object *cached_objects  ;
static int cached_object_nr  ;
static int cached_object_alloc  ;
static struct cached_object empty_tree  =    {{{(unsigned char )'K', (unsigned char )'\202', (unsigned char )']', (unsigned char )'\306',
      (unsigned char )'B', (unsigned char )'\313', (unsigned char )'n', (unsigned char )'\271',
      (unsigned char )'\240', (unsigned char )'`', (unsigned char )'\345', (unsigned char )'K',
      (unsigned char )'\370', (unsigned char )'\326', (unsigned char )'\222', (unsigned char )'\210',
      (unsigned char )'\373', (unsigned char )'\356', (unsigned char )'I', (unsigned char )'\004',
      (unsigned char )'\000'}, 0}, (enum object_type )2, (void *)"", 0UL};
static struct cached_object *find_cached_object(struct object_id  const  *oid )
{
  int i ;
  struct cached_object *co ;
  int tmp ;
  int tmp___0 ;

  {
  co = cached_objects;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < cached_object_nr)) {
      goto while_break;
    }
    tmp = oideq((struct object_id  const  *)(& co->oid), oid);
    if (tmp) {
      return (co);
    }
    i ++;
    co ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = oideq(oid, (struct object_id  const  *)(the_repository->hash_algo)->empty_tree);
  if (tmp___0) {
    return (& empty_tree);
  }
  return ((struct cached_object *)((void *)0));
}
}
static int get_conv_flags(unsigned int flags___0 )
{


  {
  if (flags___0 & 4U) {
    return (1 << 2);
  } else
  if (flags___0 & 1U) {
    return (global_conv_flags_eol | (1 << 4));
  } else {
    return (0);
  }
}
}
int mkdir_in_gitdir(char const   *path___6 )
{
  int saved_errno ;
  int *tmp ;
  struct stat st ;
  struct strbuf sb___6 ;
  int *tmp___0 ;
  int *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  tmp___6 = mkdir(path___6, (__mode_t )0777);
  if (tmp___6) {
    tmp = __errno_location();
    saved_errno = *tmp;
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    tmp___0 = __errno_location();
    if (*tmp___0 != 17) {
      return (-1);
    }
    tmp___2 = lstat(path___6, & st);
    if (tmp___2) {
      strbuf_release(& sb___6);
      tmp___1 = __errno_location();
      *tmp___1 = saved_errno;
      return (-1);
    } else
    if (! ((st.st_mode & 61440U) == 40960U)) {
      strbuf_release(& sb___6);
      tmp___1 = __errno_location();
      *tmp___1 = saved_errno;
      return (-1);
    } else {
      tmp___3 = strbuf_readlink(& sb___6, path___6, (size_t )st.st_size);
      if (tmp___3) {
        strbuf_release(& sb___6);
        tmp___1 = __errno_location();
        *tmp___1 = saved_errno;
        return (-1);
      } else {
        tmp___4 = is_absolute_path((char const   *)sb___6.buf);
        if (tmp___4) {
          tmp___5 = mkdir((char const   *)sb___6.buf, (__mode_t )0777);
          if (tmp___5) {
            strbuf_release(& sb___6);
            tmp___1 = __errno_location();
            *tmp___1 = saved_errno;
            return (-1);
          }
        } else {
          strbuf_release(& sb___6);
          tmp___1 = __errno_location();
          *tmp___1 = saved_errno;
          return (-1);
        }
      }
    }
    strbuf_release(& sb___6);
  }
  tmp___7 = adjust_shared_perm(path___6);
  return (tmp___7);
}
}
static enum scld_error safe_create_leading_directories_1(char *path___6 , int share )
{
  char *next_component ;
  int tmp ;
  enum scld_error ret___67 ;
  struct stat st ;
  char *slash ;
  char slash_character ;
  int tmp___0 ;
  int tmp___1 ;
  int *tmp___2 ;
  int *tmp___3 ;
  int *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  tmp = git_offset_1st_component((char const   *)path___6);
  next_component = path___6 + tmp;
  ret___67 = (enum scld_error )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((int )ret___67 == 0) {
      if (! next_component) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    slash = next_component;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (*slash) {
        tmp___0 = git_is_dir_sep((int )*slash);
        if (tmp___0) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      slash ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! *slash) {
      goto while_break;
    }
    next_component = slash + 1;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      tmp___1 = git_is_dir_sep((int )*next_component);
      if (! tmp___1) {
        goto while_break___1;
      }
      next_component ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (! *next_component) {
      goto while_break;
    }
    slash_character = *slash;
    *slash = (char )'\000';
    tmp___8 = stat((char const   *)path___6, & st);
    if (tmp___8) {
      tmp___7 = mkdir((char const   *)path___6, (__mode_t )0777);
      if (tmp___7) {
        tmp___4 = __errno_location();
        if (*tmp___4 == 17) {
          tmp___5 = stat((char const   *)path___6, & st);
          if (tmp___5) {
            goto _L___0;
          } else
          if (! ((st.st_mode & 61440U) == 16384U)) {
            goto _L___0;
          }
        } else {
          _L___0: /* CIL Label */
          _L: /* CIL Label */
          tmp___3 = __errno_location();
          if (*tmp___3 == 2) {
            ret___67 = (enum scld_error )-4;
          } else {
            ret___67 = (enum scld_error )-1;
          }
        }
      } else
      if (share) {
        tmp___6 = adjust_shared_perm((char const   *)path___6);
        if (tmp___6) {
          ret___67 = (enum scld_error )-2;
        }
      }
    } else
    if (! ((st.st_mode & 61440U) == 16384U)) {
      tmp___2 = __errno_location();
      *tmp___2 = 20;
      ret___67 = (enum scld_error )-3;
    }
    *slash = slash_character;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
enum scld_error safe_create_leading_directories(char *path___6 )
{
  enum scld_error tmp ;

  {
  tmp = safe_create_leading_directories_1(path___6, 1);
  return (tmp);
}
}
enum scld_error safe_create_leading_directories_no_share(char *path___6 )
{
  enum scld_error tmp ;

  {
  tmp = safe_create_leading_directories_1(path___6, 0);
  return (tmp);
}
}
enum scld_error safe_create_leading_directories_const(char const   *path___6 )
{
  int save_errno ;
  char *buf___19 ;
  char *tmp ;
  enum scld_error result___0 ;
  enum scld_error tmp___0 ;
  int *tmp___1 ;
  int *tmp___2 ;

  {
  tmp = xstrdup(path___6);
  buf___19 = tmp;
  tmp___0 = safe_create_leading_directories(buf___19);
  result___0 = tmp___0;
  tmp___1 = __errno_location();
  save_errno = *tmp___1;
  free((void *)buf___19);
  tmp___2 = __errno_location();
  *tmp___2 = save_errno;
  return (result___0);
}
}
static void fill_loose_path(struct strbuf *buf___19 , struct object_id  const  *oid ) ;
static char hex___1[17]  =
  {      (char )'0',      (char )'1',      (char )'2',      (char )'3',
        (char )'4',      (char )'5',      (char )'6',      (char )'7',
        (char )'8',      (char )'9',      (char )'a',      (char )'b',
        (char )'c',      (char )'d',      (char )'e',      (char )'f',
        (char )'\000'};
static void fill_loose_path(struct strbuf *buf___19 , struct object_id  const  *oid )
{
  int i ;
  unsigned int val ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < (the_repository->hash_algo)->rawsz)) {
      goto while_break;
    }
    val = (unsigned int )oid->hash[i];
    strbuf_addch(buf___19, (int )hex___1[val >> 4]);
    strbuf_addch(buf___19, (int )hex___1[val & 15U]);
    if (! i) {
      strbuf_addch(buf___19, '/');
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static char const   *odb_loose_path(struct object_directory *odb , struct strbuf *buf___19 ,
                                    struct object_id  const  *oid )
{


  {
  strbuf_setlen(buf___19, (size_t )0);
  strbuf_addstr(buf___19, (char const   *)odb->path);
  strbuf_addch(buf___19, '/');
  fill_loose_path(buf___19, oid);
  return ((char const   *)buf___19->buf);
}
}
char const   *loose_object_path(struct repository *r , struct strbuf *buf___19 , struct object_id  const  *oid )
{
  char const   *tmp ;

  {
  tmp = odb_loose_path((r->objects)->odb, buf___19, oid);
  return (tmp);
}
}
static int alt_odb_usable(struct raw_object_store *o , struct strbuf *path___6 , char const   *normalized_objdir ,
                          khiter_t *pos )
{
  int r ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  khiter_t p___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___0 = is_directory((char const   *)path___6->buf);
  if (! tmp___0) {
    tmp = _((char const   *)"object directory %s does not exist; check .git/objects/info/alternates");
    error((char const   *)tmp, path___6->buf);
    const_error();
    return (0);
  }
  if (! o->odb_by_path) {
    o->odb_by_path = kh_init_odb_path_map();
    assert(! (o->odb)->next);
    p___0 = kh_put_odb_path_map___40(o->odb_by_path, (char const   *)(o->odb)->path,
                                     & r);
    assert(r == 1);
    *((o->odb_by_path)->vals + p___0) = o->odb;
  }
  tmp___1 = fspatheq((char const   *)path___6->buf, normalized_objdir);
  if (tmp___1) {
    return (0);
  }
  *pos = kh_put_odb_path_map___40(o->odb_by_path, (char const   *)path___6->buf, & r);
  if (r == 0) {
    tmp___2 = 0;
  } else {
    tmp___2 = 1;
  }
  return (tmp___2);
}
}
static void read_info_alternates(struct repository *r , char const   *relative_base ,
                                 int depth___1 ) ;
static int link_alt_odb_entry(struct repository *r , struct strbuf  const  *entry ,
                              char const   *relative_base , int depth___1 , char const   *normalized_objdir )
{
  struct object_directory *ent ;
  struct strbuf pathbuf ;
  khiter_t pos ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  void *tmp___3 ;

  {
  pathbuf.alloc = 0UL;
  pathbuf.len = 0UL;
  pathbuf.buf = strbuf_slopbuf;
  tmp = is_absolute_path((char const   *)entry->buf);
  if (! tmp) {
    if (relative_base) {
      strbuf_realpath(& pathbuf, relative_base, 1);
      strbuf_addch(& pathbuf, '/');
    }
  }
  strbuf_addbuf(& pathbuf, entry);
  tmp___1 = strbuf_normalize_path(& pathbuf);
  if (tmp___1 < 0) {
    if (relative_base) {
      tmp___0 = _((char const   *)"unable to normalize alternate object path: %s");
      error((char const   *)tmp___0, pathbuf.buf);
      const_error();
      strbuf_release(& pathbuf);
      return (-1);
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (pathbuf.len) {
      if (! ((int )*(pathbuf.buf + (pathbuf.len - 1UL)) == 47)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    strbuf_setlen(& pathbuf, pathbuf.len - 1UL);
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = alt_odb_usable(r->objects, & pathbuf, normalized_objdir, & pos);
  if (! tmp___2) {
    strbuf_release(& pathbuf);
    return (-1);
  }
  tmp___3 = xcalloc((size_t )1, sizeof(*ent));
  ent = (struct object_directory *)tmp___3;
  ent->path = strbuf_detach(& pathbuf, (size_t *)((void *)0));
  *((r->objects)->odb_tail) = ent;
  (r->objects)->odb_tail = & ent->next;
  ent->next = (struct object_directory *)((void *)0);
  assert((int )(r->objects)->odb_by_path);
  *(((r->objects)->odb_by_path)->vals + pos) = ent;
  read_info_alternates(r, (char const   *)ent->path, depth___1 + 1);
  return (0);
}
}
static char const   *parse_alt_odb_entry(char const   *string___0 , int sep , struct strbuf *out )
{
  char const   *end ;
  char *tmp ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  strbuf_setlen(out, (size_t )0);
  if ((int const   )*string___0 == 35) {
    tmp = strchrnul(string___0, sep);
    end = (char const   *)tmp;
  } else
  if ((int const   )*string___0 == 34) {
    tmp___1 = unquote_c_style(out, string___0, & end);
    if (tmp___1) {
      tmp___0 = strchrnul(string___0, sep);
      end = (char const   *)tmp___0;
      strbuf_add(out, (void const   *)string___0, (size_t )(end - string___0));
    }
  } else {
    tmp___0 = strchrnul(string___0, sep);
    end = (char const   *)tmp___0;
    strbuf_add(out, (void const   *)string___0, (size_t )(end - string___0));
  }
  if (*end) {
    end ++;
  }
  return (end);
}
}
static void link_alt_odb_entries(struct repository *r , char const   *alt , int sep ,
                                 char const   *relative_base , int depth___1 )
{
  struct strbuf objdirbuf ;
  struct strbuf entry ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  objdirbuf.alloc = 0UL;
  objdirbuf.len = 0UL;
  objdirbuf.buf = strbuf_slopbuf;
  entry.alloc = 0UL;
  entry.len = 0UL;
  entry.buf = strbuf_slopbuf;
  if (! alt) {
    return;
  } else
  if (! *alt) {
    return;
  }
  if (depth___1 > 5) {
    tmp = _((char const   *)"%s: ignoring alternate object stores, nesting too deep");
    error((char const   *)tmp, relative_base);
    const_error();
    return;
  }
  strbuf_add_absolute_path(& objdirbuf, (char const   *)((r->objects)->odb)->path);
  tmp___1 = strbuf_normalize_path(& objdirbuf);
  if (tmp___1 < 0) {
    tmp___0 = _((char const   *)"unable to normalize object directory: %s");
    die((char const   *)tmp___0, objdirbuf.buf);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *alt) {
      goto while_break;
    }
    alt = parse_alt_odb_entry(alt, sep, & entry);
    if (! entry.len) {
      goto while_continue;
    }
    link_alt_odb_entry(r, (struct strbuf  const  *)(& entry), relative_base, depth___1,
                       (char const   *)objdirbuf.buf);
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& entry);
  strbuf_release(& objdirbuf);
  return;
}
}
static void read_info_alternates(struct repository *r , char const   *relative_base ,
                                 int depth___1 )
{
  char *path___6 ;
  struct strbuf buf___19 ;
  ssize_t tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  path___6 = xstrfmt((char const   *)"%s/info/alternates", relative_base);
  tmp = strbuf_read_file(& buf___19, (char const   *)path___6, (size_t )1024);
  if (tmp < 0L) {
    warn_on_fopen_errors((char const   *)path___6);
    free((void *)path___6);
    return;
  }
  link_alt_odb_entries(r, (char const   *)buf___19.buf, '\n', relative_base, depth___1);
  strbuf_release(& buf___19);
  free((void *)path___6);
  return;
}
}
void add_to_alternates_file(char const   *reference )
{
  struct lock_file lock___0 ;
  char *alts ;
  char *tmp ;
  FILE *in ;
  FILE *out ;
  int found ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  struct strbuf line___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;

  {
  lock___0.tempfile = (struct tempfile *)0;
  tmp = git_pathdup((char const   *)"objects/info/alternates");
  alts = tmp;
  found = 0;
  hold_lock_file_for_update(& lock___0, (char const   *)alts, 1);
  out = fdopen_lock_file(& lock___0, (char const   *)"w");
  if (! out) {
    tmp___0 = _((char const   *)"unable to fdopen alternates lockfile");
    die_errno((char const   *)tmp___0);
  }
  in = git_fopen((char const   *)alts, (char const   *)"r");
  if (in) {
    line___0.alloc = 0UL;
    line___0.len = 0UL;
    line___0.buf = strbuf_slopbuf;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___2 = strbuf_getline(& line___0, in);
      if (! (tmp___2 != -1)) {
        goto while_break;
      }
      tmp___1 = strcmp(reference, (char const   *)line___0.buf);
      if (! tmp___1) {
        found = 1;
        goto while_break;
      }
      fprintf_or_die(out, (char const   *)"%s\n", line___0.buf);
    }
    while_break: /* CIL Label */ ;
    }
    strbuf_release(& line___0);
    fclose(in);
  } else {
    tmp___4 = __errno_location();
    if (*tmp___4 != 2) {
      tmp___3 = _((char const   *)"unable to read alternates file");
      die_errno((char const   *)tmp___3);
    }
  }
  if (found) {
    rollback_lock_file(& lock___0);
  } else {
    fprintf_or_die(out, (char const   *)"%s\n", reference);
    tmp___6 = commit_lock_file(& lock___0);
    if (tmp___6) {
      tmp___5 = _((char const   *)"unable to move new alternates file into place");
      die_errno((char const   *)tmp___5);
    }
    if ((the_repository->objects)->loaded_alternates) {
      link_alt_odb_entries(the_repository, reference, '\n', (char const   *)((void *)0),
                           0);
    }
  }
  free((void *)alts);
  return;
}
}
void add_to_alternates_memory(char const   *reference )
{


  {
  prepare_alt_odb(the_repository);
  link_alt_odb_entries(the_repository, reference, '\n', (char const   *)((void *)0),
                       0);
  return;
}
}
struct object_directory *set_temporary_primary_odb(char const   *dir , int will_destroy )
{
  struct object_directory *new_odb ;
  void *tmp ;

  {
  prepare_alt_odb(the_repository);
  tmp = xcalloc((size_t )1, sizeof(*new_odb));
  new_odb = (struct object_directory *)tmp;
  new_odb->path = xstrdup(dir);
  new_odb->disable_ref_updates = 1;
  new_odb->will_destroy = will_destroy;
  new_odb->next = (the_repository->objects)->odb;
  (the_repository->objects)->odb = new_odb;
  return (new_odb->next);
}
}
void restore_primary_odb(struct object_directory *restore_odb , char const   *old_path )
{
  struct object_directory *cur_odb ;
  int tmp ;

  {
  cur_odb = (the_repository->objects)->odb;
  tmp = strcmp(old_path, (char const   *)cur_odb->path);
  if (tmp) {
    BUG_fl((char const   *)"object-file.c", 717, (char const   *)"expected %s as primary object store; found %s",
           old_path, cur_odb->path);
  }
  if ((unsigned long )cur_odb->next != (unsigned long )restore_odb) {
    BUG_fl((char const   *)"object-file.c", 720, (char const   *)"we expect the old primary object store to be the first alternate");
  }
  (the_repository->objects)->odb = restore_odb;
  free_object_directory(cur_odb);
  return;
}
}
char *compute_alternate_path(char const   *path___6 , struct strbuf *err___4 )
{
  char *ref_git ;
  char const   *repo ;
  int seen_error ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *tmp___0 ;
  char *ref_git_git ;
  char *tmp___1 ;
  struct strbuf sb___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const   *tmp___5 ;
  int tmp___6 ;
  char const   *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const   *tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const   *tmp___13 ;
  int tmp___14 ;

  {
  ref_git = (char *)((void *)0);
  seen_error = 0;
  ref_git = real_pathdup(path___6, 0);
  if (! ref_git) {
    seen_error = 1;
    tmp = _((char const   *)"path \'%s\' does not exist");
    strbuf_addf(err___4, (char const   *)tmp, path___6);
    goto out;
  }
  repo = read_gitfile_gently((char const   *)ref_git, (int *)((void *)0));
  if (! repo) {
    tmp___0 = mkpath((char const   *)"%s/.git", ref_git);
    repo = read_gitfile_gently(tmp___0, (int *)((void *)0));
  }
  if (repo) {
    free((void *)ref_git);
    ref_git = xstrdup(repo);
  }
  if (! repo) {
    tmp___7 = mkpath((char const   *)"%s/.git/objects", ref_git);
    tmp___8 = is_directory(tmp___7);
    if (tmp___8) {
      tmp___1 = mkpathdup((char const   *)"%s/.git", ref_git);
      ref_git_git = tmp___1;
      free((void *)ref_git);
      ref_git = ref_git_git;
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp___5 = mkpath((char const   *)"%s/objects", ref_git);
    tmp___6 = is_directory(tmp___5);
    if (! tmp___6) {
      sb___6.alloc = 0UL;
      sb___6.len = 0UL;
      sb___6.buf = strbuf_slopbuf;
      seen_error = 1;
      tmp___3 = get_common_dir(& sb___6, (char const   *)ref_git);
      if (tmp___3) {
        tmp___2 = _((char const   *)"reference repository \'%s\' as a linked checkout is not supported yet.");
        strbuf_addf(err___4, (char const   *)tmp___2, path___6);
        goto out;
      }
      tmp___4 = _((char const   *)"reference repository \'%s\' is not a local repository.");
      strbuf_addf(err___4, (char const   *)tmp___4, path___6);
      goto out;
    }
  }
  tmp___10 = mkpath((char const   *)"%s/shallow", ref_git);
  tmp___11 = access(tmp___10, 0);
  if (! tmp___11) {
    tmp___9 = _((char const   *)"reference repository \'%s\' is shallow");
    strbuf_addf(err___4, (char const   *)tmp___9, path___6);
    seen_error = 1;
    goto out;
  }
  tmp___13 = mkpath((char const   *)"%s/info/grafts", ref_git);
  tmp___14 = access(tmp___13, 0);
  if (! tmp___14) {
    tmp___12 = _((char const   *)"reference repository \'%s\' is grafted");
    strbuf_addf(err___4, (char const   *)tmp___12, path___6);
    seen_error = 1;
    goto out;
  }
  out:
  if (seen_error) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      free((void *)ref_git);
      ref_git = (char *)((void *)0);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
  }
  return (ref_git);
}
}
struct object_directory *find_odb(struct repository *r , char const   *obj_dir )
{
  struct object_directory *odb ;
  char *obj_dir_real ;
  char *tmp ;
  struct strbuf odb_path_real ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  tmp = real_pathdup(obj_dir, 1);
  obj_dir_real = tmp;
  odb_path_real.alloc = 0UL;
  odb_path_real.len = 0UL;
  odb_path_real.buf = strbuf_slopbuf;
  prepare_alt_odb(r);
  odb = (r->objects)->odb;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! odb) {
      goto while_break;
    }
    strbuf_realpath(& odb_path_real, (char const   *)odb->path, 1);
    tmp___0 = strcmp((char const   *)obj_dir_real, (char const   *)odb_path_real.buf);
    if (! tmp___0) {
      goto while_break;
    }
    odb = odb->next;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)obj_dir_real);
  strbuf_release(& odb_path_real);
  if (! odb) {
    tmp___1 = _((char const   *)"could not find object directory matching %s");
    die((char const   *)tmp___1, obj_dir);
  }
  return (odb);
}
}
static void fill_alternate_refs_command(struct child_process *cmd , char const   *repo_path )
{
  char const   *value ;
  int tmp ;
  int tmp___0 ;

  {
  tmp___0 = git_config_get_value((char const   *)"core.alternateRefsCommand", & value);
  if (tmp___0) {
    cmd->git_cmd = 1U;
    strvec_pushf(& cmd->args, (char const   *)"--git-dir=%s", repo_path);
    strvec_push(& cmd->args, (char const   *)"for-each-ref");
    strvec_push(& cmd->args, (char const   *)"--format=%(objectname)");
    tmp = git_config_get_value((char const   *)"core.alternateRefsPrefixes", & value);
    if (! tmp) {
      strvec_push(& cmd->args, (char const   *)"--");
      strvec_split(& cmd->args, value);
    }
  } else {
    cmd->use_shell = 1U;
    strvec_push(& cmd->args, value);
    strvec_push(& cmd->args, repo_path);
  }
  strvec_pushv(& cmd->env_array, (char const   **)(local_repo_env));
  cmd->out = -1;
  return;
}
}
static void read_alternate_refs(char const   *path___6 , alternate_ref_fn *cb , void *data )
{
  struct child_process cmd ;
  struct strbuf line___0 ;
  FILE *fh ;
  int tmp ;
  struct object_id oid ;
  char const   *p___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  cmd.args.v = empty_strvec;
  cmd.args.nr = 0UL;
  cmd.args.alloc = 0UL;
  cmd.env_array.v = empty_strvec;
  cmd.env_array.nr = 0UL;
  cmd.env_array.alloc = 0UL;
  cmd.pid = 0;
  cmd.trace2_child_id = 0;
  cmd.trace2_child_us_start = 0UL;
  cmd.trace2_child_class = (char const   *)0;
  cmd.trace2_hook_name = (char const   *)0;
  cmd.in = 0;
  cmd.out = 0;
  cmd.err = 0;
  cmd.dir = (char const   *)0;
  cmd.no_stdin = 0U;
  cmd.no_stdout = 0U;
  cmd.no_stderr = 0U;
  cmd.git_cmd = 0U;
  cmd.silent_exec_failure = 0U;
  cmd.use_shell = 0U;
  cmd.close_object_store = 0U;
  cmd.stdout_to_stderr = 0U;
  cmd.clean_on_exit = 0U;
  cmd.wait_after_clean = 0U;
  cmd.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cmd.clean_on_exit_handler_cbdata = (void *)0;
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  fill_alternate_refs_command(& cmd, path___6);
  tmp = start_command(& cmd);
  if (tmp) {
    return;
  }
  fh = xfdopen(cmd.out, (char const   *)"r");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = strbuf_getline_lf(& line___0, fh);
    if (! (tmp___2 != -1)) {
      goto while_break;
    }
    tmp___1 = parse_oid_hex((char const   *)line___0.buf, & oid, & p___0);
    if (tmp___1) {
      tmp___0 = _((char const   *)"invalid line while parsing alternate refs: %s");
      warning((char const   *)tmp___0, line___0.buf);
      goto while_break;
    } else
    if (*p___0) {
      tmp___0 = _((char const   *)"invalid line while parsing alternate refs: %s");
      warning((char const   *)tmp___0, line___0.buf);
      goto while_break;
    }
    (*cb)((struct object_id  const  *)(& oid), data);
  }
  while_break: /* CIL Label */ ;
  }
  fclose(fh);
  finish_command(& cmd);
  strbuf_release(& line___0);
  return;
}
}
static int refs_from_alternate_cb(struct object_directory *e , void *data )
{
  struct strbuf path___6 ;
  size_t base_len ;
  struct alternate_refs_data *cb ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  cb = (struct alternate_refs_data *)data;
  tmp = strbuf_realpath(& path___6, (char const   *)e->path, 0);
  if (! tmp) {
    goto out;
  }
  tmp___0 = strbuf_strip_suffix(& path___6, (char const   *)"/objects");
  if (! tmp___0) {
    goto out;
  }
  base_len = path___6.len;
  strbuf_addstr(& path___6, (char const   *)"/refs");
  tmp___1 = is_directory((char const   *)path___6.buf);
  if (! tmp___1) {
    goto out;
  }
  strbuf_setlen(& path___6, base_len);
  read_alternate_refs((char const   *)path___6.buf, cb->fn, cb->data);
  out:
  strbuf_release(& path___6);
  return (0);
}
}
void for_each_alternate_ref(alternate_ref_fn *fn , void *data )
{
  struct alternate_refs_data cb ;

  {
  cb.fn = fn;
  cb.data = data;
  foreach_alt_odb(& refs_from_alternate_cb, (void *)(& cb));
  return;
}
}
int foreach_alt_odb(alt_odb_fn *fn , void *cb )
{
  struct object_directory *ent ;
  int r ;

  {
  r = 0;
  prepare_alt_odb(the_repository);
  ent = ((the_repository->objects)->odb)->next;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ent) {
      goto while_break;
    }
    r = (*fn)(ent, cb);
    if (r) {
      goto while_break;
    }
    ent = ent->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (r);
}
}
void prepare_alt_odb(struct repository *r )
{


  {
  if ((r->objects)->loaded_alternates) {
    return;
  }
  link_alt_odb_entries(r, (char const   *)(r->objects)->alternate_db, ':', (char const   *)((void *)0),
                       0);
  read_info_alternates(r, (char const   *)((r->objects)->odb)->path, 0);
  (r->objects)->loaded_alternates = 1;
  return;
}
}
static int freshen_file(char const   *fn )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = utime(fn, (struct utimbuf  const  *)((void *)0));
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
int check_and_freshen_file(char const   *fn , int freshen )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = access(fn, 0);
  if (tmp) {
    return (0);
  }
  if (freshen) {
    tmp___0 = freshen_file(fn);
    if (! tmp___0) {
      return (0);
    }
  }
  return (1);
}
}
static int check_and_freshen_odb(struct object_directory *odb , struct object_id  const  *oid ,
                                 int freshen ) ;
static struct strbuf path___3  =    {0UL, 0UL, strbuf_slopbuf};
static int check_and_freshen_odb(struct object_directory *odb , struct object_id  const  *oid ,
                                 int freshen )
{
  int tmp ;

  {
  odb_loose_path(odb, & path___3, oid);
  tmp = check_and_freshen_file((char const   *)path___3.buf, freshen);
  return (tmp);
}
}
static int check_and_freshen_local(struct object_id  const  *oid , int freshen )
{
  int tmp ;

  {
  tmp = check_and_freshen_odb((the_repository->objects)->odb, oid, freshen);
  return (tmp);
}
}
static int check_and_freshen_nonlocal(struct object_id  const  *oid , int freshen )
{
  struct object_directory *odb ;
  int tmp ;

  {
  prepare_alt_odb(the_repository);
  odb = ((the_repository->objects)->odb)->next;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! odb) {
      goto while_break;
    }
    tmp = check_and_freshen_odb(odb, oid, freshen);
    if (tmp) {
      return (1);
    }
    odb = odb->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int check_and_freshen(struct object_id  const  *oid , int freshen )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = check_and_freshen_local(oid, freshen);
  if (tmp) {
    tmp___1 = 1;
  } else {
    tmp___0 = check_and_freshen_nonlocal(oid, freshen);
    if (tmp___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  }
  return (tmp___1);
}
}
int has_loose_object_nonlocal(struct object_id  const  *oid )
{
  int tmp ;

  {
  tmp = check_and_freshen_nonlocal(oid, 0);
  return (tmp);
}
}
static int has_loose_object(struct object_id  const  *oid )
{
  int tmp ;

  {
  tmp = check_and_freshen(oid, 0);
  return (tmp);
}
}
static void mmap_limit_check(size_t length ) ;
static size_t limit  =    (size_t )0;
static void mmap_limit_check(size_t length )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if (! limit) {
    limit = git_env_ulong((char const   *)"GIT_MMAP_LIMIT", 0UL);
    if (! limit) {
      limit = 18446744073709551615UL;
    }
  }
  if (length > limit) {
    tmp = _((char const   *)"attempting to mmap %lu over limit %lu");
    die((char const   *)tmp, length, limit);
  }
  return;
}
}
void *xmmap_gently(void *start , size_t length , int prot , int flags___0 , int fd ,
                   off_t offset___2 )
{
  void *ret___67 ;

  {
  mmap_limit_check(length);
  ret___67 = mmap(start, length, prot, flags___0, fd, offset___2);
  if ((unsigned long )ret___67 == (unsigned long )((void *)-1)) {
    if (! length) {
      ret___67 = (void *)0;
    }
  }
  return (ret___67);
}
}
static char const   blank___0[1]  = {      (char const   )'\000'};
static char const   enomem[48]  =
  {      (char const   )',',      (char const   )' ',      (char const   )'c',      (char const   )'h',
        (char const   )'e',      (char const   )'c',      (char const   )'k',      (char const   )' ',
        (char const   )'s',      (char const   )'y',      (char const   )'s',      (char const   )'.',
        (char const   )'v',      (char const   )'m',      (char const   )'.',      (char const   )'m',
        (char const   )'a',      (char const   )'x',      (char const   )'_',      (char const   )'m',
        (char const   )'a',      (char const   )'p',      (char const   )'_',      (char const   )'c',
        (char const   )'o',      (char const   )'u',      (char const   )'n',      (char const   )'t',
        (char const   )' ',      (char const   )'a',      (char const   )'n',      (char const   )'d',
        (char const   )'/',      (char const   )'o',      (char const   )'r',      (char const   )' ',
        (char const   )'R',      (char const   )'L',      (char const   )'I',      (char const   )'M',
        (char const   )'I',      (char const   )'T',      (char const   )'_',      (char const   )'D',
        (char const   )'A',      (char const   )'T',      (char const   )'A',      (char const   )'\000'};
char const   *mmap_os_err(void)
{
  int *tmp ;

  {
  tmp = __errno_location();
  if (*tmp == 12) {
    return (enomem);
  }
  return (blank___0);
}
}
void *xmmap(void *start , size_t length , int prot , int flags___0 , int fd , off_t offset___2 )
{
  void *ret___67 ;
  void *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  tmp = xmmap_gently(start, length, prot, flags___0, fd, offset___2);
  ret___67 = tmp;
  if ((unsigned long )ret___67 == (unsigned long )((void *)-1)) {
    tmp___0 = mmap_os_err();
    tmp___1 = _((char const   *)"mmap failed%s");
    die_errno((char const   *)tmp___1, tmp___0);
  }
  return (ret___67);
}
}
int check_object_signature(struct repository *r , struct object_id  const  *oid ,
                           void *map___0 , unsigned long size , char const   *type___0 ,
                           struct object_id *real_oidp )
{
  struct object_id tmp ;
  struct object_id *real_oid ;
  struct object_id *tmp___0 ;
  enum object_type obj_type ;
  struct git_istream *st ;
  git_hash_ctx c___0 ;
  char hdr[32] ;
  int hdrlen ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  char buf___19[16384] ;
  ssize_t readlen ;
  ssize_t tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  if (real_oidp) {
    tmp___0 = real_oidp;
  } else {
    tmp___0 = & tmp;
  }
  real_oid = tmp___0;
  if (map___0) {
    hash_object_file(r->hash_algo, (void const   *)map___0, size, type___0, real_oid);
    tmp___3 = oideq(oid, (struct object_id  const  *)real_oid);
    if (tmp___3) {
      tmp___2 = 0;
    } else {
      tmp___2 = -1;
    }
    return (tmp___2);
  }
  st = open_istream(r, oid, & obj_type, & size, (struct stream_filter *)((void *)0));
  if (! st) {
    return (-1);
  }
  tmp___4 = type_name((unsigned int )obj_type);
  tmp___5 = xsnprintf(hdr, sizeof(hdr), (char const   *)"%s %lu", tmp___4, size);
  hdrlen = tmp___5 + 1;
  (*((r->hash_algo)->init_fn))(& c___0);
  (*((r->hash_algo)->update_fn))(& c___0, (void const   *)(hdr), (size_t )hdrlen);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___6 = read_istream(st, (void *)(buf___19), sizeof(buf___19));
    readlen = tmp___6;
    if (readlen < 0L) {
      close_istream(st);
      return (-1);
    }
    if (! readlen) {
      goto while_break;
    }
    (*((r->hash_algo)->update_fn))(& c___0, (void const   *)(buf___19), (size_t )readlen);
  }
  while_break: /* CIL Label */ ;
  }
  (*((r->hash_algo)->final_oid_fn))(real_oid, & c___0);
  close_istream(st);
  tmp___9 = oideq(oid, (struct object_id  const  *)real_oid);
  if (tmp___9) {
    tmp___8 = 0;
  } else {
    tmp___8 = -1;
  }
  return (tmp___8);
}
}
static int o_cloexec  =    02000000;
static int fd_cloexec  =    1;
int git_open_cloexec(char const   *name___0 , int flags___0 )
{
  int fd ;
  int *tmp ;
  int flags___1 ;
  int tmp___0 ;
  int tmp___1 ;

  {
  fd = open(name___0, flags___0 | o_cloexec);
  if (o_cloexec & 02000000) {
    if (fd < 0) {
      tmp = __errno_location();
      if (*tmp == 22) {
        o_cloexec &= -524289;
        fd = open(name___0, flags___0 | o_cloexec);
      }
    }
  }
  if (! o_cloexec) {
    if (0 <= fd) {
      if (fd_cloexec) {
        tmp___0 = fcntl(fd, 1);
        flags___1 = tmp___0;
        tmp___1 = fcntl(fd, 2, flags___1 | fd_cloexec);
        if (tmp___1) {
          fd_cloexec = 0;
        }
      }
    }
  }
  return (fd);
}
}
static int stat_loose_object(struct repository *r , struct object_id  const  *oid ,
                             struct stat *st , char const   **path___6 ) ;
static struct strbuf buf___3  =    {0UL, 0UL, strbuf_slopbuf};
static int stat_loose_object(struct repository *r , struct object_id  const  *oid ,
                             struct stat *st , char const   **path___6 )
{
  struct object_directory *odb ;
  int tmp ;

  {
  prepare_alt_odb(r);
  odb = (r->objects)->odb;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! odb) {
      goto while_break;
    }
    *path___6 = odb_loose_path(odb, & buf___3, oid);
    tmp = lstat(*path___6, st);
    if (! tmp) {
      return (0);
    }
    odb = odb->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (-1);
}
}
static int open_loose_object(struct repository *r , struct object_id  const  *oid ,
                             char const   **path___6 ) ;
static struct strbuf buf___4  =    {0UL, 0UL, strbuf_slopbuf};
static int open_loose_object(struct repository *r , struct object_id  const  *oid ,
                             char const   **path___6 )
{
  int fd ;
  struct object_directory *odb ;
  int most_interesting_errno ;
  int *tmp ;
  int *tmp___0 ;

  {
  most_interesting_errno = 2;
  prepare_alt_odb(r);
  odb = (r->objects)->odb;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! odb) {
      goto while_break;
    }
    *path___6 = odb_loose_path(odb, & buf___4, oid);
    fd = git_open_cloexec(*path___6, 00);
    if (fd >= 0) {
      return (fd);
    }
    if (most_interesting_errno == 2) {
      tmp = __errno_location();
      most_interesting_errno = *tmp;
    }
    odb = odb->next;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = __errno_location();
  *tmp___0 = most_interesting_errno;
  return (-1);
}
}
static int quick_has_loose(struct repository *r , struct object_id  const  *oid )
{
  struct object_directory *odb ;
  struct oidtree *tmp ;
  int tmp___0 ;

  {
  prepare_alt_odb(r);
  odb = (r->objects)->odb;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! odb) {
      goto while_break;
    }
    tmp = odb_loose_cache(odb, oid);
    tmp___0 = oidtree_contains(tmp, oid);
    if (tmp___0) {
      return (1);
    }
    odb = odb->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void *map_loose_object_1(struct repository *r , char const   *path___6 , struct object_id  const  *oid ,
                                unsigned long *size )
{
  void *map___0 ;
  int fd ;
  struct stat st ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  if (path___6) {
    fd = git_open_cloexec(path___6, 00);
  } else {
    fd = open_loose_object(r, oid, & path___6);
  }
  map___0 = (void *)0;
  if (fd >= 0) {
    tmp___0 = fstat(fd, & st);
    if (! tmp___0) {
      *size = xsize_t(st.st_size);
      if (! *size) {
        tmp = _((char const   *)"object file %s is empty");
        error((char const   *)tmp, path___6);
        const_error();
        close(fd);
        return ((void *)0);
      }
      map___0 = xmmap((void *)0, *size, 0x1, 0x02, fd, (off_t )0);
    }
    close(fd);
  }
  return (map___0);
}
}
void *map_loose_object(struct repository *r , struct object_id  const  *oid , unsigned long *size )
{
  void *tmp ;

  {
  tmp = map_loose_object_1(r, (char const   *)((void *)0), oid, size);
  return (tmp);
}
}
enum unpack_loose_header_result unpack_loose_header(git_zstream *stream , unsigned char *map___0 ,
                                                    unsigned long mapsize , void *buffer___5 ,
                                                    unsigned long bufsiz , struct strbuf *header___0 )
{
  int status ;
  void *tmp ;
  void *tmp___0 ;

  {
  memset((void *)stream, 0, sizeof(*stream));
  stream->next_in = map___0;
  stream->avail_in = mapsize;
  stream->next_out = (unsigned char *)buffer___5;
  stream->avail_out = bufsiz;
  git_inflate_init(stream);
  obj_read_unlock();
  status = git_inflate(stream, 0);
  obj_read_lock();
  if (status < 0) {
    return ((enum unpack_loose_header_result )1);
  }
  tmp = memchr((void const   *)buffer___5, '\000', (size_t )(stream->next_out - (unsigned char *)buffer___5));
  if (tmp) {
    return ((enum unpack_loose_header_result )0);
  }
  if (! header___0) {
    return ((enum unpack_loose_header_result )2);
  }
  strbuf_add(header___0, (void const   *)buffer___5, (size_t )(stream->next_out - (unsigned char *)buffer___5));
  stream->next_out = (unsigned char *)buffer___5;
  stream->avail_out = bufsiz;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    obj_read_unlock();
    status = git_inflate(stream, 0);
    obj_read_lock();
    strbuf_add(header___0, (void const   *)buffer___5, (size_t )(stream->next_out - (unsigned char *)buffer___5));
    tmp___0 = memchr((void const   *)buffer___5, '\000', (size_t )(stream->next_out - (unsigned char *)buffer___5));
    if (tmp___0) {
      return ((enum unpack_loose_header_result )0);
    }
    stream->next_out = (unsigned char *)buffer___5;
    stream->avail_out = bufsiz;
    if (! (status != 1)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return ((enum unpack_loose_header_result )2);
}
}
static void *unpack_loose_rest(git_zstream *stream , void *buffer___5 , unsigned long size ,
                               struct object_id  const  *oid )
{
  int bytes ;
  size_t tmp ;
  unsigned char *buf___19 ;
  void *tmp___0 ;
  unsigned long n ;
  int status ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  tmp = strlen((char const   *)buffer___5);
  bytes = (int )(tmp + 1UL);
  tmp___0 = xmallocz(size);
  buf___19 = (unsigned char *)tmp___0;
  status = 0;
  n = stream->total_out - (unsigned long )bytes;
  if (n > size) {
    n = size;
  }
  memcpy((void *)buf___19, (void const   *)((char *)buffer___5 + bytes), n);
  bytes = (int )n;
  if ((unsigned long )bytes <= size) {
    stream->next_out = buf___19 + bytes;
    stream->avail_out = size - (unsigned long )bytes;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (status == 0)) {
        goto while_break;
      }
      obj_read_unlock();
      status = git_inflate(stream, 4);
      obj_read_lock();
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (status == 1) {
    if (! stream->avail_in) {
      git_inflate_end(stream);
      return ((void *)buf___19);
    }
  }
  if (status < 0) {
    tmp___1 = oid_to_hex(oid);
    tmp___2 = _((char const   *)"corrupt loose object \'%s\'");
    error((char const   *)tmp___2, tmp___1);
    const_error();
  } else
  if (stream->avail_in) {
    tmp___3 = oid_to_hex(oid);
    tmp___4 = _((char const   *)"garbage at end of loose object \'%s\'");
    error((char const   *)tmp___4, tmp___3);
    const_error();
  }
  free((void *)buf___19);
  return ((void *)0);
}
}
int parse_loose_header(char const   *hdr , struct object_info *oi___0 )
{
  char const   *type_buf ;
  size_t size ;
  int type___0 ;
  int type_len ;
  char c___0 ;
  char const   *tmp ;
  char const   *tmp___0 ;
  unsigned long c___1 ;
  size_t tmp___1 ;

  {
  type_buf = hdr;
  type_len = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = hdr;
    hdr ++;
    c___0 = (char )*tmp;
    if (! c___0) {
      return (-1);
    }
    if ((int )c___0 == 32) {
      goto while_break;
    }
    type_len ++;
  }
  while_break: /* CIL Label */ ;
  }
  type___0 = type_from_string_gently(type_buf, (ssize_t )type_len, 1);
  if (oi___0->type_name) {
    strbuf_add(oi___0->type_name, (void const   *)type_buf, (size_t )type_len);
  }
  if (oi___0->typep) {
    *(oi___0->typep) = (enum object_type )type___0;
  }
  tmp___0 = hdr;
  hdr ++;
  size = (size_t )((int const   )*tmp___0 - 48);
  if (size > 9UL) {
    return (-1);
  }
  if (size) {
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      c___1 = (unsigned long )((int const   )*hdr - 48);
      if (c___1 > 9UL) {
        goto while_break___0;
      }
      hdr ++;
      tmp___1 = st_mult(size, (size_t )10);
      size = st_add(tmp___1, c___1);
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  if (oi___0->sizep) {
    *(oi___0->sizep) = cast_size_t_to_ulong(size);
  }
  if (*hdr) {
    return (-1);
  }
  return (0);
}
}
static int loose_object_info(struct repository *r , struct object_id  const  *oid ,
                             struct object_info *oi___0 , int flags___0 )
{
  int status ;
  unsigned long mapsize ;
  void *map___0 ;
  git_zstream stream ;
  char hdr[32] ;
  struct strbuf hdrbuf ;
  unsigned long size_scratch ;
  enum object_type type_scratch ;
  int allow_unknown ;
  char const   *path___6 ;
  struct stat st ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  struct strbuf *tmp___3 ;
  enum unpack_loose_header_result tmp___4 ;
  char *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;
  char *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;

  {
  status = 0;
  hdrbuf.alloc = 0UL;
  hdrbuf.len = 0UL;
  hdrbuf.buf = strbuf_slopbuf;
  allow_unknown = flags___0 & 2;
  if (oi___0->delta_base_oid) {
    oidclr(oi___0->delta_base_oid);
  }
  if (! oi___0->typep) {
    if (! oi___0->type_name) {
      if (! oi___0->sizep) {
        if (! oi___0->contentp) {
          if (! oi___0->disk_sizep) {
            if (flags___0 & 8) {
              tmp___1 = quick_has_loose(r, oid);
              if (tmp___1) {
                tmp___0 = 0;
              } else {
                tmp___0 = -1;
              }
              return (tmp___0);
            }
          }
          tmp___2 = stat_loose_object(r, oid, & st, & path___6);
          if (tmp___2 < 0) {
            return (-1);
          }
          if (oi___0->disk_sizep) {
            *(oi___0->disk_sizep) = st.st_size;
          }
          return (0);
        }
      }
    }
  }
  map___0 = map_loose_object(r, oid, & mapsize);
  if (! map___0) {
    return (-1);
  }
  if (! oi___0->sizep) {
    oi___0->sizep = & size_scratch;
  }
  if (! oi___0->typep) {
    oi___0->typep = & type_scratch;
  }
  if (oi___0->disk_sizep) {
    *(oi___0->disk_sizep) = (off_t )mapsize;
  }
  if (allow_unknown) {
    tmp___3 = & hdrbuf;
  } else {
    tmp___3 = (struct strbuf *)((void *)0);
  }
  tmp___4 = unpack_loose_header(& stream, (unsigned char *)map___0, mapsize, (void *)(hdr),
                                sizeof(hdr), tmp___3);
  {
  if ((unsigned int )tmp___4 == 0U) {
    goto case_0;
  }
  if ((unsigned int )tmp___4 == 1U) {
    goto case_1;
  }
  if ((unsigned int )tmp___4 == 2U) {
    goto case_2;
  }
  goto switch_break;
  case_0: /* CIL Label */
  if (hdrbuf.len) {
    tmp___8 = hdrbuf.buf;
  } else {
    tmp___8 = hdr;
  }
  tmp___9 = parse_loose_header((char const   *)tmp___8, oi___0);
  if (tmp___9 < 0) {
    tmp___5 = oid_to_hex(oid);
    tmp___6 = _((char const   *)"unable to parse %s header");
    error((char const   *)tmp___6, tmp___5);
    status = const_error();
  } else
  if (! allow_unknown) {
    if ((int )*(oi___0->typep) < 0) {
      tmp___7 = _((char const   *)"invalid object type");
      die((char const   *)tmp___7);
    }
  }
  if (! oi___0->contentp) {
    goto switch_break;
  }
  *(oi___0->contentp) = unpack_loose_rest(& stream, (void *)(hdr), *(oi___0->sizep),
                                          oid);
  if (*(oi___0->contentp)) {
    goto cleanup;
  }
  status = -1;
  goto switch_break;
  case_1: /* CIL Label */
  tmp___10 = oid_to_hex(oid);
  tmp___11 = _((char const   *)"unable to unpack %s header");
  error((char const   *)tmp___11, tmp___10);
  status = const_error();
  goto switch_break;
  case_2: /* CIL Label */
  tmp___12 = oid_to_hex(oid);
  tmp___13 = _((char const   *)"header for %s too long, exceeds %d bytes");
  error((char const   *)tmp___13, tmp___12, 32);
  status = const_error();
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  git_inflate_end(& stream);
  cleanup:
  munmap(map___0, mapsize);
  if ((unsigned long )oi___0->sizep == (unsigned long )(& size_scratch)) {
    oi___0->sizep = (unsigned long *)((void *)0);
  }
  strbuf_release(& hdrbuf);
  if ((unsigned long )oi___0->typep == (unsigned long )(& type_scratch)) {
    oi___0->typep = (enum object_type *)((void *)0);
  }
  oi___0->whence = (enum __anonenum_whence_657228489 )1;
  return (status);
}
}
int obj_read_use_lock  =    0;
void enable_obj_read_lock(void)
{


  {
  if (obj_read_use_lock) {
    return;
  }
  obj_read_use_lock = 1;
  init_recursive_mutex(& obj_read_mutex);
  return;
}
}
void disable_obj_read_lock(void)
{


  {
  if (! obj_read_use_lock) {
    return;
  }
  obj_read_use_lock = 0;
  pthread_mutex_destroy(& obj_read_mutex);
  return;
}
}
int fetch_if_missing  =    1;
static int do_oid_object_info_extended(struct repository *r , struct object_id  const  *oid ,
                                       struct object_info *oi___0 , unsigned int flags___0 ) ;
static struct object_info blank_oi  =
     {(enum object_type *)0, (unsigned long *)0, (off_t *)0, (struct object_id *)0,
    (struct strbuf *)0, (void **)0, 0U, {{(struct packed_git *)0, 0L, 0U}}};
static int do_oid_object_info_extended(struct repository *r , struct object_id  const  *oid ,
                                       struct object_info *oi___0 , unsigned int flags___0 )
{
  struct cached_object *co ;
  struct pack_entry e ;
  int rtype ;
  struct object_id  const  *real ;
  int already_retried ;
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  real = oid;
  already_retried = 0;
  if (flags___0 & 1U) {
    real = lookup_replace_object(r, oid);
  }
  tmp = is_null_oid(real);
  if (tmp) {
    return (-1);
  }
  if (! oi___0) {
    oi___0 = & blank_oi;
  }
  co = find_cached_object(real);
  if (co) {
    if (oi___0->typep) {
      *(oi___0->typep) = co->type;
    }
    if (oi___0->sizep) {
      *(oi___0->sizep) = co->size;
    }
    if (oi___0->disk_sizep) {
      *(oi___0->disk_sizep) = (off_t )0;
    }
    if (oi___0->delta_base_oid) {
      oidclr(oi___0->delta_base_oid);
    }
    if (oi___0->type_name) {
      tmp___0 = type_name((unsigned int )co->type);
      strbuf_addstr(oi___0->type_name, tmp___0);
    }
    if (oi___0->contentp) {
      *(oi___0->contentp) = xmemdupz((void const   *)co->buf, co->size);
    }
    oi___0->whence = (enum __anonenum_whence_657228489 )0;
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = find_pack_entry(r, real, & e);
    if (tmp___1) {
      goto while_break;
    }
    if (flags___0 & 16U) {
      return (-1);
    }
    tmp___2 = loose_object_info(r, real, oi___0, (int )flags___0);
    if (! tmp___2) {
      return (0);
    }
    if (! (flags___0 & 8U)) {
      reprepare_packed_git(r);
      tmp___3 = find_pack_entry(r, real, & e);
      if (tmp___3) {
        goto while_break;
      }
    }
    if ((unsigned long )r == (unsigned long )the_repository) {
      tmp___4 = register_all_submodule_odb_as_alternates();
      if (tmp___4) {
        goto while_continue;
      }
    }
    if (fetch_if_missing) {
      tmp___5 = repo_has_promisor_remote(r);
      if (tmp___5) {
        if (! already_retried) {
          if (! (flags___0 & 32U)) {
            promisor_remote_get_direct(r, real, 1);
            already_retried = 1;
            goto while_continue;
          }
        }
      }
    }
    return (-1);
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned long )oi___0 == (unsigned long )(& blank_oi)) {
    return (0);
  }
  rtype = packed_object_info(r, e.p, e.offset, oi___0);
  if (rtype < 0) {
    mark_bad_packed_object(e.p, real);
    tmp___6 = do_oid_object_info_extended(r, real, oi___0, 0U);
    return (tmp___6);
  } else
  if ((unsigned int )oi___0->whence == 2U) {
    oi___0->u.packed.offset = e.offset;
    oi___0->u.packed.pack = e.p;
    if (rtype == 7) {
      tmp___7 = 1;
    } else
    if (rtype == 6) {
      tmp___7 = 1;
    } else {
      tmp___7 = 0;
    }
    oi___0->u.packed.is_delta = (unsigned int )tmp___7;
  }
  return (0);
}
}
int oid_object_info_extended(struct repository *r , struct object_id  const  *oid ,
                             struct object_info *oi___0 , unsigned int flags___0 )
{
  int ret___67 ;

  {
  obj_read_lock();
  ret___67 = do_oid_object_info_extended(r, oid, oi___0, flags___0);
  obj_read_unlock();
  return (ret___67);
}
}
int oid_object_info(struct repository *r , struct object_id  const  *oid , unsigned long *sizep )
{
  enum object_type type___0 ;
  struct object_info oi___0 ;
  int tmp ;

  {
  oi___0.typep = (enum object_type *)0;
  oi___0.sizep = (unsigned long *)0;
  oi___0.disk_sizep = (off_t *)0;
  oi___0.delta_base_oid = (struct object_id *)0;
  oi___0.type_name = (struct strbuf *)0;
  oi___0.contentp = (void **)0;
  oi___0.whence = 0U;
  oi___0.u.packed.pack = (struct packed_git *)0;
  oi___0.u.packed.offset = 0L;
  oi___0.u.packed.is_delta = 0U;
  oi___0.typep = & type___0;
  oi___0.sizep = sizep;
  tmp = oid_object_info_extended(r, oid, & oi___0, 1U);
  if (tmp < 0) {
    return (-1);
  }
  return ((int )type___0);
}
}
static void *read_object(struct repository *r , struct object_id  const  *oid , enum object_type *type___0 ,
                         unsigned long *size )
{
  struct object_info oi___0 ;
  void *content ;
  int tmp ;

  {
  oi___0.typep = (enum object_type *)0;
  oi___0.sizep = (unsigned long *)0;
  oi___0.disk_sizep = (off_t *)0;
  oi___0.delta_base_oid = (struct object_id *)0;
  oi___0.type_name = (struct strbuf *)0;
  oi___0.contentp = (void **)0;
  oi___0.whence = 0U;
  oi___0.u.packed.pack = (struct packed_git *)0;
  oi___0.u.packed.offset = 0L;
  oi___0.u.packed.is_delta = 0U;
  oi___0.typep = type___0;
  oi___0.sizep = size;
  oi___0.contentp = & content;
  tmp = oid_object_info_extended(r, oid, & oi___0, 0U);
  if (tmp < 0) {
    return ((void *)0);
  }
  return (content);
}
}
int pretend_object_file(void *buf___19 , unsigned long len___0 , enum object_type type___0 ,
                        struct object_id *oid )
{
  struct cached_object *co ;
  char const   *tmp ;
  int tmp___0 ;
  struct cached_object *tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;
  int tmp___4 ;

  {
  tmp = type_name((unsigned int )type___0);
  hash_object_file(the_repository->hash_algo, (void const   *)buf___19, len___0, tmp,
                   oid);
  tmp___0 = repo_has_object_file_with_flags(the_repository, (struct object_id  const  *)oid,
                                            40);
  if (tmp___0) {
    return (0);
  } else {
    tmp___1 = find_cached_object((struct object_id  const  *)oid);
    if (tmp___1) {
      return (0);
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (cached_object_nr + 1 > cached_object_alloc) {
      if (((cached_object_alloc + 16) * 3) / 2 < cached_object_nr + 1) {
        cached_object_alloc = cached_object_nr + 1;
      } else {
        cached_object_alloc = ((cached_object_alloc + 16) * 3) / 2;
      }
      tmp___2 = st_mult(sizeof(*cached_objects), (size_t )cached_object_alloc);
      tmp___3 = xrealloc((void *)cached_objects, tmp___2);
      cached_objects = (struct cached_object *)tmp___3;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___4 = cached_object_nr;
  cached_object_nr ++;
  co = cached_objects + tmp___4;
  co->size = len___0;
  co->type = type___0;
  co->buf = xmalloc(len___0);
  memcpy(co->buf, (void const   *)buf___19, len___0);
  oidcpy(& co->oid, (struct object_id  const  *)oid);
  return (0);
}
}
void *read_object_file_extended(struct repository *r , struct object_id  const  *oid ,
                                enum object_type *type___0 , unsigned long *size ,
                                int lookup_replace )
{
  void *data ;
  struct packed_git  const  *p___0 ;
  char const   *path___6 ;
  struct stat st ;
  struct object_id  const  *repl ;
  struct object_id  const  *tmp ;
  struct object_id  const  *tmp___0 ;
  int *tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int *tmp___4 ;
  int *tmp___5 ;
  char *tmp___6 ;
  char *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  char *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;

  {
  if (lookup_replace) {
    tmp = lookup_replace_object(r, oid);
    tmp___0 = tmp;
  } else {
    tmp___0 = oid;
  }
  repl = tmp___0;
  tmp___1 = __errno_location();
  *tmp___1 = 0;
  data = read_object(r, repl, type___0, size);
  if (data) {
    return (data);
  }
  obj_read_lock();
  tmp___4 = __errno_location();
  if (*tmp___4) {
    tmp___5 = __errno_location();
    if (*tmp___5 != 2) {
      tmp___2 = oid_to_hex(oid);
      tmp___3 = _((char const   *)"failed to read object %s");
      die_errno((char const   *)tmp___3, tmp___2);
    }
  }
  if ((unsigned long )repl != (unsigned long )oid) {
    tmp___6 = oid_to_hex(oid);
    tmp___7 = oid_to_hex(repl);
    tmp___8 = _((char const   *)"replacement %s not found for %s");
    die((char const   *)tmp___8, tmp___7, tmp___6);
  }
  tmp___11 = stat_loose_object(r, repl, & st, & path___6);
  if (! tmp___11) {
    tmp___9 = oid_to_hex(repl);
    tmp___10 = _((char const   *)"loose object %s (stored in %s) is corrupt");
    die((char const   *)tmp___10, tmp___9, path___6);
  }
  p___0 = has_packed_and_bad(r, repl);
  if ((unsigned long )p___0 != (unsigned long )((void *)0)) {
    tmp___12 = oid_to_hex(repl);
    tmp___13 = _((char const   *)"packed object %s (stored in %s) is corrupt");
    die((char const   *)tmp___13, tmp___12, p___0->pack_name);
  }
  obj_read_unlock();
  return ((void *)0);
}
}
void *read_object_with_reference(struct repository *r , struct object_id  const  *oid ,
                                 char const   *required_type_name , unsigned long *size ,
                                 struct object_id *actual_oid_return )
{
  enum object_type type___0 ;
  enum object_type required_type ;
  void *buffer___5 ;
  unsigned long isize ;
  struct object_id actual_oid ;
  int tmp ;
  int ref_length ;
  char const   *ref_type___0 ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = type_from_string_gently(required_type_name, (ssize_t )-1, 0);
  required_type = (enum object_type )tmp;
  oidcpy(& actual_oid, oid);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    ref_length = -1;
    ref_type___0 = (char const   *)((void *)0);
    buffer___5 = repo_read_object_file(r, (struct object_id  const  *)(& actual_oid),
                                       & type___0, & isize);
    if (! buffer___5) {
      return ((void *)0);
    }
    if ((int )type___0 == (int )required_type) {
      *size = isize;
      if (actual_oid_return) {
        oidcpy(actual_oid_return, (struct object_id  const  *)(& actual_oid));
      }
      return (buffer___5);
    } else
    if ((int )type___0 == 1) {
      ref_type___0 = (char const   *)"tree ";
    } else
    if ((int )type___0 == 4) {
      ref_type___0 = (char const   *)"object ";
    } else {
      free(buffer___5);
      return ((void *)0);
    }
    tmp___0 = strlen(ref_type___0);
    ref_length = (int )tmp___0;
    if ((size_t )ref_length + (the_repository->hash_algo)->hexsz > (size_t )isize) {
      free(buffer___5);
      return ((void *)0);
    } else {
      tmp___1 = memcmp((void const   *)buffer___5, (void const   *)ref_type___0, (size_t )ref_length);
      if (tmp___1) {
        free(buffer___5);
        return ((void *)0);
      } else {
        tmp___2 = get_oid_hex((char const   *)((char *)buffer___5 + ref_length), & actual_oid);
        if (tmp___2) {
          free(buffer___5);
          return ((void *)0);
        }
      }
    }
    free(buffer___5);
  }
  while_break: /* CIL Label */ ;
  }
}
}
static void write_object_file_prepare(struct git_hash_algo  const  *algo , void const   *buf___19 ,
                                      unsigned long len___0 , char const   *type___0 ,
                                      struct object_id *oid , char *hdr , int *hdrlen )
{
  git_hash_ctx c___0 ;
  int tmp ;

  {
  tmp = xsnprintf(hdr, (size_t )*hdrlen, (char const   *)"%s %lu", type___0, len___0);
  *hdrlen = tmp + 1;
  (*(algo->init_fn))(& c___0);
  (*(algo->update_fn))(& c___0, (void const   *)hdr, (size_t )*hdrlen);
  (*(algo->update_fn))(& c___0, buf___19, len___0);
  (*(algo->final_oid_fn))(oid, & c___0);
  return;
}
}
int finalize_object_file(char const   *tmpfile___0 , char const   *filename___0 )
{
  int ret___67 ;
  int *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  ret___67 = 0;
  if ((unsigned int )object_creation_mode == 1U) {
    goto try_rename;
  } else {
    tmp___0 = link(tmpfile___0, filename___0);
    if (tmp___0) {
      tmp = __errno_location();
      ret___67 = *tmp;
    }
  }
  if (ret___67) {
    if (ret___67 != 17) {
      try_rename:
      tmp___1 = rename(tmpfile___0, filename___0);
      if (! tmp___1) {
        goto out;
      }
      tmp___2 = __errno_location();
      ret___67 = *tmp___2;
    }
  }
  unlink_or_warn(tmpfile___0);
  if (ret___67) {
    if (ret___67 != 17) {
      tmp___3 = _((char const   *)"unable to write file %s");
      error_errno((char const   *)tmp___3, filename___0);
      tmp___4 = const_error();
      return (tmp___4);
    }
  }
  out:
  tmp___7 = adjust_shared_perm(filename___0);
  if (tmp___7) {
    tmp___5 = _((char const   *)"unable to set permission to \'%s\'");
    error((char const   *)tmp___5, filename___0);
    tmp___6 = const_error();
    return (tmp___6);
  }
  return (0);
}
}
static int write_buffer(int fd , void const   *buf___19 , size_t len___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  ssize_t tmp___1 ;

  {
  tmp___1 = write_in_full(fd, buf___19, len___0);
  if (tmp___1 < 0L) {
    tmp = _((char const   *)"file write error");
    error_errno((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  return (0);
}
}
int hash_object_file(struct git_hash_algo  const  *algo , void const   *buf___19 ,
                     unsigned long len___0 , char const   *type___0 , struct object_id *oid )
{
  char hdr[32] ;
  int hdrlen ;

  {
  hdrlen = (int )sizeof(hdr);
  write_object_file_prepare(algo, buf___19, len___0, type___0, oid, hdr, & hdrlen);
  return (0);
}
}
static void close_loose_object(int fd )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  if (! ((the_repository->objects)->odb)->will_destroy) {
    if (fsync_object_files) {
      fsync_or_die(fd, (char const   *)"loose object file");
    }
  }
  tmp___0 = close(fd);
  if (tmp___0 != 0) {
    tmp = _((char const   *)"error when closing loose object file");
    die_errno((char const   *)tmp);
  }
  return;
}
}
__inline static int directory_size(char const   *filename___0 )
{
  char const   *s___1 ;
  char *tmp ;

  {
  tmp = strrchr(filename___0, '/');
  s___1 = (char const   *)tmp;
  if (! s___1) {
    return (0);
  }
  return ((int )((s___1 - filename___0) + 1L));
}
}
static int create_tmpfile(struct strbuf *tmp , char const   *filename___0 )
{
  int fd ;
  int dirlen ;
  int tmp___0 ;
  int tmp___1 ;
  int *tmp___2 ;
  int tmp___3 ;
  int *tmp___4 ;

  {
  tmp___0 = directory_size(filename___0);
  dirlen = tmp___0;
  strbuf_setlen(tmp, (size_t )0);
  strbuf_add(tmp, (void const   *)filename___0, (size_t )dirlen);
  strbuf_addstr(tmp, (char const   *)"tmp_obj_XXXXXX");
  fd = git_mkstemp_mode(tmp->buf, 0444);
  if (fd < 0) {
    if (dirlen) {
      tmp___4 = __errno_location();
      if (*tmp___4 == 2) {
        strbuf_setlen(tmp, (size_t )0);
        strbuf_add(tmp, (void const   *)filename___0, (size_t )(dirlen - 1));
        tmp___1 = mkdir((char const   *)tmp->buf, (__mode_t )0777);
        if (tmp___1) {
          tmp___2 = __errno_location();
          if (*tmp___2 != 17) {
            return (-1);
          }
        }
        tmp___3 = adjust_shared_perm((char const   *)tmp->buf);
        if (tmp___3) {
          return (-1);
        }
        strbuf_addstr(tmp, (char const   *)"/tmp_obj_XXXXXX");
        fd = git_mkstemp_mode(tmp->buf, 0444);
      }
    }
  }
  return (fd);
}
}
static int write_loose_object(struct object_id  const  *oid , char *hdr , int hdrlen ,
                              void const   *buf___19 , unsigned long len___0 , time_t mtime ,
                              unsigned int flags___0 ) ;
static struct strbuf tmp_file  =    {0UL, 0UL, strbuf_slopbuf};
static struct strbuf filename  =    {0UL, 0UL, strbuf_slopbuf};
static int write_loose_object(struct object_id  const  *oid , char *hdr , int hdrlen ,
                              void const   *buf___19 , unsigned long len___0 , time_t mtime ,
                              unsigned int flags___0 )
{
  int fd ;
  int ret___67 ;
  unsigned char compressed[4096] ;
  git_zstream stream ;
  git_hash_ctx c___0 ;
  struct object_id parano_oid ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int *tmp___4 ;
  int tmp___5 ;
  unsigned char *in0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;
  struct utimbuf utb ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;

  {
  loose_object_path(the_repository, & filename, oid);
  fd = create_tmpfile(& tmp_file, (char const   *)filename.buf);
  if (fd < 0) {
    if (flags___0 & 8U) {
      return (-1);
    } else {
      tmp___4 = __errno_location();
      if (*tmp___4 == 13) {
        tmp = get_object_directory();
        tmp___0 = _((char const   *)"insufficient permission for adding an object to repository database %s");
        error((char const   *)tmp___0, tmp);
        tmp___1 = const_error();
        return (tmp___1);
      } else {
        tmp___2 = _((char const   *)"unable to create temporary file");
        error_errno((char const   *)tmp___2);
        tmp___3 = const_error();
        return (tmp___3);
      }
    }
  }
  git_deflate_init(& stream, zlib_compression_level);
  stream.next_out = compressed;
  stream.avail_out = sizeof(compressed);
  (*((the_repository->hash_algo)->init_fn))(& c___0);
  stream.next_in = (unsigned char *)hdr;
  stream.avail_in = (unsigned long )hdrlen;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___5 = git_deflate(& stream, 0);
    if (! (tmp___5 == 0)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  (*((the_repository->hash_algo)->update_fn))(& c___0, (void const   *)hdr, (size_t )hdrlen);
  stream.next_in = (unsigned char *)((void *)buf___19);
  stream.avail_in = len___0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    in0 = stream.next_in;
    ret___67 = git_deflate(& stream, 4);
    (*((the_repository->hash_algo)->update_fn))(& c___0, (void const   *)in0, (size_t )(stream.next_in - in0));
    tmp___7 = write_buffer(fd, (void const   *)(compressed), (size_t )(stream.next_out - compressed));
    if (tmp___7 < 0) {
      tmp___6 = _((char const   *)"unable to write loose object file");
      die((char const   *)tmp___6);
    }
    stream.next_out = compressed;
    stream.avail_out = sizeof(compressed);
    if (! (ret___67 == 0)) {
      goto while_break___0;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  if (ret___67 != 1) {
    tmp___8 = oid_to_hex(oid);
    tmp___9 = _((char const   *)"unable to deflate new object %s (%d)");
    die((char const   *)tmp___9, tmp___8, ret___67);
  }
  ret___67 = git_deflate_end_gently(& stream);
  if (ret___67 != 0) {
    tmp___10 = oid_to_hex(oid);
    tmp___11 = _((char const   *)"deflateEnd on object %s failed (%d)");
    die((char const   *)tmp___11, tmp___10, ret___67);
  }
  (*((the_repository->hash_algo)->final_oid_fn))(& parano_oid, & c___0);
  tmp___14 = oideq(oid, (struct object_id  const  *)(& parano_oid));
  if (! tmp___14) {
    tmp___12 = oid_to_hex(oid);
    tmp___13 = _((char const   *)"confused by unstable object source data for %s");
    die((char const   *)tmp___13, tmp___12);
  }
  close_loose_object(fd);
  if (mtime) {
    utb.actime = mtime;
    utb.modtime = mtime;
    tmp___16 = utime((char const   *)tmp_file.buf, (struct utimbuf  const  *)(& utb));
    if (tmp___16 < 0) {
      if (! (flags___0 & 8U)) {
        tmp___15 = _((char const   *)"failed utime() on %s");
        warning_errno((char const   *)tmp___15, tmp_file.buf);
      }
    }
  }
  tmp___17 = finalize_object_file((char const   *)tmp_file.buf, (char const   *)filename.buf);
  return (tmp___17);
}
}
static int freshen_loose_object(struct object_id  const  *oid )
{
  int tmp ;

  {
  tmp = check_and_freshen(oid, 1);
  return (tmp);
}
}
static int freshen_packed_object(struct object_id  const  *oid )
{
  struct pack_entry e ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = find_pack_entry(the_repository, oid, & e);
  if (! tmp) {
    return (0);
  }
  if ((e.p)->freshened) {
    return (1);
  }
  tmp___0 = freshen_file((char const   *)((e.p)->pack_name));
  if (! tmp___0) {
    return (0);
  }
  (e.p)->freshened = 1U;
  return (1);
}
}
int write_object_file_flags(void const   *buf___19 , unsigned long len___0 , char const   *type___0 ,
                            struct object_id *oid , unsigned int flags___0 )
{
  char hdr[32] ;
  int hdrlen ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  hdrlen = (int )sizeof(hdr);
  write_object_file_prepare(the_repository->hash_algo, buf___19, len___0, type___0,
                            oid, hdr, & hdrlen);
  tmp = freshen_packed_object((struct object_id  const  *)oid);
  if (tmp) {
    return (0);
  } else {
    tmp___0 = freshen_loose_object((struct object_id  const  *)oid);
    if (tmp___0) {
      return (0);
    }
  }
  tmp___1 = write_loose_object((struct object_id  const  *)oid, hdr, hdrlen, buf___19,
                               len___0, (time_t )0, flags___0);
  return (tmp___1);
}
}
int hash_object_file_literally(void const   *buf___19 , unsigned long len___0 , char const   *type___0 ,
                               struct object_id *oid , unsigned int flags___0 )
{
  char *header___0 ;
  int hdrlen ;
  int status ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  status = 0;
  tmp = strlen(type___0);
  hdrlen = (int )(tmp + 32UL);
  tmp___0 = xmalloc((size_t )hdrlen);
  header___0 = (char *)tmp___0;
  write_object_file_prepare(the_repository->hash_algo, buf___19, len___0, type___0,
                            oid, header___0, & hdrlen);
  if (! (flags___0 & 1U)) {
    goto cleanup;
  }
  tmp___1 = freshen_packed_object((struct object_id  const  *)oid);
  if (tmp___1) {
    goto cleanup;
  } else {
    tmp___2 = freshen_loose_object((struct object_id  const  *)oid);
    if (tmp___2) {
      goto cleanup;
    }
  }
  status = write_loose_object((struct object_id  const  *)oid, header___0, hdrlen,
                              buf___19, len___0, (time_t )0, 0U);
  cleanup:
  free((void *)header___0);
  return (status);
}
}
int force_object_loose(struct object_id  const  *oid , time_t mtime )
{
  void *buf___19 ;
  unsigned long len___0 ;
  enum object_type type___0 ;
  char hdr[32] ;
  int hdrlen ;
  int ret___67 ;
  int tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;

  {
  tmp = has_loose_object(oid);
  if (tmp) {
    return (0);
  }
  buf___19 = read_object(the_repository, oid, & type___0, & len___0);
  if (! buf___19) {
    tmp___0 = oid_to_hex(oid);
    tmp___1 = _((char const   *)"cannot read object for %s");
    error((char const   *)tmp___1, tmp___0);
    tmp___2 = const_error();
    return (tmp___2);
  }
  tmp___3 = type_name((unsigned int )type___0);
  tmp___4 = xsnprintf(hdr, sizeof(hdr), (char const   *)"%s %lu", tmp___3, len___0);
  hdrlen = tmp___4 + 1;
  ret___67 = write_loose_object(oid, hdr, hdrlen, (void const   *)buf___19, len___0,
                                mtime, 0U);
  free(buf___19);
  return (ret___67);
}
}
int has_object(struct repository *r , struct object_id  const  *oid , unsigned int flags___0 )
{
  int quick ;
  unsigned int object_info_flags ;
  int tmp ;
  int tmp___0 ;

  {
  quick = ! (flags___0 & 1U);
  if (quick) {
    tmp = 8;
  } else {
    tmp = 0;
  }
  object_info_flags = (unsigned int )(32 | tmp);
  if (! startup_info->have_repository) {
    return (0);
  }
  tmp___0 = oid_object_info_extended(r, oid, (struct object_info *)((void *)0), object_info_flags);
  return (tmp___0 >= 0);
}
}
int repo_has_object_file_with_flags(struct repository *r , struct object_id  const  *oid ,
                                    int flags___0 )
{
  int tmp ;

  {
  if (! startup_info->have_repository) {
    return (0);
  }
  tmp = oid_object_info_extended(r, oid, (struct object_info *)((void *)0), (unsigned int )flags___0);
  return (tmp >= 0);
}
}
int repo_has_object_file(struct repository *r , struct object_id  const  *oid )
{
  int tmp ;

  {
  tmp = repo_has_object_file_with_flags(r, oid, 0);
  return (tmp);
}
}
static void check_tree(void const   *buf___19 , size_t size )
{
  struct tree_desc desc___0 ;
  struct name_entry entry ;
  int tmp ;

  {
  init_tree_desc(& desc___0, buf___19, size);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = tree_entry(& desc___0, & entry);
    if (! tmp) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void check_commit(void const   *buf___19 , size_t size )
{
  struct commit c___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  memset((void *)(& c___0), 0, sizeof(c___0));
  tmp___0 = parse_commit_buffer(the_repository, & c___0, buf___19, size, 0);
  if (tmp___0) {
    tmp = _((char const   *)"corrupt commit");
    die((char const   *)tmp);
  }
  return;
}
}
static void check_tag(void const   *buf___19 , size_t size )
{
  struct tag t ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  memset((void *)(& t), 0, sizeof(t));
  tmp___0 = parse_tag_buffer(the_repository, & t, buf___19, size);
  if (tmp___0) {
    tmp = _((char const   *)"corrupt tag");
    die((char const   *)tmp);
  }
  return;
}
}
static int index_mem(struct index_state *istate , struct object_id *oid , void *buf___19 ,
                     size_t size , enum object_type type___0 , char const   *path___6 ,
                     unsigned int flags___0 )
{
  int ret___67 ;
  int re_allocated ;
  int write_object___1 ;
  struct strbuf nbuf ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;

  {
  re_allocated = 0;
  write_object___1 = (int )(flags___0 & 1U);
  if (! type___0) {
    type___0 = (enum object_type )3;
  }
  if ((int )type___0 == 3) {
    if (path___6) {
      nbuf.alloc = 0UL;
      nbuf.len = 0UL;
      nbuf.buf = strbuf_slopbuf;
      tmp___0 = get_conv_flags(flags___0);
      tmp___1 = convert_to_git(istate, path___6, (char const   *)buf___19, size, & nbuf,
                               tmp___0);
      if (tmp___1) {
        tmp = strbuf_detach(& nbuf, & size);
        buf___19 = (void *)tmp;
        re_allocated = 1;
      }
    }
  }
  if (flags___0 & 2U) {
    if ((int )type___0 == 2) {
      check_tree((void const   *)buf___19, size);
    }
    if ((int )type___0 == 1) {
      check_commit((void const   *)buf___19, size);
    }
    if ((int )type___0 == 4) {
      check_tag((void const   *)buf___19, size);
    }
  }
  if (write_object___1) {
    tmp___2 = type_name((unsigned int )type___0);
    ret___67 = write_object_file((void const   *)buf___19, size, tmp___2, oid);
  } else {
    tmp___3 = type_name((unsigned int )type___0);
    ret___67 = hash_object_file(the_repository->hash_algo, (void const   *)buf___19,
                                size, tmp___3, oid);
  }
  if (re_allocated) {
    free(buf___19);
  }
  return (ret___67);
}
}
static int index_stream_convert_blob(struct index_state *istate , struct object_id *oid ,
                                     int fd , char const   *path___6 , unsigned int flags___0 )
{
  int ret___67 ;
  int write_object___1 ;
  struct strbuf sbuf ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;

  {
  write_object___1 = (int )(flags___0 & 1U);
  sbuf.alloc = 0UL;
  sbuf.len = 0UL;
  sbuf.buf = strbuf_slopbuf;
  assert((int )path___6);
  tmp = would_convert_to_git_filter_fd(istate, path___6);
  assert(tmp);
  tmp___0 = get_conv_flags(flags___0);
  convert_to_git_filter_fd(istate, path___6, fd, & sbuf, tmp___0);
  if (write_object___1) {
    tmp___1 = type_name(3U);
    ret___67 = write_object_file((void const   *)sbuf.buf, sbuf.len, tmp___1, oid);
  } else {
    tmp___2 = type_name(3U);
    ret___67 = hash_object_file(the_repository->hash_algo, (void const   *)sbuf.buf,
                                sbuf.len, tmp___2, oid);
  }
  strbuf_release(& sbuf);
  return (ret___67);
}
}
static int index_pipe(struct index_state *istate , struct object_id *oid , int fd ,
                      enum object_type type___0 , char const   *path___6 , unsigned int flags___0 )
{
  struct strbuf sbuf ;
  int ret___67 ;
  ssize_t tmp ;

  {
  sbuf.alloc = 0UL;
  sbuf.len = 0UL;
  sbuf.buf = strbuf_slopbuf;
  tmp = strbuf_read(& sbuf, fd, (size_t )4096);
  if (tmp >= 0L) {
    ret___67 = index_mem(istate, oid, (void *)sbuf.buf, sbuf.len, type___0, path___6,
                         flags___0);
  } else {
    ret___67 = -1;
  }
  strbuf_release(& sbuf);
  return (ret___67);
}
}
static int index_core(struct index_state *istate , struct object_id *oid , int fd ,
                      size_t size , enum object_type type___0 , char const   *path___6 ,
                      unsigned int flags___0 )
{
  int ret___67 ;
  char *buf___19 ;
  void *tmp ;
  ssize_t read_result ;
  ssize_t tmp___0 ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const   *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  void *buf___20 ;
  void *tmp___5 ;

  {
  if (! size) {
    ret___67 = index_mem(istate, oid, (void *)"", size, type___0, path___6, flags___0);
  } else
  if (size <= 32768UL) {
    tmp = xmalloc(size);
    buf___19 = (char *)tmp;
    tmp___0 = read_in_full(fd, (void *)buf___19, size);
    read_result = tmp___0;
    if (read_result < 0L) {
      if (path___6) {
        tmp___1 = path___6;
      } else {
        tmp___1 = (char const   *)"<unknown>";
      }
      tmp___2 = _((char const   *)"read error while indexing %s");
      error_errno((char const   *)tmp___2, tmp___1);
      ret___67 = const_error();
    } else
    if ((size_t )read_result != size) {
      if (path___6) {
        tmp___3 = path___6;
      } else {
        tmp___3 = (char const   *)"<unknown>";
      }
      tmp___4 = _((char const   *)"short read while indexing %s");
      error((char const   *)tmp___4, tmp___3);
      ret___67 = const_error();
    } else {
      ret___67 = index_mem(istate, oid, (void *)buf___19, size, type___0, path___6,
                           flags___0);
    }
    free((void *)buf___19);
  } else {
    tmp___5 = xmmap((void *)0, size, 0x1, 0x02, fd, (off_t )0);
    buf___20 = tmp___5;
    ret___67 = index_mem(istate, oid, buf___20, size, type___0, path___6, flags___0);
    munmap(buf___20, size);
  }
  return (ret___67);
}
}
static int index_stream(struct object_id *oid , int fd , size_t size , enum object_type type___0 ,
                        char const   *path___6 , unsigned int flags___0 )
{
  int tmp ;

  {
  tmp = index_bulk_checkin(oid, fd, size, type___0, path___6, flags___0);
  return (tmp);
}
}
int index_fd(struct index_state *istate , struct object_id *oid , int fd , struct stat *st ,
             enum object_type type___0 , char const   *path___6 , unsigned int flags___0 )
{
  int ret___67 ;
  size_t tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if ((int )type___0 == 3) {
    if (path___6) {
      tmp___2 = would_convert_to_git_filter_fd(istate, path___6);
      if (tmp___2) {
        ret___67 = index_stream_convert_blob(istate, oid, fd, path___6, flags___0);
      } else {
        goto _L___0;
      }
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  _L: /* CIL Label */
  if (! ((st->st_mode & 61440U) == 32768U)) {
    ret___67 = index_pipe(istate, oid, fd, type___0, path___6, flags___0);
  } else
  if ((unsigned long )st->st_size <= big_file_threshold) {
    tmp = xsize_t(st->st_size);
    ret___67 = index_core(istate, oid, fd, tmp, type___0, path___6, flags___0);
  } else
  if ((int )type___0 != 3) {
    tmp = xsize_t(st->st_size);
    ret___67 = index_core(istate, oid, fd, tmp, type___0, path___6, flags___0);
  } else
  if (path___6) {
    tmp___1 = would_convert_to_git(istate, path___6);
    if (tmp___1) {
      tmp = xsize_t(st->st_size);
      ret___67 = index_core(istate, oid, fd, tmp, type___0, path___6, flags___0);
    } else {
      tmp___0 = xsize_t(st->st_size);
      ret___67 = index_stream(oid, fd, tmp___0, type___0, path___6, flags___0);
    }
  } else {
    tmp___0 = xsize_t(st->st_size);
    ret___67 = index_stream(oid, fd, tmp___0, type___0, path___6, flags___0);
  }
  close(fd);
  return (ret___67);
}
}
int index_path(struct index_state *istate , struct object_id *oid , char const   *path___6 ,
               struct stat *st , unsigned int flags___0 )
{
  int fd ;
  struct strbuf sb___6 ;
  int rc___0 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  rc___0 = 0;
  {
  if ((st->st_mode & 61440U) == 32768U) {
    goto case_32768;
  }
  if ((st->st_mode & 61440U) == 40960U) {
    goto case_40960;
  }
  if ((st->st_mode & 61440U) == 16384U) {
    goto case_16384;
  }
  goto switch_default;
  case_32768: /* CIL Label */
  fd = open(path___6, 00);
  if (fd < 0) {
    error_errno((char const   *)"open(\"%s\")", path___6);
    tmp = const_error();
    return (tmp);
  }
  tmp___2 = index_fd(istate, oid, fd, st, (enum object_type )3, path___6, flags___0);
  if (tmp___2 < 0) {
    tmp___0 = _((char const   *)"%s: failed to insert into database");
    error((char const   *)tmp___0, path___6);
    tmp___1 = const_error();
    return (tmp___1);
  }
  goto switch_break;
  case_40960: /* CIL Label */
  tmp___4 = strbuf_readlink(& sb___6, path___6, (size_t )st->st_size);
  if (tmp___4) {
    error_errno((char const   *)"readlink(\"%s\")", path___6);
    tmp___3 = const_error();
    return (tmp___3);
  }
  if (! (flags___0 & 1U)) {
    hash_object_file(the_repository->hash_algo, (void const   *)sb___6.buf, sb___6.len,
                     blob_type, oid);
  } else {
    tmp___6 = write_object_file((void const   *)sb___6.buf, sb___6.len, blob_type,
                                oid);
    if (tmp___6) {
      tmp___5 = _((char const   *)"%s: failed to insert into database");
      error((char const   *)tmp___5, path___6);
      rc___0 = const_error();
    }
  }
  strbuf_release(& sb___6);
  goto switch_break;
  case_16384: /* CIL Label */
  tmp___7 = resolve_gitlink_ref(path___6, (char const   *)"HEAD", oid);
  return (tmp___7);
  switch_default: /* CIL Label */
  tmp___8 = _((char const   *)"%s: unsupported file type");
  error((char const   *)tmp___8, path___6);
  tmp___9 = const_error();
  return (tmp___9);
  switch_break: /* CIL Label */ ;
  }
  return (rc___0);
}
}
int read_pack_header(int fd , struct pack_header *header___0 )
{
  ssize_t tmp ;
  uint32_t tmp___0 ;
  uint32_t tmp___1 ;
  uint32_t tmp___2 ;

  {
  tmp = read_in_full(fd, (void *)header___0, sizeof(*header___0));
  if ((unsigned long )tmp != sizeof(*header___0)) {
    return (-1);
  }
  tmp___0 = git_bswap32((uint32_t )0x5041434b);
  if (header___0->hdr_signature != tmp___0) {
    return (-2);
  }
  tmp___1 = git_bswap32((uint32_t )2);
  if (! (header___0->hdr_version == tmp___1)) {
    tmp___2 = git_bswap32((uint32_t )3);
    if (! (header___0->hdr_version == tmp___2)) {
      return (-3);
    }
  }
  return (0);
}
}
void assert_oid_type(struct object_id  const  *oid , enum object_type expect )
{
  enum object_type type___0 ;
  int tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const   *tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  tmp = oid_object_info(the_repository, oid, (unsigned long *)((void *)0));
  type___0 = (enum object_type )tmp;
  if ((int )type___0 < 0) {
    tmp___0 = oid_to_hex(oid);
    tmp___1 = _((char const   *)"%s is not a valid object");
    die((char const   *)tmp___1, tmp___0);
  }
  if ((int )type___0 != (int )expect) {
    tmp___2 = type_name((unsigned int )expect);
    tmp___3 = oid_to_hex(oid);
    tmp___4 = _((char const   *)"%s is not a valid \'%s\' object");
    die((char const   *)tmp___4, tmp___3, tmp___2);
  }
  return;
}
}
int for_each_file_in_obj_subdir(unsigned int subdir_nr , struct strbuf *path___6 ,
                                each_loose_object_fn *obj_cb , each_loose_cruft_fn *cruft_cb ,
                                each_loose_subdir_fn *subdir_cb , void *data )
{
  size_t origlen ;
  size_t baselen ;
  DIR *dir ;
  struct dirent *de ;
  int r ;
  struct object_id oid ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int *tmp___0 ;
  size_t namelen ;
  int tmp___1 ;

  {
  r = 0;
  if (subdir_nr > 255U) {
    BUG_fl((char const   *)"object-file.c", 2349, (char const   *)"invalid loose object subdirectory: %x",
           subdir_nr);
  }
  origlen = path___6->len;
  strbuf_complete(path___6, (char )'/');
  strbuf_addf(path___6, (char const   *)"%02x", subdir_nr);
  dir = opendir((char const   *)path___6->buf);
  if (! dir) {
    tmp___0 = __errno_location();
    if (*tmp___0 != 2) {
      tmp = _((char const   *)"unable to open %s");
      error_errno((char const   *)tmp, path___6->buf);
      r = const_error();
    }
    strbuf_setlen(path___6, origlen);
    return (r);
  }
  oid.hash[0] = (unsigned char )subdir_nr;
  strbuf_addch(path___6, '/');
  baselen = path___6->len;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    de = readdir_skip_dot_and_dotdot(dir);
    if (! de) {
      goto while_break;
    }
    namelen = strlen((char const   *)(de->d_name));
    strbuf_setlen(path___6, baselen);
    strbuf_add(path___6, (void const   *)(de->d_name), namelen);
    if (namelen == (size_t )((the_repository->hash_algo)->hexsz - 2UL)) {
      tmp___1 = hex_to_bytes(oid.hash + 1, (char const   *)(de->d_name), (size_t )((the_repository->hash_algo)->rawsz - 1UL));
      if (! tmp___1) {
        oid_set_algo(& oid, the_repository->hash_algo);
        if (obj_cb) {
          r = (*obj_cb)((struct object_id  const  *)(& oid), (char const   *)path___6->buf,
                        data);
          if (r) {
            goto while_break;
          }
        }
        goto while_continue;
      }
    }
    if (cruft_cb) {
      r = (*cruft_cb)((char const   *)(de->d_name), (char const   *)path___6->buf,
                      data);
      if (r) {
        goto while_break;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  closedir(dir);
  strbuf_setlen(path___6, baselen - 1UL);
  if (! r) {
    if (subdir_cb) {
      r = (*subdir_cb)(subdir_nr, (char const   *)path___6->buf, data);
    }
  }
  strbuf_setlen(path___6, origlen);
  return (r);
}
}
int for_each_loose_file_in_objdir_buf(struct strbuf *path___6 , each_loose_object_fn *obj_cb ,
                                      each_loose_cruft_fn *cruft_cb , each_loose_subdir_fn *subdir_cb ,
                                      void *data )
{
  int r ;
  int i ;

  {
  r = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 256)) {
      goto while_break;
    }
    r = for_each_file_in_obj_subdir((unsigned int )i, path___6, obj_cb, cruft_cb,
                                    subdir_cb, data);
    if (r) {
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (r);
}
}
int for_each_loose_file_in_objdir(char const   *path___6 , each_loose_object_fn *obj_cb ,
                                  each_loose_cruft_fn *cruft_cb , each_loose_subdir_fn *subdir_cb ,
                                  void *data )
{
  struct strbuf buf___19 ;
  int r ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  strbuf_addstr(& buf___19, path___6);
  r = for_each_loose_file_in_objdir_buf(& buf___19, obj_cb, cruft_cb, subdir_cb, data);
  strbuf_release(& buf___19);
  return (r);
}
}
int for_each_loose_object(each_loose_object_fn *cb , void *data , enum for_each_object_flags flags___0 )
{
  struct object_directory *odb ;
  int r ;
  int tmp ;

  {
  prepare_alt_odb(the_repository);
  odb = (the_repository->objects)->odb;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! odb) {
      goto while_break;
    }
    tmp = for_each_loose_file_in_objdir((char const   *)odb->path, cb, (each_loose_cruft_fn *)((void *)0),
                                        (each_loose_subdir_fn *)((void *)0), data);
    r = tmp;
    if (r) {
      return (r);
    }
    if ((unsigned int )flags___0 & 1U) {
      goto while_break;
    }
    odb = odb->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int append_loose_object(struct object_id  const  *oid , char const   *path___6 ,
                               void *data )
{


  {
  oidtree_insert((struct oidtree *)data, oid);
  return (0);
}
}
struct oidtree *odb_loose_cache(struct object_directory *odb , struct object_id  const  *oid )
{
  int subdir_nr ;
  struct strbuf buf___19 ;
  size_t word_bits ;
  size_t word_index ;
  size_t mask ;
  uint32_t *bitmap ;
  size_t tmp ;
  void *tmp___0 ;

  {
  subdir_nr = (int )oid->hash[0];
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  word_bits = 8UL * sizeof(odb->loose_objects_subdir_seen[0]);
  word_index = (size_t )subdir_nr / word_bits;
  mask = 1UL << (unsigned long )subdir_nr % word_bits;
  if (subdir_nr < 0) {
    BUG_fl((char const   *)"object-file.c", 2476, (char const   *)"subdir_nr out of range");
  } else
  if ((unsigned long )subdir_nr >= 8UL * sizeof(odb->loose_objects_subdir_seen)) {
    BUG_fl((char const   *)"object-file.c", 2476, (char const   *)"subdir_nr out of range");
  }
  bitmap = & odb->loose_objects_subdir_seen[word_index];
  if ((unsigned long )*bitmap & mask) {
    return (odb->loose_objects_cache);
  }
  if (! odb->loose_objects_cache) {
    tmp = st_mult(sizeof(*(odb->loose_objects_cache)), (size_t )1);
    tmp___0 = xmalloc(tmp);
    odb->loose_objects_cache = (struct oidtree *)tmp___0;
    oidtree_init(odb->loose_objects_cache);
  }
  strbuf_addstr(& buf___19, (char const   *)odb->path);
  for_each_file_in_obj_subdir((unsigned int )subdir_nr, & buf___19, & append_loose_object,
                              (each_loose_cruft_fn *)((void *)0), (each_loose_subdir_fn *)((void *)0),
                              (void *)odb->loose_objects_cache);
  *bitmap = (uint32_t )((unsigned long )*bitmap | mask);
  strbuf_release(& buf___19);
  return (odb->loose_objects_cache);
}
}
void odb_clear_loose_cache(struct object_directory *odb )
{


  {
  oidtree_clear(odb->loose_objects_cache);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)odb->loose_objects_cache);
    odb->loose_objects_cache = (struct oidtree *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  memset((void *)(& odb->loose_objects_subdir_seen), 0, sizeof(odb->loose_objects_subdir_seen));
  return;
}
}
static int check_stream_oid(git_zstream *stream , char const   *hdr , unsigned long size ,
                            char const   *path___6 , struct object_id  const  *expected_oid )
{
  git_hash_ctx c___0 ;
  struct object_id real_oid ;
  unsigned char buf___19[4096] ;
  unsigned long total_read ;
  int status ;
  size_t tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;

  {
  status = 0;
  (*((the_repository->hash_algo)->init_fn))(& c___0);
  (*((the_repository->hash_algo)->update_fn))(& c___0, (void const   *)hdr, stream->total_out);
  tmp = strlen(hdr);
  total_read = (stream->total_out - tmp) - 1UL;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (total_read <= size) {
      if (! (status == 0)) {
        if (status == -5) {
          if (! (! stream->avail_out)) {
            goto while_break;
          }
        } else {
          goto while_break;
        }
      }
    } else {
      goto while_break;
    }
    stream->next_out = buf___19;
    stream->avail_out = sizeof(buf___19);
    if (size - total_read < stream->avail_out) {
      stream->avail_out = size - total_read;
    }
    status = git_inflate(stream, 4);
    (*((the_repository->hash_algo)->update_fn))(& c___0, (void const   *)(buf___19),
                                                (size_t )(stream->next_out - buf___19));
    total_read += (unsigned long )(stream->next_out - buf___19);
  }
  while_break: /* CIL Label */ ;
  }
  git_inflate_end(stream);
  if (status != 1) {
    tmp___0 = oid_to_hex(expected_oid);
    tmp___1 = _((char const   *)"corrupt loose object \'%s\'");
    error((char const   *)tmp___1, tmp___0);
    const_error();
    return (-1);
  }
  if (stream->avail_in) {
    tmp___2 = oid_to_hex(expected_oid);
    tmp___3 = _((char const   *)"garbage at end of loose object \'%s\'");
    error((char const   *)tmp___3, tmp___2);
    const_error();
    return (-1);
  }
  (*((the_repository->hash_algo)->final_oid_fn))(& real_oid, & c___0);
  tmp___6 = oideq(expected_oid, (struct object_id  const  *)(& real_oid));
  if (! tmp___6) {
    tmp___4 = oid_to_hex(expected_oid);
    tmp___5 = _((char const   *)"hash mismatch for %s (expected %s)");
    error((char const   *)tmp___5, path___6, tmp___4);
    const_error();
    return (-1);
  }
  return (0);
}
}
int read_loose_object(char const   *path___6 , struct object_id  const  *expected_oid ,
                      struct object_id *real_oid , void **contents , struct object_info *oi___0 )
{
  int ret___67 ;
  void *map___0 ;
  unsigned long mapsize ;
  git_zstream stream ;
  char hdr[32] ;
  unsigned long *size ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  enum unpack_loose_header_result tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;

  {
  ret___67 = -1;
  map___0 = (void *)0;
  size = oi___0->sizep;
  map___0 = map_loose_object_1(the_repository, path___6, (struct object_id  const  *)((void *)0),
                               & mapsize);
  if (! map___0) {
    tmp = _((char const   *)"unable to mmap %s");
    error_errno((char const   *)tmp, path___6);
    const_error();
    goto out;
  }
  tmp___1 = unpack_loose_header(& stream, (unsigned char *)map___0, mapsize, (void *)(hdr),
                                sizeof(hdr), (struct strbuf *)((void *)0));
  if ((unsigned int )tmp___1 < 0U) {
    tmp___0 = _((char const   *)"unable to unpack header of %s");
    error((char const   *)tmp___0, path___6);
    const_error();
    goto out;
  }
  tmp___3 = parse_loose_header((char const   *)(hdr), oi___0);
  if (tmp___3 < 0) {
    tmp___2 = _((char const   *)"unable to parse header of %s");
    error((char const   *)tmp___2, path___6);
    const_error();
    git_inflate_end(& stream);
    goto out;
  }
  if ((int )*(oi___0->typep) == 3) {
    if (*size > big_file_threshold) {
      tmp___4 = check_stream_oid(& stream, (char const   *)(hdr), *size, path___6,
                                 expected_oid);
      if (tmp___4 < 0) {
        goto out;
      }
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    *contents = unpack_loose_rest(& stream, (void *)(hdr), *size, expected_oid);
    if (! *contents) {
      tmp___5 = _((char const   *)"unable to unpack contents of %s");
      error((char const   *)tmp___5, path___6);
      const_error();
      git_inflate_end(& stream);
      goto out;
    }
    tmp___6 = check_object_signature(the_repository, expected_oid, *contents, *size,
                                     (char const   *)(oi___0->type_name)->buf, real_oid);
    if (tmp___6) {
      goto out;
    }
  }
  ret___67 = 0;
  out:
  if (map___0) {
    munmap(map___0, mapsize);
  }
  return (ret___67);
}
}
static double const   __ac_HASH_UPPER___56  =    (double const   )0.77;
__inline static void kh_resize_oid_set___56(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___56(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___56 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___56 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___56(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___56(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___56(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___56(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___56(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___56(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___56 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___56 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___56(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___56(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___56(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___56(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___56(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___56(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___56 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___56 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___56(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___56(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___56(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___56(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___41(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___41(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___56 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___56 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___41(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___41(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___41(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___41(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_contains_cache_with_stride___8(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___8(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___8(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___8(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___8(s___1, 1U);
  return;
}
}
static void clear_contains_cache___8(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___8(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___8(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___8(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___8(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___8(struct contains_cache *s___1 ,
                                                        struct commit  const  *c___0 ,
                                                        int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___8(struct contains_cache *s___1 ,
                                                        struct commit  const  *c___0 ,
                                                        int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___8(struct contains_cache *s___1 ,
                                                   struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___8(struct contains_cache *s___1 ,
                                                   struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___8(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___8(struct contains_cache *s___1 ,
                                                     struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___8(struct contains_cache *s___1 ,
                                                     struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___8(s___1, c___0, 0);
  return (tmp);
}
}
static int get_oid_oneline(struct repository *r , char const   *prefix___1 , struct object_id *oid ,
                           struct commit_list *list___3 ) ;
static void update_candidates(struct disambiguate_state *ds , struct object_id  const  *current )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  if (ds->always_call_fn) {
    tmp___0 = (*(ds->fn))(ds->repo, current, ds->cb_data);
    if (tmp___0) {
      ds->ambiguous = 1U;
    } else {
      ds->ambiguous = 0U;
    }
    return;
  }
  if (! ds->candidate_exists) {
    oidcpy(& ds->candidate, current);
    ds->candidate_exists = 1U;
    return;
  } else {
    tmp___1 = oideq((struct object_id  const  *)(& ds->candidate), current);
    if (tmp___1) {
      return;
    }
  }
  if (! ds->fn) {
    ds->ambiguous = 1U;
    return;
  }
  if (! ds->candidate_checked) {
    tmp___2 = (*(ds->fn))(ds->repo, (struct object_id  const  *)(& ds->candidate),
                          ds->cb_data);
    ds->candidate_ok = (unsigned int )tmp___2;
    ds->disambiguate_fn_used = 1U;
    ds->candidate_checked = 1U;
  }
  if (! ds->candidate_ok) {
    oidcpy(& ds->candidate, current);
    ds->candidate_checked = 0U;
    return;
  }
  tmp___3 = (*(ds->fn))(ds->repo, current, ds->cb_data);
  if (tmp___3) {
    ds->candidate_ok = 0U;
    ds->ambiguous = 1U;
  }
  return;
}
}
static int match_hash(unsigned int len___0 , unsigned char const   *a , unsigned char const   *b___0 ) ;
static enum cb_next match_prefix(struct object_id  const  *oid , void *arg )
{
  struct disambiguate_state *ds ;
  int tmp ;

  {
  ds = (struct disambiguate_state *)arg;
  update_candidates(ds, oid);
  if (ds->ambiguous) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return ((enum cb_next )tmp);
}
}
static void find_short_object_filename(struct disambiguate_state *ds )
{
  struct object_directory *odb ;
  struct oidtree *tmp ;

  {
  odb = ((ds->repo)->objects)->odb;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (odb) {
      if (! (! ds->ambiguous)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = odb_loose_cache(odb, (struct object_id  const  *)(& ds->bin_pfx));
    oidtree_each(tmp, (struct object_id  const  *)(& ds->bin_pfx), (size_t )ds->len,
                 & match_prefix, (void *)ds);
    odb = odb->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int match_hash(unsigned int len___0 , unsigned char const   *a , unsigned char const   *b___0 )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((int const   )*a != (int const   )*b___0) {
      return (0);
    }
    a ++;
    b___0 ++;
    len___0 -= 2U;
    if (! (len___0 > 1U)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (len___0) {
    if (((int const   )*a ^ (int const   )*b___0) & 240) {
      return (0);
    }
  }
  return (1);
}
}
static void unique_in_midx(struct multi_pack_index *m , struct disambiguate_state *ds )
{
  uint32_t num ;
  uint32_t i ;
  uint32_t first ;
  struct object_id  const  *current ;
  struct object_id oid ;
  struct object_id *tmp ;
  int tmp___0 ;

  {
  first = (uint32_t )0;
  current = (struct object_id  const  *)((void *)0);
  num = m->num_objects;
  if (! num) {
    return;
  }
  bsearch_midx((struct object_id  const  *)(& ds->bin_pfx), m, & first);
  i = first;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i < num) {
      if (! (! ds->ambiguous)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = nth_midxed_object_oid(& oid, m, i);
    current = (struct object_id  const  *)tmp;
    tmp___0 = match_hash((unsigned int )ds->len, (unsigned char const   *)(ds->bin_pfx.hash),
                         (unsigned char const   *)(current->hash));
    if (! tmp___0) {
      goto while_break;
    }
    update_candidates(ds, current);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void unique_in_pack(struct packed_git *p___0 , struct disambiguate_state *ds )
{
  uint32_t num ;
  uint32_t i ;
  uint32_t first ;
  int tmp ;
  struct object_id oid ;
  int tmp___0 ;

  {
  first = (uint32_t )0;
  if (p___0->multi_pack_index) {
    return;
  }
  tmp = open_pack_index(p___0);
  if (tmp) {
    return;
  } else
  if (! p___0->num_objects) {
    return;
  }
  num = p___0->num_objects;
  bsearch_pack((struct object_id  const  *)(& ds->bin_pfx), (struct packed_git  const  *)p___0,
               & first);
  i = first;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i < num) {
      if (! (! ds->ambiguous)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    nth_packed_object_id(& oid, p___0, i);
    tmp___0 = match_hash((unsigned int )ds->len, (unsigned char const   *)(ds->bin_pfx.hash),
                         (unsigned char const   *)(oid.hash));
    if (! tmp___0) {
      goto while_break;
    }
    update_candidates(ds, (struct object_id  const  *)(& oid));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void find_short_packed_object(struct disambiguate_state *ds )
{
  struct multi_pack_index *m ;
  struct packed_git *p___0 ;

  {
  m = get_multi_pack_index(ds->repo);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (m) {
      if (! (! ds->ambiguous)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    unique_in_midx(m, ds);
    m = m->next;
  }
  while_break: /* CIL Label */ ;
  }
  p___0 = get_packed_git(ds->repo);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (p___0) {
      if (! (! ds->ambiguous)) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    unique_in_pack(p___0, ds);
    p___0 = p___0->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static int finish_object_disambiguation(struct disambiguate_state *ds , struct object_id *oid )
{
  int tmp ;
  int tmp___0 ;

  {
  if (ds->ambiguous) {
    return (-2);
  }
  if (! ds->candidate_exists) {
    return (-1);
  }
  if (! ds->candidate_checked) {
    if (! ds->disambiguate_fn_used) {
      tmp___0 = 1;
    } else {
      tmp = (*(ds->fn))(ds->repo, (struct object_id  const  *)(& ds->candidate), ds->cb_data);
      if (tmp) {
        tmp___0 = 1;
      } else {
        tmp___0 = 0;
      }
    }
    ds->candidate_ok = (unsigned int )tmp___0;
  }
  if (! ds->candidate_ok) {
    return (-2);
  }
  oidcpy(oid, (struct object_id  const  *)(& ds->candidate));
  return (0);
}
}
static int disambiguate_commit_only(struct repository *r , struct object_id  const  *oid ,
                                    void *cb_data_unused )
{
  int kind ;
  int tmp ;

  {
  tmp = oid_object_info(r, oid, (unsigned long *)((void *)0));
  kind = tmp;
  return (kind == 1);
}
}
static int disambiguate_committish_only(struct repository *r , struct object_id  const  *oid ,
                                        void *cb_data_unused )
{
  struct object *obj ;
  int kind ;
  struct object *tmp ;

  {
  kind = oid_object_info(r, oid, (unsigned long *)((void *)0));
  if (kind == 1) {
    return (1);
  }
  if (kind != 4) {
    return (0);
  }
  tmp = parse_object(r, oid);
  obj = deref_tag(r, tmp, (char const   *)((void *)0), 0);
  if (obj) {
    if (obj->type == 1U) {
      return (1);
    }
  }
  return (0);
}
}
static int disambiguate_tree_only(struct repository *r , struct object_id  const  *oid ,
                                  void *cb_data_unused )
{
  int kind ;
  int tmp ;

  {
  tmp = oid_object_info(r, oid, (unsigned long *)((void *)0));
  kind = tmp;
  return (kind == 2);
}
}
static int disambiguate_treeish_only(struct repository *r , struct object_id  const  *oid ,
                                     void *cb_data_unused )
{
  struct object *obj ;
  int kind ;
  struct object *tmp ;

  {
  kind = oid_object_info(r, oid, (unsigned long *)((void *)0));
  if (kind == 2) {
    return (1);
  } else
  if (kind == 1) {
    return (1);
  }
  if (kind != 4) {
    return (0);
  }
  tmp = parse_object(r, oid);
  obj = deref_tag(r, tmp, (char const   *)((void *)0), 0);
  if (obj) {
    if (obj->type == 2U) {
      return (1);
    } else
    if (obj->type == 1U) {
      return (1);
    }
  }
  return (0);
}
}
static int disambiguate_blob_only(struct repository *r , struct object_id  const  *oid ,
                                  void *cb_data_unused )
{
  int kind ;
  int tmp ;

  {
  tmp = oid_object_info(r, oid, (unsigned long *)((void *)0));
  kind = tmp;
  return (kind == 3);
}
}
static int (*default_disambiguate_hint)(struct repository * , struct object_id  const  * ,
                                        void * )  ;
static struct __anonstruct_hints_582753941  const  hints[6]  = {      {(char const   *)"none", (int (*)(struct repository * , struct object_id  const  * ,
                                       void * ))((void *)0)},
        {(char const   *)"commit", & disambiguate_commit_only},
        {(char const   *)"committish", & disambiguate_committish_only},
        {(char const   *)"tree", & disambiguate_tree_only},
        {(char const   *)"treeish", & disambiguate_treeish_only},
        {(char const   *)"blob", & disambiguate_blob_only}};
int set_disambiguate_hint_config(char const   *var , char const   *value )
{
  int i ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! value) {
    config_error_nonbool(var);
    tmp = const_error();
    return (tmp);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(hints) / sizeof(hints[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp___0 = strcasecmp(value, (char const   *)hints[i].name);
    if (! tmp___0) {
      default_disambiguate_hint = (int (*)(struct repository * , struct object_id  const  * ,
                                           void * ))hints[i].fn;
      return (0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  error((char const   *)"unknown hint type for \'%s\': %s", var, value);
  tmp___1 = const_error();
  return (tmp___1);
}
}
static int init_object_disambiguation(struct repository *r , char const   *name___0 ,
                                      int len___0 , struct disambiguate_state *ds )
{
  int i ;
  unsigned char c___0 ;
  unsigned char val ;

  {
  if (len___0 < minimum_abbrev) {
    return (-1);
  } else
  if ((size_t )len___0 > (the_repository->hash_algo)->hexsz) {
    return (-1);
  }
  memset((void *)ds, 0, sizeof(*ds));
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < len___0)) {
      goto while_break;
    }
    c___0 = (unsigned char )*(name___0 + i);
    if ((int )c___0 >= 48) {
      if ((int )c___0 <= 57) {
        val = (unsigned char )((int )c___0 - 48);
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if ((int )c___0 >= 97) {
      if ((int )c___0 <= 102) {
        val = (unsigned char )(((int )c___0 - 97) + 10);
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if ((int )c___0 >= 65) {
      if ((int )c___0 <= 70) {
        val = (unsigned char )(((int )c___0 - 65) + 10);
        c___0 = (unsigned char )((int )c___0 - -32);
      } else {
        return (-1);
      }
    } else {
      return (-1);
    }
    ds->hex_pfx[i] = (char )c___0;
    if (! (i & 1)) {
      val = (unsigned char )((int )val << 4);
    }
    ds->bin_pfx.hash[i >> 1] = (unsigned char )((int )ds->bin_pfx.hash[i >> 1] | (int )val);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  ds->len = len___0;
  ds->hex_pfx[len___0] = (char )'\000';
  ds->repo = r;
  prepare_alt_odb(r);
  return (0);
}
}
static int show_ambiguous_object(struct object_id  const  *oid , void *data )
{
  struct disambiguate_state  const  *ds ;
  struct strbuf desc___0 ;
  int type___0 ;
  int tmp ;
  struct commit *commit ;
  struct commit *tmp___0 ;
  struct pretty_print_context pp ;
  struct tag *tag ;
  struct tag *tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  char const   *tmp___5 ;
  char const   *tmp___6 ;
  char const   *tmp___7 ;

  {
  ds = (struct disambiguate_state  const  *)data;
  desc___0.alloc = 0UL;
  desc___0.len = 0UL;
  desc___0.buf = strbuf_slopbuf;
  if (ds->fn) {
    tmp = (*(ds->fn))((struct repository *)ds->repo, oid, (void *)ds->cb_data);
    if (! tmp) {
      return (0);
    }
  }
  type___0 = oid_object_info((struct repository *)ds->repo, oid, (unsigned long *)((void *)0));
  if (type___0 == 1) {
    tmp___0 = lookup_commit((struct repository *)ds->repo, oid);
    commit = tmp___0;
    if (commit) {
      pp.fmt = (enum cmit_fmt )0;
      pp.abbrev = 0;
      pp.after_subject = (char const   *)0;
      pp.preserve_subject = 0;
      pp.date_mode.type = 0U;
      pp.date_mode.strftime_fmt = (char const   *)0;
      pp.date_mode.local = 0;
      pp.date_mode_explicit = 0U;
      pp.print_email_subject = 0;
      pp.expand_tabs_in_log = 0;
      pp.need_8bit_cte = 0;
      pp.notes_message = (char *)0;
      pp.reflog_info = (struct reflog_walk_info *)0;
      pp.rev = (struct rev_info *)0;
      pp.output_encoding = (char const   *)0;
      pp.mailmap = (struct string_list *)0;
      pp.color = 0;
      pp.from_ident = (struct ident_split *)0;
      pp.encode_email_headers = 0U;
      pp.describe_status = (struct pretty_print_describe_status *)0;
      pp.in_body_headers.items = (struct string_list_item *)0;
      pp.in_body_headers.nr = 0U;
      pp.in_body_headers.alloc = 0U;
      pp.in_body_headers.strdup_strings = 0U;
      pp.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
      pp.graph_width = 0;
      pp.date_mode.type = (enum date_mode_type )3;
      repo_format_commit_message(the_repository, (struct commit  const  *)commit,
                                 (char const   *)" %ad - %s", & desc___0, (struct pretty_print_context  const  *)(& pp));
    }
  } else
  if (type___0 == 4) {
    tmp___1 = lookup_tag((struct repository *)ds->repo, oid);
    tag = tmp___1;
    tmp___2 = parse_tag(tag);
    if (! tmp___2) {
      if (tag->tag) {
        strbuf_addf(& desc___0, (char const   *)" %s", tag->tag);
      }
    }
  }
  tmp___6 = type_name((unsigned int )type___0);
  if (tmp___6) {
    tmp___4 = type_name((unsigned int )type___0);
    tmp___5 = tmp___4;
  } else {
    tmp___5 = (char const   *)"unknown type";
  }
  tmp___7 = repo_find_unique_abbrev((struct repository *)ds->repo, oid, default_abbrev);
  advise((char const   *)"  %s %s%s", tmp___7, tmp___5, desc___0.buf);
  strbuf_release(& desc___0);
  return (0);
}
}
static int collect_ambiguous(struct object_id  const  *oid , void *data )
{


  {
  oid_array_append((struct oid_array *)data, oid);
  return (0);
}
}
static int repo_collect_ambiguous(struct repository *r , struct object_id  const  *oid ,
                                  void *data )
{
  int tmp ;

  {
  tmp = collect_ambiguous(oid, data);
  return (tmp);
}
}
static int sort_ambiguous(void const   *a , void const   *b___0 , void *ctx___0 )
{
  struct repository *sort_ambiguous_repo ;
  int a_type ;
  int tmp ;
  int b_type ;
  int tmp___0 ;
  int a_type_sort ;
  int b_type_sort ;
  int tmp___1 ;
  int tmp___2 ;

  {
  sort_ambiguous_repo = (struct repository *)ctx___0;
  tmp = oid_object_info(sort_ambiguous_repo, (struct object_id  const  *)a, (unsigned long *)((void *)0));
  a_type = tmp;
  tmp___0 = oid_object_info(sort_ambiguous_repo, (struct object_id  const  *)b___0,
                            (unsigned long *)((void *)0));
  b_type = tmp___0;
  if (a_type == b_type) {
    tmp___1 = oidcmp((struct object_id  const  *)a, (struct object_id  const  *)b___0);
    return (tmp___1);
  }
  a_type_sort = a_type % 4;
  b_type_sort = b_type % 4;
  if (a_type_sort > b_type_sort) {
    tmp___2 = 1;
  } else {
    tmp___2 = -1;
  }
  return (tmp___2);
}
}
static void sort_ambiguous_oid_array(struct repository *r , struct oid_array *a )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = git_qsort_s((void *)a->oid, a->nr, sizeof(*(a->oid)), & sort_ambiguous,
                      (void *)r);
    if (tmp) {
      BUG_fl((char const   *)"object-name.c", 430, (char const   *)"qsort_s() failed");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static enum get_oid_result get_short_oid(struct repository *r , char const   *name___0 ,
                                         int len___0 , struct object_id *oid , unsigned int flags___0 )
{
  int status ;
  struct disambiguate_state ds ;
  int quietly ;
  int tmp ;
  struct oid_array collect ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  quietly = ! (! (flags___0 & 1U));
  tmp = init_object_disambiguation(r, name___0, len___0, & ds);
  if (tmp < 0) {
    return ((enum get_oid_result )-1);
  }
  if ((flags___0 & 62U) & ((flags___0 & 62U) - 1U)) {
    BUG_fl((char const   *)"object-name.c", 446, (char const   *)"multiple get_short_oid disambiguator flags");
  }
  if (flags___0 & 2U) {
    ds.fn = & disambiguate_commit_only;
  } else
  if (flags___0 & 4U) {
    ds.fn = & disambiguate_committish_only;
  } else
  if (flags___0 & 8U) {
    ds.fn = & disambiguate_tree_only;
  } else
  if (flags___0 & 16U) {
    ds.fn = & disambiguate_treeish_only;
  } else
  if (flags___0 & 32U) {
    ds.fn = & disambiguate_blob_only;
  } else {
    ds.fn = default_disambiguate_hint;
  }
  find_short_object_filename(& ds);
  find_short_packed_object(& ds);
  status = finish_object_disambiguation(& ds, oid);
  if (status == -1) {
    reprepare_packed_git(r);
    find_short_object_filename(& ds);
    find_short_packed_object(& ds);
    status = finish_object_disambiguation(& ds, oid);
  }
  if (! quietly) {
    if (status == -2) {
      collect.oid = (struct object_id *)0;
      collect.nr = 0UL;
      collect.alloc = 0UL;
      collect.sorted = 0;
      tmp___0 = _((char const   *)"short object ID %s is ambiguous");
      error((char const   *)tmp___0, ds.hex_pfx);
      const_error();
      if (! ds.ambiguous) {
        ds.fn = (int (*)(struct repository * , struct object_id  const  * , void * ))((void *)0);
      }
      tmp___1 = _((char const   *)"The candidates are:");
      advise((char const   *)tmp___1);
      repo_for_each_abbrev(r, (char const   *)(ds.hex_pfx), & collect_ambiguous, (void *)(& collect));
      sort_ambiguous_oid_array(r, & collect);
      tmp___2 = oid_array_for_each(& collect, & show_ambiguous_object, (void *)(& ds));
      if (tmp___2) {
        BUG_fl((char const   *)"object-name.c", 496, (char const   *)"show_ambiguous_object shouldn\'t return non-zero");
      }
      oid_array_clear(& collect);
    }
  }
  return ((enum get_oid_result )status);
}
}
int repo_for_each_abbrev(struct repository *r , char const   *prefix___1 , each_abbrev_fn *fn ,
                         void *cb_data )
{
  struct oid_array collect ;
  struct disambiguate_state ds ;
  int ret___67 ;
  size_t tmp ;
  int tmp___0 ;

  {
  collect.oid = (struct object_id *)0;
  collect.nr = 0UL;
  collect.alloc = 0UL;
  collect.sorted = 0;
  tmp = strlen(prefix___1);
  tmp___0 = init_object_disambiguation(r, prefix___1, (int )tmp, & ds);
  if (tmp___0 < 0) {
    return (-1);
  }
  ds.always_call_fn = 1U;
  ds.fn = & repo_collect_ambiguous;
  ds.cb_data = (void *)(& collect);
  find_short_object_filename(& ds);
  find_short_packed_object(& ds);
  ret___67 = oid_array_for_each_unique(& collect, fn, cb_data);
  oid_array_clear(& collect);
  return (ret___67);
}
}
static unsigned int msb(unsigned long val )
{
  unsigned int r ;

  {
  r = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    val >>= 1;
    if (! val) {
      goto while_break;
    }
    r ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (r);
}
}
__inline static char get_hex_char_from_oid(struct object_id  const  *oid , unsigned int pos ) ;
static char const   hex___2[17]  =
  {      (char const   )'0',      (char const   )'1',      (char const   )'2',      (char const   )'3',
        (char const   )'4',      (char const   )'5',      (char const   )'6',      (char const   )'7',
        (char const   )'8',      (char const   )'9',      (char const   )'a',      (char const   )'b',
        (char const   )'c',      (char const   )'d',      (char const   )'e',      (char const   )'f',
        (char const   )'\000'};
__inline static char get_hex_char_from_oid(struct object_id  const  *oid , unsigned int pos )
{


  {
  if ((pos & 1U) == 0U) {
    return ((char )hex___2[(int )oid->hash[pos >> 1] >> 4]);
  } else {
    return ((char )hex___2[(int )oid->hash[pos >> 1] & 0xf]);
  }
}
}
static int extend_abbrev_len(struct object_id  const  *oid , void *cb_data )
{
  struct min_abbrev_data *mad ;
  unsigned int i ;
  char tmp ;

  {
  mad = (struct min_abbrev_data *)cb_data;
  i = mad->init_len;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*(mad->hex + i)) {
      tmp = get_hex_char_from_oid(oid, i);
      if (! ((int )*(mad->hex + i) == (int )tmp)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (i < 32U) {
    if (i >= mad->cur_len) {
      mad->cur_len = i + 1U;
    }
  }
  return (0);
}
}
static int repo_extend_abbrev_len(struct repository *r , struct object_id  const  *oid ,
                                  void *cb_data )
{
  int tmp ;

  {
  tmp = extend_abbrev_len(oid, cb_data);
  return (tmp);
}
}
static void find_abbrev_len_for_midx(struct multi_pack_index *m , struct min_abbrev_data *mad )
{
  int match___0 ;
  uint32_t num ;
  uint32_t first ;
  struct object_id oid ;
  struct object_id  const  *mad_oid ;
  struct object_id *tmp ;
  struct object_id *tmp___0 ;
  struct object_id *tmp___1 ;

  {
  match___0 = 0;
  first = (uint32_t )0;
  if (! m->num_objects) {
    return;
  }
  num = m->num_objects;
  mad_oid = mad->oid;
  match___0 = bsearch_midx(mad_oid, m, & first);
  mad->init_len = 0U;
  if (! match___0) {
    tmp = nth_midxed_object_oid(& oid, m, first);
    if (tmp) {
      extend_abbrev_len((struct object_id  const  *)(& oid), (void *)mad);
    }
  } else
  if (first < num - 1U) {
    tmp___0 = nth_midxed_object_oid(& oid, m, first + 1U);
    if (tmp___0) {
      extend_abbrev_len((struct object_id  const  *)(& oid), (void *)mad);
    }
  }
  if (first > 0U) {
    tmp___1 = nth_midxed_object_oid(& oid, m, first - 1U);
    if (tmp___1) {
      extend_abbrev_len((struct object_id  const  *)(& oid), (void *)mad);
    }
  }
  mad->init_len = mad->cur_len;
  return;
}
}
static void find_abbrev_len_for_pack(struct packed_git *p___0 , struct min_abbrev_data *mad )
{
  int match___0 ;
  uint32_t num ;
  uint32_t first ;
  struct object_id oid ;
  struct object_id  const  *mad_oid ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  match___0 = 0;
  first = (uint32_t )0;
  if (p___0->multi_pack_index) {
    return;
  }
  tmp = open_pack_index(p___0);
  if (tmp) {
    return;
  } else
  if (! p___0->num_objects) {
    return;
  }
  num = p___0->num_objects;
  mad_oid = mad->oid;
  match___0 = bsearch_pack(mad_oid, (struct packed_git  const  *)p___0, & first);
  mad->init_len = 0U;
  if (! match___0) {
    tmp___0 = nth_packed_object_id(& oid, p___0, first);
    if (! tmp___0) {
      extend_abbrev_len((struct object_id  const  *)(& oid), (void *)mad);
    }
  } else
  if (first < num - 1U) {
    tmp___1 = nth_packed_object_id(& oid, p___0, first + 1U);
    if (! tmp___1) {
      extend_abbrev_len((struct object_id  const  *)(& oid), (void *)mad);
    }
  }
  if (first > 0U) {
    tmp___2 = nth_packed_object_id(& oid, p___0, first - 1U);
    if (! tmp___2) {
      extend_abbrev_len((struct object_id  const  *)(& oid), (void *)mad);
    }
  }
  mad->init_len = mad->cur_len;
  return;
}
}
static void find_abbrev_len_packed(struct min_abbrev_data *mad )
{
  struct multi_pack_index *m ;
  struct packed_git *p___0 ;

  {
  m = get_multi_pack_index(mad->repo);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! m) {
      goto while_break;
    }
    find_abbrev_len_for_midx(m, mad);
    m = m->next;
  }
  while_break: /* CIL Label */ ;
  }
  p___0 = get_packed_git(mad->repo);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___0;
    }
    find_abbrev_len_for_pack(p___0, mad);
    p___0 = p___0->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
int repo_find_unique_abbrev_r(struct repository *r , char *hex___3 , struct object_id  const  *oid ,
                              int len___0 )
{
  struct disambiguate_state ds ;
  struct min_abbrev_data mad ;
  struct object_id oid_ret ;
  unsigned int hexsz ;
  unsigned long count___0 ;
  unsigned long tmp ;
  unsigned int tmp___0 ;
  int tmp___1 ;

  {
  hexsz = (unsigned int )(r->hash_algo)->hexsz;
  if (len___0 < 0) {
    tmp = repo_approximate_object_count(r);
    count___0 = tmp;
    tmp___0 = msb(count___0);
    len___0 = (int )(tmp___0 + 1U);
    len___0 = ((len___0 + 2) - 1) / 2;
    if (len___0 < 7) {
      len___0 = 7;
    }
  }
  oid_to_hex_r(hex___3, oid);
  if ((unsigned int )len___0 == hexsz) {
    return ((int )hexsz);
  } else
  if (! len___0) {
    return ((int )hexsz);
  }
  mad.repo = r;
  mad.init_len = (unsigned int )len___0;
  mad.cur_len = (unsigned int )len___0;
  mad.hex = hex___3;
  mad.oid = oid;
  find_abbrev_len_packed(& mad);
  tmp___1 = init_object_disambiguation(r, (char const   *)hex___3, (int )mad.cur_len,
                                       & ds);
  if (tmp___1 < 0) {
    return (-1);
  }
  ds.fn = & repo_extend_abbrev_len;
  ds.always_call_fn = 1U;
  ds.cb_data = (void *)(& mad);
  find_short_object_filename(& ds);
  finish_object_disambiguation(& ds, & oid_ret);
  *(hex___3 + mad.cur_len) = (char)0;
  return ((int )mad.cur_len);
}
}
static int bufno___0  ;
static char hexbuffer___0[4][65]  ;
char const   *repo_find_unique_abbrev(struct repository *r , struct object_id  const  *oid ,
                                      int len___0 )
{
  char *hex___3 ;

  {
  hex___3 = hexbuffer___0[bufno___0];
  bufno___0 = (int )((unsigned long )(bufno___0 + 1) % (sizeof(hexbuffer___0) / sizeof(hexbuffer___0[0]) + (sizeof(char [1]) - 1UL)));
  repo_find_unique_abbrev_r(r, hex___3, oid, len___0);
  return ((char const   *)hex___3);
}
}
static int ambiguous_path(char const   *path___6 , int len___0 )
{
  int slash ;
  int cnt ;
  char const   *tmp ;

  {
  slash = 1;
  cnt = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (cnt < len___0)) {
      goto while_break;
    }
    tmp = path___6;
    path___6 ++;
    {
    if ((int const   )*tmp == 0) {
      goto case_0;
    }
    if ((int const   )*tmp == 47) {
      goto case_47;
    }
    if ((int const   )*tmp == 46) {
      goto case_46;
    }
    goto switch_default;
    case_0: /* CIL Label */
    goto switch_break;
    case_47: /* CIL Label */
    if (slash) {
      goto switch_break;
    }
    slash = 1;
    goto __Cont;
    case_46: /* CIL Label */
    goto __Cont;
    switch_default: /* CIL Label */
    slash = 0;
    goto __Cont;
    switch_break: /* CIL Label */ ;
    }
    goto while_break;
    __Cont: /* CIL Label */
    cnt ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (slash);
}
}
__inline static int at_mark(char const   *string___0 , int len___0 , char const   **suffix___3 ,
                            int nr___0 )
{
  int i ;
  int suffix_len ;
  size_t tmp ;
  int tmp___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break;
    }
    tmp = strlen(*(suffix___3 + i));
    suffix_len = (int )tmp;
    if (suffix_len <= len___0) {
      tmp___0 = strncasecmp(string___0, *(suffix___3 + i), (size_t )suffix_len);
      if (! tmp___0) {
        return (suffix_len);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
__inline static int upstream_mark(char const   *string___0 , int len___0 )
{
  char const   *suffix___3[2] ;
  int tmp ;

  {
  suffix___3[0] = (char const   *)"@{upstream}";
  suffix___3[1] = (char const   *)"@{u}";
  tmp = at_mark(string___0, len___0, suffix___3, (int )(sizeof(suffix___3) / sizeof(suffix___3[0]) + (sizeof(char [1]) - 1UL)));
  return (tmp);
}
}
__inline static int push_mark(char const   *string___0 , int len___0 )
{
  char const   *suffix___3[1] ;
  int tmp ;

  {
  suffix___3[0] = (char const   *)"@{push}";
  tmp = at_mark(string___0, len___0, suffix___3, (int )(sizeof(suffix___3) / sizeof(suffix___3[0]) + (sizeof(char [1]) - 1UL)));
  return (tmp);
}
}
static enum get_oid_result get_oid_1(struct repository *r , char const   *name___0 ,
                                     int len___0 , struct object_id *oid , unsigned int lookup_flags ) ;
static int interpret_nth_prior_checkout(struct repository *r , char const   *name___0 ,
                                        int namelen , struct strbuf *buf___19 ) ;
static int get_oid_basic(struct repository *r , char const   *str , int len___0 ,
                         struct object_id *oid , unsigned int flags___0 ) ;
static char const   *warn_msg  =    (char const   *)"refname \'%.*s\' is ambiguous.";
static char const   *object_name_msg  =    (char const   *)"Git normally never creates a ref that ends with 40 hex characters\nbecause it will be ignored when you just specify 40-hex. These refs\nmay be created by mistake. For example,\n\n  git switch -c $br $(git rev-parse ...)\n\nwhere \"$br\" is somehow empty and a 40-hex ref is created. Please\nexamine these refs and maybe delete them. Turn this message off by\nrunning \"git config advice.objectNameWarning false\"";
static int get_oid_basic(struct repository *r , char const   *str , int len___0 ,
                         struct object_id *oid , unsigned int flags___0 )
{
  struct object_id tmp_oid ;
  char *real_ref ;
  int refs_found ;
  int at ;
  int reflog_len ;
  int nth_prior ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  struct strbuf buf___19 ;
  int detached ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  enum get_oid_result tmp___8 ;
  int nth ;
  int i ;
  timestamp_t at_time ;
  timestamp_t co_time ;
  int co_tz ;
  int co_cnt ;
  char ch___0 ;
  int errors ;
  char *tmp___9 ;
  char *tmp___10 ;
  int tmp___11 ;
  size_t tmp___12 ;
  struct date_mode *tmp___13 ;
  char const   *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  struct ref_store *tmp___18 ;
  int tmp___19 ;

  {
  real_ref = (char *)((void *)0);
  refs_found = 0;
  nth_prior = 0;
  if ((size_t )len___0 == (r->hash_algo)->hexsz) {
    tmp___1 = get_oid_hex(str, oid);
    if (! tmp___1) {
      if (warn_ambiguous_refs) {
        if (warn_on_object_refname_ambiguity) {
          refs_found = repo_dwim_ref(r, str, len___0, & tmp_oid, & real_ref, 0);
          if (refs_found > 0) {
            warning(warn_msg, len___0, str);
            tmp___0 = advice_enabled((enum advice_type )12);
            if (tmp___0) {
              tmp = _(object_name_msg);
              fprintf(stderr, (char const   *)"%s\n", tmp);
            }
          }
          free((void *)real_ref);
        }
      }
      return (0);
    }
  }
  at = 0;
  reflog_len = at;
  if (len___0) {
    if ((int const   )*(str + (len___0 - 1)) == 125) {
      at = len___0 - 4;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! (at >= 0)) {
          goto while_break;
        }
        if ((int const   )*(str + at) == 64) {
          if ((int const   )*(str + (at + 1)) == 123) {
            if ((int const   )*(str + (at + 2)) == 45) {
              if (at != 0) {
                return (-1);
              }
              nth_prior = 1;
              goto __Cont;
            }
            tmp___2 = upstream_mark(str + at, len___0 - at);
            if (! tmp___2) {
              tmp___3 = push_mark(str + at, len___0 - at);
              if (! tmp___3) {
                reflog_len = (len___0 - 1) - (at + 2);
                len___0 = at;
              }
            }
            goto while_break;
          }
        }
        __Cont: /* CIL Label */
        at --;
      }
      while_break: /* CIL Label */ ;
      }
    }
  }
  if (len___0) {
    tmp___4 = ambiguous_path(str, len___0);
    if (tmp___4) {
      return (-1);
    }
  }
  if (nth_prior) {
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    tmp___7 = interpret_nth_prior_checkout(r, str, len___0, & buf___19);
    if (tmp___7 > 0) {
      if (buf___19.len == (size_t )(r->hash_algo)->hexsz) {
        tmp___5 = get_oid_hex((char const   *)buf___19.buf, oid);
        if (tmp___5) {
          tmp___6 = 0;
        } else {
          tmp___6 = 1;
        }
      } else {
        tmp___6 = 0;
      }
      detached = tmp___6;
      strbuf_release(& buf___19);
      if (detached) {
        return (0);
      }
    }
  }
  if (! len___0) {
    if (reflog_len) {
      refs_found = repo_dwim_ref(r, (char const   *)"HEAD", 4, oid, & real_ref, 0);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (reflog_len) {
    refs_found = repo_dwim_log(r, str, len___0, oid, & real_ref);
  } else {
    refs_found = repo_dwim_ref(r, str, len___0, oid, & real_ref, 0);
  }
  if (! refs_found) {
    return (-1);
  }
  if (warn_ambiguous_refs) {
    if (! (flags___0 & 1U)) {
      if (refs_found > 1) {
        warning(warn_msg, len___0, str);
      } else {
        tmp___8 = get_short_oid(r, str, len___0, & tmp_oid, 1U);
        if (! tmp___8) {
          warning(warn_msg, len___0, str);
        }
      }
    }
  }
  if (reflog_len) {
    nth = 0;
    i = nth;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (0 <= nth) {
        if (! (i < reflog_len)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      ch___0 = (char )*(str + ((at + 2) + i));
      if (48 <= (int )ch___0) {
        if ((int )ch___0 <= 57) {
          nth = (nth * 10 + (int )ch___0) - 48;
        } else {
          nth = -1;
        }
      } else {
        nth = -1;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (100000000 <= nth) {
      at_time = (timestamp_t )nth;
      nth = -1;
    } else
    if (0 <= nth) {
      at_time = (timestamp_t )0;
    } else {
      errors = 0;
      tmp___10 = xstrndup((str + at) + 2, (size_t )reflog_len);
      tmp___9 = tmp___10;
      at_time = approxidate_careful((char const   *)tmp___9, & errors);
      free((void *)tmp___9);
      if (errors) {
        free((void *)real_ref);
        return (-1);
      }
    }
    tmp___18 = get_main_ref_store(r);
    tmp___19 = read_ref_at(tmp___18, (char const   *)real_ref, flags___0, at_time,
                           nth, oid, (char **)((void *)0), & co_time, & co_tz, & co_cnt);
    if (tmp___19) {
      if (! len___0) {
        tmp___11 = skip_prefix((char const   *)real_ref, (char const   *)"refs/heads/",
                               & str);
        if (! tmp___11) {
          str = (char const   *)"HEAD";
        }
        tmp___12 = strlen(str);
        len___0 = (int )tmp___12;
      }
      if (at_time) {
        if (! (flags___0 & 1U)) {
          tmp___13 = date_mode_from_type((enum date_mode_type )6);
          tmp___14 = show_date(co_time, co_tz, (struct date_mode  const  *)tmp___13);
          tmp___15 = _((char const   *)"log for \'%.*s\' only goes back to %s");
          warning((char const   *)tmp___15, len___0, str, tmp___14);
        }
      } else {
        if (flags___0 & 1U) {
          tmp___16 = trace2_cmd_exit_fl((char const   *)"object-name.c", 916, 128);
          exit(tmp___16);
        }
        tmp___17 = _((char const   *)"log for \'%.*s\' only has %d entries");
        die((char const   *)tmp___17, len___0, str, co_cnt);
      }
    }
  }
  free((void *)real_ref);
  return (0);
}
}
static enum get_oid_result get_parent(struct repository *r , char const   *name___0 ,
                                      int len___0 , struct object_id *result___0 ,
                                      int idx___0 )
{
  struct object_id oid ;
  enum get_oid_result ret___67 ;
  enum get_oid_result tmp ;
  struct commit *commit ;
  struct commit_list *p___0 ;
  int tmp___0 ;

  {
  tmp = get_oid_1(r, name___0, len___0, & oid, 4U);
  ret___67 = tmp;
  if (ret___67) {
    return (ret___67);
  }
  commit = lookup_commit_reference(r, (struct object_id  const  *)(& oid));
  tmp___0 = repo_parse_commit(the_repository, commit);
  if (tmp___0) {
    return ((enum get_oid_result )-1);
  }
  if (! idx___0) {
    oidcpy(result___0, (struct object_id  const  *)(& commit->object.oid));
    return ((enum get_oid_result )0);
  }
  p___0 = commit->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    idx___0 --;
    if (! idx___0) {
      oidcpy(result___0, (struct object_id  const  *)(& (p___0->item)->object.oid));
      return ((enum get_oid_result )0);
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return ((enum get_oid_result )-1);
}
}
static enum get_oid_result get_nth_ancestor(struct repository *r , char const   *name___0 ,
                                            int len___0 , struct object_id *result___0 ,
                                            int generation )
{
  struct object_id oid ;
  struct commit *commit ;
  int ret___67 ;
  enum get_oid_result tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = get_oid_1(r, name___0, len___0, & oid, 4U);
  ret___67 = (int )tmp;
  if (ret___67) {
    return ((enum get_oid_result )ret___67);
  }
  commit = lookup_commit_reference(r, (struct object_id  const  *)(& oid));
  if (! commit) {
    return ((enum get_oid_result )-1);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = generation;
    generation --;
    if (! tmp___1) {
      goto while_break;
    }
    tmp___0 = repo_parse_commit(the_repository, commit);
    if (tmp___0) {
      return ((enum get_oid_result )-1);
    } else
    if (! commit->parents) {
      return ((enum get_oid_result )-1);
    }
    commit = (commit->parents)->item;
  }
  while_break: /* CIL Label */ ;
  }
  oidcpy(result___0, (struct object_id  const  *)(& commit->object.oid));
  return ((enum get_oid_result )0);
}
}
struct object *repo_peel_to_type(struct repository *r , char const   *name___0 , int namelen ,
                                 struct object *o , enum object_type expected_type )
{
  size_t tmp ;
  struct object *tmp___0 ;
  struct tree *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;

  {
  if (name___0) {
    if (! namelen) {
      tmp = strlen(name___0);
      namelen = (int )tmp;
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! o) {
      return ((struct object *)((void *)0));
    } else
    if (! o->parsed) {
      tmp___0 = parse_object(r, (struct object_id  const  *)(& o->oid));
      if (! tmp___0) {
        return ((struct object *)((void *)0));
      }
    }
    if ((int )expected_type == 8) {
      return (o);
    } else
    if (o->type == (unsigned int )expected_type) {
      return (o);
    }
    if (o->type == 4U) {
      o = ((struct tag *)o)->tagged;
    } else
    if (o->type == 1U) {
      tmp___1 = repo_get_commit_tree(r, (struct commit  const  *)((struct commit *)o));
      o = & tmp___1->object;
    } else {
      if (name___0) {
        tmp___2 = type_name(o->type);
        tmp___3 = type_name((unsigned int )expected_type);
        error((char const   *)"%.*s: expected %s type, but the object dereferences to %s type",
              namelen, name___0, tmp___3, tmp___2);
        const_error();
      }
      return ((struct object *)((void *)0));
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int peel_onion(struct repository *r , char const   *name___0 , int len___0 ,
                      struct object_id *oid , unsigned int lookup_flags )
{
  struct object_id outer ;
  char const   *sp ;
  unsigned int expected_type ;
  struct object *o ;
  int ch___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  enum get_oid_result tmp___4 ;
  struct object *tmp___5 ;
  char *prefix___1 ;
  int ret___67 ;
  struct commit_list *list___3 ;

  {
  expected_type = 0U;
  if (len___0 < 4) {
    return (-1);
  } else
  if ((int const   )*(name___0 + (len___0 - 1)) != 125) {
    return (-1);
  }
  sp = (name___0 + len___0) - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )name___0 <= (unsigned long )sp)) {
      goto while_break;
    }
    ch___0 = (int )*sp;
    if (ch___0 == 123) {
      if ((unsigned long )name___0 < (unsigned long )sp) {
        if ((int const   )*(sp + -1) == 94) {
          goto while_break;
        }
      }
    }
    sp --;
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned long )sp <= (unsigned long )name___0) {
    return (-1);
  }
  sp ++;
  tmp___3 = starts_with(sp, (char const   *)"commit}");
  if (tmp___3) {
    expected_type = 1U;
  } else {
    tmp___2 = starts_with(sp, (char const   *)"tag}");
    if (tmp___2) {
      expected_type = 4U;
    } else {
      tmp___1 = starts_with(sp, (char const   *)"tree}");
      if (tmp___1) {
        expected_type = 2U;
      } else {
        tmp___0 = starts_with(sp, (char const   *)"blob}");
        if (tmp___0) {
          expected_type = 3U;
        } else {
          tmp = starts_with(sp, (char const   *)"object}");
          if (tmp) {
            expected_type = 8U;
          } else
          if ((int const   )*(sp + 0) == 125) {
            expected_type = 0U;
          } else
          if ((int const   )*(sp + 0) == 47) {
            expected_type = 1U;
          } else {
            return (-1);
          }
        }
      }
    }
  }
  lookup_flags &= 4294967233U;
  if (expected_type == 1U) {
    lookup_flags |= 4U;
  } else
  if (expected_type == 2U) {
    lookup_flags |= 16U;
  }
  tmp___4 = get_oid_1(r, name___0, (int )((sp - name___0) - 2L), & outer, lookup_flags);
  if (tmp___4) {
    return (-1);
  }
  o = parse_object(r, (struct object_id  const  *)(& outer));
  if (! o) {
    return (-1);
  }
  if (! expected_type) {
    o = deref_tag(r, o, name___0, (int )((sp - name___0) - 2L));
    if (! o) {
      return (-1);
    } else
    if (! o->parsed) {
      tmp___5 = parse_object(r, (struct object_id  const  *)(& o->oid));
      if (! tmp___5) {
        return (-1);
      }
    }
    oidcpy(oid, (struct object_id  const  *)(& o->oid));
    return (0);
  }
  o = repo_peel_to_type(r, name___0, len___0, o, (enum object_type )expected_type);
  if (! o) {
    return (-1);
  }
  oidcpy(oid, (struct object_id  const  *)(& o->oid));
  if ((int const   )*(sp + 0) == 47) {
    list___3 = (struct commit_list *)((void *)0);
    if ((int const   )*(sp + 1) == 125) {
      return (0);
    }
    prefix___1 = xstrndup(sp + 1, (size_t )(((name___0 + len___0) - 1) - (sp + 1)));
    commit_list_insert((struct commit *)o, & list___3);
    ret___67 = get_oid_oneline(r, (char const   *)prefix___1, oid, list___3);
    free((void *)prefix___1);
    return (ret___67);
  }
  return (0);
}
}
static int get_describe_name(struct repository *r , char const   *name___0 , int len___0 ,
                             struct object_id *oid )
{
  char const   *cp ;
  unsigned int flags___0 ;
  char ch___0 ;
  enum get_oid_result tmp ;

  {
  flags___0 = 3U;
  cp = (name___0 + len___0) - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )(name___0 + 2) <= (unsigned long )cp)) {
      goto while_break;
    }
    ch___0 = (char )*cp;
    if (! ((int const   )hexval_table[(unsigned char )ch___0] != -1)) {
      if ((int )ch___0 == 103) {
        if ((int const   )*(cp + -1) == 45) {
          cp ++;
          len___0 = (int )((long )len___0 - (cp - name___0));
          tmp = get_short_oid(r, cp, len___0, oid, flags___0);
          return ((int )tmp);
        }
      }
    }
    cp --;
  }
  while_break: /* CIL Label */ ;
  }
  return (-1);
}
}
static enum get_oid_result get_oid_1(struct repository *r , char const   *name___0 ,
                                     int len___0 , struct object_id *oid , unsigned int lookup_flags )
{
  int ret___67 ;
  int has_suffix ;
  char const   *cp ;
  int ch___0 ;
  unsigned int num ;
  int len1 ;
  unsigned int digit ;
  char const   *tmp ;
  enum get_oid_result tmp___0 ;
  enum get_oid_result tmp___1 ;
  enum get_oid_result tmp___2 ;

  {
  has_suffix = 0;
  cp = (name___0 + len___0) - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )name___0 <= (unsigned long )cp)) {
      goto while_break;
    }
    ch___0 = (int )*cp;
    if (48 <= ch___0) {
      if (ch___0 <= 57) {
        goto __Cont;
      }
    }
    if (ch___0 == 126) {
      has_suffix = ch___0;
    } else
    if (ch___0 == 94) {
      has_suffix = ch___0;
    }
    goto while_break;
    __Cont: /* CIL Label */
    cp --;
  }
  while_break: /* CIL Label */ ;
  }
  if (has_suffix) {
    num = 0U;
    len1 = (int )(cp - name___0);
    cp ++;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned long )cp < (unsigned long )(name___0 + len___0))) {
        goto while_break___0;
      }
      tmp = cp;
      cp ++;
      digit = (unsigned int )((int const   )*tmp - 48);
      if (num) {
        if (10UL > (18446744073709551615UL >> (8UL * sizeof(uintmax_t ) - 8UL * sizeof(num))) / (unsigned long )num) {
          return ((enum get_oid_result )-1);
        }
      }
      num *= 10U;
      if ((unsigned long )digit > (18446744073709551615UL >> (8UL * sizeof(uintmax_t ) - 8UL * sizeof(num))) - (unsigned long )num) {
        return ((enum get_oid_result )-1);
      }
      num += digit;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! num) {
      if (len1 == len___0 - 1) {
        num = 1U;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (num > 2147483647U) {
      return ((enum get_oid_result )-1);
    }
    if (has_suffix == 94) {
      tmp___0 = get_parent(r, name___0, len1, oid, (int )num);
      return (tmp___0);
    }
    tmp___1 = get_nth_ancestor(r, name___0, len1, oid, (int )num);
    return (tmp___1);
  }
  ret___67 = peel_onion(r, name___0, len___0, oid, lookup_flags);
  if (! ret___67) {
    return ((enum get_oid_result )0);
  }
  ret___67 = get_oid_basic(r, name___0, len___0, oid, lookup_flags);
  if (! ret___67) {
    return ((enum get_oid_result )0);
  }
  ret___67 = get_describe_name(r, name___0, len___0, oid);
  if (! ret___67) {
    return ((enum get_oid_result )0);
  }
  tmp___2 = get_short_oid(r, name___0, len___0, oid, lookup_flags);
  return (tmp___2);
}
}
static int handle_one_ref(char const   *path___6 , struct object_id  const  *oid ,
                          int flag , void *cb_data )
{
  struct handle_one_ref_cb *cb ;
  struct commit_list **list___3 ;
  struct object *object ;
  struct object *tmp ;
  size_t tmp___0 ;

  {
  cb = (struct handle_one_ref_cb *)cb_data;
  list___3 = cb->list;
  tmp = parse_object(cb->repo, oid);
  object = tmp;
  if (! object) {
    return (0);
  }
  if (object->type == 4U) {
    tmp___0 = strlen(path___6);
    object = deref_tag(cb->repo, object, path___6, (int )tmp___0);
    if (! object) {
      return (0);
    }
  }
  if (object->type != 1U) {
    return (0);
  }
  commit_list_insert((struct commit *)object, list___3);
  return (0);
}
}
static int get_oid_oneline(struct repository *r , char const   *prefix___1 , struct object_id *oid ,
                           struct commit_list *list___3 )
{
  struct commit_list *backup ;
  struct commit_list *l ;
  int found ;
  int negative ;
  regex_t regex ;
  int tmp ;
  char const   *p___0 ;
  char const   *buf___19 ;
  struct commit *commit ;
  int matches___0 ;
  struct object *tmp___0 ;
  void const   *tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  backup = (struct commit_list *)((void *)0);
  found = 0;
  negative = 0;
  if ((int const   )*(prefix___1 + 0) == 33) {
    prefix___1 ++;
    if ((int const   )*(prefix___1 + 0) == 45) {
      prefix___1 ++;
      negative = 1;
    } else
    if ((int const   )*(prefix___1 + 0) != 33) {
      return (-1);
    }
  }
  tmp = regcomp((regex_t * __restrict  )(& regex), (char const   * __restrict  )prefix___1,
                1);
  if (tmp) {
    return (-1);
  }
  l = list___3;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! l) {
      goto while_break;
    }
    (l->item)->object.flags |= 1u << 20;
    commit_list_insert(l->item, & backup);
    l = l->next;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! list___3) {
      goto while_break___0;
    }
    commit = pop_most_recent_commit(& list___3, 1u << 20);
    tmp___0 = parse_object(r, (struct object_id  const  *)(& commit->object.oid));
    if (! tmp___0) {
      goto while_continue___0;
    }
    tmp___1 = repo_get_commit_buffer(the_repository, (struct commit  const  *)commit,
                                     (unsigned long *)((void *)0));
    buf___19 = (char const   *)tmp___1;
    tmp___2 = strstr(buf___19, (char const   *)"\n\n");
    p___0 = (char const   *)tmp___2;
    if (p___0) {
      tmp___3 = regexec((regex_t const   * __restrict  )(& regex), (char const   * __restrict  )(p___0 + 2),
                        (size_t )0, (regmatch_t * __restrict  )((void *)0), 0);
      if (tmp___3) {
        tmp___4 = 0;
      } else {
        tmp___4 = 1;
      }
    } else {
      tmp___4 = 0;
    }
    matches___0 = negative ^ tmp___4;
    repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit, (void const   *)buf___19);
    if (matches___0) {
      oidcpy(oid, (struct object_id  const  *)(& commit->object.oid));
      found = 1;
      goto while_break___0;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  regfree(& regex);
  free_commit_list(list___3);
  l = backup;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! l) {
      goto while_break___1;
    }
    clear_commit_marks(l->item, 1u << 20);
    l = l->next;
  }
  while_break___1: /* CIL Label */ ;
  }
  free_commit_list(backup);
  if (found) {
    tmp___5 = 0;
  } else {
    tmp___5 = -1;
  }
  return (tmp___5);
}
}
static int grab_nth_branch_switch(struct object_id *ooid , struct object_id *noid ,
                                  char const   *email , timestamp_t timestamp___0 ,
                                  int tz , char const   *message___0 , void *cb_data )
{
  struct grab_nth_branch_switch_cbdata *cb ;
  char const   *match___0 ;
  char const   *target ;
  size_t len___0 ;
  char *tmp ;
  int tmp___0 ;

  {
  cb = (struct grab_nth_branch_switch_cbdata *)cb_data;
  match___0 = (char const   *)((void *)0);
  target = (char const   *)((void *)0);
  tmp___0 = skip_prefix(message___0, (char const   *)"checkout: moving from ", & match___0);
  if (tmp___0) {
    tmp = strstr(match___0, (char const   *)" to ");
    target = (char const   *)tmp;
  }
  if (! match___0) {
    return (0);
  } else
  if (! target) {
    return (0);
  }
  (cb->remaining) --;
  if (cb->remaining == 0) {
    len___0 = (size_t )(target - match___0);
    strbuf_setlen(cb->sb, (size_t )0);
    strbuf_add(cb->sb, (void const   *)match___0, len___0);
    return (1);
  }
  return (0);
}
}
static int interpret_nth_prior_checkout(struct repository *r , char const   *name___0 ,
                                        int namelen , struct strbuf *buf___19 )
{
  long nth ;
  int retval ;
  struct grab_nth_branch_switch_cbdata cb ;
  char const   *brace ;
  char *num_end ;
  void *tmp ;
  struct ref_store *tmp___0 ;

  {
  if (namelen < 4) {
    return (-1);
  }
  if ((int const   )*(name___0 + 0) != 64) {
    return (-1);
  } else
  if ((int const   )*(name___0 + 1) != 123) {
    return (-1);
  } else
  if ((int const   )*(name___0 + 2) != 45) {
    return (-1);
  }
  tmp = memchr((void const   *)name___0, '}', (size_t )namelen);
  brace = (char const   *)tmp;
  if (! brace) {
    return (-1);
  }
  nth = strtol((char const   * __restrict  )(name___0 + 3), (char ** __restrict  )(& num_end),
               10);
  if ((unsigned long )num_end != (unsigned long )brace) {
    return (-1);
  }
  if (nth <= 0L) {
    return (-1);
  }
  cb.remaining = (int )nth;
  cb.sb = buf___19;
  tmp___0 = get_main_ref_store(r);
  retval = refs_for_each_reflog_ent_reverse(tmp___0, (char const   *)"HEAD", & grab_nth_branch_switch,
                                            (void *)(& cb));
  if (0 < retval) {
    retval = (int )((brace - name___0) + 1L);
  } else {
    retval = 0;
  }
  return (retval);
}
}
int repo_get_oid_mb(struct repository *r , char const   *name___0 , struct object_id *oid )
{
  struct commit *one___0 ;
  struct commit *two___0 ;
  struct commit_list *mbs ;
  struct object_id oid_tmp ;
  char const   *dots ;
  int st ;
  char *tmp ;
  int tmp___0 ;
  struct strbuf sb___6 ;
  char const   *tmp___1 ;
  int tmp___2 ;

  {
  tmp = strstr(name___0, (char const   *)"...");
  dots = (char const   *)tmp;
  if (! dots) {
    tmp___0 = repo_get_oid(r, name___0, oid);
    return (tmp___0);
  }
  if ((unsigned long )dots == (unsigned long )name___0) {
    st = repo_get_oid(r, (char const   *)"HEAD", & oid_tmp);
  } else {
    strbuf_init(& sb___6, (size_t )(dots - name___0));
    strbuf_add(& sb___6, (void const   *)name___0, (size_t )(dots - name___0));
    st = repo_get_oid_committish(r, (char const   *)sb___6.buf, & oid_tmp);
    strbuf_release(& sb___6);
  }
  if (st) {
    return (st);
  }
  one___0 = lookup_commit_reference_gently(r, (struct object_id  const  *)(& oid_tmp),
                                           0);
  if (! one___0) {
    return (-1);
  }
  if (*(dots + 3)) {
    tmp___1 = dots + 3;
  } else {
    tmp___1 = (char const   *)"HEAD";
  }
  tmp___2 = repo_get_oid_committish(r, tmp___1, & oid_tmp);
  if (tmp___2) {
    return (-1);
  }
  two___0 = lookup_commit_reference_gently(r, (struct object_id  const  *)(& oid_tmp),
                                           0);
  if (! two___0) {
    return (-1);
  }
  mbs = repo_get_merge_bases(r, one___0, two___0);
  if (! mbs) {
    st = -1;
  } else
  if (mbs->next) {
    st = -1;
  } else {
    st = 0;
    oidcpy(oid, (struct object_id  const  *)(& (mbs->item)->object.oid));
  }
  free_commit_list(mbs);
  return (st);
}
}
static int interpret_empty_at(char const   *name___0 , int namelen , int len___0 ,
                              struct strbuf *buf___19 )
{
  char const   *next___2 ;
  void *tmp ;

  {
  if (len___0) {
    return (-1);
  } else
  if ((int const   )*(name___0 + 1) == 123) {
    return (-1);
  }
  tmp = memchr((void const   *)((name___0 + len___0) + 1), '@', (size_t )((namelen - len___0) - 1));
  next___2 = (char const   *)tmp;
  if (next___2) {
    if ((int const   )*(next___2 + 1) != 123) {
      return (-1);
    }
  }
  if (! next___2) {
    next___2 = name___0 + namelen;
  }
  if ((unsigned long )next___2 != (unsigned long )(name___0 + 1)) {
    return (-1);
  }
  strbuf_setlen(buf___19, (size_t )0);
  strbuf_add(buf___19, (void const   *)"HEAD", (size_t )4);
  return (1);
}
}
static int reinterpret(struct repository *r , char const   *name___0 , int namelen ,
                       int len___0 , struct strbuf *buf___19 , unsigned int allowed___0 )
{
  struct strbuf tmp ;
  int used___0 ;
  int ret___67 ;
  struct interpret_branch_name_options options ;

  {
  tmp.alloc = 0UL;
  tmp.len = 0UL;
  tmp.buf = strbuf_slopbuf;
  used___0 = (int )buf___19->len;
  options.allowed = allowed___0;
  options.nonfatal_dangling_mark = 0U;
  strbuf_add(buf___19, (void const   *)(name___0 + len___0), (size_t )(namelen - len___0));
  ret___67 = repo_interpret_branch_name(r, (char const   *)buf___19->buf, (int )buf___19->len,
                                        & tmp, (struct interpret_branch_name_options  const  *)(& options));
  if (ret___67 < 0) {
    strbuf_setlen(buf___19, (size_t )used___0);
    return (len___0);
  }
  strbuf_setlen(buf___19, (size_t )0);
  strbuf_addbuf(buf___19, (struct strbuf  const  *)(& tmp));
  strbuf_release(& tmp);
  return ((ret___67 - used___0) + len___0);
}
}
static void set_shortened_ref(struct repository *r , struct strbuf *buf___19 , char const   *ref )
{
  char *s___1 ;
  struct ref_store *tmp ;
  char *tmp___0 ;

  {
  tmp = get_main_ref_store(r);
  tmp___0 = refs_shorten_unambiguous_ref(tmp, ref, 0);
  s___1 = tmp___0;
  strbuf_setlen(buf___19, (size_t )0);
  strbuf_addstr(buf___19, (char const   *)s___1);
  free((void *)s___1);
  return;
}
}
static int branch_interpret_allowed(char const   *refname , unsigned int allowed___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  if (! allowed___0) {
    return (1);
  }
  if (allowed___0 & 1U) {
    tmp = starts_with(refname, (char const   *)"refs/heads/");
    if (tmp) {
      return (1);
    }
  }
  if (allowed___0 & (unsigned int )(1 << 1)) {
    tmp___0 = starts_with(refname, (char const   *)"refs/remotes/");
    if (tmp___0) {
      return (1);
    }
  }
  return (0);
}
}
static int interpret_branch_mark(struct repository *r , char const   *name___0 , int namelen ,
                                 int at , struct strbuf *buf___19 , int (*get_mark)(char const   * ,
                                                                                    int  ) ,
                                 char const   *(*get_data___0)(struct branch * , struct strbuf * ) ,
                                 struct interpret_branch_name_options  const  *options )
{
  int len___0 ;
  struct branch *branch___0 ;
  struct strbuf err___4 ;
  char const   *value ;
  void *tmp ;
  char *name_str ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  len___0 = (*get_mark)(name___0 + at, namelen - at);
  if (! len___0) {
    return (-1);
  }
  tmp = memchr((void const   *)name___0, ':', (size_t )at);
  if (tmp) {
    return (-1);
  }
  if (at) {
    tmp___0 = xmemdupz((void const   *)name___0, (size_t )at);
    name_str = (char *)tmp___0;
    branch___0 = branch_get((char const   *)name_str);
    free((void *)name_str);
  } else {
    branch___0 = branch_get((char const   *)((void *)0));
  }
  value = (*get_data___0)(branch___0, & err___4);
  if (! value) {
    if (options->nonfatal_dangling_mark) {
      strbuf_release(& err___4);
      return (-1);
    } else {
      die((char const   *)"%s", err___4.buf);
    }
  }
  tmp___1 = branch_interpret_allowed(value, (unsigned int )options->allowed);
  if (! tmp___1) {
    return (-1);
  }
  set_shortened_ref(r, buf___19, value);
  return (len___0 + at);
}
}
int repo_interpret_branch_name(struct repository *r , char const   *name___0 , int namelen ,
                               struct strbuf *buf___19 , struct interpret_branch_name_options  const  *options )
{
  char *at ;
  char const   *start ;
  int len___0 ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;
  void *tmp___2 ;

  {
  if (! namelen) {
    tmp = strlen(name___0);
    namelen = (int )tmp;
  }
  if (! options->allowed) {
    goto _L;
  } else
  if (options->allowed & 1U) {
    _L: /* CIL Label */
    len___0 = interpret_nth_prior_checkout(r, name___0, namelen, buf___19);
    if (! len___0) {
      return (len___0);
    } else
    if (len___0 > 0) {
      if (len___0 == namelen) {
        return (len___0);
      } else {
        tmp___0 = reinterpret(r, name___0, namelen, len___0, buf___19, (unsigned int )options->allowed);
        return (tmp___0);
      }
    }
  }
  start = name___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = memchr((void const   *)start, '@', (size_t )((long )namelen - (start - name___0)));
    at = (char *)tmp___2;
    if (! at) {
      goto while_break;
    }
    if (! options->allowed) {
      goto _L___0;
    } else
    if (options->allowed & (unsigned int )(1 << 2)) {
      _L___0: /* CIL Label */
      len___0 = interpret_empty_at(name___0, namelen, (int )(at - (char *)name___0),
                                   buf___19);
      if (len___0 > 0) {
        tmp___1 = reinterpret(r, name___0, namelen, len___0, buf___19, (unsigned int )options->allowed);
        return (tmp___1);
      }
    }
    len___0 = interpret_branch_mark(r, name___0, namelen, (int )(at - (char *)name___0),
                                    buf___19, & upstream_mark, & branch_get_upstream,
                                    options);
    if (len___0 > 0) {
      return (len___0);
    }
    len___0 = interpret_branch_mark(r, name___0, namelen, (int )(at - (char *)name___0),
                                    buf___19, & push_mark, & branch_get_push, options);
    if (len___0 > 0) {
      return (len___0);
    }
    start = (char const   *)(at + 1);
  }
  while_break: /* CIL Label */ ;
  }
  return (-1);
}
}
void strbuf_branchname(struct strbuf *sb___6 , char const   *name___0 , unsigned int allowed___0 )
{
  int len___0 ;
  size_t tmp ;
  struct interpret_branch_name_options options ;
  int used___0 ;
  int tmp___0 ;

  {
  tmp = strlen(name___0);
  len___0 = (int )tmp;
  options.allowed = allowed___0;
  options.nonfatal_dangling_mark = 0U;
  tmp___0 = repo_interpret_branch_name(the_repository, name___0, len___0, sb___6,
                                       (struct interpret_branch_name_options  const  *)(& options));
  used___0 = tmp___0;
  if (used___0 < 0) {
    used___0 = 0;
  }
  strbuf_add(sb___6, (void const   *)(name___0 + used___0), (size_t )(len___0 - used___0));
  return;
}
}
int strbuf_check_branch_ref(struct strbuf *sb___6 , char const   *name___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  if (startup_info->have_repository) {
    strbuf_branchname(sb___6, name___0, 1U);
  } else {
    strbuf_addstr(sb___6, name___0);
  }
  strbuf_splice(sb___6, (size_t )0, (size_t )0, (void const   *)"refs/heads/", (size_t )11);
  if ((int const   )*name___0 == 45) {
    return (-1);
  } else {
    tmp = strcmp((char const   *)sb___6->buf, (char const   *)"refs/heads/HEAD");
    if (! tmp) {
      return (-1);
    }
  }
  tmp___0 = check_refname_format((char const   *)sb___6->buf, 0);
  return (tmp___0);
}
}
int repo_get_oid(struct repository *r , char const   *name___0 , struct object_id *oid )
{
  struct object_context unused ;
  enum get_oid_result tmp ;

  {
  tmp = get_oid_with_context(r, name___0, 0U, oid, & unused);
  return ((int )tmp);
}
}
int ( /* format attribute */  get_oidf)(struct object_id *oid , char const   *fmt
                                        , ...)
{
  va_list ap ;
  int ret___67 ;
  struct strbuf sb___6 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  __builtin_va_start(ap, fmt);
  strbuf_vaddf(& sb___6, fmt, ap);
  __builtin_va_end(ap);
  ret___67 = repo_get_oid(the_repository, (char const   *)sb___6.buf, oid);
  strbuf_release(& sb___6);
  return (ret___67);
}
}
int repo_get_oid_committish(struct repository *r , char const   *name___0 , struct object_id *oid )
{
  struct object_context unused ;
  enum get_oid_result tmp ;

  {
  tmp = get_oid_with_context(r, name___0, 4U, oid, & unused);
  return ((int )tmp);
}
}
int repo_get_oid_treeish(struct repository *r , char const   *name___0 , struct object_id *oid )
{
  struct object_context unused ;
  enum get_oid_result tmp ;

  {
  tmp = get_oid_with_context(r, name___0, 16U, oid, & unused);
  return ((int )tmp);
}
}
int repo_get_oid_commit(struct repository *r , char const   *name___0 , struct object_id *oid )
{
  struct object_context unused ;
  enum get_oid_result tmp ;

  {
  tmp = get_oid_with_context(r, name___0, 2U, oid, & unused);
  return ((int )tmp);
}
}
int repo_get_oid_tree(struct repository *r , char const   *name___0 , struct object_id *oid )
{
  struct object_context unused ;
  enum get_oid_result tmp ;

  {
  tmp = get_oid_with_context(r, name___0, 8U, oid, & unused);
  return ((int )tmp);
}
}
int repo_get_oid_blob(struct repository *r , char const   *name___0 , struct object_id *oid )
{
  struct object_context unused ;
  enum get_oid_result tmp ;

  {
  tmp = get_oid_with_context(r, name___0, 32U, oid, & unused);
  return ((int )tmp);
}
}
static void diagnose_invalid_oid_path(struct repository *r , char const   *prefix___1 ,
                                      char const   *filename___0 , struct object_id  const  *tree_oid ,
                                      char const   *object_name , int object_name_len )
{
  struct object_id oid ;
  unsigned short mode___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char *fullname ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int *tmp___5 ;
  int tmp___6 ;

  {
  if (! prefix___1) {
    prefix___1 = (char const   *)"";
  }
  tmp___0 = file_exists(filename___0);
  if (tmp___0) {
    tmp = _((char const   *)"path \'%s\' exists on disk, but not in \'%.*s\'");
    die((char const   *)tmp, filename___0, object_name_len, object_name);
  }
  tmp___5 = __errno_location();
  tmp___6 = is_missing_file_error(*tmp___5);
  if (tmp___6) {
    tmp___1 = xstrfmt((char const   *)"%s%s", prefix___1, filename___0);
    fullname = tmp___1;
    tmp___3 = get_tree_entry(r, tree_oid, (char const   *)fullname, & oid, & mode___1);
    if (! tmp___3) {
      tmp___2 = _((char const   *)"path \'%s\' exists, but not \'%s\'\nhint: Did you mean \'%.*s:%s\' aka \'%.*s:./%s\'?");
      die((char const   *)tmp___2, fullname, filename___0, object_name_len, object_name,
          fullname, object_name_len, object_name, filename___0);
    }
    tmp___4 = _((char const   *)"path \'%s\' does not exist in \'%.*s\'");
    die((char const   *)tmp___4, filename___0, object_name_len, object_name);
  }
  return;
}
}
static void diagnose_invalid_index_path(struct repository *r , int stage , char const   *prefix___1 ,
                                        char const   *filename___0 )
{
  struct index_state *istate ;
  struct cache_entry  const  *ce ;
  int pos ;
  unsigned int namelen ;
  size_t tmp ;
  struct strbuf fullname ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int *tmp___7 ;
  int tmp___8 ;

  {
  istate = r->index;
  tmp = strlen(filename___0);
  namelen = (unsigned int )tmp;
  fullname.alloc = 0UL;
  fullname.len = 0UL;
  fullname.buf = strbuf_slopbuf;
  if (! prefix___1) {
    prefix___1 = (char const   *)"";
  }
  pos = index_name_pos(istate, filename___0, (int )namelen);
  if (pos < 0) {
    pos = - pos - 1;
  }
  if ((unsigned int )pos < istate->cache_nr) {
    ce = (struct cache_entry  const  *)*(istate->cache + pos);
    if (ce->ce_namelen == (unsigned int )namelen) {
      tmp___1 = memcmp((void const   *)(ce->name), (void const   *)filename___0, (size_t )namelen);
      if (! tmp___1) {
        tmp___0 = _((char const   *)"path \'%s\' is in the index, but not at stage %d\nhint: Did you mean \':%d:%s\'?");
        die((char const   *)tmp___0, filename___0, stage, (12288U & ce->ce_flags) >> 12,
            filename___0);
      }
    }
  }
  strbuf_addstr(& fullname, prefix___1);
  strbuf_addstr(& fullname, filename___0);
  pos = index_name_pos(istate, (char const   *)fullname.buf, (int )fullname.len);
  if (pos < 0) {
    pos = - pos - 1;
  }
  if ((unsigned int )pos < istate->cache_nr) {
    ce = (struct cache_entry  const  *)*(istate->cache + pos);
    if ((size_t )ce->ce_namelen == fullname.len) {
      tmp___3 = memcmp((void const   *)(ce->name), (void const   *)fullname.buf, fullname.len);
      if (! tmp___3) {
        tmp___2 = _((char const   *)"path \'%s\' is in the index, but not \'%s\'\nhint: Did you mean \':%d:%s\' aka \':%d:./%s\'?");
        die((char const   *)tmp___2, fullname.buf, filename___0, (12288U & ce->ce_flags) >> 12,
            fullname.buf, (12288U & ce->ce_flags) >> 12, filename___0);
      }
    }
  }
  tmp___5 = repo_file_exists(r, filename___0);
  if (tmp___5) {
    tmp___4 = _((char const   *)"path \'%s\' exists on disk, but not in the index");
    die((char const   *)tmp___4, filename___0);
  }
  tmp___7 = __errno_location();
  tmp___8 = is_missing_file_error(*tmp___7);
  if (tmp___8) {
    tmp___6 = _((char const   *)"path \'%s\' does not exist (neither on disk nor in the index)");
    die((char const   *)tmp___6, filename___0);
  }
  strbuf_release(& fullname);
  return;
}
}
static char *resolve_relative_path(struct repository *r , char const   *rel )
{
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  size_t tmp___3 ;
  size_t tmp___4 ;
  char *tmp___5 ;

  {
  tmp = starts_with(rel, (char const   *)"./");
  if (! tmp) {
    tmp___0 = starts_with(rel, (char const   *)"../");
    if (! tmp___0) {
      return ((char *)((void *)0));
    }
  }
  if ((unsigned long )r != (unsigned long )the_repository) {
    tmp___1 = _((char const   *)"relative path syntax can\'t be used outside working tree");
    die((char const   *)tmp___1);
  } else {
    tmp___2 = is_inside_work_tree();
    if (! tmp___2) {
      tmp___1 = _((char const   *)"relative path syntax can\'t be used outside working tree");
      die((char const   *)tmp___1);
    }
  }
  if (startup_info->prefix) {
    tmp___3 = strlen(startup_info->prefix);
    tmp___4 = tmp___3;
  } else {
    tmp___4 = (size_t )0;
  }
  tmp___5 = prefix_path(startup_info->prefix, (int )tmp___4, rel);
  return (tmp___5);
}
}
static enum get_oid_result get_oid_with_context_1(struct repository *repo , char const   *name___0 ,
                                                  unsigned int flags___0 , char const   *prefix___1 ,
                                                  struct object_id *oid , struct object_context *oc )
{
  int ret___67 ;
  int bracket_depth ;
  int namelen ;
  size_t tmp ;
  char const   *cp ;
  int only_to_die ;
  enum get_oid_result tmp___0 ;
  int stage ;
  struct cache_entry  const  *ce ;
  char *new_path___0 ;
  int pos ;
  struct handle_one_ref_cb cb ;
  struct commit_list *list___3 ;
  struct ref_store *tmp___1 ;
  struct ref_store *tmp___2 ;
  int tmp___3 ;
  size_t tmp___4 ;
  int tmp___5 ;
  struct object_id tree_oid ;
  int len___0 ;
  unsigned int sub_flags ;
  char const   *filename___0 ;
  char *new_filename ;
  enum get_oid_result tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  enum get_oid_result tmp___8 ;

  {
  tmp = strlen(name___0);
  namelen = (int )tmp;
  only_to_die = (int )(flags___0 & 2048U);
  if (only_to_die) {
    flags___0 |= 1U;
  }
  memset((void *)oc, 0, sizeof(*oc));
  oc->mode = (unsigned short)12288;
  strbuf_init(& oc->symlink_path, (size_t )0);
  tmp___0 = get_oid_1(repo, name___0, namelen, oid, flags___0);
  ret___67 = (int )tmp___0;
  if (! ret___67) {
    return ((enum get_oid_result )ret___67);
  }
  if ((int const   )*(name___0 + 0) == 58) {
    stage = 0;
    new_path___0 = (char *)((void *)0);
    if (! only_to_die) {
      if (namelen > 2) {
        if ((int const   )*(name___0 + 1) == 47) {
          list___3 = (struct commit_list *)((void *)0);
          cb.repo = repo;
          cb.list = & list___3;
          tmp___1 = get_main_ref_store(repo);
          refs_for_each_ref(tmp___1, & handle_one_ref, (void *)(& cb));
          tmp___2 = get_main_ref_store(repo);
          refs_head_ref(tmp___2, & handle_one_ref, (void *)(& cb));
          commit_list_sort_by_date(& list___3);
          tmp___3 = get_oid_oneline(repo, name___0 + 2, oid, list___3);
          return ((enum get_oid_result )tmp___3);
        }
      }
    }
    if (namelen < 3) {
      cp = name___0 + 1;
    } else
    if ((int const   )*(name___0 + 2) != 58) {
      cp = name___0 + 1;
    } else
    if ((int const   )*(name___0 + 1) < 48) {
      cp = name___0 + 1;
    } else
    if (51 < (int )*(name___0 + 1)) {
      cp = name___0 + 1;
    } else {
      stage = (int )((int const   )*(name___0 + 1) - 48);
      cp = name___0 + 3;
    }
    new_path___0 = resolve_relative_path(repo, cp);
    if (! new_path___0) {
      namelen = (int )((long )namelen - (cp - name___0));
    } else {
      cp = (char const   *)new_path___0;
      tmp___4 = strlen(cp);
      namelen = (int )tmp___4;
    }
    if (flags___0 & 128U) {
      oc->path = xstrdup(cp);
    }
    if (! repo->index) {
      repo_read_index(repo);
    } else
    if (! (repo->index)->cache) {
      repo_read_index(repo);
    }
    pos = index_name_pos(repo->index, cp, namelen);
    if (pos < 0) {
      pos = - pos - 1;
    }
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )pos < (repo->index)->cache_nr)) {
        goto while_break;
      }
      ce = (struct cache_entry  const  *)*((repo->index)->cache + pos);
      if (ce->ce_namelen != (unsigned int )namelen) {
        goto while_break;
      } else {
        tmp___5 = memcmp((void const   *)(ce->name), (void const   *)cp, (size_t )namelen);
        if (tmp___5) {
          goto while_break;
        }
      }
      if ((12288U & ce->ce_flags) >> 12 == (unsigned int )stage) {
        oidcpy(oid, (struct object_id  const  *)(& ce->oid));
        oc->mode = (unsigned short )ce->ce_mode;
        free((void *)new_path___0);
        return ((enum get_oid_result )0);
      }
      pos ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (only_to_die) {
      if (*(name___0 + 1)) {
        if ((int const   )*(name___0 + 1) != 47) {
          diagnose_invalid_index_path(repo, stage, prefix___1, cp);
        }
      }
    }
    free((void *)new_path___0);
    return ((enum get_oid_result )-1);
  }
  cp = name___0;
  bracket_depth = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! *cp) {
      goto while_break___0;
    }
    if ((int const   )*cp == 123) {
      bracket_depth ++;
    } else
    if (bracket_depth) {
      if ((int const   )*cp == 125) {
        bracket_depth --;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (! bracket_depth) {
      if ((int const   )*cp == 58) {
        goto while_break___0;
      }
    }
    cp ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if ((int const   )*cp == 58) {
    len___0 = (int )(cp - name___0);
    sub_flags = flags___0;
    sub_flags &= 4294967233U;
    sub_flags |= 16U;
    tmp___8 = get_oid_1(repo, name___0, len___0, & tree_oid, sub_flags);
    if (tmp___8) {
      if (only_to_die) {
        tmp___7 = _((char const   *)"invalid object name \'%.*s\'.");
        die((char const   *)tmp___7, len___0, name___0);
      }
    } else {
      filename___0 = cp + 1;
      new_filename = (char *)((void *)0);
      new_filename = resolve_relative_path(repo, filename___0);
      if (new_filename) {
        filename___0 = (char const   *)new_filename;
      }
      if (flags___0 & 64U) {
        tmp___6 = get_tree_entry_follow_symlinks(repo, & tree_oid, filename___0, oid,
                                                 & oc->symlink_path, & oc->mode);
        ret___67 = (int )tmp___6;
      } else {
        ret___67 = get_tree_entry(repo, (struct object_id  const  *)(& tree_oid),
                                  filename___0, oid, & oc->mode);
        if (ret___67) {
          if (only_to_die) {
            diagnose_invalid_oid_path(repo, prefix___1, filename___0, (struct object_id  const  *)(& tree_oid),
                                      name___0, len___0);
          }
        }
      }
      if (flags___0 & 128U) {
        oc->path = xstrdup(filename___0);
      }
      free((void *)new_filename);
      return ((enum get_oid_result )ret___67);
    }
  }
  return ((enum get_oid_result )ret___67);
}
}
void maybe_die_on_misspelt_object_name(struct repository *r , char const   *name___0 ,
                                       char const   *prefix___1 )
{
  struct object_context oc ;
  struct object_id oid ;

  {
  get_oid_with_context_1(r, name___0, 2048U, prefix___1, & oid, & oc);
  return;
}
}
enum get_oid_result get_oid_with_context(struct repository *repo , char const   *str ,
                                         unsigned int flags___0 , struct object_id *oid ,
                                         struct object_context *oc )
{
  enum get_oid_result tmp ;

  {
  if (flags___0 & 64U) {
    if (flags___0 & 2048U) {
      BUG_fl((char const   *)"object-name.c", 1946, (char const   *)"incompatible flags for get_oid_with_context");
    }
  }
  tmp = get_oid_with_context_1(repo, str, flags___0, (char const   *)((void *)0),
                               oid, oc);
  return (tmp);
}
}
static double const   __ac_HASH_UPPER___57  =    (double const   )0.77;
__inline static void kh_resize_oid_set___57(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___57(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___57 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___57 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___57(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___57(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___57(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___57(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___57(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___57(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___57 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___57 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___57(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___57(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___57(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___57(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___57(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___57(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___57 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___57 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___57(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___57(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___57(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___57(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___42(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___42(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___57 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___57 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___42(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___42(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___42(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___42(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
unsigned int get_max_object_index(void)
{


  {
  return ((unsigned int )(the_repository->parsed_objects)->obj_hash_size);
}
}
struct object *get_indexed_object(unsigned int idx___0 )
{


  {
  return (*((the_repository->parsed_objects)->obj_hash + idx___0));
}
}
static char const   *object_type_strings[5]  = {      (char const   *)((void *)0),      (char const   *)"commit",      (char const   *)"tree",      (char const   *)"blob",
        (char const   *)"tag"};
char const   *type_name(unsigned int type___0 )
{


  {
  if ((unsigned long )type___0 >= sizeof(object_type_strings) / sizeof(object_type_strings[0]) + (sizeof(char [1]) - 1UL)) {
    return ((char const   *)((void *)0));
  }
  return (object_type_strings[type___0]);
}
}
int type_from_string_gently(char const   *str , ssize_t len___0 , int gentle )
{
  int i ;
  size_t tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  if (len___0 < 0L) {
    tmp = strlen(str);
    len___0 = (ssize_t )tmp;
  }
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(object_type_strings) / sizeof(object_type_strings[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp___0 = strncmp(str, object_type_strings[i], (size_t )len___0);
    if (! tmp___0) {
      if ((int const   )*(object_type_strings[i] + len___0) == 0) {
        return (i);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (gentle) {
    return (-1);
  }
  tmp___1 = _((char const   *)"invalid object type \"%s\"");
  die((char const   *)tmp___1, str);
}
}
static unsigned int hash_obj___0(struct object_id  const  *oid , unsigned int n )
{
  unsigned int tmp ;

  {
  tmp = oidhash(oid);
  return (tmp & (n - 1U));
}
}
static void insert_obj_hash(struct object *obj , struct object **hash___0 , unsigned int size )
{
  unsigned int j ;
  unsigned int tmp ;

  {
  tmp = hash_obj___0((struct object_id  const  *)(& obj->oid), size);
  j = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(hash___0 + j)) {
      goto while_break;
    }
    j ++;
    if (j >= size) {
      j = 0U;
    }
  }
  while_break: /* CIL Label */ ;
  }
  *(hash___0 + j) = obj;
  return;
}
}
struct object *lookup_object(struct repository *r , struct object_id  const  *oid )
{
  unsigned int i ;
  unsigned int first ;
  struct object *obj ;
  int tmp ;
  void *_swap_a_ptr ;
  void *_swap_b_ptr ;
  unsigned char _swap_buffer[sizeof(*((r->parsed_objects)->obj_hash + i))] ;

  {
  if (! (r->parsed_objects)->obj_hash) {
    return ((struct object *)((void *)0));
  }
  i = hash_obj___0(oid, (unsigned int )(r->parsed_objects)->obj_hash_size);
  first = i;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    obj = *((r->parsed_objects)->obj_hash + i);
    if (! ((unsigned long )obj != (unsigned long )((void *)0))) {
      goto while_break;
    }
    tmp = oideq(oid, (struct object_id  const  *)(& obj->oid));
    if (tmp) {
      goto while_break;
    }
    i ++;
    if (i == (unsigned int )(r->parsed_objects)->obj_hash_size) {
      i = 0U;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (obj) {
    if (i != first) {
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        _swap_a_ptr = (void *)((r->parsed_objects)->obj_hash + i);
        _swap_b_ptr = (void *)((r->parsed_objects)->obj_hash + first);
        memcpy((void *)(_swap_buffer), (void const   *)_swap_a_ptr, sizeof(*((r->parsed_objects)->obj_hash + i)));
        memcpy(_swap_a_ptr, (void const   *)_swap_b_ptr, sizeof(*((r->parsed_objects)->obj_hash + i)) + (sizeof(char [1]) - 1UL));
        memcpy(_swap_b_ptr, (void const   *)(_swap_buffer), sizeof(*((r->parsed_objects)->obj_hash + i)));
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
    }
  }
  return (obj);
}
}
static void grow_object_hash(struct repository *r )
{
  int i ;
  int new_hash_size ;
  int tmp ;
  struct object **new_hash ;
  void *tmp___0 ;
  struct object *obj ;

  {
  if ((r->parsed_objects)->obj_hash_size < 32) {
    tmp = 32;
  } else {
    tmp = 2 * (r->parsed_objects)->obj_hash_size;
  }
  new_hash_size = tmp;
  tmp___0 = xcalloc((size_t )new_hash_size, sizeof(*new_hash));
  new_hash = (struct object **)tmp___0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (r->parsed_objects)->obj_hash_size)) {
      goto while_break;
    }
    obj = *((r->parsed_objects)->obj_hash + i);
    if (! obj) {
      goto __Cont;
    }
    insert_obj_hash(obj, new_hash, (unsigned int )new_hash_size);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)(r->parsed_objects)->obj_hash);
  (r->parsed_objects)->obj_hash = new_hash;
  (r->parsed_objects)->obj_hash_size = new_hash_size;
  return;
}
}
void *create_object(struct repository *r , struct object_id  const  *oid , void *o )
{
  struct object *obj ;

  {
  obj = (struct object *)o;
  obj->parsed = 0U;
  obj->flags = 0U;
  oidcpy(& obj->oid, oid);
  if ((r->parsed_objects)->obj_hash_size - 1 <= (r->parsed_objects)->nr_objs * 2) {
    grow_object_hash(r);
  }
  insert_obj_hash(obj, (r->parsed_objects)->obj_hash, (unsigned int )(r->parsed_objects)->obj_hash_size);
  ((r->parsed_objects)->nr_objs) ++;
  return ((void *)obj);
}
}
void *object_as_type(struct object *obj , enum object_type type___0 , int quiet___7 )
{
  char const   *tmp ;
  char const   *tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  if (obj->type == (unsigned int )type___0) {
    return ((void *)obj);
  } else
  if (obj->type == 0U) {
    if ((int )type___0 == 1) {
      init_commit_node((struct commit *)obj);
    } else {
      obj->type = (unsigned int )type___0;
    }
    return ((void *)obj);
  } else {
    if (! quiet___7) {
      tmp = type_name((unsigned int )type___0);
      tmp___0 = type_name(obj->type);
      tmp___1 = oid_to_hex((struct object_id  const  *)(& obj->oid));
      tmp___2 = _((char const   *)"object %s is a %s, not a %s");
      error((char const   *)tmp___2, tmp___1, tmp___0, tmp);
      const_error();
    }
    return ((void *)0);
  }
}
}
struct object *lookup_unknown_object(struct repository *r , struct object_id  const  *oid )
{
  struct object *obj ;
  struct object *tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  tmp = lookup_object(r, oid);
  obj = tmp;
  if (! obj) {
    tmp___0 = alloc_object_node(r);
    tmp___1 = create_object(r, oid, tmp___0);
    obj = (struct object *)tmp___1;
  }
  return (obj);
}
}
struct object *lookup_object_by_type(struct repository *r , struct object_id  const  *oid ,
                                     enum object_type type___0 )
{
  struct commit *tmp ;
  struct tree *tmp___0 ;
  struct tag *tmp___1 ;
  struct blob *tmp___2 ;

  {
  {
  if ((int )type___0 == 1) {
    goto case_1;
  }
  if ((int )type___0 == 2) {
    goto case_2;
  }
  if ((int )type___0 == 4) {
    goto case_4;
  }
  if ((int )type___0 == 3) {
    goto case_3;
  }
  goto switch_default;
  case_1: /* CIL Label */
  tmp = lookup_commit(r, oid);
  return ((struct object *)tmp);
  case_2: /* CIL Label */
  tmp___0 = lookup_tree(r, oid);
  return ((struct object *)tmp___0);
  case_4: /* CIL Label */
  tmp___1 = lookup_tag(r, oid);
  return ((struct object *)tmp___1);
  case_3: /* CIL Label */
  tmp___2 = lookup_blob(r, oid);
  return ((struct object *)tmp___2);
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"object.c", 202, (char const   *)"unknown object type %d",
         (int )type___0);
  switch_break: /* CIL Label */ ;
  }
}
}
struct object *parse_object_buffer(struct repository *r , struct object_id  const  *oid ,
                                   enum object_type type___0 , unsigned long size ,
                                   void *buffer___5 , int *eaten_p )
{
  struct object *obj ;
  struct blob *blob ;
  struct blob *tmp ;
  int tmp___0 ;
  struct tree *tree ;
  struct tree *tmp___1 ;
  int tmp___2 ;
  struct commit *commit ;
  struct commit *tmp___3 ;
  int tmp___4 ;
  void const   *tmp___5 ;
  struct tag *tag ;
  struct tag *tmp___6 ;
  int tmp___7 ;
  char *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;

  {
  *eaten_p = 0;
  obj = (struct object *)((void *)0);
  if ((int )type___0 == 3) {
    tmp = lookup_blob(r, oid);
    blob = tmp;
    if (blob) {
      tmp___0 = parse_blob_buffer(blob, buffer___5, size);
      if (tmp___0) {
        return ((struct object *)((void *)0));
      }
      obj = & blob->object;
    }
  } else
  if ((int )type___0 == 2) {
    tmp___1 = lookup_tree(r, oid);
    tree = tmp___1;
    if (tree) {
      obj = & tree->object;
      if (! tree->buffer) {
        tree->object.parsed = 0U;
      }
      if (! tree->object.parsed) {
        tmp___2 = parse_tree_buffer(tree, buffer___5, size);
        if (tmp___2) {
          return ((struct object *)((void *)0));
        }
        *eaten_p = 1;
      }
    }
  } else
  if ((int )type___0 == 1) {
    tmp___3 = lookup_commit(r, oid);
    commit = tmp___3;
    if (commit) {
      tmp___4 = parse_commit_buffer(r, commit, (void const   *)buffer___5, size, 1);
      if (tmp___4) {
        return ((struct object *)((void *)0));
      }
      tmp___5 = get_cached_commit_buffer(r, (struct commit  const  *)commit, (unsigned long *)((void *)0));
      if (! tmp___5) {
        set_commit_buffer(r, commit, buffer___5, size);
        *eaten_p = 1;
      }
      obj = & commit->object;
    }
  } else
  if ((int )type___0 == 4) {
    tmp___6 = lookup_tag(r, oid);
    tag = tmp___6;
    if (tag) {
      tmp___7 = parse_tag_buffer(r, tag, (void const   *)buffer___5, size);
      if (tmp___7) {
        return ((struct object *)((void *)0));
      }
      obj = & tag->object;
    }
  } else {
    tmp___8 = oid_to_hex(oid);
    tmp___9 = _((char const   *)"object %s has unknown type id %d");
    warning((char const   *)tmp___9, tmp___8, (int )type___0);
    obj = (struct object *)((void *)0);
  }
  return (obj);
}
}
struct object *parse_object_or_die(struct object_id  const  *oid , char const   *name___0 )
{
  struct object *o ;
  struct object *tmp ;
  char *tmp___0 ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  tmp = parse_object(the_repository, oid);
  o = tmp;
  if (o) {
    return (o);
  }
  if (name___0) {
    tmp___1 = name___0;
  } else {
    tmp___0 = oid_to_hex(oid);
    tmp___1 = (char const   *)tmp___0;
  }
  tmp___2 = _((char const   *)"unable to parse object: %s");
  die((char const   *)tmp___2, tmp___1);
}
}
struct object *parse_object(struct repository *r , struct object_id  const  *oid )
{
  unsigned long size ;
  enum object_type type___0 ;
  int eaten ;
  struct object_id  const  *repl ;
  struct object_id  const  *tmp ;
  void *buffer___5 ;
  struct object *obj ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  struct blob *tmp___3 ;
  struct object *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const   *tmp___10 ;
  int tmp___11 ;

  {
  tmp = lookup_replace_object(r, oid);
  repl = tmp;
  obj = lookup_object(r, oid);
  if (obj) {
    if (obj->parsed) {
      return (obj);
    }
  }
  if (obj) {
    if (obj->type == 3U) {
      tmp___5 = repo_has_object_file(r, oid);
      if (tmp___5) {
        goto _L;
      } else {
        goto _L___1;
      }
    } else {
      goto _L___1;
    }
  } else
  _L___1: /* CIL Label */
  _L___0: /* CIL Label */
  if (! obj) {
    tmp___6 = repo_has_object_file(r, oid);
    if (tmp___6) {
      tmp___7 = oid_object_info(r, oid, (unsigned long *)((void *)0));
      if (tmp___7 == 3) {
        _L: /* CIL Label */
        tmp___2 = check_object_signature(r, repl, (void *)0, 0UL, (char const   *)((void *)0),
                                         (struct object_id *)((void *)0));
        if (tmp___2 < 0) {
          tmp___0 = oid_to_hex(oid);
          tmp___1 = _((char const   *)"hash mismatch %s");
          error((char const   *)tmp___1, tmp___0);
          const_error();
          return ((struct object *)((void *)0));
        }
        tmp___3 = lookup_blob(r, oid);
        parse_blob_buffer(tmp___3, (void *)0, 0UL);
        tmp___4 = lookup_object(r, oid);
        return (tmp___4);
      }
    }
  }
  buffer___5 = repo_read_object_file(r, oid, & type___0, & size);
  if (buffer___5) {
    tmp___10 = type_name((unsigned int )type___0);
    tmp___11 = check_object_signature(r, repl, buffer___5, size, tmp___10, (struct object_id *)((void *)0));
    if (tmp___11 < 0) {
      free(buffer___5);
      tmp___8 = oid_to_hex(repl);
      tmp___9 = _((char const   *)"hash mismatch %s");
      error((char const   *)tmp___9, tmp___8);
      const_error();
      return ((struct object *)((void *)0));
    }
    obj = parse_object_buffer(r, oid, type___0, size, buffer___5, & eaten);
    if (! eaten) {
      free(buffer___5);
    }
    return (obj);
  }
  return ((struct object *)((void *)0));
}
}
struct object_list *object_list_insert(struct object *item___0 , struct object_list **list_p )
{
  struct object_list *new_list ;
  void *tmp ;

  {
  tmp = xmalloc(sizeof(struct object_list ));
  new_list = (struct object_list *)tmp;
  new_list->item = item___0;
  new_list->next = *list_p;
  *list_p = new_list;
  return (new_list);
}
}
int object_list_contains(struct object_list *list___3 , struct object *obj )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    if ((unsigned long )list___3->item == (unsigned long )obj) {
      return (1);
    }
    list___3 = list___3->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
void object_list_free(struct object_list **list___3 )
{
  struct object_list *p___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *list___3) {
      goto while_break;
    }
    p___0 = *list___3;
    *list___3 = p___0->next;
    free((void *)p___0);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static char object_array_slopbuf[1]  ;
void add_object_array_with_path(struct object *obj , char const   *name___0 , struct object_array *array ,
                                unsigned int mode___1 , char const   *path___6 )
{
  unsigned int nr___0 ;
  unsigned int alloc___0 ;
  struct object_array_entry *objects___0 ;
  struct object_array_entry *entry ;
  size_t tmp ;
  void *tmp___0 ;

  {
  nr___0 = array->nr;
  alloc___0 = array->alloc;
  objects___0 = array->objects;
  if (nr___0 >= alloc___0) {
    alloc___0 = (alloc___0 + 32U) * 2U;
    tmp = st_mult(sizeof(*objects___0), (size_t )alloc___0);
    tmp___0 = xrealloc((void *)objects___0, tmp);
    objects___0 = (struct object_array_entry *)tmp___0;
    array->alloc = alloc___0;
    array->objects = objects___0;
  }
  entry = objects___0 + nr___0;
  entry->item = obj;
  if (! name___0) {
    entry->name = (char *)((void *)0);
  } else
  if (! *name___0) {
    entry->name = object_array_slopbuf;
  } else {
    entry->name = xstrdup(name___0);
  }
  entry->mode = mode___1;
  if (path___6) {
    entry->path = xstrdup(path___6);
  } else {
    entry->path = (char *)((void *)0);
  }
  nr___0 ++;
  array->nr = nr___0;
  return;
}
}
void add_object_array(struct object *obj , char const   *name___0 , struct object_array *array )
{


  {
  add_object_array_with_path(obj, name___0, array, 12288U, (char const   *)((void *)0));
  return;
}
}
static void object_array_release_entry(struct object_array_entry *ent )
{


  {
  if ((unsigned long )ent->name != (unsigned long )(object_array_slopbuf)) {
    free((void *)ent->name);
  }
  free((void *)ent->path);
  return;
}
}
struct object *object_array_pop(struct object_array *array )
{
  struct object *ret___67 ;

  {
  if (! array->nr) {
    return ((struct object *)((void *)0));
  }
  ret___67 = (array->objects + (array->nr - 1U))->item;
  object_array_release_entry(array->objects + (array->nr - 1U));
  (array->nr) --;
  return (ret___67);
}
}
void object_array_filter(struct object_array *array , int (*want)(struct object_array_entry * ,
                                                                  void * ) , void *cb_data )
{
  unsigned int nr___0 ;
  unsigned int src ;
  unsigned int dst ;
  struct object_array_entry *objects___0 ;
  int tmp ;

  {
  nr___0 = array->nr;
  objects___0 = array->objects;
  dst = 0U;
  src = dst;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (src < nr___0)) {
      goto while_break;
    }
    tmp = (*want)(objects___0 + src, cb_data);
    if (tmp) {
      if (src != dst) {
        *(objects___0 + dst) = *(objects___0 + src);
      }
      dst ++;
    } else {
      object_array_release_entry(objects___0 + src);
    }
    src ++;
  }
  while_break: /* CIL Label */ ;
  }
  array->nr = dst;
  return;
}
}
void object_array_clear(struct object_array *array )
{
  int i ;
  unsigned int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < array->nr)) {
      goto while_break;
    }
    object_array_release_entry(array->objects + i);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)array->objects);
    array->objects = (struct object_array_entry *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp = 0U;
  array->alloc = tmp;
  array->nr = tmp;
  return;
}
}
static int contains_object(struct object_array *array , struct object  const  *item___0 ,
                           char const   *name___0 )
{
  unsigned int nr___0 ;
  unsigned int i ;
  struct object_array_entry *object ;
  int tmp ;

  {
  nr___0 = array->nr;
  object = array->objects;
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break;
    }
    if ((unsigned long )item___0 == (unsigned long )object->item) {
      tmp = strcmp((char const   *)object->name, name___0);
      if (! tmp) {
        return (1);
      }
    }
    i ++;
    object ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
void object_array_remove_duplicates(struct object_array *array )
{
  unsigned int nr___0 ;
  unsigned int src ;
  struct object_array_entry *objects___0 ;
  int tmp ;

  {
  nr___0 = array->nr;
  objects___0 = array->objects;
  array->nr = 0U;
  src = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (src < nr___0)) {
      goto while_break;
    }
    tmp = contains_object(array, (struct object  const  *)(objects___0 + src)->item,
                          (char const   *)(objects___0 + src)->name);
    if (tmp) {
      object_array_release_entry(objects___0 + src);
    } else {
      if (src != array->nr) {
        *(objects___0 + array->nr) = *(objects___0 + src);
      }
      (array->nr) ++;
    }
    src ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void clear_object_flags(unsigned int flags___0 )
{
  int i ;
  struct object *obj ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (the_repository->parsed_objects)->obj_hash_size)) {
      goto while_break;
    }
    obj = *((the_repository->parsed_objects)->obj_hash + i);
    if (obj) {
      obj->flags &= ~ flags___0;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void repo_clear_commit_marks(struct repository *r , unsigned int flags___0 )
{
  int i ;
  struct object *obj ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (r->parsed_objects)->obj_hash_size)) {
      goto while_break;
    }
    obj = *((r->parsed_objects)->obj_hash + i);
    if (obj) {
      if (obj->type == 1U) {
        obj->flags &= ~ flags___0;
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
struct parsed_object_pool *parsed_object_pool_new(void)
{
  struct parsed_object_pool *o ;
  void *tmp ;
  void *tmp___0 ;

  {
  tmp = xmalloc(sizeof(*o));
  o = (struct parsed_object_pool *)tmp;
  memset((void *)o, 0, sizeof(*o));
  o->blob_state = allocate_alloc_state();
  o->tree_state = allocate_alloc_state();
  o->commit_state = allocate_alloc_state();
  o->tag_state = allocate_alloc_state();
  o->object_state = allocate_alloc_state();
  o->is_shallow = -1;
  tmp___0 = xcalloc((size_t )1, sizeof(*(o->shallow_stat)));
  o->shallow_stat = (struct stat_validity *)tmp___0;
  o->buffer_slab = allocate_commit_buffer_slab();
  return (o);
}
}
struct raw_object_store *raw_object_store_new(void)
{
  struct raw_object_store *o ;
  void *tmp ;
  struct list_head *tmp___0 ;

  {
  tmp = xmalloc(sizeof(*o));
  o = (struct raw_object_store *)tmp;
  memset((void *)o, 0, sizeof(*o));
  tmp___0 = & o->packed_git_mru;
  o->packed_git_mru.prev = tmp___0;
  o->packed_git_mru.next = tmp___0;
  hashmap_init(& o->pack_map, & pack_map_entry_cmp, (void const   *)((void *)0), (size_t )0);
  pthread_mutex_init(& o->replace_mutex, (pthread_mutexattr_t const   *)((void *)0));
  return (o);
}
}
void free_object_directory(struct object_directory *odb )
{


  {
  free((void *)odb->path);
  odb_clear_loose_cache(odb);
  free((void *)odb);
  return;
}
}
static void free_object_directories(struct raw_object_store *o )
{
  struct object_directory *next___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! o->odb) {
      goto while_break;
    }
    next___2 = (o->odb)->next;
    free_object_directory(o->odb);
    o->odb = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  kh_destroy_odb_path_map(o->odb_by_path);
  o->odb_by_path = (kh_odb_path_map_t *)((void *)0);
  return;
}
}
void raw_object_store_clear(struct raw_object_store *o )
{
  struct list_head *tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)o->alternate_db);
    o->alternate_db = (char *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  oidmap_free(o->replace_map, 1);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)o->replace_map);
    o->replace_map = (struct oidmap *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  pthread_mutex_destroy(& o->replace_mutex);
  free_commit_graph(o->commit_graph);
  o->commit_graph = (struct commit_graph *)((void *)0);
  o->commit_graph_attempted = 0U;
  free_object_directories(o);
  o->odb_tail = (struct object_directory **)((void *)0);
  o->loaded_alternates = 0;
  tmp = & o->packed_git_mru;
  o->packed_git_mru.prev = tmp;
  o->packed_git_mru.next = tmp;
  close_object_store(o);
  o->packed_git = (struct packed_git *)((void *)0);
  hashmap_clear_(& o->pack_map, (ssize_t )-1);
  return;
}
}
void parsed_object_pool_clear(struct parsed_object_pool *o )
{
  unsigned int i ;
  struct object *obj ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (unsigned int )o->obj_hash_size)) {
      goto while_break;
    }
    obj = *(o->obj_hash + i);
    if (! obj) {
      goto __Cont;
    }
    if (obj->type == 2U) {
      free_tree_buffer((struct tree *)obj);
    } else
    if (obj->type == 1U) {
      release_commit_memory(o, (struct commit *)obj);
    } else
    if (obj->type == 4U) {
      release_tag_memory((struct tag *)obj);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)o->obj_hash);
    o->obj_hash = (struct object **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  o->obj_hash_size = 0;
  free_commit_buffer_slab(o->buffer_slab);
  o->buffer_slab = (struct buffer_slab *)((void *)0);
  clear_alloc_state(o->blob_state);
  clear_alloc_state(o->tree_state);
  clear_alloc_state(o->commit_state);
  clear_alloc_state(o->tag_state);
  clear_alloc_state(o->object_state);
  stat_validity_clear(o->shallow_stat);
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    free((void *)o->blob_state);
    o->blob_state = (struct alloc_state *)((void *)0);
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    free((void *)o->tree_state);
    o->tree_state = (struct alloc_state *)((void *)0);
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    free((void *)o->commit_state);
    o->commit_state = (struct alloc_state *)((void *)0);
    goto while_break___3;
  }
  while_break___3: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    free((void *)o->tag_state);
    o->tag_state = (struct alloc_state *)((void *)0);
    goto while_break___4;
  }
  while_break___4: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___5: /* CIL Label */ ;
    free((void *)o->object_state);
    o->object_state = (struct alloc_state *)((void *)0);
    goto while_break___5;
  }
  while_break___5: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___6: /* CIL Label */ ;
    free((void *)o->shallow_stat);
    o->shallow_stat = (struct stat_validity *)((void *)0);
    goto while_break___6;
  }
  while_break___6: /* CIL Label */ ;
  }
  return;
}
}
void oid_array_append(struct oid_array *array , struct object_id  const  *oid )
{
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (array->nr + 1UL > array->alloc) {
      if (((array->alloc + 16UL) * 3UL) / 2UL < array->nr + 1UL) {
        array->alloc = array->nr + 1UL;
      } else {
        array->alloc = ((array->alloc + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*(array->oid)), array->alloc);
      tmp___0 = xrealloc((void *)array->oid, tmp);
      array->oid = (struct object_id *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = array->nr;
  (array->nr) ++;
  oidcpy(array->oid + tmp___1, oid);
  array->sorted = 0;
  return;
}
}
static int void_hashcmp(void const   *a , void const   *b___0 )
{
  int tmp ;

  {
  tmp = oidcmp((struct object_id  const  *)a, (struct object_id  const  *)b___0);
  return (tmp);
}
}
void oid_array_sort(struct oid_array *array )
{


  {
  if (array->sorted) {
    return;
  }
  sane_qsort((void *)array->oid, array->nr, sizeof(*(array->oid)), & void_hashcmp);
  array->sorted = 1;
  return;
}
}
static struct object_id  const  *oid_access(size_t index___2 , void const   *table )
{
  struct object_id  const  *array ;

  {
  array = (struct object_id  const  *)table;
  return (array + index___2);
}
}
int oid_array_lookup(struct oid_array *array , struct object_id  const  *oid )
{
  int tmp ;

  {
  oid_array_sort(array);
  tmp = oid_pos(oid, (void const   *)array->oid, array->nr, & oid_access);
  return (tmp);
}
}
void oid_array_clear(struct oid_array *array )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)array->oid);
    array->oid = (struct object_id *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  array->nr = (size_t )0;
  array->alloc = (size_t )0;
  array->sorted = 0;
  return;
}
}
int oid_array_for_each(struct oid_array *array , int (*fn)(struct object_id  const  *oid ,
                                                           void *data ) , void *data )
{
  size_t i ;
  int ret___67 ;
  int tmp ;

  {
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < array->nr)) {
      goto while_break;
    }
    tmp = (*fn)((struct object_id  const  *)(array->oid + i), data);
    ret___67 = tmp;
    if (ret___67) {
      return (ret___67);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int oid_array_for_each_unique(struct oid_array *array , int (*fn)(struct object_id  const  *oid ,
                                                                  void *data ) , void *data )
{
  size_t i ;
  int ret___67 ;
  int tmp ;

  {
  oid_array_sort(array);
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < array->nr)) {
      goto while_break;
    }
    tmp = (*fn)((struct object_id  const  *)(array->oid + i), data);
    ret___67 = tmp;
    if (ret___67) {
      return (ret___67);
    }
    i = oid_array_next_unique(array, i);
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
void oid_array_filter(struct oid_array *array , int (*want)(struct object_id  const  *oid ,
                                                            void *data ) , void *cb_data )
{
  size_t nr___0 ;
  size_t src ;
  size_t dst ;
  struct object_id *oids ;
  int tmp ;

  {
  nr___0 = array->nr;
  oids = array->oid;
  dst = (size_t )0;
  src = dst;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (src < nr___0)) {
      goto while_break;
    }
    tmp = (*want)((struct object_id  const  *)(oids + src), cb_data);
    if (tmp) {
      if (src != dst) {
        oidcpy(oids + dst, (struct object_id  const  *)(oids + src));
      }
      dst ++;
    }
    src ++;
  }
  while_break: /* CIL Label */ ;
  }
  array->nr = dst;
  return;
}
}
static int oidmap_neq(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *e1 ,
                      struct hashmap_entry  const  *e2 , void const   *keydata )
{
  struct oidmap_entry  const  *a ;
  struct oidmap_entry  const  *b___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  a = (struct oidmap_entry  const  *)((char *)e1 - (unsigned long )(& ((struct oidmap_entry  const  *)0)->internal_entry));
  b___0 = (struct oidmap_entry  const  *)((char *)e2 - (unsigned long )(& ((struct oidmap_entry  const  *)0)->internal_entry));
  if (keydata) {
    tmp = oideq((struct object_id  const  *)(& a->oid), (struct object_id  const  *)keydata);
    if (tmp) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
    return (tmp___0);
  }
  tmp___1 = oideq((struct object_id  const  *)(& a->oid), (struct object_id  const  *)(& b___0->oid));
  if (tmp___1) {
    tmp___2 = 0;
  } else {
    tmp___2 = 1;
  }
  return (tmp___2);
}
}
void oidmap_init(struct oidmap *map___0 , size_t initial_size )
{


  {
  hashmap_init(& map___0->map, & oidmap_neq, (void const   *)((void *)0), initial_size);
  return;
}
}
void oidmap_free(struct oidmap *map___0 , int free_entries )
{
  int tmp ;

  {
  if (! map___0) {
    return;
  }
  if (free_entries) {
    tmp = 0;
  } else {
    tmp = -1;
  }
  hashmap_clear_(& map___0->map, (ssize_t )tmp);
  return;
}
}
void *oidmap_get(struct oidmap  const  *map___0 , struct object_id  const  *key___1 )
{
  unsigned int tmp ;
  struct hashmap_entry *tmp___0 ;

  {
  if (! map___0->map.cmpfn) {
    return ((void *)0);
  }
  tmp = oidhash(key___1);
  tmp___0 = hashmap_get_from_hash((struct hashmap  const  *)(& map___0->map), tmp,
                                  (void const   *)key___1);
  return ((void *)tmp___0);
}
}
void *oidmap_remove(struct oidmap *map___0 , struct object_id  const  *key___1 )
{
  struct hashmap_entry entry ;
  unsigned int tmp ;
  struct hashmap_entry *tmp___0 ;

  {
  if (! map___0->map.cmpfn) {
    oidmap_init(map___0, (size_t )0);
  }
  tmp = oidhash(key___1);
  hashmap_entry_init(& entry, tmp);
  tmp___0 = hashmap_remove(& map___0->map, (struct hashmap_entry  const  *)(& entry),
                           (void const   *)key___1);
  return ((void *)tmp___0);
}
}
void *oidmap_put(struct oidmap *map___0 , void *entry )
{
  struct oidmap_entry *to_put ;
  unsigned int tmp ;
  struct hashmap_entry *tmp___0 ;

  {
  to_put = (struct oidmap_entry *)entry;
  if (! map___0->map.cmpfn) {
    oidmap_init(map___0, (size_t )0);
  }
  tmp = oidhash((struct object_id  const  *)(& to_put->oid));
  hashmap_entry_init(& to_put->internal_entry, tmp);
  tmp___0 = hashmap_put(& map___0->map, & to_put->internal_entry);
  return ((void *)tmp___0);
}
}
static double const   __ac_HASH_UPPER___58  =    (double const   )0.77;
__inline static void kh_resize_oid_set___58(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___58(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___58 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___58 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___58(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___58(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___58(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___58(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___58(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___58(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___58 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___58 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___58(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___58(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___58(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___58(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___58(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___58(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___58 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___58 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___58(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___58(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___58(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___58(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
void oidset_init(struct oidset *set , size_t initial_size )
{


  {
  memset((void *)(& set->set), 0, sizeof(set->set));
  if (initial_size) {
    kh_resize_oid_set___58(& set->set, (khint_t )initial_size);
  }
  return;
}
}
int oidset_contains(struct oidset  const  *set , struct object_id  const  *oid )
{
  khiter_t pos ;
  khint_t tmp ;

  {
  tmp = kh_get_oid_set((kh_oid_set_t const   *)(& set->set), (struct object_id )*oid);
  pos = tmp;
  return (pos != (khiter_t )set->set.n_buckets);
}
}
int oidset_insert(struct oidset *set , struct object_id  const  *oid )
{
  int added ;

  {
  kh_put_oid_set___58(& set->set, (struct object_id )*oid, & added);
  return (! added);
}
}
int oidset_remove(struct oidset *set , struct object_id  const  *oid )
{
  khiter_t pos ;
  khint_t tmp ;

  {
  tmp = kh_get_oid_set((kh_oid_set_t const   *)(& set->set), (struct object_id )*oid);
  pos = tmp;
  if (pos == set->set.n_buckets) {
    return (0);
  }
  kh_del_oid_set(& set->set, pos);
  return (1);
}
}
void oidset_clear(struct oidset *set )
{


  {
  kh_release_oid_set(& set->set);
  oidset_init(set, (size_t )0);
  return;
}
}
void oidset_parse_file(struct oidset *set , char const   *path___6 )
{


  {
  oidset_parse_file_carefully(set, path___6, (int (*)(struct object_id * , void * ))((void *)0),
                              (void *)0);
  return;
}
}
void oidset_parse_file_carefully(struct oidset *set , char const   *path___6 , int (*fn)(struct object_id * ,
                                                                                         void * ) ,
                                 void *cbdata )
{
  FILE *fp ;
  struct strbuf sb___6 ;
  struct object_id oid ;
  char const   *p___0 ;
  char const   *name___0 ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  fp = git_fopen(path___6, (char const   *)"r");
  if (! fp) {
    die((char const   *)"could not open object name list: %s", path___6);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = strbuf_getline(& sb___6, fp);
    if (tmp___2) {
      goto while_break;
    }
    tmp = strchr((char const   *)sb___6.buf, '#');
    name___0 = (char const   *)tmp;
    if (name___0) {
      strbuf_setlen(& sb___6, (size_t )(name___0 - (char const   *)sb___6.buf));
    }
    strbuf_trim(& sb___6);
    if (! sb___6.len) {
      goto while_continue;
    }
    tmp___0 = parse_oid_hex((char const   *)sb___6.buf, & oid, & p___0);
    if (tmp___0) {
      die((char const   *)"invalid object name: %s", sb___6.buf);
    } else
    if ((int const   )*p___0 != 0) {
      die((char const   *)"invalid object name: %s", sb___6.buf);
    }
    if (fn) {
      tmp___1 = (*fn)(& oid, cbdata);
      if (tmp___1) {
        goto while_continue;
      }
    }
    oidset_insert(set, (struct object_id  const  *)(& oid));
  }
  while_break: /* CIL Label */ ;
  }
  tmp___3 = ferror(fp);
  if (tmp___3) {
    die_errno((char const   *)"Could not read \'%s\'", path___6);
  }
  fclose(fp);
  strbuf_release(& sb___6);
  return;
}
}
void oidtree_init(struct oidtree *ot )
{


  {
  cb_init(& ot->tree);
  mem_pool_init(& ot->mem_pool, (size_t )0);
  return;
}
}
void oidtree_clear(struct oidtree *ot )
{


  {
  if (ot) {
    mem_pool_discard(& ot->mem_pool, 0);
    oidtree_init(ot);
  }
  return;
}
}
void oidtree_insert(struct oidtree *ot , struct object_id  const  *oid )
{
  struct cb_node *on ;
  struct object_id k ;
  void *tmp ;

  {
  if (! oid->algo) {
    BUG_fl((char const   *)"oidtree.c", 37, (char const   *)"oidtree_insert requires oid->algo");
  }
  tmp = mem_pool_alloc(& ot->mem_pool, sizeof(*on) + sizeof(*oid));
  on = (struct cb_node *)tmp;
  oidcpy_with_padding(& k, oid);
  memcpy((void *)(on->k), (void const   *)(& k), sizeof(k));
  cb_insert(& ot->tree, on, sizeof(*oid));
  return;
}
}
int oidtree_contains(struct oidtree *ot , struct object_id  const  *oid )
{
  struct object_id k ;
  size_t klen ;
  struct cb_node *tmp ;
  int tmp___0 ;
  struct cb_node *tmp___1 ;

  {
  klen = sizeof(k);
  oidcpy_with_padding(& k, oid);
  if (oid->algo == 0) {
    klen -= sizeof(oid->algo);
  }
  klen += sizeof(char [1]) - 1UL;
  tmp___1 = cb_lookup(& ot->tree, (uint8_t const   *)(& k), klen);
  if (tmp___1) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static enum cb_next iter(struct cb_node *n , void *arg )
{
  struct oidtree_iter_data *x ;
  struct object_id k ;
  enum cb_next tmp ;

  {
  x = (struct oidtree_iter_data *)arg;
  memcpy((void *)(& k), (void const   *)(n->k), sizeof(k));
  if (x->algo != 0) {
    if (x->algo != k.algo) {
      return ((enum cb_next )0);
    }
  }
  if (x->last_nibble_at) {
    if (((int )k.hash[*(x->last_nibble_at)] ^ (int )x->last_byte) & 0xf0) {
      return ((enum cb_next )0);
    }
  }
  tmp = (*(x->fn))((struct object_id  const  *)(& k), x->arg);
  return (tmp);
}
}
void oidtree_each(struct oidtree *ot , struct object_id  const  *oid , size_t oidhexsz ,
                  enum cb_next (*fn)(struct object_id  const  * , void *data ) , void *arg )
{
  size_t klen ;
  struct oidtree_iter_data x ;

  {
  klen = oidhexsz / 2UL;
  x.fn = (enum cb_next (*)(struct object_id  const  * , void *data ))0;
  x.arg = (void *)0;
  x.last_nibble_at = (size_t *)0;
  x.algo = 0;
  x.last_byte = (unsigned char)0;
  assert(oidhexsz <= 64UL);
  x.fn = fn;
  x.arg = arg;
  x.algo = (int )oid->algo;
  if (oidhexsz & 1UL) {
    x.last_byte = oid->hash[klen];
    x.last_nibble_at = & klen;
  }
  cb_each(& ot->tree, (uint8_t const   *)oid, klen, & iter, (void *)(& x));
  return;
}
}
static char const   BITMAP_IDX_SIGNATURE___1[4] ;
static double const   __ac_HASH_UPPER___59  =    (double const   )0.77;
__inline static void kh_resize_oid_set___59(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___59(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___59 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___59 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___59(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___59(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___59(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___59(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___59(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___59(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___59 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___59 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___59(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___59(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___59(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___59(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___59(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___59(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___59 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___59 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___59(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___59(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___59(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___59(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___43(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___43(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___59 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___59 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___43(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___43(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___43(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___43(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   BITMAP_IDX_SIGNATURE___1[4]  = {      (char const   )'B',      (char const   )'I',      (char const   )'T',      (char const   )'M'};
static void init_contains_cache_with_stride___9(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___9(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___9(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___9(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___9(s___1, 1U);
  return;
}
}
static void clear_contains_cache___9(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___9(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___9(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___9(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___9(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___9(struct contains_cache *s___1 ,
                                                        struct commit  const  *c___0 ,
                                                        int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___9(struct contains_cache *s___1 ,
                                                        struct commit  const  *c___0 ,
                                                        int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___9(struct contains_cache *s___1 ,
                                                   struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___9(struct contains_cache *s___1 ,
                                                   struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___9(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___9(struct contains_cache *s___1 ,
                                                     struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___9(struct contains_cache *s___1 ,
                                                     struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___9(s___1, c___0, 0);
  return (tmp);
}
}
static struct bitmap_writer writer  ;
void bitmap_writer_show_progress(int show___5 )
{


  {
  writer.show_progress = show___5;
  return;
}
}
void bitmap_writer_build_type_index(struct packing_data *to_pack___0 , struct pack_idx_entry **index___2 ,
                                    uint32_t index_nr )
{
  uint32_t i ;
  size_t tmp ;
  void *tmp___0 ;
  struct object_entry *entry ;
  enum object_type real_type ;
  enum object_type tmp___1 ;
  int tmp___2 ;
  enum object_type tmp___3 ;
  char *tmp___4 ;

  {
  writer.commits = ewah_new();
  writer.trees = ewah_new();
  writer.blobs = ewah_new();
  writer.tags = ewah_new();
  tmp = st_mult(sizeof(*(to_pack___0->in_pack_pos)), (size_t )to_pack___0->nr_objects);
  tmp___0 = xmalloc(tmp);
  to_pack___0->in_pack_pos = (unsigned int *)tmp___0;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < index_nr)) {
      goto while_break;
    }
    entry = (struct object_entry *)*(index___2 + i);
    oe_set_in_pack_pos((struct packing_data  const  *)to_pack___0, (struct object_entry  const  *)entry,
                       i);
    tmp___1 = oe_type((struct object_entry  const  *)entry);
    {
    if ((int )tmp___1 == 4) {
      goto case_4;
    }
    if ((int )tmp___1 == 3) {
      goto case_4;
    }
    if ((int )tmp___1 == 2) {
      goto case_4;
    }
    if ((int )tmp___1 == 1) {
      goto case_4;
    }
    goto switch_default;
    case_4: /* CIL Label */
    case_3: /* CIL Label */
    case_2: /* CIL Label */
    case_1: /* CIL Label */
    real_type = oe_type((struct object_entry  const  *)entry);
    goto switch_break;
    switch_default: /* CIL Label */
    tmp___2 = oid_object_info(to_pack___0->repo, (struct object_id  const  *)(& entry->idx.oid),
                              (unsigned long *)((void *)0));
    real_type = (enum object_type )tmp___2;
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    {
    if ((int )real_type == 1) {
      goto case_1___0;
    }
    if ((int )real_type == 2) {
      goto case_2___0;
    }
    if ((int )real_type == 3) {
      goto case_3___0;
    }
    if ((int )real_type == 4) {
      goto case_4___0;
    }
    goto switch_default___0;
    case_1___0: /* CIL Label */
    ewah_set(writer.commits, (size_t )i);
    goto switch_break___0;
    case_2___0: /* CIL Label */
    ewah_set(writer.trees, (size_t )i);
    goto switch_break___0;
    case_3___0: /* CIL Label */
    ewah_set(writer.blobs, (size_t )i);
    goto switch_break___0;
    case_4___0: /* CIL Label */
    ewah_set(writer.tags, (size_t )i);
    goto switch_break___0;
    switch_default___0: /* CIL Label */
    tmp___3 = oe_type((struct object_entry  const  *)entry);
    tmp___4 = oid_to_hex((struct object_id  const  *)(& entry->idx.oid));
    die((char const   *)"Missing type information for %s (%d/%d)", tmp___4, (int )real_type,
        (int )tmp___3);
    switch_break___0: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
__inline static void push_bitmapped_commit(struct commit *commit )
{
  size_t tmp ;
  void *tmp___0 ;

  {
  if (writer.selected_nr >= writer.selected_alloc) {
    writer.selected_alloc = (writer.selected_alloc + 32U) * 2U;
    tmp = st_mult(sizeof(*(writer.selected)), (size_t )writer.selected_alloc);
    tmp___0 = xrealloc((void *)writer.selected, tmp);
    writer.selected = (struct bitmapped_commit *)tmp___0;
  }
  (writer.selected + writer.selected_nr)->commit = commit;
  (writer.selected + writer.selected_nr)->bitmap = (struct ewah_bitmap *)((void *)0);
  (writer.selected + writer.selected_nr)->flags = 0;
  (writer.selected_nr) ++;
  return;
}
}
static uint32_t find_object_pos(struct object_id  const  *oid , int *found )
{
  struct object_entry *entry ;
  struct object_entry *tmp ;
  char *tmp___0 ;
  unsigned int tmp___1 ;

  {
  tmp = packlist_find(writer.to_pack, oid);
  entry = tmp;
  if (! entry) {
    if (found) {
      *found = 0;
    }
    tmp___0 = oid_to_hex(oid);
    warning((char const   *)"Failed to write bitmap index. Packfile doesn\'t have full closure (object %s is missing)",
            tmp___0);
    return ((uint32_t )0);
  }
  if (found) {
    *found = 1;
  }
  tmp___1 = oe_in_pack_pos((struct packing_data  const  *)writer.to_pack, (struct object_entry  const  *)entry);
  return (tmp___1);
}
}
static void compute_xor_offsets(void) ;
static int const   MAX_XOR_OFFSET_SEARCH  =    (int const   )10;
static void compute_xor_offsets(void)
{
  int i ;
  int next___2 ;
  struct bitmapped_commit *stored ;
  int best_offset ;
  struct ewah_bitmap *best_bitmap ;
  struct ewah_bitmap *test_xor ;
  int curr ;

  {
  next___2 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )next___2 < writer.selected_nr)) {
      goto while_break;
    }
    stored = writer.selected + next___2;
    best_offset = 0;
    best_bitmap = stored->bitmap;
    i = 1;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i <= (int )MAX_XOR_OFFSET_SEARCH)) {
        goto while_break___0;
      }
      curr = next___2 - i;
      if (curr < 0) {
        goto while_break___0;
      }
      test_xor = ewah_pool_new();
      ewah_xor((writer.selected + curr)->bitmap, stored->bitmap, test_xor);
      if (test_xor->buffer_size < best_bitmap->buffer_size) {
        if ((unsigned long )best_bitmap != (unsigned long )stored->bitmap) {
          ewah_pool_free(best_bitmap);
        }
        best_bitmap = test_xor;
        best_offset = i;
      } else {
        ewah_pool_free(test_xor);
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    stored->xor_offset = best_offset;
    stored->write_as = best_bitmap;
    next___2 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void init_bb_data_with_stride(struct bb_data *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_bb_data_with_stride(struct bb_data *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(struct bb_commit ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (struct bb_commit **)((void *)0);
  return;
}
}
static void init_bb_data(struct bb_data *s___1 )  __attribute__((__unused__)) ;
static void init_bb_data(struct bb_data *s___1 )
{


  {
  init_bb_data_with_stride(s___1, 1U);
  return;
}
}
static void clear_bb_data(struct bb_data *s___1 )  __attribute__((__unused__)) ;
static void clear_bb_data(struct bb_data *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (struct bb_commit **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_bb_data(struct bb_data *s___1 , void (*free_fn)(struct bb_commit * ) )  __attribute__((__unused__)) ;
static void deep_clear_bb_data(struct bb_data *s___1 , void (*free_fn)(struct bb_commit * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_bb_data(s___1);
  return;
}
}
static struct bb_commit *bb_data_at_peek(struct bb_data *s___1 , struct commit  const  *c___0 ,
                                         int add_if_missing )  __attribute__((__unused__)) ;
static struct bb_commit *bb_data_at_peek(struct bb_data *s___1 , struct commit  const  *c___0 ,
                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((struct bb_commit *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (struct bb_commit **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (struct bb_commit *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((struct bb_commit *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (struct bb_commit *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static struct bb_commit *bb_data_at(struct bb_data *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct bb_commit *bb_data_at(struct bb_data *s___1 , struct commit  const  *c___0 )
{
  struct bb_commit *tmp ;

  {
  tmp = bb_data_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static struct bb_commit *bb_data_peek(struct bb_data *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct bb_commit *bb_data_peek(struct bb_data *s___1 , struct commit  const  *c___0 )
{
  struct bb_commit *tmp ;

  {
  tmp = bb_data_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
static void bitmap_builder_init(struct bitmap_builder *bb , struct bitmap_writer *writer___0 ,
                                struct bitmap_index *old_bitmap )
{
  struct rev_info revs ;
  struct commit *commit ;
  struct commit_list *reusable ;
  struct commit_list *r ;
  unsigned int i ;
  unsigned int num_maximal ;
  struct commit *c___0 ;
  struct bb_commit *ent ;
  struct bb_commit *tmp ;
  int tmp___0 ;
  struct commit_list *p___0 ;
  struct bb_commit *c_ent ;
  struct ewah_bitmap *tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;
  size_t tmp___4 ;
  struct bb_commit *p_ent ;
  struct bb_commit *tmp___5 ;
  int c_not_p ;
  int p_not_c ;
  struct commit_list *cc ;
  int tmp___6 ;
  size_t tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;

  {
  reusable = (struct commit_list *)((void *)0);
  num_maximal = 0U;
  memset((void *)bb, 0, sizeof(*bb));
  init_bb_data(& bb->data);
  reset_revision_walk();
  repo_init_revisions((writer___0->to_pack)->repo, & revs, (char const   *)((void *)0));
  revs.topo_order = 1U;
  revs.first_parent_only = 1U;
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < writer___0->selected_nr)) {
      goto while_break;
    }
    c___0 = (writer___0->selected + i)->commit;
    tmp = bb_data_at(& bb->data, (struct commit  const  *)c___0);
    ent = tmp;
    ent->selected = 1U;
    ent->maximal = 1U;
    ent->idx = i;
    ent->commit_mask = bitmap_new();
    bitmap_set(ent->commit_mask, (size_t )i);
    add_pending_object(& revs, & c___0->object, (char const   *)"");
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = prepare_revision_walk(& revs);
  if (tmp___0) {
    die((char const   *)"revision walk setup failed");
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    commit = get_revision(& revs);
    if (! commit) {
      goto while_break___0;
    }
    p___0 = commit->parents;
    parse_commit_or_die(commit);
    c_ent = bb_data_at(& bb->data, (struct commit  const  *)commit);
    if (! c_ent->commit_mask) {
      goto while_continue___0;
    }
    if (old_bitmap) {
      tmp___1 = bitmap_for_commit(old_bitmap, commit);
      if (tmp___1) {
        commit_list_insert(commit, & reusable);
        goto next;
      }
    }
    if (c_ent->maximal) {
      num_maximal ++;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (bb->commits_nr + 1UL > bb->commits_alloc) {
          if (((bb->commits_alloc + 16UL) * 3UL) / 2UL < bb->commits_nr + 1UL) {
            bb->commits_alloc = bb->commits_nr + 1UL;
          } else {
            bb->commits_alloc = ((bb->commits_alloc + 16UL) * 3UL) / 2UL;
          }
          tmp___2 = st_mult(sizeof(*(bb->commits)), bb->commits_alloc);
          tmp___3 = xrealloc((void *)bb->commits, tmp___2);
          bb->commits = (struct commit **)tmp___3;
        }
        goto while_break___1;
      }
      while_break___1: /* CIL Label */ ;
      }
      tmp___4 = bb->commits_nr;
      (bb->commits_nr) ++;
      *(bb->commits + tmp___4) = commit;
    }
    if (p___0) {
      tmp___5 = bb_data_at(& bb->data, (struct commit  const  *)p___0->item);
      p_ent = tmp___5;
      if (! p_ent->commit_mask) {
        p_ent->commit_mask = bitmap_new();
        c_not_p = 1;
        p_not_c = 0;
      } else {
        c_not_p = bitmap_is_subset(c_ent->commit_mask, p_ent->commit_mask);
        p_not_c = bitmap_is_subset(p_ent->commit_mask, c_ent->commit_mask);
      }
      if (! c_not_p) {
        goto while_continue___0;
      }
      bitmap_or(p_ent->commit_mask, (struct bitmap  const  *)c_ent->commit_mask);
      if (p_not_c) {
        p_ent->maximal = 1U;
      } else {
        p_ent->maximal = 0U;
        free_commit_list(p_ent->reverse_edges);
        p_ent->reverse_edges = (struct commit_list *)((void *)0);
      }
      if (c_ent->maximal) {
        commit_list_insert(commit, & p_ent->reverse_edges);
      } else {
        cc = c_ent->reverse_edges;
        {
        while (1) {
          while_continue___2: /* CIL Label */ ;
          if (! cc) {
            goto while_break___2;
          }
          tmp___6 = commit_list_contains(cc->item, p_ent->reverse_edges);
          if (! tmp___6) {
            commit_list_insert(cc->item, & p_ent->reverse_edges);
          }
          cc = cc->next;
        }
        while_break___2: /* CIL Label */ ;
        }
      }
    }
    next:
    bitmap_free(c_ent->commit_mask);
    c_ent->commit_mask = (struct bitmap *)((void *)0);
  }
  while_break___0: /* CIL Label */ ;
  }
  r = reusable;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! r) {
      goto while_break___3;
    }
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (bb->commits_nr + 1UL > bb->commits_alloc) {
        if (((bb->commits_alloc + 16UL) * 3UL) / 2UL < bb->commits_nr + 1UL) {
          bb->commits_alloc = bb->commits_nr + 1UL;
        } else {
          bb->commits_alloc = ((bb->commits_alloc + 16UL) * 3UL) / 2UL;
        }
        tmp___7 = st_mult(sizeof(*(bb->commits)), bb->commits_alloc);
        tmp___8 = xrealloc((void *)bb->commits, tmp___7);
        bb->commits = (struct commit **)tmp___8;
      }
      goto while_break___4;
    }
    while_break___4: /* CIL Label */ ;
    }
    tmp___9 = bb->commits_nr;
    (bb->commits_nr) ++;
    *(bb->commits + tmp___9) = r->item;
    r = r->next;
  }
  while_break___3: /* CIL Label */ ;
  }
  trace2_data_intmax_fl((char const   *)"pack-bitmap-write.c", 325, (char const   *)"pack-bitmap-write",
                        (struct repository  const  *)the_repository, (char const   *)"num_selected_commits",
                        (intmax_t )writer___0->selected_nr);
  trace2_data_intmax_fl((char const   *)"pack-bitmap-write.c", 327, (char const   *)"pack-bitmap-write",
                        (struct repository  const  *)the_repository, (char const   *)"num_maximal_commits",
                        (intmax_t )num_maximal);
  free_commit_list(reusable);
  return;
}
}
static void bitmap_builder_clear(struct bitmap_builder *bb )
{
  size_t tmp ;

  {
  clear_bb_data(& bb->data);
  free((void *)bb->commits);
  tmp = (size_t )0;
  bb->commits_alloc = tmp;
  bb->commits_nr = tmp;
  return;
}
}
static int fill_bitmap_tree(struct bitmap *bitmap , struct tree *tree )
{
  int found ;
  uint32_t pos ;
  struct tree_desc desc___0 ;
  struct name_entry entry ;
  int tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  enum object_type tmp___2 ;
  struct tree *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  pos = find_object_pos((struct object_id  const  *)(& tree->object.oid), & found);
  if (! found) {
    return (-1);
  }
  tmp = bitmap_get(bitmap, (size_t )pos);
  if (tmp) {
    return (0);
  }
  bitmap_set(bitmap, (size_t )pos);
  tmp___1 = parse_tree(tree);
  if (tmp___1 < 0) {
    tmp___0 = oid_to_hex((struct object_id  const  *)(& tree->object.oid));
    die((char const   *)"unable to load tree object %s", tmp___0);
  }
  init_tree_desc(& desc___0, (void const   *)tree->buffer, tree->size);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___5 = tree_entry(& desc___0, & entry);
    if (! tmp___5) {
      goto while_break;
    }
    tmp___2 = object_type(entry.mode);
    {
    if ((int )tmp___2 == 2) {
      goto case_2;
    }
    if ((int )tmp___2 == 3) {
      goto case_3;
    }
    goto switch_default;
    case_2: /* CIL Label */
    tmp___3 = lookup_tree(the_repository, (struct object_id  const  *)(& entry.oid));
    tmp___4 = fill_bitmap_tree(bitmap, tmp___3);
    if (tmp___4 < 0) {
      return (-1);
    }
    goto switch_break;
    case_3: /* CIL Label */
    pos = find_object_pos((struct object_id  const  *)(& entry.oid), & found);
    if (! found) {
      return (-1);
    }
    bitmap_set(bitmap, (size_t )pos);
    goto switch_break;
    switch_default: /* CIL Label */
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  free_tree_buffer(tree);
  return (0);
}
}
static int fill_bitmap_commit(struct bb_commit *ent , struct commit *commit , struct prio_queue *queue ,
                              struct prio_queue *tree_queue , struct bitmap_index *old_bitmap ,
                              uint32_t const   *mapping )
{
  int found ;
  uint32_t pos ;
  struct commit_list *p___0 ;
  struct commit *c___0 ;
  void *tmp ;
  struct ewah_bitmap *old ;
  struct ewah_bitmap *tmp___0 ;
  int tmp___1 ;
  struct tree *tmp___2 ;
  int tmp___3 ;
  void *tmp___4 ;
  int tmp___5 ;

  {
  if (! ent->bitmap) {
    ent->bitmap = bitmap_new();
  }
  prio_queue_put(queue, (void *)commit);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! queue->nr) {
      goto while_break;
    }
    tmp = prio_queue_get(queue);
    c___0 = (struct commit *)tmp;
    if (old_bitmap) {
      if (mapping) {
        tmp___0 = bitmap_for_commit(old_bitmap, c___0);
        old = tmp___0;
        if (old) {
          tmp___1 = rebuild_bitmap(mapping, old, ent->bitmap);
          if (! tmp___1) {
            goto while_continue;
          }
        }
      }
    }
    pos = find_object_pos((struct object_id  const  *)(& c___0->object.oid), & found);
    if (! found) {
      return (-1);
    }
    bitmap_set(ent->bitmap, (size_t )pos);
    tmp___2 = repo_get_commit_tree(the_repository, (struct commit  const  *)c___0);
    prio_queue_put(tree_queue, (void *)tmp___2);
    p___0 = c___0->parents;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! p___0) {
        goto while_break___0;
      }
      pos = find_object_pos((struct object_id  const  *)(& (p___0->item)->object.oid),
                            & found);
      if (! found) {
        return (-1);
      }
      tmp___3 = bitmap_get(ent->bitmap, (size_t )pos);
      if (! tmp___3) {
        bitmap_set(ent->bitmap, (size_t )pos);
        prio_queue_put(queue, (void *)p___0->item);
      }
      p___0 = p___0->next;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! tree_queue->nr) {
      goto while_break___1;
    }
    tmp___4 = prio_queue_get(tree_queue);
    tmp___5 = fill_bitmap_tree(ent->bitmap, (struct tree *)tmp___4);
    if (tmp___5 < 0) {
      return (-1);
    }
  }
  while_break___1: /* CIL Label */ ;
  }
  return (0);
}
}
static void store_selected(struct bb_commit *ent , struct commit *commit )
{
  struct bitmapped_commit *stored ;
  khiter_t hash_pos ;
  int hash_ret ;
  char *tmp ;

  {
  stored = writer.selected + ent->idx;
  stored->bitmap = bitmap_to_ewah(ent->bitmap);
  hash_pos = kh_put_oid_map___59(writer.bitmaps, commit->object.oid, & hash_ret);
  if (hash_ret == 0) {
    tmp = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    die((char const   *)"Duplicate entry when writing index: %s", tmp);
  }
  *((writer.bitmaps)->vals + hash_pos) = (void *)stored;
  return;
}
}
int bitmap_writer_build(struct packing_data *to_pack___0 )
{
  struct bitmap_builder bb ;
  size_t i ;
  int nr_stored ;
  struct prio_queue queue ;
  struct prio_queue tree_queue ;
  struct bitmap_index *old_bitmap ;
  uint32_t *mapping ;
  int closed ;
  struct commit *commit ;
  struct bb_commit *ent ;
  struct bb_commit *tmp ;
  struct commit *child ;
  int reused___0 ;
  int tmp___0 ;
  struct bb_commit *child_ent ;
  struct bb_commit *tmp___1 ;
  int tmp___2 ;

  {
  nr_stored = 0;
  queue.compare = & compare_commits_by_gen_then_commit_date;
  queue.insertion_ctr = 0U;
  queue.cb_data = (void *)0;
  queue.alloc = 0;
  queue.nr = 0;
  queue.array = (struct prio_queue_entry *)0;
  tree_queue.compare = (int (*)(void const   *one , void const   *two , void *cb_data ))((void *)0);
  tree_queue.insertion_ctr = 0U;
  tree_queue.cb_data = (void *)0;
  tree_queue.alloc = 0;
  tree_queue.nr = 0;
  tree_queue.array = (struct prio_queue_entry *)0;
  closed = 1;
  writer.bitmaps = kh_init_oid_map();
  writer.to_pack = to_pack___0;
  if (writer.show_progress) {
    writer.progress = start_progress((char const   *)"Building bitmaps", (uint64_t )writer.selected_nr);
  }
  trace2_region_enter_fl((char const   *)"pack-bitmap-write.c", 476, (char const   *)"pack-bitmap-write",
                         (char const   *)"building_bitmaps_total", (struct repository  const  *)the_repository);
  old_bitmap = prepare_bitmap_git(to_pack___0->repo);
  if (old_bitmap) {
    mapping = create_bitmap_mapping(old_bitmap, to_pack___0);
  } else {
    mapping = (uint32_t *)((void *)0);
  }
  bitmap_builder_init(& bb, & writer, old_bitmap);
  i = bb.commits_nr;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i > 0UL)) {
      goto while_break;
    }
    commit = *(bb.commits + (i - 1UL));
    tmp = bb_data_at(& bb.data, (struct commit  const  *)commit);
    ent = tmp;
    reused___0 = 0;
    tmp___0 = fill_bitmap_commit(ent, commit, & queue, & tree_queue, old_bitmap, (uint32_t const   *)mapping);
    if (tmp___0 < 0) {
      closed = 0;
      goto while_break;
    }
    if (ent->selected) {
      store_selected(ent, commit);
      nr_stored ++;
      display_progress(writer.progress, (uint64_t )nr_stored);
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      child = pop_commit(& ent->reverse_edges);
      if (! child) {
        goto while_break___0;
      }
      tmp___1 = bb_data_at(& bb.data, (struct commit  const  *)child);
      child_ent = tmp___1;
      if (child_ent->bitmap) {
        bitmap_or(child_ent->bitmap, (struct bitmap  const  *)ent->bitmap);
      } else
      if (reused___0) {
        child_ent->bitmap = bitmap_dup((struct bitmap  const  *)ent->bitmap);
      } else {
        child_ent->bitmap = ent->bitmap;
        reused___0 = 1;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! reused___0) {
      bitmap_free(ent->bitmap);
    }
    ent->bitmap = (struct bitmap *)((void *)0);
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  clear_prio_queue(& queue);
  clear_prio_queue(& tree_queue);
  bitmap_builder_clear(& bb);
  free_bitmap_index(old_bitmap);
  free((void *)mapping);
  trace2_region_leave_fl((char const   *)"pack-bitmap-write.c", 527, (char const   *)"pack-bitmap-write",
                         (char const   *)"building_bitmaps_total", (struct repository  const  *)the_repository);
  stop_progress(& writer.progress);
  if (closed) {
    compute_xor_offsets();
  }
  if (closed) {
    tmp___2 = 0;
  } else {
    tmp___2 = -1;
  }
  return (tmp___2);
}
}
__inline static unsigned int next_commit_index(unsigned int idx___0 ) ;
static unsigned int const   MIN_COMMITS  =    (unsigned int const   )100;
static unsigned int const   MAX_COMMITS  =    (unsigned int const   )5000;
static unsigned int const   MUST_REGION  =    (unsigned int const   )100;
static unsigned int const   MIN_REGION  =    (unsigned int const   )20000;
__inline static unsigned int next_commit_index(unsigned int idx___0 )
{
  unsigned int offset___2 ;
  unsigned int next___2 ;
  unsigned int tmp ;
  unsigned int tmp___0 ;

  {
  if (idx___0 <= (unsigned int )MUST_REGION) {
    return (0U);
  }
  if (idx___0 <= (unsigned int )MIN_REGION) {
    offset___2 = idx___0 - (unsigned int )MUST_REGION;
    if (offset___2 < (unsigned int )MIN_COMMITS) {
      tmp = offset___2;
    } else {
      tmp = (unsigned int )MIN_COMMITS;
    }
    return (tmp);
  }
  offset___2 = idx___0 - (unsigned int )MIN_REGION;
  if (offset___2 < (unsigned int )MAX_COMMITS) {
    next___2 = offset___2;
  } else {
    next___2 = (unsigned int )MAX_COMMITS;
  }
  if (next___2 > (unsigned int )MIN_COMMITS) {
    tmp___0 = next___2;
  } else {
    tmp___0 = (unsigned int )MIN_COMMITS;
  }
  return (tmp___0);
}
}
static int date_compare(void const   *_a , void const   *_b )
{
  struct commit *a ;
  struct commit *b___0 ;

  {
  a = *((struct commit **)_a);
  b___0 = *((struct commit **)_b);
  return ((int )((long )b___0->date - (long )a->date));
}
}
void bitmap_writer_select_commits(struct commit **indexed_commits___0 , unsigned int indexed_commits_nr___0 ,
                                  int max_bitmaps )
{
  unsigned int i ;
  unsigned int j ;
  unsigned int next___2 ;
  struct commit *chosen ;
  struct commit *cm ;

  {
  i = 0U;
  sane_qsort((void *)indexed_commits___0, (size_t )indexed_commits_nr___0, sizeof(*indexed_commits___0),
             & date_compare);
  if (writer.show_progress) {
    writer.progress = start_progress((char const   *)"Selecting bitmap commits", (uint64_t )0);
  }
  if (indexed_commits_nr___0 < 100U) {
    i = 0U;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < indexed_commits_nr___0)) {
        goto while_break;
      }
      push_bitmapped_commit(*(indexed_commits___0 + i));
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    return;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    chosen = (struct commit *)((void *)0);
    next___2 = next_commit_index(i);
    if (i + next___2 >= indexed_commits_nr___0) {
      goto while_break___0;
    }
    if (max_bitmaps > 0) {
      if (writer.selected_nr >= (unsigned int )max_bitmaps) {
        writer.selected_nr = (unsigned int )max_bitmaps;
        goto while_break___0;
      }
    }
    if (next___2 == 0U) {
      chosen = *(indexed_commits___0 + i);
    } else {
      chosen = *(indexed_commits___0 + (i + next___2));
      j = 0U;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! (j <= next___2)) {
          goto while_break___1;
        }
        cm = *(indexed_commits___0 + (i + j));
        if ((cm->object.flags & (1u << 22)) != 0U) {
          chosen = cm;
          goto while_break___1;
        }
        if (cm->parents) {
          if ((cm->parents)->next) {
            chosen = cm;
          }
        }
        j ++;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
    push_bitmapped_commit(chosen);
    i += next___2 + 1U;
    display_progress(writer.progress, (uint64_t )i);
  }
  while_break___0: /* CIL Label */ ;
  }
  stop_progress(& writer.progress);
  return;
}
}
static int hashwrite_ewah_helper(void *f , void const   *buf___19 , size_t len___0 )
{


  {
  hashwrite((struct hashfile *)f, buf___19, (unsigned int )len___0);
  return ((int )len___0);
}
}
__inline static void dump_bitmap(struct hashfile *f , struct ewah_bitmap *bitmap )
{
  int tmp ;

  {
  tmp = ewah_serialize_to(bitmap, & hashwrite_ewah_helper, (void *)f);
  if (tmp < 0) {
    die((char const   *)"Failed to write bitmap index");
  }
  return;
}
}
static struct object_id  const  *oid_access___0(size_t pos , void const   *table )
{
  struct pack_idx_entry  const  **index___2 ;

  {
  index___2 = (struct pack_idx_entry  const  **)table;
  return ((struct object_id  const  *)(& (*(index___2 + pos))->oid));
}
}
static void write_selected_commits_v1(struct hashfile *f , struct pack_idx_entry **index___2 ,
                                      uint32_t index_nr )
{
  int i ;
  struct bitmapped_commit *stored ;
  int commit_pos___0 ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < writer.selected_nr)) {
      goto while_break;
    }
    stored = writer.selected + i;
    tmp = oid_pos((struct object_id  const  *)(& (stored->commit)->object.oid), (void const   *)index___2,
                  (size_t )index_nr, & oid_access___0);
    commit_pos___0 = tmp;
    if (commit_pos___0 < 0) {
      BUG_fl((char const   *)"pack-bitmap-write.c", 663, (char const   *)"trying to write commit not in index");
    }
    hashwrite_be32(f, (uint32_t )commit_pos___0);
    hashwrite_u8(f, (uint8_t )stored->xor_offset);
    hashwrite_u8(f, (uint8_t )stored->flags);
    dump_bitmap(f, stored->write_as);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void write_hash_cache(struct hashfile *f , struct pack_idx_entry **index___2 ,
                             uint32_t index_nr )
{
  uint32_t i ;
  struct object_entry *entry ;

  {
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < index_nr)) {
      goto while_break;
    }
    entry = (struct object_entry *)*(index___2 + i);
    hashwrite_be32(f, entry->hash);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void bitmap_writer_set_checksum(unsigned char *sha1 )
{


  {
  hashcpy(writer.pack_checksum, (unsigned char const   *)sha1);
  return;
}
}
static uint16_t default_version  =    (uint16_t )1;
static uint16_t flags  =    (uint16_t )1;
void bitmap_writer_finish(struct pack_idx_entry **index___2 , uint32_t index_nr ,
                          char const   *filename___0 , uint16_t options )
{
  struct strbuf tmp_file___0 ;
  struct hashfile *f ;
  struct bitmap_disk_header header___0 ;
  int fd ;
  int tmp ;
  unsigned short __v ;
  unsigned short __x ;
  unsigned short __v___0 ;
  unsigned short __x___0 ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp_file___0.alloc = 0UL;
  tmp_file___0.len = 0UL;
  tmp_file___0.buf = strbuf_slopbuf;
  tmp = odb_mkstemp(& tmp_file___0, (char const   *)"pack/tmp_bitmap_XXXXXX");
  fd = tmp;
  f = hashfd(fd, (char const   *)tmp_file___0.buf);
  memcpy((void *)(header___0.magic), (void const   *)(BITMAP_IDX_SIGNATURE___1), sizeof(BITMAP_IDX_SIGNATURE___1));
  __x = default_version;
  __asm__  ("rorw $8, %w0": "=r" (__v): "0" (__x): "cc");
  header___0.version = __v;
  __x___0 = (unsigned short )((int )flags | (int )options);
  __asm__  ("rorw $8, %w0": "=r" (__v___0): "0" (__x___0): "cc");
  header___0.options = __v___0;
  header___0.entry_count = git_bswap32(writer.selected_nr);
  hashcpy(header___0.checksum, (unsigned char const   *)(writer.pack_checksum));
  hashwrite(f, (void const   *)(& header___0), (unsigned int )((sizeof(header___0) - 32UL) + (unsigned long )(the_repository->hash_algo)->rawsz));
  dump_bitmap(f, writer.commits);
  dump_bitmap(f, writer.trees);
  dump_bitmap(f, writer.blobs);
  dump_bitmap(f, writer.tags);
  write_selected_commits_v1(f, index___2, index_nr);
  if ((int )options & 4) {
    write_hash_cache(f, index___2, index_nr);
  }
  finalize_hashfile(f, (unsigned char *)((void *)0), 7U);
  tmp___0 = adjust_shared_perm((char const   *)tmp_file___0.buf);
  if (tmp___0) {
    die_errno((char const   *)"unable to make temporary bitmap file readable");
  }
  tmp___1 = rename((char const   *)tmp_file___0.buf, filename___0);
  if (tmp___1) {
    die_errno((char const   *)"unable to rename temporary bitmap file to \'%s\'",
              filename___0);
  }
  strbuf_release(& tmp_file___0);
  return;
}
}
static char const   BITMAP_IDX_SIGNATURE___2[4] ;
static double const   __ac_HASH_UPPER___60  =    (double const   )0.77;
__inline static void kh_resize_oid_set___60(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___60(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___60 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___60 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___60(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___60(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___60(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___60(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___60(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___60(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___60 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___60 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___60(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___60(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___60(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___60(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___60(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___60(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___60 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___60 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___60(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___60(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___60(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___60(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___44(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___44(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___60 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___60 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___44(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___44(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___44(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___44(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   BITMAP_IDX_SIGNATURE___2[4]  = {      (char const   )'B',      (char const   )'I',      (char const   )'T',      (char const   )'M'};
static struct ewah_bitmap *lookup_stored_bitmap(struct stored_bitmap *st )
{
  struct ewah_bitmap *parent ;
  struct ewah_bitmap *composed ;

  {
  if ((unsigned long )st->xor == (unsigned long )((void *)0)) {
    return (st->root);
  }
  composed = ewah_pool_new();
  parent = lookup_stored_bitmap(st->xor);
  ewah_xor(st->root, parent, composed);
  ewah_pool_free(st->root);
  st->root = composed;
  st->xor = (struct stored_bitmap *)((void *)0);
  return (composed);
}
}
static struct ewah_bitmap *read_bitmap_1(struct bitmap_index *index___2 )
{
  struct ewah_bitmap *b___0 ;
  struct ewah_bitmap *tmp ;
  ssize_t bitmap_size ;
  ssize_t tmp___0 ;

  {
  tmp = ewah_pool_new();
  b___0 = tmp;
  tmp___0 = ewah_read_mmap(b___0, (void const   *)(index___2->map + index___2->map_pos),
                           index___2->map_size - index___2->map_pos);
  bitmap_size = tmp___0;
  if (bitmap_size < 0L) {
    error((char const   *)"Failed to load bitmap index (corrupted?)");
    const_error();
    ewah_pool_free(b___0);
    return ((struct ewah_bitmap *)((void *)0));
  }
  index___2->map_pos += (size_t )bitmap_size;
  return (b___0);
}
}
static uint32_t bitmap_num_objects(struct bitmap_index *index___2 )
{


  {
  if (index___2->midx) {
    return ((index___2->midx)->num_objects);
  }
  return ((index___2->pack)->num_objects);
}
}
static int load_bitmap_header(struct bitmap_index *index___2 )
{
  struct bitmap_disk_header *header___0 ;
  size_t header_size___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  unsigned short __v ;
  unsigned short __x ;
  int tmp___2 ;
  uint32_t flags___0 ;
  unsigned short __v___0 ;
  unsigned short __x___0 ;
  size_t cache_size ;
  uint32_t tmp___3 ;
  size_t tmp___4 ;
  unsigned char *index_end ;
  int tmp___5 ;
  int tmp___6 ;

  {
  header___0 = (struct bitmap_disk_header *)((void *)index___2->map);
  header_size___0 = (sizeof(*header___0) - 32UL) + (unsigned long )(the_repository->hash_algo)->rawsz;
  if (index___2->map_size < header_size___0 + (size_t )(the_repository->hash_algo)->rawsz) {
    error((char const   *)"Corrupted bitmap index (too small)");
    tmp = const_error();
    return (tmp);
  }
  tmp___1 = memcmp((void const   *)(header___0->magic), (void const   *)(BITMAP_IDX_SIGNATURE___2),
                   sizeof(BITMAP_IDX_SIGNATURE___2));
  if (tmp___1 != 0) {
    error((char const   *)"Corrupted bitmap index file (wrong header)");
    tmp___0 = const_error();
    return (tmp___0);
  }
  __x = header___0->version;
  __asm__  ("rorw $8, %w0": "=r" (__v): "0" (__x): "cc");
  index___2->version = (unsigned int )__v;
  if (index___2->version != 1U) {
    error((char const   *)"Unsupported version for bitmap index file (%d)", index___2->version);
    tmp___2 = const_error();
    return (tmp___2);
  }
  __x___0 = header___0->options;
  __asm__  ("rorw $8, %w0": "=r" (__v___0): "0" (__x___0): "cc");
  flags___0 = (uint32_t )__v___0;
  tmp___3 = bitmap_num_objects(index___2);
  tmp___4 = st_mult((size_t )tmp___3, sizeof(uint32_t ));
  cache_size = tmp___4;
  index_end = (index___2->map + index___2->map_size) - (the_repository->hash_algo)->rawsz;
  if ((flags___0 & 1U) == 0U) {
    error((char const   *)"Unsupported options for bitmap index file (Git requires BITMAP_OPT_FULL_DAG)");
    tmp___5 = const_error();
    return (tmp___5);
  }
  if (flags___0 & 4U) {
    if (cache_size > (size_t )(index_end - index___2->map) - header_size___0) {
      error((char const   *)"corrupted bitmap index file (too short to fit hash cache)");
      tmp___6 = const_error();
      return (tmp___6);
    }
    index___2->hashes = (uint32_t *)((void *)(index_end - cache_size));
    index_end -= cache_size;
  }
  index___2->entry_count = git_bswap32(header___0->entry_count);
  index___2->checksum = (unsigned char const   *)(header___0->checksum);
  index___2->map_pos += header_size___0;
  return (0);
}
}
static struct stored_bitmap *store_bitmap(struct bitmap_index *index___2 , struct ewah_bitmap *root ,
                                          struct object_id  const  *oid , struct stored_bitmap *xor_with ,
                                          int flags___0 )
{
  struct stored_bitmap *stored ;
  khiter_t hash_pos ;
  int ret___67 ;
  void *tmp ;
  char *tmp___0 ;

  {
  tmp = xmalloc(sizeof(struct stored_bitmap ));
  stored = (struct stored_bitmap *)tmp;
  stored->root = root;
  stored->xor = xor_with;
  stored->flags = flags___0;
  oidcpy(& stored->oid, oid);
  hash_pos = kh_put_oid_map___60(index___2->bitmaps, stored->oid, & ret___67);
  if (ret___67 == 0) {
    tmp___0 = oid_to_hex(oid);
    error((char const   *)"Duplicate entry in bitmap index: %s", tmp___0);
    const_error();
    return ((struct stored_bitmap *)((void *)0));
  }
  *((index___2->bitmaps)->vals + hash_pos) = (void *)stored;
  return (stored);
}
}
__inline static uint32_t read_be32(unsigned char const   *buffer___5 , size_t *pos )
{
  uint32_t result___0 ;
  uint32_t tmp ;

  {
  tmp = get_be32((void const   *)(buffer___5 + *pos));
  result___0 = tmp;
  *pos += sizeof(result___0);
  return (result___0);
}
}
__inline static uint8_t read_u8(unsigned char const   *buffer___5 , size_t *pos )
{
  size_t tmp ;

  {
  tmp = *pos;
  (*pos) ++;
  return ((uint8_t )*(buffer___5 + tmp));
}
}
static int nth_bitmap_object_oid(struct bitmap_index *index___2 , struct object_id *oid ,
                                 uint32_t n )
{
  struct object_id *tmp ;
  int tmp___0 ;
  struct object_id *tmp___1 ;
  int tmp___2 ;

  {
  if (index___2->midx) {
    tmp___1 = nth_midxed_object_oid(oid, index___2->midx, n);
    if (tmp___1) {
      tmp___0 = 0;
    } else {
      tmp___0 = -1;
    }
    return (tmp___0);
  }
  tmp___2 = nth_packed_object_id(oid, index___2->pack, n);
  return (tmp___2);
}
}
static int load_bitmap_entries_v1(struct bitmap_index *index___2 )
{
  uint32_t i ;
  struct stored_bitmap *recent_bitmaps[160] ;
  unsigned int tmp ;
  int xor_offset ;
  int flags___0 ;
  struct ewah_bitmap *bitmap ;
  struct stored_bitmap *xor_bitmap ;
  uint32_t commit_idx_pos ;
  struct object_id oid ;
  int tmp___0 ;
  uint8_t tmp___1 ;
  uint8_t tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  recent_bitmaps[0] = (struct stored_bitmap *)((void *)0);
  tmp = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 160U) {
      goto while_break;
    }
    recent_bitmaps[tmp] = (struct stored_bitmap *)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < index___2->entry_count)) {
      goto while_break___0;
    }
    bitmap = (struct ewah_bitmap *)((void *)0);
    xor_bitmap = (struct stored_bitmap *)((void *)0);
    if (index___2->map_size - index___2->map_pos < 6UL) {
      error((char const   *)"corrupt ewah bitmap: truncated header for entry %d",
            i);
      tmp___0 = const_error();
      return (tmp___0);
    }
    commit_idx_pos = read_be32((unsigned char const   *)index___2->map, & index___2->map_pos);
    tmp___1 = read_u8((unsigned char const   *)index___2->map, & index___2->map_pos);
    xor_offset = (int )tmp___1;
    tmp___2 = read_u8((unsigned char const   *)index___2->map, & index___2->map_pos);
    flags___0 = (int )tmp___2;
    tmp___4 = nth_bitmap_object_oid(index___2, & oid, commit_idx_pos);
    if (tmp___4 < 0) {
      error((char const   *)"corrupt ewah bitmap: commit index %u out of range", commit_idx_pos);
      tmp___3 = const_error();
      return (tmp___3);
    }
    bitmap = read_bitmap_1(index___2);
    if (! bitmap) {
      return (-1);
    }
    if (xor_offset > 160) {
      error((char const   *)"Corrupted bitmap pack index");
      tmp___5 = const_error();
      return (tmp___5);
    } else
    if ((uint32_t )xor_offset > i) {
      error((char const   *)"Corrupted bitmap pack index");
      tmp___5 = const_error();
      return (tmp___5);
    }
    if (xor_offset > 0) {
      xor_bitmap = recent_bitmaps[(i - (uint32_t )xor_offset) % 160U];
      if ((unsigned long )xor_bitmap == (unsigned long )((void *)0)) {
        error((char const   *)"Invalid XOR offset in bitmap pack index");
        tmp___6 = const_error();
        return (tmp___6);
      }
    }
    recent_bitmaps[i % 160U] = store_bitmap(index___2, bitmap, (struct object_id  const  *)(& oid),
                                            xor_bitmap, flags___0);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (0);
}
}
char *midx_bitmap_filename(struct multi_pack_index *midx )
{
  struct strbuf buf___19 ;
  unsigned char const   *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  get_midx_filename(& buf___19, (char const   *)(midx->object_dir));
  tmp = get_midx_checksum(midx);
  tmp___0 = hash_to_hex(tmp);
  strbuf_addf(& buf___19, (char const   *)"-%s.bitmap", tmp___0);
  tmp___1 = strbuf_detach(& buf___19, (size_t *)((void *)0));
  return (tmp___1);
}
}
char *pack_bitmap_filename(struct packed_git *p___0 )
{
  size_t len___0 ;
  int tmp ;
  char *tmp___0 ;

  {
  tmp = strip_suffix((char const   *)(p___0->pack_name), (char const   *)".pack",
                     & len___0);
  if (! tmp) {
    BUG_fl((char const   *)"pack-bitmap.c", 308, (char const   *)"pack_name does not end in .pack");
  }
  tmp___0 = xstrfmt((char const   *)"%.*s.bitmap", (int )len___0, p___0->pack_name);
  return (tmp___0);
}
}
static int open_midx_bitmap_1(struct bitmap_index *bitmap_git___0 , struct multi_pack_index *midx )
{
  struct stat st ;
  char *idx_name ;
  char *tmp ;
  int fd ;
  int tmp___0 ;
  int tmp___1 ;
  struct strbuf buf___19 ;
  void *tmp___2 ;
  int tmp___3 ;
  unsigned char const   *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;

  {
  tmp = midx_bitmap_filename(midx);
  idx_name = tmp;
  tmp___0 = git_open_cloexec((char const   *)idx_name, 00);
  fd = tmp___0;
  free((void *)idx_name);
  if (fd < 0) {
    return (-1);
  }
  tmp___1 = fstat(fd, & st);
  if (tmp___1) {
    close(fd);
    return (-1);
  }
  if (bitmap_git___0->pack) {
    goto _L;
  } else
  if (bitmap_git___0->midx) {
    _L: /* CIL Label */
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    get_midx_filename(& buf___19, (char const   *)(midx->object_dir));
    warning((char const   *)"ignoring extra bitmap file: %s", buf___19.buf);
    close(fd);
    strbuf_release(& buf___19);
    return (-1);
  }
  bitmap_git___0->midx = midx;
  bitmap_git___0->map_size = xsize_t(st.st_size);
  bitmap_git___0->map_pos = (size_t )0;
  tmp___2 = xmmap((void *)0, bitmap_git___0->map_size, 0x1, 0x02, fd, (off_t )0);
  bitmap_git___0->map = (unsigned char *)tmp___2;
  close(fd);
  tmp___3 = load_bitmap_header(bitmap_git___0);
  if (tmp___3 < 0) {
    goto cleanup;
  }
  tmp___4 = get_midx_checksum(bitmap_git___0->midx);
  tmp___5 = hasheq(tmp___4, bitmap_git___0->checksum);
  if (! tmp___5) {
    goto cleanup;
  }
  tmp___7 = load_midx_revindex(bitmap_git___0->midx);
  if (tmp___7 < 0) {
    tmp___6 = _((char const   *)"multi-pack bitmap is missing required reverse index");
    warning((char const   *)tmp___6);
    goto cleanup;
  }
  return (0);
  cleanup:
  munmap((void *)bitmap_git___0->map, bitmap_git___0->map_size);
  bitmap_git___0->map_size = (size_t )0;
  bitmap_git___0->map = (unsigned char *)((void *)0);
  return (-1);
}
}
static int open_pack_bitmap_1(struct bitmap_index *bitmap_git___0 , struct packed_git *packfile )
{
  int fd ;
  struct stat st ;
  char *idx_name ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  void *tmp___2 ;
  int tmp___3 ;

  {
  tmp = open_pack_index(packfile);
  if (tmp) {
    return (-1);
  }
  idx_name = pack_bitmap_filename(packfile);
  fd = git_open_cloexec((char const   *)idx_name, 00);
  free((void *)idx_name);
  if (fd < 0) {
    return (-1);
  }
  tmp___0 = fstat(fd, & st);
  if (tmp___0) {
    close(fd);
    return (-1);
  }
  if (bitmap_git___0->pack) {
    warning((char const   *)"ignoring extra bitmap file: %s", packfile->pack_name);
    close(fd);
    return (-1);
  } else
  if (bitmap_git___0->midx) {
    warning((char const   *)"ignoring extra bitmap file: %s", packfile->pack_name);
    close(fd);
    return (-1);
  }
  tmp___1 = is_pack_valid(packfile);
  if (! tmp___1) {
    close(fd);
    return (-1);
  }
  bitmap_git___0->pack = packfile;
  bitmap_git___0->map_size = xsize_t(st.st_size);
  tmp___2 = xmmap((void *)0, bitmap_git___0->map_size, 0x1, 0x02, fd, (off_t )0);
  bitmap_git___0->map = (unsigned char *)tmp___2;
  bitmap_git___0->map_pos = (size_t )0;
  close(fd);
  tmp___3 = load_bitmap_header(bitmap_git___0);
  if (tmp___3 < 0) {
    munmap((void *)bitmap_git___0->map, bitmap_git___0->map_size);
    bitmap_git___0->map = (unsigned char *)((void *)0);
    bitmap_git___0->map_size = (size_t )0;
    return (-1);
  }
  return (0);
}
}
static int load_reverse_index(struct bitmap_index *bitmap_git___0 )
{
  uint32_t i ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___1 = bitmap_is_midx(bitmap_git___0);
  if (tmp___1) {
    i = (uint32_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < (bitmap_git___0->midx)->num_packs)) {
        goto while_break;
      }
      tmp___0 = prepare_midx_pack(the_repository, bitmap_git___0->midx, i);
      if (tmp___0) {
        tmp = _((char const   *)"load_reverse_index: could not open pack");
        die((char const   *)tmp);
      }
      ret___67 = load_pack_revindex(*((bitmap_git___0->midx)->packs + i));
      if (ret___67) {
        return (ret___67);
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    return (0);
  }
  tmp___2 = load_pack_revindex(bitmap_git___0->pack);
  return (tmp___2);
}
}
static int load_bitmap(struct bitmap_index *bitmap_git___0 )
{
  int tmp ;
  struct ewah_bitmap *tmp___0 ;
  struct ewah_bitmap *tmp___1 ;
  struct ewah_bitmap *tmp___2 ;
  struct ewah_bitmap *tmp___3 ;
  int tmp___4 ;

  {
  assert((int )bitmap_git___0->map);
  bitmap_git___0->bitmaps = kh_init_oid_map();
  bitmap_git___0->ext_index.positions = kh_init_oid_pos();
  tmp = load_reverse_index(bitmap_git___0);
  if (tmp) {
    goto failed;
  }
  tmp___0 = read_bitmap_1(bitmap_git___0);
  bitmap_git___0->commits = tmp___0;
  if (tmp___0) {
    tmp___1 = read_bitmap_1(bitmap_git___0);
    bitmap_git___0->trees = tmp___1;
    if (tmp___1) {
      tmp___2 = read_bitmap_1(bitmap_git___0);
      bitmap_git___0->blobs = tmp___2;
      if (tmp___2) {
        tmp___3 = read_bitmap_1(bitmap_git___0);
        bitmap_git___0->tags = tmp___3;
        if (! tmp___3) {
          goto failed;
        }
      } else {
        goto failed;
      }
    } else {
      goto failed;
    }
  } else {
    goto failed;
  }
  tmp___4 = load_bitmap_entries_v1(bitmap_git___0);
  if (tmp___4 < 0) {
    goto failed;
  }
  return (0);
  failed:
  munmap((void *)bitmap_git___0->map, bitmap_git___0->map_size);
  bitmap_git___0->map = (unsigned char *)((void *)0);
  bitmap_git___0->map_size = (size_t )0;
  kh_destroy_oid_map(bitmap_git___0->bitmaps);
  bitmap_git___0->bitmaps = (kh_oid_map_t *)((void *)0);
  kh_destroy_oid_pos(bitmap_git___0->ext_index.positions);
  bitmap_git___0->ext_index.positions = (kh_oid_pos_t *)((void *)0);
  return (-1);
}
}
static int open_pack_bitmap(struct repository *r , struct bitmap_index *bitmap_git___0 )
{
  struct packed_git *p___0 ;
  int ret___67 ;
  int tmp ;

  {
  ret___67 = -1;
  assert(! bitmap_git___0->map);
  p___0 = get_all_packs(r);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    tmp = open_pack_bitmap_1(bitmap_git___0, p___0);
    if (tmp == 0) {
      ret___67 = 0;
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static int open_midx_bitmap(struct repository *r , struct bitmap_index *bitmap_git___0 )
{
  struct multi_pack_index *midx ;
  int tmp ;

  {
  assert(! bitmap_git___0->map);
  midx = get_multi_pack_index(r);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! midx) {
      goto while_break;
    }
    tmp = open_midx_bitmap_1(bitmap_git___0, midx);
    if (! tmp) {
      return (0);
    }
    midx = midx->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (-1);
}
}
static int open_bitmap(struct repository *r , struct bitmap_index *bitmap_git___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  assert(! bitmap_git___0->map);
  tmp = open_midx_bitmap(r, bitmap_git___0);
  if (! tmp) {
    return (0);
  }
  tmp___0 = open_pack_bitmap(r, bitmap_git___0);
  return (tmp___0);
}
}
struct bitmap_index *prepare_bitmap_git(struct repository *r )
{
  struct bitmap_index *bitmap_git___0 ;
  void *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*bitmap_git___0));
  bitmap_git___0 = (struct bitmap_index *)tmp;
  tmp___0 = open_bitmap(r, bitmap_git___0);
  if (! tmp___0) {
    tmp___1 = load_bitmap(bitmap_git___0);
    if (! tmp___1) {
      return (bitmap_git___0);
    }
  }
  free_bitmap_index(bitmap_git___0);
  return ((struct bitmap_index *)((void *)0));
}
}
struct bitmap_index *prepare_midx_bitmap_git(struct multi_pack_index *midx )
{
  struct bitmap_index *bitmap_git___0 ;
  void *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*bitmap_git___0));
  bitmap_git___0 = (struct bitmap_index *)tmp;
  tmp___0 = open_midx_bitmap_1(bitmap_git___0, midx);
  if (! tmp___0) {
    tmp___1 = load_bitmap(bitmap_git___0);
    if (! tmp___1) {
      return (bitmap_git___0);
    }
  }
  free_bitmap_index(bitmap_git___0);
  return ((struct bitmap_index *)((void *)0));
}
}
struct ewah_bitmap *bitmap_for_commit(struct bitmap_index *bitmap_git___0 , struct commit *commit )
{
  khiter_t hash_pos ;
  khint_t tmp ;
  struct ewah_bitmap *tmp___0 ;

  {
  tmp = kh_get_oid_map((kh_oid_map_t const   *)bitmap_git___0->bitmaps, commit->object.oid);
  hash_pos = tmp;
  if (hash_pos >= (bitmap_git___0->bitmaps)->n_buckets) {
    return ((struct ewah_bitmap *)((void *)0));
  }
  tmp___0 = lookup_stored_bitmap((struct stored_bitmap *)*((bitmap_git___0->bitmaps)->vals + hash_pos));
  return (tmp___0);
}
}
__inline static int bitmap_position_extended(struct bitmap_index *bitmap_git___0 ,
                                             struct object_id  const  *oid )
{
  kh_oid_pos_t *positions ;
  khiter_t pos ;
  khint_t tmp ;
  int bitmap_pos ;
  uint32_t tmp___0 ;

  {
  positions = bitmap_git___0->ext_index.positions;
  tmp = kh_get_oid_pos((kh_oid_pos_t const   *)positions, (struct object_id )*oid);
  pos = tmp;
  if (pos < positions->n_buckets) {
    bitmap_pos = *(positions->vals + pos);
    tmp___0 = bitmap_num_objects(bitmap_git___0);
    return ((int )((uint32_t )bitmap_pos + tmp___0));
  }
  return (-1);
}
}
__inline static int bitmap_position_packfile(struct bitmap_index *bitmap_git___0 ,
                                             struct object_id  const  *oid )
{
  uint32_t pos ;
  off_t offset___2 ;
  off_t tmp ;
  int tmp___0 ;

  {
  tmp = find_pack_entry_one((unsigned char const   *)(oid->hash), bitmap_git___0->pack);
  offset___2 = tmp;
  if (! offset___2) {
    return (-1);
  }
  tmp___0 = offset_to_pack_pos(bitmap_git___0->pack, offset___2, & pos);
  if (tmp___0 < 0) {
    return (-1);
  }
  return ((int )pos);
}
}
static int bitmap_position_midx(struct bitmap_index *bitmap_git___0 , struct object_id  const  *oid )
{
  uint32_t want ;
  uint32_t got ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = bsearch_midx(oid, bitmap_git___0->midx, & want);
  if (! tmp) {
    return (-1);
  }
  tmp___0 = midx_to_pack_pos(bitmap_git___0->midx, want, & got);
  if (tmp___0 < 0) {
    return (-1);
  }
  return ((int )got);
}
}
static int bitmap_position(struct bitmap_index *bitmap_git___0 , struct object_id  const  *oid )
{
  int pos ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = bitmap_is_midx(bitmap_git___0);
  if (tmp) {
    pos = bitmap_position_midx(bitmap_git___0, oid);
  } else {
    pos = bitmap_position_packfile(bitmap_git___0, oid);
  }
  if (pos >= 0) {
    tmp___1 = pos;
  } else {
    tmp___0 = bitmap_position_extended(bitmap_git___0, oid);
    tmp___1 = tmp___0;
  }
  return (tmp___1);
}
}
static int ext_index_add_object(struct bitmap_index *bitmap_git___0 , struct object *object ,
                                char const   *name___0 )
{
  struct eindex *eindex ;
  khiter_t hash_pos ;
  int hash_ret ;
  int bitmap_pos ;
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  uint32_t tmp___3 ;

  {
  eindex = & bitmap_git___0->ext_index;
  hash_pos = kh_put_oid_pos___60(eindex->positions, object->oid, & hash_ret);
  if (hash_ret > 0) {
    if (eindex->count >= eindex->alloc) {
      eindex->alloc = ((eindex->alloc + 16U) * 3U) / 2U;
      tmp = st_mult(sizeof(*(eindex->objects)), (size_t )eindex->alloc);
      tmp___0 = xrealloc((void *)eindex->objects, tmp);
      eindex->objects = (struct object **)tmp___0;
      tmp___1 = st_mult(sizeof(*(eindex->hashes)), (size_t )eindex->alloc);
      tmp___2 = xrealloc((void *)eindex->hashes, tmp___1);
      eindex->hashes = (uint32_t *)tmp___2;
    }
    bitmap_pos = (int )eindex->count;
    *(eindex->objects + eindex->count) = object;
    *(eindex->hashes + eindex->count) = pack_name_hash(name___0);
    *((eindex->positions)->vals + hash_pos) = bitmap_pos;
    (eindex->count) ++;
  } else {
    bitmap_pos = *((eindex->positions)->vals + hash_pos);
  }
  tmp___3 = bitmap_num_objects(bitmap_git___0);
  return ((int )((uint32_t )bitmap_pos + tmp___3));
}
}
static void show_object(struct object *object , char const   *name___0 , void *data_ )
{
  struct bitmap_show_data *data ;
  int bitmap_pos ;

  {
  data = (struct bitmap_show_data *)data_;
  bitmap_pos = bitmap_position(data->bitmap_git, (struct object_id  const  *)(& object->oid));
  if (bitmap_pos < 0) {
    bitmap_pos = ext_index_add_object(data->bitmap_git, object, name___0);
  }
  bitmap_set(data->base, (size_t )bitmap_pos);
  return;
}
}
static void show_commit(struct commit *commit , void *data )
{


  {
  return;
}
}
static int add_to_include_set(struct bitmap_index *bitmap_git___0 , struct include_data *data ,
                              struct commit *commit , int bitmap_pos )
{
  struct ewah_bitmap *partial ;
  int tmp ;
  int tmp___0 ;

  {
  if (data->seen) {
    tmp = bitmap_get(data->seen, (size_t )bitmap_pos);
    if (tmp) {
      return (0);
    }
  }
  tmp___0 = bitmap_get(data->base, (size_t )bitmap_pos);
  if (tmp___0) {
    return (0);
  }
  partial = bitmap_for_commit(bitmap_git___0, commit);
  if (partial) {
    bitmap_or_ewah(data->base, partial);
    return (0);
  }
  bitmap_set(data->base, (size_t )bitmap_pos);
  return (1);
}
}
static int should_include(struct commit *commit , void *_data )
{
  struct include_data *data ;
  int bitmap_pos ;
  struct commit_list *parent ;
  int tmp ;

  {
  data = (struct include_data *)_data;
  bitmap_pos = bitmap_position(data->bitmap_git, (struct object_id  const  *)(& commit->object.oid));
  if (bitmap_pos < 0) {
    bitmap_pos = ext_index_add_object(data->bitmap_git, (struct object *)commit, (char const   *)((void *)0));
  }
  tmp = add_to_include_set(data->bitmap_git, data, commit, bitmap_pos);
  if (! tmp) {
    parent = commit->parents;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! parent) {
        goto while_break;
      }
      (parent->item)->object.flags |= 1u;
      parent = parent->next;
    }
    while_break: /* CIL Label */ ;
    }
    return (0);
  }
  return (1);
}
}
static int should_include_obj(struct object *obj , void *_data )
{
  struct include_data *data ;
  int bitmap_pos ;
  int tmp ;
  int tmp___0 ;

  {
  data = (struct include_data *)_data;
  bitmap_pos = bitmap_position(data->bitmap_git, (struct object_id  const  *)(& obj->oid));
  if (bitmap_pos < 0) {
    return (1);
  }
  if (data->seen) {
    tmp = bitmap_get(data->seen, (size_t )bitmap_pos);
    if (tmp) {
      obj->flags |= 1u;
      return (0);
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp___0 = bitmap_get(data->base, (size_t )bitmap_pos);
    if (tmp___0) {
      obj->flags |= 1u;
      return (0);
    }
  }
  return (1);
}
}
static int add_commit_to_bitmap(struct bitmap_index *bitmap_git___0 , struct bitmap **base ,
                                struct commit *commit )
{
  struct ewah_bitmap *or_with ;
  struct ewah_bitmap *tmp ;

  {
  tmp = bitmap_for_commit(bitmap_git___0, commit);
  or_with = tmp;
  if (! or_with) {
    return (0);
  }
  if ((unsigned long )*base == (unsigned long )((void *)0)) {
    *base = ewah_to_bitmap(or_with);
  } else {
    bitmap_or_ewah(*base, or_with);
  }
  return (1);
}
}
static struct bitmap *find_objects(struct bitmap_index *bitmap_git___0 , struct rev_info *revs ,
                                   struct object_list *roots , struct bitmap *seen___0 ,
                                   struct list_objects_filter_options *filter___0 )
{
  struct bitmap *base ;
  int needs_walk ;
  struct object_list *not_mapped ;
  struct object *object ;
  int tmp ;
  struct object *object___0 ;
  int pos ;
  int tmp___0 ;
  struct include_data incdata ;
  struct bitmap_show_data show_data ;
  int tmp___1 ;

  {
  base = (struct bitmap *)((void *)0);
  needs_walk = 0;
  not_mapped = (struct object_list *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! roots) {
      goto while_break;
    }
    object = roots->item;
    roots = roots->next;
    if (object->type == 1U) {
      tmp = add_commit_to_bitmap(bitmap_git___0, & base, (struct commit *)object);
      if (tmp) {
        object->flags |= 1u;
        goto while_continue;
      }
    }
    object_list_insert(object, & not_mapped);
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned long )not_mapped == (unsigned long )((void *)0)) {
    return (base);
  }
  roots = not_mapped;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! roots) {
      goto while_break___0;
    }
    object___0 = roots->item;
    roots = roots->next;
    pos = bitmap_position(bitmap_git___0, (struct object_id  const  *)(& object___0->oid));
    if (pos < 0) {
      object___0->flags &= ~ (1u << 1);
      add_pending_object(revs, object___0, (char const   *)"");
      needs_walk = 1;
    } else
    if ((unsigned long )base == (unsigned long )((void *)0)) {
      object___0->flags &= ~ (1u << 1);
      add_pending_object(revs, object___0, (char const   *)"");
      needs_walk = 1;
    } else {
      tmp___0 = bitmap_get(base, (size_t )pos);
      if (tmp___0) {
        object___0->flags |= 1u;
      } else {
        object___0->flags &= ~ (1u << 1);
        add_pending_object(revs, object___0, (char const   *)"");
        needs_walk = 1;
      }
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  if (needs_walk) {
    if ((unsigned long )base == (unsigned long )((void *)0)) {
      base = bitmap_new();
    }
    incdata.bitmap_git = bitmap_git___0;
    incdata.base = base;
    incdata.seen = seen___0;
    revs->include_check = & should_include;
    revs->include_check_obj = & should_include_obj;
    revs->include_check_data = (void *)(& incdata);
    tmp___1 = prepare_revision_walk(revs);
    if (tmp___1) {
      die((char const   *)"revision walk setup failed");
    }
    show_data.bitmap_git = bitmap_git___0;
    show_data.base = base;
    traverse_commit_list_filtered(filter___0, revs, & show_commit, & show_object,
                                  (void *)(& show_data), (struct oidset *)((void *)0));
    revs->include_check = (int (*)(struct commit * , void * ))((void *)0);
    revs->include_check_obj = (int (*)(struct object *obj , void * ))((void *)0);
    revs->include_check_data = (void *)0;
  }
  return (base);
}
}
static void show_extended_objects(struct bitmap_index *bitmap_git___0 , struct rev_info *revs ,
                                  int (*show_reach)(struct object_id  const  *oid ,
                                                    enum object_type type , int flags ,
                                                    uint32_t hash , struct packed_git *found_pack ,
                                                    off_t found_offset ) )
{
  struct bitmap *objects___0 ;
  struct eindex *eindex ;
  uint32_t i ;
  struct object *obj ;
  uint32_t tmp ;
  int tmp___0 ;

  {
  objects___0 = bitmap_git___0->result;
  eindex = & bitmap_git___0->ext_index;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < eindex->count)) {
      goto while_break;
    }
    tmp = bitmap_num_objects(bitmap_git___0);
    tmp___0 = bitmap_get(objects___0, (size_t )(tmp + i));
    if (! tmp___0) {
      goto __Cont;
    }
    obj = *(eindex->objects + i);
    if (obj->type == 3U) {
      if (! revs->blob_objects) {
        goto __Cont;
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if (obj->type == 2U) {
      if (! revs->tree_objects) {
        goto __Cont;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (obj->type == 4U) {
      if (! revs->tag_objects) {
        goto __Cont;
      }
    }
    (*show_reach)((struct object_id  const  *)(& obj->oid), (enum object_type )obj->type,
                  0, *(eindex->hashes + i), (struct packed_git *)((void *)0), (off_t )0);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void init_type_iterator(struct ewah_iterator *it , struct bitmap_index *bitmap_git___0 ,
                               enum object_type type___0 )
{


  {
  {
  if ((int )type___0 == 1) {
    goto case_1;
  }
  if ((int )type___0 == 2) {
    goto case_2;
  }
  if ((int )type___0 == 3) {
    goto case_3;
  }
  if ((int )type___0 == 4) {
    goto case_4;
  }
  goto switch_default;
  case_1: /* CIL Label */
  ewah_iterator_init(it, bitmap_git___0->commits);
  goto switch_break;
  case_2: /* CIL Label */
  ewah_iterator_init(it, bitmap_git___0->trees);
  goto switch_break;
  case_3: /* CIL Label */
  ewah_iterator_init(it, bitmap_git___0->blobs);
  goto switch_break;
  case_4: /* CIL Label */
  ewah_iterator_init(it, bitmap_git___0->tags);
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"pack-bitmap.c", 880, (char const   *)"object type %d not stored by bitmap type index",
         (int )type___0);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static void show_objects_for_type(struct bitmap_index *bitmap_git___0 , enum object_type object_type___0 ,
                                  int (*show_reach)(struct object_id  const  *oid ,
                                                    enum object_type type , int flags ,
                                                    uint32_t hash , struct packed_git *found_pack ,
                                                    off_t found_offset ) )
{
  size_t i ;
  uint32_t offset___2 ;
  struct ewah_iterator it ;
  eword_t filter___0 ;
  struct bitmap *objects___0 ;
  eword_t word ;
  size_t pos ;
  struct packed_git *pack___0 ;
  struct object_id oid ;
  uint32_t hash___0 ;
  uint32_t index_pos ;
  off_t ofs ;
  int tmp ;
  struct multi_pack_index *m ;
  uint32_t pack_id___0 ;
  int tmp___0 ;
  int tmp___1 ;

  {
  i = (size_t )0;
  objects___0 = bitmap_git___0->result;
  init_type_iterator(& it, bitmap_git___0, object_type___0);
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i < objects___0->word_alloc) {
      tmp___1 = ewah_iterator_next(& filter___0, & it);
      if (! tmp___1) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    word = *(objects___0->words + i) & filter___0;
    pos = i * (sizeof(eword_t ) * 8UL);
    if (! word) {
      goto __Cont;
    }
    offset___2 = (uint32_t )0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned long )offset___2 < sizeof(eword_t ) * 8UL)) {
        goto while_break___0;
      }
      hash___0 = (uint32_t )0;
      if (word >> offset___2 == 0UL) {
        goto while_break___0;
      }
      tmp = __builtin_ctzll((unsigned long long )(word >> offset___2));
      offset___2 += (uint32_t )tmp;
      tmp___0 = bitmap_is_midx(bitmap_git___0);
      if (tmp___0) {
        m = bitmap_git___0->midx;
        index_pos = pack_pos_to_midx(m, (uint32_t )(pos + (size_t )offset___2));
        ofs = nth_midxed_offset(m, index_pos);
        nth_midxed_object_oid(& oid, m, index_pos);
        pack_id___0 = nth_midxed_pack_int_id(m, index_pos);
        pack___0 = *((bitmap_git___0->midx)->packs + pack_id___0);
      } else {
        index_pos = pack_pos_to_index(bitmap_git___0->pack, (uint32_t )(pos + (size_t )offset___2));
        ofs = pack_pos_to_offset(bitmap_git___0->pack, (uint32_t )(pos + (size_t )offset___2));
        nth_bitmap_object_oid(bitmap_git___0, & oid, index_pos);
        pack___0 = bitmap_git___0->pack;
      }
      if (bitmap_git___0->hashes) {
        hash___0 = get_be32((void const   *)(bitmap_git___0->hashes + index_pos));
      }
      (*show_reach)((struct object_id  const  *)(& oid), object_type___0, 0, hash___0,
                    pack___0, ofs);
      offset___2 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int in_bitmapped_pack(struct bitmap_index *bitmap_git___0 , struct object_list *roots )
{
  struct object *object ;
  int tmp ;
  off_t tmp___0 ;
  int tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! roots) {
      goto while_break;
    }
    object = roots->item;
    roots = roots->next;
    tmp___1 = bitmap_is_midx(bitmap_git___0);
    if (tmp___1) {
      tmp = bsearch_midx((struct object_id  const  *)(& object->oid), bitmap_git___0->midx,
                         (uint32_t *)((void *)0));
      if (tmp) {
        return (1);
      }
    } else {
      tmp___0 = find_pack_entry_one((unsigned char const   *)(object->oid.hash), bitmap_git___0->pack);
      if (tmp___0 > 0L) {
        return (1);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static struct bitmap *find_tip_objects(struct bitmap_index *bitmap_git___0 , struct object_list *tip_objects ,
                                       enum object_type type___0 )
{
  struct bitmap *result___0 ;
  struct bitmap *tmp ;
  struct object_list *p___0 ;
  int pos ;

  {
  tmp = bitmap_new();
  result___0 = tmp;
  p___0 = tip_objects;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if ((p___0->item)->type != (unsigned int )type___0) {
      goto __Cont;
    }
    pos = bitmap_position(bitmap_git___0, (struct object_id  const  *)(& (p___0->item)->oid));
    if (pos < 0) {
      goto __Cont;
    }
    bitmap_set(result___0, (size_t )pos);
    __Cont: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (result___0);
}
}
static void filter_bitmap_exclude_type(struct bitmap_index *bitmap_git___0 , struct object_list *tip_objects ,
                                       struct bitmap *to_filter , enum object_type type___0 )
{
  struct eindex *eindex ;
  struct bitmap *tips ;
  struct ewah_iterator it ;
  eword_t mask ;
  uint32_t i ;
  int tmp ;
  uint32_t pos ;
  uint32_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  eindex = & bitmap_git___0->ext_index;
  tips = find_tip_objects(bitmap_git___0, tip_objects, type___0);
  i = (uint32_t )0;
  init_type_iterator(& it, bitmap_git___0, type___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((size_t )i < to_filter->word_alloc) {
      tmp = ewah_iterator_next(& mask, & it);
      if (! tmp) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if ((size_t )i < tips->word_alloc) {
      mask &= ~ *(tips->words + i);
    }
    *(to_filter->words + i) &= ~ mask;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < eindex->count)) {
      goto while_break___0;
    }
    tmp___0 = bitmap_num_objects(bitmap_git___0);
    pos = i + tmp___0;
    if ((*(eindex->objects + i))->type == (unsigned int )type___0) {
      tmp___1 = bitmap_get(to_filter, (size_t )pos);
      if (tmp___1) {
        tmp___2 = bitmap_get(tips, (size_t )pos);
        if (! tmp___2) {
          bitmap_unset(to_filter, (size_t )pos);
        }
      }
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  bitmap_free(tips);
  return;
}
}
static void filter_bitmap_blob_none(struct bitmap_index *bitmap_git___0 , struct object_list *tip_objects ,
                                    struct bitmap *to_filter )
{


  {
  filter_bitmap_exclude_type(bitmap_git___0, tip_objects, to_filter, (enum object_type )3);
  return;
}
}
static unsigned long get_size_by_pos(struct bitmap_index *bitmap_git___0 , uint32_t pos )
{
  unsigned long size ;
  struct object_info oi___0 ;
  struct packed_git *pack___0 ;
  off_t ofs ;
  uint32_t midx_pos ;
  uint32_t tmp ;
  uint32_t pack_id___0 ;
  uint32_t tmp___0 ;
  int tmp___1 ;
  struct object_id oid ;
  uint32_t tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  struct eindex *eindex ;
  struct object *obj ;
  uint32_t tmp___6 ;
  char *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  uint32_t tmp___10 ;

  {
  oi___0.typep = (enum object_type *)0;
  oi___0.sizep = (unsigned long *)0;
  oi___0.disk_sizep = (off_t *)0;
  oi___0.delta_base_oid = (struct object_id *)0;
  oi___0.type_name = (struct strbuf *)0;
  oi___0.contentp = (void **)0;
  oi___0.whence = 0U;
  oi___0.u.packed.pack = (struct packed_git *)0;
  oi___0.u.packed.offset = 0L;
  oi___0.u.packed.is_delta = 0U;
  oi___0.sizep = & size;
  tmp___10 = bitmap_num_objects(bitmap_git___0);
  if (pos < tmp___10) {
    tmp___1 = bitmap_is_midx(bitmap_git___0);
    if (tmp___1) {
      tmp = pack_pos_to_midx(bitmap_git___0->midx, pos);
      midx_pos = tmp;
      tmp___0 = nth_midxed_pack_int_id(bitmap_git___0->midx, midx_pos);
      pack_id___0 = tmp___0;
      pack___0 = *((bitmap_git___0->midx)->packs + pack_id___0);
      ofs = nth_midxed_offset(bitmap_git___0->midx, midx_pos);
    } else {
      pack___0 = bitmap_git___0->pack;
      ofs = pack_pos_to_offset(pack___0, pos);
    }
    tmp___5 = packed_object_info(the_repository, pack___0, ofs, & oi___0);
    if (tmp___5 < 0) {
      tmp___2 = pack_pos_to_index(pack___0, pos);
      nth_bitmap_object_oid(bitmap_git___0, & oid, tmp___2);
      tmp___3 = oid_to_hex((struct object_id  const  *)(& oid));
      tmp___4 = _((char const   *)"unable to get size of %s");
      die((char const   *)tmp___4, tmp___3);
    }
  } else {
    eindex = & bitmap_git___0->ext_index;
    tmp___6 = bitmap_num_objects(bitmap_git___0);
    obj = *(eindex->objects + (pos - tmp___6));
    tmp___9 = oid_object_info_extended(the_repository, (struct object_id  const  *)(& obj->oid),
                                       & oi___0, 0U);
    if (tmp___9 < 0) {
      tmp___7 = oid_to_hex((struct object_id  const  *)(& obj->oid));
      tmp___8 = _((char const   *)"unable to get size of %s");
      die((char const   *)tmp___8, tmp___7);
    }
  }
  return (size);
}
}
static void filter_bitmap_blob_limit(struct bitmap_index *bitmap_git___0 , struct object_list *tip_objects ,
                                     struct bitmap *to_filter , unsigned long limit___1 )
{
  struct eindex *eindex ;
  struct bitmap *tips ;
  struct ewah_iterator it ;
  eword_t mask ;
  uint32_t i ;
  eword_t word ;
  unsigned int offset___2 ;
  uint32_t pos ;
  int tmp ;
  int tmp___0 ;
  unsigned long tmp___1 ;
  int tmp___2 ;
  uint32_t pos___0 ;
  uint32_t tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  unsigned long tmp___6 ;

  {
  eindex = & bitmap_git___0->ext_index;
  tips = find_tip_objects(bitmap_git___0, tip_objects, (enum object_type )3);
  i = (uint32_t )0;
  init_type_iterator(& it, bitmap_git___0, (enum object_type )3);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((size_t )i < to_filter->word_alloc) {
      tmp___2 = ewah_iterator_next(& mask, & it);
      if (! tmp___2) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    word = *(to_filter->words + i) & mask;
    offset___2 = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned long )offset___2 < sizeof(eword_t ) * 8UL)) {
        goto while_break___0;
      }
      if (word >> offset___2 == 0UL) {
        goto while_break___0;
      }
      tmp = __builtin_ctzll((unsigned long long )(word >> offset___2));
      offset___2 += (unsigned int )tmp;
      pos = (uint32_t )((unsigned long )i * (sizeof(eword_t ) * 8UL) + (unsigned long )offset___2);
      tmp___0 = bitmap_get(tips, (size_t )pos);
      if (! tmp___0) {
        tmp___1 = get_size_by_pos(bitmap_git___0, pos);
        if (tmp___1 >= limit___1) {
          bitmap_unset(to_filter, (size_t )pos);
        }
      }
      offset___2 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < eindex->count)) {
      goto while_break___1;
    }
    tmp___3 = bitmap_num_objects(bitmap_git___0);
    pos___0 = i + tmp___3;
    if ((*(eindex->objects + i))->type == 3U) {
      tmp___4 = bitmap_get(to_filter, (size_t )pos___0);
      if (tmp___4) {
        tmp___5 = bitmap_get(tips, (size_t )pos___0);
        if (! tmp___5) {
          tmp___6 = get_size_by_pos(bitmap_git___0, pos___0);
          if (tmp___6 >= limit___1) {
            bitmap_unset(to_filter, (size_t )pos___0);
          }
        }
      }
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  bitmap_free(tips);
  return;
}
}
static void filter_bitmap_tree_depth(struct bitmap_index *bitmap_git___0 , struct object_list *tip_objects ,
                                     struct bitmap *to_filter , unsigned long limit___1 )
{


  {
  if (limit___1) {
    BUG_fl((char const   *)"pack-bitmap.c", 1132, (char const   *)"filter_bitmap_tree_depth given non-zero limit");
  }
  filter_bitmap_exclude_type(bitmap_git___0, tip_objects, to_filter, (enum object_type )2);
  filter_bitmap_exclude_type(bitmap_git___0, tip_objects, to_filter, (enum object_type )3);
  return;
}
}
static void filter_bitmap_object_type(struct bitmap_index *bitmap_git___0 , struct object_list *tip_objects ,
                                      struct bitmap *to_filter , enum object_type object_type___0 )
{


  {
  if ((int )object_type___0 < 1) {
    BUG_fl((char const   *)"pack-bitmap.c", 1146, (char const   *)"filter_bitmap_object_type given invalid object");
  } else
  if ((int )object_type___0 > 4) {
    BUG_fl((char const   *)"pack-bitmap.c", 1146, (char const   *)"filter_bitmap_object_type given invalid object");
  }
  if ((int )object_type___0 != 4) {
    filter_bitmap_exclude_type(bitmap_git___0, tip_objects, to_filter, (enum object_type )4);
  }
  if ((int )object_type___0 != 1) {
    filter_bitmap_exclude_type(bitmap_git___0, tip_objects, to_filter, (enum object_type )1);
  }
  if ((int )object_type___0 != 2) {
    filter_bitmap_exclude_type(bitmap_git___0, tip_objects, to_filter, (enum object_type )2);
  }
  if ((int )object_type___0 != 3) {
    filter_bitmap_exclude_type(bitmap_git___0, tip_objects, to_filter, (enum object_type )3);
  }
  return;
}
}
static int filter_bitmap(struct bitmap_index *bitmap_git___0 , struct object_list *tip_objects ,
                         struct bitmap *to_filter , struct list_objects_filter_options *filter___0 )
{
  int i ;
  int tmp ;

  {
  if (! filter___0) {
    return (0);
  } else
  if ((unsigned int )filter___0->choice == 0U) {
    return (0);
  }
  if ((unsigned int )filter___0->choice == 1U) {
    if (bitmap_git___0) {
      filter_bitmap_blob_none(bitmap_git___0, tip_objects, to_filter);
    }
    return (0);
  }
  if ((unsigned int )filter___0->choice == 2U) {
    if (bitmap_git___0) {
      filter_bitmap_blob_limit(bitmap_git___0, tip_objects, to_filter, filter___0->blob_limit_value);
    }
    return (0);
  }
  if ((unsigned int )filter___0->choice == 3U) {
    if (filter___0->tree_exclude_depth == 0UL) {
      if (bitmap_git___0) {
        filter_bitmap_tree_depth(bitmap_git___0, tip_objects, to_filter, filter___0->tree_exclude_depth);
      }
      return (0);
    }
  }
  if ((unsigned int )filter___0->choice == 5U) {
    if (bitmap_git___0) {
      filter_bitmap_object_type(bitmap_git___0, tip_objects, to_filter, filter___0->object_type);
    }
    return (0);
  }
  if ((unsigned int )filter___0->choice == 6U) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((size_t )i < filter___0->sub_nr)) {
        goto while_break;
      }
      tmp = filter_bitmap(bitmap_git___0, tip_objects, to_filter, filter___0->sub + i);
      if (tmp < 0) {
        return (-1);
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    return (0);
  }
  return (-1);
}
}
static int can_filter_bitmap(struct list_objects_filter_options *filter___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = filter_bitmap((struct bitmap_index *)((void *)0), (struct object_list *)((void *)0),
                      (struct bitmap *)((void *)0), filter___0);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
struct bitmap_index *prepare_bitmap_walk(struct rev_info *revs , struct list_objects_filter_options *filter___0 ,
                                         int filter_provided_objects )
{
  unsigned int i ;
  struct object_list *wants ;
  struct object_list *haves ;
  struct bitmap *wants_bitmap ;
  struct bitmap *haves_bitmap ;
  struct bitmap_index *bitmap_git___0 ;
  int tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  struct object *object ;
  struct tag *tag ;
  struct object_id *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  struct object_list *tmp___5 ;

  {
  wants = (struct object_list *)((void *)0);
  haves = (struct object_list *)((void *)0);
  wants_bitmap = (struct bitmap *)((void *)0);
  haves_bitmap = (struct bitmap *)((void *)0);
  if (revs->prune) {
    return ((struct bitmap_index *)((void *)0));
  }
  tmp = can_filter_bitmap(filter___0);
  if (! tmp) {
    return ((struct bitmap_index *)((void *)0));
  }
  tmp___0 = xcalloc((size_t )1, sizeof(*bitmap_git___0));
  bitmap_git___0 = (struct bitmap_index *)tmp___0;
  tmp___1 = open_bitmap(revs->repo, bitmap_git___0);
  if (tmp___1 < 0) {
    goto cleanup;
  }
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < revs->pending.nr)) {
      goto while_break;
    }
    object = (revs->pending.objects + i)->item;
    if (object->type == 0U) {
      parse_object_or_die((struct object_id  const  *)(& object->oid), (char const   *)((void *)0));
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (object->type == 4U)) {
        goto while_break___0;
      }
      tag = (struct tag *)object;
      if (object->flags & (1u << 1)) {
        object_list_insert(object, & haves);
      } else {
        object_list_insert(object, & wants);
      }
      tmp___2 = get_tagged_oid(tag);
      object = parse_object_or_die((struct object_id  const  *)tmp___2, (char const   *)((void *)0));
      object->flags |= tag->object.flags & (1u << 1);
    }
    while_break___0: /* CIL Label */ ;
    }
    if (object->flags & (1u << 1)) {
      object_list_insert(object, & haves);
    } else {
      object_list_insert(object, & wants);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (haves) {
    tmp___3 = in_bitmapped_pack(bitmap_git___0, haves);
    if (! tmp___3) {
      goto cleanup;
    }
  }
  if (! wants) {
    goto cleanup;
  }
  tmp___4 = load_bitmap(bitmap_git___0);
  if (tmp___4 < 0) {
    goto cleanup;
  }
  object_array_clear(& revs->pending);
  if (haves) {
    revs->ignore_missing_links = 1U;
    haves_bitmap = find_objects(bitmap_git___0, revs, haves, (struct bitmap *)((void *)0),
                                filter___0);
    reset_revision_walk();
    revs->ignore_missing_links = 0U;
    if ((unsigned long )haves_bitmap == (unsigned long )((void *)0)) {
      BUG_fl((char const   *)"pack-bitmap.c", 1302, (char const   *)"failed to perform bitmap walk");
    }
  }
  wants_bitmap = find_objects(bitmap_git___0, revs, wants, haves_bitmap, filter___0);
  if (! wants_bitmap) {
    BUG_fl((char const   *)"pack-bitmap.c", 1309, (char const   *)"failed to perform bitmap walk");
  }
  if (haves_bitmap) {
    bitmap_and_not(wants_bitmap, haves_bitmap);
  }
  if (filter___0) {
    if (filter_provided_objects) {
      tmp___5 = (struct object_list *)((void *)0);
    } else {
      tmp___5 = wants;
    }
  } else {
    tmp___5 = wants;
  }
  filter_bitmap(bitmap_git___0, tmp___5, wants_bitmap, filter___0);
  bitmap_git___0->result = wants_bitmap;
  bitmap_git___0->haves = haves_bitmap;
  object_list_free(& wants);
  object_list_free(& haves);
  return (bitmap_git___0);
  cleanup:
  free_bitmap_index(bitmap_git___0);
  object_list_free(& wants);
  object_list_free(& haves);
  return ((struct bitmap_index *)((void *)0));
}
}
static int try_partial_reuse(struct packed_git *pack___0 , size_t pos , struct bitmap *reuse ,
                             struct pack_window **w_curs )
{
  off_t offset___2 ;
  off_t delta_obj_offset ;
  enum object_type type___0 ;
  unsigned long size ;
  int tmp ;
  off_t base_offset ;
  uint32_t base_pos ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (pos >= (size_t )pack___0->num_objects) {
    return (-1);
  }
  delta_obj_offset = pack_pos_to_offset(pack___0, (uint32_t )pos);
  offset___2 = delta_obj_offset;
  tmp = unpack_object_header(pack___0, w_curs, & offset___2, & size);
  type___0 = (enum object_type )tmp;
  if ((int )type___0 < 0) {
    return (-1);
  }
  if ((int )type___0 == 7) {
    goto _L;
  } else
  if ((int )type___0 == 6) {
    _L: /* CIL Label */
    base_offset = get_delta_base(pack___0, w_curs, & offset___2, type___0, delta_obj_offset);
    if (! base_offset) {
      return (0);
    }
    tmp___0 = offset_to_pack_pos(pack___0, base_offset, & base_pos);
    if (tmp___0 < 0) {
      return (0);
    }
    if ((size_t )base_pos >= pos) {
      return (0);
    }
    tmp___1 = bitmap_get(reuse, (size_t )base_pos);
    if (! tmp___1) {
      return (0);
    }
  }
  bitmap_set(reuse, pos);
  return (0);
}
}
uint32_t midx_preferred_pack(struct bitmap_index *bitmap_git___0 )
{
  struct multi_pack_index *m ;
  uint32_t tmp ;
  uint32_t tmp___0 ;

  {
  m = bitmap_git___0->midx;
  if (! m) {
    BUG_fl((char const   *)"pack-bitmap.c", 1430, (char const   *)"midx_preferred_pack: requires non-empty MIDX");
  }
  tmp = pack_pos_to_midx(bitmap_git___0->midx, (uint32_t )0);
  tmp___0 = nth_midxed_pack_int_id(m, tmp);
  return (tmp___0);
}
}
int reuse_partial_packfile_from_bitmap(struct bitmap_index *bitmap_git___0 , struct packed_git **packfile_out ,
                                       uint32_t *entries___1 , struct bitmap **reuse_out )
{
  struct packed_git *pack___0 ;
  struct bitmap *result___0 ;
  struct bitmap *reuse ;
  struct pack_window *w_curs ;
  size_t i ;
  uint32_t offset___2 ;
  uint32_t objects_nr ;
  uint32_t tmp ;
  int tmp___0 ;
  eword_t word ;
  size_t pos ;
  int tmp___1 ;
  int tmp___2 ;
  size_t tmp___3 ;

  {
  result___0 = bitmap_git___0->result;
  w_curs = (struct pack_window *)((void *)0);
  i = (size_t )0;
  assert((int )result___0);
  load_reverse_index(bitmap_git___0);
  tmp___0 = bitmap_is_midx(bitmap_git___0);
  if (tmp___0) {
    tmp = midx_preferred_pack(bitmap_git___0);
    pack___0 = *((bitmap_git___0->midx)->packs + tmp);
  } else {
    pack___0 = bitmap_git___0->pack;
  }
  objects_nr = pack___0->num_objects;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i < result___0->word_alloc) {
      if (! (*(result___0->words + i) == 18446744073709551615UL)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (i > (unsigned long )objects_nr / (sizeof(eword_t ) * 8UL)) {
    i = (unsigned long )objects_nr / (sizeof(eword_t ) * 8UL);
  }
  reuse = bitmap_word_alloc(i);
  memset((void *)reuse->words, 0xFF, i * sizeof(eword_t ));
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < result___0->word_alloc)) {
      goto while_break___0;
    }
    word = *(result___0->words + i);
    pos = i * (sizeof(eword_t ) * 8UL);
    offset___2 = (uint32_t )0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((unsigned long )offset___2 < sizeof(eword_t ) * 8UL)) {
        goto while_break___1;
      }
      if (word >> offset___2 == 0UL) {
        goto while_break___1;
      }
      tmp___1 = __builtin_ctzll((unsigned long long )(word >> offset___2));
      offset___2 += (uint32_t )tmp___1;
      tmp___2 = try_partial_reuse(pack___0, pos + (size_t )offset___2, reuse, & w_curs);
      if (tmp___2 < 0) {
        goto done;
      }
      offset___2 ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  done:
  unuse_pack(& w_curs);
  tmp___3 = bitmap_popcount(reuse);
  *entries___1 = (uint32_t )tmp___3;
  if (! *entries___1) {
    bitmap_free(reuse);
    return (-1);
  }
  bitmap_and_not(result___0, reuse);
  *packfile_out = pack___0;
  *reuse_out = reuse;
  return (0);
}
}
int bitmap_walk_contains(struct bitmap_index *bitmap_git___0 , struct bitmap *bitmap ,
                         struct object_id  const  *oid )
{
  int idx___0 ;
  int tmp ;
  int tmp___0 ;

  {
  if (! bitmap) {
    return (0);
  }
  idx___0 = bitmap_position(bitmap_git___0, oid);
  if (idx___0 >= 0) {
    tmp = bitmap_get(bitmap, (size_t )idx___0);
    if (tmp) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
void traverse_bitmap_commit_list(struct bitmap_index *bitmap_git___0 , struct rev_info *revs ,
                                 int (*show_reachable)(struct object_id  const  *oid ,
                                                       enum object_type type , int flags ,
                                                       uint32_t hash , struct packed_git *found_pack ,
                                                       off_t found_offset ) )
{


  {
  assert((int )bitmap_git___0->result);
  show_objects_for_type(bitmap_git___0, (enum object_type )1, show_reachable);
  if (revs->tree_objects) {
    show_objects_for_type(bitmap_git___0, (enum object_type )2, show_reachable);
  }
  if (revs->blob_objects) {
    show_objects_for_type(bitmap_git___0, (enum object_type )3, show_reachable);
  }
  if (revs->tag_objects) {
    show_objects_for_type(bitmap_git___0, (enum object_type )4, show_reachable);
  }
  show_extended_objects(bitmap_git___0, revs, show_reachable);
  return;
}
}
static uint32_t count_object_type(struct bitmap_index *bitmap_git___0 , enum object_type type___0 )
{
  struct bitmap *objects___0 ;
  struct eindex *eindex ;
  uint32_t i ;
  uint32_t count___0 ;
  struct ewah_iterator it ;
  eword_t filter___0 ;
  eword_t word ;
  uint32_t tmp ;
  uint32_t tmp___0 ;
  int tmp___1 ;
  uint32_t tmp___2 ;
  int tmp___3 ;

  {
  objects___0 = bitmap_git___0->result;
  eindex = & bitmap_git___0->ext_index;
  i = (uint32_t )0;
  count___0 = (uint32_t )0;
  init_type_iterator(& it, bitmap_git___0, type___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((size_t )i < objects___0->word_alloc) {
      tmp___1 = ewah_iterator_next(& filter___0, & it);
      if (! tmp___1) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = i;
    i ++;
    word = *(objects___0->words + tmp) & filter___0;
    tmp___0 = ewah_bit_popcount64(word);
    count___0 += tmp___0;
  }
  while_break: /* CIL Label */ ;
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < eindex->count)) {
      goto while_break___0;
    }
    if ((*(eindex->objects + i))->type == (unsigned int )type___0) {
      tmp___2 = bitmap_num_objects(bitmap_git___0);
      tmp___3 = bitmap_get(objects___0, (size_t )(tmp___2 + i));
      if (tmp___3) {
        count___0 ++;
      }
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (count___0);
}
}
void count_bitmap_commit_list(struct bitmap_index *bitmap_git___0 , uint32_t *commits ,
                              uint32_t *trees___0 , uint32_t *blobs , uint32_t *tags___2 )
{


  {
  assert((int )bitmap_git___0->result);
  if (commits) {
    *commits = count_object_type(bitmap_git___0, (enum object_type )1);
  }
  if (trees___0) {
    *trees___0 = count_object_type(bitmap_git___0, (enum object_type )2);
  }
  if (blobs) {
    *blobs = count_object_type(bitmap_git___0, (enum object_type )3);
  }
  if (tags___2) {
    *tags___2 = count_object_type(bitmap_git___0, (enum object_type )4);
  }
  return;
}
}
static void test_bitmap_type(struct bitmap_test_data *tdata , struct object *obj ,
                             int pos )
{
  enum object_type bitmap_type ;
  int bitmaps_nr ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;
  char const   *tmp___5 ;
  char const   *tmp___6 ;
  char *tmp___7 ;

  {
  bitmap_type = (enum object_type )0;
  bitmaps_nr = 0;
  tmp = bitmap_get(tdata->commits, (size_t )pos);
  if (tmp) {
    bitmap_type = (enum object_type )1;
    bitmaps_nr ++;
  }
  tmp___0 = bitmap_get(tdata->trees, (size_t )pos);
  if (tmp___0) {
    bitmap_type = (enum object_type )2;
    bitmaps_nr ++;
  }
  tmp___1 = bitmap_get(tdata->blobs, (size_t )pos);
  if (tmp___1) {
    bitmap_type = (enum object_type )3;
    bitmaps_nr ++;
  }
  tmp___2 = bitmap_get(tdata->tags, (size_t )pos);
  if (tmp___2) {
    bitmap_type = (enum object_type )4;
    bitmaps_nr ++;
  }
  if ((int )bitmap_type == 0) {
    tmp___3 = oid_to_hex((struct object_id  const  *)(& obj->oid));
    die((char const   *)"object %s not found in type bitmaps", tmp___3);
  }
  if (bitmaps_nr > 1) {
    tmp___4 = oid_to_hex((struct object_id  const  *)(& obj->oid));
    die((char const   *)"object %s does not have a unique type", tmp___4);
  }
  if ((unsigned int )bitmap_type != obj->type) {
    tmp___5 = type_name((unsigned int )bitmap_type);
    tmp___6 = type_name(obj->type);
    tmp___7 = oid_to_hex((struct object_id  const  *)(& obj->oid));
    die((char const   *)"object %s: real type %s, expected: %s", tmp___7, tmp___6,
        tmp___5);
  }
  return;
}
}
static void test_show_object(struct object *object , char const   *name___0 , void *data )
{
  struct bitmap_test_data *tdata ;
  int bitmap_pos ;
  char *tmp ;

  {
  tdata = (struct bitmap_test_data *)data;
  bitmap_pos = bitmap_position(tdata->bitmap_git, (struct object_id  const  *)(& object->oid));
  if (bitmap_pos < 0) {
    tmp = oid_to_hex((struct object_id  const  *)(& object->oid));
    die((char const   *)"Object not in bitmap: %s\n", tmp);
  }
  test_bitmap_type(tdata, object, bitmap_pos);
  bitmap_set(tdata->base, (size_t )bitmap_pos);
  (tdata->seen) ++;
  display_progress(tdata->prg, tdata->seen);
  return;
}
}
static void test_show_commit(struct commit *commit , void *data )
{
  struct bitmap_test_data *tdata ;
  int bitmap_pos ;
  char *tmp ;

  {
  tdata = (struct bitmap_test_data *)data;
  bitmap_pos = bitmap_position(tdata->bitmap_git, (struct object_id  const  *)(& commit->object.oid));
  if (bitmap_pos < 0) {
    tmp = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    die((char const   *)"Object not in bitmap: %s\n", tmp);
  }
  test_bitmap_type(tdata, & commit->object, bitmap_pos);
  bitmap_set(tdata->base, (size_t )bitmap_pos);
  (tdata->seen) ++;
  display_progress(tdata->prg, tdata->seen);
  return;
}
}
void test_bitmap_walk(struct rev_info *revs )
{
  struct object *root ;
  struct bitmap *result___0 ;
  size_t result_popcnt ;
  struct bitmap_test_data tdata ;
  struct bitmap_index *bitmap_git___0 ;
  struct ewah_bitmap *bm ;
  uint32_t tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  result___0 = (struct bitmap *)((void *)0);
  bitmap_git___0 = prepare_bitmap_git(revs->repo);
  if (! bitmap_git___0) {
    die((char const   *)"failed to load bitmap indexes");
  }
  if (revs->pending.nr != 1U) {
    die((char const   *)"you must specify exactly one commit to test");
  }
  fprintf(stderr, (char const   *)"Bitmap v%d test (%d entries loaded)\n", bitmap_git___0->version,
          bitmap_git___0->entry_count);
  root = (revs->pending.objects + 0)->item;
  bm = bitmap_for_commit(bitmap_git___0, (struct commit *)root);
  if (bm) {
    tmp = ewah_checksum(bm);
    tmp___0 = oid_to_hex((struct object_id  const  *)(& root->oid));
    fprintf(stderr, (char const   *)"Found bitmap for %s. %d bits / %08x checksum\n",
            tmp___0, (int )bm->bit_size, tmp);
    result___0 = ewah_to_bitmap(bm);
  }
  if ((unsigned long )result___0 == (unsigned long )((void *)0)) {
    tmp___1 = oid_to_hex((struct object_id  const  *)(& root->oid));
    die((char const   *)"Commit %s doesn\'t have an indexed bitmap", tmp___1);
  }
  revs->tag_objects = 1U;
  revs->tree_objects = 1U;
  revs->blob_objects = 1U;
  result_popcnt = bitmap_popcount(result___0);
  tmp___2 = prepare_revision_walk(revs);
  if (tmp___2) {
    die((char const   *)"revision walk setup failed");
  }
  tdata.bitmap_git = bitmap_git___0;
  tdata.base = bitmap_new();
  tdata.commits = ewah_to_bitmap(bitmap_git___0->commits);
  tdata.trees = ewah_to_bitmap(bitmap_git___0->trees);
  tdata.blobs = ewah_to_bitmap(bitmap_git___0->blobs);
  tdata.tags = ewah_to_bitmap(bitmap_git___0->tags);
  tdata.prg = start_progress((char const   *)"Verifying bitmap entries", result_popcnt);
  tdata.seen = (size_t )0;
  traverse_commit_list(revs, & test_show_commit, & test_show_object, (void *)(& tdata));
  stop_progress(& tdata.prg);
  tmp___3 = bitmap_equals(result___0, tdata.base);
  if (tmp___3) {
    fprintf(stderr, (char const   *)"OK!\n");
  } else {
    die((char const   *)"mismatch in bitmap results");
  }
  bitmap_free(result___0);
  bitmap_free(tdata.base);
  bitmap_free(tdata.commits);
  bitmap_free(tdata.trees);
  bitmap_free(tdata.blobs);
  bitmap_free(tdata.tags);
  free_bitmap_index(bitmap_git___0);
  return;
}
}
int test_bitmap_commits(struct repository *r )
{
  struct bitmap_index *bitmap_git___0 ;
  struct bitmap_index *tmp ;
  struct object_id oid ;
  void *value  __attribute__((__unused__)) ;
  khint_t __i ;
  char *tmp___0 ;

  {
  tmp = prepare_bitmap_git(r);
  bitmap_git___0 = tmp;
  if (! bitmap_git___0) {
    die((char const   *)"failed to load bitmap indexes");
  }
  __i = (khint_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (__i != (bitmap_git___0->bitmaps)->n_buckets)) {
      goto while_break;
    }
    if (! (! ((*((bitmap_git___0->bitmaps)->flags + (__i >> 4)) >> ((__i & 0xfU) << 1)) & 3U))) {
      goto __Cont;
    }
    oid = *((bitmap_git___0->bitmaps)->keys + __i);
    value = *((bitmap_git___0->bitmaps)->vals + __i);
    tmp___0 = oid_to_hex((struct object_id  const  *)(& oid));
    printf((char const   *)"%s\n", tmp___0);
    __Cont: /* CIL Label */
    __i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free_bitmap_index(bitmap_git___0);
  return (0);
}
}
int test_bitmap_hashes(struct repository *r )
{
  struct bitmap_index *bitmap_git___0 ;
  struct bitmap_index *tmp ;
  struct object_id oid ;
  uint32_t i ;
  uint32_t index_pos ;
  int tmp___0 ;
  uint32_t tmp___1 ;
  char *tmp___2 ;
  uint32_t tmp___3 ;

  {
  tmp = prepare_bitmap_git(r);
  bitmap_git___0 = tmp;
  if (! bitmap_git___0) {
    goto cleanup;
  } else
  if (! bitmap_git___0->hashes) {
    goto cleanup;
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = bitmap_num_objects(bitmap_git___0);
    if (! (i < tmp___3)) {
      goto while_break;
    }
    tmp___0 = bitmap_is_midx(bitmap_git___0);
    if (tmp___0) {
      index_pos = pack_pos_to_midx(bitmap_git___0->midx, i);
    } else {
      index_pos = pack_pos_to_index(bitmap_git___0->pack, i);
    }
    nth_bitmap_object_oid(bitmap_git___0, & oid, index_pos);
    tmp___1 = get_be32((void const   *)(bitmap_git___0->hashes + index_pos));
    tmp___2 = oid_to_hex((struct object_id  const  *)(& oid));
    printf((char const   *)"%s %u\n", tmp___2, tmp___1);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  cleanup:
  free_bitmap_index(bitmap_git___0);
  return (0);
}
}
int rebuild_bitmap(uint32_t const   *reposition , struct ewah_bitmap *source , struct bitmap *dest )
{
  uint32_t pos ;
  struct ewah_iterator it ;
  eword_t word ;
  uint32_t offset___2 ;
  uint32_t bit_pos ;
  int tmp ;
  int tmp___0 ;

  {
  pos = (uint32_t )0;
  ewah_iterator_init(& it, source);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = ewah_iterator_next(& word, & it);
    if (! tmp___0) {
      goto while_break;
    }
    offset___2 = (uint32_t )0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned long )offset___2 < sizeof(eword_t ) * 8UL)) {
        goto while_break___0;
      }
      if (word >> offset___2 == 0UL) {
        goto while_break___0;
      }
      tmp = __builtin_ctzll((unsigned long long )(word >> offset___2));
      offset___2 += (uint32_t )tmp;
      bit_pos = (uint32_t )*(reposition + (pos + offset___2));
      if (bit_pos > 0U) {
        bitmap_set(dest, (size_t )(bit_pos - 1U));
      } else {
        return (-1);
      }
      offset___2 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    pos = (uint32_t )((unsigned long )pos + sizeof(eword_t ) * 8UL);
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
uint32_t *create_bitmap_mapping(struct bitmap_index *bitmap_git___0 , struct packing_data *mapping )
{
  uint32_t i ;
  uint32_t num_objects ;
  uint32_t *reposition ;
  int tmp ;
  int tmp___0 ;
  void *tmp___1 ;
  struct object_id oid ;
  struct object_entry *oe ;
  uint32_t index_pos ;
  int tmp___2 ;
  unsigned int tmp___3 ;

  {
  tmp___0 = bitmap_is_midx(bitmap_git___0);
  if (tmp___0) {
    tmp = load_midx_revindex(bitmap_git___0->midx);
    if (tmp < 0) {
      BUG_fl((char const   *)"pack-bitmap.c", 1824, (char const   *)"rebuild_existing_bitmaps: missing required rev-cache extension");
    }
  } else {
    load_reverse_index(bitmap_git___0);
  }
  num_objects = bitmap_num_objects(bitmap_git___0);
  tmp___1 = xcalloc((size_t )num_objects, sizeof(*reposition));
  reposition = (uint32_t *)tmp___1;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < num_objects)) {
      goto while_break;
    }
    tmp___2 = bitmap_is_midx(bitmap_git___0);
    if (tmp___2) {
      index_pos = pack_pos_to_midx(bitmap_git___0->midx, i);
    } else {
      index_pos = pack_pos_to_index(bitmap_git___0->pack, i);
    }
    nth_bitmap_object_oid(bitmap_git___0, & oid, index_pos);
    oe = packlist_find(mapping, (struct object_id  const  *)(& oid));
    if (oe) {
      tmp___3 = oe_in_pack_pos((struct packing_data  const  *)mapping, (struct object_entry  const  *)oe);
      *(reposition + i) = tmp___3 + 1U;
      if (bitmap_git___0->hashes) {
        if (! oe->hash) {
          oe->hash = get_be32((void const   *)(bitmap_git___0->hashes + index_pos));
        }
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (reposition);
}
}
void free_bitmap_index(struct bitmap_index *b___0 )
{
  struct stored_bitmap *sb___6 ;
  khint_t __i ;
  int tmp ;

  {
  if (! b___0) {
    return;
  }
  if (b___0->map) {
    munmap((void *)b___0->map, b___0->map_size);
  }
  ewah_pool_free(b___0->commits);
  ewah_pool_free(b___0->trees);
  ewah_pool_free(b___0->blobs);
  ewah_pool_free(b___0->tags);
  if (b___0->bitmaps) {
    __i = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (__i != (b___0->bitmaps)->n_buckets)) {
        goto while_break;
      }
      if (! (! ((*((b___0->bitmaps)->flags + (__i >> 4)) >> ((__i & 0xfU) << 1)) & 3U))) {
        goto __Cont;
      }
      sb___6 = (struct stored_bitmap *)*((b___0->bitmaps)->vals + __i);
      ewah_pool_free(sb___6->root);
      free((void *)sb___6);
      __Cont: /* CIL Label */
      __i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  kh_destroy_oid_map(b___0->bitmaps);
  free((void *)b___0->ext_index.objects);
  free((void *)b___0->ext_index.hashes);
  kh_destroy_oid_pos(b___0->ext_index.positions);
  bitmap_free(b___0->result);
  bitmap_free(b___0->haves);
  tmp = bitmap_is_midx(b___0);
  if (tmp) {
    close_midx_revindex(b___0->midx);
  }
  free((void *)b___0);
  return;
}
}
int bitmap_has_oid_in_uninteresting(struct bitmap_index *bitmap_git___0 , struct object_id  const  *oid )
{
  int tmp ;
  int tmp___0 ;

  {
  if (bitmap_git___0) {
    tmp = bitmap_walk_contains(bitmap_git___0, bitmap_git___0->haves, oid);
    if (tmp) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static off_t get_disk_usage_for_type(struct bitmap_index *bitmap_git___0 , enum object_type object_type___0 )
{
  struct bitmap *result___0 ;
  off_t total ;
  struct ewah_iterator it ;
  eword_t filter___0 ;
  size_t i ;
  eword_t word ;
  size_t base ;
  unsigned int offset___2 ;
  int tmp ;
  uint32_t pack_pos ;
  uint32_t midx_pos ;
  uint32_t tmp___0 ;
  off_t offset___3 ;
  off_t tmp___1 ;
  uint32_t pack_id___0 ;
  uint32_t tmp___2 ;
  struct packed_git *pack___0 ;
  struct object_id oid ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  off_t tmp___6 ;
  size_t pos ;
  off_t tmp___7 ;
  off_t tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  result___0 = bitmap_git___0->result;
  total = (off_t )0;
  init_type_iterator(& it, bitmap_git___0, object_type___0);
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i < result___0->word_alloc) {
      tmp___10 = ewah_iterator_next(& filter___0, & it);
      if (! tmp___10) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    word = *(result___0->words + i) & filter___0;
    base = i * (sizeof(eword_t ) * 8UL);
    if (! word) {
      goto __Cont;
    }
    offset___2 = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned long )offset___2 < sizeof(eword_t ) * 8UL)) {
        goto while_break___0;
      }
      if (word >> offset___2 == 0UL) {
        goto while_break___0;
      }
      tmp = __builtin_ctzll((unsigned long long )(word >> offset___2));
      offset___2 += (unsigned int )tmp;
      tmp___9 = bitmap_is_midx(bitmap_git___0);
      if (tmp___9) {
        tmp___0 = pack_pos_to_midx(bitmap_git___0->midx, (uint32_t )(base + (size_t )offset___2));
        midx_pos = tmp___0;
        tmp___1 = nth_midxed_offset(bitmap_git___0->midx, midx_pos);
        offset___3 = tmp___1;
        tmp___2 = nth_midxed_pack_int_id(bitmap_git___0->midx, midx_pos);
        pack_id___0 = tmp___2;
        pack___0 = *((bitmap_git___0->midx)->packs + pack_id___0);
        tmp___5 = offset_to_pack_pos(pack___0, offset___3, & pack_pos);
        if (tmp___5 < 0) {
          nth_midxed_object_oid(& oid, bitmap_git___0->midx, midx_pos);
          tmp___3 = oid_to_hex((struct object_id  const  *)(& oid));
          tmp___4 = _((char const   *)"could not find %s in pack %s at offset %lu");
          die((char const   *)tmp___4, tmp___3, pack___0->pack_name, (uintmax_t )offset___3);
        }
        tmp___6 = pack_pos_to_offset(pack___0, pack_pos + 1U);
        total += tmp___6 - offset___3;
      } else {
        pos = base + (size_t )offset___2;
        tmp___7 = pack_pos_to_offset(bitmap_git___0->pack, (uint32_t )(pos + 1UL));
        tmp___8 = pack_pos_to_offset(bitmap_git___0->pack, (uint32_t )pos);
        total += tmp___7 - tmp___8;
      }
      offset___2 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (total);
}
}
static off_t get_disk_usage_for_extended(struct bitmap_index *bitmap_git___0 )
{
  struct bitmap *result___0 ;
  struct eindex *eindex ;
  off_t total ;
  struct object_info oi___0 ;
  off_t object_size ;
  size_t i ;
  struct object *obj ;
  uint32_t tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  result___0 = bitmap_git___0->result;
  eindex = & bitmap_git___0->ext_index;
  total = (off_t )0;
  oi___0.typep = (enum object_type *)0;
  oi___0.sizep = (unsigned long *)0;
  oi___0.disk_sizep = (off_t *)0;
  oi___0.delta_base_oid = (struct object_id *)0;
  oi___0.type_name = (struct strbuf *)0;
  oi___0.contentp = (void **)0;
  oi___0.whence = 0U;
  oi___0.u.packed.pack = (struct packed_git *)0;
  oi___0.u.packed.offset = 0L;
  oi___0.u.packed.is_delta = 0U;
  oi___0.disk_sizep = & object_size;
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (size_t )eindex->count)) {
      goto while_break;
    }
    obj = *(eindex->objects + i);
    tmp = bitmap_num_objects(bitmap_git___0);
    tmp___0 = bitmap_get(result___0, (size_t )tmp + i);
    if (! tmp___0) {
      goto __Cont;
    }
    tmp___3 = oid_object_info_extended(the_repository, (struct object_id  const  *)(& obj->oid),
                                       & oi___0, 0U);
    if (tmp___3 < 0) {
      tmp___1 = oid_to_hex((struct object_id  const  *)(& obj->oid));
      tmp___2 = _((char const   *)"unable to get disk usage of %s");
      die((char const   *)tmp___2, tmp___1);
    }
    total += object_size;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (total);
}
}
off_t get_disk_usage_from_bitmap(struct bitmap_index *bitmap_git___0 , struct rev_info *revs )
{
  off_t total ;
  off_t tmp ;
  off_t tmp___0 ;
  off_t tmp___1 ;
  off_t tmp___2 ;
  off_t tmp___3 ;

  {
  total = (off_t )0;
  tmp = get_disk_usage_for_type(bitmap_git___0, (enum object_type )1);
  total += tmp;
  if (revs->tree_objects) {
    tmp___0 = get_disk_usage_for_type(bitmap_git___0, (enum object_type )2);
    total += tmp___0;
  }
  if (revs->blob_objects) {
    tmp___1 = get_disk_usage_for_type(bitmap_git___0, (enum object_type )3);
    total += tmp___1;
  }
  if (revs->tag_objects) {
    tmp___2 = get_disk_usage_for_type(bitmap_git___0, (enum object_type )4);
    total += tmp___2;
  }
  tmp___3 = get_disk_usage_for_extended(bitmap_git___0);
  total += tmp___3;
  return (total);
}
}
int bitmap_is_midx(struct bitmap_index *bitmap_git___0 )
{


  {
  return (! (! bitmap_git___0->midx));
}
}
struct string_list  const  *bitmap_preferred_tips(struct repository *r )
{
  struct string_list  const  *tmp ;

  {
  tmp = repo_config_get_value_multi(r, (char const   *)"pack.preferbitmaptips");
  return (tmp);
}
}
int bitmap_is_preferred_refname(struct repository *r , char const   *refname )
{
  struct string_list  const  *preferred_tips ;
  struct string_list  const  *tmp ;
  struct string_list_item *item___0 ;
  int tmp___0 ;

  {
  tmp = bitmap_preferred_tips(r);
  preferred_tips = tmp;
  if (! preferred_tips) {
    return (0);
  }
  item___0 = (struct string_list_item *)preferred_tips->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(preferred_tips->items + preferred_tips->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___0 = starts_with(refname, (char const   *)item___0->string);
    if (tmp___0) {
      return (1);
    }
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static double const   __ac_HASH_UPPER___61  =    (double const   )0.77;
__inline static void kh_resize_oid_set___61(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___61(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___61 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___61 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___61(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___61(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___61(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___61(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___61(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___61(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___61 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___61 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___61(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___61(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___61(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___61(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___61(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___61(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___61 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___61 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___61(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___61(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___61(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___61(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___45(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___45(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___61 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___61 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___45(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___45(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___45(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___45(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int compare_entries(void const   *e1 , void const   *e2 )
{
  struct idx_entry  const  *entry1 ;
  struct idx_entry  const  *entry2 ;

  {
  entry1 = (struct idx_entry  const  *)e1;
  entry2 = (struct idx_entry  const  *)e2;
  if (entry1->offset < entry2->offset) {
    return (-1);
  }
  if (entry1->offset > entry2->offset) {
    return (1);
  }
  return (0);
}
}
int check_pack_crc(struct packed_git *p___0 , struct pack_window **w_curs , off_t offset___2 ,
                   off_t len___0 , unsigned int nr___0 )
{
  uint32_t const   *index_crc ;
  uint32_t data_crc ;
  uLong tmp ;
  unsigned long avail ;
  void *data ;
  unsigned char *tmp___0 ;
  uLong tmp___1 ;
  uint32_t tmp___2 ;

  {
  tmp = crc32((uLong )0, (Bytef const   *)((void *)0), (uInt )0);
  data_crc = (uint32_t )tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = use_pack(p___0, w_curs, offset___2, & avail);
    data = (void *)tmp___0;
    if (avail > (unsigned long )len___0) {
      avail = (unsigned long )len___0;
    }
    tmp___1 = crc32((uLong )data_crc, (Bytef const   *)data, (uInt )avail);
    data_crc = (uint32_t )tmp___1;
    offset___2 = (off_t )((unsigned long )offset___2 + avail);
    len___0 = (off_t )((unsigned long )len___0 - avail);
    if (! len___0) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  index_crc = (uint32_t const   *)p___0->index_data;
  index_crc += (258UL + (size_t )p___0->num_objects * (size_t )((the_repository->hash_algo)->rawsz / 4UL)) + (size_t )nr___0;
  tmp___2 = git_bswap32((uint32_t )*index_crc);
  return (data_crc != tmp___2);
}
}
static int verify_packfile(struct repository *r , struct packed_git *p___0 , struct pack_window **w_curs ,
                           int (*fn)(struct object_id  const  * , enum object_type  ,
                                     unsigned long  , void * , int * ) , struct progress *progress___7 ,
                           uint32_t base_count )
{
  off_t index_size ;
  unsigned char const   *index_base ;
  git_hash_ctx ctx___0 ;
  unsigned char hash___0[32] ;
  unsigned char *pack_sig ;
  off_t offset___2 ;
  off_t pack_sig_ofs ;
  uint32_t nr_objects___1 ;
  uint32_t i ;
  int err___4 ;
  struct idx_entry *entries___1 ;
  int tmp ;
  int tmp___0 ;
  unsigned long remaining ;
  unsigned char *in ;
  unsigned char *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;
  void *data ;
  struct object_id oid ;
  enum object_type type___0 ;
  unsigned long size ;
  off_t curpos ;
  int data_valid ;
  int tmp___6 ;
  off_t offset___3 ;
  off_t len___0 ;
  unsigned int nr___0 ;
  char *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  char *tmp___10 ;
  char *tmp___11 ;
  int eaten ;
  int tmp___12 ;
  char const   *tmp___13 ;
  int tmp___14 ;

  {
  index_size = (off_t )p___0->index_size;
  index_base = (unsigned char const   *)p___0->index_data;
  offset___2 = (off_t )0;
  pack_sig_ofs = (off_t )0;
  err___4 = 0;
  tmp___0 = is_pack_valid(p___0);
  if (! tmp___0) {
    error((char const   *)"packfile %s cannot be accessed", p___0->pack_name);
    tmp = const_error();
    return (tmp);
  }
  (*((r->hash_algo)->init_fn))(& ctx___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = use_pack(p___0, w_curs, offset___2, & remaining);
    in = tmp___1;
    offset___2 = (off_t )((unsigned long )offset___2 + remaining);
    if (! pack_sig_ofs) {
      pack_sig_ofs = (off_t )((size_t )p___0->pack_size - (r->hash_algo)->rawsz);
    }
    if (offset___2 > pack_sig_ofs) {
      remaining -= (unsigned long )((unsigned int )(offset___2 - pack_sig_ofs));
    }
    (*((r->hash_algo)->update_fn))(& ctx___0, (void const   *)in, remaining);
    if (! (offset___2 < pack_sig_ofs)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  (*((r->hash_algo)->final_fn))(hash___0, & ctx___0);
  pack_sig = use_pack(p___0, w_curs, pack_sig_ofs, (unsigned long *)((void *)0));
  tmp___2 = hasheq((unsigned char const   *)(hash___0), (unsigned char const   *)pack_sig);
  if (! tmp___2) {
    error((char const   *)"%s pack checksum mismatch", p___0->pack_name);
    err___4 = const_error();
  }
  tmp___3 = hasheq((index_base + index_size) - (r->hash_algo)->hexsz, (unsigned char const   *)pack_sig);
  if (! tmp___3) {
    error((char const   *)"%s pack checksum does not match its index", p___0->pack_name);
    err___4 = const_error();
  }
  unuse_pack(w_curs);
  nr_objects___1 = p___0->num_objects;
  tmp___4 = st_mult(sizeof(*entries___1), (size_t )(nr_objects___1 + 1U));
  tmp___5 = xmalloc(tmp___4);
  entries___1 = (struct idx_entry *)tmp___5;
  (entries___1 + nr_objects___1)->offset = pack_sig_ofs;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < nr_objects___1)) {
      goto while_break___0;
    }
    (entries___1 + i)->offset = nth_packed_object_offset((struct packed_git  const  *)p___0,
                                                         i);
    (entries___1 + i)->nr = i;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  sane_qsort((void *)entries___1, (size_t )nr_objects___1, sizeof(*entries___1), & compare_entries);
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < nr_objects___1)) {
      goto while_break___1;
    }
    tmp___6 = nth_packed_object_id(& oid, p___0, (entries___1 + i)->nr);
    if (tmp___6 < 0) {
      BUG_fl((char const   *)"pack-check.c", 111, (char const   *)"unable to get oid of object %lu from %s",
             (unsigned long )(entries___1 + i)->nr, p___0->pack_name);
    }
    if (p___0->index_version > 1) {
      offset___3 = (entries___1 + i)->offset;
      len___0 = (entries___1 + (i + 1U))->offset - offset___3;
      nr___0 = (entries___1 + i)->nr;
      tmp___8 = check_pack_crc(p___0, w_curs, offset___3, len___0, nr___0);
      if (tmp___8) {
        tmp___7 = oid_to_hex((struct object_id  const  *)(& oid));
        error((char const   *)"index CRC mismatch for object %s from %s at offset %lu",
              tmp___7, p___0->pack_name, (uintmax_t )offset___3);
        err___4 = const_error();
      }
    }
    curpos = (entries___1 + i)->offset;
    tmp___9 = unpack_object_header(p___0, w_curs, & curpos, & size);
    type___0 = (enum object_type )tmp___9;
    unuse_pack(w_curs);
    if ((int )type___0 == 3) {
      if (big_file_threshold <= size) {
        data = (void *)0;
        data_valid = 0;
      } else {
        data = unpack_entry(r, p___0, (entries___1 + i)->offset, & type___0, & size);
        data_valid = 1;
      }
    } else {
      data = unpack_entry(r, p___0, (entries___1 + i)->offset, & type___0, & size);
      data_valid = 1;
    }
    if (data_valid) {
      if (! data) {
        tmp___10 = oid_to_hex((struct object_id  const  *)(& oid));
        error((char const   *)"cannot unpack %s from %s at offset %lu", tmp___10,
              p___0->pack_name, (uintmax_t )(entries___1 + i)->offset);
        err___4 = const_error();
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      tmp___13 = type_name((unsigned int )type___0);
      tmp___14 = check_object_signature(r, (struct object_id  const  *)(& oid), data,
                                        size, tmp___13, (struct object_id *)((void *)0));
      if (tmp___14) {
        tmp___11 = oid_to_hex((struct object_id  const  *)(& oid));
        error((char const   *)"packed %s from %s is corrupt", tmp___11, p___0->pack_name);
        err___4 = const_error();
      } else
      if (fn) {
        eaten = 0;
        tmp___12 = (*fn)((struct object_id  const  *)(& oid), type___0, size, data,
                         & eaten);
        err___4 |= tmp___12;
        if (eaten) {
          data = (void *)0;
        }
      }
    }
    if (((base_count + i) & 1023U) == 0U) {
      display_progress(progress___7, (uint64_t )(base_count + i));
    }
    free(data);
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  display_progress(progress___7, (uint64_t )(base_count + i));
  free((void *)entries___1);
  return (err___4);
}
}
int verify_pack_index(struct packed_git *p___0 )
{
  int err___4 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  err___4 = 0;
  tmp___0 = open_pack_index(p___0);
  if (tmp___0) {
    error((char const   *)"packfile %s index not opened", p___0->pack_name);
    tmp = const_error();
    return (tmp);
  }
  tmp___1 = hashfile_checksum_valid((unsigned char const   *)p___0->index_data, p___0->index_size);
  if (! tmp___1) {
    error((char const   *)"Packfile index for %s hash mismatch", p___0->pack_name);
    err___4 = const_error();
  }
  return (err___4);
}
}
int verify_pack(struct repository *r , struct packed_git *p___0 , int (*fn)(struct object_id  const  * ,
                                                                            enum object_type  ,
                                                                            unsigned long  ,
                                                                            void * ,
                                                                            int * ) ,
                struct progress *progress___7 , uint32_t base_count )
{
  int err___4 ;
  struct pack_window *w_curs ;
  int tmp ;
  int tmp___0 ;

  {
  err___4 = 0;
  w_curs = (struct pack_window *)((void *)0);
  tmp = verify_pack_index(p___0);
  err___4 |= tmp;
  if (! p___0->index_data) {
    return (-1);
  }
  tmp___0 = verify_packfile(r, p___0, & w_curs, fn, progress___7, base_count);
  err___4 |= tmp___0;
  unuse_pack(& w_curs);
  return (err___4);
}
}
static double const   __ac_HASH_UPPER___62  =    (double const   )0.77;
__inline static void kh_resize_oid_set___62(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___62(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___62 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___62 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___62(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___62(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___62(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___62(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___62(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___62(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___62 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___62 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___62(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___62(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___62(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___62(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___62(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___62(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___62 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___62 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___62(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___62(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___62(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___62(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___46(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___46(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___62 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___62 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___46(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___46(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___46(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___46(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static uint32_t locate_object_entry_hash(struct packing_data *pdata , struct object_id  const  *oid ,
                                         int *found )
{
  uint32_t i ;
  uint32_t mask ;
  unsigned int tmp ;
  uint32_t pos ;
  int tmp___0 ;

  {
  mask = pdata->index_size - 1U;
  tmp = oidhash(oid);
  i = tmp & mask;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (*(pdata->index + i) > 0)) {
      goto while_break;
    }
    pos = (uint32_t )(*(pdata->index + i) - 1);
    tmp___0 = oideq(oid, (struct object_id  const  *)(& (pdata->objects + pos)->idx.oid));
    if (tmp___0) {
      *found = 1;
      return (i);
    }
    i = (i + 1U) & mask;
  }
  while_break: /* CIL Label */ ;
  }
  *found = 0;
  return (i);
}
}
__inline static uint32_t closest_pow2(uint32_t v )
{


  {
  v --;
  v |= v >> 1;
  v |= v >> 2;
  v |= v >> 4;
  v |= v >> 8;
  v |= v >> 16;
  return (v + 1U);
}
}
static void rehash_objects(struct packing_data *pdata )
{
  uint32_t i ;
  struct object_entry *entry ;
  void *tmp ;
  int found ;
  uint32_t ix ;
  uint32_t tmp___0 ;

  {
  pdata->index_size = closest_pow2(pdata->nr_objects * 3U);
  if (pdata->index_size < 1024U) {
    pdata->index_size = (uint32_t )1024;
  }
  free((void *)pdata->index);
  tmp = xcalloc((size_t )pdata->index_size, sizeof(*(pdata->index)));
  pdata->index = (int32_t *)tmp;
  entry = pdata->objects;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < pdata->nr_objects)) {
      goto while_break;
    }
    tmp___0 = locate_object_entry_hash(pdata, (struct object_id  const  *)(& entry->idx.oid),
                                       & found);
    ix = tmp___0;
    if (found) {
      BUG_fl((char const   *)"pack-objects.c", 63, (char const   *)"Duplicate object in hash");
    }
    *(pdata->index + ix) = (int32_t )(i + 1U);
    entry ++;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
struct object_entry *packlist_find(struct packing_data *pdata , struct object_id  const  *oid )
{
  uint32_t i ;
  int found ;

  {
  if (! pdata->index_size) {
    return ((struct object_entry *)((void *)0));
  }
  i = locate_object_entry_hash(pdata, oid, & found);
  if (! found) {
    return ((struct object_entry *)((void *)0));
  }
  return (pdata->objects + (*(pdata->index + i) - 1));
}
}
static void prepare_in_pack_by_idx(struct packing_data *pdata )
{
  struct packed_git **mapping ;
  struct packed_git *p___0 ;
  int cnt ;
  int nr___0 ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  cnt = 0;
  nr___0 = (int )(1U << 10);
  tmp = st_mult(sizeof(*mapping), (size_t )nr___0);
  tmp___0 = xmalloc(tmp);
  mapping = (struct packed_git **)tmp___0;
  tmp___1 = cnt;
  cnt ++;
  *(mapping + tmp___1) = (struct packed_git *)((void *)0);
  p___0 = get_all_packs(pdata->repo);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if (cnt == nr___0) {
      free((void *)mapping);
      return;
    }
    p___0->index = cnt;
    *(mapping + cnt) = p___0;
    p___0 = p___0->next;
    cnt ++;
  }
  while_break: /* CIL Label */ ;
  }
  pdata->in_pack_by_idx = mapping;
  return;
}
}
void oe_map_new_pack(struct packing_data *pack___0 )
{
  uint32_t i ;
  size_t tmp ;
  void *tmp___0 ;

  {
  if (pack___0->in_pack) {
    BUG_fl((char const   *)"pack-objects.c", 123, (char const   *)"packing_data has already been converted to pack array");
  }
  tmp = st_mult(sizeof(*(pack___0->in_pack)), (size_t )pack___0->nr_alloc);
  tmp___0 = xmalloc(tmp);
  pack___0->in_pack = (struct packed_git **)tmp___0;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < pack___0->nr_objects)) {
      goto while_break;
    }
    *(pack___0->in_pack + i) = oe_in_pack((struct packing_data  const  *)pack___0,
                                          (struct object_entry  const  *)(pack___0->objects + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)pack___0->in_pack_by_idx);
    pack___0->in_pack_by_idx = (struct packed_git **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
void prepare_packing_data(struct repository *r , struct packing_data *pdata )
{
  int tmp ;

  {
  pdata->repo = r;
  tmp = git_env_bool((char const   *)"GIT_TEST_FULL_IN_PACK_ARRAY", 0);
  if (! tmp) {
    prepare_in_pack_by_idx(pdata);
  }
  pdata->oe_size_limit = git_env_ulong((char const   *)"GIT_TEST_OE_SIZE", (unsigned long )(1U << 31));
  pdata->oe_delta_size_limit = git_env_ulong((char const   *)"GIT_TEST_OE_DELTA_SIZE",
                                             1UL << 23);
  init_recursive_mutex(& pdata->odb_lock);
  return;
}
}
struct object_entry *packlist_alloc(struct packing_data *pdata , struct object_id  const  *oid )
{
  struct object_entry *new_entry ;
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  size_t tmp___7 ;
  void *tmp___8 ;
  uint32_t tmp___9 ;
  int found ;
  uint32_t pos ;
  uint32_t tmp___10 ;

  {
  if (pdata->nr_objects >= pdata->nr_alloc) {
    pdata->nr_alloc = ((pdata->nr_alloc + 1024U) * 3U) / 2U;
    tmp = st_mult(sizeof(*(pdata->objects)), (size_t )pdata->nr_alloc);
    tmp___0 = xrealloc((void *)pdata->objects, tmp);
    pdata->objects = (struct object_entry *)tmp___0;
    if (! pdata->in_pack_by_idx) {
      tmp___1 = st_mult(sizeof(*(pdata->in_pack)), (size_t )pdata->nr_alloc);
      tmp___2 = xrealloc((void *)pdata->in_pack, tmp___1);
      pdata->in_pack = (struct packed_git **)tmp___2;
    }
    if (pdata->delta_size) {
      tmp___3 = st_mult(sizeof(*(pdata->delta_size)), (size_t )pdata->nr_alloc);
      tmp___4 = xrealloc((void *)pdata->delta_size, tmp___3);
      pdata->delta_size = (unsigned long *)tmp___4;
    }
    if (pdata->tree_depth) {
      tmp___5 = st_mult(sizeof(*(pdata->tree_depth)), (size_t )pdata->nr_alloc);
      tmp___6 = xrealloc((void *)pdata->tree_depth, tmp___5);
      pdata->tree_depth = (unsigned int *)tmp___6;
    }
    if (pdata->layer) {
      tmp___7 = st_mult(sizeof(*(pdata->layer)), (size_t )pdata->nr_alloc);
      tmp___8 = xrealloc((void *)pdata->layer, tmp___7);
      pdata->layer = (unsigned char *)tmp___8;
    }
  }
  tmp___9 = pdata->nr_objects;
  (pdata->nr_objects) ++;
  new_entry = pdata->objects + tmp___9;
  memset((void *)new_entry, 0, sizeof(*new_entry));
  oidcpy(& new_entry->idx.oid, oid);
  if (pdata->index_size * 3U <= pdata->nr_objects * 4U) {
    rehash_objects(pdata);
  } else {
    tmp___10 = locate_object_entry_hash(pdata, (struct object_id  const  *)(& new_entry->idx.oid),
                                        & found);
    pos = tmp___10;
    if (found) {
      BUG_fl((char const   *)"pack-objects.c", 188, (char const   *)"duplicate object inserted into hash");
    }
    *(pdata->index + pos) = (int32_t )pdata->nr_objects;
  }
  if (pdata->in_pack) {
    *(pdata->in_pack + (pdata->nr_objects - 1U)) = (struct packed_git *)((void *)0);
  }
  if (pdata->tree_depth) {
    *(pdata->tree_depth + (pdata->nr_objects - 1U)) = 0U;
  }
  if (pdata->layer) {
    *(pdata->layer + (pdata->nr_objects - 1U)) = (unsigned char)0;
  }
  return (new_entry);
}
}
void oe_set_delta_ext(struct packing_data *pdata , struct object_entry *delta , struct object_id  const  *oid )
{
  struct object_entry *base ;
  size_t tmp ;
  void *tmp___0 ;
  uint32_t tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (pdata->nr_ext + 1U > pdata->alloc_ext) {
      if (((pdata->alloc_ext + 16U) * 3U) / 2U < pdata->nr_ext + 1U) {
        pdata->alloc_ext = pdata->nr_ext + 1U;
      } else {
        pdata->alloc_ext = ((pdata->alloc_ext + 16U) * 3U) / 2U;
      }
      tmp = st_mult(sizeof(*(pdata->ext_bases)), (size_t )pdata->alloc_ext);
      tmp___0 = xrealloc((void *)pdata->ext_bases, tmp);
      pdata->ext_bases = (struct object_entry *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = pdata->nr_ext;
  (pdata->nr_ext) ++;
  base = pdata->ext_bases + tmp___1;
  memset((void *)base, 0, sizeof(*base));
  oidcpy(& base->idx.oid, oid);
  base->preferred_base = 1U;
  base->filled = 1U;
  delta->ext_base = 1U;
  delta->delta_idx = (uint32_t )((base - pdata->ext_bases) + 1L);
  return;
}
}
static double const   __ac_HASH_UPPER___63  =    (double const   )0.77;
__inline static void kh_resize_oid_set___63(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___63(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___63 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___63 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___63(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___63(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___63(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___63(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___63(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___63(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___63 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___63 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___63(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___63(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___63(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___63(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___63(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___63(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___63 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___63 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___63(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___63(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___63(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___63(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___47(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___47(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___63 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___63 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___47(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___47(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___47(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___47(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void sort_revindex(struct revindex_entry *entries___1 , unsigned int n , off_t max )
{
  struct revindex_entry *tmp ;
  struct revindex_entry *from___0 ;
  struct revindex_entry *to ;
  int bits ;
  unsigned int *pos ;
  size_t tmp___0 ;
  void *tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;
  unsigned int i ;
  void *_swap_a_ptr ;
  void *_swap_b_ptr ;
  unsigned char _swap_buffer[sizeof(from___0)] ;

  {
  tmp___0 = st_mult(sizeof(*pos), (size_t )(1 << 16));
  tmp___1 = xmalloc(tmp___0);
  pos = (unsigned int *)tmp___1;
  tmp___2 = st_mult(sizeof(*tmp), (size_t )n);
  tmp___3 = xmalloc(tmp___2);
  tmp = (struct revindex_entry *)tmp___3;
  from___0 = entries___1;
  to = tmp;
  bits = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (max >> bits)) {
      goto while_break;
    }
    memset((void *)pos, 0, (unsigned long )(1 << 16) * sizeof(*pos));
    i = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < n)) {
        goto while_break___0;
      }
      (*(pos + (((from___0 + i)->offset >> bits) & (long )((1 << 16) - 1)))) ++;
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    i = 1U;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < (unsigned int )(1 << 16))) {
        goto while_break___1;
      }
      *(pos + i) += *(pos + (i - 1U));
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    i = n - 1U;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (i != 4294967295U)) {
        goto while_break___2;
      }
      (*(pos + (((from___0 + i)->offset >> bits) & (long )((1 << 16) - 1)))) --;
      *(to + *(pos + (((from___0 + i)->offset >> bits) & (long )((1 << 16) - 1)))) = *(from___0 + i);
      i --;
    }
    while_break___2: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      _swap_a_ptr = (void *)(& from___0);
      _swap_b_ptr = (void *)(& to);
      memcpy((void *)(_swap_buffer), (void const   *)_swap_a_ptr, sizeof(from___0));
      memcpy(_swap_a_ptr, (void const   *)_swap_b_ptr, sizeof(from___0) + (sizeof(char [1]) - 1UL));
      memcpy(_swap_b_ptr, (void const   *)(_swap_buffer), sizeof(from___0));
      goto while_break___3;
    }
    while_break___3: /* CIL Label */ ;
    }
    bits += 16;
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned long )from___0 != (unsigned long )entries___1) {
    copy_array((void *)entries___1, (void const   *)tmp, (size_t )n, sizeof(*entries___1) + (sizeof(char [1]) - 1UL));
  }
  free((void *)tmp);
  free((void *)pos);
  return;
}
}
static void create_pack_revindex(struct packed_git *p___0 )
{
  unsigned int num_ent ;
  unsigned int i ;
  char const   *index___2 ;
  unsigned int hashsz ;
  size_t tmp ;
  void *tmp___0 ;
  uint32_t const   *off_32 ;
  uint32_t const   *off_64 ;
  uint32_t off ;
  uint32_t const   *tmp___1 ;
  uint32_t tmp___2 ;
  uint64_t tmp___3 ;
  uint32_t hl ;
  uint32_t tmp___4 ;

  {
  num_ent = (unsigned int )p___0->num_objects;
  index___2 = (char const   *)p___0->index_data;
  hashsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  tmp = st_mult(sizeof(*(p___0->revindex)), (size_t )(num_ent + 1U));
  tmp___0 = xmalloc(tmp);
  p___0->revindex = (struct revindex_entry *)tmp___0;
  index___2 += 1024;
  if (p___0->index_version > 1) {
    off_32 = (uint32_t const   *)((uint32_t *)((index___2 + 8) + (size_t )p___0->num_objects * (size_t )(hashsz + 4U)));
    off_64 = off_32 + p___0->num_objects;
    i = 0U;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < (unsigned int )num_ent)) {
        goto while_break;
      }
      tmp___1 = off_32;
      off_32 ++;
      tmp___2 = git_bswap32((uint32_t )*tmp___1);
      off = (uint32_t )tmp___2;
      if (! (off & 2147483648U)) {
        (p___0->revindex + i)->offset = (off_t )off;
      } else {
        tmp___3 = get_be64((void const   *)off_64);
        (p___0->revindex + i)->offset = (off_t )tmp___3;
        off_64 += 2;
      }
      (p___0->revindex + i)->nr = i;
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  } else {
    i = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < (unsigned int )num_ent)) {
        goto while_break___0;
      }
      hl = (uint32_t )*((uint32_t *)(index___2 + (hashsz + 4U) * (unsigned int )i));
      tmp___4 = git_bswap32((uint32_t )hl);
      (p___0->revindex + i)->offset = (off_t )tmp___4;
      (p___0->revindex + i)->nr = i;
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  (p___0->revindex + num_ent)->offset = p___0->pack_size - (off_t )hashsz;
  (p___0->revindex + num_ent)->nr = 4294967295U;
  sort_revindex(p___0->revindex, (unsigned int )num_ent, p___0->pack_size);
  return;
}
}
static int create_pack_revindex_in_memory(struct packed_git *p___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = git_env_bool((char const   *)"GIT_TEST_REV_INDEX_DIE_IN_MEMORY", 0);
  if (tmp) {
    die((char const   *)"dying as requested by \'%s\'", "GIT_TEST_REV_INDEX_DIE_IN_MEMORY");
  }
  tmp___0 = open_pack_index(p___0);
  if (tmp___0) {
    return (-1);
  }
  create_pack_revindex(p___0);
  return (0);
}
}
static char *pack_revindex_filename(struct packed_git *p___0 )
{
  size_t len___0 ;
  int tmp ;
  char *tmp___0 ;

  {
  tmp = strip_suffix((char const   *)(p___0->pack_name), (char const   *)".pack",
                     & len___0);
  if (! tmp) {
    BUG_fl((char const   *)"pack-revindex.c", 184, (char const   *)"pack_name does not end in .pack");
  }
  tmp___0 = xstrfmt((char const   *)"%.*s.rev", (int )len___0, p___0->pack_name);
  return (tmp___0);
}
}
static int load_revindex_from_disk(char *revindex_name , uint32_t num_objects , uint32_t const   **data_p ,
                                   size_t *len_p )
{
  int fd ;
  int ret___67 ;
  struct stat st ;
  void *data ;
  size_t revindex_size ;
  struct revindex_header *hdr ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  size_t tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  uint32_t tmp___5 ;
  uint32_t tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  uint32_t tmp___8 ;
  uint32_t tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  uint32_t tmp___11 ;
  uint32_t tmp___12 ;

  {
  ret___67 = 0;
  data = (void *)0;
  fd = git_open_cloexec((char const   *)revindex_name, 00);
  if (fd < 0) {
    ret___67 = -1;
    goto cleanup;
  }
  tmp___0 = fstat(fd, & st);
  if (tmp___0) {
    tmp = _((char const   *)"failed to read %s");
    error_errno((char const   *)tmp, revindex_name);
    ret___67 = const_error();
    goto cleanup;
  }
  revindex_size = xsize_t(st.st_size);
  if (revindex_size < (size_t )(12UL + 2UL * (the_repository->hash_algo)->rawsz)) {
    tmp___1 = _((char const   *)"reverse-index file %s is too small");
    error((char const   *)tmp___1, revindex_name);
    ret___67 = const_error();
    goto cleanup;
  }
  tmp___3 = st_mult(sizeof(uint32_t ), (size_t )num_objects);
  if (revindex_size - (size_t )(12UL + 2UL * (the_repository->hash_algo)->rawsz) != tmp___3) {
    tmp___2 = _((char const   *)"reverse-index file %s is corrupt");
    error((char const   *)tmp___2, revindex_name);
    ret___67 = const_error();
    goto cleanup;
  }
  data = xmmap((void *)0, revindex_size, 0x1, 0x02, fd, (off_t )0);
  hdr = (struct revindex_header *)data;
  tmp___5 = git_bswap32(hdr->signature);
  if (tmp___5 != 1380533336U) {
    tmp___4 = _((char const   *)"reverse-index file %s has unknown signature");
    error((char const   *)tmp___4, revindex_name);
    ret___67 = const_error();
    goto cleanup;
  }
  tmp___8 = git_bswap32(hdr->version);
  if (tmp___8 != 1U) {
    tmp___6 = git_bswap32(hdr->version);
    tmp___7 = _((char const   *)"reverse-index file %s has unsupported version %u");
    error((char const   *)tmp___7, revindex_name, tmp___6);
    ret___67 = const_error();
    goto cleanup;
  }
  tmp___11 = git_bswap32(hdr->hash_id);
  if (! (tmp___11 == 1U)) {
    tmp___12 = git_bswap32(hdr->hash_id);
    if (! (tmp___12 == 2U)) {
      tmp___9 = git_bswap32(hdr->hash_id);
      tmp___10 = _((char const   *)"reverse-index file %s has unsupported hash id %u");
      error((char const   *)tmp___10, revindex_name, tmp___9);
      ret___67 = const_error();
      goto cleanup;
    }
  }
  cleanup:
  if (ret___67) {
    if (data) {
      munmap(data, revindex_size);
    }
  } else {
    *len_p = revindex_size;
    *data_p = (uint32_t const   *)data;
  }
  if (fd >= 0) {
    close(fd);
  }
  return (ret___67);
}
}
static int load_pack_revindex_from_disk(struct packed_git *p___0 )
{
  char *revindex_name ;
  int ret___67 ;
  int tmp ;

  {
  tmp = open_pack_index(p___0);
  if (tmp) {
    return (-1);
  }
  revindex_name = pack_revindex_filename(p___0);
  ret___67 = load_revindex_from_disk(revindex_name, p___0->num_objects, & p___0->revindex_map,
                                     & p___0->revindex_size);
  if (ret___67) {
    goto cleanup;
  }
  p___0->revindex_data = (uint32_t const   *)((char const   *)p___0->revindex_map + 12);
  cleanup:
  free((void *)revindex_name);
  return (ret___67);
}
}
int load_pack_revindex(struct packed_git *p___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  if (p___0->revindex) {
    return (0);
  } else
  if (p___0->revindex_data) {
    return (0);
  }
  tmp___0 = load_pack_revindex_from_disk(p___0);
  if (tmp___0) {
    tmp = create_pack_revindex_in_memory(p___0);
    if (! tmp) {
      return (0);
    }
  } else {
    return (0);
  }
  return (-1);
}
}
int load_midx_revindex(struct multi_pack_index *m )
{
  struct strbuf revindex_name ;
  int ret___67 ;

  {
  revindex_name.alloc = 0UL;
  revindex_name.len = 0UL;
  revindex_name.buf = strbuf_slopbuf;
  if (m->revindex_data) {
    return (0);
  }
  get_midx_rev_filename(& revindex_name, m);
  ret___67 = load_revindex_from_disk(revindex_name.buf, m->num_objects, & m->revindex_map,
                                     & m->revindex_len);
  if (ret___67) {
    goto cleanup;
  }
  m->revindex_data = (uint32_t const   *)((char const   *)m->revindex_map + 12);
  cleanup:
  strbuf_release(& revindex_name);
  return (ret___67);
}
}
int close_midx_revindex(struct multi_pack_index *m )
{


  {
  if (! m) {
    return (0);
  } else
  if (! m->revindex_map) {
    return (0);
  }
  munmap((void *)m->revindex_map, m->revindex_len);
  m->revindex_map = (uint32_t const   *)((void *)0);
  m->revindex_data = (uint32_t const   *)((void *)0);
  m->revindex_len = (size_t )0;
  return (0);
}
}
int offset_to_pack_pos(struct packed_git *p___0 , off_t ofs , uint32_t *pos )
{
  unsigned int lo ;
  unsigned int hi ;
  int tmp ;
  unsigned int mi ;
  off_t got ;
  off_t tmp___0 ;

  {
  tmp = load_pack_revindex(p___0);
  if (tmp < 0) {
    return (-1);
  }
  lo = 0U;
  hi = p___0->num_objects + 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    mi = (unsigned int )(lo + (hi - lo) / 2U);
    tmp___0 = pack_pos_to_offset(p___0, (uint32_t )mi);
    got = tmp___0;
    if (got == ofs) {
      *pos = (uint32_t )mi;
      return (0);
    } else
    if (ofs < got) {
      hi = (unsigned int )mi;
    } else {
      lo = (unsigned int )(mi + 1U);
    }
    if (! (lo < hi)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  error((char const   *)"bad offset for revindex");
  const_error();
  return (-1);
}
}
uint32_t pack_pos_to_index(struct packed_git *p___0 , uint32_t pos )
{
  uint32_t tmp ;

  {
  if (! p___0->revindex) {
    if (! p___0->revindex_data) {
      BUG_fl((char const   *)"pack-revindex.c", 364, (char const   *)"pack_pos_to_index: reverse index not yet loaded");
    }
  }
  if (p___0->num_objects <= pos) {
    BUG_fl((char const   *)"pack-revindex.c", 366, (char const   *)"pack_pos_to_index: out-of-bounds object at %u",
           pos);
  }
  if (p___0->revindex) {
    return ((p___0->revindex + pos)->nr);
  } else {
    tmp = get_be32((void const   *)(p___0->revindex_data + pos));
    return (tmp);
  }
}
}
off_t pack_pos_to_offset(struct packed_git *p___0 , uint32_t pos )
{
  uint32_t tmp ;
  off_t tmp___0 ;

  {
  if (! p___0->revindex) {
    if (! p___0->revindex_data) {
      BUG_fl((char const   *)"pack-revindex.c", 377, (char const   *)"pack_pos_to_index: reverse index not yet loaded");
    }
  }
  if (p___0->num_objects < pos) {
    BUG_fl((char const   *)"pack-revindex.c", 379, (char const   *)"pack_pos_to_offset: out-of-bounds object at %u",
           pos);
  }
  if (p___0->revindex) {
    return ((p___0->revindex + pos)->offset);
  } else
  if (pos == p___0->num_objects) {
    return ((off_t )((size_t )p___0->pack_size - (the_repository->hash_algo)->rawsz));
  } else {
    tmp = pack_pos_to_index(p___0, pos);
    tmp___0 = nth_packed_object_offset((struct packed_git  const  *)p___0, tmp);
    return (tmp___0);
  }
}
}
uint32_t pack_pos_to_midx(struct multi_pack_index *m , uint32_t pos )
{
  uint32_t tmp ;

  {
  if (! m->revindex_data) {
    BUG_fl((char const   *)"pack-revindex.c", 392, (char const   *)"pack_pos_to_midx: reverse index not yet loaded");
  }
  if (m->num_objects <= pos) {
    BUG_fl((char const   *)"pack-revindex.c", 394, (char const   *)"pack_pos_to_midx: out-of-bounds object at %u",
           pos);
  }
  tmp = get_be32((void const   *)(m->revindex_data + pos));
  return (tmp);
}
}
static int midx_pack_order_cmp___0(void const   *va , void const   *vb )
{
  struct midx_pack_key  const  *key___1 ;
  struct multi_pack_index *midx ;
  uint32_t versus ;
  uint32_t tmp ;
  uint32_t versus_pack ;
  uint32_t tmp___0 ;
  off_t versus_offset ;
  uint32_t key_preferred ;
  uint32_t versus_preferred ;

  {
  key___1 = (struct midx_pack_key  const  *)va;
  midx = (struct multi_pack_index *)key___1->midx;
  tmp = pack_pos_to_midx(midx, (uint32_t )((uint32_t *)vb - (uint32_t *)midx->revindex_data));
  versus = tmp;
  tmp___0 = nth_midxed_pack_int_id(midx, versus);
  versus_pack = tmp___0;
  key_preferred = (uint32_t )(key___1->pack == key___1->preferred_pack);
  versus_preferred = (uint32_t )(versus_pack == (uint32_t )key___1->preferred_pack);
  if (key_preferred) {
    if (! versus_preferred) {
      return (-1);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (! key_preferred) {
    if (versus_preferred) {
      return (1);
    }
  }
  if (key___1->pack < (uint32_t )versus_pack) {
    return (-1);
  } else
  if (key___1->pack > (uint32_t )versus_pack) {
    return (1);
  }
  versus_offset = nth_midxed_offset(midx, versus);
  if (key___1->offset < (off_t )versus_offset) {
    return (-1);
  } else
  if (key___1->offset > (off_t )versus_offset) {
    return (1);
  }
  return (0);
}
}
int midx_to_pack_pos(struct multi_pack_index *m , uint32_t at , uint32_t *pos )
{
  struct midx_pack_key key___1 ;
  uint32_t *found ;
  uint32_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  if (! m->revindex_data) {
    BUG_fl((char const   *)"pack-revindex.c", 449, (char const   *)"midx_to_pack_pos: reverse index not yet loaded");
  }
  if (m->num_objects <= at) {
    BUG_fl((char const   *)"pack-revindex.c", 451, (char const   *)"midx_to_pack_pos: out-of-bounds object at %u",
           at);
  }
  key___1.pack = nth_midxed_pack_int_id(m, at);
  key___1.offset = nth_midxed_offset(m, at);
  key___1.midx = m;
  tmp = pack_pos_to_midx(m, (uint32_t )0);
  key___1.preferred_pack = nth_midxed_pack_int_id(m, tmp);
  tmp___0 = bsearch((void const   *)(& key___1), (void const   *)m->revindex_data,
                    (size_t )m->num_objects, sizeof(*(m->revindex_data)), & midx_pack_order_cmp___0);
  found = (uint32_t *)tmp___0;
  if (! found) {
    error((char const   *)"bad offset for revindex");
    tmp___1 = const_error();
    return (tmp___1);
  }
  *pos = (uint32_t )(found - (uint32_t *)m->revindex_data);
  return (0);
}
}
void reset_pack_idx_option(struct pack_idx_option *opts___1 )
{


  {
  memset((void *)opts___1, 0, sizeof(*opts___1));
  opts___1->version = (uint32_t )2;
  opts___1->off32_limit = (uint32_t )0x7fffffff;
  return;
}
}
static int sha1_compare(void const   *_a , void const   *_b )
{
  struct pack_idx_entry *a ;
  struct pack_idx_entry *b___0 ;
  int tmp ;

  {
  a = *((struct pack_idx_entry **)_a);
  b___0 = *((struct pack_idx_entry **)_b);
  tmp = oidcmp((struct object_id  const  *)(& a->oid), (struct object_id  const  *)(& b___0->oid));
  return (tmp);
}
}
static int cmp_uint32(void const   *a_ , void const   *b_ )
{
  uint32_t a ;
  uint32_t b___0 ;
  int tmp ;

  {
  a = *((uint32_t *)a_);
  b___0 = *((uint32_t *)b_);
  if (a < b___0) {
    tmp = -1;
  } else {
    tmp = a != b___0;
  }
  return (tmp);
}
}
static int need_large_offset(off_t offset___2 , struct pack_idx_option  const  *opts___1 )
{
  uint32_t ofsval ;
  void *tmp ;
  int tmp___0 ;

  {
  if (offset___2 >> 31) {
    return (1);
  } else
  if ((off_t )opts___1->off32_limit < offset___2) {
    return (1);
  }
  if (! opts___1->anomaly_nr) {
    return (0);
  }
  ofsval = (uint32_t )offset___2;
  tmp = bsearch((void const   *)(& ofsval), (void const   *)opts___1->anomaly, (size_t )opts___1->anomaly_nr,
                sizeof(ofsval), & cmp_uint32);
  if (tmp) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
char const   *write_idx_file(char const   *index_name , struct pack_idx_entry **objects___0 ,
                             int nr_objects___1 , struct pack_idx_option  const  *opts___1 ,
                             unsigned char const   *sha1 )
{
  struct hashfile *f ;
  struct pack_idx_entry **sorted_by_sha ;
  struct pack_idx_entry **list___3 ;
  struct pack_idx_entry **last ;
  off_t last_obj_offset ;
  int i ;
  int fd ;
  uint32_t index_version ;
  struct strbuf tmp_file___0 ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct pack_idx_header hdr ;
  struct pack_idx_entry **next___2 ;
  struct pack_idx_entry *obj ;
  struct pack_idx_entry *obj___0 ;
  struct pack_idx_entry **tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  unsigned int nr_large_offset ;
  struct pack_idx_entry *obj___1 ;
  struct pack_idx_entry **tmp___5 ;
  struct pack_idx_entry *obj___2 ;
  struct pack_idx_entry **tmp___6 ;
  uint32_t offset___2 ;
  int tmp___7 ;
  unsigned int tmp___8 ;
  int tmp___9 ;
  struct pack_idx_entry *obj___3 ;
  struct pack_idx_entry **tmp___10 ;
  uint64_t offset___3 ;
  int tmp___11 ;
  int tmp___12 ;

  {
  last_obj_offset = (off_t )0;
  if (nr_objects___1) {
    sorted_by_sha = objects___0;
    list___3 = sorted_by_sha;
    last = sorted_by_sha + nr_objects___1;
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < nr_objects___1)) {
        goto while_break;
      }
      if ((*(objects___0 + i))->offset > last_obj_offset) {
        last_obj_offset = (*(objects___0 + i))->offset;
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    sane_qsort((void *)sorted_by_sha, (size_t )nr_objects___1, sizeof(*sorted_by_sha),
               & sha1_compare);
  } else {
    last = (struct pack_idx_entry **)((void *)0);
    list___3 = last;
    sorted_by_sha = list___3;
  }
  if (opts___1->flags & 1U) {
    assert((int )index_name);
    f = hashfd_check(index_name);
  } else {
    if (! index_name) {
      tmp_file___0.alloc = 0UL;
      tmp_file___0.len = 0UL;
      tmp_file___0.buf = strbuf_slopbuf;
      fd = odb_mkstemp(& tmp_file___0, (char const   *)"pack/tmp_idx_XXXXXX");
      tmp = strbuf_detach(& tmp_file___0, (size_t *)((void *)0));
      index_name = (char const   *)tmp;
    } else {
      unlink(index_name);
      fd = xopen(index_name, 193, 0600);
    }
    f = hashfd(fd, index_name);
  }
  tmp___1 = need_large_offset(last_obj_offset, opts___1);
  if (tmp___1) {
    index_version = (uint32_t )2;
  } else {
    index_version = (uint32_t )opts___1->version;
  }
  if (index_version >= 2U) {
    hdr.idx_signature = git_bswap32(0xff744f63);
    hdr.idx_version = git_bswap32(index_version);
    hashwrite(f, (void const   *)(& hdr), (unsigned int )sizeof(hdr));
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < 256)) {
      goto while_break___0;
    }
    next___2 = list___3;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((unsigned long )next___2 < (unsigned long )last)) {
        goto while_break___1;
      }
      obj = *next___2;
      if ((int )obj->oid.hash[0] != i) {
        goto while_break___1;
      }
      next___2 ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    hashwrite_be32(f, (uint32_t )(next___2 - sorted_by_sha));
    list___3 = next___2;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  list___3 = sorted_by_sha;
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < nr_objects___1)) {
      goto while_break___2;
    }
    tmp___2 = list___3;
    list___3 ++;
    obj___0 = *tmp___2;
    if (index_version < 2U) {
      hashwrite_be32(f, (uint32_t )obj___0->offset);
    }
    hashwrite(f, (void const   *)(obj___0->oid.hash), (unsigned int )(the_repository->hash_algo)->rawsz);
    if (opts___1->flags & 2U) {
      if (i) {
        tmp___4 = oideq((struct object_id  const  *)(& (*(list___3 + -2))->oid), (struct object_id  const  *)(& obj___0->oid));
        if (tmp___4) {
          tmp___3 = oid_to_hex((struct object_id  const  *)(& obj___0->oid));
          die((char const   *)"The same object %s appears twice in the pack", tmp___3);
        }
      }
    }
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  if (index_version >= 2U) {
    nr_large_offset = 0U;
    list___3 = sorted_by_sha;
    i = 0;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! (i < nr_objects___1)) {
        goto while_break___3;
      }
      tmp___5 = list___3;
      list___3 ++;
      obj___1 = *tmp___5;
      hashwrite_be32(f, obj___1->crc32);
      i ++;
    }
    while_break___3: /* CIL Label */ ;
    }
    list___3 = sorted_by_sha;
    i = 0;
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (! (i < nr_objects___1)) {
        goto while_break___4;
      }
      tmp___6 = list___3;
      list___3 ++;
      obj___2 = *tmp___6;
      tmp___9 = need_large_offset(obj___2->offset, opts___1);
      if (tmp___9) {
        tmp___8 = nr_large_offset;
        nr_large_offset ++;
        offset___2 = 0x80000000 | tmp___8;
      } else {
        offset___2 = (uint32_t )obj___2->offset;
      }
      hashwrite_be32(f, offset___2);
      i ++;
    }
    while_break___4: /* CIL Label */ ;
    }
    list___3 = sorted_by_sha;
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      if (! nr_large_offset) {
        goto while_break___5;
      }
      tmp___10 = list___3;
      list___3 ++;
      obj___3 = *tmp___10;
      offset___3 = (uint64_t )obj___3->offset;
      tmp___11 = need_large_offset((off_t )offset___3, opts___1);
      if (! tmp___11) {
        goto while_continue___5;
      }
      hashwrite_be64(f, offset___3);
      nr_large_offset --;
    }
    while_break___5: /* CIL Label */ ;
    }
  }
  hashwrite(f, (void const   *)sha1, (unsigned int )(the_repository->hash_algo)->rawsz);
  if (opts___1->flags & 1U) {
    tmp___12 = 0;
  } else {
    tmp___12 = 2;
  }
  finalize_hashfile(f, (unsigned char *)((void *)0), (unsigned int )(5 | tmp___12));
  return (index_name);
}
}
static int pack_order_cmp(void const   *va , void const   *vb , void *ctx___0 )
{
  struct pack_idx_entry **objects___0 ;
  off_t oa ;
  off_t ob ;

  {
  objects___0 = (struct pack_idx_entry **)ctx___0;
  oa = (*(objects___0 + *((uint32_t *)va)))->offset;
  ob = (*(objects___0 + *((uint32_t *)vb)))->offset;
  if (oa < ob) {
    return (-1);
  }
  if (oa > ob) {
    return (1);
  }
  return (0);
}
}
static void write_rev_header(struct hashfile *f )
{
  uint32_t oid_version___1 ;
  int tmp ;

  {
  tmp = hash_algo_by_ptr(the_repository->hash_algo);
  {
  if (tmp == 1) {
    goto case_1;
  }
  if (tmp == 2) {
    goto case_2;
  }
  goto switch_default;
  case_1: /* CIL Label */
  oid_version___1 = (uint32_t )1;
  goto switch_break;
  case_2: /* CIL Label */
  oid_version___1 = (uint32_t )2;
  goto switch_break;
  switch_default: /* CIL Label */
  die((char const   *)"write_rev_header: unknown hash version");
  switch_break: /* CIL Label */ ;
  }
  hashwrite_be32(f, (uint32_t )0x52494458);
  hashwrite_be32(f, (uint32_t )1);
  hashwrite_be32(f, oid_version___1);
  return;
}
}
static void write_rev_index_positions(struct hashfile *f , uint32_t *pack_order ,
                                      uint32_t nr_objects___1 )
{
  uint32_t i ;

  {
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_objects___1)) {
      goto while_break;
    }
    hashwrite_be32(f, *(pack_order + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void write_rev_trailer(struct hashfile *f , unsigned char const   *hash___0 )
{


  {
  hashwrite(f, (void const   *)hash___0, (unsigned int )(the_repository->hash_algo)->rawsz);
  return;
}
}
char const   *write_rev_file(char const   *rev_name , struct pack_idx_entry **objects___0 ,
                             uint32_t nr_objects___1 , unsigned char const   *hash___0 ,
                             unsigned int flags___0 )
{
  uint32_t *pack_order ;
  uint32_t i ;
  char const   *ret___67 ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  if (! (flags___0 & 4U)) {
    if (! (flags___0 & 8U)) {
      return ((char const   *)((void *)0));
    }
  }
  tmp = st_mult(sizeof(*pack_order), (size_t )nr_objects___1);
  tmp___0 = xmalloc(tmp);
  pack_order = (uint32_t *)tmp___0;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_objects___1)) {
      goto while_break;
    }
    *(pack_order + i) = i;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___1 = git_qsort_s((void *)pack_order, (size_t )nr_objects___1, sizeof(*pack_order),
                          & pack_order_cmp, (void *)objects___0);
    if (tmp___1) {
      BUG_fl((char const   *)"pack-write.c", 231, (char const   *)"qsort_s() failed");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  ret___67 = write_rev_file_order(rev_name, pack_order, nr_objects___1, hash___0,
                                  flags___0);
  free((void *)pack_order);
  return (ret___67);
}
}
char const   *write_rev_file_order(char const   *rev_name , uint32_t *pack_order ,
                                   uint32_t nr_objects___1 , unsigned char const   *hash___0 ,
                                   unsigned int flags___0 )
{
  struct hashfile *f ;
  int fd ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct strbuf tmp_file___0 ;
  char *tmp___0 ;
  struct stat statbuf ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  if (flags___0 & 4U) {
    if (flags___0 & 8U) {
      tmp = _((char const   *)"cannot both write and verify reverse index");
      die((char const   *)tmp);
    }
  }
  if (flags___0 & 4U) {
    if (! rev_name) {
      tmp_file___0.alloc = 0UL;
      tmp_file___0.len = 0UL;
      tmp_file___0.buf = strbuf_slopbuf;
      fd = odb_mkstemp(& tmp_file___0, (char const   *)"pack/tmp_rev_XXXXXX");
      tmp___0 = strbuf_detach(& tmp_file___0, (size_t *)((void *)0));
      rev_name = (char const   *)tmp___0;
    } else {
      unlink(rev_name);
      fd = xopen(rev_name, 193, 0600);
    }
    f = hashfd(fd, rev_name);
  } else
  if (flags___0 & 8U) {
    tmp___3 = stat(rev_name, & statbuf);
    if (tmp___3) {
      tmp___2 = __errno_location();
      if (*tmp___2 == 2) {
        return ((char const   *)((void *)0));
      } else {
        tmp___1 = _((char const   *)"could not stat: %s");
        die_errno((char const   *)tmp___1, rev_name);
      }
    }
    f = hashfd_check(rev_name);
  } else {
    return ((char const   *)((void *)0));
  }
  write_rev_header(f);
  write_rev_index_positions(f, pack_order, nr_objects___1);
  write_rev_trailer(f, hash___0);
  if (rev_name) {
    tmp___5 = adjust_shared_perm(rev_name);
    if (tmp___5 < 0) {
      tmp___4 = _((char const   *)"failed to make %s readable");
      die((char const   *)tmp___4, rev_name);
    }
  }
  if (flags___0 & 1U) {
    tmp___6 = 0;
  } else {
    tmp___6 = 2;
  }
  finalize_hashfile(f, (unsigned char *)((void *)0), (unsigned int )(5 | tmp___6));
  return (rev_name);
}
}
off_t write_pack_header(struct hashfile *f , uint32_t nr_entries )
{
  struct pack_header hdr ;

  {
  hdr.hdr_signature = git_bswap32((uint32_t )0x5041434b);
  hdr.hdr_version = git_bswap32((uint32_t )2);
  hdr.hdr_entries = git_bswap32(nr_entries);
  hashwrite(f, (void const   *)(& hdr), (unsigned int )sizeof(hdr));
  return ((off_t )sizeof(hdr));
}
}
void fixup_pack_header_footer(int pack_fd , unsigned char *new_pack_hash , char const   *pack_name ,
                              uint32_t object_count___0 , unsigned char *partial_pack_hash ,
                              off_t partial_pack_offset )
{
  int aligned_sz ;
  int buf_sz ;
  git_hash_ctx old_hash_ctx ;
  git_hash_ctx new_hash_ctx ;
  struct pack_header hdr ;
  char *buf___19 ;
  ssize_t read_result ;
  __off_t tmp ;
  __off_t tmp___0 ;
  void *tmp___1 ;
  ssize_t m ;
  ssize_t n ;
  unsigned char hash___0[32] ;
  int tmp___2 ;

  {
  buf_sz = 8192;
  (*((the_repository->hash_algo)->init_fn))(& old_hash_ctx);
  (*((the_repository->hash_algo)->init_fn))(& new_hash_ctx);
  tmp = lseek(pack_fd, (__off_t )0, 0);
  if (tmp != 0L) {
    die_errno((char const   *)"Failed seeking to start of \'%s\'", pack_name);
  }
  read_result = read_in_full(pack_fd, (void *)(& hdr), sizeof(hdr));
  if (read_result < 0L) {
    die_errno((char const   *)"Unable to reread header of \'%s\'", pack_name);
  } else
  if ((unsigned long )read_result != sizeof(hdr)) {
    die_errno((char const   *)"Unexpected short read for header of \'%s\'", pack_name);
  }
  tmp___0 = lseek(pack_fd, (__off_t )0, 0);
  if (tmp___0 != 0L) {
    die_errno((char const   *)"Failed seeking to start of \'%s\'", pack_name);
  }
  (*((the_repository->hash_algo)->update_fn))(& old_hash_ctx, (void const   *)(& hdr),
                                              sizeof(hdr));
  hdr.hdr_entries = git_bswap32(object_count___0);
  (*((the_repository->hash_algo)->update_fn))(& new_hash_ctx, (void const   *)(& hdr),
                                              sizeof(hdr));
  write_or_die(pack_fd, (void const   *)(& hdr), sizeof(hdr));
  partial_pack_offset = (off_t )((unsigned long )partial_pack_offset - sizeof(hdr));
  tmp___1 = xmalloc((size_t )buf_sz);
  buf___19 = (char *)tmp___1;
  aligned_sz = (int )((unsigned long )buf_sz - sizeof(hdr));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (partial_pack_hash) {
      if (partial_pack_offset < (off_t )aligned_sz) {
        m = partial_pack_offset;
      } else {
        m = (ssize_t )aligned_sz;
      }
    } else {
      m = (ssize_t )aligned_sz;
    }
    n = xread(pack_fd, (void *)buf___19, (size_t )m);
    if (! n) {
      goto while_break;
    }
    if (n < 0L) {
      die_errno((char const   *)"Failed to checksum \'%s\'", pack_name);
    }
    (*((the_repository->hash_algo)->update_fn))(& new_hash_ctx, (void const   *)buf___19,
                                                (size_t )n);
    aligned_sz = (int )((ssize_t )aligned_sz - n);
    if (! aligned_sz) {
      aligned_sz = buf_sz;
    }
    if (! partial_pack_hash) {
      goto __Cont;
    }
    (*((the_repository->hash_algo)->update_fn))(& old_hash_ctx, (void const   *)buf___19,
                                                (size_t )n);
    partial_pack_offset -= n;
    if (partial_pack_offset == 0L) {
      (*((the_repository->hash_algo)->final_fn))(hash___0, & old_hash_ctx);
      tmp___2 = hasheq((unsigned char const   *)(hash___0), (unsigned char const   *)partial_pack_hash);
      if (! tmp___2) {
        die((char const   *)"Unexpected checksum for %s (disk corruption?)", pack_name);
      }
      (*((the_repository->hash_algo)->init_fn))(& old_hash_ctx);
      partial_pack_offset = ~ partial_pack_offset;
      partial_pack_offset -= partial_pack_offset & (off_t )(18446744073709551615ULL << (8UL * sizeof(partial_pack_offset) - 1UL));
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)buf___19);
  if (partial_pack_hash) {
    (*((the_repository->hash_algo)->final_fn))(partial_pack_hash, & old_hash_ctx);
  }
  (*((the_repository->hash_algo)->final_fn))(new_pack_hash, & new_hash_ctx);
  write_or_die(pack_fd, (void const   *)new_pack_hash, (size_t )(the_repository->hash_algo)->rawsz);
  fsync_or_die(pack_fd, pack_name);
  return;
}
}
char *index_pack_lockfile(int ip_out , int *is_well_formed )
{
  char packname[70] ;
  int len___0 ;
  char const   *name___0 ;
  char *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  ssize_t tmp___2 ;

  {
  len___0 = (int )((the_repository->hash_algo)->hexsz + 6UL);
  tmp___2 = read_in_full(ip_out, (void *)(packname), (size_t )len___0);
  if (tmp___2 == (ssize_t )len___0) {
    if ((int )packname[len___0 - 1] == 10) {
      if (is_well_formed) {
        *is_well_formed = 1;
      }
      packname[len___0 - 1] = (char)0;
      tmp___1 = skip_prefix((char const   *)(packname), (char const   *)"keep\t",
                            & name___0);
      if (tmp___1) {
        tmp = get_object_directory();
        tmp___0 = xstrfmt((char const   *)"%s/pack/pack-%s.keep", tmp, name___0);
        return (tmp___0);
      }
      return ((char *)((void *)0));
    }
  }
  if (is_well_formed) {
    *is_well_formed = 0;
  }
  return ((char *)((void *)0));
}
}
int encode_in_pack_object_header(unsigned char *hdr , int hdr_len , enum object_type type___0 ,
                                 uintmax_t size )
{
  int n ;
  unsigned char c___0 ;
  unsigned char *tmp ;

  {
  n = 1;
  if ((int )type___0 < 1) {
    die((char const   *)"bad type %d", (int )type___0);
  } else
  if ((int )type___0 > 7) {
    die((char const   *)"bad type %d", (int )type___0);
  }
  c___0 = (unsigned char )((unsigned long )((int )type___0 << 4) | (size & 15UL));
  size >>= 4;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! size) {
      goto while_break;
    }
    if (n == hdr_len) {
      die((char const   *)"object size is too enormous to format");
    }
    tmp = hdr;
    hdr ++;
    *tmp = (unsigned char )((int )c___0 | 0x80);
    c___0 = (unsigned char )(size & 127UL);
    size >>= 7;
    n ++;
  }
  while_break: /* CIL Label */ ;
  }
  *hdr = c___0;
  return (n);
}
}
struct hashfile *create_tmp_packfile(char **pack_tmp_name )
{
  struct strbuf tmpname ;
  int fd ;
  struct hashfile *tmp ;

  {
  tmpname.alloc = 0UL;
  tmpname.len = 0UL;
  tmpname.buf = strbuf_slopbuf;
  fd = odb_mkstemp(& tmpname, (char const   *)"pack/tmp_pack_XXXXXX");
  *pack_tmp_name = strbuf_detach(& tmpname, (size_t *)((void *)0));
  tmp = hashfd(fd, (char const   *)*pack_tmp_name);
  return (tmp);
}
}
static void rename_tmp_packfile(struct strbuf *name_prefix , char const   *source ,
                                char const   *ext )
{
  size_t name_prefix_len ;
  int tmp ;

  {
  name_prefix_len = name_prefix->len;
  strbuf_addstr(name_prefix, ext);
  tmp = rename(source, (char const   *)name_prefix->buf);
  if (tmp) {
    die_errno((char const   *)"unable to rename temporary file to \'%s\'", name_prefix->buf);
  }
  strbuf_setlen(name_prefix, name_prefix_len);
  return;
}
}
void rename_tmp_packfile_idx(struct strbuf *name_buffer , char **idx_tmp_name )
{


  {
  rename_tmp_packfile(name_buffer, (char const   *)*idx_tmp_name, (char const   *)"idx");
  return;
}
}
void stage_tmp_packfiles(struct strbuf *name_buffer , char const   *pack_tmp_name ,
                         struct pack_idx_entry **written_list___0 , uint32_t nr_written___0 ,
                         struct pack_idx_option *pack_idx_opts___1 , unsigned char *hash___0 ,
                         char **idx_tmp_name )
{
  char const   *rev_tmp_name ;
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  rev_tmp_name = (char const   *)((void *)0);
  tmp = adjust_shared_perm(pack_tmp_name);
  if (tmp) {
    die_errno((char const   *)"unable to make temporary pack file readable");
  }
  tmp___0 = write_idx_file((char const   *)((void *)0), written_list___0, (int )nr_written___0,
                           (struct pack_idx_option  const  *)pack_idx_opts___1, (unsigned char const   *)hash___0);
  *idx_tmp_name = (char *)tmp___0;
  tmp___1 = adjust_shared_perm((char const   *)*idx_tmp_name);
  if (tmp___1) {
    die_errno((char const   *)"unable to make temporary index file readable");
  }
  rev_tmp_name = write_rev_file((char const   *)((void *)0), written_list___0, nr_written___0,
                                (unsigned char const   *)hash___0, pack_idx_opts___1->flags);
  rename_tmp_packfile(name_buffer, pack_tmp_name, (char const   *)"pack");
  if (rev_tmp_name) {
    rename_tmp_packfile(name_buffer, rev_tmp_name, (char const   *)"rev");
  }
  return;
}
}
void write_promisor_file(char const   *promisor_name , struct ref **sought , int nr_sought )
{
  int i ;
  int err___4 ;
  FILE *output___4 ;
  FILE *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  tmp = xfopen(promisor_name, (char const   *)"w");
  output___4 = tmp;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_sought)) {
      goto while_break;
    }
    tmp___0 = oid_to_hex((struct object_id  const  *)(& (*(sought + i))->old_oid));
    fprintf(output___4, (char const   *)"%s %s\n", tmp___0, (*(sought + i))->name);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  err___4 = ferror(output___4);
  tmp___1 = fclose(output___4);
  err___4 |= tmp___1;
  if (err___4) {
    tmp___2 = _((char const   *)"could not write \'%s\' promisor file");
    die((char const   *)tmp___2, promisor_name);
  }
  return;
}
}
static double const   __ac_HASH_UPPER___64  =    (double const   )0.77;
__inline static void kh_resize_oid_set___64(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___64(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___64 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___64 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___64(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___64(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___64(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___64(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___64(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___64(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___64 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___64 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___64(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___64(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___64(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___64(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___64(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___64(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___64 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___64 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___64(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___64(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___64(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___64(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
void (*report_garbage)(unsigned int seen_bits , char const   *path )  ;
int do_check_packed_object_crc  ;
__inline static void kh_resize_odb_path_map___48(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___48(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___64 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___64 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___48(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___48(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___48(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___48(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
char *odb_pack_name(struct strbuf *buf___19 , unsigned char const   *hash___0 , char const   *ext )
{
  char *tmp ;
  char *tmp___0 ;

  {
  strbuf_setlen(buf___19, (size_t )0);
  tmp = hash_to_hex(hash___0);
  tmp___0 = get_object_directory();
  strbuf_addf(buf___19, (char const   *)"%s/pack/pack-%s.%s", tmp___0, tmp, ext);
  return (buf___19->buf);
}
}
static struct strbuf buf___5  =    {0UL, 0UL, strbuf_slopbuf};
char *sha1_pack_name(unsigned char const   *sha1 )
{
  char *tmp ;

  {
  tmp = odb_pack_name(& buf___5, sha1, (char const   *)"pack");
  return (tmp);
}
}
static struct strbuf buf___6  =    {0UL, 0UL, strbuf_slopbuf};
char *sha1_pack_index_name(unsigned char const   *sha1 )
{
  char *tmp ;

  {
  tmp = odb_pack_name(& buf___6, sha1, (char const   *)"idx");
  return (tmp);
}
}
static unsigned int pack_used_ctr  ;
static unsigned int pack_mmap_calls  ;
static unsigned int peak_pack_open_windows  ;
static unsigned int pack_open_windows  ;
static unsigned int pack_open_fds  ;
static unsigned int pack_max_fds  ;
static size_t peak_pack_mapped  ;
static size_t pack_mapped  ;
__inline static uintmax_t sz_fmt(size_t s___1 )
{


  {
  return (s___1);
}
}
void pack_report(void)
{
  uintmax_t tmp ;
  uintmax_t tmp___0 ;
  int tmp___1 ;
  uintmax_t tmp___2 ;
  uintmax_t tmp___3 ;
  uintmax_t tmp___4 ;

  {
  tmp = sz_fmt(packed_git_limit);
  tmp___0 = sz_fmt(packed_git_window_size);
  tmp___1 = getpagesize();
  tmp___2 = sz_fmt((size_t )tmp___1);
  fprintf(stderr, (char const   *)"pack_report: getpagesize()            = %10lu\npack_report: core.packedGitWindowSize = %10lu\npack_report: core.packedGitLimit      = %10lu\n",
          tmp___2, tmp___0, tmp);
  tmp___3 = sz_fmt(peak_pack_mapped);
  tmp___4 = sz_fmt(pack_mapped);
  fprintf(stderr, (char const   *)"pack_report: pack_used_ctr            = %10u\npack_report: pack_mmap_calls          = %10u\npack_report: pack_open_windows        = %10u / %10u\npack_report: pack_mapped              = %10lu / %10lu\n",
          pack_used_ctr, pack_mmap_calls, pack_open_windows, peak_pack_open_windows,
          tmp___4, tmp___3);
  return;
}
}
static int check_packed_git_idx(char const   *path___6 , struct packed_git *p___0 )
{
  void *idx_map ;
  size_t idx_size ;
  int fd ;
  int tmp ;
  int ret___67 ;
  struct stat st ;
  unsigned int hashsz ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = git_open_cloexec(path___6, 00);
  fd = tmp;
  hashsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  if (fd < 0) {
    return (-1);
  }
  tmp___0 = fstat(fd, & st);
  if (tmp___0) {
    close(fd);
    return (-1);
  }
  idx_size = xsize_t(st.st_size);
  if (idx_size < (size_t )((1024U + hashsz) + hashsz)) {
    close(fd);
    error((char const   *)"index file %s is too small", path___6);
    tmp___1 = const_error();
    return (tmp___1);
  }
  idx_map = xmmap((void *)0, idx_size, 0x1, 0x02, fd, (off_t )0);
  close(fd);
  ret___67 = load_idx(path___6, (unsigned int const   )hashsz, idx_map, idx_size,
                      p___0);
  if (ret___67) {
    munmap(idx_map, idx_size);
  }
  return (ret___67);
}
}
int load_idx(char const   *path___6 , unsigned int const   hashsz , void *idx_map ,
             size_t idx_size , struct packed_git *p___0 )
{
  struct pack_idx_header *hdr ;
  uint32_t version___0 ;
  uint32_t nr___0 ;
  uint32_t i ;
  uint32_t *index___2 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  uint32_t tmp___2 ;
  uint32_t n ;
  uint32_t tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  size_t tmp___6 ;
  size_t tmp___7 ;
  size_t min_size___0 ;
  size_t tmp___8 ;
  size_t tmp___9 ;
  size_t max_size___0 ;
  size_t tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;

  {
  hdr = (struct pack_idx_header *)idx_map;
  if (idx_size < (size_t )((1024U + hashsz) + hashsz)) {
    error((char const   *)"index file %s is too small", path___6);
    tmp = const_error();
    return (tmp);
  }
  if ((unsigned long )idx_map == (unsigned long )((void *)0)) {
    error((char const   *)"empty data");
    tmp___0 = const_error();
    return (tmp___0);
  }
  tmp___2 = git_bswap32(0xff744f63);
  if (hdr->idx_signature == tmp___2) {
    version___0 = git_bswap32(hdr->idx_version);
    if (version___0 < 2U) {
      error((char const   *)"index file %s is version %u and is not supported by this binary (try upgrading GIT to a newer version)",
            path___6, version___0);
      tmp___1 = const_error();
      return (tmp___1);
    } else
    if (version___0 > 2U) {
      error((char const   *)"index file %s is version %u and is not supported by this binary (try upgrading GIT to a newer version)",
            path___6, version___0);
      tmp___1 = const_error();
      return (tmp___1);
    }
  } else {
    version___0 = (uint32_t )1;
  }
  nr___0 = (uint32_t )0;
  index___2 = (uint32_t *)idx_map;
  if (version___0 > 1U) {
    index___2 += 2;
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 256U)) {
      goto while_break;
    }
    tmp___3 = git_bswap32(*(index___2 + i));
    n = tmp___3;
    if (n < nr___0) {
      error((char const   *)"non-monotonic index %s", path___6);
      tmp___4 = const_error();
      return (tmp___4);
    }
    nr___0 = n;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (version___0 == 1U) {
    tmp___6 = st_mult((size_t )nr___0, (size_t )(hashsz + 4U));
    tmp___7 = st_add((size_t )((1024U + hashsz) + hashsz), tmp___6);
    if (idx_size != tmp___7) {
      error((char const   *)"wrong index v1 file size in %s", path___6);
      tmp___5 = const_error();
      return (tmp___5);
    }
  } else
  if (version___0 == 2U) {
    tmp___8 = st_mult((size_t )nr___0, (size_t )((hashsz + 4U) + 4U));
    tmp___9 = st_add((size_t )((1032U + hashsz) + hashsz), tmp___8);
    min_size___0 = tmp___9;
    max_size___0 = min_size___0;
    if (nr___0) {
      tmp___10 = st_mult((size_t )(nr___0 - 1U), (size_t )8);
      max_size___0 = st_add(max_size___0, tmp___10);
    }
    if (idx_size < min_size___0) {
      error((char const   *)"wrong index v2 file size in %s", path___6);
      tmp___11 = const_error();
      return (tmp___11);
    } else
    if (idx_size > max_size___0) {
      error((char const   *)"wrong index v2 file size in %s", path___6);
      tmp___11 = const_error();
      return (tmp___11);
    }
    if (idx_size != min_size___0) {
      if (sizeof(off_t ) <= 4UL) {
        error((char const   *)"pack too large for current definition of off_t in %s",
              path___6);
        tmp___12 = const_error();
        return (tmp___12);
      }
    }
    p___0->crc_offset = 1032U + nr___0 * (uint32_t )hashsz;
  }
  p___0->index_version = (int )version___0;
  p___0->index_data = (void const   *)idx_map;
  p___0->index_size = idx_size;
  p___0->num_objects = nr___0;
  return (0);
}
}
int open_pack_index(struct packed_git *p___0 )
{
  char *idx_name ;
  size_t len___0 ;
  int ret___67 ;
  int tmp ;

  {
  if (p___0->index_data) {
    return (0);
  }
  tmp = strip_suffix((char const   *)(p___0->pack_name), (char const   *)".pack",
                     & len___0);
  if (! tmp) {
    BUG_fl((char const   *)"packfile.c", 201, (char const   *)"pack_name does not end in .pack");
  }
  idx_name = xstrfmt((char const   *)"%.*s.idx", (int )len___0, p___0->pack_name);
  ret___67 = check_packed_git_idx((char const   *)idx_name, p___0);
  free((void *)idx_name);
  return (ret___67);
}
}
uint32_t get_pack_fanout(struct packed_git *p___0 , uint32_t value )
{
  uint32_t const   *level1_ofs ;
  int tmp ;
  uint32_t tmp___0 ;

  {
  level1_ofs = (uint32_t const   *)p___0->index_data;
  if (! level1_ofs) {
    tmp = open_pack_index(p___0);
    if (tmp) {
      return ((uint32_t )0);
    }
    level1_ofs = (uint32_t const   *)p___0->index_data;
  }
  if (p___0->index_version > 1) {
    level1_ofs += 2;
  }
  tmp___0 = git_bswap32((uint32_t )*(level1_ofs + value));
  return (tmp___0);
}
}
static struct packed_git *alloc_packed_git(int extra___2 )
{
  struct packed_git *p___0 ;
  size_t tmp ;
  void *tmp___0 ;

  {
  tmp = st_add(sizeof(*p___0), (size_t )extra___2);
  tmp___0 = xmalloc(tmp);
  p___0 = (struct packed_git *)tmp___0;
  memset((void *)p___0, 0, sizeof(*p___0));
  p___0->pack_fd = -1;
  return (p___0);
}
}
struct packed_git *parse_pack_index(unsigned char *sha1 , char const   *idx_path )
{
  char const   *path___6 ;
  char *tmp ;
  size_t alloc___0 ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  struct packed_git *p___0 ;
  struct packed_git *tmp___2 ;
  int tmp___3 ;

  {
  tmp = sha1_pack_name((unsigned char const   *)sha1);
  path___6 = (char const   *)tmp;
  tmp___0 = strlen(path___6);
  tmp___1 = st_add(tmp___0, (size_t )1);
  alloc___0 = tmp___1;
  tmp___2 = alloc_packed_git((int )alloc___0);
  p___0 = tmp___2;
  memcpy((void *)(p___0->pack_name), (void const   *)path___6, alloc___0);
  hashcpy(p___0->hash, (unsigned char const   *)sha1);
  tmp___3 = check_packed_git_idx(idx_path, p___0);
  if (tmp___3) {
    free((void *)p___0);
    return ((struct packed_git *)((void *)0));
  }
  return (p___0);
}
}
static void scan_windows(struct packed_git *p___0 , struct packed_git **lru_p , struct pack_window **lru_w ,
                         struct pack_window **lru_l )
{
  struct pack_window *w ;
  struct pack_window *w_l ;

  {
  w_l = (struct pack_window *)((void *)0);
  w = p___0->windows;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! w) {
      goto while_break;
    }
    if (! w->inuse_cnt) {
      if (! *lru_w) {
        *lru_p = p___0;
        *lru_w = w;
        *lru_l = w_l;
      } else
      if (w->last_used < (*lru_w)->last_used) {
        *lru_p = p___0;
        *lru_w = w;
        *lru_l = w_l;
      }
    }
    w_l = w;
    w = w->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int unuse_one_window(struct packed_git *current )
{
  struct packed_git *p___0 ;
  struct packed_git *lru_p ;
  struct pack_window *lru_w ;
  struct pack_window *lru_l ;

  {
  lru_p = (struct packed_git *)((void *)0);
  lru_w = (struct pack_window *)((void *)0);
  lru_l = (struct pack_window *)((void *)0);
  if (current) {
    scan_windows(current, & lru_p, & lru_w, & lru_l);
  }
  p___0 = (the_repository->objects)->packed_git;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    scan_windows(p___0, & lru_p, & lru_w, & lru_l);
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (lru_p) {
    munmap((void *)lru_w->base, lru_w->len);
    pack_mapped -= lru_w->len;
    if (lru_l) {
      lru_l->next = lru_w->next;
    } else {
      lru_p->windows = lru_w->next;
    }
    free((void *)lru_w);
    pack_open_windows --;
    return (1);
  }
  return (0);
}
}
void close_pack_windows(struct packed_git *p___0 )
{
  struct pack_window *w ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0->windows) {
      goto while_break;
    }
    w = p___0->windows;
    if (w->inuse_cnt) {
      die((char const   *)"pack \'%s\' still has open windows to it", p___0->pack_name);
    }
    munmap((void *)w->base, w->len);
    pack_mapped -= w->len;
    pack_open_windows --;
    p___0->windows = w->next;
    free((void *)w);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int close_pack_fd(struct packed_git *p___0 )
{


  {
  if (p___0->pack_fd < 0) {
    return (0);
  }
  close(p___0->pack_fd);
  pack_open_fds --;
  p___0->pack_fd = -1;
  return (1);
}
}
void close_pack_index(struct packed_git *p___0 )
{


  {
  if (p___0->index_data) {
    munmap((void *)p___0->index_data, p___0->index_size);
    p___0->index_data = (void const   *)((void *)0);
  }
  return;
}
}
static void close_pack_revindex(struct packed_git *p___0 )
{


  {
  if (! p___0->revindex_map) {
    return;
  }
  munmap((void *)p___0->revindex_map, p___0->revindex_size);
  p___0->revindex_map = (uint32_t const   *)((void *)0);
  p___0->revindex_data = (uint32_t const   *)((void *)0);
  return;
}
}
void close_pack(struct packed_git *p___0 )
{


  {
  close_pack_windows(p___0);
  close_pack_fd(p___0);
  close_pack_index(p___0);
  close_pack_revindex(p___0);
  oidset_clear(& p___0->bad_objects);
  return;
}
}
void close_object_store(struct raw_object_store *o )
{
  struct packed_git *p___0 ;

  {
  p___0 = o->packed_git;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if (p___0->do_not_close) {
      BUG_fl((char const   *)"packfile.c", 352, (char const   *)"want to close pack marked \'do-not-close\'");
    } else {
      close_pack(p___0);
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (o->multi_pack_index) {
    close_midx(o->multi_pack_index);
    o->multi_pack_index = (struct multi_pack_index *)((void *)0);
  }
  close_commit_graph(o);
  return;
}
}
static char const   *exts[6]  = {      (char const   *)".pack",      (char const   *)".idx",      (char const   *)".rev",      (char const   *)".keep",
        (char const   *)".bitmap",      (char const   *)".promisor"};
void unlink_pack_path(char const   *pack_name , int force_delete )
{
  int i ;
  struct strbuf buf___19 ;
  size_t plen ;
  int tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  strbuf_addstr(& buf___19, pack_name);
  strip_suffix_mem((char const   *)buf___19.buf, & buf___19.len, (char const   *)".pack");
  plen = buf___19.len;
  if (! force_delete) {
    strbuf_addstr(& buf___19, (char const   *)".keep");
    tmp = access((char const   *)buf___19.buf, 0);
    if (! tmp) {
      strbuf_release(& buf___19);
      return;
    }
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(exts) / sizeof(exts[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    strbuf_setlen(& buf___19, plen);
    strbuf_addstr(& buf___19, exts[i]);
    unlink((char const   *)buf___19.buf);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  return;
}
}
static void find_lru_pack(struct packed_git *p___0 , struct packed_git **lru_p , struct pack_window **mru_w ,
                          int *accept_windows_inuse )
{
  struct pack_window *w ;
  struct pack_window *this_mru_w ;
  int has_windows_inuse ;

  {
  has_windows_inuse = 0;
  if (*lru_p) {
    if (! *mru_w) {
      if (p___0->windows) {
        return;
      } else
      if (p___0->mtime > (*lru_p)->mtime) {
        return;
      }
    }
  }
  this_mru_w = p___0->windows;
  w = this_mru_w;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! w) {
      goto while_break;
    }
    if (w->inuse_cnt) {
      if (*accept_windows_inuse) {
        has_windows_inuse = 1;
      } else {
        return;
      }
    }
    if (w->last_used > this_mru_w->last_used) {
      this_mru_w = w;
    }
    if (*mru_w) {
      if (*accept_windows_inuse == has_windows_inuse) {
        if (this_mru_w->last_used > (*mru_w)->last_used) {
          return;
        }
      }
    }
    w = w->next;
  }
  while_break: /* CIL Label */ ;
  }
  *mru_w = this_mru_w;
  *lru_p = p___0;
  *accept_windows_inuse = has_windows_inuse;
  return;
}
}
static int close_one_pack(void)
{
  struct packed_git *p___0 ;
  struct packed_git *lru_p ;
  struct pack_window *mru_w ;
  int accept_windows_inuse ;
  int tmp ;

  {
  lru_p = (struct packed_git *)((void *)0);
  mru_w = (struct pack_window *)((void *)0);
  accept_windows_inuse = 1;
  p___0 = (the_repository->objects)->packed_git;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if (p___0->pack_fd == -1) {
      goto __Cont;
    }
    find_lru_pack(p___0, & lru_p, & mru_w, & accept_windows_inuse);
    __Cont: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (lru_p) {
    tmp = close_pack_fd(lru_p);
    return (tmp);
  }
  return (0);
}
}
static unsigned int get_max_fd_limit(void)
{
  struct rlimit lim ;
  int tmp ;
  long open_max ;
  long tmp___0 ;

  {
  tmp = getrlimit((__rlimit_resource_t )7, & lim);
  if (! tmp) {
    return ((unsigned int )lim.rlim_cur);
  }
  tmp___0 = sysconf(4);
  open_max = tmp___0;
  if (0L < open_max) {
    return ((unsigned int )open_max);
  }
  return (1U);
}
}
char const   *pack_basename(struct packed_git *p___0 )
{
  char const   *ret___67 ;
  char *tmp ;

  {
  tmp = strrchr((char const   *)(p___0->pack_name), '/');
  ret___67 = (char const   *)tmp;
  if (ret___67) {
    ret___67 ++;
  } else {
    ret___67 = (char const   *)(p___0->pack_name);
  }
  return (ret___67);
}
}
static int open_packed_git_1(struct packed_git *p___0 )
{
  struct stat st ;
  struct pack_header hdr ;
  unsigned char hash___0[32] ;
  unsigned char *idx_hash ;
  ssize_t read_result ;
  unsigned int hashsz ;
  int tmp ;
  int tmp___0 ;
  unsigned int max_fds ;
  unsigned int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  uint32_t tmp___9 ;
  uint32_t tmp___10 ;
  int tmp___11 ;
  uint32_t tmp___12 ;
  uint32_t tmp___13 ;
  uint32_t tmp___14 ;
  int tmp___15 ;
  uint32_t tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;

  {
  hashsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  tmp___0 = open_pack_index(p___0);
  if (tmp___0) {
    error((char const   *)"packfile %s index unavailable", p___0->pack_name);
    tmp = const_error();
    return (tmp);
  }
  if (! pack_max_fds) {
    tmp___1 = get_max_fd_limit();
    max_fds = tmp___1;
    if (25U < max_fds) {
      pack_max_fds = max_fds - 25U;
    } else {
      pack_max_fds = 1U;
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (pack_max_fds <= pack_open_fds) {
      tmp___2 = close_one_pack();
      if (! tmp___2) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  p___0->pack_fd = git_open_cloexec((char const   *)(p___0->pack_name), 00);
  if (p___0->pack_fd < 0) {
    return (-1);
  } else {
    tmp___3 = fstat(p___0->pack_fd, & st);
    if (tmp___3) {
      return (-1);
    }
  }
  pack_open_fds ++;
  if (! p___0->pack_size) {
    if (! ((st.st_mode & 61440U) == 32768U)) {
      error((char const   *)"packfile %s not a regular file", p___0->pack_name);
      tmp___4 = const_error();
      return (tmp___4);
    }
    p___0->pack_size = st.st_size;
  } else
  if (p___0->pack_size != st.st_size) {
    error((char const   *)"packfile %s size changed", p___0->pack_name);
    tmp___5 = const_error();
    return (tmp___5);
  }
  read_result = read_in_full(p___0->pack_fd, (void *)(& hdr), sizeof(hdr));
  if (read_result < 0L) {
    error_errno((char const   *)"error reading from %s", p___0->pack_name);
    tmp___6 = const_error();
    return (tmp___6);
  }
  if ((unsigned long )read_result != sizeof(hdr)) {
    error((char const   *)"file %s is far too short to be a packfile", p___0->pack_name);
    tmp___7 = const_error();
    return (tmp___7);
  }
  tmp___9 = git_bswap32((uint32_t )0x5041434b);
  if (hdr.hdr_signature != tmp___9) {
    error((char const   *)"file %s is not a GIT packfile", p___0->pack_name);
    tmp___8 = const_error();
    return (tmp___8);
  }
  tmp___12 = git_bswap32((uint32_t )2);
  if (! (hdr.hdr_version == tmp___12)) {
    tmp___13 = git_bswap32((uint32_t )3);
    if (! (hdr.hdr_version == tmp___13)) {
      tmp___10 = git_bswap32(hdr.hdr_version);
      error((char const   *)"packfile %s is version %u and not supported (try upgrading GIT to a newer version)",
            p___0->pack_name, tmp___10);
      tmp___11 = const_error();
      return (tmp___11);
    }
  }
  tmp___16 = git_bswap32(hdr.hdr_entries);
  if (p___0->num_objects != tmp___16) {
    tmp___14 = git_bswap32(hdr.hdr_entries);
    error((char const   *)"packfile %s claims to have %u objects while index indicates %u objects",
          p___0->pack_name, tmp___14, p___0->num_objects);
    tmp___15 = const_error();
    return (tmp___15);
  }
  read_result = pread_in_full(p___0->pack_fd, (void *)(hash___0), (size_t )hashsz,
                              p___0->pack_size - (off_t )hashsz);
  if (read_result < 0L) {
    error_errno((char const   *)"error reading from %s", p___0->pack_name);
    tmp___17 = const_error();
    return (tmp___17);
  }
  if (read_result != (ssize_t )hashsz) {
    error((char const   *)"packfile %s signature is unavailable", p___0->pack_name);
    tmp___18 = const_error();
    return (tmp___18);
  }
  idx_hash = ((unsigned char *)p___0->index_data + p___0->index_size) - hashsz * 2U;
  tmp___20 = hasheq((unsigned char const   *)(hash___0), (unsigned char const   *)idx_hash);
  if (! tmp___20) {
    error((char const   *)"packfile %s does not match index", p___0->pack_name);
    tmp___19 = const_error();
    return (tmp___19);
  }
  return (0);
}
}
static int open_packed_git(struct packed_git *p___0 )
{
  int tmp ;

  {
  tmp = open_packed_git_1(p___0);
  if (! tmp) {
    return (0);
  }
  close_pack_fd(p___0);
  return (-1);
}
}
static int in_window(struct pack_window *win , off_t offset___2 )
{
  off_t win_off ;
  int tmp ;

  {
  win_off = win->offset;
  if (win_off <= offset___2) {
    if ((size_t )offset___2 + (the_repository->hash_algo)->rawsz <= (size_t )((size_t )win_off + win->len)) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
unsigned char *use_pack(struct packed_git *p___0 , struct pack_window **w_cursor ,
                        off_t offset___2 , unsigned long *left )
{
  struct pack_window *win ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  size_t window_align ;
  off_t len___0 ;
  int tmp___2 ;
  void *tmp___3 ;
  int tmp___4 ;
  void *tmp___5 ;
  char const   *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  unsigned int tmp___9 ;
  size_t tmp___10 ;

  {
  win = *w_cursor;
  if (! p___0->pack_size) {
    if (p___0->pack_fd == -1) {
      tmp = open_packed_git(p___0);
      if (tmp) {
        die((char const   *)"packfile %s cannot be accessed", p___0->pack_name);
      }
    }
  }
  if ((size_t )offset___2 > (size_t )p___0->pack_size - (the_repository->hash_algo)->rawsz) {
    die((char const   *)"offset beyond end of packfile (truncated pack?)");
  }
  if (offset___2 < 0L) {
    tmp___0 = _((char const   *)"offset before end of packfile (broken .idx?)");
    die((char const   *)tmp___0);
  }
  if (! win) {
    goto _L;
  } else {
    tmp___8 = in_window(win, offset___2);
    if (! tmp___8) {
      _L: /* CIL Label */
      if (win) {
        (win->inuse_cnt) --;
      }
      win = p___0->windows;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! win) {
          goto while_break;
        }
        tmp___1 = in_window(win, offset___2);
        if (tmp___1) {
          goto while_break;
        }
        win = win->next;
      }
      while_break: /* CIL Label */ ;
      }
      if (! win) {
        window_align = packed_git_window_size / 2UL;
        if (p___0->pack_fd == -1) {
          tmp___2 = open_packed_git(p___0);
          if (tmp___2) {
            die((char const   *)"packfile %s cannot be accessed", p___0->pack_name);
          }
        }
        tmp___3 = xcalloc((size_t )1, sizeof(*win));
        win = (struct pack_window *)tmp___3;
        win->offset = (off_t )(((size_t )offset___2 / window_align) * window_align);
        len___0 = p___0->pack_size - win->offset;
        if ((size_t )len___0 > packed_git_window_size) {
          len___0 = (off_t )packed_git_window_size;
        }
        win->len = (size_t )len___0;
        pack_mapped += win->len;
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          if (packed_git_limit < pack_mapped) {
            tmp___4 = unuse_one_window(p___0);
            if (! tmp___4) {
              goto while_break___0;
            }
          } else {
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
        tmp___5 = xmmap_gently((void *)0, win->len, 0x1, 0x02, p___0->pack_fd, win->offset);
        win->base = (unsigned char *)tmp___5;
        if ((unsigned long )win->base == (unsigned long )((void *)-1)) {
          tmp___6 = mmap_os_err();
          tmp___7 = _((char const   *)"packfile %s cannot be mapped%s");
          die_errno((char const   *)tmp___7, p___0->pack_name, tmp___6);
        }
        if (! win->offset) {
          if (win->len == (size_t )p___0->pack_size) {
            if (! p___0->do_not_close) {
              close_pack_fd(p___0);
            }
          }
        }
        pack_mmap_calls ++;
        pack_open_windows ++;
        if (pack_mapped > peak_pack_mapped) {
          peak_pack_mapped = pack_mapped;
        }
        if (pack_open_windows > peak_pack_open_windows) {
          peak_pack_open_windows = pack_open_windows;
        }
        win->next = p___0->windows;
        p___0->windows = win;
      }
    }
  }
  if ((unsigned long )win != (unsigned long )*w_cursor) {
    tmp___9 = pack_used_ctr;
    pack_used_ctr ++;
    win->last_used = tmp___9;
    (win->inuse_cnt) ++;
    *w_cursor = win;
  }
  offset___2 -= win->offset;
  if (left) {
    tmp___10 = xsize_t(offset___2);
    *left = win->len - tmp___10;
  }
  return (win->base + offset___2);
}
}
void unuse_pack(struct pack_window **w_cursor )
{
  struct pack_window *w ;

  {
  w = *w_cursor;
  if (w) {
    (w->inuse_cnt) --;
    *w_cursor = (struct pack_window *)((void *)0);
  }
  return;
}
}
struct packed_git *add_packed_git(char const   *path___6 , size_t path_len , int local___0 )
{
  struct stat st ;
  size_t alloc___0 ;
  struct packed_git *p___0 ;
  int tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = strip_suffix_mem(path___6, & path_len, (char const   *)".idx");
  if (! tmp) {
    return ((struct packed_git *)((void *)0));
  }
  tmp___0 = strlen((char const   *)".promisor");
  tmp___1 = st_add(path_len, tmp___0);
  alloc___0 = st_add(tmp___1, (size_t )1);
  p___0 = alloc_packed_git((int )alloc___0);
  memcpy((void *)(p___0->pack_name), (void const   *)path___6, path_len);
  xsnprintf(p___0->pack_name + path_len, alloc___0 - path_len, (char const   *)".keep");
  tmp___2 = access((char const   *)(p___0->pack_name), 0);
  if (! tmp___2) {
    p___0->pack_keep = 1U;
  }
  xsnprintf(p___0->pack_name + path_len, alloc___0 - path_len, (char const   *)".promisor");
  tmp___3 = access((char const   *)(p___0->pack_name), 0);
  if (! tmp___3) {
    p___0->pack_promisor = 1U;
  }
  xsnprintf(p___0->pack_name + path_len, alloc___0 - path_len, (char const   *)".pack");
  tmp___4 = stat((char const   *)(p___0->pack_name), & st);
  if (tmp___4) {
    free((void *)p___0);
    return ((struct packed_git *)((void *)0));
  } else
  if (! ((st.st_mode & 61440U) == 32768U)) {
    free((void *)p___0);
    return ((struct packed_git *)((void *)0));
  }
  p___0->pack_size = st.st_size;
  p___0->pack_local = (unsigned int )local___0;
  p___0->mtime = st.st_mtim.tv_sec;
  if (path_len < (size_t )(the_repository->hash_algo)->hexsz) {
    hashclr(p___0->hash);
  } else {
    tmp___5 = get_sha1_hex((path___6 + path_len) - (the_repository->hash_algo)->hexsz,
                           p___0->hash);
    if (tmp___5) {
      hashclr(p___0->hash);
    }
  }
  return (p___0);
}
}
void install_packed_git(struct repository *r , struct packed_git *pack___0 )
{
  unsigned int tmp ;

  {
  if (pack___0->pack_fd != -1) {
    pack_open_fds ++;
  }
  pack___0->next = (r->objects)->packed_git;
  (r->objects)->packed_git = pack___0;
  tmp = strhash((char const   *)(pack___0->pack_name));
  hashmap_entry_init(& pack___0->packmap_ent, tmp);
  hashmap_add(& (r->objects)->pack_map, & pack___0->packmap_ent);
  return;
}
}
static void report_helper(struct string_list  const  *list___3 , int seen_bits , int first ,
                          int last )
{


  {
  if (seen_bits == 3) {
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (first < last)) {
      goto while_break;
    }
    (*report_garbage)((unsigned int )seen_bits, (char const   *)(list___3->items + first)->string);
    first ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void report_pack_garbage(struct string_list *list___3 )
{
  int i ;
  int baselen ;
  int first ;
  int seen_bits ;
  char const   *path___6 ;
  int tmp ;
  char const   *dot ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  baselen = -1;
  first = 0;
  seen_bits = 0;
  if (! report_garbage) {
    return;
  }
  string_list_sort(list___3);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < list___3->nr)) {
      goto while_break;
    }
    path___6 = (char const   *)(list___3->items + i)->string;
    if (baselen != -1) {
      tmp = strncmp(path___6, (char const   *)(list___3->items + first)->string, (size_t )baselen);
      if (tmp) {
        report_helper((struct string_list  const  *)list___3, seen_bits, first, i);
        baselen = -1;
        seen_bits = 0;
      }
    }
    if (baselen == -1) {
      tmp___0 = strrchr(path___6, '.');
      dot = (char const   *)tmp___0;
      if (! dot) {
        (*report_garbage)(4U, path___6);
        goto __Cont;
      }
      baselen = (int )((dot - path___6) + 1L);
      first = i;
    }
    tmp___2 = strcmp(path___6 + baselen, (char const   *)"pack");
    if (tmp___2) {
      tmp___1 = strcmp(path___6 + baselen, (char const   *)"idx");
      if (! tmp___1) {
        seen_bits |= 2;
      }
    } else {
      seen_bits |= 1;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  report_helper((struct string_list  const  *)list___3, seen_bits, first, (int )list___3->nr);
  return;
}
}
void for_each_file_in_pack_dir(char const   *objdir , each_file_in_pack_dir_fn *fn ,
                               void *data )
{
  struct strbuf path___6 ;
  size_t dirnamelen ;
  DIR *dir ;
  struct dirent *de ;
  int *tmp ;

  {
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  strbuf_addstr(& path___6, objdir);
  strbuf_addstr(& path___6, (char const   *)"/pack");
  dir = opendir((char const   *)path___6.buf);
  if (! dir) {
    tmp = __errno_location();
    if (*tmp != 2) {
      error_errno((char const   *)"unable to open object pack directory: %s", path___6.buf);
      const_error();
    }
    strbuf_release(& path___6);
    return;
  }
  strbuf_addch(& path___6, '/');
  dirnamelen = path___6.len;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    de = readdir_skip_dot_and_dotdot(dir);
    if (! ((unsigned long )de != (unsigned long )((void *)0))) {
      goto while_break;
    }
    strbuf_setlen(& path___6, dirnamelen);
    strbuf_addstr(& path___6, (char const   *)(de->d_name));
    (*fn)((char const   *)path___6.buf, path___6.len, (char const   *)(de->d_name),
          data);
  }
  while_break: /* CIL Label */ ;
  }
  closedir(dir);
  strbuf_release(& path___6);
  return;
}
}
static void prepare_pack(char const   *full_name , size_t full_name_len , char const   *file_name ,
                         void *_data )
{
  struct prepare_pack_data *data ;
  struct packed_git *p___0 ;
  size_t base_len ;
  struct hashmap_entry hent ;
  char *pack_name ;
  char *tmp ;
  unsigned int hash___0 ;
  unsigned int tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;

  {
  data = (struct prepare_pack_data *)_data;
  base_len = full_name_len;
  tmp___2 = strip_suffix_mem(full_name, & base_len, (char const   *)".idx");
  if (tmp___2) {
    if (data->m) {
      tmp___3 = midx_contains_pack(data->m, file_name);
      if (! tmp___3) {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      tmp = xstrfmt((char const   *)"%.*s.pack", (int )base_len, full_name);
      pack_name = tmp;
      tmp___0 = strhash((char const   *)pack_name);
      hash___0 = tmp___0;
      hashmap_entry_init(& hent, hash___0);
      tmp___1 = hashmap_get((struct hashmap  const  *)(& ((data->r)->objects)->pack_map),
                            (struct hashmap_entry  const  *)(& hent), (void const   *)pack_name);
      if (! tmp___1) {
        p___0 = add_packed_git(full_name, full_name_len, data->local);
        if (p___0) {
          install_packed_git(data->r, p___0);
        }
      }
      free((void *)pack_name);
    }
  }
  if (! report_garbage) {
    return;
  }
  tmp___4 = strcmp(file_name, (char const   *)"multi-pack-index");
  if (! tmp___4) {
    return;
  }
  tmp___5 = starts_with(file_name, (char const   *)"multi-pack-index");
  if (tmp___5) {
    tmp___6 = ends_with(file_name, (char const   *)".bitmap");
    if (tmp___6) {
      return;
    } else {
      tmp___7 = ends_with(file_name, (char const   *)".rev");
      if (tmp___7) {
        return;
      }
    }
  }
  tmp___8 = ends_with(file_name, (char const   *)".idx");
  if (tmp___8) {
    string_list_append(data->garbage, full_name);
  } else {
    tmp___9 = ends_with(file_name, (char const   *)".rev");
    if (tmp___9) {
      string_list_append(data->garbage, full_name);
    } else {
      tmp___10 = ends_with(file_name, (char const   *)".pack");
      if (tmp___10) {
        string_list_append(data->garbage, full_name);
      } else {
        tmp___11 = ends_with(file_name, (char const   *)".bitmap");
        if (tmp___11) {
          string_list_append(data->garbage, full_name);
        } else {
          tmp___12 = ends_with(file_name, (char const   *)".keep");
          if (tmp___12) {
            string_list_append(data->garbage, full_name);
          } else {
            tmp___13 = ends_with(file_name, (char const   *)".promisor");
            if (tmp___13) {
              string_list_append(data->garbage, full_name);
            } else {
              (*report_garbage)(4U, full_name);
            }
          }
        }
      }
    }
  }
  return;
}
}
static void prepare_packed_git_one(struct repository *r , char *objdir , int local___0 )
{
  struct prepare_pack_data data ;
  struct string_list garbage___0 ;
  int tmp ;

  {
  garbage___0.items = (struct string_list_item *)0;
  garbage___0.nr = 0U;
  garbage___0.alloc = 0U;
  garbage___0.strdup_strings = 1U;
  garbage___0.cmp = (int (*)(char const   * , char const   * ))0;
  data.m = (r->objects)->multi_pack_index;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (data.m) {
      tmp = strcmp((char const   *)((data.m)->object_dir), (char const   *)objdir);
      if (! tmp) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    data.m = (data.m)->next;
  }
  while_break: /* CIL Label */ ;
  }
  data.r = r;
  data.garbage = & garbage___0;
  data.local = local___0;
  for_each_file_in_pack_dir((char const   *)objdir, & prepare_pack, (void *)(& data));
  report_pack_garbage(data.garbage);
  string_list_clear(data.garbage, 0);
  return;
}
}
static void prepare_packed_git(struct repository *r ) ;
unsigned long repo_approximate_object_count(struct repository *r )
{
  unsigned long count___0 ;
  struct multi_pack_index *m ;
  struct packed_git *p___0 ;
  int tmp ;

  {
  if (! (r->objects)->approximate_object_count_valid) {
    prepare_packed_git(r);
    count___0 = 0UL;
    m = get_multi_pack_index(r);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! m) {
        goto while_break;
      }
      count___0 += (unsigned long )m->num_objects;
      m = m->next;
    }
    while_break: /* CIL Label */ ;
    }
    p___0 = (r->objects)->packed_git;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! p___0) {
        goto while_break___0;
      }
      tmp = open_pack_index(p___0);
      if (tmp) {
        goto __Cont;
      }
      count___0 += (unsigned long )p___0->num_objects;
      __Cont: /* CIL Label */
      p___0 = p___0->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    (r->objects)->approximate_object_count = count___0;
    (r->objects)->approximate_object_count_valid = 1U;
  }
  return ((r->objects)->approximate_object_count);
}
}
static void *get_next_packed_git(void const   *p___0 )
{


  {
  return ((void *)((struct packed_git  const  *)p___0)->next);
}
}
static void set_next_packed_git(void *p___0 , void *next___2 )
{


  {
  ((struct packed_git *)p___0)->next = (struct packed_git *)next___2;
  return;
}
}
static int sort_pack(void const   *a_ , void const   *b_ )
{
  struct packed_git  const  *a ;
  struct packed_git  const  *b___0 ;
  int st ;

  {
  a = (struct packed_git  const  *)a_;
  b___0 = (struct packed_git  const  *)b_;
  st = (int )(a->pack_local - b___0->pack_local);
  if (st) {
    return (- st);
  }
  if (a->mtime < b___0->mtime) {
    return (1);
  } else
  if (a->mtime == b___0->mtime) {
    return (0);
  }
  return (-1);
}
}
static void rearrange_packed_git(struct repository *r )
{
  void *tmp ;

  {
  tmp = llist_mergesort((void *)(r->objects)->packed_git, & get_next_packed_git, & set_next_packed_git,
                        & sort_pack);
  (r->objects)->packed_git = (struct packed_git *)tmp;
  return;
}
}
static void prepare_packed_git_mru(struct repository *r )
{
  struct packed_git *p___0 ;
  struct list_head *tmp ;

  {
  tmp = & (r->objects)->packed_git_mru;
  (r->objects)->packed_git_mru.prev = tmp;
  (r->objects)->packed_git_mru.next = tmp;
  p___0 = (r->objects)->packed_git;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    list_add_tail(& p___0->mru, & (r->objects)->packed_git_mru);
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void prepare_packed_git(struct repository *r )
{
  struct object_directory *odb ;
  int local___0 ;

  {
  if ((r->objects)->packed_git_initialized) {
    return;
  }
  prepare_alt_odb(r);
  odb = (r->objects)->odb;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! odb) {
      goto while_break;
    }
    local___0 = (unsigned long )odb == (unsigned long )(r->objects)->odb;
    prepare_multi_pack_index_one(r, (char const   *)odb->path, local___0);
    prepare_packed_git_one(r, odb->path, local___0);
    odb = odb->next;
  }
  while_break: /* CIL Label */ ;
  }
  rearrange_packed_git(r);
  prepare_packed_git_mru(r);
  (r->objects)->packed_git_initialized = 1U;
  return;
}
}
void reprepare_packed_git(struct repository *r )
{
  struct object_directory *odb ;

  {
  obj_read_lock();
  odb = (r->objects)->odb;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! odb) {
      goto while_break;
    }
    odb_clear_loose_cache(odb);
    odb = odb->next;
  }
  while_break: /* CIL Label */ ;
  }
  (r->objects)->approximate_object_count_valid = 0U;
  (r->objects)->packed_git_initialized = 0U;
  prepare_packed_git(r);
  obj_read_unlock();
  return;
}
}
struct packed_git *get_packed_git(struct repository *r )
{


  {
  prepare_packed_git(r);
  return ((r->objects)->packed_git);
}
}
struct multi_pack_index *get_multi_pack_index(struct repository *r )
{


  {
  prepare_packed_git(r);
  return ((r->objects)->multi_pack_index);
}
}
struct multi_pack_index *get_local_multi_pack_index(struct repository *r )
{
  struct multi_pack_index *m ;
  struct multi_pack_index *tmp ;

  {
  tmp = get_multi_pack_index(r);
  m = tmp;
  if (m) {
    if (m->local) {
      return (m);
    }
  }
  return ((struct multi_pack_index *)((void *)0));
}
}
struct packed_git *get_all_packs(struct repository *r )
{
  struct multi_pack_index *m ;
  uint32_t i ;

  {
  prepare_packed_git(r);
  m = (r->objects)->multi_pack_index;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! m) {
      goto while_break;
    }
    i = (uint32_t )0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < m->num_packs)) {
        goto while_break___0;
      }
      prepare_midx_pack(r, m, i);
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    m = m->next;
  }
  while_break: /* CIL Label */ ;
  }
  return ((r->objects)->packed_git);
}
}
struct list_head *get_packed_git_mru(struct repository *r )
{


  {
  prepare_packed_git(r);
  return (& (r->objects)->packed_git_mru);
}
}
unsigned long unpack_object_header_buffer(unsigned char const   *buf___19 , unsigned long len___0 ,
                                          enum object_type *type___0 , unsigned long *sizep )
{
  unsigned int shift ;
  size_t size ;
  size_t c___0 ;
  unsigned long used___0 ;
  unsigned long tmp ;
  unsigned long tmp___0 ;
  size_t tmp___1 ;

  {
  used___0 = 0UL;
  tmp = used___0;
  used___0 ++;
  c___0 = (size_t )*(buf___19 + tmp);
  *type___0 = (enum object_type )((c___0 >> 4) & 7UL);
  size = c___0 & 15UL;
  shift = 4U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (c___0 & 128UL)) {
      goto while_break;
    }
    if (len___0 <= used___0) {
      error((char const   *)"bad object header");
      const_error();
      used___0 = 0UL;
      size = used___0;
      goto while_break;
    } else
    if (8UL * sizeof(long ) - 7UL < (unsigned long )shift) {
      error((char const   *)"bad object header");
      const_error();
      used___0 = 0UL;
      size = used___0;
      goto while_break;
    }
    tmp___0 = used___0;
    used___0 ++;
    c___0 = (size_t )*(buf___19 + tmp___0);
    tmp___1 = st_left_shift(c___0 & 127UL, shift);
    size = st_add(size, tmp___1);
    shift += 7U;
  }
  while_break: /* CIL Label */ ;
  }
  *sizep = cast_size_t_to_ulong(size);
  return (used___0);
}
}
unsigned long get_size_from_delta(struct packed_git *p___0 , struct pack_window **w_curs ,
                                  off_t curpos )
{
  unsigned char const   *data ;
  unsigned char delta_head[20] ;
  unsigned char *in ;
  git_zstream stream ;
  int st ;
  unsigned long tmp ;

  {
  memset((void *)(& stream), 0, sizeof(stream));
  stream.next_out = delta_head;
  stream.avail_out = sizeof(delta_head);
  git_inflate_init(& stream);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    in = use_pack(p___0, w_curs, curpos, & stream.avail_in);
    stream.next_in = in;
    obj_read_unlock();
    st = git_inflate(& stream, 4);
    obj_read_lock();
    curpos += stream.next_in - in;
    if (st == 0) {
      goto _L;
    } else
    if (st == -5) {
      _L: /* CIL Label */
      if (! (stream.total_out < sizeof(delta_head))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  git_inflate_end(& stream);
  if (st != 1) {
    if (stream.total_out != sizeof(delta_head)) {
      error((char const   *)"delta data unpack-initial failed");
      const_error();
      return (0UL);
    }
  }
  data = (unsigned char const   *)(delta_head);
  get_delta_hdr_size(& data, (unsigned char const   *)(delta_head + sizeof(delta_head)));
  tmp = get_delta_hdr_size(& data, (unsigned char const   *)(delta_head + sizeof(delta_head)));
  return (tmp);
}
}
int unpack_object_header(struct packed_git *p___0 , struct pack_window **w_curs ,
                         off_t *curpos , unsigned long *sizep )
{
  unsigned char *base ;
  unsigned long left ;
  unsigned long used___0 ;
  enum object_type type___0 ;

  {
  base = use_pack(p___0, w_curs, *curpos, & left);
  used___0 = unpack_object_header_buffer((unsigned char const   *)base, left, & type___0,
                                         sizep);
  if (! used___0) {
    type___0 = (enum object_type )-1;
  } else {
    *curpos = (off_t )((unsigned long )*curpos + used___0);
  }
  return ((int )type___0);
}
}
void mark_bad_packed_object(struct packed_git *p___0 , struct object_id  const  *oid )
{


  {
  oidset_insert(& p___0->bad_objects, oid);
  return;
}
}
struct packed_git  const  *has_packed_and_bad(struct repository *r , struct object_id  const  *oid )
{
  struct packed_git *p___0 ;
  int tmp ;

  {
  p___0 = (r->objects)->packed_git;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    tmp = oidset_contains((struct oidset  const  *)(& p___0->bad_objects), oid);
    if (tmp) {
      return ((struct packed_git  const  *)p___0);
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct packed_git  const  *)((void *)0));
}
}
off_t get_delta_base(struct packed_git *p___0 , struct pack_window **w_curs , off_t *curpos ,
                     enum object_type type___0 , off_t delta_obj_offset )
{
  unsigned char *base_info ;
  unsigned char *tmp ;
  off_t base_offset ;
  unsigned int used___0 ;
  unsigned char c___0 ;
  unsigned int tmp___0 ;
  unsigned int tmp___1 ;

  {
  tmp = use_pack(p___0, w_curs, *curpos, (unsigned long *)((void *)0));
  base_info = tmp;
  if ((int )type___0 == 6) {
    used___0 = 0U;
    tmp___0 = used___0;
    used___0 ++;
    c___0 = *(base_info + tmp___0);
    base_offset = (off_t )((int )c___0 & 127);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((int )c___0 & 128)) {
        goto while_break;
      }
      base_offset ++;
      if (! base_offset) {
        return ((off_t )0);
      } else
      if (base_offset & (off_t )(18446744073709551615ULL << (8UL * sizeof(base_offset) - 7UL))) {
        return ((off_t )0);
      }
      tmp___1 = used___0;
      used___0 ++;
      c___0 = *(base_info + tmp___1);
      base_offset = (base_offset << 7) + (off_t )((int )c___0 & 127);
    }
    while_break: /* CIL Label */ ;
    }
    base_offset = delta_obj_offset - base_offset;
    if (base_offset <= 0L) {
      return ((off_t )0);
    } else
    if (base_offset >= delta_obj_offset) {
      return ((off_t )0);
    }
    *curpos += (off_t )used___0;
  } else
  if ((int )type___0 == 7) {
    base_offset = find_pack_entry_one((unsigned char const   *)base_info, p___0);
    *curpos = (off_t )((size_t )*curpos + (the_repository->hash_algo)->rawsz);
  } else {
    die((char const   *)"I am totally screwed");
  }
  return (base_offset);
}
}
static int get_delta_base_oid(struct packed_git *p___0 , struct pack_window **w_curs ,
                              off_t curpos , struct object_id *oid , enum object_type type___0 ,
                              off_t delta_obj_offset )
{
  unsigned char *base ;
  unsigned char *tmp ;
  uint32_t base_pos ;
  off_t base_offset ;
  off_t tmp___0 ;
  int tmp___1 ;
  uint32_t tmp___2 ;
  int tmp___3 ;

  {
  if ((int )type___0 == 7) {
    tmp = use_pack(p___0, w_curs, curpos, (unsigned long *)((void *)0));
    base = tmp;
    oidread(oid, (unsigned char const   *)base);
    return (0);
  } else
  if ((int )type___0 == 6) {
    tmp___0 = get_delta_base(p___0, w_curs, & curpos, type___0, delta_obj_offset);
    base_offset = tmp___0;
    if (! base_offset) {
      return (-1);
    }
    tmp___1 = offset_to_pack_pos(p___0, base_offset, & base_pos);
    if (tmp___1 < 0) {
      return (-1);
    }
    tmp___2 = pack_pos_to_index(p___0, base_pos);
    tmp___3 = nth_packed_object_id(oid, p___0, tmp___2);
    return (tmp___3);
  } else {
    return (-1);
  }
}
}
static int retry_bad_packed_offset(struct repository *r , struct packed_git *p___0 ,
                                   off_t obj_offset )
{
  int type___0 ;
  uint32_t pos ;
  struct object_id oid ;
  int tmp ;
  uint32_t tmp___0 ;

  {
  tmp = offset_to_pack_pos(p___0, obj_offset, & pos);
  if (tmp < 0) {
    return (-1);
  }
  tmp___0 = pack_pos_to_index(p___0, pos);
  nth_packed_object_id(& oid, p___0, tmp___0);
  mark_bad_packed_object(p___0, (struct object_id  const  *)(& oid));
  type___0 = oid_object_info(r, (struct object_id  const  *)(& oid), (unsigned long *)((void *)0));
  if (type___0 <= 0) {
    return (-1);
  }
  return (type___0);
}
}
static enum object_type packed_to_object_type(struct repository *r , struct packed_git *p___0 ,
                                              off_t obj_offset , enum object_type type___0 ,
                                              struct pack_window **w_curs , off_t curpos )
{
  off_t small_poi_stack[64] ;
  off_t *poi_stack ;
  int poi_stack_nr ;
  int poi_stack_alloc ;
  off_t base_offset ;
  unsigned long size ;
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  poi_stack = small_poi_stack;
  poi_stack_nr = 0;
  poi_stack_alloc = 64;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((int )type___0 == 6)) {
      if (! ((int )type___0 == 7)) {
        goto while_break;
      }
    }
    if (poi_stack_nr >= poi_stack_alloc) {
      if ((unsigned long )poi_stack == (unsigned long )(small_poi_stack)) {
        poi_stack_alloc = ((poi_stack_nr + 16) * 3) / 2;
        tmp = st_mult(sizeof(*poi_stack), (size_t )poi_stack_alloc);
        tmp___0 = xmalloc(tmp);
        poi_stack = (off_t *)tmp___0;
        copy_array((void *)poi_stack, (void const   *)(small_poi_stack), (size_t )poi_stack_nr,
                   sizeof(*poi_stack) + (sizeof(char [1]) - 1UL));
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (poi_stack_nr + 1 > poi_stack_alloc) {
          if (((poi_stack_alloc + 16) * 3) / 2 < poi_stack_nr + 1) {
            poi_stack_alloc = poi_stack_nr + 1;
          } else {
            poi_stack_alloc = ((poi_stack_alloc + 16) * 3) / 2;
          }
          tmp___1 = st_mult(sizeof(*poi_stack), (size_t )poi_stack_alloc);
          tmp___2 = xrealloc((void *)poi_stack, tmp___1);
          poi_stack = (off_t *)tmp___2;
        }
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
    }
    tmp___3 = poi_stack_nr;
    poi_stack_nr ++;
    *(poi_stack + tmp___3) = obj_offset;
    base_offset = get_delta_base(p___0, w_curs, & curpos, type___0, obj_offset);
    if (! base_offset) {
      goto unwind;
    }
    obj_offset = base_offset;
    curpos = obj_offset;
    tmp___4 = unpack_object_header(p___0, w_curs, & curpos, & size);
    type___0 = (enum object_type )tmp___4;
    if ((int )type___0 <= 0) {
      tmp___5 = retry_bad_packed_offset(r, p___0, base_offset);
      type___0 = (enum object_type )tmp___5;
      if ((int )type___0 > 0) {
        goto out;
      }
      goto unwind;
    }
  }
  while_break: /* CIL Label */ ;
  }
  {
  if ((int )type___0 == 4) {
    goto case_4;
  }
  if ((int )type___0 == 3) {
    goto case_4;
  }
  if ((int )type___0 == 2) {
    goto case_4;
  }
  if ((int )type___0 == 1) {
    goto case_4;
  }
  if ((int )type___0 == -1) {
    goto case_4;
  }
  goto switch_default;
  case_4: /* CIL Label */
  case_3: /* CIL Label */
  case_2: /* CIL Label */
  case_1: /* CIL Label */
  case_neg_1: /* CIL Label */
  goto switch_break;
  switch_default: /* CIL Label */
  error((char const   *)"unknown object type %i at offset %lu in %s", (int )type___0,
        (uintmax_t )obj_offset, p___0->pack_name);
  const_error();
  type___0 = (enum object_type )-1;
  switch_break: /* CIL Label */ ;
  }
  out:
  if ((unsigned long )poi_stack != (unsigned long )(small_poi_stack)) {
    free((void *)poi_stack);
  }
  return (type___0);
  unwind:
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! poi_stack_nr) {
      goto while_break___1;
    }
    poi_stack_nr --;
    obj_offset = *(poi_stack + poi_stack_nr);
    tmp___6 = retry_bad_packed_offset(r, p___0, obj_offset);
    type___0 = (enum object_type )tmp___6;
    if ((int )type___0 > 0) {
      goto out;
    }
  }
  while_break___1: /* CIL Label */ ;
  }
  type___0 = (enum object_type )-1;
  goto out;
}
}
static struct hashmap delta_base_cache  ;
static size_t delta_base_cached  ;
static struct list_head delta_base_cache_lru  =    {& delta_base_cache_lru, & delta_base_cache_lru};
static unsigned int pack_entry_hash(struct packed_git *p___0 , off_t base_offset )
{
  unsigned int hash___0 ;

  {
  hash___0 = (unsigned int )((intptr_t )p___0) + (unsigned int )base_offset;
  hash___0 += (hash___0 >> 8) + (hash___0 >> 16);
  return (hash___0);
}
}
static struct delta_base_cache_entry *get_delta_base_cache_entry(struct packed_git *p___0 ,
                                                                 off_t base_offset )
{
  struct hashmap_entry entry ;
  struct hashmap_entry *e ;
  struct delta_base_cache_key key___1 ;
  unsigned int tmp ;
  struct delta_base_cache_entry *tmp___0 ;

  {
  if (! delta_base_cache.cmpfn) {
    return ((struct delta_base_cache_entry *)((void *)0));
  }
  tmp = pack_entry_hash(p___0, base_offset);
  hashmap_entry_init(& entry, tmp);
  key___1.p = p___0;
  key___1.base_offset = base_offset;
  e = hashmap_get((struct hashmap  const  *)(& delta_base_cache), (struct hashmap_entry  const  *)(& entry),
                  (void const   *)(& key___1));
  if (e) {
    tmp___0 = (struct delta_base_cache_entry *)((char *)e - (unsigned long )(& ((struct delta_base_cache_entry *)0)->ent));
  } else {
    tmp___0 = (struct delta_base_cache_entry *)((void *)0);
  }
  return (tmp___0);
}
}
static int delta_base_cache_key_eq(struct delta_base_cache_key  const  *a , struct delta_base_cache_key  const  *b___0 )
{
  int tmp ;

  {
  if ((unsigned long )a->p == (unsigned long )b___0->p) {
    if (a->base_offset == b___0->base_offset) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static int delta_base_cache_hash_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *va ,
                                     struct hashmap_entry  const  *vb , void const   *vkey )
{
  struct delta_base_cache_entry  const  *a ;
  struct delta_base_cache_entry  const  *b___0 ;
  struct delta_base_cache_key  const  *key___1 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  key___1 = (struct delta_base_cache_key  const  *)vkey;
  a = (struct delta_base_cache_entry  const  *)((char *)va - (unsigned long )(& ((struct delta_base_cache_entry  const  *)0)->ent));
  b___0 = (struct delta_base_cache_entry  const  *)((char *)vb - (unsigned long )(& ((struct delta_base_cache_entry  const  *)0)->ent));
  if (key___1) {
    tmp = delta_base_cache_key_eq((struct delta_base_cache_key  const  *)(& a->key),
                                  key___1);
    if (tmp) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
    return (tmp___0);
  } else {
    tmp___1 = delta_base_cache_key_eq((struct delta_base_cache_key  const  *)(& a->key),
                                      (struct delta_base_cache_key  const  *)(& b___0->key));
    if (tmp___1) {
      tmp___2 = 0;
    } else {
      tmp___2 = 1;
    }
    return (tmp___2);
  }
}
}
static int in_delta_base_cache(struct packed_git *p___0 , off_t base_offset )
{
  struct delta_base_cache_entry *tmp ;
  int tmp___0 ;

  {
  tmp = get_delta_base_cache_entry(p___0, base_offset);
  if (tmp) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static void detach_delta_base_cache_entry(struct delta_base_cache_entry *ent )
{


  {
  hashmap_remove(& delta_base_cache, (struct hashmap_entry  const  *)(& ent->ent),
                 (void const   *)(& ent->key));
  list_del(& ent->lru);
  delta_base_cached -= ent->size;
  free((void *)ent);
  return;
}
}
static void *cache_or_unpack_entry(struct repository *r , struct packed_git *p___0 ,
                                   off_t base_offset , unsigned long *base_size ,
                                   enum object_type *type___0 )
{
  struct delta_base_cache_entry *ent ;
  void *tmp ;
  void *tmp___0 ;

  {
  ent = get_delta_base_cache_entry(p___0, base_offset);
  if (! ent) {
    tmp = unpack_entry(r, p___0, base_offset, type___0, base_size);
    return (tmp);
  }
  if (type___0) {
    *type___0 = ent->type;
  }
  if (base_size) {
    *base_size = ent->size;
  }
  tmp___0 = xmemdupz((void const   *)ent->data, ent->size);
  return (tmp___0);
}
}
__inline static void release_delta_base_cache(struct delta_base_cache_entry *ent )
{


  {
  free(ent->data);
  detach_delta_base_cache_entry(ent);
  return;
}
}
void clear_delta_base_cache(void)
{
  struct list_head *lru ;
  struct list_head *tmp ;
  struct delta_base_cache_entry *entry ;

  {
  lru = delta_base_cache_lru.next;
  tmp = lru->next;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )lru != (unsigned long )(& delta_base_cache_lru))) {
      goto while_break;
    }
    entry = (struct delta_base_cache_entry *)((char *)lru - (unsigned long )(& ((struct delta_base_cache_entry *)0)->lru));
    release_delta_base_cache(entry);
    lru = tmp;
    tmp = lru->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void add_delta_base_cache(struct packed_git *p___0 , off_t base_offset , void *base ,
                                 unsigned long base_size , enum object_type type___0 )
{
  struct delta_base_cache_entry *ent ;
  struct list_head *lru ;
  struct list_head *tmp ;
  int tmp___0 ;
  struct delta_base_cache_entry *f ;
  void *tmp___1 ;
  unsigned int tmp___2 ;

  {
  tmp___0 = in_delta_base_cache(p___0, base_offset);
  if (tmp___0) {
    free(base);
    return;
  }
  delta_base_cached += base_size;
  lru = delta_base_cache_lru.next;
  tmp = lru->next;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )lru != (unsigned long )(& delta_base_cache_lru))) {
      goto while_break;
    }
    f = (struct delta_base_cache_entry *)((char *)lru - (unsigned long )(& ((struct delta_base_cache_entry *)0)->lru));
    if (delta_base_cached <= delta_base_cache_limit) {
      goto while_break;
    }
    release_delta_base_cache(f);
    lru = tmp;
    tmp = lru->next;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = xmalloc(sizeof(*ent));
  ent = (struct delta_base_cache_entry *)tmp___1;
  ent->key.p = p___0;
  ent->key.base_offset = base_offset;
  ent->type = type___0;
  ent->data = base;
  ent->size = base_size;
  list_add_tail(& ent->lru, & delta_base_cache_lru);
  if (! delta_base_cache.cmpfn) {
    hashmap_init(& delta_base_cache, & delta_base_cache_hash_cmp, (void const   *)((void *)0),
                 (size_t )0);
  }
  tmp___2 = pack_entry_hash(p___0, base_offset);
  hashmap_entry_init(& ent->ent, tmp___2);
  hashmap_add(& delta_base_cache, & ent->ent);
  return;
}
}
int packed_object_info(struct repository *r , struct packed_git *p___0 , off_t obj_offset ,
                       struct object_info *oi___0 )
{
  struct pack_window *w_curs ;
  unsigned long size ;
  off_t curpos ;
  enum object_type type___0 ;
  int tmp ;
  off_t tmp_pos ;
  off_t base_offset ;
  off_t tmp___0 ;
  uint32_t pos ;
  int tmp___1 ;
  off_t tmp___2 ;
  enum object_type ptot ;
  char const   *tn ;
  char const   *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  w_curs = (struct pack_window *)((void *)0);
  curpos = obj_offset;
  if (oi___0->contentp) {
    *(oi___0->contentp) = cache_or_unpack_entry(r, p___0, obj_offset, oi___0->sizep,
                                                & type___0);
    if (! *(oi___0->contentp)) {
      type___0 = (enum object_type )-1;
    }
  } else {
    tmp = unpack_object_header(p___0, & w_curs, & curpos, & size);
    type___0 = (enum object_type )tmp;
  }
  if (! oi___0->contentp) {
    if (oi___0->sizep) {
      if ((int )type___0 == 6) {
        goto _L;
      } else
      if ((int )type___0 == 7) {
        _L: /* CIL Label */
        tmp_pos = curpos;
        tmp___0 = get_delta_base(p___0, & w_curs, & tmp_pos, type___0, obj_offset);
        base_offset = tmp___0;
        if (! base_offset) {
          type___0 = (enum object_type )-1;
          goto out;
        }
        *(oi___0->sizep) = get_size_from_delta(p___0, & w_curs, tmp_pos);
        if (*(oi___0->sizep) == 0UL) {
          type___0 = (enum object_type )-1;
          goto out;
        }
      } else {
        *(oi___0->sizep) = size;
      }
    }
  }
  if (oi___0->disk_sizep) {
    tmp___1 = offset_to_pack_pos(p___0, obj_offset, & pos);
    if (tmp___1 < 0) {
      error((char const   *)"could not find object at offset %lu in pack %s", (uintmax_t )obj_offset,
            p___0->pack_name);
      const_error();
      type___0 = (enum object_type )-1;
      goto out;
    }
    tmp___2 = pack_pos_to_offset(p___0, pos + 1U);
    *(oi___0->disk_sizep) = tmp___2 - obj_offset;
  }
  if (oi___0->typep) {
    goto _L___0;
  } else
  if (oi___0->type_name) {
    _L___0: /* CIL Label */
    ptot = packed_to_object_type(r, p___0, obj_offset, type___0, & w_curs, curpos);
    if (oi___0->typep) {
      *(oi___0->typep) = ptot;
    }
    if (oi___0->type_name) {
      tmp___3 = type_name((unsigned int )ptot);
      tn = tmp___3;
      if (tn) {
        strbuf_addstr(oi___0->type_name, tn);
      }
    }
    if ((int )ptot < 0) {
      type___0 = (enum object_type )-1;
      goto out;
    }
  }
  if (oi___0->delta_base_oid) {
    if ((int )type___0 == 6) {
      goto _L___1;
    } else
    if ((int )type___0 == 7) {
      _L___1: /* CIL Label */
      tmp___4 = get_delta_base_oid(p___0, & w_curs, curpos, oi___0->delta_base_oid,
                                   type___0, obj_offset);
      if (tmp___4 < 0) {
        type___0 = (enum object_type )-1;
        goto out;
      }
    } else {
      oidclr(oi___0->delta_base_oid);
    }
  }
  tmp___6 = in_delta_base_cache(p___0, obj_offset);
  if (tmp___6) {
    oi___0->whence = (enum __anonenum_whence_657228489 )3;
  } else {
    oi___0->whence = (enum __anonenum_whence_657228489 )2;
  }
  out:
  unuse_pack(& w_curs);
  return ((int )type___0);
}
}
static void *unpack_compressed_entry(struct packed_git *p___0 , struct pack_window **w_curs ,
                                     off_t curpos , unsigned long size )
{
  int st ;
  git_zstream stream ;
  unsigned char *buffer___5 ;
  unsigned char *in ;
  void *tmp ;

  {
  tmp = xmallocz_gently(size);
  buffer___5 = (unsigned char *)tmp;
  if (! buffer___5) {
    return ((void *)0);
  }
  memset((void *)(& stream), 0, sizeof(stream));
  stream.next_out = buffer___5;
  stream.avail_out = size + 1UL;
  git_inflate_init(& stream);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    in = use_pack(p___0, w_curs, curpos, & stream.avail_in);
    stream.next_in = in;
    obj_read_unlock();
    st = git_inflate(& stream, 4);
    obj_read_lock();
    if (! stream.avail_out) {
      goto while_break;
    }
    curpos += stream.next_in - in;
    if (! (st == 0)) {
      if (! (st == -5)) {
        goto while_break;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  git_inflate_end(& stream);
  if (st != 1) {
    free((void *)buffer___5);
    return ((void *)0);
  } else
  if (stream.total_out != size) {
    free((void *)buffer___5);
    return ((void *)0);
  }
  *(buffer___5 + size) = (unsigned char )'\000';
  return ((void *)buffer___5);
}
}
static void write_pack_access_log(struct packed_git *p___0 , off_t obj_offset ) ;
static struct trace_key pack_access  =    {(char const   *)"GIT_TRACE_PACK_ACCESS", 0, 0U, 0U};
static void write_pack_access_log(struct packed_git *p___0 , off_t obj_offset )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = trace_pass_fl(& pack_access);
    if (tmp) {
      trace_printf_key_fl((char const   *)"packfile.c", 1638, & pack_access, (char const   *)"%s %lu\n",
                          p___0->pack_name, (uintmax_t )obj_offset);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void *read_object___0(struct repository *r , struct object_id  const  *oid ,
                             enum object_type *type___0 , unsigned long *size )
{
  struct object_info oi___0 ;
  void *content ;
  int tmp ;

  {
  oi___0.typep = (enum object_type *)0;
  oi___0.sizep = (unsigned long *)0;
  oi___0.disk_sizep = (off_t *)0;
  oi___0.delta_base_oid = (struct object_id *)0;
  oi___0.type_name = (struct strbuf *)0;
  oi___0.contentp = (void **)0;
  oi___0.whence = 0U;
  oi___0.u.packed.pack = (struct packed_git *)0;
  oi___0.u.packed.offset = 0L;
  oi___0.u.packed.is_delta = 0U;
  oi___0.typep = type___0;
  oi___0.sizep = size;
  oi___0.contentp = & content;
  tmp = oid_object_info_extended(r, oid, & oi___0, 0U);
  if (tmp < 0) {
    return ((void *)0);
  }
  return (content);
}
}
void *unpack_entry(struct repository *r , struct packed_git *p___0 , off_t obj_offset ,
                   enum object_type *final_type , unsigned long *final_size )
{
  struct pack_window *w_curs ;
  off_t curpos ;
  void *data ;
  unsigned long size ;
  enum object_type type___0 ;
  struct unpack_entry_stack_ent small_delta_stack[64] ;
  struct unpack_entry_stack_ent *delta_stack ;
  int delta_stack_nr ;
  int delta_stack_alloc ;
  int base_from_cache ;
  off_t base_offset ;
  int i ;
  struct delta_base_cache_entry *ent ;
  uint32_t pack_pos ;
  uint32_t index_pos ;
  off_t len___0 ;
  int tmp ;
  off_t tmp___0 ;
  struct object_id oid ;
  char *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;
  size_t tmp___6 ;
  void *tmp___7 ;
  int tmp___8 ;
  void *delta_data ;
  void *base ;
  void *external_base ;
  unsigned long delta_size ;
  unsigned long base_size ;
  int i___0 ;
  off_t base_obj_offset ;
  uint32_t pos ;
  struct object_id base_oid ;
  uint32_t tmp___9 ;
  char *tmp___10 ;
  int tmp___11 ;

  {
  w_curs = (struct pack_window *)((void *)0);
  curpos = obj_offset;
  data = (void *)0;
  delta_stack = small_delta_stack;
  delta_stack_nr = 0;
  delta_stack_alloc = 64;
  base_from_cache = 0;
  write_pack_access_log(p___0, obj_offset);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    ent = get_delta_base_cache_entry(p___0, curpos);
    if (ent) {
      type___0 = ent->type;
      data = ent->data;
      size = ent->size;
      detach_delta_base_cache_entry(ent);
      base_from_cache = 1;
      goto while_break;
    }
    if (do_check_packed_object_crc) {
      if (p___0->index_version > 1) {
        tmp = offset_to_pack_pos(p___0, obj_offset, & pack_pos);
        if (tmp < 0) {
          error((char const   *)"could not find object at offset %lu in pack %s",
                (uintmax_t )obj_offset, p___0->pack_name);
          const_error();
          data = (void *)0;
          goto out;
        }
        tmp___0 = pack_pos_to_offset(p___0, pack_pos + 1U);
        len___0 = tmp___0 - obj_offset;
        index_pos = pack_pos_to_index(p___0, pack_pos);
        tmp___2 = check_pack_crc(p___0, & w_curs, obj_offset, len___0, index_pos);
        if (tmp___2) {
          nth_packed_object_id(& oid, p___0, index_pos);
          tmp___1 = oid_to_hex((struct object_id  const  *)(& oid));
          error((char const   *)"bad packed object CRC for %s", tmp___1);
          const_error();
          mark_bad_packed_object(p___0, (struct object_id  const  *)(& oid));
          data = (void *)0;
          goto out;
        }
      }
    }
    tmp___3 = unpack_object_header(p___0, & w_curs, & curpos, & size);
    type___0 = (enum object_type )tmp___3;
    if ((int )type___0 != 6) {
      if ((int )type___0 != 7) {
        goto while_break;
      }
    }
    base_offset = get_delta_base(p___0, & w_curs, & curpos, type___0, obj_offset);
    if (! base_offset) {
      error((char const   *)"failed to validate delta base reference at offset %lu from %s",
            (uintmax_t )curpos, p___0->pack_name);
      const_error();
      data = (void *)0;
      goto while_break;
    }
    if (delta_stack_nr >= delta_stack_alloc) {
      if ((unsigned long )delta_stack == (unsigned long )(small_delta_stack)) {
        delta_stack_alloc = ((delta_stack_nr + 16) * 3) / 2;
        tmp___4 = st_mult(sizeof(*delta_stack), (size_t )delta_stack_alloc);
        tmp___5 = xmalloc(tmp___4);
        delta_stack = (struct unpack_entry_stack_ent *)tmp___5;
        copy_array((void *)delta_stack, (void const   *)(small_delta_stack), (size_t )delta_stack_nr,
                   sizeof(*delta_stack) + (sizeof(char [1]) - 1UL));
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (delta_stack_nr + 1 > delta_stack_alloc) {
          if (((delta_stack_alloc + 16) * 3) / 2 < delta_stack_nr + 1) {
            delta_stack_alloc = delta_stack_nr + 1;
          } else {
            delta_stack_alloc = ((delta_stack_alloc + 16) * 3) / 2;
          }
          tmp___6 = st_mult(sizeof(*delta_stack), (size_t )delta_stack_alloc);
          tmp___7 = xrealloc((void *)delta_stack, tmp___6);
          delta_stack = (struct unpack_entry_stack_ent *)tmp___7;
        }
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
    }
    tmp___8 = delta_stack_nr;
    delta_stack_nr ++;
    i = tmp___8;
    (delta_stack + i)->obj_offset = obj_offset;
    (delta_stack + i)->curpos = curpos;
    (delta_stack + i)->size = size;
    obj_offset = base_offset;
    curpos = obj_offset;
  }
  while_break: /* CIL Label */ ;
  }
  {
  if ((int )type___0 == 7) {
    goto case_7;
  }
  if ((int )type___0 == 6) {
    goto case_7;
  }
  if ((int )type___0 == 4) {
    goto case_4;
  }
  if ((int )type___0 == 3) {
    goto case_4;
  }
  if ((int )type___0 == 2) {
    goto case_4;
  }
  if ((int )type___0 == 1) {
    goto case_4;
  }
  goto switch_default;
  case_7: /* CIL Label */
  case_6: /* CIL Label */
  if (data) {
    BUG_fl((char const   *)"packfile.c", 1758, (char const   *)"unpack_entry: left loop at a valid delta");
  }
  goto switch_break;
  case_4: /* CIL Label */
  case_3: /* CIL Label */
  case_2: /* CIL Label */
  case_1: /* CIL Label */
  if (! base_from_cache) {
    data = unpack_compressed_entry(p___0, & w_curs, curpos, size);
  }
  goto switch_break;
  switch_default: /* CIL Label */
  data = (void *)0;
  error((char const   *)"unknown object type %i at offset %lu in %s", (int )type___0,
        (uintmax_t )obj_offset, p___0->pack_name);
  const_error();
  switch_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! delta_stack_nr) {
      goto while_break___1;
    }
    base = data;
    external_base = (void *)0;
    base_size = size;
    base_obj_offset = obj_offset;
    data = (void *)0;
    if (! base) {
      tmp___11 = offset_to_pack_pos(p___0, obj_offset, & pos);
      if (! tmp___11) {
        tmp___9 = pack_pos_to_index(p___0, pos);
        nth_packed_object_id(& base_oid, p___0, tmp___9);
        tmp___10 = oid_to_hex((struct object_id  const  *)(& base_oid));
        error((char const   *)"failed to read delta base object %s at offset %lu from %s",
              tmp___10, (uintmax_t )obj_offset, p___0->pack_name);
        const_error();
        mark_bad_packed_object(p___0, (struct object_id  const  *)(& base_oid));
        base = read_object___0(r, (struct object_id  const  *)(& base_oid), & type___0,
                               & base_size);
        external_base = base;
      }
    }
    delta_stack_nr --;
    i___0 = delta_stack_nr;
    obj_offset = (delta_stack + i___0)->obj_offset;
    curpos = (delta_stack + i___0)->curpos;
    delta_size = (delta_stack + i___0)->size;
    if (! base) {
      goto while_continue___1;
    }
    delta_data = unpack_compressed_entry(p___0, & w_curs, curpos, delta_size);
    if (! delta_data) {
      error((char const   *)"failed to unpack compressed delta at offset %lu from %s",
            (uintmax_t )curpos, p___0->pack_name);
      const_error();
      data = (void *)0;
    } else {
      data = patch_delta((void const   *)base, base_size, (void const   *)delta_data,
                         delta_size, & size);
      if (! data) {
        error((char const   *)"failed to apply delta");
        const_error();
      }
    }
    if (! external_base) {
      add_delta_base_cache(p___0, base_obj_offset, base, base_size, type___0);
    }
    free(delta_data);
    free(external_base);
  }
  while_break___1: /* CIL Label */ ;
  }
  if (final_type) {
    *final_type = type___0;
  }
  if (final_size) {
    *final_size = size;
  }
  out:
  unuse_pack(& w_curs);
  if ((unsigned long )delta_stack != (unsigned long )(small_delta_stack)) {
    free((void *)delta_stack);
  }
  return (data);
}
}
int bsearch_pack(struct object_id  const  *oid , struct packed_git  const  *p___0 ,
                 uint32_t *result___0 )
{
  unsigned char const   *index_fanout ;
  unsigned char const   *index_lookup ;
  unsigned int hashsz ;
  int index_lookup_width ;
  int tmp ;

  {
  index_fanout = (unsigned char const   *)p___0->index_data;
  hashsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  if (! index_fanout) {
    BUG_fl((char const   *)"packfile.c", 1879, (char const   *)"bsearch_pack called without a valid pack-index");
  }
  index_lookup = index_fanout + 1024;
  if (p___0->index_version == 1) {
    index_lookup_width = (int )(hashsz + 4U);
    index_lookup += 4;
  } else {
    index_lookup_width = (int )hashsz;
    index_fanout += 8;
    index_lookup += 8;
  }
  tmp = bsearch_hash((unsigned char const   *)(oid->hash), (uint32_t const   *)index_fanout,
                     index_lookup, (size_t )index_lookup_width, result___0);
  return (tmp);
}
}
int nth_packed_object_id(struct object_id *oid , struct packed_git *p___0 , uint32_t n )
{
  unsigned char const   *index___2 ;
  unsigned int hashsz ;
  int tmp ;

  {
  index___2 = (unsigned char const   *)p___0->index_data;
  hashsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  if (! index___2) {
    tmp = open_pack_index(p___0);
    if (tmp) {
      return (-1);
    }
    index___2 = (unsigned char const   *)p___0->index_data;
  }
  if (n >= p___0->num_objects) {
    return (-1);
  }
  index___2 += 1024;
  if (p___0->index_version == 1) {
    oidread(oid, (index___2 + (hashsz + 4U) * (unsigned int )n) + 4);
  } else {
    index___2 += 8;
    oidread(oid, index___2 + hashsz * (unsigned int )n);
  }
  return (0);
}
}
void check_pack_index_ptr(struct packed_git  const  *p___0 , void const   *vptr )
{
  unsigned char const   *ptr ;
  unsigned char const   *start ;
  unsigned char const   *end ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  ptr = (unsigned char const   *)vptr;
  start = (unsigned char const   *)p___0->index_data;
  end = start + p___0->index_size;
  if ((unsigned long )ptr < (unsigned long )start) {
    tmp = _((char const   *)"offset before start of pack index for %s (corrupt index?)");
    die((char const   *)tmp, p___0->pack_name);
  }
  if ((unsigned long )ptr >= (unsigned long )(end - 8)) {
    tmp___0 = _((char const   *)"offset beyond end of pack index for %s (truncated index?)");
    die((char const   *)tmp___0, p___0->pack_name);
  }
  return;
}
}
off_t nth_packed_object_offset(struct packed_git  const  *p___0 , uint32_t n )
{
  unsigned char const   *index___2 ;
  unsigned int hashsz ;
  uint32_t tmp ;
  uint32_t off ;
  uint64_t tmp___0 ;

  {
  index___2 = (unsigned char const   *)p___0->index_data;
  hashsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  index___2 += 1024;
  if (p___0->index_version == 1) {
    tmp = git_bswap32(*((uint32_t *)(index___2 + (size_t )(hashsz + 4U) * (size_t )n)));
    return ((off_t )tmp);
  } else {
    index___2 += 8UL + (size_t )p___0->num_objects * (size_t )(hashsz + 4U);
    off = git_bswap32(*((uint32_t *)(index___2 + 4U * n)));
    if (! (off & 0x80000000)) {
      return ((off_t )off);
    }
    index___2 += (size_t )p___0->num_objects * 4UL + (size_t )((off & 2147483647U) * 8U);
    check_pack_index_ptr(p___0, (void const   *)index___2);
    tmp___0 = get_be64((void const   *)index___2);
    return ((off_t )tmp___0);
  }
}
}
off_t find_pack_entry_one(unsigned char const   *sha1 , struct packed_git *p___0 )
{
  unsigned char const   *index___2 ;
  struct object_id oid ;
  uint32_t result___0 ;
  int tmp ;
  off_t tmp___0 ;
  int tmp___1 ;

  {
  index___2 = (unsigned char const   *)p___0->index_data;
  if (! index___2) {
    tmp = open_pack_index(p___0);
    if (tmp) {
      return ((off_t )0);
    }
  }
  hashcpy(oid.hash, sha1);
  tmp___1 = bsearch_pack((struct object_id  const  *)(& oid), (struct packed_git  const  *)p___0,
                         & result___0);
  if (tmp___1) {
    tmp___0 = nth_packed_object_offset((struct packed_git  const  *)p___0, result___0);
    return (tmp___0);
  }
  return ((off_t )0);
}
}
int is_pack_valid(struct packed_git *p___0 )
{
  struct pack_window *w ;
  int tmp ;
  int tmp___0 ;

  {
  if (p___0->pack_fd != -1) {
    return (1);
  }
  if (p___0->windows) {
    w = p___0->windows;
    if (! w->offset) {
      if (w->len == (size_t )p___0->pack_size) {
        return (1);
      }
    }
  }
  tmp = open_packed_git(p___0);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
struct packed_git *find_sha1_pack(unsigned char const   *sha1 , struct packed_git *packs )
{
  struct packed_git *p___0 ;
  off_t tmp ;

  {
  p___0 = packs;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    tmp = find_pack_entry_one(sha1, p___0);
    if (tmp) {
      return (p___0);
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct packed_git *)((void *)0));
}
}
static int fill_pack_entry___0(struct object_id  const  *oid , struct pack_entry *e ,
                               struct packed_git *p___0 )
{
  off_t offset___2 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = oidset_size((struct oidset  const  *)(& p___0->bad_objects));
  if (tmp) {
    tmp___0 = oidset_contains((struct oidset  const  *)(& p___0->bad_objects), oid);
    if (tmp___0) {
      return (0);
    }
  }
  offset___2 = find_pack_entry_one((unsigned char const   *)(oid->hash), p___0);
  if (! offset___2) {
    return (0);
  }
  tmp___1 = is_pack_valid(p___0);
  if (! tmp___1) {
    return (0);
  }
  e->offset = offset___2;
  e->p = p___0;
  return (1);
}
}
int find_pack_entry(struct repository *r , struct object_id  const  *oid , struct pack_entry *e )
{
  struct list_head *pos ;
  struct multi_pack_index *m ;
  int tmp ;
  struct packed_git *p___0 ;
  int tmp___0 ;

  {
  prepare_packed_git(r);
  if (! (r->objects)->packed_git) {
    if (! (r->objects)->multi_pack_index) {
      return (0);
    }
  }
  m = (r->objects)->multi_pack_index;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! m) {
      goto while_break;
    }
    tmp = fill_midx_entry(r, oid, e, m);
    if (tmp) {
      return (1);
    }
    m = m->next;
  }
  while_break: /* CIL Label */ ;
  }
  pos = (r->objects)->packed_git_mru.next;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )pos != (unsigned long )(& (r->objects)->packed_git_mru))) {
      goto while_break___0;
    }
    p___0 = (struct packed_git *)((char *)pos - (unsigned long )(& ((struct packed_git *)0)->mru));
    if (! p___0->multi_pack_index) {
      tmp___0 = fill_pack_entry___0(oid, e, p___0);
      if (tmp___0) {
        list_move(& p___0->mru, & (r->objects)->packed_git_mru);
        return (1);
      }
    }
    pos = pos->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (0);
}
}
static void maybe_invalidate_kept_pack_cache(struct repository *r , unsigned int flags___0 )
{


  {
  if (! (r->objects)->kept_pack_cache.packs) {
    return;
  }
  if ((r->objects)->kept_pack_cache.flags == flags___0) {
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)(r->objects)->kept_pack_cache.packs);
    (r->objects)->kept_pack_cache.packs = (struct packed_git **)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  (r->objects)->kept_pack_cache.flags = 0U;
  return;
}
}
static struct packed_git **kept_pack_cache(struct repository *r , unsigned int flags___0 )
{
  struct packed_git **packs ;
  size_t nr___0 ;
  size_t alloc___0 ;
  struct packed_git *p___0 ;
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;

  {
  maybe_invalidate_kept_pack_cache(r, flags___0);
  if (! (r->objects)->kept_pack_cache.packs) {
    packs = (struct packed_git **)((void *)0);
    nr___0 = (size_t )0;
    alloc___0 = (size_t )0;
    p___0 = get_all_packs(r);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! p___0) {
        goto while_break;
      }
      if (p___0->pack_keep) {
        if (flags___0 & 1U) {
          goto _L;
        } else {
          goto _L___0;
        }
      } else
      _L___0: /* CIL Label */
      if (p___0->pack_keep_in_core) {
        if (flags___0 & 2U) {
          _L: /* CIL Label */
          {
          while (1) {
            while_continue___0: /* CIL Label */ ;
            if (nr___0 + 1UL > alloc___0) {
              if (((alloc___0 + 16UL) * 3UL) / 2UL < nr___0 + 1UL) {
                alloc___0 = nr___0 + 1UL;
              } else {
                alloc___0 = ((alloc___0 + 16UL) * 3UL) / 2UL;
              }
              tmp = st_mult(sizeof(*packs), alloc___0);
              tmp___0 = xrealloc((void *)packs, tmp);
              packs = (struct packed_git **)tmp___0;
            }
            goto while_break___0;
          }
          while_break___0: /* CIL Label */ ;
          }
          tmp___1 = nr___0;
          nr___0 ++;
          *(packs + tmp___1) = p___0;
        }
      }
      p___0 = p___0->next;
    }
    while_break: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (nr___0 + 1UL > alloc___0) {
        if (((alloc___0 + 16UL) * 3UL) / 2UL < nr___0 + 1UL) {
          alloc___0 = nr___0 + 1UL;
        } else {
          alloc___0 = ((alloc___0 + 16UL) * 3UL) / 2UL;
        }
        tmp___2 = st_mult(sizeof(*packs), alloc___0);
        tmp___3 = xrealloc((void *)packs, tmp___2);
        packs = (struct packed_git **)tmp___3;
      }
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
    *(packs + nr___0) = (struct packed_git *)((void *)0);
    (r->objects)->kept_pack_cache.packs = packs;
    (r->objects)->kept_pack_cache.flags = flags___0;
  }
  return ((r->objects)->kept_pack_cache.packs);
}
}
int find_kept_pack_entry(struct repository *r , struct object_id  const  *oid , unsigned int flags___0 ,
                         struct pack_entry *e )
{
  struct packed_git **cache___0 ;
  struct packed_git *p___0 ;
  int tmp ;

  {
  cache___0 = kept_pack_cache(r, flags___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *cache___0) {
      goto while_break;
    }
    p___0 = *cache___0;
    tmp = fill_pack_entry___0(oid, e, p___0);
    if (tmp) {
      return (1);
    }
    cache___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int has_object_pack(struct object_id  const  *oid )
{
  struct pack_entry e ;
  int tmp ;

  {
  tmp = find_pack_entry(the_repository, oid, & e);
  return (tmp);
}
}
int has_object_kept_pack(struct object_id  const  *oid , unsigned int flags___0 )
{
  struct pack_entry e ;
  int tmp ;

  {
  tmp = find_kept_pack_entry(the_repository, oid, flags___0, & e);
  return (tmp);
}
}
int has_pack_index(unsigned char const   *sha1 )
{
  struct stat st ;
  char *tmp ;
  int tmp___0 ;

  {
  tmp = sha1_pack_index_name(sha1);
  tmp___0 = stat((char const   *)tmp, & st);
  if (tmp___0) {
    return (0);
  }
  return (1);
}
}
int for_each_object_in_pack(struct packed_git *p___0 , each_packed_object_fn *cb ,
                            void *data , enum for_each_object_flags flags___0 )
{
  uint32_t i ;
  int r ;
  int tmp ;
  uint32_t index_pos ;
  struct object_id oid ;
  int tmp___0 ;
  int tmp___1 ;

  {
  r = 0;
  if ((unsigned int )flags___0 & 4U) {
    tmp = load_pack_revindex(p___0);
    if (tmp) {
      return (-1);
    }
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < p___0->num_objects)) {
      goto while_break;
    }
    if ((unsigned int )flags___0 & 4U) {
      index_pos = pack_pos_to_index(p___0, i);
    } else {
      index_pos = i;
    }
    tmp___1 = nth_packed_object_id(& oid, p___0, index_pos);
    if (tmp___1 < 0) {
      error((char const   *)"unable to get sha1 of object %u in %s", index_pos, p___0->pack_name);
      tmp___0 = const_error();
      return (tmp___0);
    }
    r = (*cb)((struct object_id  const  *)(& oid), p___0, index_pos, data);
    if (r) {
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (r);
}
}
int for_each_packed_object(each_packed_object_fn *cb , void *data , enum for_each_object_flags flags___0 )
{
  struct packed_git *p___0 ;
  int r ;
  int pack_errors ;
  int tmp ;
  int tmp___0 ;

  {
  r = 0;
  pack_errors = 0;
  prepare_packed_git(the_repository);
  p___0 = get_all_packs(the_repository);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if ((unsigned int )flags___0 & 1U) {
      if (! p___0->pack_local) {
        goto __Cont;
      }
    }
    if ((unsigned int )flags___0 & 2U) {
      if (! p___0->pack_promisor) {
        goto __Cont;
      }
    }
    if ((unsigned int )flags___0 & 8U) {
      if (p___0->pack_keep_in_core) {
        goto __Cont;
      }
    }
    if ((unsigned int )flags___0 & 16U) {
      if (p___0->pack_keep) {
        goto __Cont;
      }
    }
    tmp = open_pack_index(p___0);
    if (tmp) {
      pack_errors = 1;
      goto __Cont;
    }
    r = for_each_object_in_pack(p___0, cb, data, flags___0);
    if (r) {
      goto while_break;
    }
    __Cont: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (r) {
    tmp___0 = r;
  } else {
    tmp___0 = pack_errors;
  }
  return (tmp___0);
}
}
static int add_promisor_object(struct object_id  const  *oid , struct packed_git *pack___0 ,
                               uint32_t pos , void *set_ )
{
  struct oidset *set ;
  struct object *obj ;
  struct object *tmp ;
  struct tree *tree ;
  struct tree_desc desc___0 ;
  struct name_entry entry ;
  int tmp___0 ;
  int tmp___1 ;
  struct commit *commit ;
  struct commit_list *parents ;
  struct object_id *tmp___2 ;
  struct tag *tag ;
  struct object_id *tmp___3 ;

  {
  set = (struct oidset *)set_;
  tmp = parse_object(the_repository, oid);
  obj = tmp;
  if (! obj) {
    return (1);
  }
  oidset_insert(set, oid);
  if (obj->type == 2U) {
    tree = (struct tree *)obj;
    tmp___0 = init_tree_desc_gently(& desc___0, (void const   *)tree->buffer, tree->size);
    if (tmp___0) {
      return (0);
    }
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___1 = tree_entry_gently(& desc___0, & entry);
      if (! tmp___1) {
        goto while_break;
      }
      oidset_insert(set, (struct object_id  const  *)(& entry.oid));
    }
    while_break: /* CIL Label */ ;
    }
    free_tree_buffer(tree);
  } else
  if (obj->type == 1U) {
    commit = (struct commit *)obj;
    parents = commit->parents;
    tmp___2 = get_commit_tree_oid((struct commit  const  *)commit);
    oidset_insert(set, (struct object_id  const  *)tmp___2);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! parents) {
        goto while_break___0;
      }
      oidset_insert(set, (struct object_id  const  *)(& (parents->item)->object.oid));
      parents = parents->next;
    }
    while_break___0: /* CIL Label */ ;
    }
  } else
  if (obj->type == 4U) {
    tag = (struct tag *)obj;
    tmp___3 = get_tagged_oid(tag);
    oidset_insert(set, (struct object_id  const  *)tmp___3);
  }
  return (0);
}
}
static struct oidset promisor_objects  ;
static int promisor_objects_prepared  ;
int is_promisor_object(struct object_id  const  *oid )
{
  int tmp ;
  int tmp___0 ;

  {
  if (! promisor_objects_prepared) {
    tmp = has_promisor_remote();
    if (tmp) {
      for_each_packed_object(& add_promisor_object, (void *)(& promisor_objects),
                             (enum for_each_object_flags )2);
    }
    promisor_objects_prepared = 1;
  }
  tmp___0 = oidset_contains((struct oidset  const  *)(& promisor_objects), oid);
  return (tmp___0);
}
}
static struct child_process pager_process  ;
static char const   *pager_program  ;
static int term_columns_guessed  ;
static void close_pager_fds(void)
{


  {
  close(1);
  close(2);
  return;
}
}
static void wait_for_pager_atexit(void)
{


  {
  fflush(stdout);
  fflush(stderr);
  close_pager_fds();
  finish_command(& pager_process);
  return;
}
}
static void wait_for_pager_signal(int signo )
{


  {
  close_pager_fds();
  finish_command_in_signal(& pager_process);
  sigchain_pop(signo);
  raise(signo);
  return;
}
}
static int core_pager_config(char const   *var , char const   *value , void *data )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp___0 = strcmp(var, (char const   *)"core.pager");
  if (! tmp___0) {
    tmp = git_config_string(& pager_program, var, value);
    return (tmp);
  }
  return (0);
}
}
char const   *git_pager(int stdout_is_tty )
{
  char const   *pager___0 ;
  char *tmp ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  if (! stdout_is_tty) {
    return ((char const   *)((void *)0));
  }
  tmp = getenv((char const   *)"GIT_PAGER");
  pager___0 = (char const   *)tmp;
  if (! pager___0) {
    if (! pager_program) {
      read_early_config(& core_pager_config, (void *)0);
    }
    pager___0 = pager_program;
  }
  if (! pager___0) {
    tmp___0 = getenv((char const   *)"PAGER");
    pager___0 = (char const   *)tmp___0;
  }
  if (! pager___0) {
    pager___0 = (char const   *)"less";
  }
  if (! *pager___0) {
    pager___0 = (char const   *)((void *)0);
  } else {
    tmp___1 = strcmp(pager___0, (char const   *)"cat");
    if (! tmp___1) {
      pager___0 = (char const   *)((void *)0);
    }
  }
  return (pager___0);
}
}
static void setup_pager_env(struct strvec *env )
{
  char const   **argv___0 ;
  int i ;
  char *pager_env ;
  char *tmp ;
  int n ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char *cp ;
  char *tmp___2 ;
  char *tmp___3 ;

  {
  tmp = xstrdup((char const   *)"LESS=FRX LV=-c");
  pager_env = tmp;
  tmp___0 = split_cmdline(pager_env, & argv___0);
  n = tmp___0;
  if (n < 0) {
    tmp___1 = split_cmdline_strerror(n);
    die((char const   *)"malformed build-time PAGER_ENV: %s", tmp___1);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    tmp___2 = strchr(*(argv___0 + i), '=');
    cp = tmp___2;
    if (! cp) {
      die((char const   *)"malformed build-time PAGER_ENV");
    }
    *cp = (char )'\000';
    tmp___3 = getenv(*(argv___0 + i));
    if (! tmp___3) {
      *cp = (char )'=';
      strvec_push(env, *(argv___0 + i));
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)pager_env);
  free((void *)argv___0);
  return;
}
}
void prepare_pager_args(struct child_process *pager_process___0 , char const   *pager___0 )
{


  {
  strvec_push(& pager_process___0->args, pager___0);
  pager_process___0->use_shell = 1U;
  setup_pager_env(& pager_process___0->env_array);
  pager_process___0->trace2_child_class = (char const   *)"pager";
  return;
}
}
void setup_pager(void)
{
  char const   *pager___0 ;
  int tmp ;
  char const   *tmp___0 ;
  char buf___19[64] ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = isatty(1);
  tmp___0 = git_pager(tmp);
  pager___0 = tmp___0;
  if (! pager___0) {
    return;
  }
  tmp___1 = term_columns();
  xsnprintf(buf___19, sizeof(buf___19), (char const   *)"%d", tmp___1);
  if (! term_columns_guessed) {
    setenv((char const   *)"COLUMNS", (char const   *)(buf___19), 0);
  }
  setenv((char const   *)"GIT_PAGER_IN_USE", (char const   *)"true", 1);
  child_process_init(& pager_process);
  prepare_pager_args(& pager_process, pager___0);
  pager_process.in = -1;
  strvec_push(& pager_process.env_array, (char const   *)"GIT_PAGER_IN_USE");
  tmp___2 = start_command(& pager_process);
  if (tmp___2) {
    return;
  }
  dup2(pager_process.in, 1);
  tmp___3 = isatty(2);
  if (tmp___3) {
    dup2(pager_process.in, 2);
  }
  close(pager_process.in);
  sigchain_push_common(& wait_for_pager_signal);
  atexit(& wait_for_pager_atexit);
  return;
}
}
int pager_in_use(void)
{
  int tmp ;

  {
  tmp = git_env_bool((char const   *)"GIT_PAGER_IN_USE", 0);
  return (tmp);
}
}
static int term_columns_at_startup  ;
int term_columns(void)
{
  char *col_string ;
  int n_cols ;
  struct winsize ws ;
  int tmp ;

  {
  if (term_columns_at_startup) {
    return (term_columns_at_startup);
  }
  term_columns_at_startup = 80;
  term_columns_guessed = 1;
  col_string = getenv((char const   *)"COLUMNS");
  if (col_string) {
    n_cols = atoi((char const   *)col_string);
    if (n_cols > 0) {
      term_columns_at_startup = n_cols;
      term_columns_guessed = 0;
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp = ioctl(1, 21523UL, & ws);
    if (! tmp) {
      if (ws.ws_col) {
        term_columns_at_startup = (int )ws.ws_col;
        term_columns_guessed = 0;
      }
    }
  }
  return (term_columns_at_startup);
}
}
void term_clear_line(void)
{
  int tmp ;
  int tmp___0 ;

  {
  tmp___0 = is_terminal_dumb();
  if (tmp___0) {
    tmp = term_columns();
    fprintf(stderr, (char const   *)"\r%*s\r", tmp, "");
  } else {
    fputs((char const   * __restrict  )"\r\033[K", (FILE * __restrict  )stderr);
  }
  return;
}
}
int decimal_width(uintmax_t number )
{
  int width ;

  {
  width = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (number >= 10UL)) {
      goto while_break;
    }
    number /= 10UL;
    width ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (width);
}
}
static int pager_command_config(char const   *var , char const   *value , void *vdata )
{
  struct pager_command_config_data *data ;
  char const   *cmd ;
  int b___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  data = (struct pager_command_config_data *)vdata;
  tmp___0 = skip_prefix(var, (char const   *)"pager.", & cmd);
  if (tmp___0) {
    tmp___1 = strcmp(cmd, data->cmd);
    if (! tmp___1) {
      tmp = git_parse_maybe_bool(value);
      b___0 = tmp;
      if (b___0 >= 0) {
        data->want = b___0;
      } else {
        data->want = 1;
        data->value = xstrdup(value);
      }
    }
  }
  return (0);
}
}
int check_pager_config(char const   *cmd )
{
  struct pager_command_config_data data ;

  {
  data.cmd = cmd;
  data.want = -1;
  data.value = (char *)((void *)0);
  read_early_config(& pager_command_config, (void *)(& data));
  if (data.value) {
    pager_program = (char const   *)data.value;
  }
  return (data.want);
}
}
static struct parallel_checkout parallel_checkout  ;
enum pc_status parallel_checkout_status(void)
{


  {
  return (parallel_checkout.status);
}
}
static int const   DEFAULT_THRESHOLD_FOR_PARALLELISM  =    (int const   )100;
static int const   DEFAULT_NUM_WORKERS  =    (int const   )1;
void get_parallel_checkout_configs(int *num_workers , int *threshold )
{
  char *env_workers ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = getenv((char const   *)"GIT_TEST_CHECKOUT_WORKERS");
  env_workers = tmp;
  if (env_workers) {
    if (*env_workers) {
      tmp___0 = strtol_i((char const   *)env_workers, 10, num_workers);
      if (tmp___0) {
        die((char const   *)"invalid value for GIT_TEST_CHECKOUT_WORKERS: \'%s\'",
            env_workers);
      }
      if (*num_workers < 1) {
        *num_workers = online_cpus();
      }
      *threshold = 0;
      return;
    }
  }
  tmp___1 = git_config_get_int((char const   *)"checkout.workers", num_workers);
  if (tmp___1) {
    *num_workers = (int )DEFAULT_NUM_WORKERS;
  } else
  if (*num_workers < 1) {
    *num_workers = online_cpus();
  }
  tmp___2 = git_config_get_int((char const   *)"checkout.thresholdForParallelism",
                               threshold);
  if (tmp___2) {
    *threshold = (int )DEFAULT_THRESHOLD_FOR_PARALLELISM;
  }
  return;
}
}
void init_parallel_checkout(void)
{


  {
  if ((unsigned int )parallel_checkout.status != 0U) {
    BUG_fl((char const   *)"parallel-checkout.c", 64, (char const   *)"parallel checkout already initialized");
  }
  parallel_checkout.status = (enum pc_status )1;
  return;
}
}
static void finish_parallel_checkout(void)
{


  {
  if ((unsigned int )parallel_checkout.status == 0U) {
    BUG_fl((char const   *)"parallel-checkout.c", 72, (char const   *)"cannot finish parallel checkout: not initialized yet");
  }
  free((void *)parallel_checkout.items);
  memset((void *)(& parallel_checkout), 0, sizeof(parallel_checkout));
  return;
}
}
static int is_eligible_for_parallel_checkout(struct cache_entry  const  *ce , struct conv_attrs  const  *ca )
{
  enum conv_attrs_classification c___0 ;
  size_t packed_item_size ;
  size_t tmp ;
  size_t tmp___0 ;

  {
  if (! ((ce->ce_mode & 61440U) == 32768U)) {
    return (0);
  }
  if (ca->working_tree_encoding) {
    tmp = strlen((char const   *)ca->working_tree_encoding);
    tmp___0 = tmp;
  } else {
    tmp___0 = (size_t )0;
  }
  packed_item_size = (sizeof(struct pc_item_fixed_portion ) + (unsigned long )ce->ce_namelen) + tmp___0;
  if (packed_item_size > 65516UL) {
    return (0);
  }
  c___0 = classify_conv_attrs(ca);
  {
  if ((unsigned int )c___0 == 0U) {
    goto case_0;
  }
  if ((unsigned int )c___0 == 1U) {
    goto case_1;
  }
  if ((unsigned int )c___0 == 2U) {
    goto case_2;
  }
  if ((unsigned int )c___0 == 3U) {
    goto case_3;
  }
  goto switch_default;
  case_0: /* CIL Label */
  return (1);
  case_1: /* CIL Label */
  return (0);
  case_2: /* CIL Label */
  return (0);
  case_3: /* CIL Label */
  return (1);
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"parallel-checkout.c", 142, (char const   *)"unsupported conv_attrs classification \'%d\'",
         (unsigned int )c___0);
  switch_break: /* CIL Label */ ;
  }
}
}
int enqueue_checkout(struct cache_entry *ce , struct conv_attrs *ca )
{
  struct parallel_checkout_item *pc_item ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  if ((unsigned int )parallel_checkout.status != 1U) {
    return (-1);
  } else {
    tmp = is_eligible_for_parallel_checkout((struct cache_entry  const  *)ce, (struct conv_attrs  const  *)ca);
    if (! tmp) {
      return (-1);
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (parallel_checkout.nr + 1UL > parallel_checkout.alloc) {
      if (((parallel_checkout.alloc + 16UL) * 3UL) / 2UL < parallel_checkout.nr + 1UL) {
        parallel_checkout.alloc = parallel_checkout.nr + 1UL;
      } else {
        parallel_checkout.alloc = ((parallel_checkout.alloc + 16UL) * 3UL) / 2UL;
      }
      tmp___0 = st_mult(sizeof(*(parallel_checkout.items)), parallel_checkout.alloc);
      tmp___1 = xrealloc((void *)parallel_checkout.items, tmp___0);
      parallel_checkout.items = (struct parallel_checkout_item *)tmp___1;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  pc_item = parallel_checkout.items + parallel_checkout.nr;
  pc_item->ce = ce;
  memcpy((void *)(& pc_item->ca), (void const   *)ca, sizeof(pc_item->ca));
  pc_item->status = (enum pc_item_status )0;
  pc_item->id = parallel_checkout.nr;
  (parallel_checkout.nr) ++;
  return (0);
}
}
size_t pc_queue_size(void)
{


  {
  return (parallel_checkout.nr);
}
}
static void advance_progress_meter(void)
{


  {
  if (parallel_checkout.progress) {
    (*(parallel_checkout.progress_cnt)) ++;
    display_progress(parallel_checkout.progress, (uint64_t )*(parallel_checkout.progress_cnt));
  }
  return;
}
}
static int handle_results(struct checkout *state___1 )
{
  int ret___67 ;
  size_t i ;
  int have_pending ;
  struct parallel_checkout_item *pc_item ;
  struct parallel_checkout_item *pc_item___0 ;
  int tmp ;

  {
  ret___67 = 0;
  have_pending = 0;
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < parallel_checkout.nr)) {
      goto while_break;
    }
    pc_item = parallel_checkout.items + i;
    if ((unsigned int )pc_item->status == 1U) {
      update_ce_after_write((struct checkout  const  *)state___1, pc_item->ce, & pc_item->st);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < parallel_checkout.nr)) {
      goto while_break___0;
    }
    pc_item___0 = parallel_checkout.items + i;
    {
    if ((unsigned int )pc_item___0->status == 1U) {
      goto case_1;
    }
    if ((unsigned int )pc_item___0->status == 2U) {
      goto case_2;
    }
    if ((unsigned int )pc_item___0->status == 0U) {
      goto case_0;
    }
    if ((unsigned int )pc_item___0->status == 3U) {
      goto case_3;
    }
    goto switch_default;
    case_1: /* CIL Label */
    goto switch_break;
    case_2: /* CIL Label */
    tmp = checkout_entry_ca(pc_item___0->ce, & pc_item___0->ca, (struct checkout  const  *)state___1,
                            (char *)((void *)0), (int *)((void *)0));
    ret___67 |= tmp;
    advance_progress_meter();
    goto switch_break;
    case_0: /* CIL Label */
    have_pending = 1;
    case_3: /* CIL Label */
    ret___67 = -1;
    goto switch_break;
    switch_default: /* CIL Label */
    BUG_fl((char const   *)"parallel-checkout.c", 238, (char const   *)"unknown checkout item status in parallel checkout");
    switch_break: /* CIL Label */ ;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (have_pending) {
    error((char const   *)"parallel checkout finished with pending entries");
    const_error();
  }
  return (ret___67);
}
}
static int reset_fd(int fd , char const   *path___6 )
{
  int tmp ;
  __off_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___0 = lseek(fd, (__off_t )0, 0);
  if (tmp___0 != 0L) {
    error_errno((char const   *)"failed to rewind descriptor of \'%s\'", path___6);
    tmp = const_error();
    return (tmp);
  }
  tmp___2 = ftruncate(fd, (__off_t )0);
  if (tmp___2) {
    error_errno((char const   *)"failed to truncate file \'%s\'", path___6);
    tmp___1 = const_error();
    return (tmp___1);
  }
  return (0);
}
}
static int write_pc_item_to_fd(struct parallel_checkout_item *pc_item , int fd , char const   *path___6 )
{
  int ret___67 ;
  struct stream_filter *filter___0 ;
  struct strbuf buf___19 ;
  char *blob ;
  size_t size ;
  ssize_t wrote ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  void *tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  size_t newsize ;
  int tmp___5 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = is_eligible_for_parallel_checkout((struct cache_entry  const  *)pc_item->ce,
                                          (struct conv_attrs  const  *)(& pc_item->ca));
  assert(tmp);
  filter___0 = get_stream_filter_ca((struct conv_attrs  const  *)(& pc_item->ca),
                                    (struct object_id  const  *)(& (pc_item->ce)->oid));
  if (filter___0) {
    tmp___1 = stream_blob_to_fd(fd, (struct object_id  const  *)(& (pc_item->ce)->oid),
                                filter___0, 1);
    if (tmp___1) {
      tmp___0 = reset_fd(fd, path___6);
      if (tmp___0) {
        return (-1);
      }
    } else {
      return (0);
    }
  }
  tmp___2 = read_blob_entry((struct cache_entry  const  *)pc_item->ce, & size);
  blob = (char *)tmp___2;
  if (! blob) {
    tmp___3 = oid_to_hex((struct object_id  const  *)(& (pc_item->ce)->oid));
    error((char const   *)"cannot read object %s \'%s\'", tmp___3, (pc_item->ce)->name);
    tmp___4 = const_error();
    return (tmp___4);
  }
  ret___67 = convert_to_working_tree_ca((struct conv_attrs  const  *)(& pc_item->ca),
                                        (char const   *)((pc_item->ce)->name), (char const   *)blob,
                                        size, & buf___19, (struct checkout_metadata  const  *)((void *)0));
  if (ret___67) {
    free((void *)blob);
    blob = strbuf_detach(& buf___19, & newsize);
    size = newsize;
  }
  wrote = write_in_full(fd, (void const   *)blob, size);
  free((void *)blob);
  if (wrote < 0L) {
    error((char const   *)"unable to write file \'%s\'", path___6);
    tmp___5 = const_error();
    return (tmp___5);
  }
  return (0);
}
}
static int close_and_clear(int *fd )
{
  int ret___67 ;

  {
  ret___67 = 0;
  if (*fd >= 0) {
    ret___67 = close(*fd);
    *fd = -1;
  }
  return (ret___67);
}
}
void write_pc_item(struct parallel_checkout_item *pc_item , struct checkout *state___1 )
{
  unsigned int mode___1 ;
  int tmp ;
  int fd ;
  int fstat_done ;
  struct strbuf path___6 ;
  char const   *dir_sep ;
  char *tmp___0 ;
  int tmp___1 ;
  int *tmp___2 ;
  int *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  if ((pc_item->ce)->ce_mode & 64U) {
    tmp = 0777;
  } else {
    tmp = 0666;
  }
  mode___1 = (unsigned int )tmp;
  fd = -1;
  fstat_done = 0;
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  strbuf_add(& path___6, (void const   *)state___1->base_dir, (size_t )state___1->base_dir_len);
  strbuf_add(& path___6, (void const   *)((pc_item->ce)->name), (size_t )(pc_item->ce)->ce_namelen);
  tmp___0 = git_find_last_dir_sep((char const   *)path___6.buf);
  dir_sep = (char const   *)tmp___0;
  if (dir_sep) {
    tmp___1 = has_dirs_only_path((char const   *)path___6.buf, (int )(dir_sep - (char const   *)path___6.buf),
                                 state___1->base_dir_len);
    if (! tmp___1) {
      pc_item->status = (enum pc_item_status )2;
      trace2_data_string_fl((char const   *)"parallel-checkout.c", 344, (char const   *)"pcheckout",
                            (struct repository  const  *)((void *)0), (char const   *)"collision/dirname",
                            (char const   *)path___6.buf);
      goto out;
    }
  }
  fd = open((char const   *)path___6.buf, 193, mode___1);
  if (fd < 0) {
    tmp___2 = __errno_location();
    if (*tmp___2 == 17) {
      pc_item->status = (enum pc_item_status )2;
      trace2_data_string_fl((char const   *)"parallel-checkout.c", 361, (char const   *)"pcheckout",
                            (struct repository  const  *)((void *)0), (char const   *)"collision/basename",
                            (char const   *)path___6.buf);
    } else {
      tmp___3 = __errno_location();
      if (*tmp___3 == 21) {
        pc_item->status = (enum pc_item_status )2;
        trace2_data_string_fl((char const   *)"parallel-checkout.c", 361, (char const   *)"pcheckout",
                              (struct repository  const  *)((void *)0), (char const   *)"collision/basename",
                              (char const   *)path___6.buf);
      } else {
        error_errno((char const   *)"failed to open file \'%s\'", path___6.buf);
        const_error();
        pc_item->status = (enum pc_item_status )3;
      }
    }
    goto out;
  }
  tmp___4 = write_pc_item_to_fd(pc_item, fd, (char const   *)path___6.buf);
  if (tmp___4) {
    pc_item->status = (enum pc_item_status )3;
    close_and_clear(& fd);
    unlink((char const   *)path___6.buf);
    goto out;
  }
  fstat_done = fstat_checkout_output(fd, (struct checkout  const  *)state___1, & pc_item->st);
  tmp___5 = close_and_clear(& fd);
  if (tmp___5) {
    error_errno((char const   *)"unable to close file \'%s\'", path___6.buf);
    const_error();
    pc_item->status = (enum pc_item_status )3;
    goto out;
  }
  if (state___1->refresh_cache) {
    if (! fstat_done) {
      tmp___6 = lstat((char const   *)path___6.buf, & pc_item->st);
      if (tmp___6 < 0) {
        error_errno((char const   *)"unable to stat just-written file \'%s\'", path___6.buf);
        const_error();
        pc_item->status = (enum pc_item_status )3;
        goto out;
      }
    }
  }
  pc_item->status = (enum pc_item_status )1;
  out:
  strbuf_release(& path___6);
  return;
}
}
static void send_one_item(int fd , struct parallel_checkout_item *pc_item )
{
  size_t len_data ;
  char *data ;
  char *variant ;
  struct pc_item_fixed_portion *fixed_portion ;
  char const   *working_tree_encoding ;
  size_t name_len ;
  size_t working_tree_encoding_len ;
  size_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  working_tree_encoding = pc_item->ca.working_tree_encoding;
  name_len = (size_t )(pc_item->ce)->ce_namelen;
  if (working_tree_encoding) {
    tmp = strlen(working_tree_encoding);
    tmp___0 = tmp;
  } else {
    tmp___0 = (size_t )0;
  }
  working_tree_encoding_len = tmp___0;
  len_data = (sizeof(struct pc_item_fixed_portion ) + name_len) + working_tree_encoding_len;
  tmp___1 = xmalloc(len_data);
  data = (char *)tmp___1;
  fixed_portion = (struct pc_item_fixed_portion *)data;
  fixed_portion->id = pc_item->id;
  fixed_portion->ce_mode = (pc_item->ce)->ce_mode;
  fixed_portion->crlf_action = pc_item->ca.crlf_action;
  fixed_portion->ident = pc_item->ca.ident;
  fixed_portion->name_len = name_len;
  fixed_portion->working_tree_encoding_len = working_tree_encoding_len;
  oidcpy_with_padding(& fixed_portion->oid, (struct object_id  const  *)(& (pc_item->ce)->oid));
  variant = data + sizeof(*fixed_portion);
  if (working_tree_encoding_len) {
    memcpy((void *)variant, (void const   *)working_tree_encoding, working_tree_encoding_len);
    variant += working_tree_encoding_len;
  }
  memcpy((void *)variant, (void const   *)((pc_item->ce)->name), name_len);
  packet_write(fd, (char const   *)data, len_data);
  free((void *)data);
  return;
}
}
static void send_batch(int fd , size_t start , size_t nr___0 )
{
  size_t i ;

  {
  sigchain_push(13, (void (*)(int  ))1);
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break;
    }
    send_one_item(fd, parallel_checkout.items + (start + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  packet_flush(fd);
  sigchain_pop(13);
  return;
}
}
static struct pc_worker *setup_workers(struct checkout *state___1 , int num_workers )
{
  struct pc_worker *workers ;
  int i ;
  int workers_with_one_extra_item ;
  size_t base_batch_size ;
  size_t batch_beginning ;
  size_t tmp ;
  void *tmp___0 ;
  struct child_process *cp ;
  int tmp___1 ;
  struct pc_worker *worker ;
  size_t batch_size ;

  {
  batch_beginning = (size_t )0;
  tmp = st_mult(sizeof(*workers), (size_t )num_workers);
  tmp___0 = xmalloc(tmp);
  workers = (struct pc_worker *)tmp___0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < num_workers)) {
      goto while_break;
    }
    cp = & (workers + i)->cp;
    child_process_init(cp);
    cp->git_cmd = 1U;
    cp->in = -1;
    cp->out = -1;
    cp->clean_on_exit = 1U;
    strvec_push(& cp->args, (char const   *)"checkout--worker");
    if (state___1->base_dir_len) {
      strvec_pushf(& cp->args, (char const   *)"--prefix=%s", state___1->base_dir);
    }
    tmp___1 = start_command(cp);
    if (tmp___1) {
      die((char const   *)"failed to spawn checkout worker");
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  base_batch_size = parallel_checkout.nr / (size_t )num_workers;
  workers_with_one_extra_item = (int )(parallel_checkout.nr % (unsigned long )num_workers);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < num_workers)) {
      goto while_break___0;
    }
    worker = workers + i;
    batch_size = base_batch_size;
    if (i < workers_with_one_extra_item) {
      batch_size ++;
    }
    send_batch(worker->cp.in, batch_beginning, batch_size);
    worker->next_item_to_complete = batch_beginning;
    worker->nr_items_to_complete = batch_size;
    batch_beginning += batch_size;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (workers);
}
}
static void finish_workers(struct pc_worker *workers , int num_workers )
{
  int i ;
  struct child_process *cp ;
  int rc___0 ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < num_workers)) {
      goto while_break;
    }
    cp = & (workers + i)->cp;
    if (cp->in >= 0) {
      close(cp->in);
    }
    if (cp->out >= 0) {
      close(cp->out);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < num_workers)) {
      goto while_break___0;
    }
    tmp = finish_command(& (workers + i)->cp);
    rc___0 = tmp;
    if (rc___0 > 128) {
      error((char const   *)"checkout worker %d died of signal %d", i, rc___0 - 128);
      const_error();
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)workers);
  return;
}
}
__inline static void assert_pc_item_result_size(int got , int exp )
{


  {
  if (got != exp) {
    BUG_fl((char const   *)"parallel-checkout.c", 532, (char const   *)"wrong result size from checkout worker (got %dB, exp %dB)",
           got, exp);
  }
  return;
}
}
static void parse_and_save_result(char const   *buffer___5 , int len___0 , struct pc_worker *worker )
{
  struct pc_item_result *res ;
  struct parallel_checkout_item *pc_item ;
  struct stat *st ;

  {
  st = (struct stat *)((void *)0);
  if ((unsigned long )len___0 < (unsigned long )(& ((struct pc_item_result *)0)->st)) {
    BUG_fl((char const   *)"parallel-checkout.c", 544, (char const   *)"too short result from checkout worker (got %dB, exp >=%dB)",
           len___0, (int )((unsigned long )(& ((struct pc_item_result *)0)->st)));
  }
  res = (struct pc_item_result *)buffer___5;
  if ((unsigned int )res->status == 1U) {
    assert_pc_item_result_size(len___0, (int )sizeof(struct pc_item_result ));
    st = & res->st;
  } else {
    assert_pc_item_result_size(len___0, (int )((unsigned long )(& ((struct pc_item_result *)0)->st)));
  }
  if (! worker->nr_items_to_complete) {
    BUG_fl((char const   *)"parallel-checkout.c", 560, (char const   *)"received result from supposedly finished checkout worker");
  }
  if (res->id != worker->next_item_to_complete) {
    BUG_fl((char const   *)"parallel-checkout.c", 563, (char const   *)"unexpected item id from checkout worker (got %lu, exp %lu)",
           res->id, worker->next_item_to_complete);
  }
  (worker->next_item_to_complete) ++;
  (worker->nr_items_to_complete) --;
  pc_item = parallel_checkout.items + res->id;
  pc_item->status = res->status;
  if (st) {
    pc_item->st = *st;
  }
  if ((unsigned int )res->status != 2U) {
    advance_progress_meter();
  }
  return;
}
}
static void gather_results_from_workers(struct pc_worker *workers , int num_workers )
{
  int i ;
  int active_workers ;
  struct pollfd *pfds ;
  void *tmp ;
  int nr___0 ;
  int tmp___0 ;
  int *tmp___1 ;
  struct pc_worker *worker ;
  struct pollfd *pfd ;
  int len___0 ;
  int tmp___2 ;

  {
  active_workers = num_workers;
  tmp = xcalloc((size_t )num_workers, sizeof(*pfds));
  pfds = (struct pollfd *)tmp;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < num_workers)) {
      goto while_break;
    }
    (pfds + i)->fd = (workers + i)->cp.out;
    (pfds + i)->events = (short)1;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! active_workers) {
      goto while_break___0;
    }
    tmp___0 = poll(pfds, (nfds_t )num_workers, -1);
    nr___0 = tmp___0;
    if (nr___0 < 0) {
      tmp___1 = __errno_location();
      if (*tmp___1 == 4) {
        goto while_continue___0;
      }
      die_errno((char const   *)"failed to poll checkout workers");
    }
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (i < num_workers) {
        if (! (nr___0 > 0)) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      worker = workers + i;
      pfd = pfds + i;
      if (! pfd->revents) {
        goto __Cont;
      }
      if ((int )pfd->revents & 0x001) {
        tmp___2 = packet_read(pfd->fd, packet_buffer, (unsigned int )sizeof(packet_buffer),
                              0);
        len___0 = tmp___2;
        if (len___0 < 0) {
          BUG_fl((char const   *)"parallel-checkout.c", 610, (char const   *)"packet_read() returned negative value");
        } else
        if (! len___0) {
          pfd->fd = -1;
          active_workers --;
        } else {
          parse_and_save_result((char const   *)(packet_buffer), len___0, worker);
        }
      } else
      if ((int )pfd->revents & 0x010) {
        pfd->fd = -1;
        active_workers --;
      } else
      if ((int )pfd->revents & 40) {
        die((char const   *)"error polling from checkout worker");
      }
      nr___0 --;
      __Cont: /* CIL Label */
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)pfds);
  return;
}
}
static void write_items_sequentially(struct checkout *state___1 )
{
  size_t i ;
  struct parallel_checkout_item *pc_item ;

  {
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < parallel_checkout.nr)) {
      goto while_break;
    }
    pc_item = parallel_checkout.items + i;
    write_pc_item(pc_item, state___1);
    if ((unsigned int )pc_item->status != 2U) {
      advance_progress_meter();
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int run_parallel_checkout(struct checkout *state___1 , int num_workers , int threshold ,
                          struct progress *progress___7 , unsigned int *progress_cnt )
{
  int ret___67 ;
  struct pc_worker *workers ;
  struct pc_worker *tmp ;

  {
  if ((unsigned int )parallel_checkout.status != 1U) {
    BUG_fl((char const   *)"parallel-checkout.c", 650, (char const   *)"cannot run parallel checkout: uninitialized or already running");
  }
  parallel_checkout.status = (enum pc_status )2;
  parallel_checkout.progress = progress___7;
  parallel_checkout.progress_cnt = progress_cnt;
  if (parallel_checkout.nr < (size_t )num_workers) {
    num_workers = (int )parallel_checkout.nr;
  }
  if (num_workers <= 1) {
    write_items_sequentially(state___1);
  } else
  if (parallel_checkout.nr < (size_t )threshold) {
    write_items_sequentially(state___1);
  } else {
    tmp = setup_workers(state___1, num_workers);
    workers = tmp;
    gather_results_from_workers(workers, num_workers);
    finish_workers(workers, num_workers);
  }
  ret___67 = handle_results(state___1);
  finish_parallel_checkout();
  return (ret___67);
}
}
int parse_opt_abbrev_cb(struct option  const  *opt___0 , char const   *arg , int unset )
{
  int v ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  long tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  if (! arg) {
    if (unset) {
      v = 0;
    } else {
      v = default_abbrev;
    }
  } else {
    if (! *arg) {
      tmp = _((char const   *)"option `%s\' expects a numerical value");
      error((char const   *)tmp, opt___0->long_name);
      tmp___0 = const_error();
      return (tmp___0);
    }
    tmp___1 = strtol((char const   * __restrict  )arg, (char ** __restrict  )((char **)(& arg)),
                     10);
    v = (int )tmp___1;
    if (*arg) {
      tmp___2 = _((char const   *)"option `%s\' expects a numerical value");
      error((char const   *)tmp___2, opt___0->long_name);
      tmp___3 = const_error();
      return (tmp___3);
    }
    if (v) {
      if (v < minimum_abbrev) {
        v = minimum_abbrev;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if ((size_t )v > (the_repository->hash_algo)->hexsz) {
      v = (int )(the_repository->hash_algo)->hexsz;
    }
  }
  *((int *)opt___0->value) = v;
  return (0);
}
}
int parse_opt_expiry_date_cb(struct option  const  *opt___0 , char const   *arg ,
                             int unset )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  if (unset) {
    arg = (char const   *)"never";
  }
  tmp___0 = parse_expiry_date(arg, (timestamp_t *)opt___0->value);
  if (tmp___0) {
    tmp = _((char const   *)"malformed expiration date \'%s\'");
    die((char const   *)tmp, arg);
  }
  return (0);
}
}
int parse_opt_color_flag_cb(struct option  const  *opt___0 , char const   *arg , int unset )
{
  int value ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  if (! arg) {
    if (unset) {
      arg = (char const   *)"never";
    } else {
      arg = (char const   *)opt___0->defval;
    }
  }
  value = git_config_colorbool((char const   *)((void *)0), arg);
  if (value < 0) {
    tmp = _((char const   *)"option `%s\' expects \"always\", \"auto\", or \"never\"");
    error((char const   *)tmp, opt___0->long_name);
    tmp___0 = const_error();
    return (tmp___0);
  }
  *((int *)opt___0->value) = value;
  return (0);
}
}
int parse_opt_verbosity_cb(struct option  const  *opt___0 , char const   *arg , int unset )
{
  int *target ;

  {
  target = (int *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"parse-options-cb.c", 66, (char const   *)"option callback does not expect an argument");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (unset) {
    *target = 0;
  } else
  if (opt___0->short_name == 118) {
    if (*target >= 0) {
      (*target) ++;
    } else {
      *target = 1;
    }
  } else
  if (*target <= 0) {
    (*target) --;
  } else {
    *target = -1;
  }
  return (0);
}
}
int parse_opt_commits(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct object_id oid ;
  struct commit *commit ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"parse-options-cb.c", 90, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (! arg) {
    return (-1);
  }
  tmp___0 = repo_get_oid(the_repository, arg, & oid);
  if (tmp___0) {
    error((char const   *)"malformed object name %s", arg);
    tmp = const_error();
    return (tmp);
  }
  commit = lookup_commit_reference(the_repository, (struct object_id  const  *)(& oid));
  if (! commit) {
    error((char const   *)"no such commit %s", arg);
    tmp___1 = const_error();
    return (tmp___1);
  }
  commit_list_insert(commit, (struct commit_list **)opt___0->value);
  return (0);
}
}
int parse_opt_commit(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct object_id oid ;
  struct commit *commit ;
  struct commit **target ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  target = (struct commit **)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"parse-options-cb.c", 109, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (! arg) {
    return (-1);
  }
  tmp___0 = repo_get_oid(the_repository, arg, & oid);
  if (tmp___0) {
    error((char const   *)"malformed object name %s", arg);
    tmp = const_error();
    return (tmp);
  }
  commit = lookup_commit_reference(the_repository, (struct object_id  const  *)(& oid));
  if (! commit) {
    error((char const   *)"no such commit %s", arg);
    tmp___1 = const_error();
    return (tmp___1);
  }
  *target = commit;
  return (0);
}
}
int parse_opt_object_name(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct object_id oid ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (unset) {
    oid_array_clear((struct oid_array *)opt___0->value);
    return (0);
  }
  if (! arg) {
    return (-1);
  }
  tmp___1 = repo_get_oid(the_repository, arg, & oid);
  if (tmp___1) {
    tmp = _((char const   *)"malformed object name \'%s\'");
    error((char const   *)tmp, arg);
    tmp___0 = const_error();
    return (tmp___0);
  }
  oid_array_append((struct oid_array *)opt___0->value, (struct object_id  const  *)(& oid));
  return (0);
}
}
int parse_opt_object_id(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct object_id oid ;
  struct object_id *target ;
  struct object_id  const  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  target = (struct object_id *)opt___0->value;
  if (unset) {
    tmp = null_oid();
    oidcpy(target, tmp);
    return (0);
  }
  if (! arg) {
    return (-1);
  }
  tmp___2 = repo_get_oid(the_repository, arg, & oid);
  if (tmp___2) {
    tmp___0 = _((char const   *)"malformed object name \'%s\'");
    error((char const   *)tmp___0, arg);
    tmp___1 = const_error();
    return (tmp___1);
  }
  *target = oid;
  return (0);
}
}
int parse_opt_tertiary(struct option  const  *opt___0 , char const   *arg , int unset )
{
  int *target ;

  {
  target = (int *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"parse-options-cb.c", 159, (char const   *)"option callback does not expect an argument");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (unset) {
    *target = 2;
  } else {
    *target = 1;
  }
  return (0);
}
}
static size_t parse_options_count(struct option  const  *opt___0 )
{
  size_t n ;

  {
  n = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (opt___0) {
      if (! ((unsigned int )opt___0->type != 0U)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    n ++;
    opt___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (n);
}
}
struct option *parse_options_dup(struct option  const  *o )
{
  struct option no_options[1] ;
  struct option *tmp ;

  {
  no_options[0].type = (enum parse_opt_type )0;
  no_options[0].short_name = 0;
  no_options[0].long_name = (char const   *)0;
  no_options[0].value = (void *)0;
  no_options[0].argh = (char const   *)0;
  no_options[0].help = (char const   *)0;
  no_options[0].flags = 0U;
  no_options[0].callback = (parse_opt_cb *)0;
  no_options[0].defval = 0L;
  no_options[0].ll_callback = (parse_opt_ll_cb *)0;
  no_options[0].extra = 0L;
  tmp = parse_options_concat(o, (struct option  const  *)(no_options));
  return (tmp);
}
}
struct option *parse_options_concat(struct option  const  *a , struct option  const  *b___0 )
{
  struct option *ret___67 ;
  size_t a_len ;
  size_t tmp ;
  size_t b_len ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;

  {
  tmp = parse_options_count(a);
  a_len = tmp;
  tmp___0 = parse_options_count(b___0);
  b_len = tmp___0;
  tmp___1 = st_add(a_len, b_len);
  tmp___2 = st_add(tmp___1, (size_t )1);
  tmp___3 = st_mult(sizeof(*ret___67), tmp___2);
  tmp___4 = xmalloc(tmp___3);
  ret___67 = (struct option *)tmp___4;
  copy_array((void *)ret___67, (void const   *)a, a_len, sizeof(*ret___67) + (sizeof(char [1]) - 1UL));
  copy_array((void *)(ret___67 + a_len), (void const   *)b___0, b_len + 1UL, sizeof(*(ret___67 + a_len)) + (sizeof(char [1]) - 1UL));
  return (ret___67);
}
}
int parse_opt_string_list(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct string_list *v ;

  {
  v = (struct string_list *)opt___0->value;
  if (unset) {
    string_list_clear(v, 0);
    return (0);
  }
  if (! arg) {
    return (-1);
  }
  string_list_append(v, arg);
  return (0);
}
}
int parse_opt_noop_cb(struct option  const  *opt___0 , char const   *arg , int unset )
{


  {
  return (0);
}
}
enum parse_opt_result parse_opt_unknown_cb(struct parse_opt_ctx_t *ctx___0 , struct option  const  *opt___0 ,
                                           char const   *arg , int unset )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"parse-options-cb.c", 227, (char const   *)"option callback does not expect an argument");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return ((enum parse_opt_result )2);
}
}
static int recreate_opt(struct strbuf *sb___6 , struct option  const  *opt___0 , char const   *arg ,
                        int unset )
{
  char *tmp ;

  {
  strbuf_setlen(sb___6, (size_t )0);
  if (opt___0->long_name) {
    if (unset) {
      tmp = "--no-";
    } else {
      tmp = "--";
    }
    strbuf_addstr(sb___6, (char const   *)tmp);
    strbuf_addstr(sb___6, (char const   *)opt___0->long_name);
    if (arg) {
      strbuf_addch(sb___6, '=');
      strbuf_addstr(sb___6, arg);
    }
  } else
  if (opt___0->short_name) {
    if (! unset) {
      strbuf_addch(sb___6, '-');
      strbuf_addch(sb___6, (int )opt___0->short_name);
      if (arg) {
        strbuf_addstr(sb___6, arg);
      }
    } else {
      return (-1);
    }
  } else {
    return (-1);
  }
  return (0);
}
}
static struct strbuf sb___1  =    {0UL, 0UL, strbuf_slopbuf};
int parse_opt_passthru(struct option  const  *opt___0 , char const   *arg , int unset )
{
  char **opt_value ;
  int tmp ;

  {
  opt_value = (char **)opt___0->value;
  tmp = recreate_opt(& sb___1, opt___0, arg, unset);
  if (tmp < 0) {
    return (-1);
  }
  free((void *)*opt_value);
  *opt_value = strbuf_detach(& sb___1, (size_t *)((void *)0));
  return (0);
}
}
static struct strbuf sb___2  =    {0UL, 0UL, strbuf_slopbuf};
int parse_opt_passthru_argv(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct strvec *opt_value ;
  int tmp ;

  {
  opt_value = (struct strvec *)opt___0->value;
  tmp = recreate_opt(& sb___2, opt___0, arg, unset);
  if (tmp < 0) {
    return (-1);
  }
  strvec_push(opt_value, (char const   *)sb___2.buf);
  return (0);
}
}
int parse_opt_tracking_mode(struct option  const  *opt___0 , char const   *arg , int unset )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (unset) {
    *((enum branch_track *)opt___0->value) = (enum branch_track )0;
  } else
  if (! arg) {
    *((enum branch_track *)opt___0->value) = (enum branch_track )3;
  } else {
    tmp___2 = strcmp(arg, (char const   *)"direct");
    if (tmp___2) {
      tmp___1 = strcmp(arg, (char const   *)"inherit");
      if (tmp___1) {
        tmp = _((char const   *)"option `%s\' expects \"%s\" or \"%s\"");
        error((char const   *)tmp, "--track", "direct", "inherit");
        tmp___0 = const_error();
        return (tmp___0);
      } else {
        *((enum branch_track *)opt___0->value) = (enum branch_track )5;
      }
    } else {
      *((enum branch_track *)opt___0->value) = (enum branch_track )3;
    }
  }
  return (0);
}
}
static int disallow_abbreviated_options  ;
static int optbug(struct option  const  *opt___0 , char const   *reason )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (opt___0->long_name) {
    if (opt___0->short_name) {
      error((char const   *)"BUG: switch \'%c\' (--%s) %s", opt___0->short_name, opt___0->long_name,
            reason);
      tmp = const_error();
      return (tmp);
    }
    error((char const   *)"BUG: option \'%s\' %s", opt___0->long_name, reason);
    tmp___0 = const_error();
    return (tmp___0);
  }
  error((char const   *)"BUG: switch \'%c\' %s", opt___0->short_name, reason);
  tmp___1 = const_error();
  return (tmp___1);
}
}
static char const   *optname(struct option  const  *opt___0 , enum opt_parsed flags___0 ) ;
static struct strbuf sb___3  =    {0UL, 0UL, strbuf_slopbuf};
static char const   *optname(struct option  const  *opt___0 , enum opt_parsed flags___0 )
{


  {
  strbuf_setlen(& sb___3, (size_t )0);
  if ((unsigned int )flags___0 & 1U) {
    strbuf_addf(& sb___3, (char const   *)"switch `%c\'", opt___0->short_name);
  } else
  if ((unsigned int )flags___0 & 2U) {
    strbuf_addf(& sb___3, (char const   *)"option `no-%s\'", opt___0->long_name);
  } else
  if ((unsigned int )flags___0 == 0U) {
    strbuf_addf(& sb___3, (char const   *)"option `%s\'", opt___0->long_name);
  } else {
    BUG_fl((char const   *)"parse-options.c", 40, (char const   *)"optname() got unknown flags %d",
           (unsigned int )flags___0);
  }
  return ((char const   *)sb___3.buf);
}
}
static enum parse_opt_result get_arg(struct parse_opt_ctx_t *p___0 , struct option  const  *opt___0 ,
                                     enum opt_parsed flags___0 , char const   **arg )
{
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  if (p___0->opt) {
    *arg = p___0->opt;
    p___0->opt = (char const   *)((void *)0);
  } else
  if (p___0->argc == 1) {
    if ((unsigned int )opt___0->flags & 16U) {
      *arg = (char const   *)opt___0->defval;
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (p___0->argc > 1) {
    (p___0->argc) --;
    (p___0->argv) ++;
    *arg = *(p___0->argv);
  } else {
    tmp = optname(opt___0, flags___0);
    tmp___0 = _((char const   *)"%s requires a value");
    error((char const   *)tmp___0, tmp);
    tmp___1 = const_error();
    return ((enum parse_opt_result )tmp___1);
  }
  return ((enum parse_opt_result )0);
}
}
static void fix_filename(char const   *prefix___1 , char const   **file___0 )
{
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  if (! file___0) {
    return;
  } else
  if (! *file___0) {
    return;
  } else
  if (! prefix___1) {
    return;
  } else {
    tmp = is_absolute_path(*file___0);
    if (tmp) {
      return;
    } else {
      tmp___0 = strcmp((char const   *)"-", *file___0);
      if (! tmp___0) {
        return;
      }
    }
  }
  tmp___1 = prefix_filename(prefix___1, *file___0);
  *file___0 = (char const   *)tmp___1;
  return;
}
}
static enum parse_opt_result opt_command_mode_error(struct option  const  *opt___0 ,
                                                    struct option  const  *all_opts ,
                                                    enum opt_parsed flags___0 )
{
  struct option  const  *that ;
  struct strbuf that_name ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  that_name.alloc = 0UL;
  that_name.len = 0UL;
  that_name.buf = strbuf_slopbuf;
  that = all_opts;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )that->type != 0U)) {
      goto while_break;
    }
    if ((unsigned long )that == (unsigned long )opt___0) {
      goto __Cont;
    } else
    if (! ((unsigned int )that->flags & 2048U)) {
      goto __Cont;
    } else
    if ((unsigned long )that->value != (unsigned long )opt___0->value) {
      goto __Cont;
    } else
    if (that->defval != (intptr_t )*((int *)opt___0->value)) {
      goto __Cont;
    }
    if (that->long_name) {
      strbuf_addf(& that_name, (char const   *)"--%s", that->long_name);
    } else {
      strbuf_addf(& that_name, (char const   *)"-%c", that->short_name);
    }
    tmp = optname(opt___0, flags___0);
    tmp___0 = _((char const   *)"%s is incompatible with %s");
    error((char const   *)tmp___0, tmp, that_name.buf);
    const_error();
    strbuf_release(& that_name);
    return ((enum parse_opt_result )-1);
    __Cont: /* CIL Label */
    that ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = optname(opt___0, flags___0);
  tmp___2 = _((char const   *)"%s : incompatible with something else");
  error((char const   *)tmp___2, tmp___1);
  tmp___3 = const_error();
  return ((enum parse_opt_result )tmp___3);
}
}
static enum parse_opt_result get_value___0(struct parse_opt_ctx_t *p___0 , struct option  const  *opt___0 ,
                                           struct option  const  *all_opts , enum opt_parsed flags___0 )
{
  char const   *s___1 ;
  char const   *arg ;
  int unset ;
  int err___4 ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const   *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  enum parse_opt_result tmp___8 ;
  enum parse_opt_result tmp___9 ;
  enum parse_opt_result tmp___10 ;
  enum parse_opt_result tmp___11 ;
  char const   *p_arg ;
  int p_unset ;
  enum parse_opt_result tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  enum parse_opt_result tmp___16 ;
  enum parse_opt_result tmp___17 ;
  char const   *tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  int tmp___20 ;
  long tmp___21 ;
  char const   *tmp___22 ;
  char const __attribute__((__format_arg__(1)))  *tmp___23 ;
  int tmp___24 ;
  enum parse_opt_result tmp___25 ;
  char const   *tmp___26 ;
  char const __attribute__((__format_arg__(1)))  *tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;

  {
  unset = (int )((unsigned int )flags___0 & 2U);
  if (unset) {
    if (p___0->opt) {
      tmp = optname(opt___0, flags___0);
      tmp___0 = _((char const   *)"%s takes no value");
      error((char const   *)tmp___0, tmp);
      tmp___1 = const_error();
      return ((enum parse_opt_result )tmp___1);
    }
  }
  if (unset) {
    if ((unsigned int )opt___0->flags & 4U) {
      tmp___2 = optname(opt___0, flags___0);
      tmp___3 = _((char const   *)"%s isn\'t available");
      error((char const   *)tmp___3, tmp___2);
      tmp___4 = const_error();
      return ((enum parse_opt_result )tmp___4);
    }
  }
  if (! ((unsigned int )flags___0 & 1U)) {
    if (p___0->opt) {
      if ((unsigned int )opt___0->flags & 2U) {
        tmp___5 = optname(opt___0, flags___0);
        tmp___6 = _((char const   *)"%s takes no value");
        error((char const   *)tmp___6, tmp___5);
        tmp___7 = const_error();
        return ((enum parse_opt_result )tmp___7);
      }
    }
  }
  if ((unsigned int )opt___0->flags & 2048U) {
    if (*((int *)opt___0->value)) {
      if ((intptr_t )*((int *)opt___0->value) != opt___0->defval) {
        tmp___8 = opt_command_mode_error(opt___0, all_opts, flags___0);
        return (tmp___8);
      }
    }
  }
  {
  if ((unsigned int )opt___0->type == 13U) {
    goto case_13;
  }
  if ((unsigned int )opt___0->type == 4U) {
    goto case_4;
  }
  if ((unsigned int )opt___0->type == 5U) {
    goto case_5;
  }
  if ((unsigned int )opt___0->type == 6U) {
    goto case_6;
  }
  if ((unsigned int )opt___0->type == 7U) {
    goto case_7;
  }
  if ((unsigned int )opt___0->type == 8U) {
    goto case_8;
  }
  if ((unsigned int )opt___0->type == 9U) {
    goto case_9;
  }
  if ((unsigned int )opt___0->type == 14U) {
    goto case_14;
  }
  if ((unsigned int )opt___0->type == 12U) {
    goto case_12;
  }
  if ((unsigned int )opt___0->type == 10U) {
    goto case_10;
  }
  if ((unsigned int )opt___0->type == 11U) {
    goto case_11;
  }
  goto switch_default;
  case_13: /* CIL Label */
  tmp___9 = (*(opt___0->ll_callback))(p___0, opt___0, (char const   *)((void *)0),
                                      (int )unset);
  return (tmp___9);
  case_4: /* CIL Label */
  if (unset) {
    *((int *)opt___0->value) = (int )((long )*((int *)opt___0->value) & ~ opt___0->defval);
  } else {
    *((int *)opt___0->value) = (int )((long )*((int *)opt___0->value) | opt___0->defval);
  }
  return ((enum parse_opt_result )0);
  case_5: /* CIL Label */
  if (unset) {
    *((int *)opt___0->value) = (int )((long )*((int *)opt___0->value) | opt___0->defval);
  } else {
    *((int *)opt___0->value) = (int )((long )*((int *)opt___0->value) & ~ opt___0->defval);
  }
  return ((enum parse_opt_result )0);
  case_6: /* CIL Label */
  if (unset) {
    BUG_fl((char const   *)"parse-options.c", 146, (char const   *)"BITOP can\'t have unset form");
  }
  *((int *)opt___0->value) = (int )((long )*((int *)opt___0->value) & ~ opt___0->extra);
  *((int *)opt___0->value) = (int )((long )*((int *)opt___0->value) | opt___0->defval);
  return ((enum parse_opt_result )0);
  case_7: /* CIL Label */
  if (*((int *)opt___0->value) < 0) {
    *((int *)opt___0->value) = 0;
  }
  if (unset) {
    *((int *)opt___0->value) = 0;
  } else {
    (*((int *)opt___0->value)) ++;
  }
  return ((enum parse_opt_result )0);
  case_8: /* CIL Label */
  if (unset) {
    *((int *)opt___0->value) = 0;
  } else {
    *((int *)opt___0->value) = (int )opt___0->defval;
  }
  return ((enum parse_opt_result )0);
  case_9: /* CIL Label */
  if (unset) {
    *((char const   **)opt___0->value) = (char const   *)((void *)0);
  } else
  if ((unsigned int )opt___0->flags & 1U) {
    if (! p___0->opt) {
      *((char const   **)opt___0->value) = (char const   *)opt___0->defval;
    } else {
      tmp___10 = get_arg(p___0, opt___0, flags___0, (char const   **)opt___0->value);
      return (tmp___10);
    }
  } else {
    tmp___10 = get_arg(p___0, opt___0, flags___0, (char const   **)opt___0->value);
    return (tmp___10);
  }
  return ((enum parse_opt_result )0);
  case_14: /* CIL Label */
  err___4 = 0;
  if (unset) {
    *((char const   **)opt___0->value) = (char const   *)((void *)0);
  } else
  if ((unsigned int )opt___0->flags & 1U) {
    if (! p___0->opt) {
      *((char const   **)opt___0->value) = (char const   *)opt___0->defval;
    } else {
      tmp___11 = get_arg(p___0, opt___0, flags___0, (char const   **)opt___0->value);
      err___4 = (int )tmp___11;
    }
  } else {
    tmp___11 = get_arg(p___0, opt___0, flags___0, (char const   **)opt___0->value);
    err___4 = (int )tmp___11;
  }
  if (! err___4) {
    fix_filename(p___0->prefix, (char const   **)opt___0->value);
  }
  return ((enum parse_opt_result )err___4);
  case_12: /* CIL Label */
  p_arg = (char const   *)((void *)0);
  if (unset) {
    p_unset = 1;
  } else
  if ((unsigned int )opt___0->flags & 2U) {
    p_unset = 0;
  } else
  if ((unsigned int )opt___0->flags & 1U) {
    if (! p___0->opt) {
      p_unset = 0;
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp___12 = get_arg(p___0, opt___0, flags___0, & arg);
    if (tmp___12) {
      return ((enum parse_opt_result )-1);
    } else {
      p_unset = 0;
      p_arg = arg;
    }
  }
  if (opt___0->callback) {
    tmp___15 = (*(opt___0->callback))(opt___0, p_arg, p_unset);
    if (tmp___15) {
      tmp___14 = -1;
    } else {
      tmp___14 = 0;
    }
    return ((enum parse_opt_result )tmp___14);
  } else {
    tmp___16 = (*(opt___0->ll_callback))(p___0, opt___0, p_arg, p_unset);
    return (tmp___16);
  }
  case_10: /* CIL Label */
  if (unset) {
    *((int *)opt___0->value) = 0;
    return ((enum parse_opt_result )0);
  }
  if ((unsigned int )opt___0->flags & 1U) {
    if (! p___0->opt) {
      *((int *)opt___0->value) = (int )opt___0->defval;
      return ((enum parse_opt_result )0);
    }
  }
  tmp___17 = get_arg(p___0, opt___0, flags___0, & arg);
  if (tmp___17) {
    return ((enum parse_opt_result )-1);
  }
  if (! *arg) {
    tmp___18 = optname(opt___0, flags___0);
    tmp___19 = _((char const   *)"%s expects a numerical value");
    error((char const   *)tmp___19, tmp___18);
    tmp___20 = const_error();
    return ((enum parse_opt_result )tmp___20);
  }
  tmp___21 = strtol((char const   * __restrict  )arg, (char ** __restrict  )((char **)(& s___1)),
                    10);
  *((int *)opt___0->value) = (int )tmp___21;
  if (*s___1) {
    tmp___22 = optname(opt___0, flags___0);
    tmp___23 = _((char const   *)"%s expects a numerical value");
    error((char const   *)tmp___23, tmp___22);
    tmp___24 = const_error();
    return ((enum parse_opt_result )tmp___24);
  }
  return ((enum parse_opt_result )0);
  case_11: /* CIL Label */
  if (unset) {
    *((unsigned long *)opt___0->value) = 0UL;
    return ((enum parse_opt_result )0);
  }
  if ((unsigned int )opt___0->flags & 1U) {
    if (! p___0->opt) {
      *((unsigned long *)opt___0->value) = (unsigned long )opt___0->defval;
      return ((enum parse_opt_result )0);
    }
  }
  tmp___25 = get_arg(p___0, opt___0, flags___0, & arg);
  if (tmp___25) {
    return ((enum parse_opt_result )-1);
  }
  tmp___29 = git_parse_ulong(arg, (unsigned long *)opt___0->value);
  if (! tmp___29) {
    tmp___26 = optname(opt___0, flags___0);
    tmp___27 = _((char const   *)"%s expects a non-negative integer value with an optional k/m/g suffix");
    error((char const   *)tmp___27, tmp___26);
    tmp___28 = const_error();
    return ((enum parse_opt_result )tmp___28);
  }
  return ((enum parse_opt_result )0);
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"parse-options.c", 243, (char const   *)"opt->type %d should not happen",
         (unsigned int )opt___0->type);
  switch_break: /* CIL Label */ ;
  }
}
}
static enum parse_opt_result parse_short_opt(struct parse_opt_ctx_t *p___0 , struct option  const  *options )
{
  struct option  const  *all_opts ;
  struct option  const  *numopt ;
  enum parse_opt_result tmp ;
  size_t len___0 ;
  char *arg ;
  int rc___0 ;
  void *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  enum parse_opt_result tmp___3 ;

  {
  all_opts = options;
  numopt = (struct option  const  *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )options->type != 0U)) {
      goto while_break;
    }
    if (options->short_name == (int )*(p___0->opt)) {
      if (*(p___0->opt + 1)) {
        (p___0->opt) ++;
      } else {
        p___0->opt = (char const   *)((void *)0);
      }
      tmp = get_value___0(p___0, options, all_opts, (enum opt_parsed )1);
      return (tmp);
    }
    if ((unsigned int )options->type == 2U) {
      numopt = options;
    }
    options ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (numopt) {
    if (((int const   )sane_ctype[(unsigned char )*(p___0->opt)] & 2) != 0) {
      len___0 = (size_t )1;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (((int const   )sane_ctype[(unsigned char )*(p___0->opt + len___0)] & 2) != 0)) {
          goto while_break___0;
        }
        len___0 ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      tmp___0 = xmemdupz((void const   *)p___0->opt, len___0);
      arg = (char *)tmp___0;
      if (*(p___0->opt + len___0)) {
        p___0->opt += len___0;
      } else {
        p___0->opt = (char const   *)((void *)0);
      }
      if (numopt->callback) {
        tmp___2 = (*(numopt->callback))(numopt, (char const   *)arg, 0);
        if (tmp___2) {
          rc___0 = -1;
        } else {
          rc___0 = 0;
        }
      } else {
        tmp___3 = (*(numopt->ll_callback))(p___0, numopt, (char const   *)arg, 0);
        rc___0 = (int )tmp___3;
      }
      free((void *)arg);
      return ((enum parse_opt_result )rc___0);
    }
  }
  return ((enum parse_opt_result )2);
}
}
static int has_string(char const   *it , char const   **array )
{
  char const   **tmp ;
  int tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *array) {
      goto while_break;
    }
    tmp = array;
    array ++;
    tmp___0 = strcmp(it, *tmp);
    if (! tmp___0) {
      return (1);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int is_alias(struct parse_opt_ctx_t *ctx___0 , struct option  const  *one_opt ,
                    struct option  const  *another_opt )
{
  char const   **group ;
  int tmp ;
  int tmp___0 ;

  {
  if (! ctx___0->alias_groups) {
    return (0);
  }
  if (! one_opt->long_name) {
    return (0);
  } else
  if (! another_opt->long_name) {
    return (0);
  }
  group = ctx___0->alias_groups;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *group) {
      goto while_break;
    }
    tmp = has_string((char const   *)one_opt->long_name, group);
    if (tmp) {
      tmp___0 = has_string((char const   *)another_opt->long_name, group);
      if (tmp___0) {
        return (1);
      }
    }
    group += 3;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static enum parse_opt_result parse_long_opt___0(struct parse_opt_ctx_t *p___0 , char const   *arg ,
                                                struct option  const  *options )
{
  struct option  const  *all_opts ;
  char const   *arg_end ;
  char *tmp ;
  struct option  const  *abbrev_option ;
  struct option  const  *ambiguous_option ;
  enum opt_parsed abbrev_flags ;
  enum opt_parsed ambiguous_flags ;
  char const   *rest ;
  char const   *long_name ;
  enum opt_parsed flags___0 ;
  enum opt_parsed opt_flags ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  enum parse_opt_result tmp___8 ;
  char *tmp___9 ;
  char *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  enum parse_opt_result tmp___12 ;

  {
  all_opts = options;
  tmp = strchrnul(arg, '=');
  arg_end = (char const   *)tmp;
  abbrev_option = (struct option  const  *)((void *)0);
  ambiguous_option = (struct option  const  *)((void *)0);
  abbrev_flags = (enum opt_parsed )0;
  ambiguous_flags = (enum opt_parsed )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )options->type != 0U)) {
      goto while_break;
    }
    long_name = (char const   *)options->long_name;
    flags___0 = (enum opt_parsed )0;
    opt_flags = (enum opt_parsed )0;
    if (! long_name) {
      goto __Cont;
    }
    again:
    tmp___0 = skip_prefix(arg, long_name, & rest);
    if (! tmp___0) {
      rest = (char const   *)((void *)0);
    }
    if (! rest) {
      if (! ((unsigned int )p___0->flags & 8U)) {
        tmp___2 = strncmp(long_name, arg, (size_t )(arg_end - arg));
        if (! tmp___2) {
          is_abbreviated:
          if (abbrev_option) {
            tmp___1 = is_alias(p___0, abbrev_option, options);
            if (! tmp___1) {
              ambiguous_option = abbrev_option;
              ambiguous_flags = abbrev_flags;
            }
          }
          if (! ((unsigned int )flags___0 & 2U)) {
            if (*arg_end) {
              p___0->opt = arg_end + 1;
            }
          }
          abbrev_option = options;
          abbrev_flags = (enum opt_parsed )((unsigned int )flags___0 ^ (unsigned int )opt_flags);
          goto __Cont;
        }
      }
      if ((unsigned int )options->flags & 4U) {
        goto __Cont;
      }
      tmp___3 = starts_with((char const   *)"no-", arg);
      if (tmp___3) {
        flags___0 = (enum opt_parsed )((unsigned int )flags___0 | 2U);
        goto is_abbreviated;
      }
      tmp___5 = starts_with(arg, (char const   *)"no-");
      if (! tmp___5) {
        tmp___4 = skip_prefix(long_name, (char const   *)"no-", & long_name);
        if (tmp___4) {
          opt_flags = (enum opt_parsed )((unsigned int )opt_flags | 2U);
          goto again;
        }
        goto __Cont;
      }
      flags___0 = (enum opt_parsed )((unsigned int )flags___0 | 2U);
      tmp___7 = skip_prefix(arg + 3, long_name, & rest);
      if (! tmp___7) {
        tmp___6 = starts_with(long_name, arg + 3);
        if (tmp___6) {
          goto is_abbreviated;
        } else {
          goto __Cont;
        }
      }
    }
    if (*rest) {
      if ((int const   )*rest != 61) {
        goto __Cont;
      }
      p___0->opt = rest + 1;
    }
    tmp___8 = get_value___0(p___0, options, all_opts, (enum opt_parsed )((unsigned int )flags___0 ^ (unsigned int )opt_flags));
    return (tmp___8);
    __Cont: /* CIL Label */
    options ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (disallow_abbreviated_options) {
    if (ambiguous_option) {
      die((char const   *)"disallowed abbreviated or ambiguous option \'%.*s\'", (int )(arg_end - arg),
          arg);
    } else
    if (abbrev_option) {
      die((char const   *)"disallowed abbreviated or ambiguous option \'%.*s\'", (int )(arg_end - arg),
          arg);
    }
  }
  if (ambiguous_option) {
    if ((unsigned int )abbrev_flags & 2U) {
      tmp___9 = "no-";
    } else {
      tmp___9 = "";
    }
    if ((unsigned int )ambiguous_flags & 2U) {
      tmp___10 = "no-";
    } else {
      tmp___10 = "";
    }
    tmp___11 = _((char const   *)"ambiguous option: %s (could be --%s%s or --%s%s)");
    error((char const   *)tmp___11, arg, tmp___10, ambiguous_option->long_name, tmp___9,
          abbrev_option->long_name);
    const_error();
    return ((enum parse_opt_result )-2);
  }
  if (abbrev_option) {
    tmp___12 = get_value___0(p___0, abbrev_option, all_opts, abbrev_flags);
    return (tmp___12);
  }
  return ((enum parse_opt_result )2);
}
}
static enum parse_opt_result parse_nodash_opt(struct parse_opt_ctx_t *p___0 , char const   *arg ,
                                              struct option  const  *options )
{
  struct option  const  *all_opts ;
  enum parse_opt_result tmp ;

  {
  all_opts = options;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )options->type != 0U)) {
      goto while_break;
    }
    if (! ((unsigned int )options->flags & 32U)) {
      goto __Cont;
    }
    if (options->short_name == (int )*(arg + 0)) {
      if ((int const   )*(arg + 1) == 0) {
        tmp = get_value___0(p___0, options, all_opts, (enum opt_parsed )1);
        return (tmp);
      }
    }
    __Cont: /* CIL Label */
    options ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((enum parse_opt_result )-1);
}
}
static void check_typos(char const   *arg , struct option  const  *options )
{
  size_t tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = strlen(arg);
  if (tmp < 3UL) {
    return;
  }
  tmp___2 = starts_with(arg, (char const   *)"no-");
  if (tmp___2) {
    tmp___0 = _((char const   *)"did you mean `--%s` (with two dashes)?");
    error((char const   *)tmp___0, arg);
    const_error();
    tmp___1 = trace2_cmd_exit_fl((char const   *)"parse-options.c", 429, 129);
    exit(tmp___1);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )options->type != 0U)) {
      goto while_break;
    }
    if (! options->long_name) {
      goto __Cont;
    }
    tmp___5 = starts_with((char const   *)options->long_name, arg);
    if (tmp___5) {
      tmp___3 = _((char const   *)"did you mean `--%s` (with two dashes)?");
      error((char const   *)tmp___3, arg);
      const_error();
      tmp___4 = trace2_cmd_exit_fl((char const   *)"parse-options.c", 437, 129);
      exit(tmp___4);
    }
    __Cont: /* CIL Label */
    options ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void parse_options_check(struct option  const  *opts___1 )
{
  int err___4 ;
  char short_opts[128] ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  size_t tmp___6 ;
  size_t tmp___7 ;
  int tmp___8 ;

  {
  err___4 = 0;
  memset((void *)(short_opts), '\000', sizeof(short_opts));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )opts___1->type != 0U)) {
      goto while_break;
    }
    if ((unsigned int )opts___1->flags & 16U) {
      if ((unsigned int )opts___1->flags & 1U) {
        tmp = optbug(opts___1, (char const   *)"uses incompatible flags LASTARG_DEFAULT and OPTARG");
        err___4 |= tmp;
      }
    }
    if (opts___1->short_name) {
      if (0x7F <= (int )opts___1->short_name) {
        tmp___0 = optbug(opts___1, (char const   *)"invalid short name");
        err___4 |= tmp___0;
      } else {
        tmp___2 = short_opts[opts___1->short_name];
        short_opts[opts___1->short_name] = (char )((int )short_opts[opts___1->short_name] + 1);
        if (tmp___2) {
          tmp___1 = optbug(opts___1, (char const   *)"short name already used");
          err___4 |= tmp___1;
        }
      }
    }
    if ((unsigned int )opts___1->flags & 32U) {
      if ((unsigned int )opts___1->flags & 1U) {
        tmp___3 = optbug(opts___1, (char const   *)"uses feature not supported for dashless options");
        err___4 |= tmp___3;
      } else
      if (! ((unsigned int )opts___1->flags & 2U)) {
        tmp___3 = optbug(opts___1, (char const   *)"uses feature not supported for dashless options");
        err___4 |= tmp___3;
      } else
      if (! ((unsigned int )opts___1->flags & 4U)) {
        tmp___3 = optbug(opts___1, (char const   *)"uses feature not supported for dashless options");
        err___4 |= tmp___3;
      } else
      if (opts___1->long_name) {
        tmp___3 = optbug(opts___1, (char const   *)"uses feature not supported for dashless options");
        err___4 |= tmp___3;
      }
    }
    {
    if ((unsigned int )opts___1->type == 2U) {
      goto case_2;
    }
    if ((unsigned int )opts___1->type == 8U) {
      goto case_2;
    }
    if ((unsigned int )opts___1->type == 5U) {
      goto case_2;
    }
    if ((unsigned int )opts___1->type == 4U) {
      goto case_2;
    }
    if ((unsigned int )opts___1->type == 7U) {
      goto case_2;
    }
    if ((unsigned int )opts___1->type == 12U) {
      goto case_12;
    }
    if ((unsigned int )opts___1->type == 13U) {
      goto case_13;
    }
    if ((unsigned int )opts___1->type == 3U) {
      goto case_3;
    }
    goto switch_default;
    case_2: /* CIL Label */
    case_8: /* CIL Label */
    case_5: /* CIL Label */
    case_4: /* CIL Label */
    case_7: /* CIL Label */
    if ((unsigned int )opts___1->flags & 1U) {
      tmp___4 = optbug(opts___1, (char const   *)"should not accept an argument");
      err___4 |= tmp___4;
    } else
    if (! ((unsigned int )opts___1->flags & 2U)) {
      tmp___4 = optbug(opts___1, (char const   *)"should not accept an argument");
      err___4 |= tmp___4;
    }
    goto switch_break;
    case_12: /* CIL Label */
    if (! opts___1->callback) {
      if (! opts___1->ll_callback) {
        BUG_fl((char const   *)"parse-options.c", 478, (char const   *)"OPTION_CALLBACK needs one callback");
      }
    }
    if (opts___1->callback) {
      if (opts___1->ll_callback) {
        BUG_fl((char const   *)"parse-options.c", 480, (char const   *)"OPTION_CALLBACK can\'t have two callbacks");
      }
    }
    goto switch_break;
    case_13: /* CIL Label */
    if (! opts___1->ll_callback) {
      BUG_fl((char const   *)"parse-options.c", 484, (char const   *)"OPTION_LOWLEVEL_CALLBACK needs a callback");
    }
    if (opts___1->callback) {
      BUG_fl((char const   *)"parse-options.c", 486, (char const   *)"OPTION_LOWLEVEL_CALLBACK needs no high level callback");
    }
    goto switch_break;
    case_3: /* CIL Label */
    BUG_fl((char const   *)"parse-options.c", 491, (char const   *)"OPT_ALIAS() should not remain at this point. Are you using parse_options_step() directly?\nThat case is not supported yet.");
    switch_default: /* CIL Label */ ;
    switch_break: /* CIL Label */ ;
    }
    if (opts___1->argh) {
      tmp___6 = strcspn((char const   *)opts___1->argh, (char const   *)" _");
      tmp___7 = strlen((char const   *)opts___1->argh);
      if (tmp___6 != tmp___7) {
        tmp___5 = optbug(opts___1, (char const   *)"multi-word argh should use dash to separate words");
        err___4 |= tmp___5;
      }
    }
    opts___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (err___4) {
    tmp___8 = trace2_cmd_exit_fl((char const   *)"parse-options.c", 500, 128);
    exit(tmp___8);
  }
  return;
}
}
static void parse_options_start_1(struct parse_opt_ctx_t *ctx___0 , int argc , char const   **argv___0 ,
                                  char const   *prefix___1 , struct option  const  *options ,
                                  enum parse_opt_flags flags___0 )
{


  {
  ctx___0->argc = argc;
  ctx___0->argv = argv___0;
  if (! ((unsigned int )flags___0 & 32U)) {
    (ctx___0->argc) --;
    (ctx___0->argv) ++;
  }
  ctx___0->total = ctx___0->argc;
  ctx___0->out = argv___0;
  ctx___0->prefix = prefix___1;
  ctx___0->cpidx = ((unsigned int )flags___0 & 4U) != 0U;
  ctx___0->flags = flags___0;
  if ((unsigned int )flags___0 & 8U) {
    if ((unsigned int )flags___0 & 2U) {
      if (! ((unsigned int )flags___0 & 32U)) {
        BUG_fl((char const   *)"parse-options.c", 522, (char const   *)"STOP_AT_NON_OPTION and KEEP_UNKNOWN don\'t go together");
      }
    }
  }
  if ((unsigned int )flags___0 & 32U) {
    if ((unsigned int )flags___0 & 4U) {
      BUG_fl((char const   *)"parse-options.c", 525, (char const   *)"Can\'t keep argv0 if you don\'t have it");
    }
  }
  parse_options_check(options);
  return;
}
}
void parse_options_start(struct parse_opt_ctx_t *ctx___0 , int argc , char const   **argv___0 ,
                         char const   *prefix___1 , struct option  const  *options ,
                         enum parse_opt_flags flags___0 )
{


  {
  memset((void *)ctx___0, 0, sizeof(*ctx___0));
  parse_options_start_1(ctx___0, argc, argv___0, prefix___1, options, flags___0);
  return;
}
}
static void show_negated_gitcomp(struct option  const  *opts___1 , int show_all___0 ,
                                 int nr_noopts )
{
  int printed_dashdash ;
  int has_unset_form ;
  char const   *name___0 ;
  int tmp ;

  {
  printed_dashdash = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )opts___1->type != 0U)) {
      goto while_break;
    }
    has_unset_form = 0;
    if (! opts___1->long_name) {
      goto __Cont;
    }
    if (! show_all___0) {
      if ((unsigned int )opts___1->flags & 520U) {
        goto __Cont;
      }
    }
    if ((unsigned int )opts___1->flags & 4U) {
      goto __Cont;
    }
    {
    if ((unsigned int )opts___1->type == 8U) {
      goto case_8;
    }
    if ((unsigned int )opts___1->type == 7U) {
      goto case_8;
    }
    if ((unsigned int )opts___1->type == 5U) {
      goto case_8;
    }
    if ((unsigned int )opts___1->type == 4U) {
      goto case_8;
    }
    if ((unsigned int )opts___1->type == 12U) {
      goto case_8;
    }
    if ((unsigned int )opts___1->type == 11U) {
      goto case_8;
    }
    if ((unsigned int )opts___1->type == 10U) {
      goto case_8;
    }
    if ((unsigned int )opts___1->type == 14U) {
      goto case_8;
    }
    if ((unsigned int )opts___1->type == 9U) {
      goto case_8;
    }
    goto switch_default;
    case_8: /* CIL Label */
    case_7: /* CIL Label */
    case_5: /* CIL Label */
    case_4: /* CIL Label */
    case_12: /* CIL Label */
    case_11: /* CIL Label */
    case_10: /* CIL Label */
    case_14: /* CIL Label */
    case_9: /* CIL Label */
    has_unset_form = 1;
    goto switch_break;
    switch_default: /* CIL Label */
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    if (! has_unset_form) {
      goto __Cont;
    }
    tmp = skip_prefix((char const   *)opts___1->long_name, (char const   *)"no-",
                      & name___0);
    if (tmp) {
      if (nr_noopts < 0) {
        printf((char const   *)" --%s", name___0);
      }
    } else
    if (nr_noopts >= 0) {
      if (nr_noopts) {
        if (! printed_dashdash) {
          printf((char const   *)" --");
          printed_dashdash = 1;
        }
      }
      printf((char const   *)" --no-%s", opts___1->long_name);
      nr_noopts ++;
    }
    __Cont: /* CIL Label */
    opts___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int show_gitcomp(struct option  const  *opts___1 , int show_all___0 )
{
  struct option  const  *original_opts ;
  int nr_noopts ;
  char const   *suffix___3 ;
  int tmp ;

  {
  original_opts = opts___1;
  nr_noopts = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )opts___1->type != 0U)) {
      goto while_break;
    }
    suffix___3 = (char const   *)"";
    if (! opts___1->long_name) {
      goto __Cont;
    }
    if (! show_all___0) {
      if ((unsigned int )opts___1->flags & 648U) {
        goto __Cont;
      }
    }
    {
    if ((unsigned int )opts___1->type == 1U) {
      goto case_1;
    }
    if ((unsigned int )opts___1->type == 12U) {
      goto case_12;
    }
    if ((unsigned int )opts___1->type == 11U) {
      goto case_12;
    }
    if ((unsigned int )opts___1->type == 10U) {
      goto case_12;
    }
    if ((unsigned int )opts___1->type == 14U) {
      goto case_12;
    }
    if ((unsigned int )opts___1->type == 9U) {
      goto case_12;
    }
    goto switch_default;
    case_1: /* CIL Label */
    goto __Cont;
    case_12: /* CIL Label */
    case_11: /* CIL Label */
    case_10: /* CIL Label */
    case_14: /* CIL Label */
    case_9: /* CIL Label */
    if ((unsigned int )opts___1->flags & 2U) {
      goto switch_break;
    }
    if ((unsigned int )opts___1->flags & 1U) {
      goto switch_break;
    }
    if ((unsigned int )opts___1->flags & 16U) {
      goto switch_break;
    }
    suffix___3 = (char const   *)"=";
    goto switch_break;
    switch_default: /* CIL Label */
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    if ((unsigned int )opts___1->flags & 1024U) {
      suffix___3 = (char const   *)"=";
    }
    tmp = starts_with((char const   *)opts___1->long_name, (char const   *)"no-");
    if (tmp) {
      nr_noopts ++;
    }
    printf((char const   *)" --%s%s", opts___1->long_name, suffix___3);
    __Cont: /* CIL Label */
    opts___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
  show_negated_gitcomp(original_opts, show_all___0, -1);
  show_negated_gitcomp(original_opts, show_all___0, nr_noopts);
  fputc('\n', stdout);
  return (-3);
}
}
static struct option *preprocess_options(struct parse_opt_ctx_t *ctx___0 , struct option  const  *options )
{
  struct option *newopt ;
  int i ;
  int nr___0 ;
  int alias ;
  int nr_aliases ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  int short_name ;
  char const   *long_name ;
  char const   *source ;
  struct strbuf help ;
  int j ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const   *name___0 ;
  int tmp___3 ;
  char *tmp___4 ;

  {
  nr_aliases = 0;
  nr___0 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )(options + nr___0)->type != 0U)) {
      goto while_break;
    }
    if ((unsigned int )(options + nr___0)->type == 3U) {
      nr_aliases ++;
    }
    nr___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! nr_aliases) {
    return ((struct option *)((void *)0));
  }
  tmp = st_mult(sizeof(*newopt), (size_t )(nr___0 + 1));
  tmp___0 = xmalloc(tmp);
  newopt = (struct option *)tmp___0;
  copy_array((void *)newopt, (void const   *)options, (size_t )(nr___0 + 1), sizeof(*newopt) + (sizeof(char [1]) - 1UL));
  tmp___1 = xcalloc((size_t )(3 * (nr_aliases + 1)), sizeof(*(ctx___0->alias_groups)));
  ctx___0->alias_groups = (char const   **)tmp___1;
  alias = 0;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break___0;
    }
    help.alloc = 0UL;
    help.len = 0UL;
    help.buf = strbuf_slopbuf;
    if ((unsigned int )(newopt + i)->type != 3U) {
      goto __Cont;
    }
    short_name = (newopt + i)->short_name;
    long_name = (newopt + i)->long_name;
    source = (char const   *)(newopt + i)->value;
    if (! long_name) {
      BUG_fl((char const   *)"parse-options.c", 677, (char const   *)"An alias must have long option name");
    }
    tmp___2 = _((char const   *)"alias of --%s");
    strbuf_addf(& help, (char const   *)tmp___2, source);
    j = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (j < nr___0)) {
        goto while_break___1;
      }
      name___0 = (char const   *)(options + j)->long_name;
      if (! name___0) {
        goto __Cont___0;
      } else {
        tmp___3 = strcmp(name___0, source);
        if (tmp___3) {
          goto __Cont___0;
        }
      }
      if ((unsigned int )(options + j)->type == 3U) {
        BUG_fl((char const   *)"parse-options.c", 687, (char const   *)"No please. Nested aliases are not supported.");
      }
      memcpy((void *)(newopt + i), (void const   *)(options + j), sizeof(*newopt));
      (newopt + i)->short_name = short_name;
      (newopt + i)->long_name = long_name;
      tmp___4 = strbuf_detach(& help, (size_t *)((void *)0));
      (newopt + i)->help = (char const   *)tmp___4;
      (newopt + i)->flags = (enum parse_opt_option_flags )((unsigned int )(newopt + i)->flags | 128U);
      goto while_break___1;
      __Cont___0: /* CIL Label */
      j ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (j == nr___0) {
      BUG_fl((char const   *)"parse-options.c", 699, (char const   *)"could not find source option \'%s\' of alias \'%s\'",
             source, (newopt + i)->long_name);
    }
    *(ctx___0->alias_groups + alias * 3) = (newopt + i)->long_name;
    *(ctx___0->alias_groups + (alias * 3 + 1)) = (char const   *)(options + j)->long_name;
    *(ctx___0->alias_groups + (alias * 3 + 2)) = (char const   *)((void *)0);
    alias ++;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (newopt);
}
}
static void free_preprocessed_options(struct option *options )
{
  int i ;

  {
  if (! options) {
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )(options + i)->type != 0U)) {
      goto while_break;
    }
    if ((unsigned int )(options + i)->flags & 128U) {
      free((void *)(options + i)->help);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)options);
  return;
}
}
static enum parse_opt_result usage_with_options_internal(struct parse_opt_ctx_t *ctx___0 ,
                                                         char const   **usagestr ,
                                                         struct option  const  *opts___1 ,
                                                         int full , int err___4 ) ;
enum parse_opt_result parse_options_step(struct parse_opt_ctx_t *ctx___0 , struct option  const  *options ,
                                         char const   **usagestr )
{
  int internal_help ;
  char const   *arg ;
  enum parse_opt_result tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  enum parse_opt_result tmp___6 ;
  enum parse_opt_result tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;
  enum parse_opt_result tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  enum parse_opt_result tmp___13 ;
  int tmp___14 ;
  enum parse_opt_result tmp___15 ;

  {
  internal_help = ! ((unsigned int )ctx___0->flags & 16U);
  ctx___0->opt = (char const   *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ctx___0->argc) {
      goto while_break;
    }
    arg = *(ctx___0->argv + 0);
    if ((unsigned int )ctx___0->flags & 32U) {
      if (ctx___0->argc != ctx___0->total) {
        goto while_break;
      }
    }
    if ((int const   )*arg != 45) {
      goto _L;
    } else
    if (! *(arg + 1)) {
      _L: /* CIL Label */
      tmp = parse_nodash_opt(ctx___0, arg, options);
      if ((int )tmp == 0) {
        goto __Cont;
      }
      if ((unsigned int )ctx___0->flags & 2U) {
        return ((enum parse_opt_result )1);
      }
      tmp___0 = ctx___0->cpidx;
      (ctx___0->cpidx) ++;
      *(ctx___0->out + tmp___0) = *(ctx___0->argv + 0);
      goto __Cont;
    }
    if (internal_help) {
      if (ctx___0->total == 1) {
        tmp___1 = strcmp(arg + 1, (char const   *)"h");
        if (! tmp___1) {
          goto show_usage;
        }
      }
    }
    if (ctx___0->total == 1) {
      tmp___3 = strcmp(arg, (char const   *)"--git-completion-helper");
      if (! tmp___3) {
        tmp___2 = show_gitcomp(options, 0);
        return ((enum parse_opt_result )tmp___2);
      }
    }
    if (ctx___0->total == 1) {
      tmp___5 = strcmp(arg, (char const   *)"--git-completion-helper-all");
      if (! tmp___5) {
        tmp___4 = show_gitcomp(options, 1);
        return ((enum parse_opt_result )tmp___4);
      }
    }
    if ((int const   )*(arg + 1) != 45) {
      ctx___0->opt = arg + 1;
      tmp___6 = parse_short_opt(ctx___0, options);
      {
      if ((int )tmp___6 == -1) {
        goto case_neg_1;
      }
      if ((int )tmp___6 == 2) {
        goto case_2;
      }
      if ((int )tmp___6 == -3) {
        goto case_neg_3;
      }
      if ((int )tmp___6 == -2) {
        goto case_neg_3;
      }
      if ((int )tmp___6 == 1) {
        goto case_neg_3;
      }
      if ((int )tmp___6 == 0) {
        goto case_0;
      }
      goto switch_break;
      case_neg_1: /* CIL Label */
      return ((enum parse_opt_result )-1);
      case_2: /* CIL Label */
      if (ctx___0->opt) {
        check_typos(arg + 1, options);
      }
      if (internal_help) {
        if ((int const   )*(ctx___0->opt) == 104) {
          goto show_usage;
        }
      }
      goto unknown;
      case_neg_3: /* CIL Label */
      case_neg_2: /* CIL Label */
      case_1: /* CIL Label */
      BUG_fl((char const   *)"parse-options.c", 780, (char const   *)"parse_short_opt() cannot return these");
      case_0: /* CIL Label */
      goto switch_break;
      switch_break: /* CIL Label */ ;
      }
      if (ctx___0->opt) {
        check_typos(arg + 1, options);
      }
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! ctx___0->opt) {
          goto while_break___0;
        }
        tmp___7 = parse_short_opt(ctx___0, options);
        {
        if ((int )tmp___7 == -1) {
          goto case_neg_1___0;
        }
        if ((int )tmp___7 == 2) {
          goto case_2___0;
        }
        if ((int )tmp___7 == -2) {
          goto case_neg_2___0;
        }
        if ((int )tmp___7 == -3) {
          goto case_neg_2___0;
        }
        if ((int )tmp___7 == 1) {
          goto case_neg_2___0;
        }
        if ((int )tmp___7 == 0) {
          goto case_0___0;
        }
        goto switch_break___0;
        case_neg_1___0: /* CIL Label */
        return ((enum parse_opt_result )-1);
        case_2___0: /* CIL Label */
        if (internal_help) {
          if ((int const   )*(ctx___0->opt) == 104) {
            goto show_usage;
          }
        }
        tmp___8 = xstrdup(ctx___0->opt - 1);
        *(ctx___0->argv + 0) = (char const   *)tmp___8;
        *((char *)*(ctx___0->argv + 0)) = (char )'-';
        goto unknown;
        case_neg_2___0: /* CIL Label */
        case_neg_3___0: /* CIL Label */
        case_1___0: /* CIL Label */
        BUG_fl((char const   *)"parse-options.c", 805, (char const   *)"parse_short_opt() cannot return these");
        case_0___0: /* CIL Label */
        goto switch_break___0;
        switch_break___0: /* CIL Label */ ;
        }
      }
      while_break___0: /* CIL Label */ ;
      }
      goto __Cont;
    }
    if (! *(arg + 2)) {
      goto _L___0;
    } else {
      tmp___9 = strcmp(arg + 2, (char const   *)"end-of-options");
      if (! tmp___9) {
        _L___0: /* CIL Label */
        if (! ((unsigned int )ctx___0->flags & 1U)) {
          (ctx___0->argc) --;
          (ctx___0->argv) ++;
        }
        goto while_break;
      }
    }
    if (internal_help) {
      tmp___11 = strcmp(arg + 2, (char const   *)"help-all");
      if (! tmp___11) {
        tmp___10 = usage_with_options_internal(ctx___0, usagestr, options, 1, 0);
        return (tmp___10);
      }
    }
    if (internal_help) {
      tmp___12 = strcmp(arg + 2, (char const   *)"help");
      if (! tmp___12) {
        goto show_usage;
      }
    }
    tmp___13 = parse_long_opt___0(ctx___0, arg + 2, options);
    {
    if ((int )tmp___13 == -1) {
      goto case_neg_1___1;
    }
    if ((int )tmp___13 == 2) {
      goto case_2___1;
    }
    if ((int )tmp___13 == -2) {
      goto case_neg_2___1;
    }
    if ((int )tmp___13 == -3) {
      goto case_neg_3___1;
    }
    if ((int )tmp___13 == 1) {
      goto case_neg_3___1;
    }
    if ((int )tmp___13 == 0) {
      goto case_0___1;
    }
    goto switch_break___1;
    case_neg_1___1: /* CIL Label */
    return ((enum parse_opt_result )-1);
    case_2___1: /* CIL Label */
    goto unknown;
    case_neg_2___1: /* CIL Label */
    goto show_usage;
    case_neg_3___1: /* CIL Label */
    case_1___1: /* CIL Label */
    BUG_fl((char const   *)"parse-options.c", 835, (char const   *)"parse_long_opt() cannot return these");
    case_0___1: /* CIL Label */
    goto switch_break___1;
    switch_break___1: /* CIL Label */ ;
    }
    goto __Cont;
    unknown:
    if ((unsigned int )ctx___0->flags & 32U) {
      goto while_break;
    }
    if (! ((unsigned int )ctx___0->flags & 8U)) {
      return ((enum parse_opt_result )2);
    }
    tmp___14 = ctx___0->cpidx;
    (ctx___0->cpidx) ++;
    *(ctx___0->out + tmp___14) = *(ctx___0->argv + 0);
    ctx___0->opt = (char const   *)((void *)0);
    __Cont: /* CIL Label */
    (ctx___0->argc) --;
    (ctx___0->argv) ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((enum parse_opt_result )0);
  show_usage:
  tmp___15 = usage_with_options_internal(ctx___0, usagestr, options, 0, 0);
  return (tmp___15);
}
}
int parse_options_end(struct parse_opt_ctx_t *ctx___0 )
{


  {
  if ((unsigned int )ctx___0->flags & 32U) {
    return (ctx___0->total - ctx___0->argc);
  }
  move_array((void *)(ctx___0->out + ctx___0->cpidx), (void const   *)ctx___0->argv,
             (size_t )ctx___0->argc, sizeof(*(ctx___0->out + ctx___0->cpidx)) + (sizeof(char [1]) - 1UL));
  *(ctx___0->out + (ctx___0->cpidx + ctx___0->argc)) = (char const   *)((void *)0);
  return (ctx___0->cpidx + ctx___0->argc);
}
}
int parse_options(int argc , char const   **argv___0 , char const   *prefix___1 ,
                  struct option  const  *options , char const   **usagestr , enum parse_opt_flags flags___0 )
{
  struct parse_opt_ctx_t ctx___0 ;
  struct option *real_options ;
  enum parse_opt_result tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;

  {
  disallow_abbreviated_options = git_env_bool((char const   *)"GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS",
                                              0);
  memset((void *)(& ctx___0), 0, sizeof(ctx___0));
  real_options = preprocess_options(& ctx___0, options);
  if (real_options) {
    options = (struct option  const  *)real_options;
  }
  parse_options_start_1(& ctx___0, argc, argv___0, prefix___1, options, flags___0);
  tmp = parse_options_step(& ctx___0, options, usagestr);
  {
  if ((int )tmp == -1) {
    goto case_neg_1;
  }
  if ((int )tmp == -2) {
    goto case_neg_1;
  }
  if ((int )tmp == -3) {
    goto case_neg_3;
  }
  if ((int )tmp == 0) {
    goto case_0;
  }
  if ((int )tmp == 1) {
    goto case_0;
  }
  if ((int )tmp == 2) {
    goto case_2;
  }
  goto switch_break;
  case_neg_1: /* CIL Label */
  case_neg_2: /* CIL Label */
  tmp___0 = trace2_cmd_exit_fl((char const   *)"parse-options.c", 884, 129);
  exit(tmp___0);
  case_neg_3: /* CIL Label */
  tmp___1 = trace2_cmd_exit_fl((char const   *)"parse-options.c", 886, 0);
  exit(tmp___1);
  case_0: /* CIL Label */
  case_1: /* CIL Label */
  goto switch_break;
  case_2: /* CIL Label */
  if ((int const   )*(*(ctx___0.argv + 0) + 1) == 45) {
    tmp___2 = _((char const   *)"unknown option `%s\'");
    error((char const   *)tmp___2, *(ctx___0.argv + 0) + 2);
    const_error();
  } else
  if (((int const   )*(ctx___0.opt) & -128) == 0) {
    tmp___3 = _((char const   *)"unknown switch `%c\'");
    error((char const   *)tmp___3, (int const   )*(ctx___0.opt));
    const_error();
  } else {
    tmp___4 = _((char const   *)"unknown non-ascii option in string: `%s\'");
    error((char const   *)tmp___4, *(ctx___0.argv + 0));
    const_error();
  }
  usage_with_options(usagestr, options);
  switch_break: /* CIL Label */ ;
  }
  precompose_argv_prefix(argc, argv___0, (char const   *)((void *)0));
  free_preprocessed_options(real_options);
  free((void *)ctx___0.alias_groups);
  tmp___5 = parse_options_end(& ctx___0);
  return (tmp___5);
}
}
static int usage_argh(struct option  const  *opts___1 , FILE *outfile )
{
  char const   *s___1 ;
  int literal___0 ;
  char *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  if ((unsigned int )opts___1->flags & 64U) {
    tmp___0 = 1;
  } else
  if (! opts___1->argh) {
    tmp___0 = 1;
  } else {
    tmp = strpbrk((char const   *)opts___1->argh, (char const   *)"()<>[]|");
    if (tmp) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  }
  literal___0 = tmp___0;
  if ((unsigned int )opts___1->flags & 1U) {
    if (opts___1->long_name) {
      if (literal___0) {
        s___1 = (char const   *)"[=%s]";
      } else {
        s___1 = (char const   *)"[=<%s>]";
      }
    } else
    if (literal___0) {
      s___1 = (char const   *)"[%s]";
    } else {
      s___1 = (char const   *)"[<%s>]";
    }
  } else
  if (literal___0) {
    s___1 = (char const   *)" %s";
  } else {
    s___1 = (char const   *)" <%s>";
  }
  if (opts___1->argh) {
    tmp___1 = _((char const   *)opts___1->argh);
    tmp___3 = tmp___1;
  } else {
    tmp___2 = _((char const   *)"...");
    tmp___3 = tmp___2;
  }
  tmp___4 = utf8_fprintf(outfile, s___1, tmp___3);
  return (tmp___4);
}
}
static enum parse_opt_result usage_with_options_internal(struct parse_opt_ctx_t *ctx___0 ,
                                                         char const   **usagestr ,
                                                         struct option  const  *opts___1 ,
                                                         int full , int err___4 )
{
  FILE *outfile ;
  struct _IO_FILE *tmp ;
  int need_newline ;
  char const   *usage_prefix ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  size_t usage_len ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  char const   *or_prefix ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const   *usage_continued ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const   *prefix___1 ;
  int saw_empty_line ;
  char const   *str ;
  char const   **tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  struct string_list list___3 ;
  unsigned int j ;
  char const   *line___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  size_t pos ;
  int pad___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;

  {
  if (err___4) {
    tmp = stderr;
  } else {
    tmp = stdout;
  }
  outfile = tmp;
  tmp___0 = _((char const   *)"usage: %s");
  usage_prefix = (char const   *)tmp___0;
  tmp___1 = strlen(usage_prefix);
  tmp___2 = strlen((char const   *)"%s");
  usage_len = tmp___1 - tmp___2;
  tmp___3 = _((char const   *)"   or: %s");
  or_prefix = (char const   *)tmp___3;
  tmp___4 = _((char const   *)"%*s%s");
  usage_continued = (char const   *)tmp___4;
  prefix___1 = usage_prefix;
  saw_empty_line = 0;
  if (! usagestr) {
    return ((enum parse_opt_result )-2);
  }
  if (! err___4) {
    if (ctx___0) {
      if ((unsigned int )ctx___0->flags & 64U) {
        fprintf(outfile, (char const   *)"cat <<\\EOF\n");
      }
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *usagestr) {
      goto while_break;
    }
    tmp___5 = usagestr;
    usagestr ++;
    tmp___6 = _((char const   *)*tmp___5);
    str = (char const   *)tmp___6;
    list___3.items = (struct string_list_item *)0;
    list___3.nr = 0U;
    list___3.alloc = 0U;
    list___3.strdup_strings = 1U;
    list___3.cmp = (int (*)(char const   * , char const   * ))0;
    if (! saw_empty_line) {
      if (! *str) {
        saw_empty_line = 1;
      }
    }
    string_list_split(& list___3, str, '\n', -1);
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < list___3.nr)) {
        goto while_break___0;
      }
      line___0 = (char const   *)(list___3.items + j)->string;
      if (saw_empty_line) {
        if (*line___0) {
          tmp___7 = _((char const   *)"    %s");
          fprintf_ln(outfile, (char const   *)tmp___7, line___0);
        } else {
          goto _L;
        }
      } else
      _L: /* CIL Label */
      if (saw_empty_line) {
        fputc('\n', outfile);
      } else
      if (! j) {
        fprintf_ln(outfile, prefix___1, line___0);
      } else {
        fprintf_ln(outfile, usage_continued, (int )usage_len, "", line___0);
      }
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    string_list_clear(& list___3, 0);
    prefix___1 = or_prefix;
  }
  while_break: /* CIL Label */ ;
  }
  need_newline = 1;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned int )opts___1->type != 0U)) {
      goto while_break___1;
    }
    if ((unsigned int )opts___1->type == 1U) {
      fputc('\n', outfile);
      need_newline = 0;
      if (*(opts___1->help)) {
        tmp___8 = _((char const   *)opts___1->help);
        fprintf(outfile, (char const   *)"%s\n", tmp___8);
      }
      goto __Cont;
    }
    if (! full) {
      if ((unsigned int )opts___1->flags & 8U) {
        goto __Cont;
      }
    }
    if (need_newline) {
      fputc('\n', outfile);
      need_newline = 0;
    }
    tmp___9 = fprintf(outfile, (char const   *)"    ");
    pos = (size_t )tmp___9;
    if (opts___1->short_name) {
      if ((unsigned int )opts___1->flags & 32U) {
        tmp___10 = fprintf(outfile, (char const   *)"%c", opts___1->short_name);
        pos += (size_t )tmp___10;
      } else {
        tmp___11 = fprintf(outfile, (char const   *)"-%c", opts___1->short_name);
        pos += (size_t )tmp___11;
      }
    }
    if (opts___1->long_name) {
      if (opts___1->short_name) {
        tmp___12 = fprintf(outfile, (char const   *)", ");
        pos += (size_t )tmp___12;
      }
    }
    if (opts___1->long_name) {
      tmp___13 = fprintf(outfile, (char const   *)"--%s", opts___1->long_name);
      pos += (size_t )tmp___13;
    }
    if ((unsigned int )opts___1->type == 2U) {
      tmp___14 = _((char const   *)"-NUM");
      tmp___15 = utf8_fprintf(outfile, (char const   *)tmp___14);
      pos += (size_t )tmp___15;
    }
    if ((unsigned int )opts___1->flags & 64U) {
      tmp___16 = usage_argh(opts___1, outfile);
      pos += (size_t )tmp___16;
    } else
    if (! ((unsigned int )opts___1->flags & 2U)) {
      tmp___16 = usage_argh(opts___1, outfile);
      pos += (size_t )tmp___16;
    }
    if (pos <= 24UL) {
      pad___0 = (int )(24UL - pos);
    } else {
      fputc('\n', outfile);
      pad___0 = 24;
    }
    if ((unsigned int )opts___1->type == 3U) {
      fprintf(outfile, (char const   *)"%*s", pad___0 + 2, "");
      tmp___17 = _((char const   *)"alias of --%s");
      fprintf_ln(outfile, (char const   *)tmp___17, (char const   *)opts___1->value);
      goto __Cont;
    }
    tmp___18 = _((char const   *)opts___1->help);
    fprintf(outfile, (char const   *)"%*s%s\n", pad___0 + 2, "", tmp___18);
    __Cont: /* CIL Label */
    opts___1 ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  fputc('\n', outfile);
  if (! err___4) {
    if (ctx___0) {
      if ((unsigned int )ctx___0->flags & 64U) {
        fputs((char const   * __restrict  )"EOF\n", (FILE * __restrict  )outfile);
      }
    }
  }
  return ((enum parse_opt_result )-2);
}
}
void usage_with_options(char const   **usagestr , struct option  const  *opts___1 )  __attribute__((__noreturn__)) ;
void usage_with_options(char const   **usagestr , struct option  const  *opts___1 )
{
  int tmp ;

  {
  usage_with_options_internal((struct parse_opt_ctx_t *)((void *)0), usagestr, opts___1,
                              0, 1);
  tmp = trace2_cmd_exit_fl((char const   *)"parse-options.c", 1072, 129);
  exit(tmp);
}
}
void usage_msg_opt(char const   *msg___5 , char const   **usagestr , struct option  const  *options )  __attribute__((__noreturn__)) ;
void usage_msg_opt(char const   *msg___5 , char const   **usagestr , struct option  const  *options )
{


  {
  die_message((char const   *)"%s\n", msg___5);
  usage_with_options(usagestr, options);
}
}
void *patch_delta(void const   *src_buf , unsigned long src_size , void const   *delta_buf ,
                  unsigned long delta_size , unsigned long *dst_size )
{
  unsigned char const   *data ;
  unsigned char const   *top ;
  unsigned char *dst_buf ;
  unsigned char *out ;
  unsigned char cmd ;
  unsigned long size ;
  void *tmp ;
  unsigned char const   *tmp___0 ;
  unsigned long cp_off ;
  unsigned long cp_size ;
  unsigned char const   *tmp___1 ;
  unsigned char const   *tmp___2 ;
  unsigned char const   *tmp___3 ;
  unsigned char const   *tmp___4 ;
  unsigned char const   *tmp___5 ;
  unsigned char const   *tmp___6 ;
  unsigned char const   *tmp___7 ;

  {
  if (delta_size < 4UL) {
    return ((void *)0);
  }
  data = (unsigned char const   *)delta_buf;
  top = (unsigned char const   *)delta_buf + delta_size;
  size = get_delta_hdr_size(& data, top);
  if (size != src_size) {
    return ((void *)0);
  }
  size = get_delta_hdr_size(& data, top);
  tmp = xmallocz(size);
  dst_buf = (unsigned char *)tmp;
  out = dst_buf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )data < (unsigned long )top)) {
      goto while_break;
    }
    tmp___0 = data;
    data ++;
    cmd = (unsigned char )*tmp___0;
    if ((int )cmd & 0x80) {
      cp_off = 0UL;
      cp_size = 0UL;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if ((int )cmd & 0x01) {
          if ((unsigned long )data >= (unsigned long )top) {
            goto _L;
          }
          tmp___1 = data;
          data ++;
          cp_off |= (unsigned long )((unsigned int )*tmp___1);
        }
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if ((int )cmd & 0x02) {
          if ((unsigned long )data >= (unsigned long )top) {
            goto _L;
          }
          tmp___2 = data;
          data ++;
          cp_off |= (unsigned long )((unsigned int )*tmp___2 << 8);
        }
        goto while_break___1;
      }
      while_break___1: /* CIL Label */ ;
      }
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if ((int )cmd & 0x04) {
          if ((unsigned long )data >= (unsigned long )top) {
            goto _L;
          }
          tmp___3 = data;
          data ++;
          cp_off |= (unsigned long )((unsigned int )*tmp___3 << 16);
        }
        goto while_break___2;
      }
      while_break___2: /* CIL Label */ ;
      }
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if ((int )cmd & 0x08) {
          if ((unsigned long )data >= (unsigned long )top) {
            goto _L;
          }
          tmp___4 = data;
          data ++;
          cp_off |= (unsigned long )((unsigned int )*tmp___4 << 24);
        }
        goto while_break___3;
      }
      while_break___3: /* CIL Label */ ;
      }
      {
      while (1) {
        while_continue___4: /* CIL Label */ ;
        if ((int )cmd & 0x10) {
          if ((unsigned long )data >= (unsigned long )top) {
            goto _L;
          }
          tmp___5 = data;
          data ++;
          cp_size |= (unsigned long )((unsigned int )*tmp___5);
        }
        goto while_break___4;
      }
      while_break___4: /* CIL Label */ ;
      }
      {
      while (1) {
        while_continue___5: /* CIL Label */ ;
        if ((int )cmd & 0x20) {
          if ((unsigned long )data >= (unsigned long )top) {
            goto _L;
          }
          tmp___6 = data;
          data ++;
          cp_size |= (unsigned long )((unsigned int )*tmp___6 << 8);
        }
        goto while_break___5;
      }
      while_break___5: /* CIL Label */ ;
      }
      {
      while (1) {
        while_continue___6: /* CIL Label */ ;
        if ((int )cmd & 0x40) {
          if ((unsigned long )data >= (unsigned long )top) {
            goto _L;
          }
          tmp___7 = data;
          data ++;
          cp_size |= (unsigned long )((unsigned int )*tmp___7 << 16);
        }
        goto while_break___6;
      }
      while_break___6: /* CIL Label */ ;
      }
      if (cp_size == 0UL) {
        cp_size = 65536UL;
      }
      if (cp_size > (18446744073709551615UL >> (8UL * sizeof(uintmax_t ) - 8UL * sizeof(cp_off))) - cp_off) {
        goto _L;
      } else
      if (cp_off + cp_size > src_size) {
        goto _L;
      } else
      if (cp_size > size) {
        goto _L;
      }
      memcpy((void *)out, (void const   *)((char *)src_buf + cp_off), cp_size);
      out += cp_size;
      size -= cp_size;
    } else
    if (cmd) {
      if ((unsigned long )cmd > size) {
        goto _L;
      } else
      if ((long )cmd > top - data) {
        goto _L;
      }
      memcpy((void *)out, (void const   *)data, (size_t )cmd);
      out += (int )cmd;
      data += (int )cmd;
      size -= (unsigned long )cmd;
    } else {
      error((char const   *)"unexpected delta opcode 0");
      const_error();
      goto bad;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned long )data != (unsigned long )top) {
    goto _L;
  } else
  if (size != 0UL) {
    _L: /* CIL Label */
    bad_length:
    error((char const   *)"delta replay has gone wild");
    const_error();
    bad:
    free((void *)dst_buf);
    return ((void *)0);
  }
  *dst_size = (unsigned long )(out - dst_buf);
  return ((void *)dst_buf);
}
}
static double const   __ac_HASH_UPPER___65  =    (double const   )0.77;
__inline static void kh_resize_oid_set___65(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___65(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___65 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___65 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___65(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___65(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___65(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___65(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___65(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___65(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___65 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___65 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___65(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___65(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___65(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___65(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___65(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___65(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___65 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___65 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___65(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___65(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___65(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___65(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
int commit_patch_id(struct commit *commit , struct diff_options *options , struct object_id *oid ,
                    int diff_header_only , int stable ) ;
int init_patch_ids(struct repository *r , struct patch_ids *ids ) ;
int free_patch_ids(struct patch_ids *ids ) ;
struct patch_id *add_commit_patch_id(struct commit *commit , struct patch_ids *ids ) ;
int has_commit_patch_id(struct commit *commit , struct patch_ids *ids ) ;
struct patch_id *patch_id_iter_first(struct commit *commit , struct patch_ids *ids ) ;
struct patch_id *patch_id_iter_next(struct patch_id *cur , struct patch_ids *ids ) ;
static int patch_id_defined(struct commit *commit )
{
  int tmp ;

  {
  if (! commit->parents) {
    tmp = 1;
  } else
  if (! (commit->parents)->next) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
int commit_patch_id(struct commit *commit , struct diff_options *options , struct object_id *oid ,
                    int diff_header_only , int stable )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = patch_id_defined(commit);
  if (! tmp) {
    return (-1);
  }
  if (commit->parents) {
    diff_tree_oid((struct object_id  const  *)(& ((commit->parents)->item)->object.oid),
                  (struct object_id  const  *)(& commit->object.oid), (char const   *)"",
                  options);
  } else {
    diff_root_tree_oid((struct object_id  const  *)(& commit->object.oid), (char const   *)"",
                       options);
  }
  diffcore_std(options);
  tmp___0 = diff_flush_patch_id(options, oid, diff_header_only, stable);
  return (tmp___0);
}
}
static int patch_id_neq(void const   *cmpfn_data , struct hashmap_entry  const  *eptr ,
                        struct hashmap_entry  const  *entry_or_key , void const   *unused_keydata )
{
  struct diff_options *opt___0 ;
  struct patch_id *a ;
  struct patch_id *b___0 ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  opt___0 = (struct diff_options *)((void *)cmpfn_data);
  a = (struct patch_id *)((char *)eptr - (unsigned long )(& ((struct patch_id *)0)->ent));
  b___0 = (struct patch_id *)((char *)entry_or_key - (unsigned long )(& ((struct patch_id *)0)->ent));
  tmp___1 = is_null_oid((struct object_id  const  *)(& a->patch_id));
  if (tmp___1) {
    tmp___2 = commit_patch_id(a->commit, opt___0, & a->patch_id, 0, 0);
    if (tmp___2) {
      tmp = oid_to_hex((struct object_id  const  *)(& (a->commit)->object.oid));
      error((char const   *)"Could not get patch ID for %s", tmp);
      tmp___0 = const_error();
      return (tmp___0);
    }
  }
  tmp___5 = is_null_oid((struct object_id  const  *)(& b___0->patch_id));
  if (tmp___5) {
    tmp___6 = commit_patch_id(b___0->commit, opt___0, & b___0->patch_id, 0, 0);
    if (tmp___6) {
      tmp___3 = oid_to_hex((struct object_id  const  *)(& (b___0->commit)->object.oid));
      error((char const   *)"Could not get patch ID for %s", tmp___3);
      tmp___4 = const_error();
      return (tmp___4);
    }
  }
  tmp___7 = oideq((struct object_id  const  *)(& a->patch_id), (struct object_id  const  *)(& b___0->patch_id));
  if (tmp___7) {
    tmp___8 = 0;
  } else {
    tmp___8 = 1;
  }
  return (tmp___8);
}
}
int init_patch_ids(struct repository *r , struct patch_ids *ids )
{


  {
  memset((void *)ids, 0, sizeof(*ids));
  repo_diff_setup(r, & ids->diffopts);
  ids->diffopts.detect_rename = 0;
  ids->diffopts.flags.recursive = 1U;
  diff_setup_done(& ids->diffopts);
  hashmap_init(& ids->patches, & patch_id_neq, (void const   *)(& ids->diffopts),
               (size_t )256);
  return (0);
}
}
int free_patch_ids(struct patch_ids *ids )
{


  {
  hashmap_clear_(& ids->patches, (ssize_t )((unsigned long )(& ((struct patch_id *)0)->ent)));
  return (0);
}
}
static int init_patch_id_entry(struct patch_id *patch , struct commit *commit , struct patch_ids *ids )
{
  struct object_id header_only_patch_id ;
  int tmp ;
  unsigned int tmp___0 ;

  {
  patch->commit = commit;
  tmp = commit_patch_id(commit, & ids->diffopts, & header_only_patch_id, 1, 0);
  if (tmp) {
    return (-1);
  }
  tmp___0 = oidhash((struct object_id  const  *)(& header_only_patch_id));
  hashmap_entry_init(& patch->ent, tmp___0);
  return (0);
}
}
struct patch_id *patch_id_iter_first(struct commit *commit , struct patch_ids *ids )
{
  struct patch_id patch ;
  int tmp ;
  int tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;

  {
  tmp = patch_id_defined(commit);
  if (! tmp) {
    return ((struct patch_id *)((void *)0));
  }
  memset((void *)(& patch), 0, sizeof(patch));
  tmp___0 = init_patch_id_entry(& patch, commit, ids);
  if (tmp___0) {
    return ((struct patch_id *)((void *)0));
  }
  tmp___1 = hashmap_get((struct hashmap  const  *)(& ids->patches), (struct hashmap_entry  const  *)(& patch.ent),
                        (void const   *)((void *)0));
  tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct patch_id *)0)->ent));
  return ((struct patch_id *)tmp___2);
}
}
struct patch_id *patch_id_iter_next(struct patch_id *cur , struct patch_ids *ids )
{
  struct hashmap_entry *tmp ;
  void *tmp___0 ;

  {
  tmp = hashmap_get_next((struct hashmap  const  *)(& ids->patches), (struct hashmap_entry  const  *)(& cur->ent));
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct patch_id *)0)->ent));
  return ((struct patch_id *)tmp___0);
}
}
int has_commit_patch_id(struct commit *commit , struct patch_ids *ids )
{
  struct patch_id *tmp ;
  int tmp___0 ;

  {
  tmp = patch_id_iter_first(commit, ids);
  if (tmp) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
struct patch_id *add_commit_patch_id(struct commit *commit , struct patch_ids *ids )
{
  struct patch_id *key___1 ;
  int tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  tmp = patch_id_defined(commit);
  if (! tmp) {
    return ((struct patch_id *)((void *)0));
  }
  tmp___0 = xcalloc((size_t )1, sizeof(*key___1));
  key___1 = (struct patch_id *)tmp___0;
  tmp___1 = init_patch_id_entry(key___1, commit, ids);
  if (tmp___1) {
    free((void *)key___1);
    return ((struct patch_id *)((void *)0));
  }
  hashmap_add(& ids->patches, & key___1->ent);
  return (key___1);
}
}
static double const   __ac_HASH_UPPER___66  =    (double const   )0.77;
__inline static void kh_resize_oid_set___66(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___66(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___66 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___66 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___66(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___66(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___66(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___66(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___66(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___66(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___66 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___66 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___66(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___66(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___66(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___66(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___66(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___66(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___66 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___66 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___66(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___66(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___66(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___66(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___49(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___49(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___66 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___66 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___49(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___49(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___49(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___49(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int get_st_mode_bits(char const   *path___6 , int *mode___1 )
{
  struct stat st ;
  int tmp ;

  {
  tmp = lstat(path___6, & st);
  if (tmp < 0) {
    return (-1);
  }
  *mode___1 = (int )st.st_mode;
  return (0);
}
}
static char bad_path[11]  =
  {      (char )'/',      (char )'b',      (char )'a',      (char )'d',
        (char )'-',      (char )'p',      (char )'a',      (char )'t',
        (char )'h',      (char )'/',      (char )'\000'};
static struct strbuf *get_pathname(void) ;
static struct strbuf pathname_array[4]  = {      {0UL, 0UL, strbuf_slopbuf},
        {0UL, 0UL, strbuf_slopbuf},
        {0UL, 0UL, strbuf_slopbuf},
        {0UL, 0UL, strbuf_slopbuf}};
static int index___1  ;
static struct strbuf *get_pathname(void)
{
  struct strbuf *sb___6 ;

  {
  sb___6 = & pathname_array[index___1];
  index___1 = (int )((unsigned long )(index___1 + 1) % (sizeof(pathname_array) / sizeof(pathname_array[0]) + (sizeof(char [1]) - 1UL)));
  strbuf_setlen(sb___6, (size_t )0);
  return (sb___6);
}
}
static char const   *cleanup_path(char const   *path___6 )
{
  int tmp ;

  {
  tmp = skip_prefix(path___6, (char const   *)"./", & path___6);
  if (tmp) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((int const   )*path___6 == 47)) {
        goto while_break;
      }
      path___6 ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  return (path___6);
}
}
static void strbuf_cleanup_path(struct strbuf *sb___6 )
{
  char const   *path___6 ;
  char const   *tmp ;

  {
  tmp = cleanup_path((char const   *)sb___6->buf);
  path___6 = tmp;
  if ((unsigned long )path___6 > (unsigned long )sb___6->buf) {
    strbuf_remove(sb___6, (size_t )0, (size_t )(path___6 - (char const   *)sb___6->buf));
  }
  return;
}
}
char *( /* format attribute */  mksnpath)(char *buf___19 , size_t n , char const   *fmt
                                          , ...)
{
  va_list args___0 ;
  unsigned int len___0 ;
  int tmp ;
  char const   *tmp___0 ;

  {
  __builtin_va_start(args___0, fmt);
  tmp = vsnprintf(buf___19, n, fmt, args___0);
  len___0 = (unsigned int )tmp;
  __builtin_va_end(args___0);
  if ((size_t )len___0 >= n) {
    gitstrlcpy(buf___19, (char const   *)(bad_path), n);
    return (buf___19);
  }
  tmp___0 = cleanup_path((char const   *)buf___19);
  return ((char *)tmp___0);
}
}
static int dir_prefix(char const   *buf___19 , char const   *dir )
{
  int len___0 ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = strlen(dir);
  len___0 = (int )tmp;
  tmp___0 = strncmp(buf___19, dir, (size_t )len___0);
  if (tmp___0) {
    tmp___2 = 0;
  } else {
    tmp___1 = git_is_dir_sep((int )*(buf___19 + len___0));
    if (tmp___1) {
      tmp___2 = 1;
    } else
    if ((int const   )*(buf___19 + len___0) == 0) {
      tmp___2 = 1;
    } else {
      tmp___2 = 0;
    }
  }
  return (tmp___2);
}
}
static int is_dir_file(char const   *buf___19 , char const   *dir , char const   *file___0 )
{
  int len___0 ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp = strlen(dir);
  len___0 = (int )tmp;
  tmp___0 = strncmp(buf___19, dir, (size_t )len___0);
  if (tmp___0) {
    return (0);
  } else {
    tmp___1 = git_is_dir_sep((int )*(buf___19 + len___0));
    if (! tmp___1) {
      return (0);
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = git_is_dir_sep((int )*(buf___19 + len___0));
    if (! tmp___2) {
      goto while_break;
    }
    len___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___3 = strcmp(buf___19 + len___0, file___0);
  if (tmp___3) {
    tmp___4 = 0;
  } else {
    tmp___4 = 1;
  }
  return (tmp___4);
}
}
static void replace_dir(struct strbuf *buf___19 , int len___0 , char const   *newdir )
{
  int newlen ;
  size_t tmp ;
  int need_sep ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = strlen(newdir);
  newlen = (int )tmp;
  if (*(buf___19->buf + len___0)) {
    tmp___0 = git_is_dir_sep((int )*(buf___19->buf + len___0));
    if (tmp___0) {
      tmp___2 = 0;
    } else {
      tmp___1 = git_is_dir_sep((int )*(newdir + (newlen - 1)));
      if (tmp___1) {
        tmp___2 = 0;
      } else {
        tmp___2 = 1;
      }
    }
  } else {
    tmp___2 = 0;
  }
  need_sep = tmp___2;
  if (need_sep) {
    len___0 --;
  }
  strbuf_splice(buf___19, (size_t )0, (size_t )len___0, (void const   *)newdir, (size_t )newlen);
  if (need_sep) {
    *(buf___19->buf + newlen) = (char )'/';
  }
  return;
}
}
static struct common_dir common_list[25]  =
  {      {0U, 1U, 1U, (char const   *)"branches"},
        {0U, 1U, 1U, (char const   *)"common"},
        {0U, 1U, 1U, (char const   *)"hooks"},
        {0U, 1U, 1U, (char const   *)"info"},
        {0U, 0U, 0U, (char const   *)"info/sparse-checkout"},
        {1U, 1U, 1U, (char const   *)"logs"},
        {1U, 0U, 0U, (char const   *)"logs/HEAD"},
        {0U, 1U, 0U, (char const   *)"logs/refs/bisect"},
        {0U, 1U, 0U, (char const   *)"logs/refs/rewritten"},
        {0U, 1U, 0U, (char const   *)"logs/refs/worktree"},
        {0U, 1U, 1U, (char const   *)"lost-found"},
        {0U, 1U, 1U, (char const   *)"objects"},
        {0U, 1U, 1U, (char const   *)"refs"},
        {0U, 1U, 0U, (char const   *)"refs/bisect"},
        {0U, 1U, 0U, (char const   *)"refs/rewritten"},
        {0U, 1U, 0U, (char const   *)"refs/worktree"},
        {0U, 1U, 1U, (char const   *)"remotes"},
        {0U, 1U, 1U, (char const   *)"worktrees"},
        {0U, 1U, 1U, (char const   *)"rr-cache"},
        {0U, 1U, 1U, (char const   *)"svn"},
        {0U, 0U, 1U, (char const   *)"config"},
        {1U, 0U, 1U, (char const   *)"gc.pid"},
        {0U, 0U, 1U, (char const   *)"packed-refs"},
        {0U, 0U, 1U, (char const   *)"shallow"},
        {0U, 0U, 0U, (char const   *)((void *)0)}};
static struct trie___0 *make_trie_node(char const   *key___1 , void *value )
{
  struct trie___0 *new_node ;
  void *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*new_node));
  new_node = (struct trie___0 *)tmp;
  tmp___0 = strlen(key___1);
  new_node->len = (int )tmp___0;
  if (new_node->len) {
    tmp___1 = xmalloc((size_t )new_node->len);
    new_node->contents = (char *)tmp___1;
    memcpy((void *)new_node->contents, (void const   *)key___1, (size_t )new_node->len);
  }
  new_node->value = value;
  return (new_node);
}
}
static void *add_to_trie(struct trie___0 *root , char const   *key___1 , void *value )
{
  struct trie___0 *child ;
  void *old ;
  int i ;
  void *tmp ;
  void *tmp___0 ;

  {
  if (! *key___1) {
    old = root->value;
    root->value = value;
    return (old);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < root->len)) {
      goto while_break;
    }
    if ((int )*(root->contents + i) == (int )*(key___1 + i)) {
      goto __Cont;
    }
    tmp = xmalloc(sizeof(*child));
    child = (struct trie___0 *)tmp;
    memcpy((void *)(child->children), (void const   *)(root->children), sizeof(root->children));
    child->len = (root->len - i) - 1;
    if (child->len) {
      child->contents = xstrndup((char const   *)((root->contents + i) + 1), (size_t )child->len);
    }
    child->value = root->value;
    root->value = (void *)0;
    root->len = i;
    memset((void *)(root->children), 0, sizeof(root->children));
    root->children[(unsigned char )*(root->contents + i)] = child;
    root->children[(unsigned char )*(key___1 + i)] = make_trie_node((key___1 + i) + 1,
                                                                    value);
    return ((void *)0);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (*(key___1 + i)) {
    child = root->children[(unsigned char )*(key___1 + root->len)];
    if (child) {
      tmp___0 = add_to_trie(child, (key___1 + root->len) + 1, value);
      return (tmp___0);
    } else {
      child = make_trie_node((key___1 + root->len) + 1, value);
      root->children[(unsigned char )*(key___1 + root->len)] = child;
      return ((void *)0);
    }
  }
  old = root->value;
  root->value = value;
  return (old);
}
}
static int trie_find(struct trie___0 *root , char const   *key___1 , int (*fn)(char const   *unmatched ,
                                                                               void *value ,
                                                                               void *baton ) ,
                     void *baton )
{
  int i ;
  int result___0 ;
  struct trie___0 *child ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! *key___1) {
    if (root->value) {
      if (! root->len) {
        tmp = (*fn)(key___1, root->value, baton);
        return (tmp);
      } else {
        return (-1);
      }
    } else {
      return (-1);
    }
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < root->len)) {
      goto while_break;
    }
    if ((int const   )*(key___1 + i) == 47) {
      if ((int const   )*(key___1 + (i + 1)) == 47) {
        key___1 ++;
        goto __Cont;
      }
    }
    if ((int )*(root->contents + i) != (int )*(key___1 + i)) {
      return (-1);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  key___1 += i;
  if (! *key___1) {
    if (root->value) {
      tmp___0 = (*fn)(key___1, root->value, baton);
      return (tmp___0);
    } else {
      return (-1);
    }
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if ((int const   )*(key___1 + 0) == 47) {
      if (! ((int const   )*(key___1 + 1) == 47)) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    key___1 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  child = root->children[(unsigned char )*key___1];
  if (child) {
    result___0 = trie_find(child, key___1 + 1, fn, baton);
  } else {
    result___0 = -1;
  }
  if (result___0 >= 0) {
    return (result___0);
  } else
  if ((int const   )*key___1 != 47) {
    if ((int const   )*key___1 != 0) {
      return (result___0);
    }
  }
  if (root->value) {
    tmp___1 = (*fn)(key___1, root->value, baton);
    return (tmp___1);
  } else {
    return (-1);
  }
}
}
static struct trie___0 common_trie  ;
static int common_trie_done_setup  ;
static void init_common_trie(void)
{
  struct common_dir *p___0 ;

  {
  if (common_trie_done_setup) {
    return;
  }
  p___0 = common_list;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0->path) {
      goto while_break;
    }
    add_to_trie(& common_trie, p___0->path, (void *)p___0);
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  common_trie_done_setup = 1;
  return;
}
}
static int check_common(char const   *unmatched , void *value , void *baton )
{
  struct common_dir *dir ;

  {
  dir = (struct common_dir *)value;
  if (dir->is_dir) {
    if ((int const   )*(unmatched + 0) == 0) {
      return ((int )dir->is_common);
    } else
    if ((int const   )*(unmatched + 0) == 47) {
      return ((int )dir->is_common);
    }
  }
  if (! dir->is_dir) {
    if ((int const   )*(unmatched + 0) == 0) {
      return ((int )dir->is_common);
    }
  }
  return (0);
}
}
static void update_common_dir(struct strbuf *buf___19 , int git_dir_len , char const   *common_dir )
{
  char *base ;
  int has_lock_suffix ;
  int tmp ;
  int tmp___0 ;

  {
  base = buf___19->buf + git_dir_len;
  tmp = strbuf_strip_suffix(buf___19, (char const   *)".lock");
  has_lock_suffix = tmp;
  init_common_trie();
  tmp___0 = trie_find(& common_trie, (char const   *)base, & check_common, (void *)0);
  if (tmp___0 > 0) {
    replace_dir(buf___19, git_dir_len, common_dir);
  }
  if (has_lock_suffix) {
    strbuf_addstr(buf___19, (char const   *)".lock");
  }
  return;
}
}
void report_linked_checkout_garbage(void)
{
  struct strbuf sb___6 ;
  struct common_dir  const  *p___0 ;
  int len___0 ;
  char const   *tmp ;
  char const   *path___6 ;
  int tmp___0 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  if (! the_repository->different_commondir) {
    return;
  }
  tmp = get_git_dir();
  strbuf_addf(& sb___6, (char const   *)"%s/", tmp);
  len___0 = (int )sb___6.len;
  p___0 = (struct common_dir  const  *)(common_list);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0->path) {
      goto while_break;
    }
    path___6 = (char const   *)p___0->path;
    if (p___0->ignore_garbage) {
      goto __Cont;
    }
    strbuf_setlen(& sb___6, (size_t )len___0);
    strbuf_addstr(& sb___6, path___6);
    tmp___0 = file_exists((char const   *)sb___6.buf);
    if (tmp___0) {
      (*report_garbage)(4U, (char const   *)sb___6.buf);
    }
    __Cont: /* CIL Label */
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& sb___6);
  return;
}
}
static void adjust_git_path(struct repository  const  *repo , struct strbuf *buf___19 ,
                            int git_dir_len )
{
  char const   *base ;
  size_t tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  base = (char const   *)(buf___19->buf + git_dir_len);
  tmp___4 = is_dir_file(base, (char const   *)"info", (char const   *)"grafts");
  if (tmp___4) {
    tmp = strlen((char const   *)repo->graft_file);
    strbuf_splice(buf___19, (size_t )0, buf___19->len, (void const   *)repo->graft_file,
                  tmp);
  } else {
    tmp___3 = strcmp(base, (char const   *)"index");
    if (tmp___3) {
      tmp___2 = dir_prefix(base, (char const   *)"objects");
      if (tmp___2) {
        replace_dir(buf___19, git_dir_len + 7, (char const   *)((repo->objects)->odb)->path);
      } else
      if (git_hooks_path) {
        tmp___1 = dir_prefix(base, (char const   *)"hooks");
        if (tmp___1) {
          replace_dir(buf___19, git_dir_len + 5, git_hooks_path);
        } else {
          goto _L;
        }
      } else
      _L: /* CIL Label */
      if (repo->different_commondir) {
        update_common_dir(buf___19, git_dir_len, (char const   *)repo->commondir);
      }
    } else {
      tmp___0 = strlen((char const   *)repo->index_file);
      strbuf_splice(buf___19, (size_t )0, buf___19->len, (void const   *)repo->index_file,
                    tmp___0);
    }
  }
  return;
}
}
static void strbuf_worktree_gitdir(struct strbuf *buf___19 , struct repository  const  *repo ,
                                   struct worktree  const  *wt )
{


  {
  if (! wt) {
    strbuf_addstr(buf___19, (char const   *)repo->gitdir);
  } else
  if (! wt->id) {
    strbuf_addstr(buf___19, (char const   *)repo->commondir);
  } else {
    strbuf_git_common_path(buf___19, repo, (char const   *)"worktrees/%s", wt->id);
  }
  return;
}
}
static void do_git_path(struct repository  const  *repo , struct worktree  const  *wt ,
                        struct strbuf *buf___19 , char const   *fmt , va_list args___0 )
{
  int gitdir_len ;
  int tmp ;

  {
  strbuf_worktree_gitdir(buf___19, repo, wt);
  if (buf___19->len) {
    tmp = git_is_dir_sep((int )*(buf___19->buf + (buf___19->len - 1UL)));
    if (! tmp) {
      strbuf_addch(buf___19, '/');
    }
  }
  gitdir_len = (int )buf___19->len;
  strbuf_vaddf(buf___19, fmt, args___0);
  if (! wt) {
    adjust_git_path(repo, buf___19, gitdir_len);
  }
  strbuf_cleanup_path(buf___19);
  return;
}
}
char *( /* format attribute */  repo_git_path)(struct repository  const  *repo , char const   *fmt
                                               , ...)
{
  struct strbuf path___6 ;
  va_list args___0 ;
  char *tmp ;

  {
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  __builtin_va_start(args___0, fmt);
  do_git_path(repo, (struct worktree  const  *)((void *)0), & path___6, fmt, args___0);
  __builtin_va_end(args___0);
  tmp = strbuf_detach(& path___6, (size_t *)((void *)0));
  return (tmp);
}
}
void ( /* format attribute */  strbuf_repo_git_path)(struct strbuf *sb___6 , struct repository  const  *repo ,
                                                     char const   *fmt  , ...)
{
  va_list args___0 ;

  {
  __builtin_va_start(args___0, fmt);
  do_git_path(repo, (struct worktree  const  *)((void *)0), sb___6, fmt, args___0);
  __builtin_va_end(args___0);
  return;
}
}
char *( /* format attribute */  git_path_buf)(struct strbuf *buf___19 , char const   *fmt
                                              , ...)
{
  va_list args___0 ;

  {
  strbuf_setlen(buf___19, (size_t )0);
  __builtin_va_start(args___0, fmt);
  do_git_path((struct repository  const  *)the_repository, (struct worktree  const  *)((void *)0),
              buf___19, fmt, args___0);
  __builtin_va_end(args___0);
  return (buf___19->buf);
}
}
void ( /* format attribute */  strbuf_git_path)(struct strbuf *sb___6 , char const   *fmt
                                                , ...)
{
  va_list args___0 ;

  {
  __builtin_va_start(args___0, fmt);
  do_git_path((struct repository  const  *)the_repository, (struct worktree  const  *)((void *)0),
              sb___6, fmt, args___0);
  __builtin_va_end(args___0);
  return;
}
}
char const   *( /* format attribute */  git_path)(char const   *fmt  , ...)
{
  struct strbuf *pathname ;
  struct strbuf *tmp ;
  va_list args___0 ;

  {
  tmp = get_pathname();
  pathname = tmp;
  __builtin_va_start(args___0, fmt);
  do_git_path((struct repository  const  *)the_repository, (struct worktree  const  *)((void *)0),
              pathname, fmt, args___0);
  __builtin_va_end(args___0);
  return ((char const   *)pathname->buf);
}
}
char *( /* format attribute */  git_pathdup)(char const   *fmt  , ...)
{
  struct strbuf path___6 ;
  va_list args___0 ;
  char *tmp ;

  {
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  __builtin_va_start(args___0, fmt);
  do_git_path((struct repository  const  *)the_repository, (struct worktree  const  *)((void *)0),
              & path___6, fmt, args___0);
  __builtin_va_end(args___0);
  tmp = strbuf_detach(& path___6, (size_t *)((void *)0));
  return (tmp);
}
}
char *( /* format attribute */  mkpathdup)(char const   *fmt  , ...)
{
  struct strbuf sb___6 ;
  va_list args___0 ;
  char *tmp ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  __builtin_va_start(args___0, fmt);
  strbuf_vaddf(& sb___6, fmt, args___0);
  __builtin_va_end(args___0);
  strbuf_cleanup_path(& sb___6);
  tmp = strbuf_detach(& sb___6, (size_t *)((void *)0));
  return (tmp);
}
}
char const   *( /* format attribute */  mkpath)(char const   *fmt  , ...)
{
  va_list args___0 ;
  struct strbuf *pathname ;
  struct strbuf *tmp ;
  char const   *tmp___0 ;

  {
  tmp = get_pathname();
  pathname = tmp;
  __builtin_va_start(args___0, fmt);
  strbuf_vaddf(pathname, fmt, args___0);
  __builtin_va_end(args___0);
  tmp___0 = cleanup_path((char const   *)pathname->buf);
  return (tmp___0);
}
}
char const   *( /* format attribute */  worktree_git_path)(struct worktree  const  *wt ,
                                                           char const   *fmt  , ...)
{
  struct strbuf *pathname ;
  struct strbuf *tmp ;
  va_list args___0 ;

  {
  tmp = get_pathname();
  pathname = tmp;
  __builtin_va_start(args___0, fmt);
  do_git_path((struct repository  const  *)the_repository, wt, pathname, fmt, args___0);
  __builtin_va_end(args___0);
  return ((char const   *)pathname->buf);
}
}
static void do_worktree_path(struct repository  const  *repo , struct strbuf *buf___19 ,
                             char const   *fmt , va_list args___0 )
{
  int tmp ;

  {
  strbuf_addstr(buf___19, (char const   *)repo->worktree);
  if (buf___19->len) {
    tmp = git_is_dir_sep((int )*(buf___19->buf + (buf___19->len - 1UL)));
    if (! tmp) {
      strbuf_addch(buf___19, '/');
    }
  }
  strbuf_vaddf(buf___19, fmt, args___0);
  strbuf_cleanup_path(buf___19);
  return;
}
}
char *( /* format attribute */  repo_worktree_path)(struct repository  const  *repo ,
                                                    char const   *fmt  , ...)
{
  struct strbuf path___6 ;
  va_list args___0 ;
  char *tmp ;

  {
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  if (! repo->worktree) {
    return ((char *)((void *)0));
  }
  __builtin_va_start(args___0, fmt);
  do_worktree_path(repo, & path___6, fmt, args___0);
  __builtin_va_end(args___0);
  tmp = strbuf_detach(& path___6, (size_t *)((void *)0));
  return (tmp);
}
}
void ( /* format attribute */  strbuf_repo_worktree_path)(struct strbuf *sb___6 ,
                                                          struct repository  const  *repo ,
                                                          char const   *fmt  , ...)
{
  va_list args___0 ;

  {
  if (! repo->worktree) {
    return;
  }
  __builtin_va_start(args___0, fmt);
  do_worktree_path(repo, sb___6, fmt, args___0);
  __builtin_va_end(args___0);
  return;
}
}
static int do_submodule_path(struct strbuf *buf___19 , char const   *path___6 , char const   *fmt ,
                             va_list args___0 )
{
  struct strbuf git_submodule_common_dir ;
  struct strbuf git_submodule_dir ;
  int ret___67 ;
  int tmp ;

  {
  git_submodule_common_dir.alloc = 0UL;
  git_submodule_common_dir.len = 0UL;
  git_submodule_common_dir.buf = strbuf_slopbuf;
  git_submodule_dir.alloc = 0UL;
  git_submodule_dir.len = 0UL;
  git_submodule_dir.buf = strbuf_slopbuf;
  ret___67 = submodule_to_gitdir(& git_submodule_dir, path___6);
  if (ret___67) {
    goto cleanup;
  }
  strbuf_complete(& git_submodule_dir, (char )'/');
  strbuf_addbuf(buf___19, (struct strbuf  const  *)(& git_submodule_dir));
  strbuf_vaddf(buf___19, fmt, args___0);
  tmp = get_common_dir_noenv(& git_submodule_common_dir, (char const   *)git_submodule_dir.buf);
  if (tmp) {
    update_common_dir(buf___19, (int )git_submodule_dir.len, (char const   *)git_submodule_common_dir.buf);
  }
  strbuf_cleanup_path(buf___19);
  cleanup:
  strbuf_release(& git_submodule_dir);
  strbuf_release(& git_submodule_common_dir);
  return (ret___67);
}
}
char *( /* format attribute */  git_pathdup_submodule)(char const   *path___6 , char const   *fmt
                                                       , ...)
{
  int err___4 ;
  va_list args___0 ;
  struct strbuf buf___19 ;
  char *tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  __builtin_va_start(args___0, fmt);
  err___4 = do_submodule_path(& buf___19, path___6, fmt, args___0);
  __builtin_va_end(args___0);
  if (err___4) {
    strbuf_release(& buf___19);
    return ((char *)((void *)0));
  }
  tmp = strbuf_detach(& buf___19, (size_t *)((void *)0));
  return (tmp);
}
}
int ( /* format attribute */  strbuf_git_path_submodule)(struct strbuf *buf___19 ,
                                                         char const   *path___6 ,
                                                         char const   *fmt  , ...)
{
  int err___4 ;
  va_list args___0 ;

  {
  __builtin_va_start(args___0, fmt);
  err___4 = do_submodule_path(buf___19, path___6, fmt, args___0);
  __builtin_va_end(args___0);
  return (err___4);
}
}
static void do_git_common_path(struct repository  const  *repo , struct strbuf *buf___19 ,
                               char const   *fmt , va_list args___0 )
{
  int tmp ;

  {
  strbuf_addstr(buf___19, (char const   *)repo->commondir);
  if (buf___19->len) {
    tmp = git_is_dir_sep((int )*(buf___19->buf + (buf___19->len - 1UL)));
    if (! tmp) {
      strbuf_addch(buf___19, '/');
    }
  }
  strbuf_vaddf(buf___19, fmt, args___0);
  strbuf_cleanup_path(buf___19);
  return;
}
}
char const   *( /* format attribute */  git_common_path)(char const   *fmt  , ...)
{
  struct strbuf *pathname ;
  struct strbuf *tmp ;
  va_list args___0 ;

  {
  tmp = get_pathname();
  pathname = tmp;
  __builtin_va_start(args___0, fmt);
  do_git_common_path((struct repository  const  *)the_repository, pathname, fmt, args___0);
  __builtin_va_end(args___0);
  return ((char const   *)pathname->buf);
}
}
void ( /* format attribute */  strbuf_git_common_path)(struct strbuf *sb___6 , struct repository  const  *repo ,
                                                       char const   *fmt  , ...)
{
  va_list args___0 ;

  {
  __builtin_va_start(args___0, fmt);
  do_git_common_path(repo, sb___6, fmt, args___0);
  __builtin_va_end(args___0);
  return;
}
}
int validate_headref(char const   *path___6 )
{
  struct stat st ;
  char buffer___5[256] ;
  char const   *refname ;
  struct object_id oid ;
  int fd ;
  ssize_t len___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = lstat(path___6, & st);
  if (tmp < 0) {
    return (-1);
  }
  if ((st.st_mode & 61440U) == 40960U) {
    len___0 = readlink(path___6, buffer___5, sizeof(buffer___5) - 1UL);
    if (len___0 >= 5L) {
      tmp___0 = memcmp((void const   *)"refs/", (void const   *)(buffer___5), (size_t )5);
      if (! tmp___0) {
        return (0);
      }
    }
    return (-1);
  }
  fd = open(path___6, 00);
  if (fd < 0) {
    return (-1);
  }
  len___0 = read_in_full(fd, (void *)(buffer___5), sizeof(buffer___5) - 1UL);
  close(fd);
  if (len___0 < 0L) {
    return (-1);
  }
  buffer___5[len___0] = (char )'\000';
  tmp___2 = skip_prefix((char const   *)(buffer___5), (char const   *)"ref:", & refname);
  if (tmp___2) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (((int const   )sane_ctype[(unsigned char )*refname] & 1) != 0)) {
        goto while_break;
      }
      refname ++;
    }
    while_break: /* CIL Label */ ;
    }
    tmp___1 = starts_with(refname, (char const   *)"refs/");
    if (tmp___1) {
      return (0);
    }
  }
  tmp___3 = get_oid_hex((char const   *)(buffer___5), & oid);
  if (! tmp___3) {
    return (0);
  }
  return (-1);
}
}
static struct passwd *getpw_str(char const   *username , size_t len___0 )
{
  struct passwd *pw ;
  char *username_z ;
  void *tmp ;

  {
  tmp = xmemdupz((void const   *)username, len___0);
  username_z = (char *)tmp;
  pw = getpwnam((char const   *)username_z);
  free((void *)username_z);
  return (pw);
}
}
char *interpolate_path(char const   *path___6 , int real_home )
{
  struct strbuf user_path___0 ;
  char const   *to_copy ;
  char *tmp ;
  int tmp___0 ;
  char const   *first_slash ;
  char *tmp___1 ;
  char const   *username ;
  size_t username_len ;
  char const   *home ;
  char *tmp___2 ;
  struct passwd *pw ;
  struct passwd *tmp___3 ;
  char *tmp___4 ;

  {
  user_path___0.alloc = 0UL;
  user_path___0.len = 0UL;
  user_path___0.buf = strbuf_slopbuf;
  to_copy = path___6;
  if ((unsigned long )path___6 == (unsigned long )((void *)0)) {
    goto return_null;
  }
  tmp___0 = skip_prefix(path___6, (char const   *)"%(prefix)/", & path___6);
  if (tmp___0) {
    tmp = system_path(path___6);
    return (tmp);
  }
  if ((int const   )*(path___6 + 0) == 126) {
    tmp___1 = strchrnul(path___6, '/');
    first_slash = (char const   *)tmp___1;
    username = path___6 + 1;
    username_len = (size_t )(first_slash - username);
    if (username_len == 0UL) {
      tmp___2 = getenv((char const   *)"HOME");
      home = (char const   *)tmp___2;
      if (! home) {
        goto return_null;
      }
      if (real_home) {
        strbuf_add_real_path(& user_path___0, home);
      } else {
        strbuf_addstr(& user_path___0, home);
      }
    } else {
      tmp___3 = getpw_str(username, username_len);
      pw = tmp___3;
      if (! pw) {
        goto return_null;
      }
      strbuf_addstr(& user_path___0, (char const   *)pw->pw_dir);
    }
    to_copy = first_slash;
  }
  strbuf_addstr(& user_path___0, to_copy);
  tmp___4 = strbuf_detach(& user_path___0, (size_t *)((void *)0));
  return (tmp___4);
  return_null:
  strbuf_release(& user_path___0);
  return ((char *)((void *)0));
}
}
static struct strbuf validated_path  =    {0UL, 0UL, strbuf_slopbuf};
static struct strbuf used_path  =    {0UL, 0UL, strbuf_slopbuf};
static char const   *suffix[5]  = {      (char const   *)"/.git",      (char const   *)"",      (char const   *)".git/.git",      (char const   *)".git",
        (char const   *)((void *)0)};
char const   *enter_repo(char const   *path___6 , int strict___1 )
{
  char const   *gitfile ;
  int len___0 ;
  size_t tmp ;
  int i ;
  char *newpath ;
  char *tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  struct stat st ;
  size_t baselen ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const   *gitfile___0 ;
  char const   *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  if (! path___6) {
    return ((char const   *)((void *)0));
  }
  if (! strict___1) {
    tmp = strlen(path___6);
    len___0 = (int )tmp;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (1 < len___0) {
        if (! ((int const   )*(path___6 + (len___0 - 1)) == 47)) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      len___0 --;
    }
    while_break: /* CIL Label */ ;
    }
    if (4096 <= len___0) {
      return ((char const   *)((void *)0));
    }
    strbuf_setlen(& used_path, (size_t )0);
    strbuf_setlen(& validated_path, (size_t )0);
    strbuf_add(& used_path, (void const   *)path___6, (size_t )len___0);
    strbuf_add(& validated_path, (void const   *)path___6, (size_t )len___0);
    if ((int )*(used_path.buf + 0) == 126) {
      tmp___0 = interpolate_path((char const   *)used_path.buf, 0);
      newpath = tmp___0;
      if (! newpath) {
        return ((char const   *)((void *)0));
      }
      tmp___1 = strlen((char const   *)newpath);
      tmp___2 = strlen((char const   *)newpath);
      strbuf_attach(& used_path, (void *)newpath, tmp___2, tmp___1);
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! suffix[i]) {
        goto while_break___0;
      }
      baselen = used_path.len;
      strbuf_addstr(& used_path, suffix[i]);
      tmp___3 = stat((char const   *)used_path.buf, & st);
      if (! tmp___3) {
        if ((st.st_mode & 61440U) == 32768U) {
          strbuf_addstr(& validated_path, suffix[i]);
          goto while_break___0;
        } else
        if ((st.st_mode & 61440U) == 16384U) {
          tmp___4 = is_git_directory((char const   *)used_path.buf);
          if (tmp___4) {
            strbuf_addstr(& validated_path, suffix[i]);
            goto while_break___0;
          }
        }
      }
      strbuf_setlen(& used_path, baselen);
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! suffix[i]) {
      return ((char const   *)((void *)0));
    }
    gitfile = read_gitfile_gently((char const   *)used_path.buf, (int *)((void *)0));
    if (gitfile) {
      strbuf_setlen(& used_path, (size_t )0);
      strbuf_addstr(& used_path, gitfile);
    }
    tmp___5 = chdir((char const   *)used_path.buf);
    if (tmp___5) {
      return ((char const   *)((void *)0));
    }
    path___6 = (char const   *)validated_path.buf;
  } else {
    tmp___6 = read_gitfile_gently(path___6, (int *)((void *)0));
    gitfile___0 = tmp___6;
    if (gitfile___0) {
      path___6 = gitfile___0;
    }
    tmp___7 = chdir(path___6);
    if (tmp___7) {
      return ((char const   *)((void *)0));
    }
  }
  tmp___8 = is_git_directory((char const   *)".");
  if (tmp___8) {
    set_git_dir((char const   *)".", 0);
    check_repository_format((struct repository_format *)((void *)0));
    return (path___6);
  }
  return ((char const   *)((void *)0));
}
}
static int calc_shared_perm(int mode___1 )
{
  int tweak ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp___0 = get_shared_repository();
  if (tmp___0 < 0) {
    tmp = get_shared_repository();
    tweak = - tmp;
  } else {
    tweak = get_shared_repository();
  }
  if (! (mode___1 & 0200)) {
    tweak &= -147;
  }
  if (mode___1 & 0100) {
    tweak |= (tweak & 0444) >> 2;
  }
  tmp___1 = get_shared_repository();
  if (tmp___1 < 0) {
    mode___1 = (mode___1 & -512) | tweak;
  } else {
    mode___1 |= tweak;
  }
  return (mode___1);
}
}
int adjust_shared_perm(char const   *path___6 )
{
  int old_mode ;
  int new_mode ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = get_shared_repository();
  if (! tmp) {
    return (0);
  }
  tmp___0 = get_st_mode_bits(path___6, & old_mode);
  if (tmp___0 < 0) {
    return (-1);
  }
  new_mode = calc_shared_perm(old_mode);
  if ((old_mode & 0170000) == 0040000) {
    new_mode |= (new_mode & 0444) >> 2;
    new_mode |= 02000;
  }
  if ((old_mode ^ new_mode) & -61441) {
    tmp___1 = chmod(path___6, (__mode_t )(new_mode & -61441));
    if (tmp___1 < 0) {
      return (-2);
    }
  }
  return (0);
}
}
void safe_create_dir(char const   *dir , int share )
{
  int tmp ;
  int *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp___3 = mkdir(dir, (__mode_t )0777);
  if (tmp___3 < 0) {
    tmp___0 = __errno_location();
    if (*tmp___0 != 17) {
      perror(dir);
      tmp = trace2_cmd_exit_fl((char const   *)"path.c", 918, 1);
      exit(tmp);
    }
  } else
  if (share) {
    tmp___2 = adjust_shared_perm(dir);
    if (tmp___2) {
      tmp___1 = _((char const   *)"Could not make %s writable by group");
      die((char const   *)tmp___1, dir);
    }
  }
  return;
}
}
static int have_same_root(char const   *path1 , char const   *path2 )
{
  int is_abs1 ;
  int is_abs2 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  is_abs1 = is_absolute_path(path1);
  is_abs2 = is_absolute_path(path2);
  if (is_abs1) {
    if (is_abs2) {
      tmp = sane_case((int )((unsigned char )*(path1 + 0)), 0x20);
      tmp___0 = sane_case((int )((unsigned char )*(path2 + 0)), 0x20);
      if (tmp == tmp___0) {
        tmp___1 = 1;
      } else {
        goto _L___0;
      }
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  _L: /* CIL Label */
  if (! is_abs1) {
    if (! is_abs2) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
char const   *relative_path(char const   *in , char const   *prefix___1 , struct strbuf *sb___6 )
{
  int in_len ;
  size_t tmp ;
  size_t tmp___0 ;
  int prefix_len___1 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  int in_off ;
  int prefix_off ;
  int i ;
  int j ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;

  {
  if (in) {
    tmp = strlen(in);
    tmp___0 = tmp;
  } else {
    tmp___0 = (size_t )0;
  }
  in_len = (int )tmp___0;
  if (prefix___1) {
    tmp___1 = strlen(prefix___1);
    tmp___2 = tmp___1;
  } else {
    tmp___2 = (size_t )0;
  }
  prefix_len___1 = (int )tmp___2;
  in_off = 0;
  prefix_off = 0;
  i = 0;
  j = 0;
  if (! in_len) {
    return ((char const   *)"./");
  } else
  if (! prefix_len___1) {
    return (in);
  }
  tmp___3 = have_same_root(in, prefix___1);
  if (tmp___3) {
    j = git_has_dos_drive_prefix(in);
    i = j;
  } else {
    return (in);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i < prefix_len___1) {
      if (j < in_len) {
        if (! ((int const   )*(prefix___1 + i) == (int const   )*(in + j))) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___6 = git_is_dir_sep((int )*(prefix___1 + i));
    if (tmp___6) {
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        tmp___4 = git_is_dir_sep((int )*(prefix___1 + i));
        if (! tmp___4) {
          goto while_break___0;
        }
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        tmp___5 = git_is_dir_sep((int )*(in + j));
        if (! tmp___5) {
          goto while_break___1;
        }
        j ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      prefix_off = i;
      in_off = j;
    } else {
      i ++;
      j ++;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (i >= prefix_len___1) {
    if (prefix_off < prefix_len___1) {
      if (j >= in_len) {
        in_off = in_len;
      } else {
        tmp___8 = git_is_dir_sep((int )*(in + j));
        if (tmp___8) {
          {
          while (1) {
            while_continue___2: /* CIL Label */ ;
            tmp___7 = git_is_dir_sep((int )*(in + j));
            if (! tmp___7) {
              goto while_break___2;
            }
            j ++;
          }
          while_break___2: /* CIL Label */ ;
          }
          in_off = j;
        } else {
          i = prefix_off;
        }
      }
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (j >= in_len) {
    if (in_off < in_len) {
      tmp___10 = git_is_dir_sep((int )*(prefix___1 + i));
      if (tmp___10) {
        {
        while (1) {
          while_continue___3: /* CIL Label */ ;
          tmp___9 = git_is_dir_sep((int )*(prefix___1 + i));
          if (! tmp___9) {
            goto while_break___3;
          }
          i ++;
        }
        while_break___3: /* CIL Label */ ;
        }
        in_off = in_len;
      }
    }
  }
  in += in_off;
  in_len -= in_off;
  if (i >= prefix_len___1) {
    if (! in_len) {
      return ((char const   *)"./");
    } else {
      return (in);
    }
  }
  strbuf_setlen(sb___6, (size_t )0);
  strbuf_grow(sb___6, (size_t )in_len);
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! (i < prefix_len___1)) {
      goto while_break___4;
    }
    tmp___12 = git_is_dir_sep((int )*(prefix___1 + i));
    if (tmp___12) {
      strbuf_addstr(sb___6, (char const   *)"../");
      {
      while (1) {
        while_continue___5: /* CIL Label */ ;
        tmp___11 = git_is_dir_sep((int )*(prefix___1 + i));
        if (! tmp___11) {
          goto while_break___5;
        }
        i ++;
      }
      while_break___5: /* CIL Label */ ;
      }
      goto while_continue___4;
    }
    i ++;
  }
  while_break___4: /* CIL Label */ ;
  }
  tmp___13 = git_is_dir_sep((int )*(prefix___1 + (prefix_len___1 - 1)));
  if (! tmp___13) {
    strbuf_addstr(sb___6, (char const   *)"../");
  }
  strbuf_addstr(sb___6, in);
  return ((char const   *)sb___6->buf);
}
}
static struct strbuf buf___7  =    {0UL, 0UL, strbuf_slopbuf};
char const   *remove_leading_path(char const   *in , char const   *prefix___1 )
{
  int i ;
  int j ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  i = 0;
  j = 0;
  if (! prefix___1) {
    return (in);
  } else
  if (! *(prefix___1 + 0)) {
    return (in);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(prefix___1 + i)) {
      goto while_break;
    }
    tmp___2 = git_is_dir_sep((int )*(prefix___1 + i));
    if (tmp___2) {
      tmp = git_is_dir_sep((int )*(in + j));
      if (! tmp) {
        return (in);
      }
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        tmp___0 = git_is_dir_sep((int )*(prefix___1 + i));
        if (! tmp___0) {
          goto while_break___0;
        }
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        tmp___1 = git_is_dir_sep((int )*(in + j));
        if (! tmp___1) {
          goto while_break___1;
        }
        j ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      goto while_continue;
    } else
    if ((int const   )*(in + j) != (int const   )*(prefix___1 + i)) {
      return (in);
    }
    i ++;
    j ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (*(in + j)) {
    tmp___3 = git_is_dir_sep((int )*(prefix___1 + (i - 1)));
    if (! tmp___3) {
      tmp___4 = git_is_dir_sep((int )*(in + j));
      if (! tmp___4) {
        return (in);
      }
    }
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    tmp___5 = git_is_dir_sep((int )*(in + j));
    if (! tmp___5) {
      goto while_break___2;
    }
    j ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  strbuf_setlen(& buf___7, (size_t )0);
  if (! *(in + j)) {
    strbuf_addstr(& buf___7, (char const   *)".");
  } else {
    strbuf_addstr(& buf___7, in + j);
  }
  return ((char const   *)buf___7.buf);
}
}
int normalize_path_copy_len(char *dst , char const   *src , int *prefix_len___1 )
{
  char *dst0 ;
  char const   *end ;
  int tmp ;
  char c___0 ;
  char const   *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  char c___1 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char *tmp___8 ;
  char const   *tmp___9 ;
  int tmp___10 ;
  char *tmp___11 ;
  char const   *tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;

  {
  tmp = git_offset_1st_component(src);
  end = src + tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )src < (unsigned long )end)) {
      goto while_break;
    }
    tmp___0 = src;
    src ++;
    c___0 = (char )*tmp___0;
    tmp___1 = git_is_dir_sep((int )c___0);
    if (tmp___1) {
      c___0 = (char )'/';
    }
    tmp___2 = dst;
    dst ++;
    *tmp___2 = c___0;
  }
  while_break: /* CIL Label */ ;
  }
  dst0 = dst;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___3 = git_is_dir_sep((int )*src);
    if (! tmp___3) {
      goto while_break___0;
    }
    src ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    c___1 = (char )*src;
    if ((int )c___1 == 46) {
      if (! *(src + 1)) {
        src ++;
      } else {
        tmp___7 = git_is_dir_sep((int )*(src + 1));
        if (tmp___7) {
          src += 2;
          {
          while (1) {
            while_continue___2: /* CIL Label */ ;
            tmp___4 = git_is_dir_sep((int )*src);
            if (! tmp___4) {
              goto while_break___2;
            }
            src ++;
          }
          while_break___2: /* CIL Label */ ;
          }
          goto __Cont;
        } else
        if ((int const   )*(src + 1) == 46) {
          if (! *(src + 2)) {
            src += 2;
            goto up_one;
          } else {
            tmp___6 = git_is_dir_sep((int )*(src + 2));
            if (tmp___6) {
              src += 3;
              {
              while (1) {
                while_continue___3: /* CIL Label */ ;
                tmp___5 = git_is_dir_sep((int )*src);
                if (! tmp___5) {
                  goto while_break___3;
                }
                src ++;
              }
              while_break___3: /* CIL Label */ ;
              }
              goto up_one;
            }
          }
        }
      }
    }
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      tmp___9 = src;
      src ++;
      c___1 = (char )*tmp___9;
      if ((int )c___1 != 0) {
        tmp___10 = git_is_dir_sep((int )c___1);
        if (tmp___10) {
          goto while_break___4;
        }
      } else {
        goto while_break___4;
      }
      tmp___8 = dst;
      dst ++;
      *tmp___8 = c___1;
    }
    while_break___4: /* CIL Label */ ;
    }
    tmp___14 = git_is_dir_sep((int )c___1);
    if (tmp___14) {
      tmp___11 = dst;
      dst ++;
      *tmp___11 = (char )'/';
      {
      while (1) {
        while_continue___5: /* CIL Label */ ;
        tmp___13 = git_is_dir_sep((int )c___1);
        if (! tmp___13) {
          goto while_break___5;
        }
        tmp___12 = src;
        src ++;
        c___1 = (char )*tmp___12;
      }
      while_break___5: /* CIL Label */ ;
      }
      src --;
    } else
    if (! c___1) {
      goto while_break___1;
    }
    goto __Cont;
    up_one:
    dst --;
    if ((unsigned long )dst <= (unsigned long )dst0) {
      return (-1);
    }
    {
    while (1) {
      while_continue___6: /* CIL Label */ ;
      if ((unsigned long )dst0 < (unsigned long )dst) {
        if (! ((int )*(dst + -1) != 47)) {
          goto while_break___6;
        }
      } else {
        goto while_break___6;
      }
      dst --;
    }
    while_break___6: /* CIL Label */ ;
    }
    if (prefix_len___1) {
      if ((long )*prefix_len___1 > dst - dst0) {
        *prefix_len___1 = (int )(dst - dst0);
      }
    }
    __Cont: /* CIL Label */ ;
  }
  while_break___1: /* CIL Label */ ;
  }
  *dst = (char )'\000';
  return (0);
}
}
int normalize_path_copy(char *dst , char const   *src )
{
  int tmp ;

  {
  tmp = normalize_path_copy_len(dst, src, (int *)((void *)0));
  return (tmp);
}
}
int longest_ancestor_length(char const   *path___6 , struct string_list *prefixes___0 )
{
  int i ;
  int max_len ;
  int tmp ;
  char const   *ceil ;
  int len___0 ;
  size_t tmp___0 ;
  int tmp___1 ;

  {
  max_len = -1;
  tmp = strcmp(path___6, (char const   *)"/");
  if (! tmp) {
    return (-1);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < prefixes___0->nr)) {
      goto while_break;
    }
    ceil = (char const   *)(prefixes___0->items + i)->string;
    tmp___0 = strlen(ceil);
    len___0 = (int )tmp___0;
    if (len___0 == 1) {
      if ((int const   )*(ceil + 0) == 47) {
        len___0 = 0;
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      tmp___1 = strncmp(path___6, ceil, (size_t )len___0);
      if (tmp___1) {
        goto __Cont;
      } else
      if (! ((int const   )*(path___6 + len___0) == 47)) {
        goto __Cont;
      }
    }
    if (len___0 > max_len) {
      max_len = len___0;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (max_len);
}
}
__inline static int chomp_trailing_dir_sep(char const   *path___6 , int len___0 )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (len___0) {
      tmp = git_is_dir_sep((int )*(path___6 + (len___0 - 1)));
      if (! tmp) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    len___0 --;
  }
  while_break: /* CIL Label */ ;
  }
  return (len___0);
}
}
static ssize_t stripped_path_suffix_offset(char const   *path___6 , char const   *suffix___3 )
{
  int path_len ;
  size_t tmp ;
  int suffix_len ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp = strlen(path___6);
  path_len = (int )tmp;
  tmp___0 = strlen(suffix___3);
  suffix_len = (int )tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! suffix_len) {
      goto while_break;
    }
    if (! path_len) {
      return ((ssize_t )-1);
    }
    tmp___2 = git_is_dir_sep((int )*(path___6 + (path_len - 1)));
    if (tmp___2) {
      tmp___1 = git_is_dir_sep((int )*(suffix___3 + (suffix_len - 1)));
      if (! tmp___1) {
        return ((ssize_t )-1);
      }
      path_len = chomp_trailing_dir_sep(path___6, path_len);
      suffix_len = chomp_trailing_dir_sep(suffix___3, suffix_len);
    } else {
      path_len --;
      suffix_len --;
      if ((int const   )*(path___6 + path_len) != (int const   )*(suffix___3 + suffix_len)) {
        return ((ssize_t )-1);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (path_len) {
    tmp___3 = git_is_dir_sep((int )*(path___6 + (path_len - 1)));
    if (! tmp___3) {
      return ((ssize_t )-1);
    }
  }
  tmp___4 = chomp_trailing_dir_sep(path___6, path_len);
  return ((ssize_t )tmp___4);
}
}
int ends_with_path_components(char const   *path___6 , char const   *components )
{
  ssize_t tmp ;

  {
  tmp = stripped_path_suffix_offset(path___6, components);
  return (tmp != -1L);
}
}
char *strip_path_suffix(char const   *path___6 , char const   *suffix___3 )
{
  ssize_t offset___2 ;
  ssize_t tmp ;
  char *tmp___0 ;
  char *tmp___1 ;

  {
  tmp = stripped_path_suffix_offset(path___6, suffix___3);
  offset___2 = tmp;
  if (offset___2 == -1L) {
    tmp___1 = (char *)((void *)0);
  } else {
    tmp___0 = xstrndup(path___6, (size_t )offset___2);
    tmp___1 = tmp___0;
  }
  return (tmp___1);
}
}
int daemon_avoid_alias(char const   *p___0 )
{
  int sl ;
  int ndot ;
  char ch___0 ;
  char const   *tmp ;

  {
  if (! p___0) {
    return (-1);
  } else
  if ((int const   )*p___0 != 47) {
    if ((int const   )*p___0 != 126) {
      return (-1);
    }
  }
  sl = 1;
  ndot = 0;
  p___0 ++;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = p___0;
    p___0 ++;
    ch___0 = (char )*tmp;
    if (sl) {
      if ((int )ch___0 == 46) {
        ndot ++;
      } else
      if ((int )ch___0 == 47) {
        if (ndot < 3) {
          return (-1);
        }
        ndot = 0;
      } else
      if ((int )ch___0 == 0) {
        if (0 < ndot) {
          if (ndot < 3) {
            return (-1);
          }
        }
        return (0);
      } else {
        ndot = 0;
        sl = ndot;
      }
    } else
    if ((int )ch___0 == 0) {
      return (0);
    } else
    if ((int )ch___0 == 47) {
      sl = 1;
      ndot = 0;
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
int is_ntfs_dotgit(char const   *name___0 )
{
  char c___0 ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  char const   *tmp___5 ;
  char const   *tmp___6 ;
  char const   *tmp___7 ;

  {
  tmp = name___0;
  name___0 ++;
  c___0 = (char )*tmp;
  if ((int )c___0 == 46) {
    tmp___0 = name___0;
    name___0 ++;
    c___0 = (char )*tmp___0;
    if ((int )c___0 != 103) {
      if ((int )c___0 != 71) {
        return (0);
      } else {
        goto _L___0;
      }
    } else {
      _L___0: /* CIL Label */
      tmp___1 = name___0;
      name___0 ++;
      c___0 = (char )*tmp___1;
      if ((int )c___0 != 105) {
        if ((int )c___0 != 73) {
          return (0);
        } else {
          goto _L;
        }
      } else {
        _L: /* CIL Label */
        tmp___2 = name___0;
        name___0 ++;
        c___0 = (char )*tmp___2;
        if ((int )c___0 != 116) {
          if ((int )c___0 != 84) {
            return (0);
          }
        }
      }
    }
  } else
  if ((int )c___0 == 103) {
    goto _L___3;
  } else
  if ((int )c___0 == 71) {
    _L___3: /* CIL Label */
    tmp___3 = name___0;
    name___0 ++;
    c___0 = (char )*tmp___3;
    if ((int )c___0 != 105) {
      if ((int )c___0 != 73) {
        return (0);
      } else {
        goto _L___2;
      }
    } else {
      _L___2: /* CIL Label */
      tmp___4 = name___0;
      name___0 ++;
      c___0 = (char )*tmp___4;
      if ((int )c___0 != 116) {
        if ((int )c___0 != 84) {
          return (0);
        } else {
          goto _L___1;
        }
      } else {
        _L___1: /* CIL Label */
        tmp___5 = name___0;
        name___0 ++;
        if ((int const   )*tmp___5 != 126) {
          return (0);
        } else {
          tmp___6 = name___0;
          name___0 ++;
          if ((int const   )*tmp___6 != 49) {
            return (0);
          }
        }
      }
    }
  } else {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___7 = name___0;
    name___0 ++;
    c___0 = (char )*tmp___7;
    if (! c___0) {
      return (1);
    } else
    if ((int )c___0 == 92) {
      return (1);
    } else
    if ((int )c___0 == 47) {
      return (1);
    } else
    if ((int )c___0 == 58) {
      return (1);
    }
    if ((int )c___0 != 46) {
      if ((int )c___0 != 32) {
        return (0);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int is_ntfs_dot_generic(char const   *name___0 , char const   *dotgit_name ,
                               size_t len___0 , char const   *dotgit_ntfs_shortname_prefix )
{
  int saw_tilde ;
  size_t i ;
  char c___0 ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if ((int const   )*(name___0 + 0) == 46) {
    tmp___0 = strncasecmp(name___0 + 1, dotgit_name, len___0);
    if (! tmp___0) {
      i = len___0 + 1UL;
      only_spaces_and_periods:
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        tmp = i;
        i ++;
        c___0 = (char )*(name___0 + tmp);
        if (! c___0) {
          return (1);
        } else
        if ((int )c___0 == 58) {
          return (1);
        }
        if ((int )c___0 != 32) {
          if ((int )c___0 != 46) {
            return (0);
          }
        }
      }
      while_break: /* CIL Label */ ;
      }
    }
  }
  tmp___1 = strncasecmp(name___0, dotgit_name, (size_t )6);
  if (! tmp___1) {
    if ((int const   )*(name___0 + 6) == 126) {
      if ((int const   )*(name___0 + 7) >= 49) {
        if ((int const   )*(name___0 + 7) <= 52) {
          i = (size_t )8;
          goto only_spaces_and_periods;
        }
      }
    }
  }
  i = (size_t )0;
  saw_tilde = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < 8UL)) {
      goto while_break___0;
    }
    if ((int const   )*(name___0 + i) == 0) {
      return (0);
    } else
    if (saw_tilde) {
      if ((int const   )*(name___0 + i) < 48) {
        return (0);
      } else
      if ((int const   )*(name___0 + i) > 57) {
        return (0);
      }
    } else
    if ((int const   )*(name___0 + i) == 126) {
      i ++;
      if ((int const   )*(name___0 + i) < 49) {
        return (0);
      } else
      if ((int const   )*(name___0 + i) > 57) {
        return (0);
      }
      saw_tilde = 1;
    } else
    if (i >= 6UL) {
      return (0);
    } else
    if ((int const   )*(name___0 + i) & 128) {
      return (0);
    } else {
      tmp___2 = sane_case((int )((unsigned char )*(name___0 + i)), 0x20);
      if (tmp___2 != (int )*(dotgit_ntfs_shortname_prefix + i)) {
        return (0);
      }
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  goto only_spaces_and_periods;
}
}
__inline static int is_ntfs_dot_str(char const   *name___0 , char const   *dotgit_name ,
                                    char const   *dotgit_ntfs_shortname_prefix )
{
  size_t tmp ;
  int tmp___0 ;

  {
  tmp = strlen(dotgit_name);
  tmp___0 = is_ntfs_dot_generic(name___0, dotgit_name, tmp, dotgit_ntfs_shortname_prefix);
  return (tmp___0);
}
}
int is_ntfs_dotgitmodules(char const   *name___0 )
{
  int tmp ;

  {
  tmp = is_ntfs_dot_str(name___0, (char const   *)"gitmodules", (char const   *)"gi7eba");
  return (tmp);
}
}
int is_ntfs_dotgitignore(char const   *name___0 )
{
  int tmp ;

  {
  tmp = is_ntfs_dot_str(name___0, (char const   *)"gitignore", (char const   *)"gi250a");
  return (tmp);
}
}
int is_ntfs_dotgitattributes(char const   *name___0 )
{
  int tmp ;

  {
  tmp = is_ntfs_dot_str(name___0, (char const   *)"gitattributes", (char const   *)"gi7d29");
  return (tmp);
}
}
int is_ntfs_dotmailmap(char const   *name___0 )
{
  int tmp ;

  {
  tmp = is_ntfs_dot_str(name___0, (char const   *)"mailmap", (char const   *)"maba30");
  return (tmp);
}
}
int looks_like_command_line_option(char const   *str )
{
  int tmp ;

  {
  if (str) {
    if ((int const   )*(str + 0) == 45) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
char *xdg_config_home_for(char const   *subdir , char const   *filename___0 )
{
  char const   *home ;
  char const   *config_home ;
  char *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  assert((int )subdir);
  assert((int )filename___0);
  tmp = getenv((char const   *)"XDG_CONFIG_HOME");
  config_home = (char const   *)tmp;
  if (config_home) {
    if (*config_home) {
      tmp___0 = mkpathdup((char const   *)"%s/%s/%s", config_home, subdir, filename___0);
      return (tmp___0);
    }
  }
  tmp___1 = getenv((char const   *)"HOME");
  home = (char const   *)tmp___1;
  if (home) {
    tmp___2 = mkpathdup((char const   *)"%s/.config/%s/%s", home, subdir, filename___0);
    return (tmp___2);
  }
  return ((char *)((void *)0));
}
}
char *xdg_config_home(char const   *filename___0 )
{
  char *tmp ;

  {
  tmp = xdg_config_home_for((char const   *)"git", filename___0);
  return (tmp);
}
}
char *xdg_cache_home(char const   *filename___0 )
{
  char const   *home ;
  char const   *cache_home ;
  char *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  assert((int )filename___0);
  tmp = getenv((char const   *)"XDG_CACHE_HOME");
  cache_home = (char const   *)tmp;
  if (cache_home) {
    if (*cache_home) {
      tmp___0 = mkpathdup((char const   *)"%s/git/%s", cache_home, filename___0);
      return (tmp___0);
    }
  }
  tmp___1 = getenv((char const   *)"HOME");
  home = (char const   *)tmp___1;
  if (home) {
    tmp___2 = mkpathdup((char const   *)"%s/.cache/git/%s", home, filename___0);
    return (tmp___2);
  }
  return ((char *)((void *)0));
}
}
char const   *git_path_squash_msg(struct repository *r )
{
  char *tmp ;

  {
  if (! r->cached_paths.squash_msg) {
    tmp = repo_git_path((struct repository  const  *)r, (char const   *)"SQUASH_MSG");
    r->cached_paths.squash_msg = (char const   *)tmp;
  }
  return (r->cached_paths.squash_msg);
}
}
char const   *git_path_merge_msg(struct repository *r )
{
  char *tmp ;

  {
  if (! r->cached_paths.merge_msg) {
    tmp = repo_git_path((struct repository  const  *)r, (char const   *)"MERGE_MSG");
    r->cached_paths.merge_msg = (char const   *)tmp;
  }
  return (r->cached_paths.merge_msg);
}
}
char const   *git_path_merge_rr(struct repository *r )
{
  char *tmp ;

  {
  if (! r->cached_paths.merge_rr) {
    tmp = repo_git_path((struct repository  const  *)r, (char const   *)"MERGE_RR");
    r->cached_paths.merge_rr = (char const   *)tmp;
  }
  return (r->cached_paths.merge_rr);
}
}
char const   *git_path_merge_mode(struct repository *r )
{
  char *tmp ;

  {
  if (! r->cached_paths.merge_mode) {
    tmp = repo_git_path((struct repository  const  *)r, (char const   *)"MERGE_MODE");
    r->cached_paths.merge_mode = (char const   *)tmp;
  }
  return (r->cached_paths.merge_mode);
}
}
char const   *git_path_merge_head(struct repository *r )
{
  char *tmp ;

  {
  if (! r->cached_paths.merge_head) {
    tmp = repo_git_path((struct repository  const  *)r, (char const   *)"MERGE_HEAD");
    r->cached_paths.merge_head = (char const   *)tmp;
  }
  return (r->cached_paths.merge_head);
}
}
char const   *git_path_merge_autostash(struct repository *r )
{
  char *tmp ;

  {
  if (! r->cached_paths.merge_autostash) {
    tmp = repo_git_path((struct repository  const  *)r, (char const   *)"MERGE_AUTOSTASH");
    r->cached_paths.merge_autostash = (char const   *)tmp;
  }
  return (r->cached_paths.merge_autostash);
}
}
char const   *git_path_auto_merge(struct repository *r )
{
  char *tmp ;

  {
  if (! r->cached_paths.auto_merge) {
    tmp = repo_git_path((struct repository  const  *)r, (char const   *)"AUTO_MERGE");
    r->cached_paths.auto_merge = (char const   *)tmp;
  }
  return (r->cached_paths.auto_merge);
}
}
char const   *git_path_fetch_head(struct repository *r )
{
  char *tmp ;

  {
  if (! r->cached_paths.fetch_head) {
    tmp = repo_git_path((struct repository  const  *)r, (char const   *)"FETCH_HEAD");
    r->cached_paths.fetch_head = (char const   *)tmp;
  }
  return (r->cached_paths.fetch_head);
}
}
char const   *git_path_shallow(struct repository *r )
{
  char *tmp ;

  {
  if (! r->cached_paths.shallow) {
    tmp = repo_git_path((struct repository  const  *)r, (char const   *)"shallow");
    r->cached_paths.shallow = (char const   *)tmp;
  }
  return (r->cached_paths.shallow);
}
}
void add_pathspec_matches_against_index(struct pathspec  const  *pathspec___1 , struct index_state *istate ,
                                        char *seen___0 , enum ps_skip_worktree_action sw_action )
{
  int num_unmatched ;
  int i ;
  struct cache_entry  const  *ce ;
  int tmp ;

  {
  num_unmatched = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (int )pathspec___1->nr)) {
      goto while_break;
    }
    if (! *(seen___0 + i)) {
      num_unmatched ++;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! num_unmatched) {
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break___0;
    }
    ce = (struct cache_entry  const  *)*(istate->cache + i);
    if ((unsigned int )sw_action == 1U) {
      if (ce->ce_flags & (unsigned int )(1 << 30)) {
        goto __Cont;
      } else {
        tmp = path_in_sparse_checkout((char const   *)(ce->name), istate);
        if (! tmp) {
          goto __Cont;
        }
      }
    }
    ce_path_match(istate, ce, pathspec___1, seen___0);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
char *find_pathspecs_matching_against_index(struct pathspec  const  *pathspec___1 ,
                                            struct index_state *istate , enum ps_skip_worktree_action sw_action )
{
  char *seen___0 ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )pathspec___1->nr, (size_t )1);
  seen___0 = (char *)tmp;
  add_pathspec_matches_against_index(pathspec___1, istate, seen___0, sw_action);
  return (seen___0);
}
}
char *find_pathspecs_matching_skip_worktree(struct pathspec  const  *pathspec___1 )
{
  struct index_state *istate ;
  char *seen___0 ;
  void *tmp ;
  int i ;
  struct cache_entry *ce ;
  int tmp___0 ;

  {
  istate = the_repository->index;
  tmp = xcalloc((size_t )pathspec___1->nr, (size_t )1);
  seen___0 = (char *)tmp;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    ce = *(istate->cache + i);
    if (ce->ce_flags & (unsigned int )(1 << 30)) {
      ce_path_match(istate, (struct cache_entry  const  *)ce, pathspec___1, seen___0);
    } else {
      tmp___0 = path_in_sparse_checkout((char const   *)(ce->name), istate);
      if (! tmp___0) {
        ce_path_match(istate, (struct cache_entry  const  *)ce, pathspec___1, seen___0);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (seen___0);
}
}
static struct pathspec_magic pathspec_magic[6]  = {      {1U, (char )'/', (char const   *)"top"},
        {(unsigned int )(1 << 2), (char )'\000', (char const   *)"literal"},
        {(unsigned int )(1 << 3), (char )'\000', (char const   *)"glob"},
        {(unsigned int )(1 << 4), (char )'\000', (char const   *)"icase"},
        {(unsigned int )(1 << 5), (char )'!', (char const   *)"exclude"},
        {(unsigned int )(1 << 6), (char )'\000', (char const   *)"attr"}};
static void prefix_magic(struct strbuf *sb___6 , int prefixlen , unsigned int magic )
{
  int i ;

  {
  strbuf_addstr(sb___6, (char const   *)":(");
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(pathspec_magic) / sizeof(pathspec_magic[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    if (magic & pathspec_magic[i].bit) {
      if ((int )*(sb___6->buf + (sb___6->len - 1UL)) != 40) {
        strbuf_addch(sb___6, ',');
      }
      strbuf_addstr(sb___6, pathspec_magic[i].name);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addf(sb___6, (char const   *)",prefix:%d)", prefixlen);
  return;
}
}
static size_t strcspn_escaped(char const   *s___1 , char const   *stop )
{
  char const   *i ;
  char *tmp ;

  {
  i = s___1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *i) {
      goto while_break;
    }
    if ((int const   )*(i + 0) == 92) {
      if (*(i + 1)) {
        i ++;
        goto __Cont;
      }
    }
    tmp = strchr(stop, (int )*i);
    if (tmp) {
      goto while_break;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((size_t )(i - s___1));
}
}
__inline static int invalid_value_char(char const   ch___0 )
{
  char *tmp ;

  {
  if (((int const   )sane_ctype[(unsigned char )ch___0] & 6) != 0) {
    return (0);
  } else {
    tmp = strchr((char const   *)",-_", (int )ch___0);
    if (tmp) {
      return (0);
    }
  }
  return (-1);
}
}
static char *attr_value_unescape(char const   *value )
{
  char const   *src ;
  char *dst ;
  char *ret___67 ;
  size_t tmp ;
  void *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  tmp = strlen(value);
  tmp___0 = xmallocz(tmp);
  ret___67 = (char *)tmp___0;
  src = value;
  dst = ret___67;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *src) {
      goto while_break;
    }
    if ((int const   )*src == 92) {
      if (! *(src + 1)) {
        tmp___1 = _((char const   *)"Escape character \'\\\' not allowed as last character in attr value");
        die((char const   *)tmp___1);
      }
      src ++;
    }
    tmp___2 = invalid_value_char(*src);
    if (tmp___2) {
      die((char const   *)"cannot use \'%c\' for value matching", (int const   )*src);
    }
    *dst = (char )*src;
    src ++;
    dst ++;
  }
  while_break: /* CIL Label */ ;
  }
  *dst = (char )'\000';
  return (ret___67);
}
}
static void parse_pathspec_attr_match(struct pathspec_item *item___0 , char const   *value )
{
  struct string_list_item *si ;
  struct string_list list___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  void *tmp___1 ;
  size_t attr_len ;
  char *attr_name ;
  struct git_attr  const  *a ;
  int j ;
  int tmp___2 ;
  char const   *attr ;
  struct attr_match *am ;
  char const   *v ;
  void *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  list___3.items = (struct string_list_item *)0;
  list___3.nr = 0U;
  list___3.alloc = 0U;
  list___3.strdup_strings = 1U;
  list___3.cmp = (int (*)(char const   * , char const   * ))0;
  if (item___0->attr_check) {
    tmp = _((char const   *)"Only one \'attr:\' specification is allowed.");
    die((char const   *)tmp);
  } else
  if (item___0->attr_match) {
    tmp = _((char const   *)"Only one \'attr:\' specification is allowed.");
    die((char const   *)tmp);
  }
  if (! value) {
    tmp___0 = _((char const   *)"attr spec must not be empty");
    die((char const   *)tmp___0);
  } else
  if (! *value) {
    tmp___0 = _((char const   *)"attr spec must not be empty");
    die((char const   *)tmp___0);
  }
  string_list_split(& list___3, value, ' ', -1);
  string_list_remove_empty_items(& list___3, 0);
  item___0->attr_check = attr_check_alloc();
  tmp___1 = xcalloc((size_t )list___3.nr, sizeof(*(item___0->attr_match)));
  item___0->attr_match = (struct attr_match *)tmp___1;
  si = list___3.items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (si) {
      if (! ((unsigned long )si < (unsigned long )(list___3.items + list___3.nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___2 = item___0->attr_match_nr;
    (item___0->attr_match_nr) ++;
    j = tmp___2;
    attr = (char const   *)si->string;
    am = item___0->attr_match + j;
    {
    if ((int const   )*attr == 33) {
      goto case_33;
    }
    if ((int const   )*attr == 45) {
      goto case_45;
    }
    goto switch_default;
    case_33: /* CIL Label */
    am->match_mode = (enum attr_match_mode )3;
    attr ++;
    attr_len = strlen(attr);
    goto switch_break;
    case_45: /* CIL Label */
    am->match_mode = (enum attr_match_mode )1;
    attr ++;
    attr_len = strlen(attr);
    goto switch_break;
    switch_default: /* CIL Label */
    attr_len = strcspn(attr, (char const   *)"=");
    if ((int const   )*(attr + attr_len) != 61) {
      am->match_mode = (enum attr_match_mode )0;
    } else {
      v = attr + (attr_len + 1UL);
      am->match_mode = (enum attr_match_mode )2;
      am->value = attr_value_unescape(v);
    }
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    tmp___3 = xmemdupz((void const   *)attr, attr_len);
    attr_name = (char *)tmp___3;
    a = git_attr((char const   *)attr_name);
    if (! a) {
      tmp___4 = _((char const   *)"invalid attribute name %s");
      die((char const   *)tmp___4, attr_name);
    }
    attr_check_append(item___0->attr_check, a);
    free((void *)attr_name);
    si ++;
  }
  while_break: /* CIL Label */ ;
  }
  if ((item___0->attr_check)->nr != item___0->attr_match_nr) {
    BUG_fl((char const   *)"pathspec.c", 222, (char const   *)"should have same number of entries");
  }
  string_list_clear(& list___3, 0);
  return;
}
}
__inline static int get_literal_global(void) ;
static int literal  =    -1;
__inline static int get_literal_global(void)
{


  {
  if (literal < 0) {
    literal = git_env_bool((char const   *)"GIT_LITERAL_PATHSPECS", 0);
  }
  return (literal);
}
}
__inline static int get_glob_global(void) ;
static int glob  =    -1;
__inline static int get_glob_global(void)
{


  {
  if (glob < 0) {
    glob = git_env_bool((char const   *)"GIT_GLOB_PATHSPECS", 0);
  }
  return (glob);
}
}
__inline static int get_noglob_global(void) ;
static int noglob  =    -1;
__inline static int get_noglob_global(void)
{


  {
  if (noglob < 0) {
    noglob = git_env_bool((char const   *)"GIT_NOGLOB_PATHSPECS", 0);
  }
  return (noglob);
}
}
__inline static int get_icase_global(void) ;
static int icase  =    -1;
__inline static int get_icase_global(void)
{


  {
  if (icase < 0) {
    icase = git_env_bool((char const   *)"GIT_ICASE_PATHSPECS", 0);
  }
  return (icase);
}
}
static int get_global_magic(int element_magic )
{
  int global_magic ;
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;

  {
  global_magic = 0;
  tmp = get_literal_global();
  if (tmp) {
    global_magic |= 1 << 2;
  }
  tmp___0 = get_glob_global();
  if (tmp___0) {
    if (! (element_magic & (1 << 2))) {
      global_magic |= 1 << 3;
    }
  }
  tmp___2 = get_glob_global();
  if (tmp___2) {
    tmp___3 = get_noglob_global();
    if (tmp___3) {
      tmp___1 = _((char const   *)"global \'glob\' and \'noglob\' pathspec settings are incompatible");
      die((char const   *)tmp___1);
    }
  }
  tmp___4 = get_icase_global();
  if (tmp___4) {
    global_magic |= 1 << 4;
  }
  if (global_magic & (1 << 2)) {
    if (global_magic & ~ (1 << 2)) {
      tmp___5 = _((char const   *)"global \'literal\' pathspec setting is incompatible with all other global pathspec settings");
      die((char const   *)tmp___5);
    }
  }
  tmp___6 = get_noglob_global();
  if (tmp___6) {
    if (! (element_magic & (1 << 3))) {
      global_magic |= 1 << 2;
    }
  }
  return (global_magic);
}
}
static char const   *parse_long_magic(unsigned int *magic , int *prefix_len___1 ,
                                      struct pathspec_item *item___0 , char const   *elem )
{
  char const   *pos ;
  char const   *nextat ;
  size_t len___0 ;
  size_t tmp ;
  int i ;
  char *endptr ;
  long tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char *attr_body ;
  void *tmp___3 ;
  int tmp___4 ;
  size_t tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;

  {
  pos = elem + 2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*pos) {
      if (! ((int const   )*pos != 41)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = strcspn_escaped(pos, (char const   *)",)");
    len___0 = tmp;
    if ((int const   )*(pos + len___0) == 44) {
      nextat = (pos + len___0) + 1;
    } else {
      nextat = pos + len___0;
    }
    if (! len___0) {
      goto __Cont;
    }
    tmp___2 = starts_with(pos, (char const   *)"prefix:");
    if (tmp___2) {
      tmp___0 = strtol((char const   * __restrict  )(pos + 7), (char ** __restrict  )(& endptr),
                       10);
      *prefix_len___1 = (int )tmp___0;
      if ((size_t )(endptr - (char *)pos) != len___0) {
        tmp___1 = _((char const   *)"invalid parameter for pathspec magic \'prefix\'");
        die((char const   *)tmp___1);
      }
      goto __Cont;
    }
    tmp___4 = starts_with(pos, (char const   *)"attr:");
    if (tmp___4) {
      tmp___3 = xmemdupz((void const   *)(pos + 5), len___0 - 5UL);
      attr_body = (char *)tmp___3;
      parse_pathspec_attr_match(item___0, (char const   *)attr_body);
      *magic |= (unsigned int )(1 << 6);
      free((void *)attr_body);
      goto __Cont;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned long )i < sizeof(pathspec_magic) / sizeof(pathspec_magic[0]) + (sizeof(char [1]) - 1UL))) {
        goto while_break___0;
      }
      tmp___5 = strlen(pathspec_magic[i].name);
      if (tmp___5 == len___0) {
        tmp___6 = strncmp(pathspec_magic[i].name, pos, len___0);
        if (! tmp___6) {
          *magic |= pathspec_magic[i].bit;
          goto while_break___0;
        }
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (sizeof(pathspec_magic) / sizeof(pathspec_magic[0]) + (sizeof(char [1]) - 1UL) <= (unsigned long )i) {
      tmp___7 = _((char const   *)"Invalid pathspec magic \'%.*s\' in \'%s\'");
      die((char const   *)tmp___7, (int )len___0, pos, elem);
    }
    __Cont: /* CIL Label */
    pos = nextat;
  }
  while_break: /* CIL Label */ ;
  }
  if ((int const   )*pos != 41) {
    tmp___8 = _((char const   *)"Missing \')\' at the end of pathspec magic in \'%s\'");
    die((char const   *)tmp___8, elem);
  }
  pos ++;
  return (pos);
}
}
static char const   *parse_short_magic(unsigned int *magic , char const   *elem )
{
  char const   *pos ;
  char ch___0 ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  pos = elem + 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*pos) {
      if (! ((int const   )*pos != 58)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    ch___0 = (char )*pos;
    if ((int )ch___0 == 94) {
      *magic |= (unsigned int )(1 << 5);
      goto __Cont;
    }
    if (! (((int const   )sane_ctype[(unsigned char )ch___0] & 32) != 0)) {
      goto while_break;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned long )i < sizeof(pathspec_magic) / sizeof(pathspec_magic[0]) + (sizeof(char [1]) - 1UL))) {
        goto while_break___0;
      }
      if ((int )pathspec_magic[i].mnemonic == (int )ch___0) {
        *magic |= pathspec_magic[i].bit;
        goto while_break___0;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (sizeof(pathspec_magic) / sizeof(pathspec_magic[0]) + (sizeof(char [1]) - 1UL) <= (unsigned long )i) {
      tmp = _((char const   *)"Unimplemented pathspec magic \'%c\' in \'%s\'");
      die((char const   *)tmp, (int )ch___0, elem);
    }
    __Cont: /* CIL Label */
    pos ++;
  }
  while_break: /* CIL Label */ ;
  }
  if ((int const   )*pos == 58) {
    pos ++;
  }
  return (pos);
}
}
static char const   *parse_element_magic(unsigned int *magic , int *prefix_len___1 ,
                                         struct pathspec_item *item___0 , char const   *elem )
{
  char const   *tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  if ((int const   )*(elem + 0) != 58) {
    return (elem);
  } else {
    tmp___1 = get_literal_global();
    if (tmp___1) {
      return (elem);
    } else
    if ((int const   )*(elem + 1) == 40) {
      tmp = parse_long_magic(magic, prefix_len___1, item___0, elem);
      return (tmp);
    } else {
      tmp___0 = parse_short_magic(magic, elem);
      return (tmp___0);
    }
  }
}
}
static void init_pathspec_item(struct pathspec_item *item___0 , unsigned int flags___0 ,
                               char const   *prefix___1 , int prefixlen , char const   *elt )
{
  unsigned int magic ;
  unsigned int element_magic ;
  char const   *copyfrom ;
  char *match___0 ;
  int pathspec_prefix ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const   *hint_path ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  size_t tmp___4 ;
  struct strbuf sb___6 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  magic = 0U;
  element_magic = 0U;
  copyfrom = elt;
  pathspec_prefix = -1;
  item___0->attr_check = (struct attr_check *)((void *)0);
  item___0->attr_match = (struct attr_match *)((void *)0);
  item___0->attr_match_nr = 0;
  if (flags___0 & (unsigned int )(1 << 6)) {
    magic = (unsigned int )(1 << 2);
  } else {
    copyfrom = parse_element_magic(& element_magic, & pathspec_prefix, item___0, elt);
    magic |= element_magic;
    tmp = get_global_magic((int )element_magic);
    magic |= (unsigned int )tmp;
  }
  item___0->magic = magic;
  if (pathspec_prefix >= 0) {
    if (prefixlen) {
      BUG_fl((char const   *)"pathspec.c", 446, (char const   *)"\'prefix\' magic is supposed to be used at worktree\'s root");
    } else
    if (prefix___1) {
      if (*prefix___1) {
        BUG_fl((char const   *)"pathspec.c", 446, (char const   *)"\'prefix\' magic is supposed to be used at worktree\'s root");
      }
    }
  }
  if (magic & (unsigned int )(1 << 2)) {
    if (magic & (unsigned int )(1 << 3)) {
      tmp___0 = _((char const   *)"%s: \'literal\' and \'glob\' are incompatible");
      die((char const   *)tmp___0, elt);
    }
  }
  if (pathspec_prefix >= 0) {
    match___0 = xstrdup(copyfrom);
    prefixlen = pathspec_prefix;
  } else
  if (magic & 1U) {
    match___0 = xstrdup(copyfrom);
    prefixlen = 0;
  } else {
    match___0 = prefix_path_gently(prefix___1, prefixlen, & prefixlen, copyfrom);
    if (! match___0) {
      tmp___1 = get_git_work_tree();
      hint_path = tmp___1;
      if (! hint_path) {
        hint_path = get_git_dir();
      }
      tmp___2 = absolute_path(hint_path);
      tmp___3 = _((char const   *)"%s: \'%s\' is outside repository at \'%s\'");
      die((char const   *)tmp___3, elt, copyfrom, tmp___2);
    }
  }
  item___0->match = match___0;
  tmp___4 = strlen((char const   *)item___0->match);
  item___0->len = (int )tmp___4;
  item___0->prefix = prefixlen;
  if (flags___0 & (unsigned int )(1 << 4)) {
    tmp___5 = get_literal_global();
    if (tmp___5) {
      item___0->original = xstrdup(elt);
    } else {
      sb___6.alloc = 0UL;
      sb___6.len = 0UL;
      sb___6.buf = strbuf_slopbuf;
      prefix_magic(& sb___6, prefixlen, element_magic);
      strbuf_addstr(& sb___6, (char const   *)match___0);
      item___0->original = strbuf_detach(& sb___6, (size_t *)((void *)0));
    }
  } else {
    item___0->original = xstrdup(elt);
  }
  if (magic & (unsigned int )(1 << 2)) {
    item___0->nowildcard_len = item___0->len;
  } else {
    item___0->nowildcard_len = simple_length((char const   *)item___0->match);
    if (item___0->nowildcard_len < prefixlen) {
      item___0->nowildcard_len = prefixlen;
    }
  }
  item___0->flags = 0;
  if (! (magic & (unsigned int )(1 << 3))) {
    if (item___0->nowildcard_len < item___0->len) {
      if ((int )*(item___0->match + item___0->nowildcard_len) == 42) {
        tmp___6 = no_wildcard((char const   *)((item___0->match + item___0->nowildcard_len) + 1));
        if (tmp___6) {
          item___0->flags |= 1;
        }
      }
    }
  }
  if (item___0->nowildcard_len > item___0->len) {
    BUG_fl((char const   *)"pathspec.c", 515, (char const   *)"error initializing pathspec_item");
  } else
  if (item___0->prefix > item___0->len) {
    BUG_fl((char const   *)"pathspec.c", 515, (char const   *)"error initializing pathspec_item");
  }
  return;
}
}
static int pathspec_item_cmp(void const   *a_ , void const   *b_ )
{
  struct pathspec_item *a ;
  struct pathspec_item *b___0 ;
  int tmp ;

  {
  a = (struct pathspec_item *)a_;
  b___0 = (struct pathspec_item *)b_;
  tmp = strcmp((char const   *)a->match, (char const   *)b___0->match);
  return (tmp);
}
}
static void unsupported_magic(char const   *pattern___0 , unsigned int magic )  __attribute__((__noreturn__)) ;
static void unsupported_magic(char const   *pattern___0 , unsigned int magic )
{
  struct strbuf sb___6 ;
  int i ;
  struct pathspec_magic  const  *m ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(pathspec_magic) / sizeof(pathspec_magic[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    m = (struct pathspec_magic  const  *)(pathspec_magic + i);
    if (! (magic & (unsigned int )m->bit)) {
      goto __Cont;
    }
    if (sb___6.len) {
      strbuf_addstr(& sb___6, (char const   *)", ");
    }
    if (m->mnemonic) {
      tmp = _((char const   *)"\'%s\' (mnemonic: \'%c\')");
      strbuf_addf(& sb___6, (char const   *)tmp, m->name, (int )m->mnemonic);
    } else {
      strbuf_addf(& sb___6, (char const   *)"\'%s\'", m->name);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = _((char const   *)"%s: pathspec magic not supported by this command: %s");
  die((char const   *)tmp___0, pattern___0, sb___6.buf);
}
}
void parse_pathspec(struct pathspec *pathspec___1 , unsigned int magic_mask , unsigned int flags___0 ,
                    char const   *prefix___1 , char const   **argv___0 )
{
  struct pathspec_item *item___0 ;
  char const   *entry ;
  char const   *tmp ;
  int i ;
  int n ;
  int prefixlen ;
  int nr_exclude ;
  void *tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int plen ;
  int tmp___8 ;

  {
  if (argv___0) {
    tmp = *argv___0;
  } else {
    tmp = (char const   *)((void *)0);
  }
  entry = tmp;
  nr_exclude = 0;
  memset((void *)pathspec___1, 0, sizeof(*pathspec___1));
  if (flags___0 & (unsigned int )(1 << 2)) {
    pathspec___1->magic |= (unsigned int )(1 << 1);
  }
  if (! entry) {
    if (! prefix___1) {
      return;
    }
  }
  if (flags___0 & 1U) {
    if (flags___0 & (unsigned int )(1 << 1)) {
      BUG_fl((char const   *)"pathspec.c", 574, (char const   *)"PATHSPEC_PREFER_CWD and PATHSPEC_PREFER_FULL are incompatible");
    }
  }
  if (! entry) {
    if (flags___0 & (unsigned int )(1 << 1)) {
      return;
    }
    if (! (flags___0 & 1U)) {
      BUG_fl((char const   *)"pathspec.c", 582, (char const   *)"PATHSPEC_PREFER_CWD requires arguments");
    }
    tmp___0 = xcalloc((size_t )1, sizeof(*item___0));
    item___0 = (struct pathspec_item *)tmp___0;
    pathspec___1->items = item___0;
    item___0->match = xstrdup(prefix___1);
    item___0->original = xstrdup(prefix___1);
    tmp___2 = strlen(prefix___1);
    tmp___1 = (int )tmp___2;
    item___0->len = tmp___1;
    item___0->nowildcard_len = tmp___1;
    item___0->prefix = item___0->len;
    pathspec___1->nr = 1;
    return;
  }
  n = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(argv___0 + n)) {
      goto while_break;
    }
    if ((int const   )*(*(argv___0 + n)) == 0) {
      die((char const   *)"empty string is not a valid pathspec. please use . instead if you meant to match all paths");
    }
    n ++;
  }
  while_break: /* CIL Label */ ;
  }
  pathspec___1->nr = n;
  tmp___3 = st_mult(sizeof(*(pathspec___1->items)), (size_t )(n + 1));
  tmp___4 = xmalloc(tmp___3);
  pathspec___1->items = (struct pathspec_item *)tmp___4;
  item___0 = pathspec___1->items;
  if (prefix___1) {
    tmp___5 = strlen(prefix___1);
    prefixlen = (int )tmp___5;
  } else {
    prefixlen = 0;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break___0;
    }
    entry = *(argv___0 + i);
    init_pathspec_item(item___0 + i, flags___0, prefix___1, prefixlen, entry);
    if ((item___0 + i)->magic & (unsigned int )(1 << 5)) {
      nr_exclude ++;
    }
    if ((item___0 + i)->magic & magic_mask) {
      unsupported_magic(entry, (item___0 + i)->magic & magic_mask);
    }
    if (flags___0 & (unsigned int )(1 << 3)) {
      tmp___7 = has_symlink_leading_path((char const   *)(item___0 + i)->match, (item___0 + i)->len);
      if (tmp___7) {
        tmp___6 = _((char const   *)"pathspec \'%s\' is beyond a symbolic link");
        die((char const   *)tmp___6, entry);
      }
    }
    if ((item___0 + i)->nowildcard_len < (item___0 + i)->len) {
      pathspec___1->has_wildcard = 1U;
    }
    pathspec___1->magic |= (item___0 + i)->magic;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (nr_exclude == n) {
    if (! (flags___0 & 1U)) {
      tmp___8 = 0;
    } else {
      tmp___8 = prefixlen;
    }
    plen = tmp___8;
    init_pathspec_item(item___0 + n, 0U, prefix___1, plen, (char const   *)"");
    (pathspec___1->nr) ++;
  }
  if (pathspec___1->magic & (unsigned int )(1 << 1)) {
    if (flags___0 & (unsigned int )(1 << 5)) {
      BUG_fl((char const   *)"pathspec.c", 638, (char const   *)"PATHSPEC_MAXDEPTH_VALID and PATHSPEC_KEEP_ORDER are incompatible");
    }
    sane_qsort((void *)pathspec___1->items, (size_t )pathspec___1->nr, sizeof(*(pathspec___1->items)),
               & pathspec_item_cmp);
  }
  return;
}
}
void parse_pathspec_file(struct pathspec *pathspec___1 , unsigned int magic_mask ,
                         unsigned int flags___0 , char const   *prefix___1 , char const   *file___0 ,
                         int nul_term_line___2 )
{
  struct strvec parsed_file ;
  int (*getline_fn)(struct strbuf * , FILE * ) ;
  int (*tmp)(struct strbuf *sb , FILE *fp ) ;
  struct strbuf buf___19 ;
  struct strbuf unquoted ;
  FILE *in ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  parsed_file.v = empty_strvec;
  parsed_file.nr = 0UL;
  parsed_file.alloc = 0UL;
  if (nul_term_line___2) {
    tmp = & strbuf_getline_nul;
  } else {
    tmp = & strbuf_getline;
  }
  getline_fn = tmp;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  unquoted.alloc = 0UL;
  unquoted.len = 0UL;
  unquoted.buf = strbuf_slopbuf;
  tmp___0 = strcmp(file___0, (char const   *)"-");
  if (tmp___0) {
    in = xfopen(file___0, (char const   *)"r");
  } else {
    in = stdin;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = (*getline_fn)(& buf___19, in);
    if (! (tmp___3 != -1)) {
      goto while_break;
    }
    if (! nul_term_line___2) {
      if ((int )*(buf___19.buf + 0) == 34) {
        strbuf_setlen(& unquoted, (size_t )0);
        tmp___2 = unquote_c_style(& unquoted, (char const   *)buf___19.buf, (char const   **)((void *)0));
        if (tmp___2) {
          tmp___1 = _((char const   *)"line is badly quoted: %s");
          die((char const   *)tmp___1, buf___19.buf);
        }
        strbuf_swap(& buf___19, & unquoted);
      }
    }
    strvec_push(& parsed_file, (char const   *)buf___19.buf);
    strbuf_setlen(& buf___19, (size_t )0);
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& unquoted);
  strbuf_release(& buf___19);
  if ((unsigned long )in != (unsigned long )stdin) {
    fclose(in);
  }
  parse_pathspec(pathspec___1, magic_mask, flags___0, prefix___1, parsed_file.v);
  strvec_clear(& parsed_file);
  return;
}
}
void copy_pathspec(struct pathspec *dst , struct pathspec  const  *src )
{
  int i ;
  int j ;
  size_t tmp ;
  void *tmp___0 ;
  struct pathspec_item *d ;
  struct pathspec_item *s___1 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  char const   *value ;

  {
  *dst = (struct pathspec )*src;
  tmp = st_mult(sizeof(*(dst->items)), (size_t )dst->nr);
  tmp___0 = xmalloc(tmp);
  dst->items = (struct pathspec_item *)tmp___0;
  copy_array((void *)dst->items, (void const   *)src->items, (size_t )dst->nr, sizeof(*(dst->items)) + (sizeof(char [1]) - 1UL));
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < dst->nr)) {
      goto while_break;
    }
    d = dst->items + i;
    s___1 = src->items + i;
    d->match = xstrdup((char const   *)s___1->match);
    d->original = xstrdup((char const   *)s___1->original);
    tmp___1 = st_mult(sizeof(*(d->attr_match)), (size_t )d->attr_match_nr);
    tmp___2 = xmalloc(tmp___1);
    d->attr_match = (struct attr_match *)tmp___2;
    copy_array((void *)d->attr_match, (void const   *)s___1->attr_match, (size_t )d->attr_match_nr,
               sizeof(*(d->attr_match)) + (sizeof(char [1]) - 1UL));
    j = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < d->attr_match_nr)) {
        goto while_break___0;
      }
      value = (char const   *)(s___1->attr_match + j)->value;
      (d->attr_match + j)->value = xstrdup_or_null(value);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    d->attr_check = attr_check_dup((struct attr_check  const  *)s___1->attr_check);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void clear_pathspec(struct pathspec *pathspec___1 )
{
  int i ;
  int j ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < pathspec___1->nr)) {
      goto while_break;
    }
    free((void *)(pathspec___1->items + i)->match);
    free((void *)(pathspec___1->items + i)->original);
    j = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < (pathspec___1->items + i)->attr_match_nr)) {
        goto while_break___0;
      }
      free((void *)((pathspec___1->items + i)->attr_match + j)->value);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    free((void *)(pathspec___1->items + i)->attr_match);
    if ((pathspec___1->items + i)->attr_check) {
      attr_check_free((pathspec___1->items + i)->attr_check);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    free((void *)pathspec___1->items);
    pathspec___1->items = (struct pathspec_item *)((void *)0);
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  pathspec___1->nr = 0;
  return;
}
}
int match_pathspec_attrs(struct index_state *istate , char const   *name___0 , int namelen ,
                         struct pathspec_item  const  *item___0 )
{
  int i ;
  char *to_free ;
  void *tmp ;
  char const   *value ;
  int matched ;
  enum attr_match_mode match_mode ;
  int tmp___0 ;
  int tmp___1 ;

  {
  to_free = (char *)((void *)0);
  if (*(name___0 + namelen)) {
    tmp = xmemdupz((void const   *)name___0, (size_t )namelen);
    to_free = (char *)tmp;
    name___0 = (char const   *)to_free;
  }
  git_check_attr(istate, name___0, (struct attr_check *)item___0->attr_check);
  free((void *)to_free);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (int )item___0->attr_match_nr)) {
      goto while_break;
    }
    value = ((item___0->attr_check)->items + i)->value;
    match_mode = (item___0->attr_match + i)->match_mode;
    if ((unsigned long )value == (unsigned long )(git_attr__true)) {
      matched = (unsigned int )match_mode == 0U;
    } else
    if ((unsigned long )value == (unsigned long )(git_attr__false)) {
      matched = (unsigned int )match_mode == 1U;
    } else
    if ((unsigned long )value == (unsigned long )((void *)0)) {
      matched = (unsigned int )match_mode == 3U;
    } else {
      if ((unsigned int )match_mode == 2U) {
        tmp___0 = strcmp((char const   *)(item___0->attr_match + i)->value, value);
        if (tmp___0) {
          tmp___1 = 0;
        } else {
          tmp___1 = 1;
        }
      } else {
        tmp___1 = 0;
      }
      matched = tmp___1;
    }
    if (! matched) {
      return (0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
char packet_buffer[65520]  ;
static char const   *packet_trace_prefix  =    (char const   *)"git";
static struct trace_key trace_packet  =    {(char const   *)"GIT_TRACE_PACKET", 0, 0U, 0U};
static struct trace_key trace_pack  =    {(char const   *)"GIT_TRACE_PACKFILE", 0, 0U, 0U};
void packet_trace_identity(char const   *prog )
{
  char *tmp ;

  {
  tmp = xstrdup(prog);
  packet_trace_prefix = (char const   *)tmp;
  return;
}
}
static char const   *get_trace_prefix(void)
{
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  tmp___1 = in_async();
  if (tmp___1) {
    tmp___0 = (char const   *)"sideband";
  } else {
    tmp___0 = packet_trace_prefix;
  }
  return (tmp___0);
}
}
static int packet_trace_pack(char const   *buf___19 , unsigned int len___0 , int sideband___0 )
{


  {
  if (! sideband___0) {
    trace_verbatim(& trace_pack, (void const   *)buf___19, len___0);
    return (1);
  } else
  if (len___0) {
    if ((int const   )*buf___19 == 1) {
      trace_verbatim(& trace_pack, (void const   *)(buf___19 + 1), len___0 - 1U);
      return (1);
    } else {
      return (0);
    }
  } else {
    return (0);
  }
}
}
static int in_pack  ;
static int sideband  ;
static void packet_trace(char const   *buf___19 , unsigned int len___0 , int write___0 )
{
  int i ;
  struct strbuf out ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const   *tmp___7 ;
  int tmp___8 ;

  {
  tmp = trace_want(& trace_packet);
  if (! tmp) {
    tmp___0 = trace_want(& trace_pack);
    if (! tmp___0) {
      return;
    }
  }
  if (in_pack) {
    tmp___1 = packet_trace_pack(buf___19, len___0, sideband);
    if (tmp___1) {
      return;
    }
  } else {
    tmp___3 = starts_with(buf___19, (char const   *)"PACK");
    if (tmp___3) {
      goto _L;
    } else {
      tmp___4 = starts_with(buf___19, (char const   *)"\001PACK");
      if (tmp___4) {
        _L: /* CIL Label */
        in_pack = 1;
        sideband = (int const   )*buf___19 == 1;
        packet_trace_pack(buf___19, len___0, sideband);
        buf___19 = (char const   *)"PACK ...";
        tmp___2 = strlen(buf___19);
        len___0 = (unsigned int )tmp___2;
      }
    }
  }
  tmp___5 = trace_want(& trace_packet);
  if (! tmp___5) {
    return;
  }
  strbuf_init(& out, (size_t )(len___0 + 32U));
  if (write___0) {
    tmp___6 = '>';
  } else {
    tmp___6 = '<';
  }
  tmp___7 = get_trace_prefix();
  strbuf_addf(& out, (char const   *)"packet: %12s%c ", tmp___7, tmp___6);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < len___0)) {
      goto while_break;
    }
    if ((int const   )*(buf___19 + i) == 10) {
      goto __Cont;
    }
    if ((int const   )*(buf___19 + i) >= 32) {
      if ((int const   )*(buf___19 + i) <= 126) {
        strbuf_addch(& out, (int )*(buf___19 + i));
      } else {
        strbuf_addf(& out, (char const   *)"\\%o", (int const   )*(buf___19 + i));
      }
    } else {
      strbuf_addf(& out, (char const   *)"\\%o", (int const   )*(buf___19 + i));
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addch(& out, '\n');
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___8 = trace_pass_fl(& trace_packet);
    if (tmp___8) {
      trace_strbuf_fl((char const   *)"pkt-line.c", 80, & trace_packet, (struct strbuf  const  *)(& out));
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_release(& out);
  return;
}
}
void packet_flush(int fd )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  ssize_t tmp___0 ;

  {
  packet_trace((char const   *)"0000", 4U, 1);
  tmp___0 = write_in_full(fd, (void const   *)"0000", (size_t )4);
  if (tmp___0 < 0L) {
    tmp = _((char const   *)"unable to write flush packet");
    die_errno((char const   *)tmp);
  }
  return;
}
}
void packet_delim(int fd )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  ssize_t tmp___0 ;

  {
  packet_trace((char const   *)"0001", 4U, 1);
  tmp___0 = write_in_full(fd, (void const   *)"0001", (size_t )4);
  if (tmp___0 < 0L) {
    tmp = _((char const   *)"unable to write delim packet");
    die_errno((char const   *)tmp);
  }
  return;
}
}
void packet_response_end(int fd )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  ssize_t tmp___0 ;

  {
  packet_trace((char const   *)"0002", 4U, 1);
  tmp___0 = write_in_full(fd, (void const   *)"0002", (size_t )4);
  if (tmp___0 < 0L) {
    tmp = _((char const   *)"unable to write response end packet");
    die_errno((char const   *)tmp);
  }
  return;
}
}
int packet_flush_gently(int fd )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  ssize_t tmp___1 ;

  {
  packet_trace((char const   *)"0000", 4U, 1);
  tmp___1 = write_in_full(fd, (void const   *)"0000", (size_t )4);
  if (tmp___1 < 0L) {
    tmp = _((char const   *)"flush packet write failed");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  return (0);
}
}
void packet_buf_flush(struct strbuf *buf___19 )
{


  {
  packet_trace((char const   *)"0000", 4U, 1);
  strbuf_add(buf___19, (void const   *)"0000", (size_t )4);
  return;
}
}
void packet_buf_delim(struct strbuf *buf___19 )
{


  {
  packet_trace((char const   *)"0001", 4U, 1);
  strbuf_add(buf___19, (void const   *)"0001", (size_t )4);
  return;
}
}
static char hexchar[17]  =
  {      (char )'0',      (char )'1',      (char )'2',      (char )'3',
        (char )'4',      (char )'5',      (char )'6',      (char )'7',
        (char )'8',      (char )'9',      (char )'a',      (char )'b',
        (char )'c',      (char )'d',      (char )'e',      (char )'f',
        (char )'\000'};
void set_packet_header(char *buf___19 , int size )
{


  {
  *(buf___19 + 0) = hexchar[(size >> 12) & 15];
  *(buf___19 + 1) = hexchar[(size >> 8) & 15];
  *(buf___19 + 2) = hexchar[(size >> 4) & 15];
  *(buf___19 + 3) = hexchar[size & 15];
  return;
}
}
static void format_packet(struct strbuf *out , char const   *prefix___1 , char const   *fmt ,
                          va_list args___0 )
{
  size_t orig_len ;
  size_t n ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  orig_len = out->len;
  strbuf_addstr(out, (char const   *)"0000");
  strbuf_addstr(out, prefix___1);
  strbuf_vaddf(out, fmt, args___0);
  n = out->len - orig_len;
  if (n > 65520UL) {
    tmp = _((char const   *)"protocol error: impossibly long line");
    die((char const   *)tmp);
  }
  set_packet_header(out->buf + orig_len, (int )n);
  packet_trace((char const   *)((out->buf + orig_len) + 4), (unsigned int )(n - 4UL),
               1);
  return;
}
}
static int packet_write_fmt_1(int fd , int gently , char const   *prefix___1 , char const   *fmt ,
                              va_list args___0 ) ;
static struct strbuf buf___8  =    {0UL, 0UL, strbuf_slopbuf};
static int packet_write_fmt_1(int fd , int gently , char const   *prefix___1 , char const   *fmt ,
                              va_list args___0 )
{
  int *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  ssize_t tmp___3 ;

  {
  strbuf_setlen(& buf___8, (size_t )0);
  format_packet(& buf___8, prefix___1, fmt, args___0);
  tmp___3 = write_in_full(fd, (void const   *)buf___8.buf, buf___8.len);
  if (tmp___3 < 0L) {
    if (! gently) {
      tmp = __errno_location();
      check_pipe(*tmp);
      tmp___0 = _((char const   *)"packet write with format failed");
      die_errno((char const   *)tmp___0);
    }
    tmp___1 = _((char const   *)"packet write with format failed");
    error((char const   *)tmp___1);
    tmp___2 = const_error();
    return (tmp___2);
  }
  return (0);
}
}
void ( /* format attribute */  packet_write_fmt)(int fd , char const   *fmt  , ...)
{
  va_list args___0 ;

  {
  __builtin_va_start(args___0, fmt);
  packet_write_fmt_1(fd, 0, (char const   *)"", fmt, args___0);
  __builtin_va_end(args___0);
  return;
}
}
int ( /* format attribute */  packet_write_fmt_gently)(int fd , char const   *fmt
                                                       , ...)
{
  int status ;
  va_list args___0 ;

  {
  __builtin_va_start(args___0, fmt);
  status = packet_write_fmt_1(fd, 1, (char const   *)"", fmt, args___0);
  __builtin_va_end(args___0);
  return (status);
}
}
static int do_packet_write(int const   fd_out___0 , char const   *buf___19 , size_t size ,
                           struct strbuf *err___4 )
{
  char header___0[4] ;
  size_t packet_size ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int *tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  ssize_t tmp___3 ;
  ssize_t tmp___4 ;

  {
  if (size > 65516UL) {
    tmp = _((char const   *)"packet write failed - data exceeds max packet size");
    strbuf_addstr(err___4, (char const   *)tmp);
    return (-1);
  }
  packet_trace(buf___19, (unsigned int )size, 1);
  packet_size = size + 4UL;
  set_packet_header(header___0, (int )packet_size);
  tmp___3 = write_in_full((int )fd_out___0, (void const   *)(header___0), (size_t )4);
  if (tmp___3 < 0L) {
    tmp___0 = __errno_location();
    tmp___1 = strerror(*tmp___0);
    tmp___2 = _((char const   *)"packet write failed: %s");
    strbuf_addf(err___4, (char const   *)tmp___2, tmp___1);
    return (-1);
  } else {
    tmp___4 = write_in_full((int )fd_out___0, (void const   *)buf___19, size);
    if (tmp___4 < 0L) {
      tmp___0 = __errno_location();
      tmp___1 = strerror(*tmp___0);
      tmp___2 = _((char const   *)"packet write failed: %s");
      strbuf_addf(err___4, (char const   *)tmp___2, tmp___1);
      return (-1);
    }
  }
  return (0);
}
}
static int packet_write_gently(int const   fd_out___0 , char const   *buf___19 , size_t size )
{
  struct strbuf err___4 ;
  int tmp ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  tmp = do_packet_write(fd_out___0, buf___19, size, & err___4);
  if (tmp) {
    error((char const   *)"%s", err___4.buf);
    const_error();
    strbuf_release(& err___4);
    return (-1);
  }
  return (0);
}
}
void packet_write(int fd_out___0 , char const   *buf___19 , size_t size )
{
  struct strbuf err___4 ;
  int tmp ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  tmp = do_packet_write((int const   )fd_out___0, buf___19, size, & err___4);
  if (tmp) {
    die((char const   *)"%s", err___4.buf);
  }
  return;
}
}
void packet_fwrite(FILE *f , char const   *buf___19 , size_t size )
{
  size_t packet_size ;
  char header___0[4] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if (size > 65516UL) {
    tmp = _((char const   *)"packet write failed - data exceeds max packet size");
    die((char const   *)tmp);
  }
  packet_trace(buf___19, (unsigned int )size, 1);
  packet_size = size + 4UL;
  set_packet_header(header___0, (int )packet_size);
  fwrite_or_die(f, (void const   *)(header___0), (size_t )4);
  fwrite_or_die(f, (void const   *)buf___19, size);
  return;
}
}
static struct strbuf buf___9  =    {0UL, 0UL, strbuf_slopbuf};
void ( /* format attribute */  packet_fwrite_fmt)(FILE *fh , char const   *fmt  , ...)
{
  va_list args___0 ;

  {
  strbuf_setlen(& buf___9, (size_t )0);
  __builtin_va_start(args___0, fmt);
  format_packet(& buf___9, (char const   *)"", fmt, args___0);
  __builtin_va_end(args___0);
  fwrite_or_die(fh, (void const   *)buf___9.buf, buf___9.len);
  return;
}
}
void packet_fflush(FILE *f )
{


  {
  packet_trace((char const   *)"0000", 4U, 1);
  fwrite_or_die(f, (void const   *)"0000", (size_t )4);
  fflush_or_die(f);
  return;
}
}
void ( /* format attribute */  packet_buf_write)(struct strbuf *buf___19 , char const   *fmt
                                                 , ...)
{
  va_list args___0 ;

  {
  __builtin_va_start(args___0, fmt);
  format_packet(buf___19, (char const   *)"", fmt, args___0);
  __builtin_va_end(args___0);
  return;
}
}
int write_packetized_from_fd_no_flush(int fd_in , int fd_out___0 )
{
  char *buf___19 ;
  void *tmp ;
  int err___4 ;
  ssize_t bytes_to_write ;

  {
  tmp = xmalloc((size_t )65516);
  buf___19 = (char *)tmp;
  err___4 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (! err___4)) {
      goto while_break;
    }
    bytes_to_write = xread(fd_in, (void *)buf___19, (size_t )65516);
    if (bytes_to_write < 0L) {
      free((void *)buf___19);
      return (-2);
    }
    if (bytes_to_write == 0L) {
      goto while_break;
    }
    err___4 = packet_write_gently((int const   )fd_out___0, (char const   *)buf___19,
                                  (size_t )bytes_to_write);
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)buf___19);
  return (err___4);
}
}
int write_packetized_from_buf_no_flush(char const   *src_in , size_t len___0 , int fd_out___0 )
{
  int err___4 ;
  size_t bytes_written ;
  size_t bytes_to_write ;

  {
  err___4 = 0;
  bytes_written = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (! err___4)) {
      goto while_break;
    }
    if (len___0 - bytes_written > 65516UL) {
      bytes_to_write = (size_t )65516;
    } else {
      bytes_to_write = len___0 - bytes_written;
    }
    if (bytes_to_write == 0UL) {
      goto while_break;
    }
    err___4 = packet_write_gently((int const   )fd_out___0, src_in + bytes_written,
                                  bytes_to_write);
    bytes_written += bytes_to_write;
  }
  while_break: /* CIL Label */ ;
  }
  return (err___4);
}
}
static int get_packet_data(int fd , char **src_buf , size_t *src_size , void *dst ,
                           unsigned int size , int options )
{
  ssize_t ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  if (fd >= 0) {
    if (src_buf) {
      if (*src_buf) {
        BUG_fl((char const   *)"pkt-line.c", 337, (char const   *)"multiple sources given to packet_read");
      }
    }
  }
  if (src_buf) {
    if (*src_buf) {
      if ((size_t )size < *src_size) {
        ret___67 = (ssize_t )size;
      } else {
        ret___67 = (ssize_t )*src_size;
      }
      memcpy(dst, (void const   *)*src_buf, (size_t )ret___67);
      *src_buf += ret___67;
      *src_size -= (size_t )ret___67;
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    ret___67 = read_in_full(fd, dst, (size_t )size);
    if (ret___67 < 0L) {
      if ((unsigned int )options & (1u << 3)) {
        tmp = _((char const   *)"read error");
        error_errno((char const   *)tmp);
        tmp___0 = const_error();
        return (tmp___0);
      }
      tmp___1 = _((char const   *)"read error");
      die_errno((char const   *)tmp___1);
    }
  }
  if (ret___67 != (ssize_t )size) {
    if ((unsigned int )options & 1u) {
      return (-1);
    }
    if ((unsigned int )options & (1u << 3)) {
      tmp___2 = _((char const   *)"the remote end hung up unexpectedly");
      error((char const   *)tmp___2);
      tmp___3 = const_error();
      return (tmp___3);
    }
    tmp___4 = _((char const   *)"the remote end hung up unexpectedly");
    die((char const   *)tmp___4);
  }
  return ((int )ret___67);
}
}
int packet_length(char const   *lenbuf_hex )
{
  int val ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = hex2chr((char const   *)lenbuf_hex);
  val = tmp;
  if (val < 0) {
    tmp___1 = val;
  } else {
    tmp___0 = hex2chr((char const   *)(lenbuf_hex + 2));
    tmp___1 = (val << 8) | tmp___0;
  }
  return (tmp___1);
}
}
static char *find_packfile_uri_path(char const   *buffer___5 )
{
  char const   *URI_MARK ;
  char *path___6 ;
  int len___0 ;
  size_t tmp ;
  size_t tmp___0 ;

  {
  URI_MARK = (char const   *)"://";
  buffer___5 ++;
  tmp = strspn(buffer___5, (char const   *)"0123456789abcdefABCDEF");
  len___0 = (int )tmp;
  if (len___0 == 40) {
    goto _L;
  } else
  if (len___0 == 64) {
    _L: /* CIL Label */
    if ((int const   )*(buffer___5 + len___0) != 32) {
      return ((char *)((void *)0));
    }
  } else {
    return ((char *)((void *)0));
  }
  path___6 = strstr((buffer___5 + len___0) + 1, URI_MARK);
  if (! path___6) {
    return ((char *)((void *)0));
  }
  tmp___0 = strlen(URI_MARK);
  path___6 = strchr((char const   *)(path___6 + tmp___0), '/');
  if (! path___6) {
    return ((char *)((void *)0));
  } else
  if (! *(path___6 + 1)) {
    return ((char *)((void *)0));
  }
  path___6 ++;
  return (path___6);
}
}
enum packet_read_status packet_read_with_status(int fd , char **src_buffer , size_t *src_len ,
                                                char *buffer___5 , unsigned int size ,
                                                int *pktlen , int options )
{
  int len___0 ;
  char linelen___1[4] ;
  char *uri_path_start ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  char const   *redacted ;
  struct strbuf tracebuf ;
  size_t tmp___10 ;
  size_t tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;

  {
  tmp = get_packet_data(fd, src_buffer, src_len, (void *)(linelen___1), 4U, options);
  if (tmp < 0) {
    *pktlen = -1;
    return ((enum packet_read_status )0);
  }
  len___0 = packet_length((char const   *)(linelen___1));
  if (len___0 < 0) {
    if ((unsigned int )options & (1u << 3)) {
      tmp___0 = _((char const   *)"protocol error: bad line length character: %.4s");
      error((char const   *)tmp___0, linelen___1);
      tmp___1 = const_error();
      return ((enum packet_read_status )tmp___1);
    }
    tmp___2 = _((char const   *)"protocol error: bad line length character: %.4s");
    die((char const   *)tmp___2, linelen___1);
  } else
  if (! len___0) {
    packet_trace((char const   *)"0000", 4U, 0);
    *pktlen = 0;
    return ((enum packet_read_status )2);
  } else
  if (len___0 == 1) {
    packet_trace((char const   *)"0001", 4U, 0);
    *pktlen = 0;
    return ((enum packet_read_status )3);
  } else
  if (len___0 == 2) {
    packet_trace((char const   *)"0002", 4U, 0);
    *pktlen = 0;
    return ((enum packet_read_status )4);
  } else
  if (len___0 < 4) {
    if ((unsigned int )options & (1u << 3)) {
      tmp___3 = _((char const   *)"protocol error: bad line length %d");
      error((char const   *)tmp___3, len___0);
      tmp___4 = const_error();
      return ((enum packet_read_status )tmp___4);
    }
    tmp___5 = _((char const   *)"protocol error: bad line length %d");
    die((char const   *)tmp___5, len___0);
  }
  len___0 -= 4;
  if ((unsigned int )len___0 >= size) {
    if ((unsigned int )options & (1u << 3)) {
      tmp___6 = _((char const   *)"protocol error: bad line length %d");
      error((char const   *)tmp___6, len___0);
      tmp___7 = const_error();
      return ((enum packet_read_status )tmp___7);
    }
    tmp___8 = _((char const   *)"protocol error: bad line length %d");
    die((char const   *)tmp___8, len___0);
  }
  tmp___9 = get_packet_data(fd, src_buffer, src_len, (void *)buffer___5, (unsigned int )len___0,
                            options);
  if (tmp___9 < 0) {
    *pktlen = -1;
    return ((enum packet_read_status )0);
  }
  if ((unsigned int )options & (1u << 1)) {
    if (len___0) {
      if ((int )*(buffer___5 + (len___0 - 1)) == 10) {
        len___0 --;
      }
    }
  }
  *(buffer___5 + len___0) = (char)0;
  if ((unsigned int )options & (1u << 4)) {
    uri_path_start = find_packfile_uri_path((char const   *)buffer___5);
    if (uri_path_start) {
      redacted = (char const   *)"<redacted>";
      tracebuf.alloc = 0UL;
      tracebuf.len = 0UL;
      tracebuf.buf = strbuf_slopbuf;
      strbuf_insert(& tracebuf, (size_t )0, (void const   *)buffer___5, (size_t )len___0);
      tmp___10 = strlen(redacted);
      tmp___11 = strlen((char const   *)uri_path_start);
      strbuf_splice(& tracebuf, (size_t )(uri_path_start - buffer___5), tmp___11,
                    (void const   *)redacted, tmp___10);
      packet_trace((char const   *)tracebuf.buf, (unsigned int )tracebuf.len, 0);
      strbuf_release(& tracebuf);
    } else {
      packet_trace((char const   *)buffer___5, (unsigned int )len___0, 0);
    }
  } else {
    packet_trace((char const   *)buffer___5, (unsigned int )len___0, 0);
  }
  if ((unsigned int )options & (1u << 2)) {
    tmp___13 = starts_with((char const   *)buffer___5, (char const   *)"ERR ");
    if (tmp___13) {
      tmp___12 = _((char const   *)"remote error: %s");
      die((char const   *)tmp___12, buffer___5 + 4);
    }
  }
  *pktlen = len___0;
  return ((enum packet_read_status )1);
}
}
int packet_read(int fd , char *buffer___5 , unsigned int size , int options )
{
  int pktlen ;

  {
  pktlen = -1;
  packet_read_with_status(fd, (char **)((void *)0), (size_t *)((void *)0), buffer___5,
                          size, & pktlen, options);
  return (pktlen);
}
}
char *packet_read_line(int fd , int *dst_len )
{
  int len___0 ;
  int tmp ;
  char *tmp___0 ;

  {
  tmp = packet_read(fd, packet_buffer, (unsigned int )sizeof(packet_buffer), (int )(1u << 1));
  len___0 = tmp;
  if (dst_len) {
    *dst_len = len___0;
  }
  if (len___0 > 0) {
    tmp___0 = packet_buffer;
  } else {
    tmp___0 = (char *)((void *)0);
  }
  return (tmp___0);
}
}
int packet_read_line_gently(int fd , int *dst_len , char **dst_line )
{
  int len___0 ;
  int tmp ;

  {
  tmp = packet_read(fd, packet_buffer, (unsigned int )sizeof(packet_buffer), (int )((1u << 1) | 1u));
  len___0 = tmp;
  if (dst_len) {
    *dst_len = len___0;
  }
  if (dst_line) {
    if (len___0 > 0) {
      *dst_line = packet_buffer;
    } else {
      *dst_line = (char *)((void *)0);
    }
  }
  return (len___0);
}
}
ssize_t read_packetized_to_strbuf(int fd_in , struct strbuf *sb_out , int options )
{
  int packet_len ;
  size_t orig_len ;
  size_t orig_alloc ;

  {
  orig_len = sb_out->len;
  orig_alloc = sb_out->alloc;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    strbuf_grow(sb_out, (size_t )65516);
    packet_len = packet_read(fd_in, sb_out->buf + sb_out->len, 65517U, options);
    if (packet_len <= 0) {
      goto while_break;
    }
    sb_out->len += (size_t )packet_len;
  }
  while_break: /* CIL Label */ ;
  }
  if (packet_len < 0) {
    if (orig_alloc == 0UL) {
      strbuf_release(sb_out);
    } else {
      strbuf_setlen(sb_out, orig_len);
    }
    return ((ssize_t )packet_len);
  }
  return ((ssize_t )(sb_out->len - orig_len));
}
}
int recv_sideband(char const   *me , int in_stream , int out )
{
  char buf___19[65521] ;
  int len___0 ;
  struct strbuf scratch ;
  enum sideband_type sideband_type ;
  int status ;
  enum packet_read_status tmp ;
  int tmp___0 ;

  {
  scratch.alloc = 0UL;
  scratch.len = 0UL;
  scratch.buf = strbuf_slopbuf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = packet_read_with_status(in_stream, (char **)((void *)0), (size_t *)((void *)0),
                                  buf___19, 65520U, & len___0, 1);
    status = (int )tmp;
    tmp___0 = demultiplex_sideband(me, status, buf___19, len___0, 0, & scratch, & sideband_type);
    if (! tmp___0) {
      goto while_continue;
    }
    {
    if ((int )sideband_type == 1) {
      goto case_1;
    }
    goto switch_default;
    case_1: /* CIL Label */
    write_or_die(out, (void const   *)(buf___19 + 1), (size_t )(len___0 - 1));
    goto switch_break;
    switch_default: /* CIL Label */
    if (scratch.len > 0UL) {
      BUG_fl((char const   *)"pkt-line.c", 562, (char const   *)"unhandled incomplete sideband: \'%s\'",
             scratch.buf);
    }
    return ((int )sideband_type);
    switch_break: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
void packet_reader_init(struct packet_reader *reader , int fd , char *src_buffer ,
                        size_t src_len , int options )
{


  {
  memset((void *)reader, 0, sizeof(*reader));
  reader->fd = fd;
  reader->src_buffer = src_buffer;
  reader->src_len = src_len;
  reader->buffer = packet_buffer;
  reader->buffer_size = (unsigned int )sizeof(packet_buffer);
  reader->options = options;
  reader->me = (char const   *)"git";
  reader->hash_algo = & hash_algos[1];
  return;
}
}
enum packet_read_status packet_reader_read(struct packet_reader *reader )
{
  struct strbuf scratch ;
  enum sideband_type sideband_type ;
  int tmp ;

  {
  scratch.alloc = 0UL;
  scratch.len = 0UL;
  scratch.buf = strbuf_slopbuf;
  if (reader->line_peeked) {
    reader->line_peeked = 0;
    return (reader->status);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    reader->status = packet_read_with_status(reader->fd, & reader->src_buffer, & reader->src_len,
                                             reader->buffer, reader->buffer_size,
                                             & reader->pktlen, reader->options);
    if (! reader->use_sideband) {
      goto while_break;
    }
    tmp = demultiplex_sideband(reader->me, (int )reader->status, reader->buffer, reader->pktlen,
                               1, & scratch, & sideband_type);
    if (tmp) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned int )reader->status == 1U) {
    if (reader->use_sideband) {
      reader->line = (char const   *)(reader->buffer + 1);
    } else {
      reader->line = (char const   *)reader->buffer;
    }
  } else {
    reader->line = (char const   *)((void *)0);
  }
  return (reader->status);
}
}
enum packet_read_status packet_reader_peek(struct packet_reader *reader )
{


  {
  if (reader->line_peeked) {
    return (reader->status);
  }
  packet_reader_read(reader);
  reader->line_peeked = 1;
  return (reader->status);
}
}
void packet_writer_init(struct packet_writer *writer___0 , int dest_fd )
{


  {
  writer___0->dest_fd = dest_fd;
  writer___0->use_sideband = 0U;
  return;
}
}
void ( /* format attribute */  packet_writer_write)(struct packet_writer *writer___0 ,
                                                    char const   *fmt  , ...)
{
  va_list args___0 ;
  char *tmp ;

  {
  __builtin_va_start(args___0, fmt);
  if (writer___0->use_sideband) {
    tmp = "\001";
  } else {
    tmp = "";
  }
  packet_write_fmt_1(writer___0->dest_fd, 0, (char const   *)tmp, fmt, args___0);
  __builtin_va_end(args___0);
  return;
}
}
void ( /* format attribute */  packet_writer_error)(struct packet_writer *writer___0 ,
                                                    char const   *fmt  , ...)
{
  va_list args___0 ;
  char *tmp ;

  {
  __builtin_va_start(args___0, fmt);
  if (writer___0->use_sideband) {
    tmp = "\003";
  } else {
    tmp = "ERR ";
  }
  packet_write_fmt_1(writer___0->dest_fd, 0, (char const   *)tmp, fmt, args___0);
  __builtin_va_end(args___0);
  return;
}
}
void packet_writer_delim(struct packet_writer *writer___0 )
{


  {
  packet_delim(writer___0->dest_fd);
  return;
}
}
void packet_writer_flush(struct packet_writer *writer___0 )
{


  {
  packet_flush(writer___0->dest_fd);
  return;
}
}
static void *preload_thread(void *_data )
{
  int nr___0 ;
  int last_nr ;
  struct thread_data *p___0 ;
  struct index_state *index___2 ;
  struct cache_entry **cep ;
  struct cache_def cache___0 ;
  struct cache_entry *ce ;
  struct cache_entry **tmp ;
  struct stat st ;
  struct progress_data *pd ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  struct progress_data *pd___0 ;

  {
  p___0 = (struct thread_data *)_data;
  index___2 = p___0->index;
  cep = index___2->cache + p___0->offset;
  cache___0.path.alloc = 0UL;
  cache___0.path.len = 0UL;
  cache___0.path.buf = strbuf_slopbuf;
  cache___0.flags = 0;
  cache___0.track_flags = 0;
  cache___0.prefix_len_stat_func = 0;
  nr___0 = p___0->nr;
  if ((unsigned int )(nr___0 + p___0->offset) > index___2->cache_nr) {
    nr___0 = (int )(index___2->cache_nr - (unsigned int )p___0->offset);
  }
  last_nr = nr___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = cep;
    cep ++;
    ce = *tmp;
    if ((12288U & ce->ce_flags) >> 12) {
      goto __Cont;
    }
    if ((ce->ce_mode & 61440U) == 57344U) {
      goto __Cont;
    }
    if (ce->ce_flags & (unsigned int )(1 << 18)) {
      goto __Cont;
    }
    if (ce->ce_flags & (unsigned int )(1 << 30)) {
      goto __Cont;
    }
    if (ce->ce_flags & (unsigned int )(1 << 21)) {
      goto __Cont;
    }
    if (p___0->progress) {
      if (! (nr___0 & 31)) {
        pd = p___0->progress;
        pthread_mutex_lock(& pd->mutex);
        pd->n += (unsigned long )(last_nr - nr___0);
        display_progress(pd->progress, pd->n);
        pthread_mutex_unlock(& pd->mutex);
        last_nr = nr___0;
      }
    }
    tmp___0 = ce_path_match(index___2, (struct cache_entry  const  *)ce, (struct pathspec  const  *)(& p___0->pathspec),
                            (char *)((void *)0));
    if (! tmp___0) {
      goto __Cont;
    }
    tmp___1 = threaded_has_symlink_leading_path(& cache___0, (char const   *)(ce->name),
                                                (int )ce->ce_namelen);
    if (tmp___1) {
      goto __Cont;
    }
    (p___0->t2_nr_lstat) ++;
    tmp___2 = lstat((char const   *)(ce->name), & st);
    if (tmp___2) {
      goto __Cont;
    }
    tmp___3 = ie_match_stat(index___2, (struct cache_entry  const  *)ce, & st, 34U);
    if (tmp___3) {
      goto __Cont;
    }
    ce->ce_flags |= (unsigned int )(1 << 18);
    mark_fsmonitor_valid(index___2, ce);
    __Cont: /* CIL Label */
    nr___0 --;
    if (! (nr___0 > 0)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (p___0->progress) {
    pd___0 = p___0->progress;
    pthread_mutex_lock(& pd___0->mutex);
    display_progress(pd___0->progress, pd___0->n + (unsigned long )last_nr);
    pthread_mutex_unlock(& pd___0->mutex);
  }
  cache_def_clear(& cache___0);
  return ((void *)0);
}
}
void preload_index(struct index_state *index___2 , struct pathspec  const  *pathspec___1 ,
                   unsigned int refresh_flags )
{
  int threads___0 ;
  int i ;
  int work ;
  int offset___2 ;
  struct thread_data data[20] ;
  struct progress_data pd ;
  int t2_sum_lstat ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  struct thread_data *p___0 ;
  int err___4 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  struct thread_data *p___1 ;
  int tmp___4 ;
  uint64_t tmp___5 ;
  int tmp___6 ;

  {
  t2_sum_lstat = 0;
  if (! core_preload_index) {
    return;
  }
  threads___0 = (int )(index___2->cache_nr / 500U);
  if (index___2->cache_nr > 1U) {
    if (threads___0 < 2) {
      tmp = git_env_bool((char const   *)"GIT_TEST_PRELOAD_INDEX", 0);
      if (tmp) {
        threads___0 = 2;
      }
    }
  }
  if (threads___0 < 2) {
    return;
  }
  trace2_region_enter_fl((char const   *)"preload-index.c", 114, (char const   *)"index",
                         (char const   *)"preload", (struct repository  const  *)((void *)0));
  trace_performance_enter();
  if (threads___0 > 20) {
    threads___0 = 20;
  }
  offset___2 = 0;
  work = (int )(((index___2->cache_nr + (unsigned int )threads___0) - 1U) / (unsigned int )threads___0);
  memset((void *)(& data), 0, sizeof(data));
  memset((void *)(& pd), 0, sizeof(pd));
  if (refresh_flags & (unsigned int )(1 << 6)) {
    tmp___1 = isatty(2);
    if (tmp___1) {
      tmp___0 = _((char const   *)"Refreshing index");
      pd.progress = start_delayed_progress((char const   *)tmp___0, (uint64_t )index___2->cache_nr);
      pthread_mutex_init(& pd.mutex, (pthread_mutexattr_t const   *)((void *)0));
    }
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < threads___0)) {
      goto while_break;
    }
    p___0 = data + i;
    p___0->index = index___2;
    if (pathspec___1) {
      copy_pathspec(& p___0->pathspec, pathspec___1);
    }
    p___0->offset = offset___2;
    p___0->nr = work;
    if (pd.progress) {
      p___0->progress = & pd;
    }
    offset___2 += work;
    err___4 = pthread_create((pthread_t * __restrict  )(& p___0->pthread), (pthread_attr_t const   * __restrict  )((void *)0),
                             & preload_thread, (void * __restrict  )p___0);
    if (err___4) {
      tmp___2 = strerror(err___4);
      tmp___3 = _((char const   *)"unable to create threaded lstat: %s");
      die((char const   *)tmp___3, tmp___2);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < threads___0)) {
      goto while_break___0;
    }
    p___1 = data + i;
    tmp___4 = pthread_join(p___1->pthread, (void **)((void *)0));
    if (tmp___4) {
      die((char const   *)"unable to join threaded lstat");
    }
    t2_sum_lstat += p___1->t2_nr_lstat;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  stop_progress(& pd.progress);
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    tmp___6 = trace_pass_fl(& trace_perf_key);
    if (tmp___6) {
      tmp___5 = getnanotime();
      trace_performance_leave_fl((char const   *)"preload-index.c", 154, tmp___5,
                                 (char const   *)"preload index");
    }
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  trace2_data_intmax_fl((char const   *)"preload-index.c", 156, (char const   *)"index",
                        (struct repository  const  *)((void *)0), (char const   *)"preload/sum_lstat",
                        (intmax_t )t2_sum_lstat);
  trace2_region_leave_fl((char const   *)"preload-index.c", 157, (char const   *)"index",
                         (char const   *)"preload", (struct repository  const  *)((void *)0));
  return;
}
}
int repo_read_index_preload(struct repository *repo , struct pathspec  const  *pathspec___1 ,
                            unsigned int refresh_flags )
{
  int retval ;
  int tmp ;

  {
  tmp = repo_read_index(repo);
  retval = tmp;
  preload_index(repo->index, pathspec___1, refresh_flags);
  return (retval);
}
}
static double const   __ac_HASH_UPPER___67  =    (double const   )0.77;
__inline static void kh_resize_oid_set___67(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___67(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___67 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___67 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___67(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___67(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___67(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___67(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___67(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___67(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___67 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___67 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___67(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___67(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___67(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___67(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___67(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___67(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___67 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___67 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___67(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___67(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___67(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___67(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
int trailer_set_where(enum trailer_where *item___0 , char const   *value ) ;
int trailer_set_if_exists(enum trailer_if_exists *item___0 , char const   *value ) ;
int trailer_set_if_missing(enum trailer_if_missing *item___0 , char const   *value ) ;
void process_trailers(char const   *file___0 , struct process_trailer_options  const  *opts___1 ,
                      struct list_head *new_trailer_head ) ;
void trailer_info_get(struct trailer_info *info___0 , char const   *str , struct process_trailer_options  const  *opts___1 ) ;
void trailer_info_release(struct trailer_info *info___0 ) ;
void format_trailers_from_commit(struct strbuf *out , char const   *msg___5 , struct process_trailer_options  const  *opts___1 ) ;
void trailer_iterator_init(struct trailer_iterator *iter___0 , char const   *msg___5 ) ;
int trailer_iterator_advance(struct trailer_iterator *iter___0 ) ;
void trailer_iterator_release(struct trailer_iterator *iter___0 ) ;
static char *user_format  ;
static struct cmt_fmt_map *commit_formats  ;
static size_t builtin_formats_len  ;
static size_t commit_formats_len  ;
static size_t commit_formats_alloc  ;
static struct cmt_fmt_map *find_commit_format(char const   *sought ) ;
int commit_format_is_empty(enum cmit_fmt fmt )
{
  int tmp ;

  {
  if ((unsigned int )fmt == 8U) {
    if (! *user_format) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static void save_user_format(struct rev_info *rev , char const   *cp , int is_tformat )
{


  {
  free((void *)user_format);
  user_format = xstrdup(cp);
  if (is_tformat) {
    rev->use_terminator = 1U;
  }
  rev->commit_format = (enum cmit_fmt )8;
  return;
}
}
static int git_pretty_formats_config(char const   *var , char const   *value , void *cb )
{
  struct cmt_fmt_map *commit_format ;
  char const   *name___0 ;
  char const   *fmt ;
  int i ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char *tmp___7 ;
  int tmp___8 ;

  {
  commit_format = (struct cmt_fmt_map *)((void *)0);
  tmp = skip_prefix(var, (char const   *)"pretty.", & name___0);
  if (! tmp) {
    return (0);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < builtin_formats_len)) {
      goto while_break;
    }
    tmp___0 = strcmp((commit_formats + i)->name, name___0);
    if (! tmp___0) {
      return (0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = (int )builtin_formats_len;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((size_t )i < commit_formats_len)) {
      goto while_break___0;
    }
    tmp___1 = strcmp((commit_formats + i)->name, name___0);
    if (! tmp___1) {
      commit_format = commit_formats + i;
      goto while_break___0;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (! commit_format) {
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (commit_formats_len + 1UL > commit_formats_alloc) {
        if (((commit_formats_alloc + 16UL) * 3UL) / 2UL < commit_formats_len + 1UL) {
          commit_formats_alloc = commit_formats_len + 1UL;
        } else {
          commit_formats_alloc = ((commit_formats_alloc + 16UL) * 3UL) / 2UL;
        }
        tmp___2 = st_mult(sizeof(*commit_formats), commit_formats_alloc);
        tmp___3 = xrealloc((void *)commit_formats, tmp___2);
        commit_formats = (struct cmt_fmt_map *)tmp___3;
      }
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
    commit_format = commit_formats + commit_formats_len;
    memset((void *)commit_format, 0, sizeof(*commit_format));
    commit_formats_len ++;
  }
  tmp___4 = xstrdup(name___0);
  commit_format->name = (char const   *)tmp___4;
  commit_format->format = (enum cmit_fmt )8;
  tmp___5 = git_config_string(& fmt, var, value);
  if (tmp___5) {
    return (-1);
  }
  tmp___8 = skip_prefix(fmt, (char const   *)"format:", & fmt);
  if (tmp___8) {
    commit_format->is_tformat = 0;
  } else {
    tmp___6 = skip_prefix(fmt, (char const   *)"tformat:", & fmt);
    if (tmp___6) {
      commit_format->is_tformat = 1;
    } else {
      tmp___7 = strchr(fmt, '%');
      if (tmp___7) {
        commit_format->is_tformat = 1;
      } else {
        commit_format->is_alias = 1;
      }
    }
  }
  commit_format->user_format = fmt;
  return (0);
}
}
static void setup_commit_formats(void)
{
  struct cmt_fmt_map builtin_formats[9] ;
  size_t tmp ;
  void *tmp___0 ;

  {
  builtin_formats[0].name = (char const   *)"raw";
  builtin_formats[0].format = (enum cmit_fmt )0;
  builtin_formats[0].is_tformat = 0;
  builtin_formats[0].expand_tabs_in_log = 0;
  builtin_formats[0].is_alias = 0;
  builtin_formats[0].default_date_mode_type = 0U;
  builtin_formats[0].user_format = (char const   *)0;
  builtin_formats[1].name = (char const   *)"medium";
  builtin_formats[1].format = (enum cmit_fmt )1;
  builtin_formats[1].is_tformat = 0;
  builtin_formats[1].expand_tabs_in_log = 8;
  builtin_formats[1].is_alias = 0;
  builtin_formats[1].default_date_mode_type = 0U;
  builtin_formats[1].user_format = (char const   *)0;
  builtin_formats[2].name = (char const   *)"short";
  builtin_formats[2].format = (enum cmit_fmt )2;
  builtin_formats[2].is_tformat = 0;
  builtin_formats[2].expand_tabs_in_log = 0;
  builtin_formats[2].is_alias = 0;
  builtin_formats[2].default_date_mode_type = 0U;
  builtin_formats[2].user_format = (char const   *)0;
  builtin_formats[3].name = (char const   *)"email";
  builtin_formats[3].format = (enum cmit_fmt )6;
  builtin_formats[3].is_tformat = 0;
  builtin_formats[3].expand_tabs_in_log = 0;
  builtin_formats[3].is_alias = 0;
  builtin_formats[3].default_date_mode_type = 0U;
  builtin_formats[3].user_format = (char const   *)0;
  builtin_formats[4].name = (char const   *)"mboxrd";
  builtin_formats[4].format = (enum cmit_fmt )7;
  builtin_formats[4].is_tformat = 0;
  builtin_formats[4].expand_tabs_in_log = 0;
  builtin_formats[4].is_alias = 0;
  builtin_formats[4].default_date_mode_type = 0U;
  builtin_formats[4].user_format = (char const   *)0;
  builtin_formats[5].name = (char const   *)"fuller";
  builtin_formats[5].format = (enum cmit_fmt )4;
  builtin_formats[5].is_tformat = 0;
  builtin_formats[5].expand_tabs_in_log = 8;
  builtin_formats[5].is_alias = 0;
  builtin_formats[5].default_date_mode_type = 0U;
  builtin_formats[5].user_format = (char const   *)0;
  builtin_formats[6].name = (char const   *)"full";
  builtin_formats[6].format = (enum cmit_fmt )3;
  builtin_formats[6].is_tformat = 0;
  builtin_formats[6].expand_tabs_in_log = 8;
  builtin_formats[6].is_alias = 0;
  builtin_formats[6].default_date_mode_type = 0U;
  builtin_formats[6].user_format = (char const   *)0;
  builtin_formats[7].name = (char const   *)"oneline";
  builtin_formats[7].format = (enum cmit_fmt )5;
  builtin_formats[7].is_tformat = 1;
  builtin_formats[7].expand_tabs_in_log = 0;
  builtin_formats[7].is_alias = 0;
  builtin_formats[7].default_date_mode_type = 0U;
  builtin_formats[7].user_format = (char const   *)0;
  builtin_formats[8].name = (char const   *)"reference";
  builtin_formats[8].format = (enum cmit_fmt )8;
  builtin_formats[8].is_tformat = 1;
  builtin_formats[8].expand_tabs_in_log = 0;
  builtin_formats[8].is_alias = 0;
  builtin_formats[8].default_date_mode_type = (enum date_mode_type )3;
  builtin_formats[8].user_format = (char const   *)"%C(auto)%h (%s, %ad)";
  commit_formats_len = sizeof(builtin_formats) / sizeof(builtin_formats[0]) + (sizeof(char [1]) - 1UL);
  builtin_formats_len = commit_formats_len;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (commit_formats_len > commit_formats_alloc) {
      if (((commit_formats_alloc + 16UL) * 3UL) / 2UL < commit_formats_len) {
        commit_formats_alloc = commit_formats_len;
      } else {
        commit_formats_alloc = ((commit_formats_alloc + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*commit_formats), commit_formats_alloc);
      tmp___0 = xrealloc((void *)commit_formats, tmp);
      commit_formats = (struct cmt_fmt_map *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  copy_array((void *)commit_formats, (void const   *)(builtin_formats), sizeof(builtin_formats) / sizeof(builtin_formats[0]) + (sizeof(char [1]) - 1UL),
             sizeof(*commit_formats) + (sizeof(char [1]) - 1UL));
  git_config(& git_pretty_formats_config, (void *)0);
  return;
}
}
static struct cmt_fmt_map *find_commit_format_recursive(char const   *sought , char const   *original ,
                                                        int num_redirections )
{
  struct cmt_fmt_map *found ;
  size_t found_match_len ;
  int i ;
  size_t match_len ;
  int tmp ;

  {
  found = (struct cmt_fmt_map *)((void *)0);
  found_match_len = (size_t )0;
  if ((size_t )num_redirections >= commit_formats_len) {
    die((char const   *)"invalid --pretty format: \'%s\' references an alias which points to itself",
        original);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < commit_formats_len)) {
      goto while_break;
    }
    tmp = starts_with((commit_formats + i)->name, sought);
    if (! tmp) {
      goto __Cont;
    }
    match_len = strlen((commit_formats + i)->name);
    if ((unsigned long )found == (unsigned long )((void *)0)) {
      found = commit_formats + i;
      found_match_len = match_len;
    } else
    if (found_match_len > match_len) {
      found = commit_formats + i;
      found_match_len = match_len;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (found) {
    if (found->is_alias) {
      found = find_commit_format_recursive(found->user_format, original, num_redirections + 1);
    }
  }
  return (found);
}
}
static struct cmt_fmt_map *find_commit_format(char const   *sought )
{
  struct cmt_fmt_map *tmp ;

  {
  if (! commit_formats) {
    setup_commit_formats();
  }
  tmp = find_commit_format_recursive(sought, sought, 0);
  return (tmp);
}
}
void get_commit_format(char const   *arg , struct rev_info *rev )
{
  struct cmt_fmt_map *commit_format ;
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  rev->use_terminator = 0U;
  if (! arg) {
    rev->commit_format = (enum cmit_fmt )1;
    return;
  }
  tmp = skip_prefix(arg, (char const   *)"format:", & arg);
  if (tmp) {
    save_user_format(rev, arg, 0);
    return;
  }
  if (! *arg) {
    save_user_format(rev, arg, 1);
    return;
  } else {
    tmp___0 = skip_prefix(arg, (char const   *)"tformat:", & arg);
    if (tmp___0) {
      save_user_format(rev, arg, 1);
      return;
    } else {
      tmp___1 = strchr(arg, '%');
      if (tmp___1) {
        save_user_format(rev, arg, 1);
        return;
      }
    }
  }
  commit_format = find_commit_format(arg);
  if (! commit_format) {
    die((char const   *)"invalid --pretty format: %s", arg);
  }
  rev->commit_format = commit_format->format;
  rev->use_terminator = (unsigned int )commit_format->is_tformat;
  rev->expand_tabs_in_log_default = commit_format->expand_tabs_in_log;
  if (! rev->date_mode_explicit) {
    if (commit_format->default_date_mode_type) {
      rev->date_mode.type = commit_format->default_date_mode_type;
    }
  }
  if ((unsigned int )commit_format->format == 8U) {
    save_user_format(rev, commit_format->user_format, commit_format->is_tformat);
  }
  return;
}
}
static int get_one_line(char const   *msg___5 )
{
  int ret___67 ;
  char c___0 ;
  char const   *tmp ;

  {
  ret___67 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = msg___5;
    msg___5 ++;
    c___0 = (char )*tmp;
    if (! c___0) {
      goto while_break;
    }
    ret___67 ++;
    if ((int )c___0 == 10) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static int non_ascii(int ch___0 )
{
  int tmp ;

  {
  if (! ((ch___0 & -128) == 0)) {
    tmp = 1;
  } else
  if (ch___0 == 27) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
int has_non_ascii(char const   *s___1 )
{
  int ch___0 ;
  int tmp ;
  char const   *tmp___0 ;

  {
  if (! s___1) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = s___1;
    s___1 ++;
    ch___0 = (int )*tmp___0;
    if (! (ch___0 != 0)) {
      goto while_break;
    }
    tmp = non_ascii(ch___0);
    if (tmp) {
      return (1);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int is_rfc822_special(char ch___0 )
{


  {
  {
  if ((int )ch___0 == 92) {
    goto case_92;
  }
  if ((int )ch___0 == 34) {
    goto case_92;
  }
  if ((int )ch___0 == 46) {
    goto case_92;
  }
  if ((int )ch___0 == 44) {
    goto case_92;
  }
  if ((int )ch___0 == 64) {
    goto case_92;
  }
  if ((int )ch___0 == 59) {
    goto case_92;
  }
  if ((int )ch___0 == 58) {
    goto case_92;
  }
  if ((int )ch___0 == 93) {
    goto case_92;
  }
  if ((int )ch___0 == 91) {
    goto case_92;
  }
  if ((int )ch___0 == 62) {
    goto case_92;
  }
  if ((int )ch___0 == 60) {
    goto case_92;
  }
  if ((int )ch___0 == 41) {
    goto case_92;
  }
  if ((int )ch___0 == 40) {
    goto case_92;
  }
  goto switch_default;
  case_92: /* CIL Label */
  case_34: /* CIL Label */
  case_46: /* CIL Label */
  case_44: /* CIL Label */
  case_64: /* CIL Label */
  case_59: /* CIL Label */
  case_58: /* CIL Label */
  case_93: /* CIL Label */
  case_91: /* CIL Label */
  case_62: /* CIL Label */
  case_60: /* CIL Label */
  case_41: /* CIL Label */
  case_40: /* CIL Label */
  return (1);
  switch_default: /* CIL Label */
  return (0);
  switch_break: /* CIL Label */ ;
  }
}
}
static int needs_rfc822_quoting(char const   *s___1 , int len___0 )
{
  int i ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < len___0)) {
      goto while_break;
    }
    tmp = is_rfc822_special((char )*(s___1 + i));
    if (tmp) {
      return (1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int last_line_length(struct strbuf *sb___6 )
{
  int i ;

  {
  i = (int )(sb___6->len - 1UL);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i >= 0)) {
      goto while_break;
    }
    if ((int )*(sb___6->buf + i) == 10) {
      goto while_break;
    }
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  return ((int )(sb___6->len - (size_t )(i + 1)));
}
}
static void add_rfc822_quoted(struct strbuf *out , char const   *s___1 , int len___0 )
{
  int i ;

  {
  strbuf_grow(out, (size_t )(len___0 + 2));
  strbuf_addch(out, '\"');
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < len___0)) {
      goto while_break;
    }
    {
    if ((int const   )*(s___1 + i) == 92) {
      goto case_92;
    }
    if ((int const   )*(s___1 + i) == 34) {
      goto case_92;
    }
    goto switch_default;
    case_92: /* CIL Label */
    case_34: /* CIL Label */
    strbuf_addch(out, '\\');
    switch_default: /* CIL Label */
    strbuf_addch(out, (int )*(s___1 + i));
    switch_break: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addch(out, '\"');
  return;
}
}
static int is_rfc2047_special(char ch___0 , enum rfc2047_type type___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = non_ascii((int )ch___0);
  if (tmp) {
    return (1);
  } else
  if ((int )ch___0 >= 0x20) {
    if (! ((int )ch___0 <= 0x7e)) {
      return (1);
    }
  } else {
    return (1);
  }
  if (((int const   )sane_ctype[(unsigned char )ch___0] & 1) != 0) {
    return (1);
  } else
  if ((int )ch___0 == 61) {
    return (1);
  } else
  if ((int )ch___0 == 63) {
    return (1);
  } else
  if ((int )ch___0 == 95) {
    return (1);
  }
  if ((unsigned int )type___0 != 1U) {
    return (0);
  }
  if (((int const   )sane_ctype[(unsigned char )ch___0] & 6) != 0) {
    tmp___0 = 0;
  } else
  if ((int )ch___0 == 33) {
    tmp___0 = 0;
  } else
  if ((int )ch___0 == 42) {
    tmp___0 = 0;
  } else
  if ((int )ch___0 == 43) {
    tmp___0 = 0;
  } else
  if ((int )ch___0 == 45) {
    tmp___0 = 0;
  } else
  if ((int )ch___0 == 47) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
static int needs_rfc2047_encoding(char const   *line___0 , int len___0 )
{
  int i ;
  int ch___0 ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < len___0)) {
      goto while_break;
    }
    ch___0 = (int )*(line___0 + i);
    tmp = non_ascii(ch___0);
    if (tmp) {
      return (1);
    } else
    if (ch___0 == 10) {
      return (1);
    }
    if (i + 1 < len___0) {
      if (ch___0 == 61) {
        if ((int const   )*(line___0 + (i + 1)) == 63) {
          return (1);
        }
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void add_rfc2047(struct strbuf *sb___6 , char const   *line___0 , size_t len___0 ,
                        char const   *encoding , enum rfc2047_type type___0 ) ;
static int const   max_encoded_length  =    (int const   )76;
static void add_rfc2047(struct strbuf *sb___6 , char const   *line___0 , size_t len___0 ,
                        char const   *encoding , enum rfc2047_type type___0 )
{
  int i ;
  int line_len ;
  int tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  unsigned char const   *p___0 ;
  int chrlen ;
  int tmp___2 ;
  int is_special ;
  int tmp___3 ;
  int tmp___4 ;
  char const   *encoded_fmt ;
  char *tmp___5 ;
  int encoded_len ;
  int tmp___6 ;
  size_t tmp___7 ;

  {
  tmp = last_line_length(sb___6);
  line_len = tmp;
  tmp___0 = strlen(encoding);
  strbuf_grow(sb___6, (len___0 * 3UL + tmp___0) + 100UL);
  strbuf_addf(sb___6, (char const   *)"=?%s?q?", encoding);
  tmp___1 = strlen(encoding);
  line_len = (int )((size_t )line_len + (tmp___1 + 5UL));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! len___0) {
      goto while_break;
    }
    p___0 = (unsigned char const   *)line___0;
    tmp___2 = mbs_chrlen(& line___0, & len___0, encoding);
    chrlen = tmp___2;
    if (chrlen > 1) {
      tmp___4 = 1;
    } else {
      tmp___3 = is_rfc2047_special((char )*p___0, type___0);
      if (tmp___3) {
        tmp___4 = 1;
      } else {
        tmp___4 = 0;
      }
    }
    is_special = tmp___4;
    if (is_special) {
      tmp___5 = "=%02X";
    } else {
      tmp___5 = "%c";
    }
    encoded_fmt = (char const   *)tmp___5;
    if (is_special) {
      tmp___6 = 3 * chrlen;
    } else {
      tmp___6 = 1;
    }
    encoded_len = tmp___6;
    if ((line_len + encoded_len) + 2 > (int )max_encoded_length) {
      strbuf_addf(sb___6, (char const   *)"?=\n =?%s?q?", encoding);
      tmp___7 = strlen(encoding);
      line_len = (int )((tmp___7 + 5UL) + 1UL);
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < chrlen)) {
        goto while_break___0;
      }
      strbuf_addf(sb___6, encoded_fmt, (int const   )*(p___0 + i));
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    line_len += encoded_len;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addstr(sb___6, (char const   *)"?=");
  return;
}
}
char const   *show_ident_date(struct ident_split  const  *ident , struct date_mode  const  *mode___1 )
{
  timestamp_t date ;
  long tz ;
  int tmp ;
  char const   *tmp___0 ;

  {
  date = (timestamp_t )0;
  tz = 0L;
  if (ident->date_begin) {
    if (ident->date_end) {
      date = strtoumax((char const   *)ident->date_begin, (char **)((void *)0), 10);
    }
  }
  tmp = date_overflows(date);
  if (tmp) {
    date = (timestamp_t )0;
  } else {
    if (ident->tz_begin) {
      if (ident->tz_end) {
        tz = strtol((char const   * __restrict  )ident->tz_begin, (char ** __restrict  )((void *)0),
                    10);
      }
    }
    if (tz >= 2147483647L) {
      tz = 0L;
    } else
    if (tz <= (-0x7FFFFFFF-1)) {
      tz = 0L;
    }
  }
  tmp___0 = show_date(date, (int )tz, mode___1);
  return (tmp___0);
}
}
__inline static void strbuf_add_with_color(struct strbuf *sb___6 , char const   *color___0 ,
                                           char const   *buf___19 , size_t buflen___0 )
{


  {
  strbuf_addstr(sb___6, color___0);
  strbuf_add(sb___6, (void const   *)buf___19, buflen___0);
  if (*color___0) {
    strbuf_addstr(sb___6, (char const   *)"\033[m");
  }
  return;
}
}
static void append_line_with_color(struct strbuf *sb___6 , struct grep_opt *opt___0 ,
                                   char const   *line___0 , size_t linelen___1 , int color___0 ,
                                   enum grep_context ctx___0 , enum grep_header_field field )
{
  char const   *buf___19 ;
  char const   *eol ;
  char const   *line_color ;
  char const   *match_color ;
  regmatch_t match___0 ;
  int eflags ;
  int tmp ;
  int tmp___0 ;

  {
  eflags = 0;
  buf___19 = line___0;
  eol = buf___19 + linelen___1;
  if (! opt___0) {
    goto end;
  } else {
    tmp = want_color_fd(1, color___0);
    if (tmp) {
      if (opt___0->invert) {
        goto end;
      }
    } else {
      goto end;
    }
  }
  line_color = (char const   *)(opt___0->colors[7]);
  match_color = (char const   *)(opt___0->colors[6]);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = grep_next_match(opt___0, buf___19, eol, ctx___0, & match___0, field,
                              eflags);
    if (! tmp___0) {
      goto while_break;
    }
    if (match___0.rm_so == match___0.rm_eo) {
      goto while_break;
    }
    strbuf_add_with_color(sb___6, line_color, buf___19, (size_t )match___0.rm_so);
    strbuf_add_with_color(sb___6, match_color, buf___19 + match___0.rm_so, (size_t )(match___0.rm_eo - match___0.rm_so));
    buf___19 += match___0.rm_eo;
    eflags = 1;
  }
  while_break: /* CIL Label */ ;
  }
  if (eflags) {
    strbuf_add_with_color(sb___6, line_color, buf___19, (size_t )(eol - buf___19));
  } else {
    end:
    strbuf_add(sb___6, (void const   *)buf___19, (size_t )(eol - buf___19));
  }
  return;
}
}
void pp_user_info(struct pretty_print_context *pp , char const   *what , struct strbuf *sb___6 ,
                  char const   *line___0 , char const   *encoding )
{
  struct ident_split ident ;
  char *line_end ;
  char const   *mailbuf ;
  char const   *namebuf ;
  size_t namelen ;
  size_t maillen ;
  int max_length___0 ;
  int tmp ;
  struct strbuf buf___19 ;
  char *tmp___0 ;
  int tmp___1 ;
  struct strbuf quoted ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  size_t tmp___5 ;
  size_t tmp___6 ;
  struct strbuf id ;
  enum grep_header_field field ;
  struct grep_opt *opt___0 ;
  struct grep_opt *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  char const   *tmp___11 ;
  struct date_mode *tmp___12 ;
  char const   *tmp___13 ;
  char const   *tmp___14 ;

  {
  max_length___0 = 78;
  if ((unsigned int )pp->fmt == 5U) {
    return;
  }
  line_end = strchrnul(line___0, '\n');
  tmp = split_ident_line(& ident, line___0, (int )(line_end - (char *)line___0));
  if (tmp) {
    return;
  }
  mailbuf = ident.mail_begin;
  maillen = (size_t )(ident.mail_end - ident.mail_begin);
  namebuf = ident.name_begin;
  namelen = (size_t )(ident.name_end - ident.name_begin);
  if (pp->mailmap) {
    map_user(pp->mailmap, & mailbuf, & maillen, & namebuf, & namelen);
  }
  tmp___10 = cmit_fmt_is_mail(pp->fmt);
  if (tmp___10) {
    if (pp->from_ident) {
      tmp___1 = ident_cmp((struct ident_split  const  *)pp->from_ident, (struct ident_split  const  *)(& ident));
      if (tmp___1) {
        buf___19.alloc = 0UL;
        buf___19.len = 0UL;
        buf___19.buf = strbuf_slopbuf;
        strbuf_addstr(& buf___19, (char const   *)"From: ");
        strbuf_add(& buf___19, (void const   *)namebuf, namelen);
        strbuf_addstr(& buf___19, (char const   *)" <");
        strbuf_add(& buf___19, (void const   *)mailbuf, maillen);
        strbuf_addstr(& buf___19, (char const   *)">\n");
        tmp___0 = strbuf_detach(& buf___19, (size_t *)((void *)0));
        string_list_append(& pp->in_body_headers, (char const   *)tmp___0);
        mailbuf = (pp->from_ident)->mail_begin;
        maillen = (size_t )((pp->from_ident)->mail_end - mailbuf);
        namebuf = (pp->from_ident)->name_begin;
        namelen = (size_t )((pp->from_ident)->name_end - namebuf);
      }
    }
    strbuf_addstr(sb___6, (char const   *)"From: ");
    if (pp->encode_email_headers) {
      tmp___3 = needs_rfc2047_encoding(namebuf, (int )namelen);
      if (tmp___3) {
        add_rfc2047(sb___6, namebuf, namelen, encoding, (enum rfc2047_type )1);
        max_length___0 = 76;
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      tmp___2 = needs_rfc822_quoting(namebuf, (int )namelen);
      if (tmp___2) {
        quoted.alloc = 0UL;
        quoted.len = 0UL;
        quoted.buf = strbuf_slopbuf;
        add_rfc822_quoted(& quoted, namebuf, (int )namelen);
        strbuf_add_wrapped_bytes(sb___6, (char const   *)quoted.buf, (int )quoted.len,
                                 -6, 1, max_length___0);
        strbuf_release(& quoted);
      } else {
        strbuf_add_wrapped_bytes(sb___6, namebuf, (int )namelen, -6, 1, max_length___0);
      }
    }
    tmp___4 = last_line_length(sb___6);
    tmp___5 = strlen((char const   *)" <");
    tmp___6 = strlen((char const   *)">");
    if ((size_t )max_length___0 < (((size_t )tmp___4 + tmp___5) + maillen) + tmp___6) {
      strbuf_addch(sb___6, '\n');
    }
    strbuf_addf(sb___6, (char const   *)" <%.*s>\n", (int )maillen, mailbuf);
  } else {
    id.alloc = 0UL;
    id.len = 0UL;
    id.buf = strbuf_slopbuf;
    field = (enum grep_header_field )3;
    if (pp->rev) {
      tmp___7 = & (pp->rev)->grep_filter;
    } else {
      tmp___7 = (struct grep_opt *)((void *)0);
    }
    opt___0 = tmp___7;
    tmp___9 = strcmp(what, (char const   *)"Author");
    if (tmp___9) {
      tmp___8 = strcmp(what, (char const   *)"Commit");
      if (! tmp___8) {
        field = (enum grep_header_field )1;
      }
    } else {
      field = (enum grep_header_field )0;
    }
    strbuf_addf(sb___6, (char const   *)"%s: ", what);
    if ((unsigned int )pp->fmt == 4U) {
      strbuf_addchars(sb___6, ' ', (size_t )4);
    }
    strbuf_addf(& id, (char const   *)"%.*s <%.*s>", (int )namelen, namebuf, (int )maillen,
                mailbuf);
    append_line_with_color(sb___6, opt___0, (char const   *)id.buf, id.len, pp->color,
                           (enum grep_context )0, field);
    strbuf_addch(sb___6, '\n');
    strbuf_release(& id);
  }
  {
  if ((unsigned int )pp->fmt == 1U) {
    goto case_1;
  }
  if ((unsigned int )pp->fmt == 7U) {
    goto case_7;
  }
  if ((unsigned int )pp->fmt == 6U) {
    goto case_7;
  }
  if ((unsigned int )pp->fmt == 4U) {
    goto case_4;
  }
  goto switch_default;
  case_1: /* CIL Label */
  tmp___11 = show_ident_date((struct ident_split  const  *)(& ident), (struct date_mode  const  *)(& pp->date_mode));
  strbuf_addf(sb___6, (char const   *)"Date:   %s\n", tmp___11);
  goto switch_break;
  case_7: /* CIL Label */
  case_6: /* CIL Label */
  tmp___12 = date_mode_from_type((enum date_mode_type )6);
  tmp___13 = show_ident_date((struct ident_split  const  *)(& ident), (struct date_mode  const  *)tmp___12);
  strbuf_addf(sb___6, (char const   *)"Date: %s\n", tmp___13);
  goto switch_break;
  case_4: /* CIL Label */
  tmp___14 = show_ident_date((struct ident_split  const  *)(& ident), (struct date_mode  const  *)(& pp->date_mode));
  strbuf_addf(sb___6, (char const   *)"%sDate: %s\n", what, tmp___14);
  goto switch_break;
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static int is_blank_line(char const   *line___0 , int *len_p )
{
  int len___0 ;

  {
  len___0 = *len_p;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (len___0) {
      if (! (((int const   )sane_ctype[(unsigned char )*(line___0 + (len___0 - 1))] & 1) != 0)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    len___0 --;
  }
  while_break: /* CIL Label */ ;
  }
  *len_p = len___0;
  return (! len___0);
}
}
char const   *skip_blank_lines(char const   *msg___5 )
{
  int linelen___1 ;
  int tmp ;
  int ll ;
  int tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = get_one_line(msg___5);
    linelen___1 = tmp;
    ll = linelen___1;
    if (! linelen___1) {
      goto while_break;
    }
    tmp___0 = is_blank_line(msg___5, & ll);
    if (! tmp___0) {
      goto while_break;
    }
    msg___5 += linelen___1;
  }
  while_break: /* CIL Label */ ;
  }
  return (msg___5);
}
}
static void add_merge_info(struct pretty_print_context  const  *pp , struct strbuf *sb___6 ,
                           struct commit  const  *commit )
{
  struct commit_list *parent ;
  int tmp ;
  struct object_id *oidp ;
  char *tmp___0 ;

  {
  parent = (struct commit_list *)commit->parents;
  if ((unsigned int )pp->fmt == 5U) {
    return;
  } else {
    tmp = cmit_fmt_is_mail((enum cmit_fmt )pp->fmt);
    if (tmp) {
      return;
    } else
    if (! parent) {
      return;
    } else
    if (! parent->next) {
      return;
    }
  }
  strbuf_addstr(sb___6, (char const   *)"Merge:");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! parent) {
      goto while_break;
    }
    oidp = & (parent->item)->object.oid;
    strbuf_addch(sb___6, ' ');
    if (pp->abbrev) {
      strbuf_add_unique_abbrev(sb___6, (struct object_id  const  *)oidp, (int )pp->abbrev);
    } else {
      tmp___0 = oid_to_hex((struct object_id  const  *)oidp);
      strbuf_addstr(sb___6, (char const   *)tmp___0);
    }
    parent = parent->next;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addch(sb___6, '\n');
  return;
}
}
static char *get_header(char const   *msg___5 , char const   *key___1 )
{
  size_t len___0 ;
  char const   *v ;
  char const   *tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  tmp = find_commit_header(msg___5, key___1, & len___0);
  v = tmp;
  if (v) {
    tmp___0 = xmemdupz((void const   *)v, len___0);
    tmp___1 = tmp___0;
  } else {
    tmp___1 = (void *)0;
  }
  return ((char *)tmp___1);
}
}
static char *replace_encoding_header(char *buf___19 , char const   *encoding )
{
  struct strbuf tmp ;
  size_t start ;
  size_t len___0 ;
  char *cp ;
  int tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  size_t tmp___4 ;
  size_t tmp___5 ;
  int tmp___6 ;
  char *tmp___7 ;

  {
  tmp.alloc = 0UL;
  tmp.len = 0UL;
  tmp.buf = strbuf_slopbuf;
  cp = buf___19;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = starts_with((char const   *)cp, (char const   *)"encoding ");
    if (tmp___0) {
      goto while_break;
    }
    cp = strchr((char const   *)cp, '\n');
    if (! cp) {
      return (buf___19);
    } else {
      cp ++;
      if ((int )*cp == 10) {
        return (buf___19);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  start = (size_t )(cp - buf___19);
  cp = strchr((char const   *)cp, '\n');
  if (! cp) {
    return (buf___19);
  }
  len___0 = (size_t )((cp + 1) - (buf___19 + start));
  tmp___1 = strlen((char const   *)buf___19);
  tmp___2 = strlen((char const   *)buf___19);
  strbuf_attach(& tmp, (void *)buf___19, tmp___2, tmp___1 + 1UL);
  tmp___6 = is_encoding_utf8(encoding);
  if (tmp___6) {
    strbuf_remove(& tmp, start, len___0);
  } else {
    tmp___3 = strlen(encoding);
    tmp___4 = strlen((char const   *)"encoding \n");
    tmp___5 = strlen((char const   *)"encoding ");
    strbuf_splice(& tmp, start + tmp___5, len___0 - tmp___4, (void const   *)encoding,
                  tmp___3);
  }
  tmp___7 = strbuf_detach(& tmp, (size_t *)((void *)0));
  return (tmp___7);
}
}
static char const   *utf8___0  =    (char const   *)"UTF-8";
char const   *repo_logmsg_reencode(struct repository *r , struct commit  const  *commit ,
                                   char **commit_encoding , char const   *output_encoding )
{
  char const   *use_encoding ;
  char *encoding ;
  char const   *msg___5 ;
  void const   *tmp ;
  char *out ;
  void const   *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;

  {
  tmp = repo_get_commit_buffer(r, commit, (unsigned long *)((void *)0));
  msg___5 = (char const   *)tmp;
  if (! output_encoding) {
    goto _L;
  } else
  if (! *output_encoding) {
    _L: /* CIL Label */
    if (commit_encoding) {
      *commit_encoding = get_header(msg___5, (char const   *)"encoding");
    }
    return (msg___5);
  }
  encoding = get_header(msg___5, (char const   *)"encoding");
  if (commit_encoding) {
    *commit_encoding = encoding;
  }
  if (encoding) {
    use_encoding = (char const   *)encoding;
  } else {
    use_encoding = utf8___0;
  }
  tmp___1 = same_encoding(use_encoding, output_encoding);
  if (tmp___1) {
    if (! encoding) {
      return (msg___5);
    }
    tmp___0 = get_cached_commit_buffer(r, commit, (unsigned long *)((void *)0));
    if ((unsigned long )msg___5 == (unsigned long )tmp___0) {
      out = xstrdup(msg___5);
    } else {
      out = (char *)msg___5;
    }
  } else {
    out = reencode_string(msg___5, output_encoding, use_encoding);
    if (out) {
      repo_unuse_commit_buffer(r, commit, (void const   *)msg___5);
    }
  }
  if (out) {
    out = replace_encoding_header(out, output_encoding);
  }
  if (! commit_encoding) {
    free((void *)encoding);
  }
  if (out) {
    tmp___2 = (char const   *)out;
  } else {
    tmp___2 = msg___5;
  }
  return (tmp___2);
}
}
static struct string_list *mail_map  ;
static int mailmap_name(char const   **email , size_t *email_len , char const   **name___0 ,
                        size_t *name_len )
{
  void *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! mail_map) {
    tmp = xcalloc((size_t )1, sizeof(*mail_map));
    mail_map = (struct string_list *)tmp;
    read_mailmap(mail_map);
  }
  if (mail_map->nr) {
    tmp___0 = map_user(mail_map, email, email_len, name___0, name_len);
    if (tmp___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static size_t format_person_part(struct strbuf *sb___6 , char part , char const   *msg___5 ,
                                 int len___0 , struct date_mode  const  *dmode )
{
  int placeholder_len ;
  struct ident_split s___1 ;
  char const   *name___0 ;
  char const   *mail ;
  size_t maillen ;
  size_t namelen ;
  int tmp ;
  char const   *at ;
  void *tmp___0 ;
  char const   *tmp___1 ;
  struct date_mode *tmp___2 ;
  char const   *tmp___3 ;
  struct date_mode *tmp___4 ;
  char const   *tmp___5 ;
  struct date_mode *tmp___6 ;
  char const   *tmp___7 ;
  struct date_mode *tmp___8 ;
  char const   *tmp___9 ;
  struct date_mode *tmp___10 ;
  char const   *tmp___11 ;
  struct date_mode *tmp___12 ;
  char const   *tmp___13 ;

  {
  placeholder_len = (int )2;
  tmp = split_ident_line(& s___1, msg___5, len___0);
  if (tmp < 0) {
    goto skip;
  }
  name___0 = s___1.name_begin;
  namelen = (size_t )(s___1.name_end - s___1.name_begin);
  mail = s___1.mail_begin;
  maillen = (size_t )(s___1.mail_end - s___1.mail_begin);
  if ((int )part == 78) {
    mailmap_name(& mail, & maillen, & name___0, & namelen);
  } else
  if ((int )part == 69) {
    mailmap_name(& mail, & maillen, & name___0, & namelen);
  } else
  if ((int )part == 76) {
    mailmap_name(& mail, & maillen, & name___0, & namelen);
  }
  if ((int )part == 110) {
    strbuf_add(sb___6, (void const   *)name___0, namelen);
    return ((size_t )placeholder_len);
  } else
  if ((int )part == 78) {
    strbuf_add(sb___6, (void const   *)name___0, namelen);
    return ((size_t )placeholder_len);
  }
  if ((int )part == 101) {
    strbuf_add(sb___6, (void const   *)mail, maillen);
    return ((size_t )placeholder_len);
  } else
  if ((int )part == 69) {
    strbuf_add(sb___6, (void const   *)mail, maillen);
    return ((size_t )placeholder_len);
  }
  if ((int )part == 108) {
    goto _L;
  } else
  if ((int )part == 76) {
    _L: /* CIL Label */
    tmp___0 = memchr((void const   *)mail, '@', maillen);
    at = (char const   *)tmp___0;
    if (at) {
      maillen = (size_t )(at - mail);
    }
    strbuf_add(sb___6, (void const   *)mail, maillen);
    return ((size_t )placeholder_len);
  }
  if (! s___1.date_begin) {
    goto skip;
  }
  if ((int )part == 116) {
    strbuf_add(sb___6, (void const   *)s___1.date_begin, (size_t )(s___1.date_end - s___1.date_begin));
    return ((size_t )placeholder_len);
  }
  {
  if ((int )part == 100) {
    goto case_100;
  }
  if ((int )part == 68) {
    goto case_68;
  }
  if ((int )part == 114) {
    goto case_114;
  }
  if ((int )part == 105) {
    goto case_105;
  }
  if ((int )part == 73) {
    goto case_73;
  }
  if ((int )part == 104) {
    goto case_104;
  }
  if ((int )part == 115) {
    goto case_115;
  }
  goto switch_break;
  case_100: /* CIL Label */
  tmp___1 = show_ident_date((struct ident_split  const  *)(& s___1), dmode);
  strbuf_addstr(sb___6, tmp___1);
  return ((size_t )placeholder_len);
  case_68: /* CIL Label */
  tmp___2 = date_mode_from_type((enum date_mode_type )6);
  tmp___3 = show_ident_date((struct ident_split  const  *)(& s___1), (struct date_mode  const  *)tmp___2);
  strbuf_addstr(sb___6, tmp___3);
  return ((size_t )placeholder_len);
  case_114: /* CIL Label */
  tmp___4 = date_mode_from_type((enum date_mode_type )2);
  tmp___5 = show_ident_date((struct ident_split  const  *)(& s___1), (struct date_mode  const  *)tmp___4);
  strbuf_addstr(sb___6, tmp___5);
  return ((size_t )placeholder_len);
  case_105: /* CIL Label */
  tmp___6 = date_mode_from_type((enum date_mode_type )4);
  tmp___7 = show_ident_date((struct ident_split  const  *)(& s___1), (struct date_mode  const  *)tmp___6);
  strbuf_addstr(sb___6, tmp___7);
  return ((size_t )placeholder_len);
  case_73: /* CIL Label */
  tmp___8 = date_mode_from_type((enum date_mode_type )5);
  tmp___9 = show_ident_date((struct ident_split  const  *)(& s___1), (struct date_mode  const  *)tmp___8);
  strbuf_addstr(sb___6, tmp___9);
  return ((size_t )placeholder_len);
  case_104: /* CIL Label */
  tmp___10 = date_mode_from_type((enum date_mode_type )1);
  tmp___11 = show_ident_date((struct ident_split  const  *)(& s___1), (struct date_mode  const  *)tmp___10);
  strbuf_addstr(sb___6, tmp___11);
  return ((size_t )placeholder_len);
  case_115: /* CIL Label */
  tmp___12 = date_mode_from_type((enum date_mode_type )3);
  tmp___13 = show_ident_date((struct ident_split  const  *)(& s___1), (struct date_mode  const  *)tmp___12);
  strbuf_addstr(sb___6, tmp___13);
  return ((size_t )placeholder_len);
  switch_break: /* CIL Label */ ;
  }
  skip:
  if ((int )part == 110) {
    return ((size_t )placeholder_len);
  } else
  if ((int )part == 101) {
    return ((size_t )placeholder_len);
  } else
  if ((int )part == 116) {
    return ((size_t )placeholder_len);
  } else
  if ((int )part == 100) {
    return ((size_t )placeholder_len);
  } else
  if ((int )part == 68) {
    return ((size_t )placeholder_len);
  } else
  if ((int )part == 114) {
    return ((size_t )placeholder_len);
  } else
  if ((int )part == 105) {
    return ((size_t )placeholder_len);
  }
  return ((size_t )0);
}
}
static void parse_commit_header(struct format_commit_context *context___0 )
{
  char const   *msg___5 ;
  int i ;
  char const   *name___0 ;
  int eol ;
  int tmp ;
  int tmp___0 ;

  {
  msg___5 = context___0->message;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(msg___5 + i)) {
      goto while_break;
    }
    eol = i;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (*(msg___5 + eol)) {
        if (! ((int const   )*(msg___5 + eol) != 10)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      eol ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (i == eol) {
      goto while_break;
    } else {
      tmp___0 = skip_prefix(msg___5 + i, (char const   *)"author ", & name___0);
      if (tmp___0) {
        context___0->author.off = (size_t )(name___0 - msg___5);
        context___0->author.len = (size_t )((msg___5 + eol) - name___0);
      } else {
        tmp = skip_prefix(msg___5 + i, (char const   *)"committer ", & name___0);
        if (tmp) {
          context___0->committer.off = (size_t )(name___0 - msg___5);
          context___0->committer.len = (size_t )((msg___5 + eol) - name___0);
        }
      }
    }
    i = eol;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  context___0->message_off = (size_t )i;
  context___0->commit_header_parsed = 1U;
  return;
}
}
static int istitlechar(char c___0 )
{
  int tmp ;

  {
  if ((int )c___0 >= 97) {
    if ((int )c___0 <= 122) {
      tmp = 1;
    } else {
      goto _L___1;
    }
  } else
  _L___1: /* CIL Label */
  if ((int )c___0 >= 65) {
    if ((int )c___0 <= 90) {
      tmp = 1;
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  if ((int )c___0 >= 48) {
    if ((int )c___0 <= 57) {
      tmp = 1;
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if ((int )c___0 == 46) {
    tmp = 1;
  } else
  if ((int )c___0 == 95) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
void format_sanitized_subject(struct strbuf *sb___6 , char const   *msg___5 , size_t len___0 )
{
  size_t trimlen ;
  size_t start_len ;
  int space___0 ;
  int i ;
  int tmp ;

  {
  start_len = sb___6->len;
  space___0 = 2;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < len___0)) {
      goto while_break;
    }
    tmp = istitlechar((char )*(msg___5 + i));
    if (tmp) {
      if (space___0 == 1) {
        strbuf_addch(sb___6, '-');
      }
      space___0 = 0;
      strbuf_addch(sb___6, (int )*(msg___5 + i));
      if ((int const   )*(msg___5 + i) == 46) {
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          if (! ((int const   )*(msg___5 + (i + 1)) == 46)) {
            goto while_break___0;
          }
          i ++;
        }
        while_break___0: /* CIL Label */ ;
        }
      }
    } else {
      space___0 |= 1;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  trimlen = (size_t )0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (sb___6->len - trimlen > start_len) {
      if (! ((int )*(sb___6->buf + ((sb___6->len - 1UL) - trimlen)) == 46)) {
        if (! ((int )*(sb___6->buf + ((sb___6->len - 1UL) - trimlen)) == 45)) {
          goto while_break___1;
        }
      }
    } else {
      goto while_break___1;
    }
    trimlen ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  strbuf_remove(sb___6, sb___6->len - trimlen, trimlen);
  return;
}
}
char const   *format_subject(struct strbuf *sb___6 , char const   *msg___5 , char const   *line_separator )
{
  int first ;
  char const   *line___0 ;
  int linelen___1 ;
  int tmp ;
  int tmp___0 ;

  {
  first = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    line___0 = msg___5;
    tmp = get_one_line(line___0);
    linelen___1 = tmp;
    msg___5 += linelen___1;
    if (! linelen___1) {
      goto while_break;
    } else {
      tmp___0 = is_blank_line(line___0, & linelen___1);
      if (tmp___0) {
        goto while_break;
      }
    }
    if (! sb___6) {
      goto __Cont;
    }
    strbuf_grow(sb___6, (size_t )(linelen___1 + 2));
    if (! first) {
      strbuf_addstr(sb___6, line_separator);
    }
    strbuf_add(sb___6, (void const   *)line___0, (size_t )linelen___1);
    first = 0;
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  return (msg___5);
}
}
static void parse_commit_message(struct format_commit_context *c___0 )
{
  char const   *msg___5 ;
  char const   *start ;

  {
  msg___5 = c___0->message + c___0->message_off;
  start = c___0->message;
  msg___5 = skip_blank_lines(msg___5);
  c___0->subject_off = (size_t )(msg___5 - start);
  msg___5 = format_subject((struct strbuf *)((void *)0), msg___5, (char const   *)((void *)0));
  msg___5 = skip_blank_lines(msg___5);
  c___0->body_off = (size_t )(msg___5 - start);
  c___0->commit_message_parsed = 1U;
  return;
}
}
static void strbuf_wrap(struct strbuf *sb___6 , size_t pos , size_t width , size_t indent1 ,
                        size_t indent2 )
{
  struct strbuf tmp ;

  {
  tmp.alloc = 0UL;
  tmp.len = 0UL;
  tmp.buf = strbuf_slopbuf;
  if (pos) {
    strbuf_add(& tmp, (void const   *)sb___6->buf, pos);
  }
  strbuf_add_wrapped_text(& tmp, (char const   *)(sb___6->buf + pos), (int )indent1,
                          (int )indent2, (int )width);
  strbuf_swap(& tmp, sb___6);
  strbuf_release(& tmp);
  return;
}
}
static void rewrap_message_tail(struct strbuf *sb___6 , struct format_commit_context *c___0 ,
                                size_t new_width , size_t new_indent1 , size_t new_indent2 )
{


  {
  if (c___0->width == new_width) {
    if (c___0->indent1 == new_indent1) {
      if (c___0->indent2 == new_indent2) {
        return;
      }
    }
  }
  if (c___0->wrap_start < sb___6->len) {
    strbuf_wrap(sb___6, c___0->wrap_start, c___0->width, c___0->indent1, c___0->indent2);
  }
  c___0->wrap_start = sb___6->len;
  c___0->width = new_width;
  c___0->indent1 = new_indent1;
  c___0->indent2 = new_indent2;
  return;
}
}
static int format_reflog_person(struct strbuf *sb___6 , char part , struct reflog_walk_info *log ,
                                struct date_mode  const  *dmode )
{
  char const   *ident ;
  size_t tmp ;
  size_t tmp___0 ;

  {
  if (! log) {
    return (2);
  }
  ident = get_reflog_ident(log);
  if (! ident) {
    return (2);
  }
  tmp = strlen(ident);
  tmp___0 = format_person_part(sb___6, part, ident, (int )tmp, dmode);
  return ((int )tmp___0);
}
}
static size_t parse_color___0(struct strbuf *sb___6 , char const   *placeholder ,
                              struct format_commit_context *c___0 )
{
  char const   *rest ;
  char const   *basic_color ;
  char const   *begin___0 ;
  char const   *end ;
  char *tmp ;
  char color___0[75] ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  rest = placeholder;
  basic_color = (char const   *)((void *)0);
  if ((int const   )*(placeholder + 1) == 40) {
    begin___0 = placeholder + 2;
    tmp = strchr(begin___0, ')');
    end = (char const   *)tmp;
    if (! end) {
      return ((size_t )0);
    }
    tmp___3 = skip_prefix(begin___0, (char const   *)"auto,", & begin___0);
    if (tmp___3) {
      tmp___0 = want_color_fd(1, (int )(c___0->pretty_ctx)->color);
      if (! tmp___0) {
        return ((size_t )((end - placeholder) + 1L));
      }
    } else {
      tmp___2 = skip_prefix(begin___0, (char const   *)"always,", & begin___0);
      if (! tmp___2) {
        tmp___1 = want_color_fd(1, (int )(c___0->pretty_ctx)->color);
        if (! tmp___1) {
          return ((size_t )((end - placeholder) + 1L));
        }
      }
    }
    tmp___5 = color_parse_mem(begin___0, (int )(end - begin___0), color___0);
    if (tmp___5 < 0) {
      tmp___4 = _((char const   *)"unable to parse --pretty format");
      die((char const   *)tmp___4);
    }
    strbuf_addstr(sb___6, (char const   *)(color___0));
    return ((size_t )((end - placeholder) + 1L));
  }
  tmp___9 = skip_prefix(placeholder + 1, (char const   *)"red", & rest);
  if (tmp___9) {
    basic_color = (char const   *)"\033[31m";
  } else {
    tmp___8 = skip_prefix(placeholder + 1, (char const   *)"green", & rest);
    if (tmp___8) {
      basic_color = (char const   *)"\033[32m";
    } else {
      tmp___7 = skip_prefix(placeholder + 1, (char const   *)"blue", & rest);
      if (tmp___7) {
        basic_color = (char const   *)"\033[34m";
      } else {
        tmp___6 = skip_prefix(placeholder + 1, (char const   *)"reset", & rest);
        if (tmp___6) {
          basic_color = (char const   *)"\033[m";
        }
      }
    }
  }
  if (basic_color) {
    tmp___10 = want_color_fd(1, (int )(c___0->pretty_ctx)->color);
    if (tmp___10) {
      strbuf_addstr(sb___6, basic_color);
    }
  }
  return ((size_t )(rest - placeholder));
}
}
static size_t parse_padding_placeholder(char const   *placeholder , struct format_commit_context *c___0 )
{
  char const   *ch___0 ;
  enum flush_type flush_type ;
  int to_column ;
  char const   *tmp ;
  char const   *start ;
  char const   *end ;
  size_t tmp___0 ;
  char *next___2 ;
  int width ;
  long tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  ch___0 = placeholder;
  to_column = 0;
  tmp = ch___0;
  ch___0 ++;
  {
  if ((int const   )*tmp == 60) {
    goto case_60;
  }
  if ((int const   )*tmp == 62) {
    goto case_62;
  }
  goto switch_default;
  case_60: /* CIL Label */
  flush_type = (enum flush_type )1;
  goto switch_break;
  case_62: /* CIL Label */
  if ((int const   )*ch___0 == 60) {
    flush_type = (enum flush_type )4;
    ch___0 ++;
  } else
  if ((int const   )*ch___0 == 62) {
    flush_type = (enum flush_type )3;
    ch___0 ++;
  } else {
    flush_type = (enum flush_type )2;
  }
  goto switch_break;
  switch_default: /* CIL Label */
  return ((size_t )0);
  switch_break: /* CIL Label */ ;
  }
  if ((int const   )*ch___0 == 124) {
    to_column = 1;
    ch___0 ++;
  }
  if ((int const   )*ch___0 == 40) {
    start = ch___0 + 1;
    tmp___0 = strcspn(start, (char const   *)",)");
    end = start + tmp___0;
    if (! end) {
      return ((size_t )0);
    } else
    if ((unsigned long )end == (unsigned long )start) {
      return ((size_t )0);
    }
    tmp___1 = strtol((char const   * __restrict  )start, (char ** __restrict  )(& next___2),
                     10);
    width = (int )tmp___1;
    if ((unsigned long )next___2 == (unsigned long )start) {
      return ((size_t )0);
    } else
    if (width == 0) {
      return ((size_t )0);
    }
    if (width < 0) {
      if (to_column) {
        tmp___2 = term_columns();
        width += tmp___2;
      }
      if (width < 0) {
        return ((size_t )0);
      }
    }
    if (to_column) {
      c___0->padding = - width;
    } else {
      c___0->padding = width;
    }
    c___0->flush_type = flush_type;
    if ((int const   )*end == 44) {
      start = end + 1;
      tmp___3 = strchr(start, ')');
      end = (char const   *)tmp___3;
      if (! end) {
        return ((size_t )0);
      } else
      if ((unsigned long )end == (unsigned long )start) {
        return ((size_t )0);
      }
      tmp___6 = starts_with(start, (char const   *)"trunc)");
      if (tmp___6) {
        c___0->truncate = (enum trunc_type )3;
      } else {
        tmp___5 = starts_with(start, (char const   *)"ltrunc)");
        if (tmp___5) {
          c___0->truncate = (enum trunc_type )1;
        } else {
          tmp___4 = starts_with(start, (char const   *)"mtrunc)");
          if (tmp___4) {
            c___0->truncate = (enum trunc_type )2;
          } else {
            return ((size_t )0);
          }
        }
      }
    } else {
      c___0->truncate = (enum trunc_type )0;
    }
    return ((size_t )((end - placeholder) + 1L));
  }
  return ((size_t )0);
}
}
static int match_placeholder_arg_value(char const   *to_parse , char const   *candidate ,
                                       char const   **end , char const   **valuestart ,
                                       size_t *valuelen )
{
  char const   *p___0 ;
  int tmp ;

  {
  tmp = skip_prefix(to_parse, candidate, & p___0);
  if (! tmp) {
    return (0);
  }
  if (valuestart) {
    if ((int const   )*p___0 == 61) {
      *valuestart = p___0 + 1;
      *valuelen = strcspn(*valuestart, (char const   *)",)");
      p___0 = *valuestart + *valuelen;
    } else {
      if ((int const   )*p___0 != 44) {
        if ((int const   )*p___0 != 41) {
          return (0);
        }
      }
      *valuestart = (char const   *)((void *)0);
      *valuelen = (size_t )0;
    }
  }
  if ((int const   )*p___0 == 44) {
    *end = p___0 + 1;
    return (1);
  }
  if ((int const   )*p___0 == 41) {
    *end = p___0;
    return (1);
  }
  return (0);
}
}
static int match_placeholder_bool_arg(char const   *to_parse , char const   *candidate ,
                                      char const   **end , int *val )
{
  char const   *argval ;
  char *strval ;
  size_t arglen ;
  int v ;
  int tmp ;

  {
  tmp = match_placeholder_arg_value(to_parse, candidate, end, & argval, & arglen);
  if (! tmp) {
    return (0);
  }
  if (! argval) {
    *val = 1;
    return (1);
  }
  strval = xstrndup(argval, arglen);
  v = git_parse_maybe_bool((char const   *)strval);
  free((void *)strval);
  if (v == -1) {
    return (0);
  }
  *val = v;
  return (1);
}
}
static int format_trailer_match_cb(struct strbuf  const  *key___1 , void *ud )
{
  struct string_list  const  *list___3 ;
  struct string_list_item  const  *item___0 ;
  int tmp ;

  {
  list___3 = (struct string_list  const  *)ud;
  item___0 = (struct string_list_item  const  *)list___3->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(list___3->items + list___3->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if (key___1->len == (size_t )((uintptr_t )item___0->util)) {
      tmp = strncasecmp((char const   *)item___0->string, (char const   *)key___1->buf,
                        (size_t )key___1->len);
      if (! tmp) {
        return (1);
      }
    }
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int format_set_trailers_options(struct process_trailer_options *opts___1 , struct string_list *filter_list ,
                                struct strbuf *sepbuf , struct strbuf *kvsepbuf ,
                                char const   **arg , char **invalid_arg )
{
  char const   *argval ;
  size_t arglen ;
  uintptr_t len___0 ;
  struct string_list_item *tmp ;
  char *fmt ;
  char *fmt___0 ;
  size_t len___1 ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((int const   )*(*arg) == 41) {
      goto while_break;
    }
    tmp___7 = match_placeholder_arg_value(*arg, (char const   *)"key", arg, & argval,
                                          & arglen);
    if (tmp___7) {
      len___0 = arglen;
      if (! argval) {
        return (-1);
      }
      if (len___0) {
        if ((int const   )*(argval + (len___0 - 1UL)) == 58) {
          len___0 --;
        }
      }
      tmp = string_list_append(filter_list, argval);
      tmp->util = (void *)((char *)len___0);
      opts___1->filter = & format_trailer_match_cb;
      opts___1->filter_data = (void *)filter_list;
      opts___1->only_trailers = 1;
    } else {
      tmp___6 = match_placeholder_arg_value(*arg, (char const   *)"separator", arg,
                                            & argval, & arglen);
      if (tmp___6) {
        strbuf_setlen(sepbuf, (size_t )0);
        fmt = xstrndup(argval, arglen);
        strbuf_expand(sepbuf, (char const   *)fmt, & strbuf_expand_literal_cb, (void *)0);
        free((void *)fmt);
        opts___1->separator = (struct strbuf  const  *)sepbuf;
      } else {
        tmp___5 = match_placeholder_arg_value(*arg, (char const   *)"key_value_separator",
                                              arg, & argval, & arglen);
        if (tmp___5) {
          strbuf_setlen(kvsepbuf, (size_t )0);
          fmt___0 = xstrndup(argval, arglen);
          strbuf_expand(kvsepbuf, (char const   *)fmt___0, & strbuf_expand_literal_cb,
                        (void *)0);
          free((void *)fmt___0);
          opts___1->key_value_separator = (struct strbuf  const  *)kvsepbuf;
        } else {
          tmp___1 = match_placeholder_bool_arg(*arg, (char const   *)"only", arg,
                                               & opts___1->only_trailers);
          if (! tmp___1) {
            tmp___2 = match_placeholder_bool_arg(*arg, (char const   *)"unfold", arg,
                                                 & opts___1->unfold);
            if (! tmp___2) {
              tmp___3 = match_placeholder_bool_arg(*arg, (char const   *)"keyonly",
                                                   arg, & opts___1->key_only);
              if (! tmp___3) {
                tmp___4 = match_placeholder_bool_arg(*arg, (char const   *)"valueonly",
                                                     arg, & opts___1->value_only);
                if (! tmp___4) {
                  if (invalid_arg) {
                    tmp___0 = strcspn(*arg, (char const   *)",)");
                    len___1 = tmp___0;
                    *invalid_arg = xstrndup(*arg, len___1);
                  }
                  return (-1);
                }
              }
            }
          }
        }
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static size_t parse_describe_args(char const   *start , struct strvec *args___0 )
{
  struct __anonstruct_option_70237391 option[4] ;
  char const   *arg ;
  int found ;
  char const   *argval ;
  size_t arglen ;
  int optval ;
  int i ;
  int tmp ;
  char *endptr ;
  int tmp___0 ;
  int tmp___1 ;

  {
  option[0].name = "tags";
  option[0].type = (enum __anonenum_type_94025832 )0;
  option[1].name = "abbrev";
  option[1].type = (enum __anonenum_type_94025832 )1;
  option[2].name = "exclude";
  option[2].type = (enum __anonenum_type_94025832 )2;
  option[3].name = "match";
  option[3].type = (enum __anonenum_type_94025832 )2;
  arg = start;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    found = 0;
    arglen = (size_t )0;
    optval = 0;
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! found) {
        if (! ((unsigned long )i < sizeof(option) / sizeof(option[0]) + (sizeof(char [1]) - 1UL))) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      {
      if ((unsigned int )option[i].type == 0U) {
        goto case_0;
      }
      if ((unsigned int )option[i].type == 1U) {
        goto case_1;
      }
      if ((unsigned int )option[i].type == 2U) {
        goto case_2;
      }
      goto switch_break;
      case_0: /* CIL Label */
      tmp = match_placeholder_bool_arg(arg, (char const   *)option[i].name, & arg,
                                       & optval);
      if (tmp) {
        if (optval) {
          strvec_pushf(args___0, (char const   *)"--%s", option[i].name);
        } else {
          strvec_pushf(args___0, (char const   *)"--no-%s", option[i].name);
        }
        found = 1;
      }
      goto switch_break;
      case_1: /* CIL Label */
      tmp___0 = match_placeholder_arg_value(arg, (char const   *)option[i].name, & arg,
                                            & argval, & arglen);
      if (tmp___0) {
        if (! arglen) {
          return ((size_t )0);
        }
        strtol((char const   * __restrict  )argval, (char ** __restrict  )(& endptr),
               10);
        if ((size_t )(endptr - (char *)argval) != arglen) {
          return ((size_t )0);
        }
        strvec_pushf(args___0, (char const   *)"--%s=%.*s", option[i].name, (int )arglen,
                     argval);
        found = 1;
      }
      goto switch_break;
      case_2: /* CIL Label */
      tmp___1 = match_placeholder_arg_value(arg, (char const   *)option[i].name, & arg,
                                            & argval, & arglen);
      if (tmp___1) {
        if (! arglen) {
          return ((size_t )0);
        }
        strvec_pushf(args___0, (char const   *)"--%s=%.*s", option[i].name, (int )arglen,
                     argval);
        found = 1;
      }
      goto switch_break;
      switch_break: /* CIL Label */ ;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! found) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return ((size_t )(arg - start));
}
}
static size_t format_commit_one(struct strbuf *sb___6 , char const   *placeholder ,
                                void *context___0 )
{
  struct format_commit_context *c___0 ;
  struct commit  const  *commit ;
  char const   *msg___5 ;
  struct commit_list *p___0 ;
  char const   *arg ;
  char const   *eol ;
  size_t res ;
  char **slot ;
  int ret___67 ;
  size_t tmp ;
  int tmp___0 ;
  unsigned long width ;
  unsigned long indent1 ;
  unsigned long indent2 ;
  char *next___2 ;
  char const   *start ;
  char const   *end ;
  char *tmp___1 ;
  size_t tmp___2 ;
  struct child_process cmd ;
  struct strbuf out ;
  struct strbuf err___4 ;
  struct pretty_print_describe_status *describe_status ;
  size_t tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;
  char const   *tmp___6 ;
  char *tmp___7 ;
  char const   *tmp___8 ;
  char const   *tmp___9 ;
  char const   *tmp___10 ;
  struct object_id *tmp___11 ;
  char *tmp___12 ;
  struct object_id *tmp___13 ;
  char *tmp___14 ;
  char const   *tmp___15 ;
  int tmp___16 ;
  char const   *tmp___17 ;
  size_t tmp___18 ;
  size_t tmp___19 ;
  char *tmp___20 ;
  struct process_trailer_options opts___1 ;
  struct string_list filter_list ;
  struct strbuf sepbuf ;
  struct strbuf kvsepbuf ;
  size_t ret___68 ;
  int tmp___21 ;
  int tmp___22 ;

  {
  c___0 = (struct format_commit_context *)context___0;
  commit = c___0->commit;
  msg___5 = c___0->message;
  res = strbuf_expand_literal_cb(sb___6, placeholder, (void *)0);
  if (res) {
    return (res);
  }
  {
  if ((int const   )*(placeholder + 0) == 67) {
    goto case_67;
  }
  if ((int const   )*(placeholder + 0) == 119) {
    goto case_119;
  }
  if ((int const   )*(placeholder + 0) == 62) {
    goto case_62;
  }
  if ((int const   )*(placeholder + 0) == 60) {
    goto case_62;
  }
  goto switch_break;
  case_67: /* CIL Label */
  tmp___0 = starts_with(placeholder + 1, (char const   *)"(auto)");
  if (tmp___0) {
    c___0->auto_color = want_color_fd(1, (int )(c___0->pretty_ctx)->color);
    if (c___0->auto_color) {
      if (sb___6->len) {
        strbuf_addstr(sb___6, (char const   *)"\033[m");
      }
    }
    return ((size_t )7);
  } else {
    tmp = parse_color___0(sb___6, placeholder, c___0);
    ret___67 = (int )tmp;
    if (ret___67) {
      c___0->auto_color = 0;
    }
    return ((size_t )ret___67);
  }
  case_119: /* CIL Label */
  if ((int const   )*(placeholder + 1) == 40) {
    width = 0UL;
    indent1 = 0UL;
    indent2 = 0UL;
    start = placeholder + 2;
    tmp___1 = strchr(start, ')');
    end = (char const   *)tmp___1;
    if (! end) {
      return ((size_t )0);
    }
    if ((unsigned long )end > (unsigned long )start) {
      width = strtoul((char const   * __restrict  )start, (char ** __restrict  )(& next___2),
                      10);
      if ((int )*next___2 == 44) {
        indent1 = strtoul((char const   * __restrict  )(next___2 + 1), (char ** __restrict  )(& next___2),
                          10);
        if ((int )*next___2 == 44) {
          indent2 = strtoul((char const   * __restrict  )(next___2 + 1), (char ** __restrict  )(& next___2),
                            10);
        }
      }
      if ((int )*next___2 != 41) {
        return ((size_t )0);
      }
    }
    rewrap_message_tail(sb___6, c___0, width, indent1, indent2);
    return ((size_t )((end - placeholder) + 1L));
  } else {
    return ((size_t )0);
  }
  case_62: /* CIL Label */
  case_60: /* CIL Label */
  tmp___2 = parse_padding_placeholder(placeholder, c___0);
  return (tmp___2);
  switch_break: /* CIL Label */ ;
  }
  tmp___5 = skip_prefix(placeholder, (char const   *)"(describe", & arg);
  if (tmp___5) {
    cmd.args.v = empty_strvec;
    cmd.args.nr = 0UL;
    cmd.args.alloc = 0UL;
    cmd.env_array.v = empty_strvec;
    cmd.env_array.nr = 0UL;
    cmd.env_array.alloc = 0UL;
    cmd.pid = 0;
    cmd.trace2_child_id = 0;
    cmd.trace2_child_us_start = 0UL;
    cmd.trace2_child_class = (char const   *)0;
    cmd.trace2_hook_name = (char const   *)0;
    cmd.in = 0;
    cmd.out = 0;
    cmd.err = 0;
    cmd.dir = (char const   *)0;
    cmd.no_stdin = 0U;
    cmd.no_stdout = 0U;
    cmd.no_stderr = 0U;
    cmd.git_cmd = 0U;
    cmd.silent_exec_failure = 0U;
    cmd.use_shell = 0U;
    cmd.close_object_store = 0U;
    cmd.stdout_to_stderr = 0U;
    cmd.clean_on_exit = 0U;
    cmd.wait_after_clean = 0U;
    cmd.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    cmd.clean_on_exit_handler_cbdata = (void *)0;
    out.alloc = 0UL;
    out.len = 0UL;
    out.buf = strbuf_slopbuf;
    err___4.alloc = 0UL;
    err___4.len = 0UL;
    err___4.buf = strbuf_slopbuf;
    describe_status = (struct pretty_print_describe_status *)(c___0->pretty_ctx)->describe_status;
    if (describe_status) {
      if (! describe_status->max_invocations) {
        return ((size_t )0);
      }
      (describe_status->max_invocations) --;
    }
    cmd.git_cmd = 1U;
    strvec_push(& cmd.args, (char const   *)"describe");
    if ((int const   )*arg == 58) {
      arg ++;
      tmp___3 = parse_describe_args(arg, & cmd.args);
      arg += tmp___3;
    }
    if ((int const   )*arg != 41) {
      child_process_clear(& cmd);
      return ((size_t )0);
    }
    tmp___4 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    strvec_push(& cmd.args, (char const   *)tmp___4);
    pipe_command(& cmd, (char const   *)((void *)0), (size_t )0, & out, (size_t )0,
                 & err___4, (size_t )0);
    strbuf_rtrim(& out);
    strbuf_addbuf(sb___6, (struct strbuf  const  *)(& out));
    strbuf_release(& out);
    strbuf_release(& err___4);
    return ((size_t )((arg - placeholder) + 1L));
  }
  if (! commit->object.parsed) {
    parse_object(the_repository, (struct object_id  const  *)(& commit->object.oid));
  }
  {
  if ((int const   )*(placeholder + 0) == 72) {
    goto case_72;
  }
  if ((int const   )*(placeholder + 0) == 104) {
    goto case_104;
  }
  if ((int const   )*(placeholder + 0) == 84) {
    goto case_84;
  }
  if ((int const   )*(placeholder + 0) == 116) {
    goto case_116;
  }
  if ((int const   )*(placeholder + 0) == 80) {
    goto case_80;
  }
  if ((int const   )*(placeholder + 0) == 112) {
    goto case_112;
  }
  if ((int const   )*(placeholder + 0) == 109) {
    goto case_109;
  }
  if ((int const   )*(placeholder + 0) == 100) {
    goto case_100;
  }
  if ((int const   )*(placeholder + 0) == 68) {
    goto case_68;
  }
  if ((int const   )*(placeholder + 0) == 83) {
    goto case_83;
  }
  if ((int const   )*(placeholder + 0) == 103) {
    goto case_103;
  }
  if ((int const   )*(placeholder + 0) == 78) {
    goto case_78___0;
  }
  goto switch_break___0;
  case_72: /* CIL Label */
  tmp___6 = diff_get_color(c___0->auto_color, (enum color_diff )6);
  strbuf_addstr(sb___6, tmp___6);
  tmp___7 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
  strbuf_addstr(sb___6, (char const   *)tmp___7);
  tmp___8 = diff_get_color(c___0->auto_color, (enum color_diff )0);
  strbuf_addstr(sb___6, tmp___8);
  return ((size_t )1);
  case_104: /* CIL Label */
  tmp___9 = diff_get_color(c___0->auto_color, (enum color_diff )6);
  strbuf_addstr(sb___6, tmp___9);
  strbuf_add_unique_abbrev(sb___6, (struct object_id  const  *)(& commit->object.oid),
                           (int )(c___0->pretty_ctx)->abbrev);
  tmp___10 = diff_get_color(c___0->auto_color, (enum color_diff )0);
  strbuf_addstr(sb___6, tmp___10);
  return ((size_t )1);
  case_84: /* CIL Label */
  tmp___11 = get_commit_tree_oid(commit);
  tmp___12 = oid_to_hex((struct object_id  const  *)tmp___11);
  strbuf_addstr(sb___6, (char const   *)tmp___12);
  return ((size_t )1);
  case_116: /* CIL Label */
  tmp___13 = get_commit_tree_oid(commit);
  strbuf_add_unique_abbrev(sb___6, (struct object_id  const  *)tmp___13, (int )(c___0->pretty_ctx)->abbrev);
  return ((size_t )1);
  case_80: /* CIL Label */
  p___0 = (struct commit_list *)commit->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if ((unsigned long )p___0 != (unsigned long )commit->parents) {
      strbuf_addch(sb___6, ' ');
    }
    tmp___14 = oid_to_hex((struct object_id  const  *)(& (p___0->item)->object.oid));
    strbuf_addstr(sb___6, (char const   *)tmp___14);
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return ((size_t )1);
  case_112: /* CIL Label */
  p___0 = (struct commit_list *)commit->parents;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___0;
    }
    if ((unsigned long )p___0 != (unsigned long )commit->parents) {
      strbuf_addch(sb___6, ' ');
    }
    strbuf_add_unique_abbrev(sb___6, (struct object_id  const  *)(& (p___0->item)->object.oid),
                             (int )(c___0->pretty_ctx)->abbrev);
    p___0 = p___0->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  return ((size_t )1);
  case_109: /* CIL Label */
  tmp___15 = get_revision_mark((struct rev_info  const  *)((void *)0), commit);
  strbuf_addstr(sb___6, tmp___15);
  return ((size_t )1);
  case_100: /* CIL Label */
  format_decorations_extended(sb___6, commit, c___0->auto_color, (char const   *)" (",
                              (char const   *)", ", (char const   *)")");
  return ((size_t )1);
  case_68: /* CIL Label */
  format_decorations_extended(sb___6, commit, c___0->auto_color, (char const   *)"",
                              (char const   *)", ", (char const   *)"");
  return ((size_t )1);
  case_83: /* CIL Label */
  if ((c___0->pretty_ctx)->rev) {
    if (! ((c___0->pretty_ctx)->rev)->sources) {
      return ((size_t )0);
    }
  } else {
    return ((size_t )0);
  }
  slot = revision_sources_at(((c___0->pretty_ctx)->rev)->sources, commit);
  if (slot) {
    if (! *slot) {
      return ((size_t )0);
    }
  } else {
    return ((size_t )0);
  }
  strbuf_addstr(sb___6, (char const   *)*slot);
  return ((size_t )1);
  case_103: /* CIL Label */
  {
  if ((int const   )*(placeholder + 1) == 68) {
    goto case_68___0;
  }
  if ((int const   )*(placeholder + 1) == 100) {
    goto case_68___0;
  }
  if ((int const   )*(placeholder + 1) == 115) {
    goto case_115;
  }
  if ((int const   )*(placeholder + 1) == 69) {
    goto case_69;
  }
  if ((int const   )*(placeholder + 1) == 101) {
    goto case_69;
  }
  if ((int const   )*(placeholder + 1) == 78) {
    goto case_69;
  }
  if ((int const   )*(placeholder + 1) == 110) {
    goto case_69;
  }
  goto switch_break___1;
  case_68___0: /* CIL Label */
  case_100___0: /* CIL Label */
  if ((c___0->pretty_ctx)->reflog_info) {
    get_reflog_selector(sb___6, (struct reflog_walk_info *)(c___0->pretty_ctx)->reflog_info,
                        (struct date_mode  const  *)(& (c___0->pretty_ctx)->date_mode),
                        (int )(c___0->pretty_ctx)->date_mode_explicit, (int const   )*(placeholder + 1) == 100);
  }
  return ((size_t )2);
  case_115: /* CIL Label */
  if ((c___0->pretty_ctx)->reflog_info) {
    get_reflog_message(sb___6, (struct reflog_walk_info *)(c___0->pretty_ctx)->reflog_info);
  }
  return ((size_t )2);
  case_69: /* CIL Label */
  case_101: /* CIL Label */
  case_78: /* CIL Label */
  case_110: /* CIL Label */
  tmp___16 = format_reflog_person(sb___6, (char )*(placeholder + 1), (struct reflog_walk_info *)(c___0->pretty_ctx)->reflog_info,
                                  (struct date_mode  const  *)(& (c___0->pretty_ctx)->date_mode));
  return ((size_t )tmp___16);
  switch_break___1: /* CIL Label */ ;
  }
  return ((size_t )0);
  case_78___0: /* CIL Label */
  if ((c___0->pretty_ctx)->notes_message) {
    strbuf_addstr(sb___6, (char const   *)(c___0->pretty_ctx)->notes_message);
    return ((size_t )1);
  }
  return ((size_t )0);
  switch_break___0: /* CIL Label */ ;
  }
  if ((int const   )*(placeholder + 0) == 71) {
    if (! c___0->signature_check.result) {
      check_commit_signature(c___0->commit, & c___0->signature_check);
    }
    {
    if ((int const   )*(placeholder + 1) == 71) {
      goto case_71;
    }
    if ((int const   )*(placeholder + 1) == 63) {
      goto case_63;
    }
    if ((int const   )*(placeholder + 1) == 83) {
      goto case_83___0;
    }
    if ((int const   )*(placeholder + 1) == 75) {
      goto case_75;
    }
    if ((int const   )*(placeholder + 1) == 70) {
      goto case_70;
    }
    if ((int const   )*(placeholder + 1) == 80) {
      goto case_80___0;
    }
    if ((int const   )*(placeholder + 1) == 84) {
      goto case_84___0;
    }
    goto switch_default___0;
    case_71: /* CIL Label */
    if (c___0->signature_check.output) {
      strbuf_addstr(sb___6, (char const   *)c___0->signature_check.output);
    }
    goto switch_break___2;
    case_63: /* CIL Label */
    {
    if ((int )c___0->signature_check.result == 71) {
      goto case_71___0;
    }
    if ((int )c___0->signature_check.result == 82) {
      goto case_82;
    }
    if ((int )c___0->signature_check.result == 89) {
      goto case_82;
    }
    if ((int )c___0->signature_check.result == 88) {
      goto case_82;
    }
    if ((int )c___0->signature_check.result == 78) {
      goto case_82;
    }
    if ((int )c___0->signature_check.result == 69) {
      goto case_82;
    }
    if ((int )c___0->signature_check.result == 66) {
      goto case_82;
    }
    goto switch_break___3;
    case_71___0: /* CIL Label */
    {
    if ((unsigned int )c___0->signature_check.trust_level == 1U) {
      goto case_1;
    }
    if ((unsigned int )c___0->signature_check.trust_level == 0U) {
      goto case_1;
    }
    goto switch_default;
    case_1: /* CIL Label */
    case_0: /* CIL Label */
    strbuf_addch(sb___6, 'U');
    goto switch_break___4;
    switch_default: /* CIL Label */
    strbuf_addch(sb___6, 'G');
    goto switch_break___4;
    switch_break___4: /* CIL Label */ ;
    }
    goto switch_break___3;
    case_82: /* CIL Label */
    case_89: /* CIL Label */
    case_88: /* CIL Label */
    case_78___1: /* CIL Label */
    case_69___0: /* CIL Label */
    case_66: /* CIL Label */
    strbuf_addch(sb___6, (int )c___0->signature_check.result);
    switch_break___3: /* CIL Label */ ;
    }
    goto switch_break___2;
    case_83___0: /* CIL Label */
    if (c___0->signature_check.signer) {
      strbuf_addstr(sb___6, (char const   *)c___0->signature_check.signer);
    }
    goto switch_break___2;
    case_75: /* CIL Label */
    if (c___0->signature_check.key) {
      strbuf_addstr(sb___6, (char const   *)c___0->signature_check.key);
    }
    goto switch_break___2;
    case_70: /* CIL Label */
    if (c___0->signature_check.fingerprint) {
      strbuf_addstr(sb___6, (char const   *)c___0->signature_check.fingerprint);
    }
    goto switch_break___2;
    case_80___0: /* CIL Label */
    if (c___0->signature_check.primary_key_fingerprint) {
      strbuf_addstr(sb___6, (char const   *)c___0->signature_check.primary_key_fingerprint);
    }
    goto switch_break___2;
    case_84___0: /* CIL Label */
    {
    if ((unsigned int )c___0->signature_check.trust_level == 0U) {
      goto case_0___0;
    }
    if ((unsigned int )c___0->signature_check.trust_level == 1U) {
      goto case_1___0;
    }
    if ((unsigned int )c___0->signature_check.trust_level == 2U) {
      goto case_2;
    }
    if ((unsigned int )c___0->signature_check.trust_level == 3U) {
      goto case_3;
    }
    if ((unsigned int )c___0->signature_check.trust_level == 4U) {
      goto case_4;
    }
    goto switch_break___5;
    case_0___0: /* CIL Label */
    strbuf_addstr(sb___6, (char const   *)"undefined");
    goto switch_break___5;
    case_1___0: /* CIL Label */
    strbuf_addstr(sb___6, (char const   *)"never");
    goto switch_break___5;
    case_2: /* CIL Label */
    strbuf_addstr(sb___6, (char const   *)"marginal");
    goto switch_break___5;
    case_3: /* CIL Label */
    strbuf_addstr(sb___6, (char const   *)"fully");
    goto switch_break___5;
    case_4: /* CIL Label */
    strbuf_addstr(sb___6, (char const   *)"ultimate");
    goto switch_break___5;
    switch_break___5: /* CIL Label */ ;
    }
    goto switch_break___2;
    switch_default___0: /* CIL Label */
    return ((size_t )0);
    switch_break___2: /* CIL Label */ ;
    }
    return ((size_t )2);
  }
  if (! c___0->commit_header_parsed) {
    tmp___17 = repo_logmsg_reencode(c___0->repository, commit, & c___0->commit_encoding,
                                    (char const   *)"UTF-8");
    c___0->message = tmp___17;
    msg___5 = tmp___17;
    parse_commit_header(c___0);
  }
  {
  if ((int const   )*(placeholder + 0) == 97) {
    goto case_97;
  }
  if ((int const   )*(placeholder + 0) == 99) {
    goto case_99;
  }
  if ((int const   )*(placeholder + 0) == 101) {
    goto case_101___0;
  }
  if ((int const   )*(placeholder + 0) == 66) {
    goto case_66___0;
  }
  goto switch_break___6;
  case_97: /* CIL Label */
  tmp___18 = format_person_part(sb___6, (char )*(placeholder + 1), msg___5 + c___0->author.off,
                                (int )c___0->author.len, (struct date_mode  const  *)(& (c___0->pretty_ctx)->date_mode));
  return (tmp___18);
  case_99: /* CIL Label */
  tmp___19 = format_person_part(sb___6, (char )*(placeholder + 1), msg___5 + c___0->committer.off,
                                (int )c___0->committer.len, (struct date_mode  const  *)(& (c___0->pretty_ctx)->date_mode));
  return (tmp___19);
  case_101___0: /* CIL Label */
  if (c___0->commit_encoding) {
    strbuf_addstr(sb___6, (char const   *)c___0->commit_encoding);
  }
  return ((size_t )1);
  case_66___0: /* CIL Label */
  strbuf_addstr(sb___6, (msg___5 + c___0->message_off) + 1);
  return ((size_t )1);
  switch_break___6: /* CIL Label */ ;
  }
  if (! c___0->commit_message_parsed) {
    parse_commit_message(c___0);
  }
  {
  if ((int const   )*(placeholder + 0) == 115) {
    goto case_115___0;
  }
  if ((int const   )*(placeholder + 0) == 102) {
    goto case_102;
  }
  if ((int const   )*(placeholder + 0) == 98) {
    goto case_98;
  }
  goto switch_break___7;
  case_115___0: /* CIL Label */
  format_subject(sb___6, msg___5 + c___0->subject_off, (char const   *)" ");
  return ((size_t )1);
  case_102: /* CIL Label */
  tmp___20 = strchrnul(msg___5 + c___0->subject_off, '\n');
  eol = (char const   *)tmp___20;
  format_sanitized_subject(sb___6, msg___5 + c___0->subject_off, (size_t )(eol - (msg___5 + c___0->subject_off)));
  return ((size_t )1);
  case_98: /* CIL Label */
  strbuf_addstr(sb___6, msg___5 + c___0->body_off);
  return ((size_t )1);
  switch_break___7: /* CIL Label */ ;
  }
  tmp___22 = skip_prefix(placeholder, (char const   *)"(trailers", & arg);
  if (tmp___22) {
    opts___1.in_place = 0;
    opts___1.trim_empty = 0;
    opts___1.only_trailers = 0;
    opts___1.only_input = 0;
    opts___1.unfold = 0;
    opts___1.no_divider = 0;
    opts___1.key_only = 0;
    opts___1.value_only = 0;
    opts___1.separator = (struct strbuf  const  *)0;
    opts___1.key_value_separator = (struct strbuf  const  *)0;
    opts___1.filter = (int (*)(struct strbuf  const  * , void * ))0;
    opts___1.filter_data = (void *)0;
    filter_list.items = (struct string_list_item *)0;
    filter_list.nr = 0U;
    filter_list.alloc = 0U;
    filter_list.strdup_strings = 0U;
    filter_list.cmp = (int (*)(char const   * , char const   * ))0;
    sepbuf.alloc = 0UL;
    sepbuf.len = 0UL;
    sepbuf.buf = strbuf_slopbuf;
    kvsepbuf.alloc = 0UL;
    kvsepbuf.len = 0UL;
    kvsepbuf.buf = strbuf_slopbuf;
    ret___68 = (size_t )0;
    opts___1.no_divider = 1;
    if ((int const   )*arg == 58) {
      arg ++;
      tmp___21 = format_set_trailers_options(& opts___1, & filter_list, & sepbuf,
                                             & kvsepbuf, & arg, (char **)((void *)0));
      if (tmp___21) {
        goto trailer_out;
      }
    }
    if ((int const   )*arg == 41) {
      format_trailers_from_commit(sb___6, msg___5 + c___0->subject_off, (struct process_trailer_options  const  *)(& opts___1));
      ret___68 = (size_t )((arg - placeholder) + 1L);
    }
    trailer_out:
    string_list_clear(& filter_list, 0);
    strbuf_release(& sepbuf);
    return (ret___68);
  }
  return ((size_t )0);
}
}
static size_t format_and_pad_commit(struct strbuf *sb___6 , char const   *placeholder ,
                                    struct format_commit_context *c___0 )
{
  struct strbuf local_sb ;
  int total_consumed ;
  int len___0 ;
  int padding___2 ;
  char const   *start ;
  char *tmp ;
  int occupied ;
  int modifier ;
  int consumed ;
  size_t tmp___0 ;
  char const   *ch___0 ;
  char const   *p___0 ;
  size_t tmp___1 ;
  int sb_len ;
  int offset___2 ;

  {
  local_sb.alloc = 0UL;
  local_sb.len = 0UL;
  local_sb.buf = strbuf_slopbuf;
  total_consumed = 0;
  padding___2 = c___0->padding;
  if (padding___2 < 0) {
    tmp = strrchr((char const   *)sb___6->buf, '\n');
    start = (char const   *)tmp;
    if (! start) {
      start = (char const   *)sb___6->buf;
    }
    occupied = utf8_strnwidth(start, -1, 1);
    occupied += (int )(c___0->pretty_ctx)->graph_width;
    padding___2 = - padding___2 - occupied;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    modifier = (int const   )*placeholder == 67;
    tmp___0 = format_commit_one(& local_sb, placeholder, (void *)c___0);
    consumed = (int )tmp___0;
    total_consumed += consumed;
    if (! modifier) {
      goto while_break;
    }
    placeholder += consumed;
    if ((int const   )*placeholder != 37) {
      goto while_break;
    }
    placeholder ++;
    total_consumed ++;
  }
  while_break: /* CIL Label */ ;
  }
  len___0 = utf8_strnwidth((char const   *)local_sb.buf, -1, 1);
  if ((unsigned int )c___0->flush_type == 3U) {
    ch___0 = (char const   *)((sb___6->buf + sb___6->len) - 1);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (len___0 > padding___2) {
        if (! ((unsigned long )ch___0 > (unsigned long )sb___6->buf)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      if ((int const   )*ch___0 == 32) {
        ch___0 --;
        padding___2 ++;
        goto while_continue___0;
      }
      if ((int const   )*ch___0 != 109) {
        goto while_break___0;
      }
      p___0 = ch___0 - 1;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (ch___0 - p___0 < 10L) {
          if (! ((int const   )*p___0 != 27)) {
            goto while_break___1;
          }
        } else {
          goto while_break___1;
        }
        p___0 --;
      }
      while_break___1: /* CIL Label */ ;
      }
      if ((int const   )*p___0 != 27) {
        goto while_break___0;
      } else {
        tmp___1 = display_mode_esc_sequence_len(p___0);
        if ((size_t )((ch___0 + 1) - p___0) != tmp___1) {
          goto while_break___0;
        }
      }
      strbuf_insert(& local_sb, (size_t )0, (void const   *)p___0, (size_t )((ch___0 + 1) - p___0));
      ch___0 = p___0 - 1;
    }
    while_break___0: /* CIL Label */ ;
    }
    strbuf_setlen(sb___6, (size_t )((ch___0 + 1) - (char const   *)sb___6->buf));
    c___0->flush_type = (enum flush_type )2;
  }
  if (len___0 > padding___2) {
    {
    if ((unsigned int )c___0->truncate == 1U) {
      goto case_1;
    }
    if ((unsigned int )c___0->truncate == 2U) {
      goto case_2;
    }
    if ((unsigned int )c___0->truncate == 3U) {
      goto case_3;
    }
    if ((unsigned int )c___0->truncate == 0U) {
      goto case_0;
    }
    goto switch_break;
    case_1: /* CIL Label */
    strbuf_utf8_replace(& local_sb, 0, len___0 - (padding___2 - 2), (char const   *)"..");
    goto switch_break;
    case_2: /* CIL Label */
    strbuf_utf8_replace(& local_sb, padding___2 / 2 - 1, len___0 - (padding___2 - 2),
                        (char const   *)"..");
    goto switch_break;
    case_3: /* CIL Label */
    strbuf_utf8_replace(& local_sb, padding___2 - 2, len___0 - (padding___2 - 2),
                        (char const   *)"..");
    goto switch_break;
    case_0: /* CIL Label */
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    strbuf_addbuf(sb___6, (struct strbuf  const  *)(& local_sb));
  } else {
    sb_len = (int )sb___6->len;
    offset___2 = 0;
    if ((unsigned int )c___0->flush_type == 2U) {
      offset___2 = padding___2 - len___0;
    } else
    if ((unsigned int )c___0->flush_type == 4U) {
      offset___2 = (padding___2 - len___0) / 2;
    }
    padding___2 = (int )((size_t )(padding___2 - len___0) + local_sb.len);
    strbuf_addchars(sb___6, ' ', (size_t )padding___2);
    memcpy((void *)((sb___6->buf + sb_len) + offset___2), (void const   *)local_sb.buf,
           local_sb.len);
  }
  strbuf_release(& local_sb);
  c___0->flush_type = (enum flush_type )0;
  return ((size_t )total_consumed);
}
}
static size_t format_commit_item(struct strbuf *sb___6 , char const   *placeholder ,
                                 void *context___0 )
{
  int consumed ;
  size_t orig_len ;
  enum __anonenum_magic_393911561 magic ;
  size_t tmp ;
  size_t tmp___0 ;

  {
  magic = (enum __anonenum_magic_393911561 )0;
  {
  if ((int const   )*(placeholder + 0) == 45) {
    goto case_45;
  }
  if ((int const   )*(placeholder + 0) == 43) {
    goto case_43;
  }
  if ((int const   )*(placeholder + 0) == 32) {
    goto case_32;
  }
  goto switch_default;
  case_45: /* CIL Label */
  magic = (enum __anonenum_magic_393911561 )2;
  goto switch_break;
  case_43: /* CIL Label */
  magic = (enum __anonenum_magic_393911561 )1;
  goto switch_break;
  case_32: /* CIL Label */
  magic = (enum __anonenum_magic_393911561 )3;
  goto switch_break;
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  if ((unsigned int )magic != 0U) {
    placeholder ++;
  }
  orig_len = sb___6->len;
  if ((unsigned int )((struct format_commit_context *)context___0)->flush_type != 0U) {
    tmp = format_and_pad_commit(sb___6, placeholder, (struct format_commit_context *)context___0);
    consumed = (int )tmp;
  } else {
    tmp___0 = format_commit_one(sb___6, placeholder, context___0);
    consumed = (int )tmp___0;
  }
  if ((unsigned int )magic == 0U) {
    return ((size_t )consumed);
  }
  if (orig_len == sb___6->len) {
    if ((unsigned int )magic == 2U) {
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (sb___6->len) {
          if (! ((int )*(sb___6->buf + (sb___6->len - 1UL)) == 10)) {
            goto while_break;
          }
        } else {
          goto while_break;
        }
        strbuf_setlen(sb___6, sb___6->len - 1UL);
      }
      while_break: /* CIL Label */ ;
      }
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (orig_len != sb___6->len) {
    if ((unsigned int )magic == 1U) {
      strbuf_insertstr(sb___6, orig_len, (char const   *)"\n");
    } else
    if ((unsigned int )magic == 3U) {
      strbuf_insertstr(sb___6, orig_len, (char const   *)" ");
    }
  }
  return ((size_t )(consumed + 1));
}
}
static size_t userformat_want_item(struct strbuf *sb___6 , char const   *placeholder ,
                                   void *context___0 )
{
  struct userformat_want *w ;

  {
  w = (struct userformat_want *)context___0;
  if ((int const   )*placeholder == 43) {
    placeholder ++;
  } else
  if ((int const   )*placeholder == 45) {
    placeholder ++;
  } else
  if ((int const   )*placeholder == 32) {
    placeholder ++;
  }
  {
  if ((int const   )*placeholder == 78) {
    goto case_78;
  }
  if ((int const   )*placeholder == 83) {
    goto case_83;
  }
  if ((int const   )*placeholder == 68) {
    goto case_68;
  }
  if ((int const   )*placeholder == 100) {
    goto case_68;
  }
  goto switch_break;
  case_78: /* CIL Label */
  w->notes = 1U;
  goto switch_break;
  case_83: /* CIL Label */
  w->source = 1U;
  goto switch_break;
  case_68: /* CIL Label */
  case_100: /* CIL Label */
  w->decorate = 1U;
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return ((size_t )0);
}
}
void userformat_find_requirements(char const   *fmt , struct userformat_want *w )
{
  struct strbuf dummy___0 ;

  {
  dummy___0.alloc = 0UL;
  dummy___0.len = 0UL;
  dummy___0.buf = strbuf_slopbuf;
  if (! fmt) {
    if (! user_format) {
      return;
    }
    fmt = (char const   *)user_format;
  }
  strbuf_expand(& dummy___0, fmt, & userformat_want_item, (void *)w);
  strbuf_release(& dummy___0);
  return;
}
}
void repo_format_commit_message(struct repository *r , struct commit  const  *commit ,
                                char const   *format___0 , struct strbuf *sb___6 ,
                                struct pretty_print_context  const  *pretty_ctx )
{
  struct format_commit_context context___0 ;
  char const   *output_enc ;
  char const   *utf8___2 ;
  int tmp ;
  int tmp___0 ;
  size_t outsz ;
  char *out ;
  char *tmp___1 ;

  {
  context___0.repository = r;
  context___0.commit = commit;
  context___0.pretty_ctx = pretty_ctx;
  context___0.commit_header_parsed = 0U;
  context___0.commit_message_parsed = 0U;
  context___0.signature_check.payload = (char *)0;
  context___0.signature_check.payload_len = 0UL;
  context___0.signature_check.payload_type = 0U;
  context___0.signature_check.payload_timestamp = 0UL;
  context___0.signature_check.output = (char *)0;
  context___0.signature_check.gpg_status = (char *)0;
  context___0.signature_check.result = (char)0;
  context___0.signature_check.signer = (char *)0;
  context___0.signature_check.key = (char *)0;
  context___0.signature_check.fingerprint = (char *)0;
  context___0.signature_check.primary_key_fingerprint = (char *)0;
  context___0.signature_check.trust_level = 0U;
  context___0.flush_type = 0U;
  context___0.truncate = 0U;
  context___0.message = (char const   *)0;
  context___0.commit_encoding = (char *)0;
  context___0.width = 0UL;
  context___0.indent1 = 0UL;
  context___0.indent2 = 0UL;
  context___0.auto_color = 0;
  context___0.padding = 0;
  context___0.author.off = 0UL;
  context___0.author.len = 0UL;
  context___0.committer.off = 0UL;
  context___0.committer.len = 0UL;
  context___0.message_off = 0UL;
  context___0.subject_off = 0UL;
  context___0.body_off = 0UL;
  context___0.wrap_start = sb___6->len;
  output_enc = (char const   *)pretty_ctx->output_encoding;
  utf8___2 = (char const   *)"UTF-8";
  strbuf_expand(sb___6, format___0, & format_commit_item, (void *)(& context___0));
  rewrap_message_tail(sb___6, & context___0, (size_t )0, (size_t )0, (size_t )0);
  if (output_enc) {
    tmp = same_encoding(utf8___2, output_enc);
    if (tmp) {
      output_enc = (char const   *)((void *)0);
    }
  } else
  if (context___0.commit_encoding) {
    tmp___0 = same_encoding((char const   *)context___0.commit_encoding, utf8___2);
    if (! tmp___0) {
      output_enc = (char const   *)context___0.commit_encoding;
    }
  }
  if (output_enc) {
    tmp___1 = reencode_string_len((char const   *)sb___6->buf, sb___6->len, output_enc,
                                  utf8___2, & outsz);
    out = tmp___1;
    if (out) {
      strbuf_attach(sb___6, (void *)out, outsz, outsz + 1UL);
    }
  }
  free((void *)context___0.commit_encoding);
  repo_unuse_commit_buffer(r, commit, (void const   *)context___0.message);
  return;
}
}
static void pp_header(struct pretty_print_context *pp , char const   *encoding , struct commit  const  *commit ,
                      char const   **msg_p , struct strbuf *sb___6 )
{
  int parents_shown ;
  char const   *name___0 ;
  char const   *line___0 ;
  int linelen___1 ;
  int tmp ;
  int tmp___0 ;
  unsigned int num ;
  unsigned int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  parents_shown = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    line___0 = *msg_p;
    tmp = get_one_line(*msg_p);
    linelen___1 = tmp;
    if (! linelen___1) {
      return;
    }
    *msg_p += linelen___1;
    if (linelen___1 == 1) {
      return;
    }
    if ((unsigned int )pp->fmt == 0U) {
      strbuf_add(sb___6, (void const   *)line___0, (size_t )linelen___1);
      goto __Cont;
    }
    tmp___0 = starts_with(line___0, (char const   *)"parent ");
    if (tmp___0) {
      if ((size_t )linelen___1 != (the_repository->hash_algo)->hexsz + 8UL) {
        die((char const   *)"bad parent line in commit");
      }
      goto __Cont;
    }
    if (! parents_shown) {
      tmp___1 = commit_list_count((struct commit_list  const  *)commit->parents);
      num = tmp___1;
      strbuf_grow(sb___6, (size_t )(num * 74U + 20U));
      add_merge_info((struct pretty_print_context  const  *)pp, sb___6, commit);
      parents_shown = 1;
    }
    tmp___2 = skip_prefix(line___0, (char const   *)"author ", & name___0);
    if (tmp___2) {
      strbuf_grow(sb___6, (size_t )(linelen___1 + 80));
      pp_user_info(pp, (char const   *)"Author", sb___6, name___0, encoding);
    }
    tmp___3 = skip_prefix(line___0, (char const   *)"committer ", & name___0);
    if (tmp___3) {
      if ((unsigned int )pp->fmt == 3U) {
        strbuf_grow(sb___6, (size_t )(linelen___1 + 80));
        pp_user_info(pp, (char const   *)"Commit", sb___6, name___0, encoding);
      } else
      if ((unsigned int )pp->fmt == 4U) {
        strbuf_grow(sb___6, (size_t )(linelen___1 + 80));
        pp_user_info(pp, (char const   *)"Commit", sb___6, name___0, encoding);
      }
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int const   max_length  =    (int const   )78;
void pp_title_line(struct pretty_print_context *pp , char const   **msg_p , struct strbuf *sb___6 ,
                   char const   *encoding , int need_8bit_cte )
{
  struct strbuf title ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int i ;
  int tmp___2 ;
  char const   *header_fmt ;
  int tmp___3 ;
  int i___0 ;

  {
  strbuf_init(& title, (size_t )80);
  if (pp->preserve_subject) {
    tmp = "\n";
  } else {
    tmp = " ";
  }
  *msg_p = format_subject(& title, *msg_p, (char const   *)tmp);
  strbuf_grow(sb___6, title.len + 1024UL);
  if (pp->print_email_subject) {
    if (pp->rev) {
      fmt_output_email_subject(sb___6, pp->rev);
    }
    if (pp->encode_email_headers) {
      tmp___1 = needs_rfc2047_encoding((char const   *)title.buf, (int )title.len);
      if (tmp___1) {
        add_rfc2047(sb___6, (char const   *)title.buf, title.len, encoding, (enum rfc2047_type )0);
      } else {
        tmp___0 = last_line_length(sb___6);
        strbuf_add_wrapped_bytes(sb___6, (char const   *)title.buf, (int )title.len,
                                 - tmp___0, 1, (int )max_length);
      }
    } else {
      tmp___0 = last_line_length(sb___6);
      strbuf_add_wrapped_bytes(sb___6, (char const   *)title.buf, (int )title.len,
                               - tmp___0, 1, (int )max_length);
    }
  } else {
    strbuf_addbuf(sb___6, (struct strbuf  const  *)(& title));
  }
  strbuf_addch(sb___6, '\n');
  if (need_8bit_cte == 0) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )i < pp->in_body_headers.nr)) {
        goto while_break;
      }
      tmp___2 = has_non_ascii((char const   *)(pp->in_body_headers.items + i)->string);
      if (tmp___2) {
        need_8bit_cte = 1;
        goto while_break;
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (need_8bit_cte > 0) {
    header_fmt = (char const   *)"MIME-Version: 1.0\nContent-Type: text/plain; charset=%s\nContent-Transfer-Encoding: 8bit\n";
    strbuf_addf(sb___6, header_fmt, encoding);
  }
  if (pp->after_subject) {
    strbuf_addstr(sb___6, pp->after_subject);
  }
  tmp___3 = cmit_fmt_is_mail(pp->fmt);
  if (tmp___3) {
    strbuf_addch(sb___6, '\n');
  }
  if (pp->in_body_headers.nr) {
    i___0 = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned int )i___0 < pp->in_body_headers.nr)) {
        goto while_break___0;
      }
      strbuf_addstr(sb___6, (char const   *)(pp->in_body_headers.items + i___0)->string);
      free((void *)(pp->in_body_headers.items + i___0)->string);
      i___0 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    string_list_clear(& pp->in_body_headers, 0);
    strbuf_addch(sb___6, '\n');
  }
  strbuf_release(& title);
  return;
}
}
static int pp_utf8_width(char const   *start , char const   *end )
{
  int width ;
  size_t remain ;
  int n ;
  int tmp ;

  {
  width = 0;
  remain = (size_t )(end - start);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! remain) {
      goto while_break;
    }
    tmp = utf8_width(& start, & remain);
    n = tmp;
    if (n < 0) {
      return (-1);
    } else
    if (! start) {
      return (-1);
    }
    width += n;
  }
  while_break: /* CIL Label */ ;
  }
  return (width);
}
}
static void strbuf_add_tabexpand(struct strbuf *sb___6 , struct grep_opt *opt___0 ,
                                 int color___0 , int tabwidth , char const   *line___0 ,
                                 int linelen___1 )
{
  char const   *tab ;
  int width ;
  int tmp ;
  void *tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = memchr((void const   *)line___0, '\t', (size_t )linelen___1);
    tab = (char const   *)tmp___0;
    if (! ((unsigned long )tab != (unsigned long )((void *)0))) {
      goto while_break;
    }
    tmp = pp_utf8_width(line___0, tab);
    width = tmp;
    if (width < 0) {
      goto while_break;
    }
    append_line_with_color(sb___6, opt___0, line___0, (size_t )(tab - line___0), color___0,
                           (enum grep_context )1, (enum grep_header_field )3);
    strbuf_addchars(sb___6, ' ', (size_t )(tabwidth - width % tabwidth));
    linelen___1 = (int )((long )linelen___1 - ((tab + 1) - line___0));
    line___0 = tab + 1;
  }
  while_break: /* CIL Label */ ;
  }
  append_line_with_color(sb___6, opt___0, line___0, (size_t )linelen___1, color___0,
                         (enum grep_context )1, (enum grep_header_field )3);
  return;
}
}
static void pp_handle_indent(struct pretty_print_context *pp , struct strbuf *sb___6 ,
                             int indent , char const   *line___0 , int linelen___1 )
{
  struct grep_opt *opt___0 ;
  struct grep_opt *tmp ;

  {
  if (pp->rev) {
    tmp = & (pp->rev)->grep_filter;
  } else {
    tmp = (struct grep_opt *)((void *)0);
  }
  opt___0 = tmp;
  strbuf_addchars(sb___6, ' ', (size_t )indent);
  if (pp->expand_tabs_in_log) {
    strbuf_add_tabexpand(sb___6, opt___0, pp->color, pp->expand_tabs_in_log, line___0,
                         linelen___1);
  } else {
    append_line_with_color(sb___6, opt___0, line___0, (size_t )linelen___1, pp->color,
                           (enum grep_context )1, (enum grep_header_field )3);
  }
  return;
}
}
static int is_mboxrd_from(char const   *line___0 , int len___0 )
{
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (len___0 > 4) {
    tmp = strspn(line___0, (char const   *)">");
    tmp___0 = starts_with(line___0 + tmp, (char const   *)"From ");
    if (tmp___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
void pp_remainder(struct pretty_print_context *pp , char const   **msg_p , struct strbuf *sb___6 ,
                  int indent )
{
  struct grep_opt *opt___0 ;
  struct grep_opt *tmp ;
  int first ;
  char const   *line___0 ;
  int linelen___1 ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (pp->rev) {
    tmp = & (pp->rev)->grep_filter;
  } else {
    tmp = (struct grep_opt *)((void *)0);
  }
  opt___0 = tmp;
  first = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    line___0 = *msg_p;
    tmp___0 = get_one_line(line___0);
    linelen___1 = tmp___0;
    *msg_p += linelen___1;
    if (! linelen___1) {
      goto while_break;
    }
    tmp___1 = is_blank_line(line___0, & linelen___1);
    if (tmp___1) {
      if (first) {
        goto __Cont;
      }
      if ((unsigned int )pp->fmt == 2U) {
        goto while_break;
      }
    }
    first = 0;
    strbuf_grow(sb___6, (size_t )((linelen___1 + indent) + 20));
    if (indent) {
      pp_handle_indent(pp, sb___6, indent, line___0, linelen___1);
    } else
    if (pp->expand_tabs_in_log) {
      strbuf_add_tabexpand(sb___6, opt___0, pp->color, pp->expand_tabs_in_log, line___0,
                           linelen___1);
    } else {
      if ((unsigned int )pp->fmt == 7U) {
        tmp___2 = is_mboxrd_from(line___0, linelen___1);
        if (tmp___2) {
          strbuf_addch(sb___6, '>');
        }
      }
      append_line_with_color(sb___6, opt___0, line___0, (size_t )linelen___1, pp->color,
                             (enum grep_context )1, (enum grep_header_field )3);
    }
    strbuf_addch(sb___6, '\n');
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void pretty_print_commit(struct pretty_print_context *pp , struct commit  const  *commit ,
                         struct strbuf *sb___6 )
{
  unsigned long beginning_of_body ;
  int indent ;
  char const   *msg___5 ;
  char const   *reencoded ;
  char const   *encoding ;
  int need_8bit_cte ;
  int tmp ;
  int i ;
  int ch___0 ;
  int in_body ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  indent = 4;
  need_8bit_cte = pp->need_8bit_cte;
  if ((unsigned int )pp->fmt == 8U) {
    repo_format_commit_message(the_repository, commit, (char const   *)user_format,
                               sb___6, (struct pretty_print_context  const  *)pp);
    return;
  }
  encoding = get_log_output_encoding();
  reencoded = repo_logmsg_reencode(the_repository, commit, (char **)((void *)0), encoding);
  msg___5 = reencoded;
  if ((unsigned int )pp->fmt == 5U) {
    indent = 0;
  } else {
    tmp = cmit_fmt_is_mail(pp->fmt);
    if (tmp) {
      indent = 0;
    }
  }
  tmp___1 = cmit_fmt_is_mail(pp->fmt);
  if (tmp___1) {
    if (need_8bit_cte == 0) {
      i = 0;
      in_body = i;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        ch___0 = (int )*(msg___5 + i);
        if (! ch___0) {
          goto while_break;
        }
        if (! in_body) {
          if (ch___0 == 10) {
            if ((int const   )*(msg___5 + (i + 1)) == 10) {
              in_body = 1;
            }
          }
        } else {
          tmp___0 = non_ascii(ch___0);
          if (tmp___0) {
            need_8bit_cte = 1;
            goto while_break;
          }
        }
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
    }
  }
  pp_header(pp, encoding, commit, & msg___5, sb___6);
  if ((unsigned int )pp->fmt != 5U) {
    if (! pp->print_email_subject) {
      strbuf_addch(sb___6, '\n');
    }
  }
  msg___5 = skip_blank_lines(msg___5);
  if ((unsigned int )pp->fmt == 5U) {
    pp_title_line(pp, & msg___5, sb___6, encoding, need_8bit_cte);
  } else {
    tmp___2 = cmit_fmt_is_mail(pp->fmt);
    if (tmp___2) {
      pp_title_line(pp, & msg___5, sb___6, encoding, need_8bit_cte);
    }
  }
  beginning_of_body = sb___6->len;
  if ((unsigned int )pp->fmt != 5U) {
    pp_remainder(pp, & msg___5, sb___6, indent);
  }
  strbuf_rtrim(sb___6);
  if ((unsigned int )pp->fmt != 5U) {
    strbuf_addch(sb___6, '\n');
  }
  tmp___3 = cmit_fmt_is_mail(pp->fmt);
  if (tmp___3) {
    if (sb___6->len <= beginning_of_body) {
      strbuf_addch(sb___6, '\n');
    }
  }
  repo_unuse_commit_buffer(the_repository, commit, (void const   *)reencoded);
  return;
}
}
void pp_commit_easy(enum cmit_fmt fmt , struct commit  const  *commit , struct strbuf *sb___6 )
{
  struct pretty_print_context pp ;

  {
  pp.fmt = (enum cmit_fmt )0;
  pp.abbrev = 0;
  pp.after_subject = (char const   *)0;
  pp.preserve_subject = 0;
  pp.date_mode.type = 0U;
  pp.date_mode.strftime_fmt = (char const   *)0;
  pp.date_mode.local = 0;
  pp.date_mode_explicit = 0U;
  pp.print_email_subject = 0;
  pp.expand_tabs_in_log = 0;
  pp.need_8bit_cte = 0;
  pp.notes_message = (char *)0;
  pp.reflog_info = (struct reflog_walk_info *)0;
  pp.rev = (struct rev_info *)0;
  pp.output_encoding = (char const   *)0;
  pp.mailmap = (struct string_list *)0;
  pp.color = 0;
  pp.from_ident = (struct ident_split *)0;
  pp.encode_email_headers = 0U;
  pp.describe_status = (struct pretty_print_describe_status *)0;
  pp.in_body_headers.items = (struct string_list_item *)0;
  pp.in_body_headers.nr = 0U;
  pp.in_body_headers.alloc = 0U;
  pp.in_body_headers.strdup_strings = 0U;
  pp.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
  pp.graph_width = 0;
  pp.fmt = fmt;
  pretty_print_commit(& pp, commit, sb___6);
  return;
}
}
__inline static int compare___0(struct prio_queue *queue , int i , int j )
{
  int cmp___0 ;
  int tmp ;

  {
  tmp = (*(queue->compare))((void const   *)(queue->array + i)->data, (void const   *)(queue->array + j)->data,
                            queue->cb_data);
  cmp___0 = tmp;
  if (! cmp___0) {
    cmp___0 = (int )((queue->array + i)->ctr - (queue->array + j)->ctr);
  }
  return (cmp___0);
}
}
__inline static void swap(struct prio_queue *queue , int i , int j )
{
  void *_swap_a_ptr ;
  void *_swap_b_ptr ;
  unsigned char _swap_buffer[sizeof(*(queue->array + i))] ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    _swap_a_ptr = (void *)(queue->array + i);
    _swap_b_ptr = (void *)(queue->array + j);
    memcpy((void *)(_swap_buffer), (void const   *)_swap_a_ptr, sizeof(*(queue->array + i)));
    memcpy(_swap_a_ptr, (void const   *)_swap_b_ptr, sizeof(*(queue->array + i)) + (sizeof(char [1]) - 1UL));
    memcpy(_swap_b_ptr, (void const   *)(_swap_buffer), sizeof(*(queue->array + i)));
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void prio_queue_reverse(struct prio_queue *queue )
{
  int i ;
  int j ;

  {
  if ((unsigned long )queue->compare != (unsigned long )((void *)0)) {
    BUG_fl((char const   *)"prio-queue.c", 23, (char const   *)"prio_queue_reverse() on non-LIFO queue");
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    j = (queue->nr - 1) - i;
    if (! (i < j)) {
      goto while_break;
    }
    swap(queue, i, j);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void clear_prio_queue(struct prio_queue *queue )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)queue->array);
    queue->array = (struct prio_queue_entry *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  queue->nr = 0;
  queue->alloc = 0;
  queue->insertion_ctr = 0U;
  return;
}
}
void prio_queue_put(struct prio_queue *queue , void *thing )
{
  int ix ;
  int parent ;
  size_t tmp ;
  void *tmp___0 ;
  unsigned int tmp___1 ;
  int tmp___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (queue->nr + 1 > queue->alloc) {
      if (((queue->alloc + 16) * 3) / 2 < queue->nr + 1) {
        queue->alloc = queue->nr + 1;
      } else {
        queue->alloc = ((queue->alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(queue->array)), (size_t )queue->alloc);
      tmp___0 = xrealloc((void *)queue->array, tmp);
      queue->array = (struct prio_queue_entry *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = queue->insertion_ctr;
  (queue->insertion_ctr) ++;
  (queue->array + queue->nr)->ctr = tmp___1;
  (queue->array + queue->nr)->data = thing;
  (queue->nr) ++;
  if (! queue->compare) {
    return;
  }
  ix = queue->nr - 1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ix) {
      goto while_break___0;
    }
    parent = (ix - 1) / 2;
    tmp___2 = compare___0(queue, parent, ix);
    if (tmp___2 <= 0) {
      goto while_break___0;
    }
    swap(queue, parent, ix);
    ix = parent;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
void *prio_queue_get(struct prio_queue *queue )
{
  void *result___0 ;
  int ix ;
  int child ;
  int tmp ;
  int tmp___0 ;

  {
  if (! queue->nr) {
    return ((void *)0);
  }
  if (! queue->compare) {
    (queue->nr) --;
    return ((queue->array + queue->nr)->data);
  }
  result___0 = (queue->array + 0)->data;
  (queue->nr) --;
  if (! queue->nr) {
    return (result___0);
  }
  *(queue->array + 0) = *(queue->array + queue->nr);
  ix = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (ix * 2 + 1 < queue->nr)) {
      goto while_break;
    }
    child = ix * 2 + 1;
    if (child + 1 < queue->nr) {
      tmp = compare___0(queue, child, child + 1);
      if (tmp >= 0) {
        child ++;
      }
    }
    tmp___0 = compare___0(queue, ix, child);
    if (tmp___0 <= 0) {
      goto while_break;
    }
    swap(queue, child, ix);
    ix = child;
  }
  while_break: /* CIL Label */ ;
  }
  return (result___0);
}
}
void *prio_queue_peek(struct prio_queue *queue )
{


  {
  if (! queue->nr) {
    return ((void *)0);
  }
  if (! queue->compare) {
    return ((queue->array + (queue->nr - 1))->data);
  }
  return ((queue->array + 0)->data);
}
}
int progress_testing  ;
uint64_t progress_test_ns ;
void progress_test_force_update(void) ;
static sig_atomic_t volatile   progress_update  ;
uint64_t progress_test_ns  =    (uint64_t )0;
void progress_test_force_update(void)
{


  {
  progress_update = (sig_atomic_t volatile   )1;
  return;
}
}
static void progress_interval(int signum )
{


  {
  progress_update = (sig_atomic_t volatile   )1;
  return;
}
}
static void set_progress_signal(void)
{
  struct sigaction sa ;
  struct itimerval v ;

  {
  if (progress_testing) {
    return;
  }
  progress_update = (sig_atomic_t volatile   )0;
  memset((void *)(& sa), 0, sizeof(sa));
  sa.__sigaction_handler.sa_handler = & progress_interval;
  sigemptyset(& sa.sa_mask);
  sa.sa_flags = 0x10000000;
  sigaction(14, (struct sigaction  const  * __restrict  )(& sa), (struct sigaction * __restrict  )((void *)0));
  v.it_interval.tv_sec = (__time_t )1;
  v.it_interval.tv_usec = (__suseconds_t )0;
  v.it_value = v.it_interval;
  setitimer((__itimer_which_t )0, (struct itimerval  const  * __restrict  )(& v),
            (struct itimerval * __restrict  )((void *)0));
  return;
}
}
static void clear_progress_signal(void)
{
  struct itimerval v ;

  {
  v.it_interval.tv_sec = (__time_t )0;
  v.it_interval.tv_usec = 0L;
  v.it_value.tv_sec = 0L;
  v.it_value.tv_usec = 0L;
  if (progress_testing) {
    return;
  }
  setitimer((__itimer_which_t )0, (struct itimerval  const  * __restrict  )(& v),
            (struct itimerval * __restrict  )((void *)0));
  signal(14, (void (*)(int  ))1);
  progress_update = (sig_atomic_t volatile   )0;
  return;
}
}
static int is_foreground_fd(int fd )
{
  int tpgrp ;
  __pid_t tmp ;
  __pid_t tmp___0 ;
  int tmp___1 ;

  {
  tmp = tcgetpgrp(fd);
  tpgrp = tmp;
  if (tpgrp < 0) {
    tmp___1 = 1;
  } else {
    tmp___0 = getpgid(0);
    if (tpgrp == tmp___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  }
  return (tmp___1);
}
}
static void display(struct progress *progress___7 , uint64_t n , char const   *done___0 )
{
  char const   *tp ;
  struct strbuf *counters_sb ;
  int show_update ;
  int last_count_len ;
  unsigned int percent ;
  char const   *eol ;
  char const   *tmp ;
  size_t clear_len ;
  size_t tmp___0 ;
  size_t progress_line_len ;
  int cols ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  counters_sb = & progress___7->counters_sb;
  show_update = 0;
  last_count_len = (int )counters_sb->len;
  if (progress___7->delay) {
    if (! progress_update) {
      return;
    } else {
      (progress___7->delay) --;
      if (progress___7->delay) {
        return;
      }
    }
  }
  progress___7->last_value = n;
  if (progress___7->throughput) {
    tp = (char const   *)(progress___7->throughput)->display.buf;
  } else {
    tp = (char const   *)"";
  }
  if (progress___7->total) {
    percent = (unsigned int )((n * 100UL) / progress___7->total);
    if (percent != progress___7->last_percent) {
      progress___7->last_percent = percent;
      strbuf_setlen(counters_sb, (size_t )0);
      strbuf_addf(counters_sb, (char const   *)"%3u%% (%lu/%lu)%s", percent, n, progress___7->total,
                  tp);
      show_update = 1;
    } else
    if (progress_update) {
      progress___7->last_percent = percent;
      strbuf_setlen(counters_sb, (size_t )0);
      strbuf_addf(counters_sb, (char const   *)"%3u%% (%lu/%lu)%s", percent, n, progress___7->total,
                  tp);
      show_update = 1;
    }
  } else
  if (progress_update) {
    strbuf_setlen(counters_sb, (size_t )0);
    strbuf_addf(counters_sb, (char const   *)"%lu%s", n, tp);
    show_update = 1;
  }
  if (show_update) {
    tmp___2 = fileno(stderr);
    tmp___3 = is_foreground_fd(tmp___2);
    if (tmp___3) {
      goto _L;
    } else
    if (done___0) {
      _L: /* CIL Label */
      if (done___0) {
        tmp = done___0;
      } else {
        tmp = (char const   *)"\r";
      }
      eol = tmp;
      if (counters_sb->len < (size_t )last_count_len) {
        tmp___0 = ((size_t )last_count_len - counters_sb->len) + 1UL;
      } else {
        tmp___0 = (size_t )0;
      }
      clear_len = tmp___0;
      progress_line_len = ((size_t )progress___7->title_len + counters_sb->len) + 2UL;
      tmp___1 = term_columns();
      cols = tmp___1;
      if (progress___7->split) {
        fprintf(stderr, (char const   *)"  %s%*s", counters_sb->buf, (int )clear_len,
                eol);
      } else
      if (! done___0) {
        if ((size_t )cols < progress_line_len) {
          if (progress___7->title_len + 1 < cols) {
            clear_len = (size_t )((cols - progress___7->title_len) - 1);
          } else {
            clear_len = (size_t )0;
          }
          fprintf(stderr, (char const   *)"%s:%*s\n  %s%s", progress___7->title, (int )clear_len,
                  "", counters_sb->buf, eol);
          progress___7->split = 1;
        } else {
          fprintf(stderr, (char const   *)"%s: %s%*s", progress___7->title, counters_sb->buf,
                  (int )clear_len, eol);
        }
      } else {
        fprintf(stderr, (char const   *)"%s: %s%*s", progress___7->title, counters_sb->buf,
                (int )clear_len, eol);
      }
      fflush(stderr);
    }
    progress_update = (sig_atomic_t volatile   )0;
  }
  return;
}
}
static void throughput_string(struct strbuf *buf___19 , uint64_t total , unsigned int rate )
{


  {
  strbuf_setlen(buf___19, (size_t )0);
  strbuf_addstr(buf___19, (char const   *)", ");
  strbuf_humanise_bytes(buf___19, (off_t )total);
  strbuf_addstr(buf___19, (char const   *)" | ");
  strbuf_humanise_rate(buf___19, (off_t )(rate * 1024U));
  return;
}
}
static uint64_t progress_getnanotime(struct progress *progress___7 )
{
  uint64_t tmp ;

  {
  if (progress_testing) {
    return (progress___7->start_ns + progress_test_ns);
  } else {
    tmp = getnanotime();
    return (tmp);
  }
}
}
void display_throughput(struct progress *progress___7 , uint64_t total )
{
  struct throughput *tp ;
  uint64_t now_ns ;
  unsigned int misecs ;
  unsigned int count___0 ;
  unsigned int rate ;
  void *tmp ;
  off_t tmp___0 ;

  {
  if (! progress___7) {
    return;
  }
  tp = progress___7->throughput;
  now_ns = progress_getnanotime(progress___7);
  if (! tp) {
    tmp = xcalloc((size_t )1, sizeof(*tp));
    tp = (struct throughput *)tmp;
    progress___7->throughput = tp;
    tmp___0 = (off_t )total;
    tp->curr_total = tmp___0;
    tp->prev_total = tmp___0;
    tp->prev_ns = now_ns;
    strbuf_init(& tp->display, (size_t )0);
    return;
  }
  tp->curr_total = (off_t )total;
  if (now_ns - tp->prev_ns <= 500000000UL) {
    return;
  }
  misecs = (unsigned int )((now_ns - tp->prev_ns) * 4398UL >> 32);
  count___0 = (unsigned int )(total - (uint64_t )tp->prev_total);
  tp->prev_total = (off_t )total;
  tp->prev_ns = now_ns;
  tp->avg_bytes += count___0;
  tp->avg_misecs += misecs;
  rate = tp->avg_bytes / tp->avg_misecs;
  tp->avg_bytes -= tp->last_bytes[tp->idx];
  tp->avg_misecs -= tp->last_misecs[tp->idx];
  tp->last_bytes[tp->idx] = count___0;
  tp->last_misecs[tp->idx] = misecs;
  tp->idx = (tp->idx + 1U) % 8U;
  throughput_string(& tp->display, total, rate);
  if (progress___7->last_value != 18446744073709551615UL) {
    if (progress_update) {
      display(progress___7, progress___7->last_value, (char const   *)((void *)0));
    }
  }
  return;
}
}
void display_progress(struct progress *progress___7 , uint64_t n )
{


  {
  if (progress___7) {
    display(progress___7, n, (char const   *)((void *)0));
  }
  return;
}
}
static struct progress *start_progress_delay(char const   *title , uint64_t total ,
                                             unsigned int delay , unsigned int sparse___0 )
{
  struct progress *progress___7 ;
  void *tmp ;

  {
  tmp = xmalloc(sizeof(*progress___7));
  progress___7 = (struct progress *)tmp;
  progress___7->title = title;
  progress___7->total = total;
  progress___7->last_value = (uint64_t )-1;
  progress___7->last_percent = 4294967295U;
  progress___7->delay = delay;
  progress___7->sparse = sparse___0;
  progress___7->throughput = (struct throughput *)((void *)0);
  progress___7->start_ns = getnanotime();
  strbuf_init(& progress___7->counters_sb, (size_t )0);
  progress___7->title_len = utf8_strwidth(title);
  progress___7->split = 0;
  set_progress_signal();
  trace2_region_enter_fl((char const   *)"progress.c", 268, (char const   *)"progress",
                         title, (struct repository  const  *)the_repository);
  return (progress___7);
}
}
static int get_default_delay(void) ;
static int delay_in_secs  =    -1;
static int get_default_delay(void)
{
  unsigned long tmp ;

  {
  if (delay_in_secs < 0) {
    tmp = git_env_ulong((char const   *)"GIT_PROGRESS_DELAY", 2UL);
    delay_in_secs = (int )tmp;
  }
  return (delay_in_secs);
}
}
struct progress *start_delayed_progress(char const   *title , uint64_t total )
{
  int tmp ;
  struct progress *tmp___0 ;

  {
  tmp = get_default_delay();
  tmp___0 = start_progress_delay(title, total, (unsigned int )tmp, 0U);
  return (tmp___0);
}
}
struct progress *start_progress(char const   *title , uint64_t total )
{
  struct progress *tmp ;

  {
  tmp = start_progress_delay(title, total, 0U, 0U);
  return (tmp);
}
}
struct progress *start_sparse_progress(char const   *title , uint64_t total )
{
  struct progress *tmp ;

  {
  tmp = start_progress_delay(title, total, 0U, 1U);
  return (tmp);
}
}
struct progress *start_delayed_sparse_progress(char const   *title , uint64_t total )
{
  int tmp ;
  struct progress *tmp___0 ;

  {
  tmp = get_default_delay();
  tmp___0 = start_progress_delay(title, total, (unsigned int )tmp, 1U);
  return (tmp___0);
}
}
static void finish_if_sparse(struct progress *progress___7 )
{


  {
  if (progress___7) {
    if (progress___7->sparse) {
      if (progress___7->last_value != progress___7->total) {
        display_progress(progress___7, progress___7->total);
      }
    }
  }
  return;
}
}
void stop_progress(struct progress **p_progress )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if (! p_progress) {
    BUG_fl((char const   *)"progress.c", 323, (char const   *)"don\'t provide NULL to stop_progress");
  }
  finish_if_sparse(*p_progress);
  if (*p_progress) {
    trace2_data_intmax_fl((char const   *)"progress.c", 329, (char const   *)"progress",
                          (struct repository  const  *)the_repository, (char const   *)"total_objects",
                          (intmax_t )(*p_progress)->total);
    if ((*p_progress)->throughput) {
      trace2_data_intmax_fl((char const   *)"progress.c", 334, (char const   *)"progress",
                            (struct repository  const  *)the_repository, (char const   *)"total_bytes",
                            ((*p_progress)->throughput)->curr_total);
    }
    trace2_region_leave_fl((char const   *)"progress.c", 336, (char const   *)"progress",
                           (*p_progress)->title, (struct repository  const  *)the_repository);
  }
  tmp = _((char const   *)"done");
  stop_progress_msg(p_progress, (char const   *)tmp);
  return;
}
}
void stop_progress_msg(struct progress **p_progress , char const   *msg___5 )
{
  struct progress *progress___7 ;
  char *buf___19 ;
  struct throughput *tp ;
  uint64_t now_ns ;
  uint64_t tmp ;
  unsigned int misecs ;
  unsigned int rate ;
  unsigned int tmp___0 ;

  {
  if (! p_progress) {
    BUG_fl((char const   *)"progress.c", 347, (char const   *)"don\'t provide NULL to stop_progress_msg");
  }
  progress___7 = *p_progress;
  if (! progress___7) {
    return;
  }
  *p_progress = (struct progress *)((void *)0);
  if (progress___7->last_value != 18446744073709551615UL) {
    tp = progress___7->throughput;
    if (tp) {
      tmp = progress_getnanotime(progress___7);
      now_ns = tmp;
      misecs = (unsigned int )((now_ns - progress___7->start_ns) * 4398UL >> 32);
      if (misecs) {
        tmp___0 = misecs;
      } else {
        tmp___0 = 1U;
      }
      rate = (unsigned int )(tp->curr_total / (off_t )tmp___0);
      throughput_string(& tp->display, (uint64_t )tp->curr_total, rate);
    }
    progress_update = (sig_atomic_t volatile   )1;
    buf___19 = xstrfmt((char const   *)", %s.\n", msg___5);
    display(progress___7, progress___7->last_value, (char const   *)buf___19);
    free((void *)buf___19);
  }
  clear_progress_signal();
  strbuf_release(& progress___7->counters_sb);
  if (progress___7->throughput) {
    strbuf_release(& (progress___7->throughput)->display);
  }
  free((void *)progress___7->throughput);
  free((void *)progress___7);
  return;
}
}
static double const   __ac_HASH_UPPER___68  =    (double const   )0.77;
__inline static void kh_resize_oid_set___68(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___68(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___68 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___68 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___68(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___68(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___68(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___68(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___68(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___68(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___68 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___68 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___68(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___68(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___68(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___68(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___68(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___68(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___68 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___68 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___68(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___68(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___68(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___68(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___50(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___50(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___68 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___68 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___50(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___50(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___50(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___50(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int fetch_objects(struct repository *repo , char const   *remote_name___0 ,
                         struct object_id  const  *oids , int oid_nr )
{
  struct child_process child ;
  int i ;
  FILE *child_in ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  child.git_cmd = 1U;
  child.in = -1;
  if ((unsigned long )repo != (unsigned long )the_repository) {
    prepare_other_repo_env(& child.env_array, (char const   *)repo->gitdir);
  }
  strvec_pushl(& child.args, "-c", "fetch.negotiationAlgorithm=noop", "fetch", remote_name___0,
               "--no-tags", "--no-write-fetch-head", "--recurse-submodules=no", "--filter=blob:none",
               "--stdin", (void *)0);
  tmp___0 = start_command(& child);
  if (tmp___0) {
    tmp = _((char const   *)"promisor-remote: unable to fork off fetch subprocess");
    die((char const   *)tmp);
  }
  child_in = xfdopen(child.in, (char const   *)"w");
  trace2_data_intmax_fl((char const   *)"promisor-remote.c", 34, (char const   *)"promisor",
                        (struct repository  const  *)repo, (char const   *)"fetch_count",
                        (intmax_t )oid_nr);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < oid_nr)) {
      goto while_break;
    }
    tmp___2 = oid_to_hex(oids + i);
    tmp___3 = fputs((char const   * __restrict  )tmp___2, (FILE * __restrict  )child_in);
    if (tmp___3 < 0) {
      tmp___1 = _((char const   *)"promisor-remote: could not write to fetch subprocess");
      die_errno((char const   *)tmp___1);
    }
    tmp___5 = fputc('\n', child_in);
    if (tmp___5 < 0) {
      tmp___4 = _((char const   *)"promisor-remote: could not write to fetch subprocess");
      die_errno((char const   *)tmp___4);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___7 = fclose(child_in);
  if (tmp___7 < 0) {
    tmp___6 = _((char const   *)"promisor-remote: could not close stdin to fetch subprocess");
    die_errno((char const   *)tmp___6);
  }
  tmp___10 = finish_command(& child);
  if (tmp___10) {
    tmp___9 = -1;
  } else {
    tmp___9 = 0;
  }
  return (tmp___9);
}
}
static struct promisor_remote *promisor_remote_new(struct promisor_remote_config *config ,
                                                   char const   *remote_name___0 )
{
  struct promisor_remote *r ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  size_t flex_array_len_ ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;

  {
  if ((int const   )*remote_name___0 == 47) {
    tmp = _((char const   *)"promisor remote name cannot begin with \'/\': %s");
    warning((char const   *)tmp, remote_name___0);
    return ((struct promisor_remote *)((void *)0));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = strlen(remote_name___0);
    flex_array_len_ = tmp___0;
    tmp___1 = st_add(sizeof(*r), flex_array_len_);
    tmp___2 = st_add(tmp___1, (size_t )1);
    tmp___3 = xcalloc((size_t )1, tmp___2);
    r = (struct promisor_remote *)tmp___3;
    memcpy((void *)(r->name), (void const   *)remote_name___0, flex_array_len_);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  *(config->promisors_tail) = r;
  config->promisors_tail = & r->next;
  return (r);
}
}
static struct promisor_remote *promisor_remote_lookup(struct promisor_remote_config *config ,
                                                      char const   *remote_name___0 ,
                                                      struct promisor_remote **previous )
{
  struct promisor_remote *r ;
  struct promisor_remote *p___0 ;
  int tmp ;

  {
  p___0 = (struct promisor_remote *)((void *)0);
  r = config->promisors;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! r) {
      goto while_break;
    }
    tmp = strcmp(r->name, remote_name___0);
    if (! tmp) {
      if (previous) {
        *previous = p___0;
      }
      return (r);
    }
    p___0 = r;
    r = r->next;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct promisor_remote *)((void *)0));
}
}
static void promisor_remote_move_to_tail(struct promisor_remote_config *config , struct promisor_remote *r ,
                                         struct promisor_remote *previous )
{


  {
  if ((unsigned long )r->next == (unsigned long )((void *)0)) {
    return;
  }
  if (previous) {
    previous->next = r->next;
  } else
  if (r->next) {
    config->promisors = r->next;
  } else {
    config->promisors = r;
  }
  r->next = (struct promisor_remote *)((void *)0);
  *(config->promisors_tail) = r;
  config->promisors_tail = & r->next;
  return;
}
}
static int promisor_remote_config(char const   *var , char const   *value , void *data )
{
  struct promisor_remote_config *config ;
  char const   *name___0 ;
  size_t namelen ;
  char const   *subkey ;
  int tmp ;
  char *remote_name___0 ;
  int tmp___0 ;
  void *tmp___1 ;
  struct promisor_remote *tmp___2 ;
  int tmp___3 ;
  struct promisor_remote *r ;
  char *remote_name___1 ;
  void *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  config = (struct promisor_remote_config *)data;
  tmp = parse_config_key(var, (char const   *)"remote", & name___0, & namelen, & subkey);
  if (tmp < 0) {
    return (0);
  }
  tmp___3 = strcmp(subkey, (char const   *)"promisor");
  if (! tmp___3) {
    tmp___0 = git_config_bool(var, value);
    if (! tmp___0) {
      return (0);
    }
    tmp___1 = xmemdupz((void const   *)name___0, namelen);
    remote_name___0 = (char *)tmp___1;
    tmp___2 = promisor_remote_lookup(config, (char const   *)remote_name___0, (struct promisor_remote **)((void *)0));
    if (! tmp___2) {
      promisor_remote_new(config, (char const   *)remote_name___0);
    }
    free((void *)remote_name___0);
    return (0);
  }
  tmp___6 = strcmp(subkey, (char const   *)"partialclonefilter");
  if (! tmp___6) {
    tmp___4 = xmemdupz((void const   *)name___0, namelen);
    remote_name___1 = (char *)tmp___4;
    r = promisor_remote_lookup(config, (char const   *)remote_name___1, (struct promisor_remote **)((void *)0));
    if (! r) {
      r = promisor_remote_new(config, (char const   *)remote_name___1);
    }
    free((void *)remote_name___1);
    if (! r) {
      return (0);
    }
    tmp___5 = git_config_string(& r->partial_clone_filter, var, value);
    return (tmp___5);
  }
  return (0);
}
}
static void promisor_remote_init(struct repository *r )
{
  struct promisor_remote_config *config ;
  struct promisor_remote_config *tmp ;
  void *tmp___0 ;
  struct promisor_remote *o ;
  struct promisor_remote *previous ;

  {
  if (r->promisor_remote_config) {
    return;
  }
  tmp___0 = xcalloc(sizeof(*(r->promisor_remote_config)), (size_t )1);
  tmp = (struct promisor_remote_config *)tmp___0;
  r->promisor_remote_config = tmp;
  config = tmp;
  config->promisors_tail = & config->promisors;
  repo_config(r, & promisor_remote_config, (void *)config);
  if (r->repository_format_partial_clone) {
    o = promisor_remote_lookup(config, (char const   *)r->repository_format_partial_clone,
                               & previous);
    if (o) {
      promisor_remote_move_to_tail(config, o, previous);
    } else {
      promisor_remote_new(config, (char const   *)r->repository_format_partial_clone);
    }
  }
  return;
}
}
void promisor_remote_clear(struct promisor_remote_config *config )
{
  struct promisor_remote *r ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! config->promisors) {
      goto while_break;
    }
    r = config->promisors;
    config->promisors = (config->promisors)->next;
    free((void *)r);
  }
  while_break: /* CIL Label */ ;
  }
  config->promisors_tail = & config->promisors;
  return;
}
}
void repo_promisor_remote_reinit(struct repository *r )
{


  {
  promisor_remote_clear(r->promisor_remote_config);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)r->promisor_remote_config);
    r->promisor_remote_config = (struct promisor_remote_config *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  promisor_remote_init(r);
  return;
}
}
struct promisor_remote *repo_promisor_remote_find(struct repository *r , char const   *remote_name___0 )
{
  struct promisor_remote *tmp ;

  {
  promisor_remote_init(r);
  if (! remote_name___0) {
    return ((r->promisor_remote_config)->promisors);
  }
  tmp = promisor_remote_lookup(r->promisor_remote_config, remote_name___0, (struct promisor_remote **)((void *)0));
  return (tmp);
}
}
int repo_has_promisor_remote(struct repository *r )
{
  struct promisor_remote *tmp ;
  int tmp___0 ;

  {
  tmp = repo_promisor_remote_find(r, (char const   *)((void *)0));
  if (tmp) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static int remove_fetched_oids(struct repository *repo , struct object_id **oids ,
                               int oid_nr , int to_free )
{
  int i ;
  int remaining_nr ;
  int *remaining ;
  void *tmp ;
  struct object_id *old_oids ;
  struct object_id *new_oids ;
  int tmp___0 ;
  int j ;
  void *tmp___1 ;
  int tmp___2 ;

  {
  remaining_nr = 0;
  tmp = xcalloc((size_t )oid_nr, sizeof(*remaining));
  remaining = (int *)tmp;
  old_oids = *oids;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < oid_nr)) {
      goto while_break;
    }
    tmp___0 = oid_object_info_extended(repo, (struct object_id  const  *)(old_oids + i),
                                       (struct object_info *)((void *)0), 32U);
    if (tmp___0) {
      *(remaining + i) = 1;
      remaining_nr ++;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (remaining_nr) {
    j = 0;
    tmp___1 = xcalloc((size_t )remaining_nr, sizeof(*new_oids));
    new_oids = (struct object_id *)tmp___1;
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < oid_nr)) {
        goto while_break___0;
      }
      if (*(remaining + i)) {
        tmp___2 = j;
        j ++;
        oidcpy(new_oids + tmp___2, (struct object_id  const  *)(old_oids + i));
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    *oids = new_oids;
    if (to_free) {
      free((void *)old_oids);
    }
  }
  free((void *)remaining);
  return (remaining_nr);
}
}
int promisor_remote_get_direct(struct repository *repo , struct object_id  const  *oids ,
                               int oid_nr )
{
  struct promisor_remote *r ;
  struct object_id *remaining_oids ;
  int remaining_nr ;
  int to_free ;
  int res ;
  int tmp ;

  {
  remaining_oids = (struct object_id *)oids;
  remaining_nr = oid_nr;
  to_free = 0;
  res = -1;
  if (oid_nr == 0) {
    return (0);
  }
  promisor_remote_init(repo);
  r = (repo->promisor_remote_config)->promisors;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! r) {
      goto while_break;
    }
    tmp = fetch_objects(repo, r->name, (struct object_id  const  *)remaining_oids,
                        remaining_nr);
    if (tmp < 0) {
      if (remaining_nr == 1) {
        goto __Cont;
      }
      remaining_nr = remove_fetched_oids(repo, & remaining_oids, remaining_nr, to_free);
      if (remaining_nr) {
        to_free = 1;
        goto __Cont;
      }
    }
    res = 0;
    goto while_break;
    __Cont: /* CIL Label */
    r = r->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (to_free) {
    free((void *)remaining_oids);
  }
  return (res);
}
}
static char *do_askpass(char const   *cmd , char const   *prompt ) ;
static struct strbuf buffer___0  =    {0UL, 0UL, strbuf_slopbuf};
static char *do_askpass(char const   *cmd , char const   *prompt )
{
  struct child_process pass ;
  int err___4 ;
  int tmp ;
  ssize_t tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;

  {
  pass.args.v = empty_strvec;
  pass.args.nr = 0UL;
  pass.args.alloc = 0UL;
  pass.env_array.v = empty_strvec;
  pass.env_array.nr = 0UL;
  pass.env_array.alloc = 0UL;
  pass.pid = 0;
  pass.trace2_child_id = 0;
  pass.trace2_child_us_start = 0UL;
  pass.trace2_child_class = (char const   *)0;
  pass.trace2_hook_name = (char const   *)0;
  pass.in = 0;
  pass.out = 0;
  pass.err = 0;
  pass.dir = (char const   *)0;
  pass.no_stdin = 0U;
  pass.no_stdout = 0U;
  pass.no_stderr = 0U;
  pass.git_cmd = 0U;
  pass.silent_exec_failure = 0U;
  pass.use_shell = 0U;
  pass.close_object_store = 0U;
  pass.stdout_to_stderr = 0U;
  pass.clean_on_exit = 0U;
  pass.wait_after_clean = 0U;
  pass.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  pass.clean_on_exit_handler_cbdata = (void *)0;
  err___4 = 0;
  strvec_push(& pass.args, cmd);
  strvec_push(& pass.args, prompt);
  pass.out = -1;
  tmp = start_command(& pass);
  if (tmp) {
    return ((char *)((void *)0));
  }
  strbuf_setlen(& buffer___0, (size_t )0);
  tmp___0 = strbuf_read(& buffer___0, pass.out, (size_t )20);
  if (tmp___0 < 0L) {
    err___4 = 1;
  }
  close(pass.out);
  tmp___1 = finish_command(& pass);
  if (tmp___1) {
    err___4 = 1;
  }
  if (err___4) {
    error((char const   *)"unable to read askpass response from \'%s\'", cmd);
    const_error();
    strbuf_release(& buffer___0);
    return ((char *)((void *)0));
  }
  tmp___2 = strcspn((char const   *)buffer___0.buf, (char const   *)"\r\n");
  strbuf_setlen(& buffer___0, tmp___2);
  return (buffer___0.buf);
}
}
char *git_prompt(char const   *prompt , int flags___0 )
{
  char *r ;
  char const   *askpass ;
  char *tmp ;
  char *tmp___0 ;
  char const   *err___4 ;
  int *tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;

  {
  r = (char *)((void *)0);
  if (flags___0 & 1) {
    tmp = getenv((char const   *)"GIT_ASKPASS");
    askpass = (char const   *)tmp;
    if (! askpass) {
      askpass = askpass_program;
    }
    if (! askpass) {
      tmp___0 = getenv((char const   *)"SSH_ASKPASS");
      askpass = (char const   *)tmp___0;
    }
    if (askpass) {
      if (*askpass) {
        r = do_askpass(askpass, prompt);
      }
    }
  }
  if (! r) {
    tmp___3 = git_env_bool((char const   *)"GIT_TERMINAL_PROMPT", 1);
    if (tmp___3) {
      r = git_terminal_prompt(prompt, flags___0 & (1 << 1));
      tmp___1 = __errno_location();
      tmp___2 = strerror(*tmp___1);
      err___4 = (char const   *)tmp___2;
    } else {
      err___4 = (char const   *)"terminal prompts disabled";
    }
    if (! r) {
      die((char const   *)"could not read %s%s", prompt, err___4);
    }
  }
  return (r);
}
}
int git_read_line_interactively(struct strbuf *line___0 )
{
  int ret___67 ;

  {
  fflush(stdout);
  ret___67 = strbuf_getline_lf(line___0, stdin);
  if (ret___67 != -1) {
    strbuf_trim_trailing_newline(line___0);
  }
  return (ret___67);
}
}
static enum protocol_version parse_protocol_version(char const   *value )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp___1 = strcmp(value, (char const   *)"0");
  if (tmp___1) {
    tmp___0 = strcmp(value, (char const   *)"1");
    if (tmp___0) {
      tmp = strcmp(value, (char const   *)"2");
      if (tmp) {
        return ((enum protocol_version )-1);
      } else {
        return ((enum protocol_version )2);
      }
    } else {
      return ((enum protocol_version )1);
    }
  } else {
    return ((enum protocol_version )0);
  }
}
}
enum protocol_version get_protocol_version_config(void)
{
  char const   *value ;
  char const   *git_test_k ;
  char const   *git_test_v ;
  enum protocol_version version___0 ;
  enum protocol_version tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  enum protocol_version env ;
  enum protocol_version tmp___2 ;

  {
  git_test_k = (char const   *)"GIT_TEST_PROTOCOL_VERSION";
  tmp___0 = git_config_get_string_tmp((char const   *)"protocol.version", & value);
  if (! tmp___0) {
    tmp = parse_protocol_version(value);
    version___0 = tmp;
    if ((int )version___0 == -1) {
      die((char const   *)"unknown value for config \'protocol.version\': %s", value);
    }
    return (version___0);
  }
  tmp___1 = getenv(git_test_k);
  git_test_v = (char const   *)tmp___1;
  if (git_test_v) {
    if (*git_test_v) {
      tmp___2 = parse_protocol_version(git_test_v);
      env = tmp___2;
      if ((int )env == -1) {
        die((char const   *)"unknown value for %s: %s", git_test_k, git_test_v);
      }
      return (env);
    }
  }
  return ((enum protocol_version )2);
}
}
enum protocol_version determine_protocol_version_server(void)
{
  char const   *git_protocol ;
  char *tmp ;
  enum protocol_version version___0 ;
  struct string_list list___3 ;
  struct string_list_item  const  *item___0 ;
  char const   *value ;
  enum protocol_version v ;
  int tmp___0 ;

  {
  tmp = getenv((char const   *)"GIT_PROTOCOL");
  git_protocol = (char const   *)tmp;
  version___0 = (enum protocol_version )0;
  if (git_protocol) {
    list___3.items = (struct string_list_item *)0;
    list___3.nr = 0U;
    list___3.alloc = 0U;
    list___3.strdup_strings = 1U;
    list___3.cmp = (int (*)(char const   * , char const   * ))0;
    string_list_split(& list___3, git_protocol, ':', -1);
    item___0 = (struct string_list_item  const  *)list___3.items;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(list___3.items + list___3.nr))) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      tmp___0 = skip_prefix((char const   *)item___0->string, (char const   *)"version=",
                            & value);
      if (tmp___0) {
        v = parse_protocol_version(value);
        if ((int )v > (int )version___0) {
          version___0 = v;
        }
      }
      item___0 ++;
    }
    while_break: /* CIL Label */ ;
    }
    string_list_clear(& list___3, 0);
  }
  trace2_data_intmax_fl((char const   *)"protocol.c", 76, (char const   *)"transfer",
                        (struct repository  const  *)((void *)0), (char const   *)"negotiated-version",
                        (intmax_t )version___0);
  return (version___0);
}
}
enum protocol_version determine_protocol_version_client(char const   *server_response )
{
  enum protocol_version version___0 ;
  int tmp ;

  {
  version___0 = (enum protocol_version )0;
  tmp = skip_prefix(server_response, (char const   *)"version ", & server_response);
  if (tmp) {
    version___0 = parse_protocol_version(server_response);
    if ((int )version___0 == -1) {
      die((char const   *)"server is speaking an unknown protocol");
    }
    if ((int )version___0 == 0) {
      die((char const   *)"protocol error: server explicitly said version 0");
    }
  }
  return (version___0);
}
}
int cap_object_info(struct repository *r , struct packet_reader *request ) ;
static double const   __ac_HASH_UPPER___69  =    (double const   )0.77;
__inline static void kh_resize_oid_set___69(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___69(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___69 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___69 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___69(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___69(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___69(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___69(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___69(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___69(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___69 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___69 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___69(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___69(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___69(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___69(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___69(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___69(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___69 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___69 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___69(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___69(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___69(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___69(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___51(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___51(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___69 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___69 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___51(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___51(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___51(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___51(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int parse_oid(char const   *line___0 , struct string_list *oid_str_list )
{
  char const   *arg ;
  int tmp ;

  {
  tmp = skip_prefix(line___0, (char const   *)"oid ", & arg);
  if (! tmp) {
    return (0);
  }
  string_list_append(oid_str_list, arg);
  return (1);
}
}
static void send_info(struct repository *r , struct packet_writer *writer___0 , struct string_list *oid_str_list ,
                      struct requested_info *info___0 )
{
  struct string_list_item *item___0 ;
  struct strbuf send_buffer ;
  char const   *oid_str ;
  struct object_id oid ;
  unsigned long object_size ;
  int tmp ;
  int tmp___0 ;

  {
  send_buffer.alloc = 0UL;
  send_buffer.len = 0UL;
  send_buffer.buf = strbuf_slopbuf;
  if (! oid_str_list->nr) {
    return;
  }
  if (info___0->size) {
    packet_writer_write(writer___0, (char const   *)"size");
  }
  item___0 = oid_str_list->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(oid_str_list->items + oid_str_list->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    oid_str = (char const   *)item___0->string;
    tmp = get_oid_hex(oid_str, & oid);
    if (tmp < 0) {
      packet_writer_error(writer___0, (char const   *)"object-info: protocol error, expected to get oid, not \'%s\'",
                          oid_str);
      goto __Cont;
    }
    strbuf_addstr(& send_buffer, oid_str);
    if (info___0->size) {
      tmp___0 = oid_object_info(r, (struct object_id  const  *)(& oid), & object_size);
      if (tmp___0 < 0) {
        strbuf_addstr(& send_buffer, (char const   *)" ");
      } else {
        strbuf_addf(& send_buffer, (char const   *)" %lu", object_size);
      }
    }
    packet_writer_write(writer___0, (char const   *)"%s", send_buffer.buf);
    strbuf_setlen(& send_buffer, (size_t )0);
    __Cont: /* CIL Label */
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& send_buffer);
  return;
}
}
int cap_object_info(struct repository *r , struct packet_reader *request )
{
  struct requested_info info___0 ;
  struct packet_writer writer___0 ;
  struct string_list oid_str_list ;
  int tmp ;
  int tmp___0 ;
  enum packet_read_status tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  oid_str_list.items = (struct string_list_item *)0;
  oid_str_list.nr = 0U;
  oid_str_list.alloc = 0U;
  oid_str_list.strdup_strings = 1U;
  oid_str_list.cmp = (int (*)(char const   * , char const   * ))0;
  packet_writer_init(& writer___0, 1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = packet_reader_read(request);
    if (! ((unsigned int )tmp___1 == 1U)) {
      goto while_break;
    }
    tmp = strcmp((char const   *)"size", request->line);
    if (! tmp) {
      info___0.size = 1U;
      goto while_continue;
    }
    tmp___0 = parse_oid(request->line, & oid_str_list);
    if (tmp___0) {
      goto while_continue;
    }
    packet_writer_error(& writer___0, (char const   *)"object-info: unexpected line: \'%s\'",
                        request->line);
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned int )request->status != 2U) {
    packet_writer_error(& writer___0, (char const   *)"object-info: expected flush after arguments");
    tmp___2 = _((char const   *)"object-info: expected flush after arguments");
    die((char const   *)tmp___2);
  }
  send_info(r, & writer___0, & oid_str_list, & info___0);
  string_list_clear(& oid_str_list, 1);
  packet_flush(1);
  return (0);
}
}
static double const   __ac_HASH_UPPER___70  =    (double const   )0.77;
__inline static void kh_resize_oid_set___70(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___70(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___70 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___70 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___70(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___70(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___70(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___70(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___70(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___70(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___70 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___70 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___70(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___70(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___70(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___70(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___70(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___70(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___70 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___70 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___70(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___70(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___70(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___70(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___52(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___52(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___70 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___70 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___52(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___52(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___52(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___52(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
void prune_packed_objects(int opts___1 ) ;
static struct progress *progress  ;
static int prune_subdir(unsigned int nr___0 , char const   *path___6 , void *data )
{
  int *opts___1 ;

  {
  opts___1 = (int *)data;
  display_progress(progress, (uint64_t )(nr___0 + 1U));
  if (! (*opts___1 & 01)) {
    lstat_cache_aware_rmdir(path___6);
  }
  return (0);
}
}
static int prune_object(struct object_id  const  *oid , char const   *path___6 , void *data )
{
  int *opts___1 ;
  int tmp ;

  {
  opts___1 = (int *)data;
  tmp = has_object_pack(oid);
  if (! tmp) {
    return (0);
  }
  if (*opts___1 & 01) {
    printf((char const   *)"rm -f %s\n", path___6);
  } else {
    unlink_or_warn(path___6);
  }
  return (0);
}
}
void prune_packed_objects(int opts___1 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char *tmp___0 ;

  {
  if (opts___1 & 02) {
    tmp = _((char const   *)"Removing duplicate objects");
    progress = start_delayed_progress((char const   *)tmp, (uint64_t )256);
  }
  tmp___0 = get_object_directory();
  for_each_loose_file_in_objdir((char const   *)tmp___0, & prune_object, (each_loose_cruft_fn *)((void *)0),
                                & prune_subdir, (void *)(& opts___1));
  display_progress(progress, (uint64_t )256);
  stop_progress(& progress);
  return;
}
}
int quote_path_fully  =    1;
__inline static int need_bs_quote(char c___0 )
{
  int tmp ;

  {
  if ((int )c___0 == 39) {
    tmp = 1;
  } else
  if ((int )c___0 == 33) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
void sq_quote_buf(struct strbuf *dst , char const   *src )
{
  char *to_free ;
  size_t len___0 ;
  size_t tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  to_free = (char *)((void *)0);
  if ((unsigned long )dst->buf == (unsigned long )src) {
    to_free = strbuf_detach(dst, (size_t *)((void *)0));
  }
  strbuf_addch(dst, '\'');
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *src) {
      goto while_break;
    }
    tmp = strcspn(src, (char const   *)"\'!");
    len___0 = tmp;
    strbuf_add(dst, (void const   *)src, len___0);
    src += len___0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___1 = need_bs_quote((char )*src);
      if (! tmp___1) {
        goto while_break___0;
      }
      strbuf_addstr(dst, (char const   *)"\'\\");
      tmp___0 = src;
      src ++;
      strbuf_addch(dst, (int )*tmp___0);
      strbuf_addch(dst, '\'');
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addch(dst, '\'');
  free((void *)to_free);
  return;
}
}
static char const   ok_punct[11]  =
  {      (char const   )'+',      (char const   )',',      (char const   )'-',      (char const   )'.',
        (char const   )'/',      (char const   )':',      (char const   )'=',      (char const   )'@',
        (char const   )'_',      (char const   )'^',      (char const   )'\000'};
void sq_quote_buf_pretty(struct strbuf *dst , char const   *src )
{
  char const   *p___0 ;
  char *tmp ;

  {
  if (! *src) {
    strbuf_addstr(dst, (char const   *)"\'\'");
    return;
  }
  p___0 = src;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    if (! (((int const   )sane_ctype[(unsigned char )*p___0] & 6) != 0)) {
      tmp = strchr(ok_punct, (int )*p___0);
      if (! tmp) {
        sq_quote_buf(dst, src);
        return;
      }
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addstr(dst, src);
  return;
}
}
void ( /* format attribute */  sq_quotef)(struct strbuf *dst , char const   *fmt
                                          , ...)
{
  struct strbuf src ;
  va_list ap ;

  {
  src.alloc = 0UL;
  src.len = 0UL;
  src.buf = strbuf_slopbuf;
  __builtin_va_start(ap, fmt);
  strbuf_vaddf(& src, fmt, ap);
  __builtin_va_end(ap);
  sq_quote_buf(dst, (char const   *)src.buf);
  strbuf_release(& src);
  return;
}
}
void sq_quote_argv(struct strbuf *dst , char const   **argv___0 )
{
  int i ;

  {
  strbuf_grow(dst, (size_t )255);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(argv___0 + i)) {
      goto while_break;
    }
    strbuf_addch(dst, ' ');
    sq_quote_buf(dst, *(argv___0 + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void sq_quote_argv_pretty(struct strbuf *dst , char const   **argv___0 )
{


  {
  if (*(argv___0 + 0)) {
    strbuf_addch(dst, ' ');
  }
  sq_append_quote_argv_pretty(dst, argv___0);
  return;
}
}
void sq_append_quote_argv_pretty(struct strbuf *dst , char const   **argv___0 )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(argv___0 + i)) {
      goto while_break;
    }
    if (i > 0) {
      strbuf_addch(dst, ' ');
    }
    sq_quote_buf_pretty(dst, *(argv___0 + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
char *sq_dequote_step(char *arg , char **next___2 )
{
  char *dst ;
  char *src ;
  char c___0 ;
  char *tmp ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  dst = arg;
  src = arg;
  if ((int )*src != 39) {
    return ((char *)((void *)0));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    src ++;
    c___0 = *src;
    if (! c___0) {
      return ((char *)((void *)0));
    }
    if ((int )c___0 != 39) {
      tmp = dst;
      dst ++;
      *tmp = c___0;
      goto __Cont;
    }
    src ++;
    {
    if ((int )*src == 0) {
      goto case_0;
    }
    if ((int )*src == 92) {
      goto case_92;
    }
    goto switch_default;
    case_0: /* CIL Label */
    *dst = (char)0;
    if (next___2) {
      *next___2 = (char *)((void *)0);
    }
    return (arg);
    case_92: /* CIL Label */
    tmp___1 = need_bs_quote(*(src + 1));
    if (tmp___1) {
      if ((int )*(src + 2) == 39) {
        tmp___0 = dst;
        dst ++;
        *tmp___0 = *(src + 1);
        src += 2;
        goto __Cont;
      }
    }
    switch_default: /* CIL Label */
    if (! next___2) {
      return ((char *)((void *)0));
    }
    *dst = (char)0;
    *next___2 = src;
    return (arg);
    switch_break: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
}
}
char *sq_dequote(char *arg )
{
  char *tmp ;

  {
  tmp = sq_dequote_step(arg, (char **)((void *)0));
  return (tmp);
}
}
static int sq_dequote_to_argv_internal(char *arg , char const   ***argv___0 , int *nr___0 ,
                                       int *alloc___0 , struct strvec *array )
{
  char *next___2 ;
  char *dequoted ;
  char *tmp ;
  char c___0 ;
  size_t tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;

  {
  next___2 = arg;
  if (! *arg) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = sq_dequote_step(next___2, & next___2);
    dequoted = tmp;
    if (! dequoted) {
      return (-1);
    }
    if (next___2) {
      if (! (((int const   )sane_ctype[(unsigned char )*next___2] & 1) != 0)) {
        return (-1);
      }
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        next___2 ++;
        c___0 = *next___2;
        if (! (((int const   )sane_ctype[(unsigned char )c___0] & 1) != 0)) {
          goto while_break___0;
        }
      }
      while_break___0: /* CIL Label */ ;
      }
    }
    if (argv___0) {
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (*nr___0 + 1 > *alloc___0) {
          if (((*alloc___0 + 16) * 3) / 2 < *nr___0 + 1) {
            *alloc___0 = *nr___0 + 1;
          } else {
            *alloc___0 = ((*alloc___0 + 16) * 3) / 2;
          }
          tmp___0 = st_mult(sizeof(*(*argv___0)), (size_t )*alloc___0);
          tmp___1 = xrealloc((void *)*argv___0, tmp___0);
          *argv___0 = (char const   **)tmp___1;
        }
        goto while_break___1;
      }
      while_break___1: /* CIL Label */ ;
      }
      tmp___2 = *nr___0;
      (*nr___0) ++;
      *(*argv___0 + tmp___2) = (char const   *)dequoted;
    }
    if (array) {
      strvec_push(array, (char const   *)dequoted);
    }
    if (! next___2) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int sq_dequote_to_argv(char *arg , char const   ***argv___0 , int *nr___0 , int *alloc___0 )
{
  int tmp ;

  {
  tmp = sq_dequote_to_argv_internal(arg, argv___0, nr___0, alloc___0, (struct strvec *)((void *)0));
  return (tmp);
}
}
int sq_dequote_to_strvec(char *arg , struct strvec *array )
{
  int tmp ;

  {
  tmp = sq_dequote_to_argv_internal(arg, (char const   ***)((void *)0), (int *)((void *)0),
                                    (int *)((void *)0), array);
  return (tmp);
}
}
static signed char const   cq_lookup[256]  =
  {      (signed char const   )1,      (signed char const   )1,      (signed char const   )1,      (signed char const   )1,
        (signed char const   )1,      (signed char const   )1,      (signed char const   )1,      (signed char const   )'a',
        (signed char const   )'b',      (signed char const   )'t',      (signed char const   )'n',      (signed char const   )'v',
        (signed char const   )'f',      (signed char const   )'r',      (signed char const   )1,      (signed char const   )1,
        (signed char const   )1,      (signed char const   )1,      (signed char const   )1,      (signed char const   )1,
        (signed char const   )1,      (signed char const   )1,      (signed char const   )1,      (signed char const   )1,
        (signed char const   )1,      (signed char const   )1,      (signed char const   )1,      (signed char const   )1,
        (signed char const   )1,      (signed char const   )1,      (signed char const   )1,      (signed char const   )1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )'\"',      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )'\\',      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,
        (signed char const   )-1,      (signed char const   )-1,      (signed char const   )-1,      (signed char const   )1};
__inline static int cq_must_quote(char c___0 )
{


  {
  return ((int const   )cq_lookup[(unsigned char )c___0] + (int const   )quote_path_fully > 0);
}
}
static size_t next_quote_pos(char const   *s___1 , ssize_t maxlen )
{
  size_t len___0 ;
  int tmp ;
  int tmp___0 ;

  {
  if (maxlen < 0L) {
    len___0 = (size_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp = cq_must_quote((char )*(s___1 + len___0));
      if (tmp) {
        goto while_break;
      }
      len___0 ++;
    }
    while_break: /* CIL Label */ ;
    }
  } else {
    len___0 = (size_t )0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (len___0 < (size_t )maxlen) {
        tmp___0 = cq_must_quote((char )*(s___1 + len___0));
        if (tmp___0) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      len___0 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  return (len___0);
}
}
static size_t quote_c_style_counted(char const   *name___0 , ssize_t maxlen , struct strbuf *sb___6 ,
                                    FILE *fp , unsigned int flags___0 )
{
  int no_dq ;
  size_t len___0 ;
  size_t count___0 ;
  char const   *p___0 ;
  int ch___0 ;
  char const   *tmp ;

  {
  no_dq = ! (! (flags___0 & 1U));
  count___0 = (size_t )0;
  p___0 = name___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    len___0 = next_quote_pos(p___0, maxlen);
    if (len___0 == (size_t )maxlen) {
      goto while_break;
    } else
    if (maxlen < 0L) {
      if (! *(p___0 + len___0)) {
        goto while_break;
      }
    }
    if (! no_dq) {
      if ((unsigned long )p___0 == (unsigned long )name___0) {
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          if (sb___6) {
            strbuf_addch(sb___6, '\"');
          }
          if (fp) {
            fputc('\"', fp);
          }
          count___0 ++;
          goto while_break___0;
        }
        while_break___0: /* CIL Label */ ;
        }
      }
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (sb___6) {
        strbuf_add(sb___6, (void const   *)p___0, len___0);
      }
      if (fp) {
        fwrite((void const   * __restrict  )p___0, len___0, (size_t )1, (FILE * __restrict  )fp);
      }
      count___0 += len___0;
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (sb___6) {
        strbuf_addch(sb___6, '\\');
      }
      if (fp) {
        fputc('\\', fp);
      }
      count___0 ++;
      goto while_break___2;
    }
    while_break___2: /* CIL Label */ ;
    }
    p___0 += len___0;
    tmp = p___0;
    p___0 ++;
    ch___0 = (int )((unsigned char )*tmp);
    if (maxlen >= 0L) {
      maxlen = (ssize_t )((size_t )maxlen - (len___0 + 1UL));
    }
    if ((int const   )cq_lookup[ch___0] >= 32) {
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if (sb___6) {
          strbuf_addch(sb___6, (int )cq_lookup[ch___0]);
        }
        if (fp) {
          fputc((int )cq_lookup[ch___0], fp);
        }
        count___0 ++;
        goto while_break___3;
      }
      while_break___3: /* CIL Label */ ;
      }
    } else {
      {
      while (1) {
        while_continue___4: /* CIL Label */ ;
        if (sb___6) {
          strbuf_addch(sb___6, ((ch___0 >> 6) & 03) + 48);
        }
        if (fp) {
          fputc(((ch___0 >> 6) & 03) + 48, fp);
        }
        count___0 ++;
        goto while_break___4;
      }
      while_break___4: /* CIL Label */ ;
      }
      {
      while (1) {
        while_continue___5: /* CIL Label */ ;
        if (sb___6) {
          strbuf_addch(sb___6, ((ch___0 >> 3) & 07) + 48);
        }
        if (fp) {
          fputc(((ch___0 >> 3) & 07) + 48, fp);
        }
        count___0 ++;
        goto while_break___5;
      }
      while_break___5: /* CIL Label */ ;
      }
      {
      while (1) {
        while_continue___6: /* CIL Label */ ;
        if (sb___6) {
          strbuf_addch(sb___6, (ch___0 & 07) + 48);
        }
        if (fp) {
          fputc((ch___0 & 07) + 48, fp);
        }
        count___0 ++;
        goto while_break___6;
      }
      while_break___6: /* CIL Label */ ;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___7: /* CIL Label */ ;
    if (sb___6) {
      strbuf_add(sb___6, (void const   *)p___0, len___0);
    }
    if (fp) {
      fwrite((void const   * __restrict  )p___0, len___0, (size_t )1, (FILE * __restrict  )fp);
    }
    count___0 += len___0;
    goto while_break___7;
  }
  while_break___7: /* CIL Label */ ;
  }
  if ((unsigned long )p___0 == (unsigned long )name___0) {
    return ((size_t )0);
  }
  if (! no_dq) {
    {
    while (1) {
      while_continue___8: /* CIL Label */ ;
      if (sb___6) {
        strbuf_addch(sb___6, '\"');
      }
      if (fp) {
        fputc('\"', fp);
      }
      count___0 ++;
      goto while_break___8;
    }
    while_break___8: /* CIL Label */ ;
    }
  }
  return (count___0);
}
}
size_t quote_c_style(char const   *name___0 , struct strbuf *sb___6 , FILE *fp , unsigned int flags___0 )
{
  size_t tmp ;

  {
  tmp = quote_c_style_counted(name___0, (ssize_t )-1, sb___6, fp, flags___0);
  return (tmp);
}
}
void quote_two_c_style(struct strbuf *sb___6 , char const   *prefix___1 , char const   *path___6 ,
                       unsigned int flags___0 )
{
  int nodq ;
  size_t tmp ;
  size_t tmp___0 ;

  {
  nodq = ! (! (flags___0 & 1U));
  tmp = quote_c_style(prefix___1, (struct strbuf *)((void *)0), (FILE *)((void *)0),
                      0U);
  if (tmp) {
    goto _L;
  } else {
    tmp___0 = quote_c_style(path___6, (struct strbuf *)((void *)0), (FILE *)((void *)0),
                            0U);
    if (tmp___0) {
      _L: /* CIL Label */
      if (! nodq) {
        strbuf_addch(sb___6, '\"');
      }
      quote_c_style(prefix___1, sb___6, (FILE *)((void *)0), 1U);
      quote_c_style(path___6, sb___6, (FILE *)((void *)0), 1U);
      if (! nodq) {
        strbuf_addch(sb___6, '\"');
      }
    } else {
      strbuf_addstr(sb___6, prefix___1);
      strbuf_addstr(sb___6, path___6);
    }
  }
  return;
}
}
void write_name_quoted(char const   *name___0 , FILE *fp , int terminator )
{


  {
  if (terminator) {
    quote_c_style(name___0, (struct strbuf *)((void *)0), fp, 0U);
  } else {
    fputs((char const   * __restrict  )name___0, (FILE * __restrict  )fp);
  }
  fputc(terminator, fp);
  return;
}
}
void write_name_quoted_relative(char const   *name___0 , char const   *prefix___1 ,
                                FILE *fp , int terminator )
{
  struct strbuf sb___6 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  name___0 = relative_path(name___0, prefix___1, & sb___6);
  write_name_quoted(name___0, fp, terminator);
  strbuf_release(& sb___6);
  return;
}
}
char *quote_path(char const   *in , char const   *prefix___1 , struct strbuf *out ,
                 unsigned int flags___0 )
{
  struct strbuf sb___6 ;
  char const   *rel ;
  char const   *tmp ;
  int force_dq ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  size_t tmp___3 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = relative_path(in, prefix___1, & sb___6);
  rel = tmp;
  if (flags___0 & 1U) {
    tmp___0 = strchr(rel, ' ');
    if (tmp___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  force_dq = tmp___1;
  strbuf_setlen(out, (size_t )0);
  if (force_dq) {
    strbuf_addch(out, '\"');
  }
  if (force_dq) {
    tmp___2 = 01;
  } else {
    tmp___2 = 0;
  }
  tmp___3 = strlen(rel);
  quote_c_style_counted(rel, (ssize_t )tmp___3, out, (FILE *)((void *)0), (unsigned int )tmp___2);
  if (force_dq) {
    strbuf_addch(out, '\"');
  }
  strbuf_release(& sb___6);
  return (out->buf);
}
}
int unquote_c_style(struct strbuf *sb___6 , char const   *quoted , char const   **endp )
{
  size_t oldlen ;
  size_t len___0 ;
  int ch___0 ;
  int ac ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;

  {
  oldlen = sb___6->len;
  tmp = quoted;
  quoted ++;
  if ((int const   )*tmp != 34) {
    return (-1);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    len___0 = strcspn(quoted, (char const   *)"\"\\");
    strbuf_add(sb___6, (void const   *)quoted, len___0);
    quoted += len___0;
    tmp___0 = quoted;
    quoted ++;
    {
    if ((int const   )*tmp___0 == 34) {
      goto case_34;
    }
    if ((int const   )*tmp___0 == 92) {
      goto case_92;
    }
    goto switch_default;
    case_34: /* CIL Label */
    if (endp) {
      *endp = quoted;
    }
    return (0);
    case_92: /* CIL Label */
    goto switch_break;
    switch_default: /* CIL Label */
    goto error;
    switch_break: /* CIL Label */ ;
    }
    tmp___1 = quoted;
    quoted ++;
    ch___0 = (int )*tmp___1;
    {
    if (ch___0 == 97) {
      goto case_97;
    }
    if (ch___0 == 98) {
      goto case_98;
    }
    if (ch___0 == 102) {
      goto case_102;
    }
    if (ch___0 == 110) {
      goto case_110;
    }
    if (ch___0 == 114) {
      goto case_114;
    }
    if (ch___0 == 116) {
      goto case_116;
    }
    if (ch___0 == 118) {
      goto case_118;
    }
    if (ch___0 == 34) {
      goto case_34___0;
    }
    if (ch___0 == 92) {
      goto case_34___0;
    }
    if (ch___0 == 51) {
      goto case_51;
    }
    if (ch___0 == 50) {
      goto case_51;
    }
    if (ch___0 == 49) {
      goto case_51;
    }
    if (ch___0 == 48) {
      goto case_51;
    }
    goto switch_default___0;
    case_97: /* CIL Label */
    ch___0 = '\a';
    goto switch_break___0;
    case_98: /* CIL Label */
    ch___0 = '\b';
    goto switch_break___0;
    case_102: /* CIL Label */
    ch___0 = '\f';
    goto switch_break___0;
    case_110: /* CIL Label */
    ch___0 = '\n';
    goto switch_break___0;
    case_114: /* CIL Label */
    ch___0 = '\r';
    goto switch_break___0;
    case_116: /* CIL Label */
    ch___0 = '\t';
    goto switch_break___0;
    case_118: /* CIL Label */
    ch___0 = '\v';
    goto switch_break___0;
    case_34___0: /* CIL Label */
    case_92___0: /* CIL Label */
    goto switch_break___0;
    case_51: /* CIL Label */
    case_50: /* CIL Label */
    case_49: /* CIL Label */
    case_48: /* CIL Label */
    ac = (ch___0 - 48) << 6;
    tmp___2 = quoted;
    quoted ++;
    ch___0 = (int )*tmp___2;
    if (ch___0 < 48) {
      goto error;
    } else
    if (55 < ch___0) {
      goto error;
    }
    ac |= (ch___0 - 48) << 3;
    tmp___3 = quoted;
    quoted ++;
    ch___0 = (int )*tmp___3;
    if (ch___0 < 48) {
      goto error;
    } else
    if (55 < ch___0) {
      goto error;
    }
    ac |= ch___0 - 48;
    ch___0 = ac;
    goto switch_break___0;
    switch_default___0: /* CIL Label */
    goto error;
    switch_break___0: /* CIL Label */ ;
    }
    strbuf_addch(sb___6, ch___0);
  }
  while_break: /* CIL Label */ ;
  }
  error:
  strbuf_setlen(sb___6, oldlen);
  return (-1);
}
}
void perl_quote_buf(struct strbuf *sb___6 , char const   *src )
{
  char sq ;
  char bq ;
  char c___0 ;
  char const   *tmp ;

  {
  sq = (char )'\'';
  bq = (char )'\\';
  strbuf_addch(sb___6, (int )sq);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = src;
    src ++;
    c___0 = (char )*tmp;
    if (! c___0) {
      goto while_break;
    }
    if ((int )c___0 == (int )sq) {
      strbuf_addch(sb___6, (int )bq);
    } else
    if ((int )c___0 == (int )bq) {
      strbuf_addch(sb___6, (int )bq);
    }
    strbuf_addch(sb___6, (int )c___0);
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addch(sb___6, (int )sq);
  return;
}
}
void perl_quote_buf_with_len(struct strbuf *sb___6 , char const   *src , size_t len___0 )
{
  char sq ;
  char bq ;
  char const   *c___0 ;
  char const   *end ;

  {
  sq = (char )'\'';
  bq = (char )'\\';
  c___0 = src;
  end = src + len___0;
  strbuf_addch(sb___6, (int )sq);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )c___0 != (unsigned long )end)) {
      goto while_break;
    }
    if ((int const   )*c___0 == (int const   )sq) {
      strbuf_addch(sb___6, (int )bq);
    } else
    if ((int const   )*c___0 == (int const   )bq) {
      strbuf_addch(sb___6, (int )bq);
    }
    strbuf_addch(sb___6, (int )*c___0);
    c___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addch(sb___6, (int )sq);
  return;
}
}
void python_quote_buf(struct strbuf *sb___6 , char const   *src )
{
  char sq ;
  char bq ;
  char nl ;
  char c___0 ;
  char const   *tmp ;

  {
  sq = (char )'\'';
  bq = (char )'\\';
  nl = (char )'\n';
  strbuf_addch(sb___6, (int )sq);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = src;
    src ++;
    c___0 = (char )*tmp;
    if (! c___0) {
      goto while_break;
    }
    if ((int )c___0 == (int )nl) {
      strbuf_addch(sb___6, (int )bq);
      strbuf_addch(sb___6, 'n');
      goto while_continue;
    }
    if ((int )c___0 == (int )sq) {
      strbuf_addch(sb___6, (int )bq);
    } else
    if ((int )c___0 == (int )bq) {
      strbuf_addch(sb___6, (int )bq);
    }
    strbuf_addch(sb___6, (int )c___0);
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addch(sb___6, (int )sq);
  return;
}
}
void tcl_quote_buf(struct strbuf *sb___6 , char const   *src )
{
  char c___0 ;
  char const   *tmp ;

  {
  strbuf_addch(sb___6, '\"');
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = src;
    src ++;
    c___0 = (char )*tmp;
    if (! c___0) {
      goto while_break;
    }
    {
    if ((int )c___0 == 34) {
      goto case_34;
    }
    if ((int )c___0 == 92) {
      goto case_34;
    }
    if ((int )c___0 == 36) {
      goto case_34;
    }
    if ((int )c___0 == 125) {
      goto case_34;
    }
    if ((int )c___0 == 123) {
      goto case_34;
    }
    if ((int )c___0 == 93) {
      goto case_34;
    }
    if ((int )c___0 == 91) {
      goto case_34;
    }
    if ((int )c___0 == 12) {
      goto case_12;
    }
    if ((int )c___0 == 13) {
      goto case_13;
    }
    if ((int )c___0 == 10) {
      goto case_10;
    }
    if ((int )c___0 == 9) {
      goto case_9;
    }
    if ((int )c___0 == 11) {
      goto case_11;
    }
    goto switch_default;
    case_34: /* CIL Label */
    case_92: /* CIL Label */
    case_36: /* CIL Label */
    case_125: /* CIL Label */
    case_123: /* CIL Label */
    case_93: /* CIL Label */
    case_91: /* CIL Label */
    strbuf_addch(sb___6, '\\');
    switch_default: /* CIL Label */
    strbuf_addch(sb___6, (int )c___0);
    goto switch_break;
    case_12: /* CIL Label */
    strbuf_addstr(sb___6, (char const   *)"\\f");
    goto switch_break;
    case_13: /* CIL Label */
    strbuf_addstr(sb___6, (char const   *)"\\r");
    goto switch_break;
    case_10: /* CIL Label */
    strbuf_addstr(sb___6, (char const   *)"\\n");
    goto switch_break;
    case_9: /* CIL Label */
    strbuf_addstr(sb___6, (char const   *)"\\t");
    goto switch_break;
    case_11: /* CIL Label */
    strbuf_addstr(sb___6, (char const   *)"\\v");
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addch(sb___6, '\"');
  return;
}
}
void basic_regex_quote_buf(struct strbuf *sb___6 , char const   *src )
{
  char c___0 ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;

  {
  if ((int const   )*src == 94) {
    strbuf_addch(sb___6, '\\');
    tmp = src;
    src ++;
    strbuf_addch(sb___6, (int )*tmp);
  }
  if ((int const   )*src == 42) {
    tmp___0 = src;
    src ++;
    strbuf_addch(sb___6, (int )*tmp___0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = src;
    src ++;
    c___0 = (char )*tmp___1;
    if (! c___0) {
      goto while_break;
    }
    {
    if ((int )c___0 == 42) {
      goto case_42;
    }
    if ((int )c___0 == 92) {
      goto case_42;
    }
    if ((int )c___0 == 46) {
      goto case_42;
    }
    if ((int )c___0 == 91) {
      goto case_42;
    }
    if ((int )c___0 == 36) {
      goto case_36;
    }
    goto switch_default;
    case_42: /* CIL Label */
    case_92: /* CIL Label */
    case_46: /* CIL Label */
    case_91: /* CIL Label */
    strbuf_addch(sb___6, '\\');
    strbuf_addch(sb___6, (int )c___0);
    goto switch_break;
    case_36: /* CIL Label */
    if ((int const   )*src == 0) {
      strbuf_addch(sb___6, '\\');
    }
    strbuf_addch(sb___6, (int )c___0);
    goto switch_break;
    switch_default: /* CIL Label */
    strbuf_addch(sb___6, (int )c___0);
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static double const   __ac_HASH_UPPER___71  =    (double const   )0.77;
__inline static void kh_resize_oid_set___71(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___71(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___71 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___71 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___71(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___71(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___71(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___71(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___71(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___71(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___71 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___71 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___71(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___71(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___71(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___71(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___71(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___71(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___71 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___71 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___71(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___71(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___71(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___71(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int read_patches(char const   *range , struct string_list *list___3 , struct strvec  const  *other_arg )
{
  struct child_process cp ;
  struct strbuf buf___19 ;
  struct strbuf contents ;
  struct patch_util *util ;
  int in_header ;
  char *line___0 ;
  char *current_filename ;
  ssize_t len___0 ;
  size_t size ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  ssize_t tmp___3 ;
  int tmp___4 ;
  char const   *p___0 ;
  char *eol ;
  void *tmp___5 ;
  struct string_list_item *tmp___6 ;
  void *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  struct patch patch ;
  struct strbuf root ;
  int linenr ;
  int orig_len ;
  int tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  size_t tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  size_t tmp___17 ;
  int tmp___18 ;
  char *tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  struct string_list_item *tmp___22 ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  contents.alloc = 0UL;
  contents.len = 0UL;
  contents.buf = strbuf_slopbuf;
  util = (struct patch_util *)((void *)0);
  in_header = 1;
  current_filename = (char *)((void *)0);
  strvec_pushl(& cp.args, "log", "--no-color", "-p", "--no-merges", "--reverse", "--date-order",
               "--decorate=no", "--no-prefix", "--output-indicator-new=>", "--output-indicator-old=<",
               "--output-indicator-context=#", "--no-abbrev-commit", "--pretty=medium",
               "--notes", (void *)0);
  if (other_arg) {
    strvec_pushv(& cp.args, (char const   **)other_arg->v);
  }
  strvec_push(& cp.args, range);
  cp.out = -1;
  cp.no_stdin = 1U;
  cp.git_cmd = 1U;
  tmp___1 = start_command(& cp);
  if (tmp___1) {
    tmp = _((char const   *)"could not start `log`");
    error_errno((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  tmp___3 = strbuf_read(& contents, cp.out, (size_t )0);
  if (tmp___3 < 0L) {
    tmp___2 = _((char const   *)"could not read `log` output");
    error_errno((char const   *)tmp___2);
    const_error();
    finish_command(& cp);
    return (-1);
  }
  tmp___4 = finish_command(& cp);
  if (tmp___4) {
    return (-1);
  }
  line___0 = contents.buf;
  size = contents.len;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (size > 0UL)) {
      goto while_break;
    }
    tmp___5 = memchr((void const   *)line___0, '\n', size);
    eol = (char *)tmp___5;
    if (eol) {
      *eol = (char )'\000';
      len___0 = (eol + 1) - line___0;
    } else {
      len___0 = (ssize_t )size;
    }
    tmp___10 = skip_prefix((char const   *)line___0, (char const   *)"commit ", & p___0);
    if (tmp___10) {
      if (util) {
        tmp___6 = string_list_append(list___3, (char const   *)buf___19.buf);
        tmp___6->util = (void *)util;
        strbuf_setlen(& buf___19, (size_t )0);
      }
      tmp___7 = xcalloc((size_t )1, sizeof(*util));
      util = (struct patch_util *)tmp___7;
      tmp___9 = repo_get_oid(the_repository, p___0, & util->oid);
      if (tmp___9) {
        tmp___8 = _((char const   *)"could not parse commit \'%s\'");
        error((char const   *)tmp___8, p___0);
        const_error();
        free((void *)util);
        free((void *)current_filename);
        string_list_clear(list___3, 1);
        strbuf_release(& buf___19);
        strbuf_release(& contents);
        return (-1);
      }
      util->matching = -1;
      in_header = 1;
      goto __Cont;
    }
    if (! util) {
      tmp___11 = _((char const   *)"could not parse first line of `log` output: did not start with \'commit \': \'%s\'");
      error((char const   *)tmp___11, line___0);
      const_error();
      free((void *)current_filename);
      string_list_clear(list___3, 1);
      strbuf_release(& buf___19);
      strbuf_release(& contents);
      return (-1);
    }
    tmp___21 = starts_with((char const   *)line___0, (char const   *)"diff --git");
    if (tmp___21) {
      patch.new_name = (char *)0;
      patch.old_name = (char *)0;
      patch.def_name = (char *)0;
      patch.old_mode = 0U;
      patch.new_mode = 0U;
      patch.is_new = 0;
      patch.is_delete = 0;
      patch.rejected = 0;
      patch.ws_rule = 0U;
      patch.lines_added = 0;
      patch.lines_deleted = 0;
      patch.score = 0;
      patch.extension_linenr = 0;
      patch.is_toplevel_relative = 0U;
      patch.inaccurate_eof = 0U;
      patch.is_binary = 0U;
      patch.is_copy = 0U;
      patch.is_rename = 0U;
      patch.recount = 0U;
      patch.conflicted_threeway = 0U;
      patch.direct_to_threeway = 0U;
      patch.crlf_in_old = 0U;
      patch.fragments = (struct fragment *)0;
      patch.result = (char *)0;
      patch.resultsize = 0UL;
      patch.old_oid_prefix[0] = (char)0;
      patch.old_oid_prefix[1] = (char)0;
      patch.old_oid_prefix[2] = (char)0;
      patch.old_oid_prefix[3] = (char)0;
      patch.old_oid_prefix[4] = (char)0;
      patch.old_oid_prefix[5] = (char)0;
      patch.old_oid_prefix[6] = (char)0;
      patch.old_oid_prefix[7] = (char)0;
      patch.old_oid_prefix[8] = (char)0;
      patch.old_oid_prefix[9] = (char)0;
      patch.old_oid_prefix[10] = (char)0;
      patch.old_oid_prefix[11] = (char)0;
      patch.old_oid_prefix[12] = (char)0;
      patch.old_oid_prefix[13] = (char)0;
      patch.old_oid_prefix[14] = (char)0;
      patch.old_oid_prefix[15] = (char)0;
      patch.old_oid_prefix[16] = (char)0;
      patch.old_oid_prefix[17] = (char)0;
      patch.old_oid_prefix[18] = (char)0;
      patch.old_oid_prefix[19] = (char)0;
      patch.old_oid_prefix[20] = (char)0;
      patch.old_oid_prefix[21] = (char)0;
      patch.old_oid_prefix[22] = (char)0;
      patch.old_oid_prefix[23] = (char)0;
      patch.old_oid_prefix[24] = (char)0;
      patch.old_oid_prefix[25] = (char)0;
      patch.old_oid_prefix[26] = (char)0;
      patch.old_oid_prefix[27] = (char)0;
      patch.old_oid_prefix[28] = (char)0;
      patch.old_oid_prefix[29] = (char)0;
      patch.old_oid_prefix[30] = (char)0;
      patch.old_oid_prefix[31] = (char)0;
      patch.old_oid_prefix[32] = (char)0;
      patch.old_oid_prefix[33] = (char)0;
      patch.old_oid_prefix[34] = (char)0;
      patch.old_oid_prefix[35] = (char)0;
      patch.old_oid_prefix[36] = (char)0;
      patch.old_oid_prefix[37] = (char)0;
      patch.old_oid_prefix[38] = (char)0;
      patch.old_oid_prefix[39] = (char)0;
      patch.old_oid_prefix[40] = (char)0;
      patch.old_oid_prefix[41] = (char)0;
      patch.old_oid_prefix[42] = (char)0;
      patch.old_oid_prefix[43] = (char)0;
      patch.old_oid_prefix[44] = (char)0;
      patch.old_oid_prefix[45] = (char)0;
      patch.old_oid_prefix[46] = (char)0;
      patch.old_oid_prefix[47] = (char)0;
      patch.old_oid_prefix[48] = (char)0;
      patch.old_oid_prefix[49] = (char)0;
      patch.old_oid_prefix[50] = (char)0;
      patch.old_oid_prefix[51] = (char)0;
      patch.old_oid_prefix[52] = (char)0;
      patch.old_oid_prefix[53] = (char)0;
      patch.old_oid_prefix[54] = (char)0;
      patch.old_oid_prefix[55] = (char)0;
      patch.old_oid_prefix[56] = (char)0;
      patch.old_oid_prefix[57] = (char)0;
      patch.old_oid_prefix[58] = (char)0;
      patch.old_oid_prefix[59] = (char)0;
      patch.old_oid_prefix[60] = (char)0;
      patch.old_oid_prefix[61] = (char)0;
      patch.old_oid_prefix[62] = (char)0;
      patch.old_oid_prefix[63] = (char)0;
      patch.old_oid_prefix[64] = (char)0;
      patch.new_oid_prefix[0] = (char)0;
      patch.new_oid_prefix[1] = (char)0;
      patch.new_oid_prefix[2] = (char)0;
      patch.new_oid_prefix[3] = (char)0;
      patch.new_oid_prefix[4] = (char)0;
      patch.new_oid_prefix[5] = (char)0;
      patch.new_oid_prefix[6] = (char)0;
      patch.new_oid_prefix[7] = (char)0;
      patch.new_oid_prefix[8] = (char)0;
      patch.new_oid_prefix[9] = (char)0;
      patch.new_oid_prefix[10] = (char)0;
      patch.new_oid_prefix[11] = (char)0;
      patch.new_oid_prefix[12] = (char)0;
      patch.new_oid_prefix[13] = (char)0;
      patch.new_oid_prefix[14] = (char)0;
      patch.new_oid_prefix[15] = (char)0;
      patch.new_oid_prefix[16] = (char)0;
      patch.new_oid_prefix[17] = (char)0;
      patch.new_oid_prefix[18] = (char)0;
      patch.new_oid_prefix[19] = (char)0;
      patch.new_oid_prefix[20] = (char)0;
      patch.new_oid_prefix[21] = (char)0;
      patch.new_oid_prefix[22] = (char)0;
      patch.new_oid_prefix[23] = (char)0;
      patch.new_oid_prefix[24] = (char)0;
      patch.new_oid_prefix[25] = (char)0;
      patch.new_oid_prefix[26] = (char)0;
      patch.new_oid_prefix[27] = (char)0;
      patch.new_oid_prefix[28] = (char)0;
      patch.new_oid_prefix[29] = (char)0;
      patch.new_oid_prefix[30] = (char)0;
      patch.new_oid_prefix[31] = (char)0;
      patch.new_oid_prefix[32] = (char)0;
      patch.new_oid_prefix[33] = (char)0;
      patch.new_oid_prefix[34] = (char)0;
      patch.new_oid_prefix[35] = (char)0;
      patch.new_oid_prefix[36] = (char)0;
      patch.new_oid_prefix[37] = (char)0;
      patch.new_oid_prefix[38] = (char)0;
      patch.new_oid_prefix[39] = (char)0;
      patch.new_oid_prefix[40] = (char)0;
      patch.new_oid_prefix[41] = (char)0;
      patch.new_oid_prefix[42] = (char)0;
      patch.new_oid_prefix[43] = (char)0;
      patch.new_oid_prefix[44] = (char)0;
      patch.new_oid_prefix[45] = (char)0;
      patch.new_oid_prefix[46] = (char)0;
      patch.new_oid_prefix[47] = (char)0;
      patch.new_oid_prefix[48] = (char)0;
      patch.new_oid_prefix[49] = (char)0;
      patch.new_oid_prefix[50] = (char)0;
      patch.new_oid_prefix[51] = (char)0;
      patch.new_oid_prefix[52] = (char)0;
      patch.new_oid_prefix[53] = (char)0;
      patch.new_oid_prefix[54] = (char)0;
      patch.new_oid_prefix[55] = (char)0;
      patch.new_oid_prefix[56] = (char)0;
      patch.new_oid_prefix[57] = (char)0;
      patch.new_oid_prefix[58] = (char)0;
      patch.new_oid_prefix[59] = (char)0;
      patch.new_oid_prefix[60] = (char)0;
      patch.new_oid_prefix[61] = (char)0;
      patch.new_oid_prefix[62] = (char)0;
      patch.new_oid_prefix[63] = (char)0;
      patch.new_oid_prefix[64] = (char)0;
      patch.next = (struct patch *)0;
      patch.threeway_stage[0].hash[0] = (unsigned char)0;
      patch.threeway_stage[0].hash[1] = (unsigned char)0;
      patch.threeway_stage[0].hash[2] = (unsigned char)0;
      patch.threeway_stage[0].hash[3] = (unsigned char)0;
      patch.threeway_stage[0].hash[4] = (unsigned char)0;
      patch.threeway_stage[0].hash[5] = (unsigned char)0;
      patch.threeway_stage[0].hash[6] = (unsigned char)0;
      patch.threeway_stage[0].hash[7] = (unsigned char)0;
      patch.threeway_stage[0].hash[8] = (unsigned char)0;
      patch.threeway_stage[0].hash[9] = (unsigned char)0;
      patch.threeway_stage[0].hash[10] = (unsigned char)0;
      patch.threeway_stage[0].hash[11] = (unsigned char)0;
      patch.threeway_stage[0].hash[12] = (unsigned char)0;
      patch.threeway_stage[0].hash[13] = (unsigned char)0;
      patch.threeway_stage[0].hash[14] = (unsigned char)0;
      patch.threeway_stage[0].hash[15] = (unsigned char)0;
      patch.threeway_stage[0].hash[16] = (unsigned char)0;
      patch.threeway_stage[0].hash[17] = (unsigned char)0;
      patch.threeway_stage[0].hash[18] = (unsigned char)0;
      patch.threeway_stage[0].hash[19] = (unsigned char)0;
      patch.threeway_stage[0].hash[20] = (unsigned char)0;
      patch.threeway_stage[0].hash[21] = (unsigned char)0;
      patch.threeway_stage[0].hash[22] = (unsigned char)0;
      patch.threeway_stage[0].hash[23] = (unsigned char)0;
      patch.threeway_stage[0].hash[24] = (unsigned char)0;
      patch.threeway_stage[0].hash[25] = (unsigned char)0;
      patch.threeway_stage[0].hash[26] = (unsigned char)0;
      patch.threeway_stage[0].hash[27] = (unsigned char)0;
      patch.threeway_stage[0].hash[28] = (unsigned char)0;
      patch.threeway_stage[0].hash[29] = (unsigned char)0;
      patch.threeway_stage[0].hash[30] = (unsigned char)0;
      patch.threeway_stage[0].hash[31] = (unsigned char)0;
      patch.threeway_stage[0].algo = 0;
      patch.threeway_stage[1].hash[0] = (unsigned char)0;
      patch.threeway_stage[1].hash[1] = (unsigned char)0;
      patch.threeway_stage[1].hash[2] = (unsigned char)0;
      patch.threeway_stage[1].hash[3] = (unsigned char)0;
      patch.threeway_stage[1].hash[4] = (unsigned char)0;
      patch.threeway_stage[1].hash[5] = (unsigned char)0;
      patch.threeway_stage[1].hash[6] = (unsigned char)0;
      patch.threeway_stage[1].hash[7] = (unsigned char)0;
      patch.threeway_stage[1].hash[8] = (unsigned char)0;
      patch.threeway_stage[1].hash[9] = (unsigned char)0;
      patch.threeway_stage[1].hash[10] = (unsigned char)0;
      patch.threeway_stage[1].hash[11] = (unsigned char)0;
      patch.threeway_stage[1].hash[12] = (unsigned char)0;
      patch.threeway_stage[1].hash[13] = (unsigned char)0;
      patch.threeway_stage[1].hash[14] = (unsigned char)0;
      patch.threeway_stage[1].hash[15] = (unsigned char)0;
      patch.threeway_stage[1].hash[16] = (unsigned char)0;
      patch.threeway_stage[1].hash[17] = (unsigned char)0;
      patch.threeway_stage[1].hash[18] = (unsigned char)0;
      patch.threeway_stage[1].hash[19] = (unsigned char)0;
      patch.threeway_stage[1].hash[20] = (unsigned char)0;
      patch.threeway_stage[1].hash[21] = (unsigned char)0;
      patch.threeway_stage[1].hash[22] = (unsigned char)0;
      patch.threeway_stage[1].hash[23] = (unsigned char)0;
      patch.threeway_stage[1].hash[24] = (unsigned char)0;
      patch.threeway_stage[1].hash[25] = (unsigned char)0;
      patch.threeway_stage[1].hash[26] = (unsigned char)0;
      patch.threeway_stage[1].hash[27] = (unsigned char)0;
      patch.threeway_stage[1].hash[28] = (unsigned char)0;
      patch.threeway_stage[1].hash[29] = (unsigned char)0;
      patch.threeway_stage[1].hash[30] = (unsigned char)0;
      patch.threeway_stage[1].hash[31] = (unsigned char)0;
      patch.threeway_stage[1].algo = 0;
      patch.threeway_stage[2].hash[0] = (unsigned char)0;
      patch.threeway_stage[2].hash[1] = (unsigned char)0;
      patch.threeway_stage[2].hash[2] = (unsigned char)0;
      patch.threeway_stage[2].hash[3] = (unsigned char)0;
      patch.threeway_stage[2].hash[4] = (unsigned char)0;
      patch.threeway_stage[2].hash[5] = (unsigned char)0;
      patch.threeway_stage[2].hash[6] = (unsigned char)0;
      patch.threeway_stage[2].hash[7] = (unsigned char)0;
      patch.threeway_stage[2].hash[8] = (unsigned char)0;
      patch.threeway_stage[2].hash[9] = (unsigned char)0;
      patch.threeway_stage[2].hash[10] = (unsigned char)0;
      patch.threeway_stage[2].hash[11] = (unsigned char)0;
      patch.threeway_stage[2].hash[12] = (unsigned char)0;
      patch.threeway_stage[2].hash[13] = (unsigned char)0;
      patch.threeway_stage[2].hash[14] = (unsigned char)0;
      patch.threeway_stage[2].hash[15] = (unsigned char)0;
      patch.threeway_stage[2].hash[16] = (unsigned char)0;
      patch.threeway_stage[2].hash[17] = (unsigned char)0;
      patch.threeway_stage[2].hash[18] = (unsigned char)0;
      patch.threeway_stage[2].hash[19] = (unsigned char)0;
      patch.threeway_stage[2].hash[20] = (unsigned char)0;
      patch.threeway_stage[2].hash[21] = (unsigned char)0;
      patch.threeway_stage[2].hash[22] = (unsigned char)0;
      patch.threeway_stage[2].hash[23] = (unsigned char)0;
      patch.threeway_stage[2].hash[24] = (unsigned char)0;
      patch.threeway_stage[2].hash[25] = (unsigned char)0;
      patch.threeway_stage[2].hash[26] = (unsigned char)0;
      patch.threeway_stage[2].hash[27] = (unsigned char)0;
      patch.threeway_stage[2].hash[28] = (unsigned char)0;
      patch.threeway_stage[2].hash[29] = (unsigned char)0;
      patch.threeway_stage[2].hash[30] = (unsigned char)0;
      patch.threeway_stage[2].hash[31] = (unsigned char)0;
      patch.threeway_stage[2].algo = 0;
      root.alloc = 0UL;
      root.len = 0UL;
      root.buf = strbuf_slopbuf;
      linenr = 0;
      in_header = 0;
      strbuf_addch(& buf___19, '\n');
      if (! util->diff_offset) {
        util->diff_offset = buf___19.len;
      }
      if (eol) {
        *eol = (char )'\n';
      }
      orig_len = (int )len___0;
      tmp___12 = parse_git_diff_header(& root, & linenr, 0, (char const   *)line___0,
                                       (int )len___0, (unsigned int )size, & patch);
      len___0 = (ssize_t )tmp___12;
      if (len___0 < 0L) {
        tmp___13 = _((char const   *)"could not parse git header \'%.*s\'");
        error((char const   *)tmp___13, orig_len, line___0);
        const_error();
        free((void *)util);
        free((void *)current_filename);
        string_list_clear(list___3, 1);
        strbuf_release(& buf___19);
        strbuf_release(& contents);
        return (-1);
      }
      strbuf_addstr(& buf___19, (char const   *)" ## ");
      if (patch.is_new > 0) {
        strbuf_addf(& buf___19, (char const   *)"%s (new)", patch.new_name);
      } else
      if (patch.is_delete > 0) {
        strbuf_addf(& buf___19, (char const   *)"%s (deleted)", patch.old_name);
      } else
      if (patch.is_rename) {
        strbuf_addf(& buf___19, (char const   *)"%s => %s", patch.old_name, patch.new_name);
      } else {
        strbuf_addstr(& buf___19, (char const   *)patch.new_name);
      }
      free((void *)current_filename);
      if (patch.is_delete > 0) {
        current_filename = xstrdup((char const   *)patch.old_name);
      } else {
        current_filename = xstrdup((char const   *)patch.new_name);
      }
      if (patch.new_mode) {
        if (patch.old_mode) {
          if (patch.old_mode != patch.new_mode) {
            strbuf_addf(& buf___19, (char const   *)" (mode change %06o => %06o)",
                        patch.old_mode, patch.new_mode);
          }
        }
      }
      strbuf_addstr(& buf___19, (char const   *)" ##");
    } else
    if (in_header) {
      tmp___18 = starts_with((char const   *)line___0, (char const   *)"Author: ");
      if (tmp___18) {
        strbuf_addstr(& buf___19, (char const   *)" ## Metadata ##\n");
        strbuf_addstr(& buf___19, (char const   *)line___0);
        strbuf_addstr(& buf___19, (char const   *)"\n\n");
        strbuf_addstr(& buf___19, (char const   *)" ## Commit message ##\n");
      } else {
        tmp___16 = starts_with((char const   *)line___0, (char const   *)"Notes");
        if (tmp___16) {
          tmp___17 = strlen((char const   *)line___0);
          if ((int )*(line___0 + (tmp___17 - 1UL)) == 58) {
            strbuf_addstr(& buf___19, (char const   *)"\n\n");
            tmp___14 = strlen((char const   *)line___0);
            strbuf_addf(& buf___19, (char const   *)" ## %.*s ##\n", (int )(tmp___14 - 1UL),
                        line___0);
          } else {
            goto _L;
          }
        } else {
          _L: /* CIL Label */
          tmp___15 = starts_with((char const   *)line___0, (char const   *)"    ");
          if (tmp___15) {
            p___0 = (char const   *)((line___0 + len___0) - 2);
            {
            while (1) {
              while_continue___0: /* CIL Label */ ;
              if (((int const   )sane_ctype[(unsigned char )*p___0] & 1) != 0) {
                if (! ((unsigned long )p___0 >= (unsigned long )line___0)) {
                  goto while_break___0;
                }
              } else {
                goto while_break___0;
              }
              p___0 --;
            }
            while_break___0: /* CIL Label */ ;
            }
            strbuf_add(& buf___19, (void const   *)line___0, (size_t )((p___0 - (char const   *)line___0) + 1L));
            strbuf_addch(& buf___19, '\n');
          }
        }
      }
      goto __Cont;
    } else {
      tmp___20 = skip_prefix((char const   *)line___0, (char const   *)"@@ ", & p___0);
      if (tmp___20) {
        tmp___19 = strstr(p___0, (char const   *)"@@");
        p___0 = (char const   *)tmp___19;
        strbuf_addstr(& buf___19, (char const   *)"@@");
        if (current_filename) {
          if (*(p___0 + 2)) {
            strbuf_addf(& buf___19, (char const   *)" %s:", current_filename);
          }
        }
        if (p___0) {
          strbuf_addstr(& buf___19, p___0 + 2);
        }
      } else
      if (! *(line___0 + 0)) {
        goto __Cont;
      } else
      if ((int )*(line___0 + 0) == 62) {
        strbuf_addch(& buf___19, '+');
        strbuf_addstr(& buf___19, (char const   *)(line___0 + 1));
      } else
      if ((int )*(line___0 + 0) == 60) {
        strbuf_addch(& buf___19, '-');
        strbuf_addstr(& buf___19, (char const   *)(line___0 + 1));
      } else
      if ((int )*(line___0 + 0) == 35) {
        strbuf_addch(& buf___19, ' ');
        strbuf_addstr(& buf___19, (char const   *)(line___0 + 1));
      } else {
        strbuf_addch(& buf___19, ' ');
        strbuf_addstr(& buf___19, (char const   *)line___0);
      }
    }
    strbuf_addch(& buf___19, '\n');
    (util->diffsize) ++;
    __Cont: /* CIL Label */
    size -= (size_t )len___0;
    line___0 += len___0;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& contents);
  if (util) {
    tmp___22 = string_list_append(list___3, (char const   *)buf___19.buf);
    tmp___22->util = (void *)util;
  }
  strbuf_release(& buf___19);
  free((void *)current_filename);
  return (0);
}
}
static int patch_util_cmp(void const   *dummy___0 , struct patch_util  const  *a ,
                          struct patch_util  const  *b___0 , char const   *keydata )
{
  char const   *tmp ;
  int tmp___0 ;

  {
  if (keydata) {
    tmp = keydata;
  } else {
    tmp = (char const   *)b___0->diff;
  }
  tmp___0 = strcmp((char const   *)a->diff, tmp);
  return (tmp___0);
}
}
static void find_exact_matches(struct string_list *a , struct string_list *b___0 )
{
  struct hashmap map___0 ;
  int i ;
  struct patch_util *util ;
  unsigned int tmp ;
  struct patch_util *util___0 ;
  struct patch_util *other ;
  unsigned int tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;

  {
  map___0.table = (struct hashmap_entry **)0;
  map___0.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                           struct hashmap_entry  const  *entry_or_key , void const   *keydata ))(& patch_util_cmp);
  map___0.cmpfn_data = (void const   *)((void *)0);
  map___0.private_size = 0U;
  map___0.tablesize = 0U;
  map___0.grow_at = 0U;
  map___0.shrink_at = 0U;
  map___0.do_count_items = 1U;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < a->nr)) {
      goto while_break;
    }
    util = (struct patch_util *)(a->items + i)->util;
    util->i = i;
    util->patch = (char const   *)(a->items + i)->string;
    util->diff = util->patch + util->diff_offset;
    tmp = strhash(util->diff);
    hashmap_entry_init(& util->e, tmp);
    hashmap_add(& map___0, & util->e);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < b___0->nr)) {
      goto while_break___0;
    }
    util___0 = (struct patch_util *)(b___0->items + i)->util;
    util___0->i = i;
    util___0->patch = (char const   *)(b___0->items + i)->string;
    util___0->diff = util___0->patch + util___0->diff_offset;
    tmp___0 = strhash(util___0->diff);
    hashmap_entry_init(& util___0->e, tmp___0);
    tmp___1 = hashmap_remove(& map___0, (struct hashmap_entry  const  *)(& util___0->e),
                             (void const   *)((void *)0));
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct patch_util *)0)->e));
    other = (struct patch_util *)tmp___2;
    if (other) {
      if (other->matching >= 0) {
        BUG_fl((char const   *)"range-diff.c", 264, (char const   *)"already assigned!");
      }
      other->matching = i;
      util___0->matching = other->i;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  hashmap_clear_(& map___0, (ssize_t )-1);
  return;
}
}
static int diffsize_consume(void *data , char *line___0 , unsigned long len___0 )
{


  {
  (*((int *)data)) ++;
  return (0);
}
}
static void diffsize_hunk(void *data , long ob , long on , long nb , long nn , char const   *funcline ,
                          long funclen )
{


  {
  diffsize_consume(data, (char *)((void *)0), 0UL);
  return;
}
}
static int diffsize(char const   *a , char const   *b___0 )
{
  xpparam_t pp ;
  xdemitconf_t cfg ;
  mmfile_t mf1 ;
  mmfile_t mf2 ;
  int count___0 ;
  size_t tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  pp.flags = 0UL;
  pp.ignore_regex = (regex_t **)0;
  pp.ignore_regex_nr = 0UL;
  pp.anchors = (char **)0;
  pp.anchors_nr = 0UL;
  cfg.ctxlen = 0L;
  cfg.interhunkctxlen = 0L;
  cfg.flags = 0UL;
  cfg.find_func = (long (*)(char const   *line , long line_len , char *buffer , long buffer_size ,
                            void *priv ))0;
  cfg.find_func_priv = (void *)0;
  cfg.hunk_func = (int (*)(long start_a , long count_a , long start_b , long count_b ,
                           void *cb_data ))0;
  count___0 = 0;
  mf1.ptr = (char *)a;
  tmp = strlen(a);
  mf1.size = (long )tmp;
  mf2.ptr = (char *)b___0;
  tmp___0 = strlen(b___0);
  mf2.size = (long )tmp___0;
  cfg.ctxlen = 3L;
  tmp___1 = xdi_diff_outf(& mf1, & mf2, & diffsize_hunk, & diffsize_consume, (void *)(& count___0),
                          (xpparam_t const   *)(& pp), (xdemitconf_t const   *)(& cfg));
  if (! tmp___1) {
    return (count___0);
  }
  tmp___2 = _((char const   *)"failed to generate diff");
  error((char const   *)tmp___2);
  const_error();
  return (1 << 16);
}
}
static void get_correspondences(struct string_list *a , struct string_list *b___0 ,
                                int creation_factor )
{
  int n ;
  int *cost ;
  int c___0 ;
  int *a2b ;
  int *b2a ;
  int i ;
  int j ;
  size_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;
  struct patch_util *a_util ;
  struct patch_util *b_util ;
  struct patch_util *util ;
  struct patch_util *a_util___0 ;
  struct patch_util *b_util___0 ;

  {
  n = (int )(a->nr + b___0->nr);
  tmp = st_mult((size_t )n, (size_t )n);
  tmp___0 = st_mult(sizeof(*cost), tmp);
  tmp___1 = xmalloc(tmp___0);
  cost = (int *)tmp___1;
  tmp___2 = st_mult(sizeof(*a2b), (size_t )n);
  tmp___3 = xmalloc(tmp___2);
  a2b = (int *)tmp___3;
  tmp___4 = st_mult(sizeof(*b2a), (size_t )n);
  tmp___5 = xmalloc(tmp___4);
  b2a = (int *)tmp___5;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < a->nr)) {
      goto while_break;
    }
    a_util = (struct patch_util *)(a->items + i)->util;
    j = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned int )j < b___0->nr)) {
        goto while_break___0;
      }
      b_util = (struct patch_util *)(b___0->items + j)->util;
      if (a_util->matching == j) {
        c___0 = 0;
      } else
      if (a_util->matching < 0) {
        if (b_util->matching < 0) {
          c___0 = diffsize(a_util->diff, b_util->diff);
        } else {
          c___0 = 1 << 16;
        }
      } else {
        c___0 = 1 << 16;
      }
      *(cost + (i + n * j)) = c___0;
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (a_util->matching < 0) {
      c___0 = (a_util->diffsize * creation_factor) / 100;
    } else {
      c___0 = 1 << 16;
    }
    j = (int )b___0->nr;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (j < n)) {
        goto while_break___1;
      }
      *(cost + (i + n * j)) = c___0;
      j ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  j = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((unsigned int )j < b___0->nr)) {
      goto while_break___2;
    }
    util = (struct patch_util *)(b___0->items + j)->util;
    if (util->matching < 0) {
      c___0 = (util->diffsize * creation_factor) / 100;
    } else {
      c___0 = 1 << 16;
    }
    i = (int )a->nr;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! (i < n)) {
        goto while_break___3;
      }
      *(cost + (i + n * j)) = c___0;
      i ++;
    }
    while_break___3: /* CIL Label */ ;
    }
    j ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  i = (int )a->nr;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break___4;
    }
    j = (int )b___0->nr;
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      if (! (j < n)) {
        goto while_break___5;
      }
      *(cost + (i + n * j)) = 0;
      j ++;
    }
    while_break___5: /* CIL Label */ ;
    }
    i ++;
  }
  while_break___4: /* CIL Label */ ;
  }
  compute_assignment(n, n, cost, a2b, b2a);
  i = 0;
  {
  while (1) {
    while_continue___6: /* CIL Label */ ;
    if (! ((unsigned int )i < a->nr)) {
      goto while_break___6;
    }
    if (*(a2b + i) >= 0) {
      if ((unsigned int )*(a2b + i) < b___0->nr) {
        a_util___0 = (struct patch_util *)(a->items + i)->util;
        b_util___0 = (struct patch_util *)(b___0->items + *(a2b + i))->util;
        a_util___0->matching = *(a2b + i);
        b_util___0->matching = i;
      }
    }
    i ++;
  }
  while_break___6: /* CIL Label */ ;
  }
  free((void *)cost);
  free((void *)a2b);
  free((void *)b2a);
  return;
}
}
static void output_pair_header(struct diff_options *diffopt , int patch_no_width ,
                               struct strbuf *buf___19 , struct strbuf *dashes , struct patch_util *a_util ,
                               struct patch_util *b_util )
{
  struct object_id *oid ;
  struct object_id *tmp ;
  struct commit *commit ;
  char status ;
  char const   *color_reset ;
  char const   *tmp___0 ;
  char const   *color_old ;
  char const   *tmp___1 ;
  char const   *color_new ;
  char const   *tmp___2 ;
  char const   *color_commit ;
  char const   *tmp___3 ;
  char const   *color___0 ;
  char const   *tmp___4 ;
  size_t tmp___5 ;
  int tmp___6 ;
  char const   *tmp___7 ;
  char const   *tmp___8 ;
  char const   *tmp___9 ;

  {
  if (a_util) {
    tmp = & a_util->oid;
  } else {
    tmp = & b_util->oid;
  }
  oid = tmp;
  tmp___0 = diff_get_color(diffopt->use_color, (enum color_diff )0);
  color_reset = tmp___0;
  tmp___1 = diff_get_color(diffopt->use_color, (enum color_diff )4);
  color_old = tmp___1;
  tmp___2 = diff_get_color(diffopt->use_color, (enum color_diff )5);
  color_new = tmp___2;
  tmp___3 = diff_get_color(diffopt->use_color, (enum color_diff )6);
  color_commit = tmp___3;
  if (! dashes->len) {
    tmp___4 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)oid,
                                      default_abbrev);
    tmp___5 = strlen(tmp___4);
    strbuf_addchars(dashes, '-', tmp___5);
  }
  if (! b_util) {
    color___0 = color_old;
    status = (char )'<';
  } else
  if (! a_util) {
    color___0 = color_new;
    status = (char )'>';
  } else {
    tmp___6 = strcmp(a_util->patch, b_util->patch);
    if (tmp___6) {
      color___0 = color_commit;
      status = (char )'!';
    } else {
      color___0 = color_commit;
      status = (char )'=';
    }
  }
  strbuf_setlen(buf___19, (size_t )0);
  if ((int )status == 33) {
    tmp___7 = color_old;
  } else {
    tmp___7 = color___0;
  }
  strbuf_addstr(buf___19, tmp___7);
  if (! a_util) {
    strbuf_addf(buf___19, (char const   *)"%*s:  %s ", patch_no_width, "-", dashes->buf);
  } else {
    tmp___8 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& a_util->oid),
                                      default_abbrev);
    strbuf_addf(buf___19, (char const   *)"%*d:  %s ", patch_no_width, a_util->i + 1,
                tmp___8);
  }
  if ((int )status == 33) {
    strbuf_addf(buf___19, (char const   *)"%s%s", color_reset, color___0);
  }
  strbuf_addch(buf___19, (int )status);
  if ((int )status == 33) {
    strbuf_addf(buf___19, (char const   *)"%s%s", color_reset, color_new);
  }
  if (! b_util) {
    strbuf_addf(buf___19, (char const   *)" %*s:  %s", patch_no_width, "-", dashes->buf);
  } else {
    tmp___9 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& b_util->oid),
                                      default_abbrev);
    strbuf_addf(buf___19, (char const   *)" %*d:  %s", patch_no_width, b_util->i + 1,
                tmp___9);
  }
  commit = lookup_commit_reference(the_repository, (struct object_id  const  *)oid);
  if (commit) {
    if ((int )status == 33) {
      strbuf_addf(buf___19, (char const   *)"%s%s", color_reset, color___0);
    }
    strbuf_addch(buf___19, ' ');
    pp_commit_easy((enum cmit_fmt )5, (struct commit  const  *)commit, buf___19);
  }
  strbuf_addf(buf___19, (char const   *)"%s\n", color_reset);
  fwrite((void const   * __restrict  )buf___19->buf, buf___19->len, (size_t )1, (FILE * __restrict  )diffopt->file);
  return;
}
}
static struct userdiff_driver section_headers  =
     {(char const   *)0, (char const   *)0, 0, {(char const   *)"^ ## (.*) ##$\n^.?@@ (.*)$",
                                              1}, (char const   *)0, (char const   *)0,
    (struct notes_cache *)0, 0};
static struct diff_filespec *get_filespec(char const   *name___0 , char const   *p___0 )
{
  struct diff_filespec *spec ;
  struct diff_filespec *tmp ;
  struct object_id  const  *tmp___0 ;

  {
  tmp = alloc_filespec(name___0);
  spec = tmp;
  tmp___0 = null_oid();
  fill_filespec(spec, tmp___0, 0, (unsigned short)33188);
  spec->data = (void *)((char *)p___0);
  spec->size = strlen(p___0);
  spec->should_munmap = 0U;
  spec->is_stdin = 1U;
  spec->driver = & section_headers;
  return (spec);
}
}
static void patch_diff(char const   *a , char const   *b___0 , struct diff_options *diffopt )
{
  struct diff_filespec *tmp ;
  struct diff_filespec *tmp___0 ;

  {
  tmp = get_filespec((char const   *)"b", b___0);
  tmp___0 = get_filespec((char const   *)"a", a);
  diff_queue(& diff_queued_diff, tmp___0, tmp);
  diffcore_std(diffopt);
  diff_flush(diffopt);
  return;
}
}
static struct strbuf *output_prefix_cb(struct diff_options *opt___0 , void *data )
{


  {
  return ((struct strbuf *)data);
}
}
static void output___0(struct string_list *a , struct string_list *b___0 , struct range_diff_options *range_diff_opts )
{
  struct strbuf buf___19 ;
  struct strbuf dashes ;
  int patch_no_width ;
  unsigned int tmp ;
  int tmp___0 ;
  int i ;
  int j ;
  struct diff_options opts___1 ;
  struct strbuf indent ;
  struct patch_util *a_util ;
  struct patch_util *b_util ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  dashes.alloc = 0UL;
  dashes.len = 0UL;
  dashes.buf = strbuf_slopbuf;
  if (a->nr > b___0->nr) {
    tmp = a->nr;
  } else {
    tmp = b___0->nr;
  }
  tmp___0 = decimal_width((uintmax_t )(1U + tmp));
  patch_no_width = tmp___0;
  i = 0;
  j = 0;
  indent.alloc = 0UL;
  indent.len = 0UL;
  indent.buf = strbuf_slopbuf;
  if (range_diff_opts->diffopt) {
    memcpy((void *)(& opts___1), (void const   *)range_diff_opts->diffopt, sizeof(opts___1));
  } else {
    repo_diff_setup(the_repository, & opts___1);
  }
  opts___1.no_free = 1;
  if (! opts___1.output_format) {
    opts___1.output_format = 0x0010;
  }
  opts___1.flags.suppress_diff_headers = 1U;
  opts___1.flags.dual_color_diffed_diffs = range_diff_opts->dual_color;
  opts___1.flags.suppress_hunk_header_line_count = 1U;
  opts___1.output_prefix = & output_prefix_cb;
  strbuf_addstr(& indent, (char const   *)"    ");
  opts___1.output_prefix_data = (void *)(& indent);
  diff_setup_done(& opts___1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < a->nr)) {
      if (! ((unsigned int )j < b___0->nr)) {
        goto while_break;
      }
    }
    if ((unsigned int )i < a->nr) {
      a_util = (struct patch_util *)(a->items + i)->util;
    } else {
      a_util = (struct patch_util *)((void *)0);
    }
    if ((unsigned int )j < b___0->nr) {
      b_util = (struct patch_util *)(b___0->items + j)->util;
    } else {
      b_util = (struct patch_util *)((void *)0);
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if ((unsigned int )i < a->nr) {
        if (! a_util->shown) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      i ++;
      if ((unsigned int )i < a->nr) {
        a_util = (struct patch_util *)(a->items + i)->util;
      } else {
        a_util = (struct patch_util *)((void *)0);
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    if ((unsigned int )i < a->nr) {
      if (a_util->matching < 0) {
        if (! range_diff_opts->right_only) {
          output_pair_header(& opts___1, patch_no_width, & buf___19, & dashes, a_util,
                             (struct patch_util *)((void *)0));
        }
        i ++;
        goto while_continue;
      }
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if ((unsigned int )j < b___0->nr) {
        if (! (b_util->matching < 0)) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      if (! range_diff_opts->left_only) {
        output_pair_header(& opts___1, patch_no_width, & buf___19, & dashes, (struct patch_util *)((void *)0),
                           b_util);
      }
      j ++;
      if ((unsigned int )j < b___0->nr) {
        b_util = (struct patch_util *)(b___0->items + j)->util;
      } else {
        b_util = (struct patch_util *)((void *)0);
      }
    }
    while_break___1: /* CIL Label */ ;
    }
    if ((unsigned int )j < b___0->nr) {
      a_util = (struct patch_util *)(a->items + b_util->matching)->util;
      output_pair_header(& opts___1, patch_no_width, & buf___19, & dashes, a_util,
                         b_util);
      if (! (opts___1.output_format & 0x0800)) {
        patch_diff((char const   *)(a->items + b_util->matching)->string, (char const   *)(b___0->items + j)->string,
                   & opts___1);
      }
      a_util->shown = 1;
      j ++;
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  strbuf_release(& dashes);
  strbuf_release(& indent);
  opts___1.no_free = 0;
  diff_free(& opts___1);
  return;
}
}
int show_range_diff(char const   *range1 , char const   *range2 , struct range_diff_options *range_diff_opts )
{
  int res ;
  struct string_list branch1 ;
  struct string_list branch2 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  res = 0;
  branch1.items = (struct string_list_item *)0;
  branch1.nr = 0U;
  branch1.alloc = 0U;
  branch1.strdup_strings = 1U;
  branch1.cmp = (int (*)(char const   * , char const   * ))0;
  branch2.items = (struct string_list_item *)0;
  branch2.nr = 0U;
  branch2.alloc = 0U;
  branch2.strdup_strings = 1U;
  branch2.cmp = (int (*)(char const   * , char const   * ))0;
  if (range_diff_opts->left_only) {
    if (range_diff_opts->right_only) {
      tmp = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      error((char const   *)tmp, "--left-only", "--right-only");
      res = const_error();
    }
  }
  if (! res) {
    tmp___1 = read_patches(range1, & branch1, range_diff_opts->other_arg);
    if (tmp___1) {
      tmp___0 = _((char const   *)"could not parse log for \'%s\'");
      error((char const   *)tmp___0, range1);
      res = const_error();
    }
  }
  if (! res) {
    tmp___3 = read_patches(range2, & branch2, range_diff_opts->other_arg);
    if (tmp___3) {
      tmp___2 = _((char const   *)"could not parse log for \'%s\'");
      error((char const   *)tmp___2, range2);
      res = const_error();
    }
  }
  if (! res) {
    find_exact_matches(& branch1, & branch2);
    get_correspondences(& branch1, & branch2, range_diff_opts->creation_factor);
    output___0(& branch1, & branch2, range_diff_opts);
  }
  string_list_clear(& branch1, 1);
  string_list_clear(& branch2, 1);
  return (res);
}
}
int is_range_diff_range(char const   *arg )
{
  char *copy___0 ;
  char *tmp ;
  char const   *argv___0[4] ;
  int i ;
  int positive ;
  int negative ;
  struct rev_info revs ;
  struct object *obj ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = xstrdup(arg);
  copy___0 = tmp;
  argv___0[0] = (char const   *)"";
  argv___0[1] = (char const   *)copy___0;
  argv___0[2] = (char const   *)"--";
  argv___0[3] = (char const   *)((void *)0);
  positive = 0;
  negative = 0;
  repo_init_revisions(the_repository, & revs, (char const   *)((void *)0));
  tmp___0 = setup_revisions(3, argv___0, & revs, (struct setup_revision_opt *)((void *)0));
  if (tmp___0 == 1) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )i < revs.pending.nr)) {
        goto while_break;
      }
      if (((revs.pending.objects + i)->item)->flags & (1u << 1)) {
        negative ++;
      } else {
        positive ++;
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned int )i < revs.pending.nr)) {
        goto while_break___0;
      }
      obj = (revs.pending.objects + i)->item;
      if (obj->type == 1U) {
        clear_commit_marks((struct commit *)obj, ((((1u << 11) - 1U) | (1u << 25)) | (1u << 26)) | (1u << 15));
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  free((void *)copy___0);
  object_array_clear(& revs.pending);
  if (negative > 0) {
    if (positive > 0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static char const   BITMAP_IDX_SIGNATURE___3[4] ;
static double const   __ac_HASH_UPPER___72  =    (double const   )0.77;
__inline static void kh_resize_oid_set___72(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___72(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___72 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___72 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___72(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___72(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___72(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___72(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___72(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___72(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___72 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___72 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___72(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___72(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___72(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___72(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___72(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___72(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___72 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___72 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___72(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___72(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___72(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___72(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
int add_unseen_recent_objects_to_traversal(struct rev_info *revs , timestamp_t timestamp___0 ) ;
void mark_reachable_objects(struct rev_info *revs , int mark_reflog , timestamp_t mark_recent ,
                            struct progress *progress___7 ) ;
__inline static void kh_resize_odb_path_map___53(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___53(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___72 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___72 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___53(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___53(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___53(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___53(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   BITMAP_IDX_SIGNATURE___3[4]  = {      (char const   )'B',      (char const   )'I',      (char const   )'T',      (char const   )'M'};
static void update_progress(struct connectivity_progress *cp )
{


  {
  (cp->count) ++;
  if ((cp->count & 1023UL) == 0UL) {
    display_progress(cp->progress, cp->count);
  }
  return;
}
}
static int add_one_ref(char const   *path___6 , struct object_id  const  *oid , int flag ,
                       void *cb_data )
{
  struct rev_info *revs ;
  struct object *object ;

  {
  revs = (struct rev_info *)cb_data;
  if (flag & 0x01) {
    if (flag & 0x04) {
      warning((char const   *)"symbolic ref is dangling: %s", path___6);
      return (0);
    }
  }
  object = parse_object_or_die(oid, path___6);
  add_pending_object(revs, object, (char const   *)"");
  return (0);
}
}
static void mark_object(struct object *obj , char const   *name___0 , void *data )
{


  {
  update_progress((struct connectivity_progress *)data);
  return;
}
}
static void mark_commit(struct commit *c___0 , void *data )
{


  {
  mark_object(& c___0->object, (char const   *)((void *)0), data);
  return;
}
}
static void add_recent_object(struct object_id  const  *oid , timestamp_t mtime ,
                              struct recent_data *data )
{
  struct object *obj ;
  enum object_type type___0 ;
  int tmp ;
  char *tmp___0 ;
  struct tree *tmp___1 ;
  struct blob *tmp___2 ;
  char const   *tmp___3 ;
  char *tmp___4 ;
  char *tmp___5 ;

  {
  if (mtime <= data->timestamp) {
    return;
  }
  tmp = oid_object_info(the_repository, oid, (unsigned long *)((void *)0));
  type___0 = (enum object_type )tmp;
  if ((int )type___0 < 0) {
    tmp___0 = oid_to_hex(oid);
    die((char const   *)"unable to get object info for %s", tmp___0);
  }
  {
  if ((int )type___0 == 1) {
    goto case_1;
  }
  if ((int )type___0 == 4) {
    goto case_1;
  }
  if ((int )type___0 == 2) {
    goto case_2;
  }
  if ((int )type___0 == 3) {
    goto case_3;
  }
  goto switch_default;
  case_1: /* CIL Label */
  case_4: /* CIL Label */
  obj = parse_object_or_die(oid, (char const   *)((void *)0));
  goto switch_break;
  case_2: /* CIL Label */
  tmp___1 = lookup_tree(the_repository, oid);
  obj = (struct object *)tmp___1;
  goto switch_break;
  case_3: /* CIL Label */
  tmp___2 = lookup_blob(the_repository, oid);
  obj = (struct object *)tmp___2;
  goto switch_break;
  switch_default: /* CIL Label */
  tmp___3 = type_name((unsigned int )type___0);
  tmp___4 = oid_to_hex(oid);
  die((char const   *)"unknown object type for %s: %s", tmp___4, tmp___3);
  switch_break: /* CIL Label */ ;
  }
  if (! obj) {
    tmp___5 = oid_to_hex(oid);
    die((char const   *)"unable to lookup %s", tmp___5);
  }
  add_pending_object(data->revs, obj, (char const   *)"");
  return;
}
}
static int add_recent_loose(struct object_id  const  *oid , char const   *path___6 ,
                            void *data )
{
  struct stat st ;
  struct object *obj ;
  struct object *tmp ;
  int *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = lookup_object(the_repository, oid);
  obj = tmp;
  if (obj) {
    if (obj->flags & 1u) {
      return (0);
    }
  }
  tmp___3 = stat(path___6, & st);
  if (tmp___3 < 0) {
    tmp___0 = __errno_location();
    if (*tmp___0 == 2) {
      return (0);
    }
    tmp___1 = oid_to_hex(oid);
    error_errno((char const   *)"unable to stat %s", tmp___1);
    tmp___2 = const_error();
    return (tmp___2);
  }
  add_recent_object(oid, (timestamp_t )st.st_mtim.tv_sec, (struct recent_data *)data);
  return (0);
}
}
static int add_recent_packed(struct object_id  const  *oid , struct packed_git *p___0 ,
                             uint32_t pos , void *data )
{
  struct object *obj ;
  struct object *tmp ;

  {
  tmp = lookup_object(the_repository, oid);
  obj = tmp;
  if (obj) {
    if (obj->flags & 1u) {
      return (0);
    }
  }
  add_recent_object(oid, (timestamp_t )p___0->mtime, (struct recent_data *)data);
  return (0);
}
}
int add_unseen_recent_objects_to_traversal(struct rev_info *revs , timestamp_t timestamp___0 )
{
  struct recent_data data ;
  int r ;
  int tmp ;

  {
  data.revs = revs;
  data.timestamp = timestamp___0;
  r = for_each_loose_object(& add_recent_loose, (void *)(& data), (enum for_each_object_flags )1);
  if (r) {
    return (r);
  }
  tmp = for_each_packed_object(& add_recent_packed, (void *)(& data), (enum for_each_object_flags )1);
  return (tmp);
}
}
static int mark_object_seen(struct object_id  const  *oid , enum object_type type___0 ,
                            int exclude , uint32_t name_hash , struct packed_git *found_pack ,
                            off_t found_offset )
{
  struct object *obj ;
  struct object *tmp ;
  char *tmp___0 ;

  {
  tmp = lookup_object_by_type(the_repository, oid, type___0);
  obj = tmp;
  if (! obj) {
    tmp___0 = oid_to_hex(oid);
    die((char const   *)"unable to create object \'%s\'", tmp___0);
  }
  obj->flags |= 1u;
  return (0);
}
}
void mark_reachable_objects(struct rev_info *revs , int mark_reflog , timestamp_t mark_recent ,
                            struct progress *progress___7 )
{
  struct connectivity_progress cp ;
  struct bitmap_index *bitmap_git___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  revs->tag_objects = 1U;
  revs->blob_objects = 1U;
  revs->tree_objects = 1U;
  add_index_objects_to_pending(revs, 0U);
  for_each_ref(& add_one_ref, (void *)revs);
  head_ref(& add_one_ref, (void *)revs);
  other_head_refs(& add_one_ref, (void *)revs);
  if (mark_reflog) {
    add_reflogs_to_pending(revs, 0U);
  }
  cp.progress = progress___7;
  cp.count = 0UL;
  bitmap_git___0 = prepare_bitmap_walk(revs, (struct list_objects_filter_options *)((void *)0),
                                       0);
  if (bitmap_git___0) {
    traverse_bitmap_commit_list(bitmap_git___0, revs, & mark_object_seen);
    free_bitmap_index(bitmap_git___0);
  } else {
    tmp = prepare_revision_walk(revs);
    if (tmp) {
      die((char const   *)"revision walk setup failed");
    }
    traverse_commit_list(revs, & mark_commit, & mark_object, (void *)(& cp));
  }
  if (mark_recent) {
    revs->ignore_missing_links = 1U;
    tmp___0 = add_unseen_recent_objects_to_traversal(revs, mark_recent);
    if (tmp___0) {
      die((char const   *)"unable to mark recent objects");
    }
    tmp___1 = prepare_revision_walk(revs);
    if (tmp___1) {
      die((char const   *)"revision walk setup failed");
    }
    traverse_commit_list(revs, & mark_commit, & mark_object, (void *)(& cp));
  }
  display_progress(cp.progress, cp.count);
  return;
}
}
int verify_index_checksum  ;
int verify_ce_order  ;
static double const   __ac_HASH_UPPER___73  =    (double const   )0.77;
__inline static void kh_resize_oid_set___73(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___73(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___73 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___73 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___73(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___73(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___73(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___73(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___73(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___73(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___73 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___73 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___73(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___73(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___73(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___73(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___73(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___73(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___73 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___73 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___73(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___73(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___73(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___73(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___54(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___54(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___73 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___73 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___54(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___54(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___54(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___54(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
struct split_index *init_split_index(struct index_state *istate ) ;
void save_or_free_index_entry(struct index_state *istate , struct cache_entry *ce ) ;
void replace_index_entry_in_base(struct index_state *istate , struct cache_entry *old_entry ,
                                 struct cache_entry *new_entry ) ;
int read_link_extension(struct index_state *istate , void const   *data_ , unsigned long sz ) ;
int write_link_extension(struct strbuf *sb___6 , struct index_state *istate ) ;
void move_cache_to_base_index(struct index_state *istate ) ;
void merge_base_index(struct index_state *istate ) ;
void prepare_to_write_split_index(struct index_state *istate ) ;
void finish_writing_split_index(struct index_state *istate ) ;
void discard_split_index(struct index_state *istate ) ;
void add_split_index(struct index_state *istate ) ;
void remove_split_index(struct index_state *istate ) ;
__inline static struct cache_entry *mem_pool__ce_alloc(struct mem_pool *mem_pool ,
                                                       size_t len___0 )
{
  struct cache_entry *ce ;
  void *tmp ;

  {
  tmp = mem_pool_alloc(mem_pool, ((unsigned long )(& ((struct cache_entry *)0)->name) + len___0) + 1UL);
  ce = (struct cache_entry *)tmp;
  ce->mem_pool_allocated = 1U;
  return (ce);
}
}
__inline static struct cache_entry *mem_pool__ce_calloc(struct mem_pool *mem_pool ,
                                                        size_t len___0 )
{
  struct cache_entry *ce ;
  void *tmp ;

  {
  tmp = mem_pool_calloc(mem_pool, (size_t )1, ((unsigned long )(& ((struct cache_entry *)0)->name) + len___0) + 1UL);
  ce = (struct cache_entry *)tmp;
  ce->mem_pool_allocated = 1U;
  return (ce);
}
}
static struct mem_pool *find_mem_pool(struct index_state *istate )
{
  struct mem_pool **pool_ptr ;
  void *tmp ;

  {
  if (istate->split_index) {
    if ((istate->split_index)->base) {
      pool_ptr = & ((istate->split_index)->base)->ce_mem_pool;
    } else {
      pool_ptr = & istate->ce_mem_pool;
    }
  } else {
    pool_ptr = & istate->ce_mem_pool;
  }
  if (! *pool_ptr) {
    tmp = xmalloc(sizeof(*(*pool_ptr)));
    *pool_ptr = (struct mem_pool *)tmp;
    mem_pool_init(*pool_ptr, (size_t )0);
  }
  return (*pool_ptr);
}
}
static char const   *alternate_index_output  ;
static void set_index_entry(struct index_state *istate , int nr___0 , struct cache_entry *ce )
{


  {
  if (ce->ce_mode == 16384U) {
    istate->sparse_index = 1U;
  }
  *(istate->cache + nr___0) = ce;
  add_name_hash(istate, ce);
  return;
}
}
static void replace_index_entry(struct index_state *istate , int nr___0 , struct cache_entry *ce )
{
  struct cache_entry *old ;

  {
  old = *(istate->cache + nr___0);
  replace_index_entry_in_base(istate, old, ce);
  remove_name_hash(istate, old);
  discard_cache_entry(old);
  ce->ce_flags &= (unsigned int )(~ (1 << 20));
  set_index_entry(istate, nr___0, ce);
  ce->ce_flags |= (unsigned int )(1 << 27);
  mark_fsmonitor_invalid(istate, ce);
  istate->cache_changed |= (unsigned int )(1 << 1);
  return;
}
}
void rename_index_entry_at(struct index_state *istate , int nr___0 , char const   *new_name )
{
  struct cache_entry *old_entry ;
  struct cache_entry *new_entry ;
  int namelen ;
  size_t tmp ;

  {
  old_entry = *(istate->cache + nr___0);
  tmp = strlen(new_name);
  namelen = (int )tmp;
  new_entry = make_empty_cache_entry(istate, (size_t )namelen);
  copy_cache_entry(new_entry, (struct cache_entry  const  *)old_entry);
  new_entry->ce_flags &= (unsigned int )(~ (1 << 20));
  new_entry->ce_namelen = (unsigned int )namelen;
  new_entry->index = 0U;
  memcpy((void *)(new_entry->name), (void const   *)new_name, (size_t )(namelen + 1));
  cache_tree_invalidate_path(istate, (char const   *)(old_entry->name));
  untracked_cache_remove_from_index(istate, (char const   *)(old_entry->name));
  remove_index_entry_at(istate, nr___0);
  add_index_entry(istate, new_entry, 3);
  return;
}
}
void fill_stat_data(struct stat_data *sd , struct stat *st )
{


  {
  sd->sd_ctime.sec = (unsigned int )st->st_ctim.tv_sec;
  sd->sd_mtime.sec = (unsigned int )st->st_mtim.tv_sec;
  sd->sd_ctime.nsec = (unsigned int )st->st_ctim.tv_nsec;
  sd->sd_mtime.nsec = (unsigned int )st->st_mtim.tv_nsec;
  sd->sd_dev = (unsigned int )st->st_dev;
  sd->sd_ino = (unsigned int )st->st_ino;
  sd->sd_uid = st->st_uid;
  sd->sd_gid = st->st_gid;
  sd->sd_size = (unsigned int )st->st_size;
  return;
}
}
int match_stat_data(struct stat_data  const  *sd , struct stat *st )
{
  int changed ;

  {
  changed = 0;
  if (sd->sd_mtime.sec != (uint32_t )((unsigned int )st->st_mtim.tv_sec)) {
    changed |= 0x0001;
  }
  if (trust_ctime) {
    if (check_stat) {
      if (sd->sd_ctime.sec != (uint32_t )((unsigned int )st->st_ctim.tv_sec)) {
        changed |= 0x0002;
      }
    }
  }
  if (check_stat) {
    if (sd->sd_uid != (unsigned int )st->st_uid) {
      changed |= 0x0004;
    } else
    if (sd->sd_gid != (unsigned int )st->st_gid) {
      changed |= 0x0004;
    }
    if (sd->sd_ino != (unsigned int )((unsigned int )st->st_ino)) {
      changed |= 0x0010;
    }
  }
  if (sd->sd_size != (unsigned int )((unsigned int )st->st_size)) {
    changed |= 0x0020;
  }
  return (changed);
}
}
void fill_stat_cache_info(struct index_state *istate , struct cache_entry *ce , struct stat *st )
{


  {
  fill_stat_data(& ce->ce_stat_data, st);
  if (assume_unchanged) {
    ce->ce_flags |= 32768U;
  }
  if ((st->st_mode & 61440U) == 32768U) {
    ce->ce_flags |= (unsigned int )(1 << 18);
    mark_fsmonitor_valid(istate, ce);
  }
  return;
}
}
static int ce_compare_data(struct index_state *istate , struct cache_entry  const  *ce ,
                           struct stat *st )
{
  int match___0 ;
  int fd ;
  int tmp ;
  struct object_id oid ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  match___0 = -1;
  tmp = git_open_cloexec((char const   *)(ce->name), 00);
  fd = tmp;
  if (fd >= 0) {
    tmp___2 = index_fd(istate, & oid, fd, st, (enum object_type )3, (char const   *)(ce->name),
                       0U);
    if (! tmp___2) {
      tmp___0 = oideq((struct object_id  const  *)(& oid), (struct object_id  const  *)(& ce->oid));
      if (tmp___0) {
        tmp___1 = 0;
      } else {
        tmp___1 = 1;
      }
      match___0 = tmp___1;
    }
  }
  return (match___0);
}
}
static int ce_compare_link(struct cache_entry  const  *ce , size_t expected_size )
{
  int match___0 ;
  void *buffer___5 ;
  unsigned long size ;
  enum object_type type___0 ;
  struct strbuf sb___6 ;
  int tmp ;

  {
  match___0 = -1;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = strbuf_readlink(& sb___6, (char const   *)(ce->name), expected_size);
  if (tmp) {
    return (-1);
  }
  buffer___5 = repo_read_object_file(the_repository, (struct object_id  const  *)(& ce->oid),
                                     & type___0, & size);
  if (buffer___5) {
    if (size == sb___6.len) {
      match___0 = memcmp((void const   *)buffer___5, (void const   *)sb___6.buf, size);
    }
    free(buffer___5);
  }
  strbuf_release(& sb___6);
  return (match___0);
}
}
static int ce_compare_gitlink(struct cache_entry  const  *ce )
{
  struct object_id oid ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = resolve_gitlink_ref((char const   *)(ce->name), (char const   *)"HEAD", & oid);
  if (tmp < 0) {
    return (0);
  }
  tmp___0 = oideq((struct object_id  const  *)(& oid), (struct object_id  const  *)(& ce->oid));
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  return (tmp___1);
}
}
static int ce_modified_check_fs(struct index_state *istate , struct cache_entry  const  *ce ,
                                struct stat *st )
{
  int tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  {
  if ((st->st_mode & 61440U) == 32768U) {
    goto case_32768;
  }
  if ((st->st_mode & 61440U) == 40960U) {
    goto case_40960;
  }
  if ((st->st_mode & 61440U) == 16384U) {
    goto case_16384;
  }
  goto switch_default;
  case_32768: /* CIL Label */
  tmp = ce_compare_data(istate, ce, st);
  if (tmp) {
    return (0x0020);
  }
  goto switch_break;
  case_40960: /* CIL Label */
  tmp___0 = xsize_t(st->st_size);
  tmp___1 = ce_compare_link(ce, tmp___0);
  if (tmp___1) {
    return (0x0020);
  }
  goto switch_break;
  case_16384: /* CIL Label */
  if ((ce->ce_mode & 61440U) == 57344U) {
    tmp___4 = ce_compare_gitlink(ce);
    if (tmp___4) {
      tmp___3 = 0x0020;
    } else {
      tmp___3 = 0;
    }
    return (tmp___3);
  }
  switch_default: /* CIL Label */
  return (0x0040);
  switch_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int ce_match_stat_basic(struct cache_entry  const  *ce , struct stat *st )
{
  unsigned int changed ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  changed = 0U;
  if (ce->ce_flags & (unsigned int )(1 << 17)) {
    return (104);
  }
  {
  if ((ce->ce_mode & 61440U) == 32768U) {
    goto case_32768;
  }
  if ((ce->ce_mode & 61440U) == 40960U) {
    goto case_40960;
  }
  if ((ce->ce_mode & 61440U) == 57344U) {
    goto case_57344;
  }
  goto switch_default;
  case_32768: /* CIL Label */
  if (! ((st->st_mode & 61440U) == 32768U)) {
    tmp = 0x0040;
  } else {
    tmp = 0;
  }
  changed |= (unsigned int )tmp;
  if (trust_executable_bit) {
    if (64U & (ce->ce_mode ^ (unsigned int )st->st_mode)) {
      changed |= 8U;
    }
  }
  goto switch_break;
  case_40960: /* CIL Label */
  if (! ((st->st_mode & 61440U) == 40960U)) {
    if (has_symlinks) {
      changed |= 64U;
    } else
    if (! ((st->st_mode & 61440U) == 32768U)) {
      changed |= 64U;
    }
  }
  goto switch_break;
  case_57344: /* CIL Label */
  if (! ((st->st_mode & 61440U) == 16384U)) {
    changed |= 64U;
  } else {
    tmp___0 = ce_compare_gitlink(ce);
    if (tmp___0) {
      changed |= 32U;
    }
  }
  return ((int )changed);
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"read-cache.c", 332, (char const   *)"unsupported ce_mode: %o",
         ce->ce_mode);
  switch_break: /* CIL Label */ ;
  }
  tmp___1 = match_stat_data((struct stat_data  const  *)(& ce->ce_stat_data), st);
  changed |= (unsigned int )tmp___1;
  if (! ce->ce_stat_data.sd_size) {
    tmp___2 = is_empty_blob_sha1((unsigned char const   *)(ce->oid.hash));
    if (! tmp___2) {
      changed |= 32U;
    }
  }
  return ((int )changed);
}
}
static int is_racy_stat(struct index_state  const  *istate , struct stat_data  const  *sd )
{
  int tmp ;

  {
  if (istate->timestamp.sec) {
    if (istate->timestamp.sec <= sd->sd_mtime.sec) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
int is_racy_timestamp(struct index_state  const  *istate , struct cache_entry  const  *ce )
{
  int tmp ;
  int tmp___0 ;

  {
  if (! ((ce->ce_mode & 61440U) == 57344U)) {
    tmp = is_racy_stat(istate, (struct stat_data  const  *)(& ce->ce_stat_data));
    if (tmp) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
int match_stat_data_racy(struct index_state  const  *istate , struct stat_data  const  *sd ,
                         struct stat *st )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = is_racy_stat(istate, sd);
  if (tmp) {
    return (0x0001);
  }
  tmp___0 = match_stat_data(sd, st);
  return (tmp___0);
}
}
int ie_match_stat(struct index_state *istate , struct cache_entry  const  *ce , struct stat *st ,
                  unsigned int options )
{
  unsigned int changed ;
  int ignore_valid ;
  int ignore_skip_worktree ;
  int assume_racy_is_modified ;
  int ignore_fsmonitor ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  ignore_valid = (int )(options & 1U);
  ignore_skip_worktree = (int )(options & 4U);
  assume_racy_is_modified = (int )(options & 2U);
  ignore_fsmonitor = (int )(options & 32U);
  if (! ignore_fsmonitor) {
    refresh_fsmonitor(istate);
  }
  if (! ignore_skip_worktree) {
    if (ce->ce_flags & (unsigned int )(1 << 30)) {
      return (0);
    }
  }
  if (! ignore_valid) {
    if (ce->ce_flags & 32768U) {
      return (0);
    }
  }
  if (! ignore_fsmonitor) {
    if (ce->ce_flags & (unsigned int )(1 << 21)) {
      return (0);
    }
  }
  if (ce->ce_flags & (unsigned int )(1 << 29)) {
    return (104);
  }
  tmp = ce_match_stat_basic(ce, st);
  changed = (unsigned int )tmp;
  if (! changed) {
    tmp___1 = is_racy_timestamp((struct index_state  const  *)istate, ce);
    if (tmp___1) {
      if (assume_racy_is_modified) {
        changed |= 32U;
      } else {
        tmp___0 = ce_modified_check_fs(istate, ce, st);
        changed |= (unsigned int )tmp___0;
      }
    }
  }
  return ((int )changed);
}
}
int ie_modified(struct index_state *istate , struct cache_entry  const  *ce , struct stat *st ,
                unsigned int options )
{
  int changed ;
  int changed_fs ;

  {
  changed = ie_match_stat(istate, ce, st, options);
  if (! changed) {
    return (0);
  }
  if (changed & 72) {
    return (changed);
  }
  if (changed & 0x0020) {
    if ((ce->ce_mode & 61440U) == 57344U) {
      return (changed);
    } else
    if (ce->ce_stat_data.sd_size != 0U) {
      return (changed);
    }
  }
  changed_fs = ce_modified_check_fs(istate, ce, st);
  if (changed_fs) {
    return (changed | changed_fs);
  }
  return (0);
}
}
int base_name_compare(char const   *name1 , int len1 , int mode1 , char const   *name2 ,
                      int len2 , int mode2 )
{
  unsigned char c1 ;
  unsigned char c2 ;
  int len___0 ;
  int tmp ;
  int cmp___0 ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (len1 < len2) {
    tmp = len1;
  } else {
    tmp = len2;
  }
  len___0 = tmp;
  cmp___0 = memcmp((void const   *)name1, (void const   *)name2, (size_t )len___0);
  if (cmp___0) {
    return (cmp___0);
  }
  c1 = (unsigned char )*(name1 + len___0);
  c2 = (unsigned char )*(name2 + len___0);
  if (! c1) {
    if ((mode1 & 0170000) == 0040000) {
      c1 = (unsigned char )'/';
    }
  }
  if (! c2) {
    if ((mode2 & 0170000) == 0040000) {
      c2 = (unsigned char )'/';
    }
  }
  if ((int )c1 < (int )c2) {
    tmp___1 = -1;
  } else {
    if ((int )c1 > (int )c2) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
    tmp___1 = tmp___0;
  }
  return (tmp___1);
}
}
int df_name_compare(char const   *name1 , int len1 , int mode1 , char const   *name2 ,
                    int len2 , int mode2 )
{
  int len___0 ;
  int tmp ;
  int cmp___0 ;
  unsigned char c1 ;
  unsigned char c2 ;

  {
  if (len1 < len2) {
    tmp = len1;
  } else {
    tmp = len2;
  }
  len___0 = tmp;
  cmp___0 = memcmp((void const   *)name1, (void const   *)name2, (size_t )len___0);
  if (cmp___0) {
    return (cmp___0);
  }
  if (len1 == len2) {
    return (0);
  }
  c1 = (unsigned char )*(name1 + len___0);
  if (! c1) {
    if ((mode1 & 0170000) == 0040000) {
      c1 = (unsigned char )'/';
    }
  }
  c2 = (unsigned char )*(name2 + len___0);
  if (! c2) {
    if ((mode2 & 0170000) == 0040000) {
      c2 = (unsigned char )'/';
    }
  }
  if ((int )c1 == 47) {
    if (! c2) {
      return (0);
    }
  }
  if ((int )c2 == 47) {
    if (! c1) {
      return (0);
    }
  }
  return ((int )c1 - (int )c2);
}
}
int name_compare(char const   *name1 , size_t len1 , char const   *name2 , size_t len2 )
{
  size_t min_len ;
  size_t tmp ;
  int cmp___0 ;
  int tmp___0 ;

  {
  if (len1 < len2) {
    tmp = len1;
  } else {
    tmp = len2;
  }
  min_len = tmp;
  tmp___0 = memcmp((void const   *)name1, (void const   *)name2, min_len);
  cmp___0 = tmp___0;
  if (cmp___0) {
    return (cmp___0);
  }
  if (len1 < len2) {
    return (-1);
  }
  if (len1 > len2) {
    return (1);
  }
  return (0);
}
}
int cache_name_stage_compare(char const   *name1 , int len1 , int stage1 , char const   *name2 ,
                             int len2 , int stage2 )
{
  int cmp___0 ;

  {
  cmp___0 = name_compare(name1, (size_t )len1, name2, (size_t )len2);
  if (cmp___0) {
    return (cmp___0);
  }
  if (stage1 < stage2) {
    return (-1);
  }
  if (stage1 > stage2) {
    return (1);
  }
  return (0);
}
}
static int index_name_stage_pos(struct index_state *istate , char const   *name___0 ,
                                int namelen , int stage , enum index_search_mode search_mode )
{
  int first ;
  int last ;
  int next___2 ;
  struct cache_entry *ce ;
  int cmp___0 ;
  int tmp ;
  struct cache_entry *ce___0 ;
  int tmp___0 ;
  int tmp___1 ;

  {
  first = 0;
  last = (int )istate->cache_nr;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (last > first)) {
      goto while_break;
    }
    next___2 = first + ((last - first) >> 1);
    ce = *(istate->cache + next___2);
    tmp = cache_name_stage_compare(name___0, namelen, stage, (char const   *)(ce->name),
                                   (int )ce->ce_namelen, (int )((12288U & ce->ce_flags) >> 12));
    cmp___0 = tmp;
    if (! cmp___0) {
      return (next___2);
    }
    if (cmp___0 < 0) {
      last = next___2;
      goto while_continue;
    }
    first = next___2 + 1;
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned int )search_mode == 1U) {
    if (istate->sparse_index) {
      if (first > 0) {
        ce___0 = *(istate->cache + (first - 1));
        if (ce___0->ce_mode == 16384U) {
          if (ce___0->ce_namelen < (unsigned int )namelen) {
            tmp___1 = strncmp(name___0, (char const   *)(ce___0->name), (size_t )ce___0->ce_namelen);
            if (! tmp___1) {
              ensure_full_index(istate);
              tmp___0 = index_name_stage_pos(istate, name___0, namelen, stage, search_mode);
              return (tmp___0);
            }
          }
        }
      }
    }
  }
  return (- first - 1);
}
}
int index_name_pos(struct index_state *istate , char const   *name___0 , int namelen )
{
  int tmp ;

  {
  tmp = index_name_stage_pos(istate, name___0, namelen, 0, (enum index_search_mode )1);
  return (tmp);
}
}
int index_entry_exists(struct index_state *istate , char const   *name___0 , int namelen )
{
  int tmp ;

  {
  tmp = index_name_stage_pos(istate, name___0, namelen, 0, (enum index_search_mode )0);
  return (tmp >= 0);
}
}
int remove_index_entry_at(struct index_state *istate , int pos )
{
  struct cache_entry *ce ;

  {
  ce = *(istate->cache + pos);
  record_resolve_undo(istate, ce);
  remove_name_hash(istate, ce);
  save_or_free_index_entry(istate, ce);
  istate->cache_changed |= (unsigned int )(1 << 2);
  (istate->cache_nr) --;
  if ((unsigned int )pos >= istate->cache_nr) {
    return (0);
  }
  move_array((void *)(istate->cache + pos), (void const   *)((istate->cache + pos) + 1),
             (size_t )(istate->cache_nr - (unsigned int )pos), sizeof(*(istate->cache + pos)) + (sizeof(char [1]) - 1UL));
  return (1);
}
}
void remove_marked_cache_entries(struct index_state *istate , int invalidate )
{
  struct cache_entry **ce_array ;
  unsigned int i ;
  unsigned int j ;
  unsigned int tmp ;

  {
  ce_array = istate->cache;
  j = 0U;
  i = j;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < istate->cache_nr)) {
      goto while_break;
    }
    if ((*(ce_array + i))->ce_flags & (unsigned int )(1 << 17)) {
      if (invalidate) {
        cache_tree_invalidate_path(istate, (char const   *)((*(ce_array + i))->name));
        untracked_cache_remove_from_index(istate, (char const   *)((*(ce_array + i))->name));
      }
      remove_name_hash(istate, *(ce_array + i));
      save_or_free_index_entry(istate, *(ce_array + i));
    } else {
      tmp = j;
      j ++;
      *(ce_array + tmp) = *(ce_array + i);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (j == istate->cache_nr) {
    return;
  }
  istate->cache_changed |= (unsigned int )(1 << 2);
  istate->cache_nr = j;
  return;
}
}
int remove_file_from_index(struct index_state *istate , char const   *path___6 )
{
  int pos ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = strlen(path___6);
  tmp___0 = index_name_pos(istate, path___6, (int )tmp);
  pos = tmp___0;
  if (pos < 0) {
    pos = - pos - 1;
  }
  cache_tree_invalidate_path(istate, path___6);
  untracked_cache_remove_from_index(istate, path___6);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned int )pos < istate->cache_nr) {
      tmp___1 = strcmp((char const   *)((*(istate->cache + pos))->name), path___6);
      if (tmp___1) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    remove_index_entry_at(istate, pos);
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int compare_name(struct cache_entry *ce , char const   *path___6 , int namelen )
{
  int tmp ;
  int tmp___0 ;

  {
  if ((unsigned int )namelen != ce->ce_namelen) {
    tmp___0 = 1;
  } else {
    tmp = memcmp((void const   *)path___6, (void const   *)(ce->name), (size_t )namelen);
    if (tmp) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  }
  return (tmp___0);
}
}
static int index_name_pos_also_unmerged(struct index_state *istate , char const   *path___6 ,
                                        int namelen )
{
  int pos ;
  int tmp ;
  struct cache_entry *ce ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = index_name_pos(istate, path___6, namelen);
  pos = tmp;
  if (pos >= 0) {
    return (pos);
  }
  pos = -1 - pos;
  if ((unsigned int )pos >= istate->cache_nr) {
    return (-1);
  } else {
    ce = *(istate->cache + pos);
    tmp___0 = compare_name(ce, path___6, namelen);
    if (tmp___0) {
      return (-1);
    }
  }
  if ((12288U & ce->ce_flags) >> 12 == 1U) {
    if ((unsigned int )(pos + 1) < istate->cache_nr) {
      ce = *(istate->cache + (pos + 1));
      if ((12288U & ce->ce_flags) >> 12 == 2U) {
        tmp___1 = compare_name(ce, path___6, namelen);
        if (! tmp___1) {
          pos ++;
        }
      }
    }
  }
  return (pos);
}
}
static int different_name(struct cache_entry *ce , struct cache_entry *alias )
{
  int len___0 ;
  int tmp ;
  int tmp___0 ;

  {
  len___0 = (int )ce->ce_namelen;
  if (alias->ce_namelen != (unsigned int )len___0) {
    tmp___0 = 1;
  } else {
    tmp = memcmp((void const   *)(ce->name), (void const   *)(alias->name), (size_t )len___0);
    if (tmp) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  }
  return (tmp___0);
}
}
static struct cache_entry *create_alias_ce(struct index_state *istate , struct cache_entry *ce ,
                                           struct cache_entry *alias )
{
  int len___0 ;
  struct cache_entry *new_entry ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if (alias->ce_flags & (unsigned int )(1 << 19)) {
    tmp = _((char const   *)"will not add file alias \'%s\' (\'%s\' already exists in index)");
    die((char const   *)tmp, ce->name, alias->name);
  }
  len___0 = (int )alias->ce_namelen;
  new_entry = make_empty_cache_entry(istate, (size_t )len___0);
  memcpy((void *)(new_entry->name), (void const   *)(alias->name), (size_t )len___0);
  copy_cache_entry(new_entry, (struct cache_entry  const  *)ce);
  save_or_free_index_entry(istate, ce);
  return (new_entry);
}
}
void set_object_name_for_intent_to_add_entry(struct cache_entry *ce )
{
  struct object_id oid ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  tmp___0 = write_object_file((void const   *)"", 0UL, blob_type, & oid);
  if (tmp___0) {
    tmp = _((char const   *)"cannot create an empty blob in the object database");
    die((char const   *)tmp);
  }
  oidcpy(& ce->oid, (struct object_id  const  *)(& oid));
  return;
}
}
int add_to_index(struct index_state *istate , char const   *path___6 , struct stat *st ,
                 int flags___0 )
{
  int namelen ;
  int was_same ;
  mode_t st_mode ;
  struct cache_entry *ce ;
  struct cache_entry *alias ;
  unsigned int ce_option ;
  int verbose___15 ;
  int pretend ;
  int intent_only ;
  int add_option ;
  int tmp ;
  unsigned int hash_flags ;
  int tmp___0 ;
  struct object_id oid ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  size_t tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  struct cache_entry *ent ;
  int pos ;
  int tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;

  {
  st_mode = st->st_mode;
  alias = (struct cache_entry *)((void *)0);
  ce_option = 7U;
  verbose___15 = flags___0 & 3;
  pretend = flags___0 & 2;
  intent_only = flags___0 & 16;
  if (intent_only) {
    tmp = 16;
  } else {
    tmp = 0;
  }
  add_option = 3 | tmp;
  if (pretend) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  hash_flags = (unsigned int )tmp___0;
  if (flags___0 & 64) {
    hash_flags |= 4U;
  }
  if (! ((st_mode & 61440U) == 32768U)) {
    if (! ((st_mode & 61440U) == 40960U)) {
      if (! ((st_mode & 61440U) == 16384U)) {
        tmp___1 = _((char const   *)"%s: can only add regular files, symbolic links or git-directories");
        error((char const   *)tmp___1, path___6);
        tmp___2 = const_error();
        return (tmp___2);
      }
    }
  }
  tmp___3 = strlen(path___6);
  namelen = (int )tmp___3;
  if ((st_mode & 61440U) == 16384U) {
    tmp___6 = resolve_gitlink_ref(path___6, (char const   *)"HEAD", & oid);
    if (tmp___6 < 0) {
      tmp___4 = _((char const   *)"\'%s\' does not have a commit checked out");
      error((char const   *)tmp___4, path___6);
      tmp___5 = const_error();
      return (tmp___5);
    }
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (namelen) {
        if (! ((int const   )*(path___6 + (namelen - 1)) == 47)) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      namelen --;
    }
    while_break: /* CIL Label */ ;
    }
  }
  ce = make_empty_cache_entry(istate, (size_t )namelen);
  memcpy((void *)(ce->name), (void const   *)path___6, (size_t )namelen);
  ce->ce_namelen = (unsigned int )namelen;
  if (! intent_only) {
    fill_stat_cache_info(istate, ce, st);
  } else {
    ce->ce_flags |= (unsigned int )(1 << 29);
  }
  if (trust_executable_bit) {
    if (has_symlinks) {
      ce->ce_mode = create_ce_mode(st_mode);
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp___7 = index_name_pos_also_unmerged(istate, path___6, namelen);
    pos = tmp___7;
    if (0 <= pos) {
      ent = *(istate->cache + pos);
    } else {
      ent = (struct cache_entry *)((void *)0);
    }
    ce->ce_mode = ce_mode_from_stat((struct cache_entry  const  *)ent, st_mode);
  }
  if (ignore_case) {
    adjust_dirname_case(istate, ce->name);
  }
  if (! (flags___0 & 64)) {
    alias = index_file_exists(istate, (char const   *)(ce->name), (int )ce->ce_namelen,
                              ignore_case);
    if (alias) {
      if (! ((12288U & alias->ce_flags) >> 12)) {
        tmp___8 = ie_match_stat(istate, (struct cache_entry  const  *)alias, st, ce_option);
        if (! tmp___8) {
          if (! ((alias->ce_mode & 61440U) == 57344U)) {
            alias->ce_flags |= (unsigned int )(1 << 18);
          }
          alias->ce_flags |= (unsigned int )(1 << 19);
          discard_cache_entry(ce);
          return (0);
        }
      }
    }
  }
  if (! intent_only) {
    tmp___11 = index_path(istate, & ce->oid, path___6, st, hash_flags);
    if (tmp___11) {
      discard_cache_entry(ce);
      tmp___9 = _((char const   *)"unable to index file \'%s\'");
      error((char const   *)tmp___9, path___6);
      tmp___10 = const_error();
      return (tmp___10);
    }
  } else {
    set_object_name_for_intent_to_add_entry(ce);
  }
  if (ignore_case) {
    if (alias) {
      tmp___12 = different_name(ce, alias);
      if (tmp___12) {
        ce = create_alias_ce(istate, ce, alias);
      }
    }
  }
  ce->ce_flags |= (unsigned int )(1 << 19);
  if (alias) {
    if (! ((12288U & alias->ce_flags) >> 12)) {
      tmp___13 = oideq((struct object_id  const  *)(& alias->oid), (struct object_id  const  *)(& ce->oid));
      if (tmp___13) {
        if (ce->ce_mode == alias->ce_mode) {
          tmp___14 = 1;
        } else {
          tmp___14 = 0;
        }
      } else {
        tmp___14 = 0;
      }
    } else {
      tmp___14 = 0;
    }
  } else {
    tmp___14 = 0;
  }
  was_same = tmp___14;
  if (pretend) {
    discard_cache_entry(ce);
  } else {
    tmp___17 = add_index_entry(istate, ce, add_option);
    if (tmp___17) {
      discard_cache_entry(ce);
      tmp___15 = _((char const   *)"unable to add \'%s\' to index");
      error((char const   *)tmp___15, path___6);
      tmp___16 = const_error();
      return (tmp___16);
    }
  }
  if (verbose___15) {
    if (! was_same) {
      printf((char const   *)"add \'%s\'\n", path___6);
    }
  }
  return (0);
}
}
int add_file_to_index(struct index_state *istate , char const   *path___6 , int flags___0 )
{
  struct stat st ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp___0 = lstat(path___6, & st);
  if (tmp___0) {
    tmp = _((char const   *)"unable to stat \'%s\'");
    die_errno((char const   *)tmp, path___6);
  }
  tmp___1 = add_to_index(istate, path___6, & st, flags___0);
  return (tmp___1);
}
}
struct cache_entry *make_empty_cache_entry(struct index_state *istate , size_t len___0 )
{
  struct mem_pool *tmp ;
  struct cache_entry *tmp___0 ;

  {
  tmp = find_mem_pool(istate);
  tmp___0 = mem_pool__ce_calloc(tmp, len___0);
  return (tmp___0);
}
}
struct cache_entry *make_empty_transient_cache_entry(size_t len___0 , struct mem_pool *ce_mem_pool )
{
  struct cache_entry *tmp ;
  void *tmp___0 ;

  {
  if (ce_mem_pool) {
    tmp = mem_pool__ce_calloc(ce_mem_pool, len___0);
    return (tmp);
  }
  tmp___0 = xcalloc((size_t )1, ((unsigned long )(& ((struct cache_entry *)0)->name) + len___0) + 1UL);
  return ((struct cache_entry *)tmp___0);
}
}
static enum verify_path_result verify_path_internal(char const   *path___6 , unsigned int mode___1 ) ;
int verify_path(char const   *path___6 , unsigned int mode___1 )
{
  enum verify_path_result tmp ;

  {
  tmp = verify_path_internal(path___6, mode___1);
  return ((unsigned int )tmp == 0U);
}
}
struct cache_entry *make_cache_entry(struct index_state *istate , unsigned int mode___1 ,
                                     struct object_id  const  *oid , char const   *path___6 ,
                                     int stage , unsigned int refresh_options )
{
  struct cache_entry *ce ;
  struct cache_entry *ret___67 ;
  int len___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  enum verify_path_result tmp___0 ;
  size_t tmp___1 ;

  {
  tmp___0 = verify_path_internal(path___6, mode___1);
  if ((unsigned int )tmp___0 == 1U) {
    tmp = _((char const   *)"invalid path \'%s\'");
    error((char const   *)tmp, path___6);
    const_error();
    return ((struct cache_entry *)((void *)0));
  }
  tmp___1 = strlen(path___6);
  len___0 = (int )tmp___1;
  ce = make_empty_cache_entry(istate, (size_t )len___0);
  oidcpy(& ce->oid, oid);
  memcpy((void *)(ce->name), (void const   *)path___6, (size_t )len___0);
  ce->ce_flags = create_ce_flags((unsigned int )stage);
  ce->ce_namelen = (unsigned int )len___0;
  ce->ce_mode = create_ce_mode(mode___1);
  ret___67 = refresh_cache_entry(istate, ce, refresh_options);
  if ((unsigned long )ret___67 != (unsigned long )ce) {
    discard_cache_entry(ce);
  }
  return (ret___67);
}
}
struct cache_entry *make_transient_cache_entry(unsigned int mode___1 , struct object_id  const  *oid ,
                                               char const   *path___6 , int stage ,
                                               struct mem_pool *ce_mem_pool )
{
  struct cache_entry *ce ;
  int len___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  size_t tmp___1 ;

  {
  tmp___0 = verify_path(path___6, mode___1);
  if (! tmp___0) {
    tmp = _((char const   *)"invalid path \'%s\'");
    error((char const   *)tmp, path___6);
    const_error();
    return ((struct cache_entry *)((void *)0));
  }
  tmp___1 = strlen(path___6);
  len___0 = (int )tmp___1;
  ce = make_empty_transient_cache_entry((size_t )len___0, ce_mem_pool);
  oidcpy(& ce->oid, oid);
  memcpy((void *)(ce->name), (void const   *)path___6, (size_t )len___0);
  ce->ce_flags = create_ce_flags((unsigned int )stage);
  ce->ce_namelen = (unsigned int )len___0;
  ce->ce_mode = create_ce_mode(mode___1);
  return (ce);
}
}
int chmod_index_entry(struct index_state *istate , struct cache_entry *ce , char flip )
{


  {
  if (! ((ce->ce_mode & 61440U) == 32768U)) {
    return (-1);
  }
  {
  if ((int )flip == 43) {
    goto case_43;
  }
  if ((int )flip == 45) {
    goto case_45;
  }
  goto switch_default;
  case_43: /* CIL Label */
  ce->ce_mode |= 73U;
  goto switch_break;
  case_45: /* CIL Label */
  ce->ce_mode &= 4294967222U;
  goto switch_break;
  switch_default: /* CIL Label */
  return (-2);
  switch_break: /* CIL Label */ ;
  }
  cache_tree_invalidate_path(istate, (char const   *)(ce->name));
  ce->ce_flags |= (unsigned int )(1 << 27);
  mark_fsmonitor_invalid(istate, ce);
  istate->cache_changed |= (unsigned int )(1 << 1);
  return (0);
}
}
int ce_same_name(struct cache_entry  const  *a , struct cache_entry  const  *b___0 )
{
  int len___0 ;
  int tmp ;
  int tmp___0 ;

  {
  len___0 = (int )a->ce_namelen;
  if (b___0->ce_namelen == (unsigned int )len___0) {
    tmp = memcmp((void const   *)(a->name), (void const   *)(b___0->name), (size_t )len___0);
    if (tmp) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static int verify_dotfile(char const   *rest , unsigned int mode___1 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  if ((int const   )*rest == 0) {
    return (0);
  } else {
    tmp = git_is_dir_sep((int )*rest);
    if (tmp) {
      return (0);
    }
  }
  {
  if ((int const   )*rest == 71) {
    goto case_71;
  }
  if ((int const   )*rest == 103) {
    goto case_71;
  }
  if ((int const   )*rest == 46) {
    goto case_46;
  }
  goto switch_break;
  case_71: /* CIL Label */
  case_103: /* CIL Label */
  if ((int const   )*(rest + 1) != 105) {
    if ((int const   )*(rest + 1) != 73) {
      goto switch_break;
    }
  }
  if ((int const   )*(rest + 2) != 116) {
    if ((int const   )*(rest + 2) != 84) {
      goto switch_break;
    }
  }
  if ((int const   )*(rest + 3) == 0) {
    return (0);
  } else {
    tmp___0 = git_is_dir_sep((int )*(rest + 3));
    if (tmp___0) {
      return (0);
    }
  }
  if ((mode___1 & 61440U) == 40960U) {
    rest += 3;
    tmp___1 = skip_iprefix(rest, (char const   *)"modules", & rest);
    if (tmp___1) {
      if ((int const   )*rest == 0) {
        return (0);
      } else {
        tmp___2 = git_is_dir_sep((int )*rest);
        if (tmp___2) {
          return (0);
        }
      }
    }
  }
  goto switch_break;
  case_46: /* CIL Label */
  if ((int const   )*(rest + 1) == 0) {
    return (0);
  } else {
    tmp___3 = git_is_dir_sep((int )*(rest + 1));
    if (tmp___3) {
      return (0);
    }
  }
  switch_break: /* CIL Label */ ;
  }
  return (1);
}
}
static enum verify_path_result verify_path_internal(char const   *path___6 , unsigned int mode___1 )
{
  char c___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  char const   *tmp___11 ;

  {
  c___0 = (char)0;
  tmp = git_has_dos_drive_prefix(path___6);
  if (tmp) {
    return ((enum verify_path_result )1);
  }
  goto inside;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! c___0) {
      return ((enum verify_path_result )0);
    }
    tmp___10 = git_is_dir_sep((int )c___0);
    if (tmp___10) {
      inside:
      if (protect_hfs) {
        tmp___0 = is_hfs_dotgit(path___6);
        if (tmp___0) {
          return ((enum verify_path_result )1);
        }
        if ((mode___1 & 61440U) == 40960U) {
          tmp___1 = is_hfs_dotgitmodules(path___6);
          if (tmp___1) {
            return ((enum verify_path_result )1);
          }
        }
      }
      if (protect_ntfs) {
        tmp___2 = is_ntfs_dotgit(path___6);
        if (tmp___2) {
          return ((enum verify_path_result )1);
        }
        if ((mode___1 & 61440U) == 40960U) {
          tmp___3 = is_ntfs_dotgitmodules(path___6);
          if (tmp___3) {
            return ((enum verify_path_result )1);
          }
        }
      }
      tmp___4 = path___6;
      path___6 ++;
      c___0 = (char )*tmp___4;
      if ((int )c___0 == 46) {
        tmp___5 = verify_dotfile(path___6, mode___1);
        if (tmp___5) {
          goto _L;
        } else {
          return ((enum verify_path_result )1);
        }
      } else {
        _L: /* CIL Label */
        tmp___6 = git_is_dir_sep((int )c___0);
        if (tmp___6) {
          return ((enum verify_path_result )1);
        }
      }
      if ((int )c___0 == 0) {
        if ((mode___1 & 61440U) == 16384U) {
          tmp___7 = 2;
        } else {
          tmp___7 = 1;
        }
        return ((enum verify_path_result )tmp___7);
      }
    } else
    if ((int )c___0 == 92) {
      if (protect_ntfs) {
        tmp___8 = is_ntfs_dotgit(path___6);
        if (tmp___8) {
          return ((enum verify_path_result )1);
        }
        if ((mode___1 & 61440U) == 40960U) {
          tmp___9 = is_ntfs_dotgitmodules(path___6);
          if (tmp___9) {
            return ((enum verify_path_result )1);
          }
        }
      }
    }
    tmp___11 = path___6;
    path___6 ++;
    c___0 = (char )*tmp___11;
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int has_file_name(struct index_state *istate , struct cache_entry  const  *ce ,
                         int pos , int ok_to_replace )
{
  int retval ;
  int len___0 ;
  int stage ;
  char const   *name___0 ;
  struct cache_entry *p___0 ;
  int tmp ;
  int tmp___0 ;

  {
  retval = 0;
  len___0 = (int )ce->ce_namelen;
  stage = (int )((12288U & ce->ce_flags) >> 12);
  name___0 = (char const   *)(ce->name);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )pos < istate->cache_nr)) {
      goto while_break;
    }
    tmp = pos;
    pos ++;
    p___0 = *(istate->cache + tmp);
    if ((unsigned int )len___0 >= p___0->ce_namelen) {
      goto while_break;
    }
    tmp___0 = memcmp((void const   *)name___0, (void const   *)(p___0->name), (size_t )len___0);
    if (tmp___0) {
      goto while_break;
    }
    if ((12288U & p___0->ce_flags) >> 12 != (unsigned int )stage) {
      goto while_continue;
    }
    if ((int )p___0->name[len___0] != 47) {
      goto while_continue;
    }
    if (p___0->ce_flags & (unsigned int )(1 << 17)) {
      goto while_continue;
    }
    retval = -1;
    if (! ok_to_replace) {
      goto while_break;
    }
    pos --;
    remove_index_entry_at(istate, pos);
  }
  while_break: /* CIL Label */ ;
  }
  return (retval);
}
}
int strcmp_offset(char const   *s1 , char const   *s2 , size_t *first_change )
{
  size_t k ;
  int tmp ;

  {
  if (! first_change) {
    tmp = strcmp(s1, s2);
    return (tmp);
  }
  k = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((int const   )*(s1 + k) == (int const   )*(s2 + k))) {
      goto while_break;
    }
    if ((int const   )*(s1 + k) == 0) {
      goto while_break;
    }
    k ++;
  }
  while_break: /* CIL Label */ ;
  }
  *first_change = k;
  return ((int )((unsigned char )*(s1 + k)) - (int )((unsigned char )*(s2 + k)));
}
}
static int has_dir_name(struct index_state *istate , struct cache_entry  const  *ce ,
                        int pos , int ok_to_replace )
{
  int retval ;
  int stage ;
  char const   *name___0 ;
  char const   *slash ;
  size_t len_eq_last ;
  int cmp_last ;
  size_t len___0 ;
  struct cache_entry *p___0 ;
  int tmp ;

  {
  retval = 0;
  stage = (int )((12288U & ce->ce_flags) >> 12);
  name___0 = (char const   *)(ce->name);
  slash = name___0 + ce->ce_namelen;
  cmp_last = 0;
  if (istate->cache_nr > 0U) {
    cmp_last = strcmp_offset(name___0, (char const   *)((*(istate->cache + (istate->cache_nr - 1U)))->name),
                             & len_eq_last);
    if (cmp_last > 0) {
      if (len_eq_last == 0UL) {
        return (retval);
      }
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      slash --;
      if ((int const   )*slash == 47) {
        goto while_break___0;
      }
      if ((unsigned long )slash <= (unsigned long )(ce->name)) {
        return (retval);
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    len___0 = (size_t )(slash - name___0);
    if (cmp_last > 0) {
      if (len___0 + 1UL <= len_eq_last) {
        return (retval);
      }
      if (len___0 > len_eq_last) {
        return (retval);
      }
    }
    pos = index_name_stage_pos(istate, name___0, (int )len___0, stage, (enum index_search_mode )1);
    if (pos >= 0) {
      if (! ((*(istate->cache + pos))->ce_flags & (unsigned int )(1 << 17))) {
        retval = -1;
        if (! ok_to_replace) {
          goto while_break;
        }
        remove_index_entry_at(istate, pos);
        goto __Cont;
      }
    } else {
      pos = - pos - 1;
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((unsigned int )pos < istate->cache_nr)) {
        goto while_break___1;
      }
      p___0 = *(istate->cache + pos);
      if ((size_t )p___0->ce_namelen <= len___0) {
        goto while_break___1;
      } else
      if ((int )p___0->name[len___0] != 47) {
        goto while_break___1;
      } else {
        tmp = memcmp((void const   *)(p___0->name), (void const   *)name___0, len___0);
        if (tmp) {
          goto while_break___1;
        }
      }
      if ((12288U & p___0->ce_flags) >> 12 == (unsigned int )stage) {
        if (! (p___0->ce_flags & (unsigned int )(1 << 17))) {
          return (retval);
        }
      }
      pos ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  return (retval);
}
}
static int check_file_directory_conflict(struct index_state *istate , struct cache_entry  const  *ce ,
                                         int pos , int ok_to_replace )
{
  int retval ;
  int tmp ;

  {
  if (ce->ce_flags & (unsigned int )(1 << 17)) {
    return (0);
  }
  retval = has_file_name(istate, ce, pos, ok_to_replace);
  tmp = has_dir_name(istate, ce, pos, ok_to_replace);
  return (retval + tmp);
}
}
static int add_index_entry_with_check(struct index_state *istate , struct cache_entry *ce ,
                                      int option )
{
  int pos ;
  int ok_to_add ;
  int ok_to_replace ;
  int skip_df_check ;
  int new_only ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  enum verify_path_result tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  ok_to_add = option & 1;
  ok_to_replace = option & 2;
  skip_df_check = option & 4;
  new_only = option & 16;
  if (! (option & 32)) {
    cache_tree_invalidate_path(istate, (char const   *)(ce->name));
  }
  if (istate->cache_nr > 0U) {
    tmp = strcmp((char const   *)(ce->name), (char const   *)((*(istate->cache + (istate->cache_nr - 1U)))->name));
    if (tmp > 0) {
      pos = index_pos_to_insert_pos((uintmax_t )istate->cache_nr);
    } else {
      pos = index_name_stage_pos(istate, (char const   *)(ce->name), (int )ce->ce_namelen,
                                 (int )((12288U & ce->ce_flags) >> 12), (enum index_search_mode )1);
    }
  } else {
    pos = index_name_stage_pos(istate, (char const   *)(ce->name), (int )ce->ce_namelen,
                               (int )((12288U & ce->ce_flags) >> 12), (enum index_search_mode )1);
  }
  if (pos >= 0) {
    if (! new_only) {
      replace_index_entry(istate, pos, ce);
    }
    return (0);
  }
  pos = - pos - 1;
  if (! (option & 32)) {
    untracked_cache_add_to_index(istate, (char const   *)(ce->name));
  }
  if ((unsigned int )pos < istate->cache_nr) {
    if ((12288U & ce->ce_flags) >> 12 == 0U) {
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        tmp___1 = ce_same_name((struct cache_entry  const  *)*(istate->cache + pos),
                               (struct cache_entry  const  *)ce);
        if (! tmp___1) {
          goto while_break;
        }
        ok_to_add = 1;
        tmp___0 = remove_index_entry_at(istate, pos);
        if (! tmp___0) {
          goto while_break;
        }
      }
      while_break: /* CIL Label */ ;
      }
    }
  }
  if (! ok_to_add) {
    return (-1);
  }
  tmp___4 = verify_path_internal((char const   *)(ce->name), ce->ce_mode);
  if ((unsigned int )tmp___4 == 1U) {
    tmp___2 = _((char const   *)"invalid path \'%s\'");
    error((char const   *)tmp___2, ce->name);
    tmp___3 = const_error();
    return (tmp___3);
  }
  if (! skip_df_check) {
    tmp___7 = check_file_directory_conflict(istate, (struct cache_entry  const  *)ce,
                                            pos, ok_to_replace);
    if (tmp___7) {
      if (! ok_to_replace) {
        tmp___5 = _((char const   *)"\'%s\' appears as both a file and as a directory");
        error((char const   *)tmp___5, ce->name);
        tmp___6 = const_error();
        return (tmp___6);
      }
      pos = index_name_stage_pos(istate, (char const   *)(ce->name), (int )ce->ce_namelen,
                                 (int )((12288U & ce->ce_flags) >> 12), (enum index_search_mode )1);
      pos = - pos - 1;
    }
  }
  return (pos + 1);
}
}
int add_index_entry(struct index_state *istate , struct cache_entry *ce , int option )
{
  int pos ;
  int ret___67 ;
  size_t tmp ;
  void *tmp___0 ;

  {
  if (option & 8) {
    pos = (int )istate->cache_nr;
  } else {
    ret___67 = add_index_entry_with_check(istate, ce, option);
    if (ret___67 <= 0) {
      return (ret___67);
    }
    pos = ret___67 - 1;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (istate->cache_nr + 1U > istate->cache_alloc) {
      if (((istate->cache_alloc + 16U) * 3U) / 2U < istate->cache_nr + 1U) {
        istate->cache_alloc = istate->cache_nr + 1U;
      } else {
        istate->cache_alloc = ((istate->cache_alloc + 16U) * 3U) / 2U;
      }
      tmp = st_mult(sizeof(*(istate->cache)), (size_t )istate->cache_alloc);
      tmp___0 = xrealloc((void *)istate->cache, tmp);
      istate->cache = (struct cache_entry **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  (istate->cache_nr) ++;
  if (istate->cache_nr > (unsigned int )(pos + 1)) {
    move_array((void *)((istate->cache + pos) + 1), (void const   *)(istate->cache + pos),
               (size_t )((istate->cache_nr - (unsigned int )pos) - 1U), sizeof(*((istate->cache + pos) + 1)) + (sizeof(char [1]) - 1UL));
  }
  set_index_entry(istate, pos, ce);
  istate->cache_changed |= (unsigned int )(1 << 3);
  return (0);
}
}
static struct cache_entry *refresh_cache_ent(struct index_state *istate , struct cache_entry *ce ,
                                             unsigned int options , int *err___4 ,
                                             int *changed_ret , int *t2_did_lstat ,
                                             int *t2_did_scan )
{
  struct stat st ;
  struct cache_entry *updated ;
  int changed ;
  int refresh___1 ;
  int ignore_valid ;
  int ignore_skip_worktree ;
  int ignore_missing___0 ;
  int ignore_fsmonitor ;
  int tmp ;
  int *tmp___0 ;
  int *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  refresh___1 = (int )(options & 16U);
  ignore_valid = (int )(options & 1U);
  ignore_skip_worktree = (int )(options & 4U);
  ignore_missing___0 = (int )(options & 8U);
  ignore_fsmonitor = (int )(options & 32U);
  if (! refresh___1) {
    return (ce);
  } else
  if (ce->ce_flags & (unsigned int )(1 << 18)) {
    return (ce);
  }
  if (! ignore_fsmonitor) {
    refresh_fsmonitor(istate);
  }
  if (! ignore_skip_worktree) {
    if (ce->ce_flags & (unsigned int )(1 << 30)) {
      ce->ce_flags |= (unsigned int )(1 << 18);
      return (ce);
    }
  }
  if (! ignore_valid) {
    if (ce->ce_flags & 32768U) {
      ce->ce_flags |= (unsigned int )(1 << 18);
      return (ce);
    }
  }
  if (! ignore_fsmonitor) {
    if (ce->ce_flags & (unsigned int )(1 << 21)) {
      ce->ce_flags |= (unsigned int )(1 << 18);
      return (ce);
    }
  }
  tmp = has_symlink_leading_path((char const   *)(ce->name), (int )ce->ce_namelen);
  if (tmp) {
    if (ignore_missing___0) {
      return (ce);
    }
    if (err___4) {
      *err___4 = 2;
    }
    return ((struct cache_entry *)((void *)0));
  }
  if (t2_did_lstat) {
    *t2_did_lstat = 1;
  }
  tmp___2 = lstat((char const   *)(ce->name), & st);
  if (tmp___2 < 0) {
    if (ignore_missing___0) {
      tmp___0 = __errno_location();
      if (*tmp___0 == 2) {
        return (ce);
      }
    }
    if (err___4) {
      tmp___1 = __errno_location();
      *err___4 = *tmp___1;
    }
    return ((struct cache_entry *)((void *)0));
  }
  changed = ie_match_stat(istate, (struct cache_entry  const  *)ce, & st, options);
  if (changed_ret) {
    *changed_ret = changed;
  }
  if (! changed) {
    if (ignore_valid) {
      if (assume_unchanged) {
        if (! (! (ce->ce_flags & 32768U))) {
          goto _L___0;
        }
      } else {
        goto _L___0;
      }
    } else {
      _L___0: /* CIL Label */
      _L: /* CIL Label */
      if (! ((ce->ce_mode & 61440U) == 57344U)) {
        ce->ce_flags |= (unsigned int )(1 << 18);
        mark_fsmonitor_valid(istate, ce);
      }
      return (ce);
    }
  }
  if (t2_did_scan) {
    *t2_did_scan = 1;
  }
  tmp___3 = ie_modified(istate, (struct cache_entry  const  *)ce, & st, options);
  if (tmp___3) {
    if (err___4) {
      *err___4 = 22;
    }
    return ((struct cache_entry *)((void *)0));
  }
  updated = make_empty_cache_entry(istate, (size_t )ce->ce_namelen);
  copy_cache_entry(updated, (struct cache_entry  const  *)ce);
  memcpy((void *)(updated->name), (void const   *)(ce->name), (size_t )(ce->ce_namelen + 1U));
  fill_stat_cache_info(istate, updated, & st);
  if (! ignore_valid) {
    if (assume_unchanged) {
      if (! (ce->ce_flags & 32768U)) {
        updated->ce_flags &= 4294934527U;
      }
    }
  }
  return (updated);
}
}
static void show_file(char const   *fmt , char const   *name___0 , int in_porcelain ,
                      int *first , char const   *header_msg )
{


  {
  if (in_porcelain) {
    if (*first) {
      if (header_msg) {
        printf((char const   *)"%s\n", header_msg);
        *first = 0;
      }
    }
  }
  printf(fmt, name___0);
  return;
}
}
int repo_refresh_and_write_index(struct repository *repo , unsigned int refresh_flags ,
                                 unsigned int write_flags , int gentle , struct pathspec  const  *pathspec___1 ,
                                 char *seen___0 , char const   *header_msg )
{
  struct lock_file lock_file___0 ;
  int fd ;
  int ret___67 ;
  int tmp ;
  int tmp___0 ;

  {
  lock_file___0.tempfile = (struct tempfile *)0;
  ret___67 = 0;
  fd = repo_hold_locked_index(repo, & lock_file___0, 0);
  if (! gentle) {
    if (fd < 0) {
      return (-1);
    }
  }
  tmp = refresh_index(repo->index, refresh_flags, pathspec___1, seen___0, header_msg);
  if (tmp) {
    ret___67 = 1;
  }
  if (0 <= fd) {
    tmp___0 = write_locked_index(repo->index, & lock_file___0, 1U | write_flags);
    if (tmp___0) {
      ret___67 = -1;
    }
  }
  return (ret___67);
}
}
int refresh_index(struct index_state *istate , unsigned int flags___0 , struct pathspec  const  *pathspec___1 ,
                  char *seen___0 , char const   *header_msg )
{
  int i ;
  int has_errors___0 ;
  int really ;
  int allow_unmerged ;
  int quiet___7 ;
  int not_new ;
  int ignore_submodules ;
  int ignore_skip_worktree ;
  int first ;
  int in_porcelain ;
  unsigned int options ;
  int tmp ;
  int tmp___0 ;
  char const   *modified_fmt ;
  char const   *deleted_fmt ;
  char const   *typechange_fmt ;
  char const   *added_fmt ;
  char const   *unmerged_fmt ;
  struct progress *progress___7 ;
  int t2_sum_lstat ;
  int t2_sum_scan ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  struct cache_entry *ce ;
  struct cache_entry *new_entry ;
  int cache_errno ;
  int changed ;
  int filtered ;
  int t2_did_lstat ;
  int t2_did_scan ;
  int tmp___3 ;
  int tmp___4 ;
  char const   *fmt ;
  uint64_t tmp___5 ;
  int tmp___6 ;

  {
  has_errors___0 = 0;
  really = (flags___0 & 1U) != 0U;
  allow_unmerged = (flags___0 & (unsigned int )(1 << 1)) != 0U;
  quiet___7 = (flags___0 & (unsigned int )(1 << 2)) != 0U;
  not_new = (flags___0 & (unsigned int )(1 << 3)) != 0U;
  ignore_submodules = (flags___0 & (unsigned int )(1 << 4)) != 0U;
  ignore_skip_worktree = (flags___0 & (unsigned int )(1 << 7)) != 0U;
  first = 1;
  in_porcelain = (int )(flags___0 & (unsigned int )(1 << 5));
  if (really) {
    tmp = 01;
  } else {
    tmp = 0;
  }
  if (not_new) {
    tmp___0 = 0x08;
  } else {
    tmp___0 = 0;
  }
  options = (unsigned int )((0x10 | tmp) | tmp___0);
  progress___7 = (struct progress *)((void *)0);
  t2_sum_lstat = 0;
  t2_sum_scan = 0;
  if (flags___0 & (unsigned int )(1 << 6)) {
    tmp___2 = isatty(2);
    if (tmp___2) {
      tmp___1 = _((char const   *)"Refresh index");
      progress___7 = start_delayed_progress((char const   *)tmp___1, (uint64_t )istate->cache_nr);
    }
  }
  trace_performance_enter();
  if (in_porcelain) {
    modified_fmt = (char const   *)"M\t%s\n";
  } else {
    modified_fmt = (char const   *)"%s: needs update\n";
  }
  if (in_porcelain) {
    deleted_fmt = (char const   *)"D\t%s\n";
  } else {
    deleted_fmt = (char const   *)"%s: needs update\n";
  }
  if (in_porcelain) {
    typechange_fmt = (char const   *)"T\t%s\n";
  } else {
    typechange_fmt = (char const   *)"%s: needs update\n";
  }
  if (in_porcelain) {
    added_fmt = (char const   *)"A\t%s\n";
  } else {
    added_fmt = (char const   *)"%s: needs update\n";
  }
  if (in_porcelain) {
    unmerged_fmt = (char const   *)"U\t%s\n";
  } else {
    unmerged_fmt = (char const   *)"%s: needs merge\n";
  }
  preload_index(istate, pathspec___1, 0U);
  trace2_region_enter_fl((char const   *)"read-cache.c", 1616, (char const   *)"index",
                         (char const   *)"refresh", (struct repository  const  *)((void *)0));
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    cache_errno = 0;
    changed = 0;
    filtered = 0;
    t2_did_lstat = 0;
    t2_did_scan = 0;
    ce = *(istate->cache + i);
    if (ignore_submodules) {
      if ((ce->ce_mode & 61440U) == 57344U) {
        goto __Cont;
      }
    }
    if (ignore_skip_worktree) {
      if (ce->ce_flags & (unsigned int )(1 << 30)) {
        goto __Cont;
      }
    }
    if (ce->ce_mode == 16384U) {
      goto __Cont;
    }
    if (pathspec___1) {
      tmp___3 = ce_path_match(istate, (struct cache_entry  const  *)ce, pathspec___1,
                              seen___0);
      if (! tmp___3) {
        filtered = 1;
      }
    }
    if ((12288U & ce->ce_flags) >> 12) {
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if ((unsigned int )i < istate->cache_nr) {
          tmp___4 = strcmp((char const   *)((*(istate->cache + i))->name), (char const   *)(ce->name));
          if (tmp___4) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      i --;
      if (allow_unmerged) {
        goto __Cont;
      }
      if (! filtered) {
        show_file(unmerged_fmt, (char const   *)(ce->name), in_porcelain, & first,
                  header_msg);
      }
      has_errors___0 = 1;
      goto __Cont;
    }
    if (filtered) {
      goto __Cont;
    }
    new_entry = refresh_cache_ent(istate, ce, options, & cache_errno, & changed, & t2_did_lstat,
                                  & t2_did_scan);
    t2_sum_lstat += t2_did_lstat;
    t2_sum_scan += t2_did_scan;
    if ((unsigned long )new_entry == (unsigned long )ce) {
      goto __Cont;
    }
    display_progress(progress___7, (uint64_t )i);
    if (! new_entry) {
      if (really) {
        if (cache_errno == 22) {
          ce->ce_flags &= 4294934527U;
          ce->ce_flags |= (unsigned int )(1 << 27);
          mark_fsmonitor_invalid(istate, ce);
          istate->cache_changed |= (unsigned int )(1 << 1);
        }
      }
      if (quiet___7) {
        goto __Cont;
      }
      if (cache_errno == 2) {
        fmt = deleted_fmt;
      } else
      if (ce->ce_flags & (unsigned int )(1 << 29)) {
        fmt = added_fmt;
      } else
      if (changed & 0x0040) {
        fmt = typechange_fmt;
      } else {
        fmt = modified_fmt;
      }
      show_file(fmt, (char const   *)(ce->name), in_porcelain, & first, header_msg);
      has_errors___0 = 1;
      goto __Cont;
    }
    replace_index_entry(istate, i, new_entry);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  trace2_data_intmax_fl((char const   *)"read-cache.c", 1698, (char const   *)"index",
                        (struct repository  const  *)((void *)0), (char const   *)"refresh/sum_lstat",
                        (intmax_t )t2_sum_lstat);
  trace2_data_intmax_fl((char const   *)"read-cache.c", 1699, (char const   *)"index",
                        (struct repository  const  *)((void *)0), (char const   *)"refresh/sum_scan",
                        (intmax_t )t2_sum_scan);
  trace2_region_leave_fl((char const   *)"read-cache.c", 1700, (char const   *)"index",
                         (char const   *)"refresh", (struct repository  const  *)((void *)0));
  display_progress(progress___7, (uint64_t )istate->cache_nr);
  stop_progress(& progress___7);
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    tmp___6 = trace_pass_fl(& trace_perf_key);
    if (tmp___6) {
      tmp___5 = getnanotime();
      trace_performance_leave_fl((char const   *)"read-cache.c", 1703, tmp___5, (char const   *)"refresh index");
    }
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  return (has_errors___0);
}
}
struct cache_entry *refresh_cache_entry(struct index_state *istate , struct cache_entry *ce ,
                                        unsigned int options )
{
  struct cache_entry *tmp ;

  {
  tmp = refresh_cache_ent(istate, ce, options, (int *)((void *)0), (int *)((void *)0),
                          (int *)((void *)0), (int *)((void *)0));
  return (tmp);
}
}
static unsigned int get_index_format_default(struct repository *r )
{
  char *envversion ;
  char *tmp ;
  char *endp ;
  unsigned int version___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  unsigned long tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  tmp = getenv((char const   *)"GIT_INDEX_VERSION");
  envversion = tmp;
  version___0 = 3U;
  if (! envversion) {
    prepare_repo_settings(r);
    if (r->settings.index_version >= 0) {
      version___0 = (unsigned int )r->settings.index_version;
    }
    if (version___0 < 2U) {
      tmp___0 = _((char const   *)"index.version set, but the value is invalid.\nUsing version %i");
      warning((char const   *)tmp___0, 3);
      return (3U);
    } else
    if (4U < version___0) {
      tmp___0 = _((char const   *)"index.version set, but the value is invalid.\nUsing version %i");
      warning((char const   *)tmp___0, 3);
      return (3U);
    }
    return (version___0);
  }
  tmp___1 = strtoul((char const   * __restrict  )envversion, (char ** __restrict  )(& endp),
                    10);
  version___0 = (unsigned int )tmp___1;
  if (*endp) {
    tmp___2 = _((char const   *)"GIT_INDEX_VERSION set, but the value is invalid.\nUsing version %i");
    warning((char const   *)tmp___2, 3);
    version___0 = 3U;
  } else
  if (version___0 < 2U) {
    tmp___2 = _((char const   *)"GIT_INDEX_VERSION set, but the value is invalid.\nUsing version %i");
    warning((char const   *)tmp___2, 3);
    version___0 = 3U;
  } else
  if (4U < version___0) {
    tmp___2 = _((char const   *)"GIT_INDEX_VERSION set, but the value is invalid.\nUsing version %i");
    warning((char const   *)tmp___2, 3);
    version___0 = 3U;
  }
  return (version___0);
}
}
static int verify_hdr(struct cache_header  const  *hdr , unsigned long size )
{
  git_hash_ctx c___0 ;
  unsigned char hash___0[32] ;
  int hdr_version ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  uint32_t tmp___1 ;
  uint32_t tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  tmp___1 = git_bswap32((uint32_t )0x44495243);
  if (hdr->hdr_signature != (uint32_t )tmp___1) {
    tmp = _((char const   *)"bad signature 0x%08x");
    error((char const   *)tmp, hdr->hdr_signature);
    tmp___0 = const_error();
    return (tmp___0);
  }
  tmp___2 = git_bswap32((uint32_t )hdr->hdr_version);
  hdr_version = (int )tmp___2;
  if (hdr_version < 2) {
    tmp___3 = _((char const   *)"bad index version %d");
    error((char const   *)tmp___3, hdr_version);
    tmp___4 = const_error();
    return (tmp___4);
  } else
  if (4 < hdr_version) {
    tmp___3 = _((char const   *)"bad index version %d");
    error((char const   *)tmp___3, hdr_version);
    tmp___4 = const_error();
    return (tmp___4);
  }
  if (! verify_index_checksum) {
    return (0);
  }
  (*((the_repository->hash_algo)->init_fn))(& c___0);
  (*((the_repository->hash_algo)->update_fn))(& c___0, (void const   *)hdr, size - (unsigned long )(the_repository->hash_algo)->rawsz);
  (*((the_repository->hash_algo)->final_fn))(hash___0, & c___0);
  tmp___7 = hasheq((unsigned char const   *)(hash___0), (unsigned char const   *)(((unsigned char *)hdr + size) - (the_repository->hash_algo)->rawsz));
  if (! tmp___7) {
    tmp___5 = _((char const   *)"bad index file sha1 signature");
    error((char const   *)tmp___5);
    tmp___6 = const_error();
    return (tmp___6);
  }
  return (0);
}
}
static int read_index_extension(struct index_state *istate , char const   *ext , char const   *data ,
                                unsigned long sz )
{
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  {
  if ((((((int const   )*(ext + 0) << 24) | ((int const   )*(ext + 1) << 16)) | ((int const   )*(ext + 2) << 8)) | (int const   )*(ext + 3)) == 1414677829) {
    goto case_1414677829;
  }
  if ((((((int const   )*(ext + 0) << 24) | ((int const   )*(ext + 1) << 16)) | ((int const   )*(ext + 2) << 8)) | (int const   )*(ext + 3)) == 1380275523) {
    goto case_1380275523;
  }
  if ((((((int const   )*(ext + 0) << 24) | ((int const   )*(ext + 1) << 16)) | ((int const   )*(ext + 2) << 8)) | (int const   )*(ext + 3)) == 1818848875) {
    goto case_1818848875;
  }
  if ((((((int const   )*(ext + 0) << 24) | ((int const   )*(ext + 1) << 16)) | ((int const   )*(ext + 2) << 8)) | (int const   )*(ext + 3)) == 1431196754) {
    goto case_1431196754;
  }
  if ((((((int const   )*(ext + 0) << 24) | ((int const   )*(ext + 1) << 16)) | ((int const   )*(ext + 2) << 8)) | (int const   )*(ext + 3)) == 1179864398) {
    goto case_1179864398;
  }
  if ((((((int const   )*(ext + 0) << 24) | ((int const   )*(ext + 1) << 16)) | ((int const   )*(ext + 2) << 8)) | (int const   )*(ext + 3)) == 1229279060) {
    goto case_1229279060;
  }
  if ((((((int const   )*(ext + 0) << 24) | ((int const   )*(ext + 1) << 16)) | ((int const   )*(ext + 2) << 8)) | (int const   )*(ext + 3)) == 1162824005) {
    goto case_1229279060;
  }
  if ((((((int const   )*(ext + 0) << 24) | ((int const   )*(ext + 1) << 16)) | ((int const   )*(ext + 2) << 8)) | (int const   )*(ext + 3)) == 1935960434) {
    goto case_1935960434;
  }
  goto switch_default;
  case_1414677829: /* CIL Label */
  istate->cache_tree = cache_tree_read(data, sz);
  goto switch_break;
  case_1380275523: /* CIL Label */
  istate->resolve_undo = resolve_undo_read(data, sz);
  goto switch_break;
  case_1818848875: /* CIL Label */
  tmp = read_link_extension(istate, (void const   *)data, sz);
  if (tmp) {
    return (-1);
  }
  goto switch_break;
  case_1431196754: /* CIL Label */
  istate->untracked = read_untracked_extension((void const   *)data, sz);
  goto switch_break;
  case_1179864398: /* CIL Label */
  read_fsmonitor_extension(istate, (void const   *)data, sz);
  goto switch_break;
  case_1229279060: /* CIL Label */
  case_1162824005: /* CIL Label */
  goto switch_break;
  case_1935960434: /* CIL Label */
  istate->sparse_index = 1U;
  goto switch_break;
  switch_default: /* CIL Label */
  if ((int const   )*ext < 65) {
    tmp___0 = _((char const   *)"index uses %.4s extension, which we do not understand");
    error((char const   *)tmp___0, ext);
    tmp___1 = const_error();
    return (tmp___1);
  } else
  if (90 < (int )*ext) {
    tmp___0 = _((char const   *)"index uses %.4s extension, which we do not understand");
    error((char const   *)tmp___0, ext);
    tmp___1 = const_error();
    return (tmp___1);
  }
  tmp___2 = _((char const   *)"ignoring %.4s extension");
  fprintf_ln(stderr, (char const   *)tmp___2, ext);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return (0);
}
}
static struct cache_entry *create_from_disk(struct mem_pool *ce_mem_pool , unsigned int version___0 ,
                                            struct ondisk_cache_entry *ondisk , unsigned long *ent_size ,
                                            struct cache_entry  const  *previous_ce )
{
  struct cache_entry *ce ;
  size_t len___0 ;
  char const   *name___0 ;
  unsigned int hashsz ;
  uint16_t const   *flagsp ;
  unsigned int flags___0 ;
  size_t copy_len ;
  int expand_name_field ;
  uint16_t tmp ;
  int extended_flags ;
  uint16_t tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  unsigned char const   *cp ;
  size_t strip_len ;
  size_t previous_len ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  hashsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  flagsp = (uint16_t const   *)(ondisk->data + hashsz);
  copy_len = (size_t )0;
  expand_name_field = version___0 == 4U;
  tmp = get_be16((void const   *)flagsp);
  flags___0 = (unsigned int )tmp;
  len___0 = (size_t )(flags___0 & 4095U);
  if (flags___0 & 16384U) {
    tmp___0 = get_be16((void const   *)(flagsp + 1));
    extended_flags = (int )tmp___0 << 16;
    if (extended_flags & ~ ((1 << 29) | (1 << 30))) {
      tmp___1 = _((char const   *)"unknown index entry format 0x%08x");
      die((char const   *)tmp___1, extended_flags);
    }
    flags___0 |= (unsigned int )extended_flags;
    name___0 = (char const   *)(flagsp + 2);
  } else {
    name___0 = (char const   *)(flagsp + 1);
  }
  if (expand_name_field) {
    cp = (unsigned char const   *)name___0;
    strip_len = decode_varint(& cp);
    if (previous_ce) {
      previous_len = (size_t )previous_ce->ce_namelen;
      if (previous_len < strip_len) {
        tmp___2 = _((char const   *)"malformed name field in the index, near path \'%s\'");
        die((char const   *)tmp___2, previous_ce->name);
      }
      copy_len = previous_len - strip_len;
    }
    name___0 = (char const   *)cp;
  }
  if (len___0 == 4095UL) {
    len___0 = strlen(name___0);
    if (expand_name_field) {
      len___0 += copy_len;
    }
  }
  ce = mem_pool__ce_alloc(ce_mem_pool, len___0);
  ce->ce_stat_data.sd_ctime.sec = get_be32((void const   *)(& ondisk->ctime.sec));
  ce->ce_stat_data.sd_mtime.sec = get_be32((void const   *)(& ondisk->mtime.sec));
  ce->ce_stat_data.sd_ctime.nsec = get_be32((void const   *)(& ondisk->ctime.nsec));
  ce->ce_stat_data.sd_mtime.nsec = get_be32((void const   *)(& ondisk->mtime.nsec));
  ce->ce_stat_data.sd_dev = get_be32((void const   *)(& ondisk->dev));
  ce->ce_stat_data.sd_ino = get_be32((void const   *)(& ondisk->ino));
  ce->ce_mode = get_be32((void const   *)(& ondisk->mode));
  ce->ce_stat_data.sd_uid = get_be32((void const   *)(& ondisk->uid));
  ce->ce_stat_data.sd_gid = get_be32((void const   *)(& ondisk->gid));
  ce->ce_stat_data.sd_size = get_be32((void const   *)(& ondisk->size));
  ce->ce_flags = flags___0 & 4294963200U;
  ce->ce_namelen = (unsigned int )len___0;
  ce->index = 0U;
  oidread(& ce->oid, (unsigned char const   *)(ondisk->data));
  memcpy((void *)(ce->name), (void const   *)name___0, len___0);
  ce->name[len___0] = (char )'\000';
  if (expand_name_field) {
    if (copy_len) {
      memcpy((void *)(ce->name), (void const   *)(previous_ce->name), copy_len);
    }
    memcpy((void *)(ce->name + copy_len), (void const   *)name___0, (len___0 + 1UL) - copy_len);
    *ent_size = (((size_t )(name___0 - (char const   *)((char *)ondisk)) + len___0) + 1UL) - copy_len;
  } else {
    memcpy((void *)(ce->name), (void const   *)name___0, len___0 + 1UL);
    if (ce->ce_flags & 16384U) {
      tmp___3 = 2;
    } else {
      tmp___3 = 1;
    }
    *ent_size = (((unsigned long )(& ((struct ondisk_cache_entry *)0)->data) + (unsigned long )(((the_repository->hash_algo)->rawsz + (size_t )((unsigned long )tmp___3 * sizeof(uint16_t ))) + (size_t )ce->ce_namelen)) + 8UL) & 18446744073709551608UL;
  }
  return (ce);
}
}
static void check_ce_order(struct index_state *istate )
{
  unsigned int i ;
  struct cache_entry *ce ;
  struct cache_entry *next_ce ;
  int name_compare___0 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  if (! verify_ce_order) {
    return;
  }
  i = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < istate->cache_nr)) {
      goto while_break;
    }
    ce = *(istate->cache + (i - 1U));
    next_ce = *(istate->cache + i);
    tmp = strcmp((char const   *)(ce->name), (char const   *)(next_ce->name));
    name_compare___0 = tmp;
    if (0 < name_compare___0) {
      tmp___0 = _((char const   *)"unordered stage entries in index");
      die((char const   *)tmp___0);
    }
    if (! name_compare___0) {
      if (! ((12288U & ce->ce_flags) >> 12)) {
        tmp___1 = _((char const   *)"multiple stage entries for merged file \'%s\'");
        die((char const   *)tmp___1, ce->name);
      }
      if ((12288U & ce->ce_flags) >> 12 > (12288U & next_ce->ce_flags) >> 12) {
        tmp___2 = _((char const   *)"unordered stage entries for \'%s\'");
        die((char const   *)tmp___2, ce->name);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void tweak_untracked_cache(struct index_state *istate )
{
  struct repository *r ;

  {
  r = the_repository;
  prepare_repo_settings(r);
  {
  if ((unsigned int )r->settings.core_untracked_cache == 1U) {
    goto case_1;
  }
  if ((unsigned int )r->settings.core_untracked_cache == 2U) {
    goto case_2;
  }
  if ((unsigned int )r->settings.core_untracked_cache == 0U) {
    goto case_0;
  }
  goto switch_break;
  case_1: /* CIL Label */
  remove_untracked_cache(istate);
  goto switch_break;
  case_2: /* CIL Label */
  add_untracked_cache(istate);
  goto switch_break;
  case_0: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static void tweak_split_index(struct index_state *istate )
{
  int tmp ;

  {
  tmp = git_config_get_split_index();
  {
  if (tmp == -1) {
    goto case_neg_1;
  }
  if (tmp == 0) {
    goto case_0;
  }
  if (tmp == 1) {
    goto case_1;
  }
  goto switch_default;
  case_neg_1: /* CIL Label */
  goto switch_break;
  case_0: /* CIL Label */
  remove_split_index(istate);
  goto switch_break;
  case_1: /* CIL Label */
  add_split_index(istate);
  goto switch_break;
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static void post_read_index_from(struct index_state *istate )
{


  {
  check_ce_order(istate);
  tweak_untracked_cache(istate);
  tweak_split_index(istate);
  tweak_fsmonitor(istate);
  return;
}
}
static size_t estimate_cache_size_from_compressed(unsigned int entries___1 )
{


  {
  return ((unsigned long )entries___1 * (sizeof(struct cache_entry ) + 80UL));
}
}
static size_t estimate_cache_size(size_t ondisk_size , unsigned int entries___1 )
{
  long per_entry ;

  {
  per_entry = (long )(sizeof(struct cache_entry ) - sizeof(struct ondisk_cache_entry ));
  per_entry += ((per_entry + 8L) & -8L) - per_entry;
  return (ondisk_size + (size_t )((long )entries___1 * per_entry));
}
}
static struct index_entry_offset_table *read_ieot_extension(char const   *mmap___0 ,
                                                            size_t mmap_size , size_t offset___2 ) ;
static void write_ieot_extension(struct strbuf *sb___6 , struct index_entry_offset_table *ieot ) ;
static size_t read_eoie_extension(char const   *mmap___0 , size_t mmap_size ) ;
static void write_eoie_extension(struct strbuf *sb___6 , git_hash_ctx *eoie_context ,
                                 size_t offset___2 ) ;
static void *load_index_extensions(void *_data )
{
  struct load_index_extensions *p___0 ;
  unsigned long src_offset ;
  uint32_t extsize ;
  uint32_t tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  p___0 = (struct load_index_extensions *)_data;
  src_offset = p___0->src_offset;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (src_offset <= (p___0->mmap_size - (size_t )(the_repository->hash_algo)->rawsz) - 8UL)) {
      goto while_break;
    }
    tmp = get_be32((void const   *)((p___0->mmap + src_offset) + 4));
    extsize = tmp;
    tmp___1 = read_index_extension(p___0->istate, p___0->mmap + src_offset, (p___0->mmap + src_offset) + 8,
                                   (unsigned long )extsize);
    if (tmp___1 < 0) {
      munmap((void *)p___0->mmap, p___0->mmap_size);
      tmp___0 = _((char const   *)"index file corrupt");
      die((char const   *)tmp___0);
    }
    src_offset += 8UL;
    src_offset += (unsigned long )extsize;
  }
  while_break: /* CIL Label */ ;
  }
  return ((void *)0);
}
}
static unsigned long load_cache_entry_block(struct index_state *istate , struct mem_pool *ce_mem_pool ,
                                            int offset___2 , int nr___0 , char const   *mmap___0 ,
                                            unsigned long start_offset , struct cache_entry  const  *previous_ce )
{
  int i ;
  unsigned long src_offset ;
  struct ondisk_cache_entry *disk_ce ;
  struct cache_entry *ce ;
  unsigned long consumed ;

  {
  src_offset = start_offset;
  i = offset___2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < offset___2 + nr___0)) {
      goto while_break;
    }
    disk_ce = (struct ondisk_cache_entry *)(mmap___0 + src_offset);
    ce = create_from_disk(ce_mem_pool, istate->version, disk_ce, & consumed, previous_ce);
    set_index_entry(istate, i, ce);
    src_offset += consumed;
    previous_ce = (struct cache_entry  const  *)ce;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (src_offset - start_offset);
}
}
static unsigned long load_all_cache_entries(struct index_state *istate , char const   *mmap___0 ,
                                            size_t mmap_size , unsigned long src_offset )
{
  unsigned long consumed ;
  void *tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;

  {
  tmp = xmalloc(sizeof(*(istate->ce_mem_pool)));
  istate->ce_mem_pool = (struct mem_pool *)tmp;
  if (istate->version == 4U) {
    tmp___0 = estimate_cache_size_from_compressed(istate->cache_nr);
    mem_pool_init(istate->ce_mem_pool, tmp___0);
  } else {
    tmp___1 = estimate_cache_size(mmap_size, istate->cache_nr);
    mem_pool_init(istate->ce_mem_pool, tmp___1);
  }
  consumed = load_cache_entry_block(istate, istate->ce_mem_pool, 0, (int )istate->cache_nr,
                                    mmap___0, src_offset, (struct cache_entry  const  *)((void *)0));
  return (consumed);
}
}
static void *load_cache_entries_thread(void *_data )
{
  struct load_cache_entries_thread_data *p___0 ;
  int i ;
  unsigned long tmp ;

  {
  p___0 = (struct load_cache_entries_thread_data *)_data;
  i = p___0->ieot_start;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < p___0->ieot_start + p___0->ieot_blocks)) {
      goto while_break;
    }
    tmp = load_cache_entry_block(p___0->istate, p___0->ce_mem_pool, p___0->offset,
                                 (p___0->ieot)->entries[i].nr, p___0->mmap, (unsigned long )(p___0->ieot)->entries[i].offset,
                                 (struct cache_entry  const  *)((void *)0));
    p___0->consumed += tmp;
    p___0->offset += (p___0->ieot)->entries[i].nr;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((void *)0);
}
}
static unsigned long load_cache_entries_threaded(struct index_state *istate , char const   *mmap___0 ,
                                                 size_t mmap_size , int nr_threads___0 ,
                                                 struct index_entry_offset_table *ieot )
{
  int i ;
  int offset___2 ;
  int ieot_blocks ;
  int ieot_start ;
  int err___4 ;
  struct load_cache_entries_thread_data *data ;
  unsigned long consumed ;
  void *tmp ;
  void *tmp___0 ;
  struct load_cache_entries_thread_data *p___0 ;
  int nr___0 ;
  int j ;
  void *tmp___1 ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  char *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  struct load_cache_entries_thread_data *p___1 ;
  char *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;

  {
  consumed = 0UL;
  if (istate->name_hash_initialized) {
    BUG_fl((char const   *)"read-cache.c", 2181, (char const   *)"the name hash isn\'t thread safe");
  }
  tmp = xmalloc(sizeof(*(istate->ce_mem_pool)));
  istate->ce_mem_pool = (struct mem_pool *)tmp;
  mem_pool_init(istate->ce_mem_pool, (size_t )0);
  if (nr_threads___0 > ieot->nr) {
    nr_threads___0 = ieot->nr;
  }
  tmp___0 = xcalloc((size_t )nr_threads___0, sizeof(*data));
  data = (struct load_cache_entries_thread_data *)tmp___0;
  ieot_start = 0;
  offset___2 = ieot_start;
  ieot_blocks = ((ieot->nr + nr_threads___0) - 1) / nr_threads___0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_threads___0)) {
      goto while_break;
    }
    p___0 = data + i;
    if (ieot_start + ieot_blocks > ieot->nr) {
      ieot_blocks = ieot->nr - ieot_start;
    }
    p___0->istate = istate;
    p___0->offset = offset___2;
    p___0->mmap = mmap___0;
    p___0->ieot = ieot;
    p___0->ieot_start = ieot_start;
    p___0->ieot_blocks = ieot_blocks;
    nr___0 = 0;
    j = p___0->ieot_start;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < p___0->ieot_start + p___0->ieot_blocks)) {
        goto while_break___0;
      }
      nr___0 += (p___0->ieot)->entries[j].nr;
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___1 = xmalloc(sizeof(*(istate->ce_mem_pool)));
    p___0->ce_mem_pool = (struct mem_pool *)tmp___1;
    if (istate->version == 4U) {
      tmp___2 = estimate_cache_size_from_compressed((unsigned int )nr___0);
      mem_pool_init(p___0->ce_mem_pool, tmp___2);
    } else {
      tmp___3 = estimate_cache_size(mmap_size, (unsigned int )nr___0);
      mem_pool_init(p___0->ce_mem_pool, tmp___3);
    }
    err___4 = pthread_create((pthread_t * __restrict  )(& p___0->pthread), (pthread_attr_t const   * __restrict  )((void *)0),
                             & load_cache_entries_thread, (void * __restrict  )p___0);
    if (err___4) {
      tmp___4 = strerror(err___4);
      tmp___5 = _((char const   *)"unable to create load_cache_entries thread: %s");
      die((char const   *)tmp___5, tmp___4);
    }
    j = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (j < ieot_blocks)) {
        goto while_break___1;
      }
      offset___2 += ieot->entries[ieot_start + j].nr;
      j ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    ieot_start += ieot_blocks;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < nr_threads___0)) {
      goto while_break___2;
    }
    p___1 = data + i;
    err___4 = pthread_join(p___1->pthread, (void **)((void *)0));
    if (err___4) {
      tmp___6 = strerror(err___4);
      tmp___7 = _((char const   *)"unable to join load_cache_entries thread: %s");
      die((char const   *)tmp___7, tmp___6);
    }
    mem_pool_combine(istate->ce_mem_pool, p___1->ce_mem_pool);
    consumed += p___1->consumed;
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  free((void *)data);
  return (consumed);
}
}
int do_read_index(struct index_state *istate , char const   *path___6 , int must_exist )
{
  int fd ;
  struct stat st ;
  unsigned long src_offset ;
  struct cache_header  const  *hdr ;
  char const   *mmap___0 ;
  size_t mmap_size ;
  struct load_index_extensions p___0 ;
  size_t extension_offset ;
  int nr_threads___0 ;
  int cpus ;
  struct index_entry_offset_table *ieot ;
  int *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  void *tmp___4 ;
  char const   *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  void *tmp___8 ;
  int tmp___9 ;
  int err___4 ;
  char *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  unsigned long tmp___12 ;
  unsigned long tmp___13 ;
  int ret___67 ;
  int tmp___14 ;
  char *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;

  {
  extension_offset = (size_t )0;
  ieot = (struct index_entry_offset_table *)((void *)0);
  if (istate->initialized) {
    return ((int )istate->cache_nr);
  }
  istate->timestamp.sec = (uint32_t )0;
  istate->timestamp.nsec = (uint32_t )0;
  fd = open(path___6, 00);
  if (fd < 0) {
    if (! must_exist) {
      tmp = __errno_location();
      if (*tmp == 2) {
        return (0);
      }
    }
    tmp___0 = _((char const   *)"%s: index file open failed");
    die_errno((char const   *)tmp___0, path___6);
  }
  tmp___2 = fstat(fd, & st);
  if (tmp___2) {
    tmp___1 = _((char const   *)"%s: cannot stat the open index");
    die_errno((char const   *)tmp___1, path___6);
  }
  mmap_size = xsize_t(st.st_size);
  if (mmap_size < sizeof(struct cache_header ) + (unsigned long )(the_repository->hash_algo)->rawsz) {
    tmp___3 = _((char const   *)"%s: index file smaller than expected");
    die((char const   *)tmp___3, path___6);
  }
  tmp___4 = xmmap_gently((void *)0, mmap_size, 0x1, 0x02, fd, (off_t )0);
  mmap___0 = (char const   *)tmp___4;
  if ((unsigned long )mmap___0 == (unsigned long )((void *)-1)) {
    tmp___5 = mmap_os_err();
    tmp___6 = _((char const   *)"%s: unable to map index file%s");
    die_errno((char const   *)tmp___6, path___6, tmp___5);
  }
  close(fd);
  hdr = (struct cache_header  const  *)mmap___0;
  tmp___7 = verify_hdr(hdr, mmap_size);
  if (tmp___7 < 0) {
    goto unmap;
  }
  oidread(& istate->oid, ((unsigned char const   *)hdr + mmap_size) - (the_repository->hash_algo)->rawsz);
  istate->version = git_bswap32((uint32_t )hdr->hdr_version);
  istate->cache_nr = git_bswap32((uint32_t )hdr->hdr_entries);
  istate->cache_alloc = ((istate->cache_nr + 16U) * 3U) / 2U;
  tmp___8 = xcalloc((size_t )istate->cache_alloc, sizeof(*(istate->cache)));
  istate->cache = (struct cache_entry **)tmp___8;
  istate->initialized = 1U;
  p___0.istate = istate;
  p___0.mmap = mmap___0;
  p___0.mmap_size = mmap_size;
  src_offset = sizeof(*hdr);
  tmp___9 = git_config_get_index_threads(& nr_threads___0);
  if (tmp___9) {
    nr_threads___0 = 1;
  }
  if (! nr_threads___0) {
    nr_threads___0 = (int )(istate->cache_nr / 10000U);
    cpus = online_cpus();
    if (nr_threads___0 > cpus) {
      nr_threads___0 = cpus;
    }
  }
  if (nr_threads___0 > 1) {
    extension_offset = read_eoie_extension(mmap___0, mmap_size);
    if (extension_offset) {
      p___0.src_offset = extension_offset;
      err___4 = pthread_create((pthread_t * __restrict  )(& p___0.pthread), (pthread_attr_t const   * __restrict  )((void *)0),
                               & load_index_extensions, (void * __restrict  )(& p___0));
      if (err___4) {
        tmp___10 = strerror(err___4);
        tmp___11 = _((char const   *)"unable to create load_index_extensions thread: %s");
        die((char const   *)tmp___11, tmp___10);
      }
      nr_threads___0 --;
    }
  }
  if (extension_offset) {
    if (nr_threads___0 > 1) {
      ieot = read_ieot_extension(mmap___0, mmap_size, extension_offset);
    }
  }
  if (ieot) {
    tmp___12 = load_cache_entries_threaded(istate, mmap___0, mmap_size, nr_threads___0,
                                           ieot);
    src_offset += tmp___12;
    free((void *)ieot);
  } else {
    tmp___13 = load_all_cache_entries(istate, mmap___0, mmap_size, src_offset);
    src_offset += tmp___13;
  }
  istate->timestamp.sec = (uint32_t )st.st_mtim.tv_sec;
  istate->timestamp.nsec = (unsigned int )st.st_mtim.tv_nsec;
  if (extension_offset) {
    tmp___14 = pthread_join(p___0.pthread, (void **)((void *)0));
    ret___67 = tmp___14;
    if (ret___67) {
      tmp___15 = strerror(ret___67);
      tmp___16 = _((char const   *)"unable to join load_index_extensions thread: %s");
      die((char const   *)tmp___16, tmp___15);
    }
  } else {
    p___0.src_offset = src_offset;
    load_index_extensions((void *)(& p___0));
  }
  munmap((void *)mmap___0, mmap_size);
  trace2_data_intmax_fl((char const   *)"read-cache.c", 2362, (char const   *)"index",
                        (struct repository  const  *)the_repository, (char const   *)"read/version",
                        (intmax_t )istate->version);
  trace2_data_intmax_fl((char const   *)"read-cache.c", 2364, (char const   *)"index",
                        (struct repository  const  *)the_repository, (char const   *)"read/cache_nr",
                        (intmax_t )istate->cache_nr);
  if (! istate->repo) {
    istate->repo = the_repository;
  }
  prepare_repo_settings(istate->repo);
  if ((istate->repo)->settings.command_requires_full_index) {
    ensure_full_index(istate);
  } else {
    ensure_correct_sparsity(istate);
  }
  return ((int )istate->cache_nr);
  unmap:
  munmap((void *)mmap___0, mmap_size);
  tmp___17 = _((char const   *)"index file corrupt");
  die((char const   *)tmp___17);
}
}
static void freshen_shared_index(char const   *shared_index , int warn )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  tmp___0 = check_and_freshen_file(shared_index, 1);
  if (! tmp___0) {
    if (warn) {
      tmp = _((char const   *)"could not freshen shared index \'%s\'");
      warning((char const   *)tmp, shared_index);
    }
  }
  return;
}
}
int read_index_from(struct index_state *istate , char const   *path___6 , char const   *gitdir___0 )
{
  struct split_index *split_index ;
  int ret___67 ;
  char *base_oid_hex ;
  char *base_path___0 ;
  uint64_t tmp ;
  int tmp___0 ;
  int tmp___1 ;
  void *tmp___2 ;
  char *path_copy ;
  char *tmp___3 ;
  char const   *base_path2 ;
  char *tmp___4 ;
  char *tmp___5 ;
  char *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  uint64_t tmp___9 ;
  int tmp___10 ;

  {
  if (istate->initialized) {
    return ((int )istate->cache_nr);
  }
  trace2_region_enter_printf_fl((char const   *)"read-cache.c", 2416, (char const   *)"index",
                                (char const   *)"do_read_index", (struct repository  const  *)the_repository,
                                (char const   *)"%s", path___6);
  trace_performance_enter();
  ret___67 = do_read_index(istate, path___6, 0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = trace_pass_fl(& trace_perf_key);
    if (tmp___0) {
      tmp = getnanotime();
      trace_performance_leave_fl((char const   *)"read-cache.c", 2419, tmp, (char const   *)"read cache %s",
                                 path___6);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  trace2_region_leave_printf_fl((char const   *)"read-cache.c", 2421, (char const   *)"index",
                                (char const   *)"do_read_index", (struct repository  const  *)the_repository,
                                (char const   *)"%s", path___6);
  split_index = istate->split_index;
  if (! split_index) {
    post_read_index_from(istate);
    return (ret___67);
  } else {
    tmp___1 = is_null_oid((struct object_id  const  *)(& split_index->base_oid));
    if (tmp___1) {
      post_read_index_from(istate);
      return (ret___67);
    }
  }
  trace_performance_enter();
  if (split_index->base) {
    discard_index(split_index->base);
  } else {
    tmp___2 = xcalloc((size_t )1, sizeof(*(split_index->base)));
    split_index->base = (struct index_state *)tmp___2;
  }
  base_oid_hex = oid_to_hex((struct object_id  const  *)(& split_index->base_oid));
  base_path___0 = xstrfmt((char const   *)"%s/sharedindex.%s", gitdir___0, base_oid_hex);
  trace2_region_enter_printf_fl((char const   *)"read-cache.c", 2438, (char const   *)"index",
                                (char const   *)"shared/do_read_index", (struct repository  const  *)the_repository,
                                (char const   *)"%s", base_path___0);
  ret___67 = do_read_index(split_index->base, (char const   *)base_path___0, 0);
  trace2_region_leave_printf_fl((char const   *)"read-cache.c", 2441, (char const   *)"index",
                                (char const   *)"shared/do_read_index", (struct repository  const  *)the_repository,
                                (char const   *)"%s", base_path___0);
  if (! ret___67) {
    tmp___3 = xstrdup(path___6);
    path_copy = tmp___3;
    tmp___4 = dirname(path_copy);
    tmp___5 = xstrfmt((char const   *)"%s/sharedindex.%s", tmp___4, base_oid_hex);
    base_path2 = (char const   *)tmp___5;
    free((void *)path_copy);
    trace2_region_enter_printf_fl((char const   *)"read-cache.c", 2449, (char const   *)"index",
                                  (char const   *)"shared/do_read_index", (struct repository  const  *)the_repository,
                                  (char const   *)"%s", base_path2);
    ret___67 = do_read_index(split_index->base, base_path2, 1);
    trace2_region_leave_printf_fl((char const   *)"read-cache.c", 2452, (char const   *)"index",
                                  (char const   *)"shared/do_read_index", (struct repository  const  *)the_repository,
                                  (char const   *)"%s", base_path2);
  }
  tmp___8 = oideq((struct object_id  const  *)(& split_index->base_oid), (struct object_id  const  *)(& (split_index->base)->oid));
  if (! tmp___8) {
    tmp___6 = oid_to_hex((struct object_id  const  *)(& (split_index->base)->oid));
    tmp___7 = _((char const   *)"broken index, expect %s in %s, got %s");
    die((char const   *)tmp___7, base_oid_hex, base_path___0, tmp___6);
  }
  freshen_shared_index((char const   *)base_path___0, 0);
  merge_base_index(istate);
  post_read_index_from(istate);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___10 = trace_pass_fl(& trace_perf_key);
    if (tmp___10) {
      tmp___9 = getnanotime();
      trace_performance_leave_fl((char const   *)"read-cache.c", 2462, tmp___9, (char const   *)"read cache %s",
                                 base_path___0);
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)base_path___0);
  return (ret___67);
}
}
int is_index_unborn(struct index_state *istate )
{
  int tmp ;

  {
  if (! istate->cache_nr) {
    if (! istate->timestamp.sec) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
int discard_index(struct index_state *istate )
{
  int tmp ;

  {
  validate_cache_entries((struct index_state  const  *)istate);
  resolve_undo_clear_index(istate);
  istate->cache_nr = 0U;
  istate->cache_changed = 0U;
  istate->timestamp.sec = (uint32_t )0;
  istate->timestamp.nsec = (uint32_t )0;
  free_name_hash(istate);
  cache_tree_free(& istate->cache_tree);
  istate->initialized = 0U;
  istate->fsmonitor_has_run_once = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)istate->fsmonitor_last_update);
    istate->fsmonitor_last_update = (char *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)istate->cache);
    istate->cache = (struct cache_entry **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  istate->cache_alloc = 0U;
  discard_split_index(istate);
  free_untracked_cache(istate->untracked);
  istate->untracked = (struct untracked_cache *)((void *)0);
  if (istate->ce_mem_pool) {
    tmp = should_validate_cache_entries();
    mem_pool_discard(istate->ce_mem_pool, tmp);
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      free((void *)istate->ce_mem_pool);
      istate->ce_mem_pool = (struct mem_pool *)((void *)0);
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  return (0);
}
}
void validate_cache_entries(struct index_state  const  *istate )
{
  int i ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = should_validate_cache_entries();
  if (tmp) {
    if (! istate) {
      return;
    } else
    if (! istate->initialized) {
      return;
    }
  } else {
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    if (! istate) {
      BUG_fl((char const   *)"read-cache.c", 2523, (char const   *)"cache entry is not allocated from expected memory pool");
    } else
    if (! istate->ce_mem_pool) {
      goto _L;
    } else {
      tmp___1 = mem_pool_contains((struct mem_pool *)istate->ce_mem_pool, (void *)*(istate->cache + i));
      if (! tmp___1) {
        _L: /* CIL Label */
        if (! istate->split_index) {
          BUG_fl((char const   *)"read-cache.c", 2530, (char const   *)"cache entry is not allocated from expected memory pool");
        } else
        if (! (istate->split_index)->base) {
          BUG_fl((char const   *)"read-cache.c", 2530, (char const   *)"cache entry is not allocated from expected memory pool");
        } else
        if (! ((istate->split_index)->base)->ce_mem_pool) {
          BUG_fl((char const   *)"read-cache.c", 2530, (char const   *)"cache entry is not allocated from expected memory pool");
        } else {
          tmp___0 = mem_pool_contains(((istate->split_index)->base)->ce_mem_pool,
                                      (void *)*(istate->cache + i));
          if (! tmp___0) {
            BUG_fl((char const   *)"read-cache.c", 2530, (char const   *)"cache entry is not allocated from expected memory pool");
          }
        }
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (istate->split_index) {
    validate_cache_entries((struct index_state  const  *)(istate->split_index)->base);
  }
  return;
}
}
int unmerged_index(struct index_state  const  *istate )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    if ((12288U & (*(istate->cache + i))->ce_flags) >> 12) {
      return (1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int repo_index_has_changes(struct repository *repo , struct tree *tree , struct strbuf *sb___6 )
{
  struct index_state *istate ;
  struct object_id cmp___0 ;
  int i ;
  struct diff_options opt___0 ;
  int tmp ;

  {
  istate = repo->index;
  if (tree) {
    cmp___0 = tree->object.oid;
  }
  if (tree) {
    goto _L;
  } else {
    tmp = repo_get_oid_tree(the_repository, (char const   *)"HEAD", & cmp___0);
    if (tmp) {
      ensure_full_index(istate);
      i = 0;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (sb___6) {
          if (! ((unsigned int )i < istate->cache_nr)) {
            goto while_break;
          }
        } else {
          goto while_break;
        }
        if (i) {
          strbuf_addch(sb___6, ' ');
        }
        strbuf_addstr(sb___6, (char const   *)((*(istate->cache + i))->name));
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
      return (! (! istate->cache_nr));
    } else {
      _L: /* CIL Label */
      repo_diff_setup(repo, & opt___0);
      opt___0.flags.exit_with_status = 1U;
      if (! sb___6) {
        opt___0.flags.quick = 1U;
      }
      diff_setup_done(& opt___0);
      do_diff_cache((struct object_id  const  *)(& cmp___0), & opt___0);
      diffcore_std(& opt___0);
      i = 0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (sb___6) {
          if (! (i < diff_queued_diff.nr)) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
        if (i) {
          strbuf_addch(sb___6, ' ');
        }
        strbuf_addstr(sb___6, (char const   *)((*(diff_queued_diff.queue + i))->two)->path);
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      diff_flush(& opt___0);
      return (opt___0.flags.has_changes != 0U);
    }
  }
}
}
static int write_index_ext_header(struct hashfile *f , git_hash_ctx *eoie_f , unsigned int ext ,
                                  unsigned int sz )
{


  {
  hashwrite_be32(f, ext);
  hashwrite_be32(f, sz);
  if (eoie_f) {
    ext = git_bswap32(ext);
    sz = git_bswap32(sz);
    (*((the_repository->hash_algo)->update_fn))(eoie_f, (void const   *)(& ext), sizeof(ext));
    (*((the_repository->hash_algo)->update_fn))(eoie_f, (void const   *)(& sz), sizeof(sz));
  }
  return (0);
}
}
static void ce_smudge_racily_clean_entry(struct index_state *istate , struct cache_entry *ce )
{
  struct stat st ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = lstat((char const   *)(ce->name), & st);
  if (tmp < 0) {
    return;
  }
  tmp___0 = ce_match_stat_basic((struct cache_entry  const  *)ce, & st);
  if (tmp___0) {
    return;
  }
  tmp___1 = ce_modified_check_fs(istate, (struct cache_entry  const  *)ce, & st);
  if (tmp___1) {
    ce->ce_stat_data.sd_size = 0U;
  }
  return;
}
}
static void copy_cache_entry_to_ondisk(struct ondisk_cache_entry *ondisk , struct cache_entry *ce )
{
  short flags___0 ;
  unsigned int hashsz ;
  uint16_t *flagsp ;
  unsigned int tmp ;
  unsigned short __v ;
  unsigned short __x ;
  unsigned short __v___0 ;
  unsigned short __x___0 ;

  {
  hashsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  flagsp = (uint16_t *)(ondisk->data + hashsz);
  ondisk->ctime.sec = git_bswap32(ce->ce_stat_data.sd_ctime.sec);
  ondisk->mtime.sec = git_bswap32(ce->ce_stat_data.sd_mtime.sec);
  ondisk->ctime.nsec = git_bswap32(ce->ce_stat_data.sd_ctime.nsec);
  ondisk->mtime.nsec = git_bswap32(ce->ce_stat_data.sd_mtime.nsec);
  ondisk->dev = git_bswap32(ce->ce_stat_data.sd_dev);
  ondisk->ino = git_bswap32(ce->ce_stat_data.sd_ino);
  ondisk->mode = git_bswap32(ce->ce_mode);
  ondisk->uid = git_bswap32(ce->ce_stat_data.sd_uid);
  ondisk->gid = git_bswap32(ce->ce_stat_data.sd_gid);
  ondisk->size = git_bswap32(ce->ce_stat_data.sd_size);
  hashcpy(ondisk->data, (unsigned char const   *)(ce->oid.hash));
  flags___0 = (short )(ce->ce_flags & 4294963200U);
  if (ce->ce_namelen >= 4095U) {
    tmp = 4095U;
  } else {
    tmp = ce->ce_namelen;
  }
  flags___0 = (short )((unsigned int )flags___0 | tmp);
  __x = (unsigned short )flags___0;
  __asm__  ("rorw $8, %w0": "=r" (__v): "0" (__x): "cc");
  *(flagsp + 0) = __v;
  if (ce->ce_flags & 16384U) {
    __x___0 = (unsigned short )((ce->ce_flags & (unsigned int )((1 << 29) | (1 << 30))) >> 16);
    __asm__  ("rorw $8, %w0": "=r" (__v___0): "0" (__x___0): "cc");
    *(flagsp + 1) = __v___0;
  }
  return;
}
}
static int ce_write_entry(struct hashfile *f , struct cache_entry *ce , struct strbuf *previous_name ,
                          struct ondisk_cache_entry *ondisk ) ;
static unsigned char padding[8]  = {      (unsigned char)0};
static int ce_write_entry(struct hashfile *f , struct cache_entry *ce , struct strbuf *previous_name ,
                          struct ondisk_cache_entry *ondisk )
{
  int size ;
  unsigned int saved_namelen ;
  int stripped_name ;
  int tmp ;
  int len___0 ;
  int common ;
  int to_remove ;
  int prefix_size ;
  unsigned char to_remove_vi[16] ;

  {
  stripped_name = 0;
  if (ce->ce_flags & (unsigned int )(1 << 28)) {
    saved_namelen = ce->ce_namelen;
    ce->ce_namelen = 0U;
    stripped_name = 1;
  }
  if (ce->ce_flags & 16384U) {
    tmp = 2;
  } else {
    tmp = 1;
  }
  size = (int )((unsigned long )(& ((struct ondisk_cache_entry *)0)->data) + (unsigned long )((the_repository->hash_algo)->rawsz + (size_t )((unsigned long )tmp * sizeof(uint16_t ))));
  if (! previous_name) {
    len___0 = (int )ce->ce_namelen;
    copy_cache_entry_to_ondisk(ondisk, ce);
    hashwrite(f, (void const   *)ondisk, (unsigned int )size);
    hashwrite(f, (void const   *)(ce->name), (unsigned int )len___0);
    hashwrite(f, (void const   *)(padding), (unsigned int )((((size + len___0) + 8) & -8) - (size + len___0)));
  } else {
    common = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (ce->name[common]) {
        if ((size_t )common < previous_name->len) {
          if (! ((int )ce->name[common] == (int )*(previous_name->buf + common))) {
            goto while_break;
          }
        } else {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      common ++;
    }
    while_break: /* CIL Label */ ;
    }
    to_remove = (int )(previous_name->len - (size_t )common);
    prefix_size = encode_varint((uintmax_t )to_remove, to_remove_vi);
    copy_cache_entry_to_ondisk(ondisk, ce);
    hashwrite(f, (void const   *)ondisk, (unsigned int )size);
    hashwrite(f, (void const   *)(to_remove_vi), (unsigned int )prefix_size);
    hashwrite(f, (void const   *)(ce->name + common), ce->ce_namelen - (unsigned int )common);
    hashwrite(f, (void const   *)(padding), 1U);
    strbuf_splice(previous_name, (size_t )common, (size_t )to_remove, (void const   *)(ce->name + common),
                  (size_t )(ce->ce_namelen - (unsigned int )common));
  }
  if (stripped_name) {
    ce->ce_namelen = saved_namelen;
    ce->ce_flags &= (unsigned int )(~ (1 << 28));
  }
  return (0);
}
}
static int verify_index_from(struct index_state  const  *istate , char const   *path___6 )
{
  int fd ;
  ssize_t n ;
  struct stat st ;
  unsigned char hash___0[32] ;
  int tmp ;
  int tmp___0 ;

  {
  if (! istate->initialized) {
    return (0);
  }
  fd = open(path___6, 00);
  if (fd < 0) {
    return (0);
  }
  tmp = fstat(fd, & st);
  if (tmp) {
    goto out;
  }
  if ((unsigned long )st.st_size < sizeof(struct cache_header ) + (unsigned long )(the_repository->hash_algo)->rawsz) {
    goto out;
  }
  n = pread_in_full(fd, (void *)(hash___0), (size_t )(the_repository->hash_algo)->rawsz,
                    (off_t )((size_t )st.st_size - (the_repository->hash_algo)->rawsz));
  if ((size_t )n != (the_repository->hash_algo)->rawsz) {
    goto out;
  }
  tmp___0 = hasheq((unsigned char const   *)(istate->oid.hash), (unsigned char const   *)(hash___0));
  if (! tmp___0) {
    goto out;
  }
  close(fd);
  return (1);
  out:
  close(fd);
  return (0);
}
}
static int repo_verify_index(struct repository *repo )
{
  int tmp ;

  {
  tmp = verify_index_from((struct index_state  const  *)repo->index, (char const   *)repo->index_file);
  return (tmp);
}
}
static int has_racy_timestamp(struct index_state *istate )
{
  int entries___1 ;
  int i ;
  struct cache_entry *ce ;
  int tmp ;

  {
  entries___1 = (int )istate->cache_nr;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < entries___1)) {
      goto while_break;
    }
    ce = *(istate->cache + i);
    tmp = is_racy_timestamp((struct index_state  const  *)istate, (struct cache_entry  const  *)ce);
    if (tmp) {
      return (1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
void repo_update_index_if_able(struct repository *repo , struct lock_file *lockfile )
{
  int tmp ;
  int tmp___0 ;

  {
  if ((repo->index)->cache_changed) {
    goto _L;
  } else {
    tmp = has_racy_timestamp(repo->index);
    if (tmp) {
      _L: /* CIL Label */
      tmp___0 = repo_verify_index(repo);
      if (tmp___0) {
        write_locked_index(repo->index, lockfile, 1U);
      } else {
        rollback_lock_file(lockfile);
      }
    } else {
      rollback_lock_file(lockfile);
    }
  }
  return;
}
}
static int record_eoie(void)
{
  int val ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = git_config_get_bool((char const   *)"index.recordendofindexentries", & val);
  if (! tmp) {
    return (val);
  }
  tmp___0 = git_config_get_index_threads(& val);
  if (tmp___0) {
    tmp___1 = 0;
  } else
  if (val != 1) {
    tmp___1 = 1;
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static int record_ieot(void)
{
  int val ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = git_config_get_bool((char const   *)"index.recordoffsettable", & val);
  if (! tmp) {
    return (val);
  }
  tmp___0 = git_config_get_index_threads(& val);
  if (tmp___0) {
    tmp___1 = 0;
  } else
  if (val != 1) {
    tmp___1 = 1;
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static int do_write_index(struct index_state *istate , struct tempfile *tempfile ,
                          int strip_extensions ) ;
static char const   msg[30]  =
  {      (char const   )'c',      (char const   )'a',      (char const   )'c',      (char const   )'h',
        (char const   )'e',      (char const   )' ',      (char const   )'e',      (char const   )'n',
        (char const   )'t',      (char const   )'r',      (char const   )'y',      (char const   )' ',
        (char const   )'h',      (char const   )'a',      (char const   )'s',      (char const   )' ',
        (char const   )'n',      (char const   )'u',      (char const   )'l',      (char const   )'l',
        (char const   )' ',      (char const   )'s',      (char const   )'h',      (char const   )'a',
        (char const   )'1',      (char const   )':',      (char const   )' ',      (char const   )'%',
        (char const   )'s',      (char const   )'\000'};
static int allow  =    -1;
static int do_write_index(struct index_state *istate , struct tempfile *tempfile ,
                          int strip_extensions )
{
  uint64_t start ;
  uint64_t tmp ;
  struct hashfile *f ;
  git_hash_ctx *eoie_c ;
  struct cache_header hdr ;
  int i ;
  int err___4 ;
  int removed ;
  int extended ;
  int hdr_version ;
  struct cache_entry **cache___0 ;
  int entries___1 ;
  struct stat st ;
  struct ondisk_cache_entry ondisk ;
  struct strbuf previous_name_buf ;
  struct strbuf *previous_name ;
  int drop_cache_tree ;
  off_t offset___2 ;
  int ieot_entries ;
  struct index_entry_offset_table *ieot ;
  int nr___0 ;
  int nr_threads___0 ;
  int tmp___0 ;
  int ieot_blocks ;
  int cpus ;
  void *tmp___1 ;
  int tmp___2 ;
  struct cache_entry *ce ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  void *tmp___6 ;
  int tmp___7 ;
  struct strbuf sb___6 ;
  int tmp___8 ;
  struct strbuf sb___7 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  struct strbuf sb___8 ;
  int tmp___13 ;
  struct strbuf sb___9 ;
  int tmp___14 ;
  struct strbuf sb___10 ;
  int tmp___15 ;
  struct strbuf sb___11 ;
  int tmp___16 ;
  int tmp___17 ;
  struct strbuf sb___12 ;
  int tmp___18 ;
  char const   *tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  int tmp___21 ;
  char const   *tmp___22 ;
  int tmp___23 ;
  uint64_t tmp___24 ;
  int tmp___25 ;

  {
  tmp = getnanotime();
  start = tmp;
  eoie_c = (git_hash_ctx *)((void *)0);
  err___4 = 0;
  cache___0 = istate->cache;
  entries___1 = (int )istate->cache_nr;
  previous_name_buf.alloc = 0UL;
  previous_name_buf.len = 0UL;
  previous_name_buf.buf = strbuf_slopbuf;
  drop_cache_tree = (int )istate->drop_cache_tree;
  ieot_entries = 1;
  ieot = (struct index_entry_offset_table *)((void *)0);
  f = hashfd((int )tempfile->fd, (char const   *)tempfile->filename.buf);
  extended = 0;
  removed = extended;
  i = removed;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < entries___1)) {
      goto while_break;
    }
    if ((*(cache___0 + i))->ce_flags & (unsigned int )(1 << 17)) {
      removed ++;
    }
    (*(cache___0 + i))->ce_flags &= 4294950911U;
    if ((*(cache___0 + i))->ce_flags & (unsigned int )((1 << 29) | (1 << 30))) {
      extended ++;
      (*(cache___0 + i))->ce_flags |= 16384U;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! istate->version) {
    istate->version = get_index_format_default(the_repository);
  }
  if (istate->version == 3U) {
    goto _L;
  } else
  if (istate->version == 2U) {
    _L: /* CIL Label */
    if (extended) {
      istate->version = 3U;
    } else {
      istate->version = 2U;
    }
  }
  hdr_version = (int )istate->version;
  hdr.hdr_signature = git_bswap32((uint32_t )0x44495243);
  hdr.hdr_version = git_bswap32((uint32_t )hdr_version);
  hdr.hdr_entries = git_bswap32((uint32_t )(entries___1 - removed));
  hashwrite(f, (void const   *)(& hdr), (unsigned int )sizeof(hdr));
  tmp___0 = git_config_get_index_threads(& nr_threads___0);
  if (tmp___0) {
    nr_threads___0 = 1;
  }
  if (nr_threads___0 != 1) {
    tmp___2 = record_ieot();
    if (tmp___2) {
      if (! nr_threads___0) {
        ieot_blocks = (int )(istate->cache_nr / 10000U);
        cpus = online_cpus();
        if (ieot_blocks > cpus - 1) {
          ieot_blocks = cpus - 1;
        }
      } else {
        ieot_blocks = nr_threads___0;
        if ((unsigned int )ieot_blocks > istate->cache_nr) {
          ieot_blocks = (int )istate->cache_nr;
        }
      }
      if (ieot_blocks > 1) {
        tmp___1 = xcalloc((size_t )1, sizeof(struct index_entry_offset_table ) + (unsigned long )ieot_blocks * sizeof(struct index_entry_offset ));
        ieot = (struct index_entry_offset_table *)tmp___1;
        ieot_entries = ((entries___1 + ieot_blocks) - 1) / ieot_blocks;
      }
    }
  }
  offset___2 = hashfile_total(f);
  nr___0 = 0;
  if (hdr_version == 4) {
    previous_name = & previous_name_buf;
  } else {
    previous_name = (struct strbuf *)((void *)0);
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < entries___1)) {
      goto while_break___0;
    }
    ce = *(cache___0 + i);
    if (ce->ce_flags & (unsigned int )(1 << 17)) {
      goto __Cont;
    }
    if (! (ce->ce_flags & (unsigned int )(1 << 18))) {
      tmp___3 = is_racy_timestamp((struct index_state  const  *)istate, (struct cache_entry  const  *)ce);
      if (tmp___3) {
        ce_smudge_racily_clean_entry(istate, ce);
      }
    }
    tmp___4 = is_null_oid((struct object_id  const  *)(& ce->oid));
    if (tmp___4) {
      if (allow < 0) {
        allow = git_env_bool((char const   *)"GIT_ALLOW_NULL_SHA1", 0);
      }
      if (allow) {
        warning(msg, ce->name);
      } else {
        error(msg, ce->name);
        err___4 = const_error();
      }
      drop_cache_tree = 1;
    }
    if (ieot) {
      if (i) {
        if (i % ieot_entries == 0) {
          ieot->entries[ieot->nr].nr = nr___0;
          ieot->entries[ieot->nr].offset = (int )offset___2;
          (ieot->nr) ++;
          if (previous_name) {
            *(previous_name->buf + 0) = (char)0;
          }
          nr___0 = 0;
          offset___2 = hashfile_total(f);
        }
      }
    }
    tmp___5 = ce_write_entry(f, ce, previous_name, & ondisk);
    if (tmp___5 < 0) {
      err___4 = -1;
    }
    if (err___4) {
      goto while_break___0;
    }
    nr___0 ++;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (ieot) {
    if (nr___0) {
      ieot->entries[ieot->nr].nr = nr___0;
      ieot->entries[ieot->nr].offset = (int )offset___2;
      (ieot->nr) ++;
    }
  }
  strbuf_release(& previous_name_buf);
  if (err___4) {
    free((void *)ieot);
    return (err___4);
  }
  offset___2 = hashfile_total(f);
  if (offset___2) {
    tmp___7 = record_eoie();
    if (tmp___7) {
      tmp___6 = xcalloc((size_t )1, sizeof(*eoie_c));
      eoie_c = (git_hash_ctx *)tmp___6;
      (*((the_repository->hash_algo)->init_fn))(eoie_c);
    }
  }
  if (ieot) {
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    write_ieot_extension(& sb___6, ieot);
    tmp___8 = write_index_ext_header(f, eoie_c, 1229279060U, (unsigned int )sb___6.len);
    err___4 = tmp___8 < 0;
    hashwrite(f, (void const   *)sb___6.buf, (unsigned int )sb___6.len);
    strbuf_release(& sb___6);
    free((void *)ieot);
    if (err___4) {
      return (-1);
    }
  }
  if (! strip_extensions) {
    if (istate->split_index) {
      tmp___12 = is_null_oid((struct object_id  const  *)(& (istate->split_index)->base_oid));
      if (! tmp___12) {
        sb___7.alloc = 0UL;
        sb___7.len = 0UL;
        sb___7.buf = strbuf_slopbuf;
        tmp___9 = write_link_extension(& sb___7, istate);
        if (tmp___9 < 0) {
          tmp___11 = 1;
        } else {
          tmp___10 = write_index_ext_header(f, eoie_c, 1818848875U, (unsigned int )sb___7.len);
          if (tmp___10 < 0) {
            tmp___11 = 1;
          } else {
            tmp___11 = 0;
          }
        }
        err___4 = tmp___11;
        hashwrite(f, (void const   *)sb___7.buf, (unsigned int )sb___7.len);
        strbuf_release(& sb___7);
        if (err___4) {
          return (-1);
        }
      }
    }
  }
  if (! strip_extensions) {
    if (! drop_cache_tree) {
      if (istate->cache_tree) {
        sb___8.alloc = 0UL;
        sb___8.len = 0UL;
        sb___8.buf = strbuf_slopbuf;
        cache_tree_write(& sb___8, istate->cache_tree);
        tmp___13 = write_index_ext_header(f, eoie_c, 1414677829U, (unsigned int )sb___8.len);
        err___4 = tmp___13 < 0;
        hashwrite(f, (void const   *)sb___8.buf, (unsigned int )sb___8.len);
        strbuf_release(& sb___8);
        if (err___4) {
          return (-1);
        }
      }
    }
  }
  if (! strip_extensions) {
    if (istate->resolve_undo) {
      sb___9.alloc = 0UL;
      sb___9.len = 0UL;
      sb___9.buf = strbuf_slopbuf;
      resolve_undo_write(& sb___9, istate->resolve_undo);
      tmp___14 = write_index_ext_header(f, eoie_c, 1380275523U, (unsigned int )sb___9.len);
      err___4 = tmp___14 < 0;
      hashwrite(f, (void const   *)sb___9.buf, (unsigned int )sb___9.len);
      strbuf_release(& sb___9);
      if (err___4) {
        return (-1);
      }
    }
  }
  if (! strip_extensions) {
    if (istate->untracked) {
      sb___10.alloc = 0UL;
      sb___10.len = 0UL;
      sb___10.buf = strbuf_slopbuf;
      write_untracked_extension(& sb___10, istate->untracked);
      tmp___15 = write_index_ext_header(f, eoie_c, 1431196754U, (unsigned int )sb___10.len);
      err___4 = tmp___15 < 0;
      hashwrite(f, (void const   *)sb___10.buf, (unsigned int )sb___10.len);
      strbuf_release(& sb___10);
      if (err___4) {
        return (-1);
      }
    }
  }
  if (! strip_extensions) {
    if (istate->fsmonitor_last_update) {
      sb___11.alloc = 0UL;
      sb___11.len = 0UL;
      sb___11.buf = strbuf_slopbuf;
      write_fsmonitor_extension(& sb___11, istate);
      tmp___16 = write_index_ext_header(f, eoie_c, 1179864398U, (unsigned int )sb___11.len);
      err___4 = tmp___16 < 0;
      hashwrite(f, (void const   *)sb___11.buf, (unsigned int )sb___11.len);
      strbuf_release(& sb___11);
      if (err___4) {
        return (-1);
      }
    }
  }
  if (istate->sparse_index) {
    tmp___17 = write_index_ext_header(f, eoie_c, 1935960434U, 0U);
    if (tmp___17 < 0) {
      return (-1);
    }
  }
  if (eoie_c) {
    sb___12.alloc = 0UL;
    sb___12.len = 0UL;
    sb___12.buf = strbuf_slopbuf;
    write_eoie_extension(& sb___12, eoie_c, (size_t )offset___2);
    tmp___18 = write_index_ext_header(f, (git_hash_ctx *)((void *)0), 1162824005U,
                                      (unsigned int )sb___12.len);
    err___4 = tmp___18 < 0;
    hashwrite(f, (void const   *)sb___12.buf, (unsigned int )sb___12.len);
    strbuf_release(& sb___12);
    if (err___4) {
      return (-1);
    }
  }
  finalize_hashfile(f, istate->oid.hash, 4U);
  tmp___21 = close_tempfile_gently(tempfile);
  if (tmp___21) {
    tmp___19 = get_tempfile_path(tempfile);
    tmp___20 = _((char const   *)"could not close \'%s\'");
    error((char const   *)tmp___20, tmp___19);
    const_error();
    return (-1);
  }
  tmp___22 = get_tempfile_path(tempfile);
  tmp___23 = stat(tmp___22, & st);
  if (tmp___23) {
    return (-1);
  }
  istate->timestamp.sec = (unsigned int )st.st_mtim.tv_sec;
  istate->timestamp.nsec = (unsigned int )st.st_mtim.tv_nsec;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    tmp___25 = trace_pass_fl(& trace_perf_key);
    if (tmp___25) {
      tmp___24 = getnanotime();
      trace_performance_fl((char const   *)"read-cache.c", 3093, tmp___24 - start,
                           (char const   *)"write index, changed mask = %x", istate->cache_changed);
    }
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  trace2_data_intmax_fl((char const   *)"read-cache.c", 3100, (char const   *)"index",
                        (struct repository  const  *)the_repository, (char const   *)"write/version",
                        (intmax_t )istate->version);
  trace2_data_intmax_fl((char const   *)"read-cache.c", 3102, (char const   *)"index",
                        (struct repository  const  *)the_repository, (char const   *)"write/cache_nr",
                        (intmax_t )istate->cache_nr);
  return (0);
}
}
void set_alternate_index_output(char const   *name___0 )
{


  {
  alternate_index_output = name___0;
  return;
}
}
static int commit_locked_index(struct lock_file *lk )
{
  int tmp ;
  int tmp___0 ;

  {
  if (alternate_index_output) {
    tmp = commit_lock_file_to(lk, alternate_index_output);
    return (tmp);
  } else {
    tmp___0 = commit_lock_file(lk);
    return (tmp___0);
  }
}
}
static int do_write_locked_index(struct index_state *istate , struct lock_file *lock___0 ,
                                 unsigned int flags___0 )
{
  int ret___67 ;
  int was_full ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;

  {
  was_full = ! istate->sparse_index;
  ret___67 = convert_to_sparse(istate, 0);
  if (ret___67) {
    tmp = _((char const   *)"failed to convert to a sparse-index");
    warning((char const   *)tmp);
    return (ret___67);
  }
  tmp___0 = get_lock_file_path(lock___0);
  trace2_region_enter_printf_fl((char const   *)"read-cache.c", 3138, (char const   *)"index",
                                (char const   *)"do_write_index", (struct repository  const  *)the_repository,
                                (char const   *)"%s", tmp___0);
  ret___67 = do_write_index(istate, lock___0->tempfile, 0);
  tmp___1 = get_lock_file_path(lock___0);
  trace2_region_leave_printf_fl((char const   *)"read-cache.c", 3141, (char const   *)"index",
                                (char const   *)"do_write_index", (struct repository  const  *)the_repository,
                                (char const   *)"%s", tmp___1);
  if (was_full) {
    ensure_full_index(istate);
  }
  if (ret___67) {
    return (ret___67);
  }
  if (flags___0 & 1U) {
    ret___67 = commit_locked_index(lock___0);
  } else {
    ret___67 = close_lock_file_gently(lock___0);
  }
  if (istate->updated_skipworktree) {
    tmp___2 = "1";
  } else {
    tmp___2 = "0";
  }
  if (istate->updated_workdir) {
    tmp___3 = "1";
  } else {
    tmp___3 = "0";
  }
  run_hook_le((char const   **)((void *)0), (char const   *)"post-index-change", tmp___3,
              tmp___2, (void *)0);
  istate->updated_workdir = 0U;
  istate->updated_skipworktree = 0U;
  return (ret___67);
}
}
static int write_split_index(struct index_state *istate , struct lock_file *lock___0 ,
                             unsigned int flags___0 )
{
  int ret___67 ;

  {
  prepare_to_write_split_index(istate);
  ret___67 = do_write_locked_index(istate, lock___0, flags___0);
  finish_writing_split_index(istate);
  return (ret___67);
}
}
static char const   *shared_index_expire  =    (char const   *)"2.weeks.ago";
static unsigned long shared_index_expire_date  ;
static int shared_index_expire_date_prepared  ;
static unsigned long get_shared_index_expire_date(void)
{


  {
  if (! shared_index_expire_date_prepared) {
    git_config_get_expiry((char const   *)"splitindex.sharedindexexpire", & shared_index_expire);
    shared_index_expire_date = approxidate_careful(shared_index_expire, (int *)((void *)0));
    shared_index_expire_date_prepared = 1;
  }
  return (shared_index_expire_date);
}
}
static int should_delete_shared_index(char const   *shared_index_path )
{
  struct stat st ;
  unsigned long expiration ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  expiration = get_shared_index_expire_date();
  if (! expiration) {
    return (0);
  }
  tmp___1 = stat(shared_index_path, & st);
  if (tmp___1) {
    tmp = _((char const   *)"could not stat \'%s\'");
    error_errno((char const   *)tmp, shared_index_path);
    tmp___0 = const_error();
    return (tmp___0);
  }
  if ((unsigned long )st.st_mtim.tv_sec > expiration) {
    return (0);
  }
  return (1);
}
}
static int clean_shared_index_files(char const   *current_hex )
{
  struct dirent *de ;
  DIR *dir ;
  char const   *tmp ;
  DIR *tmp___0 ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const   *sha1_hex ;
  char const   *shared_index_path ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  tmp = get_git_dir();
  tmp___0 = opendir(tmp);
  dir = tmp___0;
  if (! dir) {
    tmp___1 = get_git_dir();
    tmp___2 = _((char const   *)"unable to open git dir: %s");
    error_errno((char const   *)tmp___2, tmp___1);
    tmp___3 = const_error();
    return (tmp___3);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    de = readdir(dir);
    if (! ((unsigned long )de != (unsigned long )((void *)0))) {
      goto while_break;
    }
    tmp___4 = skip_prefix((char const   *)(de->d_name), (char const   *)"sharedindex.",
                          & sha1_hex);
    if (! tmp___4) {
      goto while_continue;
    }
    tmp___5 = strcmp(sha1_hex, current_hex);
    if (! tmp___5) {
      goto while_continue;
    }
    shared_index_path = git_path((char const   *)"%s", de->d_name);
    tmp___7 = should_delete_shared_index(shared_index_path);
    if (tmp___7 > 0) {
      tmp___8 = unlink(shared_index_path);
      if (tmp___8) {
        tmp___6 = _((char const   *)"unable to unlink: %s");
        warning_errno((char const   *)tmp___6, shared_index_path);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  closedir(dir);
  return (0);
}
}
static int write_shared_index(struct index_state *istate , struct tempfile **temp )
{
  struct split_index *si ;
  int ret___67 ;
  int was_full ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char *tmp___4 ;
  char const   *tmp___5 ;
  char *tmp___6 ;

  {
  si = istate->split_index;
  was_full = ! istate->sparse_index;
  move_cache_to_base_index(istate);
  convert_to_sparse(istate, 0);
  tmp = get_tempfile_path(*temp);
  trace2_region_enter_printf_fl((char const   *)"read-cache.c", 3242, (char const   *)"index",
                                (char const   *)"shared/do_write_index", (struct repository  const  *)the_repository,
                                (char const   *)"%s", tmp);
  ret___67 = do_write_index(si->base, *temp, 1);
  tmp___0 = get_tempfile_path(*temp);
  trace2_region_leave_printf_fl((char const   *)"read-cache.c", 3245, (char const   *)"index",
                                (char const   *)"shared/do_write_index", (struct repository  const  *)the_repository,
                                (char const   *)"%s", tmp___0);
  if (was_full) {
    ensure_full_index(istate);
  }
  if (ret___67) {
    return (ret___67);
  }
  tmp___1 = get_tempfile_path(*temp);
  ret___67 = adjust_shared_perm(tmp___1);
  if (ret___67) {
    tmp___2 = get_tempfile_path(*temp);
    tmp___3 = _((char const   *)"cannot fix permission bits on \'%s\'");
    error((char const   *)tmp___3, tmp___2);
    const_error();
    return (ret___67);
  }
  tmp___4 = oid_to_hex((struct object_id  const  *)(& (si->base)->oid));
  tmp___5 = git_path((char const   *)"sharedindex.%s", tmp___4);
  ret___67 = rename_tempfile(temp, tmp___5);
  if (! ret___67) {
    oidcpy(& si->base_oid, (struct object_id  const  *)(& (si->base)->oid));
    tmp___6 = oid_to_hex((struct object_id  const  *)(& (si->base)->oid));
    clean_shared_index_files((char const   *)tmp___6);
  }
  return (ret___67);
}
}
static int const   default_max_percent_split_change  =    (int const   )20;
static int too_many_not_shared_entries(struct index_state *istate )
{
  int i ;
  int not_shared ;
  int max_split ;
  int tmp ;
  struct cache_entry *ce ;

  {
  not_shared = 0;
  tmp = git_config_get_max_percent_split_change();
  max_split = tmp;
  {
  if (max_split == -1) {
    goto case_neg_1;
  }
  if (max_split == 0) {
    goto case_0;
  }
  if (max_split == 100) {
    goto case_100;
  }
  goto switch_default;
  case_neg_1: /* CIL Label */
  max_split = (int )default_max_percent_split_change;
  goto switch_break;
  case_0: /* CIL Label */
  return (1);
  case_100: /* CIL Label */
  return (0);
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    ce = *(istate->cache + i);
    if (! ce->index) {
      not_shared ++;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((int64_t )istate->cache_nr * (int64_t )max_split < (int64_t )not_shared * 100L);
}
}
int write_locked_index(struct index_state *istate , struct lock_file *lock___0 , unsigned int flags___0 )
{
  int new_shared_index ;
  int ret___67 ;
  int test_split_index_env ;
  struct split_index *si ;
  int tmp ;
  int v ;
  int tmp___0 ;
  struct tempfile *temp ;
  int saved_errno ;
  char const   *tmp___1 ;
  int *tmp___2 ;
  int tmp___3 ;
  int *tmp___4 ;
  char const   *shared_index ;
  char *tmp___5 ;
  char const   *tmp___6 ;
  int tmp___7 ;

  {
  si = istate->split_index;
  tmp = git_env_bool((char const   *)"GIT_TEST_CHECK_CACHE_TREE", 0);
  if (tmp) {
    cache_tree_verify(the_repository, istate);
  }
  if (flags___0 & (unsigned int )(1 << 1)) {
    if (! istate->cache_changed) {
      if (flags___0 & 1U) {
        rollback_lock_file(lock___0);
      }
      return (0);
    }
  }
  if (istate->fsmonitor_last_update) {
    fill_fsmonitor_bitmap(istate);
  }
  test_split_index_env = git_env_bool((char const   *)"GIT_TEST_SPLIT_INDEX", 0);
  if (! si) {
    if (! test_split_index_env) {
      goto _L;
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  if (alternate_index_output) {
    goto _L;
  } else
  if (istate->cache_changed & (unsigned int )(~ ((((((((1 << 4) | (1 << 5)) | (1 << 3)) | (1 << 2)) | (1 << 1)) | (1 << 6)) | (1 << 7)) | (1 << 8)))) {
    _L: /* CIL Label */
    if (si) {
      oidclr(& si->base_oid);
    }
    ret___67 = do_write_locked_index(istate, lock___0, flags___0);
    goto out;
  }
  if (test_split_index_env) {
    if (! si) {
      si = init_split_index(istate);
      istate->cache_changed |= (unsigned int )(1 << 6);
    } else {
      v = (int )si->base_oid.hash[0];
      if ((v & 15) < 6) {
        istate->cache_changed |= (unsigned int )(1 << 6);
      }
    }
  }
  tmp___0 = too_many_not_shared_entries(istate);
  if (tmp___0) {
    istate->cache_changed |= (unsigned int )(1 << 6);
  }
  new_shared_index = (int )(istate->cache_changed & (unsigned int )(1 << 6));
  if (new_shared_index) {
    tmp___1 = git_path((char const   *)"sharedindex_XXXXXX");
    temp = mks_tempfile_sm(tmp___1, 0, 0666);
    if (! temp) {
      oidclr(& si->base_oid);
      ret___67 = do_write_locked_index(istate, lock___0, flags___0);
      goto out;
    }
    ret___67 = write_shared_index(istate, & temp);
    tmp___2 = __errno_location();
    saved_errno = *tmp___2;
    tmp___3 = is_tempfile_active(temp);
    if (tmp___3) {
      delete_tempfile(& temp);
    }
    tmp___4 = __errno_location();
    *tmp___4 = saved_errno;
    if (ret___67) {
      goto out;
    }
  }
  ret___67 = write_split_index(istate, lock___0, flags___0);
  if (! ret___67) {
    if (! new_shared_index) {
      tmp___7 = is_null_oid((struct object_id  const  *)(& si->base_oid));
      if (! tmp___7) {
        tmp___5 = oid_to_hex((struct object_id  const  *)(& si->base_oid));
        tmp___6 = git_path((char const   *)"sharedindex.%s", tmp___5);
        shared_index = tmp___6;
        freshen_shared_index(shared_index, 1);
      }
    }
  }
  out:
  if (flags___0 & 1U) {
    rollback_lock_file(lock___0);
  }
  return (ret___67);
}
}
int repo_read_index_unmerged(struct repository *repo )
{
  struct index_state *istate ;
  int i ;
  int unmerged ;
  struct cache_entry *ce ;
  struct cache_entry *new_ce ;
  int len___0 ;
  unsigned int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  unmerged = 0;
  repo_read_index(repo);
  istate = repo->index;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    ce = *(istate->cache + i);
    if (! ((12288U & ce->ce_flags) >> 12)) {
      goto __Cont;
    }
    unmerged = 1;
    len___0 = (int )ce->ce_namelen;
    new_ce = make_empty_cache_entry(istate, (size_t )len___0);
    memcpy((void *)(new_ce->name), (void const   *)(ce->name), (size_t )len___0);
    tmp = create_ce_flags(0U);
    new_ce->ce_flags = tmp | (unsigned int )(1 << 23);
    new_ce->ce_namelen = (unsigned int )len___0;
    new_ce->ce_mode = ce->ce_mode;
    tmp___2 = add_index_entry(istate, new_ce, 4);
    if (tmp___2) {
      tmp___0 = _((char const   *)"%s: cannot drop to stage #0");
      error((char const   *)tmp___0, new_ce->name);
      tmp___1 = const_error();
      return (tmp___1);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (unmerged);
}
}
int index_name_is_other(struct index_state *istate , char const   *name___0 , int namelen )
{
  int pos ;
  struct cache_entry *ce ;
  int tmp ;

  {
  if (namelen) {
    if ((int const   )*(name___0 + (namelen - 1)) == 47) {
      namelen --;
    }
  }
  pos = index_name_pos(istate, name___0, namelen);
  if (0 <= pos) {
    return (0);
  }
  pos = - pos - 1;
  if ((unsigned int )pos < istate->cache_nr) {
    ce = *(istate->cache + pos);
    if (ce->ce_namelen == (unsigned int )namelen) {
      tmp = memcmp((void const   *)(ce->name), (void const   *)name___0, (size_t )namelen);
      if (! tmp) {
        return (0);
      }
    }
  }
  return (1);
}
}
void *read_blob_data_from_index(struct index_state *istate , char const   *path___6 ,
                                unsigned long *size )
{
  int pos ;
  int len___0 ;
  unsigned long sz ;
  enum object_type type___0 ;
  void *data ;
  size_t tmp ;
  int i ;
  int tmp___0 ;

  {
  tmp = strlen(path___6);
  len___0 = (int )tmp;
  pos = index_name_pos(istate, path___6, len___0);
  if (pos < 0) {
    i = - pos - 1;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (pos < 0) {
        if ((unsigned int )i < istate->cache_nr) {
          tmp___0 = strcmp((char const   *)((*(istate->cache + i))->name), path___6);
          if (tmp___0) {
            goto while_break;
          }
        } else {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      if ((12288U & (*(istate->cache + i))->ce_flags) >> 12 == 2U) {
        pos = i;
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (pos < 0) {
    return ((void *)0);
  }
  data = repo_read_object_file(the_repository, (struct object_id  const  *)(& (*(istate->cache + pos))->oid),
                               & type___0, & sz);
  if (! data) {
    free(data);
    return ((void *)0);
  } else
  if ((int )type___0 != 3) {
    free(data);
    return ((void *)0);
  }
  if (size) {
    *size = sz;
  }
  return (data);
}
}
void stat_validity_clear(struct stat_validity *sv )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)sv->sd);
    sv->sd = (struct stat_data *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int stat_validity_check(struct stat_validity *sv , char const   *path___6 )
{
  struct stat st ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = stat(path___6, & st);
  if (tmp < 0) {
    return ((unsigned long )sv->sd == (unsigned long )((void *)0));
  }
  if (! sv->sd) {
    return (0);
  }
  if ((st.st_mode & 61440U) == 32768U) {
    tmp___0 = match_stat_data((struct stat_data  const  *)sv->sd, & st);
    if (tmp___0) {
      tmp___1 = 0;
    } else {
      tmp___1 = 1;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
void stat_validity_update(struct stat_validity *sv , int fd )
{
  struct stat st ;
  void *tmp ;
  int tmp___0 ;

  {
  tmp___0 = fstat(fd, & st);
  if (tmp___0 < 0) {
    stat_validity_clear(sv);
  } else
  if (! ((st.st_mode & 61440U) == 32768U)) {
    stat_validity_clear(sv);
  } else {
    if (! sv->sd) {
      tmp = xcalloc((size_t )1, sizeof(*(sv->sd)));
      sv->sd = (struct stat_data *)tmp;
    }
    fill_stat_data(sv->sd, & st);
  }
  return;
}
}
void move_index_extensions(struct index_state *dst , struct index_state *src )
{


  {
  dst->untracked = src->untracked;
  src->untracked = (struct untracked_cache *)((void *)0);
  dst->cache_tree = src->cache_tree;
  src->cache_tree = (struct cache_tree *)((void *)0);
  return;
}
}
struct cache_entry *dup_cache_entry(struct cache_entry  const  *ce , struct index_state *istate )
{
  unsigned int size ;
  int mem_pool_allocated ;
  struct cache_entry *new_entry ;
  struct cache_entry *tmp ;

  {
  size = (unsigned int )(((unsigned long )(& ((struct cache_entry *)0)->name) + (unsigned long )ce->ce_namelen) + 1UL);
  tmp = make_empty_cache_entry(istate, (size_t )ce->ce_namelen);
  new_entry = tmp;
  mem_pool_allocated = (int )new_entry->mem_pool_allocated;
  memcpy((void *)new_entry, (void const   *)ce, (size_t )size);
  new_entry->mem_pool_allocated = (unsigned int )mem_pool_allocated;
  return (new_entry);
}
}
void discard_cache_entry(struct cache_entry *ce )
{
  int tmp ;

  {
  if (ce) {
    tmp = should_validate_cache_entries();
    if (tmp) {
      memset((void *)ce, 0xCD, ((unsigned long )(& ((struct cache_entry *)0)->name) + (unsigned long )ce->ce_namelen) + 1UL);
    }
  }
  if (ce) {
    if (ce->mem_pool_allocated) {
      return;
    }
  }
  free((void *)ce);
  return;
}
}
static int validate_index_cache_entries  =    -1;
int should_validate_cache_entries(void)
{
  char *tmp ;

  {
  if (validate_index_cache_entries < 0) {
    tmp = getenv((char const   *)"GIT_TEST_VALIDATE_INDEX_CACHE_ENTRIES");
    if (tmp) {
      validate_index_cache_entries = 1;
    } else {
      validate_index_cache_entries = 0;
    }
  }
  return (validate_index_cache_entries);
}
}
static size_t read_eoie_extension(char const   *mmap___0 , size_t mmap_size )
{
  char const   *index___2 ;
  char const   *eoie ;
  uint32_t extsize ;
  size_t offset___2 ;
  size_t src_offset ;
  unsigned char hash___0[32] ;
  git_hash_ctx c___0 ;
  uint32_t tmp ;
  uint32_t extsize___0 ;
  int tmp___0 ;

  {
  if (mmap_size < (sizeof(struct cache_header ) + 32UL) + (unsigned long )(the_repository->hash_algo)->rawsz) {
    return ((size_t )0);
  }
  eoie = ((mmap___0 + mmap_size) - 32) - (the_repository->hash_algo)->rawsz;
  index___2 = eoie;
  if ((((((int const   )*(index___2 + 0) << 24) | ((int const   )*(index___2 + 1) << 16)) | ((int const   )*(index___2 + 2) << 8)) | (int const   )*(index___2 + 3)) != 1162824005) {
    return ((size_t )0);
  }
  index___2 += sizeof(uint32_t );
  extsize = get_be32((void const   *)index___2);
  if (extsize != 24U) {
    return ((size_t )0);
  }
  index___2 += sizeof(uint32_t );
  tmp = get_be32((void const   *)index___2);
  offset___2 = (size_t )tmp;
  if ((unsigned long )(mmap___0 + offset___2) < (unsigned long )(mmap___0 + sizeof(struct cache_header ))) {
    return ((size_t )0);
  }
  if ((unsigned long )(mmap___0 + offset___2) >= (unsigned long )eoie) {
    return ((size_t )0);
  }
  index___2 += sizeof(uint32_t );
  src_offset = offset___2;
  (*((the_repository->hash_algo)->init_fn))(& c___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (src_offset < (mmap_size - (size_t )(the_repository->hash_algo)->rawsz) - 32UL)) {
      goto while_break;
    }
    memcpy((void *)(& extsize___0), (void const   *)((mmap___0 + src_offset) + 4),
           (size_t )4);
    extsize___0 = git_bswap32(extsize___0);
    if ((src_offset + 8UL) + (size_t )extsize___0 < src_offset) {
      return ((size_t )0);
    }
    (*((the_repository->hash_algo)->update_fn))(& c___0, (void const   *)(mmap___0 + src_offset),
                                                (size_t )8);
    src_offset += 8UL;
    src_offset += (size_t )extsize___0;
  }
  while_break: /* CIL Label */ ;
  }
  (*((the_repository->hash_algo)->final_fn))(hash___0, & c___0);
  tmp___0 = hasheq((unsigned char const   *)(hash___0), (unsigned char const   *)index___2);
  if (! tmp___0) {
    return ((size_t )0);
  }
  if (src_offset != (mmap_size - (size_t )(the_repository->hash_algo)->rawsz) - 32UL) {
    return ((size_t )0);
  }
  return (offset___2);
}
}
static void write_eoie_extension(struct strbuf *sb___6 , git_hash_ctx *eoie_context ,
                                 size_t offset___2 )
{
  uint32_t buffer___5 ;
  unsigned char hash___0[32] ;

  {
  put_be32((void *)(& buffer___5), (uint32_t )offset___2);
  strbuf_add(sb___6, (void const   *)(& buffer___5), sizeof(uint32_t ));
  (*((the_repository->hash_algo)->final_fn))(hash___0, eoie_context);
  strbuf_add(sb___6, (void const   *)(hash___0), (size_t )(the_repository->hash_algo)->rawsz);
  return;
}
}
static struct index_entry_offset_table *read_ieot_extension(char const   *mmap___0 ,
                                                            size_t mmap_size , size_t offset___2 )
{
  char const   *index___2 ;
  uint32_t extsize ;
  uint32_t ext_version ;
  struct index_entry_offset_table *ieot ;
  int i ;
  int nr___0 ;
  void *tmp ;
  uint32_t tmp___0 ;
  uint32_t tmp___1 ;

  {
  index___2 = (char const   *)((void *)0);
  if (! offset___2) {
    return ((struct index_entry_offset_table *)((void *)0));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (offset___2 <= (mmap_size - (size_t )(the_repository->hash_algo)->rawsz) - 8UL)) {
      goto while_break;
    }
    extsize = get_be32((void const   *)((mmap___0 + offset___2) + 4));
    if ((((((int const   )*((mmap___0 + offset___2) + 0) << 24) | ((int const   )*((mmap___0 + offset___2) + 1) << 16)) | ((int const   )*((mmap___0 + offset___2) + 2) << 8)) | (int const   )*((mmap___0 + offset___2) + 3)) == 1229279060) {
      index___2 = ((mmap___0 + offset___2) + 4) + 4;
      goto while_break;
    }
    offset___2 += 8UL;
    offset___2 += (size_t )extsize;
  }
  while_break: /* CIL Label */ ;
  }
  if (! index___2) {
    return ((struct index_entry_offset_table *)((void *)0));
  }
  ext_version = get_be32((void const   *)index___2);
  if (ext_version != 1U) {
    error((char const   *)"invalid IEOT version %d", ext_version);
    const_error();
    return ((struct index_entry_offset_table *)((void *)0));
  }
  index___2 += sizeof(uint32_t );
  nr___0 = (int )(((unsigned long )extsize - sizeof(uint32_t )) / (sizeof(uint32_t ) + sizeof(uint32_t )));
  if (! nr___0) {
    error((char const   *)"invalid number of IEOT entries %d", nr___0);
    const_error();
    return ((struct index_entry_offset_table *)((void *)0));
  }
  tmp = xmalloc(sizeof(struct index_entry_offset_table ) + (unsigned long )nr___0 * sizeof(struct index_entry_offset ));
  ieot = (struct index_entry_offset_table *)tmp;
  ieot->nr = nr___0;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break___0;
    }
    tmp___0 = get_be32((void const   *)index___2);
    ieot->entries[i].offset = (int )tmp___0;
    index___2 += sizeof(uint32_t );
    tmp___1 = get_be32((void const   *)index___2);
    ieot->entries[i].nr = (int )tmp___1;
    index___2 += sizeof(uint32_t );
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (ieot);
}
}
static void write_ieot_extension(struct strbuf *sb___6 , struct index_entry_offset_table *ieot )
{
  uint32_t buffer___5 ;
  int i ;

  {
  put_be32((void *)(& buffer___5), (uint32_t )1);
  strbuf_add(sb___6, (void const   *)(& buffer___5), sizeof(uint32_t ));
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < ieot->nr)) {
      goto while_break;
    }
    put_be32((void *)(& buffer___5), (uint32_t )ieot->entries[i].offset);
    strbuf_add(sb___6, (void const   *)(& buffer___5), sizeof(uint32_t ));
    put_be32((void *)(& buffer___5), (uint32_t )ieot->entries[i].nr);
    strbuf_add(sb___6, (void const   *)(& buffer___5), sizeof(uint32_t ));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void prefetch_cache_entries(struct index_state  const  *istate , int (*must_prefetch)(struct cache_entry  const  * ) )
{
  int i ;
  struct oid_array to_fetch ;
  struct cache_entry *ce ;
  int tmp ;
  int tmp___0 ;

  {
  to_fetch.oid = (struct object_id *)0;
  to_fetch.nr = 0UL;
  to_fetch.alloc = 0UL;
  to_fetch.sorted = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    ce = *(istate->cache + i);
    if ((ce->ce_mode & 61440U) == 57344U) {
      goto __Cont;
    } else {
      tmp = (*must_prefetch)((struct cache_entry  const  *)ce);
      if (! tmp) {
        goto __Cont;
      }
    }
    tmp___0 = oid_object_info_extended(the_repository, (struct object_id  const  *)(& ce->oid),
                                       (struct object_info *)((void *)0), 40U);
    if (! tmp___0) {
      goto __Cont;
    }
    oid_array_append(& to_fetch, (struct object_id  const  *)(& ce->oid));
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  promisor_remote_get_direct(the_repository, (struct object_id  const  *)to_fetch.oid,
                             (int )to_fetch.nr);
  oid_array_clear(& to_fetch);
  return;
}
}
void append_todo_help(int command_count , char const   *shortrevisions , char const   *shortonto ,
                      struct strbuf *buf___19 ) ;
int edit_todo_list(struct repository *r , struct todo_list *todo_list , struct todo_list *new_todo ,
                   char const   *shortrevisions , char const   *shortonto , unsigned int flags___0 ) ;
int todo_list_check(struct todo_list *old_todo , struct todo_list *new_todo ) ;
int todo_list_check_against_backup(struct repository *r , struct todo_list *todo_list ) ;
static char const   edit_todo_list_advice[141]  =
  {      (char const   )'Y',      (char const   )'o',      (char const   )'u',      (char const   )' ',
        (char const   )'c',      (char const   )'a',      (char const   )'n',      (char const   )' ',
        (char const   )'f',      (char const   )'i',      (char const   )'x',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'i',      (char const   )'s',
        (char const   )' ',      (char const   )'w',      (char const   )'i',      (char const   )'t',
        (char const   )'h',      (char const   )' ',      (char const   )'\'',      (char const   )'g',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'r',
        (char const   )'e',      (char const   )'b',      (char const   )'a',      (char const   )'s',
        (char const   )'e',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'e',      (char const   )'d',      (char const   )'i',      (char const   )'t',
        (char const   )'-',      (char const   )'t',      (char const   )'o',      (char const   )'d',
        (char const   )'o',      (char const   )'\'',      (char const   )' ',      (char const   )'a',
        (char const   )'n',      (char const   )'d',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )'n',      (char const   )' ',
        (char const   )'r',      (char const   )'u',      (char const   )'n',      (char const   )' ',
        (char const   )'\'',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'b',
        (char const   )'a',      (char const   )'s',      (char const   )'e',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'c',      (char const   )'o',
        (char const   )'n',      (char const   )'t',      (char const   )'i',      (char const   )'n',
        (char const   )'u',      (char const   )'e',      (char const   )'\'',      (char const   )'.',
        (char const   )'\n',      (char const   )'O',      (char const   )'r',      (char const   )' ',
        (char const   )'y',      (char const   )'o',      (char const   )'u',      (char const   )' ',
        (char const   )'c',      (char const   )'a',      (char const   )'n',      (char const   )' ',
        (char const   )'a',      (char const   )'b',      (char const   )'o',      (char const   )'r',
        (char const   )'t',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )' ',      (char const   )'r',      (char const   )'e',
        (char const   )'b',      (char const   )'a',      (char const   )'s',      (char const   )'e',
        (char const   )' ',      (char const   )'w',      (char const   )'i',      (char const   )'t',
        (char const   )'h',      (char const   )' ',      (char const   )'\'',      (char const   )'g',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'r',
        (char const   )'e',      (char const   )'b',      (char const   )'a',      (char const   )'s',
        (char const   )'e',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'a',      (char const   )'b',      (char const   )'o',      (char const   )'r',
        (char const   )'t',      (char const   )'\'',      (char const   )'.',      (char const   )'\n',
        (char const   )'\000'};
static enum missing_commit_check_level get_missing_commit_check_level(void)
{
  char const   *value ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  tmp = git_config_get_value((char const   *)"rebase.missingcommitscheck", & value);
  if (tmp) {
    return ((enum missing_commit_check_level )0);
  } else {
    tmp___0 = strcasecmp((char const   *)"ignore", value);
    if (! tmp___0) {
      return ((enum missing_commit_check_level )0);
    }
  }
  tmp___1 = strcasecmp((char const   *)"warn", value);
  if (! tmp___1) {
    return ((enum missing_commit_check_level )1);
  }
  tmp___2 = strcasecmp((char const   *)"error", value);
  if (! tmp___2) {
    return ((enum missing_commit_check_level )2);
  }
  tmp___3 = _((char const   *)"unrecognized setting %s for option rebase.missingCommitsCheck. Ignoring.");
  warning((char const   *)tmp___3, value);
  return ((enum missing_commit_check_level )0);
}
}
void append_todo_help(int command_count , char const   *shortrevisions , char const   *shortonto ,
                      struct strbuf *buf___19 )
{
  char const   *msg___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  unsigned int edit_todo ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___1 ;
  size_t tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  enum missing_commit_check_level tmp___5 ;
  size_t tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  size_t tmp___9 ;

  {
  tmp = _((char const   *)"\nCommands:\np, pick <commit> = use commit\nr, reword <commit> = use commit, but edit the commit message\ne, edit <commit> = use commit, but stop for amending\ns, squash <commit> = use commit, but meld into previous commit\nf, fixup [-C | -c] <commit> = like \"squash\" but keep only the previous\n                   commit\'s log message, unless -C is used, in which case\n                   keep only this commit\'s message; -c is same as -C but\n                   opens the editor\nx, exec <command> = run command (the rest of the line) using shell\nb, break = stop here (continue rebase later with \'git rebase --continue\')\nd, drop <commit> = remove commit\nl, label <label> = label current HEAD with a name\nt, reset <label> = reset HEAD to a label\nm, merge [-C <commit> | -c <commit>] <label> [# <oneline>]\n.       create a merge commit using the original merge commit\'s\n.       message (or the oneline, if no original merge commit was\n.       specified); use -c <commit> to reword the commit message\n\nThese lines can be re-ordered; they are executed from top to bottom.\n");
  msg___5 = (char const   *)tmp;
  if (shortrevisions) {
    if (shortonto) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
  } else {
    tmp___0 = 1;
  }
  edit_todo = (unsigned int )tmp___0;
  if (! edit_todo) {
    strbuf_addch(buf___19, '\n');
    tmp___1 = Q_((char const   *)"Rebase %s onto %s (%d command)", (char const   *)"Rebase %s onto %s (%d commands)",
                 (unsigned long )command_count);
    strbuf_commented_addf(buf___19, (char const   *)tmp___1, shortrevisions, shortonto,
                          command_count);
  }
  tmp___2 = strlen(msg___5);
  strbuf_add_commented_lines(buf___19, msg___5, tmp___2);
  tmp___5 = get_missing_commit_check_level();
  if ((unsigned int )tmp___5 == 2U) {
    tmp___3 = _((char const   *)"\nDo not remove any line. Use \'drop\' explicitly to remove a commit.\n");
    msg___5 = (char const   *)tmp___3;
  } else {
    tmp___4 = _((char const   *)"\nIf you remove a line here THAT COMMIT WILL BE LOST.\n");
    msg___5 = (char const   *)tmp___4;
  }
  tmp___6 = strlen(msg___5);
  strbuf_add_commented_lines(buf___19, msg___5, tmp___6);
  if (edit_todo) {
    tmp___7 = _((char const   *)"\nYou are editing the todo file of an ongoing interactive rebase.\nTo continue rebase after editing, run:\n    git rebase --continue\n\n");
    msg___5 = (char const   *)tmp___7;
  } else {
    tmp___8 = _((char const   *)"\nHowever, if you remove everything, the rebase will be aborted.\n\n");
    msg___5 = (char const   *)tmp___8;
  }
  tmp___9 = strlen(msg___5);
  strbuf_add_commented_lines(buf___19, msg___5, tmp___9);
  return;
}
}
int edit_todo_list(struct repository *r , struct todo_list *todo_list , struct todo_list *new_todo ,
                   char const   *shortrevisions , char const   *shortonto , unsigned int flags___0 )
{
  char const   *todo_file ;
  char const   *tmp ;
  char const   *todo_backup ;
  char const   *tmp___0 ;
  unsigned int initial ;
  int tmp___1 ;
  int incorrect ;
  int tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const   *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;
  char const   *tmp___15 ;
  int tmp___16 ;
  char const   *tmp___17 ;
  char const   *tmp___18 ;
  int tmp___19 ;

  {
  tmp = rebase_path_todo();
  todo_file = tmp;
  tmp___0 = rebase_path_todo_backup();
  todo_backup = tmp___0;
  if (shortrevisions) {
    if (shortonto) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  initial = (unsigned int )tmp___1;
  incorrect = 0;
  if (! initial) {
    tmp___2 = todo_list_parse_insn_buffer(r, todo_list->buf.buf, todo_list);
    tmp___3 = rebase_path_dropped();
    tmp___4 = file_exists(tmp___3);
    incorrect = tmp___2 | tmp___4;
  }
  tmp___7 = todo_list_write_to_file(r, todo_list, todo_file, shortrevisions, shortonto,
                                    -1, (flags___0 | (1U << 1)) | (1U << 5));
  if (tmp___7) {
    tmp___5 = _((char const   *)"could not write \'%s\'");
    error_errno((char const   *)tmp___5, todo_file);
    tmp___6 = const_error();
    return (tmp___6);
  }
  if (! incorrect) {
    tmp___11 = todo_list_write_to_file(r, todo_list, todo_backup, shortrevisions,
                                       shortonto, -1, (flags___0 | (1U << 5)) & ~ (1U << 1));
    if (tmp___11 < 0) {
      tmp___8 = rebase_path_todo_backup();
      tmp___9 = _((char const   *)"could not write \'%s\'.");
      error((char const   *)tmp___9, tmp___8);
      tmp___10 = const_error();
      return (tmp___10);
    }
  }
  tmp___12 = launch_sequence_editor(todo_file, & new_todo->buf, (char const   **)((void *)0));
  if (tmp___12) {
    return (-2);
  }
  strbuf_stripspace(& new_todo->buf, 1);
  if (initial) {
    if (new_todo->buf.len == 0UL) {
      return (-3);
    }
  }
  tmp___14 = todo_list_parse_insn_buffer(r, new_todo->buf.buf, new_todo);
  if (tmp___14) {
    tmp___13 = _(edit_todo_list_advice);
    fprintf(stderr, (char const   *)tmp___13);
    return (-4);
  }
  if (incorrect) {
    tmp___16 = todo_list_check_against_backup(r, new_todo);
    if (tmp___16) {
      tmp___15 = rebase_path_dropped();
      write_file(tmp___15, (char const   *)"%s", "");
      return (-4);
    }
    if (incorrect > 0) {
      tmp___17 = rebase_path_dropped();
      unlink(tmp___17);
    }
  } else {
    tmp___19 = todo_list_check(todo_list, new_todo);
    if (tmp___19) {
      tmp___18 = rebase_path_dropped();
      write_file(tmp___18, (char const   *)"%s", "");
      return (-4);
    }
  }
  return (0);
}
}
static void init_commit_seen_with_stride(struct commit_seen *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_commit_seen_with_stride(struct commit_seen *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(unsigned char ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (unsigned char **)((void *)0);
  return;
}
}
static void init_commit_seen(struct commit_seen *s___1 )  __attribute__((__unused__)) ;
static void init_commit_seen(struct commit_seen *s___1 )
{


  {
  init_commit_seen_with_stride(s___1, 1U);
  return;
}
}
static void clear_commit_seen(struct commit_seen *s___1 )  __attribute__((__unused__)) ;
static void clear_commit_seen(struct commit_seen *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (unsigned char **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_commit_seen(struct commit_seen *s___1 , void (*free_fn)(unsigned char * ) )  __attribute__((__unused__)) ;
static void deep_clear_commit_seen(struct commit_seen *s___1 , void (*free_fn)(unsigned char * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_commit_seen(s___1);
  return;
}
}
static unsigned char *commit_seen_at_peek(struct commit_seen *s___1 , struct commit  const  *c___0 ,
                                          int add_if_missing )  __attribute__((__unused__)) ;
static unsigned char *commit_seen_at_peek(struct commit_seen *s___1 , struct commit  const  *c___0 ,
                                          int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((unsigned char *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (unsigned char **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (unsigned char *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((unsigned char *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (unsigned char *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static unsigned char *commit_seen_at(struct commit_seen *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static unsigned char *commit_seen_at(struct commit_seen *s___1 , struct commit  const  *c___0 )
{
  unsigned char *tmp ;

  {
  tmp = commit_seen_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static unsigned char *commit_seen_peek(struct commit_seen *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static unsigned char *commit_seen_peek(struct commit_seen *s___1 , struct commit  const  *c___0 )
{
  unsigned char *tmp ;

  {
  tmp = commit_seen_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
int todo_list_check(struct todo_list *old_todo , struct todo_list *new_todo )
{
  enum missing_commit_check_level check_level ;
  enum missing_commit_check_level tmp ;
  struct strbuf missing ;
  int res ;
  int i ;
  struct commit_seen commit_seen ;
  struct commit *commit ;
  unsigned char *tmp___0 ;
  struct todo_item *item___0 ;
  struct commit *commit___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  unsigned char *tmp___3 ;
  unsigned char *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;

  {
  tmp = get_missing_commit_check_level();
  check_level = tmp;
  missing.alloc = 0UL;
  missing.len = 0UL;
  missing.buf = strbuf_slopbuf;
  res = 0;
  init_commit_seen(& commit_seen);
  if ((unsigned int )check_level == 0U) {
    goto leave_check;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < new_todo->nr)) {
      goto while_break;
    }
    commit = (new_todo->items + i)->commit;
    if (commit) {
      tmp___0 = commit_seen_at(& commit_seen, (struct commit  const  *)commit);
      *tmp___0 = (unsigned char)1;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = old_todo->nr - 1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i >= 0)) {
      goto while_break___0;
    }
    item___0 = old_todo->items + i;
    commit___0 = item___0->commit;
    if (commit___0) {
      tmp___4 = commit_seen_at(& commit_seen, (struct commit  const  *)commit___0);
      if (! *tmp___4) {
        tmp___1 = todo_item_get_arg(old_todo, item___0);
        tmp___2 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& commit___0->object.oid),
                                          default_abbrev);
        strbuf_addf(& missing, (char const   *)" - %s %.*s\n", tmp___2, item___0->arg_len,
                    tmp___1);
        tmp___3 = commit_seen_at(& commit_seen, (struct commit  const  *)commit___0);
        *tmp___3 = (unsigned char)1;
      }
    }
    i --;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (! missing.len) {
    goto leave_check;
  }
  if ((unsigned int )check_level == 2U) {
    res = 1;
  }
  tmp___5 = _((char const   *)"Warning: some commits may have been dropped accidentally.\nDropped commits (newer to older):\n");
  fprintf(stderr, (char const   *)tmp___5);
  fputs((char const   * __restrict  )missing.buf, (FILE * __restrict  )stderr);
  strbuf_release(& missing);
  tmp___6 = _((char const   *)"To avoid this message, use \"drop\" to explicitly remove a commit.\n\nUse \'git config rebase.missingCommitsCheck\' to change the level of warnings.\nThe possible behaviours are: ignore, warn, error.\n\n");
  fprintf(stderr, (char const   *)tmp___6);
  tmp___7 = _(edit_todo_list_advice);
  fprintf(stderr, (char const   *)tmp___7);
  leave_check:
  clear_commit_seen(& commit_seen);
  return (res);
}
}
int todo_list_check_against_backup(struct repository *r , struct todo_list *todo_list )
{
  struct todo_list backup ;
  int res ;
  char const   *tmp ;
  ssize_t tmp___0 ;

  {
  backup.buf.alloc = 0UL;
  backup.buf.len = 0UL;
  backup.buf.buf = strbuf_slopbuf;
  backup.items = (struct todo_item *)0;
  backup.nr = 0;
  backup.alloc = 0;
  backup.current = 0;
  backup.done_nr = 0;
  backup.total_nr = 0;
  res = 0;
  tmp = rebase_path_todo_backup();
  tmp___0 = strbuf_read_file(& backup.buf, tmp, (size_t )0);
  if (tmp___0 > 0L) {
    todo_list_parse_insn_buffer(r, backup.buf.buf, & backup);
    res = todo_list_check(& backup, todo_list);
  }
  todo_list_release(& backup);
  return (res);
}
}
int rebase_parse_value(char const   *value ) ;
int rebase_parse_value(char const   *value )
{
  int v ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  tmp = git_parse_maybe_bool(value);
  v = tmp;
  if (! v) {
    return ((int )0);
  } else
  if (v > 0) {
    return ((int )1);
  } else {
    tmp___5 = strcmp(value, (char const   *)"merges");
    if (tmp___5) {
      tmp___6 = strcmp(value, (char const   *)"m");
      if (tmp___6) {
        tmp___3 = strcmp(value, (char const   *)"interactive");
        if (tmp___3) {
          tmp___4 = strcmp(value, (char const   *)"i");
          if (tmp___4) {
            tmp___1 = strcmp(value, (char const   *)"preserve");
            if (tmp___1) {
              tmp___2 = strcmp(value, (char const   *)"p");
              if (! tmp___2) {
                tmp___0 = _((char const   *)"%s: \'preserve\' superseded by \'merges\'");
                error((char const   *)tmp___0, value);
                const_error();
              }
            } else {
              tmp___0 = _((char const   *)"%s: \'preserve\' superseded by \'merges\'");
              error((char const   *)tmp___0, value);
              const_error();
            }
          } else {
            return ((int )3);
          }
        } else {
          return ((int )3);
        }
      } else {
        return ((int )2);
      }
    } else {
      return ((int )2);
    }
  }
  return ((int )-1);
}
}
static double const   __ac_HASH_UPPER___74  =    (double const   )0.77;
__inline static void kh_resize_oid_set___74(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___74(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___74 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___74 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___74(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___74(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___74(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___74(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___74(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___74(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___74 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___74 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___74(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___74(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___74(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___74(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___74(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___74(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___74 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___74 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___74(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___74(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___74(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___74(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___55(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___55(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___74 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___74 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___55(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___55(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___55(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___55(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_contains_cache_with_stride___10(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___10(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___10(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___10(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___10(s___1, 1U);
  return;
}
}
static void clear_contains_cache___10(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___10(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___10(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___10(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___10(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___10(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___10(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___10(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___10(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___10(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___10(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___10(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___10(s___1, c___0, 0);
  return (tmp);
}
}
static struct ref_msg msgs  =    {(char const   *)"gone", (char const   *)"ahead %d", (char const   *)"behind %d",
    (char const   *)"ahead %d, behind %d"};
void setup_ref_filter_porcelain_msg(void)
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  tmp = _((char const   *)"gone");
  msgs.gone = (char const   *)tmp;
  tmp___0 = _((char const   *)"ahead %d");
  msgs.ahead = (char const   *)tmp___0;
  tmp___1 = _((char const   *)"behind %d");
  msgs.behind = (char const   *)tmp___1;
  tmp___2 = _((char const   *)"ahead %d, behind %d");
  msgs.ahead_behind = (char const   *)tmp___2;
  return;
}
}
static struct ref_trailer_buf ref_trailer_buf  =    {{(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0},
    {0UL, 0UL, strbuf_slopbuf}, {0UL, 0UL, strbuf_slopbuf}};
static struct expand_data oi  ;
static struct expand_data oi_deref  ;
static int ref_to_worktree_map_cmpfnc(void const   *unused_lookupdata , struct hashmap_entry  const  *eptr ,
                                      struct hashmap_entry  const  *kptr , void const   *keydata_aka_refname )
{
  struct ref_to_worktree_entry  const  *e ;
  struct ref_to_worktree_entry  const  *k ;
  void *tmp ;
  int tmp___0 ;

  {
  e = (struct ref_to_worktree_entry  const  *)((char *)eptr - (unsigned long )(& ((struct ref_to_worktree_entry  const  *)0)->ent));
  k = (struct ref_to_worktree_entry  const  *)((char *)kptr - (unsigned long )(& ((struct ref_to_worktree_entry  const  *)0)->ent));
  if (keydata_aka_refname) {
    tmp = (void *)keydata_aka_refname;
  } else {
    tmp = (void *)(k->wt)->head_ref;
  }
  tmp___0 = strcmp((char const   *)(e->wt)->head_ref, (char const   *)tmp);
  return (tmp___0);
}
}
static struct ref_to_worktree_map ref_to_worktree_map  ;
static struct used_atom *used_atom  ;
static int used_atom_cnt  ;
static int need_tagged  ;
static int need_symref  ;
static int ( /* format attribute */  strbuf_addf_ret)(struct strbuf *sb___6 , int ret___67 ,
                                                      char const   *fmt  , ...)
{
  va_list ap ;

  {
  __builtin_va_start(ap, fmt);
  strbuf_vaddf(sb___6, fmt, ap);
  __builtin_va_end(ap);
  return (ret___67);
}
}
static int color_atom_parser(struct ref_format *format___0 , struct used_atom *atom ,
                             char const   *color_value , struct strbuf *err___4 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  if (! color_value) {
    tmp = _((char const   *)"expected format: %%(color:<color>)");
    tmp___0 = strbuf_addf_ret(err___4, -1, (char const   *)tmp);
    return (tmp___0);
  }
  tmp___3 = color_parse(color_value, atom->u.color);
  if (tmp___3 < 0) {
    tmp___1 = _((char const   *)"unrecognized color: %%(color:%s)");
    tmp___2 = strbuf_addf_ret(err___4, -1, (char const   *)tmp___1, color_value);
    return (tmp___2);
  }
  tmp___4 = want_color_fd(1, format___0->use_color);
  if (! tmp___4) {
    color_parse((char const   *)"", atom->u.color);
  }
  return (0);
}
}
static int refname_atom_parser_internal(struct refname_atom *atom , char const   *arg ,
                                        char const   *name___0 , struct strbuf *err___4 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  if (! arg) {
    atom->option = (enum __anonenum_option_585275205 )0;
  } else {
    tmp___10 = strcmp(arg, (char const   *)"short");
    if (tmp___10) {
      tmp___8 = skip_prefix(arg, (char const   *)"lstrip=", & arg);
      if (tmp___8) {
        goto _L;
      } else {
        tmp___9 = skip_prefix(arg, (char const   *)"strip=", & arg);
        if (tmp___9) {
          _L: /* CIL Label */
          atom->option = (enum __anonenum_option_585275205 )2;
          tmp___1 = strtol_i(arg, 10, & atom->lstrip);
          if (tmp___1) {
            tmp = _((char const   *)"Integer value expected refname:lstrip=%s");
            tmp___0 = strbuf_addf_ret(err___4, -1, (char const   *)tmp, arg);
            return (tmp___0);
          }
        } else {
          tmp___7 = skip_prefix(arg, (char const   *)"rstrip=", & arg);
          if (tmp___7) {
            atom->option = (enum __anonenum_option_585275205 )3;
            tmp___4 = strtol_i(arg, 10, & atom->rstrip);
            if (tmp___4) {
              tmp___2 = _((char const   *)"Integer value expected refname:rstrip=%s");
              tmp___3 = strbuf_addf_ret(err___4, -1, (char const   *)tmp___2, arg);
              return (tmp___3);
            }
          } else {
            tmp___5 = _((char const   *)"unrecognized %%(%s) argument: %s");
            tmp___6 = strbuf_addf_ret(err___4, -1, (char const   *)tmp___5, name___0,
                                      arg);
            return (tmp___6);
          }
        }
      }
    } else {
      atom->option = (enum __anonenum_option_585275205 )1;
    }
  }
  return (0);
}
}
static int remote_ref_atom_parser(struct ref_format *format___0 , struct used_atom *atom ,
                                  char const   *arg , struct strbuf *err___4 )
{
  struct string_list params ;
  int i ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *s___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  params.items = (struct string_list_item *)0;
  params.nr = 0U;
  params.alloc = 0U;
  params.strdup_strings = 1U;
  params.cmp = (int (*)(char const   * , char const   * ))0;
  tmp = strcmp(atom->name, (char const   *)"push");
  if (tmp) {
    tmp___0 = starts_with(atom->name, (char const   *)"push:");
    if (tmp___0) {
      atom->u.remote_ref.push = 1U;
    }
  } else {
    atom->u.remote_ref.push = 1U;
  }
  if (! arg) {
    atom->u.remote_ref.option = (enum __anonenum_option_1019172202 )0;
    tmp___1 = refname_atom_parser_internal(& atom->u.remote_ref.refname, arg, atom->name,
                                           err___4);
    return (tmp___1);
  }
  atom->u.remote_ref.nobracket = 0U;
  string_list_split(& params, arg, ',', -1);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < params.nr)) {
      goto while_break;
    }
    s___1 = (char const   *)(params.items + i)->string;
    tmp___7 = strcmp(s___1, (char const   *)"track");
    if (tmp___7) {
      tmp___6 = strcmp(s___1, (char const   *)"trackshort");
      if (tmp___6) {
        tmp___5 = strcmp(s___1, (char const   *)"nobracket");
        if (tmp___5) {
          tmp___4 = strcmp(s___1, (char const   *)"remotename");
          if (tmp___4) {
            tmp___3 = strcmp(s___1, (char const   *)"remoteref");
            if (tmp___3) {
              atom->u.remote_ref.option = (enum __anonenum_option_1019172202 )0;
              tmp___2 = refname_atom_parser_internal(& atom->u.remote_ref.refname,
                                                     arg, atom->name, err___4);
              if (tmp___2) {
                string_list_clear(& params, 0);
                return (-1);
              }
            } else {
              atom->u.remote_ref.option = (enum __anonenum_option_1019172202 )4;
              atom->u.remote_ref.push_remote = 1U;
            }
          } else {
            atom->u.remote_ref.option = (enum __anonenum_option_1019172202 )3;
            atom->u.remote_ref.push_remote = 1U;
          }
        } else {
          atom->u.remote_ref.nobracket = 1U;
        }
      } else {
        atom->u.remote_ref.option = (enum __anonenum_option_1019172202 )2;
      }
    } else {
      atom->u.remote_ref.option = (enum __anonenum_option_1019172202 )1;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_clear(& params, 0);
  return (0);
}
}
static int objecttype_atom_parser(struct ref_format *format___0 , struct used_atom *atom ,
                                  char const   *arg , struct strbuf *err___4 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  if (arg) {
    tmp = _((char const   *)"%%(objecttype) does not take arguments");
    tmp___0 = strbuf_addf_ret(err___4, -1, (char const   *)tmp);
    return (tmp___0);
  }
  if ((int const   )*(atom->name) == 42) {
    oi_deref.info.typep = & oi_deref.type;
  } else {
    oi.info.typep = & oi.type;
  }
  return (0);
}
}
static int objectsize_atom_parser(struct ref_format *format___0 , struct used_atom *atom ,
                                  char const   *arg , struct strbuf *err___4 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! arg) {
    atom->u.objectsize.option = (enum __anonenum_option_451524685 )0;
    if ((int const   )*(atom->name) == 42) {
      oi_deref.info.sizep = & oi_deref.size;
    } else {
      oi.info.sizep = & oi.size;
    }
  } else {
    tmp___1 = strcmp(arg, (char const   *)"disk");
    if (tmp___1) {
      tmp = _((char const   *)"unrecognized %%(%s) argument: %s");
      tmp___0 = strbuf_addf_ret(err___4, -1, (char const   *)tmp, "objectsize", arg);
      return (tmp___0);
    } else {
      atom->u.objectsize.option = (enum __anonenum_option_451524685 )1;
      if ((int const   )*(atom->name) == 42) {
        oi_deref.info.disk_sizep = & oi_deref.disk_size;
      } else {
        oi.info.disk_sizep = & oi.disk_size;
      }
    }
  }
  return (0);
}
}
static int deltabase_atom_parser(struct ref_format *format___0 , struct used_atom *atom ,
                                 char const   *arg , struct strbuf *err___4 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  if (arg) {
    tmp = _((char const   *)"%%(deltabase) does not take arguments");
    tmp___0 = strbuf_addf_ret(err___4, -1, (char const   *)tmp);
    return (tmp___0);
  }
  if ((int const   )*(atom->name) == 42) {
    oi_deref.info.delta_base_oid = & oi_deref.delta_base_oid;
  } else {
    oi.info.delta_base_oid = & oi.delta_base_oid;
  }
  return (0);
}
}
static int body_atom_parser(struct ref_format *format___0 , struct used_atom *atom ,
                            char const   *arg , struct strbuf *err___4 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  if (arg) {
    tmp = _((char const   *)"%%(body) does not take arguments");
    tmp___0 = strbuf_addf_ret(err___4, -1, (char const   *)tmp);
    return (tmp___0);
  }
  atom->u.contents.option = (enum __anonenum_option_357902700 )2;
  return (0);
}
}
static int subject_atom_parser(struct ref_format *format___0 , struct used_atom *atom ,
                               char const   *arg , struct strbuf *err___4 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! arg) {
    atom->u.contents.option = (enum __anonenum_option_357902700 )6;
  } else {
    tmp___1 = strcmp(arg, (char const   *)"sanitize");
    if (tmp___1) {
      tmp = _((char const   *)"unrecognized %%(%s) argument: %s");
      tmp___0 = strbuf_addf_ret(err___4, -1, (char const   *)tmp, "subject", arg);
      return (tmp___0);
    } else {
      atom->u.contents.option = (enum __anonenum_option_357902700 )7;
    }
  }
  return (0);
}
}
static int trailers_atom_parser(struct ref_format *format___0 , struct used_atom *atom ,
                                char const   *arg , struct strbuf *err___4 )
{
  char const   *argbuf ;
  char *tmp ;
  char *invalid_arg ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  atom->u.contents.trailer_opts.no_divider = 1;
  if (arg) {
    tmp = xstrfmt((char const   *)"%s)", arg);
    argbuf = (char const   *)tmp;
    invalid_arg = (char *)((void *)0);
    tmp___2 = format_set_trailers_options(& atom->u.contents.trailer_opts, & ref_trailer_buf.filter_list,
                                          & ref_trailer_buf.sepbuf, & ref_trailer_buf.kvsepbuf,
                                          & argbuf, & invalid_arg);
    if (tmp___2) {
      if (! invalid_arg) {
        tmp___0 = _((char const   *)"expected %%(trailers:key=<value>)");
        strbuf_addf(err___4, (char const   *)tmp___0);
      } else {
        tmp___1 = _((char const   *)"unknown %%(trailers) argument: %s");
        strbuf_addf(err___4, (char const   *)tmp___1, invalid_arg);
      }
      free((void *)invalid_arg);
      return (-1);
    }
  }
  atom->u.contents.option = (enum __anonenum_option_357902700 )8;
  return (0);
}
}
static int contents_atom_parser(struct ref_format *format___0 , struct used_atom *atom ,
                                char const   *arg , struct strbuf *err___4 )
{
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;

  {
  if (! arg) {
    atom->u.contents.option = (enum __anonenum_option_357902700 )0;
  } else {
    tmp___12 = strcmp(arg, (char const   *)"body");
    if (tmp___12) {
      tmp___11 = strcmp(arg, (char const   *)"size");
      if (tmp___11) {
        tmp___10 = strcmp(arg, (char const   *)"signature");
        if (tmp___10) {
          tmp___9 = strcmp(arg, (char const   *)"subject");
          if (tmp___9) {
            tmp___8 = strcmp(arg, (char const   *)"trailers");
            if (tmp___8) {
              tmp___7 = skip_prefix(arg, (char const   *)"trailers:", & arg);
              if (tmp___7) {
                tmp___0 = trailers_atom_parser(format___0, atom, arg, err___4);
                if (tmp___0) {
                  return (-1);
                }
              } else {
                tmp___6 = skip_prefix(arg, (char const   *)"lines=", & arg);
                if (tmp___6) {
                  atom->u.contents.option = (enum __anonenum_option_357902700 )4;
                  tmp___3 = strtoul_ui(arg, 10, & atom->u.contents.nlines);
                  if (tmp___3) {
                    tmp___1 = _((char const   *)"positive value expected contents:lines=%s");
                    tmp___2 = strbuf_addf_ret(err___4, -1, (char const   *)tmp___1,
                                              arg);
                    return (tmp___2);
                  }
                } else {
                  tmp___4 = _((char const   *)"unrecognized %%(%s) argument: %s");
                  tmp___5 = strbuf_addf_ret(err___4, -1, (char const   *)tmp___4,
                                            "contents", arg);
                  return (tmp___5);
                }
              }
            } else {
              tmp = trailers_atom_parser(format___0, atom, (char const   *)((void *)0),
                                         err___4);
              if (tmp) {
                return (-1);
              }
            }
          } else {
            atom->u.contents.option = (enum __anonenum_option_357902700 )6;
          }
        } else {
          atom->u.contents.option = (enum __anonenum_option_357902700 )5;
        }
      } else {
        atom->u.contents.option = (enum __anonenum_option_357902700 )3;
      }
    } else {
      atom->u.contents.option = (enum __anonenum_option_357902700 )1;
    }
  }
  return (0);
}
}
static int raw_atom_parser(struct ref_format *format___0 , struct used_atom *atom ,
                           char const   *arg , struct strbuf *err___4 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! arg) {
    atom->u.raw_data.option = (enum __anonenum_option_325609188 )0;
  } else {
    tmp___1 = strcmp(arg, (char const   *)"size");
    if (tmp___1) {
      tmp = _((char const   *)"unrecognized %%(%s) argument: %s");
      tmp___0 = strbuf_addf_ret(err___4, -1, (char const   *)tmp, "raw", arg);
      return (tmp___0);
    } else {
      atom->u.raw_data.option = (enum __anonenum_option_325609188 )1;
    }
  }
  return (0);
}
}
static int oid_atom_parser(struct ref_format *format___0 , struct used_atom *atom ,
                           char const   *arg , struct strbuf *err___4 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  if (! arg) {
    atom->u.oid.option = (enum __anonenum_option_841807385 )0;
  } else {
    tmp___5 = strcmp(arg, (char const   *)"short");
    if (tmp___5) {
      tmp___4 = skip_prefix(arg, (char const   *)"short=", & arg);
      if (tmp___4) {
        atom->u.oid.option = (enum __anonenum_option_841807385 )1;
        tmp___1 = strtoul_ui(arg, 10, & atom->u.oid.length);
        if (tmp___1) {
          tmp = _((char const   *)"positive value expected \'%s\' in %%(%s)");
          tmp___0 = strbuf_addf_ret(err___4, -1, (char const   *)tmp, arg, atom->name);
          return (tmp___0);
        } else
        if (atom->u.oid.length == 0U) {
          tmp = _((char const   *)"positive value expected \'%s\' in %%(%s)");
          tmp___0 = strbuf_addf_ret(err___4, -1, (char const   *)tmp, arg, atom->name);
          return (tmp___0);
        }
        if (atom->u.oid.length < (unsigned int )minimum_abbrev) {
          atom->u.oid.length = (unsigned int )minimum_abbrev;
        }
      } else {
        tmp___2 = _((char const   *)"unrecognized %%(%s) argument: %s");
        tmp___3 = strbuf_addf_ret(err___4, -1, (char const   *)tmp___2, atom->name,
                                  arg);
        return (tmp___3);
      }
    } else {
      atom->u.oid.option = (enum __anonenum_option_841807385 )2;
    }
  }
  return (0);
}
}
static int person_email_atom_parser(struct ref_format *format___0 , struct used_atom *atom ,
                                    char const   *arg , struct strbuf *err___4 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (! arg) {
    atom->u.email_option.option = (enum __anonenum_option_166157618 )0;
  } else {
    tmp___2 = strcmp(arg, (char const   *)"trim");
    if (tmp___2) {
      tmp___1 = strcmp(arg, (char const   *)"localpart");
      if (tmp___1) {
        tmp = _((char const   *)"unrecognized email option: %s");
        tmp___0 = strbuf_addf_ret(err___4, -1, (char const   *)tmp, arg);
        return (tmp___0);
      } else {
        atom->u.email_option.option = (enum __anonenum_option_166157618 )2;
      }
    } else {
      atom->u.email_option.option = (enum __anonenum_option_166157618 )1;
    }
  }
  return (0);
}
}
static int refname_atom_parser(struct ref_format *format___0 , struct used_atom *atom ,
                               char const   *arg , struct strbuf *err___4 )
{
  int tmp ;

  {
  tmp = refname_atom_parser_internal(& atom->u.refname, arg, atom->name, err___4);
  return (tmp);
}
}
static align_type parse_align_position(char const   *s___1 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp___1 = strcmp(s___1, (char const   *)"right");
  if (tmp___1) {
    tmp___0 = strcmp(s___1, (char const   *)"middle");
    if (tmp___0) {
      tmp = strcmp(s___1, (char const   *)"left");
      if (! tmp) {
        return ((align_type )0);
      }
    } else {
      return ((align_type )1);
    }
  } else {
    return ((align_type )2);
  }
  return ((align_type )-1);
}
}
static int align_atom_parser(struct ref_format *format___0 , struct used_atom *atom ,
                             char const   *arg , struct strbuf *err___4 )
{
  struct align *align ;
  struct string_list params ;
  int i ;
  unsigned int width ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const   *s___1 ;
  int position ;
  align_type tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  align_type tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;

  {
  align = & atom->u.align;
  params.items = (struct string_list_item *)0;
  params.nr = 0U;
  params.alloc = 0U;
  params.strdup_strings = 1U;
  params.cmp = (int (*)(char const   * , char const   * ))0;
  width = ~ 0U;
  if (! arg) {
    tmp = _((char const   *)"expected format: %%(align:<width>,<position>)");
    tmp___0 = strbuf_addf_ret(err___4, -1, (char const   *)tmp);
    return (tmp___0);
  }
  align->position = (align_type )0;
  string_list_split(& params, arg, ',', -1);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < params.nr)) {
      goto while_break;
    }
    s___1 = (char const   *)(params.items + i)->string;
    tmp___9 = skip_prefix(s___1, (char const   *)"position=", & s___1);
    if (tmp___9) {
      tmp___1 = parse_align_position(s___1);
      position = (int )tmp___1;
      if (position < 0) {
        tmp___2 = _((char const   *)"unrecognized position:%s");
        strbuf_addf(err___4, (char const   *)tmp___2, s___1);
        string_list_clear(& params, 0);
        return (-1);
      }
      align->position = (align_type )position;
    } else {
      tmp___8 = skip_prefix(s___1, (char const   *)"width=", & s___1);
      if (tmp___8) {
        tmp___4 = strtoul_ui(s___1, 10, & width);
        if (tmp___4) {
          tmp___3 = _((char const   *)"unrecognized width:%s");
          strbuf_addf(err___4, (char const   *)tmp___3, s___1);
          string_list_clear(& params, 0);
          return (-1);
        }
      } else {
        tmp___7 = strtoul_ui(s___1, 10, & width);
        if (tmp___7) {
          tmp___6 = parse_align_position(s___1);
          position = (int )tmp___6;
          if (position >= 0) {
            align->position = (align_type )position;
          } else {
            tmp___5 = _((char const   *)"unrecognized %%(%s) argument: %s");
            strbuf_addf(err___4, (char const   *)tmp___5, "align", s___1);
            string_list_clear(& params, 0);
            return (-1);
          }
        }
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (width == 4294967295U) {
    string_list_clear(& params, 0);
    tmp___10 = _((char const   *)"positive width expected with the %%(align) atom");
    tmp___11 = strbuf_addf_ret(err___4, -1, (char const   *)tmp___10);
    return (tmp___11);
  }
  align->width = width;
  string_list_clear(& params, 0);
  return (0);
}
}
static int if_atom_parser(struct ref_format *format___0 , struct used_atom *atom ,
                          char const   *arg , struct strbuf *err___4 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (! arg) {
    atom->u.if_then_else.cmp_status = (cmp_status )2;
    return (0);
  } else {
    tmp___2 = skip_prefix(arg, (char const   *)"equals=", & atom->u.if_then_else.str);
    if (tmp___2) {
      atom->u.if_then_else.cmp_status = (cmp_status )0;
    } else {
      tmp___1 = skip_prefix(arg, (char const   *)"notequals=", & atom->u.if_then_else.str);
      if (tmp___1) {
        atom->u.if_then_else.cmp_status = (cmp_status )1;
      } else {
        tmp = _((char const   *)"unrecognized %%(%s) argument: %s");
        tmp___0 = strbuf_addf_ret(err___4, -1, (char const   *)tmp, "if", arg);
        return (tmp___0);
      }
    }
  }
  return (0);
}
}
static int rest_atom_parser(struct ref_format *format___0 , struct used_atom *atom ,
                            char const   *arg , struct strbuf *err___4 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  if (arg) {
    tmp = _((char const   *)"%%(rest) does not take arguments");
    tmp___0 = strbuf_addf_ret(err___4, -1, (char const   *)tmp);
    return (tmp___0);
  }
  format___0->use_rest = 1;
  return (0);
}
}
static int head_atom_parser(struct ref_format *format___0 , struct used_atom *atom ,
                            char const   *arg , struct strbuf *unused_err )
{


  {
  atom->u.head = resolve_refdup((char const   *)"HEAD", 0x01, (struct object_id *)((void *)0),
                                (int *)((void *)0));
  return (0);
}
}
static struct __anonstruct_valid_atom_666489144 valid_atom[43]  =
  {      {(char const   *)"refname", (info_source )0, (cmp_type )0, & refname_atom_parser},
        {(char const   *)"objecttype",
      (info_source )2, (cmp_type )0, & objecttype_atom_parser},
        {(char const   *)"objectsize", (info_source )2, (cmp_type )1, & objectsize_atom_parser},
        {(char const   *)"objectname",
      (info_source )2, (cmp_type )0, & oid_atom_parser},
        {(char const   *)"deltabase", (info_source )2, (cmp_type )0, & deltabase_atom_parser},
        {(char const   *)"tree",
      (info_source )1, (cmp_type )0, & oid_atom_parser},
        {(char const   *)"parent", (info_source )1, (cmp_type )0, & oid_atom_parser},
        {(char const   *)"numparent",
      (info_source )1, (cmp_type )1, (int (*)(struct ref_format *format , struct used_atom *atom ,
                                              char const   *arg , struct strbuf *err ))0},
        {(char const   *)"object",
      (info_source )1, 0U, (int (*)(struct ref_format *format , struct used_atom *atom ,
                                    char const   *arg , struct strbuf *err ))0},
        {(char const   *)"type", (info_source )1, 0U, (int (*)(struct ref_format *format ,
                                                            struct used_atom *atom ,
                                                            char const   *arg , struct strbuf *err ))0},
        {(char const   *)"tag",
      (info_source )1, 0U, (int (*)(struct ref_format *format , struct used_atom *atom ,
                                    char const   *arg , struct strbuf *err ))0},
        {(char const   *)"author", (info_source )1, 0U, (int (*)(struct ref_format *format ,
                                                              struct used_atom *atom ,
                                                              char const   *arg ,
                                                              struct strbuf *err ))0},
        {(char const   *)"authorname",
      (info_source )1, 0U, (int (*)(struct ref_format *format , struct used_atom *atom ,
                                    char const   *arg , struct strbuf *err ))0},
        {(char const   *)"authoremail", (info_source )1, (cmp_type )0, & person_email_atom_parser},
        {(char const   *)"authordate",
      (info_source )1, (cmp_type )2, (int (*)(struct ref_format *format , struct used_atom *atom ,
                                              char const   *arg , struct strbuf *err ))0},
        {(char const   *)"committer",
      (info_source )1, 0U, (int (*)(struct ref_format *format , struct used_atom *atom ,
                                    char const   *arg , struct strbuf *err ))0},
        {(char const   *)"committername", (info_source )1, 0U, (int (*)(struct ref_format *format ,
                                                                     struct used_atom *atom ,
                                                                     char const   *arg ,
                                                                     struct strbuf *err ))0},
        {(char const   *)"committeremail",
      (info_source )1, (cmp_type )0, & person_email_atom_parser},
        {(char const   *)"committerdate", (info_source )1, (cmp_type )2, (int (*)(struct ref_format *format ,
                                                                               struct used_atom *atom ,
                                                                               char const   *arg ,
                                                                               struct strbuf *err ))0},
        {(char const   *)"tagger",
      (info_source )1, 0U, (int (*)(struct ref_format *format , struct used_atom *atom ,
                                    char const   *arg , struct strbuf *err ))0},
        {(char const   *)"taggername", (info_source )1, 0U, (int (*)(struct ref_format *format ,
                                                                  struct used_atom *atom ,
                                                                  char const   *arg ,
                                                                  struct strbuf *err ))0},
        {(char const   *)"taggeremail",
      (info_source )1, (cmp_type )0, & person_email_atom_parser},
        {(char const   *)"taggerdate", (info_source )1, (cmp_type )2, (int (*)(struct ref_format *format ,
                                                                            struct used_atom *atom ,
                                                                            char const   *arg ,
                                                                            struct strbuf *err ))0},
        {(char const   *)"creator",
      (info_source )1, 0U, (int (*)(struct ref_format *format , struct used_atom *atom ,
                                    char const   *arg , struct strbuf *err ))0},
        {(char const   *)"creatordate", (info_source )1, (cmp_type )2, (int (*)(struct ref_format *format ,
                                                                             struct used_atom *atom ,
                                                                             char const   *arg ,
                                                                             struct strbuf *err ))0},
        {(char const   *)"subject",
      (info_source )1, (cmp_type )0, & subject_atom_parser},
        {(char const   *)"body", (info_source )1, (cmp_type )0, & body_atom_parser},
        {(char const   *)"trailers", (info_source )1, (cmp_type )0, & trailers_atom_parser},
        {(char const   *)"contents",
      (info_source )1, (cmp_type )0, & contents_atom_parser},
        {(char const   *)"raw", (info_source )1, (cmp_type )0, & raw_atom_parser},
        {(char const   *)"upstream", (info_source )0, (cmp_type )0, & remote_ref_atom_parser},
        {(char const   *)"push",
      (info_source )0, (cmp_type )0, & remote_ref_atom_parser},
        {(char const   *)"symref", (info_source )0, (cmp_type )0, & refname_atom_parser},
        {(char const   *)"flag",
      (info_source )0, 0U, (int (*)(struct ref_format *format , struct used_atom *atom ,
                                    char const   *arg , struct strbuf *err ))0},
        {(char const   *)"HEAD", (info_source )0, (cmp_type )0, & head_atom_parser},
        {(char const   *)"color", (info_source )0, (cmp_type )0, & color_atom_parser},
        {(char const   *)"worktreepath",
      (info_source )0, 0U, (int (*)(struct ref_format *format , struct used_atom *atom ,
                                    char const   *arg , struct strbuf *err ))0},
        {(char const   *)"align", (info_source )0, (cmp_type )0, & align_atom_parser},
        {(char const   *)"end",
      (info_source )0, 0U, (int (*)(struct ref_format *format , struct used_atom *atom ,
                                    char const   *arg , struct strbuf *err ))0},
        {(char const   *)"if", (info_source )0, (cmp_type )0, & if_atom_parser},
        {(char const   *)"then", (info_source )0, 0U, (int (*)(struct ref_format *format ,
                                                            struct used_atom *atom ,
                                                            char const   *arg , struct strbuf *err ))0},
        {(char const   *)"else",
      (info_source )0, 0U, (int (*)(struct ref_format *format , struct used_atom *atom ,
                                    char const   *arg , struct strbuf *err ))0},
        {(char const   *)"rest", (info_source )0, (cmp_type )0, & rest_atom_parser}};
static int parse_ref_filter_atom(struct ref_format *format___0 , char const   *atom ,
                                 char const   *ep , struct strbuf *err___4 )
{
  char const   *sp ;
  char const   *arg ;
  int i ;
  int at ;
  int atom_len ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  void *tmp___1 ;
  char const   *tmp___2 ;
  int len___0 ;
  size_t tmp___3 ;
  int tmp___4 ;
  int len___1 ;
  size_t tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  size_t tmp___12 ;
  void *tmp___13 ;
  void *tmp___14 ;
  int tmp___15 ;

  {
  sp = atom;
  if ((int const   )*sp == 42) {
    if ((unsigned long )sp < (unsigned long )ep) {
      sp ++;
    }
  }
  if ((unsigned long )ep <= (unsigned long )sp) {
    tmp = _((char const   *)"malformed field name: %.*s");
    tmp___0 = strbuf_addf_ret(err___4, -1, (char const   *)tmp, (int )(ep - atom),
                              atom);
    return (tmp___0);
  }
  tmp___1 = memchr((void const   *)sp, ':', (size_t )(ep - sp));
  arg = (char const   *)tmp___1;
  if (arg) {
    tmp___2 = arg;
  } else {
    tmp___2 = ep;
  }
  atom_len = (int )(tmp___2 - sp);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < used_atom_cnt)) {
      goto while_break;
    }
    tmp___3 = strlen((used_atom + i)->name);
    len___0 = (int )tmp___3;
    if ((long )len___0 == ep - atom) {
      tmp___4 = memcmp((void const   *)(used_atom + i)->name, (void const   *)atom,
                       (size_t )len___0);
      if (! tmp___4) {
        return (i);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(valid_atom) / sizeof(valid_atom[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break___0;
    }
    tmp___5 = strlen(valid_atom[i].name);
    len___1 = (int )tmp___5;
    if (len___1 == atom_len) {
      tmp___6 = memcmp((void const   *)valid_atom[i].name, (void const   *)sp, (size_t )len___1);
      if (! tmp___6) {
        goto while_break___0;
      }
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (sizeof(valid_atom) / sizeof(valid_atom[0]) + (sizeof(char [1]) - 1UL) <= (unsigned long )i) {
    tmp___7 = _((char const   *)"unknown field name: %.*s");
    tmp___8 = strbuf_addf_ret(err___4, -1, (char const   *)tmp___7, (int )(ep - atom),
                              atom);
    return (tmp___8);
  }
  if ((unsigned int )valid_atom[i].source != 0U) {
    tmp___11 = have_git_dir();
    if (! tmp___11) {
      tmp___9 = _((char const   *)"not a git repository, but the field \'%.*s\' requires access to object data");
      tmp___10 = strbuf_addf_ret(err___4, -1, (char const   *)tmp___9, (int )(ep - atom),
                                 atom);
      return (tmp___10);
    }
  }
  at = used_atom_cnt;
  used_atom_cnt ++;
  tmp___12 = st_mult(sizeof(*used_atom), (size_t )used_atom_cnt);
  tmp___13 = xrealloc((void *)used_atom, tmp___12);
  used_atom = (struct used_atom *)tmp___13;
  (used_atom + at)->atom_type = (enum atom_type )i;
  tmp___14 = xmemdupz((void const   *)atom, (size_t )(ep - atom));
  (used_atom + at)->name = (char const   *)tmp___14;
  (used_atom + at)->type = valid_atom[i].cmp_type;
  (used_atom + at)->source = valid_atom[i].source;
  if ((unsigned int )(used_atom + at)->source == 1U) {
    if ((int const   )*atom == 42) {
      oi_deref.info.contentp = & oi_deref.content;
    } else {
      oi.info.contentp = & oi.content;
    }
  }
  if (arg) {
    arg = ((used_atom + at)->name + (arg - atom)) + 1;
    if (! *arg) {
      arg = (char const   *)((void *)0);
    }
  }
  memset((void *)(& (used_atom + at)->u), 0, sizeof((used_atom + at)->u));
  if (valid_atom[i].parser) {
    tmp___15 = (*(valid_atom[i].parser))(format___0, used_atom + at, arg, err___4);
    if (tmp___15) {
      return (-1);
    }
  }
  if ((int const   )*atom == 42) {
    need_tagged = 1;
  }
  if (i == 32) {
    need_symref = 1;
  }
  return (at);
}
}
static void quote_formatting(struct strbuf *s___1 , char const   *str , ssize_t len___0 ,
                             int quote_style )
{


  {
  {
  if (quote_style == 0) {
    goto case_0;
  }
  if (quote_style == 1) {
    goto case_1;
  }
  if (quote_style == 2) {
    goto case_2;
  }
  if (quote_style == 4) {
    goto case_4;
  }
  if (quote_style == 8) {
    goto case_8;
  }
  goto switch_break;
  case_0: /* CIL Label */
  if (len___0 < 0L) {
    strbuf_addstr(s___1, str);
  } else {
    strbuf_add(s___1, (void const   *)str, (size_t )len___0);
  }
  goto switch_break;
  case_1: /* CIL Label */
  sq_quote_buf(s___1, str);
  goto switch_break;
  case_2: /* CIL Label */
  if (len___0 < 0L) {
    perl_quote_buf(s___1, str);
  } else {
    perl_quote_buf_with_len(s___1, str, (size_t )len___0);
  }
  goto switch_break;
  case_4: /* CIL Label */
  python_quote_buf(s___1, str);
  goto switch_break;
  case_8: /* CIL Label */
  tcl_quote_buf(s___1, str);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static int append_atom(struct atom_value *v , struct ref_formatting_state *state___1 ,
                       struct strbuf *unused_err )
{


  {
  if (! (state___1->stack)->prev) {
    quote_formatting(& (state___1->stack)->output, v->s, v->s_size, state___1->quote_style);
  } else
  if (v->s_size < 0L) {
    strbuf_addstr(& (state___1->stack)->output, v->s);
  } else {
    strbuf_add(& (state___1->stack)->output, (void const   *)v->s, (size_t )v->s_size);
  }
  return (0);
}
}
static void push_stack_element(struct ref_formatting_stack **stack )
{
  struct ref_formatting_stack *s___1 ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(struct ref_formatting_stack ));
  s___1 = (struct ref_formatting_stack *)tmp;
  strbuf_init(& s___1->output, (size_t )0);
  s___1->prev = *stack;
  *stack = s___1;
  return;
}
}
static void pop_stack_element(struct ref_formatting_stack **stack )
{
  struct ref_formatting_stack *current ;
  struct ref_formatting_stack *prev ;

  {
  current = *stack;
  prev = current->prev;
  if (prev) {
    strbuf_addbuf(& prev->output, (struct strbuf  const  *)(& current->output));
  }
  strbuf_release(& current->output);
  free((void *)current);
  *stack = prev;
  return;
}
}
static void end_align_handler(struct ref_formatting_stack **stack )
{
  struct ref_formatting_stack *cur ;
  struct align *align ;
  struct strbuf s___1 ;

  {
  cur = *stack;
  align = (struct align *)cur->at_end_data;
  s___1.alloc = 0UL;
  s___1.len = 0UL;
  s___1.buf = strbuf_slopbuf;
  strbuf_utf8_align(& s___1, align->position, align->width, (char const   *)cur->output.buf);
  strbuf_swap(& cur->output, & s___1);
  strbuf_release(& s___1);
  return;
}
}
static int align_atom_handler(struct atom_value *atomv , struct ref_formatting_state *state___1 ,
                              struct strbuf *unused_err )
{
  struct ref_formatting_stack *new_stack ;

  {
  push_stack_element(& state___1->stack);
  new_stack = state___1->stack;
  new_stack->at_end = & end_align_handler;
  new_stack->at_end_data = (void *)(& (atomv->atom)->u.align);
  return (0);
}
}
static void if_then_else_handler(struct ref_formatting_stack **stack )
{
  struct ref_formatting_stack *cur ;
  struct ref_formatting_stack *prev ;
  struct if_then_else *if_then_else ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  cur = *stack;
  prev = cur->prev;
  if_then_else = (struct if_then_else *)cur->at_end_data;
  if (! if_then_else->then_atom_seen) {
    tmp = _((char const   *)"format: %%(%s) atom used without a %%(%s) atom");
    die((char const   *)tmp, "if", "then");
  }
  if (if_then_else->else_atom_seen) {
    if (if_then_else->condition_satisfied) {
      strbuf_setlen(& cur->output, (size_t )0);
      pop_stack_element(& cur);
    } else {
      strbuf_swap(& cur->output, & prev->output);
      strbuf_setlen(& cur->output, (size_t )0);
      pop_stack_element(& cur);
    }
  } else
  if (! if_then_else->condition_satisfied) {
    strbuf_setlen(& cur->output, (size_t )0);
  }
  *stack = cur;
  free((void *)if_then_else);
  return;
}
}
static int if_atom_handler(struct atom_value *atomv , struct ref_formatting_state *state___1 ,
                           struct strbuf *unused_err )
{
  struct ref_formatting_stack *new_stack ;
  struct if_then_else *if_then_else ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(struct if_then_else ));
  if_then_else = (struct if_then_else *)tmp;
  if_then_else->str = (atomv->atom)->u.if_then_else.str;
  if_then_else->cmp_status = (atomv->atom)->u.if_then_else.cmp_status;
  push_stack_element(& state___1->stack);
  new_stack = state___1->stack;
  new_stack->at_end = & if_then_else_handler;
  new_stack->at_end_data = (void *)if_then_else;
  return (0);
}
}
static int is_empty(struct strbuf *buf___19 )
{
  char const   *cur ;
  char const   *end ;

  {
  cur = (char const   *)buf___19->buf;
  end = (char const   *)(buf___19->buf + buf___19->len);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )cur != (unsigned long )end) {
      if (! (((int const   )sane_ctype[(unsigned char )*cur] & 1) != 0)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    cur ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((unsigned long )cur == (unsigned long )end);
}
}
static int then_atom_handler(struct atom_value *atomv , struct ref_formatting_state *state___1 ,
                             struct strbuf *err___4 )
{
  struct ref_formatting_stack *cur ;
  struct if_then_else *if_then_else ;
  size_t str_len ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  cur = state___1->stack;
  if_then_else = (struct if_then_else *)((void *)0);
  str_len = (size_t )0;
  if ((unsigned long )cur->at_end == (unsigned long )(& if_then_else_handler)) {
    if_then_else = (struct if_then_else *)cur->at_end_data;
  }
  if (! if_then_else) {
    tmp = _((char const   *)"format: %%(%s) atom used without a %%(%s) atom");
    tmp___0 = strbuf_addf_ret(err___4, -1, (char const   *)tmp, "then", "if");
    return (tmp___0);
  }
  if (if_then_else->then_atom_seen) {
    tmp___1 = _((char const   *)"format: %%(then) atom used more than once");
    tmp___2 = strbuf_addf_ret(err___4, -1, (char const   *)tmp___1);
    return (tmp___2);
  }
  if (if_then_else->else_atom_seen) {
    tmp___3 = _((char const   *)"format: %%(then) atom used after %%(else)");
    tmp___4 = strbuf_addf_ret(err___4, -1, (char const   *)tmp___3);
    return (tmp___4);
  }
  if_then_else->then_atom_seen = 1U;
  if (if_then_else->str) {
    str_len = strlen(if_then_else->str);
  }
  if ((unsigned int )if_then_else->cmp_status == 0U) {
    if (str_len == cur->output.len) {
      tmp___5 = memcmp((void const   *)if_then_else->str, (void const   *)cur->output.buf,
                       cur->output.len);
      if (! tmp___5) {
        if_then_else->condition_satisfied = 1U;
      }
    }
  } else
  if ((unsigned int )if_then_else->cmp_status == 1U) {
    if (str_len != cur->output.len) {
      if_then_else->condition_satisfied = 1U;
    } else {
      tmp___6 = memcmp((void const   *)if_then_else->str, (void const   *)cur->output.buf,
                       cur->output.len);
      if (tmp___6) {
        if_then_else->condition_satisfied = 1U;
      }
    }
  } else
  if (cur->output.len) {
    tmp___7 = is_empty(& cur->output);
    if (! tmp___7) {
      if_then_else->condition_satisfied = 1U;
    }
  }
  strbuf_setlen(& cur->output, (size_t )0);
  return (0);
}
}
static int else_atom_handler(struct atom_value *atomv , struct ref_formatting_state *state___1 ,
                             struct strbuf *err___4 )
{
  struct ref_formatting_stack *prev ;
  struct if_then_else *if_then_else ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  prev = state___1->stack;
  if_then_else = (struct if_then_else *)((void *)0);
  if ((unsigned long )prev->at_end == (unsigned long )(& if_then_else_handler)) {
    if_then_else = (struct if_then_else *)prev->at_end_data;
  }
  if (! if_then_else) {
    tmp = _((char const   *)"format: %%(%s) atom used without a %%(%s) atom");
    tmp___0 = strbuf_addf_ret(err___4, -1, (char const   *)tmp, "else", "if");
    return (tmp___0);
  }
  if (! if_then_else->then_atom_seen) {
    tmp___1 = _((char const   *)"format: %%(%s) atom used without a %%(%s) atom");
    tmp___2 = strbuf_addf_ret(err___4, -1, (char const   *)tmp___1, "else", "then");
    return (tmp___2);
  }
  if (if_then_else->else_atom_seen) {
    tmp___3 = _((char const   *)"format: %%(else) atom used more than once");
    tmp___4 = strbuf_addf_ret(err___4, -1, (char const   *)tmp___3);
    return (tmp___4);
  }
  if_then_else->else_atom_seen = 1U;
  push_stack_element(& state___1->stack);
  (state___1->stack)->at_end_data = prev->at_end_data;
  (state___1->stack)->at_end = prev->at_end;
  return (0);
}
}
static int end_atom_handler(struct atom_value *atomv , struct ref_formatting_state *state___1 ,
                            struct strbuf *err___4 )
{
  struct ref_formatting_stack *current ;
  struct strbuf s___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  current = state___1->stack;
  s___1.alloc = 0UL;
  s___1.len = 0UL;
  s___1.buf = strbuf_slopbuf;
  if (! current->at_end) {
    tmp = _((char const   *)"format: %%(end) atom used without corresponding atom");
    tmp___0 = strbuf_addf_ret(err___4, -1, (char const   *)tmp);
    return (tmp___0);
  }
  (*(current->at_end))(& state___1->stack);
  current = state___1->stack;
  if (! (current->prev)->prev) {
    quote_formatting(& s___1, (char const   *)current->output.buf, (ssize_t )current->output.len,
                     state___1->quote_style);
    strbuf_swap(& current->output, & s___1);
  }
  strbuf_release(& s___1);
  pop_stack_element(& state___1->stack);
  return (0);
}
}
static char const   *find_next___0(char const   *cp )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *cp) {
      goto while_break;
    }
    if ((int const   )*cp == 37) {
      if ((int const   )*(cp + 1) == 40) {
        return (cp);
      } else
      if ((int const   )*(cp + 1) == 37) {
        cp ++;
      }
    }
    cp ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((char const   *)((void *)0));
}
}
static int reject_atom(enum atom_type atom_type )
{


  {
  return ((unsigned int )atom_type == 42U);
}
}
int verify_ref_format(struct ref_format *format___0 )
{
  char const   *cp ;
  char const   *sp ;
  struct strbuf err___4 ;
  char const   *color___0 ;
  char const   *ep ;
  char *tmp ;
  int at ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  format___0->need_color_reset_at_eol = 0;
  cp = format___0->format;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*cp) {
      sp = find_next___0(cp);
      if (! sp) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    err___4.alloc = 0UL;
    err___4.len = 0UL;
    err___4.buf = strbuf_slopbuf;
    tmp = strchr(sp, ')');
    ep = (char const   *)tmp;
    if (! ep) {
      tmp___0 = _((char const   *)"malformed format string %s");
      error((char const   *)tmp___0, sp);
      tmp___1 = const_error();
      return (tmp___1);
    }
    at = parse_ref_filter_atom(format___0, sp + 2, ep, & err___4);
    if (at < 0) {
      die((char const   *)"%s", err___4.buf);
    }
    tmp___3 = reject_atom((used_atom + at)->atom_type);
    if (tmp___3) {
      tmp___2 = _((char const   *)"this command reject atom %%(%.*s)");
      die((char const   *)tmp___2, (int )((ep - sp) - 2L), sp + 2);
    }
    if (format___0->quote_style == 4) {
      goto _L;
    } else
    if (format___0->quote_style == 1) {
      goto _L;
    } else
    if (format___0->quote_style == 8) {
      _L: /* CIL Label */
      if ((unsigned int )(used_atom + at)->atom_type == 29U) {
        if ((unsigned int )(used_atom + at)->u.raw_data.option == 0U) {
          tmp___4 = _((char const   *)"--format=%.*s cannot be used with --python, --shell, --tcl");
          die((char const   *)tmp___4, (int )((ep - sp) - 2L), sp + 2);
        }
      }
    }
    cp = ep + 1;
    tmp___7 = skip_prefix((used_atom + at)->name, (char const   *)"color:", & color___0);
    if (tmp___7) {
      tmp___5 = strcmp(color___0, (char const   *)"reset");
      if (tmp___5) {
        tmp___6 = 1;
      } else {
        tmp___6 = 0;
      }
      format___0->need_color_reset_at_eol = tmp___6;
    }
    strbuf_release(& err___4);
  }
  while_break: /* CIL Label */ ;
  }
  if (format___0->need_color_reset_at_eol) {
    tmp___8 = want_color_fd(1, format___0->use_color);
    if (! tmp___8) {
      format___0->need_color_reset_at_eol = 0;
    }
  }
  return (0);
}
}
static char const   *do_grab_oid(char const   *field , struct object_id  const  *oid ,
                                 struct used_atom *atom )
{
  char *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;

  {
  {
  if ((unsigned int )atom->u.oid.option == 0U) {
    goto case_0;
  }
  if ((unsigned int )atom->u.oid.option == 1U) {
    goto case_1;
  }
  if ((unsigned int )atom->u.oid.option == 2U) {
    goto case_2;
  }
  goto switch_default;
  case_0: /* CIL Label */
  tmp = oid_to_hex(oid);
  return ((char const   *)tmp);
  case_1: /* CIL Label */
  tmp___0 = repo_find_unique_abbrev(the_repository, oid, (int )atom->u.oid.length);
  return (tmp___0);
  case_2: /* CIL Label */
  tmp___1 = repo_find_unique_abbrev(the_repository, oid, default_abbrev);
  return (tmp___1);
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"ref-filter.c", 1064, (char const   *)"unknown %%(%s) option",
         field);
  switch_break: /* CIL Label */ ;
  }
}
}
static int grab_oid(char const   *name___0 , char const   *field , struct object_id  const  *oid ,
                    struct atom_value *v , struct used_atom *atom )
{
  char const   *tmp ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  tmp___1 = starts_with(name___0, field);
  if (tmp___1) {
    tmp = do_grab_oid(field, oid, atom);
    tmp___0 = xstrdup(tmp);
    v->s = (char const   *)tmp___0;
    return (1);
  }
  return (0);
}
}
static void grab_common_values(struct atom_value *val , int deref , struct expand_data *oi___0 )
{
  int i ;
  char const   *name___0 ;
  enum atom_type atom_type ;
  struct atom_value *v ;
  char const   *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < used_atom_cnt)) {
      goto while_break;
    }
    name___0 = (used_atom + i)->name;
    atom_type = (used_atom + i)->atom_type;
    v = val + i;
    if (! (! deref) != ((int const   )*name___0 == 42)) {
      goto __Cont;
    }
    if (deref) {
      name___0 ++;
    }
    if ((unsigned int )atom_type == 1U) {
      tmp = type_name((unsigned int )oi___0->type);
      tmp___0 = xstrdup(tmp);
      v->s = (char const   *)tmp___0;
    } else
    if ((unsigned int )atom_type == 2U) {
      if ((unsigned int )(used_atom + i)->u.objectsize.option == 1U) {
        v->value = (uintmax_t )oi___0->disk_size;
        tmp___1 = xstrfmt((char const   *)"%lu", (uintmax_t )oi___0->disk_size);
        v->s = (char const   *)tmp___1;
      } else
      if ((unsigned int )(used_atom + i)->u.objectsize.option == 0U) {
        v->value = oi___0->size;
        tmp___2 = xstrfmt((char const   *)"%lu", oi___0->size);
        v->s = (char const   *)tmp___2;
      }
    } else
    if ((unsigned int )atom_type == 4U) {
      tmp___3 = oid_to_hex((struct object_id  const  *)(& oi___0->delta_base_oid));
      tmp___4 = xstrdup((char const   *)tmp___3);
      v->s = (char const   *)tmp___4;
    } else
    if ((unsigned int )atom_type == 3U) {
      if (deref) {
        grab_oid(name___0, (char const   *)"objectname", (struct object_id  const  *)(& oi___0->oid),
                 v, used_atom + i);
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void grab_tag_values(struct atom_value *val , int deref , struct object *obj )
{
  int i ;
  struct tag *tag ;
  char const   *name___0 ;
  enum atom_type atom_type ;
  struct atom_value *v ;
  char *tmp ;
  char const   *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;

  {
  tag = (struct tag *)obj;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < used_atom_cnt)) {
      goto while_break;
    }
    name___0 = (used_atom + i)->name;
    atom_type = (used_atom + i)->atom_type;
    v = val + i;
    if (! (! deref) != ((int const   )*name___0 == 42)) {
      goto __Cont;
    }
    if (deref) {
      name___0 ++;
    }
    if ((unsigned int )atom_type == 10U) {
      tmp = xstrdup((char const   *)tag->tag);
      v->s = (char const   *)tmp;
    } else
    if ((unsigned int )atom_type == 9U) {
      if (tag->tagged) {
        tmp___0 = type_name((tag->tagged)->type);
        tmp___1 = xstrdup(tmp___0);
        v->s = (char const   *)tmp___1;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if ((unsigned int )atom_type == 8U) {
      if (tag->tagged) {
        tmp___2 = oid_to_hex((struct object_id  const  *)(& (tag->tagged)->oid));
        tmp___3 = xstrdup((char const   *)tmp___2);
        v->s = (char const   *)tmp___3;
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void grab_commit_values(struct atom_value *val , int deref , struct object *obj )
{
  int i ;
  struct commit *commit ;
  char const   *name___0 ;
  enum atom_type atom_type ;
  struct atom_value *v ;
  struct object_id *tmp ;
  int tmp___0 ;
  unsigned int tmp___1 ;
  char *tmp___2 ;
  struct commit_list *parents ;
  struct strbuf s___1 ;
  struct object_id *oid ;
  char const   *tmp___3 ;
  char *tmp___4 ;

  {
  commit = (struct commit *)obj;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < used_atom_cnt)) {
      goto while_break;
    }
    name___0 = (used_atom + i)->name;
    atom_type = (used_atom + i)->atom_type;
    v = val + i;
    if (! (! deref) != ((int const   )*name___0 == 42)) {
      goto __Cont;
    }
    if (deref) {
      name___0 ++;
    }
    if ((unsigned int )atom_type == 5U) {
      tmp = get_commit_tree_oid((struct commit  const  *)commit);
      tmp___0 = grab_oid(name___0, (char const   *)"tree", (struct object_id  const  *)tmp,
                         v, used_atom + i);
      if (tmp___0) {
        goto __Cont;
      }
    }
    if ((unsigned int )atom_type == 7U) {
      tmp___1 = commit_list_count((struct commit_list  const  *)commit->parents);
      v->value = (uintmax_t )tmp___1;
      tmp___2 = xstrfmt((char const   *)"%lu", v->value);
      v->s = (char const   *)tmp___2;
    } else
    if ((unsigned int )atom_type == 6U) {
      s___1.alloc = 0UL;
      s___1.len = 0UL;
      s___1.buf = strbuf_slopbuf;
      parents = commit->parents;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! parents) {
          goto while_break___0;
        }
        oid = & (parents->item)->object.oid;
        if ((unsigned long )parents != (unsigned long )commit->parents) {
          strbuf_addch(& s___1, ' ');
        }
        tmp___3 = do_grab_oid((char const   *)"parent", (struct object_id  const  *)oid,
                              used_atom + i);
        strbuf_addstr(& s___1, tmp___3);
        parents = parents->next;
      }
      while_break___0: /* CIL Label */ ;
      }
      tmp___4 = strbuf_detach(& s___1, (size_t *)((void *)0));
      v->s = (char const   *)tmp___4;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static char const   *find_wholine(char const   *who , int wholen , char const   *buf___19 )
{
  char const   *eol ;
  int tmp ;
  char *tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *buf___19) {
      goto while_break;
    }
    tmp = strncmp(buf___19, who, (size_t )wholen);
    if (! tmp) {
      if ((int const   )*(buf___19 + wholen) == 32) {
        return ((buf___19 + wholen) + 1);
      }
    }
    tmp___0 = strchr(buf___19, '\n');
    eol = (char const   *)tmp___0;
    if (! eol) {
      return ((char const   *)"");
    }
    eol ++;
    if ((int const   )*eol == 10) {
      return ((char const   *)"");
    }
    buf___19 = eol;
  }
  while_break: /* CIL Label */ ;
  }
  return ((char const   *)"");
}
}
static char const   *copy_line(char const   *buf___19 )
{
  char const   *eol ;
  char *tmp ;
  void *tmp___0 ;

  {
  tmp = strchrnul(buf___19, '\n');
  eol = (char const   *)tmp;
  tmp___0 = xmemdupz((void const   *)buf___19, (size_t )(eol - buf___19));
  return ((char const   *)tmp___0);
}
}
static char const   *copy_name(char const   *buf___19 )
{
  char const   *cp ;
  void *tmp ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  cp = buf___19;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*cp) {
      if (! ((int const   )*cp != 10)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___0 = strncmp(cp, (char const   *)" <", (size_t )2);
    if (! tmp___0) {
      tmp = xmemdupz((void const   *)buf___19, (size_t )(cp - buf___19));
      return ((char const   *)tmp);
    }
    cp ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = xstrdup((char const   *)"");
  return ((char const   *)tmp___1);
}
}
static char const   *copy_email___0(char const   *buf___19 , struct used_atom *atom )
{
  char const   *email ;
  char *tmp ;
  char const   *eoemail ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;
  char *tmp___5 ;
  void *tmp___6 ;

  {
  tmp = strchr(buf___19, '<');
  email = (char const   *)tmp;
  if (! email) {
    tmp___0 = xstrdup((char const   *)"");
    return ((char const   *)tmp___0);
  }
  {
  if ((unsigned int )atom->u.email_option.option == 0U) {
    goto case_0;
  }
  if ((unsigned int )atom->u.email_option.option == 1U) {
    goto case_1;
  }
  if ((unsigned int )atom->u.email_option.option == 2U) {
    goto case_2;
  }
  goto switch_default;
  case_0: /* CIL Label */
  tmp___1 = strchr(email, '>');
  eoemail = (char const   *)tmp___1;
  if (eoemail) {
    eoemail ++;
  }
  goto switch_break;
  case_1: /* CIL Label */
  email ++;
  tmp___2 = strchr(email, '>');
  eoemail = (char const   *)tmp___2;
  goto switch_break;
  case_2: /* CIL Label */
  email ++;
  tmp___3 = strchr(email, '@');
  eoemail = (char const   *)tmp___3;
  if (! eoemail) {
    tmp___4 = strchr(email, '>');
    eoemail = (char const   *)tmp___4;
  }
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"ref-filter.c", 1223, (char const   *)"unknown email option");
  switch_break: /* CIL Label */ ;
  }
  if (! eoemail) {
    tmp___5 = xstrdup((char const   *)"");
    return ((char const   *)tmp___5);
  }
  tmp___6 = xmemdupz((void const   *)email, (size_t )(eoemail - email));
  return ((char const   *)tmp___6);
}
}
static char *copy_subject(char const   *buf___19 , unsigned long len___0 )
{
  struct strbuf sb___6 ;
  int i ;
  char *tmp ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < len___0)) {
      goto while_break;
    }
    if ((int const   )*(buf___19 + i) == 13) {
      if ((unsigned long )(i + 1) < len___0) {
        if ((int const   )*(buf___19 + (i + 1)) == 10) {
          goto __Cont;
        }
      }
    }
    if ((int const   )*(buf___19 + i) == 10) {
      strbuf_addch(& sb___6, ' ');
    } else {
      strbuf_addch(& sb___6, (int )*(buf___19 + i));
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = strbuf_detach(& sb___6, (size_t *)((void *)0));
  return (tmp);
}
}
static void grab_date(char const   *buf___19 , struct atom_value *v , char const   *atomname )
{
  char const   *eoemail ;
  char *tmp ;
  char *zone ;
  timestamp_t timestamp___0 ;
  long tz ;
  struct date_mode date_mode ;
  char const   *formatp ;
  char *tmp___0 ;
  int *tmp___1 ;
  char const   *tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;

  {
  tmp = strstr(buf___19, (char const   *)"> ");
  eoemail = (char const   *)tmp;
  date_mode.type = (enum date_mode_type )0;
  date_mode.strftime_fmt = (char const   *)0;
  date_mode.local = 0;
  tmp___0 = strchr(atomname, ':');
  formatp = (char const   *)tmp___0;
  if ((unsigned long )formatp != (unsigned long )((void *)0)) {
    formatp ++;
    parse_date_format(formatp, & date_mode);
  }
  if (! eoemail) {
    goto bad;
  }
  timestamp___0 = strtoumax(eoemail + 2, & zone, 10);
  if (timestamp___0 == 18446744073709551615UL) {
    goto bad;
  }
  tz = strtol((char const   * __restrict  )zone, (char ** __restrict  )((void *)0),
              10);
  if (tz == (-0x7FFFFFFFFFFFFFFF-1)) {
    goto _L;
  } else
  if (tz == 0x7fffffffffffffffL) {
    _L: /* CIL Label */
    tmp___1 = __errno_location();
    if (*tmp___1 == 34) {
      goto bad;
    }
  }
  tmp___2 = show_date(timestamp___0, (int )tz, (struct date_mode  const  *)(& date_mode));
  tmp___3 = xstrdup(tmp___2);
  v->s = (char const   *)tmp___3;
  v->value = timestamp___0;
  return;
  bad:
  tmp___4 = xstrdup((char const   *)"");
  v->s = (char const   *)tmp___4;
  v->value = (uintmax_t )0;
  return;
}
}
static void grab_person(char const   *who , struct atom_value *val , int deref , void *buf___19 )
{
  int i ;
  int wholen ;
  size_t tmp ;
  char const   *wholine ;
  char const   *name___0 ;
  struct atom_value *v ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const   *name___1 ;
  enum atom_type atom_type ;
  struct atom_value *v___0 ;

  {
  tmp = strlen(who);
  wholen = (int )tmp;
  wholine = (char const   *)((void *)0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < used_atom_cnt)) {
      goto while_break;
    }
    name___0 = (used_atom + i)->name;
    v = val + i;
    if (! (! deref) != ((int const   )*name___0 == 42)) {
      goto __Cont;
    }
    if (deref) {
      name___0 ++;
    }
    tmp___0 = strncmp(who, name___0, (size_t )wholen);
    if (tmp___0) {
      goto __Cont;
    }
    if ((int const   )*(name___0 + wholen) != 0) {
      tmp___1 = strcmp(name___0 + wholen, (char const   *)"name");
      if (tmp___1) {
        tmp___2 = starts_with(name___0 + wholen, (char const   *)"email");
        if (! tmp___2) {
          tmp___3 = starts_with(name___0 + wholen, (char const   *)"date");
          if (! tmp___3) {
            goto __Cont;
          }
        }
      }
    }
    if (! wholine) {
      wholine = find_wholine(who, wholen, (char const   *)buf___19);
    }
    if (! wholine) {
      return;
    }
    if ((int const   )*(name___0 + wholen) == 0) {
      v->s = copy_line(wholine);
    } else {
      tmp___6 = strcmp(name___0 + wholen, (char const   *)"name");
      if (tmp___6) {
        tmp___5 = starts_with(name___0 + wholen, (char const   *)"email");
        if (tmp___5) {
          v->s = copy_email___0(wholine, used_atom + i);
        } else {
          tmp___4 = starts_with(name___0 + wholen, (char const   *)"date");
          if (tmp___4) {
            grab_date(wholine, v, name___0);
          }
        }
      } else {
        v->s = copy_name(wholine);
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___7 = strcmp(who, (char const   *)"tagger");
  if (tmp___7) {
    tmp___8 = strcmp(who, (char const   *)"committer");
    if (tmp___8) {
      return;
    }
  }
  if (! wholine) {
    wholine = find_wholine(who, wholen, (char const   *)buf___19);
  }
  if (! wholine) {
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < used_atom_cnt)) {
      goto while_break___0;
    }
    name___1 = (used_atom + i)->name;
    atom_type = (used_atom + i)->atom_type;
    v___0 = val + i;
    if (! (! deref) != ((int const   )*name___1 == 42)) {
      goto __Cont___0;
    }
    if (deref) {
      name___1 ++;
    }
    if ((unsigned int )atom_type == 24U) {
      grab_date(wholine, v___0, name___1);
    } else
    if ((unsigned int )atom_type == 23U) {
      v___0->s = copy_line(wholine);
    }
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void find_subpos(char const   *buf___19 , char const   **sub , size_t *sublen ,
                        char const   **body , size_t *bodylen , size_t *nonsiglen ,
                        char const   **sig , size_t *siglen )
{
  struct strbuf payload ;
  struct strbuf signature___0 ;
  char const   *eol ;
  char const   *end ;
  size_t tmp ;
  char const   *sigstart ;
  char *tmp___0 ;
  char *tmp___1 ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  char *tmp___4 ;
  char *tmp___5 ;
  char *tmp___6 ;

  {
  payload.alloc = 0UL;
  payload.len = 0UL;
  payload.buf = strbuf_slopbuf;
  signature___0.alloc = 0UL;
  signature___0.len = 0UL;
  signature___0.buf = strbuf_slopbuf;
  tmp = strlen(buf___19);
  end = buf___19 + tmp;
  parse_signature(buf___19, (size_t )(end - buf___19), & payload, & signature___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*buf___19) {
      if (! ((int const   )*buf___19 != 10)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___0 = strchrnul(buf___19, '\n');
    eol = (char const   *)tmp___0;
    if (*eol) {
      eol ++;
    }
    buf___19 = eol;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((int const   )*buf___19 == 10)) {
      goto while_break___0;
    }
    buf___19 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___1 = strbuf_detach(& signature___0, siglen);
  *sig = (char const   *)tmp___1;
  tmp___2 = strlen(buf___19);
  tmp___3 = parse_signed_buffer(buf___19, tmp___2);
  sigstart = buf___19 + tmp___3;
  *sub = buf___19;
  tmp___6 = strstr(*sub, (char const   *)"\n\n");
  eol = (char const   *)tmp___6;
  if (eol) {
    if ((unsigned long )eol < (unsigned long )sigstart) {
      eol = eol;
    } else {
      eol = sigstart;
    }
  } else {
    tmp___5 = strstr(*sub, (char const   *)"\r\n\r\n");
    eol = (char const   *)tmp___5;
    if (! eol) {
      tmp___4 = strrchr(*sub, '\000');
      eol = (char const   *)tmp___4;
    }
  }
  buf___19 = eol;
  *sublen = (size_t )(buf___19 - *sub);
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (*sublen) {
      if (! ((int const   )*(*sub + (*sublen - 1UL)) == 10)) {
        if (! ((int const   )*(*sub + (*sublen - 1UL)) == 13)) {
          goto while_break___1;
        }
      }
    } else {
      goto while_break___1;
    }
    (*sublen) --;
  }
  while_break___1: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((int const   )*buf___19 == 10)) {
      if (! ((int const   )*buf___19 == 13)) {
        goto while_break___2;
      }
    }
    buf___19 ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  *body = buf___19;
  *bodylen = strlen(buf___19);
  *nonsiglen = (size_t )(sigstart - buf___19);
  return;
}
}
static void append_lines(struct strbuf *out , char const   *buf___19 , unsigned long size ,
                         int lines )
{
  int i ;
  char const   *sp ;
  char const   *eol ;
  size_t len___0 ;
  void *tmp ;

  {
  sp = buf___19;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i < lines) {
      if (! ((unsigned long )sp < (unsigned long )(buf___19 + size))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if (i) {
      strbuf_addstr(out, (char const   *)"\n    ");
    }
    tmp = memchr((void const   *)sp, '\n', size - (unsigned long )(sp - buf___19));
    eol = (char const   *)tmp;
    if (eol) {
      len___0 = (size_t )(eol - sp);
    } else {
      len___0 = size - (unsigned long )(sp - buf___19);
    }
    strbuf_add(out, (void const   *)sp, len___0);
    if (! eol) {
      goto while_break;
    }
    sp = eol + 1;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void grab_sub_body_contents(struct atom_value *val , int deref , struct expand_data *data )
{
  int i ;
  char const   *subpos ;
  char const   *bodypos ;
  char const   *sigpos ;
  size_t sublen ;
  size_t bodylen ;
  size_t nonsiglen ;
  size_t siglen ;
  void *buf___19 ;
  struct used_atom *atom ;
  char const   *name___0 ;
  struct atom_value *v ;
  enum atom_type atom_type ;
  unsigned long buf_size ;
  void *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;
  struct strbuf sb___6 ;
  char *tmp___6 ;
  void *tmp___7 ;
  size_t tmp___8 ;
  char *tmp___9 ;
  void *tmp___10 ;
  void *tmp___11 ;
  struct strbuf s___1 ;
  char const   *contents_end ;
  char *tmp___12 ;
  struct strbuf s___2 ;
  char *tmp___13 ;
  char *tmp___14 ;

  {
  subpos = (char const   *)((void *)0);
  bodypos = (char const   *)((void *)0);
  sigpos = (char const   *)((void *)0);
  sublen = (size_t )0;
  bodylen = (size_t )0;
  nonsiglen = (size_t )0;
  siglen = (size_t )0;
  buf___19 = data->content;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < used_atom_cnt)) {
      goto while_break;
    }
    atom = used_atom + i;
    name___0 = atom->name;
    v = val + i;
    atom_type = atom->atom_type;
    if (! (! deref) != ((int const   )*name___0 == 42)) {
      goto __Cont;
    }
    if (deref) {
      name___0 ++;
    }
    if ((unsigned int )atom_type == 29U) {
      buf_size = data->size;
      if ((unsigned int )atom->u.raw_data.option == 0U) {
        tmp = xmemdupz((void const   *)buf___19, buf_size);
        v->s = (char const   *)tmp;
        v->s_size = (ssize_t )buf_size;
      } else
      if ((unsigned int )atom->u.raw_data.option == 1U) {
        tmp___0 = xstrfmt((char const   *)"%lu", buf_size);
        v->s = (char const   *)tmp___0;
      }
      goto __Cont;
    }
    if ((int )data->type != 4) {
      if ((int )data->type != 1) {
        goto __Cont;
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      tmp___1 = strcmp(name___0, (char const   *)"body");
      if (tmp___1) {
        tmp___2 = starts_with(name___0, (char const   *)"subject");
        if (! tmp___2) {
          tmp___3 = starts_with(name___0, (char const   *)"trailers");
          if (! tmp___3) {
            tmp___4 = starts_with(name___0, (char const   *)"contents");
            if (! tmp___4) {
              goto __Cont;
            }
          }
        }
      }
    }
    if (! subpos) {
      find_subpos((char const   *)buf___19, & subpos, & sublen, & bodypos, & bodylen,
                  & nonsiglen, & sigpos, & siglen);
    }
    if ((unsigned int )atom->u.contents.option == 6U) {
      tmp___5 = copy_subject(subpos, sublen);
      v->s = (char const   *)tmp___5;
    } else
    if ((unsigned int )atom->u.contents.option == 7U) {
      sb___6.alloc = 0UL;
      sb___6.len = 0UL;
      sb___6.buf = strbuf_slopbuf;
      format_sanitized_subject(& sb___6, subpos, sublen);
      tmp___6 = strbuf_detach(& sb___6, (size_t *)((void *)0));
      v->s = (char const   *)tmp___6;
    } else
    if ((unsigned int )atom->u.contents.option == 2U) {
      tmp___7 = xmemdupz((void const   *)bodypos, bodylen);
      v->s = (char const   *)tmp___7;
    } else
    if ((unsigned int )atom->u.contents.option == 3U) {
      tmp___8 = strlen(subpos);
      tmp___9 = xstrfmt((char const   *)"%lu", tmp___8);
      v->s = (char const   *)tmp___9;
    } else
    if ((unsigned int )atom->u.contents.option == 1U) {
      tmp___10 = xmemdupz((void const   *)bodypos, nonsiglen);
      v->s = (char const   *)tmp___10;
    } else
    if ((unsigned int )atom->u.contents.option == 5U) {
      tmp___11 = xmemdupz((void const   *)sigpos, siglen);
      v->s = (char const   *)tmp___11;
    } else
    if ((unsigned int )atom->u.contents.option == 4U) {
      s___1.alloc = 0UL;
      s___1.len = 0UL;
      s___1.buf = strbuf_slopbuf;
      contents_end = bodypos + nonsiglen;
      append_lines(& s___1, subpos, (unsigned long )(contents_end - subpos), (int )atom->u.contents.nlines);
      tmp___12 = strbuf_detach(& s___1, (size_t *)((void *)0));
      v->s = (char const   *)tmp___12;
    } else
    if ((unsigned int )atom->u.contents.option == 8U) {
      s___2.alloc = 0UL;
      s___2.len = 0UL;
      s___2.buf = strbuf_slopbuf;
      format_trailers_from_commit(& s___2, subpos, (struct process_trailer_options  const  *)(& atom->u.contents.trailer_opts));
      tmp___13 = strbuf_detach(& s___2, (size_t *)((void *)0));
      v->s = (char const   *)tmp___13;
    } else
    if ((unsigned int )atom->u.contents.option == 0U) {
      tmp___14 = xstrdup(subpos);
      v->s = (char const   *)tmp___14;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)sigpos);
  return;
}
}
static void fill_missing_values(struct atom_value *val )
{
  int i ;
  struct atom_value *v ;
  char *tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < used_atom_cnt)) {
      goto while_break;
    }
    v = val + i;
    if ((unsigned long )v->s == (unsigned long )((void *)0)) {
      tmp = xstrdup((char const   *)"");
      v->s = (char const   *)tmp;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void grab_values(struct atom_value *val , int deref , struct object *obj ,
                        struct expand_data *data )
{
  void *buf___19 ;

  {
  buf___19 = data->content;
  {
  if (obj->type == 4U) {
    goto case_4;
  }
  if (obj->type == 1U) {
    goto case_1;
  }
  if (obj->type == 2U) {
    goto case_2;
  }
  if (obj->type == 3U) {
    goto case_3;
  }
  goto switch_default;
  case_4: /* CIL Label */
  grab_tag_values(val, deref, obj);
  grab_sub_body_contents(val, deref, data);
  grab_person((char const   *)"tagger", val, deref, buf___19);
  goto switch_break;
  case_1: /* CIL Label */
  grab_commit_values(val, deref, obj);
  grab_sub_body_contents(val, deref, data);
  grab_person((char const   *)"author", val, deref, buf___19);
  grab_person((char const   *)"committer", val, deref, buf___19);
  goto switch_break;
  case_2: /* CIL Label */
  grab_sub_body_contents(val, deref, data);
  goto switch_break;
  case_3: /* CIL Label */
  grab_sub_body_contents(val, deref, data);
  goto switch_break;
  switch_default: /* CIL Label */
  die((char const   *)"Eh?  Object of type %d?", obj->type);
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
__inline static char *copy_advance(char *dst , char const   *src )
{
  char *tmp ;
  char const   *tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *src) {
      goto while_break;
    }
    tmp = dst;
    dst ++;
    tmp___0 = src;
    src ++;
    *tmp = (char )*tmp___0;
  }
  while_break: /* CIL Label */ ;
  }
  return (dst);
}
}
static char const   *lstrip_ref_components(char const   *refname , int len___0 )
{
  long remaining ;
  char const   *start ;
  char *tmp ;
  char const   *to_free ;
  int i ;
  char const   *p___0 ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;

  {
  remaining = (long )len___0;
  tmp = xstrdup(refname);
  start = (char const   *)tmp;
  to_free = start;
  if (len___0 < 0) {
    p___0 = refname;
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! *(p___0 + i)) {
        goto while_break;
      }
      if ((int const   )*(p___0 + i) == 47) {
        i ++;
      } else {
        tmp___0 = p___0;
        p___0 ++;
      }
    }
    while_break: /* CIL Label */ ;
    }
    remaining = (long )((i + len___0) + 1);
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (remaining > 0L)) {
      goto while_break___0;
    }
    tmp___1 = start;
    start ++;
    {
    if ((int const   )*tmp___1 == 0) {
      goto case_0;
    }
    if ((int const   )*tmp___1 == 47) {
      goto case_47;
    }
    goto switch_break;
    case_0: /* CIL Label */
    free((void *)((char *)to_free));
    tmp___2 = xstrdup((char const   *)"");
    return ((char const   *)tmp___2);
    case_47: /* CIL Label */
    remaining --;
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___3 = xstrdup(start);
  start = (char const   *)tmp___3;
  free((void *)((char *)to_free));
  return (start);
}
}
static char const   *rstrip_ref_components(char const   *refname , int len___0 )
{
  long remaining ;
  char const   *start ;
  char *tmp ;
  char const   *to_free ;
  int i ;
  char const   *p___0 ;
  char const   *tmp___0 ;
  char *p___1 ;
  char *tmp___1 ;
  char *tmp___2 ;
  long tmp___3 ;

  {
  remaining = (long )len___0;
  tmp = xstrdup(refname);
  start = (char const   *)tmp;
  to_free = start;
  if (len___0 < 0) {
    p___0 = refname;
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! *(p___0 + i)) {
        goto while_break;
      }
      if ((int const   )*(p___0 + i) == 47) {
        i ++;
      } else {
        tmp___0 = p___0;
        p___0 ++;
      }
    }
    while_break: /* CIL Label */ ;
    }
    remaining = (long )((i + len___0) + 1);
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___3 = remaining;
    remaining --;
    if (! (tmp___3 > 0L)) {
      goto while_break___0;
    }
    tmp___1 = strrchr(start, '/');
    p___1 = tmp___1;
    if ((unsigned long )p___1 == (unsigned long )((void *)0)) {
      free((void *)((char *)to_free));
      tmp___2 = xstrdup((char const   *)"");
      return ((char const   *)tmp___2);
    } else {
      *(p___1 + 0) = (char )'\000';
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  return (start);
}
}
static char const   *show_ref(struct refname_atom *atom , char const   *refname )
{
  char *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char *tmp___2 ;

  {
  if ((unsigned int )atom->option == 1U) {
    tmp = shorten_unambiguous_ref(refname, warn_ambiguous_refs);
    return ((char const   *)tmp);
  } else
  if ((unsigned int )atom->option == 2U) {
    tmp___0 = lstrip_ref_components(refname, atom->lstrip);
    return (tmp___0);
  } else
  if ((unsigned int )atom->option == 3U) {
    tmp___1 = rstrip_ref_components(refname, atom->rstrip);
    return (tmp___1);
  } else {
    tmp___2 = xstrdup(refname);
    return ((char const   *)tmp___2);
  }
}
}
static void fill_remote_ref_details(struct used_atom *atom , char const   *refname ,
                                    struct branch *branch___0 , char const   **s___1 )
{
  int num_ours ;
  int num_theirs ;
  char *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  char const   *to_free ;
  char *tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;
  char *tmp___8 ;
  char *tmp___9 ;
  char *tmp___10 ;
  char *tmp___11 ;
  int explicit ;
  char const   *remote ;
  char const   *tmp___12 ;
  char const   *tmp___13 ;
  char const   *tmp___14 ;
  char const   *tmp___15 ;
  char *tmp___16 ;
  char const   *merge___1 ;
  char const   *tmp___17 ;
  char *tmp___18 ;

  {
  if ((unsigned int )atom->u.remote_ref.option == 0U) {
    *s___1 = show_ref(& atom->u.remote_ref.refname, refname);
  } else
  if ((unsigned int )atom->u.remote_ref.option == 1U) {
    tmp___4 = stat_tracking_info(branch___0, & num_ours, & num_theirs, (char const   **)((void *)0),
                                 (int )atom->u.remote_ref.push, (enum ahead_behind_flags )1);
    if (tmp___4 < 0) {
      tmp = xstrdup(msgs.gone);
      *s___1 = (char const   *)tmp;
    } else
    if (! num_ours) {
      if (! num_theirs) {
        tmp___0 = xstrdup((char const   *)"");
        *s___1 = (char const   *)tmp___0;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (! num_ours) {
      tmp___1 = xstrfmt(msgs.behind, num_theirs);
      *s___1 = (char const   *)tmp___1;
    } else
    if (! num_theirs) {
      tmp___2 = xstrfmt(msgs.ahead, num_ours);
      *s___1 = (char const   *)tmp___2;
    } else {
      tmp___3 = xstrfmt(msgs.ahead_behind, num_ours, num_theirs);
      *s___1 = (char const   *)tmp___3;
    }
    if (! atom->u.remote_ref.nobracket) {
      if (*(*(s___1 + 0))) {
        to_free = *s___1;
        tmp___5 = xstrfmt((char const   *)"[%s]", *s___1);
        *s___1 = (char const   *)tmp___5;
        free((void *)to_free);
      }
    }
  } else
  if ((unsigned int )atom->u.remote_ref.option == 2U) {
    tmp___7 = stat_tracking_info(branch___0, & num_ours, & num_theirs, (char const   **)((void *)0),
                                 (int )atom->u.remote_ref.push, (enum ahead_behind_flags )1);
    if (tmp___7 < 0) {
      tmp___6 = xstrdup((char const   *)"");
      *s___1 = (char const   *)tmp___6;
      return;
    }
    if (! num_ours) {
      if (! num_theirs) {
        tmp___8 = xstrdup((char const   *)"=");
        *s___1 = (char const   *)tmp___8;
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if (! num_ours) {
      tmp___9 = xstrdup((char const   *)"<");
      *s___1 = (char const   *)tmp___9;
    } else
    if (! num_theirs) {
      tmp___10 = xstrdup((char const   *)">");
      *s___1 = (char const   *)tmp___10;
    } else {
      tmp___11 = xstrdup((char const   *)"<>");
      *s___1 = (char const   *)tmp___11;
    }
  } else
  if ((unsigned int )atom->u.remote_ref.option == 3U) {
    if (atom->u.remote_ref.push) {
      tmp___12 = pushremote_for_branch(branch___0, & explicit);
      tmp___14 = tmp___12;
    } else {
      tmp___13 = remote_for_branch(branch___0, & explicit);
      tmp___14 = tmp___13;
    }
    remote = tmp___14;
    if (explicit) {
      tmp___15 = remote;
    } else {
      tmp___15 = (char const   *)"";
    }
    tmp___16 = xstrdup(tmp___15);
    *s___1 = (char const   *)tmp___16;
  } else
  if ((unsigned int )atom->u.remote_ref.option == 4U) {
    merge___1 = remote_ref_for_branch(branch___0, (int )atom->u.remote_ref.push);
    if (merge___1) {
      tmp___17 = merge___1;
    } else {
      tmp___17 = (char const   *)"";
    }
    tmp___18 = xstrdup(tmp___17);
    *s___1 = (char const   *)tmp___18;
  } else {
    BUG_fl((char const   *)"ref-filter.c", 1694, (char const   *)"unhandled RR_* enum");
  }
  return;
}
}
char *get_head_description(void)
{
  struct strbuf desc___0 ;
  struct wt_status_state state___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char *tmp___5 ;

  {
  desc___0.alloc = 0UL;
  desc___0.len = 0UL;
  desc___0.buf = strbuf_slopbuf;
  memset((void *)(& state___1), 0, sizeof(state___1));
  wt_status_get_state(the_repository, & state___1, 1);
  if (state___1.rebase_in_progress) {
    goto _L;
  } else
  if (state___1.rebase_interactive_in_progress) {
    _L: /* CIL Label */
    if (state___1.branch) {
      tmp = _((char const   *)"(no branch, rebasing %s)");
      strbuf_addf(& desc___0, (char const   *)tmp, state___1.branch);
    } else {
      tmp___0 = _((char const   *)"(no branch, rebasing detached HEAD %s)");
      strbuf_addf(& desc___0, (char const   *)tmp___0, state___1.detached_from);
    }
  } else
  if (state___1.bisect_in_progress) {
    tmp___1 = _((char const   *)"(no branch, bisect started on %s)");
    strbuf_addf(& desc___0, (char const   *)tmp___1, state___1.branch);
  } else
  if (state___1.detached_from) {
    if (state___1.detached_at) {
      tmp___2 = _((char const   *)"(HEAD detached at %s)");
      strbuf_addf(& desc___0, (char const   *)tmp___2, state___1.detached_from);
    } else {
      tmp___3 = _((char const   *)"(HEAD detached from %s)");
      strbuf_addf(& desc___0, (char const   *)tmp___3, state___1.detached_from);
    }
  } else {
    tmp___4 = _((char const   *)"(no branch)");
    strbuf_addstr(& desc___0, (char const   *)tmp___4);
  }
  tmp___5 = strbuf_detach(& desc___0, (size_t *)((void *)0));
  return (tmp___5);
}
}
static char const   *get_symref(struct used_atom *atom , struct ref_array_item *ref )
{
  char *tmp ;
  char const   *tmp___0 ;

  {
  if (! ref->symref) {
    tmp = xstrdup((char const   *)"");
    return ((char const   *)tmp);
  } else {
    tmp___0 = show_ref(& atom->u.refname, ref->symref);
    return (tmp___0);
  }
}
}
static char const   *get_refname(struct used_atom *atom , struct ref_array_item *ref )
{
  char *tmp ;
  char const   *tmp___0 ;

  {
  if (ref->kind & 32U) {
    tmp = get_head_description();
    return ((char const   *)tmp);
  }
  tmp___0 = show_ref(& atom->u.refname, (char const   *)(ref->refname));
  return (tmp___0);
}
}
static int get_object(struct ref_array_item *ref , int deref , struct object **obj ,
                      struct expand_data *oi___0 , struct strbuf *err___4 )
{
  int eaten ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;

  {
  eaten = 1;
  if (oi___0->info.contentp) {
    oi___0->info.sizep = & oi___0->size;
    oi___0->info.typep = & oi___0->type;
  }
  tmp___2 = oid_object_info_extended(the_repository, (struct object_id  const  *)(& oi___0->oid),
                                     & oi___0->info, 1U);
  if (tmp___2) {
    tmp = oid_to_hex((struct object_id  const  *)(& oi___0->oid));
    tmp___0 = _((char const   *)"missing object %s for %s");
    tmp___1 = strbuf_addf_ret(err___4, -1, (char const   *)tmp___0, tmp, ref->refname);
    return (tmp___1);
  }
  if (oi___0->info.disk_sizep) {
    if (oi___0->disk_size < 0L) {
      BUG_fl((char const   *)"ref-filter.c", 1757, (char const   *)"Object size is less than zero.");
    }
  }
  if (oi___0->info.contentp) {
    *obj = parse_object_buffer(the_repository, (struct object_id  const  *)(& oi___0->oid),
                               oi___0->type, oi___0->size, oi___0->content, & eaten);
    if (! *obj) {
      if (! eaten) {
        free(oi___0->content);
      }
      tmp___3 = oid_to_hex((struct object_id  const  *)(& oi___0->oid));
      tmp___4 = _((char const   *)"parse_object_buffer failed on %s for %s");
      tmp___5 = strbuf_addf_ret(err___4, -1, (char const   *)tmp___4, tmp___3, ref->refname);
      return (tmp___5);
    }
    grab_values(ref->value, deref, *obj, oi___0);
  }
  grab_common_values(ref->value, deref, oi___0);
  if (! eaten) {
    free(oi___0->content);
  }
  return (0);
}
}
static void populate_worktree_map(struct hashmap *map___0 , struct worktree **worktrees )
{
  int i ;
  struct ref_to_worktree_entry *entry ;
  void *tmp ;
  unsigned int tmp___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(worktrees + i)) {
      goto while_break;
    }
    if ((*(worktrees + i))->head_ref) {
      tmp = xmalloc(sizeof(*entry));
      entry = (struct ref_to_worktree_entry *)tmp;
      entry->wt = *(worktrees + i);
      tmp___0 = strhash((char const   *)(*(worktrees + i))->head_ref);
      hashmap_entry_init(& entry->ent, tmp___0);
      hashmap_add(map___0, & entry->ent);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void lazy_init_worktree_map(void)
{


  {
  if (ref_to_worktree_map.worktrees) {
    return;
  }
  ref_to_worktree_map.worktrees = get_worktrees();
  hashmap_init(& ref_to_worktree_map.map, & ref_to_worktree_map_cmpfnc, (void const   *)((void *)0),
               (size_t )0);
  populate_worktree_map(& ref_to_worktree_map.map, ref_to_worktree_map.worktrees);
  return;
}
}
static char *get_worktree_path(struct used_atom  const  *atom , struct ref_array_item  const  *ref )
{
  struct hashmap_entry entry ;
  struct hashmap_entry *e ;
  struct ref_to_worktree_entry *lookup_result ;
  unsigned int tmp ;
  char *tmp___0 ;
  char *tmp___1 ;

  {
  lazy_init_worktree_map();
  tmp = strhash((char const   *)(ref->refname));
  hashmap_entry_init(& entry, tmp);
  e = hashmap_get((struct hashmap  const  *)(& ref_to_worktree_map.map), (struct hashmap_entry  const  *)(& entry),
                  (void const   *)(ref->refname));
  if (! e) {
    tmp___0 = xstrdup((char const   *)"");
    return (tmp___0);
  }
  lookup_result = (struct ref_to_worktree_entry *)((char *)e - (unsigned long )(& ((struct ref_to_worktree_entry *)0)->ent));
  tmp___1 = xstrdup((char const   *)(lookup_result->wt)->path);
  return (tmp___1);
}
}
static int populate_value(struct ref_array_item *ref , struct strbuf *err___4 )
{
  struct object *obj ;
  int i ;
  struct object_info empty ;
  void *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  struct used_atom *atom ;
  enum atom_type atom_type ;
  char const   *name___0 ;
  struct atom_value *v ;
  int deref ;
  char const   *refname ;
  struct branch *branch___0 ;
  char *tmp___2 ;
  char *tmp___3 ;
  char const   *branch_name ;
  char *tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  char const   *branch_name___0 ;
  char *tmp___7 ;
  int tmp___8 ;
  char *tmp___9 ;
  char buf___19[256] ;
  char *cp ;
  char *tmp___10 ;
  char *tmp___11 ;
  char *tmp___12 ;
  char *tmp___13 ;
  int tmp___14 ;
  char *tmp___15 ;
  char *tmp___16 ;
  char const   *s___1 ;
  char *tmp___17 ;
  char *tmp___18 ;
  int tmp___19 ;
  char *tmp___20 ;
  char *tmp___21 ;
  char *tmp___22 ;
  char *tmp___23 ;
  int tmp___24 ;
  char *tmp___25 ;
  char *tmp___26 ;
  struct atom_value *v___0 ;
  char *tmp___27 ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  int tmp___29 ;
  int tmp___30 ;
  int tmp___31 ;
  int tmp___32 ;
  struct object_id *tmp___33 ;
  int tmp___34 ;

  {
  empty.typep = (enum object_type *)0;
  empty.sizep = (unsigned long *)0;
  empty.disk_sizep = (off_t *)0;
  empty.delta_base_oid = (struct object_id *)0;
  empty.type_name = (struct strbuf *)0;
  empty.contentp = (void **)0;
  empty.whence = 0U;
  empty.u.packed.pack = (struct packed_git *)0;
  empty.u.packed.offset = 0L;
  empty.u.packed.is_delta = 0U;
  tmp = xcalloc((size_t )used_atom_cnt, sizeof(*(ref->value)));
  ref->value = (struct atom_value *)tmp;
  if (need_symref) {
    if (ref->flag & 0x01) {
      if (! ref->symref) {
        tmp___0 = resolve_refdup((char const   *)(ref->refname), 0x01, (struct object_id *)((void *)0),
                                 (int *)((void *)0));
        ref->symref = (char const   *)tmp___0;
        if (! ref->symref) {
          tmp___1 = xstrdup((char const   *)"");
          ref->symref = (char const   *)tmp___1;
        }
      }
    }
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < used_atom_cnt)) {
      goto while_break;
    }
    atom = used_atom + i;
    atom_type = atom->atom_type;
    name___0 = (used_atom + i)->name;
    v = ref->value + i;
    deref = 0;
    branch___0 = (struct branch *)((void *)0);
    v->s_size = (ssize_t )-1;
    v->handler = & append_atom;
    v->atom = atom;
    if ((int const   )*name___0 == 42) {
      deref = 1;
      name___0 ++;
    }
    if ((unsigned int )atom_type == 0U) {
      refname = get_refname(atom, ref);
    } else
    if ((unsigned int )atom_type == 36U) {
      if (ref->kind == 4U) {
        tmp___2 = get_worktree_path((struct used_atom  const  *)atom, (struct ref_array_item  const  *)ref);
        v->s = (char const   *)tmp___2;
      } else {
        tmp___3 = xstrdup((char const   *)"");
        v->s = (char const   *)tmp___3;
      }
      goto __Cont;
    } else
    if ((unsigned int )atom_type == 32U) {
      refname = get_symref(atom, ref);
    } else
    if ((unsigned int )atom_type == 30U) {
      tmp___5 = skip_prefix((char const   *)(ref->refname), (char const   *)"refs/heads/",
                            & branch_name);
      if (! tmp___5) {
        tmp___4 = xstrdup((char const   *)"");
        v->s = (char const   *)tmp___4;
        goto __Cont;
      }
      branch___0 = branch_get(branch_name);
      refname = branch_get_upstream(branch___0, (struct strbuf *)((void *)0));
      if (refname) {
        fill_remote_ref_details(atom, refname, branch___0, & v->s);
      } else {
        tmp___6 = xstrdup((char const   *)"");
        v->s = (char const   *)tmp___6;
      }
      goto __Cont;
    } else
    if ((unsigned int )atom_type == 31U) {
      if (atom->u.remote_ref.push) {
        tmp___7 = xstrdup((char const   *)"");
        v->s = (char const   *)tmp___7;
        tmp___8 = skip_prefix((char const   *)(ref->refname), (char const   *)"refs/heads/",
                              & branch_name___0);
        if (! tmp___8) {
          goto __Cont;
        }
        branch___0 = branch_get(branch_name___0);
        if (atom->u.remote_ref.push_remote) {
          refname = (char const   *)((void *)0);
        } else {
          refname = branch_get_push(branch___0, (struct strbuf *)((void *)0));
          if (! refname) {
            goto __Cont;
          }
        }
        free((void *)((char *)v->s));
        fill_remote_ref_details(atom, refname, branch___0, & v->s);
        goto __Cont;
      } else {
        goto _L___1;
      }
    } else
    _L___1: /* CIL Label */
    if ((unsigned int )atom_type == 35U) {
      tmp___9 = xstrdup((char const   *)(atom->u.color));
      v->s = (char const   *)tmp___9;
      goto __Cont;
    } else
    if ((unsigned int )atom_type == 33U) {
      cp = buf___19;
      if (ref->flag & 0x01) {
        cp = copy_advance(cp, (char const   *)",symref");
      }
      if (ref->flag & 0x02) {
        cp = copy_advance(cp, (char const   *)",packed");
      }
      if ((unsigned long )cp == (unsigned long )(buf___19)) {
        tmp___10 = xstrdup((char const   *)"");
        v->s = (char const   *)tmp___10;
      } else {
        *cp = (char )'\000';
        tmp___11 = xstrdup((char const   *)(buf___19 + 1));
        v->s = (char const   *)tmp___11;
      }
      goto __Cont;
    } else
    if (! deref) {
      if ((unsigned int )atom_type == 3U) {
        tmp___24 = grab_oid(name___0, (char const   *)"objectname", (struct object_id  const  *)(& ref->objectname),
                            v, atom);
        if (tmp___24) {
          goto __Cont;
        } else {
          goto _L___0;
        }
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    _L: /* CIL Label */
    if ((unsigned int )atom_type == 34U) {
      if (atom->u.head) {
        tmp___14 = strcmp((char const   *)(ref->refname), (char const   *)atom->u.head);
        if (tmp___14) {
          tmp___13 = xstrdup((char const   *)" ");
          v->s = (char const   *)tmp___13;
        } else {
          tmp___12 = xstrdup((char const   *)"*");
          v->s = (char const   *)tmp___12;
        }
      } else {
        tmp___13 = xstrdup((char const   *)" ");
        v->s = (char const   *)tmp___13;
      }
      goto __Cont;
    } else
    if ((unsigned int )atom_type == 37U) {
      v->handler = & align_atom_handler;
      tmp___15 = xstrdup((char const   *)"");
      v->s = (char const   *)tmp___15;
      goto __Cont;
    } else
    if ((unsigned int )atom_type == 38U) {
      v->handler = & end_atom_handler;
      tmp___16 = xstrdup((char const   *)"");
      v->s = (char const   *)tmp___16;
      goto __Cont;
    } else
    if ((unsigned int )atom_type == 39U) {
      tmp___19 = skip_prefix(name___0, (char const   *)"if:", & s___1);
      if (tmp___19) {
        tmp___17 = xstrdup(s___1);
        v->s = (char const   *)tmp___17;
      } else {
        tmp___18 = xstrdup((char const   *)"");
        v->s = (char const   *)tmp___18;
      }
      v->handler = & if_atom_handler;
      goto __Cont;
    } else
    if ((unsigned int )atom_type == 40U) {
      v->handler = & then_atom_handler;
      tmp___20 = xstrdup((char const   *)"");
      v->s = (char const   *)tmp___20;
      goto __Cont;
    } else
    if ((unsigned int )atom_type == 41U) {
      v->handler = & else_atom_handler;
      tmp___21 = xstrdup((char const   *)"");
      v->s = (char const   *)tmp___21;
      goto __Cont;
    } else
    if ((unsigned int )atom_type == 42U) {
      if (ref->rest) {
        tmp___22 = xstrdup(ref->rest);
        v->s = (char const   *)tmp___22;
      } else {
        tmp___23 = xstrdup((char const   *)"");
        v->s = (char const   *)tmp___23;
      }
      goto __Cont;
    } else {
      goto __Cont;
    }
    if (! deref) {
      tmp___25 = xstrdup(refname);
      v->s = (char const   *)tmp___25;
    } else {
      tmp___26 = xstrfmt((char const   *)"%s^{}", refname);
      v->s = (char const   *)tmp___26;
    }
    free((void *)((char *)refname));
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < used_atom_cnt)) {
      goto while_break___0;
    }
    v___0 = ref->value + i;
    if ((unsigned long )v___0->s == (unsigned long )((void *)0)) {
      if ((unsigned int )(used_atom + i)->source == 0U) {
        tmp___27 = oid_to_hex((struct object_id  const  *)(& ref->objectname));
        tmp___28 = _((char const   *)"missing object %s for %s");
        tmp___29 = strbuf_addf_ret(err___4, -1, (char const   *)tmp___28, tmp___27,
                                   ref->refname);
        return (tmp___29);
      }
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (need_tagged) {
    oi.info.contentp = & oi.content;
  }
  tmp___30 = memcmp((void const   *)(& oi.info), (void const   *)(& empty), sizeof(empty));
  if (! tmp___30) {
    tmp___31 = memcmp((void const   *)(& oi_deref.info), (void const   *)(& empty),
                      sizeof(empty));
    if (! tmp___31) {
      return (0);
    }
  }
  oi.oid = ref->objectname;
  tmp___32 = get_object(ref, 0, & obj, & oi, err___4);
  if (tmp___32) {
    return (-1);
  }
  if (! need_tagged) {
    return (0);
  } else
  if (obj->type != 4U) {
    return (0);
  }
  tmp___33 = get_tagged_oid((struct tag *)obj);
  oi_deref.oid = *tmp___33;
  tmp___34 = get_object(ref, 1, & obj, & oi_deref, err___4);
  return (tmp___34);
}
}
static int get_ref_atom_value(struct ref_array_item *ref , int atom , struct atom_value **v ,
                              struct strbuf *err___4 )
{
  int tmp ;

  {
  if (! ref->value) {
    tmp = populate_value(ref, err___4);
    if (tmp) {
      return (-1);
    }
    fill_missing_values(ref->value);
  }
  *v = ref->value + atom;
  return (0);
}
}
static int match_pattern(struct ref_filter  const  *filter___0 , char const   *refname )
{
  char const   **patterns___0 ;
  unsigned int flags___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  patterns___0 = (char const   **)filter___0->name_patterns;
  flags___0 = 0U;
  if (filter___0->ignore_case) {
    flags___0 |= 1U;
  }
  tmp = skip_prefix(refname, (char const   *)"refs/tags/", & refname);
  if (tmp) {
    tmp___3 = 1;
  } else {
    tmp___0 = skip_prefix(refname, (char const   *)"refs/heads/", & refname);
    if (tmp___0) {
      tmp___3 = 1;
    } else {
      tmp___1 = skip_prefix(refname, (char const   *)"refs/remotes/", & refname);
      if (tmp___1) {
        tmp___3 = 1;
      } else {
        tmp___2 = skip_prefix(refname, (char const   *)"refs/", & refname);
        if (tmp___2) {
          tmp___3 = 1;
        } else {
          tmp___3 = 0;
        }
      }
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *patterns___0) {
      goto while_break;
    }
    tmp___4 = wildmatch(*patterns___0, refname, flags___0);
    if (! tmp___4) {
      return (1);
    }
    patterns___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int match_name_as_path(struct ref_filter  const  *filter___0 , char const   *refname )
{
  char const   **pattern___0 ;
  int namelen ;
  size_t tmp ;
  unsigned int flags___0 ;
  char const   *p___0 ;
  int plen ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  pattern___0 = (char const   **)filter___0->name_patterns;
  tmp = strlen(refname);
  namelen = (int )tmp;
  flags___0 = 2U;
  if (filter___0->ignore_case) {
    flags___0 |= 1U;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *pattern___0) {
      goto while_break;
    }
    p___0 = *pattern___0;
    tmp___0 = strlen(p___0);
    plen = (int )tmp___0;
    if (plen <= namelen) {
      tmp___1 = strncmp(refname, p___0, (size_t )plen);
      if (! tmp___1) {
        if ((int const   )*(refname + plen) == 0) {
          return (1);
        } else
        if ((int const   )*(refname + plen) == 47) {
          return (1);
        } else
        if ((int const   )*(p___0 + (plen - 1)) == 47) {
          return (1);
        }
      }
    }
    tmp___2 = wildmatch(p___0, refname, flags___0);
    if (! tmp___2) {
      return (1);
    }
    pattern___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int filter_pattern_match(struct ref_filter *filter___0 , char const   *refname )
{
  int tmp ;
  int tmp___0 ;

  {
  if (! *(filter___0->name_patterns)) {
    return (1);
  }
  if (filter___0->match_as_path) {
    tmp = match_name_as_path((struct ref_filter  const  *)filter___0, refname);
    return (tmp);
  }
  tmp___0 = match_pattern((struct ref_filter  const  *)filter___0, refname);
  return (tmp___0);
}
}
static int for_each_fullref_in_pattern(struct ref_filter *filter___0 , each_ref_fn *cb ,
                                       void *cb_data )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (! filter___0->match_as_path) {
    tmp = for_each_fullref_in((char const   *)"", cb, cb_data);
    return (tmp);
  }
  if (filter___0->ignore_case) {
    tmp___0 = for_each_fullref_in((char const   *)"", cb, cb_data);
    return (tmp___0);
  }
  if (! *(filter___0->name_patterns + 0)) {
    tmp___1 = for_each_fullref_in((char const   *)"", cb, cb_data);
    return (tmp___1);
  }
  tmp___2 = for_each_fullref_in_prefixes((char const   *)((void *)0), filter___0->name_patterns,
                                         cb, cb_data);
  return (tmp___2);
}
}
static struct object_id  const  *match_points_at(struct oid_array *points_at , struct object_id  const  *oid ,
                                                 char const   *refname )
{
  struct object_id  const  *tagged_oid ;
  struct object *obj ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  struct object_id *tmp___1 ;
  int tmp___2 ;

  {
  tagged_oid = (struct object_id  const  *)((void *)0);
  tmp = oid_array_lookup(points_at, oid);
  if (tmp >= 0) {
    return (oid);
  }
  obj = parse_object(the_repository, oid);
  if (! obj) {
    tmp___0 = _((char const   *)"malformed object at \'%s\'");
    die((char const   *)tmp___0, refname);
  }
  if (obj->type == 4U) {
    tmp___1 = get_tagged_oid((struct tag *)obj);
    tagged_oid = (struct object_id  const  *)tmp___1;
  }
  if (tagged_oid) {
    tmp___2 = oid_array_lookup(points_at, tagged_oid);
    if (tmp___2 >= 0) {
      return (tagged_oid);
    }
  }
  return ((struct object_id  const  *)((void *)0));
}
}
static struct ref_array_item *new_ref_array_item(char const   *refname , struct object_id  const  *oid )
{
  struct ref_array_item *ref ;
  size_t flex_array_len_ ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = strlen(refname);
    flex_array_len_ = tmp;
    tmp___0 = st_add(sizeof(*ref), flex_array_len_);
    tmp___1 = st_add(tmp___0, (size_t )1);
    tmp___2 = xcalloc((size_t )1, tmp___1);
    ref = (struct ref_array_item *)tmp___2;
    memcpy((void *)(ref->refname), (void const   *)refname, flex_array_len_);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  oidcpy(& ref->objectname, oid);
  ref->rest = (char const   *)((void *)0);
  return (ref);
}
}
struct ref_array_item *ref_array_push(struct ref_array *array , char const   *refname ,
                                      struct object_id  const  *oid )
{
  struct ref_array_item *ref ;
  struct ref_array_item *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;

  {
  tmp = new_ref_array_item(refname, oid);
  ref = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (array->nr + 1 > array->alloc) {
      if (((array->alloc + 16) * 3) / 2 < array->nr + 1) {
        array->alloc = array->nr + 1;
      } else {
        array->alloc = ((array->alloc + 16) * 3) / 2;
      }
      tmp___0 = st_mult(sizeof(*(array->items)), (size_t )array->alloc);
      tmp___1 = xrealloc((void *)array->items, tmp___0);
      array->items = (struct ref_array_item **)tmp___1;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = array->nr;
  (array->nr) ++;
  *(array->items + tmp___2) = ref;
  return (ref);
}
}
static int ref_kind_from_refname(char const   *refname ) ;
static struct __anonstruct_ref_kind_833452893 ref_kind[3]  = {      {(char const   *)"refs/heads/", 4U},
        {(char const   *)"refs/remotes/", 8U},
        {(char const   *)"refs/tags/", 2U}};
static int ref_kind_from_refname(char const   *refname )
{
  unsigned int i ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = strcmp(refname, (char const   *)"HEAD");
  if (! tmp) {
    return (0x0020);
  }
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(ref_kind) / sizeof(ref_kind[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp___0 = starts_with(refname, ref_kind[i].prefix);
    if (tmp___0) {
      return ((int )ref_kind[i].kind);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0x0010);
}
}
static int filter_ref_kind(struct ref_filter *filter___0 , char const   *refname )
{
  int tmp ;

  {
  if (filter___0->kind == 4U) {
    return ((int )filter___0->kind);
  } else
  if (filter___0->kind == 8U) {
    return ((int )filter___0->kind);
  } else
  if (filter___0->kind == 2U) {
    return ((int )filter___0->kind);
  }
  tmp = ref_kind_from_refname(refname);
  return (tmp);
}
}
static int ref_filter_handler(char const   *refname , struct object_id  const  *oid ,
                              int flag , void *cb_data )
{
  struct ref_filter_cbdata *ref_cbdata ;
  struct ref_filter *filter___0 ;
  struct ref_array_item *ref ;
  struct commit *commit ;
  unsigned int kind ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  struct object_id  const  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  ref_cbdata = (struct ref_filter_cbdata *)cb_data;
  filter___0 = ref_cbdata->filter;
  commit = (struct commit *)((void *)0);
  if (flag & 0x08) {
    tmp = _((char const   *)"ignoring ref with broken name %s");
    warning((char const   *)tmp, refname);
    return (0);
  }
  if (flag & 0x04) {
    tmp___0 = _((char const   *)"ignoring broken ref %s");
    warning((char const   *)tmp___0, refname);
    return (0);
  }
  tmp___1 = filter_ref_kind(filter___0, refname);
  kind = (unsigned int )tmp___1;
  if (! (kind & filter___0->kind)) {
    return (0);
  }
  tmp___2 = filter_pattern_match(filter___0, refname);
  if (! tmp___2) {
    return (0);
  }
  if (filter___0->points_at.nr) {
    tmp___3 = match_points_at(& filter___0->points_at, oid, refname);
    if (! tmp___3) {
      return (0);
    }
  }
  if (filter___0->reachable_from) {
    goto _L;
  } else
  if (filter___0->unreachable_from) {
    goto _L;
  } else
  if (filter___0->with_commit) {
    goto _L;
  } else
  if (filter___0->no_commit) {
    goto _L;
  } else
  if (filter___0->verbose) {
    _L: /* CIL Label */
    commit = lookup_commit_reference_gently(the_repository, oid, 1);
    if (! commit) {
      return (0);
    }
    if (filter___0->with_commit) {
      tmp___4 = commit_contains(filter___0, commit, filter___0->with_commit, & ref_cbdata->contains_cache);
      if (! tmp___4) {
        return (0);
      }
    }
    if (filter___0->no_commit) {
      tmp___5 = commit_contains(filter___0, commit, filter___0->no_commit, & ref_cbdata->no_contains_cache);
      if (tmp___5) {
        return (0);
      }
    }
  }
  ref = ref_array_push(ref_cbdata->array, refname, oid);
  ref->commit = commit;
  ref->flag = flag;
  ref->kind = kind;
  return (0);
}
}
static void free_array_item(struct ref_array_item *item___0 )
{
  int i ;

  {
  free((void *)((char *)item___0->symref));
  if (item___0->value) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < used_atom_cnt)) {
        goto while_break;
      }
      free((void *)((char *)(item___0->value + i)->s));
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    free((void *)item___0->value);
  }
  free((void *)item___0);
  return;
}
}
void ref_array_clear(struct ref_array *array )
{
  int i ;
  int tmp ;
  struct used_atom *atom ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < array->nr)) {
      goto while_break;
    }
    free_array_item(*(array->items + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)array->items);
    array->items = (struct ref_array_item **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp = 0;
  array->alloc = tmp;
  array->nr = tmp;
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < used_atom_cnt)) {
      goto while_break___1;
    }
    atom = used_atom + i;
    if ((unsigned int )atom->atom_type == 34U) {
      free((void *)atom->u.head);
    }
    free((void *)((char *)atom->name));
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    free((void *)used_atom);
    used_atom = (struct used_atom *)((void *)0);
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  used_atom_cnt = 0;
  if (ref_to_worktree_map.worktrees) {
    hashmap_clear_(& ref_to_worktree_map.map, (ssize_t )((unsigned long )(& ((struct ref_to_worktree_entry *)0)->ent)));
    free_worktrees(ref_to_worktree_map.worktrees);
    ref_to_worktree_map.worktrees = (struct worktree **)((void *)0);
  }
  return;
}
}
static void reach_filter(struct ref_array *array , struct commit_list *check_reachable ,
                         int include_reached )
{
  struct rev_info revs ;
  int i ;
  int old_nr ;
  struct commit **to_clear ;
  struct commit_list *cr ;
  void *tmp ;
  struct ref_array_item *item___0 ;
  struct commit *merge_commit___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  struct ref_array_item *item___1 ;
  struct commit *commit ;
  int is_merged ;
  int tmp___2 ;
  struct commit *merge_commit___1 ;
  struct commit *tmp___3 ;

  {
  if (! check_reachable) {
    return;
  }
  tmp = xcalloc((size_t )array->nr, sizeof(*to_clear));
  to_clear = (struct commit **)tmp;
  repo_init_revisions(the_repository, & revs, (char const   *)((void *)0));
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < array->nr)) {
      goto while_break;
    }
    item___0 = *(array->items + i);
    add_pending_object(& revs, & (item___0->commit)->object, (char const   *)(item___0->refname));
    *(to_clear + i) = item___0->commit;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  cr = check_reachable;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! cr) {
      goto while_break___0;
    }
    merge_commit___0 = cr->item;
    merge_commit___0->object.flags |= 1u << 1;
    add_pending_object(& revs, & merge_commit___0->object, (char const   *)"");
    cr = cr->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  revs.limited = 1U;
  tmp___1 = prepare_revision_walk(& revs);
  if (tmp___1) {
    tmp___0 = _((char const   *)"revision walk setup failed");
    die((char const   *)tmp___0);
  }
  old_nr = array->nr;
  array->nr = 0;
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < old_nr)) {
      goto while_break___1;
    }
    item___1 = *(array->items + i);
    commit = item___1->commit;
    is_merged = ! (! (commit->object.flags & (1u << 1)));
    if (is_merged == include_reached) {
      tmp___2 = array->nr;
      (array->nr) ++;
      *(array->items + tmp___2) = *(array->items + i);
    } else {
      free_array_item(item___1);
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  clear_commit_marks_many(old_nr, to_clear, ((((1u << 11) - 1U) | (1u << 25)) | (1u << 26)) | (1u << 15));
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! check_reachable) {
      goto while_break___2;
    }
    tmp___3 = pop_commit(& check_reachable);
    merge_commit___1 = tmp___3;
    clear_commit_marks(merge_commit___1, ((((1u << 11) - 1U) | (1u << 25)) | (1u << 26)) | (1u << 15));
  }
  while_break___2: /* CIL Label */ ;
  }
  free((void *)to_clear);
  return;
}
}
int filter_refs(struct ref_array *array , struct ref_filter *filter___0 , unsigned int type___0 )
{
  struct ref_filter_cbdata ref_cbdata ;
  int ret___67 ;

  {
  ret___67 = 0;
  ref_cbdata.array = array;
  ref_cbdata.filter = filter___0;
  filter___0->kind = type___0 & 62U;
  init_contains_cache___10(& ref_cbdata.contains_cache);
  init_contains_cache___10(& ref_cbdata.no_contains_cache);
  if (! filter___0->kind) {
    die((char const   *)"filter_refs: invalid type");
  } else {
    if (filter___0->kind == 4U) {
      ret___67 = for_each_fullref_in((char const   *)"refs/heads/", & ref_filter_handler,
                                     (void *)(& ref_cbdata));
    } else
    if (filter___0->kind == 8U) {
      ret___67 = for_each_fullref_in((char const   *)"refs/remotes/", & ref_filter_handler,
                                     (void *)(& ref_cbdata));
    } else
    if (filter___0->kind == 2U) {
      ret___67 = for_each_fullref_in((char const   *)"refs/tags/", & ref_filter_handler,
                                     (void *)(& ref_cbdata));
    } else
    if (filter___0->kind & 30U) {
      ret___67 = for_each_fullref_in_pattern(filter___0, & ref_filter_handler, (void *)(& ref_cbdata));
    }
    if (! ret___67) {
      if (filter___0->kind & 32U) {
        head_ref(& ref_filter_handler, (void *)(& ref_cbdata));
      }
    }
  }
  clear_contains_cache___10(& ref_cbdata.contains_cache);
  clear_contains_cache___10(& ref_cbdata.no_contains_cache);
  reach_filter(array, filter___0->reachable_from, 1);
  reach_filter(array, filter___0->unreachable_from, 0);
  return (ret___67);
}
}
static int compare_detached_head(struct ref_array_item *a , struct ref_array_item *b___0 )
{


  {
  if (! (a->kind ^ b___0->kind)) {
    BUG_fl((char const   *)"ref-filter.c", 2451, (char const   *)"ref_kind_from_refname() should only mark one ref as HEAD");
  }
  if (a->kind & 32U) {
    return (-1);
  } else
  if (b___0->kind & 32U) {
    return (1);
  }
  BUG_fl((char const   *)"ref-filter.c", 2456, (char const   *)"should have died in the xor check above");
  return (0);
}
}
static int memcasecmp(void const   *vs1 , void const   *vs2 , size_t n )
{
  char const   *s1 ;
  char const   *s2 ;
  char const   *end ;
  int diff ;
  int tmp ;
  int tmp___0 ;

  {
  s1 = (char const   *)vs1;
  s2 = (char const   *)vs2;
  end = s1 + n;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )s1 < (unsigned long )end)) {
      goto while_break;
    }
    tmp = sane_case((int )((unsigned char )*s1), 0x20);
    tmp___0 = sane_case((int )((unsigned char )*s2), 0x20);
    diff = tmp - tmp___0;
    if (diff) {
      return (diff);
    }
    s1 ++;
    s2 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int cmp_ref_sorting(struct ref_sorting *s___1 , struct ref_array_item *a ,
                           struct ref_array_item *b___0 )
{
  struct atom_value *va ;
  struct atom_value *vb ;
  int cmp___0 ;
  int cmp_detached_head ;
  cmp_type cmp_type___0 ;
  struct strbuf err___4 ;
  int tmp ;
  int tmp___0 ;
  int (*cmp_fn)(char const   * , char const   * ) ;
  size_t a_size ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  size_t b_size ;
  size_t tmp___3 ;
  size_t tmp___4 ;
  int (*cmp_fn___0)(void const   * , void const   * , size_t  ) ;
  size_t tmp___5 ;
  int tmp___6 ;

  {
  cmp_detached_head = 0;
  cmp_type___0 = (used_atom + s___1->atom)->type;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  tmp = get_ref_atom_value(a, s___1->atom, & va, & err___4);
  if (tmp) {
    die((char const   *)"%s", err___4.buf);
  }
  tmp___0 = get_ref_atom_value(b___0, s___1->atom, & vb, & err___4);
  if (tmp___0) {
    die((char const   *)"%s", err___4.buf);
  }
  strbuf_release(& err___4);
  if ((unsigned int )s___1->sort_flags & 8U) {
    if ((a->kind | b___0->kind) & 32U) {
      cmp___0 = compare_detached_head(a, b___0);
      cmp_detached_head = 1;
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  if ((unsigned int )s___1->sort_flags & 4U) {
    cmp___0 = versioncmp(va->s, vb->s);
  } else
  if ((unsigned int )cmp_type___0 == 0U) {
    if (va->s_size < 0L) {
      if (vb->s_size < 0L) {
        if ((unsigned int )s___1->sort_flags & 2U) {
          cmp_fn = (int (*)(char const   * , char const   * ))(& strcasecmp);
        } else {
          cmp_fn = (int (*)(char const   * , char const   * ))(& strcmp);
        }
        cmp___0 = (*cmp_fn)(va->s, vb->s);
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      if (va->s_size < 0L) {
        tmp___1 = strlen(va->s);
        tmp___2 = tmp___1;
      } else {
        tmp___2 = (size_t )va->s_size;
      }
      a_size = tmp___2;
      if (vb->s_size < 0L) {
        tmp___3 = strlen(vb->s);
        tmp___4 = tmp___3;
      } else {
        tmp___4 = (size_t )vb->s_size;
      }
      b_size = tmp___4;
      if ((unsigned int )s___1->sort_flags & 2U) {
        cmp_fn___0 = & memcasecmp;
      } else {
        cmp_fn___0 = (int (*)(void const   * , void const   * , size_t  ))(& memcmp);
      }
      if (b_size > a_size) {
        tmp___5 = a_size;
      } else {
        tmp___5 = b_size;
      }
      cmp___0 = (*cmp_fn___0)((void const   *)va->s, (void const   *)vb->s, tmp___5);
      if (! cmp___0) {
        if (a_size > b_size) {
          cmp___0 = 1;
        } else
        if (a_size < b_size) {
          cmp___0 = -1;
        }
      }
    }
  } else
  if (va->value < vb->value) {
    cmp___0 = -1;
  } else
  if (va->value == vb->value) {
    cmp___0 = 0;
  } else {
    cmp___0 = 1;
  }
  if ((unsigned int )s___1->sort_flags & 1U) {
    if (! cmp_detached_head) {
      tmp___6 = - cmp___0;
    } else {
      tmp___6 = cmp___0;
    }
  } else {
    tmp___6 = cmp___0;
  }
  return (tmp___6);
}
}
static int compare_refs(void const   *a_ , void const   *b_ , void *ref_sorting )
{
  struct ref_array_item *a ;
  struct ref_array_item *b___0 ;
  struct ref_sorting *s___1 ;
  int cmp___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  a = *((struct ref_array_item **)a_);
  b___0 = *((struct ref_array_item **)b_);
  s___1 = (struct ref_sorting *)ref_sorting;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! s___1) {
      goto while_break;
    }
    tmp = cmp_ref_sorting(s___1, a, b___0);
    cmp___0 = tmp;
    if (cmp___0) {
      return (cmp___0);
    }
    s___1 = s___1->next;
  }
  while_break: /* CIL Label */ ;
  }
  s___1 = (struct ref_sorting *)ref_sorting;
  if (s___1) {
    if ((unsigned int )s___1->sort_flags & 2U) {
      tmp___0 = strcasecmp((char const   *)(a->refname), (char const   *)(b___0->refname));
      tmp___2 = tmp___0;
    } else {
      tmp___1 = strcmp((char const   *)(a->refname), (char const   *)(b___0->refname));
      tmp___2 = tmp___1;
    }
  } else {
    tmp___1 = strcmp((char const   *)(a->refname), (char const   *)(b___0->refname));
    tmp___2 = tmp___1;
  }
  return (tmp___2);
}
}
void ref_sorting_set_sort_flags_all(struct ref_sorting *sorting___0 , unsigned int mask ,
                                    int on )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! sorting___0) {
      goto while_break;
    }
    if (on) {
      sorting___0->sort_flags = (enum ref_sorting_order )((unsigned int )sorting___0->sort_flags | mask);
    } else {
      sorting___0->sort_flags = (enum ref_sorting_order )((unsigned int )sorting___0->sort_flags & ~ mask);
    }
    sorting___0 = sorting___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void ref_array_sort(struct ref_sorting *sorting___0 , struct ref_array *array )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = git_qsort_s((void *)array->items, (size_t )array->nr, sizeof(*(array->items)),
                      & compare_refs, (void *)sorting___0);
    if (tmp) {
      BUG_fl((char const   *)"ref-filter.c", 2565, (char const   *)"qsort_s() failed");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void append_literal(char const   *cp , char const   *ep , struct ref_formatting_state *state___1 )
{
  struct strbuf *s___1 ;
  int ch___0 ;
  int tmp ;

  {
  s___1 = & (state___1->stack)->output;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*cp) {
      if (! (! ep)) {
        if (! ((unsigned long )cp < (unsigned long )ep)) {
          goto while_break;
        }
      }
    } else {
      goto while_break;
    }
    if ((int const   )*cp == 37) {
      if ((int const   )*(cp + 1) == 37) {
        cp ++;
      } else {
        tmp = hex2chr(cp + 1);
        ch___0 = tmp;
        if (0 <= ch___0) {
          strbuf_addch(s___1, ch___0);
          cp += 3;
          goto while_continue;
        }
      }
    }
    strbuf_addch(s___1, (int )*cp);
    cp ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int format_ref_array_item(struct ref_array_item *info___0 , struct ref_format *format___0 ,
                          struct strbuf *final_buf , struct strbuf *error_buf___0 )
{
  char const   *cp ;
  char const   *sp ;
  char const   *ep ;
  struct ref_formatting_state state___1 ;
  struct atom_value *atomv ;
  int pos ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  struct atom_value resetv ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;

  {
  state___1.quote_style = 0;
  state___1.stack = (struct ref_formatting_stack *)0;
  state___1.quote_style = format___0->quote_style;
  push_stack_element(& state___1.stack);
  cp = format___0->format;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*cp) {
      sp = find_next___0(cp);
      if (! sp) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = strchr(sp, ')');
    ep = (char const   *)tmp;
    if ((unsigned long )cp < (unsigned long )sp) {
      append_literal(cp, sp, & state___1);
    }
    pos = parse_ref_filter_atom(format___0, sp + 2, ep, error_buf___0);
    if (pos < 0) {
      pop_stack_element(& state___1.stack);
      return (-1);
    } else {
      tmp___0 = get_ref_atom_value(info___0, pos, & atomv, error_buf___0);
      if (tmp___0) {
        pop_stack_element(& state___1.stack);
        return (-1);
      } else {
        tmp___1 = (*(atomv->handler))(atomv, & state___1, error_buf___0);
        if (tmp___1) {
          pop_stack_element(& state___1.stack);
          return (-1);
        }
      }
    }
    cp = ep + 1;
  }
  while_break: /* CIL Label */ ;
  }
  if (*cp) {
    tmp___2 = strlen(cp);
    sp = cp + tmp___2;
    append_literal(cp, sp, & state___1);
  }
  if (format___0->need_color_reset_at_eol) {
    resetv.s = (char const   *)0;
    resetv.s_size = (ssize_t )-1;
    resetv.handler = (int (*)(struct atom_value *atomv , struct ref_formatting_state *state ,
                              struct strbuf *err ))0;
    resetv.value = 0UL;
    resetv.atom = (struct used_atom *)0;
    resetv.s = (char const   *)"\033[m";
    tmp___3 = append_atom(& resetv, & state___1, error_buf___0);
    if (tmp___3) {
      pop_stack_element(& state___1.stack);
      return (-1);
    }
  }
  if ((state___1.stack)->prev) {
    pop_stack_element(& state___1.stack);
    tmp___4 = _((char const   *)"format: %%(end) atom missing");
    tmp___5 = strbuf_addf_ret(error_buf___0, -1, (char const   *)tmp___4);
    return (tmp___5);
  }
  strbuf_addbuf(final_buf, (struct strbuf  const  *)(& (state___1.stack)->output));
  pop_stack_element(& state___1.stack);
  return (0);
}
}
void pretty_print_ref(char const   *name___0 , struct object_id  const  *oid , struct ref_format *format___0 )
{
  struct ref_array_item *ref_item ;
  struct strbuf output___4 ;
  struct strbuf err___4 ;
  int tmp ;
  int tmp___0 ;

  {
  output___4.alloc = 0UL;
  output___4.len = 0UL;
  output___4.buf = strbuf_slopbuf;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  ref_item = new_ref_array_item(name___0, oid);
  tmp = ref_kind_from_refname(name___0);
  ref_item->kind = (unsigned int )tmp;
  tmp___0 = format_ref_array_item(ref_item, format___0, & output___4, & err___4);
  if (tmp___0) {
    die((char const   *)"%s", err___4.buf);
  }
  fwrite((void const   * __restrict  )output___4.buf, (size_t )1, output___4.len,
         (FILE * __restrict  )stdout);
  putchar('\n');
  strbuf_release(& err___4);
  strbuf_release(& output___4);
  free_array_item(ref_item);
  return;
}
}
static int parse_sorting_atom(char const   *atom )
{
  struct ref_format dummy___0 ;
  char const   *end ;
  size_t tmp ;
  struct strbuf err___4 ;
  int res ;
  int tmp___0 ;

  {
  dummy___0.format = (char const   *)0;
  dummy___0.rest = (char const   *)0;
  dummy___0.quote_style = 0;
  dummy___0.use_rest = 0;
  dummy___0.use_color = -1;
  dummy___0.need_color_reset_at_eol = 0;
  tmp = strlen(atom);
  end = atom + tmp;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  tmp___0 = parse_ref_filter_atom(& dummy___0, atom, end, & err___4);
  res = tmp___0;
  if (res < 0) {
    die((char const   *)"%s", err___4.buf);
  }
  strbuf_release(& err___4);
  return (res);
}
}
static struct ref_sorting *ref_default_sorting(void) ;
static char const   cstr_name[8]  =
  {      (char const   )'r',      (char const   )'e',      (char const   )'f',      (char const   )'n',
        (char const   )'a',      (char const   )'m',      (char const   )'e',      (char const   )'\000'};
static struct ref_sorting *ref_default_sorting(void)
{
  struct ref_sorting *sorting___0 ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(*sorting___0));
  sorting___0 = (struct ref_sorting *)tmp;
  sorting___0->next = (struct ref_sorting *)((void *)0);
  sorting___0->atom = parse_sorting_atom(cstr_name);
  return (sorting___0);
}
}
static void parse_ref_sorting(struct ref_sorting **sorting_tail , char const   *arg )
{
  struct ref_sorting *s___1 ;
  void *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*s___1));
  s___1 = (struct ref_sorting *)tmp;
  s___1->next = *sorting_tail;
  *sorting_tail = s___1;
  if ((int const   )*arg == 45) {
    s___1->sort_flags = (enum ref_sorting_order )((unsigned int )s___1->sort_flags | 1U);
    arg ++;
  }
  tmp___0 = skip_prefix(arg, (char const   *)"version:", & arg);
  if (tmp___0) {
    s___1->sort_flags = (enum ref_sorting_order )((unsigned int )s___1->sort_flags | 4U);
  } else {
    tmp___1 = skip_prefix(arg, (char const   *)"v:", & arg);
    if (tmp___1) {
      s___1->sort_flags = (enum ref_sorting_order )((unsigned int )s___1->sort_flags | 4U);
    }
  }
  s___1->atom = parse_sorting_atom(arg);
  return;
}
}
struct ref_sorting *ref_sorting_options(struct string_list *options )
{
  struct string_list_item *item___0 ;
  struct ref_sorting *sorting___0 ;
  struct ref_sorting **tail ;

  {
  sorting___0 = (struct ref_sorting *)((void *)0);
  tail = & sorting___0;
  if (! options->nr) {
    sorting___0 = ref_default_sorting();
  } else {
    item___0 = options->items;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(options->items + options->nr))) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      parse_ref_sorting(tail, (char const   *)item___0->string);
      item___0 ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  string_list_clear(options, 0);
  return (sorting___0);
}
}
void ref_sorting_release(struct ref_sorting *sorting___0 )
{
  struct ref_sorting *next___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! sorting___0) {
      goto while_break;
    }
    next___2 = sorting___0->next;
    free((void *)sorting___0);
    sorting___0 = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int parse_opt_merge_filter(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct ref_filter *rf ;
  struct object_id oid ;
  struct commit *merge_commit___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  rf = (struct ref_filter *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"ref-filter.c", 2737, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = repo_get_oid(the_repository, arg, & oid);
  if (tmp___0) {
    tmp = _((char const   *)"malformed object name %s");
    die((char const   *)tmp, arg);
  }
  merge_commit___0 = lookup_commit_reference_gently(the_repository, (struct object_id  const  *)(& oid),
                                                    0);
  if (! merge_commit___0) {
    tmp___1 = _((char const   *)"option `%s\' must point to a commit");
    error((char const   *)tmp___1, opt___0->long_name);
    tmp___2 = const_error();
    return (tmp___2);
  }
  tmp___3 = starts_with((char const   *)opt___0->long_name, (char const   *)"no");
  if (tmp___3) {
    commit_list_insert(merge_commit___0, & rf->unreachable_from);
  } else {
    commit_list_insert(merge_commit___0, & rf->reachable_from);
  }
  return (0);
}
}
static double const   __ac_HASH_UPPER___75  =    (double const   )0.77;
__inline static void kh_resize_oid_set___75(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___75(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___75 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___75 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___75(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___75(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___75(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___75(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___75(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___75(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___75 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___75 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___75(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___75(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___75(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___75(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___75(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___75(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___75 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___75 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___75(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___75(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___75(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___75(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int read_one_reflog(struct object_id *ooid , struct object_id *noid , char const   *email ,
                           timestamp_t timestamp___0 , int tz , char const   *message___0 ,
                           void *cb_data )
{
  struct complete_reflogs *array ;
  struct reflog_info *item___0 ;
  size_t tmp ;
  void *tmp___0 ;

  {
  array = (struct complete_reflogs *)cb_data;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (array->nr + 1 > array->alloc) {
      if (((array->alloc + 16) * 3) / 2 < array->nr + 1) {
        array->alloc = array->nr + 1;
      } else {
        array->alloc = ((array->alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(array->items)), (size_t )array->alloc);
      tmp___0 = xrealloc((void *)array->items, tmp);
      array->items = (struct reflog_info *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  item___0 = array->items + array->nr;
  oidcpy(& item___0->ooid, (struct object_id  const  *)ooid);
  oidcpy(& item___0->noid, (struct object_id  const  *)noid);
  item___0->email = xstrdup(email);
  item___0->timestamp = timestamp___0;
  item___0->tz = tz;
  item___0->message = xstrdup(message___0);
  (array->nr) ++;
  return (0);
}
}
static void free_complete_reflog(struct complete_reflogs *array )
{
  int i ;

  {
  if (! array) {
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < array->nr)) {
      goto while_break;
    }
    free((void *)(array->items + i)->email);
    free((void *)(array->items + i)->message);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)array->items);
  free((void *)array->ref);
  free((void *)array);
  return;
}
}
static struct complete_reflogs *read_complete_reflog(char const   *ref )
{
  struct complete_reflogs *reflogs ;
  void *tmp ;
  char const   *name___0 ;
  void *name_to_free ;
  char *tmp___0 ;
  char *refname ;
  char *tmp___1 ;

  {
  tmp = xcalloc((size_t )1, sizeof(struct complete_reflogs ));
  reflogs = (struct complete_reflogs *)tmp;
  reflogs->ref = xstrdup(ref);
  for_each_reflog_ent(ref, & read_one_reflog, (void *)reflogs);
  if (reflogs->nr == 0) {
    tmp___0 = resolve_refdup(ref, 0x01, (struct object_id *)((void *)0), (int *)((void *)0));
    name_to_free = (void *)tmp___0;
    name___0 = (char const   *)name_to_free;
    if (name___0) {
      for_each_reflog_ent(name___0, & read_one_reflog, (void *)reflogs);
      free(name_to_free);
    }
  }
  if (reflogs->nr == 0) {
    tmp___1 = xstrfmt((char const   *)"refs/%s", ref);
    refname = tmp___1;
    for_each_reflog_ent((char const   *)refname, & read_one_reflog, (void *)reflogs);
    if (reflogs->nr == 0) {
      free((void *)refname);
      refname = xstrfmt((char const   *)"refs/heads/%s", ref);
      for_each_reflog_ent((char const   *)refname, & read_one_reflog, (void *)reflogs);
    }
    free((void *)refname);
  }
  return (reflogs);
}
}
static int get_reflog_recno_by_time(struct complete_reflogs *array , timestamp_t timestamp___0 )
{
  int i ;

  {
  i = array->nr - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i >= 0)) {
      goto while_break;
    }
    if (timestamp___0 >= (array->items + i)->timestamp) {
      return (i);
    }
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  return (-1);
}
}
void init_reflog_walk(struct reflog_walk_info **info___0 )
{
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(*(*info___0)));
  *info___0 = (struct reflog_walk_info *)tmp;
  (*info___0)->complete_reflogs.strdup_strings = 1U;
  return;
}
}
int add_reflog_for_walk(struct reflog_walk_info *info___0 , struct commit *commit ,
                        char const   *name___0 )
{
  timestamp_t timestamp___0 ;
  int recno ;
  struct string_list_item *item___0 ;
  struct complete_reflogs *reflogs ;
  char *branch___0 ;
  char *at ;
  char *tmp ;
  struct commit_reflog *commit_reflog ;
  enum selector_type selector ;
  char *ep ;
  unsigned long tmp___0 ;
  char *b___0 ;
  int ret___67 ;
  size_t tmp___1 ;
  int tmp___2 ;
  struct string_list_item *tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  size_t tmp___7 ;

  {
  timestamp___0 = (timestamp_t )0;
  recno = -1;
  tmp = strchr(name___0, '@');
  at = tmp;
  selector = (enum selector_type )0;
  if (commit->object.flags & (1u << 1)) {
    die((char const   *)"cannot walk reflogs for %s", name___0);
  }
  branch___0 = xstrdup(name___0);
  if (at) {
    if ((int )*(at + 1) == 123) {
      *(branch___0 + (at - (char *)name___0)) = (char )'\000';
      tmp___0 = strtoul((char const   * __restrict  )(at + 2), (char ** __restrict  )(& ep),
                        10);
      recno = (int )tmp___0;
      if ((int )*ep != 125) {
        recno = -1;
        timestamp___0 = approxidate_careful((char const   *)(at + 2), (int *)((void *)0));
        selector = (enum selector_type )2;
      } else {
        selector = (enum selector_type )1;
      }
    } else {
      recno = 0;
    }
  } else {
    recno = 0;
  }
  item___0 = string_list_lookup(& info___0->complete_reflogs, (char const   *)branch___0);
  if (item___0) {
    reflogs = (struct complete_reflogs *)item___0->util;
  } else {
    if ((int )*branch___0 == 0) {
      free((void *)branch___0);
      branch___0 = resolve_refdup((char const   *)"HEAD", 0, (struct object_id *)((void *)0),
                                  (int *)((void *)0));
      if (! branch___0) {
        die((char const   *)"no current branch");
      }
    }
    reflogs = read_complete_reflog((char const   *)branch___0);
    if (! reflogs) {
      goto _L;
    } else
    if (reflogs->nr == 0) {
      _L: /* CIL Label */
      tmp___1 = strlen((char const   *)branch___0);
      tmp___2 = dwim_log((char const   *)branch___0, (int )tmp___1, (struct object_id *)((void *)0),
                         & b___0);
      ret___67 = tmp___2;
      if (ret___67 > 1) {
        free((void *)b___0);
      } else
      if (ret___67 == 1) {
        free_complete_reflog(reflogs);
        free((void *)branch___0);
        branch___0 = b___0;
        reflogs = read_complete_reflog((char const   *)branch___0);
      }
    }
    if (! reflogs) {
      free_complete_reflog(reflogs);
      free((void *)branch___0);
      return (-1);
    } else
    if (reflogs->nr == 0) {
      free_complete_reflog(reflogs);
      free((void *)branch___0);
      return (-1);
    }
    tmp___3 = string_list_insert(& info___0->complete_reflogs, (char const   *)branch___0);
    tmp___3->util = (void *)reflogs;
  }
  free((void *)branch___0);
  tmp___4 = xcalloc((size_t )1, sizeof(*commit_reflog));
  commit_reflog = (struct commit_reflog *)tmp___4;
  if (recno < 0) {
    commit_reflog->recno = get_reflog_recno_by_time(reflogs, timestamp___0);
    if (commit_reflog->recno < 0) {
      free((void *)commit_reflog);
      return (-1);
    }
  } else {
    commit_reflog->recno = (reflogs->nr - recno) - 1;
  }
  commit_reflog->selector = selector;
  commit_reflog->reflogs = reflogs;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (info___0->nr + 1UL > info___0->alloc) {
      if (((info___0->alloc + 16UL) * 3UL) / 2UL < info___0->nr + 1UL) {
        info___0->alloc = info___0->nr + 1UL;
      } else {
        info___0->alloc = ((info___0->alloc + 16UL) * 3UL) / 2UL;
      }
      tmp___5 = st_mult(sizeof(*(info___0->logs)), info___0->alloc);
      tmp___6 = xrealloc((void *)info___0->logs, tmp___5);
      info___0->logs = (struct commit_reflog **)tmp___6;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___7 = info___0->nr;
  (info___0->nr) ++;
  *(info___0->logs + tmp___7) = commit_reflog;
  return (0);
}
}
void get_reflog_selector(struct strbuf *sb___6 , struct reflog_walk_info *reflog_info ,
                         struct date_mode  const  *dmode , int force_date___0 , int shorten )
{
  struct commit_reflog *commit_reflog ;
  struct reflog_info *info___0 ;
  char const   *printed_ref ;
  char *tmp ;
  char const   *tmp___0 ;

  {
  commit_reflog = reflog_info->last_commit_reflog;
  if (! commit_reflog) {
    return;
  }
  if (shorten) {
    if (! (commit_reflog->reflogs)->short_ref) {
      tmp = shorten_unambiguous_ref((char const   *)(commit_reflog->reflogs)->ref,
                                    0);
      (commit_reflog->reflogs)->short_ref = (char const   *)tmp;
    }
    printed_ref = (commit_reflog->reflogs)->short_ref;
  } else {
    printed_ref = (char const   *)(commit_reflog->reflogs)->ref;
  }
  strbuf_addf(sb___6, (char const   *)"%s@{", printed_ref);
  if ((unsigned int )commit_reflog->selector == 2U) {
    info___0 = (commit_reflog->reflogs)->items + (commit_reflog->recno + 1);
    tmp___0 = show_date(info___0->timestamp, info___0->tz, dmode);
    strbuf_addstr(sb___6, tmp___0);
  } else
  if ((unsigned int )commit_reflog->selector == 0U) {
    if (force_date___0) {
      info___0 = (commit_reflog->reflogs)->items + (commit_reflog->recno + 1);
      tmp___0 = show_date(info___0->timestamp, info___0->tz, dmode);
      strbuf_addstr(sb___6, tmp___0);
    } else {
      strbuf_addf(sb___6, (char const   *)"%d", ((commit_reflog->reflogs)->nr - 2) - commit_reflog->recno);
    }
  } else {
    strbuf_addf(sb___6, (char const   *)"%d", ((commit_reflog->reflogs)->nr - 2) - commit_reflog->recno);
  }
  strbuf_addch(sb___6, '}');
  return;
}
}
void get_reflog_message(struct strbuf *sb___6 , struct reflog_walk_info *reflog_info )
{
  struct commit_reflog *commit_reflog ;
  struct reflog_info *info___0 ;
  size_t len___0 ;

  {
  commit_reflog = reflog_info->last_commit_reflog;
  if (! commit_reflog) {
    return;
  }
  info___0 = (commit_reflog->reflogs)->items + (commit_reflog->recno + 1);
  len___0 = strlen((char const   *)info___0->message);
  if (len___0 > 0UL) {
    len___0 --;
  }
  strbuf_add(sb___6, (void const   *)info___0->message, len___0);
  return;
}
}
char const   *get_reflog_ident(struct reflog_walk_info *reflog_info )
{
  struct commit_reflog *commit_reflog ;
  struct reflog_info *info___0 ;

  {
  commit_reflog = reflog_info->last_commit_reflog;
  if (! commit_reflog) {
    return ((char const   *)((void *)0));
  }
  info___0 = (commit_reflog->reflogs)->items + (commit_reflog->recno + 1);
  return ((char const   *)info___0->email);
}
}
timestamp_t get_reflog_timestamp(struct reflog_walk_info *reflog_info )
{
  struct commit_reflog *commit_reflog ;
  struct reflog_info *info___0 ;

  {
  commit_reflog = reflog_info->last_commit_reflog;
  if (! commit_reflog) {
    return ((timestamp_t )0);
  }
  info___0 = (commit_reflog->reflogs)->items + (commit_reflog->recno + 1);
  return (info___0->timestamp);
}
}
void show_reflog_message(struct reflog_walk_info *reflog_info , int oneline , struct date_mode  const  *dmode ,
                         int force_date___0 )
{
  struct commit_reflog *commit_reflog ;
  struct reflog_info *info___0 ;
  struct strbuf selector ;

  {
  if (reflog_info) {
    if (reflog_info->last_commit_reflog) {
      commit_reflog = reflog_info->last_commit_reflog;
      selector.alloc = 0UL;
      selector.len = 0UL;
      selector.buf = strbuf_slopbuf;
      info___0 = (commit_reflog->reflogs)->items + (commit_reflog->recno + 1);
      get_reflog_selector(& selector, reflog_info, dmode, force_date___0, 0);
      if (oneline) {
        printf((char const   *)"%s: %s", selector.buf, info___0->message);
      } else {
        printf((char const   *)"Reflog: %s (%s)\nReflog message: %s", selector.buf,
               info___0->email, info___0->message);
      }
      strbuf_release(& selector);
    }
  }
  return;
}
}
int reflog_walk_empty(struct reflog_walk_info *info___0 )
{
  int tmp ;

  {
  if (! info___0) {
    tmp = 1;
  } else
  if (! info___0->nr) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static struct commit *next_reflog_commit(struct commit_reflog *log )
{
  struct reflog_info *entry ;
  struct object *obj ;
  struct object *tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (log->recno >= 0)) {
      goto while_break;
    }
    entry = (log->reflogs)->items + log->recno;
    tmp = parse_object(the_repository, (struct object_id  const  *)(& entry->noid));
    obj = tmp;
    if (obj) {
      if (obj->type == 1U) {
        return ((struct commit *)obj);
      }
    }
    (log->recno) --;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct commit *)((void *)0));
}
}
static timestamp_t log_timestamp(struct commit_reflog *log )
{


  {
  return (((log->reflogs)->items + log->recno)->timestamp);
}
}
struct commit *next_reflog_entry(struct reflog_walk_info *walk )
{
  struct commit_reflog *best ;
  struct commit *best_commit ;
  size_t i ;
  struct commit_reflog *log ;
  struct commit *commit ;
  struct commit *tmp ;
  timestamp_t tmp___0 ;
  timestamp_t tmp___1 ;

  {
  best = (struct commit_reflog *)((void *)0);
  best_commit = (struct commit *)((void *)0);
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < walk->nr)) {
      goto while_break;
    }
    log = *(walk->logs + i);
    tmp = next_reflog_commit(log);
    commit = tmp;
    if (! commit) {
      goto __Cont;
    }
    if (! best) {
      best = log;
      best_commit = commit;
    } else {
      tmp___0 = log_timestamp(log);
      tmp___1 = log_timestamp(best);
      if (tmp___0 > tmp___1) {
        best = log;
        best_commit = commit;
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (best) {
    (best->recno) --;
    walk->last_commit_reflog = best;
    return (best_commit);
  }
  return ((struct commit *)((void *)0));
}
}
long get_files_ref_lock_timeout_ms(void) ;
int refname_is_safe(char const   *refname ) ;
int ref_resolves_to_object(char const   *refname , struct repository *repo , struct object_id  const  *oid ,
                           unsigned int flags___0 ) ;
enum peel_status peel_object(struct object_id  const  *name___0 , struct object_id *oid ) ;
int refs_read_raw_ref(struct ref_store *ref_store , char const   *refname , struct object_id *oid ,
                      struct strbuf *referent , unsigned int *type___0 , int *failure_errno ) ;
int ref_update_reject_duplicates(struct string_list *refnames , struct strbuf *err___4 ) ;
struct ref_update *ref_transaction_add_update(struct ref_transaction *transaction___0 ,
                                              char const   *refname , unsigned int flags___0 ,
                                              struct object_id  const  *new_oid ,
                                              struct object_id  const  *old_oid ,
                                              char const   *msg___5 ) ;
char const   *find_descendant_ref(char const   *dirname___0 , struct string_list  const  *extras ,
                                  struct string_list  const  *skip ) ;
int ref_iterator_advance(struct ref_iterator *ref_iterator ) ;
int ref_iterator_peel(struct ref_iterator *ref_iterator , struct object_id *peeled ) ;
int ref_iterator_abort(struct ref_iterator *ref_iterator ) ;
struct ref_iterator *empty_ref_iterator_begin(void) ;
int is_empty_ref_iterator(struct ref_iterator *ref_iterator ) ;
struct ref_iterator *refs_ref_iterator_begin(struct ref_store *refs___0 , char const   *prefix___1 ,
                                             int trim , enum do_for_each_ref_flags flags___0 ) ;
struct ref_iterator *merge_ref_iterator_begin(int ordered , struct ref_iterator *iter0 ,
                                              struct ref_iterator *iter1 , ref_iterator_select_fn *select___0 ,
                                              void *cb_data ) ;
struct ref_iterator *overlay_ref_iterator_begin(struct ref_iterator *front , struct ref_iterator *back ) ;
struct ref_iterator *prefix_ref_iterator_begin(struct ref_iterator *iter0 , char const   *prefix___1 ,
                                               int trim ) ;
void base_ref_iterator_init(struct ref_iterator *iter___0 , struct ref_iterator_vtable *vtable___0 ,
                            int ordered ) ;
void base_ref_iterator_free(struct ref_iterator *iter___0 ) ;
struct ref_iterator *current_ref_iter ;
int do_for_each_repo_ref_iterator(struct repository *r , struct ref_iterator *iter___0 ,
                                  each_repo_ref_fn *fn , void *cb_data ) ;
struct ref_storage_be refs_be_files ;
struct ref_storage_be refs_be_packed ;
int parse_loose_ref_contents(char const   *buf___19 , struct object_id *oid , struct strbuf *referent ,
                             unsigned int *type___0 , int *failure_errno ) ;
void base_ref_store_init(struct ref_store *refs___0 , struct repository *repo , char const   *path___6 ,
                         struct ref_storage_be  const  *be ) ;
struct ref_store *maybe_debug_wrap_ref_store(char const   *gitdir___0 , struct ref_store *store ) ;
static double const   __ac_HASH_UPPER___76  =    (double const   )0.77;
__inline static void kh_resize_oid_set___76(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___76(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___76 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___76 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___76(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___76(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___76(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___76(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___76(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___76(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___76 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___76 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___76(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___76(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___76(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___76(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___76(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___76(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___76 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___76 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___76(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___76(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___76(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___76(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___56(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___56(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___76 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___76 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___56(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___56(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___56(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___56(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static struct ref_storage_be *refs_backends  =    & refs_be_files;
static struct ref_storage_be *find_ref_storage_backend(char const   *name___0 )
{
  struct ref_storage_be *be ;
  int tmp ;

  {
  be = refs_backends;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! be) {
      goto while_break;
    }
    tmp = strcmp(be->name, name___0);
    if (! tmp) {
      return (be);
    }
    be = be->next;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct ref_storage_be *)((void *)0));
}
}
static unsigned char refname_disposition[256]  =
  {      (unsigned char)1,      (unsigned char)4,      (unsigned char)4,      (unsigned char)4,
        (unsigned char)4,      (unsigned char)4,      (unsigned char)4,      (unsigned char)4,
        (unsigned char)4,      (unsigned char)4,      (unsigned char)4,      (unsigned char)4,
        (unsigned char)4,      (unsigned char)4,      (unsigned char)4,      (unsigned char)4,
        (unsigned char)4,      (unsigned char)4,      (unsigned char)4,      (unsigned char)4,
        (unsigned char)4,      (unsigned char)4,      (unsigned char)4,      (unsigned char)4,
        (unsigned char)4,      (unsigned char)4,      (unsigned char)4,      (unsigned char)4,
        (unsigned char)4,      (unsigned char)4,      (unsigned char)4,      (unsigned char)4,
        (unsigned char)4,      (unsigned char)0,      (unsigned char)0,      (unsigned char)0,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)0,      (unsigned char)0,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)5,      (unsigned char)0,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)2,      (unsigned char)1,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)0,      (unsigned char)0,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)0,      (unsigned char)0,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)4,      (unsigned char)0,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)0,      (unsigned char)4,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)0,      (unsigned char)0,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)0,      (unsigned char)0,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)0,      (unsigned char)0,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)0,      (unsigned char)0,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)0,      (unsigned char)0,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)0,      (unsigned char)0,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)0,      (unsigned char)4,
        (unsigned char)4,      (unsigned char)0,      (unsigned char)4,      (unsigned char)0,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)0,      (unsigned char)0,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)0,      (unsigned char)0,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)0,      (unsigned char)0,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)0,      (unsigned char)0,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)0,      (unsigned char)0,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)0,      (unsigned char)0,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)0,      (unsigned char)3,
        (unsigned char)0,      (unsigned char)0,      (unsigned char)4,      (unsigned char)4};
static int check_refname_component(char const   *refname , int *flags___0 , struct strbuf *sanitized )
{
  char const   *cp ;
  char last ;
  size_t component_start ;
  int ch___0 ;
  unsigned char disp ;
  int tmp ;
  int tmp___0 ;

  {
  last = (char )'\000';
  component_start = (size_t )0;
  if (sanitized) {
    component_start = sanitized->len;
  }
  cp = refname;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    ch___0 = (int )((int const   )*cp & 255);
    disp = refname_disposition[ch___0];
    if (sanitized) {
      if ((int )disp != 1) {
        strbuf_addch(sanitized, ch___0);
      }
    }
    {
    if ((int )disp == 1) {
      goto case_1;
    }
    if ((int )disp == 2) {
      goto case_2;
    }
    if ((int )disp == 3) {
      goto case_3;
    }
    if ((int )disp == 4) {
      goto case_4;
    }
    if ((int )disp == 5) {
      goto case_5;
    }
    goto switch_break;
    case_1: /* CIL Label */
    goto out;
    case_2: /* CIL Label */
    if ((int )last == 46) {
      if (sanitized) {
        strbuf_setlen(sanitized, sanitized->len - 1UL);
      } else {
        return (-1);
      }
    }
    goto switch_break;
    case_3: /* CIL Label */
    if ((int )last == 64) {
      if (sanitized) {
        *(sanitized->buf + (sanitized->len - 1UL)) = (char )'-';
      } else {
        return (-1);
      }
    }
    goto switch_break;
    case_4: /* CIL Label */
    if (sanitized) {
      *(sanitized->buf + (sanitized->len - 1UL)) = (char )'-';
    } else {
      return (-1);
    }
    goto switch_break;
    case_5: /* CIL Label */
    if (! (*flags___0 & 2)) {
      if (sanitized) {
        *(sanitized->buf + (sanitized->len - 1UL)) = (char )'-';
      } else {
        return (-1);
      }
    }
    *flags___0 &= -3;
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    last = (char )ch___0;
    cp ++;
  }
  while_break: /* CIL Label */ ;
  }
  out:
  if ((unsigned long )cp == (unsigned long )refname) {
    return (0);
  }
  if ((int const   )*(refname + 0) == 46) {
    if (sanitized) {
      *(sanitized->buf + component_start) = (char )'-';
    } else {
      return (-1);
    }
  }
  if (cp - refname >= 5L) {
    tmp___0 = memcmp((void const   *)(cp - 5), (void const   *)".lock", (size_t )5);
    if (! tmp___0) {
      if (! sanitized) {
        return (-1);
      }
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        tmp = strbuf_strip_suffix(sanitized, (char const   *)".lock");
        if (! tmp) {
          goto while_break___0;
        }
      }
      while_break___0: /* CIL Label */ ;
      }
    }
  }
  return ((int )(cp - refname));
}
}
static int check_or_sanitize_refname(char const   *refname , int flags___0 , struct strbuf *sanitized )
{
  int component_len ;
  int component_count ;
  int tmp ;

  {
  component_count = 0;
  tmp = strcmp(refname, (char const   *)"@");
  if (! tmp) {
    if (sanitized) {
      strbuf_addch(sanitized, '-');
    } else {
      return (-1);
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (sanitized) {
      if (sanitized->len) {
        strbuf_complete(sanitized, (char )'/');
      }
    }
    component_len = check_refname_component(refname, & flags___0, sanitized);
    if (sanitized) {
      if (! (component_len == 0)) {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (component_len <= 0) {
      return (-1);
    }
    component_count ++;
    if ((int const   )*(refname + component_len) == 0) {
      goto while_break;
    }
    refname += component_len + 1;
  }
  while_break: /* CIL Label */ ;
  }
  if ((int const   )*(refname + (component_len - 1)) == 46) {
    if (! sanitized) {
      return (-1);
    }
  }
  if (! (flags___0 & 1)) {
    if (component_count < 2) {
      return (-1);
    }
  }
  return (0);
}
}
int check_refname_format(char const   *refname , int flags___0 )
{
  int tmp ;

  {
  tmp = check_or_sanitize_refname(refname, flags___0, (struct strbuf *)((void *)0));
  return (tmp);
}
}
void sanitize_refname_component(char const   *refname , struct strbuf *out )
{
  int tmp ;

  {
  tmp = check_or_sanitize_refname(refname, 1, out);
  if (tmp) {
    BUG_fl((char const   *)"refs.c", 213, (char const   *)"sanitizing refname \'%s\' check returned error",
           refname);
  }
  return;
}
}
int refname_is_safe(char const   *refname )
{
  char const   *rest ;
  char *buf___19 ;
  int result___0 ;
  size_t restlen ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp___4 = skip_prefix(refname, (char const   *)"refs/", & rest);
  if (tmp___4) {
    tmp = strlen(rest);
    restlen = tmp;
    if (! restlen) {
      return (0);
    } else
    if ((int const   )*rest == 47) {
      return (0);
    } else
    if ((int const   )*(rest + (restlen - 1UL)) == 47) {
      return (0);
    }
    tmp___0 = xmallocz(restlen);
    buf___19 = (char *)tmp___0;
    tmp___1 = normalize_path_copy(buf___19, rest);
    if (tmp___1) {
      tmp___3 = 0;
    } else {
      tmp___2 = strcmp((char const   *)buf___19, rest);
      if (tmp___2) {
        tmp___3 = 0;
      } else {
        tmp___3 = 1;
      }
    }
    result___0 = tmp___3;
    free((void *)buf___19);
    return (result___0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___5 = sane_iscase((int )*refname, 0);
    if (! tmp___5) {
      if ((int const   )*refname != 95) {
        return (0);
      }
    }
    refname ++;
    if (! *refname) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
int ref_resolves_to_object(char const   *refname , struct repository *repo , struct object_id  const  *oid ,
                           unsigned int flags___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  if (flags___0 & 4U) {
    return (0);
  }
  tmp___0 = repo_has_object_file(repo, oid);
  if (! tmp___0) {
    tmp = _((char const   *)"%s does not point to a valid object!");
    error((char const   *)tmp, refname);
    const_error();
    return (0);
  }
  return (1);
}
}
char *refs_resolve_refdup(struct ref_store *refs___0 , char const   *refname , int resolve_flags ,
                          struct object_id *oid , int *flags___0 )
{
  char const   *result___0 ;
  int ignore_errno ;
  char *tmp ;

  {
  result___0 = refs_resolve_ref_unsafe(refs___0, refname, resolve_flags, oid, flags___0,
                                       & ignore_errno);
  tmp = xstrdup_or_null(result___0);
  return (tmp);
}
}
char *resolve_refdup(char const   *refname , int resolve_flags , struct object_id *oid ,
                     int *flags___0 )
{
  struct ref_store *tmp ;
  char *tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_resolve_refdup(tmp, refname, resolve_flags, oid, flags___0);
  return (tmp___0);
}
}
int read_ref_full(char const   *refname , int resolve_flags , struct object_id *oid ,
                  int *flags___0 )
{
  int ignore_errno ;
  struct ref_store *refs___0 ;
  struct ref_store *tmp ;
  char const   *tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  refs___0 = tmp;
  tmp___0 = refs_resolve_ref_unsafe(refs___0, refname, resolve_flags, oid, flags___0,
                                    & ignore_errno);
  if (tmp___0) {
    return (0);
  }
  return (-1);
}
}
int read_ref(char const   *refname , struct object_id *oid )
{
  int tmp ;

  {
  tmp = read_ref_full(refname, 0x01, oid, (int *)((void *)0));
  return (tmp);
}
}
int refs_ref_exists(struct ref_store *refs___0 , char const   *refname )
{
  int ignore_errno ;
  char const   *tmp ;
  int tmp___0 ;

  {
  tmp = refs_resolve_ref_unsafe(refs___0, refname, 0x01, (struct object_id *)((void *)0),
                                (int *)((void *)0), & ignore_errno);
  if (tmp) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
int ref_exists(char const   *refname )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_ref_exists(tmp, refname);
  return (tmp___0);
}
}
static int filter_refs___1(char const   *refname , struct object_id  const  *oid ,
                           int flags___0 , void *data )
{
  struct ref_filter___0 *filter___0 ;
  int tmp ;
  int tmp___0 ;

  {
  filter___0 = (struct ref_filter___0 *)data;
  tmp = wildmatch(filter___0->pattern, refname, 0U);
  if (tmp) {
    return (0);
  }
  if (filter___0->prefix) {
    skip_prefix(refname, filter___0->prefix, & refname);
  }
  tmp___0 = (*(filter___0->fn))(refname, oid, flags___0, filter___0->cb_data);
  return (tmp___0);
}
}
enum peel_status peel_object(struct object_id  const  *name___0 , struct object_id *oid )
{
  struct object *o ;
  struct object *tmp ;
  int type___0 ;
  int tmp___0 ;
  void *tmp___1 ;

  {
  tmp = lookup_unknown_object(the_repository, name___0);
  o = tmp;
  if (o->type == 0U) {
    tmp___0 = oid_object_info(the_repository, name___0, (unsigned long *)((void *)0));
    type___0 = tmp___0;
    if (type___0 < 0) {
      return ((enum peel_status )-1);
    } else {
      tmp___1 = object_as_type(o, (enum object_type )type___0, 0);
      if (! tmp___1) {
        return ((enum peel_status )-1);
      }
    }
  }
  if (o->type != 4U) {
    return ((enum peel_status )-2);
  }
  o = deref_tag_noverify(o);
  if (! o) {
    return ((enum peel_status )-1);
  }
  oidcpy(oid, (struct object_id  const  *)(& o->oid));
  return ((enum peel_status )0);
}
}
static int warn_if_dangling_symref(char const   *refname , struct object_id  const  *oid ,
                                   int flags___0 , void *cb_data )
{
  struct warn_if_dangling_data *d ;
  char const   *resolves_to ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  d = (struct warn_if_dangling_data *)cb_data;
  if (! (flags___0 & 0x01)) {
    return (0);
  }
  resolves_to = resolve_ref_unsafe(refname, 0, (struct object_id *)((void *)0), (int *)((void *)0));
  if (! resolves_to) {
    return (0);
  } else {
    if (d->refname) {
      tmp = strcmp(resolves_to, d->refname);
      tmp___2 = tmp;
    } else {
      tmp___0 = string_list_has_string(d->refnames, resolves_to);
      if (tmp___0) {
        tmp___1 = 0;
      } else {
        tmp___1 = 1;
      }
      tmp___2 = tmp___1;
    }
    if (tmp___2) {
      return (0);
    }
  }
  fprintf(d->fp, d->msg_fmt, refname);
  fputc('\n', d->fp);
  return (0);
}
}
void warn_dangling_symref(FILE *fp , char const   *msg_fmt , char const   *refname )
{
  struct warn_if_dangling_data data ;

  {
  data.fp = fp;
  data.refname = refname;
  data.refnames = (struct string_list  const  *)((void *)0);
  data.msg_fmt = msg_fmt;
  for_each_rawref(& warn_if_dangling_symref, (void *)(& data));
  return;
}
}
void warn_dangling_symrefs(FILE *fp , char const   *msg_fmt , struct string_list  const  *refnames )
{
  struct warn_if_dangling_data data ;

  {
  data.fp = fp;
  data.refname = (char const   *)((void *)0);
  data.refnames = refnames;
  data.msg_fmt = msg_fmt;
  for_each_rawref(& warn_if_dangling_symref, (void *)(& data));
  return;
}
}
int refs_for_each_tag_ref(struct ref_store *refs___0 , each_ref_fn *fn , void *cb_data )
{
  int tmp ;

  {
  tmp = refs_for_each_ref_in(refs___0, (char const   *)"refs/tags/", fn, cb_data);
  return (tmp);
}
}
int for_each_tag_ref(each_ref_fn *fn , void *cb_data )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_for_each_tag_ref(tmp, fn, cb_data);
  return (tmp___0);
}
}
int refs_for_each_branch_ref(struct ref_store *refs___0 , each_ref_fn *fn , void *cb_data )
{
  int tmp ;

  {
  tmp = refs_for_each_ref_in(refs___0, (char const   *)"refs/heads/", fn, cb_data);
  return (tmp);
}
}
int for_each_branch_ref(each_ref_fn *fn , void *cb_data )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_for_each_branch_ref(tmp, fn, cb_data);
  return (tmp___0);
}
}
int refs_for_each_remote_ref(struct ref_store *refs___0 , each_ref_fn *fn , void *cb_data )
{
  int tmp ;

  {
  tmp = refs_for_each_ref_in(refs___0, (char const   *)"refs/remotes/", fn, cb_data);
  return (tmp);
}
}
int for_each_remote_ref(each_ref_fn *fn , void *cb_data )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_for_each_remote_ref(tmp, fn, cb_data);
  return (tmp___0);
}
}
int head_ref_namespaced(each_ref_fn *fn , void *cb_data )
{
  struct strbuf buf___19 ;
  int ret___67 ;
  struct object_id oid ;
  int flag ;
  char const   *tmp ;
  int tmp___0 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  ret___67 = 0;
  tmp = get_git_namespace();
  strbuf_addf(& buf___19, (char const   *)"%sHEAD", tmp);
  tmp___0 = read_ref_full((char const   *)buf___19.buf, 0x01, & oid, & flag);
  if (! tmp___0) {
    ret___67 = (*fn)((char const   *)buf___19.buf, (struct object_id  const  *)(& oid),
                     flag, cb_data);
  }
  strbuf_release(& buf___19);
  return (ret___67);
}
}
void normalize_glob_ref(struct string_list_item *item___0 , char const   *prefix___1 ,
                        char const   *pattern___0 )
{
  struct strbuf normalized_pattern ;
  int tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;

  {
  normalized_pattern.alloc = 0UL;
  normalized_pattern.len = 0UL;
  normalized_pattern.buf = strbuf_slopbuf;
  if ((int const   )*pattern___0 == 47) {
    BUG_fl((char const   *)"refs.c", 458, (char const   *)"pattern must not start with \'/\'");
  }
  if (prefix___1) {
    strbuf_addstr(& normalized_pattern, prefix___1);
  } else {
    tmp = starts_with(pattern___0, (char const   *)"refs/");
    if (! tmp) {
      strbuf_addstr(& normalized_pattern, (char const   *)"refs/");
    }
  }
  strbuf_addstr(& normalized_pattern, pattern___0);
  strbuf_strip_suffix(& normalized_pattern, (char const   *)"/");
  item___0->string = strbuf_detach(& normalized_pattern, (size_t *)((void *)0));
  tmp___1 = has_glob_specials(pattern___0);
  if (tmp___1) {
    item___0->util = (void *)0;
  } else {
    item___0->util = (void *)item___0->string;
  }
  strbuf_release(& normalized_pattern);
  return;
}
}
int for_each_glob_ref_in(each_ref_fn *fn , char const   *pattern___0 , char const   *prefix___1 ,
                         void *cb_data )
{
  struct strbuf real_pattern ;
  struct ref_filter___0 filter___0 ;
  int ret___67 ;
  int tmp ;
  char const   *tmp___0 ;

  {
  real_pattern.alloc = 0UL;
  real_pattern.len = 0UL;
  real_pattern.buf = strbuf_slopbuf;
  if (! prefix___1) {
    tmp = starts_with(pattern___0, (char const   *)"refs/");
    if (tmp) {
      goto _L;
    } else {
      strbuf_addstr(& real_pattern, (char const   *)"refs/");
    }
  } else
  _L: /* CIL Label */
  if (prefix___1) {
    strbuf_addstr(& real_pattern, prefix___1);
  }
  strbuf_addstr(& real_pattern, pattern___0);
  tmp___0 = has_glob_specials(pattern___0);
  if (! tmp___0) {
    strbuf_complete(& real_pattern, (char )'/');
    strbuf_addch(& real_pattern, '*');
  }
  filter___0.pattern = (char const   *)real_pattern.buf;
  filter___0.prefix = prefix___1;
  filter___0.fn = fn;
  filter___0.cb_data = cb_data;
  ret___67 = for_each_ref(& filter_refs___1, (void *)(& filter___0));
  strbuf_release(& real_pattern);
  return (ret___67);
}
}
int for_each_glob_ref(each_ref_fn *fn , char const   *pattern___0 , void *cb_data )
{
  int tmp ;

  {
  tmp = for_each_glob_ref_in(fn, pattern___0, (char const   *)((void *)0), cb_data);
  return (tmp);
}
}
char const   *prettify_refname(char const   *name___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = skip_prefix(name___0, (char const   *)"refs/heads/", & name___0);
  if (tmp) {
    tmp___2 = 1;
  } else {
    tmp___0 = skip_prefix(name___0, (char const   *)"refs/tags/", & name___0);
    if (tmp___0) {
      tmp___2 = 1;
    } else {
      tmp___1 = skip_prefix(name___0, (char const   *)"refs/remotes/", & name___0);
      if (tmp___1) {
        tmp___2 = 1;
      } else {
        tmp___2 = 0;
      }
    }
  }
  return (name___0);
}
}
static char const   *ref_rev_parse_rules[7]  = {      (char const   *)"%.*s",      (char const   *)"refs/%.*s",      (char const   *)"refs/tags/%.*s",      (char const   *)"refs/heads/%.*s",
        (char const   *)"refs/remotes/%.*s",      (char const   *)"refs/remotes/%.*s/HEAD",      (char const   *)((void *)0)};
int refname_match(char const   *abbrev_name , char const   *full_name )
{
  char const   **p___0 ;
  int abbrev_name_len ;
  size_t tmp ;
  int num_rules ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  tmp = strlen(abbrev_name);
  abbrev_name_len = (int )tmp;
  num_rules = (int )((sizeof(ref_rev_parse_rules) / sizeof(ref_rev_parse_rules[0]) + (sizeof(char [1]) - 1UL)) - 1UL);
  p___0 = ref_rev_parse_rules;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    tmp___0 = mkpath(*p___0, abbrev_name_len, abbrev_name);
    tmp___1 = strcmp(full_name, tmp___0);
    if (! tmp___1) {
      return ((int )(& ref_rev_parse_rules[num_rules] - p___0));
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
void expand_ref_prefix(struct strvec *prefixes___0 , char const   *prefix___1 )
{
  char const   **p___0 ;
  int len___0 ;
  size_t tmp ;

  {
  tmp = strlen(prefix___1);
  len___0 = (int )tmp;
  p___0 = ref_rev_parse_rules;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    strvec_pushf(prefixes___0, *p___0, len___0, prefix___1);
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static char const   default_branch_name_advice[422]  =
  {      (char const   )'U',      (char const   )'s',      (char const   )'i',      (char const   )'n',
        (char const   )'g',      (char const   )' ',      (char const   )'\'',      (char const   )'%',
        (char const   )'s',      (char const   )'\'',      (char const   )' ',      (char const   )'a',
        (char const   )'s',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )' ',      (char const   )'n',      (char const   )'a',
        (char const   )'m',      (char const   )'e',      (char const   )' ',      (char const   )'f',
        (char const   )'o',      (char const   )'r',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'i',
        (char const   )'n',      (char const   )'i',      (char const   )'t',      (char const   )'i',
        (char const   )'a',      (char const   )'l',      (char const   )' ',      (char const   )'b',
        (char const   )'r',      (char const   )'a',      (char const   )'n',      (char const   )'c',
        (char const   )'h',      (char const   )'.',      (char const   )' ',      (char const   )'T',
        (char const   )'h',      (char const   )'i',      (char const   )'s',      (char const   )' ',
        (char const   )'d',      (char const   )'e',      (char const   )'f',      (char const   )'a',
        (char const   )'u',      (char const   )'l',      (char const   )'t',      (char const   )' ',
        (char const   )'b',      (char const   )'r',      (char const   )'a',      (char const   )'n',
        (char const   )'c',      (char const   )'h',      (char const   )' ',      (char const   )'n',
        (char const   )'a',      (char const   )'m',      (char const   )'e',      (char const   )'\n',
        (char const   )'i',      (char const   )'s',      (char const   )' ',      (char const   )'s',
        (char const   )'u',      (char const   )'b',      (char const   )'j',      (char const   )'e',
        (char const   )'c',      (char const   )'t',      (char const   )' ',      (char const   )'t',
        (char const   )'o',      (char const   )' ',      (char const   )'c',      (char const   )'h',
        (char const   )'a',      (char const   )'n',      (char const   )'g',      (char const   )'e',
        (char const   )'.',      (char const   )' ',      (char const   )'T',      (char const   )'o',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'n',
        (char const   )'f',      (char const   )'i',      (char const   )'g',      (char const   )'u',
        (char const   )'r',      (char const   )'e',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'i',
        (char const   )'n',      (char const   )'i',      (char const   )'t',      (char const   )'i',
        (char const   )'a',      (char const   )'l',      (char const   )' ',      (char const   )'b',
        (char const   )'r',      (char const   )'a',      (char const   )'n',      (char const   )'c',
        (char const   )'h',      (char const   )' ',      (char const   )'n',      (char const   )'a',
        (char const   )'m',      (char const   )'e',      (char const   )' ',      (char const   )'t',
        (char const   )'o',      (char const   )' ',      (char const   )'u',      (char const   )'s',
        (char const   )'e',      (char const   )' ',      (char const   )'i',      (char const   )'n',
        (char const   )' ',      (char const   )'a',      (char const   )'l',      (char const   )'l',
        (char const   )'\n',      (char const   )'o',      (char const   )'f',      (char const   )' ',
        (char const   )'y',      (char const   )'o',      (char const   )'u',      (char const   )'r',
        (char const   )' ',      (char const   )'n',      (char const   )'e',      (char const   )'w',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'p',
        (char const   )'o',      (char const   )'s',      (char const   )'i',      (char const   )'t',
        (char const   )'o',      (char const   )'r',      (char const   )'i',      (char const   )'e',
        (char const   )'s',      (char const   )',',      (char const   )' ',      (char const   )'w',
        (char const   )'h',      (char const   )'i',      (char const   )'c',      (char const   )'h',
        (char const   )' ',      (char const   )'w',      (char const   )'i',      (char const   )'l',
        (char const   )'l',      (char const   )' ',      (char const   )'s',      (char const   )'u',
        (char const   )'p',      (char const   )'p',      (char const   )'r',      (char const   )'e',
        (char const   )'s',      (char const   )'s',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'i',      (char const   )'s',      (char const   )' ',
        (char const   )'w',      (char const   )'a',      (char const   )'r',      (char const   )'n',
        (char const   )'i',      (char const   )'n',      (char const   )'g',      (char const   )',',
        (char const   )' ',      (char const   )'c',      (char const   )'a',      (char const   )'l',
        (char const   )'l',      (char const   )':',      (char const   )'\n',      (char const   )'\n',
        (char const   )'\t',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'n',
        (char const   )'f',      (char const   )'i',      (char const   )'g',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'g',      (char const   )'l',
        (char const   )'o',      (char const   )'b',      (char const   )'a',      (char const   )'l',
        (char const   )' ',      (char const   )'i',      (char const   )'n',      (char const   )'i',
        (char const   )'t',      (char const   )'.',      (char const   )'d',      (char const   )'e',
        (char const   )'f',      (char const   )'a',      (char const   )'u',      (char const   )'l',
        (char const   )'t',      (char const   )'B',      (char const   )'r',      (char const   )'a',
        (char const   )'n',      (char const   )'c',      (char const   )'h',      (char const   )' ',
        (char const   )'<',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )'>',      (char const   )'\n',      (char const   )'\n',
        (char const   )'N',      (char const   )'a',      (char const   )'m',      (char const   )'e',
        (char const   )'s',      (char const   )' ',      (char const   )'c',      (char const   )'o',
        (char const   )'m',      (char const   )'m',      (char const   )'o',      (char const   )'n',
        (char const   )'l',      (char const   )'y',      (char const   )' ',      (char const   )'c',
        (char const   )'h',      (char const   )'o',      (char const   )'s',      (char const   )'e',
        (char const   )'n',      (char const   )' ',      (char const   )'i',      (char const   )'n',
        (char const   )'s',      (char const   )'t',      (char const   )'e',      (char const   )'a',
        (char const   )'d',      (char const   )' ',      (char const   )'o',      (char const   )'f',
        (char const   )' ',      (char const   )'\'',      (char const   )'m',      (char const   )'a',
        (char const   )'s',      (char const   )'t',      (char const   )'e',      (char const   )'r',
        (char const   )'\'',      (char const   )' ',      (char const   )'a',      (char const   )'r',
        (char const   )'e',      (char const   )' ',      (char const   )'\'',      (char const   )'m',
        (char const   )'a',      (char const   )'i',      (char const   )'n',      (char const   )'\'',
        (char const   )',',      (char const   )' ',      (char const   )'\'',      (char const   )'t',
        (char const   )'r',      (char const   )'u',      (char const   )'n',      (char const   )'k',
        (char const   )'\'',      (char const   )' ',      (char const   )'a',      (char const   )'n',
        (char const   )'d',      (char const   )'\n',      (char const   )'\'',      (char const   )'d',
        (char const   )'e',      (char const   )'v',      (char const   )'e',      (char const   )'l',
        (char const   )'o',      (char const   )'p',      (char const   )'m',      (char const   )'e',
        (char const   )'n',      (char const   )'t',      (char const   )'\'',      (char const   )'.',
        (char const   )' ',      (char const   )'T',      (char const   )'h',      (char const   )'e',
        (char const   )' ',      (char const   )'j',      (char const   )'u',      (char const   )'s',
        (char const   )'t',      (char const   )'-',      (char const   )'c',      (char const   )'r',
        (char const   )'e',      (char const   )'a',      (char const   )'t',      (char const   )'e',
        (char const   )'d',      (char const   )' ',      (char const   )'b',      (char const   )'r',
        (char const   )'a',      (char const   )'n',      (char const   )'c',      (char const   )'h',
        (char const   )' ',      (char const   )'c',      (char const   )'a',      (char const   )'n',
        (char const   )' ',      (char const   )'b',      (char const   )'e',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'n',      (char const   )'a',
        (char const   )'m',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'v',      (char const   )'i',      (char const   )'a',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'i',      (char const   )'s',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'m',
        (char const   )'m',      (char const   )'a',      (char const   )'n',      (char const   )'d',
        (char const   )':',      (char const   )'\n',      (char const   )'\n',      (char const   )'\t',
        (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'b',      (char const   )'r',      (char const   )'a',      (char const   )'n',
        (char const   )'c',      (char const   )'h',      (char const   )' ',      (char const   )'-',
        (char const   )'m',      (char const   )' ',      (char const   )'<',      (char const   )'n',
        (char const   )'a',      (char const   )'m',      (char const   )'e',      (char const   )'>',
        (char const   )'\n',      (char const   )'\000'};
char *repo_default_branch_name(struct repository *r , int quiet___7 )
{
  char const   *config_key___0 ;
  char const   *config_display_key ;
  char *ret___67 ;
  char *full_ref ;
  char const   *env ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  config_key___0 = (char const   *)"init.defaultbranch";
  config_display_key = (char const   *)"init.defaultBranch";
  ret___67 = (char *)((void *)0);
  tmp = getenv((char const   *)"GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME");
  env = (char const   *)tmp;
  if (env) {
    if (*env) {
      ret___67 = xstrdup(env);
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp___1 = repo_config_get_string(r, config_key___0, & ret___67);
    if (tmp___1 < 0) {
      tmp___0 = _((char const   *)"could not retrieve `%s`");
      die((char const   *)tmp___0, config_display_key);
    }
  }
  if (! ret___67) {
    ret___67 = xstrdup((char const   *)"master");
    if (! quiet___7) {
      tmp___2 = _(default_branch_name_advice);
      advise((char const   *)tmp___2, ret___67);
    }
  }
  full_ref = xstrfmt((char const   *)"refs/heads/%s", ret___67);
  tmp___4 = check_refname_format((char const   *)full_ref, 0);
  if (tmp___4) {
    tmp___3 = _((char const   *)"invalid branch name: %s = %s");
    die((char const   *)tmp___3, config_display_key, ret___67);
  }
  free((void *)full_ref);
  return (ret___67);
}
}
static char *ret___10  ;
char const   *git_default_branch_name(int quiet___7 )
{


  {
  if (! ret___10) {
    ret___10 = repo_default_branch_name(the_repository, quiet___7);
  }
  return ((char const   *)ret___10);
}
}
static char *substitute_branch_name(struct repository *r , char const   **string___0 ,
                                    int *len___0 , int nonfatal_dangling_mark )
{
  struct strbuf buf___19 ;
  struct interpret_branch_name_options options ;
  int ret___67 ;
  int tmp ;
  size_t size ;
  char *tmp___0 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  options.allowed = 0U;
  options.nonfatal_dangling_mark = (unsigned int )nonfatal_dangling_mark;
  tmp = repo_interpret_branch_name(r, *string___0, *len___0, & buf___19, (struct interpret_branch_name_options  const  *)(& options));
  ret___67 = tmp;
  if (ret___67 == *len___0) {
    tmp___0 = strbuf_detach(& buf___19, & size);
    *string___0 = (char const   *)tmp___0;
    *len___0 = (int )size;
    return ((char *)*string___0);
  }
  return ((char *)((void *)0));
}
}
int repo_dwim_ref(struct repository *r , char const   *str , int len___0 , struct object_id *oid ,
                  char **ref , int nonfatal_dangling_mark )
{
  char *last_branch ;
  char *tmp ;
  int refs_found ;
  int tmp___0 ;

  {
  tmp = substitute_branch_name(r, & str, & len___0, nonfatal_dangling_mark);
  last_branch = tmp;
  tmp___0 = expand_ref(r, str, len___0, oid, ref);
  refs_found = tmp___0;
  free((void *)last_branch);
  return (refs_found);
}
}
int expand_ref(struct repository *repo , char const   *str , int len___0 , struct object_id *oid ,
               char **ref )
{
  char const   **p___0 ;
  char const   *r ;
  int refs_found ;
  struct strbuf fullref ;
  struct object_id oid_from_ref ;
  struct object_id *this_result ;
  int flag ;
  struct ref_store *refs___0 ;
  struct ref_store *tmp ;
  int ignore_errno ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;

  {
  refs_found = 0;
  fullref.alloc = 0UL;
  fullref.len = 0UL;
  fullref.buf = strbuf_slopbuf;
  *ref = (char *)((void *)0);
  p___0 = ref_rev_parse_rules;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    tmp = get_main_ref_store(repo);
    refs___0 = tmp;
    if (refs_found) {
      this_result = & oid_from_ref;
    } else {
      this_result = oid;
    }
    strbuf_setlen(& fullref, (size_t )0);
    strbuf_addf(& fullref, *p___0, len___0, str);
    r = refs_resolve_ref_unsafe(refs___0, (char const   *)fullref.buf, 0x01, this_result,
                                & flag, & ignore_errno);
    if (r) {
      tmp___0 = refs_found;
      refs_found ++;
      if (! tmp___0) {
        *ref = xstrdup(r);
      }
      if (! warn_ambiguous_refs) {
        goto while_break;
      }
    } else
    if (flag & 0x01) {
      tmp___4 = strcmp((char const   *)fullref.buf, (char const   *)"HEAD");
      if (tmp___4) {
        tmp___1 = _((char const   *)"ignoring dangling symref %s");
        warning((char const   *)tmp___1, fullref.buf);
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (flag & 0x04) {
      tmp___3 = strchr((char const   *)fullref.buf, '/');
      if (tmp___3) {
        tmp___2 = _((char const   *)"ignoring broken ref %s");
        warning((char const   *)tmp___2, fullref.buf);
      }
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& fullref);
  return (refs_found);
}
}
int repo_dwim_log(struct repository *r , char const   *str , int len___0 , struct object_id *oid ,
                  char **log )
{
  struct ref_store *refs___0 ;
  struct ref_store *tmp ;
  char *last_branch ;
  char *tmp___0 ;
  char const   **p___0 ;
  int logs_found ;
  struct strbuf path___6 ;
  struct object_id hash___0 ;
  char const   *ref ;
  char const   *it ;
  int ignore_errno ;
  struct object_id *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = get_main_ref_store(r);
  refs___0 = tmp;
  tmp___0 = substitute_branch_name(r, & str, & len___0, 0);
  last_branch = tmp___0;
  logs_found = 0;
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  *log = (char *)((void *)0);
  p___0 = ref_rev_parse_rules;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    strbuf_setlen(& path___6, (size_t )0);
    strbuf_addf(& path___6, *p___0, len___0, str);
    if (oid) {
      tmp___1 = & hash___0;
    } else {
      tmp___1 = (struct object_id *)((void *)0);
    }
    ref = refs_resolve_ref_unsafe(refs___0, (char const   *)path___6.buf, 0x01, tmp___1,
                                  (int *)((void *)0), & ignore_errno);
    if (! ref) {
      goto __Cont;
    }
    tmp___4 = refs_reflog_exists(refs___0, (char const   *)path___6.buf);
    if (tmp___4) {
      it = (char const   *)path___6.buf;
    } else {
      tmp___2 = strcmp(ref, (char const   *)path___6.buf);
      if (tmp___2) {
        tmp___3 = refs_reflog_exists(refs___0, ref);
        if (tmp___3) {
          it = ref;
        } else {
          goto __Cont;
        }
      } else {
        goto __Cont;
      }
    }
    tmp___5 = logs_found;
    logs_found ++;
    if (! tmp___5) {
      *log = xstrdup(it);
      if (oid) {
        oidcpy(oid, (struct object_id  const  *)(& hash___0));
      }
    }
    if (! warn_ambiguous_refs) {
      goto while_break;
    }
    __Cont: /* CIL Label */
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& path___6);
  free((void *)last_branch);
  return (logs_found);
}
}
int dwim_log(char const   *str , int len___0 , struct object_id *oid , char **log )
{
  int tmp ;

  {
  tmp = repo_dwim_log(the_repository, str, len___0, oid, log);
  return (tmp);
}
}
static int is_per_worktree_ref(char const   *refname )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = starts_with(refname, (char const   *)"refs/worktree/");
  if (tmp) {
    tmp___2 = 1;
  } else {
    tmp___0 = starts_with(refname, (char const   *)"refs/bisect/");
    if (tmp___0) {
      tmp___2 = 1;
    } else {
      tmp___1 = starts_with(refname, (char const   *)"refs/rewritten/");
      if (tmp___1) {
        tmp___2 = 1;
      } else {
        tmp___2 = 0;
      }
    }
  }
  return (tmp___2);
}
}
static int is_pseudoref_syntax(char const   *refname )
{
  char const   *c___0 ;
  int tmp ;

  {
  c___0 = refname;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *c___0) {
      goto while_break;
    }
    tmp = sane_iscase((int )*c___0, 0);
    if (! tmp) {
      if ((int const   )*c___0 != 45) {
        if ((int const   )*c___0 != 95) {
          return (0);
        }
      }
    }
    c___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static int is_main_pseudoref_syntax(char const   *refname )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = skip_prefix(refname, (char const   *)"main-worktree/", & refname);
  if (tmp) {
    if (*refname) {
      tmp___0 = is_pseudoref_syntax(refname);
      if (tmp___0) {
        tmp___1 = 1;
      } else {
        tmp___1 = 0;
      }
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static int is_other_pseudoref_syntax(char const   *refname )
{
  int tmp ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  tmp = skip_prefix(refname, (char const   *)"worktrees/", & refname);
  if (! tmp) {
    return (0);
  }
  tmp___0 = strchr(refname, '/');
  refname = (char const   *)tmp___0;
  if (! refname) {
    return (0);
  } else
  if (! *(refname + 1)) {
    return (0);
  }
  tmp___1 = is_pseudoref_syntax(refname + 1);
  return (tmp___1);
}
}
enum ref_type ref_type(char const   *refname )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = is_per_worktree_ref(refname);
  if (tmp) {
    return ((enum ref_type )0);
  }
  tmp___0 = is_pseudoref_syntax(refname);
  if (tmp___0) {
    return ((enum ref_type )1);
  }
  tmp___1 = is_main_pseudoref_syntax(refname);
  if (tmp___1) {
    return ((enum ref_type )2);
  }
  tmp___2 = is_other_pseudoref_syntax(refname);
  if (tmp___2) {
    return ((enum ref_type )3);
  }
  return ((enum ref_type )4);
}
}
static int configured  =    0;
static int timeout_ms  =    100;
long get_files_ref_lock_timeout_ms(void)
{


  {
  if (! configured) {
    git_config_get_int((char const   *)"core.filesreflocktimeout", & timeout_ms);
    configured = 1;
  }
  return ((long )timeout_ms);
}
}
int refs_delete_ref(struct ref_store *refs___0 , char const   *msg___5 , char const   *refname ,
                    struct object_id  const  *old_oid , unsigned int flags___0 )
{
  struct ref_transaction *transaction___0 ;
  struct strbuf err___4 ;
  int tmp ;
  int tmp___0 ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  transaction___0 = ref_store_transaction_begin(refs___0, & err___4);
  if (! transaction___0) {
    error((char const   *)"%s", err___4.buf);
    const_error();
    ref_transaction_free(transaction___0);
    strbuf_release(& err___4);
    return (1);
  } else {
    tmp = ref_transaction_delete(transaction___0, refname, old_oid, flags___0, msg___5,
                                 & err___4);
    if (tmp) {
      error((char const   *)"%s", err___4.buf);
      const_error();
      ref_transaction_free(transaction___0);
      strbuf_release(& err___4);
      return (1);
    } else {
      tmp___0 = ref_transaction_commit(transaction___0, & err___4);
      if (tmp___0) {
        error((char const   *)"%s", err___4.buf);
        const_error();
        ref_transaction_free(transaction___0);
        strbuf_release(& err___4);
        return (1);
      }
    }
  }
  ref_transaction_free(transaction___0);
  strbuf_release(& err___4);
  return (0);
}
}
int delete_ref(char const   *msg___5 , char const   *refname , struct object_id  const  *old_oid ,
               unsigned int flags___0 )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_delete_ref(tmp, msg___5, refname, old_oid, flags___0);
  return (tmp___0);
}
}
static void copy_reflog_msg(struct strbuf *sb___6 , char const   *msg___5 )
{
  char c___0 ;
  int wasspace ;
  char const   *tmp ;

  {
  wasspace = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = msg___5;
    msg___5 ++;
    c___0 = (char )*tmp;
    if (! c___0) {
      goto while_break;
    }
    if (wasspace) {
      if (((int const   )sane_ctype[(unsigned char )c___0] & 1) != 0) {
        goto while_continue;
      }
    }
    wasspace = ((int const   )sane_ctype[(unsigned char )c___0] & 1) != 0;
    if (wasspace) {
      c___0 = (char )' ';
    }
    strbuf_addch(sb___6, (int )c___0);
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_rtrim(sb___6);
  return;
}
}
static char *normalize_reflog_message(char const   *msg___5 )
{
  struct strbuf sb___6 ;
  char *tmp ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  if (msg___5) {
    if (*msg___5) {
      copy_reflog_msg(& sb___6, msg___5);
    }
  }
  tmp = strbuf_detach(& sb___6, (size_t *)((void *)0));
  return (tmp);
}
}
int should_autocreate_reflog(char const   *refname )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  {
  if ((int )log_all_ref_updates == 2) {
    goto case_2;
  }
  if ((int )log_all_ref_updates == 1) {
    goto case_1;
  }
  goto switch_default;
  case_2: /* CIL Label */
  return (1);
  case_1: /* CIL Label */
  tmp = starts_with(refname, (char const   *)"refs/heads/");
  if (tmp) {
    tmp___3 = 1;
  } else {
    tmp___0 = starts_with(refname, (char const   *)"refs/remotes/");
    if (tmp___0) {
      tmp___3 = 1;
    } else {
      tmp___1 = starts_with(refname, (char const   *)"refs/notes/");
      if (tmp___1) {
        tmp___3 = 1;
      } else {
        tmp___2 = strcmp(refname, (char const   *)"HEAD");
        if (tmp___2) {
          tmp___3 = 0;
        } else {
          tmp___3 = 1;
        }
      }
    }
  }
  return (tmp___3);
  switch_default: /* CIL Label */
  return (0);
  switch_break: /* CIL Label */ ;
  }
}
}
int is_branch(char const   *refname )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = strcmp(refname, (char const   *)"HEAD");
  if (tmp) {
    tmp___0 = starts_with(refname, (char const   *)"refs/heads/");
    if (tmp___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 1;
  }
  return (tmp___1);
}
}
static void set_read_ref_cutoffs(struct read_ref_at_cb *cb , timestamp_t timestamp___0 ,
                                 int tz , char const   *message___0 )
{


  {
  if (cb->msg) {
    *(cb->msg) = xstrdup(message___0);
  }
  if (cb->cutoff_time) {
    *(cb->cutoff_time) = timestamp___0;
  }
  if (cb->cutoff_tz) {
    *(cb->cutoff_tz) = tz;
  }
  if (cb->cutoff_cnt) {
    *(cb->cutoff_cnt) = cb->reccnt;
  }
  return;
}
}
static int read_ref_at_ent(struct object_id *ooid , struct object_id *noid , char const   *email ,
                           timestamp_t timestamp___0 , int tz , char const   *message___0 ,
                           void *cb_data )
{
  struct read_ref_at_cb *cb ;
  int reached_count ;
  int tmp ;
  int tmp___0 ;
  struct date_mode *tmp___1 ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  struct date_mode *tmp___6 ;
  char const   *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  cb = (struct read_ref_at_cb *)cb_data;
  cb->tz = tz;
  cb->date = timestamp___0;
  if (cb->cnt > 0) {
    (cb->cnt) --;
  }
  if (cb->cnt == 0) {
    tmp = is_null_oid((struct object_id  const  *)ooid);
    if (tmp) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
  } else {
    tmp___0 = 0;
  }
  reached_count = tmp___0;
  if (timestamp___0 <= cb->at_time) {
    goto _L;
  } else
  if (reached_count) {
    _L: /* CIL Label */
    set_read_ref_cutoffs(cb, timestamp___0, tz, message___0);
    tmp___4 = is_null_oid((struct object_id  const  *)(& cb->ooid));
    if (! tmp___4) {
      tmp___5 = oideq((struct object_id  const  *)(& cb->ooid), (struct object_id  const  *)noid);
      if (! tmp___5) {
        tmp___1 = date_mode_from_type((enum date_mode_type )6);
        tmp___2 = show_date(cb->date, cb->tz, (struct date_mode  const  *)tmp___1);
        tmp___3 = _((char const   *)"log for ref %s has gap after %s");
        warning((char const   *)tmp___3, cb->refname, tmp___2);
      }
    }
    if (reached_count) {
      oidcpy(cb->oid, (struct object_id  const  *)ooid);
    } else {
      tmp___10 = is_null_oid((struct object_id  const  *)(& cb->ooid));
      if (tmp___10) {
        if (cb->date == cb->at_time) {
          oidcpy(cb->oid, (struct object_id  const  *)noid);
        } else {
          tmp___9 = oideq((struct object_id  const  *)noid, (struct object_id  const  *)cb->oid);
          if (! tmp___9) {
            tmp___6 = date_mode_from_type((enum date_mode_type )6);
            tmp___7 = show_date(cb->date, cb->tz, (struct date_mode  const  *)tmp___6);
            tmp___8 = _((char const   *)"log for ref %s unexpectedly ended on %s");
            warning((char const   *)tmp___8, cb->refname, tmp___7);
          }
        }
      } else {
        oidcpy(cb->oid, (struct object_id  const  *)noid);
      }
    }
    cb->found_it = 1;
  }
  (cb->reccnt) ++;
  oidcpy(& cb->ooid, (struct object_id  const  *)ooid);
  oidcpy(& cb->noid, (struct object_id  const  *)noid);
  return (cb->found_it);
}
}
static int read_ref_at_ent_newest(struct object_id *ooid , struct object_id *noid ,
                                  char const   *email , timestamp_t timestamp___0 ,
                                  int tz , char const   *message___0 , void *cb_data )
{
  struct read_ref_at_cb *cb ;

  {
  cb = (struct read_ref_at_cb *)cb_data;
  set_read_ref_cutoffs(cb, timestamp___0, tz, message___0);
  oidcpy(cb->oid, (struct object_id  const  *)noid);
  return (1);
}
}
static int read_ref_at_ent_oldest(struct object_id *ooid , struct object_id *noid ,
                                  char const   *email , timestamp_t timestamp___0 ,
                                  int tz , char const   *message___0 , void *cb_data )
{
  struct read_ref_at_cb *cb ;
  int tmp ;

  {
  cb = (struct read_ref_at_cb *)cb_data;
  set_read_ref_cutoffs(cb, timestamp___0, tz, message___0);
  oidcpy(cb->oid, (struct object_id  const  *)ooid);
  tmp = is_null_oid((struct object_id  const  *)cb->oid);
  if (tmp) {
    oidcpy(cb->oid, (struct object_id  const  *)noid);
  }
  return (1);
}
}
int read_ref_at(struct ref_store *refs___0 , char const   *refname , unsigned int flags___0 ,
                timestamp_t at_time , int cnt , struct object_id *oid , char **msg___5 ,
                timestamp_t *cutoff_time , int *cutoff_tz , int *cutoff_cnt )
{
  struct read_ref_at_cb cb ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  memset((void *)(& cb), 0, sizeof(cb));
  cb.refname = refname;
  cb.at_time = at_time;
  cb.cnt = cnt;
  cb.msg = msg___5;
  cb.cutoff_time = cutoff_time;
  cb.cutoff_tz = cutoff_tz;
  cb.cutoff_cnt = cutoff_cnt;
  cb.oid = oid;
  if (cb.cnt == 0) {
    refs_for_each_reflog_ent_reverse(refs___0, refname, & read_ref_at_ent_newest,
                                     (void *)(& cb));
    return (0);
  }
  refs_for_each_reflog_ent_reverse(refs___0, refname, & read_ref_at_ent, (void *)(& cb));
  if (! cb.reccnt) {
    if (flags___0 & 1U) {
      tmp = trace2_cmd_exit_fl((char const   *)"refs.c", 995, 128);
      exit(tmp);
    } else {
      tmp___0 = _((char const   *)"log for %s is empty");
      die((char const   *)tmp___0, refname);
    }
  }
  if (cb.found_it) {
    return (0);
  }
  refs_for_each_reflog_ent(refs___0, refname, & read_ref_at_ent_oldest, (void *)(& cb));
  return (1);
}
}
struct ref_transaction *ref_store_transaction_begin(struct ref_store *refs___0 , struct strbuf *err___4 )
{
  struct ref_transaction *tr ;
  void *tmp ;

  {
  assert((int )err___4);
  tmp = xcalloc((size_t )1, sizeof(*tr));
  tr = (struct ref_transaction *)tmp;
  tr->ref_store = refs___0;
  return (tr);
}
}
struct ref_transaction *ref_transaction_begin(struct strbuf *err___4 )
{
  struct ref_store *tmp ;
  struct ref_transaction *tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = ref_store_transaction_begin(tmp, err___4);
  return (tmp___0);
}
}
void ref_transaction_free(struct ref_transaction *transaction___0 )
{
  size_t i ;

  {
  if (! transaction___0) {
    return;
  }
  {
  if ((unsigned int )transaction___0->state == 2U) {
    goto case_2;
  }
  if ((unsigned int )transaction___0->state == 0U) {
    goto case_2;
  }
  if ((unsigned int )transaction___0->state == 1U) {
    goto case_1;
  }
  goto switch_default;
  case_2: /* CIL Label */
  case_0: /* CIL Label */
  goto switch_break;
  case_1: /* CIL Label */
  BUG_fl((char const   *)"refs.c", 1036, (char const   *)"free called on a prepared reference transaction");
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"refs.c", 1039, (char const   *)"unexpected reference transaction state");
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < transaction___0->nr)) {
      goto while_break;
    }
    free((void *)(*(transaction___0->updates + i))->msg);
    free((void *)*(transaction___0->updates + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)transaction___0->updates);
  free((void *)transaction___0);
  return;
}
}
struct ref_update *ref_transaction_add_update(struct ref_transaction *transaction___0 ,
                                              char const   *refname , unsigned int flags___0 ,
                                              struct object_id  const  *new_oid ,
                                              struct object_id  const  *old_oid ,
                                              char const   *msg___5 )
{
  struct ref_update *update___1 ;
  size_t flex_array_len_ ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;

  {
  if ((unsigned int )transaction___0->state != 0U) {
    BUG_fl((char const   *)"refs.c", 1061, (char const   *)"update called for transaction that is not open");
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = strlen(refname);
    flex_array_len_ = tmp;
    tmp___0 = st_add(sizeof(*update___1), flex_array_len_);
    tmp___1 = st_add(tmp___0, (size_t )1);
    tmp___2 = xcalloc((size_t )1, tmp___1);
    update___1 = (struct ref_update *)tmp___2;
    memcpy((void *)(update___1->refname), (void const   *)refname, flex_array_len_);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (transaction___0->nr + 1UL > transaction___0->alloc) {
      if (((transaction___0->alloc + 16UL) * 3UL) / 2UL < transaction___0->nr + 1UL) {
        transaction___0->alloc = transaction___0->nr + 1UL;
      } else {
        transaction___0->alloc = ((transaction___0->alloc + 16UL) * 3UL) / 2UL;
      }
      tmp___3 = st_mult(sizeof(*(transaction___0->updates)), transaction___0->alloc);
      tmp___4 = xrealloc((void *)transaction___0->updates, tmp___3);
      transaction___0->updates = (struct ref_update **)tmp___4;
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___5 = transaction___0->nr;
  (transaction___0->nr) ++;
  *(transaction___0->updates + tmp___5) = update___1;
  update___1->flags = flags___0;
  if (flags___0 & (unsigned int )(1 << 2)) {
    oidcpy(& update___1->new_oid, new_oid);
  }
  if (flags___0 & (unsigned int )(1 << 3)) {
    oidcpy(& update___1->old_oid, old_oid);
  }
  update___1->msg = normalize_reflog_message(msg___5);
  return (update___1);
}
}
int ref_transaction_update(struct ref_transaction *transaction___0 , char const   *refname ,
                           struct object_id  const  *new_oid , struct object_id  const  *old_oid ,
                           unsigned int flags___0 , char const   *msg___5 , struct strbuf *err___4 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  assert((int )err___4);
  if (! (flags___0 & (unsigned int )(1 << 11))) {
    if (new_oid) {
      tmp___5 = is_null_oid(new_oid);
      if (tmp___5) {
        goto _L;
      } else {
        tmp___1 = check_refname_format(refname, 1);
        tmp___4 = tmp___1;
      }
    } else {
      _L: /* CIL Label */
      tmp___2 = refname_is_safe(refname);
      if (tmp___2) {
        tmp___3 = 0;
      } else {
        tmp___3 = 1;
      }
      tmp___4 = tmp___3;
    }
    if (tmp___4) {
      tmp = _((char const   *)"refusing to update ref with bad name \'%s\'");
      strbuf_addf(err___4, (char const   *)tmp, refname);
      return (-1);
    }
  }
  if (flags___0 & (unsigned int )(~ (((1 | (1 << 1)) | (1 << 10)) | (1 << 11)))) {
    BUG_fl((char const   *)"refs.c", 1096, (char const   *)"illegal flags 0x%x passed to ref_transaction_update()",
           flags___0);
  }
  flags___0 &= (unsigned int )(((1 | (1 << 1)) | (1 << 10)) | (1 << 11));
  if (new_oid) {
    tmp___6 = 1 << 2;
  } else {
    tmp___6 = 0;
  }
  if (old_oid) {
    tmp___7 = 1 << 3;
  } else {
    tmp___7 = 0;
  }
  flags___0 |= (unsigned int )(tmp___6 | tmp___7);
  ref_transaction_add_update(transaction___0, refname, flags___0, new_oid, old_oid,
                             msg___5);
  return (0);
}
}
int ref_transaction_create(struct ref_transaction *transaction___0 , char const   *refname ,
                           struct object_id  const  *new_oid , unsigned int flags___0 ,
                           char const   *msg___5 , struct strbuf *err___4 )
{
  int tmp ;
  struct object_id  const  *tmp___0 ;
  int tmp___1 ;

  {
  if (! new_oid) {
    BUG_fl((char const   *)"refs.c", 1119, (char const   *)"create called without valid new_oid");
  } else {
    tmp = is_null_oid(new_oid);
    if (tmp) {
      BUG_fl((char const   *)"refs.c", 1119, (char const   *)"create called without valid new_oid");
    }
  }
  tmp___0 = null_oid();
  tmp___1 = ref_transaction_update(transaction___0, refname, new_oid, tmp___0, flags___0,
                                   msg___5, err___4);
  return (tmp___1);
}
}
int ref_transaction_delete(struct ref_transaction *transaction___0 , char const   *refname ,
                           struct object_id  const  *old_oid , unsigned int flags___0 ,
                           char const   *msg___5 , struct strbuf *err___4 )
{
  int tmp ;
  struct object_id  const  *tmp___0 ;
  int tmp___1 ;

  {
  if (old_oid) {
    tmp = is_null_oid(old_oid);
    if (tmp) {
      BUG_fl((char const   *)"refs.c", 1131, (char const   *)"delete called with old_oid set to zeros");
    }
  }
  tmp___0 = null_oid();
  tmp___1 = ref_transaction_update(transaction___0, refname, tmp___0, old_oid, flags___0,
                                   msg___5, err___4);
  return (tmp___1);
}
}
int ref_transaction_verify(struct ref_transaction *transaction___0 , char const   *refname ,
                           struct object_id  const  *old_oid , unsigned int flags___0 ,
                           struct strbuf *err___4 )
{
  int tmp ;

  {
  if (! old_oid) {
    BUG_fl((char const   *)"refs.c", 1144, (char const   *)"verify called with old_oid set to NULL");
  }
  tmp = ref_transaction_update(transaction___0, refname, (struct object_id  const  *)((void *)0),
                               old_oid, flags___0, (char const   *)((void *)0), err___4);
  return (tmp);
}
}
int refs_update_ref(struct ref_store *refs___0 , char const   *msg___5 , char const   *refname ,
                    struct object_id  const  *new_oid , struct object_id  const  *old_oid ,
                    unsigned int flags___0 , enum action_on_err onerr )
{
  struct ref_transaction *t ;
  struct strbuf err___4 ;
  int ret___67 ;
  int tmp ;
  int tmp___0 ;
  char const   *str ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  t = (struct ref_transaction *)((void *)0);
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  ret___67 = 0;
  t = ref_store_transaction_begin(refs___0, & err___4);
  if (! t) {
    ret___67 = 1;
    ref_transaction_free(t);
  } else {
    tmp = ref_transaction_update(t, refname, new_oid, old_oid, flags___0, msg___5,
                                 & err___4);
    if (tmp) {
      ret___67 = 1;
      ref_transaction_free(t);
    } else {
      tmp___0 = ref_transaction_commit(t, & err___4);
      if (tmp___0) {
        ret___67 = 1;
        ref_transaction_free(t);
      }
    }
  }
  if (ret___67) {
    tmp___1 = _((char const   *)"update_ref failed for ref \'%s\': %s");
    str = (char const   *)tmp___1;
    {
    if ((unsigned int )onerr == 0U) {
      goto case_0;
    }
    if ((unsigned int )onerr == 1U) {
      goto case_1;
    }
    if ((unsigned int )onerr == 2U) {
      goto case_2;
    }
    goto switch_break;
    case_0: /* CIL Label */
    error(str, refname, err___4.buf);
    const_error();
    goto switch_break;
    case_1: /* CIL Label */
    die(str, refname, err___4.buf);
    goto switch_break;
    case_2: /* CIL Label */
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    strbuf_release(& err___4);
    return (1);
  }
  strbuf_release(& err___4);
  if (t) {
    ref_transaction_free(t);
  }
  return (0);
}
}
int update_ref(char const   *msg___5 , char const   *refname , struct object_id  const  *new_oid ,
               struct object_id  const  *old_oid , unsigned int flags___0 , enum action_on_err onerr )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_update_ref(tmp, msg___5, refname, new_oid, old_oid, flags___0, onerr);
  return (tmp___0);
}
}
static char **scanf_fmts  ;
static int nr_rules  ;
char *refs_shorten_unambiguous_ref(struct ref_store *refs___0 , char const   *refname ,
                                   int strict___1 )
{
  int i ;
  char *short_name ;
  struct strbuf resolved_buf ;
  size_t total_len ;
  size_t offset___2 ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;
  int j ;
  int rules_to_fail ;
  int short_name_len ;
  int tmp___5 ;
  size_t tmp___6 ;
  char const   *rule ;
  int tmp___7 ;
  char *tmp___8 ;

  {
  resolved_buf.alloc = 0UL;
  resolved_buf.len = 0UL;
  resolved_buf.buf = strbuf_slopbuf;
  if (! nr_rules) {
    total_len = (size_t )0;
    offset___2 = (size_t )0;
    nr_rules = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ref_rev_parse_rules[nr_rules]) {
        goto while_break;
      }
      tmp = strlen(ref_rev_parse_rules[nr_rules]);
      total_len += (tmp - 2UL) + 1UL;
      nr_rules ++;
    }
    while_break: /* CIL Label */ ;
    }
    tmp___0 = st_mult(sizeof(char *), (size_t )nr_rules);
    tmp___1 = st_add(tmp___0, total_len);
    tmp___2 = xmalloc(tmp___1);
    scanf_fmts = (char **)tmp___2;
    offset___2 = (size_t )0;
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < nr_rules)) {
        goto while_break___0;
      }
      assert(offset___2 < total_len);
      *(scanf_fmts + i) = (char *)(scanf_fmts + nr_rules) + offset___2;
      tmp___3 = xsnprintf(*(scanf_fmts + i), total_len - offset___2, ref_rev_parse_rules[i],
                          2, "%s");
      offset___2 += (size_t )(tmp___3 + 1);
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  if (! nr_rules) {
    tmp___4 = xstrdup(refname);
    return (tmp___4);
  }
  short_name = xstrdup(refname);
  i = nr_rules - 1;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i > 0)) {
      goto while_break___1;
    }
    rules_to_fail = i;
    tmp___5 = sscanf((char const   * __restrict  )refname, (char const   * __restrict  )*(scanf_fmts + i),
                     short_name);
    if (1 != tmp___5) {
      goto __Cont;
    }
    tmp___6 = strlen((char const   *)short_name);
    short_name_len = (int )tmp___6;
    if (strict___1) {
      rules_to_fail = nr_rules;
    }
    j = 0;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (j < rules_to_fail)) {
        goto while_break___2;
      }
      rule = ref_rev_parse_rules[j];
      if (i == j) {
        goto __Cont___0;
      }
      strbuf_setlen(& resolved_buf, (size_t )0);
      strbuf_addf(& resolved_buf, rule, short_name_len, short_name);
      tmp___7 = refs_ref_exists(refs___0, (char const   *)resolved_buf.buf);
      if (tmp___7) {
        goto while_break___2;
      }
      __Cont___0: /* CIL Label */
      j ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    if (j == rules_to_fail) {
      strbuf_release(& resolved_buf);
      return (short_name);
    }
    __Cont: /* CIL Label */
    i --;
  }
  while_break___1: /* CIL Label */ ;
  }
  strbuf_release(& resolved_buf);
  free((void *)short_name);
  tmp___8 = xstrdup(refname);
  return (tmp___8);
}
}
char *shorten_unambiguous_ref(char const   *refname , int strict___1 )
{
  struct ref_store *tmp ;
  char *tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_shorten_unambiguous_ref(tmp, refname, strict___1);
  return (tmp___0);
}
}
static struct string_list *hide_refs  ;
int parse_hide_refs_config(char const   *var , char const   *value , char const   *section )
{
  char const   *key___1 ;
  char *ref ;
  int len___0 ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp___2 = strcmp((char const   *)"transfer.hiderefs", var);
  if (tmp___2) {
    tmp___3 = parse_config_key(var, section, (char const   **)((void *)0), (size_t *)((void *)0),
                               & key___1);
    if (! tmp___3) {
      tmp___4 = strcmp(key___1, (char const   *)"hiderefs");
      if (! tmp___4) {
        _L: /* CIL Label */
        if (! value) {
          config_error_nonbool(var);
          tmp = const_error();
          return (tmp);
        }
        ref = xstrdup(value);
        tmp___0 = strlen((char const   *)ref);
        len___0 = (int )tmp___0;
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          if (len___0) {
            if (! ((int )*(ref + (len___0 - 1)) == 47)) {
              goto while_break;
            }
          } else {
            goto while_break;
          }
          len___0 --;
          *(ref + len___0) = (char )'\000';
        }
        while_break: /* CIL Label */ ;
        }
        if (! hide_refs) {
          tmp___1 = xcalloc((size_t )1, sizeof(*hide_refs));
          hide_refs = (struct string_list *)tmp___1;
          hide_refs->strdup_strings = 1U;
        }
        string_list_append(hide_refs, (char const   *)ref);
      }
    }
  } else {
    goto _L;
  }
  return (0);
}
}
int ref_is_hidden(char const   *refname , char const   *refname_full )
{
  int i ;
  char const   *match___0 ;
  char const   *subject ;
  int neg ;
  char const   *p___0 ;
  int tmp ;

  {
  if (! hide_refs) {
    return (0);
  }
  i = (int )(hide_refs->nr - 1U);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i >= 0)) {
      goto while_break;
    }
    match___0 = (char const   *)(hide_refs->items + i)->string;
    neg = 0;
    if ((int const   )*match___0 == 33) {
      neg = 1;
      match___0 ++;
    }
    if ((int const   )*match___0 == 94) {
      subject = refname_full;
      match___0 ++;
    } else {
      subject = refname;
    }
    if (subject) {
      tmp = skip_prefix(subject, match___0, & p___0);
      if (tmp) {
        if (! *p___0) {
          return (! neg);
        } else
        if ((int const   )*p___0 == 47) {
          return (! neg);
        }
      }
    }
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
char const   *find_descendant_ref(char const   *dirname___0 , struct string_list  const  *extras ,
                                  struct string_list  const  *skip )
{
  int pos ;
  char const   *extra_refname ;
  int tmp ;
  int tmp___0 ;

  {
  if (! extras) {
    return ((char const   *)((void *)0));
  }
  pos = string_list_find_insert_index(extras, dirname___0, 0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )pos < extras->nr)) {
      goto while_break;
    }
    extra_refname = (char const   *)(extras->items + pos)->string;
    tmp = starts_with(extra_refname, dirname___0);
    if (! tmp) {
      goto while_break;
    }
    if (! skip) {
      return (extra_refname);
    } else {
      tmp___0 = string_list_has_string(skip, extra_refname);
      if (! tmp___0) {
        return (extra_refname);
      }
    }
    pos ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((char const   *)((void *)0));
}
}
int refs_head_ref(struct ref_store *refs___0 , each_ref_fn *fn , void *cb_data )
{
  struct object_id oid ;
  int flag ;
  int ignore_errno ;
  int tmp ;
  char const   *tmp___0 ;

  {
  tmp___0 = refs_resolve_ref_unsafe(refs___0, (char const   *)"HEAD", 0x01, & oid,
                                    & flag, & ignore_errno);
  if (tmp___0) {
    tmp = (*fn)((char const   *)"HEAD", (struct object_id  const  *)(& oid), flag,
                cb_data);
    return (tmp);
  }
  return (0);
}
}
int head_ref(each_ref_fn *fn , void *cb_data )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_head_ref(tmp, fn, cb_data);
  return (tmp___0);
}
}
static int ref_paranoia  =    -1;
struct ref_iterator *refs_ref_iterator_begin(struct ref_store *refs___0 , char const   *prefix___1 ,
                                             int trim , enum do_for_each_ref_flags flags___0 )
{
  struct ref_iterator *iter___0 ;

  {
  if (! ((unsigned int )flags___0 & 1U)) {
    if (ref_paranoia < 0) {
      ref_paranoia = git_env_bool((char const   *)"GIT_REF_PARANOIA", 1);
    }
    if (ref_paranoia) {
      flags___0 = (enum do_for_each_ref_flags )((unsigned int )flags___0 | 1U);
      flags___0 = (enum do_for_each_ref_flags )((unsigned int )flags___0 | 4U);
    }
  }
  iter___0 = (*((refs___0->be)->iterator_begin))(refs___0, prefix___1, (unsigned int )flags___0);
  if (trim) {
    iter___0 = prefix_ref_iterator_begin(iter___0, (char const   *)"", trim);
  }
  if (! iter___0->ordered) {
    BUG_fl((char const   *)"refs.c", 1436, (char const   *)"reference iterator is not ordered");
  }
  return (iter___0);
}
}
static int do_for_each_repo_ref(struct repository *r , char const   *prefix___1 ,
                                each_repo_ref_fn *fn , int trim , int flags___0 ,
                                void *cb_data )
{
  struct ref_iterator *iter___0 ;
  struct ref_store *refs___0 ;
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(r);
  refs___0 = tmp;
  if (! refs___0) {
    return (0);
  }
  iter___0 = refs_ref_iterator_begin(refs___0, prefix___1, trim, (enum do_for_each_ref_flags )flags___0);
  tmp___0 = do_for_each_repo_ref_iterator(r, iter___0, fn, cb_data);
  return (tmp___0);
}
}
static int do_for_each_ref_helper(struct repository *r , char const   *refname , struct object_id  const  *oid ,
                                  int flags___0 , void *cb_data )
{
  struct do_for_each_ref_help *hp ;
  int tmp ;

  {
  hp = (struct do_for_each_ref_help *)cb_data;
  tmp = (*(hp->fn))(refname, oid, flags___0, hp->cb_data);
  return (tmp);
}
}
static int do_for_each_ref(struct ref_store *refs___0 , char const   *prefix___1 ,
                           each_ref_fn *fn , int trim , enum do_for_each_ref_flags flags___0 ,
                           void *cb_data )
{
  struct ref_iterator *iter___0 ;
  struct do_for_each_ref_help hp ;
  int tmp ;

  {
  hp.fn = fn;
  hp.cb_data = cb_data;
  if (! refs___0) {
    return (0);
  }
  iter___0 = refs_ref_iterator_begin(refs___0, prefix___1, trim, flags___0);
  tmp = do_for_each_repo_ref_iterator(the_repository, iter___0, & do_for_each_ref_helper,
                                      (void *)(& hp));
  return (tmp);
}
}
int refs_for_each_ref(struct ref_store *refs___0 , each_ref_fn *fn , void *cb_data )
{
  int tmp ;

  {
  tmp = do_for_each_ref(refs___0, (char const   *)"", fn, 0, (enum do_for_each_ref_flags )0,
                        cb_data);
  return (tmp);
}
}
int for_each_ref(each_ref_fn *fn , void *cb_data )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_for_each_ref(tmp, fn, cb_data);
  return (tmp___0);
}
}
int refs_for_each_ref_in(struct ref_store *refs___0 , char const   *prefix___1 , each_ref_fn *fn ,
                         void *cb_data )
{
  size_t tmp ;
  int tmp___0 ;

  {
  tmp = strlen(prefix___1);
  tmp___0 = do_for_each_ref(refs___0, prefix___1, fn, (int )tmp, (enum do_for_each_ref_flags )0,
                            cb_data);
  return (tmp___0);
}
}
int for_each_ref_in(char const   *prefix___1 , each_ref_fn *fn , void *cb_data )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_for_each_ref_in(tmp, prefix___1, fn, cb_data);
  return (tmp___0);
}
}
int for_each_fullref_in(char const   *prefix___1 , each_ref_fn *fn , void *cb_data )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = do_for_each_ref(tmp, prefix___1, fn, 0, (enum do_for_each_ref_flags )0,
                            cb_data);
  return (tmp___0);
}
}
int refs_for_each_fullref_in(struct ref_store *refs___0 , char const   *prefix___1 ,
                             each_ref_fn *fn , void *cb_data )
{
  int tmp ;

  {
  tmp = do_for_each_ref(refs___0, prefix___1, fn, 0, (enum do_for_each_ref_flags )0,
                        cb_data);
  return (tmp);
}
}
int for_each_replace_ref(struct repository *r , each_repo_ref_fn *fn , void *cb_data )
{
  size_t tmp ;
  int tmp___0 ;

  {
  tmp = strlen((char const   *)git_replace_ref_base);
  tmp___0 = do_for_each_repo_ref(r, (char const   *)git_replace_ref_base, fn, (int )tmp,
                                 1, cb_data);
  return (tmp___0);
}
}
int for_each_namespaced_ref(each_ref_fn *fn , void *cb_data )
{
  struct strbuf buf___19 ;
  int ret___67 ;
  char const   *tmp ;
  struct ref_store *tmp___0 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = get_git_namespace();
  strbuf_addf(& buf___19, (char const   *)"%srefs/", tmp);
  tmp___0 = get_main_ref_store(the_repository);
  ret___67 = do_for_each_ref(tmp___0, (char const   *)buf___19.buf, fn, 0, (enum do_for_each_ref_flags )0,
                             cb_data);
  strbuf_release(& buf___19);
  return (ret___67);
}
}
int refs_for_each_rawref(struct ref_store *refs___0 , each_ref_fn *fn , void *cb_data )
{
  int tmp ;

  {
  tmp = do_for_each_ref(refs___0, (char const   *)"", fn, 0, (enum do_for_each_ref_flags )1,
                        cb_data);
  return (tmp);
}
}
int for_each_rawref(each_ref_fn *fn , void *cb_data )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_for_each_rawref(tmp, fn, cb_data);
  return (tmp___0);
}
}
static int qsort_strcmp(void const   *va , void const   *vb )
{
  char const   *a ;
  char const   *b___0 ;
  int tmp ;

  {
  a = *((char const   **)va);
  b___0 = *((char const   **)vb);
  tmp = strcmp(a, b___0);
  return (tmp);
}
}
static void find_longest_prefixes_1(struct string_list *out , struct strbuf *prefix___1 ,
                                    char const   **patterns___0 , size_t nr___0 )
{
  size_t i ;
  char c___0 ;
  size_t end ;

  {
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break;
    }
    c___0 = (char )*(*(patterns___0 + i) + prefix___1->len);
    if (! c___0) {
      string_list_append(out, (char const   *)prefix___1->buf);
      return;
    } else
    if (((int const   )sane_ctype[(unsigned char )c___0] & 8) != 0) {
      string_list_append(out, (char const   *)prefix___1->buf);
      return;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break___0;
    }
    end = i + 1UL;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (end < nr___0)) {
        goto while_break___1;
      }
      if ((int const   )*(*(patterns___0 + i) + prefix___1->len) != (int const   )*(*(patterns___0 + end) + prefix___1->len)) {
        goto while_break___1;
      }
      end ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    strbuf_addch(prefix___1, (int )*(*(patterns___0 + i) + prefix___1->len));
    find_longest_prefixes_1(out, prefix___1, patterns___0 + i, end - i);
    strbuf_setlen(prefix___1, prefix___1->len - 1UL);
    i = end;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void find_longest_prefixes(struct string_list *out , char const   **patterns___0 )
{
  struct strvec sorted ;
  struct strbuf prefix___1 ;

  {
  sorted.v = empty_strvec;
  sorted.nr = 0UL;
  sorted.alloc = 0UL;
  prefix___1.alloc = 0UL;
  prefix___1.len = 0UL;
  prefix___1.buf = strbuf_slopbuf;
  strvec_pushv(& sorted, patterns___0);
  sane_qsort((void *)sorted.v, sorted.nr, sizeof(*(sorted.v)), & qsort_strcmp);
  find_longest_prefixes_1(out, & prefix___1, sorted.v, sorted.nr);
  strvec_clear(& sorted);
  strbuf_release(& prefix___1);
  return;
}
}
int for_each_fullref_in_prefixes(char const   *namespace , char const   **patterns___0 ,
                                 each_ref_fn *fn , void *cb_data )
{
  struct string_list prefixes___0 ;
  struct string_list_item *prefix___1 ;
  struct strbuf buf___19 ;
  int ret___67 ;
  int namespace_len ;

  {
  prefixes___0.items = (struct string_list_item *)0;
  prefixes___0.nr = 0U;
  prefixes___0.alloc = 0U;
  prefixes___0.strdup_strings = 1U;
  prefixes___0.cmp = (int (*)(char const   * , char const   * ))0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  ret___67 = 0;
  find_longest_prefixes(& prefixes___0, patterns___0);
  if (namespace) {
    strbuf_addstr(& buf___19, namespace);
  }
  namespace_len = (int )buf___19.len;
  prefix___1 = prefixes___0.items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (prefix___1) {
      if (! ((unsigned long )prefix___1 < (unsigned long )(prefixes___0.items + prefixes___0.nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    strbuf_addstr(& buf___19, (char const   *)prefix___1->string);
    ret___67 = for_each_fullref_in((char const   *)buf___19.buf, fn, cb_data);
    if (ret___67) {
      goto while_break;
    }
    strbuf_setlen(& buf___19, (size_t )namespace_len);
    prefix___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_clear(& prefixes___0, 0);
  strbuf_release(& buf___19);
  return (ret___67);
}
}
static int refs_read_special_head(struct ref_store *ref_store , char const   *refname ,
                                  struct object_id *oid , struct strbuf *referent ,
                                  unsigned int *type___0 , int *failure_errno )
{
  struct strbuf full_path ;
  struct strbuf content ;
  int result___0 ;
  ssize_t tmp ;

  {
  full_path.alloc = 0UL;
  full_path.len = 0UL;
  full_path.buf = strbuf_slopbuf;
  content.alloc = 0UL;
  content.len = 0UL;
  content.buf = strbuf_slopbuf;
  result___0 = -1;
  strbuf_addf(& full_path, (char const   *)"%s/%s", ref_store->gitdir, refname);
  tmp = strbuf_read_file(& content, (char const   *)full_path.buf, (size_t )0);
  if (tmp < 0L) {
    goto done;
  }
  result___0 = parse_loose_ref_contents((char const   *)content.buf, oid, referent,
                                        type___0, failure_errno);
  done:
  strbuf_release(& full_path);
  strbuf_release(& content);
  return (result___0);
}
}
int refs_read_raw_ref(struct ref_store *ref_store , char const   *refname , struct object_id *oid ,
                      struct strbuf *referent , unsigned int *type___0 , int *failure_errno )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  assert((int )failure_errno);
  tmp___0 = strcmp(refname, (char const   *)"FETCH_HEAD");
  if (tmp___0) {
    tmp___1 = strcmp(refname, (char const   *)"MERGE_HEAD");
    if (! tmp___1) {
      tmp = refs_read_special_head(ref_store, refname, oid, referent, type___0, failure_errno);
      return (tmp);
    }
  } else {
    tmp = refs_read_special_head(ref_store, refname, oid, referent, type___0, failure_errno);
    return (tmp);
  }
  tmp___2 = (*((ref_store->be)->read_raw_ref))(ref_store, refname, oid, referent,
                                               type___0, failure_errno);
  return (tmp___2);
}
}
static struct strbuf sb_refname  =    {0UL, 0UL, strbuf_slopbuf};
char const   *refs_resolve_ref_unsafe(struct ref_store *refs___0 , char const   *refname ,
                                      int resolve_flags , struct object_id *oid ,
                                      int *flags___0 , int *failure_errno )
{
  struct object_id unused_oid ;
  int unused_flags ;
  int symref_count ;
  int tmp ;
  int tmp___0 ;
  unsigned int read_flags ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  assert((int )failure_errno);
  if (! oid) {
    oid = & unused_oid;
  }
  if (! flags___0) {
    flags___0 = & unused_flags;
  }
  *flags___0 = 0;
  tmp___0 = check_refname_format(refname, 1);
  if (tmp___0) {
    if (! (resolve_flags & 0x04)) {
      *failure_errno = 22;
      return ((char const   *)((void *)0));
    } else {
      tmp = refname_is_safe(refname);
      if (! tmp) {
        *failure_errno = 22;
        return ((char const   *)((void *)0));
      }
    }
    *flags___0 |= 0x08;
  }
  symref_count = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (symref_count < 5)) {
      goto while_break;
    }
    read_flags = 0U;
    tmp___1 = refs_read_raw_ref(refs___0, refname, oid, & sb_refname, & read_flags,
                                failure_errno);
    if (tmp___1) {
      *flags___0 = (int )((unsigned int )*flags___0 | read_flags);
      if (resolve_flags & 0x01) {
        return ((char const   *)((void *)0));
      }
      if (*failure_errno != 2) {
        if (*failure_errno != 21) {
          if (*failure_errno != 20) {
            return ((char const   *)((void *)0));
          }
        }
      }
      oidclr(oid);
      if (*flags___0 & 0x08) {
        *flags___0 |= 0x04;
      }
      return (refname);
    }
    *flags___0 = (int )((unsigned int )*flags___0 | read_flags);
    if (! (read_flags & 1U)) {
      if (*flags___0 & 0x08) {
        oidclr(oid);
        *flags___0 |= 0x04;
      }
      return (refname);
    }
    refname = (char const   *)sb_refname.buf;
    if (resolve_flags & 0x02) {
      oidclr(oid);
      return (refname);
    }
    tmp___3 = check_refname_format(refname, 1);
    if (tmp___3) {
      if (! (resolve_flags & 0x04)) {
        *failure_errno = 22;
        return ((char const   *)((void *)0));
      } else {
        tmp___2 = refname_is_safe(refname);
        if (! tmp___2) {
          *failure_errno = 22;
          return ((char const   *)((void *)0));
        }
      }
      *flags___0 |= 12;
    }
    symref_count ++;
  }
  while_break: /* CIL Label */ ;
  }
  *failure_errno = 40;
  return ((char const   *)((void *)0));
}
}
int refs_init_db(struct strbuf *err___4 )
{
  struct ref_store *refs___0 ;
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  refs___0 = tmp;
  tmp___0 = (*((refs___0->be)->init_db))(refs___0, err___4);
  return (tmp___0);
}
}
char const   *resolve_ref_unsafe(char const   *refname , int resolve_flags , struct object_id *oid ,
                                 int *flags___0 )
{
  int ignore_errno ;
  struct ref_store *tmp ;
  char const   *tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_resolve_ref_unsafe(tmp, refname, resolve_flags, oid, flags___0, & ignore_errno);
  return (tmp___0);
}
}
int resolve_gitlink_ref(char const   *submodule , char const   *refname , struct object_id *oid )
{
  struct ref_store *refs___0 ;
  int flags___0 ;
  int ignore_errno ;
  char const   *tmp ;
  int tmp___0 ;

  {
  refs___0 = get_submodule_ref_store(submodule);
  if (! refs___0) {
    return (-1);
  }
  tmp = refs_resolve_ref_unsafe(refs___0, refname, 0, oid, & flags___0, & ignore_errno);
  if (tmp) {
    tmp___0 = is_null_oid((struct object_id  const  *)oid);
    if (tmp___0) {
      return (-1);
    }
  } else {
    return (-1);
  }
  return (0);
}
}
static int ref_store_hash_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *eptr ,
                              struct hashmap_entry  const  *entry_or_key , void const   *keydata )
{
  struct ref_store_hash_entry  const  *e1 ;
  struct ref_store_hash_entry  const  *e2 ;
  char const   *name___0 ;
  int tmp ;

  {
  e1 = (struct ref_store_hash_entry  const  *)((char *)eptr - (unsigned long )(& ((struct ref_store_hash_entry  const  *)0)->ent));
  e2 = (struct ref_store_hash_entry  const  *)((char *)entry_or_key - (unsigned long )(& ((struct ref_store_hash_entry  const  *)0)->ent));
  if (keydata) {
    name___0 = (char const   *)keydata;
  } else {
    name___0 = (char const   *)(e2->name);
  }
  tmp = strcmp((char const   *)(e1->name), name___0);
  return (tmp);
}
}
static struct ref_store_hash_entry *alloc_ref_store_hash_entry(char const   *name___0 ,
                                                               struct ref_store *refs___0 )
{
  struct ref_store_hash_entry *entry ;
  size_t flex_array_len_ ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  unsigned int tmp___3 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = strlen(name___0);
    flex_array_len_ = tmp;
    tmp___0 = st_add(sizeof(*entry), flex_array_len_);
    tmp___1 = st_add(tmp___0, (size_t )1);
    tmp___2 = xcalloc((size_t )1, tmp___1);
    entry = (struct ref_store_hash_entry *)tmp___2;
    memcpy((void *)(entry->name), (void const   *)name___0, flex_array_len_);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___3 = strhash(name___0);
  hashmap_entry_init(& entry->ent, tmp___3);
  entry->refs = refs___0;
  return (entry);
}
}
static struct hashmap submodule_ref_stores  ;
static struct hashmap worktree_ref_stores  ;
static struct ref_store *lookup_ref_store_map(struct hashmap *map___0 , char const   *name___0 )
{
  struct ref_store_hash_entry *entry ;
  unsigned int hash___0 ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct ref_store *tmp___1 ;

  {
  if (! map___0->tablesize) {
    return ((struct ref_store *)((void *)0));
  }
  hash___0 = strhash(name___0);
  tmp = hashmap_get_from_hash((struct hashmap  const  *)map___0, hash___0, (void const   *)name___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct ref_store_hash_entry *)0)->ent));
  entry = (struct ref_store_hash_entry *)tmp___0;
  if (entry) {
    tmp___1 = entry->refs;
  } else {
    tmp___1 = (struct ref_store *)((void *)0);
  }
  return (tmp___1);
}
}
static struct ref_store *ref_store_init(struct repository *repo , char const   *gitdir___0 ,
                                        unsigned int flags___0 )
{
  char const   *be_name ;
  struct ref_storage_be *be ;
  struct ref_storage_be *tmp ;
  struct ref_store *refs___0 ;

  {
  be_name = (char const   *)"files";
  tmp = find_ref_storage_backend(be_name);
  be = tmp;
  if (! be) {
    BUG_fl((char const   *)"refs.c", 1886, (char const   *)"reference backend %s is unknown",
           be_name);
  }
  refs___0 = (*(be->init))(repo, gitdir___0, flags___0);
  return (refs___0);
}
}
struct ref_store *get_main_ref_store(struct repository *r )
{


  {
  if (r->refs_private) {
    return (r->refs_private);
  }
  if (! r->gitdir) {
    BUG_fl((char const   *)"refs.c", 1898, (char const   *)"attempting to get main_ref_store outside of repository");
  }
  r->refs_private = ref_store_init(r, (char const   *)r->gitdir, (unsigned int )(((1 | (1 << 1)) | (1 << 2)) | (1 << 3)));
  r->refs_private = maybe_debug_wrap_ref_store((char const   *)r->gitdir, r->refs_private);
  return (r->refs_private);
}
}
static void register_ref_store_map(struct hashmap *map___0 , char const   *type___0 ,
                                   struct ref_store *refs___0 , char const   *name___0 )
{
  struct ref_store_hash_entry *entry ;
  struct hashmap_entry *tmp ;

  {
  if (! map___0->tablesize) {
    hashmap_init(map___0, & ref_store_hash_cmp, (void const   *)((void *)0), (size_t )0);
  }
  entry = alloc_ref_store_hash_entry(name___0, refs___0);
  tmp = hashmap_put(map___0, & entry->ent);
  if (tmp) {
    BUG_fl((char const   *)"refs.c", 1921, (char const   *)"%s ref_store \'%s\' initialized twice",
           type___0, name___0);
  }
  return;
}
}
struct ref_store *get_submodule_ref_store(char const   *submodule )
{
  struct strbuf submodule_sb ;
  struct ref_store *refs___0 ;
  char *to_free ;
  size_t len___0 ;
  struct repository *subrepo ;
  int tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  void *tmp___3 ;
  struct object_id  const  *tmp___4 ;
  int tmp___5 ;

  {
  submodule_sb.alloc = 0UL;
  submodule_sb.len = 0UL;
  submodule_sb.buf = strbuf_slopbuf;
  to_free = (char *)((void *)0);
  if (! submodule) {
    return ((struct ref_store *)((void *)0));
  }
  len___0 = strlen(submodule);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (len___0) {
      tmp = git_is_dir_sep((int )*(submodule + (len___0 - 1UL)));
      if (! tmp) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    len___0 --;
  }
  while_break: /* CIL Label */ ;
  }
  if (! len___0) {
    return ((struct ref_store *)((void *)0));
  }
  if (*(submodule + len___0)) {
    tmp___0 = xmemdupz((void const   *)submodule, len___0);
    to_free = (char *)tmp___0;
    submodule = (char const   *)to_free;
  }
  refs___0 = lookup_ref_store_map(& submodule_ref_stores, submodule);
  if (refs___0) {
    goto done;
  }
  strbuf_addstr(& submodule_sb, submodule);
  tmp___1 = is_nonbare_repository_dir(& submodule_sb);
  if (! tmp___1) {
    goto done;
  }
  tmp___2 = submodule_to_gitdir(& submodule_sb, submodule);
  if (tmp___2) {
    goto done;
  }
  tmp___3 = xmalloc(sizeof(*subrepo));
  subrepo = (struct repository *)tmp___3;
  tmp___4 = null_oid();
  tmp___5 = repo_submodule_init(subrepo, the_repository, submodule, tmp___4);
  if (tmp___5) {
    free((void *)subrepo);
    goto done;
  }
  refs___0 = ref_store_init(subrepo, (char const   *)submodule_sb.buf, (unsigned int )(1 | (1 << 2)));
  register_ref_store_map(& submodule_ref_stores, (char const   *)"submodule", refs___0,
                         submodule);
  done:
  strbuf_release(& submodule_sb);
  free((void *)to_free);
  return (refs___0);
}
}
struct ref_store *get_worktree_ref_store(struct worktree  const  *wt )
{
  struct ref_store *refs___0 ;
  char const   *id ;
  struct ref_store *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;

  {
  if (wt->is_current) {
    tmp = get_main_ref_store(the_repository);
    return (tmp);
  }
  if (wt->id) {
    id = (char const   *)wt->id;
  } else {
    id = (char const   *)"/";
  }
  refs___0 = lookup_ref_store_map(& worktree_ref_stores, id);
  if (refs___0) {
    return (refs___0);
  }
  if (wt->id) {
    tmp___0 = git_common_path((char const   *)"worktrees/%s", wt->id);
    refs___0 = ref_store_init(the_repository, tmp___0, (unsigned int )(((1 | (1 << 1)) | (1 << 2)) | (1 << 3)));
  } else {
    tmp___1 = get_git_common_dir();
    refs___0 = ref_store_init(the_repository, tmp___1, (unsigned int )(((1 | (1 << 1)) | (1 << 2)) | (1 << 3)));
  }
  if (refs___0) {
    register_ref_store_map(& worktree_ref_stores, (char const   *)"worktree", refs___0,
                           id);
  }
  return (refs___0);
}
}
void base_ref_store_init(struct ref_store *refs___0 , struct repository *repo , char const   *path___6 ,
                         struct ref_storage_be  const  *be )
{


  {
  refs___0->be = be;
  refs___0->repo = repo;
  refs___0->gitdir = xstrdup(path___6);
  return;
}
}
int refs_pack_refs(struct ref_store *refs___0 , unsigned int flags___0 )
{
  int tmp ;

  {
  tmp = (*((refs___0->be)->pack_refs))(refs___0, flags___0);
  return (tmp);
}
}
int peel_iterated_oid(struct object_id  const  *base , struct object_id *peeled )
{
  int tmp ;
  int tmp___0 ;
  enum peel_status tmp___1 ;
  int tmp___2 ;
  enum peel_status tmp___3 ;

  {
  if (current_ref_iter) {
    if ((unsigned long )current_ref_iter->oid == (unsigned long )base) {
      tmp = ref_iterator_peel(current_ref_iter, peeled);
      return (tmp);
    } else {
      tmp___0 = oideq(current_ref_iter->oid, base);
      if (tmp___0) {
        tmp = ref_iterator_peel(current_ref_iter, peeled);
        return (tmp);
      }
    }
  }
  tmp___3 = peel_object(base, peeled);
  if (tmp___3) {
    tmp___2 = -1;
  } else {
    tmp___2 = 0;
  }
  return (tmp___2);
}
}
int refs_create_symref(struct ref_store *refs___0 , char const   *ref_target , char const   *refs_heads_master ,
                       char const   *logmsg )
{
  char *msg___5 ;
  int retval ;

  {
  msg___5 = normalize_reflog_message(logmsg);
  retval = (*((refs___0->be)->create_symref))(refs___0, ref_target, refs_heads_master,
                                              (char const   *)msg___5);
  free((void *)msg___5);
  return (retval);
}
}
int create_symref(char const   *ref_target , char const   *refs_heads_master , char const   *logmsg )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_create_symref(tmp, ref_target, refs_heads_master, logmsg);
  return (tmp___0);
}
}
int ref_update_reject_duplicates(struct string_list *refnames , struct strbuf *err___4 )
{
  size_t i ;
  size_t n ;
  int cmp___0 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  n = (size_t )refnames->nr;
  assert((int )err___4);
  i = (size_t )1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    tmp = strcmp((char const   *)(refnames->items + (i - 1UL))->string, (char const   *)(refnames->items + i)->string);
    cmp___0 = tmp;
    if (! cmp___0) {
      tmp___0 = _((char const   *)"multiple updates for ref \'%s\' not allowed");
      strbuf_addf(err___4, (char const   *)tmp___0, (refnames->items + i)->string);
      return (1);
    } else
    if (cmp___0 > 0) {
      BUG_fl((char const   *)"refs.c", 2071, (char const   *)"ref_update_reject_duplicates() received unsorted list");
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int run_transaction_hook(struct ref_transaction *transaction___0 , char const   *state___1 )
{
  struct child_process proc ;
  struct strbuf buf___19 ;
  char const   *hook ;
  int ret___67 ;
  int i ;
  struct ref_update *update___1 ;
  char *tmp ;
  char *tmp___0 ;
  int *tmp___1 ;
  int *tmp___2 ;
  ssize_t tmp___3 ;
  int tmp___4 ;

  {
  proc.args.v = empty_strvec;
  proc.args.nr = 0UL;
  proc.args.alloc = 0UL;
  proc.env_array.v = empty_strvec;
  proc.env_array.nr = 0UL;
  proc.env_array.alloc = 0UL;
  proc.pid = 0;
  proc.trace2_child_id = 0;
  proc.trace2_child_us_start = 0UL;
  proc.trace2_child_class = (char const   *)0;
  proc.trace2_hook_name = (char const   *)0;
  proc.in = 0;
  proc.out = 0;
  proc.err = 0;
  proc.dir = (char const   *)0;
  proc.no_stdin = 0U;
  proc.no_stdout = 0U;
  proc.no_stderr = 0U;
  proc.git_cmd = 0U;
  proc.silent_exec_failure = 0U;
  proc.use_shell = 0U;
  proc.close_object_store = 0U;
  proc.stdout_to_stderr = 0U;
  proc.clean_on_exit = 0U;
  proc.wait_after_clean = 0U;
  proc.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  proc.clean_on_exit_handler_cbdata = (void *)0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  ret___67 = 0;
  hook = find_hook((char const   *)"reference-transaction");
  if (! hook) {
    return (ret___67);
  }
  strvec_pushl(& proc.args, hook, state___1, (void *)0);
  proc.in = -1;
  proc.stdout_to_stderr = 1U;
  proc.trace2_hook_name = (char const   *)"reference-transaction";
  ret___67 = start_command(& proc);
  if (ret___67) {
    return (ret___67);
  }
  sigchain_push(13, (void (*)(int  ))1);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < transaction___0->nr)) {
      goto while_break;
    }
    update___1 = *(transaction___0->updates + i);
    strbuf_setlen(& buf___19, (size_t )0);
    tmp = oid_to_hex((struct object_id  const  *)(& update___1->new_oid));
    tmp___0 = oid_to_hex((struct object_id  const  *)(& update___1->old_oid));
    strbuf_addf(& buf___19, (char const   *)"%s %s %s\n", tmp___0, tmp, update___1->refname);
    tmp___3 = write_in_full(proc.in, (void const   *)buf___19.buf, buf___19.len);
    if (tmp___3 < 0L) {
      tmp___2 = __errno_location();
      if (*tmp___2 != 32) {
        tmp___1 = __errno_location();
        *tmp___1 = 0;
        ret___67 = -1;
      }
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  close(proc.in);
  sigchain_pop(13);
  strbuf_release(& buf___19);
  tmp___4 = finish_command(& proc);
  ret___67 |= tmp___4;
  return (ret___67);
}
}
int ref_transaction_prepare(struct ref_transaction *transaction___0 , struct strbuf *err___4 )
{
  struct ref_store *refs___0 ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  refs___0 = transaction___0->ref_store;
  {
  if ((unsigned int )transaction___0->state == 0U) {
    goto case_0;
  }
  if ((unsigned int )transaction___0->state == 1U) {
    goto case_1;
  }
  if ((unsigned int )transaction___0->state == 2U) {
    goto case_2;
  }
  goto switch_default;
  case_0: /* CIL Label */
  goto switch_break;
  case_1: /* CIL Label */
  BUG_fl((char const   *)"refs.c", 2138, (char const   *)"prepare called twice on reference transaction");
  goto switch_break;
  case_2: /* CIL Label */
  BUG_fl((char const   *)"refs.c", 2141, (char const   *)"prepare called on a closed reference transaction");
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"refs.c", 2144, (char const   *)"unexpected reference transaction state");
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  if ((((refs___0->repo)->objects)->odb)->disable_ref_updates) {
    tmp = _((char const   *)"ref updates forbidden inside quarantine environment");
    strbuf_addstr(err___4, (char const   *)tmp);
    return (-1);
  }
  ret___67 = (*((refs___0->be)->transaction_prepare))(refs___0, transaction___0, err___4);
  if (ret___67) {
    return (ret___67);
  }
  ret___67 = run_transaction_hook(transaction___0, (char const   *)"prepared");
  if (ret___67) {
    ref_transaction_abort(transaction___0, err___4);
    tmp___0 = _((char const   *)"ref updates aborted by hook");
    die((char const   *)tmp___0);
  }
  return (0);
}
}
int ref_transaction_abort(struct ref_transaction *transaction___0 , struct strbuf *err___4 )
{
  struct ref_store *refs___0 ;
  int ret___67 ;

  {
  refs___0 = transaction___0->ref_store;
  ret___67 = 0;
  {
  if ((unsigned int )transaction___0->state == 0U) {
    goto case_0;
  }
  if ((unsigned int )transaction___0->state == 1U) {
    goto case_1;
  }
  if ((unsigned int )transaction___0->state == 2U) {
    goto case_2;
  }
  goto switch_default;
  case_0: /* CIL Label */
  goto switch_break;
  case_1: /* CIL Label */
  ret___67 = (*((refs___0->be)->transaction_abort))(refs___0, transaction___0, err___4);
  goto switch_break;
  case_2: /* CIL Label */
  BUG_fl((char const   *)"refs.c", 2181, (char const   *)"abort called on a closed reference transaction");
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"refs.c", 2184, (char const   *)"unexpected reference transaction state");
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  run_transaction_hook(transaction___0, (char const   *)"aborted");
  ref_transaction_free(transaction___0);
  return (ret___67);
}
}
int ref_transaction_commit(struct ref_transaction *transaction___0 , struct strbuf *err___4 )
{
  struct ref_store *refs___0 ;
  int ret___67 ;

  {
  refs___0 = transaction___0->ref_store;
  {
  if ((unsigned int )transaction___0->state == 0U) {
    goto case_0;
  }
  if ((unsigned int )transaction___0->state == 1U) {
    goto case_1;
  }
  if ((unsigned int )transaction___0->state == 2U) {
    goto case_2;
  }
  goto switch_default;
  case_0: /* CIL Label */
  ret___67 = ref_transaction_prepare(transaction___0, err___4);
  if (ret___67) {
    return (ret___67);
  }
  goto switch_break;
  case_1: /* CIL Label */
  goto switch_break;
  case_2: /* CIL Label */
  BUG_fl((char const   *)"refs.c", 2211, (char const   *)"commit called on a closed reference transaction");
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"refs.c", 2214, (char const   *)"unexpected reference transaction state");
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  ret___67 = (*((refs___0->be)->transaction_finish))(refs___0, transaction___0, err___4);
  if (! ret___67) {
    run_transaction_hook(transaction___0, (char const   *)"committed");
  }
  return (ret___67);
}
}
int refs_verify_refname_available(struct ref_store *refs___0 , char const   *refname ,
                                  struct string_list  const  *extras , struct string_list  const  *skip ,
                                  struct strbuf *err___4 )
{
  char const   *slash ;
  char const   *extra_refname ;
  struct strbuf dirname___0 ;
  struct strbuf referent ;
  struct object_id oid ;
  unsigned int type___0 ;
  struct ref_iterator *iter___0 ;
  int ok ;
  int ret___67 ;
  size_t tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  int ignore_errno ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;

  {
  dirname___0.alloc = 0UL;
  dirname___0.len = 0UL;
  dirname___0.buf = strbuf_slopbuf;
  referent.alloc = 0UL;
  referent.len = 0UL;
  referent.buf = strbuf_slopbuf;
  ret___67 = -1;
  assert((int )err___4);
  tmp = strlen(refname);
  strbuf_grow(& dirname___0, tmp + 1UL);
  tmp___0 = strchr(refname, '/');
  slash = (char const   *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! slash) {
      goto while_break;
    }
    strbuf_add(& dirname___0, (void const   *)(refname + dirname___0.len), (size_t )(slash - refname) - dirname___0.len);
    if (skip) {
      tmp___2 = string_list_has_string(skip, (char const   *)dirname___0.buf);
      if (tmp___2) {
        goto __Cont;
      }
    }
    tmp___4 = refs_read_raw_ref(refs___0, (char const   *)dirname___0.buf, & oid,
                                & referent, & type___0, & ignore_errno);
    if (! tmp___4) {
      tmp___3 = _((char const   *)"\'%s\' exists; cannot create \'%s\'");
      strbuf_addf(err___4, (char const   *)tmp___3, dirname___0.buf, refname);
      goto cleanup;
    }
    if (extras) {
      tmp___6 = string_list_has_string(extras, (char const   *)dirname___0.buf);
      if (tmp___6) {
        tmp___5 = _((char const   *)"cannot process \'%s\' and \'%s\' at the same time");
        strbuf_addf(err___4, (char const   *)tmp___5, refname, dirname___0.buf);
        goto cleanup;
      }
    }
    __Cont: /* CIL Label */
    tmp___1 = strchr(slash + 1, '/');
    slash = (char const   *)tmp___1;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addstr(& dirname___0, refname + dirname___0.len);
  strbuf_addch(& dirname___0, '/');
  iter___0 = refs_ref_iterator_begin(refs___0, (char const   *)dirname___0.buf, 0,
                                     (enum do_for_each_ref_flags )1);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    ok = ref_iterator_advance(iter___0);
    if (! (ok == 0)) {
      goto while_break___0;
    }
    if (skip) {
      tmp___7 = string_list_has_string(skip, iter___0->refname);
      if (tmp___7) {
        goto while_continue___0;
      }
    }
    tmp___8 = _((char const   *)"\'%s\' exists; cannot create \'%s\'");
    strbuf_addf(err___4, (char const   *)tmp___8, iter___0->refname, refname);
    ref_iterator_abort(iter___0);
    goto cleanup;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (ok != -1) {
    BUG_fl((char const   *)"refs.c", 2306, (char const   *)"error while iterating over references");
  }
  extra_refname = find_descendant_ref((char const   *)dirname___0.buf, extras, skip);
  if (extra_refname) {
    tmp___9 = _((char const   *)"cannot process \'%s\' and \'%s\' at the same time");
    strbuf_addf(err___4, (char const   *)tmp___9, refname, extra_refname);
  } else {
    ret___67 = 0;
  }
  cleanup:
  strbuf_release(& referent);
  strbuf_release(& dirname___0);
  return (ret___67);
}
}
int refs_for_each_reflog(struct ref_store *refs___0 , each_ref_fn *fn , void *cb_data )
{
  struct ref_iterator *iter___0 ;
  struct do_for_each_ref_help hp ;
  int tmp ;

  {
  hp.fn = fn;
  hp.cb_data = cb_data;
  iter___0 = (*((refs___0->be)->reflog_iterator_begin))(refs___0);
  tmp = do_for_each_repo_ref_iterator(the_repository, iter___0, & do_for_each_ref_helper,
                                      (void *)(& hp));
  return (tmp);
}
}
int for_each_reflog(each_ref_fn *fn , void *cb_data )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_for_each_reflog(tmp, fn, cb_data);
  return (tmp___0);
}
}
int refs_for_each_reflog_ent_reverse(struct ref_store *refs___0 , char const   *refname ,
                                     each_reflog_ent_fn *fn , void *cb_data )
{
  int tmp ;

  {
  tmp = (*((refs___0->be)->for_each_reflog_ent_reverse))(refs___0, refname, fn, cb_data);
  return (tmp);
}
}
int for_each_reflog_ent_reverse(char const   *refname , each_reflog_ent_fn *fn , void *cb_data )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_for_each_reflog_ent_reverse(tmp, refname, fn, cb_data);
  return (tmp___0);
}
}
int refs_for_each_reflog_ent(struct ref_store *refs___0 , char const   *refname ,
                             each_reflog_ent_fn *fn , void *cb_data )
{
  int tmp ;

  {
  tmp = (*((refs___0->be)->for_each_reflog_ent))(refs___0, refname, fn, cb_data);
  return (tmp);
}
}
int for_each_reflog_ent(char const   *refname , each_reflog_ent_fn *fn , void *cb_data )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_for_each_reflog_ent(tmp, refname, fn, cb_data);
  return (tmp___0);
}
}
int refs_reflog_exists(struct ref_store *refs___0 , char const   *refname )
{
  int tmp ;

  {
  tmp = (*((refs___0->be)->reflog_exists))(refs___0, refname);
  return (tmp);
}
}
int reflog_exists(char const   *refname )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_reflog_exists(tmp, refname);
  return (tmp___0);
}
}
int refs_create_reflog(struct ref_store *refs___0 , char const   *refname , struct strbuf *err___4 )
{
  int tmp ;

  {
  tmp = (*((refs___0->be)->create_reflog))(refs___0, refname, err___4);
  return (tmp);
}
}
int safe_create_reflog(char const   *refname , struct strbuf *err___4 )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_create_reflog(tmp, refname, err___4);
  return (tmp___0);
}
}
int refs_delete_reflog(struct ref_store *refs___0 , char const   *refname )
{
  int tmp ;

  {
  tmp = (*((refs___0->be)->delete_reflog))(refs___0, refname);
  return (tmp);
}
}
int delete_reflog(char const   *refname )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_delete_reflog(tmp, refname);
  return (tmp___0);
}
}
int refs_reflog_expire(struct ref_store *refs___0 , char const   *refname , unsigned int flags___0 ,
                       reflog_expiry_prepare_fn *prepare_fn , reflog_expiry_should_prune_fn *should_prune_fn ,
                       reflog_expiry_cleanup_fn *cleanup_fn , void *policy_cb_data )
{
  int tmp ;

  {
  tmp = (*((refs___0->be)->reflog_expire))(refs___0, refname, flags___0, prepare_fn,
                                           should_prune_fn, cleanup_fn, policy_cb_data);
  return (tmp);
}
}
int reflog_expire(char const   *refname , unsigned int flags___0 , reflog_expiry_prepare_fn *prepare_fn ,
                  reflog_expiry_should_prune_fn *should_prune_fn , reflog_expiry_cleanup_fn *cleanup_fn ,
                  void *policy_cb_data )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_reflog_expire(tmp, refname, flags___0, prepare_fn, should_prune_fn,
                               cleanup_fn, policy_cb_data);
  return (tmp___0);
}
}
int initial_ref_transaction_commit(struct ref_transaction *transaction___0 , struct strbuf *err___4 )
{
  struct ref_store *refs___0 ;
  int tmp ;

  {
  refs___0 = transaction___0->ref_store;
  tmp = (*((refs___0->be)->initial_transaction_commit))(refs___0, transaction___0,
                                                        err___4);
  return (tmp);
}
}
int refs_delete_refs(struct ref_store *refs___0 , char const   *logmsg , struct string_list *refnames ,
                     unsigned int flags___0 )
{
  char *msg___5 ;
  int retval ;

  {
  msg___5 = normalize_reflog_message(logmsg);
  retval = (*((refs___0->be)->delete_refs))(refs___0, (char const   *)msg___5, refnames,
                                            flags___0);
  free((void *)msg___5);
  return (retval);
}
}
int delete_refs(char const   *msg___5 , struct string_list *refnames , unsigned int flags___0 )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_delete_refs(tmp, msg___5, refnames, flags___0);
  return (tmp___0);
}
}
int refs_rename_ref(struct ref_store *refs___0 , char const   *oldref , char const   *newref ,
                    char const   *logmsg )
{
  char *msg___5 ;
  int retval ;

  {
  msg___5 = normalize_reflog_message(logmsg);
  retval = (*((refs___0->be)->rename_ref))(refs___0, oldref, newref, (char const   *)msg___5);
  free((void *)msg___5);
  return (retval);
}
}
int rename_ref(char const   *oldref , char const   *newref , char const   *logmsg )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_rename_ref(tmp, oldref, newref, logmsg);
  return (tmp___0);
}
}
int refs_copy_existing_ref(struct ref_store *refs___0 , char const   *oldref , char const   *newref ,
                           char const   *logmsg )
{
  char *msg___5 ;
  int retval ;

  {
  msg___5 = normalize_reflog_message(logmsg);
  retval = (*((refs___0->be)->copy_ref))(refs___0, oldref, newref, (char const   *)msg___5);
  free((void *)msg___5);
  return (retval);
}
}
int copy_existing_ref(char const   *oldref , char const   *newref , char const   *logmsg )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_main_ref_store(the_repository);
  tmp___0 = refs_copy_existing_ref(tmp, oldref, newref, logmsg);
  return (tmp___0);
}
}
static struct trace_key trace_refs  =    {(char const   *)"GIT_TRACE_REFS", 0, 0U, 0U};
struct ref_storage_be refs_be_debug ;
struct ref_store *maybe_debug_wrap_ref_store(char const   *gitdir___0 , struct ref_store *store )
{
  struct debug_ref_store *res ;
  struct ref_storage_be *be_copy ;
  int tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;

  {
  tmp = trace_want(& trace_refs);
  if (! tmp) {
    return (store);
  }
  tmp___0 = xmalloc(sizeof(struct debug_ref_store ));
  res = (struct debug_ref_store *)tmp___0;
  tmp___1 = xmalloc(sizeof(*be_copy));
  be_copy = (struct ref_storage_be *)tmp___1;
  *be_copy = refs_be_debug;
  be_copy->name = (char const   *)(store->be)->name;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = trace_pass_fl(& trace_refs);
    if (tmp___2) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 27, & trace_refs, (char const   *)"ref_store for %s\n",
                          gitdir___0);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  res->refs = store;
  base_ref_store_init((struct ref_store *)res, store->repo, gitdir___0, (struct ref_storage_be  const  *)be_copy);
  return ((struct ref_store *)res);
}
}
static int debug_init_db(struct ref_store *refs___0 , struct strbuf *err___4 )
{
  struct debug_ref_store *drefs ;
  int res ;
  int tmp ;
  int tmp___0 ;

  {
  drefs = (struct debug_ref_store *)refs___0;
  tmp = (*(((drefs->refs)->be)->init_db))(drefs->refs, err___4);
  res = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = trace_pass_fl(& trace_refs);
    if (tmp___0) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 38, & trace_refs, (char const   *)"init_db: %d\n",
                          res);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
static int debug_transaction_prepare(struct ref_store *refs___0 , struct ref_transaction *transaction___0 ,
                                     struct strbuf *err___4 )
{
  struct debug_ref_store *drefs ;
  int res ;
  int tmp ;

  {
  drefs = (struct debug_ref_store *)refs___0;
  transaction___0->ref_store = drefs->refs;
  res = (*(((drefs->refs)->be)->transaction_prepare))(drefs->refs, transaction___0,
                                                      err___4);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = trace_pass_fl(& trace_refs);
    if (tmp) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 52, & trace_refs, (char const   *)"transaction_prepare: %d \"%s\"\n",
                          res, err___4->buf);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
static void print_update(int i , char const   *refname , struct object_id  const  *old_oid ,
                         struct object_id  const  *new_oid , unsigned int flags___0 ,
                         unsigned int type___0 , char const   *msg___5 )
{
  char o[65] ;
  unsigned int tmp ;
  char n[65] ;
  unsigned int tmp___0 ;
  int tmp___1 ;

  {
  o[0] = (char )'n';
  o[1] = (char )'u';
  o[2] = (char )'l';
  o[3] = (char )'l';
  o[4] = (char )'\000';
  tmp = 5U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 65U) {
      goto while_break;
    }
    o[tmp] = (char)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  n[0] = (char )'n';
  n[1] = (char )'u';
  n[2] = (char )'l';
  n[3] = (char )'l';
  n[4] = (char )'\000';
  tmp___0 = 5U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (tmp___0 >= 65U) {
      goto while_break___0;
    }
    n[tmp___0] = (char)0;
    tmp___0 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (old_oid) {
    oid_to_hex_r(o, old_oid);
  }
  if (new_oid) {
    oid_to_hex_r(n, new_oid);
  }
  type___0 &= 15U;
  flags___0 &= (unsigned int )((((1 << 2) | (1 << 3)) | 1) | (1 << 1));
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    tmp___1 = trace_pass_fl(& trace_refs);
    if (tmp___1) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 72, & trace_refs, (char const   *)"%d: %s %s -> %s (F=0x%x, T=0x%x) \"%s\"\n",
                          i, refname, o, n, flags___0, type___0, msg___5);
    }
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  return;
}
}
static void print_transaction(struct ref_transaction *transaction___0 )
{
  int i ;
  int tmp ;
  struct ref_update *u ;
  int tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = trace_pass_fl(& trace_refs);
    if (tmp) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 78, & trace_refs, (char const   *)"transaction {\n");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((size_t )i < transaction___0->nr)) {
      goto while_break___0;
    }
    u = *(transaction___0->updates + i);
    print_update(i, u->refname, (struct object_id  const  *)(& u->old_oid), (struct object_id  const  *)(& u->new_oid),
                 u->flags, u->type, (char const   *)u->msg);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    tmp___0 = trace_pass_fl(& trace_refs);
    if (tmp___0) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 84, & trace_refs, (char const   *)"}\n");
    }
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  return;
}
}
static int debug_transaction_finish(struct ref_store *refs___0 , struct ref_transaction *transaction___0 ,
                                    struct strbuf *err___4 )
{
  struct debug_ref_store *drefs ;
  int res ;
  int tmp ;

  {
  drefs = (struct debug_ref_store *)refs___0;
  transaction___0->ref_store = drefs->refs;
  res = (*(((drefs->refs)->be)->transaction_finish))(drefs->refs, transaction___0,
                                                     err___4);
  print_transaction(transaction___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = trace_pass_fl(& trace_refs);
    if (tmp) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 97, & trace_refs, (char const   *)"finish: %d\n",
                          res);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
static int debug_transaction_abort(struct ref_store *refs___0 , struct ref_transaction *transaction___0 ,
                                   struct strbuf *err___4 )
{
  struct debug_ref_store *drefs ;
  int res ;

  {
  drefs = (struct debug_ref_store *)refs___0;
  transaction___0->ref_store = drefs->refs;
  res = (*(((drefs->refs)->be)->transaction_abort))(drefs->refs, transaction___0,
                                                    err___4);
  return (res);
}
}
static int debug_initial_transaction_commit(struct ref_store *refs___0 , struct ref_transaction *transaction___0 ,
                                            struct strbuf *err___4 )
{
  struct debug_ref_store *drefs ;
  int res ;

  {
  drefs = (struct debug_ref_store *)refs___0;
  transaction___0->ref_store = drefs->refs;
  res = (*(((drefs->refs)->be)->initial_transaction_commit))(drefs->refs, transaction___0,
                                                             err___4);
  return (res);
}
}
static int debug_pack_refs(struct ref_store *ref_store , unsigned int flags___0 )
{
  struct debug_ref_store *drefs ;
  int res ;
  int tmp ;
  int tmp___0 ;

  {
  drefs = (struct debug_ref_store *)ref_store;
  tmp = (*(((drefs->refs)->be)->pack_refs))(drefs->refs, flags___0);
  res = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = trace_pass_fl(& trace_refs);
    if (tmp___0) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 128, & trace_refs, (char const   *)"pack_refs: %d\n",
                          res);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
static int debug_create_symref(struct ref_store *ref_store , char const   *ref_name___0 ,
                               char const   *target , char const   *logmsg )
{
  struct debug_ref_store *drefs ;
  int res ;
  int tmp ;
  int tmp___0 ;

  {
  drefs = (struct debug_ref_store *)ref_store;
  tmp = (*(((drefs->refs)->be)->create_symref))(drefs->refs, ref_name___0, target,
                                                logmsg);
  res = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = trace_pass_fl(& trace_refs);
    if (tmp___0) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 140, & trace_refs, (char const   *)"create_symref: %s -> %s \"%s\": %d\n",
                          ref_name___0, target, logmsg, res);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
static int debug_delete_refs(struct ref_store *ref_store , char const   *msg___5 ,
                             struct string_list *refnames , unsigned int flags___0 )
{
  struct debug_ref_store *drefs ;
  int res ;
  int tmp ;
  int i ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  drefs = (struct debug_ref_store *)ref_store;
  tmp = (*(((drefs->refs)->be)->delete_refs))(drefs->refs, msg___5, refnames, flags___0);
  res = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = trace_pass_fl(& trace_refs);
    if (tmp___0) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 151, & trace_refs, (char const   *)"delete_refs {\n");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < refnames->nr)) {
      goto while_break___0;
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      tmp___1 = trace_pass_fl(& trace_refs);
      if (tmp___1) {
        trace_printf_key_fl((char const   *)"refs/debug.c", 153, & trace_refs, (char const   *)"%s\n",
                            (refnames->items + i)->string);
      }
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    tmp___2 = trace_pass_fl(& trace_refs);
    if (tmp___2) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 154, & trace_refs, (char const   *)"}: %d\n",
                          res);
    }
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  return (res);
}
}
static int debug_rename_ref(struct ref_store *ref_store , char const   *oldref , char const   *newref ,
                            char const   *logmsg )
{
  struct debug_ref_store *drefs ;
  int res ;
  int tmp ;
  int tmp___0 ;

  {
  drefs = (struct debug_ref_store *)ref_store;
  tmp = (*(((drefs->refs)->be)->rename_ref))(drefs->refs, oldref, newref, logmsg);
  res = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = trace_pass_fl(& trace_refs);
    if (tmp___0) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 165, & trace_refs, (char const   *)"rename_ref: %s -> %s \"%s\": %d\n",
                          oldref, newref, logmsg, res);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
static int debug_copy_ref(struct ref_store *ref_store , char const   *oldref , char const   *newref ,
                          char const   *logmsg )
{
  struct debug_ref_store *drefs ;
  int res ;
  int tmp ;
  int tmp___0 ;

  {
  drefs = (struct debug_ref_store *)ref_store;
  tmp = (*(((drefs->refs)->be)->copy_ref))(drefs->refs, oldref, newref, logmsg);
  res = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = trace_pass_fl(& trace_refs);
    if (tmp___0) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 176, & trace_refs, (char const   *)"copy_ref: %s -> %s \"%s\": %d\n",
                          oldref, newref, logmsg, res);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
static int debug_ref_iterator_advance(struct ref_iterator *ref_iterator )
{
  struct debug_ref_iterator *diter ;
  int res ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  diter = (struct debug_ref_iterator *)ref_iterator;
  tmp = (*(((diter->iter)->vtable)->advance))(diter->iter);
  res = tmp;
  if (res) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___0 = trace_pass_fl(& trace_refs);
      if (tmp___0) {
        trace_printf_key_fl((char const   *)"refs/debug.c", 191, & trace_refs, (char const   *)"iterator_advance: (%d)\n",
                            res);
      }
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
  } else {
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___1 = trace_pass_fl(& trace_refs);
      if (tmp___1) {
        trace_printf_key_fl((char const   *)"refs/debug.c", 194, & trace_refs, (char const   *)"iterator_advance: %s (0)\n",
                            (diter->iter)->refname);
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  diter->base.ordered = (diter->iter)->ordered;
  diter->base.refname = (diter->iter)->refname;
  diter->base.oid = (diter->iter)->oid;
  diter->base.flags = (diter->iter)->flags;
  return (res);
}
}
static int debug_ref_iterator_peel(struct ref_iterator *ref_iterator , struct object_id *peeled )
{
  struct debug_ref_iterator *diter ;
  int res ;
  int tmp ;
  int tmp___0 ;

  {
  diter = (struct debug_ref_iterator *)ref_iterator;
  tmp = (*(((diter->iter)->vtable)->peel))(diter->iter, peeled);
  res = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = trace_pass_fl(& trace_refs);
    if (tmp___0) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 209, & trace_refs, (char const   *)"iterator_peel: %s: %d\n",
                          (diter->iter)->refname, res);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
static int debug_ref_iterator_abort(struct ref_iterator *ref_iterator )
{
  struct debug_ref_iterator *diter ;
  int res ;
  int tmp ;
  int tmp___0 ;

  {
  diter = (struct debug_ref_iterator *)ref_iterator;
  tmp = (*(((diter->iter)->vtable)->abort))(diter->iter);
  res = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = trace_pass_fl(& trace_refs);
    if (tmp___0) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 218, & trace_refs, (char const   *)"iterator_abort: %d\n",
                          res);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
static struct ref_iterator_vtable debug_ref_iterator_vtable  =    {& debug_ref_iterator_advance, & debug_ref_iterator_peel, & debug_ref_iterator_abort};
static struct ref_iterator *debug_ref_iterator_begin(struct ref_store *ref_store ,
                                                     char const   *prefix___1 , unsigned int flags___0 )
{
  struct debug_ref_store *drefs ;
  struct ref_iterator *res ;
  struct ref_iterator *tmp ;
  struct debug_ref_iterator *diter ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  drefs = (struct debug_ref_store *)ref_store;
  tmp = (*(((drefs->refs)->be)->iterator_begin))(drefs->refs, prefix___1, flags___0);
  res = tmp;
  tmp___0 = xcalloc((size_t )1, sizeof(*diter));
  diter = (struct debug_ref_iterator *)tmp___0;
  base_ref_iterator_init(& diter->base, & debug_ref_iterator_vtable, 1);
  diter->iter = res;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = trace_pass_fl(& trace_refs);
    if (tmp___1) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 238, & trace_refs, (char const   *)"ref_iterator_begin: \"%s\" (0x%x)\n",
                          prefix___1, flags___0);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (& diter->base);
}
}
static int debug_read_raw_ref(struct ref_store *ref_store , char const   *refname ,
                              struct object_id *oid , struct strbuf *referent , unsigned int *type___0 ,
                              int *failure_errno )
{
  struct debug_ref_store *drefs ;
  int res ;
  struct object_id  const  *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  drefs = (struct debug_ref_store *)ref_store;
  res = 0;
  tmp = null_oid();
  oidcpy(oid, tmp);
  res = (*(((drefs->refs)->be)->read_raw_ref))(drefs->refs, refname, oid, referent,
                                               type___0, failure_errno);
  if (res == 0) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___1 = trace_pass_fl(& trace_refs);
      if (tmp___1) {
        tmp___0 = oid_to_hex((struct object_id  const  *)oid);
        trace_printf_key_fl((char const   *)"refs/debug.c", 255, & trace_refs, (char const   *)"read_raw_ref: %s: %s (=> %s) type %x: %d\n",
                            refname, tmp___0, referent->buf, *type___0, res);
      }
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
  } else {
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___2 = trace_pass_fl(& trace_refs);
      if (tmp___2) {
        trace_printf_key_fl((char const   *)"refs/debug.c", 259, & trace_refs, (char const   *)"read_raw_ref: %s: %d (errno %d)\n",
                            refname, res, *failure_errno);
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  return (res);
}
}
static struct ref_iterator *debug_reflog_iterator_begin(struct ref_store *ref_store )
{
  struct debug_ref_store *drefs ;
  struct ref_iterator *res ;
  struct ref_iterator *tmp ;
  int tmp___0 ;

  {
  drefs = (struct debug_ref_store *)ref_store;
  tmp = (*(((drefs->refs)->be)->reflog_iterator_begin))(drefs->refs);
  res = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = trace_pass_fl(& trace_refs);
    if (tmp___0) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 270, & trace_refs, (char const   *)"for_each_reflog_iterator_begin\n");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
static int debug_print_reflog_ent(struct object_id *old_oid , struct object_id *new_oid ,
                                  char const   *committer , timestamp_t timestamp___0 ,
                                  int tz , char const   *msg___5 , void *cb_data )
{
  struct debug_reflog *dbg ;
  int ret___67 ;
  char o[65] ;
  unsigned int tmp ;
  char n[65] ;
  unsigned int tmp___0 ;
  char *msgend ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  dbg = (struct debug_reflog *)cb_data;
  o[0] = (char )'n';
  o[1] = (char )'u';
  o[2] = (char )'l';
  o[3] = (char )'l';
  o[4] = (char )'\000';
  tmp = 5U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 65U) {
      goto while_break;
    }
    o[tmp] = (char)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  n[0] = (char )'n';
  n[1] = (char )'u';
  n[2] = (char )'l';
  n[3] = (char )'l';
  n[4] = (char )'\000';
  tmp___0 = 5U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (tmp___0 >= 65U) {
      goto while_break___0;
    }
    n[tmp___0] = (char)0;
    tmp___0 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___1 = strchrnul(msg___5, '\n');
  msgend = tmp___1;
  if (old_oid) {
    oid_to_hex_r(o, (struct object_id  const  *)old_oid);
  }
  if (new_oid) {
    oid_to_hex_r(n, (struct object_id  const  *)new_oid);
  }
  ret___67 = (*(dbg->fn))(old_oid, new_oid, committer, timestamp___0, tz, msg___5,
                          dbg->cb_data);
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    tmp___2 = trace_pass_fl(& trace_refs);
    if (tmp___2) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 300, & trace_refs, (char const   *)"reflog_ent %s (ret %d): %s -> %s, %s %ld \"%.*s\"\n",
                          dbg->refname, ret___67, o, n, committer, (long )timestamp___0,
                          (int )(msgend - (char *)msg___5), msg___5);
    }
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static int debug_for_each_reflog_ent(struct ref_store *ref_store , char const   *refname ,
                                     each_reflog_ent_fn *fn , void *cb_data )
{
  struct debug_ref_store *drefs ;
  struct debug_reflog dbg ;
  int res ;
  int tmp ;
  int tmp___0 ;

  {
  drefs = (struct debug_ref_store *)ref_store;
  dbg.refname = refname;
  dbg.fn = fn;
  dbg.cb_data = cb_data;
  tmp = (*(((drefs->refs)->be)->for_each_reflog_ent))(drefs->refs, refname, & debug_print_reflog_ent,
                                                      (void *)(& dbg));
  res = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = trace_pass_fl(& trace_refs);
    if (tmp___0) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 317, & trace_refs, (char const   *)"for_each_reflog: %s: %d\n",
                          refname, res);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
static int debug_for_each_reflog_ent_reverse(struct ref_store *ref_store , char const   *refname ,
                                             each_reflog_ent_fn *fn , void *cb_data )
{
  struct debug_ref_store *drefs ;
  struct debug_reflog dbg ;
  int res ;
  int tmp ;
  int tmp___0 ;

  {
  drefs = (struct debug_ref_store *)ref_store;
  dbg.refname = refname;
  dbg.fn = fn;
  dbg.cb_data = cb_data;
  tmp = (*(((drefs->refs)->be)->for_each_reflog_ent_reverse))(drefs->refs, refname,
                                                              & debug_print_reflog_ent,
                                                              (void *)(& dbg));
  res = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = trace_pass_fl(& trace_refs);
    if (tmp___0) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 334, & trace_refs, (char const   *)"for_each_reflog_reverse: %s: %d\n",
                          refname, res);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
static int debug_reflog_exists(struct ref_store *ref_store , char const   *refname )
{
  struct debug_ref_store *drefs ;
  int res ;
  int tmp ;
  int tmp___0 ;

  {
  drefs = (struct debug_ref_store *)ref_store;
  tmp = (*(((drefs->refs)->be)->reflog_exists))(drefs->refs, refname);
  res = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = trace_pass_fl(& trace_refs);
    if (tmp___0) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 342, & trace_refs, (char const   *)"reflog_exists: %s: %d\n",
                          refname, res);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
static int debug_create_reflog(struct ref_store *ref_store , char const   *refname ,
                               struct strbuf *err___4 )
{
  struct debug_ref_store *drefs ;
  int res ;
  int tmp ;
  int tmp___0 ;

  {
  drefs = (struct debug_ref_store *)ref_store;
  tmp = (*(((drefs->refs)->be)->create_reflog))(drefs->refs, refname, err___4);
  res = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = trace_pass_fl(& trace_refs);
    if (tmp___0) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 351, & trace_refs, (char const   *)"create_reflog: %s: %d\n",
                          refname, res);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
static int debug_delete_reflog(struct ref_store *ref_store , char const   *refname )
{
  struct debug_ref_store *drefs ;
  int res ;
  int tmp ;
  int tmp___0 ;

  {
  drefs = (struct debug_ref_store *)ref_store;
  tmp = (*(((drefs->refs)->be)->delete_reflog))(drefs->refs, refname);
  res = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = trace_pass_fl(& trace_refs);
    if (tmp___0) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 359, & trace_refs, (char const   *)"delete_reflog: %s: %d\n",
                          refname, res);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
static void debug_reflog_expiry_prepare(char const   *refname , struct object_id  const  *oid ,
                                        void *cb_data )
{
  struct debug_reflog_expiry_should_prune *prune___4 ;
  int tmp ;

  {
  prune___4 = (struct debug_reflog_expiry_should_prune *)cb_data;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = trace_pass_fl(& trace_refs);
    if (tmp) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 375, & trace_refs, (char const   *)"reflog_expire_prepare: %s\n",
                          refname);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  (*(prune___4->prepare))(refname, oid, prune___4->cb_data);
  return;
}
}
static int debug_reflog_expiry_should_prune_fn(struct object_id *ooid , struct object_id *noid ,
                                               char const   *email , timestamp_t timestamp___0 ,
                                               int tz , char const   *message___0 ,
                                               void *cb_data )
{
  struct debug_reflog_expiry_should_prune *prune___4 ;
  int result___0 ;
  int tmp ;
  int tmp___0 ;

  {
  prune___4 = (struct debug_reflog_expiry_should_prune *)cb_data;
  tmp = (*(prune___4->should_prune))(ooid, noid, email, timestamp___0, tz, message___0,
                                     prune___4->cb_data);
  result___0 = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = trace_pass_fl(& trace_refs);
    if (tmp___0) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 387, & trace_refs, (char const   *)"reflog_expire_should_prune: %s %ld: %d\n",
                          message___0, (long )timestamp___0, result___0);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (result___0);
}
}
static void debug_reflog_expiry_cleanup(void *cb_data )
{
  struct debug_reflog_expiry_should_prune *prune___4 ;

  {
  prune___4 = (struct debug_reflog_expiry_should_prune *)cb_data;
  (*(prune___4->cleanup))(prune___4->cb_data);
  return;
}
}
static int debug_reflog_expire(struct ref_store *ref_store , char const   *refname ,
                               unsigned int flags___0 , reflog_expiry_prepare_fn *prepare_fn ,
                               reflog_expiry_should_prune_fn *should_prune_fn , reflog_expiry_cleanup_fn *cleanup_fn ,
                               void *policy_cb_data )
{
  struct debug_ref_store *drefs ;
  struct debug_reflog_expiry_should_prune prune___4 ;
  int res ;
  int tmp ;
  int tmp___0 ;

  {
  drefs = (struct debug_ref_store *)ref_store;
  prune___4.prepare = prepare_fn;
  prune___4.should_prune = should_prune_fn;
  prune___4.cleanup = cleanup_fn;
  prune___4.cb_data = policy_cb_data;
  tmp = (*(((drefs->refs)->be)->reflog_expire))(drefs->refs, refname, flags___0, & debug_reflog_expiry_prepare,
                                                & debug_reflog_expiry_should_prune_fn,
                                                & debug_reflog_expiry_cleanup, (void *)(& prune___4));
  res = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = trace_pass_fl(& trace_refs);
    if (tmp___0) {
      trace_printf_key_fl((char const   *)"refs/debug.c", 416, & trace_refs, (char const   *)"reflog_expire: %s: %d\n",
                          refname, res);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
struct ref_storage_be refs_be_debug  =
     {(struct ref_storage_be *)((void *)0), (char const   *)"debug", (ref_store_init_fn *)((void *)0),
    & debug_init_db, & debug_transaction_prepare, & debug_transaction_finish, & debug_transaction_abort,
    & debug_initial_transaction_commit, & debug_pack_refs, & debug_create_symref,
    & debug_delete_refs, & debug_rename_ref, & debug_copy_ref, & debug_ref_iterator_begin,
    & debug_read_raw_ref, & debug_reflog_iterator_begin, & debug_for_each_reflog_ent,
    & debug_for_each_reflog_ent_reverse, & debug_reflog_exists, & debug_create_reflog,
    & debug_delete_reflog, & debug_reflog_expire};
__inline static void strbuf_setlen___148(struct strbuf *sb___6 , size_t len___0 )
{
  size_t tmp ;

  {
  if (sb___6->alloc) {
    tmp = sb___6->alloc - 1UL;
  } else {
    tmp = (size_t )0;
  }
  if (len___0 > tmp) {
    BUG_fl((char const   *)"refs/../strbuf.h", 163, (char const   *)"strbuf_setlen() beyond buffer");
  }
  sb___6->len = len___0;
  if ((unsigned long )sb___6->buf != (unsigned long )(strbuf_slopbuf)) {
    *(sb___6->buf + len___0) = (char )'\000';
  } else {
    assert(! strbuf_slopbuf[0]);
  }
  return;
}
}
__inline static int strbuf_strip_suffix___148(struct strbuf *sb___6 , char const   *suffix___3 )
{
  int tmp ;

  {
  tmp = strip_suffix_mem((char const   *)sb___6->buf, & sb___6->len, suffix___3);
  if (tmp) {
    strbuf_setlen___148(sb___6, sb___6->len);
    return (1);
  } else {
    return (0);
  }
}
}
__inline static unsigned int hashmap_get_size___148(struct hashmap *map___0 )
{


  {
  if (map___0->do_count_items) {
    return (map___0->private_size);
  }
  BUG_fl((char const   *)"refs/../hashmap.h", 329, (char const   *)"hashmap_get_size: size not set");
  return (0U);
}
}
int search_ref_dir(struct ref_dir *dir , char const   *refname , size_t len___0 ) ;
struct ref_dir *get_ref_dir(struct ref_entry *entry ) ;
struct ref_entry *create_dir_entry(struct ref_cache *cache___0 , char const   *dirname___0 ,
                                   size_t len___0 ) ;
struct ref_entry *create_ref_entry(char const   *refname , struct object_id  const  *oid ,
                                   int flag ) ;
struct ref_cache *create_ref_cache(struct ref_store *refs___0 , fill_ref_dir_fn *fill_ref_dir ) ;
void free_ref_cache(struct ref_cache *cache___0 ) ;
void add_entry_to_dir(struct ref_dir *dir , struct ref_entry *entry ) ;
struct ref_entry *find_ref_entry(struct ref_dir *dir , char const   *refname ) ;
struct ref_iterator *cache_ref_iterator_begin(struct ref_cache *cache___0 , char const   *prefix___1 ,
                                              struct repository *repo , int prime_dir ) ;
struct ref_store *packed_ref_store_create(struct repository *repo , char const   *gitdir___0 ,
                                          unsigned int store_flags ) ;
int packed_refs_lock(struct ref_store *ref_store , int flags___0 , struct strbuf *err___4 ) ;
void packed_refs_unlock(struct ref_store *ref_store ) ;
int packed_refs_is_locked(struct ref_store *ref_store ) ;
int is_packed_transaction_needed(struct ref_store *ref_store , struct ref_transaction *transaction___0 ) ;
static void clear_loose_ref_cache(struct files_ref_store *refs___0 )
{


  {
  if (refs___0->loose) {
    free_ref_cache(refs___0->loose);
    refs___0->loose = (struct ref_cache *)((void *)0);
  }
  return;
}
}
static struct ref_store *files_ref_store_create(struct repository *repo , char const   *gitdir___0 ,
                                                unsigned int flags___0 )
{
  struct files_ref_store *refs___0 ;
  void *tmp ;
  struct ref_store *ref_store ;
  struct strbuf sb___6 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*refs___0));
  refs___0 = (struct files_ref_store *)tmp;
  ref_store = (struct ref_store *)refs___0;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  base_ref_store_init(ref_store, repo, gitdir___0, (struct ref_storage_be  const  *)(& refs_be_files));
  refs___0->store_flags = flags___0;
  get_common_dir_noenv(& sb___6, gitdir___0);
  refs___0->gitcommondir = strbuf_detach(& sb___6, (size_t *)((void *)0));
  refs___0->packed_ref_store = packed_ref_store_create(repo, (char const   *)refs___0->gitcommondir,
                                                       flags___0);
  chdir_notify_reparent((char const   *)"files-backend $GIT_DIR", & refs___0->base.gitdir);
  chdir_notify_reparent((char const   *)"files-backend $GIT_COMMONDIR", & refs___0->gitcommondir);
  return (ref_store);
}
}
static void files_assert_main_repository(struct files_ref_store *refs___0 , char const   *caller )
{


  {
  if (refs___0->store_flags & (unsigned int )(1 << 3)) {
    return;
  }
  BUG_fl((char const   *)"refs/files-backend.c", 113, (char const   *)"operation %s only allowed for main ref store",
         caller);
}
}
static struct files_ref_store *files_downcast(struct ref_store *ref_store , unsigned int required_flags ,
                                              char const   *caller )
{
  struct files_ref_store *refs___0 ;

  {
  if ((unsigned long )ref_store->be != (unsigned long )(& refs_be_files)) {
    BUG_fl((char const   *)"refs/files-backend.c", 130, (char const   *)"ref_store is type \"%s\" not \"files\" in %s",
           (ref_store->be)->name, caller);
  }
  refs___0 = (struct files_ref_store *)ref_store;
  if ((refs___0->store_flags & required_flags) != required_flags) {
    BUG_fl((char const   *)"refs/files-backend.c", 136, (char const   *)"operation %s requires abilities 0x%x, but only have 0x%x",
           caller, required_flags, refs___0->store_flags);
  }
  return (refs___0);
}
}
static void files_reflog_path_other_worktrees(struct files_ref_store *refs___0 , struct strbuf *sb___6 ,
                                              char const   *refname )
{
  char const   *real_ref ;
  char const   *worktree_name ;
  int length ;
  int tmp ;

  {
  tmp = parse_worktree_ref(refname, & worktree_name, & length, & real_ref);
  if (tmp) {
    BUG_fl((char const   *)"refs/files-backend.c", 150, (char const   *)"refname %s is not a other-worktree ref",
           refname);
  }
  if (worktree_name) {
    strbuf_addf(sb___6, (char const   *)"%s/worktrees/%.*s/logs/%s", refs___0->gitcommondir,
                length, worktree_name, real_ref);
  } else {
    strbuf_addf(sb___6, (char const   *)"%s/logs/%s", refs___0->gitcommondir, real_ref);
  }
  return;
}
}
static void files_reflog_path(struct files_ref_store *refs___0 , struct strbuf *sb___6 ,
                              char const   *refname )
{
  enum ref_type tmp ;
  enum ref_type tmp___0 ;

  {
  tmp = ref_type(refname);
  {
  if ((unsigned int )tmp == 1U) {
    goto case_1;
  }
  if ((unsigned int )tmp == 0U) {
    goto case_1;
  }
  if ((unsigned int )tmp == 2U) {
    goto case_2;
  }
  if ((unsigned int )tmp == 3U) {
    goto case_2;
  }
  if ((unsigned int )tmp == 4U) {
    goto case_4;
  }
  goto switch_default;
  case_1: /* CIL Label */
  case_0: /* CIL Label */
  strbuf_addf(sb___6, (char const   *)"%s/logs/%s", refs___0->base.gitdir, refname);
  goto switch_break;
  case_2: /* CIL Label */
  case_3: /* CIL Label */
  files_reflog_path_other_worktrees(refs___0, sb___6, refname);
  goto switch_break;
  case_4: /* CIL Label */
  strbuf_addf(sb___6, (char const   *)"%s/logs/%s", refs___0->gitcommondir, refname);
  goto switch_break;
  switch_default: /* CIL Label */
  tmp___0 = ref_type(refname);
  BUG_fl((char const   *)"refs/files-backend.c", 178, (char const   *)"unknown ref type %d of ref %s",
         (unsigned int )tmp___0, refname);
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static void files_ref_path(struct files_ref_store *refs___0 , struct strbuf *sb___6 ,
                           char const   *refname )
{
  enum ref_type tmp ;
  int tmp___0 ;
  enum ref_type tmp___1 ;

  {
  tmp = ref_type(refname);
  {
  if ((unsigned int )tmp == 1U) {
    goto case_1;
  }
  if ((unsigned int )tmp == 0U) {
    goto case_1;
  }
  if ((unsigned int )tmp == 2U) {
    goto case_2;
  }
  if ((unsigned int )tmp == 4U) {
    goto case_4;
  }
  if ((unsigned int )tmp == 3U) {
    goto case_4;
  }
  goto switch_default;
  case_1: /* CIL Label */
  case_0: /* CIL Label */
  strbuf_addf(sb___6, (char const   *)"%s/%s", refs___0->base.gitdir, refname);
  goto switch_break;
  case_2: /* CIL Label */
  tmp___0 = skip_prefix(refname, (char const   *)"main-worktree/", & refname);
  if (! tmp___0) {
    BUG_fl((char const   *)"refs/files-backend.c", 193, (char const   *)"ref %s is not a main pseudoref",
           refname);
  }
  case_4: /* CIL Label */
  case_3: /* CIL Label */
  strbuf_addf(sb___6, (char const   *)"%s/%s", refs___0->gitcommondir, refname);
  goto switch_break;
  switch_default: /* CIL Label */
  tmp___1 = ref_type(refname);
  BUG_fl((char const   *)"refs/files-backend.c", 201, (char const   *)"unknown ref type %d of ref %s",
         (unsigned int )tmp___1, refname);
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static void add_per_worktree_entries_to_dir(struct ref_dir *dir , char const   *dirname___0 )
{
  char const   *prefixes___0[3] ;
  int ip___0 ;
  int tmp ;
  char const   *prefix___1 ;
  int prefix_len___1 ;
  size_t tmp___0 ;
  struct ref_entry *child_entry ;
  int pos ;

  {
  prefixes___0[0] = (char const   *)"refs/bisect/";
  prefixes___0[1] = (char const   *)"refs/worktree/";
  prefixes___0[2] = (char const   *)"refs/rewritten/";
  tmp = strcmp(dirname___0, (char const   *)"refs/");
  if (tmp) {
    return;
  }
  ip___0 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )ip___0 < sizeof(prefixes___0) / sizeof(prefixes___0[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    prefix___1 = prefixes___0[ip___0];
    tmp___0 = strlen(prefix___1);
    prefix_len___1 = (int )tmp___0;
    pos = search_ref_dir(dir, prefix___1, (size_t )prefix_len___1);
    if (pos >= 0) {
      goto __Cont;
    }
    child_entry = create_dir_entry(dir->cache, prefix___1, (size_t )prefix_len___1);
    add_entry_to_dir(dir, child_entry);
    __Cont: /* CIL Label */
    ip___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void loose_fill_ref_dir(struct ref_store *ref_store , struct ref_dir *dir ,
                               char const   *dirname___0 )
{
  struct files_ref_store *refs___0 ;
  struct files_ref_store *tmp ;
  DIR *d ;
  struct dirent *de ;
  int dirnamelen ;
  size_t tmp___0 ;
  struct strbuf refname ;
  struct strbuf path___6 ;
  size_t path_baselen ;
  struct object_id oid ;
  struct stat st ;
  int flag ;
  int tmp___1 ;
  struct ref_entry *tmp___2 ;
  int ignore_errno ;
  int tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  struct ref_entry *tmp___7 ;
  int tmp___8 ;

  {
  tmp = files_downcast(ref_store, 1U, (char const   *)"fill_ref_dir");
  refs___0 = tmp;
  tmp___0 = strlen(dirname___0);
  dirnamelen = (int )tmp___0;
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  files_ref_path(refs___0, & path___6, dirname___0);
  path_baselen = path___6.len;
  d = opendir((char const   *)path___6.buf);
  if (! d) {
    strbuf_release(& path___6);
    return;
  }
  strbuf_init(& refname, (size_t )(dirnamelen + 257));
  strbuf_add(& refname, (void const   *)dirname___0, (size_t )dirnamelen);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    de = readdir(d);
    if (! ((unsigned long )de != (unsigned long )((void *)0))) {
      goto while_break;
    }
    if ((int )de->d_name[0] == 46) {
      goto while_continue;
    }
    tmp___1 = ends_with((char const   *)(de->d_name), (char const   *)".lock");
    if (tmp___1) {
      goto while_continue;
    }
    strbuf_addstr(& refname, (char const   *)(de->d_name));
    strbuf_addstr(& path___6, (char const   *)(de->d_name));
    tmp___8 = stat((char const   *)path___6.buf, & st);
    if (! (tmp___8 < 0)) {
      if ((st.st_mode & 61440U) == 16384U) {
        strbuf_addch(& refname, '/');
        tmp___2 = create_dir_entry(dir->cache, (char const   *)refname.buf, refname.len);
        add_entry_to_dir(dir, tmp___2);
      } else {
        tmp___4 = refs_resolve_ref_unsafe(& refs___0->base, (char const   *)refname.buf,
                                          0x01, & oid, & flag, & ignore_errno);
        if (tmp___4) {
          tmp___3 = is_null_oid((struct object_id  const  *)(& oid));
          if (tmp___3) {
            flag |= 0x04;
          }
        } else {
          oidclr(& oid);
          flag |= 0x04;
        }
        tmp___6 = check_refname_format((char const   *)refname.buf, 1);
        if (tmp___6) {
          tmp___5 = refname_is_safe((char const   *)refname.buf);
          if (! tmp___5) {
            die((char const   *)"loose refname is dangerous: %s", refname.buf);
          }
          oidclr(& oid);
          flag |= 12;
        }
        tmp___7 = create_ref_entry((char const   *)refname.buf, (struct object_id  const  *)(& oid),
                                   flag);
        add_entry_to_dir(dir, tmp___7);
      }
    }
    strbuf_setlen___148(& refname, (size_t )dirnamelen);
    strbuf_setlen___148(& path___6, path_baselen);
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& refname);
  strbuf_release(& path___6);
  closedir(d);
  add_per_worktree_entries_to_dir(dir, dirname___0);
  return;
}
}
static struct ref_cache *get_loose_ref_cache(struct files_ref_store *refs___0 )
{
  struct ref_entry *tmp ;
  struct ref_dir *tmp___0 ;

  {
  if (! refs___0->loose) {
    refs___0->loose = create_ref_cache(& refs___0->base, & loose_fill_ref_dir);
    ((refs___0->loose)->root)->flag = (unsigned char )((int )((refs___0->loose)->root)->flag & -33);
    tmp = create_dir_entry(refs___0->loose, (char const   *)"refs/", (size_t )5);
    tmp___0 = get_ref_dir((refs___0->loose)->root);
    add_entry_to_dir(tmp___0, tmp);
  }
  return (refs___0->loose);
}
}
static int files_read_raw_ref(struct ref_store *ref_store , char const   *refname ,
                              struct object_id *oid , struct strbuf *referent , unsigned int *type___0 ,
                              int *failure_errno )
{
  struct files_ref_store *refs___0 ;
  struct files_ref_store *tmp ;
  struct strbuf sb_contents ;
  struct strbuf sb_path ;
  char const   *path___6 ;
  char const   *buf___19 ;
  struct stat st ;
  int fd ;
  int ret___67 ;
  int remaining_retries ;
  int myerr ;
  int tmp___0 ;
  int ignore_errno ;
  int *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int ignore_errno___0 ;
  int tmp___8 ;
  int *tmp___9 ;
  int *tmp___10 ;
  ssize_t tmp___11 ;
  int *tmp___12 ;

  {
  tmp = files_downcast(ref_store, 1U, (char const   *)"read_raw_ref");
  refs___0 = tmp;
  sb_contents.alloc = 0UL;
  sb_contents.len = 0UL;
  sb_contents.buf = strbuf_slopbuf;
  sb_path.alloc = 0UL;
  sb_path.len = 0UL;
  sb_path.buf = strbuf_slopbuf;
  ret___67 = -1;
  remaining_retries = 3;
  myerr = 0;
  *type___0 = 0U;
  strbuf_setlen___148(& sb_path, (size_t )0);
  files_ref_path(refs___0, & sb_path, refname);
  path___6 = (char const   *)sb_path.buf;
  stat_ref:
  tmp___0 = remaining_retries;
  remaining_retries --;
  if (tmp___0 <= 0) {
    goto out;
  }
  tmp___3 = lstat(path___6, & st);
  if (tmp___3 < 0) {
    tmp___1 = __errno_location();
    myerr = *tmp___1;
    if (myerr != 2) {
      goto out;
    }
    tmp___2 = refs_read_raw_ref(refs___0->packed_ref_store, refname, oid, referent,
                                type___0, & ignore_errno);
    if (tmp___2) {
      myerr = 2;
      goto out;
    }
    ret___67 = 0;
    goto out;
  }
  if ((st.st_mode & 61440U) == 40960U) {
    strbuf_setlen___148(& sb_contents, (size_t )0);
    tmp___5 = strbuf_readlink(& sb_contents, path___6, (size_t )st.st_size);
    if (tmp___5 < 0) {
      tmp___4 = __errno_location();
      myerr = *tmp___4;
      if (myerr == 2) {
        goto stat_ref;
      } else
      if (myerr == 22) {
        goto stat_ref;
      } else {
        goto out;
      }
    }
    tmp___6 = starts_with((char const   *)sb_contents.buf, (char const   *)"refs/");
    if (tmp___6) {
      tmp___7 = check_refname_format((char const   *)sb_contents.buf, 0);
      if (! tmp___7) {
        strbuf_swap(& sb_contents, referent);
        *type___0 |= 1U;
        ret___67 = 0;
        goto out;
      }
    }
  }
  if ((st.st_mode & 61440U) == 16384U) {
    tmp___8 = refs_read_raw_ref(refs___0->packed_ref_store, refname, oid, referent,
                                type___0, & ignore_errno___0);
    if (tmp___8) {
      myerr = 21;
      goto out;
    }
    ret___67 = 0;
    goto out;
  }
  fd = open(path___6, 00);
  if (fd < 0) {
    tmp___9 = __errno_location();
    myerr = *tmp___9;
    if (myerr == 2) {
      if (! ((st.st_mode & 61440U) == 40960U)) {
        goto stat_ref;
      } else {
        goto out;
      }
    } else {
      goto out;
    }
  }
  strbuf_setlen___148(& sb_contents, (size_t )0);
  tmp___11 = strbuf_read(& sb_contents, fd, (size_t )256);
  if (tmp___11 < 0L) {
    tmp___10 = __errno_location();
    myerr = *tmp___10;
    close(fd);
    goto out;
  }
  close(fd);
  strbuf_rtrim(& sb_contents);
  buf___19 = (char const   *)sb_contents.buf;
  ret___67 = parse_loose_ref_contents(buf___19, oid, referent, type___0, & myerr);
  out:
  if (ret___67) {
    if (! myerr) {
      BUG_fl((char const   *)"refs/files-backend.c", 465, (char const   *)"returning non-zero %d, should have set myerr!",
             ret___67);
    }
  }
  *failure_errno = myerr;
  strbuf_release(& sb_path);
  strbuf_release(& sb_contents);
  tmp___12 = __errno_location();
  *tmp___12 = 0;
  return (ret___67);
}
}
int parse_loose_ref_contents(char const   *buf___19 , struct object_id *oid , struct strbuf *referent ,
                             unsigned int *type___0 , int *failure_errno )
{
  char const   *p___0 ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = skip_prefix(buf___19, (char const   *)"ref:", & buf___19);
  if (tmp) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (((int const   )sane_ctype[(unsigned char )*buf___19] & 1) != 0)) {
        goto while_break;
      }
      buf___19 ++;
    }
    while_break: /* CIL Label */ ;
    }
    strbuf_setlen___148(referent, (size_t )0);
    strbuf_addstr(referent, buf___19);
    *type___0 |= 1U;
    return (0);
  }
  tmp___0 = parse_oid_hex(buf___19, oid, & p___0);
  if (tmp___0) {
    *type___0 |= 4U;
    *failure_errno = 22;
    return (-1);
  } else
  if ((int const   )*p___0 != 0) {
    if (! (((int const   )sane_ctype[(unsigned char )*p___0] & 1) != 0)) {
      *type___0 |= 4U;
      *failure_errno = 22;
      return (-1);
    }
  }
  return (0);
}
}
static void unlock_ref(struct ref_lock *lock___0 )
{


  {
  rollback_lock_file(& lock___0->lk);
  free((void *)lock___0->ref_name);
  free((void *)lock___0);
  return;
}
}
static int lock_raw_ref(struct files_ref_store *refs___0 , char const   *refname ,
                        int mustexist , struct string_list  const  *extras , struct ref_lock **lock_p ,
                        struct strbuf *referent , unsigned int *type___0 , struct strbuf *err___4 )
{
  struct ref_lock *lock___0 ;
  struct strbuf ref_file ;
  int attempts_remaining ;
  int ret___67 ;
  int failure_errno ;
  void *tmp ;
  enum scld_error tmp___0 ;
  int tmp___1 ;
  int myerr ;
  int *tmp___2 ;
  int *tmp___3 ;
  long tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  ref_file.alloc = 0UL;
  ref_file.len = 0UL;
  ref_file.buf = strbuf_slopbuf;
  attempts_remaining = 3;
  ret___67 = -2;
  assert((int )err___4);
  files_assert_main_repository(refs___0, (char const   *)"lock_raw_ref");
  *type___0 = 0U;
  tmp = xcalloc((size_t )1, sizeof(*lock___0));
  lock___0 = (struct ref_lock *)tmp;
  *lock_p = lock___0;
  lock___0->ref_name = xstrdup(refname);
  files_ref_path(refs___0, & ref_file, refname);
  retry:
  tmp___0 = safe_create_leading_directories(ref_file.buf);
  {
  if ((int )tmp___0 == 0) {
    goto case_0;
  }
  if ((int )tmp___0 == -3) {
    goto case_neg_3;
  }
  if ((int )tmp___0 == -4) {
    goto case_neg_4;
  }
  goto switch_default;
  case_0: /* CIL Label */
  goto switch_break;
  case_neg_3: /* CIL Label */
  tmp___1 = refs_verify_refname_available(& refs___0->base, refname, extras, (struct string_list  const  *)((void *)0),
                                          err___4);
  if (tmp___1) {
    if (mustexist) {
      strbuf_setlen___148(err___4, (size_t )0);
      strbuf_addf(err___4, (char const   *)"unable to resolve reference \'%s\'", refname);
    } else {
      ret___67 = -1;
    }
  } else {
    strbuf_addf(err___4, (char const   *)"unable to create lock file %s.lock; non-directory in the way",
                ref_file.buf);
  }
  goto error_return;
  case_neg_4: /* CIL Label */
  attempts_remaining --;
  if (attempts_remaining > 0) {
    goto retry;
  }
  switch_default: /* CIL Label */
  strbuf_addf(err___4, (char const   *)"unable to create directory for %s", ref_file.buf);
  goto error_return;
  switch_break: /* CIL Label */ ;
  }
  tmp___4 = get_files_ref_lock_timeout_ms();
  tmp___5 = hold_lock_file_for_update_timeout(& lock___0->lk, (char const   *)ref_file.buf,
                                              2, tmp___4);
  if (tmp___5 < 0) {
    tmp___2 = __errno_location();
    myerr = *tmp___2;
    tmp___3 = __errno_location();
    *tmp___3 = 0;
    if (myerr == 2) {
      attempts_remaining --;
      if (attempts_remaining > 0) {
        goto retry;
      } else {
        unable_to_lock_message((char const   *)ref_file.buf, myerr, err___4);
        goto error_return;
      }
    } else {
      unable_to_lock_message((char const   *)ref_file.buf, myerr, err___4);
      goto error_return;
    }
  }
  tmp___10 = files_read_raw_ref(& refs___0->base, refname, & lock___0->old_oid, referent,
                                type___0, & failure_errno);
  if (tmp___10) {
    if (failure_errno == 2) {
      if (mustexist) {
        strbuf_addf(err___4, (char const   *)"unable to resolve reference \'%s\'",
                    refname);
        goto error_return;
      }
    } else
    if (failure_errno == 21) {
      if (mustexist) {
        strbuf_addf(err___4, (char const   *)"unable to resolve reference \'%s\'",
                    refname);
        goto error_return;
      } else {
        tmp___7 = remove_dir_recursively(& ref_file, 01);
        if (tmp___7) {
          tmp___6 = refs_verify_refname_available(& refs___0->base, refname, extras,
                                                  (struct string_list  const  *)((void *)0),
                                                  err___4);
          if (tmp___6) {
            ret___67 = -1;
            goto error_return;
          } else {
            strbuf_addf(err___4, (char const   *)"there is a non-empty directory \'%s\' blocking reference \'%s\'",
                        ref_file.buf, refname);
            goto error_return;
          }
        }
      }
    } else
    if (failure_errno == 22) {
      if (*type___0 & 4U) {
        strbuf_addf(err___4, (char const   *)"unable to resolve reference \'%s\': reference broken",
                    refname);
        goto error_return;
      } else {
        tmp___8 = strerror(failure_errno);
        strbuf_addf(err___4, (char const   *)"unable to resolve reference \'%s\': %s",
                    refname, tmp___8);
        goto error_return;
      }
    } else {
      tmp___8 = strerror(failure_errno);
      strbuf_addf(err___4, (char const   *)"unable to resolve reference \'%s\': %s",
                  refname, tmp___8);
      goto error_return;
    }
    tmp___9 = refs_verify_refname_available(refs___0->packed_ref_store, refname, extras,
                                            (struct string_list  const  *)((void *)0),
                                            err___4);
    if (tmp___9) {
      goto error_return;
    }
  }
  ret___67 = 0;
  goto out;
  error_return:
  unlock_ref(lock___0);
  *lock_p = (struct ref_lock *)((void *)0);
  out:
  strbuf_release(& ref_file);
  return (ret___67);
}
}
static int files_ref_iterator_advance(struct ref_iterator *ref_iterator )
{
  struct files_ref_iterator *iter___0 ;
  int ok ;
  enum ref_type tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  iter___0 = (struct files_ref_iterator *)ref_iterator;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    ok = ref_iterator_advance(iter___0->iter0);
    if (! (ok == 0)) {
      goto while_break;
    }
    if (iter___0->flags & 2U) {
      tmp = ref_type((iter___0->iter0)->refname);
      if ((unsigned int )tmp != 0U) {
        goto while_continue;
      }
    }
    if (iter___0->flags & 4U) {
      if ((iter___0->iter0)->flags & 1U) {
        if ((iter___0->iter0)->flags & 4U) {
          goto while_continue;
        }
      }
    }
    if (! (iter___0->flags & 1U)) {
      tmp___0 = ref_resolves_to_object((iter___0->iter0)->refname, iter___0->repo,
                                       (iter___0->iter0)->oid, (iter___0->iter0)->flags);
      if (! tmp___0) {
        goto while_continue;
      }
    }
    iter___0->base.refname = (iter___0->iter0)->refname;
    iter___0->base.oid = (iter___0->iter0)->oid;
    iter___0->base.flags = (iter___0->iter0)->flags;
    return (0);
  }
  while_break: /* CIL Label */ ;
  }
  iter___0->iter0 = (struct ref_iterator *)((void *)0);
  tmp___1 = ref_iterator_abort(ref_iterator);
  if (tmp___1 != -1) {
    ok = -2;
  }
  return (ok);
}
}
static int files_ref_iterator_peel(struct ref_iterator *ref_iterator , struct object_id *peeled )
{
  struct files_ref_iterator *iter___0 ;
  int tmp ;

  {
  iter___0 = (struct files_ref_iterator *)ref_iterator;
  tmp = ref_iterator_peel(iter___0->iter0, peeled);
  return (tmp);
}
}
static int files_ref_iterator_abort(struct ref_iterator *ref_iterator )
{
  struct files_ref_iterator *iter___0 ;
  int ok ;

  {
  iter___0 = (struct files_ref_iterator *)ref_iterator;
  ok = -1;
  if (iter___0->iter0) {
    ok = ref_iterator_abort(iter___0->iter0);
  }
  base_ref_iterator_free(ref_iterator);
  return (ok);
}
}
static struct ref_iterator_vtable files_ref_iterator_vtable  =    {& files_ref_iterator_advance, & files_ref_iterator_peel, & files_ref_iterator_abort};
static struct ref_iterator *files_ref_iterator_begin(struct ref_store *ref_store ,
                                                     char const   *prefix___1 , unsigned int flags___0 )
{
  struct files_ref_store *refs___0 ;
  struct ref_iterator *loose_iter ;
  struct ref_iterator *packed_iter ;
  struct ref_iterator *overlay_iter ;
  struct files_ref_iterator *iter___0 ;
  struct ref_iterator *ref_iterator ;
  unsigned int required_flags ;
  struct ref_cache *tmp ;
  void *tmp___0 ;

  {
  required_flags = 1U;
  if (! (flags___0 & 1U)) {
    required_flags |= (unsigned int )(1 << 2);
  }
  refs___0 = files_downcast(ref_store, required_flags, (char const   *)"ref_iterator_begin");
  tmp = get_loose_ref_cache(refs___0);
  loose_iter = cache_ref_iterator_begin(tmp, prefix___1, ref_store->repo, 1);
  packed_iter = refs_ref_iterator_begin(refs___0->packed_ref_store, prefix___1, 0,
                                        (enum do_for_each_ref_flags )1);
  overlay_iter = overlay_ref_iterator_begin(loose_iter, packed_iter);
  tmp___0 = xcalloc((size_t )1, sizeof(*iter___0));
  iter___0 = (struct files_ref_iterator *)tmp___0;
  ref_iterator = & iter___0->base;
  base_ref_iterator_init(ref_iterator, & files_ref_iterator_vtable, (int )overlay_iter->ordered);
  iter___0->iter0 = overlay_iter;
  iter___0->repo = ref_store->repo;
  iter___0->flags = flags___0;
  return (ref_iterator);
}
}
static int raceproof_create_file(char const   *path___6 , create_file_fn *fn , void *cb )
{
  int remove_directories_remaining ;
  int create_directories_remaining ;
  struct strbuf path_copy ;
  int ret___67 ;
  int save_errno ;
  int *tmp ;
  int tmp___0 ;
  enum scld_error scld_result ;
  int tmp___1 ;
  int *tmp___2 ;
  int tmp___3 ;
  int *tmp___4 ;
  int tmp___5 ;
  int *tmp___6 ;

  {
  remove_directories_remaining = 1;
  create_directories_remaining = 3;
  path_copy.alloc = 0UL;
  path_copy.len = 0UL;
  path_copy.buf = strbuf_slopbuf;
  assert((int )*path___6);
  retry_fn:
  ret___67 = (*fn)(path___6, cb);
  tmp = __errno_location();
  save_errno = *tmp;
  if (! ret___67) {
    goto out;
  }
  tmp___4 = __errno_location();
  if (*tmp___4 == 21) {
    tmp___5 = remove_directories_remaining;
    remove_directories_remaining --;
    if (tmp___5 > 0) {
      if (! path_copy.len) {
        strbuf_addstr(& path_copy, path___6);
      }
      tmp___0 = remove_dir_recursively(& path_copy, 01);
      if (! tmp___0) {
        goto retry_fn;
      }
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp___2 = __errno_location();
    if (*tmp___2 == 2) {
      tmp___3 = create_directories_remaining;
      create_directories_remaining --;
      if (tmp___3 > 0) {
        if (! path_copy.len) {
          strbuf_addstr(& path_copy, path___6);
        }
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          scld_result = safe_create_leading_directories(path_copy.buf);
          if ((int )scld_result == 0) {
            goto retry_fn;
          }
          if ((int )scld_result == -4) {
            tmp___1 = create_directories_remaining;
            create_directories_remaining --;
            if (! (tmp___1 > 0)) {
              goto while_break;
            }
          } else {
            goto while_break;
          }
        }
        while_break: /* CIL Label */ ;
        }
      }
    }
  }
  out:
  strbuf_release(& path_copy);
  tmp___6 = __errno_location();
  *tmp___6 = save_errno;
  return (ret___67);
}
}
static int remove_empty_directories(struct strbuf *path___6 )
{
  int tmp ;

  {
  tmp = remove_dir_recursively(path___6, 01);
  return (tmp);
}
}
static int create_reflock(char const   *path___6 , void *cb )
{
  struct lock_file *lk ;
  long tmp ;
  int tmp___0 ;
  int tmp___1 ;
  long tmp___2 ;
  int tmp___3 ;

  {
  lk = (struct lock_file *)cb;
  tmp___2 = get_files_ref_lock_timeout_ms();
  tmp___3 = hold_lock_file_for_update_timeout(lk, path___6, 2, tmp___2);
  if (tmp___3 < 0) {
    tmp___1 = -1;
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static struct ref_lock *lock_ref_oid_basic(struct files_ref_store *refs___0 , char const   *refname ,
                                           struct strbuf *err___4 )
{
  struct strbuf ref_file ;
  struct ref_lock *lock___0 ;
  int ignore_errno ;
  void *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int *tmp___2 ;
  int tmp___3 ;
  char const   *tmp___4 ;

  {
  ref_file.alloc = 0UL;
  ref_file.len = 0UL;
  ref_file.buf = strbuf_slopbuf;
  files_assert_main_repository(refs___0, (char const   *)"lock_ref_oid_basic");
  assert((int )err___4);
  tmp = xcalloc((size_t )1, sizeof(*lock___0));
  lock___0 = (struct ref_lock *)tmp;
  files_ref_path(refs___0, & ref_file, refname);
  tmp___0 = is_null_oid((struct object_id  const  *)(& lock___0->old_oid));
  if (tmp___0) {
    tmp___1 = refs_verify_refname_available(refs___0->packed_ref_store, refname, (struct string_list  const  *)((void *)0),
                                            (struct string_list  const  *)((void *)0),
                                            err___4);
    if (tmp___1) {
      goto error_return;
    }
  }
  lock___0->ref_name = xstrdup(refname);
  tmp___3 = raceproof_create_file((char const   *)ref_file.buf, & create_reflock,
                                  (void *)(& lock___0->lk));
  if (tmp___3) {
    tmp___2 = __errno_location();
    unable_to_lock_message((char const   *)ref_file.buf, *tmp___2, err___4);
    goto error_return;
  }
  tmp___4 = refs_resolve_ref_unsafe(& refs___0->base, (char const   *)lock___0->ref_name,
                                    0, & lock___0->old_oid, (int *)((void *)0), & ignore_errno);
  if (! tmp___4) {
    oidclr(& lock___0->old_oid);
  }
  goto out;
  error_return:
  unlock_ref(lock___0);
  lock___0 = (struct ref_lock *)((void *)0);
  out:
  strbuf_release(& ref_file);
  return (lock___0);
}
}
static void try_remove_empty_parents(struct files_ref_store *refs___0 , char const   *refname ,
                                     unsigned int flags___0 )
{
  struct strbuf buf___19 ;
  struct strbuf sb___6 ;
  char *p___0 ;
  char *q ;
  int i ;
  int tmp ;
  int tmp___0 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  strbuf_addstr(& buf___19, refname);
  p___0 = buf___19.buf;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 2)) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (*p___0) {
        if (! ((int )*p___0 != 47)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      p___0 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((int )*p___0 == 47)) {
        goto while_break___1;
      }
      p___0 ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  q = buf___19.buf + buf___19.len;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (flags___0 & 3U)) {
      goto while_break___2;
    }
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if ((unsigned long )q > (unsigned long )p___0) {
        if (! ((int )*q != 47)) {
          goto while_break___3;
        }
      } else {
        goto while_break___3;
      }
      q --;
    }
    while_break___3: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if ((unsigned long )q > (unsigned long )p___0) {
        if (! ((int )*(q - 1) == 47)) {
          goto while_break___4;
        }
      } else {
        goto while_break___4;
      }
      q --;
    }
    while_break___4: /* CIL Label */ ;
    }
    if ((unsigned long )q == (unsigned long )p___0) {
      goto while_break___2;
    }
    strbuf_setlen___148(& buf___19, (size_t )(q - buf___19.buf));
    strbuf_setlen___148(& sb___6, (size_t )0);
    files_ref_path(refs___0, & sb___6, (char const   *)buf___19.buf);
    if (flags___0 & 1U) {
      tmp = lstat_cache_aware_rmdir((char const   *)sb___6.buf);
      if (tmp) {
        flags___0 &= 4294967294U;
      }
    }
    strbuf_setlen___148(& sb___6, (size_t )0);
    files_reflog_path(refs___0, & sb___6, (char const   *)buf___19.buf);
    if (flags___0 & 2U) {
      tmp___0 = lstat_cache_aware_rmdir((char const   *)sb___6.buf);
      if (tmp___0) {
        flags___0 &= 4294967293U;
      }
    }
  }
  while_break___2: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  strbuf_release(& sb___6);
  return;
}
}
static void prune_ref(struct files_ref_store *refs___0 , struct ref_to_prune *r )
{
  struct ref_transaction *transaction___0 ;
  struct strbuf err___4 ;
  int ret___67 ;
  int tmp ;
  struct object_id  const  *tmp___0 ;
  int tmp___1 ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  ret___67 = -1;
  tmp = check_refname_format((char const   *)(r->name), 0);
  if (tmp) {
    return;
  }
  transaction___0 = ref_store_transaction_begin(& refs___0->base, & err___4);
  if (! transaction___0) {
    goto cleanup;
  }
  tmp___0 = null_oid();
  ref_transaction_add_update(transaction___0, (char const   *)(r->name), (unsigned int )(((1 | (1 << 2)) | (1 << 3)) | (1 << 4)),
                             tmp___0, (struct object_id  const  *)(& r->oid), (char const   *)((void *)0));
  tmp___1 = ref_transaction_commit(transaction___0, & err___4);
  if (tmp___1) {
    goto cleanup;
  }
  ret___67 = 0;
  cleanup:
  if (ret___67) {
    error((char const   *)"%s", err___4.buf);
    const_error();
  }
  strbuf_release(& err___4);
  ref_transaction_free(transaction___0);
  return;
}
}
static void prune_refs(struct files_ref_store *refs___0 , struct ref_to_prune **refs_to_prune )
{
  struct ref_to_prune *r ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *refs_to_prune) {
      goto while_break;
    }
    r = *refs_to_prune;
    *refs_to_prune = r->next;
    prune_ref(refs___0, r);
    free((void *)r);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int should_pack_ref(char const   *refname , struct object_id  const  *oid ,
                           unsigned int ref_flags , unsigned int pack_flags___0 )
{
  enum ref_type tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = ref_type(refname);
  if ((unsigned int )tmp != 4U) {
    return (0);
  }
  if (! (pack_flags___0 & 2U)) {
    tmp___0 = starts_with(refname, (char const   *)"refs/tags/");
    if (! tmp___0) {
      return (0);
    }
  }
  if (ref_flags & 1U) {
    return (0);
  }
  tmp___1 = ref_resolves_to_object(refname, the_repository, oid, ref_flags);
  if (! tmp___1) {
    return (0);
  }
  return (1);
}
}
static int files_pack_refs(struct ref_store *ref_store , unsigned int flags___0 )
{
  struct files_ref_store *refs___0 ;
  struct files_ref_store *tmp ;
  struct ref_iterator *iter___0 ;
  int ok ;
  struct ref_to_prune *refs_to_prune ;
  struct strbuf err___4 ;
  struct ref_transaction *transaction___0 ;
  struct ref_cache *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  struct ref_to_prune *n ;
  size_t flex_array_len_ ;
  size_t tmp___3 ;
  size_t tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  int tmp___7 ;

  {
  tmp = files_downcast(ref_store, (unsigned int )((1 << 1) | (1 << 2)), (char const   *)"pack_refs");
  refs___0 = tmp;
  refs_to_prune = (struct ref_to_prune *)((void *)0);
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  transaction___0 = ref_store_transaction_begin(refs___0->packed_ref_store, & err___4);
  if (! transaction___0) {
    return (-1);
  }
  packed_refs_lock(refs___0->packed_ref_store, 1, & err___4);
  tmp___0 = get_loose_ref_cache(refs___0);
  iter___0 = cache_ref_iterator_begin(tmp___0, (char const   *)((void *)0), the_repository,
                                      0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    ok = ref_iterator_advance(iter___0);
    if (! (ok == 0)) {
      goto while_break;
    }
    tmp___1 = should_pack_ref(iter___0->refname, iter___0->oid, iter___0->flags, flags___0);
    if (! tmp___1) {
      goto while_continue;
    }
    tmp___2 = ref_transaction_update(transaction___0, iter___0->refname, iter___0->oid,
                                     (struct object_id  const  *)((void *)0), 1U,
                                     (char const   *)((void *)0), & err___4);
    if (tmp___2) {
      die((char const   *)"failure preparing to create packed reference %s: %s", iter___0->refname,
          err___4.buf);
    }
    if (flags___0 & 1U) {
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        tmp___3 = strlen(iter___0->refname);
        flex_array_len_ = tmp___3;
        tmp___4 = st_add(sizeof(*n), flex_array_len_);
        tmp___5 = st_add(tmp___4, (size_t )1);
        tmp___6 = xcalloc((size_t )1, tmp___5);
        n = (struct ref_to_prune *)tmp___6;
        memcpy((void *)(n->name), (void const   *)iter___0->refname, flex_array_len_);
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
      oidcpy(& n->oid, iter___0->oid);
      n->next = refs_to_prune;
      refs_to_prune = n;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (ok != -1) {
    die((char const   *)"error while iterating over references");
  }
  tmp___7 = ref_transaction_commit(transaction___0, & err___4);
  if (tmp___7) {
    die((char const   *)"unable to write new packed-refs: %s", err___4.buf);
  }
  ref_transaction_free(transaction___0);
  packed_refs_unlock(refs___0->packed_ref_store);
  prune_refs(refs___0, & refs_to_prune);
  strbuf_release(& err___4);
  return (0);
}
}
static int files_delete_refs(struct ref_store *ref_store , char const   *msg___5 ,
                             struct string_list *refnames , unsigned int flags___0 )
{
  struct files_ref_store *refs___0 ;
  struct files_ref_store *tmp ;
  struct strbuf err___4 ;
  int i ;
  int result___0 ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *refname ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;

  {
  tmp = files_downcast(ref_store, (unsigned int )(1 << 1), (char const   *)"delete_refs");
  refs___0 = tmp;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  result___0 = 0;
  if (! refnames->nr) {
    return (0);
  }
  tmp___0 = packed_refs_lock(refs___0->packed_ref_store, 0, & err___4);
  if (tmp___0) {
    goto error;
  }
  tmp___1 = refs_delete_refs(refs___0->packed_ref_store, msg___5, refnames, flags___0);
  if (tmp___1) {
    packed_refs_unlock(refs___0->packed_ref_store);
    goto error;
  }
  packed_refs_unlock(refs___0->packed_ref_store);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < refnames->nr)) {
      goto while_break;
    }
    refname = (char const   *)(refnames->items + i)->string;
    tmp___4 = refs_delete_ref(& refs___0->base, msg___5, refname, (struct object_id  const  *)((void *)0),
                              flags___0);
    if (tmp___4) {
      tmp___2 = _((char const   *)"could not remove reference %s");
      error((char const   *)tmp___2, refname);
      tmp___3 = const_error();
      result___0 |= tmp___3;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& err___4);
  return (result___0);
  error:
  if (refnames->nr == 1U) {
    tmp___5 = _((char const   *)"could not delete reference %s: %s");
    error((char const   *)tmp___5, (refnames->items + 0)->string, err___4.buf);
    const_error();
  } else {
    tmp___6 = _((char const   *)"could not delete references: %s");
    error((char const   *)tmp___6, err___4.buf);
    const_error();
  }
  strbuf_release(& err___4);
  return (-1);
}
}
static int rename_tmp_log_callback(char const   *path___6 , void *cb_data )
{
  struct rename_cb *cb ;
  int *tmp ;
  int *tmp___0 ;
  int *tmp___1 ;
  int tmp___2 ;

  {
  cb = (struct rename_cb *)cb_data;
  tmp___2 = rename(cb->tmp_renamed_log, path___6);
  if (tmp___2) {
    tmp = __errno_location();
    cb->true_errno = *tmp;
    tmp___1 = __errno_location();
    if (*tmp___1 == 20) {
      tmp___0 = __errno_location();
      *tmp___0 = 21;
    }
    return (-1);
  } else {
    return (0);
  }
}
}
static int rename_tmp_log(struct files_ref_store *refs___0 , char const   *newrefname )
{
  struct strbuf path___6 ;
  struct strbuf tmp ;
  struct rename_cb cb ;
  int ret___67 ;
  char *tmp___0 ;
  int *tmp___1 ;

  {
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  tmp.alloc = 0UL;
  tmp.len = 0UL;
  tmp.buf = strbuf_slopbuf;
  files_reflog_path(refs___0, & path___6, newrefname);
  files_reflog_path(refs___0, & tmp, (char const   *)"refs/.tmp-renamed-log");
  cb.tmp_renamed_log = (char const   *)tmp.buf;
  ret___67 = raceproof_create_file((char const   *)path___6.buf, & rename_tmp_log_callback,
                                   (void *)(& cb));
  if (ret___67) {
    tmp___1 = __errno_location();
    if (*tmp___1 == 21) {
      error((char const   *)"directory not empty: %s", path___6.buf);
      const_error();
    } else {
      tmp___0 = strerror(cb.true_errno);
      error((char const   *)"unable to move logfile %s to %s: %s", tmp.buf, path___6.buf,
            tmp___0);
      const_error();
    }
  }
  strbuf_release(& path___6);
  strbuf_release(& tmp);
  return (ret___67);
}
}
static int write_ref_to_lockfile(struct ref_lock *lock___0 , struct object_id  const  *oid ,
                                 int skip_oid_verification , struct strbuf *err___4 ) ;
static int commit_ref_update(struct files_ref_store *refs___0 , struct ref_lock *lock___0 ,
                             struct object_id  const  *oid , char const   *logmsg ,
                             struct strbuf *err___4 ) ;
static int refs_rename_ref_available(struct ref_store *refs___0 , char const   *old_refname ,
                                     char const   *new_refname )
{
  struct string_list skip ;
  struct strbuf err___4 ;
  int ok ;
  int tmp ;
  int tmp___0 ;

  {
  skip.items = (struct string_list_item *)0;
  skip.nr = 0U;
  skip.alloc = 0U;
  skip.strdup_strings = 0U;
  skip.cmp = (int (*)(char const   * , char const   * ))0;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  string_list_insert(& skip, old_refname);
  tmp = refs_verify_refname_available(refs___0, new_refname, (struct string_list  const  *)((void *)0),
                                      (struct string_list  const  *)(& skip), & err___4);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  ok = tmp___0;
  if (! ok) {
    error((char const   *)"%s", err___4.buf);
    const_error();
  }
  string_list_clear(& skip, 0);
  strbuf_release(& err___4);
  return (ok);
}
}
static int files_copy_or_rename_ref(struct ref_store *ref_store , char const   *oldrefname ,
                                    char const   *newrefname , char const   *logmsg ,
                                    int copy___0 )
{
  struct files_ref_store *refs___0 ;
  struct files_ref_store *tmp ;
  struct object_id orig_oid ;
  int flag ;
  int logmoved ;
  struct ref_lock *lock___0 ;
  struct stat loginfo___0 ;
  struct strbuf sb_oldref ;
  struct strbuf sb_newref ;
  struct strbuf tmp_renamed_log ;
  int log ;
  int ret___67 ;
  struct strbuf err___4 ;
  int ignore_errno ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  int *tmp___4 ;
  char *tmp___5 ;
  int tmp___6 ;
  int *tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  struct strbuf path___6 ;
  int result___0 ;
  int *tmp___11 ;
  char const   *tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int *tmp___19 ;
  char *tmp___20 ;
  int tmp___21 ;
  int *tmp___22 ;
  char *tmp___23 ;
  int tmp___24 ;

  {
  tmp = files_downcast(ref_store, (unsigned int )(1 << 1), (char const   *)"rename_ref");
  refs___0 = tmp;
  flag = 0;
  logmoved = 0;
  sb_oldref.alloc = 0UL;
  sb_oldref.len = 0UL;
  sb_oldref.buf = strbuf_slopbuf;
  sb_newref.alloc = 0UL;
  sb_newref.len = 0UL;
  sb_newref.buf = strbuf_slopbuf;
  tmp_renamed_log.alloc = 0UL;
  tmp_renamed_log.len = 0UL;
  tmp_renamed_log.buf = strbuf_slopbuf;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  files_reflog_path(refs___0, & sb_oldref, oldrefname);
  files_reflog_path(refs___0, & sb_newref, newrefname);
  files_reflog_path(refs___0, & tmp_renamed_log, (char const   *)"refs/.tmp-renamed-log");
  tmp___0 = lstat((char const   *)sb_oldref.buf, & loginfo___0);
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  log = tmp___1;
  if (log) {
    if ((loginfo___0.st_mode & 61440U) == 40960U) {
      error((char const   *)"reflog for %s is a symlink", oldrefname);
      ret___67 = const_error();
      goto out;
    }
  }
  tmp___2 = refs_resolve_ref_unsafe(& refs___0->base, oldrefname, 3, & orig_oid, & flag,
                                    & ignore_errno);
  if (! tmp___2) {
    error((char const   *)"refname %s not found", oldrefname);
    ret___67 = const_error();
    goto out;
  }
  if (flag & 0x01) {
    if (copy___0) {
      error((char const   *)"refname %s is a symbolic ref, copying it is not supported",
            oldrefname);
      ret___67 = const_error();
    } else {
      error((char const   *)"refname %s is a symbolic ref, renaming it is not supported",
            oldrefname);
      ret___67 = const_error();
    }
    goto out;
  }
  tmp___3 = refs_rename_ref_available(& refs___0->base, oldrefname, newrefname);
  if (! tmp___3) {
    ret___67 = 1;
    goto out;
  }
  if (! copy___0) {
    if (log) {
      tmp___6 = rename((char const   *)sb_oldref.buf, (char const   *)tmp_renamed_log.buf);
      if (tmp___6) {
        tmp___4 = __errno_location();
        tmp___5 = strerror(*tmp___4);
        error((char const   *)"unable to move logfile logs/%s to logs/refs/.tmp-renamed-log: %s",
              oldrefname, tmp___5);
        ret___67 = const_error();
        goto out;
      }
    }
  }
  if (copy___0) {
    if (log) {
      tmp___9 = copy_file((char const   *)tmp_renamed_log.buf, (char const   *)sb_oldref.buf,
                          0644);
      if (tmp___9) {
        tmp___7 = __errno_location();
        tmp___8 = strerror(*tmp___7);
        error((char const   *)"unable to copy logfile logs/%s to logs/refs/.tmp-renamed-log: %s",
              oldrefname, tmp___8);
        ret___67 = const_error();
        goto out;
      }
    }
  }
  if (! copy___0) {
    tmp___10 = refs_delete_ref(& refs___0->base, logmsg, oldrefname, (struct object_id  const  *)(& orig_oid),
                               1U);
    if (tmp___10) {
      error((char const   *)"unable to delete old %s", oldrefname);
      const_error();
      goto rollback;
    }
  }
  if (! copy___0) {
    tmp___12 = refs_resolve_ref_unsafe(& refs___0->base, newrefname, 3, (struct object_id *)((void *)0),
                                       (int *)((void *)0), & ignore_errno);
    if (tmp___12) {
      tmp___13 = refs_delete_ref(& refs___0->base, (char const   *)((void *)0), newrefname,
                                 (struct object_id  const  *)((void *)0), 1U);
      if (tmp___13) {
        tmp___11 = __errno_location();
        if (*tmp___11 == 21) {
          path___6.alloc = 0UL;
          path___6.len = 0UL;
          path___6.buf = strbuf_slopbuf;
          files_ref_path(refs___0, & path___6, newrefname);
          result___0 = remove_empty_directories(& path___6);
          strbuf_release(& path___6);
          if (result___0) {
            error((char const   *)"Directory not empty: %s", newrefname);
            const_error();
            goto rollback;
          }
        } else {
          error((char const   *)"unable to delete existing %s", newrefname);
          const_error();
          goto rollback;
        }
      }
    }
  }
  if (log) {
    tmp___14 = rename_tmp_log(refs___0, newrefname);
    if (tmp___14) {
      goto rollback;
    }
  }
  logmoved = log;
  lock___0 = lock_ref_oid_basic(refs___0, newrefname, & err___4);
  if (! lock___0) {
    if (copy___0) {
      error((char const   *)"unable to copy \'%s\' to \'%s\': %s", oldrefname, newrefname,
            err___4.buf);
      const_error();
    } else {
      error((char const   *)"unable to rename \'%s\' to \'%s\': %s", oldrefname, newrefname,
            err___4.buf);
      const_error();
    }
    strbuf_release(& err___4);
    goto rollback;
  }
  oidcpy(& lock___0->old_oid, (struct object_id  const  *)(& orig_oid));
  tmp___15 = write_ref_to_lockfile(lock___0, (struct object_id  const  *)(& orig_oid),
                                   0, & err___4);
  if (tmp___15) {
    error((char const   *)"unable to write current sha1 into %s: %s", newrefname,
          err___4.buf);
    const_error();
    strbuf_release(& err___4);
    goto rollback;
  } else {
    tmp___16 = commit_ref_update(refs___0, lock___0, (struct object_id  const  *)(& orig_oid),
                                 logmsg, & err___4);
    if (tmp___16) {
      error((char const   *)"unable to write current sha1 into %s: %s", newrefname,
            err___4.buf);
      const_error();
      strbuf_release(& err___4);
      goto rollback;
    }
  }
  ret___67 = 0;
  goto out;
  rollback:
  lock___0 = lock_ref_oid_basic(refs___0, oldrefname, & err___4);
  if (! lock___0) {
    error((char const   *)"unable to lock %s for rollback: %s", oldrefname, err___4.buf);
    const_error();
    strbuf_release(& err___4);
    goto rollbacklog;
  }
  flag = (int )log_all_ref_updates;
  log_all_ref_updates = (enum log_refs_config )0;
  tmp___17 = write_ref_to_lockfile(lock___0, (struct object_id  const  *)(& orig_oid),
                                   0, & err___4);
  if (tmp___17) {
    error((char const   *)"unable to write current sha1 into %s: %s", oldrefname,
          err___4.buf);
    const_error();
    strbuf_release(& err___4);
  } else {
    tmp___18 = commit_ref_update(refs___0, lock___0, (struct object_id  const  *)(& orig_oid),
                                 (char const   *)((void *)0), & err___4);
    if (tmp___18) {
      error((char const   *)"unable to write current sha1 into %s: %s", oldrefname,
            err___4.buf);
      const_error();
      strbuf_release(& err___4);
    }
  }
  log_all_ref_updates = (enum log_refs_config )flag;
  rollbacklog:
  if (logmoved) {
    tmp___21 = rename((char const   *)sb_newref.buf, (char const   *)sb_oldref.buf);
    if (tmp___21) {
      tmp___19 = __errno_location();
      tmp___20 = strerror(*tmp___19);
      error((char const   *)"unable to restore logfile %s from %s: %s", oldrefname,
            newrefname, tmp___20);
      const_error();
    }
  }
  if (! logmoved) {
    if (log) {
      tmp___24 = rename((char const   *)tmp_renamed_log.buf, (char const   *)sb_oldref.buf);
      if (tmp___24) {
        tmp___22 = __errno_location();
        tmp___23 = strerror(*tmp___22);
        error((char const   *)"unable to restore logfile %s from logs/refs/.tmp-renamed-log: %s",
              oldrefname, tmp___23);
        const_error();
      }
    }
  }
  ret___67 = 1;
  out:
  strbuf_release(& sb_newref);
  strbuf_release(& sb_oldref);
  strbuf_release(& tmp_renamed_log);
  return (ret___67);
}
}
static int files_rename_ref(struct ref_store *ref_store , char const   *oldrefname ,
                            char const   *newrefname , char const   *logmsg )
{
  int tmp ;

  {
  tmp = files_copy_or_rename_ref(ref_store, oldrefname, newrefname, logmsg, 0);
  return (tmp);
}
}
static int files_copy_ref(struct ref_store *ref_store , char const   *oldrefname ,
                          char const   *newrefname , char const   *logmsg )
{
  int tmp ;

  {
  tmp = files_copy_or_rename_ref(ref_store, oldrefname, newrefname, logmsg, 1);
  return (tmp);
}
}
static int close_ref_gently(struct ref_lock *lock___0 )
{
  int tmp ;

  {
  tmp = close_lock_file_gently(& lock___0->lk);
  if (tmp) {
    return (-1);
  }
  return (0);
}
}
static int commit_ref(struct ref_lock *lock___0 )
{
  char *path___6 ;
  char *tmp ;
  struct stat st ;
  size_t len___0 ;
  size_t tmp___0 ;
  struct strbuf sb_path ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = get_locked_file_path(& lock___0->lk);
  path___6 = tmp;
  tmp___1 = lstat((char const   *)path___6, & st);
  if (tmp___1) {
    free((void *)path___6);
  } else
  if ((st.st_mode & 61440U) == 16384U) {
    tmp___0 = strlen((char const   *)path___6);
    len___0 = tmp___0;
    sb_path.alloc = 0UL;
    sb_path.len = 0UL;
    sb_path.buf = strbuf_slopbuf;
    strbuf_attach(& sb_path, (void *)path___6, len___0, len___0);
    remove_empty_directories(& sb_path);
    strbuf_release(& sb_path);
  } else {
    free((void *)path___6);
  }
  tmp___2 = commit_lock_file(& lock___0->lk);
  if (tmp___2) {
    return (-1);
  }
  return (0);
}
}
static int open_or_create_logfile(char const   *path___6 , void *cb )
{
  int *fd ;
  int tmp ;

  {
  fd = (int *)cb;
  *fd = open(path___6, 1089, 0666);
  if (*fd < 0) {
    tmp = -1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static int log_ref_setup(struct files_ref_store *refs___0 , char const   *refname ,
                         int force_create , int *logfd , struct strbuf *err___4 )
{
  struct strbuf logfile_sb ;
  char *logfile___0 ;
  int *tmp ;
  char *tmp___0 ;
  int *tmp___1 ;
  char *tmp___2 ;
  int *tmp___3 ;
  int *tmp___4 ;
  int tmp___5 ;
  int *tmp___6 ;
  char *tmp___7 ;
  int *tmp___8 ;
  int *tmp___9 ;
  int tmp___10 ;

  {
  logfile_sb.alloc = 0UL;
  logfile_sb.len = 0UL;
  logfile_sb.buf = strbuf_slopbuf;
  files_reflog_path(refs___0, & logfile_sb, refname);
  logfile___0 = strbuf_detach(& logfile_sb, (size_t *)((void *)0));
  if (force_create) {
    goto _L;
  } else {
    tmp___10 = should_autocreate_reflog(refname);
    if (tmp___10) {
      _L: /* CIL Label */
      tmp___5 = raceproof_create_file((char const   *)logfile___0, & open_or_create_logfile,
                                      (void *)logfd);
      if (tmp___5) {
        tmp___4 = __errno_location();
        if (*tmp___4 == 2) {
          tmp = __errno_location();
          tmp___0 = strerror(*tmp);
          strbuf_addf(err___4, (char const   *)"unable to create directory for \'%s\': %s",
                      logfile___0, tmp___0);
        } else {
          tmp___3 = __errno_location();
          if (*tmp___3 == 21) {
            strbuf_addf(err___4, (char const   *)"there are still logs under \'%s\'",
                        logfile___0);
          } else {
            tmp___1 = __errno_location();
            tmp___2 = strerror(*tmp___1);
            strbuf_addf(err___4, (char const   *)"unable to append to \'%s\': %s",
                        logfile___0, tmp___2);
          }
        }
        goto error;
      }
    } else {
      *logfd = open((char const   *)logfile___0, 1025);
      if (*logfd < 0) {
        tmp___8 = __errno_location();
        if (! (*tmp___8 == 2)) {
          tmp___9 = __errno_location();
          if (! (*tmp___9 == 21)) {
            tmp___6 = __errno_location();
            tmp___7 = strerror(*tmp___6);
            strbuf_addf(err___4, (char const   *)"unable to append to \'%s\': %s",
                        logfile___0, tmp___7);
            goto error;
          }
        }
      }
    }
  }
  if (*logfd >= 0) {
    adjust_shared_perm((char const   *)logfile___0);
  }
  free((void *)logfile___0);
  return (0);
  error:
  free((void *)logfile___0);
  return (-1);
}
}
static int files_create_reflog(struct ref_store *ref_store , char const   *refname ,
                               struct strbuf *err___4 )
{
  struct files_ref_store *refs___0 ;
  struct files_ref_store *tmp ;
  int fd ;
  int tmp___0 ;

  {
  tmp = files_downcast(ref_store, (unsigned int )(1 << 1), (char const   *)"create_reflog");
  refs___0 = tmp;
  tmp___0 = log_ref_setup(refs___0, refname, 1, & fd, err___4);
  if (tmp___0) {
    return (-1);
  }
  if (fd >= 0) {
    close(fd);
  }
  return (0);
}
}
static int log_ref_write_fd(int fd , struct object_id  const  *old_oid , struct object_id  const  *new_oid ,
                            char const   *committer , char const   *msg___5 )
{
  struct strbuf sb___6 ;
  int ret___67 ;
  char *tmp ;
  char *tmp___0 ;
  ssize_t tmp___1 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  ret___67 = 0;
  tmp = oid_to_hex(new_oid);
  tmp___0 = oid_to_hex(old_oid);
  strbuf_addf(& sb___6, (char const   *)"%s %s %s", tmp___0, tmp, committer);
  if (msg___5) {
    if (*msg___5) {
      strbuf_addch(& sb___6, '\t');
      strbuf_addstr(& sb___6, msg___5);
    }
  }
  strbuf_addch(& sb___6, '\n');
  tmp___1 = write_in_full(fd, (void const   *)sb___6.buf, sb___6.len);
  if (tmp___1 < 0L) {
    ret___67 = -1;
  }
  strbuf_release(& sb___6);
  return (ret___67);
}
}
static int files_log_ref_write(struct files_ref_store *refs___0 , char const   *refname ,
                               struct object_id  const  *old_oid , struct object_id  const  *new_oid ,
                               char const   *msg___5 , int flags___0 , struct strbuf *err___4 )
{
  int logfd ;
  int result___0 ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  struct strbuf sb___6 ;
  int save_errno ;
  int *tmp___2 ;
  char *tmp___3 ;
  struct strbuf sb___7 ;
  int save_errno___0 ;
  int *tmp___4 ;
  char *tmp___5 ;
  int tmp___6 ;

  {
  if ((int )log_all_ref_updates == -1) {
    tmp___0 = is_bare_repository();
    if (tmp___0) {
      log_all_ref_updates = (enum log_refs_config )0;
    } else {
      log_all_ref_updates = (enum log_refs_config )1;
    }
  }
  result___0 = log_ref_setup(refs___0, refname, flags___0 & (1 << 1), & logfd, err___4);
  if (result___0) {
    return (result___0);
  }
  if (logfd < 0) {
    return (0);
  }
  tmp___1 = git_committer_info(0);
  result___0 = log_ref_write_fd(logfd, old_oid, new_oid, tmp___1, msg___5);
  if (result___0) {
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    tmp___2 = __errno_location();
    save_errno = *tmp___2;
    files_reflog_path(refs___0, & sb___6, refname);
    tmp___3 = strerror(save_errno);
    strbuf_addf(err___4, (char const   *)"unable to append to \'%s\': %s", sb___6.buf,
                tmp___3);
    strbuf_release(& sb___6);
    close(logfd);
    return (-1);
  }
  tmp___6 = close(logfd);
  if (tmp___6) {
    sb___7.alloc = 0UL;
    sb___7.len = 0UL;
    sb___7.buf = strbuf_slopbuf;
    tmp___4 = __errno_location();
    save_errno___0 = *tmp___4;
    files_reflog_path(refs___0, & sb___7, refname);
    tmp___5 = strerror(save_errno___0);
    strbuf_addf(err___4, (char const   *)"unable to append to \'%s\': %s", sb___7.buf,
                tmp___5);
    strbuf_release(& sb___7);
    return (-1);
  }
  return (0);
}
}
static char term  =    (char )'\n';
static int write_ref_to_lockfile(struct ref_lock *lock___0 , struct object_id  const  *oid ,
                                 int skip_oid_verification , struct strbuf *err___4 )
{
  struct object *o ;
  int fd ;
  char *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char *tmp___3 ;
  ssize_t tmp___4 ;
  ssize_t tmp___5 ;
  int tmp___6 ;

  {
  if (! skip_oid_verification) {
    o = parse_object(the_repository, oid);
    if (! o) {
      tmp = oid_to_hex(oid);
      strbuf_addf(err___4, (char const   *)"trying to write ref \'%s\' with nonexistent object %s",
                  lock___0->ref_name, tmp);
      unlock_ref(lock___0);
      return (-1);
    }
    if (o->type != 1U) {
      tmp___1 = is_branch((char const   *)lock___0->ref_name);
      if (tmp___1) {
        tmp___0 = oid_to_hex(oid);
        strbuf_addf(err___4, (char const   *)"trying to write non-commit object %s to branch \'%s\'",
                    tmp___0, lock___0->ref_name);
        unlock_ref(lock___0);
        return (-1);
      }
    }
  }
  fd = get_lock_file_fd(& lock___0->lk);
  tmp___3 = oid_to_hex(oid);
  tmp___4 = write_in_full(fd, (void const   *)tmp___3, (size_t )(the_repository->hash_algo)->hexsz);
  if (tmp___4 < 0L) {
    tmp___2 = get_lock_file_path(& lock___0->lk);
    strbuf_addf(err___4, (char const   *)"couldn\'t write \'%s\'", tmp___2);
    unlock_ref(lock___0);
    return (-1);
  } else {
    tmp___5 = write_in_full(fd, (void const   *)(& term), (size_t )1);
    if (tmp___5 < 0L) {
      tmp___2 = get_lock_file_path(& lock___0->lk);
      strbuf_addf(err___4, (char const   *)"couldn\'t write \'%s\'", tmp___2);
      unlock_ref(lock___0);
      return (-1);
    } else {
      tmp___6 = close_ref_gently(lock___0);
      if (tmp___6 < 0) {
        tmp___2 = get_lock_file_path(& lock___0->lk);
        strbuf_addf(err___4, (char const   *)"couldn\'t write \'%s\'", tmp___2);
        unlock_ref(lock___0);
        return (-1);
      }
    }
  }
  return (0);
}
}
static int commit_ref_update(struct files_ref_store *refs___0 , struct ref_lock *lock___0 ,
                             struct object_id  const  *oid , char const   *logmsg ,
                             struct strbuf *err___4 )
{
  char *old_msg ;
  char *tmp ;
  int tmp___0 ;
  int head_flag ;
  char const   *head_ref___0 ;
  int ignore_errno ;
  struct strbuf log_err ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  files_assert_main_repository(refs___0, (char const   *)"commit_ref_update");
  clear_loose_ref_cache(refs___0);
  tmp___0 = files_log_ref_write(refs___0, (char const   *)lock___0->ref_name, (struct object_id  const  *)(& lock___0->old_oid),
                                oid, logmsg, 0, err___4);
  if (tmp___0) {
    tmp = strbuf_detach(err___4, (size_t *)((void *)0));
    old_msg = tmp;
    strbuf_addf(err___4, (char const   *)"cannot update the ref \'%s\': %s", lock___0->ref_name,
                old_msg);
    free((void *)old_msg);
    unlock_ref(lock___0);
    return (-1);
  }
  tmp___3 = strcmp((char const   *)lock___0->ref_name, (char const   *)"HEAD");
  if (tmp___3 != 0) {
    head_ref___0 = refs_resolve_ref_unsafe(& refs___0->base, (char const   *)"HEAD",
                                           0x01, (struct object_id *)((void *)0),
                                           & head_flag, & ignore_errno);
    if (head_ref___0) {
      if (head_flag & 0x01) {
        tmp___2 = strcmp(head_ref___0, (char const   *)lock___0->ref_name);
        if (! tmp___2) {
          log_err.alloc = 0UL;
          log_err.len = 0UL;
          log_err.buf = strbuf_slopbuf;
          tmp___1 = files_log_ref_write(refs___0, (char const   *)"HEAD", (struct object_id  const  *)(& lock___0->old_oid),
                                        oid, logmsg, 0, & log_err);
          if (tmp___1) {
            error((char const   *)"%s", log_err.buf);
            const_error();
            strbuf_release(& log_err);
          }
        }
      }
    }
  }
  tmp___4 = commit_ref(lock___0);
  if (tmp___4) {
    strbuf_addf(err___4, (char const   *)"couldn\'t set \'%s\'", lock___0->ref_name);
    unlock_ref(lock___0);
    return (-1);
  }
  unlock_ref(lock___0);
  return (0);
}
}
static int create_ref_symlink(struct ref_lock *lock___0 , char const   *target )
{
  int ret___67 ;
  char *ref_path ;
  char *tmp ;

  {
  ret___67 = -1;
  tmp = get_locked_file_path(& lock___0->lk);
  ref_path = tmp;
  unlink((char const   *)ref_path);
  ret___67 = symlink(target, (char const   *)ref_path);
  free((void *)ref_path);
  if (ret___67) {
    fprintf(stderr, (char const   *)"no symlink - falling back to symbolic ref\n");
  }
  return (ret___67);
}
}
static void update_symref_reflog(struct files_ref_store *refs___0 , struct ref_lock *lock___0 ,
                                 char const   *refname , char const   *target , char const   *logmsg )
{
  struct strbuf err___4 ;
  struct object_id new_oid ;
  int ignore_errno ;
  char const   *tmp ;
  int tmp___0 ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  if (logmsg) {
    tmp = refs_resolve_ref_unsafe(& refs___0->base, target, 0x01, & new_oid, (int *)((void *)0),
                                  & ignore_errno);
    if (tmp) {
      tmp___0 = files_log_ref_write(refs___0, refname, (struct object_id  const  *)(& lock___0->old_oid),
                                    (struct object_id  const  *)(& new_oid), logmsg,
                                    0, & err___4);
      if (tmp___0) {
        error((char const   *)"%s", err___4.buf);
        const_error();
        strbuf_release(& err___4);
      }
    }
  }
  return;
}
}
static int create_symref_locked(struct files_ref_store *refs___0 , struct ref_lock *lock___0 ,
                                char const   *refname , char const   *target , char const   *logmsg )
{
  int tmp ;
  int *tmp___0 ;
  char *tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  FILE *tmp___4 ;
  FILE *tmp___5 ;
  int *tmp___6 ;
  char *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  if (prefer_symlink_refs) {
    tmp = create_ref_symlink(lock___0, target);
    if (! tmp) {
      update_symref_reflog(refs___0, lock___0, refname, target, logmsg);
      return (0);
    }
  }
  tmp___4 = fdopen_lock_file(& lock___0->lk, (char const   *)"w");
  if (! tmp___4) {
    tmp___0 = __errno_location();
    tmp___1 = strerror(*tmp___0);
    tmp___2 = get_lock_file_path(& lock___0->lk);
    error((char const   *)"unable to fdopen %s: %s", tmp___2, tmp___1);
    tmp___3 = const_error();
    return (tmp___3);
  }
  update_symref_reflog(refs___0, lock___0, refname, target, logmsg);
  tmp___5 = get_lock_file_fp(& lock___0->lk);
  fprintf(tmp___5, (char const   *)"ref: %s\n", target);
  tmp___9 = commit_ref(lock___0);
  if (tmp___9 < 0) {
    tmp___6 = __errno_location();
    tmp___7 = strerror(*tmp___6);
    error((char const   *)"unable to write symref for %s: %s", refname, tmp___7);
    tmp___8 = const_error();
    return (tmp___8);
  }
  return (0);
}
}
static int files_create_symref(struct ref_store *ref_store , char const   *refname ,
                               char const   *target , char const   *logmsg )
{
  struct files_ref_store *refs___0 ;
  struct files_ref_store *tmp ;
  struct strbuf err___4 ;
  struct ref_lock *lock___0 ;
  int ret___67 ;

  {
  tmp = files_downcast(ref_store, (unsigned int )(1 << 1), (char const   *)"create_symref");
  refs___0 = tmp;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  lock___0 = lock_ref_oid_basic(refs___0, refname, & err___4);
  if (! lock___0) {
    error((char const   *)"%s", err___4.buf);
    const_error();
    strbuf_release(& err___4);
    return (-1);
  }
  ret___67 = create_symref_locked(refs___0, lock___0, refname, target, logmsg);
  unlock_ref(lock___0);
  return (ret___67);
}
}
static int files_reflog_exists(struct ref_store *ref_store , char const   *refname )
{
  struct files_ref_store *refs___0 ;
  struct files_ref_store *tmp ;
  struct strbuf sb___6 ;
  struct stat st ;
  int ret___67 ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = files_downcast(ref_store, 1U, (char const   *)"reflog_exists");
  refs___0 = tmp;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  files_reflog_path(refs___0, & sb___6, refname);
  tmp___0 = lstat((char const   *)sb___6.buf, & st);
  if (tmp___0) {
    tmp___1 = 0;
  } else
  if ((st.st_mode & 61440U) == 32768U) {
    tmp___1 = 1;
  } else {
    tmp___1 = 0;
  }
  ret___67 = tmp___1;
  strbuf_release(& sb___6);
  return (ret___67);
}
}
static int files_delete_reflog(struct ref_store *ref_store , char const   *refname )
{
  struct files_ref_store *refs___0 ;
  struct files_ref_store *tmp ;
  struct strbuf sb___6 ;
  int ret___67 ;

  {
  tmp = files_downcast(ref_store, (unsigned int )(1 << 1), (char const   *)"delete_reflog");
  refs___0 = tmp;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  files_reflog_path(refs___0, & sb___6, refname);
  ret___67 = remove_path((char const   *)sb___6.buf);
  strbuf_release(& sb___6);
  return (ret___67);
}
}
static int show_one_reflog_ent(struct strbuf *sb___6 , each_reflog_ent_fn *fn , void *cb_data )
{
  struct object_id ooid ;
  struct object_id noid ;
  char *email_end ;
  char *message___0 ;
  timestamp_t timestamp___0 ;
  int tz ;
  char const   *p___0 ;
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  long tmp___3 ;
  int tmp___4 ;

  {
  p___0 = (char const   *)sb___6->buf;
  if (! sb___6->len) {
    return (0);
  } else
  if ((int )*(sb___6->buf + (sb___6->len - 1UL)) != 10) {
    return (0);
  } else {
    tmp = parse_oid_hex(p___0, & ooid, & p___0);
    if (tmp) {
      return (0);
    } else {
      tmp___0 = p___0;
      p___0 ++;
      if ((int const   )*tmp___0 != 32) {
        return (0);
      } else {
        tmp___1 = parse_oid_hex(p___0, & noid, & p___0);
        if (tmp___1) {
          return (0);
        } else {
          tmp___2 = p___0;
          p___0 ++;
          if ((int const   )*tmp___2 != 32) {
            return (0);
          } else {
            email_end = strchr(p___0, '>');
            if (email_end) {
              if ((int )*(email_end + 1) != 32) {
                return (0);
              } else {
                timestamp___0 = strtoumax((char const   *)(email_end + 2), & message___0,
                                          10);
                if (timestamp___0) {
                  if (! message___0) {
                    return (0);
                  } else
                  if ((int )*(message___0 + 0) != 32) {
                    return (0);
                  } else
                  if ((int )*(message___0 + 1) != 43) {
                    if ((int )*(message___0 + 1) != 45) {
                      return (0);
                    } else {
                      goto _L;
                    }
                  } else
                  _L: /* CIL Label */
                  if (! (((int const   )sane_ctype[(unsigned char )*(message___0 + 2)] & 2) != 0)) {
                    return (0);
                  } else
                  if (! (((int const   )sane_ctype[(unsigned char )*(message___0 + 3)] & 2) != 0)) {
                    return (0);
                  } else
                  if (! (((int const   )sane_ctype[(unsigned char )*(message___0 + 4)] & 2) != 0)) {
                    return (0);
                  } else
                  if (! (((int const   )sane_ctype[(unsigned char )*(message___0 + 5)] & 2) != 0)) {
                    return (0);
                  }
                } else {
                  return (0);
                }
              }
            } else {
              return (0);
            }
          }
        }
      }
    }
  }
  *(email_end + 1) = (char )'\000';
  tmp___3 = strtol((char const   * __restrict  )(message___0 + 1), (char ** __restrict  )((void *)0),
                   10);
  tz = (int )tmp___3;
  if ((int )*(message___0 + 6) != 9) {
    message___0 += 6;
  } else {
    message___0 += 7;
  }
  tmp___4 = (*fn)(& ooid, & noid, p___0, timestamp___0, tz, (char const   *)message___0,
                  cb_data);
  return (tmp___4);
}
}
static char *find_beginning_of_line(char *bob , char *scan )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )bob < (unsigned long )scan) {
      scan --;
      if (! ((int )*scan != 10)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (scan);
}
}
static int files_for_each_reflog_ent_reverse(struct ref_store *ref_store , char const   *refname ,
                                             each_reflog_ent_fn *fn , void *cb_data )
{
  struct files_ref_store *refs___0 ;
  struct files_ref_store *tmp ;
  struct strbuf sb___6 ;
  FILE *logfp ;
  long pos ;
  int ret___67 ;
  int at_tail ;
  int *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  int cnt ;
  size_t nread ;
  char buf___19[8192] ;
  char *endp ;
  char *scanp ;
  int *tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;
  int *tmp___6 ;
  char *tmp___7 ;
  char *bp ;

  {
  tmp = files_downcast(ref_store, 1U, (char const   *)"for_each_reflog_ent_reverse");
  refs___0 = tmp;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  ret___67 = 0;
  at_tail = 1;
  files_reflog_path(refs___0, & sb___6, refname);
  logfp = git_fopen((char const   *)sb___6.buf, (char const   *)"r");
  strbuf_release(& sb___6);
  if (! logfp) {
    return (-1);
  }
  tmp___2 = fseek(logfp, 0L, 2);
  if (tmp___2 < 0) {
    tmp___0 = __errno_location();
    tmp___1 = strerror(*tmp___0);
    error((char const   *)"cannot seek back reflog for %s: %s", refname, tmp___1);
    ret___67 = const_error();
  }
  pos = ftell(logfp);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ret___67) {
      if (! (0L < pos)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if (sizeof(buf___19) < (unsigned long )pos) {
      cnt = (int )sizeof(buf___19);
    } else {
      cnt = (int )pos;
    }
    tmp___5 = fseek(logfp, pos - (long )cnt, 0);
    if (tmp___5) {
      tmp___3 = __errno_location();
      tmp___4 = strerror(*tmp___3);
      error((char const   *)"cannot seek back reflog for %s: %s", refname, tmp___4);
      ret___67 = const_error();
      goto while_break;
    }
    nread = fread((void *)(buf___19), (size_t )cnt, (size_t )1, logfp);
    if (nread != 1UL) {
      tmp___6 = __errno_location();
      tmp___7 = strerror(*tmp___6);
      error((char const   *)"cannot read %d bytes from reflog for %s: %s", cnt, refname,
            tmp___7);
      ret___67 = const_error();
      goto while_break;
    }
    pos -= (long )cnt;
    endp = buf___19 + cnt;
    scanp = endp;
    if (at_tail) {
      if ((int )*(scanp + -1) == 10) {
        scanp --;
      }
    }
    at_tail = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned long )(buf___19) < (unsigned long )scanp)) {
        goto while_break___0;
      }
      bp = find_beginning_of_line(buf___19, scanp);
      if ((int )*bp == 10) {
        strbuf_splice(& sb___6, (size_t )0, (size_t )0, (void const   *)(bp + 1),
                      (size_t )(endp - (bp + 1)));
        scanp = bp;
        endp = bp + 1;
        ret___67 = show_one_reflog_ent(& sb___6, fn, cb_data);
        strbuf_setlen___148(& sb___6, (size_t )0);
        if (ret___67) {
          goto while_break___0;
        }
      } else
      if (! pos) {
        strbuf_splice(& sb___6, (size_t )0, (size_t )0, (void const   *)(buf___19),
                      (size_t )(endp - buf___19));
        ret___67 = show_one_reflog_ent(& sb___6, fn, cb_data);
        strbuf_setlen___148(& sb___6, (size_t )0);
        goto while_break___0;
      }
      if ((unsigned long )bp == (unsigned long )(buf___19)) {
        strbuf_splice(& sb___6, (size_t )0, (size_t )0, (void const   *)(buf___19),
                      (size_t )(endp - buf___19));
        goto while_break___0;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (! ret___67) {
    if (sb___6.len) {
      BUG_fl((char const   *)"refs/files-backend.c", 2114, (char const   *)"reverse reflog parser had leftover data");
    }
  }
  fclose(logfp);
  strbuf_release(& sb___6);
  return (ret___67);
}
}
static int files_for_each_reflog_ent(struct ref_store *ref_store , char const   *refname ,
                                     each_reflog_ent_fn *fn , void *cb_data )
{
  struct files_ref_store *refs___0 ;
  struct files_ref_store *tmp ;
  FILE *logfp ;
  struct strbuf sb___6 ;
  int ret___67 ;
  int tmp___0 ;

  {
  tmp = files_downcast(ref_store, 1U, (char const   *)"for_each_reflog_ent");
  refs___0 = tmp;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  ret___67 = 0;
  files_reflog_path(refs___0, & sb___6, refname);
  logfp = git_fopen((char const   *)sb___6.buf, (char const   *)"r");
  strbuf_release(& sb___6);
  if (! logfp) {
    return (-1);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ret___67) {
      tmp___0 = strbuf_getwholeline(& sb___6, logfp, '\n');
      if (tmp___0) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    ret___67 = show_one_reflog_ent(& sb___6, fn, cb_data);
  }
  while_break: /* CIL Label */ ;
  }
  fclose(logfp);
  strbuf_release(& sb___6);
  return (ret___67);
}
}
static int files_reflog_iterator_advance(struct ref_iterator *ref_iterator )
{
  struct files_reflog_iterator *iter___0 ;
  struct dir_iterator *diter ;
  int ok ;
  int ignore_errno ;
  int flags___0 ;
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  iter___0 = (struct files_reflog_iterator *)ref_iterator;
  diter = iter___0->dir_iterator;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    ok = dir_iterator_advance(diter);
    if (! (ok == 0)) {
      goto while_break;
    }
    if (! ((diter->st.st_mode & 61440U) == 32768U)) {
      goto while_continue;
    }
    if ((int const   )*(diter->__xpg_basename + 0) == 46) {
      goto while_continue;
    }
    tmp = ends_with(diter->__xpg_basename, (char const   *)".lock");
    if (tmp) {
      goto while_continue;
    }
    tmp___0 = refs_resolve_ref_unsafe(iter___0->ref_store, diter->relative_path, 0,
                                      & iter___0->oid, & flags___0, & ignore_errno);
    if (! tmp___0) {
      error((char const   *)"bad ref for %s", diter->path.buf);
      const_error();
      goto while_continue;
    }
    iter___0->base.refname = diter->relative_path;
    iter___0->base.oid = (struct object_id  const  *)(& iter___0->oid);
    iter___0->base.flags = (unsigned int )flags___0;
    return (0);
  }
  while_break: /* CIL Label */ ;
  }
  iter___0->dir_iterator = (struct dir_iterator *)((void *)0);
  tmp___1 = ref_iterator_abort(ref_iterator);
  if (tmp___1 == -2) {
    ok = -2;
  }
  return (ok);
}
}
static int files_reflog_iterator_peel(struct ref_iterator *ref_iterator , struct object_id *peeled )
{


  {
  BUG_fl((char const   *)"refs/files-backend.c", 2194, (char const   *)"ref_iterator_peel() called for reflog_iterator");
}
}
static int files_reflog_iterator_abort(struct ref_iterator *ref_iterator )
{
  struct files_reflog_iterator *iter___0 ;
  int ok ;

  {
  iter___0 = (struct files_reflog_iterator *)ref_iterator;
  ok = -1;
  if (iter___0->dir_iterator) {
    ok = dir_iterator_abort(iter___0->dir_iterator);
  }
  base_ref_iterator_free(ref_iterator);
  return (ok);
}
}
static struct ref_iterator_vtable files_reflog_iterator_vtable  =    {& files_reflog_iterator_advance, & files_reflog_iterator_peel, & files_reflog_iterator_abort};
static struct ref_iterator *reflog_iterator_begin(struct ref_store *ref_store , char const   *gitdir___0 )
{
  struct dir_iterator *diter ;
  struct files_reflog_iterator *iter___0 ;
  struct ref_iterator *ref_iterator ;
  struct strbuf sb___6 ;
  struct ref_iterator *tmp ;
  void *tmp___0 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  strbuf_addf(& sb___6, (char const   *)"%s/logs", gitdir___0);
  diter = dir_iterator_begin((char const   *)sb___6.buf, 0U);
  if (! diter) {
    strbuf_release(& sb___6);
    tmp = empty_ref_iterator_begin();
    return (tmp);
  }
  tmp___0 = xcalloc((size_t )1, sizeof(*iter___0));
  iter___0 = (struct files_reflog_iterator *)tmp___0;
  ref_iterator = & iter___0->base;
  base_ref_iterator_init(ref_iterator, & files_reflog_iterator_vtable, 0);
  iter___0->dir_iterator = diter;
  iter___0->ref_store = ref_store;
  strbuf_release(& sb___6);
  return (ref_iterator);
}
}
static enum iterator_selection reflog_iterator_select(struct ref_iterator *iter_worktree ,
                                                      struct ref_iterator *iter_common ,
                                                      void *cb_data )
{
  enum ref_type tmp ;

  {
  if (iter_worktree) {
    return ((enum iterator_selection )2);
  } else
  if (iter_common) {
    tmp = ref_type(iter_common->refname);
    if ((unsigned int )tmp == 4U) {
      return ((enum iterator_selection )3);
    }
    return ((enum iterator_selection )4);
  } else {
    return ((enum iterator_selection )-1);
  }
}
}
static struct ref_iterator *files_reflog_iterator_begin(struct ref_store *ref_store )
{
  struct files_ref_store *refs___0 ;
  struct files_ref_store *tmp ;
  struct ref_iterator *tmp___0 ;
  struct ref_iterator *tmp___1 ;
  struct ref_iterator *tmp___2 ;
  struct ref_iterator *tmp___3 ;
  int tmp___4 ;

  {
  tmp = files_downcast(ref_store, 1U, (char const   *)"reflog_iterator_begin");
  refs___0 = tmp;
  tmp___4 = strcmp((char const   *)refs___0->base.gitdir, (char const   *)refs___0->gitcommondir);
  if (tmp___4) {
    tmp___1 = reflog_iterator_begin(ref_store, (char const   *)refs___0->gitcommondir);
    tmp___2 = reflog_iterator_begin(ref_store, (char const   *)refs___0->base.gitdir);
    tmp___3 = merge_ref_iterator_begin(0, tmp___2, tmp___1, & reflog_iterator_select,
                                       (void *)refs___0);
    return (tmp___3);
  } else {
    tmp___0 = reflog_iterator_begin(ref_store, (char const   *)refs___0->gitcommondir);
    return (tmp___0);
  }
}
}
static int split_head_update(struct ref_update *update___1 , struct ref_transaction *transaction___0 ,
                             char const   *head_ref___0 , struct string_list *affected_refnames ,
                             struct strbuf *err___4 )
{
  struct string_list_item *item___0 ;
  struct ref_update *new_update ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (update___1->flags & (unsigned int )(1 << 7)) {
    return (0);
  } else
  if (update___1->flags & (unsigned int )(1 << 4)) {
    return (0);
  } else
  if (update___1->flags & (unsigned int )(1 << 8)) {
    return (0);
  }
  tmp = strcmp(update___1->refname, head_ref___0);
  if (tmp) {
    return (0);
  }
  tmp___0 = string_list_has_string((struct string_list  const  *)affected_refnames,
                                   (char const   *)"HEAD");
  if (tmp___0) {
    strbuf_addf(err___4, (char const   *)"multiple updates for \'HEAD\' (including one via its referent \'%s\') are not allowed",
                update___1->refname);
    return (-1);
  }
  new_update = ref_transaction_add_update(transaction___0, (char const   *)"HEAD",
                                          (update___1->flags | (unsigned int )(1 << 7)) | 1U,
                                          (struct object_id  const  *)(& update___1->new_oid),
                                          (struct object_id  const  *)(& update___1->old_oid),
                                          (char const   *)update___1->msg);
  tmp___1 = strcmp(new_update->refname, (char const   *)"HEAD");
  if (tmp___1) {
    BUG_fl((char const   *)"refs/files-backend.c", 2331, (char const   *)"%s unexpectedly not \'HEAD\'",
           new_update->refname);
  }
  item___0 = string_list_insert(affected_refnames, new_update->refname);
  item___0->util = (void *)new_update;
  return (0);
}
}
static int split_symref_update(struct ref_update *update___1 , char const   *referent ,
                               struct ref_transaction *transaction___0 , struct string_list *affected_refnames ,
                               struct strbuf *err___4 )
{
  struct string_list_item *item___0 ;
  struct ref_update *new_update ;
  unsigned int new_flags ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = string_list_has_string((struct string_list  const  *)affected_refnames, referent);
  if (tmp) {
    strbuf_addf(err___4, (char const   *)"multiple updates for \'%s\' (including one via symref \'%s\') are not allowed",
                referent, update___1->refname);
    return (-1);
  }
  new_flags = update___1->flags;
  tmp___0 = strcmp(update___1->refname, (char const   *)"HEAD");
  if (! tmp___0) {
    new_flags |= (unsigned int )(1 << 8);
  }
  new_update = ref_transaction_add_update(transaction___0, referent, new_flags, (struct object_id  const  *)(& update___1->new_oid),
                                          (struct object_id  const  *)(& update___1->old_oid),
                                          (char const   *)update___1->msg);
  new_update->parent_update = update___1;
  update___1->flags |= (unsigned int )((1 << 7) | 1);
  update___1->flags &= (unsigned int )(~ (1 << 3));
  item___0 = string_list_insert(affected_refnames, new_update->refname);
  if (item___0->util) {
    BUG_fl((char const   *)"refs/files-backend.c", 2408, (char const   *)"%s unexpectedly found in affected_refnames",
           new_update->refname);
  }
  item___0->util = (void *)new_update;
  return (0);
}
}
static char const   *original_update_refname(struct ref_update *update___1 )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! update___1->parent_update) {
      goto while_break;
    }
    update___1 = update___1->parent_update;
  }
  while_break: /* CIL Label */ ;
  }
  return (update___1->refname);
}
}
static int check_old_oid(struct ref_update *update___1 , struct object_id *oid , struct strbuf *err___4 )
{
  int tmp ;
  char const   *tmp___0 ;
  char *tmp___1 ;
  char const   *tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;
  char const   *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  if (! (update___1->flags & (unsigned int )(1 << 3))) {
    return (0);
  } else {
    tmp = oideq((struct object_id  const  *)oid, (struct object_id  const  *)(& update___1->old_oid));
    if (tmp) {
      return (0);
    }
  }
  tmp___7 = is_null_oid((struct object_id  const  *)(& update___1->old_oid));
  if (tmp___7) {
    tmp___0 = original_update_refname(update___1);
    strbuf_addf(err___4, (char const   *)"cannot lock ref \'%s\': reference already exists",
                tmp___0);
  } else {
    tmp___6 = is_null_oid((struct object_id  const  *)oid);
    if (tmp___6) {
      tmp___1 = oid_to_hex((struct object_id  const  *)(& update___1->old_oid));
      tmp___2 = original_update_refname(update___1);
      strbuf_addf(err___4, (char const   *)"cannot lock ref \'%s\': reference is missing but expected %s",
                  tmp___2, tmp___1);
    } else {
      tmp___3 = oid_to_hex((struct object_id  const  *)(& update___1->old_oid));
      tmp___4 = oid_to_hex((struct object_id  const  *)oid);
      tmp___5 = original_update_refname(update___1);
      strbuf_addf(err___4, (char const   *)"cannot lock ref \'%s\': is at %s but expected %s",
                  tmp___5, tmp___4, tmp___3);
    }
  }
  return (-1);
}
}
static int lock_ref_for_update(struct files_ref_store *refs___0 , struct ref_update *update___1 ,
                               struct ref_transaction *transaction___0 , char const   *head_ref___0 ,
                               struct string_list *affected_refnames , struct strbuf *err___4 )
{
  struct strbuf referent ;
  int mustexist ;
  int tmp ;
  int tmp___0 ;
  int ret___67 ;
  struct ref_lock *lock___0 ;
  int tmp___1 ;
  char *reason ;
  char const   *tmp___2 ;
  int ignore_errno ;
  char const   *tmp___3 ;
  int tmp___4 ;
  char const   *tmp___5 ;
  struct ref_update *parent_update ;
  int tmp___6 ;
  struct ref_lock *parent_lock ;
  char *write_err ;
  char *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  referent.alloc = 0UL;
  referent.len = 0UL;
  referent.buf = strbuf_slopbuf;
  if (update___1->flags & (unsigned int )(1 << 3)) {
    tmp = is_null_oid((struct object_id  const  *)(& update___1->old_oid));
    if (tmp) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
  } else {
    tmp___0 = 0;
  }
  mustexist = tmp___0;
  ret___67 = 0;
  files_assert_main_repository(refs___0, (char const   *)"lock_ref_for_update");
  if (update___1->flags & (unsigned int )(1 << 2)) {
    tmp___1 = is_null_oid((struct object_id  const  *)(& update___1->new_oid));
    if (tmp___1) {
      update___1->flags |= (unsigned int )(1 << 5);
    }
  }
  if (head_ref___0) {
    ret___67 = split_head_update(update___1, transaction___0, head_ref___0, affected_refnames,
                                 err___4);
    if (ret___67) {
      goto out;
    }
  }
  ret___67 = lock_raw_ref(refs___0, update___1->refname, mustexist, (struct string_list  const  *)affected_refnames,
                          & lock___0, & referent, & update___1->type, err___4);
  if (ret___67) {
    reason = strbuf_detach(err___4, (size_t *)((void *)0));
    tmp___2 = original_update_refname(update___1);
    strbuf_addf(err___4, (char const   *)"cannot lock ref \'%s\': %s", tmp___2, reason);
    free((void *)reason);
    goto out;
  }
  update___1->backend_data = (void *)lock___0;
  if (update___1->type & 1U) {
    if (update___1->flags & 1U) {
      tmp___5 = refs_resolve_ref_unsafe(& refs___0->base, (char const   *)referent.buf,
                                        0, & lock___0->old_oid, (int *)((void *)0),
                                        & ignore_errno);
      if (tmp___5) {
        tmp___4 = check_old_oid(update___1, & lock___0->old_oid, err___4);
        if (tmp___4) {
          ret___67 = -2;
          goto out;
        }
      } else
      if (update___1->flags & (unsigned int )(1 << 3)) {
        tmp___3 = original_update_refname(update___1);
        strbuf_addf(err___4, (char const   *)"cannot lock ref \'%s\': error reading reference",
                    tmp___3);
        ret___67 = -2;
        goto out;
      }
    } else {
      ret___67 = split_symref_update(update___1, (char const   *)referent.buf, transaction___0,
                                     affected_refnames, err___4);
      if (ret___67) {
        goto out;
      }
    }
  } else {
    tmp___6 = check_old_oid(update___1, & lock___0->old_oid, err___4);
    if (tmp___6) {
      ret___67 = -2;
      goto out;
    }
    parent_update = update___1->parent_update;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! parent_update) {
        goto while_break;
      }
      parent_lock = (struct ref_lock *)parent_update->backend_data;
      oidcpy(& parent_lock->old_oid, (struct object_id  const  *)(& lock___0->old_oid));
      parent_update = parent_update->parent_update;
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (update___1->flags & (unsigned int )(1 << 2)) {
    if (! (update___1->flags & (unsigned int )(1 << 5))) {
      if (! (update___1->flags & (unsigned int )(1 << 7))) {
        if (! (update___1->type & 1U)) {
          tmp___9 = oideq((struct object_id  const  *)(& lock___0->old_oid), (struct object_id  const  *)(& update___1->new_oid));
          if (! tmp___9) {
            goto _L;
          }
        } else {
          _L: /* CIL Label */
          tmp___8 = write_ref_to_lockfile(lock___0, (struct object_id  const  *)(& update___1->new_oid),
                                          (int )(update___1->flags & (unsigned int )(1 << 10)),
                                          err___4);
          if (tmp___8) {
            tmp___7 = strbuf_detach(err___4, (size_t *)((void *)0));
            write_err = tmp___7;
            update___1->backend_data = (void *)0;
            strbuf_addf(err___4, (char const   *)"cannot update ref \'%s\': %s", update___1->refname,
                        write_err);
            free((void *)write_err);
            ret___67 = -2;
            goto out;
          } else {
            update___1->flags |= (unsigned int )(1 << 6);
          }
        }
      }
    }
  }
  if (! (update___1->flags & (unsigned int )(1 << 6))) {
    tmp___10 = close_ref_gently(lock___0);
    if (tmp___10) {
      strbuf_addf(err___4, (char const   *)"couldn\'t close \'%s.lock\'", update___1->refname);
      ret___67 = -2;
      goto out;
    }
  }
  out:
  strbuf_release(& referent);
  return (ret___67);
}
}
static void files_transaction_cleanup(struct files_ref_store *refs___0 , struct ref_transaction *transaction___0 )
{
  size_t i ;
  struct files_transaction_backend_data *backend_data ;
  struct strbuf err___4 ;
  struct ref_update *update___1 ;
  struct ref_lock *lock___0 ;
  int tmp ;

  {
  backend_data = (struct files_transaction_backend_data *)transaction___0->backend_data;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < transaction___0->nr)) {
      goto while_break;
    }
    update___1 = *(transaction___0->updates + i);
    lock___0 = (struct ref_lock *)update___1->backend_data;
    if (lock___0) {
      unlock_ref(lock___0);
      update___1->backend_data = (void *)0;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (backend_data) {
    if (backend_data->packed_transaction) {
      tmp = ref_transaction_abort(backend_data->packed_transaction, & err___4);
      if (tmp) {
        error((char const   *)"error aborting transaction: %s", err___4.buf);
        const_error();
        strbuf_release(& err___4);
      }
    }
    if (backend_data->packed_refs_locked) {
      packed_refs_unlock(refs___0->packed_ref_store);
    }
    free((void *)backend_data);
  }
  transaction___0->state = (enum ref_transaction_state )2;
  return;
}
}
static int files_transaction_prepare(struct ref_store *ref_store , struct ref_transaction *transaction___0 ,
                                     struct strbuf *err___4 )
{
  struct files_ref_store *refs___0 ;
  struct files_ref_store *tmp ;
  size_t i ;
  int ret___67 ;
  struct string_list affected_refnames ;
  char *head_ref___0 ;
  int head_type ;
  struct files_transaction_backend_data *backend_data ;
  struct ref_transaction *packed_transaction ;
  void *tmp___0 ;
  struct ref_update *update___1 ;
  struct string_list_item *item___0 ;
  struct string_list_item *tmp___1 ;
  int tmp___2 ;
  struct ref_update *update___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = files_downcast(ref_store, (unsigned int )(1 << 1), (char const   *)"ref_transaction_prepare");
  refs___0 = tmp;
  ret___67 = 0;
  affected_refnames.items = (struct string_list_item *)0;
  affected_refnames.nr = 0U;
  affected_refnames.alloc = 0U;
  affected_refnames.strdup_strings = 0U;
  affected_refnames.cmp = (int (*)(char const   * , char const   * ))0;
  head_ref___0 = (char *)((void *)0);
  packed_transaction = (struct ref_transaction *)((void *)0);
  assert((int )err___4);
  if (! transaction___0->nr) {
    goto cleanup;
  }
  tmp___0 = xcalloc((size_t )1, sizeof(*backend_data));
  backend_data = (struct files_transaction_backend_data *)tmp___0;
  transaction___0->backend_data = (void *)backend_data;
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < transaction___0->nr)) {
      goto while_break;
    }
    update___1 = *(transaction___0->updates + i);
    tmp___1 = string_list_append(& affected_refnames, update___1->refname);
    item___0 = tmp___1;
    if (update___1->flags & (unsigned int )(1 << 4)) {
      if (! (update___1->flags & 1U)) {
        BUG_fl((char const   *)"refs/files-backend.c", 2699, (char const   *)"REF_IS_PRUNING set without REF_NO_DEREF");
      }
    }
    item___0->util = (void *)update___1;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_sort(& affected_refnames);
  tmp___2 = ref_update_reject_duplicates(& affected_refnames, err___4);
  if (tmp___2) {
    ret___67 = -2;
    goto cleanup;
  }
  head_ref___0 = refs_resolve_refdup(ref_store, (char const   *)"HEAD", 0x02, (struct object_id *)((void *)0),
                                     & head_type);
  if (head_ref___0) {
    if (! (head_type & 0x01)) {
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        free((void *)head_ref___0);
        head_ref___0 = (char *)((void *)0);
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
    }
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < transaction___0->nr)) {
      goto while_break___1;
    }
    update___2 = *(transaction___0->updates + i);
    ret___67 = lock_ref_for_update(refs___0, update___2, transaction___0, (char const   *)head_ref___0,
                                   & affected_refnames, err___4);
    if (ret___67) {
      goto cleanup;
    }
    if (update___2->flags & (unsigned int )(1 << 5)) {
      if (! (update___2->flags & (unsigned int )(1 << 7))) {
        if (! (update___2->flags & (unsigned int )(1 << 4))) {
          if (! packed_transaction) {
            packed_transaction = ref_store_transaction_begin(refs___0->packed_ref_store,
                                                             err___4);
            if (! packed_transaction) {
              ret___67 = -2;
              goto cleanup;
            }
            backend_data->packed_transaction = packed_transaction;
          }
          ref_transaction_add_update(packed_transaction, update___2->refname, (unsigned int )((1 << 2) | 1),
                                     (struct object_id  const  *)(& update___2->new_oid),
                                     (struct object_id  const  *)((void *)0), (char const   *)((void *)0));
        }
      }
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  if (packed_transaction) {
    tmp___3 = packed_refs_lock(refs___0->packed_ref_store, 0, err___4);
    if (tmp___3) {
      ret___67 = -2;
      goto cleanup;
    }
    backend_data->packed_refs_locked = 1;
    tmp___5 = is_packed_transaction_needed(refs___0->packed_ref_store, packed_transaction);
    if (tmp___5) {
      ret___67 = ref_transaction_prepare(packed_transaction, err___4);
      if (ret___67) {
        ref_transaction_free(packed_transaction);
        backend_data->packed_transaction = (struct ref_transaction *)((void *)0);
      }
    } else {
      backend_data->packed_transaction = (struct ref_transaction *)((void *)0);
      tmp___4 = ref_transaction_abort(packed_transaction, err___4);
      if (tmp___4) {
        ret___67 = -2;
        goto cleanup;
      }
    }
  }
  cleanup:
  free((void *)head_ref___0);
  string_list_clear(& affected_refnames, 0);
  if (ret___67) {
    files_transaction_cleanup(refs___0, transaction___0);
  } else {
    transaction___0->state = (enum ref_transaction_state )1;
  }
  return (ret___67);
}
}
static int files_transaction_finish(struct ref_store *ref_store , struct ref_transaction *transaction___0 ,
                                    struct strbuf *err___4 )
{
  struct files_ref_store *refs___0 ;
  struct files_ref_store *tmp ;
  size_t i ;
  int ret___67 ;
  struct strbuf sb___6 ;
  struct files_transaction_backend_data *backend_data ;
  struct ref_transaction *packed_transaction ;
  struct ref_update *update___1 ;
  struct ref_lock *lock___0 ;
  char *old_msg ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  struct ref_update *update___2 ;
  int tmp___3 ;
  struct ref_update *update___3 ;
  struct ref_lock *lock___1 ;
  int tmp___4 ;
  struct ref_update *update___4 ;

  {
  tmp = files_downcast(ref_store, 0U, (char const   *)"ref_transaction_finish");
  refs___0 = tmp;
  ret___67 = 0;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  assert((int )err___4);
  if (! transaction___0->nr) {
    transaction___0->state = (enum ref_transaction_state )2;
    return (0);
  }
  backend_data = (struct files_transaction_backend_data *)transaction___0->backend_data;
  packed_transaction = backend_data->packed_transaction;
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < transaction___0->nr)) {
      goto while_break;
    }
    update___1 = *(transaction___0->updates + i);
    lock___0 = (struct ref_lock *)update___1->backend_data;
    if (update___1->flags & (unsigned int )(1 << 6)) {
      goto _L;
    } else
    if (update___1->flags & (unsigned int )(1 << 7)) {
      _L: /* CIL Label */
      tmp___1 = files_log_ref_write(refs___0, (char const   *)lock___0->ref_name,
                                    (struct object_id  const  *)(& lock___0->old_oid),
                                    (struct object_id  const  *)(& update___1->new_oid),
                                    (char const   *)update___1->msg, (int )update___1->flags,
                                    err___4);
      if (tmp___1) {
        tmp___0 = strbuf_detach(err___4, (size_t *)((void *)0));
        old_msg = tmp___0;
        strbuf_addf(err___4, (char const   *)"cannot update the ref \'%s\': %s", lock___0->ref_name,
                    old_msg);
        free((void *)old_msg);
        unlock_ref(lock___0);
        update___1->backend_data = (void *)0;
        ret___67 = -2;
        goto cleanup;
      }
    }
    if (update___1->flags & (unsigned int )(1 << 6)) {
      clear_loose_ref_cache(refs___0);
      tmp___2 = commit_ref(lock___0);
      if (tmp___2) {
        strbuf_addf(err___4, (char const   *)"couldn\'t set \'%s\'", lock___0->ref_name);
        unlock_ref(lock___0);
        update___1->backend_data = (void *)0;
        ret___67 = -2;
        goto cleanup;
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < transaction___0->nr)) {
      goto while_break___0;
    }
    update___2 = *(transaction___0->updates + i);
    if (update___2->flags & (unsigned int )(1 << 5)) {
      if (! (update___2->flags & (unsigned int )(1 << 7))) {
        if (! (update___2->flags & (unsigned int )(1 << 4))) {
          strbuf_setlen___148(& sb___6, (size_t )0);
          files_reflog_path(refs___0, & sb___6, update___2->refname);
          tmp___3 = unlink_or_warn((char const   *)sb___6.buf);
          if (! tmp___3) {
            try_remove_empty_parents(refs___0, update___2->refname, 2U);
          }
        }
      }
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (packed_transaction) {
    ret___67 = ref_transaction_commit(packed_transaction, err___4);
    ref_transaction_free(packed_transaction);
    packed_transaction = (struct ref_transaction *)((void *)0);
    backend_data->packed_transaction = (struct ref_transaction *)((void *)0);
    if (ret___67) {
      goto cleanup;
    }
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < transaction___0->nr)) {
      goto while_break___1;
    }
    update___3 = *(transaction___0->updates + i);
    lock___1 = (struct ref_lock *)update___3->backend_data;
    if (update___3->flags & (unsigned int )(1 << 5)) {
      if (! (update___3->flags & (unsigned int )(1 << 7))) {
        update___3->flags |= (unsigned int )(1 << 9);
        if (! (update___3->type & 2U)) {
          goto _L___0;
        } else
        if (update___3->type & 1U) {
          _L___0: /* CIL Label */
          strbuf_setlen___148(& sb___6, (size_t )0);
          files_ref_path(refs___0, & sb___6, (char const   *)lock___1->ref_name);
          tmp___4 = unlink_or_msg((char const   *)sb___6.buf, err___4);
          if (tmp___4) {
            ret___67 = -2;
            goto cleanup;
          }
        }
      }
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  clear_loose_ref_cache(refs___0);
  cleanup:
  files_transaction_cleanup(refs___0, transaction___0);
  i = (size_t )0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < transaction___0->nr)) {
      goto while_break___2;
    }
    update___4 = *(transaction___0->updates + i);
    if (update___4->flags & (unsigned int )(1 << 9)) {
      try_remove_empty_parents(refs___0, update___4->refname, 1U);
    }
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  strbuf_release(& sb___6);
  return (ret___67);
}
}
static int files_transaction_abort(struct ref_store *ref_store , struct ref_transaction *transaction___0 ,
                                   struct strbuf *err___4 )
{
  struct files_ref_store *refs___0 ;
  struct files_ref_store *tmp ;

  {
  tmp = files_downcast(ref_store, 0U, (char const   *)"ref_transaction_abort");
  refs___0 = tmp;
  files_transaction_cleanup(refs___0, transaction___0);
  return (0);
}
}
static int ref_present(char const   *refname , struct object_id  const  *oid , int flags___0 ,
                       void *cb_data )
{
  struct string_list *affected_refnames ;
  int tmp ;

  {
  affected_refnames = (struct string_list *)cb_data;
  tmp = string_list_has_string((struct string_list  const  *)affected_refnames, refname);
  return (tmp);
}
}
static int files_initial_transaction_commit(struct ref_store *ref_store , struct ref_transaction *transaction___0 ,
                                            struct strbuf *err___4 )
{
  struct files_ref_store *refs___0 ;
  struct files_ref_store *tmp ;
  size_t i ;
  int ret___67 ;
  struct string_list affected_refnames ;
  struct ref_transaction *packed_transaction ;
  int tmp___0 ;
  int tmp___1 ;
  struct ref_update *update___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = files_downcast(ref_store, (unsigned int )(1 << 1), (char const   *)"initial_ref_transaction_commit");
  refs___0 = tmp;
  ret___67 = 0;
  affected_refnames.items = (struct string_list_item *)0;
  affected_refnames.nr = 0U;
  affected_refnames.alloc = 0U;
  affected_refnames.strdup_strings = 0U;
  affected_refnames.cmp = (int (*)(char const   * , char const   * ))0;
  packed_transaction = (struct ref_transaction *)((void *)0);
  assert((int )err___4);
  if ((unsigned int )transaction___0->state != 0U) {
    BUG_fl((char const   *)"refs/files-backend.c", 3008, (char const   *)"commit called for transaction that is not open");
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < transaction___0->nr)) {
      goto while_break;
    }
    string_list_append(& affected_refnames, (*(transaction___0->updates + i))->refname);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_sort(& affected_refnames);
  tmp___0 = ref_update_reject_duplicates(& affected_refnames, err___4);
  if (tmp___0) {
    ret___67 = -2;
    goto cleanup;
  }
  tmp___1 = refs_for_each_rawref(& refs___0->base, & ref_present, (void *)(& affected_refnames));
  if (tmp___1) {
    BUG_fl((char const   *)"refs/files-backend.c", 3034, (char const   *)"initial ref transaction called with existing refs");
  }
  packed_transaction = ref_store_transaction_begin(refs___0->packed_ref_store, err___4);
  if (! packed_transaction) {
    ret___67 = -2;
    goto cleanup;
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < transaction___0->nr)) {
      goto while_break___0;
    }
    update___1 = *(transaction___0->updates + i);
    if (update___1->flags & (unsigned int )(1 << 3)) {
      tmp___2 = is_null_oid((struct object_id  const  *)(& update___1->old_oid));
      if (! tmp___2) {
        BUG_fl((char const   *)"refs/files-backend.c", 3047, (char const   *)"initial ref transaction with old_sha1 set");
      }
    }
    tmp___3 = refs_verify_refname_available(& refs___0->base, update___1->refname,
                                            (struct string_list  const  *)(& affected_refnames),
                                            (struct string_list  const  *)((void *)0),
                                            err___4);
    if (tmp___3) {
      ret___67 = -1;
      goto cleanup;
    }
    ref_transaction_add_update(packed_transaction, update___1->refname, update___1->flags & (unsigned int )(~ (1 << 3)),
                               (struct object_id  const  *)(& update___1->new_oid),
                               (struct object_id  const  *)(& update___1->old_oid),
                               (char const   *)((void *)0));
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___4 = packed_refs_lock(refs___0->packed_ref_store, 0, err___4);
  if (tmp___4) {
    ret___67 = -2;
    goto cleanup;
  }
  tmp___5 = initial_ref_transaction_commit(packed_transaction, err___4);
  if (tmp___5) {
    ret___67 = -2;
  }
  packed_refs_unlock(refs___0->packed_ref_store);
  cleanup:
  if (packed_transaction) {
    ref_transaction_free(packed_transaction);
  }
  transaction___0->state = (enum ref_transaction_state )2;
  string_list_clear(& affected_refnames, 0);
  return (ret___67);
}
}
static int expire_reflog_ent(struct object_id *ooid , struct object_id *noid , char const   *email ,
                             timestamp_t timestamp___0 , int tz , char const   *message___0 ,
                             void *cb_data )
{
  struct expire_reflog_cb *cb ;
  reflog_expiry_should_prune_fn *fn ;
  int tmp ;
  char *tmp___0 ;
  char *tmp___1 ;

  {
  cb = (struct expire_reflog_cb *)cb_data;
  fn = cb->should_prune_fn;
  if (cb->rewrite) {
    ooid = & cb->last_kept_oid;
  }
  tmp = (*fn)(ooid, noid, email, timestamp___0, tz, message___0, cb->policy_cb);
  if (tmp) {
    return (0);
  }
  if (cb->dry_run) {
    return (0);
  }
  tmp___0 = oid_to_hex((struct object_id  const  *)noid);
  tmp___1 = oid_to_hex((struct object_id  const  *)ooid);
  fprintf(cb->newlog, (char const   *)"%s %s %s %lu %+05d\t%s", tmp___1, tmp___0,
          email, timestamp___0, tz, message___0);
  oidcpy(& cb->last_kept_oid, (struct object_id  const  *)noid);
  return (0);
}
}
static int files_reflog_expire(struct ref_store *ref_store , char const   *refname ,
                               unsigned int expire_flags , reflog_expiry_prepare_fn *prepare_fn ,
                               reflog_expiry_should_prune_fn *should_prune_fn , reflog_expiry_cleanup_fn *cleanup_fn ,
                               void *policy_cb_data )
{
  struct files_ref_store *refs___0 ;
  struct files_ref_store *tmp ;
  struct lock_file reflog_lock ;
  struct expire_reflog_cb cb ;
  struct ref_lock *lock___0 ;
  struct strbuf log_file_sb ;
  char *log_file ;
  int status ;
  struct strbuf err___4 ;
  struct object_id  const  *oid ;
  int tmp___0 ;
  struct strbuf err___5 ;
  int *tmp___1 ;
  int tmp___2 ;
  int *tmp___3 ;
  char *tmp___4 ;
  char const   *tmp___5 ;
  int update___1 ;
  int ignore_errno ;
  int type___0 ;
  char const   *ref ;
  int tmp___6 ;
  int tmp___7 ;
  int *tmp___8 ;
  char *tmp___9 ;
  int tmp___10 ;
  char const   *tmp___11 ;
  int tmp___12 ;
  int *tmp___13 ;
  char *tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  char *tmp___19 ;
  int tmp___20 ;
  ssize_t tmp___21 ;
  int tmp___22 ;
  ssize_t tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;

  {
  tmp = files_downcast(ref_store, (unsigned int )(1 << 1), (char const   *)"reflog_expire");
  refs___0 = tmp;
  reflog_lock.tempfile = (struct tempfile *)0;
  log_file_sb.alloc = 0UL;
  log_file_sb.len = 0UL;
  log_file_sb.buf = strbuf_slopbuf;
  status = 0;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  memset((void *)(& cb), 0, sizeof(cb));
  cb.rewrite = (unsigned int )(! (! (expire_flags & 4U)));
  cb.dry_run = (unsigned int )(! (! (expire_flags & 1U)));
  cb.policy_cb = policy_cb_data;
  cb.should_prune_fn = should_prune_fn;
  lock___0 = lock_ref_oid_basic(refs___0, refname, & err___4);
  if (! lock___0) {
    error((char const   *)"cannot lock ref \'%s\': %s", refname, err___4.buf);
    const_error();
    strbuf_release(& err___4);
    return (-1);
  }
  oid = (struct object_id  const  *)(& lock___0->old_oid);
  tmp___0 = refs_reflog_exists(ref_store, refname);
  if (! tmp___0) {
    unlock_ref(lock___0);
    return (0);
  }
  files_reflog_path(refs___0, & log_file_sb, refname);
  log_file = strbuf_detach(& log_file_sb, (size_t *)((void *)0));
  if (! cb.dry_run) {
    tmp___2 = hold_lock_file_for_update(& reflog_lock, (char const   *)log_file, 0);
    if (tmp___2 < 0) {
      err___5.alloc = 0UL;
      err___5.len = 0UL;
      err___5.buf = strbuf_slopbuf;
      tmp___1 = __errno_location();
      unable_to_lock_message((char const   *)log_file, *tmp___1, & err___5);
      error((char const   *)"%s", err___5.buf);
      const_error();
      strbuf_release(& err___5);
      goto failure;
    }
    cb.newlog = fdopen_lock_file(& reflog_lock, (char const   *)"w");
    if (! cb.newlog) {
      tmp___3 = __errno_location();
      tmp___4 = strerror(*tmp___3);
      tmp___5 = get_lock_file_path(& reflog_lock);
      error((char const   *)"cannot fdopen %s (%s)", tmp___5, tmp___4);
      const_error();
      goto failure;
    }
  }
  (*prepare_fn)(refname, oid, cb.policy_cb);
  refs_for_each_reflog_ent(ref_store, refname, & expire_reflog_ent, (void *)(& cb));
  (*cleanup_fn)(cb.policy_cb);
  if (! cb.dry_run) {
    update___1 = 0;
    if (expire_flags & 2U) {
      tmp___7 = is_null_oid((struct object_id  const  *)(& cb.last_kept_oid));
      if (! tmp___7) {
        ref = refs_resolve_ref_unsafe(& refs___0->base, refname, 0x02, (struct object_id *)((void *)0),
                                      & type___0, & ignore_errno);
        if (ref) {
          if (! (type___0 & 0x01)) {
            tmp___6 = 1;
          } else {
            tmp___6 = 0;
          }
        } else {
          tmp___6 = 0;
        }
        update___1 = tmp___6;
      }
    }
    tmp___25 = close_lock_file_gently(& reflog_lock);
    if (tmp___25) {
      tmp___8 = __errno_location();
      tmp___9 = strerror(*tmp___8);
      error((char const   *)"couldn\'t write %s: %s", log_file, tmp___9);
      tmp___10 = const_error();
      status |= tmp___10;
      rollback_lock_file(& reflog_lock);
    } else
    if (update___1) {
      tmp___19 = oid_to_hex((struct object_id  const  *)(& cb.last_kept_oid));
      tmp___20 = get_lock_file_fd(& lock___0->lk);
      tmp___21 = write_in_full(tmp___20, (void const   *)tmp___19, (size_t )(the_repository->hash_algo)->hexsz);
      if (tmp___21 < 0L) {
        tmp___11 = get_lock_file_path(& lock___0->lk);
        error((char const   *)"couldn\'t write %s", tmp___11);
        tmp___12 = const_error();
        status |= tmp___12;
        rollback_lock_file(& reflog_lock);
      } else {
        tmp___22 = get_lock_file_fd(& lock___0->lk);
        tmp___23 = write_str_in_full(tmp___22, (char const   *)"\n");
        if (tmp___23 < 0L) {
          tmp___11 = get_lock_file_path(& lock___0->lk);
          error((char const   *)"couldn\'t write %s", tmp___11);
          tmp___12 = const_error();
          status |= tmp___12;
          rollback_lock_file(& reflog_lock);
        } else {
          tmp___24 = close_ref_gently(lock___0);
          if (tmp___24 < 0) {
            tmp___11 = get_lock_file_path(& lock___0->lk);
            error((char const   *)"couldn\'t write %s", tmp___11);
            tmp___12 = const_error();
            status |= tmp___12;
            rollback_lock_file(& reflog_lock);
          } else {
            goto _L;
          }
        }
      }
    } else {
      _L: /* CIL Label */
      tmp___18 = commit_lock_file(& reflog_lock);
      if (tmp___18) {
        tmp___13 = __errno_location();
        tmp___14 = strerror(*tmp___13);
        error((char const   *)"unable to write reflog \'%s\' (%s)", log_file, tmp___14);
        tmp___15 = const_error();
        status |= tmp___15;
      } else
      if (update___1) {
        tmp___17 = commit_ref(lock___0);
        if (tmp___17) {
          error((char const   *)"couldn\'t set %s", lock___0->ref_name);
          tmp___16 = const_error();
          status |= tmp___16;
        }
      }
    }
  }
  free((void *)log_file);
  unlock_ref(lock___0);
  return (status);
  failure:
  rollback_lock_file(& reflog_lock);
  free((void *)log_file);
  unlock_ref(lock___0);
  return (-1);
}
}
static int files_init_db(struct ref_store *ref_store , struct strbuf *err___4 )
{
  struct files_ref_store *refs___0 ;
  struct files_ref_store *tmp ;
  struct strbuf sb___6 ;

  {
  tmp = files_downcast(ref_store, (unsigned int )(1 << 1), (char const   *)"init_db");
  refs___0 = tmp;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  files_ref_path(refs___0, & sb___6, (char const   *)"refs/heads");
  safe_create_dir((char const   *)sb___6.buf, 1);
  strbuf_setlen___148(& sb___6, (size_t )0);
  files_ref_path(refs___0, & sb___6, (char const   *)"refs/tags");
  safe_create_dir((char const   *)sb___6.buf, 1);
  strbuf_release(& sb___6);
  return (0);
}
}
struct ref_storage_be refs_be_files  =
     {(struct ref_storage_be *)((void *)0), (char const   *)"files", & files_ref_store_create,
    & files_init_db, & files_transaction_prepare, & files_transaction_finish, & files_transaction_abort,
    & files_initial_transaction_commit, & files_pack_refs, & files_create_symref,
    & files_delete_refs, & files_rename_ref, & files_copy_ref, & files_ref_iterator_begin,
    & files_read_raw_ref, & files_reflog_iterator_begin, & files_for_each_reflog_ent,
    & files_for_each_reflog_ent_reverse, & files_reflog_exists, & files_create_reflog,
    & files_delete_reflog, & files_reflog_expire};
int ref_iterator_advance(struct ref_iterator *ref_iterator )
{
  int tmp ;

  {
  tmp = (*((ref_iterator->vtable)->advance))(ref_iterator);
  return (tmp);
}
}
int ref_iterator_peel(struct ref_iterator *ref_iterator , struct object_id *peeled )
{
  int tmp ;

  {
  tmp = (*((ref_iterator->vtable)->peel))(ref_iterator, peeled);
  return (tmp);
}
}
int ref_iterator_abort(struct ref_iterator *ref_iterator )
{
  int tmp ;

  {
  tmp = (*((ref_iterator->vtable)->abort))(ref_iterator);
  return (tmp);
}
}
void base_ref_iterator_init(struct ref_iterator *iter___0 , struct ref_iterator_vtable *vtable___0 ,
                            int ordered )
{


  {
  iter___0->vtable = vtable___0;
  iter___0->ordered = (unsigned int )(! (! ordered));
  iter___0->refname = (char const   *)((void *)0);
  iter___0->oid = (struct object_id  const  *)((void *)0);
  iter___0->flags = 0U;
  return;
}
}
void base_ref_iterator_free(struct ref_iterator *iter___0 )
{


  {
  iter___0->vtable = (struct ref_iterator_vtable *)((void *)0);
  free((void *)iter___0);
  return;
}
}
static int empty_ref_iterator_advance(struct ref_iterator *ref_iterator )
{
  int tmp ;

  {
  tmp = ref_iterator_abort(ref_iterator);
  return (tmp);
}
}
static int empty_ref_iterator_peel(struct ref_iterator *ref_iterator , struct object_id *peeled )
{


  {
  BUG_fl((char const   *)"refs/iterator.c", 57, (char const   *)"peel called for empty iterator");
}
}
static int empty_ref_iterator_abort(struct ref_iterator *ref_iterator )
{


  {
  base_ref_iterator_free(ref_iterator);
  return (-1);
}
}
static struct ref_iterator_vtable empty_ref_iterator_vtable  =    {& empty_ref_iterator_advance, & empty_ref_iterator_peel, & empty_ref_iterator_abort};
struct ref_iterator *empty_ref_iterator_begin(void)
{
  struct empty_ref_iterator *iter___0 ;
  void *tmp ;
  struct ref_iterator *ref_iterator ;

  {
  tmp = xcalloc((size_t )1, sizeof(*iter___0));
  iter___0 = (struct empty_ref_iterator *)tmp;
  ref_iterator = & iter___0->base;
  base_ref_iterator_init(ref_iterator, & empty_ref_iterator_vtable, 1);
  return (ref_iterator);
}
}
int is_empty_ref_iterator(struct ref_iterator *ref_iterator )
{


  {
  return ((unsigned long )ref_iterator->vtable == (unsigned long )(& empty_ref_iterator_vtable));
}
}
static int merge_ref_iterator_advance(struct ref_iterator *ref_iterator )
{
  struct merge_ref_iterator *iter___0 ;
  int ok ;
  struct ref_iterator **secondary ;
  enum iterator_selection selection ;
  enum iterator_selection tmp ;
  int tmp___0 ;

  {
  iter___0 = (struct merge_ref_iterator *)ref_iterator;
  if (! iter___0->current) {
    ok = ref_iterator_advance(iter___0->iter0);
    if (ok != 0) {
      iter___0->iter0 = (struct ref_iterator *)((void *)0);
      if (ok == -2) {
        goto error;
      }
    }
    ok = ref_iterator_advance(iter___0->iter1);
    if (ok != 0) {
      iter___0->iter1 = (struct ref_iterator *)((void *)0);
      if (ok == -2) {
        goto error;
      }
    }
  } else {
    ok = ref_iterator_advance(*(iter___0->current));
    if (ok != 0) {
      *(iter___0->current) = (struct ref_iterator *)((void *)0);
      if (ok == -2) {
        goto error;
      }
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = (*(iter___0->select))(iter___0->iter0, iter___0->iter1, iter___0->cb_data);
    selection = tmp;
    if ((int )selection == -1) {
      tmp___0 = ref_iterator_abort(ref_iterator);
      return (tmp___0);
    } else
    if ((int )selection == -2) {
      ref_iterator_abort(ref_iterator);
      return (-2);
    }
    if (((int )selection & 1) == 0) {
      iter___0->current = & iter___0->iter0;
      secondary = & iter___0->iter1;
    } else {
      iter___0->current = & iter___0->iter1;
      secondary = & iter___0->iter0;
    }
    if ((int )selection & 4) {
      ok = ref_iterator_advance(*secondary);
      if (ok != 0) {
        *secondary = (struct ref_iterator *)((void *)0);
        if (ok == -2) {
          goto error;
        }
      }
    }
    if ((int )selection & 2) {
      iter___0->base.refname = (*(iter___0->current))->refname;
      iter___0->base.oid = (*(iter___0->current))->oid;
      iter___0->base.flags = (*(iter___0->current))->flags;
      return (0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  error:
  ref_iterator_abort(ref_iterator);
  return (-2);
}
}
static int merge_ref_iterator_peel(struct ref_iterator *ref_iterator , struct object_id *peeled )
{
  struct merge_ref_iterator *iter___0 ;
  int tmp ;

  {
  iter___0 = (struct merge_ref_iterator *)ref_iterator;
  if (! iter___0->current) {
    BUG_fl((char const   *)"refs/iterator.c", 180, (char const   *)"peel called before advance for merge iterator");
  }
  tmp = ref_iterator_peel(*(iter___0->current), peeled);
  return (tmp);
}
}
static int merge_ref_iterator_abort(struct ref_iterator *ref_iterator )
{
  struct merge_ref_iterator *iter___0 ;
  int ok ;
  int tmp ;
  int tmp___0 ;

  {
  iter___0 = (struct merge_ref_iterator *)ref_iterator;
  ok = -1;
  if (iter___0->iter0) {
    tmp = ref_iterator_abort(iter___0->iter0);
    if (tmp != -1) {
      ok = -2;
    }
  }
  if (iter___0->iter1) {
    tmp___0 = ref_iterator_abort(iter___0->iter1);
    if (tmp___0 != -1) {
      ok = -2;
    }
  }
  base_ref_iterator_free(ref_iterator);
  return (ok);
}
}
static struct ref_iterator_vtable merge_ref_iterator_vtable  =    {& merge_ref_iterator_advance, & merge_ref_iterator_peel, & merge_ref_iterator_abort};
struct ref_iterator *merge_ref_iterator_begin(int ordered , struct ref_iterator *iter0 ,
                                              struct ref_iterator *iter1 , ref_iterator_select_fn *select___0 ,
                                              void *cb_data )
{
  struct merge_ref_iterator *iter___0 ;
  void *tmp ;
  struct ref_iterator *ref_iterator ;

  {
  tmp = xcalloc((size_t )1, sizeof(*iter___0));
  iter___0 = (struct merge_ref_iterator *)tmp;
  ref_iterator = & iter___0->base;
  base_ref_iterator_init(ref_iterator, & merge_ref_iterator_vtable, ordered);
  iter___0->iter0 = iter0;
  iter___0->iter1 = iter1;
  iter___0->select = select___0;
  iter___0->cb_data = cb_data;
  iter___0->current = (struct ref_iterator **)((void *)0);
  return (ref_iterator);
}
}
static enum iterator_selection overlay_iterator_select(struct ref_iterator *front ,
                                                       struct ref_iterator *back ,
                                                       void *cb_data )
{
  int cmp___0 ;
  int tmp ;

  {
  if (! back) {
    if (front) {
      tmp = 2;
    } else {
      tmp = -1;
    }
    return ((enum iterator_selection )tmp);
  } else
  if (! front) {
    return ((enum iterator_selection )3);
  }
  cmp___0 = strcmp(front->refname, back->refname);
  if (cmp___0 < 0) {
    return ((enum iterator_selection )2);
  } else
  if (cmp___0 > 0) {
    return ((enum iterator_selection )3);
  } else {
    return ((enum iterator_selection )6);
  }
}
}
struct ref_iterator *overlay_ref_iterator_begin(struct ref_iterator *front , struct ref_iterator *back )
{
  int tmp ;
  int tmp___0 ;
  struct ref_iterator *tmp___1 ;

  {
  tmp___0 = is_empty_ref_iterator(front);
  if (tmp___0) {
    ref_iterator_abort(front);
    return (back);
  } else {
    tmp = is_empty_ref_iterator(back);
    if (tmp) {
      ref_iterator_abort(back);
      return (front);
    } else
    if (! front->ordered) {
      BUG_fl((char const   *)"refs/iterator.c", 275, (char const   *)"overlay_ref_iterator requires ordered inputs");
    } else
    if (! back->ordered) {
      BUG_fl((char const   *)"refs/iterator.c", 275, (char const   *)"overlay_ref_iterator requires ordered inputs");
    }
  }
  tmp___1 = merge_ref_iterator_begin(1, front, back, & overlay_iterator_select, (void *)0);
  return (tmp___1);
}
}
static int compare_prefix(char const   *refname , char const   *prefix___1 )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *prefix___1) {
      goto while_break;
    }
    if ((int const   )*refname != (int const   )*prefix___1) {
      if ((int )((unsigned char )*refname) < (int )((unsigned char )*prefix___1)) {
        tmp = -1;
      } else {
        tmp = 1;
      }
      return (tmp);
    }
    refname ++;
    prefix___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int prefix_ref_iterator_advance(struct ref_iterator *ref_iterator )
{
  struct prefix_ref_iterator *iter___0 ;
  int ok ;
  int cmp___0 ;
  int tmp ;
  size_t tmp___0 ;
  int tmp___1 ;

  {
  iter___0 = (struct prefix_ref_iterator *)ref_iterator;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    ok = ref_iterator_advance(iter___0->iter0);
    if (! (ok == 0)) {
      goto while_break;
    }
    tmp = compare_prefix((iter___0->iter0)->refname, (char const   *)iter___0->prefix);
    cmp___0 = tmp;
    if (cmp___0 < 0) {
      goto while_continue;
    }
    if (cmp___0 > 0) {
      if ((iter___0->iter0)->ordered) {
        ok = ref_iterator_abort(iter___0->iter0);
        goto while_break;
      } else {
        goto while_continue;
      }
    }
    if (iter___0->trim) {
      tmp___0 = strlen((iter___0->iter0)->refname);
      if (tmp___0 <= (size_t )iter___0->trim) {
        BUG_fl((char const   *)"refs/iterator.c", 341, (char const   *)"attempt to trim too many characters");
      }
      iter___0->base.refname = (iter___0->iter0)->refname + iter___0->trim;
    } else {
      iter___0->base.refname = (iter___0->iter0)->refname;
    }
    iter___0->base.oid = (iter___0->iter0)->oid;
    iter___0->base.flags = (iter___0->iter0)->flags;
    return (0);
  }
  while_break: /* CIL Label */ ;
  }
  iter___0->iter0 = (struct ref_iterator *)((void *)0);
  tmp___1 = ref_iterator_abort(ref_iterator);
  if (tmp___1 != -1) {
    return (-2);
  }
  return (ok);
}
}
static int prefix_ref_iterator_peel(struct ref_iterator *ref_iterator , struct object_id *peeled )
{
  struct prefix_ref_iterator *iter___0 ;
  int tmp ;

  {
  iter___0 = (struct prefix_ref_iterator *)ref_iterator;
  tmp = ref_iterator_peel(iter___0->iter0, peeled);
  return (tmp);
}
}
static int prefix_ref_iterator_abort(struct ref_iterator *ref_iterator )
{
  struct prefix_ref_iterator *iter___0 ;
  int ok ;

  {
  iter___0 = (struct prefix_ref_iterator *)ref_iterator;
  ok = -1;
  if (iter___0->iter0) {
    ok = ref_iterator_abort(iter___0->iter0);
  }
  free((void *)iter___0->prefix);
  base_ref_iterator_free(ref_iterator);
  return (ok);
}
}
static struct ref_iterator_vtable prefix_ref_iterator_vtable  =    {& prefix_ref_iterator_advance, & prefix_ref_iterator_peel, & prefix_ref_iterator_abort};
struct ref_iterator *prefix_ref_iterator_begin(struct ref_iterator *iter0 , char const   *prefix___1 ,
                                               int trim )
{
  struct prefix_ref_iterator *iter___0 ;
  struct ref_iterator *ref_iterator ;
  void *tmp ;

  {
  if (! *prefix___1) {
    if (! trim) {
      return (iter0);
    }
  }
  tmp = xcalloc((size_t )1, sizeof(*iter___0));
  iter___0 = (struct prefix_ref_iterator *)tmp;
  ref_iterator = & iter___0->base;
  base_ref_iterator_init(ref_iterator, & prefix_ref_iterator_vtable, (int )iter0->ordered);
  iter___0->iter0 = iter0;
  iter___0->prefix = xstrdup(prefix___1);
  iter___0->trim = trim;
  return (ref_iterator);
}
}
struct ref_iterator *current_ref_iter  =    (struct ref_iterator *)((void *)0);
int do_for_each_repo_ref_iterator(struct repository *r , struct ref_iterator *iter___0 ,
                                  each_repo_ref_fn *fn , void *cb_data )
{
  int retval ;
  int ok ;
  struct ref_iterator *old_ref_iter ;

  {
  retval = 0;
  old_ref_iter = current_ref_iter;
  current_ref_iter = iter___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    ok = ref_iterator_advance(iter___0);
    if (! (ok == 0)) {
      goto while_break;
    }
    retval = (*fn)(r, iter___0->refname, iter___0->oid, (int )iter___0->flags, cb_data);
    if (retval) {
      ref_iterator_abort(iter___0);
      goto out;
    }
  }
  while_break: /* CIL Label */ ;
  }
  out:
  current_ref_iter = old_ref_iter;
  if (ok == -2) {
    return (-1);
  }
  return (retval);
}
}
static enum mmap_strategy mmap_strategy  =    (enum mmap_strategy )2;
static void acquire_snapshot(struct snapshot *snapshot )
{


  {
  (snapshot->referrers) ++;
  return;
}
}
static void clear_snapshot_buffer(struct snapshot *snapshot )
{
  int tmp ;
  char *tmp___0 ;
  char *tmp___1 ;

  {
  if (snapshot->mmapped) {
    tmp = munmap((void *)snapshot->buf, (size_t )(snapshot->eof - snapshot->buf));
    if (tmp) {
      die_errno((char const   *)"error ummapping packed-refs file %s", (snapshot->refs)->path);
    }
    snapshot->mmapped = 0;
  } else {
    free((void *)snapshot->buf);
  }
  tmp___1 = (char *)((void *)0);
  snapshot->eof = tmp___1;
  tmp___0 = tmp___1;
  snapshot->start = tmp___0;
  snapshot->buf = tmp___0;
  return;
}
}
static int release_snapshot(struct snapshot *snapshot )
{


  {
  (snapshot->referrers) --;
  if (snapshot->referrers) {
    return (0);
  } else {
    stat_validity_clear(& snapshot->validity);
    clear_snapshot_buffer(snapshot);
    free((void *)snapshot);
    return (1);
  }
}
}
struct ref_store *packed_ref_store_create(struct repository *repo , char const   *gitdir___0 ,
                                          unsigned int store_flags )
{
  struct packed_ref_store *refs___0 ;
  void *tmp ;
  struct ref_store *ref_store ;
  struct strbuf sb___6 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*refs___0));
  refs___0 = (struct packed_ref_store *)tmp;
  ref_store = (struct ref_store *)refs___0;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  base_ref_store_init(ref_store, repo, gitdir___0, (struct ref_storage_be  const  *)(& refs_be_packed));
  refs___0->store_flags = store_flags;
  strbuf_addf(& sb___6, (char const   *)"%s/packed-refs", gitdir___0);
  refs___0->path = strbuf_detach(& sb___6, (size_t *)((void *)0));
  chdir_notify_reparent((char const   *)"packed-refs", & refs___0->path);
  return (ref_store);
}
}
static struct packed_ref_store *packed_downcast(struct ref_store *ref_store , unsigned int required_flags ,
                                                char const   *caller )
{
  struct packed_ref_store *refs___0 ;

  {
  if ((unsigned long )ref_store->be != (unsigned long )(& refs_be_packed)) {
    BUG_fl((char const   *)"refs/packed-backend.c", 227, (char const   *)"ref_store is type \"%s\" not \"packed\" in %s",
           (ref_store->be)->name, caller);
  }
  refs___0 = (struct packed_ref_store *)ref_store;
  if ((refs___0->store_flags & required_flags) != required_flags) {
    BUG_fl((char const   *)"refs/packed-backend.c", 233, (char const   *)"unallowed operation (%s), requires %x, has %x\n",
           caller, required_flags, refs___0->store_flags);
  }
  return (refs___0);
}
}
static void clear_snapshot(struct packed_ref_store *refs___0 )
{
  struct snapshot *snapshot ;

  {
  if (refs___0->snapshot) {
    snapshot = refs___0->snapshot;
    refs___0->snapshot = (struct snapshot *)((void *)0);
    release_snapshot(snapshot);
  }
  return;
}
}
static void die_unterminated_line(char const   *path___6 , char const   *p___0 , size_t len___0 )  __attribute__((__noreturn__)) ;
static void die_unterminated_line(char const   *path___6 , char const   *p___0 , size_t len___0 )
{


  {
  if (len___0 < 80UL) {
    die((char const   *)"unterminated line in %s: %.*s", path___6, (int )len___0,
        p___0);
  } else {
    die((char const   *)"unterminated line in %s: %.75s...", path___6, p___0);
  }
}
}
static void die_invalid_line(char const   *path___6 , char const   *p___0 , size_t len___0 )  __attribute__((__noreturn__)) ;
static void die_invalid_line(char const   *path___6 , char const   *p___0 , size_t len___0 )
{
  char const   *eol ;
  void *tmp ;

  {
  tmp = memchr((void const   *)p___0, '\n', len___0);
  eol = (char const   *)tmp;
  if (! eol) {
    die_unterminated_line(path___6, p___0, len___0);
  } else
  if (eol - p___0 < 80L) {
    die((char const   *)"unexpected line in %s: %.*s", path___6, (int )(eol - p___0),
        p___0);
  } else {
    die((char const   *)"unexpected line in %s: %.75s...", path___6, p___0);
  }
}
}
static int cmp_packed_ref_records(void const   *v1 , void const   *v2 )
{
  struct snapshot_record  const  *e1 ;
  struct snapshot_record  const  *e2 ;
  char const   *r1 ;
  char const   *r2 ;
  int tmp ;
  int tmp___0 ;

  {
  e1 = (struct snapshot_record  const  *)v1;
  e2 = (struct snapshot_record  const  *)v2;
  r1 = (char const   *)((e1->start + (the_repository->hash_algo)->hexsz) + 1);
  r2 = (char const   *)((e2->start + (the_repository->hash_algo)->hexsz) + 1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((int const   )*r1 == 10) {
      if ((int const   )*r2 == 10) {
        tmp = 0;
      } else {
        tmp = -1;
      }
      return (tmp);
    }
    if ((int const   )*r1 != (int const   )*r2) {
      if ((int const   )*r2 == 10) {
        return (1);
      } else {
        if ((int )((unsigned char )*r1) < (int )((unsigned char )*r2)) {
          tmp___0 = -1;
        } else {
          tmp___0 = 1;
        }
        return (tmp___0);
      }
    }
    r1 ++;
    r2 ++;
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int cmp_record_to_refname(char const   *rec , char const   *refname )
{
  char const   *r1 ;
  char const   *r2 ;
  int tmp ;
  int tmp___0 ;

  {
  r1 = (rec + (the_repository->hash_algo)->hexsz) + 1;
  r2 = refname;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((int const   )*r1 == 10) {
      if (*r2) {
        tmp = -1;
      } else {
        tmp = 0;
      }
      return (tmp);
    }
    if (! *r2) {
      return (1);
    }
    if ((int const   )*r1 != (int const   )*r2) {
      if ((int )((unsigned char )*r1) < (int )((unsigned char )*r2)) {
        tmp___0 = -1;
      } else {
        tmp___0 = 1;
      }
      return (tmp___0);
    }
    r1 ++;
    r2 ++;
  }
  while_break: /* CIL Label */ ;
  }
}
}
static void sort_snapshot(struct snapshot *snapshot )
{
  struct snapshot_record *records ;
  size_t alloc___0 ;
  size_t nr___0 ;
  int sorted ;
  char const   *pos ;
  char const   *eof ;
  char const   *eol ;
  size_t len___0 ;
  size_t i ;
  char *new_buffer ;
  char *dst ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  char const   *peeled_start ;
  void *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  int tmp___5 ;
  void *tmp___6 ;
  char *tmp___7 ;

  {
  records = (struct snapshot_record *)((void *)0);
  alloc___0 = (size_t )0;
  nr___0 = (size_t )0;
  sorted = 1;
  pos = (char const   *)snapshot->start;
  eof = (char const   *)snapshot->eof;
  if ((unsigned long )pos == (unsigned long )eof) {
    return;
  }
  len___0 = (size_t )(eof - pos);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (len___0 / 80UL + 20UL > alloc___0) {
      if (((alloc___0 + 16UL) * 3UL) / 2UL < len___0 / 80UL + 20UL) {
        alloc___0 = len___0 / 80UL + 20UL;
      } else {
        alloc___0 = ((alloc___0 + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*records), alloc___0);
      tmp___0 = xrealloc((void *)records, tmp);
      records = (struct snapshot_record *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )pos < (unsigned long )eof)) {
      goto while_break___0;
    }
    tmp___1 = memchr((void const   *)pos, '\n', (size_t )(eof - pos));
    eol = (char const   *)tmp___1;
    if (! eol) {
      BUG_fl((char const   *)"refs/packed-backend.c", 348, (char const   *)"unterminated line found in packed-refs");
    }
    if ((size_t )(eol - pos) < (the_repository->hash_algo)->hexsz + 2UL) {
      die_invalid_line((char const   *)(snapshot->refs)->path, pos, (size_t )(eof - pos));
    }
    eol ++;
    if ((unsigned long )eol < (unsigned long )eof) {
      if ((int const   )*eol == 94) {
        peeled_start = eol;
        tmp___2 = memchr((void const   *)peeled_start, '\n', (size_t )(eof - peeled_start));
        eol = (char const   *)tmp___2;
        if (! eol) {
          BUG_fl((char const   *)"refs/packed-backend.c", 363, (char const   *)"unterminated peeled line found in packed-refs");
        }
        eol ++;
      }
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (nr___0 + 1UL > alloc___0) {
        if (((alloc___0 + 16UL) * 3UL) / 2UL < nr___0 + 1UL) {
          alloc___0 = nr___0 + 1UL;
        } else {
          alloc___0 = ((alloc___0 + 16UL) * 3UL) / 2UL;
        }
        tmp___3 = st_mult(sizeof(*records), alloc___0);
        tmp___4 = xrealloc((void *)records, tmp___3);
        records = (struct snapshot_record *)tmp___4;
      }
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
    (records + nr___0)->start = pos;
    (records + nr___0)->len = (size_t )(eol - pos);
    nr___0 ++;
    if (sorted) {
      if (nr___0 > 1UL) {
        tmp___5 = cmp_packed_ref_records((void const   *)(records + (nr___0 - 2UL)),
                                         (void const   *)(records + (nr___0 - 1UL)));
        if (tmp___5 >= 0) {
          sorted = 0;
        }
      }
    }
    pos = eol;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (sorted) {
    goto cleanup;
  }
  sane_qsort((void *)records, nr___0, sizeof(*records), & cmp_packed_ref_records);
  tmp___6 = xmalloc(len___0);
  new_buffer = (char *)tmp___6;
  dst = new_buffer;
  i = (size_t )0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break___2;
    }
    memcpy((void *)dst, (void const   *)(records + i)->start, (records + i)->len);
    dst += (records + i)->len;
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  clear_snapshot_buffer(snapshot);
  tmp___7 = new_buffer;
  snapshot->start = tmp___7;
  snapshot->buf = tmp___7;
  snapshot->eof = new_buffer + len___0;
  cleanup:
  free((void *)records);
  return;
}
}
static char const   *find_start_of_record(char const   *buf___19 , char const   *p___0 )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )p___0 > (unsigned long )buf___19) {
      if (! ((int const   )*(p___0 + -1) != 10)) {
        if (! ((int const   )*(p___0 + 0) == 94)) {
          goto while_break;
        }
      }
    } else {
      goto while_break;
    }
    p___0 --;
  }
  while_break: /* CIL Label */ ;
  }
  return (p___0);
}
}
static char const   *find_end_of_record(char const   *p___0 , char const   *end )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    p___0 ++;
    if ((unsigned long )p___0 < (unsigned long )end) {
      if (! ((int const   )*(p___0 + -1) != 10)) {
        if (! ((int const   )*(p___0 + 0) == 94)) {
          goto while_break;
        }
      }
    } else {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (p___0);
}
}
static void verify_buffer_safe(struct snapshot *snapshot )
{
  char const   *start ;
  char const   *eof ;
  char const   *last_line___0 ;

  {
  start = (char const   *)snapshot->start;
  eof = (char const   *)snapshot->eof;
  if ((unsigned long )start == (unsigned long )eof) {
    return;
  }
  last_line___0 = find_start_of_record(start, eof - 1);
  if ((int const   )*(eof - 1) != 10) {
    die_invalid_line((char const   *)(snapshot->refs)->path, last_line___0, (size_t )(eof - last_line___0));
  } else
  if ((size_t )(eof - last_line___0) < (the_repository->hash_algo)->hexsz + 2UL) {
    die_invalid_line((char const   *)(snapshot->refs)->path, last_line___0, (size_t )(eof - last_line___0));
  }
  return;
}
}
static int load_contents(struct snapshot *snapshot )
{
  int fd ;
  struct stat st ;
  size_t size ;
  ssize_t bytes_read ;
  int *tmp ;
  int tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;

  {
  fd = open((char const   *)(snapshot->refs)->path, 00);
  if (fd < 0) {
    tmp = __errno_location();
    if (*tmp == 2) {
      return (0);
    } else {
      die_errno((char const   *)"couldn\'t read %s", (snapshot->refs)->path);
    }
  }
  stat_validity_update(& snapshot->validity, fd);
  tmp___0 = fstat(fd, & st);
  if (tmp___0 < 0) {
    die_errno((char const   *)"couldn\'t stat %s", (snapshot->refs)->path);
  }
  size = xsize_t(st.st_size);
  if (! size) {
    close(fd);
    return (0);
  } else
  if ((unsigned int )mmap_strategy == 0U) {
    goto _L;
  } else
  if (size <= 32768UL) {
    _L: /* CIL Label */
    tmp___1 = xmalloc(size);
    snapshot->buf = (char *)tmp___1;
    bytes_read = read_in_full(fd, (void *)snapshot->buf, size);
    if (bytes_read < 0L) {
      die_errno((char const   *)"couldn\'t read %s", (snapshot->refs)->path);
    } else
    if ((size_t )bytes_read != size) {
      die_errno((char const   *)"couldn\'t read %s", (snapshot->refs)->path);
    }
    snapshot->mmapped = 0;
  } else {
    tmp___2 = xmmap((void *)0, size, 0x1, 0x02, fd, (off_t )0);
    snapshot->buf = (char *)tmp___2;
    snapshot->mmapped = 1;
  }
  close(fd);
  snapshot->start = snapshot->buf;
  snapshot->eof = snapshot->buf + size;
  return (1);
}
}
static char const   *find_reference_location(struct snapshot *snapshot , char const   *refname ,
                                             int mustexist )
{
  char const   *lo ;
  char const   *hi ;
  char const   *mid ;
  char const   *rec ;
  int cmp___0 ;

  {
  lo = (char const   *)snapshot->start;
  hi = (char const   *)snapshot->eof;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )lo != (unsigned long )hi)) {
      goto while_break;
    }
    mid = lo + (hi - lo) / 2L;
    rec = find_start_of_record(lo, mid);
    cmp___0 = cmp_record_to_refname(rec, refname);
    if (cmp___0 < 0) {
      lo = find_end_of_record(mid, hi);
    } else
    if (cmp___0 > 0) {
      hi = rec;
    } else {
      return (rec);
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (mustexist) {
    return ((char const   *)((void *)0));
  } else {
    return (lo);
  }
}
}
static struct snapshot *create_snapshot(struct packed_ref_store *refs___0 )
{
  struct snapshot *snapshot ;
  void *tmp ;
  int sorted ;
  int tmp___0 ;
  char *tmp___1 ;
  char *p___0 ;
  char *eol ;
  struct string_list traits ;
  void *tmp___2 ;
  void *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  size_t size ;
  char *buf_copy ;
  void *tmp___7 ;
  char *tmp___8 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*snapshot));
  snapshot = (struct snapshot *)tmp;
  sorted = 0;
  snapshot->refs = refs___0;
  acquire_snapshot(snapshot);
  snapshot->peeled = (enum __anonenum_peeled_989500089 )0;
  tmp___0 = load_contents(snapshot);
  if (! tmp___0) {
    return (snapshot);
  }
  if ((unsigned long )snapshot->buf < (unsigned long )snapshot->eof) {
    if ((int )*(snapshot->buf) == 35) {
      traits.items = (struct string_list_item *)0;
      traits.nr = 0U;
      traits.alloc = 0U;
      traits.strdup_strings = 0U;
      traits.cmp = (int (*)(char const   * , char const   * ))0;
      tmp___2 = memchr((void const   *)snapshot->buf, '\n', (size_t )(snapshot->eof - snapshot->buf));
      eol = (char *)tmp___2;
      if (! eol) {
        die_unterminated_line((char const   *)refs___0->path, (char const   *)snapshot->buf,
                              (size_t )(snapshot->eof - snapshot->buf));
      }
      tmp___3 = xmemdupz((void const   *)snapshot->buf, (size_t )(eol - snapshot->buf));
      tmp___1 = (char *)tmp___3;
      tmp___4 = skip_prefix((char const   *)tmp___1, (char const   *)"# pack-refs with:",
                            (char const   **)(& p___0));
      if (! tmp___4) {
        die_invalid_line((char const   *)refs___0->path, (char const   *)snapshot->buf,
                         (size_t )(snapshot->eof - snapshot->buf));
      }
      string_list_split_in_place(& traits, p___0, ' ', -1);
      tmp___6 = unsorted_string_list_has_string(& traits, (char const   *)"fully-peeled");
      if (tmp___6) {
        snapshot->peeled = (enum __anonenum_peeled_989500089 )2;
      } else {
        tmp___5 = unsorted_string_list_has_string(& traits, (char const   *)"peeled");
        if (tmp___5) {
          snapshot->peeled = (enum __anonenum_peeled_989500089 )1;
        }
      }
      sorted = unsorted_string_list_has_string(& traits, (char const   *)"sorted");
      snapshot->start = eol + 1;
      string_list_clear(& traits, 0);
      free((void *)tmp___1);
    }
  }
  verify_buffer_safe(snapshot);
  if (! sorted) {
    sort_snapshot(snapshot);
    verify_buffer_safe(snapshot);
  }
  if ((unsigned int )mmap_strategy != 2U) {
    if (snapshot->mmapped) {
      size = (size_t )(snapshot->eof - snapshot->start);
      tmp___7 = xmalloc(size);
      buf_copy = (char *)tmp___7;
      memcpy((void *)buf_copy, (void const   *)snapshot->start, size);
      clear_snapshot_buffer(snapshot);
      tmp___8 = buf_copy;
      snapshot->start = tmp___8;
      snapshot->buf = tmp___8;
      snapshot->eof = buf_copy + size;
    }
  }
  return (snapshot);
}
}
static void validate_snapshot(struct packed_ref_store *refs___0 )
{
  int tmp ;

  {
  if (refs___0->snapshot) {
    tmp = stat_validity_check(& (refs___0->snapshot)->validity, (char const   *)refs___0->path);
    if (! tmp) {
      clear_snapshot(refs___0);
    }
  }
  return;
}
}
static struct snapshot *get_snapshot(struct packed_ref_store *refs___0 )
{
  int tmp ;

  {
  tmp = is_lock_file_locked(& refs___0->lock);
  if (! tmp) {
    validate_snapshot(refs___0);
  }
  if (! refs___0->snapshot) {
    refs___0->snapshot = create_snapshot(refs___0);
  }
  return (refs___0->snapshot);
}
}
static int packed_read_raw_ref(struct ref_store *ref_store , char const   *refname ,
                               struct object_id *oid , struct strbuf *referent , unsigned int *type___0 ,
                               int *failure_errno )
{
  struct packed_ref_store *refs___0 ;
  struct packed_ref_store *tmp ;
  struct snapshot *snapshot ;
  struct snapshot *tmp___0 ;
  char const   *rec ;
  int tmp___1 ;

  {
  tmp = packed_downcast(ref_store, 1U, (char const   *)"read_raw_ref");
  refs___0 = tmp;
  tmp___0 = get_snapshot(refs___0);
  snapshot = tmp___0;
  *type___0 = 0U;
  rec = find_reference_location(snapshot, refname, 1);
  if (! rec) {
    *failure_errno = 2;
    return (-1);
  }
  tmp___1 = get_oid_hex(rec, oid);
  if (tmp___1) {
    die_invalid_line((char const   *)refs___0->path, rec, (size_t )(snapshot->eof - (char *)rec));
  }
  *type___0 = 2U;
  return (0);
}
}
static int next_record(struct packed_ref_iterator *iter___0 )
{
  char const   *p___0 ;
  char const   *eol ;
  int tmp ;
  char const   *tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const   *tmp___6 ;

  {
  p___0 = iter___0->pos;
  strbuf_setlen___148(& iter___0->refname_buf, (size_t )0);
  if ((unsigned long )iter___0->pos == (unsigned long )iter___0->eof) {
    return (-1);
  }
  iter___0->base.flags = 2U;
  if ((size_t )(iter___0->eof - p___0) < (the_repository->hash_algo)->hexsz + 2UL) {
    die_invalid_line((char const   *)((iter___0->snapshot)->refs)->path, iter___0->pos,
                     (size_t )(iter___0->eof - iter___0->pos));
  } else {
    tmp = parse_oid_hex(p___0, & iter___0->oid, & p___0);
    if (tmp) {
      die_invalid_line((char const   *)((iter___0->snapshot)->refs)->path, iter___0->pos,
                       (size_t )(iter___0->eof - iter___0->pos));
    } else {
      tmp___0 = p___0;
      p___0 ++;
      if (! (((int const   )sane_ctype[(unsigned char )*tmp___0] & 1) != 0)) {
        die_invalid_line((char const   *)((iter___0->snapshot)->refs)->path, iter___0->pos,
                         (size_t )(iter___0->eof - iter___0->pos));
      }
    }
  }
  tmp___1 = memchr((void const   *)p___0, '\n', (size_t )(iter___0->eof - p___0));
  eol = (char const   *)tmp___1;
  if (! eol) {
    die_unterminated_line((char const   *)((iter___0->snapshot)->refs)->path, iter___0->pos,
                          (size_t )(iter___0->eof - iter___0->pos));
  }
  strbuf_add(& iter___0->refname_buf, (void const   *)p___0, (size_t )(eol - p___0));
  iter___0->base.refname = (char const   *)iter___0->refname_buf.buf;
  tmp___3 = check_refname_format(iter___0->base.refname, 1);
  if (tmp___3) {
    tmp___2 = refname_is_safe(iter___0->base.refname);
    if (! tmp___2) {
      die((char const   *)"packed refname is dangerous: %s", iter___0->base.refname);
    }
    oidclr(& iter___0->oid);
    iter___0->base.flags |= 12U;
  }
  if ((unsigned int )(iter___0->snapshot)->peeled == 2U) {
    iter___0->base.flags |= 64U;
  } else
  if ((unsigned int )(iter___0->snapshot)->peeled == 1U) {
    tmp___4 = starts_with(iter___0->base.refname, (char const   *)"refs/tags/");
    if (tmp___4) {
      iter___0->base.flags |= 64U;
    }
  }
  iter___0->pos = eol + 1;
  if ((unsigned long )iter___0->pos < (unsigned long )iter___0->eof) {
    if ((int const   )*(iter___0->pos) == 94) {
      p___0 = iter___0->pos + 1;
      if ((size_t )(iter___0->eof - p___0) < (the_repository->hash_algo)->hexsz + 1UL) {
        die_invalid_line((char const   *)((iter___0->snapshot)->refs)->path, iter___0->pos,
                         (size_t )(iter___0->eof - iter___0->pos));
      } else {
        tmp___5 = parse_oid_hex(p___0, & iter___0->peeled, & p___0);
        if (tmp___5) {
          die_invalid_line((char const   *)((iter___0->snapshot)->refs)->path, iter___0->pos,
                           (size_t )(iter___0->eof - iter___0->pos));
        } else {
          tmp___6 = p___0;
          p___0 ++;
          if ((int const   )*tmp___6 != 10) {
            die_invalid_line((char const   *)((iter___0->snapshot)->refs)->path, iter___0->pos,
                             (size_t )(iter___0->eof - iter___0->pos));
          }
        }
      }
      iter___0->pos = p___0;
      if (iter___0->base.flags & 4U) {
        oidclr(& iter___0->peeled);
        iter___0->base.flags &= 4294967231U;
      } else {
        iter___0->base.flags |= 64U;
      }
    } else {
      oidclr(& iter___0->peeled);
    }
  } else {
    oidclr(& iter___0->peeled);
  }
  return (0);
}
}
static int packed_ref_iterator_advance(struct ref_iterator *ref_iterator )
{
  struct packed_ref_iterator *iter___0 ;
  int ok ;
  enum ref_type tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  iter___0 = (struct packed_ref_iterator *)ref_iterator;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    ok = next_record(iter___0);
    if (! (ok == 0)) {
      goto while_break;
    }
    if (iter___0->flags & 2U) {
      tmp = ref_type(iter___0->base.refname);
      if ((unsigned int )tmp != 0U) {
        goto while_continue;
      }
    }
    if (! (iter___0->flags & 1U)) {
      tmp___0 = ref_resolves_to_object(iter___0->base.refname, iter___0->repo, (struct object_id  const  *)(& iter___0->oid),
                                       iter___0->flags);
      if (! tmp___0) {
        goto while_continue;
      }
    }
    return (0);
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = ref_iterator_abort(ref_iterator);
  if (tmp___1 != -1) {
    ok = -2;
  }
  return (ok);
}
}
static int packed_ref_iterator_peel(struct ref_iterator *ref_iterator , struct object_id *peeled )
{
  struct packed_ref_iterator *iter___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  enum peel_status tmp___2 ;
  int tmp___3 ;
  enum peel_status tmp___4 ;

  {
  iter___0 = (struct packed_ref_iterator *)ref_iterator;
  if ((unsigned long )iter___0->repo != (unsigned long )the_repository) {
    BUG_fl((char const   *)"refs/packed-backend.c", 889, (char const   *)"peeling for non-the_repository is not supported");
  }
  if (iter___0->base.flags & 64U) {
    oidcpy(peeled, (struct object_id  const  *)(& iter___0->peeled));
    tmp___1 = is_null_oid((struct object_id  const  *)(& iter___0->peeled));
    if (tmp___1) {
      tmp___0 = -1;
    } else {
      tmp___0 = 0;
    }
    return (tmp___0);
  } else
  if (iter___0->base.flags & 5U) {
    return (-1);
  } else {
    tmp___4 = peel_object((struct object_id  const  *)(& iter___0->oid), peeled);
    if (tmp___4) {
      tmp___3 = -1;
    } else {
      tmp___3 = 0;
    }
    return (tmp___3);
  }
}
}
static int packed_ref_iterator_abort(struct ref_iterator *ref_iterator )
{
  struct packed_ref_iterator *iter___0 ;
  int ok ;

  {
  iter___0 = (struct packed_ref_iterator *)ref_iterator;
  ok = -1;
  strbuf_release(& iter___0->refname_buf);
  release_snapshot(iter___0->snapshot);
  base_ref_iterator_free(ref_iterator);
  return (ok);
}
}
static struct ref_iterator_vtable packed_ref_iterator_vtable  =    {& packed_ref_iterator_advance, & packed_ref_iterator_peel, & packed_ref_iterator_abort};
static struct ref_iterator *packed_ref_iterator_begin(struct ref_store *ref_store ,
                                                      char const   *prefix___1 , unsigned int flags___0 )
{
  struct packed_ref_store *refs___0 ;
  struct snapshot *snapshot ;
  char const   *start ;
  struct packed_ref_iterator *iter___0 ;
  struct ref_iterator *ref_iterator ;
  unsigned int required_flags ;
  struct ref_iterator *tmp ;
  void *tmp___0 ;

  {
  required_flags = 1U;
  if (! (flags___0 & 1U)) {
    required_flags |= (unsigned int )(1 << 2);
  }
  refs___0 = packed_downcast(ref_store, required_flags, (char const   *)"ref_iterator_begin");
  snapshot = get_snapshot(refs___0);
  if (prefix___1) {
    if (*prefix___1) {
      start = find_reference_location(snapshot, prefix___1, 0);
    } else {
      start = (char const   *)snapshot->start;
    }
  } else {
    start = (char const   *)snapshot->start;
  }
  if ((unsigned long )start == (unsigned long )snapshot->eof) {
    tmp = empty_ref_iterator_begin();
    return (tmp);
  }
  tmp___0 = xcalloc((size_t )1, sizeof(*iter___0));
  iter___0 = (struct packed_ref_iterator *)tmp___0;
  ref_iterator = & iter___0->base;
  base_ref_iterator_init(ref_iterator, & packed_ref_iterator_vtable, 1);
  iter___0->snapshot = snapshot;
  acquire_snapshot(snapshot);
  iter___0->pos = start;
  iter___0->eof = (char const   *)snapshot->eof;
  strbuf_init(& iter___0->refname_buf, (size_t )0);
  iter___0->base.oid = (struct object_id  const  *)(& iter___0->oid);
  iter___0->repo = ref_store->repo;
  iter___0->flags = flags___0;
  if (prefix___1) {
    if (*prefix___1) {
      ref_iterator = prefix_ref_iterator_begin(ref_iterator, prefix___1, 0);
    }
  }
  return (ref_iterator);
}
}
static int write_packed_entry(FILE *fh , char const   *refname , struct object_id  const  *oid ,
                              struct object_id  const  *peeled )
{
  char *tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  tmp = oid_to_hex(oid);
  tmp___0 = fprintf(fh, (char const   *)"%s %s\n", tmp, refname);
  if (tmp___0 < 0) {
    return (-1);
  } else
  if (peeled) {
    tmp___1 = oid_to_hex(peeled);
    tmp___2 = fprintf(fh, (char const   *)"^%s\n", tmp___1);
    if (tmp___2 < 0) {
      return (-1);
    }
  }
  return (0);
}
}
static int timeout_configured  =    0;
static int timeout_value  =    1000;
int packed_refs_lock(struct ref_store *ref_store , int flags___0 , struct strbuf *err___4 )
{
  struct packed_ref_store *refs___0 ;
  struct packed_ref_store *tmp ;
  int *tmp___0 ;
  int tmp___1 ;
  int *tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;

  {
  tmp = packed_downcast(ref_store, (unsigned int )((1 << 1) | (1 << 3)), (char const   *)"packed_refs_lock");
  refs___0 = tmp;
  if (! timeout_configured) {
    git_config_get_int((char const   *)"core.packedrefstimeout", & timeout_value);
    timeout_configured = 1;
  }
  tmp___1 = hold_lock_file_for_update_timeout(& refs___0->lock, (char const   *)refs___0->path,
                                              flags___0, (long )timeout_value);
  if (tmp___1 < 0) {
    tmp___0 = __errno_location();
    unable_to_lock_message((char const   *)refs___0->path, *tmp___0, err___4);
    return (-1);
  }
  tmp___4 = close_lock_file_gently(& refs___0->lock);
  if (tmp___4) {
    tmp___2 = __errno_location();
    tmp___3 = strerror(*tmp___2);
    strbuf_addf(err___4, (char const   *)"unable to close %s: %s", refs___0->path,
                tmp___3);
    rollback_lock_file(& refs___0->lock);
    return (-1);
  }
  clear_snapshot(refs___0);
  get_snapshot(refs___0);
  return (0);
}
}
void packed_refs_unlock(struct ref_store *ref_store )
{
  struct packed_ref_store *refs___0 ;
  struct packed_ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = packed_downcast(ref_store, (unsigned int )(1 | (1 << 1)), (char const   *)"packed_refs_unlock");
  refs___0 = tmp;
  tmp___0 = is_lock_file_locked(& refs___0->lock);
  if (! tmp___0) {
    BUG_fl((char const   *)"refs/packed-backend.c", 1056, (char const   *)"packed_refs_unlock() called when not locked");
  }
  rollback_lock_file(& refs___0->lock);
  return;
}
}
int packed_refs_is_locked(struct ref_store *ref_store )
{
  struct packed_ref_store *refs___0 ;
  struct packed_ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = packed_downcast(ref_store, (unsigned int )(1 | (1 << 1)), (char const   *)"packed_refs_is_locked");
  refs___0 = tmp;
  tmp___0 = is_lock_file_locked(& refs___0->lock);
  return (tmp___0);
}
}
static char const   PACKED_REFS_HEADER[47]  =
  {      (char const   )'#',      (char const   )' ',      (char const   )'p',      (char const   )'a',
        (char const   )'c',      (char const   )'k',      (char const   )'-',      (char const   )'r',
        (char const   )'e',      (char const   )'f',      (char const   )'s',      (char const   )' ',
        (char const   )'w',      (char const   )'i',      (char const   )'t',      (char const   )'h',
        (char const   )':',      (char const   )' ',      (char const   )'p',      (char const   )'e',
        (char const   )'e',      (char const   )'l',      (char const   )'e',      (char const   )'d',
        (char const   )' ',      (char const   )'f',      (char const   )'u',      (char const   )'l',
        (char const   )'l',      (char const   )'y',      (char const   )'-',      (char const   )'p',
        (char const   )'e',      (char const   )'e',      (char const   )'l',      (char const   )'e',
        (char const   )'d',      (char const   )' ',      (char const   )'s',      (char const   )'o',
        (char const   )'r',      (char const   )'t',      (char const   )'e',      (char const   )'d',
        (char const   )' ',      (char const   )'\n',      (char const   )'\000'};
static int packed_init_db(struct ref_store *ref_store , struct strbuf *err___4 )
{


  {
  return (0);
}
}
static int write_with_updates(struct packed_ref_store *refs___0 , struct string_list *updates ,
                              struct strbuf *err___4 )
{
  struct ref_iterator *iter___0 ;
  size_t i ;
  int ok ;
  FILE *out ;
  struct strbuf sb___6 ;
  char *packed_refs_path ;
  int tmp ;
  int *tmp___0 ;
  char *tmp___1 ;
  int *tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  struct ref_update *update___1 ;
  int cmp___0 ;
  char *tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char *tmp___9 ;
  int tmp___10 ;
  struct object_id peeled ;
  int peel_error ;
  int tmp___11 ;
  struct object_id *tmp___12 ;
  int tmp___13 ;
  struct object_id peeled___0 ;
  int peel_error___0 ;
  enum peel_status tmp___14 ;
  struct object_id *tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int *tmp___18 ;
  char *tmp___19 ;
  char const   *tmp___20 ;
  int tmp___21 ;
  int *tmp___22 ;
  char *tmp___23 ;
  char const   *tmp___24 ;

  {
  iter___0 = (struct ref_iterator *)((void *)0);
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = is_lock_file_locked(& refs___0->lock);
  if (! tmp) {
    BUG_fl((char const   *)"refs/packed-backend.c", 1109, (char const   *)"write_with_updates() called while unlocked");
  }
  packed_refs_path = get_locked_file_path(& refs___0->lock);
  strbuf_addf(& sb___6, (char const   *)"%s.new", packed_refs_path);
  free((void *)packed_refs_path);
  refs___0->tempfile = create_tempfile((char const   *)sb___6.buf);
  if (! refs___0->tempfile) {
    tmp___0 = __errno_location();
    tmp___1 = strerror(*tmp___0);
    strbuf_addf(err___4, (char const   *)"unable to create file %s: %s", sb___6.buf,
                tmp___1);
    strbuf_release(& sb___6);
    return (-1);
  }
  strbuf_release(& sb___6);
  out = fdopen_tempfile(refs___0->tempfile, (char const   *)"w");
  if (! out) {
    tmp___2 = __errno_location();
    tmp___3 = strerror(*tmp___2);
    strbuf_addf(err___4, (char const   *)"unable to fdopen packed-refs tempfile: %s",
                tmp___3);
    goto error;
  }
  tmp___4 = fprintf(out, (char const   *)"%s", PACKED_REFS_HEADER);
  if (tmp___4 < 0) {
    goto write_error;
  }
  iter___0 = packed_ref_iterator_begin(& refs___0->base, (char const   *)"", 1U);
  ok = ref_iterator_advance(iter___0);
  if (ok != 0) {
    iter___0 = (struct ref_iterator *)((void *)0);
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! iter___0) {
      if (! (i < (size_t )updates->nr)) {
        goto while_break;
      }
    }
    update___1 = (struct ref_update *)((void *)0);
    if (i >= (size_t )updates->nr) {
      cmp___0 = -1;
    } else {
      update___1 = (struct ref_update *)(updates->items + i)->util;
      if (! iter___0) {
        cmp___0 = 1;
      } else {
        cmp___0 = strcmp(iter___0->refname, update___1->refname);
      }
    }
    if (! cmp___0) {
      if (update___1->flags & (unsigned int )(1 << 3)) {
        tmp___8 = is_null_oid((struct object_id  const  *)(& update___1->old_oid));
        if (tmp___8) {
          strbuf_addf(err___4, (char const   *)"cannot update ref \'%s\': reference already exists",
                      update___1->refname);
          goto error;
        } else {
          tmp___7 = oideq((struct object_id  const  *)(& update___1->old_oid), iter___0->oid);
          if (! tmp___7) {
            tmp___5 = oid_to_hex((struct object_id  const  *)(& update___1->old_oid));
            tmp___6 = oid_to_hex(iter___0->oid);
            strbuf_addf(err___4, (char const   *)"cannot update ref \'%s\': is at %s but expected %s",
                        update___1->refname, tmp___6, tmp___5);
            goto error;
          }
        }
      }
      if (update___1->flags & (unsigned int )(1 << 2)) {
        ok = ref_iterator_advance(iter___0);
        if (ok != 0) {
          iter___0 = (struct ref_iterator *)((void *)0);
        }
        cmp___0 = 1;
      } else {
        i ++;
        cmp___0 = -1;
      }
    } else
    if (cmp___0 > 0) {
      if (update___1->flags & (unsigned int )(1 << 3)) {
        tmp___10 = is_null_oid((struct object_id  const  *)(& update___1->old_oid));
        if (! tmp___10) {
          tmp___9 = oid_to_hex((struct object_id  const  *)(& update___1->old_oid));
          strbuf_addf(err___4, (char const   *)"cannot update ref \'%s\': reference is missing but expected %s",
                      update___1->refname, tmp___9);
          goto error;
        }
      }
    }
    if (cmp___0 < 0) {
      tmp___11 = ref_iterator_peel(iter___0, & peeled);
      peel_error = tmp___11;
      if (peel_error) {
        tmp___12 = (struct object_id *)((void *)0);
      } else {
        tmp___12 = & peeled;
      }
      tmp___13 = write_packed_entry(out, iter___0->refname, iter___0->oid, (struct object_id  const  *)tmp___12);
      if (tmp___13) {
        goto write_error;
      }
      ok = ref_iterator_advance(iter___0);
      if (ok != 0) {
        iter___0 = (struct ref_iterator *)((void *)0);
      }
    } else {
      tmp___17 = is_null_oid((struct object_id  const  *)(& update___1->new_oid));
      if (tmp___17) {
        i ++;
      } else {
        tmp___14 = peel_object((struct object_id  const  *)(& update___1->new_oid),
                               & peeled___0);
        peel_error___0 = (int )tmp___14;
        if (peel_error___0) {
          tmp___15 = (struct object_id *)((void *)0);
        } else {
          tmp___15 = & peeled___0;
        }
        tmp___16 = write_packed_entry(out, update___1->refname, (struct object_id  const  *)(& update___1->new_oid),
                                      (struct object_id  const  *)tmp___15);
        if (tmp___16) {
          goto write_error;
        }
        i ++;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (ok != -1) {
    strbuf_addstr(err___4, (char const   *)"unable to write packed-refs file: error iterating over old contents");
    goto error;
  }
  tmp___21 = close_tempfile_gently(refs___0->tempfile);
  if (tmp___21) {
    tmp___18 = __errno_location();
    tmp___19 = strerror(*tmp___18);
    tmp___20 = get_tempfile_path(refs___0->tempfile);
    strbuf_addf(err___4, (char const   *)"error closing file %s: %s", tmp___20, tmp___19);
    strbuf_release(& sb___6);
    delete_tempfile(& refs___0->tempfile);
    return (-1);
  }
  return (0);
  write_error:
  tmp___22 = __errno_location();
  tmp___23 = strerror(*tmp___22);
  tmp___24 = get_tempfile_path(refs___0->tempfile);
  strbuf_addf(err___4, (char const   *)"error writing to %s: %s", tmp___24, tmp___23);
  error:
  if (iter___0) {
    ref_iterator_abort(iter___0);
  }
  delete_tempfile(& refs___0->tempfile);
  return (-1);
}
}
int is_packed_transaction_needed(struct ref_store *ref_store , struct ref_transaction *transaction___0 )
{
  struct packed_ref_store *refs___0 ;
  struct packed_ref_store *tmp ;
  struct strbuf referent ;
  size_t i ;
  int ret___67 ;
  int tmp___0 ;
  struct ref_update *update___1 ;
  int tmp___1 ;
  struct ref_update *update___2 ;
  int failure_errno ;
  unsigned int type___0 ;
  struct object_id oid ;
  int tmp___2 ;

  {
  tmp = packed_downcast(ref_store, 1U, (char const   *)"is_packed_transaction_needed");
  refs___0 = tmp;
  referent.alloc = 0UL;
  referent.len = 0UL;
  referent.buf = strbuf_slopbuf;
  tmp___0 = is_lock_file_locked(& refs___0->lock);
  if (! tmp___0) {
    BUG_fl((char const   *)"refs/packed-backend.c", 1300, (char const   *)"is_packed_transaction_needed() called while unlocked");
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < transaction___0->nr)) {
      goto while_break;
    }
    update___1 = *(transaction___0->updates + i);
    if (update___1->flags & (unsigned int )(1 << 3)) {
      return (1);
    }
    if (update___1->flags & (unsigned int )(1 << 2)) {
      tmp___1 = is_null_oid((struct object_id  const  *)(& update___1->new_oid));
      if (! tmp___1) {
        return (1);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  ret___67 = 0;
  i = (size_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < transaction___0->nr)) {
      goto while_break___0;
    }
    update___2 = *(transaction___0->updates + i);
    if (! (update___2->flags & (unsigned int )(1 << 2))) {
      goto __Cont;
    }
    tmp___2 = refs_read_raw_ref(ref_store, update___2->refname, & oid, & referent,
                                & type___0, & failure_errno);
    if (tmp___2) {
      if (failure_errno != 2) {
        ret___67 = 1;
        goto while_break___0;
      }
    } else {
      ret___67 = 1;
      goto while_break___0;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_release(& referent);
  return (ret___67);
}
}
static void packed_transaction_cleanup(struct packed_ref_store *refs___0 , struct ref_transaction *transaction___0 )
{
  struct packed_transaction_backend_data *data ;
  int tmp ;
  int tmp___0 ;

  {
  data = (struct packed_transaction_backend_data *)transaction___0->backend_data;
  if (data) {
    string_list_clear(& data->updates, 0);
    tmp = is_tempfile_active(refs___0->tempfile);
    if (tmp) {
      delete_tempfile(& refs___0->tempfile);
    }
    if (data->own_lock) {
      tmp___0 = is_lock_file_locked(& refs___0->lock);
      if (tmp___0) {
        packed_refs_unlock(& refs___0->base);
        data->own_lock = 0;
      }
    }
    free((void *)data);
    transaction___0->backend_data = (void *)0;
  }
  transaction___0->state = (enum ref_transaction_state )2;
  return;
}
}
static int packed_transaction_prepare(struct ref_store *ref_store , struct ref_transaction *transaction___0 ,
                                      struct strbuf *err___4 )
{
  struct packed_ref_store *refs___0 ;
  struct packed_ref_store *tmp ;
  struct packed_transaction_backend_data *data ;
  size_t i ;
  int ret___67 ;
  void *tmp___0 ;
  struct ref_update *update___1 ;
  struct string_list_item *item___0 ;
  struct string_list_item *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = packed_downcast(ref_store, (unsigned int )((1 | (1 << 1)) | (1 << 2)), (char const   *)"ref_transaction_prepare");
  refs___0 = tmp;
  ret___67 = -2;
  tmp___0 = xcalloc((size_t )1, sizeof(*data));
  data = (struct packed_transaction_backend_data *)tmp___0;
  string_list_init_nodup(& data->updates);
  transaction___0->backend_data = (void *)data;
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < transaction___0->nr)) {
      goto while_break;
    }
    update___1 = *(transaction___0->updates + i);
    tmp___1 = string_list_append(& data->updates, update___1->refname);
    item___0 = tmp___1;
    item___0->util = (void *)update___1;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_sort(& data->updates);
  tmp___2 = ref_update_reject_duplicates(& data->updates, err___4);
  if (tmp___2) {
    goto failure;
  }
  tmp___4 = is_lock_file_locked(& refs___0->lock);
  if (! tmp___4) {
    tmp___3 = packed_refs_lock(ref_store, 0, err___4);
    if (tmp___3) {
      goto failure;
    }
    data->own_lock = 1;
  }
  tmp___5 = write_with_updates(refs___0, & data->updates, err___4);
  if (tmp___5) {
    goto failure;
  }
  transaction___0->state = (enum ref_transaction_state )1;
  return (0);
  failure:
  packed_transaction_cleanup(refs___0, transaction___0);
  return (ret___67);
}
}
static int packed_transaction_abort(struct ref_store *ref_store , struct ref_transaction *transaction___0 ,
                                    struct strbuf *err___4 )
{
  struct packed_ref_store *refs___0 ;
  struct packed_ref_store *tmp ;

  {
  tmp = packed_downcast(ref_store, (unsigned int )((1 | (1 << 1)) | (1 << 2)), (char const   *)"ref_transaction_abort");
  refs___0 = tmp;
  packed_transaction_cleanup(refs___0, transaction___0);
  return (0);
}
}
static int packed_transaction_finish(struct ref_store *ref_store , struct ref_transaction *transaction___0 ,
                                     struct strbuf *err___4 )
{
  struct packed_ref_store *refs___0 ;
  struct packed_ref_store *tmp ;
  int ret___67 ;
  char *packed_refs_path ;
  int *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  tmp = packed_downcast(ref_store, (unsigned int )((1 | (1 << 1)) | (1 << 2)), (char const   *)"ref_transaction_finish");
  refs___0 = tmp;
  ret___67 = -2;
  clear_snapshot(refs___0);
  packed_refs_path = get_locked_file_path(& refs___0->lock);
  tmp___2 = rename_tempfile(& refs___0->tempfile, (char const   *)packed_refs_path);
  if (tmp___2) {
    tmp___0 = __errno_location();
    tmp___1 = strerror(*tmp___0);
    strbuf_addf(err___4, (char const   *)"error replacing %s: %s", refs___0->path,
                tmp___1);
    goto cleanup;
  }
  ret___67 = 0;
  cleanup:
  free((void *)packed_refs_path);
  packed_transaction_cleanup(refs___0, transaction___0);
  return (ret___67);
}
}
static int packed_initial_transaction_commit(struct ref_store *ref_store , struct ref_transaction *transaction___0 ,
                                             struct strbuf *err___4 )
{
  int tmp ;

  {
  tmp = ref_transaction_commit(transaction___0, err___4);
  return (tmp);
}
}
static int packed_delete_refs(struct ref_store *ref_store , char const   *msg___5 ,
                              struct string_list *refnames , unsigned int flags___0 )
{
  struct packed_ref_store *refs___0 ;
  struct packed_ref_store *tmp ;
  struct strbuf err___4 ;
  struct ref_transaction *transaction___0 ;
  struct string_list_item *item___0 ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  tmp = packed_downcast(ref_store, (unsigned int )(1 << 1), (char const   *)"delete_refs");
  refs___0 = tmp;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  if (! refnames->nr) {
    return (0);
  }
  transaction___0 = ref_store_transaction_begin(ref_store, & err___4);
  if (! transaction___0) {
    return (-1);
  }
  item___0 = refnames->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(refnames->items + refnames->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___1 = ref_transaction_delete(transaction___0, (char const   *)item___0->string,
                                     (struct object_id  const  *)((void *)0), flags___0,
                                     msg___5, & err___4);
    if (tmp___1) {
      tmp___0 = _((char const   *)"could not delete reference %s: %s");
      warning((char const   *)tmp___0, item___0->string, err___4.buf);
      strbuf_setlen___148(& err___4, (size_t )0);
    }
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  ret___67 = ref_transaction_commit(transaction___0, & err___4);
  if (ret___67) {
    if (refnames->nr == 1U) {
      tmp___2 = _((char const   *)"could not delete reference %s: %s");
      error((char const   *)tmp___2, (refnames->items + 0)->string, err___4.buf);
      const_error();
    } else {
      tmp___3 = _((char const   *)"could not delete references: %s");
      error((char const   *)tmp___3, err___4.buf);
      const_error();
    }
  }
  ref_transaction_free(transaction___0);
  strbuf_release(& err___4);
  return (ret___67);
}
}
static int packed_pack_refs(struct ref_store *ref_store , unsigned int flags___0 )
{


  {
  return (0);
}
}
static int packed_create_symref(struct ref_store *ref_store , char const   *refname ,
                                char const   *target , char const   *logmsg )
{


  {
  BUG_fl((char const   *)"refs/packed-backend.c", 1584, (char const   *)"packed reference store does not support symrefs");
}
}
static int packed_rename_ref(struct ref_store *ref_store , char const   *oldrefname ,
                             char const   *newrefname , char const   *logmsg )
{


  {
  BUG_fl((char const   *)"refs/packed-backend.c", 1591, (char const   *)"packed reference store does not support renaming references");
}
}
static int packed_copy_ref(struct ref_store *ref_store , char const   *oldrefname ,
                           char const   *newrefname , char const   *logmsg )
{


  {
  BUG_fl((char const   *)"refs/packed-backend.c", 1598, (char const   *)"packed reference store does not support copying references");
}
}
static struct ref_iterator *packed_reflog_iterator_begin(struct ref_store *ref_store )
{
  struct ref_iterator *tmp ;

  {
  tmp = empty_ref_iterator_begin();
  return (tmp);
}
}
static int packed_for_each_reflog_ent(struct ref_store *ref_store , char const   *refname ,
                                      each_reflog_ent_fn *fn , void *cb_data )
{


  {
  BUG_fl((char const   *)"refs/packed-backend.c", 1610, (char const   *)"packed reference store does not support reflogs");
  return (0);
}
}
static int packed_for_each_reflog_ent_reverse(struct ref_store *ref_store , char const   *refname ,
                                              each_reflog_ent_fn *fn , void *cb_data )
{


  {
  BUG_fl((char const   *)"refs/packed-backend.c", 1619, (char const   *)"packed reference store does not support reflogs");
  return (0);
}
}
static int packed_reflog_exists(struct ref_store *ref_store , char const   *refname )
{


  {
  BUG_fl((char const   *)"refs/packed-backend.c", 1626, (char const   *)"packed reference store does not support reflogs");
  return (0);
}
}
static int packed_create_reflog(struct ref_store *ref_store , char const   *refname ,
                                struct strbuf *err___4 )
{


  {
  BUG_fl((char const   *)"refs/packed-backend.c", 1633, (char const   *)"packed reference store does not support reflogs");
}
}
static int packed_delete_reflog(struct ref_store *ref_store , char const   *refname )
{


  {
  BUG_fl((char const   *)"refs/packed-backend.c", 1639, (char const   *)"packed reference store does not support reflogs");
  return (0);
}
}
static int packed_reflog_expire(struct ref_store *ref_store , char const   *refname ,
                                unsigned int flags___0 , reflog_expiry_prepare_fn *prepare_fn ,
                                reflog_expiry_should_prune_fn *should_prune_fn , reflog_expiry_cleanup_fn *cleanup_fn ,
                                void *policy_cb_data )
{


  {
  BUG_fl((char const   *)"refs/packed-backend.c", 1651, (char const   *)"packed reference store does not support reflogs");
  return (0);
}
}
struct ref_storage_be refs_be_packed  =
     {(struct ref_storage_be *)((void *)0), (char const   *)"packed", & packed_ref_store_create,
    & packed_init_db, & packed_transaction_prepare, & packed_transaction_finish, & packed_transaction_abort,
    & packed_initial_transaction_commit, & packed_pack_refs, & packed_create_symref,
    & packed_delete_refs, & packed_rename_ref, & packed_copy_ref, & packed_ref_iterator_begin,
    & packed_read_raw_ref, & packed_reflog_iterator_begin, & packed_for_each_reflog_ent,
    & packed_for_each_reflog_ent_reverse, & packed_reflog_exists, & packed_create_reflog,
    & packed_delete_reflog, & packed_reflog_expire};
void add_entry_to_dir(struct ref_dir *dir , struct ref_entry *entry )
{
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (dir->nr + 1 > dir->alloc) {
      if (((dir->alloc + 16) * 3) / 2 < dir->nr + 1) {
        dir->alloc = dir->nr + 1;
      } else {
        dir->alloc = ((dir->alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(dir->entries)), (size_t )dir->alloc);
      tmp___0 = xrealloc((void *)dir->entries, tmp);
      dir->entries = (struct ref_entry **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = dir->nr;
  (dir->nr) ++;
  *(dir->entries + tmp___1) = entry;
  if (dir->nr == 1) {
    dir->sorted = dir->nr;
  } else
  if (dir->nr == dir->sorted + 1) {
    tmp___2 = strcmp((char const   *)((*(dir->entries + (dir->nr - 2)))->name), (char const   *)((*(dir->entries + (dir->nr - 1)))->name));
    if (tmp___2 < 0) {
      dir->sorted = dir->nr;
    }
  }
  return;
}
}
struct ref_dir *get_ref_dir(struct ref_entry *entry )
{
  struct ref_dir *dir ;

  {
  assert((int )entry->flag & 0x10);
  dir = & entry->u.subdir;
  if ((int )entry->flag & 0x20) {
    if (! (dir->cache)->fill_ref_dir) {
      BUG_fl((char const   *)"refs/ref-cache.c", 26, (char const   *)"incomplete ref_store without fill_ref_dir function");
    }
    (*((dir->cache)->fill_ref_dir))((dir->cache)->ref_store, dir, (char const   *)(entry->name));
    entry->flag = (unsigned char )((int )entry->flag & -33);
  }
  return (dir);
}
}
struct ref_entry *create_ref_entry(char const   *refname , struct object_id  const  *oid ,
                                   int flag )
{
  struct ref_entry *ref ;
  size_t flex_array_len_ ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = strlen(refname);
    flex_array_len_ = tmp;
    tmp___0 = st_add(sizeof(*ref), flex_array_len_);
    tmp___1 = st_add(tmp___0, (size_t )1);
    tmp___2 = xcalloc((size_t )1, tmp___1);
    ref = (struct ref_entry *)tmp___2;
    memcpy((void *)(ref->name), (void const   *)refname, flex_array_len_);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  oidcpy(& ref->u.value.oid, oid);
  ref->flag = (unsigned char )flag;
  return (ref);
}
}
struct ref_cache *create_ref_cache(struct ref_store *refs___0 , fill_ref_dir_fn *fill_ref_dir )
{
  struct ref_cache *ret___67 ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(*ret___67));
  ret___67 = (struct ref_cache *)tmp;
  ret___67->ref_store = refs___0;
  ret___67->fill_ref_dir = fill_ref_dir;
  ret___67->root = create_dir_entry(ret___67, (char const   *)"", (size_t )0);
  return (ret___67);
}
}
static void clear_ref_dir(struct ref_dir *dir ) ;
static void free_ref_entry(struct ref_entry *entry )
{


  {
  if ((int )entry->flag & 0x10) {
    clear_ref_dir(& entry->u.subdir);
  }
  free((void *)entry);
  return;
}
}
void free_ref_cache(struct ref_cache *cache___0 )
{


  {
  free_ref_entry(cache___0->root);
  free((void *)cache___0);
  return;
}
}
static void clear_ref_dir(struct ref_dir *dir )
{
  int i ;
  int tmp ;
  int tmp___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < dir->nr)) {
      goto while_break;
    }
    free_ref_entry(*(dir->entries + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)dir->entries);
    dir->entries = (struct ref_entry **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___0 = 0;
  dir->alloc = tmp___0;
  tmp = tmp___0;
  dir->nr = tmp;
  dir->sorted = tmp;
  return;
}
}
struct ref_entry *create_dir_entry(struct ref_cache *cache___0 , char const   *dirname___0 ,
                                   size_t len___0 )
{
  struct ref_entry *direntry ;
  size_t flex_array_len_ ;
  size_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    flex_array_len_ = len___0;
    tmp = st_add(sizeof(*direntry), flex_array_len_);
    tmp___0 = st_add(tmp, (size_t )1);
    tmp___1 = xcalloc((size_t )1, tmp___0);
    direntry = (struct ref_entry *)tmp___1;
    memcpy((void *)(direntry->name), (void const   *)dirname___0, flex_array_len_);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  direntry->u.subdir.cache = cache___0;
  direntry->flag = (unsigned char)48;
  return (direntry);
}
}
static int ref_entry_cmp(void const   *a , void const   *b___0 )
{
  struct ref_entry *one___0 ;
  struct ref_entry *two___0 ;
  int tmp ;

  {
  one___0 = *((struct ref_entry **)a);
  two___0 = *((struct ref_entry **)b___0);
  tmp = strcmp((char const   *)(one___0->name), (char const   *)(two___0->name));
  return (tmp);
}
}
static void sort_ref_dir(struct ref_dir *dir ) ;
static int ref_entry_cmp_sslice(void const   *key_ , void const   *ent_ )
{
  struct string_slice  const  *key___1 ;
  struct ref_entry  const  *ent ;
  int cmp___0 ;
  int tmp ;

  {
  key___1 = (struct string_slice  const  *)key_;
  ent = (struct ref_entry  const  *)*((struct ref_entry  const  **)ent_);
  tmp = strncmp((char const   *)key___1->str, (char const   *)(ent->name), (size_t )key___1->len);
  cmp___0 = tmp;
  if (cmp___0) {
    return (cmp___0);
  }
  return (0 - (int )((unsigned char )ent->name[key___1->len]));
}
}
int search_ref_dir(struct ref_dir *dir , char const   *refname , size_t len___0 )
{
  struct ref_entry **r ;
  struct string_slice key___1 ;
  void *tmp ;

  {
  if ((unsigned long )refname == (unsigned long )((void *)0)) {
    return (-1);
  } else
  if (! dir->nr) {
    return (-1);
  }
  sort_ref_dir(dir);
  key___1.len = len___0;
  key___1.str = refname;
  tmp = bsearch((void const   *)(& key___1), (void const   *)dir->entries, (size_t )dir->nr,
                sizeof(*(dir->entries)), & ref_entry_cmp_sslice);
  r = (struct ref_entry **)tmp;
  if ((unsigned long )r == (unsigned long )((void *)0)) {
    return (-1);
  }
  return ((int )(r - dir->entries));
}
}
static struct ref_dir *search_for_subdir(struct ref_dir *dir , char const   *subdirname ,
                                         size_t len___0 )
{
  int entry_index ;
  int tmp ;
  struct ref_entry *entry ;
  struct ref_dir *tmp___0 ;

  {
  tmp = search_ref_dir(dir, subdirname, len___0);
  entry_index = tmp;
  if (entry_index == -1) {
    return ((struct ref_dir *)((void *)0));
  }
  entry = *(dir->entries + entry_index);
  tmp___0 = get_ref_dir(entry);
  return (tmp___0);
}
}
static struct ref_dir *find_containing_dir(struct ref_dir *dir , char const   *refname )
{
  char const   *slash ;
  char *tmp ;
  char *tmp___0 ;
  size_t dirnamelen ;
  struct ref_dir *subdir ;

  {
  tmp = strchr(refname, '/');
  slash = (char const   *)tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! slash) {
      goto while_break;
    }
    dirnamelen = (size_t )((slash - refname) + 1L);
    subdir = search_for_subdir(dir, refname, dirnamelen);
    if (! subdir) {
      dir = (struct ref_dir *)((void *)0);
      goto while_break;
    }
    dir = subdir;
    tmp___0 = strchr(slash + 1, '/');
    slash = (char const   *)tmp___0;
  }
  while_break: /* CIL Label */ ;
  }
  return (dir);
}
}
struct ref_entry *find_ref_entry(struct ref_dir *dir , char const   *refname )
{
  int entry_index ;
  struct ref_entry *entry ;
  size_t tmp ;
  struct ref_entry *tmp___0 ;

  {
  dir = find_containing_dir(dir, refname);
  if (! dir) {
    return ((struct ref_entry *)((void *)0));
  }
  tmp = strlen(refname);
  entry_index = search_ref_dir(dir, refname, tmp);
  if (entry_index == -1) {
    return ((struct ref_entry *)((void *)0));
  }
  entry = *(dir->entries + entry_index);
  if ((int )entry->flag & 0x10) {
    tmp___0 = (struct ref_entry *)((void *)0);
  } else {
    tmp___0 = entry;
  }
  return (tmp___0);
}
}
static int is_dup_ref(struct ref_entry  const  *ref1 , struct ref_entry  const  *ref2 )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = strcmp((char const   *)(ref1->name), (char const   *)(ref2->name));
  if (tmp) {
    return (0);
  }
  if ((int )ref1->flag & 16) {
    die((char const   *)"Reference directory conflict: %s", ref1->name);
  } else
  if ((int )ref2->flag & 16) {
    die((char const   *)"Reference directory conflict: %s", ref1->name);
  }
  tmp___0 = oideq((struct object_id  const  *)(& ref1->u.value.oid), (struct object_id  const  *)(& ref2->u.value.oid));
  if (! tmp___0) {
    die((char const   *)"Duplicated ref, and SHA1s don\'t match: %s", ref1->name);
  }
  warning((char const   *)"Duplicated ref: %s", ref1->name);
  return (1);
}
}
static void sort_ref_dir(struct ref_dir *dir )
{
  int i ;
  int j ;
  struct ref_entry *last ;
  struct ref_entry *entry ;
  int tmp ;
  struct ref_entry *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  last = (struct ref_entry *)((void *)0);
  if (dir->sorted == dir->nr) {
    return;
  }
  sane_qsort((void *)dir->entries, (size_t )dir->nr, sizeof(*(dir->entries)), & ref_entry_cmp);
  i = 0;
  j = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (j < dir->nr)) {
      goto while_break;
    }
    entry = *(dir->entries + j);
    if (last) {
      tmp___1 = is_dup_ref((struct ref_entry  const  *)last, (struct ref_entry  const  *)entry);
      if (tmp___1) {
        free_ref_entry(entry);
      } else {
        tmp = i;
        i ++;
        tmp___0 = entry;
        *(dir->entries + tmp) = tmp___0;
        last = tmp___0;
      }
    } else {
      tmp = i;
      i ++;
      tmp___0 = entry;
      *(dir->entries + tmp) = tmp___0;
      last = tmp___0;
    }
    j ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = i;
  dir->nr = tmp___2;
  dir->sorted = tmp___2;
  return;
}
}
static enum prefix_state overlaps_prefix(char const   *dirname___0 , char const   *prefix___1 )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*prefix___1) {
      if (! ((int const   )*dirname___0 == (int const   )*prefix___1)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    dirname___0 ++;
    prefix___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! *prefix___1) {
    return ((enum prefix_state )0);
  } else
  if (! *dirname___0) {
    return ((enum prefix_state )1);
  } else {
    return ((enum prefix_state )2);
  }
}
}
static void prime_ref_dir(struct ref_dir *dir , char const   *prefix___1 )
{
  int i ;
  struct ref_entry *entry ;
  struct ref_dir *tmp ;
  enum prefix_state tmp___0 ;
  struct ref_dir *tmp___1 ;
  struct ref_dir *tmp___2 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < dir->nr)) {
      goto while_break;
    }
    entry = *(dir->entries + i);
    if (! (! ((int )entry->flag & 0x10))) {
      if (! prefix___1) {
        tmp = get_ref_dir(entry);
        prime_ref_dir(tmp, (char const   *)((void *)0));
      } else {
        tmp___0 = overlaps_prefix((char const   *)(entry->name), prefix___1);
        {
        if ((unsigned int )tmp___0 == 0U) {
          goto case_0;
        }
        if ((unsigned int )tmp___0 == 1U) {
          goto case_1;
        }
        if ((unsigned int )tmp___0 == 2U) {
          goto case_2;
        }
        goto switch_break;
        case_0: /* CIL Label */
        tmp___1 = get_ref_dir(entry);
        prime_ref_dir(tmp___1, (char const   *)((void *)0));
        goto switch_break;
        case_1: /* CIL Label */
        tmp___2 = get_ref_dir(entry);
        prime_ref_dir(tmp___2, prefix___1);
        goto switch_break;
        case_2: /* CIL Label */
        goto switch_break;
        switch_break: /* CIL Label */ ;
        }
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int cache_ref_iterator_advance(struct ref_iterator *ref_iterator )
{
  struct cache_ref_iterator *iter___0 ;
  struct cache_ref_iterator_level *level ;
  struct ref_dir *dir ;
  struct ref_entry *entry ;
  enum prefix_state entry_prefix_state ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  size_t tmp___2 ;

  {
  iter___0 = (struct cache_ref_iterator *)ref_iterator;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    level = iter___0->levels + (iter___0->levels_nr - 1UL);
    dir = level->dir;
    if (level->index == -1) {
      sort_ref_dir(dir);
    }
    (level->index) ++;
    if (level->index == (level->dir)->nr) {
      (iter___0->levels_nr) --;
      if (iter___0->levels_nr == 0UL) {
        tmp = ref_iterator_abort(ref_iterator);
        return (tmp);
      }
      goto while_continue;
    }
    entry = *(dir->entries + level->index);
    if ((unsigned int )level->prefix_state == 1U) {
      entry_prefix_state = overlaps_prefix((char const   *)(entry->name), iter___0->prefix);
      if ((unsigned int )entry_prefix_state == 2U) {
        goto while_continue;
      }
    } else {
      entry_prefix_state = level->prefix_state;
    }
    if ((int )entry->flag & 0x10) {
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (iter___0->levels_nr + 1UL > iter___0->levels_alloc) {
          if (((iter___0->levels_alloc + 16UL) * 3UL) / 2UL < iter___0->levels_nr + 1UL) {
            iter___0->levels_alloc = iter___0->levels_nr + 1UL;
          } else {
            iter___0->levels_alloc = ((iter___0->levels_alloc + 16UL) * 3UL) / 2UL;
          }
          tmp___0 = st_mult(sizeof(*(iter___0->levels)), iter___0->levels_alloc);
          tmp___1 = xrealloc((void *)iter___0->levels, tmp___0);
          iter___0->levels = (struct cache_ref_iterator_level *)tmp___1;
        }
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
      tmp___2 = iter___0->levels_nr;
      (iter___0->levels_nr) ++;
      level = iter___0->levels + tmp___2;
      level->dir = get_ref_dir(entry);
      level->prefix_state = entry_prefix_state;
      level->index = -1;
    } else {
      iter___0->base.refname = (char const   *)(entry->name);
      iter___0->base.oid = (struct object_id  const  *)(& entry->u.value.oid);
      iter___0->base.flags = (unsigned int )entry->flag;
      return (0);
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int cache_ref_iterator_peel(struct ref_iterator *ref_iterator , struct object_id *peeled )
{
  struct cache_ref_iterator *iter___0 ;
  enum peel_status tmp ;
  int tmp___0 ;
  enum peel_status tmp___1 ;

  {
  iter___0 = (struct cache_ref_iterator *)ref_iterator;
  if ((unsigned long )iter___0->repo != (unsigned long )the_repository) {
    BUG_fl((char const   *)"refs/ref-cache.c", 443, (char const   *)"peeling for non-the_repository is not supported");
  }
  tmp___1 = peel_object(ref_iterator->oid, peeled);
  if (tmp___1) {
    tmp___0 = -1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static int cache_ref_iterator_abort(struct ref_iterator *ref_iterator )
{
  struct cache_ref_iterator *iter___0 ;

  {
  iter___0 = (struct cache_ref_iterator *)ref_iterator;
  free((void *)((char *)iter___0->prefix));
  free((void *)iter___0->levels);
  base_ref_iterator_free(ref_iterator);
  return (-1);
}
}
static struct ref_iterator_vtable cache_ref_iterator_vtable  =    {& cache_ref_iterator_advance, & cache_ref_iterator_peel, & cache_ref_iterator_abort};
struct ref_iterator *cache_ref_iterator_begin(struct ref_cache *cache___0 , char const   *prefix___1 ,
                                              struct repository *repo , int prime_dir )
{
  struct ref_dir *dir ;
  struct cache_ref_iterator *iter___0 ;
  struct ref_iterator *ref_iterator ;
  struct cache_ref_iterator_level *level ;
  struct ref_iterator *tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  char *tmp___3 ;

  {
  dir = get_ref_dir(cache___0->root);
  if (prefix___1) {
    if (*prefix___1) {
      dir = find_containing_dir(dir, prefix___1);
    }
  }
  if (! dir) {
    tmp = empty_ref_iterator_begin();
    return (tmp);
  }
  if (prime_dir) {
    prime_ref_dir(dir, prefix___1);
  }
  tmp___0 = xcalloc((size_t )1, sizeof(*iter___0));
  iter___0 = (struct cache_ref_iterator *)tmp___0;
  ref_iterator = & iter___0->base;
  base_ref_iterator_init(ref_iterator, & cache_ref_iterator_vtable, 1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (10UL > iter___0->levels_alloc) {
      if (((iter___0->levels_alloc + 16UL) * 3UL) / 2UL < 10UL) {
        iter___0->levels_alloc = (size_t )10;
      } else {
        iter___0->levels_alloc = ((iter___0->levels_alloc + 16UL) * 3UL) / 2UL;
      }
      tmp___1 = st_mult(sizeof(*(iter___0->levels)), iter___0->levels_alloc);
      tmp___2 = xrealloc((void *)iter___0->levels, tmp___1);
      iter___0->levels = (struct cache_ref_iterator_level *)tmp___2;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  iter___0->levels_nr = (size_t )1;
  level = iter___0->levels + 0;
  level->index = -1;
  level->dir = dir;
  if (prefix___1) {
    if (*prefix___1) {
      tmp___3 = xstrdup(prefix___1);
      iter___0->prefix = (char const   *)tmp___3;
      level->prefix_state = (enum prefix_state )1;
    } else {
      level->prefix_state = (enum prefix_state )0;
    }
  } else {
    level->prefix_state = (enum prefix_state )0;
  }
  iter___0->repo = repo;
  return (ref_iterator);
}
}
static struct refspec_item s_tag_refspec  =    {0U, 1U, 0U, 0U, 0U, "refs/tags/*", "refs/tags/*"};
struct refspec_item  const  *tag_refspec  =    (struct refspec_item  const  *)(& s_tag_refspec);
static int parse_refspec(struct refspec_item *item___0 , char const   *refspec , int fetch )
{
  size_t llen ;
  int is_glob ;
  char const   *lhs ;
  char const   *rhs ;
  int flags___0 ;
  char *tmp ;
  size_t rlen ;
  size_t tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  int tmp___5 ;
  struct object_id unused ;
  int tmp___6 ;
  int tmp___7 ;
  struct object_id unused___0 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;

  {
  is_glob = 0;
  lhs = refspec;
  if ((int const   )*lhs == 43) {
    item___0->force = 1U;
    lhs ++;
  } else
  if ((int const   )*lhs == 94) {
    item___0->negative = 1U;
    lhs ++;
  }
  tmp = strrchr(lhs, ':');
  rhs = (char const   *)tmp;
  if (item___0->negative) {
    if (rhs) {
      return (0);
    }
  }
  if (! fetch) {
    if ((unsigned long )rhs == (unsigned long )lhs) {
      if ((int const   )*(rhs + 1) == 0) {
        item___0->matching = 1U;
        return (1);
      }
    }
  }
  if (rhs) {
    rhs ++;
    tmp___0 = strlen(rhs);
    rlen = tmp___0;
    if (1UL <= rlen) {
      tmp___1 = strchr(rhs, '*');
      if (tmp___1) {
        tmp___2 = 1;
      } else {
        tmp___2 = 0;
      }
    } else {
      tmp___2 = 0;
    }
    is_glob = tmp___2;
    item___0->dst = xstrndup(rhs, rlen);
  } else {
    item___0->dst = (char *)((void *)0);
  }
  if (rhs) {
    llen = (size_t )((rhs - lhs) - 1L);
  } else {
    tmp___3 = strlen(lhs);
    llen = tmp___3;
  }
  if (1UL <= llen) {
    tmp___4 = memchr((void const   *)lhs, '*', llen);
    if (tmp___4) {
      if (rhs) {
        if (! is_glob) {
          return (0);
        } else {
          goto _L;
        }
      } else
      _L: /* CIL Label */
      if (! rhs) {
        if (! item___0->negative) {
          if (fetch) {
            return (0);
          }
        }
      }
      is_glob = 1;
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  if (rhs) {
    if (is_glob) {
      return (0);
    }
  }
  item___0->pattern = (unsigned int )is_glob;
  if (llen == 1UL) {
    if ((int const   )*lhs == 64) {
      item___0->src = xstrdup((char const   *)"HEAD");
    } else {
      item___0->src = xstrndup(lhs, llen);
    }
  } else {
    item___0->src = xstrndup(lhs, llen);
  }
  if (is_glob) {
    tmp___5 = 2;
  } else {
    tmp___5 = 0;
  }
  flags___0 = 1 | tmp___5;
  if (item___0->negative) {
    if (! *(item___0->src)) {
      return (0);
    } else
    if (llen == (size_t )(the_repository->hash_algo)->hexsz) {
      tmp___7 = get_oid_hex((char const   *)item___0->src, & unused);
      if (tmp___7) {
        goto _L___1;
      } else {
        return (0);
      }
    } else {
      _L___1: /* CIL Label */
      tmp___6 = check_refname_format((char const   *)item___0->src, flags___0);
      if (tmp___6) {
        return (0);
      }
    }
    return (1);
  }
  if (fetch) {
    if (! (! *(item___0->src))) {
      if (llen == (size_t )(the_repository->hash_algo)->hexsz) {
        tmp___9 = get_oid_hex((char const   *)item___0->src, & unused___0);
        if (tmp___9) {
          goto _L___2;
        } else {
          item___0->exact_sha1 = 1U;
        }
      } else {
        _L___2: /* CIL Label */
        tmp___8 = check_refname_format((char const   *)item___0->src, flags___0);
        if (tmp___8) {
          return (0);
        }
      }
    }
    if (! (! item___0->dst)) {
      if (! (! *(item___0->dst))) {
        tmp___10 = check_refname_format((char const   *)item___0->dst, flags___0);
        if (tmp___10) {
          return (0);
        }
      }
    }
  } else {
    if (! (! *(item___0->src))) {
      if (is_glob) {
        tmp___11 = check_refname_format((char const   *)item___0->src, flags___0);
        if (tmp___11) {
          return (0);
        }
      }
    }
    if (! item___0->dst) {
      tmp___12 = check_refname_format((char const   *)item___0->src, flags___0);
      if (tmp___12) {
        return (0);
      }
    } else
    if (! *(item___0->dst)) {
      return (0);
    } else {
      tmp___13 = check_refname_format((char const   *)item___0->dst, flags___0);
      if (tmp___13) {
        return (0);
      }
    }
  }
  return (1);
}
}
int refspec_item_init(struct refspec_item *item___0 , char const   *refspec , int fetch )
{
  int tmp ;

  {
  memset((void *)item___0, 0, sizeof(*item___0));
  tmp = parse_refspec(item___0, refspec, fetch);
  return (tmp);
}
}
void refspec_item_init_or_die(struct refspec_item *item___0 , char const   *refspec ,
                              int fetch )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  tmp___0 = refspec_item_init(item___0, refspec, fetch);
  if (! tmp___0) {
    tmp = _((char const   *)"invalid refspec \'%s\'");
    die((char const   *)tmp, refspec);
  }
  return;
}
}
void refspec_item_clear(struct refspec_item *item___0 )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)item___0->src);
    item___0->src = (char *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)item___0->dst);
    item___0->dst = (char *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  item___0->force = 0U;
  item___0->pattern = 0U;
  item___0->matching = 0U;
  item___0->exact_sha1 = 0U;
  return;
}
}
void refspec_init(struct refspec *rs___0 , int fetch )
{


  {
  memset((void *)rs___0, 0, sizeof(*rs___0));
  rs___0->fetch = fetch;
  return;
}
}
static void refspec_append_nodup(struct refspec *rs___0 , char *refspec )
{
  struct refspec_item item___0 ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;
  int tmp___4 ;

  {
  refspec_item_init_or_die(& item___0, (char const   *)refspec, rs___0->fetch);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (rs___0->nr + 1 > rs___0->alloc) {
      if (((rs___0->alloc + 16) * 3) / 2 < rs___0->nr + 1) {
        rs___0->alloc = rs___0->nr + 1;
      } else {
        rs___0->alloc = ((rs___0->alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(rs___0->items)), (size_t )rs___0->alloc);
      tmp___0 = xrealloc((void *)rs___0->items, tmp);
      rs___0->items = (struct refspec_item *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = rs___0->nr;
  (rs___0->nr) ++;
  *(rs___0->items + tmp___1) = item___0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (rs___0->raw_nr + 1 > rs___0->raw_alloc) {
      if (((rs___0->raw_alloc + 16) * 3) / 2 < rs___0->raw_nr + 1) {
        rs___0->raw_alloc = rs___0->raw_nr + 1;
      } else {
        rs___0->raw_alloc = ((rs___0->raw_alloc + 16) * 3) / 2;
      }
      tmp___2 = st_mult(sizeof(*(rs___0->raw)), (size_t )rs___0->raw_alloc);
      tmp___3 = xrealloc((void *)rs___0->raw, tmp___2);
      rs___0->raw = (char const   **)tmp___3;
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___4 = rs___0->raw_nr;
  (rs___0->raw_nr) ++;
  *(rs___0->raw + tmp___4) = (char const   *)refspec;
  return;
}
}
void refspec_append(struct refspec *rs___0 , char const   *refspec )
{
  char *tmp ;

  {
  tmp = xstrdup(refspec);
  refspec_append_nodup(rs___0, tmp);
  return;
}
}
void ( /* format attribute */  refspec_appendf)(struct refspec *rs___0 , char const   *fmt
                                                , ...)
{
  va_list ap ;
  char *tmp ;

  {
  __builtin_va_start(ap, fmt);
  tmp = xstrvfmt(fmt, ap);
  refspec_append_nodup(rs___0, tmp);
  __builtin_va_end(ap);
  return;
}
}
void refspec_appendn(struct refspec *rs___0 , char const   **refspecs___0 , int nr___0 )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break;
    }
    refspec_append(rs___0, *(refspecs___0 + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void refspec_clear(struct refspec *rs___0 )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < rs___0->nr)) {
      goto while_break;
    }
    refspec_item_clear(rs___0->items + i);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)rs___0->items);
    rs___0->items = (struct refspec_item *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  rs___0->alloc = 0;
  rs___0->nr = 0;
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < rs___0->raw_nr)) {
      goto while_break___1;
    }
    free((void *)((char *)*(rs___0->raw + i)));
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    free((void *)rs___0->raw);
    rs___0->raw = (char const   **)((void *)0);
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  rs___0->raw_alloc = 0;
  rs___0->raw_nr = 0;
  rs___0->fetch = 0;
  return;
}
}
int valid_fetch_refspec(char const   *fetch_refspec_str )
{
  struct refspec_item refspec ;
  int ret___67 ;
  int tmp ;

  {
  tmp = refspec_item_init(& refspec, fetch_refspec_str, 1);
  ret___67 = tmp;
  refspec_item_clear(& refspec);
  return (ret___67);
}
}
int valid_remote_name(char const   *name___0 )
{
  int result___0 ;
  struct strbuf refspec ;

  {
  refspec.alloc = 0UL;
  refspec.len = 0UL;
  refspec.buf = strbuf_slopbuf;
  strbuf_addf(& refspec, (char const   *)"refs/heads/test:refs/remotes/%s/test", name___0);
  result___0 = valid_fetch_refspec((char const   *)refspec.buf);
  strbuf_release(& refspec);
  return (result___0);
}
}
void refspec_ref_prefixes(struct refspec  const  *rs___0 , struct strvec *ref_prefixes )
{
  int i ;
  struct refspec_item  const  *item___0 ;
  char const   *prefix___1 ;
  char const   *glob___0 ;
  char *tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (int )rs___0->nr)) {
      goto while_break;
    }
    item___0 = (struct refspec_item  const  *)(rs___0->items + i);
    prefix___1 = (char const   *)((void *)0);
    if (item___0->exact_sha1) {
      goto __Cont;
    } else
    if (item___0->negative) {
      goto __Cont;
    }
    if (rs___0->fetch == 1) {
      prefix___1 = (char const   *)item___0->src;
    } else
    if (item___0->dst) {
      prefix___1 = (char const   *)item___0->dst;
    } else
    if (item___0->src) {
      if (! item___0->exact_sha1) {
        prefix___1 = (char const   *)item___0->src;
      }
    }
    if (! prefix___1) {
      goto __Cont;
    }
    if (item___0->pattern) {
      tmp = strchr(prefix___1, '*');
      glob___0 = (char const   *)tmp;
      strvec_pushf(ref_prefixes, (char const   *)"%.*s", (int )(glob___0 - prefix___1),
                   prefix___1);
    } else {
      expand_ref_prefix(ref_prefixes, prefix___1);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static double const   __ac_HASH_UPPER___77  =    (double const   )0.77;
__inline static void kh_resize_oid_set___77(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___77(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___77 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___77 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___77(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___77(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___77(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___77(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___77(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___77(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___77 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___77 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___77(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___77(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___77(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___77(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___77(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___77(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___77 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___77 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___77(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___77(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___77(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___77(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___57(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___57(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___77 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___77 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___57(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___57(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___57(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___57(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_contains_cache_with_stride___11(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___11(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___11(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___11(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___11(s___1, 1U);
  return;
}
}
static void clear_contains_cache___11(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___11(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___11(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___11(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___11(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___11(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___11(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___11(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___11(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___11(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___11(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___11(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___11(s___1, c___0, 0);
  return (tmp);
}
}
static int valid_remote(struct remote  const  *remote )
{
  int tmp ;

  {
  if (! (! remote->url)) {
    tmp = 1;
  } else
  if (! (! remote->foreign_vcs)) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static char const   *alias_url(char const   *url , struct rewrites *r )
{
  int i ;
  int j ;
  struct counted_string *longest ;
  int longest_i ;
  int tmp ;
  char *tmp___0 ;

  {
  longest = (struct counted_string *)((void *)0);
  longest_i = -1;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < r->rewrite_nr)) {
      goto while_break;
    }
    if (! *(r->rewrite + i)) {
      goto __Cont;
    }
    j = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < (*(r->rewrite + i))->instead_of_nr)) {
        goto while_break___0;
      }
      tmp = starts_with(url, ((*(r->rewrite + i))->instead_of + j)->s);
      if (tmp) {
        if (! longest) {
          longest = (*(r->rewrite + i))->instead_of + j;
          longest_i = i;
        } else
        if (longest->len < ((*(r->rewrite + i))->instead_of + j)->len) {
          longest = (*(r->rewrite + i))->instead_of + j;
          longest_i = i;
        }
      }
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! longest) {
    return (url);
  }
  tmp___0 = xstrfmt((char const   *)"%s%s", (*(r->rewrite + longest_i))->base, url + longest->len);
  return ((char const   *)tmp___0);
}
}
static void add_url(struct remote *remote , char const   *url )
{
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (remote->url_nr + 1 > remote->url_alloc) {
      if (((remote->url_alloc + 16) * 3) / 2 < remote->url_nr + 1) {
        remote->url_alloc = remote->url_nr + 1;
      } else {
        remote->url_alloc = ((remote->url_alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(remote->url)), (size_t )remote->url_alloc);
      tmp___0 = xrealloc((void *)remote->url, tmp);
      remote->url = (char const   **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = remote->url_nr;
  (remote->url_nr) ++;
  *(remote->url + tmp___1) = url;
  return;
}
}
static void add_pushurl(struct remote *remote , char const   *pushurl )
{
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (remote->pushurl_nr + 1 > remote->pushurl_alloc) {
      if (((remote->pushurl_alloc + 16) * 3) / 2 < remote->pushurl_nr + 1) {
        remote->pushurl_alloc = remote->pushurl_nr + 1;
      } else {
        remote->pushurl_alloc = ((remote->pushurl_alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(remote->pushurl)), (size_t )remote->pushurl_alloc);
      tmp___0 = xrealloc((void *)remote->pushurl, tmp);
      remote->pushurl = (char const   **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = remote->pushurl_nr;
  (remote->pushurl_nr) ++;
  *(remote->pushurl + tmp___1) = pushurl;
  return;
}
}
static void add_pushurl_alias(struct remote_state *remote_state , struct remote *remote ,
                              char const   *url )
{
  char const   *pushurl ;
  char const   *tmp ;

  {
  tmp = alias_url(url, & remote_state->rewrites_push);
  pushurl = tmp;
  if ((unsigned long )pushurl != (unsigned long )url) {
    add_pushurl(remote, pushurl);
  }
  return;
}
}
static void add_url_alias(struct remote_state *remote_state , struct remote *remote ,
                          char const   *url )
{
  char const   *tmp ;

  {
  tmp = alias_url(url, & remote_state->rewrites);
  add_url(remote, tmp);
  add_pushurl_alias(remote_state, remote, url);
  return;
}
}
static int remotes_hash_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *eptr ,
                            struct hashmap_entry  const  *entry_or_key , void const   *keydata )
{
  struct remote  const  *a ;
  struct remote  const  *b___0 ;
  struct remotes_hash_key  const  *key___1 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  key___1 = (struct remotes_hash_key  const  *)keydata;
  a = (struct remote  const  *)((char *)eptr - (unsigned long )(& ((struct remote  const  *)0)->ent));
  b___0 = (struct remote  const  *)((char *)entry_or_key - (unsigned long )(& ((struct remote  const  *)0)->ent));
  if (key___1) {
    tmp = strncmp((char const   *)a->name, (char const   *)key___1->str, (size_t )key___1->len);
    if (tmp) {
      tmp___0 = 1;
    } else
    if (*(a->name + key___1->len)) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
    return (tmp___0);
  } else {
    tmp___1 = strcmp((char const   *)a->name, (char const   *)b___0->name);
    return (tmp___1);
  }
}
}
static struct remote *make_remote(struct remote_state *remote_state , char const   *name___0 ,
                                  int len___0 )
{
  struct remote *ret___67 ;
  struct remotes_hash_key lookup ;
  struct hashmap_entry lookup_entry ;
  struct hashmap_entry *e ;
  size_t tmp ;
  unsigned int tmp___0 ;
  void *tmp___1 ;
  char *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  int tmp___5 ;
  struct hashmap_entry *tmp___6 ;
  void *tmp___7 ;

  {
  if (! len___0) {
    tmp = strlen(name___0);
    len___0 = (int )tmp;
  }
  lookup.str = name___0;
  lookup.len = len___0;
  tmp___0 = memhash((void const   *)name___0, (size_t )len___0);
  hashmap_entry_init(& lookup_entry, tmp___0);
  e = hashmap_get((struct hashmap  const  *)(& remote_state->remotes_hash), (struct hashmap_entry  const  *)(& lookup_entry),
                  (void const   *)(& lookup));
  if (e) {
    return ((struct remote *)((char *)e - (unsigned long )(& ((struct remote *)0)->ent)));
  }
  tmp___1 = xcalloc((size_t )1, sizeof(*ret___67));
  ret___67 = (struct remote *)tmp___1;
  ret___67->prune = -1;
  ret___67->prune_tags = -1;
  tmp___2 = xstrndup(name___0, (size_t )len___0);
  ret___67->name = (char const   *)tmp___2;
  refspec_init(& ret___67->push, 0);
  refspec_init(& ret___67->fetch, 1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (remote_state->remotes_nr + 1 > remote_state->remotes_alloc) {
      if (((remote_state->remotes_alloc + 16) * 3) / 2 < remote_state->remotes_nr + 1) {
        remote_state->remotes_alloc = remote_state->remotes_nr + 1;
      } else {
        remote_state->remotes_alloc = ((remote_state->remotes_alloc + 16) * 3) / 2;
      }
      tmp___3 = st_mult(sizeof(*(remote_state->remotes)), (size_t )remote_state->remotes_alloc);
      tmp___4 = xrealloc((void *)remote_state->remotes, tmp___3);
      remote_state->remotes = (struct remote **)tmp___4;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___5 = remote_state->remotes_nr;
  (remote_state->remotes_nr) ++;
  *(remote_state->remotes + tmp___5) = ret___67;
  hashmap_entry_init(& ret___67->ent, lookup_entry.hash);
  tmp___6 = hashmap_put(& remote_state->remotes_hash, & ret___67->ent);
  tmp___7 = container_of_or_null_offset((void *)tmp___6, (unsigned long )(& ((struct remote *)0)->ent));
  if (tmp___7) {
    BUG_fl((char const   *)"remote.c", 136, (char const   *)"hashmap_put overwrote entry after hashmap_get returned NULL");
  }
  return (ret___67);
}
}
static void remote_clear(struct remote *remote )
{
  int i ;

  {
  free((void *)((char *)remote->name));
  free((void *)((char *)remote->foreign_vcs));
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < remote->url_nr)) {
      goto while_break;
    }
    free((void *)((char *)*(remote->url + i)));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)remote->pushurl);
    remote->pushurl = (char const   **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < remote->pushurl_nr)) {
      goto while_break___1;
    }
    free((void *)((char *)*(remote->pushurl + i)));
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    free((void *)remote->pushurl);
    remote->pushurl = (char const   **)((void *)0);
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  free((void *)((char *)remote->receivepack));
  free((void *)((char *)remote->uploadpack));
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    free((void *)remote->http_proxy);
    remote->http_proxy = (char *)((void *)0);
    goto while_break___3;
  }
  while_break___3: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    free((void *)remote->http_proxy_authmethod);
    remote->http_proxy_authmethod = (char *)((void *)0);
    goto while_break___4;
  }
  while_break___4: /* CIL Label */ ;
  }
  return;
}
}
static void add_merge(struct branch *branch___0 , char const   *name___0 )
{
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (branch___0->merge_nr + 1 > branch___0->merge_alloc) {
      if (((branch___0->merge_alloc + 16) * 3) / 2 < branch___0->merge_nr + 1) {
        branch___0->merge_alloc = branch___0->merge_nr + 1;
      } else {
        branch___0->merge_alloc = ((branch___0->merge_alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(branch___0->merge_name)), (size_t )branch___0->merge_alloc);
      tmp___0 = xrealloc((void *)branch___0->merge_name, tmp);
      branch___0->merge_name = (char const   **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = branch___0->merge_nr;
  (branch___0->merge_nr) ++;
  *(branch___0->merge_name + tmp___1) = name___0;
  return;
}
}
static int branches_hash_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *eptr ,
                             struct hashmap_entry  const  *entry_or_key , void const   *keydata )
{
  struct branch  const  *a ;
  struct branch  const  *b___0 ;
  struct branches_hash_key  const  *key___1 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  key___1 = (struct branches_hash_key  const  *)keydata;
  a = (struct branch  const  *)((char *)eptr - (unsigned long )(& ((struct branch  const  *)0)->ent));
  b___0 = (struct branch  const  *)((char *)entry_or_key - (unsigned long )(& ((struct branch  const  *)0)->ent));
  if (key___1) {
    tmp = strncmp((char const   *)a->name, (char const   *)key___1->str, (size_t )key___1->len);
    if (tmp) {
      tmp___0 = 1;
    } else
    if (*(a->name + key___1->len)) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
    return (tmp___0);
  } else {
    tmp___1 = strcmp((char const   *)a->name, (char const   *)b___0->name);
    return (tmp___1);
  }
}
}
static struct branch *find_branch(struct remote_state *remote_state , char const   *name___0 ,
                                  size_t len___0 )
{
  struct branches_hash_key lookup ;
  struct hashmap_entry lookup_entry ;
  struct hashmap_entry *e ;
  unsigned int tmp ;

  {
  if (! len___0) {
    len___0 = strlen(name___0);
  }
  lookup.str = name___0;
  lookup.len = (int )len___0;
  tmp = memhash((void const   *)name___0, len___0);
  hashmap_entry_init(& lookup_entry, tmp);
  e = hashmap_get((struct hashmap  const  *)(& remote_state->branches_hash), (struct hashmap_entry  const  *)(& lookup_entry),
                  (void const   *)(& lookup));
  if (e) {
    return ((struct branch *)((char *)e - (unsigned long )(& ((struct branch *)0)->ent)));
  }
  return ((struct branch *)((void *)0));
}
}
static void die_on_missing_branch(struct repository *repo , struct branch *branch___0 )
{
  struct branch *tmp ;

  {
  if (branch___0) {
    tmp = find_branch(repo->remote_state, branch___0->name, (size_t )0);
    if ((unsigned long )branch___0 != (unsigned long )tmp) {
      die((char const   *)"branch %s was not found in the repository", branch___0->name);
    }
  }
  return;
}
}
static struct branch *make_branch(struct remote_state *remote_state , char const   *name___0 ,
                                  size_t len___0 )
{
  struct branch *ret___67 ;
  void *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  unsigned int tmp___2 ;
  struct hashmap_entry *tmp___3 ;
  void *tmp___4 ;

  {
  ret___67 = find_branch(remote_state, name___0, len___0);
  if (ret___67) {
    return (ret___67);
  }
  tmp = xcalloc((size_t )1, sizeof(*ret___67));
  ret___67 = (struct branch *)tmp;
  tmp___0 = xstrndup(name___0, len___0);
  ret___67->name = (char const   *)tmp___0;
  tmp___1 = xstrfmt((char const   *)"refs/heads/%s", ret___67->name);
  ret___67->refname = (char const   *)tmp___1;
  tmp___2 = memhash((void const   *)name___0, len___0);
  hashmap_entry_init(& ret___67->ent, tmp___2);
  tmp___3 = hashmap_put(& remote_state->branches_hash, & ret___67->ent);
  tmp___4 = container_of_or_null_offset((void *)tmp___3, (unsigned long )(& ((struct branch *)0)->ent));
  if (tmp___4) {
    BUG_fl((char const   *)"remote.c", 236, (char const   *)"hashmap_put overwrote entry after hashmap_get returned NULL");
  }
  return (ret___67);
}
}
static struct rewrite *make_rewrite(struct rewrites *r , char const   *base , size_t len___0 )
{
  struct rewrite *ret___67 ;
  int i ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < r->rewrite_nr)) {
      goto while_break;
    }
    if (len___0 == (*(r->rewrite + i))->baselen) {
      tmp = strncmp(base, (*(r->rewrite + i))->base, len___0);
      if (! tmp) {
        return (*(r->rewrite + i));
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (r->rewrite_nr + 1 > r->rewrite_alloc) {
      if (((r->rewrite_alloc + 16) * 3) / 2 < r->rewrite_nr + 1) {
        r->rewrite_alloc = r->rewrite_nr + 1;
      } else {
        r->rewrite_alloc = ((r->rewrite_alloc + 16) * 3) / 2;
      }
      tmp___0 = st_mult(sizeof(*(r->rewrite)), (size_t )r->rewrite_alloc);
      tmp___1 = xrealloc((void *)r->rewrite, tmp___0);
      r->rewrite = (struct rewrite **)tmp___1;
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___2 = xcalloc((size_t )1, sizeof(*ret___67));
  ret___67 = (struct rewrite *)tmp___2;
  tmp___3 = r->rewrite_nr;
  (r->rewrite_nr) ++;
  *(r->rewrite + tmp___3) = ret___67;
  tmp___4 = xstrndup(base, len___0);
  ret___67->base = (char const   *)tmp___4;
  ret___67->baselen = len___0;
  return (ret___67);
}
}
static void add_instead_of(struct rewrite *rewrite , char const   *instead_of )
{
  size_t tmp ;
  void *tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (rewrite->instead_of_nr + 1 > rewrite->instead_of_alloc) {
      if (((rewrite->instead_of_alloc + 16) * 3) / 2 < rewrite->instead_of_nr + 1) {
        rewrite->instead_of_alloc = rewrite->instead_of_nr + 1;
      } else {
        rewrite->instead_of_alloc = ((rewrite->instead_of_alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(rewrite->instead_of)), (size_t )rewrite->instead_of_alloc);
      tmp___0 = xrealloc((void *)rewrite->instead_of, tmp);
      rewrite->instead_of = (struct counted_string *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  (rewrite->instead_of + rewrite->instead_of_nr)->s = instead_of;
  (rewrite->instead_of + rewrite->instead_of_nr)->len = strlen(instead_of);
  (rewrite->instead_of_nr) ++;
  return;
}
}
static char const   *skip_spaces(char const   *s___1 )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (((int const   )sane_ctype[(unsigned char )*s___1] & 1) != 0)) {
      goto while_break;
    }
    s___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (s___1);
}
}
static void read_remotes_file(struct remote_state *remote_state , struct remote *remote )
{
  struct strbuf buf___19 ;
  FILE *f ;
  char const   *tmp ;
  FILE *tmp___0 ;
  char const   *v ;
  char const   *tmp___1 ;
  char *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = git_path((char const   *)"remotes/%s", remote->name);
  tmp___0 = fopen_or_warn(tmp, (char const   *)"r");
  f = tmp___0;
  if (! f) {
    return;
  }
  remote->configured_in_repo = 1;
  remote->origin = 2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___8 = strbuf_getline(& buf___19, f);
    if (! (tmp___8 != -1)) {
      goto while_break;
    }
    strbuf_rtrim(& buf___19);
    tmp___7 = skip_prefix((char const   *)buf___19.buf, (char const   *)"URL:", & v);
    if (tmp___7) {
      tmp___1 = skip_spaces(v);
      tmp___2 = xstrdup(tmp___1);
      add_url_alias(remote_state, remote, (char const   *)tmp___2);
    } else {
      tmp___6 = skip_prefix((char const   *)buf___19.buf, (char const   *)"Push:",
                            & v);
      if (tmp___6) {
        tmp___3 = skip_spaces(v);
        refspec_append(& remote->push, tmp___3);
      } else {
        tmp___5 = skip_prefix((char const   *)buf___19.buf, (char const   *)"Pull:",
                              & v);
        if (tmp___5) {
          tmp___4 = skip_spaces(v);
          refspec_append(& remote->fetch, tmp___4);
        }
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  fclose(f);
  return;
}
}
static void read_branches_file(struct remote_state *remote_state , struct remote *remote )
{
  char *frag ;
  struct strbuf buf___19 ;
  FILE *f ;
  char const   *tmp ;
  FILE *tmp___0 ;
  char *tmp___1 ;
  char const   *tmp___2 ;
  char *tmp___3 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = git_path((char const   *)"branches/%s", remote->name);
  tmp___0 = fopen_or_warn(tmp, (char const   *)"r");
  f = tmp___0;
  if (! f) {
    return;
  }
  strbuf_getline_lf(& buf___19, f);
  fclose(f);
  strbuf_trim(& buf___19);
  if (! buf___19.len) {
    strbuf_release(& buf___19);
    return;
  }
  remote->configured_in_repo = 1;
  remote->origin = 3;
  frag = strchr((char const   *)buf___19.buf, '#');
  if (frag) {
    tmp___1 = frag;
    frag ++;
    *tmp___1 = (char )'\000';
  } else {
    tmp___2 = git_default_branch_name(0);
    frag = (char *)tmp___2;
  }
  tmp___3 = strbuf_detach(& buf___19, (size_t *)((void *)0));
  add_url_alias(remote_state, remote, (char const   *)tmp___3);
  refspec_appendf(& remote->fetch, (char const   *)"refs/heads/%s:refs/heads/%s",
                  frag, remote->name);
  refspec_appendf(& remote->push, (char const   *)"HEAD:refs/heads/%s", frag);
  remote->fetch_tags = 1;
  return;
}
}
static int handle_config(char const   *key___1 , char const   *value , void *cb )
{
  char const   *name___0 ;
  size_t namelen ;
  char const   *subkey ;
  struct remote *remote ;
  struct branch *branch___0 ;
  struct remote_state *remote_state ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  struct rewrite *rewrite ;
  int tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;
  char *tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  enum config_scope tmp___18 ;
  enum config_scope tmp___19 ;
  char const   *v ;
  int tmp___20 ;
  char const   *v___0 ;
  int tmp___21 ;
  char const   *v___1 ;
  int tmp___22 ;
  char const   *v___2 ;
  int tmp___23 ;
  char const   *v___3 ;
  int tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  char const   *v___4 ;
  int tmp___26 ;
  char const __attribute__((__format_arg__(1)))  *tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;
  int tmp___30 ;
  int tmp___31 ;
  int tmp___32 ;
  int tmp___33 ;
  int tmp___34 ;
  int tmp___35 ;
  int tmp___36 ;
  int tmp___37 ;
  int tmp___38 ;
  int tmp___39 ;
  int tmp___40 ;
  int tmp___41 ;
  int tmp___42 ;
  int tmp___43 ;
  int tmp___44 ;
  int tmp___45 ;
  int tmp___46 ;
  int tmp___47 ;

  {
  remote_state = (struct remote_state *)cb;
  tmp___6 = parse_config_key(key___1, (char const   *)"branch", & name___0, & namelen,
                             & subkey);
  if (tmp___6 >= 0) {
    if (! name___0) {
      return (0);
    }
    branch___0 = make_branch(remote_state, name___0, namelen);
    tmp___5 = strcmp(subkey, (char const   *)"remote");
    if (tmp___5) {
      tmp___4 = strcmp(subkey, (char const   *)"pushremote");
      if (tmp___4) {
        tmp___3 = strcmp(subkey, (char const   *)"merge");
        if (! tmp___3) {
          if (! value) {
            config_error_nonbool(key___1);
            tmp___1 = const_error();
            return (tmp___1);
          }
          tmp___2 = xstrdup(value);
          add_merge(branch___0, (char const   *)tmp___2);
        }
      } else {
        tmp___0 = git_config_string(& branch___0->pushremote_name, key___1, value);
        return (tmp___0);
      }
    } else {
      tmp = git_config_string(& branch___0->remote_name, key___1, value);
      return (tmp);
    }
    return (0);
  }
  tmp___13 = parse_config_key(key___1, (char const   *)"url", & name___0, & namelen,
                              & subkey);
  if (tmp___13 >= 0) {
    if (! name___0) {
      return (0);
    }
    tmp___12 = strcmp(subkey, (char const   *)"insteadof");
    if (tmp___12) {
      tmp___11 = strcmp(subkey, (char const   *)"pushinsteadof");
      if (! tmp___11) {
        if (! value) {
          config_error_nonbool(key___1);
          tmp___9 = const_error();
          return (tmp___9);
        }
        rewrite = make_rewrite(& remote_state->rewrites_push, name___0, namelen);
        tmp___10 = xstrdup(value);
        add_instead_of(rewrite, (char const   *)tmp___10);
      }
    } else {
      if (! value) {
        config_error_nonbool(key___1);
        tmp___7 = const_error();
        return (tmp___7);
      }
      rewrite = make_rewrite(& remote_state->rewrites, name___0, namelen);
      tmp___8 = xstrdup(value);
      add_instead_of(rewrite, (char const   *)tmp___8);
    }
  }
  tmp___14 = parse_config_key(key___1, (char const   *)"remote", & name___0, & namelen,
                              & subkey);
  if (tmp___14 < 0) {
    return (0);
  }
  if (! name___0) {
    tmp___16 = strcmp(subkey, (char const   *)"pushdefault");
    if (! tmp___16) {
      tmp___15 = git_config_string(& remote_state->pushremote_name, key___1, value);
      return (tmp___15);
    }
  }
  if (! name___0) {
    return (0);
  }
  if ((int const   )*name___0 == 47) {
    tmp___17 = _((char const   *)"config remote shorthand cannot begin with \'/\': %s");
    warning((char const   *)tmp___17, name___0);
    return (0);
  }
  remote = make_remote(remote_state, name___0, (int )namelen);
  remote->origin = 1;
  tmp___18 = current_config_scope();
  if ((unsigned int )tmp___18 == 3U) {
    remote->configured_in_repo = 1;
  } else {
    tmp___19 = current_config_scope();
    if ((unsigned int )tmp___19 == 4U) {
      remote->configured_in_repo = 1;
    }
  }
  tmp___47 = strcmp(subkey, (char const   *)"mirror");
  if (tmp___47) {
    tmp___46 = strcmp(subkey, (char const   *)"skipdefaultupdate");
    if (tmp___46) {
      tmp___45 = strcmp(subkey, (char const   *)"skipfetchall");
      if (tmp___45) {
        tmp___44 = strcmp(subkey, (char const   *)"prune");
        if (tmp___44) {
          tmp___43 = strcmp(subkey, (char const   *)"prunetags");
          if (tmp___43) {
            tmp___42 = strcmp(subkey, (char const   *)"url");
            if (tmp___42) {
              tmp___41 = strcmp(subkey, (char const   *)"pushurl");
              if (tmp___41) {
                tmp___40 = strcmp(subkey, (char const   *)"push");
                if (tmp___40) {
                  tmp___39 = strcmp(subkey, (char const   *)"fetch");
                  if (tmp___39) {
                    tmp___38 = strcmp(subkey, (char const   *)"receivepack");
                    if (tmp___38) {
                      tmp___37 = strcmp(subkey, (char const   *)"uploadpack");
                      if (tmp___37) {
                        tmp___36 = strcmp(subkey, (char const   *)"tagopt");
                        if (tmp___36) {
                          tmp___35 = strcmp(subkey, (char const   *)"proxy");
                          if (tmp___35) {
                            tmp___34 = strcmp(subkey, (char const   *)"proxyauthmethod");
                            if (tmp___34) {
                              tmp___33 = strcmp(subkey, (char const   *)"vcs");
                              if (! tmp___33) {
                                tmp___32 = git_config_string(& remote->foreign_vcs,
                                                             key___1, value);
                                return (tmp___32);
                              }
                            } else {
                              tmp___31 = git_config_string((char const   **)(& remote->http_proxy_authmethod),
                                                           key___1, value);
                              return (tmp___31);
                            }
                          } else {
                            tmp___30 = git_config_string((char const   **)(& remote->http_proxy),
                                                         key___1, value);
                            return (tmp___30);
                          }
                        } else {
                          tmp___29 = strcmp(value, (char const   *)"--no-tags");
                          if (tmp___29) {
                            tmp___28 = strcmp(value, (char const   *)"--tags");
                            if (! tmp___28) {
                              remote->fetch_tags = 2;
                            }
                          } else {
                            remote->fetch_tags = -1;
                          }
                        }
                      } else {
                        tmp___26 = git_config_string(& v___4, key___1, value);
                        if (tmp___26) {
                          return (-1);
                        }
                        if (! remote->uploadpack) {
                          remote->uploadpack = v___4;
                        } else {
                          tmp___27 = _((char const   *)"more than one uploadpack given, using the first");
                          error((char const   *)tmp___27);
                          const_error();
                        }
                      }
                    } else {
                      tmp___24 = git_config_string(& v___3, key___1, value);
                      if (tmp___24) {
                        return (-1);
                      }
                      if (! remote->receivepack) {
                        remote->receivepack = v___3;
                      } else {
                        tmp___25 = _((char const   *)"more than one receivepack given, using the first");
                        error((char const   *)tmp___25);
                        const_error();
                      }
                    }
                  } else {
                    tmp___23 = git_config_string(& v___2, key___1, value);
                    if (tmp___23) {
                      return (-1);
                    }
                    refspec_append(& remote->fetch, v___2);
                    free((void *)((char *)v___2));
                  }
                } else {
                  tmp___22 = git_config_string(& v___1, key___1, value);
                  if (tmp___22) {
                    return (-1);
                  }
                  refspec_append(& remote->push, v___1);
                  free((void *)((char *)v___1));
                }
              } else {
                tmp___21 = git_config_string(& v___0, key___1, value);
                if (tmp___21) {
                  return (-1);
                }
                add_pushurl(remote, v___0);
              }
            } else {
              tmp___20 = git_config_string(& v, key___1, value);
              if (tmp___20) {
                return (-1);
              }
              add_url(remote, v);
            }
          } else {
            remote->prune_tags = git_config_bool(key___1, value);
          }
        } else {
          remote->prune = git_config_bool(key___1, value);
        }
      } else {
        remote->skip_default_update = git_config_bool(key___1, value);
      }
    } else {
      remote->skip_default_update = git_config_bool(key___1, value);
    }
  } else {
    remote->mirror = git_config_bool(key___1, value);
  }
  return (0);
}
}
static void alias_all_urls(struct remote_state *remote_state )
{
  int i ;
  int j ;
  int add_pushurl_aliases ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < remote_state->remotes_nr)) {
      goto while_break;
    }
    if (! *(remote_state->remotes + i)) {
      goto __Cont;
    }
    j = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < (*(remote_state->remotes + i))->pushurl_nr)) {
        goto while_break___0;
      }
      *((*(remote_state->remotes + i))->pushurl + j) = alias_url(*((*(remote_state->remotes + i))->pushurl + j),
                                                                 & remote_state->rewrites);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    add_pushurl_aliases = (*(remote_state->remotes + i))->pushurl_nr == 0;
    j = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (j < (*(remote_state->remotes + i))->url_nr)) {
        goto while_break___1;
      }
      if (add_pushurl_aliases) {
        add_pushurl_alias(remote_state, *(remote_state->remotes + i), *((*(remote_state->remotes + i))->url + j));
      }
      *((*(remote_state->remotes + i))->url + j) = alias_url(*((*(remote_state->remotes + i))->url + j),
                                                             & remote_state->rewrites);
      j ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void read_config(struct repository *repo )
{
  int flag ;
  int ignore_errno ;
  char const   *head_ref___0 ;
  struct ref_store *tmp ;
  char const   *tmp___0 ;
  size_t tmp___1 ;
  int tmp___2 ;

  {
  if ((repo->remote_state)->initialized) {
    return;
  }
  (repo->remote_state)->initialized = 1;
  (repo->remote_state)->current_branch = (struct branch *)((void *)0);
  if (startup_info->have_repository) {
    tmp = get_main_ref_store(repo);
    tmp___0 = refs_resolve_ref_unsafe(tmp, (char const   *)"HEAD", 0, (struct object_id *)((void *)0),
                                      & flag, & ignore_errno);
    head_ref___0 = tmp___0;
    if (head_ref___0) {
      if (flag & 0x01) {
        tmp___2 = skip_prefix(head_ref___0, (char const   *)"refs/heads/", & head_ref___0);
        if (tmp___2) {
          tmp___1 = strlen(head_ref___0);
          (repo->remote_state)->current_branch = make_branch(repo->remote_state, head_ref___0,
                                                             tmp___1);
        }
      }
    }
  }
  repo_config(repo, & handle_config, (void *)repo->remote_state);
  alias_all_urls(repo->remote_state);
  return;
}
}
static int valid_remote_nick(char const   *name___0 )
{
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  if (! *(name___0 + 0)) {
    return (0);
  } else {
    tmp = is_dot_or_dotdot(name___0);
    if (tmp) {
      return (0);
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *name___0) {
      goto while_break;
    }
    tmp___0 = name___0;
    name___0 ++;
    tmp___1 = git_is_dir_sep((int )*tmp___0);
    if (tmp___1) {
      return (0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static char const   *remotes_remote_for_branch(struct remote_state *remote_state ,
                                               struct branch *branch___0 , int *explicit )
{


  {
  if (branch___0) {
    if (branch___0->remote_name) {
      if (explicit) {
        *explicit = 1;
      }
      return (branch___0->remote_name);
    }
  }
  if (explicit) {
    *explicit = 0;
  }
  return ((char const   *)"origin");
}
}
char const   *remote_for_branch(struct branch *branch___0 , int *explicit )
{
  char const   *tmp ;

  {
  read_config(the_repository);
  die_on_missing_branch(the_repository, branch___0);
  tmp = remotes_remote_for_branch(the_repository->remote_state, branch___0, explicit);
  return (tmp);
}
}
static char const   *remotes_pushremote_for_branch(struct remote_state *remote_state ,
                                                   struct branch *branch___0 , int *explicit )
{
  char const   *tmp ;

  {
  if (branch___0) {
    if (branch___0->pushremote_name) {
      if (explicit) {
        *explicit = 1;
      }
      return (branch___0->pushremote_name);
    }
  }
  if (remote_state->pushremote_name) {
    if (explicit) {
      *explicit = 1;
    }
    return (remote_state->pushremote_name);
  }
  tmp = remotes_remote_for_branch(remote_state, branch___0, explicit);
  return (tmp);
}
}
char const   *pushremote_for_branch(struct branch *branch___0 , int *explicit )
{
  char const   *tmp ;

  {
  read_config(the_repository);
  die_on_missing_branch(the_repository, branch___0);
  tmp = remotes_pushremote_for_branch(the_repository->remote_state, branch___0, explicit);
  return (tmp);
}
}
__inline static struct remote *remotes_remote_get(struct remote_state *remote_state ,
                                                  char const   *name___0 ) ;
char const   *remote_ref_for_branch(struct branch *branch___0 , int for_push )
{
  char const   *dst ;
  char const   *remote_name___0 ;
  char const   *tmp ;
  struct remote *remote ;
  struct remote *tmp___0 ;
  char *tmp___1 ;

  {
  read_config(the_repository);
  die_on_missing_branch(the_repository, branch___0);
  if (branch___0) {
    if (! for_push) {
      if (branch___0->merge_nr) {
        return (*(branch___0->merge_name + 0));
      }
    } else {
      tmp = remotes_pushremote_for_branch(the_repository->remote_state, branch___0,
                                          (int *)((void *)0));
      remote_name___0 = tmp;
      tmp___0 = remotes_remote_get(the_repository->remote_state, remote_name___0);
      remote = tmp___0;
      if (remote) {
        if (remote->push.nr) {
          tmp___1 = apply_refspecs(& remote->push, branch___0->refname);
          dst = (char const   *)tmp___1;
          if (dst) {
            return (dst);
          }
        }
      }
    }
  }
  return ((char const   *)((void *)0));
}
}
static struct remote *remotes_remote_get_1(struct remote_state *remote_state , char const   *name___0 ,
                                           char const   *(*get_default)(struct remote_state * ,
                                                                        struct branch * ,
                                                                        int * ) )
{
  struct remote *ret___67 ;
  int name_given ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  name_given = 0;
  if (name___0) {
    name_given = 1;
  } else {
    name___0 = (*get_default)(remote_state, remote_state->current_branch, & name_given);
  }
  ret___67 = make_remote(remote_state, name___0, 0);
  tmp___1 = valid_remote_nick(name___0);
  if (tmp___1) {
    tmp___2 = have_git_dir();
    if (tmp___2) {
      tmp = valid_remote((struct remote  const  *)ret___67);
      if (! tmp) {
        read_remotes_file(remote_state, ret___67);
      }
      tmp___0 = valid_remote((struct remote  const  *)ret___67);
      if (! tmp___0) {
        read_branches_file(remote_state, ret___67);
      }
    }
  }
  if (name_given) {
    tmp___3 = valid_remote((struct remote  const  *)ret___67);
    if (! tmp___3) {
      add_url_alias(remote_state, ret___67, name___0);
    }
  }
  tmp___4 = valid_remote((struct remote  const  *)ret___67);
  if (! tmp___4) {
    return ((struct remote *)((void *)0));
  }
  return (ret___67);
}
}
__inline static struct remote *remotes_remote_get(struct remote_state *remote_state ,
                                                  char const   *name___0 )
{
  struct remote *tmp ;

  {
  tmp = remotes_remote_get_1(remote_state, name___0, & remotes_remote_for_branch);
  return (tmp);
}
}
struct remote *remote_get(char const   *name___0 )
{
  struct remote *tmp ;

  {
  read_config(the_repository);
  tmp = remotes_remote_get(the_repository->remote_state, name___0);
  return (tmp);
}
}
__inline static struct remote *remotes_pushremote_get(struct remote_state *remote_state ,
                                                      char const   *name___0 )
{
  struct remote *tmp ;

  {
  tmp = remotes_remote_get_1(remote_state, name___0, & remotes_pushremote_for_branch);
  return (tmp);
}
}
struct remote *pushremote_get(char const   *name___0 )
{
  struct remote *tmp ;

  {
  read_config(the_repository);
  tmp = remotes_pushremote_get(the_repository->remote_state, name___0);
  return (tmp);
}
}
int remote_is_configured(struct remote *remote , int in_repo )
{


  {
  if (! remote) {
    return (0);
  }
  if (in_repo) {
    return (remote->configured_in_repo);
  }
  return (! (! remote->origin));
}
}
int for_each_remote(each_remote_fn *fn , void *priv )
{
  int i ;
  int result___0 ;
  struct remote *remote ;

  {
  result___0 = 0;
  read_config(the_repository);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i < (the_repository->remote_state)->remotes_nr) {
      if (! (! result___0)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    remote = *((the_repository->remote_state)->remotes + i);
    if (! remote) {
      goto __Cont;
    }
    result___0 = (*fn)(remote, priv);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (result___0);
}
}
static void handle_duplicate(struct ref *ref1 , struct ref *ref2 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  tmp___2 = strcmp((char const   *)(ref1->name), (char const   *)(ref2->name));
  if (tmp___2) {
    if ((int )ref1->fetch_head_status != 1) {
      if ((int )ref2->fetch_head_status != 1) {
        tmp = _((char const   *)"Cannot fetch both %s and %s to %s");
        die((char const   *)tmp, ref1->name, ref2->name, (ref2->peer_ref)->name);
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if ((int )ref1->fetch_head_status != 1) {
      if ((int )ref2->fetch_head_status == 1) {
        tmp___0 = _((char const   *)"%s usually tracks %s, not %s");
        warning((char const   *)tmp___0, (ref2->peer_ref)->name, ref2->name, ref1->name);
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if ((int )ref1->fetch_head_status == 1) {
      if ((int )ref2->fetch_head_status == 1) {
        tmp___1 = _((char const   *)"%s tracks both %s and %s");
        die((char const   *)tmp___1, (ref2->peer_ref)->name, ref1->name, ref2->name);
      } else {
        BUG_fl((char const   *)"remote.c", 715, (char const   *)"Internal error");
      }
    } else {
      BUG_fl((char const   *)"remote.c", 715, (char const   *)"Internal error");
    }
  }
  free((void *)ref2->peer_ref);
  free((void *)ref2);
  return;
}
}
struct ref *ref_remove_duplicates(struct ref *ref_map )
{
  struct string_list refs___0 ;
  struct ref *retval ;
  struct ref **p___0 ;
  struct ref *ref ;
  struct string_list_item *item___0 ;
  struct string_list_item *tmp ;

  {
  refs___0.items = (struct string_list_item *)0;
  refs___0.nr = 0U;
  refs___0.alloc = 0U;
  refs___0.strdup_strings = 0U;
  refs___0.cmp = (int (*)(char const   * , char const   * ))0;
  retval = (struct ref *)((void *)0);
  p___0 = & retval;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref_map) {
      goto while_break;
    }
    ref = ref_map;
    ref_map = ref_map->next;
    ref->next = (struct ref *)((void *)0);
    if (! ref->peer_ref) {
      *p___0 = ref;
      p___0 = & ref->next;
    } else {
      tmp = string_list_insert(& refs___0, (char const   *)((ref->peer_ref)->name));
      item___0 = tmp;
      if (item___0->util) {
        handle_duplicate((struct ref *)item___0->util, ref);
      } else {
        *p___0 = ref;
        p___0 = & ref->next;
        item___0->util = (void *)ref;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  string_list_clear(& refs___0, 0);
  return (retval);
}
}
int remote_has_url(struct remote *remote , char const   *url )
{
  int i ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < remote->url_nr)) {
      goto while_break;
    }
    tmp = strcmp(*(remote->url + i), url);
    if (! tmp) {
      return (1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int match_name_with_pattern(char const   *key___1 , char const   *name___0 ,
                                   char const   *value , char **result___0 )
{
  char const   *kstar ;
  char *tmp ;
  size_t klen ;
  size_t ksuffixlen ;
  size_t namelen ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  struct strbuf sb___6 ;
  char const   *vstar ;
  char *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  tmp = strchr(key___1, '*');
  kstar = (char const   *)tmp;
  if (! kstar) {
    tmp___0 = _((char const   *)"key \'%s\' of pattern had no \'*\'");
    die((char const   *)tmp___0, key___1);
  }
  klen = (size_t )(kstar - key___1);
  ksuffixlen = strlen(kstar + 1);
  namelen = strlen(name___0);
  tmp___1 = strncmp(name___0, key___1, klen);
  if (tmp___1) {
    tmp___3 = 0;
  } else
  if (namelen >= klen + ksuffixlen) {
    tmp___2 = memcmp((void const   *)((name___0 + namelen) - ksuffixlen), (void const   *)(kstar + 1),
                     ksuffixlen);
    if (tmp___2) {
      tmp___3 = 0;
    } else {
      tmp___3 = 1;
    }
  } else {
    tmp___3 = 0;
  }
  ret___67 = tmp___3;
  if (ret___67) {
    if (value) {
      sb___6.alloc = 0UL;
      sb___6.len = 0UL;
      sb___6.buf = strbuf_slopbuf;
      tmp___4 = strchr(value, '*');
      vstar = (char const   *)tmp___4;
      if (! vstar) {
        tmp___5 = _((char const   *)"value \'%s\' of pattern has no \'*\'");
        die((char const   *)tmp___5, value);
      }
      strbuf_add(& sb___6, (void const   *)value, (size_t )(vstar - value));
      strbuf_add(& sb___6, (void const   *)(name___0 + klen), (namelen - klen) - ksuffixlen);
      strbuf_addstr(& sb___6, vstar + 1);
      *result___0 = strbuf_detach(& sb___6, (size_t *)((void *)0));
    }
  }
  return (ret___67);
}
}
static int refspec_match(struct refspec_item  const  *refspec , char const   *name___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (refspec->pattern) {
    tmp = match_name_with_pattern((char const   *)refspec->src, name___0, (char const   *)((void *)0),
                                  (char **)((void *)0));
    return (tmp);
  }
  tmp___0 = strcmp((char const   *)refspec->src, name___0);
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  return (tmp___1);
}
}
static int omit_name_by_refspec(char const   *name___0 , struct refspec *rs___0 )
{
  int i ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < rs___0->nr)) {
      goto while_break;
    }
    if ((rs___0->items + i)->negative) {
      tmp = refspec_match((struct refspec_item  const  *)(rs___0->items + i), name___0);
      if (tmp) {
        return (1);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
struct ref *apply_negative_refspecs(struct ref *ref_map , struct refspec *rs___0 )
{
  struct ref **tail ;
  struct ref *ref ;
  int tmp ;

  {
  tail = & ref_map;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *tail) {
      goto while_break;
    }
    ref = *tail;
    tmp = omit_name_by_refspec((char const   *)(ref->name), rs___0);
    if (tmp) {
      *tail = ref->next;
      free((void *)ref->peer_ref);
      free((void *)ref);
    } else {
      tail = & ref->next;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (ref_map);
}
}
static int query_matches_negative_refspec(struct refspec *rs___0 , struct refspec_item *query )
{
  int i ;
  int matched_negative ;
  int find_src ;
  struct string_list reversed ;
  char const   *needle ;
  char *tmp ;
  struct refspec_item *refspec ;
  char *expn_name ;
  char const   *key___1 ;
  char *tmp___0 ;
  char const   *value ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  matched_negative = 0;
  find_src = ! query->src;
  reversed.items = (struct string_list_item *)0;
  reversed.nr = 0U;
  reversed.alloc = 0U;
  reversed.strdup_strings = 0U;
  reversed.cmp = (int (*)(char const   * , char const   * ))0;
  if (find_src) {
    tmp = query->dst;
  } else {
    tmp = query->src;
  }
  needle = (char const   *)tmp;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < rs___0->nr)) {
      goto while_break;
    }
    refspec = rs___0->items + i;
    if (refspec->negative) {
      goto __Cont;
    }
    if (refspec->pattern) {
      if (refspec->dst) {
        tmp___0 = refspec->dst;
      } else {
        tmp___0 = refspec->src;
      }
      key___1 = (char const   *)tmp___0;
      value = (char const   *)refspec->src;
      tmp___1 = match_name_with_pattern(key___1, needle, value, & expn_name);
      if (tmp___1) {
        string_list_append_nodup(& reversed, expn_name);
      }
    } else
    if (refspec->matching) {
      string_list_append(& reversed, needle);
    } else
    if (! refspec->src) {
      BUG_fl((char const   *)"remote.c", 873, (char const   *)"refspec->src should not be null here");
    } else {
      tmp___2 = strcmp(needle, (char const   *)refspec->src);
      if (! tmp___2) {
        string_list_append(& reversed, (char const   *)refspec->src);
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! matched_negative) {
      if (! ((unsigned int )i < reversed.nr)) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    tmp___3 = omit_name_by_refspec((char const   *)(reversed.items + i)->string, rs___0);
    if (tmp___3) {
      matched_negative = 1;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  string_list_clear(& reversed, 0);
  return (matched_negative);
}
}
static void query_refspecs_multiple(struct refspec *rs___0 , struct refspec_item *query ,
                                    struct string_list *results )
{
  int i ;
  int find_src ;
  int tmp ;
  struct refspec_item *refspec ;
  char const   *key___1 ;
  char *tmp___0 ;
  char const   *value ;
  char *tmp___1 ;
  char const   *needle ;
  char *tmp___2 ;
  char **result___0 ;
  char **tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  find_src = ! query->src;
  if (find_src) {
    if (! query->dst) {
      BUG_fl((char const   *)"remote.c", 897, (char const   *)"query_refspecs_multiple: need either src or dst");
    }
  }
  tmp = query_matches_negative_refspec(rs___0, query);
  if (tmp) {
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < rs___0->nr)) {
      goto while_break;
    }
    refspec = rs___0->items + i;
    if (find_src) {
      tmp___0 = refspec->dst;
    } else {
      tmp___0 = refspec->src;
    }
    key___1 = (char const   *)tmp___0;
    if (find_src) {
      tmp___1 = refspec->src;
    } else {
      tmp___1 = refspec->dst;
    }
    value = (char const   *)tmp___1;
    if (find_src) {
      tmp___2 = query->dst;
    } else {
      tmp___2 = query->src;
    }
    needle = (char const   *)tmp___2;
    if (find_src) {
      tmp___3 = & query->src;
    } else {
      tmp___3 = & query->dst;
    }
    result___0 = tmp___3;
    if (! refspec->dst) {
      goto __Cont;
    } else
    if (refspec->negative) {
      goto __Cont;
    }
    if (refspec->pattern) {
      tmp___4 = match_name_with_pattern(key___1, needle, value, result___0);
      if (tmp___4) {
        string_list_append_nodup(results, *result___0);
      }
    } else {
      tmp___5 = strcmp(needle, key___1);
      if (! tmp___5) {
        string_list_append(results, value);
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int query_refspecs(struct refspec *rs___0 , struct refspec_item *query )
{
  int i ;
  int find_src ;
  char const   *needle ;
  char *tmp ;
  char **result___0 ;
  char **tmp___0 ;
  int tmp___1 ;
  struct refspec_item *refspec ;
  char const   *key___1 ;
  char *tmp___2 ;
  char const   *value ;
  char *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  find_src = ! query->src;
  if (find_src) {
    tmp = query->dst;
  } else {
    tmp = query->src;
  }
  needle = (char const   *)tmp;
  if (find_src) {
    tmp___0 = & query->src;
  } else {
    tmp___0 = & query->dst;
  }
  result___0 = tmp___0;
  if (find_src) {
    if (! query->dst) {
      BUG_fl((char const   *)"remote.c", 928, (char const   *)"query_refspecs: need either src or dst");
    }
  }
  tmp___1 = query_matches_negative_refspec(rs___0, query);
  if (tmp___1) {
    return (-1);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < rs___0->nr)) {
      goto while_break;
    }
    refspec = rs___0->items + i;
    if (find_src) {
      tmp___2 = refspec->dst;
    } else {
      tmp___2 = refspec->src;
    }
    key___1 = (char const   *)tmp___2;
    if (find_src) {
      tmp___3 = refspec->src;
    } else {
      tmp___3 = refspec->dst;
    }
    value = (char const   *)tmp___3;
    if (! refspec->dst) {
      goto __Cont;
    } else
    if (refspec->negative) {
      goto __Cont;
    }
    if (refspec->pattern) {
      tmp___4 = match_name_with_pattern(key___1, needle, value, result___0);
      if (tmp___4) {
        query->force = refspec->force;
        return (0);
      }
    } else {
      tmp___5 = strcmp(needle, key___1);
      if (! tmp___5) {
        *result___0 = xstrdup(value);
        query->force = refspec->force;
        return (0);
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (-1);
}
}
char *apply_refspecs(struct refspec *rs___0 , char const   *name___0 )
{
  struct refspec_item query ;
  int tmp ;

  {
  memset((void *)(& query), 0, sizeof(struct refspec_item ));
  query.src = (char *)name___0;
  tmp = query_refspecs(rs___0, & query);
  if (tmp) {
    return ((char *)((void *)0));
  }
  return (query.dst);
}
}
int remote_find_tracking(struct remote *remote , struct refspec_item *refspec )
{
  int tmp ;

  {
  tmp = query_refspecs(& remote->fetch, refspec);
  return (tmp);
}
}
static struct ref *alloc_ref_with_prefix(char const   *prefix___1 , size_t prefixlen ,
                                         char const   *name___0 )
{
  size_t len___0 ;
  size_t tmp ;
  struct ref *ref ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;

  {
  tmp = strlen(name___0);
  len___0 = tmp;
  tmp___0 = st_add(sizeof(*ref), prefixlen);
  tmp___1 = st_add(tmp___0, len___0);
  tmp___2 = st_add(tmp___1, (size_t )1);
  tmp___3 = xcalloc((size_t )1, tmp___2);
  ref = (struct ref *)tmp___3;
  memcpy((void *)(ref->name), (void const   *)prefix___1, prefixlen);
  memcpy((void *)(ref->name + prefixlen), (void const   *)name___0, len___0);
  return (ref);
}
}
struct ref *alloc_ref(char const   *name___0 )
{
  struct ref *tmp ;

  {
  tmp = alloc_ref_with_prefix((char const   *)"", (size_t )0, name___0);
  return (tmp);
}
}
struct ref *copy_ref(struct ref  const  *ref )
{
  struct ref *cpy ;
  size_t len___0 ;
  size_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  if (! ref) {
    return ((struct ref *)((void *)0));
  }
  tmp = strlen((char const   *)(ref->name));
  tmp___0 = st_add(sizeof(struct ref ), tmp);
  len___0 = st_add(tmp___0, (size_t )1);
  tmp___1 = xmalloc(len___0);
  cpy = (struct ref *)tmp___1;
  memcpy((void *)cpy, (void const   *)ref, len___0);
  cpy->next = (struct ref *)((void *)0);
  cpy->symref = xstrdup_or_null((char const   *)ref->symref);
  cpy->remote_status = xstrdup_or_null((char const   *)ref->remote_status);
  cpy->peer_ref = copy_ref((struct ref  const  *)ref->peer_ref);
  return (cpy);
}
}
struct ref *copy_ref_list(struct ref  const  *ref )
{
  struct ref *ret___67 ;
  struct ref **tail ;

  {
  ret___67 = (struct ref *)((void *)0);
  tail = & ret___67;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    *tail = copy_ref(ref);
    ref = (struct ref  const  *)ref->next;
    tail = & (*tail)->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
void free_one_ref(struct ref *ref )
{


  {
  if (! ref) {
    return;
  }
  free_one_ref(ref->peer_ref);
  free((void *)ref->remote_status);
  free((void *)ref->symref);
  free((void *)ref);
  return;
}
}
void free_refs(struct ref *ref )
{
  struct ref *next___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    next___2 = ref->next;
    free_one_ref(ref);
    ref = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int ref_compare_name(void const   *va , void const   *vb )
{
  struct ref  const  *a ;
  struct ref  const  *b___0 ;
  int tmp ;

  {
  a = (struct ref  const  *)va;
  b___0 = (struct ref  const  *)vb;
  tmp = strcmp((char const   *)(a->name), (char const   *)(b___0->name));
  return (tmp);
}
}
static void *ref_list_get_next(void const   *a )
{


  {
  return ((void *)((struct ref  const  *)a)->next);
}
}
static void ref_list_set_next(void *a , void *next___2 )
{


  {
  ((struct ref *)a)->next = (struct ref *)next___2;
  return;
}
}
void sort_ref_list(struct ref **l , int (*cmp___0)(void const   * , void const   * ) )
{
  void *tmp ;

  {
  tmp = llist_mergesort((void *)*l, & ref_list_get_next, & ref_list_set_next, cmp___0);
  *l = (struct ref *)tmp;
  return;
}
}
int count_refspec_match(char const   *pattern___0 , struct ref *refs___0 , struct ref **matched_ref )
{
  int patlen ;
  size_t tmp ;
  struct ref *matched_weak ;
  struct ref *matched ;
  int weak_match ;
  int match___0 ;
  char *name___0 ;
  int namelen ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = strlen(pattern___0);
  patlen = (int )tmp;
  matched_weak = (struct ref *)((void *)0);
  matched = (struct ref *)((void *)0);
  weak_match = 0;
  match___0 = 0;
  match___0 = 0;
  weak_match = match___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! refs___0) {
      goto while_break;
    }
    name___0 = refs___0->name;
    tmp___0 = strlen((char const   *)name___0);
    namelen = (int )tmp___0;
    tmp___1 = refname_match(pattern___0, (char const   *)name___0);
    if (! tmp___1) {
      goto __Cont;
    }
    if (namelen != patlen) {
      if (patlen != namelen - 5) {
        tmp___2 = starts_with((char const   *)name___0, (char const   *)"refs/heads/");
        if (tmp___2) {
          matched = refs___0;
          match___0 ++;
        } else {
          tmp___3 = starts_with((char const   *)name___0, (char const   *)"refs/tags/");
          if (tmp___3) {
            matched = refs___0;
            match___0 ++;
          } else {
            matched_weak = refs___0;
            weak_match ++;
          }
        }
      } else {
        matched = refs___0;
        match___0 ++;
      }
    } else {
      matched = refs___0;
      match___0 ++;
    }
    __Cont: /* CIL Label */
    refs___0 = refs___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (! matched) {
    if (matched_ref) {
      *matched_ref = matched_weak;
    }
    return (weak_match);
  } else {
    if (matched_ref) {
      *matched_ref = matched;
    }
    return (match___0);
  }
}
}
static void tail_link_ref(struct ref *ref , struct ref ***tail )
{


  {
  *(*tail) = ref;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref->next) {
      goto while_break;
    }
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  *tail = & ref->next;
  return;
}
}
static struct ref *alloc_delete_ref(void)
{
  struct ref *ref ;
  struct ref *tmp ;

  {
  tmp = alloc_ref((char const   *)"(delete)");
  ref = tmp;
  oidclr(& ref->new_oid);
  return (ref);
}
}
static int try_explicit_object_name(char const   *name___0 , struct ref **match___0 )
{
  struct object_id oid ;
  int tmp ;

  {
  if (! *name___0) {
    if (match___0) {
      *match___0 = alloc_delete_ref();
    }
    return (0);
  }
  tmp = repo_get_oid(the_repository, name___0, & oid);
  if (tmp) {
    return (-1);
  }
  if (match___0) {
    *match___0 = alloc_ref(name___0);
    oidcpy(& (*match___0)->new_oid, (struct object_id  const  *)(& oid));
  }
  return (0);
}
}
static struct ref *make_linked_ref(char const   *name___0 , struct ref ***tail )
{
  struct ref *ret___67 ;
  struct ref *tmp ;

  {
  tmp = alloc_ref(name___0);
  ret___67 = tmp;
  tail_link_ref(ret___67, tail);
  return (ret___67);
}
}
static char *guess_ref(char const   *name___0 , struct ref *peer )
{
  struct strbuf buf___19 ;
  char const   *r ;
  char const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = resolve_ref_unsafe((char const   *)(peer->name), 0x01, (struct object_id *)((void *)0),
                           (int *)((void *)0));
  r = tmp;
  if (! r) {
    return ((char *)((void *)0));
  }
  tmp___1 = starts_with(r, (char const   *)"refs/heads/");
  if (tmp___1) {
    strbuf_addstr(& buf___19, (char const   *)"refs/heads/");
  } else {
    tmp___0 = starts_with(r, (char const   *)"refs/tags/");
    if (tmp___0) {
      strbuf_addstr(& buf___19, (char const   *)"refs/tags/");
    } else {
      return ((char *)((void *)0));
    }
  }
  strbuf_addstr(& buf___19, name___0);
  tmp___2 = strbuf_detach(& buf___19, (size_t *)((void *)0));
  return (tmp___2);
}
}
static int match_explicit_lhs(struct ref *src , struct refspec_item *rs___0 , struct ref **match___0 ,
                              int *allocated_match )
{
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  tmp = count_refspec_match((char const   *)rs___0->src, src, match___0);
  {
  if (tmp == 1) {
    goto case_1;
  }
  if (tmp == 0) {
    goto case_0;
  }
  goto switch_default;
  case_1: /* CIL Label */
  if (allocated_match) {
    *allocated_match = 0;
  }
  return (0);
  case_0: /* CIL Label */
  tmp___2 = try_explicit_object_name((char const   *)rs___0->src, match___0);
  if (tmp___2 < 0) {
    tmp___0 = _((char const   *)"src refspec %s does not match any");
    error((char const   *)tmp___0, rs___0->src);
    tmp___1 = const_error();
    return (tmp___1);
  }
  if (allocated_match) {
    *allocated_match = 1;
  }
  return (0);
  switch_default: /* CIL Label */
  tmp___3 = _((char const   *)"src refspec %s matches more than one");
  error((char const   *)tmp___3, rs___0->src);
  tmp___4 = const_error();
  return (tmp___4);
  switch_break: /* CIL Label */ ;
  }
}
}
static void show_push_unqualified_ref_name_error(char const   *dst_value , char const   *matched_src_name )
{
  struct object_id oid ;
  enum object_type type___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;

  {
  tmp = _((char const   *)"The destination you provided is not a full refname (i.e.,\nstarting with \"refs/\"). We tried to guess what you meant by:\n\n- Looking for a ref that matches \'%s\' on the remote side.\n- Checking if the <src> being pushed (\'%s\')\n  is a ref in \"refs/{heads,tags}/\". If so we add a corresponding\n  refs/{heads,tags}/ prefix on the remote side.\n\nNeither worked, so we gave up. You must fully qualify the ref.");
  error((char const   *)tmp, dst_value, matched_src_name);
  const_error();
  tmp___0 = advice_enabled((enum advice_type )18);
  if (! tmp___0) {
    return;
  }
  tmp___1 = repo_get_oid(the_repository, matched_src_name, & oid);
  if (tmp___1) {
    BUG_fl((char const   *)"remote.c", 1229, (char const   *)"\'%s\' is not a valid object, match_explicit_lhs() should catch this!",
           matched_src_name);
  }
  tmp___2 = oid_object_info(the_repository, (struct object_id  const  *)(& oid), (unsigned long *)((void *)0));
  type___0 = (enum object_type )tmp___2;
  if ((int )type___0 == 1) {
    tmp___3 = _((char const   *)"The <src> part of the refspec is a commit object.\nDid you mean to create a new branch by pushing to\n\'%s:refs/heads/%s\'?");
    advise((char const   *)tmp___3, matched_src_name, dst_value);
  } else
  if ((int )type___0 == 4) {
    tmp___4 = _((char const   *)"The <src> part of the refspec is a tag object.\nDid you mean to create a new tag by pushing to\n\'%s:refs/tags/%s\'?");
    advise((char const   *)tmp___4, matched_src_name, dst_value);
  } else
  if ((int )type___0 == 2) {
    tmp___5 = _((char const   *)"The <src> part of the refspec is a tree object.\nDid you mean to tag a new tree by pushing to\n\'%s:refs/tags/%s\'?");
    advise((char const   *)tmp___5, matched_src_name, dst_value);
  } else
  if ((int )type___0 == 3) {
    tmp___6 = _((char const   *)"The <src> part of the refspec is a blob object.\nDid you mean to tag a new blob by pushing to\n\'%s:refs/tags/%s\'?");
    advise((char const   *)tmp___6, matched_src_name, dst_value);
  } else {
    BUG_fl((char const   *)"remote.c", 1253, (char const   *)"\'%s\' should be commit/tag/tree/blob, is \'%d\'",
           matched_src_name, (int )type___0);
  }
  return;
}
}
static int match_explicit(struct ref *src , struct ref *dst , struct ref ***dst_tail ,
                          struct refspec_item *rs___0 )
{
  struct ref *matched_src ;
  struct ref *matched_dst ;
  int allocated_src ;
  char const   *dst_value ;
  char *dst_guess ;
  int tmp ;
  int flag ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  struct ref *tmp___9 ;

  {
  dst_value = (char const   *)rs___0->dst;
  if (rs___0->pattern) {
    return (0);
  } else
  if (rs___0->matching) {
    return (0);
  } else
  if (rs___0->negative) {
    return (0);
  }
  matched_dst = (struct ref *)((void *)0);
  matched_src = matched_dst;
  tmp = match_explicit_lhs(src, rs___0, & matched_src, & allocated_src);
  if (tmp < 0) {
    return (-1);
  }
  if (! dst_value) {
    dst_value = resolve_ref_unsafe((char const   *)(matched_src->name), 0x01, (struct object_id *)((void *)0),
                                   & flag);
    if (! dst_value) {
      tmp___0 = _((char const   *)"%s cannot be resolved to branch");
      die((char const   *)tmp___0, matched_src->name);
    } else
    if (flag & 0x01) {
      tmp___1 = starts_with(dst_value, (char const   *)"refs/heads/");
      if (! tmp___1) {
        tmp___0 = _((char const   *)"%s cannot be resolved to branch");
        die((char const   *)tmp___0, matched_src->name);
      }
    }
  }
  tmp___2 = count_refspec_match(dst_value, dst, & matched_dst);
  {
  if (tmp___2 == 1) {
    goto case_1;
  }
  if (tmp___2 == 0) {
    goto case_0;
  }
  goto switch_default;
  case_1: /* CIL Label */
  goto switch_break;
  case_0: /* CIL Label */
  tmp___5 = starts_with(dst_value, (char const   *)"refs/");
  if (tmp___5) {
    matched_dst = make_linked_ref(dst_value, dst_tail);
  } else {
    tmp___4 = is_null_oid((struct object_id  const  *)(& matched_src->new_oid));
    if (tmp___4) {
      tmp___3 = _((char const   *)"unable to delete \'%s\': remote ref does not exist");
      error((char const   *)tmp___3, dst_value);
      const_error();
    } else {
      dst_guess = guess_ref(dst_value, matched_src);
      if (dst_guess) {
        matched_dst = make_linked_ref((char const   *)dst_guess, dst_tail);
        free((void *)dst_guess);
      } else {
        show_push_unqualified_ref_name_error(dst_value, (char const   *)(matched_src->name));
      }
    }
  }
  goto switch_break;
  switch_default: /* CIL Label */
  matched_dst = (struct ref *)((void *)0);
  tmp___6 = _((char const   *)"dst refspec %s matches more than one");
  error((char const   *)tmp___6, dst_value);
  const_error();
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  if (! matched_dst) {
    return (-1);
  }
  if (matched_dst->peer_ref) {
    tmp___7 = _((char const   *)"dst ref %s receives from more than one src");
    error((char const   *)tmp___7, matched_dst->name);
    tmp___8 = const_error();
    return (tmp___8);
  } else {
    if (allocated_src) {
      matched_dst->peer_ref = matched_src;
    } else {
      tmp___9 = copy_ref((struct ref  const  *)matched_src);
      matched_dst->peer_ref = tmp___9;
    }
    matched_dst->force = rs___0->force;
  }
  return (0);
}
}
static int match_explicit_refs(struct ref *src , struct ref *dst , struct ref ***dst_tail ,
                               struct refspec *rs___0 )
{
  int i ;
  int errs ;
  int tmp ;

  {
  errs = 0;
  i = errs;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < rs___0->nr)) {
      goto while_break;
    }
    tmp = match_explicit(src, dst, dst_tail, rs___0->items + i);
    errs += tmp;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (errs);
}
}
static char *get_ref_match(struct refspec  const  *rs___0 , struct ref  const  *ref ,
                           int send_mirror , int direction___0 , struct refspec_item  const  **ret_pat )
{
  struct refspec_item  const  *pat ;
  char *name___0 ;
  int i ;
  int matching_refs ;
  struct refspec_item  const  *item___0 ;
  char const   *dst_side ;
  char *tmp ;
  int match___0 ;
  int tmp___0 ;

  {
  matching_refs = -1;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (int )rs___0->nr)) {
      goto while_break;
    }
    item___0 = (struct refspec_item  const  *)(rs___0->items + i);
    if (item___0->negative) {
      goto __Cont;
    }
    if (item___0->matching) {
      if (matching_refs == -1) {
        matching_refs = i;
        goto __Cont;
      } else
      if (item___0->force) {
        matching_refs = i;
        goto __Cont;
      }
    }
    if (item___0->pattern) {
      if (item___0->dst) {
        tmp = item___0->dst;
      } else {
        tmp = item___0->src;
      }
      dst_side = (char const   *)tmp;
      if (direction___0 == 0) {
        match___0 = match_name_with_pattern((char const   *)item___0->src, (char const   *)(ref->name),
                                            dst_side, & name___0);
      } else {
        match___0 = match_name_with_pattern(dst_side, (char const   *)(ref->name),
                                            (char const   *)item___0->src, & name___0);
      }
      if (match___0) {
        matching_refs = i;
        goto while_break;
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (matching_refs == -1) {
    return ((char *)((void *)0));
  }
  pat = (struct refspec_item  const  *)(rs___0->items + matching_refs);
  if (pat->matching) {
    if (! send_mirror) {
      tmp___0 = starts_with((char const   *)(ref->name), (char const   *)"refs/heads/");
      if (! tmp___0) {
        return ((char *)((void *)0));
      }
    }
    name___0 = xstrdup((char const   *)(ref->name));
  }
  if (ret_pat) {
    *ret_pat = pat;
  }
  return (name___0);
}
}
static struct ref **tail_ref(struct ref **head___1 )
{
  struct ref **tail ;

  {
  tail = head___1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *tail) {
      goto while_break;
    }
    tail = & (*tail)->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (tail);
}
}
static void add_to_tips(struct tips *tips , struct object_id  const  *oid )
{
  struct commit *commit ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;

  {
  tmp = is_null_oid(oid);
  if (tmp) {
    return;
  }
  commit = lookup_commit_reference_gently(the_repository, oid, 1);
  if (! commit) {
    return;
  } else
  if (commit->object.flags & (1u << 4)) {
    return;
  }
  commit->object.flags |= 1u << 4;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tips->nr + 1 > tips->alloc) {
      if (((tips->alloc + 16) * 3) / 2 < tips->nr + 1) {
        tips->alloc = tips->nr + 1;
      } else {
        tips->alloc = ((tips->alloc + 16) * 3) / 2;
      }
      tmp___0 = st_mult(sizeof(*(tips->tip)), (size_t )tips->alloc);
      tmp___1 = xrealloc((void *)tips->tip, tmp___0);
      tips->tip = (struct commit **)tmp___1;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = tips->nr;
  (tips->nr) ++;
  *(tips->tip + tmp___2) = commit;
  return;
}
}
static void add_missing_tags(struct ref *src , struct ref **dst , struct ref ***dst_tail )
{
  struct string_list dst_tag ;
  struct string_list src_tag ;
  struct string_list_item *item___0 ;
  struct ref *ref ;
  struct tips sent_tips ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int reachable_flag ;
  struct commit_list *found_commits ;
  struct commit **src_commits ;
  int nr_src_commits ;
  int alloc_src_commits ;
  size_t tmp___4 ;
  void *tmp___5 ;
  struct ref *ref___0 ;
  struct commit *commit ;
  int tmp___6 ;
  size_t tmp___7 ;
  void *tmp___8 ;
  int tmp___9 ;
  struct ref *dst_ref ;
  struct ref *ref___1 ;
  struct commit *commit___0 ;
  int tmp___10 ;

  {
  dst_tag.items = (struct string_list_item *)0;
  dst_tag.nr = 0U;
  dst_tag.alloc = 0U;
  dst_tag.strdup_strings = 0U;
  dst_tag.cmp = (int (*)(char const   * , char const   * ))0;
  src_tag.items = (struct string_list_item *)0;
  src_tag.nr = 0U;
  src_tag.alloc = 0U;
  src_tag.strdup_strings = 0U;
  src_tag.cmp = (int (*)(char const   * , char const   * ))0;
  memset((void *)(& sent_tips), 0, sizeof(sent_tips));
  ref = *dst;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    if (ref->peer_ref) {
      tmp = is_null_oid((struct object_id  const  *)(& (ref->peer_ref)->new_oid));
      if (tmp) {
        add_to_tips(& sent_tips, (struct object_id  const  *)(& ref->old_oid));
      } else {
        add_to_tips(& sent_tips, (struct object_id  const  *)(& (ref->peer_ref)->new_oid));
      }
    } else {
      add_to_tips(& sent_tips, (struct object_id  const  *)(& ref->old_oid));
    }
    tmp___0 = starts_with((char const   *)(ref->name), (char const   *)"refs/tags/");
    if (tmp___0) {
      string_list_append(& dst_tag, (char const   *)(ref->name));
    }
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  clear_commit_marks_many(sent_tips.nr, sent_tips.tip, 1u << 4);
  string_list_sort(& dst_tag);
  ref = src;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ref) {
      goto while_break___0;
    }
    tmp___1 = starts_with((char const   *)(ref->name), (char const   *)"refs/tags/");
    if (! tmp___1) {
      goto __Cont;
    }
    tmp___2 = string_list_has_string((struct string_list  const  *)(& dst_tag), (char const   *)(ref->name));
    if (tmp___2) {
      goto __Cont;
    }
    tmp___3 = oid_object_info(the_repository, (struct object_id  const  *)(& ref->new_oid),
                              (unsigned long *)((void *)0));
    if (tmp___3 != 4) {
      goto __Cont;
    }
    item___0 = string_list_append(& src_tag, (char const   *)(ref->name));
    item___0->util = (void *)ref;
    __Cont: /* CIL Label */
    ref = ref->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  string_list_clear(& dst_tag, 0);
  if (sent_tips.nr) {
    reachable_flag = (int )1;
    nr_src_commits = 0;
    alloc_src_commits = 16;
    tmp___4 = st_mult(sizeof(*src_commits), (size_t )alloc_src_commits);
    tmp___5 = xmalloc(tmp___4);
    src_commits = (struct commit **)tmp___5;
    item___0 = src_tag.items;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(src_tag.items + src_tag.nr))) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      ref___0 = (struct ref *)item___0->util;
      tmp___6 = is_null_oid((struct object_id  const  *)(& ref___0->new_oid));
      if (tmp___6) {
        goto __Cont___0;
      }
      commit = lookup_commit_reference_gently(the_repository, (struct object_id  const  *)(& ref___0->new_oid),
                                              1);
      if (! commit) {
        goto __Cont___0;
      }
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (nr_src_commits + 1 > alloc_src_commits) {
          if (((alloc_src_commits + 16) * 3) / 2 < nr_src_commits + 1) {
            alloc_src_commits = nr_src_commits + 1;
          } else {
            alloc_src_commits = ((alloc_src_commits + 16) * 3) / 2;
          }
          tmp___7 = st_mult(sizeof(*src_commits), (size_t )alloc_src_commits);
          tmp___8 = xrealloc((void *)src_commits, tmp___7);
          src_commits = (struct commit **)tmp___8;
        }
        goto while_break___2;
      }
      while_break___2: /* CIL Label */ ;
      }
      tmp___9 = nr_src_commits;
      nr_src_commits ++;
      *(src_commits + tmp___9) = commit;
      __Cont___0: /* CIL Label */
      item___0 ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    found_commits = get_reachable_subset(sent_tips.tip, sent_tips.nr, src_commits,
                                         nr_src_commits, (unsigned int )reachable_flag);
    item___0 = src_tag.items;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(src_tag.items + src_tag.nr))) {
          goto while_break___3;
        }
      } else {
        goto while_break___3;
      }
      ref___1 = (struct ref *)item___0->util;
      tmp___10 = is_null_oid((struct object_id  const  *)(& ref___1->new_oid));
      if (tmp___10) {
        goto __Cont___1;
      }
      commit___0 = lookup_commit_reference_gently(the_repository, (struct object_id  const  *)(& ref___1->new_oid),
                                                  1);
      if (! commit___0) {
        goto __Cont___1;
      }
      if (! (commit___0->object.flags & (unsigned int )reachable_flag)) {
        goto __Cont___1;
      }
      dst_ref = make_linked_ref((char const   *)(ref___1->name), dst_tail);
      oidcpy(& dst_ref->new_oid, (struct object_id  const  *)(& ref___1->new_oid));
      dst_ref->peer_ref = copy_ref((struct ref  const  *)ref___1);
      __Cont___1: /* CIL Label */
      item___0 ++;
    }
    while_break___3: /* CIL Label */ ;
    }
    clear_commit_marks_many(nr_src_commits, src_commits, (unsigned int )reachable_flag);
    free((void *)src_commits);
    free_commit_list(found_commits);
  }
  string_list_clear(& src_tag, 0);
  free((void *)sent_tips.tip);
  return;
}
}
struct ref *find_ref_by_name(struct ref  const  *list___3 , char const   *name___0 )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    tmp = strcmp((char const   *)(list___3->name), name___0);
    if (! tmp) {
      return ((struct ref *)list___3);
    }
    list___3 = (struct ref  const  *)list___3->next;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct ref *)((void *)0));
}
}
static void prepare_ref_index(struct string_list *ref_index , struct ref *ref )
{
  struct string_list_item *tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    tmp = string_list_append_nodup(ref_index, ref->name);
    tmp->util = (void *)ref;
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_sort(ref_index);
  return;
}
}
int check_push_refs(struct ref *src , struct refspec *rs___0 )
{
  int ret___67 ;
  int i ;
  struct refspec_item *item___0 ;
  int tmp ;

  {
  ret___67 = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < rs___0->nr)) {
      goto while_break;
    }
    item___0 = rs___0->items + i;
    if (item___0->pattern) {
      goto __Cont;
    } else
    if (item___0->matching) {
      goto __Cont;
    } else
    if (item___0->negative) {
      goto __Cont;
    }
    tmp = match_explicit_lhs(src, item___0, (struct ref **)((void *)0), (int *)((void *)0));
    ret___67 |= tmp;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
int match_push_refs(struct ref *src , struct ref **dst , struct refspec *rs___0 ,
                    int flags___0 )
{
  int send_all ;
  int send_mirror ;
  int send_prune ;
  int errs ;
  struct ref *ref ;
  struct ref **dst_tail ;
  struct ref **tmp ;
  struct string_list dst_ref_index ;
  struct string_list_item *dst_item ;
  struct ref *dst_peer ;
  struct refspec_item  const  *pat ;
  char *dst_name ;
  struct string_list_item *tmp___0 ;
  struct string_list src_ref_index ;
  char *src_name ;
  int tmp___1 ;

  {
  send_all = flags___0 & 1;
  send_mirror = flags___0 & 2;
  send_prune = flags___0 & 4;
  tmp = tail_ref(dst);
  dst_tail = tmp;
  dst_ref_index.items = (struct string_list_item *)0;
  dst_ref_index.nr = 0U;
  dst_ref_index.alloc = 0U;
  dst_ref_index.strdup_strings = 0U;
  dst_ref_index.cmp = (int (*)(char const   * , char const   * ))0;
  if (! rs___0->nr) {
    refspec_append(rs___0, (char const   *)":");
  }
  errs = match_explicit_refs(src, *dst, & dst_tail, rs___0);
  ref = src;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    pat = (struct refspec_item  const  *)((void *)0);
    dst_name = get_ref_match((struct refspec  const  *)rs___0, (struct ref  const  *)ref,
                             send_mirror, 0, & pat);
    if (! dst_name) {
      goto __Cont;
    }
    if (! dst_ref_index.nr) {
      prepare_ref_index(& dst_ref_index, *dst);
    }
    dst_item = string_list_lookup(& dst_ref_index, (char const   *)dst_name);
    if (dst_item) {
      dst_peer = (struct ref *)dst_item->util;
    } else {
      dst_peer = (struct ref *)((void *)0);
    }
    if (dst_peer) {
      if (dst_peer->peer_ref) {
        goto free_name;
      }
    } else {
      if (pat->matching) {
        if (! send_all) {
          if (! send_mirror) {
            goto free_name;
          }
        }
      }
      dst_peer = make_linked_ref((char const   *)dst_name, & dst_tail);
      oidcpy(& dst_peer->new_oid, (struct object_id  const  *)(& ref->new_oid));
      tmp___0 = string_list_insert(& dst_ref_index, (char const   *)(dst_peer->name));
      tmp___0->util = (void *)dst_peer;
    }
    dst_peer->peer_ref = copy_ref((struct ref  const  *)ref);
    dst_peer->force = (unsigned int )pat->force;
    free_name:
    free((void *)dst_name);
    __Cont: /* CIL Label */
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_clear(& dst_ref_index, 0);
  if (flags___0 & 8) {
    add_missing_tags(src, dst, & dst_tail);
  }
  if (send_prune) {
    src_ref_index.items = (struct string_list_item *)0;
    src_ref_index.nr = 0U;
    src_ref_index.alloc = 0U;
    src_ref_index.strdup_strings = 0U;
    src_ref_index.cmp = (int (*)(char const   * , char const   * ))0;
    ref = *dst;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ref) {
        goto while_break___0;
      }
      if (ref->peer_ref) {
        goto __Cont___0;
      }
      src_name = get_ref_match((struct refspec  const  *)rs___0, (struct ref  const  *)ref,
                               send_mirror, 1, (struct refspec_item  const  **)((void *)0));
      if (src_name) {
        if (! src_ref_index.nr) {
          prepare_ref_index(& src_ref_index, src);
        }
        tmp___1 = string_list_has_string((struct string_list  const  *)(& src_ref_index),
                                         (char const   *)src_name);
        if (! tmp___1) {
          ref->peer_ref = alloc_delete_ref();
        }
        free((void *)src_name);
      }
      __Cont___0: /* CIL Label */
      ref = ref->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    string_list_clear(& src_ref_index, 0);
  }
  *dst = apply_negative_refspecs(*dst, rs___0);
  if (errs) {
    return (-1);
  }
  return (0);
}
}
void set_ref_status_for_push(struct ref *remote_refs , int send_mirror , int force_update___0 )
{
  struct ref *ref ;
  int force_ref_update ;
  int tmp ;
  int reject_reason ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  struct commit *tmp___4 ;
  struct commit *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  ref = remote_refs;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    if (ref->force) {
      tmp = 1;
    } else
    if (force_update___0) {
      tmp = 1;
    } else {
      tmp = 0;
    }
    force_ref_update = tmp;
    reject_reason = 0;
    if (ref->peer_ref) {
      oidcpy(& ref->new_oid, (struct object_id  const  *)(& (ref->peer_ref)->new_oid));
    } else
    if (! send_mirror) {
      goto __Cont;
    }
    tmp___0 = is_null_oid((struct object_id  const  *)(& ref->new_oid));
    ref->deletion = (unsigned int )tmp___0;
    if (! ref->deletion) {
      tmp___1 = oideq((struct object_id  const  *)(& ref->old_oid), (struct object_id  const  *)(& ref->new_oid));
      if (tmp___1) {
        ref->status = (enum __anonenum_status_407753297 )10;
        goto __Cont;
      }
    }
    if (ref->expect_old_sha1) {
      tmp___2 = oideq((struct object_id  const  *)(& ref->old_oid), (struct object_id  const  *)(& ref->old_oid_expect));
      if (tmp___2) {
        if (ref->check_reachable) {
          if (ref->unreachable) {
            reject_reason = 9;
          } else {
            force_ref_update = 1;
          }
        } else {
          force_ref_update = 1;
        }
      } else {
        reject_reason = 7;
      }
    }
    if (! reject_reason) {
      if (! ref->deletion) {
        tmp___8 = is_null_oid((struct object_id  const  *)(& ref->old_oid));
        if (! tmp___8) {
          tmp___7 = starts_with((char const   *)(ref->name), (char const   *)"refs/tags/");
          if (tmp___7) {
            reject_reason = 3;
          } else {
            tmp___6 = repo_has_object_file(the_repository, (struct object_id  const  *)(& ref->old_oid));
            if (tmp___6) {
              tmp___4 = lookup_commit_reference_gently(the_repository, (struct object_id  const  *)(& ref->old_oid),
                                                       1);
              if (tmp___4) {
                tmp___5 = lookup_commit_reference_gently(the_repository, (struct object_id  const  *)(& ref->new_oid),
                                                         1);
                if (tmp___5) {
                  tmp___3 = ref_newer((struct object_id  const  *)(& ref->new_oid),
                                      (struct object_id  const  *)(& ref->old_oid));
                  if (! tmp___3) {
                    reject_reason = 2;
                  }
                } else {
                  reject_reason = 6;
                }
              } else {
                reject_reason = 6;
              }
            } else {
              reject_reason = 5;
            }
          }
        }
      }
    }
    if (! force_ref_update) {
      ref->status = (enum __anonenum_status_407753297 )reject_reason;
    } else
    if (reject_reason) {
      ref->forced_update = 1U;
    }
    __Cont: /* CIL Label */
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void set_merge(struct remote_state *remote_state , struct branch *ret___67 )
{
  struct remote *remote ;
  char *ref ;
  struct object_id oid ;
  int i ;
  void *tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  size_t tmp___3 ;
  int tmp___4 ;

  {
  if (! ret___67) {
    return;
  }
  if (ret___67->merge) {
    return;
  }
  if (! ret___67->remote_name) {
    ret___67->merge_nr = 0;
    return;
  } else
  if (! ret___67->merge_nr) {
    ret___67->merge_nr = 0;
    return;
  }
  remote = remotes_remote_get(remote_state, ret___67->remote_name);
  tmp = xcalloc((size_t )ret___67->merge_nr, sizeof(*(ret___67->merge)));
  ret___67->merge = (struct refspec_item **)tmp;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < ret___67->merge_nr)) {
      goto while_break;
    }
    tmp___0 = xcalloc((size_t )1, sizeof(*(*(ret___67->merge))));
    *(ret___67->merge + i) = (struct refspec_item *)tmp___0;
    (*(ret___67->merge + i))->src = xstrdup(*(ret___67->merge_name + i));
    tmp___1 = remote_find_tracking(remote, *(ret___67->merge + i));
    if (tmp___1) {
      tmp___2 = strcmp(ret___67->remote_name, (char const   *)".");
      if (tmp___2) {
        goto __Cont;
      }
    } else {
      goto __Cont;
    }
    tmp___3 = strlen(*(ret___67->merge_name + i));
    tmp___4 = dwim_ref(*(ret___67->merge_name + i), (int )tmp___3, & oid, & ref, 0);
    if (tmp___4 == 1) {
      (*(ret___67->merge + i))->dst = ref;
    } else {
      (*(ret___67->merge + i))->dst = xstrdup(*(ret___67->merge_name + i));
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
struct branch *branch_get(char const   *name___0 )
{
  struct branch *ret___67 ;
  size_t tmp ;
  int tmp___0 ;

  {
  read_config(the_repository);
  if (! name___0) {
    ret___67 = (the_repository->remote_state)->current_branch;
  } else
  if (! *name___0) {
    ret___67 = (the_repository->remote_state)->current_branch;
  } else {
    tmp___0 = strcmp(name___0, (char const   *)"HEAD");
    if (tmp___0) {
      tmp = strlen(name___0);
      ret___67 = make_branch(the_repository->remote_state, name___0, tmp);
    } else {
      ret___67 = (the_repository->remote_state)->current_branch;
    }
  }
  set_merge(the_repository->remote_state, ret___67);
  return (ret___67);
}
}
int branch_has_merge_config(struct branch *branch___0 )
{
  int tmp ;

  {
  if (branch___0) {
    if (! (! branch___0->merge)) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
int branch_merge_matches(struct branch *branch___0 , int i , char const   *refname )
{
  int tmp ;

  {
  if (! branch___0) {
    return (0);
  } else
  if (i < 0) {
    return (0);
  } else
  if (i >= branch___0->merge_nr) {
    return (0);
  }
  tmp = refname_match((char const   *)(*(branch___0->merge + i))->src, refname);
  return (tmp);
}
}
static char const   *( /* format attribute */  error_buf)(struct strbuf *err___4 ,
                                                          char const   *fmt  , ...)
{
  va_list ap ;

  {
  if (err___4) {
    __builtin_va_start(ap, fmt);
    strbuf_vaddf(err___4, fmt, ap);
    __builtin_va_end(ap);
  }
  return ((char const   *)((void *)0));
}
}
char const   *branch_get_upstream(struct branch *branch___0 , struct strbuf *err___4 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const   *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const   *tmp___7 ;

  {
  if (! branch___0) {
    tmp = _((char const   *)"HEAD does not point to a branch");
    tmp___0 = error_buf(err___4, (char const   *)tmp);
    return (tmp___0);
  }
  if (! branch___0->merge) {
    goto _L;
  } else
  if (! *(branch___0->merge + 0)) {
    _L: /* CIL Label */
    tmp___3 = ref_exists(branch___0->refname);
    if (! tmp___3) {
      tmp___1 = _((char const   *)"no such branch: \'%s\'");
      tmp___2 = error_buf(err___4, (char const   *)tmp___1, branch___0->name);
      return (tmp___2);
    }
    tmp___4 = _((char const   *)"no upstream configured for branch \'%s\'");
    tmp___5 = error_buf(err___4, (char const   *)tmp___4, branch___0->name);
    return (tmp___5);
  }
  if (! (*(branch___0->merge + 0))->dst) {
    tmp___6 = _((char const   *)"upstream branch \'%s\' not stored as a remote-tracking branch");
    tmp___7 = error_buf(err___4, (char const   *)tmp___6, (*(branch___0->merge + 0))->src);
    return (tmp___7);
  }
  return ((char const   *)(*(branch___0->merge + 0))->dst);
}
}
static char const   *tracking_for_push_dest(struct remote *remote , char const   *refname ,
                                            struct strbuf *err___4 )
{
  char *ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *tmp___0 ;

  {
  ret___67 = apply_refspecs(& remote->fetch, refname);
  if (! ret___67) {
    tmp = _((char const   *)"push destination \'%s\' on remote \'%s\' has no local tracking branch");
    tmp___0 = error_buf(err___4, (char const   *)tmp, refname, remote->name);
    return (tmp___0);
  }
  return ((char const   *)ret___67);
}
}
static char const   *branch_get_push_1(struct remote_state *remote_state , struct branch *branch___0 ,
                                       struct strbuf *err___4 )
{
  struct remote *remote ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const   *tmp___1 ;
  char *dst ;
  char const   *ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const   *tmp___6 ;
  char const   *tmp___7 ;
  char const   *tmp___8 ;
  char const   *up ;
  char const   *cur ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const   *tmp___10 ;
  int tmp___11 ;

  {
  tmp = remotes_pushremote_for_branch(remote_state, branch___0, (int *)((void *)0));
  remote = remotes_remote_get(remote_state, tmp);
  if (! remote) {
    tmp___0 = _((char const   *)"branch \'%s\' has no remote for pushing");
    tmp___1 = error_buf(err___4, (char const   *)tmp___0, branch___0->name);
    return (tmp___1);
  }
  if (remote->push.nr) {
    dst = apply_refspecs(& remote->push, branch___0->refname);
    if (! dst) {
      tmp___2 = _((char const   *)"push refspecs for \'%s\' do not include \'%s\'");
      tmp___3 = error_buf(err___4, (char const   *)tmp___2, remote->name, branch___0->name);
      return (tmp___3);
    }
    ret___67 = tracking_for_push_dest(remote, (char const   *)dst, err___4);
    free((void *)dst);
    return (ret___67);
  }
  if (remote->mirror) {
    tmp___4 = tracking_for_push_dest(remote, branch___0->refname, err___4);
    return (tmp___4);
  }
  {
  if ((unsigned int )push_default == 0U) {
    goto case_0;
  }
  if ((unsigned int )push_default == 4U) {
    goto case_4;
  }
  if ((unsigned int )push_default == 1U) {
    goto case_4;
  }
  if ((unsigned int )push_default == 3U) {
    goto case_3;
  }
  if ((unsigned int )push_default == 2U) {
    goto case_2;
  }
  if ((unsigned int )push_default == 5U) {
    goto case_2;
  }
  goto switch_break;
  case_0: /* CIL Label */
  tmp___5 = _((char const   *)"push has no destination (push.default is \'nothing\')");
  tmp___6 = error_buf(err___4, (char const   *)tmp___5);
  return (tmp___6);
  case_4: /* CIL Label */
  case_1: /* CIL Label */
  tmp___7 = tracking_for_push_dest(remote, branch___0->refname, err___4);
  return (tmp___7);
  case_3: /* CIL Label */
  tmp___8 = branch_get_upstream(branch___0, err___4);
  return (tmp___8);
  case_2: /* CIL Label */
  case_5: /* CIL Label */
  up = branch_get_upstream(branch___0, err___4);
  if (! up) {
    return ((char const   *)((void *)0));
  }
  cur = tracking_for_push_dest(remote, branch___0->refname, err___4);
  if (! cur) {
    return ((char const   *)((void *)0));
  }
  tmp___11 = strcmp(cur, up);
  if (tmp___11) {
    tmp___9 = _((char const   *)"cannot resolve \'simple\' push to a single destination");
    tmp___10 = error_buf(err___4, (char const   *)tmp___9);
    return (tmp___10);
  }
  return (cur);
  switch_break: /* CIL Label */ ;
  }
  BUG_fl((char const   *)"remote.c", 1932, (char const   *)"unhandled push situation");
}
}
char const   *branch_get_push(struct branch *branch___0 , struct strbuf *err___4 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *tmp___0 ;

  {
  read_config(the_repository);
  die_on_missing_branch(the_repository, branch___0);
  if (! branch___0) {
    tmp = _((char const   *)"HEAD does not point to a branch");
    tmp___0 = error_buf(err___4, (char const   *)tmp);
    return (tmp___0);
  }
  if (! branch___0->push_tracking_ref) {
    branch___0->push_tracking_ref = branch_get_push_1(the_repository->remote_state,
                                                      branch___0, err___4);
  }
  return (branch___0->push_tracking_ref);
}
}
static int ignore_symref_update(char const   *refname )
{
  int flag ;
  char const   *tmp ;

  {
  tmp = resolve_ref_unsafe(refname, 0, (struct object_id *)((void *)0), & flag);
  if (! tmp) {
    return (0);
  }
  return (flag & 0x01);
}
}
static struct ref *get_expanded_map(struct ref  const  *remote_refs , struct refspec_item  const  *refspec )
{
  struct ref  const  *ref ;
  struct ref *ret___67 ;
  struct ref **tail ;
  char *expn_name ;
  char *tmp ;
  struct ref *cpy ;
  struct ref *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  ret___67 = (struct ref *)((void *)0);
  tail = & ret___67;
  ref = remote_refs;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    expn_name = (char *)((void *)0);
    tmp = strchr((char const   *)(ref->name), '^');
    if (tmp) {
      goto __Cont;
    }
    tmp___1 = match_name_with_pattern((char const   *)refspec->src, (char const   *)(ref->name),
                                      (char const   *)refspec->dst, & expn_name);
    if (tmp___1) {
      tmp___2 = ignore_symref_update((char const   *)expn_name);
      if (! tmp___2) {
        tmp___0 = copy_ref(ref);
        cpy = tmp___0;
        cpy->peer_ref = alloc_ref((char const   *)expn_name);
        if (refspec->force) {
          (cpy->peer_ref)->force = 1U;
        }
        *tail = cpy;
        tail = & cpy->next;
      }
    }
    free((void *)expn_name);
    __Cont: /* CIL Label */
    ref = (struct ref  const  *)ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static struct ref  const  *find_ref_by_name_abbrev(struct ref  const  *refs___0 ,
                                                   char const   *name___0 )
{
  struct ref  const  *ref ;
  struct ref  const  *best_match ;
  int best_score ;
  int score ;
  int tmp ;

  {
  best_match = (struct ref  const  *)((void *)0);
  best_score = 0;
  ref = refs___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    tmp = refname_match(name___0, (char const   *)(ref->name));
    score = tmp;
    if (best_score < score) {
      best_match = ref;
      best_score = score;
    }
    ref = (struct ref  const  *)ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (best_match);
}
}
struct ref *get_remote_ref(struct ref  const  *remote_refs , char const   *name___0 )
{
  struct ref  const  *ref ;
  struct ref  const  *tmp ;
  struct ref *tmp___0 ;

  {
  tmp = find_ref_by_name_abbrev(remote_refs, name___0);
  ref = tmp;
  if (! ref) {
    return ((struct ref *)((void *)0));
  }
  tmp___0 = copy_ref(ref);
  return (tmp___0);
}
}
static struct ref *get_local_ref(char const   *name___0 )
{
  struct ref *tmp ;
  int tmp___0 ;
  struct ref *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  struct ref *tmp___5 ;

  {
  if (! name___0) {
    return ((struct ref *)((void *)0));
  } else
  if ((int const   )*(name___0 + 0) == 0) {
    return ((struct ref *)((void *)0));
  }
  tmp___0 = starts_with(name___0, (char const   *)"refs/");
  if (tmp___0) {
    tmp = alloc_ref(name___0);
    return (tmp);
  }
  tmp___2 = starts_with(name___0, (char const   *)"heads/");
  if (tmp___2) {
    tmp___1 = alloc_ref_with_prefix((char const   *)"refs/", (size_t )5, name___0);
    return (tmp___1);
  } else {
    tmp___3 = starts_with(name___0, (char const   *)"tags/");
    if (tmp___3) {
      tmp___1 = alloc_ref_with_prefix((char const   *)"refs/", (size_t )5, name___0);
      return (tmp___1);
    } else {
      tmp___4 = starts_with(name___0, (char const   *)"remotes/");
      if (tmp___4) {
        tmp___1 = alloc_ref_with_prefix((char const   *)"refs/", (size_t )5, name___0);
        return (tmp___1);
      }
    }
  }
  tmp___5 = alloc_ref_with_prefix((char const   *)"refs/heads/", (size_t )11, name___0);
  return (tmp___5);
}
}
int get_fetch_map(struct ref  const  *remote_refs , struct refspec_item  const  *refspec ,
                  struct ref ***tail , int missing_ok )
{
  struct ref *ref_map ;
  struct ref **rmp ;
  char const   *name___0 ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  struct ref *ignore ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  if (refspec->negative) {
    return (0);
  }
  if (refspec->pattern) {
    ref_map = get_expanded_map(remote_refs, refspec);
  } else {
    if (*(refspec->src + 0)) {
      tmp = (char *)refspec->src;
    } else {
      tmp = "HEAD";
    }
    name___0 = (char const   *)tmp;
    if (refspec->exact_sha1) {
      ref_map = alloc_ref(name___0);
      get_oid_hex(name___0, & ref_map->old_oid);
      ref_map->exact_oid = 1U;
    } else {
      ref_map = get_remote_ref(remote_refs, name___0);
    }
    if (! missing_ok) {
      if (! ref_map) {
        tmp___0 = _((char const   *)"couldn\'t find remote ref %s");
        die((char const   *)tmp___0, name___0);
      }
    }
    if (ref_map) {
      ref_map->peer_ref = get_local_ref((char const   *)refspec->dst);
      if (ref_map->peer_ref) {
        if (refspec->force) {
          (ref_map->peer_ref)->force = 1U;
        }
      }
    }
  }
  rmp = & ref_map;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *rmp) {
      goto while_break;
    }
    if ((*rmp)->peer_ref) {
      tmp___2 = starts_with((char const   *)(((*rmp)->peer_ref)->name), (char const   *)"refs/");
      if (tmp___2) {
        tmp___3 = check_refname_format((char const   *)(((*rmp)->peer_ref)->name),
                                       0);
        if (tmp___3) {
          _L: /* CIL Label */
          ignore = *rmp;
          tmp___1 = _((char const   *)"* Ignoring funny ref \'%s\' locally");
          error((char const   *)tmp___1, ((*rmp)->peer_ref)->name);
          const_error();
          *rmp = (*rmp)->next;
          free((void *)ignore->peer_ref);
          free((void *)ignore);
          goto __Cont;
        }
      } else {
        goto _L;
      }
    }
    rmp = & (*rmp)->next;
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  if (ref_map) {
    tail_link_ref(ref_map, tail);
  }
  return (0);
}
}
int resolve_remote_symref(struct ref *ref , struct ref *list___3 )
{
  int tmp ;

  {
  if (! ref->symref) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    tmp = strcmp((char const   *)ref->symref, (char const   *)(list___3->name));
    if (! tmp) {
      oidcpy(& ref->old_oid, (struct object_id  const  *)(& list___3->old_oid));
      return (0);
    }
    list___3 = list___3->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static int stat_branch_pair(char const   *branch_name , char const   *base , int *num_ours ,
                            int *num_theirs , enum ahead_behind_flags abf )
{
  struct object_id oid ;
  struct commit *ours ;
  struct commit *theirs ;
  struct rev_info revs ;
  struct strvec argv___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  struct commit *c___0 ;
  struct commit *tmp___6 ;

  {
  argv___0.v = empty_strvec;
  argv___0.nr = 0UL;
  argv___0.alloc = 0UL;
  tmp = read_ref(base, & oid);
  if (tmp) {
    return (-1);
  }
  theirs = lookup_commit_reference(the_repository, (struct object_id  const  *)(& oid));
  if (! theirs) {
    return (-1);
  }
  tmp___0 = read_ref(branch_name, & oid);
  if (tmp___0) {
    return (-1);
  }
  ours = lookup_commit_reference(the_repository, (struct object_id  const  *)(& oid));
  if (! ours) {
    return (-1);
  }
  tmp___1 = 0;
  *num_ours = tmp___1;
  *num_theirs = tmp___1;
  if ((unsigned long )theirs == (unsigned long )ours) {
    return (0);
  }
  if ((int )abf == 0) {
    return (1);
  }
  if ((int )abf != 1) {
    BUG_fl((char const   *)"remote.c", 2145, (char const   *)"stat_branch_pair: invalid abf \'%d\'",
           (int )abf);
  }
  strvec_push(& argv___0, (char const   *)"");
  strvec_push(& argv___0, (char const   *)"--left-right");
  tmp___2 = oid_to_hex((struct object_id  const  *)(& theirs->object.oid));
  tmp___3 = oid_to_hex((struct object_id  const  *)(& ours->object.oid));
  strvec_pushf(& argv___0, (char const   *)"%s...%s", tmp___3, tmp___2);
  strvec_push(& argv___0, (char const   *)"--");
  repo_init_revisions(the_repository, & revs, (char const   *)((void *)0));
  setup_revisions((int )argv___0.nr, argv___0.v, & revs, (struct setup_revision_opt *)((void *)0));
  tmp___5 = prepare_revision_walk(& revs);
  if (tmp___5) {
    tmp___4 = _((char const   *)"revision walk setup failed");
    die((char const   *)tmp___4);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___6 = get_revision(& revs);
    c___0 = tmp___6;
    if (! c___0) {
      goto while_break;
    }
    if (c___0->object.flags & (1u << 8)) {
      (*num_ours) ++;
    } else {
      (*num_theirs) ++;
    }
  }
  while_break: /* CIL Label */ ;
  }
  clear_commit_marks(ours, ((((1u << 11) - 1U) | (1u << 25)) | (1u << 26)) | (1u << 15));
  clear_commit_marks(theirs, ((((1u << 11) - 1U) | (1u << 25)) | (1u << 26)) | (1u << 15));
  strvec_clear(& argv___0);
  return (1);
}
}
int stat_tracking_info(struct branch *branch___0 , int *num_ours , int *num_theirs ,
                       char const   **tracking_name , int for_push , enum ahead_behind_flags abf )
{
  char const   *base ;
  char const   *tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  if (for_push) {
    tmp = branch_get_push(branch___0, (struct strbuf *)((void *)0));
    base = tmp;
  } else {
    tmp___0 = branch_get_upstream(branch___0, (struct strbuf *)((void *)0));
    base = tmp___0;
  }
  if (tracking_name) {
    *tracking_name = base;
  }
  if (! base) {
    return (-1);
  }
  tmp___1 = stat_branch_pair(branch___0->refname, base, num_ours, num_theirs, abf);
  return (tmp___1);
}
}
int format_tracking_info(struct branch *branch___0 , struct strbuf *sb___6 , enum ahead_behind_flags abf )
{
  int ours ;
  int theirs ;
  int sti ;
  char const   *full_base ;
  char *base ;
  int upstream_is_gone ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;

  {
  upstream_is_gone = 0;
  sti = stat_tracking_info(branch___0, & ours, & theirs, & full_base, 0, abf);
  if (sti < 0) {
    if (! full_base) {
      return (0);
    }
    upstream_is_gone = 1;
  }
  base = shorten_unambiguous_ref(full_base, 0);
  if (upstream_is_gone) {
    tmp = _((char const   *)"Your branch is based on \'%s\', but the upstream is gone.\n");
    strbuf_addf(sb___6, (char const   *)tmp, base);
    tmp___1 = advice_enabled((enum advice_type )28);
    if (tmp___1) {
      tmp___0 = _((char const   *)"  (use \"git branch --unset-upstream\" to fixup)\n");
      strbuf_addstr(sb___6, (char const   *)tmp___0);
    }
  } else
  if (! sti) {
    tmp___2 = _((char const   *)"Your branch is up to date with \'%s\'.\n");
    strbuf_addf(sb___6, (char const   *)tmp___2, base);
  } else
  if ((int )abf == 0) {
    tmp___3 = _((char const   *)"Your branch and \'%s\' refer to different commits.\n");
    strbuf_addf(sb___6, (char const   *)tmp___3, base);
    tmp___5 = advice_enabled((enum advice_type )28);
    if (tmp___5) {
      tmp___4 = _((char const   *)"  (use \"%s\" for details)\n");
      strbuf_addf(sb___6, (char const   *)tmp___4, "git status --ahead-behind");
    }
  } else
  if (! theirs) {
    tmp___6 = Q_((char const   *)"Your branch is ahead of \'%s\' by %d commit.\n",
                 (char const   *)"Your branch is ahead of \'%s\' by %d commits.\n",
                 (unsigned long )ours);
    strbuf_addf(sb___6, (char const   *)tmp___6, base, ours);
    tmp___8 = advice_enabled((enum advice_type )28);
    if (tmp___8) {
      tmp___7 = _((char const   *)"  (use \"git push\" to publish your local commits)\n");
      strbuf_addstr(sb___6, (char const   *)tmp___7);
    }
  } else
  if (! ours) {
    tmp___9 = Q_((char const   *)"Your branch is behind \'%s\' by %d commit, and can be fast-forwarded.\n",
                 (char const   *)"Your branch is behind \'%s\' by %d commits, and can be fast-forwarded.\n",
                 (unsigned long )theirs);
    strbuf_addf(sb___6, (char const   *)tmp___9, base, theirs);
    tmp___11 = advice_enabled((enum advice_type )28);
    if (tmp___11) {
      tmp___10 = _((char const   *)"  (use \"git pull\" to update your local branch)\n");
      strbuf_addstr(sb___6, (char const   *)tmp___10);
    }
  } else {
    tmp___12 = Q_((char const   *)"Your branch and \'%s\' have diverged,\nand have %d and %d different commit each, respectively.\n",
                  (char const   *)"Your branch and \'%s\' have diverged,\nand have %d and %d different commits each, respectively.\n",
                  (unsigned long )(ours + theirs));
    strbuf_addf(sb___6, (char const   *)tmp___12, base, ours, theirs);
    tmp___14 = advice_enabled((enum advice_type )28);
    if (tmp___14) {
      tmp___13 = _((char const   *)"  (use \"git pull\" to merge the remote branch into yours)\n");
      strbuf_addstr(sb___6, (char const   *)tmp___13);
    }
  }
  free((void *)base);
  return (1);
}
}
static int one_local_ref(char const   *refname , struct object_id  const  *oid , int flag ,
                         void *cb_data )
{
  struct ref ***local_tail ;
  struct ref *ref ;
  int tmp ;

  {
  local_tail = (struct ref ***)cb_data;
  tmp = check_refname_format(refname + 5, 0);
  if (tmp) {
    return (0);
  }
  ref = alloc_ref(refname);
  oidcpy(& ref->new_oid, oid);
  *(*local_tail) = ref;
  *local_tail = & ref->next;
  return (0);
}
}
struct ref *get_local_heads(void)
{
  struct ref *local_refs ;
  struct ref **local_tail ;

  {
  local_refs = (struct ref *)((void *)0);
  local_tail = & local_refs;
  for_each_ref(& one_local_ref, (void *)(& local_tail));
  return (local_refs);
}
}
struct ref *guess_remote_head(struct ref  const  *head___1 , struct ref  const  *refs___0 ,
                              int all___2 )
{
  struct ref  const  *r ;
  struct ref *list___3 ;
  struct ref **tail ;
  struct ref *tmp ;
  struct ref *tmp___0 ;
  char *ref ;
  char const   *tmp___1 ;
  char *tmp___2 ;
  struct ref *tmp___3 ;
  struct ref *tmp___4 ;
  int tmp___5 ;
  struct ref *tmp___6 ;
  struct ref *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  list___3 = (struct ref *)((void *)0);
  tail = & list___3;
  if (! head___1) {
    return ((struct ref *)((void *)0));
  }
  if (head___1->symref) {
    tmp = find_ref_by_name(refs___0, (char const   *)head___1->symref);
    tmp___0 = copy_ref((struct ref  const  *)tmp);
    return (tmp___0);
  }
  if (! all___2) {
    tmp___1 = git_default_branch_name(0);
    tmp___2 = xstrfmt((char const   *)"refs/heads/%s", tmp___1);
    ref = tmp___2;
    tmp___3 = find_ref_by_name(refs___0, (char const   *)ref);
    r = (struct ref  const  *)tmp___3;
    free((void *)ref);
    if (r) {
      tmp___5 = oideq((struct object_id  const  *)(& r->old_oid), (struct object_id  const  *)(& head___1->old_oid));
      if (tmp___5) {
        tmp___4 = copy_ref(r);
        return (tmp___4);
      }
    }
    tmp___6 = find_ref_by_name(refs___0, (char const   *)"refs/heads/master");
    r = (struct ref  const  *)tmp___6;
    if (r) {
      tmp___8 = oideq((struct object_id  const  *)(& r->old_oid), (struct object_id  const  *)(& head___1->old_oid));
      if (tmp___8) {
        tmp___7 = copy_ref(r);
        return (tmp___7);
      }
    }
  }
  r = refs___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! r) {
      goto while_break;
    }
    if ((unsigned long )r != (unsigned long )head___1) {
      tmp___9 = starts_with((char const   *)(r->name), (char const   *)"refs/heads/");
      if (tmp___9) {
        tmp___10 = oideq((struct object_id  const  *)(& r->old_oid), (struct object_id  const  *)(& head___1->old_oid));
        if (tmp___10) {
          *tail = copy_ref(r);
          tail = & (*tail)->next;
          if (! all___2) {
            goto while_break;
          }
        }
      }
    }
    r = (struct ref  const  *)r->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (list___3);
}
}
static int get_stale_heads_cb(char const   *refname , struct object_id  const  *oid ,
                              int flags___0 , void *cb_data )
{
  struct stale_heads_info *info___0 ;
  struct string_list matches___0 ;
  struct refspec_item query ;
  int i ;
  int stale ;
  int tmp ;
  struct ref *ref ;
  struct ref *tmp___0 ;

  {
  info___0 = (struct stale_heads_info *)cb_data;
  matches___0.items = (struct string_list_item *)0;
  matches___0.nr = 0U;
  matches___0.alloc = 0U;
  matches___0.strdup_strings = 1U;
  matches___0.cmp = (int (*)(char const   * , char const   * ))0;
  stale = 1;
  memset((void *)(& query), 0, sizeof(struct refspec_item ));
  query.dst = (char *)refname;
  query_refspecs_multiple(info___0->rs, & query, & matches___0);
  if (matches___0.nr == 0U) {
    goto clean_exit;
  }
  if (flags___0 & 0x01) {
    goto clean_exit;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (stale) {
      if (! ((unsigned int )i < matches___0.nr)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = string_list_has_string((struct string_list  const  *)info___0->ref_names,
                                 (char const   *)(matches___0.items + i)->string);
    if (tmp) {
      stale = 0;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (stale) {
    tmp___0 = make_linked_ref(refname, & info___0->stale_refs_tail);
    ref = tmp___0;
    oidcpy(& ref->new_oid, oid);
  }
  clean_exit:
  string_list_clear(& matches___0, 0);
  return (0);
}
}
struct ref *get_stale_heads(struct refspec *rs___0 , struct ref *fetch_map )
{
  struct ref *ref ;
  struct ref *stale_refs ;
  struct string_list ref_names ;
  struct stale_heads_info info___0 ;

  {
  stale_refs = (struct ref *)((void *)0);
  ref_names.items = (struct string_list_item *)0;
  ref_names.nr = 0U;
  ref_names.alloc = 0U;
  ref_names.strdup_strings = 0U;
  ref_names.cmp = (int (*)(char const   * , char const   * ))0;
  info___0.ref_names = & ref_names;
  info___0.stale_refs_tail = & stale_refs;
  info___0.rs = rs___0;
  ref = fetch_map;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    string_list_append(& ref_names, (char const   *)(ref->name));
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_sort(& ref_names);
  for_each_ref(& get_stale_heads_cb, (void *)(& info___0));
  string_list_clear(& ref_names, 0);
  return (stale_refs);
}
}
static void clear_cas_option(struct push_cas_option *cas___0 )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < cas___0->nr)) {
      goto while_break;
    }
    free((void *)(cas___0->entry + i)->refname);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)cas___0->entry);
  memset((void *)cas___0, 0, sizeof(*cas___0));
  return;
}
}
static struct push_cas *add_cas_entry(struct push_cas_option *cas___0 , char const   *refname ,
                                      size_t refnamelen )
{
  struct push_cas *entry ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  void *tmp___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (cas___0->nr + 1 > cas___0->alloc) {
      if (((cas___0->alloc + 16) * 3) / 2 < cas___0->nr + 1) {
        cas___0->alloc = cas___0->nr + 1;
      } else {
        cas___0->alloc = ((cas___0->alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(cas___0->entry)), (size_t )cas___0->alloc);
      tmp___0 = xrealloc((void *)cas___0->entry, tmp);
      cas___0->entry = (struct push_cas *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = cas___0->nr;
  (cas___0->nr) ++;
  entry = cas___0->entry + tmp___1;
  memset((void *)entry, 0, sizeof(*entry));
  tmp___2 = xmemdupz((void const   *)refname, refnamelen);
  entry->refname = (char *)tmp___2;
  return (entry);
}
}
static int parse_push_cas_option(struct push_cas_option *cas___0 , char const   *arg ,
                                 int unset )
{
  char const   *colon ;
  struct push_cas *entry ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (unset) {
    clear_cas_option(cas___0);
    return (0);
  }
  if (! arg) {
    cas___0->use_tracking_for_rest = 1U;
    return (0);
  }
  tmp = strchrnul(arg, ':');
  colon = (char const   *)tmp;
  entry = add_cas_entry(cas___0, arg, (size_t )(colon - arg));
  if (! *colon) {
    entry->use_tracking = 1U;
  } else
  if (! *(colon + 1)) {
    oidclr(& entry->expect);
  } else {
    tmp___2 = repo_get_oid(the_repository, colon + 1, & entry->expect);
    if (tmp___2) {
      tmp___0 = _((char const   *)"cannot parse expected object name \'%s\'");
      error((char const   *)tmp___0, colon + 1);
      tmp___1 = const_error();
      return (tmp___1);
    }
  }
  return (0);
}
}
int parseopt_push_cas_option(struct option  const  *opt___0 , char const   *arg ,
                             int unset )
{
  int tmp ;

  {
  tmp = parse_push_cas_option((struct push_cas_option *)opt___0->value, arg, unset);
  return (tmp);
}
}
int is_empty_cas(struct push_cas_option  const  *cas___0 )
{
  int tmp ;

  {
  if (! cas___0->use_tracking_for_rest) {
    if (! cas___0->nr) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static int remote_tracking(struct remote *remote , char const   *refname , struct object_id *oid ,
                           char **dst_refname )
{
  char *dst ;
  int tmp ;

  {
  dst = apply_refspecs(& remote->fetch, refname);
  if (! dst) {
    return (-1);
  }
  tmp = read_ref((char const   *)dst, oid);
  if (tmp) {
    return (-1);
  }
  *dst_refname = dst;
  return (0);
}
}
static void append_commit(struct reflog_commit_array *arr , struct commit *commit )
{
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (arr->nr + 1UL > arr->alloc) {
      if (((arr->alloc + 16UL) * 3UL) / 2UL < arr->nr + 1UL) {
        arr->alloc = arr->nr + 1UL;
      } else {
        arr->alloc = ((arr->alloc + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*(arr->item)), arr->alloc);
      tmp___0 = xrealloc((void *)arr->item, tmp);
      arr->item = (struct commit **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = arr->nr;
  (arr->nr) ++;
  *(arr->item + tmp___1) = commit;
  return;
}
}
static void free_commit_array(struct reflog_commit_array *arr )
{
  size_t tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)arr->item);
    arr->item = (struct commit **)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = (size_t )0;
  arr->alloc = tmp;
  arr->nr = tmp;
  return;
}
}
static int peek_reflog(struct object_id *o_oid , struct object_id *n_oid , char const   *ident ,
                       timestamp_t timestamp___0 , int tz , char const   *message___0 ,
                       void *cb_data )
{
  timestamp_t *ts ;

  {
  ts = (timestamp_t *)cb_data;
  *ts = timestamp___0;
  return (1);
}
}
static int check_and_collect_until(struct object_id *o_oid , struct object_id *n_oid ,
                                   char const   *ident , timestamp_t timestamp___0 ,
                                   int tz , char const   *message___0 , void *cb_data )
{
  struct commit *commit ;
  struct check_and_collect_until_cb_data *cb ;
  int tmp ;

  {
  cb = (struct check_and_collect_until_cb_data *)cb_data;
  tmp = oideq((struct object_id  const  *)n_oid, (struct object_id  const  *)(& (cb->remote_commit)->object.oid));
  if (tmp) {
    return (1);
  }
  commit = lookup_commit_reference(the_repository, (struct object_id  const  *)n_oid);
  if (commit) {
    append_commit(cb->local_commits, commit);
  }
  if (timestamp___0 < cb->remote_reflog_timestamp) {
    return (-1);
  }
  return (0);
}
}
static int is_reachable_in_reflog(char const   *local___0 , struct ref  const  *remote )
{
  timestamp_t date ;
  struct commit *commit ;
  struct commit **chunk ;
  struct check_and_collect_until_cb_data cb ;
  struct reflog_commit_array arr ;
  size_t size ;
  int ret___67 ;

  {
  arr.item = (struct commit **)0;
  arr.nr = 0UL;
  arr.alloc = 0UL;
  size = (size_t )0;
  ret___67 = 0;
  commit = lookup_commit_reference(the_repository, (struct object_id  const  *)(& remote->old_oid));
  if (! commit) {
    goto cleanup_return;
  }
  for_each_reflog_ent_reverse((char const   *)remote->tracking_ref, & peek_reflog,
                              (void *)(& date));
  cb.remote_commit = commit;
  cb.local_commits = & arr;
  cb.remote_reflog_timestamp = date;
  ret___67 = for_each_reflog_ent_reverse(local___0, & check_and_collect_until, (void *)(& cb));
  if (ret___67 > 0) {
    goto cleanup_return;
  }
  chunk = arr.item;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )chunk < (unsigned long )(arr.item + arr.nr))) {
      goto while_break;
    }
    size = (size_t )((arr.item + arr.nr) - chunk);
    if (8UL < size) {
      size = (size_t )8;
    }
    ret___67 = repo_in_merge_bases_many(the_repository, commit, (int )size, chunk);
    if (ret___67) {
      goto while_break;
    }
    chunk += size;
  }
  while_break: /* CIL Label */ ;
  }
  cleanup_return:
  free_commit_array(& arr);
  return (ret___67);
}
}
static void check_if_includes_upstream(struct ref *remote )
{
  struct ref *local___0 ;
  struct ref *tmp ;
  int tmp___0 ;

  {
  tmp = get_local_ref((char const   *)(remote->name));
  local___0 = tmp;
  if (! local___0) {
    return;
  }
  tmp___0 = is_reachable_in_reflog((char const   *)(local___0->name), (struct ref  const  *)remote);
  if (tmp___0 <= 0) {
    remote->unreachable = 1U;
  }
  return;
}
}
static void apply_cas(struct push_cas_option *cas___0 , struct remote *remote , struct ref *ref )
{
  int i ;
  struct push_cas *entry ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < cas___0->nr)) {
      goto while_break;
    }
    entry = cas___0->entry + i;
    tmp = refname_match((char const   *)entry->refname, (char const   *)(ref->name));
    if (! tmp) {
      goto __Cont;
    }
    ref->expect_old_sha1 = 1U;
    if (! entry->use_tracking) {
      oidcpy(& ref->old_oid_expect, (struct object_id  const  *)(& entry->expect));
    } else {
      tmp___0 = remote_tracking(remote, (char const   *)(ref->name), & ref->old_oid_expect,
                                & ref->tracking_ref);
      if (tmp___0) {
        oidclr(& ref->old_oid_expect);
      } else {
        ref->check_reachable = cas___0->use_force_if_includes;
      }
    }
    return;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! cas___0->use_tracking_for_rest) {
    return;
  }
  ref->expect_old_sha1 = 1U;
  tmp___1 = remote_tracking(remote, (char const   *)(ref->name), & ref->old_oid_expect,
                            & ref->tracking_ref);
  if (tmp___1) {
    oidclr(& ref->old_oid_expect);
  } else {
    ref->check_reachable = cas___0->use_force_if_includes;
  }
  return;
}
}
void apply_push_cas(struct push_cas_option *cas___0 , struct remote *remote , struct ref *remote_refs )
{
  struct ref *ref ;

  {
  ref = remote_refs;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    apply_cas(cas___0, remote, ref);
    if (ref->check_reachable) {
      check_if_includes_upstream(ref);
    }
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
struct remote_state *remote_state_new(void)
{
  struct remote_state *r ;
  void *tmp ;

  {
  tmp = xmalloc(sizeof(*r));
  r = (struct remote_state *)tmp;
  memset((void *)r, 0, sizeof(*r));
  hashmap_init(& r->remotes_hash, & remotes_hash_cmp, (void const   *)((void *)0),
               (size_t )0);
  hashmap_init(& r->branches_hash, & branches_hash_cmp, (void const   *)((void *)0),
               (size_t )0);
  return (r);
}
}
void remote_state_clear(struct remote_state *remote_state )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < remote_state->remotes_nr)) {
      goto while_break;
    }
    remote_clear(*(remote_state->remotes + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)remote_state->remotes);
    remote_state->remotes = (struct remote **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  remote_state->remotes_alloc = 0;
  remote_state->remotes_nr = 0;
  hashmap_clear_(& remote_state->remotes_hash, (ssize_t )((unsigned long )(& ((struct remote *)0)->ent)));
  hashmap_clear_(& remote_state->branches_hash, (ssize_t )((unsigned long )(& ((struct remote *)0)->ent)));
  return;
}
}
static double const   __ac_HASH_UPPER___78  =    (double const   )0.77;
__inline static void kh_resize_oid_set___78(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___78(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___78 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___78 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___78(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___78(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___78(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___78(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___78(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___78(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___78 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___78 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___78(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___78(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___78(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___78(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___78(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___78(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___78 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___78 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___78(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___78(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___78(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___78(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___58(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___58(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___78 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___78 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___58(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___58(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___58(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___58(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int register_replace_ref(struct repository *r , char const   *refname , struct object_id  const  *oid ,
                                int flag , void *cb_data )
{
  char const   *slash ;
  char *tmp ;
  char const   *hash___0 ;
  char const   *tmp___0 ;
  struct replace_object *repl_obj ;
  void *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  void *tmp___5 ;

  {
  tmp = strrchr(refname, '/');
  slash = (char const   *)tmp;
  if (slash) {
    tmp___0 = slash + 1;
  } else {
    tmp___0 = refname;
  }
  hash___0 = tmp___0;
  tmp___1 = xmalloc(sizeof(*repl_obj));
  repl_obj = (struct replace_object *)tmp___1;
  tmp___3 = get_oid_hex(hash___0, & repl_obj->original.oid);
  if (tmp___3) {
    free((void *)repl_obj);
    tmp___2 = _((char const   *)"bad replace ref name: %s");
    warning((char const   *)tmp___2, refname);
    return (0);
  }
  oidcpy(& repl_obj->replacement, oid);
  tmp___5 = oidmap_put((r->objects)->replace_map, (void *)repl_obj);
  if (tmp___5) {
    tmp___4 = _((char const   *)"duplicate replace ref: %s");
    die((char const   *)tmp___4, refname);
  }
  return (0);
}
}
void prepare_replace_object(struct repository *r )
{
  void *tmp ;

  {
  if ((r->objects)->replace_map_initialized) {
    return;
  }
  pthread_mutex_lock(& (r->objects)->replace_mutex);
  if ((r->objects)->replace_map_initialized) {
    pthread_mutex_unlock(& (r->objects)->replace_mutex);
    return;
  }
  tmp = xmalloc(sizeof(*((r->objects)->replace_map)));
  (r->objects)->replace_map = (struct oidmap *)tmp;
  oidmap_init((r->objects)->replace_map, (size_t )0);
  for_each_replace_ref(r, & register_replace_ref, (void *)0);
  (r->objects)->replace_map_initialized = 1U;
  pthread_mutex_unlock(& (r->objects)->replace_mutex);
  return;
}
}
struct object_id  const  *do_lookup_replace_object(struct repository *r , struct object_id  const  *oid )
{
  int depth___1 ;
  struct object_id  const  *cur ;
  struct replace_object *repl_obj ;
  void *tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  depth___1 = 5;
  cur = oid;
  prepare_replace_object(r);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = depth___1;
    depth___1 --;
    if (! (tmp___0 > 0)) {
      goto while_break;
    }
    tmp = oidmap_get((struct oidmap  const  *)(r->objects)->replace_map, cur);
    repl_obj = (struct replace_object *)tmp;
    if (! repl_obj) {
      return (cur);
    }
    cur = (struct object_id  const  *)(& repl_obj->replacement);
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = oid_to_hex(oid);
  tmp___2 = _((char const   *)"replace depth too high for object %s");
  die((char const   *)tmp___2, tmp___1);
}
}
static void repo_cfg_bool(struct repository *r , char const   *key___1 , int *dest ,
                          int def___0 )
{
  int tmp ;

  {
  tmp = repo_config_get_bool(r, key___1, dest);
  if (tmp) {
    *dest = def___0;
  }
  return;
}
}
void prepare_repo_settings(struct repository *r )
{
  int experimental ;
  int value ;
  char *strval ;
  int manyfiles ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int v ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  if (! r->gitdir) {
    BUG_fl((char const   *)"repo-settings.c", 21, (char const   *)"Cannot add settings for uninitialized repository");
  }
  tmp = r->settings.initialized;
  (r->settings.initialized) ++;
  if (tmp) {
    return;
  }
  r->settings.index_version = -1;
  r->settings.core_untracked_cache = (enum untracked_cache_setting )0;
  r->settings.fetch_negotiation_algorithm = (enum fetch_negotiation_setting )0;
  repo_cfg_bool(r, (char const   *)"feature.manyfiles", & manyfiles, 0);
  repo_cfg_bool(r, (char const   *)"feature.experimental", & experimental, 0);
  if (experimental) {
    r->settings.fetch_negotiation_algorithm = (enum fetch_negotiation_setting )1;
  }
  if (manyfiles) {
    r->settings.index_version = 4;
    r->settings.core_untracked_cache = (enum untracked_cache_setting )2;
  }
  repo_cfg_bool(r, (char const   *)"core.commitgraph", & r->settings.core_commit_graph,
                1);
  repo_cfg_bool(r, (char const   *)"commitgraph.readchangedpaths", & r->settings.commit_graph_read_changed_paths,
                1);
  repo_cfg_bool(r, (char const   *)"gc.writecommitgraph", & r->settings.gc_write_commit_graph,
                1);
  repo_cfg_bool(r, (char const   *)"fetch.writecommitgraph", & r->settings.fetch_write_commit_graph,
                0);
  repo_cfg_bool(r, (char const   *)"pack.usesparse", & r->settings.pack_use_sparse,
                1);
  repo_cfg_bool(r, (char const   *)"core.multipackindex", & r->settings.core_multi_pack_index,
                1);
  repo_cfg_bool(r, (char const   *)"index.sparse", & r->settings.sparse_index, 0);
  tmp___0 = git_env_bool((char const   *)"GIT_TEST_MULTI_PACK_INDEX", 0);
  if (tmp___0) {
    r->settings.core_multi_pack_index = 1;
  }
  tmp___1 = repo_config_get_int(r, (char const   *)"index.version", & value);
  if (! tmp___1) {
    r->settings.index_version = value;
  }
  tmp___3 = repo_config_get_string(r, (char const   *)"core.untrackedcache", & strval);
  if (! tmp___3) {
    tmp___2 = git_parse_maybe_bool((char const   *)strval);
    v = tmp___2;
    if (v >= 0) {
      if (v) {
        r->settings.core_untracked_cache = (enum untracked_cache_setting )2;
      } else {
        r->settings.core_untracked_cache = (enum untracked_cache_setting )1;
      }
    }
    free((void *)strval);
  }
  tmp___6 = repo_config_get_string(r, (char const   *)"fetch.negotiationalgorithm",
                                   & strval);
  if (! tmp___6) {
    tmp___5 = strcasecmp((char const   *)strval, (char const   *)"skipping");
    if (tmp___5) {
      tmp___4 = strcasecmp((char const   *)strval, (char const   *)"noop");
      if (! tmp___4) {
        r->settings.fetch_negotiation_algorithm = (enum fetch_negotiation_setting )2;
      }
    } else {
      r->settings.fetch_negotiation_algorithm = (enum fetch_negotiation_setting )1;
    }
  }
  r->settings.command_requires_full_index = 1;
  return;
}
}
struct repository *the_repository  ;
struct index_state the_index  ;
static double const   __ac_HASH_UPPER___79  =    (double const   )0.77;
__inline static void kh_resize_oid_set___79(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___79(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___79 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___79 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___79(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___79(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___79(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___79(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___79(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___79(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___79 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___79 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___79(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___79(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___79(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___79(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___79(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___79(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___79 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___79 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___79(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___79(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___79(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___79(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___59(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___59(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___79 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___79 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___59(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___59(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___59(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___59(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static struct repository the_repo  ;
void initialize_the_repository(void)
{


  {
  the_repository = & the_repo;
  the_repo.index = & the_index;
  the_repo.objects = raw_object_store_new();
  the_repo.remote_state = remote_state_new();
  the_repo.parsed_objects = parsed_object_pool_new();
  repo_set_hash_algo(& the_repo, 1);
  return;
}
}
static void expand_base_dir(char **out , char const   *in , char const   *base_dir ,
                            char const   *def_in )
{


  {
  free((void *)*out);
  if (in) {
    *out = xstrdup(in);
  } else {
    *out = xstrfmt((char const   *)"%s/%s", base_dir, def_in);
  }
  return;
}
}
static void repo_set_commondir(struct repository *repo , char const   *commondir )
{
  struct strbuf sb___6 ;
  int tmp ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  free((void *)repo->commondir);
  if (commondir) {
    repo->different_commondir = 1U;
    repo->commondir = xstrdup(commondir);
    return;
  }
  tmp = get_common_dir_noenv(& sb___6, (char const   *)repo->gitdir);
  repo->different_commondir = (unsigned int )tmp;
  repo->commondir = strbuf_detach(& sb___6, (size_t *)((void *)0));
  return;
}
}
void repo_set_gitdir(struct repository *repo , char const   *root , struct set_gitdir_args  const  *o )
{
  char const   *gitfile ;
  char const   *tmp ;
  char *old_gitdir ;
  char const   *tmp___0 ;
  void *tmp___1 ;

  {
  tmp = read_gitfile_gently(root, (int *)((void *)0));
  gitfile = tmp;
  old_gitdir = repo->gitdir;
  if (gitfile) {
    tmp___0 = gitfile;
  } else {
    tmp___0 = root;
  }
  repo->gitdir = xstrdup(tmp___0);
  free((void *)old_gitdir);
  repo_set_commondir(repo, (char const   *)o->commondir);
  if (! (repo->objects)->odb) {
    tmp___1 = xcalloc((size_t )1, sizeof(*((repo->objects)->odb)));
    (repo->objects)->odb = (struct object_directory *)tmp___1;
    (repo->objects)->odb_tail = & ((repo->objects)->odb)->next;
  }
  expand_base_dir(& ((repo->objects)->odb)->path, (char const   *)o->object_dir, (char const   *)repo->commondir,
                  (char const   *)"objects");
  ((repo->objects)->odb)->disable_ref_updates = (int )o->disable_ref_updates;
  free((void *)(repo->objects)->alternate_db);
  (repo->objects)->alternate_db = xstrdup_or_null((char const   *)o->alternate_db);
  expand_base_dir(& repo->graft_file, (char const   *)o->graft_file, (char const   *)repo->commondir,
                  (char const   *)"info/grafts");
  expand_base_dir(& repo->index_file, (char const   *)o->index_file, (char const   *)repo->gitdir,
                  (char const   *)"index");
  return;
}
}
void repo_set_hash_algo(struct repository *repo , int hash_algo )
{


  {
  repo->hash_algo = & hash_algos[hash_algo];
  return;
}
}
static int repo_init_gitdir(struct repository *repo , char const   *gitdir___0 )
{
  int ret___67 ;
  int error___0 ;
  char *abspath ;
  char const   *resolved_gitdir ;
  struct set_gitdir_args args___0 ;

  {
  ret___67 = 0;
  error___0 = 0;
  abspath = (char *)((void *)0);
  args___0.commondir = (char const   *)((void *)0);
  args___0.object_dir = (char const   *)0;
  args___0.graft_file = (char const   *)0;
  args___0.index_file = (char const   *)0;
  args___0.alternate_db = (char const   *)0;
  args___0.disable_ref_updates = 0;
  abspath = real_pathdup(gitdir___0, 0);
  if (! abspath) {
    ret___67 = -1;
    goto out;
  }
  resolved_gitdir = resolve_gitdir_gently((char const   *)abspath, & error___0);
  if (! resolved_gitdir) {
    ret___67 = -1;
    goto out;
  }
  repo_set_gitdir(repo, resolved_gitdir, (struct set_gitdir_args  const  *)(& args___0));
  out:
  free((void *)abspath);
  return (ret___67);
}
}
void repo_set_worktree(struct repository *repo , char const   *path___6 )
{


  {
  repo->worktree = real_pathdup(path___6, 1);
  trace2_def_repo_fl((char const   *)"repository.c", 136, repo);
  return;
}
}
static int read_and_verify_repository_format(struct repository_format *format___0 ,
                                             char const   *commondir )
{
  int ret___67 ;
  struct strbuf sb___6 ;
  int tmp ;

  {
  ret___67 = 0;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  strbuf_addf(& sb___6, (char const   *)"%s/config", commondir);
  read_repository_format(format___0, (char const   *)sb___6.buf);
  strbuf_setlen(& sb___6, (size_t )0);
  tmp = verify_repository_format((struct repository_format  const  *)format___0, & sb___6);
  if (tmp < 0) {
    warning((char const   *)"%s", sb___6.buf);
    ret___67 = -1;
  }
  strbuf_release(& sb___6);
  return (ret___67);
}
}
int repo_init(struct repository *repo , char const   *gitdir___0 , char const   *worktree )
{
  struct repository_format format___0 ;
  int tmp ;
  int tmp___0 ;

  {
  format___0.version = -1;
  format___0.precious_objects = 0;
  format___0.partial_clone = (char *)0;
  format___0.worktree_config = 0;
  format___0.is_bare = -1;
  format___0.hash_algo = 1;
  format___0.sparse_index = 0;
  format___0.work_tree = (char *)0;
  format___0.unknown_extensions.items = (struct string_list_item *)0;
  format___0.unknown_extensions.nr = 0U;
  format___0.unknown_extensions.alloc = 0U;
  format___0.unknown_extensions.strdup_strings = 1U;
  format___0.unknown_extensions.cmp = (int (*)(char const   * , char const   * ))0;
  format___0.v1_only_extensions.items = (struct string_list_item *)0;
  format___0.v1_only_extensions.nr = 0U;
  format___0.v1_only_extensions.alloc = 0U;
  format___0.v1_only_extensions.strdup_strings = 1U;
  format___0.v1_only_extensions.cmp = (int (*)(char const   * , char const   * ))0;
  memset((void *)repo, 0, sizeof(*repo));
  repo->objects = raw_object_store_new();
  repo->parsed_objects = parsed_object_pool_new();
  repo->remote_state = remote_state_new();
  tmp = repo_init_gitdir(repo, gitdir___0);
  if (tmp) {
    goto error;
  }
  tmp___0 = read_and_verify_repository_format(& format___0, (char const   *)repo->commondir);
  if (tmp___0) {
    goto error;
  }
  repo_set_hash_algo(repo, format___0.hash_algo);
  repo->repository_format_partial_clone = format___0.partial_clone;
  format___0.partial_clone = (char *)((void *)0);
  if (worktree) {
    repo_set_worktree(repo, worktree);
  }
  clear_repository_format(& format___0);
  return (0);
  error:
  repo_clear(repo);
  return (-1);
}
}
int repo_submodule_init(struct repository *subrepo , struct repository *superproject ,
                        char const   *path___6 , struct object_id  const  *treeish_name )
{
  struct strbuf gitdir___0 ;
  struct strbuf worktree ;
  int ret___67 ;
  struct submodule  const  *sub ;
  struct submodule  const  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;

  {
  gitdir___0.alloc = 0UL;
  gitdir___0.len = 0UL;
  gitdir___0.buf = strbuf_slopbuf;
  worktree.alloc = 0UL;
  worktree.len = 0UL;
  worktree.buf = strbuf_slopbuf;
  ret___67 = 0;
  strbuf_repo_worktree_path(& gitdir___0, (struct repository  const  *)superproject,
                            (char const   *)"%s/.git", path___6);
  strbuf_repo_worktree_path(& worktree, (struct repository  const  *)superproject,
                            (char const   *)"%s", path___6);
  tmp___1 = repo_init(subrepo, (char const   *)gitdir___0.buf, (char const   *)worktree.buf);
  if (tmp___1) {
    tmp = submodule_from_path(superproject, treeish_name, path___6);
    sub = tmp;
    if (! sub) {
      ret___67 = -1;
      goto out;
    }
    strbuf_setlen(& gitdir___0, (size_t )0);
    submodule_name_to_gitdir(& gitdir___0, superproject, (char const   *)sub->name);
    tmp___0 = repo_init(subrepo, (char const   *)gitdir___0.buf, (char const   *)((void *)0));
    if (tmp___0) {
      ret___67 = -1;
      goto out;
    }
  }
  if (superproject->submodule_prefix) {
    tmp___2 = superproject->submodule_prefix;
  } else {
    tmp___2 = "";
  }
  subrepo->submodule_prefix = xstrfmt((char const   *)"%s%s/", tmp___2, path___6);
  out:
  strbuf_release(& gitdir___0);
  strbuf_release(& worktree);
  return (ret___67);
}
}
void repo_clear(struct repository *repo )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)repo->gitdir);
    repo->gitdir = (char *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)repo->commondir);
    repo->commondir = (char *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    free((void *)repo->graft_file);
    repo->graft_file = (char *)((void *)0);
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    free((void *)repo->index_file);
    repo->index_file = (char *)((void *)0);
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    free((void *)repo->worktree);
    repo->worktree = (char *)((void *)0);
    goto while_break___3;
  }
  while_break___3: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    free((void *)repo->submodule_prefix);
    repo->submodule_prefix = (char *)((void *)0);
    goto while_break___4;
  }
  while_break___4: /* CIL Label */ ;
  }
  raw_object_store_clear(repo->objects);
  {
  while (1) {
    while_continue___5: /* CIL Label */ ;
    free((void *)repo->objects);
    repo->objects = (struct raw_object_store *)((void *)0);
    goto while_break___5;
  }
  while_break___5: /* CIL Label */ ;
  }
  parsed_object_pool_clear(repo->parsed_objects);
  {
  while (1) {
    while_continue___6: /* CIL Label */ ;
    free((void *)repo->parsed_objects);
    repo->parsed_objects = (struct parsed_object_pool *)((void *)0);
    goto while_break___6;
  }
  while_break___6: /* CIL Label */ ;
  }
  if (repo->config) {
    git_configset_clear(repo->config);
    {
    while (1) {
      while_continue___7: /* CIL Label */ ;
      free((void *)repo->config);
      repo->config = (struct config_set *)((void *)0);
      goto while_break___7;
    }
    while_break___7: /* CIL Label */ ;
    }
  }
  if (repo->submodule_cache) {
    submodule_cache_free(repo->submodule_cache);
    repo->submodule_cache = (struct submodule_cache *)((void *)0);
  }
  if (repo->index) {
    discard_index(repo->index);
    if ((unsigned long )repo->index != (unsigned long )(& the_index)) {
      {
      while (1) {
        while_continue___8: /* CIL Label */ ;
        free((void *)repo->index);
        repo->index = (struct index_state *)((void *)0);
        goto while_break___8;
      }
      while_break___8: /* CIL Label */ ;
      }
    }
  }
  if (repo->promisor_remote_config) {
    promisor_remote_clear(repo->promisor_remote_config);
    {
    while (1) {
      while_continue___9: /* CIL Label */ ;
      free((void *)repo->promisor_remote_config);
      repo->promisor_remote_config = (struct promisor_remote_config *)((void *)0);
      goto while_break___9;
    }
    while_break___9: /* CIL Label */ ;
    }
  }
  if (repo->remote_state) {
    remote_state_clear(repo->remote_state);
    {
    while (1) {
      while_continue___10: /* CIL Label */ ;
      free((void *)repo->remote_state);
      repo->remote_state = (struct remote_state *)((void *)0);
      goto while_break___10;
    }
    while_break___10: /* CIL Label */ ;
    }
  }
  return;
}
}
int repo_read_index(struct repository *repo )
{
  int res ;
  void *tmp ;

  {
  if (! repo->index) {
    tmp = xcalloc((size_t )1, sizeof(*(repo->index)));
    repo->index = (struct index_state *)tmp;
  }
  if (! (repo->index)->repo) {
    (repo->index)->repo = repo;
  } else
  if ((unsigned long )(repo->index)->repo != (unsigned long )repo) {
    BUG_fl((char const   *)"repository.c", 296, (char const   *)"repo\'s index should point back at itself");
  }
  res = read_index_from(repo->index, (char const   *)repo->index_file, (char const   *)repo->gitdir);
  prepare_repo_settings(repo);
  if (repo->settings.command_requires_full_index) {
    ensure_full_index(repo->index);
  }
  return (res);
}
}
int repo_hold_locked_index(struct repository *repo , struct lock_file *lf , int flags___0 )
{
  int tmp ;

  {
  if (! repo->index_file) {
    BUG_fl((char const   *)"repository.c", 312, (char const   *)"the repo hasn\'t been setup");
  }
  tmp = hold_lock_file_for_update(lf, (char const   *)repo->index_file, flags___0);
  return (tmp);
}
}
static double const   __ac_HASH_UPPER___80  =    (double const   )0.77;
__inline static void kh_resize_oid_set___80(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___80(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___80 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___80 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___80(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___80(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___80(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___80(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___80(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___80(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___80 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___80 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___80(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___80(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___80(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___80(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___80(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___80(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___80 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___80 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___80(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___80(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___80(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___80(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___60(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___60(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___80 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___80 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___60(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___60(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___60(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___60(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
void *RERERE_RESOLVED  =    (void *)(& RERERE_RESOLVED);
static int rerere_enabled  =    -1;
static int rerere_autoupdate  ;
static struct strmap rerere_dirs  =    {{(struct hashmap_entry **)0, & cmp_strmap_entry, (void const   *)((void *)0),
     0U, 0U, 0U, 0U, 1U}, (struct mem_pool *)0, 1U};
static void free_rerere_dirs(void)
{
  struct hashmap_iter iter___0 ;
  struct strmap_entry *ent ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;
  struct rerere_dir *rr_dir ;

  {
  ent = (struct strmap_entry *)((void *)0);
  tmp = hashmap_iter_first(& rerere_dirs.map, & iter___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  ent = (struct strmap_entry *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ent) {
      goto while_break;
    }
    rr_dir = (struct rerere_dir *)ent->value;
    free((void *)rr_dir->status);
    free((void *)rr_dir);
    tmp___1 = hashmap_iter_next(& iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    ent = (struct strmap_entry *)tmp___2;
  }
  while_break: /* CIL Label */ ;
  }
  strmap_clear(& rerere_dirs, 0);
  return;
}
}
static void free_rerere_id(struct string_list_item *item___0 )
{


  {
  free(item___0->util);
  return;
}
}
static char const   *rerere_id_hex(struct rerere_id  const  *id )
{


  {
  return ((char const   *)((id->collection)->name));
}
}
static void fit_variant(struct rerere_dir *rr_dir , int variant )
{
  size_t tmp ;
  void *tmp___0 ;

  {
  variant ++;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (variant > rr_dir->status_alloc) {
      if (((rr_dir->status_alloc + 16) * 3) / 2 < variant) {
        rr_dir->status_alloc = variant;
      } else {
        rr_dir->status_alloc = ((rr_dir->status_alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(rr_dir->status)), (size_t )rr_dir->status_alloc);
      tmp___0 = xrealloc((void *)rr_dir->status, tmp);
      rr_dir->status = (unsigned char *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (rr_dir->status_nr < variant) {
    memset((void *)(rr_dir->status + rr_dir->status_nr), '\000', (size_t )(variant - rr_dir->status_nr));
    rr_dir->status_nr = variant;
  }
  return;
}
}
static void assign_variant(struct rerere_id *id )
{
  int variant ;
  struct rerere_dir *rr_dir ;

  {
  rr_dir = id->collection;
  variant = id->variant;
  if (variant < 0) {
    variant = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (variant < rr_dir->status_nr)) {
        goto while_break;
      }
      if (! *(rr_dir->status + variant)) {
        goto while_break;
      }
      variant ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  fit_variant(rr_dir, variant);
  id->variant = variant;
  return;
}
}
char const   *rerere_path(struct rerere_id  const  *id , char const   *file___0 )
{
  char const   *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;

  {
  if (! file___0) {
    tmp = rerere_id_hex(id);
    tmp___0 = git_path((char const   *)"rr-cache/%s", tmp);
    return (tmp___0);
  }
  if (id->variant <= 0) {
    tmp___1 = rerere_id_hex(id);
    tmp___2 = git_path((char const   *)"rr-cache/%s/%s", tmp___1, file___0);
    return (tmp___2);
  }
  tmp___3 = rerere_id_hex(id);
  tmp___4 = git_path((char const   *)"rr-cache/%s/%s.%d", tmp___3, file___0, id->variant);
  return (tmp___4);
}
}
static int is_rr_file(char const   *name___0 , char const   *filename___0 , int *variant )
{
  char const   *suffix___3 ;
  char *ep ;
  int tmp ;
  int tmp___0 ;
  int *tmp___1 ;
  long tmp___2 ;
  int *tmp___3 ;

  {
  tmp = strcmp(name___0, filename___0);
  if (! tmp) {
    *variant = 0;
    return (1);
  }
  tmp___0 = skip_prefix(name___0, filename___0, & suffix___3);
  if (tmp___0) {
    if ((int const   )*suffix___3 != 46) {
      return (0);
    }
  } else {
    return (0);
  }
  tmp___1 = __errno_location();
  *tmp___1 = 0;
  tmp___2 = strtol((char const   * __restrict  )(suffix___3 + 1), (char ** __restrict  )(& ep),
                   10);
  *variant = (int )tmp___2;
  tmp___3 = __errno_location();
  if (*tmp___3) {
    return (0);
  } else
  if (*ep) {
    return (0);
  }
  return (1);
}
}
static void scan_rerere_dir(struct rerere_dir *rr_dir )
{
  struct dirent *de ;
  DIR *dir ;
  char const   *tmp ;
  DIR *tmp___0 ;
  int variant ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = git_path((char const   *)"rr-cache/%s", rr_dir->name);
  tmp___0 = opendir(tmp);
  dir = tmp___0;
  if (! dir) {
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    de = readdir(dir);
    if (! ((unsigned long )de != (unsigned long )((void *)0))) {
      goto while_break;
    }
    tmp___2 = is_rr_file((char const   *)(de->d_name), (char const   *)"postimage",
                         & variant);
    if (tmp___2) {
      fit_variant(rr_dir, variant);
      *(rr_dir->status + variant) = (unsigned char )((int )*(rr_dir->status + variant) | 1);
    } else {
      tmp___1 = is_rr_file((char const   *)(de->d_name), (char const   *)"preimage",
                           & variant);
      if (tmp___1) {
        fit_variant(rr_dir, variant);
        *(rr_dir->status + variant) = (unsigned char )((int )*(rr_dir->status + variant) | 2);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  closedir(dir);
  return;
}
}
static struct rerere_dir *find_rerere_dir(char const   *hex___3 )
{
  struct rerere_dir *rr_dir ;
  void *tmp ;
  size_t flex_array_len_ ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;

  {
  tmp = strmap_get(& rerere_dirs, hex___3);
  rr_dir = (struct rerere_dir *)tmp;
  if (! rr_dir) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___0 = strlen(hex___3);
      flex_array_len_ = tmp___0;
      tmp___1 = st_add(sizeof(*rr_dir), flex_array_len_);
      tmp___2 = st_add(tmp___1, (size_t )1);
      tmp___3 = xcalloc((size_t )1, tmp___2);
      rr_dir = (struct rerere_dir *)tmp___3;
      memcpy((void *)(rr_dir->name), (void const   *)hex___3, flex_array_len_);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    rr_dir->status = (unsigned char *)((void *)0);
    rr_dir->status_nr = 0;
    rr_dir->status_alloc = 0;
    strmap_put(& rerere_dirs, hex___3, (void *)rr_dir);
    scan_rerere_dir(rr_dir);
  }
  return (rr_dir);
}
}
static int has_rerere_resolution(struct rerere_id  const  *id )
{
  int both ;
  int variant ;

  {
  both = (int )3;
  variant = (int )id->variant;
  if (variant < 0) {
    return (0);
  }
  return (((int )*((id->collection)->status + variant) & (int )both) == (int )both);
}
}
static struct rerere_id *new_rerere_id_hex(char *hex___3 )
{
  struct rerere_id *id ;
  void *tmp ;

  {
  tmp = xmalloc(sizeof(*id));
  id = (struct rerere_id *)tmp;
  id->collection = find_rerere_dir((char const   *)hex___3);
  id->variant = -1;
  return (id);
}
}
static struct rerere_id *new_rerere_id(unsigned char *hash___0 )
{
  char *tmp ;
  struct rerere_id *tmp___0 ;

  {
  tmp = hash_to_hex((unsigned char const   *)hash___0);
  tmp___0 = new_rerere_id_hex(tmp);
  return (tmp___0);
}
}
static void read_rr(struct repository *r , struct string_list *rr )
{
  struct strbuf buf___19 ;
  FILE *in ;
  char const   *tmp ;
  FILE *tmp___0 ;
  char *path___6 ;
  unsigned char hash___0[32] ;
  struct rerere_id *id ;
  int variant ;
  unsigned int hexsz ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int *tmp___3 ;
  long tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char *tmp___8 ;
  struct string_list_item *tmp___9 ;
  int tmp___10 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = git_path_merge_rr(r);
  tmp___0 = fopen_or_warn(tmp, (char const   *)"r");
  in = tmp___0;
  if (! in) {
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___10 = strbuf_getwholeline(& buf___19, in, '\000');
    if (tmp___10) {
      goto while_break;
    }
    hexsz = (unsigned int )(the_repository->hash_algo)->hexsz;
    if (buf___19.len < (size_t )(hexsz + 2U)) {
      tmp___1 = _((char const   *)"corrupt MERGE_RR");
      die((char const   *)tmp___1);
    } else {
      tmp___2 = get_sha1_hex((char const   *)buf___19.buf, hash___0);
      if (tmp___2) {
        tmp___1 = _((char const   *)"corrupt MERGE_RR");
        die((char const   *)tmp___1);
      }
    }
    if ((int )*(buf___19.buf + hexsz) != 46) {
      variant = 0;
      path___6 = buf___19.buf + hexsz;
    } else {
      tmp___3 = __errno_location();
      *tmp___3 = 0;
      tmp___4 = strtol((char const   * __restrict  )((buf___19.buf + hexsz) + 1),
                       (char ** __restrict  )(& path___6), 10);
      variant = (int )tmp___4;
      tmp___6 = __errno_location();
      if (*tmp___6) {
        tmp___5 = _((char const   *)"corrupt MERGE_RR");
        die((char const   *)tmp___5);
      }
    }
    tmp___8 = path___6;
    path___6 ++;
    if ((int )*tmp___8 != 9) {
      tmp___7 = _((char const   *)"corrupt MERGE_RR");
      die((char const   *)tmp___7);
    }
    *(buf___19.buf + hexsz) = (char )'\000';
    id = new_rerere_id_hex(buf___19.buf);
    id->variant = variant;
    tmp___9 = string_list_insert(rr, (char const   *)path___6);
    tmp___9->util = (void *)id;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  fclose(in);
  return;
}
}
static struct lock_file write_lock  ;
static int write_rr(struct string_list *rr , int out_fd )
{
  int i ;
  struct strbuf buf___19 ;
  struct rerere_id *id ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  ssize_t tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < rr->nr)) {
      goto while_break;
    }
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    assert((unsigned long )(rr->items + i)->util != (unsigned long )RERERE_RESOLVED);
    id = (struct rerere_id *)(rr->items + i)->util;
    if (! id) {
      goto __Cont;
    }
    assert(id->variant >= 0);
    if (0 < id->variant) {
      tmp = rerere_id_hex((struct rerere_id  const  *)id);
      strbuf_addf(& buf___19, (char const   *)"%s.%d\t%s%c", tmp, id->variant, (rr->items + i)->string,
                  0);
    } else {
      tmp___0 = rerere_id_hex((struct rerere_id  const  *)id);
      strbuf_addf(& buf___19, (char const   *)"%s\t%s%c", tmp___0, (rr->items + i)->string,
                  0);
    }
    tmp___2 = write_in_full(out_fd, (void const   *)buf___19.buf, buf___19.len);
    if (tmp___2 < 0L) {
      tmp___1 = _((char const   *)"unable to write rerere record");
      die((char const   *)tmp___1);
    }
    strbuf_release(& buf___19);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___4 = commit_lock_file(& write_lock);
  if (tmp___4 != 0) {
    tmp___3 = _((char const   *)"unable to write rerere record");
    die((char const   *)tmp___3);
  }
  return (0);
}
}
static void ferr_write(void const   *p___0 , size_t count___0 , FILE *fp , int *err___4 )
{
  int *tmp ;
  size_t tmp___0 ;

  {
  if (! count___0) {
    return;
  } else
  if (*err___4) {
    return;
  }
  tmp___0 = fwrite((void const   * __restrict  )p___0, count___0, (size_t )1, (FILE * __restrict  )fp);
  if (tmp___0 != 1UL) {
    tmp = __errno_location();
    *err___4 = *tmp;
  }
  return;
}
}
__inline static void ferr_puts(char const   *s___1 , FILE *fp , int *err___4 )
{
  size_t tmp ;

  {
  tmp = strlen(s___1);
  ferr_write((void const   *)s___1, tmp, fp, err___4);
  return;
}
}
static void rerere_io_putstr(char const   *str , struct rerere_io *io )
{


  {
  if (io->output) {
    ferr_puts(str, io->output, & io->wrerror);
  }
  return;
}
}
static void rerere_io_putmem(char const   *mem , size_t sz , struct rerere_io *io )
{


  {
  if (io->output) {
    ferr_write((void const   *)mem, sz, io->output, & io->wrerror);
  }
  return;
}
}
static int rerere_file_getline(struct strbuf *sb___6 , struct rerere_io *io_ )
{
  struct rerere_io_file *io ;
  int tmp ;

  {
  io = (struct rerere_io_file *)io_;
  tmp = strbuf_getwholeline(sb___6, io->input, '\n');
  return (tmp);
}
}
static int is_cmarker(char *buf___19 , int marker_char , int marker_size )
{
  int want_sp ;
  int tmp ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  if (marker_char == 60) {
    tmp = 1;
  } else
  if (marker_char == 62) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  want_sp = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = marker_size;
    marker_size --;
    if (! tmp___1) {
      goto while_break;
    }
    tmp___0 = buf___19;
    buf___19 ++;
    if ((int )*tmp___0 != marker_char) {
      return (0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (want_sp) {
    if ((int )*buf___19 != 32) {
      return (0);
    }
  }
  return (((int const   )sane_ctype[(unsigned char )*buf___19] & 1) != 0);
}
}
static void rerere_strbuf_putconflict(struct strbuf *buf___19 , int ch___0 , size_t size )
{


  {
  strbuf_addchars(buf___19, ch___0, size);
  strbuf_addch(buf___19, '\n');
  return;
}
}
static int handle_conflict(struct strbuf *out , struct rerere_io *io , int marker_size ,
                           git_hash_ctx *ctx___0 )
{
  enum __anonenum_hunk_973166993 hunk ;
  struct strbuf one___0 ;
  struct strbuf two___0 ;
  struct strbuf buf___19 ;
  struct strbuf conflict ;
  int has_conflicts ;
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  hunk = (enum __anonenum_hunk_973166993 )0;
  one___0.alloc = 0UL;
  one___0.len = 0UL;
  one___0.buf = strbuf_slopbuf;
  two___0.alloc = 0UL;
  two___0.len = 0UL;
  two___0.buf = strbuf_slopbuf;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  conflict.alloc = 0UL;
  conflict.len = 0UL;
  conflict.buf = strbuf_slopbuf;
  has_conflicts = -1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___7 = (*(io->getline))(& buf___19, io);
    if (tmp___7) {
      goto while_break;
    }
    tmp___6 = is_cmarker(buf___19.buf, '<', marker_size);
    if (tmp___6) {
      tmp = handle_conflict(& conflict, io, marker_size, (git_hash_ctx *)((void *)0));
      if (tmp < 0) {
        goto while_break;
      }
      if ((unsigned int )hunk == 0U) {
        strbuf_addbuf(& one___0, (struct strbuf  const  *)(& conflict));
      } else {
        strbuf_addbuf(& two___0, (struct strbuf  const  *)(& conflict));
      }
      strbuf_release(& conflict);
    } else {
      tmp___5 = is_cmarker(buf___19.buf, '|', marker_size);
      if (tmp___5) {
        if ((unsigned int )hunk != 0U) {
          goto while_break;
        }
        hunk = (enum __anonenum_hunk_973166993 )2;
      } else {
        tmp___4 = is_cmarker(buf___19.buf, '=', marker_size);
        if (tmp___4) {
          if ((unsigned int )hunk != 0U) {
            if ((unsigned int )hunk != 2U) {
              goto while_break;
            }
          }
          hunk = (enum __anonenum_hunk_973166993 )1;
        } else {
          tmp___3 = is_cmarker(buf___19.buf, '>', marker_size);
          if (tmp___3) {
            if ((unsigned int )hunk != 1U) {
              goto while_break;
            }
            tmp___0 = strbuf_cmp((struct strbuf  const  *)(& one___0), (struct strbuf  const  *)(& two___0));
            if (tmp___0 > 0) {
              strbuf_swap(& one___0, & two___0);
            }
            has_conflicts = 1;
            rerere_strbuf_putconflict(out, '<', (size_t )marker_size);
            strbuf_addbuf(out, (struct strbuf  const  *)(& one___0));
            rerere_strbuf_putconflict(out, '=', (size_t )marker_size);
            strbuf_addbuf(out, (struct strbuf  const  *)(& two___0));
            rerere_strbuf_putconflict(out, '>', (size_t )marker_size);
            if (ctx___0) {
              if (one___0.buf) {
                tmp___1 = one___0.buf;
              } else {
                tmp___1 = "";
              }
              (*((the_repository->hash_algo)->update_fn))(ctx___0, (void const   *)tmp___1,
                                                          one___0.len + 1UL);
              if (two___0.buf) {
                tmp___2 = two___0.buf;
              } else {
                tmp___2 = "";
              }
              (*((the_repository->hash_algo)->update_fn))(ctx___0, (void const   *)tmp___2,
                                                          two___0.len + 1UL);
            }
            goto while_break;
          } else
          if ((unsigned int )hunk == 0U) {
            strbuf_addbuf(& one___0, (struct strbuf  const  *)(& buf___19));
          } else
          if (! ((unsigned int )hunk == 2U)) {
            if ((unsigned int )hunk == 1U) {
              strbuf_addbuf(& two___0, (struct strbuf  const  *)(& buf___19));
            }
          }
        }
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& one___0);
  strbuf_release(& two___0);
  strbuf_release(& buf___19);
  return (has_conflicts);
}
}
static int handle_path(unsigned char *hash___0 , struct rerere_io *io , int marker_size )
{
  git_hash_ctx ctx___0 ;
  struct strbuf buf___19 ;
  struct strbuf out ;
  int has_conflicts ;
  git_hash_ctx *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  out.alloc = 0UL;
  out.len = 0UL;
  out.buf = strbuf_slopbuf;
  has_conflicts = 0;
  if (hash___0) {
    (*((the_repository->hash_algo)->init_fn))(& ctx___0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = (*(io->getline))(& buf___19, io);
    if (tmp___1) {
      goto while_break;
    }
    tmp___0 = is_cmarker(buf___19.buf, '<', marker_size);
    if (tmp___0) {
      if (hash___0) {
        tmp = & ctx___0;
      } else {
        tmp = (git_hash_ctx *)((void *)0);
      }
      has_conflicts = handle_conflict(& out, io, marker_size, tmp);
      if (has_conflicts < 0) {
        goto while_break;
      }
      rerere_io_putmem((char const   *)out.buf, out.len, io);
      strbuf_setlen(& out, (size_t )0);
    } else {
      rerere_io_putstr((char const   *)buf___19.buf, io);
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  strbuf_release(& out);
  if (hash___0) {
    (*((the_repository->hash_algo)->final_fn))(hash___0, & ctx___0);
  }
  return (has_conflicts);
}
}
static int handle_file(struct index_state *istate , char const   *path___6 , unsigned char *hash___0 ,
                       char const   *output___4 )
{
  int has_conflicts ;
  struct rerere_io_file io ;
  int marker_size ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;

  {
  has_conflicts = 0;
  tmp = ll_merge_marker_size(istate, path___6);
  marker_size = tmp;
  memset((void *)(& io), 0, sizeof(io));
  io.io.getline = & rerere_file_getline;
  io.input = git_fopen(path___6, (char const   *)"r");
  io.io.wrerror = 0;
  if (! io.input) {
    tmp___0 = _((char const   *)"could not open \'%s\'");
    error_errno((char const   *)tmp___0, path___6);
    tmp___1 = const_error();
    return (tmp___1);
  }
  if (output___4) {
    io.io.output = git_fopen(output___4, (char const   *)"w");
    if (! io.io.output) {
      tmp___2 = _((char const   *)"could not write \'%s\'");
      error_errno((char const   *)tmp___2, output___4);
      const_error();
      fclose(io.input);
      return (-1);
    }
  }
  has_conflicts = handle_path(hash___0, (struct rerere_io *)(& io), marker_size);
  fclose(io.input);
  if (io.io.wrerror) {
    tmp___3 = strerror(io.io.wrerror);
    tmp___4 = _((char const   *)"there were errors while writing \'%s\' (%s)");
    error((char const   *)tmp___4, path___6, tmp___3);
    const_error();
  }
  if (io.io.output) {
    tmp___6 = fclose(io.io.output);
    if (tmp___6) {
      tmp___5 = _((char const   *)"failed to flush \'%s\'");
      error_errno((char const   *)tmp___5, path___6);
      io.io.wrerror = const_error();
    }
  }
  if (has_conflicts < 0) {
    if (output___4) {
      unlink_or_warn(output___4);
    }
    tmp___7 = _((char const   *)"could not parse conflict hunks in \'%s\'");
    error((char const   *)tmp___7, path___6);
    tmp___8 = const_error();
    return (tmp___8);
  }
  if (io.io.wrerror) {
    return (-1);
  }
  return (has_conflicts);
}
}
static int check_one_conflict(struct index_state *istate , int i , int *type___0 )
{
  struct cache_entry  const  *e ;
  struct cache_entry  const  *e2 ;
  struct cache_entry  const  *e3 ;
  int tmp ;
  int tmp___0 ;

  {
  e = (struct cache_entry  const  *)*(istate->cache + i);
  if (! ((12288U & e->ce_flags) >> 12)) {
    *type___0 = 0;
    return (i + 1);
  }
  *type___0 = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned int )i < istate->cache_nr) {
      if (! ((12288U & (*(istate->cache + i))->ce_flags) >> 12 == 1U)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned int )(i + 1) < istate->cache_nr) {
    e2 = (struct cache_entry  const  *)*(istate->cache + i);
    e3 = (struct cache_entry  const  *)*(istate->cache + (i + 1));
    if ((12288U & e2->ce_flags) >> 12 == 2U) {
      if ((12288U & e3->ce_flags) >> 12 == 3U) {
        tmp = ce_same_name(e, e3);
        if (tmp) {
          if ((e2->ce_mode & 61440U) == 32768U) {
            if ((e3->ce_mode & 61440U) == 32768U) {
              *type___0 = 2;
            }
          }
        }
      }
    }
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if ((unsigned int )i < istate->cache_nr) {
      tmp___0 = ce_same_name(e, (struct cache_entry  const  *)*(istate->cache + i));
      if (! tmp___0) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (i);
}
}
static int find_conflict(struct repository *r , struct string_list *conflict )
{
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int conflict_type ;
  struct cache_entry  const  *e ;

  {
  tmp___1 = repo_read_index(r);
  if (tmp___1 < 0) {
    tmp = _((char const   *)"index file corrupt");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < (r->index)->cache_nr)) {
      goto while_break;
    }
    e = (struct cache_entry  const  *)*((r->index)->cache + i);
    i = check_one_conflict(r->index, i, & conflict_type);
    if (conflict_type == 2) {
      string_list_insert(conflict, (char const   *)(e->name));
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int rerere_remaining(struct repository *r , struct string_list *merge_rr )
{
  int i ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int conflict_type ;
  struct cache_entry  const  *e ;
  struct string_list_item *it ;

  {
  tmp = setup_rerere(r, merge_rr, 04);
  if (tmp) {
    return (0);
  }
  tmp___2 = repo_read_index(r);
  if (tmp___2 < 0) {
    tmp___0 = _((char const   *)"index file corrupt");
    error((char const   *)tmp___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < (r->index)->cache_nr)) {
      goto while_break;
    }
    e = (struct cache_entry  const  *)*((r->index)->cache + i);
    i = check_one_conflict(r->index, i, & conflict_type);
    if (conflict_type == 1) {
      string_list_insert(merge_rr, (char const   *)(e->name));
    } else
    if (conflict_type == 0) {
      it = string_list_lookup(merge_rr, (char const   *)(e->name));
      if ((unsigned long )it != (unsigned long )((void *)0)) {
        free_rerere_id(it);
        it->util = RERERE_RESOLVED;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int try_merge(struct index_state *istate , struct rerere_id  const  *id , char const   *path___6 ,
                     mmfile_t *cur , mmbuffer_t *result___0 )
{
  int ret___67 ;
  mmfile_t base ;
  mmfile_t other ;
  char const   *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;

  {
  base.ptr = (char *)((void *)0);
  base.size = 0L;
  other.ptr = (char *)((void *)0);
  other.size = 0L;
  tmp = rerere_path(id, (char const   *)"preimage");
  tmp___0 = read_mmfile(& base, tmp);
  if (tmp___0) {
    ret___67 = 1;
  } else {
    tmp___1 = rerere_path(id, (char const   *)"postimage");
    tmp___2 = read_mmfile(& other, tmp___1);
    if (tmp___2) {
      ret___67 = 1;
    } else {
      ret___67 = ll_merge(result___0, path___6, & base, (char const   *)((void *)0),
                          cur, (char const   *)"", & other, (char const   *)"", istate,
                          (struct ll_merge_options  const  *)((void *)0));
    }
  }
  free((void *)base.ptr);
  free((void *)other.ptr);
  return (ret___67);
}
}
static int merge(struct index_state *istate , struct rerere_id  const  *id , char const   *path___6 )
{
  FILE *f ;
  int ret___67 ;
  mmfile_t cur ;
  mmbuffer_t result___0 ;
  char const   *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const   *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  size_t tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;

  {
  cur.ptr = (char *)((void *)0);
  cur.size = 0L;
  result___0.ptr = (char *)((void *)0);
  result___0.size = 0L;
  tmp = rerere_path(id, (char const   *)"thisimage");
  tmp___0 = handle_file(istate, path___6, (unsigned char *)((void *)0), tmp);
  if (tmp___0 < 0) {
    ret___67 = 1;
    goto out;
  } else {
    tmp___1 = rerere_path(id, (char const   *)"thisimage");
    tmp___2 = read_mmfile(& cur, tmp___1);
    if (tmp___2) {
      ret___67 = 1;
      goto out;
    }
  }
  ret___67 = try_merge(istate, id, path___6, & cur, & result___0);
  if (ret___67) {
    goto out;
  }
  tmp___5 = rerere_path(id, (char const   *)"postimage");
  tmp___6 = utime(tmp___5, (struct utimbuf  const  *)((void *)0));
  if (tmp___6 < 0) {
    tmp___3 = rerere_path(id, (char const   *)"postimage");
    tmp___4 = _((char const   *)"failed utime() on \'%s\'");
    warning_errno((char const   *)tmp___4, tmp___3);
  }
  f = git_fopen(path___6, (char const   *)"w");
  if (! f) {
    tmp___7 = _((char const   *)"could not open \'%s\'");
    error_errno((char const   *)tmp___7, path___6);
    tmp___8 = const_error();
    return (tmp___8);
  }
  tmp___10 = fwrite((void const   * __restrict  )result___0.ptr, (size_t )result___0.size,
                    (size_t )1, (FILE * __restrict  )f);
  if (tmp___10 != 1UL) {
    tmp___9 = _((char const   *)"could not write \'%s\'");
    error_errno((char const   *)tmp___9, path___6);
    const_error();
  }
  tmp___13 = fclose(f);
  if (tmp___13) {
    tmp___11 = _((char const   *)"writing \'%s\' failed");
    error_errno((char const   *)tmp___11, path___6);
    tmp___12 = const_error();
    return (tmp___12);
  }
  out:
  free((void *)cur.ptr);
  free((void *)result___0.ptr);
  return (ret___67);
}
}
static void update_paths(struct repository *r , struct string_list *update___1 )
{
  struct lock_file index_lock___0 ;
  int i ;
  struct string_list_item *item___0 ;
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  index_lock___0.tempfile = (struct tempfile *)0;
  repo_hold_locked_index(r, & index_lock___0, 1);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < update___1->nr)) {
      goto while_break;
    }
    item___0 = update___1->items + i;
    tmp___0 = add_file_to_index(r->index, (char const   *)item___0->string, 0);
    if (tmp___0) {
      tmp = trace2_cmd_exit_fl((char const   *)"rerere.c", 697, 128);
      exit(tmp);
    }
    tmp___1 = _((char const   *)"Staged \'%s\' using previous resolution.");
    fprintf_ln(stderr, (char const   *)tmp___1, item___0->string);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___3 = write_locked_index(r->index, & index_lock___0, (unsigned int )(1 | (1 << 1)));
  if (tmp___3) {
    tmp___2 = _((char const   *)"unable to write new index file");
    die((char const   *)tmp___2);
  }
  return;
}
}
static void remove_variant(struct rerere_id *id )
{
  char const   *tmp ;
  char const   *tmp___0 ;

  {
  tmp = rerere_path((struct rerere_id  const  *)id, (char const   *)"postimage");
  unlink_or_warn(tmp);
  tmp___0 = rerere_path((struct rerere_id  const  *)id, (char const   *)"preimage");
  unlink_or_warn(tmp___0);
  *((id->collection)->status + id->variant) = (unsigned char)0;
  return;
}
}
static void do_rerere_one_path(struct index_state *istate , struct string_list_item *rr_item ,
                               struct string_list *update___1 )
{
  char const   *path___6 ;
  struct rerere_id *id ;
  struct rerere_dir *rr_dir ;
  int variant ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int both ;
  struct rerere_id vid ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const   *tmp___4 ;
  char const   *path___7 ;
  char const   *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;

  {
  path___6 = (char const   *)rr_item->string;
  id = (struct rerere_id *)rr_item->util;
  rr_dir = id->collection;
  variant = id->variant;
  if (variant >= 0) {
    tmp___1 = handle_file(istate, path___6, (unsigned char *)((void *)0), (char const   *)((void *)0));
    if (! tmp___1) {
      tmp = rerere_path((struct rerere_id  const  *)id, (char const   *)"postimage");
      copy_file(tmp, path___6, 0666);
      *((id->collection)->status + variant) = (unsigned char )((int )*((id->collection)->status + variant) | 1);
      tmp___0 = _((char const   *)"Recorded resolution for \'%s\'.");
      fprintf_ln(stderr, (char const   *)tmp___0, path___6);
      free_rerere_id(rr_item);
      rr_item->util = (void *)0;
      return;
    }
  }
  variant = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (variant < rr_dir->status_nr)) {
      goto while_break;
    }
    both = (int )3;
    vid = *id;
    if (((int )*(rr_dir->status + variant) & (int )both) != (int )both) {
      goto __Cont;
    }
    vid.variant = variant;
    tmp___2 = merge(istate, (struct rerere_id  const  *)(& vid), path___6);
    if (tmp___2) {
      goto __Cont;
    }
    if (0 <= id->variant) {
      if (id->variant != variant) {
        remove_variant(id);
      }
    }
    if (rerere_autoupdate) {
      string_list_insert(update___1, path___6);
    } else {
      tmp___3 = _((char const   *)"Resolved \'%s\' using previous resolution.");
      fprintf_ln(stderr, (char const   *)tmp___3, path___6);
    }
    free_rerere_id(rr_item);
    rr_item->util = (void *)0;
    return;
    __Cont: /* CIL Label */
    variant ++;
  }
  while_break: /* CIL Label */ ;
  }
  assign_variant(id);
  variant = id->variant;
  tmp___4 = rerere_path((struct rerere_id  const  *)id, (char const   *)"preimage");
  handle_file(istate, path___6, (unsigned char *)((void *)0), tmp___4);
  if ((int )*((id->collection)->status + variant) & 1) {
    tmp___5 = rerere_path((struct rerere_id  const  *)id, (char const   *)"postimage");
    path___7 = tmp___5;
    tmp___7 = unlink(path___7);
    if (tmp___7) {
      tmp___6 = _((char const   *)"cannot unlink stray \'%s\'");
      die_errno((char const   *)tmp___6, path___7);
    }
    *((id->collection)->status + variant) = (unsigned char )((int )*((id->collection)->status + variant) & -2);
  }
  *((id->collection)->status + variant) = (unsigned char )((int )*((id->collection)->status + variant) | 2);
  tmp___8 = _((char const   *)"Recorded preimage for \'%s\'");
  fprintf_ln(stderr, (char const   *)tmp___8, path___6);
  return;
}
}
static int do_plain_rerere(struct repository *r , struct string_list *rr , int fd )
{
  struct string_list conflict ;
  struct string_list update___1 ;
  int i ;
  struct rerere_id *id ;
  unsigned char hash___0[32] ;
  char const   *path___6 ;
  int ret___67 ;
  struct string_list_item *tmp ;
  int tmp___0 ;
  struct string_list_item *tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;

  {
  conflict.items = (struct string_list_item *)0;
  conflict.nr = 0U;
  conflict.alloc = 0U;
  conflict.strdup_strings = 1U;
  conflict.cmp = (int (*)(char const   * , char const   * ))0;
  update___1.items = (struct string_list_item *)0;
  update___1.nr = 0U;
  update___1.alloc = 0U;
  update___1.strdup_strings = 1U;
  update___1.cmp = (int (*)(char const   * , char const   * ))0;
  find_conflict(r, & conflict);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < conflict.nr)) {
      goto while_break;
    }
    path___6 = (char const   *)(conflict.items + i)->string;
    ret___67 = handle_file(r->index, path___6, hash___0, (char const   *)((void *)0));
    if (ret___67 != 0) {
      tmp___0 = string_list_has_string((struct string_list  const  *)rr, path___6);
      if (tmp___0) {
        tmp = string_list_lookup(rr, path___6);
        remove_variant((struct rerere_id *)tmp->util);
        string_list_remove(rr, path___6, 1);
      }
    }
    if (ret___67 < 1) {
      goto __Cont;
    }
    id = new_rerere_id(hash___0);
    tmp___1 = string_list_insert(rr, path___6);
    tmp___1->util = (void *)id;
    tmp___2 = rerere_path((struct rerere_id  const  *)id, (char const   *)((void *)0));
    mkdir_in_gitdir(tmp___2);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < rr->nr)) {
      goto while_break___0;
    }
    do_rerere_one_path(r->index, rr->items + i, & update___1);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (update___1.nr) {
    update_paths(r, & update___1);
  }
  tmp___3 = write_rr(rr, fd);
  return (tmp___3);
}
}
static void git_rerere_config(void)
{


  {
  git_config_get_bool((char const   *)"rerere.enabled", & rerere_enabled);
  git_config_get_bool((char const   *)"rerere.autoupdate", & rerere_autoupdate);
  git_config(& git_default_config, (void *)0);
  return;
}
}
static char *ret___11  ;
static char const   *git_path_rr_cache(void)
{


  {
  if (! ret___11) {
    ret___11 = git_pathdup((char const   *)"rr-cache");
  }
  return ((char const   *)ret___11);
}
}
static int is_rerere_enabled(void)
{
  int rr_cache_exists ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;

  {
  if (! rerere_enabled) {
    return (0);
  }
  tmp = git_path_rr_cache();
  rr_cache_exists = is_directory(tmp);
  if (rerere_enabled < 0) {
    return (rr_cache_exists);
  }
  if (! rr_cache_exists) {
    tmp___2 = git_path_rr_cache();
    tmp___3 = mkdir_in_gitdir(tmp___2);
    if (tmp___3) {
      tmp___0 = git_path_rr_cache();
      tmp___1 = _((char const   *)"could not create directory \'%s\'");
      die((char const   *)tmp___1, tmp___0);
    }
  }
  return (1);
}
}
int setup_rerere(struct repository *r , struct string_list *merge_rr , int flags___0 )
{
  int fd ;
  int tmp ;
  char const   *tmp___0 ;

  {
  git_rerere_config();
  tmp = is_rerere_enabled();
  if (! tmp) {
    return (-1);
  }
  if (flags___0 & 3) {
    rerere_autoupdate = ! (! (flags___0 & 01));
  }
  if (flags___0 & 04) {
    fd = 0;
  } else {
    tmp___0 = git_path_merge_rr(r);
    fd = hold_lock_file_for_update(& write_lock, tmp___0, 1);
  }
  read_rr(r, merge_rr);
  return (fd);
}
}
int repo_rerere(struct repository *r , int flags___0 )
{
  struct string_list merge_rr ;
  int fd ;
  int status ;

  {
  merge_rr.items = (struct string_list_item *)0;
  merge_rr.nr = 0U;
  merge_rr.alloc = 0U;
  merge_rr.strdup_strings = 1U;
  merge_rr.cmp = (int (*)(char const   * , char const   * ))0;
  fd = setup_rerere(r, & merge_rr, flags___0);
  if (fd < 0) {
    return (0);
  }
  status = do_plain_rerere(r, & merge_rr, fd);
  free_rerere_dirs();
  return (status);
}
}
static int rerere_mem_getline(struct strbuf *sb___6 , struct rerere_io *io_ )
{
  struct rerere_io_mem *io ;
  char *ep ;
  size_t len___0 ;
  void *tmp ;

  {
  io = (struct rerere_io_mem *)io_;
  strbuf_release(sb___6);
  if (! io->input.len) {
    return (-1);
  }
  tmp = memchr((void const   *)io->input.buf, '\n', io->input.len);
  ep = (char *)tmp;
  if (! ep) {
    ep = io->input.buf + io->input.len;
  } else
  if ((int )*ep == 10) {
    ep ++;
  }
  len___0 = (size_t )(ep - io->input.buf);
  strbuf_add(sb___6, (void const   *)io->input.buf, len___0);
  strbuf_remove(& io->input, (size_t )0, len___0);
  return (0);
}
}
static int handle_cache(struct index_state *istate , char const   *path___6 , unsigned char *hash___0 ,
                        char const   *output___4 )
{
  mmfile_t mmfile[3] ;
  unsigned int tmp ;
  mmbuffer_t result___0 ;
  struct cache_entry  const  *ce ;
  int pos ;
  int len___0 ;
  int i ;
  int has_conflicts ;
  struct rerere_io_mem io ;
  int marker_size ;
  int tmp___0 ;
  size_t tmp___1 ;
  enum object_type type___0 ;
  unsigned long size ;
  int tmp___2 ;
  int tmp___3 ;
  void *tmp___4 ;

  {
  mmfile[0].ptr = (char *)((void *)0);
  mmfile[0].size = 0L;
  tmp = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 3U) {
      goto while_break;
    }
    mmfile[tmp].ptr = (char *)0;
    mmfile[tmp].size = 0L;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  result___0.ptr = (char *)((void *)0);
  result___0.size = 0L;
  tmp___0 = ll_merge_marker_size(istate, path___6);
  marker_size = tmp___0;
  tmp___1 = strlen(path___6);
  len___0 = (int )tmp___1;
  pos = index_name_pos(istate, path___6, len___0);
  if (0 <= pos) {
    return (-1);
  }
  pos = - pos - 1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )pos < istate->cache_nr)) {
      goto while_break___0;
    }
    tmp___2 = pos;
    pos ++;
    ce = (struct cache_entry  const  *)*(istate->cache + tmp___2);
    if (ce->ce_namelen != (unsigned int )len___0) {
      goto while_break___0;
    } else {
      tmp___3 = memcmp((void const   *)(ce->name), (void const   *)path___6, (size_t )len___0);
      if (tmp___3) {
        goto while_break___0;
      }
    }
    i = (int )(((12288U & ce->ce_flags) >> 12) - 1U);
    if (! mmfile[i].ptr) {
      tmp___4 = repo_read_object_file(the_repository, (struct object_id  const  *)(& ce->oid),
                                      & type___0, & size);
      mmfile[i].ptr = (char *)tmp___4;
      mmfile[i].size = (long )size;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < 3)) {
      goto while_break___1;
    }
    if (! mmfile[i].ptr) {
      if (! mmfile[i].size) {
        mmfile[i].ptr = xstrdup((char const   *)"");
      }
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  ll_merge(& result___0, path___6, & mmfile[0], (char const   *)((void *)0), & mmfile[1],
           (char const   *)"ours", & mmfile[2], (char const   *)"theirs", istate,
           (struct ll_merge_options  const  *)((void *)0));
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < 3)) {
      goto while_break___2;
    }
    free((void *)mmfile[i].ptr);
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  memset((void *)(& io), 0, sizeof(io));
  io.io.getline = & rerere_mem_getline;
  if (output___4) {
    io.io.output = git_fopen(output___4, (char const   *)"w");
  } else {
    io.io.output = (FILE *)((void *)0);
  }
  strbuf_init(& io.input, (size_t )0);
  strbuf_attach(& io.input, (void *)result___0.ptr, (size_t )result___0.size, (size_t )result___0.size);
  has_conflicts = handle_path(hash___0, (struct rerere_io *)(& io), marker_size);
  strbuf_release(& io.input);
  if (io.io.output) {
    fclose(io.io.output);
  }
  return (has_conflicts);
}
}
static int rerere_forget_one_path(struct index_state *istate , char const   *path___6 ,
                                  struct string_list *rr )
{
  char const   *filename___0 ;
  struct rerere_id *id ;
  unsigned char hash___0[32] ;
  int ret___67 ;
  struct string_list_item *item___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  mmfile_t cur ;
  mmbuffer_t result___0 ;
  int cleanly_resolved ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int *tmp___11 ;
  int tmp___12 ;
  char const   *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;

  {
  ret___67 = handle_cache(istate, path___6, hash___0, (char const   *)((void *)0));
  if (ret___67 < 1) {
    tmp = _((char const   *)"could not parse conflict hunks in \'%s\'");
    error((char const   *)tmp, path___6);
    tmp___0 = const_error();
    return (tmp___0);
  }
  id = new_rerere_id(hash___0);
  id->variant = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (id->variant < (id->collection)->status_nr)) {
      goto while_break;
    }
    cur.ptr = (char *)((void *)0);
    cur.size = 0L;
    result___0.ptr = (char *)((void *)0);
    result___0.size = 0L;
    tmp___1 = has_rerere_resolution((struct rerere_id  const  *)id);
    if (! tmp___1) {
      goto __Cont;
    }
    tmp___2 = rerere_path((struct rerere_id  const  *)id, (char const   *)"thisimage");
    handle_cache(istate, path___6, hash___0, tmp___2);
    tmp___4 = rerere_path((struct rerere_id  const  *)id, (char const   *)"thisimage");
    tmp___5 = read_mmfile(& cur, tmp___4);
    if (tmp___5) {
      free((void *)cur.ptr);
      tmp___3 = _((char const   *)"failed to update conflicted state in \'%s\'");
      error((char const   *)tmp___3, path___6);
      const_error();
      goto fail_exit;
    }
    tmp___6 = try_merge(istate, (struct rerere_id  const  *)id, path___6, & cur, & result___0);
    if (tmp___6) {
      tmp___7 = 0;
    } else {
      tmp___7 = 1;
    }
    cleanly_resolved = tmp___7;
    free((void *)result___0.ptr);
    free((void *)cur.ptr);
    if (cleanly_resolved) {
      goto while_break;
    }
    __Cont: /* CIL Label */
    (id->variant) ++;
  }
  while_break: /* CIL Label */ ;
  }
  if ((id->collection)->status_nr <= id->variant) {
    tmp___8 = _((char const   *)"no remembered resolution for \'%s\'");
    error((char const   *)tmp___8, path___6);
    const_error();
    goto fail_exit;
  }
  filename___0 = rerere_path((struct rerere_id  const  *)id, (char const   *)"postimage");
  tmp___12 = unlink(filename___0);
  if (tmp___12) {
    tmp___11 = __errno_location();
    if (*tmp___11 == 2) {
      tmp___9 = _((char const   *)"no remembered resolution for \'%s\'");
      error((char const   *)tmp___9, path___6);
      const_error();
    } else {
      tmp___10 = _((char const   *)"cannot unlink \'%s\'");
      error_errno((char const   *)tmp___10, filename___0);
      const_error();
    }
    goto fail_exit;
  }
  tmp___13 = rerere_path((struct rerere_id  const  *)id, (char const   *)"preimage");
  handle_cache(istate, path___6, hash___0, tmp___13);
  tmp___14 = _((char const   *)"Updated preimage for \'%s\'");
  fprintf_ln(stderr, (char const   *)tmp___14, path___6);
  item___0 = string_list_insert(rr, path___6);
  free_rerere_id(item___0);
  item___0->util = (void *)id;
  tmp___15 = _((char const   *)"Forgot resolution for \'%s\'\n");
  fprintf(stderr, (char const   *)tmp___15, path___6);
  return (0);
  fail_exit:
  free((void *)id);
  return (-1);
}
}
int rerere_forget(struct repository *r , struct pathspec *pathspec___1 )
{
  int i ;
  int fd ;
  struct string_list conflict ;
  struct string_list merge_rr ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct string_list_item *it ;
  size_t tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  conflict.items = (struct string_list_item *)0;
  conflict.nr = 0U;
  conflict.alloc = 0U;
  conflict.strdup_strings = 1U;
  conflict.cmp = (int (*)(char const   * , char const   * ))0;
  merge_rr.items = (struct string_list_item *)0;
  merge_rr.nr = 0U;
  merge_rr.alloc = 0U;
  merge_rr.strdup_strings = 1U;
  merge_rr.cmp = (int (*)(char const   * , char const   * ))0;
  tmp___1 = repo_read_index(r);
  if (tmp___1 < 0) {
    tmp = _((char const   *)"index file corrupt");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  fd = setup_rerere(r, & merge_rr, 02);
  if (fd < 0) {
    return (0);
  }
  unmerge_index(r->index, (struct pathspec  const  *)pathspec___1);
  find_conflict(r, & conflict);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < conflict.nr)) {
      goto while_break;
    }
    it = conflict.items + i;
    tmp___2 = strlen((char const   *)it->string);
    tmp___3 = match_pathspec(r->index, (struct pathspec  const  *)pathspec___1, (char const   *)it->string,
                             (int )tmp___2, 0, (char *)((void *)0), 0);
    if (! tmp___3) {
      goto __Cont;
    }
    rerere_forget_one_path(r->index, (char const   *)it->string, & merge_rr);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___4 = write_rr(& merge_rr, fd);
  return (tmp___4);
}
}
static timestamp_t rerere_created_at(struct rerere_id *id )
{
  struct stat st ;
  char const   *tmp ;
  int tmp___0 ;
  time_t tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;

  {
  tmp___2 = rerere_path((struct rerere_id  const  *)id, (char const   *)"preimage");
  tmp___3 = stat(tmp___2, & st);
  if (tmp___3) {
    tmp___1 = (time_t )0;
  } else {
    tmp___1 = st.st_mtim.tv_sec;
  }
  return ((timestamp_t )tmp___1);
}
}
static timestamp_t rerere_last_used_at(struct rerere_id *id )
{
  struct stat st ;
  char const   *tmp ;
  int tmp___0 ;
  time_t tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;

  {
  tmp___2 = rerere_path((struct rerere_id  const  *)id, (char const   *)"postimage");
  tmp___3 = stat(tmp___2, & st);
  if (tmp___3) {
    tmp___1 = (time_t )0;
  } else {
    tmp___1 = st.st_mtim.tv_sec;
  }
  return ((timestamp_t )tmp___1);
}
}
static void unlink_rr_item(struct rerere_id *id )
{
  char const   *tmp ;

  {
  tmp = rerere_path((struct rerere_id  const  *)id, (char const   *)"thisimage");
  unlink_or_warn(tmp);
  remove_variant(id);
  *((id->collection)->status + id->variant) = (unsigned char)0;
  return;
}
}
static void prune_one(struct rerere_id *id , timestamp_t cutoff_resolve , timestamp_t cutoff_noresolve )
{
  timestamp_t then ;
  timestamp_t cutoff___0 ;

  {
  then = rerere_last_used_at(id);
  if (then) {
    cutoff___0 = cutoff_resolve;
  } else {
    then = rerere_created_at(id);
    if (! then) {
      return;
    }
    cutoff___0 = cutoff_noresolve;
  }
  if (then < cutoff___0) {
    unlink_rr_item(id);
  }
  return;
}
}
static int is_rr_cache_dirname(char const   *path___6 )
{
  struct object_id oid ;
  char const   *end ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = parse_oid_hex(path___6, & oid, & end);
  if (tmp) {
    tmp___0 = 0;
  } else
  if (! *end) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
void rerere_gc(struct repository *r , struct string_list *rr )
{
  struct string_list to_remove ;
  DIR *dir ;
  struct dirent *e ;
  int i ;
  timestamp_t now ;
  time_t tmp ;
  timestamp_t cutoff_noresolve ;
  timestamp_t cutoff_resolve ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  struct rerere_dir *rr_dir ;
  struct rerere_id id ;
  int now_empty ;
  int tmp___3 ;
  char const   *tmp___4 ;

  {
  to_remove.items = (struct string_list_item *)0;
  to_remove.nr = 0U;
  to_remove.alloc = 0U;
  to_remove.strdup_strings = 1U;
  to_remove.cmp = (int (*)(char const   * , char const   * ))0;
  tmp = time((time_t *)((void *)0));
  now = (timestamp_t )tmp;
  cutoff_noresolve = now - 1296000UL;
  cutoff_resolve = now - 5184000UL;
  tmp___0 = setup_rerere(r, rr, 0);
  if (tmp___0 < 0) {
    return;
  }
  git_config_get_expiry_in_days((char const   *)"gc.rerereresolved", & cutoff_resolve,
                                now);
  git_config_get_expiry_in_days((char const   *)"gc.rerereunresolved", & cutoff_noresolve,
                                now);
  git_config(& git_default_config, (void *)0);
  tmp___1 = git_path((char const   *)"rr-cache");
  dir = opendir(tmp___1);
  if (! dir) {
    tmp___2 = _((char const   *)"unable to open rr-cache directory");
    die_errno((char const   *)tmp___2);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    e = readdir_skip_dot_and_dotdot(dir);
    if (! e) {
      goto while_break;
    }
    tmp___3 = is_rr_cache_dirname((char const   *)(e->d_name));
    if (! tmp___3) {
      goto while_continue;
    }
    rr_dir = find_rerere_dir((char const   *)(e->d_name));
    now_empty = 1;
    id.variant = 0;
    id.collection = rr_dir;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (id.variant < (id.collection)->status_nr)) {
        goto while_break___0;
      }
      prune_one(& id, cutoff_resolve, cutoff_noresolve);
      if (*((id.collection)->status + id.variant)) {
        now_empty = 0;
      }
      (id.variant) ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (now_empty) {
      string_list_append(& to_remove, (char const   *)(e->d_name));
    }
  }
  while_break: /* CIL Label */ ;
  }
  closedir(dir);
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned int )i < to_remove.nr)) {
      goto while_break___1;
    }
    tmp___4 = git_path((char const   *)"rr-cache/%s", (to_remove.items + i)->string);
    lstat_cache_aware_rmdir(tmp___4);
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  string_list_clear(& to_remove, 0);
  rollback_lock_file(& write_lock);
  return;
}
}
void rerere_clear(struct repository *r , struct string_list *merge_rr )
{
  int i ;
  int tmp ;
  struct rerere_id *id ;
  char const   *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;

  {
  tmp = setup_rerere(r, merge_rr, 0);
  if (tmp < 0) {
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < merge_rr->nr)) {
      goto while_break;
    }
    id = (struct rerere_id *)(merge_rr->items + i)->util;
    tmp___1 = has_rerere_resolution((struct rerere_id  const  *)id);
    if (! tmp___1) {
      unlink_rr_item(id);
      tmp___0 = rerere_path((struct rerere_id  const  *)id, (char const   *)((void *)0));
      lstat_cache_aware_rmdir(tmp___0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = git_path_merge_rr(r);
  unlink_or_warn(tmp___2);
  rollback_lock_file(& write_lock);
  return;
}
}
int reset_head(struct repository *r , struct object_id *oid , char const   *action ,
               char const   *switch_to_branch , unsigned int flags___0 , char const   *reflog_orig_head ,
               char const   *reflog_head , char const   *default_reflog_action ) ;
int reset_head(struct repository *r , struct object_id *oid , char const   *action ,
               char const   *switch_to_branch , unsigned int flags___0 , char const   *reflog_orig_head ,
               char const   *reflog_head , char const   *default_reflog_action )
{
  unsigned int detach_head ;
  unsigned int reset_hard___0 ;
  unsigned int run_hook ;
  unsigned int refs_only ;
  unsigned int update_orig_head ;
  struct object_id head_oid___1 ;
  struct tree_desc desc___0[2] ;
  struct lock_file lock___0 ;
  struct unpack_trees_options unpack_tree_opts ;
  struct tree *tree ;
  char const   *reflog_action ;
  struct strbuf msg___5 ;
  size_t prefix_len___1 ;
  struct object_id *orig ;
  struct object_id oid_orig ;
  struct object_id *old_orig ;
  struct object_id oid_old_orig ;
  int ret___67 ;
  int nr___0 ;
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  void *tmp___8 ;
  char *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  void *tmp___12 ;
  int tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  char *tmp___16 ;
  char const   *tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  char *tmp___21 ;
  struct object_id  const  *tmp___22 ;
  struct object_id  const  *tmp___23 ;
  char *tmp___24 ;

  {
  detach_head = flags___0 & 1U;
  reset_hard___0 = flags___0 & (unsigned int )(1 << 1);
  run_hook = flags___0 & (unsigned int )(1 << 2);
  refs_only = flags___0 & (unsigned int )(1 << 3);
  update_orig_head = flags___0 & (unsigned int )(1 << 4);
  desc___0[0].buffer = (void const   *)((void *)0);
  desc___0[0].entry.oid.hash[0] = (unsigned char)0;
  desc___0[0].entry.oid.hash[1] = (unsigned char)0;
  desc___0[0].entry.oid.hash[2] = (unsigned char)0;
  desc___0[0].entry.oid.hash[3] = (unsigned char)0;
  desc___0[0].entry.oid.hash[4] = (unsigned char)0;
  desc___0[0].entry.oid.hash[5] = (unsigned char)0;
  desc___0[0].entry.oid.hash[6] = (unsigned char)0;
  desc___0[0].entry.oid.hash[7] = (unsigned char)0;
  desc___0[0].entry.oid.hash[8] = (unsigned char)0;
  desc___0[0].entry.oid.hash[9] = (unsigned char)0;
  desc___0[0].entry.oid.hash[10] = (unsigned char)0;
  desc___0[0].entry.oid.hash[11] = (unsigned char)0;
  desc___0[0].entry.oid.hash[12] = (unsigned char)0;
  desc___0[0].entry.oid.hash[13] = (unsigned char)0;
  desc___0[0].entry.oid.hash[14] = (unsigned char)0;
  desc___0[0].entry.oid.hash[15] = (unsigned char)0;
  desc___0[0].entry.oid.hash[16] = (unsigned char)0;
  desc___0[0].entry.oid.hash[17] = (unsigned char)0;
  desc___0[0].entry.oid.hash[18] = (unsigned char)0;
  desc___0[0].entry.oid.hash[19] = (unsigned char)0;
  desc___0[0].entry.oid.hash[20] = (unsigned char)0;
  desc___0[0].entry.oid.hash[21] = (unsigned char)0;
  desc___0[0].entry.oid.hash[22] = (unsigned char)0;
  desc___0[0].entry.oid.hash[23] = (unsigned char)0;
  desc___0[0].entry.oid.hash[24] = (unsigned char)0;
  desc___0[0].entry.oid.hash[25] = (unsigned char)0;
  desc___0[0].entry.oid.hash[26] = (unsigned char)0;
  desc___0[0].entry.oid.hash[27] = (unsigned char)0;
  desc___0[0].entry.oid.hash[28] = (unsigned char)0;
  desc___0[0].entry.oid.hash[29] = (unsigned char)0;
  desc___0[0].entry.oid.hash[30] = (unsigned char)0;
  desc___0[0].entry.oid.hash[31] = (unsigned char)0;
  desc___0[0].entry.oid.algo = 0;
  desc___0[0].entry.path = (char const   *)0;
  desc___0[0].entry.pathlen = 0;
  desc___0[0].entry.mode = 0U;
  desc___0[0].size = 0U;
  desc___0[1].buffer = (void const   *)((void *)0);
  desc___0[1].entry.oid.hash[0] = (unsigned char)0;
  desc___0[1].entry.oid.hash[1] = (unsigned char)0;
  desc___0[1].entry.oid.hash[2] = (unsigned char)0;
  desc___0[1].entry.oid.hash[3] = (unsigned char)0;
  desc___0[1].entry.oid.hash[4] = (unsigned char)0;
  desc___0[1].entry.oid.hash[5] = (unsigned char)0;
  desc___0[1].entry.oid.hash[6] = (unsigned char)0;
  desc___0[1].entry.oid.hash[7] = (unsigned char)0;
  desc___0[1].entry.oid.hash[8] = (unsigned char)0;
  desc___0[1].entry.oid.hash[9] = (unsigned char)0;
  desc___0[1].entry.oid.hash[10] = (unsigned char)0;
  desc___0[1].entry.oid.hash[11] = (unsigned char)0;
  desc___0[1].entry.oid.hash[12] = (unsigned char)0;
  desc___0[1].entry.oid.hash[13] = (unsigned char)0;
  desc___0[1].entry.oid.hash[14] = (unsigned char)0;
  desc___0[1].entry.oid.hash[15] = (unsigned char)0;
  desc___0[1].entry.oid.hash[16] = (unsigned char)0;
  desc___0[1].entry.oid.hash[17] = (unsigned char)0;
  desc___0[1].entry.oid.hash[18] = (unsigned char)0;
  desc___0[1].entry.oid.hash[19] = (unsigned char)0;
  desc___0[1].entry.oid.hash[20] = (unsigned char)0;
  desc___0[1].entry.oid.hash[21] = (unsigned char)0;
  desc___0[1].entry.oid.hash[22] = (unsigned char)0;
  desc___0[1].entry.oid.hash[23] = (unsigned char)0;
  desc___0[1].entry.oid.hash[24] = (unsigned char)0;
  desc___0[1].entry.oid.hash[25] = (unsigned char)0;
  desc___0[1].entry.oid.hash[26] = (unsigned char)0;
  desc___0[1].entry.oid.hash[27] = (unsigned char)0;
  desc___0[1].entry.oid.hash[28] = (unsigned char)0;
  desc___0[1].entry.oid.hash[29] = (unsigned char)0;
  desc___0[1].entry.oid.hash[30] = (unsigned char)0;
  desc___0[1].entry.oid.hash[31] = (unsigned char)0;
  desc___0[1].entry.oid.algo = 0;
  desc___0[1].entry.path = (char const   *)0;
  desc___0[1].entry.pathlen = 0;
  desc___0[1].entry.mode = 0U;
  desc___0[1].size = 0U;
  lock___0.tempfile = (struct tempfile *)0;
  unpack_tree_opts.merge = 0U;
  unpack_tree_opts.update = 0U;
  unpack_tree_opts.preserve_ignored = 0U;
  unpack_tree_opts.clone = 0U;
  unpack_tree_opts.index_only = 0U;
  unpack_tree_opts.nontrivial_merge = 0U;
  unpack_tree_opts.trivial_merges_only = 0U;
  unpack_tree_opts.verbose_update = 0U;
  unpack_tree_opts.aggressive = 0U;
  unpack_tree_opts.skip_unmerged = 0U;
  unpack_tree_opts.initial_checkout = 0U;
  unpack_tree_opts.diff_index_cached = 0U;
  unpack_tree_opts.debug_unpack = 0U;
  unpack_tree_opts.skip_sparse_checkout = 0U;
  unpack_tree_opts.quiet = 0U;
  unpack_tree_opts.exiting_early = 0U;
  unpack_tree_opts.show_all_errors = 0U;
  unpack_tree_opts.dry_run = 0U;
  unpack_tree_opts.reset = 0U;
  unpack_tree_opts.prefix = (char const   *)0;
  unpack_tree_opts.cache_bottom = 0;
  unpack_tree_opts.pathspec = (struct pathspec *)0;
  unpack_tree_opts.fn = (int (*)(struct cache_entry  const  **src , struct unpack_trees_options *options ))0;
  unpack_tree_opts.msgs[0] = (char const   *)0;
  unpack_tree_opts.msgs[1] = (char const   *)0;
  unpack_tree_opts.msgs[2] = (char const   *)0;
  unpack_tree_opts.msgs[3] = (char const   *)0;
  unpack_tree_opts.msgs[4] = (char const   *)0;
  unpack_tree_opts.msgs[5] = (char const   *)0;
  unpack_tree_opts.msgs[6] = (char const   *)0;
  unpack_tree_opts.msgs[7] = (char const   *)0;
  unpack_tree_opts.msgs[8] = (char const   *)0;
  unpack_tree_opts.msgs[9] = (char const   *)0;
  unpack_tree_opts.msgs[10] = (char const   *)0;
  unpack_tree_opts.msgs[11] = (char const   *)0;
  unpack_tree_opts.msgs_to_free.v = (char const   **)0;
  unpack_tree_opts.msgs_to_free.nr = 0UL;
  unpack_tree_opts.msgs_to_free.alloc = 0UL;
  unpack_tree_opts.unpack_rejects[0].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[0].nr = 0U;
  unpack_tree_opts.unpack_rejects[0].alloc = 0U;
  unpack_tree_opts.unpack_rejects[0].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[0].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[1].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[1].nr = 0U;
  unpack_tree_opts.unpack_rejects[1].alloc = 0U;
  unpack_tree_opts.unpack_rejects[1].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[1].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[2].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[2].nr = 0U;
  unpack_tree_opts.unpack_rejects[2].alloc = 0U;
  unpack_tree_opts.unpack_rejects[2].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[2].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[3].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[3].nr = 0U;
  unpack_tree_opts.unpack_rejects[3].alloc = 0U;
  unpack_tree_opts.unpack_rejects[3].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[3].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[4].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[4].nr = 0U;
  unpack_tree_opts.unpack_rejects[4].alloc = 0U;
  unpack_tree_opts.unpack_rejects[4].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[4].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[5].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[5].nr = 0U;
  unpack_tree_opts.unpack_rejects[5].alloc = 0U;
  unpack_tree_opts.unpack_rejects[5].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[5].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[6].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[6].nr = 0U;
  unpack_tree_opts.unpack_rejects[6].alloc = 0U;
  unpack_tree_opts.unpack_rejects[6].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[6].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[7].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[7].nr = 0U;
  unpack_tree_opts.unpack_rejects[7].alloc = 0U;
  unpack_tree_opts.unpack_rejects[7].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[7].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[8].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[8].nr = 0U;
  unpack_tree_opts.unpack_rejects[8].alloc = 0U;
  unpack_tree_opts.unpack_rejects[8].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[8].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[9].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[9].nr = 0U;
  unpack_tree_opts.unpack_rejects[9].alloc = 0U;
  unpack_tree_opts.unpack_rejects[9].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[9].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[10].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[10].nr = 0U;
  unpack_tree_opts.unpack_rejects[10].alloc = 0U;
  unpack_tree_opts.unpack_rejects[10].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[10].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[11].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[11].nr = 0U;
  unpack_tree_opts.unpack_rejects[11].alloc = 0U;
  unpack_tree_opts.unpack_rejects[11].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[11].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.head_idx = 0;
  unpack_tree_opts.merge_size = 0;
  unpack_tree_opts.df_conflict_entry = (struct cache_entry *)0;
  unpack_tree_opts.unpack_data = (void *)0;
  unpack_tree_opts.dst_index = (struct index_state *)0;
  unpack_tree_opts.src_index = (struct index_state *)0;
  unpack_tree_opts.result.cache = (struct cache_entry **)0;
  unpack_tree_opts.result.version = 0U;
  unpack_tree_opts.result.cache_nr = 0U;
  unpack_tree_opts.result.cache_alloc = 0U;
  unpack_tree_opts.result.cache_changed = 0U;
  unpack_tree_opts.result.resolve_undo = (struct string_list *)0;
  unpack_tree_opts.result.cache_tree = (struct cache_tree *)0;
  unpack_tree_opts.result.split_index = (struct split_index *)0;
  unpack_tree_opts.result.timestamp.sec = 0U;
  unpack_tree_opts.result.timestamp.nsec = 0U;
  unpack_tree_opts.result.name_hash_initialized = 0U;
  unpack_tree_opts.result.initialized = 0U;
  unpack_tree_opts.result.drop_cache_tree = 0U;
  unpack_tree_opts.result.updated_workdir = 0U;
  unpack_tree_opts.result.updated_skipworktree = 0U;
  unpack_tree_opts.result.fsmonitor_has_run_once = 0U;
  unpack_tree_opts.result.sparse_index = 0U;
  unpack_tree_opts.result.name_hash.table = (struct hashmap_entry **)0;
  unpack_tree_opts.result.name_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data ,
                                                     struct hashmap_entry  const  *entry ,
                                                     struct hashmap_entry  const  *entry_or_key ,
                                                     void const   *keydata ))0;
  unpack_tree_opts.result.name_hash.cmpfn_data = (void const   *)0;
  unpack_tree_opts.result.name_hash.private_size = 0U;
  unpack_tree_opts.result.name_hash.tablesize = 0U;
  unpack_tree_opts.result.name_hash.grow_at = 0U;
  unpack_tree_opts.result.name_hash.shrink_at = 0U;
  unpack_tree_opts.result.name_hash.do_count_items = 0U;
  unpack_tree_opts.result.dir_hash.table = (struct hashmap_entry **)0;
  unpack_tree_opts.result.dir_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data ,
                                                    struct hashmap_entry  const  *entry ,
                                                    struct hashmap_entry  const  *entry_or_key ,
                                                    void const   *keydata ))0;
  unpack_tree_opts.result.dir_hash.cmpfn_data = (void const   *)0;
  unpack_tree_opts.result.dir_hash.private_size = 0U;
  unpack_tree_opts.result.dir_hash.tablesize = 0U;
  unpack_tree_opts.result.dir_hash.grow_at = 0U;
  unpack_tree_opts.result.dir_hash.shrink_at = 0U;
  unpack_tree_opts.result.dir_hash.do_count_items = 0U;
  unpack_tree_opts.result.oid.hash[0] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[1] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[2] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[3] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[4] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[5] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[6] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[7] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[8] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[9] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[10] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[11] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[12] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[13] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[14] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[15] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[16] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[17] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[18] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[19] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[20] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[21] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[22] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[23] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[24] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[25] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[26] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[27] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[28] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[29] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[30] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[31] = (unsigned char)0;
  unpack_tree_opts.result.oid.algo = 0;
  unpack_tree_opts.result.untracked = (struct untracked_cache *)0;
  unpack_tree_opts.result.fsmonitor_last_update = (char *)0;
  unpack_tree_opts.result.fsmonitor_dirty = (struct ewah_bitmap *)0;
  unpack_tree_opts.result.ce_mem_pool = (struct mem_pool *)0;
  unpack_tree_opts.result.progress = (struct progress *)0;
  unpack_tree_opts.result.repo = (struct repository *)0;
  unpack_tree_opts.result.sparse_checkout_patterns = (struct pattern_list *)0;
  unpack_tree_opts.pl = (struct pattern_list *)0;
  unpack_tree_opts.dir = (struct dir_struct *)0;
  unpack_tree_opts.meta.refname = (char const   *)0;
  unpack_tree_opts.meta.treeish.hash[0] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[1] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[2] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[3] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[4] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[5] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[6] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[7] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[8] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[9] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[10] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[11] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[12] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[13] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[14] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[15] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[16] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[17] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[18] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[19] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[20] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[21] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[22] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[23] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[24] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[25] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[26] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[27] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[28] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[29] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[30] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[31] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.algo = 0;
  unpack_tree_opts.meta.blob.hash[0] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[1] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[2] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[3] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[4] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[5] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[6] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[7] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[8] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[9] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[10] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[11] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[12] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[13] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[14] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[15] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[16] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[17] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[18] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[19] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[20] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[21] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[22] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[23] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[24] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[25] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[26] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[27] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[28] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[29] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[30] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[31] = (unsigned char)0;
  unpack_tree_opts.meta.blob.algo = 0;
  msg___5.alloc = 0UL;
  msg___5.len = 0UL;
  msg___5.buf = strbuf_slopbuf;
  orig = (struct object_id *)((void *)0);
  old_orig = (struct object_id *)((void *)0);
  ret___67 = 0;
  nr___0 = 0;
  if (switch_to_branch) {
    tmp = starts_with(switch_to_branch, (char const   *)"refs/");
    if (! tmp) {
      BUG_fl((char const   *)"reset.c", 34, (char const   *)"Not a fully qualified branch: \'%s\'",
             switch_to_branch);
    }
  }
  if (! refs_only) {
    tmp___0 = repo_hold_locked_index(r, & lock___0, 4);
    if (tmp___0 < 0) {
      ret___67 = -1;
      goto leave_reset_head;
    }
  }
  if (! oid) {
    goto _L;
  } else
  if (! reset_hard___0) {
    _L: /* CIL Label */
    tmp___2 = repo_get_oid(the_repository, (char const   *)"HEAD", & head_oid___1);
    if (tmp___2) {
      tmp___1 = _((char const   *)"could not determine HEAD revision");
      error((char const   *)tmp___1);
      ret___67 = const_error();
      goto leave_reset_head;
    }
  }
  if (! oid) {
    oid = & head_oid___1;
  }
  if (refs_only) {
    goto reset_head_refs;
  }
  setup_unpack_trees_porcelain(& unpack_tree_opts, action);
  unpack_tree_opts.head_idx = 1;
  unpack_tree_opts.src_index = r->index;
  unpack_tree_opts.dst_index = r->index;
  if (reset_hard___0) {
    unpack_tree_opts.fn = & oneway_merge;
  } else {
    unpack_tree_opts.fn = & twoway_merge;
  }
  unpack_tree_opts.update = 1U;
  unpack_tree_opts.merge = 1U;
  unpack_tree_opts.preserve_ignored = 0U;
  init_checkout_metadata(& unpack_tree_opts.meta, switch_to_branch, (struct object_id  const  *)oid,
                         (struct object_id  const  *)((void *)0));
  if (! detach_head) {
    unpack_tree_opts.reset = (enum unpack_trees_reset_type )2;
  }
  tmp___4 = repo_read_index_unmerged(r);
  if (tmp___4 < 0) {
    tmp___3 = _((char const   *)"could not read index");
    error((char const   *)tmp___3);
    ret___67 = const_error();
    goto leave_reset_head;
  }
  if (! reset_hard___0) {
    tmp___7 = nr___0;
    nr___0 ++;
    tmp___8 = fill_tree_descriptor(r, & desc___0[tmp___7], (struct object_id  const  *)(& head_oid___1));
    if (! tmp___8) {
      tmp___5 = oid_to_hex((struct object_id  const  *)(& head_oid___1));
      tmp___6 = _((char const   *)"failed to find tree of %s");
      error((char const   *)tmp___6, tmp___5);
      ret___67 = const_error();
      goto leave_reset_head;
    }
  }
  tmp___11 = nr___0;
  nr___0 ++;
  tmp___12 = fill_tree_descriptor(r, & desc___0[tmp___11], (struct object_id  const  *)oid);
  if (! tmp___12) {
    tmp___9 = oid_to_hex((struct object_id  const  *)oid);
    tmp___10 = _((char const   *)"failed to find tree of %s");
    error((char const   *)tmp___10, tmp___9);
    ret___67 = const_error();
    goto leave_reset_head;
  }
  tmp___13 = unpack_trees((unsigned int )nr___0, desc___0, & unpack_tree_opts);
  if (tmp___13) {
    ret___67 = -1;
    goto leave_reset_head;
  }
  tree = parse_tree_indirect((struct object_id  const  *)oid);
  prime_cache_tree(r, r->index, tree);
  tmp___15 = write_locked_index(r->index, & lock___0, 1U);
  if (tmp___15 < 0) {
    tmp___14 = _((char const   *)"could not write index");
    error((char const   *)tmp___14);
    ret___67 = const_error();
    goto leave_reset_head;
  }
  reset_head_refs:
  tmp___16 = getenv((char const   *)"GIT_REFLOG_ACTION");
  reflog_action = (char const   *)tmp___16;
  if (reflog_action) {
    tmp___17 = reflog_action;
  } else {
    tmp___17 = default_reflog_action;
  }
  strbuf_addf(& msg___5, (char const   *)"%s: ", tmp___17);
  prefix_len___1 = msg___5.len;
  if (update_orig_head) {
    tmp___18 = repo_get_oid(the_repository, (char const   *)"ORIG_HEAD", & oid_old_orig);
    if (! tmp___18) {
      old_orig = & oid_old_orig;
    }
    tmp___19 = repo_get_oid(the_repository, (char const   *)"HEAD", & oid_orig);
    if (tmp___19) {
      if (old_orig) {
        delete_ref((char const   *)((void *)0), (char const   *)"ORIG_HEAD", (struct object_id  const  *)old_orig,
                   0U);
      }
    } else {
      orig = & oid_orig;
      if (! reflog_orig_head) {
        strbuf_addstr(& msg___5, (char const   *)"updating ORIG_HEAD");
        reflog_orig_head = (char const   *)msg___5.buf;
      }
      update_ref(reflog_orig_head, (char const   *)"ORIG_HEAD", (struct object_id  const  *)orig,
                 (struct object_id  const  *)old_orig, 0U, (enum action_on_err )0);
    }
  }
  if (! reflog_head) {
    strbuf_setlen(& msg___5, prefix_len___1);
    strbuf_addstr(& msg___5, (char const   *)"updating HEAD");
    reflog_head = (char const   *)msg___5.buf;
  }
  if (! switch_to_branch) {
    if (detach_head) {
      tmp___20 = 1;
    } else {
      tmp___20 = 0;
    }
    ret___67 = update_ref(reflog_head, (char const   *)"HEAD", (struct object_id  const  *)oid,
                          (struct object_id  const  *)orig, (unsigned int )tmp___20,
                          (enum action_on_err )0);
  } else {
    ret___67 = update_ref(reflog_head, switch_to_branch, (struct object_id  const  *)oid,
                          (struct object_id  const  *)((void *)0), 0U, (enum action_on_err )0);
    if (! ret___67) {
      ret___67 = create_symref((char const   *)"HEAD", switch_to_branch, reflog_head);
    }
  }
  if (run_hook) {
    tmp___21 = oid_to_hex((struct object_id  const  *)oid);
    if (orig) {
      tmp___23 = (struct object_id  const  *)orig;
    } else {
      tmp___22 = null_oid();
      tmp___23 = tmp___22;
    }
    tmp___24 = oid_to_hex(tmp___23);
    run_hook_le((char const   **)((void *)0), (char const   *)"post-checkout", tmp___24,
                tmp___21, "1", (void *)0);
  }
  leave_reset_head:
  strbuf_release(& msg___5);
  rollback_lock_file(& lock___0);
  clear_unpack_trees_porcelain(& unpack_tree_opts);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! nr___0) {
      goto while_break;
    }
    nr___0 --;
    free((void *)desc___0[nr___0].buffer);
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
void record_resolve_undo(struct index_state *istate , struct cache_entry *ce )
{
  struct string_list_item *lost ;
  struct resolve_undo_info *ui ;
  struct string_list *resolve_undo ;
  int stage ;
  void *tmp ;

  {
  stage = (int )((12288U & ce->ce_flags) >> 12);
  if (! stage) {
    return;
  }
  if (! istate->resolve_undo) {
    tmp = xcalloc((size_t )1, sizeof(*resolve_undo));
    resolve_undo = (struct string_list *)tmp;
    resolve_undo->strdup_strings = 1U;
    istate->resolve_undo = resolve_undo;
  }
  resolve_undo = istate->resolve_undo;
  lost = string_list_insert(resolve_undo, (char const   *)(ce->name));
  if (! lost->util) {
    lost->util = xcalloc((size_t )1, sizeof(*ui));
  }
  ui = (struct resolve_undo_info *)lost->util;
  oidcpy(& ui->oid[stage - 1], (struct object_id  const  *)(& ce->oid));
  ui->mode[stage - 1] = ce->ce_mode;
  return;
}
}
void resolve_undo_write(struct strbuf *sb___6 , struct string_list *resolve_undo )
{
  struct string_list_item *item___0 ;
  struct resolve_undo_info *ui ;
  int i ;

  {
  item___0 = resolve_undo->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(resolve_undo->items + resolve_undo->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    ui = (struct resolve_undo_info *)item___0->util;
    if (! ui) {
      goto __Cont;
    }
    strbuf_addstr(sb___6, (char const   *)item___0->string);
    strbuf_addch(sb___6, 0);
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < 3)) {
        goto while_break___0;
      }
      strbuf_addf(sb___6, (char const   *)"%o%c", ui->mode[i], 0);
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < 3)) {
        goto while_break___1;
      }
      if (! ui->mode[i]) {
        goto __Cont___0;
      }
      strbuf_add(sb___6, (void const   *)(ui->oid[i].hash), (size_t )(the_repository->hash_algo)->rawsz);
      __Cont___0: /* CIL Label */
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
struct string_list *resolve_undo_read(char const   *data , unsigned long size )
{
  struct string_list *resolve_undo ;
  size_t len___0 ;
  char *endptr ;
  int i ;
  unsigned int rawsz ;
  void *tmp ;
  struct string_list_item *lost ;
  struct resolve_undo_info *ui ;
  size_t tmp___0 ;
  unsigned long tmp___1 ;

  {
  rawsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  tmp = xcalloc((size_t )1, sizeof(*resolve_undo));
  resolve_undo = (struct string_list *)tmp;
  resolve_undo->strdup_strings = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! size) {
      goto while_break;
    }
    tmp___0 = strlen(data);
    len___0 = tmp___0 + 1UL;
    if (size <= len___0) {
      goto error;
    }
    lost = string_list_insert(resolve_undo, data);
    if (! lost->util) {
      lost->util = xcalloc((size_t )1, sizeof(*ui));
    }
    ui = (struct resolve_undo_info *)lost->util;
    size -= len___0;
    data += len___0;
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < 3)) {
        goto while_break___0;
      }
      tmp___1 = strtoul((char const   * __restrict  )data, (char ** __restrict  )(& endptr),
                        8);
      ui->mode[i] = (unsigned int )tmp___1;
      if (! endptr) {
        goto error;
      } else
      if ((unsigned long )endptr == (unsigned long )data) {
        goto error;
      } else
      if (*endptr) {
        goto error;
      }
      len___0 = (size_t )((endptr + 1) - (char *)data);
      if (size <= len___0) {
        goto error;
      }
      size -= len___0;
      data += len___0;
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < 3)) {
        goto while_break___1;
      }
      if (! ui->mode[i]) {
        goto __Cont;
      }
      if (size < (unsigned long )rawsz) {
        goto error;
      }
      oidread(& ui->oid[i], (unsigned char const   *)data);
      size -= (unsigned long )rawsz;
      data += rawsz;
      __Cont: /* CIL Label */
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (resolve_undo);
  error:
  string_list_clear(resolve_undo, 1);
  error((char const   *)"Index records invalid resolve-undo information");
  const_error();
  return ((struct string_list *)((void *)0));
}
}
void resolve_undo_clear_index(struct index_state *istate )
{
  struct string_list *resolve_undo ;

  {
  resolve_undo = istate->resolve_undo;
  if (! resolve_undo) {
    return;
  }
  string_list_clear(resolve_undo, 1);
  free((void *)resolve_undo);
  istate->resolve_undo = (struct string_list *)((void *)0);
  istate->cache_changed |= (unsigned int )(1 << 4);
  return;
}
}
int unmerge_index_entry_at(struct index_state *istate , int pos )
{
  struct cache_entry  const  *ce ;
  struct string_list_item *item___0 ;
  struct resolve_undo_info *ru ;
  int i ;
  int err___4 ;
  int matched ;
  char *name___0 ;
  int tmp ;
  struct cache_entry *nce ;
  int tmp___0 ;
  int tmp___1 ;

  {
  err___4 = 0;
  if (! istate->resolve_undo) {
    return (pos);
  }
  ce = (struct cache_entry  const  *)*(istate->cache + pos);
  if ((12288U & ce->ce_flags) >> 12) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if ((unsigned int )pos < istate->cache_nr) {
        tmp = strcmp((char const   *)((*(istate->cache + pos))->name), (char const   *)(ce->name));
        if (tmp) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      pos ++;
    }
    while_break: /* CIL Label */ ;
    }
    return (pos - 1);
  }
  item___0 = string_list_lookup(istate->resolve_undo, (char const   *)(ce->name));
  if (! item___0) {
    return (pos);
  }
  ru = (struct resolve_undo_info *)item___0->util;
  if (! ru) {
    return (pos);
  }
  matched = (int )(ce->ce_flags & (unsigned int )(1 << 26));
  name___0 = xstrdup((char const   *)(ce->name));
  remove_index_entry_at(istate, pos);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < 3)) {
      goto while_break___0;
    }
    if (! ru->mode[i]) {
      goto __Cont;
    }
    nce = make_cache_entry(istate, ru->mode[i], (struct object_id  const  *)(& ru->oid[i]),
                           (char const   *)name___0, i + 1, 0U);
    if (matched) {
      nce->ce_flags |= (unsigned int )(1 << 26);
    }
    tmp___0 = add_index_entry(istate, nce, 1);
    if (tmp___0) {
      err___4 = 1;
      error((char const   *)"cannot unmerge \'%s\'", name___0);
      const_error();
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)name___0);
  if (err___4) {
    return (pos);
  }
  free((void *)ru);
  item___0->util = (void *)0;
  tmp___1 = unmerge_index_entry_at(istate, pos);
  return (tmp___1);
}
}
void unmerge_marked_index(struct index_state *istate )
{
  int i ;
  struct cache_entry  const  *ce ;

  {
  if (! istate->resolve_undo) {
    return;
  }
  ensure_full_index(istate);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    ce = (struct cache_entry  const  *)*(istate->cache + i);
    if (ce->ce_flags & (unsigned int )(1 << 26)) {
      i = unmerge_index_entry_at(istate, i);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void unmerge_index(struct index_state *istate , struct pathspec  const  *pathspec___1 )
{
  int i ;
  struct cache_entry  const  *ce ;
  int tmp ;

  {
  if (! istate->resolve_undo) {
    return;
  }
  ensure_full_index(istate);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    ce = (struct cache_entry  const  *)*(istate->cache + i);
    tmp = ce_path_match(istate, ce, pathspec___1, (char *)((void *)0));
    if (! tmp) {
      goto __Cont;
    }
    i = unmerge_index_entry_at(istate, i);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static double const   __ac_HASH_UPPER___81  =    (double const   )0.77;
__inline static void kh_resize_oid_set___81(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___81(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___81 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___81 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___81(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___81(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___81(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___81(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___81(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___81(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___81 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___81 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___81(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___81(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___81(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___81(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___81(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___81(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___81 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___81 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___81(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___81(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___81(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___81(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___61(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___61(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___81 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___81 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___61(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___61(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___61(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___61(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
void (* volatile  show_early_output)(struct rev_info * , struct commit_list * )  ;
static void init_contains_cache_with_stride___12(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___12(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___12(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___12(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___12(s___1, 1U);
  return;
}
}
static void clear_contains_cache___12(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___12(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___12(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___12(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___12(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___12(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___12(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___12(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___12(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___12(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___12(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___12(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___12(s___1, c___0, 0);
  return (tmp);
}
}
static char const   *term_bad___0  ;
static char const   *term_good___0  ;
void init_revision_sources_with_stride(struct revision_sources *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(char *) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (char ***)((void *)0);
  return;
}
}
void init_revision_sources(struct revision_sources *s___1 )
{


  {
  init_revision_sources_with_stride(s___1, 1U);
  return;
}
}
void clear_revision_sources(struct revision_sources *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (char ***)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
void deep_clear_revision_sources(struct revision_sources *s___1 , void (*free_fn)(char **ptr ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_revision_sources(s___1);
  return;
}
}
char **revision_sources_at_peek(struct revision_sources *s___1 , struct commit  const  *c___0 ,
                                int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((char **)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (char ***)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (char **)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((char **)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (char **)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
char **revision_sources_at(struct revision_sources *s___1 , struct commit  const  *c___0 )
{
  char **tmp ;

  {
  tmp = revision_sources_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
char **revision_sources_peek(struct revision_sources *s___1 , struct commit  const  *c___0 )
{
  char **tmp ;

  {
  tmp = revision_sources_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
__inline static int want_ancestry(struct rev_info  const  *revs ) ;
void show_object_with_name(FILE *out , struct object *obj , char const   *name___0 )
{
  char *tmp ;
  char const   *p___0 ;

  {
  tmp = oid_to_hex((struct object_id  const  *)(& obj->oid));
  fprintf(out, (char const   *)"%s ", tmp);
  p___0 = name___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*p___0) {
      if (! ((int const   )*p___0 != 10)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    fputc((int )*p___0, out);
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  fputc('\n', out);
  return;
}
}
static void mark_blob_uninteresting(struct blob *blob )
{


  {
  if (! blob) {
    return;
  }
  if (blob->object.flags & (1u << 1)) {
    return;
  }
  blob->object.flags |= 1u << 1;
  return;
}
}
static void mark_tree_contents_uninteresting(struct repository *r , struct tree *tree )
{
  struct tree_desc desc___0 ;
  struct name_entry entry ;
  int tmp ;
  enum object_type tmp___0 ;
  struct tree *tmp___1 ;
  struct blob *tmp___2 ;
  int tmp___3 ;

  {
  tmp = parse_tree_gently(tree, 1);
  if (tmp < 0) {
    return;
  }
  init_tree_desc(& desc___0, (void const   *)tree->buffer, tree->size);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = tree_entry(& desc___0, & entry);
    if (! tmp___3) {
      goto while_break;
    }
    tmp___0 = object_type(entry.mode);
    {
    if ((int )tmp___0 == 2) {
      goto case_2;
    }
    if ((int )tmp___0 == 3) {
      goto case_3;
    }
    goto switch_default;
    case_2: /* CIL Label */
    tmp___1 = lookup_tree(r, (struct object_id  const  *)(& entry.oid));
    mark_tree_uninteresting(r, tmp___1);
    goto switch_break;
    case_3: /* CIL Label */
    tmp___2 = lookup_blob(r, (struct object_id  const  *)(& entry.oid));
    mark_blob_uninteresting(tmp___2);
    goto switch_break;
    switch_default: /* CIL Label */
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  free_tree_buffer(tree);
  return;
}
}
void mark_tree_uninteresting(struct repository *r , struct tree *tree )
{
  struct object *obj ;

  {
  if (! tree) {
    return;
  }
  obj = & tree->object;
  if (obj->flags & (1u << 1)) {
    return;
  }
  obj->flags |= 1u << 1;
  mark_tree_contents_uninteresting(r, tree);
  return;
}
}
static int path_and_oids_cmp(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *eptr ,
                             struct hashmap_entry  const  *entry_or_key , void const   *keydata )
{
  struct path_and_oids_entry  const  *e1 ;
  struct path_and_oids_entry  const  *e2 ;
  int tmp ;

  {
  e1 = (struct path_and_oids_entry  const  *)((char *)eptr - (unsigned long )(& ((struct path_and_oids_entry  const  *)0)->ent));
  e2 = (struct path_and_oids_entry  const  *)((char *)entry_or_key - (unsigned long )(& ((struct path_and_oids_entry  const  *)0)->ent));
  tmp = strcmp((char const   *)e1->path, (char const   *)e2->path);
  return (tmp);
}
}
static void paths_and_oids_clear(struct hashmap *map___0 )
{
  struct hashmap_iter iter___0 ;
  struct path_and_oids_entry *entry ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;

  {
  entry = (struct path_and_oids_entry *)((void *)0);
  tmp = hashmap_iter_first(map___0, & iter___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct path_and_oids_entry *)0)->ent));
  entry = (struct path_and_oids_entry *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! entry) {
      goto while_break;
    }
    oidset_clear(& entry->trees);
    free((void *)entry->path);
    tmp___1 = hashmap_iter_next(& iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct path_and_oids_entry *)0)->ent));
    entry = (struct path_and_oids_entry *)tmp___2;
  }
  while_break: /* CIL Label */ ;
  }
  hashmap_clear_(map___0, (ssize_t )((unsigned long )(& ((struct path_and_oids_entry *)0)->ent)));
  return;
}
}
static void paths_and_oids_insert(struct hashmap *map___0 , char const   *path___6 ,
                                  struct object_id  const  *oid )
{
  int hash___0 ;
  unsigned int tmp ;
  struct path_and_oids_entry key___1 ;
  struct path_and_oids_entry *entry ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;

  {
  tmp = strhash(path___6);
  hash___0 = (int )tmp;
  hashmap_entry_init(& key___1.ent, (unsigned int )hash___0);
  key___1.path = (char *)path___6;
  oidset_init(& key___1.trees, (size_t )0);
  tmp___0 = hashmap_get((struct hashmap  const  *)map___0, (struct hashmap_entry  const  *)(& key___1.ent),
                        (void const   *)((void *)0));
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct path_and_oids_entry *)0)->ent));
  entry = (struct path_and_oids_entry *)tmp___1;
  if (! entry) {
    tmp___2 = xcalloc((size_t )1, sizeof(*entry));
    entry = (struct path_and_oids_entry *)tmp___2;
    hashmap_entry_init(& entry->ent, (unsigned int )hash___0);
    entry->path = xstrdup((char const   *)key___1.path);
    oidset_init(& entry->trees, (size_t )16);
    hashmap_put(map___0, & entry->ent);
  }
  oidset_insert(& entry->trees, oid);
  return;
}
}
static void add_children_by_path(struct repository *r , struct tree *tree , struct hashmap *map___0 )
{
  struct tree_desc desc___0 ;
  struct name_entry entry ;
  int tmp ;
  enum object_type tmp___0 ;
  struct tree *child ;
  struct tree *tmp___1 ;
  struct blob *child___0 ;
  struct blob *tmp___2 ;
  int tmp___3 ;

  {
  if (! tree) {
    return;
  }
  tmp = parse_tree_gently(tree, 1);
  if (tmp < 0) {
    return;
  }
  init_tree_desc(& desc___0, (void const   *)tree->buffer, tree->size);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = tree_entry(& desc___0, & entry);
    if (! tmp___3) {
      goto while_break;
    }
    tmp___0 = object_type(entry.mode);
    {
    if ((int )tmp___0 == 2) {
      goto case_2;
    }
    if ((int )tmp___0 == 3) {
      goto case_3;
    }
    goto switch_default;
    case_2: /* CIL Label */
    paths_and_oids_insert(map___0, entry.path, (struct object_id  const  *)(& entry.oid));
    if (tree->object.flags & (1u << 1)) {
      tmp___1 = lookup_tree(r, (struct object_id  const  *)(& entry.oid));
      child = tmp___1;
      if (child) {
        child->object.flags |= 1u << 1;
      }
    }
    goto switch_break;
    case_3: /* CIL Label */
    if (tree->object.flags & (1u << 1)) {
      tmp___2 = lookup_blob(r, (struct object_id  const  *)(& entry.oid));
      child___0 = tmp___2;
      if (child___0) {
        child___0->object.flags |= 1u << 1;
      }
    }
    goto switch_break;
    switch_default: /* CIL Label */
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  free_tree_buffer(tree);
  return;
}
}
void mark_trees_uninteresting_sparse(struct repository *r , struct oidset *trees___0 )
{
  unsigned int has_interesting ;
  unsigned int has_uninteresting ;
  struct hashmap map___0 ;
  struct hashmap_iter map_iter ;
  struct path_and_oids_entry *entry ;
  struct object_id *oid ;
  struct oidset_iter iter___0 ;
  struct tree *tree ;
  struct tree *tmp ;
  struct tree *tree___0 ;
  struct tree *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;
  struct hashmap_entry *tmp___3 ;
  void *tmp___4 ;

  {
  has_interesting = 0U;
  has_uninteresting = 0U;
  map___0.table = (struct hashmap_entry **)0;
  map___0.cmpfn = & path_and_oids_cmp;
  map___0.cmpfn_data = (void const   *)((void *)0);
  map___0.private_size = 0U;
  map___0.tablesize = 0U;
  map___0.grow_at = 0U;
  map___0.shrink_at = 0U;
  map___0.do_count_items = 1U;
  oidset_iter_init(trees___0, & iter___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! has_interesting) {
      goto _L;
    } else
    if (! has_uninteresting) {
      _L: /* CIL Label */
      oid = oidset_iter_next(& iter___0);
      if (! oid) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = lookup_tree(r, (struct object_id  const  *)oid);
    tree = tmp;
    if (! tree) {
      goto while_continue;
    }
    if (tree->object.flags & (1u << 1)) {
      has_uninteresting = 1U;
    } else {
      has_interesting = 1U;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (! has_uninteresting) {
    return;
  } else
  if (! has_interesting) {
    return;
  }
  oidset_iter_init(trees___0, & iter___0);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    oid = oidset_iter_next(& iter___0);
    if (! oid) {
      goto while_break___0;
    }
    tmp___0 = lookup_tree(r, (struct object_id  const  *)oid);
    tree___0 = tmp___0;
    add_children_by_path(r, tree___0, & map___0);
  }
  while_break___0: /* CIL Label */ ;
  }
  entry = (struct path_and_oids_entry *)((void *)0);
  tmp___1 = hashmap_iter_first(& map___0, & map_iter);
  tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct path_and_oids_entry *)0)->ent));
  entry = (struct path_and_oids_entry *)tmp___2;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! entry) {
      goto while_break___1;
    }
    mark_trees_uninteresting_sparse(r, & entry->trees);
    tmp___3 = hashmap_iter_next(& map_iter);
    tmp___4 = container_of_or_null_offset((void *)tmp___3, (unsigned long )(& ((struct path_and_oids_entry *)0)->ent));
    entry = (struct path_and_oids_entry *)tmp___4;
  }
  while_break___1: /* CIL Label */ ;
  }
  paths_and_oids_clear(& map___0);
  return;
}
}
static void commit_stack_push(struct commit_stack *stack , struct commit *commit )
{
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (stack->nr + 1UL > stack->alloc) {
      if (((stack->alloc + 16UL) * 3UL) / 2UL < stack->nr + 1UL) {
        stack->alloc = stack->nr + 1UL;
      } else {
        stack->alloc = ((stack->alloc + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*(stack->items)), stack->alloc);
      tmp___0 = xrealloc((void *)stack->items, tmp);
      stack->items = (struct commit **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = stack->nr;
  (stack->nr) ++;
  *(stack->items + tmp___1) = commit;
  return;
}
}
static struct commit *commit_stack_pop(struct commit_stack *stack )
{
  struct commit *tmp ;

  {
  if (stack->nr) {
    (stack->nr) --;
    tmp = *(stack->items + stack->nr);
  } else {
    tmp = (struct commit *)((void *)0);
  }
  return (tmp);
}
}
static void commit_stack_clear(struct commit_stack *stack )
{
  size_t tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)stack->items);
    stack->items = (struct commit **)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = (size_t )0;
  stack->alloc = tmp;
  stack->nr = tmp;
  return;
}
}
static void mark_one_parent_uninteresting(struct commit *commit , struct commit_stack *pending___0 )
{
  struct commit_list *l ;

  {
  if (commit->object.flags & (1u << 1)) {
    return;
  }
  commit->object.flags |= 1u << 1;
  l = commit->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! l) {
      goto while_break;
    }
    commit_stack_push(pending___0, l->item);
    l = l->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void mark_parents_uninteresting(struct commit *commit )
{
  struct commit_stack pending___0 ;
  struct commit_list *l ;
  struct commit *tmp ;

  {
  pending___0.items = (struct commit **)0;
  pending___0.nr = 0UL;
  pending___0.alloc = 0UL;
  l = commit->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! l) {
      goto while_break;
    }
    mark_one_parent_uninteresting(l->item, & pending___0);
    l = l->next;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (pending___0.nr > 0UL)) {
      goto while_break___0;
    }
    tmp = commit_stack_pop(& pending___0);
    mark_one_parent_uninteresting(tmp, & pending___0);
  }
  while_break___0: /* CIL Label */ ;
  }
  commit_stack_clear(& pending___0);
  return;
}
}
static void add_pending_object_with_path(struct rev_info *revs , struct object *obj ,
                                         char const   *name___0 , unsigned int mode___1 ,
                                         char const   *path___6 )
{
  struct interpret_branch_name_options options ;
  struct strbuf buf___19 ;
  size_t namelen ;
  size_t tmp ;
  int len___0 ;
  int tmp___0 ;
  char const   *tmp___1 ;

  {
  options.allowed = 0U;
  options.nonfatal_dangling_mark = 0U;
  if (! obj) {
    return;
  }
  if (revs->no_walk) {
    if (obj->flags & (1u << 1)) {
      revs->no_walk = 0U;
    }
  }
  if (revs->reflog_info) {
    if (obj->type == 1U) {
      buf___19.alloc = 0UL;
      buf___19.len = 0UL;
      buf___19.buf = strbuf_slopbuf;
      tmp = strlen(name___0);
      namelen = tmp;
      tmp___0 = repo_interpret_branch_name(the_repository, name___0, (int )namelen,
                                           & buf___19, (struct interpret_branch_name_options  const  *)(& options));
      len___0 = tmp___0;
      if (0 < len___0) {
        if ((size_t )len___0 < namelen) {
          if (buf___19.len) {
            strbuf_addstr(& buf___19, name___0 + len___0);
          }
        }
      }
      if (*(buf___19.buf + 0)) {
        tmp___1 = (char const   *)buf___19.buf;
      } else {
        tmp___1 = name___0;
      }
      add_reflog_for_walk(revs->reflog_info, (struct commit *)obj, tmp___1);
      strbuf_release(& buf___19);
      return;
    }
  }
  add_object_array_with_path(obj, name___0, & revs->pending, mode___1, path___6);
  return;
}
}
static void add_pending_object_with_mode(struct rev_info *revs , struct object *obj ,
                                         char const   *name___0 , unsigned int mode___1 )
{


  {
  add_pending_object_with_path(revs, obj, name___0, mode___1, (char const   *)((void *)0));
  return;
}
}
void add_pending_object(struct rev_info *revs , struct object *obj , char const   *name___0 )
{


  {
  add_pending_object_with_mode(revs, obj, name___0, 12288U);
  return;
}
}
void add_head_to_pending(struct rev_info *revs )
{
  struct object_id oid ;
  struct object *obj ;
  int tmp ;

  {
  tmp = repo_get_oid(the_repository, (char const   *)"HEAD", & oid);
  if (tmp) {
    return;
  }
  obj = parse_object(revs->repo, (struct object_id  const  *)(& oid));
  if (! obj) {
    return;
  }
  add_pending_object(revs, obj, (char const   *)"HEAD");
  return;
}
}
static struct object *get_reference(struct rev_info *revs , char const   *name___0 ,
                                    struct object_id  const  *oid , unsigned int flags___0 )
{
  struct object *object ;
  struct commit *commit ;
  int tmp ;

  {
  commit = lookup_commit_in_graph(revs->repo, oid);
  if (commit) {
    object = & commit->object;
  } else {
    object = parse_object(revs->repo, oid);
  }
  if (! object) {
    if (revs->ignore_missing) {
      return (object);
    }
    if (revs->exclude_promisor_objects) {
      tmp = is_promisor_object(oid);
      if (tmp) {
        return ((struct object *)((void *)0));
      }
    }
    die((char const   *)"bad object %s", name___0);
  }
  object->flags |= flags___0;
  return (object);
}
}
void add_pending_oid(struct rev_info *revs , char const   *name___0 , struct object_id  const  *oid ,
                     unsigned int flags___0 )
{
  struct object *object ;
  struct object *tmp ;

  {
  tmp = get_reference(revs, name___0, oid, flags___0);
  object = tmp;
  add_pending_object(revs, object, name___0);
  return;
}
}
static struct commit *handle_commit(struct rev_info *revs , struct object_array_entry *entry )
{
  struct object *object ;
  char const   *name___0 ;
  char const   *path___6 ;
  unsigned int mode___1 ;
  unsigned long flags___0 ;
  struct tag *tag ;
  struct object_id *tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  struct commit *commit ;
  int tmp___2 ;
  int tmp___3 ;
  char **slot ;
  char **tmp___4 ;
  struct tree *tree ;

  {
  object = entry->item;
  name___0 = (char const   *)entry->name;
  path___6 = (char const   *)entry->path;
  mode___1 = entry->mode;
  flags___0 = (unsigned long )object->flags;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (object->type == 4U)) {
      goto while_break;
    }
    tag = (struct tag *)object;
    if (revs->tag_objects) {
      if (! (flags___0 & (unsigned long )(1u << 1))) {
        add_pending_object(revs, object, (char const   *)tag->tag);
      }
    }
    tmp = get_tagged_oid(tag);
    object = parse_object(revs->repo, (struct object_id  const  *)tmp);
    if (! object) {
      if (revs->ignore_missing_links) {
        return ((struct commit *)((void *)0));
      } else
      if (flags___0 & (unsigned long )(1u << 1)) {
        return ((struct commit *)((void *)0));
      }
      if (revs->exclude_promisor_objects) {
        tmp___0 = is_promisor_object((struct object_id  const  *)(& (tag->tagged)->oid));
        if (tmp___0) {
          return ((struct commit *)((void *)0));
        }
      }
      tmp___1 = oid_to_hex((struct object_id  const  *)(& (tag->tagged)->oid));
      die((char const   *)"bad object %s", tmp___1);
    }
    object->flags = (unsigned int )((unsigned long )object->flags | flags___0);
    path___6 = (char const   *)((void *)0);
    mode___1 = 0U;
  }
  while_break: /* CIL Label */ ;
  }
  if (object->type == 1U) {
    commit = (struct commit *)object;
    tmp___2 = repo_parse_commit(revs->repo, commit);
    if (tmp___2 < 0) {
      die((char const   *)"unable to parse commit %s", name___0);
    }
    if (flags___0 & (unsigned long )(1u << 1)) {
      mark_parents_uninteresting(commit);
      if (! revs->topo_order) {
        revs->limited = 1U;
      } else {
        tmp___3 = generation_numbers_enabled(the_repository);
        if (! tmp___3) {
          revs->limited = 1U;
        }
      }
    }
    if (revs->sources) {
      tmp___4 = revision_sources_at(revs->sources, (struct commit  const  *)commit);
      slot = tmp___4;
      if (! *slot) {
        *slot = xstrdup(name___0);
      }
    }
    return (commit);
  }
  if (object->type == 2U) {
    tree = (struct tree *)object;
    if (! revs->tree_objects) {
      return ((struct commit *)((void *)0));
    }
    if (flags___0 & (unsigned long )(1u << 1)) {
      mark_tree_contents_uninteresting(revs->repo, tree);
      return ((struct commit *)((void *)0));
    }
    add_pending_object_with_path(revs, object, name___0, mode___1, path___6);
    return ((struct commit *)((void *)0));
  }
  if (object->type == 3U) {
    if (! revs->blob_objects) {
      return ((struct commit *)((void *)0));
    }
    if (flags___0 & (unsigned long )(1u << 1)) {
      return ((struct commit *)((void *)0));
    }
    add_pending_object_with_path(revs, object, name___0, mode___1, path___6);
    return ((struct commit *)((void *)0));
  }
  die((char const   *)"%s is unknown object", name___0);
}
}
static int everybody_uninteresting(struct commit_list *orig , struct commit **interesting_cache )
{
  struct commit_list *list___3 ;
  struct commit *commit ;
  struct commit *commit___0 ;

  {
  list___3 = orig;
  if (*interesting_cache) {
    commit = *interesting_cache;
    if (! (commit->object.flags & (1u << 1))) {
      return (0);
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    commit___0 = list___3->item;
    list___3 = list___3->next;
    if (commit___0->object.flags & (1u << 1)) {
      goto while_continue;
    }
    *interesting_cache = commit___0;
    return (0);
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
__inline static int relevant_commit(struct commit *commit )
{


  {
  return ((commit->object.flags & ((1u << 1) | (1u << 10))) != 1u << 1);
}
}
static struct commit *one_relevant_parent(struct rev_info  const  *revs , struct commit_list *orig )
{
  struct commit_list *list___3 ;
  struct commit *relevant ;
  struct commit *commit ;
  int tmp ;

  {
  list___3 = orig;
  relevant = (struct commit *)((void *)0);
  if (! orig) {
    return ((struct commit *)((void *)0));
  }
  if (revs->first_parent_only) {
    return (orig->item);
  } else
  if (! orig->next) {
    return (orig->item);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    commit = list___3->item;
    list___3 = list___3->next;
    tmp = relevant_commit(commit);
    if (tmp) {
      if (relevant) {
        return ((struct commit *)((void *)0));
      }
      relevant = commit;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (relevant);
}
}
static int tree_difference  =    0;
static void file_add_remove(struct diff_options *options , int addremove___0 , unsigned int mode___1 ,
                            struct object_id  const  *oid , int oid_valid , char const   *fullpath ,
                            unsigned int dirty_submodule )
{
  int diff ;
  int tmp ;
  struct rev_info *revs ;

  {
  if (addremove___0 == 43) {
    tmp = 1;
  } else {
    tmp = 2;
  }
  diff = tmp;
  revs = (struct rev_info *)options->change_fn_data;
  tree_difference |= diff;
  if (! revs->remove_empty_trees) {
    options->flags.has_changes = 1U;
  } else
  if (tree_difference != 1) {
    options->flags.has_changes = 1U;
  }
  return;
}
}
static void file_change(struct diff_options *options , unsigned int old_mode , unsigned int new_mode ,
                        struct object_id  const  *old_oid , struct object_id  const  *new_oid ,
                        int old_oid_valid , int new_oid_valid , char const   *fullpath ,
                        unsigned int old_dirty_submodule , unsigned int new_dirty_submodule )
{


  {
  tree_difference = 3;
  options->flags.has_changes = 1U;
  return;
}
}
static int bloom_filter_atexit_registered  ;
static unsigned int count_bloom_filter_maybe  ;
static unsigned int count_bloom_filter_definitely_not  ;
static unsigned int count_bloom_filter_false_positive  ;
static unsigned int count_bloom_filter_not_present  ;
static void trace2_bloom_filter_statistics_atexit(void)
{
  struct json_writer jw ;

  {
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  jw_object_begin(& jw, 0);
  jw_object_intmax(& jw, (char const   *)"filter_not_present", (intmax_t )count_bloom_filter_not_present);
  jw_object_intmax(& jw, (char const   *)"maybe", (intmax_t )count_bloom_filter_maybe);
  jw_object_intmax(& jw, (char const   *)"definitely_not", (intmax_t )count_bloom_filter_definitely_not);
  jw_object_intmax(& jw, (char const   *)"false_positive", (intmax_t )count_bloom_filter_false_positive);
  jw_end(& jw);
  trace2_data_json_fl((char const   *)"revision.c", 647, (char const   *)"bloom",
                      (struct repository  const  *)the_repository, (char const   *)"statistics",
                      (struct json_writer  const  *)(& jw));
  jw_release(& jw);
  return;
}
}
static int forbid_bloom_filters(struct pathspec *spec )
{


  {
  if (spec->has_wildcard) {
    return (1);
  }
  if (spec->nr > 1) {
    return (1);
  }
  if (spec->magic & (unsigned int )(~ (1 << 2))) {
    return (1);
  }
  if (spec->nr) {
    if ((spec->items + 0)->magic & (unsigned int )(~ (1 << 2))) {
      return (1);
    }
  }
  return (0);
}
}
static void prepare_to_use_bloom_filter(struct rev_info *revs )
{
  struct pathspec_item *pi ;
  char *path_alloc ;
  char const   *path___6 ;
  char const   *p___0 ;
  size_t len___0 ;
  int path_component_nr ;
  int tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  path_alloc = (char *)((void *)0);
  path_component_nr = 1;
  if (! revs->commits) {
    return;
  }
  tmp = forbid_bloom_filters(& revs->prune_data);
  if (tmp) {
    return;
  }
  repo_parse_commit(revs->repo, (revs->commits)->item);
  revs->bloom_filter_settings = get_bloom_filter_settings(revs->repo);
  if (! revs->bloom_filter_settings) {
    return;
  }
  if (! revs->pruning.pathspec.nr) {
    return;
  }
  pi = revs->pruning.pathspec.items + 0;
  if (pi->len > 0) {
    if ((int )*(pi->match + (pi->len - 1)) == 47) {
      tmp___0 = xmemdupz((void const   *)pi->match, (size_t )(pi->len - 1));
      path_alloc = (char *)tmp___0;
      path___6 = (char const   *)path_alloc;
    } else {
      path___6 = (char const   *)pi->match;
    }
  } else {
    path___6 = (char const   *)pi->match;
  }
  len___0 = strlen(path___6);
  if (! len___0) {
    revs->bloom_filter_settings = (struct bloom_filter_settings *)((void *)0);
    free((void *)path_alloc);
    return;
  }
  p___0 = path___6;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    if ((int const   )*p___0 == 47) {
      path_component_nr ++;
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  revs->bloom_keys_nr = path_component_nr;
  tmp___1 = st_mult(sizeof(*(revs->bloom_keys)), (size_t )revs->bloom_keys_nr);
  tmp___2 = xmalloc(tmp___1);
  revs->bloom_keys = (struct bloom_key *)tmp___2;
  fill_bloom_key(path___6, len___0, revs->bloom_keys + 0, (struct bloom_filter_settings  const  *)revs->bloom_filter_settings);
  path_component_nr = 1;
  p___0 = (path___6 + len___0) - 1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )p___0 > (unsigned long )path___6)) {
      goto while_break___0;
    }
    if ((int const   )*p___0 == 47) {
      tmp___3 = path_component_nr;
      path_component_nr ++;
      fill_bloom_key(path___6, (size_t )(p___0 - path___6), revs->bloom_keys + tmp___3,
                     (struct bloom_filter_settings  const  *)revs->bloom_filter_settings);
    }
    p___0 --;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___4 = trace2_is_enabled();
  if (tmp___4) {
    if (! bloom_filter_atexit_registered) {
      atexit(& trace2_bloom_filter_statistics_atexit);
      bloom_filter_atexit_registered = 1;
    }
  }
  free((void *)path_alloc);
  return;
}
}
static int check_maybe_different_in_bloom_filter(struct rev_info *revs , struct commit *commit )
{
  struct bloom_filter *filter___0 ;
  int result___0 ;
  int j ;
  timestamp_t tmp ;

  {
  result___0 = 1;
  if (! ((revs->repo)->objects)->commit_graph) {
    return (-1);
  }
  tmp = commit_graph_generation((struct commit  const  *)commit);
  if ((unsigned long long )tmp == (1ULL << 63) - 1ULL) {
    return (-1);
  }
  filter___0 = get_or_compute_bloom_filter(revs->repo, commit, 0, (struct bloom_filter_settings  const  *)((void *)0),
                                           (enum bloom_filter_computed *)((void *)0));
  if (! filter___0) {
    count_bloom_filter_not_present ++;
    return (-1);
  }
  j = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (result___0) {
      if (! (j < revs->bloom_keys_nr)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    result___0 = bloom_filter_contains((struct bloom_filter  const  *)filter___0,
                                       (struct bloom_key  const  *)(revs->bloom_keys + j),
                                       (struct bloom_filter_settings  const  *)revs->bloom_filter_settings);
    j ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (result___0) {
    count_bloom_filter_maybe ++;
  } else {
    count_bloom_filter_definitely_not ++;
  }
  return (result___0);
}
}
static int rev_compare_tree(struct rev_info *revs , struct commit *parent , struct commit *commit ,
                            int nth_parent )
{
  struct tree *t1 ;
  struct tree *tmp ;
  struct tree *t2 ;
  struct tree *tmp___0 ;
  int bloom_ret ;
  struct name_decoration  const  *tmp___1 ;

  {
  tmp = repo_get_commit_tree(the_repository, (struct commit  const  *)parent);
  t1 = tmp;
  tmp___0 = repo_get_commit_tree(the_repository, (struct commit  const  *)commit);
  t2 = tmp___0;
  bloom_ret = 1;
  if (! t1) {
    return (1);
  }
  if (! t2) {
    return (2);
  }
  if (revs->simplify_by_decoration) {
    tmp___1 = get_name_decoration((struct object  const  *)(& commit->object));
    if (tmp___1) {
      return (3);
    }
    if (! revs->prune_data.nr) {
      return (0);
    }
  }
  if (revs->bloom_keys_nr) {
    if (! nth_parent) {
      bloom_ret = check_maybe_different_in_bloom_filter(revs, commit);
      if (bloom_ret == 0) {
        return (0);
      }
    }
  }
  tree_difference = 0;
  revs->pruning.flags.has_changes = 0U;
  diff_tree_oid((struct object_id  const  *)(& t1->object.oid), (struct object_id  const  *)(& t2->object.oid),
                (char const   *)"", & revs->pruning);
  if (! nth_parent) {
    if (bloom_ret == 1) {
      if (tree_difference == 0) {
        count_bloom_filter_false_positive ++;
      }
    }
  }
  return (tree_difference);
}
}
static int rev_same_tree_as_empty(struct rev_info *revs , struct commit *commit )
{
  struct tree *t1 ;
  struct tree *tmp ;

  {
  tmp = repo_get_commit_tree(the_repository, (struct commit  const  *)commit);
  t1 = tmp;
  if (! t1) {
    return (0);
  }
  tree_difference = 0;
  revs->pruning.flags.has_changes = 0U;
  diff_tree_oid((struct object_id  const  *)((void *)0), (struct object_id  const  *)(& t1->object.oid),
                (char const   *)"", & revs->pruning);
  return (tree_difference == 0);
}
}
static struct treesame_state *initialise_treesame(struct rev_info *revs , struct commit *commit )
{
  unsigned int n ;
  unsigned int tmp ;
  struct treesame_state *st ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  tmp = commit_list_count((struct commit_list  const  *)commit->parents);
  n = tmp;
  tmp___0 = st_add(sizeof(*st), (size_t )n);
  tmp___1 = xcalloc((size_t )1, tmp___0);
  st = (struct treesame_state *)tmp___1;
  st->nparents = n;
  add_decoration(& revs->treesame, (struct object  const  *)(& commit->object), (void *)st);
  return (st);
}
}
static int compact_treesame(struct rev_info *revs , struct commit *commit , unsigned int nth_parent )
{
  struct treesame_state *st ;
  int old_same ;
  int tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  if (! commit->parents) {
    if (nth_parent != 0U) {
      die((char const   *)"compact_treesame %u", nth_parent);
    }
    old_same = ! (! (commit->object.flags & (1u << 2)));
    tmp = rev_same_tree_as_empty(revs, commit);
    if (tmp) {
      commit->object.flags |= 1u << 2;
    } else {
      commit->object.flags &= ~ (1u << 2);
    }
    return (old_same);
  }
  tmp___0 = lookup_decoration(& revs->treesame, (struct object  const  *)(& commit->object));
  st = (struct treesame_state *)tmp___0;
  if (! st) {
    die((char const   *)"compact_treesame %u", nth_parent);
  } else
  if (nth_parent >= st->nparents) {
    die((char const   *)"compact_treesame %u", nth_parent);
  }
  old_same = (int )st->treesame[nth_parent];
  memmove((void *)(st->treesame + nth_parent), (void const   *)((st->treesame + nth_parent) + 1),
          (size_t )((st->nparents - nth_parent) - 1U));
  (st->nparents) --;
  if (st->nparents == 1U) {
    if ((commit->parents)->next) {
      die((char const   *)"compact_treesame parents mismatch");
    }
    if (st->treesame[0]) {
      if (revs->dense) {
        commit->object.flags |= 1u << 2;
      } else {
        commit->object.flags &= ~ (1u << 2);
      }
    } else {
      commit->object.flags &= ~ (1u << 2);
    }
    tmp___1 = add_decoration(& revs->treesame, (struct object  const  *)(& commit->object),
                             (void *)0);
    free(tmp___1);
  }
  return (old_same);
}
}
static unsigned int update_treesame(struct rev_info *revs , struct commit *commit )
{
  unsigned int n ;
  struct treesame_state *st ;
  struct commit_list *p___0 ;
  unsigned int relevant_parents ;
  unsigned int relevant_change ;
  unsigned int irrelevant_change ;
  void *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  unsigned int tmp___2 ;

  {
  if (commit->parents) {
    if ((commit->parents)->next) {
      tmp = lookup_decoration(& revs->treesame, (struct object  const  *)(& commit->object));
      st = (struct treesame_state *)tmp;
      if (! st) {
        tmp___0 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
        die((char const   *)"update_treesame %s", tmp___0);
      }
      relevant_parents = 0U;
      irrelevant_change = 0U;
      relevant_change = irrelevant_change;
      p___0 = commit->parents;
      n = 0U;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! p___0) {
          goto while_break;
        }
        tmp___1 = relevant_commit(p___0->item);
        if (tmp___1) {
          relevant_change |= (unsigned int )(! st->treesame[n]);
          relevant_parents ++;
        } else {
          irrelevant_change |= (unsigned int )(! st->treesame[n]);
        }
        n ++;
        p___0 = p___0->next;
      }
      while_break: /* CIL Label */ ;
      }
      if (relevant_parents) {
        tmp___2 = relevant_change;
      } else {
        tmp___2 = irrelevant_change;
      }
      if (tmp___2) {
        commit->object.flags &= ~ (1u << 2);
      } else {
        commit->object.flags |= 1u << 2;
      }
    }
  }
  return (commit->object.flags & (1u << 2));
}
}
__inline static int limiting_can_increase_treesame(struct rev_info  const  *revs )
{
  int tmp ;

  {
  if (revs->prune) {
    if (revs->dense) {
      if (! revs->simplify_history) {
        if (! revs->first_parent_only) {
          tmp = 1;
        } else {
          tmp = 0;
        }
      } else {
        tmp = 0;
      }
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static void try_to_simplify_commit(struct rev_info *revs , struct commit *commit )
{
  struct commit_list **pp ;
  struct commit_list *parent ;
  struct treesame_state *ts ;
  int relevant_change ;
  int irrelevant_change ;
  int relevant_parents ;
  int nth_parent ;
  struct tree *tmp ;
  int tmp___0 ;
  struct commit *p___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char *tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  char *tmp___12 ;
  int tmp___13 ;

  {
  ts = (struct treesame_state *)((void *)0);
  relevant_change = 0;
  irrelevant_change = 0;
  if (! revs->prune) {
    return;
  }
  tmp = repo_get_commit_tree(the_repository, (struct commit  const  *)commit);
  if (! tmp) {
    return;
  }
  if (! commit->parents) {
    tmp___0 = rev_same_tree_as_empty(revs, commit);
    if (tmp___0) {
      commit->object.flags |= 1u << 2;
    }
    return;
  }
  if (! revs->dense) {
    if (! (commit->parents)->next) {
      return;
    }
  }
  pp = & commit->parents;
  nth_parent = 0;
  relevant_parents = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    parent = *pp;
    if (! ((unsigned long )parent != (unsigned long )((void *)0))) {
      goto while_break;
    }
    p___0 = parent->item;
    tmp___1 = relevant_commit(p___0);
    if (tmp___1) {
      relevant_parents ++;
    }
    if (nth_parent == 1) {
      if (revs->first_parent_only) {
        goto while_break;
      }
      if (revs->treesame.name) {
        if (! revs->simplify_history) {
          if (! (commit->object.flags & (1u << 1))) {
            ts = initialise_treesame(revs, commit);
            if (! irrelevant_change) {
              if (! relevant_change) {
                ts->treesame[0] = (unsigned char)1;
              }
            }
          }
        }
      }
    }
    tmp___4 = repo_parse_commit(revs->repo, p___0);
    if (tmp___4 < 0) {
      tmp___2 = oid_to_hex((struct object_id  const  *)(& p___0->object.oid));
      tmp___3 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
      die((char const   *)"cannot simplify commit %s (because of %s)", tmp___3, tmp___2);
    }
    tmp___5 = rev_compare_tree(revs, p___0, commit, nth_parent);
    {
    if (tmp___5 == 0) {
      goto case_0;
    }
    if (tmp___5 == 1) {
      goto case_1;
    }
    if (tmp___5 == 3) {
      goto case_3;
    }
    if (tmp___5 == 2) {
      goto case_3;
    }
    goto switch_break;
    case_0: /* CIL Label */
    if (! revs->simplify_history) {
      goto _L;
    } else {
      tmp___6 = relevant_commit(p___0);
      if (! tmp___6) {
        _L: /* CIL Label */
        if (ts) {
          ts->treesame[nth_parent] = (unsigned char)1;
        }
        goto __Cont;
      }
    }
    parent->next = (struct commit_list *)((void *)0);
    commit->parents = parent;
    if (! revs->show_pulls) {
      commit->object.flags |= 1u << 2;
    } else
    if (! nth_parent) {
      commit->object.flags |= 1u << 2;
    }
    return;
    case_1: /* CIL Label */
    if (revs->remove_empty_trees) {
      tmp___10 = rev_same_tree_as_empty(revs, p___0);
      if (tmp___10) {
        tmp___9 = repo_parse_commit(revs->repo, p___0);
        if (tmp___9 < 0) {
          tmp___7 = oid_to_hex((struct object_id  const  *)(& p___0->object.oid));
          tmp___8 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
          die((char const   *)"cannot simplify commit %s (invalid %s)", tmp___8, tmp___7);
        }
        p___0->parents = (struct commit_list *)((void *)0);
      }
    }
    case_3: /* CIL Label */
    case_2: /* CIL Label */
    tmp___11 = relevant_commit(p___0);
    if (tmp___11) {
      relevant_change = 1;
    } else {
      irrelevant_change = 1;
    }
    if (! nth_parent) {
      commit->object.flags |= 1u << 15;
    }
    goto __Cont;
    switch_break: /* CIL Label */ ;
    }
    tmp___12 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    die((char const   *)"bad tree compare for commit %s", tmp___12);
    __Cont: /* CIL Label */
    pp = & parent->next;
    nth_parent ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (relevant_parents) {
    tmp___13 = ! relevant_change;
  } else {
    tmp___13 = ! irrelevant_change;
  }
  if (tmp___13) {
    commit->object.flags |= 1u << 2;
  }
  return;
}
}
static int process_parents(struct rev_info *revs , struct commit *commit , struct commit_list **list___3 ,
                           struct prio_queue *queue )
{
  struct commit_list *parent ;
  unsigned int left_flag ;
  int tmp ;
  struct commit *p___0 ;
  int tmp___0 ;
  struct commit *p___1 ;
  int gently ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char **slot ;
  char **tmp___4 ;
  char **tmp___5 ;

  {
  parent = commit->parents;
  if (commit->object.flags & (1u << 7)) {
    return (0);
  }
  commit->object.flags |= 1u << 7;
  if (revs->include_check) {
    tmp = (*(revs->include_check))(commit, revs->include_check_data);
    if (! tmp) {
      return (0);
    }
  }
  if (commit->object.flags & (1u << 1)) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! parent) {
        goto while_break;
      }
      p___0 = parent->item;
      parent = parent->next;
      if (p___0) {
        p___0->object.flags |= 1u << 1;
      }
      tmp___0 = repo_parse_commit_gently(revs->repo, p___0, 1);
      if (tmp___0 < 0) {
        goto while_continue;
      }
      if (p___0->parents) {
        mark_parents_uninteresting(p___0);
      }
      if (p___0->object.flags & 1u) {
        goto while_continue;
      }
      p___0->object.flags |= 1u | (1u << 25);
      if (list___3) {
        commit_list_insert_by_date(p___0, list___3);
      }
      if (queue) {
        prio_queue_put(queue, (void *)p___0);
      }
    }
    while_break: /* CIL Label */ ;
    }
    return (0);
  }
  try_to_simplify_commit(revs, commit);
  if (revs->no_walk) {
    return (0);
  }
  left_flag = commit->object.flags & (1u << 8);
  parent = commit->parents;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! parent) {
      goto while_break___0;
    }
    p___1 = parent->item;
    if (revs->ignore_missing_links) {
      tmp___1 = 1;
    } else
    if (revs->exclude_promisor_objects) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
    gently = tmp___1;
    tmp___3 = repo_parse_commit_gently(revs->repo, p___1, gently);
    if (tmp___3 < 0) {
      if (revs->exclude_promisor_objects) {
        tmp___2 = is_promisor_object((struct object_id  const  *)(& p___1->object.oid));
        if (tmp___2) {
          if (revs->first_parent_only) {
            goto while_break___0;
          }
          goto __Cont;
        }
      }
      return (-1);
    }
    if (revs->sources) {
      tmp___4 = revision_sources_at(revs->sources, (struct commit  const  *)p___1);
      slot = tmp___4;
      if (! *slot) {
        tmp___5 = revision_sources_at(revs->sources, (struct commit  const  *)commit);
        *slot = *tmp___5;
      }
    }
    p___1->object.flags |= left_flag;
    if (! (p___1->object.flags & 1u)) {
      p___1->object.flags |= 1u | (1u << 25);
      if (list___3) {
        commit_list_insert_by_date(p___1, list___3);
      }
      if (queue) {
        prio_queue_put(queue, (void *)p___1);
      }
    }
    if (revs->first_parent_only) {
      goto while_break___0;
    }
    __Cont: /* CIL Label */
    parent = parent->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (0);
}
}
static void cherry_pick_list(struct commit_list *list___3 , struct rev_info *revs )
{
  struct commit_list *p___0 ;
  int left_count ;
  int right_count ;
  int left_first ;
  struct patch_ids ids ;
  unsigned int cherry_flag ;
  struct commit *commit ;
  unsigned int flags___0 ;
  struct commit *commit___0 ;
  unsigned int flags___1 ;
  struct commit *commit___1 ;
  struct patch_id *id ;
  unsigned int flags___2 ;

  {
  left_count = 0;
  right_count = 0;
  p___0 = list___3;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    commit = p___0->item;
    flags___0 = commit->object.flags;
    if (! (flags___0 & (1u << 5))) {
      if (flags___0 & (1u << 8)) {
        left_count ++;
      } else {
        right_count ++;
      }
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (! left_count) {
    return;
  } else
  if (! right_count) {
    return;
  }
  left_first = left_count < right_count;
  init_patch_ids(revs->repo, & ids);
  ids.diffopts.pathspec = revs->diffopt.pathspec;
  p___0 = list___3;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___0;
    }
    commit___0 = p___0->item;
    flags___1 = commit___0->object.flags;
    if (flags___1 & (1u << 5)) {
      goto __Cont;
    }
    if (left_first != ! (! (flags___1 & (1u << 8)))) {
      goto __Cont;
    }
    add_commit_patch_id(commit___0, & ids);
    __Cont: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (revs->cherry_mark) {
    cherry_flag = 1u << 9;
  } else {
    cherry_flag = 1u << 3;
  }
  p___0 = list___3;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___1;
    }
    commit___1 = p___0->item;
    flags___2 = commit___1->object.flags;
    if (flags___2 & (1u << 5)) {
      goto __Cont___0;
    }
    if (left_first == ! (! (flags___2 & (1u << 8)))) {
      goto __Cont___0;
    }
    id = patch_id_iter_first(commit___1, & ids);
    if (! id) {
      goto __Cont___0;
    }
    commit___1->object.flags |= cherry_flag;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      (id->commit)->object.flags |= cherry_flag;
      id = patch_id_iter_next(id, & ids);
      if (! id) {
        goto while_break___2;
      }
    }
    while_break___2: /* CIL Label */ ;
    }
    __Cont___0: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break___1: /* CIL Label */ ;
  }
  free_patch_ids(& ids);
  return;
}
}
static int still_interesting(struct commit_list *src , timestamp_t date , int slop ,
                             struct commit **interesting_cache )
{
  int tmp ;

  {
  if (! src) {
    return (0);
  }
  if (date <= (src->item)->date) {
    return (5);
  }
  tmp = everybody_uninteresting(src, interesting_cache);
  if (! tmp) {
    return (5);
  }
  return (slop - 1);
}
}
static void limit_to_ancestry(struct commit_list *bottom , struct commit_list *list___3 )
{
  struct commit_list *p___0 ;
  struct commit_list *rlist ;
  int made_progress ;
  struct commit *c___0 ;
  struct commit_list *parents ;
  struct commit *c___1 ;

  {
  rlist = (struct commit_list *)((void *)0);
  p___0 = list___3;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    commit_list_insert(p___0->item, & rlist);
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  p___0 = bottom;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___0;
    }
    (p___0->item)->object.flags |= 1u << 4;
    p___0 = p___0->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    made_progress = 0;
    p___0 = rlist;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! p___0) {
        goto while_break___2;
      }
      c___0 = p___0->item;
      if (c___0->object.flags & ((1u << 4) | (1u << 1))) {
        goto __Cont;
      }
      parents = c___0->parents;
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if (! parents) {
          goto while_break___3;
        }
        if (! ((parents->item)->object.flags & (1u << 4))) {
          goto __Cont___0;
        }
        c___0->object.flags |= 1u << 4;
        made_progress = 1;
        goto while_break___3;
        __Cont___0: /* CIL Label */
        parents = parents->next;
      }
      while_break___3: /* CIL Label */ ;
      }
      __Cont: /* CIL Label */
      p___0 = p___0->next;
    }
    while_break___2: /* CIL Label */ ;
    }
    if (! made_progress) {
      goto while_break___1;
    }
  }
  while_break___1: /* CIL Label */ ;
  }
  p___0 = list___3;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___4;
    }
    c___1 = p___0->item;
    if (c___1->object.flags & (1u << 4)) {
      goto __Cont___1;
    }
    c___1->object.flags |= 1u << 1;
    __Cont___1: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break___4: /* CIL Label */ ;
  }
  p___0 = list___3;
  {
  while (1) {
    while_continue___5: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___5;
    }
    (p___0->item)->object.flags &= ~ (1u << 4);
    p___0 = p___0->next;
  }
  while_break___5: /* CIL Label */ ;
  }
  p___0 = bottom;
  {
  while (1) {
    while_continue___6: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___6;
    }
    (p___0->item)->object.flags &= ~ (1u << 4);
    p___0 = p___0->next;
  }
  while_break___6: /* CIL Label */ ;
  }
  free_commit_list(rlist);
  return;
}
}
static struct commit_list *collect_bottom_commits(struct commit_list *list___3 )
{
  struct commit_list *elem ;
  struct commit_list *bottom ;

  {
  bottom = (struct commit_list *)((void *)0);
  elem = list___3;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! elem) {
      goto while_break;
    }
    if ((elem->item)->object.flags & (1u << 10)) {
      commit_list_insert(elem->item, & bottom);
    }
    elem = elem->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (bottom);
}
}
static void limit_left_right(struct commit_list *list___3 , struct rev_info *revs )
{
  struct commit_list *p___0 ;
  struct commit *commit ;

  {
  p___0 = list___3;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    commit = p___0->item;
    if (revs->right_only) {
      if (commit->object.flags & (1u << 8)) {
        commit->object.flags |= 1u << 3;
      }
    } else
    if (! (commit->object.flags & (1u << 8))) {
      commit->object.flags |= 1u << 3;
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int limit_list(struct rev_info *revs )
{
  int slop ;
  timestamp_t date ;
  struct commit_list *original_list ;
  struct commit_list *newlist ;
  struct commit_list **p___0 ;
  struct commit_list *bottom ;
  struct commit *interesting_cache ;
  struct commit *commit ;
  struct commit *tmp ;
  struct object *obj ;
  void (*show___5)(struct rev_info * , struct commit_list * ) ;
  int tmp___0 ;
  struct commit_list *tmp___1 ;
  struct commit_list *list___3 ;
  struct commit *c___0 ;
  int tmp___2 ;

  {
  slop = 5;
  date = 18446744073709551615UL;
  original_list = revs->commits;
  newlist = (struct commit_list *)((void *)0);
  p___0 = & newlist;
  bottom = (struct commit_list *)((void *)0);
  interesting_cache = (struct commit *)((void *)0);
  if (revs->ancestry_path) {
    bottom = collect_bottom_commits(original_list);
    if (! bottom) {
      die((char const   *)"--ancestry-path given but there are no bottom commits");
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! original_list) {
      goto while_break;
    }
    tmp = pop_commit(& original_list);
    commit = tmp;
    obj = & commit->object;
    if ((unsigned long )commit == (unsigned long )interesting_cache) {
      interesting_cache = (struct commit *)((void *)0);
    }
    if (revs->max_age != 18446744073709551615UL) {
      if (commit->date < revs->max_age) {
        obj->flags |= 1u << 1;
      }
    }
    tmp___0 = process_parents(revs, commit, & original_list, (struct prio_queue *)((void *)0));
    if (tmp___0 < 0) {
      return (-1);
    }
    if (obj->flags & (1u << 1)) {
      mark_parents_uninteresting(commit);
      slop = still_interesting(original_list, date, slop, & interesting_cache);
      if (slop) {
        goto while_continue;
      }
      goto while_break;
    }
    if (revs->min_age != 18446744073709551615UL) {
      if (commit->date > revs->min_age) {
        if (! revs->line_level_traverse) {
          goto while_continue;
        }
      }
    }
    date = commit->date;
    tmp___1 = commit_list_insert(commit, p___0);
    p___0 = & tmp___1->next;
    show___5 = (void (*)(struct rev_info * , struct commit_list * ))show_early_output;
    if (! show___5) {
      goto while_continue;
    }
    (*show___5)(revs, newlist);
    show_early_output = (void (* volatile  )(struct rev_info * , struct commit_list * ))((void *)0);
  }
  while_break: /* CIL Label */ ;
  }
  if (revs->cherry_pick) {
    cherry_pick_list(newlist, revs);
  } else
  if (revs->cherry_mark) {
    cherry_pick_list(newlist, revs);
  }
  if (revs->left_only) {
    limit_left_right(newlist, revs);
  } else
  if (revs->right_only) {
    limit_left_right(newlist, revs);
  }
  if (bottom) {
    limit_to_ancestry(bottom, newlist);
    free_commit_list(bottom);
  }
  tmp___2 = limiting_can_increase_treesame((struct rev_info  const  *)revs);
  if (tmp___2) {
    list___3 = (struct commit_list *)((void *)0);
    list___3 = newlist;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! list___3) {
        goto while_break___0;
      }
      c___0 = list___3->item;
      if (c___0->object.flags & ((1u << 1) | (1u << 2))) {
        goto __Cont;
      }
      update_treesame(revs, c___0);
      __Cont: /* CIL Label */
      list___3 = list___3->next;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  free_commit_list(original_list);
  revs->commits = newlist;
  return (0);
}
}
static void add_rev_cmdline(struct rev_info *revs , struct object *item___0 , char const   *name___0 ,
                            int whence___0 , unsigned int flags___0 )
{
  struct rev_cmdline_info *info___0 ;
  unsigned int nr___0 ;
  size_t tmp ;
  void *tmp___0 ;
  char *tmp___1 ;

  {
  info___0 = & revs->cmdline;
  nr___0 = info___0->nr;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (nr___0 + 1U > info___0->alloc) {
      if (((info___0->alloc + 16U) * 3U) / 2U < nr___0 + 1U) {
        info___0->alloc = nr___0 + 1U;
      } else {
        info___0->alloc = ((info___0->alloc + 16U) * 3U) / 2U;
      }
      tmp = st_mult(sizeof(*(info___0->rev)), (size_t )info___0->alloc);
      tmp___0 = xrealloc((void *)info___0->rev, tmp);
      info___0->rev = (struct rev_cmdline_entry *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  (info___0->rev + nr___0)->item = item___0;
  tmp___1 = xstrdup(name___0);
  (info___0->rev + nr___0)->name = (char const   *)tmp___1;
  (info___0->rev + nr___0)->whence = (enum __anonenum_whence_1004419405 )whence___0;
  (info___0->rev + nr___0)->flags = flags___0;
  (info___0->nr) ++;
  return;
}
}
static void add_rev_cmdline_list(struct rev_info *revs , struct commit_list *commit_list ,
                                 int whence___0 , unsigned int flags___0 )
{
  struct object *object ;
  char *tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! commit_list) {
      goto while_break;
    }
    object = & (commit_list->item)->object;
    tmp = oid_to_hex((struct object_id  const  *)(& object->oid));
    add_rev_cmdline(revs, object, (char const   *)tmp, whence___0, flags___0);
    commit_list = commit_list->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int ref_excluded(struct string_list *ref_excludes___0 , char const   *path___6 )
{
  struct string_list_item *item___0 ;
  int tmp ;

  {
  if (! ref_excludes___0) {
    return (0);
  }
  item___0 = ref_excludes___0->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(ref_excludes___0->items + ref_excludes___0->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = wildmatch((char const   *)item___0->string, path___6, 0U);
    if (! tmp) {
      return (1);
    }
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int handle_one_ref___0(char const   *path___6 , struct object_id  const  *oid ,
                              int flag , void *cb_data )
{
  struct all_refs_cb *cb ;
  struct object *object ;
  int tmp ;

  {
  cb = (struct all_refs_cb *)cb_data;
  tmp = ref_excluded((cb->all_revs)->ref_excludes, path___6);
  if (tmp) {
    return (0);
  }
  object = get_reference(cb->all_revs, path___6, oid, (unsigned int )cb->all_flags);
  add_rev_cmdline(cb->all_revs, object, path___6, 0, (unsigned int )cb->all_flags);
  add_pending_object(cb->all_revs, object, path___6);
  return (0);
}
}
static void init_all_refs_cb(struct all_refs_cb *cb , struct rev_info *revs , unsigned int flags___0 )
{


  {
  cb->all_revs = revs;
  cb->all_flags = (int )flags___0;
  revs->rev_input_given = 1;
  cb->wt = (struct worktree *)((void *)0);
  return;
}
}
void clear_ref_exclusion(struct string_list **ref_excludes_p )
{


  {
  if (*ref_excludes_p) {
    string_list_clear(*ref_excludes_p, 0);
    free((void *)*ref_excludes_p);
  }
  *ref_excludes_p = (struct string_list *)((void *)0);
  return;
}
}
void add_ref_exclusion(struct string_list **ref_excludes_p , char const   *exclude )
{
  void *tmp ;

  {
  if (! *ref_excludes_p) {
    tmp = xcalloc((size_t )1, sizeof(*(*ref_excludes_p)));
    *ref_excludes_p = (struct string_list *)tmp;
    (*ref_excludes_p)->strdup_strings = 1U;
  }
  string_list_append(*ref_excludes_p, exclude);
  return;
}
}
static void handle_refs(struct ref_store *refs___0 , struct rev_info *revs , unsigned int flags___0 ,
                        int (*for_each)(struct ref_store * , each_ref_fn * , void * ) )
{
  struct all_refs_cb cb ;

  {
  if (! refs___0) {
    return;
  }
  init_all_refs_cb(& cb, revs, flags___0);
  (*for_each)(refs___0, & handle_one_ref___0, (void *)(& cb));
  return;
}
}
static void handle_one_reflog_commit(struct object_id *oid , void *cb_data )
{
  struct all_refs_cb *cb ;
  struct object *o ;
  struct object *tmp ;
  int tmp___0 ;

  {
  cb = (struct all_refs_cb *)cb_data;
  tmp___0 = is_null_oid((struct object_id  const  *)oid);
  if (! tmp___0) {
    tmp = parse_object((cb->all_revs)->repo, (struct object_id  const  *)oid);
    o = tmp;
    if (o) {
      o->flags |= (unsigned int )cb->all_flags;
      add_pending_object(cb->all_revs, o, (char const   *)"");
    } else
    if (! cb->warned_bad_reflog) {
      warning((char const   *)"reflog of \'%s\' references pruned commits", cb->name_for_errormsg);
      cb->warned_bad_reflog = 1;
    }
  }
  return;
}
}
static int handle_one_reflog_ent(struct object_id *ooid , struct object_id *noid ,
                                 char const   *email , timestamp_t timestamp___0 ,
                                 int tz , char const   *message___0 , void *cb_data )
{


  {
  handle_one_reflog_commit(ooid, cb_data);
  handle_one_reflog_commit(noid, cb_data);
  return (0);
}
}
static int handle_one_reflog(char const   *refname_in_wt , struct object_id  const  *oid ,
                             int flag , void *cb_data )
{
  struct all_refs_cb *cb ;
  struct strbuf refname ;
  struct ref_store *tmp ;

  {
  cb = (struct all_refs_cb *)cb_data;
  refname.alloc = 0UL;
  refname.len = 0UL;
  refname.buf = strbuf_slopbuf;
  cb->warned_bad_reflog = 0;
  strbuf_worktree_ref((struct worktree  const  *)cb->wt, & refname, refname_in_wt);
  cb->name_for_errormsg = (char const   *)refname.buf;
  tmp = get_main_ref_store(the_repository);
  refs_for_each_reflog_ent(tmp, (char const   *)refname.buf, & handle_one_reflog_ent,
                           cb_data);
  strbuf_release(& refname);
  return (0);
}
}
static void add_other_reflogs_to_pending(struct all_refs_cb *cb )
{
  struct worktree **worktrees ;
  struct worktree **p___0 ;
  struct worktree *wt ;
  struct ref_store *tmp ;

  {
  worktrees = get_worktrees();
  p___0 = worktrees;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    wt = *p___0;
    if (wt->is_current) {
      goto __Cont;
    }
    cb->wt = wt;
    tmp = get_worktree_ref_store((struct worktree  const  *)wt);
    refs_for_each_reflog(tmp, & handle_one_reflog, (void *)cb);
    __Cont: /* CIL Label */
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  free_worktrees(worktrees);
  return;
}
}
void add_reflogs_to_pending(struct rev_info *revs , unsigned int flags___0 )
{
  struct all_refs_cb cb ;

  {
  cb.all_revs = revs;
  cb.all_flags = (int )flags___0;
  cb.wt = (struct worktree *)((void *)0);
  for_each_reflog(& handle_one_reflog, (void *)(& cb));
  if (! revs->single_worktree) {
    add_other_reflogs_to_pending(& cb);
  }
  return;
}
}
static void add_cache_tree(struct cache_tree *it , struct rev_info *revs , struct strbuf *path___6 ,
                           unsigned int flags___0 )
{
  size_t baselen ;
  int i ;
  struct tree *tree ;
  struct tree *tmp ;
  struct cache_tree_sub *sub ;
  char *tmp___0 ;

  {
  baselen = path___6->len;
  if (it->entry_count >= 0) {
    tmp = lookup_tree(revs->repo, (struct object_id  const  *)(& it->oid));
    tree = tmp;
    tree->object.flags |= flags___0;
    add_pending_object_with_path(revs, & tree->object, (char const   *)"", 16384U,
                                 (char const   *)path___6->buf);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < it->subtree_nr)) {
      goto while_break;
    }
    sub = *(it->down + i);
    if (baselen) {
      tmp___0 = "/";
    } else {
      tmp___0 = "";
    }
    strbuf_addf(path___6, (char const   *)"%s%s", tmp___0, sub->name);
    add_cache_tree(sub->cache_tree, revs, path___6, flags___0);
    strbuf_setlen(path___6, baselen);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void do_add_index_objects_to_pending(struct rev_info *revs , struct index_state *istate ,
                                            unsigned int flags___0 )
{
  int i ;
  struct cache_entry *ce ;
  struct blob *blob ;
  struct strbuf path___6 ;

  {
  ensure_full_index(istate);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    ce = *(istate->cache + i);
    if ((ce->ce_mode & 61440U) == 57344U) {
      goto __Cont;
    }
    blob = lookup_blob(revs->repo, (struct object_id  const  *)(& ce->oid));
    if (! blob) {
      die((char const   *)"unable to add index blob to traversal");
    }
    blob->object.flags |= flags___0;
    add_pending_object_with_path(revs, & blob->object, (char const   *)"", ce->ce_mode,
                                 (char const   *)(ce->name));
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (istate->cache_tree) {
    path___6.alloc = 0UL;
    path___6.len = 0UL;
    path___6.buf = strbuf_slopbuf;
    add_cache_tree(istate->cache_tree, revs, & path___6, flags___0);
    strbuf_release(& path___6);
  }
  return;
}
}
void add_index_objects_to_pending(struct rev_info *revs , unsigned int flags___0 )
{
  struct worktree **worktrees ;
  struct worktree **p___0 ;
  struct worktree *wt ;
  struct index_state istate ;
  char const   *tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  repo_read_index(revs->repo);
  do_add_index_objects_to_pending(revs, (revs->repo)->index, flags___0);
  if (revs->single_worktree) {
    return;
  }
  worktrees = get_worktrees();
  p___0 = worktrees;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    wt = *p___0;
    istate.cache = (struct cache_entry **)((void *)0);
    istate.version = 0U;
    istate.cache_nr = 0U;
    istate.cache_alloc = 0U;
    istate.cache_changed = 0U;
    istate.resolve_undo = (struct string_list *)0;
    istate.cache_tree = (struct cache_tree *)0;
    istate.split_index = (struct split_index *)0;
    istate.timestamp.sec = 0U;
    istate.timestamp.nsec = 0U;
    istate.name_hash_initialized = 0U;
    istate.initialized = 0U;
    istate.drop_cache_tree = 0U;
    istate.updated_workdir = 0U;
    istate.updated_skipworktree = 0U;
    istate.fsmonitor_has_run_once = 0U;
    istate.sparse_index = 0U;
    istate.name_hash.table = (struct hashmap_entry **)0;
    istate.name_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                      struct hashmap_entry  const  *entry_or_key ,
                                      void const   *keydata ))0;
    istate.name_hash.cmpfn_data = (void const   *)0;
    istate.name_hash.private_size = 0U;
    istate.name_hash.tablesize = 0U;
    istate.name_hash.grow_at = 0U;
    istate.name_hash.shrink_at = 0U;
    istate.name_hash.do_count_items = 0U;
    istate.dir_hash.table = (struct hashmap_entry **)0;
    istate.dir_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                     struct hashmap_entry  const  *entry_or_key ,
                                     void const   *keydata ))0;
    istate.dir_hash.cmpfn_data = (void const   *)0;
    istate.dir_hash.private_size = 0U;
    istate.dir_hash.tablesize = 0U;
    istate.dir_hash.grow_at = 0U;
    istate.dir_hash.shrink_at = 0U;
    istate.dir_hash.do_count_items = 0U;
    istate.oid.hash[0] = (unsigned char)0;
    istate.oid.hash[1] = (unsigned char)0;
    istate.oid.hash[2] = (unsigned char)0;
    istate.oid.hash[3] = (unsigned char)0;
    istate.oid.hash[4] = (unsigned char)0;
    istate.oid.hash[5] = (unsigned char)0;
    istate.oid.hash[6] = (unsigned char)0;
    istate.oid.hash[7] = (unsigned char)0;
    istate.oid.hash[8] = (unsigned char)0;
    istate.oid.hash[9] = (unsigned char)0;
    istate.oid.hash[10] = (unsigned char)0;
    istate.oid.hash[11] = (unsigned char)0;
    istate.oid.hash[12] = (unsigned char)0;
    istate.oid.hash[13] = (unsigned char)0;
    istate.oid.hash[14] = (unsigned char)0;
    istate.oid.hash[15] = (unsigned char)0;
    istate.oid.hash[16] = (unsigned char)0;
    istate.oid.hash[17] = (unsigned char)0;
    istate.oid.hash[18] = (unsigned char)0;
    istate.oid.hash[19] = (unsigned char)0;
    istate.oid.hash[20] = (unsigned char)0;
    istate.oid.hash[21] = (unsigned char)0;
    istate.oid.hash[22] = (unsigned char)0;
    istate.oid.hash[23] = (unsigned char)0;
    istate.oid.hash[24] = (unsigned char)0;
    istate.oid.hash[25] = (unsigned char)0;
    istate.oid.hash[26] = (unsigned char)0;
    istate.oid.hash[27] = (unsigned char)0;
    istate.oid.hash[28] = (unsigned char)0;
    istate.oid.hash[29] = (unsigned char)0;
    istate.oid.hash[30] = (unsigned char)0;
    istate.oid.hash[31] = (unsigned char)0;
    istate.oid.algo = 0;
    istate.untracked = (struct untracked_cache *)0;
    istate.fsmonitor_last_update = (char *)0;
    istate.fsmonitor_dirty = (struct ewah_bitmap *)0;
    istate.ce_mem_pool = (struct mem_pool *)0;
    istate.progress = (struct progress *)0;
    istate.repo = (struct repository *)0;
    istate.sparse_checkout_patterns = (struct pattern_list *)0;
    if (wt->is_current) {
      goto __Cont;
    }
    tmp = get_worktree_git_dir((struct worktree  const  *)wt);
    tmp___0 = worktree_git_path((struct worktree  const  *)wt, (char const   *)"index");
    tmp___1 = read_index_from(& istate, tmp___0, tmp);
    if (tmp___1 > 0) {
      do_add_index_objects_to_pending(revs, & istate, flags___0);
    }
    discard_index(& istate);
    __Cont: /* CIL Label */
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  free_worktrees(worktrees);
  return;
}
}
static void add_one_alternate_ref(struct object_id  const  *oid , void *vdata )
{
  char const   *name___0 ;
  struct add_alternate_refs_data *data ;
  struct object *obj ;

  {
  name___0 = (char const   *)".alternate";
  data = (struct add_alternate_refs_data *)vdata;
  obj = get_reference(data->revs, name___0, oid, data->flags);
  add_rev_cmdline(data->revs, obj, name___0, 5, data->flags);
  add_pending_object(data->revs, obj, name___0);
  return;
}
}
static void add_alternate_refs_to_pending(struct rev_info *revs , unsigned int flags___0 )
{
  struct add_alternate_refs_data data ;

  {
  data.revs = revs;
  data.flags = flags___0;
  for_each_alternate_ref(& add_one_alternate_ref, (void *)(& data));
  return;
}
}
static int add_parents_only(struct rev_info *revs , char const   *arg_ , int flags___0 ,
                            int exclude_parent )
{
  struct object_id oid ;
  struct object *it ;
  struct commit *commit ;
  struct commit_list *parents ;
  int parent_number ;
  char const   *arg ;
  int tmp ;
  unsigned int tmp___0 ;

  {
  arg = arg_;
  if ((int const   )*arg == 94) {
    flags___0 = (int )((unsigned int )flags___0 ^ ((1u << 1) | (1u << 10)));
    arg ++;
  }
  tmp = repo_get_oid_committish(the_repository, arg, & oid);
  if (tmp) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    it = get_reference(revs, arg, (struct object_id  const  *)(& oid), 0U);
    if (! it) {
      if (revs->ignore_missing) {
        return (0);
      }
    }
    if (it->type != 4U) {
      goto while_break;
    }
    if (! ((struct tag *)it)->tagged) {
      return (0);
    }
    oidcpy(& oid, (struct object_id  const  *)(& (((struct tag *)it)->tagged)->oid));
  }
  while_break: /* CIL Label */ ;
  }
  if (it->type != 1U) {
    return (0);
  }
  commit = (struct commit *)it;
  if (exclude_parent) {
    tmp___0 = commit_list_count((struct commit_list  const  *)commit->parents);
    if ((unsigned int )exclude_parent > tmp___0) {
      return (0);
    }
  }
  parents = commit->parents;
  parent_number = 1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! parents) {
      goto while_break___0;
    }
    if (exclude_parent) {
      if (parent_number != exclude_parent) {
        goto __Cont;
      }
    }
    it = & (parents->item)->object;
    it->flags |= (unsigned int )flags___0;
    add_rev_cmdline(revs, it, arg_, 1, (unsigned int )flags___0);
    add_pending_object(revs, it, arg);
    __Cont: /* CIL Label */
    parents = parents->next;
    parent_number ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (1);
}
}
void repo_init_revisions(struct repository *r , struct rev_info *revs , char const   *prefix___1 )
{
  size_t tmp ;

  {
  memset((void *)revs, 0, sizeof(*revs));
  revs->repo = r;
  revs->abbrev = (unsigned int )default_abbrev;
  revs->simplify_history = 1U;
  revs->pruning.repo = r;
  revs->pruning.flags.recursive = 1U;
  revs->pruning.flags.quick = 1U;
  revs->pruning.add_remove = & file_add_remove;
  revs->pruning.change = & file_change;
  revs->pruning.change_fn_data = (void *)revs;
  revs->sort_order = (enum rev_sort_order )0;
  revs->dense = 1U;
  revs->prefix = prefix___1;
  revs->max_age = (timestamp_t )-1;
  revs->min_age = (timestamp_t )-1;
  revs->skip_count = -1;
  revs->max_count = -1;
  revs->max_parents = -1;
  revs->expand_tabs_in_log = -1;
  revs->commit_format = (enum cmit_fmt )1;
  revs->expand_tabs_in_log_default = 8;
  grep_init(& revs->grep_filter, revs->repo, prefix___1);
  revs->grep_filter.status_only = 1;
  repo_diff_setup(revs->repo, & revs->diffopt);
  if (prefix___1) {
    if (! revs->diffopt.prefix) {
      revs->diffopt.prefix = prefix___1;
      tmp = strlen(prefix___1);
      revs->diffopt.prefix_length = (int )tmp;
    }
  }
  init_display_notes(& revs->notes_opt);
  return;
}
}
static void add_pending_commit_list(struct rev_info *revs , struct commit_list *commit_list ,
                                    unsigned int flags___0 )
{
  struct object *object ;
  char *tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! commit_list) {
      goto while_break;
    }
    object = & (commit_list->item)->object;
    object->flags |= flags___0;
    tmp = oid_to_hex((struct object_id  const  *)(& object->oid));
    add_pending_object(revs, object, (char const   *)tmp);
    commit_list = commit_list->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void prepare_show_merge(struct rev_info *revs )
{
  struct commit_list *bases ;
  struct commit *head___1 ;
  struct commit *other ;
  struct object_id oid ;
  char const   **prune___4 ;
  int i ;
  int prune_num ;
  struct index_state *istate ;
  int tmp ;
  int tmp___0 ;
  struct cache_entry  const  *ce ;
  size_t tmp___1 ;
  void *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  prune___4 = (char const   **)((void *)0);
  prune_num = 1;
  istate = (revs->repo)->index;
  tmp = repo_get_oid(the_repository, (char const   *)"HEAD", & oid);
  if (tmp) {
    die((char const   *)"--merge without HEAD?");
  }
  head___1 = lookup_commit_or_die((struct object_id  const  *)(& oid), (char const   *)"HEAD");
  tmp___0 = repo_get_oid(the_repository, (char const   *)"MERGE_HEAD", & oid);
  if (tmp___0) {
    die((char const   *)"--merge without MERGE_HEAD?");
  }
  other = lookup_commit_or_die((struct object_id  const  *)(& oid), (char const   *)"MERGE_HEAD");
  add_pending_object(revs, & head___1->object, (char const   *)"HEAD");
  add_pending_object(revs, & other->object, (char const   *)"MERGE_HEAD");
  bases = repo_get_merge_bases(the_repository, head___1, other);
  add_rev_cmdline_list(revs, bases, 4, (1u << 1) | (1u << 10));
  add_pending_commit_list(revs, bases, (1u << 1) | (1u << 10));
  free_commit_list(bases);
  head___1->object.flags |= 1u << 8;
  if (! istate->cache_nr) {
    repo_read_index(revs->repo);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    ce = (struct cache_entry  const  *)*(istate->cache + i);
    if (! ((12288U & ce->ce_flags) >> 12)) {
      goto __Cont;
    }
    tmp___3 = ce_path_match(istate, ce, (struct pathspec  const  *)(& revs->prune_data),
                            (char *)((void *)0));
    if (tmp___3) {
      prune_num ++;
      tmp___1 = st_mult(sizeof(*prune___4), (size_t )prune_num);
      tmp___2 = xrealloc((void *)prune___4, tmp___1);
      prune___4 = (char const   **)tmp___2;
      *(prune___4 + (prune_num - 2)) = (char const   *)(ce->name);
      *(prune___4 + (prune_num - 1)) = (char const   *)((void *)0);
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if ((unsigned int )(i + 1) < istate->cache_nr) {
        tmp___4 = ce_same_name(ce, (struct cache_entry  const  *)*(istate->cache + (i + 1)));
        if (! tmp___4) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_pathspec(& revs->prune_data);
  parse_pathspec(& revs->prune_data, (unsigned int )(((((((1 | (1 << 1)) | (1 << 2)) | (1 << 3)) | (1 << 4)) | (1 << 5)) | (1 << 6)) & ~ (1 << 2)),
                 (unsigned int )((1 << 1) | (1 << 6)), (char const   *)"", prune___4);
  revs->limited = 1U;
  return;
}
}
static int dotdot_missing(char const   *arg , char *dotdot , struct rev_info *revs ,
                          int symmetric )
{
  char *tmp ;

  {
  if (revs->ignore_missing) {
    return (0);
  }
  *dotdot = (char )'.';
  if (symmetric) {
    tmp = "Invalid symmetric difference expression %s";
  } else {
    tmp = "Invalid revision range %s";
  }
  die((char const   *)tmp, arg);
}
}
static int handle_dotdot_1(char const   *arg , char *dotdot , struct rev_info *revs ,
                           int flags___0 , int cant_be_filename , struct object_context *a_oc ,
                           struct object_context *b_oc )
{
  char const   *a_name___0 ;
  char const   *b_name___0 ;
  struct object_id a_oid ;
  struct object_id b_oid ;
  struct object *a_obj ;
  struct object *b_obj ;
  unsigned int a_flags ;
  unsigned int b_flags ;
  int symmetric ;
  unsigned int flags_exclude ;
  unsigned int oc_flags ;
  enum get_oid_result tmp ;
  enum get_oid_result tmp___0 ;
  int tmp___1 ;
  struct commit *a ;
  struct commit *b___0 ;
  struct commit_list *exclude ;
  int tmp___2 ;

  {
  symmetric = 0;
  flags_exclude = (unsigned int )flags___0 ^ ((1u << 1) | (1u << 10));
  oc_flags = 132U;
  a_name___0 = arg;
  if (! *a_name___0) {
    a_name___0 = (char const   *)"HEAD";
  }
  b_name___0 = (char const   *)(dotdot + 2);
  if ((int const   )*b_name___0 == 46) {
    symmetric = 1;
    b_name___0 ++;
  }
  if (! *b_name___0) {
    b_name___0 = (char const   *)"HEAD";
  }
  tmp = get_oid_with_context(revs->repo, a_name___0, oc_flags, & a_oid, a_oc);
  if (tmp) {
    return (-1);
  } else {
    tmp___0 = get_oid_with_context(revs->repo, b_name___0, oc_flags, & b_oid, b_oc);
    if (tmp___0) {
      return (-1);
    }
  }
  if (! cant_be_filename) {
    *dotdot = (char )'.';
    verify_non_filename(revs->prefix, arg);
    *dotdot = (char )'\000';
  }
  a_obj = parse_object(revs->repo, (struct object_id  const  *)(& a_oid));
  b_obj = parse_object(revs->repo, (struct object_id  const  *)(& b_oid));
  if (! a_obj) {
    tmp___1 = dotdot_missing(arg, dotdot, revs, symmetric);
    return (tmp___1);
  } else
  if (! b_obj) {
    tmp___1 = dotdot_missing(arg, dotdot, revs, symmetric);
    return (tmp___1);
  }
  if (! symmetric) {
    b_flags = (unsigned int )flags___0;
    a_flags = flags_exclude;
  } else {
    a = lookup_commit_reference(revs->repo, (struct object_id  const  *)(& a_obj->oid));
    b___0 = lookup_commit_reference(revs->repo, (struct object_id  const  *)(& b_obj->oid));
    if (! a) {
      tmp___2 = dotdot_missing(arg, dotdot, revs, symmetric);
      return (tmp___2);
    } else
    if (! b___0) {
      tmp___2 = dotdot_missing(arg, dotdot, revs, symmetric);
      return (tmp___2);
    }
    exclude = repo_get_merge_bases(the_repository, a, b___0);
    add_rev_cmdline_list(revs, exclude, 4, flags_exclude);
    add_pending_commit_list(revs, exclude, flags_exclude);
    free_commit_list(exclude);
    b_flags = (unsigned int )flags___0;
    a_flags = (unsigned int )flags___0 | (1u << 8);
  }
  a_obj->flags |= a_flags;
  b_obj->flags |= b_flags;
  add_rev_cmdline(revs, a_obj, a_name___0, 2, a_flags);
  add_rev_cmdline(revs, b_obj, b_name___0, 3, b_flags);
  add_pending_object_with_path(revs, a_obj, a_name___0, (unsigned int )a_oc->mode,
                               (char const   *)a_oc->path);
  add_pending_object_with_path(revs, b_obj, b_name___0, (unsigned int )b_oc->mode,
                               (char const   *)b_oc->path);
  return (0);
}
}
static int handle_dotdot(char const   *arg , struct rev_info *revs , int flags___0 ,
                         int cant_be_filename )
{
  struct object_context a_oc ;
  struct object_context b_oc ;
  char *dotdot ;
  char *tmp ;
  int ret___67 ;

  {
  tmp = strstr(arg, (char const   *)"..");
  dotdot = tmp;
  if (! dotdot) {
    return (-1);
  }
  memset((void *)(& a_oc), 0, sizeof(a_oc));
  memset((void *)(& b_oc), 0, sizeof(b_oc));
  *dotdot = (char )'\000';
  ret___67 = handle_dotdot_1(arg, dotdot, revs, flags___0, cant_be_filename, & a_oc,
                             & b_oc);
  *dotdot = (char )'.';
  free((void *)a_oc.path);
  free((void *)b_oc.path);
  return (ret___67);
}
}
static int handle_revision_arg_1(char const   *arg_ , struct rev_info *revs , int flags___0 ,
                                 unsigned int revarg_opt )
{
  struct object_context oc ;
  char *mark ;
  struct object *object ;
  struct object_id oid ;
  int local_flags ;
  char const   *arg ;
  int cant_be_filename ;
  unsigned int get_sha1_flags ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int exclude_parent ;
  char *end ;
  unsigned long tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  enum get_oid_result tmp___6 ;
  int tmp___7 ;

  {
  arg = arg_;
  cant_be_filename = (int )(revarg_opt & 1U);
  get_sha1_flags = 128U;
  if ((unsigned int )flags___0 & (1u << 1)) {
    flags___0 = (int )((unsigned int )flags___0 | (1u << 10));
  } else {
    flags___0 = (int )((unsigned int )flags___0 & ~ (1u << 10));
  }
  if (! cant_be_filename) {
    tmp = strcmp(arg, (char const   *)"..");
    if (! tmp) {
      return (-1);
    }
  }
  tmp___0 = handle_dotdot(arg, revs, flags___0, (int )revarg_opt);
  if (! tmp___0) {
    return (0);
  }
  mark = strstr(arg, (char const   *)"^@");
  if (mark) {
    if (! *(mark + 2)) {
      *mark = (char)0;
      tmp___1 = add_parents_only(revs, arg, flags___0, 0);
      if (tmp___1) {
        return (0);
      }
      *mark = (char )'^';
    }
  }
  mark = strstr(arg, (char const   *)"^!");
  if (mark) {
    if (! *(mark + 2)) {
      *mark = (char)0;
      tmp___2 = add_parents_only(revs, arg, (int )((unsigned int )flags___0 ^ ((1u << 1) | (1u << 10))),
                                 0);
      if (! tmp___2) {
        *mark = (char )'^';
      }
    }
  }
  mark = strstr(arg, (char const   *)"^-");
  if (mark) {
    exclude_parent = 1;
    if (*(mark + 2)) {
      tmp___3 = strtoul((char const   * __restrict  )(mark + 2), (char ** __restrict  )(& end),
                        10);
      exclude_parent = (int )tmp___3;
      if ((int )*end != 0) {
        return (-1);
      } else
      if (! exclude_parent) {
        return (-1);
      }
    }
    *mark = (char)0;
    tmp___4 = add_parents_only(revs, arg, (int )((unsigned int )flags___0 ^ ((1u << 1) | (1u << 10))),
                               exclude_parent);
    if (! tmp___4) {
      *mark = (char )'^';
    }
  }
  local_flags = 0;
  if ((int const   )*arg == 94) {
    local_flags = (int )((1u << 1) | (1u << 10));
    arg ++;
  }
  if (revarg_opt & 2U) {
    get_sha1_flags |= 4U;
  }
  tmp___6 = get_oid_with_context(revs->repo, arg, get_sha1_flags, & oid, & oc);
  if (tmp___6) {
    if (revs->ignore_missing) {
      tmp___5 = 0;
    } else {
      tmp___5 = -1;
    }
    return (tmp___5);
  }
  if (! cant_be_filename) {
    verify_non_filename(revs->prefix, arg);
  }
  object = get_reference(revs, arg, (struct object_id  const  *)(& oid), (unsigned int )(flags___0 ^ local_flags));
  if (! object) {
    if (revs->ignore_missing) {
      tmp___7 = 0;
    } else {
      tmp___7 = -1;
    }
    return (tmp___7);
  }
  add_rev_cmdline(revs, object, arg_, 5, (unsigned int )(flags___0 ^ local_flags));
  add_pending_object_with_path(revs, object, arg, (unsigned int )oc.mode, (char const   *)oc.path);
  free((void *)oc.path);
  return (0);
}
}
int handle_revision_arg(char const   *arg , struct rev_info *revs , int flags___0 ,
                        unsigned int revarg_opt )
{
  int ret___67 ;
  int tmp ;

  {
  tmp = handle_revision_arg_1(arg, revs, flags___0, revarg_opt);
  ret___67 = tmp;
  if (! ret___67) {
    revs->rev_input_given = 1;
  }
  return (ret___67);
}
}
static void read_pathspec_from_stdin(struct strbuf *sb___6 , struct strvec *prune___4 )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = strbuf_getline(sb___6, stdin);
    if (! (tmp != -1)) {
      goto while_break;
    }
    strvec_push(prune___4, (char const   *)sb___6->buf);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void read_revisions_from_stdin(struct rev_info *revs , struct strvec *prune___4 )
{
  struct strbuf sb___6 ;
  int seen_dashdash ;
  int save_warning ;
  int len___0 ;
  int tmp ;
  int tmp___0 ;

  {
  seen_dashdash = 0;
  save_warning = warn_on_object_refname_ambiguity;
  warn_on_object_refname_ambiguity = 0;
  strbuf_init(& sb___6, (size_t )1000);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = strbuf_getline(& sb___6, stdin);
    if (! (tmp___0 != -1)) {
      goto while_break;
    }
    len___0 = (int )sb___6.len;
    if (! len___0) {
      goto while_break;
    }
    if ((int )*(sb___6.buf + 0) == 45) {
      if (len___0 == 2) {
        if ((int )*(sb___6.buf + 1) == 45) {
          seen_dashdash = 1;
          goto while_break;
        }
      }
      die((char const   *)"options not supported in --stdin mode");
    }
    tmp = handle_revision_arg((char const   *)sb___6.buf, revs, 0, 1U);
    if (tmp) {
      die((char const   *)"bad revision \'%s\'", sb___6.buf);
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (seen_dashdash) {
    read_pathspec_from_stdin(& sb___6, prune___4);
  }
  strbuf_release(& sb___6);
  warn_on_object_refname_ambiguity = save_warning;
  return;
}
}
static void add_grep(struct rev_info *revs , char const   *ptn , enum grep_pat_token what )
{


  {
  append_grep_pattern(& revs->grep_filter, ptn, (char const   *)"command line", 0,
                      what);
  return;
}
}
static void add_header_grep(struct rev_info *revs , enum grep_header_field field ,
                            char const   *pattern___0 )
{


  {
  append_header_grep_pattern(& revs->grep_filter, field, pattern___0);
  return;
}
}
static void add_message_grep(struct rev_info *revs , char const   *pattern___0 )
{


  {
  add_grep(revs, pattern___0, (enum grep_pat_token )2);
  return;
}
}
static int handle_revision_opt(struct rev_info *revs , int argc , char const   **argv___0 ,
                               int *unkc , char const   **unkv , struct setup_revision_opt  const  *opt___0 )
{
  char const   *arg ;
  char const   *optarg___0 ;
  int argcount ;
  unsigned int hexsz ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  char const __attribute__((__format_arg__(1)))  *tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  char const __attribute__((__format_arg__(1)))  *tmp___26 ;
  char const __attribute__((__format_arg__(1)))  *tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;
  int val ;
  int tmp___30 ;
  char *tmp___31 ;
  int tmp___32 ;
  unsigned long tmp___33 ;
  char *tmp___34 ;
  int tmp___35 ;
  int opts___1 ;
  int tmp___36 ;
  int tmp___37 ;
  int tmp___38 ;
  int tmp___39 ;
  int tmp___40 ;
  int tmp___41 ;
  int tmp___42 ;
  int tmp___43 ;
  int tmp___44 ;
  int tmp___45 ;
  int tmp___46 ;
  int tmp___47 ;
  int tmp___48 ;
  int tmp___49 ;
  int tmp___50 ;
  int tmp___51 ;
  int tmp___52 ;
  int tmp___53 ;
  int tmp___54 ;
  int tmp___55 ;
  int tmp___56 ;
  int tmp___57 ;
  int tmp___58 ;
  int tmp___59 ;
  int tmp___60 ;
  int tmp___61 ;
  int tmp___62 ;
  int tmp___63 ;
  int tmp___64 ;
  int tmp___65 ;
  int tmp___66 ;
  int tmp___67 ;
  int tmp___68 ;
  int tmp___69 ;
  int tmp___70 ;
  int tmp___71 ;
  int tmp___72 ;
  int tmp___73 ;
  int tmp___74 ;
  int tmp___75 ;
  int tmp___76 ;
  int tmp___77 ;
  int tmp___78 ;
  int tmp___79 ;
  int tmp___80 ;
  int tmp___81 ;
  int tmp___82 ;
  int tmp___83 ;
  int tmp___84 ;
  int tmp___85 ;
  int tmp___86 ;
  int tmp___87 ;
  int tmp___88 ;
  int tmp___89 ;
  int tmp___90 ;
  int tmp___91 ;
  int tmp___92 ;
  int tmp___93 ;
  int tmp___94 ;
  int tmp___95 ;
  int tmp___96 ;
  int tmp___97 ;
  int tmp___98 ;
  int tmp___99 ;
  int tmp___100 ;
  int tmp___101 ;
  int tmp___102 ;
  int tmp___103 ;
  int tmp___104 ;
  int tmp___105 ;
  int tmp___106 ;
  int tmp___107 ;
  int tmp___108 ;
  int tmp___109 ;
  int tmp___110 ;
  int tmp___111 ;
  int tmp___112 ;
  int tmp___113 ;
  int tmp___114 ;
  int tmp___115 ;
  int tmp___116 ;
  int tmp___117 ;
  int tmp___118 ;
  int tmp___119 ;
  int tmp___120 ;
  int tmp___121 ;
  int tmp___122 ;
  int tmp___123 ;
  int tmp___124 ;
  int tmp___125 ;
  int tmp___126 ;
  int tmp___127 ;
  int tmp___128 ;
  int tmp___129 ;
  int tmp___130 ;
  int tmp___131 ;
  char const __attribute__((__format_arg__(1)))  *tmp___132 ;

  {
  arg = *(argv___0 + 0);
  hexsz = (unsigned int )(the_repository->hash_algo)->hexsz;
  tmp___0 = strcmp(arg, (char const   *)"--all");
  if (tmp___0) {
    tmp___1 = strcmp(arg, (char const   *)"--branches");
    if (tmp___1) {
      tmp___2 = strcmp(arg, (char const   *)"--tags");
      if (tmp___2) {
        tmp___3 = strcmp(arg, (char const   *)"--remotes");
        if (tmp___3) {
          tmp___4 = strcmp(arg, (char const   *)"--reflog");
          if (tmp___4) {
            tmp___5 = strcmp(arg, (char const   *)"--not");
            if (tmp___5) {
              tmp___6 = strcmp(arg, (char const   *)"--no-walk");
              if (tmp___6) {
                tmp___7 = strcmp(arg, (char const   *)"--do-walk");
                if (tmp___7) {
                  tmp___8 = strcmp(arg, (char const   *)"--bisect");
                  if (tmp___8) {
                    tmp___9 = starts_with(arg, (char const   *)"--glob=");
                    if (tmp___9) {
                      tmp = *unkc;
                      (*unkc) ++;
                      *(unkv + tmp) = arg;
                      return (1);
                    } else {
                      tmp___10 = strcmp(arg, (char const   *)"--indexed-objects");
                      if (tmp___10) {
                        tmp___11 = strcmp(arg, (char const   *)"--alternate-refs");
                        if (tmp___11) {
                          tmp___12 = starts_with(arg, (char const   *)"--exclude=");
                          if (tmp___12) {
                            tmp = *unkc;
                            (*unkc) ++;
                            *(unkv + tmp) = arg;
                            return (1);
                          } else {
                            tmp___13 = starts_with(arg, (char const   *)"--branches=");
                            if (tmp___13) {
                              tmp = *unkc;
                              (*unkc) ++;
                              *(unkv + tmp) = arg;
                              return (1);
                            } else {
                              tmp___14 = starts_with(arg, (char const   *)"--tags=");
                              if (tmp___14) {
                                tmp = *unkc;
                                (*unkc) ++;
                                *(unkv + tmp) = arg;
                                return (1);
                              } else {
                                tmp___15 = starts_with(arg, (char const   *)"--remotes=");
                                if (tmp___15) {
                                  tmp = *unkc;
                                  (*unkc) ++;
                                  *(unkv + tmp) = arg;
                                  return (1);
                                } else {
                                  tmp___16 = starts_with(arg, (char const   *)"--no-walk=");
                                  if (tmp___16) {
                                    tmp = *unkc;
                                    (*unkc) ++;
                                    *(unkv + tmp) = arg;
                                    return (1);
                                  }
                                }
                              }
                            }
                          }
                        } else {
                          tmp = *unkc;
                          (*unkc) ++;
                          *(unkv + tmp) = arg;
                          return (1);
                        }
                      } else {
                        tmp = *unkc;
                        (*unkc) ++;
                        *(unkv + tmp) = arg;
                        return (1);
                      }
                    }
                  } else {
                    tmp = *unkc;
                    (*unkc) ++;
                    *(unkv + tmp) = arg;
                    return (1);
                  }
                } else {
                  tmp = *unkc;
                  (*unkc) ++;
                  *(unkv + tmp) = arg;
                  return (1);
                }
              } else {
                tmp = *unkc;
                (*unkc) ++;
                *(unkv + tmp) = arg;
                return (1);
              }
            } else {
              tmp = *unkc;
              (*unkc) ++;
              *(unkv + tmp) = arg;
              return (1);
            }
          } else {
            tmp = *unkc;
            (*unkc) ++;
            *(unkv + tmp) = arg;
            return (1);
          }
        } else {
          tmp = *unkc;
          (*unkc) ++;
          *(unkv + tmp) = arg;
          return (1);
        }
      } else {
        tmp = *unkc;
        (*unkc) ++;
        *(unkv + tmp) = arg;
        return (1);
      }
    } else {
      tmp = *unkc;
      (*unkc) ++;
      *(unkv + tmp) = arg;
      return (1);
    }
  } else {
    tmp = *unkc;
    (*unkc) ++;
    *(unkv + tmp) = arg;
    return (1);
  }
  argcount = parse_long_opt((char const   *)"max-count", argv___0, & optarg___0);
  if (argcount) {
    revs->max_count = atoi(optarg___0);
    revs->no_walk = 0U;
    return (argcount);
  } else {
    argcount = parse_long_opt((char const   *)"skip", argv___0, & optarg___0);
    if (argcount) {
      revs->skip_count = atoi(optarg___0);
      return (argcount);
    } else
    if ((int const   )*arg == 45) {
      if (((int const   )sane_ctype[(unsigned char )*(arg + 1)] & 2) != 0) {
        tmp___17 = strtol_i(arg + 1, 10, & revs->max_count);
        if (tmp___17 < 0) {
          die((char const   *)"\'%s\': not a non-negative integer", arg + 1);
        } else
        if (revs->max_count < 0) {
          die((char const   *)"\'%s\': not a non-negative integer", arg + 1);
        }
        revs->no_walk = 0U;
      } else {
        goto _L___2;
      }
    } else {
      _L___2: /* CIL Label */
      tmp___131 = strcmp(arg, (char const   *)"-n");
      if (tmp___131) {
        tmp___130 = skip_prefix(arg, (char const   *)"-n", & optarg___0);
        if (tmp___130) {
          revs->max_count = atoi(optarg___0);
          revs->no_walk = 0U;
        } else {
          argcount = parse_long_opt((char const   *)"max-age", argv___0, & optarg___0);
          if (argcount) {
            tmp___19 = atoi(optarg___0);
            revs->max_age = (timestamp_t )tmp___19;
            return (argcount);
          } else {
            argcount = parse_long_opt((char const   *)"since", argv___0, & optarg___0);
            if (argcount) {
              revs->max_age = approxidate_careful(optarg___0, (int *)((void *)0));
              return (argcount);
            } else {
              argcount = parse_long_opt((char const   *)"after", argv___0, & optarg___0);
              if (argcount) {
                revs->max_age = approxidate_careful(optarg___0, (int *)((void *)0));
                return (argcount);
              } else {
                argcount = parse_long_opt((char const   *)"min-age", argv___0, & optarg___0);
                if (argcount) {
                  tmp___20 = atoi(optarg___0);
                  revs->min_age = (timestamp_t )tmp___20;
                  return (argcount);
                } else {
                  argcount = parse_long_opt((char const   *)"before", argv___0, & optarg___0);
                  if (argcount) {
                    revs->min_age = approxidate_careful(optarg___0, (int *)((void *)0));
                    return (argcount);
                  } else {
                    argcount = parse_long_opt((char const   *)"until", argv___0, & optarg___0);
                    if (argcount) {
                      revs->min_age = approxidate_careful(optarg___0, (int *)((void *)0));
                      return (argcount);
                    } else {
                      tmp___129 = strcmp(arg, (char const   *)"--first-parent");
                      if (tmp___129) {
                        tmp___128 = strcmp(arg, (char const   *)"--ancestry-path");
                        if (tmp___128) {
                          tmp___126 = strcmp(arg, (char const   *)"-g");
                          if (tmp___126) {
                            tmp___127 = strcmp(arg, (char const   *)"--walk-reflogs");
                            if (tmp___127) {
                              tmp___125 = strcmp(arg, (char const   *)"--default");
                              if (tmp___125) {
                                tmp___124 = strcmp(arg, (char const   *)"--merge");
                                if (tmp___124) {
                                  tmp___123 = strcmp(arg, (char const   *)"--topo-order");
                                  if (tmp___123) {
                                    tmp___122 = strcmp(arg, (char const   *)"--simplify-merges");
                                    if (tmp___122) {
                                      tmp___121 = strcmp(arg, (char const   *)"--simplify-by-decoration");
                                      if (tmp___121) {
                                        tmp___120 = strcmp(arg, (char const   *)"--date-order");
                                        if (tmp___120) {
                                          tmp___119 = strcmp(arg, (char const   *)"--author-date-order");
                                          if (tmp___119) {
                                            tmp___118 = strcmp(arg, (char const   *)"--early-output");
                                            if (tmp___118) {
                                              tmp___117 = skip_prefix(arg, (char const   *)"--early-output=",
                                                                      & optarg___0);
                                              if (tmp___117) {
                                                tmp___22 = strtoul_ui(optarg___0,
                                                                      10, & revs->early_output);
                                                if (tmp___22 < 0) {
                                                  die((char const   *)"\'%s\': not a non-negative integer",
                                                      optarg___0);
                                                }
                                                revs->topo_order = 1U;
                                              } else {
                                                tmp___116 = strcmp(arg, (char const   *)"--parents");
                                                if (tmp___116) {
                                                  tmp___115 = strcmp(arg, (char const   *)"--dense");
                                                  if (tmp___115) {
                                                    tmp___114 = strcmp(arg, (char const   *)"--sparse");
                                                    if (tmp___114) {
                                                      tmp___113 = strcmp(arg, (char const   *)"--in-commit-order");
                                                      if (tmp___113) {
                                                        tmp___112 = strcmp(arg, (char const   *)"--remove-empty");
                                                        if (tmp___112) {
                                                          tmp___111 = strcmp(arg,
                                                                             (char const   *)"--merges");
                                                          if (tmp___111) {
                                                            tmp___110 = strcmp(arg,
                                                                               (char const   *)"--no-merges");
                                                            if (tmp___110) {
                                                              tmp___109 = skip_prefix(arg,
                                                                                      (char const   *)"--min-parents=",
                                                                                      & optarg___0);
                                                              if (tmp___109) {
                                                                revs->min_parents = atoi(optarg___0);
                                                              } else {
                                                                tmp___108 = strcmp(arg,
                                                                                   (char const   *)"--no-min-parents");
                                                                if (tmp___108) {
                                                                  tmp___107 = skip_prefix(arg,
                                                                                          (char const   *)"--max-parents=",
                                                                                          & optarg___0);
                                                                  if (tmp___107) {
                                                                    revs->max_parents = atoi(optarg___0);
                                                                  } else {
                                                                    tmp___106 = strcmp(arg,
                                                                                       (char const   *)"--no-max-parents");
                                                                    if (tmp___106) {
                                                                      tmp___105 = strcmp(arg,
                                                                                         (char const   *)"--boundary");
                                                                      if (tmp___105) {
                                                                        tmp___104 = strcmp(arg,
                                                                                           (char const   *)"--left-right");
                                                                        if (tmp___104) {
                                                                          tmp___103 = strcmp(arg,
                                                                                             (char const   *)"--left-only");
                                                                          if (tmp___103) {
                                                                            tmp___102 = strcmp(arg,
                                                                                               (char const   *)"--right-only");
                                                                            if (tmp___102) {
                                                                              tmp___101 = strcmp(arg,
                                                                                                 (char const   *)"--cherry");
                                                                              if (tmp___101) {
                                                                                tmp___100 = strcmp(arg,
                                                                                                   (char const   *)"--count");
                                                                                if (tmp___100) {
                                                                                  tmp___99 = strcmp(arg,
                                                                                                    (char const   *)"--cherry-mark");
                                                                                  if (tmp___99) {
                                                                                    tmp___98 = strcmp(arg,
                                                                                                      (char const   *)"--cherry-pick");
                                                                                    if (tmp___98) {
                                                                                      tmp___97 = strcmp(arg,
                                                                                                        (char const   *)"--objects");
                                                                                      if (tmp___97) {
                                                                                        tmp___96 = strcmp(arg,
                                                                                                          (char const   *)"--objects-edge");
                                                                                        if (tmp___96) {
                                                                                          tmp___95 = strcmp(arg,
                                                                                                            (char const   *)"--objects-edge-aggressive");
                                                                                          if (tmp___95) {
                                                                                            tmp___94 = strcmp(arg,
                                                                                                              (char const   *)"--verify-objects");
                                                                                            if (tmp___94) {
                                                                                              tmp___93 = strcmp(arg,
                                                                                                                (char const   *)"--unpacked");
                                                                                              if (tmp___93) {
                                                                                                tmp___92 = starts_with(arg,
                                                                                                                       (char const   *)"--unpacked=");
                                                                                                if (tmp___92) {
                                                                                                  tmp___27 = _((char const   *)"--unpacked=<packfile> no longer supported");
                                                                                                  die((char const   *)tmp___27);
                                                                                                } else {
                                                                                                  tmp___91 = strcmp(arg,
                                                                                                                    (char const   *)"--no-kept-objects");
                                                                                                  if (tmp___91) {
                                                                                                    tmp___90 = skip_prefix(arg,
                                                                                                                           (char const   *)"--no-kept-objects=",
                                                                                                                           & optarg___0);
                                                                                                    if (tmp___90) {
                                                                                                      revs->no_kept_objects = 1U;
                                                                                                      tmp___28 = strcmp(optarg___0,
                                                                                                                        (char const   *)"in-core");
                                                                                                      if (! tmp___28) {
                                                                                                        revs->keep_pack_cache_flags |= 2U;
                                                                                                      }
                                                                                                      tmp___29 = strcmp(optarg___0,
                                                                                                                        (char const   *)"on-disk");
                                                                                                      if (! tmp___29) {
                                                                                                        revs->keep_pack_cache_flags |= 1U;
                                                                                                      }
                                                                                                    } else {
                                                                                                      tmp___89 = strcmp(arg,
                                                                                                                        (char const   *)"-r");
                                                                                                      if (tmp___89) {
                                                                                                        tmp___88 = strcmp(arg,
                                                                                                                          (char const   *)"-t");
                                                                                                        if (tmp___88) {
                                                                                                          argcount = diff_merges_parse_opts(revs,
                                                                                                                                            argv___0);
                                                                                                          if (argcount) {
                                                                                                            return (argcount);
                                                                                                          } else {
                                                                                                            tmp___87 = strcmp(arg,
                                                                                                                              (char const   *)"-v");
                                                                                                            if (tmp___87) {
                                                                                                              tmp___86 = strcmp(arg,
                                                                                                                                (char const   *)"--pretty");
                                                                                                              if (tmp___86) {
                                                                                                                tmp___84 = skip_prefix(arg,
                                                                                                                                       (char const   *)"--pretty=",
                                                                                                                                       & optarg___0);
                                                                                                                if (tmp___84) {
                                                                                                                  revs->verbose_header = 1U;
                                                                                                                  revs->pretty_given = 1U;
                                                                                                                  get_commit_format(optarg___0,
                                                                                                                                    revs);
                                                                                                                } else {
                                                                                                                  tmp___85 = skip_prefix(arg,
                                                                                                                                         (char const   *)"--format=",
                                                                                                                                         & optarg___0);
                                                                                                                  if (tmp___85) {
                                                                                                                    revs->verbose_header = 1U;
                                                                                                                    revs->pretty_given = 1U;
                                                                                                                    get_commit_format(optarg___0,
                                                                                                                                      revs);
                                                                                                                  } else {
                                                                                                                    tmp___83 = strcmp(arg,
                                                                                                                                      (char const   *)"--expand-tabs");
                                                                                                                    if (tmp___83) {
                                                                                                                      tmp___82 = strcmp(arg,
                                                                                                                                        (char const   *)"--no-expand-tabs");
                                                                                                                      if (tmp___82) {
                                                                                                                        tmp___81 = skip_prefix(arg,
                                                                                                                                               (char const   *)"--expand-tabs=",
                                                                                                                                               & arg);
                                                                                                                        if (tmp___81) {
                                                                                                                          tmp___30 = strtol_i(arg,
                                                                                                                                              10,
                                                                                                                                              & val);
                                                                                                                          if (tmp___30 < 0) {
                                                                                                                            die((char const   *)"\'%s\': not a non-negative integer",
                                                                                                                                arg);
                                                                                                                          } else
                                                                                                                          if (val < 0) {
                                                                                                                            die((char const   *)"\'%s\': not a non-negative integer",
                                                                                                                                arg);
                                                                                                                          }
                                                                                                                          revs->expand_tabs_in_log = val;
                                                                                                                        } else {
                                                                                                                          tmp___79 = strcmp(arg,
                                                                                                                                            (char const   *)"--show-notes");
                                                                                                                          if (tmp___79) {
                                                                                                                            tmp___80 = strcmp(arg,
                                                                                                                                              (char const   *)"--notes");
                                                                                                                            if (tmp___80) {
                                                                                                                              tmp___78 = strcmp(arg,
                                                                                                                                                (char const   *)"--show-signature");
                                                                                                                              if (tmp___78) {
                                                                                                                                tmp___77 = strcmp(arg,
                                                                                                                                                  (char const   *)"--no-show-signature");
                                                                                                                                if (tmp___77) {
                                                                                                                                  tmp___76 = strcmp(arg,
                                                                                                                                                    (char const   *)"--show-linear-break");
                                                                                                                                  if (tmp___76) {
                                                                                                                                    tmp___75 = skip_prefix(arg,
                                                                                                                                                           (char const   *)"--show-linear-break=",
                                                                                                                                                           & optarg___0);
                                                                                                                                    if (tmp___75) {
                                                                                                                                      tmp___31 = xstrdup(optarg___0);
                                                                                                                                      revs->break_bar = (char const   *)tmp___31;
                                                                                                                                      revs->track_linear = 1U;
                                                                                                                                      revs->track_first_time = 1U;
                                                                                                                                    } else {
                                                                                                                                      tmp___73 = skip_prefix(arg,
                                                                                                                                                             (char const   *)"--show-notes=",
                                                                                                                                                             & optarg___0);
                                                                                                                                      if (tmp___73) {
                                                                                                                                        goto _L___1;
                                                                                                                                      } else {
                                                                                                                                        tmp___74 = skip_prefix(arg,
                                                                                                                                                               (char const   *)"--notes=",
                                                                                                                                                               & optarg___0);
                                                                                                                                        if (tmp___74) {
                                                                                                                                          _L___1: /* CIL Label */
                                                                                                                                          tmp___32 = starts_with(arg,
                                                                                                                                                                 (char const   *)"--show-notes=");
                                                                                                                                          if (tmp___32) {
                                                                                                                                            if (revs->notes_opt.use_default_notes < 0) {
                                                                                                                                              revs->notes_opt.use_default_notes = 1;
                                                                                                                                            }
                                                                                                                                          }
                                                                                                                                          enable_ref_display_notes(& revs->notes_opt,
                                                                                                                                                                   & revs->show_notes,
                                                                                                                                                                   optarg___0);
                                                                                                                                          revs->show_notes_given = 1U;
                                                                                                                                        } else {
                                                                                                                                          tmp___72 = strcmp(arg,
                                                                                                                                                            (char const   *)"--no-notes");
                                                                                                                                          if (tmp___72) {
                                                                                                                                            tmp___71 = strcmp(arg,
                                                                                                                                                              (char const   *)"--standard-notes");
                                                                                                                                            if (tmp___71) {
                                                                                                                                              tmp___70 = strcmp(arg,
                                                                                                                                                                (char const   *)"--no-standard-notes");
                                                                                                                                              if (tmp___70) {
                                                                                                                                                tmp___69 = strcmp(arg,
                                                                                                                                                                  (char const   *)"--oneline");
                                                                                                                                                if (tmp___69) {
                                                                                                                                                  tmp___68 = strcmp(arg,
                                                                                                                                                                    (char const   *)"--graph");
                                                                                                                                                  if (tmp___68) {
                                                                                                                                                    tmp___67 = strcmp(arg,
                                                                                                                                                                      (char const   *)"--encode-email-headers");
                                                                                                                                                    if (tmp___67) {
                                                                                                                                                      tmp___66 = strcmp(arg,
                                                                                                                                                                        (char const   *)"--no-encode-email-headers");
                                                                                                                                                      if (tmp___66) {
                                                                                                                                                        tmp___65 = strcmp(arg,
                                                                                                                                                                          (char const   *)"--root");
                                                                                                                                                        if (tmp___65) {
                                                                                                                                                          tmp___64 = strcmp(arg,
                                                                                                                                                                            (char const   *)"--no-commit-id");
                                                                                                                                                          if (tmp___64) {
                                                                                                                                                            tmp___63 = strcmp(arg,
                                                                                                                                                                              (char const   *)"--always");
                                                                                                                                                            if (tmp___63) {
                                                                                                                                                              tmp___62 = strcmp(arg,
                                                                                                                                                                                (char const   *)"--no-abbrev");
                                                                                                                                                              if (tmp___62) {
                                                                                                                                                                tmp___61 = strcmp(arg,
                                                                                                                                                                                  (char const   *)"--abbrev");
                                                                                                                                                                if (tmp___61) {
                                                                                                                                                                  tmp___60 = skip_prefix(arg,
                                                                                                                                                                                         (char const   *)"--abbrev=",
                                                                                                                                                                                         & optarg___0);
                                                                                                                                                                  if (tmp___60) {
                                                                                                                                                                    tmp___33 = strtoul((char const   * __restrict  )optarg___0,
                                                                                                                                                                                       (char ** __restrict  )((void *)0),
                                                                                                                                                                                       10);
                                                                                                                                                                    revs->abbrev = (unsigned int )tmp___33;
                                                                                                                                                                    if (revs->abbrev < (unsigned int )minimum_abbrev) {
                                                                                                                                                                      revs->abbrev = (unsigned int )minimum_abbrev;
                                                                                                                                                                    } else
                                                                                                                                                                    if (revs->abbrev > (unsigned int )hexsz) {
                                                                                                                                                                      revs->abbrev = (unsigned int )hexsz;
                                                                                                                                                                    }
                                                                                                                                                                  } else {
                                                                                                                                                                    tmp___59 = strcmp(arg,
                                                                                                                                                                                      (char const   *)"--abbrev-commit");
                                                                                                                                                                    if (tmp___59) {
                                                                                                                                                                      tmp___58 = strcmp(arg,
                                                                                                                                                                                        (char const   *)"--no-abbrev-commit");
                                                                                                                                                                      if (tmp___58) {
                                                                                                                                                                        tmp___57 = strcmp(arg,
                                                                                                                                                                                          (char const   *)"--full-diff");
                                                                                                                                                                        if (tmp___57) {
                                                                                                                                                                          tmp___56 = strcmp(arg,
                                                                                                                                                                                            (char const   *)"--show-pulls");
                                                                                                                                                                          if (tmp___56) {
                                                                                                                                                                            tmp___55 = strcmp(arg,
                                                                                                                                                                                              (char const   *)"--full-history");
                                                                                                                                                                            if (tmp___55) {
                                                                                                                                                                              tmp___54 = strcmp(arg,
                                                                                                                                                                                                (char const   *)"--relative-date");
                                                                                                                                                                              if (tmp___54) {
                                                                                                                                                                                argcount = parse_long_opt((char const   *)"date",
                                                                                                                                                                                                          argv___0,
                                                                                                                                                                                                          & optarg___0);
                                                                                                                                                                                if (argcount) {
                                                                                                                                                                                  parse_date_format(optarg___0,
                                                                                                                                                                                                    & revs->date_mode);
                                                                                                                                                                                  revs->date_mode_explicit = 1U;
                                                                                                                                                                                  return (argcount);
                                                                                                                                                                                } else {
                                                                                                                                                                                  tmp___53 = strcmp(arg,
                                                                                                                                                                                                    (char const   *)"--log-size");
                                                                                                                                                                                  if (tmp___53) {
                                                                                                                                                                                    argcount = parse_long_opt((char const   *)"author",
                                                                                                                                                                                                              argv___0,
                                                                                                                                                                                                              & optarg___0);
                                                                                                                                                                                    if (argcount) {
                                                                                                                                                                                      add_header_grep(revs,
                                                                                                                                                                                                      (enum grep_header_field )0,
                                                                                                                                                                                                      optarg___0);
                                                                                                                                                                                      return (argcount);
                                                                                                                                                                                    } else {
                                                                                                                                                                                      argcount = parse_long_opt((char const   *)"committer",
                                                                                                                                                                                                                argv___0,
                                                                                                                                                                                                                & optarg___0);
                                                                                                                                                                                      if (argcount) {
                                                                                                                                                                                        add_header_grep(revs,
                                                                                                                                                                                                        (enum grep_header_field )1,
                                                                                                                                                                                                        optarg___0);
                                                                                                                                                                                        return (argcount);
                                                                                                                                                                                      } else {
                                                                                                                                                                                        argcount = parse_long_opt((char const   *)"grep-reflog",
                                                                                                                                                                                                                  argv___0,
                                                                                                                                                                                                                  & optarg___0);
                                                                                                                                                                                        if (argcount) {
                                                                                                                                                                                          add_header_grep(revs,
                                                                                                                                                                                                          (enum grep_header_field )2,
                                                                                                                                                                                                          optarg___0);
                                                                                                                                                                                          return (argcount);
                                                                                                                                                                                        } else {
                                                                                                                                                                                          argcount = parse_long_opt((char const   *)"grep",
                                                                                                                                                                                                                    argv___0,
                                                                                                                                                                                                                    & optarg___0);
                                                                                                                                                                                          if (argcount) {
                                                                                                                                                                                            add_message_grep(revs,
                                                                                                                                                                                                             optarg___0);
                                                                                                                                                                                            return (argcount);
                                                                                                                                                                                          } else {
                                                                                                                                                                                            tmp___52 = strcmp(arg,
                                                                                                                                                                                                              (char const   *)"--basic-regexp");
                                                                                                                                                                                            if (tmp___52) {
                                                                                                                                                                                              tmp___50 = strcmp(arg,
                                                                                                                                                                                                                (char const   *)"--extended-regexp");
                                                                                                                                                                                              if (tmp___50) {
                                                                                                                                                                                                tmp___51 = strcmp(arg,
                                                                                                                                                                                                                  (char const   *)"-E");
                                                                                                                                                                                                if (tmp___51) {
                                                                                                                                                                                                  tmp___48 = strcmp(arg,
                                                                                                                                                                                                                    (char const   *)"--regexp-ignore-case");
                                                                                                                                                                                                  if (tmp___48) {
                                                                                                                                                                                                    tmp___49 = strcmp(arg,
                                                                                                                                                                                                                      (char const   *)"-i");
                                                                                                                                                                                                    if (tmp___49) {
                                                                                                                                                                                                      tmp___46 = strcmp(arg,
                                                                                                                                                                                                                        (char const   *)"--fixed-strings");
                                                                                                                                                                                                      if (tmp___46) {
                                                                                                                                                                                                        tmp___47 = strcmp(arg,
                                                                                                                                                                                                                          (char const   *)"-F");
                                                                                                                                                                                                        if (tmp___47) {
                                                                                                                                                                                                          tmp___44 = strcmp(arg,
                                                                                                                                                                                                                            (char const   *)"--perl-regexp");
                                                                                                                                                                                                          if (tmp___44) {
                                                                                                                                                                                                            tmp___45 = strcmp(arg,
                                                                                                                                                                                                                              (char const   *)"-P");
                                                                                                                                                                                                            if (tmp___45) {
                                                                                                                                                                                                              tmp___43 = strcmp(arg,
                                                                                                                                                                                                                                (char const   *)"--all-match");
                                                                                                                                                                                                              if (tmp___43) {
                                                                                                                                                                                                                tmp___42 = strcmp(arg,
                                                                                                                                                                                                                                  (char const   *)"--invert-grep");
                                                                                                                                                                                                                if (tmp___42) {
                                                                                                                                                                                                                  argcount = parse_long_opt((char const   *)"encoding",
                                                                                                                                                                                                                                            argv___0,
                                                                                                                                                                                                                                            & optarg___0);
                                                                                                                                                                                                                  if (argcount) {
                                                                                                                                                                                                                    tmp___35 = strcmp(optarg___0,
                                                                                                                                                                                                                                      (char const   *)"none");
                                                                                                                                                                                                                    if (tmp___35) {
                                                                                                                                                                                                                      tmp___34 = xstrdup(optarg___0);
                                                                                                                                                                                                                      git_log_output_encoding = (char const   *)tmp___34;
                                                                                                                                                                                                                    } else {
                                                                                                                                                                                                                      git_log_output_encoding = (char const   *)"";
                                                                                                                                                                                                                    }
                                                                                                                                                                                                                    return (argcount);
                                                                                                                                                                                                                  } else {
                                                                                                                                                                                                                    tmp___41 = strcmp(arg,
                                                                                                                                                                                                                                      (char const   *)"--reverse");
                                                                                                                                                                                                                    if (tmp___41) {
                                                                                                                                                                                                                      tmp___40 = strcmp(arg,
                                                                                                                                                                                                                                        (char const   *)"--children");
                                                                                                                                                                                                                      if (tmp___40) {
                                                                                                                                                                                                                        tmp___39 = strcmp(arg,
                                                                                                                                                                                                                                          (char const   *)"--ignore-missing");
                                                                                                                                                                                                                        if (tmp___39) {
                                                                                                                                                                                                                          if (opt___0) {
                                                                                                                                                                                                                            if (opt___0->allow_exclude_promisor_objects) {
                                                                                                                                                                                                                              tmp___38 = strcmp(arg,
                                                                                                                                                                                                                                                (char const   *)"--exclude-promisor-objects");
                                                                                                                                                                                                                              if (tmp___38) {
                                                                                                                                                                                                                                goto _L___0;
                                                                                                                                                                                                                              } else {
                                                                                                                                                                                                                                if (fetch_if_missing) {
                                                                                                                                                                                                                                  BUG_fl((char const   *)"revision.c",
                                                                                                                                                                                                                                         2518,
                                                                                                                                                                                                                                         (char const   *)"exclude_promisor_objects can only be used when fetch_if_missing is 0");
                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                revs->exclude_promisor_objects = 1U;
                                                                                                                                                                                                                              }
                                                                                                                                                                                                                            } else {
                                                                                                                                                                                                                              goto _L___0;
                                                                                                                                                                                                                            }
                                                                                                                                                                                                                          } else {
                                                                                                                                                                                                                            _L___0: /* CIL Label */
                                                                                                                                                                                                                            _L: /* CIL Label */
                                                                                                                                                                                                                            tmp___36 = diff_opt_parse(& revs->diffopt,
                                                                                                                                                                                                                                                      argv___0,
                                                                                                                                                                                                                                                      argc,
                                                                                                                                                                                                                                                      revs->prefix);
                                                                                                                                                                                                                            opts___1 = tmp___36;
                                                                                                                                                                                                                            if (! opts___1) {
                                                                                                                                                                                                                              tmp___37 = *unkc;
                                                                                                                                                                                                                              (*unkc) ++;
                                                                                                                                                                                                                              *(unkv + tmp___37) = arg;
                                                                                                                                                                                                                            }
                                                                                                                                                                                                                            return (opts___1);
                                                                                                                                                                                                                          }
                                                                                                                                                                                                                        } else {
                                                                                                                                                                                                                          revs->ignore_missing = 1U;
                                                                                                                                                                                                                        }
                                                                                                                                                                                                                      } else {
                                                                                                                                                                                                                        revs->children.name = (char const   *)"children";
                                                                                                                                                                                                                        revs->limited = 1U;
                                                                                                                                                                                                                      }
                                                                                                                                                                                                                    } else {
                                                                                                                                                                                                                      revs->reverse ^= 1U;
                                                                                                                                                                                                                    }
                                                                                                                                                                                                                  }
                                                                                                                                                                                                                } else {
                                                                                                                                                                                                                  revs->grep_filter.no_body_match = 1;
                                                                                                                                                                                                                }
                                                                                                                                                                                                              } else {
                                                                                                                                                                                                                revs->grep_filter.all_match = 1;
                                                                                                                                                                                                              }
                                                                                                                                                                                                            } else {
                                                                                                                                                                                                              revs->grep_filter.pattern_type_option = 4;
                                                                                                                                                                                                            }
                                                                                                                                                                                                          } else {
                                                                                                                                                                                                            revs->grep_filter.pattern_type_option = 4;
                                                                                                                                                                                                          }
                                                                                                                                                                                                        } else {
                                                                                                                                                                                                          revs->grep_filter.pattern_type_option = 3;
                                                                                                                                                                                                        }
                                                                                                                                                                                                      } else {
                                                                                                                                                                                                        revs->grep_filter.pattern_type_option = 3;
                                                                                                                                                                                                      }
                                                                                                                                                                                                    } else {
                                                                                                                                                                                                      revs->grep_filter.ignore_case = 1;
                                                                                                                                                                                                      revs->diffopt.pickaxe_opts |= 32U;
                                                                                                                                                                                                    }
                                                                                                                                                                                                  } else {
                                                                                                                                                                                                    revs->grep_filter.ignore_case = 1;
                                                                                                                                                                                                    revs->diffopt.pickaxe_opts |= 32U;
                                                                                                                                                                                                  }
                                                                                                                                                                                                } else {
                                                                                                                                                                                                  revs->grep_filter.pattern_type_option = 2;
                                                                                                                                                                                                }
                                                                                                                                                                                              } else {
                                                                                                                                                                                                revs->grep_filter.pattern_type_option = 2;
                                                                                                                                                                                              }
                                                                                                                                                                                            } else {
                                                                                                                                                                                              revs->grep_filter.pattern_type_option = 1;
                                                                                                                                                                                            }
                                                                                                                                                                                          }
                                                                                                                                                                                        }
                                                                                                                                                                                      }
                                                                                                                                                                                    }
                                                                                                                                                                                  } else {
                                                                                                                                                                                    revs->show_log_size = 1;
                                                                                                                                                                                  }
                                                                                                                                                                                }
                                                                                                                                                                              } else {
                                                                                                                                                                                revs->date_mode.type = (enum date_mode_type )2;
                                                                                                                                                                                revs->date_mode_explicit = 1U;
                                                                                                                                                                              }
                                                                                                                                                                            } else {
                                                                                                                                                                              revs->simplify_history = 0U;
                                                                                                                                                                            }
                                                                                                                                                                          } else {
                                                                                                                                                                            revs->show_pulls = 1U;
                                                                                                                                                                          }
                                                                                                                                                                        } else {
                                                                                                                                                                          revs->diff = 1U;
                                                                                                                                                                          revs->full_diff = 1U;
                                                                                                                                                                        }
                                                                                                                                                                      } else {
                                                                                                                                                                        revs->abbrev_commit = 0U;
                                                                                                                                                                      }
                                                                                                                                                                    } else {
                                                                                                                                                                      revs->abbrev_commit = 1U;
                                                                                                                                                                      revs->abbrev_commit_given = 1U;
                                                                                                                                                                    }
                                                                                                                                                                  }
                                                                                                                                                                } else {
                                                                                                                                                                  revs->abbrev = (unsigned int )default_abbrev;
                                                                                                                                                                }
                                                                                                                                                              } else {
                                                                                                                                                                revs->abbrev = 0U;
                                                                                                                                                              }
                                                                                                                                                            } else {
                                                                                                                                                              revs->always_show_header = 1U;
                                                                                                                                                            }
                                                                                                                                                          } else {
                                                                                                                                                            revs->no_commit_id = 1U;
                                                                                                                                                          }
                                                                                                                                                        } else {
                                                                                                                                                          revs->show_root_diff = 1U;
                                                                                                                                                        }
                                                                                                                                                      } else {
                                                                                                                                                        revs->encode_email_headers = 0U;
                                                                                                                                                      }
                                                                                                                                                    } else {
                                                                                                                                                      revs->encode_email_headers = 1U;
                                                                                                                                                    }
                                                                                                                                                  } else {
                                                                                                                                                    revs->topo_order = 1U;
                                                                                                                                                    revs->rewrite_parents = 1U;
                                                                                                                                                    revs->graph = graph_init(revs);
                                                                                                                                                  }
                                                                                                                                                } else {
                                                                                                                                                  revs->verbose_header = 1U;
                                                                                                                                                  get_commit_format((char const   *)"oneline",
                                                                                                                                                                    revs);
                                                                                                                                                  revs->pretty_given = 1U;
                                                                                                                                                  revs->abbrev_commit = 1U;
                                                                                                                                                }
                                                                                                                                              } else {
                                                                                                                                                revs->notes_opt.use_default_notes = 0;
                                                                                                                                              }
                                                                                                                                            } else {
                                                                                                                                              revs->show_notes_given = 1U;
                                                                                                                                              revs->notes_opt.use_default_notes = 1;
                                                                                                                                            }
                                                                                                                                          } else {
                                                                                                                                            disable_display_notes(& revs->notes_opt,
                                                                                                                                                                  & revs->show_notes);
                                                                                                                                            revs->show_notes_given = 1U;
                                                                                                                                          }
                                                                                                                                        }
                                                                                                                                      }
                                                                                                                                    }
                                                                                                                                  } else {
                                                                                                                                    revs->break_bar = (char const   *)"                    ..........";
                                                                                                                                    revs->track_linear = 1U;
                                                                                                                                    revs->track_first_time = 1U;
                                                                                                                                  }
                                                                                                                                } else {
                                                                                                                                  revs->show_signature = 0U;
                                                                                                                                }
                                                                                                                              } else {
                                                                                                                                revs->show_signature = 1U;
                                                                                                                              }
                                                                                                                            } else {
                                                                                                                              enable_default_display_notes(& revs->notes_opt,
                                                                                                                                                           & revs->show_notes);
                                                                                                                              revs->show_notes_given = 1U;
                                                                                                                            }
                                                                                                                          } else {
                                                                                                                            enable_default_display_notes(& revs->notes_opt,
                                                                                                                                                         & revs->show_notes);
                                                                                                                            revs->show_notes_given = 1U;
                                                                                                                          }
                                                                                                                        }
                                                                                                                      } else {
                                                                                                                        revs->expand_tabs_in_log = 0;
                                                                                                                      }
                                                                                                                    } else {
                                                                                                                      revs->expand_tabs_in_log = 8;
                                                                                                                    }
                                                                                                                  }
                                                                                                                }
                                                                                                              } else {
                                                                                                                revs->verbose_header = 1U;
                                                                                                                revs->pretty_given = 1U;
                                                                                                                get_commit_format((char const   *)((void *)0),
                                                                                                                                  revs);
                                                                                                              }
                                                                                                            } else {
                                                                                                              revs->verbose_header = 1U;
                                                                                                            }
                                                                                                          }
                                                                                                        } else {
                                                                                                          revs->diff = 1U;
                                                                                                          revs->diffopt.flags.recursive = 1U;
                                                                                                          revs->diffopt.flags.tree_in_recursive = 1U;
                                                                                                        }
                                                                                                      } else {
                                                                                                        revs->diff = 1U;
                                                                                                        revs->diffopt.flags.recursive = 1U;
                                                                                                      }
                                                                                                    }
                                                                                                  } else {
                                                                                                    revs->no_kept_objects = 1U;
                                                                                                    revs->keep_pack_cache_flags |= 2U;
                                                                                                    revs->keep_pack_cache_flags |= 1U;
                                                                                                  }
                                                                                                }
                                                                                              } else {
                                                                                                revs->unpacked = 1U;
                                                                                              }
                                                                                            } else {
                                                                                              revs->tag_objects = 1U;
                                                                                              revs->tree_objects = 1U;
                                                                                              revs->blob_objects = 1U;
                                                                                              revs->verify_objects = 1U;
                                                                                            }
                                                                                          } else {
                                                                                            revs->tag_objects = 1U;
                                                                                            revs->tree_objects = 1U;
                                                                                            revs->blob_objects = 1U;
                                                                                            revs->edge_hint = 1U;
                                                                                            revs->edge_hint_aggressive = 1U;
                                                                                          }
                                                                                        } else {
                                                                                          revs->tag_objects = 1U;
                                                                                          revs->tree_objects = 1U;
                                                                                          revs->blob_objects = 1U;
                                                                                          revs->edge_hint = 1U;
                                                                                        }
                                                                                      } else {
                                                                                        revs->tag_objects = 1U;
                                                                                        revs->tree_objects = 1U;
                                                                                        revs->blob_objects = 1U;
                                                                                      }
                                                                                    } else {
                                                                                      if (revs->cherry_mark) {
                                                                                        tmp___26 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
                                                                                        die((char const   *)tmp___26,
                                                                                            "--cherry-pick",
                                                                                            "--cherry-mark");
                                                                                      }
                                                                                      revs->cherry_pick = 1U;
                                                                                      revs->limited = 1U;
                                                                                    }
                                                                                  } else {
                                                                                    if (revs->cherry_pick) {
                                                                                      tmp___25 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
                                                                                      die((char const   *)tmp___25,
                                                                                          "--cherry-mark",
                                                                                          "--cherry-pick");
                                                                                    }
                                                                                    revs->cherry_mark = 1U;
                                                                                    revs->limited = 1U;
                                                                                  }
                                                                                } else {
                                                                                  revs->count = 1U;
                                                                                }
                                                                              } else {
                                                                                if (revs->left_only) {
                                                                                  tmp___24 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
                                                                                  die((char const   *)tmp___24,
                                                                                      "--cherry",
                                                                                      "--left-only");
                                                                                }
                                                                                revs->cherry_mark = 1U;
                                                                                revs->right_only = 1U;
                                                                                revs->max_parents = 1;
                                                                                revs->limited = 1U;
                                                                              }
                                                                            } else {
                                                                              if (revs->left_only) {
                                                                                tmp___23 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
                                                                                die((char const   *)tmp___23,
                                                                                    "--right-only",
                                                                                    "--left-only");
                                                                              }
                                                                              revs->right_only = 1U;
                                                                            }
                                                                          } else {
                                                                            if (revs->right_only) {
                                                                              die((char const   *)"--left-only is incompatible with --right-only or --cherry");
                                                                            }
                                                                            revs->left_only = 1U;
                                                                          }
                                                                        } else {
                                                                          revs->left_right = 1U;
                                                                        }
                                                                      } else {
                                                                        revs->boundary = 1U;
                                                                      }
                                                                    } else {
                                                                      revs->max_parents = -1;
                                                                    }
                                                                  }
                                                                } else {
                                                                  revs->min_parents = 0;
                                                                }
                                                              }
                                                            } else {
                                                              revs->max_parents = 1;
                                                            }
                                                          } else {
                                                            revs->min_parents = 2;
                                                          }
                                                        } else {
                                                          revs->remove_empty_trees = 1U;
                                                        }
                                                      } else {
                                                        revs->tree_blobs_in_commit_order = 1U;
                                                      }
                                                    } else {
                                                      revs->dense = 0U;
                                                    }
                                                  } else {
                                                    revs->dense = 1U;
                                                  }
                                                } else {
                                                  revs->rewrite_parents = 1U;
                                                  revs->print_parents = 1U;
                                                }
                                              }
                                            } else {
                                              revs->early_output = 100U;
                                              revs->topo_order = 1U;
                                            }
                                          } else {
                                            revs->sort_order = (enum rev_sort_order )2;
                                            revs->topo_order = 1U;
                                          }
                                        } else {
                                          revs->sort_order = (enum rev_sort_order )1;
                                          revs->topo_order = 1U;
                                        }
                                      } else {
                                        revs->simplify_merges = 1U;
                                        revs->topo_order = 1U;
                                        revs->rewrite_parents = 1U;
                                        revs->simplify_history = 0U;
                                        revs->simplify_by_decoration = 1U;
                                        revs->limited = 1U;
                                        revs->prune = 1U;
                                      }
                                    } else {
                                      revs->simplify_merges = 1U;
                                      revs->topo_order = 1U;
                                      revs->rewrite_parents = 1U;
                                      revs->simplify_history = 0U;
                                      revs->limited = 1U;
                                    }
                                  } else {
                                    revs->sort_order = (enum rev_sort_order )0;
                                    revs->topo_order = 1U;
                                  }
                                } else {
                                  revs->show_merge = 1U;
                                }
                              } else {
                                if (argc <= 1) {
                                  error((char const   *)"bad --default argument");
                                  tmp___21 = const_error();
                                  return (tmp___21);
                                }
                                revs->def = *(argv___0 + 1);
                                return (2);
                              }
                            } else {
                              init_reflog_walk(& revs->reflog_info);
                            }
                          } else {
                            init_reflog_walk(& revs->reflog_info);
                          }
                        } else {
                          revs->ancestry_path = 1U;
                          revs->simplify_history = 0U;
                          revs->limited = 1U;
                        }
                      } else {
                        revs->first_parent_only = 1U;
                      }
                    }
                  }
                }
              }
            }
          }
        }
      } else {
        if (argc <= 1) {
          error((char const   *)"-n requires an argument");
          tmp___18 = const_error();
          return (tmp___18);
        }
        revs->max_count = atoi(*(argv___0 + 1));
        revs->no_walk = 0U;
        return (2);
      }
    }
  }
  if (revs->graph) {
    if (revs->track_linear) {
      tmp___132 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___132, "--show-linear-break", "--graph");
    }
  }
  return (1);
}
}
void parse_revision_opt(struct rev_info *revs , struct parse_opt_ctx_t *ctx___0 ,
                        struct option  const  *options , char const   **usagestr )
{
  int n ;
  int tmp ;

  {
  tmp = handle_revision_opt(revs, ctx___0->argc, ctx___0->argv, & ctx___0->cpidx,
                            ctx___0->out, (struct setup_revision_opt  const  *)((void *)0));
  n = tmp;
  if (n <= 0) {
    error((char const   *)"unknown option `%s\'", *(ctx___0->argv + 0));
    const_error();
    usage_with_options(usagestr, options);
  }
  ctx___0->argv += n;
  ctx___0->argc -= n;
  return;
}
}
static int for_each_bisect_ref(struct ref_store *refs___0 , each_ref_fn *fn , void *cb_data ,
                               char const   *term___1 )
{
  struct strbuf bisect_refs ;
  int status ;

  {
  bisect_refs.alloc = 0UL;
  bisect_refs.len = 0UL;
  bisect_refs.buf = strbuf_slopbuf;
  strbuf_addf(& bisect_refs, (char const   *)"refs/bisect/%s", term___1);
  status = refs_for_each_fullref_in(refs___0, (char const   *)bisect_refs.buf, fn,
                                    cb_data);
  strbuf_release(& bisect_refs);
  return (status);
}
}
static int for_each_bad_bisect_ref(struct ref_store *refs___0 , each_ref_fn *fn ,
                                   void *cb_data )
{
  int tmp ;

  {
  tmp = for_each_bisect_ref(refs___0, fn, cb_data, term_bad___0);
  return (tmp);
}
}
static int for_each_good_bisect_ref(struct ref_store *refs___0 , each_ref_fn *fn ,
                                    void *cb_data )
{
  int tmp ;

  {
  tmp = for_each_bisect_ref(refs___0, fn, cb_data, term_good___0);
  return (tmp);
}
}
static int handle_revision_pseudo_opt(struct rev_info *revs , char const   **argv___0 ,
                                      int *flags___0 )
{
  char const   *arg ;
  char const   *optarg___0 ;
  struct ref_store *refs___0 ;
  int argcount ;
  struct all_refs_cb cb ;
  struct all_refs_cb cb___0 ;
  struct all_refs_cb cb___1 ;
  struct all_refs_cb cb___2 ;
  struct all_refs_cb cb___3 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;

  {
  arg = *(argv___0 + 0);
  if ((unsigned long )revs->repo != (unsigned long )the_repository) {
    if (! revs->single_worktree) {
      BUG_fl((char const   *)"revision.c", 2583, (char const   *)"--single-worktree cannot be used together with submodule");
    }
  }
  refs___0 = get_main_ref_store(revs->repo);
  tmp___17 = strcmp(arg, (char const   *)"--all");
  if (tmp___17) {
    tmp___16 = strcmp(arg, (char const   *)"--branches");
    if (tmp___16) {
      tmp___15 = strcmp(arg, (char const   *)"--bisect");
      if (tmp___15) {
        tmp___14 = strcmp(arg, (char const   *)"--tags");
        if (tmp___14) {
          tmp___13 = strcmp(arg, (char const   *)"--remotes");
          if (tmp___13) {
            argcount = parse_long_opt((char const   *)"glob", argv___0, & optarg___0);
            if (argcount) {
              init_all_refs_cb(& cb___0, revs, (unsigned int )*flags___0);
              for_each_glob_ref(& handle_one_ref___0, optarg___0, (void *)(& cb___0));
              clear_ref_exclusion(& revs->ref_excludes);
              return (argcount);
            } else {
              argcount = parse_long_opt((char const   *)"exclude", argv___0, & optarg___0);
              if (argcount) {
                add_ref_exclusion(& revs->ref_excludes, optarg___0);
                return (argcount);
              } else {
                tmp___12 = skip_prefix(arg, (char const   *)"--branches=", & optarg___0);
                if (tmp___12) {
                  init_all_refs_cb(& cb___1, revs, (unsigned int )*flags___0);
                  for_each_glob_ref_in(& handle_one_ref___0, optarg___0, (char const   *)"refs/heads/",
                                       (void *)(& cb___1));
                  clear_ref_exclusion(& revs->ref_excludes);
                } else {
                  tmp___11 = skip_prefix(arg, (char const   *)"--tags=", & optarg___0);
                  if (tmp___11) {
                    init_all_refs_cb(& cb___2, revs, (unsigned int )*flags___0);
                    for_each_glob_ref_in(& handle_one_ref___0, optarg___0, (char const   *)"refs/tags/",
                                         (void *)(& cb___2));
                    clear_ref_exclusion(& revs->ref_excludes);
                  } else {
                    tmp___10 = skip_prefix(arg, (char const   *)"--remotes=", & optarg___0);
                    if (tmp___10) {
                      init_all_refs_cb(& cb___3, revs, (unsigned int )*flags___0);
                      for_each_glob_ref_in(& handle_one_ref___0, optarg___0, (char const   *)"refs/remotes/",
                                           (void *)(& cb___3));
                      clear_ref_exclusion(& revs->ref_excludes);
                    } else {
                      tmp___9 = strcmp(arg, (char const   *)"--reflog");
                      if (tmp___9) {
                        tmp___8 = strcmp(arg, (char const   *)"--indexed-objects");
                        if (tmp___8) {
                          tmp___7 = strcmp(arg, (char const   *)"--alternate-refs");
                          if (tmp___7) {
                            tmp___6 = strcmp(arg, (char const   *)"--not");
                            if (tmp___6) {
                              tmp___5 = strcmp(arg, (char const   *)"--no-walk");
                              if (tmp___5) {
                                tmp___4 = skip_prefix(arg, (char const   *)"--no-walk=",
                                                      & optarg___0);
                                if (tmp___4) {
                                  revs->no_walk = 1U;
                                  tmp___1 = strcmp(optarg___0, (char const   *)"sorted");
                                  if (tmp___1) {
                                    tmp___0 = strcmp(optarg___0, (char const   *)"unsorted");
                                    if (tmp___0) {
                                      error((char const   *)"invalid argument to --no-walk");
                                      tmp = const_error();
                                      return (tmp);
                                    } else {
                                      revs->unsorted_input = 1U;
                                    }
                                  } else {
                                    revs->unsorted_input = 0U;
                                  }
                                } else {
                                  tmp___3 = strcmp(arg, (char const   *)"--do-walk");
                                  if (tmp___3) {
                                    tmp___2 = strcmp(arg, (char const   *)"--single-worktree");
                                    if (tmp___2) {
                                      return (0);
                                    } else {
                                      revs->single_worktree = 1U;
                                    }
                                  } else {
                                    revs->no_walk = 0U;
                                  }
                                }
                              } else {
                                revs->no_walk = 1U;
                              }
                            } else {
                              *flags___0 = (int )((unsigned int )*flags___0 ^ ((1u << 1) | (1u << 10)));
                            }
                          } else {
                            add_alternate_refs_to_pending(revs, (unsigned int )*flags___0);
                          }
                        } else {
                          add_index_objects_to_pending(revs, (unsigned int )*flags___0);
                        }
                      } else {
                        add_reflogs_to_pending(revs, (unsigned int )*flags___0);
                      }
                    }
                  }
                }
              }
            }
          } else {
            handle_refs(refs___0, revs, (unsigned int )*flags___0, & refs_for_each_remote_ref);
            clear_ref_exclusion(& revs->ref_excludes);
          }
        } else {
          handle_refs(refs___0, revs, (unsigned int )*flags___0, & refs_for_each_tag_ref);
          clear_ref_exclusion(& revs->ref_excludes);
        }
      } else {
        read_bisect_terms(& term_bad___0, & term_good___0);
        handle_refs(refs___0, revs, (unsigned int )*flags___0, & for_each_bad_bisect_ref);
        handle_refs(refs___0, revs, (unsigned int )*flags___0 ^ ((1u << 1) | (1u << 10)),
                    & for_each_good_bisect_ref);
        revs->bisect = 1U;
      }
    } else {
      handle_refs(refs___0, revs, (unsigned int )*flags___0, & refs_for_each_branch_ref);
      clear_ref_exclusion(& revs->ref_excludes);
    }
  } else {
    handle_refs(refs___0, revs, (unsigned int )*flags___0, & refs_for_each_ref);
    handle_refs(refs___0, revs, (unsigned int )*flags___0, & refs_head_ref);
    if (! revs->single_worktree) {
      init_all_refs_cb(& cb, revs, (unsigned int )*flags___0);
      other_head_refs(& handle_one_ref___0, (void *)(& cb));
    }
    clear_ref_exclusion(& revs->ref_excludes);
  }
  return (1);
}
}
static void diagnose_missing_default(char const   *def___0 )  __attribute__((__noreturn__)) ;
static void diagnose_missing_default(char const   *def___0 )
{
  int flags___0 ;
  char const   *refname ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  refname = resolve_ref_unsafe(def___0, 0, (struct object_id *)((void *)0), & flags___0);
  if (! refname) {
    tmp = _((char const   *)"your current branch appears to be broken");
    die((char const   *)tmp);
  } else
  if (! (flags___0 & 0x01)) {
    tmp = _((char const   *)"your current branch appears to be broken");
    die((char const   *)tmp);
  } else
  if (flags___0 & 0x04) {
    tmp = _((char const   *)"your current branch appears to be broken");
    die((char const   *)tmp);
  }
  skip_prefix(refname, (char const   *)"refs/heads/", & refname);
  tmp___0 = _((char const   *)"your current branch \'%s\' does not have any commits yet");
  die((char const   *)tmp___0, refname);
}
}
int setup_revisions(int argc , char const   **argv___0 , struct rev_info *revs , struct setup_revision_opt *opt___0 )
{
  int i ;
  int flags___0 ;
  int left ;
  int seen_dashdash ;
  int revarg_opt ;
  struct strvec prune_data ;
  int seen_end_of_options ;
  char const   *arg ;
  int tmp ;
  char const   *arg___0 ;
  int opts___1 ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int j ;
  int tmp___5 ;
  struct object_id oid ;
  struct object *object ;
  struct object_context oc ;
  enum get_oid_result tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const   *tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;

  {
  prune_data.v = empty_strvec;
  prune_data.nr = 0UL;
  prune_data.alloc = 0UL;
  seen_end_of_options = 0;
  if (opt___0) {
    if (opt___0->assume_dashdash) {
      seen_dashdash = 1;
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    seen_dashdash = 0;
    i = 1;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < argc)) {
        goto while_break;
      }
      arg = *(argv___0 + i);
      tmp = strcmp(arg, (char const   *)"--");
      if (tmp) {
        goto __Cont;
      }
      *(argv___0 + i) = (char const   *)((void *)0);
      argc = i;
      if (*(argv___0 + (i + 1))) {
        strvec_pushv(& prune_data, (argv___0 + i) + 1);
      }
      seen_dashdash = 1;
      goto while_break;
      __Cont: /* CIL Label */
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  flags___0 = 0;
  if (opt___0) {
    revarg_opt = (int )opt___0->revarg_opt;
  } else {
    revarg_opt = 0;
  }
  if (seen_dashdash) {
    revarg_opt |= 01;
  }
  i = 1;
  left = i;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break___0;
    }
    arg___0 = *(argv___0 + i);
    if (! seen_end_of_options) {
      if ((int const   )*arg___0 == 45) {
        opts___1 = handle_revision_pseudo_opt(revs, argv___0 + i, & flags___0);
        if (opts___1 > 0) {
          i += opts___1 - 1;
          goto __Cont___0;
        }
        tmp___2 = strcmp(arg___0, (char const   *)"--stdin");
        if (! tmp___2) {
          if (revs->disable_stdin) {
            tmp___0 = left;
            left ++;
            *(argv___0 + tmp___0) = arg___0;
            goto __Cont___0;
          }
          tmp___1 = revs->read_from_stdin;
          (revs->read_from_stdin) ++;
          if (tmp___1) {
            die((char const   *)"--stdin given twice?");
          }
          read_revisions_from_stdin(revs, & prune_data);
          goto __Cont___0;
        }
        tmp___3 = strcmp(arg___0, (char const   *)"--end-of-options");
        if (! tmp___3) {
          seen_end_of_options = 1;
          goto __Cont___0;
        }
        opts___1 = handle_revision_opt(revs, argc - i, argv___0 + i, & left, argv___0,
                                       (struct setup_revision_opt  const  *)opt___0);
        if (opts___1 > 0) {
          i += opts___1 - 1;
          goto __Cont___0;
        }
        if (opts___1 < 0) {
          tmp___4 = trace2_cmd_exit_fl((char const   *)"revision.c", 2765, 128);
          exit(tmp___4);
        }
        goto __Cont___0;
      }
    }
    tmp___5 = handle_revision_arg(arg___0, revs, flags___0, (unsigned int )revarg_opt);
    if (tmp___5) {
      if (seen_dashdash) {
        die((char const   *)"bad revision \'%s\'", arg___0);
      } else
      if ((int const   )*arg___0 == 94) {
        die((char const   *)"bad revision \'%s\'", arg___0);
      }
      j = i;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! (j < argc)) {
          goto while_break___1;
        }
        verify_filename(revs->prefix, *(argv___0 + j), j == i);
        j ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      strvec_pushv(& prune_data, argv___0 + i);
      goto while_break___0;
    }
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (prune_data.nr) {
    parse_pathspec(& revs->prune_data, 0U, 0U, revs->prefix, prune_data.v);
  }
  strvec_clear(& prune_data);
  if ((unsigned long )revs->def == (unsigned long )((void *)0)) {
    if (opt___0) {
      revs->def = opt___0->def;
    } else {
      revs->def = (char const   *)((void *)0);
    }
  }
  if (opt___0) {
    if (opt___0->tweak) {
      (*(opt___0->tweak))(revs, opt___0);
    }
  }
  if (revs->show_merge) {
    prepare_show_merge(revs);
  }
  if (revs->def) {
    if (! revs->pending.nr) {
      if (! revs->rev_input_given) {
        tmp___6 = get_oid_with_context(revs->repo, revs->def, 0U, & oid, & oc);
        if (tmp___6) {
          diagnose_missing_default(revs->def);
        }
        object = get_reference(revs, revs->def, (struct object_id  const  *)(& oid),
                               0U);
        add_pending_object_with_mode(revs, object, revs->def, (unsigned int )oc.mode);
      }
    }
  }
  if (revs->diffopt.output_format & -2049) {
    revs->diff = 1U;
  }
  if (revs->diffopt.pickaxe_opts & 28U) {
    revs->diff = 1U;
  } else
  if (revs->diffopt.filter) {
    revs->diff = 1U;
  } else
  if (revs->diffopt.flags.follow_renames) {
    revs->diff = 1U;
  }
  if (revs->diffopt.objfind) {
    revs->simplify_history = 0U;
  }
  if (revs->line_level_traverse) {
    tmp___7 = want_ancestry((struct rev_info  const  *)revs);
    if (tmp___7) {
      revs->limited = 1U;
    }
    revs->topo_order = 1U;
  }
  if (revs->topo_order) {
    tmp___8 = generation_numbers_enabled(the_repository);
    if (! tmp___8) {
      revs->limited = 1U;
    }
  }
  if (revs->prune_data.nr) {
    copy_pathspec(& revs->pruning.pathspec, (struct pathspec  const  *)(& revs->prune_data));
    if (! revs->diffopt.flags.follow_renames) {
      revs->prune = 1U;
    }
    if (! revs->full_diff) {
      copy_pathspec(& revs->diffopt.pathspec, (struct pathspec  const  *)(& revs->prune_data));
    }
  }
  diff_merges_setup_revs(revs);
  revs->diffopt.abbrev = (int )revs->abbrev;
  diff_setup_done(& revs->diffopt);
  grep_commit_pattern_type((enum grep_pattern_type )0, & revs->grep_filter);
  tmp___9 = get_log_output_encoding();
  tmp___10 = is_encoding_utf8(tmp___9);
  if (! tmp___10) {
    revs->grep_filter.ignore_locale = 1;
  }
  compile_grep_patterns(& revs->grep_filter);
  if (revs->reverse) {
    if (revs->reflog_info) {
      tmp___11 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___11, "--reverse", "--walk-reflogs");
    }
  }
  if (revs->reflog_info) {
    if (revs->limited) {
      die((char const   *)"cannot combine --walk-reflogs with history-limiting options");
    }
  }
  if (revs->rewrite_parents) {
    if (revs->children.name) {
      tmp___12 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___12, "--parents", "--children");
    }
  }
  if (revs->reverse) {
    if (revs->graph) {
      tmp___13 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___13, "--reverse", "--graph");
    }
  }
  if (revs->reflog_info) {
    if (revs->graph) {
      tmp___14 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___14, "--walk-reflogs", "--graph");
    }
  }
  if (revs->no_walk) {
    if (revs->graph) {
      tmp___15 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___15, "--no-walk", "--graph");
    }
  }
  if (! revs->reflog_info) {
    if (revs->grep_filter.use_reflog_filter) {
      tmp___16 = _((char const   *)"the option \'%s\' requires \'%s\'");
      die((char const   *)tmp___16, "--grep-reflog", "--walk-reflogs");
    }
  }
  if (revs->line_level_traverse) {
    if (revs->diffopt.output_format & -2065) {
      tmp___17 = _((char const   *)"-L does not yet support diff formats besides -p and -s");
      die((char const   *)tmp___17);
    }
  }
  if (revs->expand_tabs_in_log < 0) {
    revs->expand_tabs_in_log = revs->expand_tabs_in_log_default;
  }
  return (left);
}
}
static void add_child___0(struct rev_info *revs , struct commit *parent , struct commit *child )
{
  struct commit_list *l ;
  void *tmp ;
  void *tmp___0 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*l));
  l = (struct commit_list *)tmp;
  l->item = child;
  tmp___0 = add_decoration(& revs->children, (struct object  const  *)(& parent->object),
                           (void *)l);
  l->next = (struct commit_list *)tmp___0;
  return;
}
}
static int remove_duplicate_parents(struct rev_info *revs , struct commit *commit )
{
  struct treesame_state *ts ;
  void *tmp ;
  struct commit_list **pp ;
  struct commit_list *p___0 ;
  int surviving_parents ;
  struct commit *parent ;

  {
  tmp = lookup_decoration(& revs->treesame, (struct object  const  *)(& commit->object));
  ts = (struct treesame_state *)tmp;
  pp = & commit->parents;
  surviving_parents = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    p___0 = *pp;
    if (! ((unsigned long )p___0 != (unsigned long )((void *)0))) {
      goto while_break;
    }
    parent = p___0->item;
    if (parent->object.flags & (1u << 4)) {
      *pp = p___0->next;
      if (ts) {
        compact_treesame(revs, commit, (unsigned int )surviving_parents);
      }
      goto while_continue;
    }
    parent->object.flags |= 1u << 4;
    surviving_parents ++;
    pp = & p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  p___0 = commit->parents;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___0;
    }
    (p___0->item)->object.flags &= ~ (1u << 4);
    p___0 = p___0->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (surviving_parents);
}
}
static struct merge_simplify_state *locate_simplify_state(struct rev_info *revs ,
                                                          struct commit *commit )
{
  struct merge_simplify_state *st ;
  void *tmp ;
  void *tmp___0 ;

  {
  tmp = lookup_decoration(& revs->merge_simplification, (struct object  const  *)(& commit->object));
  st = (struct merge_simplify_state *)tmp;
  if (! st) {
    tmp___0 = xcalloc((size_t )1, sizeof(*st));
    st = (struct merge_simplify_state *)tmp___0;
    add_decoration(& revs->merge_simplification, (struct object  const  *)(& commit->object),
                   (void *)st);
  }
  return (st);
}
}
static int mark_redundant_parents(struct commit *commit )
{
  struct commit_list *h ;
  struct commit_list *tmp ;
  int i ;
  int marked___1 ;
  struct commit_list *po ;
  struct commit_list *pn ;
  int orig_cnt ;
  unsigned int tmp___0 ;
  int cnt ;
  unsigned int tmp___1 ;

  {
  tmp = reduce_heads(commit->parents);
  h = tmp;
  i = 0;
  marked___1 = 0;
  tmp___0 = commit_list_count((struct commit_list  const  *)commit->parents);
  orig_cnt = (int )tmp___0;
  tmp___1 = commit_list_count((struct commit_list  const  *)h);
  cnt = (int )tmp___1;
  po = commit->parents;
  pn = h;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! po) {
      goto while_break;
    }
    if (pn) {
      if ((unsigned long )po->item == (unsigned long )pn->item) {
        pn = pn->next;
        i ++;
      } else {
        (po->item)->object.flags |= 1u << 4;
        marked___1 ++;
      }
    } else {
      (po->item)->object.flags |= 1u << 4;
      marked___1 ++;
    }
    po = po->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (i != cnt) {
    die((char const   *)"mark_redundant_parents %d %d %d %d", orig_cnt, cnt, i, marked___1);
  } else
  if (cnt + marked___1 != orig_cnt) {
    die((char const   *)"mark_redundant_parents %d %d %d %d", orig_cnt, cnt, i, marked___1);
  }
  free_commit_list(h);
  return (marked___1);
}
}
static int mark_treesame_root_parents(struct commit *commit )
{
  struct commit_list *p___0 ;
  int marked___1 ;
  struct commit *parent ;

  {
  marked___1 = 0;
  p___0 = commit->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    parent = p___0->item;
    if (! parent->parents) {
      if (parent->object.flags & (1u << 2)) {
        parent->object.flags |= 1u << 4;
        marked___1 ++;
      }
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (marked___1);
}
}
static int leave_one_treesame_to_parent(struct rev_info *revs , struct commit *commit )
{
  struct treesame_state *ts ;
  void *tmp ;
  struct commit *unmarked ;
  struct commit *marked___1 ;
  struct commit_list *p___0 ;
  unsigned int n ;

  {
  tmp = lookup_decoration(& revs->treesame, (struct object  const  *)(& commit->object));
  ts = (struct treesame_state *)tmp;
  unmarked = (struct commit *)((void *)0);
  marked___1 = (struct commit *)((void *)0);
  p___0 = commit->parents;
  n = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if (ts->treesame[n]) {
      if ((p___0->item)->object.flags & (1u << 4)) {
        if (! marked___1) {
          marked___1 = p___0->item;
        }
      } else
      if (! unmarked) {
        unmarked = p___0->item;
        goto while_break;
      }
    }
    p___0 = p___0->next;
    n ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! unmarked) {
    if (marked___1) {
      marked___1->object.flags &= ~ (1u << 4);
      return (1);
    }
  }
  return (0);
}
}
static int remove_marked_parents(struct rev_info *revs , struct commit *commit )
{
  struct commit_list **pp ;
  struct commit_list *p___0 ;
  int nth_parent ;
  int removed ;
  struct commit *parent ;

  {
  removed = 0;
  pp = & commit->parents;
  nth_parent = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    p___0 = *pp;
    if (! ((unsigned long )p___0 != (unsigned long )((void *)0))) {
      goto while_break;
    }
    parent = p___0->item;
    if (parent->object.flags & (1u << 4)) {
      parent->object.flags &= ~ (1u << 4);
      *pp = p___0->next;
      free((void *)p___0);
      removed ++;
      compact_treesame(revs, commit, (unsigned int )nth_parent);
      goto while_continue;
    }
    pp = & p___0->next;
    nth_parent ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (removed) {
    if (! (commit->object.flags & (1u << 2))) {
      update_treesame(revs, commit);
    }
  }
  return (nth_parent);
}
}
static struct commit_list **simplify_one(struct rev_info *revs , struct commit *commit ,
                                         struct commit_list **tail )
{
  struct commit_list *p___0 ;
  struct commit *parent ;
  struct merge_simplify_state *st ;
  struct merge_simplify_state *pst ;
  int cnt ;
  struct commit_list *tmp ;
  struct commit_list *tmp___0 ;
  int marked___1 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  st = locate_simplify_state(revs, commit);
  if (st->simplified) {
    return (tail);
  }
  if (commit->object.flags & (1u << 1)) {
    st->simplified = commit;
    return (tail);
  } else
  if (! commit->parents) {
    st->simplified = commit;
    return (tail);
  }
  cnt = 0;
  p___0 = commit->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    pst = locate_simplify_state(revs, p___0->item);
    if (! pst->simplified) {
      tmp = commit_list_insert(p___0->item, tail);
      tail = & tmp->next;
      cnt ++;
    }
    if (revs->first_parent_only) {
      goto while_break;
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (cnt) {
    tmp___0 = commit_list_insert(commit, tail);
    tail = & tmp___0->next;
    return (tail);
  }
  p___0 = commit->parents;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___0;
    }
    pst = locate_simplify_state(revs, p___0->item);
    p___0->item = pst->simplified;
    if (revs->first_parent_only) {
      goto while_break___0;
    }
    p___0 = p___0->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (revs->first_parent_only) {
    cnt = 1;
  } else {
    cnt = remove_duplicate_parents(revs, commit);
  }
  if (1 < cnt) {
    tmp___1 = mark_redundant_parents(commit);
    marked___1 = tmp___1;
    tmp___2 = mark_treesame_root_parents(commit);
    marked___1 += tmp___2;
    if (marked___1) {
      tmp___3 = leave_one_treesame_to_parent(revs, commit);
      marked___1 -= tmp___3;
    }
    if (marked___1) {
      cnt = remove_marked_parents(revs, commit);
    }
  }
  if (! cnt) {
    st->simplified = commit;
  } else
  if (commit->object.flags & (1u << 1)) {
    st->simplified = commit;
  } else
  if (! (commit->object.flags & (1u << 2))) {
    st->simplified = commit;
  } else {
    parent = one_relevant_parent((struct rev_info  const  *)revs, commit->parents);
    if ((unsigned long )parent == (unsigned long )((void *)0)) {
      st->simplified = commit;
    } else
    if (revs->show_pulls) {
      if (commit->object.flags & (1u << 15)) {
        st->simplified = commit;
      } else {
        pst = locate_simplify_state(revs, parent);
        st->simplified = pst->simplified;
      }
    } else {
      pst = locate_simplify_state(revs, parent);
      st->simplified = pst->simplified;
    }
  }
  return (tail);
}
}
static void simplify_merges(struct rev_info *revs )
{
  struct commit_list *list___3 ;
  struct commit_list *next___2 ;
  struct commit_list *yet_to_do ;
  struct commit_list **tail ;
  struct commit *commit ;
  struct merge_simplify_state *st ;
  struct commit_list *tmp ;

  {
  if (! revs->prune) {
    return;
  }
  yet_to_do = (struct commit_list *)((void *)0);
  list___3 = revs->commits;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    commit = list___3->item;
    next___2 = list___3->next;
    commit_list_insert(commit, & yet_to_do);
    list___3 = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! yet_to_do) {
      goto while_break___0;
    }
    list___3 = yet_to_do;
    yet_to_do = (struct commit_list *)((void *)0);
    tail = & yet_to_do;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! list___3) {
        goto while_break___1;
      }
      commit = pop_commit(& list___3);
      tail = simplify_one(revs, commit, tail);
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  list___3 = revs->commits;
  revs->commits = (struct commit_list *)((void *)0);
  tail = & revs->commits;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! list___3) {
      goto while_break___2;
    }
    commit = pop_commit(& list___3);
    st = locate_simplify_state(revs, commit);
    if ((unsigned long )st->simplified == (unsigned long )commit) {
      tmp = commit_list_insert(commit, tail);
      tail = & tmp->next;
    }
  }
  while_break___2: /* CIL Label */ ;
  }
  return;
}
}
static void set_children(struct rev_info *revs )
{
  struct commit_list *l ;
  struct commit *commit ;
  struct commit_list *p___0 ;

  {
  l = revs->commits;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! l) {
      goto while_break;
    }
    commit = l->item;
    p___0 = commit->parents;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! p___0) {
        goto while_break___0;
      }
      add_child___0(revs, p___0->item, commit);
      p___0 = p___0->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    l = l->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void reset_revision_walk(void)
{


  {
  clear_object_flags((((1u | (1u << 7)) | (1u << 3)) | (1u << 23)) | (1u << 24));
  return;
}
}
static int mark_uninteresting(struct object_id  const  *oid , struct packed_git *pack___0 ,
                              uint32_t pos , void *cb )
{
  struct rev_info *revs ;
  struct object *o ;
  struct object *tmp ;

  {
  revs = (struct rev_info *)cb;
  tmp = lookup_unknown_object(revs->repo, oid);
  o = tmp;
  o->flags |= (1u << 1) | 1u;
  return (0);
}
}
static void init_indegree_slab_with_stride___0(struct indegree_slab *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_indegree_slab_with_stride___0(struct indegree_slab *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(int ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (int **)((void *)0);
  return;
}
}
static void init_indegree_slab___0(struct indegree_slab *s___1 )  __attribute__((__unused__)) ;
static void init_indegree_slab___0(struct indegree_slab *s___1 )
{


  {
  init_indegree_slab_with_stride___0(s___1, 1U);
  return;
}
}
static void clear_indegree_slab___0(struct indegree_slab *s___1 )  __attribute__((__unused__)) ;
static void clear_indegree_slab___0(struct indegree_slab *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (int **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_indegree_slab___0(struct indegree_slab *s___1 , void (*free_fn)(int * ) )  __attribute__((__unused__)) ;
static void deep_clear_indegree_slab___0(struct indegree_slab *s___1 , void (*free_fn)(int * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_indegree_slab___0(s___1);
  return;
}
}
static int *indegree_slab_at_peek___0(struct indegree_slab *s___1 , struct commit  const  *c___0 ,
                                      int add_if_missing )  __attribute__((__unused__)) ;
static int *indegree_slab_at_peek___0(struct indegree_slab *s___1 , struct commit  const  *c___0 ,
                                      int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((int *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (int **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (int *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((int *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (int *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static int *indegree_slab_at___0(struct indegree_slab *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static int *indegree_slab_at___0(struct indegree_slab *s___1 , struct commit  const  *c___0 )
{
  int *tmp ;

  {
  tmp = indegree_slab_at_peek___0(s___1, c___0, 1);
  return (tmp);
}
}
static int *indegree_slab_peek___0(struct indegree_slab *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static int *indegree_slab_peek___0(struct indegree_slab *s___1 , struct commit  const  *c___0 )
{
  int *tmp ;

  {
  tmp = indegree_slab_at_peek___0(s___1, c___0, 0);
  return (tmp);
}
}
static void init_author_date_slab_with_stride___0(struct author_date_slab *s___1 ,
                                                  unsigned int stride )  __attribute__((__unused__)) ;
static void init_author_date_slab_with_stride___0(struct author_date_slab *s___1 ,
                                                  unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(timestamp_t ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (timestamp_t **)((void *)0);
  return;
}
}
static void init_author_date_slab___0(struct author_date_slab *s___1 )  __attribute__((__unused__)) ;
static void init_author_date_slab___0(struct author_date_slab *s___1 )
{


  {
  init_author_date_slab_with_stride___0(s___1, 1U);
  return;
}
}
static void clear_author_date_slab___0(struct author_date_slab *s___1 )  __attribute__((__unused__)) ;
static void clear_author_date_slab___0(struct author_date_slab *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (timestamp_t **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_author_date_slab___0(struct author_date_slab *s___1 , void (*free_fn)(timestamp_t * ) )  __attribute__((__unused__)) ;
static void deep_clear_author_date_slab___0(struct author_date_slab *s___1 , void (*free_fn)(timestamp_t * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_author_date_slab___0(s___1);
  return;
}
}
static timestamp_t *author_date_slab_at_peek___0(struct author_date_slab *s___1 ,
                                                 struct commit  const  *c___0 , int add_if_missing )  __attribute__((__unused__)) ;
static timestamp_t *author_date_slab_at_peek___0(struct author_date_slab *s___1 ,
                                                 struct commit  const  *c___0 , int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((timestamp_t *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (timestamp_t **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (timestamp_t *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((timestamp_t *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (timestamp_t *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static timestamp_t *author_date_slab_at___0(struct author_date_slab *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static timestamp_t *author_date_slab_at___0(struct author_date_slab *s___1 , struct commit  const  *c___0 )
{
  timestamp_t *tmp ;

  {
  tmp = author_date_slab_at_peek___0(s___1, c___0, 1);
  return (tmp);
}
}
static timestamp_t *author_date_slab_peek___0(struct author_date_slab *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static timestamp_t *author_date_slab_peek___0(struct author_date_slab *s___1 , struct commit  const  *c___0 )
{
  timestamp_t *tmp ;

  {
  tmp = author_date_slab_at_peek___0(s___1, c___0, 0);
  return (tmp);
}
}
static int topo_walk_atexit_registered  ;
static unsigned int count_explore_walked  ;
static unsigned int count_indegree_walked  ;
static unsigned int count_topo_walked  ;
static void trace2_topo_walk_statistics_atexit(void)
{
  struct json_writer jw ;

  {
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  jw_object_begin(& jw, 0);
  jw_object_intmax(& jw, (char const   *)"count_explore_walked", (intmax_t )count_explore_walked);
  jw_object_intmax(& jw, (char const   *)"count_indegree_walked", (intmax_t )count_indegree_walked);
  jw_object_intmax(& jw, (char const   *)"count_topo_walked", (intmax_t )count_topo_walked);
  jw_end(& jw);
  trace2_data_json_fl((char const   *)"revision.c", 3310, (char const   *)"topo_walk",
                      (struct repository  const  *)the_repository, (char const   *)"statistics",
                      (struct json_writer  const  *)(& jw));
  jw_release(& jw);
  return;
}
}
__inline static void test_flag_and_insert(struct prio_queue *q , struct commit *c___0 ,
                                          int flag )
{


  {
  if (c___0->object.flags & (unsigned int )flag) {
    return;
  }
  c___0->object.flags |= (unsigned int )flag;
  prio_queue_put(q, (void *)c___0);
  return;
}
}
static void explore_walk_step(struct rev_info *revs )
{
  struct topo_walk_info *info___0 ;
  struct commit_list *p___0 ;
  struct commit *c___0 ;
  void *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  info___0 = revs->topo_walk_info;
  tmp = prio_queue_get(& info___0->explore_queue);
  c___0 = (struct commit *)tmp;
  if (! c___0) {
    return;
  }
  tmp___0 = repo_parse_commit_gently(revs->repo, c___0, 1);
  if (tmp___0 < 0) {
    return;
  }
  count_explore_walked ++;
  if ((unsigned int )revs->sort_order == 2U) {
    record_author_date(& info___0->author_date, c___0);
  }
  if (revs->max_age != 18446744073709551615UL) {
    if (c___0->date < revs->max_age) {
      c___0->object.flags |= 1u << 1;
    }
  }
  tmp___1 = process_parents(revs, c___0, (struct commit_list **)((void *)0), (struct prio_queue *)((void *)0));
  if (tmp___1 < 0) {
    return;
  }
  if (c___0->object.flags & (1u << 1)) {
    mark_parents_uninteresting(c___0);
  }
  p___0 = c___0->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    test_flag_and_insert(& info___0->explore_queue, p___0->item, (int )(1u << 23));
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void explore_to_depth(struct rev_info *revs , timestamp_t gen_cutoff )
{
  struct topo_walk_info *info___0 ;
  struct commit *c___0 ;
  void *tmp ;
  timestamp_t tmp___0 ;

  {
  info___0 = revs->topo_walk_info;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = prio_queue_peek(& info___0->explore_queue);
    c___0 = (struct commit *)tmp;
    if (c___0) {
      tmp___0 = commit_graph_generation((struct commit  const  *)c___0);
      if (! (tmp___0 >= gen_cutoff)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    explore_walk_step(revs);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void indegree_walk_step(struct rev_info *revs )
{
  struct commit_list *p___0 ;
  struct topo_walk_info *info___0 ;
  struct commit *c___0 ;
  void *tmp ;
  int tmp___0 ;
  timestamp_t tmp___1 ;
  struct commit *parent ;
  int *pi ;
  int *tmp___2 ;
  int tmp___3 ;

  {
  info___0 = revs->topo_walk_info;
  tmp = prio_queue_get(& info___0->indegree_queue);
  c___0 = (struct commit *)tmp;
  if (! c___0) {
    return;
  }
  tmp___0 = repo_parse_commit_gently(revs->repo, c___0, 1);
  if (tmp___0 < 0) {
    return;
  }
  count_indegree_walked ++;
  tmp___1 = commit_graph_generation((struct commit  const  *)c___0);
  explore_to_depth(revs, tmp___1);
  p___0 = c___0->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    parent = p___0->item;
    tmp___2 = indegree_slab_at___0(& info___0->indegree, (struct commit  const  *)parent);
    pi = tmp___2;
    tmp___3 = repo_parse_commit_gently(revs->repo, parent, 1);
    if (tmp___3 < 0) {
      return;
    }
    if (*pi) {
      (*pi) ++;
    } else {
      *pi = 2;
    }
    test_flag_and_insert(& info___0->indegree_queue, parent, (int )(1u << 24));
    if (revs->first_parent_only) {
      return;
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void compute_indegrees_to_depth(struct rev_info *revs , timestamp_t gen_cutoff )
{
  struct topo_walk_info *info___0 ;
  struct commit *c___0 ;
  void *tmp ;
  timestamp_t tmp___0 ;

  {
  info___0 = revs->topo_walk_info;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = prio_queue_peek(& info___0->indegree_queue);
    c___0 = (struct commit *)tmp;
    if (c___0) {
      tmp___0 = commit_graph_generation((struct commit  const  *)c___0);
      if (! (tmp___0 >= gen_cutoff)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    indegree_walk_step(revs);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void reset_topo_walk(struct rev_info *revs )
{
  struct topo_walk_info *info___0 ;

  {
  info___0 = revs->topo_walk_info;
  clear_prio_queue(& info___0->explore_queue);
  clear_prio_queue(& info___0->indegree_queue);
  clear_prio_queue(& info___0->topo_queue);
  clear_indegree_slab___0(& info___0->indegree);
  clear_author_date_slab___0(& info___0->author_date);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)revs->topo_walk_info);
    revs->topo_walk_info = (struct topo_walk_info *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void init_topo_walk(struct rev_info *revs )
{
  struct topo_walk_info *info___0 ;
  struct commit_list *list___3 ;
  void *tmp ;
  struct commit *c___0 ;
  timestamp_t generation ;
  int tmp___0 ;
  int *tmp___1 ;
  struct commit *c___1 ;
  int *tmp___2 ;
  int tmp___3 ;

  {
  if (revs->topo_walk_info) {
    reset_topo_walk(revs);
  }
  tmp = xmalloc(sizeof(struct topo_walk_info ));
  revs->topo_walk_info = (struct topo_walk_info *)tmp;
  info___0 = revs->topo_walk_info;
  memset((void *)info___0, 0, sizeof(struct topo_walk_info ));
  init_indegree_slab___0(& info___0->indegree);
  memset((void *)(& info___0->explore_queue), 0, sizeof(info___0->explore_queue));
  memset((void *)(& info___0->indegree_queue), 0, sizeof(info___0->indegree_queue));
  memset((void *)(& info___0->topo_queue), 0, sizeof(info___0->topo_queue));
  {
  if ((unsigned int )revs->sort_order == 1U) {
    goto case_1;
  }
  if ((unsigned int )revs->sort_order == 2U) {
    goto case_2;
  }
  goto switch_default;
  switch_default: /* CIL Label */
  info___0->topo_queue.compare = (int (*)(void const   *one , void const   *two ,
                                          void *cb_data ))((void *)0);
  goto switch_break;
  case_1: /* CIL Label */
  info___0->topo_queue.compare = & compare_commits_by_commit_date;
  goto switch_break;
  case_2: /* CIL Label */
  init_author_date_slab___0(& info___0->author_date);
  info___0->topo_queue.compare = & compare_commits_by_author_date;
  info___0->topo_queue.cb_data = (void *)(& info___0->author_date);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  info___0->explore_queue.compare = & compare_commits_by_gen_then_commit_date;
  info___0->indegree_queue.compare = & compare_commits_by_gen_then_commit_date;
  info___0->min_generation = (timestamp_t )((1ULL << 63) - 1ULL);
  list___3 = revs->commits;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    c___0 = list___3->item;
    tmp___0 = repo_parse_commit_gently(revs->repo, c___0, 1);
    if (tmp___0) {
      goto __Cont;
    }
    test_flag_and_insert(& info___0->explore_queue, c___0, (int )(1u << 23));
    test_flag_and_insert(& info___0->indegree_queue, c___0, (int )(1u << 24));
    generation = commit_graph_generation((struct commit  const  *)c___0);
    if (generation < info___0->min_generation) {
      info___0->min_generation = generation;
    }
    tmp___1 = indegree_slab_at___0(& info___0->indegree, (struct commit  const  *)c___0);
    *tmp___1 = 1;
    if ((unsigned int )revs->sort_order == 2U) {
      record_author_date(& info___0->author_date, c___0);
    }
    __Cont: /* CIL Label */
    list___3 = list___3->next;
  }
  while_break: /* CIL Label */ ;
  }
  compute_indegrees_to_depth(revs, info___0->min_generation);
  list___3 = revs->commits;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! list___3) {
      goto while_break___0;
    }
    c___1 = list___3->item;
    tmp___2 = indegree_slab_at___0(& info___0->indegree, (struct commit  const  *)c___1);
    if (*tmp___2 == 1) {
      prio_queue_put(& info___0->topo_queue, (void *)c___1);
    }
    list___3 = list___3->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  if ((unsigned int )revs->sort_order == 0U) {
    prio_queue_reverse(& info___0->topo_queue);
  }
  tmp___3 = trace2_is_enabled();
  if (tmp___3) {
    if (! topo_walk_atexit_registered) {
      atexit(& trace2_topo_walk_statistics_atexit);
      topo_walk_atexit_registered = 1;
    }
  }
  return;
}
}
static struct commit *next_topo_commit(struct rev_info *revs )
{
  struct commit *c___0 ;
  struct topo_walk_info *info___0 ;
  void *tmp ;
  int *tmp___0 ;

  {
  info___0 = revs->topo_walk_info;
  tmp = prio_queue_get(& info___0->topo_queue);
  c___0 = (struct commit *)tmp;
  if (c___0) {
    tmp___0 = indegree_slab_at___0(& info___0->indegree, (struct commit  const  *)c___0);
    *tmp___0 = 0;
  }
  return (c___0);
}
}
static void expand_topo_walk(struct rev_info *revs , struct commit *commit )
{
  struct commit_list *p___0 ;
  struct topo_walk_info *info___0 ;
  char *tmp ;
  int tmp___0 ;
  struct commit *parent ;
  int *pi ;
  timestamp_t generation ;
  int tmp___1 ;

  {
  info___0 = revs->topo_walk_info;
  tmp___0 = process_parents(revs, commit, (struct commit_list **)((void *)0), (struct prio_queue *)((void *)0));
  if (tmp___0 < 0) {
    if (! revs->ignore_missing_links) {
      tmp = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
      die((char const   *)"Failed to traverse parents of commit %s", tmp);
    }
  }
  count_topo_walked ++;
  p___0 = commit->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    parent = p___0->item;
    if (parent->object.flags & (1u << 1)) {
      goto __Cont;
    }
    tmp___1 = repo_parse_commit_gently(revs->repo, parent, 1);
    if (tmp___1 < 0) {
      goto __Cont;
    }
    generation = commit_graph_generation((struct commit  const  *)parent);
    if (generation < info___0->min_generation) {
      info___0->min_generation = generation;
      compute_indegrees_to_depth(revs, info___0->min_generation);
    }
    pi = indegree_slab_at___0(& info___0->indegree, (struct commit  const  *)parent);
    (*pi) --;
    if (*pi == 1) {
      prio_queue_put(& info___0->topo_queue, (void *)parent);
    }
    if (revs->first_parent_only) {
      return;
    }
    __Cont: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int prepare_revision_walk(struct rev_info *revs )
{
  int i ;
  struct object_array old_pending ;
  struct commit_list **next___2 ;
  struct object_array_entry *e ;
  struct commit *commit ;
  struct commit *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  next___2 = & revs->commits;
  memcpy((void *)(& old_pending), (void const   *)(& revs->pending), sizeof(old_pending));
  revs->pending.nr = 0U;
  revs->pending.alloc = 0U;
  revs->pending.objects = (struct object_array_entry *)((void *)0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < old_pending.nr)) {
      goto while_break;
    }
    e = old_pending.objects + i;
    tmp = handle_commit(revs, e);
    commit = tmp;
    if (commit) {
      if (! (commit->object.flags & 1u)) {
        commit->object.flags |= 1u;
        next___2 = commit_list_append(commit, next___2);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  object_array_clear(& old_pending);
  if (revs->simplify_merges) {
    revs->treesame.name = (char const   *)"treesame";
  } else
  if (revs->limited) {
    tmp___0 = limiting_can_increase_treesame((struct rev_info  const  *)revs);
    if (tmp___0) {
      revs->treesame.name = (char const   *)"treesame";
    }
  }
  if (revs->exclude_promisor_objects) {
    for_each_packed_object(& mark_uninteresting, (void *)revs, (enum for_each_object_flags )2);
  }
  if (! revs->reflog_info) {
    prepare_to_use_bloom_filter(revs);
  }
  if (! revs->unsorted_input) {
    commit_list_sort_by_date(& revs->commits);
  }
  if (revs->no_walk) {
    return (0);
  }
  if (revs->limited) {
    tmp___1 = limit_list(revs);
    if (tmp___1 < 0) {
      return (-1);
    }
    if (revs->topo_order) {
      sort_in_topological_order(& revs->commits, revs->sort_order);
    }
  } else
  if (revs->topo_order) {
    init_topo_walk(revs);
  }
  if (revs->line_level_traverse) {
    tmp___2 = want_ancestry((struct rev_info  const  *)revs);
    if (tmp___2) {
      line_log_filter(revs);
    }
  }
  if (revs->simplify_merges) {
    simplify_merges(revs);
  }
  if (revs->children.name) {
    set_children(revs);
  }
  return (0);
}
}
static enum rewrite_result rewrite_one_1(struct rev_info *revs , struct commit **pp ,
                                         struct prio_queue *queue )
{
  struct commit *p___0 ;
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    p___0 = *pp;
    if (! revs->limited) {
      tmp = process_parents(revs, p___0, (struct commit_list **)((void *)0), queue);
      if (tmp < 0) {
        return ((enum rewrite_result )2);
      }
    }
    if (p___0->object.flags & (1u << 1)) {
      return ((enum rewrite_result )0);
    }
    if (! (p___0->object.flags & (1u << 2))) {
      return ((enum rewrite_result )0);
    }
    if (! p___0->parents) {
      return ((enum rewrite_result )1);
    }
    p___0 = one_relevant_parent((struct rev_info  const  *)revs, p___0->parents);
    if ((unsigned long )p___0 == (unsigned long )((void *)0)) {
      return ((enum rewrite_result )0);
    }
    *pp = p___0;
  }
  while_break: /* CIL Label */ ;
  }
}
}
static void merge_queue_into_list(struct prio_queue *q , struct commit_list **list___3 )
{
  struct commit *item___0 ;
  void *tmp ;
  struct commit_list *p___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! q->nr) {
      goto while_break;
    }
    tmp = prio_queue_peek(q);
    item___0 = (struct commit *)tmp;
    p___0 = *list___3;
    if (p___0) {
      if ((p___0->item)->date >= item___0->date) {
        list___3 = & p___0->next;
      } else {
        p___0 = commit_list_insert(item___0, list___3);
        list___3 = & p___0->next;
        prio_queue_get(q);
      }
    } else {
      p___0 = commit_list_insert(item___0, list___3);
      list___3 = & p___0->next;
      prio_queue_get(q);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static enum rewrite_result rewrite_one(struct rev_info *revs , struct commit **pp )
{
  struct prio_queue queue ;
  enum rewrite_result ret___67 ;
  enum rewrite_result tmp ;

  {
  queue.compare = & compare_commits_by_commit_date;
  queue.insertion_ctr = 0U;
  queue.cb_data = (void *)0;
  queue.alloc = 0;
  queue.nr = 0;
  queue.array = (struct prio_queue_entry *)0;
  tmp = rewrite_one_1(revs, pp, & queue);
  ret___67 = tmp;
  merge_queue_into_list(& queue, & revs->commits);
  clear_prio_queue(& queue);
  return (ret___67);
}
}
int rewrite_parents(struct rev_info *revs , struct commit *commit , enum rewrite_result (*rewrite_parent)(struct rev_info *revs ,
                                                                                                          struct commit **pp ) )
{
  struct commit_list **pp ;
  struct commit_list *parent ;
  enum rewrite_result tmp ;

  {
  pp = & commit->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *pp) {
      goto while_break;
    }
    parent = *pp;
    tmp = (*rewrite_parent)(revs, & parent->item);
    {
    if ((unsigned int )tmp == 0U) {
      goto case_0;
    }
    if ((unsigned int )tmp == 1U) {
      goto case_1;
    }
    if ((unsigned int )tmp == 2U) {
      goto case_2;
    }
    goto switch_break;
    case_0: /* CIL Label */
    goto switch_break;
    case_1: /* CIL Label */
    *pp = parent->next;
    goto while_continue;
    case_2: /* CIL Label */
    return (-1);
    switch_break: /* CIL Label */ ;
    }
    pp = & parent->next;
  }
  while_break: /* CIL Label */ ;
  }
  remove_duplicate_parents(revs, commit);
  return (0);
}
}
static int commit_rewrite_person(struct strbuf *buf___19 , char const   *what , struct string_list *mailmap___0 )
{
  char *person ;
  char *endp ;
  size_t len___0 ;
  size_t namelen ;
  size_t maillen ;
  char const   *name___0 ;
  char const   *mail ;
  struct ident_split ident ;
  size_t tmp ;
  int tmp___0 ;
  struct strbuf namemail ;
  int tmp___1 ;

  {
  person = strstr((char const   *)buf___19->buf, what);
  if (! person) {
    return (0);
  }
  tmp = strlen(what);
  person += tmp;
  endp = strchr((char const   *)person, '\n');
  if (! endp) {
    return (0);
  }
  len___0 = (size_t )(endp - person);
  tmp___0 = split_ident_line(& ident, (char const   *)person, (int )len___0);
  if (tmp___0) {
    return (0);
  }
  mail = ident.mail_begin;
  maillen = (size_t )(ident.mail_end - ident.mail_begin);
  name___0 = ident.name_begin;
  namelen = (size_t )(ident.name_end - ident.name_begin);
  tmp___1 = map_user(mailmap___0, & mail, & maillen, & name___0, & namelen);
  if (tmp___1) {
    namemail.alloc = 0UL;
    namemail.len = 0UL;
    namemail.buf = strbuf_slopbuf;
    strbuf_addf(& namemail, (char const   *)"%.*s <%.*s>", (int )namelen, name___0,
                (int )maillen, mail);
    strbuf_splice(buf___19, (size_t )(ident.name_begin - (char const   *)buf___19->buf),
                  (size_t )((ident.mail_end - ident.name_begin) + 1L), (void const   *)namemail.buf,
                  namemail.len);
    strbuf_release(& namemail);
    return (1);
  }
  return (0);
}
}
static int commit_match(struct commit *commit , struct rev_info *opt___0 )
{
  int retval ;
  char const   *encoding ;
  char const   *message___0 ;
  struct strbuf buf___19 ;
  size_t tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (! opt___0->grep_filter.pattern_list) {
    if (! opt___0->grep_filter.header_list) {
      return (1);
    }
  }
  if (opt___0->grep_filter.use_reflog_filter) {
    strbuf_addstr(& buf___19, (char const   *)"reflog ");
    get_reflog_message(& buf___19, opt___0->reflog_info);
    strbuf_addch(& buf___19, '\n');
  }
  encoding = get_log_output_encoding();
  message___0 = repo_logmsg_reencode(the_repository, (struct commit  const  *)commit,
                                     (char **)((void *)0), encoding);
  if (buf___19.len) {
    strbuf_addstr(& buf___19, message___0);
  }
  if (opt___0->grep_filter.header_list) {
    if (opt___0->mailmap) {
      if (! buf___19.len) {
        strbuf_addstr(& buf___19, message___0);
      }
      commit_rewrite_person(& buf___19, (char const   *)"\nauthor ", opt___0->mailmap);
      commit_rewrite_person(& buf___19, (char const   *)"\ncommitter ", opt___0->mailmap);
    }
  }
  if (opt___0->show_notes) {
    if (! buf___19.len) {
      strbuf_addstr(& buf___19, message___0);
    }
    format_display_notes((struct object_id  const  *)(& commit->object.oid), & buf___19,
                         encoding, 1);
  }
  if (buf___19.len) {
    retval = grep_buffer(& opt___0->grep_filter, (char const   *)buf___19.buf, buf___19.len);
  } else {
    tmp = strlen(message___0);
    retval = grep_buffer(& opt___0->grep_filter, (char const   *)((char *)message___0),
                         tmp);
  }
  strbuf_release(& buf___19);
  repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit, (void const   *)message___0);
  return (retval);
}
}
__inline static int want_ancestry(struct rev_info  const  *revs )
{
  int tmp ;

  {
  if (revs->rewrite_parents) {
    tmp = 1;
  } else
  if (revs->children.name) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static timestamp_t comparison_date(struct rev_info  const  *revs , struct commit *commit )
{
  timestamp_t tmp ;
  timestamp_t tmp___0 ;

  {
  if (revs->reflog_info) {
    tmp = get_reflog_timestamp((struct reflog_walk_info *)revs->reflog_info);
    tmp___0 = tmp;
  } else {
    tmp___0 = commit->date;
  }
  return (tmp___0);
}
}
enum commit_action get_commit_action(struct rev_info *revs , struct commit *commit )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  timestamp_t tmp___3 ;
  int n ;
  unsigned int tmp___4 ;
  int tmp___5 ;
  int n___0 ;
  struct commit_list *p___0 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  if (commit->object.flags & (1u << 3)) {
    return ((enum commit_action )0);
  }
  if (revs->unpacked) {
    tmp = has_object_pack((struct object_id  const  *)(& commit->object.oid));
    if (tmp) {
      return ((enum commit_action )0);
    }
  }
  if (revs->no_kept_objects) {
    tmp___0 = has_object_kept_pack((struct object_id  const  *)(& commit->object.oid),
                                   revs->keep_pack_cache_flags);
    if (tmp___0) {
      return ((enum commit_action )0);
    }
  }
  if (commit->object.flags & (1u << 1)) {
    return ((enum commit_action )0);
  }
  if (revs->line_level_traverse) {
    tmp___2 = want_ancestry((struct rev_info  const  *)revs);
    if (! tmp___2) {
      tmp___1 = line_log_process_ranges_arbitrary_commit(revs, commit);
      if (! tmp___1) {
        return ((enum commit_action )0);
      }
    }
  }
  if (revs->min_age != 18446744073709551615UL) {
    tmp___3 = comparison_date((struct rev_info  const  *)revs, commit);
    if (tmp___3 > revs->min_age) {
      return ((enum commit_action )0);
    }
  }
  if (revs->min_parents) {
    goto _L;
  } else
  if (revs->max_parents >= 0) {
    _L: /* CIL Label */
    tmp___4 = commit_list_count((struct commit_list  const  *)commit->parents);
    n = (int )tmp___4;
    if (n < revs->min_parents) {
      return ((enum commit_action )0);
    } else
    if (revs->max_parents >= 0) {
      if (n > revs->max_parents) {
        return ((enum commit_action )0);
      }
    }
  }
  tmp___5 = commit_match(commit, revs);
  if (! tmp___5) {
    return ((enum commit_action )0);
  }
  if (revs->prune) {
    if (revs->dense) {
      if (commit->object.flags & (1u << 2)) {
        tmp___6 = want_ancestry((struct rev_info  const  *)revs);
        if (! tmp___6) {
          return ((enum commit_action )0);
        }
        if (revs->show_pulls) {
          if (commit->object.flags & (1u << 15)) {
            return ((enum commit_action )1);
          }
        }
        n___0 = 0;
        p___0 = commit->parents;
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          if (! p___0) {
            goto while_break;
          }
          tmp___7 = relevant_commit(p___0->item);
          if (tmp___7) {
            n___0 ++;
            if (n___0 >= 2) {
              return ((enum commit_action )1);
            }
          }
          p___0 = p___0->next;
        }
        while_break: /* CIL Label */ ;
        }
        return ((enum commit_action )0);
      }
    }
  }
  return ((enum commit_action )1);
}
}
static void init_saved_parents_with_stride(struct saved_parents *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_saved_parents_with_stride(struct saved_parents *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(struct commit_list *) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (struct commit_list ***)((void *)0);
  return;
}
}
static void init_saved_parents(struct saved_parents *s___1 )  __attribute__((__unused__)) ;
static void init_saved_parents(struct saved_parents *s___1 )
{


  {
  init_saved_parents_with_stride(s___1, 1U);
  return;
}
}
static void clear_saved_parents(struct saved_parents *s___1 )  __attribute__((__unused__)) ;
static void clear_saved_parents(struct saved_parents *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (struct commit_list ***)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_saved_parents(struct saved_parents *s___1 , void (*free_fn)(struct commit_list ** ) )  __attribute__((__unused__)) ;
static void deep_clear_saved_parents(struct saved_parents *s___1 , void (*free_fn)(struct commit_list ** ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_saved_parents(s___1);
  return;
}
}
static struct commit_list **saved_parents_at_peek(struct saved_parents *s___1 , struct commit  const  *c___0 ,
                                                  int add_if_missing )  __attribute__((__unused__)) ;
static struct commit_list **saved_parents_at_peek(struct saved_parents *s___1 , struct commit  const  *c___0 ,
                                                  int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((struct commit_list **)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (struct commit_list ***)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (struct commit_list **)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((struct commit_list **)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (struct commit_list **)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static struct commit_list **saved_parents_at(struct saved_parents *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct commit_list **saved_parents_at(struct saved_parents *s___1 , struct commit  const  *c___0 )
{
  struct commit_list **tmp ;

  {
  tmp = saved_parents_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static struct commit_list **saved_parents_peek(struct saved_parents *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct commit_list **saved_parents_peek(struct saved_parents *s___1 , struct commit  const  *c___0 )
{
  struct commit_list **tmp ;

  {
  tmp = saved_parents_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
static void save_parents(struct rev_info *revs , struct commit *commit )
{
  struct commit_list **pp ;
  void *tmp ;

  {
  if (! revs->saved_parents_slab) {
    tmp = xmalloc(sizeof(struct saved_parents ));
    revs->saved_parents_slab = (struct saved_parents *)tmp;
    init_saved_parents(revs->saved_parents_slab);
  }
  pp = saved_parents_at(revs->saved_parents_slab, (struct commit  const  *)commit);
  if (*pp) {
    return;
  }
  if (commit->parents) {
    *pp = copy_commit_list(commit->parents);
  } else {
    *pp = (struct commit_list *)-1;
  }
  return;
}
}
static void free_saved_parents(struct rev_info *revs )
{


  {
  if (revs->saved_parents_slab) {
    clear_saved_parents(revs->saved_parents_slab);
  }
  return;
}
}
struct commit_list *get_saved_parents(struct rev_info *revs , struct commit  const  *commit )
{
  struct commit_list *parents ;
  struct commit_list **tmp ;

  {
  if (! revs->saved_parents_slab) {
    return ((struct commit_list *)commit->parents);
  }
  tmp = saved_parents_at(revs->saved_parents_slab, commit);
  parents = *tmp;
  if ((unsigned long )parents == (unsigned long )((struct commit_list *)-1)) {
    return ((struct commit_list *)((void *)0));
  }
  return (parents);
}
}
enum commit_action simplify_commit(struct rev_info *revs , struct commit *commit )
{
  enum commit_action action ;
  enum commit_action tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = get_commit_action(revs, commit);
  action = tmp;
  if ((unsigned int )action == 1U) {
    if (revs->prune) {
      if (revs->dense) {
        tmp___1 = want_ancestry((struct rev_info  const  *)revs);
        if (tmp___1) {
          if (revs->full_diff) {
            save_parents(revs, commit);
          }
          tmp___0 = rewrite_parents(revs, commit, & rewrite_one);
          if (tmp___0 < 0) {
            return ((enum commit_action )2);
          }
        }
      }
    }
  }
  return (action);
}
}
static void track_linear(struct rev_info *revs , struct commit *commit )
{
  struct commit_list *p___0 ;
  int tmp ;

  {
  if (revs->track_first_time) {
    revs->linear = 1U;
    revs->track_first_time = 0U;
  } else {
    p___0 = revs->previous_parents;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! p___0) {
        goto while_break;
      }
      if ((unsigned long )p___0->item == (unsigned long )((void *)0)) {
        goto while_break;
      } else {
        tmp = oideq((struct object_id  const  *)(& (p___0->item)->object.oid), (struct object_id  const  *)(& commit->object.oid));
        if (tmp) {
          goto while_break;
        }
      }
      p___0 = p___0->next;
    }
    while_break: /* CIL Label */ ;
    }
    revs->linear = (unsigned int )((unsigned long )p___0 != (unsigned long )((void *)0));
  }
  if (revs->reverse) {
    if (revs->linear) {
      commit->object.flags |= 1u << 26;
    }
  }
  free_commit_list(revs->previous_parents);
  revs->previous_parents = copy_commit_list(commit->parents);
  return;
}
}
static struct commit *get_revision_1(struct rev_info *revs )
{
  struct commit *commit ;
  timestamp_t tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  enum commit_action tmp___2 ;
  char *tmp___3 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (revs->reflog_info) {
      commit = next_reflog_entry(revs->reflog_info);
    } else
    if (revs->topo_walk_info) {
      commit = next_topo_commit(revs);
    } else {
      commit = pop_commit(& revs->commits);
    }
    if (! commit) {
      return ((struct commit *)((void *)0));
    }
    if (revs->reflog_info) {
      commit->object.flags &= ~ (((1u << 7) | 1u) | (1u << 3));
    }
    if (! revs->limited) {
      if (revs->max_age != 18446744073709551615UL) {
        tmp = comparison_date((struct rev_info  const  *)revs, commit);
        if (tmp < revs->max_age) {
          goto while_continue;
        }
      }
      if (revs->reflog_info) {
        try_to_simplify_commit(revs, commit);
      } else
      if (revs->topo_walk_info) {
        expand_topo_walk(revs, commit);
      } else {
        tmp___1 = process_parents(revs, commit, & revs->commits, (struct prio_queue *)((void *)0));
        if (tmp___1 < 0) {
          if (! revs->ignore_missing_links) {
            tmp___0 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
            die((char const   *)"Failed to traverse parents of commit %s", tmp___0);
          }
        }
      }
    }
    tmp___2 = simplify_commit(revs, commit);
    {
    if ((unsigned int )tmp___2 == 0U) {
      goto case_0;
    }
    if ((unsigned int )tmp___2 == 2U) {
      goto case_2;
    }
    goto switch_default;
    case_0: /* CIL Label */
    goto while_continue;
    case_2: /* CIL Label */
    tmp___3 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    die((char const   *)"Failed to simplify parents of commit %s", tmp___3);
    switch_default: /* CIL Label */
    if (revs->track_linear) {
      track_linear(revs, commit);
    }
    return (commit);
    switch_break: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int entry_unshown(struct object_array_entry *entry , void *cb_data_unused )
{


  {
  return (! ((entry->item)->flags & (1u << 3)));
}
}
static void gc_boundary(struct object_array *array )
{


  {
  if (array->nr == array->alloc) {
    object_array_filter(array, & entry_unshown, (void *)0);
  }
  return;
}
}
static void create_boundary_commit_list(struct rev_info *revs )
{
  unsigned int i ;
  struct commit *c___0 ;
  struct object_array *array ;
  struct object_array_entry *objects___0 ;

  {
  array = & revs->boundary_commits;
  objects___0 = array->objects;
  if (revs->commits) {
    free_commit_list(revs->commits);
    revs->commits = (struct commit_list *)((void *)0);
  }
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < array->nr)) {
      goto while_break;
    }
    c___0 = (struct commit *)(objects___0 + i)->item;
    if (! c___0) {
      goto __Cont;
    }
    if (! (c___0->object.flags & (1u << 6))) {
      goto __Cont;
    }
    if (c___0->object.flags & ((1u << 3) | (1u << 5))) {
      goto __Cont;
    }
    c___0->object.flags |= 1u << 5;
    commit_list_insert(c___0, & revs->commits);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  sort_in_topological_order(& revs->commits, revs->sort_order);
  return;
}
}
static struct commit *get_revision_internal(struct rev_info *revs )
{
  struct commit *c___0 ;
  struct commit_list *l ;
  struct commit *tmp ;
  struct object *p___0 ;

  {
  c___0 = (struct commit *)((void *)0);
  if (revs->boundary == 2U) {
    c___0 = pop_commit(& revs->commits);
    if (c___0) {
      c___0->object.flags |= 1u << 3;
    }
    return (c___0);
  }
  if (revs->max_count) {
    c___0 = get_revision_1(revs);
    if (c___0) {
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! (revs->skip_count > 0)) {
          goto while_break;
        }
        (revs->skip_count) --;
        c___0 = get_revision_1(revs);
        if (! c___0) {
          goto while_break;
        }
      }
      while_break: /* CIL Label */ ;
      }
    }
    if (revs->max_count > 0) {
      (revs->max_count) --;
    }
  }
  if (c___0) {
    c___0->object.flags |= 1u << 3;
  }
  if (! revs->boundary) {
    return (c___0);
  }
  if (! c___0) {
    revs->boundary = 2U;
    create_boundary_commit_list(revs);
    tmp = get_revision_internal(revs);
    return (tmp);
  }
  l = c___0->parents;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! l) {
      goto while_break___0;
    }
    p___0 = & (l->item)->object;
    if (p___0->flags & ((1u << 6) | (1u << 3))) {
      goto __Cont;
    }
    p___0->flags |= 1u << 6;
    gc_boundary(& revs->boundary_commits);
    add_object_array(p___0, (char const   *)((void *)0), & revs->boundary_commits);
    __Cont: /* CIL Label */
    l = l->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (c___0);
}
}
struct commit *get_revision(struct rev_info *revs )
{
  struct commit *c___0 ;
  struct commit_list *reversed ;
  int tmp ;

  {
  if (revs->reverse) {
    reversed = (struct commit_list *)((void *)0);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      c___0 = get_revision_internal(revs);
      if (! c___0) {
        goto while_break;
      }
      commit_list_insert(c___0, & reversed);
    }
    while_break: /* CIL Label */ ;
    }
    revs->commits = reversed;
    revs->reverse = 0U;
    revs->reverse_output_stage = 1U;
  }
  if (revs->reverse_output_stage) {
    c___0 = pop_commit(& revs->commits);
    if (revs->track_linear) {
      if (c___0) {
        if (c___0->object.flags & (1u << 26)) {
          tmp = 1;
        } else {
          tmp = 0;
        }
      } else {
        tmp = 0;
      }
      revs->linear = (unsigned int )tmp;
    }
    return (c___0);
  }
  c___0 = get_revision_internal(revs);
  if (c___0) {
    if (revs->graph) {
      graph_update(revs->graph, c___0);
    }
  }
  if (! c___0) {
    free_saved_parents(revs);
    if (revs->previous_parents) {
      free_commit_list(revs->previous_parents);
      revs->previous_parents = (struct commit_list *)((void *)0);
    }
  }
  return (c___0);
}
}
char const   *get_revision_mark(struct rev_info  const  *revs , struct commit  const  *commit )
{


  {
  if (commit->object.flags & (unsigned int )(1u << 5)) {
    return ((char const   *)"-");
  } else
  if (commit->object.flags & (unsigned int )(1u << 1)) {
    return ((char const   *)"^");
  } else
  if (commit->object.flags & (unsigned int )(1u << 9)) {
    return ((char const   *)"=");
  } else
  if (! revs) {
    goto _L;
  } else
  if (revs->left_right) {
    _L: /* CIL Label */
    if (commit->object.flags & (unsigned int )(1u << 8)) {
      return ((char const   *)"<");
    } else {
      return ((char const   *)">");
    }
  } else
  if (revs->graph) {
    return ((char const   *)"*");
  } else
  if (revs->cherry_mark) {
    return ((char const   *)"+");
  }
  return ((char const   *)"");
}
}
void put_revision_mark(struct rev_info  const  *revs , struct commit  const  *commit )
{
  char const   *mark ;
  char const   *tmp ;
  size_t tmp___0 ;

  {
  tmp = get_revision_mark(revs, commit);
  mark = tmp;
  tmp___0 = strlen(mark);
  if (! tmp___0) {
    return;
  }
  fputs((char const   * __restrict  )mark, (FILE * __restrict  )stdout);
  putchar(' ');
  return;
}
}
static double const   __ac_HASH_UPPER___82  =    (double const   )0.77;
__inline static void kh_resize_oid_set___82(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___82(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___82 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___82 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___82(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___82(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___82(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___82(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___82(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___82(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___82 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___82 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___82(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___82(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___82(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___82(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___82(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___82(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___82 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___82 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___82(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___82(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___82(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___82(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
void child_process_init(struct child_process *child )
{
  struct child_process blank___1 ;

  {
  blank___1.args.v = empty_strvec;
  blank___1.args.nr = 0UL;
  blank___1.args.alloc = 0UL;
  blank___1.env_array.v = empty_strvec;
  blank___1.env_array.nr = 0UL;
  blank___1.env_array.alloc = 0UL;
  blank___1.pid = 0;
  blank___1.trace2_child_id = 0;
  blank___1.trace2_child_us_start = 0UL;
  blank___1.trace2_child_class = (char const   *)0;
  blank___1.trace2_hook_name = (char const   *)0;
  blank___1.in = 0;
  blank___1.out = 0;
  blank___1.err = 0;
  blank___1.dir = (char const   *)0;
  blank___1.no_stdin = 0U;
  blank___1.no_stdout = 0U;
  blank___1.no_stderr = 0U;
  blank___1.git_cmd = 0U;
  blank___1.silent_exec_failure = 0U;
  blank___1.use_shell = 0U;
  blank___1.close_object_store = 0U;
  blank___1.stdout_to_stderr = 0U;
  blank___1.clean_on_exit = 0U;
  blank___1.wait_after_clean = 0U;
  blank___1.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  blank___1.clean_on_exit_handler_cbdata = (void *)0;
  memcpy((void *)child, (void const   *)(& blank___1), sizeof(*child));
  return;
}
}
void child_process_clear(struct child_process *child )
{


  {
  strvec_clear(& child->args);
  strvec_clear(& child->env_array);
  return;
}
}
static struct child_to_clean *children_to_clean  ;
static int installed_child_cleanup_handler  ;
static void cleanup_children(int sig , int in_signal )
{
  struct child_to_clean *children_to_wait_for ;
  struct child_to_clean *p___0 ;
  struct child_process *process___0 ;
  int tmp ;
  struct child_to_clean *p___1 ;
  __pid_t tmp___0 ;
  int *tmp___1 ;

  {
  children_to_wait_for = (struct child_to_clean *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! children_to_clean) {
      goto while_break;
    }
    p___0 = children_to_clean;
    children_to_clean = p___0->next;
    if (p___0->process) {
      if (! in_signal) {
        process___0 = p___0->process;
        if (process___0->clean_on_exit_handler) {
          {
          while (1) {
            while_continue___0: /* CIL Label */ ;
            tmp = trace_pass_fl(& trace_default_key);
            if (tmp) {
              trace_printf_key_fl((char const   *)"run-command.c", 48, & trace_default_key,
                                  (char const   *)"trace: run_command: running exit handler for pid %lu",
                                  (uintmax_t )p___0->pid);
            }
            goto while_break___0;
          }
          while_break___0: /* CIL Label */ ;
          }
          (*(process___0->clean_on_exit_handler))(process___0);
        }
      }
    }
    kill(p___0->pid, sig);
    if (p___0->process) {
      if ((p___0->process)->wait_after_clean) {
        p___0->next = children_to_wait_for;
        children_to_wait_for = p___0;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (! in_signal) {
      free((void *)p___0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! children_to_wait_for) {
      goto while_break___1;
    }
    p___1 = children_to_wait_for;
    children_to_wait_for = p___1->next;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      tmp___0 = waitpid(p___1->pid, (int *)((void *)0), 0);
      if (tmp___0 < 0) {
        tmp___1 = __errno_location();
        if (! (*tmp___1 == 4)) {
          goto while_break___2;
        }
      } else {
        goto while_break___2;
      }
    }
    while_break___2: /* CIL Label */ ;
    }
    if (! in_signal) {
      free((void *)p___1);
    }
  }
  while_break___1: /* CIL Label */ ;
  }
  return;
}
}
static void cleanup_children_on_signal(int sig )
{


  {
  cleanup_children(sig, 1);
  sigchain_pop(sig);
  raise(sig);
  return;
}
}
static void cleanup_children_on_exit(void)
{


  {
  cleanup_children(15, 0);
  return;
}
}
static void mark_child_for_cleanup(pid_t pid , struct child_process *process___0 )
{
  struct child_to_clean *p___0 ;
  void *tmp ;

  {
  tmp = xmalloc(sizeof(*p___0));
  p___0 = (struct child_to_clean *)tmp;
  p___0->pid = pid;
  p___0->process = process___0;
  p___0->next = children_to_clean;
  children_to_clean = p___0;
  if (! installed_child_cleanup_handler) {
    atexit(& cleanup_children_on_exit);
    sigchain_push_common(& cleanup_children_on_signal);
    installed_child_cleanup_handler = 1;
  }
  return;
}
}
static void clear_child_for_cleanup(pid_t pid )
{
  struct child_to_clean **pp ;
  struct child_to_clean *clean_me ;

  {
  pp = & children_to_clean;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *pp) {
      goto while_break;
    }
    clean_me = *pp;
    if (clean_me->pid == pid) {
      *pp = clean_me->next;
      free((void *)clean_me);
      return;
    }
    pp = & (*pp)->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
__inline static void close_pair(int *fd )
{


  {
  close(*(fd + 0));
  close(*(fd + 1));
  return;
}
}
int is_executable(char const   *name___0 )
{
  struct stat st ;
  int tmp ;

  {
  tmp = stat(name___0, & st);
  if (tmp) {
    return (0);
  } else
  if (! ((st.st_mode & 61440U) == 32768U)) {
    return (0);
  }
  return ((int )(st.st_mode & 64U));
}
}
static char *locate_in_PATH(char const   *file___0 )
{
  char const   *p___0 ;
  char *tmp ;
  struct strbuf buf___19 ;
  char const   *end ;
  char *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  tmp = getenv((char const   *)"PATH");
  p___0 = (char const   *)tmp;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (! p___0) {
    return ((char *)((void *)0));
  } else
  if (! *p___0) {
    return ((char *)((void *)0));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = strchrnul(p___0, ':');
    end = (char const   *)tmp___0;
    strbuf_setlen(& buf___19, (size_t )0);
    if ((unsigned long )end != (unsigned long )p___0) {
      strbuf_add(& buf___19, (void const   *)p___0, (size_t )(end - p___0));
      strbuf_addch(& buf___19, '/');
    }
    strbuf_addstr(& buf___19, file___0);
    tmp___2 = is_executable((char const   *)buf___19.buf);
    if (tmp___2) {
      tmp___1 = strbuf_detach(& buf___19, (size_t *)((void *)0));
      return (tmp___1);
    }
    if (! *end) {
      goto while_break;
    }
    p___0 = end + 1;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  return ((char *)((void *)0));
}
}
int exists_in_PATH(char const   *command___0 )
{
  char *r ;
  char *tmp ;
  int found ;

  {
  tmp = locate_in_PATH(command___0);
  r = tmp;
  found = (unsigned long )r != (unsigned long )((void *)0);
  free((void *)r);
  return (found);
}
}
int sane_execvp(char const   *file___0 , char **argv___0 )
{
  int exec_id ;
  int tmp ;
  int tmp___0 ;
  int ec ;
  int *tmp___1 ;
  int *tmp___2 ;
  int *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int *tmp___6 ;
  int *tmp___7 ;
  char *tmp___8 ;
  int *tmp___9 ;
  char *tmp___10 ;

  {
  tmp = trace2_exec_fl((char const   *)"run-command.c", 234, file___0, (char const   **)argv___0);
  exec_id = tmp;
  tmp___0 = execvp(file___0, argv___0);
  if (! tmp___0) {
    return (0);
  }
  tmp___1 = __errno_location();
  ec = *tmp___1;
  trace2_exec_result_fl((char const   *)"run-command.c", 243, exec_id, ec);
  tmp___2 = __errno_location();
  *tmp___2 = ec;
  tmp___9 = __errno_location();
  if (*tmp___9 == 13) {
    tmp___10 = strchr(file___0, '/');
    if (tmp___10) {
      goto _L;
    } else {
      tmp___3 = __errno_location();
      tmp___5 = exists_in_PATH(file___0);
      if (tmp___5) {
        *tmp___3 = 13;
      } else {
        *tmp___3 = 2;
      }
    }
  } else {
    _L: /* CIL Label */
    tmp___7 = __errno_location();
    if (*tmp___7 == 20) {
      tmp___8 = strchr(file___0, '/');
      if (! tmp___8) {
        tmp___6 = __errno_location();
        *tmp___6 = 2;
      }
    }
  }
  return (-1);
}
}
static char const   **prepare_shell_cmd(struct strvec *out , char const   **argv___0 )
{
  size_t tmp ;
  size_t tmp___0 ;

  {
  if (! *(argv___0 + 0)) {
    BUG_fl((char const   *)"run-command.c", 271, (char const   *)"shell command is empty");
  }
  tmp = strcspn(*(argv___0 + 0), (char const   *)"|&;<>()$`\\\"\' \t\n*?[#~=%");
  tmp___0 = strlen(*(argv___0 + 0));
  if (tmp != tmp___0) {
    strvec_push(out, (char const   *)"/bin/sh");
    strvec_push(out, (char const   *)"-c");
    if (! *(argv___0 + 1)) {
      strvec_push(out, *(argv___0 + 0));
    } else {
      strvec_pushf(out, (char const   *)"%s \"$@\"", *(argv___0 + 0));
    }
  }
  strvec_pushv(out, argv___0);
  return (out->v);
}
}
static int child_notifier  =    -1;
static void child_die(enum child_errcode err___4 )
{
  struct child_err buf___19 ;
  int *tmp ;

  {
  buf___19.err = err___4;
  tmp = __errno_location();
  buf___19.syserr = *tmp;
  xwrite(child_notifier, (void const   *)(& buf___19), sizeof(buf___19));
  _exit(1);
}
}
static void child_dup2(int fd , int to )
{
  int tmp ;

  {
  tmp = dup2(fd, to);
  if (tmp < 0) {
    child_die((enum child_errcode )1);
  }
  return;
}
}
static void child_close(int fd )
{
  int tmp ;

  {
  tmp = close(fd);
  if (tmp) {
    child_die((enum child_errcode )2);
  }
  return;
}
}
static void child_close_pair(int *fd )
{


  {
  child_close(*(fd + 0));
  child_close(*(fd + 1));
  return;
}
}
static void child_error_fn(char const   *err___4 , va_list params )
{
  char msg___5[39] ;

  {
  msg___5[0] = (char )'e';
  msg___5[1] = (char )'r';
  msg___5[2] = (char )'r';
  msg___5[3] = (char )'o';
  msg___5[4] = (char )'r';
  msg___5[5] = (char )'(';
  msg___5[6] = (char )')';
  msg___5[7] = (char )' ';
  msg___5[8] = (char )'s';
  msg___5[9] = (char )'h';
  msg___5[10] = (char )'o';
  msg___5[11] = (char )'u';
  msg___5[12] = (char )'l';
  msg___5[13] = (char )'d';
  msg___5[14] = (char )' ';
  msg___5[15] = (char )'n';
  msg___5[16] = (char )'o';
  msg___5[17] = (char )'t';
  msg___5[18] = (char )' ';
  msg___5[19] = (char )'b';
  msg___5[20] = (char )'e';
  msg___5[21] = (char )' ';
  msg___5[22] = (char )'c';
  msg___5[23] = (char )'a';
  msg___5[24] = (char )'l';
  msg___5[25] = (char )'l';
  msg___5[26] = (char )'e';
  msg___5[27] = (char )'d';
  msg___5[28] = (char )' ';
  msg___5[29] = (char )'i';
  msg___5[30] = (char )'n';
  msg___5[31] = (char )' ';
  msg___5[32] = (char )'c';
  msg___5[33] = (char )'h';
  msg___5[34] = (char )'i';
  msg___5[35] = (char )'l';
  msg___5[36] = (char )'d';
  msg___5[37] = (char )'\n';
  msg___5[38] = (char )'\000';
  xwrite(2, (void const   *)(msg___5), sizeof(msg___5) - 1UL);
  return;
}
}
static void child_warn_fn(char const   *err___4 , va_list params )
{
  char msg___5[38] ;

  {
  msg___5[0] = (char )'w';
  msg___5[1] = (char )'a';
  msg___5[2] = (char )'r';
  msg___5[3] = (char )'n';
  msg___5[4] = (char )'(';
  msg___5[5] = (char )')';
  msg___5[6] = (char )' ';
  msg___5[7] = (char )'s';
  msg___5[8] = (char )'h';
  msg___5[9] = (char )'o';
  msg___5[10] = (char )'u';
  msg___5[11] = (char )'l';
  msg___5[12] = (char )'d';
  msg___5[13] = (char )' ';
  msg___5[14] = (char )'n';
  msg___5[15] = (char )'o';
  msg___5[16] = (char )'t';
  msg___5[17] = (char )' ';
  msg___5[18] = (char )'b';
  msg___5[19] = (char )'e';
  msg___5[20] = (char )' ';
  msg___5[21] = (char )'c';
  msg___5[22] = (char )'a';
  msg___5[23] = (char )'l';
  msg___5[24] = (char )'l';
  msg___5[25] = (char )'e';
  msg___5[26] = (char )'d';
  msg___5[27] = (char )' ';
  msg___5[28] = (char )'i';
  msg___5[29] = (char )'n';
  msg___5[30] = (char )' ';
  msg___5[31] = (char )'c';
  msg___5[32] = (char )'h';
  msg___5[33] = (char )'i';
  msg___5[34] = (char )'l';
  msg___5[35] = (char )'d';
  msg___5[36] = (char )'\n';
  msg___5[37] = (char )'\000';
  xwrite(2, (void const   *)(msg___5), sizeof(msg___5) - 1UL);
  return;
}
}
static void child_die_fn(char const   *err___4 , va_list params )  __attribute__((__noreturn__)) ;
static void child_die_fn(char const   *err___4 , va_list params )
{
  char msg___5[37] ;

  {
  msg___5[0] = (char )'d';
  msg___5[1] = (char )'i';
  msg___5[2] = (char )'e';
  msg___5[3] = (char )'(';
  msg___5[4] = (char )')';
  msg___5[5] = (char )' ';
  msg___5[6] = (char )'s';
  msg___5[7] = (char )'h';
  msg___5[8] = (char )'o';
  msg___5[9] = (char )'u';
  msg___5[10] = (char )'l';
  msg___5[11] = (char )'d';
  msg___5[12] = (char )' ';
  msg___5[13] = (char )'n';
  msg___5[14] = (char )'o';
  msg___5[15] = (char )'t';
  msg___5[16] = (char )' ';
  msg___5[17] = (char )'b';
  msg___5[18] = (char )'e';
  msg___5[19] = (char )' ';
  msg___5[20] = (char )'c';
  msg___5[21] = (char )'a';
  msg___5[22] = (char )'l';
  msg___5[23] = (char )'l';
  msg___5[24] = (char )'e';
  msg___5[25] = (char )'d';
  msg___5[26] = (char )' ';
  msg___5[27] = (char )'i';
  msg___5[28] = (char )'n';
  msg___5[29] = (char )' ';
  msg___5[30] = (char )'c';
  msg___5[31] = (char )'h';
  msg___5[32] = (char )'i';
  msg___5[33] = (char )'l';
  msg___5[34] = (char )'d';
  msg___5[35] = (char )'\n';
  msg___5[36] = (char )'\000';
  xwrite(2, (void const   *)(msg___5), sizeof(msg___5) - 1UL);
  _exit(2);
}
}
static void (*old_errfn)(char const   *err , va_list params )  ;
static void child_err_spew(struct child_process *cmd , struct child_err *cerr )
{
  void (*die_message_routine___0)(char const   * , va_list params ) ;
  report_fn tmp ;
  int *tmp___0 ;

  {
  tmp = get_die_message_routine();
  die_message_routine___0 = tmp;
  old_errfn = get_error_routine();
  set_error_routine(die_message_routine___0);
  tmp___0 = __errno_location();
  *tmp___0 = cerr->syserr;
  {
  if ((unsigned int )cerr->err == 0U) {
    goto case_0;
  }
  if ((unsigned int )cerr->err == 1U) {
    goto case_1;
  }
  if ((unsigned int )cerr->err == 2U) {
    goto case_2;
  }
  if ((unsigned int )cerr->err == 3U) {
    goto case_3;
  }
  if ((unsigned int )cerr->err == 4U) {
    goto case_4;
  }
  if ((unsigned int )cerr->err == 5U) {
    goto case_5;
  }
  if ((unsigned int )cerr->err == 6U) {
    goto case_6;
  }
  goto switch_break;
  case_0: /* CIL Label */
  error_errno((char const   *)"exec \'%s\': cd to \'%s\' failed", *(cmd->args.v + 0),
              cmd->dir);
  const_error();
  goto switch_break;
  case_1: /* CIL Label */
  error_errno((char const   *)"dup2() in child failed");
  const_error();
  goto switch_break;
  case_2: /* CIL Label */
  error_errno((char const   *)"close() in child failed");
  const_error();
  goto switch_break;
  case_3: /* CIL Label */
  error_errno((char const   *)"sigprocmask failed restoring signals");
  const_error();
  goto switch_break;
  case_4: /* CIL Label */
  error_errno((char const   *)"cannot run %s", *(cmd->args.v + 0));
  const_error();
  goto switch_break;
  case_5: /* CIL Label */
  goto switch_break;
  case_6: /* CIL Label */
  error_errno((char const   *)"cannot exec \'%s\'", *(cmd->args.v + 0));
  const_error();
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  set_error_routine(old_errfn);
  return;
}
}
static int prepare_cmd(struct strvec *out , struct child_process  const  *cmd )
{
  char *program ;
  char *tmp ;
  int *tmp___0 ;
  int tmp___1 ;

  {
  if (! *(cmd->args.v + 0)) {
    BUG_fl((char const   *)"run-command.c", 401, (char const   *)"command is empty");
  }
  strvec_push(out, (char const   *)"/bin/sh");
  if (cmd->git_cmd) {
    prepare_git_cmd(out, (char const   **)cmd->args.v);
  } else
  if (cmd->use_shell) {
    prepare_shell_cmd(out, (char const   **)cmd->args.v);
  } else {
    strvec_pushv(out, (char const   **)cmd->args.v);
  }
  tmp___1 = git_has_dir_sep(*(out->v + 1));
  if (! tmp___1) {
    tmp = locate_in_PATH(*(out->v + 1));
    program = tmp;
    if (program) {
      free((void *)((char *)*(out->v + 1)));
      *(out->v + 1) = (char const   *)program;
    } else {
      strvec_clear(out);
      tmp___0 = __errno_location();
      *tmp___0 = 2;
      return (-1);
    }
  }
  return (0);
}
}
static char **prep_childenv(char const   **deltaenv )
{
  char **childenv ;
  struct string_list env ;
  struct strbuf key___1 ;
  char const   **p___0 ;
  int i ;
  char const   *equals ;
  char *tmp ;
  struct string_list_item *tmp___0 ;
  struct string_list_item *tmp___1 ;
  char const   *equals___0 ;
  char *tmp___2 ;
  struct string_list_item *tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;

  {
  env.items = (struct string_list_item *)0;
  env.nr = 0U;
  env.alloc = 0U;
  env.strdup_strings = 1U;
  env.cmp = (int (*)(char const   * , char const   * ))0;
  key___1.alloc = 0UL;
  key___1.len = 0UL;
  key___1.buf = strbuf_slopbuf;
  p___0 = (char const   **)environ;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (p___0) {
      if (! *p___0) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = strchr((char const   *)*p___0, '=');
    equals = (char const   *)tmp;
    if (equals) {
      strbuf_setlen(& key___1, (size_t )0);
      strbuf_add(& key___1, (void const   *)*p___0, (size_t )(equals - (char const   *)*p___0));
      tmp___0 = string_list_append(& env, (char const   *)key___1.buf);
      tmp___0->util = (void *)*p___0;
    } else {
      tmp___1 = string_list_append(& env, (char const   *)*p___0);
      tmp___1->util = (void *)*p___0;
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_sort(& env);
  p___0 = deltaenv;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (p___0) {
      if (! *p___0) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    tmp___2 = strchr((char const   *)*p___0, '=');
    equals___0 = (char const   *)tmp___2;
    if (equals___0) {
      strbuf_setlen(& key___1, (size_t )0);
      strbuf_add(& key___1, (void const   *)*p___0, (size_t )(equals___0 - (char const   *)*p___0));
      tmp___3 = string_list_insert(& env, (char const   *)key___1.buf);
      tmp___3->util = (void *)*p___0;
    } else {
      string_list_remove(& env, (char const   *)*p___0, 0);
    }
    p___0 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___4 = st_mult(sizeof(*childenv), (size_t )(env.nr + 1U));
  tmp___5 = xmalloc(tmp___4);
  childenv = (char **)tmp___5;
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned int )i < env.nr)) {
      goto while_break___1;
    }
    *(childenv + i) = (char *)(env.items + i)->util;
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  *(childenv + env.nr) = (char *)((void *)0);
  string_list_clear(& env, 0);
  strbuf_release(& key___1);
  return (childenv);
}
}
static void atfork_prepare(struct atfork_state *as )
{
  sigset_t all___2 ;
  int tmp ;
  int e ;
  int tmp___0 ;
  char *tmp___1 ;
  int e___0 ;
  int tmp___2 ;
  char *tmp___3 ;

  {
  tmp = sigfillset(& all___2);
  if (tmp) {
    die_errno((char const   *)"sigfillset");
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = pthread_sigmask(2, (__sigset_t const   * __restrict  )(& all___2), (__sigset_t * __restrict  )(& as->old));
    e = tmp___0;
    if (e) {
      tmp___1 = strerror(e);
      BUG_fl((char const   *)"run-command.c", 512, (char const   *)"%s: %s", "blocking all signals",
             tmp___1);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___2 = pthread_setcancelstate(1, & as->cs);
    e___0 = tmp___2;
    if (e___0) {
      tmp___3 = strerror(e___0);
      BUG_fl((char const   *)"run-command.c", 514, (char const   *)"%s: %s", "disabling cancellation",
             tmp___3);
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void atfork_parent(struct atfork_state *as )
{
  int e ;
  int tmp ;
  char *tmp___0 ;
  int e___0 ;
  int tmp___1 ;
  char *tmp___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = pthread_setcancelstate(as->cs, (int *)((void *)0));
    e = tmp;
    if (e) {
      tmp___0 = strerror(e);
      BUG_fl((char const   *)"run-command.c", 525, (char const   *)"%s: %s", "re-enabling cancellation",
             tmp___0);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___1 = pthread_sigmask(2, (__sigset_t const   * __restrict  )(& as->old), (__sigset_t * __restrict  )((void *)0));
    e___0 = tmp___1;
    if (e___0) {
      tmp___2 = strerror(e___0);
      BUG_fl((char const   *)"run-command.c", 527, (char const   *)"%s: %s", "restoring signal mask",
             tmp___2);
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
__inline static void set_cloexec(int fd )
{
  int flags___0 ;
  int tmp ;

  {
  tmp = fcntl(fd, 1);
  flags___0 = tmp;
  if (flags___0 >= 0) {
    fcntl(fd, 2, flags___0 | 1);
  }
  return;
}
}
static int wait_or_whine(pid_t pid , char const   *argv0 , int in_signal )
{
  int status ;
  int code ;
  pid_t waiting ;
  int failed_errno ;
  int *tmp ;
  int *tmp___0 ;
  int *tmp___1 ;

  {
  code = -1;
  failed_errno = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    waiting = waitpid(pid, & status, 0);
    if (waiting < 0) {
      tmp = __errno_location();
      if (! (*tmp == 4)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (waiting < 0) {
    tmp___0 = __errno_location();
    failed_errno = *tmp___0;
    if (! in_signal) {
      error_errno((char const   *)"waitpid for %s failed", argv0);
      const_error();
    }
  } else
  if (waiting != pid) {
    if (! in_signal) {
      error((char const   *)"waitpid is confused (%s)", argv0);
      const_error();
    }
  } else
  if ((int )((signed char )((status & 0x7f) + 1)) >> 1 > 0) {
    code = status & 0x7f;
    if (! in_signal) {
      if (code != 2) {
        if (code != 3) {
          if (code != 13) {
            error((char const   *)"%s died of signal %d", argv0, code);
            const_error();
          }
        }
      }
    }
    code += 128;
  } else
  if ((status & 0x7f) == 0) {
    code = (status & 0xff00) >> 8;
  } else
  if (! in_signal) {
    error((char const   *)"waitpid is confused (%s)", argv0);
    const_error();
  }
  if (! in_signal) {
    clear_child_for_cleanup(pid);
  }
  tmp___1 = __errno_location();
  *tmp___1 = failed_errno;
  return (code);
}
}
static void trace_add_env(struct strbuf *dst , char const   **deltaenv )
{
  struct string_list envs ;
  char const   **e ;
  int i ;
  int printed_unset ;
  struct strbuf key___1 ;
  char *equals ;
  char *tmp ;
  struct string_list_item *tmp___0 ;
  struct string_list_item *tmp___1 ;
  char const   *var ;
  char const   *val ;
  char *tmp___2 ;
  char const   *var___0 ;
  char const   *val___0 ;
  char const   *oldval ;
  char *tmp___3 ;
  int tmp___4 ;

  {
  envs.items = (struct string_list_item *)0;
  envs.nr = 0U;
  envs.alloc = 0U;
  envs.strdup_strings = 1U;
  envs.cmp = (int (*)(char const   * , char const   * ))0;
  printed_unset = 0;
  e = deltaenv;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (e) {
      if (! *e) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    key___1.alloc = 0UL;
    key___1.len = 0UL;
    key___1.buf = strbuf_slopbuf;
    tmp = strchr((char const   *)*e, '=');
    equals = tmp;
    if (equals) {
      strbuf_add(& key___1, (void const   *)*e, (size_t )(equals - (char *)*e));
      tmp___0 = string_list_insert(& envs, (char const   *)key___1.buf);
      tmp___0->util = (void *)(equals + 1);
    } else {
      tmp___1 = string_list_insert(& envs, (char const   *)*e);
      tmp___1->util = (void *)0;
    }
    strbuf_release(& key___1);
    e ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < envs.nr)) {
      goto while_break___0;
    }
    var = (char const   *)(envs.items + i)->string;
    val = (char const   *)(envs.items + i)->util;
    if (val) {
      goto __Cont;
    } else {
      tmp___2 = getenv(var);
      if (! tmp___2) {
        goto __Cont;
      }
    }
    if (! printed_unset) {
      strbuf_addstr(dst, (char const   *)" unset");
      printed_unset = 1;
    }
    strbuf_addf(dst, (char const   *)" %s", var);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (printed_unset) {
    strbuf_addch(dst, ';');
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned int )i < envs.nr)) {
      goto while_break___1;
    }
    var___0 = (char const   *)(envs.items + i)->string;
    val___0 = (char const   *)(envs.items + i)->util;
    if (! val___0) {
      goto __Cont___0;
    }
    tmp___3 = getenv(var___0);
    oldval = (char const   *)tmp___3;
    if (oldval) {
      tmp___4 = strcmp(val___0, oldval);
      if (! tmp___4) {
        goto __Cont___0;
      }
    }
    strbuf_addf(dst, (char const   *)" %s=", var___0);
    sq_quote_buf_pretty(dst, val___0);
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  string_list_clear(& envs, 0);
  return;
}
}
static void trace_run_command(struct child_process  const  *cp )
{
  struct strbuf buf___19 ;
  int tmp ;
  int tmp___0 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = trace_want(& trace_default_key);
  if (! tmp) {
    return;
  }
  strbuf_addstr(& buf___19, (char const   *)"trace: run_command:");
  if (cp->dir) {
    strbuf_addstr(& buf___19, (char const   *)" cd ");
    sq_quote_buf_pretty(& buf___19, (char const   *)cp->dir);
    strbuf_addch(& buf___19, ';');
  }
  trace_add_env(& buf___19, (char const   **)cp->env_array.v);
  if (cp->git_cmd) {
    strbuf_addstr(& buf___19, (char const   *)" git");
  }
  sq_quote_argv_pretty(& buf___19, (char const   **)cp->args.v);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = trace_pass_fl(& trace_default_key);
    if (tmp___0) {
      trace_printf_key_fl((char const   *)"run-command.c", 654, & trace_default_key,
                          (char const   *)"%s", buf___19.buf);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  return;
}
}
int start_command(struct child_process *cmd )
{
  int need_in ;
  int need_out ;
  int need_err ;
  int fdin[2] ;
  int fdout[2] ;
  int fderr[2] ;
  int failed_errno ;
  char *str ;
  int tmp ;
  int *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int *tmp___6 ;
  char *tmp___7 ;
  int *tmp___8 ;
  int tmp___9 ;
  int notify_pipe[2] ;
  int null_fd ;
  char **childenv ;
  struct strvec argv___0 ;
  struct child_err cerr ;
  struct atfork_state as ;
  int *tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int *tmp___13 ;
  int sig ;
  int tmp___14 ;
  __sighandler_t tmp___15 ;
  int tmp___16 ;
  int *tmp___17 ;
  int *tmp___18 ;
  int *tmp___19 ;
  ssize_t tmp___20 ;
  int *tmp___21 ;

  {
  if (! cmd->no_stdin) {
    if (cmd->in < 0) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  need_in = tmp;
  if (need_in) {
    tmp___1 = pipe((int *)(fdin));
    if (tmp___1 < 0) {
      tmp___0 = __errno_location();
      failed_errno = *tmp___0;
      if (cmd->out > 0) {
        close(cmd->out);
      }
      str = "standard input";
      goto fail_pipe;
    }
    cmd->in = fdin[1];
  }
  if (! cmd->no_stdout) {
    if (! cmd->stdout_to_stderr) {
      if (cmd->out < 0) {
        tmp___2 = 1;
      } else {
        tmp___2 = 0;
      }
    } else {
      tmp___2 = 0;
    }
  } else {
    tmp___2 = 0;
  }
  need_out = tmp___2;
  if (need_out) {
    tmp___4 = pipe((int *)(fdout));
    if (tmp___4 < 0) {
      tmp___3 = __errno_location();
      failed_errno = *tmp___3;
      if (need_in) {
        close_pair((int *)(fdin));
      } else
      if (cmd->in) {
        close(cmd->in);
      }
      str = "standard output";
      goto fail_pipe;
    }
    cmd->out = fdout[0];
  }
  if (! cmd->no_stderr) {
    if (cmd->err < 0) {
      tmp___5 = 1;
    } else {
      tmp___5 = 0;
    }
  } else {
    tmp___5 = 0;
  }
  need_err = tmp___5;
  if (need_err) {
    tmp___9 = pipe((int *)(fderr));
    if (tmp___9 < 0) {
      tmp___6 = __errno_location();
      failed_errno = *tmp___6;
      if (need_in) {
        close_pair((int *)(fdin));
      } else
      if (cmd->in) {
        close(cmd->in);
      }
      if (need_out) {
        close_pair((int *)(fdout));
      } else
      if (cmd->out) {
        close(cmd->out);
      }
      str = "standard error";
      fail_pipe:
      tmp___7 = strerror(failed_errno);
      error((char const   *)"cannot create %s pipe for %s: %s", str, *(cmd->args.v + 0),
            tmp___7);
      const_error();
      child_process_clear(cmd);
      tmp___8 = __errno_location();
      *tmp___8 = failed_errno;
      return (-1);
    }
    cmd->err = fderr[0];
  }
  trace2_child_start_fl((char const   *)"run-command.c", 721, cmd);
  trace_run_command((struct child_process  const  *)cmd);
  fflush((FILE *)((void *)0));
  if (cmd->close_object_store) {
    close_object_store(the_repository->objects);
  }
  null_fd = -1;
  argv___0.v = empty_strvec;
  argv___0.nr = 0UL;
  argv___0.alloc = 0UL;
  tmp___11 = prepare_cmd(& argv___0, (struct child_process  const  *)cmd);
  if (tmp___11 < 0) {
    tmp___10 = __errno_location();
    failed_errno = *tmp___10;
    cmd->pid = -1;
    if (! cmd->silent_exec_failure) {
      error_errno((char const   *)"cannot run %s", *(cmd->args.v + 0));
      const_error();
    }
    goto end_of_spawn;
  }
  tmp___12 = pipe((int *)(notify_pipe));
  if (tmp___12) {
    notify_pipe[1] = -1;
    notify_pipe[0] = notify_pipe[1];
  }
  if (cmd->no_stdin) {
    null_fd = xopen((char const   *)"/dev/null", 524290);
    set_cloexec(null_fd);
  } else
  if (cmd->no_stdout) {
    null_fd = xopen((char const   *)"/dev/null", 524290);
    set_cloexec(null_fd);
  } else
  if (cmd->no_stderr) {
    null_fd = xopen((char const   *)"/dev/null", 524290);
    set_cloexec(null_fd);
  }
  childenv = prep_childenv((char const   **)cmd->env_array.v);
  atfork_prepare(& as);
  cmd->pid = fork();
  tmp___13 = __errno_location();
  failed_errno = *tmp___13;
  if (! cmd->pid) {
    set_die_routine(& child_die_fn);
    set_error_routine(& child_error_fn);
    set_warn_routine(& child_warn_fn);
    close(notify_pipe[0]);
    set_cloexec(notify_pipe[1]);
    child_notifier = notify_pipe[1];
    if (cmd->no_stdin) {
      child_dup2(null_fd, 0);
    } else
    if (need_in) {
      child_dup2(fdin[0], 0);
      child_close_pair((int *)(fdin));
    } else
    if (cmd->in) {
      child_dup2(cmd->in, 0);
      child_close(cmd->in);
    }
    if (cmd->no_stderr) {
      child_dup2(null_fd, 2);
    } else
    if (need_err) {
      child_dup2(fderr[1], 2);
      child_close_pair((int *)(fderr));
    } else
    if (cmd->err > 1) {
      child_dup2(cmd->err, 2);
      child_close(cmd->err);
    }
    if (cmd->no_stdout) {
      child_dup2(null_fd, 1);
    } else
    if (cmd->stdout_to_stderr) {
      child_dup2(2, 1);
    } else
    if (need_out) {
      child_dup2(fdout[1], 1);
      child_close_pair((int *)(fdout));
    } else
    if (cmd->out > 1) {
      child_dup2(cmd->out, 1);
      child_close(cmd->out);
    }
    if (cmd->dir) {
      tmp___14 = chdir(cmd->dir);
      if (tmp___14) {
        child_die((enum child_errcode )0);
      }
    }
    sig = 1;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (sig < 65)) {
        goto while_break;
      }
      tmp___15 = signal(sig, (void (*)(int  ))0);
      if ((unsigned long )tmp___15 == (unsigned long )((void (*)(int  ))1)) {
        signal(sig, (void (*)(int  ))1);
      }
      sig ++;
    }
    while_break: /* CIL Label */ ;
    }
    tmp___16 = sigprocmask(2, (sigset_t const   * __restrict  )(& as.old), (sigset_t * __restrict  )((void *)0));
    if (tmp___16 != 0) {
      child_die((enum child_errcode )3);
    }
    execve(*(argv___0.v + 1), (char **)argv___0.v + 1, (char **)childenv);
    tmp___17 = __errno_location();
    if (*tmp___17 == 8) {
      execve(*(argv___0.v + 0), (char **)argv___0.v, (char **)childenv);
    }
    tmp___18 = __errno_location();
    if (*tmp___18 == 2) {
      if (cmd->silent_exec_failure) {
        child_die((enum child_errcode )5);
      }
      child_die((enum child_errcode )4);
    } else {
      child_die((enum child_errcode )6);
    }
  }
  atfork_parent(& as);
  if (cmd->pid < 0) {
    error_errno((char const   *)"cannot fork() for %s", *(cmd->args.v + 0));
    const_error();
  } else
  if (cmd->clean_on_exit) {
    mark_child_for_cleanup(cmd->pid, cmd);
  }
  close(notify_pipe[1]);
  tmp___20 = xread(notify_pipe[0], (void *)(& cerr), sizeof(cerr));
  if ((unsigned long )tmp___20 == sizeof(cerr)) {
    wait_or_whine(cmd->pid, *(cmd->args.v + 0), 0);
    child_err_spew(cmd, & cerr);
    tmp___19 = __errno_location();
    failed_errno = *tmp___19;
    cmd->pid = -1;
  }
  close(notify_pipe[0]);
  if (null_fd >= 0) {
    close(null_fd);
  }
  strvec_clear(& argv___0);
  free((void *)childenv);
  end_of_spawn:
  if (cmd->pid < 0) {
    trace2_child_exit_fl((char const   *)"run-command.c", 937, cmd, -1);
    if (need_in) {
      close_pair((int *)(fdin));
    } else
    if (cmd->in) {
      close(cmd->in);
    }
    if (need_out) {
      close_pair((int *)(fdout));
    } else
    if (cmd->out) {
      close(cmd->out);
    }
    if (need_err) {
      close_pair((int *)(fderr));
    } else
    if (cmd->err) {
      close(cmd->err);
    }
    child_process_clear(cmd);
    tmp___21 = __errno_location();
    *tmp___21 = failed_errno;
    return (-1);
  }
  if (need_in) {
    close(fdin[0]);
  } else
  if (cmd->in) {
    close(cmd->in);
  }
  if (need_out) {
    close(fdout[1]);
  } else
  if (cmd->out) {
    close(cmd->out);
  }
  if (need_err) {
    close(fderr[1]);
  } else
  if (cmd->err) {
    close(cmd->err);
  }
  return (0);
}
}
int finish_command(struct child_process *cmd )
{
  int ret___67 ;
  int tmp ;

  {
  tmp = wait_or_whine(cmd->pid, *(cmd->args.v + 0), 0);
  ret___67 = tmp;
  trace2_child_exit_fl((char const   *)"run-command.c", 977, cmd, ret___67);
  child_process_clear(cmd);
  invalidate_lstat_cache();
  return (ret___67);
}
}
int finish_command_in_signal(struct child_process *cmd )
{
  int ret___67 ;
  int tmp ;

  {
  tmp = wait_or_whine(cmd->pid, *(cmd->args.v + 0), 1);
  ret___67 = tmp;
  trace2_child_exit_fl((char const   *)"run-command.c", 986, cmd, ret___67);
  return (ret___67);
}
}
int run_command(struct child_process *cmd )
{
  int code ;
  int tmp ;

  {
  if (cmd->out < 0) {
    BUG_fl((char const   *)"run-command.c", 996, (char const   *)"run_command with a pipe can cause deadlock");
  } else
  if (cmd->err < 0) {
    BUG_fl((char const   *)"run-command.c", 996, (char const   *)"run_command with a pipe can cause deadlock");
  }
  code = start_command(cmd);
  if (code) {
    return (code);
  }
  tmp = finish_command(cmd);
  return (tmp);
}
}
int run_command_v_opt(char const   **argv___0 , int opt___0 )
{
  int tmp ;

  {
  tmp = run_command_v_opt_cd_env(argv___0, opt___0, (char const   *)((void *)0), (char const   **)((void *)0));
  return (tmp);
}
}
int run_command_v_opt_tr2(char const   **argv___0 , int opt___0 , char const   *tr2_class )
{
  int tmp ;

  {
  tmp = run_command_v_opt_cd_env_tr2(argv___0, opt___0, (char const   *)((void *)0),
                                     (char const   **)((void *)0), tr2_class);
  return (tmp);
}
}
int run_command_v_opt_cd_env(char const   **argv___0 , int opt___0 , char const   *dir ,
                             char const   **env )
{
  int tmp ;

  {
  tmp = run_command_v_opt_cd_env_tr2(argv___0, opt___0, dir, env, (char const   *)((void *)0));
  return (tmp);
}
}
int run_command_v_opt_cd_env_tr2(char const   **argv___0 , int opt___0 , char const   *dir ,
                                 char const   **env , char const   *tr2_class )
{
  struct child_process cmd ;
  int tmp ;

  {
  cmd.args.v = empty_strvec;
  cmd.args.nr = 0UL;
  cmd.args.alloc = 0UL;
  cmd.env_array.v = empty_strvec;
  cmd.env_array.nr = 0UL;
  cmd.env_array.alloc = 0UL;
  cmd.pid = 0;
  cmd.trace2_child_id = 0;
  cmd.trace2_child_us_start = 0UL;
  cmd.trace2_child_class = (char const   *)0;
  cmd.trace2_hook_name = (char const   *)0;
  cmd.in = 0;
  cmd.out = 0;
  cmd.err = 0;
  cmd.dir = (char const   *)0;
  cmd.no_stdin = 0U;
  cmd.no_stdout = 0U;
  cmd.no_stderr = 0U;
  cmd.git_cmd = 0U;
  cmd.silent_exec_failure = 0U;
  cmd.use_shell = 0U;
  cmd.close_object_store = 0U;
  cmd.stdout_to_stderr = 0U;
  cmd.clean_on_exit = 0U;
  cmd.wait_after_clean = 0U;
  cmd.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cmd.clean_on_exit_handler_cbdata = (void *)0;
  strvec_pushv(& cmd.args, argv___0);
  if (opt___0 & 1) {
    cmd.no_stdin = 1U;
  } else {
    cmd.no_stdin = 0U;
  }
  if (opt___0 & (1 << 1)) {
    cmd.git_cmd = 1U;
  } else {
    cmd.git_cmd = 0U;
  }
  if (opt___0 & (1 << 2)) {
    cmd.stdout_to_stderr = 1U;
  } else {
    cmd.stdout_to_stderr = 0U;
  }
  if (opt___0 & (1 << 3)) {
    cmd.silent_exec_failure = 1U;
  } else {
    cmd.silent_exec_failure = 0U;
  }
  if (opt___0 & (1 << 4)) {
    cmd.use_shell = 1U;
  } else {
    cmd.use_shell = 0U;
  }
  if (opt___0 & (1 << 5)) {
    cmd.clean_on_exit = 1U;
  } else {
    cmd.clean_on_exit = 0U;
  }
  if (opt___0 & (1 << 6)) {
    cmd.wait_after_clean = 1U;
  } else {
    cmd.wait_after_clean = 0U;
  }
  if (opt___0 & (1 << 7)) {
    cmd.close_object_store = 1U;
  } else {
    cmd.close_object_store = 0U;
  }
  cmd.dir = dir;
  if (env) {
    strvec_pushv(& cmd.env_array, (char const   **)env);
  }
  cmd.trace2_child_class = tr2_class;
  tmp = run_command(& cmd);
  return (tmp);
}
}
static pthread_t main_thread  ;
static int main_thread_set  ;
static pthread_key_t async_key  ;
static pthread_key_t async_die_counter  ;
static void *run_thread(void *data )
{
  struct async *async ;
  intptr_t ret___67 ;
  sigset_t mask ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  async = (struct async *)data;
  if (async->isolate_sigpipe) {
    sigemptyset(& mask);
    sigaddset(& mask, 13);
    tmp___0 = pthread_sigmask(0, (__sigset_t const   * __restrict  )(& mask), (__sigset_t * __restrict  )((void *)0));
    if (tmp___0 < 0) {
      error((char const   *)"unable to block SIGPIPE in async thread");
      tmp = const_error();
      ret___67 = (intptr_t )tmp;
      return ((void *)ret___67);
    }
  }
  pthread_setspecific(async_key, (void const   *)async);
  tmp___1 = (*(async->proc))(async->proc_in, async->proc_out, async->data);
  ret___67 = (intptr_t )tmp___1;
  return ((void *)ret___67);
}
}
static void die_async(char const   *err___4 , va_list params )  __attribute__((__noreturn__)) ;
static void die_async(char const   *err___4 , va_list params )
{
  void (*die_message_fn)(char const   * , va_list params ) ;
  report_fn tmp ;
  struct async *async ;
  void *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = get_die_message_routine();
  die_message_fn = tmp;
  (*die_message_fn)(err___4, params);
  tmp___1 = in_async();
  if (tmp___1) {
    tmp___0 = pthread_getspecific(async_key);
    async = (struct async *)tmp___0;
    if (async->proc_in >= 0) {
      close(async->proc_in);
    }
    if (async->proc_out >= 0) {
      close(async->proc_out);
    }
    pthread_exit((void *)128);
  }
  tmp___2 = trace2_cmd_exit_fl((char const   *)"run-command.c", 1080, 128);
  exit(tmp___2);
}
}
static int async_die_is_recursing(void)
{
  void *ret___67 ;
  void *tmp ;

  {
  tmp = pthread_getspecific(async_die_counter);
  ret___67 = tmp;
  pthread_setspecific(async_die_counter, (void const   *)(& async_die_counter));
  return ((unsigned long )ret___67 != (unsigned long )((void *)0));
}
}
int in_async(void)
{
  pthread_t tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! main_thread_set) {
    return (0);
  }
  tmp = pthread_self();
  tmp___0 = pthread_equal(main_thread, tmp);
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  return (tmp___1);
}
}
static void async_exit(int code )  __attribute__((__noreturn__)) ;
static void async_exit(int code )
{


  {
  pthread_exit((void *)((intptr_t )code));
}
}
void check_pipe(int err___4 )
{
  int tmp ;
  int tmp___0 ;

  {
  if (err___4 == 32) {
    tmp = in_async();
    if (tmp) {
      async_exit(141);
    }
    signal(13, (void (*)(int  ))0);
    raise(13);
    tmp___0 = trace2_cmd_exit_fl((char const   *)"run-command.c", 1163, 141);
    exit(tmp___0);
  }
  return;
}
}
int start_async(struct async *async )
{
  int need_in ;
  int need_out ;
  int fdin[2] ;
  int fdout[2] ;
  int proc_in ;
  int proc_out ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int err___4 ;
  int tmp___3 ;
  char *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  need_in = async->in < 0;
  if (need_in) {
    tmp___0 = pipe((int *)(fdin));
    if (tmp___0 < 0) {
      if (async->out > 0) {
        close(async->out);
      }
      error_errno((char const   *)"cannot create pipe");
      tmp = const_error();
      return (tmp);
    }
    async->in = fdin[1];
  }
  need_out = async->out < 0;
  if (need_out) {
    tmp___2 = pipe((int *)(fdout));
    if (tmp___2 < 0) {
      if (need_in) {
        close_pair((int *)(fdin));
      } else
      if (async->in) {
        close(async->in);
      }
      error_errno((char const   *)"cannot create pipe");
      tmp___1 = const_error();
      return (tmp___1);
    }
    async->out = fdout[0];
  }
  if (need_in) {
    proc_in = fdin[0];
  } else
  if (async->in) {
    proc_in = async->in;
  } else {
    proc_in = -1;
  }
  if (need_out) {
    proc_out = fdout[1];
  } else
  if (async->out) {
    proc_out = async->out;
  } else {
    proc_out = -1;
  }
  if (! main_thread_set) {
    main_thread_set = 1;
    main_thread = pthread_self();
    pthread_key_create(& async_key, (void (*)(void * ))((void *)0));
    pthread_key_create(& async_die_counter, (void (*)(void * ))((void *)0));
    set_die_routine(& die_async);
    set_die_is_recursing_routine(& async_die_is_recursing);
  }
  if (proc_in >= 0) {
    set_cloexec(proc_in);
  }
  if (proc_out >= 0) {
    set_cloexec(proc_out);
  }
  async->proc_in = proc_in;
  async->proc_out = proc_out;
  tmp___3 = pthread_create((pthread_t * __restrict  )(& async->tid), (pthread_attr_t const   * __restrict  )((void *)0),
                           & run_thread, (void * __restrict  )async);
  err___4 = tmp___3;
  if (err___4) {
    tmp___4 = strerror(err___4);
    tmp___5 = _((char const   *)"cannot create async thread: %s");
    error((char const   *)tmp___5, tmp___4);
    const_error();
    goto error;
  }
  return (0);
  error:
  if (need_in) {
    close_pair((int *)(fdin));
  } else
  if (async->in) {
    close(async->in);
  }
  if (need_out) {
    close_pair((int *)(fdout));
  } else
  if (async->out) {
    close(async->out);
  }
  return (-1);
}
}
int finish_async(struct async *async )
{
  void *ret___67 ;
  int tmp ;

  {
  ret___67 = (void *)((intptr_t )-1);
  tmp = pthread_join(async->tid, & ret___67);
  if (tmp) {
    error((char const   *)"pthread_join failed");
    const_error();
  }
  invalidate_lstat_cache();
  return ((int )((intptr_t )ret___67));
}
}
int async_with_fork(void)
{


  {
  return (0);
}
}
int run_hook_ve(char const   **env , char const   *name___0 , va_list args___0 )
{
  struct child_process hook ;
  char const   *p___0 ;
  char const   *tmp ;
  int tmp___0 ;

  {
  hook.args.v = empty_strvec;
  hook.args.nr = 0UL;
  hook.args.alloc = 0UL;
  hook.env_array.v = empty_strvec;
  hook.env_array.nr = 0UL;
  hook.env_array.alloc = 0UL;
  hook.pid = 0;
  hook.trace2_child_id = 0;
  hook.trace2_child_us_start = 0UL;
  hook.trace2_child_class = (char const   *)0;
  hook.trace2_hook_name = (char const   *)0;
  hook.in = 0;
  hook.out = 0;
  hook.err = 0;
  hook.dir = (char const   *)0;
  hook.no_stdin = 0U;
  hook.no_stdout = 0U;
  hook.no_stderr = 0U;
  hook.git_cmd = 0U;
  hook.silent_exec_failure = 0U;
  hook.use_shell = 0U;
  hook.close_object_store = 0U;
  hook.stdout_to_stderr = 0U;
  hook.clean_on_exit = 0U;
  hook.wait_after_clean = 0U;
  hook.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  hook.clean_on_exit_handler_cbdata = (void *)0;
  p___0 = find_hook(name___0);
  if (! p___0) {
    return (0);
  }
  strvec_push(& hook.args, p___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = __builtin_va_arg(args___0, char const   *);
    p___0 = tmp;
    if (! p___0) {
      goto while_break;
    }
    strvec_push(& hook.args, p___0);
  }
  while_break: /* CIL Label */ ;
  }
  if (env) {
    strvec_pushv(& hook.env_array, (char const   **)env);
  }
  hook.no_stdin = 1U;
  hook.stdout_to_stderr = 1U;
  hook.trace2_hook_name = name___0;
  tmp___0 = run_command(& hook);
  return (tmp___0);
}
}
int __attribute__((__sentinel__))  run_hook_le(char const   **env , char const   *name___0
                                               , ...)
{
  va_list args___0 ;
  int ret___67 ;

  {
  __builtin_va_start(args___0, name___0);
  ret___67 = run_hook_ve(env, name___0, args___0);
  __builtin_va_end(args___0);
  return ((int __attribute__((__sentinel__))  )ret___67);
}
}
static int pump_io_round(struct io_pump *slots , int nr___0 , struct pollfd *pfd )
{
  int pollsize ;
  int i ;
  struct io_pump *io ;
  int tmp ;
  int *tmp___0 ;
  int tmp___1 ;
  struct io_pump *io___0 ;
  ssize_t len___0 ;
  ssize_t tmp___2 ;
  int *tmp___3 ;
  ssize_t len___1 ;
  ssize_t tmp___4 ;
  int *tmp___5 ;

  {
  pollsize = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break;
    }
    io = slots + i;
    if (io->fd < 0) {
      goto __Cont;
    }
    (pfd + pollsize)->fd = io->fd;
    (pfd + pollsize)->events = (short )io->type;
    tmp = pollsize;
    pollsize ++;
    io->pfd = pfd + tmp;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! pollsize) {
    return (0);
  }
  tmp___1 = poll(pfd, (nfds_t )pollsize, -1);
  if (tmp___1 < 0) {
    tmp___0 = __errno_location();
    if (*tmp___0 == 4) {
      return (1);
    }
    die_errno((char const   *)"poll failed");
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break___0;
    }
    io___0 = slots + i;
    if (io___0->fd < 0) {
      goto __Cont___0;
    }
    if (! ((int )(io___0->pfd)->revents & 61)) {
      goto __Cont___0;
    }
    if (io___0->type == 0x004) {
      tmp___2 = xwrite(io___0->fd, (void const   *)io___0->u.out.buf, io___0->u.out.len);
      len___0 = tmp___2;
      if (len___0 < 0L) {
        tmp___3 = __errno_location();
        io___0->error = *tmp___3;
        close(io___0->fd);
        io___0->fd = -1;
      } else {
        io___0->u.out.buf += len___0;
        io___0->u.out.len -= (size_t )len___0;
        if (! io___0->u.out.len) {
          close(io___0->fd);
          io___0->fd = -1;
        }
      }
    }
    if (io___0->type == 0x001) {
      tmp___4 = strbuf_read_once(io___0->u.in.buf, io___0->fd, io___0->u.in.hint);
      len___1 = tmp___4;
      if (len___1 < 0L) {
        tmp___5 = __errno_location();
        io___0->error = *tmp___5;
      }
      if (len___1 <= 0L) {
        close(io___0->fd);
        io___0->fd = -1;
      }
    }
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (1);
}
}
static int pump_io(struct io_pump *slots , int nr___0 )
{
  struct pollfd *pfd ;
  int i ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  int *tmp___2 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break;
    }
    (slots + i)->error = 0;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = st_mult(sizeof(*pfd), (size_t )nr___0);
  tmp___0 = xmalloc(tmp);
  pfd = (struct pollfd *)tmp___0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___1 = pump_io_round(slots, nr___0, pfd);
    if (! tmp___1) {
      goto while_break___0;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)pfd);
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break___1;
    }
    if ((slots + i)->error) {
      tmp___2 = __errno_location();
      *tmp___2 = (slots + i)->error;
      return (-1);
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  return (0);
}
}
int pipe_command(struct child_process *cmd , char const   *in , size_t in_len , struct strbuf *out ,
                 size_t out_hint , struct strbuf *err___4 , size_t err_hint )
{
  struct io_pump io[3] ;
  int nr___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  nr___0 = 0;
  if (in) {
    cmd->in = -1;
  }
  if (out) {
    cmd->out = -1;
  }
  if (err___4) {
    cmd->err = -1;
  }
  tmp = start_command(cmd);
  if (tmp < 0) {
    return (-1);
  }
  if (in) {
    io[nr___0].fd = cmd->in;
    io[nr___0].type = 0x004;
    io[nr___0].u.out.buf = in;
    io[nr___0].u.out.len = in_len;
    nr___0 ++;
  }
  if (out) {
    io[nr___0].fd = cmd->out;
    io[nr___0].type = 0x001;
    io[nr___0].u.in.buf = out;
    io[nr___0].u.in.hint = out_hint;
    nr___0 ++;
  }
  if (err___4) {
    io[nr___0].fd = cmd->err;
    io[nr___0].type = 0x001;
    io[nr___0].u.in.buf = err___4;
    io[nr___0].u.in.hint = err_hint;
    nr___0 ++;
  }
  tmp___0 = pump_io(io, nr___0);
  if (tmp___0 < 0) {
    finish_command(cmd);
    return (-1);
  }
  tmp___1 = finish_command(cmd);
  return (tmp___1);
}
}
static int default_start_failure(struct strbuf *out , void *pp_cb , void *pp_task_cb )
{


  {
  return (0);
}
}
static int default_task_finished(int result___0 , struct strbuf *out , void *pp_cb ,
                                 void *pp_task_cb )
{


  {
  return (0);
}
}
static void kill_children(struct parallel_processes *pp , int signo )
{
  int i ;
  int n ;

  {
  n = pp->max_processes;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    if ((unsigned int )(pp->children + i)->state == 1U) {
      kill((pp->children + i)->process.pid, signo);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct parallel_processes *pp_for_signal  ;
static void handle_children_on_signal(int signo )
{


  {
  kill_children(pp_for_signal, signo);
  sigchain_pop(signo);
  raise(signo);
  return;
}
}
static void pp_init(struct parallel_processes *pp , int n , int (*get_next_task)(struct child_process *cp ,
                                                                                 struct strbuf *out ,
                                                                                 void *pp_cb ,
                                                                                 void **pp_task_cb ) ,
                    int (*start_failure)(struct strbuf *out , void *pp_cb , void *pp_task_cb ) ,
                    int (*task_finished___0)(int result , struct strbuf *out , void *pp_cb ,
                                             void *pp_task_cb ) , void *data )
{
  int i ;
  int tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  if (n < 1) {
    n = online_cpus();
  }
  pp->max_processes = n;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = trace_pass_fl(& trace_default_key);
    if (tmp) {
      trace_printf_key_fl((char const   *)"run-command.c", 1582, & trace_default_key,
                          (char const   *)"run_processes_parallel: preparing to run up to %d tasks",
                          n);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  pp->data = data;
  if (! get_next_task) {
    BUG_fl((char const   *)"run-command.c", 1586, (char const   *)"you need to specify a get_next_task function");
  }
  pp->get_next_task = get_next_task;
  if (start_failure) {
    pp->start_failure = start_failure;
  } else {
    pp->start_failure = & default_start_failure;
  }
  if (task_finished___0) {
    pp->task_finished = task_finished___0;
  } else {
    pp->task_finished = & default_task_finished;
  }
  pp->nr_processes = 0;
  pp->output_owner = 0;
  pp->shutdown = 0U;
  tmp___0 = xcalloc((size_t )n, sizeof(*(pp->children)));
  pp->children = (struct __anonstruct_children_383988694 *)tmp___0;
  tmp___1 = xcalloc((size_t )n, sizeof(*(pp->pfd)));
  pp->pfd = (struct pollfd *)tmp___1;
  strbuf_init(& pp->buffered_output, (size_t )0);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break___0;
    }
    strbuf_init(& (pp->children + i)->err, (size_t )0);
    child_process_init(& (pp->children + i)->process);
    (pp->pfd + i)->events = (short)17;
    (pp->pfd + i)->fd = -1;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  pp_for_signal = pp;
  sigchain_push_common(& handle_children_on_signal);
  return;
}
}
static void pp_cleanup(struct parallel_processes *pp )
{
  int i ;
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = trace_pass_fl(& trace_default_key);
    if (tmp) {
      trace_printf_key_fl((char const   *)"run-command.c", 1614, & trace_default_key,
                          (char const   *)"run_processes_parallel: done");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < pp->max_processes)) {
      goto while_break___0;
    }
    strbuf_release(& (pp->children + i)->err);
    child_process_clear(& (pp->children + i)->process);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)pp->children);
  free((void *)pp->pfd);
  strbuf_write(& pp->buffered_output, stderr);
  strbuf_release(& pp->buffered_output);
  sigchain_pop_common();
  return;
}
}
static int pp_start_one(struct parallel_processes *pp )
{
  int i ;
  int code ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < pp->max_processes)) {
      goto while_break;
    }
    if ((unsigned int )(pp->children + i)->state == 0U) {
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (i == pp->max_processes) {
    BUG_fl((char const   *)"run-command.c", 1648, (char const   *)"bookkeeping is hard");
  }
  code = (*(pp->get_next_task))(& (pp->children + i)->process, & (pp->children + i)->err,
                                pp->data, & (pp->children + i)->data);
  if (! code) {
    strbuf_addbuf(& pp->buffered_output, (struct strbuf  const  *)(& (pp->children + i)->err));
    strbuf_setlen(& (pp->children + i)->err, (size_t )0);
    return (1);
  }
  (pp->children + i)->process.err = -1;
  (pp->children + i)->process.stdout_to_stderr = 1U;
  (pp->children + i)->process.no_stdin = 1U;
  tmp = start_command(& (pp->children + i)->process);
  if (tmp) {
    code = (*(pp->start_failure))(& (pp->children + i)->err, pp->data, (pp->children + i)->data);
    strbuf_addbuf(& pp->buffered_output, (struct strbuf  const  *)(& (pp->children + i)->err));
    strbuf_setlen(& (pp->children + i)->err, (size_t )0);
    if (code) {
      pp->shutdown = 1U;
    }
    return (code);
  }
  (pp->nr_processes) ++;
  (pp->children + i)->state = (enum child_state )1;
  (pp->pfd + i)->fd = (pp->children + i)->process.err;
  return (0);
}
}
static void pp_buffer_stderr(struct parallel_processes *pp , int output_timeout )
{
  int i ;
  int *tmp ;
  int n ;
  ssize_t tmp___0 ;
  int *tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    i = poll(pp->pfd, (nfds_t )pp->max_processes, output_timeout);
    if (! (i < 0)) {
      goto while_break;
    }
    tmp = __errno_location();
    if (*tmp == 4) {
      goto while_continue;
    }
    pp_cleanup(pp);
    die_errno((char const   *)"poll");
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < pp->max_processes)) {
      goto while_break___0;
    }
    if ((unsigned int )(pp->children + i)->state == 1U) {
      if ((int )(pp->pfd + i)->revents & 17) {
        tmp___0 = strbuf_read_once(& (pp->children + i)->err, (pp->children + i)->process.err,
                                   (size_t )0);
        n = (int )tmp___0;
        if (n == 0) {
          close((pp->children + i)->process.err);
          (pp->children + i)->state = (enum child_state )2;
        } else
        if (n < 0) {
          tmp___1 = __errno_location();
          if (*tmp___1 != 11) {
            die_errno((char const   *)"read");
          }
        }
      }
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void pp_output(struct parallel_processes *pp )
{
  int i ;

  {
  i = pp->output_owner;
  if ((unsigned int )(pp->children + i)->state == 1U) {
    if ((pp->children + i)->err.len) {
      strbuf_write(& (pp->children + i)->err, stderr);
      strbuf_setlen(& (pp->children + i)->err, (size_t )0);
    }
  }
  return;
}
}
static int pp_collect_finished(struct parallel_processes *pp )
{
  int i ;
  int code ;
  int n ;
  int result___0 ;

  {
  n = pp->max_processes;
  result___0 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (pp->nr_processes > 0)) {
      goto while_break;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < pp->max_processes)) {
        goto while_break___0;
      }
      if ((unsigned int )(pp->children + i)->state == 2U) {
        goto while_break___0;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (i == pp->max_processes) {
      goto while_break;
    }
    code = finish_command(& (pp->children + i)->process);
    code = (*(pp->task_finished))(code, & (pp->children + i)->err, pp->data, (pp->children + i)->data);
    if (code) {
      result___0 = code;
    }
    if (code < 0) {
      goto while_break;
    }
    (pp->nr_processes) --;
    (pp->children + i)->state = (enum child_state )0;
    (pp->pfd + i)->fd = -1;
    child_process_init(& (pp->children + i)->process);
    if (i != pp->output_owner) {
      strbuf_addbuf(& pp->buffered_output, (struct strbuf  const  *)(& (pp->children + i)->err));
      strbuf_setlen(& (pp->children + i)->err, (size_t )0);
    } else {
      strbuf_write(& (pp->children + i)->err, stderr);
      strbuf_setlen(& (pp->children + i)->err, (size_t )0);
      strbuf_write(& pp->buffered_output, stderr);
      strbuf_setlen(& pp->buffered_output, (size_t )0);
      i = 0;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! (i < n)) {
          goto while_break___1;
        }
        if ((unsigned int )(pp->children + (pp->output_owner + i) % n)->state == 1U) {
          goto while_break___1;
        }
        i ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      pp->output_owner = (pp->output_owner + i) % n;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (result___0);
}
}
int run_processes_parallel(int n , int (*get_next_task)(struct child_process *cp ,
                                                        struct strbuf *out , void *pp_cb ,
                                                        void **pp_task_cb ) , int (*start_failure)(struct strbuf *out ,
                                                                                                   void *pp_cb ,
                                                                                                   void *pp_task_cb ) ,
                           int (*task_finished___0)(int result , struct strbuf *out ,
                                                    void *pp_cb , void *pp_task_cb ) ,
                           void *pp_cb )
{
  int i ;
  int code ;
  int output_timeout ;
  int spawn_cap ;
  struct parallel_processes pp ;

  {
  output_timeout = 100;
  spawn_cap = 4;
  pp_init(& pp, n, get_next_task, start_failure, task_finished___0, pp_cb);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (i < spawn_cap) {
        if (! pp.shutdown) {
          if (! (pp.nr_processes < pp.max_processes)) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      code = pp_start_one(& pp);
      if (! code) {
        goto __Cont;
      }
      if (code < 0) {
        pp.shutdown = 1U;
        kill_children(& pp, - code);
      }
      goto while_break___0;
      __Cont: /* CIL Label */
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! pp.nr_processes) {
      goto while_break;
    }
    pp_buffer_stderr(& pp, output_timeout);
    pp_output(& pp);
    code = pp_collect_finished(& pp);
    if (code) {
      pp.shutdown = 1U;
      if (code < 0) {
        kill_children(& pp, - code);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  pp_cleanup(& pp);
  return (0);
}
}
int run_processes_parallel_tr2(int n , int (*get_next_task)(struct child_process *cp ,
                                                            struct strbuf *out , void *pp_cb ,
                                                            void **pp_task_cb ) ,
                               int (*start_failure)(struct strbuf *out , void *pp_cb ,
                                                    void *pp_task_cb ) , int (*task_finished___0)(int result ,
                                                                                                  struct strbuf *out ,
                                                                                                  void *pp_cb ,
                                                                                                  void *pp_task_cb ) ,
                               void *pp_cb , char const   *tr2_category , char const   *tr2_label )
{
  int result___0 ;
  int tmp ;
  int tmp___0 ;

  {
  if (n < 1) {
    tmp = online_cpus();
    tmp___0 = tmp;
  } else {
    tmp___0 = n;
  }
  trace2_region_enter_printf_fl((char const   *)"run-command.c", 1824, tr2_category,
                                tr2_label, (struct repository  const  *)((void *)0),
                                (char const   *)"max:%d", tmp___0);
  result___0 = run_processes_parallel(n, get_next_task, start_failure, task_finished___0,
                                      pp_cb);
  trace2_region_leave_fl((char const   *)"run-command.c", 1829, tr2_category, tr2_label,
                         (struct repository  const  *)((void *)0));
  return (result___0);
}
}
int run_auto_maintenance(int quiet___7 )
{
  int enabled___0 ;
  struct child_process maint ;
  int tmp ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  maint.args.v = empty_strvec;
  maint.args.nr = 0UL;
  maint.args.alloc = 0UL;
  maint.env_array.v = empty_strvec;
  maint.env_array.nr = 0UL;
  maint.env_array.alloc = 0UL;
  maint.pid = 0;
  maint.trace2_child_id = 0;
  maint.trace2_child_us_start = 0UL;
  maint.trace2_child_class = (char const   *)0;
  maint.trace2_hook_name = (char const   *)0;
  maint.in = 0;
  maint.out = 0;
  maint.err = 0;
  maint.dir = (char const   *)0;
  maint.no_stdin = 0U;
  maint.no_stdout = 0U;
  maint.no_stderr = 0U;
  maint.git_cmd = 0U;
  maint.silent_exec_failure = 0U;
  maint.use_shell = 0U;
  maint.close_object_store = 0U;
  maint.stdout_to_stderr = 0U;
  maint.clean_on_exit = 0U;
  maint.wait_after_clean = 0U;
  maint.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  maint.clean_on_exit_handler_cbdata = (void *)0;
  tmp = git_config_get_bool((char const   *)"maintenance.auto", & enabled___0);
  if (! tmp) {
    if (! enabled___0) {
      return (0);
    }
  }
  maint.git_cmd = 1U;
  maint.close_object_store = 1U;
  strvec_pushl(& maint.args, "maintenance", "run", "--auto", (void *)0);
  if (quiet___7) {
    tmp___0 = "--quiet";
  } else {
    tmp___0 = "--no-quiet";
  }
  strvec_push(& maint.args, (char const   *)tmp___0);
  tmp___1 = run_command(& maint);
  return (tmp___1);
}
}
void prepare_other_repo_env(struct strvec *env_array , char const   *new_git_dir )
{
  char const   **var ;
  int tmp ;
  int tmp___0 ;

  {
  var = local_repo_env;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *var) {
      goto while_break;
    }
    tmp = strcmp((char const   *)*var, (char const   *)"GIT_CONFIG_PARAMETERS");
    if (tmp) {
      tmp___0 = strcmp((char const   *)*var, (char const   *)"GIT_CONFIG_COUNT");
      if (tmp___0) {
        strvec_push(env_array, (char const   *)*var);
      }
    }
    var ++;
  }
  while_break: /* CIL Label */ ;
  }
  strvec_pushf(env_array, (char const   *)"%s=%s", "GIT_DIR", new_git_dir);
  return;
}
}
enum start_bg_result start_bg_command(struct child_process *cmd , start_bg_wait_cb *wait_cb ,
                                      void *cb_data , unsigned int timeout_sec )
{
  enum start_bg_result sbgr ;
  int ret___67 ;
  int wait_status ;
  pid_t pid_seen ;
  time_t time_limit ;
  time_t now ;
  int child_code ;
  int *tmp ;

  {
  sbgr = (enum start_bg_result )1;
  if (cmd->clean_on_exit) {
    BUG_fl((char const   *)"run-command.c", 1881, (char const   *)"start_bg_command() does not allow non-zero clean_on_exit");
  }
  if (! cmd->trace2_child_class) {
    cmd->trace2_child_class = (char const   *)"background";
  }
  ret___67 = start_command(cmd);
  if (ret___67) {
    sbgr = (enum start_bg_result )1;
    goto done;
  }
  time(& time_limit);
  time_limit += (time_t )timeout_sec;
  wait:
  pid_seen = waitpid(cmd->pid, & wait_status, 1);
  if (! pid_seen) {
    ret___67 = (*wait_cb)((struct child_process  const  *)cmd, cb_data);
    if (! ret___67) {
      trace2_child_ready_fl((char const   *)"run-command.c", 1920, cmd, (char const   *)"ready");
      sbgr = (enum start_bg_result )0;
      goto done;
    } else
    if (ret___67 > 0) {
      time(& now);
      if (now < time_limit) {
        goto wait;
      }
      trace2_child_ready_fl((char const   *)"run-command.c", 1939, cmd, (char const   *)"timeout");
      sbgr = (enum start_bg_result )3;
      goto done;
    } else {
      trace2_child_ready_fl((char const   *)"run-command.c", 1947, cmd, (char const   *)"error");
      sbgr = (enum start_bg_result )2;
      goto done;
    }
  } else
  if (pid_seen == cmd->pid) {
    child_code = -1;
    if ((wait_status & 0x7f) == 0) {
      child_code = (wait_status & 0xff00) >> 8;
    } else
    if ((int )((signed char )((wait_status & 0x7f) + 1)) >> 1 > 0) {
      child_code = (wait_status & 0x7f) + 128;
    }
    trace2_child_exit_fl((char const   *)"run-command.c", 1974, cmd, child_code);
    sbgr = (enum start_bg_result )4;
    goto done;
  } else
  if (pid_seen < 0) {
    tmp = __errno_location();
    if (*tmp == 4) {
      goto wait;
    }
  }
  trace2_child_exit_fl((char const   *)"run-command.c", 1983, cmd, -1);
  sbgr = (enum start_bg_result )1;
  done:
  child_process_clear(cmd);
  invalidate_lstat_cache();
  return (sbgr);
}
}
static double const   __ac_HASH_UPPER___83  =    (double const   )0.77;
__inline static void kh_resize_oid_set___83(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___83(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___83 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___83 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___83(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___83(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___83(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___83(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___83(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___83(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___83 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___83 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___83(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___83(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___83(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___83(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___83(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___83(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___83 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___83 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___83(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___83(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___83(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___83(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___62(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___62(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___83 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___83 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___62(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___62(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___62(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___62(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
int option_parse_push_signed(struct option  const  *opt___0 , char const   *arg ,
                             int unset ) ;
int send_pack(struct send_pack_args *args___0 , int *fd , struct child_process *conn ,
              struct ref *remote_refs , struct oid_array *extra_have ) ;
int option_parse_push_signed(struct option  const  *opt___0 , char const   *arg ,
                             int unset )
{
  int tmp ;
  int tmp___0 ;

  {
  if (unset) {
    *((int *)opt___0->value) = 0;
    return (0);
  }
  tmp = git_parse_maybe_bool(arg);
  {
  if (tmp == 1) {
    goto case_1;
  }
  if (tmp == 0) {
    goto case_0;
  }
  goto switch_break;
  case_1: /* CIL Label */
  *((int *)opt___0->value) = 2;
  return (0);
  case_0: /* CIL Label */
  *((int *)opt___0->value) = 0;
  return (0);
  switch_break: /* CIL Label */ ;
  }
  tmp___0 = strcasecmp((char const   *)"if-asked", arg);
  if (! tmp___0) {
    *((int *)opt___0->value) = 1;
    return (0);
  }
  die((char const   *)"bad %s argument: %s", opt___0->long_name, arg);
}
}
static void feed_object(struct object_id  const  *oid , FILE *fh , int negative )
{
  int tmp ;
  char *tmp___0 ;

  {
  if (negative) {
    tmp = repo_has_object_file_with_flags(the_repository, oid, 40);
    if (! tmp) {
      return;
    }
  }
  if (negative) {
    _IO_putc('^', fh);
  }
  tmp___0 = oid_to_hex(oid);
  fputs((char const   * __restrict  )tmp___0, (FILE * __restrict  )fh);
  _IO_putc('\n', fh);
  return;
}
}
static int pack_objects(int fd , struct ref *refs___0 , struct oid_array *advertised ,
                        struct oid_array *negotiated , struct send_pack_args *args___0 )
{
  struct child_process po ;
  FILE *po_in ;
  int i ;
  int rc___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char *buf___19 ;
  void *tmp___4 ;
  ssize_t n ;
  ssize_t tmp___5 ;

  {
  po.args.v = empty_strvec;
  po.args.nr = 0UL;
  po.args.alloc = 0UL;
  po.env_array.v = empty_strvec;
  po.env_array.nr = 0UL;
  po.env_array.alloc = 0UL;
  po.pid = 0;
  po.trace2_child_id = 0;
  po.trace2_child_us_start = 0UL;
  po.trace2_child_class = (char const   *)0;
  po.trace2_hook_name = (char const   *)0;
  po.in = 0;
  po.out = 0;
  po.err = 0;
  po.dir = (char const   *)0;
  po.no_stdin = 0U;
  po.no_stdout = 0U;
  po.no_stderr = 0U;
  po.git_cmd = 0U;
  po.silent_exec_failure = 0U;
  po.use_shell = 0U;
  po.close_object_store = 0U;
  po.stdout_to_stderr = 0U;
  po.clean_on_exit = 0U;
  po.wait_after_clean = 0U;
  po.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  po.clean_on_exit_handler_cbdata = (void *)0;
  strvec_push(& po.args, (char const   *)"pack-objects");
  strvec_push(& po.args, (char const   *)"--all-progress-implied");
  strvec_push(& po.args, (char const   *)"--revs");
  strvec_push(& po.args, (char const   *)"--stdout");
  if (args___0->use_thin_pack) {
    strvec_push(& po.args, (char const   *)"--thin");
  }
  if (args___0->use_ofs_delta) {
    strvec_push(& po.args, (char const   *)"--delta-base-offset");
  }
  if (args___0->quiet) {
    strvec_push(& po.args, (char const   *)"-q");
  } else
  if (! args___0->progress) {
    strvec_push(& po.args, (char const   *)"-q");
  }
  if (args___0->progress) {
    strvec_push(& po.args, (char const   *)"--progress");
  }
  tmp = is_repository_shallow(the_repository);
  if (tmp) {
    strvec_push(& po.args, (char const   *)"--shallow");
  }
  po.in = -1;
  if (args___0->stateless_rpc) {
    po.out = -1;
  } else {
    po.out = fd;
  }
  po.git_cmd = 1U;
  po.clean_on_exit = 1U;
  tmp___0 = start_command(& po);
  if (tmp___0) {
    die_errno((char const   *)"git pack-objects failed");
  }
  po_in = xfdopen(po.in, (char const   *)"w");
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < advertised->nr)) {
      goto while_break;
    }
    feed_object((struct object_id  const  *)(advertised->oid + i), po_in, 1);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((size_t )i < negotiated->nr)) {
      goto while_break___0;
    }
    feed_object((struct object_id  const  *)(negotiated->oid + i), po_in, 1);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! refs___0) {
      goto while_break___1;
    }
    tmp___1 = is_null_oid((struct object_id  const  *)(& refs___0->old_oid));
    if (! tmp___1) {
      feed_object((struct object_id  const  *)(& refs___0->old_oid), po_in, 1);
    }
    tmp___2 = is_null_oid((struct object_id  const  *)(& refs___0->new_oid));
    if (! tmp___2) {
      feed_object((struct object_id  const  *)(& refs___0->new_oid), po_in, 0);
    }
    refs___0 = refs___0->next;
  }
  while_break___1: /* CIL Label */ ;
  }
  fflush(po_in);
  tmp___3 = ferror(po_in);
  if (tmp___3) {
    die_errno((char const   *)"error writing to pack-objects");
  }
  fclose(po_in);
  if (args___0->stateless_rpc) {
    tmp___4 = xmalloc((size_t )65520);
    buf___19 = (char *)tmp___4;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      tmp___5 = xread(po.out, (void *)buf___19, (size_t )65520);
      n = tmp___5;
      if (n <= 0L) {
        goto while_break___2;
      }
      send_sideband(fd, -1, (char const   *)buf___19, n, 65520);
    }
    while_break___2: /* CIL Label */ ;
    }
    free((void *)buf___19);
    close(po.out);
    po.out = -1;
  }
  rc___0 = finish_command(& po);
  if (rc___0) {
    if (rc___0 > 128) {
      if (rc___0 != 141) {
        error((char const   *)"pack-objects died of signal %d", rc___0 - 128);
        const_error();
      }
    }
    return (-1);
  }
  return (0);
}
}
static int receive_unpack_status(struct packet_reader *reader )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  enum packet_read_status tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  tmp___1 = packet_reader_read(reader);
  if ((unsigned int )tmp___1 != 1U) {
    tmp = _((char const   *)"unexpected flush packet while reading remote unpack status");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  tmp___4 = skip_prefix(reader->line, (char const   *)"unpack ", & reader->line);
  if (! tmp___4) {
    tmp___2 = _((char const   *)"unable to parse remote unpack status: %s");
    error((char const   *)tmp___2, reader->line);
    tmp___3 = const_error();
    return (tmp___3);
  }
  tmp___7 = strcmp(reader->line, (char const   *)"ok");
  if (tmp___7) {
    tmp___5 = _((char const   *)"remote unpack failed: %s");
    error((char const   *)tmp___5, reader->line);
    tmp___6 = const_error();
    return (tmp___6);
  }
  return (0);
}
}
static int receive_status(struct packet_reader *reader , struct ref *refs___0 )
{
  struct ref *hint ;
  int ret___67 ;
  struct ref_push_report *report___3 ;
  int new_report ;
  int once ;
  struct object_id old_oid ;
  struct object_id new_oid ;
  char const   *head___1 ;
  char const   *refname ;
  char *p___0 ;
  enum packet_read_status tmp ;
  char *tmp___0 ;
  char const   *key___1 ;
  char const   *val ;
  int tmp___1 ;
  void *tmp___2 ;
  void *tmp___3 ;
  char *tmp___4 ;
  char *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  char *tmp___15 ;
  int tmp___16 ;

  {
  report___3 = (struct ref_push_report *)((void *)0);
  new_report = 0;
  once = 0;
  hint = (struct ref *)((void *)0);
  ret___67 = receive_unpack_status(reader);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = packet_reader_read(reader);
    if ((unsigned int )tmp != 1U) {
      goto while_break;
    }
    head___1 = reader->line;
    p___0 = strchr(head___1, ' ');
    if (! p___0) {
      error((char const   *)"invalid status line from remote: %s", reader->line);
      const_error();
      ret___67 = -1;
      goto while_break;
    }
    tmp___0 = p___0;
    p___0 ++;
    *tmp___0 = (char )'\000';
    tmp___12 = strcmp(head___1, (char const   *)"option");
    if (! tmp___12) {
      if (! hint) {
        goto _L;
      } else
      if (! report___3) {
        if (! new_report) {
          _L: /* CIL Label */
          tmp___1 = once;
          once ++;
          if (! tmp___1) {
            error((char const   *)"\'option\' without a matching \'ok/ng\' directive");
            const_error();
          }
          ret___67 = -1;
          goto while_continue;
        }
      }
      if (new_report) {
        if (! hint->report) {
          tmp___2 = xcalloc((size_t )1, sizeof(*(hint->report)));
          hint->report = (struct ref_push_report *)tmp___2;
          report___3 = hint->report;
        } else {
          report___3 = hint->report;
          {
          while (1) {
            while_continue___0: /* CIL Label */ ;
            if (! report___3->next) {
              goto while_break___0;
            }
            report___3 = report___3->next;
          }
          while_break___0: /* CIL Label */ ;
          }
          tmp___3 = xcalloc((size_t )1, sizeof(*(report___3->next)));
          report___3->next = (struct ref_push_report *)tmp___3;
          report___3 = report___3->next;
        }
        new_report = 0;
      }
      key___1 = (char const   *)p___0;
      p___0 = strchr(key___1, ' ');
      if (p___0) {
        tmp___4 = p___0;
        p___0 ++;
        *tmp___4 = (char )'\000';
      }
      val = (char const   *)p___0;
      tmp___11 = strcmp(key___1, (char const   *)"refname");
      if (tmp___11) {
        tmp___9 = strcmp(key___1, (char const   *)"old-oid");
        if (tmp___9) {
          _L___3: /* CIL Label */
          _L___2: /* CIL Label */
          tmp___7 = strcmp(key___1, (char const   *)"new-oid");
          if (tmp___7) {
            _L___1: /* CIL Label */
            _L___0: /* CIL Label */
            tmp___6 = strcmp(key___1, (char const   *)"forced-update");
            if (! tmp___6) {
              report___3->forced_update = 1U;
            }
          } else
          if (val) {
            tmp___8 = parse_oid_hex(val, & new_oid, & val);
            if (tmp___8) {
              goto _L___1;
            } else {
              report___3->new_oid = oiddup((struct object_id  const  *)(& new_oid));
            }
          } else {
            goto _L___1;
          }
        } else
        if (val) {
          tmp___10 = parse_oid_hex(val, & old_oid, & val);
          if (tmp___10) {
            goto _L___3;
          } else {
            report___3->old_oid = oiddup((struct object_id  const  *)(& old_oid));
          }
        } else {
          goto _L___3;
        }
      } else {
        tmp___5 = xstrdup_or_null(val);
        report___3->ref_name = (char const   *)tmp___5;
      }
      goto while_continue;
    }
    report___3 = (struct ref_push_report *)((void *)0);
    new_report = 0;
    tmp___13 = strcmp(head___1, (char const   *)"ok");
    if (tmp___13) {
      tmp___14 = strcmp(head___1, (char const   *)"ng");
      if (tmp___14) {
        error((char const   *)"invalid ref status from remote: %s", head___1);
        const_error();
        ret___67 = -1;
        goto while_break;
      }
    }
    refname = (char const   *)p___0;
    p___0 = strchr(refname, ' ');
    if (p___0) {
      tmp___15 = p___0;
      p___0 ++;
      *tmp___15 = (char )'\000';
    }
    if (hint) {
      hint = find_ref_by_name((struct ref  const  *)hint, refname);
    }
    if (! hint) {
      hint = find_ref_by_name((struct ref  const  *)refs___0, refname);
    }
    if (! hint) {
      warning((char const   *)"remote reported status on unknown ref: %s", refname);
      goto while_continue;
    }
    if ((unsigned int )hint->status != 12U) {
      if ((unsigned int )hint->status != 1U) {
        if ((unsigned int )hint->status != 11U) {
          warning((char const   *)"remote reported status on unexpected ref: %s",
                  refname);
          goto while_continue;
        }
      }
    }
    tmp___16 = strcmp(head___1, (char const   *)"ng");
    if (tmp___16) {
      hint->status = (enum __anonenum_status_407753297 )1;
      hint->remote_status = xstrdup_or_null((char const   *)p___0);
      new_report = 1;
    } else {
      hint->status = (enum __anonenum_status_407753297 )11;
      if (p___0) {
        hint->remote_status = xstrdup((char const   *)p___0);
      } else {
        hint->remote_status = "failed";
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static int sideband_demux___0(int in , int out , void *data )
{
  int *fd ;
  int ret___67 ;
  int tmp ;

  {
  fd = (int *)data;
  tmp = async_with_fork();
  if (tmp) {
    close(*(fd + 1));
  }
  ret___67 = recv_sideband((char const   *)"send-pack", *(fd + 0), out);
  close(out);
  return (ret___67);
}
}
static int advertise_shallow_grafts_cb(struct commit_graft  const  *graft , void *cb )
{
  struct strbuf *sb___6 ;
  char *tmp ;

  {
  sb___6 = (struct strbuf *)cb;
  if (graft->nr_parent == -1) {
    tmp = oid_to_hex((struct object_id  const  *)(& graft->oid));
    packet_buf_write(sb___6, (char const   *)"shallow %s\n", tmp);
  }
  return (0);
}
}
static void advertise_shallow_grafts_buf(struct strbuf *sb___6 )
{
  int tmp ;

  {
  tmp = is_repository_shallow(the_repository);
  if (! tmp) {
    return;
  }
  for_each_commit_graft(& advertise_shallow_grafts_cb, (void *)sb___6);
  return;
}
}
static int check_to_send_update(struct ref  const  *ref , struct send_pack_args  const  *args___0 )
{


  {
  if (! ref->peer_ref) {
    if (! args___0->send_mirror) {
      return (-1);
    }
  }
  {
  if ((unsigned int )ref->status == 4U) {
    goto case_4;
  }
  if ((unsigned int )ref->status == 9U) {
    goto case_4;
  }
  if ((unsigned int )ref->status == 7U) {
    goto case_4;
  }
  if ((unsigned int )ref->status == 6U) {
    goto case_4;
  }
  if ((unsigned int )ref->status == 5U) {
    goto case_4;
  }
  if ((unsigned int )ref->status == 3U) {
    goto case_4;
  }
  if ((unsigned int )ref->status == 2U) {
    goto case_4;
  }
  if ((unsigned int )ref->status == 10U) {
    goto case_10;
  }
  goto case_1;
  case_4: /* CIL Label */
  case_9: /* CIL Label */
  case_7: /* CIL Label */
  case_6: /* CIL Label */
  case_5: /* CIL Label */
  case_3: /* CIL Label */
  case_2: /* CIL Label */
  return (-2);
  case_10: /* CIL Label */
  return (-3);
  case_1: /* CIL Label */
  case_12: /* CIL Label */
  switch_default: /* CIL Label */
  return (0);
  switch_break: /* CIL Label */ ;
  }
}
}
static char const   *next_line(char const   *line___0 , size_t len___0 )
{
  char const   *nl ;
  void *tmp ;

  {
  tmp = memchr((void const   *)line___0, '\n', len___0);
  nl = (char const   *)tmp;
  if (! nl) {
    return (line___0 + len___0);
  }
  return (nl + 1);
}
}
static int generate_push_cert(struct strbuf *req_buf , struct ref  const  *remote_refs ,
                              struct send_pack_args *args___0 , char const   *cap_string ,
                              char const   *push_cert_nonce___0 )
{
  struct ref  const  *ref ;
  struct string_list_item *item___0 ;
  char *signing_key_id ;
  char const   *tmp ;
  char *tmp___0 ;
  char const   *cp ;
  char const   *np ;
  struct strbuf cert ;
  int update_seen ;
  char *anon_url ;
  char *tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const   *tmp___6 ;
  int tmp___7 ;

  {
  tmp = get_signing_key_id();
  tmp___0 = xstrdup(tmp);
  signing_key_id = tmp___0;
  cert.alloc = 0UL;
  cert.len = 0UL;
  cert.buf = strbuf_slopbuf;
  update_seen = 0;
  strbuf_addstr(& cert, (char const   *)"certificate version 0.1\n");
  strbuf_addf(& cert, (char const   *)"pusher %s ", signing_key_id);
  datestamp(& cert);
  strbuf_addch(& cert, '\n');
  if (args___0->url) {
    if (*(args___0->url)) {
      tmp___1 = transport_anonymize_url(args___0->url);
      anon_url = tmp___1;
      strbuf_addf(& cert, (char const   *)"pushee %s\n", anon_url);
      free((void *)anon_url);
    }
  }
  if (*(push_cert_nonce___0 + 0)) {
    strbuf_addf(& cert, (char const   *)"nonce %s\n", push_cert_nonce___0);
  }
  if (args___0->push_options) {
    item___0 = (struct string_list_item *)(args___0->push_options)->items;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )((args___0->push_options)->items + (args___0->push_options)->nr))) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      strbuf_addf(& cert, (char const   *)"push-option %s\n", item___0->string);
      item___0 ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  strbuf_addstr(& cert, (char const   *)"\n");
  ref = remote_refs;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ref) {
      goto while_break___0;
    }
    tmp___2 = check_to_send_update(ref, (struct send_pack_args  const  *)args___0);
    if (tmp___2 < 0) {
      goto __Cont;
    }
    update_seen = 1;
    tmp___3 = oid_to_hex((struct object_id  const  *)(& ref->new_oid));
    tmp___4 = oid_to_hex((struct object_id  const  *)(& ref->old_oid));
    strbuf_addf(& cert, (char const   *)"%s %s %s\n", tmp___4, tmp___3, ref->name);
    __Cont: /* CIL Label */
    ref = (struct ref  const  *)ref->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (! update_seen) {
    goto free_return;
  }
  tmp___6 = get_signing_key();
  tmp___7 = sign_buffer(& cert, & cert, tmp___6);
  if (tmp___7) {
    tmp___5 = _((char const   *)"failed to sign the push certificate");
    die((char const   *)tmp___5);
  }
  packet_buf_write(req_buf, (char const   *)"push-cert%c%s", 0, cap_string);
  cp = (char const   *)cert.buf;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned long )cp < (unsigned long )(cert.buf + cert.len))) {
      goto while_break___1;
    }
    np = next_line(cp, (size_t )((cert.buf + cert.len) - (char *)cp));
    packet_buf_write(req_buf, (char const   *)"%.*s", (int )(np - cp), cp);
    cp = np;
  }
  while_break___1: /* CIL Label */ ;
  }
  packet_buf_write(req_buf, (char const   *)"push-cert-end\n");
  free_return:
  free((void *)signing_key_id);
  strbuf_release(& cert);
  return (update_seen);
}
}
static void reject_invalid_nonce(char const   *nonce , int len___0 )
{
  int i ;
  int ch___0 ;

  {
  i = 0;
  if (256 <= len___0) {
    die((char const   *)"the receiving end asked to sign an invalid nonce <%.*s>",
        len___0, nonce);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < len___0)) {
      goto while_break;
    }
    ch___0 = (int )((int const   )*(nonce + i) & 255);
    if (((int const   )sane_ctype[(unsigned char )ch___0] & 6) != 0) {
      goto __Cont;
    } else
    if (ch___0 == 45) {
      goto __Cont;
    } else
    if (ch___0 == 46) {
      goto __Cont;
    } else
    if (ch___0 == 47) {
      goto __Cont;
    } else
    if (ch___0 == 43) {
      goto __Cont;
    } else
    if (ch___0 == 61) {
      goto __Cont;
    } else
    if (ch___0 == 95) {
      goto __Cont;
    }
    die((char const   *)"the receiving end asked to sign an invalid nonce <%.*s>",
        len___0, nonce);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void get_commons_through_negotiation(char const   *url , struct ref  const  *remote_refs ,
                                            struct oid_array *commons )
{
  struct child_process child ;
  struct ref  const  *ref ;
  int len___0 ;
  char *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char hex_hash[65] ;
  int read_len ;
  ssize_t tmp___3 ;
  struct object_id oid ;
  char const   *end ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;

  {
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  len___0 = (int )((the_repository->hash_algo)->hexsz + 1UL);
  child.git_cmd = 1U;
  child.no_stdin = 1U;
  child.out = -1;
  strvec_pushl(& child.args, "fetch", "--negotiate-only", (void *)0);
  ref = remote_refs;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    tmp___0 = is_null_oid((struct object_id  const  *)(& ref->new_oid));
    if (! tmp___0) {
      tmp = oid_to_hex((struct object_id  const  *)(& ref->new_oid));
      strvec_pushf(& child.args, (char const   *)"--negotiation-tip=%s", tmp);
    }
    ref = (struct ref  const  *)ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  strvec_push(& child.args, url);
  tmp___2 = start_command(& child);
  if (tmp___2) {
    tmp___1 = _((char const   *)"send-pack: unable to fork off fetch subprocess");
    die((char const   *)tmp___1);
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___3 = read_in_full(child.out, (void *)(hex_hash), (size_t )len___0);
    read_len = (int )tmp___3;
    if (! read_len) {
      goto while_break___0;
    }
    if (read_len != len___0) {
      die((char const   *)"invalid length read %d", read_len);
    }
    tmp___4 = parse_oid_hex((char const   *)(hex_hash), & oid, & end);
    if (tmp___4) {
      die((char const   *)"invalid hash");
    } else
    if ((int const   )*end != 10) {
      die((char const   *)"invalid hash");
    }
    oid_array_append(commons, (struct object_id  const  *)(& oid));
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___6 = finish_command(& child);
  if (tmp___6) {
    tmp___5 = _((char const   *)"push negotiation failed; proceeding anyway with push");
    warning((char const   *)tmp___5);
  }
  return;
}
}
int send_pack(struct send_pack_args *args___0 , int *fd , struct child_process *conn ,
              struct ref *remote_refs , struct oid_array *extra_have )
{
  struct oid_array commons ;
  int in ;
  int out ;
  struct strbuf req_buf ;
  struct strbuf cap_buf ;
  struct ref *ref ;
  int need_pack_data ;
  int allow_deleting_refs ;
  int status_report ;
  int use_sideband___1 ;
  int quiet_supported ;
  int agent_supported___0 ;
  int advertise_sid___2 ;
  int push_negotiate ;
  int use_atomic___1 ;
  int atomic_supported ;
  int use_push_options___1 ;
  int push_options_supported ;
  int object_format_supported ;
  unsigned int cmds_sent ;
  int ret___67 ;
  struct async demux ;
  char const   *push_cert_nonce___0 ;
  struct packet_reader reader ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  int len___0 ;
  void *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  int tmp___18 ;
  char const   *tmp___19 ;
  char const   *tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  char *old_hex ;
  char *new_hex ;
  int tmp___24 ;
  struct string_list_item *item___0 ;
  int tmp___25 ;
  int tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;

  {
  commons.oid = (struct object_id *)0;
  commons.nr = 0UL;
  commons.alloc = 0UL;
  commons.sorted = 0;
  in = *(fd + 0);
  out = *(fd + 1);
  req_buf.alloc = 0UL;
  req_buf.len = 0UL;
  req_buf.buf = strbuf_slopbuf;
  cap_buf.alloc = 0UL;
  cap_buf.len = 0UL;
  cap_buf.buf = strbuf_slopbuf;
  need_pack_data = 0;
  allow_deleting_refs = 0;
  status_report = 0;
  use_sideband___1 = 0;
  quiet_supported = 0;
  agent_supported___0 = 0;
  advertise_sid___2 = 0;
  push_negotiate = 0;
  use_atomic___1 = 0;
  atomic_supported = 0;
  use_push_options___1 = 0;
  push_options_supported = 0;
  object_format_supported = 0;
  cmds_sent = 0U;
  push_cert_nonce___0 = (char const   *)((void *)0);
  if (! remote_refs) {
    fprintf(stderr, (char const   *)"No refs in common and none specified; doing nothing.\nPerhaps you should specify a branch.\n");
    return (0);
  }
  git_config_get_bool((char const   *)"push.negotiate", & push_negotiate);
  if (push_negotiate) {
    get_commons_through_negotiation(args___0->url, (struct ref  const  *)remote_refs,
                                    & commons);
  }
  git_config_get_bool((char const   *)"transfer.advertisesid", & advertise_sid___2);
  tmp___0 = server_supports((char const   *)"report-status-v2");
  if (tmp___0) {
    status_report = 2;
  } else {
    tmp = server_supports((char const   *)"report-status");
    if (tmp) {
      status_report = 1;
    }
  }
  tmp___1 = server_supports((char const   *)"delete-refs");
  if (tmp___1) {
    allow_deleting_refs = 1;
  }
  tmp___2 = server_supports((char const   *)"ofs-delta");
  if (tmp___2) {
    args___0->use_ofs_delta = 1U;
  }
  tmp___3 = server_supports((char const   *)"side-band-64k");
  if (tmp___3) {
    use_sideband___1 = 1;
  }
  tmp___4 = server_supports((char const   *)"quiet");
  if (tmp___4) {
    quiet_supported = 1;
  }
  tmp___5 = server_supports((char const   *)"agent");
  if (tmp___5) {
    agent_supported___0 = 1;
  }
  tmp___6 = server_supports((char const   *)"session-id");
  if (! tmp___6) {
    advertise_sid___2 = 0;
  }
  tmp___7 = server_supports((char const   *)"no-thin");
  if (tmp___7) {
    args___0->use_thin_pack = 0U;
  }
  tmp___8 = server_supports((char const   *)"atomic");
  if (tmp___8) {
    atomic_supported = 1;
  }
  tmp___9 = server_supports((char const   *)"push-options");
  if (tmp___9) {
    push_options_supported = 1;
  }
  tmp___11 = server_supports_hash((char const   *)(the_repository->hash_algo)->name,
                                  & object_format_supported);
  if (! tmp___11) {
    tmp___10 = _((char const   *)"the receiving end does not support this repository\'s hash algorithm");
    die((char const   *)tmp___10);
  }
  if (args___0->push_cert != 0U) {
    push_cert_nonce___0 = server_feature_value((char const   *)"push-cert", & len___0);
    if (push_cert_nonce___0) {
      reject_invalid_nonce(push_cert_nonce___0, len___0);
      tmp___12 = xmemdupz((void const   *)push_cert_nonce___0, (size_t )len___0);
      push_cert_nonce___0 = (char const   *)tmp___12;
    } else
    if (args___0->push_cert == 2U) {
      tmp___13 = _((char const   *)"the receiving end does not support --signed push");
      die((char const   *)tmp___13);
    } else
    if (args___0->push_cert == 1U) {
      tmp___14 = _((char const   *)"not sending a push certificate since the receiving end does not support --signed push");
      warning((char const   *)tmp___14);
    }
  }
  if (args___0->atomic) {
    if (! atomic_supported) {
      tmp___15 = _((char const   *)"the receiving end does not support --atomic push");
      die((char const   *)tmp___15);
    }
  }
  if (atomic_supported) {
    if (args___0->atomic) {
      tmp___16 = 1;
    } else {
      tmp___16 = 0;
    }
  } else {
    tmp___16 = 0;
  }
  use_atomic___1 = tmp___16;
  if (args___0->push_options) {
    if (! push_options_supported) {
      tmp___17 = _((char const   *)"the receiving end does not support push options");
      die((char const   *)tmp___17);
    }
  }
  if (push_options_supported) {
    if (args___0->push_options) {
      tmp___18 = 1;
    } else {
      tmp___18 = 0;
    }
  } else {
    tmp___18 = 0;
  }
  use_push_options___1 = tmp___18;
  if (status_report == 1) {
    strbuf_addstr(& cap_buf, (char const   *)" report-status");
  } else
  if (status_report == 2) {
    strbuf_addstr(& cap_buf, (char const   *)" report-status-v2");
  }
  if (use_sideband___1) {
    strbuf_addstr(& cap_buf, (char const   *)" side-band-64k");
  }
  if (quiet_supported) {
    if (args___0->quiet) {
      strbuf_addstr(& cap_buf, (char const   *)" quiet");
    } else
    if (! args___0->progress) {
      strbuf_addstr(& cap_buf, (char const   *)" quiet");
    }
  }
  if (use_atomic___1) {
    strbuf_addstr(& cap_buf, (char const   *)" atomic");
  }
  if (use_push_options___1) {
    strbuf_addstr(& cap_buf, (char const   *)" push-options");
  }
  if (object_format_supported) {
    strbuf_addf(& cap_buf, (char const   *)" object-format=%s", (the_repository->hash_algo)->name);
  }
  if (agent_supported___0) {
    tmp___19 = git_user_agent_sanitized();
    strbuf_addf(& cap_buf, (char const   *)" agent=%s", tmp___19);
  }
  if (advertise_sid___2) {
    tmp___20 = trace2_session_id();
    strbuf_addf(& cap_buf, (char const   *)" session-id=%s", tmp___20);
  }
  ref = remote_refs;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    if (ref->deletion) {
      if (! allow_deleting_refs) {
        ref->status = (enum __anonenum_status_407753297 )4;
      }
    }
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  ref = remote_refs;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ref) {
      goto while_break___0;
    }
    tmp___21 = check_to_send_update((struct ref  const  *)ref, (struct send_pack_args  const  *)args___0);
    {
    if (tmp___21 == 0) {
      goto case_0;
    }
    if (tmp___21 == -2) {
      goto case_neg_2;
    }
    goto switch_default;
    case_0: /* CIL Label */
    goto switch_break;
    case_neg_2: /* CIL Label */
    if (use_atomic___1) {
      strbuf_release(& req_buf);
      strbuf_release(& cap_buf);
      reject_atomic_push(remote_refs, (int )args___0->send_mirror);
      error((char const   *)"atomic push failed for ref %s. status: %d\n", ref->name,
            (unsigned int )ref->status);
      const_error();
      if (args___0->porcelain) {
        tmp___22 = 0;
      } else {
        tmp___22 = -1;
      }
      return (tmp___22);
    }
    switch_default: /* CIL Label */
    goto __Cont;
    switch_break: /* CIL Label */ ;
    }
    if (! ref->deletion) {
      need_pack_data = 1;
    }
    if (args___0->dry_run) {
      ref->status = (enum __anonenum_status_407753297 )1;
    } else
    if (! status_report) {
      ref->status = (enum __anonenum_status_407753297 )1;
    } else {
      ref->status = (enum __anonenum_status_407753297 )12;
    }
    __Cont: /* CIL Label */
    ref = ref->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (! args___0->dry_run) {
    advertise_shallow_grafts_buf(& req_buf);
  }
  if (! args___0->dry_run) {
    if (push_cert_nonce___0) {
      tmp___23 = generate_push_cert(& req_buf, (struct ref  const  *)remote_refs,
                                    args___0, (char const   *)cap_buf.buf, push_cert_nonce___0);
      cmds_sent = (unsigned int )tmp___23;
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (! args___0->dry_run) {
    ref = remote_refs;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ref) {
        goto while_break___1;
      }
      tmp___24 = check_to_send_update((struct ref  const  *)ref, (struct send_pack_args  const  *)args___0);
      if (tmp___24 < 0) {
        goto __Cont___0;
      }
      old_hex = oid_to_hex((struct object_id  const  *)(& ref->old_oid));
      new_hex = oid_to_hex((struct object_id  const  *)(& ref->new_oid));
      if (! cmds_sent) {
        packet_buf_write(& req_buf, (char const   *)"%s %s %s%c%s", old_hex, new_hex,
                         ref->name, 0, cap_buf.buf);
        cmds_sent = 1U;
      } else {
        packet_buf_write(& req_buf, (char const   *)"%s %s %s", old_hex, new_hex,
                         ref->name);
      }
      __Cont___0: /* CIL Label */
      ref = ref->next;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  if (use_push_options___1) {
    packet_buf_flush(& req_buf);
    item___0 = (struct string_list_item *)(args___0->push_options)->items;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )((args___0->push_options)->items + (args___0->push_options)->nr))) {
          goto while_break___2;
        }
      } else {
        goto while_break___2;
      }
      packet_buf_write(& req_buf, (char const   *)"%s", item___0->string);
      item___0 ++;
    }
    while_break___2: /* CIL Label */ ;
    }
  }
  if (args___0->stateless_rpc) {
    if (! args___0->dry_run) {
      if (cmds_sent) {
        packet_buf_flush(& req_buf);
        send_sideband(out, -1, (char const   *)req_buf.buf, (ssize_t )req_buf.len,
                      65520);
      } else {
        tmp___25 = is_repository_shallow(the_repository);
        if (tmp___25) {
          packet_buf_flush(& req_buf);
          send_sideband(out, -1, (char const   *)req_buf.buf, (ssize_t )req_buf.len,
                        65520);
        }
      }
    }
  } else {
    write_or_die(out, (void const   *)req_buf.buf, req_buf.len);
    packet_flush(out);
  }
  strbuf_release(& req_buf);
  strbuf_release(& cap_buf);
  if (use_sideband___1) {
    if (cmds_sent) {
      memset((void *)(& demux), 0, sizeof(demux));
      demux.proc = & sideband_demux___0;
      demux.data = (void *)fd;
      demux.out = -1;
      demux.isolate_sigpipe = 1;
      tmp___26 = start_async(& demux);
      if (tmp___26) {
        die((char const   *)"send-pack: unable to fork off sideband demultiplexer");
      }
      in = demux.out;
    }
  }
  packet_reader_init(& reader, in, (char *)((void *)0), (size_t )0, (int )((1u << 1) | (1u << 2)));
  if (need_pack_data) {
    if (cmds_sent) {
      tmp___28 = pack_objects(out, remote_refs, extra_have, & commons, args___0);
      if (tmp___28 < 0) {
        if (args___0->stateless_rpc) {
          close(out);
        }
        tmp___27 = git_connection_is_socket(conn);
        if (tmp___27) {
          shutdown(*(fd + 0), 1);
        }
        if (status_report) {
          receive_status(& reader, remote_refs);
        }
        if (use_sideband___1) {
          close(demux.out);
          finish_async(& demux);
        }
        *(fd + 1) = -1;
        return (-1);
      }
      if (! args___0->stateless_rpc) {
        *(fd + 1) = -1;
      }
    }
  }
  if (args___0->stateless_rpc) {
    if (cmds_sent) {
      packet_flush(out);
    }
  }
  if (status_report) {
    if (cmds_sent) {
      ret___67 = receive_status(& reader, remote_refs);
    } else {
      ret___67 = 0;
    }
  } else {
    ret___67 = 0;
  }
  if (args___0->stateless_rpc) {
    packet_flush(out);
  }
  if (use_sideband___1) {
    if (cmds_sent) {
      close(demux.out);
      tmp___29 = finish_async(& demux);
      if (tmp___29) {
        error((char const   *)"error in sideband demultiplexer");
        const_error();
        ret___67 = -1;
      }
    }
  }
  if (ret___67 < 0) {
    return (ret___67);
  }
  if (args___0->porcelain) {
    return (0);
  }
  ref = remote_refs;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! ref) {
      goto while_break___3;
    }
    {
    if ((unsigned int )ref->status == 1U) {
      goto case_1;
    }
    if ((unsigned int )ref->status == 10U) {
      goto case_1;
    }
    if ((unsigned int )ref->status == 0U) {
      goto case_1;
    }
    goto switch_default___0;
    case_1: /* CIL Label */
    case_10: /* CIL Label */
    case_0___0: /* CIL Label */
    goto switch_break___0;
    switch_default___0: /* CIL Label */
    return (-1);
    switch_break___0: /* CIL Label */ ;
    }
    ref = ref->next;
  }
  while_break___3: /* CIL Label */ ;
  }
  return (0);
}
}
static double const   __ac_HASH_UPPER___84  =    (double const   )0.77;
__inline static void kh_resize_oid_set___84(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___84(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___84 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___84 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___84(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___84(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___84(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___84(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___84(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___84(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___84 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___84 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___84(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___84(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___84(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___84(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___84(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___84(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___84 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___84 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___84(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___84(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___84(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___84(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___63(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___63(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___84 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___84 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___63(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___63(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___63(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___63(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_contains_cache_with_stride___13(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___13(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___13(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___13(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___13(s___1, 1U);
  return;
}
}
static void clear_contains_cache___13(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___13(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___13(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___13(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___13(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___13(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___13(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___13(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___13(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___13(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___13(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___13(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___13(s___1, c___0, 0);
  return (tmp);
}
}
static char const   sign_off_header[16]  =
  {      (char const   )'S',      (char const   )'i',      (char const   )'g',      (char const   )'n',
        (char const   )'e',      (char const   )'d',      (char const   )'-',      (char const   )'o',
        (char const   )'f',      (char const   )'f',      (char const   )'-',      (char const   )'b',
        (char const   )'y',      (char const   )':',      (char const   )' ',      (char const   )'\000'};
static char const   cherry_picked_prefix[28]  =
  {      (char const   )'(',      (char const   )'c',      (char const   )'h',      (char const   )'e',
        (char const   )'r',      (char const   )'r',      (char const   )'y',      (char const   )' ',
        (char const   )'p',      (char const   )'i',      (char const   )'c',      (char const   )'k',
        (char const   )'e',      (char const   )'d',      (char const   )' ',      (char const   )'f',
        (char const   )'r',      (char const   )'o',      (char const   )'m',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'m',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'\000'};
static char *ret___12  ;
char const   *git_path_commit_editmsg(void)
{


  {
  if (! ret___12) {
    ret___12 = git_pathdup((char const   *)"COMMIT_EDITMSG");
  }
  return ((char const   *)ret___12);
}
}
static char *ret___13  ;
static char const   *git_path_seq_dir(void)
{


  {
  if (! ret___13) {
    ret___13 = git_pathdup((char const   *)"sequencer");
  }
  return ((char const   *)ret___13);
}
}
static char *ret___14  ;
static char const   *git_path_todo_file(void)
{


  {
  if (! ret___14) {
    ret___14 = git_pathdup((char const   *)"sequencer/todo");
  }
  return ((char const   *)ret___14);
}
}
static char *ret___15  ;
static char const   *git_path_opts_file(void)
{


  {
  if (! ret___15) {
    ret___15 = git_pathdup((char const   *)"sequencer/opts");
  }
  return ((char const   *)ret___15);
}
}
static char *ret___16  ;
static char const   *git_path_head_file(void)
{


  {
  if (! ret___16) {
    ret___16 = git_pathdup((char const   *)"sequencer/head");
  }
  return ((char const   *)ret___16);
}
}
static char *ret___17  ;
static char const   *git_path_abort_safety_file(void)
{


  {
  if (! ret___17) {
    ret___17 = git_pathdup((char const   *)"sequencer/abort-safety");
  }
  return ((char const   *)ret___17);
}
}
static char *ret___18  ;
static char const   *rebase_path(void)
{


  {
  if (! ret___18) {
    ret___18 = git_pathdup((char const   *)"rebase-merge");
  }
  return ((char const   *)ret___18);
}
}
static char *ret___19  ;
char const   *rebase_path_todo(void)
{


  {
  if (! ret___19) {
    ret___19 = git_pathdup((char const   *)"rebase-merge/git-rebase-todo");
  }
  return ((char const   *)ret___19);
}
}
static char *ret___20  ;
char const   *rebase_path_todo_backup(void)
{


  {
  if (! ret___20) {
    ret___20 = git_pathdup((char const   *)"rebase-merge/git-rebase-todo.backup");
  }
  return ((char const   *)ret___20);
}
}
static char *ret___21  ;
char const   *rebase_path_dropped(void)
{


  {
  if (! ret___21) {
    ret___21 = git_pathdup((char const   *)"rebase-merge/dropped");
  }
  return ((char const   *)ret___21);
}
}
static char *ret___22  ;
static char const   *rebase_path_done(void)
{


  {
  if (! ret___22) {
    ret___22 = git_pathdup((char const   *)"rebase-merge/done");
  }
  return ((char const   *)ret___22);
}
}
static char *ret___23  ;
static char const   *rebase_path_msgnum(void)
{


  {
  if (! ret___23) {
    ret___23 = git_pathdup((char const   *)"rebase-merge/msgnum");
  }
  return ((char const   *)ret___23);
}
}
static char *ret___24  ;
static char const   *rebase_path_msgtotal(void)
{


  {
  if (! ret___24) {
    ret___24 = git_pathdup((char const   *)"rebase-merge/end");
  }
  return ((char const   *)ret___24);
}
}
static char *ret___25  ;
static char const   *rebase_path_message(void)
{


  {
  if (! ret___25) {
    ret___25 = git_pathdup((char const   *)"rebase-merge/message");
  }
  return ((char const   *)ret___25);
}
}
static char *ret___26  ;
static char const   *rebase_path_squash_msg(void)
{


  {
  if (! ret___26) {
    ret___26 = git_pathdup((char const   *)"rebase-merge/message-squash");
  }
  return ((char const   *)ret___26);
}
}
static char *ret___27  ;
static char const   *rebase_path_fixup_msg(void)
{


  {
  if (! ret___27) {
    ret___27 = git_pathdup((char const   *)"rebase-merge/message-fixup");
  }
  return ((char const   *)ret___27);
}
}
static char *ret___28  ;
static char const   *rebase_path_current_fixups(void)
{


  {
  if (! ret___28) {
    ret___28 = git_pathdup((char const   *)"rebase-merge/current-fixups");
  }
  return ((char const   *)ret___28);
}
}
static char *ret___29  ;
static char const   *rebase_path_author_script(void)
{


  {
  if (! ret___29) {
    ret___29 = git_pathdup((char const   *)"rebase-merge/author-script");
  }
  return ((char const   *)ret___29);
}
}
static char *ret___30  ;
static char const   *rebase_path_amend(void)
{


  {
  if (! ret___30) {
    ret___30 = git_pathdup((char const   *)"rebase-merge/amend");
  }
  return ((char const   *)ret___30);
}
}
static char *ret___31  ;
static char const   *rebase_path_stopped_sha(void)
{


  {
  if (! ret___31) {
    ret___31 = git_pathdup((char const   *)"rebase-merge/stopped-sha");
  }
  return ((char const   *)ret___31);
}
}
static char *ret___32  ;
static char const   *rebase_path_rewritten_list(void)
{


  {
  if (! ret___32) {
    ret___32 = git_pathdup((char const   *)"rebase-merge/rewritten-list");
  }
  return ((char const   *)ret___32);
}
}
static char *ret___33  ;
static char const   *rebase_path_rewritten_pending(void)
{


  {
  if (! ret___33) {
    ret___33 = git_pathdup((char const   *)"rebase-merge/rewritten-pending");
  }
  return ((char const   *)ret___33);
}
}
static char *ret___34  ;
static char const   *rebase_path_squash_onto(void)
{


  {
  if (! ret___34) {
    ret___34 = git_pathdup((char const   *)"rebase-merge/squash-onto");
  }
  return ((char const   *)ret___34);
}
}
static char *ret___35  ;
static char const   *rebase_path_refs_to_delete(void)
{


  {
  if (! ret___35) {
    ret___35 = git_pathdup((char const   *)"rebase-merge/refs-to-delete");
  }
  return ((char const   *)ret___35);
}
}
static char *ret___36  ;
static char const   *rebase_path_gpg_sign_opt(void)
{


  {
  if (! ret___36) {
    ret___36 = git_pathdup((char const   *)"rebase-merge/gpg_sign_opt");
  }
  return ((char const   *)ret___36);
}
}
static char *ret___37  ;
static char const   *rebase_path_cdate_is_adate(void)
{


  {
  if (! ret___37) {
    ret___37 = git_pathdup((char const   *)"rebase-merge/cdate_is_adate");
  }
  return ((char const   *)ret___37);
}
}
static char *ret___38  ;
static char const   *rebase_path_ignore_date(void)
{


  {
  if (! ret___38) {
    ret___38 = git_pathdup((char const   *)"rebase-merge/ignore_date");
  }
  return ((char const   *)ret___38);
}
}
static char *ret___39  ;
static char const   *rebase_path_orig_head(void)
{


  {
  if (! ret___39) {
    ret___39 = git_pathdup((char const   *)"rebase-merge/orig-head");
  }
  return ((char const   *)ret___39);
}
}
static char *ret___40  ;
static char const   *rebase_path_verbose(void)
{


  {
  if (! ret___40) {
    ret___40 = git_pathdup((char const   *)"rebase-merge/verbose");
  }
  return ((char const   *)ret___40);
}
}
static char *ret___41  ;
static char const   *rebase_path_quiet(void)
{


  {
  if (! ret___41) {
    ret___41 = git_pathdup((char const   *)"rebase-merge/quiet");
  }
  return ((char const   *)ret___41);
}
}
static char *ret___42  ;
static char const   *rebase_path_signoff(void)
{


  {
  if (! ret___42) {
    ret___42 = git_pathdup((char const   *)"rebase-merge/signoff");
  }
  return ((char const   *)ret___42);
}
}
static char *ret___43  ;
static char const   *rebase_path_head_name(void)
{


  {
  if (! ret___43) {
    ret___43 = git_pathdup((char const   *)"rebase-merge/head-name");
  }
  return ((char const   *)ret___43);
}
}
static char *ret___44  ;
static char const   *rebase_path_onto(void)
{


  {
  if (! ret___44) {
    ret___44 = git_pathdup((char const   *)"rebase-merge/onto");
  }
  return ((char const   *)ret___44);
}
}
static char *ret___45  ;
static char const   *rebase_path_autostash(void)
{


  {
  if (! ret___45) {
    ret___45 = git_pathdup((char const   *)"rebase-merge/autostash");
  }
  return ((char const   *)ret___45);
}
}
static char *ret___46  ;
static char const   *rebase_path_strategy(void)
{


  {
  if (! ret___46) {
    ret___46 = git_pathdup((char const   *)"rebase-merge/strategy");
  }
  return ((char const   *)ret___46);
}
}
static char *ret___47  ;
static char const   *rebase_path_strategy_opts(void)
{


  {
  if (! ret___47) {
    ret___47 = git_pathdup((char const   *)"rebase-merge/strategy_opts");
  }
  return ((char const   *)ret___47);
}
}
static char *ret___48  ;
static char const   *rebase_path_allow_rerere_autoupdate(void)
{


  {
  if (! ret___48) {
    ret___48 = git_pathdup((char const   *)"rebase-merge/allow_rerere_autoupdate");
  }
  return ((char const   *)ret___48);
}
}
static char *ret___49  ;
static char const   *rebase_path_reschedule_failed_exec(void)
{


  {
  if (! ret___49) {
    ret___49 = git_pathdup((char const   *)"rebase-merge/reschedule-failed-exec");
  }
  return ((char const   *)ret___49);
}
}
static char *ret___50  ;
static char const   *rebase_path_no_reschedule_failed_exec(void)
{


  {
  if (! ret___50) {
    ret___50 = git_pathdup((char const   *)"rebase-merge/no-reschedule-failed-exec");
  }
  return ((char const   *)ret___50);
}
}
static char *ret___51  ;
static char const   *rebase_path_drop_redundant_commits(void)
{


  {
  if (! ret___51) {
    ret___51 = git_pathdup((char const   *)"rebase-merge/drop_redundant_commits");
  }
  return ((char const   *)ret___51);
}
}
static char *ret___52  ;
static char const   *rebase_path_keep_redundant_commits(void)
{


  {
  if (! ret___52) {
    ret___52 = git_pathdup((char const   *)"rebase-merge/keep_redundant_commits");
  }
  return ((char const   *)ret___52);
}
}
static int git_sequencer_config(char const   *k , char const   *v , void *cb )
{
  struct replay_opts *opts___1 ;
  int status ;
  char const   *s___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int ret___67 ;
  int tmp___9 ;
  char *tmp___10 ;
  char *tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;

  {
  opts___1 = (struct replay_opts *)cb;
  tmp___4 = strcmp(k, (char const   *)"commit.cleanup");
  if (! tmp___4) {
    status = git_config_string(& s___1, k, v);
    if (status) {
      return (status);
    }
    tmp___3 = strcmp(s___1, (char const   *)"verbatim");
    if (tmp___3) {
      tmp___2 = strcmp(s___1, (char const   *)"whitespace");
      if (tmp___2) {
        tmp___1 = strcmp(s___1, (char const   *)"strip");
        if (tmp___1) {
          tmp___0 = strcmp(s___1, (char const   *)"scissors");
          if (tmp___0) {
            tmp = _((char const   *)"invalid commit message cleanup mode \'%s\'");
            warning((char const   *)tmp, s___1);
          } else {
            opts___1->default_msg_cleanup = (enum commit_msg_cleanup_mode )2;
            opts___1->explicit_cleanup = 1;
          }
        } else {
          opts___1->default_msg_cleanup = (enum commit_msg_cleanup_mode )3;
          opts___1->explicit_cleanup = 1;
        }
      } else {
        opts___1->default_msg_cleanup = (enum commit_msg_cleanup_mode )0;
        opts___1->explicit_cleanup = 1;
      }
    } else {
      opts___1->default_msg_cleanup = (enum commit_msg_cleanup_mode )1;
      opts___1->explicit_cleanup = 1;
    }
    free((void *)((char *)s___1));
    return (status);
  }
  tmp___8 = strcmp(k, (char const   *)"commit.gpgsign");
  if (! tmp___8) {
    tmp___7 = git_config_bool(k, v);
    if (tmp___7) {
      tmp___6 = xstrdup((char const   *)"");
      opts___1->gpg_sign = tmp___6;
    } else {
      opts___1->gpg_sign = (char *)((void *)0);
    }
    return (0);
  }
  if (! opts___1->default_strategy) {
    tmp___12 = strcmp(k, (char const   *)"pull.twohead");
    if (! tmp___12) {
      tmp___9 = git_config_string((char const   **)(& opts___1->default_strategy),
                                  k, v);
      ret___67 = tmp___9;
      if (ret___67 == 0) {
        tmp___11 = strchr((char const   *)opts___1->default_strategy, ' ');
        tmp___10 = tmp___11;
        if (tmp___10) {
          *tmp___10 = (char )'\000';
        }
      }
      return (ret___67);
    }
  }
  status = git_gpg_config(k, v, (void *)0);
  if (status) {
    return (status);
  }
  tmp___13 = git_diff_basic_config(k, v, (void *)0);
  return (tmp___13);
}
}
void sequencer_init_config(struct replay_opts *opts___1 )
{


  {
  opts___1->default_msg_cleanup = (enum commit_msg_cleanup_mode )1;
  git_config(& git_sequencer_config, (void *)opts___1);
  return;
}
}
__inline static int is_rebase_i(struct replay_opts  const  *opts___1 )
{


  {
  return ((unsigned int )opts___1->action == 2U);
}
}
static char const   *get_dir(struct replay_opts  const  *opts___1 )
{
  char const   *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;

  {
  tmp___0 = is_rebase_i(opts___1);
  if (tmp___0) {
    tmp = rebase_path();
    return (tmp);
  }
  tmp___1 = git_path_seq_dir();
  return (tmp___1);
}
}
static char const   *get_todo_path(struct replay_opts  const  *opts___1 )
{
  char const   *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;

  {
  tmp___0 = is_rebase_i(opts___1);
  if (tmp___0) {
    tmp = rebase_path_todo();
    return (tmp);
  }
  tmp___1 = git_path_todo_file();
  return (tmp___1);
}
}
static int has_conforming_footer(struct strbuf *sb___6 , struct strbuf *sob , size_t ignore_footer )
{
  struct process_trailer_options opts___1 ;
  struct trailer_info info___0 ;
  size_t i ;
  int found_sob ;
  int found_sob_last ;
  char saved_char ;
  int tmp ;

  {
  opts___1.in_place = 0;
  opts___1.trim_empty = 0;
  opts___1.only_trailers = 0;
  opts___1.only_input = 0;
  opts___1.unfold = 0;
  opts___1.no_divider = 0;
  opts___1.key_only = 0;
  opts___1.value_only = 0;
  opts___1.separator = (struct strbuf  const  *)0;
  opts___1.key_value_separator = (struct strbuf  const  *)0;
  opts___1.filter = (int (*)(struct strbuf  const  * , void * ))0;
  opts___1.filter_data = (void *)0;
  found_sob = 0;
  found_sob_last = 0;
  opts___1.no_divider = 1;
  if (ignore_footer) {
    saved_char = *(sb___6->buf + (sb___6->len - ignore_footer));
    *(sb___6->buf + (sb___6->len - ignore_footer)) = (char )'\000';
  }
  trailer_info_get(& info___0, (char const   *)sb___6->buf, (struct process_trailer_options  const  *)(& opts___1));
  if (ignore_footer) {
    *(sb___6->buf + (sb___6->len - ignore_footer)) = saved_char;
  }
  if ((unsigned long )info___0.trailer_start == (unsigned long )info___0.trailer_end) {
    return (0);
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < info___0.trailer_nr)) {
      goto while_break;
    }
    if (sob) {
      tmp = strncmp((char const   *)*(info___0.trailers + i), (char const   *)sob->buf,
                    sob->len);
      if (! tmp) {
        found_sob = 1;
        if (i == info___0.trailer_nr - 1UL) {
          found_sob_last = 1;
        }
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  trailer_info_release(& info___0);
  if (found_sob_last) {
    return (3);
  }
  if (found_sob) {
    return (2);
  }
  return (1);
}
}
static char const   *gpg_sign_opt_quoted(struct replay_opts *opts___1 ) ;
static struct strbuf buf___10  =    {0UL, 0UL, strbuf_slopbuf};
static char const   *gpg_sign_opt_quoted(struct replay_opts *opts___1 )
{


  {
  strbuf_setlen(& buf___10, (size_t )0);
  if (opts___1->gpg_sign) {
    sq_quotef(& buf___10, (char const   *)"-S%s", opts___1->gpg_sign);
  }
  return ((char const   *)buf___10.buf);
}
}
int sequencer_remove_state(struct replay_opts *opts___1 )
{
  struct strbuf buf___19 ;
  int i ;
  int ret___67 ;
  char *p___0 ;
  char *eol ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  ssize_t tmp___4 ;
  char const   *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  ret___67 = 0;
  tmp___2 = is_rebase_i((struct replay_opts  const  *)opts___1);
  if (tmp___2) {
    tmp___3 = rebase_path_refs_to_delete();
    tmp___4 = strbuf_read_file(& buf___19, tmp___3, (size_t )0);
    if (tmp___4 > 0L) {
      p___0 = buf___19.buf;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! *p___0) {
          goto while_break;
        }
        tmp = strchr((char const   *)p___0, '\n');
        eol = tmp;
        if (eol) {
          *eol = (char )'\000';
        }
        tmp___1 = delete_ref((char const   *)"(rebase) cleanup", (char const   *)p___0,
                             (struct object_id  const  *)((void *)0), 0U);
        if (tmp___1 < 0) {
          tmp___0 = _((char const   *)"could not delete \'%s\'");
          warning((char const   *)tmp___0, p___0);
          ret___67 = -1;
        }
        if (! eol) {
          goto while_break;
        }
        p___0 = eol + 1;
      }
      while_break: /* CIL Label */ ;
      }
    }
  }
  free((void *)opts___1->gpg_sign);
  free((void *)opts___1->default_strategy);
  free((void *)opts___1->strategy);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((size_t )i < opts___1->xopts_nr)) {
      goto while_break___0;
    }
    free((void *)*(opts___1->xopts + i));
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)opts___1->xopts);
  strbuf_release(& opts___1->current_fixups);
  strbuf_setlen(& buf___19, (size_t )0);
  tmp___5 = get_dir((struct replay_opts  const  *)opts___1);
  strbuf_addstr(& buf___19, tmp___5);
  tmp___7 = remove_dir_recursively(& buf___19, 0);
  if (tmp___7) {
    tmp___6 = _((char const   *)"could not remove \'%s\'");
    error((char const   *)tmp___6, buf___19.buf);
    ret___67 = const_error();
  }
  strbuf_release(& buf___19);
  return (ret___67);
}
}
static char const   *action_name(struct replay_opts  const  *opts___1 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  {
  if ((unsigned int )opts___1->action == 0U) {
    goto case_0;
  }
  if ((unsigned int )opts___1->action == 1U) {
    goto case_1;
  }
  if ((unsigned int )opts___1->action == 2U) {
    goto case_2;
  }
  goto switch_break;
  case_0: /* CIL Label */
  return ((char const   *)"revert");
  case_1: /* CIL Label */
  return ((char const   *)"cherry-pick");
  case_2: /* CIL Label */
  return ((char const   *)"rebase");
  switch_break: /* CIL Label */ ;
  }
  tmp = _((char const   *)"unknown action: %d");
  die((char const   *)tmp, (unsigned int )opts___1->action);
}
}
static char const   *short_commit_name(struct commit *commit )
{
  char const   *tmp ;

  {
  tmp = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& commit->object.oid),
                                default_abbrev);
  return (tmp);
}
}
static int get_message(struct commit *commit , struct commit_message *out )
{
  char const   *abbrev___6 ;
  char const   *subject ;
  int subject_len ;
  char const   *tmp ;
  void *tmp___0 ;

  {
  tmp = get_commit_output_encoding();
  out->message = repo_logmsg_reencode(the_repository, (struct commit  const  *)commit,
                                      (char **)((void *)0), tmp);
  abbrev___6 = short_commit_name(commit);
  subject_len = find_commit_subject(out->message, & subject);
  tmp___0 = xmemdupz((void const   *)subject, (size_t )subject_len);
  out->subject = (char *)tmp___0;
  out->label = xstrfmt((char const   *)"%s (%s)", abbrev___6, out->subject);
  out->parent_label = xstrfmt((char const   *)"parent of %s", out->label);
  return (0);
}
}
static void free_message(struct commit *commit , struct commit_message *msg___5 )
{


  {
  free((void *)msg___5->parent_label);
  free((void *)msg___5->label);
  free((void *)msg___5->subject);
  repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit, (void const   *)msg___5->message);
  return;
}
}
static void print_advice(struct repository *r , int show_hint , struct replay_opts *opts___1 )
{
  char *msg___5 ;
  char *tmp ;
  struct ref_store *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  tmp = getenv((char const   *)"GIT_CHERRY_PICK_HELP");
  msg___5 = tmp;
  if (msg___5) {
    advise((char const   *)"%s\n", msg___5);
    tmp___0 = get_main_ref_store(r);
    refs_delete_ref(tmp___0, (char const   *)"", (char const   *)"CHERRY_PICK_HEAD",
                    (struct object_id  const  *)((void *)0), 0U);
    return;
  }
  if (show_hint) {
    if (opts___1->no_commit) {
      tmp___1 = _((char const   *)"after resolving the conflicts, mark the corrected paths\nwith \'git add <paths>\' or \'git rm <paths>\'");
      advise((char const   *)tmp___1);
    } else
    if ((unsigned int )opts___1->action == 1U) {
      tmp___2 = _((char const   *)"After resolving the conflicts, mark them with\n\"git add/rm <pathspec>\", then run\n\"git cherry-pick --continue\".\nYou can instead skip this commit with \"git cherry-pick --skip\".\nTo abort and get back to the state before \"git cherry-pick\",\nrun \"git cherry-pick --abort\".");
      advise((char const   *)tmp___2);
    } else
    if ((unsigned int )opts___1->action == 0U) {
      tmp___3 = _((char const   *)"After resolving the conflicts, mark them with\n\"git add/rm <pathspec>\", then run\n\"git revert --continue\".\nYou can instead skip this commit with \"git revert --skip\".\nTo abort and get back to the state before \"git revert\",\nrun \"git revert --abort\".");
      advise((char const   *)tmp___3);
    } else {
      BUG_fl((char const   *)"sequencer.c", 437, (char const   *)"unexpected pick action in print_advice()");
    }
  }
  return;
}
}
static int write_message(void const   *buf___19 , size_t len___0 , char const   *filename___0 ,
                         int append_eol )
{
  struct lock_file msg_file ;
  int msg_fd ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  ssize_t tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  ssize_t tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  msg_file.tempfile = (struct tempfile *)0;
  tmp = hold_lock_file_for_update(& msg_file, filename___0, 0);
  msg_fd = tmp;
  if (msg_fd < 0) {
    tmp___0 = _((char const   *)"could not lock \'%s\'");
    error_errno((char const   *)tmp___0, filename___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  tmp___3 = write_in_full(msg_fd, buf___19, len___0);
  if (tmp___3 < 0L) {
    tmp___2 = _((char const   *)"could not write to \'%s\'");
    error_errno((char const   *)tmp___2, filename___0);
    const_error();
    rollback_lock_file(& msg_file);
    return (-1);
  }
  if (append_eol) {
    tmp___5 = write(msg_fd, (void const   *)"\n", (size_t )1);
    if (tmp___5 < 0L) {
      tmp___4 = _((char const   *)"could not write eol to \'%s\'");
      error_errno((char const   *)tmp___4, filename___0);
      const_error();
      rollback_lock_file(& msg_file);
      return (-1);
    }
  }
  tmp___8 = commit_lock_file(& msg_file);
  if (tmp___8 < 0) {
    tmp___6 = _((char const   *)"failed to finalize \'%s\'");
    error((char const   *)tmp___6, filename___0);
    tmp___7 = const_error();
    return (tmp___7);
  }
  return (0);
}
}
int read_oneliner(struct strbuf *buf___19 , char const   *path___6 , unsigned int flags___0 )
{
  int orig_len ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int *tmp___0 ;
  int *tmp___1 ;
  ssize_t tmp___2 ;

  {
  orig_len = (int )buf___19->len;
  tmp___2 = strbuf_read_file(buf___19, path___6, (size_t )0);
  if (tmp___2 < 0L) {
    if (flags___0 & (unsigned int )(1 << 1)) {
      tmp = _((char const   *)"could not read \'%s\'");
      warning_errno((char const   *)tmp, path___6);
    } else {
      tmp___0 = __errno_location();
      if (*tmp___0 != 2) {
        tmp___1 = __errno_location();
        if (*tmp___1 != 20) {
          tmp = _((char const   *)"could not read \'%s\'");
          warning_errno((char const   *)tmp, path___6);
        }
      }
    }
    return (0);
  }
  if (buf___19->len > (size_t )orig_len) {
    if ((int )*(buf___19->buf + (buf___19->len - 1UL)) == 10) {
      (buf___19->len) --;
      if (buf___19->len > (size_t )orig_len) {
        if ((int )*(buf___19->buf + (buf___19->len - 1UL)) == 13) {
          (buf___19->len) --;
        }
      }
      *(buf___19->buf + buf___19->len) = (char )'\000';
    }
  }
  if (flags___0 & 1U) {
    if (buf___19->len == (size_t )orig_len) {
      return (0);
    }
  }
  return (1);
}
}
static struct tree *empty_tree___0(struct repository *r )
{
  struct tree *tmp ;

  {
  tmp = lookup_tree(r, (struct object_id  const  *)(the_repository->hash_algo)->empty_tree);
  return (tmp);
}
}
static int error_dirty_index(struct repository *repo , struct replay_opts *opts___1 )
{
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;

  {
  tmp___2 = repo_read_index_unmerged(repo);
  if (tmp___2) {
    tmp = action_name((struct replay_opts  const  *)opts___1);
    tmp___0 = _(tmp);
    tmp___1 = error_resolve_conflict((char const   *)tmp___0);
    return (tmp___1);
  }
  tmp___3 = action_name((struct replay_opts  const  *)opts___1);
  tmp___4 = _(tmp___3);
  tmp___5 = _((char const   *)"your local changes would be overwritten by %s.");
  error((char const   *)tmp___5, tmp___4);
  const_error();
  tmp___7 = advice_enabled((enum advice_type )5);
  if (tmp___7) {
    tmp___6 = _((char const   *)"commit your changes or stash them to proceed.");
    advise((char const   *)tmp___6);
  }
  return (-1);
}
}
static void update_abort_safety_file(void)
{
  struct object_id head___1 ;
  char const   *tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;

  {
  tmp = git_path_seq_dir();
  tmp___0 = file_exists(tmp);
  if (! tmp___0) {
    return;
  }
  tmp___4 = repo_get_oid(the_repository, (char const   *)"HEAD", & head___1);
  if (tmp___4) {
    tmp___3 = git_path_abort_safety_file();
    write_file(tmp___3, (char const   *)"%s", "");
  } else {
    tmp___1 = oid_to_hex((struct object_id  const  *)(& head___1));
    tmp___2 = git_path_abort_safety_file();
    write_file(tmp___2, (char const   *)"%s", tmp___1);
  }
  return;
}
}
static int fast_forward_to(struct repository *r , struct object_id  const  *to , struct object_id  const  *from___0 ,
                           int unborn , struct replay_opts *opts___1 )
{
  struct ref_transaction *transaction___0 ;
  struct strbuf sb___6 ;
  struct strbuf err___4 ;
  int tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  struct object_id  const  *tmp___4 ;
  struct object_id  const  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  repo_read_index(r);
  tmp = checkout_fast_forward(r, from___0, to, 1);
  if (tmp) {
    return (-1);
  }
  tmp___0 = action_name((struct replay_opts  const  *)opts___1);
  tmp___1 = _(tmp___0);
  tmp___2 = _((char const   *)"%s: fast-forward");
  strbuf_addf(& sb___6, (char const   *)tmp___2, tmp___1);
  transaction___0 = ref_transaction_begin(& err___4);
  if (! transaction___0) {
    goto _L;
  } else {
    if (unborn) {
      tmp___6 = is_rebase_i((struct replay_opts  const  *)opts___1);
      if (tmp___6) {
        tmp___5 = from___0;
      } else {
        tmp___4 = null_oid();
        tmp___5 = tmp___4;
      }
    } else {
      tmp___5 = from___0;
    }
    tmp___7 = ref_transaction_update(transaction___0, (char const   *)"HEAD", to,
                                     tmp___5, 0U, (char const   *)sb___6.buf, & err___4);
    if (tmp___7) {
      goto _L;
    } else {
      tmp___8 = ref_transaction_commit(transaction___0, & err___4);
      if (tmp___8) {
        _L: /* CIL Label */
        ref_transaction_free(transaction___0);
        error((char const   *)"%s", err___4.buf);
        const_error();
        strbuf_release(& sb___6);
        strbuf_release(& err___4);
        return (-1);
      }
    }
  }
  strbuf_release(& sb___6);
  strbuf_release(& err___4);
  ref_transaction_free(transaction___0);
  update_abort_safety_file();
  return (0);
}
}
enum commit_msg_cleanup_mode get_cleanup_mode(char const   *cleanup_arg___2 , int use_editor___0 )
{
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  if (! cleanup_arg___2) {
    goto _L;
  } else {
    tmp___6 = strcmp(cleanup_arg___2, (char const   *)"default");
    if (tmp___6) {
      tmp___5 = strcmp(cleanup_arg___2, (char const   *)"verbatim");
      if (tmp___5) {
        tmp___4 = strcmp(cleanup_arg___2, (char const   *)"whitespace");
        if (tmp___4) {
          tmp___3 = strcmp(cleanup_arg___2, (char const   *)"strip");
          if (tmp___3) {
            tmp___2 = strcmp(cleanup_arg___2, (char const   *)"scissors");
            if (tmp___2) {
              tmp___1 = _((char const   *)"Invalid cleanup mode %s");
              die((char const   *)tmp___1, cleanup_arg___2);
            } else {
              if (use_editor___0) {
                tmp___0 = 2;
              } else {
                tmp___0 = 0;
              }
              return ((enum commit_msg_cleanup_mode )tmp___0);
            }
          } else {
            return ((enum commit_msg_cleanup_mode )3);
          }
        } else {
          return ((enum commit_msg_cleanup_mode )0);
        }
      } else {
        return ((enum commit_msg_cleanup_mode )1);
      }
    } else {
      _L: /* CIL Label */
      if (use_editor___0) {
        tmp = 3;
      } else {
        tmp = 0;
      }
      return ((enum commit_msg_cleanup_mode )tmp);
    }
  }
}
}
static char const   *describe_cleanup_mode(int cleanup_mode___1 ) ;
static char const   *modes[4]  = {      (char const   *)"whitespace",      (char const   *)"verbatim",      (char const   *)"scissors",      (char const   *)"strip"};
static char const   *describe_cleanup_mode(int cleanup_mode___1 )
{


  {
  if ((unsigned long )cleanup_mode___1 < sizeof(modes) / sizeof(modes[0]) + (sizeof(char [1]) - 1UL)) {
    return (modes[cleanup_mode___1]);
  }
  BUG_fl((char const   *)"sequencer.c", 592, (char const   *)"invalid cleanup_mode provided (%d)",
         cleanup_mode___1);
}
}
void append_conflicts_hint(struct index_state *istate , struct strbuf *msgbuf___0 ,
                           enum commit_msg_cleanup_mode cleanup_mode___1 )
{
  int i ;
  struct cache_entry  const  *ce ;
  int tmp ;
  int tmp___0 ;

  {
  if ((unsigned int )cleanup_mode___1 == 2U) {
    strbuf_addch(msgbuf___0, '\n');
    wt_status_append_cut_line(msgbuf___0);
    strbuf_addch(msgbuf___0, (int )comment_line_char);
  }
  strbuf_addch(msgbuf___0, '\n');
  strbuf_commented_addf(msgbuf___0, (char const   *)"Conflicts:\n");
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    tmp = i;
    i ++;
    ce = (struct cache_entry  const  *)*(istate->cache + tmp);
    if ((12288U & ce->ce_flags) >> 12) {
      strbuf_commented_addf(msgbuf___0, (char const   *)"\t%s\n", ce->name);
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if ((unsigned int )i < istate->cache_nr) {
          tmp___0 = strcmp((char const   *)(ce->name), (char const   *)((*(istate->cache + i))->name));
          if (tmp___0) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int do_recursive_merge(struct repository *r , struct commit *base , struct commit *next___2 ,
                              char const   *base_label , char const   *next_label ,
                              struct object_id *head___1 , struct strbuf *msgbuf___0 ,
                              struct replay_opts *opts___1 )
{
  struct merge_options___0 o ;
  struct merge_result result___0 ;
  struct tree *next_tree ;
  struct tree *base_tree ;
  struct tree *head_tree ;
  int clean ;
  int show_output ;
  int i ;
  struct lock_file index_lock___0 ;
  int tmp ;
  int tmp___0 ;
  struct tree *tmp___1 ;
  struct tree *tmp___2 ;
  struct tree *tmp___3 ;
  struct tree *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const   *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;

  {
  index_lock___0.tempfile = (struct tempfile *)0;
  tmp = repo_hold_locked_index(r, & index_lock___0, 4);
  if (tmp < 0) {
    return (-1);
  }
  repo_read_index(r);
  init_merge_options(& o, r);
  if (base) {
    o.ancestor = base_label;
  } else {
    o.ancestor = (char const   *)"(empty tree)";
  }
  o.branch1 = (char const   *)"HEAD";
  if (next___2) {
    o.branch2 = next_label;
  } else {
    o.branch2 = (char const   *)"(empty tree)";
  }
  tmp___0 = is_rebase_i((struct replay_opts  const  *)opts___1);
  if (tmp___0) {
    o.buffer_output = 2U;
  }
  o.show_rename_progress = 1;
  head_tree = parse_tree_indirect((struct object_id  const  *)head___1);
  if (next___2) {
    tmp___1 = repo_get_commit_tree(the_repository, (struct commit  const  *)next___2);
    next_tree = tmp___1;
  } else {
    tmp___2 = empty_tree___0(r);
    next_tree = tmp___2;
  }
  if (base) {
    tmp___3 = repo_get_commit_tree(the_repository, (struct commit  const  *)base);
    base_tree = tmp___3;
  } else {
    tmp___4 = empty_tree___0(r);
    base_tree = tmp___4;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < opts___1->xopts_nr)) {
      goto while_break;
    }
    parse_merge_opt(& o, (char const   *)*(opts___1->xopts + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! opts___1->strategy) {
    goto _L;
  } else {
    tmp___8 = strcmp((char const   *)opts___1->strategy, (char const   *)"ort");
    if (tmp___8) {
      ensure_full_index(r->index);
      clean = merge_trees(& o, head_tree, next_tree, base_tree);
      tmp___7 = is_rebase_i((struct replay_opts  const  *)opts___1);
      if (tmp___7) {
        if (clean <= 0) {
          fputs((char const   * __restrict  )o.obuf.buf, (FILE * __restrict  )stdout);
        }
      }
      strbuf_release(& o.obuf);
    } else {
      _L: /* CIL Label */
      memset((void *)(& result___0), 0, sizeof(result___0));
      merge_incore_nonrecursive(& o, base_tree, head_tree, next_tree, & result___0);
      tmp___5 = is_rebase_i((struct replay_opts  const  *)opts___1);
      if (tmp___5) {
        if (! result___0.clean) {
          tmp___6 = 1;
        } else {
          tmp___6 = 0;
        }
      } else {
        tmp___6 = 1;
      }
      show_output = tmp___6;
      merge_switch_to_result(& o, head_tree, & result___0, 1, show_output);
      clean = result___0.clean;
    }
  }
  if (clean < 0) {
    rollback_lock_file(& index_lock___0);
    return (clean);
  }
  tmp___13 = write_locked_index(r->index, & index_lock___0, (unsigned int )(1 | (1 << 1)));
  if (tmp___13) {
    tmp___9 = action_name((struct replay_opts  const  *)opts___1);
    tmp___10 = _(tmp___9);
    tmp___11 = _((char const   *)"%s: Unable to write new index file");
    error((char const   *)tmp___11, tmp___10);
    tmp___12 = const_error();
    return (tmp___12);
  }
  if (! clean) {
    append_conflicts_hint(r->index, msgbuf___0, opts___1->default_msg_cleanup);
  }
  return (! clean);
}
}
static struct object_id *get_cache_tree_oid(struct index_state *istate )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp___1 = cache_tree_fully_valid(istate->cache_tree);
  if (! tmp___1) {
    tmp___0 = cache_tree_update(istate, 0);
    if (tmp___0) {
      tmp = _((char const   *)"unable to update cache tree");
      error((char const   *)tmp);
      const_error();
      return ((struct object_id *)((void *)0));
    }
  }
  return (& (istate->cache_tree)->oid);
}
}
static int is_index_unchanged(struct repository *r )
{
  struct object_id head_oid___1 ;
  struct object_id *cache_tree_oid ;
  struct commit *head_commit ;
  struct index_state *istate ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  struct object_id *tmp___3 ;
  int tmp___4 ;

  {
  istate = r->index;
  tmp___1 = resolve_ref_unsafe((char const   *)"HEAD", 0x01, & head_oid___1, (int *)((void *)0));
  if (! tmp___1) {
    tmp = _((char const   *)"could not resolve HEAD commit");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  head_commit = lookup_commit(r, (struct object_id  const  *)(& head_oid___1));
  tmp___2 = repo_parse_commit(the_repository, head_commit);
  if (tmp___2) {
    return (-1);
  }
  cache_tree_oid = get_cache_tree_oid(istate);
  if (! cache_tree_oid) {
    return (-1);
  }
  tmp___3 = get_commit_tree_oid((struct commit  const  *)head_commit);
  tmp___4 = oideq((struct object_id  const  *)cache_tree_oid, (struct object_id  const  *)tmp___3);
  return (tmp___4);
}
}
static int write_author_script(char const   *message___0 )
{
  struct strbuf buf___19 ;
  char const   *eol ;
  int res ;
  char const   *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  char const   *tmp___6 ;
  char const   *tmp___7 ;
  int tmp___8 ;
  char const   *tmp___9 ;
  char const   *tmp___10 ;
  char const   *tmp___11 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *message___0) {
      goto _L;
    } else {
      tmp___2 = starts_with(message___0, (char const   *)"\n");
      if (tmp___2) {
        _L: /* CIL Label */
        missing_author:
        tmp = rebase_path_author_script();
        unlink(tmp);
        return (0);
      } else {
        tmp___1 = skip_prefix(message___0, (char const   *)"author ", & message___0);
        if (tmp___1) {
          goto while_break;
        } else {
          tmp___0 = strchr(message___0, '\n');
          eol = (char const   *)tmp___0;
          if (eol) {
            message___0 = eol + 1;
          } else {
            goto _L;
          }
        }
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addstr(& buf___19, (char const   *)"GIT_AUTHOR_NAME=\'");
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (*message___0) {
      if ((int const   )*message___0 != 10) {
        if (! ((int const   )*message___0 != 13)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    tmp___5 = skip_prefix(message___0, (char const   *)" <", & message___0);
    if (tmp___5) {
      goto while_break___0;
    } else
    if ((int const   )*message___0 != 39) {
      tmp___3 = message___0;
      message___0 ++;
      strbuf_addch(& buf___19, (int )*tmp___3);
    } else {
      tmp___4 = message___0;
      message___0 ++;
      strbuf_addf(& buf___19, (char const   *)"\'\\%c\'", (int const   )*tmp___4);
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_addstr(& buf___19, (char const   *)"\'\nGIT_AUTHOR_EMAIL=\'");
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (*message___0) {
      if ((int const   )*message___0 != 10) {
        if (! ((int const   )*message___0 != 13)) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
    } else {
      goto while_break___1;
    }
    tmp___8 = skip_prefix(message___0, (char const   *)"> ", & message___0);
    if (tmp___8) {
      goto while_break___1;
    } else
    if ((int const   )*message___0 != 39) {
      tmp___6 = message___0;
      message___0 ++;
      strbuf_addch(& buf___19, (int )*tmp___6);
    } else {
      tmp___7 = message___0;
      message___0 ++;
      strbuf_addf(& buf___19, (char const   *)"\'\\%c\'", (int const   )*tmp___7);
    }
  }
  while_break___1: /* CIL Label */ ;
  }
  strbuf_addstr(& buf___19, (char const   *)"\'\nGIT_AUTHOR_DATE=\'@");
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (*message___0) {
      if ((int const   )*message___0 != 10) {
        if (! ((int const   )*message___0 != 13)) {
          goto while_break___2;
        }
      } else {
        goto while_break___2;
      }
    } else {
      goto while_break___2;
    }
    if ((int const   )*message___0 != 39) {
      tmp___9 = message___0;
      message___0 ++;
      strbuf_addch(& buf___19, (int )*tmp___9);
    } else {
      tmp___10 = message___0;
      message___0 ++;
      strbuf_addf(& buf___19, (char const   *)"\'\\%c\'", (int const   )*tmp___10);
    }
  }
  while_break___2: /* CIL Label */ ;
  }
  strbuf_addch(& buf___19, '\'');
  tmp___11 = rebase_path_author_script();
  res = write_message((void const   *)buf___19.buf, buf___19.len, tmp___11, 1);
  strbuf_release(& buf___19);
  return (res);
}
}
static int parse_key_value_squoted(char *buf___19 , struct string_list *list___3 )
{
  struct string_list_item *item___0 ;
  char *np ;
  char *cp ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *buf___19) {
      goto while_break;
    }
    tmp = strchr((char const   *)buf___19, '=');
    cp = tmp;
    if (! cp) {
      np = strchrnul((char const   *)buf___19, '\n');
      tmp___0 = _((char const   *)"no key present in \'%.*s\'");
      error((char const   *)tmp___0, (int )(np - buf___19), buf___19);
      tmp___1 = const_error();
      return (tmp___1);
    }
    np = strchrnul((char const   *)cp, '\n');
    tmp___2 = cp;
    cp ++;
    *tmp___2 = (char )'\000';
    item___0 = string_list_append(list___3, (char const   *)buf___19);
    buf___19 = np + ((int )*np == 10);
    *np = (char )'\000';
    cp = sq_dequote(cp);
    if (! cp) {
      tmp___3 = _((char const   *)"unable to dequote value of \'%s\'");
      error((char const   *)tmp___3, item___0->string);
      tmp___4 = const_error();
      return (tmp___4);
    }
    tmp___5 = xstrdup((char const   *)cp);
    item___0->util = (void *)tmp___5;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int read_author_script(char const   *path___6 , char **name___0 , char **email , char **date ,
                       int allow_missing )
{
  struct strbuf buf___19 ;
  struct string_list kv ;
  int retval ;
  int i ;
  int name_i ;
  int email_i ;
  int date_i ;
  int err___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int *tmp___1 ;
  ssize_t tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  kv.items = (struct string_list_item *)0;
  kv.nr = 0U;
  kv.alloc = 0U;
  kv.strdup_strings = 1U;
  kv.cmp = (int (*)(char const   * , char const   * ))0;
  retval = -1;
  name_i = -2;
  email_i = -2;
  date_i = -2;
  err___4 = 0;
  tmp___2 = strbuf_read_file(& buf___19, path___6, (size_t )256);
  if (tmp___2 <= 0L) {
    strbuf_release(& buf___19);
    tmp___1 = __errno_location();
    if (*tmp___1 == 2) {
      if (allow_missing) {
        return (0);
      } else {
        tmp = _((char const   *)"could not open \'%s\' for reading");
        error_errno((char const   *)tmp, path___6);
        tmp___0 = const_error();
        return (tmp___0);
      }
    } else {
      tmp = _((char const   *)"could not open \'%s\' for reading");
      error_errno((char const   *)tmp, path___6);
      tmp___0 = const_error();
      return (tmp___0);
    }
  }
  tmp___3 = parse_key_value_squoted(buf___19.buf, & kv);
  if (tmp___3) {
    goto finish;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < kv.nr)) {
      goto while_break;
    }
    tmp___10 = strcmp((char const   *)(kv.items + i)->string, (char const   *)"GIT_AUTHOR_NAME");
    if (tmp___10) {
      tmp___9 = strcmp((char const   *)(kv.items + i)->string, (char const   *)"GIT_AUTHOR_EMAIL");
      if (tmp___9) {
        tmp___8 = strcmp((char const   *)(kv.items + i)->string, (char const   *)"GIT_AUTHOR_DATE");
        if (tmp___8) {
          tmp___7 = _((char const   *)"unknown variable \'%s\'");
          error((char const   *)tmp___7, (kv.items + i)->string);
          err___4 = const_error();
        } else
        if (date_i != -2) {
          tmp___6 = _((char const   *)"\'GIT_AUTHOR_DATE\' already given");
          error((char const   *)tmp___6);
          date_i = const_error();
        } else {
          date_i = i;
        }
      } else
      if (email_i != -2) {
        tmp___5 = _((char const   *)"\'GIT_AUTHOR_EMAIL\' already given");
        error((char const   *)tmp___5);
        email_i = const_error();
      } else {
        email_i = i;
      }
    } else
    if (name_i != -2) {
      tmp___4 = _((char const   *)"\'GIT_AUTHOR_NAME\' already given");
      error((char const   *)tmp___4);
      name_i = const_error();
    } else {
      name_i = i;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (name_i == -2) {
    tmp___11 = _((char const   *)"missing \'GIT_AUTHOR_NAME\'");
    error((char const   *)tmp___11);
    const_error();
  }
  if (email_i == -2) {
    tmp___12 = _((char const   *)"missing \'GIT_AUTHOR_EMAIL\'");
    error((char const   *)tmp___12);
    const_error();
  }
  if (date_i == -2) {
    tmp___13 = _((char const   *)"missing \'GIT_AUTHOR_DATE\'");
    error((char const   *)tmp___13);
    const_error();
  }
  if (date_i < 0) {
    goto finish;
  } else
  if (email_i < 0) {
    goto finish;
  } else
  if (date_i < 0) {
    goto finish;
  } else
  if (err___4) {
    goto finish;
  }
  *name___0 = (char *)(kv.items + name_i)->util;
  *email = (char *)(kv.items + email_i)->util;
  *date = (char *)(kv.items + date_i)->util;
  retval = 0;
  finish:
  string_list_clear(& kv, ! (! retval));
  strbuf_release(& buf___19);
  return (retval);
}
}
static int read_env_script(struct strvec *env )
{
  char *name___0 ;
  char *email ;
  char *date ;
  char const   *tmp ;
  int tmp___0 ;

  {
  tmp = rebase_path_author_script();
  tmp___0 = read_author_script(tmp, & name___0, & email, & date, 0);
  if (tmp___0) {
    return (-1);
  }
  strvec_pushf(env, (char const   *)"GIT_AUTHOR_NAME=%s", name___0);
  strvec_pushf(env, (char const   *)"GIT_AUTHOR_EMAIL=%s", email);
  strvec_pushf(env, (char const   *)"GIT_AUTHOR_DATE=%s", date);
  free((void *)name___0);
  free((void *)email);
  free((void *)date);
  return (0);
}
}
static char *get_author(char const   *message___0 )
{
  size_t len___0 ;
  char const   *a ;
  void *tmp ;

  {
  a = find_commit_header(message___0, (char const   *)"author", & len___0);
  if (a) {
    tmp = xmemdupz((void const   *)a, len___0);
    return ((char *)tmp);
  }
  return ((char *)((void *)0));
}
}
static char const   *author_date_from_env_array(struct strvec  const  *env )
{
  int i ;
  char const   *date ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < env->nr)) {
      goto while_break;
    }
    tmp = skip_prefix(*(env->v + i), (char const   *)"GIT_AUTHOR_DATE=", & date);
    if (tmp) {
      return (date);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  BUG_fl((char const   *)"sequencer.c", 935, (char const   *)"GIT_AUTHOR_DATE missing from author script");
}
}
static char const   staged_changes_advice[284]  =
  {      (char const   )'y',      (char const   )'o',      (char const   )'u',      (char const   )' ',
        (char const   )'h',      (char const   )'a',      (char const   )'v',      (char const   )'e',
        (char const   )' ',      (char const   )'s',      (char const   )'t',      (char const   )'a',
        (char const   )'g',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'c',      (char const   )'h',      (char const   )'a',      (char const   )'n',
        (char const   )'g',      (char const   )'e',      (char const   )'s',      (char const   )' ',
        (char const   )'i',      (char const   )'n',      (char const   )' ',      (char const   )'y',
        (char const   )'o',      (char const   )'u',      (char const   )'r',      (char const   )' ',
        (char const   )'w',      (char const   )'o',      (char const   )'r',      (char const   )'k',
        (char const   )'i',      (char const   )'n',      (char const   )'g',      (char const   )' ',
        (char const   )'t',      (char const   )'r',      (char const   )'e',      (char const   )'e',
        (char const   )'\n',      (char const   )'I',      (char const   )'f',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )'s',
        (char const   )'e',      (char const   )' ',      (char const   )'c',      (char const   )'h',
        (char const   )'a',      (char const   )'n',      (char const   )'g',      (char const   )'e',
        (char const   )'s',      (char const   )' ',      (char const   )'a',      (char const   )'r',
        (char const   )'e',      (char const   )' ',      (char const   )'m',      (char const   )'e',
        (char const   )'a',      (char const   )'n',      (char const   )'t',      (char const   )' ',
        (char const   )'t',      (char const   )'o',      (char const   )' ',      (char const   )'b',
        (char const   )'e',      (char const   )' ',      (char const   )'s',      (char const   )'q',
        (char const   )'u',      (char const   )'a',      (char const   )'s',      (char const   )'h',
        (char const   )'e',      (char const   )'d',      (char const   )' ',      (char const   )'i',
        (char const   )'n',      (char const   )'t',      (char const   )'o',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'p',      (char const   )'r',      (char const   )'e',      (char const   )'v',
        (char const   )'i',      (char const   )'o',      (char const   )'u',      (char const   )'s',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'m',
        (char const   )'m',      (char const   )'i',      (char const   )'t',      (char const   )',',
        (char const   )' ',      (char const   )'r',      (char const   )'u',      (char const   )'n',
        (char const   )':',      (char const   )'\n',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'m',
        (char const   )'m',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )'n',      (char const   )'d',      (char const   )' ',
        (char const   )'%',      (char const   )'s',      (char const   )'\n',      (char const   )'\n',
        (char const   )'I',      (char const   )'f',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )'y',      (char const   )' ',
        (char const   )'a',      (char const   )'r',      (char const   )'e',      (char const   )' ',
        (char const   )'m',      (char const   )'e',      (char const   )'a',      (char const   )'n',
        (char const   )'t',      (char const   )' ',      (char const   )'t',      (char const   )'o',
        (char const   )' ',      (char const   )'g',      (char const   )'o',      (char const   )' ',
        (char const   )'i',      (char const   )'n',      (char const   )'t',      (char const   )'o',
        (char const   )' ',      (char const   )'a',      (char const   )' ',      (char const   )'n',
        (char const   )'e',      (char const   )'w',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'m',      (char const   )'m',      (char const   )'i',
        (char const   )'t',      (char const   )',',      (char const   )' ',      (char const   )'r',
        (char const   )'u',      (char const   )'n',      (char const   )':',      (char const   )'\n',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )'g',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'m',      (char const   )'m',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'%',      (char const   )'s',
        (char const   )'\n',      (char const   )'\n',      (char const   )'I',      (char const   )'n',
        (char const   )' ',      (char const   )'b',      (char const   )'o',      (char const   )'t',
        (char const   )'h',      (char const   )' ',      (char const   )'c',      (char const   )'a',
        (char const   )'s',      (char const   )'e',      (char const   )'s',      (char const   )',',
        (char const   )' ',      (char const   )'o',      (char const   )'n',      (char const   )'c',
        (char const   )'e',      (char const   )' ',      (char const   )'y',      (char const   )'o',
        (char const   )'u',      (char const   )'\'',      (char const   )'r',      (char const   )'e',
        (char const   )' ',      (char const   )'d',      (char const   )'o',      (char const   )'n',
        (char const   )'e',      (char const   )',',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'n',      (char const   )'t',      (char const   )'i',
        (char const   )'n',      (char const   )'u',      (char const   )'e',      (char const   )' ',
        (char const   )'w',      (char const   )'i',      (char const   )'t',      (char const   )'h',
        (char const   )':',      (char const   )'\n',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'b',
        (char const   )'a',      (char const   )'s',      (char const   )'e',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'c',      (char const   )'o',
        (char const   )'n',      (char const   )'t',      (char const   )'i',      (char const   )'n',
        (char const   )'u',      (char const   )'e',      (char const   )'\n',      (char const   )'\000'};
static int run_command_silent_on_success(struct child_process *cmd )
{
  struct strbuf buf___19 ;
  int rc___0 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  cmd->stdout_to_stderr = 1U;
  rc___0 = pipe_command(cmd, (char const   *)((void *)0), (size_t )0, (struct strbuf *)((void *)0),
                        (size_t )0, & buf___19, (size_t )0);
  if (rc___0) {
    fputs((char const   * __restrict  )buf___19.buf, (FILE * __restrict  )stderr);
  }
  strbuf_release(& buf___19);
  return (rc___0);
}
}
static int run_git_commit(char const   *defmsg , struct replay_opts *opts___1 , unsigned int flags___0 )
{
  struct child_process cmd ;
  char const   *gpg_opt ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const   *tmp___4 ;
  char const   *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  cmd.args.v = empty_strvec;
  cmd.args.nr = 0UL;
  cmd.args.alloc = 0UL;
  cmd.env_array.v = empty_strvec;
  cmd.env_array.nr = 0UL;
  cmd.env_array.alloc = 0UL;
  cmd.pid = 0;
  cmd.trace2_child_id = 0;
  cmd.trace2_child_us_start = 0UL;
  cmd.trace2_child_class = (char const   *)0;
  cmd.trace2_hook_name = (char const   *)0;
  cmd.in = 0;
  cmd.out = 0;
  cmd.err = 0;
  cmd.dir = (char const   *)0;
  cmd.no_stdin = 0U;
  cmd.no_stdout = 0U;
  cmd.no_stderr = 0U;
  cmd.git_cmd = 0U;
  cmd.silent_exec_failure = 0U;
  cmd.use_shell = 0U;
  cmd.close_object_store = 0U;
  cmd.stdout_to_stderr = 0U;
  cmd.clean_on_exit = 0U;
  cmd.wait_after_clean = 0U;
  cmd.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cmd.clean_on_exit_handler_cbdata = (void *)0;
  if (flags___0 & (unsigned int )(1 << 3)) {
    if (flags___0 & (unsigned int )(1 << 6)) {
      BUG_fl((char const   *)"sequencer.c", 996, (char const   *)"CLEANUP_MSG and VERBATIM_MSG are mutually exclusive");
    }
  }
  cmd.git_cmd = 1U;
  tmp___2 = is_rebase_i((struct replay_opts  const  *)opts___1);
  if (tmp___2) {
    if (opts___1->committer_date_is_author_date) {
      if (! opts___1->ignore_date) {
        goto _L___0;
      } else {
        goto _L___1;
      }
    } else
    _L___1: /* CIL Label */
    if (! defmsg) {
      if (! (flags___0 & (unsigned int )(1 << 2))) {
        goto _L___0;
      }
    } else {
      _L___0: /* CIL Label */
      _L: /* CIL Label */
      tmp___3 = read_env_script(& cmd.env_array);
      if (tmp___3) {
        tmp = gpg_sign_opt_quoted(opts___1);
        gpg_opt = tmp;
        tmp___0 = _(staged_changes_advice);
        error((char const   *)tmp___0, gpg_opt, gpg_opt);
        tmp___1 = const_error();
        return (tmp___1);
      }
    }
  }
  if (opts___1->committer_date_is_author_date) {
    if (opts___1->ignore_date) {
      tmp___5 = (char const   *)"";
    } else {
      tmp___4 = author_date_from_env_array((struct strvec  const  *)(& cmd.env_array));
      tmp___5 = tmp___4;
    }
    strvec_pushf(& cmd.env_array, (char const   *)"GIT_COMMITTER_DATE=%s", tmp___5);
  }
  if (opts___1->ignore_date) {
    strvec_push(& cmd.env_array, (char const   *)"GIT_AUTHOR_DATE=");
  }
  strvec_push(& cmd.args, (char const   *)"commit");
  if (! (flags___0 & (unsigned int )(1 << 4))) {
    strvec_push(& cmd.args, (char const   *)"-n");
  }
  if (flags___0 & (unsigned int )(1 << 2)) {
    strvec_push(& cmd.args, (char const   *)"--amend");
  }
  if (opts___1->gpg_sign) {
    strvec_pushf(& cmd.args, (char const   *)"-S%s", opts___1->gpg_sign);
  } else {
    strvec_push(& cmd.args, (char const   *)"--no-gpg-sign");
  }
  if (defmsg) {
    strvec_pushl(& cmd.args, "-F", defmsg, (void *)0);
  } else
  if (! (flags___0 & (unsigned int )(1 << 1))) {
    strvec_pushl(& cmd.args, "-C", "HEAD", (void *)0);
  }
  if (flags___0 & (unsigned int )(1 << 3)) {
    strvec_push(& cmd.args, (char const   *)"--cleanup=strip");
  }
  if (flags___0 & (unsigned int )(1 << 6)) {
    strvec_push(& cmd.args, (char const   *)"--cleanup=verbatim");
  }
  if (flags___0 & (unsigned int )(1 << 1)) {
    strvec_push(& cmd.args, (char const   *)"-e");
  } else
  if (! (flags___0 & (unsigned int )(1 << 3))) {
    if (! opts___1->signoff) {
      if (! opts___1->record_origin) {
        if (! opts___1->explicit_cleanup) {
          strvec_push(& cmd.args, (char const   *)"--cleanup=verbatim");
        }
      }
    }
  }
  if (flags___0 & 1U) {
    strvec_push(& cmd.args, (char const   *)"--allow-empty");
  }
  if (! (flags___0 & (unsigned int )(1 << 1))) {
    strvec_push(& cmd.args, (char const   *)"--allow-empty-message");
  }
  tmp___8 = is_rebase_i((struct replay_opts  const  *)opts___1);
  if (tmp___8) {
    if (! (flags___0 & (unsigned int )(1 << 1))) {
      tmp___6 = run_command_silent_on_success(& cmd);
      return (tmp___6);
    } else {
      tmp___7 = run_command(& cmd);
      return (tmp___7);
    }
  } else {
    tmp___7 = run_command(& cmd);
    return (tmp___7);
  }
}
}
static int rest_is_empty(struct strbuf  const  *sb___6 , int start )
{
  int i ;
  int eol ;
  char const   *nl ;
  void *tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  i = start;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < sb___6->len)) {
      goto while_break;
    }
    tmp = memchr((void const   *)(sb___6->buf + i), '\n', (size_t )(sb___6->len - (size_t )i));
    nl = (char const   *)tmp;
    if (nl) {
      eol = (int )(nl - (char const   *)sb___6->buf);
    } else {
      eol = (int )sb___6->len;
    }
    tmp___0 = strlen(sign_off_header);
    if (tmp___0 <= (size_t )(eol - i)) {
      tmp___1 = starts_with((char const   *)(sb___6->buf + i), sign_off_header);
      if (tmp___1) {
        i = eol;
        goto __Cont;
      }
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < eol)) {
        goto while_break___0;
      }
      tmp___2 = i;
      i ++;
      if (! (((int const   )sane_ctype[(unsigned char )*(sb___6->buf + tmp___2)] & 1) != 0)) {
        return (0);
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
void cleanup_message(struct strbuf *msgbuf___0 , enum commit_msg_cleanup_mode cleanup_mode___1 ,
                     int verbose___15 )
{
  size_t tmp ;

  {
  if (verbose___15) {
    tmp = wt_status_locate_end((char const   *)msgbuf___0->buf, msgbuf___0->len);
    strbuf_setlen(msgbuf___0, tmp);
  } else
  if ((unsigned int )cleanup_mode___1 == 2U) {
    tmp = wt_status_locate_end((char const   *)msgbuf___0->buf, msgbuf___0->len);
    strbuf_setlen(msgbuf___0, tmp);
  }
  if ((unsigned int )cleanup_mode___1 != 1U) {
    strbuf_stripspace(msgbuf___0, (unsigned int )cleanup_mode___1 == 3U);
  }
  return;
}
}
int message_is_empty(struct strbuf  const  *sb___6 , enum commit_msg_cleanup_mode cleanup_mode___1 )
{
  int tmp ;

  {
  if ((unsigned int )cleanup_mode___1 == 1U) {
    if (sb___6->len) {
      return (0);
    }
  }
  tmp = rest_is_empty(sb___6, 0);
  return (tmp);
}
}
int template_untouched(struct strbuf  const  *sb___6 , char const   *template_file___0 ,
                       enum commit_msg_cleanup_mode cleanup_mode___1 )
{
  struct strbuf tmpl ;
  char const   *start ;
  ssize_t tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmpl.alloc = 0UL;
  tmpl.len = 0UL;
  tmpl.buf = strbuf_slopbuf;
  if ((unsigned int )cleanup_mode___1 == 1U) {
    if (sb___6->len) {
      return (0);
    }
  }
  if (! template_file___0) {
    return (0);
  } else {
    tmp = strbuf_read_file(& tmpl, template_file___0, (size_t )0);
    if (tmp <= 0L) {
      return (0);
    }
  }
  strbuf_stripspace(& tmpl, (unsigned int )cleanup_mode___1 == 3U);
  tmp___0 = skip_prefix((char const   *)sb___6->buf, (char const   *)tmpl.buf, & start);
  if (! tmp___0) {
    start = (char const   *)sb___6->buf;
  }
  strbuf_release(& tmpl);
  tmp___1 = rest_is_empty(sb___6, (int )(start - (char const   *)sb___6->buf));
  return (tmp___1);
}
}
int update_head_with_reflog(struct commit  const  *old_head , struct object_id  const  *new_head ,
                            char const   *action , struct strbuf  const  *msg___5 ,
                            struct strbuf *err___4 )
{
  struct ref_transaction *transaction___0 ;
  struct strbuf sb___6 ;
  char const   *nl ;
  int ret___67 ;
  char *tmp ;
  struct object_id  const  *tmp___0 ;
  struct object_id  const  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  ret___67 = 0;
  if (action) {
    strbuf_addstr(& sb___6, action);
    strbuf_addstr(& sb___6, (char const   *)": ");
  }
  tmp = strchr((char const   *)msg___5->buf, '\n');
  nl = (char const   *)tmp;
  if (nl) {
    strbuf_add(& sb___6, (void const   *)msg___5->buf, (size_t )((nl + 1) - (char const   *)msg___5->buf));
  } else {
    strbuf_addbuf(& sb___6, msg___5);
    strbuf_addch(& sb___6, '\n');
  }
  transaction___0 = ref_transaction_begin(err___4);
  if (! transaction___0) {
    ret___67 = -1;
  } else {
    if (old_head) {
      tmp___1 = (struct object_id  const  *)(& old_head->object.oid);
    } else {
      tmp___0 = null_oid();
      tmp___1 = tmp___0;
    }
    tmp___2 = ref_transaction_update(transaction___0, (char const   *)"HEAD", new_head,
                                     tmp___1, 0U, (char const   *)sb___6.buf, err___4);
    if (tmp___2) {
      ret___67 = -1;
    } else {
      tmp___3 = ref_transaction_commit(transaction___0, err___4);
      if (tmp___3) {
        ret___67 = -1;
      }
    }
  }
  ref_transaction_free(transaction___0);
  strbuf_release(& sb___6);
  return (ret___67);
}
}
static int run_rewrite_hook(struct object_id  const  *oldoid , struct object_id  const  *newoid )
{
  struct child_process proc ;
  int code ;
  struct strbuf sb___6 ;
  char const   *hook_path ;
  char const   *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  proc.args.v = empty_strvec;
  proc.args.nr = 0UL;
  proc.args.alloc = 0UL;
  proc.env_array.v = empty_strvec;
  proc.env_array.nr = 0UL;
  proc.env_array.alloc = 0UL;
  proc.pid = 0;
  proc.trace2_child_id = 0;
  proc.trace2_child_us_start = 0UL;
  proc.trace2_child_class = (char const   *)0;
  proc.trace2_hook_name = (char const   *)0;
  proc.in = 0;
  proc.out = 0;
  proc.err = 0;
  proc.dir = (char const   *)0;
  proc.no_stdin = 0U;
  proc.no_stdout = 0U;
  proc.no_stderr = 0U;
  proc.git_cmd = 0U;
  proc.silent_exec_failure = 0U;
  proc.use_shell = 0U;
  proc.close_object_store = 0U;
  proc.stdout_to_stderr = 0U;
  proc.clean_on_exit = 0U;
  proc.wait_after_clean = 0U;
  proc.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  proc.clean_on_exit_handler_cbdata = (void *)0;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = find_hook((char const   *)"post-rewrite");
  hook_path = tmp;
  if (! hook_path) {
    return (0);
  }
  strvec_pushl(& proc.args, hook_path, "amend", (void *)0);
  proc.in = -1;
  proc.stdout_to_stderr = 1U;
  proc.trace2_hook_name = (char const   *)"post-rewrite";
  code = start_command(& proc);
  if (code) {
    return (code);
  }
  tmp___0 = oid_to_hex(newoid);
  tmp___1 = oid_to_hex(oldoid);
  strbuf_addf(& sb___6, (char const   *)"%s %s\n", tmp___1, tmp___0);
  sigchain_push(13, (void (*)(int  ))1);
  write_in_full(proc.in, (void const   *)sb___6.buf, sb___6.len);
  close(proc.in);
  strbuf_release(& sb___6);
  sigchain_pop(13);
  tmp___2 = finish_command(& proc);
  return (tmp___2);
}
}
void commit_post_rewrite(struct repository *r , struct commit  const  *old_head ,
                         struct object_id  const  *new_head )
{
  struct notes_rewrite_cfg *cfg ;

  {
  cfg = init_copy_notes_for_rewrite((char const   *)"amend");
  if (cfg) {
    copy_note_for_rewrite(cfg, (struct object_id  const  *)(& old_head->object.oid),
                          new_head);
    finish_copy_notes_for_rewrite(r, cfg, (char const   *)"Notes added by \'git commit --amend\'");
  }
  run_rewrite_hook((struct object_id  const  *)(& old_head->object.oid), new_head);
  return;
}
}
static int run_prepare_commit_msg_hook(struct repository *r , struct strbuf *msg___5 ,
                                       char const   *commit )
{
  int ret___67 ;
  char const   *name___0 ;
  char const   *arg1 ;
  char const   *arg2 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int __attribute__((__sentinel__))  tmp___1 ;

  {
  ret___67 = 0;
  arg1 = (char const   *)((void *)0);
  arg2 = (char const   *)((void *)0);
  name___0 = git_path_commit_editmsg();
  tmp = write_message((void const   *)msg___5->buf, msg___5->len, name___0, 0);
  if (tmp) {
    return (-1);
  }
  if (commit) {
    arg1 = (char const   *)"commit";
    arg2 = commit;
  } else {
    arg1 = (char const   *)"message";
  }
  tmp___1 = run_commit_hook(0, (char const   *)r->index_file, (char const   *)"prepare-commit-msg",
                            name___0, arg1, arg2, (void *)0);
  if (tmp___1) {
    tmp___0 = _((char const   *)"\'prepare-commit-msg\' hook failed");
    error((char const   *)tmp___0);
    ret___67 = const_error();
  }
  return (ret___67);
}
}
static char const   implicit_ident_advice_noconfig[435]  =
  {      (char const   )'Y',      (char const   )'o',      (char const   )'u',      (char const   )'r',
        (char const   )' ',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )' ',      (char const   )'a',      (char const   )'n',
        (char const   )'d',      (char const   )' ',      (char const   )'e',      (char const   )'m',
        (char const   )'a',      (char const   )'i',      (char const   )'l',      (char const   )' ',
        (char const   )'a',      (char const   )'d',      (char const   )'d',      (char const   )'r',
        (char const   )'e',      (char const   )'s',      (char const   )'s',      (char const   )' ',
        (char const   )'w',      (char const   )'e',      (char const   )'r',      (char const   )'e',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'n',
        (char const   )'f',      (char const   )'i',      (char const   )'g',      (char const   )'u',
        (char const   )'r',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'a',      (char const   )'u',      (char const   )'t',      (char const   )'o',
        (char const   )'m',      (char const   )'a',      (char const   )'t',      (char const   )'i',
        (char const   )'c',      (char const   )'a',      (char const   )'l',      (char const   )'l',
        (char const   )'y',      (char const   )' ',      (char const   )'b',      (char const   )'a',
        (char const   )'s',      (char const   )'e',      (char const   )'d',      (char const   )'\n',
        (char const   )'o',      (char const   )'n',      (char const   )' ',      (char const   )'y',
        (char const   )'o',      (char const   )'u',      (char const   )'r',      (char const   )' ',
        (char const   )'u',      (char const   )'s',      (char const   )'e',      (char const   )'r',
        (char const   )'n',      (char const   )'a',      (char const   )'m',      (char const   )'e',
        (char const   )' ',      (char const   )'a',      (char const   )'n',      (char const   )'d',
        (char const   )' ',      (char const   )'h',      (char const   )'o',      (char const   )'s',
        (char const   )'t',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )'.',      (char const   )' ',      (char const   )'P',
        (char const   )'l',      (char const   )'e',      (char const   )'a',      (char const   )'s',
        (char const   )'e',      (char const   )' ',      (char const   )'c',      (char const   )'h',
        (char const   )'e',      (char const   )'c',      (char const   )'k',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'a',      (char const   )'t',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'e',
        (char const   )'y',      (char const   )' ',      (char const   )'a',      (char const   )'r',
        (char const   )'e',      (char const   )' ',      (char const   )'a',      (char const   )'c',
        (char const   )'c',      (char const   )'u',      (char const   )'r',      (char const   )'a',
        (char const   )'t',      (char const   )'e',      (char const   )'.',      (char const   )'\n',
        (char const   )'Y',      (char const   )'o',      (char const   )'u',      (char const   )' ',
        (char const   )'c',      (char const   )'a',      (char const   )'n',      (char const   )' ',
        (char const   )'s',      (char const   )'u',      (char const   )'p',      (char const   )'p',
        (char const   )'r',      (char const   )'e',      (char const   )'s',      (char const   )'s',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'i',
        (char const   )'s',      (char const   )' ',      (char const   )'m',      (char const   )'e',
        (char const   )'s',      (char const   )'s',      (char const   )'a',      (char const   )'g',
        (char const   )'e',      (char const   )' ',      (char const   )'b',      (char const   )'y',
        (char const   )' ',      (char const   )'s',      (char const   )'e',      (char const   )'t',
        (char const   )'t',      (char const   )'i',      (char const   )'n',      (char const   )'g',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'e',
        (char const   )'m',      (char const   )' ',      (char const   )'e',      (char const   )'x',
        (char const   )'p',      (char const   )'l',      (char const   )'i',      (char const   )'c',
        (char const   )'i',      (char const   )'t',      (char const   )'l',      (char const   )'y',
        (char const   )'.',      (char const   )' ',      (char const   )'R',      (char const   )'u',
        (char const   )'n',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )'\n',      (char const   )'f',      (char const   )'o',
        (char const   )'l',      (char const   )'l',      (char const   )'o',      (char const   )'w',
        (char const   )'i',      (char const   )'n',      (char const   )'g',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'m',
        (char const   )'a',      (char const   )'n',      (char const   )'d',      (char const   )' ',
        (char const   )'a',      (char const   )'n',      (char const   )'d',      (char const   )' ',
        (char const   )'f',      (char const   )'o',      (char const   )'l',      (char const   )'l',
        (char const   )'o',      (char const   )'w',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'i',
        (char const   )'n',      (char const   )'s',      (char const   )'t',      (char const   )'r',
        (char const   )'u',      (char const   )'c',      (char const   )'t',      (char const   )'i',
        (char const   )'o',      (char const   )'n',      (char const   )'s',      (char const   )' ',
        (char const   )'i',      (char const   )'n',      (char const   )' ',      (char const   )'y',
        (char const   )'o',      (char const   )'u',      (char const   )'r',      (char const   )' ',
        (char const   )'e',      (char const   )'d',      (char const   )'i',      (char const   )'t',
        (char const   )'o',      (char const   )'r',      (char const   )' ',      (char const   )'t',
        (char const   )'o',      (char const   )' ',      (char const   )'e',      (char const   )'d',
        (char const   )'i',      (char const   )'t',      (char const   )'\n',      (char const   )'y',
        (char const   )'o',      (char const   )'u',      (char const   )'r',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'n',      (char const   )'f',
        (char const   )'i',      (char const   )'g',      (char const   )'u',      (char const   )'r',
        (char const   )'a',      (char const   )'t',      (char const   )'i',      (char const   )'o',
        (char const   )'n',      (char const   )' ',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )':',      (char const   )'\n',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'n',
        (char const   )'f',      (char const   )'i',      (char const   )'g',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'g',      (char const   )'l',
        (char const   )'o',      (char const   )'b',      (char const   )'a',      (char const   )'l',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'e',
        (char const   )'d',      (char const   )'i',      (char const   )'t',      (char const   )'\n',
        (char const   )'\n',      (char const   )'A',      (char const   )'f',      (char const   )'t',
        (char const   )'e',      (char const   )'r',      (char const   )' ',      (char const   )'d',
        (char const   )'o',      (char const   )'i',      (char const   )'n',      (char const   )'g',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'i',
        (char const   )'s',      (char const   )',',      (char const   )' ',      (char const   )'y',
        (char const   )'o',      (char const   )'u',      (char const   )' ',      (char const   )'m',
        (char const   )'a',      (char const   )'y',      (char const   )' ',      (char const   )'f',
        (char const   )'i',      (char const   )'x',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'i',
        (char const   )'d',      (char const   )'e',      (char const   )'n',      (char const   )'t',
        (char const   )'i',      (char const   )'t',      (char const   )'y',      (char const   )' ',
        (char const   )'u',      (char const   )'s',      (char const   )'e',      (char const   )'d',
        (char const   )' ',      (char const   )'f',      (char const   )'o',      (char const   )'r',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'i',
        (char const   )'s',      (char const   )' ',      (char const   )'c',      (char const   )'o',
        (char const   )'m',      (char const   )'m',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'w',      (char const   )'i',      (char const   )'t',
        (char const   )'h',      (char const   )':',      (char const   )'\n',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'m',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'a',      (char const   )'m',      (char const   )'e',
        (char const   )'n',      (char const   )'d',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'r',      (char const   )'e',      (char const   )'s',
        (char const   )'e',      (char const   )'t',      (char const   )'-',      (char const   )'a',
        (char const   )'u',      (char const   )'t',      (char const   )'h',      (char const   )'o',
        (char const   )'r',      (char const   )'\n',      (char const   )'\000'};
static char const   implicit_ident_advice_config[399]  =
  {      (char const   )'Y',      (char const   )'o',      (char const   )'u',      (char const   )'r',
        (char const   )' ',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )' ',      (char const   )'a',      (char const   )'n',
        (char const   )'d',      (char const   )' ',      (char const   )'e',      (char const   )'m',
        (char const   )'a',      (char const   )'i',      (char const   )'l',      (char const   )' ',
        (char const   )'a',      (char const   )'d',      (char const   )'d',      (char const   )'r',
        (char const   )'e',      (char const   )'s',      (char const   )'s',      (char const   )' ',
        (char const   )'w',      (char const   )'e',      (char const   )'r',      (char const   )'e',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'n',
        (char const   )'f',      (char const   )'i',      (char const   )'g',      (char const   )'u',
        (char const   )'r',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'a',      (char const   )'u',      (char const   )'t',      (char const   )'o',
        (char const   )'m',      (char const   )'a',      (char const   )'t',      (char const   )'i',
        (char const   )'c',      (char const   )'a',      (char const   )'l',      (char const   )'l',
        (char const   )'y',      (char const   )' ',      (char const   )'b',      (char const   )'a',
        (char const   )'s',      (char const   )'e',      (char const   )'d',      (char const   )'\n',
        (char const   )'o',      (char const   )'n',      (char const   )' ',      (char const   )'y',
        (char const   )'o',      (char const   )'u',      (char const   )'r',      (char const   )' ',
        (char const   )'u',      (char const   )'s',      (char const   )'e',      (char const   )'r',
        (char const   )'n',      (char const   )'a',      (char const   )'m',      (char const   )'e',
        (char const   )' ',      (char const   )'a',      (char const   )'n',      (char const   )'d',
        (char const   )' ',      (char const   )'h',      (char const   )'o',      (char const   )'s',
        (char const   )'t',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )'.',      (char const   )' ',      (char const   )'P',
        (char const   )'l',      (char const   )'e',      (char const   )'a',      (char const   )'s',
        (char const   )'e',      (char const   )' ',      (char const   )'c',      (char const   )'h',
        (char const   )'e',      (char const   )'c',      (char const   )'k',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'a',      (char const   )'t',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'e',
        (char const   )'y',      (char const   )' ',      (char const   )'a',      (char const   )'r',
        (char const   )'e',      (char const   )' ',      (char const   )'a',      (char const   )'c',
        (char const   )'c',      (char const   )'u',      (char const   )'r',      (char const   )'a',
        (char const   )'t',      (char const   )'e',      (char const   )'.',      (char const   )'\n',
        (char const   )'Y',      (char const   )'o',      (char const   )'u',      (char const   )' ',
        (char const   )'c',      (char const   )'a',      (char const   )'n',      (char const   )' ',
        (char const   )'s',      (char const   )'u',      (char const   )'p',      (char const   )'p',
        (char const   )'r',      (char const   )'e',      (char const   )'s',      (char const   )'s',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'i',
        (char const   )'s',      (char const   )' ',      (char const   )'m',      (char const   )'e',
        (char const   )'s',      (char const   )'s',      (char const   )'a',      (char const   )'g',
        (char const   )'e',      (char const   )' ',      (char const   )'b',      (char const   )'y',
        (char const   )' ',      (char const   )'s',      (char const   )'e',      (char const   )'t',
        (char const   )'t',      (char const   )'i',      (char const   )'n',      (char const   )'g',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'e',
        (char const   )'m',      (char const   )' ',      (char const   )'e',      (char const   )'x',
        (char const   )'p',      (char const   )'l',      (char const   )'i',      (char const   )'c',
        (char const   )'i',      (char const   )'t',      (char const   )'l',      (char const   )'y',
        (char const   )':',      (char const   )'\n',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'g',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'n',      (char const   )'f',      (char const   )'i',
        (char const   )'g',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'g',      (char const   )'l',      (char const   )'o',      (char const   )'b',
        (char const   )'a',      (char const   )'l',      (char const   )' ',      (char const   )'u',
        (char const   )'s',      (char const   )'e',      (char const   )'r',      (char const   )'.',
        (char const   )'n',      (char const   )'a',      (char const   )'m',      (char const   )'e',
        (char const   )' ',      (char const   )'\"',      (char const   )'Y',      (char const   )'o',
        (char const   )'u',      (char const   )'r',      (char const   )' ',      (char const   )'N',
        (char const   )'a',      (char const   )'m',      (char const   )'e',      (char const   )'\"',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'n',
        (char const   )'f',      (char const   )'i',      (char const   )'g',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'g',      (char const   )'l',
        (char const   )'o',      (char const   )'b',      (char const   )'a',      (char const   )'l',
        (char const   )' ',      (char const   )'u',      (char const   )'s',      (char const   )'e',
        (char const   )'r',      (char const   )'.',      (char const   )'e',      (char const   )'m',
        (char const   )'a',      (char const   )'i',      (char const   )'l',      (char const   )' ',
        (char const   )'y',      (char const   )'o',      (char const   )'u',      (char const   )'@',
        (char const   )'e',      (char const   )'x',      (char const   )'a',      (char const   )'m',
        (char const   )'p',      (char const   )'l',      (char const   )'e',      (char const   )'.',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'\n',
        (char const   )'\n',      (char const   )'A',      (char const   )'f',      (char const   )'t',
        (char const   )'e',      (char const   )'r',      (char const   )' ',      (char const   )'d',
        (char const   )'o',      (char const   )'i',      (char const   )'n',      (char const   )'g',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'i',
        (char const   )'s',      (char const   )',',      (char const   )' ',      (char const   )'y',
        (char const   )'o',      (char const   )'u',      (char const   )' ',      (char const   )'m',
        (char const   )'a',      (char const   )'y',      (char const   )' ',      (char const   )'f',
        (char const   )'i',      (char const   )'x',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'i',
        (char const   )'d',      (char const   )'e',      (char const   )'n',      (char const   )'t',
        (char const   )'i',      (char const   )'t',      (char const   )'y',      (char const   )' ',
        (char const   )'u',      (char const   )'s',      (char const   )'e',      (char const   )'d',
        (char const   )' ',      (char const   )'f',      (char const   )'o',      (char const   )'r',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'i',
        (char const   )'s',      (char const   )' ',      (char const   )'c',      (char const   )'o',
        (char const   )'m',      (char const   )'m',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'w',      (char const   )'i',      (char const   )'t',
        (char const   )'h',      (char const   )':',      (char const   )'\n',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'m',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'a',      (char const   )'m',      (char const   )'e',
        (char const   )'n',      (char const   )'d',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'r',      (char const   )'e',      (char const   )'s',
        (char const   )'e',      (char const   )'t',      (char const   )'-',      (char const   )'a',
        (char const   )'u',      (char const   )'t',      (char const   )'h',      (char const   )'o',
        (char const   )'r',      (char const   )'\n',      (char const   )'\000'};
static char const   *implicit_ident_advice(void)
{
  char *user_config ;
  char *tmp ;
  char *xdg_config ;
  char *tmp___0 ;
  int config_exists ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  tmp = interpolate_path((char const   *)"~/.gitconfig", 0);
  user_config = tmp;
  tmp___0 = xdg_config_home((char const   *)"config");
  xdg_config = tmp___0;
  tmp___1 = file_exists((char const   *)user_config);
  if (tmp___1) {
    tmp___3 = 1;
  } else {
    tmp___2 = file_exists((char const   *)xdg_config);
    if (tmp___2) {
      tmp___3 = 1;
    } else {
      tmp___3 = 0;
    }
  }
  config_exists = tmp___3;
  free((void *)user_config);
  free((void *)xdg_config);
  if (config_exists) {
    tmp___4 = _(implicit_ident_advice_config);
    return ((char const   *)tmp___4);
  } else {
    tmp___5 = _(implicit_ident_advice_noconfig);
    return ((char const   *)tmp___5);
  }
}
}
void print_commit_summary(struct repository *r , char const   *prefix___1 , struct object_id  const  *oid ,
                          unsigned int flags___0 )
{
  struct rev_info rev ;
  struct commit *commit ;
  struct strbuf format___0 ;
  char const   *head___1 ;
  struct pretty_print_context pctx ;
  struct strbuf author_ident ;
  struct strbuf committer_ident ;
  struct ref_store *refs___0 ;
  int resolve_errno ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  struct strbuf date ;
  char const   *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;

  {
  format___0.alloc = 0UL;
  format___0.len = 0UL;
  format___0.buf = strbuf_slopbuf;
  pctx.fmt = (enum cmit_fmt )0;
  pctx.abbrev = 0;
  pctx.after_subject = (char const   *)0;
  pctx.preserve_subject = 0;
  pctx.date_mode.type = 0U;
  pctx.date_mode.strftime_fmt = (char const   *)0;
  pctx.date_mode.local = 0;
  pctx.date_mode_explicit = 0U;
  pctx.print_email_subject = 0;
  pctx.expand_tabs_in_log = 0;
  pctx.need_8bit_cte = 0;
  pctx.notes_message = (char *)0;
  pctx.reflog_info = (struct reflog_walk_info *)0;
  pctx.rev = (struct rev_info *)0;
  pctx.output_encoding = (char const   *)0;
  pctx.mailmap = (struct string_list *)0;
  pctx.color = 0;
  pctx.from_ident = (struct ident_split *)0;
  pctx.encode_email_headers = 0U;
  pctx.describe_status = (struct pretty_print_describe_status *)0;
  pctx.in_body_headers.items = (struct string_list_item *)0;
  pctx.in_body_headers.nr = 0U;
  pctx.in_body_headers.alloc = 0U;
  pctx.in_body_headers.strdup_strings = 0U;
  pctx.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
  pctx.graph_width = 0;
  author_ident.alloc = 0UL;
  author_ident.len = 0UL;
  author_ident.buf = strbuf_slopbuf;
  committer_ident.alloc = 0UL;
  committer_ident.len = 0UL;
  committer_ident.buf = strbuf_slopbuf;
  commit = lookup_commit(r, oid);
  if (! commit) {
    tmp = _((char const   *)"couldn\'t look up newly created commit");
    die((char const   *)tmp);
  }
  tmp___1 = repo_parse_commit(the_repository, commit);
  if (tmp___1) {
    tmp___0 = _((char const   *)"could not parse newly created commit");
    die((char const   *)tmp___0);
  }
  strbuf_addstr(& format___0, (char const   *)"format:%h] %s");
  repo_format_commit_message(the_repository, (struct commit  const  *)commit, (char const   *)"%an <%ae>",
                             & author_ident, (struct pretty_print_context  const  *)(& pctx));
  repo_format_commit_message(the_repository, (struct commit  const  *)commit, (char const   *)"%cn <%ce>",
                             & committer_ident, (struct pretty_print_context  const  *)(& pctx));
  tmp___2 = strbuf_cmp((struct strbuf  const  *)(& author_ident), (struct strbuf  const  *)(& committer_ident));
  if (tmp___2) {
    strbuf_addstr(& format___0, (char const   *)"\n Author: ");
    strbuf_addbuf_percentquote(& format___0, (struct strbuf  const  *)(& author_ident));
  }
  if (flags___0 & (unsigned int )(1 << 1)) {
    date.alloc = 0UL;
    date.len = 0UL;
    date.buf = strbuf_slopbuf;
    repo_format_commit_message(the_repository, (struct commit  const  *)commit, (char const   *)"%ad",
                               & date, (struct pretty_print_context  const  *)(& pctx));
    strbuf_addstr(& format___0, (char const   *)"\n Date: ");
    strbuf_addbuf_percentquote(& format___0, (struct strbuf  const  *)(& date));
    strbuf_release(& date);
  }
  tmp___5 = committer_ident_sufficiently_given();
  if (! tmp___5) {
    strbuf_addstr(& format___0, (char const   *)"\n Committer: ");
    strbuf_addbuf_percentquote(& format___0, (struct strbuf  const  *)(& committer_ident));
    tmp___4 = advice_enabled((enum advice_type )10);
    if (tmp___4) {
      strbuf_addch(& format___0, '\n');
      tmp___3 = implicit_ident_advice();
      strbuf_addstr(& format___0, tmp___3);
    }
  }
  strbuf_release(& author_ident);
  strbuf_release(& committer_ident);
  repo_init_revisions(r, & rev, prefix___1);
  setup_revisions(0, (char const   **)((void *)0), & rev, (struct setup_revision_opt *)((void *)0));
  rev.diff = 1U;
  rev.diffopt.output_format = 40;
  rev.verbose_header = 1U;
  rev.show_root_diff = 1U;
  get_commit_format((char const   *)format___0.buf, & rev);
  rev.always_show_header = 0U;
  rev.diffopt.detect_rename = 1;
  rev.diffopt.break_opt = 0;
  diff_setup_done(& rev.diffopt);
  refs___0 = get_main_ref_store(the_repository);
  head___1 = refs_resolve_ref_unsafe(refs___0, (char const   *)"HEAD", 0, (struct object_id *)((void *)0),
                                     (int *)((void *)0), & resolve_errno);
  if (! head___1) {
    tmp___6 = __errno_location();
    *tmp___6 = resolve_errno;
    tmp___7 = _((char const   *)"unable to resolve HEAD after creating commit");
    die_errno((char const   *)tmp___7);
  }
  tmp___9 = strcmp(head___1, (char const   *)"HEAD");
  if (tmp___9) {
    skip_prefix(head___1, (char const   *)"refs/heads/", & head___1);
  } else {
    tmp___8 = _((char const   *)"detached HEAD");
    head___1 = (char const   *)tmp___8;
  }
  if (flags___0 & 1U) {
    tmp___10 = _((char const   *)" (root-commit)");
    tmp___11 = tmp___10;
  } else {
    tmp___11 = (char const __attribute__((__format_arg__(1)))  *)"";
  }
  printf((char const   *)"[%s%s ", head___1, tmp___11);
  tmp___12 = log_tree_commit(& rev, commit);
  if (! tmp___12) {
    rev.always_show_header = 1U;
    rev.use_terminator = 1U;
    log_tree_commit(& rev, commit);
  }
  strbuf_release(& format___0);
  return;
}
}
static int parse_head(struct repository *r , struct commit **head___1 )
{
  struct commit *current_head ;
  struct object_id oid ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  tmp___7 = repo_get_oid(the_repository, (char const   *)"HEAD", & oid);
  if (tmp___7) {
    current_head = (struct commit *)((void *)0);
  } else {
    current_head = lookup_commit_reference(r, (struct object_id  const  *)(& oid));
    if (! current_head) {
      tmp = _((char const   *)"could not parse HEAD");
      error((char const   *)tmp);
      tmp___0 = const_error();
      return (tmp___0);
    }
    tmp___3 = oideq((struct object_id  const  *)(& oid), (struct object_id  const  *)(& current_head->object.oid));
    if (! tmp___3) {
      tmp___1 = oid_to_hex((struct object_id  const  *)(& oid));
      tmp___2 = _((char const   *)"HEAD %s is not a commit!");
      warning((char const   *)tmp___2, tmp___1);
    }
    tmp___6 = repo_parse_commit(the_repository, current_head);
    if (tmp___6) {
      tmp___4 = _((char const   *)"could not parse HEAD commit");
      error((char const   *)tmp___4);
      tmp___5 = const_error();
      return (tmp___5);
    }
  }
  *head___1 = current_head;
  return (0);
}
}
static int try_to_commit(struct repository *r , struct strbuf *msg___5 , char const   *author ,
                         struct replay_opts *opts___1 , unsigned int flags___0 , struct object_id *oid )
{
  struct object_id tree ;
  struct commit *current_head ;
  struct commit_list *parents ;
  struct commit_extra_header *extra___2 ;
  struct strbuf err___4 ;
  struct strbuf commit_msg ;
  char *amend_author ;
  char const   *committer ;
  char const   *hook_commit ;
  enum commit_msg_cleanup_mode cleanup___0 ;
  int res ;
  int tmp ;
  char const   *exclude_gpgsig[3] ;
  char const   *out_enc ;
  char const   *tmp___0 ;
  char const   *message___0 ;
  char const   *tmp___1 ;
  char const   *orig_message ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  struct commit *first_parent___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  struct object_id *tmp___7 ;
  struct object_id  const  *tmp___8 ;
  int tmp___9 ;
  char const   *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const   *tmp___12 ;
  ssize_t tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  struct ident_split id ;
  struct strbuf date ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  size_t tmp___17 ;
  int tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  char *tmp___20 ;
  char *tmp___21 ;
  char *tmp___22 ;
  struct ident_split id___0 ;
  char *name___0 ;
  char *email ;
  char const __attribute__((__format_arg__(1)))  *tmp___23 ;
  size_t tmp___24 ;
  int tmp___25 ;
  void *tmp___26 ;
  void *tmp___27 ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  int tmp___29 ;
  char *tmp___30 ;
  int tmp___31 ;

  {
  current_head = (struct commit *)((void *)0);
  parents = (struct commit_list *)((void *)0);
  extra___2 = (struct commit_extra_header *)((void *)0);
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  commit_msg.alloc = 0UL;
  commit_msg.len = 0UL;
  commit_msg.buf = strbuf_slopbuf;
  amend_author = (char *)((void *)0);
  committer = (char const   *)((void *)0);
  hook_commit = (char const   *)((void *)0);
  res = 0;
  if (flags___0 & (unsigned int )(1 << 3)) {
    if (flags___0 & (unsigned int )(1 << 6)) {
      BUG_fl((char const   *)"sequencer.c", 1407, (char const   *)"CLEANUP_MSG and VERBATIM_MSG are mutually exclusive");
    }
  }
  tmp = parse_head(r, & current_head);
  if (tmp) {
    return (-1);
  }
  if (flags___0 & (unsigned int )(1 << 2)) {
    exclude_gpgsig[0] = (char const   *)"gpgsig";
    exclude_gpgsig[1] = (char const   *)"gpgsig-sha256";
    exclude_gpgsig[2] = (char const   *)((void *)0);
    tmp___0 = get_commit_output_encoding();
    out_enc = tmp___0;
    tmp___1 = repo_logmsg_reencode(the_repository, (struct commit  const  *)current_head,
                                   (char **)((void *)0), out_enc);
    message___0 = tmp___1;
    if (! msg___5) {
      orig_message = (char const   *)((void *)0);
      find_commit_subject(message___0, & orig_message);
      msg___5 = & commit_msg;
      strbuf_addstr(msg___5, orig_message);
      hook_commit = (char const   *)"HEAD";
    }
    amend_author = get_author(message___0);
    author = (char const   *)amend_author;
    repo_unuse_commit_buffer(the_repository, (struct commit  const  *)current_head,
                             (void const   *)message___0);
    if (! author) {
      tmp___2 = _((char const   *)"unable to parse commit author");
      error((char const   *)tmp___2);
      res = const_error();
      goto out;
    }
    parents = copy_commit_list(current_head->parents);
    extra___2 = read_commit_extra_headers(current_head, exclude_gpgsig);
  } else
  if (current_head) {
    if (! (flags___0 & (unsigned int )(1 << 5))) {
      commit_list_insert(current_head, & parents);
    } else
    if (flags___0 & (unsigned int )(1 << 2)) {
      commit_list_insert(current_head, & parents);
    }
  }
  tmp___4 = write_index_as_tree(& tree, r->index, (char const   *)r->index_file, 0,
                                (char const   *)((void *)0));
  if (tmp___4) {
    tmp___3 = _((char const   *)"git write-tree failed to write a tree");
    error((char const   *)tmp___3);
    res = const_error();
    goto out;
  }
  if (! (flags___0 & 1U)) {
    first_parent___0 = current_head;
    if (flags___0 & (unsigned int )(1 << 2)) {
      if (current_head->parents) {
        first_parent___0 = (current_head->parents)->item;
        tmp___6 = repo_parse_commit(r, first_parent___0);
        if (tmp___6) {
          tmp___5 = _((char const   *)"could not parse HEAD commit");
          error((char const   *)tmp___5);
          res = const_error();
          goto out;
        }
      } else {
        first_parent___0 = (struct commit *)((void *)0);
      }
    }
    if (first_parent___0) {
      tmp___7 = get_commit_tree_oid((struct commit  const  *)first_parent___0);
      tmp___8 = (struct object_id  const  *)tmp___7;
    } else {
      tmp___8 = (struct object_id  const  *)(the_repository->hash_algo)->empty_tree;
    }
    tmp___9 = oideq(tmp___8, (struct object_id  const  *)(& tree));
    if (tmp___9) {
      res = 1;
      goto out;
    }
  }
  tmp___14 = hook_exists((char const   *)"prepare-commit-msg");
  if (tmp___14) {
    res = run_prepare_commit_msg_hook(r, msg___5, hook_commit);
    if (res) {
      goto out;
    }
    tmp___12 = git_path_commit_editmsg();
    tmp___13 = strbuf_read_file(& commit_msg, tmp___12, (size_t )2048);
    if (tmp___13 < 0L) {
      tmp___10 = git_path_commit_editmsg();
      tmp___11 = _((char const   *)"unable to read commit message from \'%s\'");
      error_errno((char const   *)tmp___11, tmp___10);
      res = const_error();
      goto out;
    }
    msg___5 = & commit_msg;
  }
  if (flags___0 & (unsigned int )(1 << 3)) {
    cleanup___0 = (enum commit_msg_cleanup_mode )3;
  } else
  if (flags___0 & (unsigned int )(1 << 6)) {
    cleanup___0 = (enum commit_msg_cleanup_mode )1;
  } else
  if (opts___1->signoff) {
    goto _L;
  } else
  if (opts___1->record_origin) {
    _L: /* CIL Label */
    if (! opts___1->explicit_cleanup) {
      cleanup___0 = (enum commit_msg_cleanup_mode )0;
    } else {
      cleanup___0 = opts___1->default_msg_cleanup;
    }
  } else {
    cleanup___0 = opts___1->default_msg_cleanup;
  }
  if ((unsigned int )cleanup___0 != 1U) {
    strbuf_stripspace(msg___5, (unsigned int )cleanup___0 == 3U);
  }
  if (flags___0 & (unsigned int )(1 << 1)) {
    tmp___15 = message_is_empty((struct strbuf  const  *)msg___5, cleanup___0);
    if (tmp___15) {
      res = 1;
      goto out;
    }
  }
  if (opts___1->committer_date_is_author_date) {
    date.alloc = 0UL;
    date.len = 0UL;
    date.buf = strbuf_slopbuf;
    if (! opts___1->ignore_date) {
      tmp___17 = strlen(author);
      tmp___18 = split_ident_line(& id, author, (int )tmp___17);
      if (tmp___18 < 0) {
        tmp___16 = _((char const   *)"invalid author identity \'%s\'");
        error((char const   *)tmp___16, author);
        res = const_error();
        goto out;
      }
      if (! id.date_begin) {
        tmp___19 = _((char const   *)"corrupt author: missing date information");
        error((char const   *)tmp___19);
        res = const_error();
        goto out;
      }
      strbuf_addf(& date, (char const   *)"@%.*s %.*s", (int )(id.date_end - id.date_begin),
                  id.date_begin, (int )(id.tz_end - id.tz_begin), id.tz_begin);
    } else {
      reset_ident_date();
    }
    if (opts___1->ignore_date) {
      tmp___20 = (char *)((void *)0);
    } else {
      tmp___20 = date.buf;
    }
    tmp___21 = getenv((char const   *)"GIT_COMMITTER_EMAIL");
    tmp___22 = getenv((char const   *)"GIT_COMMITTER_NAME");
    committer = fmt_ident((char const   *)tmp___22, (char const   *)tmp___21, (enum want_ident )2,
                          (char const   *)tmp___20, 1);
    strbuf_release(& date);
  } else {
    reset_ident_date();
  }
  if (opts___1->ignore_date) {
    tmp___24 = strlen(author);
    tmp___25 = split_ident_line(& id___0, author, (int )tmp___24);
    if (tmp___25 < 0) {
      tmp___23 = _((char const   *)"invalid author identity \'%s\'");
      error((char const   *)tmp___23, author);
      const_error();
      goto out;
    }
    tmp___26 = xmemdupz((void const   *)id___0.name_begin, (size_t )(id___0.name_end - id___0.name_begin));
    name___0 = (char *)tmp___26;
    tmp___27 = xmemdupz((void const   *)id___0.mail_begin, (size_t )(id___0.mail_end - id___0.mail_begin));
    email = (char *)tmp___27;
    author = fmt_ident((char const   *)name___0, (char const   *)email, (enum want_ident )1,
                       (char const   *)((void *)0), 1);
    free((void *)name___0);
    free((void *)email);
  }
  tmp___29 = commit_tree_extended((char const   *)msg___5->buf, msg___5->len, (struct object_id  const  *)(& tree),
                                  parents, oid, author, committer, (char const   *)opts___1->gpg_sign,
                                  extra___2);
  if (tmp___29) {
    tmp___28 = _((char const   *)"failed to write commit object");
    error((char const   *)tmp___28);
    res = const_error();
    goto out;
  }
  tmp___30 = getenv((char const   *)"GIT_REFLOG_ACTION");
  tmp___31 = update_head_with_reflog((struct commit  const  *)current_head, (struct object_id  const  *)oid,
                                     (char const   *)tmp___30, (struct strbuf  const  *)msg___5,
                                     & err___4);
  if (tmp___31) {
    error((char const   *)"%s", err___4.buf);
    res = const_error();
    goto out;
  }
  run_commit_hook(0, (char const   *)r->index_file, (char const   *)"post-commit",
                  (void *)0);
  if (flags___0 & (unsigned int )(1 << 2)) {
    commit_post_rewrite(r, (struct commit  const  *)current_head, (struct object_id  const  *)oid);
  }
  out:
  free_commit_extra_headers(extra___2);
  strbuf_release(& err___4);
  strbuf_release(& commit_msg);
  free((void *)amend_author);
  return (res);
}
}
static int write_rebase_head(struct object_id *oid )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp___1 = update_ref((char const   *)"rebase", (char const   *)"REBASE_HEAD", (struct object_id  const  *)oid,
                       (struct object_id  const  *)((void *)0), 1U, (enum action_on_err )0);
  if (tmp___1) {
    tmp = _((char const   *)"could not update %s");
    error((char const   *)tmp, "REBASE_HEAD");
    tmp___0 = const_error();
    return (tmp___0);
  }
  return (0);
}
}
static int do_commit(struct repository *r , char const   *msg_file , char const   *author ,
                     struct replay_opts *opts___1 , unsigned int flags___0 , struct object_id *oid )
{
  int res ;
  struct object_id oid___0 ;
  struct strbuf sb___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  ssize_t tmp___1 ;
  struct strbuf *tmp___2 ;
  struct ref_store *tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  res = 1;
  if (! (flags___0 & (unsigned int )(1 << 1))) {
    if (! (flags___0 & (unsigned int )(1 << 4))) {
      sb___6.alloc = 0UL;
      sb___6.len = 0UL;
      sb___6.buf = strbuf_slopbuf;
      if (msg_file) {
        tmp___1 = strbuf_read_file(& sb___6, msg_file, (size_t )2048);
        if (tmp___1 < 0L) {
          tmp = _((char const   *)"unable to read commit message from \'%s\'");
          error_errno((char const   *)tmp, msg_file);
          tmp___0 = const_error();
          return (tmp___0);
        }
      }
      if (msg_file) {
        tmp___2 = & sb___6;
      } else {
        tmp___2 = (struct strbuf *)((void *)0);
      }
      res = try_to_commit(r, tmp___2, author, opts___1, flags___0, & oid___0);
      strbuf_release(& sb___6);
      if (! res) {
        tmp___3 = get_main_ref_store(r);
        refs_delete_ref(tmp___3, (char const   *)"", (char const   *)"CHERRY_PICK_HEAD",
                        (struct object_id  const  *)((void *)0), 0U);
        tmp___4 = git_path_merge_msg(r);
        unlink(tmp___4);
        tmp___5 = is_rebase_i((struct replay_opts  const  *)opts___1);
        if (! tmp___5) {
          print_commit_summary(r, (char const   *)((void *)0), (struct object_id  const  *)(& oid___0),
                               (unsigned int )(1 << 1));
        }
        return (res);
      }
    }
  }
  if (res == 1) {
    tmp___7 = is_rebase_i((struct replay_opts  const  *)opts___1);
    if (tmp___7) {
      if (oid) {
        tmp___6 = write_rebase_head(oid);
        if (tmp___6) {
          return (-1);
        }
      }
    }
    tmp___8 = run_git_commit(msg_file, opts___1, flags___0);
    return (tmp___8);
  }
  return (res);
}
}
static int is_original_commit_empty(struct commit *commit )
{
  struct object_id  const  *ptree_oid ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  struct commit *parent ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  struct object_id *tmp___7 ;
  struct object_id *tmp___8 ;
  int tmp___9 ;

  {
  tmp___2 = repo_parse_commit(the_repository, commit);
  if (tmp___2) {
    tmp = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    tmp___0 = _((char const   *)"could not parse commit %s");
    error((char const   *)tmp___0, tmp);
    tmp___1 = const_error();
    return (tmp___1);
  }
  if (commit->parents) {
    parent = (commit->parents)->item;
    tmp___6 = repo_parse_commit(the_repository, parent);
    if (tmp___6) {
      tmp___3 = oid_to_hex((struct object_id  const  *)(& parent->object.oid));
      tmp___4 = _((char const   *)"could not parse parent commit %s");
      error((char const   *)tmp___4, tmp___3);
      tmp___5 = const_error();
      return (tmp___5);
    }
    tmp___7 = get_commit_tree_oid((struct commit  const  *)parent);
    ptree_oid = (struct object_id  const  *)tmp___7;
  } else {
    ptree_oid = (struct object_id  const  *)(the_repository->hash_algo)->empty_tree;
  }
  tmp___8 = get_commit_tree_oid((struct commit  const  *)commit);
  tmp___9 = oideq(ptree_oid, (struct object_id  const  *)tmp___8);
  return (tmp___9);
}
}
static int allow_empty(struct repository *r , struct replay_opts *opts___1 , struct commit *commit )
{
  int index_unchanged ;
  int originally_empty ;

  {
  if (! opts___1->allow_empty) {
    return (0);
  }
  index_unchanged = is_index_unchanged(r);
  if (index_unchanged < 0) {
    return (index_unchanged);
  }
  if (! index_unchanged) {
    return (0);
  }
  if (opts___1->keep_redundant_commits) {
    return (1);
  }
  originally_empty = is_original_commit_empty(commit);
  if (originally_empty < 0) {
    return (originally_empty);
  }
  if (originally_empty) {
    return (1);
  } else
  if (opts___1->drop_redundant_commits) {
    return (2);
  } else {
    return (0);
  }
}
}
static struct __anonstruct_todo_command_info_804246021 todo_command_info[14]  =
  {      {(char )'p', (char const   *)"pick"},
        {(char)0, (char const   *)"revert"},
        {(char )'e', (char const   *)"edit"},
        {(char )'r', (char const   *)"reword"},
        {(char )'f', (char const   *)"fixup"},
        {(char )'s', (char const   *)"squash"},
        {(char )'x', (char const   *)"exec"},
        {(char )'b', (char const   *)"break"},
        {(char )'l', (char const   *)"label"},
        {(char )'t', (char const   *)"reset"},
        {(char )'m', (char const   *)"merge"},
        {(char)0, (char const   *)"noop"},
        {(char )'d', (char const   *)"drop"},
        {(char)0, (char const   *)((void *)0)}};
static char const   *command_to_string(enum todo_command  const  command___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if ((unsigned int const   )command___0 < 13U) {
    return (todo_command_info[command___0].str);
  }
  tmp = _((char const   *)"unknown command: %d");
  die((char const   *)tmp, (unsigned int const   )command___0);
}
}
static char command_to_char(enum todo_command  const  command___0 )
{


  {
  if ((unsigned int const   )command___0 < 13U) {
    return (todo_command_info[command___0].c);
  }
  return (comment_line_char);
}
}
static int is_noop(enum todo_command  const  command___0 )
{


  {
  return (11U <= (unsigned int const   )command___0);
}
}
static int is_fixup(enum todo_command command___0 )
{
  int tmp ;

  {
  if ((unsigned int )command___0 == 4U) {
    tmp = 1;
  } else
  if ((unsigned int )command___0 == 5U) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static int is_pick_or_similar(enum todo_command command___0 )
{


  {
  {
  if ((unsigned int )command___0 == 5U) {
    goto case_5;
  }
  if ((unsigned int )command___0 == 4U) {
    goto case_5;
  }
  if ((unsigned int )command___0 == 3U) {
    goto case_5;
  }
  if ((unsigned int )command___0 == 2U) {
    goto case_5;
  }
  if ((unsigned int )command___0 == 1U) {
    goto case_5;
  }
  if ((unsigned int )command___0 == 0U) {
    goto case_5;
  }
  goto switch_default;
  case_5: /* CIL Label */
  case_4: /* CIL Label */
  case_3: /* CIL Label */
  case_2: /* CIL Label */
  case_1: /* CIL Label */
  case_0: /* CIL Label */
  return (1);
  switch_default: /* CIL Label */
  return (0);
  switch_break: /* CIL Label */ ;
  }
}
}
static char const   first_commit_msg_str[32]  =
  {      (char const   )'T',      (char const   )'h',      (char const   )'i',      (char const   )'s',
        (char const   )' ',      (char const   )'i',      (char const   )'s',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'1',      (char const   )'s',      (char const   )'t',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'m',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'m',
        (char const   )'e',      (char const   )'s',      (char const   )'s',      (char const   )'a',
        (char const   )'g',      (char const   )'e',      (char const   )':',      (char const   )'\000'};
static char const   nth_commit_msg_fmt[32]  =
  {      (char const   )'T',      (char const   )'h',      (char const   )'i',      (char const   )'s',
        (char const   )' ',      (char const   )'i',      (char const   )'s',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'m',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'m',
        (char const   )'e',      (char const   )'s',      (char const   )'s',      (char const   )'a',
        (char const   )'g',      (char const   )'e',      (char const   )' ',      (char const   )'#',
        (char const   )'%',      (char const   )'d',      (char const   )':',      (char const   )'\000'};
static char const   skip_first_commit_msg_str[40]  =
  {      (char const   )'T',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'1',      (char const   )'s',      (char const   )'t',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'m',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'m',
        (char const   )'e',      (char const   )'s',      (char const   )'s',      (char const   )'a',
        (char const   )'g',      (char const   )'e',      (char const   )' ',      (char const   )'w',
        (char const   )'i',      (char const   )'l',      (char const   )'l',      (char const   )' ',
        (char const   )'b',      (char const   )'e',      (char const   )' ',      (char const   )'s',
        (char const   )'k',      (char const   )'i',      (char const   )'p',      (char const   )'p',
        (char const   )'e',      (char const   )'d',      (char const   )':',      (char const   )'\000'};
static char const   skip_nth_commit_msg_fmt[40]  =
  {      (char const   )'T',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'m',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'m',
        (char const   )'e',      (char const   )'s',      (char const   )'s',      (char const   )'a',
        (char const   )'g',      (char const   )'e',      (char const   )' ',      (char const   )'#',
        (char const   )'%',      (char const   )'d',      (char const   )' ',      (char const   )'w',
        (char const   )'i',      (char const   )'l',      (char const   )'l',      (char const   )' ',
        (char const   )'b',      (char const   )'e',      (char const   )' ',      (char const   )'s',
        (char const   )'k',      (char const   )'i',      (char const   )'p',      (char const   )'p',
        (char const   )'e',      (char const   )'d',      (char const   )':',      (char const   )'\000'};
static char const   combined_commit_msg_fmt[37]  =
  {      (char const   )'T',      (char const   )'h',      (char const   )'i',      (char const   )'s',
        (char const   )' ',      (char const   )'i',      (char const   )'s',      (char const   )' ',
        (char const   )'a',      (char const   )' ',      (char const   )'c',      (char const   )'o',
        (char const   )'m',      (char const   )'b',      (char const   )'i',      (char const   )'n',
        (char const   )'a',      (char const   )'t',      (char const   )'i',      (char const   )'o',
        (char const   )'n',      (char const   )' ',      (char const   )'o',      (char const   )'f',
        (char const   )' ',      (char const   )'%',      (char const   )'d',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'m',
        (char const   )'i',      (char const   )'t',      (char const   )'s',      (char const   )'.',
        (char const   )'\000'};
static int is_fixup_flag(enum todo_command command___0 , unsigned int flag )
{
  int tmp ;

  {
  if ((unsigned int )command___0 == 4U) {
    if (flag & 2U) {
      tmp = 1;
    } else
    if (flag & 4U) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static void add_commented_lines(struct strbuf *buf___19 , void const   *str , size_t len___0 )
{
  char const   *s___1 ;
  size_t count___0 ;
  char const   *n ;
  void *tmp ;

  {
  s___1 = (char const   *)str;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (len___0 > 0UL) {
      if (! ((int const   )*(s___1 + 0) == (int const   )comment_line_char)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = memchr((void const   *)s___1, '\n', len___0);
    n = (char const   *)tmp;
    if (! n) {
      count___0 = len___0;
    } else {
      count___0 = (size_t )((n - s___1) + 1L);
    }
    strbuf_add(buf___19, (void const   *)s___1, count___0);
    s___1 += count___0;
    len___0 -= count___0;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_add_commented_lines(buf___19, s___1, len___0);
  return;
}
}
static int seen_squash(struct replay_opts *opts___1 )
{
  int tmp ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  tmp = starts_with((char const   *)opts___1->current_fixups.buf, (char const   *)"squash");
  if (tmp) {
    tmp___1 = 1;
  } else {
    tmp___0 = strstr((char const   *)opts___1->current_fixups.buf, (char const   *)"\nsquash");
    if (tmp___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  }
  return (tmp___1);
}
}
static void update_comment_bufs(struct strbuf *buf1 , struct strbuf *buf2 , int n )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  strbuf_setlen(buf1, (size_t )2);
  tmp = _(nth_commit_msg_fmt);
  strbuf_addf(buf1, (char const   *)tmp, n);
  strbuf_addch(buf1, '\n');
  strbuf_setlen(buf2, (size_t )2);
  tmp___0 = _(skip_nth_commit_msg_fmt);
  strbuf_addf(buf2, (char const   *)tmp___0, n);
  strbuf_addch(buf2, '\n');
  return;
}
}
static void update_squash_message_for_fixup(struct strbuf *msg___5 )
{
  void (*copy_lines)(struct strbuf * , void const   * , size_t  ) ;
  struct strbuf buf1 ;
  struct strbuf buf2 ;
  char const   *s___1 ;
  char const   *start ;
  char *orig_msg ;
  size_t orig_msg_len ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const   *next___2 ;
  size_t off ;
  char const   *tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  copy_lines = & strbuf_add;
  buf1.alloc = 0UL;
  buf1.len = 0UL;
  buf1.buf = strbuf_slopbuf;
  buf2.alloc = 0UL;
  buf2.len = 0UL;
  buf2.buf = strbuf_slopbuf;
  i = 1;
  tmp = _(first_commit_msg_str);
  strbuf_addf(& buf1, (char const   *)"# %s\n", tmp);
  tmp___0 = _(skip_first_commit_msg_str);
  strbuf_addf(& buf2, (char const   *)"# %s\n", tmp___0);
  orig_msg = strbuf_detach(msg___5, & orig_msg_len);
  start = (char const   *)orig_msg;
  s___1 = start;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! s___1) {
      goto while_break;
    }
    tmp___4 = skip_prefix(s___1, (char const   *)buf1.buf, & next___2);
    if (tmp___4) {
      if ((unsigned long )s___1 > (unsigned long )(start + 1)) {
        if ((int const   )*(s___1 + -2) == 10) {
          off = (size_t )1;
        } else {
          off = (size_t )0;
        }
      } else {
        off = (size_t )0;
      }
      (*copy_lines)(msg___5, (void const   *)start, (size_t )(s___1 - start) - off);
      if (off) {
        strbuf_addch(msg___5, '\n');
      }
      strbuf_addbuf(msg___5, (struct strbuf  const  *)(& buf2));
      if ((int const   )*next___2 == 10) {
        tmp___1 = next___2;
        next___2 ++;
        strbuf_addch(msg___5, (int )*tmp___1);
      }
      s___1 = next___2;
      start = s___1;
      copy_lines = & add_commented_lines;
      i ++;
      update_comment_bufs(& buf1, & buf2, i);
    } else {
      tmp___3 = skip_prefix(s___1, (char const   *)buf2.buf, & next___2);
      if (tmp___3) {
        if ((unsigned long )s___1 > (unsigned long )(start + 1)) {
          if ((int const   )*(s___1 + -2) == 10) {
            off = (size_t )1;
          } else {
            off = (size_t )0;
          }
        } else {
          off = (size_t )0;
        }
        (*copy_lines)(msg___5, (void const   *)start, (size_t )(s___1 - start) - off);
        start = s___1 - off;
        s___1 = next___2;
        copy_lines = & strbuf_add;
        i ++;
        update_comment_bufs(& buf1, & buf2, i);
      } else {
        tmp___2 = strchr(s___1, '\n');
        s___1 = (char const   *)tmp___2;
        if (s___1) {
          s___1 ++;
        }
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  (*copy_lines)(msg___5, (void const   *)start, orig_msg_len - (size_t )(start - (char const   *)orig_msg));
  free((void *)orig_msg);
  strbuf_release(& buf1);
  strbuf_release(& buf2);
  return;
}
}
static int append_squash_message(struct strbuf *buf___19 , char const   *body , enum todo_command command___0 ,
                                 struct replay_opts *opts___1 , unsigned int flag )
{
  char const   *fixup_msg ;
  size_t commented_len ;
  size_t fixup_off ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const   *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const   *tmp___7 ;
  size_t tmp___8 ;
  int tmp___9 ;
  char const   *tmp___10 ;
  char const   *tmp___11 ;
  int tmp___12 ;
  char const   *tmp___13 ;
  int tmp___14 ;
  char const   *tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;

  {
  commented_len = (size_t )0;
  tmp = starts_with(body, (char const   *)"amend!");
  if (tmp) {
    commented_len = commit_subject_length(body);
  } else
  if ((unsigned int )command___0 == 5U) {
    goto _L;
  } else {
    tmp___0 = seen_squash(opts___1);
    if (tmp___0) {
      _L: /* CIL Label */
      tmp___1 = starts_with(body, (char const   *)"squash!");
      if (tmp___1) {
        commented_len = commit_subject_length(body);
      } else {
        tmp___2 = starts_with(body, (char const   *)"fixup!");
        if (tmp___2) {
          commented_len = commit_subject_length(body);
        }
      }
    }
  }
  strbuf_addf(buf___19, (char const   *)"\n%c ", (int )comment_line_char);
  (opts___1->current_fixup_count) ++;
  tmp___3 = _(nth_commit_msg_fmt);
  strbuf_addf(buf___19, (char const   *)tmp___3, opts___1->current_fixup_count + 1);
  strbuf_addstr(buf___19, (char const   *)"\n\n");
  strbuf_add_commented_lines(buf___19, body, commented_len);
  fixup_off = buf___19->len;
  strbuf_addstr(buf___19, body + commented_len);
  tmp___16 = is_fixup_flag(command___0, flag);
  if (tmp___16) {
    tmp___17 = seen_squash(opts___1);
    if (tmp___17) {
      tmp___15 = rebase_path_fixup_msg();
      unlink(tmp___15);
    } else {
      if (opts___1->signoff) {
        append_signoff(buf___19, (size_t )0, 0U);
      }
      if ((unsigned int )command___0 == 4U) {
        if (flag & 2U) {
          tmp___11 = rebase_path_fixup_msg();
          tmp___12 = file_exists(tmp___11);
          if (tmp___12) {
            goto _L___0;
          } else {
            tmp___13 = rebase_path_squash_msg();
            tmp___14 = file_exists(tmp___13);
            if (tmp___14) {
              tmp___10 = rebase_path_fixup_msg();
              unlink(tmp___10);
            } else {
              _L___0: /* CIL Label */
              fixup_msg = skip_blank_lines((char const   *)(buf___19->buf + fixup_off));
              tmp___7 = rebase_path_fixup_msg();
              tmp___8 = strlen(fixup_msg);
              tmp___9 = write_message((void const   *)fixup_msg, tmp___8, tmp___7,
                                      0);
              if (tmp___9 < 0) {
                tmp___4 = rebase_path_fixup_msg();
                tmp___5 = _((char const   *)"cannot write \'%s\'");
                error((char const   *)tmp___5, tmp___4);
                tmp___6 = const_error();
                return (tmp___6);
              }
            }
          }
        } else {
          tmp___10 = rebase_path_fixup_msg();
          unlink(tmp___10);
        }
      } else {
        tmp___10 = rebase_path_fixup_msg();
        unlink(tmp___10);
      }
    }
  } else {
    tmp___15 = rebase_path_fixup_msg();
    unlink(tmp___15);
  }
  return (0);
}
}
static int update_squash_messages(struct repository *r , enum todo_command command___0 ,
                                  struct commit *commit , struct replay_opts *opts___1 ,
                                  unsigned int flag )
{
  struct strbuf buf___19 ;
  int res ;
  char const   *message___0 ;
  char const   *body ;
  char const   *encoding ;
  char const   *tmp ;
  struct strbuf header___0 ;
  char *eol ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  ssize_t tmp___4 ;
  char *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  struct object_id head___1 ;
  struct commit *head_commit ;
  char const   *head_message ;
  char const   *body___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  char const   *tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  int tmp___18 ;
  char const   *tmp___19 ;
  size_t tmp___20 ;
  int tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  int tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  char const __attribute__((__format_arg__(1)))  *tmp___26 ;
  int tmp___27 ;
  size_t tmp___28 ;
  int tmp___29 ;
  char *tmp___30 ;
  char const __attribute__((__format_arg__(1)))  *tmp___31 ;
  int tmp___32 ;
  char const __attribute__((__format_arg__(1)))  *tmp___33 ;
  size_t tmp___34 ;
  char const __attribute__((__format_arg__(1)))  *tmp___35 ;
  int tmp___36 ;
  int tmp___37 ;
  char const   *tmp___38 ;
  char *tmp___39 ;
  char const   *tmp___40 ;
  char *tmp___41 ;
  char const   *tmp___42 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  res = 0;
  tmp = get_commit_output_encoding();
  encoding = tmp;
  if (opts___1->current_fixup_count > 0) {
    header___0.alloc = 0UL;
    header___0.len = 0UL;
    header___0.buf = strbuf_slopbuf;
    tmp___3 = rebase_path_squash_msg();
    tmp___4 = strbuf_read_file(& buf___19, tmp___3, (size_t )9);
    if (tmp___4 <= 0L) {
      tmp___0 = rebase_path_squash_msg();
      tmp___1 = _((char const   *)"could not read \'%s\'");
      error((char const   *)tmp___1, tmp___0);
      tmp___2 = const_error();
      return (tmp___2);
    }
    if ((int )*(buf___19.buf + 0) != (int )comment_line_char) {
      eol = buf___19.buf;
    } else {
      tmp___5 = strchrnul((char const   *)buf___19.buf, '\n');
      eol = tmp___5;
    }
    strbuf_addf(& header___0, (char const   *)"%c ", (int )comment_line_char);
    tmp___6 = _(combined_commit_msg_fmt);
    strbuf_addf(& header___0, (char const   *)tmp___6, opts___1->current_fixup_count + 2);
    strbuf_splice(& buf___19, (size_t )0, (size_t )(eol - buf___19.buf), (void const   *)header___0.buf,
                  header___0.len);
    strbuf_release(& header___0);
    tmp___7 = is_fixup_flag(command___0, flag);
    if (tmp___7) {
      tmp___8 = seen_squash(opts___1);
      if (! tmp___8) {
        update_squash_message_for_fixup(& buf___19);
      }
    }
  } else {
    tmp___11 = repo_get_oid(the_repository, (char const   *)"HEAD", & head___1);
    if (tmp___11) {
      tmp___9 = _((char const   *)"need a HEAD to fixup");
      error((char const   *)tmp___9);
      tmp___10 = const_error();
      return (tmp___10);
    }
    head_commit = lookup_commit_reference(r, (struct object_id  const  *)(& head___1));
    if (! head_commit) {
      tmp___12 = _((char const   *)"could not read HEAD");
      error((char const   *)tmp___12);
      tmp___13 = const_error();
      return (tmp___13);
    }
    head_message = repo_logmsg_reencode(the_repository, (struct commit  const  *)head_commit,
                                        (char **)((void *)0), encoding);
    if (! head_message) {
      tmp___14 = _((char const   *)"could not read HEAD\'s commit message");
      error((char const   *)tmp___14);
      tmp___15 = const_error();
      return (tmp___15);
    }
    find_commit_subject(head_message, & body___0);
    if ((unsigned int )command___0 == 4U) {
      if (! flag) {
        tmp___19 = rebase_path_fixup_msg();
        tmp___20 = strlen(body___0);
        tmp___21 = write_message((void const   *)body___0, tmp___20, tmp___19, 0);
        if (tmp___21 < 0) {
          repo_unuse_commit_buffer(the_repository, (struct commit  const  *)head_commit,
                                   (void const   *)head_message);
          tmp___16 = rebase_path_fixup_msg();
          tmp___17 = _((char const   *)"cannot write \'%s\'");
          error((char const   *)tmp___17, tmp___16);
          tmp___18 = const_error();
          return (tmp___18);
        }
      }
    }
    strbuf_addf(& buf___19, (char const   *)"%c ", (int )comment_line_char);
    tmp___22 = _(combined_commit_msg_fmt);
    strbuf_addf(& buf___19, (char const   *)tmp___22, 2);
    strbuf_addf(& buf___19, (char const   *)"\n%c ", (int )comment_line_char);
    tmp___27 = is_fixup_flag(command___0, flag);
    if (tmp___27) {
      tmp___24 = _(skip_first_commit_msg_str);
      tmp___26 = tmp___24;
    } else {
      tmp___25 = _(first_commit_msg_str);
      tmp___26 = tmp___25;
    }
    strbuf_addstr(& buf___19, (char const   *)tmp___26);
    strbuf_addstr(& buf___19, (char const   *)"\n\n");
    tmp___29 = is_fixup_flag(command___0, flag);
    if (tmp___29) {
      tmp___28 = strlen(body___0);
      strbuf_add_commented_lines(& buf___19, body___0, tmp___28);
    } else {
      strbuf_addstr(& buf___19, body___0);
    }
    repo_unuse_commit_buffer(the_repository, (struct commit  const  *)head_commit,
                             (void const   *)head_message);
  }
  message___0 = repo_logmsg_reencode(the_repository, (struct commit  const  *)commit,
                                     (char **)((void *)0), encoding);
  if (! message___0) {
    tmp___30 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    tmp___31 = _((char const   *)"could not read commit message of %s");
    error((char const   *)tmp___31, tmp___30);
    tmp___32 = const_error();
    return (tmp___32);
  }
  find_commit_subject(message___0, & body);
  if ((unsigned int )command___0 == 5U) {
    res = append_squash_message(& buf___19, body, command___0, opts___1, flag);
  } else {
    tmp___37 = is_fixup_flag(command___0, flag);
    if (tmp___37) {
      res = append_squash_message(& buf___19, body, command___0, opts___1, flag);
    } else
    if ((unsigned int )command___0 == 4U) {
      strbuf_addf(& buf___19, (char const   *)"\n%c ", (int )comment_line_char);
      (opts___1->current_fixup_count) ++;
      tmp___33 = _(skip_nth_commit_msg_fmt);
      strbuf_addf(& buf___19, (char const   *)tmp___33, opts___1->current_fixup_count + 1);
      strbuf_addstr(& buf___19, (char const   *)"\n\n");
      tmp___34 = strlen(body);
      strbuf_add_commented_lines(& buf___19, body, tmp___34);
    } else {
      tmp___35 = _((char const   *)"unknown command: %d");
      error((char const   *)tmp___35, (unsigned int )command___0);
      tmp___36 = const_error();
      return (tmp___36);
    }
  }
  repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit, (void const   *)message___0);
  if (! res) {
    tmp___38 = rebase_path_squash_msg();
    res = write_message((void const   *)buf___19.buf, buf___19.len, tmp___38, 0);
  }
  strbuf_release(& buf___19);
  if (! res) {
    tmp___39 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    tmp___40 = command_to_string((enum todo_command  const  )command___0);
    if (opts___1->current_fixups.len) {
      tmp___41 = "\n";
    } else {
      tmp___41 = "";
    }
    strbuf_addf(& opts___1->current_fixups, (char const   *)"%s%s %s", tmp___41, tmp___40,
                tmp___39);
    tmp___42 = rebase_path_current_fixups();
    res = write_message((void const   *)opts___1->current_fixups.buf, opts___1->current_fixups.len,
                        tmp___42, 0);
  }
  return (res);
}
}
static void flush_rewritten_pending(void)
{
  struct strbuf buf___19 ;
  struct object_id newoid ;
  FILE *out ;
  char *bol ;
  char *eol ;
  char *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  ssize_t tmp___2 ;
  int tmp___3 ;
  char const   *tmp___4 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp___1 = rebase_path_rewritten_pending();
  tmp___2 = strbuf_read_file(& buf___19, tmp___1, (size_t )130);
  if (tmp___2 > 0L) {
    tmp___3 = repo_get_oid(the_repository, (char const   *)"HEAD", & newoid);
    if (! tmp___3) {
      tmp___4 = rebase_path_rewritten_list();
      out = fopen_or_warn(tmp___4, (char const   *)"a");
      if (out) {
        bol = buf___19.buf;
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          if (! *bol) {
            goto while_break;
          }
          eol = strchrnul((char const   *)bol, '\n');
          tmp = oid_to_hex((struct object_id  const  *)(& newoid));
          fprintf(out, (char const   *)"%.*s %s\n", (int )(eol - bol), bol, tmp);
          if (! *eol) {
            goto while_break;
          }
          bol = eol + 1;
        }
        while_break: /* CIL Label */ ;
        }
        fclose(out);
        tmp___0 = rebase_path_rewritten_pending();
        unlink(tmp___0);
      }
    }
  }
  strbuf_release(& buf___19);
  return;
}
}
static void record_in_rewritten(struct object_id *oid , enum todo_command next_command )
{
  FILE *out ;
  char const   *tmp ;
  FILE *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  tmp = rebase_path_rewritten_pending();
  tmp___0 = fopen_or_warn(tmp, (char const   *)"a");
  out = tmp___0;
  if (! out) {
    return;
  }
  tmp___1 = oid_to_hex((struct object_id  const  *)oid);
  fprintf(out, (char const   *)"%s\n", tmp___1);
  fclose(out);
  tmp___2 = is_fixup(next_command);
  if (! tmp___2) {
    flush_rewritten_pending();
  }
  return;
}
}
static int should_edit(struct replay_opts *opts___1 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (opts___1->edit < 0) {
    if ((unsigned int )opts___1->action == 0U) {
      tmp___1 = isatty(0);
      if (tmp___1) {
        tmp___0 = 1;
      } else {
        tmp___0 = 0;
      }
    } else {
      tmp___0 = 0;
    }
    return (tmp___0);
  }
  return (opts___1->edit);
}
}
static int do_pick_commit(struct repository *r , struct todo_item *item___0 , struct replay_opts *opts___1 ,
                          int final_fixup , int *check_todo )
{
  unsigned int flags___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *msg_file ;
  int tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  struct object_id head___1 ;
  struct commit *base ;
  struct commit *next___2 ;
  struct commit *parent ;
  char const   *base_label ;
  char const   *next_label ;
  char *author ;
  struct commit_message msg___5 ;
  struct strbuf msgbuf___0 ;
  int res ;
  int unborn ;
  int reword ;
  int allow___0 ;
  int drop_commit ;
  enum todo_command command___0 ;
  struct commit *commit ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  char const   *tmp___15 ;
  char const   *tmp___16 ;
  int tmp___17 ;
  int cnt ;
  struct commit_list *p___0 ;
  char *tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  int tmp___20 ;
  char *tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  int tmp___23 ;
  char *tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  int tmp___26 ;
  char *tmp___27 ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  int tmp___29 ;
  int tmp___30 ;
  int tmp___31 ;
  int tmp___32 ;
  int tmp___33 ;
  char *tmp___34 ;
  char const   *tmp___35 ;
  char const __attribute__((__format_arg__(1)))  *tmp___36 ;
  int tmp___37 ;
  int tmp___38 ;
  char *tmp___39 ;
  char *tmp___40 ;
  char const   *p___1 ;
  int tmp___41 ;
  int tmp___42 ;
  char *tmp___43 ;
  int tmp___44 ;
  int tmp___45 ;
  char const   *dest ;
  char const   *tmp___46 ;
  char const   *tmp___47 ;
  char const __attribute__((__format_arg__(1)))  *tmp___48 ;
  int tmp___49 ;
  char const   *tmp___50 ;
  int tmp___51 ;
  char const   *tmp___52 ;
  char const   *tmp___53 ;
  int tmp___54 ;
  int tmp___55 ;
  int tmp___56 ;
  char const   *tmp___57 ;
  int tmp___58 ;
  struct commit_list *common ;
  struct commit_list *remotes ;
  char const   *tmp___59 ;
  char *tmp___60 ;
  int tmp___61 ;
  int tmp___62 ;
  int tmp___63 ;
  int tmp___64 ;
  int tmp___65 ;
  int tmp___66 ;
  int tmp___67 ;
  char const   *tmp___68 ;
  char const __attribute__((__format_arg__(1)))  *tmp___69 ;
  char const __attribute__((__format_arg__(1)))  *tmp___70 ;
  char const __attribute__((__format_arg__(1)))  *tmp___71 ;
  struct ref_store *tmp___72 ;
  char const   *tmp___73 ;
  char const   *tmp___74 ;
  char *tmp___75 ;
  char const __attribute__((__format_arg__(1)))  *tmp___76 ;
  struct object_id *tmp___77 ;
  char const __attribute__((__format_arg__(1)))  *tmp___78 ;
  char const   *tmp___79 ;
  char const   *tmp___80 ;
  char const   *tmp___81 ;

  {
  tmp___1 = should_edit(opts___1);
  if (tmp___1) {
    tmp___0 = 1 << 1;
  } else {
    tmp___0 = 0;
  }
  flags___0 = (unsigned int )tmp___0;
  tmp___5 = should_edit(opts___1);
  if (tmp___5) {
    tmp___4 = (char const   *)((void *)0);
  } else {
    tmp___3 = git_path_merge_msg(r);
    tmp___4 = tmp___3;
  }
  msg_file = tmp___4;
  author = (char *)((void *)0);
  msg___5.parent_label = (char *)((void *)0);
  msg___5.label = (char *)((void *)0);
  msg___5.subject = (char *)((void *)0);
  msg___5.message = (char const   *)((void *)0);
  msgbuf___0.alloc = 0UL;
  msgbuf___0.len = 0UL;
  msgbuf___0.buf = strbuf_slopbuf;
  unborn = 0;
  reword = 0;
  command___0 = item___0->command;
  commit = item___0->commit;
  if (opts___1->no_commit) {
    tmp___8 = write_index_as_tree(& head___1, r->index, (char const   *)r->index_file,
                                  0, (char const   *)((void *)0));
    if (tmp___8) {
      tmp___6 = _((char const   *)"your index file is unmerged.");
      error((char const   *)tmp___6);
      tmp___7 = const_error();
      return (tmp___7);
    }
  } else {
    unborn = repo_get_oid(the_repository, (char const   *)"HEAD", & head___1);
    tmp___12 = is_pick_or_similar(command___0);
    if (tmp___12) {
      if (opts___1->have_squash_onto) {
        tmp___13 = oideq((struct object_id  const  *)(& head___1), (struct object_id  const  *)(& opts___1->squash_onto));
        if (tmp___13) {
          tmp___11 = is_fixup(command___0);
          if (tmp___11) {
            tmp___9 = _((char const   *)"cannot fixup root commit");
            error((char const   *)tmp___9);
            tmp___10 = const_error();
            return (tmp___10);
          }
          flags___0 |= (unsigned int )(1 << 5);
          unborn = 1;
        } else {
          goto _L___0;
        }
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    _L: /* CIL Label */
    if (unborn) {
      oidcpy(& head___1, (struct object_id  const  *)(the_repository->hash_algo)->empty_tree);
    }
    if (unborn) {
      tmp___15 = empty_tree_oid_hex();
      tmp___16 = tmp___15;
    } else {
      tmp___16 = (char const   *)"HEAD";
    }
    tmp___17 = index_differs_from(r, tmp___16, (struct diff_flags  const  *)((void *)0),
                                  0);
    if (tmp___17) {
      tmp___14 = error_dirty_index(r, opts___1);
      return (tmp___14);
    }
  }
  discard_index(r->index);
  if (! commit->parents) {
    parent = (struct commit *)((void *)0);
  } else
  if ((commit->parents)->next) {
    if (! opts___1->mainline) {
      tmp___18 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
      tmp___19 = _((char const   *)"commit %s is a merge but no -m option was given.");
      error((char const   *)tmp___19, tmp___18);
      tmp___20 = const_error();
      return (tmp___20);
    }
    cnt = 1;
    p___0 = commit->parents;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (cnt != opts___1->mainline) {
        if (! p___0) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      p___0 = p___0->next;
      cnt ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (cnt != opts___1->mainline) {
      tmp___21 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
      tmp___22 = _((char const   *)"commit %s does not have parent %d");
      error((char const   *)tmp___22, tmp___21, opts___1->mainline);
      tmp___23 = const_error();
      return (tmp___23);
    } else
    if (! p___0) {
      tmp___21 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
      tmp___22 = _((char const   *)"commit %s does not have parent %d");
      error((char const   *)tmp___22, tmp___21, opts___1->mainline);
      tmp___23 = const_error();
      return (tmp___23);
    }
    parent = p___0->item;
  } else
  if (1 < opts___1->mainline) {
    tmp___24 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    tmp___25 = _((char const   *)"commit %s does not have parent %d");
    error((char const   *)tmp___25, tmp___24, opts___1->mainline);
    tmp___26 = const_error();
    return (tmp___26);
  } else {
    parent = (commit->parents)->item;
  }
  tmp___30 = get_message(commit, & msg___5);
  if (tmp___30 != 0) {
    tmp___27 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    tmp___28 = _((char const   *)"cannot get commit message for %s");
    error((char const   *)tmp___28, tmp___27);
    tmp___29 = const_error();
    return (tmp___29);
  }
  if (opts___1->allow_ff) {
    tmp___32 = is_fixup(command___0);
    if (! tmp___32) {
      if (parent) {
        tmp___33 = oideq((struct object_id  const  *)(& parent->object.oid), (struct object_id  const  *)(& head___1));
        if (tmp___33) {
          goto _L___1;
        } else {
          goto _L___2;
        }
      } else
      _L___2: /* CIL Label */
      if (! parent) {
        if (unborn) {
          _L___1: /* CIL Label */
          tmp___31 = is_rebase_i((struct replay_opts  const  *)opts___1);
          if (tmp___31) {
            write_author_script(msg___5.message);
          }
          res = fast_forward_to(r, (struct object_id  const  *)(& commit->object.oid),
                                (struct object_id  const  *)(& head___1), unborn,
                                opts___1);
          if (res) {
            goto leave;
          } else
          if ((unsigned int )command___0 != 3U) {
            goto leave;
          }
          reword = 1;
          msg_file = (char const   *)((void *)0);
          goto fast_forward_edit;
        }
      }
    }
  }
  if (parent) {
    tmp___38 = repo_parse_commit(the_repository, parent);
    if (tmp___38 < 0) {
      tmp___34 = oid_to_hex((struct object_id  const  *)(& parent->object.oid));
      tmp___35 = command_to_string((enum todo_command  const  )command___0);
      tmp___36 = _((char const   *)"%s: cannot parse parent commit %s");
      error((char const   *)tmp___36, tmp___35, tmp___34);
      tmp___37 = const_error();
      return (tmp___37);
    }
  }
  if ((unsigned int )command___0 == 1U) {
    base = commit;
    base_label = (char const   *)msg___5.label;
    next___2 = parent;
    next_label = (char const   *)msg___5.parent_label;
    strbuf_addstr(& msgbuf___0, (char const   *)"Revert \"");
    strbuf_addstr(& msgbuf___0, (char const   *)msg___5.subject);
    strbuf_addstr(& msgbuf___0, (char const   *)"\"\n\nThis reverts commit ");
    tmp___39 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    strbuf_addstr(& msgbuf___0, (char const   *)tmp___39);
    if (commit->parents) {
      if ((commit->parents)->next) {
        strbuf_addstr(& msgbuf___0, (char const   *)", reversing\nchanges made to ");
        tmp___40 = oid_to_hex((struct object_id  const  *)(& parent->object.oid));
        strbuf_addstr(& msgbuf___0, (char const   *)tmp___40);
      }
    }
    strbuf_addstr(& msgbuf___0, (char const   *)".\n");
  } else {
    base = parent;
    base_label = (char const   *)msg___5.parent_label;
    next___2 = commit;
    next_label = (char const   *)msg___5.label;
    tmp___41 = find_commit_subject(msg___5.message, & p___1);
    if (tmp___41) {
      strbuf_addstr(& msgbuf___0, p___1);
    }
    if (opts___1->record_origin) {
      strbuf_complete_line(& msgbuf___0);
      tmp___42 = has_conforming_footer(& msgbuf___0, (struct strbuf *)((void *)0),
                                       (size_t )0);
      if (! tmp___42) {
        strbuf_addch(& msgbuf___0, '\n');
      }
      strbuf_addstr(& msgbuf___0, cherry_picked_prefix);
      tmp___43 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
      strbuf_addstr(& msgbuf___0, (char const   *)tmp___43);
      strbuf_addstr(& msgbuf___0, (char const   *)")\n");
    }
    tmp___44 = is_fixup(command___0);
    if (! tmp___44) {
      author = get_author(msg___5.message);
    }
  }
  if ((unsigned int )command___0 == 3U) {
    reword = 1;
  } else {
    tmp___55 = is_fixup(command___0);
    if (tmp___55) {
      tmp___45 = update_squash_messages(r, command___0, commit, opts___1, item___0->flags);
      if (tmp___45) {
        return (-1);
      }
      flags___0 |= (unsigned int )(1 << 2);
      if (! final_fixup) {
        msg_file = rebase_path_squash_msg();
      } else {
        tmp___53 = rebase_path_fixup_msg();
        tmp___54 = file_exists(tmp___53);
        if (tmp___54) {
          flags___0 |= (unsigned int )(1 << 6);
          msg_file = rebase_path_fixup_msg();
        } else {
          tmp___46 = git_path_squash_msg(r);
          dest = tmp___46;
          unlink(dest);
          tmp___50 = rebase_path_squash_msg();
          tmp___51 = copy_file(dest, tmp___50, 0666);
          if (tmp___51) {
            tmp___47 = rebase_path_squash_msg();
            tmp___48 = _((char const   *)"could not rename \'%s\' to \'%s\'");
            error((char const   *)tmp___48, tmp___47, dest);
            tmp___49 = const_error();
            return (tmp___49);
          }
          tmp___52 = git_path_merge_msg(r);
          unlink(tmp___52);
          msg_file = dest;
          flags___0 |= (unsigned int )(1 << 1);
        }
      }
    }
  }
  if (opts___1->signoff) {
    tmp___56 = is_fixup(command___0);
    if (! tmp___56) {
      append_signoff(& msgbuf___0, (size_t )0, 0U);
    }
  }
  tmp___64 = is_rebase_i((struct replay_opts  const  *)opts___1);
  if (tmp___64) {
    tmp___65 = write_author_script(msg___5.message);
    if (tmp___65 < 0) {
      res = -1;
    } else {
      goto _L___4;
    }
  } else
  _L___4: /* CIL Label */
  if (! opts___1->strategy) {
    goto _L___3;
  } else {
    tmp___62 = strcmp((char const   *)opts___1->strategy, (char const   *)"recursive");
    if (tmp___62) {
      tmp___63 = strcmp((char const   *)opts___1->strategy, (char const   *)"ort");
      if (tmp___63) {
        if ((unsigned int )command___0 == 1U) {
          _L___3: /* CIL Label */
          res = do_recursive_merge(r, base, next___2, base_label, next_label, & head___1,
                                   & msgbuf___0, opts___1);
          if (res < 0) {
            goto leave;
          }
          tmp___57 = git_path_merge_msg(r);
          tmp___58 = write_message((void const   *)msgbuf___0.buf, msgbuf___0.len,
                                   tmp___57, 0);
          res |= tmp___58;
        } else {
          common = (struct commit_list *)((void *)0);
          remotes = (struct commit_list *)((void *)0);
          tmp___59 = git_path_merge_msg(r);
          res = write_message((void const   *)msgbuf___0.buf, msgbuf___0.len, tmp___59,
                              0);
          commit_list_insert(base, & common);
          commit_list_insert(next___2, & remotes);
          tmp___60 = oid_to_hex((struct object_id  const  *)(& head___1));
          tmp___61 = try_merge_command(r, (char const   *)opts___1->strategy, opts___1->xopts_nr,
                                       (char const   **)opts___1->xopts, common, (char const   *)tmp___60,
                                       remotes);
          res |= tmp___61;
          free_commit_list(common);
          free_commit_list(remotes);
        }
      } else {
        goto _L___3;
      }
    } else {
      goto _L___3;
    }
  }
  strbuf_release(& msgbuf___0);
  if ((unsigned int )command___0 == 0U) {
    goto _L___6;
  } else
  if ((unsigned int )command___0 == 3U) {
    goto _L___6;
  } else
  if ((unsigned int )command___0 == 2U) {
    _L___6: /* CIL Label */
    if (! opts___1->no_commit) {
      if (res == 0) {
        goto _L___5;
      } else
      if (res == 1) {
        _L___5: /* CIL Label */
        tmp___66 = update_ref((char const   *)((void *)0), (char const   *)"CHERRY_PICK_HEAD",
                              (struct object_id  const  *)(& commit->object.oid),
                              (struct object_id  const  *)((void *)0), 1U, (enum action_on_err )0);
        if (tmp___66) {
          res = -1;
        }
      }
    }
  }
  if ((unsigned int )command___0 == 1U) {
    if (opts___1->no_commit) {
      if (res == 0) {
        goto _L___7;
      } else {
        goto _L___8;
      }
    } else
    _L___8: /* CIL Label */
    if (res == 1) {
      _L___7: /* CIL Label */
      tmp___67 = update_ref((char const   *)((void *)0), (char const   *)"REVERT_HEAD",
                            (struct object_id  const  *)(& commit->object.oid), (struct object_id  const  *)((void *)0),
                            1U, (enum action_on_err )0);
      if (tmp___67) {
        res = -1;
      }
    }
  }
  if (res) {
    tmp___68 = short_commit_name(commit);
    if ((unsigned int )command___0 == 1U) {
      tmp___69 = _((char const   *)"could not revert %s... %s");
      tmp___71 = tmp___69;
    } else {
      tmp___70 = _((char const   *)"could not apply %s... %s");
      tmp___71 = tmp___70;
    }
    error((char const   *)tmp___71, tmp___68, msg___5.subject);
    const_error();
    print_advice(r, res == 1, opts___1);
    repo_rerere(r, opts___1->allow_rerere_auto);
    goto leave;
  }
  drop_commit = 0;
  allow___0 = allow_empty(r, opts___1, commit);
  if (allow___0 < 0) {
    res = allow___0;
    goto leave;
  } else
  if (allow___0 == 1) {
    flags___0 |= 1U;
  } else
  if (allow___0 == 2) {
    drop_commit = 1;
    tmp___72 = get_main_ref_store(r);
    refs_delete_ref(tmp___72, (char const   *)"", (char const   *)"CHERRY_PICK_HEAD",
                    (struct object_id  const  *)((void *)0), 0U);
    tmp___73 = git_path_merge_msg(r);
    unlink(tmp___73);
    tmp___74 = git_path_auto_merge(r);
    unlink(tmp___74);
    tmp___75 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    tmp___76 = _((char const   *)"dropping %s %s -- patch contents already upstream\n");
    fprintf(stderr, (char const   *)tmp___76, tmp___75, msg___5.subject);
  }
  if (! opts___1->no_commit) {
    if (! drop_commit) {
      if (author) {
        goto _L___9;
      } else
      if ((unsigned int )command___0 == 1U) {
        goto _L___9;
      } else
      if (flags___0 & (unsigned int )(1 << 2)) {
        _L___9: /* CIL Label */
        if (commit) {
          tmp___77 = & commit->object.oid;
        } else {
          tmp___77 = (struct object_id *)((void *)0);
        }
        res = do_commit(r, msg_file, (char const   *)author, opts___1, flags___0,
                        tmp___77);
      } else {
        tmp___78 = _((char const   *)"unable to parse commit author");
        error((char const   *)tmp___78);
        res = const_error();
      }
      *check_todo = ! (! (flags___0 & (unsigned int )(1 << 1)));
      if (! res) {
        if (reword) {
          fast_forward_edit:
          res = run_git_commit((char const   *)((void *)0), opts___1, (unsigned int )(((1 << 1) | (1 << 4)) | (1 << 2)) | (flags___0 & 1U));
          *check_todo = 1;
        }
      }
    }
  }
  if (! res) {
    if (final_fixup) {
      tmp___79 = rebase_path_fixup_msg();
      unlink(tmp___79);
      tmp___80 = rebase_path_squash_msg();
      unlink(tmp___80);
      tmp___81 = rebase_path_current_fixups();
      unlink(tmp___81);
      strbuf_setlen(& opts___1->current_fixups, (size_t )0);
      opts___1->current_fixup_count = 0;
    }
  }
  leave:
  free_message(commit, & msg___5);
  free((void *)author);
  update_abort_safety_file();
  return (res);
}
}
static int prepare_revs(struct replay_opts *opts___1 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if ((unsigned int )opts___1->action == 1U) {
    if (! (opts___1->revs)->no_walk) {
      (opts___1->revs)->reverse ^= 1U;
    }
  }
  tmp___1 = prepare_revision_walk(opts___1->revs);
  if (tmp___1) {
    tmp = _((char const   *)"revision walk setup failed");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  return (0);
}
}
static int read_and_refresh_cache(struct repository *r , struct replay_opts *opts___1 )
{
  struct lock_file index_lock___0 ;
  int index_fd___0 ;
  int tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const   *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  index_lock___0.tempfile = (struct tempfile *)0;
  tmp = repo_hold_locked_index(r, & index_lock___0, 0);
  index_fd___0 = tmp;
  tmp___4 = repo_read_index(r);
  if (tmp___4 < 0) {
    rollback_lock_file(& index_lock___0);
    tmp___0 = action_name((struct replay_opts  const  *)opts___1);
    tmp___1 = _(tmp___0);
    tmp___2 = _((char const   *)"git %s: failed to read the index");
    error((char const   *)tmp___2, tmp___1);
    tmp___3 = const_error();
    return (tmp___3);
  }
  refresh_index(r->index, (unsigned int )((1 << 2) | (1 << 1)), (struct pathspec  const  *)((void *)0),
                (char *)((void *)0), (char const   *)((void *)0));
  if (index_fd___0 >= 0) {
    tmp___9 = write_locked_index(r->index, & index_lock___0, (unsigned int )(1 | (1 << 1)));
    if (tmp___9) {
      tmp___5 = action_name((struct replay_opts  const  *)opts___1);
      tmp___6 = _(tmp___5);
      tmp___7 = _((char const   *)"git %s: failed to refresh the index");
      error((char const   *)tmp___7, tmp___6);
      tmp___8 = const_error();
      return (tmp___8);
    }
  }
  if (opts___1->strategy) {
    tmp___10 = strcmp((char const   *)opts___1->strategy, (char const   *)"ort");
    if (tmp___10) {
      ensure_full_index(r->index);
    }
  }
  return (0);
}
}
void todo_list_release(struct todo_list *todo_list )
{
  int tmp ;

  {
  strbuf_release(& todo_list->buf);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)todo_list->items);
    todo_list->items = (struct todo_item *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = 0;
  todo_list->alloc = tmp;
  todo_list->nr = tmp;
  return;
}
}
static struct todo_item *append_new_todo(struct todo_list *todo_list )
{
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (todo_list->nr + 1 > todo_list->alloc) {
      if (((todo_list->alloc + 16) * 3) / 2 < todo_list->nr + 1) {
        todo_list->alloc = todo_list->nr + 1;
      } else {
        todo_list->alloc = ((todo_list->alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(todo_list->items)), (size_t )todo_list->alloc);
      tmp___0 = xrealloc((void *)todo_list->items, tmp);
      todo_list->items = (struct todo_item *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  (todo_list->total_nr) ++;
  tmp___1 = todo_list->nr;
  (todo_list->nr) ++;
  return (todo_list->items + tmp___1);
}
}
char const   *todo_item_get_arg(struct todo_list *todo_list , struct todo_item *item___0 )
{


  {
  return ((char const   *)(todo_list->buf.buf + item___0->arg_offset));
}
}
static int is_command(enum todo_command command___0 , char const   **bol )
{
  char const   *str ;
  char nick ;
  char const   *p___0 ;
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  str = todo_command_info[command___0].str;
  nick = (char )todo_command_info[command___0].c;
  p___0 = *bol + 1;
  tmp = skip_prefix(*bol, str, bol);
  if (tmp) {
    tmp___1 = 1;
  } else
  if (nick) {
    if ((int const   )*(*bol) == (int const   )nick) {
      if ((int const   )*p___0 == 32) {
        goto _L;
      } else
      if ((int const   )*p___0 == 9) {
        goto _L;
      } else
      if ((int const   )*p___0 == 10) {
        goto _L;
      } else
      if ((int const   )*p___0 == 13) {
        goto _L;
      } else
      if (! *p___0) {
        _L: /* CIL Label */
        tmp___0 = p___0;
        *bol = tmp___0;
        if (tmp___0) {
          tmp___1 = 1;
        } else {
          tmp___1 = 0;
        }
      } else {
        tmp___1 = 0;
      }
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static int parse_insn_line(struct repository *r , struct todo_item *item___0 , char const   *buf___19 ,
                           char const   *bol , char *eol )
{
  struct object_id commit_oid ;
  char *end_of_object_name ;
  int i ;
  int saved ;
  int status ;
  int padding___2 ;
  size_t tmp ;
  int tmp___0 ;
  size_t tmp___1 ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const   *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  size_t tmp___8 ;
  size_t tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  size_t tmp___12 ;
  size_t tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  size_t tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  size_t tmp___18 ;
  int tmp___19 ;

  {
  item___0->flags = 0U;
  tmp = strspn(bol, (char const   *)" \t");
  bol += tmp;
  if ((unsigned long )bol == (unsigned long )eol) {
    item___0->command = (enum todo_command )13;
    item___0->commit = (struct commit *)((void *)0);
    item___0->arg_offset = (size_t )(bol - buf___19);
    item___0->arg_len = (int )(eol - (char *)bol);
    return (0);
  } else
  if ((int const   )*bol == 13) {
    item___0->command = (enum todo_command )13;
    item___0->commit = (struct commit *)((void *)0);
    item___0->arg_offset = (size_t )(bol - buf___19);
    item___0->arg_len = (int )(eol - (char *)bol);
    return (0);
  } else
  if ((int const   )*bol == (int const   )comment_line_char) {
    item___0->command = (enum todo_command )13;
    item___0->commit = (struct commit *)((void *)0);
    item___0->arg_offset = (size_t )(bol - buf___19);
    item___0->arg_len = (int )(eol - (char *)bol);
    return (0);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 13)) {
      goto while_break;
    }
    tmp___0 = is_command((enum todo_command )i, & bol);
    if (tmp___0) {
      item___0->command = (enum todo_command )i;
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (i >= 13) {
    return (-1);
  }
  tmp___1 = strspn(bol, (char const   *)" \t");
  padding___2 = (int )tmp___1;
  bol += padding___2;
  if ((unsigned int )item___0->command == 11U) {
    goto _L;
  } else
  if ((unsigned int )item___0->command == 7U) {
    _L: /* CIL Label */
    if ((unsigned long )bol != (unsigned long )eol) {
      tmp___2 = command_to_string((enum todo_command  const  )item___0->command);
      tmp___3 = _((char const   *)"%s does not accept arguments: \'%s\'");
      error((char const   *)tmp___3, tmp___2, bol);
      tmp___4 = const_error();
      return (tmp___4);
    }
    item___0->commit = (struct commit *)((void *)0);
    item___0->arg_offset = (size_t )(bol - buf___19);
    item___0->arg_len = (int )(eol - (char *)bol);
    return (0);
  }
  if (! padding___2) {
    tmp___5 = command_to_string((enum todo_command  const  )item___0->command);
    tmp___6 = _((char const   *)"missing arguments for %s");
    error((char const   *)tmp___6, tmp___5);
    tmp___7 = const_error();
    return (tmp___7);
  }
  if ((unsigned int )item___0->command == 6U) {
    item___0->commit = (struct commit *)((void *)0);
    item___0->arg_offset = (size_t )(bol - buf___19);
    item___0->arg_len = (int )(eol - (char *)bol);
    return (0);
  } else
  if ((unsigned int )item___0->command == 8U) {
    item___0->commit = (struct commit *)((void *)0);
    item___0->arg_offset = (size_t )(bol - buf___19);
    item___0->arg_len = (int )(eol - (char *)bol);
    return (0);
  } else
  if ((unsigned int )item___0->command == 9U) {
    item___0->commit = (struct commit *)((void *)0);
    item___0->arg_offset = (size_t )(bol - buf___19);
    item___0->arg_len = (int )(eol - (char *)bol);
    return (0);
  }
  if ((unsigned int )item___0->command == 4U) {
    tmp___11 = skip_prefix(bol, (char const   *)"-C", & bol);
    if (tmp___11) {
      if ((int const   )*bol == 32) {
        tmp___8 = strspn(bol, (char const   *)" \t");
        bol += tmp___8;
        item___0->flags |= 2U;
      } else
      if ((int const   )*bol == 9) {
        tmp___8 = strspn(bol, (char const   *)" \t");
        bol += tmp___8;
        item___0->flags |= 2U;
      } else {
        goto _L___0;
      }
    } else {
      _L___0: /* CIL Label */
      tmp___10 = skip_prefix(bol, (char const   *)"-c", & bol);
      if (tmp___10) {
        if ((int const   )*bol == 32) {
          tmp___9 = strspn(bol, (char const   *)" \t");
          bol += tmp___9;
          item___0->flags |= 4U;
        } else
        if ((int const   )*bol == 9) {
          tmp___9 = strspn(bol, (char const   *)" \t");
          bol += tmp___9;
          item___0->flags |= 4U;
        }
      }
    }
  }
  if ((unsigned int )item___0->command == 10U) {
    tmp___15 = skip_prefix(bol, (char const   *)"-C", & bol);
    if (tmp___15) {
      tmp___12 = strspn(bol, (char const   *)" \t");
      bol += tmp___12;
    } else {
      tmp___14 = skip_prefix(bol, (char const   *)"-c", & bol);
      if (tmp___14) {
        tmp___13 = strspn(bol, (char const   *)" \t");
        bol += tmp___13;
        item___0->flags |= 1U;
      } else {
        item___0->flags |= 1U;
        item___0->commit = (struct commit *)((void *)0);
        item___0->arg_offset = (size_t )(bol - buf___19);
        item___0->arg_len = (int )(eol - (char *)bol);
        return (0);
      }
    }
  }
  tmp___16 = strcspn(bol, (char const   *)" \t\n");
  end_of_object_name = (char *)bol + tmp___16;
  saved = (int )*end_of_object_name;
  *end_of_object_name = (char )'\000';
  status = repo_get_oid(the_repository, bol, & commit_oid);
  if (status < 0) {
    tmp___17 = _((char const   *)"could not parse \'%s\'");
    error((char const   *)tmp___17, bol);
    const_error();
  }
  *end_of_object_name = (char )saved;
  tmp___18 = strspn((char const   *)end_of_object_name, (char const   *)" \t");
  bol = (char const   *)(end_of_object_name + tmp___18);
  item___0->arg_offset = (size_t )(bol - buf___19);
  item___0->arg_len = (int )(eol - (char *)bol);
  if (status < 0) {
    return (status);
  }
  item___0->commit = lookup_commit_reference(r, (struct object_id  const  *)(& commit_oid));
  if (item___0->commit) {
    tmp___19 = 0;
  } else {
    tmp___19 = -1;
  }
  return (tmp___19);
}
}
int sequencer_get_last_command(struct repository *r , enum replay_action *action )
{
  char const   *todo_file ;
  char const   *bol ;
  struct strbuf buf___19 ;
  int ret___67 ;
  int tmp ;
  int *tmp___0 ;
  int *tmp___1 ;
  ssize_t tmp___2 ;
  size_t tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  ret___67 = 0;
  todo_file = git_path_todo_file();
  tmp___2 = strbuf_read_file(& buf___19, todo_file, (size_t )0);
  if (tmp___2 < 0L) {
    tmp___0 = __errno_location();
    if (*tmp___0 == 2) {
      return (-1);
    } else {
      tmp___1 = __errno_location();
      if (*tmp___1 == 20) {
        return (-1);
      } else {
        error_errno((char const   *)"unable to open \'%s\'", todo_file);
        tmp = const_error();
        return (tmp);
      }
    }
  }
  tmp___3 = strspn((char const   *)buf___19.buf, (char const   *)" \t\r\n");
  bol = (char const   *)(buf___19.buf + tmp___3);
  tmp___5 = is_command((enum todo_command )0, & bol);
  if (tmp___5) {
    if ((int const   )*bol == 32) {
      *action = (enum replay_action )1;
    } else
    if ((int const   )*bol == 9) {
      *action = (enum replay_action )1;
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp___4 = is_command((enum todo_command )1, & bol);
    if (tmp___4) {
      if ((int const   )*bol == 32) {
        *action = (enum replay_action )0;
      } else
      if ((int const   )*bol == 9) {
        *action = (enum replay_action )0;
      } else {
        ret___67 = -1;
      }
    } else {
      ret___67 = -1;
    }
  }
  strbuf_release(& buf___19);
  return (ret___67);
}
}
int todo_list_parse_insn_buffer(struct repository *r , char *buf___19 , struct todo_list *todo_list )
{
  struct todo_item *item___0 ;
  char *p___0 ;
  char *next_p ;
  int i ;
  int res ;
  int fixup_okay ;
  char const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char *eol ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const   *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  p___0 = buf___19;
  res = 0;
  tmp = rebase_path_done();
  tmp___0 = file_exists(tmp);
  fixup_okay = tmp___0;
  tmp___1 = 0;
  todo_list->nr = tmp___1;
  todo_list->current = tmp___1;
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    tmp___2 = strchrnul((char const   *)p___0, '\n');
    eol = tmp___2;
    if (*eol) {
      next_p = eol + 1;
    } else {
      next_p = eol;
    }
    if ((unsigned long )p___0 != (unsigned long )eol) {
      if ((int )*(eol + -1) == 13) {
        eol --;
      }
    }
    item___0 = append_new_todo(todo_list);
    item___0->offset_in_buf = (size_t )(p___0 - todo_list->buf.buf);
    tmp___4 = parse_insn_line(r, item___0, (char const   *)buf___19, (char const   *)p___0,
                              eol);
    if (tmp___4) {
      tmp___3 = _((char const   *)"invalid line %d: %.*s");
      error((char const   *)tmp___3, i, (int )(eol - p___0), p___0);
      res = const_error();
      item___0->command = (enum todo_command )14;
      item___0->arg_offset = (size_t )(p___0 - buf___19);
      item___0->arg_len = (int )(eol - p___0);
      item___0->commit = (struct commit *)((void *)0);
    }
    if (! fixup_okay) {
      tmp___9 = is_fixup(item___0->command);
      if (tmp___9) {
        tmp___5 = command_to_string((enum todo_command  const  )item___0->command);
        tmp___6 = _((char const   *)"cannot \'%s\' without a previous commit");
        error((char const   *)tmp___6, tmp___5);
        tmp___7 = const_error();
        return (tmp___7);
      } else {
        tmp___8 = is_noop((enum todo_command  const  )item___0->command);
        if (! tmp___8) {
          fixup_okay = 1;
        }
      }
    }
    i ++;
    p___0 = next_p;
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
static int count_commands(struct todo_list *todo_list )
{
  int count___0 ;
  int i ;

  {
  count___0 = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < todo_list->nr)) {
      goto while_break;
    }
    if ((unsigned int )(todo_list->items + i)->command != 13U) {
      count___0 ++;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (count___0);
}
}
static int get_item_line_offset(struct todo_list *todo_list , int index___2 )
{
  size_t tmp ;

  {
  if (index___2 < todo_list->nr) {
    tmp = (todo_list->items + index___2)->offset_in_buf;
  } else {
    tmp = todo_list->buf.len;
  }
  return ((int )tmp);
}
}
static char const   *get_item_line(struct todo_list *todo_list , int index___2 )
{
  int tmp ;

  {
  tmp = get_item_line_offset(todo_list, index___2);
  return ((char const   *)(todo_list->buf.buf + tmp));
}
}
static int get_item_line_length(struct todo_list *todo_list , int index___2 )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = get_item_line_offset(todo_list, index___2 + 1);
  tmp___0 = get_item_line_offset(todo_list, index___2);
  return (tmp - tmp___0);
}
}
static ssize_t strbuf_read_file_or_whine(struct strbuf *sb___6 , char const   *path___6 )
{
  int fd ;
  ssize_t len___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  fd = open(path___6, 00);
  if (fd < 0) {
    tmp = _((char const   *)"could not open \'%s\'");
    error_errno((char const   *)tmp, path___6);
    tmp___0 = const_error();
    return ((ssize_t )tmp___0);
  }
  len___0 = strbuf_read(sb___6, fd, (size_t )0);
  close(fd);
  if (len___0 < 0L) {
    tmp___1 = _((char const   *)"could not read \'%s\'.");
    error((char const   *)tmp___1, path___6);
    tmp___2 = const_error();
    return ((ssize_t )tmp___2);
  }
  return (len___0);
}
}
static int have_finished_the_last_pick(void)
{
  struct strbuf buf___19 ;
  char const   *eol ;
  char const   *todo_path ;
  char const   *tmp ;
  int ret___67 ;
  int *tmp___0 ;
  ssize_t tmp___1 ;
  char *tmp___2 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = git_path_todo_file();
  todo_path = tmp;
  ret___67 = 0;
  tmp___1 = strbuf_read_file(& buf___19, todo_path, (size_t )0);
  if (tmp___1 < 0L) {
    tmp___0 = __errno_location();
    if (*tmp___0 == 2) {
      return (0);
    } else {
      error_errno((char const   *)"unable to open \'%s\'", todo_path);
      const_error();
      return (0);
    }
  }
  tmp___2 = strchr((char const   *)buf___19.buf, '\n');
  eol = (char const   *)tmp___2;
  if (! eol) {
    ret___67 = 1;
  } else
  if (! *(eol + 1)) {
    ret___67 = 1;
  }
  strbuf_release(& buf___19);
  return (ret___67);
}
}
void sequencer_post_commit_cleanup(struct repository *r , int verbose___15 )
{
  struct replay_opts opts___1 ;
  int need_cleanup ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct ref_store *tmp___0 ;
  int tmp___1 ;
  struct ref_store *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  struct ref_store *tmp___5 ;
  int tmp___6 ;
  struct ref_store *tmp___7 ;
  int tmp___8 ;
  char const   *tmp___9 ;
  int tmp___10 ;

  {
  opts___1.action = (enum replay_action )-1;
  opts___1.edit = -1;
  opts___1.record_origin = 0;
  opts___1.no_commit = 0;
  opts___1.signoff = 0;
  opts___1.allow_ff = 0;
  opts___1.allow_rerere_auto = 0;
  opts___1.allow_empty = 0;
  opts___1.allow_empty_message = 0;
  opts___1.drop_redundant_commits = 0;
  opts___1.keep_redundant_commits = 0;
  opts___1.verbose = 0;
  opts___1.quiet = 0;
  opts___1.reschedule_failed_exec = 0;
  opts___1.committer_date_is_author_date = 0;
  opts___1.ignore_date = 0;
  opts___1.mainline = 0;
  opts___1.gpg_sign = (char *)0;
  opts___1.default_msg_cleanup = 0U;
  opts___1.explicit_cleanup = 0;
  opts___1.default_strategy = (char *)0;
  opts___1.strategy = (char *)0;
  opts___1.xopts = (char **)0;
  opts___1.xopts_nr = 0UL;
  opts___1.xopts_alloc = 0UL;
  opts___1.current_fixups.alloc = 0UL;
  opts___1.current_fixups.len = 0UL;
  opts___1.current_fixups.buf = strbuf_slopbuf;
  opts___1.current_fixup_count = 0;
  opts___1.squash_onto.hash[0] = (unsigned char)0;
  opts___1.squash_onto.hash[1] = (unsigned char)0;
  opts___1.squash_onto.hash[2] = (unsigned char)0;
  opts___1.squash_onto.hash[3] = (unsigned char)0;
  opts___1.squash_onto.hash[4] = (unsigned char)0;
  opts___1.squash_onto.hash[5] = (unsigned char)0;
  opts___1.squash_onto.hash[6] = (unsigned char)0;
  opts___1.squash_onto.hash[7] = (unsigned char)0;
  opts___1.squash_onto.hash[8] = (unsigned char)0;
  opts___1.squash_onto.hash[9] = (unsigned char)0;
  opts___1.squash_onto.hash[10] = (unsigned char)0;
  opts___1.squash_onto.hash[11] = (unsigned char)0;
  opts___1.squash_onto.hash[12] = (unsigned char)0;
  opts___1.squash_onto.hash[13] = (unsigned char)0;
  opts___1.squash_onto.hash[14] = (unsigned char)0;
  opts___1.squash_onto.hash[15] = (unsigned char)0;
  opts___1.squash_onto.hash[16] = (unsigned char)0;
  opts___1.squash_onto.hash[17] = (unsigned char)0;
  opts___1.squash_onto.hash[18] = (unsigned char)0;
  opts___1.squash_onto.hash[19] = (unsigned char)0;
  opts___1.squash_onto.hash[20] = (unsigned char)0;
  opts___1.squash_onto.hash[21] = (unsigned char)0;
  opts___1.squash_onto.hash[22] = (unsigned char)0;
  opts___1.squash_onto.hash[23] = (unsigned char)0;
  opts___1.squash_onto.hash[24] = (unsigned char)0;
  opts___1.squash_onto.hash[25] = (unsigned char)0;
  opts___1.squash_onto.hash[26] = (unsigned char)0;
  opts___1.squash_onto.hash[27] = (unsigned char)0;
  opts___1.squash_onto.hash[28] = (unsigned char)0;
  opts___1.squash_onto.hash[29] = (unsigned char)0;
  opts___1.squash_onto.hash[30] = (unsigned char)0;
  opts___1.squash_onto.hash[31] = (unsigned char)0;
  opts___1.squash_onto.algo = 0;
  opts___1.have_squash_onto = 0;
  opts___1.revs = (struct rev_info *)0;
  need_cleanup = 0;
  tmp___2 = get_main_ref_store(r);
  tmp___3 = refs_ref_exists(tmp___2, (char const   *)"CHERRY_PICK_HEAD");
  if (tmp___3) {
    tmp___0 = get_main_ref_store(r);
    tmp___1 = refs_delete_ref(tmp___0, (char const   *)"", (char const   *)"CHERRY_PICK_HEAD",
                              (struct object_id  const  *)((void *)0), 0U);
    if (! tmp___1) {
      if (verbose___15) {
        tmp = _((char const   *)"cancelling a cherry picking in progress");
        warning((char const   *)tmp);
      }
    }
    opts___1.action = (enum replay_action )1;
    need_cleanup = 1;
  }
  tmp___7 = get_main_ref_store(r);
  tmp___8 = refs_ref_exists(tmp___7, (char const   *)"REVERT_HEAD");
  if (tmp___8) {
    tmp___5 = get_main_ref_store(r);
    tmp___6 = refs_delete_ref(tmp___5, (char const   *)"", (char const   *)"REVERT_HEAD",
                              (struct object_id  const  *)((void *)0), 0U);
    if (! tmp___6) {
      if (verbose___15) {
        tmp___4 = _((char const   *)"cancelling a revert in progress");
        warning((char const   *)tmp___4);
      }
    }
    opts___1.action = (enum replay_action )0;
    need_cleanup = 1;
  }
  tmp___9 = git_path_auto_merge(r);
  unlink(tmp___9);
  if (! need_cleanup) {
    return;
  }
  tmp___10 = have_finished_the_last_pick();
  if (! tmp___10) {
    return;
  }
  sequencer_remove_state(& opts___1);
  return;
}
}
static void todo_list_write_total_nr(struct todo_list *todo_list )
{
  FILE *f ;
  char const   *tmp ;
  FILE *tmp___0 ;

  {
  tmp = rebase_path_msgtotal();
  tmp___0 = fopen_or_warn(tmp, (char const   *)"w");
  f = tmp___0;
  if (f) {
    fprintf(f, (char const   *)"%d\n", todo_list->total_nr);
    fclose(f);
  }
  return;
}
}
static int read_populate_todo(struct repository *r , struct todo_list *todo_list ,
                              struct replay_opts *opts___1 )
{
  char const   *todo_file ;
  char const   *tmp ;
  int res ;
  ssize_t tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const   *tmp___9 ;
  int tmp___10 ;
  enum todo_command valid ;
  int tmp___11 ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  struct todo_list done___0 ;
  char const   *tmp___17 ;
  ssize_t tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;

  {
  tmp = get_todo_path((struct replay_opts  const  *)opts___1);
  todo_file = tmp;
  strbuf_setlen(& todo_list->buf, (size_t )0);
  tmp___0 = strbuf_read_file_or_whine(& todo_list->buf, todo_file);
  if (tmp___0 < 0L) {
    return (-1);
  }
  res = todo_list_parse_insn_buffer(r, todo_list->buf.buf, todo_list);
  if (res) {
    tmp___3 = is_rebase_i((struct replay_opts  const  *)opts___1);
    if (tmp___3) {
      tmp___1 = _((char const   *)"please fix this using \'git rebase --edit-todo\'.");
      error((char const   *)tmp___1);
      tmp___2 = const_error();
      return (tmp___2);
    }
    tmp___4 = _((char const   *)"unusable instruction sheet: \'%s\'");
    error((char const   *)tmp___4, todo_file);
    tmp___5 = const_error();
    return (tmp___5);
  }
  if (! todo_list->nr) {
    tmp___8 = is_rebase_i((struct replay_opts  const  *)opts___1);
    if (tmp___8) {
      tmp___9 = rebase_path_done();
      tmp___10 = file_exists(tmp___9);
      if (! tmp___10) {
        tmp___6 = _((char const   *)"no commits parsed.");
        error((char const   *)tmp___6);
        tmp___7 = const_error();
        return (tmp___7);
      }
    } else {
      tmp___6 = _((char const   *)"no commits parsed.");
      error((char const   *)tmp___6);
      tmp___7 = const_error();
      return (tmp___7);
    }
  }
  tmp___16 = is_rebase_i((struct replay_opts  const  *)opts___1);
  if (! tmp___16) {
    if ((unsigned int )opts___1->action == 1U) {
      tmp___11 = 0;
    } else {
      tmp___11 = 1;
    }
    valid = (enum todo_command )tmp___11;
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < todo_list->nr)) {
        goto while_break;
      }
      if (! ((unsigned int )valid == (unsigned int )(todo_list->items + i)->command)) {
        if ((unsigned int )valid == 0U) {
          tmp___12 = _((char const   *)"cannot cherry-pick during a revert.");
          error((char const   *)tmp___12);
          tmp___13 = const_error();
          return (tmp___13);
        } else {
          tmp___14 = _((char const   *)"cannot revert during a cherry-pick.");
          error((char const   *)tmp___14);
          tmp___15 = const_error();
          return (tmp___15);
        }
      }
      __Cont: /* CIL Label */
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  tmp___21 = is_rebase_i((struct replay_opts  const  *)opts___1);
  if (tmp___21) {
    done___0.buf.alloc = 0UL;
    done___0.buf.len = 0UL;
    done___0.buf.buf = strbuf_slopbuf;
    done___0.items = (struct todo_item *)0;
    done___0.nr = 0;
    done___0.alloc = 0;
    done___0.current = 0;
    done___0.done_nr = 0;
    done___0.total_nr = 0;
    tmp___17 = rebase_path_done();
    tmp___18 = strbuf_read_file(& done___0.buf, tmp___17, (size_t )0);
    if (tmp___18 > 0L) {
      tmp___19 = todo_list_parse_insn_buffer(r, done___0.buf.buf, & done___0);
      if (tmp___19) {
        todo_list->done_nr = 0;
      } else {
        todo_list->done_nr = count_commands(& done___0);
      }
    } else {
      todo_list->done_nr = 0;
    }
    tmp___20 = count_commands(todo_list);
    todo_list->total_nr = todo_list->done_nr + tmp___20;
    todo_list_release(& done___0);
    todo_list_write_total_nr(todo_list);
  }
  return (0);
}
}
static int git_config_string_dup(char **dest , char const   *var , char const   *value )
{
  int tmp ;

  {
  if (! value) {
    config_error_nonbool(var);
    tmp = const_error();
    return (tmp);
  }
  free((void *)*dest);
  *dest = xstrdup(value);
  return (0);
}
}
static int populate_opts_cb(char const   *key___1 , char const   *value , void *data )
{
  struct replay_opts *opts___1 ;
  int error_flag ;
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  int tmp___21 ;

  {
  opts___1 = (struct replay_opts *)data;
  error_flag = 1;
  if (! value) {
    error_flag = 0;
  } else {
    tmp___19 = strcmp(key___1, (char const   *)"options.no-commit");
    if (tmp___19) {
      tmp___18 = strcmp(key___1, (char const   *)"options.edit");
      if (tmp___18) {
        tmp___17 = strcmp(key___1, (char const   *)"options.allow-empty");
        if (tmp___17) {
          tmp___16 = strcmp(key___1, (char const   *)"options.allow-empty-message");
          if (tmp___16) {
            tmp___15 = strcmp(key___1, (char const   *)"options.keep-redundant-commits");
            if (tmp___15) {
              tmp___14 = strcmp(key___1, (char const   *)"options.signoff");
              if (tmp___14) {
                tmp___13 = strcmp(key___1, (char const   *)"options.record-origin");
                if (tmp___13) {
                  tmp___12 = strcmp(key___1, (char const   *)"options.allow-ff");
                  if (tmp___12) {
                    tmp___11 = strcmp(key___1, (char const   *)"options.mainline");
                    if (tmp___11) {
                      tmp___10 = strcmp(key___1, (char const   *)"options.strategy");
                      if (tmp___10) {
                        tmp___9 = strcmp(key___1, (char const   *)"options.gpg-sign");
                        if (tmp___9) {
                          tmp___8 = strcmp(key___1, (char const   *)"options.strategy-option");
                          if (tmp___8) {
                            tmp___7 = strcmp(key___1, (char const   *)"options.allow-rerere-auto");
                            if (tmp___7) {
                              tmp___6 = strcmp(key___1, (char const   *)"options.default-msg-cleanup");
                              if (tmp___6) {
                                tmp___4 = _((char const   *)"invalid key: %s");
                                error((char const   *)tmp___4, key___1);
                                tmp___5 = const_error();
                                return (tmp___5);
                              } else {
                                opts___1->explicit_cleanup = 1;
                                opts___1->default_msg_cleanup = get_cleanup_mode(value,
                                                                                 1);
                              }
                            } else {
                              tmp___3 = git_config_bool_or_int(key___1, value, & error_flag);
                              if (tmp___3) {
                                opts___1->allow_rerere_auto = 01;
                              } else {
                                opts___1->allow_rerere_auto = 02;
                              }
                            }
                          } else {
                            {
                            while (1) {
                              while_continue: /* CIL Label */ ;
                              if (opts___1->xopts_nr + 1UL > opts___1->xopts_alloc) {
                                if (((opts___1->xopts_alloc + 16UL) * 3UL) / 2UL < opts___1->xopts_nr + 1UL) {
                                  opts___1->xopts_alloc = opts___1->xopts_nr + 1UL;
                                } else {
                                  opts___1->xopts_alloc = ((opts___1->xopts_alloc + 16UL) * 3UL) / 2UL;
                                }
                                tmp = st_mult(sizeof(*(opts___1->xopts)), opts___1->xopts_alloc);
                                tmp___0 = xrealloc((void *)opts___1->xopts, tmp);
                                opts___1->xopts = (char **)tmp___0;
                              }
                              goto while_break;
                            }
                            while_break: /* CIL Label */ ;
                            }
                            tmp___1 = opts___1->xopts_nr;
                            (opts___1->xopts_nr) ++;
                            *(opts___1->xopts + tmp___1) = xstrdup(value);
                          }
                        } else {
                          git_config_string_dup(& opts___1->gpg_sign, key___1, value);
                        }
                      } else {
                        git_config_string_dup(& opts___1->strategy, key___1, value);
                      }
                    } else {
                      opts___1->mainline = git_config_int(key___1, value);
                    }
                  } else {
                    opts___1->allow_ff = git_config_bool_or_int(key___1, value, & error_flag);
                  }
                } else {
                  opts___1->record_origin = git_config_bool_or_int(key___1, value,
                                                                   & error_flag);
                }
              } else {
                opts___1->signoff = git_config_bool_or_int(key___1, value, & error_flag);
              }
            } else {
              opts___1->keep_redundant_commits = git_config_bool_or_int(key___1, value,
                                                                        & error_flag);
            }
          } else {
            opts___1->allow_empty_message = git_config_bool_or_int(key___1, value,
                                                                   & error_flag);
          }
        } else {
          opts___1->allow_empty = git_config_bool_or_int(key___1, value, & error_flag);
        }
      } else {
        opts___1->edit = git_config_bool_or_int(key___1, value, & error_flag);
      }
    } else {
      opts___1->no_commit = git_config_bool_or_int(key___1, value, & error_flag);
    }
  }
  if (! error_flag) {
    tmp___20 = _((char const   *)"invalid value for %s: %s");
    error((char const   *)tmp___20, key___1, value);
    tmp___21 = const_error();
    return (tmp___21);
  }
  return (0);
}
}
void parse_strategy_opts(struct replay_opts *opts___1 , char *raw_opts )
{
  int i ;
  char *strategy_opts_string ;
  int tmp ;
  char const   *arg ;

  {
  strategy_opts_string = raw_opts;
  if ((int )*strategy_opts_string == 32) {
    strategy_opts_string ++;
  }
  tmp = split_cmdline(strategy_opts_string, (char const   ***)(& opts___1->xopts));
  opts___1->xopts_nr = (size_t )tmp;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < opts___1->xopts_nr)) {
      goto while_break;
    }
    arg = (char const   *)*(opts___1->xopts + i);
    skip_prefix(arg, (char const   *)"--", & arg);
    *(opts___1->xopts + i) = xstrdup(arg);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void read_strategy_opts(struct replay_opts *opts___1 , struct strbuf *buf___19 )
{
  char const   *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;

  {
  strbuf_setlen(buf___19, (size_t )0);
  tmp = rebase_path_strategy();
  tmp___0 = read_oneliner(buf___19, tmp, 0U);
  if (! tmp___0) {
    return;
  }
  opts___1->strategy = strbuf_detach(buf___19, (size_t *)((void *)0));
  tmp___1 = rebase_path_strategy_opts();
  tmp___2 = read_oneliner(buf___19, tmp___1, 0U);
  if (! tmp___2) {
    return;
  }
  parse_strategy_opts(opts___1, buf___19->buf);
  return;
}
}
static int read_populate_opts(struct replay_opts *opts___1 )
{
  struct strbuf buf___19 ;
  int ret___67 ;
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  char const   *tmp___6 ;
  int tmp___7 ;
  char const   *tmp___8 ;
  int tmp___9 ;
  char const   *tmp___10 ;
  int tmp___11 ;
  char const   *tmp___12 ;
  int tmp___13 ;
  char const   *tmp___14 ;
  int tmp___15 ;
  char const   *tmp___16 ;
  int tmp___17 ;
  char const   *tmp___18 ;
  int tmp___19 ;
  char const   *tmp___20 ;
  int tmp___21 ;
  char const   *tmp___22 ;
  int tmp___23 ;
  char const   *p___0 ;
  char *tmp___24 ;
  char const   *tmp___25 ;
  int tmp___26 ;
  char const __attribute__((__format_arg__(1)))  *tmp___27 ;
  int tmp___28 ;
  char const   *tmp___29 ;
  int tmp___30 ;
  int tmp___31 ;
  char const   *tmp___32 ;
  int tmp___33 ;
  char const   *tmp___34 ;
  char const __attribute__((__format_arg__(1)))  *tmp___35 ;
  int tmp___36 ;
  char const   *tmp___37 ;
  int tmp___38 ;

  {
  tmp___31 = is_rebase_i((struct replay_opts  const  *)opts___1);
  if (tmp___31) {
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    ret___67 = 0;
    tmp___0 = rebase_path_gpg_sign_opt();
    tmp___1 = read_oneliner(& buf___19, tmp___0, 1U);
    if (tmp___1) {
      tmp = starts_with((char const   *)buf___19.buf, (char const   *)"-S");
      if (tmp) {
        free((void *)opts___1->gpg_sign);
        opts___1->gpg_sign = xstrdup((char const   *)(buf___19.buf + 2));
      } else {
        strbuf_setlen(& buf___19, (size_t )0);
      }
      strbuf_setlen(& buf___19, (size_t )0);
    }
    tmp___4 = rebase_path_allow_rerere_autoupdate();
    tmp___5 = read_oneliner(& buf___19, tmp___4, 1U);
    if (tmp___5) {
      tmp___3 = strcmp((char const   *)buf___19.buf, (char const   *)"--rerere-autoupdate");
      if (tmp___3) {
        tmp___2 = strcmp((char const   *)buf___19.buf, (char const   *)"--no-rerere-autoupdate");
        if (! tmp___2) {
          opts___1->allow_rerere_auto = 02;
        }
      } else {
        opts___1->allow_rerere_auto = 01;
      }
      strbuf_setlen(& buf___19, (size_t )0);
    }
    tmp___6 = rebase_path_verbose();
    tmp___7 = file_exists(tmp___6);
    if (tmp___7) {
      opts___1->verbose = 1;
    }
    tmp___8 = rebase_path_quiet();
    tmp___9 = file_exists(tmp___8);
    if (tmp___9) {
      opts___1->quiet = 1;
    }
    tmp___10 = rebase_path_signoff();
    tmp___11 = file_exists(tmp___10);
    if (tmp___11) {
      opts___1->allow_ff = 0;
      opts___1->signoff = 1;
    }
    tmp___12 = rebase_path_cdate_is_adate();
    tmp___13 = file_exists(tmp___12);
    if (tmp___13) {
      opts___1->allow_ff = 0;
      opts___1->committer_date_is_author_date = 1;
    }
    tmp___14 = rebase_path_ignore_date();
    tmp___15 = file_exists(tmp___14);
    if (tmp___15) {
      opts___1->allow_ff = 0;
      opts___1->ignore_date = 1;
    }
    tmp___18 = rebase_path_reschedule_failed_exec();
    tmp___19 = file_exists(tmp___18);
    if (tmp___19) {
      opts___1->reschedule_failed_exec = 1;
    } else {
      tmp___16 = rebase_path_no_reschedule_failed_exec();
      tmp___17 = file_exists(tmp___16);
      if (tmp___17) {
        opts___1->reschedule_failed_exec = 0;
      }
    }
    tmp___20 = rebase_path_drop_redundant_commits();
    tmp___21 = file_exists(tmp___20);
    if (tmp___21) {
      opts___1->drop_redundant_commits = 1;
    }
    tmp___22 = rebase_path_keep_redundant_commits();
    tmp___23 = file_exists(tmp___22);
    if (tmp___23) {
      opts___1->keep_redundant_commits = 1;
    }
    read_strategy_opts(opts___1, & buf___19);
    strbuf_setlen(& buf___19, (size_t )0);
    tmp___25 = rebase_path_current_fixups();
    tmp___26 = read_oneliner(& opts___1->current_fixups, tmp___25, 1U);
    if (tmp___26) {
      p___0 = (char const   *)opts___1->current_fixups.buf;
      opts___1->current_fixup_count = 1;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        tmp___24 = strchr(p___0, '\n');
        p___0 = (char const   *)tmp___24;
        if (! p___0) {
          goto while_break;
        }
        (opts___1->current_fixup_count) ++;
        p___0 ++;
      }
      while_break: /* CIL Label */ ;
      }
    }
    tmp___29 = rebase_path_squash_onto();
    tmp___30 = read_oneliner(& buf___19, tmp___29, 0U);
    if (tmp___30) {
      tmp___28 = repo_get_oid_committish(the_repository, (char const   *)buf___19.buf,
                                         & opts___1->squash_onto);
      if (tmp___28 < 0) {
        tmp___27 = _((char const   *)"unusable squash-onto");
        error((char const   *)tmp___27);
        ret___67 = const_error();
        goto done_rebase_i;
      }
      opts___1->have_squash_onto = 1;
    }
    done_rebase_i:
    strbuf_release(& buf___19);
    return (ret___67);
  }
  tmp___32 = git_path_opts_file();
  tmp___33 = file_exists(tmp___32);
  if (! tmp___33) {
    return (0);
  }
  tmp___37 = git_path_opts_file();
  tmp___38 = git_config_from_file(& populate_opts_cb, tmp___37, (void *)opts___1);
  if (tmp___38 < 0) {
    tmp___34 = git_path_opts_file();
    tmp___35 = _((char const   *)"malformed options sheet: \'%s\'");
    error((char const   *)tmp___35, tmp___34);
    tmp___36 = const_error();
    return (tmp___36);
  }
  return (0);
}
}
static void write_strategy_opts(struct replay_opts *opts___1 )
{
  int i ;
  struct strbuf buf___19 ;
  char const   *tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < opts___1->xopts_nr)) {
      goto while_break;
    }
    strbuf_addf(& buf___19, (char const   *)" --%s", *(opts___1->xopts + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = rebase_path_strategy_opts();
  write_file(tmp, (char const   *)"%s\n", buf___19.buf);
  strbuf_release(& buf___19);
  return;
}
}
int write_basic_state(struct replay_opts *opts___1 , char const   *head_name___0 ,
                      struct commit *onto , struct object_id  const  *orig_head )
{
  char const   *tmp ;
  char *tmp___0 ;
  char const   *tmp___1 ;
  char *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  char const   *tmp___5 ;
  char const   *tmp___6 ;
  char const   *tmp___7 ;
  char const   *tmp___8 ;
  char const   *tmp___9 ;
  char const   *tmp___10 ;
  char const   *tmp___11 ;
  char const   *tmp___12 ;
  char const   *tmp___13 ;
  char const   *tmp___14 ;
  char const   *tmp___15 ;
  char const   *tmp___16 ;

  {
  if (head_name___0) {
    tmp = rebase_path_head_name();
    write_file(tmp, (char const   *)"%s\n", head_name___0);
  }
  if (onto) {
    tmp___0 = oid_to_hex((struct object_id  const  *)(& onto->object.oid));
    tmp___1 = rebase_path_onto();
    write_file(tmp___1, (char const   *)"%s\n", tmp___0);
  }
  if (orig_head) {
    tmp___2 = oid_to_hex(orig_head);
    tmp___3 = rebase_path_orig_head();
    write_file(tmp___3, (char const   *)"%s\n", tmp___2);
  }
  if (opts___1->quiet) {
    tmp___4 = rebase_path_quiet();
    write_file(tmp___4, (char const   *)"%s", "");
  }
  if (opts___1->verbose) {
    tmp___5 = rebase_path_verbose();
    write_file(tmp___5, (char const   *)"%s", "");
  }
  if (opts___1->strategy) {
    tmp___6 = rebase_path_strategy();
    write_file(tmp___6, (char const   *)"%s\n", opts___1->strategy);
  }
  if (opts___1->xopts_nr > 0UL) {
    write_strategy_opts(opts___1);
  }
  if (opts___1->allow_rerere_auto == 01) {
    tmp___7 = rebase_path_allow_rerere_autoupdate();
    write_file(tmp___7, (char const   *)"--rerere-autoupdate\n");
  } else
  if (opts___1->allow_rerere_auto == 02) {
    tmp___8 = rebase_path_allow_rerere_autoupdate();
    write_file(tmp___8, (char const   *)"--no-rerere-autoupdate\n");
  }
  if (opts___1->gpg_sign) {
    tmp___9 = rebase_path_gpg_sign_opt();
    write_file(tmp___9, (char const   *)"-S%s\n", opts___1->gpg_sign);
  }
  if (opts___1->signoff) {
    tmp___10 = rebase_path_signoff();
    write_file(tmp___10, (char const   *)"--signoff\n");
  }
  if (opts___1->drop_redundant_commits) {
    tmp___11 = rebase_path_drop_redundant_commits();
    write_file(tmp___11, (char const   *)"%s", "");
  }
  if (opts___1->keep_redundant_commits) {
    tmp___12 = rebase_path_keep_redundant_commits();
    write_file(tmp___12, (char const   *)"%s", "");
  }
  if (opts___1->committer_date_is_author_date) {
    tmp___13 = rebase_path_cdate_is_adate();
    write_file(tmp___13, (char const   *)"%s", "");
  }
  if (opts___1->ignore_date) {
    tmp___14 = rebase_path_ignore_date();
    write_file(tmp___14, (char const   *)"%s", "");
  }
  if (opts___1->reschedule_failed_exec) {
    tmp___15 = rebase_path_reschedule_failed_exec();
    write_file(tmp___15, (char const   *)"%s", "");
  } else {
    tmp___16 = rebase_path_no_reschedule_failed_exec();
    write_file(tmp___16, (char const   *)"%s", "");
  }
  return (0);
}
}
static int walk_revs_populate_todo(struct todo_list *todo_list , struct replay_opts *opts___1 )
{
  enum todo_command command___0 ;
  int tmp ;
  char const   *command_string ;
  char const   *encoding ;
  struct commit *commit ;
  int tmp___0 ;
  struct todo_item *item___0 ;
  struct todo_item *tmp___1 ;
  char const   *commit_buffer ;
  char const   *tmp___2 ;
  char const   *subject ;
  int subject_len ;
  char const   *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;

  {
  if ((unsigned int )opts___1->action == 1U) {
    tmp = 0;
  } else {
    tmp = 1;
  }
  command___0 = (enum todo_command )tmp;
  command_string = todo_command_info[command___0].str;
  tmp___0 = prepare_revs(opts___1);
  if (tmp___0) {
    return (-1);
  }
  encoding = get_log_output_encoding();
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    commit = get_revision(opts___1->revs);
    if (! commit) {
      goto while_break;
    }
    tmp___1 = append_new_todo(todo_list);
    item___0 = tmp___1;
    tmp___2 = repo_logmsg_reencode(the_repository, (struct commit  const  *)commit,
                                   (char **)((void *)0), encoding);
    commit_buffer = tmp___2;
    item___0->command = command___0;
    item___0->commit = commit;
    item___0->arg_offset = (size_t )0;
    item___0->arg_len = 0;
    item___0->offset_in_buf = todo_list->buf.len;
    subject_len = find_commit_subject(commit_buffer, & subject);
    tmp___3 = short_commit_name(commit);
    strbuf_addf(& todo_list->buf, (char const   *)"%s %s %.*s\n", command_string,
                tmp___3, subject_len, subject);
    repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit, (void const   *)commit_buffer);
  }
  while_break: /* CIL Label */ ;
  }
  if (! todo_list->nr) {
    tmp___4 = _((char const   *)"empty commit set passed");
    error((char const   *)tmp___4);
    tmp___5 = const_error();
    return (tmp___5);
  }
  return (0);
}
}
static int create_seq_dir(struct repository *r )
{
  enum replay_action action ;
  char const   *in_progress_error ;
  char const   *in_progress_advice ;
  unsigned int advise_skip ;
  struct ref_store *tmp ;
  int tmp___0 ;
  struct ref_store *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char *tmp___9 ;
  int tmp___10 ;
  char const   *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  char const   *tmp___14 ;
  int tmp___15 ;

  {
  in_progress_error = (char const   *)((void *)0);
  in_progress_advice = (char const   *)((void *)0);
  tmp = get_main_ref_store(r);
  tmp___0 = refs_ref_exists(tmp, (char const   *)"REVERT_HEAD");
  if (tmp___0) {
    tmp___3 = 1;
  } else {
    tmp___1 = get_main_ref_store(r);
    tmp___2 = refs_ref_exists(tmp___1, (char const   *)"CHERRY_PICK_HEAD");
    if (tmp___2) {
      tmp___3 = 1;
    } else {
      tmp___3 = 0;
    }
  }
  advise_skip = (unsigned int )tmp___3;
  tmp___8 = sequencer_get_last_command(r, & action);
  if (! tmp___8) {
    {
    if ((unsigned int )action == 0U) {
      goto case_0;
    }
    if ((unsigned int )action == 1U) {
      goto case_1;
    }
    goto switch_default;
    case_0: /* CIL Label */
    tmp___4 = _((char const   *)"revert is already in progress");
    in_progress_error = (char const   *)tmp___4;
    tmp___5 = _((char const   *)"try \"git revert (--continue | %s--abort | --quit)\"");
    in_progress_advice = (char const   *)tmp___5;
    goto switch_break;
    case_1: /* CIL Label */
    tmp___6 = _((char const   *)"cherry-pick is already in progress");
    in_progress_error = (char const   *)tmp___6;
    tmp___7 = _((char const   *)"try \"git cherry-pick (--continue | %s--abort | --quit)\"");
    in_progress_advice = (char const   *)tmp___7;
    goto switch_break;
    switch_default: /* CIL Label */
    BUG_fl((char const   *)"sequencer.c", 3060, (char const   *)"unexpected action in create_seq_dir");
    switch_break: /* CIL Label */ ;
    }
  }
  if (in_progress_error) {
    error((char const   *)"%s", in_progress_error);
    const_error();
    tmp___10 = advice_enabled((enum advice_type )25);
    if (tmp___10) {
      if (advise_skip) {
        tmp___9 = "--skip | ";
      } else {
        tmp___9 = "";
      }
      advise(in_progress_advice, tmp___9);
    }
    return (-1);
  }
  tmp___14 = git_path_seq_dir();
  tmp___15 = mkdir(tmp___14, (__mode_t )0777);
  if (tmp___15 < 0) {
    tmp___11 = git_path_seq_dir();
    tmp___12 = _((char const   *)"could not create sequencer directory \'%s\'");
    error_errno((char const   *)tmp___12, tmp___11);
    tmp___13 = const_error();
    return (tmp___13);
  }
  return (0);
}
}
static int save_head(char const   *head___1 )
{
  struct lock_file head_lock ;
  struct strbuf buf___19 ;
  int fd ;
  ssize_t written___0 ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const   *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  head_lock.tempfile = (struct tempfile *)0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = git_path_head_file();
  fd = hold_lock_file_for_update(& head_lock, tmp, 0);
  if (fd < 0) {
    tmp___0 = _((char const   *)"could not lock HEAD");
    error_errno((char const   *)tmp___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  strbuf_addf(& buf___19, (char const   *)"%s\n", head___1);
  written___0 = write_in_full(fd, (void const   *)buf___19.buf, buf___19.len);
  strbuf_release(& buf___19);
  if (written___0 < 0L) {
    tmp___2 = git_path_head_file();
    tmp___3 = _((char const   *)"could not write to \'%s\'");
    error_errno((char const   *)tmp___3, tmp___2);
    const_error();
    rollback_lock_file(& head_lock);
    return (-1);
  }
  tmp___7 = commit_lock_file(& head_lock);
  if (tmp___7 < 0) {
    tmp___4 = git_path_head_file();
    tmp___5 = _((char const   *)"failed to finalize \'%s\'");
    error((char const   *)tmp___5, tmp___4);
    tmp___6 = const_error();
    return (tmp___6);
  }
  return (0);
}
}
static int rollback_is_safe(void)
{
  struct strbuf sb___6 ;
  struct object_id expected_head ;
  struct object_id actual_head ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int *tmp___4 ;
  char const   *tmp___5 ;
  ssize_t tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp___5 = git_path_abort_safety_file();
  tmp___6 = strbuf_read_file(& sb___6, tmp___5, (size_t )0);
  if (tmp___6 >= 0L) {
    strbuf_trim(& sb___6);
    tmp___1 = get_oid_hex((char const   *)sb___6.buf, & expected_head);
    if (tmp___1) {
      strbuf_release(& sb___6);
      tmp = git_path_abort_safety_file();
      tmp___0 = _((char const   *)"could not parse %s");
      die((char const   *)tmp___0, tmp);
    }
    strbuf_release(& sb___6);
  } else {
    tmp___4 = __errno_location();
    if (*tmp___4 == 2) {
      oidclr(& expected_head);
    } else {
      tmp___2 = git_path_abort_safety_file();
      tmp___3 = _((char const   *)"could not read \'%s\'");
      die_errno((char const   *)tmp___3, tmp___2);
    }
  }
  tmp___7 = repo_get_oid(the_repository, (char const   *)"HEAD", & actual_head);
  if (tmp___7) {
    oidclr(& actual_head);
  }
  tmp___8 = oideq((struct object_id  const  *)(& actual_head), (struct object_id  const  *)(& expected_head));
  return (tmp___8);
}
}
static int reset_merge(struct object_id  const  *oid )
{
  int ret___67 ;
  struct strvec argv___0 ;
  char *tmp ;
  int tmp___0 ;

  {
  argv___0.v = empty_strvec;
  argv___0.nr = 0UL;
  argv___0.alloc = 0UL;
  strvec_pushl(& argv___0, "reset", "--merge", (void *)0);
  tmp___0 = is_null_oid(oid);
  if (! tmp___0) {
    tmp = oid_to_hex(oid);
    strvec_push(& argv___0, (char const   *)tmp);
  }
  ret___67 = run_command_v_opt(argv___0.v, 1 << 1);
  strvec_clear(& argv___0);
  return (ret___67);
}
}
static int rollback_single_pick(struct repository *r )
{
  struct object_id head_oid___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  struct ref_store *tmp___1 ;
  int tmp___2 ;
  struct ref_store *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;

  {
  tmp___1 = get_main_ref_store(r);
  tmp___2 = refs_ref_exists(tmp___1, (char const   *)"CHERRY_PICK_HEAD");
  if (! tmp___2) {
    tmp___3 = get_main_ref_store(r);
    tmp___4 = refs_ref_exists(tmp___3, (char const   *)"REVERT_HEAD");
    if (! tmp___4) {
      tmp = _((char const   *)"no cherry-pick or revert in progress");
      error((char const   *)tmp);
      tmp___0 = const_error();
      return (tmp___0);
    }
  }
  tmp___7 = read_ref_full((char const   *)"HEAD", 0, & head_oid___1, (int *)((void *)0));
  if (tmp___7) {
    tmp___5 = _((char const   *)"cannot resolve HEAD");
    error((char const   *)tmp___5);
    tmp___6 = const_error();
    return (tmp___6);
  }
  tmp___10 = is_null_oid((struct object_id  const  *)(& head_oid___1));
  if (tmp___10) {
    tmp___8 = _((char const   *)"cannot abort from a branch yet to be born");
    error((char const   *)tmp___8);
    tmp___9 = const_error();
    return (tmp___9);
  }
  tmp___11 = reset_merge((struct object_id  const  *)(& head_oid___1));
  return (tmp___11);
}
}
static int skip_single_pick(void)
{
  struct object_id head___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___1 = read_ref_full((char const   *)"HEAD", 0, & head___1, (int *)((void *)0));
  if (tmp___1) {
    tmp = _((char const   *)"cannot resolve HEAD");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  tmp___2 = reset_merge((struct object_id  const  *)(& head___1));
  return (tmp___2);
}
}
int sequencer_rollback(struct repository *r , struct replay_opts *opts___1 )
{
  FILE *f ;
  struct object_id oid ;
  struct strbuf buf___19 ;
  char const   *p___0 ;
  char const   *tmp ;
  int tmp___0 ;
  int *tmp___1 ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int *tmp___6 ;
  char *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  char const   *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  char const   *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  int tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = git_path_head_file();
  f = git_fopen(tmp, (char const   *)"r");
  if (! f) {
    tmp___1 = __errno_location();
    if (*tmp___1 == 2) {
      tmp___0 = rollback_single_pick(r);
      return (tmp___0);
    }
  }
  if (! f) {
    tmp___2 = git_path_head_file();
    tmp___3 = _((char const   *)"cannot open \'%s\'");
    error_errno((char const   *)tmp___3, tmp___2);
    tmp___4 = const_error();
    return (tmp___4);
  }
  tmp___13 = strbuf_getline_lf(& buf___19, f);
  if (tmp___13) {
    tmp___10 = ferror(f);
    if (tmp___10) {
      tmp___6 = __errno_location();
      tmp___7 = strerror(*tmp___6);
      tmp___9 = (char const __attribute__((__format_arg__(1)))  *)tmp___7;
    } else {
      tmp___8 = _((char const   *)"unexpected end of file");
      tmp___9 = tmp___8;
    }
    tmp___11 = git_path_head_file();
    tmp___12 = _((char const   *)"cannot read \'%s\': %s");
    error((char const   *)tmp___12, tmp___11, tmp___9);
    const_error();
    fclose(f);
    goto fail;
  }
  fclose(f);
  tmp___16 = parse_oid_hex((char const   *)buf___19.buf, & oid, & p___0);
  if (tmp___16) {
    tmp___14 = git_path_head_file();
    tmp___15 = _((char const   *)"stored pre-cherry-pick HEAD file \'%s\' is corrupt");
    error((char const   *)tmp___15, tmp___14);
    const_error();
    goto fail;
  } else
  if ((int const   )*p___0 != 0) {
    tmp___14 = git_path_head_file();
    tmp___15 = _((char const   *)"stored pre-cherry-pick HEAD file \'%s\' is corrupt");
    error((char const   *)tmp___15, tmp___14);
    const_error();
    goto fail;
  }
  tmp___18 = is_null_oid((struct object_id  const  *)(& oid));
  if (tmp___18) {
    tmp___17 = _((char const   *)"cannot abort from a branch yet to be born");
    error((char const   *)tmp___17);
    const_error();
    goto fail;
  }
  tmp___21 = rollback_is_safe();
  if (tmp___21) {
    tmp___20 = reset_merge((struct object_id  const  *)(& oid));
    if (tmp___20) {
      goto fail;
    }
  } else {
    tmp___19 = _((char const   *)"You seem to have moved HEAD. Not rewinding, check your HEAD!");
    warning((char const   *)tmp___19);
  }
  strbuf_release(& buf___19);
  tmp___22 = sequencer_remove_state(opts___1);
  return (tmp___22);
  fail:
  strbuf_release(& buf___19);
  return (-1);
}
}
int sequencer_skip(struct repository *r , struct replay_opts *opts___1 )
{
  enum replay_action action ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct ref_store *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  struct ref_store *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  char const   *tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  char *tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  int tmp___18 ;

  {
  action = (enum replay_action )-1;
  sequencer_get_last_command(r, & action);
  {
  if ((unsigned int )opts___1->action == 0U) {
    goto case_0;
  }
  if ((unsigned int )opts___1->action == 1U) {
    goto case_1;
  }
  goto switch_default;
  case_0: /* CIL Label */
  tmp___2 = get_main_ref_store(r);
  tmp___3 = refs_ref_exists(tmp___2, (char const   *)"REVERT_HEAD");
  if (! tmp___3) {
    if ((unsigned int )action != 0U) {
      tmp = _((char const   *)"no revert in progress");
      error((char const   *)tmp);
      tmp___0 = const_error();
      return (tmp___0);
    }
    tmp___1 = rollback_is_safe();
    if (! tmp___1) {
      goto give_advice;
    }
  }
  goto switch_break;
  case_1: /* CIL Label */
  tmp___7 = get_main_ref_store(r);
  tmp___8 = refs_ref_exists(tmp___7, (char const   *)"CHERRY_PICK_HEAD");
  if (! tmp___8) {
    if ((unsigned int )action != 1U) {
      tmp___4 = _((char const   *)"no cherry-pick in progress");
      error((char const   *)tmp___4);
      tmp___5 = const_error();
      return (tmp___5);
    }
    tmp___6 = rollback_is_safe();
    if (! tmp___6) {
      goto give_advice;
    }
  }
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"sequencer.c", 3256, (char const   *)"unexpected action in sequencer_skip");
  switch_break: /* CIL Label */ ;
  }
  tmp___11 = skip_single_pick();
  if (tmp___11) {
    tmp___9 = _((char const   *)"failed to skip the commit");
    error((char const   *)tmp___9);
    tmp___10 = const_error();
    return (tmp___10);
  }
  tmp___12 = git_path_seq_dir();
  tmp___13 = is_directory(tmp___12);
  if (! tmp___13) {
    return (0);
  }
  tmp___14 = sequencer_continue(r, opts___1);
  return (tmp___14);
  give_advice:
  tmp___15 = _((char const   *)"there is nothing to skip");
  error((char const   *)tmp___15);
  const_error();
  tmp___18 = advice_enabled((enum advice_type )23);
  if (tmp___18) {
    if ((unsigned int )action == 0U) {
      tmp___16 = "revert";
    } else {
      tmp___16 = "cherry-pick";
    }
    tmp___17 = _((char const   *)"have you committed already?\ntry \"git %s --continue\"");
    advise((char const   *)tmp___17, tmp___16);
  }
  return (-1);
}
}
static int save_todo(struct todo_list *todo_list , struct replay_opts *opts___1 )
{
  struct lock_file todo_lock ;
  char const   *todo_path ;
  char const   *tmp ;
  int next___2 ;
  int offset___2 ;
  int fd ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  ssize_t tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const   *done___0 ;
  char const   *tmp___9 ;
  int fd___0 ;
  int tmp___10 ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  char const   *tmp___13 ;
  ssize_t tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;

  {
  todo_lock.tempfile = (struct tempfile *)0;
  tmp = get_todo_path((struct replay_opts  const  *)opts___1);
  todo_path = tmp;
  next___2 = todo_list->current;
  tmp___0 = is_rebase_i((struct replay_opts  const  *)opts___1);
  if (tmp___0) {
    next___2 ++;
  }
  fd = hold_lock_file_for_update(& todo_lock, todo_path, 0);
  if (fd < 0) {
    tmp___1 = _((char const   *)"could not lock \'%s\'");
    error_errno((char const   *)tmp___1, todo_path);
    tmp___2 = const_error();
    return (tmp___2);
  }
  offset___2 = get_item_line_offset(todo_list, next___2);
  tmp___5 = write_in_full(fd, (void const   *)(todo_list->buf.buf + offset___2), todo_list->buf.len - (size_t )offset___2);
  if (tmp___5 < 0L) {
    tmp___3 = _((char const   *)"could not write to \'%s\'");
    error_errno((char const   *)tmp___3, todo_path);
    tmp___4 = const_error();
    return (tmp___4);
  }
  tmp___8 = commit_lock_file(& todo_lock);
  if (tmp___8 < 0) {
    tmp___6 = _((char const   *)"failed to finalize \'%s\'");
    error((char const   *)tmp___6, todo_path);
    tmp___7 = const_error();
    return (tmp___7);
  }
  tmp___17 = is_rebase_i((struct replay_opts  const  *)opts___1);
  if (tmp___17) {
    if (next___2 > 0) {
      tmp___9 = rebase_path_done();
      done___0 = tmp___9;
      tmp___10 = open(done___0, 1089, 0666);
      fd___0 = tmp___10;
      ret___67 = 0;
      if (fd___0 < 0) {
        return (0);
      }
      tmp___12 = get_item_line_length(todo_list, next___2 - 1);
      tmp___13 = get_item_line(todo_list, next___2 - 1);
      tmp___14 = write_in_full(fd___0, (void const   *)tmp___13, (size_t )tmp___12);
      if (tmp___14 < 0L) {
        tmp___11 = _((char const   *)"could not write to \'%s\'");
        error_errno((char const   *)tmp___11, done___0);
        ret___67 = const_error();
      }
      tmp___16 = close(fd___0);
      if (tmp___16 < 0) {
        tmp___15 = _((char const   *)"failed to finalize \'%s\'");
        error_errno((char const   *)tmp___15, done___0);
        ret___67 = const_error();
      }
      return (ret___67);
    }
  }
  return (0);
}
}
static int save_opts(struct replay_opts *opts___1 )
{
  char const   *opts_file ;
  char const   *tmp ;
  int res ;
  int tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  struct strbuf buf___19 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int i ;
  int tmp___12 ;
  char *tmp___13 ;
  int tmp___14 ;
  char const   *tmp___15 ;
  int tmp___16 ;

  {
  tmp = git_path_opts_file();
  opts_file = tmp;
  res = 0;
  if (opts___1->no_commit) {
    tmp___0 = git_config_set_in_file_gently(opts_file, (char const   *)"options.no-commit",
                                            (char const   *)"true");
    res |= tmp___0;
  }
  if (opts___1->edit >= 0) {
    if (opts___1->edit) {
      tmp___1 = "true";
    } else {
      tmp___1 = "false";
    }
    tmp___2 = git_config_set_in_file_gently(opts_file, (char const   *)"options.edit",
                                            (char const   *)tmp___1);
    res |= tmp___2;
  }
  if (opts___1->allow_empty) {
    tmp___3 = git_config_set_in_file_gently(opts_file, (char const   *)"options.allow-empty",
                                            (char const   *)"true");
    res |= tmp___3;
  }
  if (opts___1->allow_empty_message) {
    tmp___4 = git_config_set_in_file_gently(opts_file, (char const   *)"options.allow-empty-message",
                                            (char const   *)"true");
    res |= tmp___4;
  }
  if (opts___1->keep_redundant_commits) {
    tmp___5 = git_config_set_in_file_gently(opts_file, (char const   *)"options.keep-redundant-commits",
                                            (char const   *)"true");
    res |= tmp___5;
  }
  if (opts___1->signoff) {
    tmp___6 = git_config_set_in_file_gently(opts_file, (char const   *)"options.signoff",
                                            (char const   *)"true");
    res |= tmp___6;
  }
  if (opts___1->record_origin) {
    tmp___7 = git_config_set_in_file_gently(opts_file, (char const   *)"options.record-origin",
                                            (char const   *)"true");
    res |= tmp___7;
  }
  if (opts___1->allow_ff) {
    tmp___8 = git_config_set_in_file_gently(opts_file, (char const   *)"options.allow-ff",
                                            (char const   *)"true");
    res |= tmp___8;
  }
  if (opts___1->mainline) {
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    strbuf_addf(& buf___19, (char const   *)"%d", opts___1->mainline);
    tmp___9 = git_config_set_in_file_gently(opts_file, (char const   *)"options.mainline",
                                            (char const   *)buf___19.buf);
    res |= tmp___9;
    strbuf_release(& buf___19);
  }
  if (opts___1->strategy) {
    tmp___10 = git_config_set_in_file_gently(opts_file, (char const   *)"options.strategy",
                                             (char const   *)opts___1->strategy);
    res |= tmp___10;
  }
  if (opts___1->gpg_sign) {
    tmp___11 = git_config_set_in_file_gently(opts_file, (char const   *)"options.gpg-sign",
                                             (char const   *)opts___1->gpg_sign);
    res |= tmp___11;
  }
  if (opts___1->xopts) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((size_t )i < opts___1->xopts_nr)) {
        goto while_break;
      }
      tmp___12 = git_config_set_multivar_in_file_gently(opts_file, (char const   *)"options.strategy-option",
                                                        (char const   *)*(opts___1->xopts + i),
                                                        (char const   *)"^$", 0U);
      res |= tmp___12;
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (opts___1->allow_rerere_auto) {
    if (opts___1->allow_rerere_auto == 01) {
      tmp___13 = "true";
    } else {
      tmp___13 = "false";
    }
    tmp___14 = git_config_set_in_file_gently(opts_file, (char const   *)"options.allow-rerere-auto",
                                             (char const   *)tmp___13);
    res |= tmp___14;
  }
  if (opts___1->explicit_cleanup) {
    tmp___15 = describe_cleanup_mode((int )opts___1->default_msg_cleanup);
    tmp___16 = git_config_set_in_file_gently(opts_file, (char const   *)"options.default-msg-cleanup",
                                             tmp___15);
    res |= tmp___16;
  }
  return (res);
}
}
static int make_patch(struct repository *r , struct commit *commit , struct replay_opts *opts___1 )
{
  struct strbuf buf___19 ;
  struct rev_info log_tree_opt___0 ;
  char const   *subject ;
  char hex___3[65] ;
  int res ;
  char const   *tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const   *tmp___7 ;
  char const   *encoding ;
  char const   *tmp___8 ;
  char const   *commit_buffer ;
  char const   *tmp___9 ;
  size_t tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  res = 0;
  oid_to_hex_r(hex___3, (struct object_id  const  *)(& commit->object.oid));
  tmp = rebase_path_stopped_sha();
  tmp___0 = strlen((char const   *)(hex___3));
  tmp___1 = write_message((void const   *)(hex___3), tmp___0, tmp, 1);
  if (tmp___1 < 0) {
    return (-1);
  }
  tmp___2 = write_rebase_head(& commit->object.oid);
  res |= tmp___2;
  tmp___3 = get_dir((struct replay_opts  const  *)opts___1);
  strbuf_addf(& buf___19, (char const   *)"%s/patch", tmp___3);
  memset((void *)(& log_tree_opt___0), 0, sizeof(log_tree_opt___0));
  repo_init_revisions(r, & log_tree_opt___0, (char const   *)((void *)0));
  log_tree_opt___0.abbrev = 0U;
  log_tree_opt___0.diff = 1U;
  log_tree_opt___0.diffopt.output_format = 0x0010;
  log_tree_opt___0.disable_stdin = 1U;
  log_tree_opt___0.no_commit_id = 1U;
  log_tree_opt___0.diffopt.file = git_fopen((char const   *)buf___19.buf, (char const   *)"w");
  log_tree_opt___0.diffopt.use_color = 0;
  if (! log_tree_opt___0.diffopt.file) {
    tmp___4 = _((char const   *)"could not open \'%s\'");
    error_errno((char const   *)tmp___4, buf___19.buf);
    tmp___5 = const_error();
    res |= tmp___5;
  } else {
    tmp___6 = log_tree_commit(& log_tree_opt___0, commit);
    res |= tmp___6;
    fclose(log_tree_opt___0.diffopt.file);
  }
  strbuf_setlen(& buf___19, (size_t )0);
  tmp___7 = get_dir((struct replay_opts  const  *)opts___1);
  strbuf_addf(& buf___19, (char const   *)"%s/message", tmp___7);
  tmp___12 = file_exists((char const   *)buf___19.buf);
  if (! tmp___12) {
    tmp___8 = get_commit_output_encoding();
    encoding = tmp___8;
    tmp___9 = repo_logmsg_reencode(the_repository, (struct commit  const  *)commit,
                                   (char **)((void *)0), encoding);
    commit_buffer = tmp___9;
    find_commit_subject(commit_buffer, & subject);
    tmp___10 = strlen(subject);
    tmp___11 = write_message((void const   *)subject, tmp___10, (char const   *)buf___19.buf,
                             1);
    res |= tmp___11;
    repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit, (void const   *)commit_buffer);
  }
  strbuf_release(& buf___19);
  return (res);
}
}
static int intend_to_amend(void)
{
  struct object_id head___1 ;
  char *p___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  size_t tmp___3 ;
  int tmp___4 ;

  {
  tmp___1 = repo_get_oid(the_repository, (char const   *)"HEAD", & head___1);
  if (tmp___1) {
    tmp = _((char const   *)"cannot read HEAD");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  p___0 = oid_to_hex((struct object_id  const  *)(& head___1));
  tmp___2 = rebase_path_amend();
  tmp___3 = strlen((char const   *)p___0);
  tmp___4 = write_message((void const   *)p___0, tmp___3, tmp___2, 1);
  return (tmp___4);
}
}
static int error_with_patch(struct repository *r , struct commit *commit , char const   *subject ,
                            int subject_len , struct replay_opts *opts___1 , int exit_code ,
                            int to_amend )
{
  int tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const   *tmp___4 ;
  char const   *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const   *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const   *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;

  {
  if (commit) {
    tmp = make_patch(r, commit, opts___1);
    if (tmp) {
      return (-1);
    }
  } else {
    tmp___4 = git_path_merge_msg(r);
    tmp___5 = rebase_path_message();
    tmp___6 = copy_file(tmp___5, tmp___4, 0666);
    if (tmp___6) {
      tmp___0 = rebase_path_message();
      tmp___1 = git_path_merge_msg(r);
      tmp___2 = _((char const   *)"unable to copy \'%s\' to \'%s\'");
      error((char const   *)tmp___2, tmp___1, tmp___0);
      tmp___3 = const_error();
      return (tmp___3);
    }
  }
  if (to_amend) {
    tmp___7 = intend_to_amend();
    if (tmp___7) {
      return (-1);
    }
    tmp___8 = gpg_sign_opt_quoted(opts___1);
    tmp___9 = _((char const   *)"You can amend the commit now, with\n\n  git commit --amend %s\n\nOnce you are satisfied with your changes, run\n\n  git rebase --continue\n");
    fprintf(stderr, (char const   *)tmp___9, tmp___8);
  } else
  if (exit_code) {
    if (commit) {
      tmp___10 = short_commit_name(commit);
      tmp___11 = _((char const   *)"Could not apply %s... %.*s");
      fprintf_ln(stderr, (char const   *)tmp___11, tmp___10, subject_len, subject);
    } else {
      tmp___12 = _((char const   *)"Could not merge %.*s");
      fprintf_ln(stderr, (char const   *)tmp___12, subject_len, subject);
    }
  }
  return (exit_code);
}
}
static int error_failed_squash(struct repository *r , struct commit *commit , struct replay_opts *opts___1 ,
                               int subject_len , char const   *subject )
{
  char const   *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  char const   *tmp___6 ;
  char const   *tmp___7 ;
  char const   *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  char const   *tmp___11 ;
  char const   *tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;

  {
  tmp___3 = rebase_path_squash_msg();
  tmp___4 = rebase_path_message();
  tmp___5 = copy_file(tmp___4, tmp___3, 0666);
  if (tmp___5) {
    tmp = rebase_path_message();
    tmp___0 = rebase_path_squash_msg();
    tmp___1 = _((char const   *)"could not copy \'%s\' to \'%s\'");
    error((char const   *)tmp___1, tmp___0, tmp);
    tmp___2 = const_error();
    return (tmp___2);
  }
  tmp___6 = git_path_merge_msg(r);
  unlink(tmp___6);
  tmp___11 = rebase_path_message();
  tmp___12 = git_path_merge_msg(r);
  tmp___13 = copy_file(tmp___12, tmp___11, 0666);
  if (tmp___13) {
    tmp___7 = git_path_merge_msg(r);
    tmp___8 = rebase_path_message();
    tmp___9 = _((char const   *)"could not copy \'%s\' to \'%s\'");
    error((char const   *)tmp___9, tmp___8, tmp___7);
    tmp___10 = const_error();
    return (tmp___10);
  }
  tmp___14 = error_with_patch(r, commit, subject, subject_len, opts___1, 1, 0);
  return (tmp___14);
}
}
static int do_exec(struct repository *r , char const   *command_line___0 )
{
  char const   *child_argv[2] ;
  int dirty___0 ;
  int status ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;

  {
  child_argv[0] = (char const   *)((void *)0);
  child_argv[1] = (char const   *)((void *)0);
  tmp = _((char const   *)"Executing: %s\n");
  fprintf(stderr, (char const   *)tmp, command_line___0);
  child_argv[0] = command_line___0;
  status = run_command_v_opt(child_argv, 1 << 4);
  tmp___2 = discard_index(r->index);
  if (tmp___2 < 0) {
    tmp___0 = _((char const   *)"could not read index");
    error((char const   *)tmp___0);
    tmp___1 = const_error();
    return (tmp___1);
  } else {
    tmp___3 = repo_read_index(r);
    if (tmp___3 < 0) {
      tmp___0 = _((char const   *)"could not read index");
      error((char const   *)tmp___0);
      tmp___1 = const_error();
      return (tmp___1);
    }
  }
  dirty___0 = require_clean_work_tree(r, (char const   *)"rebase", (char const   *)((void *)0),
                                      1, 1);
  if (status) {
    if (dirty___0) {
      tmp___4 = "and made changes to the index and/or the working tree\n";
    } else {
      tmp___4 = "";
    }
    tmp___5 = _((char const   *)"execution failed: %s\n%sYou can fix the problem, and then run\n\n  git rebase --continue\n\n");
    warning((char const   *)tmp___5, command_line___0, tmp___4);
    if (status == 127) {
      status = 1;
    }
  } else
  if (dirty___0) {
    tmp___6 = _((char const   *)"execution succeeded: %s\nbut left changes to the index and/or the working tree\nCommit or stash your changes, and then run\n\n  git rebase --continue\n\n");
    warning((char const   *)tmp___6, command_line___0);
    status = 1;
  }
  return (status);
}
}
static int ( /* format attribute */  safe_append)(char const   *filename___0 , char const   *fmt
                                                  , ...)
{
  va_list ap ;
  struct lock_file lock___0 ;
  int fd ;
  int tmp ;
  struct strbuf buf___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  ssize_t tmp___1 ;
  int *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  ssize_t tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  lock___0.tempfile = (struct tempfile *)0;
  tmp = hold_lock_file_for_update(& lock___0, filename___0, 4);
  fd = tmp;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (fd < 0) {
    return (-1);
  }
  tmp___1 = strbuf_read_file(& buf___19, filename___0, (size_t )0);
  if (tmp___1 < 0L) {
    tmp___2 = __errno_location();
    if (*tmp___2 != 2) {
      tmp___0 = _((char const   *)"could not read \'%s\'");
      error_errno((char const   *)tmp___0, filename___0);
      const_error();
      rollback_lock_file(& lock___0);
      return (-1);
    }
  }
  strbuf_complete(& buf___19, (char )'\n');
  __builtin_va_start(ap, fmt);
  strbuf_vaddf(& buf___19, fmt, ap);
  __builtin_va_end(ap);
  tmp___4 = write_in_full(fd, (void const   *)buf___19.buf, buf___19.len);
  if (tmp___4 < 0L) {
    tmp___3 = _((char const   *)"could not write to \'%s\'");
    error_errno((char const   *)tmp___3, filename___0);
    const_error();
    strbuf_release(& buf___19);
    rollback_lock_file(& lock___0);
    return (-1);
  }
  tmp___7 = commit_lock_file(& lock___0);
  if (tmp___7 < 0) {
    strbuf_release(& buf___19);
    rollback_lock_file(& lock___0);
    tmp___5 = _((char const   *)"failed to finalize \'%s\'");
    error((char const   *)tmp___5, filename___0);
    tmp___6 = const_error();
    return (tmp___6);
  }
  strbuf_release(& buf___19);
  return (0);
}
}
static int do_label(struct repository *r , char const   *name___0 , int len___0 )
{
  struct ref_store *refs___0 ;
  struct ref_store *tmp ;
  struct ref_transaction *transaction___0 ;
  struct strbuf ref_name___0 ;
  struct strbuf err___4 ;
  struct strbuf msg___5 ;
  int ret___67 ;
  struct object_id head_oid___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const   *tmp___6 ;

  {
  tmp = get_main_ref_store(r);
  refs___0 = tmp;
  ref_name___0.alloc = 0UL;
  ref_name___0.len = 0UL;
  ref_name___0.buf = strbuf_slopbuf;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  msg___5.alloc = 0UL;
  msg___5.len = 0UL;
  msg___5.buf = strbuf_slopbuf;
  ret___67 = 0;
  if (len___0 == 1) {
    if ((int const   )*name___0 == 35) {
      tmp___0 = _((char const   *)"illegal label name: \'%.*s\'");
      error((char const   *)tmp___0, len___0, name___0);
      tmp___1 = const_error();
      return (tmp___1);
    }
  }
  strbuf_addf(& ref_name___0, (char const   *)"refs/rewritten/%.*s", len___0, name___0);
  strbuf_addf(& msg___5, (char const   *)"rebase (label) \'%.*s\'", len___0, name___0);
  transaction___0 = ref_store_transaction_begin(refs___0, & err___4);
  if (! transaction___0) {
    error((char const   *)"%s", err___4.buf);
    const_error();
    ret___67 = -1;
  } else {
    tmp___5 = repo_get_oid(the_repository, (char const   *)"HEAD", & head_oid___1);
    if (tmp___5) {
      tmp___2 = _((char const   *)"could not read HEAD");
      error((char const   *)tmp___2);
      const_error();
      ret___67 = -1;
    } else {
      tmp___3 = ref_transaction_update(transaction___0, (char const   *)ref_name___0.buf,
                                       (struct object_id  const  *)(& head_oid___1),
                                       (struct object_id  const  *)((void *)0), 0U,
                                       (char const   *)msg___5.buf, & err___4);
      if (tmp___3 < 0) {
        error((char const   *)"%s", err___4.buf);
        const_error();
        ret___67 = -1;
      } else {
        tmp___4 = ref_transaction_commit(transaction___0, & err___4);
        if (tmp___4) {
          error((char const   *)"%s", err___4.buf);
          const_error();
          ret___67 = -1;
        }
      }
    }
  }
  ref_transaction_free(transaction___0);
  strbuf_release(& err___4);
  strbuf_release(& msg___5);
  if (! ret___67) {
    tmp___6 = rebase_path_refs_to_delete();
    ret___67 = safe_append(tmp___6, (char const   *)"%s\n", ref_name___0.buf);
  }
  strbuf_release(& ref_name___0);
  return (ret___67);
}
}
static char const   *( /* format attribute */  reflog_message)(struct replay_opts *opts___1 ,
                                                               char const   *sub_action ,
                                                               char const   *fmt
                                                               , ...) ;
static struct strbuf buf___11  =    {0UL, 0UL, strbuf_slopbuf};
static char const   *( /* format attribute */  reflog_message)(struct replay_opts *opts___1 ,
                                                               char const   *sub_action ,
                                                               char const   *fmt
                                                               , ...)
{
  va_list ap ;
  char *reflog_action ;
  char *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;

  {
  tmp = getenv((char const   *)"GIT_REFLOG_ACTION");
  reflog_action = tmp;
  __builtin_va_start(ap, fmt);
  strbuf_setlen(& buf___11, (size_t )0);
  if (reflog_action) {
    tmp___1 = (char const   *)reflog_action;
  } else {
    tmp___0 = action_name((struct replay_opts  const  *)opts___1);
    tmp___1 = tmp___0;
  }
  strbuf_addstr(& buf___11, tmp___1);
  if (sub_action) {
    strbuf_addf(& buf___11, (char const   *)" (%s)", sub_action);
  }
  if (fmt) {
    strbuf_addstr(& buf___11, (char const   *)": ");
    strbuf_vaddf(& buf___11, fmt, ap);
  }
  __builtin_va_end(ap);
  return ((char const   *)buf___11.buf);
}
}
static int do_reset(struct repository *r , char const   *name___0 , int len___0 ,
                    struct replay_opts *opts___1 )
{
  struct strbuf ref_name___0 ;
  struct object_id oid ;
  struct lock_file lock___0 ;
  struct tree_desc desc___0 ;
  struct tree *tree ;
  struct unpack_trees_options unpack_tree_opts ;
  int ret___67 ;
  int tmp ;
  char const   *hex___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const   *tmp___6 ;
  size_t tmp___7 ;
  int tmp___8 ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  size_t tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  char const   *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;
  char *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  void *tmp___19 ;
  int tmp___20 ;
  char const __attribute__((__format_arg__(1)))  *tmp___21 ;
  int tmp___22 ;
  char const   *tmp___23 ;

  {
  ref_name___0.alloc = 0UL;
  ref_name___0.len = 0UL;
  ref_name___0.buf = strbuf_slopbuf;
  lock___0.tempfile = (struct tempfile *)0;
  desc___0.buffer = (void const   *)0;
  desc___0.entry.oid.hash[0] = (unsigned char)0;
  desc___0.entry.oid.hash[1] = (unsigned char)0;
  desc___0.entry.oid.hash[2] = (unsigned char)0;
  desc___0.entry.oid.hash[3] = (unsigned char)0;
  desc___0.entry.oid.hash[4] = (unsigned char)0;
  desc___0.entry.oid.hash[5] = (unsigned char)0;
  desc___0.entry.oid.hash[6] = (unsigned char)0;
  desc___0.entry.oid.hash[7] = (unsigned char)0;
  desc___0.entry.oid.hash[8] = (unsigned char)0;
  desc___0.entry.oid.hash[9] = (unsigned char)0;
  desc___0.entry.oid.hash[10] = (unsigned char)0;
  desc___0.entry.oid.hash[11] = (unsigned char)0;
  desc___0.entry.oid.hash[12] = (unsigned char)0;
  desc___0.entry.oid.hash[13] = (unsigned char)0;
  desc___0.entry.oid.hash[14] = (unsigned char)0;
  desc___0.entry.oid.hash[15] = (unsigned char)0;
  desc___0.entry.oid.hash[16] = (unsigned char)0;
  desc___0.entry.oid.hash[17] = (unsigned char)0;
  desc___0.entry.oid.hash[18] = (unsigned char)0;
  desc___0.entry.oid.hash[19] = (unsigned char)0;
  desc___0.entry.oid.hash[20] = (unsigned char)0;
  desc___0.entry.oid.hash[21] = (unsigned char)0;
  desc___0.entry.oid.hash[22] = (unsigned char)0;
  desc___0.entry.oid.hash[23] = (unsigned char)0;
  desc___0.entry.oid.hash[24] = (unsigned char)0;
  desc___0.entry.oid.hash[25] = (unsigned char)0;
  desc___0.entry.oid.hash[26] = (unsigned char)0;
  desc___0.entry.oid.hash[27] = (unsigned char)0;
  desc___0.entry.oid.hash[28] = (unsigned char)0;
  desc___0.entry.oid.hash[29] = (unsigned char)0;
  desc___0.entry.oid.hash[30] = (unsigned char)0;
  desc___0.entry.oid.hash[31] = (unsigned char)0;
  desc___0.entry.oid.algo = 0;
  desc___0.entry.path = (char const   *)0;
  desc___0.entry.pathlen = 0;
  desc___0.entry.mode = 0U;
  desc___0.size = 0U;
  unpack_tree_opts.merge = 0U;
  unpack_tree_opts.update = 0U;
  unpack_tree_opts.preserve_ignored = 0U;
  unpack_tree_opts.clone = 0U;
  unpack_tree_opts.index_only = 0U;
  unpack_tree_opts.nontrivial_merge = 0U;
  unpack_tree_opts.trivial_merges_only = 0U;
  unpack_tree_opts.verbose_update = 0U;
  unpack_tree_opts.aggressive = 0U;
  unpack_tree_opts.skip_unmerged = 0U;
  unpack_tree_opts.initial_checkout = 0U;
  unpack_tree_opts.diff_index_cached = 0U;
  unpack_tree_opts.debug_unpack = 0U;
  unpack_tree_opts.skip_sparse_checkout = 0U;
  unpack_tree_opts.quiet = 0U;
  unpack_tree_opts.exiting_early = 0U;
  unpack_tree_opts.show_all_errors = 0U;
  unpack_tree_opts.dry_run = 0U;
  unpack_tree_opts.reset = 0U;
  unpack_tree_opts.prefix = (char const   *)0;
  unpack_tree_opts.cache_bottom = 0;
  unpack_tree_opts.pathspec = (struct pathspec *)0;
  unpack_tree_opts.fn = (int (*)(struct cache_entry  const  **src , struct unpack_trees_options *options ))0;
  unpack_tree_opts.msgs[0] = (char const   *)0;
  unpack_tree_opts.msgs[1] = (char const   *)0;
  unpack_tree_opts.msgs[2] = (char const   *)0;
  unpack_tree_opts.msgs[3] = (char const   *)0;
  unpack_tree_opts.msgs[4] = (char const   *)0;
  unpack_tree_opts.msgs[5] = (char const   *)0;
  unpack_tree_opts.msgs[6] = (char const   *)0;
  unpack_tree_opts.msgs[7] = (char const   *)0;
  unpack_tree_opts.msgs[8] = (char const   *)0;
  unpack_tree_opts.msgs[9] = (char const   *)0;
  unpack_tree_opts.msgs[10] = (char const   *)0;
  unpack_tree_opts.msgs[11] = (char const   *)0;
  unpack_tree_opts.msgs_to_free.v = (char const   **)0;
  unpack_tree_opts.msgs_to_free.nr = 0UL;
  unpack_tree_opts.msgs_to_free.alloc = 0UL;
  unpack_tree_opts.unpack_rejects[0].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[0].nr = 0U;
  unpack_tree_opts.unpack_rejects[0].alloc = 0U;
  unpack_tree_opts.unpack_rejects[0].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[0].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[1].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[1].nr = 0U;
  unpack_tree_opts.unpack_rejects[1].alloc = 0U;
  unpack_tree_opts.unpack_rejects[1].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[1].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[2].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[2].nr = 0U;
  unpack_tree_opts.unpack_rejects[2].alloc = 0U;
  unpack_tree_opts.unpack_rejects[2].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[2].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[3].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[3].nr = 0U;
  unpack_tree_opts.unpack_rejects[3].alloc = 0U;
  unpack_tree_opts.unpack_rejects[3].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[3].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[4].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[4].nr = 0U;
  unpack_tree_opts.unpack_rejects[4].alloc = 0U;
  unpack_tree_opts.unpack_rejects[4].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[4].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[5].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[5].nr = 0U;
  unpack_tree_opts.unpack_rejects[5].alloc = 0U;
  unpack_tree_opts.unpack_rejects[5].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[5].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[6].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[6].nr = 0U;
  unpack_tree_opts.unpack_rejects[6].alloc = 0U;
  unpack_tree_opts.unpack_rejects[6].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[6].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[7].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[7].nr = 0U;
  unpack_tree_opts.unpack_rejects[7].alloc = 0U;
  unpack_tree_opts.unpack_rejects[7].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[7].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[8].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[8].nr = 0U;
  unpack_tree_opts.unpack_rejects[8].alloc = 0U;
  unpack_tree_opts.unpack_rejects[8].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[8].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[9].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[9].nr = 0U;
  unpack_tree_opts.unpack_rejects[9].alloc = 0U;
  unpack_tree_opts.unpack_rejects[9].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[9].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[10].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[10].nr = 0U;
  unpack_tree_opts.unpack_rejects[10].alloc = 0U;
  unpack_tree_opts.unpack_rejects[10].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[10].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.unpack_rejects[11].items = (struct string_list_item *)0;
  unpack_tree_opts.unpack_rejects[11].nr = 0U;
  unpack_tree_opts.unpack_rejects[11].alloc = 0U;
  unpack_tree_opts.unpack_rejects[11].strdup_strings = 0U;
  unpack_tree_opts.unpack_rejects[11].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opts.head_idx = 0;
  unpack_tree_opts.merge_size = 0;
  unpack_tree_opts.df_conflict_entry = (struct cache_entry *)0;
  unpack_tree_opts.unpack_data = (void *)0;
  unpack_tree_opts.dst_index = (struct index_state *)0;
  unpack_tree_opts.src_index = (struct index_state *)0;
  unpack_tree_opts.result.cache = (struct cache_entry **)0;
  unpack_tree_opts.result.version = 0U;
  unpack_tree_opts.result.cache_nr = 0U;
  unpack_tree_opts.result.cache_alloc = 0U;
  unpack_tree_opts.result.cache_changed = 0U;
  unpack_tree_opts.result.resolve_undo = (struct string_list *)0;
  unpack_tree_opts.result.cache_tree = (struct cache_tree *)0;
  unpack_tree_opts.result.split_index = (struct split_index *)0;
  unpack_tree_opts.result.timestamp.sec = 0U;
  unpack_tree_opts.result.timestamp.nsec = 0U;
  unpack_tree_opts.result.name_hash_initialized = 0U;
  unpack_tree_opts.result.initialized = 0U;
  unpack_tree_opts.result.drop_cache_tree = 0U;
  unpack_tree_opts.result.updated_workdir = 0U;
  unpack_tree_opts.result.updated_skipworktree = 0U;
  unpack_tree_opts.result.fsmonitor_has_run_once = 0U;
  unpack_tree_opts.result.sparse_index = 0U;
  unpack_tree_opts.result.name_hash.table = (struct hashmap_entry **)0;
  unpack_tree_opts.result.name_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data ,
                                                     struct hashmap_entry  const  *entry ,
                                                     struct hashmap_entry  const  *entry_or_key ,
                                                     void const   *keydata ))0;
  unpack_tree_opts.result.name_hash.cmpfn_data = (void const   *)0;
  unpack_tree_opts.result.name_hash.private_size = 0U;
  unpack_tree_opts.result.name_hash.tablesize = 0U;
  unpack_tree_opts.result.name_hash.grow_at = 0U;
  unpack_tree_opts.result.name_hash.shrink_at = 0U;
  unpack_tree_opts.result.name_hash.do_count_items = 0U;
  unpack_tree_opts.result.dir_hash.table = (struct hashmap_entry **)0;
  unpack_tree_opts.result.dir_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data ,
                                                    struct hashmap_entry  const  *entry ,
                                                    struct hashmap_entry  const  *entry_or_key ,
                                                    void const   *keydata ))0;
  unpack_tree_opts.result.dir_hash.cmpfn_data = (void const   *)0;
  unpack_tree_opts.result.dir_hash.private_size = 0U;
  unpack_tree_opts.result.dir_hash.tablesize = 0U;
  unpack_tree_opts.result.dir_hash.grow_at = 0U;
  unpack_tree_opts.result.dir_hash.shrink_at = 0U;
  unpack_tree_opts.result.dir_hash.do_count_items = 0U;
  unpack_tree_opts.result.oid.hash[0] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[1] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[2] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[3] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[4] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[5] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[6] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[7] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[8] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[9] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[10] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[11] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[12] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[13] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[14] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[15] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[16] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[17] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[18] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[19] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[20] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[21] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[22] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[23] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[24] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[25] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[26] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[27] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[28] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[29] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[30] = (unsigned char)0;
  unpack_tree_opts.result.oid.hash[31] = (unsigned char)0;
  unpack_tree_opts.result.oid.algo = 0;
  unpack_tree_opts.result.untracked = (struct untracked_cache *)0;
  unpack_tree_opts.result.fsmonitor_last_update = (char *)0;
  unpack_tree_opts.result.fsmonitor_dirty = (struct ewah_bitmap *)0;
  unpack_tree_opts.result.ce_mem_pool = (struct mem_pool *)0;
  unpack_tree_opts.result.progress = (struct progress *)0;
  unpack_tree_opts.result.repo = (struct repository *)0;
  unpack_tree_opts.result.sparse_checkout_patterns = (struct pattern_list *)0;
  unpack_tree_opts.pl = (struct pattern_list *)0;
  unpack_tree_opts.dir = (struct dir_struct *)0;
  unpack_tree_opts.meta.refname = (char const   *)0;
  unpack_tree_opts.meta.treeish.hash[0] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[1] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[2] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[3] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[4] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[5] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[6] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[7] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[8] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[9] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[10] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[11] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[12] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[13] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[14] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[15] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[16] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[17] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[18] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[19] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[20] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[21] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[22] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[23] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[24] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[25] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[26] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[27] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[28] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[29] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[30] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.hash[31] = (unsigned char)0;
  unpack_tree_opts.meta.treeish.algo = 0;
  unpack_tree_opts.meta.blob.hash[0] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[1] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[2] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[3] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[4] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[5] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[6] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[7] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[8] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[9] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[10] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[11] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[12] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[13] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[14] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[15] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[16] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[17] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[18] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[19] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[20] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[21] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[22] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[23] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[24] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[25] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[26] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[27] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[28] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[29] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[30] = (unsigned char)0;
  unpack_tree_opts.meta.blob.hash[31] = (unsigned char)0;
  unpack_tree_opts.meta.blob.algo = 0;
  ret___67 = 0;
  tmp = repo_hold_locked_index(r, & lock___0, 4);
  if (tmp < 0) {
    return (-1);
  }
  if (len___0 == 10) {
    tmp___13 = strncmp((char const   *)"[new root]", name___0, (size_t )len___0);
    if (tmp___13) {
      goto _L;
    } else {
      if (! opts___1->have_squash_onto) {
        tmp___2 = commit_tree((char const   *)"", (size_t )0, (struct object_id  const  *)(the_repository->hash_algo)->empty_tree,
                              (struct commit_list *)((void *)0), & opts___1->squash_onto,
                              (char const   *)((void *)0), (char const   *)((void *)0));
        if (tmp___2) {
          tmp___0 = _((char const   *)"writing fake root commit");
          error((char const   *)tmp___0);
          tmp___1 = const_error();
          return (tmp___1);
        }
        opts___1->have_squash_onto = 1;
        tmp___3 = oid_to_hex((struct object_id  const  *)(& opts___1->squash_onto));
        hex___3 = (char const   *)tmp___3;
        tmp___6 = rebase_path_squash_onto();
        tmp___7 = strlen(hex___3);
        tmp___8 = write_message((void const   *)hex___3, tmp___7, tmp___6, 0);
        if (tmp___8) {
          tmp___4 = _((char const   *)"writing squash-onto");
          error((char const   *)tmp___4);
          tmp___5 = const_error();
          return (tmp___5);
        }
      }
      oidcpy(& oid, (struct object_id  const  *)(& opts___1->squash_onto));
    }
  } else {
    _L: /* CIL Label */
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < len___0)) {
        goto while_break;
      }
      if (((int const   )sane_ctype[(unsigned char )*(name___0 + i)] & 1) != 0) {
        goto while_break;
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    len___0 = i;
    strbuf_addf(& ref_name___0, (char const   *)"refs/rewritten/%.*s", len___0, name___0);
    tmp___10 = repo_get_oid(the_repository, (char const   *)ref_name___0.buf, & oid);
    if (tmp___10) {
      tmp___11 = strlen((char const   *)"refs/rewritten/");
      tmp___12 = repo_get_oid(the_repository, (char const   *)(ref_name___0.buf + tmp___11),
                              & oid);
      if (tmp___12) {
        tmp___9 = _((char const   *)"could not read \'%s\'");
        error((char const   *)tmp___9, ref_name___0.buf);
        ret___67 = const_error();
        goto cleanup;
      }
    }
  }
  setup_unpack_trees_porcelain(& unpack_tree_opts, (char const   *)"reset");
  unpack_tree_opts.head_idx = 1;
  unpack_tree_opts.src_index = r->index;
  unpack_tree_opts.dst_index = r->index;
  unpack_tree_opts.fn = & oneway_merge;
  unpack_tree_opts.merge = 1U;
  unpack_tree_opts.update = 1U;
  unpack_tree_opts.preserve_ignored = 0U;
  init_checkout_metadata(& unpack_tree_opts.meta, name___0, (struct object_id  const  *)(& oid),
                         (struct object_id  const  *)((void *)0));
  tmp___16 = repo_read_index_unmerged(r);
  if (tmp___16) {
    tmp___14 = action_name((struct replay_opts  const  *)opts___1);
    tmp___15 = _(tmp___14);
    ret___67 = error_resolve_conflict((char const   *)tmp___15);
    goto cleanup;
  }
  tmp___19 = fill_tree_descriptor(r, & desc___0, (struct object_id  const  *)(& oid));
  if (! tmp___19) {
    tmp___17 = oid_to_hex((struct object_id  const  *)(& oid));
    tmp___18 = _((char const   *)"failed to find tree of %s");
    error((char const   *)tmp___18, tmp___17);
    ret___67 = const_error();
    goto cleanup;
  }
  tmp___20 = unpack_trees(1U, & desc___0, & unpack_tree_opts);
  if (tmp___20) {
    ret___67 = -1;
    goto cleanup;
  }
  tree = parse_tree_indirect((struct object_id  const  *)(& oid));
  prime_cache_tree(r, r->index, tree);
  tmp___22 = write_locked_index(r->index, & lock___0, 1U);
  if (tmp___22 < 0) {
    tmp___21 = _((char const   *)"could not write index");
    error((char const   *)tmp___21);
    ret___67 = const_error();
  }
  if (! ret___67) {
    tmp___23 = reflog_message(opts___1, (char const   *)"reset", (char const   *)"\'%.*s\'",
                              len___0, name___0);
    ret___67 = update_ref(tmp___23, (char const   *)"HEAD", (struct object_id  const  *)(& oid),
                          (struct object_id  const  *)((void *)0), 0U, (enum action_on_err )0);
  }
  cleanup:
  free((void *)desc___0.buffer);
  if (ret___67 < 0) {
    rollback_lock_file(& lock___0);
  }
  strbuf_release(& ref_name___0);
  clear_unpack_trees_porcelain(& unpack_tree_opts);
  return (ret___67);
}
}
static struct commit *lookup_label(char const   *label , int len___0 , struct strbuf *buf___19 )
{
  struct commit *commit ;
  size_t tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  strbuf_setlen(buf___19, (size_t )0);
  strbuf_addf(buf___19, (char const   *)"refs/rewritten/%.*s", len___0, label);
  commit = lookup_commit_reference_by_name((char const   *)buf___19->buf);
  if (! commit) {
    tmp = strlen((char const   *)"refs/rewritten/");
    strbuf_splice(buf___19, (size_t )0, tmp, (void const   *)"", (size_t )0);
    commit = lookup_commit_reference_by_name((char const   *)buf___19->buf);
  }
  if (! commit) {
    tmp___0 = _((char const   *)"could not resolve \'%s\'");
    error((char const   *)tmp___0, buf___19->buf);
    const_error();
  }
  return (commit);
}
}
static struct lock_file lock  ;
static int do_merge(struct repository *r , struct commit *commit , char const   *arg ,
                    int arg_len , int flags___0 , int *check_todo , struct replay_opts *opts___1 )
{
  int run_commit_flags ;
  struct strbuf ref_name___0 ;
  struct commit *head_commit ;
  struct commit *merge_commit___0 ;
  struct commit *i ;
  struct commit_list *bases ;
  struct commit_list *j ;
  struct commit_list *reversed ;
  struct commit_list *to_merge ;
  struct commit_list **tail ;
  char const   *strategy ;
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  struct merge_options___0 o ;
  int merge_arg_len ;
  int oneline_offset ;
  int can_fast_forward___0 ;
  int ret___67 ;
  int k ;
  char const   *p___0 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  size_t tmp___6 ;
  size_t tmp___7 ;
  size_t tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  struct commit_list *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  struct commit_list *p___1 ;
  int tmp___16 ;
  char const   *encoding ;
  char const   *tmp___17 ;
  char const   *message___0 ;
  char const   *tmp___18 ;
  char const   *body ;
  int len___0 ;
  char *tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  size_t tmp___21 ;
  char const   *tmp___22 ;
  char const   *tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;
  struct strbuf buf___19 ;
  int len___1 ;
  char const   *tmp___25 ;
  char *tmp___26 ;
  char const   *tmp___27 ;
  char const   *tmp___28 ;
  char const __attribute__((__format_arg__(1)))  *tmp___29 ;
  struct child_process cmd ;
  char const   *gpg_opt ;
  char const   *tmp___30 ;
  char const __attribute__((__format_arg__(1)))  *tmp___31 ;
  int tmp___32 ;
  char const   *tmp___33 ;
  char const   *tmp___34 ;
  char const   *tmp___35 ;
  char *tmp___36 ;
  struct ref_store *tmp___37 ;
  char const __attribute__((__format_arg__(1)))  *tmp___38 ;
  int tmp___39 ;
  int tmp___40 ;
  int tmp___41 ;
  char const   *tmp___42 ;
  char *tmp___43 ;
  char const   *tmp___44 ;
  int tmp___45 ;
  char const __attribute__((__format_arg__(1)))  *tmp___46 ;
  char const __attribute__((__format_arg__(1)))  *tmp___47 ;
  int tmp___48 ;
  char const   *tmp___49 ;
  int tmp___50 ;
  int tmp___51 ;
  int tmp___52 ;
  int tmp___53 ;

  {
  run_commit_flags = 0;
  ref_name___0.alloc = 0UL;
  ref_name___0.len = 0UL;
  ref_name___0.buf = strbuf_slopbuf;
  reversed = (struct commit_list *)((void *)0);
  to_merge = (struct commit_list *)((void *)0);
  tail = & to_merge;
  if (! opts___1->xopts_nr) {
    if (! opts___1->strategy) {
      tmp___1 = (char *)((void *)0);
    } else {
      tmp___2 = strcmp((char const   *)opts___1->strategy, (char const   *)"recursive");
      if (tmp___2) {
        tmp___3 = strcmp((char const   *)opts___1->strategy, (char const   *)"ort");
        if (tmp___3) {
          tmp___1 = opts___1->strategy;
        } else {
          tmp___1 = (char *)((void *)0);
        }
      } else {
        tmp___1 = (char *)((void *)0);
      }
    }
  } else {
    tmp___1 = opts___1->strategy;
  }
  strategy = (char const   *)tmp___1;
  tmp___4 = repo_hold_locked_index(r, & lock, 4);
  if (tmp___4 < 0) {
    ret___67 = -1;
    goto leave_merge;
  }
  head_commit = lookup_commit_reference_by_name((char const   *)"HEAD");
  if (! head_commit) {
    tmp___5 = _((char const   *)"cannot merge without a current revision");
    error((char const   *)tmp___5);
    ret___67 = const_error();
    goto leave_merge;
  }
  oneline_offset = arg_len;
  merge_arg_len = oneline_offset;
  p___0 = arg;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (p___0 - arg < (long )arg_len)) {
      goto while_break;
    }
    if (! *p___0) {
      goto while_break;
    }
    if ((int const   )*p___0 == 35) {
      if (! *(p___0 + 1)) {
        tmp___7 = strspn(p___0 + 1, (char const   *)" \t\n");
        p___0 += 1UL + tmp___7;
        oneline_offset = (int )(p___0 - arg);
        goto while_break;
      } else
      if (((int const   )sane_ctype[(unsigned char )*(p___0 + 1)] & 1) != 0) {
        tmp___7 = strspn(p___0 + 1, (char const   *)" \t\n");
        p___0 += 1UL + tmp___7;
        oneline_offset = (int )(p___0 - arg);
        goto while_break;
      }
    }
    tmp___8 = strcspn(p___0, (char const   *)" \t\n");
    k = (int )tmp___8;
    if (! k) {
      goto __Cont;
    }
    merge_commit___0 = lookup_label(p___0, k, & ref_name___0);
    if (! merge_commit___0) {
      tmp___9 = _((char const   *)"unable to parse \'%.*s\'");
      error((char const   *)tmp___9, k, p___0);
      ret___67 = const_error();
      goto leave_merge;
    }
    tmp___10 = commit_list_insert(merge_commit___0, tail);
    tail = & tmp___10->next;
    p___0 += k;
    merge_arg_len = (int )(p___0 - arg);
    __Cont: /* CIL Label */
    tmp___6 = strspn(p___0, (char const   *)" \t\n");
    p___0 += tmp___6;
  }
  while_break: /* CIL Label */ ;
  }
  if (! to_merge) {
    tmp___11 = _((char const   *)"nothing to merge: \'%.*s\'");
    error((char const   *)tmp___11, arg_len, arg);
    ret___67 = const_error();
    goto leave_merge;
  }
  if (opts___1->have_squash_onto) {
    tmp___13 = oideq((struct object_id  const  *)(& head_commit->object.oid), (struct object_id  const  *)(& opts___1->squash_onto));
    if (tmp___13) {
      rollback_lock_file(& lock);
      if (to_merge->next) {
        tmp___12 = _((char const   *)"octopus merge cannot be executed on top of a [new root]");
        error((char const   *)tmp___12);
        ret___67 = const_error();
      } else {
        ret___67 = fast_forward_to(r, (struct object_id  const  *)(& (to_merge->item)->object.oid),
                                   (struct object_id  const  *)(& head_commit->object.oid),
                                   0, opts___1);
      }
      goto leave_merge;
    }
  }
  if (opts___1->allow_ff) {
    if (commit) {
      if (commit->parents) {
        tmp___14 = oideq((struct object_id  const  *)(& ((commit->parents)->item)->object.oid),
                         (struct object_id  const  *)(& head_commit->object.oid));
        if (tmp___14) {
          tmp___15 = 1;
        } else {
          tmp___15 = 0;
        }
      } else {
        tmp___15 = 0;
      }
    } else {
      tmp___15 = 0;
    }
  } else {
    tmp___15 = 0;
  }
  can_fast_forward___0 = tmp___15;
  if (can_fast_forward___0) {
    p___1 = (commit->parents)->next;
    j = to_merge;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (j) {
        if (! p___1) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      tmp___16 = oideq((struct object_id  const  *)(& (j->item)->object.oid), (struct object_id  const  *)(& (p___1->item)->object.oid));
      if (! tmp___16) {
        can_fast_forward___0 = 0;
        goto while_break___0;
      }
      j = j->next;
      p___1 = p___1->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (j) {
      can_fast_forward___0 = 0;
    } else
    if (p___1) {
      can_fast_forward___0 = 0;
    }
  }
  if (can_fast_forward___0) {
    rollback_lock_file(& lock);
    ret___67 = fast_forward_to(r, (struct object_id  const  *)(& commit->object.oid),
                               (struct object_id  const  *)(& head_commit->object.oid),
                               0, opts___1);
    if (flags___0 & 1) {
      goto fast_forward_edit;
    }
    goto leave_merge;
  }
  if (commit) {
    tmp___17 = get_commit_output_encoding();
    encoding = tmp___17;
    tmp___18 = repo_logmsg_reencode(the_repository, (struct commit  const  *)commit,
                                    (char **)((void *)0), encoding);
    message___0 = tmp___18;
    if (! message___0) {
      tmp___19 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
      tmp___20 = _((char const   *)"could not get commit message of \'%s\'");
      error((char const   *)tmp___20, tmp___19);
      ret___67 = const_error();
      goto leave_merge;
    }
    write_author_script(message___0);
    find_commit_subject(message___0, & body);
    tmp___21 = strlen(body);
    len___0 = (int )tmp___21;
    tmp___22 = git_path_merge_msg(r);
    ret___67 = write_message((void const   *)body, (size_t )len___0, tmp___22, 0);
    repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit, (void const   *)message___0);
    if (ret___67) {
      tmp___23 = git_path_merge_msg(r);
      tmp___24 = _((char const   *)"could not write \'%s\'");
      error_errno((char const   *)tmp___24, tmp___23);
      const_error();
      goto leave_merge;
    }
  } else {
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    tmp___25 = git_author_info(0);
    strbuf_addf(& buf___19, (char const   *)"author %s", tmp___25);
    write_author_script((char const   *)buf___19.buf);
    strbuf_setlen(& buf___19, (size_t )0);
    if (oneline_offset < arg_len) {
      p___0 = arg + oneline_offset;
      len___1 = arg_len - oneline_offset;
    } else {
      if (to_merge->next) {
        tmp___26 = "branches";
      } else {
        tmp___26 = "branch";
      }
      strbuf_addf(& buf___19, (char const   *)"Merge %s \'%.*s\'", tmp___26, merge_arg_len,
                  arg);
      p___0 = (char const   *)buf___19.buf;
      len___1 = (int )buf___19.len;
    }
    tmp___27 = git_path_merge_msg(r);
    ret___67 = write_message((void const   *)p___0, (size_t )len___1, tmp___27, 0);
    strbuf_release(& buf___19);
    if (ret___67) {
      tmp___28 = git_path_merge_msg(r);
      tmp___29 = _((char const   *)"could not write \'%s\'");
      error_errno((char const   *)tmp___29, tmp___28);
      const_error();
      goto leave_merge;
    }
  }
  if (strategy) {
    goto _L;
  } else
  if (to_merge->next) {
    _L: /* CIL Label */
    cmd.args.v = empty_strvec;
    cmd.args.nr = 0UL;
    cmd.args.alloc = 0UL;
    cmd.env_array.v = empty_strvec;
    cmd.env_array.nr = 0UL;
    cmd.env_array.alloc = 0UL;
    cmd.pid = 0;
    cmd.trace2_child_id = 0;
    cmd.trace2_child_us_start = 0UL;
    cmd.trace2_child_class = (char const   *)0;
    cmd.trace2_hook_name = (char const   *)0;
    cmd.in = 0;
    cmd.out = 0;
    cmd.err = 0;
    cmd.dir = (char const   *)0;
    cmd.no_stdin = 0U;
    cmd.no_stdout = 0U;
    cmd.no_stderr = 0U;
    cmd.git_cmd = 0U;
    cmd.silent_exec_failure = 0U;
    cmd.use_shell = 0U;
    cmd.close_object_store = 0U;
    cmd.stdout_to_stderr = 0U;
    cmd.clean_on_exit = 0U;
    cmd.wait_after_clean = 0U;
    cmd.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    cmd.clean_on_exit_handler_cbdata = (void *)0;
    tmp___32 = read_env_script(& cmd.env_array);
    if (tmp___32) {
      tmp___30 = gpg_sign_opt_quoted(opts___1);
      gpg_opt = tmp___30;
      tmp___31 = _(staged_changes_advice);
      error((char const   *)tmp___31, gpg_opt, gpg_opt);
      ret___67 = const_error();
      goto leave_merge;
    }
    if (opts___1->committer_date_is_author_date) {
      if (opts___1->ignore_date) {
        tmp___34 = (char const   *)"";
      } else {
        tmp___33 = author_date_from_env_array((struct strvec  const  *)(& cmd.env_array));
        tmp___34 = tmp___33;
      }
      strvec_pushf(& cmd.env_array, (char const   *)"GIT_COMMITTER_DATE=%s", tmp___34);
    }
    if (opts___1->ignore_date) {
      strvec_push(& cmd.env_array, (char const   *)"GIT_AUTHOR_DATE=");
    }
    cmd.git_cmd = 1U;
    strvec_push(& cmd.args, (char const   *)"merge");
    strvec_push(& cmd.args, (char const   *)"-s");
    if (! strategy) {
      strvec_push(& cmd.args, (char const   *)"octopus");
    } else {
      strvec_push(& cmd.args, strategy);
      k = 0;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! ((size_t )k < opts___1->xopts_nr)) {
          goto while_break___1;
        }
        strvec_pushf(& cmd.args, (char const   *)"-X%s", *(opts___1->xopts + k));
        k ++;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
    if (! (flags___0 & 1)) {
      strvec_push(& cmd.args, (char const   *)"--no-edit");
    } else {
      strvec_push(& cmd.args, (char const   *)"--edit");
    }
    strvec_push(& cmd.args, (char const   *)"--no-ff");
    strvec_push(& cmd.args, (char const   *)"--no-log");
    strvec_push(& cmd.args, (char const   *)"--no-stat");
    strvec_push(& cmd.args, (char const   *)"-F");
    tmp___35 = git_path_merge_msg(r);
    strvec_push(& cmd.args, tmp___35);
    if (opts___1->gpg_sign) {
      strvec_pushf(& cmd.args, (char const   *)"-S%s", opts___1->gpg_sign);
    } else {
      strvec_push(& cmd.args, (char const   *)"--no-gpg-sign");
    }
    j = to_merge;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! j) {
        goto while_break___2;
      }
      tmp___36 = oid_to_hex((struct object_id  const  *)(& (j->item)->object.oid));
      strvec_push(& cmd.args, (char const   *)tmp___36);
      j = j->next;
    }
    while_break___2: /* CIL Label */ ;
    }
    strbuf_release(& ref_name___0);
    tmp___37 = get_main_ref_store(r);
    refs_delete_ref(tmp___37, (char const   *)"", (char const   *)"CHERRY_PICK_HEAD",
                    (struct object_id  const  *)((void *)0), 0U);
    rollback_lock_file(& lock);
    ret___67 = run_command(& cmd);
    if (! ret___67) {
      tmp___39 = discard_index(r->index);
      if (tmp___39 < 0) {
        tmp___38 = _((char const   *)"could not read index");
        error((char const   *)tmp___38);
        ret___67 = const_error();
      } else {
        tmp___40 = repo_read_index(r);
        if (tmp___40 < 0) {
          tmp___38 = _((char const   *)"could not read index");
          error((char const   *)tmp___38);
          ret___67 = const_error();
        }
      }
    }
    goto leave_merge;
  }
  merge_commit___0 = to_merge->item;
  bases = repo_get_merge_bases(the_repository, head_commit, merge_commit___0);
  if (bases) {
    tmp___41 = oideq((struct object_id  const  *)(& merge_commit___0->object.oid),
                     (struct object_id  const  *)(& (bases->item)->object.oid));
    if (tmp___41) {
      ret___67 = 0;
      goto leave_merge;
    }
  }
  tmp___42 = git_path_merge_head(r);
  tmp___43 = oid_to_hex((struct object_id  const  *)(& merge_commit___0->object.oid));
  write_message((void const   *)tmp___43, (size_t )(the_repository->hash_algo)->hexsz,
                tmp___42, 0);
  tmp___44 = git_path_merge_mode(r);
  write_message((void const   *)"no-ff", (size_t )5, tmp___44, 0);
  j = bases;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! j) {
      goto while_break___3;
    }
    commit_list_insert(j->item, & reversed);
    j = j->next;
  }
  while_break___3: /* CIL Label */ ;
  }
  free_commit_list(bases);
  repo_read_index(r);
  init_merge_options(& o, r);
  o.branch1 = (char const   *)"HEAD";
  o.branch2 = (char const   *)ref_name___0.buf;
  o.buffer_output = 2U;
  if (! opts___1->strategy) {
    ret___67 = merge_ort_recursive(& o, head_commit, merge_commit___0, reversed, & i);
  } else {
    tmp___45 = strcmp((char const   *)opts___1->strategy, (char const   *)"ort");
    if (tmp___45) {
      ret___67 = merge_recursive(& o, head_commit, merge_commit___0, reversed, & i);
    } else {
      ret___67 = merge_ort_recursive(& o, head_commit, merge_commit___0, reversed,
                                     & i);
    }
  }
  if (ret___67 <= 0) {
    fputs((char const   * __restrict  )o.obuf.buf, (FILE * __restrict  )stdout);
  }
  strbuf_release(& o.obuf);
  if (ret___67 < 0) {
    tmp___46 = _((char const   *)"could not even attempt to merge \'%.*s\'");
    error((char const   *)tmp___46, merge_arg_len, arg);
    const_error();
    goto leave_merge;
  }
  ret___67 = ! ret___67;
  if ((r->index)->cache_changed) {
    tmp___48 = write_locked_index(r->index, & lock, 1U);
    if (tmp___48) {
      tmp___47 = _((char const   *)"merge: Unable to write new index file");
      error((char const   *)tmp___47);
      ret___67 = const_error();
      goto leave_merge;
    }
  }
  rollback_lock_file(& lock);
  if (ret___67) {
    repo_rerere(r, opts___1->allow_rerere_auto);
  } else {
    tmp___49 = git_path_merge_msg(r);
    tmp___50 = run_git_commit(tmp___49, opts___1, (unsigned int )run_commit_flags);
    if (tmp___50) {
      tmp___51 = 1;
    } else {
      tmp___51 = 0;
    }
    ret___67 = tmp___51;
  }
  if (! ret___67) {
    if (flags___0 & 1) {
      fast_forward_edit:
      *check_todo = 1;
      run_commit_flags |= ((1 << 2) | (1 << 1)) | (1 << 4);
      tmp___52 = run_git_commit((char const   *)((void *)0), opts___1, (unsigned int )run_commit_flags);
      if (tmp___52) {
        tmp___53 = 1;
      } else {
        tmp___53 = 0;
      }
      ret___67 = tmp___53;
    }
  }
  leave_merge:
  strbuf_release(& ref_name___0);
  rollback_lock_file(& lock);
  free_commit_list(to_merge);
  return (ret___67);
}
}
static int is_final_fixup(struct todo_list *todo_list )
{
  int i ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  i = todo_list->current;
  tmp = is_fixup((todo_list->items + i)->command);
  if (! tmp) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    i ++;
    if (! (i < todo_list->nr)) {
      goto while_break;
    }
    tmp___1 = is_fixup((todo_list->items + i)->command);
    if (tmp___1) {
      return (0);
    } else {
      tmp___0 = is_noop((enum todo_command  const  )(todo_list->items + i)->command);
      if (! tmp___0) {
        goto while_break;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static enum todo_command peek_command(struct todo_list *todo_list , int offset___2 )
{
  int i ;
  int tmp ;

  {
  i = todo_list->current + offset___2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < todo_list->nr)) {
      goto while_break;
    }
    tmp = is_noop((enum todo_command  const  )(todo_list->items + i)->command);
    if (! tmp) {
      return ((todo_list->items + i)->command);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((enum todo_command )-1);
}
}
void create_autostash(struct repository *r , char const   *path___6 , char const   *default_reflog_action )
{
  struct strbuf buf___19 ;
  struct lock_file lock_file___0 ;
  int fd ;
  struct child_process stash ;
  struct object_id oid ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  enum scld_error tmp___4 ;
  char *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  lock_file___0.tempfile = (struct tempfile *)0;
  fd = repo_hold_locked_index(r, & lock_file___0, 0);
  refresh_index(r->index, (unsigned int )(1 << 2), (struct pathspec  const  *)((void *)0),
                (char *)((void *)0), (char const   *)((void *)0));
  if (0 <= fd) {
    repo_update_index_if_able(r, & lock_file___0);
  }
  rollback_lock_file(& lock_file___0);
  tmp___12 = has_unstaged_changes(r, 1);
  if (tmp___12) {
    goto _L;
  } else {
    tmp___13 = has_uncommitted_changes(r, 1);
    if (tmp___13) {
      _L: /* CIL Label */
      stash.args.v = empty_strvec;
      stash.args.nr = 0UL;
      stash.args.alloc = 0UL;
      stash.env_array.v = empty_strvec;
      stash.env_array.nr = 0UL;
      stash.env_array.alloc = 0UL;
      stash.pid = 0;
      stash.trace2_child_id = 0;
      stash.trace2_child_us_start = 0UL;
      stash.trace2_child_class = (char const   *)0;
      stash.trace2_hook_name = (char const   *)0;
      stash.in = 0;
      stash.out = 0;
      stash.err = 0;
      stash.dir = (char const   *)0;
      stash.no_stdin = 0U;
      stash.no_stdout = 0U;
      stash.no_stderr = 0U;
      stash.git_cmd = 0U;
      stash.silent_exec_failure = 0U;
      stash.use_shell = 0U;
      stash.close_object_store = 0U;
      stash.stdout_to_stderr = 0U;
      stash.clean_on_exit = 0U;
      stash.wait_after_clean = 0U;
      stash.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
      stash.clean_on_exit_handler_cbdata = (void *)0;
      strvec_pushl(& stash.args, "stash", "create", "autostash", (void *)0);
      stash.git_cmd = 1U;
      stash.no_stdin = 1U;
      strbuf_setlen(& buf___19, (size_t )0);
      tmp___0 = capture_command(& stash, & buf___19, (size_t )64);
      if (tmp___0) {
        tmp = _((char const   *)"Cannot autostash");
        die((char const   *)tmp);
      }
      strbuf_trim_trailing_newline(& buf___19);
      tmp___2 = repo_get_oid(the_repository, (char const   *)buf___19.buf, & oid);
      if (tmp___2) {
        tmp___1 = _((char const   *)"Unexpected stash response: \'%s\'");
        die((char const   *)tmp___1, buf___19.buf);
      }
      strbuf_setlen(& buf___19, (size_t )0);
      strbuf_add_unique_abbrev(& buf___19, (struct object_id  const  *)(& oid), default_abbrev);
      tmp___4 = safe_create_leading_directories_const(path___6);
      if (tmp___4) {
        tmp___3 = _((char const   *)"Could not create directory for \'%s\'");
        die((char const   *)tmp___3, path___6);
      }
      tmp___5 = oid_to_hex((struct object_id  const  *)(& oid));
      write_file(path___6, (char const   *)"%s", tmp___5);
      tmp___6 = _((char const   *)"Created autostash: %s\n");
      printf((char const   *)tmp___6, buf___19.buf);
      tmp___8 = reset_head(r, (struct object_id *)((void *)0), (char const   *)"reset --hard",
                           (char const   *)((void *)0), (unsigned int )(1 << 1), (char const   *)((void *)0),
                           (char const   *)((void *)0), default_reflog_action);
      if (tmp___8 < 0) {
        tmp___7 = _((char const   *)"could not reset --hard");
        die((char const   *)tmp___7);
      }
      tmp___10 = discard_index(r->index);
      if (tmp___10 < 0) {
        tmp___9 = _((char const   *)"could not read index");
        die((char const   *)tmp___9);
      } else {
        tmp___11 = repo_read_index(r);
        if (tmp___11 < 0) {
          tmp___9 = _((char const   *)"could not read index");
          die((char const   *)tmp___9);
        }
      }
    }
  }
  strbuf_release(& buf___19);
  return;
}
}
static int apply_save_autostash_oid(char const   *stash_oid , int attempt_apply )
{
  struct child_process child ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct child_process store ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;

  {
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  ret___67 = 0;
  if (attempt_apply) {
    child.git_cmd = 1U;
    child.no_stdout = 1U;
    child.no_stderr = 1U;
    strvec_push(& child.args, (char const   *)"stash");
    strvec_push(& child.args, (char const   *)"apply");
    strvec_push(& child.args, stash_oid);
    ret___67 = run_command(& child);
  }
  if (attempt_apply) {
    if (! ret___67) {
      tmp = _((char const   *)"Applied autostash.\n");
      fprintf(stderr, (char const   *)tmp);
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    store.args.v = empty_strvec;
    store.args.nr = 0UL;
    store.args.alloc = 0UL;
    store.env_array.v = empty_strvec;
    store.env_array.nr = 0UL;
    store.env_array.alloc = 0UL;
    store.pid = 0;
    store.trace2_child_id = 0;
    store.trace2_child_us_start = 0UL;
    store.trace2_child_class = (char const   *)0;
    store.trace2_hook_name = (char const   *)0;
    store.in = 0;
    store.out = 0;
    store.err = 0;
    store.dir = (char const   *)0;
    store.no_stdin = 0U;
    store.no_stdout = 0U;
    store.no_stderr = 0U;
    store.git_cmd = 0U;
    store.silent_exec_failure = 0U;
    store.use_shell = 0U;
    store.close_object_store = 0U;
    store.stdout_to_stderr = 0U;
    store.clean_on_exit = 0U;
    store.wait_after_clean = 0U;
    store.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    store.clean_on_exit_handler_cbdata = (void *)0;
    store.git_cmd = 1U;
    strvec_push(& store.args, (char const   *)"stash");
    strvec_push(& store.args, (char const   *)"store");
    strvec_push(& store.args, (char const   *)"-m");
    strvec_push(& store.args, (char const   *)"autostash");
    strvec_push(& store.args, (char const   *)"-q");
    strvec_push(& store.args, stash_oid);
    tmp___5 = run_command(& store);
    if (tmp___5) {
      tmp___0 = _((char const   *)"cannot store %s");
      error((char const   *)tmp___0, stash_oid);
      ret___67 = const_error();
    } else {
      if (attempt_apply) {
        tmp___1 = _((char const   *)"Applying autostash resulted in conflicts.");
        tmp___3 = tmp___1;
      } else {
        tmp___2 = _((char const   *)"Autostash exists; creating a new stash entry.");
        tmp___3 = tmp___2;
      }
      tmp___4 = _((char const   *)"%s\nYour changes are safe in the stash.\nYou can run \"git stash pop\" or \"git stash drop\" at any time.\n");
      fprintf(stderr, (char const   *)tmp___4, tmp___3);
    }
  }
  return (ret___67);
}
}
static int apply_save_autostash(char const   *path___6 , int attempt_apply )
{
  struct strbuf stash_oid ;
  int ret___67 ;
  int tmp ;

  {
  stash_oid.alloc = 0UL;
  stash_oid.len = 0UL;
  stash_oid.buf = strbuf_slopbuf;
  ret___67 = 0;
  tmp = read_oneliner(& stash_oid, path___6, 1U);
  if (! tmp) {
    strbuf_release(& stash_oid);
    return (0);
  }
  strbuf_trim(& stash_oid);
  ret___67 = apply_save_autostash_oid((char const   *)stash_oid.buf, attempt_apply);
  unlink(path___6);
  strbuf_release(& stash_oid);
  return (ret___67);
}
}
int save_autostash(char const   *path___6 )
{
  int tmp ;

  {
  tmp = apply_save_autostash(path___6, 0);
  return (tmp);
}
}
int apply_autostash(char const   *path___6 )
{
  int tmp ;

  {
  tmp = apply_save_autostash(path___6, 1);
  return (tmp);
}
}
int apply_autostash_oid(char const   *stash_oid )
{
  int tmp ;

  {
  tmp = apply_save_autostash_oid(stash_oid, 1);
  return (tmp);
}
}
static int run_git_checkout(struct repository *r , struct replay_opts *opts___1 ,
                            char const   *commit , char const   *action )
{
  struct child_process cmd ;
  int ret___67 ;

  {
  cmd.args.v = empty_strvec;
  cmd.args.nr = 0UL;
  cmd.args.alloc = 0UL;
  cmd.env_array.v = empty_strvec;
  cmd.env_array.nr = 0UL;
  cmd.env_array.alloc = 0UL;
  cmd.pid = 0;
  cmd.trace2_child_id = 0;
  cmd.trace2_child_us_start = 0UL;
  cmd.trace2_child_class = (char const   *)0;
  cmd.trace2_hook_name = (char const   *)0;
  cmd.in = 0;
  cmd.out = 0;
  cmd.err = 0;
  cmd.dir = (char const   *)0;
  cmd.no_stdin = 0U;
  cmd.no_stdout = 0U;
  cmd.no_stderr = 0U;
  cmd.git_cmd = 0U;
  cmd.silent_exec_failure = 0U;
  cmd.use_shell = 0U;
  cmd.close_object_store = 0U;
  cmd.stdout_to_stderr = 0U;
  cmd.clean_on_exit = 0U;
  cmd.wait_after_clean = 0U;
  cmd.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cmd.clean_on_exit_handler_cbdata = (void *)0;
  cmd.git_cmd = 1U;
  if (startup_info->original_cwd) {
    cmd.dir = startup_info->original_cwd;
  }
  strvec_push(& cmd.args, (char const   *)"checkout");
  strvec_push(& cmd.args, commit);
  strvec_pushf(& cmd.env_array, (char const   *)"GIT_REFLOG_ACTION=%s", action);
  if (opts___1->verbose) {
    ret___67 = run_command(& cmd);
  } else {
    ret___67 = run_command_silent_on_success(& cmd);
  }
  if (! ret___67) {
    discard_index(r->index);
  }
  return (ret___67);
}
}
static int checkout_onto(struct repository *r , struct replay_opts *opts___1 , char const   *onto_name ,
                         struct object_id  const  *onto , struct object_id  const  *orig_head )
{
  char const   *action ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = reflog_message(opts___1, (char const   *)"start", (char const   *)"checkout %s",
                       onto_name);
  action = tmp;
  tmp___3 = oid_to_hex(onto);
  tmp___4 = run_git_checkout(r, opts___1, (char const   *)tmp___3, action);
  if (tmp___4) {
    tmp___0 = rebase_path_autostash();
    apply_autostash(tmp___0);
    sequencer_remove_state(opts___1);
    tmp___1 = _((char const   *)"could not detach HEAD");
    error((char const   *)tmp___1);
    tmp___2 = const_error();
    return (tmp___2);
  }
  tmp___5 = update_ref((char const   *)((void *)0), (char const   *)"ORIG_HEAD", orig_head,
                       (struct object_id  const  *)((void *)0), 0U, (enum action_on_err )0);
  return (tmp___5);
}
}
static int stopped_at_head(struct repository *r )
{
  struct object_id head___1 ;
  struct commit *commit ;
  struct commit_message message___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp___1 = repo_get_oid(the_repository, (char const   *)"HEAD", & head___1);
  if (tmp___1) {
    tmp = _((char const   *)"Stopped at HEAD\n");
    fprintf(stderr, (char const   *)tmp);
  } else {
    commit = lookup_commit(r, (struct object_id  const  *)(& head___1));
    if (commit) {
      tmp___2 = repo_parse_commit(the_repository, commit);
      if (tmp___2) {
        tmp = _((char const   *)"Stopped at HEAD\n");
        fprintf(stderr, (char const   *)tmp);
      } else {
        tmp___3 = get_message(commit, & message___0);
        if (tmp___3) {
          tmp = _((char const   *)"Stopped at HEAD\n");
          fprintf(stderr, (char const   *)tmp);
        } else {
          tmp___0 = _((char const   *)"Stopped at %s\n");
          fprintf(stderr, (char const   *)tmp___0, message___0.label);
          free_message(commit, & message___0);
        }
      }
    } else {
      tmp = _((char const   *)"Stopped at HEAD\n");
      fprintf(stderr, (char const   *)tmp);
    }
  }
  return (0);
}
}
static int reread_todo_if_changed(struct repository *r , struct todo_list *todo_list ,
                                  struct replay_opts *opts___1 )
{
  int offset___2 ;
  struct strbuf buf___19 ;
  char const   *tmp ;
  ssize_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = get_todo_path((struct replay_opts  const  *)opts___1);
  tmp___0 = strbuf_read_file_or_whine(& buf___19, tmp);
  if (tmp___0 < 0L) {
    return (-1);
  }
  offset___2 = get_item_line_offset(todo_list, todo_list->current + 1);
  if (buf___19.len != todo_list->buf.len - (size_t )offset___2) {
    goto _L;
  } else {
    tmp___2 = memcmp((void const   *)buf___19.buf, (void const   *)(todo_list->buf.buf + offset___2),
                     buf___19.len);
    if (tmp___2) {
      _L: /* CIL Label */
      todo_list_release(todo_list);
      tmp___1 = read_populate_todo(r, todo_list, opts___1);
      if (tmp___1) {
        return (-1);
      }
      todo_list->current = -1;
    }
  }
  strbuf_release(& buf___19);
  return (0);
}
}
static char const   rescheduled_advice[197]  =
  {      (char const   )'C',      (char const   )'o',      (char const   )'u',      (char const   )'l',
        (char const   )'d',      (char const   )' ',      (char const   )'n',      (char const   )'o',
        (char const   )'t',      (char const   )' ',      (char const   )'e',      (char const   )'x',
        (char const   )'e',      (char const   )'c',      (char const   )'u',      (char const   )'t',
        (char const   )'e',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )' ',      (char const   )'t',      (char const   )'o',
        (char const   )'d',      (char const   )'o',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'m',      (char const   )'m',      (char const   )'a',
        (char const   )'n',      (char const   )'d',      (char const   )'\n',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'%',      (char const   )'.',      (char const   )'*',      (char const   )'s',
        (char const   )'\n',      (char const   )'I',      (char const   )'t',      (char const   )' ',
        (char const   )'h',      (char const   )'a',      (char const   )'s',      (char const   )' ',
        (char const   )'b',      (char const   )'e',      (char const   )'e',      (char const   )'n',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'s',
        (char const   )'c',      (char const   )'h',      (char const   )'e',      (char const   )'d',
        (char const   )'u',      (char const   )'l',      (char const   )'e',      (char const   )'d',
        (char const   )';',      (char const   )' ',      (char const   )'T',      (char const   )'o',
        (char const   )' ',      (char const   )'e',      (char const   )'d',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )' ',      (char const   )'c',      (char const   )'o',
        (char const   )'m',      (char const   )'m',      (char const   )'a',      (char const   )'n',
        (char const   )'d',      (char const   )' ',      (char const   )'b',      (char const   )'e',
        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )'e',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'n',
        (char const   )'t',      (char const   )'i',      (char const   )'n',      (char const   )'u',
        (char const   )'i',      (char const   )'n',      (char const   )'g',      (char const   )',',
        (char const   )' ',      (char const   )'p',      (char const   )'l',      (char const   )'e',
        (char const   )'a',      (char const   )'s',      (char const   )'e',      (char const   )'\n',
        (char const   )'e',      (char const   )'d',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'e',
        (char const   )' ',      (char const   )'t',      (char const   )'o',      (char const   )'d',
        (char const   )'o',      (char const   )' ',      (char const   )'l',      (char const   )'i',
        (char const   )'s',      (char const   )'t',      (char const   )' ',      (char const   )'f',
        (char const   )'i',      (char const   )'r',      (char const   )'s',      (char const   )'t',
        (char const   )':',      (char const   )'\n',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'g',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'r',
        (char const   )'e',      (char const   )'b',      (char const   )'a',      (char const   )'s',
        (char const   )'e',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'e',      (char const   )'d',      (char const   )'i',      (char const   )'t',
        (char const   )'-',      (char const   )'t',      (char const   )'o',      (char const   )'d',
        (char const   )'o',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'g',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'r',      (char const   )'e',
        (char const   )'b',      (char const   )'a',      (char const   )'s',      (char const   )'e',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'c',
        (char const   )'o',      (char const   )'n',      (char const   )'t',      (char const   )'i',
        (char const   )'n',      (char const   )'u',      (char const   )'e',      (char const   )'\n',
        (char const   )'\000'};
static int pick_commits(struct repository *r , struct todo_list *todo_list , struct replay_opts *opts___1 )
{
  int res ;
  int reschedule ;
  char *prev_reflog_action ;
  char const   *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  struct todo_item *item___0 ;
  char const   *arg ;
  char const   *tmp___4 ;
  int check_todo ;
  int tmp___5 ;
  FILE *f ;
  char const   *tmp___6 ;
  FILE *tmp___7 ;
  char *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const   *tmp___10 ;
  char const   *tmp___11 ;
  char const   *tmp___12 ;
  char const   *tmp___13 ;
  char const   *tmp___14 ;
  char const   *tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  char const   *tmp___18 ;
  char const   *tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  char const   *tmp___23 ;
  int tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  int tmp___26 ;
  int tmp___27 ;
  struct commit *commit ;
  char const   *tmp___28 ;
  char const __attribute__((__format_arg__(1)))  *tmp___29 ;
  int tmp___30 ;
  enum todo_command tmp___31 ;
  int tmp___32 ;
  int tmp___33 ;
  int to_amend ;
  struct object_id oid ;
  int tmp___34 ;
  int tmp___35 ;
  int tmp___36 ;
  int tmp___37 ;
  int tmp___38 ;
  int tmp___39 ;
  char *end_of_arg ;
  int saved ;
  enum todo_command tmp___40 ;
  int tmp___41 ;
  char const __attribute__((__format_arg__(1)))  *tmp___42 ;
  int tmp___43 ;
  int tmp___44 ;
  char const   *tmp___45 ;
  int tmp___46 ;
  char const __attribute__((__format_arg__(1)))  *tmp___47 ;
  int tmp___48 ;
  int tmp___49 ;
  int tmp___50 ;
  int tmp___51 ;
  struct strbuf head_ref___0 ;
  struct strbuf buf___19 ;
  struct stat st ;
  char const   *msg___5 ;
  struct object_id head___1 ;
  struct object_id orig ;
  int res___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___52 ;
  int tmp___53 ;
  char const __attribute__((__format_arg__(1)))  *tmp___54 ;
  char const   *tmp___55 ;
  int tmp___56 ;
  int tmp___57 ;
  char const __attribute__((__format_arg__(1)))  *tmp___58 ;
  char const   *tmp___59 ;
  int tmp___60 ;
  char const __attribute__((__format_arg__(1)))  *tmp___61 ;
  int tmp___62 ;
  char const __attribute__((__format_arg__(1)))  *tmp___63 ;
  int tmp___64 ;
  char const   *tmp___65 ;
  int tmp___66 ;
  int tmp___67 ;
  struct rev_info log_tree_opt___0 ;
  struct object_id orig___0 ;
  struct object_id head___2 ;
  char const   *tmp___68 ;
  int tmp___69 ;
  int tmp___70 ;
  int tmp___71 ;
  struct child_process child ;
  char const   *post_rewrite_hook ;
  char const   *tmp___72 ;
  char const   *tmp___73 ;
  struct child_process hook ;
  char const   *tmp___74 ;
  char const   *tmp___75 ;
  int tmp___76 ;
  char const   *tmp___77 ;
  char const __attribute__((__format_arg__(1)))  *tmp___78 ;
  int tmp___79 ;
  int tmp___80 ;

  {
  res = 0;
  reschedule = 0;
  tmp = action_name((struct replay_opts  const  *)opts___1);
  setenv((char const   *)"GIT_REFLOG_ACTION", tmp, 0);
  tmp___0 = getenv((char const   *)"GIT_REFLOG_ACTION");
  prev_reflog_action = xstrdup((char const   *)tmp___0);
  if (opts___1->allow_ff) {
    if (opts___1->signoff) {
      tmp___2 = 0;
    } else
    if (opts___1->no_commit) {
      tmp___2 = 0;
    } else
    if (opts___1->record_origin) {
      tmp___2 = 0;
    } else {
      tmp___1 = should_edit(opts___1);
      if (tmp___1) {
        tmp___2 = 0;
      } else
      if (opts___1->committer_date_is_author_date) {
        tmp___2 = 0;
      } else
      if (opts___1->ignore_date) {
        tmp___2 = 0;
      } else {
        tmp___2 = 1;
      }
    }
    assert(tmp___2);
  }
  tmp___3 = read_and_refresh_cache(r, opts___1);
  if (tmp___3) {
    return (-1);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (todo_list->current < todo_list->nr)) {
      goto while_break;
    }
    item___0 = todo_list->items + todo_list->current;
    tmp___4 = todo_item_get_arg(todo_list, item___0);
    arg = tmp___4;
    check_todo = 0;
    tmp___5 = save_todo(todo_list, opts___1);
    if (tmp___5) {
      return (-1);
    }
    tmp___17 = is_rebase_i((struct replay_opts  const  *)opts___1);
    if (tmp___17) {
      if ((unsigned int )item___0->command != 13U) {
        tmp___6 = rebase_path_msgnum();
        tmp___7 = git_fopen(tmp___6, (char const   *)"w");
        f = tmp___7;
        (todo_list->done_nr) ++;
        if (f) {
          fprintf(f, (char const   *)"%d\n", todo_list->done_nr);
          fclose(f);
        }
        if (! opts___1->quiet) {
          if (opts___1->verbose) {
            tmp___8 = "\n";
          } else {
            tmp___8 = "\r";
          }
          tmp___9 = _((char const   *)"Rebasing (%d/%d)%s");
          fprintf(stderr, (char const   *)tmp___9, todo_list->done_nr, todo_list->total_nr,
                  tmp___8);
        }
      }
      tmp___10 = rebase_path_message();
      unlink(tmp___10);
      tmp___11 = rebase_path_author_script();
      unlink(tmp___11);
      tmp___12 = rebase_path_stopped_sha();
      unlink(tmp___12);
      tmp___13 = rebase_path_amend();
      unlink(tmp___13);
      tmp___14 = git_path_merge_head(r);
      unlink(tmp___14);
      tmp___15 = git_path_auto_merge(r);
      unlink(tmp___15);
      delete_ref((char const   *)((void *)0), (char const   *)"REBASE_HEAD", (struct object_id  const  *)((void *)0),
                 1U);
      if ((unsigned int )item___0->command == 7U) {
        if (! opts___1->verbose) {
          term_clear_line();
        }
        tmp___16 = stopped_at_head(r);
        return (tmp___16);
      }
    }
    if ((unsigned int )item___0->command <= 5U) {
      tmp___20 = is_rebase_i((struct replay_opts  const  *)opts___1);
      if (tmp___20) {
        tmp___18 = command_to_string((enum todo_command  const  )item___0->command);
        tmp___19 = reflog_message(opts___1, tmp___18, (char const   *)((void *)0));
        setenv((char const   *)"GIT_REFLOG_ACTION", tmp___19, 1);
      }
      tmp___21 = is_final_fixup(todo_list);
      res = do_pick_commit(r, item___0, opts___1, tmp___21, & check_todo);
      tmp___22 = is_rebase_i((struct replay_opts  const  *)opts___1);
      if (tmp___22) {
        setenv((char const   *)"GIT_REFLOG_ACTION", (char const   *)prev_reflog_action,
               1);
      }
      tmp___27 = is_rebase_i((struct replay_opts  const  *)opts___1);
      if (tmp___27) {
        if (res < 0) {
          tmp___23 = get_item_line(todo_list, todo_list->current);
          tmp___24 = get_item_line_length(todo_list, todo_list->current);
          tmp___25 = _(rescheduled_advice);
          advise((char const   *)tmp___25, tmp___24, tmp___23);
          (todo_list->current) --;
          tmp___26 = save_todo(todo_list, opts___1);
          if (tmp___26) {
            return (-1);
          }
        }
      }
      if ((unsigned int )item___0->command == 2U) {
        commit = item___0->commit;
        if (! res) {
          if (! opts___1->verbose) {
            term_clear_line();
          }
          tmp___28 = short_commit_name(commit);
          tmp___29 = _((char const   *)"Stopped at %s...  %.*s\n");
          fprintf(stderr, (char const   *)tmp___29, tmp___28, item___0->arg_len, arg);
        }
        tmp___30 = error_with_patch(r, commit, arg, item___0->arg_len, opts___1, res,
                                    ! res);
        return (tmp___30);
      }
      tmp___32 = is_rebase_i((struct replay_opts  const  *)opts___1);
      if (tmp___32) {
        if (! res) {
          tmp___31 = peek_command(todo_list, 1);
          record_in_rewritten(& (item___0->commit)->object.oid, tmp___31);
        }
      }
      if (res) {
        tmp___39 = is_fixup(item___0->command);
        if (tmp___39) {
          if (res == 1) {
            intend_to_amend();
          }
          tmp___33 = error_failed_squash(r, item___0->commit, opts___1, item___0->arg_len,
                                         arg);
          return (tmp___33);
        } else {
          goto _L;
        }
      } else
      _L: /* CIL Label */
      if (res) {
        tmp___38 = is_rebase_i((struct replay_opts  const  *)opts___1);
        if (tmp___38) {
          if (item___0->commit) {
            to_amend = 0;
            if ((unsigned int )item___0->command == 3U) {
              tmp___34 = repo_get_oid(the_repository, (char const   *)"HEAD", & oid);
              if (! tmp___34) {
                tmp___35 = oideq((struct object_id  const  *)(& (item___0->commit)->object.oid),
                                 (struct object_id  const  *)(& oid));
                if (tmp___35) {
                  to_amend = 1;
                } else
                if (opts___1->have_squash_onto) {
                  tmp___36 = oideq((struct object_id  const  *)(& opts___1->squash_onto),
                                   (struct object_id  const  *)(& oid));
                  if (tmp___36) {
                    to_amend = 1;
                  }
                }
              }
            }
            tmp___37 = error_with_patch(r, item___0->commit, arg, item___0->arg_len,
                                        opts___1, res, to_amend);
            return (res | tmp___37);
          }
        }
      }
    } else
    if ((unsigned int )item___0->command == 6U) {
      end_of_arg = (char *)(arg + item___0->arg_len);
      saved = (int )*end_of_arg;
      if (! opts___1->verbose) {
        term_clear_line();
      }
      *end_of_arg = (char )'\000';
      res = do_exec(r, arg);
      *end_of_arg = (char )saved;
      if (res) {
        if (opts___1->reschedule_failed_exec) {
          reschedule = 1;
        }
      }
      check_todo = 1;
    } else
    if ((unsigned int )item___0->command == 8U) {
      res = do_label(r, arg, item___0->arg_len);
      if (res) {
        reschedule = 1;
      }
    } else
    if ((unsigned int )item___0->command == 9U) {
      res = do_reset(r, arg, item___0->arg_len, opts___1);
      if (res) {
        reschedule = 1;
      }
    } else
    if ((unsigned int )item___0->command == 10U) {
      res = do_merge(r, item___0->commit, arg, item___0->arg_len, (int )item___0->flags,
                     & check_todo, opts___1);
      if (res < 0) {
        reschedule = 1;
      } else
      if (item___0->commit) {
        tmp___40 = peek_command(todo_list, 1);
        record_in_rewritten(& (item___0->commit)->object.oid, tmp___40);
      }
      if (res > 0) {
        tmp___41 = error_with_patch(r, item___0->commit, arg, item___0->arg_len, opts___1,
                                    res, 0);
        return (tmp___41);
      }
    } else {
      tmp___44 = is_noop((enum todo_command  const  )item___0->command);
      if (! tmp___44) {
        tmp___42 = _((char const   *)"unknown command %d");
        error((char const   *)tmp___42, (unsigned int )item___0->command);
        tmp___43 = const_error();
        return (tmp___43);
      }
    }
    if (reschedule) {
      tmp___45 = get_item_line(todo_list, todo_list->current);
      tmp___46 = get_item_line_length(todo_list, todo_list->current);
      tmp___47 = _(rescheduled_advice);
      advise((char const   *)tmp___47, tmp___46, tmp___45);
      (todo_list->current) --;
      tmp___48 = save_todo(todo_list, opts___1);
      if (tmp___48) {
        return (-1);
      }
      if (item___0->commit) {
        tmp___49 = error_with_patch(r, item___0->commit, arg, item___0->arg_len, opts___1,
                                    res, 0);
        return (tmp___49);
      }
    } else {
      tmp___50 = is_rebase_i((struct replay_opts  const  *)opts___1);
      if (tmp___50) {
        if (check_todo) {
          if (! res) {
            tmp___51 = reread_todo_if_changed(r, todo_list, opts___1);
            if (tmp___51) {
              return (-1);
            }
          }
        }
      }
    }
    (todo_list->current) ++;
    if (res) {
      return (res);
    }
  }
  while_break: /* CIL Label */ ;
  }
  tmp___79 = is_rebase_i((struct replay_opts  const  *)opts___1);
  if (tmp___79) {
    head_ref___0.alloc = 0UL;
    head_ref___0.len = 0UL;
    head_ref___0.buf = strbuf_slopbuf;
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    if (todo_list->current < todo_list->nr) {
      return (0);
    }
    tmp___65 = rebase_path_head_name();
    tmp___66 = read_oneliner(& head_ref___0, tmp___65, 0U);
    if (tmp___66) {
      tmp___67 = starts_with((char const   *)head_ref___0.buf, (char const   *)"refs/");
      if (tmp___67) {
        tmp___53 = repo_get_oid(the_repository, (char const   *)"HEAD", & head___1);
        if (tmp___53) {
          tmp___52 = _((char const   *)"cannot read HEAD");
          error((char const   *)tmp___52);
          res___0 = const_error();
          cleanup_head_ref:
          strbuf_release(& head_ref___0);
          strbuf_release(& buf___19);
          return (res___0);
        }
        tmp___55 = rebase_path_orig_head();
        tmp___56 = read_oneliner(& buf___19, tmp___55, 0U);
        if (tmp___56) {
          tmp___57 = get_oid_hex((char const   *)buf___19.buf, & orig);
          if (tmp___57) {
            tmp___54 = _((char const   *)"could not read orig-head");
            error((char const   *)tmp___54);
            res___0 = const_error();
            goto cleanup_head_ref;
          }
        } else {
          tmp___54 = _((char const   *)"could not read orig-head");
          error((char const   *)tmp___54);
          res___0 = const_error();
          goto cleanup_head_ref;
        }
        strbuf_setlen(& buf___19, (size_t )0);
        tmp___59 = rebase_path_onto();
        tmp___60 = read_oneliner(& buf___19, tmp___59, 0U);
        if (! tmp___60) {
          tmp___58 = _((char const   *)"could not read \'onto\'");
          error((char const   *)tmp___58);
          res___0 = const_error();
          goto cleanup_head_ref;
        }
        msg___5 = reflog_message(opts___1, (char const   *)"finish", (char const   *)"%s onto %s",
                                 head_ref___0.buf, buf___19.buf);
        tmp___62 = update_ref(msg___5, (char const   *)head_ref___0.buf, (struct object_id  const  *)(& head___1),
                              (struct object_id  const  *)(& orig), 1U, (enum action_on_err )0);
        if (tmp___62) {
          tmp___61 = _((char const   *)"could not update %s");
          error((char const   *)tmp___61, head_ref___0.buf);
          res___0 = const_error();
          goto cleanup_head_ref;
        }
        msg___5 = reflog_message(opts___1, (char const   *)"finish", (char const   *)"returning to %s",
                                 head_ref___0.buf);
        tmp___64 = create_symref((char const   *)"HEAD", (char const   *)head_ref___0.buf,
                                 msg___5);
        if (tmp___64) {
          tmp___63 = _((char const   *)"could not update HEAD to %s");
          error((char const   *)tmp___63, head_ref___0.buf);
          res___0 = const_error();
          goto cleanup_head_ref;
        }
        strbuf_setlen(& buf___19, (size_t )0);
      }
    }
    if (opts___1->verbose) {
      memset((void *)(& log_tree_opt___0), 0, sizeof(log_tree_opt___0));
      repo_init_revisions(r, & log_tree_opt___0, (char const   *)((void *)0));
      log_tree_opt___0.diff = 1U;
      log_tree_opt___0.diffopt.output_format = 0x0002;
      log_tree_opt___0.disable_stdin = 1U;
      tmp___68 = rebase_path_orig_head();
      tmp___69 = read_oneliner(& buf___19, tmp___68, 0U);
      if (tmp___69) {
        tmp___70 = repo_get_oid(the_repository, (char const   *)buf___19.buf, & orig___0);
        if (! tmp___70) {
          tmp___71 = repo_get_oid(the_repository, (char const   *)"HEAD", & head___2);
          if (! tmp___71) {
            diff_tree_oid((struct object_id  const  *)(& orig___0), (struct object_id  const  *)(& head___2),
                          (char const   *)"", & log_tree_opt___0.diffopt);
            log_tree_diff_flush(& log_tree_opt___0);
          }
        }
      }
    }
    flush_rewritten_pending();
    tmp___75 = rebase_path_rewritten_list();
    tmp___76 = stat(tmp___75, & st);
    if (! tmp___76) {
      if (st.st_size > 0L) {
        child.args.v = empty_strvec;
        child.args.nr = 0UL;
        child.args.alloc = 0UL;
        child.env_array.v = empty_strvec;
        child.env_array.nr = 0UL;
        child.env_array.alloc = 0UL;
        child.pid = 0;
        child.trace2_child_id = 0;
        child.trace2_child_us_start = 0UL;
        child.trace2_child_class = (char const   *)0;
        child.trace2_hook_name = (char const   *)0;
        child.in = 0;
        child.out = 0;
        child.err = 0;
        child.dir = (char const   *)0;
        child.no_stdin = 0U;
        child.no_stdout = 0U;
        child.no_stderr = 0U;
        child.git_cmd = 0U;
        child.silent_exec_failure = 0U;
        child.use_shell = 0U;
        child.close_object_store = 0U;
        child.stdout_to_stderr = 0U;
        child.clean_on_exit = 0U;
        child.wait_after_clean = 0U;
        child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
        child.clean_on_exit_handler_cbdata = (void *)0;
        tmp___72 = find_hook((char const   *)"post-rewrite");
        post_rewrite_hook = tmp___72;
        tmp___73 = rebase_path_rewritten_list();
        child.in = open(tmp___73, 00);
        child.git_cmd = 1U;
        strvec_push(& child.args, (char const   *)"notes");
        strvec_push(& child.args, (char const   *)"copy");
        strvec_push(& child.args, (char const   *)"--for-rewrite=rebase");
        run_command(& child);
        if (post_rewrite_hook) {
          hook.args.v = empty_strvec;
          hook.args.nr = 0UL;
          hook.args.alloc = 0UL;
          hook.env_array.v = empty_strvec;
          hook.env_array.nr = 0UL;
          hook.env_array.alloc = 0UL;
          hook.pid = 0;
          hook.trace2_child_id = 0;
          hook.trace2_child_us_start = 0UL;
          hook.trace2_child_class = (char const   *)0;
          hook.trace2_hook_name = (char const   *)0;
          hook.in = 0;
          hook.out = 0;
          hook.err = 0;
          hook.dir = (char const   *)0;
          hook.no_stdin = 0U;
          hook.no_stdout = 0U;
          hook.no_stderr = 0U;
          hook.git_cmd = 0U;
          hook.silent_exec_failure = 0U;
          hook.use_shell = 0U;
          hook.close_object_store = 0U;
          hook.stdout_to_stderr = 0U;
          hook.clean_on_exit = 0U;
          hook.wait_after_clean = 0U;
          hook.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
          hook.clean_on_exit_handler_cbdata = (void *)0;
          tmp___74 = rebase_path_rewritten_list();
          hook.in = open(tmp___74, 00);
          hook.stdout_to_stderr = 1U;
          hook.trace2_hook_name = (char const   *)"post-rewrite";
          strvec_push(& hook.args, post_rewrite_hook);
          strvec_push(& hook.args, (char const   *)"rebase");
          run_command(& hook);
        }
      }
    }
    tmp___77 = rebase_path_autostash();
    apply_autostash(tmp___77);
    if (! opts___1->quiet) {
      if (! opts___1->verbose) {
        term_clear_line();
      }
      tmp___78 = _((char const   *)"Successfully rebased and updated %s.\n");
      fprintf(stderr, (char const   *)tmp___78, head_ref___0.buf);
    }
    strbuf_release(& buf___19);
    strbuf_release(& head_ref___0);
  }
  tmp___80 = sequencer_remove_state(opts___1);
  return (tmp___80);
}
}
static int continue_single_pick(struct repository *r , struct replay_opts *opts___1 )
{
  struct strvec argv___0 ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  struct ref_store *tmp___1 ;
  int tmp___2 ;
  struct ref_store *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  argv___0.v = empty_strvec;
  argv___0.nr = 0UL;
  argv___0.alloc = 0UL;
  tmp___1 = get_main_ref_store(r);
  tmp___2 = refs_ref_exists(tmp___1, (char const   *)"CHERRY_PICK_HEAD");
  if (! tmp___2) {
    tmp___3 = get_main_ref_store(r);
    tmp___4 = refs_ref_exists(tmp___3, (char const   *)"REVERT_HEAD");
    if (! tmp___4) {
      tmp = _((char const   *)"no cherry-pick or revert in progress");
      error((char const   *)tmp);
      tmp___0 = const_error();
      return (tmp___0);
    }
  }
  strvec_push(& argv___0, (char const   *)"commit");
  if (! opts___1->edit) {
    strvec_pushl(& argv___0, "--no-edit", "--cleanup=strip", (void *)0);
  } else
  if (opts___1->edit < 0) {
    tmp___5 = isatty(0);
    if (! tmp___5) {
      strvec_pushl(& argv___0, "--no-edit", "--cleanup=strip", (void *)0);
    }
  }
  ret___67 = run_command_v_opt(argv___0.v, 1 << 1);
  strvec_clear(& argv___0);
  return (ret___67);
}
}
static int commit_staged_changes(struct repository *r , struct replay_opts *opts___1 ,
                                 struct todo_list *todo_list )
{
  unsigned int flags___0 ;
  unsigned int final_fixup ;
  unsigned int is_clean ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  struct strbuf rev ;
  struct object_id head___1 ;
  struct object_id to_amend ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const   *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  char const   *tmp___10 ;
  int tmp___11 ;
  char const   *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  char const   *tmp___19 ;
  char const   *tmp___20 ;
  char const   *tmp___21 ;
  enum todo_command tmp___22 ;
  int tmp___23 ;
  char const   *p___0 ;
  int len___0 ;
  char const   *tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  int tmp___26 ;
  char const   *tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;
  char *tmp___30 ;
  struct commit *commit ;
  char const   *path___6 ;
  char const   *tmp___31 ;
  char const   *encoding ;
  char const   *tmp___32 ;
  char const __attribute__((__format_arg__(1)))  *tmp___33 ;
  int tmp___34 ;
  int tmp___35 ;
  size_t tmp___36 ;
  int tmp___37 ;
  enum todo_command tmp___38 ;
  int tmp___39 ;
  enum todo_command tmp___40 ;
  int tmp___41 ;
  int tmp___42 ;
  char const   *tmp___43 ;
  int tmp___44 ;
  char const   *tmp___45 ;
  int tmp___46 ;
  char const __attribute__((__format_arg__(1)))  *tmp___47 ;
  int tmp___48 ;
  struct ref_store *tmp___49 ;
  int tmp___50 ;
  struct ref_store *tmp___51 ;
  int tmp___52 ;
  char const   *tmp___53 ;
  char const __attribute__((__format_arg__(1)))  *tmp___54 ;
  int tmp___55 ;
  char const   *tmp___56 ;
  int tmp___57 ;
  int *tmp___58 ;
  char const __attribute__((__format_arg__(1)))  *tmp___59 ;
  int tmp___60 ;
  char const   *tmp___61 ;
  char const   *tmp___62 ;
  int tmp___63 ;
  char const   *tmp___64 ;
  char const   *tmp___65 ;
  char const   *tmp___66 ;
  char const   *tmp___67 ;
  char const   *tmp___68 ;
  char const   *tmp___69 ;

  {
  flags___0 = (unsigned int )(1 | (1 << 1));
  final_fixup = 0U;
  tmp___1 = has_unstaged_changes(r, 1);
  if (tmp___1) {
    tmp = _((char const   *)"cannot rebase: You have unstaged changes.");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  tmp___2 = has_uncommitted_changes(r, 0);
  if (tmp___2) {
    tmp___3 = 0;
  } else {
    tmp___3 = 1;
  }
  is_clean = (unsigned int )tmp___3;
  tmp___45 = rebase_path_amend();
  tmp___46 = file_exists(tmp___45);
  if (tmp___46) {
    rev.alloc = 0UL;
    rev.len = 0UL;
    rev.buf = strbuf_slopbuf;
    tmp___6 = repo_get_oid(the_repository, (char const   *)"HEAD", & head___1);
    if (tmp___6) {
      tmp___4 = _((char const   *)"cannot amend non-existing commit");
      error((char const   *)tmp___4);
      tmp___5 = const_error();
      return (tmp___5);
    }
    tmp___10 = rebase_path_amend();
    tmp___11 = read_oneliner(& rev, tmp___10, 0U);
    if (! tmp___11) {
      tmp___7 = rebase_path_amend();
      tmp___8 = _((char const   *)"invalid file: \'%s\'");
      error((char const   *)tmp___8, tmp___7);
      tmp___9 = const_error();
      return (tmp___9);
    }
    tmp___15 = get_oid_hex((char const   *)rev.buf, & to_amend);
    if (tmp___15) {
      tmp___12 = rebase_path_amend();
      tmp___13 = _((char const   *)"invalid contents: \'%s\'");
      error((char const   *)tmp___13, tmp___12);
      tmp___14 = const_error();
      return (tmp___14);
    }
    if (! is_clean) {
      tmp___18 = oideq((struct object_id  const  *)(& head___1), (struct object_id  const  *)(& to_amend));
      if (! tmp___18) {
        tmp___16 = _((char const   *)"\nYou have uncommitted changes in your working tree. Please, commit them\nfirst and then run \'git rebase --continue\' again.");
        error((char const   *)tmp___16);
        tmp___17 = const_error();
        return (tmp___17);
      }
    }
    if (! (! is_clean)) {
      if (! (! opts___1->current_fixup_count)) {
        tmp___42 = oideq((struct object_id  const  *)(& head___1), (struct object_id  const  *)(& to_amend));
        if (tmp___42) {
          tmp___43 = rebase_path_stopped_sha();
          tmp___44 = file_exists(tmp___43);
          if (tmp___44) {
            p___0 = (char const   *)opts___1->current_fixups.buf;
            len___0 = (int )opts___1->current_fixups.len;
            (opts___1->current_fixup_count) --;
            if (! len___0) {
              BUG_fl((char const   *)"sequencer.c", 4688, (char const   *)"Incorrect current_fixups:\n%s",
                     p___0);
            }
            {
            while (1) {
              while_continue: /* CIL Label */ ;
              if (len___0) {
                if (! ((int const   )*(p___0 + (len___0 - 1)) != 10)) {
                  goto while_break;
                }
              } else {
                goto while_break;
              }
              len___0 --;
            }
            while_break: /* CIL Label */ ;
            }
            strbuf_setlen(& opts___1->current_fixups, (size_t )len___0);
            tmp___27 = rebase_path_current_fixups();
            tmp___28 = write_message((void const   *)p___0, (size_t )len___0, tmp___27,
                                     0);
            if (tmp___28 < 0) {
              tmp___24 = rebase_path_current_fixups();
              tmp___25 = _((char const   *)"could not write file: \'%s\'");
              error((char const   *)tmp___25, tmp___24);
              tmp___26 = const_error();
              return (tmp___26);
            }
            if (opts___1->current_fixup_count > 0) {
              tmp___40 = peek_command(todo_list, 0);
              tmp___41 = is_fixup(tmp___40);
              if (tmp___41) {
                goto _L;
              } else {
                final_fixup = 1U;
                tmp___29 = starts_with(p___0, (char const   *)"squash ");
                if (! tmp___29) {
                  tmp___30 = strstr(p___0, (char const   *)"\nsquash ");
                  if (! tmp___30) {
                    flags___0 = (flags___0 & (unsigned int )(~ (1 << 1))) | (unsigned int )(1 << 3);
                  }
                }
              }
            } else {
              _L: /* CIL Label */
              tmp___38 = peek_command(todo_list, 0);
              tmp___39 = is_fixup(tmp___38);
              if (tmp___39) {
                tmp___31 = rebase_path_squash_msg();
                path___6 = tmp___31;
                tmp___32 = get_commit_output_encoding();
                encoding = tmp___32;
                tmp___35 = parse_head(r, & commit);
                if (tmp___35) {
                  repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit,
                                           (void const   *)p___0);
                  tmp___33 = _((char const   *)"could not write file: \'%s\'");
                  error((char const   *)tmp___33, path___6);
                  tmp___34 = const_error();
                  return (tmp___34);
                } else {
                  p___0 = repo_logmsg_reencode(the_repository, (struct commit  const  *)commit,
                                               (char **)((void *)0), encoding);
                  if (p___0) {
                    tmp___36 = strlen(p___0);
                    tmp___37 = write_message((void const   *)p___0, tmp___36, path___6,
                                             0);
                    if (tmp___37) {
                      repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit,
                                               (void const   *)p___0);
                      tmp___33 = _((char const   *)"could not write file: \'%s\'");
                      error((char const   *)tmp___33, path___6);
                      tmp___34 = const_error();
                      return (tmp___34);
                    }
                  } else {
                    repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit,
                                             (void const   *)p___0);
                    tmp___33 = _((char const   *)"could not write file: \'%s\'");
                    error((char const   *)tmp___33, path___6);
                    tmp___34 = const_error();
                    return (tmp___34);
                  }
                }
                repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit,
                                         (void const   *)p___0);
              }
            }
          } else {
            _L___0: /* CIL Label */
            tmp___22 = peek_command(todo_list, 0);
            tmp___23 = is_fixup(tmp___22);
            if (! tmp___23) {
              tmp___19 = rebase_path_fixup_msg();
              unlink(tmp___19);
              tmp___20 = rebase_path_squash_msg();
              unlink(tmp___20);
              tmp___21 = rebase_path_current_fixups();
              unlink(tmp___21);
              strbuf_setlen(& opts___1->current_fixups, (size_t )0);
              opts___1->current_fixup_count = 0;
            }
          }
        } else {
          goto _L___0;
        }
      }
    }
    strbuf_release(& rev);
    flags___0 |= (unsigned int )(1 << 2);
  }
  if (is_clean) {
    tmp___49 = get_main_ref_store(r);
    tmp___50 = refs_ref_exists(tmp___49, (char const   *)"CHERRY_PICK_HEAD");
    if (tmp___50) {
      tmp___51 = get_main_ref_store(r);
      tmp___52 = refs_delete_ref(tmp___51, (char const   *)"", (char const   *)"CHERRY_PICK_HEAD",
                                 (struct object_id  const  *)((void *)0), 0U);
      if (tmp___52) {
        tmp___47 = _((char const   *)"could not remove CHERRY_PICK_HEAD");
        error((char const   *)tmp___47);
        tmp___48 = const_error();
        return (tmp___48);
      }
    }
    tmp___56 = git_path_merge_msg(r);
    tmp___57 = unlink(tmp___56);
    if (tmp___57) {
      tmp___58 = __errno_location();
      if (*tmp___58 != 2) {
        tmp___53 = git_path_merge_msg(r);
        tmp___54 = _((char const   *)"could not remove \'%s\'");
        error_errno((char const   *)tmp___54, tmp___53);
        tmp___55 = const_error();
        return (tmp___55);
      }
    }
    if (! final_fixup) {
      return (0);
    }
  }
  if (final_fixup) {
    tmp___62 = (char const   *)((void *)0);
  } else {
    tmp___61 = rebase_path_message();
    tmp___62 = tmp___61;
  }
  tmp___63 = run_git_commit(tmp___62, opts___1, flags___0);
  if (tmp___63) {
    tmp___59 = _((char const   *)"could not commit staged changes.");
    error((char const   *)tmp___59);
    tmp___60 = const_error();
    return (tmp___60);
  }
  tmp___64 = rebase_path_amend();
  unlink(tmp___64);
  tmp___65 = git_path_merge_head(r);
  unlink(tmp___65);
  tmp___66 = git_path_auto_merge(r);
  unlink(tmp___66);
  if (final_fixup) {
    tmp___67 = rebase_path_fixup_msg();
    unlink(tmp___67);
    tmp___68 = rebase_path_squash_msg();
    unlink(tmp___68);
  }
  if (opts___1->current_fixup_count > 0) {
    tmp___69 = rebase_path_current_fixups();
    unlink(tmp___69);
    strbuf_setlen(& opts___1->current_fixups, (size_t )0);
    opts___1->current_fixup_count = 0;
  }
  return (0);
}
}
int sequencer_continue(struct repository *r , struct replay_opts *opts___1 )
{
  struct todo_list todo_list ;
  int res ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const   *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  struct ref_store *tmp___9 ;
  int tmp___10 ;
  struct ref_store *tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  struct strbuf buf___19 ;
  struct object_id oid ;
  enum todo_command tmp___14 ;
  char const   *tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  char const   *tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;

  {
  todo_list.buf.alloc = 0UL;
  todo_list.buf.len = 0UL;
  todo_list.buf.buf = strbuf_slopbuf;
  todo_list.items = (struct todo_item *)0;
  todo_list.nr = 0;
  todo_list.alloc = 0;
  todo_list.current = 0;
  todo_list.done_nr = 0;
  todo_list.total_nr = 0;
  tmp = read_and_refresh_cache(r, opts___1);
  if (tmp) {
    return (-1);
  }
  tmp___0 = read_populate_opts(opts___1);
  if (tmp___0) {
    return (-1);
  }
  tmp___8 = is_rebase_i((struct replay_opts  const  *)opts___1);
  if (tmp___8) {
    res = read_populate_todo(r, & todo_list, opts___1);
    if (res) {
      goto release_todo_list;
    }
    tmp___2 = rebase_path_dropped();
    tmp___3 = file_exists(tmp___2);
    if (tmp___3) {
      res = todo_list_check_against_backup(r, & todo_list);
      if (res) {
        goto release_todo_list;
      }
      tmp___1 = rebase_path_dropped();
      unlink(tmp___1);
    }
    tmp___4 = commit_staged_changes(r, opts___1, & todo_list);
    if (tmp___4) {
      res = -1;
      goto release_todo_list;
    }
  } else {
    tmp___6 = get_todo_path((struct replay_opts  const  *)opts___1);
    tmp___7 = file_exists(tmp___6);
    if (tmp___7) {
      res = read_populate_todo(r, & todo_list, opts___1);
      if (res) {
        goto release_todo_list;
      }
    } else {
      tmp___5 = continue_single_pick(r, opts___1);
      return (tmp___5);
    }
  }
  tmp___20 = is_rebase_i((struct replay_opts  const  *)opts___1);
  if (tmp___20) {
    tmp___18 = rebase_path_stopped_sha();
    tmp___19 = file_exists(tmp___18);
    if (tmp___19) {
      buf___19.alloc = 0UL;
      buf___19.len = 0UL;
      buf___19.buf = strbuf_slopbuf;
      tmp___15 = rebase_path_stopped_sha();
      tmp___16 = read_oneliner(& buf___19, tmp___15, 1U);
      if (tmp___16) {
        tmp___17 = get_oid_hex((char const   *)buf___19.buf, & oid);
        if (! tmp___17) {
          tmp___14 = peek_command(& todo_list, 0);
          record_in_rewritten(& oid, tmp___14);
        }
      }
      strbuf_release(& buf___19);
    }
  } else {
    tmp___9 = get_main_ref_store(r);
    tmp___10 = refs_ref_exists(tmp___9, (char const   *)"CHERRY_PICK_HEAD");
    if (tmp___10) {
      goto _L;
    } else {
      tmp___11 = get_main_ref_store(r);
      tmp___12 = refs_ref_exists(tmp___11, (char const   *)"REVERT_HEAD");
      if (tmp___12) {
        _L: /* CIL Label */
        res = continue_single_pick(r, opts___1);
        if (res) {
          goto release_todo_list;
        }
      }
    }
    tmp___13 = index_differs_from(r, (char const   *)"HEAD", (struct diff_flags  const  *)((void *)0),
                                  0);
    if (tmp___13) {
      res = error_dirty_index(r, opts___1);
      goto release_todo_list;
    }
    (todo_list.current) ++;
  }
  res = pick_commits(r, & todo_list, opts___1);
  release_todo_list:
  todo_list_release(& todo_list);
  return (res);
}
}
static int single_pick(struct repository *r , struct commit *cmit , struct replay_opts *opts___1 )
{
  int check_todo ;
  struct todo_item item___0 ;
  char const   *tmp ;
  int tmp___0 ;

  {
  if ((unsigned int )opts___1->action == 1U) {
    item___0.command = (enum todo_command )0;
  } else {
    item___0.command = (enum todo_command )1;
  }
  item___0.commit = cmit;
  tmp = action_name((struct replay_opts  const  *)opts___1);
  setenv((char const   *)"GIT_REFLOG_ACTION", tmp, 0);
  tmp___0 = do_pick_commit(r, & item___0, opts___1, 0, & check_todo);
  return (tmp___0);
}
}
int sequencer_pick_revisions(struct repository *r , struct replay_opts *opts___1 )
{
  struct todo_list todo_list ;
  struct object_id oid ;
  int i ;
  int res ;
  int tmp ;
  struct object_id oid___0 ;
  char const   *name___0 ;
  size_t tmp___0 ;
  enum object_type type___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  struct commit *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  struct commit *cmit ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  struct commit *tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  char *tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;

  {
  todo_list.buf.alloc = 0UL;
  todo_list.buf.len = 0UL;
  todo_list.buf.buf = strbuf_slopbuf;
  todo_list.items = (struct todo_item *)0;
  todo_list.nr = 0;
  todo_list.alloc = 0;
  todo_list.current = 0;
  todo_list.done_nr = 0;
  todo_list.total_nr = 0;
  assert((int )opts___1->revs);
  tmp = read_and_refresh_cache(r, opts___1);
  if (tmp) {
    return (-1);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < (opts___1->revs)->pending.nr)) {
      goto while_break;
    }
    name___0 = (char const   *)((opts___1->revs)->pending.objects + i)->name;
    tmp___0 = strlen(name___0);
    if (! tmp___0) {
      goto __Cont;
    }
    tmp___8 = repo_get_oid(the_repository, name___0, & oid___0);
    if (tmp___8) {
      tmp___6 = _((char const   *)"%s: bad revision");
      error((char const   *)tmp___6, name___0);
      tmp___7 = const_error();
      return (tmp___7);
    } else {
      tmp___5 = lookup_commit_reference_gently(r, (struct object_id  const  *)(& oid___0),
                                               1);
      if (! tmp___5) {
        tmp___1 = oid_object_info(r, (struct object_id  const  *)(& oid___0), (unsigned long *)((void *)0));
        type___0 = (enum object_type )tmp___1;
        tmp___2 = type_name((unsigned int )type___0);
        tmp___3 = _((char const   *)"%s: can\'t cherry-pick a %s");
        error((char const   *)tmp___3, name___0, tmp___2);
        tmp___4 = const_error();
        return (tmp___4);
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if ((opts___1->revs)->cmdline.nr == 1U) {
    if ((unsigned int )((opts___1->revs)->cmdline.rev)->whence == 5U) {
      if ((opts___1->revs)->no_walk) {
        if (! ((opts___1->revs)->cmdline.rev)->flags) {
          tmp___11 = prepare_revision_walk(opts___1->revs);
          if (tmp___11) {
            tmp___9 = _((char const   *)"revision walk setup failed");
            error((char const   *)tmp___9);
            tmp___10 = const_error();
            return (tmp___10);
          }
          cmit = get_revision(opts___1->revs);
          if (! cmit) {
            tmp___12 = _((char const   *)"empty commit set passed");
            error((char const   *)tmp___12);
            tmp___13 = const_error();
            return (tmp___13);
          }
          tmp___14 = get_revision(opts___1->revs);
          if (tmp___14) {
            BUG_fl((char const   *)"sequencer.c", 4904, (char const   *)"unexpected extra commit from walk");
          }
          tmp___15 = single_pick(r, cmit, opts___1);
          return (tmp___15);
        }
      }
    }
  }
  tmp___16 = walk_revs_populate_todo(& todo_list, opts___1);
  if (tmp___16) {
    return (-1);
  } else {
    tmp___17 = create_seq_dir(r);
    if (tmp___17 < 0) {
      return (-1);
    }
  }
  tmp___20 = repo_get_oid(the_repository, (char const   *)"HEAD", & oid);
  if (tmp___20) {
    if ((unsigned int )opts___1->action == 0U) {
      tmp___18 = _((char const   *)"can\'t revert as initial commit");
      error((char const   *)tmp___18);
      tmp___19 = const_error();
      return (tmp___19);
    }
  }
  tmp___21 = oid_to_hex((struct object_id  const  *)(& oid));
  tmp___22 = save_head((char const   *)tmp___21);
  if (tmp___22) {
    return (-1);
  }
  tmp___23 = save_opts(opts___1);
  if (tmp___23) {
    return (-1);
  }
  update_abort_safety_file();
  res = pick_commits(r, & todo_list, opts___1);
  todo_list_release(& todo_list);
  return (res);
}
}
void append_signoff(struct strbuf *msgbuf___0 , size_t ignore_footer , unsigned int flag )
{
  unsigned int no_dup_sob ;
  struct strbuf sob ;
  int has_footer ;
  char const   *tmp ;
  int tmp___0 ;
  char const   *append_newlines ;
  size_t len___0 ;
  size_t tmp___1 ;

  {
  no_dup_sob = flag & 1u;
  sob.alloc = 0UL;
  sob.len = 0UL;
  sob.buf = strbuf_slopbuf;
  strbuf_addstr(& sob, sign_off_header);
  tmp = fmt_name((enum want_ident )2);
  strbuf_addstr(& sob, tmp);
  strbuf_addch(& sob, '\n');
  if (! ignore_footer) {
    strbuf_complete_line(msgbuf___0);
  }
  if (msgbuf___0->len - ignore_footer == sob.len) {
    tmp___0 = strncmp((char const   *)msgbuf___0->buf, (char const   *)sob.buf, sob.len);
    if (tmp___0) {
      has_footer = has_conforming_footer(msgbuf___0, & sob, ignore_footer);
    } else {
      has_footer = 3;
    }
  } else {
    has_footer = has_conforming_footer(msgbuf___0, & sob, ignore_footer);
  }
  if (! has_footer) {
    append_newlines = (char const   *)((void *)0);
    len___0 = msgbuf___0->len - ignore_footer;
    if (! len___0) {
      append_newlines = (char const   *)"\n\n";
    } else
    if (len___0 == 1UL) {
      append_newlines = (char const   *)"\n";
    } else
    if ((int )*(msgbuf___0->buf + (len___0 - 2UL)) != 10) {
      append_newlines = (char const   *)"\n";
    }
    if (append_newlines) {
      tmp___1 = strlen(append_newlines);
      strbuf_splice(msgbuf___0, msgbuf___0->len - ignore_footer, (size_t )0, (void const   *)append_newlines,
                    tmp___1);
    }
  }
  if (has_footer != 3) {
    if (! no_dup_sob) {
      strbuf_splice(msgbuf___0, msgbuf___0->len - ignore_footer, (size_t )0, (void const   *)sob.buf,
                    sob.len);
    } else
    if (has_footer != 2) {
      strbuf_splice(msgbuf___0, msgbuf___0->len - ignore_footer, (size_t )0, (void const   *)sob.buf,
                    sob.len);
    }
  }
  strbuf_release(& sob);
  return;
}
}
static int labels_cmp(void const   *fndata , struct hashmap_entry  const  *eptr ,
                      struct hashmap_entry  const  *entry_or_key , void const   *key___1 )
{
  struct labels_entry  const  *a ;
  struct labels_entry  const  *b___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  a = (struct labels_entry  const  *)((char *)eptr - (unsigned long )(& ((struct labels_entry  const  *)0)->entry));
  b___0 = (struct labels_entry  const  *)((char *)entry_or_key - (unsigned long )(& ((struct labels_entry  const  *)0)->entry));
  if (key___1) {
    tmp = strcmp((char const   *)(a->label), (char const   *)key___1);
    tmp___1 = tmp;
  } else {
    tmp___0 = strcmp((char const   *)(a->label), (char const   *)(b___0->label));
    tmp___1 = tmp___0;
  }
  return (tmp___1);
}
}
static char const   *label_oid(struct object_id *oid , char const   *label , struct label_state *state___1 )
{
  struct labels_entry *labels_entry ;
  struct string_entry *string_entry ;
  struct object_id dummy___0 ;
  int i ;
  void *tmp ;
  char *p___0 ;
  size_t i___0 ;
  size_t tmp___0 ;
  char save ;
  unsigned int tmp___1 ;
  struct hashmap_entry *tmp___2 ;
  unsigned int tmp___3 ;
  struct hashmap_entry *tmp___4 ;
  struct strbuf *buf___19 ;
  size_t len___0 ;
  unsigned int tmp___5 ;
  struct hashmap_entry *tmp___6 ;
  int tmp___7 ;
  unsigned int tmp___8 ;
  struct hashmap_entry *tmp___9 ;
  size_t flex_array_len_ ;
  size_t tmp___10 ;
  size_t tmp___11 ;
  size_t tmp___12 ;
  void *tmp___13 ;
  unsigned int tmp___14 ;
  size_t flex_array_len____0 ;
  size_t tmp___15 ;
  size_t tmp___16 ;
  size_t tmp___17 ;
  void *tmp___18 ;

  {
  tmp = oidmap_get((struct oidmap  const  *)(& state___1->commit2label), (struct object_id  const  *)oid);
  string_entry = (struct string_entry *)tmp;
  if (string_entry) {
    return ((char const   *)(string_entry->string));
  }
  strbuf_setlen(& state___1->buf, (size_t )0);
  if (! label) {
    strbuf_grow(& state___1->buf, (size_t )64);
    p___0 = state___1->buf.buf;
    label = (char const   *)p___0;
    repo_find_unique_abbrev_r(the_repository, p___0, (struct object_id  const  *)oid,
                              default_abbrev);
    tmp___3 = strihash((char const   *)p___0);
    tmp___4 = hashmap_get_from_hash((struct hashmap  const  *)(& state___1->labels),
                                    tmp___3, (void const   *)p___0);
    if (tmp___4) {
      tmp___0 = strlen((char const   *)p___0);
      i___0 = tmp___0 + 1UL;
      oid_to_hex_r(p___0, (struct object_id  const  *)oid);
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! (i___0 < (size_t )(the_repository->hash_algo)->hexsz)) {
          goto while_break;
        }
        save = *(p___0 + i___0);
        *(p___0 + i___0) = (char )'\000';
        tmp___1 = strihash((char const   *)p___0);
        tmp___2 = hashmap_get_from_hash((struct hashmap  const  *)(& state___1->labels),
                                        tmp___1, (void const   *)p___0);
        if (! tmp___2) {
          goto while_break;
        }
        *(p___0 + i___0) = save;
        i___0 ++;
      }
      while_break: /* CIL Label */ ;
      }
    }
  } else {
    buf___19 = & state___1->buf;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! *label) {
        goto while_break___0;
      }
      if ((int const   )*label & 128) {
        strbuf_addch(buf___19, (int )*label);
      } else
      if (((int const   )sane_ctype[(unsigned char )*label] & 6) != 0) {
        strbuf_addch(buf___19, (int )*label);
      } else
      if (buf___19->len) {
        if ((int )*(buf___19->buf + (buf___19->len - 1UL)) != 45) {
          strbuf_addch(buf___19, '-');
        }
      }
      label ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! buf___19->len) {
      strbuf_addstr(buf___19, (char const   *)"rev-");
      strbuf_add_unique_abbrev(buf___19, (struct object_id  const  *)oid, default_abbrev);
    }
    label = (char const   *)buf___19->buf;
    if (buf___19->len == (size_t )(the_repository->hash_algo)->hexsz) {
      tmp___7 = get_oid_hex(label, & dummy___0);
      if (tmp___7) {
        goto _L___1;
      } else {
        goto _L;
      }
    } else
    _L___1: /* CIL Label */
    if (buf___19->len == 1UL) {
      if ((int const   )*label == 35) {
        goto _L;
      } else {
        goto _L___0;
      }
    } else {
      _L___0: /* CIL Label */
      tmp___8 = strihash(label);
      tmp___9 = hashmap_get_from_hash((struct hashmap  const  *)(& state___1->labels),
                                      tmp___8, (void const   *)label);
      if (tmp___9) {
        _L: /* CIL Label */
        len___0 = buf___19->len;
        i = 2;
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          strbuf_setlen(buf___19, len___0);
          strbuf_addf(buf___19, (char const   *)"-%d", i);
          tmp___5 = strihash((char const   *)buf___19->buf);
          tmp___6 = hashmap_get_from_hash((struct hashmap  const  *)(& state___1->labels),
                                          tmp___5, (void const   *)buf___19->buf);
          if (! tmp___6) {
            goto while_break___1;
          }
          i ++;
        }
        while_break___1: /* CIL Label */ ;
        }
        label = (char const   *)buf___19->buf;
      }
    }
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    tmp___10 = strlen(label);
    flex_array_len_ = tmp___10;
    tmp___11 = st_add(sizeof(*labels_entry), flex_array_len_);
    tmp___12 = st_add(tmp___11, (size_t )1);
    tmp___13 = xcalloc((size_t )1, tmp___12);
    labels_entry = (struct labels_entry *)tmp___13;
    memcpy((void *)(labels_entry->label), (void const   *)label, flex_array_len_);
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  tmp___14 = strihash(label);
  hashmap_entry_init(& labels_entry->entry, tmp___14);
  hashmap_add(& state___1->labels, & labels_entry->entry);
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    tmp___15 = strlen(label);
    flex_array_len____0 = tmp___15;
    tmp___16 = st_add(sizeof(*string_entry), flex_array_len____0);
    tmp___17 = st_add(tmp___16, (size_t )1);
    tmp___18 = xcalloc((size_t )1, tmp___17);
    string_entry = (struct string_entry *)tmp___18;
    memcpy((void *)(string_entry->string), (void const   *)label, flex_array_len____0);
    goto while_break___3;
  }
  while_break___3: /* CIL Label */ ;
  }
  oidcpy(& string_entry->entry.oid, (struct object_id  const  *)oid);
  oidmap_put(& state___1->commit2label, (void *)string_entry);
  return ((char const   *)(string_entry->string));
}
}
static int make_script_with_merges(struct pretty_print_context *pp , struct rev_info *revs ,
                                   struct strbuf *out , unsigned int flags___0 )
{
  int keep_empty ;
  int rebase_cousins ;
  int root_with_onto ;
  int skipped_commit ;
  struct strbuf buf___19 ;
  struct strbuf oneline ;
  struct strbuf label ;
  struct commit_list *commits ;
  struct commit_list **tail ;
  struct commit_list *iter___0 ;
  struct commit_list *tips ;
  struct commit_list **tips_tail ;
  struct commit *commit ;
  struct oidmap commit2todo ;
  struct string_entry *entry ;
  struct oidset interesting___1 ;
  struct oidset child_seen ;
  struct oidset shown ;
  struct label_state state___1 ;
  int abbr ;
  char const   *cmd_pick ;
  char *tmp ;
  char const   *cmd_label ;
  char *tmp___0 ;
  char const   *cmd_reset___0 ;
  char *tmp___1 ;
  char const   *cmd_merge___0 ;
  char *tmp___2 ;
  struct labels_entry *onto_label_entry ;
  struct object_id *oid ;
  size_t flex_array_len_ ;
  size_t tmp___3 ;
  size_t tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  size_t flex_array_len____0 ;
  size_t tmp___7 ;
  size_t tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  unsigned int tmp___11 ;
  struct commit_list *to_merge ;
  char const   *p1 ;
  char const   *p2 ;
  struct object_id *oid___0 ;
  int is_empty___0 ;
  struct commit_list *tmp___12 ;
  char const   *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char *tmp___15 ;
  size_t flex_array_len____1 ;
  size_t tmp___16 ;
  size_t tmp___17 ;
  size_t tmp___18 ;
  void *tmp___19 ;
  size_t tmp___20 ;
  int tmp___21 ;
  char *tmp___22 ;
  int tmp___23 ;
  char *tmp___24 ;
  char *tmp___25 ;
  char *tmp___26 ;
  char const   *tmp___27 ;
  int tmp___28 ;
  struct commit_list *tmp___29 ;
  char const   *tmp___30 ;
  size_t flex_array_len____2 ;
  size_t tmp___31 ;
  size_t tmp___32 ;
  size_t tmp___33 ;
  void *tmp___34 ;
  char const __attribute__((__format_arg__(1)))  *tmp___35 ;
  struct commit_list *parent ;
  struct object_id *oid___1 ;
  int tmp___36 ;
  int tmp___37 ;
  struct commit_list *tmp___38 ;
  struct commit_list *list___3 ;
  struct commit_list *iter2 ;
  int tmp___39 ;
  void *tmp___40 ;
  int tmp___41 ;
  int tmp___42 ;
  char *tmp___43 ;
  char const   *to ;
  void *tmp___44 ;
  int tmp___45 ;
  struct object_id *oid___2 ;
  void *tmp___46 ;
  void *tmp___47 ;

  {
  keep_empty = (int )(flags___0 & 1U);
  rebase_cousins = (int )(flags___0 & (1U << 4));
  root_with_onto = (int )(flags___0 & (1U << 6));
  skipped_commit = 0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  oneline.alloc = 0UL;
  oneline.len = 0UL;
  oneline.buf = strbuf_slopbuf;
  label.alloc = 0UL;
  label.len = 0UL;
  label.buf = strbuf_slopbuf;
  commits = (struct commit_list *)((void *)0);
  tail = & commits;
  tips = (struct commit_list *)((void *)0);
  tips_tail = & tips;
  commit2todo.map.table = (struct hashmap_entry **)((void *)0);
  commit2todo.map.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                   struct hashmap_entry  const  *entry_or_key , void const   *keydata ))0;
  commit2todo.map.cmpfn_data = (void const   *)0;
  commit2todo.map.private_size = 0U;
  commit2todo.map.tablesize = 0U;
  commit2todo.map.grow_at = 0U;
  commit2todo.map.shrink_at = 0U;
  commit2todo.map.do_count_items = 0U;
  interesting___1.set.n_buckets = (khint_t )0;
  interesting___1.set.size = 0U;
  interesting___1.set.n_occupied = 0U;
  interesting___1.set.upper_bound = 0U;
  interesting___1.set.flags = (khint32_t *)0;
  interesting___1.set.keys = (struct object_id *)0;
  interesting___1.set.vals = (int *)0;
  child_seen.set.n_buckets = (khint_t )0;
  child_seen.set.size = 0U;
  child_seen.set.n_occupied = 0U;
  child_seen.set.upper_bound = 0U;
  child_seen.set.flags = (khint32_t *)0;
  child_seen.set.keys = (struct object_id *)0;
  child_seen.set.vals = (int *)0;
  shown.set.n_buckets = (khint_t )0;
  shown.set.size = 0U;
  shown.set.n_occupied = 0U;
  shown.set.upper_bound = 0U;
  shown.set.flags = (khint32_t *)0;
  shown.set.keys = (struct object_id *)0;
  shown.set.vals = (int *)0;
  state___1.commit2label.map.table = (struct hashmap_entry **)((void *)0);
  state___1.commit2label.map.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data ,
                                              struct hashmap_entry  const  *entry ,
                                              struct hashmap_entry  const  *entry_or_key ,
                                              void const   *keydata ))0;
  state___1.commit2label.map.cmpfn_data = (void const   *)0;
  state___1.commit2label.map.private_size = 0U;
  state___1.commit2label.map.tablesize = 0U;
  state___1.commit2label.map.grow_at = 0U;
  state___1.commit2label.map.shrink_at = 0U;
  state___1.commit2label.map.do_count_items = 0U;
  state___1.labels.table = (struct hashmap_entry **)((void *)0);
  state___1.labels.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                    struct hashmap_entry  const  *entry_or_key , void const   *keydata ))0;
  state___1.labels.cmpfn_data = (void const   *)0;
  state___1.labels.private_size = 0U;
  state___1.labels.tablesize = 0U;
  state___1.labels.grow_at = 0U;
  state___1.labels.shrink_at = 0U;
  state___1.labels.do_count_items = 0U;
  state___1.buf.alloc = 0UL;
  state___1.buf.len = 0UL;
  state___1.buf.buf = strbuf_slopbuf;
  abbr = (int )(flags___0 & (1U << 2));
  if (abbr) {
    tmp = "p";
  } else {
    tmp = "pick";
  }
  cmd_pick = (char const   *)tmp;
  if (abbr) {
    tmp___0 = "l";
  } else {
    tmp___0 = "label";
  }
  cmd_label = (char const   *)tmp___0;
  if (abbr) {
    tmp___1 = "t";
  } else {
    tmp___1 = "reset";
  }
  cmd_reset___0 = (char const   *)tmp___1;
  if (abbr) {
    tmp___2 = "m";
  } else {
    tmp___2 = "merge";
  }
  cmd_merge___0 = (char const   *)tmp___2;
  oidmap_init(& commit2todo, (size_t )0);
  oidmap_init(& state___1.commit2label, (size_t )0);
  hashmap_init(& state___1.labels, & labels_cmp, (void const   *)((void *)0), (size_t )0);
  strbuf_init(& state___1.buf, (size_t )32);
  if (revs->cmdline.nr) {
    if ((revs->cmdline.rev + 0)->flags & (1u << 10)) {
      oid = & ((revs->cmdline.rev + 0)->item)->oid;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        tmp___3 = strlen((char const   *)"onto");
        flex_array_len_ = tmp___3;
        tmp___4 = st_add(sizeof(*entry), flex_array_len_);
        tmp___5 = st_add(tmp___4, (size_t )1);
        tmp___6 = xcalloc((size_t )1, tmp___5);
        entry = (struct string_entry *)tmp___6;
        memcpy((void *)(entry->string), (void const   *)"onto", flex_array_len_);
        goto while_break;
      }
      while_break: /* CIL Label */ ;
      }
      oidcpy(& entry->entry.oid, (struct object_id  const  *)oid);
      oidmap_put(& state___1.commit2label, (void *)entry);
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        tmp___7 = strlen((char const   *)"onto");
        flex_array_len____0 = tmp___7;
        tmp___8 = st_add(sizeof(*onto_label_entry), flex_array_len____0);
        tmp___9 = st_add(tmp___8, (size_t )1);
        tmp___10 = xcalloc((size_t )1, tmp___9);
        onto_label_entry = (struct labels_entry *)tmp___10;
        memcpy((void *)(onto_label_entry->label), (void const   *)"onto", flex_array_len____0);
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
      tmp___11 = strihash((char const   *)"onto");
      hashmap_entry_init(& onto_label_entry->entry, tmp___11);
      hashmap_add(& state___1.labels, & onto_label_entry->entry);
    }
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    commit = get_revision(revs);
    if (! commit) {
      goto while_break___1;
    }
    tmp___12 = commit_list_insert(commit, tail);
    tail = & tmp___12->next;
    oidset_insert(& interesting___1, (struct object_id  const  *)(& commit->object.oid));
    is_empty___0 = is_original_commit_empty(commit);
    if (! is_empty___0) {
      if (commit->object.flags & (1u << 9)) {
        if (flags___0 & (1U << 8)) {
          tmp___13 = short_commit_name(commit);
          tmp___14 = _((char const   *)"skipped previously applied commit %s");
          warning((char const   *)tmp___14, tmp___13);
        }
        skipped_commit = 1;
        goto while_continue___1;
      }
    }
    if (is_empty___0) {
      if (! keep_empty) {
        goto while_continue___1;
      }
    }
    strbuf_setlen(& oneline, (size_t )0);
    pretty_print_commit(pp, (struct commit  const  *)commit, & oneline);
    if (commit->parents) {
      to_merge = (commit->parents)->next;
    } else {
      to_merge = (struct commit_list *)((void *)0);
    }
    if (! to_merge) {
      strbuf_setlen(& buf___19, (size_t )0);
      tmp___15 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
      strbuf_addf(& buf___19, (char const   *)"%s %s %s", cmd_pick, tmp___15, oneline.buf);
      if (is_empty___0) {
        strbuf_addf(& buf___19, (char const   *)" %c empty", (int )comment_line_char);
      }
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        tmp___16 = strlen((char const   *)buf___19.buf);
        flex_array_len____1 = tmp___16;
        tmp___17 = st_add(sizeof(*entry), flex_array_len____1);
        tmp___18 = st_add(tmp___17, (size_t )1);
        tmp___19 = xcalloc((size_t )1, tmp___18);
        entry = (struct string_entry *)tmp___19;
        memcpy((void *)(entry->string), (void const   *)buf___19.buf, flex_array_len____1);
        goto while_break___2;
      }
      while_break___2: /* CIL Label */ ;
      }
      oidcpy(& entry->entry.oid, (struct object_id  const  *)(& commit->object.oid));
      oidmap_put(& commit2todo, (void *)entry);
      goto while_continue___1;
    }
    strbuf_setlen(& label, (size_t )0);
    tmp___23 = skip_prefix((char const   *)oneline.buf, (char const   *)"Merge ",
                           & p1);
    if (tmp___23) {
      tmp___24 = strchr(p1, '\'');
      p1 = (char const   *)tmp___24;
      if (p1) {
        p1 ++;
        tmp___25 = strchr(p1, '\'');
        p2 = (char const   *)tmp___25;
        if (p2) {
          strbuf_add(& label, (void const   *)p1, (size_t )(p2 - p1));
        } else {
          goto _L___0;
        }
      } else {
        goto _L___0;
      }
    } else {
      _L___0: /* CIL Label */
      _L: /* CIL Label */
      tmp___21 = skip_prefix((char const   *)oneline.buf, (char const   *)"Merge pull request ",
                             & p1);
      if (tmp___21) {
        tmp___22 = strstr(p1, (char const   *)" from ");
        p1 = (char const   *)tmp___22;
        if (p1) {
          tmp___20 = strlen((char const   *)" from ");
          strbuf_addstr(& label, p1 + tmp___20);
        } else {
          strbuf_addbuf(& label, (struct strbuf  const  *)(& oneline));
        }
      } else {
        strbuf_addbuf(& label, (struct strbuf  const  *)(& oneline));
      }
    }
    strbuf_setlen(& buf___19, (size_t )0);
    tmp___26 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    strbuf_addf(& buf___19, (char const   *)"%s -C %s", cmd_merge___0, tmp___26);
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! to_merge) {
        goto while_break___3;
      }
      oid___0 = & (to_merge->item)->object.oid;
      strbuf_addch(& buf___19, ' ');
      tmp___28 = oidset_contains((struct oidset  const  *)(& interesting___1), (struct object_id  const  *)oid___0);
      if (! tmp___28) {
        tmp___27 = label_oid(oid___0, (char const   *)((void *)0), & state___1);
        strbuf_addstr(& buf___19, tmp___27);
        goto __Cont;
      }
      tmp___29 = commit_list_insert(to_merge->item, tips_tail);
      tips_tail = & tmp___29->next;
      tmp___30 = label_oid(oid___0, (char const   *)label.buf, & state___1);
      strbuf_addstr(& buf___19, tmp___30);
      __Cont: /* CIL Label */
      to_merge = to_merge->next;
    }
    while_break___3: /* CIL Label */ ;
    }
    strbuf_addf(& buf___19, (char const   *)" # %s", oneline.buf);
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      tmp___31 = strlen((char const   *)buf___19.buf);
      flex_array_len____2 = tmp___31;
      tmp___32 = st_add(sizeof(*entry), flex_array_len____2);
      tmp___33 = st_add(tmp___32, (size_t )1);
      tmp___34 = xcalloc((size_t )1, tmp___33);
      entry = (struct string_entry *)tmp___34;
      memcpy((void *)(entry->string), (void const   *)buf___19.buf, flex_array_len____2);
      goto while_break___4;
    }
    while_break___4: /* CIL Label */ ;
    }
    oidcpy(& entry->entry.oid, (struct object_id  const  *)(& commit->object.oid));
    oidmap_put(& commit2todo, (void *)entry);
  }
  while_break___1: /* CIL Label */ ;
  }
  if (skipped_commit) {
    tmp___35 = _((char const   *)"use --reapply-cherry-picks to include skipped commits");
    advise_if_enabled((enum advice_type )33, (char const   *)tmp___35);
  }
  iter___0 = commits;
  {
  while (1) {
    while_continue___5: /* CIL Label */ ;
    if (! iter___0) {
      goto while_break___5;
    }
    parent = (iter___0->item)->parents;
    {
    while (1) {
      while_continue___6: /* CIL Label */ ;
      if (! parent) {
        goto while_break___6;
      }
      oid___1 = & (parent->item)->object.oid;
      tmp___36 = oidset_contains((struct oidset  const  *)(& interesting___1), (struct object_id  const  *)oid___1);
      if (! tmp___36) {
        goto __Cont___0;
      }
      tmp___37 = oidset_insert(& child_seen, (struct object_id  const  *)oid___1);
      if (tmp___37) {
        label_oid(oid___1, (char const   *)"branch-point", & state___1);
      }
      __Cont___0: /* CIL Label */
      parent = parent->next;
    }
    while_break___6: /* CIL Label */ ;
    }
    if (! iter___0->next) {
      tmp___38 = commit_list_insert(iter___0->item, tips_tail);
      tips_tail = & tmp___38->next;
    }
    iter___0 = iter___0->next;
  }
  while_break___5: /* CIL Label */ ;
  }
  strbuf_addf(out, (char const   *)"%s onto\n", cmd_label);
  iter___0 = tips;
  {
  while (1) {
    while_continue___7: /* CIL Label */ ;
    if (! iter___0) {
      goto while_break___7;
    }
    list___3 = (struct commit_list *)((void *)0);
    commit = iter___0->item;
    tmp___39 = oidset_contains((struct oidset  const  *)(& shown), (struct object_id  const  *)(& commit->object.oid));
    if (tmp___39) {
      goto __Cont___1;
    }
    tmp___40 = oidmap_get((struct oidmap  const  *)(& state___1.commit2label), (struct object_id  const  *)(& commit->object.oid));
    entry = (struct string_entry *)tmp___40;
    if (entry) {
      strbuf_addf(out, (char const   *)"\n%c Branch %s\n", (int )comment_line_char,
                  entry->string);
    } else {
      strbuf_addch(out, '\n');
    }
    {
    while (1) {
      while_continue___8: /* CIL Label */ ;
      tmp___41 = oidset_contains((struct oidset  const  *)(& interesting___1), (struct object_id  const  *)(& commit->object.oid));
      if (tmp___41) {
        tmp___42 = oidset_contains((struct oidset  const  *)(& shown), (struct object_id  const  *)(& commit->object.oid));
        if (tmp___42) {
          goto while_break___8;
        }
      } else {
        goto while_break___8;
      }
      commit_list_insert(commit, & list___3);
      if (! commit->parents) {
        commit = (struct commit *)((void *)0);
        goto while_break___8;
      }
      commit = (commit->parents)->item;
    }
    while_break___8: /* CIL Label */ ;
    }
    if (! commit) {
      if (rebase_cousins) {
        tmp___43 = "onto";
      } else
      if (root_with_onto) {
        tmp___43 = "onto";
      } else {
        tmp___43 = "[new root]";
      }
      strbuf_addf(out, (char const   *)"%s %s\n", cmd_reset___0, tmp___43);
    } else {
      to = (char const   *)((void *)0);
      tmp___44 = oidmap_get((struct oidmap  const  *)(& state___1.commit2label), (struct object_id  const  *)(& commit->object.oid));
      entry = (struct string_entry *)tmp___44;
      if (entry) {
        to = (char const   *)(entry->string);
      } else
      if (! rebase_cousins) {
        to = label_oid(& commit->object.oid, (char const   *)((void *)0), & state___1);
      }
      if (! to) {
        strbuf_addf(out, (char const   *)"%s onto\n", cmd_reset___0);
      } else {
        tmp___45 = strcmp(to, (char const   *)"onto");
        if (tmp___45) {
          strbuf_setlen(& oneline, (size_t )0);
          pretty_print_commit(pp, (struct commit  const  *)commit, & oneline);
          strbuf_addf(out, (char const   *)"%s %s # %s\n", cmd_reset___0, to, oneline.buf);
        } else {
          strbuf_addf(out, (char const   *)"%s onto\n", cmd_reset___0);
        }
      }
    }
    iter2 = list___3;
    {
    while (1) {
      while_continue___9: /* CIL Label */ ;
      if (! iter2) {
        goto while_break___9;
      }
      oid___2 = & (iter2->item)->object.oid;
      tmp___46 = oidmap_get((struct oidmap  const  *)(& commit2todo), (struct object_id  const  *)oid___2);
      entry = (struct string_entry *)tmp___46;
      if (entry) {
        strbuf_addf(out, (char const   *)"%s\n", entry->string);
      }
      tmp___47 = oidmap_get((struct oidmap  const  *)(& state___1.commit2label), (struct object_id  const  *)oid___2);
      entry = (struct string_entry *)tmp___47;
      if (entry) {
        strbuf_addf(out, (char const   *)"%s %s\n", cmd_label, entry->string);
      }
      oidset_insert(& shown, (struct object_id  const  *)oid___2);
      iter2 = iter2->next;
    }
    while_break___9: /* CIL Label */ ;
    }
    free_commit_list(list___3);
    __Cont___1: /* CIL Label */
    iter___0 = iter___0->next;
  }
  while_break___7: /* CIL Label */ ;
  }
  free_commit_list(commits);
  free_commit_list(tips);
  strbuf_release(& label);
  strbuf_release(& oneline);
  strbuf_release(& buf___19);
  oidmap_free(& commit2todo, 1);
  oidmap_free(& state___1.commit2label, 1);
  hashmap_clear_(& state___1.labels, (ssize_t )((unsigned long )(& ((struct labels_entry *)0)->entry)));
  strbuf_release(& state___1.buf);
  return (0);
}
}
int sequencer_make_script(struct repository *r , struct strbuf *out , int argc , char const   **argv___0 ,
                          unsigned int flags___0 )
{
  char *format___0 ;
  struct pretty_print_context pp ;
  struct rev_info revs ;
  struct commit *commit ;
  int keep_empty ;
  char const   *insn ;
  char *tmp ;
  int rebase_merges ;
  int reapply_cherry_picks ;
  int skipped_commit ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int is_empty___0 ;
  int tmp___7 ;
  char const   *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;

  {
  format___0 = (char *)((void *)0);
  pp.fmt = (enum cmit_fmt )0;
  pp.abbrev = 0;
  pp.after_subject = (char const   *)0;
  pp.preserve_subject = 0;
  pp.date_mode.type = 0U;
  pp.date_mode.strftime_fmt = (char const   *)0;
  pp.date_mode.local = 0;
  pp.date_mode_explicit = 0U;
  pp.print_email_subject = 0;
  pp.expand_tabs_in_log = 0;
  pp.need_8bit_cte = 0;
  pp.notes_message = (char *)0;
  pp.reflog_info = (struct reflog_walk_info *)0;
  pp.rev = (struct rev_info *)0;
  pp.output_encoding = (char const   *)0;
  pp.mailmap = (struct string_list *)0;
  pp.color = 0;
  pp.from_ident = (struct ident_split *)0;
  pp.encode_email_headers = 0U;
  pp.describe_status = (struct pretty_print_describe_status *)0;
  pp.in_body_headers.items = (struct string_list_item *)0;
  pp.in_body_headers.nr = 0U;
  pp.in_body_headers.alloc = 0U;
  pp.in_body_headers.strdup_strings = 0U;
  pp.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
  pp.graph_width = 0;
  keep_empty = (int )(flags___0 & 1U);
  if (flags___0 & (1U << 2)) {
    tmp = "p";
  } else {
    tmp = "pick";
  }
  insn = (char const   *)tmp;
  rebase_merges = (int )(flags___0 & (1U << 3));
  reapply_cherry_picks = (int )(flags___0 & (1U << 7));
  skipped_commit = 0;
  repo_init_revisions(r, & revs, (char const   *)((void *)0));
  revs.verbose_header = 1U;
  if (! rebase_merges) {
    revs.max_parents = 1;
  }
  revs.cherry_mark = (unsigned int )(! reapply_cherry_picks);
  revs.limited = 1U;
  revs.reverse = 1U;
  revs.right_only = 1U;
  revs.sort_order = (enum rev_sort_order )0;
  revs.topo_order = 1U;
  revs.pretty_given = 1U;
  git_config_get_string((char const   *)"rebase.instructionFormat", & format___0);
  if (! format___0) {
    free((void *)format___0);
    format___0 = xstrdup((char const   *)"%s");
  } else
  if (! *format___0) {
    free((void *)format___0);
    format___0 = xstrdup((char const   *)"%s");
  }
  get_commit_format((char const   *)format___0, & revs);
  free((void *)format___0);
  pp.fmt = revs.commit_format;
  pp.output_encoding = get_log_output_encoding();
  tmp___2 = setup_revisions(argc, argv___0, & revs, (struct setup_revision_opt *)((void *)0));
  if (tmp___2 > 1) {
    tmp___0 = _((char const   *)"make_script: unhandled options");
    error((char const   *)tmp___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  tmp___5 = prepare_revision_walk(& revs);
  if (tmp___5 < 0) {
    tmp___3 = _((char const   *)"make_script: error preparing revisions");
    error((char const   *)tmp___3);
    tmp___4 = const_error();
    return (tmp___4);
  }
  if (rebase_merges) {
    tmp___6 = make_script_with_merges(& pp, & revs, out, flags___0);
    return (tmp___6);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    commit = get_revision(& revs);
    if (! commit) {
      goto while_break;
    }
    tmp___7 = is_original_commit_empty(commit);
    is_empty___0 = tmp___7;
    if (! is_empty___0) {
      if (commit->object.flags & (1u << 9)) {
        if (flags___0 & (1U << 8)) {
          tmp___8 = short_commit_name(commit);
          tmp___9 = _((char const   *)"skipped previously applied commit %s");
          warning((char const   *)tmp___9, tmp___8);
        }
        skipped_commit = 1;
        goto while_continue;
      }
    }
    if (is_empty___0) {
      if (! keep_empty) {
        goto while_continue;
      }
    }
    tmp___10 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    strbuf_addf(out, (char const   *)"%s %s ", insn, tmp___10);
    pretty_print_commit(& pp, (struct commit  const  *)commit, out);
    if (is_empty___0) {
      strbuf_addf(out, (char const   *)" %c empty", (int )comment_line_char);
    }
    strbuf_addch(out, '\n');
  }
  while_break: /* CIL Label */ ;
  }
  if (skipped_commit) {
    tmp___11 = _((char const   *)"use --reapply-cherry-picks to include skipped commits");
    advise_if_enabled((enum advice_type )33, (char const   *)tmp___11);
  }
  return (0);
}
}
static void todo_list_add_exec_commands(struct todo_list *todo_list , struct string_list *commands___2 )
{
  struct strbuf *buf___19 ;
  size_t base_offset ;
  int i ;
  int insert ;
  int nr___0 ;
  int alloc___0 ;
  struct todo_item *items ;
  struct todo_item *base_items ;
  void *tmp ;
  size_t command_len ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  enum todo_command command___0 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  int tmp___5 ;
  size_t tmp___6 ;
  void *tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;

  {
  buf___19 = & todo_list->buf;
  base_offset = buf___19->len;
  nr___0 = 0;
  alloc___0 = 0;
  items = (struct todo_item *)((void *)0);
  base_items = (struct todo_item *)((void *)0);
  tmp = xcalloc((size_t )commands___2->nr, sizeof(*base_items));
  base_items = (struct todo_item *)tmp;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < commands___2->nr)) {
      goto while_break;
    }
    tmp___0 = strlen((char const   *)(commands___2->items + i)->string);
    command_len = tmp___0;
    strbuf_addstr(buf___19, (char const   *)(commands___2->items + i)->string);
    strbuf_addch(buf___19, '\n');
    (base_items + i)->command = (enum todo_command )6;
    (base_items + i)->offset_in_buf = base_offset;
    tmp___1 = strlen((char const   *)"exec ");
    (base_items + i)->arg_offset = base_offset + tmp___1;
    tmp___2 = strlen((char const   *)"exec ");
    (base_items + i)->arg_len = (int )(command_len - tmp___2);
    base_offset += command_len + 1UL;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  insert = 0;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < todo_list->nr)) {
      goto while_break___0;
    }
    command___0 = (todo_list->items + i)->command;
    if (insert) {
      tmp___5 = is_fixup(command___0);
      if (! tmp___5) {
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          if ((unsigned int )nr___0 + commands___2->nr > (unsigned int )alloc___0) {
            if ((unsigned int )(((alloc___0 + 16) * 3) / 2) < (unsigned int )nr___0 + commands___2->nr) {
              alloc___0 = (int )((unsigned int )nr___0 + commands___2->nr);
            } else {
              alloc___0 = ((alloc___0 + 16) * 3) / 2;
            }
            tmp___3 = st_mult(sizeof(*items), (size_t )alloc___0);
            tmp___4 = xrealloc((void *)items, tmp___3);
            items = (struct todo_item *)tmp___4;
          }
          goto while_break___1;
        }
        while_break___1: /* CIL Label */ ;
        }
        copy_array((void *)(items + nr___0), (void const   *)base_items, (size_t )commands___2->nr,
                   sizeof(*(items + nr___0)) + (sizeof(char [1]) - 1UL));
        nr___0 = (int )((unsigned int )nr___0 + commands___2->nr);
        insert = 0;
      }
    }
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (nr___0 + 1 > alloc___0) {
        if (((alloc___0 + 16) * 3) / 2 < nr___0 + 1) {
          alloc___0 = nr___0 + 1;
        } else {
          alloc___0 = ((alloc___0 + 16) * 3) / 2;
        }
        tmp___6 = st_mult(sizeof(*items), (size_t )alloc___0);
        tmp___7 = xrealloc((void *)items, tmp___6);
        items = (struct todo_item *)tmp___7;
      }
      goto while_break___2;
    }
    while_break___2: /* CIL Label */ ;
    }
    tmp___8 = nr___0;
    nr___0 ++;
    *(items + tmp___8) = *(todo_list->items + i);
    if ((unsigned int )command___0 == 0U) {
      insert = 1;
    } else
    if ((unsigned int )command___0 == 10U) {
      insert = 1;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (insert) {
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if ((unsigned int )nr___0 + commands___2->nr > (unsigned int )alloc___0) {
        if ((unsigned int )(((alloc___0 + 16) * 3) / 2) < (unsigned int )nr___0 + commands___2->nr) {
          alloc___0 = (int )((unsigned int )nr___0 + commands___2->nr);
        } else {
          alloc___0 = ((alloc___0 + 16) * 3) / 2;
        }
        tmp___9 = st_mult(sizeof(*items), (size_t )alloc___0);
        tmp___10 = xrealloc((void *)items, tmp___9);
        items = (struct todo_item *)tmp___10;
      }
      goto while_break___3;
    }
    while_break___3: /* CIL Label */ ;
    }
    copy_array((void *)(items + nr___0), (void const   *)base_items, (size_t )commands___2->nr,
               sizeof(*(items + nr___0)) + (sizeof(char [1]) - 1UL));
    nr___0 = (int )((unsigned int )nr___0 + commands___2->nr);
  }
  free((void *)base_items);
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    free((void *)todo_list->items);
    todo_list->items = (struct todo_item *)((void *)0);
    goto while_break___4;
  }
  while_break___4: /* CIL Label */ ;
  }
  todo_list->items = items;
  todo_list->nr = nr___0;
  todo_list->alloc = alloc___0;
  return;
}
}
static void todo_list_to_strbuf(struct repository *r , struct todo_list *todo_list ,
                                struct strbuf *buf___19 , int num , unsigned int flags___0 )
{
  struct todo_item *item___0 ;
  int i ;
  int max ;
  char cmd ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const   *oid ;
  char const   *tmp___1 ;
  char *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;

  {
  max = todo_list->nr;
  if (num > 0) {
    if (num < max) {
      max = num;
    }
  }
  item___0 = todo_list->items;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < max)) {
      goto while_break;
    }
    if ((unsigned int )item___0->command >= 13U) {
      tmp = todo_item_get_arg(todo_list, item___0);
      strbuf_addf(buf___19, (char const   *)"%.*s\n", item___0->arg_len, tmp);
      goto __Cont;
    }
    cmd = command_to_char((enum todo_command  const  )item___0->command);
    if (flags___0 & (1U << 2)) {
      if (cmd) {
        strbuf_addch(buf___19, (int )cmd);
      } else {
        tmp___0 = command_to_string((enum todo_command  const  )item___0->command);
        strbuf_addstr(buf___19, tmp___0);
      }
    } else {
      tmp___0 = command_to_string((enum todo_command  const  )item___0->command);
      strbuf_addstr(buf___19, tmp___0);
    }
    if (item___0->commit) {
      if (flags___0 & (1U << 1)) {
        tmp___1 = short_commit_name(item___0->commit);
        tmp___3 = tmp___1;
      } else {
        tmp___2 = oid_to_hex((struct object_id  const  *)(& (item___0->commit)->object.oid));
        tmp___3 = (char const   *)tmp___2;
      }
      oid = tmp___3;
      if ((unsigned int )item___0->command == 4U) {
        if (item___0->flags & 4U) {
          strbuf_addstr(buf___19, (char const   *)" -c");
        } else
        if (item___0->flags & 2U) {
          strbuf_addstr(buf___19, (char const   *)" -C");
        }
      }
      if ((unsigned int )item___0->command == 10U) {
        if (item___0->flags & 1U) {
          strbuf_addstr(buf___19, (char const   *)" -c");
        } else {
          strbuf_addstr(buf___19, (char const   *)" -C");
        }
      }
      strbuf_addf(buf___19, (char const   *)" %s", oid);
    }
    if (! item___0->arg_len) {
      strbuf_addch(buf___19, '\n');
    } else {
      tmp___4 = todo_item_get_arg(todo_list, item___0);
      strbuf_addf(buf___19, (char const   *)" %.*s\n", item___0->arg_len, tmp___4);
    }
    __Cont: /* CIL Label */
    i ++;
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int todo_list_write_to_file(struct repository *r , struct todo_list *todo_list , char const   *file___0 ,
                            char const   *shortrevisions , char const   *shortonto ,
                            int num , unsigned int flags___0 )
{
  int res ;
  struct strbuf buf___19 ;
  int tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  todo_list_to_strbuf(r, todo_list, & buf___19, num, flags___0);
  if (flags___0 & (1U << 5)) {
    tmp = count_commands(todo_list);
    append_todo_help(tmp, shortrevisions, shortonto, & buf___19);
  }
  res = write_message((void const   *)buf___19.buf, buf___19.len, file___0, 0);
  strbuf_release(& buf___19);
  return (res);
}
}
static int skip_unnecessary_picks(struct repository *r , struct todo_list *todo_list ,
                                  struct object_id *base_oid )
{
  struct object_id *parent_oid ;
  int i ;
  struct todo_item *item___0 ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const   *done_path ;
  char const   *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  enum todo_command tmp___7 ;
  enum todo_command tmp___8 ;
  int tmp___9 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < todo_list->nr)) {
      goto while_break;
    }
    item___0 = todo_list->items + i;
    if ((unsigned int )item___0->command >= 11U) {
      goto __Cont;
    }
    if ((unsigned int )item___0->command != 0U) {
      goto while_break;
    }
    tmp___2 = repo_parse_commit(the_repository, item___0->commit);
    if (tmp___2) {
      tmp = oid_to_hex((struct object_id  const  *)(& (item___0->commit)->object.oid));
      tmp___0 = _((char const   *)"could not parse commit \'%s\'");
      error((char const   *)tmp___0, tmp);
      tmp___1 = const_error();
      return (tmp___1);
    }
    if (! (item___0->commit)->parents) {
      goto while_break;
    }
    if (((item___0->commit)->parents)->next) {
      goto while_break;
    }
    parent_oid = & (((item___0->commit)->parents)->item)->object.oid;
    tmp___3 = oideq((struct object_id  const  *)parent_oid, (struct object_id  const  *)base_oid);
    if (! tmp___3) {
      goto while_break;
    }
    oidcpy(base_oid, (struct object_id  const  *)(& (item___0->commit)->object.oid));
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (i > 0) {
    tmp___4 = rebase_path_done();
    done_path = tmp___4;
    tmp___6 = todo_list_write_to_file(r, todo_list, done_path, (char const   *)((void *)0),
                                      (char const   *)((void *)0), i, 0U);
    if (tmp___6) {
      tmp___5 = _((char const   *)"could not write to \'%s\'");
      error_errno((char const   *)tmp___5, done_path);
      const_error();
      return (-1);
    }
    move_array((void *)todo_list->items, (void const   *)(todo_list->items + i), (size_t )(todo_list->nr - i),
               sizeof(*(todo_list->items)) + (sizeof(char [1]) - 1UL));
    todo_list->nr -= i;
    todo_list->current = 0;
    todo_list->done_nr += i;
    tmp___8 = peek_command(todo_list, 0);
    tmp___9 = is_fixup(tmp___8);
    if (tmp___9) {
      tmp___7 = peek_command(todo_list, 0);
      record_in_rewritten(base_oid, tmp___7);
    }
  }
  return (0);
}
}
int complete_action(struct repository *r , struct replay_opts *opts___1 , unsigned int flags___0 ,
                    char const   *shortrevisions , char const   *onto_name , struct commit *onto ,
                    struct object_id  const  *orig_head , struct string_list *commands___2 ,
                    unsigned int autosquash , struct todo_list *todo_list )
{
  char shortonto[65] ;
  char const   *todo_file ;
  char const   *tmp ;
  struct todo_list new_todo ;
  struct strbuf *buf___19 ;
  struct strbuf buf2 ;
  struct object_id oid ;
  int res ;
  struct todo_item *item___0 ;
  struct todo_item *tmp___0 ;
  size_t tmp___1 ;
  unsigned int tmp___2 ;
  size_t tmp___3 ;
  int tmp___4 ;
  char const   *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const   *tmp___9 ;
  char const   *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;

  {
  tmp = rebase_path_todo();
  todo_file = tmp;
  new_todo.buf.alloc = 0UL;
  new_todo.buf.len = 0UL;
  new_todo.buf.buf = strbuf_slopbuf;
  new_todo.items = (struct todo_item *)0;
  new_todo.nr = 0;
  new_todo.alloc = 0;
  new_todo.current = 0;
  new_todo.done_nr = 0;
  new_todo.total_nr = 0;
  buf___19 = & todo_list->buf;
  buf2.alloc = 0UL;
  buf2.len = 0UL;
  buf2.buf = strbuf_slopbuf;
  oid = onto->object.oid;
  repo_find_unique_abbrev_r(the_repository, shortonto, (struct object_id  const  *)(& oid),
                            default_abbrev);
  if (buf___19->len == 0UL) {
    tmp___0 = append_new_todo(todo_list);
    item___0 = tmp___0;
    item___0->command = (enum todo_command )11;
    item___0->commit = (struct commit *)((void *)0);
    tmp___3 = (size_t )0;
    item___0->offset_in_buf = tmp___3;
    tmp___2 = (unsigned int )tmp___3;
    item___0->flags = tmp___2;
    tmp___1 = (size_t )tmp___2;
    item___0->arg_offset = tmp___1;
    item___0->arg_len = (int )tmp___1;
  }
  if (autosquash) {
    tmp___4 = todo_list_rearrange_squash(todo_list);
    if (tmp___4) {
      return (-1);
    }
  }
  if (commands___2->nr) {
    todo_list_add_exec_commands(todo_list, commands___2);
  }
  tmp___8 = count_commands(todo_list);
  if (tmp___8 == 0) {
    tmp___5 = rebase_path_autostash();
    apply_autostash(tmp___5);
    sequencer_remove_state(opts___1);
    tmp___6 = _((char const   *)"nothing to do");
    error((char const   *)tmp___6);
    tmp___7 = const_error();
    return (tmp___7);
  }
  res = edit_todo_list(r, todo_list, & new_todo, shortrevisions, (char const   *)(shortonto),
                       flags___0);
  if (res == -1) {
    return (-1);
  } else
  if (res == -2) {
    tmp___9 = rebase_path_autostash();
    apply_autostash(tmp___9);
    sequencer_remove_state(opts___1);
    return (-1);
  } else
  if (res == -3) {
    tmp___10 = rebase_path_autostash();
    apply_autostash(tmp___10);
    sequencer_remove_state(opts___1);
    todo_list_release(& new_todo);
    tmp___11 = _((char const   *)"nothing to do");
    error((char const   *)tmp___11);
    tmp___12 = const_error();
    return (tmp___12);
  } else
  if (res == -4) {
    checkout_onto(r, opts___1, onto_name, (struct object_id  const  *)(& onto->object.oid),
                  orig_head);
    todo_list_release(& new_todo);
    return (-1);
  }
  todo_list_to_strbuf(r, & new_todo, & buf2, -1, 0U);
  strbuf_swap(& new_todo.buf, & buf2);
  strbuf_release(& buf2);
  new_todo.total_nr -= new_todo.nr;
  tmp___13 = todo_list_parse_insn_buffer(r, new_todo.buf.buf, & new_todo);
  if (tmp___13 < 0) {
    BUG_fl((char const   *)"sequencer.c", 5698, (char const   *)"invalid todo list after expanding IDs:\n%s",
           new_todo.buf.buf);
  }
  if (opts___1->allow_ff) {
    tmp___16 = skip_unnecessary_picks(r, & new_todo, & oid);
    if (tmp___16) {
      todo_list_release(& new_todo);
      tmp___14 = _((char const   *)"could not skip unnecessary pick commands");
      error((char const   *)tmp___14);
      tmp___15 = const_error();
      return (tmp___15);
    }
  }
  tmp___19 = todo_list_write_to_file(r, & new_todo, todo_file, (char const   *)((void *)0),
                                     (char const   *)((void *)0), -1, flags___0 & ~ (1U << 1));
  if (tmp___19) {
    todo_list_release(& new_todo);
    tmp___17 = _((char const   *)"could not write \'%s\'");
    error_errno((char const   *)tmp___17, todo_file);
    tmp___18 = const_error();
    return (tmp___18);
  }
  res = -1;
  tmp___20 = checkout_onto(r, opts___1, onto_name, (struct object_id  const  *)(& oid),
                           orig_head);
  if (tmp___20) {
    goto cleanup;
  }
  tmp___21 = require_clean_work_tree(r, (char const   *)"rebase", (char const   *)"",
                                     1, 1);
  if (tmp___21) {
    goto cleanup;
  }
  todo_list_write_total_nr(& new_todo);
  res = pick_commits(r, & new_todo, opts___1);
  cleanup:
  todo_list_release(& new_todo);
  return (res);
}
}
static int subject2item_cmp(void const   *fndata , struct hashmap_entry  const  *eptr ,
                            struct hashmap_entry  const  *entry_or_key , void const   *key___1 )
{
  struct subject2item_entry  const  *a ;
  struct subject2item_entry  const  *b___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  a = (struct subject2item_entry  const  *)((char *)eptr - (unsigned long )(& ((struct subject2item_entry  const  *)0)->entry));
  b___0 = (struct subject2item_entry  const  *)((char *)entry_or_key - (unsigned long )(& ((struct subject2item_entry  const  *)0)->entry));
  if (key___1) {
    tmp = strcmp((char const   *)(a->subject), (char const   *)key___1);
    tmp___1 = tmp;
  } else {
    tmp___0 = strcmp((char const   *)(a->subject), (char const   *)(b___0->subject));
    tmp___1 = tmp___0;
  }
  return (tmp___1);
}
}
static void init_commit_todo_item_with_stride(struct commit_todo_item *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_commit_todo_item_with_stride(struct commit_todo_item *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(struct todo_item *) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (struct todo_item ***)((void *)0);
  return;
}
}
static void init_commit_todo_item(struct commit_todo_item *s___1 )  __attribute__((__unused__)) ;
static void init_commit_todo_item(struct commit_todo_item *s___1 )
{


  {
  init_commit_todo_item_with_stride(s___1, 1U);
  return;
}
}
static void clear_commit_todo_item(struct commit_todo_item *s___1 )  __attribute__((__unused__)) ;
static void clear_commit_todo_item(struct commit_todo_item *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (struct todo_item ***)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_commit_todo_item(struct commit_todo_item *s___1 , void (*free_fn)(struct todo_item ** ) )  __attribute__((__unused__)) ;
static void deep_clear_commit_todo_item(struct commit_todo_item *s___1 , void (*free_fn)(struct todo_item ** ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_commit_todo_item(s___1);
  return;
}
}
static struct todo_item **commit_todo_item_at_peek(struct commit_todo_item *s___1 ,
                                                   struct commit  const  *c___0 ,
                                                   int add_if_missing )  __attribute__((__unused__)) ;
static struct todo_item **commit_todo_item_at_peek(struct commit_todo_item *s___1 ,
                                                   struct commit  const  *c___0 ,
                                                   int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((struct todo_item **)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (struct todo_item ***)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (struct todo_item **)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((struct todo_item **)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (struct todo_item **)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static struct todo_item **commit_todo_item_at(struct commit_todo_item *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct todo_item **commit_todo_item_at(struct commit_todo_item *s___1 , struct commit  const  *c___0 )
{
  struct todo_item **tmp ;

  {
  tmp = commit_todo_item_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static struct todo_item **commit_todo_item_peek(struct commit_todo_item *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct todo_item **commit_todo_item_peek(struct commit_todo_item *s___1 , struct commit  const  *c___0 )
{
  struct todo_item **tmp ;

  {
  tmp = commit_todo_item_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
static int skip_fixupish(char const   *subject , char const   **p___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = skip_prefix(subject, (char const   *)"fixup! ", p___0);
  if (tmp) {
    tmp___2 = 1;
  } else {
    tmp___0 = skip_prefix(subject, (char const   *)"amend! ", p___0);
    if (tmp___0) {
      tmp___2 = 1;
    } else {
      tmp___1 = skip_prefix(subject, (char const   *)"squash! ", p___0);
      if (tmp___1) {
        tmp___2 = 1;
      } else {
        tmp___2 = 0;
      }
    }
  }
  return (tmp___2);
}
}
int todo_list_rearrange_squash(struct todo_list *todo_list )
{
  struct hashmap subject2item ;
  int rearranged ;
  int *next___2 ;
  int *tail ;
  int i ;
  int nr___0 ;
  int alloc___0 ;
  char **subjects ;
  struct commit_todo_item commit_todo ;
  struct todo_item *items ;
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  struct strbuf buf___19 ;
  struct todo_item *item___0 ;
  char const   *commit_buffer ;
  char const   *subject ;
  char const   *p___0 ;
  size_t subject_len ;
  int i2 ;
  struct subject2item_entry *entry ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  struct todo_item **tmp___9 ;
  char *tmp___10 ;
  struct commit *commit2 ;
  int tmp___11 ;
  unsigned int tmp___12 ;
  struct hashmap_entry *tmp___13 ;
  void *tmp___14 ;
  struct todo_item **tmp___15 ;
  int tmp___16 ;
  char *tmp___17 ;
  struct todo_item **tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  size_t flex_array_len_ ;
  size_t tmp___22 ;
  size_t tmp___23 ;
  void *tmp___24 ;
  unsigned int tmp___25 ;
  unsigned int tmp___26 ;
  struct hashmap_entry *tmp___27 ;
  enum todo_command command___0 ;
  int cur ;
  int tmp___28 ;
  size_t tmp___29 ;
  void *tmp___30 ;
  int tmp___31 ;

  {
  rearranged = 0;
  nr___0 = 0;
  alloc___0 = 0;
  items = (struct todo_item *)((void *)0);
  init_commit_todo_item(& commit_todo);
  hashmap_init(& subject2item, & subject2item_cmp, (void const   *)((void *)0), (size_t )todo_list->nr);
  tmp = st_mult(sizeof(*next___2), (size_t )todo_list->nr);
  tmp___0 = xmalloc(tmp);
  next___2 = (int *)tmp___0;
  tmp___1 = st_mult(sizeof(*tail), (size_t )todo_list->nr);
  tmp___2 = xmalloc(tmp___1);
  tail = (int *)tmp___2;
  tmp___3 = st_mult(sizeof(*subjects), (size_t )todo_list->nr);
  tmp___4 = xmalloc(tmp___3);
  subjects = (char **)tmp___4;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < todo_list->nr)) {
      goto while_break;
    }
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    item___0 = todo_list->items + i;
    i2 = -1;
    tmp___5 = -1;
    *(tail + i) = tmp___5;
    *(next___2 + i) = tmp___5;
    if (! item___0->commit) {
      *(subjects + i) = (char *)((void *)0);
      goto __Cont;
    } else
    if ((unsigned int )item___0->command == 12U) {
      *(subjects + i) = (char *)((void *)0);
      goto __Cont;
    }
    tmp___8 = is_fixup(item___0->command);
    if (tmp___8) {
      clear_commit_todo_item(& commit_todo);
      tmp___6 = _((char const   *)"the script was already rearranged.");
      error((char const   *)tmp___6);
      tmp___7 = const_error();
      return (tmp___7);
    }
    tmp___9 = commit_todo_item_at(& commit_todo, (struct commit  const  *)item___0->commit);
    *tmp___9 = item___0;
    repo_parse_commit(the_repository, item___0->commit);
    commit_buffer = repo_logmsg_reencode(the_repository, (struct commit  const  *)item___0->commit,
                                         (char **)((void *)0), (char const   *)"UTF-8");
    find_commit_subject(commit_buffer, & subject);
    format_subject(& buf___19, subject, (char const   *)" ");
    tmp___10 = strbuf_detach(& buf___19, & subject_len);
    *(subjects + i) = tmp___10;
    subject = (char const   *)tmp___10;
    repo_unuse_commit_buffer(the_repository, (struct commit  const  *)item___0->commit,
                             (void const   *)commit_buffer);
    tmp___19 = skip_fixupish(subject, & p___0);
    if (tmp___19) {
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          if (! (((int const   )sane_ctype[(unsigned char )*p___0] & 1) != 0)) {
            goto while_break___1;
          }
          p___0 ++;
        }
        while_break___1: /* CIL Label */ ;
        }
        tmp___11 = skip_fixupish(p___0, & p___0);
        if (! tmp___11) {
          goto while_break___0;
        }
      }
      while_break___0: /* CIL Label */ ;
      }
      tmp___12 = strhash(p___0);
      tmp___13 = hashmap_get_from_hash((struct hashmap  const  *)(& subject2item),
                                       tmp___12, (void const   *)p___0);
      tmp___14 = container_of_or_null_offset((void *)tmp___13, (unsigned long )(& ((struct subject2item_entry *)0)->entry));
      entry = (struct subject2item_entry *)tmp___14;
      if (entry) {
        i2 = entry->i;
      } else {
        tmp___17 = strchr(p___0, ' ');
        if (tmp___17) {
          _L___0: /* CIL Label */
          _L: /* CIL Label */
          i2 = 0;
          {
          while (1) {
            while_continue___2: /* CIL Label */ ;
            if (! (i2 < i)) {
              goto while_break___2;
            }
            if (*(subjects + i2)) {
              tmp___16 = starts_with((char const   *)*(subjects + i2), p___0);
              if (tmp___16) {
                goto while_break___2;
              }
            }
            i2 ++;
          }
          while_break___2: /* CIL Label */ ;
          }
          if (i2 == i) {
            i2 = -1;
          }
        } else {
          commit2 = lookup_commit_reference_by_name(p___0);
          if (commit2) {
            tmp___18 = commit_todo_item_at(& commit_todo, (struct commit  const  *)commit2);
            if (*tmp___18) {
              tmp___15 = commit_todo_item_at(& commit_todo, (struct commit  const  *)commit2);
              i2 = (int )(*tmp___15 - todo_list->items);
            } else {
              goto _L___0;
            }
          } else {
            goto _L___0;
          }
        }
      }
    }
    if (i2 >= 0) {
      rearranged = 1;
      tmp___21 = starts_with(subject, (char const   *)"fixup!");
      if (tmp___21) {
        (todo_list->items + i)->command = (enum todo_command )4;
      } else {
        tmp___20 = starts_with(subject, (char const   *)"amend!");
        if (tmp___20) {
          (todo_list->items + i)->command = (enum todo_command )4;
          (todo_list->items + i)->flags = 2U;
        } else {
          (todo_list->items + i)->command = (enum todo_command )5;
        }
      }
      if (*(tail + i2) < 0) {
        *(next___2 + i) = *(next___2 + i2);
        *(next___2 + i2) = i;
      } else {
        *(next___2 + i) = *(next___2 + *(tail + i2));
        *(next___2 + *(tail + i2)) = i;
      }
      *(tail + i2) = i;
    } else {
      tmp___26 = strhash(subject);
      tmp___27 = hashmap_get_from_hash((struct hashmap  const  *)(& subject2item),
                                       tmp___26, (void const   *)subject);
      if (! tmp___27) {
        {
        while (1) {
          while_continue___3: /* CIL Label */ ;
          flex_array_len_ = subject_len;
          tmp___22 = st_add(sizeof(*entry), flex_array_len_);
          tmp___23 = st_add(tmp___22, (size_t )1);
          tmp___24 = xcalloc((size_t )1, tmp___23);
          entry = (struct subject2item_entry *)tmp___24;
          memcpy((void *)(entry->subject), (void const   *)subject, flex_array_len_);
          goto while_break___3;
        }
        while_break___3: /* CIL Label */ ;
        }
        entry->i = i;
        tmp___25 = strhash((char const   *)(entry->subject));
        hashmap_entry_init(& entry->entry, tmp___25);
        hashmap_put(& subject2item, & entry->entry);
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (rearranged) {
    i = 0;
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (! (i < todo_list->nr)) {
        goto while_break___4;
      }
      command___0 = (todo_list->items + i)->command;
      cur = i;
      tmp___28 = is_fixup(command___0);
      if (tmp___28) {
        goto __Cont___0;
      }
      {
      while (1) {
        while_continue___5: /* CIL Label */ ;
        if (! (cur >= 0)) {
          goto while_break___5;
        }
        {
        while (1) {
          while_continue___6: /* CIL Label */ ;
          if (nr___0 + 1 > alloc___0) {
            if (((alloc___0 + 16) * 3) / 2 < nr___0 + 1) {
              alloc___0 = nr___0 + 1;
            } else {
              alloc___0 = ((alloc___0 + 16) * 3) / 2;
            }
            tmp___29 = st_mult(sizeof(*items), (size_t )alloc___0);
            tmp___30 = xrealloc((void *)items, tmp___29);
            items = (struct todo_item *)tmp___30;
          }
          goto while_break___6;
        }
        while_break___6: /* CIL Label */ ;
        }
        tmp___31 = nr___0;
        nr___0 ++;
        *(items + tmp___31) = *(todo_list->items + cur);
        cur = *(next___2 + cur);
      }
      while_break___5: /* CIL Label */ ;
      }
      __Cont___0: /* CIL Label */
      i ++;
    }
    while_break___4: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___7: /* CIL Label */ ;
      free((void *)todo_list->items);
      todo_list->items = (struct todo_item *)((void *)0);
      goto while_break___7;
    }
    while_break___7: /* CIL Label */ ;
    }
    todo_list->items = items;
    todo_list->nr = nr___0;
    todo_list->alloc = alloc___0;
  }
  free((void *)next___2);
  free((void *)tail);
  i = 0;
  {
  while (1) {
    while_continue___8: /* CIL Label */ ;
    if (! (i < todo_list->nr)) {
      goto while_break___8;
    }
    free((void *)*(subjects + i));
    i ++;
  }
  while_break___8: /* CIL Label */ ;
  }
  free((void *)subjects);
  hashmap_clear_(& subject2item, (ssize_t )((unsigned long )(& ((struct subject2item_entry *)0)->entry)));
  clear_commit_todo_item(& commit_todo);
  return (0);
}
}
int sequencer_determine_whence(struct repository *r , enum commit_whence *whence___0 )
{
  struct object_id cherry_pick_head ;
  struct object_id rebase_head ;
  char const   *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  struct ref_store *tmp___6 ;
  int tmp___7 ;

  {
  tmp___6 = get_main_ref_store(r);
  tmp___7 = refs_ref_exists(tmp___6, (char const   *)"CHERRY_PICK_HEAD");
  if (tmp___7) {
    tmp = git_path_seq_dir();
    tmp___0 = file_exists(tmp);
    if (tmp___0) {
      *whence___0 = (enum commit_whence )3;
    }
    tmp___1 = rebase_path();
    tmp___2 = file_exists(tmp___1);
    if (tmp___2) {
      tmp___3 = repo_get_oid(the_repository, (char const   *)"REBASE_HEAD", & rebase_head);
      if (tmp___3) {
        *whence___0 = (enum commit_whence )2;
      } else {
        tmp___4 = repo_get_oid(the_repository, (char const   *)"CHERRY_PICK_HEAD",
                               & cherry_pick_head);
        if (tmp___4) {
          *whence___0 = (enum commit_whence )2;
        } else {
          tmp___5 = oideq((struct object_id  const  *)(& rebase_head), (struct object_id  const  *)(& cherry_pick_head));
          if (tmp___5) {
            *whence___0 = (enum commit_whence )4;
          } else {
            *whence___0 = (enum commit_whence )2;
          }
        }
      }
    } else {
      *whence___0 = (enum commit_whence )2;
    }
    return (1);
  }
  return (0);
}
}
void protocol_v2_advertise_capabilities(void) ;
void protocol_v2_serve_loop(int stateless_rpc___0 ) ;
void upload_pack(int const   advertise_refs , int const   stateless_rpc___0 , int const   timeout___0 ) ;
int upload_pack_v2(struct repository *r , struct packet_reader *request ) ;
int upload_pack_advertise(struct repository *r , struct strbuf *value ) ;
static int advertise_sid___0  =    -1;
static int client_hash_algo  =    1;
static int always_advertise(struct repository *r , struct strbuf *value )
{


  {
  return (1);
}
}
static int agent_advertise(struct repository *r , struct strbuf *value )
{
  char const   *tmp ;

  {
  if (value) {
    tmp = git_user_agent_sanitized();
    strbuf_addstr(value, tmp);
  }
  return (1);
}
}
static int object_format_advertise(struct repository *r , struct strbuf *value )
{


  {
  if (value) {
    strbuf_addstr(value, (char const   *)(r->hash_algo)->name);
  }
  return (1);
}
}
static void object_format_receive(struct repository *r , char const   *algo_name )
{


  {
  if (! algo_name) {
    die((char const   *)"object-format capability requires an argument");
  }
  client_hash_algo = hash_algo_by_name(algo_name);
  if (client_hash_algo == 0) {
    die((char const   *)"unknown object format \'%s\'", algo_name);
  }
  return;
}
}
static int session_id_advertise(struct repository *r , struct strbuf *value )
{
  int tmp ;
  char const   *tmp___0 ;

  {
  if (advertise_sid___0 == -1) {
    tmp = git_config_get_bool((char const   *)"transfer.advertisesid", & advertise_sid___0);
    if (tmp) {
      advertise_sid___0 = 0;
    }
  }
  if (! advertise_sid___0) {
    return (0);
  }
  if (value) {
    tmp___0 = trace2_session_id();
    strbuf_addstr(value, tmp___0);
  }
  return (1);
}
}
static void session_id_receive(struct repository *r , char const   *client_sid )
{


  {
  if (! client_sid) {
    client_sid = (char const   *)"";
  }
  trace2_data_string_fl((char const   *)"serve.c", 65, (char const   *)"transfer",
                        (struct repository  const  *)((void *)0), (char const   *)"client-sid",
                        client_sid);
  return;
}
}
static struct protocol_capability capabilities___0[7]  = {      {(char const   *)"agent", & agent_advertise, (int (*)(struct repository *r ,
                                                           struct packet_reader *request ))0,
      (void (*)(struct repository *r , char const   *value ))0},
        {(char const   *)"ls-refs", & ls_refs_advertise, & ls_refs, (void (*)(struct repository *r ,
                                                                           char const   *value ))0},
        {(char const   *)"fetch",
      & upload_pack_advertise, & upload_pack_v2, (void (*)(struct repository *r ,
                                                           char const   *value ))0},
        {(char const   *)"server-option",
      & always_advertise, (int (*)(struct repository *r , struct packet_reader *request ))0,
      (void (*)(struct repository *r , char const   *value ))0},
        {(char const   *)"object-format", & object_format_advertise, (int (*)(struct repository *r ,
                                                                           struct packet_reader *request ))0,
      & object_format_receive},
        {(char const   *)"session-id", & session_id_advertise, (int (*)(struct repository *r ,
                                                                     struct packet_reader *request ))0,
      & session_id_receive},
        {(char const   *)"object-info", & always_advertise, & cap_object_info, (void (*)(struct repository *r ,
                                                                                      char const   *value ))0}};
void protocol_v2_advertise_capabilities(void)
{
  struct strbuf capability ;
  struct strbuf value ;
  int i ;
  struct protocol_capability *c___0 ;
  int tmp ;

  {
  capability.alloc = 0UL;
  capability.len = 0UL;
  capability.buf = strbuf_slopbuf;
  value.alloc = 0UL;
  value.len = 0UL;
  value.buf = strbuf_slopbuf;
  packet_write_fmt(1, (char const   *)"version 2\n");
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(capabilities___0) / sizeof(capabilities___0[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    c___0 = & capabilities___0[i];
    tmp = (*(c___0->advertise))(the_repository, & value);
    if (tmp) {
      strbuf_addstr(& capability, c___0->name);
      if (value.len) {
        strbuf_addch(& capability, '=');
        strbuf_addbuf(& capability, (struct strbuf  const  *)(& value));
      }
      strbuf_addch(& capability, '\n');
      packet_write(1, (char const   *)capability.buf, capability.len);
    }
    strbuf_setlen(& capability, (size_t )0);
    strbuf_setlen(& value, (size_t )0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  packet_flush(1);
  strbuf_release(& capability);
  strbuf_release(& value);
  return;
}
}
static struct protocol_capability *get_capability(char const   *key___1 , char const   **value )
{
  int i ;
  struct protocol_capability *c___0 ;
  char const   *out ;
  int tmp ;
  char const   *tmp___0 ;

  {
  if (! key___1) {
    return ((struct protocol_capability *)((void *)0));
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(capabilities___0) / sizeof(capabilities___0[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    c___0 = & capabilities___0[i];
    tmp = skip_prefix(key___1, c___0->name, & out);
    if (! tmp) {
      goto __Cont;
    }
    if (! *out) {
      *value = (char const   *)((void *)0);
      return (c___0);
    }
    tmp___0 = out;
    out ++;
    if ((int const   )*tmp___0 == 61) {
      *value = out;
      return (c___0);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct protocol_capability *)((void *)0));
}
}
static int receive_client_capability(char const   *key___1 )
{
  char const   *value ;
  struct protocol_capability  const  *c___0 ;
  struct protocol_capability *tmp ;
  int tmp___0 ;

  {
  tmp = get_capability(key___1, & value);
  c___0 = (struct protocol_capability  const  *)tmp;
  if (! c___0) {
    return (0);
  } else
  if (c___0->command) {
    return (0);
  } else {
    tmp___0 = (*(c___0->advertise))(the_repository, (struct strbuf *)((void *)0));
    if (! tmp___0) {
      return (0);
    }
  }
  if (c___0->receive) {
    (*(c___0->receive))(the_repository, value);
  }
  return (1);
}
}
static int parse_command(char const   *key___1 , struct protocol_capability **command___0 )
{
  char const   *out ;
  char const   *value ;
  struct protocol_capability *cmd ;
  struct protocol_capability *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp___1 = skip_prefix(key___1, (char const   *)"command=", & out);
  if (tmp___1) {
    tmp = get_capability(out, & value);
    cmd = tmp;
    if (*command___0) {
      die((char const   *)"command \'%s\' requested after already requesting command \'%s\'",
          out, (*command___0)->name);
    }
    if (! cmd) {
      die((char const   *)"invalid command \'%s\'", out);
    } else {
      tmp___0 = (*(cmd->advertise))(the_repository, (struct strbuf *)((void *)0));
      if (tmp___0) {
        if (! cmd->command) {
          die((char const   *)"invalid command \'%s\'", out);
        } else
        if (value) {
          die((char const   *)"invalid command \'%s\'", out);
        }
      } else {
        die((char const   *)"invalid command \'%s\'", out);
      }
    }
    *command___0 = cmd;
    return (1);
  }
  return (0);
}
}
static int process_request(void)
{
  enum request_state state___1 ;
  struct packet_reader reader ;
  int seen_capability_or_command ;
  struct protocol_capability *command___0 ;
  enum packet_read_status tmp ;
  enum packet_read_status tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  state___1 = (enum request_state )0;
  seen_capability_or_command = 0;
  command___0 = (struct protocol_capability *)((void *)0);
  packet_reader_init(& reader, 0, (char *)((void *)0), (size_t )0, (int )(((1u << 1) | 1u) | (1u << 2)));
  tmp = packet_reader_peek(& reader);
  if ((unsigned int )tmp == 0U) {
    return (1);
  }
  reader.options = (int )((unsigned int )reader.options & 4294967294U);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )state___1 != 1U)) {
      goto while_break;
    }
    tmp___0 = packet_reader_peek(& reader);
    {
    if ((unsigned int )tmp___0 == 0U) {
      goto case_0;
    }
    if ((unsigned int )tmp___0 == 1U) {
      goto case_1;
    }
    if ((unsigned int )tmp___0 == 2U) {
      goto case_2;
    }
    if ((unsigned int )tmp___0 == 3U) {
      goto case_3;
    }
    if ((unsigned int )tmp___0 == 4U) {
      goto case_4;
    }
    goto switch_break;
    case_0: /* CIL Label */
    BUG_fl((char const   *)"serve.c", 261, (char const   *)"Should have already died when seeing EOF");
    case_1: /* CIL Label */
    tmp___1 = parse_command(reader.line, & command___0);
    if (tmp___1) {
      seen_capability_or_command = 1;
    } else {
      tmp___2 = receive_client_capability(reader.line);
      if (tmp___2) {
        seen_capability_or_command = 1;
      } else {
        die((char const   *)"unknown capability \'%s\'", reader.line);
      }
    }
    packet_reader_read(& reader);
    goto switch_break;
    case_2: /* CIL Label */
    if (! seen_capability_or_command) {
      return (1);
    }
    state___1 = (enum request_state )1;
    goto switch_break;
    case_3: /* CIL Label */
    packet_reader_read(& reader);
    state___1 = (enum request_state )1;
    goto switch_break;
    case_4: /* CIL Label */
    BUG_fl((char const   *)"serve.c", 297, (char const   *)"unexpected response end packet");
    switch_break: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (! command___0) {
    die((char const   *)"no command requested");
  }
  tmp___3 = hash_algo_by_ptr(the_repository->hash_algo);
  if (client_hash_algo != tmp___3) {
    die((char const   *)"mismatched object format: server %s; client %s\n", (the_repository->hash_algo)->name,
        hash_algos[client_hash_algo].name);
  }
  (*(command___0->command))(the_repository, & reader);
  return (0);
}
}
void protocol_v2_serve_loop(int stateless_rpc___0 )
{
  int tmp ;

  {
  if (! stateless_rpc___0) {
    protocol_v2_advertise_capabilities();
  }
  if (stateless_rpc___0) {
    process_request();
  } else {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp = process_request();
      if (tmp) {
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
  }
  return;
}
}
static double const   __ac_HASH_UPPER___85  =    (double const   )0.77;
__inline static void kh_resize_oid_set___85(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___85(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___85 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___85 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___85(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___85(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___85(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___85(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___85(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___85(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___85 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___85 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___85(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___85(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___85(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___85(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___85(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___85(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___85 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___85 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___85(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___85(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___85(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___85(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___64(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___64(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___85 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___85 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___64(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___64(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___64(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___64(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void uic_mark_stale(struct update_info_ctx *uic )
{


  {
  fclose(uic->old_fp);
  uic->old_fp = (FILE *)((void *)0);
  return;
}
}
static int uic_is_stale(struct update_info_ctx  const  *uic )
{


  {
  return ((unsigned long )uic->old_fp == (unsigned long )((void *)0));
}
}
static int ( /* format attribute */  uic_printf)(struct update_info_ctx *uic , char const   *fmt
                                                 , ...)
{
  va_list ap ;
  int ret___67 ;
  ssize_t r ;
  struct strbuf *cur ;
  struct strbuf *old ;
  size_t tmp ;
  int tmp___0 ;
  size_t tmp___1 ;
  int tmp___2 ;

  {
  ret___67 = -1;
  __builtin_va_start(ap, fmt);
  tmp___2 = uic_is_stale((struct update_info_ctx  const  *)uic);
  if (tmp___2) {
    ret___67 = vfprintf(uic->cur_fp, fmt, ap);
  } else {
    cur = & uic->cur_sb;
    old = & uic->old_sb;
    strbuf_setlen(cur, (size_t )0);
    strbuf_vinsertf(cur, (size_t )0, fmt, ap);
    strbuf_setlen(old, (size_t )0);
    strbuf_grow(old, cur->len);
    tmp = fread((void *)old->buf, (size_t )1, cur->len, uic->old_fp);
    r = (ssize_t )tmp;
    if ((size_t )r != cur->len) {
      uic_mark_stale(uic);
    } else {
      tmp___0 = memcmp((void const   *)old->buf, (void const   *)cur->buf, (size_t )r);
      if (tmp___0) {
        uic_mark_stale(uic);
      }
    }
    tmp___1 = fwrite((void const   * __restrict  )cur->buf, (size_t )1, cur->len,
                     (FILE * __restrict  )uic->cur_fp);
    if (tmp___1 == cur->len) {
      ret___67 = 0;
    }
  }
  __builtin_va_end(ap);
  return (ret___67);
}
}
static int update_info_file(char *path___6 , int (*generate___0)(struct update_info_ctx * ) ,
                            int force___2 )
{
  char *tmp ;
  char *tmp___0 ;
  int ret___67 ;
  int fd ;
  FILE *to_close ;
  struct update_info_ctx uic ;
  struct stat st ;
  long new_len ;
  long tmp___1 ;
  int old_fd ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  tmp___0 = mkpathdup((char const   *)"%s_XXXXXX", path___6);
  tmp = tmp___0;
  ret___67 = -1;
  fd = -1;
  uic.cur_fp = (FILE *)((void *)0);
  uic.old_fp = (FILE *)((void *)0);
  uic.cur_sb.alloc = 0UL;
  uic.cur_sb.len = 0UL;
  uic.cur_sb.buf = strbuf_slopbuf;
  uic.old_sb.alloc = 0UL;
  uic.old_sb.len = 0UL;
  uic.old_sb.buf = strbuf_slopbuf;
  safe_create_leading_directories(path___6);
  fd = git_mkstemp_mode(tmp, 0666);
  if (fd < 0) {
    goto out;
  }
  uic.cur_fp = fdopen(fd, (char const   *)"w");
  to_close = uic.cur_fp;
  if (! uic.cur_fp) {
    goto out;
  }
  fd = -1;
  if (! force___2) {
    uic.old_fp = fopen_or_warn((char const   *)path___6, (char const   *)"r");
  }
  ret___67 = (*generate___0)(& uic);
  if (ret___67) {
    goto out;
  }
  tmp___4 = uic_is_stale((struct update_info_ctx  const  *)(& uic));
  if (! tmp___4) {
    tmp___1 = ftell(uic.cur_fp);
    new_len = tmp___1;
    tmp___2 = fileno(uic.old_fp);
    old_fd = tmp___2;
    if (new_len < 0L) {
      ret___67 = -1;
      goto out;
    }
    tmp___3 = fstat(old_fd, & st);
    if (tmp___3) {
      uic_mark_stale(& uic);
    } else
    if ((size_t )st.st_size != (size_t )new_len) {
      uic_mark_stale(& uic);
    }
  }
  uic.cur_fp = (FILE *)((void *)0);
  tmp___5 = fclose(to_close);
  if (tmp___5) {
    goto out;
  }
  tmp___8 = uic_is_stale((struct update_info_ctx  const  *)(& uic));
  if (tmp___8) {
    tmp___6 = adjust_shared_perm((char const   *)tmp);
    if (tmp___6 < 0) {
      goto out;
    }
    tmp___7 = rename((char const   *)tmp, (char const   *)path___6);
    if (tmp___7 < 0) {
      goto out;
    }
  } else {
    unlink((char const   *)tmp);
  }
  ret___67 = 0;
  out:
  if (ret___67) {
    error_errno((char const   *)"unable to update %s", path___6);
    const_error();
    if (uic.cur_fp) {
      fclose(uic.cur_fp);
    } else
    if (fd >= 0) {
      close(fd);
    }
    unlink((char const   *)tmp);
  }
  free((void *)tmp);
  if (uic.old_fp) {
    fclose(uic.old_fp);
  }
  strbuf_release(& uic.old_sb);
  strbuf_release(& uic.cur_sb);
  return (ret___67);
}
}
static int add_info_ref(char const   *path___6 , struct object_id  const  *oid , int flag ,
                        void *cb_data )
{
  struct update_info_ctx *uic ;
  struct object *o ;
  struct object *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;

  {
  uic = (struct update_info_ctx *)cb_data;
  tmp = parse_object(the_repository, oid);
  o = tmp;
  if (! o) {
    return (-1);
  }
  tmp___0 = oid_to_hex(oid);
  tmp___1 = uic_printf(uic, (char const   *)"%s\t%s\n", tmp___0, path___6);
  if (tmp___1 < 0) {
    return (-1);
  }
  if (o->type == 4U) {
    o = deref_tag(the_repository, o, path___6, 0);
    if (o) {
      tmp___2 = oid_to_hex((struct object_id  const  *)(& o->oid));
      tmp___3 = uic_printf(uic, (char const   *)"%s\t%s^{}\n", tmp___2, path___6);
      if (tmp___3 < 0) {
        return (-1);
      }
    }
  }
  return (0);
}
}
static int generate_info_refs(struct update_info_ctx *uic )
{
  int tmp ;

  {
  tmp = for_each_ref(& add_info_ref, (void *)uic);
  return (tmp);
}
}
static int update_info_refs(int force___2 )
{
  char *path___6 ;
  char *tmp ;
  int ret___67 ;
  int tmp___0 ;

  {
  tmp = git_pathdup((char const   *)"info/refs");
  path___6 = tmp;
  tmp___0 = update_info_file(path___6, & generate_info_refs, force___2);
  ret___67 = tmp___0;
  free((void *)path___6);
  return (ret___67);
}
}
static struct pack_info___0 **info  ;
static int num_pack  ;
static struct pack_info___0 *find_pack_by_name(char const   *name___0 )
{
  int i ;
  struct packed_git *p___0 ;
  char const   *tmp ;
  int tmp___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < num_pack)) {
      goto while_break;
    }
    p___0 = (*(info + i))->p;
    tmp = pack_basename(p___0);
    tmp___0 = strcmp(tmp, name___0);
    if (! tmp___0) {
      return (*(info + i));
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct pack_info___0 *)((void *)0));
}
}
static int parse_pack_def(char const   *packname , int old_cnt )
{
  struct pack_info___0 *i ;
  struct pack_info___0 *tmp ;

  {
  tmp = find_pack_by_name(packname);
  i = tmp;
  if (i) {
    i->old_num = old_cnt;
    return (0);
  } else {
    return (1);
  }
}
}
static int read_pack_info_file(char const   *infofile )
{
  FILE *fp ;
  struct strbuf line___0 ;
  int old_cnt ;
  int stale ;
  char const   *arg ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  old_cnt = 0;
  stale = 1;
  fp = fopen_or_warn(infofile, (char const   *)"r");
  if (! fp) {
    return (1);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = strbuf_getline(& line___0, fp);
    if (! (tmp___2 != -1)) {
      goto while_break;
    }
    if (! line___0.len) {
      goto while_continue;
    }
    tmp___1 = skip_prefix((char const   *)line___0.buf, (char const   *)"P ", & arg);
    if (tmp___1) {
      tmp = old_cnt;
      old_cnt ++;
      tmp___0 = parse_pack_def(arg, tmp);
      if (tmp___0) {
        goto out_stale;
      }
    } else
    if ((int )*(line___0.buf + 0) == 68) {
      goto out_stale;
    } else
    if ((int )*(line___0.buf + 0) == 84) {
      goto out_stale;
    } else {
      error((char const   *)"unrecognized: %s", line___0.buf);
      const_error();
    }
  }
  while_break: /* CIL Label */ ;
  }
  stale = 0;
  out_stale:
  strbuf_release(& line___0);
  fclose(fp);
  return (stale);
}
}
static int compare_info(void const   *a_ , void const   *b_ )
{
  struct pack_info___0 **a ;
  struct pack_info___0 **b___0 ;

  {
  a = (struct pack_info___0 **)a_;
  b___0 = (struct pack_info___0 **)b_;
  if (0 <= (*a)->old_num) {
    if (0 <= (*b___0)->old_num) {
      return ((*a)->old_num - (*b___0)->old_num);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (0 <= (*a)->old_num) {
    return (-1);
  } else
  if (0 <= (*b___0)->old_num) {
    return (1);
  }
  if ((unsigned long )(*a)->p == (unsigned long )(*b___0)->p) {
    return (0);
  } else
  if ((unsigned long )(*a)->p < (unsigned long )(*b___0)->p) {
    return (-1);
  } else {
    return (1);
  }
}
}
static void init_pack_info(char const   *infofile , int force___2 )
{
  struct packed_git *p___0 ;
  int stale ;
  int i ;
  size_t alloc___0 ;
  int tmp ;
  int tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  void *tmp___3 ;

  {
  alloc___0 = (size_t )0;
  p___0 = get_all_packs(the_repository);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if (! p___0->pack_local) {
      goto __Cont;
    } else {
      tmp = file_exists((char const   *)(p___0->pack_name));
      if (! tmp) {
        goto __Cont;
      }
    }
    tmp___0 = num_pack;
    num_pack ++;
    i = tmp___0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if ((size_t )num_pack > alloc___0) {
        if (((alloc___0 + 16UL) * 3UL) / 2UL < (size_t )num_pack) {
          alloc___0 = (size_t )num_pack;
        } else {
          alloc___0 = ((alloc___0 + 16UL) * 3UL) / 2UL;
        }
        tmp___1 = st_mult(sizeof(*info), alloc___0);
        tmp___2 = xrealloc((void *)info, tmp___1);
        info = (struct pack_info___0 **)tmp___2;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___3 = xcalloc((size_t )1, sizeof(*(*(info + i))));
    *(info + i) = (struct pack_info___0 *)tmp___3;
    (*(info + i))->p = p___0;
    (*(info + i))->old_num = -1;
    __Cont: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (infofile) {
    if (! force___2) {
      stale = read_pack_info_file(infofile);
    } else {
      stale = 1;
    }
  } else {
    stale = 1;
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < num_pack)) {
      goto while_break___1;
    }
    if (stale) {
      (*(info + i))->old_num = -1;
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  sane_qsort((void *)info, (size_t )num_pack, sizeof(*info), & compare_info);
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < num_pack)) {
      goto while_break___2;
    }
    (*(info + i))->new_num = i;
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  return;
}
}
static void free_pack_info(void)
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < num_pack)) {
      goto while_break;
    }
    free((void *)*(info + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)info);
  return;
}
}
static int write_pack_info_file(struct update_info_ctx *uic )
{
  int i ;
  char const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < num_pack)) {
      goto while_break;
    }
    tmp = pack_basename((*(info + i))->p);
    tmp___0 = uic_printf(uic, (char const   *)"P %s\n", tmp);
    if (tmp___0 < 0) {
      return (-1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = uic_printf(uic, (char const   *)"\n");
  if (tmp___1 < 0) {
    return (-1);
  }
  return (0);
}
}
static int update_info_packs(int force___2 )
{
  char *infofile ;
  char *tmp ;
  char *tmp___0 ;
  int ret___67 ;

  {
  tmp = get_object_directory();
  tmp___0 = mkpathdup((char const   *)"%s/info/packs", tmp);
  infofile = tmp___0;
  init_pack_info((char const   *)infofile, force___2);
  ret___67 = update_info_file(infofile, & write_pack_info_file, force___2);
  free_pack_info();
  free((void *)infofile);
  return (ret___67);
}
}
int update_server_info(int force___2 )
{
  int errs ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;

  {
  errs = 0;
  tmp = update_info_refs(force___2);
  errs |= tmp;
  tmp___0 = update_info_packs(force___2);
  errs |= tmp___0;
  tmp___1 = git_path((char const   *)"info/rev-cache");
  unlink_or_warn(tmp___1);
  return (errs);
}
}
char const   *tmp_original_cwd  ;
static int inside_git_dir  =    -1;
static int inside_work_tree  =    -1;
static int work_tree_config_is_bogus  ;
static struct startup_info the_startup_info  ;
struct startup_info *startup_info  =    & the_startup_info;
static int abspath_part_inside_repo(char *path___6 )
{
  size_t len___0 ;
  size_t wtlen ;
  char *path0 ;
  int off ;
  char const   *work_tree ;
  char const   *tmp ;
  struct strbuf realpath___1 ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = get_git_work_tree();
  work_tree = tmp;
  realpath___1.alloc = 0UL;
  realpath___1.len = 0UL;
  realpath___1.buf = strbuf_slopbuf;
  if (! work_tree) {
    return (-1);
  }
  wtlen = strlen(work_tree);
  len___0 = strlen((char const   *)path___6);
  off = git_offset_1st_component((char const   *)path___6);
  if (wtlen <= len___0) {
    tmp___0 = fspathncmp((char const   *)path___6, work_tree, wtlen);
    if (! tmp___0) {
      if ((int )*(path___6 + wtlen) == 47) {
        memmove((void *)path___6, (void const   *)((path___6 + wtlen) + 1), len___0 - wtlen);
        return (0);
      } else
      if ((int )*(path___6 + (wtlen - 1UL)) == 47) {
        memmove((void *)path___6, (void const   *)(path___6 + wtlen), (len___0 - wtlen) + 1UL);
        return (0);
      } else
      if ((int )*(path___6 + wtlen) == 0) {
        memmove((void *)path___6, (void const   *)(path___6 + wtlen), (len___0 - wtlen) + 1UL);
        return (0);
      }
      off = (int )wtlen;
    }
  }
  path0 = path___6;
  path___6 += off;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *path___6) {
      goto while_break;
    }
    path___6 ++;
    if ((int )*path___6 == 47) {
      *path___6 = (char )'\000';
      strbuf_realpath(& realpath___1, (char const   *)path0, 1);
      tmp___1 = fspathcmp((char const   *)realpath___1.buf, work_tree);
      if (tmp___1 == 0) {
        memmove((void *)path0, (void const   *)(path___6 + 1), len___0 - (size_t )(path___6 - path0));
        strbuf_release(& realpath___1);
        return (0);
      }
      *path___6 = (char )'/';
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_realpath(& realpath___1, (char const   *)path0, 1);
  tmp___2 = fspathcmp((char const   *)realpath___1.buf, work_tree);
  if (tmp___2 == 0) {
    *path0 = (char )'\000';
    strbuf_release(& realpath___1);
    return (0);
  }
  strbuf_release(& realpath___1);
  return (-1);
}
}
char *prefix_path_gently(char const   *prefix___1 , int len___0 , int *remaining_prefix ,
                         char const   *path___6 )
{
  char const   *orig ;
  char *sanitized ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  orig = path___6;
  tmp___5 = is_absolute_path(orig);
  if (tmp___5) {
    tmp = strlen(path___6);
    tmp___0 = xmallocz(tmp);
    sanitized = (char *)tmp___0;
    if (remaining_prefix) {
      *remaining_prefix = 0;
    }
    tmp___1 = normalize_path_copy_len(sanitized, path___6, remaining_prefix);
    if (tmp___1) {
      free((void *)sanitized);
      return ((char *)((void *)0));
    }
    tmp___2 = abspath_part_inside_repo(sanitized);
    if (tmp___2) {
      free((void *)sanitized);
      return ((char *)((void *)0));
    }
  } else {
    if (len___0) {
      tmp___3 = prefix___1;
    } else {
      tmp___3 = (char const   *)"";
    }
    sanitized = xstrfmt((char const   *)"%.*s%s", len___0, tmp___3, path___6);
    if (remaining_prefix) {
      *remaining_prefix = len___0;
    }
    tmp___4 = normalize_path_copy_len(sanitized, (char const   *)sanitized, remaining_prefix);
    if (tmp___4) {
      free((void *)sanitized);
      return ((char *)((void *)0));
    }
  }
  return (sanitized);
}
}
char *prefix_path(char const   *prefix___1 , int len___0 , char const   *path___6 )
{
  char *r ;
  char *tmp ;
  char const   *hint_path ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  tmp = prefix_path_gently(prefix___1, len___0, (int *)((void *)0), path___6);
  r = tmp;
  if (! r) {
    tmp___0 = get_git_work_tree();
    hint_path = tmp___0;
    if (! hint_path) {
      hint_path = get_git_dir();
    }
    tmp___1 = absolute_path(hint_path);
    tmp___2 = _((char const   *)"\'%s\' is outside repository at \'%s\'");
    die((char const   *)tmp___2, path___6, tmp___1);
  }
  return (r);
}
}
int path_inside_repo(char const   *prefix___1 , char const   *path___6 )
{
  int len___0 ;
  size_t tmp ;
  size_t tmp___0 ;
  char *r ;
  char *tmp___1 ;

  {
  if (prefix___1) {
    tmp = strlen(prefix___1);
    tmp___0 = tmp;
  } else {
    tmp___0 = (size_t )0;
  }
  len___0 = (int )tmp___0;
  tmp___1 = prefix_path_gently(prefix___1, len___0, (int *)((void *)0), path___6);
  r = tmp___1;
  if (r) {
    free((void *)r);
    return (1);
  }
  return (0);
}
}
int check_filename(char const   *prefix___1 , char const   *arg )
{
  char *to_free ;
  struct stat st ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  to_free = (char *)((void *)0);
  tmp___1 = skip_prefix(arg, (char const   *)":/", & arg);
  if (tmp___1) {
    if (! *arg) {
      return (1);
    }
    prefix___1 = (char const   *)((void *)0);
  } else {
    tmp = skip_prefix(arg, (char const   *)":!", & arg);
    if (tmp) {
      goto _L;
    } else {
      tmp___0 = skip_prefix(arg, (char const   *)":^", & arg);
      if (tmp___0) {
        _L: /* CIL Label */
        if (! *arg) {
          return (1);
        }
      }
    }
  }
  if (prefix___1) {
    to_free = prefix_filename(prefix___1, arg);
    arg = (char const   *)to_free;
  }
  tmp___2 = lstat(arg, & st);
  if (! tmp___2) {
    free((void *)to_free);
    return (1);
  }
  tmp___3 = __errno_location();
  tmp___4 = is_missing_file_error(*tmp___3);
  if (tmp___4) {
    free((void *)to_free);
    return (0);
  }
  tmp___5 = _((char const   *)"failed to stat \'%s\'");
  die_errno((char const   *)tmp___5, arg);
}
}
static void die_verify_filename(struct repository *r , char const   *prefix___1 ,
                                char const   *arg , int diagnose_misspelt_rev )  __attribute__((__noreturn__)) ;
static void die_verify_filename(struct repository *r , char const   *prefix___1 ,
                                char const   *arg , int diagnose_misspelt_rev )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  if (! diagnose_misspelt_rev) {
    tmp = _((char const   *)"%s: no such path in the working tree.\nUse \'git <command> -- <path>...\' to specify paths that do not exist locally.");
    die((char const   *)tmp, arg);
  }
  if ((int const   )*(arg + 0) == 58) {
    if (! (! (((int const   )sane_ctype[(unsigned char )*(arg + 1)] & 6) != 0))) {
      maybe_die_on_misspelt_object_name(r, arg, prefix___1);
    }
  } else {
    maybe_die_on_misspelt_object_name(r, arg, prefix___1);
  }
  tmp___0 = _((char const   *)"ambiguous argument \'%s\': unknown revision or path not in the working tree.\nUse \'--\' to separate paths from revisions, like this:\n\'git <command> [<revision>...] -- [<file>...]\'");
  die((char const   *)tmp___0, arg);
}
}
static int looks_like_pathspec(char const   *arg )
{
  char const   *p___0 ;
  int escaped ;
  int tmp ;

  {
  escaped = 0;
  p___0 = arg;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    if (escaped) {
      escaped = 0;
    } else
    if (((int const   )sane_ctype[(unsigned char )*p___0] & 8) != 0) {
      if ((int const   )*p___0 == 92) {
        escaped = 1;
      } else {
        return (1);
      }
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = starts_with(arg, (char const   *)":(");
  if (tmp) {
    return (1);
  }
  return (0);
}
}
void verify_filename(char const   *prefix___1 , char const   *arg , int diagnose_misspelt_rev )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if ((int const   )*arg == 45) {
    tmp = _((char const   *)"option \'%s\' must come before non-option arguments");
    die((char const   *)tmp, arg);
  }
  tmp___0 = looks_like_pathspec(arg);
  if (tmp___0) {
    return;
  } else {
    tmp___1 = check_filename(prefix___1, arg);
    if (tmp___1) {
      return;
    }
  }
  die_verify_filename(the_repository, prefix___1, arg, diagnose_misspelt_rev);
}
}
void verify_non_filename(char const   *prefix___1 , char const   *arg )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  tmp = is_inside_work_tree();
  if (tmp) {
    tmp___0 = is_inside_git_dir();
    if (tmp___0) {
      return;
    }
  } else {
    return;
  }
  if ((int const   )*arg == 45) {
    return;
  }
  tmp___1 = check_filename(prefix___1, arg);
  if (! tmp___1) {
    return;
  }
  tmp___2 = _((char const   *)"ambiguous argument \'%s\': both revision and filename\nUse \'--\' to separate paths from revisions, like this:\n\'git <command> [<revision>...] -- [<file>...]\'");
  die((char const   *)tmp___2, arg);
}
}
int get_common_dir(struct strbuf *sb___6 , char const   *gitdir___0 )
{
  char const   *git_env_common_dir ;
  char *tmp ;
  int tmp___0 ;

  {
  tmp = getenv((char const   *)"GIT_COMMON_DIR");
  git_env_common_dir = (char const   *)tmp;
  if (git_env_common_dir) {
    strbuf_addstr(sb___6, git_env_common_dir);
    return (1);
  } else {
    tmp___0 = get_common_dir_noenv(sb___6, gitdir___0);
    return (tmp___0);
  }
}
}
int get_common_dir_noenv(struct strbuf *sb___6 , char const   *gitdir___0 )
{
  struct strbuf data ;
  struct strbuf path___6 ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  ssize_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  data.alloc = 0UL;
  data.len = 0UL;
  data.buf = strbuf_slopbuf;
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  ret___67 = 0;
  strbuf_addf(& path___6, (char const   *)"%s/commondir", gitdir___0);
  tmp___2 = file_exists((char const   *)path___6.buf);
  if (tmp___2) {
    tmp___0 = strbuf_read_file(& data, (char const   *)path___6.buf, (size_t )0);
    if (tmp___0 <= 0L) {
      tmp = _((char const   *)"failed to read %s");
      die_errno((char const   *)tmp, path___6.buf);
    }
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (data.len) {
        if (! ((int )*(data.buf + (data.len - 1UL)) == 10)) {
          if (! ((int )*(data.buf + (data.len - 1UL)) == 13)) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      (data.len) --;
    }
    while_break: /* CIL Label */ ;
    }
    *(data.buf + data.len) = (char )'\000';
    strbuf_setlen(& path___6, (size_t )0);
    tmp___1 = is_absolute_path((char const   *)data.buf);
    if (! tmp___1) {
      strbuf_addf(& path___6, (char const   *)"%s/", gitdir___0);
    }
    strbuf_addbuf(& path___6, (struct strbuf  const  *)(& data));
    strbuf_add_real_path(sb___6, (char const   *)path___6.buf);
    ret___67 = 1;
  } else {
    strbuf_addstr(sb___6, gitdir___0);
  }
  strbuf_release(& data);
  strbuf_release(& path___6);
  return (ret___67);
}
}
int is_git_directory(char const   *suspect )
{
  struct strbuf path___6 ;
  int ret___67 ;
  size_t len___0 ;
  int tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;

  {
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  ret___67 = 0;
  strbuf_addstr(& path___6, suspect);
  strbuf_complete(& path___6, (char )'/');
  strbuf_addstr(& path___6, (char const   *)"HEAD");
  tmp = validate_headref((char const   *)path___6.buf);
  if (tmp) {
    goto done;
  }
  strbuf_setlen(& path___6, (size_t )0);
  get_common_dir(& path___6, suspect);
  len___0 = path___6.len;
  tmp___3 = getenv((char const   *)"GIT_OBJECT_DIRECTORY");
  if (tmp___3) {
    tmp___0 = getenv((char const   *)"GIT_OBJECT_DIRECTORY");
    tmp___1 = access((char const   *)tmp___0, 1);
    if (tmp___1) {
      goto done;
    }
  } else {
    strbuf_setlen(& path___6, len___0);
    strbuf_addstr(& path___6, (char const   *)"/objects");
    tmp___2 = access((char const   *)path___6.buf, 1);
    if (tmp___2) {
      goto done;
    }
  }
  strbuf_setlen(& path___6, len___0);
  strbuf_addstr(& path___6, (char const   *)"/refs");
  tmp___4 = access((char const   *)path___6.buf, 1);
  if (tmp___4) {
    goto done;
  }
  ret___67 = 1;
  done:
  strbuf_release(& path___6);
  return (ret___67);
}
}
int is_nonbare_repository_dir(struct strbuf *path___6 )
{
  int ret___67 ;
  int gitfile_error ;
  size_t orig_path_len ;
  char const   *tmp ;
  int tmp___0 ;

  {
  ret___67 = 0;
  orig_path_len = path___6->len;
  assert(orig_path_len != 0UL);
  strbuf_complete(path___6, (char )'/');
  strbuf_addstr(path___6, (char const   *)".git");
  tmp = read_gitfile_gently((char const   *)path___6->buf, & gitfile_error);
  if (tmp) {
    ret___67 = 1;
  } else {
    tmp___0 = is_git_directory((char const   *)path___6->buf);
    if (tmp___0) {
      ret___67 = 1;
    }
  }
  if (gitfile_error == 3) {
    ret___67 = 1;
  } else
  if (gitfile_error == 4) {
    ret___67 = 1;
  }
  strbuf_setlen(path___6, orig_path_len);
  return (ret___67);
}
}
int is_inside_git_dir(void)
{
  char const   *tmp ;

  {
  if (inside_git_dir < 0) {
    tmp = get_git_dir();
    inside_git_dir = is_inside_dir(tmp);
  }
  return (inside_git_dir);
}
}
int is_inside_work_tree(void)
{
  char const   *tmp ;

  {
  if (inside_work_tree < 0) {
    tmp = get_git_work_tree();
    inside_work_tree = is_inside_dir(tmp);
  }
  return (inside_work_tree);
}
}
static int initialized___2  =    0;
void setup_work_tree(void)
{
  char const   *work_tree ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;

  {
  if (initialized___2) {
    return;
  }
  if (work_tree_config_is_bogus) {
    tmp = _((char const   *)"unable to set up work tree using invalid config");
    die((char const   *)tmp);
  }
  work_tree = get_git_work_tree();
  if (! work_tree) {
    tmp___0 = _((char const   *)"this operation must be run in a work tree");
    die((char const   *)tmp___0);
  } else {
    tmp___1 = chdir_notify(work_tree);
    if (tmp___1) {
      tmp___0 = _((char const   *)"this operation must be run in a work tree");
      die((char const   *)tmp___0);
    }
  }
  tmp___2 = getenv((char const   *)"GIT_WORK_TREE");
  if (tmp___2) {
    setenv((char const   *)"GIT_WORK_TREE", (char const   *)".", 1);
  }
  initialized___2 = 1;
  return;
}
}
static void setup_original_cwd(void)
{
  struct strbuf tmp ;
  char const   *worktree ;
  int offset___2 ;
  char *tmp___0 ;

  {
  tmp.alloc = 0UL;
  tmp.len = 0UL;
  tmp.buf = strbuf_slopbuf;
  worktree = (char const   *)((void *)0);
  offset___2 = -1;
  if (! tmp_original_cwd) {
    return;
  }
  strbuf_realpath(& tmp, tmp_original_cwd, 1);
  free((void *)((char *)tmp_original_cwd));
  tmp_original_cwd = (char const   *)((void *)0);
  tmp___0 = strbuf_detach(& tmp, (size_t *)((void *)0));
  startup_info->original_cwd = (char const   *)tmp___0;
  worktree = get_git_work_tree();
  if (! worktree) {
    goto no_prevention_needed;
  }
  offset___2 = dir_inside_of(startup_info->original_cwd, worktree);
  if (offset___2 >= 0) {
    if (! *(startup_info->original_cwd + offset___2)) {
      goto no_prevention_needed;
    }
    startup_info->original_cwd = precompose_string_if_needed(startup_info->original_cwd + offset___2);
    return;
  }
  no_prevention_needed:
  free((void *)((char *)startup_info->original_cwd));
  startup_info->original_cwd = (char const   *)((void *)0);
  return;
}
}
static int read_worktree_config(char const   *var , char const   *value , void *vdata )
{
  struct repository_format *data ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  data = (struct repository_format *)vdata;
  tmp___1 = strcmp(var, (char const   *)"core.bare");
  if (tmp___1 == 0) {
    data->is_bare = git_config_bool(var, value);
  } else {
    tmp___0 = strcmp(var, (char const   *)"core.worktree");
    if (tmp___0 == 0) {
      if (! value) {
        config_error_nonbool(var);
        tmp = const_error();
        return (tmp);
      }
      free((void *)data->work_tree);
      data->work_tree = xstrdup(value);
    }
  }
  return (0);
}
}
static enum extension_result handle_extension_v0(char const   *var , char const   *value ,
                                                 char const   *ext , struct repository_format *data )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___2 = strcmp(ext, (char const   *)"noop");
  if (tmp___2) {
    tmp___1 = strcmp(ext, (char const   *)"preciousobjects");
    if (tmp___1) {
      tmp___0 = strcmp(ext, (char const   *)"partialclone");
      if (tmp___0) {
        tmp = strcmp(ext, (char const   *)"worktreeconfig");
        if (! tmp) {
          data->worktree_config = git_config_bool(var, value);
          return ((enum extension_result )1);
        }
      } else {
        data->partial_clone = xstrdup(value);
        return ((enum extension_result )1);
      }
    } else {
      data->precious_objects = git_config_bool(var, value);
      return ((enum extension_result )1);
    }
  } else {
    return ((enum extension_result )1);
  }
  return ((enum extension_result )0);
}
}
static enum extension_result handle_extension(char const   *var , char const   *value ,
                                              char const   *ext , struct repository_format *data )
{
  int format___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___2 = strcmp(ext, (char const   *)"noop-v1");
  if (tmp___2) {
    tmp___1 = strcmp(ext, (char const   *)"objectformat");
    if (! tmp___1) {
      if (! value) {
        config_error_nonbool(var);
        tmp = const_error();
        return ((enum extension_result )tmp);
      }
      format___0 = hash_algo_by_name(value);
      if (format___0 == 0) {
        error((char const   *)"invalid value for \'extensions.objectformat\'");
        tmp___0 = const_error();
        return ((enum extension_result )tmp___0);
      }
      data->hash_algo = format___0;
      return ((enum extension_result )1);
    }
  } else {
    return ((enum extension_result )1);
  }
  return ((enum extension_result )0);
}
}
static int check_repo_format(char const   *var , char const   *value , void *vdata )
{
  struct repository_format *data ;
  char const   *ext ;
  enum extension_result tmp ;
  enum extension_result tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  data = (struct repository_format *)vdata;
  tmp___2 = strcmp(var, (char const   *)"core.repositoryformatversion");
  if (tmp___2 == 0) {
    data->version = git_config_int(var, value);
  } else {
    tmp___1 = skip_prefix(var, (char const   *)"extensions.", & ext);
    if (tmp___1) {
      tmp = handle_extension_v0(var, value, ext, data);
      {
      if ((int )tmp == -1) {
        goto case_neg_1;
      }
      if ((int )tmp == 1) {
        goto case_1;
      }
      if ((int )tmp == 0) {
        goto case_0;
      }
      goto switch_break;
      case_neg_1: /* CIL Label */
      return (-1);
      case_1: /* CIL Label */
      return (0);
      case_0: /* CIL Label */
      goto switch_break;
      switch_break: /* CIL Label */ ;
      }
      tmp___0 = handle_extension(var, value, ext, data);
      {
      if ((int )tmp___0 == -1) {
        goto case_neg_1___0;
      }
      if ((int )tmp___0 == 1) {
        goto case_1___0;
      }
      if ((int )tmp___0 == 0) {
        goto case_0___0;
      }
      goto switch_break___0;
      case_neg_1___0: /* CIL Label */
      return (-1);
      case_1___0: /* CIL Label */
      string_list_append(& data->v1_only_extensions, ext);
      return (0);
      case_0___0: /* CIL Label */
      string_list_append(& data->unknown_extensions, ext);
      return (0);
      switch_break___0: /* CIL Label */ ;
      }
    }
  }
  tmp___3 = read_worktree_config(var, value, vdata);
  return (tmp___3);
}
}
static int check_repository_format_gently(char const   *gitdir___0 , struct repository_format *candidate ,
                                          int *nongit_ok )
{
  struct strbuf sb___6 ;
  struct strbuf err___4 ;
  int has_common ;
  int tmp ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  has_common = get_common_dir(& sb___6, gitdir___0);
  strbuf_addstr(& sb___6, (char const   *)"/config");
  read_repository_format(candidate, (char const   *)sb___6.buf);
  strbuf_release(& sb___6);
  if (candidate->version < 0) {
    return (0);
  }
  tmp = verify_repository_format((struct repository_format  const  *)candidate, & err___4);
  if (tmp < 0) {
    if (nongit_ok) {
      warning((char const   *)"%s", err___4.buf);
      strbuf_release(& err___4);
      *nongit_ok = -1;
      return (-1);
    }
    die((char const   *)"%s", err___4.buf);
  }
  repository_format_precious_objects = candidate->precious_objects;
  repository_format_worktree_config = candidate->worktree_config;
  string_list_clear(& candidate->unknown_extensions, 0);
  string_list_clear(& candidate->v1_only_extensions, 0);
  if (repository_format_worktree_config) {
    strbuf_addf(& sb___6, (char const   *)"%s/config.worktree", gitdir___0);
    git_config_from_file(& read_worktree_config, (char const   *)sb___6.buf, (void *)candidate);
    strbuf_release(& sb___6);
    has_common = 0;
  }
  if (! has_common) {
    if (candidate->is_bare != -1) {
      is_bare_repository_cfg = candidate->is_bare;
      if (is_bare_repository_cfg == 1) {
        inside_work_tree = -1;
      }
    }
    if (candidate->work_tree) {
      free((void *)git_work_tree_cfg);
      git_work_tree_cfg = xstrdup((char const   *)candidate->work_tree);
      inside_work_tree = -1;
    }
  }
  return (0);
}
}
int upgrade_repository_format(int target_version )
{
  struct strbuf sb___6 ;
  struct strbuf err___4 ;
  struct strbuf repo_version ;
  struct repository_format repo_fmt ;
  int tmp ;
  int tmp___0 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  repo_version.alloc = 0UL;
  repo_version.len = 0UL;
  repo_version.buf = strbuf_slopbuf;
  repo_fmt.version = -1;
  repo_fmt.precious_objects = 0;
  repo_fmt.partial_clone = (char *)0;
  repo_fmt.worktree_config = 0;
  repo_fmt.is_bare = -1;
  repo_fmt.hash_algo = 1;
  repo_fmt.sparse_index = 0;
  repo_fmt.work_tree = (char *)0;
  repo_fmt.unknown_extensions.items = (struct string_list_item *)0;
  repo_fmt.unknown_extensions.nr = 0U;
  repo_fmt.unknown_extensions.alloc = 0U;
  repo_fmt.unknown_extensions.strdup_strings = 1U;
  repo_fmt.unknown_extensions.cmp = (int (*)(char const   * , char const   * ))0;
  repo_fmt.v1_only_extensions.items = (struct string_list_item *)0;
  repo_fmt.v1_only_extensions.nr = 0U;
  repo_fmt.v1_only_extensions.alloc = 0U;
  repo_fmt.v1_only_extensions.strdup_strings = 1U;
  repo_fmt.v1_only_extensions.cmp = (int (*)(char const   * , char const   * ))0;
  strbuf_git_common_path(& sb___6, (struct repository  const  *)the_repository, (char const   *)"config");
  read_repository_format(& repo_fmt, (char const   *)sb___6.buf);
  strbuf_release(& sb___6);
  if (repo_fmt.version >= target_version) {
    return (0);
  }
  tmp = verify_repository_format((struct repository_format  const  *)(& repo_fmt),
                                 & err___4);
  if (tmp < 0) {
    error((char const   *)"cannot upgrade repository format from %d to %d: %s", repo_fmt.version,
          target_version, err___4.buf);
    const_error();
    strbuf_release(& err___4);
    return (-1);
  }
  if (! repo_fmt.version) {
    if (repo_fmt.unknown_extensions.nr) {
      error((char const   *)"cannot upgrade repository format: unknown extension %s",
            (repo_fmt.unknown_extensions.items + 0)->string);
      tmp___0 = const_error();
      return (tmp___0);
    }
  }
  strbuf_addf(& repo_version, (char const   *)"%d", target_version);
  git_config_set((char const   *)"core.repositoryformatversion", (char const   *)repo_version.buf);
  strbuf_release(& repo_version);
  return (1);
}
}
static void init_repository_format(struct repository_format *format___0 )
{
  struct repository_format fresh ;

  {
  fresh.version = (int )-1;
  fresh.precious_objects = (int )0;
  fresh.partial_clone = (char *)((char *)0);
  fresh.worktree_config = (int )0;
  fresh.is_bare = (int )-1;
  fresh.hash_algo = (int )1;
  fresh.sparse_index = (int )0;
  fresh.work_tree = (char *)((char *)0);
  fresh.unknown_extensions.items = (struct string_list_item *)((struct string_list_item *)0);
  fresh.unknown_extensions.nr = (unsigned int )0U;
  fresh.unknown_extensions.alloc = (unsigned int )0U;
  fresh.unknown_extensions.strdup_strings = (unsigned int )1U;
  fresh.unknown_extensions.cmp = (int (*)(char const   * , char const   * ))((int (*)(char const   * ,
                                                                                      char const   * ))0);
  fresh.v1_only_extensions.items = (struct string_list_item *)((struct string_list_item *)0);
  fresh.v1_only_extensions.nr = (unsigned int )0U;
  fresh.v1_only_extensions.alloc = (unsigned int )0U;
  fresh.v1_only_extensions.strdup_strings = (unsigned int )1U;
  fresh.v1_only_extensions.cmp = (int (*)(char const   * , char const   * ))((int (*)(char const   * ,
                                                                                      char const   * ))0);
  memcpy((void *)format___0, (void const   *)(& fresh), sizeof(fresh));
  return;
}
}
int read_repository_format(struct repository_format *format___0 , char const   *path___6 )
{


  {
  clear_repository_format(format___0);
  git_config_from_file(& check_repo_format, path___6, (void *)format___0);
  if (format___0->version == -1) {
    clear_repository_format(format___0);
  }
  return (format___0->version);
}
}
void clear_repository_format(struct repository_format *format___0 )
{


  {
  string_list_clear(& format___0->unknown_extensions, 0);
  string_list_clear(& format___0->v1_only_extensions, 0);
  free((void *)format___0->work_tree);
  free((void *)format___0->partial_clone);
  init_repository_format(format___0);
  return;
}
}
int verify_repository_format(struct repository_format  const  *format___0 , struct strbuf *err___4 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int i ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___0 ;
  int i___0 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___1 ;

  {
  if (1 < (int )format___0->version) {
    tmp = _((char const   *)"Expected git repo version <= %d, found %d");
    strbuf_addf(err___4, (char const   *)tmp, 1, format___0->version);
    return (-1);
  }
  if (format___0->version >= 1) {
    if (format___0->unknown_extensions.nr) {
      tmp___0 = Q_((char const   *)"unknown repository extension found:", (char const   *)"unknown repository extensions found:",
                   (unsigned long )format___0->unknown_extensions.nr);
      strbuf_addstr(err___4, (char const   *)tmp___0);
      i = 0;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! ((unsigned int )i < format___0->unknown_extensions.nr)) {
          goto while_break;
        }
        strbuf_addf(err___4, (char const   *)"\n\t%s", (format___0->unknown_extensions.items + i)->string);
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
      return (-1);
    }
  }
  if (format___0->version == 0) {
    if (format___0->v1_only_extensions.nr) {
      tmp___1 = Q_((char const   *)"repo version is 0, but v1-only extension found:",
                   (char const   *)"repo version is 0, but v1-only extensions found:",
                   (unsigned long )format___0->v1_only_extensions.nr);
      strbuf_addstr(err___4, (char const   *)tmp___1);
      i___0 = 0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! ((unsigned int )i___0 < format___0->v1_only_extensions.nr)) {
          goto while_break___0;
        }
        strbuf_addf(err___4, (char const   *)"\n\t%s", (format___0->v1_only_extensions.items + i___0)->string);
        i___0 ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      return (-1);
    }
  }
  return (0);
}
}
void read_gitfile_error_die(int error_code , char const   *path___6 , char const   *dir )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  {
  if (error_code == 2) {
    goto case_2;
  }
  if (error_code == 1) {
    goto case_2;
  }
  if (error_code == 3) {
    goto case_3;
  }
  if (error_code == 8) {
    goto case_8;
  }
  if (error_code == 4) {
    goto case_4;
  }
  if (error_code == 5) {
    goto case_5;
  }
  if (error_code == 6) {
    goto case_6;
  }
  if (error_code == 7) {
    goto case_7;
  }
  goto switch_default;
  case_2: /* CIL Label */
  case_1: /* CIL Label */
  goto switch_break;
  case_3: /* CIL Label */
  tmp = _((char const   *)"error opening \'%s\'");
  die_errno((char const   *)tmp, path___6);
  case_8: /* CIL Label */
  tmp___0 = _((char const   *)"too large to be a .git file: \'%s\'");
  die((char const   *)tmp___0, path___6);
  case_4: /* CIL Label */
  tmp___1 = _((char const   *)"error reading %s");
  die((char const   *)tmp___1, path___6);
  case_5: /* CIL Label */
  tmp___2 = _((char const   *)"invalid gitfile format: %s");
  die((char const   *)tmp___2, path___6);
  case_6: /* CIL Label */
  tmp___3 = _((char const   *)"no path in gitfile: %s");
  die((char const   *)tmp___3, path___6);
  case_7: /* CIL Label */
  tmp___4 = _((char const   *)"not a git repository: %s");
  die((char const   *)tmp___4, dir);
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"setup.c", 777, (char const   *)"unknown error code");
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static struct strbuf realpath___0  =    {0UL, 0UL, strbuf_slopbuf};
char const   *read_gitfile_gently(char const   *path___6 , int *return_error_code )
{
  int max_file_size ;
  int error_code ;
  char *buf___19 ;
  char *dir ;
  char const   *slash ;
  struct stat st ;
  int fd ;
  ssize_t len___0 ;
  int tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  size_t pathlen ;
  int tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  char const   *tmp___5 ;

  {
  max_file_size = (int )(1 << 20);
  error_code = 0;
  buf___19 = (char *)((void *)0);
  dir = (char *)((void *)0);
  tmp = stat(path___6, & st);
  if (tmp) {
    error_code = 1;
    goto cleanup_return;
  }
  if (! ((st.st_mode & 61440U) == 32768U)) {
    error_code = 2;
    goto cleanup_return;
  }
  if (st.st_size > (__off_t )max_file_size) {
    error_code = 8;
    goto cleanup_return;
  }
  fd = open(path___6, 00);
  if (fd < 0) {
    error_code = 3;
    goto cleanup_return;
  }
  tmp___0 = xmallocz((size_t )st.st_size);
  buf___19 = (char *)tmp___0;
  len___0 = read_in_full(fd, (void *)buf___19, (size_t )st.st_size);
  close(fd);
  if (len___0 != st.st_size) {
    error_code = 4;
    goto cleanup_return;
  }
  tmp___1 = starts_with((char const   *)buf___19, (char const   *)"gitdir: ");
  if (! tmp___1) {
    error_code = 5;
    goto cleanup_return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((int )*(buf___19 + (len___0 - 1L)) == 10)) {
      if (! ((int )*(buf___19 + (len___0 - 1L)) == 13)) {
        goto while_break;
      }
    }
    len___0 --;
  }
  while_break: /* CIL Label */ ;
  }
  if (len___0 < 9L) {
    error_code = 6;
    goto cleanup_return;
  }
  *(buf___19 + len___0) = (char )'\000';
  dir = buf___19 + 8;
  tmp___2 = is_absolute_path((char const   *)dir);
  if (! tmp___2) {
    tmp___3 = strrchr(path___6, '/');
    slash = (char const   *)tmp___3;
    if (slash) {
      pathlen = (size_t )((slash + 1) - path___6);
      dir = xstrfmt((char const   *)"%.*s%.*s", (int )pathlen, path___6, (int )(len___0 - 8L),
                    buf___19 + 8);
      free((void *)buf___19);
      buf___19 = dir;
    }
  }
  tmp___4 = is_git_directory((char const   *)dir);
  if (! tmp___4) {
    error_code = 7;
    goto cleanup_return;
  }
  strbuf_realpath(& realpath___0, (char const   *)dir, 1);
  path___6 = (char const   *)realpath___0.buf;
  cleanup_return:
  if (return_error_code) {
    *return_error_code = error_code;
  } else
  if (error_code) {
    read_gitfile_error_die(error_code, path___6, (char const   *)dir);
  }
  free((void *)buf___19);
  if (error_code) {
    tmp___5 = (char const   *)((void *)0);
  } else {
    tmp___5 = path___6;
  }
  return (tmp___5);
}
}
static char const   *setup_explicit_git_dir(char const   *gitdirenv , struct strbuf *cwd___0 ,
                                            struct repository_format *repo_fmt , int *nongit_ok )
{
  char const   *work_tree_env ;
  char *tmp ;
  char const   *worktree ;
  char *gitfile ;
  int offset___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  size_t tmp___1 ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char *core_worktree ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;

  {
  tmp = getenv((char const   *)"GIT_WORK_TREE");
  work_tree_env = (char const   *)tmp;
  tmp___1 = strlen(gitdirenv);
  if (4056UL < tmp___1) {
    tmp___0 = _((char const   *)"\'$%s\' too big");
    die((char const   *)tmp___0, "GIT_DIR");
  }
  tmp___2 = read_gitfile_gently(gitdirenv, (int *)((void *)0));
  gitfile = (char *)tmp___2;
  if (gitfile) {
    gitfile = xstrdup((char const   *)gitfile);
    gitdirenv = (char const   *)gitfile;
  }
  tmp___4 = is_git_directory(gitdirenv);
  if (! tmp___4) {
    if (nongit_ok) {
      *nongit_ok = 1;
      free((void *)gitfile);
      return ((char const   *)((void *)0));
    }
    tmp___3 = _((char const   *)"not a git repository: \'%s\'");
    die((char const   *)tmp___3, gitdirenv);
  }
  tmp___5 = check_repository_format_gently(gitdirenv, repo_fmt, nongit_ok);
  if (tmp___5) {
    free((void *)gitfile);
    return ((char const   *)((void *)0));
  }
  if (work_tree_env) {
    set_git_work_tree(work_tree_env);
  } else
  if (is_bare_repository_cfg > 0) {
    if (git_work_tree_cfg) {
      warning((char const   *)"core.bare and core.worktree do not make sense");
      work_tree_config_is_bogus = 1;
    }
    set_git_dir(gitdirenv, 0);
    free((void *)gitfile);
    return ((char const   *)((void *)0));
  } else
  if (git_work_tree_cfg) {
    tmp___12 = is_absolute_path((char const   *)git_work_tree_cfg);
    if (tmp___12) {
      set_git_work_tree((char const   *)git_work_tree_cfg);
    } else {
      tmp___7 = chdir(gitdirenv);
      if (tmp___7) {
        tmp___6 = _((char const   *)"cannot chdir to \'%s\'");
        die_errno((char const   *)tmp___6, gitdirenv);
      }
      tmp___9 = chdir((char const   *)git_work_tree_cfg);
      if (tmp___9) {
        tmp___8 = _((char const   *)"cannot chdir to \'%s\'");
        die_errno((char const   *)tmp___8, git_work_tree_cfg);
      }
      core_worktree = xgetcwd();
      tmp___11 = chdir((char const   *)cwd___0->buf);
      if (tmp___11) {
        tmp___10 = _((char const   *)"cannot come back to cwd");
        die_errno((char const   *)tmp___10);
      }
      set_git_work_tree((char const   *)core_worktree);
      free((void *)core_worktree);
    }
  } else {
    tmp___13 = git_env_bool((char const   *)"GIT_IMPLICIT_WORK_TREE", 1);
    if (tmp___13) {
      set_git_work_tree((char const   *)".");
    } else {
      set_git_dir(gitdirenv, 0);
      free((void *)gitfile);
      return ((char const   *)((void *)0));
    }
  }
  worktree = get_git_work_tree();
  tmp___14 = strcmp((char const   *)cwd___0->buf, worktree);
  if (! tmp___14) {
    set_git_dir(gitdirenv, 0);
    free((void *)gitfile);
    return ((char const   *)((void *)0));
  }
  offset___2 = dir_inside_of((char const   *)cwd___0->buf, worktree);
  if (offset___2 >= 0) {
    set_git_dir(gitdirenv, 1);
    tmp___16 = chdir(worktree);
    if (tmp___16) {
      tmp___15 = _((char const   *)"cannot chdir to \'%s\'");
      die_errno((char const   *)tmp___15, worktree);
    }
    strbuf_addch(cwd___0, '/');
    free((void *)gitfile);
    return ((char const   *)(cwd___0->buf + offset___2));
  }
  set_git_dir(gitdirenv, 0);
  free((void *)gitfile);
  return ((char const   *)((void *)0));
}
}
static char const   *setup_discovered_git_dir(char const   *gitdir___0 , struct strbuf *cwd___0 ,
                                              int offset___2 , struct repository_format *repo_fmt ,
                                              int *nongit_ok )
{
  int tmp ;
  char *to_free ;
  char const   *ret___67 ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  tmp = check_repository_format_gently(gitdir___0, repo_fmt, nongit_ok);
  if (tmp) {
    return ((char const   *)((void *)0));
  }
  tmp___3 = getenv((char const   *)"GIT_WORK_TREE");
  if (tmp___3) {
    goto _L;
  } else
  if (git_work_tree_cfg) {
    _L: /* CIL Label */
    to_free = (char *)((void *)0);
    if ((size_t )offset___2 != cwd___0->len) {
      tmp___0 = is_absolute_path(gitdir___0);
      if (! tmp___0) {
        to_free = real_pathdup(gitdir___0, 1);
        gitdir___0 = (char const   *)to_free;
      }
    }
    tmp___2 = chdir((char const   *)cwd___0->buf);
    if (tmp___2) {
      tmp___1 = _((char const   *)"cannot come back to cwd");
      die_errno((char const   *)tmp___1);
    }
    ret___67 = setup_explicit_git_dir(gitdir___0, cwd___0, repo_fmt, nongit_ok);
    free((void *)to_free);
    return (ret___67);
  }
  if (is_bare_repository_cfg > 0) {
    set_git_dir(gitdir___0, (size_t )offset___2 != cwd___0->len);
    tmp___5 = chdir((char const   *)cwd___0->buf);
    if (tmp___5) {
      tmp___4 = _((char const   *)"cannot come back to cwd");
      die_errno((char const   *)tmp___4);
    }
    return ((char const   *)((void *)0));
  }
  set_git_work_tree((char const   *)".");
  tmp___6 = strcmp(gitdir___0, (char const   *)".git");
  if (tmp___6) {
    set_git_dir(gitdir___0, 0);
  }
  inside_git_dir = 0;
  inside_work_tree = 1;
  if ((size_t )offset___2 >= cwd___0->len) {
    return ((char const   *)((void *)0));
  }
  tmp___7 = git_offset_1st_component((char const   *)cwd___0->buf);
  if (offset___2 != tmp___7) {
    offset___2 ++;
  }
  strbuf_addch(cwd___0, '/');
  return ((char const   *)(cwd___0->buf + offset___2));
}
}
static char const   *gitdir  ;
static char const   *setup_bare_git_dir(struct strbuf *cwd___0 , int offset___2 ,
                                        struct repository_format *repo_fmt , int *nongit_ok )
{
  int root_len ;
  int tmp ;
  void *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  char *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  tmp = check_repository_format_gently((char const   *)".", repo_fmt, nongit_ok);
  if (tmp) {
    return ((char const   *)((void *)0));
  }
  setenv((char const   *)"GIT_IMPLICIT_WORK_TREE", (char const   *)"0", 1);
  tmp___4 = getenv((char const   *)"GIT_WORK_TREE");
  if (tmp___4) {
    goto _L;
  } else
  if (git_work_tree_cfg) {
    _L: /* CIL Label */
    if ((size_t )offset___2 == cwd___0->len) {
      gitdir = (char const   *)".";
    } else {
      tmp___0 = xmemdupz((void const   *)cwd___0->buf, (size_t )offset___2);
      gitdir = (char const   *)tmp___0;
    }
    tmp___2 = chdir((char const   *)cwd___0->buf);
    if (tmp___2) {
      tmp___1 = _((char const   *)"cannot come back to cwd");
      die_errno((char const   *)tmp___1);
    }
    tmp___3 = setup_explicit_git_dir(gitdir, cwd___0, repo_fmt, nongit_ok);
    return (tmp___3);
  }
  inside_git_dir = 1;
  inside_work_tree = 0;
  if ((size_t )offset___2 != cwd___0->len) {
    tmp___6 = chdir((char const   *)cwd___0->buf);
    if (tmp___6) {
      tmp___5 = _((char const   *)"cannot come back to cwd");
      die_errno((char const   *)tmp___5);
    }
    root_len = git_offset_1st_component((char const   *)cwd___0->buf);
    if (offset___2 > root_len) {
      tmp___7 = offset___2;
    } else {
      tmp___7 = root_len;
    }
    strbuf_setlen(cwd___0, (size_t )tmp___7);
    set_git_dir((char const   *)cwd___0->buf, 0);
  } else {
    set_git_dir((char const   *)".", 0);
  }
  return ((char const   *)((void *)0));
}
}
static dev_t get_device_or_die(char const   *path___6 , char const   *prefix___1 ,
                               int prefix_len___1 )
{
  struct stat buf___19 ;
  char *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  tmp___2 = stat(path___6, & buf___19);
  if (tmp___2) {
    if (prefix___1) {
      tmp = "/";
    } else {
      tmp = "";
    }
    if (prefix___1) {
      tmp___0 = prefix___1;
    } else {
      tmp___0 = (char const   *)"";
    }
    tmp___1 = _((char const   *)"failed to stat \'%*s%s%s\'");
    die_errno((char const   *)tmp___1, prefix_len___1, tmp___0, tmp, path___6);
  }
  return (buf___19.st_dev);
}
}
static int canonicalize_ceiling_entry(struct string_list_item *item___0 , void *cb_data )
{
  int *empty_entry_found ;
  char *ceil ;
  char *real_path ;
  char *tmp ;
  int tmp___0 ;

  {
  empty_entry_found = (int *)cb_data;
  ceil = item___0->string;
  if (! *ceil) {
    *empty_entry_found = 1;
    return (0);
  } else {
    tmp___0 = is_absolute_path((char const   *)ceil);
    if (tmp___0) {
      if (*empty_entry_found) {
        return (1);
      } else {
        tmp = real_pathdup((char const   *)ceil, 0);
        real_path = tmp;
        if (! real_path) {
          return (0);
        }
        free((void *)item___0->string);
        item___0->string = real_path;
        return (1);
      }
    } else {
      return (0);
    }
  }
}
}
static enum discovery_result setup_git_directory_gently_1(struct strbuf *dir , struct strbuf *gitdir___0 ,
                                                          int die_on_error )
{
  char const   *env_ceiling_dirs ;
  char *tmp ;
  struct string_list ceiling_dirs ;
  char const   *gitdirenv ;
  int ceil_offset ;
  int min_offset ;
  int tmp___0 ;
  dev_t current_device ;
  int one_filesystem ;
  char *tmp___1 ;
  int empty_entry_found ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int offset___2 ;
  int error_code ;
  int *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  dev_t tmp___10 ;

  {
  tmp = getenv((char const   *)"GIT_CEILING_DIRECTORIES");
  env_ceiling_dirs = (char const   *)tmp;
  ceiling_dirs.items = (struct string_list_item *)0;
  ceiling_dirs.nr = 0U;
  ceiling_dirs.alloc = 0U;
  ceiling_dirs.strdup_strings = 1U;
  ceiling_dirs.cmp = (int (*)(char const   * , char const   * ))0;
  ceil_offset = -1;
  tmp___0 = git_offset_1st_component((char const   *)dir->buf);
  min_offset = tmp___0;
  current_device = (dev_t )0;
  one_filesystem = 1;
  tmp___1 = getenv((char const   *)"GIT_DIR");
  gitdirenv = (char const   *)tmp___1;
  if (gitdirenv) {
    strbuf_addstr(gitdir___0, gitdirenv);
    return ((enum discovery_result )1);
  }
  if (env_ceiling_dirs) {
    empty_entry_found = 0;
    string_list_split(& ceiling_dirs, env_ceiling_dirs, ':', -1);
    filter_string_list(& ceiling_dirs, 0, & canonicalize_ceiling_entry, (void *)(& empty_entry_found));
    ceil_offset = longest_ancestor_length((char const   *)dir->buf, & ceiling_dirs);
    string_list_clear(& ceiling_dirs, 0);
  }
  if (ceil_offset < 0) {
    ceil_offset = min_offset - 2;
  }
  if (min_offset) {
    if ((size_t )min_offset == dir->len) {
      tmp___2 = git_is_dir_sep((int )*(dir->buf + (min_offset - 1)));
      if (! tmp___2) {
        strbuf_addch(dir, '/');
        min_offset ++;
      }
    }
  }
  tmp___3 = git_env_bool((char const   *)"GIT_DISCOVERY_ACROSS_FILESYSTEM", 0);
  if (tmp___3) {
    tmp___4 = 0;
  } else {
    tmp___4 = 1;
  }
  one_filesystem = tmp___4;
  if (one_filesystem) {
    current_device = get_device_or_die((char const   *)dir->buf, (char const   *)((void *)0),
                                       0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    offset___2 = (int )dir->len;
    error_code = 0;
    if (offset___2 > min_offset) {
      strbuf_addch(dir, '/');
    }
    strbuf_addstr(dir, (char const   *)".git");
    if (die_on_error) {
      tmp___5 = (int *)((void *)0);
    } else {
      tmp___5 = & error_code;
    }
    gitdirenv = read_gitfile_gently((char const   *)dir->buf, tmp___5);
    if (! gitdirenv) {
      if (die_on_error) {
        goto _L;
      } else
      if (error_code == 2) {
        _L: /* CIL Label */
        tmp___6 = is_git_directory((char const   *)dir->buf);
        if (tmp___6) {
          gitdirenv = (char const   *)".git";
        }
      } else
      if (error_code != 1) {
        return ((enum discovery_result )-3);
      }
    }
    strbuf_setlen(dir, (size_t )offset___2);
    if (gitdirenv) {
      strbuf_addstr(gitdir___0, gitdirenv);
      return ((enum discovery_result )2);
    }
    tmp___7 = is_git_directory((char const   *)dir->buf);
    if (tmp___7) {
      strbuf_addstr(gitdir___0, (char const   *)".");
      return ((enum discovery_result )3);
    }
    if (offset___2 <= min_offset) {
      return ((enum discovery_result )-1);
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      offset___2 --;
      if (offset___2 > ceil_offset) {
        tmp___8 = git_is_dir_sep((int )*(dir->buf + offset___2));
        if (tmp___8) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    if (offset___2 <= ceil_offset) {
      return ((enum discovery_result )-1);
    }
    if (offset___2 > min_offset) {
      tmp___9 = offset___2;
    } else {
      tmp___9 = min_offset;
    }
    strbuf_setlen(dir, (size_t )tmp___9);
    if (one_filesystem) {
      tmp___10 = get_device_or_die((char const   *)dir->buf, (char const   *)((void *)0),
                                   offset___2);
      if (current_device != tmp___10) {
        return ((enum discovery_result )-2);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
int discover_git_directory(struct strbuf *commondir , struct strbuf *gitdir___0 )
{
  struct strbuf dir ;
  struct strbuf err___4 ;
  size_t gitdir_offset ;
  size_t cwd_len ;
  size_t commondir_offset ;
  struct repository_format candidate ;
  int tmp ;
  enum discovery_result tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  dir.alloc = 0UL;
  dir.len = 0UL;
  dir.buf = strbuf_slopbuf;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  gitdir_offset = gitdir___0->len;
  commondir_offset = commondir->len;
  candidate.version = -1;
  candidate.precious_objects = 0;
  candidate.partial_clone = (char *)0;
  candidate.worktree_config = 0;
  candidate.is_bare = -1;
  candidate.hash_algo = 1;
  candidate.sparse_index = 0;
  candidate.work_tree = (char *)0;
  candidate.unknown_extensions.items = (struct string_list_item *)0;
  candidate.unknown_extensions.nr = 0U;
  candidate.unknown_extensions.alloc = 0U;
  candidate.unknown_extensions.strdup_strings = 1U;
  candidate.unknown_extensions.cmp = (int (*)(char const   * , char const   * ))0;
  candidate.v1_only_extensions.items = (struct string_list_item *)0;
  candidate.v1_only_extensions.nr = 0U;
  candidate.v1_only_extensions.alloc = 0U;
  candidate.v1_only_extensions.strdup_strings = 1U;
  candidate.v1_only_extensions.cmp = (int (*)(char const   * , char const   * ))0;
  tmp = strbuf_getcwd(& dir);
  if (tmp) {
    return (-1);
  }
  cwd_len = dir.len;
  tmp___0 = setup_git_directory_gently_1(& dir, gitdir___0, 0);
  if ((int )tmp___0 <= 0) {
    strbuf_release(& dir);
    return (-1);
  }
  if (dir.len < cwd_len) {
    tmp___2 = is_absolute_path((char const   *)(gitdir___0->buf + gitdir_offset));
    if (! tmp___2) {
      tmp___1 = strcmp((char const   *)".", (char const   *)(gitdir___0->buf + gitdir_offset));
      if (tmp___1) {
        strbuf_addch(& dir, '/');
      } else {
        strbuf_setlen(gitdir___0, gitdir_offset);
      }
      strbuf_insert(gitdir___0, gitdir_offset, (void const   *)dir.buf, dir.len);
    }
  }
  get_common_dir(commondir, (char const   *)(gitdir___0->buf + gitdir_offset));
  strbuf_setlen(& dir, (size_t )0);
  strbuf_addf(& dir, (char const   *)"%s/config", commondir->buf + commondir_offset);
  read_repository_format(& candidate, (char const   *)dir.buf);
  strbuf_release(& dir);
  tmp___3 = verify_repository_format((struct repository_format  const  *)(& candidate),
                                     & err___4);
  if (tmp___3 < 0) {
    warning((char const   *)"ignoring git dir \'%s\': %s", gitdir___0->buf + gitdir_offset,
            err___4.buf);
    strbuf_release(& err___4);
    strbuf_setlen(commondir, commondir_offset);
    strbuf_setlen(gitdir___0, gitdir_offset);
    clear_repository_format(& candidate);
    return (-1);
  }
  the_repository->repository_format_partial_clone = candidate.partial_clone;
  candidate.partial_clone = (char *)((void *)0);
  clear_repository_format(& candidate);
  return (0);
}
}
static struct strbuf cwd  =    {0UL, 0UL, strbuf_slopbuf};
char const   *setup_git_directory_gently(int *nongit_ok )
{
  struct strbuf dir ;
  struct strbuf gitdir___0 ;
  char const   *prefix___1 ;
  struct repository_format repo_fmt ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  enum discovery_result tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const   *gitdir___1 ;
  char *tmp___8 ;
  char *tmp___9 ;

  {
  dir.alloc = 0UL;
  dir.len = 0UL;
  dir.buf = strbuf_slopbuf;
  gitdir___0.alloc = 0UL;
  gitdir___0.len = 0UL;
  gitdir___0.buf = strbuf_slopbuf;
  prefix___1 = (char const   *)((void *)0);
  repo_fmt.version = -1;
  repo_fmt.precious_objects = 0;
  repo_fmt.partial_clone = (char *)0;
  repo_fmt.worktree_config = 0;
  repo_fmt.is_bare = -1;
  repo_fmt.hash_algo = 1;
  repo_fmt.sparse_index = 0;
  repo_fmt.work_tree = (char *)0;
  repo_fmt.unknown_extensions.items = (struct string_list_item *)0;
  repo_fmt.unknown_extensions.nr = 0U;
  repo_fmt.unknown_extensions.alloc = 0U;
  repo_fmt.unknown_extensions.strdup_strings = 1U;
  repo_fmt.unknown_extensions.cmp = (int (*)(char const   * , char const   * ))0;
  repo_fmt.v1_only_extensions.items = (struct string_list_item *)0;
  repo_fmt.v1_only_extensions.nr = 0U;
  repo_fmt.v1_only_extensions.alloc = 0U;
  repo_fmt.v1_only_extensions.strdup_strings = 1U;
  repo_fmt.v1_only_extensions.cmp = (int (*)(char const   * , char const   * ))0;
  git_config_clear();
  if (nongit_ok) {
    *nongit_ok = 0;
  }
  tmp___0 = strbuf_getcwd(& cwd);
  if (tmp___0) {
    tmp = _((char const   *)"Unable to read current working directory");
    die_errno((char const   *)tmp);
  }
  strbuf_addbuf(& dir, (struct strbuf  const  *)(& cwd));
  tmp___1 = setup_git_directory_gently_1(& dir, & gitdir___0, 1);
  {
  if ((int )tmp___1 == 1) {
    goto case_1;
  }
  if ((int )tmp___1 == 2) {
    goto case_2;
  }
  if ((int )tmp___1 == 3) {
    goto case_3;
  }
  if ((int )tmp___1 == -1) {
    goto case_neg_1;
  }
  if ((int )tmp___1 == -2) {
    goto case_neg_2;
  }
  goto switch_default;
  case_1: /* CIL Label */
  prefix___1 = setup_explicit_git_dir((char const   *)gitdir___0.buf, & cwd, & repo_fmt,
                                      nongit_ok);
  goto switch_break;
  case_2: /* CIL Label */
  if (dir.len < cwd.len) {
    tmp___3 = chdir((char const   *)dir.buf);
    if (tmp___3) {
      tmp___2 = _((char const   *)"cannot change to \'%s\'");
      die((char const   *)tmp___2, dir.buf);
    }
  }
  prefix___1 = setup_discovered_git_dir((char const   *)gitdir___0.buf, & cwd, (int )dir.len,
                                        & repo_fmt, nongit_ok);
  goto switch_break;
  case_3: /* CIL Label */
  if (dir.len < cwd.len) {
    tmp___5 = chdir((char const   *)dir.buf);
    if (tmp___5) {
      tmp___4 = _((char const   *)"cannot change to \'%s\'");
      die((char const   *)tmp___4, dir.buf);
    }
  }
  prefix___1 = setup_bare_git_dir(& cwd, (int )dir.len, & repo_fmt, nongit_ok);
  goto switch_break;
  case_neg_1: /* CIL Label */
  if (! nongit_ok) {
    tmp___6 = _((char const   *)"not a git repository (or any of the parent directories): %s");
    die((char const   *)tmp___6, ".git");
  }
  *nongit_ok = 1;
  goto switch_break;
  case_neg_2: /* CIL Label */
  if (! nongit_ok) {
    tmp___7 = _((char const   *)"not a git repository (or any parent up to mount point %s)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).");
    die((char const   *)tmp___7, dir.buf);
  }
  *nongit_ok = 1;
  goto switch_break;
  switch_default: /* CIL Label */
  case_0: /* CIL Label */
  BUG_fl((char const   *)"setup.c", 1334, (char const   *)"unhandled setup_git_directory_1() result");
  switch_break: /* CIL Label */ ;
  }
  if (nongit_ok) {
    if (*nongit_ok) {
      startup_info->have_repository = 0;
    } else {
      startup_info->have_repository = 1;
    }
  } else {
    startup_info->have_repository = 1;
  }
  if (startup_info->have_repository) {
    goto _L;
  } else {
    tmp___9 = getenv((char const   *)"GIT_DIR");
    if (tmp___9) {
      _L: /* CIL Label */
      if (! the_repository->gitdir) {
        tmp___8 = getenv((char const   *)"GIT_DIR");
        gitdir___1 = (char const   *)tmp___8;
        if (! gitdir___1) {
          gitdir___1 = (char const   *)".git";
        }
        setup_git_env(gitdir___1);
      }
      if (startup_info->have_repository) {
        repo_set_hash_algo(the_repository, repo_fmt.hash_algo);
        the_repository->repository_format_partial_clone = repo_fmt.partial_clone;
        repo_fmt.partial_clone = (char *)((void *)0);
      }
    }
  }
  if (prefix___1) {
    prefix___1 = precompose_string_if_needed(prefix___1);
    startup_info->prefix = prefix___1;
    setenv((char const   *)"GIT_PREFIX", prefix___1, 1);
  } else {
    startup_info->prefix = (char const   *)((void *)0);
    setenv((char const   *)"GIT_PREFIX", (char const   *)"", 1);
  }
  setup_original_cwd();
  strbuf_release(& dir);
  strbuf_release(& gitdir___0);
  clear_repository_format(& repo_fmt);
  return (prefix___1);
}
}
int git_config_perm(char const   *var , char const   *value )
{
  int i ;
  char *endptr ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  long tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;

  {
  if ((unsigned long )value == (unsigned long )((void *)0)) {
    return (432);
  }
  tmp = strcmp(value, (char const   *)"umask");
  if (! tmp) {
    return (0);
  }
  tmp___0 = strcmp(value, (char const   *)"group");
  if (! tmp___0) {
    return (432);
  }
  tmp___1 = strcmp(value, (char const   *)"all");
  if (tmp___1) {
    tmp___2 = strcmp(value, (char const   *)"world");
    if (tmp___2) {
      tmp___3 = strcmp(value, (char const   *)"everybody");
      if (! tmp___3) {
        return (436);
      }
    } else {
      return (436);
    }
  } else {
    return (436);
  }
  tmp___4 = strtol((char const   * __restrict  )value, (char ** __restrict  )(& endptr),
                   8);
  i = (int )tmp___4;
  if ((int )*endptr != 0) {
    tmp___7 = git_config_bool(var, value);
    if (tmp___7) {
      tmp___6 = 432;
    } else {
      tmp___6 = 0;
    }
    return (tmp___6);
  }
  {
  if (i == 0) {
    goto case_0;
  }
  if (i == 1) {
    goto case_1;
  }
  if (i == 2) {
    goto case_2;
  }
  goto switch_break;
  case_0: /* CIL Label */
  return (0);
  case_1: /* CIL Label */
  return (432);
  case_2: /* CIL Label */
  return (436);
  switch_break: /* CIL Label */ ;
  }
  if ((i & 0600) != 0600) {
    tmp___8 = _((char const   *)"problem with core.sharedRepository filemode value (0%.3o).\nThe owner of files must always have read and write permissions.");
    die((char const   *)tmp___8, i);
  }
  return (- (i & 0666));
}
}
void check_repository_format(struct repository_format *fmt )
{
  struct repository_format repo_fmt ;
  char const   *tmp ;

  {
  repo_fmt.version = -1;
  repo_fmt.precious_objects = 0;
  repo_fmt.partial_clone = (char *)0;
  repo_fmt.worktree_config = 0;
  repo_fmt.is_bare = -1;
  repo_fmt.hash_algo = 1;
  repo_fmt.sparse_index = 0;
  repo_fmt.work_tree = (char *)0;
  repo_fmt.unknown_extensions.items = (struct string_list_item *)0;
  repo_fmt.unknown_extensions.nr = 0U;
  repo_fmt.unknown_extensions.alloc = 0U;
  repo_fmt.unknown_extensions.strdup_strings = 1U;
  repo_fmt.unknown_extensions.cmp = (int (*)(char const   * , char const   * ))0;
  repo_fmt.v1_only_extensions.items = (struct string_list_item *)0;
  repo_fmt.v1_only_extensions.nr = 0U;
  repo_fmt.v1_only_extensions.alloc = 0U;
  repo_fmt.v1_only_extensions.strdup_strings = 1U;
  repo_fmt.v1_only_extensions.cmp = (int (*)(char const   * , char const   * ))0;
  if (! fmt) {
    fmt = & repo_fmt;
  }
  tmp = get_git_dir();
  check_repository_format_gently(tmp, fmt, (int *)((void *)0));
  startup_info->have_repository = 1;
  repo_set_hash_algo(the_repository, fmt->hash_algo);
  the_repository->repository_format_partial_clone = xstrdup_or_null((char const   *)fmt->partial_clone);
  clear_repository_format(& repo_fmt);
  return;
}
}
char const   *setup_git_directory(void)
{
  char const   *tmp ;

  {
  tmp = setup_git_directory_gently((int *)((void *)0));
  return (tmp);
}
}
char const   *resolve_gitdir_gently(char const   *suspect , int *return_error_code )
{
  int tmp ;
  char const   *tmp___0 ;

  {
  tmp = is_git_directory(suspect);
  if (tmp) {
    return (suspect);
  }
  tmp___0 = read_gitfile_gently(suspect, return_error_code);
  return (tmp___0);
}
}
void sanitize_stdfds(void)
{
  int fd ;
  int tmp ;

  {
  tmp = xopen((char const   *)"/dev/null", 02);
  fd = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (fd < 2)) {
      goto while_break;
    }
    fd = xdup(fd);
  }
  while_break: /* CIL Label */ ;
  }
  if (fd > 2) {
    close(fd);
  }
  return;
}
}
int daemonize(void)
{
  __pid_t tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  __pid_t tmp___3 ;

  {
  tmp = fork();
  {
  if (tmp == 0) {
    goto case_0;
  }
  if (tmp == -1) {
    goto case_neg_1;
  }
  goto switch_default;
  case_0: /* CIL Label */
  goto switch_break;
  case_neg_1: /* CIL Label */
  tmp___0 = _((char const   *)"fork failed");
  die_errno((char const   *)tmp___0);
  switch_default: /* CIL Label */
  tmp___1 = trace2_cmd_exit_fl((char const   *)"setup.c", 1510, 0);
  exit(tmp___1);
  switch_break: /* CIL Label */ ;
  }
  tmp___3 = setsid();
  if (tmp___3 == -1) {
    tmp___2 = _((char const   *)"setsid failed");
    die_errno((char const   *)tmp___2);
  }
  close(0);
  close(1);
  close(2);
  sanitize_stdfds();
  return (0);
}
}
static double const   __ac_HASH_UPPER___86  =    (double const   )0.77;
__inline static void kh_resize_oid_set___86(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___86(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___86 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___86 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___86(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___86(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___86(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___86(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___86(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___86(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___86 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___86 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___86(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___86(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___86(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___86(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___86(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___86(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___86 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___86 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___86(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___86(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___86(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___86(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___65(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___65(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___86 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___86 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___65(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___65(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___65(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___65(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_contains_cache_with_stride___14(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___14(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___14(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___14(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___14(s___1, 1U);
  return;
}
}
static void clear_contains_cache___14(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___14(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___14(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___14(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___14(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___14(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___14(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___14(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___14(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___14(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___14(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___14(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___14(s___1, c___0, 0);
  return (tmp);
}
}
void set_alternate_shallow_file(struct repository *r , char const   *path___6 , int override )
{


  {
  if ((r->parsed_objects)->is_shallow != -1) {
    BUG_fl((char const   *)"shallow.c", 22, (char const   *)"is_repository_shallow must not be called before set_alternate_shallow_file");
  }
  if ((r->parsed_objects)->alternate_shallow_file) {
    if (! override) {
      return;
    }
  }
  free((void *)(r->parsed_objects)->alternate_shallow_file);
  (r->parsed_objects)->alternate_shallow_file = xstrdup_or_null(path___6);
  return;
}
}
int register_shallow(struct repository *r , struct object_id  const  *oid )
{
  struct commit_graft *graft ;
  void *tmp ;
  struct commit *commit ;
  struct commit *tmp___0 ;
  int tmp___1 ;

  {
  tmp = xmalloc(sizeof(struct commit_graft ));
  graft = (struct commit_graft *)tmp;
  tmp___0 = lookup_commit(the_repository, oid);
  commit = tmp___0;
  oidcpy(& graft->oid, oid);
  graft->nr_parent = -1;
  if (commit) {
    if (commit->object.parsed) {
      commit->parents = (struct commit_list *)((void *)0);
    }
  }
  tmp___1 = register_commit_graft(r, graft, 0);
  return (tmp___1);
}
}
int unregister_shallow(struct object_id  const  *oid )
{
  int pos ;
  int tmp ;

  {
  tmp = commit_graft_pos(the_repository, oid);
  pos = tmp;
  if (pos < 0) {
    return (-1);
  }
  if (pos + 1 < (the_repository->parsed_objects)->grafts_nr) {
    move_array((void *)((the_repository->parsed_objects)->grafts + pos), (void const   *)(((the_repository->parsed_objects)->grafts + pos) + 1),
               (size_t )(((the_repository->parsed_objects)->grafts_nr - pos) - 1),
               sizeof(*((the_repository->parsed_objects)->grafts + pos)) + (sizeof(char [1]) - 1UL));
  }
  ((the_repository->parsed_objects)->grafts_nr) --;
  return (0);
}
}
int is_repository_shallow(struct repository *r )
{
  FILE *fp ;
  char buf___19[1024] ;
  char const   *path___6 ;
  int tmp ;
  struct object_id oid ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  path___6 = (char const   *)(r->parsed_objects)->alternate_shallow_file;
  if ((r->parsed_objects)->is_shallow >= 0) {
    return ((r->parsed_objects)->is_shallow);
  }
  if (! path___6) {
    path___6 = git_path_shallow(r);
  }
  if (! *path___6) {
    stat_validity_clear((r->parsed_objects)->shallow_stat);
    (r->parsed_objects)->is_shallow = 0;
    return ((r->parsed_objects)->is_shallow);
  } else {
    fp = git_fopen(path___6, (char const   *)"r");
    if ((unsigned long )fp == (unsigned long )((void *)0)) {
      stat_validity_clear((r->parsed_objects)->shallow_stat);
      (r->parsed_objects)->is_shallow = 0;
      return ((r->parsed_objects)->is_shallow);
    }
  }
  tmp = fileno(fp);
  stat_validity_update((r->parsed_objects)->shallow_stat, tmp);
  (r->parsed_objects)->is_shallow = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = fgets(buf___19, (int )sizeof(buf___19), fp);
    if (! tmp___1) {
      goto while_break;
    }
    tmp___0 = get_oid_hex((char const   *)(buf___19), & oid);
    if (tmp___0) {
      die((char const   *)"bad shallow line: %s", buf___19);
    }
    register_shallow(r, (struct object_id  const  *)(& oid));
  }
  while_break: /* CIL Label */ ;
  }
  fclose(fp);
  return ((r->parsed_objects)->is_shallow);
}
}
static void reset_repository_shallow(struct repository *r )
{


  {
  (r->parsed_objects)->is_shallow = -1;
  stat_validity_clear((r->parsed_objects)->shallow_stat);
  return;
}
}
int commit_shallow_file(struct repository *r , struct shallow_lock *lk )
{
  int res ;
  int tmp ;

  {
  tmp = commit_lock_file(& lk->lock);
  res = tmp;
  reset_repository_shallow(r);
  return (res);
}
}
void rollback_shallow_file(struct repository *r , struct shallow_lock *lk )
{


  {
  rollback_lock_file(& lk->lock);
  reset_repository_shallow(r);
  return;
}
}
static void init_commit_depth_with_stride(struct commit_depth *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_commit_depth_with_stride(struct commit_depth *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(int *) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (int ***)((void *)0);
  return;
}
}
static void init_commit_depth(struct commit_depth *s___1 )  __attribute__((__unused__)) ;
static void init_commit_depth(struct commit_depth *s___1 )
{


  {
  init_commit_depth_with_stride(s___1, 1U);
  return;
}
}
static void clear_commit_depth(struct commit_depth *s___1 )  __attribute__((__unused__)) ;
static void clear_commit_depth(struct commit_depth *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (int ***)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_commit_depth(struct commit_depth *s___1 , void (*free_fn)(int ** ) )  __attribute__((__unused__)) ;
static void deep_clear_commit_depth(struct commit_depth *s___1 , void (*free_fn)(int ** ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_commit_depth(s___1);
  return;
}
}
static int **commit_depth_at_peek(struct commit_depth *s___1 , struct commit  const  *c___0 ,
                                  int add_if_missing )  __attribute__((__unused__)) ;
static int **commit_depth_at_peek(struct commit_depth *s___1 , struct commit  const  *c___0 ,
                                  int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((int **)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (int ***)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (int **)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((int **)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (int **)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static int **commit_depth_at(struct commit_depth *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static int **commit_depth_at(struct commit_depth *s___1 , struct commit  const  *c___0 )
{
  int **tmp ;

  {
  tmp = commit_depth_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static int **commit_depth_peek(struct commit_depth *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static int **commit_depth_peek(struct commit_depth *s___1 , struct commit  const  *c___0 )
{
  int **tmp ;

  {
  tmp = commit_depth_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
static void free_depth_in_slab(int **ptr )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)*ptr);
    *ptr = (int *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
struct commit_list *get_shallow_commits(struct object_array *heads , int depth___1 ,
                                        int shallow_flag , int not_shallow_flag )
{
  int i ;
  int cur_depth ;
  struct commit_list *result___0 ;
  struct object_array stack ;
  struct commit *commit ;
  struct commit_graft *graft ;
  struct commit_depth depths ;
  struct commit_list *p___0 ;
  int **depth_slot ;
  int tmp ;
  struct object *tmp___0 ;
  void *tmp___1 ;
  struct object *tmp___2 ;
  int **tmp___3 ;
  int tmp___4 ;
  int **depth_slot___0 ;
  int **tmp___5 ;
  void *tmp___6 ;
  int **tmp___7 ;

  {
  i = 0;
  cur_depth = 0;
  result___0 = (struct commit_list *)((void *)0);
  stack.nr = 0U;
  stack.alloc = 0U;
  stack.objects = (struct object_array_entry *)0;
  commit = (struct commit *)((void *)0);
  init_commit_depth(& depths);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! commit) {
      if (! ((unsigned int )i < heads->nr)) {
        if (! stack.nr) {
          goto while_break;
        }
      }
    }
    if (! commit) {
      if ((unsigned int )i < heads->nr) {
        tmp = i;
        i ++;
        tmp___0 = deref_tag(the_repository, (heads->objects + tmp)->item, (char const   *)((void *)0),
                            0);
        commit = (struct commit *)tmp___0;
        if (! commit) {
          commit = (struct commit *)((void *)0);
          goto while_continue;
        } else
        if (commit->object.type != 1U) {
          commit = (struct commit *)((void *)0);
          goto while_continue;
        }
        depth_slot = commit_depth_at(& depths, (struct commit  const  *)commit);
        if (! *depth_slot) {
          tmp___1 = xmalloc(sizeof(int ));
          *depth_slot = (int *)tmp___1;
        }
        *(*depth_slot) = 0;
        cur_depth = 0;
      } else {
        tmp___2 = object_array_pop(& stack);
        commit = (struct commit *)tmp___2;
        tmp___3 = commit_depth_at(& depths, (struct commit  const  *)commit);
        cur_depth = *(*tmp___3);
      }
    }
    parse_commit_or_die(commit);
    cur_depth ++;
    if (depth___1 != 0x7fffffff) {
      if (cur_depth >= depth___1) {
        commit_list_insert(commit, & result___0);
        commit->object.flags |= (unsigned int )shallow_flag;
        commit = (struct commit *)((void *)0);
        goto while_continue;
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      tmp___4 = is_repository_shallow(the_repository);
      if (tmp___4) {
        if (! commit->parents) {
          graft = lookup_commit_graft(the_repository, (struct object_id  const  *)(& commit->object.oid));
          if ((unsigned long )graft != (unsigned long )((void *)0)) {
            if (graft->nr_parent < 0) {
              commit_list_insert(commit, & result___0);
              commit->object.flags |= (unsigned int )shallow_flag;
              commit = (struct commit *)((void *)0);
              goto while_continue;
            }
          }
        }
      }
    }
    commit->object.flags |= (unsigned int )not_shallow_flag;
    p___0 = commit->parents;
    commit = (struct commit *)((void *)0);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! p___0) {
        goto while_break___0;
      }
      tmp___5 = commit_depth_at(& depths, (struct commit  const  *)p___0->item);
      depth_slot___0 = tmp___5;
      if (! *depth_slot___0) {
        tmp___6 = xmalloc(sizeof(int ));
        *depth_slot___0 = (int *)tmp___6;
        *(*depth_slot___0) = cur_depth;
      } else {
        if (cur_depth >= *(*depth_slot___0)) {
          goto __Cont;
        }
        *(*depth_slot___0) = cur_depth;
      }
      if (p___0->next) {
        add_object_array(& (p___0->item)->object, (char const   *)((void *)0), & stack);
      } else {
        commit = p___0->item;
        tmp___7 = commit_depth_at(& depths, (struct commit  const  *)commit);
        cur_depth = *(*tmp___7);
      }
      __Cont: /* CIL Label */
      p___0 = p___0->next;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  deep_clear_commit_depth(& depths, & free_depth_in_slab);
  return (result___0);
}
}
static void show_commit___0(struct commit *commit , void *data )
{


  {
  commit_list_insert(commit, (struct commit_list **)data);
  return;
}
}
struct commit_list *get_shallow_commits_by_rev_list(int ac , char const   **av , int shallow_flag ,
                                                    int not_shallow_flag )
{
  struct commit_list *result___0 ;
  struct commit_list *p___0 ;
  struct commit_list *not_shallow_list ;
  struct rev_info revs ;
  int both_flags ;
  int tmp ;
  struct commit *c___0 ;
  struct commit_list *parent ;
  char *tmp___0 ;
  int tmp___1 ;
  struct object *o ;

  {
  result___0 = (struct commit_list *)((void *)0);
  not_shallow_list = (struct commit_list *)((void *)0);
  both_flags = shallow_flag | not_shallow_flag;
  clear_object_flags((unsigned int )both_flags);
  is_repository_shallow(the_repository);
  repo_init_revisions(the_repository, & revs, (char const   *)((void *)0));
  save_commit_buffer = 0;
  setup_revisions(ac, av, & revs, (struct setup_revision_opt *)((void *)0));
  tmp = prepare_revision_walk(& revs);
  if (tmp) {
    die((char const   *)"revision walk setup failed");
  }
  traverse_commit_list(& revs, & show_commit___0, (void (*)(struct object * , char const   * ,
                                                            void * ))((void *)0),
                       (void *)(& not_shallow_list));
  if (! not_shallow_list) {
    die((char const   *)"no commits selected for shallow requests");
  }
  p___0 = not_shallow_list;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    (p___0->item)->object.flags |= (unsigned int )not_shallow_flag;
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  p___0 = not_shallow_list;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___0;
    }
    c___0 = p___0->item;
    tmp___1 = repo_parse_commit(the_repository, c___0);
    if (tmp___1) {
      tmp___0 = oid_to_hex((struct object_id  const  *)(& c___0->object.oid));
      die((char const   *)"unable to parse commit %s", tmp___0);
    }
    parent = c___0->parents;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! parent) {
        goto while_break___1;
      }
      if (! ((parent->item)->object.flags & (unsigned int )not_shallow_flag)) {
        c___0->object.flags |= (unsigned int )shallow_flag;
        commit_list_insert(c___0, & result___0);
        goto while_break___1;
      }
      parent = parent->next;
    }
    while_break___1: /* CIL Label */ ;
    }
    p___0 = p___0->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  free_commit_list(not_shallow_list);
  p___0 = result___0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___2;
    }
    o = & (p___0->item)->object;
    if ((o->flags & (unsigned int )both_flags) == (unsigned int )both_flags) {
      o->flags &= (unsigned int )(~ not_shallow_flag);
    }
    p___0 = p___0->next;
  }
  while_break___2: /* CIL Label */ ;
  }
  return (result___0);
}
}
static void check_shallow_file_for_update(struct repository *r )
{
  char const   *tmp ;
  int tmp___0 ;

  {
  if ((r->parsed_objects)->is_shallow == -1) {
    BUG_fl((char const   *)"shallow.c", 270, (char const   *)"shallow must be initialized by now");
  }
  tmp = git_path_shallow(r);
  tmp___0 = stat_validity_check((r->parsed_objects)->shallow_stat, tmp);
  if (! tmp___0) {
    die((char const   *)"shallow file has changed since we read it");
  }
  return;
}
}
static int write_one_shallow(struct commit_graft  const  *graft , void *cb_data )
{
  struct write_shallow_data *data ;
  char const   *hex___3 ;
  char *tmp ;
  int tmp___0 ;
  struct commit *c___0 ;
  struct commit *tmp___1 ;
  char *tmp___2 ;

  {
  data = (struct write_shallow_data *)cb_data;
  tmp = oid_to_hex((struct object_id  const  *)(& graft->oid));
  hex___3 = (char const   *)tmp;
  if (graft->nr_parent != -1) {
    return (0);
  }
  if (data->flags & 4U) {
    tmp___0 = repo_has_object_file(the_repository, (struct object_id  const  *)(& graft->oid));
    if (! tmp___0) {
      return (0);
    }
  } else
  if (data->flags & 1U) {
    tmp___1 = lookup_commit(the_repository, (struct object_id  const  *)(& graft->oid));
    c___0 = tmp___1;
    if (! c___0) {
      goto _L;
    } else
    if (! (c___0->object.flags & 1u)) {
      _L: /* CIL Label */
      if (data->flags & 2U) {
        tmp___2 = oid_to_hex((struct object_id  const  *)(& c___0->object.oid));
        printf((char const   *)"Removing %s from .git/shallow\n", tmp___2);
      }
      return (0);
    }
  }
  (data->count) ++;
  if (data->use_pack_protocol) {
    packet_buf_write(data->out, (char const   *)"shallow %s", hex___3);
  } else {
    strbuf_addstr(data->out, hex___3);
    strbuf_addch(data->out, '\n');
  }
  return (0);
}
}
static int write_shallow_commits_1(struct strbuf *out , int use_pack_protocol , struct oid_array  const  *extra___2 ,
                                   unsigned int flags___0 )
{
  struct write_shallow_data data ;
  int i ;
  char *tmp ;

  {
  data.out = out;
  data.use_pack_protocol = use_pack_protocol;
  data.count = 0;
  data.flags = flags___0;
  for_each_commit_graft(& write_one_shallow, (void *)(& data));
  if (! extra___2) {
    return (data.count);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < extra___2->nr)) {
      goto while_break;
    }
    tmp = oid_to_hex((struct object_id  const  *)(extra___2->oid + i));
    strbuf_addstr(out, (char const   *)tmp);
    strbuf_addch(out, '\n');
    (data.count) ++;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (data.count);
}
}
int write_shallow_commits(struct strbuf *out , int use_pack_protocol , struct oid_array  const  *extra___2 )
{
  int tmp ;

  {
  tmp = write_shallow_commits_1(out, use_pack_protocol, extra___2, 0U);
  return (tmp);
}
}
char const   *setup_temporary_shallow(struct oid_array  const  *extra___2 )
{
  struct tempfile *temp ;
  struct strbuf sb___6 ;
  char const   *tmp ;
  char const   *tmp___0 ;
  ssize_t tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp___4 = write_shallow_commits(& sb___6, 0, extra___2);
  if (tmp___4) {
    tmp = git_path((char const   *)"shallow_XXXXXX");
    temp = xmks_tempfile(tmp);
    tmp___1 = write_in_full((int )temp->fd, (void const   *)sb___6.buf, sb___6.len);
    if (tmp___1 < 0L) {
      tmp___0 = get_tempfile_path(temp);
      die_errno((char const   *)"failed to write to %s", tmp___0);
    } else {
      tmp___2 = close_tempfile_gently(temp);
      if (tmp___2 < 0) {
        tmp___0 = get_tempfile_path(temp);
        die_errno((char const   *)"failed to write to %s", tmp___0);
      }
    }
    strbuf_release(& sb___6);
    tmp___3 = get_tempfile_path(temp);
    return (tmp___3);
  }
  return ((char const   *)"");
}
}
void setup_alternate_shallow(struct shallow_lock *shallow_lock___0 , char const   **alternate_shallow_file___0 ,
                             struct oid_array  const  *extra___2 )
{
  struct strbuf sb___6 ;
  int fd ;
  char const   *tmp ;
  char const   *tmp___0 ;
  ssize_t tmp___1 ;
  int tmp___2 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = git_path_shallow(the_repository);
  fd = hold_lock_file_for_update(& shallow_lock___0->lock, tmp, 1);
  check_shallow_file_for_update(the_repository);
  tmp___2 = write_shallow_commits(& sb___6, 0, extra___2);
  if (tmp___2) {
    tmp___1 = write_in_full(fd, (void const   *)sb___6.buf, sb___6.len);
    if (tmp___1 < 0L) {
      tmp___0 = get_lock_file_path(& shallow_lock___0->lock);
      die_errno((char const   *)"failed to write to %s", tmp___0);
    }
    *alternate_shallow_file___0 = get_lock_file_path(& shallow_lock___0->lock);
  } else {
    *alternate_shallow_file___0 = (char const   *)"";
  }
  strbuf_release(& sb___6);
  return;
}
}
static int advertise_shallow_grafts_cb___0(struct commit_graft  const  *graft , void *cb )
{
  int fd ;
  char *tmp ;

  {
  fd = *((int *)cb);
  if (graft->nr_parent == -1) {
    tmp = oid_to_hex((struct object_id  const  *)(& graft->oid));
    packet_write_fmt(fd, (char const   *)"shallow %s\n", tmp);
  }
  return (0);
}
}
void advertise_shallow_grafts(int fd )
{
  int tmp ;

  {
  tmp = is_repository_shallow(the_repository);
  if (! tmp) {
    return;
  }
  for_each_commit_graft(& advertise_shallow_grafts_cb___0, (void *)(& fd));
  return;
}
}
void prune_shallow(unsigned int options )
{
  struct shallow_lock shallow_lock___0 ;
  struct strbuf sb___6 ;
  unsigned int flags___0 ;
  int fd ;
  char const   *tmp ;
  char const   *tmp___0 ;
  ssize_t tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;

  {
  shallow_lock___0.lock.tempfile = (struct tempfile *)0;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  flags___0 = 1U;
  if (options & 2U) {
    flags___0 |= 4U;
  }
  if (options & 1U) {
    flags___0 |= 2U;
    write_shallow_commits_1(& sb___6, 0, (struct oid_array  const  *)((void *)0),
                            flags___0);
    strbuf_release(& sb___6);
    return;
  }
  tmp = git_path_shallow(the_repository);
  fd = hold_lock_file_for_update(& shallow_lock___0.lock, tmp, 1);
  check_shallow_file_for_update(the_repository);
  tmp___3 = write_shallow_commits_1(& sb___6, 0, (struct oid_array  const  *)((void *)0),
                                    flags___0);
  if (tmp___3) {
    tmp___1 = write_in_full(fd, (void const   *)sb___6.buf, sb___6.len);
    if (tmp___1 < 0L) {
      tmp___0 = get_lock_file_path(& shallow_lock___0.lock);
      die_errno((char const   *)"failed to write to %s", tmp___0);
    }
    commit_shallow_file(the_repository, & shallow_lock___0);
  } else {
    tmp___2 = git_path_shallow(the_repository);
    unlink(tmp___2);
    rollback_shallow_file(the_repository, & shallow_lock___0);
  }
  strbuf_release(& sb___6);
  return;
}
}
struct trace_key trace_shallow  =    {(char const   *)"GIT_TRACE_SHALLOW", 0, 0U, 0U};
void prepare_shallow_info(struct shallow_info *info___0 , struct oid_array *sa )
{
  int i ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;
  struct commit_graft *graft ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = trace_pass_fl(& trace_shallow);
    if (tmp) {
      trace_printf_key_fl((char const   *)"shallow.c", 452, & trace_shallow, (char const   *)"shallow: prepare_shallow_info\n");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  memset((void *)info___0, 0, sizeof(*info___0));
  info___0->shallow = sa;
  if (! sa) {
    return;
  }
  tmp___0 = st_mult(sizeof(*(info___0->ours)), sa->nr);
  tmp___1 = xmalloc(tmp___0);
  info___0->ours = (int *)tmp___1;
  tmp___2 = st_mult(sizeof(*(info___0->theirs)), sa->nr);
  tmp___3 = xmalloc(tmp___2);
  info___0->theirs = (int *)tmp___3;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((size_t )i < sa->nr)) {
      goto while_break___0;
    }
    tmp___6 = repo_has_object_file(the_repository, (struct object_id  const  *)(sa->oid + i));
    if (tmp___6) {
      graft = lookup_commit_graft(the_repository, (struct object_id  const  *)(sa->oid + i));
      if (graft) {
        if (graft->nr_parent < 0) {
          goto __Cont;
        }
      }
      tmp___4 = info___0->nr_ours;
      (info___0->nr_ours) ++;
      *(info___0->ours + tmp___4) = i;
    } else {
      tmp___5 = info___0->nr_theirs;
      (info___0->nr_theirs) ++;
      *(info___0->theirs + tmp___5) = i;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
void clear_shallow_info(struct shallow_info *info___0 )
{


  {
  free((void *)info___0->ours);
  free((void *)info___0->theirs);
  return;
}
}
void remove_nonexistent_theirs_shallow(struct shallow_info *info___0 )
{
  struct object_id *oid ;
  int i ;
  int dst ;
  int tmp ;
  int tmp___0 ;

  {
  oid = (info___0->shallow)->oid;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = trace_pass_fl(& trace_shallow);
    if (tmp) {
      trace_printf_key_fl((char const   *)"shallow.c", 484, & trace_shallow, (char const   *)"shallow: remove_nonexistent_theirs_shallow\n");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  dst = 0;
  i = dst;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < info___0->nr_theirs)) {
      goto while_break___0;
    }
    if (i != dst) {
      *(info___0->theirs + dst) = *(info___0->theirs + i);
    }
    tmp___0 = repo_has_object_file(the_repository, (struct object_id  const  *)(oid + *(info___0->theirs + i)));
    if (tmp___0) {
      dst ++;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  info___0->nr_theirs = dst;
  return;
}
}
static void init_ref_bitmap_with_stride(struct ref_bitmap *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_ref_bitmap_with_stride(struct ref_bitmap *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(uint32_t *) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (uint32_t ***)((void *)0);
  return;
}
}
static void init_ref_bitmap(struct ref_bitmap *s___1 )  __attribute__((__unused__)) ;
static void init_ref_bitmap(struct ref_bitmap *s___1 )
{


  {
  init_ref_bitmap_with_stride(s___1, 1U);
  return;
}
}
static void clear_ref_bitmap(struct ref_bitmap *s___1 )  __attribute__((__unused__)) ;
static void clear_ref_bitmap(struct ref_bitmap *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (uint32_t ***)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_ref_bitmap(struct ref_bitmap *s___1 , void (*free_fn)(uint32_t ** ) )  __attribute__((__unused__)) ;
static void deep_clear_ref_bitmap(struct ref_bitmap *s___1 , void (*free_fn)(uint32_t ** ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_ref_bitmap(s___1);
  return;
}
}
static uint32_t **ref_bitmap_at_peek(struct ref_bitmap *s___1 , struct commit  const  *c___0 ,
                                     int add_if_missing )  __attribute__((__unused__)) ;
static uint32_t **ref_bitmap_at_peek(struct ref_bitmap *s___1 , struct commit  const  *c___0 ,
                                     int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((uint32_t **)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (uint32_t ***)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (uint32_t **)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((uint32_t **)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (uint32_t **)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static uint32_t **ref_bitmap_at(struct ref_bitmap *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static uint32_t **ref_bitmap_at(struct ref_bitmap *s___1 , struct commit  const  *c___0 )
{
  uint32_t **tmp ;

  {
  tmp = ref_bitmap_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static uint32_t **ref_bitmap_peek(struct ref_bitmap *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static uint32_t **ref_bitmap_peek(struct ref_bitmap *s___1 , struct commit  const  *c___0 )
{
  uint32_t **tmp ;

  {
  tmp = ref_bitmap_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
static uint32_t *paint_alloc(struct paint_info *info___0 )
{
  unsigned int nr___0 ;
  unsigned int size ;
  void *p___0 ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nr___0 = ((info___0->nr_bits + 32U) - 1U) / 32U;
  size = (unsigned int )((unsigned long )nr___0 * sizeof(uint32_t ));
  if (! info___0->pool_count) {
    goto _L;
  } else
  if ((long )size > info___0->end - info___0->free) {
    _L: /* CIL Label */
    if (size > 524288U) {
      BUG_fl((char const   *)"shallow.c", 514, (char const   *)"pool size too small for %d in paint_alloc()",
             size);
    }
    (info___0->pool_count) ++;
    tmp = st_mult(sizeof(*(info___0->pools)), (size_t )info___0->pool_count);
    tmp___0 = xrealloc((void *)info___0->pools, tmp);
    info___0->pools = (char **)tmp___0;
    tmp___1 = xmalloc((size_t )524288);
    info___0->free = (char *)tmp___1;
    *(info___0->pools + (info___0->pool_count - 1U)) = info___0->free;
    info___0->end = info___0->free + 524288;
  }
  p___0 = (void *)info___0->free;
  info___0->free += size;
  return ((uint32_t *)p___0);
}
}
static void paint_down(struct paint_info *info___0 , struct object_id  const  *oid ,
                       unsigned int id )
{
  unsigned int i ;
  unsigned int nr___0 ;
  struct commit_list *head___1 ;
  int bitmap_nr ;
  size_t bitmap_size ;
  size_t tmp ;
  struct commit *c___0 ;
  struct commit *tmp___0 ;
  uint32_t *tmp___1 ;
  uint32_t *bitmap ;
  void *tmp___2 ;
  struct commit_list *p___0 ;
  struct commit *c___1 ;
  struct commit *tmp___3 ;
  uint32_t **refs___0 ;
  uint32_t **tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;
  struct object *o ;
  struct object *tmp___8 ;

  {
  head___1 = (struct commit_list *)((void *)0);
  bitmap_nr = (int )(((info___0->nr_bits + 32U) - 1U) / 32U);
  tmp = st_mult(sizeof(uint32_t ), (size_t )bitmap_nr);
  bitmap_size = tmp;
  tmp___0 = lookup_commit_reference_gently(the_repository, oid, 1);
  c___0 = tmp___0;
  if (! c___0) {
    return;
  }
  tmp___2 = xmalloc(bitmap_size);
  tmp___1 = (uint32_t *)tmp___2;
  bitmap = paint_alloc(info___0);
  memset((void *)bitmap, 0, bitmap_size);
  *(bitmap + id / 32U) |= 1U << id % 32U;
  commit_list_insert(c___0, & head___1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! head___1) {
      goto while_break;
    }
    tmp___3 = pop_commit(& head___1);
    c___1 = tmp___3;
    tmp___4 = ref_bitmap_at(& info___0->ref_bitmap, (struct commit  const  *)c___1);
    refs___0 = tmp___4;
    if (c___1->object.flags & (1u | (1u << 1))) {
      goto while_continue;
    } else {
      c___1->object.flags |= 1u;
    }
    if ((unsigned long )*refs___0 == (unsigned long )((void *)0)) {
      *refs___0 = bitmap;
    } else {
      memcpy((void *)tmp___1, (void const   *)*refs___0, bitmap_size);
      i = 0U;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (i < (unsigned int )bitmap_nr)) {
          goto while_break___0;
        }
        *(tmp___1 + i) |= *(bitmap + i);
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      tmp___5 = memcmp((void const   *)tmp___1, (void const   *)*refs___0, bitmap_size);
      if (tmp___5) {
        *refs___0 = paint_alloc(info___0);
        memcpy((void *)*refs___0, (void const   *)tmp___1, bitmap_size);
      }
    }
    if (c___1->object.flags & (1u << 10)) {
      goto while_continue;
    }
    tmp___7 = repo_parse_commit(the_repository, c___1);
    if (tmp___7) {
      tmp___6 = oid_to_hex((struct object_id  const  *)(& c___1->object.oid));
      die((char const   *)"unable to parse commit %s", tmp___6);
    }
    p___0 = c___1->parents;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! p___0) {
        goto while_break___1;
      }
      if ((p___0->item)->object.flags & 1u) {
        goto __Cont;
      }
      commit_list_insert(p___0->item, & head___1);
      __Cont: /* CIL Label */
      p___0 = p___0->next;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  nr___0 = get_max_object_index();
  i = 0U;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break___2;
    }
    tmp___8 = get_indexed_object(i);
    o = tmp___8;
    if (o) {
      if (o->type == 1U) {
        o->flags &= 4294967294U;
      }
    }
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  free((void *)tmp___1);
  return;
}
}
static int mark_uninteresting___0(char const   *refname , struct object_id  const  *oid ,
                                  int flags___0 , void *cb_data )
{
  struct commit *commit ;
  struct commit *tmp ;

  {
  tmp = lookup_commit_reference_gently(the_repository, oid, 1);
  commit = tmp;
  if (! commit) {
    return (0);
  }
  commit->object.flags |= 1u << 1;
  mark_parents_uninteresting(commit);
  return (0);
}
}
static void post_assign_shallow(struct shallow_info *info___0 , struct ref_bitmap *ref_bitmap ,
                                int *ref_status ) ;
void assign_shallow_commits_to_refs(struct shallow_info *info___0 , uint32_t **used___0 ,
                                    int *ref_status )
{
  struct object_id *oid ;
  struct oid_array *ref ;
  unsigned int i ;
  unsigned int nr___0 ;
  int *shallow ;
  int nr_shallow ;
  struct paint_info pi ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  struct object *o ;
  struct object *tmp___4 ;
  struct commit *c___0 ;
  struct commit *tmp___5 ;
  int bitmap_size ;
  struct commit  const  *c___1 ;
  struct commit *tmp___6 ;
  uint32_t **map___0 ;
  uint32_t **tmp___7 ;
  void *tmp___8 ;

  {
  oid = (info___0->shallow)->oid;
  ref = info___0->ref;
  nr_shallow = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = trace_pass_fl(& trace_shallow);
    if (tmp) {
      trace_printf_key_fl((char const   *)"shallow.c", 636, & trace_shallow, (char const   *)"shallow: assign_shallow_commits_to_refs\n");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = st_mult(sizeof(*shallow), (size_t )(info___0->nr_ours + info___0->nr_theirs));
  tmp___1 = xmalloc(tmp___0);
  shallow = (int *)tmp___1;
  i = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < (unsigned int )info___0->nr_ours)) {
      goto while_break___0;
    }
    tmp___2 = nr_shallow;
    nr_shallow ++;
    *(shallow + tmp___2) = *(info___0->ours + i);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 0U;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < (unsigned int )info___0->nr_theirs)) {
      goto while_break___1;
    }
    tmp___3 = nr_shallow;
    nr_shallow ++;
    *(shallow + tmp___3) = *(info___0->theirs + i);
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  nr___0 = get_max_object_index();
  i = 0U;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break___2;
    }
    tmp___4 = get_indexed_object(i);
    o = tmp___4;
    if (! o) {
      goto __Cont;
    } else
    if (o->type != 1U) {
      goto __Cont;
    }
    o->flags &= ~ (((1u << 1) | (1u << 10)) | 1u);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  memset((void *)(& pi), 0, sizeof(pi));
  init_ref_bitmap(& pi.ref_bitmap);
  pi.nr_bits = (unsigned int )ref->nr;
  head_ref(& mark_uninteresting___0, (void *)0);
  for_each_ref(& mark_uninteresting___0, (void *)0);
  i = 0U;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! (i < (unsigned int )nr_shallow)) {
      goto while_break___3;
    }
    tmp___5 = lookup_commit(the_repository, (struct object_id  const  *)(oid + *(shallow + i)));
    c___0 = tmp___5;
    c___0->object.flags |= 1u << 10;
    i ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  i = 0U;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! ((size_t )i < ref->nr)) {
      goto while_break___4;
    }
    paint_down(& pi, (struct object_id  const  *)(ref->oid + i), i);
    i ++;
  }
  while_break___4: /* CIL Label */ ;
  }
  if (used___0) {
    bitmap_size = (int )((unsigned long )(((pi.nr_bits + 32U) - 1U) / 32U) * sizeof(uint32_t ));
    memset((void *)used___0, 0, sizeof(*used___0) * (info___0->shallow)->nr);
    i = 0U;
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      if (! (i < (unsigned int )nr_shallow)) {
        goto while_break___5;
      }
      tmp___6 = lookup_commit(the_repository, (struct object_id  const  *)(oid + *(shallow + i)));
      c___1 = (struct commit  const  *)tmp___6;
      tmp___7 = ref_bitmap_at(& pi.ref_bitmap, c___1);
      map___0 = tmp___7;
      if (*map___0) {
        tmp___8 = xmemdupz((void const   *)*map___0, (size_t )bitmap_size);
        *(used___0 + *(shallow + i)) = (uint32_t *)tmp___8;
      }
      i ++;
    }
    while_break___5: /* CIL Label */ ;
    }
  } else {
    post_assign_shallow(info___0, & pi.ref_bitmap, ref_status);
  }
  clear_ref_bitmap(& pi.ref_bitmap);
  i = 0U;
  {
  while (1) {
    while_continue___6: /* CIL Label */ ;
    if (! (i < pi.pool_count)) {
      goto while_break___6;
    }
    free((void *)*(pi.pools + i));
    i ++;
  }
  while_break___6: /* CIL Label */ ;
  }
  free((void *)pi.pools);
  free((void *)shallow);
  return;
}
}
static int add_ref(char const   *refname , struct object_id  const  *oid , int flags___0 ,
                   void *cb_data )
{
  struct commit_array *ca ;
  size_t tmp ;
  void *tmp___0 ;

  {
  ca = (struct commit_array *)cb_data;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (ca->nr + 1 > ca->alloc) {
      if (((ca->alloc + 16) * 3) / 2 < ca->nr + 1) {
        ca->alloc = ca->nr + 1;
      } else {
        ca->alloc = ((ca->alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(ca->commits)), (size_t )ca->alloc);
      tmp___0 = xrealloc((void *)ca->commits, tmp);
      ca->commits = (struct commit **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  *(ca->commits + ca->nr) = lookup_commit_reference_gently(the_repository, oid, 1);
  if (*(ca->commits + ca->nr)) {
    (ca->nr) ++;
  }
  return (0);
}
}
static void update_refstatus(int *ref_status , int nr___0 , uint32_t *bitmap )
{
  unsigned int i ;

  {
  if (! ref_status) {
    return;
  }
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (unsigned int )nr___0)) {
      goto while_break;
    }
    if (*(bitmap + i / 32U) & (1U << i % 32U)) {
      (*(ref_status + i)) ++;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void post_assign_shallow(struct shallow_info *info___0 , struct ref_bitmap *ref_bitmap ,
                                int *ref_status )
{
  struct object_id *oid ;
  struct commit *c___0 ;
  uint32_t **bitmap ;
  int dst ;
  int i ;
  int j ;
  int bitmap_nr ;
  struct commit_array ca ;
  int tmp ;
  int tmp___0 ;

  {
  oid = (info___0->shallow)->oid;
  bitmap_nr = (int )((((info___0->ref)->nr + 32UL) - 1UL) / 32UL);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = trace_pass_fl(& trace_shallow);
    if (tmp) {
      trace_printf_key_fl((char const   *)"shallow.c", 745, & trace_shallow, (char const   *)"shallow: post_assign_shallow\n");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (ref_status) {
    memset((void *)ref_status, 0, sizeof(*ref_status) * (info___0->ref)->nr);
  }
  dst = 0;
  i = dst;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < info___0->nr_theirs)) {
      goto while_break___0;
    }
    if (i != dst) {
      *(info___0->theirs + dst) = *(info___0->theirs + i);
    }
    c___0 = lookup_commit(the_repository, (struct object_id  const  *)(oid + *(info___0->theirs + i)));
    bitmap = ref_bitmap_at(ref_bitmap, (struct commit  const  *)c___0);
    if (! *bitmap) {
      goto __Cont;
    }
    j = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (j < bitmap_nr)) {
        goto while_break___1;
      }
      if (*(*(bitmap + 0) + j)) {
        update_refstatus(ref_status, (int )(info___0->ref)->nr, *bitmap);
        dst ++;
        goto while_break___1;
      }
      j ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  info___0->nr_theirs = dst;
  memset((void *)(& ca), 0, sizeof(ca));
  head_ref(& add_ref, (void *)(& ca));
  for_each_ref(& add_ref, (void *)(& ca));
  dst = 0;
  i = dst;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < info___0->nr_ours)) {
      goto while_break___2;
    }
    if (i != dst) {
      *(info___0->ours + dst) = *(info___0->ours + i);
    }
    c___0 = lookup_commit(the_repository, (struct object_id  const  *)(oid + *(info___0->ours + i)));
    bitmap = ref_bitmap_at(ref_bitmap, (struct commit  const  *)c___0);
    if (! *bitmap) {
      goto __Cont___0;
    }
    j = 0;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! (j < bitmap_nr)) {
        goto while_break___3;
      }
      if (*(*(bitmap + 0) + j)) {
        tmp___0 = repo_in_merge_bases_many(the_repository, c___0, ca.nr, ca.commits);
        if (! tmp___0) {
          update_refstatus(ref_status, (int )(info___0->ref)->nr, *bitmap);
          dst ++;
          goto while_break___3;
        }
      }
      j ++;
    }
    while_break___3: /* CIL Label */ ;
    }
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  info___0->nr_ours = dst;
  free((void *)ca.commits);
  return;
}
}
int delayed_reachability_test(struct shallow_info *si , int c___0 )
{
  struct commit *commit ;
  struct commit *tmp ;
  struct commit_array ca ;

  {
  if (*(si->need_reachability_test + c___0)) {
    tmp = lookup_commit(the_repository, (struct object_id  const  *)((si->shallow)->oid + c___0));
    commit = tmp;
    if (! si->commits) {
      memset((void *)(& ca), 0, sizeof(ca));
      head_ref(& add_ref, (void *)(& ca));
      for_each_ref(& add_ref, (void *)(& ca));
      si->commits = ca.commits;
      si->nr_commits = ca.nr;
    }
    *(si->reachable + c___0) = repo_in_merge_bases_many(the_repository, commit, si->nr_commits,
                                                        si->commits);
    *(si->need_reachability_test + c___0) = 0;
  }
  return (*(si->reachable + c___0));
}
}
static struct keyword_entry keywords[4]  = {      {(char const   *)"hint", {(char )'\033', (char )'[', (char )'3', (char )'3',
                               (char )'m', (char )'\000'}},
        {(char const   *)"warning", {(char )'\033', (char )'[', (char )'1', (char )';',
                                  (char )'3', (char )'3', (char )'m', (char )'\000'}},
        {(char const   *)"success",
      {(char )'\033', (char )'[', (char )'1', (char )';', (char )'3', (char )'2',
       (char )'m', (char )'\000'}},
        {(char const   *)"error", {(char )'\033', (char )'[', (char )'1', (char )';',
                                (char )'3', (char )'1', (char )'m', (char )'\000'}}};
static int use_sideband_colors(void) ;
static int use_sideband_colors_cached  =    -1;
static int use_sideband_colors(void)
{
  char const   *key___1 ;
  struct strbuf sb___6 ;
  char *value ;
  int i ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  key___1 = (char const   *)"color.remote";
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  if (use_sideband_colors_cached >= 0) {
    return (use_sideband_colors_cached);
  }
  tmp___0 = git_config_get_string(key___1, & value);
  if (tmp___0) {
    tmp = git_config_get_string((char const   *)"color.ui", & value);
    if (tmp) {
      use_sideband_colors_cached = 2;
    } else {
      use_sideband_colors_cached = git_config_colorbool((char const   *)"color.ui",
                                                        (char const   *)value);
    }
  } else {
    use_sideband_colors_cached = git_config_colorbool(key___1, (char const   *)value);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(keywords) / sizeof(keywords[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    strbuf_setlen(& sb___6, (size_t )0);
    strbuf_addf(& sb___6, (char const   *)"%s.%s", key___1, keywords[i].keyword);
    tmp___1 = git_config_get_string((char const   *)sb___6.buf, & value);
    if (tmp___1) {
      goto __Cont;
    }
    tmp___2 = color_parse((char const   *)value, keywords[i].color);
    if (tmp___2) {
      goto __Cont;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& sb___6);
  return (use_sideband_colors_cached);
}
}
void list_config_color_sideband_slots(struct string_list *list___3 , char const   *prefix___1 )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(keywords) / sizeof(keywords[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    list_config_item(list___3, prefix___1, keywords[i].keyword);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void maybe_colorize_sideband(struct strbuf *dest , char const   *src , int n )
{
  int i ;
  int tmp ;
  int tmp___0 ;
  struct keyword_entry *p___0 ;
  int len___0 ;
  size_t tmp___1 ;
  int tmp___2 ;

  {
  tmp = use_sideband_colors();
  tmp___0 = want_color_fd(2, tmp);
  if (! tmp___0) {
    strbuf_add(dest, (void const   *)src, (size_t )n);
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (0 < n) {
      if (! (((int const   )sane_ctype[(unsigned char )*src] & 1) != 0)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    strbuf_addch(dest, (int )*src);
    src ++;
    n --;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(keywords) / sizeof(keywords[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break___0;
    }
    p___0 = keywords + i;
    tmp___1 = strlen(p___0->keyword);
    len___0 = (int )tmp___1;
    if (n < len___0) {
      goto __Cont;
    }
    tmp___2 = strncasecmp(p___0->keyword, src, (size_t )len___0);
    if (! tmp___2) {
      if (len___0 == n) {
        goto _L;
      } else
      if (! (((int const   )sane_ctype[(unsigned char )*(src + len___0)] & 6) != 0)) {
        _L: /* CIL Label */
        strbuf_addstr(dest, (char const   *)(p___0->color));
        strbuf_add(dest, (void const   *)src, (size_t )len___0);
        strbuf_addstr(dest, (char const   *)"\033[m");
        n -= len___0;
        src += len___0;
        goto while_break___0;
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_add(dest, (void const   *)src, (size_t )n);
  return;
}
}
static char const   *suffix___0  ;
int demultiplex_sideband(char const   *me , int status , char *buf___19 , int len___0 ,
                         int die_on_error , struct strbuf *scratch , enum sideband_type *sideband_type )
{
  char const   *b___0 ;
  char const   *brk___0 ;
  int band ;
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char *tmp___4 ;
  int linelen___1 ;
  char *tmp___5 ;
  char *tmp___6 ;
  size_t tmp___7 ;
  char *tmp___8 ;

  {
  if (! suffix___0) {
    tmp = isatty(2);
    if (tmp) {
      tmp___0 = is_terminal_dumb();
      if (tmp___0) {
        suffix___0 = (char const   *)"        ";
      } else {
        suffix___0 = (char const   *)"\033[K";
      }
    } else {
      suffix___0 = (char const   *)"        ";
    }
  }
  if (status == 0) {
    if (scratch->len) {
      tmp___1 = "\n";
    } else {
      tmp___1 = "";
    }
    strbuf_addf(scratch, (char const   *)"%s%s: unexpected disconnect while reading sideband packet",
                tmp___1, me);
    *sideband_type = (enum sideband_type )-2;
    goto cleanup;
  }
  if (len___0 < 0) {
    BUG_fl((char const   *)"sideband.c", 144, (char const   *)"negative length on non-eof packet read");
  }
  if (len___0 == 0) {
    if (status == 1) {
      if (scratch->len) {
        tmp___2 = "\n";
      } else {
        tmp___2 = "";
      }
      strbuf_addf(scratch, (char const   *)"%s%s: protocol error: missing sideband designator",
                  tmp___2, me);
      *sideband_type = (enum sideband_type )-2;
    } else {
      *sideband_type = (enum sideband_type )0;
    }
    goto cleanup;
  }
  band = (int )*(buf___19 + 0) & 0xff;
  *(buf___19 + len___0) = (char )'\000';
  len___0 --;
  {
  if (band == 3) {
    goto case_3;
  }
  if (band == 2) {
    goto case_2;
  }
  if (band == 1) {
    goto case_1;
  }
  goto switch_default;
  case_3: /* CIL Label */
  if (die_on_error) {
    tmp___3 = _((char const   *)"remote error: %s");
    die((char const   *)tmp___3, buf___19 + 1);
  }
  if (scratch->len) {
    tmp___4 = "\n";
  } else {
    tmp___4 = "";
  }
  strbuf_addf(scratch, (char const   *)"%s%s", tmp___4, "remote: ");
  maybe_colorize_sideband(scratch, (char const   *)(buf___19 + 1), len___0);
  *sideband_type = (enum sideband_type )-1;
  goto switch_break;
  case_2: /* CIL Label */
  b___0 = (char const   *)(buf___19 + 1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___5 = strpbrk(b___0, (char const   *)"\n\r");
    brk___0 = (char const   *)tmp___5;
    if (! brk___0) {
      goto while_break;
    }
    linelen___1 = (int )(brk___0 - b___0);
    if (scratch->len) {
      if (! linelen___1) {
        strbuf_addstr(scratch, suffix___0);
      }
    }
    if (! scratch->len) {
      strbuf_addstr(scratch, (char const   *)"remote: ");
    }
    if (linelen___1 > 0) {
      maybe_colorize_sideband(scratch, b___0, linelen___1);
      strbuf_addstr(scratch, suffix___0);
    }
    strbuf_addch(scratch, (int )*brk___0);
    xwrite(2, (void const   *)scratch->buf, scratch->len);
    strbuf_setlen(scratch, (size_t )0);
    b___0 = brk___0 + 1;
  }
  while_break: /* CIL Label */ ;
  }
  if (*b___0) {
    if (scratch->len) {
      tmp___6 = "";
    } else {
      tmp___6 = "remote: ";
    }
    strbuf_addstr(scratch, (char const   *)tmp___6);
    tmp___7 = strlen(b___0);
    maybe_colorize_sideband(scratch, b___0, (int )tmp___7);
  }
  return (0);
  case_1: /* CIL Label */
  *sideband_type = (enum sideband_type )1;
  return (1);
  switch_default: /* CIL Label */
  if (scratch->len) {
    tmp___8 = "\n";
  } else {
    tmp___8 = "";
  }
  strbuf_addf(scratch, (char const   *)"%s%s: protocol error: bad band #%d", tmp___8,
              me, band);
  *sideband_type = (enum sideband_type )-2;
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  cleanup:
  if (die_on_error) {
    if ((int )*sideband_type == -2) {
      die((char const   *)"%s", scratch->buf);
    }
  }
  if (scratch->len) {
    strbuf_addch(scratch, '\n');
    xwrite(2, (void const   *)scratch->buf, scratch->len);
  }
  strbuf_release(scratch);
  return (1);
}
}
void send_sideband(int fd , int band , char const   *data , ssize_t sz , int packet_max )
{
  char const   *p___0 ;
  unsigned int n ;
  char hdr[5] ;

  {
  p___0 = data;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! sz) {
      goto while_break;
    }
    n = (unsigned int )sz;
    if ((unsigned int )(packet_max - 5) < n) {
      n = (unsigned int )(packet_max - 5);
    }
    if (0 <= band) {
      xsnprintf(hdr, sizeof(hdr), (char const   *)"%04x", n + 5U);
      hdr[4] = (char )band;
      write_or_die(fd, (void const   *)(hdr), (size_t )5);
    } else {
      xsnprintf(hdr, sizeof(hdr), (char const   *)"%04x", n + 4U);
      write_or_die(fd, (void const   *)(hdr), (size_t )4);
    }
    write_or_die(fd, (void const   *)p___0, (size_t )n);
    p___0 += n;
    sz -= (ssize_t )n;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct sigchain_signal signals[32]  ;
static void check_signum(int sig )
{


  {
  if (sig < 1) {
    BUG_fl((char const   *)"sigchain.c", 16, (char const   *)"signal out of range: %d",
           sig);
  } else
  if (sig >= 32) {
    BUG_fl((char const   *)"sigchain.c", 16, (char const   *)"signal out of range: %d",
           sig);
  }
  return;
}
}
int sigchain_push(int sig , void (*f)(int  ) )
{
  struct sigchain_signal *s___1 ;
  size_t tmp ;
  void *tmp___0 ;

  {
  s___1 = signals + sig;
  check_signum(sig);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (s___1->n + 1 > s___1->alloc) {
      if (((s___1->alloc + 16) * 3) / 2 < s___1->n + 1) {
        s___1->alloc = s___1->n + 1;
      } else {
        s___1->alloc = ((s___1->alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(s___1->old)), (size_t )s___1->alloc);
      tmp___0 = xrealloc((void *)s___1->old, tmp);
      s___1->old = (sigchain_fun *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  *(s___1->old + s___1->n) = signal(sig, f);
  if ((unsigned long )*(s___1->old + s___1->n) == (unsigned long )((void (*)(int  ))-1)) {
    return (-1);
  }
  (s___1->n) ++;
  return (0);
}
}
int sigchain_pop(int sig )
{
  struct sigchain_signal *s___1 ;
  __sighandler_t tmp ;

  {
  s___1 = signals + sig;
  check_signum(sig);
  if (s___1->n < 1) {
    return (0);
  }
  tmp = signal(sig, *(s___1->old + (s___1->n - 1)));
  if ((unsigned long )tmp == (unsigned long )((void (*)(int  ))-1)) {
    return (-1);
  }
  (s___1->n) --;
  return (0);
}
}
void sigchain_push_common(void (*f)(int  ) )
{


  {
  sigchain_push(2, f);
  sigchain_push(1, f);
  sigchain_push(15, f);
  sigchain_push(3, f);
  sigchain_push(13, f);
  return;
}
}
void sigchain_pop_common(void)
{


  {
  sigchain_pop(13);
  sigchain_pop(3);
  sigchain_pop(15);
  sigchain_pop(1);
  sigchain_pop(2);
  return;
}
}
static struct cache_entry *construct_sparse_dir_entry(struct index_state *istate ,
                                                      char const   *sparse_dir , struct cache_tree *tree )
{
  struct cache_entry *de ;

  {
  de = make_cache_entry(istate, 16384U, (struct object_id  const  *)(& tree->oid),
                        sparse_dir, 0, 0U);
  de->ce_flags |= (unsigned int )(1 << 30);
  return (de);
}
}
static int convert_to_sparse_rec(struct index_state *istate , int num_converted ,
                                 int start , int end , char const   *ct_path , size_t ct_pathlen ,
                                 struct cache_tree *ct )
{
  int i ;
  int can_convert ;
  int start_converted ;
  struct strbuf child_path ;
  int tmp ;
  struct cache_entry *ce ;
  struct cache_entry *se ;
  int tmp___0 ;
  int count___0 ;
  int span ;
  int pos ;
  char const   *base ;
  char const   *slash ;
  struct cache_entry *ce___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  can_convert = 1;
  start_converted = num_converted;
  child_path.alloc = 0UL;
  child_path.len = 0UL;
  child_path.buf = strbuf_slopbuf;
  tmp = path_in_sparse_checkout(ct_path, istate);
  if (tmp) {
    can_convert = 0;
  }
  i = start;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (can_convert) {
      if (! (i < end)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    ce = *(istate->cache + i);
    if ((12288U & ce->ce_flags) >> 12) {
      can_convert = 0;
    } else
    if ((ce->ce_mode & 61440U) == 57344U) {
      can_convert = 0;
    } else
    if (! (ce->ce_flags & (unsigned int )(1 << 30))) {
      can_convert = 0;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (can_convert) {
    se = construct_sparse_dir_entry(istate, ct_path, ct);
    tmp___0 = num_converted;
    num_converted ++;
    *(istate->cache + tmp___0) = se;
    return (1);
  }
  i = start;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < end)) {
      goto while_break___0;
    }
    pos = -1;
    ce___0 = *(istate->cache + i);
    base = (char const   *)(ce___0->name + ct_pathlen);
    tmp___1 = strchr(base, '/');
    slash = (char const   *)tmp___1;
    if (slash) {
      pos = cache_tree_subtree_pos(ct, base, (int )(slash - base));
    }
    if (pos < 0) {
      tmp___2 = num_converted;
      num_converted ++;
      *(istate->cache + tmp___2) = ce___0;
      i ++;
      goto __Cont;
    }
    strbuf_setlen(& child_path, (size_t )0);
    strbuf_add(& child_path, (void const   *)(ce___0->name), (size_t )((slash - (char const   *)(ce___0->name)) + 1L));
    span = ((*(ct->down + pos))->cache_tree)->entry_count;
    count___0 = convert_to_sparse_rec(istate, num_converted, i, i + span, (char const   *)child_path.buf,
                                      child_path.len, (*(ct->down + pos))->cache_tree);
    num_converted += count___0;
    i += span;
    __Cont: /* CIL Label */ ;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_release(& child_path);
  return (num_converted - start_converted);
}
}
int set_sparse_index_config(struct repository *repo , int enable )
{
  int res ;
  char *config_path ;
  char *tmp ;
  char *tmp___0 ;

  {
  tmp = repo_git_path((struct repository  const  *)repo, (char const   *)"config.worktree");
  config_path = tmp;
  if (enable) {
    tmp___0 = "true";
  } else {
    tmp___0 = (char *)((void *)0);
  }
  res = git_config_set_in_file_gently((char const   *)config_path, (char const   *)"index.sparse",
                                      (char const   *)tmp___0);
  free((void *)config_path);
  prepare_repo_settings(repo);
  repo->settings.sparse_index = enable;
  return (res);
}
}
static int index_has_unmerged_entries(struct index_state *istate )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    if ((12288U & (*(istate->cache + i))->ce_flags) >> 12) {
      return (1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int is_sparse_index_allowed(struct index_state *istate , int flags___0 )
{
  int test_env ;
  int tmp ;

  {
  if (! core_apply_sparse_checkout) {
    return (0);
  } else
  if (! core_sparse_checkout_cone) {
    return (0);
  }
  if (! istate->repo) {
    istate->repo = the_repository;
  }
  if (! (flags___0 & 1)) {
    if (istate->split_index) {
      return (0);
    }
    test_env = git_env_bool((char const   *)"GIT_TEST_SPARSE_INDEX", -1);
    if (test_env >= 0) {
      set_sparse_index_config(istate->repo, test_env);
    }
    prepare_repo_settings(istate->repo);
    if (! (istate->repo)->settings.sparse_index) {
      return (0);
    }
  }
  tmp = init_sparse_checkout_patterns(istate);
  if (tmp) {
    return (0);
  }
  if (! (istate->sparse_checkout_patterns)->use_cone_patterns) {
    return (0);
  }
  return (1);
}
}
int convert_to_sparse(struct index_state *istate , int flags___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  if (istate->sparse_index) {
    return (0);
  } else
  if (! istate->cache_nr) {
    return (0);
  } else {
    tmp = is_sparse_index_allowed(istate, flags___0);
    if (! tmp) {
      return (0);
    }
  }
  tmp___0 = index_has_unmerged_entries(istate);
  if (tmp___0) {
    return (0);
  }
  tmp___2 = cache_tree_fully_valid(istate->cache_tree);
  if (! tmp___2) {
    cache_tree_free(& istate->cache_tree);
    tmp___1 = cache_tree_update(istate, 1);
    if (tmp___1) {
      return (0);
    }
  }
  remove_fsmonitor(istate);
  trace2_region_enter_fl((char const   *)"sparse-index.c", 208, (char const   *)"index",
                         (char const   *)"convert_to_sparse", (struct repository  const  *)istate->repo);
  tmp___3 = convert_to_sparse_rec(istate, 0, 0, (int )istate->cache_nr, (char const   *)"",
                                  (size_t )0, istate->cache_tree);
  istate->cache_nr = (unsigned int )tmp___3;
  cache_tree_free(& istate->cache_tree);
  cache_tree_update(istate, 0);
  istate->fsmonitor_has_run_once = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)istate->fsmonitor_dirty);
    istate->fsmonitor_dirty = (struct ewah_bitmap *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)istate->fsmonitor_last_update);
    istate->fsmonitor_last_update = (char *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  istate->sparse_index = 1U;
  trace2_region_leave_fl((char const   *)"sparse-index.c", 222, (char const   *)"index",
                         (char const   *)"convert_to_sparse", (struct repository  const  *)istate->repo);
  return (0);
}
}
static void set_index_entry___0(struct index_state *istate , int nr___0 , struct cache_entry *ce )
{
  size_t tmp ;
  void *tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned int )(nr___0 + 1) > istate->cache_alloc) {
      if (((istate->cache_alloc + 16U) * 3U) / 2U < (unsigned int )(nr___0 + 1)) {
        istate->cache_alloc = (unsigned int )(nr___0 + 1);
      } else {
        istate->cache_alloc = ((istate->cache_alloc + 16U) * 3U) / 2U;
      }
      tmp = st_mult(sizeof(*(istate->cache)), (size_t )istate->cache_alloc);
      tmp___0 = xrealloc((void *)istate->cache, tmp);
      istate->cache = (struct cache_entry **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  *(istate->cache + nr___0) = ce;
  add_name_hash(istate, ce);
  return;
}
}
static int add_path_to_index(struct object_id  const  *oid , struct strbuf *base ,
                             char const   *path___6 , unsigned int mode___1 , void *context___0 )
{
  struct index_state *istate ;
  struct cache_entry *ce ;
  size_t len___0 ;
  unsigned int tmp ;

  {
  istate = (struct index_state *)context___0;
  len___0 = base->len;
  if ((mode___1 & 61440U) == 16384U) {
    return (1);
  }
  strbuf_addstr(base, path___6);
  ce = make_cache_entry(istate, mode___1, oid, (char const   *)base->buf, 0, 0U);
  ce->ce_flags |= (unsigned int )((1 << 30) | 0x4000);
  tmp = istate->cache_nr;
  (istate->cache_nr) ++;
  set_index_entry___0(istate, (int )tmp, ce);
  strbuf_setlen(base, len___0);
  return (0);
}
}
void ensure_full_index(struct index_state *istate )
{
  int i ;
  struct index_state *full ;
  struct strbuf base ;
  void *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  struct cache_entry *ce ;
  struct tree *tree ;
  struct pathspec ps ;
  unsigned int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  size_t tmp___4 ;

  {
  base.alloc = 0UL;
  base.len = 0UL;
  base.buf = strbuf_slopbuf;
  if (! istate) {
    return;
  } else
  if (! istate->sparse_index) {
    return;
  }
  if (! istate->repo) {
    istate->repo = the_repository;
  }
  trace2_region_enter_fl((char const   *)"sparse-index.c", 267, (char const   *)"index",
                         (char const   *)"ensure_full_index", (struct repository  const  *)istate->repo);
  tmp = xcalloc((size_t )1, sizeof(struct index_state ));
  full = (struct index_state *)tmp;
  memcpy((void *)full, (void const   *)istate, sizeof(struct index_state ));
  full->sparse_index = 0U;
  full->cache_alloc = (3U * istate->cache_alloc) / 2U;
  full->cache_nr = 0U;
  tmp___0 = st_mult(sizeof(*(full->cache)), (size_t )full->cache_alloc);
  tmp___1 = xmalloc(tmp___0);
  full->cache = (struct cache_entry **)tmp___1;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    ce = *(istate->cache + i);
    if (! (ce->ce_mode == 16384U)) {
      tmp___2 = full->cache_nr;
      (full->cache_nr) ++;
      set_index_entry___0(full, (int )tmp___2, ce);
      goto __Cont;
    }
    if (! (ce->ce_flags & (unsigned int )(1 << 30))) {
      tmp___3 = _((char const   *)"index entry is a directory, but not sparse (%08x)");
      warning((char const   *)tmp___3, ce->ce_flags);
    }
    tree = lookup_tree(istate->repo, (struct object_id  const  *)(& ce->oid));
    memset((void *)(& ps), 0, sizeof(ps));
    ps.recursive = 1U;
    ps.has_wildcard = 1U;
    ps.max_depth = -1;
    strbuf_setlen(& base, (size_t )0);
    tmp___4 = strlen((char const   *)(ce->name));
    strbuf_add(& base, (void const   *)(ce->name), tmp___4);
    read_tree_at(istate->repo, tree, & base, (struct pathspec  const  *)(& ps), & add_path_to_index,
                 (void *)full);
    discard_cache_entry(ce);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  memcpy((void *)(& istate->name_hash), (void const   *)(& full->name_hash), sizeof(full->name_hash));
  memcpy((void *)(& istate->dir_hash), (void const   *)(& full->dir_hash), sizeof(full->dir_hash));
  istate->sparse_index = 0U;
  free((void *)istate->cache);
  istate->cache = full->cache;
  istate->cache_nr = full->cache_nr;
  istate->cache_alloc = full->cache_alloc;
  istate->fsmonitor_has_run_once = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)istate->fsmonitor_dirty);
    istate->fsmonitor_dirty = (struct ewah_bitmap *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    free((void *)istate->fsmonitor_last_update);
    istate->fsmonitor_last_update = (char *)((void *)0);
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  strbuf_release(& base);
  free((void *)full);
  cache_tree_free(& istate->cache_tree);
  cache_tree_update(istate, 0);
  trace2_region_leave_fl((char const   *)"sparse-index.c", 329, (char const   *)"index",
                         (char const   *)"ensure_full_index", (struct repository  const  *)istate->repo);
  return;
}
}
void ensure_correct_sparsity(struct index_state *istate )
{
  int tmp ;

  {
  tmp = is_sparse_index_allowed(istate, 0);
  if (tmp) {
    convert_to_sparse(istate, 0);
  } else {
    ensure_full_index(istate);
  }
  return;
}
}
static int in_expand_to_path  =    0;
void expand_to_path(struct index_state *istate , char const   *path___6 , size_t pathlen ,
                    int icase___0 )
{
  struct strbuf path_mutable ;
  size_t substr_len ;
  struct cache_entry *tmp ;
  char temp ;
  char *replace ;
  char *tmp___0 ;
  struct cache_entry *tmp___1 ;

  {
  path_mutable.alloc = 0UL;
  path_mutable.len = 0UL;
  path_mutable.buf = strbuf_slopbuf;
  if (in_expand_to_path) {
    return;
  }
  if (! istate) {
    return;
  } else
  if (! istate->sparse_index) {
    return;
  }
  if (! istate->repo) {
    istate->repo = the_repository;
  }
  in_expand_to_path = 1;
  tmp = index_file_exists(istate, path___6, (int )pathlen, icase___0);
  if (tmp) {
    goto cleanup;
  }
  strbuf_add(& path_mutable, (void const   *)path___6, pathlen);
  strbuf_addch(& path_mutable, '/');
  substr_len = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (substr_len < pathlen)) {
      goto while_break;
    }
    tmp___0 = strchr((char const   *)(path_mutable.buf + substr_len), '/');
    replace = tmp___0;
    if (! replace) {
      goto while_break;
    }
    replace ++;
    temp = *replace;
    *replace = (char )'\000';
    tmp___1 = index_file_exists(istate, (char const   *)path_mutable.buf, (int )path_mutable.len,
                                icase___0);
    if (tmp___1) {
      ensure_full_index(istate);
      goto while_break;
    }
    *replace = temp;
    substr_len = (size_t )(replace - path_mutable.buf);
  }
  while_break: /* CIL Label */ ;
  }
  cleanup:
  strbuf_release(& path_mutable);
  in_expand_to_path = 0;
  return;
}
}
struct split_index *init_split_index(struct index_state *istate )
{
  void *tmp ;

  {
  if (! istate->split_index) {
    tmp = xcalloc((size_t )1, sizeof(*(istate->split_index)));
    istate->split_index = (struct split_index *)tmp;
    (istate->split_index)->refcount = 1;
  }
  return (istate->split_index);
}
}
int read_link_extension(struct index_state *istate , void const   *data_ , unsigned long sz )
{
  unsigned char const   *data ;
  struct split_index *si ;
  int ret___67 ;
  int tmp ;
  ssize_t tmp___0 ;
  int tmp___1 ;
  ssize_t tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  data = (unsigned char const   *)data_;
  if (sz < (unsigned long )(the_repository->hash_algo)->rawsz) {
    error((char const   *)"corrupt link extension (too short)");
    tmp = const_error();
    return (tmp);
  }
  si = init_split_index(istate);
  oidread(& si->base_oid, data);
  data += (the_repository->hash_algo)->rawsz;
  sz -= (unsigned long )(the_repository->hash_algo)->rawsz;
  if (! sz) {
    return (0);
  }
  si->delete_bitmap = ewah_new();
  tmp___0 = ewah_read_mmap(si->delete_bitmap, (void const   *)data, sz);
  ret___67 = (int )tmp___0;
  if (ret___67 < 0) {
    error((char const   *)"corrupt delete bitmap in link extension");
    tmp___1 = const_error();
    return (tmp___1);
  }
  data += ret___67;
  sz -= (unsigned long )ret___67;
  si->replace_bitmap = ewah_new();
  tmp___2 = ewah_read_mmap(si->replace_bitmap, (void const   *)data, sz);
  ret___67 = (int )tmp___2;
  if (ret___67 < 0) {
    error((char const   *)"corrupt replace bitmap in link extension");
    tmp___3 = const_error();
    return (tmp___3);
  }
  if ((unsigned long )ret___67 != sz) {
    error((char const   *)"garbage at the end of link extension");
    tmp___4 = const_error();
    return (tmp___4);
  }
  return (0);
}
}
int write_link_extension(struct strbuf *sb___6 , struct index_state *istate )
{
  struct split_index *si ;

  {
  si = istate->split_index;
  strbuf_add(sb___6, (void const   *)(si->base_oid.hash), (size_t )(the_repository->hash_algo)->rawsz);
  if (! si->delete_bitmap) {
    if (! si->replace_bitmap) {
      return (0);
    }
  }
  ewah_serialize_strbuf(si->delete_bitmap, sb___6);
  ewah_serialize_strbuf(si->replace_bitmap, sb___6);
  return (0);
}
}
static void mark_base_index_entries(struct index_state *base )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < base->cache_nr)) {
      goto while_break;
    }
    (*(base->cache + i))->index = (unsigned int )(i + 1);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void move_cache_to_base_index(struct index_state *istate )
{
  struct split_index *si ;
  int i ;
  void *tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;

  {
  si = istate->split_index;
  if (si->base) {
    if ((si->base)->ce_mem_pool) {
      if (! istate->ce_mem_pool) {
        tmp = xmalloc(sizeof(struct mem_pool ));
        istate->ce_mem_pool = (struct mem_pool *)tmp;
        mem_pool_init(istate->ce_mem_pool, (size_t )0);
      }
      mem_pool_combine(istate->ce_mem_pool, ((istate->split_index)->base)->ce_mem_pool);
    }
  }
  tmp___0 = xcalloc((size_t )1, sizeof(*(si->base)));
  si->base = (struct index_state *)tmp___0;
  (si->base)->version = istate->version;
  (si->base)->timestamp = istate->timestamp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (istate->cache_nr > (si->base)->cache_alloc) {
      if ((((si->base)->cache_alloc + 16U) * 3U) / 2U < istate->cache_nr) {
        (si->base)->cache_alloc = istate->cache_nr;
      } else {
        (si->base)->cache_alloc = (((si->base)->cache_alloc + 16U) * 3U) / 2U;
      }
      tmp___1 = st_mult(sizeof(*((si->base)->cache)), (size_t )(si->base)->cache_alloc);
      tmp___2 = xrealloc((void *)(si->base)->cache, tmp___1);
      (si->base)->cache = (struct cache_entry **)tmp___2;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  (si->base)->cache_nr = istate->cache_nr;
  (si->base)->ce_mem_pool = istate->ce_mem_pool;
  istate->ce_mem_pool = (struct mem_pool *)((void *)0);
  copy_array((void *)(si->base)->cache, (void const   *)istate->cache, (size_t )istate->cache_nr,
             sizeof(*((si->base)->cache)) + (sizeof(char [1]) - 1UL));
  mark_base_index_entries(si->base);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < (si->base)->cache_nr)) {
      goto while_break___0;
    }
    (*((si->base)->cache + i))->ce_flags &= (unsigned int )(~ (1 << 27));
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void mark_entry_for_delete(size_t pos , void *data )
{
  struct index_state *istate ;

  {
  istate = (struct index_state *)data;
  if (pos >= (size_t )istate->cache_nr) {
    die((char const   *)"position for delete %d exceeds base index size %d", (int )pos,
        istate->cache_nr);
  }
  (*(istate->cache + pos))->ce_flags |= (unsigned int )(1 << 17);
  ((istate->split_index)->nr_deletions) ++;
  return;
}
}
static void replace_entry(size_t pos , void *data )
{
  struct index_state *istate ;
  struct split_index *si ;
  struct cache_entry *dst ;
  struct cache_entry *src ;

  {
  istate = (struct index_state *)data;
  si = istate->split_index;
  if (pos >= (size_t )istate->cache_nr) {
    die((char const   *)"position for replacement %d exceeds base index size %d",
        (int )pos, istate->cache_nr);
  }
  if (si->nr_replacements >= si->saved_cache_nr) {
    die((char const   *)"too many replacements (%d vs %d)", si->nr_replacements, si->saved_cache_nr);
  }
  dst = *(istate->cache + pos);
  if (dst->ce_flags & (unsigned int )(1 << 17)) {
    die((char const   *)"entry %d is marked as both replaced and deleted", (int )pos);
  }
  src = *(si->saved_cache + si->nr_replacements);
  if (src->ce_namelen) {
    die((char const   *)"corrupt link extension, entry %d should have zero length name",
        (int )pos);
  }
  src->index = (unsigned int )(pos + 1UL);
  src->ce_flags |= (unsigned int )(1 << 27);
  src->ce_namelen = dst->ce_namelen;
  copy_cache_entry(dst, (struct cache_entry  const  *)src);
  discard_cache_entry(src);
  (si->nr_replacements) ++;
  return;
}
}
void merge_base_index(struct index_state *istate )
{
  struct split_index *si ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;

  {
  si = istate->split_index;
  mark_base_index_entries(si->base);
  si->saved_cache = istate->cache;
  si->saved_cache_nr = istate->cache_nr;
  istate->cache_nr = (si->base)->cache_nr;
  istate->cache = (struct cache_entry **)((void *)0);
  istate->cache_alloc = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (istate->cache_nr > istate->cache_alloc) {
      if (((istate->cache_alloc + 16U) * 3U) / 2U < istate->cache_nr) {
        istate->cache_alloc = istate->cache_nr;
      } else {
        istate->cache_alloc = ((istate->cache_alloc + 16U) * 3U) / 2U;
      }
      tmp = st_mult(sizeof(*(istate->cache)), (size_t )istate->cache_alloc);
      tmp___0 = xrealloc((void *)istate->cache, tmp);
      istate->cache = (struct cache_entry **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  copy_array((void *)istate->cache, (void const   *)(si->base)->cache, (size_t )istate->cache_nr,
             sizeof(*(istate->cache)) + (sizeof(char [1]) - 1UL));
  si->nr_deletions = 0U;
  si->nr_replacements = 0U;
  ewah_each_bit(si->replace_bitmap, & replace_entry, (void *)istate);
  ewah_each_bit(si->delete_bitmap, & mark_entry_for_delete, (void *)istate);
  if (si->nr_deletions) {
    remove_marked_cache_entries(istate, 0);
  }
  i = si->nr_replacements;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < si->saved_cache_nr)) {
      goto while_break___0;
    }
    if (! (*(si->saved_cache + i))->ce_namelen) {
      die((char const   *)"corrupt link extension, entry %d should have non-zero length name",
          i);
    }
    add_index_entry(istate, *(si->saved_cache + i), 37);
    *(si->saved_cache + i) = (struct cache_entry *)((void *)0);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  ewah_free(si->delete_bitmap);
  ewah_free(si->replace_bitmap);
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    free((void *)si->saved_cache);
    si->saved_cache = (struct cache_entry **)((void *)0);
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  si->delete_bitmap = (struct ewah_bitmap *)((void *)0);
  si->replace_bitmap = (struct ewah_bitmap *)((void *)0);
  si->saved_cache_nr = 0U;
  return;
}
}
static int compare_ce_content(struct cache_entry *a , struct cache_entry *b___0 )
{
  unsigned int ondisk_flags ;
  unsigned int ce_flags ;
  unsigned int base_flags ;
  int ret___67 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  ondisk_flags = (unsigned int )(45056 | ((1 << 29) | (1 << 30)));
  ce_flags = a->ce_flags;
  base_flags = b___0->ce_flags;
  a->ce_flags &= (unsigned int )ondisk_flags;
  b___0->ce_flags &= (unsigned int )ondisk_flags;
  tmp = memcmp((void const   *)(& a->ce_stat_data), (void const   *)(& b___0->ce_stat_data),
               (unsigned long )(& ((struct cache_entry *)0)->name) - (unsigned long )(& ((struct cache_entry *)0)->oid));
  if (tmp) {
    tmp___1 = 1;
  } else {
    tmp___0 = oideq((struct object_id  const  *)(& a->oid), (struct object_id  const  *)(& b___0->oid));
    if (tmp___0) {
      tmp___1 = 0;
    } else {
      tmp___1 = 1;
    }
  }
  ret___67 = tmp___1;
  a->ce_flags = ce_flags;
  b___0->ce_flags = base_flags;
  return (ret___67);
}
}
void prepare_to_write_split_index(struct index_state *istate )
{
  struct split_index *si ;
  struct split_index *tmp ;
  struct cache_entry **entries___1 ;
  struct cache_entry *ce ;
  int i ;
  int nr_entries ;
  int nr_alloc ;
  struct cache_entry *base ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  size_t tmp___8 ;
  void *tmp___9 ;
  int tmp___10 ;

  {
  tmp = init_split_index(istate);
  si = tmp;
  entries___1 = (struct cache_entry **)((void *)0);
  nr_entries = 0;
  nr_alloc = 0;
  si->delete_bitmap = ewah_new();
  si->replace_bitmap = ewah_new();
  if (si->base) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )i < istate->cache_nr)) {
        goto while_break;
      }
      ce = *(istate->cache + i);
      if (! ce->index) {
        goto __Cont;
      }
      if (ce->index > (si->base)->cache_nr) {
        BUG_fl((char const   *)"split-index.c", 261, (char const   *)"ce refers to a shared ce at %d, which is beyond the shared index size %d",
               ce->index, (si->base)->cache_nr);
      }
      ce->ce_flags |= (unsigned int )(1 << 26);
      base = *((si->base)->cache + (ce->index - 1U));
      if ((unsigned long )ce == (unsigned long )base) {
        if (! (ce->ce_flags & (unsigned int )(1 << 27))) {
          if (! (ce->ce_flags & (unsigned int )(1 << 18))) {
            tmp___0 = is_racy_timestamp((struct index_state  const  *)istate, (struct cache_entry  const  *)ce);
            if (tmp___0) {
              ce->ce_flags |= (unsigned int )(1 << 27);
            }
          }
        }
        goto __Cont;
      }
      if (ce->ce_namelen != base->ce_namelen) {
        ce->index = 0U;
        goto __Cont;
      } else {
        tmp___1 = strcmp((char const   *)(ce->name), (char const   *)(base->name));
        if (tmp___1) {
          ce->index = 0U;
          goto __Cont;
        }
      }
      if (! (ce->ce_flags & (unsigned int )(1 << 27))) {
        if (! (ce->ce_flags & (unsigned int )(1 << 18))) {
          tmp___3 = is_racy_timestamp((struct index_state  const  *)istate, (struct cache_entry  const  *)ce);
          if (tmp___3) {
            ce->ce_flags |= (unsigned int )(1 << 27);
          } else {
            goto _L;
          }
        } else {
          _L: /* CIL Label */
          tmp___2 = compare_ce_content(ce, base);
          if (tmp___2) {
            ce->ce_flags |= (unsigned int )(1 << 27);
          }
        }
      }
      discard_cache_entry(base);
      *((si->base)->cache + (ce->index - 1U)) = ce;
      __Cont: /* CIL Label */
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned int )i < (si->base)->cache_nr)) {
        goto while_break___0;
      }
      ce = *((si->base)->cache + i);
      if (ce->ce_flags & (unsigned int )(1 << 17)) {
        ewah_set(si->delete_bitmap, (size_t )i);
      } else
      if (! (ce->ce_flags & (unsigned int )(1 << 26))) {
        ewah_set(si->delete_bitmap, (size_t )i);
      } else
      if (ce->ce_flags & (unsigned int )(1 << 27)) {
        ewah_set(si->replace_bitmap, (size_t )i);
        ce->ce_flags |= (unsigned int )(1 << 28);
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          if (nr_entries + 1 > nr_alloc) {
            if (((nr_alloc + 16) * 3) / 2 < nr_entries + 1) {
              nr_alloc = nr_entries + 1;
            } else {
              nr_alloc = ((nr_alloc + 16) * 3) / 2;
            }
            tmp___4 = st_mult(sizeof(*entries___1), (size_t )nr_alloc);
            tmp___5 = xrealloc((void *)entries___1, tmp___4);
            entries___1 = (struct cache_entry **)tmp___5;
          }
          goto while_break___1;
        }
        while_break___1: /* CIL Label */ ;
        }
        tmp___6 = nr_entries;
        nr_entries ++;
        *(entries___1 + tmp___6) = ce;
      }
      tmp___7 = is_null_oid((struct object_id  const  *)(& ce->oid));
      if (tmp___7) {
        istate->drop_cache_tree = 1U;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break___2;
    }
    ce = *(istate->cache + i);
    if (! si->base) {
      goto _L___0;
    } else
    if (! ce->index) {
      _L___0: /* CIL Label */
      if (! (ce->ce_flags & (unsigned int )(1 << 17))) {
        assert(! (ce->ce_flags & (unsigned int )(1 << 28)));
        {
        while (1) {
          while_continue___3: /* CIL Label */ ;
          if (nr_entries + 1 > nr_alloc) {
            if (((nr_alloc + 16) * 3) / 2 < nr_entries + 1) {
              nr_alloc = nr_entries + 1;
            } else {
              nr_alloc = ((nr_alloc + 16) * 3) / 2;
            }
            tmp___8 = st_mult(sizeof(*entries___1), (size_t )nr_alloc);
            tmp___9 = xrealloc((void *)entries___1, tmp___8);
            entries___1 = (struct cache_entry **)tmp___9;
          }
          goto while_break___3;
        }
        while_break___3: /* CIL Label */ ;
        }
        tmp___10 = nr_entries;
        nr_entries ++;
        *(entries___1 + tmp___10) = ce;
      }
    }
    ce->ce_flags &= (unsigned int )(~ (1 << 26));
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  si->saved_cache = istate->cache;
  si->saved_cache_nr = istate->cache_nr;
  istate->cache = entries___1;
  istate->cache_nr = (unsigned int )nr_entries;
  return;
}
}
void finish_writing_split_index(struct index_state *istate )
{
  struct split_index *si ;
  struct split_index *tmp ;

  {
  tmp = init_split_index(istate);
  si = tmp;
  ewah_free(si->delete_bitmap);
  ewah_free(si->replace_bitmap);
  si->delete_bitmap = (struct ewah_bitmap *)((void *)0);
  si->replace_bitmap = (struct ewah_bitmap *)((void *)0);
  free((void *)istate->cache);
  istate->cache = si->saved_cache;
  istate->cache_nr = si->saved_cache_nr;
  return;
}
}
void discard_split_index(struct index_state *istate )
{
  struct split_index *si ;

  {
  si = istate->split_index;
  if (! si) {
    return;
  }
  istate->split_index = (struct split_index *)((void *)0);
  (si->refcount) --;
  if (si->refcount) {
    return;
  }
  if (si->base) {
    discard_index(si->base);
    free((void *)si->base);
  }
  free((void *)si);
  return;
}
}
void save_or_free_index_entry(struct index_state *istate , struct cache_entry *ce )
{


  {
  if (ce->index) {
    if (istate->split_index) {
      if ((istate->split_index)->base) {
        if (ce->index <= ((istate->split_index)->base)->cache_nr) {
          if ((unsigned long )ce == (unsigned long )*(((istate->split_index)->base)->cache + (ce->index - 1U))) {
            ce->ce_flags |= (unsigned int )(1 << 17);
          } else {
            discard_cache_entry(ce);
          }
        } else {
          discard_cache_entry(ce);
        }
      } else {
        discard_cache_entry(ce);
      }
    } else {
      discard_cache_entry(ce);
    }
  } else {
    discard_cache_entry(ce);
  }
  return;
}
}
void replace_index_entry_in_base(struct index_state *istate , struct cache_entry *old_entry ,
                                 struct cache_entry *new_entry )
{


  {
  if (old_entry->index) {
    if (istate->split_index) {
      if ((istate->split_index)->base) {
        if (old_entry->index <= ((istate->split_index)->base)->cache_nr) {
          new_entry->index = old_entry->index;
          if ((unsigned long )old_entry != (unsigned long )*(((istate->split_index)->base)->cache + (new_entry->index - 1U))) {
            discard_cache_entry(*(((istate->split_index)->base)->cache + (new_entry->index - 1U)));
          }
          *(((istate->split_index)->base)->cache + (new_entry->index - 1U)) = new_entry;
        }
      }
    }
  }
  return;
}
}
void add_split_index(struct index_state *istate )
{


  {
  if (! istate->split_index) {
    init_split_index(istate);
    istate->cache_changed |= (unsigned int )(1 << 6);
  }
  return;
}
}
void remove_split_index(struct index_state *istate )
{


  {
  if (istate->split_index) {
    if ((istate->split_index)->base) {
      mem_pool_combine(istate->ce_mem_pool, ((istate->split_index)->base)->ce_mem_pool);
      ((istate->split_index)->base)->cache_nr = 0U;
    }
    discard_split_index(istate);
    istate->cache_changed |= 1U;
  }
  return;
}
}
static void msort_with_tmp(void *b___0 , size_t n , size_t s___1 , int (*cmp___0)(void const   * ,
                                                                                  void const   * ) ,
                           char *t )
{
  char *tmp ;
  char *b1 ;
  char *b2 ;
  size_t n1 ;
  size_t n2 ;
  int tmp___0 ;

  {
  if (n <= 1UL) {
    return;
  }
  n1 = n / 2UL;
  n2 = n - n1;
  b1 = (char *)b___0;
  b2 = (char *)b___0 + n1 * s___1;
  msort_with_tmp((void *)b1, n1, s___1, cmp___0, t);
  msort_with_tmp((void *)b2, n2, s___1, cmp___0, t);
  tmp = t;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (n1 > 0UL) {
      if (! (n2 > 0UL)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___0 = (*cmp___0)((void const   *)b1, (void const   *)b2);
    if (tmp___0 <= 0) {
      memcpy((void *)tmp, (void const   *)b1, s___1);
      tmp += s___1;
      b1 += s___1;
      n1 --;
    } else {
      memcpy((void *)tmp, (void const   *)b2, s___1);
      tmp += s___1;
      b2 += s___1;
      n2 --;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (n1 > 0UL) {
    memcpy((void *)tmp, (void const   *)b1, n1 * s___1);
  }
  memcpy(b___0, (void const   *)t, (n - n2) * s___1);
  return;
}
}
void git_stable_qsort(void *b___0 , size_t n , size_t s___1 , int (*cmp___0)(void const   * ,
                                                                             void const   * ) )
{
  size_t size ;
  size_t tmp ;
  char buf___19[1024] ;
  char *tmp___0 ;
  void *tmp___1 ;

  {
  tmp = st_mult(n, s___1);
  size = (size_t )tmp;
  if (size < (size_t )sizeof(buf___19)) {
    msort_with_tmp(b___0, n, s___1, cmp___0, buf___19);
  } else {
    tmp___1 = xmalloc((size_t )size);
    tmp___0 = (char *)tmp___1;
    msort_with_tmp(b___0, n, s___1, cmp___0, tmp___0);
    free((void *)tmp___0);
  }
  return;
}
}
char strbuf_slopbuf[1]  ;
int starts_with(char const   *str , char const   *prefix___1 )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *prefix___1) {
      return (1);
    } else
    if ((int const   )*str != (int const   )*prefix___1) {
      return (0);
    }
    str ++;
    prefix___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
}
}
int istarts_with(char const   *str , char const   *prefix___1 )
{
  int tmp ;
  int tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *prefix___1) {
      return (1);
    } else {
      tmp = sane_case((int )((unsigned char )*str), 0x20);
      tmp___0 = sane_case((int )((unsigned char )*prefix___1), 0x20);
      if (tmp != tmp___0) {
        return (0);
      }
    }
    str ++;
    prefix___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
}
}
int skip_to_optional_arg_default(char const   *str , char const   *prefix___1 , char const   **arg ,
                                 char const   *def___0 )
{
  char const   *p___0 ;
  int tmp ;

  {
  tmp = skip_prefix(str, prefix___1, & p___0);
  if (! tmp) {
    return (0);
  }
  if (! *p___0) {
    if (arg) {
      *arg = def___0;
    }
    return (1);
  }
  if ((int const   )*p___0 != 61) {
    return (0);
  }
  if (arg) {
    *arg = p___0 + 1;
  }
  return (1);
}
}
void strbuf_init(struct strbuf *sb___6 , size_t hint )
{
  struct strbuf blank___1 ;

  {
  blank___1.alloc = 0UL;
  blank___1.len = 0UL;
  blank___1.buf = strbuf_slopbuf;
  memcpy((void *)sb___6, (void const   *)(& blank___1), sizeof(*sb___6));
  if (hint) {
    strbuf_grow(sb___6, hint);
  }
  return;
}
}
void strbuf_release(struct strbuf *sb___6 )
{


  {
  if (sb___6->alloc) {
    free((void *)sb___6->buf);
    strbuf_init(sb___6, (size_t )0);
  }
  return;
}
}
char *strbuf_detach(struct strbuf *sb___6 , size_t *sz )
{
  char *res ;

  {
  strbuf_grow(sb___6, (size_t )0);
  res = sb___6->buf;
  if (sz) {
    *sz = sb___6->len;
  }
  strbuf_init(sb___6, (size_t )0);
  return (res);
}
}
void strbuf_attach(struct strbuf *sb___6 , void *buf___19 , size_t len___0 , size_t alloc___0 )
{


  {
  strbuf_release(sb___6);
  sb___6->buf = (char *)buf___19;
  sb___6->len = len___0;
  sb___6->alloc = alloc___0;
  strbuf_grow(sb___6, (size_t )0);
  *(sb___6->buf + sb___6->len) = (char )'\000';
  return;
}
}
void strbuf_grow(struct strbuf *sb___6 , size_t extra___2 )
{
  int new_buf ;
  size_t tmp ;
  void *tmp___0 ;

  {
  new_buf = ! sb___6->alloc;
  if (1UL > (18446744073709551615UL >> (8UL * sizeof(uintmax_t ) - 8UL * sizeof(extra___2))) - extra___2) {
    die((char const   *)"you want to use way too much memory");
  } else
  if (extra___2 + 1UL > (18446744073709551615UL >> (8UL * sizeof(uintmax_t ) - 8UL * sizeof(sb___6->len))) - sb___6->len) {
    die((char const   *)"you want to use way too much memory");
  }
  if (new_buf) {
    sb___6->buf = (char *)((void *)0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((sb___6->len + extra___2) + 1UL > sb___6->alloc) {
      if (((sb___6->alloc + 16UL) * 3UL) / 2UL < (sb___6->len + extra___2) + 1UL) {
        sb___6->alloc = (sb___6->len + extra___2) + 1UL;
      } else {
        sb___6->alloc = ((sb___6->alloc + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*(sb___6->buf)), sb___6->alloc);
      tmp___0 = xrealloc((void *)sb___6->buf, tmp);
      sb___6->buf = (char *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (new_buf) {
    *(sb___6->buf + 0) = (char )'\000';
  }
  return;
}
}
void strbuf_trim(struct strbuf *sb___6 )
{


  {
  strbuf_rtrim(sb___6);
  strbuf_ltrim(sb___6);
  return;
}
}
void strbuf_rtrim(struct strbuf *sb___6 )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (sb___6->len > 0UL) {
      if (! (((int const   )sane_ctype[(unsigned char )*(sb___6->buf + (sb___6->len - 1UL))] & 1) != 0)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    (sb___6->len) --;
  }
  while_break: /* CIL Label */ ;
  }
  *(sb___6->buf + sb___6->len) = (char )'\000';
  return;
}
}
void strbuf_trim_trailing_dir_sep(struct strbuf *sb___6 )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (sb___6->len > 0UL) {
      tmp = git_is_dir_sep((int )((unsigned char )*(sb___6->buf + (sb___6->len - 1UL))));
      if (! tmp) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    (sb___6->len) --;
  }
  while_break: /* CIL Label */ ;
  }
  *(sb___6->buf + sb___6->len) = (char )'\000';
  return;
}
}
void strbuf_trim_trailing_newline(struct strbuf *sb___6 )
{


  {
  if (sb___6->len > 0UL) {
    if ((int )*(sb___6->buf + (sb___6->len - 1UL)) == 10) {
      (sb___6->len) --;
      if (sb___6->len > 0UL) {
        if ((int )*(sb___6->buf + (sb___6->len - 1UL)) == 13) {
          (sb___6->len) --;
        }
      }
      *(sb___6->buf + sb___6->len) = (char )'\000';
    }
  }
  return;
}
}
void strbuf_ltrim(struct strbuf *sb___6 )
{
  char *b___0 ;

  {
  b___0 = sb___6->buf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (sb___6->len > 0UL) {
      if (! (((int const   )sane_ctype[(unsigned char )*b___0] & 1) != 0)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    b___0 ++;
    (sb___6->len) --;
  }
  while_break: /* CIL Label */ ;
  }
  memmove((void *)sb___6->buf, (void const   *)b___0, sb___6->len);
  *(sb___6->buf + sb___6->len) = (char )'\000';
  return;
}
}
int strbuf_reencode(struct strbuf *sb___6 , char const   *from___0 , char const   *to )
{
  char *out ;
  size_t len___0 ;
  int tmp ;

  {
  tmp = same_encoding(from___0, to);
  if (tmp) {
    return (0);
  }
  out = reencode_string_len((char const   *)sb___6->buf, sb___6->len, to, from___0,
                            & len___0);
  if (! out) {
    return (-1);
  }
  strbuf_attach(sb___6, (void *)out, len___0, len___0);
  return (0);
}
}
void strbuf_tolower(struct strbuf *sb___6 )
{
  char *p___0 ;
  char *end ;
  int tmp ;

  {
  p___0 = sb___6->buf;
  end = sb___6->buf + sb___6->len;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )p___0 < (unsigned long )end)) {
      goto while_break;
    }
    tmp = sane_case((int )((unsigned char )*p___0), 0x20);
    *p___0 = (char )tmp;
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
struct strbuf **strbuf_split_buf(char const   *str , size_t slen , int terminator ,
                                 int max )
{
  struct strbuf **ret___67 ;
  size_t nr___0 ;
  size_t alloc___0 ;
  struct strbuf *t ;
  int len___0 ;
  char const   *end ;
  void *tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  size_t tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;

  {
  ret___67 = (struct strbuf **)((void *)0);
  nr___0 = (size_t )0;
  alloc___0 = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! slen) {
      goto while_break;
    }
    len___0 = (int )slen;
    if (max <= 0) {
      goto _L;
    } else
    if (nr___0 + 1UL < (size_t )max) {
      _L: /* CIL Label */
      tmp = memchr((void const   *)str, terminator, slen);
      end = (char const   *)tmp;
      if (end) {
        len___0 = (int )((end - str) + 1L);
      }
    }
    tmp___0 = xmalloc(sizeof(struct strbuf ));
    t = (struct strbuf *)tmp___0;
    strbuf_init(t, (size_t )len___0);
    strbuf_add(t, (void const   *)str, (size_t )len___0);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (nr___0 + 2UL > alloc___0) {
        if (((alloc___0 + 16UL) * 3UL) / 2UL < nr___0 + 2UL) {
          alloc___0 = nr___0 + 2UL;
        } else {
          alloc___0 = ((alloc___0 + 16UL) * 3UL) / 2UL;
        }
        tmp___1 = st_mult(sizeof(*ret___67), alloc___0);
        tmp___2 = xrealloc((void *)ret___67, tmp___1);
        ret___67 = (struct strbuf **)tmp___2;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___3 = nr___0;
    nr___0 ++;
    *(ret___67 + tmp___3) = t;
    str += len___0;
    slen -= (size_t )len___0;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (nr___0 + 1UL > alloc___0) {
      if (((alloc___0 + 16UL) * 3UL) / 2UL < nr___0 + 1UL) {
        alloc___0 = nr___0 + 1UL;
      } else {
        alloc___0 = ((alloc___0 + 16UL) * 3UL) / 2UL;
      }
      tmp___4 = st_mult(sizeof(*ret___67), alloc___0);
      tmp___5 = xrealloc((void *)ret___67, tmp___4);
      ret___67 = (struct strbuf **)tmp___5;
    }
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  *(ret___67 + nr___0) = (struct strbuf *)((void *)0);
  return (ret___67);
}
}
void strbuf_add_separated_string_list(struct strbuf *str , char const   *sep , struct string_list *slist )
{
  struct string_list_item *item___0 ;
  int sep_needed ;

  {
  sep_needed = 0;
  item___0 = slist->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(slist->items + slist->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if (sep_needed) {
      strbuf_addstr(str, sep);
    }
    strbuf_addstr(str, (char const   *)item___0->string);
    sep_needed = 1;
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void strbuf_list_free(struct strbuf **sbs )
{
  struct strbuf **s___1 ;
  struct strbuf **tmp ;

  {
  s___1 = sbs;
  if (! s___1) {
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *s___1) {
      goto while_break;
    }
    strbuf_release(*s___1);
    tmp = s___1;
    s___1 ++;
    free((void *)*tmp);
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)sbs);
  return;
}
}
int strbuf_cmp(struct strbuf  const  *a , struct strbuf  const  *b___0 )
{
  size_t len___0 ;
  size_t tmp ;
  int cmp___0 ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (a->len < b___0->len) {
    tmp = a->len;
  } else {
    tmp = b___0->len;
  }
  len___0 = (size_t )tmp;
  tmp___0 = memcmp((void const   *)a->buf, (void const   *)b___0->buf, len___0);
  cmp___0 = tmp___0;
  if (cmp___0) {
    return (cmp___0);
  }
  if (a->len < b___0->len) {
    tmp___1 = -1;
  } else {
    tmp___1 = a->len != b___0->len;
  }
  return (tmp___1);
}
}
void strbuf_splice(struct strbuf *sb___6 , size_t pos , size_t len___0 , void const   *data ,
                   size_t dlen )
{


  {
  if (len___0 > (18446744073709551615UL >> (8UL * sizeof(uintmax_t ) - 8UL * sizeof(pos))) - pos) {
    die((char const   *)"you want to use way too much memory");
  }
  if (pos > sb___6->len) {
    die((char const   *)"`pos\' is too far after the end of the buffer");
  }
  if (pos + len___0 > sb___6->len) {
    die((char const   *)"`pos + len\' is too far after the end of the buffer");
  }
  if (dlen >= len___0) {
    strbuf_grow(sb___6, dlen - len___0);
  }
  memmove((void *)((sb___6->buf + pos) + dlen), (void const   *)((sb___6->buf + pos) + len___0),
          (sb___6->len - pos) - len___0);
  memcpy((void *)(sb___6->buf + pos), data, dlen);
  strbuf_setlen(sb___6, (sb___6->len + dlen) - len___0);
  return;
}
}
void strbuf_insert(struct strbuf *sb___6 , size_t pos , void const   *data , size_t len___0 )
{


  {
  strbuf_splice(sb___6, pos, (size_t )0, data, len___0);
  return;
}
}
void strbuf_vinsertf(struct strbuf *sb___6 , size_t pos , char const   *fmt , va_list ap )
{
  int len___0 ;
  int len2 ;
  char save ;
  va_list cp ;

  {
  if (pos > sb___6->len) {
    die((char const   *)"`pos\' is too far after the end of the buffer");
  }
  __builtin_va_copy(cp, ap);
  len___0 = vsnprintf(sb___6->buf + sb___6->len, (size_t )0, fmt, cp);
  __builtin_va_end(cp);
  if (len___0 < 0) {
    BUG_fl((char const   *)"strbuf.c", 266, (char const   *)"your vsnprintf is broken (returned %d)",
           len___0);
  }
  if (! len___0) {
    return;
  }
  if ((unsigned long )len___0 > (18446744073709551615UL >> (8UL * sizeof(uintmax_t ) - 8UL * sizeof(sb___6->len))) - sb___6->len) {
    die((char const   *)"you want to use way too much memory");
  }
  strbuf_grow(sb___6, (size_t )len___0);
  memmove((void *)((sb___6->buf + pos) + len___0), (void const   *)(sb___6->buf + pos),
          sb___6->len - pos);
  save = *(sb___6->buf + (pos + (size_t )len___0));
  len2 = vsnprintf(sb___6->buf + pos, (size_t )(len___0 + 1), fmt, ap);
  *(sb___6->buf + (pos + (size_t )len___0)) = save;
  if (len2 != len___0) {
    BUG_fl((char const   *)"strbuf.c", 278, (char const   *)"your vsnprintf is broken (returns inconsistent lengths)");
  }
  strbuf_setlen(sb___6, sb___6->len + (size_t )len___0);
  return;
}
}
void ( /* format attribute */  strbuf_insertf)(struct strbuf *sb___6 , size_t pos ,
                                               char const   *fmt  , ...)
{
  va_list ap ;

  {
  __builtin_va_start(ap, fmt);
  strbuf_vinsertf(sb___6, pos, fmt, ap);
  __builtin_va_end(ap);
  return;
}
}
void strbuf_remove(struct strbuf *sb___6 , size_t pos , size_t len___0 )
{


  {
  strbuf_splice(sb___6, pos, len___0, (void const   *)"", (size_t )0);
  return;
}
}
void strbuf_add(struct strbuf *sb___6 , void const   *data , size_t len___0 )
{


  {
  strbuf_grow(sb___6, len___0);
  memcpy((void *)(sb___6->buf + sb___6->len), data, len___0);
  strbuf_setlen(sb___6, sb___6->len + len___0);
  return;
}
}
void strbuf_addbuf(struct strbuf *sb___6 , struct strbuf  const  *sb2 )
{


  {
  strbuf_grow(sb___6, (size_t )sb2->len);
  memcpy((void *)(sb___6->buf + sb___6->len), (void const   *)sb2->buf, (size_t )sb2->len);
  strbuf_setlen(sb___6, sb___6->len + (size_t )sb2->len);
  return;
}
}
char const   *strbuf_join_argv(struct strbuf *buf___19 , int argc , char const   **argv___0 ,
                               char delim___0 )
{


  {
  if (! argc) {
    return ((char const   *)buf___19->buf);
  }
  strbuf_addstr(buf___19, *argv___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    argc --;
    if (! argc) {
      goto while_break;
    }
    strbuf_addch(buf___19, (int )delim___0);
    argv___0 ++;
    strbuf_addstr(buf___19, *argv___0);
  }
  while_break: /* CIL Label */ ;
  }
  return ((char const   *)buf___19->buf);
}
}
void strbuf_addchars(struct strbuf *sb___6 , int c___0 , size_t n )
{


  {
  strbuf_grow(sb___6, n);
  memset((void *)(sb___6->buf + sb___6->len), c___0, n);
  strbuf_setlen(sb___6, sb___6->len + n);
  return;
}
}
void ( /* format attribute */  strbuf_addf)(struct strbuf *sb___6 , char const   *fmt
                                            , ...)
{
  va_list ap ;

  {
  __builtin_va_start(ap, fmt);
  strbuf_vaddf(sb___6, fmt, ap);
  __builtin_va_end(ap);
  return;
}
}
static void add_lines(struct strbuf *out , char const   *prefix1___0 , char const   *prefix2___0 ,
                      char const   *buf___19 , size_t size )
{
  char const   *prefix___1 ;
  char const   *next___2 ;
  void *tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! size) {
      goto while_break;
    }
    tmp = memchr((void const   *)buf___19, '\n', size);
    next___2 = (char const   *)tmp;
    if (next___2) {
      next___2 ++;
    } else {
      next___2 = buf___19 + size;
    }
    if (prefix2___0) {
      if ((int const   )*(buf___19 + 0) == 10) {
        prefix___1 = prefix2___0;
      } else
      if ((int const   )*(buf___19 + 0) == 9) {
        prefix___1 = prefix2___0;
      } else {
        prefix___1 = prefix1___0;
      }
    } else {
      prefix___1 = prefix1___0;
    }
    strbuf_addstr(out, prefix___1);
    strbuf_add(out, (void const   *)buf___19, (size_t )(next___2 - buf___19));
    size -= (size_t )(next___2 - buf___19);
    buf___19 = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_complete_line(out);
  return;
}
}
static char prefix1[3]  ;
static char prefix2[2]  ;
void strbuf_add_commented_lines(struct strbuf *out , char const   *buf___19 , size_t size )
{


  {
  if ((int )prefix1[0] != (int )comment_line_char) {
    xsnprintf(prefix1, sizeof(prefix1), (char const   *)"%c ", (int )comment_line_char);
    xsnprintf(prefix2, sizeof(prefix2), (char const   *)"%c", (int )comment_line_char);
  }
  add_lines(out, (char const   *)(prefix1), (char const   *)(prefix2), buf___19, size);
  return;
}
}
void ( /* format attribute */  strbuf_commented_addf)(struct strbuf *sb___6 , char const   *fmt
                                                      , ...)
{
  va_list params ;
  struct strbuf buf___19 ;
  int incomplete_line ;
  int tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (sb___6->len) {
    if ((int )*(sb___6->buf + (sb___6->len - 1UL)) != 10) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  incomplete_line = tmp;
  __builtin_va_start(params, fmt);
  strbuf_vaddf(& buf___19, fmt, params);
  __builtin_va_end(params);
  strbuf_add_commented_lines(sb___6, (char const   *)buf___19.buf, buf___19.len);
  if (incomplete_line) {
    (sb___6->len) --;
    *(sb___6->buf + sb___6->len) = (char )'\000';
  }
  strbuf_release(& buf___19);
  return;
}
}
void ( /* format attribute */  strbuf_vaddf)(struct strbuf *sb___6 , char const   *fmt ,
                                             va_list ap )
{
  int len___0 ;
  va_list cp ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;

  {
  tmp = strbuf_avail((struct strbuf  const  *)sb___6);
  if (! tmp) {
    strbuf_grow(sb___6, (size_t )64);
  }
  __builtin_va_copy(cp, ap);
  len___0 = vsnprintf(sb___6->buf + sb___6->len, sb___6->alloc - sb___6->len, fmt,
                      cp);
  __builtin_va_end(cp);
  if (len___0 < 0) {
    BUG_fl((char const   *)"strbuf.c", 399, (char const   *)"your vsnprintf is broken (returned %d)",
           len___0);
  }
  tmp___1 = strbuf_avail((struct strbuf  const  *)sb___6);
  if ((size_t )len___0 > tmp___1) {
    strbuf_grow(sb___6, (size_t )len___0);
    len___0 = vsnprintf(sb___6->buf + sb___6->len, sb___6->alloc - sb___6->len, fmt,
                        ap);
    tmp___0 = strbuf_avail((struct strbuf  const  *)sb___6);
    if ((size_t )len___0 > tmp___0) {
      BUG_fl((char const   *)"strbuf.c", 404, (char const   *)"your vsnprintf is broken (insatiable)");
    }
  }
  strbuf_setlen(sb___6, sb___6->len + (size_t )len___0);
  return;
}
}
void strbuf_expand(struct strbuf *sb___6 , char const   *format___0 , size_t (*fn)(struct strbuf *sb ,
                                                                                   char const   *placeholder ,
                                                                                   void *context ) ,
                   void *context___0 )
{
  char const   *percent ;
  size_t consumed ;
  char *tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = strchrnul(format___0, '%');
    percent = (char const   *)tmp;
    strbuf_add(sb___6, (void const   *)format___0, (size_t )(percent - format___0));
    if (! *percent) {
      goto while_break;
    }
    format___0 = percent + 1;
    if ((int const   )*format___0 == 37) {
      strbuf_addch(sb___6, '%');
      format___0 ++;
      goto __Cont;
    }
    consumed = (*fn)(sb___6, format___0, context___0);
    if (consumed) {
      format___0 += consumed;
    } else {
      strbuf_addch(sb___6, '%');
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
size_t strbuf_expand_literal_cb(struct strbuf *sb___6 , char const   *placeholder ,
                                void *context___0 )
{
  int ch___0 ;

  {
  {
  if ((int const   )*(placeholder + 0) == 110) {
    goto case_110;
  }
  if ((int const   )*(placeholder + 0) == 120) {
    goto case_120;
  }
  goto switch_break;
  case_110: /* CIL Label */
  strbuf_addch(sb___6, '\n');
  return ((size_t )1);
  case_120: /* CIL Label */
  ch___0 = hex2chr(placeholder + 1);
  if (ch___0 < 0) {
    return ((size_t )0);
  }
  strbuf_addch(sb___6, ch___0);
  return ((size_t )3);
  switch_break: /* CIL Label */ ;
  }
  return ((size_t )0);
}
}
size_t strbuf_expand_dict_cb(struct strbuf *sb___6 , char const   *placeholder , void *context___0 )
{
  struct strbuf_expand_dict_entry *e ;
  size_t len___0 ;
  int tmp ;

  {
  e = (struct strbuf_expand_dict_entry *)context___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (e->placeholder) {
      len___0 = strlen(e->placeholder);
      if (! len___0) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = strncmp(placeholder, e->placeholder, len___0);
    if (! tmp) {
      if (e->value) {
        strbuf_addstr(sb___6, e->value);
      }
      return (len___0);
    }
    e ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((size_t )0);
}
}
void strbuf_addbuf_percentquote(struct strbuf *dst , struct strbuf  const  *src )
{
  size_t i ;
  size_t len___0 ;

  {
  len___0 = (size_t )src->len;
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < len___0)) {
      goto while_break;
    }
    if ((int )*(src->buf + i) == 37) {
      strbuf_addch(dst, '%');
    }
    strbuf_addch(dst, (int )*(src->buf + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void strbuf_add_percentencode(struct strbuf *dst , char const   *src , int flags___0 )
{
  size_t i ;
  size_t len___0 ;
  size_t tmp ;
  unsigned char ch___0 ;
  char *tmp___0 ;

  {
  tmp = strlen(src);
  len___0 = tmp;
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < len___0)) {
      goto while_break;
    }
    ch___0 = (unsigned char )*(src + i);
    if ((int )ch___0 <= 0x1F) {
      strbuf_addf(dst, (char const   *)"%%%02X", (int )ch___0);
    } else
    if ((int )ch___0 >= 0x7F) {
      strbuf_addf(dst, (char const   *)"%%%02X", (int )ch___0);
    } else
    if ((int )ch___0 == 47) {
      if (flags___0 & 1) {
        strbuf_addf(dst, (char const   *)"%%%02X", (int )ch___0);
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      tmp___0 = strchr((char const   *)" <>\"%{}|\\^`:?#[]@!$&\'()*+,;=", (int )ch___0);
      if (tmp___0) {
        strbuf_addf(dst, (char const   *)"%%%02X", (int )ch___0);
      } else {
        strbuf_addch(dst, (int )ch___0);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
size_t strbuf_fread(struct strbuf *sb___6 , size_t size , FILE *f )
{
  size_t res ;
  size_t oldalloc ;

  {
  oldalloc = sb___6->alloc;
  strbuf_grow(sb___6, size);
  res = fread((void *)(sb___6->buf + sb___6->len), (size_t )1, size, f);
  if (res > 0UL) {
    strbuf_setlen(sb___6, sb___6->len + res);
  } else
  if (oldalloc == 0UL) {
    strbuf_release(sb___6);
  }
  return (res);
}
}
ssize_t strbuf_read(struct strbuf *sb___6 , int fd , size_t hint )
{
  size_t oldlen ;
  size_t oldalloc ;
  size_t tmp ;
  ssize_t want ;
  ssize_t got ;
  ssize_t tmp___0 ;

  {
  oldlen = sb___6->len;
  oldalloc = sb___6->alloc;
  if (hint) {
    tmp = hint;
  } else {
    tmp = (size_t )8192;
  }
  strbuf_grow(sb___6, tmp);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    want = (ssize_t )((sb___6->alloc - sb___6->len) - 1UL);
    tmp___0 = read_in_full(fd, (void *)(sb___6->buf + sb___6->len), (size_t )want);
    got = tmp___0;
    if (got < 0L) {
      if (oldalloc == 0UL) {
        strbuf_release(sb___6);
      } else {
        strbuf_setlen(sb___6, oldlen);
      }
      return ((ssize_t )-1);
    }
    sb___6->len += (size_t )got;
    if (got < want) {
      goto while_break;
    }
    strbuf_grow(sb___6, (size_t )8192);
  }
  while_break: /* CIL Label */ ;
  }
  *(sb___6->buf + sb___6->len) = (char )'\000';
  return ((ssize_t )(sb___6->len - oldlen));
}
}
ssize_t strbuf_read_once(struct strbuf *sb___6 , int fd , size_t hint )
{
  size_t oldalloc ;
  ssize_t cnt ;
  size_t tmp ;

  {
  oldalloc = sb___6->alloc;
  if (hint) {
    tmp = hint;
  } else {
    tmp = (size_t )8192;
  }
  strbuf_grow(sb___6, tmp);
  cnt = xread(fd, (void *)(sb___6->buf + sb___6->len), (sb___6->alloc - sb___6->len) - 1UL);
  if (cnt > 0L) {
    strbuf_setlen(sb___6, sb___6->len + (size_t )cnt);
  } else
  if (oldalloc == 0UL) {
    strbuf_release(sb___6);
  }
  return (cnt);
}
}
ssize_t strbuf_write(struct strbuf *sb___6 , FILE *f )
{
  size_t tmp ;
  size_t tmp___0 ;

  {
  if (sb___6->len) {
    tmp = fwrite((void const   * __restrict  )sb___6->buf, (size_t )1, sb___6->len,
                 (FILE * __restrict  )f);
    tmp___0 = tmp;
  } else {
    tmp___0 = (size_t )0;
  }
  return ((ssize_t )tmp___0);
}
}
int strbuf_readlink(struct strbuf *sb___6 , char const   *path___6 , size_t hint )
{
  size_t oldalloc ;
  ssize_t len___0 ;
  int *tmp ;

  {
  oldalloc = sb___6->alloc;
  if (hint < 32UL) {
    hint = (size_t )32;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (hint < 8192UL)) {
      goto while_break;
    }
    strbuf_grow(sb___6, hint);
    len___0 = readlink(path___6, sb___6->buf, hint);
    if (len___0 < 0L) {
      tmp = __errno_location();
      if (*tmp != 34) {
        goto while_break;
      }
    } else
    if ((size_t )len___0 < hint) {
      strbuf_setlen(sb___6, (size_t )len___0);
      return (0);
    }
    hint *= 2UL;
  }
  while_break: /* CIL Label */ ;
  }
  if (oldalloc == 0UL) {
    strbuf_release(sb___6);
  }
  return (-1);
}
}
int strbuf_getcwd(struct strbuf *sb___6 )
{
  size_t oldalloc ;
  size_t guessed_len ;
  size_t tmp ;
  char *tmp___0 ;
  int *tmp___1 ;
  int *tmp___2 ;

  {
  oldalloc = sb___6->alloc;
  guessed_len = (size_t )128;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    strbuf_grow(sb___6, guessed_len);
    tmp___0 = getcwd(sb___6->buf, sb___6->alloc);
    if (tmp___0) {
      tmp = strlen((char const   *)sb___6->buf);
      strbuf_setlen(sb___6, tmp);
      return (0);
    }
    tmp___1 = __errno_location();
    if (*tmp___1 == 13) {
      if (guessed_len < 4096UL) {
        goto __Cont;
      }
    }
    tmp___2 = __errno_location();
    if (*tmp___2 != 34) {
      goto while_break;
    }
    __Cont: /* CIL Label */
    guessed_len *= 2UL;
  }
  while_break: /* CIL Label */ ;
  }
  if (oldalloc == 0UL) {
    strbuf_release(sb___6);
  } else {
    strbuf_setlen(sb___6, (size_t )0);
  }
  return (-1);
}
}
int strbuf_getwholeline(struct strbuf *sb___6 , FILE *fp , int term___1 )
{
  ssize_t r ;
  int tmp ;
  int *tmp___0 ;
  int *tmp___1 ;

  {
  tmp = feof(fp);
  if (tmp) {
    return (-1);
  }
  strbuf_setlen(sb___6, (size_t )0);
  if (! sb___6->alloc) {
    sb___6->buf = (char *)((void *)0);
  }
  tmp___0 = __errno_location();
  *tmp___0 = 0;
  r = getdelim((char ** __restrict  )(& sb___6->buf), (size_t * __restrict  )(& sb___6->alloc),
               term___1, (FILE * __restrict  )fp);
  if (r > 0L) {
    sb___6->len = (size_t )r;
    return (0);
  }
  assert(r == -1L);
  tmp___1 = __errno_location();
  if (*tmp___1 == 12) {
    die((char const   *)"Out of memory, getdelim failed");
  }
  if (! sb___6->buf) {
    strbuf_init(sb___6, (size_t )0);
  } else {
    strbuf_setlen(sb___6, (size_t )0);
  }
  return (-1);
}
}
int strbuf_appendwholeline(struct strbuf *sb___6 , FILE *fp , int term___1 )
{
  struct strbuf line___0 ;
  int tmp ;

  {
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  tmp = strbuf_getwholeline(& line___0, fp, term___1);
  if (tmp) {
    return (-1);
  }
  strbuf_addbuf(sb___6, (struct strbuf  const  *)(& line___0));
  strbuf_release(& line___0);
  return (0);
}
}
static int strbuf_getdelim(struct strbuf *sb___6 , FILE *fp , int term___1 )
{
  int tmp ;

  {
  tmp = strbuf_getwholeline(sb___6, fp, term___1);
  if (tmp) {
    return (-1);
  }
  if ((int )*(sb___6->buf + (sb___6->len - 1UL)) == term___1) {
    strbuf_setlen(sb___6, sb___6->len - 1UL);
  }
  return (0);
}
}
int strbuf_getline(struct strbuf *sb___6 , FILE *fp )
{
  int tmp ;

  {
  tmp = strbuf_getwholeline(sb___6, fp, '\n');
  if (tmp) {
    return (-1);
  }
  if ((int )*(sb___6->buf + (sb___6->len - 1UL)) == 10) {
    strbuf_setlen(sb___6, sb___6->len - 1UL);
    if (sb___6->len) {
      if ((int )*(sb___6->buf + (sb___6->len - 1UL)) == 13) {
        strbuf_setlen(sb___6, sb___6->len - 1UL);
      }
    }
  }
  return (0);
}
}
int strbuf_getline_lf(struct strbuf *sb___6 , FILE *fp )
{
  int tmp ;

  {
  tmp = strbuf_getdelim(sb___6, fp, '\n');
  return (tmp);
}
}
int strbuf_getline_nul(struct strbuf *sb___6 , FILE *fp )
{
  int tmp ;

  {
  tmp = strbuf_getdelim(sb___6, fp, '\000');
  return (tmp);
}
}
int strbuf_getwholeline_fd(struct strbuf *sb___6 , int fd , int term___1 )
{
  char ch___0 ;
  ssize_t len___0 ;
  ssize_t tmp ;

  {
  strbuf_setlen(sb___6, (size_t )0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = xread(fd, (void *)(& ch___0), (size_t )1);
    len___0 = tmp;
    if (len___0 <= 0L) {
      return (-1);
    }
    strbuf_addch(sb___6, (int )ch___0);
    if ((int )ch___0 == term___1) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
ssize_t strbuf_read_file(struct strbuf *sb___6 , char const   *path___6 , size_t hint )
{
  int fd ;
  ssize_t len___0 ;
  int saved_errno ;
  int *tmp ;
  int *tmp___0 ;

  {
  fd = open(path___6, 00);
  if (fd < 0) {
    return ((ssize_t )-1);
  }
  len___0 = strbuf_read(sb___6, fd, hint);
  tmp = __errno_location();
  saved_errno = *tmp;
  close(fd);
  if (len___0 < 0L) {
    tmp___0 = __errno_location();
    *tmp___0 = saved_errno;
    return ((ssize_t )-1);
  }
  return (len___0);
}
}
void strbuf_add_lines(struct strbuf *out , char const   *prefix___1 , char const   *buf___19 ,
                      size_t size )
{


  {
  add_lines(out, prefix___1, (char const   *)((void *)0), buf___19, size);
  return;
}
}
void strbuf_addstr_xml_quoted(struct strbuf *buf___19 , char const   *s___1 )
{
  size_t len___0 ;
  size_t tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *s___1) {
      goto while_break;
    }
    tmp = strcspn(s___1, (char const   *)"\"<>&");
    len___0 = tmp;
    strbuf_add(buf___19, (void const   *)s___1, len___0);
    s___1 += len___0;
    {
    if ((int const   )*s___1 == 34) {
      goto case_34;
    }
    if ((int const   )*s___1 == 60) {
      goto case_60;
    }
    if ((int const   )*s___1 == 62) {
      goto case_62;
    }
    if ((int const   )*s___1 == 38) {
      goto case_38;
    }
    if ((int const   )*s___1 == 0) {
      goto case_0;
    }
    goto switch_break;
    case_34: /* CIL Label */
    strbuf_addstr(buf___19, (char const   *)"&quot;");
    goto switch_break;
    case_60: /* CIL Label */
    strbuf_addstr(buf___19, (char const   *)"&lt;");
    goto switch_break;
    case_62: /* CIL Label */
    strbuf_addstr(buf___19, (char const   *)"&gt;");
    goto switch_break;
    case_38: /* CIL Label */
    strbuf_addstr(buf___19, (char const   *)"&amp;");
    goto switch_break;
    case_0: /* CIL Label */
    return;
    switch_break: /* CIL Label */ ;
    }
    s___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int is_rfc3986_reserved_or_unreserved(char ch___0 )
{
  int tmp ;

  {
  tmp = is_rfc3986_unreserved(ch___0);
  if (tmp) {
    return (1);
  }
  {
  if ((int )ch___0 == 93) {
    goto case_93;
  }
  if ((int )ch___0 == 91) {
    goto case_93;
  }
  if ((int )ch___0 == 35) {
    goto case_93;
  }
  if ((int )ch___0 == 63) {
    goto case_93;
  }
  if ((int )ch___0 == 47) {
    goto case_93;
  }
  if ((int )ch___0 == 44) {
    goto case_93;
  }
  if ((int )ch___0 == 36) {
    goto case_93;
  }
  if ((int )ch___0 == 43) {
    goto case_93;
  }
  if ((int )ch___0 == 61) {
    goto case_93;
  }
  if ((int )ch___0 == 38) {
    goto case_93;
  }
  if ((int )ch___0 == 64) {
    goto case_93;
  }
  if ((int )ch___0 == 58) {
    goto case_93;
  }
  if ((int )ch___0 == 59) {
    goto case_93;
  }
  if ((int )ch___0 == 41) {
    goto case_93;
  }
  if ((int )ch___0 == 40) {
    goto case_93;
  }
  if ((int )ch___0 == 39) {
    goto case_93;
  }
  if ((int )ch___0 == 42) {
    goto case_93;
  }
  if ((int )ch___0 == 33) {
    goto case_93;
  }
  goto switch_break;
  case_93: /* CIL Label */
  case_91: /* CIL Label */
  case_35: /* CIL Label */
  case_63: /* CIL Label */
  case_47: /* CIL Label */
  case_44: /* CIL Label */
  case_36: /* CIL Label */
  case_43: /* CIL Label */
  case_61: /* CIL Label */
  case_38: /* CIL Label */
  case_64: /* CIL Label */
  case_58: /* CIL Label */
  case_59: /* CIL Label */
  case_41: /* CIL Label */
  case_40: /* CIL Label */
  case_39: /* CIL Label */
  case_42: /* CIL Label */
  case_33: /* CIL Label */
  return (1);
  switch_break: /* CIL Label */ ;
  }
  return (0);
}
}
int is_rfc3986_unreserved(char ch___0 )
{
  int tmp ;

  {
  if (((int const   )sane_ctype[(unsigned char )ch___0] & 6) != 0) {
    tmp = 1;
  } else
  if ((int )ch___0 == 45) {
    tmp = 1;
  } else
  if ((int )ch___0 == 95) {
    tmp = 1;
  } else
  if ((int )ch___0 == 46) {
    tmp = 1;
  } else
  if ((int )ch___0 == 126) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static void strbuf_add_urlencode(struct strbuf *sb___6 , char const   *s___1 , size_t len___0 ,
                                 int (*allow_unencoded_fn)(char ch ) )
{
  char ch___0 ;
  char const   *tmp ;
  int tmp___0 ;
  size_t tmp___1 ;

  {
  strbuf_grow(sb___6, len___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = len___0;
    len___0 --;
    if (! tmp___1) {
      goto while_break;
    }
    tmp = s___1;
    s___1 ++;
    ch___0 = (char )*tmp;
    tmp___0 = (*allow_unencoded_fn)(ch___0);
    if (tmp___0) {
      strbuf_addch(sb___6, (int )ch___0);
    } else {
      strbuf_addf(sb___6, (char const   *)"%%%02x", (int )((unsigned char )ch___0));
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void strbuf_addstr_urlencode(struct strbuf *sb___6 , char const   *s___1 , int (*allow_unencoded_fn)(char ch ) )
{
  size_t tmp ;

  {
  tmp = strlen(s___1);
  strbuf_add_urlencode(sb___6, s___1, tmp, allow_unencoded_fn);
  return;
}
}
static void strbuf_humanise(struct strbuf *buf___19 , off_t bytes , int humanise_rate )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  unsigned int x ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  unsigned int x___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___10 ;

  {
  if (bytes > (off_t )(1 << 30)) {
    if (humanise_rate == 0) {
      tmp = _((char const   *)"%u.%2.2u GiB");
      tmp___1 = tmp;
    } else {
      tmp___0 = _((char const   *)"%u.%2.2u GiB/s");
      tmp___1 = tmp___0;
    }
    strbuf_addf(buf___19, (char const   *)tmp___1, (unsigned int )(bytes >> 30), (unsigned int )(bytes & (long )((1 << 30) - 1)) / 10737419U);
  } else
  if (bytes > (off_t )(1 << 20)) {
    x = (unsigned int )(bytes + 5243L);
    if (humanise_rate == 0) {
      tmp___2 = _((char const   *)"%u.%2.2u MiB");
      tmp___4 = tmp___2;
    } else {
      tmp___3 = _((char const   *)"%u.%2.2u MiB/s");
      tmp___4 = tmp___3;
    }
    strbuf_addf(buf___19, (char const   *)tmp___4, x >> 20, (x & (unsigned int )((1 << 20) - 1)) * 100U >> 20);
  } else
  if (bytes > (off_t )(1 << 10)) {
    x___0 = (unsigned int )(bytes + 5L);
    if (humanise_rate == 0) {
      tmp___5 = _((char const   *)"%u.%2.2u KiB");
      tmp___7 = tmp___5;
    } else {
      tmp___6 = _((char const   *)"%u.%2.2u KiB/s");
      tmp___7 = tmp___6;
    }
    strbuf_addf(buf___19, (char const   *)tmp___7, x___0 >> 10, (x___0 & (unsigned int )((1 << 10) - 1)) * 100U >> 10);
  } else {
    if (humanise_rate == 0) {
      tmp___8 = Q_((char const   *)"%u byte", (char const   *)"%u bytes", (unsigned long )((unsigned int )bytes));
      tmp___10 = tmp___8;
    } else {
      tmp___9 = Q_((char const   *)"%u byte/s", (char const   *)"%u bytes/s", (unsigned long )((unsigned int )bytes));
      tmp___10 = tmp___9;
    }
    strbuf_addf(buf___19, (char const   *)tmp___10, (unsigned int )bytes);
  }
  return;
}
}
void strbuf_humanise_bytes(struct strbuf *buf___19 , off_t bytes )
{


  {
  strbuf_humanise(buf___19, bytes, 0);
  return;
}
}
void strbuf_humanise_rate(struct strbuf *buf___19 , off_t bytes )
{


  {
  strbuf_humanise(buf___19, bytes, 1);
  return;
}
}
void strbuf_add_absolute_path(struct strbuf *sb___6 , char const   *path___6 )
{
  struct stat cwd_stat ;
  struct stat pwd_stat ;
  size_t orig_len ;
  char *cwd___0 ;
  char *tmp ;
  char *pwd ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  if (! *path___6) {
    die((char const   *)"The empty string is not a valid path");
  }
  tmp___5 = is_absolute_path(path___6);
  if (! tmp___5) {
    orig_len = sb___6->len;
    tmp = xgetcwd();
    cwd___0 = tmp;
    tmp___0 = getenv((char const   *)"PWD");
    pwd = tmp___0;
    if (pwd) {
      tmp___1 = strcmp((char const   *)pwd, (char const   *)cwd___0);
      if (tmp___1) {
        tmp___2 = stat((char const   *)cwd___0, & cwd_stat);
        if (tmp___2) {
          strbuf_addstr(sb___6, (char const   *)cwd___0);
        } else
        if (cwd_stat.st_dev) {
          goto _L;
        } else
        if (cwd_stat.st_ino) {
          _L: /* CIL Label */
          tmp___3 = stat((char const   *)pwd, & pwd_stat);
          if (tmp___3) {
            strbuf_addstr(sb___6, (char const   *)cwd___0);
          } else
          if (pwd_stat.st_dev == cwd_stat.st_dev) {
            if (pwd_stat.st_ino == cwd_stat.st_ino) {
              strbuf_addstr(sb___6, (char const   *)pwd);
            } else {
              strbuf_addstr(sb___6, (char const   *)cwd___0);
            }
          } else {
            strbuf_addstr(sb___6, (char const   *)cwd___0);
          }
        } else {
          strbuf_addstr(sb___6, (char const   *)cwd___0);
        }
      } else {
        strbuf_addstr(sb___6, (char const   *)cwd___0);
      }
    } else {
      strbuf_addstr(sb___6, (char const   *)cwd___0);
    }
    if (sb___6->len > orig_len) {
      tmp___4 = git_is_dir_sep((int )*(sb___6->buf + (sb___6->len - 1UL)));
      if (! tmp___4) {
        strbuf_addch(sb___6, '/');
      }
    }
    free((void *)cwd___0);
  }
  strbuf_addstr(sb___6, path___6);
  return;
}
}
void strbuf_add_real_path(struct strbuf *sb___6 , char const   *path___6 )
{
  struct strbuf resolved ;

  {
  if (sb___6->len) {
    resolved.alloc = 0UL;
    resolved.len = 0UL;
    resolved.buf = strbuf_slopbuf;
    strbuf_realpath(& resolved, path___6, 1);
    strbuf_addbuf(sb___6, (struct strbuf  const  *)(& resolved));
    strbuf_release(& resolved);
  } else {
    strbuf_realpath(sb___6, path___6, 1);
  }
  return;
}
}
int ( /* format attribute */  printf_ln)(char const   *fmt  , ...)
{
  int ret___67 ;
  va_list ap ;
  int tmp ;

  {
  __builtin_va_start(ap, fmt);
  ret___67 = vprintf(fmt, ap);
  __builtin_va_end(ap);
  if (ret___67 < 0) {
    return (-1);
  } else {
    tmp = putchar('\n');
    if (tmp == -1) {
      return (-1);
    }
  }
  return (ret___67 + 1);
}
}
int ( /* format attribute */  fprintf_ln)(FILE *fp , char const   *fmt  , ...)
{
  int ret___67 ;
  va_list ap ;
  int tmp ;

  {
  __builtin_va_start(ap, fmt);
  ret___67 = vfprintf(fp, fmt, ap);
  __builtin_va_end(ap);
  if (ret___67 < 0) {
    return (-1);
  } else {
    tmp = _IO_putc('\n', fp);
    if (tmp == -1) {
      return (-1);
    }
  }
  return (ret___67 + 1);
}
}
char *xstrdup_tolower(char const   *string___0 )
{
  char *result___0 ;
  size_t len___0 ;
  size_t i ;
  void *tmp ;
  int tmp___0 ;

  {
  len___0 = strlen(string___0);
  tmp = xmallocz(len___0);
  result___0 = (char *)tmp;
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < len___0)) {
      goto while_break;
    }
    tmp___0 = sane_case((int )((unsigned char )*(string___0 + i)), 0x20);
    *(result___0 + i) = (char )tmp___0;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (result___0);
}
}
char *xstrdup_toupper(char const   *string___0 )
{
  char *result___0 ;
  size_t len___0 ;
  size_t i ;
  void *tmp ;
  int tmp___0 ;

  {
  len___0 = strlen(string___0);
  tmp = xmallocz(len___0);
  result___0 = (char *)tmp;
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < len___0)) {
      goto while_break;
    }
    tmp___0 = sane_case((int )((unsigned char )*(string___0 + i)), 0);
    *(result___0 + i) = (char )tmp___0;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (result___0);
}
}
char *( /* format attribute */  xstrvfmt)(char const   *fmt , va_list ap )
{
  struct strbuf buf___19 ;
  char *tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  strbuf_vaddf(& buf___19, fmt, ap);
  tmp = strbuf_detach(& buf___19, (size_t *)((void *)0));
  return (tmp);
}
}
char *( /* format attribute */  xstrfmt)(char const   *fmt  , ...)
{
  va_list ap ;
  char *ret___67 ;

  {
  __builtin_va_start(ap, fmt);
  ret___67 = xstrvfmt(fmt, ap);
  __builtin_va_end(ap);
  return (ret___67);
}
}
void strbuf_addftime(struct strbuf *sb___6 , char const   *fmt , struct tm  const  *tm ,
                     int tz_offset , int suppress_tz_name )
{
  struct strbuf munged_fmt ;
  size_t hint ;
  size_t len___0 ;
  char const   *percent ;
  char *tmp ;
  time_t tmp___0 ;

  {
  munged_fmt.alloc = 0UL;
  munged_fmt.len = 0UL;
  munged_fmt.buf = strbuf_slopbuf;
  hint = (size_t )128;
  if (! *fmt) {
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = strchrnul(fmt, '%');
    percent = (char const   *)tmp;
    strbuf_add(& munged_fmt, (void const   *)fmt, (size_t )(percent - fmt));
    if (! *percent) {
      goto while_break;
    }
    fmt = percent + 1;
    {
    if ((int const   )*fmt == 37) {
      goto case_37;
    }
    if ((int const   )*fmt == 115) {
      goto case_115;
    }
    if ((int const   )*fmt == 122) {
      goto case_122;
    }
    if ((int const   )*fmt == 90) {
      goto case_90;
    }
    goto switch_default;
    case_37: /* CIL Label */
    strbuf_addstr(& munged_fmt, (char const   *)"%%");
    fmt ++;
    goto switch_break;
    case_115: /* CIL Label */
    tmp___0 = tm_to_time_t(tm);
    strbuf_addf(& munged_fmt, (char const   *)"%lu", ((timestamp_t )tmp___0 - (timestamp_t )(3600 * (tz_offset / 100))) - (timestamp_t )(60 * (tz_offset % 100)));
    fmt ++;
    goto switch_break;
    case_122: /* CIL Label */
    strbuf_addf(& munged_fmt, (char const   *)"%+05d", tz_offset);
    fmt ++;
    goto switch_break;
    case_90: /* CIL Label */
    if (suppress_tz_name) {
      fmt ++;
      goto switch_break;
    }
    switch_default: /* CIL Label */
    strbuf_addch(& munged_fmt, '%');
    switch_break: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  fmt = (char const   *)munged_fmt.buf;
  strbuf_grow(sb___6, hint);
  len___0 = strftime((char * __restrict  )(sb___6->buf + sb___6->len), sb___6->alloc - sb___6->len,
                     (char const   * __restrict  )fmt, (struct tm  const  * __restrict  )tm);
  if (! len___0) {
    strbuf_addch(& munged_fmt, ' ');
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (! len___0)) {
        goto while_break___0;
      }
      hint *= 2UL;
      strbuf_grow(sb___6, hint);
      len___0 = strftime((char * __restrict  )(sb___6->buf + sb___6->len), sb___6->alloc - sb___6->len,
                         (char const   * __restrict  )munged_fmt.buf, (struct tm  const  * __restrict  )tm);
    }
    while_break___0: /* CIL Label */ ;
    }
    len___0 --;
  }
  strbuf_release(& munged_fmt);
  strbuf_setlen(sb___6, sb___6->len + len___0);
  return;
}
}
void strbuf_repo_add_unique_abbrev(struct strbuf *sb___6 , struct repository *repo ,
                                   struct object_id  const  *oid , int abbrev_len )
{
  int r ;

  {
  strbuf_grow(sb___6, (size_t )65);
  r = repo_find_unique_abbrev_r(repo, sb___6->buf + sb___6->len, oid, abbrev_len);
  strbuf_setlen(sb___6, sb___6->len + (size_t )r);
  return;
}
}
void strbuf_add_unique_abbrev(struct strbuf *sb___6 , struct object_id  const  *oid ,
                              int abbrev_len )
{


  {
  strbuf_repo_add_unique_abbrev(sb___6, the_repository, oid, abbrev_len);
  return;
}
}
static size_t cleanup(char *line___0 , size_t len___0 )
{
  unsigned char c___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! len___0) {
      goto while_break;
    }
    c___0 = (unsigned char )*(line___0 + (len___0 - 1UL));
    if (! (((int const   )sane_ctype[c___0] & 1) != 0)) {
      goto while_break;
    }
    len___0 --;
  }
  while_break: /* CIL Label */ ;
  }
  return (len___0);
}
}
void strbuf_stripspace(struct strbuf *sb___6 , int skip_comments )
{
  size_t empties ;
  size_t i ;
  size_t j ;
  size_t len___0 ;
  size_t newlen ;
  char *eol ;
  void *tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;

  {
  empties = (size_t )0;
  strbuf_grow(sb___6, (size_t )1);
  j = (size_t )0;
  i = j;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < sb___6->len)) {
      goto while_break;
    }
    tmp = memchr((void const   *)(sb___6->buf + i), '\n', sb___6->len - i);
    eol = (char *)tmp;
    if (eol) {
      len___0 = (size_t )((eol - (sb___6->buf + i)) + 1L);
    } else {
      len___0 = sb___6->len - i;
    }
    if (skip_comments) {
      if (len___0) {
        if ((int )*(sb___6->buf + i) == (int )comment_line_char) {
          newlen = (size_t )0;
          goto __Cont;
        }
      }
    }
    newlen = cleanup(sb___6->buf + i, len___0);
    if (newlen) {
      if (empties > 0UL) {
        if (j > 0UL) {
          tmp___0 = j;
          j ++;
          *(sb___6->buf + tmp___0) = (char )'\n';
        }
      }
      empties = (size_t )0;
      memmove((void *)(sb___6->buf + j), (void const   *)(sb___6->buf + i), newlen);
      tmp___1 = j;
      j ++;
      *(sb___6->buf + (newlen + tmp___1)) = (char )'\n';
    } else {
      empties ++;
    }
    __Cont: /* CIL Label */
    i += len___0;
    j += newlen;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_setlen(sb___6, j);
  return;
}
}
int strbuf_normalize_path(struct strbuf *src )
{
  struct strbuf dst ;
  int tmp ;
  size_t tmp___0 ;

  {
  dst.alloc = 0UL;
  dst.len = 0UL;
  dst.buf = strbuf_slopbuf;
  strbuf_grow(& dst, src->len);
  tmp = normalize_path_copy(dst.buf, (char const   *)src->buf);
  if (tmp < 0) {
    strbuf_release(& dst);
    return (-1);
  }
  tmp___0 = strlen((char const   *)dst.buf);
  strbuf_setlen(& dst, tmp___0);
  strbuf_swap(src, & dst);
  strbuf_release(& dst);
  return (0);
}
}
int strbuf_edit_interactively(struct strbuf *buffer___5 , char const   *path___6 ,
                              char const   **env )
{
  char *path2 ;
  int fd ;
  int res ;
  char const   *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  ssize_t tmp___7 ;

  {
  path2 = (char *)((void *)0);
  res = 0;
  tmp___0 = is_absolute_path(path___6);
  if (! tmp___0) {
    tmp = git_path((char const   *)"%s", path___6);
    path2 = xstrdup(tmp);
    path___6 = (char const   *)path2;
  }
  fd = open(path___6, 577, 0666);
  if (fd < 0) {
    tmp___1 = _((char const   *)"could not open \'%s\' for writing");
    error_errno((char const   *)tmp___1, path___6);
    res = const_error();
  } else {
    tmp___7 = write_in_full(fd, (void const   *)buffer___5->buf, buffer___5->len);
    if (tmp___7 < 0L) {
      tmp___2 = _((char const   *)"could not write to \'%s\'");
      error_errno((char const   *)tmp___2, path___6);
      res = const_error();
      close(fd);
    } else {
      tmp___6 = close(fd);
      if (tmp___6 < 0) {
        tmp___3 = _((char const   *)"could not close \'%s\'");
        error_errno((char const   *)tmp___3, path___6);
        res = const_error();
      } else {
        strbuf_setlen(buffer___5, (size_t )0);
        tmp___5 = launch_editor(path___6, buffer___5, env);
        if (tmp___5 < 0) {
          tmp___4 = _((char const   *)"could not edit \'%s\'");
          error_errno((char const   *)tmp___4, path___6);
          res = const_error();
        }
        unlink(path___6);
      }
    }
  }
  free((void *)path2);
  return (res);
}
}
static double const   __ac_HASH_UPPER___87  =    (double const   )0.77;
__inline static void kh_resize_oid_set___87(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___87(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___87 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___87 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___87(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___87(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___87(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___87(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___87(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___87(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___87 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___87 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___87(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___87(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___87(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___87(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___87(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___87(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___87 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___87 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___87(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___87(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___87(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___87(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___66(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___66(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___87 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___87 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___66(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___66(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___66(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___66(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void close_deflated_stream(struct git_istream *st )
{


  {
  if ((unsigned int )st->z_state == 1U) {
    git_inflate_end(& st->z);
  }
  return;
}
}
static int close_istream_filtered(struct git_istream *st )
{
  int tmp ;

  {
  free_stream_filter(st->u.filtered.filter);
  tmp = close_istream(st->u.filtered.upstream);
  return (tmp);
}
}
static ssize_t read_istream_filtered(struct git_istream *st , char *buf___19 , size_t sz )
{
  struct filtered_istream *fs ;
  size_t filled ;
  size_t to_move ;
  int tmp ;
  size_t to_feed ;
  size_t to_receive ;
  int tmp___0 ;
  size_t to_receive___0 ;
  int tmp___1 ;
  int tmp___2 ;
  ssize_t tmp___3 ;

  {
  fs = & st->u.filtered;
  filled = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! sz) {
      goto while_break;
    }
    if (fs->o_ptr < fs->o_end) {
      to_move = (size_t )(fs->o_end - fs->o_ptr);
      if (sz < to_move) {
        to_move = sz;
      }
      memcpy((void *)(buf___19 + filled), (void const   *)(fs->obuf + fs->o_ptr),
             to_move);
      fs->o_ptr = (int )((size_t )fs->o_ptr + to_move);
      sz -= to_move;
      filled += to_move;
      goto while_continue;
    }
    tmp = 0;
    fs->o_ptr = tmp;
    fs->o_end = tmp;
    if (fs->i_ptr < fs->i_end) {
      to_feed = (size_t )(fs->i_end - fs->i_ptr);
      to_receive = (size_t )16384;
      tmp___0 = stream_filter(fs->filter, (char const   *)(fs->ibuf + fs->i_ptr),
                              & to_feed, fs->obuf, & to_receive);
      if (tmp___0) {
        return ((ssize_t )-1);
      }
      fs->i_ptr = (int )((size_t )fs->i_end - to_feed);
      fs->o_end = (int )(16384UL - to_receive);
      goto while_continue;
    }
    if (fs->input_finished) {
      to_receive___0 = (size_t )16384;
      tmp___1 = stream_filter(fs->filter, (char const   *)((void *)0), (size_t *)((void *)0),
                              fs->obuf, & to_receive___0);
      if (tmp___1) {
        return ((ssize_t )-1);
      }
      fs->o_end = (int )(16384UL - to_receive___0);
      if (! fs->o_end) {
        goto while_break;
      }
      goto while_continue;
    }
    tmp___2 = 0;
    fs->i_ptr = tmp___2;
    fs->i_end = tmp___2;
    if (! fs->input_finished) {
      tmp___3 = read_istream(fs->upstream, (void *)(fs->ibuf), (size_t )16384);
      fs->i_end = (int )tmp___3;
      if (fs->i_end < 0) {
        return ((ssize_t )-1);
      }
      if (fs->i_end) {
        goto while_continue;
      }
    }
    fs->input_finished = 1;
  }
  while_break: /* CIL Label */ ;
  }
  return ((ssize_t )filled);
}
}
static struct git_istream *attach_stream_filter(struct git_istream *st , struct stream_filter *filter___0 )
{
  struct git_istream *ifs ;
  void *tmp ;
  struct filtered_istream *fs ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = xmalloc(sizeof(*ifs));
  ifs = (struct git_istream *)tmp;
  fs = & ifs->u.filtered;
  ifs->close = & close_istream_filtered;
  ifs->read = & read_istream_filtered;
  fs->upstream = st;
  fs->filter = filter___0;
  tmp___0 = 0;
  fs->i_ptr = tmp___0;
  fs->i_end = tmp___0;
  tmp___1 = 0;
  fs->o_ptr = tmp___1;
  fs->o_end = tmp___1;
  fs->input_finished = 0;
  ifs->size = 18446744073709551615UL;
  return (ifs);
}
}
static ssize_t read_istream_loose(struct git_istream *st , char *buf___19 , size_t sz )
{
  size_t total_read ;
  size_t to_copy ;
  int status ;

  {
  total_read = (size_t )0;
  {
  if ((unsigned int )st->z_state == 2U) {
    goto case_2;
  }
  if ((unsigned int )st->z_state == 3U) {
    goto case_3;
  }
  goto switch_default;
  case_2: /* CIL Label */
  return ((ssize_t )0);
  case_3: /* CIL Label */
  return ((ssize_t )-1);
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  if (st->u.loose.hdr_used < st->u.loose.hdr_avail) {
    to_copy = (size_t )(st->u.loose.hdr_avail - st->u.loose.hdr_used);
    if (sz < to_copy) {
      to_copy = sz;
    }
    memcpy((void *)buf___19, (void const   *)(st->u.loose.hdr + st->u.loose.hdr_used),
           to_copy);
    st->u.loose.hdr_used = (int )((size_t )st->u.loose.hdr_used + to_copy);
    total_read += to_copy;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (total_read < sz)) {
      goto while_break;
    }
    st->z.next_out = (unsigned char *)buf___19 + total_read;
    st->z.avail_out = sz - total_read;
    status = git_inflate(& st->z, 4);
    total_read = (size_t )(st->z.next_out - (unsigned char *)buf___19);
    if (status == 1) {
      git_inflate_end(& st->z);
      st->z_state = (enum __anonenum_z_state_110445113 )2;
      goto while_break;
    }
    if (status != 0) {
      if (status != -5) {
        git_inflate_end(& st->z);
        st->z_state = (enum __anonenum_z_state_110445113 )3;
        return ((ssize_t )-1);
      } else
      if (total_read < sz) {
        git_inflate_end(& st->z);
        st->z_state = (enum __anonenum_z_state_110445113 )3;
        return ((ssize_t )-1);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return ((ssize_t )total_read);
}
}
static int close_istream_loose(struct git_istream *st )
{


  {
  close_deflated_stream(st);
  munmap(st->u.loose.mapped, st->u.loose.mapsize);
  return (0);
}
}
static int open_istream_loose(struct git_istream *st , struct repository *r , struct object_id  const  *oid ,
                              enum object_type *type___0 )
{
  struct object_info oi___0 ;
  enum unpack_loose_header_result tmp ;
  int tmp___0 ;
  size_t tmp___1 ;

  {
  oi___0.typep = (enum object_type *)0;
  oi___0.sizep = (unsigned long *)0;
  oi___0.disk_sizep = (off_t *)0;
  oi___0.delta_base_oid = (struct object_id *)0;
  oi___0.type_name = (struct strbuf *)0;
  oi___0.contentp = (void **)0;
  oi___0.whence = 0U;
  oi___0.u.packed.pack = (struct packed_git *)0;
  oi___0.u.packed.offset = 0L;
  oi___0.u.packed.is_delta = 0U;
  oi___0.sizep = & st->size;
  oi___0.typep = type___0;
  st->u.loose.mapped = map_loose_object(r, oid, & st->u.loose.mapsize);
  if (! st->u.loose.mapped) {
    return (-1);
  }
  tmp = unpack_loose_header(& st->z, (unsigned char *)st->u.loose.mapped, st->u.loose.mapsize,
                            (void *)(st->u.loose.hdr), sizeof(st->u.loose.hdr), (struct strbuf *)((void *)0));
  {
  if ((unsigned int )tmp == 0U) {
    goto case_0;
  }
  if ((unsigned int )tmp == 2U) {
    goto case_2;
  }
  if ((unsigned int )tmp == 1U) {
    goto case_2;
  }
  goto switch_break;
  case_0: /* CIL Label */
  goto switch_break;
  case_2: /* CIL Label */
  case_1: /* CIL Label */
  goto error;
  switch_break: /* CIL Label */ ;
  }
  tmp___0 = parse_loose_header((char const   *)(st->u.loose.hdr), & oi___0);
  if (tmp___0 < 0) {
    goto error;
  } else
  if ((int )*type___0 < 0) {
    goto error;
  }
  tmp___1 = strlen((char const   *)(st->u.loose.hdr));
  st->u.loose.hdr_used = (int )(tmp___1 + 1UL);
  st->u.loose.hdr_avail = (int )st->z.total_out;
  st->z_state = (enum __anonenum_z_state_110445113 )1;
  st->close = & close_istream_loose;
  st->read = & read_istream_loose;
  return (0);
  error:
  git_inflate_end(& st->z);
  munmap(st->u.loose.mapped, st->u.loose.mapsize);
  return (-1);
}
}
static ssize_t read_istream_pack_non_delta(struct git_istream *st , char *buf___19 ,
                                           size_t sz )
{
  size_t total_read ;
  int status ;
  struct pack_window *window___0 ;
  unsigned char *mapped ;

  {
  total_read = (size_t )0;
  {
  if ((unsigned int )st->z_state == 0U) {
    goto case_0;
  }
  if ((unsigned int )st->z_state == 2U) {
    goto case_2;
  }
  if ((unsigned int )st->z_state == 3U) {
    goto case_3;
  }
  if ((unsigned int )st->z_state == 1U) {
    goto case_1;
  }
  goto switch_break;
  case_0: /* CIL Label */
  memset((void *)(& st->z), 0, sizeof(st->z));
  git_inflate_init(& st->z);
  st->z_state = (enum __anonenum_z_state_110445113 )1;
  goto switch_break;
  case_2: /* CIL Label */
  return ((ssize_t )0);
  case_3: /* CIL Label */
  return ((ssize_t )-1);
  case_1: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (total_read < sz)) {
      goto while_break;
    }
    window___0 = (struct pack_window *)((void *)0);
    mapped = use_pack(st->u.in_pack.pack, & window___0, st->u.in_pack.pos, & st->z.avail_in);
    st->z.next_out = (unsigned char *)buf___19 + total_read;
    st->z.avail_out = sz - total_read;
    st->z.next_in = mapped;
    status = git_inflate(& st->z, 4);
    st->u.in_pack.pos += st->z.next_in - mapped;
    total_read = (size_t )(st->z.next_out - (unsigned char *)buf___19);
    unuse_pack(& window___0);
    if (status == 1) {
      git_inflate_end(& st->z);
      st->z_state = (enum __anonenum_z_state_110445113 )2;
      goto while_break;
    }
    if (status != 0) {
      if (status != -5) {
        git_inflate_end(& st->z);
        st->z_state = (enum __anonenum_z_state_110445113 )3;
        return ((ssize_t )-1);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return ((ssize_t )total_read);
}
}
static int close_istream_pack_non_delta(struct git_istream *st )
{


  {
  close_deflated_stream(st);
  return (0);
}
}
static int open_istream_pack_non_delta(struct git_istream *st , struct repository *r ,
                                       struct object_id  const  *oid , enum object_type *type___0 )
{
  struct pack_window *window___0 ;
  enum object_type in_pack_type ;
  int tmp ;

  {
  window___0 = (struct pack_window *)((void *)0);
  tmp = unpack_object_header(st->u.in_pack.pack, & window___0, & st->u.in_pack.pos,
                             & st->size);
  in_pack_type = (enum object_type )tmp;
  unuse_pack(& window___0);
  {
  if ((int )in_pack_type == 4) {
    goto case_4;
  }
  if ((int )in_pack_type == 3) {
    goto case_4;
  }
  if ((int )in_pack_type == 2) {
    goto case_4;
  }
  if ((int )in_pack_type == 1) {
    goto case_4;
  }
  goto switch_default;
  switch_default: /* CIL Label */
  return (-1);
  case_4: /* CIL Label */
  case_3: /* CIL Label */
  case_2: /* CIL Label */
  case_1: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  st->z_state = (enum __anonenum_z_state_110445113 )0;
  st->close = & close_istream_pack_non_delta;
  st->read = & read_istream_pack_non_delta;
  return (0);
}
}
static int close_istream_incore(struct git_istream *st )
{


  {
  free((void *)st->u.incore.buf);
  return (0);
}
}
static ssize_t read_istream_incore(struct git_istream *st , char *buf___19 , size_t sz )
{
  size_t read_size ;
  size_t remainder ;

  {
  read_size = sz;
  remainder = st->size - st->u.incore.read_ptr;
  if (remainder <= read_size) {
    read_size = remainder;
  }
  if (read_size) {
    memcpy((void *)buf___19, (void const   *)(st->u.incore.buf + st->u.incore.read_ptr),
           read_size);
    st->u.incore.read_ptr += read_size;
  }
  return ((ssize_t )read_size);
}
}
static int open_istream_incore(struct git_istream *st , struct repository *r , struct object_id  const  *oid ,
                               enum object_type *type___0 )
{
  void *tmp ;
  int tmp___0 ;

  {
  tmp = read_object_file_extended(r, oid, type___0, & st->size, 0);
  st->u.incore.buf = (char *)tmp;
  st->u.incore.read_ptr = 0UL;
  st->close = & close_istream_incore;
  st->read = & read_istream_incore;
  if (st->u.incore.buf) {
    tmp___0 = 0;
  } else {
    tmp___0 = -1;
  }
  return (tmp___0);
}
}
static int istream_source(struct git_istream *st , struct repository *r , struct object_id  const  *oid ,
                          enum object_type *type___0 )
{
  unsigned long size ;
  int status ;
  struct object_info oi___0 ;

  {
  oi___0.typep = (enum object_type *)0;
  oi___0.sizep = (unsigned long *)0;
  oi___0.disk_sizep = (off_t *)0;
  oi___0.delta_base_oid = (struct object_id *)0;
  oi___0.type_name = (struct strbuf *)0;
  oi___0.contentp = (void **)0;
  oi___0.whence = 0U;
  oi___0.u.packed.pack = (struct packed_git *)0;
  oi___0.u.packed.offset = 0L;
  oi___0.u.packed.is_delta = 0U;
  oi___0.typep = type___0;
  oi___0.sizep = & size;
  status = oid_object_info_extended(r, oid, & oi___0, 0U);
  if (status < 0) {
    return (status);
  }
  {
  if ((unsigned int )oi___0.whence == 1U) {
    goto case_1;
  }
  if ((unsigned int )oi___0.whence == 2U) {
    goto case_2;
  }
  goto switch_default;
  case_1: /* CIL Label */
  st->open = & open_istream_loose;
  return (0);
  case_2: /* CIL Label */
  if (! oi___0.u.packed.is_delta) {
    if (big_file_threshold < size) {
      st->u.in_pack.pack = oi___0.u.packed.pack;
      st->u.in_pack.pos = oi___0.u.packed.offset;
      st->open = & open_istream_pack_non_delta;
      return (0);
    }
  }
  switch_default: /* CIL Label */
  st->open = & open_istream_incore;
  return (0);
  switch_break: /* CIL Label */ ;
  }
}
}
int close_istream(struct git_istream *st )
{
  int r ;
  int tmp ;

  {
  tmp = (*(st->close))(st);
  r = tmp;
  free((void *)st);
  return (r);
}
}
ssize_t read_istream(struct git_istream *st , void *buf___19 , size_t sz )
{
  ssize_t tmp ;

  {
  tmp = (*(st->read))(st, (char *)buf___19, sz);
  return (tmp);
}
}
struct git_istream *open_istream(struct repository *r , struct object_id  const  *oid ,
                                 enum object_type *type___0 , unsigned long *size ,
                                 struct stream_filter *filter___0 )
{
  struct git_istream *st ;
  void *tmp ;
  struct object_id  const  *real ;
  struct object_id  const  *tmp___0 ;
  int ret___67 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  struct git_istream *nst ;
  struct git_istream *tmp___4 ;

  {
  tmp = xmalloc(sizeof(*st));
  st = (struct git_istream *)tmp;
  tmp___0 = lookup_replace_object(r, oid);
  real = tmp___0;
  tmp___1 = istream_source(st, r, real, type___0);
  ret___67 = tmp___1;
  if (ret___67) {
    free((void *)st);
    return ((struct git_istream *)((void *)0));
  }
  tmp___3 = (*(st->open))(st, r, real, type___0);
  if (tmp___3) {
    tmp___2 = open_istream_incore(st, r, real, type___0);
    if (tmp___2) {
      free((void *)st);
      return ((struct git_istream *)((void *)0));
    }
  }
  if (filter___0) {
    tmp___4 = attach_stream_filter(st, filter___0);
    nst = tmp___4;
    if (! nst) {
      close_istream(st);
      return ((struct git_istream *)((void *)0));
    }
    st = nst;
  }
  *size = st->size;
  return (st);
}
}
int stream_blob_to_fd(int fd , struct object_id  const  *oid , struct stream_filter *filter___0 ,
                      int can_seek )
{
  struct git_istream *st ;
  enum object_type type___0 ;
  unsigned long sz ;
  ssize_t kept ;
  int result___0 ;
  char buf___19[16384] ;
  ssize_t wrote ;
  ssize_t holeto ;
  ssize_t readlen ;
  ssize_t tmp ;
  __off_t tmp___0 ;
  __off_t tmp___1 ;
  ssize_t tmp___2 ;

  {
  kept = (ssize_t )0;
  result___0 = -1;
  st = open_istream(the_repository, oid, & type___0, & sz, filter___0);
  if (! st) {
    if (filter___0) {
      free_stream_filter(filter___0);
    }
    return (result___0);
  }
  if ((int )type___0 != 3) {
    goto close_and_exit;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = read_istream(st, (void *)(buf___19), sizeof(buf___19));
    readlen = tmp;
    if (readlen < 0L) {
      goto close_and_exit;
    }
    if (! readlen) {
      goto while_break;
    }
    if (can_seek) {
      if (sizeof(buf___19) == (unsigned long )readlen) {
        holeto = (ssize_t )0;
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          if (! (holeto < readlen)) {
            goto while_break___0;
          }
          if (buf___19[holeto]) {
            goto while_break___0;
          }
          holeto ++;
        }
        while_break___0: /* CIL Label */ ;
        }
        if (readlen == holeto) {
          kept += holeto;
          goto __Cont;
        }
      }
    }
    if (kept) {
      tmp___0 = lseek(fd, kept, 1);
      if (tmp___0 == -1L) {
        goto close_and_exit;
      } else {
        kept = (ssize_t )0;
      }
    } else {
      kept = (ssize_t )0;
    }
    wrote = write_in_full(fd, (void const   *)(buf___19), (size_t )readlen);
    if (wrote < 0L) {
      goto close_and_exit;
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  if (kept) {
    tmp___1 = lseek(fd, kept - 1L, 1);
    if (tmp___1 == -1L) {
      goto close_and_exit;
    } else {
      tmp___2 = xwrite(fd, (void const   *)"", (size_t )1);
      if (tmp___2 != 1L) {
        goto close_and_exit;
      }
    }
  }
  result___0 = 0;
  close_and_exit:
  close_istream(st);
  return (result___0);
}
}
void string_list_init_nodup(struct string_list *list___3 )
{
  struct string_list blank___1 ;

  {
  blank___1.items = (struct string_list_item *)0;
  blank___1.nr = 0U;
  blank___1.alloc = 0U;
  blank___1.strdup_strings = 0U;
  blank___1.cmp = (int (*)(char const   * , char const   * ))0;
  memcpy((void *)list___3, (void const   *)(& blank___1), sizeof(*list___3));
  return;
}
}
void string_list_init_dup(struct string_list *list___3 )
{
  struct string_list blank___1 ;

  {
  blank___1.items = (struct string_list_item *)0;
  blank___1.nr = 0U;
  blank___1.alloc = 0U;
  blank___1.strdup_strings = 1U;
  blank___1.cmp = (int (*)(char const   * , char const   * ))0;
  memcpy((void *)list___3, (void const   *)(& blank___1), sizeof(*list___3));
  return;
}
}
static int get_entry_index(struct string_list  const  *list___3 , char const   *string___0 ,
                           int *exact_match )
{
  int left ;
  int right ;
  int (*cmp___0)(char const   * , char const   * ) ;
  int ( __attribute__((__nonnull__(1,2), __leaf__)) (*tmp))(char const   * , char const   * ) ;
  int middle ;
  int compare___1 ;
  int tmp___0 ;

  {
  left = -1;
  right = (int )list___3->nr;
  if (list___3->cmp) {
    tmp = (int ( __attribute__((__nonnull__(1,2), __leaf__)) (*))(char const   * ,
                                                                  char const   * ))list___3->cmp;
  } else {
    tmp = & strcmp;
  }
  cmp___0 = (int (*)(char const   * , char const   * ))tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (left + 1 < right)) {
      goto while_break;
    }
    middle = left + (right - left) / 2;
    tmp___0 = (*cmp___0)(string___0, (char const   *)(list___3->items + middle)->string);
    compare___1 = tmp___0;
    if (compare___1 < 0) {
      right = middle;
    } else
    if (compare___1 > 0) {
      left = middle;
    } else {
      *exact_match = 1;
      return (middle);
    }
  }
  while_break: /* CIL Label */ ;
  }
  *exact_match = 0;
  return (right);
}
}
static int add_entry(int insert_at , struct string_list *list___3 , char const   *string___0 )
{
  int exact_match ;
  int index___2 ;
  int tmp ;
  int tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  char *tmp___3 ;

  {
  exact_match = 0;
  if (insert_at != -1) {
    tmp___0 = insert_at;
  } else {
    tmp = get_entry_index((struct string_list  const  *)list___3, string___0, & exact_match);
    tmp___0 = tmp;
  }
  index___2 = tmp___0;
  if (exact_match) {
    return (-1 - index___2);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (list___3->nr + 1U > list___3->alloc) {
      if (((list___3->alloc + 16U) * 3U) / 2U < list___3->nr + 1U) {
        list___3->alloc = list___3->nr + 1U;
      } else {
        list___3->alloc = ((list___3->alloc + 16U) * 3U) / 2U;
      }
      tmp___1 = st_mult(sizeof(*(list___3->items)), (size_t )list___3->alloc);
      tmp___2 = xrealloc((void *)list___3->items, tmp___1);
      list___3->items = (struct string_list_item *)tmp___2;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned int )index___2 < list___3->nr) {
    move_array((void *)((list___3->items + index___2) + 1), (void const   *)(list___3->items + index___2),
               (size_t )(list___3->nr - (unsigned int )index___2), sizeof(*((list___3->items + index___2) + 1)) + (sizeof(char [1]) - 1UL));
  }
  if (list___3->strdup_strings) {
    tmp___3 = xstrdup(string___0);
    (list___3->items + index___2)->string = tmp___3;
  } else {
    (list___3->items + index___2)->string = (char *)string___0;
  }
  (list___3->items + index___2)->util = (void *)0;
  (list___3->nr) ++;
  return (index___2);
}
}
struct string_list_item *string_list_insert(struct string_list *list___3 , char const   *string___0 )
{
  int index___2 ;
  int tmp ;

  {
  tmp = add_entry(-1, list___3, string___0);
  index___2 = tmp;
  if (index___2 < 0) {
    index___2 = -1 - index___2;
  }
  return (list___3->items + index___2);
}
}
void string_list_remove(struct string_list *list___3 , char const   *string___0 ,
                        int free_util )
{
  int exact_match ;
  int i ;
  int tmp ;

  {
  tmp = get_entry_index((struct string_list  const  *)list___3, string___0, & exact_match);
  i = tmp;
  if (exact_match) {
    if (list___3->strdup_strings) {
      free((void *)(list___3->items + i)->string);
    }
    if (free_util) {
      free((list___3->items + i)->util);
    }
    (list___3->nr) --;
    move_array((void *)(list___3->items + i), (void const   *)((list___3->items + i) + 1),
               (size_t )(list___3->nr - (unsigned int )i), sizeof(*(list___3->items + i)) + (sizeof(char [1]) - 1UL));
  }
  return;
}
}
int string_list_has_string(struct string_list  const  *list___3 , char const   *string___0 )
{
  int exact_match ;

  {
  get_entry_index(list___3, string___0, & exact_match);
  return (exact_match);
}
}
int string_list_find_insert_index(struct string_list  const  *list___3 , char const   *string___0 ,
                                  int negative_existing_index )
{
  int exact_match ;
  int index___2 ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = get_entry_index(list___3, string___0, & exact_match);
  index___2 = tmp;
  if (exact_match) {
    if (negative_existing_index) {
      tmp___0 = index___2;
    } else {
      tmp___0 = 0;
    }
    index___2 = -1 - tmp___0;
  }
  return (index___2);
}
}
struct string_list_item *string_list_lookup(struct string_list *list___3 , char const   *string___0 )
{
  int exact_match ;
  int i ;
  int tmp ;

  {
  tmp = get_entry_index((struct string_list  const  *)list___3, string___0, & exact_match);
  i = tmp;
  if (! exact_match) {
    return ((struct string_list_item *)((void *)0));
  }
  return (list___3->items + i);
}
}
void string_list_remove_duplicates(struct string_list *list___3 , int free_util )
{
  int src ;
  int dst ;
  int (*cmp___0)(char const   * , char const   * ) ;
  int ( __attribute__((__nonnull__(1,2), __leaf__)) (*tmp))(char const   * , char const   * ) ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (list___3->nr > 1U) {
    if (list___3->cmp) {
      tmp = (int ( __attribute__((__nonnull__(1,2), __leaf__)) (*))(char const   * ,
                                                                    char const   * ))list___3->cmp;
    } else {
      tmp = & strcmp;
    }
    cmp___0 = (int (*)(char const   * , char const   * ))tmp;
    dst = 1;
    src = dst;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )src < list___3->nr)) {
        goto while_break;
      }
      tmp___1 = (*cmp___0)((char const   *)(list___3->items + (dst - 1))->string,
                           (char const   *)(list___3->items + src)->string);
      if (tmp___1) {
        tmp___0 = dst;
        dst ++;
        *(list___3->items + tmp___0) = *(list___3->items + src);
      } else {
        if (list___3->strdup_strings) {
          free((void *)(list___3->items + src)->string);
        }
        if (free_util) {
          free((list___3->items + src)->util);
        }
      }
      src ++;
    }
    while_break: /* CIL Label */ ;
    }
    list___3->nr = (unsigned int )dst;
  }
  return;
}
}
int for_each_string_list(struct string_list *list___3 , int (*fn)(struct string_list_item * ,
                                                                  void * ) , void *cb_data )
{
  int i ;
  int ret___67 ;

  {
  ret___67 = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < list___3->nr)) {
      goto while_break;
    }
    ret___67 = (*fn)(list___3->items + i, cb_data);
    if (ret___67) {
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
void filter_string_list(struct string_list *list___3 , int free_util , int (*want)(struct string_list_item * ,
                                                                                   void * ) ,
                        void *cb_data )
{
  int src ;
  int dst ;
  int tmp ;
  int tmp___0 ;

  {
  dst = 0;
  src = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )src < list___3->nr)) {
      goto while_break;
    }
    tmp___0 = (*want)(list___3->items + src, cb_data);
    if (tmp___0) {
      tmp = dst;
      dst ++;
      *(list___3->items + tmp) = *(list___3->items + src);
    } else {
      if (list___3->strdup_strings) {
        free((void *)(list___3->items + src)->string);
      }
      if (free_util) {
        free((list___3->items + src)->util);
      }
    }
    src ++;
  }
  while_break: /* CIL Label */ ;
  }
  list___3->nr = (unsigned int )dst;
  return;
}
}
static int item_is_not_empty(struct string_list_item *item___0 , void *unused )
{


  {
  return ((int )*(item___0->string) != 0);
}
}
void string_list_remove_empty_items(struct string_list *list___3 , int free_util )
{


  {
  filter_string_list(list___3, free_util, & item_is_not_empty, (void *)0);
  return;
}
}
void string_list_clear(struct string_list *list___3 , int free_util )
{
  int i ;
  unsigned int tmp ;

  {
  if (list___3->items) {
    if (list___3->strdup_strings) {
      i = 0;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! ((unsigned int )i < list___3->nr)) {
          goto while_break;
        }
        free((void *)(list___3->items + i)->string);
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
    }
    if (free_util) {
      i = 0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! ((unsigned int )i < list___3->nr)) {
          goto while_break___0;
        }
        free((list___3->items + i)->util);
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
    }
    free((void *)list___3->items);
  }
  list___3->items = (struct string_list_item *)((void *)0);
  tmp = 0U;
  list___3->alloc = tmp;
  list___3->nr = tmp;
  return;
}
}
void string_list_clear_func(struct string_list *list___3 , void (*clearfunc)(void *p ,
                                                                             char const   *str ) )
{
  int i ;
  unsigned int tmp ;

  {
  if (list___3->items) {
    if (clearfunc) {
      i = 0;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! ((unsigned int )i < list___3->nr)) {
          goto while_break;
        }
        (*clearfunc)((list___3->items + i)->util, (char const   *)(list___3->items + i)->string);
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
    }
    if (list___3->strdup_strings) {
      i = 0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! ((unsigned int )i < list___3->nr)) {
          goto while_break___0;
        }
        free((void *)(list___3->items + i)->string);
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
    }
    free((void *)list___3->items);
  }
  list___3->items = (struct string_list_item *)((void *)0);
  tmp = 0U;
  list___3->alloc = tmp;
  list___3->nr = tmp;
  return;
}
}
struct string_list_item *string_list_append_nodup(struct string_list *list___3 , char *string___0 )
{
  struct string_list_item *retval ;
  size_t tmp ;
  void *tmp___0 ;
  unsigned int tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (list___3->nr + 1U > list___3->alloc) {
      if (((list___3->alloc + 16U) * 3U) / 2U < list___3->nr + 1U) {
        list___3->alloc = list___3->nr + 1U;
      } else {
        list___3->alloc = ((list___3->alloc + 16U) * 3U) / 2U;
      }
      tmp = st_mult(sizeof(*(list___3->items)), (size_t )list___3->alloc);
      tmp___0 = xrealloc((void *)list___3->items, tmp);
      list___3->items = (struct string_list_item *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = list___3->nr;
  (list___3->nr) ++;
  retval = list___3->items + tmp___1;
  retval->string = string___0;
  retval->util = (void *)0;
  return (retval);
}
}
struct string_list_item *string_list_append(struct string_list *list___3 , char const   *string___0 )
{
  char *tmp ;
  char *tmp___0 ;
  struct string_list_item *tmp___1 ;

  {
  if (list___3->strdup_strings) {
    tmp = xstrdup(string___0);
    tmp___0 = tmp;
  } else {
    tmp___0 = (char *)string___0;
  }
  tmp___1 = string_list_append_nodup(list___3, tmp___0);
  return (tmp___1);
}
}
static int cmp_items(void const   *a , void const   *b___0 , void *ctx___0 )
{
  struct string_list_sort_ctx *sort_ctx ;
  struct string_list_item  const  *one___0 ;
  struct string_list_item  const  *two___0 ;
  int tmp ;

  {
  sort_ctx = (struct string_list_sort_ctx *)ctx___0;
  one___0 = (struct string_list_item  const  *)a;
  two___0 = (struct string_list_item  const  *)b___0;
  tmp = (*(sort_ctx->cmp))((char const   *)one___0->string, (char const   *)two___0->string);
  return (tmp);
}
}
void string_list_sort(struct string_list *list___3 )
{
  struct string_list_sort_ctx sort_ctx ;
  int ( __attribute__((__nonnull__(1,2), __leaf__)) (*tmp))(char const   * , char const   * ) ;
  int tmp___0 ;

  {
  if (list___3->cmp) {
    tmp = (int ( __attribute__((__nonnull__(1,2), __leaf__)) (*))(char const   * ,
                                                                  char const   * ))list___3->cmp;
  } else {
    tmp = & strcmp;
  }
  sort_ctx.cmp = (int (*)(char const   * , char const   * ))tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = git_qsort_s((void *)list___3->items, (size_t )list___3->nr, sizeof(*(list___3->items)),
                          & cmp_items, (void *)(& sort_ctx));
    if (tmp___0) {
      BUG_fl((char const   *)"string-list.c", 245, (char const   *)"qsort_s() failed");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
struct string_list_item *unsorted_string_list_lookup(struct string_list *list___3 ,
                                                     char const   *string___0 )
{
  struct string_list_item *item___0 ;
  int (*cmp___0)(char const   * , char const   * ) ;
  int ( __attribute__((__nonnull__(1,2), __leaf__)) (*tmp))(char const   * , char const   * ) ;
  int tmp___0 ;

  {
  if (list___3->cmp) {
    tmp = (int ( __attribute__((__nonnull__(1,2), __leaf__)) (*))(char const   * ,
                                                                  char const   * ))list___3->cmp;
  } else {
    tmp = & strcmp;
  }
  cmp___0 = (int (*)(char const   * , char const   * ))tmp;
  item___0 = list___3->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(list___3->items + list___3->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___0 = (*cmp___0)(string___0, (char const   *)item___0->string);
    if (! tmp___0) {
      return (item___0);
    }
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct string_list_item *)((void *)0));
}
}
int unsorted_string_list_has_string(struct string_list *list___3 , char const   *string___0 )
{
  struct string_list_item *tmp ;

  {
  tmp = unsorted_string_list_lookup(list___3, string___0);
  return ((unsigned long )tmp != (unsigned long )((void *)0));
}
}
void unsorted_string_list_delete_item(struct string_list *list___3 , int i , int free_util )
{


  {
  if (list___3->strdup_strings) {
    free((void *)(list___3->items + i)->string);
  }
  if (free_util) {
    free((list___3->items + i)->util);
  }
  *(list___3->items + i) = *(list___3->items + (list___3->nr - 1U));
  (list___3->nr) --;
  return;
}
}
int string_list_split(struct string_list *list___3 , char const   *string___0 , int delim___0 ,
                      int maxsplit )
{
  int count___0 ;
  char const   *p___0 ;
  char const   *end ;
  char *tmp ;
  void *tmp___0 ;

  {
  count___0 = 0;
  p___0 = string___0;
  if (! list___3->strdup_strings) {
    die((char const   *)"internal error in string_list_split(): list->strdup_strings must be set");
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    count___0 ++;
    if (maxsplit >= 0) {
      if (count___0 > maxsplit) {
        string_list_append(list___3, p___0);
        return (count___0);
      }
    }
    tmp = strchr(p___0, delim___0);
    end = (char const   *)tmp;
    if (end) {
      tmp___0 = xmemdupz((void const   *)p___0, (size_t )(end - p___0));
      string_list_append_nodup(list___3, (char *)tmp___0);
      p___0 = end + 1;
    } else {
      string_list_append(list___3, p___0);
      return (count___0);
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
int string_list_split_in_place(struct string_list *list___3 , char *string___0 , int delim___0 ,
                               int maxsplit )
{
  int count___0 ;
  char *p___0 ;
  char *end ;

  {
  count___0 = 0;
  p___0 = string___0;
  if (list___3->strdup_strings) {
    die((char const   *)"internal error in string_list_split_in_place(): list->strdup_strings must not be set");
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    count___0 ++;
    if (maxsplit >= 0) {
      if (count___0 > maxsplit) {
        string_list_append(list___3, (char const   *)p___0);
        return (count___0);
      }
    }
    end = strchr((char const   *)p___0, delim___0);
    if (end) {
      *end = (char )'\000';
      string_list_append(list___3, (char const   *)p___0);
      p___0 = end + 1;
    } else {
      string_list_append(list___3, (char const   *)p___0);
      return (count___0);
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
int cmp_strmap_entry(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry1 ,
                     struct hashmap_entry  const  *entry2 , void const   *keydata )
{
  struct strmap_entry  const  *e1 ;
  struct strmap_entry  const  *e2 ;
  int tmp ;

  {
  e1 = (struct strmap_entry  const  *)((char *)entry1 - (unsigned long )(& ((struct strmap_entry  const  *)0)->ent));
  e2 = (struct strmap_entry  const  *)((char *)entry2 - (unsigned long )(& ((struct strmap_entry  const  *)0)->ent));
  tmp = strcmp((char const   *)e1->key, (char const   *)e2->key);
  return (tmp);
}
}
static struct strmap_entry *find_strmap_entry(struct strmap *map___0 , char const   *str )
{
  struct strmap_entry entry ;
  unsigned int tmp ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;

  {
  tmp = strhash(str);
  hashmap_entry_init(& entry.ent, tmp);
  entry.key = str;
  tmp___0 = hashmap_get((struct hashmap  const  *)(& map___0->map), (struct hashmap_entry  const  *)(& entry.ent),
                        (void const   *)((void *)0));
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  return ((struct strmap_entry *)tmp___1);
}
}
void strmap_init(struct strmap *map___0 )
{
  struct strmap blank___1 ;

  {
  blank___1.map.table = (struct hashmap_entry **)0;
  blank___1.map.cmpfn = & cmp_strmap_entry;
  blank___1.map.cmpfn_data = (void const   *)((void *)0);
  blank___1.map.private_size = 0U;
  blank___1.map.tablesize = 0U;
  blank___1.map.grow_at = 0U;
  blank___1.map.shrink_at = 0U;
  blank___1.map.do_count_items = 1U;
  blank___1.pool = (struct mem_pool *)0;
  blank___1.strdup_strings = 1U;
  memcpy((void *)map___0, (void const   *)(& blank___1), sizeof(*map___0));
  return;
}
}
void strmap_init_with_options(struct strmap *map___0 , struct mem_pool *pool , int strdup_strings )
{


  {
  hashmap_init(& map___0->map, & cmp_strmap_entry, (void const   *)((void *)0), (size_t )0);
  map___0->pool = pool;
  map___0->strdup_strings = (unsigned int )strdup_strings;
  return;
}
}
static void strmap_free_entries_(struct strmap *map___0 , int free_values )
{
  struct hashmap_iter iter___0 ;
  struct strmap_entry *e ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;

  {
  if (! map___0) {
    return;
  }
  if (! free_values) {
    if (map___0->pool) {
      return;
    }
  }
  e = (struct strmap_entry *)((void *)0);
  tmp = hashmap_iter_first(& map___0->map, & iter___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  e = (struct strmap_entry *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! e) {
      goto while_break;
    }
    if (free_values) {
      free(e->value);
    }
    if (! map___0->pool) {
      free((void *)e);
    }
    tmp___1 = hashmap_iter_next(& iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct strmap_entry *)0)->ent));
    e = (struct strmap_entry *)tmp___2;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void strmap_clear(struct strmap *map___0 , int free_values )
{


  {
  strmap_free_entries_(map___0, free_values);
  hashmap_clear_(& map___0->map, (ssize_t )-1);
  return;
}
}
void strmap_partial_clear(struct strmap *map___0 , int free_values )
{


  {
  strmap_free_entries_(map___0, free_values);
  hashmap_partial_clear_(& map___0->map, (ssize_t )-1);
  return;
}
}
static struct strmap_entry *create_entry(struct strmap *map___0 , char const   *str ,
                                         void *data )
{
  struct strmap_entry *entry ;
  size_t flex_array_len_ ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  size_t len___0 ;
  size_t tmp___3 ;
  size_t tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  void *tmp___7 ;
  void *tmp___8 ;
  unsigned int tmp___9 ;

  {
  if (map___0->strdup_strings) {
    if (! map___0->pool) {
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        tmp = strlen(str);
        flex_array_len_ = tmp;
        tmp___0 = st_add(sizeof(*entry), flex_array_len_);
        tmp___1 = st_add(tmp___0, (size_t )1);
        tmp___2 = xcalloc((size_t )1, tmp___1);
        entry = (struct strmap_entry *)tmp___2;
        memcpy((void *)(entry + 1), (void const   *)str, flex_array_len_);
        entry->key = (char const   *)((void *)(entry + 1));
        goto while_break;
      }
      while_break: /* CIL Label */ ;
      }
    } else {
      tmp___3 = strlen(str);
      tmp___4 = st_add(tmp___3, (size_t )1);
      len___0 = tmp___4;
      tmp___5 = st_add(sizeof(*entry), len___0);
      tmp___6 = mem_pool_alloc(map___0->pool, tmp___5);
      entry = (struct strmap_entry *)tmp___6;
      memcpy((void *)(entry + 1), (void const   *)str, len___0);
      entry->key = (char const   *)((void *)(entry + 1));
    }
  } else
  if (! map___0->pool) {
    tmp___7 = xmalloc(sizeof(*entry));
    entry = (struct strmap_entry *)tmp___7;
  } else {
    tmp___8 = mem_pool_alloc(map___0->pool, sizeof(*entry));
    entry = (struct strmap_entry *)tmp___8;
  }
  tmp___9 = strhash(str);
  hashmap_entry_init(& entry->ent, tmp___9);
  if (! map___0->strdup_strings) {
    entry->key = str;
  }
  entry->value = data;
  return (entry);
}
}
void *strmap_put(struct strmap *map___0 , char const   *str , void *data )
{
  struct strmap_entry *entry ;
  struct strmap_entry *tmp ;
  void *old ;

  {
  tmp = find_strmap_entry(map___0, str);
  entry = tmp;
  if (entry) {
    old = entry->value;
    entry->value = data;
    return (old);
  }
  entry = create_entry(map___0, str, data);
  hashmap_add(& map___0->map, & entry->ent);
  return ((void *)0);
}
}
struct strmap_entry *strmap_get_entry(struct strmap *map___0 , char const   *str )
{
  struct strmap_entry *tmp ;

  {
  tmp = find_strmap_entry(map___0, str);
  return (tmp);
}
}
void *strmap_get(struct strmap *map___0 , char const   *str )
{
  struct strmap_entry *entry ;
  struct strmap_entry *tmp ;
  void *tmp___0 ;

  {
  tmp = find_strmap_entry(map___0, str);
  entry = tmp;
  if (entry) {
    tmp___0 = entry->value;
  } else {
    tmp___0 = (void *)0;
  }
  return (tmp___0);
}
}
int strmap_contains(struct strmap *map___0 , char const   *str )
{
  struct strmap_entry *tmp ;

  {
  tmp = find_strmap_entry(map___0, str);
  return ((unsigned long )tmp != (unsigned long )((void *)0));
}
}
void strmap_remove(struct strmap *map___0 , char const   *str , int free_value )
{
  struct strmap_entry entry ;
  struct strmap_entry *ret___67 ;
  unsigned int tmp ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;

  {
  tmp = strhash(str);
  hashmap_entry_init(& entry.ent, tmp);
  entry.key = str;
  tmp___0 = hashmap_remove(& map___0->map, (struct hashmap_entry  const  *)(& entry.ent),
                           (void const   *)((void *)0));
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct strmap_entry *)0)->ent));
  ret___67 = (struct strmap_entry *)tmp___1;
  if (! ret___67) {
    return;
  }
  if (free_value) {
    free(ret___67->value);
  }
  if (! map___0->pool) {
    free((void *)ret___67);
  }
  return;
}
}
void strintmap_incr(struct strintmap *map___0 , char const   *str , intptr_t amt )
{
  struct strmap_entry *entry ;
  struct strmap_entry *tmp ;
  intptr_t *whence___0 ;

  {
  tmp = find_strmap_entry(& map___0->map, str);
  entry = tmp;
  if (entry) {
    whence___0 = (intptr_t *)(& entry->value);
    *whence___0 += amt;
  } else {
    strintmap_set(map___0, str, (intptr_t )map___0->default_value + amt);
  }
  return;
}
}
int strset_add(struct strset *set , char const   *str )
{
  struct strmap_entry *entry ;
  struct strmap_entry *tmp ;

  {
  tmp = find_strmap_entry(& set->map, str);
  entry = tmp;
  if (entry) {
    return (0);
  }
  entry = create_entry(& set->map, str, (void *)0);
  hashmap_add(& set->map.map, & entry->ent);
  return (1);
}
}
char const   *empty_strvec[1]  = {      (char const   *)((void *)0)};
void strvec_init(struct strvec *array )
{
  struct strvec blank___1 ;

  {
  blank___1.v = empty_strvec;
  blank___1.nr = 0UL;
  blank___1.alloc = 0UL;
  memcpy((void *)array, (void const   *)(& blank___1), sizeof(*array));
  return;
}
}
static void strvec_push_nodup(struct strvec *array , char const   *value )
{
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;

  {
  if ((unsigned long )array->v == (unsigned long )(empty_strvec)) {
    array->v = (char const   **)((void *)0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (array->nr + 2UL > array->alloc) {
      if (((array->alloc + 16UL) * 3UL) / 2UL < array->nr + 2UL) {
        array->alloc = array->nr + 2UL;
      } else {
        array->alloc = ((array->alloc + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*(array->v)), array->alloc);
      tmp___0 = xrealloc((void *)array->v, tmp);
      array->v = (char const   **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = array->nr;
  (array->nr) ++;
  *(array->v + tmp___1) = value;
  *(array->v + array->nr) = (char const   *)((void *)0);
  return;
}
}
char const   *strvec_push(struct strvec *array , char const   *value )
{
  char *tmp ;

  {
  tmp = xstrdup(value);
  strvec_push_nodup(array, (char const   *)tmp);
  return (*(array->v + (array->nr - 1UL)));
}
}
char const   *( /* format attribute */  strvec_pushf)(struct strvec *array , char const   *fmt
                                                      , ...)
{
  va_list ap ;
  struct strbuf v ;
  char *tmp ;

  {
  v.alloc = 0UL;
  v.len = 0UL;
  v.buf = strbuf_slopbuf;
  __builtin_va_start(ap, fmt);
  strbuf_vaddf(& v, fmt, ap);
  __builtin_va_end(ap);
  tmp = strbuf_detach(& v, (size_t *)((void *)0));
  strvec_push_nodup(array, (char const   *)tmp);
  return (*(array->v + (array->nr - 1UL)));
}
}
void __attribute__((__sentinel__))  strvec_pushl(struct strvec *array  , ...)
{
  va_list ap ;
  char const   *arg ;
  char const   *tmp ;

  {
  __builtin_va_start(ap, array);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = __builtin_va_arg(ap, char const   *);
    arg = tmp;
    if (! arg) {
      goto while_break;
    }
    strvec_push(array, arg);
  }
  while_break: /* CIL Label */ ;
  }
  __builtin_va_end(ap);
  return;
}
}
void strvec_pushv(struct strvec *array , char const   **items )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *items) {
      goto while_break;
    }
    strvec_push(array, *items);
    items ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void strvec_pop(struct strvec *array )
{


  {
  if (! array->nr) {
    return;
  }
  free((void *)((char *)*(array->v + (array->nr - 1UL))));
  *(array->v + (array->nr - 1UL)) = (char const   *)((void *)0);
  (array->nr) --;
  return;
}
}
void strvec_split(struct strvec *array , char const   *to_split )
{
  char const   *p___0 ;
  char *tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (((int const   )sane_ctype[(unsigned char )*to_split] & 1) != 0)) {
      goto while_break;
    }
    to_split ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    p___0 = to_split;
    if (! *p___0) {
      goto while_break___0;
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (*p___0) {
        if (! (! (((int const   )sane_ctype[(unsigned char )*p___0] & 1) != 0))) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      p___0 ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    tmp = xstrndup(to_split, (size_t )(p___0 - to_split));
    strvec_push_nodup(array, (char const   *)tmp);
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (((int const   )sane_ctype[(unsigned char )*p___0] & 1) != 0)) {
        goto while_break___2;
      }
      p___0 ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    to_split = p___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
void strvec_clear(struct strvec *array )
{
  int i ;

  {
  if ((unsigned long )array->v != (unsigned long )(empty_strvec)) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((size_t )i < array->nr)) {
        goto while_break;
      }
      free((void *)((char *)*(array->v + i)));
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    free((void *)array->v);
  }
  strvec_init(array);
  return;
}
}
char const   **strvec_detach(struct strvec *array )
{
  void *tmp ;
  char const   **ret___67 ;

  {
  if ((unsigned long )array->v == (unsigned long )(empty_strvec)) {
    tmp = xcalloc((size_t )1, sizeof(char const   *));
    return ((char const   **)tmp);
  } else {
    ret___67 = array->v;
    strvec_init(array);
    return (ret___67);
  }
}
}
int cmd2process_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *eptr ,
                    struct hashmap_entry  const  *entry_or_key , void const   *unused_keydata )
{
  struct subprocess_entry  const  *e1 ;
  struct subprocess_entry  const  *e2 ;
  int tmp ;

  {
  e1 = (struct subprocess_entry  const  *)((char *)eptr - (unsigned long )(& ((struct subprocess_entry  const  *)0)->ent));
  e2 = (struct subprocess_entry  const  *)((char *)entry_or_key - (unsigned long )(& ((struct subprocess_entry  const  *)0)->ent));
  tmp = strcmp((char const   *)e1->cmd, (char const   *)e2->cmd);
  return (tmp);
}
}
struct subprocess_entry *subprocess_find_entry(struct hashmap *hashmap , char const   *cmd )
{
  struct subprocess_entry key___1 ;
  unsigned int tmp ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;

  {
  tmp = strhash(cmd);
  hashmap_entry_init(& key___1.ent, tmp);
  key___1.cmd = cmd;
  tmp___0 = hashmap_get((struct hashmap  const  *)hashmap, (struct hashmap_entry  const  *)(& key___1.ent),
                        (void const   *)((void *)0));
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct subprocess_entry *)0)->ent));
  return ((struct subprocess_entry *)tmp___1);
}
}
int subprocess_read_status(int fd , struct strbuf *status )
{
  struct strbuf **pair ;
  char *line___0 ;
  int len___0 ;
  int tmp ;
  int tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    len___0 = packet_read_line_gently(fd, (int *)((void *)0), & line___0);
    if (len___0 < 0) {
      goto while_break;
    } else
    if (! line___0) {
      goto while_break;
    }
    pair = strbuf_split_str((char const   *)line___0, '=', 2);
    if (*(pair + 0)) {
      if ((*(pair + 0))->len) {
        if (*(pair + 1)) {
          tmp = strcmp((char const   *)(*(pair + 0))->buf, (char const   *)"status=");
          if (! tmp) {
            strbuf_setlen(status, (size_t )0);
            strbuf_addbuf(status, (struct strbuf  const  *)*(pair + 1));
          }
        }
      }
    }
    strbuf_list_free(pair);
  }
  while_break: /* CIL Label */ ;
  }
  if (len___0 < 0) {
    tmp___0 = len___0;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
void subprocess_stop(struct hashmap *hashmap , struct subprocess_entry *entry )
{


  {
  if (! entry) {
    return;
  }
  entry->process.clean_on_exit = 0U;
  kill(entry->process.pid, 15);
  finish_command(& entry->process);
  hashmap_remove(hashmap, (struct hashmap_entry  const  *)(& entry->ent), (void const   *)((void *)0));
  return;
}
}
static void subprocess_exit_handler(struct child_process *process___0 )
{


  {
  sigchain_push(13, (void (*)(int  ))1);
  close(process___0->in);
  close(process___0->out);
  sigchain_pop(13);
  finish_command(process___0);
  return;
}
}
int subprocess_start(struct hashmap *hashmap , struct subprocess_entry *entry , char const   *cmd ,
                     int (*startfn)(struct subprocess_entry *entry ) )
{
  int err___4 ;
  struct child_process *process___0 ;
  unsigned int tmp ;

  {
  entry->cmd = cmd;
  process___0 = & entry->process;
  child_process_init(process___0);
  strvec_push(& process___0->args, cmd);
  process___0->use_shell = 1U;
  process___0->in = -1;
  process___0->out = -1;
  process___0->clean_on_exit = 1U;
  process___0->clean_on_exit_handler = & subprocess_exit_handler;
  process___0->trace2_child_class = (char const   *)"subprocess";
  err___4 = start_command(process___0);
  if (err___4) {
    error((char const   *)"cannot fork to run subprocess \'%s\'", cmd);
    const_error();
    return (err___4);
  }
  tmp = strhash(cmd);
  hashmap_entry_init(& entry->ent, tmp);
  err___4 = (*startfn)(entry);
  if (err___4) {
    error((char const   *)"initialization for subprocess \'%s\' failed", cmd);
    const_error();
    subprocess_stop(hashmap, entry);
    return (err___4);
  }
  hashmap_add(hashmap, & entry->ent);
  return (0);
}
}
static int handshake_version(struct child_process *process___0 , char const   *welcome_prefix ,
                             int *versions___0 , int *chosen_version )
{
  int version_scratch ;
  int i ;
  char *line___0 ;
  char const   *p___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;

  {
  if (! chosen_version) {
    chosen_version = & version_scratch;
  }
  tmp___0 = packet_write_fmt_gently(process___0->in, (char const   *)"%s-client\n",
                                    welcome_prefix);
  if (tmp___0) {
    error((char const   *)"Could not write client identification");
    tmp = const_error();
    return (tmp);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(versions___0 + i)) {
      goto while_break;
    }
    tmp___2 = packet_write_fmt_gently(process___0->in, (char const   *)"version=%d\n",
                                      *(versions___0 + i));
    if (tmp___2) {
      error((char const   *)"Could not write requested version");
      tmp___1 = const_error();
      return (tmp___1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___4 = packet_flush_gently(process___0->in);
  if (tmp___4) {
    error((char const   *)"Could not write flush packet");
    tmp___3 = const_error();
    return (tmp___3);
  }
  line___0 = packet_read_line(process___0->out, (int *)((void *)0));
  if (line___0) {
    tmp___7 = skip_prefix((char const   *)line___0, welcome_prefix, & p___0);
    if (tmp___7) {
      tmp___8 = strcmp(p___0, (char const   *)"-server");
      if (tmp___8) {
        _L: /* CIL Label */
        if (line___0) {
          tmp___5 = line___0;
        } else {
          tmp___5 = "<flush packet>";
        }
        error((char const   *)"Unexpected line \'%s\', expected %s-server", tmp___5,
              welcome_prefix);
        tmp___6 = const_error();
        return (tmp___6);
      }
    } else {
      goto _L;
    }
  } else {
    goto _L;
  }
  line___0 = packet_read_line(process___0->out, (int *)((void *)0));
  if (line___0) {
    tmp___11 = skip_prefix((char const   *)line___0, (char const   *)"version=", & p___0);
    if (tmp___11) {
      tmp___12 = strtol_i(p___0, 10, chosen_version);
      if (tmp___12) {
        _L___0: /* CIL Label */
        if (line___0) {
          tmp___9 = line___0;
        } else {
          tmp___9 = "<flush packet>";
        }
        error((char const   *)"Unexpected line \'%s\', expected version", tmp___9);
        tmp___10 = const_error();
        return (tmp___10);
      }
    } else {
      goto _L___0;
    }
  } else {
    goto _L___0;
  }
  line___0 = packet_read_line(process___0->out, (int *)((void *)0));
  if (line___0) {
    error((char const   *)"Unexpected line \'%s\', expected flush", line___0);
    tmp___13 = const_error();
    return (tmp___13);
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! *(versions___0 + i)) {
      goto while_break___0;
    }
    if (*(versions___0 + i) == *chosen_version) {
      goto while_break___0;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (! *(versions___0 + i)) {
    error((char const   *)"Version %d not supported", *chosen_version);
    tmp___14 = const_error();
    return (tmp___14);
  }
  return (0);
}
}
static int handshake_capabilities(struct child_process *process___0 , struct subprocess_capability *capabilities___2 ,
                                  unsigned int *supported_capabilities )
{
  int i ;
  char *line___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const   *p___0 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (capabilities___2 + i)->name) {
      goto while_break;
    }
    tmp___0 = packet_write_fmt_gently(process___0->in, (char const   *)"capability=%s\n",
                                      (capabilities___2 + i)->name);
    if (tmp___0) {
      error((char const   *)"Could not write requested capability");
      tmp = const_error();
      return (tmp);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = packet_flush_gently(process___0->in);
  if (tmp___2) {
    error((char const   *)"Could not write flush packet");
    tmp___1 = const_error();
    return (tmp___1);
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    line___0 = packet_read_line(process___0->out, (int *)((void *)0));
    if (! line___0) {
      goto while_break___0;
    }
    tmp___3 = skip_prefix((char const   *)line___0, (char const   *)"capability=",
                          & p___0);
    if (! tmp___3) {
      goto while_continue___0;
    }
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if ((capabilities___2 + i)->name) {
        tmp___4 = strcmp(p___0, (capabilities___2 + i)->name);
        if (! tmp___4) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if ((capabilities___2 + i)->name) {
      if (supported_capabilities) {
        *supported_capabilities |= (capabilities___2 + i)->flag;
      }
    } else {
      die((char const   *)"subprocess \'%s\' requested unsupported capability \'%s\'",
          *(process___0->args.v + 0), p___0);
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  return (0);
}
}
int subprocess_handshake(struct subprocess_entry *entry , char const   *welcome_prefix ,
                         int *versions___0 , int *chosen_version , struct subprocess_capability *capabilities___2 ,
                         unsigned int *supported_capabilities )
{
  int retval ;
  struct child_process *process___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  process___0 = & entry->process;
  sigchain_push(13, (void (*)(int  ))1);
  tmp = handshake_version(process___0, welcome_prefix, versions___0, chosen_version);
  if (tmp) {
    tmp___1 = 1;
  } else {
    tmp___0 = handshake_capabilities(process___0, capabilities___2, supported_capabilities);
    if (tmp___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  }
  retval = tmp___1;
  sigchain_pop(13);
  return (retval);
}
}
static double const   __ac_HASH_UPPER___88  =    (double const   )0.77;
__inline static void kh_resize_oid_set___88(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___88(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___88 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___88 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___88(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___88(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___88(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___88(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___88(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___88(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___88 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___88 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___88(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___88(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___88(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___88(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___88(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___88(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___88 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___88 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___88(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___88(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___88(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___88(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___67(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___67(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___88 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___88 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___67(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___67(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___67(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___67(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int config_path_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *eptr ,
                           struct hashmap_entry  const  *entry_or_key , void const   *unused_keydata )
{
  struct submodule_entry  const  *a ;
  struct submodule_entry  const  *b___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  a = (struct submodule_entry  const  *)((char *)eptr - (unsigned long )(& ((struct submodule_entry  const  *)0)->ent));
  b___0 = (struct submodule_entry  const  *)((char *)entry_or_key - (unsigned long )(& ((struct submodule_entry  const  *)0)->ent));
  tmp = strcmp((a->config)->path, (b___0->config)->path);
  if (tmp) {
    tmp___1 = 1;
  } else {
    tmp___0 = oideq((struct object_id  const  *)(& (a->config)->gitmodules_oid), (struct object_id  const  *)(& (b___0->config)->gitmodules_oid));
    if (tmp___0) {
      tmp___1 = 0;
    } else {
      tmp___1 = 1;
    }
  }
  return (tmp___1);
}
}
static int config_name_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *eptr ,
                           struct hashmap_entry  const  *entry_or_key , void const   *unused_keydata )
{
  struct submodule_entry  const  *a ;
  struct submodule_entry  const  *b___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  a = (struct submodule_entry  const  *)((char *)eptr - (unsigned long )(& ((struct submodule_entry  const  *)0)->ent));
  b___0 = (struct submodule_entry  const  *)((char *)entry_or_key - (unsigned long )(& ((struct submodule_entry  const  *)0)->ent));
  tmp = strcmp((a->config)->name, (b___0->config)->name);
  if (tmp) {
    tmp___1 = 1;
  } else {
    tmp___0 = oideq((struct object_id  const  *)(& (a->config)->gitmodules_oid), (struct object_id  const  *)(& (b___0->config)->gitmodules_oid));
    if (tmp___0) {
      tmp___1 = 0;
    } else {
      tmp___1 = 1;
    }
  }
  return (tmp___1);
}
}
static struct submodule_cache *submodule_cache_alloc(void)
{
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(struct submodule_cache ));
  return ((struct submodule_cache *)tmp);
}
}
static void submodule_cache_init(struct submodule_cache *cache___0 )
{


  {
  hashmap_init(& cache___0->for_path, & config_path_cmp, (void const   *)((void *)0),
               (size_t )0);
  hashmap_init(& cache___0->for_name, & config_name_cmp, (void const   *)((void *)0),
               (size_t )0);
  cache___0->initialized = 1U;
  return;
}
}
static void free_one_config(struct submodule_entry *entry )
{


  {
  free((void *)(entry->config)->path);
  free((void *)(entry->config)->name);
  free((void *)(entry->config)->branch);
  free((void *)(entry->config)->update_strategy.command);
  free((void *)entry->config);
  return;
}
}
static void submodule_cache_clear(struct submodule_cache *cache___0 )
{
  struct hashmap_iter iter___0 ;
  struct submodule_entry *entry ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;

  {
  if (! cache___0->initialized) {
    return;
  }
  entry = (struct submodule_entry *)((void *)0);
  tmp = hashmap_iter_first(& cache___0->for_name, & iter___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct submodule_entry *)0)->ent));
  entry = (struct submodule_entry *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! entry) {
      goto while_break;
    }
    free_one_config(entry);
    tmp___1 = hashmap_iter_next(& iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct submodule_entry *)0)->ent));
    entry = (struct submodule_entry *)tmp___2;
  }
  while_break: /* CIL Label */ ;
  }
  hashmap_clear_(& cache___0->for_path, (ssize_t )((unsigned long )(& ((struct submodule_entry *)0)->ent)));
  hashmap_clear_(& cache___0->for_name, (ssize_t )((unsigned long )(& ((struct submodule_entry *)0)->ent)));
  cache___0->initialized = 0U;
  cache___0->gitmodules_read = 0U;
  return;
}
}
void submodule_cache_free(struct submodule_cache *cache___0 )
{


  {
  submodule_cache_clear(cache___0);
  free((void *)cache___0);
  return;
}
}
static unsigned int hash_oid_string(struct object_id  const  *oid , char const   *string___0 )
{
  unsigned int tmp ;
  unsigned int tmp___0 ;

  {
  tmp = memhash((void const   *)(oid->hash), (size_t )(the_repository->hash_algo)->rawsz);
  tmp___0 = strhash(string___0);
  return (tmp + tmp___0);
}
}
static void cache_put_path(struct submodule_cache *cache___0 , struct submodule *submodule )
{
  unsigned int hash___0 ;
  unsigned int tmp ;
  struct submodule_entry *e ;
  void *tmp___0 ;

  {
  tmp = hash_oid_string((struct object_id  const  *)(& submodule->gitmodules_oid),
                        submodule->path);
  hash___0 = tmp;
  tmp___0 = xmalloc(sizeof(*e));
  e = (struct submodule_entry *)tmp___0;
  hashmap_entry_init(& e->ent, hash___0);
  e->config = submodule;
  hashmap_put(& cache___0->for_path, & e->ent);
  return;
}
}
static void cache_remove_path(struct submodule_cache *cache___0 , struct submodule *submodule )
{
  unsigned int hash___0 ;
  unsigned int tmp ;
  struct submodule_entry e ;
  struct submodule_entry *removed ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;

  {
  tmp = hash_oid_string((struct object_id  const  *)(& submodule->gitmodules_oid),
                        submodule->path);
  hash___0 = tmp;
  hashmap_entry_init(& e.ent, hash___0);
  e.config = submodule;
  tmp___0 = hashmap_remove(& cache___0->for_path, (struct hashmap_entry  const  *)(& e.ent),
                           (void const   *)((void *)0));
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct submodule_entry *)0)->ent));
  removed = (struct submodule_entry *)tmp___1;
  free((void *)removed);
  return;
}
}
static void cache_add(struct submodule_cache *cache___0 , struct submodule *submodule )
{
  unsigned int hash___0 ;
  unsigned int tmp ;
  struct submodule_entry *e ;
  void *tmp___0 ;

  {
  tmp = hash_oid_string((struct object_id  const  *)(& submodule->gitmodules_oid),
                        submodule->name);
  hash___0 = tmp;
  tmp___0 = xmalloc(sizeof(*e));
  e = (struct submodule_entry *)tmp___0;
  hashmap_entry_init(& e->ent, hash___0);
  e->config = submodule;
  hashmap_add(& cache___0->for_name, & e->ent);
  return;
}
}
static struct submodule  const  *cache_lookup_path(struct submodule_cache *cache___0 ,
                                                   struct object_id  const  *gitmodules_oid ,
                                                   char const   *path___6 )
{
  struct submodule_entry *entry ;
  unsigned int hash___0 ;
  unsigned int tmp ;
  struct submodule_entry key___1 ;
  struct submodule key_config ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;

  {
  tmp = hash_oid_string(gitmodules_oid, path___6);
  hash___0 = tmp;
  oidcpy(& key_config.gitmodules_oid, gitmodules_oid);
  key_config.path = path___6;
  hashmap_entry_init(& key___1.ent, hash___0);
  key___1.config = & key_config;
  tmp___0 = hashmap_get((struct hashmap  const  *)(& cache___0->for_path), (struct hashmap_entry  const  *)(& key___1.ent),
                        (void const   *)((void *)0));
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct submodule_entry *)0)->ent));
  entry = (struct submodule_entry *)tmp___1;
  if (entry) {
    return ((struct submodule  const  *)entry->config);
  }
  return ((struct submodule  const  *)((void *)0));
}
}
static struct submodule *cache_lookup_name(struct submodule_cache *cache___0 , struct object_id  const  *gitmodules_oid ,
                                           char const   *name___0 )
{
  struct submodule_entry *entry ;
  unsigned int hash___0 ;
  unsigned int tmp ;
  struct submodule_entry key___1 ;
  struct submodule key_config ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;

  {
  tmp = hash_oid_string(gitmodules_oid, name___0);
  hash___0 = tmp;
  oidcpy(& key_config.gitmodules_oid, gitmodules_oid);
  key_config.name = name___0;
  hashmap_entry_init(& key___1.ent, hash___0);
  key___1.config = & key_config;
  tmp___0 = hashmap_get((struct hashmap  const  *)(& cache___0->for_name), (struct hashmap_entry  const  *)(& key___1.ent),
                        (void const   *)((void *)0));
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct submodule_entry *)0)->ent));
  entry = (struct submodule_entry *)tmp___1;
  if (entry) {
    return (entry->config);
  }
  return ((struct submodule *)((void *)0));
}
}
int check_submodule_name(char const   *name___0 )
{
  char c___0 ;
  char const   *tmp ;

  {
  if (! *name___0) {
    return (-1);
  }
  goto _L;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *name___0) {
      goto while_break;
    }
    tmp = name___0;
    name___0 ++;
    c___0 = (char )*tmp;
    if ((int )c___0 == 47) {
      goto _L;
    } else
    if ((int )c___0 == 92) {
      _L: /* CIL Label */
      in_component:
      if ((int const   )*(name___0 + 0) == 46) {
        if ((int const   )*(name___0 + 1) == 46) {
          if (! *(name___0 + 2)) {
            return (-1);
          } else
          if ((int const   )*(name___0 + 2) == 47) {
            return (-1);
          } else
          if ((int const   )*(name___0 + 2) == 92) {
            return (-1);
          }
        }
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int name_and_item_from_var(char const   *var , struct strbuf *name___0 , struct strbuf *item___0 )
{
  char const   *subsection ;
  char const   *key___1 ;
  size_t subsection_len ;
  int parse ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  parse = parse_config_key(var, (char const   *)"submodule", & subsection, & subsection_len,
                           & key___1);
  if (parse < 0) {
    return (0);
  } else
  if (! subsection) {
    return (0);
  }
  strbuf_add(name___0, (void const   *)subsection, subsection_len);
  tmp___0 = check_submodule_name((char const   *)name___0->buf);
  if (tmp___0 < 0) {
    tmp = _((char const   *)"ignoring suspicious submodule name: %s");
    warning((char const   *)tmp, name___0->buf);
    strbuf_release(name___0);
    return (0);
  }
  strbuf_addstr(item___0, key___1);
  return (1);
}
}
static struct submodule *lookup_or_create_by_name(struct submodule_cache *cache___0 ,
                                                  struct object_id  const  *gitmodules_oid ,
                                                  char const   *name___0 )
{
  struct submodule *submodule ;
  struct strbuf name_buf ;
  void *tmp ;
  char *tmp___0 ;

  {
  name_buf.alloc = 0UL;
  name_buf.len = 0UL;
  name_buf.buf = strbuf_slopbuf;
  submodule = cache_lookup_name(cache___0, gitmodules_oid, name___0);
  if (submodule) {
    return (submodule);
  }
  tmp = xmalloc(sizeof(*submodule));
  submodule = (struct submodule *)tmp;
  strbuf_addstr(& name_buf, name___0);
  tmp___0 = strbuf_detach(& name_buf, (size_t *)((void *)0));
  submodule->name = (char const   *)tmp___0;
  submodule->path = (char const   *)((void *)0);
  submodule->url = (char const   *)((void *)0);
  submodule->update_strategy.type = (enum submodule_update_type )0;
  submodule->update_strategy.command = (char const   *)((void *)0);
  submodule->fetch_recurse = -2;
  submodule->ignore = (char const   *)((void *)0);
  submodule->branch = (char const   *)((void *)0);
  submodule->recommend_shallow = -1;
  oidcpy(& submodule->gitmodules_oid, gitmodules_oid);
  cache_add(cache___0, submodule);
  return (submodule);
}
}
static int parse_fetch_recurse(char const   *opt___0 , char const   *arg , int die_on_error )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = git_parse_maybe_bool(arg);
  {
  if (tmp == 1) {
    goto case_1;
  }
  if (tmp == 0) {
    goto case_0;
  }
  goto switch_default;
  case_1: /* CIL Label */
  return (2);
  case_0: /* CIL Label */
  return (0);
  switch_default: /* CIL Label */
  tmp___0 = strcmp(arg, (char const   *)"on-demand");
  if (! tmp___0) {
    return (-1);
  }
  if (die_on_error) {
    die((char const   *)"bad %s argument: %s", opt___0, arg);
  } else {
    return (-3);
  }
  switch_break: /* CIL Label */ ;
  }
}
}
int parse_submodule_fetchjobs(char const   *var , char const   *value )
{
  int fetchjobs ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  tmp = git_config_int(var, value);
  fetchjobs = tmp;
  if (fetchjobs < 0) {
    tmp___0 = _((char const   *)"negative values not allowed for submodule.fetchjobs");
    die((char const   *)tmp___0);
  }
  return (fetchjobs);
}
}
int parse_fetch_recurse_submodules_arg(char const   *opt___0 , char const   *arg )
{
  int tmp ;

  {
  tmp = parse_fetch_recurse(opt___0, arg, 1);
  return (tmp);
}
}
int option_fetch_parse_recurse_submodules(struct option  const  *opt___0 , char const   *arg ,
                                          int unset )
{
  int *v ;

  {
  if (! opt___0->value) {
    return (-1);
  }
  v = (int *)opt___0->value;
  if (unset) {
    *v = 0;
  } else
  if (arg) {
    *v = parse_fetch_recurse_submodules_arg((char const   *)opt___0->long_name, arg);
  } else {
    *v = 2;
  }
  return (0);
}
}
static int parse_update_recurse(char const   *opt___0 , char const   *arg , int die_on_error )
{
  int tmp ;

  {
  tmp = git_parse_maybe_bool(arg);
  {
  if (tmp == 1) {
    goto case_1;
  }
  if (tmp == 0) {
    goto case_0;
  }
  goto switch_default;
  case_1: /* CIL Label */
  return (2);
  case_0: /* CIL Label */
  return (0);
  switch_default: /* CIL Label */
  if (die_on_error) {
    die((char const   *)"bad %s argument: %s", opt___0, arg);
  }
  return (-3);
  switch_break: /* CIL Label */ ;
  }
}
}
int parse_update_recurse_submodules_arg(char const   *opt___0 , char const   *arg )
{
  int tmp ;

  {
  tmp = parse_update_recurse(opt___0, arg, 1);
  return (tmp);
}
}
static int parse_push_recurse(char const   *opt___0 , char const   *arg , int die_on_error )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = git_parse_maybe_bool(arg);
  {
  if (tmp == 1) {
    goto case_1;
  }
  if (tmp == 0) {
    goto case_0;
  }
  goto switch_default;
  case_1: /* CIL Label */
  if (die_on_error) {
    die((char const   *)"bad %s argument: %s", opt___0, arg);
  } else {
    return (-3);
  }
  case_0: /* CIL Label */
  return (0);
  switch_default: /* CIL Label */
  tmp___2 = strcmp(arg, (char const   *)"on-demand");
  if (tmp___2) {
    tmp___1 = strcmp(arg, (char const   *)"check");
    if (tmp___1) {
      tmp___0 = strcmp(arg, (char const   *)"only");
      if (tmp___0) {
        if (die_on_error) {
          die((char const   *)"bad %s argument: %s", opt___0, arg);
        } else {
          return (-3);
        }
      } else {
        return (-5);
      }
    } else {
      return (-4);
    }
  } else {
    return (-1);
  }
  switch_break: /* CIL Label */ ;
  }
}
}
int parse_push_recurse_submodules_arg(char const   *opt___0 , char const   *arg )
{
  int tmp ;

  {
  tmp = parse_push_recurse(opt___0, arg, 1);
  return (tmp);
}
}
static void warn_multiple_config(struct object_id  const  *treeish_name , char const   *name___0 ,
                                 char const   *option )
{
  char const   *commit_string ;
  char *tmp ;

  {
  commit_string = (char const   *)"WORKTREE";
  if (treeish_name) {
    tmp = oid_to_hex(treeish_name);
    commit_string = (char const   *)tmp;
  }
  warning((char const   *)"%s:.gitmodules, multiple configurations found for \'submodule.%s.%s\'. Skipping second one!",
          commit_string, name___0, option);
  return;
}
}
static void warn_command_line_option(char const   *var , char const   *value )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  tmp = _((char const   *)"ignoring \'%s\' which may be interpreted as a command-line option: %s");
  warning((char const   *)tmp, var, value);
  return;
}
}
static int parse_config___0(char const   *var , char const   *value , void *data )
{
  struct parse_config_parameter *me ;
  struct submodule *submodule ;
  struct strbuf name___0 ;
  struct strbuf item___0 ;
  int ret___67 ;
  int tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int die_on_error ;
  int tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  char *tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;

  {
  me = (struct parse_config_parameter *)data;
  name___0.alloc = 0UL;
  name___0.len = 0UL;
  name___0.buf = strbuf_slopbuf;
  item___0.alloc = 0UL;
  item___0.len = 0UL;
  item___0.buf = strbuf_slopbuf;
  ret___67 = 0;
  tmp = name_and_item_from_var(var, & name___0, & item___0);
  if (! tmp) {
    return (0);
  }
  submodule = lookup_or_create_by_name(me->cache, me->gitmodules_oid, (char const   *)name___0.buf);
  tmp___19 = strcmp((char const   *)item___0.buf, (char const   *)"path");
  if (tmp___19) {
    tmp___18 = strcmp((char const   *)item___0.buf, (char const   *)"fetchrecursesubmodules");
    if (tmp___18) {
      tmp___17 = strcmp((char const   *)item___0.buf, (char const   *)"ignore");
      if (tmp___17) {
        tmp___16 = strcmp((char const   *)item___0.buf, (char const   *)"url");
        if (tmp___16) {
          tmp___15 = strcmp((char const   *)item___0.buf, (char const   *)"update");
          if (tmp___15) {
            tmp___14 = strcmp((char const   *)item___0.buf, (char const   *)"shallow");
            if (tmp___14) {
              tmp___13 = strcmp((char const   *)item___0.buf, (char const   *)"branch");
              if (! tmp___13) {
                if (! me->overwrite) {
                  if (submodule->branch) {
                    warn_multiple_config(me->treeish_name, submodule->name, (char const   *)"branch");
                  } else {
                    free((void *)submodule->branch);
                    tmp___12 = xstrdup(value);
                    submodule->branch = (char const   *)tmp___12;
                  }
                } else {
                  free((void *)submodule->branch);
                  tmp___12 = xstrdup(value);
                  submodule->branch = (char const   *)tmp___12;
                }
              }
            } else
            if (! me->overwrite) {
              if (submodule->recommend_shallow != -1) {
                warn_multiple_config(me->treeish_name, submodule->name, (char const   *)"shallow");
              } else {
                submodule->recommend_shallow = git_config_bool(var, value);
              }
            } else {
              submodule->recommend_shallow = git_config_bool(var, value);
            }
          } else
          if (! value) {
            config_error_nonbool(var);
            ret___67 = const_error();
          } else
          if (! me->overwrite) {
            if ((unsigned int )submodule->update_strategy.type != 0U) {
              warn_multiple_config(me->treeish_name, submodule->name, (char const   *)"update");
            } else {
              goto _L___1;
            }
          } else {
            _L___1: /* CIL Label */
            tmp___11 = parse_submodule_update_strategy(value, & submodule->update_strategy);
            if (tmp___11 < 0) {
              tmp___10 = _((char const   *)"invalid value for %s");
              die((char const   *)tmp___10, var);
            } else
            if ((unsigned int )submodule->update_strategy.type == 5U) {
              tmp___10 = _((char const   *)"invalid value for %s");
              die((char const   *)tmp___10, var);
            }
          }
        } else
        if (! value) {
          config_error_nonbool(var);
          ret___67 = const_error();
        } else {
          tmp___9 = looks_like_command_line_option(value);
          if (tmp___9) {
            warn_command_line_option(var, value);
          } else
          if (! me->overwrite) {
            if (submodule->url) {
              warn_multiple_config(me->treeish_name, submodule->name, (char const   *)"url");
            } else {
              free((void *)submodule->url);
              tmp___8 = xstrdup(value);
              submodule->url = (char const   *)tmp___8;
            }
          } else {
            free((void *)submodule->url);
            tmp___8 = xstrdup(value);
            submodule->url = (char const   *)tmp___8;
          }
        }
      } else
      if (! value) {
        config_error_nonbool(var);
        ret___67 = const_error();
      } else
      if (! me->overwrite) {
        if (submodule->ignore) {
          warn_multiple_config(me->treeish_name, submodule->name, (char const   *)"ignore");
        } else {
          goto _L___0;
        }
      } else {
        _L___0: /* CIL Label */
        tmp___4 = strcmp(value, (char const   *)"untracked");
        if (tmp___4) {
          tmp___5 = strcmp(value, (char const   *)"dirty");
          if (tmp___5) {
            tmp___6 = strcmp(value, (char const   *)"all");
            if (tmp___6) {
              tmp___7 = strcmp(value, (char const   *)"none");
              if (tmp___7) {
                warning((char const   *)"Invalid parameter \'%s\' for config option \'submodule.%s.ignore\'",
                        value, name___0.buf);
              } else {
                free((void *)submodule->ignore);
                tmp___3 = xstrdup(value);
                submodule->ignore = (char const   *)tmp___3;
              }
            } else {
              free((void *)submodule->ignore);
              tmp___3 = xstrdup(value);
              submodule->ignore = (char const   *)tmp___3;
            }
          } else {
            free((void *)submodule->ignore);
            tmp___3 = xstrdup(value);
            submodule->ignore = (char const   *)tmp___3;
          }
        } else {
          free((void *)submodule->ignore);
          tmp___3 = xstrdup(value);
          submodule->ignore = (char const   *)tmp___3;
        }
      }
    } else {
      tmp___2 = is_null_oid(me->gitmodules_oid);
      die_on_error = tmp___2;
      if (! me->overwrite) {
        if (submodule->fetch_recurse != -2) {
          warn_multiple_config(me->treeish_name, submodule->name, (char const   *)"fetchrecursesubmodules");
        } else {
          submodule->fetch_recurse = parse_fetch_recurse(var, value, die_on_error);
        }
      } else {
        submodule->fetch_recurse = parse_fetch_recurse(var, value, die_on_error);
      }
    }
  } else
  if (! value) {
    config_error_nonbool(var);
    ret___67 = const_error();
  } else {
    tmp___1 = looks_like_command_line_option(value);
    if (tmp___1) {
      warn_command_line_option(var, value);
    } else
    if (! me->overwrite) {
      if (submodule->path) {
        warn_multiple_config(me->treeish_name, submodule->name, (char const   *)"path");
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      if (submodule->path) {
        cache_remove_path(me->cache, submodule);
      }
      free((void *)submodule->path);
      tmp___0 = xstrdup(value);
      submodule->path = (char const   *)tmp___0;
      cache_put_path(me->cache, submodule);
    }
  }
  strbuf_release(& name___0);
  strbuf_release(& item___0);
  return (ret___67);
}
}
static int gitmodule_oid_from_commit(struct object_id  const  *treeish_name , struct object_id *gitmodules_oid ,
                                     struct strbuf *rev )
{
  int ret___67 ;
  int tmp ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  ret___67 = 0;
  tmp = is_null_oid(treeish_name);
  if (tmp) {
    oidclr(gitmodules_oid);
    return (1);
  }
  tmp___0 = oid_to_hex(treeish_name);
  strbuf_addf(rev, (char const   *)"%s:.gitmodules", tmp___0);
  tmp___1 = repo_get_oid(the_repository, (char const   *)rev->buf, gitmodules_oid);
  if (tmp___1 >= 0) {
    ret___67 = 1;
  }
  return (ret___67);
}
}
static struct submodule  const  *config_from(struct submodule_cache *cache___0 , struct object_id  const  *treeish_name ,
                                             char const   *key___1 , enum lookup_type lookup_type )
{
  struct strbuf rev ;
  unsigned long config_size ;
  char *config ;
  struct object_id oid ;
  enum object_type type___0 ;
  struct submodule  const  *submodule ;
  struct parse_config_parameter parameter ;
  struct hashmap_iter iter___0 ;
  struct submodule_entry *entry ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  struct submodule *tmp___2 ;
  void *tmp___3 ;
  struct submodule *tmp___4 ;
  struct submodule  const  *tmp___5 ;

  {
  rev.alloc = 0UL;
  rev.len = 0UL;
  rev.buf = strbuf_slopbuf;
  config = (char *)((void *)0);
  submodule = (struct submodule  const  *)((void *)0);
  if (! treeish_name) {
    goto _L;
  } else
  if (! key___1) {
    _L: /* CIL Label */
    tmp = hashmap_iter_first(& cache___0->for_name, & iter___0);
    tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct submodule_entry *)0)->ent));
    entry = (struct submodule_entry *)tmp___0;
    if (! entry) {
      return ((struct submodule  const  *)((void *)0));
    }
    return ((struct submodule  const  *)entry->config);
  }
  tmp___1 = gitmodule_oid_from_commit(treeish_name, & oid, & rev);
  if (! tmp___1) {
    goto out;
  }
  {
  if ((unsigned int )lookup_type == 0U) {
    goto case_0;
  }
  if ((unsigned int )lookup_type == 1U) {
    goto case_1;
  }
  goto switch_break;
  case_0: /* CIL Label */
  tmp___2 = cache_lookup_name(cache___0, (struct object_id  const  *)(& oid), key___1);
  submodule = (struct submodule  const  *)tmp___2;
  goto switch_break;
  case_1: /* CIL Label */
  submodule = cache_lookup_path(cache___0, (struct object_id  const  *)(& oid), key___1);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  if (submodule) {
    goto out;
  }
  tmp___3 = repo_read_object_file(the_repository, (struct object_id  const  *)(& oid),
                                  & type___0, & config_size);
  config = (char *)tmp___3;
  if (! config) {
    goto out;
  } else
  if ((int )type___0 != 3) {
    goto out;
  }
  parameter.cache = cache___0;
  parameter.treeish_name = treeish_name;
  parameter.gitmodules_oid = (struct object_id  const  *)(& oid);
  parameter.overwrite = 0;
  git_config_from_mem(& parse_config___0, (enum config_origin_type  const  )3, (char const   *)rev.buf,
                      (char const   *)config, config_size, (void *)(& parameter),
                      (struct config_options  const  *)((void *)0));
  strbuf_release(& rev);
  free((void *)config);
  {
  if ((unsigned int )lookup_type == 0U) {
    goto case_0___0;
  }
  if ((unsigned int )lookup_type == 1U) {
    goto case_1___0;
  }
  goto switch_default;
  case_0___0: /* CIL Label */
  tmp___4 = cache_lookup_name(cache___0, (struct object_id  const  *)(& oid), key___1);
  return ((struct submodule  const  *)tmp___4);
  case_1___0: /* CIL Label */
  tmp___5 = cache_lookup_path(cache___0, (struct object_id  const  *)(& oid), key___1);
  return (tmp___5);
  switch_default: /* CIL Label */
  return ((struct submodule  const  *)((void *)0));
  switch_break___0: /* CIL Label */ ;
  }
  out:
  strbuf_release(& rev);
  free((void *)config);
  return (submodule);
}
}
static void submodule_cache_check_init(struct repository *repo )
{


  {
  if (repo->submodule_cache) {
    if ((repo->submodule_cache)->initialized) {
      return;
    }
  }
  if (! repo->submodule_cache) {
    repo->submodule_cache = submodule_cache_alloc();
  }
  submodule_cache_init(repo->submodule_cache);
  return;
}
}
static void config_from_gitmodules(int (*fn)(char const   * , char const   * , void * ) ,
                                   struct repository *repo , void *data )
{
  struct git_config_source config_source ;
  struct config_options opts___1 ;
  struct object_id oid ;
  char *file___0 ;
  char *oidstr ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (repo->worktree) {
    config_source.use_stdin = 0U;
    config_source.file = (char const   *)0;
    config_source.repo = (struct repository *)0;
    config_source.blob = (char const   *)0;
    config_source.scope = (enum config_scope )6;
    opts___1.respect_includes = (unsigned int )0U;
    opts___1.ignore_repo = (unsigned int )0U;
    opts___1.ignore_worktree = (unsigned int )0U;
    opts___1.ignore_cmdline = (unsigned int )0U;
    opts___1.system_gently = (unsigned int )0U;
    opts___1.commondir = (char const   *)((char const   *)0);
    opts___1.git_dir = (char const   *)((char const   *)0);
    opts___1.event_fn = (int (*)(enum config_event_t type , size_t begin_offset ,
                                 size_t end_offset , void *event_fn_data ))((int (*)(enum config_event_t type ,
                                                                                     size_t begin_offset ,
                                                                                     size_t end_offset ,
                                                                                     void *event_fn_data ))0);
    opts___1.event_fn_data = (void *)((void *)0);
    opts___1.error_action = (enum config_error_action )0U;
    oidstr = (char *)((void *)0);
    file___0 = repo_worktree_path((struct repository  const  *)repo, (char const   *)".gitmodules");
    tmp___2 = file_exists((char const   *)file___0);
    if (tmp___2) {
      config_source.file = (char const   *)file___0;
    } else {
      tmp___0 = repo_get_oid(repo, (char const   *)":.gitmodules", & oid);
      if (tmp___0 >= 0) {
        goto _L;
      } else {
        tmp___1 = repo_get_oid(repo, (char const   *)"HEAD:.gitmodules", & oid);
        if (tmp___1 >= 0) {
          _L: /* CIL Label */
          config_source.repo = repo;
          tmp = oid_to_hex((struct object_id  const  *)(& oid));
          oidstr = xstrdup((char const   *)tmp);
          config_source.blob = (char const   *)oidstr;
          if ((unsigned long )repo != (unsigned long )the_repository) {
            add_submodule_odb_by_path((char const   *)((repo->objects)->odb)->path);
          }
        } else {
          goto out;
        }
      }
    }
    config_with_options(fn, data, & config_source, (struct config_options  const  *)(& opts___1));
    out:
    free((void *)oidstr);
    free((void *)file___0);
  }
  return;
}
}
static int gitmodules_cb(char const   *var , char const   *value , void *data )
{
  struct repository *repo ;
  struct parse_config_parameter parameter ;
  int tmp ;

  {
  repo = (struct repository *)data;
  parameter.cache = repo->submodule_cache;
  parameter.treeish_name = (struct object_id  const  *)((void *)0);
  parameter.gitmodules_oid = null_oid();
  parameter.overwrite = 1;
  tmp = parse_config___0(var, value, (void *)(& parameter));
  return (tmp);
}
}
void repo_read_gitmodules(struct repository *repo , int skip_if_read )
{
  int tmp ;
  int tmp___0 ;

  {
  submodule_cache_check_init(repo);
  if ((repo->submodule_cache)->gitmodules_read) {
    if (skip_if_read) {
      return;
    }
  }
  tmp = repo_read_index(repo);
  if (tmp < 0) {
    return;
  }
  tmp___0 = is_gitmodules_unmerged(repo->index);
  if (! tmp___0) {
    config_from_gitmodules(& gitmodules_cb, repo, (void *)repo);
  }
  (repo->submodule_cache)->gitmodules_read = 1U;
  return;
}
}
void gitmodules_config_oid(struct object_id  const  *commit_oid )
{
  struct strbuf rev ;
  struct object_id oid ;
  int tmp ;

  {
  rev.alloc = 0UL;
  rev.len = 0UL;
  rev.buf = strbuf_slopbuf;
  submodule_cache_check_init(the_repository);
  tmp = gitmodule_oid_from_commit(commit_oid, & oid, & rev);
  if (tmp) {
    git_config_from_blob_oid(& gitmodules_cb, (char const   *)rev.buf, the_repository,
                             (struct object_id  const  *)(& oid), (void *)the_repository);
  }
  strbuf_release(& rev);
  (the_repository->submodule_cache)->gitmodules_read = 1U;
  return;
}
}
struct submodule  const  *submodule_from_name(struct repository *r , struct object_id  const  *treeish_name ,
                                              char const   *name___0 )
{
  struct submodule  const  *tmp ;

  {
  repo_read_gitmodules(r, 1);
  tmp = config_from(r->submodule_cache, treeish_name, name___0, (enum lookup_type )0);
  return (tmp);
}
}
struct submodule  const  *submodule_from_path(struct repository *r , struct object_id  const  *treeish_name ,
                                              char const   *path___6 )
{
  struct submodule  const  *tmp ;

  {
  repo_read_gitmodules(r, 1);
  tmp = config_from(r->submodule_cache, treeish_name, path___6, (enum lookup_type )1);
  return (tmp);
}
}
void submodule_free(struct repository *r )
{


  {
  if (r->submodule_cache) {
    submodule_cache_clear(r->submodule_cache);
  }
  return;
}
}
static int config_print_callback(char const   *var , char const   *value , void *cb_data )
{
  char *wanted_key ;
  int tmp ;

  {
  wanted_key = (char *)cb_data;
  tmp = strcmp((char const   *)wanted_key, var);
  if (! tmp) {
    printf((char const   *)"%s\n", value);
  }
  return (0);
}
}
int print_config_from_gitmodules(struct repository *repo , char const   *key___1 )
{
  int ret___67 ;
  char *store_key ;

  {
  ret___67 = git_config_parse_key(key___1, & store_key, (size_t *)((void *)0));
  if (ret___67 < 0) {
    return (1);
  }
  config_from_gitmodules(& config_print_callback, repo, (void *)store_key);
  free((void *)store_key);
  return (0);
}
}
int config_set_in_gitmodules_file_gently(char const   *key___1 , char const   *value )
{
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  ret___67 = git_config_set_in_file_gently((char const   *)".gitmodules", key___1,
                                           value);
  if (ret___67 < 0) {
    tmp = _((char const   *)"Could not update .gitmodules entry %s");
    warning((char const   *)tmp, key___1);
  }
  return (ret___67);
}
}
static int gitmodules_fetch_config(char const   *var , char const   *value , void *cb )
{
  struct fetch_config *config ;
  int tmp ;
  int tmp___0 ;

  {
  config = (struct fetch_config *)cb;
  tmp___0 = strcmp(var, (char const   *)"submodule.fetchjobs");
  if (tmp___0) {
    tmp = strcmp(var, (char const   *)"fetch.recursesubmodules");
    if (! tmp) {
      if (config->recurse_submodules) {
        *(config->recurse_submodules) = parse_fetch_recurse_submodules_arg(var, value);
      }
      return (0);
    }
  } else {
    if (config->max_children) {
      *(config->max_children) = parse_submodule_fetchjobs(var, value);
    }
    return (0);
  }
  return (0);
}
}
void fetch_config_from_gitmodules(int *max_children___0 , int *recurse_submodules___4 )
{
  struct fetch_config config ;

  {
  config.max_children = max_children___0;
  config.recurse_submodules = recurse_submodules___4;
  config_from_gitmodules(& gitmodules_fetch_config, the_repository, (void *)(& config));
  return;
}
}
static int gitmodules_update_clone_config(char const   *var , char const   *value ,
                                          void *cb )
{
  int *max_jobs___1 ;
  int tmp ;

  {
  max_jobs___1 = (int *)cb;
  tmp = strcmp(var, (char const   *)"submodule.fetchjobs");
  if (! tmp) {
    *max_jobs___1 = parse_submodule_fetchjobs(var, value);
  }
  return (0);
}
}
void update_clone_config_from_gitmodules(int *max_jobs___1 )
{


  {
  config_from_gitmodules(& gitmodules_update_clone_config, the_repository, (void *)(& max_jobs___1));
  return;
}
}
static double const   __ac_HASH_UPPER___89  =    (double const   )0.77;
__inline static void kh_resize_oid_set___89(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___89(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___89 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___89 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___89(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___89(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___89(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___89(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___89(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___89(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___89 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___89 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___89(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___89(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___89(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___89(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___89(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___89(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___89 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___89 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___89(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___89(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___89(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___89(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___68(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___68(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___89 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___89 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___68(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___68(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___68(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___68(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_contains_cache_with_stride___15(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___15(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___15(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___15(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___15(s___1, 1U);
  return;
}
}
static void clear_contains_cache___15(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___15(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___15(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___15(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___15(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___15(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___15(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___15(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___15(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___15(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___15(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___15(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___15(s___1, c___0, 0);
  return (tmp);
}
}
static int config_update_recurse_submodules  =    0;
static int initialized_fetch_ref_tips  ;
static struct oid_array ref_tips_before_fetch  ;
static struct oid_array ref_tips_after_fetch  ;
int is_gitmodules_unmerged(struct index_state *istate )
{
  int pos ;
  size_t tmp ;
  int tmp___0 ;
  struct cache_entry  const  *ce ;
  size_t tmp___1 ;
  int tmp___2 ;

  {
  tmp = strlen((char const   *)".gitmodules");
  tmp___0 = index_name_pos(istate, (char const   *)".gitmodules", (int )tmp);
  pos = tmp___0;
  if (pos < 0) {
    pos = -1 - pos;
    if (istate->cache_nr > (unsigned int )pos) {
      ce = (struct cache_entry  const  *)*(istate->cache + pos);
      tmp___1 = strlen((char const   *)".gitmodules");
      if ((size_t )ce->ce_namelen == tmp___1) {
        tmp___2 = strcmp((char const   *)(ce->name), (char const   *)".gitmodules");
        if (! tmp___2) {
          return (1);
        }
      }
    }
  }
  return (0);
}
}
int is_writing_gitmodules_ok(void)
{
  struct object_id oid ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = file_exists((char const   *)".gitmodules");
  if (tmp) {
    tmp___2 = 1;
  } else {
    tmp___0 = repo_get_oid(the_repository, (char const   *)":.gitmodules", & oid);
    if (tmp___0 < 0) {
      tmp___1 = repo_get_oid(the_repository, (char const   *)"HEAD:.gitmodules", & oid);
      if (tmp___1 < 0) {
        tmp___2 = 1;
      } else {
        tmp___2 = 0;
      }
    } else {
      tmp___2 = 0;
    }
  }
  return (tmp___2);
}
}
int is_staging_gitmodules_ok(struct index_state *istate )
{
  int pos ;
  size_t tmp ;
  int tmp___0 ;
  struct stat st ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = strlen((char const   *)".gitmodules");
  tmp___0 = index_name_pos(istate, (char const   *)".gitmodules", (int )tmp);
  pos = tmp___0;
  if (pos >= 0) {
    if ((unsigned int )pos < istate->cache_nr) {
      tmp___1 = lstat((char const   *)".gitmodules", & st);
      if (tmp___1 == 0) {
        tmp___2 = ie_modified(istate, (struct cache_entry  const  *)*(istate->cache + pos),
                              & st, 0U);
        if (tmp___2 & 0x0020) {
          return (0);
        }
      }
    }
  }
  return (1);
}
}
static int for_each_remote_ref_submodule(char const   *submodule , each_ref_fn *fn ,
                                         void *cb_data )
{
  struct ref_store *tmp ;
  int tmp___0 ;

  {
  tmp = get_submodule_ref_store(submodule);
  tmp___0 = refs_for_each_remote_ref(tmp, fn, cb_data);
  return (tmp___0);
}
}
int update_path_in_gitmodules(char const   *oldpath , char const   *newpath )
{
  struct strbuf entry ;
  struct submodule  const  *submodule ;
  int ret___67 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  struct object_id  const  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  entry.alloc = 0UL;
  entry.len = 0UL;
  entry.buf = strbuf_slopbuf;
  tmp = file_exists((char const   *)".gitmodules");
  if (! tmp) {
    return (-1);
  }
  tmp___1 = is_gitmodules_unmerged(the_repository->index);
  if (tmp___1) {
    tmp___0 = _((char const   *)"Cannot change unmerged .gitmodules, resolve merge conflicts first");
    die((char const   *)tmp___0);
  }
  tmp___2 = null_oid();
  submodule = submodule_from_path(the_repository, tmp___2, oldpath);
  if (! submodule) {
    tmp___3 = _((char const   *)"Could not find section in .gitmodules where path=%s");
    warning((char const   *)tmp___3, oldpath);
    return (-1);
  } else
  if (! submodule->name) {
    tmp___3 = _((char const   *)"Could not find section in .gitmodules where path=%s");
    warning((char const   *)tmp___3, oldpath);
    return (-1);
  }
  strbuf_addstr(& entry, (char const   *)"submodule.");
  strbuf_addstr(& entry, (char const   *)submodule->name);
  strbuf_addstr(& entry, (char const   *)".path");
  ret___67 = config_set_in_gitmodules_file_gently((char const   *)entry.buf, newpath);
  strbuf_release(& entry);
  return (ret___67);
}
}
int remove_path_from_gitmodules(char const   *path___6 )
{
  struct strbuf sect ;
  struct submodule  const  *submodule ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  struct object_id  const  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;

  {
  sect.alloc = 0UL;
  sect.len = 0UL;
  sect.buf = strbuf_slopbuf;
  tmp = file_exists((char const   *)".gitmodules");
  if (! tmp) {
    return (-1);
  }
  tmp___1 = is_gitmodules_unmerged(the_repository->index);
  if (tmp___1) {
    tmp___0 = _((char const   *)"Cannot change unmerged .gitmodules, resolve merge conflicts first");
    die((char const   *)tmp___0);
  }
  tmp___2 = null_oid();
  submodule = submodule_from_path(the_repository, tmp___2, path___6);
  if (! submodule) {
    tmp___3 = _((char const   *)"Could not find section in .gitmodules where path=%s");
    warning((char const   *)tmp___3, path___6);
    return (-1);
  } else
  if (! submodule->name) {
    tmp___3 = _((char const   *)"Could not find section in .gitmodules where path=%s");
    warning((char const   *)tmp___3, path___6);
    return (-1);
  }
  strbuf_addstr(& sect, (char const   *)"submodule.");
  strbuf_addstr(& sect, (char const   *)submodule->name);
  tmp___5 = git_config_rename_section_in_file((char const   *)".gitmodules", (char const   *)sect.buf,
                                              (char const   *)((void *)0));
  if (tmp___5 < 0) {
    tmp___4 = _((char const   *)"Could not remove .gitmodules entry for %s");
    warning((char const   *)tmp___4, path___6);
    strbuf_release(& sect);
    return (-1);
  }
  strbuf_release(& sect);
  return (0);
}
}
void stage_updated_gitmodules(struct index_state *istate )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  tmp___0 = add_file_to_index(istate, (char const   *)".gitmodules", 0);
  if (tmp___0) {
    tmp = _((char const   *)"staging updated .gitmodules failed");
    die((char const   *)tmp);
  }
  return;
}
}
static struct string_list added_submodule_odb_paths  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
int add_submodule_odb(char const   *path___6 )
{
  struct strbuf objects_directory ;
  int ret___67 ;
  int tmp ;
  char *tmp___0 ;

  {
  objects_directory.alloc = 0UL;
  objects_directory.len = 0UL;
  objects_directory.buf = strbuf_slopbuf;
  ret___67 = 0;
  ret___67 = strbuf_git_path_submodule(& objects_directory, path___6, (char const   *)"objects/");
  if (ret___67) {
    goto done;
  }
  tmp = is_directory((char const   *)objects_directory.buf);
  if (! tmp) {
    ret___67 = -1;
    goto done;
  }
  tmp___0 = strbuf_detach(& objects_directory, (size_t *)((void *)0));
  string_list_insert(& added_submodule_odb_paths, (char const   *)tmp___0);
  done:
  strbuf_release(& objects_directory);
  return (ret___67);
}
}
void add_submodule_odb_by_path(char const   *path___6 )
{
  char *tmp ;

  {
  tmp = xstrdup(path___6);
  string_list_insert(& added_submodule_odb_paths, (char const   *)tmp);
  return;
}
}
int register_all_submodule_odb_as_alternates(void)
{
  int i ;
  int ret___67 ;
  int tmp ;

  {
  ret___67 = (int )added_submodule_odb_paths.nr;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < added_submodule_odb_paths.nr)) {
      goto while_break;
    }
    add_to_alternates_memory((char const   *)(added_submodule_odb_paths.items + i)->string);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (ret___67) {
    string_list_clear(& added_submodule_odb_paths, 0);
    trace2_data_intmax_fl((char const   *)"submodule.c", 205, (char const   *)"submodule",
                          (struct repository  const  *)the_repository, (char const   *)"register_all_submodule_odb_as_alternates/registered",
                          (intmax_t )ret___67);
    tmp = git_env_bool((char const   *)"GIT_TEST_FATAL_REGISTER_SUBMODULE_ODB", 0);
    if (tmp) {
      BUG_fl((char const   *)"submodule.c", 207, (char const   *)"register_all_submodule_odb_as_alternates() called");
    }
  }
  return (ret___67);
}
}
void set_diffopt_flags_from_submodule_config(struct diff_options *diffopt , char const   *path___6 )
{
  struct submodule  const  *submodule ;
  struct object_id  const  *tmp ;
  struct submodule  const  *tmp___0 ;
  char const   *ignore ;
  char *key___1 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = null_oid();
  tmp___0 = submodule_from_path(the_repository, tmp, path___6);
  submodule = tmp___0;
  if (submodule) {
    key___1 = xstrfmt((char const   *)"submodule.%s.ignore", submodule->name);
    tmp___1 = repo_config_get_string_tmp(the_repository, (char const   *)key___1,
                                         & ignore);
    if (tmp___1) {
      ignore = (char const   *)submodule->ignore;
    }
    free((void *)key___1);
    if (ignore) {
      handle_ignore_submodules_arg(diffopt, ignore);
    } else {
      tmp___2 = is_gitmodules_unmerged(the_repository->index);
      if (tmp___2) {
        diffopt->flags.ignore_submodules = 1U;
      }
    }
  }
  return;
}
}
int git_default_submodule_config(char const   *var , char const   *value , void *cb )
{
  int v ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___2 = strcmp(var, (char const   *)"submodule.recurse");
  if (! tmp___2) {
    tmp___1 = git_config_bool(var, value);
    if (tmp___1) {
      tmp___0 = 2;
    } else {
      tmp___0 = 0;
    }
    v = tmp___0;
    config_update_recurse_submodules = v;
  }
  return (0);
}
}
int option_parse_recurse_submodules_worktree_updater(struct option  const  *opt___0 ,
                                                     char const   *arg , int unset )
{


  {
  if (unset) {
    config_update_recurse_submodules = 0;
    return (0);
  }
  if (arg) {
    config_update_recurse_submodules = parse_update_recurse_submodules_arg((char const   *)opt___0->long_name,
                                                                           arg);
  } else {
    config_update_recurse_submodules = 2;
  }
  return (0);
}
}
int is_submodule_active(struct repository *repo , char const   *path___6 )
{
  int ret___67 ;
  char *key___1 ;
  char *value ;
  struct string_list  const  *sl ;
  struct submodule  const  *module ;
  struct object_id  const  *tmp ;
  int tmp___0 ;
  struct pathspec ps ;
  struct strvec args___0 ;
  struct string_list_item  const  *item___0 ;
  size_t tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  ret___67 = 0;
  key___1 = (char *)((void *)0);
  value = (char *)((void *)0);
  tmp = null_oid();
  module = submodule_from_path(repo, tmp, path___6);
  if (! module) {
    return (0);
  }
  key___1 = xstrfmt((char const   *)"submodule.%s.active", module->name);
  tmp___0 = repo_config_get_bool(repo, (char const   *)key___1, & ret___67);
  if (! tmp___0) {
    free((void *)key___1);
    return (ret___67);
  }
  free((void *)key___1);
  sl = repo_config_get_value_multi(repo, (char const   *)"submodule.active");
  if (sl) {
    args___0.v = empty_strvec;
    args___0.nr = 0UL;
    args___0.alloc = 0UL;
    item___0 = (struct string_list_item  const  *)sl->items;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(sl->items + sl->nr))) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      strvec_push(& args___0, (char const   *)item___0->string);
      item___0 ++;
    }
    while_break: /* CIL Label */ ;
    }
    parse_pathspec(& ps, 0U, 0U, (char const   *)((void *)0), args___0.v);
    tmp___1 = strlen(path___6);
    ret___67 = match_pathspec(repo->index, (struct pathspec  const  *)(& ps), path___6,
                              (int )tmp___1, 0, (char *)((void *)0), 1);
    strvec_clear(& args___0);
    clear_pathspec(& ps);
    return (ret___67);
  }
  key___1 = xstrfmt((char const   *)"submodule.%s.url", module->name);
  tmp___2 = repo_config_get_string(repo, (char const   *)key___1, & value);
  if (tmp___2) {
    tmp___3 = 0;
  } else {
    tmp___3 = 1;
  }
  ret___67 = tmp___3;
  free((void *)value);
  free((void *)key___1);
  return (ret___67);
}
}
int is_submodule_populated_gently(char const   *path___6 , int *return_error_code )
{
  int ret___67 ;
  char *gitdir___0 ;
  char *tmp ;
  char const   *tmp___0 ;

  {
  ret___67 = 0;
  tmp = xstrfmt((char const   *)"%s/.git", path___6);
  gitdir___0 = tmp;
  tmp___0 = resolve_gitdir_gently((char const   *)gitdir___0, return_error_code);
  if (tmp___0) {
    ret___67 = 1;
  }
  free((void *)gitdir___0);
  return (ret___67);
}
}
void die_in_unpopulated_submodule(struct index_state *istate , char const   *prefix___1 )
{
  int i ;
  int prefixlen ;
  size_t tmp ;
  struct cache_entry *ce ;
  int ce_len ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  if (! prefix___1) {
    return;
  }
  tmp = strlen(prefix___1);
  prefixlen = (int )tmp;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    ce = *(istate->cache + i);
    ce_len = (int )ce->ce_namelen;
    if (! ((ce->ce_mode & 61440U) == 57344U)) {
      goto __Cont;
    }
    if (prefixlen <= ce_len) {
      goto __Cont;
    }
    tmp___0 = strncmp((char const   *)(ce->name), prefix___1, (size_t )ce_len);
    if (tmp___0) {
      goto __Cont;
    }
    if ((int const   )*(prefix___1 + ce_len) != 47) {
      goto __Cont;
    }
    tmp___1 = _((char const   *)"in unpopulated submodule \'%s\'");
    die((char const   *)tmp___1, ce->name);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void die_path_inside_submodule(struct index_state *istate , struct pathspec  const  *ps )
{
  int i ;
  int j ;
  struct cache_entry *ce ;
  int ce_len ;
  struct pathspec_item  const  *item___0 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    ce = *(istate->cache + i);
    ce_len = (int )ce->ce_namelen;
    if (! ((ce->ce_mode & 61440U) == 57344U)) {
      goto __Cont;
    }
    j = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < (int )ps->nr)) {
        goto while_break___0;
      }
      item___0 = (struct pathspec_item  const  *)(ps->items + j);
      if (item___0->len <= (int )ce_len) {
        goto __Cont___0;
      }
      if ((int )*(item___0->match + ce_len) != 47) {
        goto __Cont___0;
      }
      tmp = strncmp((char const   *)(ce->name), (char const   *)item___0->match, (size_t )ce_len);
      if (tmp) {
        goto __Cont___0;
      }
      if (item___0->len == (int )(ce_len + 1)) {
        goto __Cont___0;
      }
      tmp___0 = _((char const   *)"Pathspec \'%s\' is in submodule \'%.*s\'");
      die((char const   *)tmp___0, item___0->original, ce_len, ce->name);
      __Cont___0: /* CIL Label */
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
enum submodule_update_type parse_submodule_update_type(char const   *value )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___2 = strcmp(value, (char const   *)"none");
  if (tmp___2) {
    tmp___1 = strcmp(value, (char const   *)"checkout");
    if (tmp___1) {
      tmp___0 = strcmp(value, (char const   *)"rebase");
      if (tmp___0) {
        tmp = strcmp(value, (char const   *)"merge");
        if (tmp) {
          if ((int const   )*value == 33) {
            return ((enum submodule_update_type )5);
          } else {
            return ((enum submodule_update_type )0);
          }
        } else {
          return ((enum submodule_update_type )3);
        }
      } else {
        return ((enum submodule_update_type )2);
      }
    } else {
      return ((enum submodule_update_type )1);
    }
  } else {
    return ((enum submodule_update_type )4);
  }
}
}
int parse_submodule_update_strategy(char const   *value , struct submodule_update_strategy *dst )
{
  enum submodule_update_type type___0 ;
  char *tmp ;

  {
  free((void *)dst->command);
  dst->command = (char const   *)((void *)0);
  type___0 = parse_submodule_update_type(value);
  if ((unsigned int )type___0 == 0U) {
    return (-1);
  }
  dst->type = type___0;
  if ((unsigned int )type___0 == 5U) {
    tmp = xstrdup(value + 1);
    dst->command = (char const   *)tmp;
  }
  return (0);
}
}
char const   *submodule_strategy_to_string(struct submodule_update_strategy  const  *s___1 )
{
  struct strbuf sb___6 ;
  char *tmp ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  {
  if ((unsigned int )s___1->type == 1U) {
    goto case_1;
  }
  if ((unsigned int )s___1->type == 3U) {
    goto case_3;
  }
  if ((unsigned int )s___1->type == 2U) {
    goto case_2;
  }
  if ((unsigned int )s___1->type == 4U) {
    goto case_4;
  }
  if ((unsigned int )s___1->type == 0U) {
    goto case_0;
  }
  if ((unsigned int )s___1->type == 5U) {
    goto case_5;
  }
  goto switch_break;
  case_1: /* CIL Label */
  return ((char const   *)"checkout");
  case_3: /* CIL Label */
  return ((char const   *)"merge");
  case_2: /* CIL Label */
  return ((char const   *)"rebase");
  case_4: /* CIL Label */
  return ((char const   *)"none");
  case_0: /* CIL Label */
  return ((char const   *)((void *)0));
  case_5: /* CIL Label */
  strbuf_addf(& sb___6, (char const   *)"!%s", s___1->command);
  tmp = strbuf_detach(& sb___6, (size_t *)((void *)0));
  return ((char const   *)tmp);
  switch_break: /* CIL Label */ ;
  }
  return ((char const   *)((void *)0));
}
}
void handle_ignore_submodules_arg(struct diff_options *diffopt , char const   *arg )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  diffopt->flags.ignore_submodule_set = 1U;
  diffopt->flags.ignore_submodules = 0U;
  diffopt->flags.ignore_untracked_in_submodules = 0U;
  diffopt->flags.ignore_dirty_submodules = 0U;
  tmp___3 = strcmp(arg, (char const   *)"all");
  if (tmp___3) {
    tmp___2 = strcmp(arg, (char const   *)"untracked");
    if (tmp___2) {
      tmp___1 = strcmp(arg, (char const   *)"dirty");
      if (tmp___1) {
        tmp___0 = strcmp(arg, (char const   *)"none");
        if (tmp___0) {
          tmp = _((char const   *)"bad --ignore-submodules argument: %s");
          die((char const   *)tmp, arg);
        }
      } else {
        diffopt->flags.ignore_dirty_submodules = 1U;
      }
    } else {
      diffopt->flags.ignore_untracked_in_submodules = 1U;
    }
  } else {
    diffopt->flags.ignore_submodules = 1U;
  }
  return;
}
}
static int prepare_submodule_diff_summary(struct repository *r , struct rev_info *rev ,
                                          char const   *path___6 , struct commit *left ,
                                          struct commit *right , struct commit_list *merge_bases )
{
  struct commit_list *list___3 ;
  char *tmp ;
  int tmp___0 ;

  {
  repo_init_revisions(r, rev, (char const   *)((void *)0));
  setup_revisions(0, (char const   **)((void *)0), rev, (struct setup_revision_opt *)((void *)0));
  rev->left_right = 1U;
  rev->first_parent_only = 1U;
  left->object.flags |= 1u << 8;
  add_pending_object(rev, & left->object, path___6);
  add_pending_object(rev, & right->object, path___6);
  list___3 = merge_bases;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    (list___3->item)->object.flags |= 1u << 1;
    tmp = oid_to_hex((struct object_id  const  *)(& (list___3->item)->object.oid));
    add_pending_object(rev, & (list___3->item)->object, (char const   *)tmp);
    list___3 = list___3->next;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = prepare_revision_walk(rev);
  return (tmp___0);
}
}
static void print_submodule_diff_summary(struct repository *r , struct rev_info *rev ,
                                         struct diff_options *o ) ;
static char const   format[8]  =
  {      (char const   )' ',      (char const   )' ',      (char const   )'%',      (char const   )'m',
        (char const   )' ',      (char const   )'%',      (char const   )'s',      (char const   )'\000'};
static void print_submodule_diff_summary(struct repository *r , struct rev_info *rev ,
                                         struct diff_options *o )
{
  struct strbuf sb___6 ;
  struct commit *commit ;
  struct pretty_print_context ctx___0 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    commit = get_revision(rev);
    if (! commit) {
      goto while_break;
    }
    ctx___0.fmt = (enum cmit_fmt )0;
    ctx___0.abbrev = 0;
    ctx___0.after_subject = (char const   *)0;
    ctx___0.preserve_subject = 0;
    ctx___0.date_mode.type = 0U;
    ctx___0.date_mode.strftime_fmt = (char const   *)0;
    ctx___0.date_mode.local = 0;
    ctx___0.date_mode_explicit = 0U;
    ctx___0.print_email_subject = 0;
    ctx___0.expand_tabs_in_log = 0;
    ctx___0.need_8bit_cte = 0;
    ctx___0.notes_message = (char *)0;
    ctx___0.reflog_info = (struct reflog_walk_info *)0;
    ctx___0.rev = (struct rev_info *)0;
    ctx___0.output_encoding = (char const   *)0;
    ctx___0.mailmap = (struct string_list *)0;
    ctx___0.color = 0;
    ctx___0.from_ident = (struct ident_split *)0;
    ctx___0.encode_email_headers = 0U;
    ctx___0.describe_status = (struct pretty_print_describe_status *)0;
    ctx___0.in_body_headers.items = (struct string_list_item *)0;
    ctx___0.in_body_headers.nr = 0U;
    ctx___0.in_body_headers.alloc = 0U;
    ctx___0.in_body_headers.strdup_strings = 0U;
    ctx___0.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
    ctx___0.graph_width = 0;
    ctx___0.date_mode = rev->date_mode;
    ctx___0.output_encoding = get_log_output_encoding();
    strbuf_setlen(& sb___6, (size_t )0);
    repo_format_commit_message(r, (struct commit  const  *)commit, format, & sb___6,
                               (struct pretty_print_context  const  *)(& ctx___0));
    strbuf_addch(& sb___6, '\n');
    if (commit->object.flags & (1u << 8)) {
      diff_emit_submodule_del(o, (char const   *)sb___6.buf);
    } else {
      diff_emit_submodule_add(o, (char const   *)sb___6.buf);
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& sb___6);
  return;
}
}
void prepare_submodule_repo_env(struct strvec *out )
{


  {
  prepare_other_repo_env(out, (char const   *)".git");
  return;
}
}
static void prepare_submodule_repo_env_in_gitdir(struct strvec *out )
{


  {
  prepare_other_repo_env(out, (char const   *)".");
  return;
}
}
static struct repository *open_submodule(char const   *path___6 )
{
  struct strbuf sb___6 ;
  struct repository *out ;
  void *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = xmalloc(sizeof(*out));
  out = (struct repository *)tmp;
  tmp___0 = submodule_to_gitdir(& sb___6, path___6);
  if (tmp___0) {
    strbuf_release(& sb___6);
    free((void *)out);
    return ((struct repository *)((void *)0));
  } else {
    tmp___1 = repo_init(out, (char const   *)sb___6.buf, (char const   *)((void *)0));
    if (tmp___1) {
      strbuf_release(& sb___6);
      free((void *)out);
      return ((struct repository *)((void *)0));
    }
  }
  out->submodule_prefix = xstrdup(path___6);
  strbuf_release(& sb___6);
  return (out);
}
}
static void show_submodule_header(struct diff_options *o , char const   *path___6 ,
                                  struct object_id *one___0 , struct object_id *two___0 ,
                                  unsigned int dirty_submodule , struct repository *sub ,
                                  struct commit **left , struct commit **right , struct commit_list **merge_bases )
{
  char const   *message___0 ;
  struct strbuf sb___6 ;
  int fast_forward___0 ;
  int fast_backward ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;
  char *tmp___5 ;

  {
  message___0 = (char const   *)((void *)0);
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  fast_forward___0 = 0;
  fast_backward = 0;
  if (dirty_submodule & 1U) {
    diff_emit_submodule_untracked(o, path___6);
  }
  if (dirty_submodule & 2U) {
    diff_emit_submodule_modified(o, path___6);
  }
  tmp___0 = is_null_oid((struct object_id  const  *)one___0);
  if (tmp___0) {
    message___0 = (char const   *)"(new submodule)";
  } else {
    tmp = is_null_oid((struct object_id  const  *)two___0);
    if (tmp) {
      message___0 = (char const   *)"(submodule deleted)";
    }
  }
  if (! sub) {
    if (! message___0) {
      message___0 = (char const   *)"(commits not present)";
    }
    goto output_header;
  }
  *left = lookup_commit_reference(sub, (struct object_id  const  *)one___0);
  *right = lookup_commit_reference(sub, (struct object_id  const  *)two___0);
  tmp___1 = is_null_oid((struct object_id  const  *)one___0);
  if (tmp___1) {
    _L: /* CIL Label */
    tmp___2 = is_null_oid((struct object_id  const  *)two___0);
    if (! tmp___2) {
      if (! *right) {
        message___0 = (char const   *)"(commits not present)";
      }
    }
  } else
  if (! *left) {
    message___0 = (char const   *)"(commits not present)";
  } else {
    goto _L;
  }
  *merge_bases = repo_get_merge_bases(sub, *left, *right);
  if (*merge_bases) {
    if ((unsigned long )(*merge_bases)->item == (unsigned long )*left) {
      fast_forward___0 = 1;
    } else
    if ((unsigned long )(*merge_bases)->item == (unsigned long )*right) {
      fast_backward = 1;
    }
  }
  tmp___3 = oideq((struct object_id  const  *)one___0, (struct object_id  const  *)two___0);
  if (tmp___3) {
    strbuf_release(& sb___6);
    return;
  }
  output_header:
  strbuf_addf(& sb___6, (char const   *)"Submodule %s ", path___6);
  strbuf_add_unique_abbrev(& sb___6, (struct object_id  const  *)one___0, default_abbrev);
  if (fast_backward) {
    tmp___4 = "..";
  } else
  if (fast_forward___0) {
    tmp___4 = "..";
  } else {
    tmp___4 = "...";
  }
  strbuf_addstr(& sb___6, (char const   *)tmp___4);
  strbuf_add_unique_abbrev(& sb___6, (struct object_id  const  *)two___0, default_abbrev);
  if (message___0) {
    strbuf_addf(& sb___6, (char const   *)" %s\n", message___0);
  } else {
    if (fast_backward) {
      tmp___5 = " (rewind)";
    } else {
      tmp___5 = "";
    }
    strbuf_addf(& sb___6, (char const   *)"%s:\n", tmp___5);
  }
  diff_emit_submodule_header(o, (char const   *)sb___6.buf);
  strbuf_release(& sb___6);
  return;
}
}
void show_submodule_diff_summary(struct diff_options *o , char const   *path___6 ,
                                 struct object_id *one___0 , struct object_id *two___0 ,
                                 unsigned int dirty_submodule )
{
  struct rev_info rev ;
  struct commit *left ;
  struct commit *right ;
  struct commit_list *merge_bases ;
  struct repository *sub ;
  int tmp ;

  {
  left = (struct commit *)((void *)0);
  right = (struct commit *)((void *)0);
  merge_bases = (struct commit_list *)((void *)0);
  sub = open_submodule(path___6);
  show_submodule_header(o, path___6, one___0, two___0, dirty_submodule, sub, & left,
                        & right, & merge_bases);
  if (! left) {
    goto out;
  } else
  if (! right) {
    goto out;
  } else
  if (! sub) {
    goto out;
  }
  tmp = prepare_submodule_diff_summary(sub, & rev, path___6, left, right, merge_bases);
  if (tmp) {
    diff_emit_submodule_error(o, (char const   *)"(revision walker failed)\n");
    goto out;
  }
  print_submodule_diff_summary(sub, & rev, o);
  out:
  if (merge_bases) {
    free_commit_list(merge_bases);
  }
  clear_commit_marks(left, (unsigned int )(~ 0));
  clear_commit_marks(right, (unsigned int )(~ 0));
  if (sub) {
    repo_clear(sub);
    free((void *)sub);
  }
  return;
}
}
void show_submodule_inline_diff(struct diff_options *o , char const   *path___6 ,
                                struct object_id *one___0 , struct object_id *two___0 ,
                                unsigned int dirty_submodule )
{
  struct object_id  const  *old_oid ;
  struct object_id  const  *new_oid ;
  struct commit *left ;
  struct commit *right ;
  struct commit_list *merge_bases ;
  struct child_process cp ;
  struct strbuf sb___6 ;
  struct repository *sub ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;
  char *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  old_oid = (struct object_id  const  *)(the_repository->hash_algo)->empty_tree;
  new_oid = (struct object_id  const  *)(the_repository->hash_algo)->empty_tree;
  left = (struct commit *)((void *)0);
  right = (struct commit *)((void *)0);
  merge_bases = (struct commit_list *)((void *)0);
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  sub = open_submodule(path___6);
  show_submodule_header(o, path___6, one___0, two___0, dirty_submodule, sub, & left,
                        & right, & merge_bases);
  if (left) {
    goto _L;
  } else {
    tmp = is_null_oid((struct object_id  const  *)one___0);
    if (tmp) {
      _L: /* CIL Label */
      if (! right) {
        tmp___0 = is_null_oid((struct object_id  const  *)two___0);
        if (! tmp___0) {
          goto done;
        }
      }
    } else {
      goto done;
    }
  }
  if (left) {
    old_oid = (struct object_id  const  *)one___0;
  }
  if (right) {
    new_oid = (struct object_id  const  *)two___0;
  }
  cp.git_cmd = 1U;
  cp.dir = path___6;
  cp.out = -1;
  cp.no_stdin = 1U;
  strvec_pushl(& cp.args, "diff", "--submodule=diff", (void *)0);
  tmp___3 = want_color_fd(1, o->use_color);
  if (tmp___3) {
    tmp___2 = "always";
  } else {
    tmp___2 = "never";
  }
  strvec_pushf(& cp.args, (char const   *)"--color=%s", tmp___2);
  if (o->flags.reverse_diff) {
    strvec_pushf(& cp.args, (char const   *)"--src-prefix=%s%s/", o->b_prefix, path___6);
    strvec_pushf(& cp.args, (char const   *)"--dst-prefix=%s%s/", o->a_prefix, path___6);
  } else {
    strvec_pushf(& cp.args, (char const   *)"--src-prefix=%s%s/", o->a_prefix, path___6);
    strvec_pushf(& cp.args, (char const   *)"--dst-prefix=%s%s/", o->b_prefix, path___6);
  }
  tmp___4 = oid_to_hex(old_oid);
  strvec_push(& cp.args, (char const   *)tmp___4);
  if (! (dirty_submodule & 2U)) {
    tmp___5 = oid_to_hex(new_oid);
    strvec_push(& cp.args, (char const   *)tmp___5);
  }
  prepare_submodule_repo_env(& cp.env_array);
  tmp___6 = is_directory(path___6);
  if (! tmp___6) {
    if (! sub) {
      goto done;
    }
    cp.dir = (char const   *)sub->gitdir;
    strvec_push(& cp.env_array, (char const   *)"GIT_DIR=.");
    strvec_push(& cp.env_array, (char const   *)"GIT_WORK_TREE=.");
  }
  tmp___7 = start_command(& cp);
  if (tmp___7) {
    diff_emit_submodule_error(o, (char const   *)"(diff failed)\n");
    goto done;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___8 = strbuf_getwholeline_fd(& sb___6, cp.out, '\n');
    if (! (tmp___8 != -1)) {
      goto while_break;
    }
    diff_emit_submodule_pipethrough(o, (char const   *)sb___6.buf, (int )sb___6.len);
  }
  while_break: /* CIL Label */ ;
  }
  tmp___9 = finish_command(& cp);
  if (tmp___9) {
    diff_emit_submodule_error(o, (char const   *)"(diff failed)\n");
  }
  done:
  strbuf_release(& sb___6);
  if (merge_bases) {
    free_commit_list(merge_bases);
  }
  if (left) {
    clear_commit_marks(left, (unsigned int )(~ 0));
  }
  if (right) {
    clear_commit_marks(right, (unsigned int )(~ 0));
  }
  if (sub) {
    repo_clear(sub);
    free((void *)sub);
  }
  return;
}
}
int should_update_submodules(void)
{


  {
  return (config_update_recurse_submodules == 2);
}
}
struct submodule  const  *submodule_from_ce(struct cache_entry  const  *ce )
{
  int tmp ;
  struct object_id  const  *tmp___0 ;
  struct submodule  const  *tmp___1 ;

  {
  if (! ((ce->ce_mode & 61440U) == 57344U)) {
    return ((struct submodule  const  *)((void *)0));
  }
  tmp = should_update_submodules();
  if (! tmp) {
    return ((struct submodule  const  *)((void *)0));
  }
  tmp___0 = null_oid();
  tmp___1 = submodule_from_path(the_repository, tmp___0, (char const   *)(ce->name));
  return (tmp___1);
}
}
static struct oid_array *submodule_commits(struct string_list *submodules , char const   *name___0 )
{
  struct string_list_item *item___0 ;

  {
  item___0 = string_list_insert(submodules, name___0);
  if (item___0->util) {
    return ((struct oid_array *)item___0->util);
  }
  item___0->util = xcalloc((size_t )1, sizeof(struct oid_array ));
  return ((struct oid_array *)item___0->util);
}
}
static char const   *default_name_or_path(char const   *path_or_name )
{
  int error_code ;
  int tmp ;

  {
  tmp = is_submodule_populated_gently(path_or_name, & error_code);
  if (! tmp) {
    return ((char const   *)((void *)0));
  }
  return (path_or_name);
}
}
static void collect_changed_submodules_cb(struct diff_queue_struct *q , struct diff_options *options ,
                                          void *data )
{
  struct collect_changed_submodules_cb_data *me ;
  struct string_list *changed ;
  struct object_id  const  *commit_oid ;
  int i ;
  struct diff_filepair *p___0 ;
  struct oid_array *commits ;
  struct submodule  const  *submodule ;
  char const   *name___0 ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  me = (struct collect_changed_submodules_cb_data *)data;
  changed = me->changed;
  commit_oid = me->commit_oid;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break;
    }
    p___0 = *(q->queue + i);
    if (! (((int )(p___0->two)->mode & 0170000) == 0160000)) {
      goto __Cont;
    }
    submodule = submodule_from_path(me->repo, commit_oid, (char const   *)(p___0->two)->path);
    if (submodule) {
      name___0 = (char const   *)submodule->name;
    } else {
      name___0 = default_name_or_path((char const   *)(p___0->two)->path);
      if (name___0) {
        submodule = submodule_from_name(me->repo, commit_oid, name___0);
      }
      if (submodule) {
        tmp = oid_to_hex(commit_oid);
        tmp___0 = _((char const   *)"Submodule in commit %s at path: \'%s\' collides with a submodule named the same. Skipping it.");
        warning((char const   *)tmp___0, tmp, (p___0->two)->path);
        name___0 = (char const   *)((void *)0);
      }
    }
    if (! name___0) {
      goto __Cont;
    }
    commits = submodule_commits(changed, name___0);
    oid_array_append(commits, (struct object_id  const  *)(& (p___0->two)->oid));
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void collect_changed_submodules(struct repository *r , struct string_list *changed ,
                                       struct strvec *argv___0 )
{
  struct rev_info rev ;
  struct commit  const  *commit ;
  int save_warning ;
  struct setup_revision_opt s_r_opt ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  struct rev_info diff_rev ;
  struct collect_changed_submodules_cb_data data ;
  struct commit *tmp___1 ;

  {
  s_r_opt.def = (char const   *)0;
  s_r_opt.tweak = (void (*)(struct rev_info * , struct setup_revision_opt * ))0;
  s_r_opt.assume_dashdash = 1U;
  s_r_opt.allow_exclude_promisor_objects = 0U;
  s_r_opt.revarg_opt = 0U;
  save_warning = warn_on_object_refname_ambiguity;
  warn_on_object_refname_ambiguity = 0;
  repo_init_revisions(r, & rev, (char const   *)((void *)0));
  setup_revisions((int )argv___0->nr, argv___0->v, & rev, & s_r_opt);
  warn_on_object_refname_ambiguity = save_warning;
  tmp___0 = prepare_revision_walk(& rev);
  if (tmp___0) {
    tmp = _((char const   *)"revision walk setup failed");
    die((char const   *)tmp);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = get_revision(& rev);
    commit = (struct commit  const  *)tmp___1;
    if (! commit) {
      goto while_break;
    }
    data.repo = r;
    data.changed = changed;
    data.commit_oid = (struct object_id  const  *)(& commit->object.oid);
    repo_init_revisions(r, & diff_rev, (char const   *)((void *)0));
    diff_rev.diffopt.output_format |= 0x1000;
    diff_rev.diffopt.format_callback = & collect_changed_submodules_cb;
    diff_rev.diffopt.format_callback_data = (void *)(& data);
    diff_rev.dense_combined_merges = 1U;
    diff_tree_combined_merge(commit, & diff_rev);
  }
  while_break: /* CIL Label */ ;
  }
  reset_revision_walk();
  return;
}
}
static void free_submodules_oids(struct string_list *submodules )
{
  struct string_list_item *item___0 ;

  {
  item___0 = submodules->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(submodules->items + submodules->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    oid_array_clear((struct oid_array *)item___0->util);
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_clear(submodules, 1);
  return;
}
}
static int has_remote(char const   *refname , struct object_id  const  *oid , int flags___0 ,
                      void *cb_data )
{


  {
  return (1);
}
}
static int append_oid_to_argv(struct object_id  const  *oid , void *data )
{
  struct strvec *argv___0 ;
  char *tmp ;

  {
  argv___0 = (struct strvec *)data;
  tmp = oid_to_hex(oid);
  strvec_push(argv___0, (char const   *)tmp);
  return (0);
}
}
static int check_has_commit(struct object_id  const  *oid , void *data )
{
  struct has_commit_data *cb ;
  struct repository subrepo ;
  enum object_type type___0 ;
  struct object_id  const  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  cb = (struct has_commit_data *)data;
  tmp = null_oid();
  tmp___0 = repo_submodule_init(& subrepo, cb->repo, cb->path, tmp);
  if (tmp___0) {
    cb->result = 0;
    goto cleanup;
  }
  tmp___1 = oid_object_info(& subrepo, oid, (unsigned long *)((void *)0));
  type___0 = (enum object_type )tmp___1;
  {
  if ((int )type___0 == 1) {
    goto case_1;
  }
  if ((int )type___0 == -1) {
    goto case_neg_1;
  }
  goto switch_default;
  case_1: /* CIL Label */
  goto cleanup;
  case_neg_1: /* CIL Label */
  cb->result = 0;
  goto cleanup;
  switch_default: /* CIL Label */
  tmp___2 = type_name((unsigned int )type___0);
  tmp___3 = oid_to_hex(oid);
  tmp___4 = _((char const   *)"submodule entry \'%s\' (%s) is a %s, not a commit");
  die((char const   *)tmp___4, cb->path, tmp___3, tmp___2);
  switch_break: /* CIL Label */ ;
  }
  cleanup:
  repo_clear(& subrepo);
  return (0);
}
}
static int submodule_has_commits(struct repository *r , char const   *path___6 , struct oid_array *commits )
{
  struct has_commit_data has_commit ;
  int tmp ;
  struct child_process cp ;
  struct strbuf out ;
  int tmp___0 ;

  {
  has_commit.repo = r;
  has_commit.result = 1;
  has_commit.path = path___6;
  tmp = add_submodule_odb(path___6);
  if (tmp) {
    return (0);
  }
  oid_array_for_each_unique(commits, & check_has_commit, (void *)(& has_commit));
  if (has_commit.result) {
    cp.args.v = empty_strvec;
    cp.args.nr = 0UL;
    cp.args.alloc = 0UL;
    cp.env_array.v = empty_strvec;
    cp.env_array.nr = 0UL;
    cp.env_array.alloc = 0UL;
    cp.pid = 0;
    cp.trace2_child_id = 0;
    cp.trace2_child_us_start = 0UL;
    cp.trace2_child_class = (char const   *)0;
    cp.trace2_hook_name = (char const   *)0;
    cp.in = 0;
    cp.out = 0;
    cp.err = 0;
    cp.dir = (char const   *)0;
    cp.no_stdin = 0U;
    cp.no_stdout = 0U;
    cp.no_stderr = 0U;
    cp.git_cmd = 0U;
    cp.silent_exec_failure = 0U;
    cp.use_shell = 0U;
    cp.close_object_store = 0U;
    cp.stdout_to_stderr = 0U;
    cp.clean_on_exit = 0U;
    cp.wait_after_clean = 0U;
    cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    cp.clean_on_exit_handler_cbdata = (void *)0;
    out.alloc = 0UL;
    out.len = 0UL;
    out.buf = strbuf_slopbuf;
    strvec_pushl(& cp.args, "rev-list", "-n", "1", (void *)0);
    oid_array_for_each_unique(commits, & append_oid_to_argv, (void *)(& cp.args));
    strvec_pushl(& cp.args, "--not", "--all", (void *)0);
    prepare_submodule_repo_env(& cp.env_array);
    cp.git_cmd = 1U;
    cp.no_stdin = 1U;
    cp.dir = path___6;
    tmp___0 = capture_command(& cp, & out, (size_t )65);
    if (tmp___0) {
      has_commit.result = 0;
    } else
    if (out.len) {
      has_commit.result = 0;
    }
    strbuf_release(& out);
  }
  return (has_commit.result);
}
}
static int submodule_needs_pushing(struct repository *r , char const   *path___6 ,
                                   struct oid_array *commits )
{
  int tmp ;
  struct child_process cp ;
  struct strbuf buf___19 ;
  int needs_pushing ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  ssize_t tmp___2 ;
  int tmp___3 ;

  {
  tmp = submodule_has_commits(r, path___6, commits);
  if (! tmp) {
    return (0);
  }
  tmp___3 = for_each_remote_ref_submodule(path___6, & has_remote, (void *)0);
  if (tmp___3 > 0) {
    cp.args.v = empty_strvec;
    cp.args.nr = 0UL;
    cp.args.alloc = 0UL;
    cp.env_array.v = empty_strvec;
    cp.env_array.nr = 0UL;
    cp.env_array.alloc = 0UL;
    cp.pid = 0;
    cp.trace2_child_id = 0;
    cp.trace2_child_us_start = 0UL;
    cp.trace2_child_class = (char const   *)0;
    cp.trace2_hook_name = (char const   *)0;
    cp.in = 0;
    cp.out = 0;
    cp.err = 0;
    cp.dir = (char const   *)0;
    cp.no_stdin = 0U;
    cp.no_stdout = 0U;
    cp.no_stderr = 0U;
    cp.git_cmd = 0U;
    cp.silent_exec_failure = 0U;
    cp.use_shell = 0U;
    cp.close_object_store = 0U;
    cp.stdout_to_stderr = 0U;
    cp.clean_on_exit = 0U;
    cp.wait_after_clean = 0U;
    cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    cp.clean_on_exit_handler_cbdata = (void *)0;
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    needs_pushing = 0;
    strvec_push(& cp.args, (char const   *)"rev-list");
    oid_array_for_each_unique(commits, & append_oid_to_argv, (void *)(& cp.args));
    strvec_pushl(& cp.args, "--not", "--remotes", "-n", "1", (void *)0);
    prepare_submodule_repo_env(& cp.env_array);
    cp.git_cmd = 1U;
    cp.no_stdin = 1U;
    cp.out = -1;
    cp.dir = path___6;
    tmp___1 = start_command(& cp);
    if (tmp___1) {
      tmp___0 = _((char const   *)"Could not run \'git rev-list <commits> --not --remotes -n 1\' command in submodule %s");
      die((char const   *)tmp___0, path___6);
    }
    tmp___2 = strbuf_read(& buf___19, cp.out, (size_t )((the_repository->hash_algo)->hexsz + 1UL));
    if (tmp___2) {
      needs_pushing = 1;
    }
    finish_command(& cp);
    close(cp.out);
    strbuf_release(& buf___19);
    return (needs_pushing);
  }
  return (0);
}
}
int find_unpushed_submodules(struct repository *r , struct oid_array *commits , char const   *remotes_name ,
                             struct string_list *needs_pushing )
{
  struct string_list submodules ;
  struct string_list_item *name___0 ;
  struct strvec argv___0 ;
  struct oid_array *commits___0 ;
  struct submodule  const  *submodule ;
  char const   *path___6 ;
  struct object_id  const  *tmp ;
  int tmp___0 ;

  {
  submodules.items = (struct string_list_item *)0;
  submodules.nr = 0U;
  submodules.alloc = 0U;
  submodules.strdup_strings = 1U;
  submodules.cmp = (int (*)(char const   * , char const   * ))0;
  argv___0.v = empty_strvec;
  argv___0.nr = 0UL;
  argv___0.alloc = 0UL;
  strvec_push(& argv___0, (char const   *)"find_unpushed_submodules");
  oid_array_for_each_unique(commits, & append_oid_to_argv, (void *)(& argv___0));
  strvec_push(& argv___0, (char const   *)"--not");
  strvec_pushf(& argv___0, (char const   *)"--remotes=%s", remotes_name);
  collect_changed_submodules(r, & submodules, & argv___0);
  name___0 = submodules.items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (name___0) {
      if (! ((unsigned long )name___0 < (unsigned long )(submodules.items + submodules.nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    commits___0 = (struct oid_array *)name___0->util;
    path___6 = (char const   *)((void *)0);
    tmp = null_oid();
    submodule = submodule_from_name(r, tmp, (char const   *)name___0->string);
    if (submodule) {
      path___6 = (char const   *)submodule->path;
    } else {
      path___6 = default_name_or_path((char const   *)name___0->string);
    }
    if (! path___6) {
      goto __Cont;
    }
    tmp___0 = submodule_needs_pushing(r, path___6, commits___0);
    if (tmp___0) {
      string_list_insert(needs_pushing, path___6);
    }
    __Cont: /* CIL Label */
    name___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  free_submodules_oids(& submodules);
  strvec_clear(& argv___0);
  return ((int )needs_pushing->nr);
}
}
static int push_submodule(char const   *path___6 , struct remote  const  *remote ,
                          struct refspec  const  *rs___0 , struct string_list  const  *push_options ,
                          int dry_run___3 )
{
  struct child_process cp ;
  struct string_list_item  const  *item___0 ;
  int i ;
  int tmp ;
  int tmp___0 ;

  {
  tmp___0 = for_each_remote_ref_submodule(path___6, & has_remote, (void *)0);
  if (tmp___0 > 0) {
    cp.args.v = empty_strvec;
    cp.args.nr = 0UL;
    cp.args.alloc = 0UL;
    cp.env_array.v = empty_strvec;
    cp.env_array.nr = 0UL;
    cp.env_array.alloc = 0UL;
    cp.pid = 0;
    cp.trace2_child_id = 0;
    cp.trace2_child_us_start = 0UL;
    cp.trace2_child_class = (char const   *)0;
    cp.trace2_hook_name = (char const   *)0;
    cp.in = 0;
    cp.out = 0;
    cp.err = 0;
    cp.dir = (char const   *)0;
    cp.no_stdin = 0U;
    cp.no_stdout = 0U;
    cp.no_stderr = 0U;
    cp.git_cmd = 0U;
    cp.silent_exec_failure = 0U;
    cp.use_shell = 0U;
    cp.close_object_store = 0U;
    cp.stdout_to_stderr = 0U;
    cp.clean_on_exit = 0U;
    cp.wait_after_clean = 0U;
    cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    cp.clean_on_exit_handler_cbdata = (void *)0;
    strvec_push(& cp.args, (char const   *)"push");
    if (dry_run___3) {
      strvec_push(& cp.args, (char const   *)"--dry-run");
    }
    if (push_options) {
      if (push_options->nr) {
        item___0 = (struct string_list_item  const  *)push_options->items;
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          if (item___0) {
            if (! ((unsigned long )item___0 < (unsigned long )(push_options->items + push_options->nr))) {
              goto while_break;
            }
          } else {
            goto while_break;
          }
          strvec_pushf(& cp.args, (char const   *)"--push-option=%s", item___0->string);
          item___0 ++;
        }
        while_break: /* CIL Label */ ;
        }
      }
    }
    if (remote->origin != 0) {
      strvec_push(& cp.args, (char const   *)remote->name);
      i = 0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (i < (int )rs___0->raw_nr)) {
          goto while_break___0;
        }
        strvec_push(& cp.args, *(rs___0->raw + i));
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
    }
    prepare_submodule_repo_env(& cp.env_array);
    cp.git_cmd = 1U;
    cp.no_stdin = 1U;
    cp.dir = path___6;
    tmp = run_command(& cp);
    if (tmp) {
      return (0);
    }
    close(cp.out);
  }
  return (1);
}
}
static void submodule_push_check(char const   *path___6 , char const   *head___1 ,
                                 struct remote  const  *remote , struct refspec  const  *rs___0 )
{
  struct child_process cp ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  strvec_push(& cp.args, (char const   *)"submodule--helper");
  strvec_push(& cp.args, (char const   *)"push-check");
  strvec_push(& cp.args, head___1);
  strvec_push(& cp.args, (char const   *)remote->name);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (int )rs___0->raw_nr)) {
      goto while_break;
    }
    strvec_push(& cp.args, *(rs___0->raw + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  prepare_submodule_repo_env(& cp.env_array);
  cp.git_cmd = 1U;
  cp.no_stdin = 1U;
  cp.no_stdout = 1U;
  cp.dir = path___6;
  tmp___0 = run_command(& cp);
  if (tmp___0) {
    tmp = _((char const   *)"process for submodule \'%s\' failed");
    die((char const   *)tmp, path___6);
  }
  return;
}
}
int push_unpushed_submodules(struct repository *r , struct oid_array *commits , struct remote  const  *remote ,
                             struct refspec  const  *rs___0 , struct string_list  const  *push_options ,
                             int dry_run___3 )
{
  int i ;
  int ret___67 ;
  struct string_list needs_pushing ;
  int tmp ;
  char *head___1 ;
  struct object_id head_oid___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const   *path___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  ret___67 = 1;
  needs_pushing.items = (struct string_list_item *)0;
  needs_pushing.nr = 0U;
  needs_pushing.alloc = 0U;
  needs_pushing.strdup_strings = 1U;
  needs_pushing.cmp = (int (*)(char const   * , char const   * ))0;
  tmp = find_unpushed_submodules(r, commits, (char const   *)remote->name, & needs_pushing);
  if (! tmp) {
    return (1);
  }
  if (remote->origin != 0) {
    head___1 = resolve_refdup((char const   *)"HEAD", 0, & head_oid___1, (int *)((void *)0));
    if (! head___1) {
      tmp___0 = _((char const   *)"Failed to resolve HEAD as a valid ref.");
      die((char const   *)tmp___0);
    }
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )i < needs_pushing.nr)) {
        goto while_break;
      }
      submodule_push_check((char const   *)(needs_pushing.items + i)->string, (char const   *)head___1,
                           remote, rs___0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    free((void *)head___1);
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < needs_pushing.nr)) {
      goto while_break___0;
    }
    path___6 = (char const   *)(needs_pushing.items + i)->string;
    tmp___1 = _((char const   *)"Pushing submodule \'%s\'\n");
    fprintf(stderr, (char const   *)tmp___1, path___6);
    tmp___3 = push_submodule(path___6, remote, rs___0, push_options, dry_run___3);
    if (! tmp___3) {
      tmp___2 = _((char const   *)"Unable to push submodule \'%s\'\n");
      fprintf(stderr, (char const   *)tmp___2, path___6);
      ret___67 = 0;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  string_list_clear(& needs_pushing, 0);
  return (ret___67);
}
}
static int append_oid_to_array(char const   *ref , struct object_id  const  *oid ,
                               int flags___0 , void *data )
{
  struct oid_array *array ;

  {
  array = (struct oid_array *)data;
  oid_array_append(array, oid);
  return (0);
}
}
void check_for_new_submodule_commits(struct object_id *oid )
{


  {
  if (! initialized_fetch_ref_tips) {
    for_each_ref(& append_oid_to_array, (void *)(& ref_tips_before_fetch));
    initialized_fetch_ref_tips = 1;
  }
  oid_array_append(& ref_tips_after_fetch, (struct object_id  const  *)oid);
  return;
}
}
static void calculate_changed_submodule_paths(struct repository *r , struct string_list *changed_submodule_names )
{
  struct strvec argv___0 ;
  struct string_list_item *name___0 ;
  struct submodule  const  *tmp ;
  struct oid_array *commits ;
  struct submodule  const  *submodule ;
  char const   *path___6 ;
  struct object_id  const  *tmp___0 ;
  int tmp___1 ;

  {
  argv___0.v = empty_strvec;
  argv___0.nr = 0UL;
  argv___0.alloc = 0UL;
  tmp = submodule_from_path(r, (struct object_id  const  *)((void *)0), (char const   *)((void *)0));
  if (! tmp) {
    return;
  }
  strvec_push(& argv___0, (char const   *)"--");
  oid_array_for_each_unique(& ref_tips_after_fetch, & append_oid_to_argv, (void *)(& argv___0));
  strvec_push(& argv___0, (char const   *)"--not");
  oid_array_for_each_unique(& ref_tips_before_fetch, & append_oid_to_argv, (void *)(& argv___0));
  collect_changed_submodules(r, changed_submodule_names, & argv___0);
  name___0 = changed_submodule_names->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (name___0) {
      if (! ((unsigned long )name___0 < (unsigned long )(changed_submodule_names->items + changed_submodule_names->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    commits = (struct oid_array *)name___0->util;
    path___6 = (char const   *)((void *)0);
    tmp___0 = null_oid();
    submodule = submodule_from_name(r, tmp___0, (char const   *)name___0->string);
    if (submodule) {
      path___6 = (char const   *)submodule->path;
    } else {
      path___6 = default_name_or_path((char const   *)name___0->string);
    }
    if (! path___6) {
      goto __Cont;
    }
    tmp___1 = submodule_has_commits(r, path___6, commits);
    if (tmp___1) {
      oid_array_clear(commits);
      *(name___0->string) = (char )'\000';
    }
    __Cont: /* CIL Label */
    name___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_remove_empty_items(changed_submodule_names, 1);
  strvec_clear(& argv___0);
  oid_array_clear(& ref_tips_before_fetch);
  oid_array_clear(& ref_tips_after_fetch);
  initialized_fetch_ref_tips = 0;
  return;
}
}
int submodule_touches_in_range(struct repository *r , struct object_id *excl_oid ,
                               struct object_id *incl_oid )
{
  struct string_list subs ;
  struct strvec args___0 ;
  int ret___67 ;
  struct submodule  const  *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  subs.items = (struct string_list_item *)0;
  subs.nr = 0U;
  subs.alloc = 0U;
  subs.strdup_strings = 1U;
  subs.cmp = (int (*)(char const   * , char const   * ))0;
  args___0.v = empty_strvec;
  args___0.nr = 0UL;
  args___0.alloc = 0UL;
  tmp = submodule_from_path(r, (struct object_id  const  *)((void *)0), (char const   *)((void *)0));
  if (! tmp) {
    return (0);
  }
  strvec_push(& args___0, (char const   *)"--");
  tmp___0 = oid_to_hex((struct object_id  const  *)incl_oid);
  strvec_push(& args___0, (char const   *)tmp___0);
  tmp___2 = is_null_oid((struct object_id  const  *)excl_oid);
  if (! tmp___2) {
    strvec_push(& args___0, (char const   *)"--not");
    tmp___1 = oid_to_hex((struct object_id  const  *)excl_oid);
    strvec_push(& args___0, (char const   *)tmp___1);
  }
  collect_changed_submodules(r, & subs, & args___0);
  ret___67 = (int )subs.nr;
  strvec_clear(& args___0);
  free_submodules_oids(& subs);
  return (ret___67);
}
}
static int get_fetch_recurse_config(struct submodule  const  *submodule , struct submodule_parallel_fetch *spf )
{
  char *key___1 ;
  char const   *value ;
  int fetch_recurse ;
  int tmp ;

  {
  if (spf->command_line_option != 1) {
    return (spf->command_line_option);
  }
  if (submodule) {
    fetch_recurse = (int )submodule->fetch_recurse;
    key___1 = xstrfmt((char const   *)"submodule.%s.fetchRecurseSubmodules", submodule->name);
    tmp = repo_config_get_string_tmp(spf->r, (char const   *)key___1, & value);
    if (! tmp) {
      fetch_recurse = parse_fetch_recurse_submodules_arg((char const   *)key___1,
                                                         value);
    }
    free((void *)key___1);
    if (fetch_recurse != -2) {
      return (fetch_recurse);
    }
  }
  return (spf->default_option);
}
}
static struct submodule  const  *get_non_gitmodules_submodule(char const   *path___6 )
{
  struct submodule *ret___67 ;
  char const   *name___0 ;
  char const   *tmp ;
  void *tmp___0 ;

  {
  ret___67 = (struct submodule *)((void *)0);
  tmp = default_name_or_path(path___6);
  name___0 = tmp;
  if (! name___0) {
    return ((struct submodule  const  *)((void *)0));
  }
  tmp___0 = xmalloc(sizeof(*ret___67));
  ret___67 = (struct submodule *)tmp___0;
  memset((void *)ret___67, 0, sizeof(*ret___67));
  ret___67->path = name___0;
  ret___67->name = name___0;
  return ((struct submodule  const  *)ret___67);
}
}
static struct fetch_task *fetch_task_create(struct repository *r , char const   *path___6 )
{
  struct fetch_task *task ;
  void *tmp ;
  struct object_id  const  *tmp___0 ;

  {
  tmp = xmalloc(sizeof(*task));
  task = (struct fetch_task *)tmp;
  memset((void *)task, 0, sizeof(*task));
  tmp___0 = null_oid();
  task->sub = submodule_from_path(r, tmp___0, path___6);
  if (! task->sub) {
    task->sub = get_non_gitmodules_submodule(path___6);
    if (! task->sub) {
      free((void *)task);
      return ((struct fetch_task *)((void *)0));
    }
    task->free_sub = 1U;
  }
  return (task);
}
}
static void fetch_task_release(struct fetch_task *p___0 )
{


  {
  if (p___0->free_sub) {
    free((void *)p___0->sub);
  }
  p___0->free_sub = 0U;
  p___0->sub = (struct submodule  const  *)((void *)0);
  if (p___0->repo) {
    repo_clear(p___0->repo);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)p___0->repo);
    p___0->repo = (struct repository *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct repository *get_submodule_repo_for(struct repository *r , char const   *path___6 )
{
  struct repository *ret___67 ;
  void *tmp ;
  struct object_id  const  *tmp___0 ;
  int tmp___1 ;

  {
  tmp = xmalloc(sizeof(*ret___67));
  ret___67 = (struct repository *)tmp;
  tmp___0 = null_oid();
  tmp___1 = repo_submodule_init(ret___67, r, path___6, tmp___0);
  if (tmp___1) {
    free((void *)ret___67);
    return ((struct repository *)((void *)0));
  }
  return (ret___67);
}
}
static int get_next_submodule(struct child_process *cp , struct strbuf *err___4 ,
                              void *data , void **task_cb )
{
  struct submodule_parallel_fetch *spf ;
  struct cache_entry  const  *ce ;
  char const   *default_argv ;
  struct fetch_task *task ;
  int tmp ;
  struct string_list_item *tmp___0 ;
  struct strbuf submodule_prefix___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  struct strbuf empty_submodule_path ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  struct fetch_task *task___0 ;
  struct strbuf submodule_prefix___1 ;

  {
  spf = (struct submodule_parallel_fetch *)data;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )spf->count < ((spf->r)->index)->cache_nr)) {
      goto while_break;
    }
    ce = (struct cache_entry  const  *)*(((spf->r)->index)->cache + spf->count);
    if (! ((ce->ce_mode & 61440U) == 57344U)) {
      goto __Cont;
    }
    task = fetch_task_create(spf->r, (char const   *)(ce->name));
    if (! task) {
      goto __Cont;
    }
    tmp = get_fetch_recurse_config(task->sub, spf);
    {
    if (tmp == 2) {
      goto case_2;
    }
    if (tmp == 0) {
      goto case_0;
    }
    goto case_neg_1;
    case_neg_1: /* CIL Label */
    case_1: /* CIL Label */
    switch_default: /* CIL Label */
    if (! task->sub) {
      goto __Cont;
    } else {
      tmp___0 = string_list_lookup(& spf->changed_submodule_names, (char const   *)(task->sub)->name);
      if (! tmp___0) {
        goto __Cont;
      }
    }
    default_argv = (char const   *)"on-demand";
    goto switch_break;
    case_2: /* CIL Label */
    default_argv = (char const   *)"yes";
    goto switch_break;
    case_0: /* CIL Label */
    goto __Cont;
    switch_break: /* CIL Label */ ;
    }
    task->repo = get_submodule_repo_for(spf->r, (char const   *)(task->sub)->path);
    if (task->repo) {
      submodule_prefix___0.alloc = 0UL;
      submodule_prefix___0.len = 0UL;
      submodule_prefix___0.buf = strbuf_slopbuf;
      child_process_init(cp);
      cp->dir = (char const   *)(task->repo)->gitdir;
      prepare_submodule_repo_env_in_gitdir(& cp->env_array);
      cp->git_cmd = 1U;
      if (! spf->quiet) {
        tmp___1 = _((char const   *)"Fetching submodule %s%s\n");
        strbuf_addf(err___4, (char const   *)tmp___1, spf->prefix, ce->name);
      }
      strvec_init(& cp->args);
      strvec_pushv(& cp->args, spf->args.v);
      strvec_push(& cp->args, default_argv);
      strvec_push(& cp->args, (char const   *)"--submodule-prefix");
      strbuf_addf(& submodule_prefix___0, (char const   *)"%s%s/", spf->prefix, (task->sub)->path);
      strvec_push(& cp->args, (char const   *)submodule_prefix___0.buf);
      (spf->count) ++;
      *task_cb = (void *)task;
      strbuf_release(& submodule_prefix___0);
      return (1);
    } else {
      empty_submodule_path.alloc = 0UL;
      empty_submodule_path.len = 0UL;
      empty_submodule_path.buf = strbuf_slopbuf;
      fetch_task_release(task);
      free((void *)task);
      strbuf_addf(& empty_submodule_path, (char const   *)"%s/%s/", (spf->r)->worktree,
                  ce->name);
      if ((ce->ce_mode & 61440U) == 57344U) {
        tmp___3 = is_empty_dir((char const   *)empty_submodule_path.buf);
        if (! tmp___3) {
          spf->result = 1;
          tmp___2 = _((char const   *)"Could not access submodule \'%s\'\n");
          strbuf_addf(err___4, (char const   *)tmp___2, ce->name);
        }
      }
      strbuf_release(& empty_submodule_path);
    }
    __Cont: /* CIL Label */
    (spf->count) ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (spf->oid_fetch_tasks_nr) {
    task___0 = *(spf->oid_fetch_tasks + (spf->oid_fetch_tasks_nr - 1));
    submodule_prefix___1.alloc = 0UL;
    submodule_prefix___1.len = 0UL;
    submodule_prefix___1.buf = strbuf_slopbuf;
    (spf->oid_fetch_tasks_nr) --;
    strbuf_addf(& submodule_prefix___1, (char const   *)"%s%s/", spf->prefix, (task___0->sub)->path);
    child_process_init(cp);
    prepare_submodule_repo_env_in_gitdir(& cp->env_array);
    cp->git_cmd = 1U;
    cp->dir = (char const   *)(task___0->repo)->gitdir;
    strvec_init(& cp->args);
    strvec_pushv(& cp->args, spf->args.v);
    strvec_push(& cp->args, (char const   *)"on-demand");
    strvec_push(& cp->args, (char const   *)"--submodule-prefix");
    strvec_push(& cp->args, (char const   *)submodule_prefix___1.buf);
    strvec_push(& cp->args, (char const   *)"origin");
    oid_array_for_each_unique(task___0->commits, & append_oid_to_argv, (void *)(& cp->args));
    *task_cb = (void *)task___0;
    strbuf_release(& submodule_prefix___1);
    return (1);
  }
  return (0);
}
}
static int fetch_start_failure(struct strbuf *err___4 , void *cb , void *task_cb )
{
  struct submodule_parallel_fetch *spf ;
  struct fetch_task *task ;

  {
  spf = (struct submodule_parallel_fetch *)cb;
  task = (struct fetch_task *)task_cb;
  spf->result = 1;
  fetch_task_release(task);
  return (0);
}
}
static int commit_missing_in_sub(struct object_id  const  *oid , void *data )
{
  struct repository *subrepo ;
  enum object_type type___0 ;
  int tmp ;

  {
  subrepo = (struct repository *)data;
  tmp = oid_object_info(subrepo, oid, (unsigned long *)((void *)0));
  type___0 = (enum object_type )tmp;
  return ((int )type___0 != 1);
}
}
static int fetch_finish(int retvalue , struct strbuf *err___4 , void *cb , void *task_cb )
{
  struct submodule_parallel_fetch *spf ;
  struct fetch_task *task ;
  struct string_list_item *it ;
  struct oid_array *commits ;
  size_t tmp ;
  void *tmp___0 ;

  {
  spf = (struct submodule_parallel_fetch *)cb;
  task = (struct fetch_task *)task_cb;
  if (! task) {
    BUG_fl((char const   *)"submodule.c", 1596, (char const   *)"callback cookie bogus");
  } else
  if (! task->sub) {
    BUG_fl((char const   *)"submodule.c", 1596, (char const   *)"callback cookie bogus");
  }
  if (retvalue) {
    spf->result = 1;
    strbuf_addf(& spf->submodules_with_errors, (char const   *)"\t%s\n", (task->sub)->name);
  }
  if (task->commits) {
    goto out;
  }
  it = string_list_lookup(& spf->changed_submodule_names, (char const   *)(task->sub)->name);
  if (! it) {
    goto out;
  }
  commits = (struct oid_array *)it->util;
  oid_array_filter(commits, & commit_missing_in_sub, (void *)task->repo);
  if (commits->nr) {
    task->commits = commits;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (spf->oid_fetch_tasks_nr + 1 > spf->oid_fetch_tasks_alloc) {
        if (((spf->oid_fetch_tasks_alloc + 16) * 3) / 2 < spf->oid_fetch_tasks_nr + 1) {
          spf->oid_fetch_tasks_alloc = spf->oid_fetch_tasks_nr + 1;
        } else {
          spf->oid_fetch_tasks_alloc = ((spf->oid_fetch_tasks_alloc + 16) * 3) / 2;
        }
        tmp = st_mult(sizeof(*(spf->oid_fetch_tasks)), (size_t )spf->oid_fetch_tasks_alloc);
        tmp___0 = xrealloc((void *)spf->oid_fetch_tasks, tmp);
        spf->oid_fetch_tasks = (struct fetch_task **)tmp___0;
      }
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    *(spf->oid_fetch_tasks + spf->oid_fetch_tasks_nr) = task;
    (spf->oid_fetch_tasks_nr) ++;
    return (0);
  }
  out:
  fetch_task_release(task);
  return (0);
}
}
int fetch_populated_submodules(struct repository *r , struct strvec  const  *options ,
                               char const   *prefix___1 , int command_line_option ,
                               int default_option , int quiet___7 , int max_parallel_jobs )
{
  int i ;
  struct submodule_parallel_fetch spf ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  spf.count = 0;
  spf.args.v = empty_strvec;
  spf.args.nr = 0UL;
  spf.args.alloc = 0UL;
  spf.r = (struct repository *)0;
  spf.prefix = (char const   *)0;
  spf.command_line_option = 0;
  spf.default_option = 0;
  spf.quiet = 0;
  spf.result = 0;
  spf.changed_submodule_names.items = (struct string_list_item *)0;
  spf.changed_submodule_names.nr = 0U;
  spf.changed_submodule_names.alloc = 0U;
  spf.changed_submodule_names.strdup_strings = 1U;
  spf.changed_submodule_names.cmp = (int (*)(char const   * , char const   * ))0;
  spf.oid_fetch_tasks = (struct fetch_task **)0;
  spf.oid_fetch_tasks_nr = 0;
  spf.oid_fetch_tasks_alloc = 0;
  spf.submodules_with_errors.alloc = 0UL;
  spf.submodules_with_errors.len = 0UL;
  spf.submodules_with_errors.buf = strbuf_slopbuf;
  spf.r = r;
  spf.command_line_option = command_line_option;
  spf.default_option = default_option;
  spf.quiet = quiet___7;
  spf.prefix = prefix___1;
  if (! r->worktree) {
    goto out;
  }
  tmp___0 = repo_read_index(r);
  if (tmp___0 < 0) {
    tmp = _((char const   *)"index file corrupt");
    die((char const   *)tmp);
  }
  strvec_push(& spf.args, (char const   *)"fetch");
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < options->nr)) {
      goto while_break;
    }
    strvec_push(& spf.args, *(options->v + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strvec_push(& spf.args, (char const   *)"--recurse-submodules-default");
  calculate_changed_submodule_paths(r, & spf.changed_submodule_names);
  string_list_sort(& spf.changed_submodule_names);
  run_processes_parallel_tr2(max_parallel_jobs, & get_next_submodule, & fetch_start_failure,
                             & fetch_finish, (void *)(& spf), (char const   *)"submodule",
                             (char const   *)"parallel/fetch");
  if (spf.submodules_with_errors.len > 0UL) {
    tmp___1 = _((char const   *)"Errors during submodule fetch:\n%s");
    fprintf(stderr, (char const   *)tmp___1, spf.submodules_with_errors.buf);
  }
  strvec_clear(& spf.args);
  out:
  free_submodules_oids(& spf.changed_submodule_names);
  return (spf.result);
}
}
unsigned int is_submodule_modified(char const   *path___6 , int ignore_untracked )
{
  struct child_process cp ;
  struct strbuf buf___19 ;
  FILE *fp ;
  unsigned int dirty_submodule ;
  char const   *git_dir ;
  int ignore_cp_exit_code ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  size_t tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  dirty_submodule = 0U;
  ignore_cp_exit_code = 0;
  strbuf_addf(& buf___19, (char const   *)"%s/.git", path___6);
  git_dir = read_gitfile_gently((char const   *)buf___19.buf, (int *)((void *)0));
  if (! git_dir) {
    git_dir = (char const   *)buf___19.buf;
  }
  tmp___1 = is_git_directory(git_dir);
  if (! tmp___1) {
    tmp___0 = is_directory(git_dir);
    if (tmp___0) {
      tmp = _((char const   *)"\'%s\' not recognized as a git repository");
      die((char const   *)tmp, git_dir);
    }
    strbuf_release(& buf___19);
    return (0U);
  }
  strbuf_setlen(& buf___19, (size_t )0);
  strvec_pushl(& cp.args, "status", "--porcelain=2", (void *)0);
  if (ignore_untracked) {
    strvec_push(& cp.args, (char const   *)"-uno");
  }
  prepare_submodule_repo_env(& cp.env_array);
  cp.git_cmd = 1U;
  cp.no_stdin = 1U;
  cp.out = -1;
  cp.dir = path___6;
  tmp___3 = start_command(& cp);
  if (tmp___3) {
    tmp___2 = _((char const   *)"Could not run \'git status --porcelain=2\' in submodule %s");
    die((char const   *)tmp___2, path___6);
  }
  fp = xfdopen(cp.out, (char const   *)"r");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___6 = strbuf_getwholeline(& buf___19, fp, '\n');
    if (! (tmp___6 != -1)) {
      goto while_break;
    }
    if ((int )*(buf___19.buf + 0) == 63) {
      dirty_submodule |= 1U;
    }
    if ((int )*(buf___19.buf + 0) == 117) {
      goto _L;
    } else
    if ((int )*(buf___19.buf + 0) == 49) {
      goto _L;
    } else
    if ((int )*(buf___19.buf + 0) == 50) {
      _L: /* CIL Label */
      tmp___4 = strlen((char const   *)"T XY SSSS");
      if (buf___19.len < tmp___4) {
        BUG_fl((char const   *)"submodule.c", 1736, (char const   *)"invalid status --porcelain=2 line %s",
               buf___19.buf);
      }
      if ((int )*(buf___19.buf + 5) == 83) {
        if ((int )*(buf___19.buf + 8) == 85) {
          dirty_submodule |= 1U;
        }
      }
      if ((int )*(buf___19.buf + 0) == 117) {
        dirty_submodule |= 2U;
      } else
      if ((int )*(buf___19.buf + 0) == 50) {
        dirty_submodule |= 2U;
      } else {
        tmp___5 = memcmp((void const   *)(buf___19.buf + 5), (void const   *)"S..U",
                         (size_t )4);
        if (tmp___5) {
          dirty_submodule |= 2U;
        }
      }
    }
    if (dirty_submodule & 2U) {
      if (dirty_submodule & 1U) {
        ignore_cp_exit_code = 1;
        goto while_break;
      } else
      if (ignore_untracked) {
        ignore_cp_exit_code = 1;
        goto while_break;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  fclose(fp);
  tmp___8 = finish_command(& cp);
  if (tmp___8) {
    if (! ignore_cp_exit_code) {
      tmp___7 = _((char const   *)"\'git status --porcelain=2\' failed in submodule %s");
      die((char const   *)tmp___7, path___6);
    }
  }
  strbuf_release(& buf___19);
  return (dirty_submodule);
}
}
int submodule_uses_gitfile(char const   *path___6 )
{
  struct child_process cp ;
  struct strbuf buf___19 ;
  char const   *git_dir ;
  int tmp ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  strbuf_addf(& buf___19, (char const   *)"%s/.git", path___6);
  git_dir = read_gitfile_gently((char const   *)buf___19.buf, (int *)((void *)0));
  if (! git_dir) {
    strbuf_release(& buf___19);
    return (0);
  }
  strbuf_release(& buf___19);
  strvec_pushl(& cp.args, "submodule", "foreach", "--quiet", "--recursive", "test -f .git",
               (void *)0);
  prepare_submodule_repo_env(& cp.env_array);
  cp.git_cmd = 1U;
  cp.no_stdin = 1U;
  cp.no_stderr = 1U;
  cp.no_stdout = 1U;
  cp.dir = path___6;
  tmp = run_command(& cp);
  if (tmp) {
    return (0);
  }
  return (1);
}
}
int bad_to_remove_submodule(char const   *path___6 , unsigned int flags___0 )
{
  ssize_t len___0 ;
  struct child_process cp ;
  struct strbuf buf___19 ;
  int ret___67 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  ret___67 = 0;
  tmp = file_exists(path___6);
  if (tmp) {
    tmp___0 = is_empty_dir(path___6);
    if (tmp___0) {
      return (0);
    }
  } else {
    return (0);
  }
  tmp___1 = submodule_uses_gitfile(path___6);
  if (! tmp___1) {
    return (1);
  }
  strvec_pushl(& cp.args, "status", "--porcelain", "--ignore-submodules=none", (void *)0);
  if (flags___0 & (unsigned int )(1 << 1)) {
    strvec_push(& cp.args, (char const   *)"-uno");
  } else {
    strvec_push(& cp.args, (char const   *)"-uall");
  }
  if (! (flags___0 & (unsigned int )(1 << 2))) {
    strvec_push(& cp.args, (char const   *)"--ignored");
  }
  prepare_submodule_repo_env(& cp.env_array);
  cp.git_cmd = 1U;
  cp.no_stdin = 1U;
  cp.out = -1;
  cp.dir = path___6;
  tmp___3 = start_command(& cp);
  if (tmp___3) {
    if (flags___0 & 1U) {
      tmp___2 = _((char const   *)"could not start \'git status\' in submodule \'%s\'");
      die((char const   *)tmp___2, path___6);
    }
    ret___67 = -1;
    goto out;
  }
  len___0 = strbuf_read(& buf___19, cp.out, (size_t )1024);
  if (len___0 > 2L) {
    ret___67 = 1;
  }
  close(cp.out);
  tmp___5 = finish_command(& cp);
  if (tmp___5) {
    if (flags___0 & 1U) {
      tmp___4 = _((char const   *)"could not run \'git status\' in submodule \'%s\'");
      die((char const   *)tmp___4, path___6);
    }
    ret___67 = -1;
  }
  out:
  strbuf_release(& buf___19);
  return (ret___67);
}
}
void submodule_unset_core_worktree(struct submodule  const  *sub )
{
  struct strbuf config_path ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  config_path.alloc = 0UL;
  config_path.len = 0UL;
  config_path.buf = strbuf_slopbuf;
  submodule_name_to_gitdir(& config_path, the_repository, (char const   *)sub->name);
  strbuf_addstr(& config_path, (char const   *)"/config");
  tmp___0 = git_config_set_in_file_gently((char const   *)config_path.buf, (char const   *)"core.worktree",
                                          (char const   *)((void *)0));
  if (tmp___0) {
    tmp = _((char const   *)"Could not unset core.worktree setting in submodule \'%s\'");
    warning((char const   *)tmp, sub->path);
  }
  strbuf_release(& config_path);
  return;
}
}
static char const   *get_super_prefix_or_empty(void)
{
  char const   *s___1 ;
  char const   *tmp ;

  {
  tmp = get_super_prefix();
  s___1 = tmp;
  if (! s___1) {
    s___1 = (char const   *)"";
  }
  return (s___1);
}
}
static int submodule_has_dirty_index(struct submodule  const  *sub )
{
  struct child_process cp ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  prepare_submodule_repo_env(& cp.env_array);
  cp.git_cmd = 1U;
  strvec_pushl(& cp.args, "diff-index", "--quiet", "--cached", "HEAD", (void *)0);
  cp.no_stdin = 1U;
  cp.no_stdout = 1U;
  cp.dir = (char const   *)sub->path;
  tmp___0 = start_command(& cp);
  if (tmp___0) {
    tmp = _((char const   *)"could not recurse into submodule \'%s\'");
    die((char const   *)tmp, sub->path);
  }
  tmp___1 = finish_command(& cp);
  return (tmp___1);
}
}
static void submodule_reset_index(char const   *path___6 )
{
  struct child_process cp ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  prepare_submodule_repo_env(& cp.env_array);
  cp.git_cmd = 1U;
  cp.no_stdin = 1U;
  cp.dir = path___6;
  tmp = get_super_prefix_or_empty();
  strvec_pushf(& cp.args, (char const   *)"--super-prefix=%s%s/", tmp, path___6);
  strvec_pushl(& cp.args, "read-tree", "-u", "--reset", (void *)0);
  tmp___0 = empty_tree_oid_hex();
  strvec_push(& cp.args, tmp___0);
  tmp___2 = run_command(& cp);
  if (tmp___2) {
    tmp___1 = _((char const   *)"could not reset submodule index");
    die((char const   *)tmp___1);
  }
  return;
}
}
int submodule_move_head(char const   *path___6 , char const   *old_head , char const   *new_head ,
                        unsigned int flags___0 )
{
  int ret___67 ;
  struct child_process cp ;
  struct submodule  const  *sub ;
  int *error_code_ptr ;
  int error_code ;
  int tmp ;
  int tmp___0 ;
  struct object_id  const  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  struct strbuf gitdir___0 ;
  struct strbuf gitdir___1 ;
  char const   *tmp___6 ;
  char const   *tmp___7 ;
  char const   *tmp___8 ;
  char const   *tmp___9 ;
  char const   *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  struct strbuf sb___6 ;
  int tmp___14 ;

  {
  ret___67 = 0;
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  tmp = is_submodule_active(the_repository, path___6);
  if (! tmp) {
    return (0);
  }
  if (flags___0 & (unsigned int )(1 << 1)) {
    error_code_ptr = & error_code;
  } else {
    error_code_ptr = (int *)((void *)0);
  }
  if (old_head) {
    tmp___0 = is_submodule_populated_gently(path___6, error_code_ptr);
    if (! tmp___0) {
      return (0);
    }
  }
  tmp___1 = null_oid();
  sub = submodule_from_path(the_repository, tmp___1, path___6);
  if (! sub) {
    BUG_fl((char const   *)"submodule.c", 1954, (char const   *)"could not get submodule information for \'%s\'",
           path___6);
  }
  if (old_head) {
    if (! (flags___0 & (unsigned int )(1 << 1))) {
      tmp___4 = submodule_has_dirty_index(sub);
      if (tmp___4) {
        tmp___2 = _((char const   *)"submodule \'%s\' has dirty index");
        error((char const   *)tmp___2, path___6);
        tmp___3 = const_error();
        return (tmp___3);
      }
    }
  }
  if (! (flags___0 & 1U)) {
    if (old_head) {
      tmp___5 = submodule_uses_gitfile(path___6);
      if (! tmp___5) {
        absorb_git_dir_into_superproject(path___6, 1U);
      }
    } else {
      gitdir___0.alloc = 0UL;
      gitdir___0.len = 0UL;
      gitdir___0.buf = strbuf_slopbuf;
      submodule_name_to_gitdir(& gitdir___0, the_repository, (char const   *)sub->name);
      connect_work_tree_and_git_dir(path___6, (char const   *)gitdir___0.buf, 0);
      strbuf_release(& gitdir___0);
      submodule_reset_index(path___6);
    }
    if (old_head) {
      if (flags___0 & (unsigned int )(1 << 1)) {
        gitdir___1.alloc = 0UL;
        gitdir___1.len = 0UL;
        gitdir___1.buf = strbuf_slopbuf;
        submodule_name_to_gitdir(& gitdir___1, the_repository, (char const   *)sub->name);
        connect_work_tree_and_git_dir(path___6, (char const   *)gitdir___1.buf, 1);
        strbuf_release(& gitdir___1);
      }
    }
  }
  prepare_submodule_repo_env(& cp.env_array);
  cp.git_cmd = 1U;
  cp.no_stdin = 1U;
  cp.dir = path___6;
  tmp___6 = get_super_prefix_or_empty();
  strvec_pushf(& cp.args, (char const   *)"--super-prefix=%s%s/", tmp___6, path___6);
  strvec_pushl(& cp.args, "read-tree", "--recurse-submodules", (void *)0);
  if (flags___0 & 1U) {
    strvec_push(& cp.args, (char const   *)"-n");
  } else {
    strvec_push(& cp.args, (char const   *)"-u");
  }
  if (flags___0 & (unsigned int )(1 << 1)) {
    strvec_push(& cp.args, (char const   *)"--reset");
  } else {
    strvec_push(& cp.args, (char const   *)"-m");
  }
  if (! (flags___0 & (unsigned int )(1 << 1))) {
    if (old_head) {
      tmp___8 = old_head;
    } else {
      tmp___7 = empty_tree_oid_hex();
      tmp___8 = tmp___7;
    }
    strvec_push(& cp.args, tmp___8);
  }
  if (new_head) {
    tmp___10 = new_head;
  } else {
    tmp___9 = empty_tree_oid_hex();
    tmp___10 = tmp___9;
  }
  strvec_push(& cp.args, tmp___10);
  tmp___12 = run_command(& cp);
  if (tmp___12) {
    tmp___11 = _((char const   *)"Submodule \'%s\' could not be updated.");
    error((char const   *)tmp___11, path___6);
    ret___67 = const_error();
    goto out;
  }
  if (! (flags___0 & 1U)) {
    if (new_head) {
      child_process_init(& cp);
      cp.git_cmd = 1U;
      cp.no_stdin = 1U;
      cp.dir = path___6;
      prepare_submodule_repo_env(& cp.env_array);
      strvec_pushl(& cp.args, "update-ref", "HEAD", "--no-deref", new_head, (void *)0);
      tmp___13 = run_command(& cp);
      if (tmp___13) {
        ret___67 = -1;
        goto out;
      }
    } else {
      sb___6.alloc = 0UL;
      sb___6.len = 0UL;
      sb___6.buf = strbuf_slopbuf;
      strbuf_addf(& sb___6, (char const   *)"%s/.git", path___6);
      unlink_or_warn((char const   *)sb___6.buf);
      strbuf_release(& sb___6);
      tmp___14 = is_empty_dir(path___6);
      if (tmp___14) {
        rmdir_or_warn(path___6);
      }
      submodule_unset_core_worktree(sub);
    }
  }
  out:
  return (ret___67);
}
}
int validate_submodule_git_dir(char *git_dir , char const   *submodule_name )
{
  size_t len___0 ;
  size_t tmp ;
  size_t suffix_len ;
  size_t tmp___0 ;
  char *p___0 ;
  int ret___67 ;
  int tmp___1 ;
  char c___0 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = strlen((char const   *)git_dir);
  len___0 = tmp;
  tmp___0 = strlen(submodule_name);
  suffix_len = tmp___0;
  ret___67 = 0;
  if (len___0 <= suffix_len) {
    BUG_fl((char const   *)"submodule.c", 2059, (char const   *)"submodule name \'%s\' not a suffix of git dir \'%s\'",
           submodule_name, git_dir);
  } else {
    p___0 = (git_dir + len___0) - suffix_len;
    if ((int )*(p___0 + -1) != 47) {
      BUG_fl((char const   *)"submodule.c", 2059, (char const   *)"submodule name \'%s\' not a suffix of git dir \'%s\'",
             submodule_name, git_dir);
    } else {
      tmp___1 = strcmp((char const   *)p___0, submodule_name);
      if (tmp___1) {
        BUG_fl((char const   *)"submodule.c", 2059, (char const   *)"submodule name \'%s\' not a suffix of git dir \'%s\'",
               submodule_name, git_dir);
      }
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    tmp___5 = git_is_dir_sep((int )*p___0);
    if (tmp___5) {
      c___0 = *p___0;
      *p___0 = (char )'\000';
      tmp___2 = is_git_directory((char const   *)git_dir);
      if (tmp___2) {
        ret___67 = -1;
      }
      *p___0 = c___0;
      if (ret___67 < 0) {
        tmp___3 = _((char const   *)"submodule git dir \'%s\' is inside git dir \'%.*s\'");
        error((char const   *)tmp___3, git_dir, (int )(p___0 - git_dir), git_dir);
        tmp___4 = const_error();
        return (tmp___4);
      }
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void relocate_single_git_dir_into_superproject(char const   *path___6 )
{
  char *old_git_dir ;
  char *real_old_git_dir ;
  char *real_new_git_dir ;
  struct strbuf new_gitdir ;
  struct submodule  const  *sub ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  struct object_id  const  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  enum scld_error tmp___7 ;
  char const   *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;

  {
  old_git_dir = (char *)((void *)0);
  real_old_git_dir = (char *)((void *)0);
  real_new_git_dir = (char *)((void *)0);
  new_gitdir.alloc = 0UL;
  new_gitdir.len = 0UL;
  new_gitdir.buf = strbuf_slopbuf;
  tmp___0 = submodule_uses_worktrees(path___6);
  if (tmp___0) {
    tmp = _((char const   *)"relocate_gitdir for submodule \'%s\' with more than one worktree not supported");
    die((char const   *)tmp, path___6);
  }
  old_git_dir = xstrfmt((char const   *)"%s/.git", path___6);
  tmp___1 = read_gitfile_gently((char const   *)old_git_dir, (int *)((void *)0));
  if (tmp___1) {
    return;
  }
  real_old_git_dir = real_pathdup((char const   *)old_git_dir, 1);
  tmp___2 = null_oid();
  sub = submodule_from_path(the_repository, tmp___2, path___6);
  if (! sub) {
    tmp___3 = _((char const   *)"could not lookup name for submodule \'%s\'");
    die((char const   *)tmp___3, path___6);
  }
  submodule_name_to_gitdir(& new_gitdir, the_repository, (char const   *)sub->name);
  tmp___5 = validate_submodule_git_dir(new_gitdir.buf, (char const   *)sub->name);
  if (tmp___5 < 0) {
    tmp___4 = _((char const   *)"refusing to move \'%s\' into an existing git dir");
    die((char const   *)tmp___4, real_old_git_dir);
  }
  tmp___7 = safe_create_leading_directories_const((char const   *)new_gitdir.buf);
  if ((int )tmp___7 < 0) {
    tmp___6 = _((char const   *)"could not create directory \'%s\'");
    die((char const   *)tmp___6, new_gitdir.buf);
  }
  real_new_git_dir = real_pathdup((char const   *)new_gitdir.buf, 1);
  tmp___8 = get_super_prefix_or_empty();
  tmp___9 = _((char const   *)"Migrating git directory of \'%s%s\' from\n\'%s\' to\n\'%s\'\n");
  fprintf(stderr, (char const   *)tmp___9, tmp___8, path___6, real_old_git_dir, real_new_git_dir);
  relocate_gitdir(path___6, (char const   *)real_old_git_dir, (char const   *)real_new_git_dir);
  free((void *)old_git_dir);
  free((void *)real_old_git_dir);
  free((void *)real_new_git_dir);
  strbuf_release(& new_gitdir);
  return;
}
}
void absorb_git_dir_into_superproject(char const   *path___6 , unsigned int flags___0 )
{
  int err_code ;
  char const   *sub_git_dir ;
  struct strbuf gitdir___0 ;
  struct submodule  const  *sub ;
  struct strbuf sub_gitdir ;
  struct object_id  const  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char *real_sub_git_dir ;
  char *tmp___1 ;
  char *real_common_git_dir ;
  char const   *tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  struct child_process cp ;
  struct strbuf sb___6 ;
  char const   *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;

  {
  gitdir___0.alloc = 0UL;
  gitdir___0.len = 0UL;
  gitdir___0.buf = strbuf_slopbuf;
  strbuf_addf(& gitdir___0, (char const   *)"%s/.git", path___6);
  sub_git_dir = resolve_gitdir_gently((char const   *)gitdir___0.buf, & err_code);
  if (! sub_git_dir) {
    sub_gitdir.alloc = 0UL;
    sub_gitdir.len = 0UL;
    sub_gitdir.buf = strbuf_slopbuf;
    if (err_code == 1) {
      strbuf_release(& gitdir___0);
      return;
    }
    if (err_code != 7) {
      read_gitfile_error_die(err_code, path___6, (char const   *)((void *)0));
    }
    tmp = null_oid();
    sub = submodule_from_path(the_repository, tmp, path___6);
    if (! sub) {
      tmp___0 = _((char const   *)"could not lookup name for submodule \'%s\'");
      die((char const   *)tmp___0, path___6);
    }
    submodule_name_to_gitdir(& sub_gitdir, the_repository, (char const   *)sub->name);
    connect_work_tree_and_git_dir(path___6, (char const   *)sub_gitdir.buf, 0);
    strbuf_release(& sub_gitdir);
  } else {
    tmp___1 = real_pathdup(sub_git_dir, 1);
    real_sub_git_dir = tmp___1;
    tmp___2 = get_git_common_dir();
    tmp___3 = real_pathdup(tmp___2, 1);
    real_common_git_dir = tmp___3;
    tmp___4 = starts_with((char const   *)real_sub_git_dir, (char const   *)real_common_git_dir);
    if (! tmp___4) {
      relocate_single_git_dir_into_superproject(path___6);
    }
    free((void *)real_sub_git_dir);
    free((void *)real_common_git_dir);
  }
  strbuf_release(& gitdir___0);
  if (flags___0 & 1U) {
    cp.args.v = empty_strvec;
    cp.args.nr = 0UL;
    cp.args.alloc = 0UL;
    cp.env_array.v = empty_strvec;
    cp.env_array.nr = 0UL;
    cp.env_array.alloc = 0UL;
    cp.pid = 0;
    cp.trace2_child_id = 0;
    cp.trace2_child_us_start = 0UL;
    cp.trace2_child_class = (char const   *)0;
    cp.trace2_hook_name = (char const   *)0;
    cp.in = 0;
    cp.out = 0;
    cp.err = 0;
    cp.dir = (char const   *)0;
    cp.no_stdin = 0U;
    cp.no_stdout = 0U;
    cp.no_stderr = 0U;
    cp.git_cmd = 0U;
    cp.silent_exec_failure = 0U;
    cp.use_shell = 0U;
    cp.close_object_store = 0U;
    cp.stdout_to_stderr = 0U;
    cp.clean_on_exit = 0U;
    cp.wait_after_clean = 0U;
    cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    cp.clean_on_exit_handler_cbdata = (void *)0;
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    if (flags___0 & 4294967294U) {
      BUG_fl((char const   *)"submodule.c", 2196, (char const   *)"we don\'t know how to pass the flags down?");
    }
    tmp___5 = get_super_prefix_or_empty();
    strbuf_addstr(& sb___6, tmp___5);
    strbuf_addstr(& sb___6, path___6);
    strbuf_addch(& sb___6, '/');
    cp.dir = path___6;
    cp.git_cmd = 1U;
    cp.no_stdin = 1U;
    strvec_pushl(& cp.args, "--super-prefix", sb___6.buf, "submodule--helper", "absorb-git-dirs",
                 (void *)0);
    prepare_submodule_repo_env(& cp.env_array);
    tmp___7 = run_command(& cp);
    if (tmp___7) {
      tmp___6 = _((char const   *)"could not recurse into submodule \'%s\'");
      die((char const   *)tmp___6, path___6);
    }
    strbuf_release(& sb___6);
  }
  return;
}
}
int get_superproject_working_tree(struct strbuf *buf___19 )
{
  struct child_process cp ;
  struct strbuf sb___6 ;
  struct strbuf one_up ;
  char const   *cwd___0 ;
  char *tmp ;
  int ret___67 ;
  char const   *subpath ;
  int code ;
  ssize_t len___0 ;
  int tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int super_sub_len ;
  int cwd_len ;
  size_t tmp___4 ;
  char *super_sub ;
  char *super_wt ;
  char *tmp___5 ;
  size_t tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  one_up.alloc = 0UL;
  one_up.len = 0UL;
  one_up.buf = strbuf_slopbuf;
  tmp = xgetcwd();
  cwd___0 = (char const   *)tmp;
  ret___67 = 0;
  tmp___0 = is_inside_work_tree();
  if (! tmp___0) {
    return (0);
  }
  tmp___1 = strbuf_realpath(& one_up, (char const   *)"../", 0);
  if (! tmp___1) {
    return (0);
  }
  subpath = relative_path(cwd___0, (char const   *)one_up.buf, & sb___6);
  strbuf_release(& one_up);
  prepare_submodule_repo_env(& cp.env_array);
  strvec_pop(& cp.env_array);
  strvec_pushl(& cp.args, "--literal-pathspecs", "-C", "..", "ls-files", "-z", "--stage",
               "--full-name", "--", subpath, (void *)0);
  strbuf_setlen(& sb___6, (size_t )0);
  cp.no_stdin = 1U;
  cp.no_stderr = 1U;
  cp.out = -1;
  cp.git_cmd = 1U;
  tmp___3 = start_command(& cp);
  if (tmp___3) {
    tmp___2 = _((char const   *)"could not start ls-files in ..");
    die((char const   *)tmp___2);
  }
  len___0 = strbuf_read(& sb___6, cp.out, (size_t )4096);
  close(cp.out);
  tmp___8 = starts_with((char const   *)sb___6.buf, (char const   *)"160000");
  if (tmp___8) {
    tmp___4 = strlen(cwd___0);
    cwd_len = (int )tmp___4;
    tmp___5 = strchr((char const   *)sb___6.buf, '\t');
    super_sub = tmp___5 + 1;
    tmp___6 = strlen((char const   *)super_sub);
    super_sub_len = (int )tmp___6;
    if (super_sub_len > cwd_len) {
      BUG_fl((char const   *)"submodule.c", 2275, (char const   *)"returned path string doesn\'t match cwd?");
    } else {
      tmp___7 = strcmp(cwd___0 + (cwd_len - super_sub_len), (char const   *)super_sub);
      if (tmp___7) {
        BUG_fl((char const   *)"submodule.c", 2275, (char const   *)"returned path string doesn\'t match cwd?");
      }
    }
    super_wt = xstrdup(cwd___0);
    *(super_wt + (cwd_len - super_sub_len)) = (char )'\000';
    strbuf_realpath(buf___19, (char const   *)super_wt, 1);
    ret___67 = 1;
    free((void *)super_wt);
  }
  strbuf_release(& sb___6);
  code = finish_command(& cp);
  if (code == 128) {
    return (0);
  }
  if (code == 0) {
    if (len___0 == 0L) {
      return (0);
    }
  }
  if (code) {
    tmp___9 = _((char const   *)"ls-tree returned unexpected return code %d");
    die((char const   *)tmp___9, code);
  }
  return (ret___67);
}
}
int submodule_to_gitdir(struct strbuf *buf___19 , char const   *submodule )
{
  struct submodule  const  *sub ;
  char const   *git_dir ;
  int ret___67 ;
  struct object_id  const  *tmp ;
  int tmp___0 ;

  {
  ret___67 = 0;
  strbuf_setlen(buf___19, (size_t )0);
  strbuf_addstr(buf___19, submodule);
  strbuf_complete(buf___19, (char )'/');
  strbuf_addstr(buf___19, (char const   *)".git");
  git_dir = read_gitfile_gently((char const   *)buf___19->buf, (int *)((void *)0));
  if (git_dir) {
    strbuf_setlen(buf___19, (size_t )0);
    strbuf_addstr(buf___19, git_dir);
  }
  tmp___0 = is_git_directory((char const   *)buf___19->buf);
  if (! tmp___0) {
    tmp = null_oid();
    sub = submodule_from_path(the_repository, tmp, submodule);
    if (! sub) {
      ret___67 = -1;
      goto cleanup;
    }
    strbuf_setlen(buf___19, (size_t )0);
    submodule_name_to_gitdir(buf___19, the_repository, (char const   *)sub->name);
  }
  cleanup:
  return (ret___67);
}
}
void submodule_name_to_gitdir(struct strbuf *buf___19 , struct repository *r , char const   *submodule_name )
{


  {
  strbuf_repo_git_path(buf___19, (struct repository  const  *)r, (char const   *)"modules/");
  strbuf_addstr(buf___19, submodule_name);
  return;
}
}
static int threaded_check_leading_path(struct cache_def *cache___0 , char const   *name___0 ,
                                       int len___0 , int warn_on_lstat_err ) ;
static int threaded_has_dirs_only_path(struct cache_def *cache___0 , char const   *name___0 ,
                                       int len___0 , int prefix_len___1 ) ;
static int longest_path_match(char const   *name_a , int len_a , char const   *name_b ,
                              int len_b , int *previous_slash )
{
  int max_len ;
  int match_len ;
  int match_len_prev ;
  int i ;

  {
  match_len = 0;
  match_len_prev = 0;
  i = 0;
  if (len_a < len_b) {
    max_len = len_a;
  } else {
    max_len = len_b;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i < max_len) {
      if (! ((int const   )*(name_a + i) == (int const   )*(name_b + i))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if ((int const   )*(name_a + i) == 47) {
      match_len_prev = match_len;
      match_len = i;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (i >= max_len) {
    if (len_a > len_b) {
      if ((int const   )*(name_a + len_b) == 47) {
        match_len_prev = match_len;
        match_len = i;
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if (len_a < len_b) {
      if ((int const   )*(name_b + len_a) == 47) {
        match_len_prev = match_len;
        match_len = i;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (len_a == len_b) {
      match_len_prev = match_len;
      match_len = i;
    }
  }
  *previous_slash = match_len_prev;
  return (match_len);
}
}
static struct cache_def default_cache  =    {{0UL, 0UL, strbuf_slopbuf}, 0, 0, 0};
__inline static void reset_lstat_cache(struct cache_def *cache___0 )
{


  {
  strbuf_setlen(& cache___0->path, (size_t )0);
  cache___0->flags = 0;
  return;
}
}
static int lstat_cache_matchlen(struct cache_def *cache___0 , char const   *name___0 ,
                                int len___0 , int *ret_flags , int track_flags , int prefix_len_stat_func )
{
  int match_len ;
  int last_slash ;
  int last_slash_dir ;
  int previous_slash ;
  int save_flags ;
  int ret___67 ;
  int saved_errno ;
  struct stat st ;
  int *tmp ;
  int *tmp___0 ;
  int *tmp___1 ;

  {
  saved_errno = 0;
  if (cache___0->track_flags != track_flags) {
    reset_lstat_cache(cache___0);
    cache___0->track_flags = track_flags;
    cache___0->prefix_len_stat_func = prefix_len_stat_func;
    last_slash = 0;
    match_len = last_slash;
  } else
  if (cache___0->prefix_len_stat_func != prefix_len_stat_func) {
    reset_lstat_cache(cache___0);
    cache___0->track_flags = track_flags;
    cache___0->prefix_len_stat_func = prefix_len_stat_func;
    last_slash = 0;
    match_len = last_slash;
  } else {
    last_slash = longest_path_match(name___0, len___0, (char const   *)cache___0->path.buf,
                                    (int )cache___0->path.len, & previous_slash);
    match_len = last_slash;
    *ret_flags = (cache___0->flags & track_flags) & ((1 << 1) | (1 << 2));
    if (! (track_flags & (1 << 5))) {
      if (match_len == len___0) {
        last_slash = previous_slash;
        match_len = last_slash;
      }
    }
    if (*ret_flags) {
      if ((size_t )match_len == cache___0->path.len) {
        return (match_len);
      }
    }
    *ret_flags = track_flags & 1;
    if (*ret_flags) {
      if (len___0 == match_len) {
        return (match_len);
      }
    }
  }
  *ret_flags = 1;
  last_slash_dir = last_slash;
  if ((size_t )len___0 > cache___0->path.len) {
    strbuf_grow(& cache___0->path, (size_t )len___0 - cache___0->path.len);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (match_len < len___0)) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      *(cache___0->path.buf + match_len) = (char )*(name___0 + match_len);
      match_len ++;
      if (match_len < len___0) {
        if (! ((int const   )*(name___0 + match_len) != 47)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    if (match_len >= len___0) {
      if (! (track_flags & (1 << 5))) {
        goto while_break;
      }
    }
    last_slash = match_len;
    *(cache___0->path.buf + last_slash) = (char )'\000';
    if (last_slash <= prefix_len_stat_func) {
      ret___67 = stat((char const   *)cache___0->path.buf, & st);
    } else {
      ret___67 = lstat((char const   *)cache___0->path.buf, & st);
    }
    if (ret___67) {
      *ret_flags = 1 << 3;
      tmp = __errno_location();
      saved_errno = *tmp;
      tmp___0 = __errno_location();
      if (*tmp___0 == 2) {
        *ret_flags |= 1 << 1;
      }
    } else
    if ((st.st_mode & 61440U) == 16384U) {
      last_slash_dir = last_slash;
      goto while_continue;
    } else
    if ((st.st_mode & 61440U) == 40960U) {
      *ret_flags = 1 << 2;
    } else {
      *ret_flags = 1 << 4;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  save_flags = (*ret_flags & track_flags) & ((1 << 1) | (1 << 2));
  if (save_flags) {
    if (last_slash > 0) {
      *(cache___0->path.buf + last_slash) = (char )'\000';
      cache___0->path.len = (size_t )last_slash;
      cache___0->flags = save_flags;
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (track_flags & 1) {
    if (last_slash_dir > 0) {
      *(cache___0->path.buf + last_slash_dir) = (char )'\000';
      cache___0->path.len = (size_t )last_slash_dir;
      cache___0->flags = 1;
    } else {
      reset_lstat_cache(cache___0);
    }
  } else {
    reset_lstat_cache(cache___0);
  }
  if (saved_errno) {
    tmp___1 = __errno_location();
    *tmp___1 = saved_errno;
  }
  return (match_len);
}
}
static int lstat_cache(struct cache_def *cache___0 , char const   *name___0 , int len___0 ,
                       int track_flags , int prefix_len_stat_func )
{
  int flags___0 ;

  {
  lstat_cache_matchlen(cache___0, name___0, len___0, & flags___0, track_flags, prefix_len_stat_func);
  return (flags___0);
}
}
int threaded_has_symlink_leading_path(struct cache_def *cache___0 , char const   *name___0 ,
                                      int len___0 )
{
  int tmp ;

  {
  tmp = lstat_cache(cache___0, name___0, len___0, (1 << 2) | 1, 0);
  return (tmp & (1 << 2));
}
}
int has_symlink_leading_path(char const   *name___0 , int len___0 )
{
  int tmp ;

  {
  tmp = threaded_has_symlink_leading_path(& default_cache, name___0, len___0);
  return (tmp);
}
}
int check_leading_path(char const   *name___0 , int len___0 , int warn_on_lstat_err )
{
  int tmp ;

  {
  tmp = threaded_check_leading_path(& default_cache, name___0, len___0, warn_on_lstat_err);
  return (tmp);
}
}
static int threaded_check_leading_path(struct cache_def *cache___0 , char const   *name___0 ,
                                       int len___0 , int warn_on_lstat_err )
{
  int flags___0 ;
  int match_len ;
  int tmp ;
  int saved_errno ;
  int *tmp___0 ;
  char *path___6 ;
  void *tmp___1 ;
  int *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  tmp = lstat_cache_matchlen(cache___0, name___0, len___0, & flags___0, ((1 << 2) | (1 << 1)) | 1,
                             0);
  match_len = tmp;
  tmp___0 = __errno_location();
  saved_errno = *tmp___0;
  if (flags___0 & (1 << 1)) {
    return (0);
  } else
  if (flags___0 & 1) {
    return (-1);
  }
  if (warn_on_lstat_err) {
    if (flags___0 & (1 << 3)) {
      tmp___1 = xmemdupz((void const   *)name___0, (size_t )match_len);
      path___6 = (char *)tmp___1;
      tmp___2 = __errno_location();
      *tmp___2 = saved_errno;
      tmp___3 = _((char const   *)"failed to lstat \'%s\'");
      warning_errno((char const   *)tmp___3, path___6);
      free((void *)path___6);
    }
  }
  return (match_len);
}
}
int has_dirs_only_path(char const   *name___0 , int len___0 , int prefix_len___1 )
{
  int tmp ;

  {
  tmp = threaded_has_dirs_only_path(& default_cache, name___0, len___0, prefix_len___1);
  return (tmp);
}
}
static int threaded_has_dirs_only_path(struct cache_def *cache___0 , char const   *name___0 ,
                                       int len___0 , int prefix_len___1 )
{
  int tmp ;

  {
  tmp = lstat_cache(cache___0, name___0, len___0, 1 | (1 << 5), prefix_len___1);
  return (tmp & 1);
}
}
static struct strbuf removal  =    {0UL, 0UL, strbuf_slopbuf};
static void do_remove_scheduled_dirs(int new_len )
{
  int tmp ;
  int tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (removal.len > (size_t )new_len)) {
      goto while_break;
    }
    *(removal.buf + removal.len) = (char )'\000';
    if (startup_info->original_cwd) {
      tmp = strcmp((char const   *)removal.buf, startup_info->original_cwd);
      if (tmp) {
        goto _L;
      } else {
        goto while_break;
      }
    } else {
      _L: /* CIL Label */
      tmp___0 = lstat_cache_aware_rmdir((char const   *)removal.buf);
      if (tmp___0) {
        goto while_break;
      }
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      (removal.len) --;
      if (removal.len > (size_t )new_len) {
        if (! ((int )*(removal.buf + removal.len) != 47)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  removal.len = (size_t )new_len;
  return;
}
}
void schedule_dir_for_removal(char const   *name___0 , int len___0 )
{
  int match_len ;
  int last_slash ;
  int i ;
  int previous_slash ;
  int tmp ;

  {
  if (startup_info->original_cwd) {
    tmp = strcmp(name___0, startup_info->original_cwd);
    if (! tmp) {
      return;
    }
  }
  i = longest_path_match(name___0, len___0, (char const   *)removal.buf, (int )removal.len,
                         & previous_slash);
  last_slash = i;
  match_len = last_slash;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < len___0)) {
      goto while_break;
    }
    if ((int const   )*(name___0 + i) == 47) {
      last_slash = i;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (match_len < last_slash) {
    if ((size_t )match_len < removal.len) {
      do_remove_scheduled_dirs(match_len);
    }
  }
  if (match_len < last_slash) {
    strbuf_add(& removal, (void const   *)(name___0 + match_len), (size_t )(last_slash - match_len));
  }
  return;
}
}
void remove_scheduled_dirs(void)
{


  {
  do_remove_scheduled_dirs(0);
  return;
}
}
void invalidate_lstat_cache(void)
{


  {
  reset_lstat_cache(& default_cache);
  return;
}
}
int lstat_cache_aware_rmdir(char const   *path___6 )
{
  int ret___67 ;
  int tmp ;

  {
  tmp = rmdir(path___6);
  ret___67 = tmp;
  if (! ret___67) {
    invalidate_lstat_cache();
  }
  return (ret___67);
}
}
static double const   __ac_HASH_UPPER___90  =    (double const   )0.77;
__inline static void kh_resize_oid_set___90(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___90(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___90 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___90 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___90(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___90(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___90(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___90(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___90(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___90(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___90 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___90 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___90(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___90(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___90(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___90(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___90(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___90(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___90 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___90 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___90(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___90(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___90(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___90(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___69(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___69(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___90 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___90 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___69(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___69(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___69(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___69(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
char const   *tag_type  =    (char const   *)"tag";
static int run_gpg_verify(char const   *buf___19 , unsigned long size , unsigned int flags___0 )
{
  struct signature_check sigc ;
  struct strbuf payload ;
  struct strbuf signature___0 ;
  int ret___67 ;
  int tmp ;
  int tmp___0 ;

  {
  payload.alloc = 0UL;
  payload.len = 0UL;
  payload.buf = strbuf_slopbuf;
  signature___0.alloc = 0UL;
  signature___0.len = 0UL;
  signature___0.buf = strbuf_slopbuf;
  memset((void *)(& sigc), 0, sizeof(sigc));
  tmp___0 = parse_signature(buf___19, size, & payload, & signature___0);
  if (! tmp___0) {
    if (flags___0 & 1U) {
      write_in_full(1, (void const   *)buf___19, size);
    }
    error((char const   *)"no signature found");
    tmp = const_error();
    return (tmp);
  }
  sigc.payload_type = (enum payload_type )2;
  sigc.payload = strbuf_detach(& payload, & sigc.payload_len);
  ret___67 = check_signature(& sigc, (char const   *)signature___0.buf, signature___0.len);
  if (! (flags___0 & 4U)) {
    print_signature_buffer((struct signature_check  const  *)(& sigc), flags___0);
  }
  signature_check_clear(& sigc);
  strbuf_release(& payload);
  strbuf_release(& signature___0);
  return (ret___67);
}
}
int gpg_verify_tag(struct object_id  const  *oid , char const   *name_to_report ,
                   unsigned int flags___0 )
{
  enum object_type type___0 ;
  char *buf___19 ;
  unsigned long size ;
  int ret___67 ;
  int tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  void *tmp___4 ;
  char const   *tmp___5 ;
  char const   *tmp___6 ;
  int tmp___7 ;

  {
  tmp = oid_object_info(the_repository, oid, (unsigned long *)((void *)0));
  type___0 = (enum object_type )tmp;
  if ((int )type___0 != 4) {
    tmp___0 = type_name((unsigned int )type___0);
    if (name_to_report) {
      tmp___2 = name_to_report;
    } else {
      tmp___1 = repo_find_unique_abbrev(the_repository, oid, default_abbrev);
      tmp___2 = tmp___1;
    }
    error((char const   *)"%s: cannot verify a non-tag object of type %s.", tmp___2,
          tmp___0);
    tmp___3 = const_error();
    return (tmp___3);
  }
  tmp___4 = repo_read_object_file(the_repository, oid, & type___0, & size);
  buf___19 = (char *)tmp___4;
  if (! buf___19) {
    if (name_to_report) {
      tmp___6 = name_to_report;
    } else {
      tmp___5 = repo_find_unique_abbrev(the_repository, oid, default_abbrev);
      tmp___6 = tmp___5;
    }
    error((char const   *)"%s: unable to read file.", tmp___6);
    tmp___7 = const_error();
    return (tmp___7);
  }
  ret___67 = run_gpg_verify((char const   *)buf___19, size, flags___0);
  free((void *)buf___19);
  return (ret___67);
}
}
struct object *deref_tag(struct repository *r , struct object *o , char const   *warn ,
                         int warnlen )
{
  struct object_id *last_oid ;
  int tmp ;
  size_t tmp___0 ;

  {
  last_oid = (struct object_id *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (o) {
      if (! (o->type == 4U)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if (((struct tag *)o)->tagged) {
      last_oid = & (((struct tag *)o)->tagged)->oid;
      o = parse_object(r, (struct object_id  const  *)last_oid);
    } else {
      last_oid = (struct object_id *)((void *)0);
      o = (struct object *)((void *)0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (! o) {
    if (warn) {
      if (last_oid) {
        tmp = is_promisor_object((struct object_id  const  *)last_oid);
        if (tmp) {
          return ((struct object *)((void *)0));
        }
      }
      if (! warnlen) {
        tmp___0 = strlen(warn);
        warnlen = (int )tmp___0;
      }
      error((char const   *)"missing object referenced by \'%.*s\'", warnlen, warn);
      const_error();
    }
  }
  return (o);
}
}
struct object *deref_tag_noverify(struct object *o )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (o) {
      if (! (o->type == 4U)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    o = parse_object(the_repository, (struct object_id  const  *)(& o->oid));
    if (o) {
      if (o->type == 4U) {
        if (((struct tag *)o)->tagged) {
          o = ((struct tag *)o)->tagged;
        } else {
          o = (struct object *)((void *)0);
        }
      } else {
        o = (struct object *)((void *)0);
      }
    } else {
      o = (struct object *)((void *)0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (o);
}
}
struct tag *lookup_tag(struct repository *r , struct object_id  const  *oid )
{
  struct object *obj ;
  struct object *tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;

  {
  tmp = lookup_object(r, oid);
  obj = tmp;
  if (! obj) {
    tmp___0 = alloc_tag_node(r);
    tmp___1 = create_object(r, oid, tmp___0);
    return ((struct tag *)tmp___1);
  }
  tmp___2 = object_as_type(obj, (enum object_type )4, 0);
  return ((struct tag *)tmp___2);
}
}
static timestamp_t parse_tag_date(char const   *buf___19 , char const   *tail )
{
  char const   *dateptr ;
  char const   *tmp ;
  char const   *tmp___0 ;
  uintmax_t tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )buf___19 < (unsigned long )tail) {
      tmp = buf___19;
      buf___19 ++;
      if (! ((int const   )*tmp != 62)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned long )buf___19 >= (unsigned long )tail) {
    return ((timestamp_t )0);
  }
  dateptr = buf___19;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if ((unsigned long )buf___19 < (unsigned long )tail) {
      tmp___0 = buf___19;
      buf___19 ++;
      if (! ((int const   )*tmp___0 != 10)) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  if ((unsigned long )buf___19 >= (unsigned long )tail) {
    return ((timestamp_t )0);
  }
  tmp___1 = strtoumax(dateptr, (char **)((void *)0), 10);
  return (tmp___1);
}
}
void release_tag_memory(struct tag *t )
{


  {
  free((void *)t->tag);
  t->tagged = (struct object *)((void *)0);
  t->object.parsed = 0U;
  t->date = (timestamp_t )0;
  return;
}
}
int parse_tag_buffer(struct repository *r , struct tag *item___0 , void const   *data ,
                     unsigned long size )
{
  struct object_id oid ;
  char type___0[20] ;
  char const   *bufptr ;
  char const   *tail ;
  char const   *nl ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  void *tmp___3 ;
  struct blob *tmp___4 ;
  struct tree *tmp___5 ;
  struct commit *tmp___6 ;
  struct tag *tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  char *tmp___14 ;
  char *tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  void *tmp___18 ;
  void *tmp___19 ;
  int tmp___20 ;

  {
  bufptr = (char const   *)data;
  tail = bufptr + size;
  if (item___0->object.parsed) {
    return (0);
  }
  if (item___0->tag) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      free((void *)item___0->tag);
      item___0->tag = (char *)((void *)0);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (size < (unsigned long )((the_repository->hash_algo)->hexsz + 24UL)) {
    return (-1);
  }
  tmp = memcmp((void const   *)"object ", (void const   *)bufptr, (size_t )7);
  if (tmp) {
    return (-1);
  } else {
    tmp___0 = parse_oid_hex(bufptr + 7, & oid, & bufptr);
    if (tmp___0) {
      return (-1);
    } else {
      tmp___1 = bufptr;
      bufptr ++;
      if ((int const   )*tmp___1 != 10) {
        return (-1);
      }
    }
  }
  tmp___2 = starts_with(bufptr, (char const   *)"type ");
  if (! tmp___2) {
    return (-1);
  }
  bufptr += 5;
  tmp___3 = memchr((void const   *)bufptr, '\n', (size_t )(tail - bufptr));
  nl = (char const   *)tmp___3;
  if (! nl) {
    return (-1);
  } else
  if (sizeof(type___0) <= (unsigned long )(nl - bufptr)) {
    return (-1);
  }
  memcpy((void *)(type___0), (void const   *)bufptr, (size_t )(nl - bufptr));
  type___0[nl - bufptr] = (char )'\000';
  bufptr = nl + 1;
  tmp___13 = strcmp((char const   *)(type___0), blob_type);
  if (tmp___13) {
    tmp___12 = strcmp((char const   *)(type___0), tree_type);
    if (tmp___12) {
      tmp___11 = strcmp((char const   *)(type___0), commit_type);
      if (tmp___11) {
        tmp___10 = strcmp((char const   *)(type___0), tag_type);
        if (tmp___10) {
          tmp___8 = oid_to_hex((struct object_id  const  *)(& item___0->object.oid));
          error((char const   *)"unknown tag type \'%s\' in %s", type___0, tmp___8);
          tmp___9 = const_error();
          return (tmp___9);
        } else {
          tmp___7 = lookup_tag(r, (struct object_id  const  *)(& oid));
          item___0->tagged = (struct object *)tmp___7;
        }
      } else {
        tmp___6 = lookup_commit(r, (struct object_id  const  *)(& oid));
        item___0->tagged = (struct object *)tmp___6;
      }
    } else {
      tmp___5 = lookup_tree(r, (struct object_id  const  *)(& oid));
      item___0->tagged = (struct object *)tmp___5;
    }
  } else {
    tmp___4 = lookup_blob(r, (struct object_id  const  *)(& oid));
    item___0->tagged = (struct object *)tmp___4;
  }
  if (! item___0->tagged) {
    tmp___14 = oid_to_hex((struct object_id  const  *)(& item___0->object.oid));
    tmp___15 = oid_to_hex((struct object_id  const  *)(& oid));
    error((char const   *)"bad tag pointer to %s in %s", tmp___15, tmp___14);
    tmp___16 = const_error();
    return (tmp___16);
  }
  if ((unsigned long )(bufptr + 4) < (unsigned long )tail) {
    tmp___17 = starts_with(bufptr, (char const   *)"tag ");
    if (! tmp___17) {
      return (-1);
    }
  } else {
    return (-1);
  }
  bufptr += 4;
  tmp___18 = memchr((void const   *)bufptr, '\n', (size_t )(tail - bufptr));
  nl = (char const   *)tmp___18;
  if (! nl) {
    return (-1);
  }
  tmp___19 = xmemdupz((void const   *)bufptr, (size_t )(nl - bufptr));
  item___0->tag = (char *)tmp___19;
  bufptr = nl + 1;
  if ((unsigned long )(bufptr + 7) < (unsigned long )tail) {
    tmp___20 = starts_with(bufptr, (char const   *)"tagger ");
    if (tmp___20) {
      item___0->date = parse_tag_date(bufptr, tail);
    } else {
      item___0->date = (timestamp_t )0;
    }
  } else {
    item___0->date = (timestamp_t )0;
  }
  item___0->object.parsed = 1U;
  return (0);
}
}
int parse_tag(struct tag *item___0 )
{
  enum object_type type___0 ;
  void *data ;
  unsigned long size ;
  int ret___67 ;
  char *tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  if (item___0->object.parsed) {
    return (0);
  }
  data = repo_read_object_file(the_repository, (struct object_id  const  *)(& item___0->object.oid),
                               & type___0, & size);
  if (! data) {
    tmp = oid_to_hex((struct object_id  const  *)(& item___0->object.oid));
    error((char const   *)"Could not read %s", tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  if ((int )type___0 != 4) {
    free(data);
    tmp___1 = oid_to_hex((struct object_id  const  *)(& item___0->object.oid));
    error((char const   *)"Object %s not a tag", tmp___1);
    tmp___2 = const_error();
    return (tmp___2);
  }
  ret___67 = parse_tag_buffer(the_repository, item___0, (void const   *)data, size);
  free(data);
  return (ret___67);
}
}
struct object_id *get_tagged_oid(struct tag *tag )
{


  {
  if (! tag->tagged) {
    die((char const   *)"bad tag");
  }
  return (& (tag->tagged)->oid);
}
}
static struct volatile_list_head  volatile  tempfile_list  =    {& tempfile_list, & tempfile_list};
static void remove_tempfiles(int in_signal_handler )
{
  pid_t me ;
  __pid_t tmp ;
  struct volatile_list_head  volatile  *pos ;
  struct tempfile *p___0 ;
  int tmp___0 ;

  {
  tmp = getpid();
  me = tmp;
  pos = (struct volatile_list_head  volatile  *)tempfile_list.next;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )pos != (unsigned long )(& tempfile_list))) {
      goto while_break;
    }
    p___0 = (struct tempfile *)((char *)pos - (unsigned long )(& ((struct tempfile *)0)->list));
    tmp___0 = is_tempfile_active(p___0);
    if (tmp___0) {
      if (p___0->owner != (pid_t volatile   )me) {
        goto __Cont;
      }
    } else {
      goto __Cont;
    }
    if (p___0->fd >= (int volatile   )0) {
      close((int )p___0->fd);
    }
    if (in_signal_handler) {
      unlink((char const   *)p___0->filename.buf);
    } else {
      unlink_or_warn((char const   *)p___0->filename.buf);
    }
    p___0->active = (sig_atomic_t volatile   )0;
    __Cont: /* CIL Label */
    pos = (struct volatile_list_head  volatile  *)pos->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void remove_tempfiles_on_exit(void)
{


  {
  remove_tempfiles(0);
  return;
}
}
static void remove_tempfiles_on_signal(int signo )
{


  {
  remove_tempfiles(1);
  sigchain_pop(signo);
  raise(signo);
  return;
}
}
static struct tempfile *new_tempfile(void)
{
  struct tempfile *tempfile ;
  void *tmp ;
  struct volatile_list_head  volatile  * volatile  tmp___0 ;

  {
  tmp = xmalloc(sizeof(*tempfile));
  tempfile = (struct tempfile *)tmp;
  tempfile->fd = (int volatile   )-1;
  tempfile->fp = (FILE * volatile  )((void *)0);
  tempfile->active = (sig_atomic_t volatile   )0;
  tempfile->owner = (pid_t volatile   )0;
  tmp___0 = (struct volatile_list_head  volatile  * volatile  )(& tempfile->list);
  tempfile->list.prev = tmp___0;
  tempfile->list.next = tmp___0;
  strbuf_init(& tempfile->filename, (size_t )0);
  return (tempfile);
}
}
static int initialized___3  ;
static void activate_tempfile(struct tempfile *tempfile )
{
  int tmp ;
  __pid_t tmp___0 ;

  {
  tmp = is_tempfile_active(tempfile);
  if (tmp) {
    BUG_fl((char const   *)"tempfile.c", 111, (char const   *)"activate_tempfile called for active object");
  }
  if (! initialized___3) {
    sigchain_push_common(& remove_tempfiles_on_signal);
    atexit(& remove_tempfiles_on_exit);
    initialized___3 = 1;
  }
  volatile_list_add(& tempfile->list, & tempfile_list);
  tmp___0 = getpid();
  tempfile->owner = (pid_t volatile   )tmp___0;
  tempfile->active = (sig_atomic_t volatile   )1;
  return;
}
}
static void deactivate_tempfile(struct tempfile *tempfile )
{


  {
  tempfile->active = (sig_atomic_t volatile   )0;
  strbuf_release(& tempfile->filename);
  volatile_list_del(& tempfile->list);
  free((void *)tempfile);
  return;
}
}
struct tempfile *create_tempfile_mode(char const   *path___6 , int mode___1 )
{
  struct tempfile *tempfile ;
  struct tempfile *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int *tmp___2 ;
  int save_errno ;
  int *tmp___3 ;
  int *tmp___4 ;
  int tmp___5 ;

  {
  tmp = new_tempfile();
  tempfile = tmp;
  strbuf_add_absolute_path(& tempfile->filename, path___6);
  tmp___0 = open((char const   *)tempfile->filename.buf, 524482, mode___1);
  tempfile->fd = (int volatile   )tmp___0;
  if (tempfile->fd < (int volatile   )0) {
    tmp___2 = __errno_location();
    if (*tmp___2 == 22) {
      tmp___1 = open((char const   *)tempfile->filename.buf, 194, mode___1);
      tempfile->fd = (int volatile   )tmp___1;
    }
  }
  if (tempfile->fd < (int volatile   )0) {
    deactivate_tempfile(tempfile);
    return ((struct tempfile *)((void *)0));
  }
  activate_tempfile(tempfile);
  tmp___5 = adjust_shared_perm((char const   *)tempfile->filename.buf);
  if (tmp___5) {
    tmp___3 = __errno_location();
    save_errno = *tmp___3;
    error((char const   *)"cannot fix permission bits on %s", tempfile->filename.buf);
    const_error();
    delete_tempfile(& tempfile);
    tmp___4 = __errno_location();
    *tmp___4 = save_errno;
    return ((struct tempfile *)((void *)0));
  }
  return (tempfile);
}
}
struct tempfile *register_tempfile(char const   *path___6 )
{
  struct tempfile *tempfile ;
  struct tempfile *tmp ;

  {
  tmp = new_tempfile();
  tempfile = tmp;
  strbuf_add_absolute_path(& tempfile->filename, path___6);
  activate_tempfile(tempfile);
  return (tempfile);
}
}
struct tempfile *mks_tempfile_sm(char const   *filename_template , int suffixlen ,
                                 int mode___1 )
{
  struct tempfile *tempfile ;
  struct tempfile *tmp ;
  int tmp___0 ;

  {
  tmp = new_tempfile();
  tempfile = tmp;
  strbuf_add_absolute_path(& tempfile->filename, filename_template);
  tmp___0 = git_mkstemps_mode(tempfile->filename.buf, suffixlen, mode___1);
  tempfile->fd = (int volatile   )tmp___0;
  if (tempfile->fd < (int volatile   )0) {
    deactivate_tempfile(tempfile);
    return ((struct tempfile *)((void *)0));
  }
  activate_tempfile(tempfile);
  return (tempfile);
}
}
struct tempfile *mks_tempfile_tsm(char const   *filename_template , int suffixlen ,
                                  int mode___1 )
{
  struct tempfile *tempfile ;
  struct tempfile *tmp ;
  char const   *tmpdir ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  tmp = new_tempfile();
  tempfile = tmp;
  tmp___0 = getenv((char const   *)"TMPDIR");
  tmpdir = (char const   *)tmp___0;
  if (! tmpdir) {
    tmpdir = (char const   *)"/tmp";
  }
  strbuf_addf(& tempfile->filename, (char const   *)"%s/%s", tmpdir, filename_template);
  tmp___1 = git_mkstemps_mode(tempfile->filename.buf, suffixlen, mode___1);
  tempfile->fd = (int volatile   )tmp___1;
  if (tempfile->fd < (int volatile   )0) {
    deactivate_tempfile(tempfile);
    return ((struct tempfile *)((void *)0));
  }
  activate_tempfile(tempfile);
  return (tempfile);
}
}
struct tempfile *xmks_tempfile_m(char const   *filename_template , int mode___1 )
{
  struct tempfile *tempfile ;
  struct strbuf full_template ;

  {
  full_template.alloc = 0UL;
  full_template.len = 0UL;
  full_template.buf = strbuf_slopbuf;
  strbuf_add_absolute_path(& full_template, filename_template);
  tempfile = mks_tempfile_m((char const   *)full_template.buf, mode___1);
  if (! tempfile) {
    die_errno((char const   *)"Unable to create temporary file \'%s\'", full_template.buf);
  }
  strbuf_release(& full_template);
  return (tempfile);
}
}
FILE *fdopen_tempfile(struct tempfile *tempfile , char const   *mode___1 )
{
  int tmp ;
  FILE *tmp___0 ;

  {
  tmp = is_tempfile_active(tempfile);
  if (! tmp) {
    BUG_fl((char const   *)"tempfile.c", 219, (char const   *)"fdopen_tempfile() called for inactive object");
  }
  if (tempfile->fp) {
    BUG_fl((char const   *)"tempfile.c", 221, (char const   *)"fdopen_tempfile() called for open object");
  }
  tmp___0 = fdopen((int )tempfile->fd, mode___1);
  tempfile->fp = (FILE * volatile  )tmp___0;
  return ((FILE *)tempfile->fp);
}
}
char const   *get_tempfile_path(struct tempfile *tempfile )
{
  int tmp ;

  {
  tmp = is_tempfile_active(tempfile);
  if (! tmp) {
    BUG_fl((char const   *)"tempfile.c", 230, (char const   *)"get_tempfile_path() called for inactive object");
  }
  return ((char const   *)tempfile->filename.buf);
}
}
int get_tempfile_fd(struct tempfile *tempfile )
{
  int tmp ;

  {
  tmp = is_tempfile_active(tempfile);
  if (! tmp) {
    BUG_fl((char const   *)"tempfile.c", 237, (char const   *)"get_tempfile_fd() called for inactive object");
  }
  return ((int )tempfile->fd);
}
}
FILE *get_tempfile_fp(struct tempfile *tempfile )
{
  int tmp ;

  {
  tmp = is_tempfile_active(tempfile);
  if (! tmp) {
    BUG_fl((char const   *)"tempfile.c", 244, (char const   *)"get_tempfile_fp() called for inactive object");
  }
  return ((FILE *)tempfile->fp);
}
}
int close_tempfile_gently(struct tempfile *tempfile )
{
  int fd ;
  FILE *fp ;
  int err___4 ;
  int tmp ;
  int *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = is_tempfile_active(tempfile);
  if (tmp) {
    if (tempfile->fd < (int volatile   )0) {
      return (0);
    }
  } else {
    return (0);
  }
  fd = (int )tempfile->fd;
  fp = (FILE *)tempfile->fp;
  tempfile->fd = (int volatile   )-1;
  if (fp) {
    tempfile->fp = (FILE * volatile  )((void *)0);
    tmp___2 = ferror(fp);
    if (tmp___2) {
      err___4 = -1;
      tmp___1 = fclose(fp);
      if (! tmp___1) {
        tmp___0 = __errno_location();
        *tmp___0 = 5;
      }
    } else {
      err___4 = fclose(fp);
    }
  } else {
    err___4 = close(fd);
  }
  if (err___4) {
    tmp___3 = -1;
  } else {
    tmp___3 = 0;
  }
  return (tmp___3);
}
}
int reopen_tempfile(struct tempfile *tempfile )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = is_tempfile_active(tempfile);
  if (! tmp) {
    BUG_fl((char const   *)"tempfile.c", 279, (char const   *)"reopen_tempfile called for an inactive object");
  }
  if (0 <= (int )tempfile->fd) {
    BUG_fl((char const   *)"tempfile.c", 281, (char const   *)"reopen_tempfile called for an open object");
  }
  tmp___0 = open((char const   *)tempfile->filename.buf, 513);
  tempfile->fd = (int volatile   )tmp___0;
  return ((int )tempfile->fd);
}
}
int rename_tempfile(struct tempfile **tempfile_p , char const   *path___6 )
{
  struct tempfile *tempfile ;
  int tmp ;
  int tmp___0 ;
  int save_errno ;
  int *tmp___1 ;
  int *tmp___2 ;
  int tmp___3 ;

  {
  tempfile = *tempfile_p;
  tmp = is_tempfile_active(tempfile);
  if (! tmp) {
    BUG_fl((char const   *)"tempfile.c", 291, (char const   *)"rename_tempfile called for inactive object");
  }
  tmp___0 = close_tempfile_gently(tempfile);
  if (tmp___0) {
    delete_tempfile(tempfile_p);
    return (-1);
  }
  tmp___3 = rename((char const   *)tempfile->filename.buf, path___6);
  if (tmp___3) {
    tmp___1 = __errno_location();
    save_errno = *tmp___1;
    delete_tempfile(tempfile_p);
    tmp___2 = __errno_location();
    *tmp___2 = save_errno;
    return (-1);
  }
  deactivate_tempfile(tempfile);
  *tempfile_p = (struct tempfile *)((void *)0);
  return (0);
}
}
void delete_tempfile(struct tempfile **tempfile_p )
{
  struct tempfile *tempfile ;
  int tmp ;

  {
  tempfile = *tempfile_p;
  tmp = is_tempfile_active(tempfile);
  if (! tmp) {
    return;
  }
  close_tempfile_gently(tempfile);
  unlink_or_warn((char const   *)tempfile->filename.buf);
  deactivate_tempfile(tempfile);
  *tempfile_p = (struct tempfile *)((void *)0);
  return;
}
}
int online_cpus(void)
{
  long ncpus ;
  long tmp ;

  {
  tmp = sysconf(84);
  ncpus = tmp;
  if (ncpus > 0L) {
    return ((int )ncpus);
  }
  return (1);
}
}
int init_recursive_mutex(pthread_mutex_t *m )
{
  pthread_mutexattr_t a ;
  int ret___67 ;

  {
  ret___67 = pthread_mutexattr_init(& a);
  if (! ret___67) {
    ret___67 = pthread_mutexattr_settype(& a, 1);
    if (! ret___67) {
      ret___67 = pthread_mutex_init(m, (pthread_mutexattr_t const   *)(& a));
    }
    pthread_mutexattr_destroy(& a);
  }
  return (ret___67);
}
}
static double const   __ac_HASH_UPPER___91  =    (double const   )0.77;
__inline static void kh_resize_oid_set___91(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___91(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___91 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___91 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___91(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___91(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___91(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___91(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___91(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___91(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___91 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___91 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___91(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___91(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___91(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___91(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___91(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___91(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___91 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___91 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___91(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___91(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___91(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___91(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___70(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___70(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___91 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___91 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___70(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___70(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___70(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___70(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static struct tmp_objdir *the_tmp_objdir  ;
static void tmp_objdir_free(struct tmp_objdir *t )
{


  {
  strbuf_release(& t->path);
  strvec_clear(& t->env);
  free((void *)t);
  return;
}
}
static int tmp_objdir_destroy_1(struct tmp_objdir *t , int on_signal )
{
  int err___4 ;

  {
  if (! t) {
    return (0);
  }
  if ((unsigned long )t == (unsigned long )the_tmp_objdir) {
    the_tmp_objdir = (struct tmp_objdir *)((void *)0);
  }
  if (! on_signal) {
    if (t->prev_odb) {
      restore_primary_odb(t->prev_odb, (char const   *)t->path.buf);
    }
  }
  err___4 = remove_dir_recursively(& t->path, 0);
  if (! on_signal) {
    tmp_objdir_free(t);
  }
  return (err___4);
}
}
int tmp_objdir_destroy(struct tmp_objdir *t )
{
  int tmp ;

  {
  tmp = tmp_objdir_destroy_1(t, 0);
  return (tmp);
}
}
static void remove_tmp_objdir(void)
{


  {
  tmp_objdir_destroy(the_tmp_objdir);
  return;
}
}
static void remove_tmp_objdir_on_signal(int signo )
{


  {
  tmp_objdir_destroy_1(the_tmp_objdir, 1);
  sigchain_pop(signo);
  raise(signo);
  return;
}
}
static void env_append(struct strvec *env , char const   *key___1 , char const   *val )
{
  struct strbuf quoted ;
  char const   *old ;
  char *tmp ;
  char *tmp___0 ;

  {
  quoted.alloc = 0UL;
  quoted.len = 0UL;
  quoted.buf = strbuf_slopbuf;
  if ((int const   )*val == 34) {
    strbuf_addch(& quoted, '\"');
    quote_c_style(val, & quoted, (FILE *)((void *)0), 1U);
    strbuf_addch(& quoted, '\"');
    val = (char const   *)quoted.buf;
  } else {
    tmp = strchr(val, ':');
    if (tmp) {
      strbuf_addch(& quoted, '\"');
      quote_c_style(val, & quoted, (FILE *)((void *)0), 1U);
      strbuf_addch(& quoted, '\"');
      val = (char const   *)quoted.buf;
    }
  }
  tmp___0 = getenv(key___1);
  old = (char const   *)tmp___0;
  if (! old) {
    strvec_pushf(env, (char const   *)"%s=%s", key___1, val);
  } else {
    strvec_pushf(env, (char const   *)"%s=%s%c%s", key___1, old, ':', val);
  }
  strbuf_release(& quoted);
  return;
}
}
static void env_replace(struct strvec *env , char const   *key___1 , char const   *val )
{


  {
  strvec_pushf(env, (char const   *)"%s=%s", key___1, val);
  return;
}
}
static int setup_tmp_objdir(char const   *root )
{
  char *path___6 ;
  int ret___67 ;

  {
  ret___67 = 0;
  path___6 = xstrfmt((char const   *)"%s/pack", root);
  ret___67 = mkdir((char const   *)path___6, (__mode_t )0777);
  free((void *)path___6);
  return (ret___67);
}
}
static int installed_handlers  ;
struct tmp_objdir *tmp_objdir_create(char const   *prefix___1 )
{
  struct tmp_objdir *t ;
  void *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  char const   *tmp___4 ;
  char const   *tmp___5 ;
  char const   *tmp___6 ;

  {
  if (the_tmp_objdir) {
    BUG_fl((char const   *)"tmp-objdir.c", 137, (char const   *)"only one tmp_objdir can be used at a time");
  }
  tmp = xcalloc((size_t )1, sizeof(*t));
  t = (struct tmp_objdir *)tmp;
  strbuf_init(& t->path, (size_t )0);
  strvec_init(& t->env);
  tmp___0 = get_object_directory();
  strbuf_addf(& t->path, (char const   *)"%s/tmp_objdir-%s-XXXXXX", tmp___0, prefix___1);
  strbuf_grow(& t->path, (size_t )1024);
  tmp___1 = mkdtemp(t->path.buf);
  if (! tmp___1) {
    tmp_objdir_free(t);
    return ((struct tmp_objdir *)((void *)0));
  }
  the_tmp_objdir = t;
  if (! installed_handlers) {
    atexit(& remove_tmp_objdir);
    sigchain_push_common(& remove_tmp_objdir_on_signal);
    installed_handlers ++;
  }
  tmp___2 = setup_tmp_objdir((char const   *)t->path.buf);
  if (tmp___2) {
    tmp_objdir_destroy(t);
    return ((struct tmp_objdir *)((void *)0));
  }
  tmp___3 = get_object_directory();
  tmp___4 = absolute_path((char const   *)tmp___3);
  env_append(& t->env, (char const   *)"GIT_ALTERNATE_OBJECT_DIRECTORIES", tmp___4);
  tmp___5 = absolute_path((char const   *)t->path.buf);
  env_replace(& t->env, (char const   *)"GIT_OBJECT_DIRECTORY", tmp___5);
  tmp___6 = absolute_path((char const   *)t->path.buf);
  env_replace(& t->env, (char const   *)"GIT_QUARANTINE_PATH", tmp___6);
  return (t);
}
}
static int pack_copy_priority(char const   *name___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = starts_with(name___0, (char const   *)"pack");
  if (! tmp) {
    return (0);
  }
  tmp___0 = ends_with(name___0, (char const   *)".keep");
  if (tmp___0) {
    return (1);
  }
  tmp___1 = ends_with(name___0, (char const   *)".pack");
  if (tmp___1) {
    return (2);
  }
  tmp___2 = ends_with(name___0, (char const   *)".rev");
  if (tmp___2) {
    return (3);
  }
  tmp___3 = ends_with(name___0, (char const   *)".idx");
  if (tmp___3) {
    return (4);
  }
  return (5);
}
}
static int pack_copy_cmp(char const   *a , char const   *b___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = pack_copy_priority(a);
  tmp___0 = pack_copy_priority(b___0);
  return (tmp - tmp___0);
}
}
static int read_dir_paths(struct string_list *out , char const   *path___6 )
{
  DIR *dh ;
  struct dirent *de ;

  {
  dh = opendir(path___6);
  if (! dh) {
    return (-1);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    de = readdir(dh);
    if (! de) {
      goto while_break;
    }
    if ((int )de->d_name[0] != 46) {
      string_list_append(out, (char const   *)(de->d_name));
    }
  }
  while_break: /* CIL Label */ ;
  }
  closedir(dh);
  return (0);
}
}
static int migrate_paths(struct strbuf *src , struct strbuf *dst ) ;
static int migrate_one(struct strbuf *src , struct strbuf *dst )
{
  struct stat st ;
  int tmp ;
  int tmp___0 ;
  int *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp = stat((char const   *)src->buf, & st);
  if (tmp < 0) {
    return (-1);
  }
  if ((st.st_mode & 61440U) == 16384U) {
    tmp___2 = mkdir((char const   *)dst->buf, (__mode_t )0777);
    if (tmp___2) {
      tmp___1 = __errno_location();
      if (*tmp___1 != 17) {
        return (-1);
      }
    } else {
      tmp___0 = adjust_shared_perm((char const   *)dst->buf);
      if (tmp___0) {
        return (-1);
      }
    }
    tmp___3 = migrate_paths(src, dst);
    return (tmp___3);
  }
  tmp___4 = finalize_object_file((char const   *)src->buf, (char const   *)dst->buf);
  return (tmp___4);
}
}
static int migrate_paths(struct strbuf *src , struct strbuf *dst )
{
  size_t src_len ;
  size_t dst_len ;
  struct string_list paths___0 ;
  int i ;
  int ret___67 ;
  int tmp ;
  char const   *name___0 ;
  int tmp___0 ;

  {
  src_len = src->len;
  dst_len = dst->len;
  paths___0.items = (struct string_list_item *)0;
  paths___0.nr = 0U;
  paths___0.alloc = 0U;
  paths___0.strdup_strings = 1U;
  paths___0.cmp = (int (*)(char const   * , char const   * ))0;
  ret___67 = 0;
  tmp = read_dir_paths(& paths___0, (char const   *)src->buf);
  if (tmp < 0) {
    return (-1);
  }
  paths___0.cmp = & pack_copy_cmp;
  string_list_sort(& paths___0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < paths___0.nr)) {
      goto while_break;
    }
    name___0 = (char const   *)(paths___0.items + i)->string;
    strbuf_addf(src, (char const   *)"/%s", name___0);
    strbuf_addf(dst, (char const   *)"/%s", name___0);
    tmp___0 = migrate_one(src, dst);
    ret___67 |= tmp___0;
    strbuf_setlen(src, src_len);
    strbuf_setlen(dst, dst_len);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_clear(& paths___0, 0);
  return (ret___67);
}
}
int tmp_objdir_migrate(struct tmp_objdir *t )
{
  struct strbuf src ;
  struct strbuf dst ;
  int ret___67 ;
  char *tmp ;

  {
  src.alloc = 0UL;
  src.len = 0UL;
  src.buf = strbuf_slopbuf;
  dst.alloc = 0UL;
  dst.len = 0UL;
  dst.buf = strbuf_slopbuf;
  if (! t) {
    return (0);
  }
  if (t->prev_odb) {
    if (((the_repository->objects)->odb)->will_destroy) {
      BUG_fl((char const   *)"tmp-objdir.c", 286, (char const   *)"migrating an ODB that was marked for destruction");
    }
    restore_primary_odb(t->prev_odb, (char const   *)t->path.buf);
    t->prev_odb = (struct object_directory *)((void *)0);
  }
  strbuf_addbuf(& src, (struct strbuf  const  *)(& t->path));
  tmp = get_object_directory();
  strbuf_addstr(& dst, (char const   *)tmp);
  ret___67 = migrate_paths(& src, & dst);
  strbuf_release(& src);
  strbuf_release(& dst);
  tmp_objdir_destroy(t);
  return (ret___67);
}
}
char const   **tmp_objdir_env(struct tmp_objdir  const  *t )
{


  {
  if (! t) {
    return ((char const   **)((void *)0));
  }
  return ((char const   **)t->env.v);
}
}
void tmp_objdir_add_as_alternate(struct tmp_objdir  const  *t )
{


  {
  add_to_alternates_memory((char const   *)t->path.buf);
  return;
}
}
void tmp_objdir_replace_primary_odb(struct tmp_objdir *t , int will_destroy )
{


  {
  if (t->prev_odb) {
    BUG_fl((char const   *)"tmp-objdir.c", 318, (char const   *)"the primary object database is already replaced");
  }
  t->prev_odb = set_temporary_primary_odb((char const   *)t->path.buf, will_destroy);
  t->will_destroy = will_destroy;
  return;
}
}
struct tmp_objdir *tmp_objdir_unapply_primary_odb(void)
{


  {
  if (! the_tmp_objdir) {
    return ((struct tmp_objdir *)((void *)0));
  } else
  if (! the_tmp_objdir->prev_odb) {
    return ((struct tmp_objdir *)((void *)0));
  }
  restore_primary_odb(the_tmp_objdir->prev_odb, (char const   *)the_tmp_objdir->path.buf);
  the_tmp_objdir->prev_odb = (struct object_directory *)((void *)0);
  return (the_tmp_objdir);
}
}
void tmp_objdir_reapply_primary_odb(struct tmp_objdir *t , char const   *old_cwd ,
                                    char const   *new_cwd )
{
  char *path___6 ;

  {
  path___6 = reparent_relative_path(old_cwd, new_cwd, (char const   *)t->path.buf);
  strbuf_setlen(& t->path, (size_t )0);
  strbuf_addstr(& t->path, (char const   *)path___6);
  free((void *)path___6);
  tmp_objdir_replace_primary_odb(t, t->will_destroy);
  return;
}
}
struct trace_key trace_default_key  =    {(char const   *)"GIT_TRACE", 0, 0U, 0U};
struct trace_key trace_perf_key  =    {(char const   *)"GIT_TRACE_PERFORMANCE", 0, 0U, 0U};
struct trace_key trace_setup_key  =    {(char const   *)"GIT_TRACE_SETUP", 0, 0U, 0U};
static int get_trace_fd(struct trace_key *key___1 , char const   *override_envvar )
{
  char const   *trace ;
  char *tmp ;
  int fd ;
  int tmp___0 ;
  int *tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  size_t tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  if (key___1->initialized) {
    return (key___1->fd);
  }
  if (override_envvar) {
    trace = override_envvar;
  } else {
    tmp = getenv((char const   *)key___1->key);
    trace = (char const   *)tmp;
  }
  if (! trace) {
    key___1->fd = 0;
  } else {
    tmp___7 = strcmp(trace, (char const   *)"");
    if (tmp___7) {
      tmp___8 = strcmp(trace, (char const   *)"0");
      if (tmp___8) {
        tmp___9 = strcasecmp(trace, (char const   *)"false");
        if (tmp___9) {
          tmp___5 = strcmp(trace, (char const   *)"1");
          if (tmp___5) {
            tmp___6 = strcasecmp(trace, (char const   *)"true");
            if (tmp___6) {
              tmp___4 = strlen(trace);
              if (tmp___4 == 1UL) {
                if (((int const   )sane_ctype[(unsigned char )*trace] & 2) != 0) {
                  key___1->fd = atoi(trace);
                } else {
                  goto _L;
                }
              } else {
                _L: /* CIL Label */
                tmp___3 = is_absolute_path(trace);
                if (tmp___3) {
                  tmp___0 = open(trace, 1089, 0666);
                  fd = tmp___0;
                  if (fd == -1) {
                    tmp___1 = __errno_location();
                    tmp___2 = strerror(*tmp___1);
                    warning((char const   *)"could not open \'%s\' for tracing: %s",
                            trace, tmp___2);
                    trace_disable(key___1);
                  } else {
                    key___1->fd = fd;
                    key___1->need_close = 1U;
                  }
                } else {
                  warning((char const   *)"unknown trace value for \'%s\': %s\n         If you want to trace into a file, then please set %s\n         to an absolute pathname (starting with /)",
                          key___1->key, trace, key___1->key);
                  trace_disable(key___1);
                }
              }
            } else {
              key___1->fd = 2;
            }
          } else {
            key___1->fd = 2;
          }
        } else {
          key___1->fd = 0;
        }
      } else {
        key___1->fd = 0;
      }
    } else {
      key___1->fd = 0;
    }
  }
  key___1->initialized = 1U;
  return (key___1->fd);
}
}
void trace_override_envvar(struct trace_key *key___1 , char const   *value )
{


  {
  trace_disable(key___1);
  key___1->initialized = 0U;
  get_trace_fd(key___1, value);
  return;
}
}
void trace_disable(struct trace_key *key___1 )
{


  {
  if (key___1->need_close) {
    close(key___1->fd);
  }
  key___1->fd = 0;
  key___1->initialized = 1U;
  key___1->need_close = 0U;
  return;
}
}
static int prepare_trace_line(char const   *file___0 , int line___0 , struct trace_key *key___1 ,
                              struct strbuf *buf___19 ) ;
static struct trace_key trace_bare  =    {(char const   *)"GIT_TRACE_BARE", 0, 0U, 0U};
static int prepare_trace_line(char const   *file___0 , int line___0 , struct trace_key *key___1 ,
                              struct strbuf *buf___19 )
{
  struct timeval tv ;
  struct tm tm ;
  time_t secs ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = trace_want(key___1);
  if (! tmp) {
    return (0);
  }
  tmp___0 = trace_want(& trace_bare);
  if (tmp___0) {
    return (1);
  }
  gettimeofday((struct timeval * __restrict  )(& tv), (__timezone_ptr_t )((void *)0));
  secs = tv.tv_sec;
  localtime_r((time_t const   * __restrict  )(& secs), (struct tm * __restrict  )(& tm));
  strbuf_addf(buf___19, (char const   *)"%02d:%02d:%02d.%06ld ", tm.tm_hour, tm.tm_min,
              tm.tm_sec, tv.tv_usec);
  strbuf_addf(buf___19, (char const   *)"%s:%d ", file___0, line___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (buf___19->len < 40UL)) {
      goto while_break;
    }
    strbuf_addch(buf___19, ' ');
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static void trace_write(struct trace_key *key___1 , void const   *buf___19 , unsigned int len___0 )
{
  int *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  ssize_t tmp___2 ;

  {
  tmp___1 = get_trace_fd(key___1, (char const   *)((void *)0));
  tmp___2 = write_in_full(tmp___1, buf___19, (size_t )len___0);
  if (tmp___2 < 0L) {
    tmp = __errno_location();
    tmp___0 = strerror(*tmp);
    warning((char const   *)"unable to write trace for %s: %s", key___1->key, tmp___0);
    trace_disable(key___1);
  }
  return;
}
}
void trace_verbatim(struct trace_key *key___1 , void const   *buf___19 , unsigned int len___0 )
{
  int tmp ;

  {
  tmp = trace_want(key___1);
  if (! tmp) {
    return;
  }
  trace_write(key___1, buf___19, len___0);
  return;
}
}
static void print_trace_line(struct trace_key *key___1 , struct strbuf *buf___19 )
{


  {
  strbuf_complete_line(buf___19);
  trace_write(key___1, (void const   *)buf___19->buf, (unsigned int )buf___19->len);
  return;
}
}
static void trace_vprintf_fl(char const   *file___0 , int line___0 , struct trace_key *key___1 ,
                             char const   *format___0 , va_list ap )
{
  struct strbuf buf___19 ;
  int tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = prepare_trace_line(file___0, line___0, key___1, & buf___19);
  if (! tmp) {
    return;
  }
  strbuf_vaddf(& buf___19, format___0, ap);
  print_trace_line(key___1, & buf___19);
  strbuf_release(& buf___19);
  return;
}
}
static void trace_argv_vprintf_fl(char const   *file___0 , int line___0 , char const   **argv___0 ,
                                  char const   *format___0 , va_list ap )
{
  struct strbuf buf___19 ;
  int tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = prepare_trace_line(file___0, line___0, & trace_default_key, & buf___19);
  if (! tmp) {
    return;
  }
  strbuf_vaddf(& buf___19, format___0, ap);
  sq_quote_argv_pretty(& buf___19, argv___0);
  print_trace_line(& trace_default_key, & buf___19);
  strbuf_release(& buf___19);
  return;
}
}
void trace_strbuf_fl(char const   *file___0 , int line___0 , struct trace_key *key___1 ,
                     struct strbuf  const  *data )
{
  struct strbuf buf___19 ;
  int tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = prepare_trace_line(file___0, line___0, key___1, & buf___19);
  if (! tmp) {
    return;
  }
  strbuf_addbuf(& buf___19, data);
  print_trace_line(key___1, & buf___19);
  strbuf_release(& buf___19);
  return;
}
}
static uint64_t perf_start_times[10]  ;
static int perf_indent  ;
uint64_t trace_performance_enter(void)
{
  uint64_t now ;
  int tmp ;

  {
  tmp = trace_want(& trace_perf_key);
  if (! tmp) {
    return ((uint64_t )0);
  }
  now = getnanotime();
  perf_start_times[perf_indent] = now;
  if ((unsigned long )(perf_indent + 1) < sizeof(perf_start_times) / sizeof(perf_start_times[0]) + (sizeof(char [1]) - 1UL)) {
    perf_indent ++;
  } else {
    BUG_fl((char const   *)"trace.c", 204, (char const   *)"Too deep indentation");
  }
  return (now);
}
}
static void trace_performance_vprintf_fl(char const   *file___0 , int line___0 , uint64_t nanos ,
                                         char const   *format___0 , va_list ap ) ;
static char const   space[11]  =
  {      (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'\000'};
static void trace_performance_vprintf_fl(char const   *file___0 , int line___0 , uint64_t nanos ,
                                         char const   *format___0 , va_list ap )
{
  struct strbuf buf___19 ;
  int tmp ;
  size_t tmp___0 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = prepare_trace_line(file___0, line___0, & trace_perf_key, & buf___19);
  if (! tmp) {
    return;
  }
  strbuf_addf(& buf___19, (char const   *)"performance: %.9f s", (double )nanos / (double )1000000000);
  if (format___0) {
    if (*format___0) {
      tmp___0 = strlen(space);
      if ((size_t )perf_indent >= tmp___0) {
        BUG_fl((char const   *)"trace.c", 222, (char const   *)"Too deep indentation");
      }
      strbuf_addf(& buf___19, (char const   *)":%.*s ", perf_indent, space);
      strbuf_vaddf(& buf___19, format___0, ap);
    }
  }
  print_trace_line(& trace_perf_key, & buf___19);
  strbuf_release(& buf___19);
  return;
}
}
void ( /* format attribute */  trace_printf_key_fl)(char const   *file___0 , int line___0 ,
                                                    struct trace_key *key___1 , char const   *format___0
                                                    , ...)
{
  va_list ap ;

  {
  __builtin_va_start(ap, format___0);
  trace_vprintf_fl(file___0, line___0, key___1, format___0, ap);
  __builtin_va_end(ap);
  return;
}
}
void ( /* format attribute */  trace_argv_printf_fl)(char const   *file___0 , int line___0 ,
                                                     char const   **argv___0 , char const   *format___0
                                                     , ...)
{
  va_list ap ;

  {
  __builtin_va_start(ap, format___0);
  trace_argv_vprintf_fl(file___0, line___0, argv___0, format___0, ap);
  __builtin_va_end(ap);
  return;
}
}
void ( /* format attribute */  trace_performance_fl)(char const   *file___0 , int line___0 ,
                                                     uint64_t nanos , char const   *format___0
                                                     , ...)
{
  va_list ap ;

  {
  __builtin_va_start(ap, format___0);
  trace_performance_vprintf_fl(file___0, line___0, nanos, format___0, ap);
  __builtin_va_end(ap);
  return;
}
}
void ( /* format attribute */  trace_performance_leave_fl)(char const   *file___0 ,
                                                           int line___0 , uint64_t nanos ,
                                                           char const   *format___0
                                                           , ...)
{
  va_list ap ;
  uint64_t since ;

  {
  if (perf_indent) {
    perf_indent --;
  }
  if (! format___0) {
    return;
  }
  since = perf_start_times[perf_indent];
  __builtin_va_start(ap, format___0);
  trace_performance_vprintf_fl(file___0, line___0, nanos - since, format___0, ap);
  __builtin_va_end(ap);
  return;
}
}
static char const   *quote_crnl(char const   *path___6 ) ;
static struct strbuf new_path  =    {0UL, 0UL, strbuf_slopbuf};
static char const   *quote_crnl(char const   *path___6 )
{


  {
  if (! path___6) {
    return ((char const   *)((void *)0));
  }
  strbuf_setlen(& new_path, (size_t )0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *path___6) {
      goto while_break;
    }
    {
    if ((int const   )*path___6 == 92) {
      goto case_92;
    }
    if ((int const   )*path___6 == 10) {
      goto case_10;
    }
    if ((int const   )*path___6 == 13) {
      goto case_13;
    }
    goto switch_default;
    case_92: /* CIL Label */
    strbuf_addstr(& new_path, (char const   *)"\\\\");
    goto switch_break;
    case_10: /* CIL Label */
    strbuf_addstr(& new_path, (char const   *)"\\n");
    goto switch_break;
    case_13: /* CIL Label */
    strbuf_addstr(& new_path, (char const   *)"\\r");
    goto switch_break;
    switch_default: /* CIL Label */
    strbuf_addch(& new_path, (int )*path___6);
    switch_break: /* CIL Label */ ;
    }
    path___6 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((char const   *)new_path.buf);
}
}
void trace_repo_setup(char const   *prefix___1 )
{
  char const   *git_work_tree ;
  char *cwd___0 ;
  int tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  char const   *tmp___6 ;
  int tmp___7 ;
  char const   *tmp___8 ;
  int tmp___9 ;
  char const   *tmp___10 ;
  int tmp___11 ;

  {
  tmp = trace_want(& trace_setup_key);
  if (! tmp) {
    return;
  }
  cwd___0 = xgetcwd();
  git_work_tree = get_git_work_tree();
  if (! git_work_tree) {
    git_work_tree = (char const   *)"(null)";
  }
  if (! prefix___1) {
    prefix___1 = (char const   *)"(null)";
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = trace_pass_fl(& trace_setup_key);
    if (tmp___2) {
      tmp___0 = get_git_dir();
      tmp___1 = quote_crnl(tmp___0);
      trace_printf_key_fl((char const   *)"trace.c", 387, & trace_setup_key, (char const   *)"setup: git_dir: %s\n",
                          tmp___1);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___5 = trace_pass_fl(& trace_setup_key);
    if (tmp___5) {
      tmp___3 = get_git_common_dir();
      tmp___4 = quote_crnl(tmp___3);
      trace_printf_key_fl((char const   *)"trace.c", 388, & trace_setup_key, (char const   *)"setup: git_common_dir: %s\n",
                          tmp___4);
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    tmp___7 = trace_pass_fl(& trace_setup_key);
    if (tmp___7) {
      tmp___6 = quote_crnl(git_work_tree);
      trace_printf_key_fl((char const   *)"trace.c", 389, & trace_setup_key, (char const   *)"setup: worktree: %s\n",
                          tmp___6);
    }
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    tmp___9 = trace_pass_fl(& trace_setup_key);
    if (tmp___9) {
      tmp___8 = quote_crnl((char const   *)cwd___0);
      trace_printf_key_fl((char const   *)"trace.c", 390, & trace_setup_key, (char const   *)"setup: cwd: %s\n",
                          tmp___8);
    }
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    tmp___11 = trace_pass_fl(& trace_setup_key);
    if (tmp___11) {
      tmp___10 = quote_crnl(prefix___1);
      trace_printf_key_fl((char const   *)"trace.c", 391, & trace_setup_key, (char const   *)"setup: prefix: %s\n",
                          tmp___10);
    }
    goto while_break___3;
  }
  while_break___3: /* CIL Label */ ;
  }
  free((void *)cwd___0);
  return;
}
}
int trace_want(struct trace_key *key___1 )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = get_trace_fd(key___1, (char const   *)((void *)0));
  if (tmp) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
__inline static uint64_t highres_nanos(void)
{
  struct timespec ts ;
  int tmp ;

  {
  tmp = clock_gettime(1, & ts);
  if (tmp) {
    return ((uint64_t )0);
  }
  return ((uint64_t )ts.tv_sec * 1000000000UL + (uint64_t )ts.tv_nsec);
}
}
__inline static uint64_t gettimeofday_nanos(void)
{
  struct timeval tv ;

  {
  gettimeofday((struct timeval * __restrict  )(& tv), (__timezone_ptr_t )((void *)0));
  return ((uint64_t )tv.tv_sec * 1000000000UL + (uint64_t )(tv.tv_usec * 1000L));
}
}
static uint64_t offset___0  ;
uint64_t getnanotime(void)
{
  uint64_t tmp ;
  uint64_t tmp___0 ;
  uint64_t now ;
  uint64_t tmp___1 ;
  uint64_t highres ;
  uint64_t tmp___2 ;

  {
  if (offset___0 > 1UL) {
    tmp = highres_nanos();
    return (offset___0 + tmp);
  } else
  if (offset___0 == 1UL) {
    tmp___0 = gettimeofday_nanos();
    return (tmp___0);
  } else {
    tmp___1 = gettimeofday_nanos();
    now = tmp___1;
    tmp___2 = highres_nanos();
    highres = tmp___2;
    if (highres) {
      offset___0 = now - highres;
    } else {
      offset___0 = (uint64_t )1;
    }
    return (now);
  }
}
}
static struct strbuf command_line  =    {0UL, 0UL, strbuf_slopbuf};
static void print_command_performance_atexit(void)
{
  uint64_t tmp ;
  int tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = trace_pass_fl(& trace_perf_key);
    if (tmp___0) {
      tmp = getnanotime();
      trace_performance_leave_fl((char const   *)"trace.c", 487, tmp, (char const   *)"git command:%s",
                                 command_line.buf);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void trace_command_performance(char const   **argv___0 )
{
  int tmp ;

  {
  tmp = trace_want(& trace_perf_key);
  if (! tmp) {
    return;
  }
  if (! command_line.len) {
    atexit(& print_command_performance_atexit);
  }
  strbuf_setlen(& command_line, (size_t )0);
  sq_quote_argv_pretty(& command_line, argv___0);
  trace_performance_enter();
  return;
}
}
void tr2_cfg_list_config_fl(char const   *file___0 , int line___0 ) ;
void tr2_list_env_vars_fl(char const   *file___0 , int line___0 ) ;
void tr2_cfg_set_fl(char const   *file___0 , int line___0 , char const   *key___1 ,
                    char const   *value ) ;
void tr2_cfg_free_patterns(void) ;
void tr2_cfg_free_env_vars(void) ;
void tr2_cmd_name_append_hierarchy(char const   *name___0 ) ;
char const   *tr2_cmd_name_get_hierarchy(void) ;
void tr2_cmd_name_release(void) ;
void tr2_sysenv_load(void) ;
char const   *tr2_sysenv_get(enum tr2_sysenv_variable var ) ;
char const   *tr2_sysenv_display_name(enum tr2_sysenv_variable var ) ;
void tr2_sysenv_release(void) ;
void tr2_dst_trace_disable(struct tr2_dst *dst ) ;
int tr2_dst_get_trace_fd(struct tr2_dst *dst ) ;
int tr2_dst_trace_want(struct tr2_dst *dst ) ;
void tr2_dst_write_line(struct tr2_dst *dst , struct strbuf *buf_line ) ;
char const   *tr2_sid_get(void) ;
int tr2_sid_depth(void) ;
void tr2_sid_release(void) ;
struct tr2_tgt tr2_tgt_event ;
struct tr2_tgt tr2_tgt_normal ;
struct tr2_tgt tr2_tgt_perf ;
struct tr2tls_thread_ctx *tr2tls_create_self(char const   *thread_name , uint64_t us_thread_start ) ;
struct tr2tls_thread_ctx *tr2tls_get_self(void) ;
int tr2tls_is_main_thread(void) ;
void tr2tls_unset_self(void) ;
void tr2tls_push_self(uint64_t us_now ) ;
void tr2tls_pop_self(void) ;
void tr2tls_pop_unwind_self(void) ;
uint64_t tr2tls_region_elasped_self(uint64_t us ) ;
uint64_t tr2tls_absolute_elapsed(uint64_t us ) ;
void tr2tls_init(void) ;
void tr2tls_release(void) ;
int tr2tls_locked_increment(int *p___0 ) ;
void tr2tls_start_process_clock(void) ;
static int trace2_enabled  ;
static int tr2_next_child_id  ;
static int tr2_next_exec_id  ;
static int tr2_next_repo_id  =    1;
static struct tr2_tgt *tr2_tgt_builtins[4]  = {      & tr2_tgt_normal,      & tr2_tgt_perf,      & tr2_tgt_event,      (struct tr2_tgt *)((void *)0)};
static int tr2_tgt_want_builtins(void)
{
  struct tr2_tgt *tgt_j ;
  int j ;
  int sum ;
  int tmp ;

  {
  sum = 0;
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp = (*(tgt_j->pfn_init))();
    if (tmp) {
      sum ++;
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return (sum);
}
}
static void tr2_tgt_disable_builtins(void)
{
  struct tr2_tgt *tgt_j ;
  int j ;

  {
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    (*(tgt_j->pfn_term))();
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int tr2main_exit_code  ;
static void tr2main_atexit_handler(void)
{
  struct tr2_tgt *tgt_j ;
  int j ;
  uint64_t us_now ;
  uint64_t us_elapsed_absolute ;
  uint64_t tmp ;
  int tmp___0 ;

  {
  tmp = getnanotime();
  us_now = tmp / 1000UL;
  us_elapsed_absolute = tr2tls_absolute_elapsed(us_now);
  tr2tls_pop_unwind_self();
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp___0 = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp___0) {
      if (tgt_j->pfn_atexit) {
        (*(tgt_j->pfn_atexit))(us_elapsed_absolute, tr2main_exit_code);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  tr2_tgt_disable_builtins();
  tr2tls_release();
  tr2_sid_release();
  tr2_cmd_name_release();
  tr2_cfg_free_patterns();
  tr2_cfg_free_env_vars();
  tr2_sysenv_release();
  trace2_enabled = 0;
  return;
}
}
static void tr2main_signal_handler(int signo )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  uint64_t us_now ;
  uint64_t us_elapsed_absolute ;
  uint64_t tmp ;
  int tmp___0 ;

  {
  tmp = getnanotime();
  us_now = tmp / 1000UL;
  us_elapsed_absolute = tr2tls_absolute_elapsed(us_now);
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp___0 = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp___0) {
      if (tgt_j->pfn_signal) {
        (*(tgt_j->pfn_signal))(us_elapsed_absolute, signo);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  sigchain_pop(signo);
  raise(signo);
  return;
}
}
void trace2_initialize_clock(void)
{


  {
  tr2tls_start_process_clock();
  return;
}
}
void trace2_initialize_fl(char const   *file___0 , int line___0 )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  int tmp ;
  int tmp___0 ;

  {
  if (trace2_enabled) {
    return;
  }
  tr2_sysenv_load();
  tmp = tr2_tgt_want_builtins();
  if (! tmp) {
    return;
  }
  trace2_enabled = 1;
  tr2_sid_get();
  atexit(& tr2main_atexit_handler);
  sigchain_push(13, & tr2main_signal_handler);
  tr2tls_init();
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp___0 = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp___0) {
      if (tgt_j->pfn_version_fl) {
        (*(tgt_j->pfn_version_fl))(file___0, line___0);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int trace2_is_enabled(void)
{


  {
  return (trace2_enabled);
}
}
void trace2_cmd_start_fl(char const   *file___0 , int line___0 , char const   **argv___0 )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  uint64_t us_now ;
  uint64_t us_elapsed_absolute ;
  uint64_t tmp ;
  int tmp___0 ;

  {
  if (! trace2_enabled) {
    return;
  }
  tmp = getnanotime();
  us_now = tmp / 1000UL;
  us_elapsed_absolute = tr2tls_absolute_elapsed(us_now);
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp___0 = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp___0) {
      if (tgt_j->pfn_start_fl) {
        (*(tgt_j->pfn_start_fl))(file___0, line___0, us_elapsed_absolute, argv___0);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int trace2_cmd_exit_fl(char const   *file___0 , int line___0 , int code )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  uint64_t us_now ;
  uint64_t us_elapsed_absolute ;
  uint64_t tmp ;
  int tmp___0 ;

  {
  code &= 0xff;
  if (! trace2_enabled) {
    return (code);
  }
  trace2_collect_process_info((enum trace2_process_info_reason )1);
  tr2main_exit_code = code;
  tmp = getnanotime();
  us_now = tmp / 1000UL;
  us_elapsed_absolute = tr2tls_absolute_elapsed(us_now);
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp___0 = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp___0) {
      if (tgt_j->pfn_exit_fl) {
        (*(tgt_j->pfn_exit_fl))(file___0, line___0, us_elapsed_absolute, code);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return (code);
}
}
void trace2_cmd_error_va_fl(char const   *file___0 , int line___0 , char const   *fmt ,
                            va_list ap )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  int tmp ;

  {
  if (! trace2_enabled) {
    return;
  }
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp) {
      if (tgt_j->pfn_error_va_fl) {
        (*(tgt_j->pfn_error_va_fl))(file___0, line___0, fmt, ap);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void trace2_cmd_path_fl(char const   *file___0 , int line___0 , char const   *pathname )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  int tmp ;

  {
  if (! trace2_enabled) {
    return;
  }
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp) {
      if (tgt_j->pfn_command_path_fl) {
        (*(tgt_j->pfn_command_path_fl))(file___0, line___0, pathname);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void trace2_cmd_ancestry_fl(char const   *file___0 , int line___0 , char const   **parent_names )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  int tmp ;

  {
  if (! trace2_enabled) {
    return;
  }
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp) {
      if (tgt_j->pfn_command_ancestry_fl) {
        (*(tgt_j->pfn_command_ancestry_fl))(file___0, line___0, parent_names);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void trace2_cmd_name_fl(char const   *file___0 , int line___0 , char const   *name___0 )
{
  struct tr2_tgt *tgt_j ;
  char const   *hierarchy ;
  int j ;
  int tmp ;

  {
  if (! trace2_enabled) {
    return;
  }
  tr2_cmd_name_append_hierarchy(name___0);
  hierarchy = tr2_cmd_name_get_hierarchy();
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp) {
      if (tgt_j->pfn_command_name_fl) {
        (*(tgt_j->pfn_command_name_fl))(file___0, line___0, name___0, hierarchy);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void trace2_cmd_mode_fl(char const   *file___0 , int line___0 , char const   *mode___1 )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  int tmp ;

  {
  if (! trace2_enabled) {
    return;
  }
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp) {
      if (tgt_j->pfn_command_mode_fl) {
        (*(tgt_j->pfn_command_mode_fl))(file___0, line___0, mode___1);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void trace2_cmd_alias_fl(char const   *file___0 , int line___0 , char const   *alias ,
                         char const   **argv___0 )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  int tmp ;

  {
  if (! trace2_enabled) {
    return;
  }
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp) {
      if (tgt_j->pfn_alias_fl) {
        (*(tgt_j->pfn_alias_fl))(file___0, line___0, alias, argv___0);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void trace2_cmd_list_config_fl(char const   *file___0 , int line___0 )
{


  {
  if (! trace2_enabled) {
    return;
  }
  tr2_cfg_list_config_fl(file___0, line___0);
  return;
}
}
void trace2_cmd_list_env_vars_fl(char const   *file___0 , int line___0 )
{


  {
  if (! trace2_enabled) {
    return;
  }
  tr2_list_env_vars_fl(file___0, line___0);
  return;
}
}
void trace2_cmd_set_config_fl(char const   *file___0 , int line___0 , char const   *key___1 ,
                              char const   *value )
{


  {
  if (! trace2_enabled) {
    return;
  }
  tr2_cfg_set_fl(file___0, line___0, key___1, value);
  return;
}
}
void trace2_child_start_fl(char const   *file___0 , int line___0 , struct child_process *cmd )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  uint64_t us_now ;
  uint64_t us_elapsed_absolute ;
  uint64_t tmp ;
  int tmp___0 ;

  {
  if (! trace2_enabled) {
    return;
  }
  tmp = getnanotime();
  us_now = tmp / 1000UL;
  us_elapsed_absolute = tr2tls_absolute_elapsed(us_now);
  cmd->trace2_child_id = tr2tls_locked_increment(& tr2_next_child_id);
  cmd->trace2_child_us_start = us_now;
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp___0 = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp___0) {
      if (tgt_j->pfn_child_start_fl) {
        (*(tgt_j->pfn_child_start_fl))(file___0, line___0, us_elapsed_absolute, (struct child_process  const  *)cmd);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void trace2_child_exit_fl(char const   *file___0 , int line___0 , struct child_process *cmd ,
                          int child_exit_code )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  uint64_t us_now ;
  uint64_t us_elapsed_absolute ;
  uint64_t us_elapsed_child ;
  uint64_t tmp ;
  int tmp___0 ;

  {
  if (! trace2_enabled) {
    return;
  }
  tmp = getnanotime();
  us_now = tmp / 1000UL;
  us_elapsed_absolute = tr2tls_absolute_elapsed(us_now);
  if (cmd->trace2_child_us_start) {
    us_elapsed_child = us_now - cmd->trace2_child_us_start;
  } else {
    us_elapsed_child = (uint64_t )0;
  }
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp___0 = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp___0) {
      if (tgt_j->pfn_child_exit_fl) {
        (*(tgt_j->pfn_child_exit_fl))(file___0, line___0, us_elapsed_absolute, cmd->trace2_child_id,
                                      cmd->pid, child_exit_code, us_elapsed_child);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void trace2_child_ready_fl(char const   *file___0 , int line___0 , struct child_process *cmd ,
                           char const   *ready )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  uint64_t us_now ;
  uint64_t us_elapsed_absolute ;
  uint64_t us_elapsed_child ;
  uint64_t tmp ;
  int tmp___0 ;

  {
  if (! trace2_enabled) {
    return;
  }
  tmp = getnanotime();
  us_now = tmp / 1000UL;
  us_elapsed_absolute = tr2tls_absolute_elapsed(us_now);
  if (cmd->trace2_child_us_start) {
    us_elapsed_child = us_now - cmd->trace2_child_us_start;
  } else {
    us_elapsed_child = (uint64_t )0;
  }
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp___0 = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp___0) {
      if (tgt_j->pfn_child_ready_fl) {
        (*(tgt_j->pfn_child_ready_fl))(file___0, line___0, us_elapsed_absolute, cmd->trace2_child_id,
                                       cmd->pid, ready, us_elapsed_child);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int trace2_exec_fl(char const   *file___0 , int line___0 , char const   *exe , char const   **argv___0 )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  int exec_id ;
  uint64_t us_now ;
  uint64_t us_elapsed_absolute ;
  uint64_t tmp ;
  int tmp___0 ;

  {
  if (! trace2_enabled) {
    return (-1);
  }
  tmp = getnanotime();
  us_now = tmp / 1000UL;
  us_elapsed_absolute = tr2tls_absolute_elapsed(us_now);
  exec_id = tr2tls_locked_increment(& tr2_next_exec_id);
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp___0 = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp___0) {
      if (tgt_j->pfn_exec_fl) {
        (*(tgt_j->pfn_exec_fl))(file___0, line___0, us_elapsed_absolute, exec_id,
                                exe, argv___0);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return (exec_id);
}
}
void trace2_exec_result_fl(char const   *file___0 , int line___0 , int exec_id , int code )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  uint64_t us_now ;
  uint64_t us_elapsed_absolute ;
  uint64_t tmp ;
  int tmp___0 ;

  {
  if (! trace2_enabled) {
    return;
  }
  tmp = getnanotime();
  us_now = tmp / 1000UL;
  us_elapsed_absolute = tr2tls_absolute_elapsed(us_now);
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp___0 = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp___0) {
      if (tgt_j->pfn_exec_result_fl) {
        (*(tgt_j->pfn_exec_result_fl))(file___0, line___0, us_elapsed_absolute, exec_id,
                                       code);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void trace2_thread_start_fl(char const   *file___0 , int line___0 , char const   *thread_name )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  uint64_t us_now ;
  uint64_t us_elapsed_absolute ;
  int tmp ;
  uint64_t tmp___0 ;
  int tmp___1 ;

  {
  if (! trace2_enabled) {
    return;
  }
  tmp = tr2tls_is_main_thread();
  if (tmp) {
    trace2_region_enter_printf_fl(file___0, line___0, (char const   *)((void *)0),
                                  (char const   *)((void *)0), (struct repository  const  *)((void *)0),
                                  (char const   *)"thread-proc on main: %s", thread_name);
    return;
  }
  tmp___0 = getnanotime();
  us_now = tmp___0 / 1000UL;
  us_elapsed_absolute = tr2tls_absolute_elapsed(us_now);
  tr2tls_create_self(thread_name, us_now);
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp___1 = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp___1) {
      if (tgt_j->pfn_thread_start_fl) {
        (*(tgt_j->pfn_thread_start_fl))(file___0, line___0, us_elapsed_absolute);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void trace2_thread_exit_fl(char const   *file___0 , int line___0 )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  uint64_t us_now ;
  uint64_t us_elapsed_absolute ;
  uint64_t us_elapsed_thread ;
  int tmp ;
  uint64_t tmp___0 ;
  int tmp___1 ;

  {
  if (! trace2_enabled) {
    return;
  }
  tmp = tr2tls_is_main_thread();
  if (tmp) {
    trace2_region_leave_printf_fl(file___0, line___0, (char const   *)((void *)0),
                                  (char const   *)((void *)0), (struct repository  const  *)((void *)0),
                                  (char const   *)"thread-proc on main");
    return;
  }
  tmp___0 = getnanotime();
  us_now = tmp___0 / 1000UL;
  us_elapsed_absolute = tr2tls_absolute_elapsed(us_now);
  tr2tls_pop_unwind_self();
  us_elapsed_thread = tr2tls_region_elasped_self(us_now);
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp___1 = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp___1) {
      if (tgt_j->pfn_thread_exit_fl) {
        (*(tgt_j->pfn_thread_exit_fl))(file___0, line___0, us_elapsed_absolute, us_elapsed_thread);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  tr2tls_unset_self();
  return;
}
}
void trace2_def_param_fl(char const   *file___0 , int line___0 , char const   *param ,
                         char const   *value )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  int tmp ;

  {
  if (! trace2_enabled) {
    return;
  }
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp) {
      if (tgt_j->pfn_param_fl) {
        (*(tgt_j->pfn_param_fl))(file___0, line___0, param, value);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void trace2_def_repo_fl(char const   *file___0 , int line___0 , struct repository *repo )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  int tmp ;

  {
  if (! trace2_enabled) {
    return;
  }
  if (repo->trace2_repo_id) {
    return;
  }
  repo->trace2_repo_id = tr2tls_locked_increment(& tr2_next_repo_id);
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp) {
      if (tgt_j->pfn_repo_fl) {
        (*(tgt_j->pfn_repo_fl))(file___0, line___0, (struct repository  const  *)repo);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void trace2_region_enter_printf_va_fl(char const   *file___0 , int line___0 , char const   *category ,
                                      char const   *label , struct repository  const  *repo ,
                                      char const   *fmt , va_list ap )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  uint64_t us_now ;
  uint64_t us_elapsed_absolute ;
  uint64_t tmp ;
  int tmp___0 ;

  {
  if (! trace2_enabled) {
    return;
  }
  tmp = getnanotime();
  us_now = tmp / 1000UL;
  us_elapsed_absolute = tr2tls_absolute_elapsed(us_now);
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp___0 = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp___0) {
      if (tgt_j->pfn_region_enter_printf_va_fl) {
        (*(tgt_j->pfn_region_enter_printf_va_fl))(file___0, line___0, us_elapsed_absolute,
                                                  category, label, repo, fmt, ap);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  tr2tls_push_self(us_now);
  return;
}
}
void trace2_region_enter_fl(char const   *file___0 , int line___0 , char const   *category ,
                            char const   *label , struct repository  const  *repo
                            , ...)
{
  va_list ap ;

  {
  __builtin_va_start(ap, repo);
  trace2_region_enter_printf_va_fl(file___0, line___0, category, label, repo, (char const   *)((void *)0),
                                   ap);
  __builtin_va_end(ap);
  return;
}
}
void trace2_region_enter_printf_fl(char const   *file___0 , int line___0 , char const   *category ,
                                   char const   *label , struct repository  const  *repo ,
                                   char const   *fmt  , ...)
{
  va_list ap ;

  {
  __builtin_va_start(ap, fmt);
  trace2_region_enter_printf_va_fl(file___0, line___0, category, label, repo, fmt,
                                   ap);
  __builtin_va_end(ap);
  return;
}
}
void trace2_region_leave_printf_va_fl(char const   *file___0 , int line___0 , char const   *category ,
                                      char const   *label , struct repository  const  *repo ,
                                      char const   *fmt , va_list ap )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  uint64_t us_now ;
  uint64_t us_elapsed_absolute ;
  uint64_t us_elapsed_region ;
  uint64_t tmp ;
  int tmp___0 ;

  {
  if (! trace2_enabled) {
    return;
  }
  tmp = getnanotime();
  us_now = tmp / 1000UL;
  us_elapsed_absolute = tr2tls_absolute_elapsed(us_now);
  us_elapsed_region = tr2tls_region_elasped_self(us_now);
  tr2tls_pop_self();
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp___0 = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp___0) {
      if (tgt_j->pfn_region_leave_printf_va_fl) {
        (*(tgt_j->pfn_region_leave_printf_va_fl))(file___0, line___0, us_elapsed_absolute,
                                                  us_elapsed_region, category, label,
                                                  repo, fmt, ap);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void trace2_region_leave_fl(char const   *file___0 , int line___0 , char const   *category ,
                            char const   *label , struct repository  const  *repo
                            , ...)
{
  va_list ap ;

  {
  __builtin_va_start(ap, repo);
  trace2_region_leave_printf_va_fl(file___0, line___0, category, label, repo, (char const   *)((void *)0),
                                   ap);
  __builtin_va_end(ap);
  return;
}
}
void trace2_region_leave_printf_fl(char const   *file___0 , int line___0 , char const   *category ,
                                   char const   *label , struct repository  const  *repo ,
                                   char const   *fmt  , ...)
{
  va_list ap ;

  {
  __builtin_va_start(ap, fmt);
  trace2_region_leave_printf_va_fl(file___0, line___0, category, label, repo, fmt,
                                   ap);
  __builtin_va_end(ap);
  return;
}
}
void trace2_data_string_fl(char const   *file___0 , int line___0 , char const   *category ,
                           struct repository  const  *repo , char const   *key___1 ,
                           char const   *value )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  uint64_t us_now ;
  uint64_t us_elapsed_absolute ;
  uint64_t us_elapsed_region ;
  uint64_t tmp ;
  int tmp___0 ;

  {
  if (! trace2_enabled) {
    return;
  }
  tmp = getnanotime();
  us_now = tmp / 1000UL;
  us_elapsed_absolute = tr2tls_absolute_elapsed(us_now);
  us_elapsed_region = tr2tls_region_elasped_self(us_now);
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp___0 = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp___0) {
      if (tgt_j->pfn_data_fl) {
        (*(tgt_j->pfn_data_fl))(file___0, line___0, us_elapsed_absolute, us_elapsed_region,
                                category, repo, key___1, value);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void trace2_data_intmax_fl(char const   *file___0 , int line___0 , char const   *category ,
                           struct repository  const  *repo , char const   *key___1 ,
                           intmax_t value )
{
  struct strbuf buf_string ;

  {
  buf_string.alloc = 0UL;
  buf_string.len = 0UL;
  buf_string.buf = strbuf_slopbuf;
  if (! trace2_enabled) {
    return;
  }
  strbuf_addf(& buf_string, (char const   *)"%ld", value);
  trace2_data_string_fl(file___0, line___0, category, repo, key___1, (char const   *)buf_string.buf);
  strbuf_release(& buf_string);
  return;
}
}
void trace2_data_json_fl(char const   *file___0 , int line___0 , char const   *category ,
                         struct repository  const  *repo , char const   *key___1 ,
                         struct json_writer  const  *value )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  uint64_t us_now ;
  uint64_t us_elapsed_absolute ;
  uint64_t us_elapsed_region ;
  uint64_t tmp ;
  int tmp___0 ;

  {
  if (! trace2_enabled) {
    return;
  }
  tmp = getnanotime();
  us_now = tmp / 1000UL;
  us_elapsed_absolute = tr2tls_absolute_elapsed(us_now);
  us_elapsed_region = tr2tls_region_elasped_self(us_now);
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp___0 = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp___0) {
      if (tgt_j->pfn_data_json_fl) {
        (*(tgt_j->pfn_data_json_fl))(file___0, line___0, us_elapsed_absolute, us_elapsed_region,
                                     category, repo, key___1, value);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void trace2_printf_va_fl(char const   *file___0 , int line___0 , char const   *fmt ,
                         va_list ap )
{
  struct tr2_tgt *tgt_j ;
  int j ;
  uint64_t us_now ;
  uint64_t us_elapsed_absolute ;
  uint64_t tmp ;
  int tmp___0 ;

  {
  if (! trace2_enabled) {
    return;
  }
  tmp = getnanotime();
  us_now = tmp / 1000UL;
  us_elapsed_absolute = tr2tls_absolute_elapsed(us_now);
  j = 0;
  tgt_j = tr2_tgt_builtins[j];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tgt_j) {
      goto while_break;
    }
    tmp___0 = tr2_dst_trace_want(tgt_j->pdst);
    if (tmp___0) {
      if (tgt_j->pfn_printf_va_fl) {
        (*(tgt_j->pfn_printf_va_fl))(file___0, line___0, us_elapsed_absolute, fmt,
                                     ap);
      }
    }
    j ++;
    tgt_j = tr2_tgt_builtins[j];
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void trace2_printf_fl(char const   *file___0 , int line___0 , char const   *fmt  , ...)
{
  va_list ap ;

  {
  __builtin_va_start(ap, fmt);
  trace2_printf_va_fl(file___0, line___0, fmt, ap);
  __builtin_va_end(ap);
  return;
}
}
char const   *trace2_session_id(void)
{
  char const   *tmp ;

  {
  tmp = tr2_sid_get();
  return (tmp);
}
}
static struct strbuf **tr2_cfg_patterns  ;
static int tr2_cfg_count_patterns  ;
static int tr2_cfg_loaded  ;
static struct strbuf **tr2_cfg_env_vars  ;
static int tr2_cfg_env_vars_count  ;
static int tr2_cfg_env_vars_loaded  ;
static int tr2_cfg_load_patterns(void)
{
  struct strbuf **s___1 ;
  char const   *envvar ;
  size_t tmp ;
  struct strbuf *buf___19 ;

  {
  if (tr2_cfg_loaded) {
    return (tr2_cfg_count_patterns);
  }
  tr2_cfg_loaded = 1;
  envvar = tr2_sysenv_get((enum tr2_sysenv_variable )0);
  if (! envvar) {
    return (tr2_cfg_count_patterns);
  } else
  if (! *envvar) {
    return (tr2_cfg_count_patterns);
  }
  tmp = strlen(envvar);
  tr2_cfg_patterns = strbuf_split_buf(envvar, tmp, ',', -1);
  s___1 = tr2_cfg_patterns;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *s___1) {
      goto while_break;
    }
    buf___19 = *s___1;
    if (buf___19->len) {
      if ((int )*(buf___19->buf + (buf___19->len - 1UL)) == 44) {
        strbuf_setlen___33(buf___19, buf___19->len - 1UL);
      }
    }
    strbuf_trim_trailing_newline(*s___1);
    strbuf_trim(*s___1);
    s___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
  tr2_cfg_count_patterns = (int )(s___1 - tr2_cfg_patterns);
  return (tr2_cfg_count_patterns);
}
}
void tr2_cfg_free_patterns(void)
{


  {
  if (tr2_cfg_patterns) {
    strbuf_list_free(tr2_cfg_patterns);
  }
  tr2_cfg_count_patterns = 0;
  tr2_cfg_loaded = 0;
  return;
}
}
static int tr2_load_env_vars(void)
{
  struct strbuf **s___1 ;
  char const   *varlist ;
  size_t tmp ;
  struct strbuf *buf___19 ;

  {
  if (tr2_cfg_env_vars_loaded) {
    return (tr2_cfg_env_vars_count);
  }
  tr2_cfg_env_vars_loaded = 1;
  varlist = tr2_sysenv_get((enum tr2_sysenv_variable )1);
  if (! varlist) {
    return (tr2_cfg_env_vars_count);
  } else
  if (! *varlist) {
    return (tr2_cfg_env_vars_count);
  }
  tmp = strlen(varlist);
  tr2_cfg_env_vars = strbuf_split_buf(varlist, tmp, ',', -1);
  s___1 = tr2_cfg_env_vars;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *s___1) {
      goto while_break;
    }
    buf___19 = *s___1;
    if (buf___19->len) {
      if ((int )*(buf___19->buf + (buf___19->len - 1UL)) == 44) {
        strbuf_setlen___33(buf___19, buf___19->len - 1UL);
      }
    }
    strbuf_trim_trailing_newline(*s___1);
    strbuf_trim(*s___1);
    s___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
  tr2_cfg_env_vars_count = (int )(s___1 - tr2_cfg_env_vars);
  return (tr2_cfg_env_vars_count);
}
}
void tr2_cfg_free_env_vars(void)
{


  {
  if (tr2_cfg_env_vars) {
    strbuf_list_free(tr2_cfg_env_vars);
  }
  tr2_cfg_env_vars_count = 0;
  tr2_cfg_env_vars_loaded = 0;
  return;
}
}
static int tr2_cfg_cb(char const   *key___1 , char const   *value , void *d )
{
  struct strbuf **s___1 ;
  struct tr2_cfg_data *data ;
  struct strbuf *buf___19 ;
  int wm ;
  int tmp ;

  {
  data = (struct tr2_cfg_data *)d;
  s___1 = tr2_cfg_patterns;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *s___1) {
      goto while_break;
    }
    buf___19 = *s___1;
    tmp = wildmatch((char const   *)buf___19->buf, key___1, 1U);
    wm = tmp;
    if (wm == 0) {
      trace2_def_param_fl(data->file, data->line, key___1, value);
      return (0);
    }
    s___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
void tr2_cfg_list_config_fl(char const   *file___0 , int line___0 )
{
  struct tr2_cfg_data data ;
  int tmp ;

  {
  data.file = file___0;
  data.line = line___0;
  tmp = tr2_cfg_load_patterns();
  if (tmp > 0) {
    read_early_config(& tr2_cfg_cb, (void *)(& data));
  }
  return;
}
}
void tr2_list_env_vars_fl(char const   *file___0 , int line___0 )
{
  struct strbuf **s___1 ;
  int tmp ;
  struct strbuf *buf___19 ;
  char const   *val ;
  char *tmp___0 ;

  {
  tmp = tr2_load_env_vars();
  if (tmp <= 0) {
    return;
  }
  s___1 = tr2_cfg_env_vars;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *s___1) {
      goto while_break;
    }
    buf___19 = *s___1;
    tmp___0 = getenv((char const   *)buf___19->buf);
    val = (char const   *)tmp___0;
    if (val) {
      if (*val) {
        trace2_def_param_fl(file___0, line___0, (char const   *)buf___19->buf, val);
      }
    }
    s___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void tr2_cfg_set_fl(char const   *file___0 , int line___0 , char const   *key___1 ,
                    char const   *value )
{
  struct tr2_cfg_data data ;
  int tmp ;

  {
  data.file = file___0;
  data.line = line___0;
  tmp = tr2_cfg_load_patterns();
  if (tmp > 0) {
    tr2_cfg_cb(key___1, value, (void *)(& data));
  }
  return;
}
}
static struct strbuf tr2cmdname_hierarchy  =    {0UL, 0UL, strbuf_slopbuf};
void tr2_cmd_name_append_hierarchy(char const   *name___0 )
{
  char const   *parent_name ;
  char *tmp ;

  {
  tmp = getenv((char const   *)"GIT_TRACE2_PARENT_NAME");
  parent_name = (char const   *)tmp;
  strbuf_setlen___33(& tr2cmdname_hierarchy, (size_t )0);
  if (parent_name) {
    if (*parent_name) {
      strbuf_addstr(& tr2cmdname_hierarchy, parent_name);
      strbuf_addch(& tr2cmdname_hierarchy, '/');
    }
  }
  strbuf_addstr(& tr2cmdname_hierarchy, name___0);
  setenv((char const   *)"GIT_TRACE2_PARENT_NAME", (char const   *)tr2cmdname_hierarchy.buf,
         1);
  return;
}
}
char const   *tr2_cmd_name_get_hierarchy(void)
{


  {
  return ((char const   *)tr2cmdname_hierarchy.buf);
}
}
void tr2_cmd_name_release(void)
{


  {
  strbuf_release(& tr2cmdname_hierarchy);
  return;
}
}
static int tr2env_max_files  =    0;
static int tr2_dst_want_warning(void) ;
static int tr2env_dst_debug  =    -1;
static int tr2_dst_want_warning(void)
{
  char const   *env_value ;
  char const   *tmp ;
  int tmp___0 ;

  {
  if (tr2env_dst_debug == -1) {
    tmp = tr2_sysenv_get((enum tr2_sysenv_variable )2);
    env_value = tmp;
    if (! env_value) {
      tr2env_dst_debug = 0;
    } else
    if (! *env_value) {
      tr2env_dst_debug = 0;
    } else {
      tmp___0 = atoi(env_value);
      tr2env_dst_debug = tmp___0 > 0;
    }
  }
  return (tr2env_dst_debug);
}
}
void tr2_dst_trace_disable(struct tr2_dst *dst )
{


  {
  if (dst->need_close) {
    close(dst->fd);
  }
  dst->fd = 0;
  dst->initialized = 1U;
  dst->need_close = 0U;
  return;
}
}
static int tr2_dst_too_many_files(struct tr2_dst *dst , char const   *tgt_prefix )
{
  int file_count ;
  int max_files ;
  int ret___67 ;
  char const   *max_files_var ;
  DIR *dirp ;
  struct strbuf path___6 ;
  struct strbuf sentinel_path ;
  struct stat statbuf ;
  int tmp ;
  int tmp___0 ;
  struct dirent *tmp___1 ;

  {
  file_count = 0;
  max_files = 0;
  ret___67 = 0;
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  sentinel_path.alloc = 0UL;
  sentinel_path.len = 0UL;
  sentinel_path.buf = strbuf_slopbuf;
  max_files_var = tr2_sysenv_get((enum tr2_sysenv_variable )10);
  if (max_files_var) {
    if (*max_files_var) {
      max_files = atoi(max_files_var);
      if (max_files >= 0) {
        tr2env_max_files = max_files;
      }
    }
  }
  if (! tr2env_max_files) {
    ret___67 = 0;
    goto cleanup;
  }
  strbuf_addstr(& path___6, tgt_prefix);
  tmp = git_is_dir_sep((int )*(path___6.buf + (path___6.len - 1UL)));
  if (! tmp) {
    strbuf_addch(& path___6, '/');
  }
  strbuf_addbuf(& sentinel_path, (struct strbuf  const  *)(& path___6));
  strbuf_addstr(& sentinel_path, (char const   *)"git-trace2-discard");
  tmp___0 = stat((char const   *)sentinel_path.buf, & statbuf);
  if (! tmp___0) {
    ret___67 = 1;
    goto cleanup;
  }
  dirp = opendir((char const   *)path___6.buf);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (file_count < tr2env_max_files) {
      if (dirp) {
        tmp___1 = readdir(dirp);
        if (! tmp___1) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    file_count ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (dirp) {
    closedir(dirp);
  }
  if (file_count >= tr2env_max_files) {
    dst->too_many_files = 1U;
    dst->fd = open((char const   *)sentinel_path.buf, 193, 0666);
    ret___67 = -1;
    goto cleanup;
  }
  cleanup:
  strbuf_release(& path___6);
  strbuf_release(& sentinel_path);
  return (ret___67);
}
}
static int tr2_dst_try_auto_path(struct tr2_dst *dst , char const   *tgt_prefix )
{
  int too_many_files ;
  char const   *last_slash ;
  char const   *sid ;
  char const   *tmp ;
  struct strbuf path___6 ;
  size_t base_path_len ;
  unsigned int attempt_count ;
  char *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  int *tmp___4 ;
  char *tmp___5 ;
  char const   *tmp___6 ;
  int tmp___7 ;

  {
  tmp = tr2_sid_get();
  sid = tmp;
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  tmp___0 = strrchr(sid, '/');
  last_slash = (char const   *)tmp___0;
  if (last_slash) {
    sid = last_slash + 1;
  }
  strbuf_addstr(& path___6, tgt_prefix);
  tmp___1 = git_is_dir_sep((int )*(path___6.buf + (path___6.len - 1UL)));
  if (! tmp___1) {
    strbuf_addch(& path___6, '/');
  }
  strbuf_addstr(& path___6, sid);
  base_path_len = path___6.len;
  too_many_files = tr2_dst_too_many_files(dst, tgt_prefix);
  if (! too_many_files) {
    attempt_count = 0U;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (attempt_count < 10U)) {
        goto while_break;
      }
      if (attempt_count > 0U) {
        strbuf_setlen___33(& path___6, base_path_len);
        strbuf_addf(& path___6, (char const   *)".%d", attempt_count);
      }
      dst->fd = open((char const   *)path___6.buf, 193, 0666);
      if (dst->fd != -1) {
        goto while_break;
      }
      attempt_count ++;
    }
    while_break: /* CIL Label */ ;
    }
  } else
  if (too_many_files == 1) {
    strbuf_release(& path___6);
    tmp___3 = tr2_dst_want_warning();
    if (tmp___3) {
      tmp___2 = tr2_sysenv_display_name(dst->sysenv_var);
      warning((char const   *)"trace2: not opening %s trace file due to too many files in target directory %s",
              tmp___2, tgt_prefix);
    }
    return (0);
  }
  if (dst->fd == -1) {
    tmp___7 = tr2_dst_want_warning();
    if (tmp___7) {
      tmp___4 = __errno_location();
      tmp___5 = strerror(*tmp___4);
      tmp___6 = tr2_sysenv_display_name(dst->sysenv_var);
      warning((char const   *)"trace2: could not open \'%.*s\' for \'%s\' tracing: %s",
              (int )base_path_len, path___6.buf, tmp___6, tmp___5);
    }
    tr2_dst_trace_disable(dst);
    strbuf_release(& path___6);
    return (0);
  }
  strbuf_release(& path___6);
  dst->need_close = 1U;
  dst->initialized = 1U;
  return (dst->fd);
}
}
static int tr2_dst_try_path(struct tr2_dst *dst , char const   *tgt_value )
{
  int fd ;
  int tmp ;
  int *tmp___0 ;
  char *tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;

  {
  tmp = open(tgt_value, 1089, 0666);
  fd = tmp;
  if (fd == -1) {
    tmp___3 = tr2_dst_want_warning();
    if (tmp___3) {
      tmp___0 = __errno_location();
      tmp___1 = strerror(*tmp___0);
      tmp___2 = tr2_sysenv_display_name(dst->sysenv_var);
      warning((char const   *)"trace2: could not open \'%s\' for \'%s\' tracing: %s",
              tgt_value, tmp___2, tmp___1);
    }
    tr2_dst_trace_disable(dst);
    return (0);
  }
  dst->fd = fd;
  dst->need_close = 1U;
  dst->initialized = 1U;
  return (dst->fd);
}
}
static int tr2_dst_try_uds_connect(char const   *path___6 , int sock_type , int *out_fd )
{
  int fd ;
  struct sockaddr_un sa ;
  int saved_errno ;
  int *tmp ;
  int *tmp___0 ;
  int tmp___1 ;

  {
  fd = socket(1, sock_type, 0);
  if (fd == -1) {
    return (-1);
  }
  sa.sun_family = (sa_family_t )1;
  gitstrlcpy(sa.sun_path, path___6, sizeof(sa.sun_path));
  tmp___1 = connect(fd, (struct sockaddr  const  * __restrict  )((struct sockaddr *)(& sa)),
                    (socklen_t )sizeof(sa));
  if (tmp___1 == -1) {
    tmp = __errno_location();
    saved_errno = *tmp;
    close(fd);
    tmp___0 = __errno_location();
    *tmp___0 = saved_errno;
    return (-1);
  }
  *out_fd = fd;
  return (0);
}
}
static int tr2_dst_try_unix_domain_socket(struct tr2_dst *dst , char const   *tgt_value )
{
  unsigned int uds_try ;
  int fd ;
  char const   *path___6 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  size_t tmp___7 ;
  int tmp___8 ;
  int *tmp___9 ;
  int tmp___10 ;
  int *tmp___11 ;
  char *tmp___12 ;
  char const   *tmp___13 ;
  int tmp___14 ;

  {
  uds_try = 0U;
  path___6 = (char const   *)((void *)0);
  tmp___1 = skip_prefix(tgt_value, (char const   *)"af_unix:stream:", & path___6);
  if (tmp___1) {
    uds_try |= 1U;
  } else {
    tmp___0 = skip_prefix(tgt_value, (char const   *)"af_unix:dgram:", & path___6);
    if (tmp___0) {
      uds_try |= (unsigned int )(1 << 1);
    } else {
      tmp = skip_prefix(tgt_value, (char const   *)"af_unix:", & path___6);
      if (tmp) {
        uds_try |= (unsigned int )(1 | (1 << 1));
      }
    }
  }
  if (! path___6) {
    goto _L;
  } else
  if (! *path___6) {
    _L: /* CIL Label */
    tmp___3 = tr2_dst_want_warning();
    if (tmp___3) {
      tmp___2 = tr2_sysenv_display_name(dst->sysenv_var);
      warning((char const   *)"trace2: invalid AF_UNIX value \'%s\' for \'%s\' tracing",
              tgt_value, tmp___2);
    }
    tr2_dst_trace_disable(dst);
    return (0);
  }
  tmp___6 = is_absolute_path(path___6);
  if (tmp___6) {
    tmp___7 = strlen(path___6);
    if (tmp___7 >= sizeof(((struct sockaddr_un *)0)->sun_path)) {
      _L___0: /* CIL Label */
      tmp___5 = tr2_dst_want_warning();
      if (tmp___5) {
        tmp___4 = tr2_sysenv_display_name(dst->sysenv_var);
        warning((char const   *)"trace2: invalid AF_UNIX path \'%s\' for \'%s\' tracing",
                path___6, tmp___4);
      }
      tr2_dst_trace_disable(dst);
      return (0);
    }
  } else {
    goto _L___0;
  }
  if (uds_try & 1U) {
    tmp___8 = tr2_dst_try_uds_connect(path___6, 1, & fd);
    if (! tmp___8) {
      goto connected;
    }
    tmp___9 = __errno_location();
    if (*tmp___9 != 91) {
      goto error;
    }
  }
  if (uds_try & (unsigned int )(1 << 1)) {
    tmp___10 = tr2_dst_try_uds_connect(path___6, 2, & fd);
    if (! tmp___10) {
      goto connected;
    }
  }
  error:
  tmp___14 = tr2_dst_want_warning();
  if (tmp___14) {
    tmp___11 = __errno_location();
    tmp___12 = strerror(*tmp___11);
    tmp___13 = tr2_sysenv_display_name(dst->sysenv_var);
    warning((char const   *)"trace2: could not connect to socket \'%s\' for \'%s\' tracing: %s",
            path___6, tmp___13, tmp___12);
  }
  tr2_dst_trace_disable(dst);
  return (0);
  connected:
  dst->fd = fd;
  dst->need_close = 1U;
  dst->initialized = 1U;
  return (dst->fd);
}
}
static void tr2_dst_malformed_warning(struct tr2_dst *dst , char const   *tgt_value )
{
  char const   *tmp ;

  {
  tmp = tr2_sysenv_display_name(dst->sysenv_var);
  warning((char const   *)"trace2: unknown value for \'%s\': \'%s\'", tmp, tgt_value);
  return;
}
}
int tr2_dst_get_trace_fd(struct tr2_dst *dst )
{
  char const   *tgt_value ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  size_t tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  if (dst->initialized) {
    return (dst->fd);
  }
  dst->initialized = 1U;
  tgt_value = tr2_sysenv_get(dst->sysenv_var);
  if (! tgt_value) {
    dst->fd = 0;
    return (dst->fd);
  } else {
    tmp = strcmp(tgt_value, (char const   *)"");
    if (tmp) {
      tmp___0 = strcmp(tgt_value, (char const   *)"0");
      if (tmp___0) {
        tmp___1 = strcasecmp(tgt_value, (char const   *)"false");
        if (! tmp___1) {
          dst->fd = 0;
          return (dst->fd);
        }
      } else {
        dst->fd = 0;
        return (dst->fd);
      }
    } else {
      dst->fd = 0;
      return (dst->fd);
    }
  }
  tmp___2 = strcmp(tgt_value, (char const   *)"1");
  if (tmp___2) {
    tmp___3 = strcasecmp(tgt_value, (char const   *)"true");
    if (! tmp___3) {
      dst->fd = 2;
      return (dst->fd);
    }
  } else {
    dst->fd = 2;
    return (dst->fd);
  }
  tmp___4 = strlen(tgt_value);
  if (tmp___4 == 1UL) {
    if (((int const   )sane_ctype[(unsigned char )*tgt_value] & 2) != 0) {
      dst->fd = atoi(tgt_value);
      return (dst->fd);
    }
  }
  tmp___8 = is_absolute_path(tgt_value);
  if (tmp___8) {
    tmp___7 = is_directory(tgt_value);
    if (tmp___7) {
      tmp___5 = tr2_dst_try_auto_path(dst, tgt_value);
      return (tmp___5);
    } else {
      tmp___6 = tr2_dst_try_path(dst, tgt_value);
      return (tmp___6);
    }
  }
  tmp___10 = starts_with(tgt_value, (char const   *)"af_unix:");
  if (tmp___10) {
    tmp___9 = tr2_dst_try_unix_domain_socket(dst, tgt_value);
    return (tmp___9);
  }
  tr2_dst_malformed_warning(dst, tgt_value);
  tr2_dst_trace_disable(dst);
  return (0);
}
}
int tr2_dst_trace_want(struct tr2_dst *dst )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = tr2_dst_get_trace_fd(dst);
  if (tmp) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
void tr2_dst_write_line(struct tr2_dst *dst , struct strbuf *buf_line )
{
  int fd ;
  int tmp ;
  ssize_t bytes ;
  int *tmp___0 ;
  char *tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;

  {
  tmp = tr2_dst_get_trace_fd(dst);
  fd = tmp;
  strbuf_complete_line(buf_line);
  sigchain_push(13, (void (*)(int  ))1);
  bytes = write(fd, (void const   *)buf_line->buf, buf_line->len);
  sigchain_pop(13);
  if (bytes >= 0L) {
    return;
  }
  tr2_dst_trace_disable(dst);
  tmp___3 = tr2_dst_want_warning();
  if (tmp___3) {
    tmp___0 = __errno_location();
    tmp___1 = strerror(*tmp___0);
    tmp___2 = tr2_sysenv_display_name(dst->sysenv_var);
    warning((char const   *)"unable to write trace to \'%s\': %s", tmp___2, tmp___1);
  }
  return;
}
}
void tr2_tbuf_local_time(struct tr2_tbuf *tb ) ;
void tr2_tbuf_utc_datetime_extended(struct tr2_tbuf *tb ) ;
void tr2_tbuf_utc_datetime(struct tr2_tbuf *tb ) ;
static struct strbuf tr2sid_buf  =    {0UL, 0UL, strbuf_slopbuf};
static int tr2sid_nr_git_parents  ;
static void tr2_sid_append_my_sid_component(void)
{
  struct git_hash_algo  const  *algo ;
  struct tr2_tbuf tb_now ;
  git_hash_ctx ctx___0 ;
  pid_t pid ;
  __pid_t tmp ;
  unsigned char hash___0[33] ;
  char hex___3[65] ;
  char hostname[65] ;
  size_t tmp___0 ;
  int tmp___1 ;

  {
  algo = & hash_algos[1];
  tmp = getpid();
  pid = tmp;
  tr2_tbuf_utc_datetime(& tb_now);
  strbuf_addstr(& tr2sid_buf, (char const   *)(tb_now.buf));
  strbuf_addch(& tr2sid_buf, '-');
  tmp___1 = xgethostname(hostname, sizeof(hostname));
  if (tmp___1) {
    strbuf_add(& tr2sid_buf, (void const   *)"Localhost", (size_t )9);
  } else {
    (*(algo->init_fn))(& ctx___0);
    tmp___0 = strlen((char const   *)(hostname));
    (*(algo->update_fn))(& ctx___0, (void const   *)(hostname), tmp___0);
    (*(algo->final_fn))(hash___0, & ctx___0);
    hash_to_hex_algop_r(hex___3, (unsigned char const   *)(hash___0), algo);
    strbuf_addch(& tr2sid_buf, 'H');
    strbuf_add(& tr2sid_buf, (void const   *)(hex___3), (size_t )8);
  }
  strbuf_addf(& tr2sid_buf, (char const   *)"-P%08x", (uint32_t )pid);
  return;
}
}
static void tr2_sid_compute(void)
{
  char const   *parent_sid ;
  char *tmp ;
  char const   *p___0 ;

  {
  if (tr2sid_buf.len) {
    return;
  }
  tmp = getenv((char const   *)"GIT_TRACE2_PARENT_SID");
  parent_sid = (char const   *)tmp;
  if (parent_sid) {
    if (*parent_sid) {
      p___0 = parent_sid;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! *p___0) {
          goto while_break;
        }
        if ((int const   )*p___0 == 47) {
          tr2sid_nr_git_parents ++;
        }
        p___0 ++;
      }
      while_break: /* CIL Label */ ;
      }
      strbuf_addstr(& tr2sid_buf, parent_sid);
      strbuf_addch(& tr2sid_buf, '/');
      tr2sid_nr_git_parents ++;
    }
  }
  tr2_sid_append_my_sid_component();
  setenv((char const   *)"GIT_TRACE2_PARENT_SID", (char const   *)tr2sid_buf.buf,
         1);
  return;
}
}
char const   *tr2_sid_get(void)
{


  {
  if (! tr2sid_buf.len) {
    tr2_sid_compute();
  }
  return ((char const   *)tr2sid_buf.buf);
}
}
int tr2_sid_depth(void)
{


  {
  if (! tr2sid_buf.len) {
    tr2_sid_compute();
  }
  return (tr2sid_nr_git_parents);
}
}
void tr2_sid_release(void)
{


  {
  strbuf_release(& tr2sid_buf);
  return;
}
}
static struct tr2_sysenv_entry tr2_sysenv_settings[11]  =
  {      {(char const   *)"GIT_TRACE2_CONFIG_PARAMS", (char const   *)"trace2.configparams",
      (char *)0, 0U},
        {(char const   *)"GIT_TRACE2_ENV_VARS", (char const   *)"trace2.envvars", (char *)0,
      0U},
        {(char const   *)"GIT_TRACE2_DST_DEBUG", (char const   *)"trace2.destinationdebug",
      (char *)0, 0U},
        {(char const   *)"GIT_TRACE2", (char const   *)"trace2.normaltarget", (char *)0,
      0U},
        {(char const   *)"GIT_TRACE2_BRIEF", (char const   *)"trace2.normalbrief", (char *)0,
      0U},
        {(char const   *)"GIT_TRACE2_EVENT", (char const   *)"trace2.eventtarget", (char *)0,
      0U},
        {(char const   *)"GIT_TRACE2_EVENT_BRIEF", (char const   *)"trace2.eventbrief",
      (char *)0, 0U},
        {(char const   *)"GIT_TRACE2_EVENT_NESTING", (char const   *)"trace2.eventnesting",
      (char *)0, 0U},
        {(char const   *)"GIT_TRACE2_PERF", (char const   *)"trace2.perftarget", (char *)0,
      0U},
        {(char const   *)"GIT_TRACE2_PERF_BRIEF", (char const   *)"trace2.perfbrief",
      (char *)0, 0U},
        {(char const   *)"GIT_TRACE2_MAX_FILES", (char const   *)"trace2.maxfiles", (char *)0,
      0U}};
static int tr2_sysenv_cb(char const   *key___1 , char const   *value , void *d )
{
  int k ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = starts_with(key___1, (char const   *)"trace2.");
  if (! tmp) {
    return (0);
  }
  k = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )k < sizeof(tr2_sysenv_settings) / sizeof(tr2_sysenv_settings[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp___0 = strcmp(key___1, tr2_sysenv_settings[k].git_config_name);
    if (! tmp___0) {
      free((void *)tr2_sysenv_settings[k].value);
      tr2_sysenv_settings[k].value = xstrdup(value);
      return (0);
    }
    k ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
void tr2_sysenv_load(void)
{


  {
  if (sizeof(tr2_sysenv_settings) / sizeof(tr2_sysenv_settings[0]) + (sizeof(char [1]) - 1UL) != 11UL) {
    BUG_fl((char const   *)"trace2/tr2_sysenv.c", 88, (char const   *)"tr2_sysenv_settings size is wrong");
  }
  read_very_early_config(& tr2_sysenv_cb, (void *)0);
  return;
}
}
char const   *tr2_sysenv_get(enum tr2_sysenv_variable var )
{
  char const   *v ;
  char *tmp ;

  {
  if ((unsigned int )var >= 11U) {
    BUG_fl((char const   *)"trace2/tr2_sysenv.c", 100, (char const   *)"tr2_sysenv_get invalid var \'%d\'",
           (unsigned int )var);
  }
  if (! tr2_sysenv_settings[var].getenv_called) {
    tmp = getenv(tr2_sysenv_settings[var].env_var_name);
    v = (char const   *)tmp;
    if (v) {
      if (*v) {
        free((void *)tr2_sysenv_settings[var].value);
        tr2_sysenv_settings[var].value = xstrdup(v);
      }
    }
    tr2_sysenv_settings[var].getenv_called = 1U;
  }
  return ((char const   *)tr2_sysenv_settings[var].value);
}
}
char const   *tr2_sysenv_display_name(enum tr2_sysenv_variable var )
{


  {
  if ((unsigned int )var >= 11U) {
    BUG_fl((char const   *)"trace2/tr2_sysenv.c", 121, (char const   *)"tr2_sysenv_get invalid var \'%d\'",
           (unsigned int )var);
  }
  return (tr2_sysenv_settings[var].env_var_name);
}
}
void tr2_sysenv_release(void)
{
  int k ;

  {
  k = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )k < sizeof(tr2_sysenv_settings) / sizeof(tr2_sysenv_settings[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    free((void *)tr2_sysenv_settings[k].value);
    k ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void tr2_tbuf_local_time(struct tr2_tbuf *tb )
{
  struct timeval tv ;
  struct tm tm ;
  time_t secs ;

  {
  gettimeofday((struct timeval * __restrict  )(& tv), (__timezone_ptr_t )((void *)0));
  secs = tv.tv_sec;
  localtime_r((time_t const   * __restrict  )(& secs), (struct tm * __restrict  )(& tm));
  xsnprintf(tb->buf, sizeof(tb->buf), (char const   *)"%02d:%02d:%02d.%06ld", tm.tm_hour,
            tm.tm_min, tm.tm_sec, tv.tv_usec);
  return;
}
}
void tr2_tbuf_utc_datetime_extended(struct tr2_tbuf *tb )
{
  struct timeval tv ;
  struct tm tm ;
  time_t secs ;

  {
  gettimeofday((struct timeval * __restrict  )(& tv), (__timezone_ptr_t )((void *)0));
  secs = tv.tv_sec;
  gmtime_r((time_t const   * __restrict  )(& secs), (struct tm * __restrict  )(& tm));
  xsnprintf(tb->buf, sizeof(tb->buf), (char const   *)"%4d-%02d-%02dT%02d:%02d:%02d.%06ldZ",
            tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec,
            tv.tv_usec);
  return;
}
}
void tr2_tbuf_utc_datetime(struct tr2_tbuf *tb )
{
  struct timeval tv ;
  struct tm tm ;
  time_t secs ;

  {
  gettimeofday((struct timeval * __restrict  )(& tv), (__timezone_ptr_t )((void *)0));
  secs = tv.tv_sec;
  gmtime_r((time_t const   * __restrict  )(& secs), (struct tm * __restrict  )(& tm));
  xsnprintf(tb->buf, sizeof(tb->buf), (char const   *)"%4d%02d%02dT%02d%02d%02d.%06ldZ",
            tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec,
            tv.tv_usec);
  return;
}
}
static struct tr2_dst tr2dst_event  =    {(enum tr2_sysenv_variable )5, 0, 0U, 0U, 0U};
static int tr2env_event_max_nesting_levels  =    2;
static int tr2env_event_be_brief  ;
static int fn_init(void)
{
  int want ;
  int tmp ;
  int max_nesting ;
  int want_brief ;
  char const   *nesting ;
  char const   *brief ;

  {
  tmp = tr2_dst_trace_want(& tr2dst_event);
  want = tmp;
  if (! want) {
    return (want);
  }
  nesting = tr2_sysenv_get((enum tr2_sysenv_variable )7);
  if (nesting) {
    if (*nesting) {
      max_nesting = atoi(nesting);
      if (max_nesting > 0) {
        tr2env_event_max_nesting_levels = max_nesting;
      }
    }
  }
  brief = tr2_sysenv_get((enum tr2_sysenv_variable )6);
  if (brief) {
    if (*brief) {
      want_brief = git_parse_maybe_bool(brief);
      if (want_brief != -1) {
        tr2env_event_be_brief = want_brief;
      }
    }
  }
  return (want);
}
}
static void fn_term(void)
{


  {
  tr2_dst_trace_disable(& tr2dst_event);
  return;
}
}
static void event_fmt_prepare(char const   *event_name , char const   *file___0 ,
                              int line___0 , struct repository  const  *repo , struct json_writer *jw )
{
  struct tr2tls_thread_ctx *ctx___0 ;
  struct tr2tls_thread_ctx *tmp ;
  struct tr2_tbuf tb_now ;
  char const   *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = tr2tls_get_self();
  ctx___0 = tmp;
  jw_object_string(jw, (char const   *)"event", event_name);
  tmp___0 = tr2_sid_get();
  jw_object_string(jw, (char const   *)"sid", tmp___0);
  jw_object_string(jw, (char const   *)"thread", (char const   *)ctx___0->thread_name.buf);
  if (! tr2env_event_be_brief) {
    tr2_tbuf_utc_datetime_extended(& tb_now);
    jw_object_string(jw, (char const   *)"time", (char const   *)(tb_now.buf));
  } else {
    tmp___1 = strcmp(event_name, (char const   *)"version");
    if (tmp___1) {
      tmp___2 = strcmp(event_name, (char const   *)"atexit");
      if (! tmp___2) {
        tr2_tbuf_utc_datetime_extended(& tb_now);
        jw_object_string(jw, (char const   *)"time", (char const   *)(tb_now.buf));
      }
    } else {
      tr2_tbuf_utc_datetime_extended(& tb_now);
      jw_object_string(jw, (char const   *)"time", (char const   *)(tb_now.buf));
    }
  }
  if (! tr2env_event_be_brief) {
    if (file___0) {
      if (*file___0) {
        jw_object_string(jw, (char const   *)"file", file___0);
        jw_object_intmax(jw, (char const   *)"line", (intmax_t )line___0);
      }
    }
  }
  if (repo) {
    jw_object_intmax(jw, (char const   *)"repo", (intmax_t )repo->trace2_repo_id);
  }
  return;
}
}
static void fn_too_many_files_fl(char const   *file___0 , int line___0 )
{
  char const   *event_name ;
  struct json_writer jw ;

  {
  event_name = (char const   *)"too_many_files";
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, file___0, line___0, (struct repository  const  *)((void *)0),
                    & jw);
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  return;
}
}
static void fn_version_fl(char const   *file___0 , int line___0 )
{
  char const   *event_name ;
  struct json_writer jw ;

  {
  event_name = (char const   *)"version";
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, file___0, line___0, (struct repository  const  *)((void *)0),
                    & jw);
  jw_object_string(& jw, (char const   *)"evt", (char const   *)"3");
  jw_object_string(& jw, (char const   *)"exe", git_version_string);
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  if (tr2dst_event.too_many_files) {
    fn_too_many_files_fl(file___0, line___0);
  }
  return;
}
}
static void fn_start_fl(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                        char const   **argv___0 )
{
  char const   *event_name ;
  struct json_writer jw ;
  double t_abs ;

  {
  event_name = (char const   *)"start";
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  t_abs = (double )us_elapsed_absolute / 1000000.0;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, file___0, line___0, (struct repository  const  *)((void *)0),
                    & jw);
  jw_object_double(& jw, (char const   *)"t_abs", 6, t_abs);
  jw_object_inline_begin_array(& jw, (char const   *)"argv");
  jw_array_argv(& jw, argv___0);
  jw_end(& jw);
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  return;
}
}
static void fn_exit_fl(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                       int code )
{
  char const   *event_name ;
  struct json_writer jw ;
  double t_abs ;

  {
  event_name = (char const   *)"exit";
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  t_abs = (double )us_elapsed_absolute / 1000000.0;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, file___0, line___0, (struct repository  const  *)((void *)0),
                    & jw);
  jw_object_double(& jw, (char const   *)"t_abs", 6, t_abs);
  jw_object_intmax(& jw, (char const   *)"code", (intmax_t )code);
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  return;
}
}
static void fn_signal(uint64_t us_elapsed_absolute , int signo )
{
  char const   *event_name ;
  struct json_writer jw ;
  double t_abs ;

  {
  event_name = (char const   *)"signal";
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  t_abs = (double )us_elapsed_absolute / 1000000.0;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, (char const   *)"trace2/tr2_tgt_event.c", 185, (struct repository  const  *)((void *)0),
                    & jw);
  jw_object_double(& jw, (char const   *)"t_abs", 6, t_abs);
  jw_object_intmax(& jw, (char const   *)"signo", (intmax_t )signo);
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  return;
}
}
static void fn_atexit(uint64_t us_elapsed_absolute , int code )
{
  char const   *event_name ;
  struct json_writer jw ;
  double t_abs ;

  {
  event_name = (char const   *)"atexit";
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  t_abs = (double )us_elapsed_absolute / 1000000.0;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, (char const   *)"trace2/tr2_tgt_event.c", 201, (struct repository  const  *)((void *)0),
                    & jw);
  jw_object_double(& jw, (char const   *)"t_abs", 6, t_abs);
  jw_object_intmax(& jw, (char const   *)"code", (intmax_t )code);
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  return;
}
}
static void maybe_add_string_va(struct json_writer *jw , char const   *field_name ,
                                char const   *fmt , va_list ap )
{
  va_list copy_ap ;
  struct strbuf buf___19 ;

  {
  if (fmt) {
    if (*fmt) {
      buf___19.alloc = 0UL;
      buf___19.len = 0UL;
      buf___19.buf = strbuf_slopbuf;
      __builtin_va_copy(copy_ap, ap);
      strbuf_vaddf(& buf___19, fmt, copy_ap);
      __builtin_va_end(copy_ap);
      jw_object_string(jw, field_name, (char const   *)buf___19.buf);
      strbuf_release(& buf___19);
      return;
    }
  }
  return;
}
}
static void fn_error_va_fl(char const   *file___0 , int line___0 , char const   *fmt ,
                           va_list ap )
{
  char const   *event_name ;
  struct json_writer jw ;

  {
  event_name = (char const   *)"error";
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, file___0, line___0, (struct repository  const  *)((void *)0),
                    & jw);
  maybe_add_string_va(& jw, (char const   *)"msg", fmt, ap);
  if (fmt) {
    if (*fmt) {
      jw_object_string(& jw, (char const   *)"fmt", fmt);
    }
  }
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  return;
}
}
static void fn_command_path_fl(char const   *file___0 , int line___0 , char const   *pathname )
{
  char const   *event_name ;
  struct json_writer jw ;

  {
  event_name = (char const   *)"cmd_path";
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, file___0, line___0, (struct repository  const  *)((void *)0),
                    & jw);
  jw_object_string(& jw, (char const   *)"path", pathname);
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  return;
}
}
static void fn_command_ancestry_fl(char const   *file___0 , int line___0 , char const   **parent_names )
{
  char const   *event_name ;
  char const   *parent_name ;
  struct json_writer jw ;
  char const   **tmp ;

  {
  event_name = (char const   *)"cmd_ancestry";
  parent_name = (char const   *)((void *)0);
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, file___0, line___0, (struct repository  const  *)((void *)0),
                    & jw);
  jw_object_inline_begin_array(& jw, (char const   *)"ancestry");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = parent_names;
    parent_names ++;
    parent_name = *tmp;
    if (! parent_name) {
      goto while_break;
    }
    jw_array_string(& jw, parent_name);
  }
  while_break: /* CIL Label */ ;
  }
  jw_end(& jw);
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  return;
}
}
static void fn_command_name_fl(char const   *file___0 , int line___0 , char const   *name___0 ,
                               char const   *hierarchy )
{
  char const   *event_name ;
  struct json_writer jw ;

  {
  event_name = (char const   *)"cmd_name";
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, file___0, line___0, (struct repository  const  *)((void *)0),
                    & jw);
  jw_object_string(& jw, (char const   *)"name", name___0);
  if (hierarchy) {
    if (*hierarchy) {
      jw_object_string(& jw, (char const   *)"hierarchy", hierarchy);
    }
  }
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  return;
}
}
static void fn_command_mode_fl(char const   *file___0 , int line___0 , char const   *mode___1 )
{
  char const   *event_name ;
  struct json_writer jw ;

  {
  event_name = (char const   *)"cmd_mode";
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, file___0, line___0, (struct repository  const  *)((void *)0),
                    & jw);
  jw_object_string(& jw, (char const   *)"name", mode___1);
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  return;
}
}
static void fn_alias_fl(char const   *file___0 , int line___0 , char const   *alias ,
                        char const   **argv___0 )
{
  char const   *event_name ;
  struct json_writer jw ;

  {
  event_name = (char const   *)"alias";
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, file___0, line___0, (struct repository  const  *)((void *)0),
                    & jw);
  jw_object_string(& jw, (char const   *)"alias", alias);
  jw_object_inline_begin_array(& jw, (char const   *)"argv");
  jw_array_argv(& jw, argv___0);
  jw_end(& jw);
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  return;
}
}
static void fn_child_start_fl(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                              struct child_process  const  *cmd )
{
  char const   *event_name ;
  struct json_writer jw ;
  char const   *child_class ;
  char const   *tmp ;

  {
  event_name = (char const   *)"child_start";
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, file___0, line___0, (struct repository  const  *)((void *)0),
                    & jw);
  jw_object_intmax(& jw, (char const   *)"child_id", (intmax_t )cmd->trace2_child_id);
  if (cmd->trace2_hook_name) {
    jw_object_string(& jw, (char const   *)"child_class", (char const   *)"hook");
    jw_object_string(& jw, (char const   *)"hook_name", (char const   *)cmd->trace2_hook_name);
  } else {
    if (cmd->trace2_child_class) {
      tmp = (char const   *)cmd->trace2_child_class;
    } else {
      tmp = (char const   *)"?";
    }
    child_class = tmp;
    jw_object_string(& jw, (char const   *)"child_class", child_class);
  }
  if (cmd->dir) {
    jw_object_string(& jw, (char const   *)"cd", (char const   *)cmd->dir);
  }
  jw_object_bool(& jw, (char const   *)"use_shell", (int )cmd->use_shell);
  jw_object_inline_begin_array(& jw, (char const   *)"argv");
  if (cmd->git_cmd) {
    jw_array_string(& jw, (char const   *)"git");
  }
  jw_array_argv(& jw, (char const   **)cmd->args.v);
  jw_end(& jw);
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  return;
}
}
static void fn_child_exit_fl(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                             int cid , int pid , int code , uint64_t us_elapsed_child )
{
  char const   *event_name ;
  struct json_writer jw ;
  double t_rel ;

  {
  event_name = (char const   *)"child_exit";
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  t_rel = (double )us_elapsed_child / 1000000.0;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, file___0, line___0, (struct repository  const  *)((void *)0),
                    & jw);
  jw_object_intmax(& jw, (char const   *)"child_id", (intmax_t )cid);
  jw_object_intmax(& jw, (char const   *)"pid", (intmax_t )pid);
  jw_object_intmax(& jw, (char const   *)"code", (intmax_t )code);
  jw_object_double(& jw, (char const   *)"t_rel", 6, t_rel);
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  return;
}
}
static void fn_child_ready_fl(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                              int cid , int pid , char const   *ready , uint64_t us_elapsed_child )
{
  char const   *event_name ;
  struct json_writer jw ;
  double t_rel ;

  {
  event_name = (char const   *)"child_ready";
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  t_rel = (double )us_elapsed_child / 1000000.0;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, file___0, line___0, (struct repository  const  *)((void *)0),
                    & jw);
  jw_object_intmax(& jw, (char const   *)"child_id", (intmax_t )cid);
  jw_object_intmax(& jw, (char const   *)"pid", (intmax_t )pid);
  jw_object_string(& jw, (char const   *)"ready", ready);
  jw_object_double(& jw, (char const   *)"t_rel", 6, t_rel);
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  return;
}
}
static void fn_thread_start_fl(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute )
{
  char const   *event_name ;
  struct json_writer jw ;

  {
  event_name = (char const   *)"thread_start";
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, file___0, line___0, (struct repository  const  *)((void *)0),
                    & jw);
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  return;
}
}
static void fn_thread_exit_fl(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                              uint64_t us_elapsed_thread )
{
  char const   *event_name ;
  struct json_writer jw ;
  double t_rel ;

  {
  event_name = (char const   *)"thread_exit";
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  t_rel = (double )us_elapsed_thread / 1000000.0;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, file___0, line___0, (struct repository  const  *)((void *)0),
                    & jw);
  jw_object_double(& jw, (char const   *)"t_rel", 6, t_rel);
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  return;
}
}
static void fn_exec_fl(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                       int exec_id , char const   *exe , char const   **argv___0 )
{
  char const   *event_name ;
  struct json_writer jw ;

  {
  event_name = (char const   *)"exec";
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, file___0, line___0, (struct repository  const  *)((void *)0),
                    & jw);
  jw_object_intmax(& jw, (char const   *)"exec_id", (intmax_t )exec_id);
  if (exe) {
    jw_object_string(& jw, (char const   *)"exe", exe);
  }
  jw_object_inline_begin_array(& jw, (char const   *)"argv");
  jw_array_argv(& jw, argv___0);
  jw_end(& jw);
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  return;
}
}
static void fn_exec_result_fl(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                              int exec_id , int code )
{
  char const   *event_name ;
  struct json_writer jw ;

  {
  event_name = (char const   *)"exec_result";
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, file___0, line___0, (struct repository  const  *)((void *)0),
                    & jw);
  jw_object_intmax(& jw, (char const   *)"exec_id", (intmax_t )exec_id);
  jw_object_intmax(& jw, (char const   *)"code", (intmax_t )code);
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  return;
}
}
static void fn_param_fl(char const   *file___0 , int line___0 , char const   *param ,
                        char const   *value )
{
  char const   *event_name ;
  struct json_writer jw ;

  {
  event_name = (char const   *)"def_param";
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, file___0, line___0, (struct repository  const  *)((void *)0),
                    & jw);
  jw_object_string(& jw, (char const   *)"param", param);
  jw_object_string(& jw, (char const   *)"value", value);
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  return;
}
}
static void fn_repo_fl(char const   *file___0 , int line___0 , struct repository  const  *repo )
{
  char const   *event_name ;
  struct json_writer jw ;

  {
  event_name = (char const   *)"def_repo";
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  jw_object_begin(& jw, 0);
  event_fmt_prepare(event_name, file___0, line___0, repo, & jw);
  jw_object_string(& jw, (char const   *)"worktree", (char const   *)repo->worktree);
  jw_end(& jw);
  tr2_dst_write_line(& tr2dst_event, & jw.json);
  jw_release(& jw);
  return;
}
}
static void fn_region_enter_printf_va_fl(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                                         char const   *category , char const   *label ,
                                         struct repository  const  *repo , char const   *fmt ,
                                         va_list ap )
{
  char const   *event_name ;
  struct tr2tls_thread_ctx *ctx___0 ;
  struct tr2tls_thread_ctx *tmp ;
  struct json_writer jw ;

  {
  event_name = (char const   *)"region_enter";
  tmp = tr2tls_get_self();
  ctx___0 = tmp;
  if (ctx___0->nr_open_regions <= tr2env_event_max_nesting_levels) {
    jw.json.alloc = 0UL;
    jw.json.len = 0UL;
    jw.json.buf = strbuf_slopbuf;
    jw.open_stack.alloc = 0UL;
    jw.open_stack.len = 0UL;
    jw.open_stack.buf = strbuf_slopbuf;
    jw.need_comma = 0U;
    jw.pretty = 0U;
    jw_object_begin(& jw, 0);
    event_fmt_prepare(event_name, file___0, line___0, repo, & jw);
    jw_object_intmax(& jw, (char const   *)"nesting", (intmax_t )ctx___0->nr_open_regions);
    if (category) {
      jw_object_string(& jw, (char const   *)"category", category);
    }
    if (label) {
      jw_object_string(& jw, (char const   *)"label", label);
    }
    maybe_add_string_va(& jw, (char const   *)"msg", fmt, ap);
    jw_end(& jw);
    tr2_dst_write_line(& tr2dst_event, & jw.json);
    jw_release(& jw);
  }
  return;
}
}
static void fn_region_leave_printf_va_fl(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                                         uint64_t us_elapsed_region , char const   *category ,
                                         char const   *label , struct repository  const  *repo ,
                                         char const   *fmt , va_list ap )
{
  char const   *event_name ;
  struct tr2tls_thread_ctx *ctx___0 ;
  struct tr2tls_thread_ctx *tmp ;
  struct json_writer jw ;
  double t_rel ;

  {
  event_name = (char const   *)"region_leave";
  tmp = tr2tls_get_self();
  ctx___0 = tmp;
  if (ctx___0->nr_open_regions <= tr2env_event_max_nesting_levels) {
    jw.json.alloc = 0UL;
    jw.json.len = 0UL;
    jw.json.buf = strbuf_slopbuf;
    jw.open_stack.alloc = 0UL;
    jw.open_stack.len = 0UL;
    jw.open_stack.buf = strbuf_slopbuf;
    jw.need_comma = 0U;
    jw.pretty = 0U;
    t_rel = (double )us_elapsed_region / 1000000.0;
    jw_object_begin(& jw, 0);
    event_fmt_prepare(event_name, file___0, line___0, repo, & jw);
    jw_object_double(& jw, (char const   *)"t_rel", 6, t_rel);
    jw_object_intmax(& jw, (char const   *)"nesting", (intmax_t )ctx___0->nr_open_regions);
    if (category) {
      jw_object_string(& jw, (char const   *)"category", category);
    }
    if (label) {
      jw_object_string(& jw, (char const   *)"label", label);
    }
    maybe_add_string_va(& jw, (char const   *)"msg", fmt, ap);
    jw_end(& jw);
    tr2_dst_write_line(& tr2dst_event, & jw.json);
    jw_release(& jw);
  }
  return;
}
}
static void fn_data_fl(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                       uint64_t us_elapsed_region , char const   *category , struct repository  const  *repo ,
                       char const   *key___1 , char const   *value )
{
  char const   *event_name ;
  struct tr2tls_thread_ctx *ctx___0 ;
  struct tr2tls_thread_ctx *tmp ;
  struct json_writer jw ;
  double t_abs ;
  double t_rel ;

  {
  event_name = (char const   *)"data";
  tmp = tr2tls_get_self();
  ctx___0 = tmp;
  if (ctx___0->nr_open_regions <= tr2env_event_max_nesting_levels) {
    jw.json.alloc = 0UL;
    jw.json.len = 0UL;
    jw.json.buf = strbuf_slopbuf;
    jw.open_stack.alloc = 0UL;
    jw.open_stack.len = 0UL;
    jw.open_stack.buf = strbuf_slopbuf;
    jw.need_comma = 0U;
    jw.pretty = 0U;
    t_abs = (double )us_elapsed_absolute / 1000000.0;
    t_rel = (double )us_elapsed_region / 1000000.0;
    jw_object_begin(& jw, 0);
    event_fmt_prepare(event_name, file___0, line___0, repo, & jw);
    jw_object_double(& jw, (char const   *)"t_abs", 6, t_abs);
    jw_object_double(& jw, (char const   *)"t_rel", 6, t_rel);
    jw_object_intmax(& jw, (char const   *)"nesting", (intmax_t )ctx___0->nr_open_regions);
    jw_object_string(& jw, (char const   *)"category", category);
    jw_object_string(& jw, (char const   *)"key", key___1);
    jw_object_string(& jw, (char const   *)"value", value);
    jw_end(& jw);
    tr2_dst_write_line(& tr2dst_event, & jw.json);
    jw_release(& jw);
  }
  return;
}
}
static void fn_data_json_fl(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                            uint64_t us_elapsed_region , char const   *category ,
                            struct repository  const  *repo , char const   *key___1 ,
                            struct json_writer  const  *value )
{
  char const   *event_name ;
  struct tr2tls_thread_ctx *ctx___0 ;
  struct tr2tls_thread_ctx *tmp ;
  struct json_writer jw ;
  double t_abs ;
  double t_rel ;

  {
  event_name = (char const   *)"data_json";
  tmp = tr2tls_get_self();
  ctx___0 = tmp;
  if (ctx___0->nr_open_regions <= tr2env_event_max_nesting_levels) {
    jw.json.alloc = 0UL;
    jw.json.len = 0UL;
    jw.json.buf = strbuf_slopbuf;
    jw.open_stack.alloc = 0UL;
    jw.open_stack.len = 0UL;
    jw.open_stack.buf = strbuf_slopbuf;
    jw.need_comma = 0U;
    jw.pretty = 0U;
    t_abs = (double )us_elapsed_absolute / 1000000.0;
    t_rel = (double )us_elapsed_region / 1000000.0;
    jw_object_begin(& jw, 0);
    event_fmt_prepare(event_name, file___0, line___0, repo, & jw);
    jw_object_double(& jw, (char const   *)"t_abs", 6, t_abs);
    jw_object_double(& jw, (char const   *)"t_rel", 6, t_rel);
    jw_object_intmax(& jw, (char const   *)"nesting", (intmax_t )ctx___0->nr_open_regions);
    jw_object_string(& jw, (char const   *)"category", category);
    jw_object_string(& jw, (char const   *)"key", key___1);
    jw_object_sub_jw(& jw, (char const   *)"value", value);
    jw_end(& jw);
    tr2_dst_write_line(& tr2dst_event, & jw.json);
    jw_release(& jw);
  }
  return;
}
}
struct tr2_tgt tr2_tgt_event  =
     {& tr2dst_event, & fn_init, & fn_term, & fn_version_fl, & fn_start_fl, & fn_exit_fl,
    & fn_signal, & fn_atexit, & fn_error_va_fl, & fn_command_path_fl, & fn_command_ancestry_fl,
    & fn_command_name_fl, & fn_command_mode_fl, & fn_alias_fl, & fn_child_start_fl,
    & fn_child_exit_fl, & fn_child_ready_fl, & fn_thread_start_fl, & fn_thread_exit_fl,
    & fn_exec_fl, & fn_exec_result_fl, & fn_param_fl, & fn_repo_fl, & fn_region_enter_printf_va_fl,
    & fn_region_leave_printf_va_fl, & fn_data_fl, & fn_data_json_fl, (tr2_tgt_evt_printf_va_fl_t *)((void *)0)};
static struct tr2_dst tr2dst_normal  =    {(enum tr2_sysenv_variable )3, 0, 0U, 0U, 0U};
static int tr2env_normal_be_brief  ;
static int fn_init___0(void)
{
  int want ;
  int tmp ;
  int want_brief ;
  char const   *brief ;

  {
  tmp = tr2_dst_trace_want(& tr2dst_normal);
  want = tmp;
  if (! want) {
    return (want);
  }
  brief = tr2_sysenv_get((enum tr2_sysenv_variable )4);
  if (brief) {
    if (*brief) {
      want_brief = git_parse_maybe_bool(brief);
      if (want_brief != -1) {
        tr2env_normal_be_brief = want_brief;
      }
    }
  }
  return (want);
}
}
static void fn_term___0(void)
{


  {
  tr2_dst_trace_disable(& tr2dst_normal);
  return;
}
}
static void normal_fmt_prepare(char const   *file___0 , int line___0 , struct strbuf *buf___19 )
{
  struct tr2_tbuf tb_now ;

  {
  strbuf_setlen___33(buf___19, (size_t )0);
  if (! tr2env_normal_be_brief) {
    tr2_tbuf_local_time(& tb_now);
    strbuf_addstr(buf___19, (char const   *)(tb_now.buf));
    strbuf_addch(buf___19, ' ');
    if (file___0) {
      if (*file___0) {
        strbuf_addf(buf___19, (char const   *)"%s:%d ", file___0, line___0);
      }
    }
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (buf___19->len < 50UL)) {
        goto while_break;
      }
      strbuf_addch(buf___19, ' ');
    }
    while_break: /* CIL Label */ ;
    }
  }
  return;
}
}
static void normal_io_write_fl(char const   *file___0 , int line___0 , struct strbuf  const  *buf_payload )
{
  struct strbuf buf_line ;

  {
  buf_line.alloc = 0UL;
  buf_line.len = 0UL;
  buf_line.buf = strbuf_slopbuf;
  normal_fmt_prepare(file___0, line___0, & buf_line);
  strbuf_addbuf(& buf_line, buf_payload);
  tr2_dst_write_line(& tr2dst_normal, & buf_line);
  strbuf_release(& buf_line);
  return;
}
}
static void fn_version_fl___0(char const   *file___0 , int line___0 )
{
  struct strbuf buf_payload ;

  {
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addf(& buf_payload, (char const   *)"version %s", git_version_string);
  normal_io_write_fl(file___0, line___0, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_start_fl___0(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                            char const   **argv___0 )
{
  struct strbuf buf_payload ;

  {
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addstr(& buf_payload, (char const   *)"start ");
  sq_append_quote_argv_pretty(& buf_payload, argv___0);
  normal_io_write_fl(file___0, line___0, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_exit_fl___0(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                           int code )
{
  struct strbuf buf_payload ;
  double elapsed ;

  {
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  elapsed = (double )us_elapsed_absolute / 1000000.0;
  strbuf_addf(& buf_payload, (char const   *)"exit elapsed:%.6f code:%d", elapsed,
              code);
  normal_io_write_fl(file___0, line___0, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_signal___0(uint64_t us_elapsed_absolute , int signo )
{
  struct strbuf buf_payload ;
  double elapsed ;

  {
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  elapsed = (double )us_elapsed_absolute / 1000000.0;
  strbuf_addf(& buf_payload, (char const   *)"signal elapsed:%.6f code:%d", elapsed,
              signo);
  normal_io_write_fl((char const   *)"trace2/tr2_tgt_normal.c", 113, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_atexit___0(uint64_t us_elapsed_absolute , int code )
{
  struct strbuf buf_payload ;
  double elapsed ;

  {
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  elapsed = (double )us_elapsed_absolute / 1000000.0;
  strbuf_addf(& buf_payload, (char const   *)"atexit elapsed:%.6f code:%d", elapsed,
              code);
  normal_io_write_fl((char const   *)"trace2/tr2_tgt_normal.c", 123, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void maybe_append_string_va(struct strbuf *buf___19 , char const   *fmt , va_list ap )
{
  va_list copy_ap ;

  {
  if (fmt) {
    if (*fmt) {
      __builtin_va_copy(copy_ap, ap);
      strbuf_vaddf(buf___19, fmt, copy_ap);
      __builtin_va_end(copy_ap);
      return;
    }
  }
  return;
}
}
static void fn_error_va_fl___0(char const   *file___0 , int line___0 , char const   *fmt ,
                               va_list ap )
{
  struct strbuf buf_payload ;

  {
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addstr(& buf_payload, (char const   *)"error");
  if (fmt) {
    if (*fmt) {
      strbuf_addch(& buf_payload, ' ');
      maybe_append_string_va(& buf_payload, fmt, ap);
    }
  }
  normal_io_write_fl(file___0, line___0, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_command_path_fl___0(char const   *file___0 , int line___0 , char const   *pathname )
{
  struct strbuf buf_payload ;

  {
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addf(& buf_payload, (char const   *)"cmd_path %s", pathname);
  normal_io_write_fl(file___0, line___0, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_command_ancestry_fl___0(char const   *file___0 , int line___0 , char const   **parent_names )
{
  char const   *parent_name ;
  struct strbuf buf_payload ;
  char const   **tmp ;

  {
  parent_name = (char const   *)((void *)0);
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addstr(& buf_payload, (char const   *)"cmd_ancestry ");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = parent_names;
    parent_names ++;
    parent_name = *tmp;
    if (! parent_name) {
      goto while_break;
    }
    strbuf_addstr(& buf_payload, parent_name);
    if (parent_names) {
      if (*parent_names) {
        strbuf_addstr(& buf_payload, (char const   *)" <- ");
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  normal_io_write_fl(file___0, line___0, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_command_name_fl___0(char const   *file___0 , int line___0 , char const   *name___0 ,
                                   char const   *hierarchy )
{
  struct strbuf buf_payload ;

  {
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addf(& buf_payload, (char const   *)"cmd_name %s", name___0);
  if (hierarchy) {
    if (*hierarchy) {
      strbuf_addf(& buf_payload, (char const   *)" (%s)", hierarchy);
    }
  }
  normal_io_write_fl(file___0, line___0, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_command_mode_fl___0(char const   *file___0 , int line___0 , char const   *mode___1 )
{
  struct strbuf buf_payload ;

  {
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addf(& buf_payload, (char const   *)"cmd_mode %s", mode___1);
  normal_io_write_fl(file___0, line___0, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_alias_fl___0(char const   *file___0 , int line___0 , char const   *alias ,
                            char const   **argv___0 )
{
  struct strbuf buf_payload ;

  {
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addf(& buf_payload, (char const   *)"alias %s -> ", alias);
  sq_append_quote_argv_pretty(& buf_payload, argv___0);
  normal_io_write_fl(file___0, line___0, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_child_start_fl___0(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                                  struct child_process  const  *cmd )
{
  struct strbuf buf_payload ;

  {
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addf(& buf_payload, (char const   *)"child_start[%d]", cmd->trace2_child_id);
  if (cmd->dir) {
    strbuf_addstr(& buf_payload, (char const   *)" cd ");
    sq_quote_buf_pretty(& buf_payload, (char const   *)cmd->dir);
    strbuf_addstr(& buf_payload, (char const   *)";");
  }
  strbuf_addch(& buf_payload, ' ');
  if (cmd->git_cmd) {
    strbuf_addstr(& buf_payload, (char const   *)"git ");
  }
  sq_append_quote_argv_pretty(& buf_payload, (char const   **)cmd->args.v);
  normal_io_write_fl(file___0, line___0, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_child_exit_fl___0(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                                 int cid , int pid , int code , uint64_t us_elapsed_child )
{
  struct strbuf buf_payload ;
  double elapsed ;

  {
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  elapsed = (double )us_elapsed_child / 1000000.0;
  strbuf_addf(& buf_payload, (char const   *)"child_exit[%d] pid:%d code:%d elapsed:%.6f",
              cid, pid, code, elapsed);
  normal_io_write_fl(file___0, line___0, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_child_ready_fl___0(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                                  int cid , int pid , char const   *ready , uint64_t us_elapsed_child )
{
  struct strbuf buf_payload ;
  double elapsed ;

  {
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  elapsed = (double )us_elapsed_child / 1000000.0;
  strbuf_addf(& buf_payload, (char const   *)"child_ready[%d] pid:%d ready:%s elapsed:%.6f",
              cid, pid, ready, elapsed);
  normal_io_write_fl(file___0, line___0, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_exec_fl___0(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                           int exec_id , char const   *exe , char const   **argv___0 )
{
  struct strbuf buf_payload ;

  {
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addf(& buf_payload, (char const   *)"exec[%d] ", exec_id);
  if (exe) {
    strbuf_addstr(& buf_payload, exe);
    strbuf_addch(& buf_payload, ' ');
  }
  sq_append_quote_argv_pretty(& buf_payload, argv___0);
  normal_io_write_fl(file___0, line___0, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_exec_result_fl___0(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                                  int exec_id , int code )
{
  struct strbuf buf_payload ;
  char *tmp ;

  {
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addf(& buf_payload, (char const   *)"exec_result[%d] code:%d", exec_id, code);
  if (code > 0) {
    tmp = strerror(code);
    strbuf_addf(& buf_payload, (char const   *)" err:%s", tmp);
  }
  normal_io_write_fl(file___0, line___0, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_param_fl___0(char const   *file___0 , int line___0 , char const   *param ,
                            char const   *value )
{
  struct strbuf buf_payload ;

  {
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addf(& buf_payload, (char const   *)"def_param %s=%s", param, value);
  normal_io_write_fl(file___0, line___0, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_repo_fl___0(char const   *file___0 , int line___0 , struct repository  const  *repo )
{
  struct strbuf buf_payload ;

  {
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addstr(& buf_payload, (char const   *)"worktree ");
  sq_quote_buf_pretty(& buf_payload, (char const   *)repo->worktree);
  normal_io_write_fl(file___0, line___0, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_printf_va_fl(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                            char const   *fmt , va_list ap )
{
  struct strbuf buf_payload ;

  {
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  maybe_append_string_va(& buf_payload, fmt, ap);
  normal_io_write_fl(file___0, line___0, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
struct tr2_tgt tr2_tgt_normal  =
     {& tr2dst_normal, & fn_init___0, & fn_term___0, & fn_version_fl___0, & fn_start_fl___0,
    & fn_exit_fl___0, & fn_signal___0, & fn_atexit___0, & fn_error_va_fl___0, & fn_command_path_fl___0,
    & fn_command_ancestry_fl___0, & fn_command_name_fl___0, & fn_command_mode_fl___0,
    & fn_alias_fl___0, & fn_child_start_fl___0, & fn_child_exit_fl___0, & fn_child_ready_fl___0,
    (tr2_tgt_evt_thread_start_fl_t *)((void *)0), (tr2_tgt_evt_thread_exit_fl_t *)((void *)0),
    & fn_exec_fl___0, & fn_exec_result_fl___0, & fn_param_fl___0, & fn_repo_fl___0,
    (tr2_tgt_evt_region_enter_printf_va_fl_t *)((void *)0), (tr2_tgt_evt_region_leave_printf_va_fl_t *)((void *)0),
    (tr2_tgt_evt_data_fl_t *)((void *)0), (tr2_tgt_evt_data_json_fl_t *)((void *)0),
    & fn_printf_va_fl};
static struct tr2_dst tr2dst_perf  =    {(enum tr2_sysenv_variable )8, 0, 0U, 0U, 0U};
static int tr2env_perf_be_brief  ;
static int fn_init___1(void)
{
  int want ;
  int tmp ;
  int want_brief ;
  char const   *brief ;

  {
  tmp = tr2_dst_trace_want(& tr2dst_perf);
  want = tmp;
  if (! want) {
    return (want);
  }
  brief = tr2_sysenv_get((enum tr2_sysenv_variable )9);
  if (brief) {
    if (*brief) {
      want_brief = git_parse_maybe_bool(brief);
      if (want_brief != -1) {
        tr2env_perf_be_brief = want_brief;
      }
    }
  }
  return (want);
}
}
static void fn_term___1(void)
{


  {
  tr2_dst_trace_disable(& tr2dst_perf);
  return;
}
}
static void perf_fmt_prepare(char const   *event_name , struct tr2tls_thread_ctx *ctx___0 ,
                             char const   *file___0 , int line___0 , struct repository  const  *repo ,
                             uint64_t *p_us_elapsed_absolute , uint64_t *p_us_elapsed_relative ,
                             char const   *category , struct strbuf *buf___19 )
{
  int len___0 ;
  struct tr2_tbuf tb_now ;
  size_t fl_end_col ;
  struct strbuf buf_fl ;
  size_t avail ;
  int tmp ;
  char const   *tmp___0 ;

  {
  strbuf_setlen___33(buf___19, (size_t )0);
  if (! tr2env_perf_be_brief) {
    tr2_tbuf_local_time(& tb_now);
    strbuf_addstr(buf___19, (char const   *)(tb_now.buf));
    strbuf_addch(buf___19, ' ');
    fl_end_col = buf___19->len + 28UL;
    if (file___0) {
      if (*file___0) {
        buf_fl.alloc = 0UL;
        buf_fl.len = 0UL;
        buf_fl.buf = strbuf_slopbuf;
        strbuf_addf(& buf_fl, (char const   *)"%s:%d", file___0, line___0);
        if (buf_fl.len <= 28UL) {
          strbuf_addbuf(buf___19, (struct strbuf  const  *)(& buf_fl));
        } else {
          avail = (size_t )25;
          strbuf_addstr(buf___19, (char const   *)"...");
          strbuf_add(buf___19, (void const   *)(buf_fl.buf + (buf_fl.len - avail)),
                     avail);
        }
        strbuf_release(& buf_fl);
      }
    }
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (buf___19->len < fl_end_col)) {
        goto while_break;
      }
      strbuf_addch(buf___19, ' ');
    }
    while_break: /* CIL Label */ ;
    }
    strbuf_addstr(buf___19, (char const   *)" | ");
  }
  tmp = tr2_sid_depth();
  strbuf_addf(buf___19, (char const   *)"d%d | ", tmp);
  strbuf_addf(buf___19, (char const   *)"%-*s | %-*s | ", 24, ctx___0->thread_name.buf,
              12, event_name);
  len___0 = (int )(buf___19->len + 3UL);
  if (repo) {
    strbuf_addf(buf___19, (char const   *)"r%d ", repo->trace2_repo_id);
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (buf___19->len < (size_t )len___0)) {
      goto while_break___0;
    }
    strbuf_addch(buf___19, ' ');
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_addstr(buf___19, (char const   *)" | ");
  if (p_us_elapsed_absolute) {
    strbuf_addf(buf___19, (char const   *)"%9.6f | ", (double )*p_us_elapsed_absolute / 1000000.0);
  } else {
    strbuf_addf(buf___19, (char const   *)"%9s | ", " ");
  }
  if (p_us_elapsed_relative) {
    strbuf_addf(buf___19, (char const   *)"%9.6f | ", (double )*p_us_elapsed_relative / 1000000.0);
  } else {
    strbuf_addf(buf___19, (char const   *)"%9s | ", " ");
  }
  if (category) {
    tmp___0 = category;
  } else {
    tmp___0 = (char const   *)"";
  }
  strbuf_addf(buf___19, (char const   *)"%-*.*s | ", 12, 12, tmp___0);
  if (ctx___0->nr_open_regions > 0) {
    strbuf_addchars(buf___19, '.', (size_t )((ctx___0->nr_open_regions - 1) * 2));
  }
  return;
}
}
static void perf_io_write_fl(char const   *file___0 , int line___0 , char const   *event_name ,
                             struct repository  const  *repo , uint64_t *p_us_elapsed_absolute ,
                             uint64_t *p_us_elapsed_relative , char const   *category ,
                             struct strbuf  const  *buf_payload )
{
  struct tr2tls_thread_ctx *ctx___0 ;
  struct tr2tls_thread_ctx *tmp ;
  struct strbuf buf_line ;

  {
  tmp = tr2tls_get_self();
  ctx___0 = tmp;
  buf_line.alloc = 0UL;
  buf_line.len = 0UL;
  buf_line.buf = strbuf_slopbuf;
  perf_fmt_prepare(event_name, ctx___0, file___0, line___0, repo, p_us_elapsed_absolute,
                   p_us_elapsed_relative, category, & buf_line);
  strbuf_addbuf(& buf_line, buf_payload);
  tr2_dst_write_line(& tr2dst_perf, & buf_line);
  strbuf_release(& buf_line);
  return;
}
}
static void fn_version_fl___1(char const   *file___0 , int line___0 )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"version";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addstr(& buf_payload, git_version_string);
  perf_io_write_fl(file___0, line___0, event_name, (struct repository  const  *)((void *)0),
                   (uint64_t *)((void *)0), (uint64_t *)((void *)0), (char const   *)((void *)0),
                   (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_start_fl___1(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                            char const   **argv___0 )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"start";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  sq_append_quote_argv_pretty(& buf_payload, argv___0);
  perf_io_write_fl(file___0, line___0, event_name, (struct repository  const  *)((void *)0),
                   & us_elapsed_absolute, (uint64_t *)((void *)0), (char const   *)((void *)0),
                   (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_exit_fl___1(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                           int code )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"exit";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addf(& buf_payload, (char const   *)"code:%d", code);
  perf_io_write_fl(file___0, line___0, event_name, (struct repository  const  *)((void *)0),
                   & us_elapsed_absolute, (uint64_t *)((void *)0), (char const   *)((void *)0),
                   (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_signal___1(uint64_t us_elapsed_absolute , int signo )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"signal";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addf(& buf_payload, (char const   *)"signo:%d", signo);
  perf_io_write_fl((char const   *)"trace2/tr2_tgt_perf.c", 201, event_name, (struct repository  const  *)((void *)0),
                   & us_elapsed_absolute, (uint64_t *)((void *)0), (char const   *)((void *)0),
                   (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_atexit___1(uint64_t us_elapsed_absolute , int code )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"atexit";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addf(& buf_payload, (char const   *)"code:%d", code);
  perf_io_write_fl((char const   *)"trace2/tr2_tgt_perf.c", 213, event_name, (struct repository  const  *)((void *)0),
                   & us_elapsed_absolute, (uint64_t *)((void *)0), (char const   *)((void *)0),
                   (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void maybe_append_string_va___0(struct strbuf *buf___19 , char const   *fmt ,
                                       va_list ap )
{
  va_list copy_ap ;

  {
  if (fmt) {
    if (*fmt) {
      __builtin_va_copy(copy_ap, ap);
      strbuf_vaddf(buf___19, fmt, copy_ap);
      __builtin_va_end(copy_ap);
      return;
    }
  }
  return;
}
}
static void fn_error_va_fl___1(char const   *file___0 , int line___0 , char const   *fmt ,
                               va_list ap )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"error";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  maybe_append_string_va___0(& buf_payload, fmt, ap);
  perf_io_write_fl(file___0, line___0, event_name, (struct repository  const  *)((void *)0),
                   (uint64_t *)((void *)0), (uint64_t *)((void *)0), (char const   *)((void *)0),
                   (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_command_path_fl___1(char const   *file___0 , int line___0 , char const   *pathname )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"cmd_path";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addstr(& buf_payload, pathname);
  perf_io_write_fl(file___0, line___0, event_name, (struct repository  const  *)((void *)0),
                   (uint64_t *)((void *)0), (uint64_t *)((void *)0), (char const   *)((void *)0),
                   (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_command_ancestry_fl___1(char const   *file___0 , int line___0 , char const   **parent_names )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"cmd_ancestry";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addstr(& buf_payload, (char const   *)"ancestry:[");
  sq_append_quote_argv_pretty(& buf_payload, parent_names);
  strbuf_addch(& buf_payload, ']');
  perf_io_write_fl(file___0, line___0, event_name, (struct repository  const  *)((void *)0),
                   (uint64_t *)((void *)0), (uint64_t *)((void *)0), (char const   *)((void *)0),
                   (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_command_name_fl___1(char const   *file___0 , int line___0 , char const   *name___0 ,
                                   char const   *hierarchy )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"cmd_name";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addstr(& buf_payload, name___0);
  if (hierarchy) {
    if (*hierarchy) {
      strbuf_addf(& buf_payload, (char const   *)" (%s)", hierarchy);
    }
  }
  perf_io_write_fl(file___0, line___0, event_name, (struct repository  const  *)((void *)0),
                   (uint64_t *)((void *)0), (uint64_t *)((void *)0), (char const   *)((void *)0),
                   (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_command_mode_fl___1(char const   *file___0 , int line___0 , char const   *mode___1 )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"cmd_mode";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addstr(& buf_payload, mode___1);
  perf_io_write_fl(file___0, line___0, event_name, (struct repository  const  *)((void *)0),
                   (uint64_t *)((void *)0), (uint64_t *)((void *)0), (char const   *)((void *)0),
                   (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_alias_fl___1(char const   *file___0 , int line___0 , char const   *alias ,
                            char const   **argv___0 )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"alias";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addf(& buf_payload, (char const   *)"alias:%s argv:[", alias);
  sq_append_quote_argv_pretty(& buf_payload, argv___0);
  strbuf_addch(& buf_payload, ']');
  perf_io_write_fl(file___0, line___0, event_name, (struct repository  const  *)((void *)0),
                   (uint64_t *)((void *)0), (uint64_t *)((void *)0), (char const   *)((void *)0),
                   (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_child_start_fl___1(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                                  struct child_process  const  *cmd )
{
  char const   *event_name ;
  struct strbuf buf_payload ;
  char const   *child_class ;
  char const   *tmp ;

  {
  event_name = (char const   *)"child_start";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  if (cmd->trace2_hook_name) {
    strbuf_addf(& buf_payload, (char const   *)"[ch%d] class:hook hook:%s", cmd->trace2_child_id,
                cmd->trace2_hook_name);
  } else {
    if (cmd->trace2_child_class) {
      tmp = (char const   *)cmd->trace2_child_class;
    } else {
      tmp = (char const   *)"?";
    }
    child_class = tmp;
    strbuf_addf(& buf_payload, (char const   *)"[ch%d] class:%s", cmd->trace2_child_id,
                child_class);
  }
  if (cmd->dir) {
    strbuf_addstr(& buf_payload, (char const   *)" cd:");
    sq_quote_buf_pretty(& buf_payload, (char const   *)cmd->dir);
  }
  strbuf_addstr(& buf_payload, (char const   *)" argv:[");
  if (cmd->git_cmd) {
    strbuf_addstr(& buf_payload, (char const   *)"git");
    if (cmd->args.nr) {
      strbuf_addch(& buf_payload, ' ');
    }
  }
  sq_append_quote_argv_pretty(& buf_payload, (char const   **)cmd->args.v);
  strbuf_addch(& buf_payload, ']');
  perf_io_write_fl(file___0, line___0, event_name, (struct repository  const  *)((void *)0),
                   & us_elapsed_absolute, (uint64_t *)((void *)0), (char const   *)((void *)0),
                   (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_child_exit_fl___1(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                                 int cid , int pid , int code , uint64_t us_elapsed_child )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"child_exit";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addf(& buf_payload, (char const   *)"[ch%d] pid:%d code:%d", cid, pid, code);
  perf_io_write_fl(file___0, line___0, event_name, (struct repository  const  *)((void *)0),
                   & us_elapsed_absolute, & us_elapsed_child, (char const   *)((void *)0),
                   (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_child_ready_fl___1(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                                  int cid , int pid , char const   *ready , uint64_t us_elapsed_child )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"child_ready";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addf(& buf_payload, (char const   *)"[ch%d] pid:%d ready:%s", cid, pid, ready);
  perf_io_write_fl(file___0, line___0, event_name, (struct repository  const  *)((void *)0),
                   & us_elapsed_absolute, & us_elapsed_child, (char const   *)((void *)0),
                   (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_thread_start_fl___0(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"thread_start";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  perf_io_write_fl(file___0, line___0, event_name, (struct repository  const  *)((void *)0),
                   & us_elapsed_absolute, (uint64_t *)((void *)0), (char const   *)((void *)0),
                   (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_thread_exit_fl___0(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                                  uint64_t us_elapsed_thread )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"thread_exit";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  perf_io_write_fl(file___0, line___0, event_name, (struct repository  const  *)((void *)0),
                   & us_elapsed_absolute, & us_elapsed_thread, (char const   *)((void *)0),
                   (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_exec_fl___1(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                           int exec_id , char const   *exe , char const   **argv___0 )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"exec";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addf(& buf_payload, (char const   *)"id:%d ", exec_id);
  strbuf_addstr(& buf_payload, (char const   *)"argv:[");
  if (exe) {
    strbuf_addstr(& buf_payload, exe);
    if (*(argv___0 + 0)) {
      strbuf_addch(& buf_payload, ' ');
    }
  }
  sq_append_quote_argv_pretty(& buf_payload, argv___0);
  strbuf_addch(& buf_payload, ']');
  perf_io_write_fl(file___0, line___0, event_name, (struct repository  const  *)((void *)0),
                   & us_elapsed_absolute, (uint64_t *)((void *)0), (char const   *)((void *)0),
                   (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_exec_result_fl___1(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                                  int exec_id , int code )
{
  char const   *event_name ;
  struct strbuf buf_payload ;
  char *tmp ;

  {
  event_name = (char const   *)"exec_result";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addf(& buf_payload, (char const   *)"id:%d code:%d", exec_id, code);
  if (code > 0) {
    tmp = strerror(code);
    strbuf_addf(& buf_payload, (char const   *)" err:%s", tmp);
  }
  perf_io_write_fl(file___0, line___0, event_name, (struct repository  const  *)((void *)0),
                   & us_elapsed_absolute, (uint64_t *)((void *)0), (char const   *)((void *)0),
                   (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_param_fl___1(char const   *file___0 , int line___0 , char const   *param ,
                            char const   *value )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"def_param";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addf(& buf_payload, (char const   *)"%s:%s", param, value);
  perf_io_write_fl(file___0, line___0, event_name, (struct repository  const  *)((void *)0),
                   (uint64_t *)((void *)0), (uint64_t *)((void *)0), (char const   *)((void *)0),
                   (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_repo_fl___1(char const   *file___0 , int line___0 , struct repository  const  *repo )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"def_repo";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addstr(& buf_payload, (char const   *)"worktree:");
  sq_quote_buf_pretty(& buf_payload, (char const   *)repo->worktree);
  perf_io_write_fl(file___0, line___0, event_name, repo, (uint64_t *)((void *)0),
                   (uint64_t *)((void *)0), (char const   *)((void *)0), (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_region_enter_printf_va_fl___0(char const   *file___0 , int line___0 ,
                                             uint64_t us_elapsed_absolute , char const   *category ,
                                             char const   *label , struct repository  const  *repo ,
                                             char const   *fmt , va_list ap )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"region_enter";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  if (label) {
    strbuf_addf(& buf_payload, (char const   *)"label:%s", label);
  }
  if (fmt) {
    if (*fmt) {
      strbuf_addch(& buf_payload, ' ');
      maybe_append_string_va___0(& buf_payload, fmt, ap);
    }
  }
  perf_io_write_fl(file___0, line___0, event_name, repo, & us_elapsed_absolute, (uint64_t *)((void *)0),
                   category, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_region_leave_printf_va_fl___0(char const   *file___0 , int line___0 ,
                                             uint64_t us_elapsed_absolute , uint64_t us_elapsed_region ,
                                             char const   *category , char const   *label ,
                                             struct repository  const  *repo , char const   *fmt ,
                                             va_list ap )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"region_leave";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  if (label) {
    strbuf_addf(& buf_payload, (char const   *)"label:%s", label);
  }
  if (fmt) {
    if (*fmt) {
      strbuf_addch(& buf_payload, ' ');
      maybe_append_string_va___0(& buf_payload, fmt, ap);
    }
  }
  perf_io_write_fl(file___0, line___0, event_name, repo, & us_elapsed_absolute, & us_elapsed_region,
                   category, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_data_fl___0(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                           uint64_t us_elapsed_region , char const   *category , struct repository  const  *repo ,
                           char const   *key___1 , char const   *value )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"data";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addf(& buf_payload, (char const   *)"%s:%s", key___1, value);
  perf_io_write_fl(file___0, line___0, event_name, repo, & us_elapsed_absolute, & us_elapsed_region,
                   category, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_data_json_fl___0(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                                uint64_t us_elapsed_region , char const   *category ,
                                struct repository  const  *repo , char const   *key___1 ,
                                struct json_writer  const  *value )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"data_json";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  strbuf_addf(& buf_payload, (char const   *)"%s:%s", key___1, value->json.buf);
  perf_io_write_fl(file___0, line___0, event_name, repo, & us_elapsed_absolute, & us_elapsed_region,
                   category, (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
static void fn_printf_va_fl___0(char const   *file___0 , int line___0 , uint64_t us_elapsed_absolute ,
                                char const   *fmt , va_list ap )
{
  char const   *event_name ;
  struct strbuf buf_payload ;

  {
  event_name = (char const   *)"printf";
  buf_payload.alloc = 0UL;
  buf_payload.len = 0UL;
  buf_payload.buf = strbuf_slopbuf;
  maybe_append_string_va___0(& buf_payload, fmt, ap);
  perf_io_write_fl(file___0, line___0, event_name, (struct repository  const  *)((void *)0),
                   & us_elapsed_absolute, (uint64_t *)((void *)0), (char const   *)((void *)0),
                   (struct strbuf  const  *)(& buf_payload));
  strbuf_release(& buf_payload);
  return;
}
}
struct tr2_tgt tr2_tgt_perf  =
     {& tr2dst_perf, & fn_init___1, & fn_term___1, & fn_version_fl___1, & fn_start_fl___1,
    & fn_exit_fl___1, & fn_signal___1, & fn_atexit___1, & fn_error_va_fl___1, & fn_command_path_fl___1,
    & fn_command_ancestry_fl___1, & fn_command_name_fl___1, & fn_command_mode_fl___1,
    & fn_alias_fl___1, & fn_child_start_fl___1, & fn_child_exit_fl___1, & fn_child_ready_fl___1,
    & fn_thread_start_fl___0, & fn_thread_exit_fl___0, & fn_exec_fl___1, & fn_exec_result_fl___1,
    & fn_param_fl___1, & fn_repo_fl___1, & fn_region_enter_printf_va_fl___0, & fn_region_leave_printf_va_fl___0,
    & fn_data_fl___0, & fn_data_json_fl___0, & fn_printf_va_fl___0};
static struct tr2tls_thread_ctx *tr2tls_thread_main  ;
static uint64_t tr2tls_us_start_process  ;
static pthread_mutex_t tr2tls_mutex  ;
static pthread_key_t tr2tls_key  ;
static int tr2_next_thread_id  ;
void tr2tls_start_process_clock(void)
{
  uint64_t tmp ;

  {
  if (tr2tls_us_start_process) {
    return;
  }
  tmp = getnanotime();
  tr2tls_us_start_process = tmp / 1000UL;
  return;
}
}
struct tr2tls_thread_ctx *tr2tls_create_self(char const   *thread_name , uint64_t us_thread_start )
{
  struct tr2tls_thread_ctx *ctx___0 ;
  void *tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*ctx___0));
  ctx___0 = (struct tr2tls_thread_ctx *)tmp;
  ctx___0->alloc = 100;
  tmp___0 = xcalloc((size_t )ctx___0->alloc, sizeof(uint64_t ));
  ctx___0->array_us_start = (uint64_t *)tmp___0;
  tmp___1 = ctx___0->nr_open_regions;
  (ctx___0->nr_open_regions) ++;
  *(ctx___0->array_us_start + tmp___1) = us_thread_start;
  ctx___0->thread_id = tr2tls_locked_increment(& tr2_next_thread_id);
  strbuf_init(& ctx___0->thread_name, (size_t )0);
  if (ctx___0->thread_id) {
    strbuf_addf(& ctx___0->thread_name, (char const   *)"th%02d:", ctx___0->thread_id);
  }
  strbuf_addstr(& ctx___0->thread_name, thread_name);
  if (ctx___0->thread_name.len > 24UL) {
    strbuf_setlen___33(& ctx___0->thread_name, (size_t )24);
  }
  pthread_setspecific(tr2tls_key, (void const   *)ctx___0);
  return (ctx___0);
}
}
struct tr2tls_thread_ctx *tr2tls_get_self(void)
{
  struct tr2tls_thread_ctx *ctx___0 ;
  void *tmp ;
  uint64_t tmp___0 ;

  {
  tmp = pthread_getspecific(tr2tls_key);
  ctx___0 = (struct tr2tls_thread_ctx *)tmp;
  if (! ctx___0) {
    tmp___0 = getnanotime();
    ctx___0 = tr2tls_create_self((char const   *)"unknown", tmp___0 / 1000UL);
  }
  return (ctx___0);
}
}
int tr2tls_is_main_thread(void)
{
  void *tmp ;

  {
  tmp = pthread_getspecific(tr2tls_key);
  return ((unsigned long )tmp == (unsigned long )tr2tls_thread_main);
}
}
void tr2tls_unset_self(void)
{
  struct tr2tls_thread_ctx *ctx___0 ;

  {
  ctx___0 = tr2tls_get_self();
  pthread_setspecific(tr2tls_key, (void const   *)((void *)0));
  strbuf_release(& ctx___0->thread_name);
  free((void *)ctx___0->array_us_start);
  free((void *)ctx___0);
  return;
}
}
void tr2tls_push_self(uint64_t us_now )
{
  struct tr2tls_thread_ctx *ctx___0 ;
  struct tr2tls_thread_ctx *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;

  {
  tmp = tr2tls_get_self();
  ctx___0 = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (ctx___0->nr_open_regions + 1 > ctx___0->alloc) {
      if (((ctx___0->alloc + 16) * 3) / 2 < ctx___0->nr_open_regions + 1) {
        ctx___0->alloc = ctx___0->nr_open_regions + 1;
      } else {
        ctx___0->alloc = ((ctx___0->alloc + 16) * 3) / 2;
      }
      tmp___0 = st_mult(sizeof(*(ctx___0->array_us_start)), (size_t )ctx___0->alloc);
      tmp___1 = xrealloc((void *)ctx___0->array_us_start, tmp___0);
      ctx___0->array_us_start = (uint64_t *)tmp___1;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = ctx___0->nr_open_regions;
  (ctx___0->nr_open_regions) ++;
  *(ctx___0->array_us_start + tmp___2) = us_now;
  return;
}
}
void tr2tls_pop_self(void)
{
  struct tr2tls_thread_ctx *ctx___0 ;
  struct tr2tls_thread_ctx *tmp ;

  {
  tmp = tr2tls_get_self();
  ctx___0 = tmp;
  if (! ctx___0->nr_open_regions) {
    BUG_fl((char const   *)"trace2/tr2_tls.c", 116, (char const   *)"no open regions in thread \'%s\'",
           ctx___0->thread_name.buf);
  }
  (ctx___0->nr_open_regions) --;
  return;
}
}
void tr2tls_pop_unwind_self(void)
{
  struct tr2tls_thread_ctx *ctx___0 ;
  struct tr2tls_thread_ctx *tmp ;

  {
  tmp = tr2tls_get_self();
  ctx___0 = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (ctx___0->nr_open_regions > 1)) {
      goto while_break;
    }
    tr2tls_pop_self();
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
uint64_t tr2tls_region_elasped_self(uint64_t us )
{
  struct tr2tls_thread_ctx *ctx___0 ;
  uint64_t us_start ;

  {
  ctx___0 = tr2tls_get_self();
  if (! ctx___0->nr_open_regions) {
    return ((uint64_t )0);
  }
  us_start = *(ctx___0->array_us_start + (ctx___0->nr_open_regions - 1));
  return (us - us_start);
}
}
uint64_t tr2tls_absolute_elapsed(uint64_t us )
{


  {
  if (! tr2tls_thread_main) {
    return ((uint64_t )0);
  }
  return (us - tr2tls_us_start_process);
}
}
void tr2tls_init(void)
{


  {
  tr2tls_start_process_clock();
  pthread_key_create(& tr2tls_key, (void (*)(void * ))((void *)0));
  init_recursive_mutex(& tr2tls_mutex);
  tr2tls_thread_main = tr2tls_create_self((char const   *)"main", tr2tls_us_start_process);
  return;
}
}
void tr2tls_release(void)
{


  {
  tr2tls_unset_self();
  tr2tls_thread_main = (struct tr2tls_thread_ctx *)((void *)0);
  pthread_mutex_destroy(& tr2tls_mutex);
  pthread_key_delete(tr2tls_key);
  return;
}
}
int tr2tls_locked_increment(int *p___0 )
{
  int current_value ;

  {
  pthread_mutex_lock(& tr2tls_mutex);
  current_value = *p___0;
  *p___0 = current_value + 1;
  pthread_mutex_unlock(& tr2tls_mutex);
  return (current_value);
}
}
static struct conf_info default_conf_info  ;
static struct list_head conf_head  =    {& conf_head, & conf_head};
static char *separators  =    ":";
static int configured___0  ;
static char const   *git_generated_prefixes[3]  = {      (char const   *)"Signed-off-by: ",      (char const   *)"(cherry picked from commit ",      (char const   *)((void *)0)};
static int after_or_end(enum trailer_where where___0 )
{
  int tmp ;

  {
  if ((unsigned int )where___0 == 2U) {
    tmp = 1;
  } else
  if ((unsigned int )where___0 == 1U) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static size_t token_len_without_separator(char const   *token , size_t len___0 )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (len___0 > 0UL) {
      if (! (! (((int const   )sane_ctype[(unsigned char )*(token + (len___0 - 1UL))] & 6) != 0))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    len___0 --;
  }
  while_break: /* CIL Label */ ;
  }
  return (len___0);
}
}
static int same_token(struct trailer_item *a , struct arg_item *b___0 )
{
  size_t a_len ;
  size_t b_len ;
  size_t min_len ;
  size_t tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (! a->token) {
    return (0);
  }
  tmp = strlen((char const   *)a->token);
  a_len = token_len_without_separator((char const   *)a->token, tmp);
  tmp___0 = strlen((char const   *)b___0->token);
  b_len = token_len_without_separator((char const   *)b___0->token, tmp___0);
  if (a_len > b_len) {
    min_len = b_len;
  } else {
    min_len = a_len;
  }
  tmp___1 = strncasecmp((char const   *)a->token, (char const   *)b___0->token, min_len);
  if (tmp___1) {
    tmp___2 = 0;
  } else {
    tmp___2 = 1;
  }
  return (tmp___2);
}
}
static int same_value(struct trailer_item *a , struct arg_item *b___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = strcasecmp((char const   *)a->value, (char const   *)b___0->value);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
static int same_trailer(struct trailer_item *a , struct arg_item *b___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = same_token(a, b___0);
  if (tmp) {
    tmp___0 = same_value(a, b___0);
    if (tmp___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
__inline static int is_blank_line___0(char const   *str )
{
  char const   *s___1 ;
  int tmp ;

  {
  s___1 = str;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*s___1) {
      if ((int const   )*s___1 != 10) {
        if (! (((int const   )sane_ctype[(unsigned char )*s___1] & 1) != 0)) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    s___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! *s___1) {
    tmp = 1;
  } else
  if ((int const   )*s___1 == 10) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
__inline static void strbuf_replace(struct strbuf *sb___6 , char const   *a , char const   *b___0 )
{
  char const   *ptr ;
  char *tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;

  {
  tmp = strstr((char const   *)sb___6->buf, a);
  ptr = (char const   *)tmp;
  if (ptr) {
    tmp___0 = strlen(b___0);
    tmp___1 = strlen(a);
    strbuf_splice(sb___6, (size_t )(ptr - (char const   *)sb___6->buf), tmp___1, (void const   *)b___0,
                  tmp___0);
  }
  return;
}
}
static void free_trailer_item(struct trailer_item *item___0 )
{


  {
  free((void *)item___0->token);
  free((void *)item___0->value);
  free((void *)item___0);
  return;
}
}
static void free_arg_item(struct arg_item *item___0 )
{


  {
  free((void *)item___0->conf.name);
  free((void *)item___0->conf.key);
  free((void *)item___0->conf.command);
  free((void *)item___0->conf.cmd);
  free((void *)item___0->token);
  free((void *)item___0->value);
  free((void *)item___0);
  return;
}
}
static char last_non_space_char(char const   *s___1 )
{
  int i ;
  size_t tmp ;

  {
  tmp = strlen(s___1);
  i = (int )(tmp - 1UL);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i >= 0)) {
      goto while_break;
    }
    if (! (((int const   )sane_ctype[(unsigned char )*(s___1 + i)] & 1) != 0)) {
      return ((char )*(s___1 + i));
    }
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  return ((char )'\000');
}
}
static void print_tok_val(FILE *outfile , char const   *tok , char const   *val )
{
  char c___0 ;
  char *tmp ;

  {
  if (! tok) {
    fprintf(outfile, (char const   *)"%s\n", val);
    return;
  }
  c___0 = last_non_space_char(tok);
  if (! c___0) {
    return;
  }
  tmp = strchr((char const   *)separators, (int )c___0);
  if (tmp) {
    fprintf(outfile, (char const   *)"%s%s\n", tok, val);
  } else {
    fprintf(outfile, (char const   *)"%s%c %s\n", tok, (int )*(separators + 0), val);
  }
  return;
}
}
static void print_all(FILE *outfile , struct list_head *head___1 , struct process_trailer_options  const  *opts___1 )
{
  struct list_head *pos ;
  struct trailer_item *item___0 ;
  size_t tmp ;

  {
  pos = head___1->next;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )pos != (unsigned long )head___1)) {
      goto while_break;
    }
    item___0 = (struct trailer_item *)((char *)pos - (unsigned long )(& ((struct trailer_item *)0)->list));
    if (! opts___1->trim_empty) {
      goto _L;
    } else {
      tmp = strlen((char const   *)item___0->value);
      if (tmp > 0UL) {
        _L: /* CIL Label */
        if (! opts___1->only_trailers) {
          print_tok_val(outfile, (char const   *)item___0->token, (char const   *)item___0->value);
        } else
        if (item___0->token) {
          print_tok_val(outfile, (char const   *)item___0->token, (char const   *)item___0->value);
        }
      }
    }
    pos = pos->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct trailer_item *trailer_from_arg(struct arg_item *arg_tok )
{
  struct trailer_item *new_item ;
  void *tmp ;
  char *tmp___0 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*new_item));
  new_item = (struct trailer_item *)tmp;
  new_item->token = arg_tok->token;
  new_item->value = arg_tok->value;
  tmp___0 = (char *)((void *)0);
  arg_tok->value = tmp___0;
  arg_tok->token = tmp___0;
  free_arg_item(arg_tok);
  return (new_item);
}
}
static void add_arg_to_input_list(struct trailer_item *on_tok , struct arg_item *arg_tok )
{
  int aoe ;
  int tmp ;
  struct trailer_item *to_add ;
  struct trailer_item *tmp___0 ;

  {
  tmp = after_or_end(arg_tok->conf.where);
  aoe = tmp;
  tmp___0 = trailer_from_arg(arg_tok);
  to_add = tmp___0;
  if (aoe) {
    list_add(& to_add->list, & on_tok->list);
  } else {
    list_add_tail(& to_add->list, & on_tok->list);
  }
  return;
}
}
static int check_if_different(struct trailer_item *in_tok , struct arg_item *arg_tok ,
                              int check_all , struct list_head *head___1 )
{
  enum trailer_where where___0 ;
  struct list_head *next_head ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  where___0 = arg_tok->conf.where;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = same_trailer(in_tok, arg_tok);
    if (tmp) {
      return (0);
    }
    tmp___1 = after_or_end(where___0);
    if (tmp___1) {
      next_head = in_tok->list.prev;
    } else {
      next_head = in_tok->list.next;
    }
    if ((unsigned long )next_head == (unsigned long )head___1) {
      goto while_break;
    }
    in_tok = (struct trailer_item *)((char *)next_head - (unsigned long )(& ((struct trailer_item *)0)->list));
    if (! check_all) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static char *apply_command(struct conf_info *conf , char const   *arg )
{
  struct strbuf cmd ;
  struct strbuf buf___19 ;
  struct child_process cp ;
  char *result___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  cmd.alloc = 0UL;
  cmd.len = 0UL;
  cmd.buf = strbuf_slopbuf;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  if (conf->cmd) {
    strbuf_addstr(& cmd, (char const   *)conf->cmd);
    strvec_push(& cp.args, (char const   *)cmd.buf);
    if (arg) {
      strvec_push(& cp.args, arg);
    }
  } else
  if (conf->command) {
    strbuf_addstr(& cmd, (char const   *)conf->command);
    if (arg) {
      strbuf_replace(& cmd, (char const   *)"$ARG", arg);
    }
    strvec_push(& cp.args, (char const   *)cmd.buf);
  }
  strvec_pushv(& cp.env_array, (char const   **)(local_repo_env));
  cp.no_stdin = 1U;
  cp.use_shell = 1U;
  tmp___0 = capture_command(& cp, & buf___19, (size_t )1024);
  if (tmp___0) {
    tmp = _((char const   *)"running trailer command \'%s\' failed");
    error((char const   *)tmp, cmd.buf);
    const_error();
    strbuf_release(& buf___19);
    result___0 = xstrdup((char const   *)"");
  } else {
    strbuf_trim(& buf___19);
    result___0 = strbuf_detach(& buf___19, (size_t *)((void *)0));
  }
  strbuf_release(& cmd);
  return (result___0);
}
}
static void apply_item_command(struct trailer_item *in_tok , struct arg_item *arg_tok )
{
  char const   *arg ;
  char *tmp ;
  char *tmp___0 ;

  {
  if (arg_tok->conf.command) {
    goto _L___0;
  } else
  if (arg_tok->conf.cmd) {
    _L___0: /* CIL Label */
    if (arg_tok->value) {
      if (*(arg_tok->value + 0)) {
        arg = (char const   *)arg_tok->value;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (in_tok) {
      if (in_tok->value) {
        tmp = xstrdup((char const   *)in_tok->value);
        arg = (char const   *)tmp;
      } else {
        tmp___0 = xstrdup((char const   *)"");
        arg = (char const   *)tmp___0;
      }
    } else {
      tmp___0 = xstrdup((char const   *)"");
      arg = (char const   *)tmp___0;
    }
    arg_tok->value = apply_command(& arg_tok->conf, arg);
    free((void *)((char *)arg));
  }
  return;
}
}
static void apply_arg_if_exists(struct trailer_item *in_tok , struct arg_item *arg_tok ,
                                struct trailer_item *on_tok , struct list_head *head___1 )
{
  int tmp ;
  int tmp___0 ;

  {
  {
  if ((unsigned int )arg_tok->conf.if_exists == 5U) {
    goto case_5;
  }
  if ((unsigned int )arg_tok->conf.if_exists == 4U) {
    goto case_4;
  }
  if ((unsigned int )arg_tok->conf.if_exists == 3U) {
    goto case_3;
  }
  if ((unsigned int )arg_tok->conf.if_exists == 2U) {
    goto case_2;
  }
  if ((unsigned int )arg_tok->conf.if_exists == 1U) {
    goto case_1;
  }
  goto switch_default;
  case_5: /* CIL Label */
  free_arg_item(arg_tok);
  goto switch_break;
  case_4: /* CIL Label */
  apply_item_command(in_tok, arg_tok);
  add_arg_to_input_list(on_tok, arg_tok);
  list_del(& in_tok->list);
  free_trailer_item(in_tok);
  goto switch_break;
  case_3: /* CIL Label */
  apply_item_command(in_tok, arg_tok);
  add_arg_to_input_list(on_tok, arg_tok);
  goto switch_break;
  case_2: /* CIL Label */
  apply_item_command(in_tok, arg_tok);
  tmp = check_if_different(in_tok, arg_tok, 1, head___1);
  if (tmp) {
    add_arg_to_input_list(on_tok, arg_tok);
  } else {
    free_arg_item(arg_tok);
  }
  goto switch_break;
  case_1: /* CIL Label */
  apply_item_command(in_tok, arg_tok);
  tmp___0 = check_if_different(on_tok, arg_tok, 0, head___1);
  if (tmp___0) {
    add_arg_to_input_list(on_tok, arg_tok);
  } else {
    free_arg_item(arg_tok);
  }
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"trailer.c", 308, (char const   *)"trailer.c: unhandled value %d",
         (unsigned int )arg_tok->conf.if_exists);
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static void apply_arg_if_missing(struct list_head *head___1 , struct arg_item *arg_tok )
{
  enum trailer_where where___0 ;
  struct trailer_item *to_add ;
  int tmp ;

  {
  {
  if ((unsigned int )arg_tok->conf.if_missing == 2U) {
    goto case_2;
  }
  if ((unsigned int )arg_tok->conf.if_missing == 1U) {
    goto case_1;
  }
  goto switch_default;
  case_2: /* CIL Label */
  free_arg_item(arg_tok);
  goto switch_break;
  case_1: /* CIL Label */
  where___0 = arg_tok->conf.where;
  apply_item_command((struct trailer_item *)((void *)0), arg_tok);
  to_add = trailer_from_arg(arg_tok);
  tmp = after_or_end(where___0);
  if (tmp) {
    list_add_tail(& to_add->list, head___1);
  } else {
    list_add(& to_add->list, head___1);
  }
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"trailer.c", 333, (char const   *)"trailer.c: unhandled value %d",
         (unsigned int )arg_tok->conf.if_missing);
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static int find_same_and_apply_arg(struct list_head *head___1 , struct arg_item *arg_tok )
{
  struct list_head *pos ;
  struct trailer_item *in_tok ;
  struct trailer_item *on_tok ;
  enum trailer_where where___0 ;
  int middle ;
  int tmp ;
  int backwards ;
  int tmp___0 ;
  struct trailer_item *start_tok ;
  int tmp___1 ;
  struct list_head *tmp___2 ;
  int tmp___3 ;

  {
  where___0 = arg_tok->conf.where;
  if ((unsigned int )where___0 == 2U) {
    tmp = 1;
  } else
  if ((unsigned int )where___0 == 3U) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  middle = tmp;
  tmp___0 = after_or_end(where___0);
  backwards = tmp___0;
  tmp___1 = list_empty(head___1);
  if (tmp___1) {
    return (0);
  }
  if (backwards) {
    tmp___2 = head___1->prev;
  } else {
    tmp___2 = head___1->next;
  }
  start_tok = (struct trailer_item *)((char *)tmp___2 - (unsigned long )(& ((struct trailer_item *)0)->list));
  if (backwards) {
    pos = head___1->prev;
  } else {
    pos = head___1->next;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )pos != (unsigned long )head___1)) {
      goto while_break;
    }
    in_tok = (struct trailer_item *)((char *)pos - (unsigned long )(& ((struct trailer_item *)0)->list));
    tmp___3 = same_token(in_tok, arg_tok);
    if (! tmp___3) {
      goto __Cont;
    }
    if (middle) {
      on_tok = in_tok;
    } else {
      on_tok = start_tok;
    }
    apply_arg_if_exists(in_tok, arg_tok, on_tok, head___1);
    return (1);
    __Cont: /* CIL Label */
    if (backwards) {
      pos = pos->prev;
    } else {
      pos = pos->next;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void process_trailers_lists(struct list_head *head___1 , struct list_head *arg_head )
{
  struct list_head *pos ;
  struct list_head *p___0 ;
  struct arg_item *arg_tok ;
  int applied ;

  {
  pos = arg_head->next;
  p___0 = pos->next;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )pos != (unsigned long )arg_head)) {
      goto while_break;
    }
    applied = 0;
    arg_tok = (struct arg_item *)((char *)pos - (unsigned long )(& ((struct arg_item *)0)->list));
    list_del(pos);
    applied = find_same_and_apply_arg(head___1, arg_tok);
    if (! applied) {
      apply_arg_if_missing(head___1, arg_tok);
    }
    pos = p___0;
    p___0 = pos->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int trailer_set_where(enum trailer_where *item___0 , char const   *value )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (! value) {
    *item___0 = (enum trailer_where )0;
  } else {
    tmp___2 = strcasecmp((char const   *)"after", value);
    if (tmp___2) {
      tmp___1 = strcasecmp((char const   *)"before", value);
      if (tmp___1) {
        tmp___0 = strcasecmp((char const   *)"end", value);
        if (tmp___0) {
          tmp = strcasecmp((char const   *)"start", value);
          if (tmp) {
            return (-1);
          } else {
            *item___0 = (enum trailer_where )4;
          }
        } else {
          *item___0 = (enum trailer_where )1;
        }
      } else {
        *item___0 = (enum trailer_where )3;
      }
    } else {
      *item___0 = (enum trailer_where )2;
    }
  }
  return (0);
}
}
int trailer_set_if_exists(enum trailer_if_exists *item___0 , char const   *value )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  if (! value) {
    *item___0 = (enum trailer_if_exists )0;
  } else {
    tmp___3 = strcasecmp((char const   *)"addIfDifferent", value);
    if (tmp___3) {
      tmp___2 = strcasecmp((char const   *)"addIfDifferentNeighbor", value);
      if (tmp___2) {
        tmp___1 = strcasecmp((char const   *)"add", value);
        if (tmp___1) {
          tmp___0 = strcasecmp((char const   *)"replace", value);
          if (tmp___0) {
            tmp = strcasecmp((char const   *)"doNothing", value);
            if (tmp) {
              return (-1);
            } else {
              *item___0 = (enum trailer_if_exists )5;
            }
          } else {
            *item___0 = (enum trailer_if_exists )4;
          }
        } else {
          *item___0 = (enum trailer_if_exists )3;
        }
      } else {
        *item___0 = (enum trailer_if_exists )1;
      }
    } else {
      *item___0 = (enum trailer_if_exists )2;
    }
  }
  return (0);
}
}
int trailer_set_if_missing(enum trailer_if_missing *item___0 , char const   *value )
{
  int tmp ;
  int tmp___0 ;

  {
  if (! value) {
    *item___0 = (enum trailer_if_missing )0;
  } else {
    tmp___0 = strcasecmp((char const   *)"doNothing", value);
    if (tmp___0) {
      tmp = strcasecmp((char const   *)"add", value);
      if (tmp) {
        return (-1);
      } else {
        *item___0 = (enum trailer_if_missing )1;
      }
    } else {
      *item___0 = (enum trailer_if_missing )2;
    }
  }
  return (0);
}
}
static void duplicate_conf(struct conf_info *dst , struct conf_info  const  *src )
{


  {
  *dst = (struct conf_info )*src;
  dst->name = xstrdup_or_null((char const   *)src->name);
  dst->key = xstrdup_or_null((char const   *)src->key);
  dst->command = xstrdup_or_null((char const   *)src->command);
  dst->cmd = xstrdup_or_null((char const   *)src->cmd);
  return;
}
}
static struct arg_item *get_conf_item(char const   *name___0 )
{
  struct list_head *pos ;
  struct arg_item *item___0 ;
  int tmp ;
  void *tmp___0 ;

  {
  pos = conf_head.next;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )pos != (unsigned long )(& conf_head))) {
      goto while_break;
    }
    item___0 = (struct arg_item *)((char *)pos - (unsigned long )(& ((struct arg_item *)0)->list));
    tmp = strcasecmp((char const   *)item___0->conf.name, name___0);
    if (! tmp) {
      return (item___0);
    }
    pos = pos->next;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = xcalloc((size_t )1, sizeof(*item___0));
  item___0 = (struct arg_item *)tmp___0;
  duplicate_conf(& item___0->conf, (struct conf_info  const  *)(& default_conf_info));
  item___0->conf.name = xstrdup(name___0);
  list_add_tail(& item___0->list, & conf_head);
  return (item___0);
}
}
static struct __anonstruct_trailer_config_items_111913212 trailer_config_items[6]  = {      {(char const   *)"key",
      (enum trailer_info_type )0},
        {(char const   *)"command", (enum trailer_info_type )1},
        {(char const   *)"cmd", (enum trailer_info_type )2},
        {(char const   *)"where", (enum trailer_info_type )3},
        {(char const   *)"ifexists", (enum trailer_info_type )4},
        {(char const   *)"ifmissing", (enum trailer_info_type )5}};
static int git_trailer_default_config(char const   *conf_key , char const   *value ,
                                      void *cb )
{
  char const   *trailer_item ;
  char const   *variable_name ;
  int tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  tmp = skip_prefix(conf_key, (char const   *)"trailer.", & trailer_item);
  if (! tmp) {
    return (0);
  }
  tmp___0 = strrchr(trailer_item, '.');
  variable_name = (char const   *)tmp___0;
  if (! variable_name) {
    tmp___10 = strcmp(trailer_item, (char const   *)"where");
    if (tmp___10) {
      tmp___9 = strcmp(trailer_item, (char const   *)"ifexists");
      if (tmp___9) {
        tmp___8 = strcmp(trailer_item, (char const   *)"ifmissing");
        if (tmp___8) {
          tmp___7 = strcmp(trailer_item, (char const   *)"separators");
          if (! tmp___7) {
            separators = xstrdup(value);
          }
        } else {
          tmp___6 = trailer_set_if_missing(& default_conf_info.if_missing, value);
          if (tmp___6 < 0) {
            tmp___5 = _((char const   *)"unknown value \'%s\' for key \'%s\'");
            warning((char const   *)tmp___5, value, conf_key);
          }
        }
      } else {
        tmp___4 = trailer_set_if_exists(& default_conf_info.if_exists, value);
        if (tmp___4 < 0) {
          tmp___3 = _((char const   *)"unknown value \'%s\' for key \'%s\'");
          warning((char const   *)tmp___3, value, conf_key);
        }
      }
    } else {
      tmp___2 = trailer_set_where(& default_conf_info.where, value);
      if (tmp___2 < 0) {
        tmp___1 = _((char const   *)"unknown value \'%s\' for key \'%s\'");
        warning((char const   *)tmp___1, value, conf_key);
      }
    }
  }
  return (0);
}
}
static int git_trailer_config(char const   *conf_key , char const   *value , void *cb )
{
  char const   *trailer_item ;
  char const   *variable_name ;
  struct arg_item *item___0 ;
  struct conf_info *conf ;
  char *name___0 ;
  enum trailer_info_type type___0 ;
  int i ;
  int tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;

  {
  name___0 = (char *)((void *)0);
  tmp = skip_prefix(conf_key, (char const   *)"trailer.", & trailer_item);
  if (! tmp) {
    return (0);
  }
  tmp___0 = strrchr(trailer_item, '.');
  variable_name = (char const   *)tmp___0;
  if (! variable_name) {
    return (0);
  }
  variable_name ++;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(trailer_config_items) / sizeof(trailer_config_items[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp___1 = strcmp(trailer_config_items[i].name, variable_name);
    if (tmp___1) {
      goto __Cont;
    }
    name___0 = xstrndup(trailer_item, (size_t )((variable_name - trailer_item) - 1L));
    type___0 = trailer_config_items[i].type;
    goto while_break;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! name___0) {
    return (0);
  }
  item___0 = get_conf_item((char const   *)name___0);
  conf = & item___0->conf;
  free((void *)name___0);
  {
  if ((unsigned int )type___0 == 0U) {
    goto case_0;
  }
  if ((unsigned int )type___0 == 1U) {
    goto case_1;
  }
  if ((unsigned int )type___0 == 2U) {
    goto case_2;
  }
  if ((unsigned int )type___0 == 3U) {
    goto case_3;
  }
  if ((unsigned int )type___0 == 4U) {
    goto case_4;
  }
  if ((unsigned int )type___0 == 5U) {
    goto case_5;
  }
  goto switch_default;
  case_0: /* CIL Label */
  if (conf->key) {
    tmp___2 = _((char const   *)"more than one %s");
    warning((char const   *)tmp___2, conf_key);
  }
  conf->key = xstrdup(value);
  goto switch_break;
  case_1: /* CIL Label */
  if (conf->command) {
    tmp___3 = _((char const   *)"more than one %s");
    warning((char const   *)tmp___3, conf_key);
  }
  conf->command = xstrdup(value);
  goto switch_break;
  case_2: /* CIL Label */
  if (conf->cmd) {
    tmp___4 = _((char const   *)"more than one %s");
    warning((char const   *)tmp___4, conf_key);
  }
  conf->cmd = xstrdup(value);
  goto switch_break;
  case_3: /* CIL Label */
  tmp___6 = trailer_set_where(& conf->where, value);
  if (tmp___6) {
    tmp___5 = _((char const   *)"unknown value \'%s\' for key \'%s\'");
    warning((char const   *)tmp___5, value, conf_key);
  }
  goto switch_break;
  case_4: /* CIL Label */
  tmp___8 = trailer_set_if_exists(& conf->if_exists, value);
  if (tmp___8) {
    tmp___7 = _((char const   *)"unknown value \'%s\' for key \'%s\'");
    warning((char const   *)tmp___7, value, conf_key);
  }
  goto switch_break;
  case_5: /* CIL Label */
  tmp___10 = trailer_set_if_missing(& conf->if_missing, value);
  if (tmp___10) {
    tmp___9 = _((char const   *)"unknown value \'%s\' for key \'%s\'");
    warning((char const   *)tmp___9, value, conf_key);
  }
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"trailer.c", 573, (char const   *)"trailer.c: unhandled type %d",
         (unsigned int )type___0);
  switch_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void ensure_configured(void)
{


  {
  if (configured___0) {
    return;
  }
  default_conf_info.where = (enum trailer_where )1;
  default_conf_info.if_exists = (enum trailer_if_exists )1;
  default_conf_info.if_missing = (enum trailer_if_missing )1;
  git_config(& git_trailer_default_config, (void *)0);
  git_config(& git_trailer_config, (void *)0);
  configured___0 = 1;
  return;
}
}
static char const   *token_from_item(struct arg_item *item___0 , char *tok )
{


  {
  if (item___0->conf.key) {
    return ((char const   *)item___0->conf.key);
  }
  if (tok) {
    return ((char const   *)tok);
  }
  return ((char const   *)item___0->conf.name);
}
}
static int token_matches_item(char const   *tok , struct arg_item *item___0 , size_t tok_len )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = strncasecmp(tok, (char const   *)item___0->conf.name, tok_len);
  if (! tmp) {
    return (1);
  }
  if (item___0->conf.key) {
    tmp___0 = strncasecmp(tok, (char const   *)item___0->conf.key, tok_len);
    if (tmp___0) {
      tmp___1 = 0;
    } else {
      tmp___1 = 1;
    }
    tmp___2 = tmp___1;
  } else {
    tmp___2 = 0;
  }
  return (tmp___2);
}
}
static ssize_t find_separator(char const   *line___0 , char const   *separators___0 )
{
  int whitespace_found ;
  char const   *c___0 ;
  char *tmp ;

  {
  whitespace_found = 0;
  c___0 = line___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *c___0) {
      goto while_break;
    }
    tmp = strchr(separators___0, (int )*c___0);
    if (tmp) {
      return (c___0 - line___0);
    }
    if (! whitespace_found) {
      if (((int const   )sane_ctype[(unsigned char )*c___0] & 6) != 0) {
        goto __Cont;
      } else
      if ((int const   )*c___0 == 45) {
        goto __Cont;
      }
    }
    if ((unsigned long )c___0 != (unsigned long )line___0) {
      if ((int const   )*c___0 == 32) {
        whitespace_found = 1;
        goto __Cont;
      } else
      if ((int const   )*c___0 == 9) {
        whitespace_found = 1;
        goto __Cont;
      }
    }
    goto while_break;
    __Cont: /* CIL Label */
    c___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((ssize_t )-1);
}
}
static void parse_trailer(struct strbuf *tok , struct strbuf *val , struct conf_info  const  **conf ,
                          char const   *trailer , ssize_t separator_pos )
{
  struct arg_item *item___0 ;
  size_t tok_len ;
  struct list_head *pos ;
  char *tok_buf ;
  char *tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  if (separator_pos != -1L) {
    strbuf_add(tok, (void const   *)trailer, (size_t )separator_pos);
    strbuf_trim(tok);
    strbuf_addstr(val, (trailer + separator_pos) + 1);
    strbuf_trim(val);
  } else {
    strbuf_addstr(tok, trailer);
    strbuf_trim(tok);
  }
  tok_len = token_len_without_separator((char const   *)tok->buf, tok->len);
  if (conf) {
    *conf = (struct conf_info  const  *)(& default_conf_info);
  }
  pos = conf_head.next;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )pos != (unsigned long )(& conf_head))) {
      goto while_break;
    }
    item___0 = (struct arg_item *)((char *)pos - (unsigned long )(& ((struct arg_item *)0)->list));
    tmp___1 = token_matches_item((char const   *)tok->buf, item___0, tok_len);
    if (tmp___1) {
      tmp = strbuf_detach(tok, (size_t *)((void *)0));
      tok_buf = tmp;
      if (conf) {
        *conf = (struct conf_info  const  *)(& item___0->conf);
      }
      tmp___0 = token_from_item(item___0, tok_buf);
      strbuf_addstr(tok, tmp___0);
      free((void *)tok_buf);
      goto while_break;
    }
    pos = pos->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct trailer_item *add_trailer_item(struct list_head *head___1 , char *tok ,
                                             char *val )
{
  struct trailer_item *new_item ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(*new_item));
  new_item = (struct trailer_item *)tmp;
  new_item->token = tok;
  new_item->value = val;
  list_add_tail(& new_item->list, head___1);
  return (new_item);
}
}
static void add_arg_item(struct list_head *arg_head , char *tok , char *val , struct conf_info  const  *conf ,
                         struct new_trailer_item  const  *new_trailer_item )
{
  struct arg_item *new_item ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(*new_item));
  new_item = (struct arg_item *)tmp;
  new_item->token = tok;
  new_item->value = val;
  duplicate_conf(& new_item->conf, conf);
  if (new_trailer_item) {
    if ((unsigned int )new_trailer_item->where != 0U) {
      new_item->conf.where = (enum trailer_where )new_trailer_item->where;
    }
    if ((unsigned int )new_trailer_item->if_exists != 0U) {
      new_item->conf.if_exists = (enum trailer_if_exists )new_trailer_item->if_exists;
    }
    if ((unsigned int )new_trailer_item->if_missing != 0U) {
      new_item->conf.if_missing = (enum trailer_if_missing )new_trailer_item->if_missing;
    }
  }
  list_add_tail(& new_item->list, arg_head);
  return;
}
}
static void process_command_line_args(struct list_head *arg_head , struct list_head *new_trailer_head )
{
  struct arg_item *item___0 ;
  struct strbuf tok ;
  struct strbuf val ;
  struct conf_info  const  *conf ;
  struct list_head *pos ;
  char *cl_separators ;
  char *tmp ;
  char *tmp___0 ;
  char const   *tmp___1 ;
  char *tmp___2 ;
  struct new_trailer_item *tr ;
  ssize_t separator_pos ;
  ssize_t tmp___3 ;
  struct strbuf sb___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char *tmp___5 ;
  char *tmp___6 ;

  {
  tok.alloc = 0UL;
  tok.len = 0UL;
  tok.buf = strbuf_slopbuf;
  val.alloc = 0UL;
  val.len = 0UL;
  val.buf = strbuf_slopbuf;
  tmp = xstrfmt((char const   *)"=%s", separators);
  cl_separators = tmp;
  pos = conf_head.next;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )pos != (unsigned long )(& conf_head))) {
      goto while_break;
    }
    item___0 = (struct arg_item *)((char *)pos - (unsigned long )(& ((struct arg_item *)0)->list));
    if (item___0->conf.command) {
      tmp___0 = xstrdup((char const   *)"");
      tmp___1 = token_from_item(item___0, (char *)((void *)0));
      tmp___2 = xstrdup(tmp___1);
      add_arg_item(arg_head, tmp___2, tmp___0, (struct conf_info  const  *)(& item___0->conf),
                   (struct new_trailer_item  const  *)((void *)0));
    }
    pos = pos->next;
  }
  while_break: /* CIL Label */ ;
  }
  pos = new_trailer_head->next;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )pos != (unsigned long )new_trailer_head)) {
      goto while_break___0;
    }
    tr = (struct new_trailer_item *)((char *)pos - (unsigned long )(& ((struct new_trailer_item *)0)->list));
    tmp___3 = find_separator(tr->text, (char const   *)cl_separators);
    separator_pos = tmp___3;
    if (separator_pos == 0L) {
      sb___6.alloc = 0UL;
      sb___6.len = 0UL;
      sb___6.buf = strbuf_slopbuf;
      strbuf_addstr(& sb___6, tr->text);
      strbuf_trim(& sb___6);
      tmp___4 = _((char const   *)"empty trailer token in trailer \'%.*s\'");
      error((char const   *)tmp___4, (int )sb___6.len, sb___6.buf);
      const_error();
      strbuf_release(& sb___6);
    } else {
      parse_trailer(& tok, & val, & conf, tr->text, separator_pos);
      tmp___5 = strbuf_detach(& val, (size_t *)((void *)0));
      tmp___6 = strbuf_detach(& tok, (size_t *)((void *)0));
      add_arg_item(arg_head, tmp___6, tmp___5, conf, (struct new_trailer_item  const  *)tr);
    }
    pos = pos->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)cl_separators);
  return;
}
}
static void read_input_file(struct strbuf *sb___6 , char const   *file___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  ssize_t tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  ssize_t tmp___3 ;

  {
  if (file___0) {
    tmp___0 = strbuf_read_file(sb___6, file___0, (size_t )0);
    if (tmp___0 < 0L) {
      tmp = _((char const   *)"could not read input file \'%s\'");
      die_errno((char const   *)tmp, file___0);
    }
  } else {
    tmp___2 = fileno(stdin);
    tmp___3 = strbuf_read(sb___6, tmp___2, (size_t )0);
    if (tmp___3 < 0L) {
      tmp___1 = _((char const   *)"could not read from stdin");
      die_errno((char const   *)tmp___1);
    }
  }
  return;
}
}
static char const   *next_line___0(char const   *str )
{
  char const   *nl ;
  char *tmp ;

  {
  tmp = strchrnul(str, '\n');
  nl = (char const   *)tmp;
  return (nl + ! (! *nl));
}
}
static ssize_t last_line(char const   *buf___19 , size_t len___0 )
{
  ssize_t i ;

  {
  if (len___0 == 0UL) {
    return ((ssize_t )-1);
  }
  if (len___0 == 1UL) {
    return ((ssize_t )0);
  }
  i = (ssize_t )(len___0 - 2UL);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i >= 0L)) {
      goto while_break;
    }
    if ((int const   )*(buf___19 + i) == 10) {
      return (i + 1L);
    }
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  return ((ssize_t )0);
}
}
static size_t find_patch_start(char const   *str )
{
  char const   *s___1 ;
  char const   *v ;
  int tmp ;

  {
  s___1 = str;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *s___1) {
      goto while_break;
    }
    tmp = skip_prefix(s___1, (char const   *)"---", & v);
    if (tmp) {
      if (((int const   )sane_ctype[(unsigned char )*v] & 1) != 0) {
        return ((size_t )(s___1 - str));
      }
    }
    s___1 = next_line___0(s___1);
  }
  while_break: /* CIL Label */ ;
  }
  return ((size_t )(s___1 - str));
}
}
static size_t find_trailer_start(char const   *buf___19 , size_t len___0 )
{
  char const   *s___1 ;
  ssize_t end_of_title ;
  ssize_t l ;
  int only_spaces ;
  int recognized_prefix ;
  int trailer_lines ;
  int non_trailer_lines ;
  int possible_continuation_lines ;
  int tmp ;
  char const   *bol ;
  char const   **p___0 ;
  ssize_t separator_pos ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  struct list_head *pos ;
  struct arg_item *item___0 ;
  int tmp___4 ;

  {
  only_spaces = 1;
  recognized_prefix = 0;
  trailer_lines = 0;
  non_trailer_lines = 0;
  possible_continuation_lines = 0;
  s___1 = buf___19;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )s___1 < (unsigned long )(buf___19 + len___0))) {
      goto while_break;
    }
    if ((int const   )*(s___1 + 0) == (int const   )comment_line_char) {
      goto __Cont;
    }
    tmp = is_blank_line___0(s___1);
    if (tmp) {
      goto while_break;
    }
    __Cont: /* CIL Label */
    s___1 = next_line___0(s___1);
  }
  while_break: /* CIL Label */ ;
  }
  end_of_title = s___1 - buf___19;
  l = last_line(buf___19, len___0);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (l >= end_of_title)) {
      goto while_break___0;
    }
    bol = buf___19 + l;
    if ((int const   )*(bol + 0) == (int const   )comment_line_char) {
      non_trailer_lines += possible_continuation_lines;
      possible_continuation_lines = 0;
      goto __Cont___0;
    }
    tmp___2 = is_blank_line___0(bol);
    if (tmp___2) {
      if (only_spaces) {
        goto __Cont___0;
      }
      non_trailer_lines += possible_continuation_lines;
      if (recognized_prefix) {
        if (trailer_lines * 3 >= non_trailer_lines) {
          tmp___0 = next_line___0(bol);
          return ((size_t )(tmp___0 - buf___19));
        } else {
          goto _L;
        }
      } else
      _L: /* CIL Label */
      if (trailer_lines) {
        if (! non_trailer_lines) {
          tmp___1 = next_line___0(bol);
          return ((size_t )(tmp___1 - buf___19));
        }
      }
      return (len___0);
    }
    only_spaces = 0;
    p___0 = git_generated_prefixes;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! *p___0) {
        goto while_break___1;
      }
      tmp___3 = starts_with(bol, *p___0);
      if (tmp___3) {
        trailer_lines ++;
        possible_continuation_lines = 0;
        recognized_prefix = 1;
        goto continue_outer_loop;
      }
      p___0 ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    separator_pos = find_separator(bol, (char const   *)separators);
    if (separator_pos >= 1L) {
      if (! (((int const   )sane_ctype[(unsigned char )*(bol + 0)] & 1) != 0)) {
        trailer_lines ++;
        possible_continuation_lines = 0;
        if (recognized_prefix) {
          goto __Cont___0;
        }
        pos = conf_head.next;
        {
        while (1) {
          while_continue___2: /* CIL Label */ ;
          if (! ((unsigned long )pos != (unsigned long )(& conf_head))) {
            goto while_break___2;
          }
          item___0 = (struct arg_item *)((char *)pos - (unsigned long )(& ((struct arg_item *)0)->list));
          tmp___4 = token_matches_item(bol, item___0, (size_t )separator_pos);
          if (tmp___4) {
            recognized_prefix = 1;
            goto while_break___2;
          }
          pos = pos->next;
        }
        while_break___2: /* CIL Label */ ;
        }
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if (((int const   )sane_ctype[(unsigned char )*(bol + 0)] & 1) != 0) {
      possible_continuation_lines ++;
    } else {
      non_trailer_lines ++;
      non_trailer_lines += possible_continuation_lines;
      possible_continuation_lines = 0;
    }
    continue_outer_loop: ;
    __Cont___0: /* CIL Label */
    l = last_line(buf___19, (size_t )l);
  }
  while_break___0: /* CIL Label */ ;
  }
  return (len___0);
}
}
static size_t find_trailer_end(char const   *buf___19 , size_t len___0 )
{
  size_t tmp ;

  {
  tmp = ignore_non_trailer(buf___19, len___0);
  return (len___0 - tmp);
}
}
static int ends_with_blank_line(char const   *buf___19 , size_t len___0 )
{
  ssize_t ll ;
  ssize_t tmp ;
  int tmp___0 ;

  {
  tmp = last_line(buf___19, len___0);
  ll = tmp;
  if (ll < 0L) {
    return (0);
  }
  tmp___0 = is_blank_line___0(buf___19 + ll);
  return (tmp___0);
}
}
static void unfold_value(struct strbuf *val )
{
  struct strbuf out ;
  size_t i ;
  char c___0 ;
  size_t tmp ;

  {
  out.alloc = 0UL;
  out.len = 0UL;
  out.buf = strbuf_slopbuf;
  strbuf_grow(& out, val->len);
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < val->len)) {
      goto while_break;
    }
    tmp = i;
    i ++;
    c___0 = *(val->buf + tmp);
    if ((int )c___0 == 10) {
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (i < val->len) {
          if (! (((int const   )sane_ctype[(unsigned char )*(val->buf + i)] & 1) != 0)) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      strbuf_addch(& out, ' ');
    } else {
      strbuf_addch(& out, (int )c___0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_trim(& out);
  strbuf_swap(& out, val);
  strbuf_release(& out);
  return;
}
}
static size_t process_input_file(FILE *outfile , char const   *str , struct list_head *head___1 ,
                                 struct process_trailer_options  const  *opts___1 )
{
  struct trailer_info info___0 ;
  struct strbuf tok ;
  struct strbuf val ;
  size_t i ;
  int separator_pos ;
  char *trailer ;
  ssize_t tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  tok.alloc = 0UL;
  tok.len = 0UL;
  tok.buf = strbuf_slopbuf;
  val.alloc = 0UL;
  val.len = 0UL;
  val.buf = strbuf_slopbuf;
  trailer_info_get(& info___0, str, opts___1);
  if (! opts___1->only_trailers) {
    fwrite((void const   * __restrict  )str, (size_t )1, (size_t )(info___0.trailer_start - str),
           (FILE * __restrict  )outfile);
  }
  if (! opts___1->only_trailers) {
    if (! info___0.blank_line_before_trailer) {
      fprintf(outfile, (char const   *)"\n");
    }
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < info___0.trailer_nr)) {
      goto while_break;
    }
    trailer = *(info___0.trailers + i);
    if ((int )*(trailer + 0) == (int )comment_line_char) {
      goto __Cont;
    }
    tmp = find_separator((char const   *)trailer, (char const   *)separators);
    separator_pos = (int )tmp;
    if (separator_pos >= 1) {
      parse_trailer(& tok, & val, (struct conf_info  const  **)((void *)0), (char const   *)trailer,
                    (ssize_t )separator_pos);
      if (opts___1->unfold) {
        unfold_value(& val);
      }
      tmp___0 = strbuf_detach(& val, (size_t *)((void *)0));
      tmp___1 = strbuf_detach(& tok, (size_t *)((void *)0));
      add_trailer_item(head___1, tmp___1, tmp___0);
    } else
    if (! opts___1->only_trailers) {
      strbuf_addstr(& val, (char const   *)trailer);
      strbuf_strip_suffix(& val, (char const   *)"\n");
      tmp___2 = strbuf_detach(& val, (size_t *)((void *)0));
      add_trailer_item(head___1, (char *)((void *)0), tmp___2);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  trailer_info_release(& info___0);
  return ((size_t )(info___0.trailer_end - str));
}
}
static void free_all(struct list_head *head___1 )
{
  struct list_head *pos ;
  struct list_head *p___0 ;

  {
  pos = head___1->next;
  p___0 = pos->next;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )pos != (unsigned long )head___1)) {
      goto while_break;
    }
    list_del(pos);
    free_trailer_item((struct trailer_item *)((char *)pos - (unsigned long )(& ((struct trailer_item *)0)->list)));
    pos = p___0;
    p___0 = pos->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct tempfile *trailers_tempfile  ;
static FILE *create_in_place_tempfile(char const   *file___0 )
{
  struct stat st ;
  struct strbuf filename_template ;
  char const   *tail ;
  FILE *outfile ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  filename_template.alloc = 0UL;
  filename_template.len = 0UL;
  filename_template.buf = strbuf_slopbuf;
  tmp___0 = stat(file___0, & st);
  if (tmp___0) {
    tmp = _((char const   *)"could not stat %s");
    die_errno((char const   *)tmp, file___0);
  }
  if (! ((st.st_mode & 61440U) == 32768U)) {
    tmp___1 = _((char const   *)"file %s is not a regular file");
    die((char const   *)tmp___1, file___0);
  }
  if (! (st.st_mode & 128U)) {
    tmp___2 = _((char const   *)"file %s is not writable by user");
    die((char const   *)tmp___2, file___0);
  }
  tmp___3 = strrchr(file___0, '/');
  tail = (char const   *)tmp___3;
  if ((unsigned long )tail != (unsigned long )((void *)0)) {
    strbuf_add(& filename_template, (void const   *)file___0, (size_t )((tail - file___0) + 1L));
  }
  strbuf_addstr(& filename_template, (char const   *)"git-interpret-trailers-XXXXXX");
  trailers_tempfile = xmks_tempfile_m((char const   *)filename_template.buf, (int )st.st_mode);
  strbuf_release(& filename_template);
  outfile = fdopen_tempfile(trailers_tempfile, (char const   *)"w");
  if (! outfile) {
    tmp___4 = _((char const   *)"could not open temporary file");
    die_errno((char const   *)tmp___4);
  }
  return (outfile);
}
}
void process_trailers(char const   *file___0 , struct process_trailer_options  const  *opts___1 ,
                      struct list_head *new_trailer_head )
{
  struct list_head head___1 ;
  struct strbuf sb___6 ;
  size_t trailer_end ;
  FILE *outfile ;
  struct list_head arg_head ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  head___1.next = & head___1;
  head___1.prev = & head___1;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  outfile = stdout;
  ensure_configured();
  read_input_file(& sb___6, file___0);
  if (opts___1->in_place) {
    outfile = create_in_place_tempfile(file___0);
  }
  trailer_end = process_input_file(outfile, (char const   *)sb___6.buf, & head___1,
                                   opts___1);
  if (! opts___1->only_input) {
    arg_head.next = & arg_head;
    arg_head.prev = & arg_head;
    process_command_line_args(& arg_head, new_trailer_head);
    process_trailers_lists(& head___1, & arg_head);
  }
  print_all(outfile, & head___1, opts___1);
  free_all(& head___1);
  if (! opts___1->only_trailers) {
    fwrite((void const   * __restrict  )(sb___6.buf + trailer_end), (size_t )1, sb___6.len - trailer_end,
           (FILE * __restrict  )outfile);
  }
  if (opts___1->in_place) {
    tmp___0 = rename_tempfile(& trailers_tempfile, file___0);
    if (tmp___0) {
      tmp = _((char const   *)"could not rename temporary file to %s");
      die_errno((char const   *)tmp, file___0);
    }
  }
  strbuf_release(& sb___6);
  return;
}
}
void trailer_info_get(struct trailer_info *info___0 , char const   *str , struct process_trailer_options  const  *opts___1 )
{
  int patch_start ;
  int trailer_end ;
  int trailer_start ;
  struct strbuf **trailer_lines ;
  struct strbuf **ptr ;
  char **trailer_strings ;
  size_t nr___0 ;
  size_t alloc___0 ;
  char **last ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  struct strbuf sb___6 ;
  size_t tmp___3 ;
  size_t tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  ssize_t tmp___7 ;
  ssize_t tmp___8 ;

  {
  trailer_strings = (char **)((void *)0);
  nr___0 = (size_t )0;
  alloc___0 = (size_t )0;
  last = (char **)((void *)0);
  ensure_configured();
  if (opts___1->no_divider) {
    tmp = strlen(str);
    patch_start = (int )tmp;
  } else {
    tmp___0 = find_patch_start(str);
    patch_start = (int )tmp___0;
  }
  tmp___1 = find_trailer_end(str, (size_t )patch_start);
  trailer_end = (int )tmp___1;
  tmp___2 = find_trailer_start(str, (size_t )trailer_end);
  trailer_start = (int )tmp___2;
  trailer_lines = strbuf_split_buf(str + trailer_start, (size_t )(trailer_end - trailer_start),
                                   '\n', 0);
  ptr = trailer_lines;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *ptr) {
      goto while_break;
    }
    if (last) {
      if (((int const   )sane_ctype[(unsigned char )*((*ptr)->buf + 0)] & 1) != 0) {
        sb___6.alloc = 0UL;
        sb___6.len = 0UL;
        sb___6.buf = strbuf_slopbuf;
        tmp___3 = strlen((char const   *)*last);
        tmp___4 = strlen((char const   *)*last);
        strbuf_attach(& sb___6, (void *)*last, tmp___4, tmp___3);
        strbuf_addbuf(& sb___6, (struct strbuf  const  *)*ptr);
        *last = strbuf_detach(& sb___6, (size_t *)((void *)0));
        goto __Cont;
      }
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (nr___0 + 1UL > alloc___0) {
        if (((alloc___0 + 16UL) * 3UL) / 2UL < nr___0 + 1UL) {
          alloc___0 = nr___0 + 1UL;
        } else {
          alloc___0 = ((alloc___0 + 16UL) * 3UL) / 2UL;
        }
        tmp___5 = st_mult(sizeof(*trailer_strings), alloc___0);
        tmp___6 = xrealloc((void *)trailer_strings, tmp___5);
        trailer_strings = (char **)tmp___6;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    *(trailer_strings + nr___0) = strbuf_detach(*ptr, (size_t *)((void *)0));
    tmp___8 = find_separator((char const   *)*(trailer_strings + nr___0), (char const   *)separators);
    if (tmp___8 >= 1L) {
      last = trailer_strings + nr___0;
    } else {
      last = (char **)((void *)0);
    }
    nr___0 ++;
    __Cont: /* CIL Label */
    ptr ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_list_free(trailer_lines);
  info___0->blank_line_before_trailer = ends_with_blank_line(str, (size_t )trailer_start);
  info___0->trailer_start = str + trailer_start;
  info___0->trailer_end = str + trailer_end;
  info___0->trailers = trailer_strings;
  info___0->trailer_nr = nr___0;
  return;
}
}
void trailer_info_release(struct trailer_info *info___0 )
{
  size_t i ;

  {
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < info___0->trailer_nr)) {
      goto while_break;
    }
    free((void *)*(info___0->trailers + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)info___0->trailers);
  return;
}
}
static void format_trailer_info(struct strbuf *out , struct trailer_info  const  *info___0 ,
                                struct process_trailer_options  const  *opts___1 )
{
  size_t origlen ;
  size_t i ;
  char *trailer ;
  ssize_t separator_pos ;
  ssize_t tmp ;
  struct strbuf tok ;
  struct strbuf val ;
  int tmp___0 ;

  {
  origlen = out->len;
  if (! opts___1->only_trailers) {
    if (! opts___1->unfold) {
      if (! opts___1->filter) {
        if (! opts___1->separator) {
          if (! opts___1->key_only) {
            if (! opts___1->value_only) {
              if (! opts___1->key_value_separator) {
                strbuf_add(out, (void const   *)info___0->trailer_start, (size_t )(info___0->trailer_end - info___0->trailer_start));
                return;
              }
            }
          }
        }
      }
    }
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (size_t )info___0->trailer_nr)) {
      goto while_break;
    }
    trailer = *(info___0->trailers + i);
    tmp = find_separator((char const   *)trailer, (char const   *)separators);
    separator_pos = tmp;
    if (separator_pos >= 1L) {
      tok.alloc = 0UL;
      tok.len = 0UL;
      tok.buf = strbuf_slopbuf;
      val.alloc = 0UL;
      val.len = 0UL;
      val.buf = strbuf_slopbuf;
      parse_trailer(& tok, & val, (struct conf_info  const  **)((void *)0), (char const   *)trailer,
                    separator_pos);
      if (! opts___1->filter) {
        goto _L;
      } else {
        tmp___0 = (*(opts___1->filter))((struct strbuf  const  *)(& tok), (void *)opts___1->filter_data);
        if (tmp___0) {
          _L: /* CIL Label */
          if (opts___1->unfold) {
            unfold_value(& val);
          }
          if (opts___1->separator) {
            if (out->len != origlen) {
              strbuf_addbuf(out, (struct strbuf  const  *)opts___1->separator);
            }
          }
          if (! opts___1->value_only) {
            strbuf_addbuf(out, (struct strbuf  const  *)(& tok));
          }
          if (! opts___1->key_only) {
            if (! opts___1->value_only) {
              if (opts___1->key_value_separator) {
                strbuf_addbuf(out, (struct strbuf  const  *)opts___1->key_value_separator);
              } else {
                strbuf_addstr(out, (char const   *)": ");
              }
            }
          }
          if (! opts___1->key_only) {
            strbuf_addbuf(out, (struct strbuf  const  *)(& val));
          }
          if (! opts___1->separator) {
            strbuf_addch(out, '\n');
          }
        }
      }
      strbuf_release(& tok);
      strbuf_release(& val);
    } else
    if (! opts___1->only_trailers) {
      if (opts___1->separator) {
        if (out->len != origlen) {
          strbuf_addbuf(out, (struct strbuf  const  *)opts___1->separator);
        }
      }
      strbuf_addstr(out, (char const   *)trailer);
      if (opts___1->separator) {
        strbuf_rtrim(out);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void format_trailers_from_commit(struct strbuf *out , char const   *msg___5 , struct process_trailer_options  const  *opts___1 )
{
  struct trailer_info info___0 ;

  {
  trailer_info_get(& info___0, msg___5, opts___1);
  format_trailer_info(out, (struct trailer_info  const  *)(& info___0), opts___1);
  trailer_info_release(& info___0);
  return;
}
}
void trailer_iterator_init(struct trailer_iterator *iter___0 , char const   *msg___5 )
{
  struct process_trailer_options opts___1 ;

  {
  opts___1.in_place = 0;
  opts___1.trim_empty = 0;
  opts___1.only_trailers = 0;
  opts___1.only_input = 0;
  opts___1.unfold = 0;
  opts___1.no_divider = 0;
  opts___1.key_only = 0;
  opts___1.value_only = 0;
  opts___1.separator = (struct strbuf  const  *)0;
  opts___1.key_value_separator = (struct strbuf  const  *)0;
  opts___1.filter = (int (*)(struct strbuf  const  * , void * ))0;
  opts___1.filter_data = (void *)0;
  strbuf_init(& iter___0->key, (size_t )0);
  strbuf_init(& iter___0->val, (size_t )0);
  opts___1.no_divider = 1;
  trailer_info_get(& iter___0->info, msg___5, (struct process_trailer_options  const  *)(& opts___1));
  iter___0->cur = (size_t )0;
  return;
}
}
int trailer_iterator_advance(struct trailer_iterator *iter___0 )
{
  char *trailer ;
  size_t tmp ;
  int separator_pos ;
  ssize_t tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (iter___0->cur < iter___0->info.trailer_nr)) {
      goto while_break;
    }
    tmp = iter___0->cur;
    (iter___0->cur) ++;
    trailer = *(iter___0->info.trailers + tmp);
    tmp___0 = find_separator((char const   *)trailer, (char const   *)separators);
    separator_pos = (int )tmp___0;
    if (separator_pos < 1) {
      goto while_continue;
    }
    strbuf_setlen(& iter___0->key, (size_t )0);
    strbuf_setlen(& iter___0->val, (size_t )0);
    parse_trailer(& iter___0->key, & iter___0->val, (struct conf_info  const  **)((void *)0),
                  (char const   *)trailer, (ssize_t )separator_pos);
    unfold_value(& iter___0->val);
    return (1);
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
void trailer_iterator_release(struct trailer_iterator *iter___0 )
{


  {
  trailer_info_release(& iter___0->info);
  strbuf_release(& iter___0->val);
  strbuf_release(& iter___0->key);
  return;
}
}
static double const   __ac_HASH_UPPER___92  =    (double const   )0.77;
__inline static void kh_resize_oid_set___92(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___92(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___92 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___92 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___92(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___92(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___92(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___92(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___92(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___92(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___92 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___92 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___92(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___92(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___92(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___92(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___92(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___92(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___92 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___92 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___92(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___92(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___92(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___92(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int debug  ;
static void sendline(struct helper_data *helper , struct strbuf *buffer___5 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  ssize_t tmp___0 ;

  {
  if (debug) {
    fprintf(stderr, (char const   *)"Debug: Remote helper: -> %s", buffer___5->buf);
  }
  tmp___0 = write_in_full((helper->helper)->in, (void const   *)buffer___5->buf, buffer___5->len);
  if (tmp___0 < 0L) {
    tmp = _((char const   *)"full write to remote helper failed");
    die_errno((char const   *)tmp);
  }
  return;
}
}
static int recvline_fh(FILE *helper , struct strbuf *buffer___5 )
{
  int tmp ;

  {
  strbuf_setlen(buffer___5, (size_t )0);
  if (debug) {
    fprintf(stderr, (char const   *)"Debug: Remote helper: Waiting...\n");
  }
  tmp = strbuf_getline(buffer___5, helper);
  if (tmp == -1) {
    if (debug) {
      fprintf(stderr, (char const   *)"Debug: Remote helper quit.\n");
    }
    return (1);
  }
  if (debug) {
    fprintf(stderr, (char const   *)"Debug: Remote helper: <- %s\n", buffer___5->buf);
  }
  return (0);
}
}
static int recvline(struct helper_data *helper , struct strbuf *buffer___5 )
{
  int tmp ;

  {
  tmp = recvline_fh(helper->out, buffer___5);
  return (tmp);
}
}
static void write_constant(int fd , char const   *str )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  size_t tmp___0 ;
  ssize_t tmp___1 ;

  {
  if (debug) {
    fprintf(stderr, (char const   *)"Debug: Remote helper: -> %s", str);
  }
  tmp___0 = strlen(str);
  tmp___1 = write_in_full(fd, (void const   *)str, tmp___0);
  if (tmp___1 < 0L) {
    tmp = _((char const   *)"full write to remote helper failed");
    die_errno((char const   *)tmp);
  }
  return;
}
}
static char const   *remove_ext_force(char const   *url )
{
  char const   *colon ;
  char *tmp ;

  {
  if (url) {
    tmp = strchr(url, ':');
    colon = (char const   *)tmp;
    if (colon) {
      if ((int const   )*(colon + 1) == 58) {
        return (colon + 2);
      }
    }
  }
  return (url);
}
}
static void do_take_over(struct transport *transport )
{
  struct helper_data *data ;

  {
  data = (struct helper_data *)transport->data;
  transport_take_over(transport, data->helper);
  fclose(data->out);
  free((void *)data);
  return;
}
}
static void standard_options(struct transport *t ) ;
static struct child_process *get_helper(struct transport *transport )
{
  struct helper_data *data ;
  struct strbuf buf___19 ;
  struct child_process *helper ;
  int duped ;
  int code ;
  void *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const   *capname ;
  char const   *arg ;
  int mandatory ;
  int tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;

  {
  data = (struct helper_data *)transport->data;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (data->helper) {
    return (data->helper);
  }
  tmp = xmalloc(sizeof(*helper));
  helper = (struct child_process *)tmp;
  child_process_init(helper);
  helper->in = -1;
  helper->out = -1;
  helper->err = 0;
  strvec_pushf(& helper->args, (char const   *)"remote-%s", data->name);
  strvec_push(& helper->args, (transport->remote)->name);
  tmp___0 = remove_ext_force(transport->url);
  strvec_push(& helper->args, tmp___0);
  helper->git_cmd = 1U;
  helper->silent_exec_failure = 1U;
  tmp___2 = have_git_dir();
  if (tmp___2) {
    tmp___1 = get_git_dir();
    strvec_pushf(& helper->env_array, (char const   *)"%s=%s", "GIT_DIR", tmp___1);
  }
  helper->trace2_child_class = *(helper->args.v + 0);
  code = start_command(helper);
  if (code < 0) {
    tmp___5 = __errno_location();
    if (*tmp___5 == 2) {
      tmp___3 = _((char const   *)"unable to find remote helper for \'%s\'");
      die((char const   *)tmp___3, data->name);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (code != 0) {
    tmp___4 = trace2_cmd_exit_fl((char const   *)"transport-helper.c", 147, code);
    exit(tmp___4);
  }
  data->helper = helper;
  data->no_disconnect_req = 0U;
  refspec_init(& data->rs, 1);
  duped = dup(helper->out);
  if (duped < 0) {
    tmp___6 = _((char const   *)"can\'t dup helper output fd");
    die_errno((char const   *)tmp___6);
  }
  data->out = xfdopen(duped, (char const   *)"r");
  write_constant(helper->in, (char const   *)"capabilities\n");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    mandatory = 0;
    tmp___8 = recvline(data, & buf___19);
    if (tmp___8) {
      tmp___7 = trace2_cmd_exit_fl((char const   *)"transport-helper.c", 170, 128);
      exit(tmp___7);
    }
    if (! *(buf___19.buf)) {
      goto while_break;
    }
    if ((int )*(buf___19.buf) == 42) {
      capname = (char const   *)(buf___19.buf + 1);
      mandatory = 1;
    } else {
      capname = (char const   *)buf___19.buf;
    }
    if (debug) {
      fprintf(stderr, (char const   *)"Debug: Got cap %s\n", capname);
    }
    tmp___24 = strcmp(capname, (char const   *)"fetch");
    if (tmp___24) {
      tmp___23 = strcmp(capname, (char const   *)"option");
      if (tmp___23) {
        tmp___22 = strcmp(capname, (char const   *)"push");
        if (tmp___22) {
          tmp___21 = strcmp(capname, (char const   *)"import");
          if (tmp___21) {
            tmp___20 = strcmp(capname, (char const   *)"bidi-import");
            if (tmp___20) {
              tmp___19 = strcmp(capname, (char const   *)"export");
              if (tmp___19) {
                tmp___18 = strcmp(capname, (char const   *)"check-connectivity");
                if (tmp___18) {
                  tmp___17 = skip_prefix(capname, (char const   *)"refspec ", & arg);
                  if (tmp___17) {
                    refspec_append(& data->rs, arg);
                  } else {
                    tmp___16 = strcmp(capname, (char const   *)"connect");
                    if (tmp___16) {
                      tmp___15 = strcmp(capname, (char const   *)"stateless-connect");
                      if (tmp___15) {
                        tmp___14 = strcmp(capname, (char const   *)"signed-tags");
                        if (tmp___14) {
                          tmp___13 = skip_prefix(capname, (char const   *)"export-marks ",
                                                 & arg);
                          if (tmp___13) {
                            data->export_marks = xstrdup(arg);
                          } else {
                            tmp___12 = skip_prefix(capname, (char const   *)"import-marks ",
                                                   & arg);
                            if (tmp___12) {
                              data->import_marks = xstrdup(arg);
                            } else {
                              tmp___11 = starts_with(capname, (char const   *)"no-private-update");
                              if (tmp___11) {
                                data->no_private_update = 1U;
                              } else {
                                tmp___10 = starts_with(capname, (char const   *)"object-format");
                                if (tmp___10) {
                                  data->object_format = 1U;
                                } else
                                if (mandatory) {
                                  tmp___9 = _((char const   *)"unknown mandatory capability %s; this remote helper probably needs newer version of Git");
                                  die((char const   *)tmp___9, capname);
                                }
                              }
                            }
                          }
                        } else {
                          data->signed_tags = 1U;
                        }
                      } else {
                        data->stateless_connect = 1U;
                      }
                    } else {
                      data->connect = 1U;
                    }
                  }
                } else {
                  data->check_connectivity = 1U;
                }
              } else {
                data->export = 1U;
              }
            } else {
              data->bidi_import = 1U;
            }
          } else {
            data->import = 1U;
          }
        } else {
          data->push = 1U;
        }
      } else {
        data->option = 1U;
      }
    } else {
      data->fetch = 1U;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (! data->rs.nr) {
    if (data->import) {
      tmp___25 = _((char const   *)"this remote helper should implement refspec capability");
      warning((char const   *)tmp___25);
    } else
    if (data->bidi_import) {
      tmp___25 = _((char const   *)"this remote helper should implement refspec capability");
      warning((char const   *)tmp___25);
    } else
    if (data->export) {
      tmp___25 = _((char const   *)"this remote helper should implement refspec capability");
      warning((char const   *)tmp___25);
    }
  }
  strbuf_release(& buf___19);
  if (debug) {
    fprintf(stderr, (char const   *)"Debug: Capabilities complete.\n");
  }
  standard_options(transport);
  return (data->helper);
}
}
static int disconnect_helper(struct transport *transport )
{
  struct helper_data *data ;
  int res ;

  {
  data = (struct helper_data *)transport->data;
  res = 0;
  if (data->helper) {
    if (debug) {
      fprintf(stderr, (char const   *)"Debug: Disconnecting.\n");
    }
    if (! data->no_disconnect_req) {
      sigchain_push(13, (void (*)(int  ))1);
      xwrite((data->helper)->in, (void const   *)"\n", (size_t )1);
      sigchain_pop(13);
    }
    close((data->helper)->in);
    close((data->helper)->out);
    fclose(data->out);
    res = finish_command(data->helper);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      free((void *)data->helper);
      data->helper = (struct child_process *)((void *)0);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
  }
  return (res);
}
}
static char const   *unsupported_options[4]  = {      (char const   *)"uploadpack",      (char const   *)"receivepack",      (char const   *)"thin",      (char const   *)"keep"};
static char const   *boolean_options[4]  = {      (char const   *)"thin",      (char const   *)"keep",      (char const   *)"followtags",      (char const   *)"deepen-relative"};
static int strbuf_set_helper_option(struct helper_data *data , struct strbuf *buf___19 )
{
  int ret___67 ;
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  sendline(data, buf___19);
  tmp___0 = recvline(data, buf___19);
  if (tmp___0) {
    tmp = trace2_cmd_exit_fl((char const   *)"transport-helper.c", 278, 128);
    exit(tmp);
  }
  tmp___4 = strcmp((char const   *)buf___19->buf, (char const   *)"ok");
  if (tmp___4) {
    tmp___3 = starts_with((char const   *)buf___19->buf, (char const   *)"error");
    if (tmp___3) {
      ret___67 = -1;
    } else {
      tmp___2 = strcmp((char const   *)buf___19->buf, (char const   *)"unsupported");
      if (tmp___2) {
        tmp___1 = _((char const   *)"%s unexpectedly said: \'%s\'");
        warning((char const   *)tmp___1, data->name, buf___19->buf);
        ret___67 = 1;
      } else {
        ret___67 = 1;
      }
    }
  } else {
    ret___67 = 0;
  }
  return (ret___67);
}
}
static int string_list_set_helper_option(struct helper_data *data , char const   *name___0 ,
                                         struct string_list *list___3 )
{
  struct strbuf buf___19 ;
  int i ;
  int ret___67 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  ret___67 = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < list___3->nr)) {
      goto while_break;
    }
    strbuf_addf(& buf___19, (char const   *)"option %s ", name___0);
    quote_c_style((char const   *)(list___3->items + i)->string, & buf___19, (FILE *)((void *)0),
                  0U);
    strbuf_addch(& buf___19, '\n');
    ret___67 = strbuf_set_helper_option(data, & buf___19);
    if (ret___67) {
      goto while_break;
    }
    strbuf_setlen(& buf___19, (size_t )0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  return (ret___67);
}
}
static int set_helper_option(struct transport *transport , char const   *name___0 ,
                             char const   *value )
{
  struct helper_data *data ;
  struct strbuf buf___19 ;
  int i ;
  int ret___67 ;
  int is_bool ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;

  {
  data = (struct helper_data *)transport->data;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  is_bool = 0;
  get_helper(transport);
  if (! data->option) {
    return (1);
  }
  tmp___0 = strcmp(name___0, (char const   *)"deepen-not");
  if (! tmp___0) {
    tmp = string_list_set_helper_option(data, name___0, (struct string_list *)value);
    return (tmp);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(unsupported_options) / sizeof(unsupported_options[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp___1 = strcmp(name___0, unsupported_options[i]);
    if (! tmp___1) {
      return (1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(boolean_options) / sizeof(boolean_options[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break___0;
    }
    tmp___2 = strcmp(name___0, boolean_options[i]);
    if (! tmp___2) {
      is_bool = 1;
      goto while_break___0;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_addf(& buf___19, (char const   *)"option %s ", name___0);
  if (is_bool) {
    if (value) {
      tmp___3 = "true";
    } else {
      tmp___3 = "false";
    }
    strbuf_addstr(& buf___19, (char const   *)tmp___3);
  } else {
    quote_c_style(value, & buf___19, (FILE *)((void *)0), 0U);
  }
  strbuf_addch(& buf___19, '\n');
  ret___67 = strbuf_set_helper_option(data, & buf___19);
  strbuf_release(& buf___19);
  return (ret___67);
}
}
static void standard_options(struct transport *t )
{
  char buf___19[16] ;
  int v ;
  char *tmp ;

  {
  v = t->verbose;
  if (t->progress) {
    tmp = "true";
  } else {
    tmp = "false";
  }
  set_helper_option(t, (char const   *)"progress", (char const   *)tmp);
  xsnprintf(buf___19, sizeof(buf___19), (char const   *)"%d", v + 1);
  set_helper_option(t, (char const   *)"verbosity", (char const   *)(buf___19));
  {
  if ((unsigned int )t->family == 0U) {
    goto case_0;
  }
  if ((unsigned int )t->family == 1U) {
    goto case_1;
  }
  if ((unsigned int )t->family == 2U) {
    goto case_2;
  }
  goto switch_break;
  case_0: /* CIL Label */
  goto switch_break;
  case_1: /* CIL Label */
  set_helper_option(t, (char const   *)"family", (char const   *)"ipv4");
  goto switch_break;
  case_2: /* CIL Label */
  set_helper_option(t, (char const   *)"family", (char const   *)"ipv6");
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static int release_helper(struct transport *transport )
{
  int res ;
  struct helper_data *data ;

  {
  res = 0;
  data = (struct helper_data *)transport->data;
  refspec_clear(& data->rs);
  res = disconnect_helper(transport);
  free(transport->data);
  return (res);
}
}
static int fetch_with_fetch(struct transport *transport , int nr_heads , struct ref **to_fetch )
{
  struct helper_data *data ;
  int i ;
  struct strbuf buf___19 ;
  struct ref  const  *posn ;
  char *tmp ;
  char *tmp___0 ;
  char const   *name___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  data = (struct helper_data *)transport->data;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_heads)) {
      goto while_break;
    }
    posn = (struct ref  const  *)*(to_fetch + i);
    if ((unsigned int )posn->status & 10U) {
      goto __Cont;
    }
    if (posn->symref) {
      tmp = posn->symref;
    } else {
      tmp = posn->name;
    }
    tmp___0 = oid_to_hex((struct object_id  const  *)(& posn->old_oid));
    strbuf_addf(& buf___19, (char const   *)"fetch %s %s\n", tmp___0, tmp);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addch(& buf___19, '\n');
  sendline(data, & buf___19);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___2 = recvline(data, & buf___19);
    if (tmp___2) {
      tmp___1 = trace2_cmd_exit_fl((char const   *)"transport-helper.c", 413, 128);
      exit(tmp___1);
    }
    tmp___6 = skip_prefix((char const   *)buf___19.buf, (char const   *)"lock ", & name___0);
    if (tmp___6) {
      if (transport->pack_lockfiles.nr) {
        tmp___3 = _((char const   *)"%s also locked %s");
        warning((char const   *)tmp___3, data->name, name___0);
      } else {
        string_list_append(& transport->pack_lockfiles, name___0);
      }
    } else
    if (data->check_connectivity) {
      if (data->transport_options.check_self_contained_and_connected) {
        tmp___5 = strcmp((char const   *)buf___19.buf, (char const   *)"connectivity-ok");
        if (tmp___5) {
          goto _L___0;
        } else {
          data->transport_options.self_contained_and_connected = 1U;
        }
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    _L: /* CIL Label */
    if (! buf___19.len) {
      goto while_break___0;
    } else {
      tmp___4 = _((char const   *)"%s unexpectedly said: \'%s\'");
      warning((char const   *)tmp___4, data->name, buf___19.buf);
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  return (0);
}
}
static int get_importer(struct transport *transport , struct child_process *fastimport )
{
  struct child_process *helper ;
  struct child_process *tmp ;
  struct helper_data *data ;
  int cat_blob_fd___0 ;
  int code ;
  char *tmp___0 ;

  {
  tmp = get_helper(transport);
  helper = tmp;
  data = (struct helper_data *)transport->data;
  child_process_init(fastimport);
  fastimport->in = xdup(helper->out);
  strvec_push(& fastimport->args, (char const   *)"fast-import");
  strvec_push(& fastimport->args, (char const   *)"--allow-unsafe-features");
  if (debug) {
    tmp___0 = "--stats";
  } else {
    tmp___0 = "--quiet";
  }
  strvec_push(& fastimport->args, (char const   *)tmp___0);
  if (data->bidi_import) {
    cat_blob_fd___0 = xdup(helper->in);
    strvec_pushf(& fastimport->args, (char const   *)"--cat-blob-fd=%d", cat_blob_fd___0);
  }
  fastimport->git_cmd = 1U;
  code = start_command(fastimport);
  return (code);
}
}
static int get_exporter(struct transport *transport , struct child_process *fastexport ,
                        struct string_list *revlist_args )
{
  struct helper_data *data ;
  struct child_process *helper ;
  struct child_process *tmp ;
  int i ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  data = (struct helper_data *)transport->data;
  tmp = get_helper(transport);
  helper = tmp;
  child_process_init(fastexport);
  fastexport->out = dup(helper->in);
  strvec_push(& fastexport->args, (char const   *)"fast-export");
  strvec_push(& fastexport->args, (char const   *)"--use-done-feature");
  if (data->signed_tags) {
    tmp___0 = "--signed-tags=verbatim";
  } else {
    tmp___0 = "--signed-tags=warn-strip";
  }
  strvec_push(& fastexport->args, (char const   *)tmp___0);
  if (data->export_marks) {
    strvec_pushf(& fastexport->args, (char const   *)"--export-marks=%s.tmp", data->export_marks);
  }
  if (data->import_marks) {
    strvec_pushf(& fastexport->args, (char const   *)"--import-marks=%s", data->import_marks);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < revlist_args->nr)) {
      goto while_break;
    }
    strvec_push(& fastexport->args, (char const   *)(revlist_args->items + i)->string);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  fastexport->git_cmd = 1U;
  tmp___1 = start_command(fastexport);
  return (tmp___1);
}
}
static int fetch_with_import(struct transport *transport , int nr_heads , struct ref **to_fetch )
{
  struct child_process fastimport ;
  struct helper_data *data ;
  int i ;
  struct ref *posn ;
  struct strbuf buf___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char *private ;
  char *name___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;

  {
  data = (struct helper_data *)transport->data;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  get_helper(transport);
  tmp___0 = get_importer(transport, & fastimport);
  if (tmp___0) {
    tmp = _((char const   *)"couldn\'t run fast-import");
    die((char const   *)tmp);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_heads)) {
      goto while_break;
    }
    posn = *(to_fetch + i);
    if ((unsigned int )posn->status & 10U) {
      goto __Cont;
    }
    if (posn->symref) {
      tmp___1 = posn->symref;
    } else {
      tmp___1 = posn->name;
    }
    strbuf_addf(& buf___19, (char const   *)"import %s\n", tmp___1);
    sendline(data, & buf___19);
    strbuf_setlen(& buf___19, (size_t )0);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  write_constant((data->helper)->in, (char const   *)"\n");
  tmp___3 = finish_command(& fastimport);
  if (tmp___3) {
    tmp___2 = _((char const   *)"error while running fast-import");
    die((char const   *)tmp___2);
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < nr_heads)) {
      goto while_break___0;
    }
    posn = *(to_fetch + i);
    if ((unsigned int )posn->status & 10U) {
      goto __Cont___0;
    }
    if (posn->symref) {
      name___0 = posn->symref;
    } else {
      name___0 = posn->name;
    }
    if (data->rs.nr) {
      private = apply_refspecs(& data->rs, (char const   *)name___0);
    } else {
      private = xstrdup((char const   *)name___0);
    }
    if (private) {
      tmp___5 = read_ref((char const   *)private, & posn->old_oid);
      if (tmp___5 < 0) {
        tmp___4 = _((char const   *)"could not read ref %s");
        die((char const   *)tmp___4, private);
      }
      free((void *)private);
    }
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  return (0);
}
}
static int run_connect(struct transport *transport , struct strbuf *cmdbuf )
{
  struct helper_data *data ;
  int ret___67 ;
  int duped ;
  FILE *input ;
  struct child_process *helper ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  data = (struct helper_data *)transport->data;
  ret___67 = 0;
  helper = get_helper(transport);
  duped = dup(helper->out);
  if (duped < 0) {
    tmp = _((char const   *)"can\'t dup helper output fd");
    die_errno((char const   *)tmp);
  }
  input = xfdopen(duped, (char const   *)"r");
  setvbuf((FILE * __restrict  )input, (char * __restrict  )((void *)0), 2, (size_t )0);
  sendline(data, cmdbuf);
  tmp___1 = recvline_fh(input, cmdbuf);
  if (tmp___1) {
    tmp___0 = trace2_cmd_exit_fl((char const   *)"transport-helper.c", 581, 128);
    exit(tmp___0);
  }
  tmp___4 = strcmp((char const   *)cmdbuf->buf, (char const   *)"");
  if (tmp___4) {
    tmp___3 = strcmp((char const   *)cmdbuf->buf, (char const   *)"fallback");
    if (tmp___3) {
      tmp___2 = _((char const   *)"unknown response to connect: %s");
      die((char const   *)tmp___2, cmdbuf->buf);
    } else
    if (debug) {
      fprintf(stderr, (char const   *)"Debug: Falling back to dumb transport.\n");
    }
  } else {
    data->no_disconnect_req = 1U;
    if (debug) {
      fprintf(stderr, (char const   *)"Debug: Smart transport connection ready.\n");
    }
    ret___67 = 1;
  }
  fclose(input);
  return (ret___67);
}
}
static int process_connect_service(struct transport *transport , char const   *name___0 ,
                                   char const   *exec )
{
  struct helper_data *data ;
  struct strbuf cmdbuf ;
  int ret___67 ;
  int r ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  enum protocol_version tmp___3 ;
  int tmp___4 ;

  {
  data = (struct helper_data *)transport->data;
  cmdbuf.alloc = 0UL;
  cmdbuf.len = 0UL;
  cmdbuf.buf = strbuf_slopbuf;
  ret___67 = 0;
  tmp___2 = strcmp(name___0, exec);
  if (tmp___2) {
    tmp = set_helper_option(transport, (char const   *)"servpath", exec);
    r = tmp;
    if (r > 0) {
      tmp___0 = _((char const   *)"setting remote service path not supported by protocol");
      warning((char const   *)tmp___0);
    } else
    if (r < 0) {
      tmp___1 = _((char const   *)"invalid remote service path");
      warning((char const   *)tmp___1);
    }
  }
  if (data->connect) {
    strbuf_addf(& cmdbuf, (char const   *)"connect %s\n", name___0);
    ret___67 = run_connect(transport, & cmdbuf);
  } else
  if (data->stateless_connect) {
    tmp___3 = get_protocol_version_config();
    if ((int )tmp___3 == 2) {
      tmp___4 = strcmp((char const   *)"git-upload-pack", name___0);
      if (! tmp___4) {
        strbuf_addf(& cmdbuf, (char const   *)"stateless-connect %s\n", name___0);
        ret___67 = run_connect(transport, & cmdbuf);
        if (ret___67) {
          transport->stateless_rpc = 1U;
        }
      }
    }
  }
  strbuf_release(& cmdbuf);
  return (ret___67);
}
}
static int process_connect(struct transport *transport , int for_push )
{
  struct helper_data *data ;
  char const   *name___0 ;
  char const   *exec ;
  int tmp ;

  {
  data = (struct helper_data *)transport->data;
  if (for_push) {
    name___0 = (char const   *)"git-receive-pack";
  } else {
    name___0 = (char const   *)"git-upload-pack";
  }
  if (for_push) {
    exec = data->transport_options.receivepack;
  } else {
    exec = data->transport_options.uploadpack;
  }
  tmp = process_connect_service(transport, name___0, exec);
  return (tmp);
}
}
static int connect_helper(struct transport *transport , char const   *name___0 , char const   *exec ,
                          int *fd )
{
  struct helper_data *data ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  data = (struct helper_data *)transport->data;
  get_helper(transport);
  if (! data->connect) {
    tmp = _((char const   *)"operation not supported by protocol");
    die((char const   *)tmp);
  }
  tmp___1 = process_connect_service(transport, name___0, exec);
  if (! tmp___1) {
    tmp___0 = _((char const   *)"can\'t connect to subservice %s");
    die((char const   *)tmp___0, name___0);
  }
  *(fd + 0) = (data->helper)->out;
  *(fd + 1) = (data->helper)->in;
  return (0);
}
}
static struct ref *get_refs_list_using_list(struct transport *transport , int for_push ) ;
static int fetch_refs(struct transport *transport , int nr_heads , struct ref **to_fetch )
{
  struct helper_data *data ;
  int i ;
  int count___0 ;
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const   *spec ;
  char const   *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  data = (struct helper_data *)transport->data;
  get_helper(transport);
  tmp___0 = process_connect(transport, 0);
  if (tmp___0) {
    do_take_over(transport);
    tmp = (*((transport->vtable)->fetch_refs))(transport, nr_heads, to_fetch);
    return (tmp);
  }
  if (data->transport_options.acked_commits) {
    tmp___1 = _((char const   *)"--negotiate-only requires protocol v2");
    warning((char const   *)tmp___1);
    return (-1);
  }
  if (! data->get_refs_list_called) {
    get_refs_list_using_list(transport, 0);
  }
  count___0 = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_heads)) {
      goto while_break;
    }
    if (! ((unsigned int )(*(to_fetch + i))->status & 10U)) {
      count___0 ++;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! count___0) {
    return (0);
  }
  if (data->check_connectivity) {
    if (data->transport_options.check_self_contained_and_connected) {
      set_helper_option(transport, (char const   *)"check-connectivity", (char const   *)"true");
    }
  }
  if (transport->cloning) {
    set_helper_option(transport, (char const   *)"cloning", (char const   *)"true");
  }
  if (data->transport_options.update_shallow) {
    set_helper_option(transport, (char const   *)"update-shallow", (char const   *)"true");
  }
  if (data->transport_options.filter_options.choice) {
    tmp___2 = expand_list_objects_filter_spec(& data->transport_options.filter_options);
    spec = tmp___2;
    set_helper_option(transport, (char const   *)"filter", spec);
  }
  if (data->transport_options.negotiation_tips) {
    warning((char const   *)"Ignoring --negotiation-tip because the protocol does not support it.");
  }
  if (data->fetch) {
    tmp___3 = fetch_with_fetch(transport, nr_heads, to_fetch);
    return (tmp___3);
  }
  if (data->import) {
    tmp___4 = fetch_with_import(transport, nr_heads, to_fetch);
    return (tmp___4);
  }
  return (-1);
}
}
static int push_update_ref_status(struct strbuf *buf___19 , struct push_update_ref_state *state___1 ,
                                  struct ref *remote_refs )
{
  char *refname ;
  char *msg___5 ;
  int status ;
  int forced ;
  struct object_id old_oid ;
  struct object_id new_oid ;
  char const   *key___1 ;
  char const   *val ;
  char *p___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  struct strbuf msg_buf ;
  char const   *end ;
  char *tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  char const __attribute__((__format_arg__(1)))  *tmp___26 ;

  {
  forced = 0;
  tmp___10 = starts_with((char const   *)buf___19->buf, (char const   *)"option ");
  if (tmp___10) {
    if (! state___1->hint) {
      tmp = _((char const   *)"\'option\' without a matching \'ok/error\' directive");
      die((char const   *)tmp);
    } else
    if (! state___1->report) {
      if (! state___1->new_report) {
        tmp = _((char const   *)"\'option\' without a matching \'ok/error\' directive");
        die((char const   *)tmp);
      }
    }
    if (state___1->new_report) {
      if (! (state___1->hint)->report) {
        tmp___0 = xcalloc((size_t )1, sizeof(*((state___1->hint)->report)));
        (state___1->hint)->report = (struct ref_push_report *)tmp___0;
        state___1->report = (state___1->hint)->report;
      } else {
        state___1->report = (state___1->hint)->report;
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          if (! (state___1->report)->next) {
            goto while_break;
          }
          state___1->report = (state___1->report)->next;
        }
        while_break: /* CIL Label */ ;
        }
        tmp___1 = xcalloc((size_t )1, sizeof(*((state___1->report)->next)));
        (state___1->report)->next = (struct ref_push_report *)tmp___1;
        state___1->report = (state___1->report)->next;
      }
      state___1->new_report = 0;
    }
    key___1 = (char const   *)(buf___19->buf + 7);
    p___0 = strchr(key___1, ' ');
    if (p___0) {
      tmp___2 = p___0;
      p___0 ++;
      *tmp___2 = (char )'\000';
    }
    val = (char const   *)p___0;
    tmp___9 = strcmp(key___1, (char const   *)"refname");
    if (tmp___9) {
      tmp___7 = strcmp(key___1, (char const   *)"old-oid");
      if (tmp___7) {
        _L___2: /* CIL Label */
        _L___1: /* CIL Label */
        tmp___5 = strcmp(key___1, (char const   *)"new-oid");
        if (tmp___5) {
          _L___0: /* CIL Label */
          _L: /* CIL Label */
          tmp___4 = strcmp(key___1, (char const   *)"forced-update");
          if (! tmp___4) {
            (state___1->report)->forced_update = 1U;
          }
        } else
        if (val) {
          tmp___6 = parse_oid_hex(val, & new_oid, & val);
          if (tmp___6) {
            goto _L___0;
          } else {
            (state___1->report)->new_oid = oiddup((struct object_id  const  *)(& new_oid));
          }
        } else {
          goto _L___0;
        }
      } else
      if (val) {
        tmp___8 = parse_oid_hex(val, & old_oid, & val);
        if (tmp___8) {
          goto _L___2;
        } else {
          (state___1->report)->old_oid = oiddup((struct object_id  const  *)(& old_oid));
        }
      } else {
        goto _L___2;
      }
    } else {
      tmp___3 = xstrdup_or_null(val);
      (state___1->report)->ref_name = (char const   *)tmp___3;
    }
    return (1);
  }
  state___1->report = (struct ref_push_report *)((void *)0);
  state___1->new_report = 0;
  tmp___13 = starts_with((char const   *)buf___19->buf, (char const   *)"ok ");
  if (tmp___13) {
    status = 1;
    refname = buf___19->buf + 3;
  } else {
    tmp___12 = starts_with((char const   *)buf___19->buf, (char const   *)"error ");
    if (tmp___12) {
      status = 11;
      refname = buf___19->buf + 6;
    } else {
      tmp___11 = _((char const   *)"expected ok/error, helper said \'%s\'");
      die((char const   *)tmp___11, buf___19->buf);
    }
  }
  msg___5 = strchr((char const   *)refname, ' ');
  if (msg___5) {
    msg_buf.alloc = 0UL;
    msg_buf.len = 0UL;
    msg_buf.buf = strbuf_slopbuf;
    tmp___14 = msg___5;
    msg___5 ++;
    *tmp___14 = (char )'\000';
    tmp___15 = unquote_c_style(& msg_buf, (char const   *)msg___5, & end);
    if (tmp___15) {
      msg___5 = xstrdup((char const   *)msg___5);
    } else {
      msg___5 = strbuf_detach(& msg_buf, (size_t *)((void *)0));
    }
    strbuf_release(& msg_buf);
    tmp___25 = strcmp((char const   *)msg___5, (char const   *)"no match");
    if (tmp___25) {
      tmp___24 = strcmp((char const   *)msg___5, (char const   *)"up to date");
      if (tmp___24) {
        tmp___23 = strcmp((char const   *)msg___5, (char const   *)"non-fast forward");
        if (tmp___23) {
          tmp___22 = strcmp((char const   *)msg___5, (char const   *)"already exists");
          if (tmp___22) {
            tmp___21 = strcmp((char const   *)msg___5, (char const   *)"fetch first");
            if (tmp___21) {
              tmp___20 = strcmp((char const   *)msg___5, (char const   *)"needs force");
              if (tmp___20) {
                tmp___19 = strcmp((char const   *)msg___5, (char const   *)"stale info");
                if (tmp___19) {
                  tmp___18 = strcmp((char const   *)msg___5, (char const   *)"remote ref updated since checkout");
                  if (tmp___18) {
                    tmp___17 = strcmp((char const   *)msg___5, (char const   *)"forced update");
                    if (tmp___17) {
                      tmp___16 = strcmp((char const   *)msg___5, (char const   *)"expecting report");
                      if (! tmp___16) {
                        status = 12;
                        {
                        while (1) {
                          while_continue___0: /* CIL Label */ ;
                          free((void *)msg___5);
                          msg___5 = (char *)((void *)0);
                          goto while_break___0;
                        }
                        while_break___0: /* CIL Label */ ;
                        }
                      }
                    } else {
                      forced = 1;
                      {
                      while (1) {
                        while_continue___1: /* CIL Label */ ;
                        free((void *)msg___5);
                        msg___5 = (char *)((void *)0);
                        goto while_break___1;
                      }
                      while_break___1: /* CIL Label */ ;
                      }
                    }
                  } else {
                    status = 9;
                    {
                    while (1) {
                      while_continue___2: /* CIL Label */ ;
                      free((void *)msg___5);
                      msg___5 = (char *)((void *)0);
                      goto while_break___2;
                    }
                    while_break___2: /* CIL Label */ ;
                    }
                  }
                } else {
                  status = 7;
                  {
                  while (1) {
                    while_continue___3: /* CIL Label */ ;
                    free((void *)msg___5);
                    msg___5 = (char *)((void *)0);
                    goto while_break___3;
                  }
                  while_break___3: /* CIL Label */ ;
                  }
                }
              } else {
                status = 6;
                {
                while (1) {
                  while_continue___4: /* CIL Label */ ;
                  free((void *)msg___5);
                  msg___5 = (char *)((void *)0);
                  goto while_break___4;
                }
                while_break___4: /* CIL Label */ ;
                }
              }
            } else {
              status = 5;
              {
              while (1) {
                while_continue___5: /* CIL Label */ ;
                free((void *)msg___5);
                msg___5 = (char *)((void *)0);
                goto while_break___5;
              }
              while_break___5: /* CIL Label */ ;
              }
            }
          } else {
            status = 3;
            {
            while (1) {
              while_continue___6: /* CIL Label */ ;
              free((void *)msg___5);
              msg___5 = (char *)((void *)0);
              goto while_break___6;
            }
            while_break___6: /* CIL Label */ ;
            }
          }
        } else {
          status = 2;
          {
          while (1) {
            while_continue___7: /* CIL Label */ ;
            free((void *)msg___5);
            msg___5 = (char *)((void *)0);
            goto while_break___7;
          }
          while_break___7: /* CIL Label */ ;
          }
        }
      } else {
        status = 10;
        {
        while (1) {
          while_continue___8: /* CIL Label */ ;
          free((void *)msg___5);
          msg___5 = (char *)((void *)0);
          goto while_break___8;
        }
        while_break___8: /* CIL Label */ ;
        }
      }
    } else {
      status = 0;
      {
      while (1) {
        while_continue___9: /* CIL Label */ ;
        free((void *)msg___5);
        msg___5 = (char *)((void *)0);
        goto while_break___9;
      }
      while_break___9: /* CIL Label */ ;
      }
    }
  }
  if (state___1->hint) {
    state___1->hint = find_ref_by_name((struct ref  const  *)state___1->hint, (char const   *)refname);
  }
  if (! state___1->hint) {
    state___1->hint = find_ref_by_name((struct ref  const  *)remote_refs, (char const   *)refname);
  }
  if (! state___1->hint) {
    tmp___26 = _((char const   *)"helper reported unexpected status of %s");
    warning((char const   *)tmp___26, refname);
    return (1);
  }
  if ((unsigned int )(state___1->hint)->status != 0U) {
    if (status == 0) {
      return (1);
    }
  }
  if (status == 1) {
    state___1->new_report = 1;
  }
  (state___1->hint)->status = (enum __anonenum_status_407753297 )status;
  (state___1->hint)->forced_update |= (unsigned int )forced;
  (state___1->hint)->remote_status = msg___5;
  return (! (status == 1));
}
}
static int push_update_refs_status(struct helper_data *data , struct ref *remote_refs ,
                                   int flags___0 )
{
  struct ref *ref ;
  struct ref_push_report *report___3 ;
  struct strbuf buf___19 ;
  struct push_update_ref_state state___1 ;
  int tmp ;
  char *private ;
  char const   *tmp___0 ;
  struct object_id *tmp___1 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  state___1.hint = remote_refs;
  state___1.report = (struct ref_push_report *)((void *)0);
  state___1.new_report = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = recvline(data, & buf___19);
    if (tmp) {
      strbuf_release(& buf___19);
      return (1);
    }
    if (! buf___19.len) {
      goto while_break;
    }
    push_update_ref_status(& buf___19, & state___1, remote_refs);
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  if (flags___0 & (1 << 2)) {
    return (0);
  } else
  if (! data->rs.nr) {
    return (0);
  } else
  if (data->no_private_update) {
    return (0);
  }
  ref = remote_refs;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ref) {
      goto while_break___0;
    }
    if ((unsigned int )ref->status != 1U) {
      goto __Cont;
    }
    if (! ref->report) {
      private = apply_refspecs(& data->rs, (char const   *)(ref->name));
      if (! private) {
        goto __Cont;
      }
      update_ref((char const   *)"update by helper", (char const   *)private, (struct object_id  const  *)(& ref->new_oid),
                 (struct object_id  const  *)((void *)0), 0U, (enum action_on_err )0);
      free((void *)private);
    } else {
      report___3 = ref->report;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! report___3) {
          goto while_break___1;
        }
        if (report___3->ref_name) {
          tmp___0 = report___3->ref_name;
        } else {
          tmp___0 = (char const   *)(ref->name);
        }
        private = apply_refspecs(& data->rs, tmp___0);
        if (! private) {
          goto __Cont___0;
        }
        if (report___3->new_oid) {
          tmp___1 = report___3->new_oid;
        } else {
          tmp___1 = & ref->new_oid;
        }
        update_ref((char const   *)"update by helper", (char const   *)private, (struct object_id  const  *)tmp___1,
                   (struct object_id  const  *)((void *)0), 0U, (enum action_on_err )0);
        free((void *)private);
        __Cont___0: /* CIL Label */
        report___3 = report___3->next;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
    __Cont: /* CIL Label */
    ref = ref->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (0);
}
}
static void set_common_push_options(struct transport *transport , char const   *name___0 ,
                                    int flags___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  struct string_list_item *item___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;

  {
  if (flags___0 & (1 << 2)) {
    tmp___0 = set_helper_option(transport, (char const   *)"dry-run", (char const   *)"true");
    if (tmp___0 != 0) {
      tmp = _((char const   *)"helper %s does not support dry-run");
      die((char const   *)tmp, name___0);
    }
  } else
  if (flags___0 & (1 << 11)) {
    tmp___2 = set_helper_option(transport, (char const   *)"pushcert", (char const   *)"true");
    if (tmp___2 != 0) {
      tmp___1 = _((char const   *)"helper %s does not support --signed");
      die((char const   *)tmp___1, name___0);
    }
  } else
  if (flags___0 & (1 << 12)) {
    tmp___4 = set_helper_option(transport, (char const   *)"pushcert", (char const   *)"if-asked");
    if (tmp___4 != 0) {
      tmp___3 = _((char const   *)"helper %s does not support --signed=if-asked");
      die((char const   *)tmp___3, name___0);
    }
  }
  if (flags___0 & (1 << 13)) {
    tmp___6 = set_helper_option(transport, (char const   *)"atomic", (char const   *)"true");
    if (tmp___6 != 0) {
      tmp___5 = _((char const   *)"helper %s does not support --atomic");
      die((char const   *)tmp___5, name___0);
    }
  }
  if (flags___0 & (1 << 16)) {
    tmp___8 = set_helper_option(transport, (char const   *)"force-if-includes", (char const   *)"true");
    if (tmp___8 != 0) {
      tmp___7 = _((char const   *)"helper %s does not support --%s");
      die((char const   *)tmp___7, name___0, "force-if-includes");
    }
  }
  if (flags___0 & (1 << 14)) {
    item___0 = (struct string_list_item *)(transport->push_options)->items;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )((transport->push_options)->items + (transport->push_options)->nr))) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      tmp___10 = set_helper_option(transport, (char const   *)"push-option", (char const   *)item___0->string);
      if (tmp___10 != 0) {
        tmp___9 = _((char const   *)"helper %s does not support \'push-option\'");
        die((char const   *)tmp___9, name___0);
      }
      item___0 ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  return;
}
}
static int push_refs_with_push(struct transport *transport , struct ref *remote_refs ,
                               int flags___0 )
{
  int force_all ;
  int mirror ;
  int atomic ;
  struct helper_data *data ;
  struct strbuf buf___19 ;
  struct ref *ref ;
  struct string_list cas_options ;
  struct string_list_item *cas_option ;
  char *tmp ;
  struct strbuf cas___0 ;
  char *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  force_all = flags___0 & (1 << 1);
  mirror = flags___0 & (1 << 3);
  atomic = flags___0 & (1 << 13);
  data = (struct helper_data *)transport->data;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  cas_options.items = (struct string_list_item *)0;
  cas_options.nr = 0U;
  cas_options.alloc = 0U;
  cas_options.strdup_strings = 1U;
  cas_options.cmp = (int (*)(char const   * , char const   * ))0;
  get_helper(transport);
  if (! data->push) {
    return (1);
  }
  ref = remote_refs;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    if (! ref->peer_ref) {
      if (! mirror) {
        goto __Cont;
      }
    }
    {
    if ((unsigned int )ref->status == 9U) {
      goto case_9;
    }
    if ((unsigned int )ref->status == 3U) {
      goto case_9;
    }
    if ((unsigned int )ref->status == 7U) {
      goto case_9;
    }
    if ((unsigned int )ref->status == 2U) {
      goto case_9;
    }
    if ((unsigned int )ref->status == 10U) {
      goto case_10;
    }
    goto switch_default;
    case_9: /* CIL Label */
    case_3: /* CIL Label */
    case_7: /* CIL Label */
    case_2: /* CIL Label */
    if (atomic) {
      reject_atomic_push(remote_refs, mirror);
      string_list_clear(& cas_options, 0);
      return (0);
    } else {
      goto __Cont;
    }
    case_10: /* CIL Label */
    goto __Cont;
    switch_default: /* CIL Label */ ;
    switch_break: /* CIL Label */ ;
    }
    if (force_all) {
      ref->force = 1U;
    }
    strbuf_addstr(& buf___19, (char const   *)"push ");
    if (! ref->deletion) {
      if (ref->force) {
        strbuf_addch(& buf___19, '+');
      }
      if (ref->peer_ref) {
        strbuf_addstr(& buf___19, (char const   *)((ref->peer_ref)->name));
      } else {
        tmp = oid_to_hex((struct object_id  const  *)(& ref->new_oid));
        strbuf_addstr(& buf___19, (char const   *)tmp);
      }
    }
    strbuf_addch(& buf___19, ':');
    strbuf_addstr(& buf___19, (char const   *)(ref->name));
    strbuf_addch(& buf___19, '\n');
    if (ref->expect_old_sha1) {
      cas___0.alloc = 0UL;
      cas___0.len = 0UL;
      cas___0.buf = strbuf_slopbuf;
      tmp___0 = oid_to_hex((struct object_id  const  *)(& ref->old_oid_expect));
      strbuf_addf(& cas___0, (char const   *)"%s:%s", ref->name, tmp___0);
      tmp___1 = strbuf_detach(& cas___0, (size_t *)((void *)0));
      string_list_append_nodup(& cas_options, tmp___1);
    }
    __Cont: /* CIL Label */
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (buf___19.len == 0UL) {
    string_list_clear(& cas_options, 0);
    return (0);
  }
  cas_option = cas_options.items;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (cas_option) {
      if (! ((unsigned long )cas_option < (unsigned long )(cas_options.items + cas_options.nr))) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    set_helper_option(transport, (char const   *)"cas", (char const   *)cas_option->string);
    cas_option ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  set_common_push_options(transport, data->name, flags___0);
  strbuf_addch(& buf___19, '\n');
  sendline(data, & buf___19);
  strbuf_release(& buf___19);
  string_list_clear(& cas_options, 0);
  tmp___2 = push_update_refs_status(data, remote_refs, flags___0);
  return (tmp___2);
}
}
static int push_refs_with_export(struct transport *transport , struct ref *remote_refs ,
                                 int flags___0 )
{
  struct ref *ref ;
  struct child_process *helper ;
  struct child_process exporter ;
  struct helper_data *data ;
  struct string_list revlist_args ;
  struct strbuf buf___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char *private ;
  struct object_id oid ;
  char *tmp___2 ;
  int tmp___3 ;
  char const   *name___0 ;
  int flag ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  data = (struct helper_data *)transport->data;
  revlist_args.items = (struct string_list_item *)0;
  revlist_args.nr = 0U;
  revlist_args.alloc = 0U;
  revlist_args.strdup_strings = 1U;
  revlist_args.cmp = (int (*)(char const   * , char const   * ))0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (! data->rs.nr) {
    tmp = _((char const   *)"remote-helper doesn\'t support push; refspec needed");
    die((char const   *)tmp);
  }
  set_common_push_options(transport, data->name, flags___0);
  if (flags___0 & (1 << 1)) {
    tmp___1 = set_helper_option(transport, (char const   *)"force", (char const   *)"true");
    if (tmp___1 != 0) {
      tmp___0 = _((char const   *)"helper %s does not support \'force\'");
      warning((char const   *)tmp___0, data->name);
    }
  }
  helper = get_helper(transport);
  write_constant(helper->in, (char const   *)"export\n");
  ref = remote_refs;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    private = apply_refspecs(& data->rs, (char const   *)(ref->name));
    if (private) {
      tmp___3 = repo_get_oid(the_repository, (char const   *)private, & oid);
      if (! tmp___3) {
        strbuf_addf(& buf___19, (char const   *)"^%s", private);
        tmp___2 = strbuf_detach(& buf___19, (size_t *)((void *)0));
        string_list_append_nodup(& revlist_args, tmp___2);
        oidcpy(& ref->old_oid, (struct object_id  const  *)(& oid));
      }
    }
    free((void *)private);
    if (ref->peer_ref) {
      tmp___4 = strcmp((char const   *)(ref->name), (char const   *)((ref->peer_ref)->name));
      if (tmp___4) {
        if (! ref->deletion) {
          name___0 = resolve_ref_unsafe((char const   *)((ref->peer_ref)->name), 0x01,
                                        & oid, & flag);
          if (! name___0) {
            name___0 = (char const   *)((ref->peer_ref)->name);
          } else
          if (! (flag & 0x01)) {
            name___0 = (char const   *)((ref->peer_ref)->name);
          }
          strbuf_addf(& buf___19, (char const   *)"%s:%s", name___0, ref->name);
        } else {
          strbuf_addf(& buf___19, (char const   *)":%s", ref->name);
        }
        string_list_append(& revlist_args, (char const   *)"--refspec");
        string_list_append(& revlist_args, (char const   *)buf___19.buf);
        strbuf_release(& buf___19);
      }
      if (! ref->deletion) {
        string_list_append(& revlist_args, (char const   *)((ref->peer_ref)->name));
      }
    }
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___6 = get_exporter(transport, & exporter, & revlist_args);
  if (tmp___6) {
    tmp___5 = _((char const   *)"couldn\'t run fast-export");
    die((char const   *)tmp___5);
  }
  string_list_clear(& revlist_args, 1);
  tmp___8 = finish_command(& exporter);
  if (tmp___8) {
    tmp___7 = _((char const   *)"error while running fast-export");
    die((char const   *)tmp___7);
  }
  tmp___9 = push_update_refs_status(data, remote_refs, flags___0);
  if (tmp___9) {
    return (1);
  }
  if (data->export_marks) {
    strbuf_addf(& buf___19, (char const   *)"%s.tmp", data->export_marks);
    rename((char const   *)buf___19.buf, (char const   *)data->export_marks);
    strbuf_release(& buf___19);
  }
  return (0);
}
}
static int push_refs(struct transport *transport , struct ref *remote_refs , int flags___0 )
{
  struct helper_data *data ;
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  data = (struct helper_data *)transport->data;
  tmp___0 = process_connect(transport, 1);
  if (tmp___0) {
    do_take_over(transport);
    tmp = (*((transport->vtable)->push_refs))(transport, remote_refs, flags___0);
    return (tmp);
  }
  if (! remote_refs) {
    tmp___1 = _((char const   *)"No refs in common and none specified; doing nothing.\nPerhaps you should specify a branch.\n");
    fprintf(stderr, (char const   *)tmp___1);
    return (0);
  }
  if (data->push) {
    tmp___2 = push_refs_with_push(transport, remote_refs, flags___0);
    return (tmp___2);
  }
  if (data->export) {
    tmp___3 = push_refs_with_export(transport, remote_refs, flags___0);
    return (tmp___3);
  }
  return (-1);
}
}
static int has_attribute(char const   *attrs___0 , char const   *attr )
{
  int len___0 ;
  size_t tmp ;
  char const   *space___0 ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  if (! attrs___0) {
    return (0);
  }
  tmp = strlen(attr);
  len___0 = (int )tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = strchrnul(attrs___0, ' ');
    space___0 = (char const   *)tmp___0;
    if ((long )len___0 == space___0 - attrs___0) {
      tmp___1 = strncmp(attrs___0, attr, (size_t )len___0);
      if (! tmp___1) {
        return (1);
      }
    }
    if (! *space___0) {
      return (0);
    }
    attrs___0 = space___0 + 1;
  }
  while_break: /* CIL Label */ ;
  }
}
}
static struct ref *get_refs_list(struct transport *transport , int for_push , struct transport_ls_refs_options *transport_options )
{
  struct ref *tmp ;
  int tmp___0 ;
  struct ref *tmp___1 ;

  {
  get_helper(transport);
  tmp___0 = process_connect(transport, for_push);
  if (tmp___0) {
    do_take_over(transport);
    tmp = (*((transport->vtable)->get_refs_list))(transport, for_push, transport_options);
    return (tmp);
  }
  tmp___1 = get_refs_list_using_list(transport, for_push);
  return (tmp___1);
}
}
static struct ref *get_refs_list_using_list(struct transport *transport , int for_push )
{
  struct helper_data *data ;
  struct child_process *helper ;
  struct ref *ret___67 ;
  struct ref **tail ;
  struct ref *posn ;
  struct strbuf buf___19 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char *eov ;
  char *eon ;
  int tmp___2 ;
  int tmp___3 ;
  char const   *value ;
  int algo ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  data = (struct helper_data *)transport->data;
  ret___67 = (struct ref *)((void *)0);
  tail = & ret___67;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  data->get_refs_list_called = 1U;
  helper = get_helper(transport);
  if (data->object_format) {
    write_str_in_full(helper->in, (char const   *)"option object-format\n");
    tmp___0 = recvline(data, & buf___19);
    if (tmp___0) {
      tmp = trace2_cmd_exit_fl((char const   *)"transport-helper.c", 1208, 128);
      exit(tmp);
    } else {
      tmp___1 = strcmp((char const   *)buf___19.buf, (char const   *)"ok");
      if (tmp___1) {
        tmp = trace2_cmd_exit_fl((char const   *)"transport-helper.c", 1208, 128);
        exit(tmp);
      }
    }
  }
  if (data->push) {
    if (for_push) {
      write_str_in_full(helper->in, (char const   *)"list for-push\n");
    } else {
      write_str_in_full(helper->in, (char const   *)"list\n");
    }
  } else {
    write_str_in_full(helper->in, (char const   *)"list\n");
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = recvline(data, & buf___19);
    if (tmp___3) {
      tmp___2 = trace2_cmd_exit_fl((char const   *)"transport-helper.c", 1219, 128);
      exit(tmp___2);
    }
    if (! *(buf___19.buf)) {
      goto while_break;
    } else
    if ((int )*(buf___19.buf + 0) == 58) {
      tmp___6 = skip_prefix((char const   *)buf___19.buf, (char const   *)":object-format ",
                            & value);
      if (tmp___6) {
        tmp___4 = hash_algo_by_name(value);
        algo = tmp___4;
        if (algo == 0) {
          tmp___5 = _((char const   *)"unsupported object format \'%s\'");
          die((char const   *)tmp___5, value);
        }
        transport->hash_algo = & hash_algos[algo];
      }
      goto while_continue;
    }
    eov = strchr((char const   *)buf___19.buf, ' ');
    if (! eov) {
      tmp___7 = _((char const   *)"malformed response in ref list: %s");
      die((char const   *)tmp___7, buf___19.buf);
    }
    eon = strchr((char const   *)(eov + 1), ' ');
    *eov = (char )'\000';
    if (eon) {
      *eon = (char )'\000';
    }
    *tail = alloc_ref((char const   *)(eov + 1));
    if ((int )*(buf___19.buf + 0) == 64) {
      (*tail)->symref = xstrdup((char const   *)(buf___19.buf + 1));
    } else
    if ((int )*(buf___19.buf + 0) != 63) {
      get_oid_hex_algop((char const   *)buf___19.buf, & (*tail)->old_oid, transport->hash_algo);
    }
    if (eon) {
      tmp___10 = has_attribute((char const   *)(eon + 1), (char const   *)"unchanged");
      if (tmp___10) {
        (*tail)->status = (enum __anonenum_status_407753297 )((unsigned int )(*tail)->status | 10U);
        tmp___9 = read_ref((char const   *)((*tail)->name), & (*tail)->old_oid);
        if (tmp___9 < 0) {
          tmp___8 = _((char const   *)"could not read ref %s");
          die((char const   *)tmp___8, (*tail)->name);
        }
      }
    }
    tail = & (*tail)->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (debug) {
    fprintf(stderr, (char const   *)"Debug: Read ref listing.\n");
  }
  strbuf_release(& buf___19);
  posn = ret___67;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! posn) {
      goto while_break___0;
    }
    resolve_remote_symref(posn, ret___67);
    posn = posn->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static struct transport_vtable vtable  =    {& set_helper_option, & get_refs_list, & fetch_refs, & push_refs, & connect_helper,
    & release_helper};
int transport_helper_init(struct transport *transport , char const   *name___0 )
{
  struct helper_data *data ;
  void *tmp ;
  char *tmp___0 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*data));
  data = (struct helper_data *)tmp;
  data->name = name___0;
  transport_check_allowed(name___0);
  tmp___0 = getenv((char const   *)"GIT_TRANSPORT_HELPER_DEBUG");
  if (tmp___0) {
    debug = 1;
  }
  transport->data = (void *)data;
  transport->vtable = (struct transport_vtable  const  *)(& vtable);
  transport->smart_options = & data->transport_options;
  return (0);
}
}
static void ( /* format attribute */  transfer_debug)(char const   *fmt  , ...) ;
static int debug_enabled  =    -1;
static void ( /* format attribute */  transfer_debug)(char const   *fmt  , ...)
{
  va_list args___0 ;
  char msgbuf___0[8192] ;
  char *tmp ;
  char *tmp___0 ;

  {
  if (debug_enabled < 0) {
    tmp___0 = getenv((char const   *)"GIT_TRANSLOOP_DEBUG");
    if (tmp___0) {
      debug_enabled = 1;
    } else {
      debug_enabled = 0;
    }
  }
  if (! debug_enabled) {
    return;
  }
  __builtin_va_start(args___0, fmt);
  vsnprintf(msgbuf___0, (size_t )8192, fmt, args___0);
  __builtin_va_end(args___0);
  fprintf(stderr, (char const   *)"Transfer loop debugging: %s\n", msgbuf___0);
  return;
}
}
static void udt_close_if_finished(struct unidirectional_transfer *t )
{


  {
  if (t->state == 1) {
    if (! t->bufuse) {
      t->state = 2;
      if (t->dest_is_sock) {
        shutdown(t->dest, 1);
      } else {
        close(t->dest);
      }
      transfer_debug((char const   *)"Closed %s.", t->dest_name);
    }
  }
  return;
}
}
static int udt_do_read(struct unidirectional_transfer *t )
{
  ssize_t bytes ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if (t->bufuse == 65536UL) {
    return (0);
  }
  transfer_debug((char const   *)"%s is readable", t->src_name);
  bytes = xread(t->src, (void *)(t->buf + t->bufuse), 65536UL - t->bufuse);
  if (bytes < 0L) {
    tmp = _((char const   *)"read(%s) failed");
    error_errno((char const   *)tmp, t->src_name);
    const_error();
    return (-1);
  } else
  if (bytes == 0L) {
    transfer_debug((char const   *)"%s EOF (with %i bytes in buffer)", t->src_name,
                   (int )t->bufuse);
    t->state = 1;
  } else
  if (bytes > 0L) {
    t->bufuse += (size_t )bytes;
    transfer_debug((char const   *)"Read %i bytes from %s (buffer now at %i)", (int )bytes,
                   t->src_name, (int )t->bufuse);
  }
  return (0);
}
}
static int udt_do_write(struct unidirectional_transfer *t )
{
  ssize_t bytes ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if (t->bufuse == 0UL) {
    return (0);
  }
  transfer_debug((char const   *)"%s is writable", t->dest_name);
  bytes = xwrite(t->dest, (void const   *)(t->buf), t->bufuse);
  if (bytes < 0L) {
    tmp = _((char const   *)"write(%s) failed");
    error_errno((char const   *)tmp, t->dest_name);
    const_error();
    return (-1);
  } else
  if (bytes > 0L) {
    t->bufuse -= (size_t )bytes;
    if (t->bufuse) {
      memmove((void *)(t->buf), (void const   *)(t->buf + bytes), t->bufuse);
    }
    transfer_debug((char const   *)"Wrote %i bytes to %s (buffer now at %i)", (int )bytes,
                   t->dest_name, (int )t->bufuse);
  }
  return (0);
}
}
static void *udt_copy_task_routine(void *udt )
{
  struct unidirectional_transfer *t ;
  int tmp ;
  int tmp___0 ;

  {
  t = (struct unidirectional_transfer *)udt;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (t->state != 2)) {
      goto while_break;
    }
    if (t->state <= 0) {
      tmp = udt_do_read(t);
      if (tmp) {
        return ((void *)0);
      }
    }
    if (t->state <= 1) {
      tmp___0 = udt_do_write(t);
      if (tmp___0) {
        return ((void *)0);
      }
    }
    if (t->state == 1) {
      udt_close_if_finished(t);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (udt);
}
}
static int tloop_join(pthread_t thread___0 , char const   *name___0 )
{
  int err___4 ;
  void *tret ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  err___4 = pthread_join(thread___0, & tret);
  if (! tret) {
    tmp = _((char const   *)"%s thread failed");
    error((char const   *)tmp, name___0);
    const_error();
    return (1);
  }
  if (err___4) {
    tmp___0 = strerror(err___4);
    tmp___1 = _((char const   *)"%s thread failed to join: %s");
    error((char const   *)tmp___1, name___0, tmp___0);
    const_error();
    return (1);
  }
  return (0);
}
}
static int tloop_spawnwait_tasks(struct bidirectional_transfer_state *s___1 )
{
  pthread_t gtp_thread ;
  pthread_t ptg_thread ;
  int err___4 ;
  int ret___67 ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  ret___67 = 0;
  err___4 = pthread_create((pthread_t * __restrict  )(& gtp_thread), (pthread_attr_t const   * __restrict  )((void *)0),
                           & udt_copy_task_routine, (void * __restrict  )(& s___1->gtp));
  if (err___4) {
    tmp = strerror(err___4);
    tmp___0 = _((char const   *)"can\'t start thread for copying data: %s");
    die((char const   *)tmp___0, tmp);
  }
  err___4 = pthread_create((pthread_t * __restrict  )(& ptg_thread), (pthread_attr_t const   * __restrict  )((void *)0),
                           & udt_copy_task_routine, (void * __restrict  )(& s___1->ptg));
  if (err___4) {
    tmp___1 = strerror(err___4);
    tmp___2 = _((char const   *)"can\'t start thread for copying data: %s");
    die((char const   *)tmp___2, tmp___1);
  }
  tmp___3 = tloop_join(gtp_thread, (char const   *)"Git to program copy");
  ret___67 |= tmp___3;
  tmp___4 = tloop_join(ptg_thread, (char const   *)"Program to git copy");
  ret___67 |= tmp___4;
  return (ret___67);
}
}
int bidirectional_transfer_loop(int input , int output___4 )
{
  struct bidirectional_transfer_state state___1 ;
  int tmp ;

  {
  state___1.ptg.src = input;
  state___1.ptg.dest = 1;
  state___1.ptg.src_is_sock = input == output___4;
  state___1.ptg.dest_is_sock = 0;
  state___1.ptg.state = 0;
  state___1.ptg.bufuse = (size_t )0;
  state___1.ptg.src_name = (char const   *)"remote input";
  state___1.ptg.dest_name = (char const   *)"stdout";
  state___1.gtp.src = 0;
  state___1.gtp.dest = output___4;
  state___1.gtp.src_is_sock = 0;
  state___1.gtp.dest_is_sock = input == output___4;
  state___1.gtp.state = 0;
  state___1.gtp.bufuse = (size_t )0;
  state___1.gtp.src_name = (char const   *)"stdin";
  state___1.gtp.dest_name = (char const   *)"remote output";
  tmp = tloop_spawnwait_tasks(& state___1);
  return (tmp);
}
}
void reject_atomic_push(struct ref *remote_refs , int mirror_mode )
{
  struct ref *ref ;

  {
  ref = remote_refs;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    if (! ref->peer_ref) {
      if (! mirror_mode) {
        goto __Cont;
      }
    }
    {
    if ((unsigned int )ref->status == 12U) {
      goto case_12;
    }
    if ((unsigned int )ref->status == 1U) {
      goto case_12;
    }
    if ((unsigned int )ref->status == 0U) {
      goto case_12;
    }
    goto switch_default;
    case_12: /* CIL Label */
    case_1: /* CIL Label */
    case_0: /* CIL Label */
    ref->status = (enum __anonenum_status_407753297 )13;
    goto __Cont;
    switch_default: /* CIL Label */
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static double const   __ac_HASH_UPPER___93  =    (double const   )0.77;
__inline static void kh_resize_oid_set___93(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___93(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___93 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___93 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___93(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___93(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___93(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___93(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___93(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___93(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___93 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___93 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___93(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___93(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___93(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___93(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___93(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___93(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___93 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___93 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___93(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___93(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___93(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___93(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
void ( /* format attribute */  walker_say)(struct walker *walker , char const   *fmt
                                           , ...) ;
int walker_targets_stdin(char ***target , char const   ***write_ref ) ;
void walker_targets_free(int targets , char **target , char const   **write_ref ) ;
int walker_fetch(struct walker *walker , int targets , char **target , char const   **write_ref ,
                 char const   *write_ref_log_details ) ;
void walker_free(struct walker *walker ) ;
extern struct walker *get_http_walker(char const   *url ) ;
__inline static void kh_resize_odb_path_map___71(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___71(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___93 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___93 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___71(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___71(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___71(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___71(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int transport_use_color  =    -1;
static char transport_colors[2][75]  = { {        (char )'\033',        (char )'[',        (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'3',        (char )'1',
            (char )'m',        (char )'\000'}};
static int initialized___4  ;
static int transport_color_config(void)
{
  char const   *keys[2] ;
  char const   *key___1 ;
  char *value ;
  int i ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  keys[0] = (char const   *)"color.transport.reset";
  keys[1] = (char const   *)"color.transport.rejected";
  key___1 = (char const   *)"color.transport";
  if (initialized___4) {
    return (0);
  }
  initialized___4 = 1;
  tmp = git_config_get_string(key___1, & value);
  if (! tmp) {
    transport_use_color = git_config_colorbool(key___1, (char const   *)value);
  }
  tmp___0 = want_color_fd(2, transport_use_color);
  if (! tmp___0) {
    return (0);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(keys) / sizeof(keys[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp___3 = git_config_get_string(keys[i], & value);
    if (! tmp___3) {
      if (! value) {
        config_error_nonbool(keys[i]);
        tmp___1 = const_error();
        return (tmp___1);
      }
      tmp___2 = color_parse((char const   *)value, transport_colors[i]);
      if (tmp___2 < 0) {
        return (-1);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static char const   *transport_get_color(enum color_transport ix )
{
  int tmp ;

  {
  tmp = want_color_fd(2, transport_use_color);
  if (tmp) {
    return ((char const   *)(transport_colors[ix]));
  }
  return ((char const   *)"");
}
}
static void set_upstreams(struct transport *transport , struct ref *refs___0 , int pretend )
{
  struct ref *ref ;
  char const   *localname ;
  char const   *tmp ;
  char const   *remotename ;
  int flag ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int flag___0 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  ref = refs___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    flag = 0;
    if ((unsigned int )ref->status != 1U) {
      if ((unsigned int )ref->status != 10U) {
        goto __Cont;
      }
    }
    if (! ref->peer_ref) {
      goto __Cont;
    }
    tmp___0 = is_null_oid((struct object_id  const  *)(& ref->new_oid));
    if (tmp___0) {
      goto __Cont;
    }
    localname = (char const   *)((ref->peer_ref)->name);
    remotename = (char const   *)(ref->name);
    tmp = resolve_ref_unsafe(localname, 0x01, (struct object_id *)((void *)0), & flag);
    if (tmp) {
      if (flag & 0x01) {
        tmp___1 = starts_with(tmp, (char const   *)"refs/heads/");
        if (tmp___1) {
          localname = tmp;
        }
      }
    }
    if (! localname) {
      goto __Cont;
    } else {
      tmp___2 = starts_with(localname, (char const   *)"refs/heads/");
      if (! tmp___2) {
        goto __Cont;
      }
    }
    if (! remotename) {
      goto __Cont;
    } else {
      tmp___3 = starts_with(remotename, (char const   *)"refs/heads/");
      if (! tmp___3) {
        goto __Cont;
      }
    }
    if (! pretend) {
      if (transport->verbose < 0) {
        tmp___4 = 0;
      } else {
        tmp___4 = 01;
      }
      flag___0 = tmp___4;
      install_branch_config(flag___0, localname + 11, (transport->remote)->name, remotename);
    } else
    if (transport->verbose >= 0) {
      tmp___5 = _((char const   *)"Would set upstream of \'%s\' to \'%s\' of \'%s\'\n");
      printf((char const   *)tmp___5, localname + 11, remotename + 11, (transport->remote)->name);
    }
    __Cont: /* CIL Label */
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct ref *get_refs_from_bundle(struct transport *transport , int for_push ,
                                        struct transport_ls_refs_options *transport_options )
{
  struct bundle_transport_data *data ;
  struct ref *result___0 ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct string_list_item *e ;
  char const   *name___0 ;
  struct ref *ref ;
  struct ref *tmp___0 ;
  struct object_id *oid ;

  {
  data = (struct bundle_transport_data *)transport->data;
  result___0 = (struct ref *)((void *)0);
  if (for_push) {
    return ((struct ref *)((void *)0));
  }
  data->get_refs_from_bundle_called = 1U;
  if (data->fd > 0) {
    close(data->fd);
  }
  data->fd = read_bundle_header(transport->url, & data->header);
  if (data->fd < 0) {
    tmp = _((char const   *)"could not read bundle \'%s\'");
    die((char const   *)tmp, transport->url);
  }
  transport->hash_algo = data->header.hash_algo;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < data->header.references.nr)) {
      goto while_break;
    }
    e = data->header.references.items + i;
    name___0 = (char const   *)e->string;
    tmp___0 = alloc_ref(name___0);
    ref = tmp___0;
    oid = (struct object_id *)e->util;
    oidcpy(& ref->old_oid, (struct object_id  const  *)oid);
    ref->next = result___0;
    result___0 = ref;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (result___0);
}
}
static int fetch_refs_from_bundle(struct transport *transport , int nr_heads , struct ref **to_fetch )
{
  struct bundle_transport_data *data ;
  struct strvec extra_index_pack_args ;
  int ret___67 ;

  {
  data = (struct bundle_transport_data *)transport->data;
  extra_index_pack_args.v = empty_strvec;
  extra_index_pack_args.nr = 0UL;
  extra_index_pack_args.alloc = 0UL;
  if (transport->progress) {
    strvec_push(& extra_index_pack_args, (char const   *)"-v");
  }
  if (! data->get_refs_from_bundle_called) {
    get_refs_from_bundle(transport, 0, (struct transport_ls_refs_options *)((void *)0));
  }
  ret___67 = unbundle(the_repository, & data->header, data->fd, & extra_index_pack_args);
  transport->hash_algo = data->header.hash_algo;
  return (ret___67);
}
}
static int close_bundle(struct transport *transport )
{
  struct bundle_transport_data *data ;

  {
  data = (struct bundle_transport_data *)transport->data;
  if (data->fd > 0) {
    close(data->fd);
  }
  bundle_header_release(& data->header);
  free((void *)data);
  return (0);
}
}
static int set_git_option(struct git_transport_options *opts___1 , char const   *name___0 ,
                          char const   *value )
{
  char *end ;
  long tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;

  {
  tmp___13 = strcmp(name___0, (char const   *)"uploadpack");
  if (tmp___13) {
    tmp___12 = strcmp(name___0, (char const   *)"receivepack");
    if (tmp___12) {
      tmp___11 = strcmp(name___0, (char const   *)"thin");
      if (tmp___11) {
        tmp___10 = strcmp(name___0, (char const   *)"followtags");
        if (tmp___10) {
          tmp___9 = strcmp(name___0, (char const   *)"keep");
          if (tmp___9) {
            tmp___8 = strcmp(name___0, (char const   *)"updateshallow");
            if (tmp___8) {
              tmp___7 = strcmp(name___0, (char const   *)"depth");
              if (tmp___7) {
                tmp___6 = strcmp(name___0, (char const   *)"deepen-since");
                if (tmp___6) {
                  tmp___5 = strcmp(name___0, (char const   *)"deepen-not");
                  if (tmp___5) {
                    tmp___4 = strcmp(name___0, (char const   *)"deepen-relative");
                    if (tmp___4) {
                      tmp___3 = strcmp(name___0, (char const   *)"from-promisor");
                      if (tmp___3) {
                        tmp___2 = strcmp(name___0, (char const   *)"filter");
                        if (tmp___2) {
                          tmp___1 = strcmp(name___0, (char const   *)"rejectshallow");
                          if (! tmp___1) {
                            opts___1->reject_shallow = (unsigned int )(! (! value));
                            return (0);
                          }
                        } else {
                          list_objects_filter_die_if_populated(& opts___1->filter_options);
                          parse_list_objects_filter(& opts___1->filter_options, value);
                          return (0);
                        }
                      } else {
                        opts___1->from_promisor = (unsigned int )(! (! value));
                        return (0);
                      }
                    } else {
                      opts___1->deepen_relative = (unsigned int )(! (! value));
                      return (0);
                    }
                  } else {
                    opts___1->deepen_not = (struct string_list  const  *)value;
                    return (0);
                  }
                } else {
                  opts___1->deepen_since = value;
                  return (0);
                }
              } else {
                if (! value) {
                  opts___1->depth = 0;
                } else {
                  tmp = strtol((char const   * __restrict  )value, (char ** __restrict  )(& end),
                               0);
                  opts___1->depth = (int )tmp;
                  if (*end) {
                    tmp___0 = _((char const   *)"transport: invalid depth option \'%s\'");
                    die((char const   *)tmp___0, value);
                  }
                }
                return (0);
              }
            } else {
              opts___1->update_shallow = (unsigned int )(! (! value));
              return (0);
            }
          } else {
            opts___1->keep = (unsigned int )(! (! value));
            return (0);
          }
        } else {
          opts___1->followtags = (unsigned int )(! (! value));
          return (0);
        }
      } else {
        opts___1->thin = (unsigned int )(! (! value));
        return (0);
      }
    } else {
      opts___1->receivepack = value;
      return (0);
    }
  } else {
    opts___1->uploadpack = value;
    return (0);
  }
  return (1);
}
}
static int connect_setup(struct transport *transport , int for_push )
{
  struct git_transport_data *data ;
  int flags___0 ;
  unsigned int tmp ;
  char const   *tmp___0 ;

  {
  data = (struct git_transport_data *)transport->data;
  if (transport->verbose > 0) {
    tmp = 1u;
  } else {
    tmp = 0U;
  }
  flags___0 = (int )tmp;
  if (data->conn) {
    return (0);
  }
  {
  if ((unsigned int )transport->family == 0U) {
    goto case_0;
  }
  if ((unsigned int )transport->family == 1U) {
    goto case_1;
  }
  if ((unsigned int )transport->family == 2U) {
    goto case_2;
  }
  goto switch_break;
  case_0: /* CIL Label */
  goto switch_break;
  case_1: /* CIL Label */
  flags___0 = (int )((unsigned int )flags___0 | (1u << 2));
  goto switch_break;
  case_2: /* CIL Label */
  flags___0 = (int )((unsigned int )flags___0 | (1u << 3));
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  if (for_push) {
    tmp___0 = data->options.receivepack;
  } else {
    tmp___0 = data->options.uploadpack;
  }
  data->conn = git_connect((int *)(data->fd), transport->url, tmp___0, flags___0);
  return (0);
}
}
static void die_if_server_options(struct transport *transport )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  if (! transport->server_options) {
    return;
  } else
  if (! (transport->server_options)->nr) {
    return;
  }
  tmp = _((char const   *)"see protocol.version in \'git help config\' for more details");
  advise((char const   *)tmp);
  tmp___0 = _((char const   *)"server options require protocol version 2 or later");
  die((char const   *)tmp___0);
}
}
static struct ref *handshake(struct transport *transport , int for_push , struct transport_ls_refs_options *options ,
                             int must_list_refs )
{
  struct git_transport_data *data ;
  struct ref *refs___0 ;
  struct packet_reader reader ;
  int sid_len ;
  char const   *server_sid ;
  int tmp ;
  unsigned int tmp___0 ;
  char *sid ;
  char *tmp___1 ;

  {
  data = (struct git_transport_data *)transport->data;
  refs___0 = (struct ref *)((void *)0);
  connect_setup(transport, for_push);
  packet_reader_init(& reader, data->fd[0], (char *)((void *)0), (size_t )0, (int )(((1u << 1) | 1u) | (1u << 2)));
  data->version = discover_version(& reader);
  {
  if ((int )data->version == 2) {
    goto case_2;
  }
  if ((int )data->version == 0) {
    goto case_0;
  }
  if ((int )data->version == 1) {
    goto case_0;
  }
  if ((int )data->version == -1) {
    goto case_neg_1;
  }
  goto switch_break;
  case_2: /* CIL Label */
  tmp = server_feature_v2((char const   *)"session-id", & server_sid);
  if (tmp) {
    trace2_data_string_fl((char const   *)"transport.c", 313, (char const   *)"transfer",
                          (struct repository  const  *)((void *)0), (char const   *)"server-sid",
                          server_sid);
  }
  if (must_list_refs) {
    get_remote_refs(data->fd[1], & reader, & refs___0, for_push, options, transport->server_options,
                    (int )transport->stateless_rpc);
  }
  goto switch_break;
  case_0: /* CIL Label */
  case_1: /* CIL Label */
  die_if_server_options(transport);
  if (for_push) {
    tmp___0 = 1u;
  } else {
    tmp___0 = 0U;
  }
  get_remote_heads(& reader, & refs___0, tmp___0, & data->extra_have, & data->shallow);
  server_sid = server_feature_value((char const   *)"session-id", & sid_len);
  if (server_sid) {
    tmp___1 = xstrndup(server_sid, (size_t )sid_len);
    sid = tmp___1;
    trace2_data_string_fl((char const   *)"transport.c", 330, (char const   *)"transfer",
                          (struct repository  const  *)((void *)0), (char const   *)"server-sid",
                          (char const   *)sid);
    free((void *)sid);
  }
  goto switch_break;
  case_neg_1: /* CIL Label */
  BUG_fl((char const   *)"transport.c", 335, (char const   *)"unknown protocol version");
  switch_break: /* CIL Label */ ;
  }
  data->got_remote_heads = 1U;
  transport->hash_algo = reader.hash_algo;
  if (reader.line_peeked) {
    BUG_fl((char const   *)"transport.c", 341, (char const   *)"buffer must be empty at the end of handshake()");
  }
  return (refs___0);
}
}
static struct ref *get_refs_via_connect(struct transport *transport , int for_push ,
                                        struct transport_ls_refs_options *options )
{
  struct ref *tmp ;

  {
  tmp = handshake(transport, for_push, options, 1);
  return (tmp);
}
}
static int fetch_refs_via_pack(struct transport *transport , int nr_heads , struct ref **to_fetch )
{
  int ret___67 ;
  struct git_transport_data *data ;
  struct ref *refs___0 ;
  struct fetch_pack_args args___0 ;
  struct ref *refs_tmp ;
  int i ;
  int must_list_refs ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  struct ref  const  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  ret___67 = 0;
  data = (struct git_transport_data *)transport->data;
  refs___0 = (struct ref *)((void *)0);
  refs_tmp = (struct ref *)((void *)0);
  memset((void *)(& args___0), 0, sizeof(args___0));
  args___0.uploadpack = data->options.uploadpack;
  args___0.keep_pack = data->options.keep;
  args___0.lock_pack = 1U;
  args___0.use_thin_pack = data->options.thin;
  args___0.include_tag = data->options.followtags;
  args___0.verbose = (unsigned int )(transport->verbose > 1);
  args___0.quiet = (unsigned int )(transport->verbose < 0);
  args___0.no_progress = (unsigned int )(! transport->progress);
  args___0.depth = data->options.depth;
  args___0.deepen_since = data->options.deepen_since;
  args___0.deepen_not = data->options.deepen_not;
  args___0.deepen_relative = data->options.deepen_relative;
  args___0.check_self_contained_and_connected = data->options.check_self_contained_and_connected;
  args___0.cloning = transport->cloning;
  args___0.update_shallow = data->options.update_shallow;
  args___0.from_promisor = data->options.from_promisor;
  args___0.filter_options = data->options.filter_options;
  args___0.stateless_rpc = transport->stateless_rpc;
  args___0.server_options = transport->server_options;
  args___0.negotiation_tips = (struct oid_array  const  *)data->options.negotiation_tips;
  args___0.reject_shallow_remote = (transport->smart_options)->reject_shallow;
  if (! data->got_remote_heads) {
    must_list_refs = 0;
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < nr_heads)) {
        goto while_break;
      }
      if (! (*(to_fetch + i))->exact_oid) {
        must_list_refs = 1;
        goto while_break;
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    refs_tmp = handshake(transport, 0, (struct transport_ls_refs_options *)((void *)0),
                         must_list_refs);
  }
  if ((int )data->version == -1) {
    BUG_fl((char const   *)"transport.c", 398, (char const   *)"unknown protocol version");
  } else
  if ((int )data->version <= 1) {
    die_if_server_options(transport);
  }
  if (data->options.acked_commits) {
    if ((int )data->version < 2) {
      tmp = _((char const   *)"--negotiate-only requires protocol v2");
      warning((char const   *)tmp);
      ret___67 = -1;
    } else {
      tmp___1 = server_supports_feature((char const   *)"fetch", (char const   *)"wait-for-done",
                                        0);
      if (tmp___1) {
        negotiate_using_fetch((struct oid_array  const  *)data->options.negotiation_tips,
                              transport->server_options, (int )transport->stateless_rpc,
                              data->fd, data->options.acked_commits);
        ret___67 = 0;
      } else {
        tmp___0 = _((char const   *)"server does not support wait-for-done");
        warning((char const   *)tmp___0);
        ret___67 = -1;
      }
    }
    goto cleanup;
  }
  if (refs_tmp) {
    tmp___2 = (struct ref  const  *)refs_tmp;
  } else {
    tmp___2 = transport->remote_refs;
  }
  refs___0 = fetch_pack(& args___0, data->fd, tmp___2, to_fetch, nr_heads, & data->shallow,
                        & transport->pack_lockfiles, data->version);
  data->got_remote_heads = 0U;
  data->options.self_contained_and_connected = args___0.self_contained_and_connected;
  data->options.connectivity_checked = args___0.connectivity_checked;
  if ((unsigned long )refs___0 == (unsigned long )((void *)0)) {
    ret___67 = -1;
  }
  tmp___3 = report_unmatched_refs(to_fetch, nr_heads);
  if (tmp___3) {
    ret___67 = -1;
  }
  cleanup:
  close(data->fd[0]);
  if (data->fd[1] >= 0) {
    close(data->fd[1]);
  }
  tmp___4 = finish_connect(data->conn);
  if (tmp___4) {
    ret___67 = -1;
  }
  data->conn = (struct child_process *)((void *)0);
  free_refs(refs_tmp);
  free_refs(refs___0);
  return (ret___67);
}
}
static int push_had_errors(struct ref *ref )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    {
    if ((unsigned int )ref->status == 1U) {
      goto case_1;
    }
    if ((unsigned int )ref->status == 10U) {
      goto case_1;
    }
    if ((unsigned int )ref->status == 0U) {
      goto case_1;
    }
    goto switch_default;
    case_1: /* CIL Label */
    case_10: /* CIL Label */
    case_0: /* CIL Label */
    goto switch_break;
    switch_default: /* CIL Label */
    return (1);
    switch_break: /* CIL Label */ ;
    }
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int transport_refs_pushed(struct ref *ref )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    {
    if ((unsigned int )ref->status == 10U) {
      goto case_10;
    }
    if ((unsigned int )ref->status == 0U) {
      goto case_10;
    }
    goto switch_default;
    case_10: /* CIL Label */
    case_0: /* CIL Label */
    goto switch_break;
    switch_default: /* CIL Label */
    return (1);
    switch_break: /* CIL Label */ ;
    }
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void update_one_tracking_ref(struct remote *remote , char *refname , struct object_id *new_oid ,
                                    int deletion , int verbose___15 )
{
  struct refspec_item rs___0 ;
  int tmp ;

  {
  memset((void *)(& rs___0), 0, sizeof(rs___0));
  rs___0.src = refname;
  rs___0.dst = (char *)((void *)0);
  tmp = remote_find_tracking(remote, & rs___0);
  if (! tmp) {
    if (verbose___15) {
      fprintf(stderr, (char const   *)"updating local tracking ref \'%s\'\n", rs___0.dst);
    }
    if (deletion) {
      delete_ref((char const   *)((void *)0), (char const   *)rs___0.dst, (struct object_id  const  *)((void *)0),
                 0U);
    } else {
      update_ref((char const   *)"update by push", (char const   *)rs___0.dst, (struct object_id  const  *)new_oid,
                 (struct object_id  const  *)((void *)0), 0U, (enum action_on_err )0);
    }
    free((void *)rs___0.dst);
  }
  return;
}
}
void transport_update_tracking_ref(struct remote *remote , struct ref *ref , int verbose___15 )
{
  char *refname ;
  struct object_id *new_oid ;
  struct ref_push_report *report___3 ;
  int tmp ;

  {
  if ((unsigned int )ref->status != 1U) {
    if ((unsigned int )ref->status != 10U) {
      return;
    }
  }
  report___3 = ref->report;
  if (! report___3) {
    update_one_tracking_ref(remote, ref->name, & ref->new_oid, (int )ref->deletion,
                            verbose___15);
  } else {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! report___3) {
        goto while_break;
      }
      if (report___3->ref_name) {
        refname = (char *)report___3->ref_name;
      } else {
        refname = ref->name;
      }
      if (report___3->new_oid) {
        new_oid = report___3->new_oid;
      } else {
        new_oid = & ref->new_oid;
      }
      tmp = is_null_oid((struct object_id  const  *)new_oid);
      update_one_tracking_ref(remote, refname, new_oid, tmp, verbose___15);
      report___3 = report___3->next;
    }
    while_break: /* CIL Label */ ;
    }
  }
  return;
}
}
static void print_ref_status(char flag , char const   *summary , struct ref *to ,
                             struct ref *from___0 , char const   *msg___5 , struct ref_push_report *report___3 ,
                             int porcelain , int summary_width )
{
  char const   *to_name ;
  char const   *red ;
  char const   *reset ;
  int tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;

  {
  if (report___3) {
    if (report___3->ref_name) {
      to_name = report___3->ref_name;
    } else {
      to_name = (char const   *)(to->name);
    }
  } else {
    to_name = (char const   *)(to->name);
  }
  if (porcelain) {
    if (from___0) {
      fprintf(stdout, (char const   *)"%c\t%s:%s\t", (int )flag, from___0->name, to_name);
    } else {
      fprintf(stdout, (char const   *)"%c\t:%s\t", (int )flag, to_name);
    }
    if (msg___5) {
      fprintf(stdout, (char const   *)"%s (%s)\n", summary, msg___5);
    } else {
      fprintf(stdout, (char const   *)"%s\n", summary);
    }
  } else {
    red = (char const   *)"";
    reset = (char const   *)"";
    tmp = push_had_errors(to);
    if (tmp) {
      red = transport_get_color((enum color_transport )1);
      reset = transport_get_color((enum color_transport )0);
    }
    fprintf(stderr, (char const   *)" %s%c %-*s%s ", red, (int )flag, summary_width,
            summary, reset);
    if (from___0) {
      tmp___0 = prettify_refname(to_name);
      tmp___1 = prettify_refname((char const   *)(from___0->name));
      fprintf(stderr, (char const   *)"%s -> %s", tmp___1, tmp___0);
    } else {
      tmp___2 = prettify_refname(to_name);
      fputs((char const   * __restrict  )tmp___2, (FILE * __restrict  )stderr);
    }
    if (msg___5) {
      fputs((char const   * __restrict  )" (", (FILE * __restrict  )stderr);
      fputs((char const   * __restrict  )msg___5, (FILE * __restrict  )stderr);
      fputc(')', stderr);
    }
    fputc('\n', stderr);
  }
  return;
}
}
static void print_ok_ref_status(struct ref *ref , struct ref_push_report *report___3 ,
                                int porcelain , int summary_width )
{
  struct object_id *old_oid ;
  struct object_id *new_oid ;
  char const   *ref_name___0 ;
  int forced_update ;
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  struct strbuf quickref ;
  char type___0 ;
  char const   *msg___5 ;
  int tmp___5 ;

  {
  if (report___3) {
    if (report___3->old_oid) {
      old_oid = report___3->old_oid;
    } else {
      old_oid = & ref->old_oid;
    }
  } else {
    old_oid = & ref->old_oid;
  }
  if (report___3) {
    if (report___3->new_oid) {
      new_oid = report___3->new_oid;
    } else {
      new_oid = & ref->new_oid;
    }
  } else {
    new_oid = & ref->new_oid;
  }
  if (report___3) {
    if (report___3->forced_update) {
      forced_update = (int )report___3->forced_update;
    } else {
      forced_update = (int )ref->forced_update;
    }
  } else {
    forced_update = (int )ref->forced_update;
  }
  if (report___3) {
    if (report___3->ref_name) {
      ref_name___0 = report___3->ref_name;
    } else {
      ref_name___0 = (char const   *)(ref->name);
    }
  } else {
    ref_name___0 = (char const   *)(ref->name);
  }
  if (ref->deletion) {
    print_ref_status((char )'-', (char const   *)"[deleted]", ref, (struct ref *)((void *)0),
                     (char const   *)((void *)0), report___3, porcelain, summary_width);
  } else {
    tmp___5 = is_null_oid((struct object_id  const  *)old_oid);
    if (tmp___5) {
      tmp___4 = starts_with(ref_name___0, (char const   *)"refs/tags/");
      if (tmp___4) {
        tmp___3 = "[new tag]";
      } else {
        tmp___2 = starts_with(ref_name___0, (char const   *)"refs/heads/");
        if (tmp___2) {
          tmp___1 = "[new branch]";
        } else {
          tmp___1 = "[new reference]";
        }
        tmp___3 = tmp___1;
      }
      print_ref_status((char )'*', (char const   *)tmp___3, ref, ref->peer_ref, (char const   *)((void *)0),
                       report___3, porcelain, summary_width);
    } else {
      quickref.alloc = 0UL;
      quickref.len = 0UL;
      quickref.buf = strbuf_slopbuf;
      strbuf_add_unique_abbrev(& quickref, (struct object_id  const  *)old_oid, default_abbrev);
      if (forced_update) {
        strbuf_addstr(& quickref, (char const   *)"...");
        type___0 = (char )'+';
        msg___5 = (char const   *)"forced update";
      } else {
        strbuf_addstr(& quickref, (char const   *)"..");
        type___0 = (char )' ';
        msg___5 = (char const   *)((void *)0);
      }
      strbuf_add_unique_abbrev(& quickref, (struct object_id  const  *)new_oid, default_abbrev);
      print_ref_status(type___0, (char const   *)quickref.buf, ref, ref->peer_ref,
                       msg___5, report___3, porcelain, summary_width);
      strbuf_release(& quickref);
    }
  }
  return;
}
}
static int print_one_push_report(struct ref *ref , char const   *dest , int count___0 ,
                                 struct ref_push_report *report___3 , int porcelain ,
                                 int summary_width )
{
  char *url ;
  char *tmp ;
  struct _IO_FILE *tmp___0 ;
  struct ref *tmp___1 ;
  struct ref *tmp___2 ;

  {
  if (! count___0) {
    tmp = transport_anonymize_url(dest);
    url = tmp;
    if (porcelain) {
      tmp___0 = stdout;
    } else {
      tmp___0 = stderr;
    }
    fprintf(tmp___0, (char const   *)"To %s\n", url);
    free((void *)url);
  }
  {
  if ((unsigned int )ref->status == 0U) {
    goto case_0;
  }
  if ((unsigned int )ref->status == 4U) {
    goto case_4;
  }
  if ((unsigned int )ref->status == 10U) {
    goto case_10;
  }
  if ((unsigned int )ref->status == 2U) {
    goto case_2;
  }
  if ((unsigned int )ref->status == 3U) {
    goto case_3;
  }
  if ((unsigned int )ref->status == 5U) {
    goto case_5;
  }
  if ((unsigned int )ref->status == 6U) {
    goto case_6;
  }
  if ((unsigned int )ref->status == 7U) {
    goto case_7;
  }
  if ((unsigned int )ref->status == 9U) {
    goto case_9;
  }
  if ((unsigned int )ref->status == 8U) {
    goto case_8;
  }
  if ((unsigned int )ref->status == 11U) {
    goto case_11;
  }
  if ((unsigned int )ref->status == 12U) {
    goto case_12;
  }
  if ((unsigned int )ref->status == 13U) {
    goto case_13;
  }
  if ((unsigned int )ref->status == 1U) {
    goto case_1;
  }
  goto switch_break;
  case_0: /* CIL Label */
  print_ref_status((char )'X', (char const   *)"[no match]", ref, (struct ref *)((void *)0),
                   (char const   *)((void *)0), report___3, porcelain, summary_width);
  goto switch_break;
  case_4: /* CIL Label */
  print_ref_status((char )'!', (char const   *)"[rejected]", ref, (struct ref *)((void *)0),
                   (char const   *)"remote does not support deleting refs", report___3,
                   porcelain, summary_width);
  goto switch_break;
  case_10: /* CIL Label */
  print_ref_status((char )'=', (char const   *)"[up to date]", ref, ref->peer_ref,
                   (char const   *)((void *)0), report___3, porcelain, summary_width);
  goto switch_break;
  case_2: /* CIL Label */
  print_ref_status((char )'!', (char const   *)"[rejected]", ref, ref->peer_ref, (char const   *)"non-fast-forward",
                   report___3, porcelain, summary_width);
  goto switch_break;
  case_3: /* CIL Label */
  print_ref_status((char )'!', (char const   *)"[rejected]", ref, ref->peer_ref, (char const   *)"already exists",
                   report___3, porcelain, summary_width);
  goto switch_break;
  case_5: /* CIL Label */
  print_ref_status((char )'!', (char const   *)"[rejected]", ref, ref->peer_ref, (char const   *)"fetch first",
                   report___3, porcelain, summary_width);
  goto switch_break;
  case_6: /* CIL Label */
  print_ref_status((char )'!', (char const   *)"[rejected]", ref, ref->peer_ref, (char const   *)"needs force",
                   report___3, porcelain, summary_width);
  goto switch_break;
  case_7: /* CIL Label */
  print_ref_status((char )'!', (char const   *)"[rejected]", ref, ref->peer_ref, (char const   *)"stale info",
                   report___3, porcelain, summary_width);
  goto switch_break;
  case_9: /* CIL Label */
  print_ref_status((char )'!', (char const   *)"[rejected]", ref, ref->peer_ref, (char const   *)"remote ref updated since checkout",
                   report___3, porcelain, summary_width);
  goto switch_break;
  case_8: /* CIL Label */
  print_ref_status((char )'!', (char const   *)"[rejected]", ref, ref->peer_ref, (char const   *)"new shallow roots not allowed",
                   report___3, porcelain, summary_width);
  goto switch_break;
  case_11: /* CIL Label */
  if (ref->deletion) {
    tmp___1 = (struct ref *)((void *)0);
  } else {
    tmp___1 = ref->peer_ref;
  }
  print_ref_status((char )'!', (char const   *)"[remote rejected]", ref, tmp___1,
                   (char const   *)ref->remote_status, report___3, porcelain, summary_width);
  goto switch_break;
  case_12: /* CIL Label */
  if (ref->deletion) {
    tmp___2 = (struct ref *)((void *)0);
  } else {
    tmp___2 = ref->peer_ref;
  }
  print_ref_status((char )'!', (char const   *)"[remote failure]", ref, tmp___2, (char const   *)"remote failed to report status",
                   report___3, porcelain, summary_width);
  goto switch_break;
  case_13: /* CIL Label */
  print_ref_status((char )'!', (char const   *)"[rejected]", ref, ref->peer_ref, (char const   *)"atomic push failed",
                   report___3, porcelain, summary_width);
  goto switch_break;
  case_1: /* CIL Label */
  print_ok_ref_status(ref, report___3, porcelain, summary_width);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return (1);
}
}
static int print_one_push_status(struct ref *ref , char const   *dest , int count___0 ,
                                 int porcelain , int summary_width )
{
  struct ref_push_report *report___3 ;
  int n ;
  int tmp ;
  int tmp___0 ;

  {
  n = 0;
  if (! ref->report) {
    tmp = print_one_push_report(ref, dest, count___0, (struct ref_push_report *)((void *)0),
                                porcelain, summary_width);
    return (tmp);
  }
  report___3 = ref->report;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! report___3) {
      goto while_break;
    }
    tmp___0 = n;
    n ++;
    print_one_push_report(ref, dest, count___0 + tmp___0, report___3, porcelain, summary_width);
    report___3 = report___3->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (n);
}
}
static int measure_abbrev(struct object_id  const  *oid , int sofar )
{
  char hex___3[65] ;
  int w ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = repo_find_unique_abbrev_r(the_repository, hex___3, oid, default_abbrev);
  w = tmp;
  if (w < sofar) {
    tmp___0 = sofar;
  } else {
    tmp___0 = w;
  }
  return (tmp___0);
}
}
int transport_summary_width(struct ref  const  *refs___0 )
{
  int maxw ;

  {
  maxw = -1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! refs___0) {
      goto while_break;
    }
    maxw = measure_abbrev((struct object_id  const  *)(& refs___0->old_oid), maxw);
    maxw = measure_abbrev((struct object_id  const  *)(& refs___0->new_oid), maxw);
    refs___0 = (struct ref  const  *)refs___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (maxw < 0) {
    maxw = 7;
  }
  return (2 * maxw + 3);
}
}
void transport_print_push_status(char const   *dest , struct ref *refs___0 , int verbose___15 ,
                                 int porcelain , unsigned int *reject_reasons )
{
  struct ref *ref ;
  int n ;
  char *head___1 ;
  int summary_width ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  n = 0;
  tmp = transport_summary_width((struct ref  const  *)refs___0);
  summary_width = tmp;
  tmp___1 = transport_color_config();
  if (tmp___1 < 0) {
    tmp___0 = _((char const   *)"could not parse transport.color.* config");
    warning((char const   *)tmp___0);
  }
  head___1 = resolve_refdup((char const   *)"HEAD", 0x01, (struct object_id *)((void *)0),
                            (int *)((void *)0));
  if (verbose___15) {
    ref = refs___0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ref) {
        goto while_break;
      }
      if ((unsigned int )ref->status == 10U) {
        tmp___2 = print_one_push_status(ref, dest, n, porcelain, summary_width);
        n += tmp___2;
      }
      ref = ref->next;
    }
    while_break: /* CIL Label */ ;
    }
  }
  ref = refs___0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ref) {
      goto while_break___0;
    }
    if ((unsigned int )ref->status == 1U) {
      tmp___3 = print_one_push_status(ref, dest, n, porcelain, summary_width);
      n += tmp___3;
    }
    ref = ref->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  *reject_reasons = 0U;
  ref = refs___0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ref) {
      goto while_break___1;
    }
    if ((unsigned int )ref->status != 0U) {
      if ((unsigned int )ref->status != 10U) {
        if ((unsigned int )ref->status != 1U) {
          tmp___4 = print_one_push_status(ref, dest, n, porcelain, summary_width);
          n += tmp___4;
        }
      }
    }
    if ((unsigned int )ref->status == 2U) {
      if ((unsigned long )head___1 != (unsigned long )((void *)0)) {
        tmp___5 = strcmp((char const   *)head___1, (char const   *)(ref->name));
        if (tmp___5) {
          *reject_reasons |= 2U;
        } else {
          *reject_reasons |= 1U;
        }
      } else {
        *reject_reasons |= 2U;
      }
    } else
    if ((unsigned int )ref->status == 3U) {
      *reject_reasons |= 4U;
    } else
    if ((unsigned int )ref->status == 5U) {
      *reject_reasons |= 8U;
    } else
    if ((unsigned int )ref->status == 6U) {
      *reject_reasons |= 16U;
    } else
    if ((unsigned int )ref->status == 9U) {
      *reject_reasons |= 32U;
    }
    ref = ref->next;
  }
  while_break___1: /* CIL Label */ ;
  }
  free((void *)head___1);
  return;
}
}
static int git_transport_push(struct transport *transport , struct ref *remote_refs ,
                              int flags___0 )
{
  struct git_transport_data *data ;
  struct send_pack_args args___0 ;
  int ret___67 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  data = (struct git_transport_data *)transport->data;
  ret___67 = 0;
  tmp = transport_color_config();
  if (tmp < 0) {
    return (-1);
  }
  if (! data->got_remote_heads) {
    get_refs_via_connect(transport, 1, (struct transport_ls_refs_options *)((void *)0));
  }
  memset((void *)(& args___0), 0, sizeof(args___0));
  args___0.send_mirror = (unsigned int )(! (! (flags___0 & (1 << 3))));
  args___0.force_update = (unsigned int )(! (! (flags___0 & (1 << 1))));
  args___0.use_thin_pack = data->options.thin;
  args___0.verbose = (unsigned int )(transport->verbose > 0);
  args___0.quiet = (unsigned int )(transport->verbose < 0);
  args___0.progress = transport->progress;
  args___0.dry_run = (unsigned int )(! (! (flags___0 & (1 << 2))));
  args___0.porcelain = (unsigned int )(! (! (flags___0 & (1 << 4))));
  args___0.atomic = (unsigned int )(! (! (flags___0 & (1 << 13))));
  args___0.push_options = transport->push_options;
  args___0.url = transport->url;
  if (flags___0 & (1 << 11)) {
    args___0.push_cert = 2U;
  } else
  if (flags___0 & (1 << 12)) {
    args___0.push_cert = 1U;
  } else {
    args___0.push_cert = 0U;
  }
  {
  if ((int )data->version == 2) {
    goto case_2;
  }
  if ((int )data->version == 0) {
    goto case_0;
  }
  if ((int )data->version == 1) {
    goto case_0;
  }
  if ((int )data->version == -1) {
    goto case_neg_1;
  }
  goto switch_break;
  case_2: /* CIL Label */
  tmp___0 = _((char const   *)"support for protocol v2 not implemented yet");
  die((char const   *)tmp___0);
  goto switch_break;
  case_0: /* CIL Label */
  case_1: /* CIL Label */
  ret___67 = send_pack(& args___0, data->fd, data->conn, remote_refs, & data->extra_have);
  goto switch_break;
  case_neg_1: /* CIL Label */
  BUG_fl((char const   *)"transport.c", 842, (char const   *)"unknown protocol version");
  switch_break: /* CIL Label */ ;
  }
  close(data->fd[1]);
  close(data->fd[0]);
  if (ret___67) {
    finish_connect(data->conn);
  } else
  if (args___0.atomic) {
    finish_connect(data->conn);
  } else {
    ret___67 = finish_connect(data->conn);
  }
  data->conn = (struct child_process *)((void *)0);
  data->got_remote_heads = 0U;
  return (ret___67);
}
}
static int connect_git(struct transport *transport , char const   *name___0 , char const   *executable ,
                       int *fd )
{
  struct git_transport_data *data ;

  {
  data = (struct git_transport_data *)transport->data;
  data->conn = git_connect((int *)(data->fd), transport->url, executable, 0);
  *(fd + 0) = data->fd[0];
  *(fd + 1) = data->fd[1];
  return (0);
}
}
static int disconnect_git(struct transport *transport )
{
  struct git_transport_data *data ;

  {
  data = (struct git_transport_data *)transport->data;
  if (data->conn) {
    if (data->got_remote_heads) {
      if (! transport->stateless_rpc) {
        packet_flush(data->fd[1]);
      }
    }
    close(data->fd[0]);
    if (data->fd[1] >= 0) {
      close(data->fd[1]);
    }
    finish_connect(data->conn);
  }
  free((void *)data);
  return (0);
}
}
static struct transport_vtable taken_over_vtable  =    {(int (*)(struct transport *connection , char const   *name , char const   *value ))0,
    & get_refs_via_connect, & fetch_refs_via_pack, & git_transport_push, (int (*)(struct transport *connection ,
                                                                                  char const   *name ,
                                                                                  char const   *executable ,
                                                                                  int *fd ))0,
    & disconnect_git};
void transport_take_over(struct transport *transport , struct child_process *child )
{
  struct git_transport_data *data ;
  void *tmp ;

  {
  if (! transport->smart_options) {
    BUG_fl((char const   *)"transport.c", 903, (char const   *)"taking over transport requires non-NULL smart_options field.");
  }
  tmp = xcalloc((size_t )1, sizeof(*data));
  data = (struct git_transport_data *)tmp;
  data->options = *(transport->smart_options);
  data->conn = child;
  data->fd[0] = (data->conn)->out;
  data->fd[1] = (data->conn)->in;
  data->got_remote_heads = 0U;
  transport->data = (void *)data;
  transport->vtable = (struct transport_vtable  const  *)(& taken_over_vtable);
  transport->smart_options = & data->options;
  transport->cannot_reuse = 1U;
  return;
}
}
static int is_file(char const   *url )
{
  struct stat buf___19 ;
  int tmp ;

  {
  tmp = stat(url, & buf___19);
  if (tmp) {
    return (0);
  }
  return ((buf___19.st_mode & 61440U) == 32768U);
}
}
static int external_specification_len(char const   *url )
{
  char *tmp ;

  {
  tmp = strchr(url, ':');
  return ((int )(tmp - (char *)url));
}
}
static struct string_list  const  *protocol_whitelist(void) ;
static int enabled  =    -1;
static struct string_list allowed  =    {(struct string_list_item *)0, 0U, 0U, 1U, (int (*)(char const   * , char const   * ))0};
static struct string_list  const  *protocol_whitelist(void)
{
  char const   *v ;
  char *tmp ;
  struct string_list *tmp___0 ;

  {
  if (enabled < 0) {
    tmp = getenv((char const   *)"GIT_ALLOW_PROTOCOL");
    v = (char const   *)tmp;
    if (v) {
      string_list_split(& allowed, v, ':', -1);
      string_list_sort(& allowed);
      enabled = 1;
    } else {
      enabled = 0;
    }
  }
  if (enabled) {
    tmp___0 = & allowed;
  } else {
    tmp___0 = (struct string_list *)((void *)0);
  }
  return ((struct string_list  const  *)tmp___0);
}
}
static enum protocol_allow_config parse_protocol_config(char const   *key___1 , char const   *value )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  tmp___1 = strcasecmp(value, (char const   *)"always");
  if (tmp___1) {
    tmp___0 = strcasecmp(value, (char const   *)"never");
    if (tmp___0) {
      tmp = strcasecmp(value, (char const   *)"user");
      if (! tmp) {
        return ((enum protocol_allow_config )1);
      }
    } else {
      return ((enum protocol_allow_config )0);
    }
  } else {
    return ((enum protocol_allow_config )2);
  }
  tmp___2 = _((char const   *)"unknown value for config \'%s\': %s");
  die((char const   *)tmp___2, key___1, value);
}
}
static enum protocol_allow_config get_protocol_config(char const   *type___0 )
{
  char *key___1 ;
  char *tmp ;
  char *value ;
  enum protocol_allow_config ret___67 ;
  enum protocol_allow_config tmp___0 ;
  int tmp___1 ;
  enum protocol_allow_config ret___68 ;
  enum protocol_allow_config tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  tmp = xstrfmt((char const   *)"protocol.%s.allow", type___0);
  key___1 = tmp;
  tmp___1 = git_config_get_string((char const   *)key___1, & value);
  if (! tmp___1) {
    tmp___0 = parse_protocol_config((char const   *)key___1, (char const   *)value);
    ret___67 = tmp___0;
    free((void *)key___1);
    free((void *)value);
    return (ret___67);
  }
  free((void *)key___1);
  tmp___3 = git_config_get_string((char const   *)"protocol.allow", & value);
  if (! tmp___3) {
    tmp___2 = parse_protocol_config((char const   *)"protocol.allow", (char const   *)value);
    ret___68 = tmp___2;
    free((void *)value);
    return (ret___68);
  }
  tmp___4 = strcmp(type___0, (char const   *)"http");
  if (tmp___4) {
    tmp___5 = strcmp(type___0, (char const   *)"https");
    if (tmp___5) {
      tmp___6 = strcmp(type___0, (char const   *)"git");
      if (tmp___6) {
        tmp___7 = strcmp(type___0, (char const   *)"ssh");
        if (tmp___7) {
          tmp___8 = strcmp(type___0, (char const   *)"file");
          if (! tmp___8) {
            return ((enum protocol_allow_config )2);
          }
        } else {
          return ((enum protocol_allow_config )2);
        }
      } else {
        return ((enum protocol_allow_config )2);
      }
    } else {
      return ((enum protocol_allow_config )2);
    }
  } else {
    return ((enum protocol_allow_config )2);
  }
  tmp___9 = strcmp(type___0, (char const   *)"ext");
  if (! tmp___9) {
    return ((enum protocol_allow_config )0);
  }
  return ((enum protocol_allow_config )1);
}
}
int is_transport_allowed(char const   *type___0 , int from_user )
{
  struct string_list  const  *whitelist ;
  struct string_list  const  *tmp ;
  int tmp___0 ;
  enum protocol_allow_config tmp___1 ;

  {
  tmp = protocol_whitelist();
  whitelist = tmp;
  if (whitelist) {
    tmp___0 = string_list_has_string(whitelist, type___0);
    return (tmp___0);
  }
  tmp___1 = get_protocol_config(type___0);
  {
  if ((unsigned int )tmp___1 == 2U) {
    goto case_2;
  }
  if ((unsigned int )tmp___1 == 0U) {
    goto case_0;
  }
  if ((unsigned int )tmp___1 == 1U) {
    goto case_1;
  }
  goto switch_break;
  case_2: /* CIL Label */
  return (1);
  case_0: /* CIL Label */
  return (0);
  case_1: /* CIL Label */
  if (from_user < 0) {
    from_user = git_env_bool((char const   *)"GIT_PROTOCOL_FROM_USER", 1);
  }
  return (from_user);
  switch_break: /* CIL Label */ ;
  }
  BUG_fl((char const   *)"transport.c", 1027, (char const   *)"invalid protocol_allow_config type");
}
}
void transport_check_allowed(char const   *type___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  tmp___0 = is_transport_allowed(type___0, -1);
  if (! tmp___0) {
    tmp = _((char const   *)"transport \'%s\' not allowed");
    die((char const   *)tmp, type___0);
  }
  return;
}
}
static struct transport_vtable bundle_vtable  =    {(int (*)(struct transport *connection , char const   *name , char const   *value ))0,
    & get_refs_from_bundle, & fetch_refs_from_bundle, (int (*)(struct transport *transport ,
                                                               struct ref *refs ,
                                                               int flags ))0, (int (*)(struct transport *connection ,
                                                                                       char const   *name ,
                                                                                       char const   *executable ,
                                                                                       int *fd ))0,
    & close_bundle};
static struct transport_vtable builtin_smart_vtable  =    {(int (*)(struct transport *connection , char const   *name , char const   *value ))0,
    & get_refs_via_connect, & fetch_refs_via_pack, & git_transport_push, & connect_git,
    & disconnect_git};
struct transport *transport_get(struct remote *remote , char const   *url )
{
  char const   *helper ;
  struct transport *ret___67 ;
  void *tmp ;
  int tmp___0 ;
  char const   *p___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  struct bundle_transport_data *data ;
  void *tmp___5 ;
  struct git_transport_data *data___0 ;
  void *tmp___6 ;
  int len___0 ;
  int tmp___7 ;
  char *handler ;
  void *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*ret___67));
  ret___67 = (struct transport *)tmp;
  tmp___0 = isatty(2);
  ret___67->progress = (unsigned int )tmp___0;
  string_list_init_dup(& ret___67->pack_lockfiles);
  if (! remote) {
    BUG_fl((char const   *)"transport.c", 1059, (char const   *)"No remote provided to transport_get()");
  }
  ret___67->got_remote_refs = 0U;
  ret___67->remote = remote;
  helper = remote->foreign_vcs;
  if (! url) {
    if (remote->url) {
      url = *(remote->url + 0);
    }
  }
  ret___67->url = url;
  if (url) {
    p___0 = url;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___1 = is_urlschemechar((unsigned long )p___0 == (unsigned long )url, (int )*p___0);
      if (! tmp___1) {
        goto while_break;
      }
      p___0 ++;
    }
    while_break: /* CIL Label */ ;
    }
    tmp___3 = starts_with(p___0, (char const   *)"::");
    if (tmp___3) {
      tmp___2 = xstrndup(url, (size_t )(p___0 - url));
      helper = (char const   *)tmp___2;
    }
  }
  if (helper) {
    transport_helper_init(ret___67, helper);
  } else {
    tmp___18 = starts_with(url, (char const   *)"rsync:");
    if (tmp___18) {
      tmp___4 = _((char const   *)"git-over-rsync is no longer supported");
      die((char const   *)tmp___4);
    } else {
      tmp___15 = url_is_local_not_ssh(url);
      if (tmp___15) {
        tmp___16 = is_file(url);
        if (tmp___16) {
          tmp___17 = is_bundle(url, 1);
          if (tmp___17) {
            tmp___5 = xcalloc((size_t )1, sizeof(*data));
            data = (struct bundle_transport_data *)tmp___5;
            bundle_header_init(& data->header);
            transport_check_allowed((char const   *)"file");
            ret___67->data = (void *)data;
            ret___67->vtable = (struct transport_vtable  const  *)(& bundle_vtable);
            ret___67->smart_options = (struct git_transport_options *)((void *)0);
          } else {
            goto _L___1;
          }
        } else {
          goto _L___1;
        }
      } else {
        _L___1: /* CIL Label */
        _L___0: /* CIL Label */
        tmp___9 = is_url(url);
        if (tmp___9) {
          tmp___10 = starts_with(url, (char const   *)"file://");
          if (tmp___10) {
            goto _L;
          } else {
            tmp___11 = starts_with(url, (char const   *)"git://");
            if (tmp___11) {
              goto _L;
            } else {
              tmp___12 = starts_with(url, (char const   *)"ssh://");
              if (tmp___12) {
                goto _L;
              } else {
                tmp___13 = starts_with(url, (char const   *)"git+ssh://");
                if (tmp___13) {
                  goto _L;
                } else {
                  tmp___14 = starts_with(url, (char const   *)"ssh+git://");
                  if (tmp___14) {
                    _L: /* CIL Label */
                    tmp___6 = xcalloc((size_t )1, sizeof(*data___0));
                    data___0 = (struct git_transport_data *)tmp___6;
                    ret___67->data = (void *)data___0;
                    ret___67->vtable = (struct transport_vtable  const  *)(& builtin_smart_vtable);
                    ret___67->smart_options = & data___0->options;
                    data___0->conn = (struct child_process *)((void *)0);
                    data___0->got_remote_heads = 0U;
                  } else {
                    tmp___7 = external_specification_len(url);
                    len___0 = tmp___7;
                    tmp___8 = xmemdupz((void const   *)url, (size_t )len___0);
                    handler = (char *)tmp___8;
                    transport_helper_init(ret___67, (char const   *)handler);
                  }
                }
              }
            }
          }
        } else {
          goto _L;
        }
      }
    }
  }
  if (ret___67->smart_options) {
    (ret___67->smart_options)->thin = 1U;
    (ret___67->smart_options)->uploadpack = (char const   *)"git-upload-pack";
    if (remote->uploadpack) {
      (ret___67->smart_options)->uploadpack = remote->uploadpack;
    }
    (ret___67->smart_options)->receivepack = (char const   *)"git-receive-pack";
    if (remote->receivepack) {
      (ret___67->smart_options)->receivepack = remote->receivepack;
    }
  }
  ret___67->hash_algo = & hash_algos[1];
  return (ret___67);
}
}
struct git_hash_algo  const  *transport_get_hash_algo(struct transport *transport )
{


  {
  return (transport->hash_algo);
}
}
int transport_set_option(struct transport *transport , char const   *name___0 , char const   *value )
{
  int git_reports ;
  int protocol_reports ;

  {
  git_reports = 1;
  protocol_reports = 1;
  if (transport->smart_options) {
    git_reports = set_git_option(transport->smart_options, name___0, value);
  }
  if ((transport->vtable)->set_option) {
    protocol_reports = (*((transport->vtable)->set_option))(transport, name___0, value);
  }
  if (! git_reports) {
    return (0);
  } else
  if (! protocol_reports) {
    return (0);
  }
  if (git_reports == -1) {
    return (-1);
  } else
  if (protocol_reports == -1) {
    return (-1);
  }
  return (1);
}
}
void transport_set_verbosity(struct transport *transport , int verbosity___3 , int force_progress )
{
  int tmp ;
  int tmp___0 ;

  {
  if (verbosity___3 >= 1) {
    if (verbosity___3 <= 3) {
      transport->verbose = verbosity___3;
    } else {
      transport->verbose = 3;
    }
  }
  if (verbosity___3 < 0) {
    transport->verbose = -1;
  }
  if (force_progress >= 0) {
    transport->progress = (unsigned int )(! (! force_progress));
  } else {
    if (verbosity___3 >= 0) {
      tmp = isatty(2);
      if (tmp) {
        tmp___0 = 1;
      } else {
        tmp___0 = 0;
      }
    } else {
      tmp___0 = 0;
    }
    transport->progress = (unsigned int )tmp___0;
  }
  return;
}
}
static void die_with_unpushed_submodules(struct string_list *needs_pushing )
{
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  tmp = _((char const   *)"The following submodule paths contain changes that can\nnot be found on any remote:\n");
  fprintf(stderr, (char const   *)tmp);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < needs_pushing->nr)) {
      goto while_break;
    }
    fprintf(stderr, (char const   *)"  %s\n", (needs_pushing->items + i)->string);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = _((char const   *)"\nPlease try\n\n\tgit push --recurse-submodules=on-demand\n\nor cd to the path and use\n\n\tgit push\n\nto push them to a remote.\n\n");
  fprintf(stderr, (char const   *)tmp___0);
  string_list_clear(needs_pushing, 0);
  tmp___1 = _((char const   *)"Aborting.");
  die((char const   *)tmp___1);
}
}
static int run_pre_push_hook(struct transport *transport , struct ref *remote_refs )
{
  int ret___67 ;
  int x ;
  struct ref *r ;
  struct child_process proc ;
  struct strbuf buf___19 ;
  char const   *hook_path ;
  char const   *tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  int *tmp___3 ;
  ssize_t tmp___4 ;

  {
  ret___67 = 0;
  proc.args.v = empty_strvec;
  proc.args.nr = 0UL;
  proc.args.alloc = 0UL;
  proc.env_array.v = empty_strvec;
  proc.env_array.nr = 0UL;
  proc.env_array.alloc = 0UL;
  proc.pid = 0;
  proc.trace2_child_id = 0;
  proc.trace2_child_us_start = 0UL;
  proc.trace2_child_class = (char const   *)0;
  proc.trace2_hook_name = (char const   *)0;
  proc.in = 0;
  proc.out = 0;
  proc.err = 0;
  proc.dir = (char const   *)0;
  proc.no_stdin = 0U;
  proc.no_stdout = 0U;
  proc.no_stderr = 0U;
  proc.git_cmd = 0U;
  proc.silent_exec_failure = 0U;
  proc.use_shell = 0U;
  proc.close_object_store = 0U;
  proc.stdout_to_stderr = 0U;
  proc.clean_on_exit = 0U;
  proc.wait_after_clean = 0U;
  proc.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  proc.clean_on_exit_handler_cbdata = (void *)0;
  tmp = find_hook((char const   *)"pre-push");
  hook_path = tmp;
  if (! hook_path) {
    return (0);
  }
  strvec_push(& proc.args, hook_path);
  strvec_push(& proc.args, (transport->remote)->name);
  strvec_push(& proc.args, transport->url);
  proc.in = -1;
  proc.trace2_hook_name = (char const   *)"pre-push";
  tmp___0 = start_command(& proc);
  if (tmp___0) {
    finish_command(& proc);
    return (-1);
  }
  sigchain_push(13, (void (*)(int  ))1);
  strbuf_init(& buf___19, (size_t )256);
  r = remote_refs;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! r) {
      goto while_break;
    }
    if (! r->peer_ref) {
      goto __Cont;
    }
    if ((unsigned int )r->status == 2U) {
      goto __Cont;
    }
    if ((unsigned int )r->status == 7U) {
      goto __Cont;
    }
    if ((unsigned int )r->status == 9U) {
      goto __Cont;
    }
    if ((unsigned int )r->status == 10U) {
      goto __Cont;
    }
    strbuf_setlen(& buf___19, (size_t )0);
    tmp___1 = oid_to_hex((struct object_id  const  *)(& r->old_oid));
    tmp___2 = oid_to_hex((struct object_id  const  *)(& r->new_oid));
    strbuf_addf(& buf___19, (char const   *)"%s %s %s %s\n", (r->peer_ref)->name,
                tmp___2, r->name, tmp___1);
    tmp___4 = write_in_full(proc.in, (void const   *)buf___19.buf, buf___19.len);
    if (tmp___4 < 0L) {
      tmp___3 = __errno_location();
      if (*tmp___3 != 32) {
        ret___67 = -1;
      }
      goto while_break;
    }
    __Cont: /* CIL Label */
    r = r->next;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  x = close(proc.in);
  if (! ret___67) {
    ret___67 = x;
  }
  sigchain_pop(13);
  x = finish_command(& proc);
  if (! ret___67) {
    ret___67 = x;
  }
  return (ret___67);
}
}
int transport_push(struct repository *r , struct transport *transport , struct refspec *rs___0 ,
                   int flags___0 , unsigned int *reject_reasons )
{
  int tmp ;
  struct ref *remote_refs ;
  struct ref *local_refs ;
  struct ref *tmp___0 ;
  int match_flags ;
  int verbose___15 ;
  int quiet___7 ;
  int porcelain ;
  int pretend ;
  int push_ret ;
  int ret___67 ;
  int err___4 ;
  struct transport_ls_refs_options transport_options ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  struct ref *ref ;
  struct oid_array commits ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  struct ref *ref___0 ;
  struct string_list needs_pushing ;
  struct oid_array commits___0 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  struct ref *ref___1 ;
  int tmp___12 ;

  {
  *reject_reasons = 0U;
  tmp = transport_color_config();
  if (tmp < 0) {
    return (-1);
  }
  if ((transport->vtable)->push_refs) {
    tmp___0 = get_local_heads();
    local_refs = tmp___0;
    match_flags = 0;
    verbose___15 = transport->verbose > 0;
    quiet___7 = transport->verbose < 0;
    porcelain = flags___0 & (1 << 4);
    pretend = flags___0 & (1 << 2);
    transport_options.ref_prefixes.v = empty_strvec;
    transport_options.ref_prefixes.nr = 0UL;
    transport_options.ref_prefixes.alloc = 0UL;
    transport_options.unborn_head_target = (char *)0;
    tmp___1 = check_push_refs(local_refs, rs___0);
    if (tmp___1 < 0) {
      return (-1);
    }
    refspec_ref_prefixes((struct refspec  const  *)rs___0, & transport_options.ref_prefixes);
    trace2_region_enter_fl((char const   *)"transport.c", 1290, (char const   *)"transport_push",
                           (char const   *)"get_refs_list", (struct repository  const  *)r);
    remote_refs = (*((transport->vtable)->get_refs_list))(transport, 1, & transport_options);
    trace2_region_leave_fl((char const   *)"transport.c", 1293, (char const   *)"transport_push",
                           (char const   *)"get_refs_list", (struct repository  const  *)r);
    strvec_clear(& transport_options.ref_prefixes);
    if (flags___0 & 1) {
      match_flags |= 1;
    }
    if (flags___0 & (1 << 3)) {
      match_flags |= 2;
    }
    if (flags___0 & (1 << 7)) {
      match_flags |= 4;
    }
    if (flags___0 & (1 << 10)) {
      match_flags |= 8;
    }
    tmp___2 = match_push_refs(local_refs, & remote_refs, rs___0, match_flags);
    if (tmp___2) {
      return (-1);
    }
    if (transport->smart_options) {
      if ((transport->smart_options)->cas) {
        tmp___3 = is_empty_cas((struct push_cas_option  const  *)(transport->smart_options)->cas);
        if (! tmp___3) {
          apply_push_cas((transport->smart_options)->cas, transport->remote, remote_refs);
        }
      }
    }
    set_ref_status_for_push(remote_refs, flags___0 & (1 << 3), flags___0 & (1 << 1));
    if (! (flags___0 & (1 << 9))) {
      tmp___4 = run_pre_push_hook(transport, remote_refs);
      if (tmp___4) {
        return (-1);
      }
    }
    if (flags___0 & ((1 << 8) | (1 << 15))) {
      tmp___8 = is_bare_repository();
      if (! tmp___8) {
        ref = remote_refs;
        commits.oid = (struct object_id *)0;
        commits.nr = 0UL;
        commits.alloc = 0UL;
        commits.sorted = 0;
        trace2_region_enter_fl((char const   *)"transport.c", 1329, (char const   *)"transport_push",
                               (char const   *)"push_submodules", (struct repository  const  *)r);
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          if (! ref) {
            goto while_break;
          }
          tmp___5 = is_null_oid((struct object_id  const  *)(& ref->new_oid));
          if (! tmp___5) {
            oid_array_append(& commits, (struct object_id  const  *)(& ref->new_oid));
          }
          ref = ref->next;
        }
        while_break: /* CIL Label */ ;
        }
        tmp___7 = push_unpushed_submodules(r, & commits, (struct remote  const  *)transport->remote,
                                           (struct refspec  const  *)rs___0, transport->push_options,
                                           pretend);
        if (! tmp___7) {
          oid_array_clear(& commits);
          trace2_region_leave_fl((char const   *)"transport.c", 1342, (char const   *)"transport_push",
                                 (char const   *)"push_submodules", (struct repository  const  *)r);
          tmp___6 = _((char const   *)"failed to push all needed submodules");
          die((char const   *)tmp___6);
        }
        oid_array_clear(& commits);
        trace2_region_leave_fl((char const   *)"transport.c", 1346, (char const   *)"transport_push",
                               (char const   *)"push_submodules", (struct repository  const  *)r);
      }
    }
    if (flags___0 & (1 << 6)) {
      goto _L;
    } else
    if (flags___0 & ((1 << 8) | (1 << 15))) {
      if (! pretend) {
        _L: /* CIL Label */
        tmp___11 = is_bare_repository();
        if (! tmp___11) {
          ref___0 = remote_refs;
          needs_pushing.items = (struct string_list_item *)0;
          needs_pushing.nr = 0U;
          needs_pushing.alloc = 0U;
          needs_pushing.strdup_strings = 1U;
          needs_pushing.cmp = (int (*)(char const   * , char const   * ))0;
          commits___0.oid = (struct object_id *)0;
          commits___0.nr = 0UL;
          commits___0.alloc = 0UL;
          commits___0.sorted = 0;
          trace2_region_enter_fl((char const   *)"transport.c", 1357, (char const   *)"transport_push",
                                 (char const   *)"check_submodules", (struct repository  const  *)r);
          {
          while (1) {
            while_continue___0: /* CIL Label */ ;
            if (! ref___0) {
              goto while_break___0;
            }
            tmp___9 = is_null_oid((struct object_id  const  *)(& ref___0->new_oid));
            if (! tmp___9) {
              oid_array_append(& commits___0, (struct object_id  const  *)(& ref___0->new_oid));
            }
            ref___0 = ref___0->next;
          }
          while_break___0: /* CIL Label */ ;
          }
          tmp___10 = find_unpushed_submodules(r, & commits___0, (transport->remote)->name,
                                              & needs_pushing);
          if (tmp___10) {
            oid_array_clear(& commits___0);
            trace2_region_leave_fl((char const   *)"transport.c", 1368, (char const   *)"transport_push",
                                   (char const   *)"check_submodules", (struct repository  const  *)r);
            die_with_unpushed_submodules(& needs_pushing);
          }
          string_list_clear(& needs_pushing, 0);
          oid_array_clear(& commits___0);
          trace2_region_leave_fl((char const   *)"transport.c", 1373, (char const   *)"transport_push",
                                 (char const   *)"check_submodules", (struct repository  const  *)r);
        }
      }
    }
    if (! (flags___0 & (1 << 15))) {
      trace2_region_enter_fl((char const   *)"transport.c", 1377, (char const   *)"transport_push",
                             (char const   *)"push_refs", (struct repository  const  *)r);
      push_ret = (*((transport->vtable)->push_refs))(transport, remote_refs, flags___0);
      trace2_region_leave_fl((char const   *)"transport.c", 1379, (char const   *)"transport_push",
                             (char const   *)"push_refs", (struct repository  const  *)r);
    } else {
      push_ret = 0;
    }
    err___4 = push_had_errors(remote_refs);
    ret___67 = push_ret | err___4;
    if (! quiet___7) {
      transport_print_push_status(transport->url, remote_refs, verbose___15 | porcelain,
                                  porcelain, reject_reasons);
    } else
    if (err___4) {
      transport_print_push_status(transport->url, remote_refs, verbose___15 | porcelain,
                                  porcelain, reject_reasons);
    }
    if (flags___0 & (1 << 5)) {
      set_upstreams(transport, remote_refs, pretend);
    }
    if (! (flags___0 & ((1 << 2) | (1 << 15)))) {
      ref___1 = remote_refs;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! ref___1) {
          goto while_break___1;
        }
        transport_update_tracking_ref(transport->remote, ref___1, verbose___15);
        ref___1 = ref___1->next;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
    if (porcelain) {
      if (! push_ret) {
        puts((char const   *)"Done");
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if (! quiet___7) {
      if (! ret___67) {
        tmp___12 = transport_refs_pushed(remote_refs);
        if (! tmp___12) {
          fprintf(stderr, (char const   *)"Everything up-to-date\n");
        }
      }
    }
    return (ret___67);
  }
  return (1);
}
}
struct ref  const  *transport_get_remote_refs(struct transport *transport , struct transport_ls_refs_options *transport_options )
{
  struct ref *tmp ;

  {
  if (! transport->got_remote_refs) {
    tmp = (*((transport->vtable)->get_refs_list))(transport, 0, transport_options);
    transport->remote_refs = (struct ref  const  *)tmp;
    transport->got_remote_refs = 1U;
  }
  return (transport->remote_refs);
}
}
int transport_fetch_refs(struct transport *transport , struct ref *refs___0 )
{
  int rc___0 ;
  int nr_heads ;
  int nr_alloc ;
  int nr_refs ;
  struct ref **heads ;
  struct ref *rm___0 ;
  int tmp ;
  int tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  int tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;
  int tmp___6 ;

  {
  nr_heads = 0;
  nr_alloc = 0;
  nr_refs = 0;
  heads = (struct ref **)((void *)0);
  rm___0 = refs___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! rm___0) {
      goto while_break;
    }
    nr_refs ++;
    if (rm___0->peer_ref) {
      tmp = is_null_oid((struct object_id  const  *)(& rm___0->old_oid));
      if (! tmp) {
        tmp___0 = oideq((struct object_id  const  *)(& (rm___0->peer_ref)->old_oid),
                        (struct object_id  const  *)(& rm___0->old_oid));
        if (tmp___0) {
          goto __Cont;
        }
      }
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (nr_heads + 1 > nr_alloc) {
        if (((nr_alloc + 16) * 3) / 2 < nr_heads + 1) {
          nr_alloc = nr_heads + 1;
        } else {
          nr_alloc = ((nr_alloc + 16) * 3) / 2;
        }
        tmp___1 = st_mult(sizeof(*heads), (size_t )nr_alloc);
        tmp___2 = xrealloc((void *)heads, tmp___1);
        heads = (struct ref **)tmp___2;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___3 = nr_heads;
    nr_heads ++;
    *(heads + tmp___3) = rm___0;
    __Cont: /* CIL Label */
    rm___0 = rm___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (! nr_heads) {
    tmp___4 = st_mult(sizeof(*heads), (size_t )nr_refs);
    tmp___5 = xmalloc(tmp___4);
    heads = (struct ref **)tmp___5;
    rm___0 = refs___0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! rm___0) {
        goto while_break___1;
      }
      tmp___6 = nr_heads;
      nr_heads ++;
      *(heads + tmp___6) = rm___0;
      rm___0 = rm___0->next;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  rc___0 = (*((transport->vtable)->fetch_refs))(transport, nr_heads, heads);
  free((void *)heads);
  return (rc___0);
}
}
void transport_unlock_pack(struct transport *transport , unsigned int flags___0 )
{
  int in_signal_handler ;
  int i ;

  {
  in_signal_handler = ! (! (flags___0 & 1U));
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < transport->pack_lockfiles.nr)) {
      goto while_break;
    }
    if (in_signal_handler) {
      unlink((char const   *)(transport->pack_lockfiles.items + i)->string);
    } else {
      unlink_or_warn((char const   *)(transport->pack_lockfiles.items + i)->string);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! in_signal_handler) {
    string_list_clear(& transport->pack_lockfiles, 0);
  }
  return;
}
}
int transport_connect(struct transport *transport , char const   *name___0 , char const   *exec ,
                      int *fd )
{
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  if ((transport->vtable)->connect) {
    tmp = (*((transport->vtable)->connect))(transport, name___0, exec, fd);
    return (tmp);
  } else {
    tmp___0 = _((char const   *)"operation not supported by protocol");
    die((char const   *)tmp___0);
  }
}
}
int transport_disconnect(struct transport *transport )
{
  int ret___67 ;

  {
  ret___67 = 0;
  if ((transport->vtable)->disconnect) {
    ret___67 = (*((transport->vtable)->disconnect))(transport);
  }
  if (transport->got_remote_refs) {
    free_refs((struct ref *)((void *)transport->remote_refs));
  }
  free((void *)transport);
  return (ret___67);
}
}
char *transport_anonymize_url(char const   *url )
{
  char *scheme_prefix ;
  char *anon_part ;
  size_t anon_len ;
  size_t prefix_len___1 ;
  int tmp ;
  char *tmp___0 ;
  char const   *cp ;
  char *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;

  {
  prefix_len___1 = (size_t )0;
  anon_part = strchr(url, '@');
  tmp = url_is_local_not_ssh(url);
  if (tmp) {
    goto literal_copy;
  } else
  if (! anon_part) {
    goto literal_copy;
  }
  anon_part ++;
  anon_len = strlen((char const   *)anon_part);
  scheme_prefix = strstr(url, (char const   *)"://");
  if (! scheme_prefix) {
    tmp___0 = strchr((char const   *)anon_part, ':');
    if (! tmp___0) {
      goto literal_copy;
    }
  } else {
    cp = url;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned long )cp < (unsigned long )scheme_prefix)) {
        goto while_break;
      }
      {
      if ((int const   )*cp == 45) {
        goto case_45;
      }
      if ((int const   )*cp == 46) {
        goto case_45;
      }
      if ((int const   )*cp == 43) {
        goto case_45;
      }
      goto switch_default;
      case_45: /* CIL Label */
      case_46: /* CIL Label */
      case_43: /* CIL Label */
      goto switch_break;
      switch_default: /* CIL Label */
      if (((int const   )sane_ctype[(unsigned char )*cp] & 6) != 0) {
        goto switch_break;
      }
      goto literal_copy;
      switch_break: /* CIL Label */ ;
      }
      cp ++;
    }
    while_break: /* CIL Label */ ;
    }
    tmp___1 = strchr((char const   *)(scheme_prefix + 3), '/');
    cp = (char const   *)tmp___1;
    if (cp) {
      if ((unsigned long )cp < (unsigned long )anon_part) {
        goto literal_copy;
      }
    }
    prefix_len___1 = (size_t )((scheme_prefix - (char *)url) + 3L);
  }
  tmp___2 = xstrfmt((char const   *)"%.*s%.*s", (int )prefix_len___1, url, (int )anon_len,
                    anon_part);
  return (tmp___2);
  literal_copy:
  tmp___3 = xstrdup(url);
  return (tmp___3);
}
}
static double const   __ac_HASH_UPPER___94  =    (double const   )0.77;
__inline static void kh_resize_oid_set___94(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___94(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___94 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___94 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___94(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___94(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___94(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___94(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___94(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___94(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___94 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___94 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___94(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___94(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___94(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___94(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___94(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___94(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___94 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___94 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___94(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___94(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___94(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___94(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static struct combine_diff_path *ll_diff_tree_paths(struct combine_diff_path *p___0 ,
                                                    struct object_id  const  *oid ,
                                                    struct object_id  const  **parents_oid ,
                                                    int nparent , struct strbuf *base ,
                                                    struct diff_options *opt___0 ) ;
static void ll_diff_tree_oid(struct object_id  const  *old_oid , struct object_id  const  *new_oid ,
                             struct strbuf *base , struct diff_options *opt___0 ) ;
static int tree_entry_pathcmp(struct tree_desc *t1 , struct tree_desc *t2 )
{
  struct name_entry *e1 ;
  struct name_entry *e2 ;
  int cmp___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! t1->size) {
    if (t2->size) {
      tmp = 1;
    } else {
      tmp = 0;
    }
    return (tmp);
  } else
  if (! t2->size) {
    return (-1);
  }
  e1 = & t1->entry;
  e2 = & t2->entry;
  tmp___0 = tree_entry_len((struct name_entry  const  *)e2);
  tmp___1 = tree_entry_len((struct name_entry  const  *)e1);
  cmp___0 = base_name_compare(e1->path, tmp___1, (int )e1->mode, e2->path, tmp___0,
                              (int )e2->mode);
  return (cmp___0);
}
}
static int emit_diff_first_parent_only(struct diff_options *opt___0 , struct combine_diff_path *p___0 )
{
  struct combine_diff_parent *p0 ;
  struct object_id  const  *oid ;
  unsigned int mode___1 ;
  int addremove___0 ;

  {
  p0 = & p___0->parent[0];
  if (p___0->mode) {
    if (p0->mode) {
      (*(opt___0->change))(opt___0, p0->mode, p___0->mode, (struct object_id  const  *)(& p0->oid),
                           (struct object_id  const  *)(& p___0->oid), 1, 1, (char const   *)p___0->path,
                           0U, 0U);
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    if (p___0->mode) {
      addremove___0 = '+';
      oid = (struct object_id  const  *)(& p___0->oid);
      mode___1 = p___0->mode;
    } else {
      addremove___0 = '-';
      oid = (struct object_id  const  *)(& p0->oid);
      mode___1 = p0->mode;
    }
    (*(opt___0->add_remove))(opt___0, addremove___0, mode___1, oid, 1, (char const   *)p___0->path,
                             0U);
  }
  return (0);
}
}
static struct combine_diff_path *path_appendnew(struct combine_diff_path *last , int nparent ,
                                                struct strbuf  const  *base , char const   *path___6 ,
                                                int pathlen , unsigned int mode___1 ,
                                                struct object_id  const  *oid )
{
  struct combine_diff_path *p___0 ;
  size_t len___0 ;
  size_t tmp ;
  size_t alloclen ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  struct object_id  const  *tmp___5 ;
  struct object_id  const  *tmp___6 ;

  {
  tmp = st_add((size_t )base->len, (size_t )pathlen);
  len___0 = tmp;
  tmp___0 = st_mult(sizeof(struct combine_diff_parent ), (size_t )nparent);
  tmp___1 = st_add(sizeof(struct combine_diff_path ), len___0);
  tmp___2 = st_add(tmp___1, (size_t )1);
  tmp___3 = st_add(tmp___2, tmp___0);
  alloclen = tmp___3;
  p___0 = last->next;
  if (p___0) {
    if (alloclen > (size_t )((intptr_t )p___0->next)) {
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        free((void *)p___0);
        p___0 = (struct combine_diff_path *)((void *)0);
        goto while_break;
      }
      while_break: /* CIL Label */ ;
      }
    }
  }
  if (! p___0) {
    tmp___4 = xmalloc(alloclen);
    p___0 = (struct combine_diff_path *)tmp___4;
    p___0->next = (struct combine_diff_path *)((intptr_t )alloclen);
  }
  last->next = p___0;
  p___0->path = (char *)(& p___0->parent[nparent]);
  memcpy((void *)p___0->path, (void const   *)base->buf, (size_t )base->len);
  memcpy((void *)(p___0->path + base->len), (void const   *)path___6, (size_t )pathlen);
  *(p___0->path + len___0) = (char)0;
  p___0->mode = mode___1;
  if (oid) {
    tmp___6 = oid;
  } else {
    tmp___5 = null_oid();
    tmp___6 = tmp___5;
  }
  oidcpy(& p___0->oid, tmp___6);
  return (p___0);
}
}
static struct combine_diff_path *emit_path(struct combine_diff_path *p___0 , struct strbuf *base ,
                                           struct diff_options *opt___0 , int nparent ,
                                           struct tree_desc *t , struct tree_desc *tp ,
                                           int imin )
{
  unsigned short mode___1 ;
  char const   *path___6 ;
  struct object_id  const  *oid ;
  int pathlen ;
  int old_baselen ;
  int i ;
  int isdir ;
  int recurse ;
  int emitthis ;
  int tmp ;
  int keep___0 ;
  struct combine_diff_path *pprev ;
  int tpi_valid ;
  int tmp___0 ;
  struct object_id  const  *oid_i ;
  unsigned int mode_i ;
  int tmp___1 ;
  struct object_id  const  **parents_oid ;
  void *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  int tpi_valid___0 ;
  int tmp___5 ;

  {
  old_baselen = (int )base->len;
  recurse = 0;
  emitthis = 1;
  if (t) {
    tmp = 1;
  } else
  if (tp) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  assert(tmp);
  if (t) {
    oid = tree_entry_extract(t, & path___6, & mode___1);
    pathlen = tree_entry_len((struct name_entry  const  *)(& t->entry));
    isdir = ((int )mode___1 & 0170000) == 0040000;
  } else {
    tree_entry_extract(tp + imin, & path___6, & mode___1);
    pathlen = tree_entry_len((struct name_entry  const  *)(& (tp + imin)->entry));
    isdir = ((int )mode___1 & 0170000) == 0040000;
    oid = (struct object_id  const  *)((void *)0);
    mode___1 = (unsigned short)0;
  }
  if (opt___0->flags.recursive) {
    if (isdir) {
      recurse = 1;
      emitthis = (int )opt___0->flags.tree_in_recursive;
    }
  }
  if (emitthis) {
    pprev = p___0;
    p___0 = path_appendnew(p___0, nparent, (struct strbuf  const  *)base, path___6,
                           pathlen, (unsigned int )mode___1, oid);
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < nparent)) {
        goto while_break;
      }
      if (tp) {
        if (! ((tp + i)->entry.mode & 0x80000000)) {
          tmp___0 = 1;
        } else {
          tmp___0 = 0;
        }
      } else {
        tmp___0 = 0;
      }
      tpi_valid = tmp___0;
      if (! t) {
        p___0->parent[i].status = (char )'D';
      } else {
        if (tpi_valid) {
          tmp___1 = 'M';
        } else {
          tmp___1 = 'A';
        }
        p___0->parent[i].status = (char )tmp___1;
      }
      if (tpi_valid) {
        oid_i = (struct object_id  const  *)(& (tp + i)->entry.oid);
        mode_i = (tp + i)->entry.mode;
      } else {
        oid_i = null_oid();
        mode_i = 0U;
      }
      p___0->parent[i].mode = mode_i;
      oidcpy(& p___0->parent[i].oid, oid_i);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    keep___0 = 1;
    if (opt___0->pathchange) {
      keep___0 = (*(opt___0->pathchange))(opt___0, p___0);
    }
    if (! keep___0) {
      p___0 = pprev;
    } else {
      p___0->next = (struct combine_diff_path *)((void *)0);
    }
  }
  if (recurse) {
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (nparent <= 2) {
        tmp___2 = __builtin_alloca((unsigned long )nparent * sizeof(*parents_oid));
        parents_oid = (struct object_id  const  **)tmp___2;
      } else {
        tmp___3 = st_mult(sizeof(*parents_oid), (size_t )nparent);
        tmp___4 = xmalloc(tmp___3);
        parents_oid = (struct object_id  const  **)tmp___4;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < nparent)) {
        goto while_break___1;
      }
      if (tp) {
        if (! ((tp + i)->entry.mode & 0x80000000)) {
          tmp___5 = 1;
        } else {
          tmp___5 = 0;
        }
      } else {
        tmp___5 = 0;
      }
      tpi_valid___0 = tmp___5;
      if (tpi_valid___0) {
        *(parents_oid + i) = (struct object_id  const  *)(& (tp + i)->entry.oid);
      } else {
        *(parents_oid + i) = (struct object_id  const  *)((void *)0);
      }
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    strbuf_add(base, (void const   *)path___6, (size_t )pathlen);
    strbuf_addch(base, '/');
    p___0 = ll_diff_tree_paths(p___0, oid, parents_oid, nparent, base, opt___0);
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (nparent <= 2) {
        {
        while (1) {
          while_continue___3: /* CIL Label */ ;
          goto while_break___3;
        }
        while_break___3: /* CIL Label */ ;
        }
      } else {
        free((void *)parents_oid);
      }
      goto while_break___2;
    }
    while_break___2: /* CIL Label */ ;
    }
  }
  strbuf_setlen(base, (size_t )old_baselen);
  return (p___0);
}
}
static void skip_uninteresting(struct tree_desc *t , struct strbuf *base , struct diff_options *opt___0 )
{
  enum interesting match___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! t->size) {
      goto while_break;
    }
    match___0 = tree_entry_interesting((opt___0->repo)->index, (struct name_entry  const  *)(& t->entry),
                                       base, 0, (struct pathspec  const  *)(& opt___0->pathspec));
    if (match___0) {
      if ((int )match___0 == -1) {
        t->size = 0U;
      }
      goto while_break;
    }
    update_tree_entry(t);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
__inline static void update_tp_entries(struct tree_desc *tp , int nparent )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nparent)) {
      goto while_break;
    }
    if (! ((tp + i)->entry.mode & 0x80000000)) {
      update_tree_entry(tp + i);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct combine_diff_path *ll_diff_tree_paths(struct combine_diff_path *p___0 ,
                                                    struct object_id  const  *oid ,
                                                    struct object_id  const  **parents_oid ,
                                                    int nparent , struct strbuf *base ,
                                                    struct diff_options *opt___0 )
{
  struct tree_desc t ;
  struct tree_desc *tp ;
  void *ttree ;
  void **tptree ;
  int i ;
  void *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  int imin ;
  int cmp___0 ;
  int tmp___5 ;
  int done___0 ;
  int tmp___6 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (nparent <= 2) {
      tmp = __builtin_alloca((unsigned long )nparent * sizeof(*tp));
      tp = (struct tree_desc *)tmp;
    } else {
      tmp___0 = st_mult(sizeof(*tp), (size_t )nparent);
      tmp___1 = xmalloc(tmp___0);
      tp = (struct tree_desc *)tmp___1;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (nparent <= 2) {
      tmp___2 = __builtin_alloca((unsigned long )nparent * sizeof(*tptree));
      tptree = (void **)tmp___2;
    } else {
      tmp___3 = st_mult(sizeof(*tptree), (size_t )nparent);
      tmp___4 = xmalloc(tmp___3);
      tptree = (void **)tmp___4;
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < nparent)) {
      goto while_break___1;
    }
    *(tptree + i) = fill_tree_descriptor(opt___0->repo, tp + i, *(parents_oid + i));
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  ttree = fill_tree_descriptor(opt___0->repo, & t, oid);
  opt___0->pathspec.recursive = opt___0->flags.recursive;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    tmp___5 = diff_can_quit_early(opt___0);
    if (tmp___5) {
      goto while_break___2;
    }
    if (opt___0->max_changes) {
      if (diff_queued_diff.nr > opt___0->max_changes) {
        goto while_break___2;
      }
    }
    if (opt___0->pathspec.nr) {
      skip_uninteresting(& t, base, opt___0);
      i = 0;
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if (! (i < nparent)) {
          goto while_break___3;
        }
        skip_uninteresting(tp + i, base, opt___0);
        i ++;
      }
      while_break___3: /* CIL Label */ ;
      }
    }
    if (! t.size) {
      done___0 = 1;
      i = 0;
      {
      while (1) {
        while_continue___4: /* CIL Label */ ;
        if (! (i < nparent)) {
          goto while_break___4;
        }
        if ((tp + i)->size) {
          done___0 = 0;
          goto while_break___4;
        }
        i ++;
      }
      while_break___4: /* CIL Label */ ;
      }
      if (done___0) {
        goto while_break___2;
      }
    }
    imin = 0;
    (tp + 0)->entry.mode &= 2147483647U;
    i = 1;
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      if (! (i < nparent)) {
        goto while_break___5;
      }
      cmp___0 = tree_entry_pathcmp(tp + i, tp + imin);
      if (cmp___0 < 0) {
        imin = i;
        (tp + i)->entry.mode &= 2147483647U;
      } else
      if (cmp___0 == 0) {
        (tp + i)->entry.mode &= 2147483647U;
      } else {
        (tp + i)->entry.mode |= 0x80000000;
      }
      i ++;
    }
    while_break___5: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___6: /* CIL Label */ ;
      if (! (i < imin)) {
        goto while_break___6;
      }
      (tp + i)->entry.mode |= 0x80000000;
      i ++;
    }
    while_break___6: /* CIL Label */ ;
    }
    cmp___0 = tree_entry_pathcmp(& t, tp + imin);
    if (cmp___0 == 0) {
      if (! opt___0->flags.find_copies_harder) {
        i = 0;
        {
        while (1) {
          while_continue___7: /* CIL Label */ ;
          if (! (i < nparent)) {
            goto while_break___7;
          }
          if ((tp + i)->entry.mode & 0x80000000) {
            goto __Cont;
          }
          tmp___6 = oideq((struct object_id  const  *)(& t.entry.oid), (struct object_id  const  *)(& (tp + i)->entry.oid));
          if (tmp___6) {
            if (t.entry.mode != (tp + i)->entry.mode) {
              goto __Cont;
            }
          } else {
            goto __Cont;
          }
          goto skip_emit_t_tp;
          __Cont: /* CIL Label */
          i ++;
        }
        while_break___7: /* CIL Label */ ;
        }
      }
      p___0 = emit_path(p___0, base, opt___0, nparent, & t, tp, imin);
      skip_emit_t_tp:
      update_tree_entry(& t);
      update_tp_entries(tp, nparent);
    } else
    if (cmp___0 < 0) {
      p___0 = emit_path(p___0, base, opt___0, nparent, & t, (struct tree_desc *)((void *)0),
                        -1);
      update_tree_entry(& t);
    } else {
      if (! opt___0->flags.find_copies_harder) {
        i = 0;
        {
        while (1) {
          while_continue___8: /* CIL Label */ ;
          if (! (i < nparent)) {
            goto while_break___8;
          }
          if ((tp + i)->entry.mode & 0x80000000) {
            goto skip_emit_tp;
          }
          i ++;
        }
        while_break___8: /* CIL Label */ ;
        }
      }
      p___0 = emit_path(p___0, base, opt___0, nparent, (struct tree_desc *)((void *)0),
                        tp, imin);
      skip_emit_tp:
      update_tp_entries(tp, nparent);
    }
  }
  while_break___2: /* CIL Label */ ;
  }
  free(ttree);
  i = nparent - 1;
  {
  while (1) {
    while_continue___9: /* CIL Label */ ;
    if (! (i >= 0)) {
      goto while_break___9;
    }
    free(*(tptree + i));
    i --;
  }
  while_break___9: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___10: /* CIL Label */ ;
    if (nparent <= 2) {
      {
      while (1) {
        while_continue___11: /* CIL Label */ ;
        goto while_break___11;
      }
      while_break___11: /* CIL Label */ ;
      }
    } else {
      free((void *)tptree);
    }
    goto while_break___10;
  }
  while_break___10: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___12: /* CIL Label */ ;
    if (nparent <= 2) {
      {
      while (1) {
        while_continue___13: /* CIL Label */ ;
        goto while_break___13;
      }
      while_break___13: /* CIL Label */ ;
      }
    } else {
      free((void *)tp);
    }
    goto while_break___12;
  }
  while_break___12: /* CIL Label */ ;
  }
  return (p___0);
}
}
struct combine_diff_path *diff_tree_paths(struct combine_diff_path *p___0 , struct object_id  const  *oid ,
                                          struct object_id  const  **parents_oid ,
                                          int nparent , struct strbuf *base , struct diff_options *opt___0 )
{


  {
  p___0 = ll_diff_tree_paths(p___0, oid, parents_oid, nparent, base, opt___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)p___0->next);
    p___0->next = (struct combine_diff_path *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (p___0);
}
}
__inline static int diff_might_be_rename___0(void)
{
  int tmp ;

  {
  if (diff_queued_diff.nr == 1) {
    if (! ((int )((*(diff_queued_diff.queue + 0))->one)->mode != 0)) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static void try_to_follow_renames(struct object_id  const  *old_oid , struct object_id  const  *new_oid ,
                                  struct strbuf *base , struct diff_options *opt___0 )
{
  struct diff_options diff_opts ;
  struct diff_queue_struct *q ;
  struct diff_filepair *choice ;
  int i ;
  struct diff_filepair *p___0 ;
  char const   *path___6[2] ;
  int tmp ;
  struct diff_filepair *p___1 ;

  {
  q = & diff_queued_diff;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (opt___0->pathspec.magic & (unsigned int )(~ (1 | (1 << 2)))) {
      BUG_fl((char const   *)"tree-diff.c", 596, (char const   *)"unsupported magic %x",
             opt___0->pathspec.magic & (unsigned int )(~ (1 | (1 << 2))));
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  choice = *(q->queue + 0);
  q->nr = 0;
  repo_diff_setup(opt___0->repo, & diff_opts);
  diff_opts.flags.recursive = 1U;
  diff_opts.flags.find_copies_harder = 1U;
  diff_opts.output_format = 0x0800;
  diff_opts.single_follow = (char const   *)(opt___0->pathspec.items + 0)->match;
  diff_opts.break_opt = opt___0->break_opt;
  diff_opts.rename_score = opt___0->rename_score;
  diff_setup_done(& diff_opts);
  ll_diff_tree_oid(old_oid, new_oid, base, & diff_opts);
  diffcore_std(& diff_opts);
  clear_pathspec(& diff_opts.pathspec);
  opt___0->found_follow = 0;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break___0;
    }
    p___0 = *(q->queue + i);
    if ((int )p___0->status == 82) {
      goto _L;
    } else
    if ((int )p___0->status == 67) {
      _L: /* CIL Label */
      tmp = strcmp((char const   *)(p___0->two)->path, (char const   *)(opt___0->pathspec.items + 0)->match);
      if (! tmp) {
        *(q->queue + i) = choice;
        choice = p___0;
        path___6[0] = (char const   *)(p___0->one)->path;
        path___6[1] = (char const   *)((void *)0);
        clear_pathspec(& opt___0->pathspec);
        parse_pathspec(& opt___0->pathspec, (unsigned int )(((((((1 | (1 << 1)) | (1 << 2)) | (1 << 3)) | (1 << 4)) | (1 << 5)) | (1 << 6)) & ~ (1 << 2)),
                       (unsigned int )(1 << 6), (char const   *)"", path___6);
        opt___0->found_follow = 1;
        goto while_break___0;
      }
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break___1;
    }
    p___1 = *(q->queue + i);
    diff_free_filepair(p___1);
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  *(q->queue + 0) = choice;
  q->nr = 1;
  return;
}
}
static void ll_diff_tree_oid(struct object_id  const  *old_oid , struct object_id  const  *new_oid ,
                             struct strbuf *base , struct diff_options *opt___0 )
{
  struct combine_diff_path phead ;
  struct combine_diff_path *p___0 ;
  int (*pathchange_old)(struct diff_options *options , struct combine_diff_path *path ) ;
  struct combine_diff_path *pprev ;

  {
  pathchange_old = opt___0->pathchange;
  phead.next = (struct combine_diff_path *)((void *)0);
  opt___0->pathchange = & emit_diff_first_parent_only;
  diff_tree_paths(& phead, new_oid, & old_oid, 1, base, opt___0);
  p___0 = phead.next;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    pprev = p___0;
    p___0 = p___0->next;
    free((void *)pprev);
  }
  while_break: /* CIL Label */ ;
  }
  opt___0->pathchange = pathchange_old;
  return;
}
}
void diff_tree_oid(struct object_id  const  *old_oid , struct object_id  const  *new_oid ,
                   char const   *base_str , struct diff_options *opt___0 )
{
  struct strbuf base ;
  int tmp ;

  {
  strbuf_init(& base, (size_t )4096);
  strbuf_addstr(& base, base_str);
  ll_diff_tree_oid(old_oid, new_oid, & base, opt___0);
  if (! *base_str) {
    if (opt___0->flags.follow_renames) {
      tmp = diff_might_be_rename___0();
      if (tmp) {
        try_to_follow_renames(old_oid, new_oid, & base, opt___0);
      }
    }
  }
  strbuf_release(& base);
  return;
}
}
void diff_root_tree_oid(struct object_id  const  *new_oid , char const   *base , struct diff_options *opt___0 )
{


  {
  diff_tree_oid((struct object_id  const  *)((void *)0), new_oid, base, opt___0);
  return;
}
}
static double const   __ac_HASH_UPPER___95  =    (double const   )0.77;
__inline static void kh_resize_oid_set___95(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___95(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___95 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___95 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___95(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___95(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___95(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___95(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___95(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___95(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___95 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___95 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___95(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___95(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___95(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___95(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___95(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___95(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___95 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___95 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___95(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___95(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___95(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___95(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___72(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___72(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___95 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___95 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___72(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___72(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___72(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___72(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *get_mode___0(char const   *str , unsigned int *modep )
{
  unsigned char c___0 ;
  unsigned int mode___1 ;
  char const   *tmp ;

  {
  mode___1 = 0U;
  if ((int const   )*str == 32) {
    return ((char const   *)((void *)0));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = str;
    str ++;
    c___0 = (unsigned char )*tmp;
    if (! ((int )c___0 != 32)) {
      goto while_break;
    }
    if ((int )c___0 < 48) {
      return ((char const   *)((void *)0));
    } else
    if ((int )c___0 > 55) {
      return ((char const   *)((void *)0));
    }
    mode___1 = (mode___1 << 3) + (unsigned int )((int )c___0 - 48);
  }
  while_break: /* CIL Label */ ;
  }
  *modep = mode___1;
  return (str);
}
}
static int decode_tree_entry(struct tree_desc *desc___0 , char const   *buf___19 ,
                             unsigned long size , struct strbuf *err___4 )
{
  char const   *path___6 ;
  unsigned int mode___1 ;
  unsigned int len___0 ;
  unsigned int hashsz ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  size_t tmp___2 ;

  {
  hashsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  if (size < (unsigned long )(hashsz + 3U)) {
    tmp = _((char const   *)"too-short tree object");
    strbuf_addstr(err___4, (char const   *)tmp);
    return (-1);
  } else
  if (*(buf___19 + (size - (unsigned long )(hashsz + 1U)))) {
    tmp = _((char const   *)"too-short tree object");
    strbuf_addstr(err___4, (char const   *)tmp);
    return (-1);
  }
  path___6 = get_mode___0(buf___19, & mode___1);
  if (! path___6) {
    tmp___0 = _((char const   *)"malformed mode in tree entry");
    strbuf_addstr(err___4, (char const   *)tmp___0);
    return (-1);
  }
  if (! *path___6) {
    tmp___1 = _((char const   *)"empty filename in tree entry");
    strbuf_addstr(err___4, (char const   *)tmp___1);
    return (-1);
  }
  tmp___2 = strlen(path___6);
  len___0 = (unsigned int )(tmp___2 + 1UL);
  desc___0->entry.path = path___6;
  desc___0->entry.mode = canon_mode(mode___1);
  desc___0->entry.pathlen = (int )(len___0 - 1U);
  oidread(& desc___0->entry.oid, (unsigned char const   *)path___6 + len___0);
  return (0);
}
}
static int init_tree_desc_internal(struct tree_desc *desc___0 , void const   *buffer___5 ,
                                   unsigned long size , struct strbuf *err___4 )
{
  int tmp ;

  {
  desc___0->buffer = buffer___5;
  desc___0->size = (unsigned int )size;
  if (size) {
    tmp = decode_tree_entry(desc___0, (char const   *)buffer___5, size, err___4);
    return (tmp);
  }
  return (0);
}
}
void init_tree_desc(struct tree_desc *desc___0 , void const   *buffer___5 , unsigned long size )
{
  struct strbuf err___4 ;
  int tmp ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  tmp = init_tree_desc_internal(desc___0, buffer___5, size, & err___4);
  if (tmp) {
    die((char const   *)"%s", err___4.buf);
  }
  strbuf_release(& err___4);
  return;
}
}
int init_tree_desc_gently(struct tree_desc *desc___0 , void const   *buffer___5 ,
                          unsigned long size )
{
  struct strbuf err___4 ;
  int result___0 ;
  int tmp ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  tmp = init_tree_desc_internal(desc___0, buffer___5, size, & err___4);
  result___0 = tmp;
  if (result___0) {
    error((char const   *)"%s", err___4.buf);
    const_error();
  }
  strbuf_release(& err___4);
  return (result___0);
}
}
void *fill_tree_descriptor(struct repository *r , struct tree_desc *desc___0 , struct object_id  const  *oid )
{
  unsigned long size ;
  void *buf___19 ;
  char *tmp ;

  {
  size = 0UL;
  buf___19 = (void *)0;
  if (oid) {
    buf___19 = read_object_with_reference(r, oid, tree_type, & size, (struct object_id *)((void *)0));
    if (! buf___19) {
      tmp = oid_to_hex(oid);
      die((char const   *)"unable to read tree %s", tmp);
    }
  }
  init_tree_desc(desc___0, (void const   *)buf___19, size);
  return (buf___19);
}
}
static void entry_clear(struct name_entry *a )
{


  {
  memset((void *)a, 0, sizeof(*a));
  return;
}
}
static void entry_extract(struct tree_desc *t , struct name_entry *a )
{


  {
  *a = t->entry;
  return;
}
}
static int update_tree_entry_internal(struct tree_desc *desc___0 , struct strbuf *err___4 )
{
  void const   *buf___19 ;
  unsigned char const   *end ;
  unsigned long size ;
  unsigned long len___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  buf___19 = desc___0->buffer;
  end = (((unsigned char const   *)desc___0->entry.path + desc___0->entry.pathlen) + 1) + (the_repository->hash_algo)->rawsz;
  size = (unsigned long )desc___0->size;
  len___0 = (unsigned long )(end - (unsigned char const   *)buf___19);
  if (size < len___0) {
    tmp = _((char const   *)"too-short tree file");
    die((char const   *)tmp);
  }
  buf___19 = (void const   *)end;
  size -= len___0;
  desc___0->buffer = buf___19;
  desc___0->size = (unsigned int )size;
  if (size) {
    tmp___0 = decode_tree_entry(desc___0, (char const   *)buf___19, size, err___4);
    return (tmp___0);
  }
  return (0);
}
}
void update_tree_entry(struct tree_desc *desc___0 )
{
  struct strbuf err___4 ;
  int tmp ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  tmp = update_tree_entry_internal(desc___0, & err___4);
  if (tmp) {
    die((char const   *)"%s", err___4.buf);
  }
  strbuf_release(& err___4);
  return;
}
}
int update_tree_entry_gently(struct tree_desc *desc___0 )
{
  struct strbuf err___4 ;
  int tmp ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  tmp = update_tree_entry_internal(desc___0, & err___4);
  if (tmp) {
    error((char const   *)"%s", err___4.buf);
    const_error();
    strbuf_release(& err___4);
    desc___0->size = 0U;
    return (-1);
  }
  strbuf_release(& err___4);
  return (0);
}
}
int tree_entry(struct tree_desc *desc___0 , struct name_entry *entry )
{


  {
  if (! desc___0->size) {
    return (0);
  }
  *entry = desc___0->entry;
  update_tree_entry(desc___0);
  return (1);
}
}
int tree_entry_gently(struct tree_desc *desc___0 , struct name_entry *entry )
{
  int tmp ;

  {
  if (! desc___0->size) {
    return (0);
  }
  *entry = desc___0->entry;
  tmp = update_tree_entry_gently(desc___0);
  if (tmp) {
    return (0);
  }
  return (1);
}
}
static int traverse_trees_atexit_registered  ;
static int traverse_trees_count  ;
static int traverse_trees_cur_depth  ;
static int traverse_trees_max_depth  ;
static void trace2_traverse_trees_statistics_atexit(void)
{
  struct json_writer jw ;

  {
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  jw_object_begin(& jw, 0);
  jw_object_intmax(& jw, (char const   *)"traverse_trees_count", (intmax_t )traverse_trees_count);
  jw_object_intmax(& jw, (char const   *)"traverse_trees_max_depth", (intmax_t )traverse_trees_max_depth);
  jw_end(& jw);
  trace2_data_json_fl((char const   *)"tree-walk.c", 185, (char const   *)"traverse_trees",
                      (struct repository  const  *)the_repository, (char const   *)"statistics",
                      (struct json_writer  const  *)(& jw));
  jw_release(& jw);
  return;
}
}
static struct traverse_info dummy  ;
void setup_traverse_info(struct traverse_info *info___0 , char const   *base )
{
  size_t pathlen ;
  size_t tmp ;
  int tmp___0 ;

  {
  tmp = strlen(base);
  pathlen = tmp;
  memset((void *)info___0, 0, sizeof(*info___0));
  if (pathlen) {
    if ((int const   )*(base + (pathlen - 1UL)) == 47) {
      pathlen --;
    }
  }
  if (pathlen) {
    info___0->pathlen = pathlen + 1UL;
  } else {
    info___0->pathlen = (size_t )0;
  }
  info___0->name = base;
  info___0->namelen = pathlen;
  if (pathlen) {
    info___0->prev = & dummy;
  }
  tmp___0 = trace2_is_enabled();
  if (tmp___0) {
    if (! traverse_trees_atexit_registered) {
      atexit(& trace2_traverse_trees_statistics_atexit);
      traverse_trees_atexit_registered = 1;
    }
  }
  return;
}
}
char *make_traverse_path(char *path___6 , size_t pathlen , struct traverse_info  const  *info___0 ,
                         char const   *name___0 , size_t namelen )
{
  size_t pos ;
  size_t tmp ;

  {
  tmp = st_add((size_t )info___0->pathlen, namelen);
  pos = tmp;
  if (pos >= pathlen) {
    BUG_fl((char const   *)"tree-walk.c", 218, (char const   *)"too small buffer passed to make_traverse_path");
  }
  *(path___6 + pos) = (char)0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (pos < namelen) {
      BUG_fl((char const   *)"tree-walk.c", 223, (char const   *)"traverse_info pathlen does not match strings");
    }
    pos -= namelen;
    memcpy((void *)(path___6 + pos), (void const   *)name___0, namelen);
    if (! pos) {
      goto while_break;
    }
    pos --;
    *(path___6 + pos) = (char )'/';
    if (! info___0) {
      BUG_fl((char const   *)"tree-walk.c", 232, (char const   *)"traverse_info ran out of list items");
    }
    name___0 = (char const   *)info___0->name;
    namelen = (size_t )info___0->namelen;
    info___0 = (struct traverse_info  const  *)info___0->prev;
  }
  while_break: /* CIL Label */ ;
  }
  return (path___6);
}
}
void strbuf_make_traverse_path(struct strbuf *out , struct traverse_info  const  *info___0 ,
                               char const   *name___0 , size_t namelen )
{
  size_t len___0 ;
  size_t tmp ;

  {
  tmp = traverse_path_len(info___0, namelen);
  len___0 = tmp;
  strbuf_grow(out, len___0);
  make_traverse_path(out->buf + out->len, out->alloc - out->len, info___0, name___0,
                     namelen);
  strbuf_setlen(out, out->len + len___0);
  return;
}
}
static int check_entry_match(char const   *a , int a_len , char const   *b___0 , int b_len )
{
  int cmp___0 ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = name_compare(a, (size_t )a_len, b___0, (size_t )b_len);
  cmp___0 = tmp;
  if (! cmp___0) {
    return (cmp___0);
  }
  if (0 < cmp___0) {
    return (1);
  }
  if (a_len < b_len) {
    tmp___0 = memcmp((void const   *)a, (void const   *)b___0, (size_t )a_len);
    if (! tmp___0) {
      if ((int const   )*(b___0 + a_len) < 47) {
        return (1);
      }
    }
  }
  return (-1);
}
}
static void extended_entry_extract(struct tree_desc_x *t , struct name_entry *a ,
                                   char const   *first , int first_len )
{
  char const   *path___6 ;
  int len___0 ;
  struct tree_desc probe ;
  struct tree_desc_skip *skip ;
  int tmp ;
  int tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! t->d.size) {
      entry_clear(a);
      goto while_break;
    }
    entry_extract(& t->d, a);
    skip = t->skip;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! skip) {
        goto while_break___0;
      }
      if ((unsigned long )a->path == (unsigned long )skip->ptr) {
        goto while_break___0;
      }
      skip = skip->prev;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! skip) {
      goto while_break;
    }
    update_tree_entry(& t->d);
  }
  while_break: /* CIL Label */ ;
  }
  if (! first) {
    return;
  } else
  if (! a->path) {
    return;
  }
  path___6 = a->path;
  len___0 = tree_entry_len((struct name_entry  const  *)a);
  tmp = check_entry_match(first, first_len, path___6, len___0);
  {
  if (tmp == -1) {
    goto case_neg_1;
  }
  if (tmp == 0) {
    goto case_0;
  }
  goto switch_default;
  case_neg_1: /* CIL Label */
  entry_clear(a);
  case_0: /* CIL Label */
  return;
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  probe = t->d;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! probe.size) {
      goto while_break___1;
    }
    entry_extract(& probe, a);
    path___6 = a->path;
    len___0 = tree_entry_len((struct name_entry  const  *)a);
    tmp___0 = check_entry_match(first, first_len, path___6, len___0);
    {
    if (tmp___0 == -1) {
      goto case_neg_1___0;
    }
    if (tmp___0 == 0) {
      goto case_0___0;
    }
    goto switch_default___0;
    case_neg_1___0: /* CIL Label */
    entry_clear(a);
    case_0___0: /* CIL Label */
    return;
    switch_default___0: /* CIL Label */
    update_tree_entry(& probe);
    goto switch_break___0;
    switch_break___0: /* CIL Label */ ;
    }
  }
  while_break___1: /* CIL Label */ ;
  }
  entry_clear(a);
  return;
}
}
static void update_extended_entry(struct tree_desc_x *t , struct name_entry *a )
{
  struct tree_desc_skip *skip ;
  void *tmp ;

  {
  if ((unsigned long )t->d.entry.path == (unsigned long )a->path) {
    update_tree_entry(& t->d);
  } else {
    tmp = xmalloc(sizeof(*skip));
    skip = (struct tree_desc_skip *)tmp;
    skip->ptr = (void const   *)a->path;
    skip->prev = t->skip;
    t->skip = skip;
  }
  return;
}
}
static void free_extended_entry(struct tree_desc_x *t )
{
  struct tree_desc_skip *p___0 ;
  struct tree_desc_skip *s___1 ;

  {
  s___1 = t->skip;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! s___1) {
      goto while_break;
    }
    p___0 = s___1->prev;
    free((void *)s___1);
    s___1 = p___0;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
__inline static int prune_traversal(struct index_state *istate , struct name_entry *e ,
                                    struct traverse_info *info___0 , struct strbuf *base ,
                                    int still_interesting___0 )
{
  enum interesting tmp ;

  {
  if (! info___0->pathspec) {
    return (2);
  } else
  if (still_interesting___0 == 2) {
    return (2);
  }
  if (still_interesting___0 < 0) {
    return (still_interesting___0);
  }
  tmp = tree_entry_interesting(istate, (struct name_entry  const  *)e, base, 0, (struct pathspec  const  *)info___0->pathspec);
  return ((int )tmp);
}
}
int traverse_trees(struct index_state *istate , int n , struct tree_desc *t , struct traverse_info *info___0 )
{
  int error___0 ;
  struct name_entry entry[8] ;
  int i ;
  struct tree_desc_x tx[sizeof(entry) / sizeof(entry[0]) + (sizeof(char [1]) - 1UL)] ;
  struct strbuf base ;
  int interesting___1 ;
  char *traverse_path___0 ;
  int trees_used ;
  unsigned long mask ;
  unsigned long dirmask ;
  char const   *first ;
  int first_len ;
  struct name_entry *e ;
  int len___0 ;
  int tmp ;
  int tmp___0 ;

  {
  error___0 = 0;
  base.alloc = 0UL;
  base.len = 0UL;
  base.buf = strbuf_slopbuf;
  interesting___1 = 1;
  traverse_trees_count ++;
  traverse_trees_cur_depth ++;
  if (traverse_trees_cur_depth > traverse_trees_max_depth) {
    traverse_trees_max_depth = traverse_trees_cur_depth;
  }
  if ((unsigned long )n >= sizeof(entry) / sizeof(entry[0]) + (sizeof(char [1]) - 1UL)) {
    BUG_fl((char const   *)"tree-walk.c", 451, (char const   *)"traverse_trees() called with too many trees (%d)",
           n);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    tx[i].d = *(t + i);
    tx[i].skip = (struct tree_desc_skip *)((void *)0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (info___0->prev) {
    strbuf_make_traverse_path(& base, (struct traverse_info  const  *)info___0->prev,
                              info___0->name, info___0->namelen);
    strbuf_addch(& base, '/');
    traverse_path___0 = xstrndup((char const   *)base.buf, base.len);
  } else {
    traverse_path___0 = xstrndup(info___0->name, info___0->pathlen);
  }
  info___0->traverse_path = (char const   *)traverse_path___0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    first = (char const   *)((void *)0);
    first_len = 0;
    e = (struct name_entry *)((void *)0);
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < n)) {
        goto while_break___1;
      }
      e = entry + i;
      extended_entry_extract(tx + i, e, (char const   *)((void *)0), 0);
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (i < n)) {
        goto while_break___2;
      }
      e = entry + i;
      if (! e->path) {
        goto __Cont;
      }
      len___0 = tree_entry_len((struct name_entry  const  *)e);
      if (! first) {
        first = e->path;
        first_len = len___0;
        goto __Cont;
      }
      tmp = name_compare(e->path, (size_t )len___0, first, (size_t )first_len);
      if (tmp < 0) {
        first = e->path;
        first_len = len___0;
      }
      __Cont: /* CIL Label */
      i ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    if (first) {
      i = 0;
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if (! (i < n)) {
          goto while_break___3;
        }
        e = entry + i;
        extended_entry_extract(tx + i, e, first, first_len);
        if (! e->path) {
          goto __Cont___0;
        }
        len___0 = tree_entry_len((struct name_entry  const  *)e);
        tmp___0 = name_compare(e->path, (size_t )len___0, first, (size_t )first_len);
        if (tmp___0) {
          entry_clear(e);
        }
        __Cont___0: /* CIL Label */
        i ++;
      }
      while_break___3: /* CIL Label */ ;
      }
    }
    mask = 0UL;
    dirmask = 0UL;
    i = 0;
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (! (i < n)) {
        goto while_break___4;
      }
      if (! entry[i].path) {
        goto __Cont___1;
      }
      mask |= 1ul << i;
      if ((entry[i].mode & 61440U) == 16384U) {
        dirmask |= 1ul << i;
      }
      e = & entry[i];
      __Cont___1: /* CIL Label */
      i ++;
    }
    while_break___4: /* CIL Label */ ;
    }
    if (! mask) {
      goto while_break___0;
    }
    interesting___1 = prune_traversal(istate, e, info___0, & base, interesting___1);
    if (interesting___1 < 0) {
      goto while_break___0;
    }
    if (interesting___1) {
      trees_used = (*(info___0->fn))(n, mask, dirmask, entry, info___0);
      if (trees_used < 0) {
        error___0 = trees_used;
        if (! info___0->show_all_errors) {
          goto while_break___0;
        }
      }
      mask &= (unsigned long )trees_used;
    }
    i = 0;
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      if (! (i < n)) {
        goto while_break___5;
      }
      if (mask & (1ul << i)) {
        update_extended_entry(tx + i, entry + i);
      }
      i ++;
    }
    while_break___5: /* CIL Label */ ;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___6: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break___6;
    }
    free_extended_entry(tx + i);
    i ++;
  }
  while_break___6: /* CIL Label */ ;
  }
  free((void *)traverse_path___0);
  info___0->traverse_path = (char const   *)((void *)0);
  strbuf_release(& base);
  traverse_trees_cur_depth --;
  return (error___0);
}
}
static int find_tree_entry(struct repository *r , struct tree_desc *t , char const   *name___0 ,
                           struct object_id *result___0 , unsigned short *mode___1 )
{
  int namelen ;
  size_t tmp ;
  char const   *entry ;
  struct object_id oid ;
  int entrylen ;
  int cmp___0 ;
  struct object_id  const  *tmp___0 ;
  int tmp___1 ;

  {
  tmp = strlen(name___0);
  namelen = (int )tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! t->size) {
      goto while_break;
    }
    tmp___0 = tree_entry_extract(t, & entry, mode___1);
    oidcpy(& oid, tmp___0);
    entrylen = tree_entry_len((struct name_entry  const  *)(& t->entry));
    update_tree_entry(t);
    if (entrylen > namelen) {
      goto while_continue;
    }
    cmp___0 = memcmp((void const   *)name___0, (void const   *)entry, (size_t )entrylen);
    if (cmp___0 > 0) {
      goto while_continue;
    }
    if (cmp___0 < 0) {
      goto while_break;
    }
    if (entrylen == namelen) {
      oidcpy(result___0, (struct object_id  const  *)(& oid));
      return (0);
    }
    if ((int const   )*(name___0 + entrylen) != 47) {
      goto while_continue;
    }
    if (! (((int )*mode___1 & 0170000) == 0040000)) {
      goto while_break;
    }
    entrylen ++;
    if (entrylen == namelen) {
      oidcpy(result___0, (struct object_id  const  *)(& oid));
      return (0);
    }
    tmp___1 = get_tree_entry(r, (struct object_id  const  *)(& oid), name___0 + entrylen,
                             result___0, mode___1);
    return (tmp___1);
  }
  while_break: /* CIL Label */ ;
  }
  return (-1);
}
}
int get_tree_entry(struct repository *r , struct object_id  const  *tree_oid , char const   *name___0 ,
                   struct object_id *oid , unsigned short *mode___1 )
{
  int retval ;
  void *tree ;
  unsigned long size ;
  struct object_id root ;
  struct tree_desc t ;

  {
  tree = read_object_with_reference(r, tree_oid, tree_type, & size, & root);
  if (! tree) {
    return (-1);
  }
  if ((int const   )*(name___0 + 0) == 0) {
    oidcpy(oid, (struct object_id  const  *)(& root));
    free(tree);
    return (0);
  }
  if (! size) {
    retval = -1;
  } else {
    init_tree_desc(& t, (void const   *)tree, size);
    retval = find_tree_entry(r, & t, name___0, oid, mode___1);
  }
  free(tree);
  return (retval);
}
}
enum get_oid_result get_tree_entry_follow_symlinks(struct repository *r , struct object_id *tree_oid ,
                                                   char const   *name___0 , struct object_id *result___0 ,
                                                   struct strbuf *result_path , unsigned short *mode___1 )
{
  int retval ;
  struct dir_state *parents ;
  size_t parents_alloc ;
  size_t i ;
  size_t parents_nr ;
  struct object_id current_tree_oid ;
  struct strbuf namebuf ;
  struct tree_desc t ;
  int follows_remaining ;
  int find_result ;
  char *first_slash ;
  char *remainder ;
  void *tree ;
  struct object_id root ;
  unsigned long size ;
  size_t tmp ;
  void *tmp___0 ;
  struct dir_state *parent ;
  int tmp___1 ;
  int tmp___2 ;
  unsigned long link_len ;
  size_t len___0 ;
  char *contents ;
  char *contents_start ;
  struct dir_state *parent___0 ;
  enum object_type type___0 ;
  int tmp___3 ;
  void *tmp___4 ;

  {
  retval = -1;
  parents = (struct dir_state *)((void *)0);
  parents_alloc = (size_t )0;
  parents_nr = (size_t )0;
  namebuf.alloc = 0UL;
  namebuf.len = 0UL;
  namebuf.buf = strbuf_slopbuf;
  follows_remaining = 40;
  init_tree_desc(& t, (void const   *)((void *)0), 0UL);
  strbuf_addstr(& namebuf, name___0);
  oidcpy(& current_tree_oid, (struct object_id  const  *)tree_oid);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    remainder = (char *)((void *)0);
    if (! t.buffer) {
      tree = read_object_with_reference(r, (struct object_id  const  *)(& current_tree_oid),
                                        tree_type, & size, & root);
      if (! tree) {
        goto done;
      }
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (parents_nr + 1UL > parents_alloc) {
          if (((parents_alloc + 16UL) * 3UL) / 2UL < parents_nr + 1UL) {
            parents_alloc = parents_nr + 1UL;
          } else {
            parents_alloc = ((parents_alloc + 16UL) * 3UL) / 2UL;
          }
          tmp = st_mult(sizeof(*parents), parents_alloc);
          tmp___0 = xrealloc((void *)parents, tmp);
          parents = (struct dir_state *)tmp___0;
        }
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
      (parents + parents_nr)->tree = tree;
      (parents + parents_nr)->size = size;
      oidcpy(& (parents + parents_nr)->oid, (struct object_id  const  *)(& root));
      parents_nr ++;
      if ((int )*(namebuf.buf + 0) == 0) {
        oidcpy(result___0, (struct object_id  const  *)(& root));
        retval = 0;
        goto done;
      }
      if (! size) {
        goto done;
      }
      init_tree_desc(& t, (void const   *)tree, size);
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((int )*(namebuf.buf + 0) == 47)) {
        goto while_break___1;
      }
      strbuf_remove(& namebuf, (size_t )0, (size_t )1);
    }
    while_break___1: /* CIL Label */ ;
    }
    first_slash = strchr((char const   *)namebuf.buf, '/');
    if (first_slash) {
      *first_slash = (char)0;
      remainder = first_slash + 1;
    }
    tmp___2 = strcmp((char const   *)namebuf.buf, (char const   *)"..");
    if (! tmp___2) {
      if (parents_nr == 1UL) {
        if (remainder) {
          *first_slash = (char )'/';
        }
        strbuf_add(result_path, (void const   *)namebuf.buf, namebuf.len);
        *mode___1 = (unsigned short)0;
        retval = 0;
        goto done;
      }
      parent = parents + (parents_nr - 1UL);
      free(parent->tree);
      parents_nr --;
      parent = parents + (parents_nr - 1UL);
      init_tree_desc(& t, (void const   *)parent->tree, parent->size);
      if (remainder) {
        tmp___1 = 3;
      } else {
        tmp___1 = 2;
      }
      strbuf_remove(& namebuf, (size_t )0, (size_t )tmp___1);
      goto while_continue;
    }
    if ((int )*(namebuf.buf + 0) == 0) {
      oidcpy(result___0, (struct object_id  const  *)(& (parents + (parents_nr - 1UL))->oid));
      retval = 0;
      goto done;
    }
    find_result = find_tree_entry(r, & t, (char const   *)namebuf.buf, & current_tree_oid,
                                  mode___1);
    if (find_result) {
      goto done;
    }
    if (((int )*mode___1 & 0170000) == 0040000) {
      if (! remainder) {
        oidcpy(result___0, (struct object_id  const  *)(& current_tree_oid));
        retval = 0;
        goto done;
      }
      t.buffer = (void const   *)((void *)0);
      strbuf_remove(& namebuf, (size_t )0, (size_t )((first_slash + 1) - namebuf.buf));
    } else
    if (((int )*mode___1 & 0170000) == 0100000) {
      if (! remainder) {
        oidcpy(result___0, (struct object_id  const  *)(& current_tree_oid));
        retval = 0;
      } else {
        retval = -6;
      }
      goto done;
    } else
    if (((int )*mode___1 & 0170000) == 0120000) {
      tmp___3 = follows_remaining;
      follows_remaining --;
      if (tmp___3 == 0) {
        retval = -5;
        goto done;
      }
      retval = -4;
      tmp___4 = repo_read_object_file(r, (struct object_id  const  *)(& current_tree_oid),
                                      & type___0, & link_len);
      contents = (char *)tmp___4;
      if (! contents) {
        goto done;
      }
      if ((int )*(contents + 0) == 47) {
        strbuf_addstr(result_path, (char const   *)contents);
        free((void *)contents);
        *mode___1 = (unsigned short)0;
        retval = 0;
        goto done;
      }
      if (remainder) {
        len___0 = (size_t )(first_slash - namebuf.buf);
      } else {
        len___0 = namebuf.len;
      }
      contents_start = contents;
      parent___0 = parents + (parents_nr - 1UL);
      init_tree_desc(& t, (void const   *)parent___0->tree, parent___0->size);
      strbuf_splice(& namebuf, (size_t )0, len___0, (void const   *)contents_start,
                    link_len);
      if (remainder) {
        *(namebuf.buf + link_len) = (char )'/';
      }
      free((void *)contents);
    }
  }
  while_break: /* CIL Label */ ;
  }
  done:
  i = (size_t )0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < parents_nr)) {
      goto while_break___2;
    }
    free((parents + i)->tree);
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  free((void *)parents);
  strbuf_release(& namebuf);
  return ((enum get_oid_result )retval);
}
}
static int match_entry(struct pathspec_item  const  *item___0 , struct name_entry  const  *entry ,
                       int pathlen , char const   *match___0 , int matchlen , enum interesting *never_interesting )
{
  int m ;
  int tmp ;

  {
  m = -1;
  if (item___0->magic & (unsigned int )(1 << 4)) {
    *never_interesting = (enum interesting )0;
  } else
  if ((int )*never_interesting != 0) {
    if (matchlen < pathlen) {
      tmp = matchlen;
    } else {
      tmp = pathlen;
    }
    m = strncmp(match___0, (char const   *)entry->path, (size_t )tmp);
    if (m < 0) {
      return (0);
    }
    *never_interesting = (enum interesting )0;
  }
  if (pathlen > matchlen) {
    return (0);
  }
  if (matchlen > pathlen) {
    if ((int const   )*(match___0 + pathlen) != 47) {
      return (0);
    }
    if (! ((entry->mode & 61440U) == 16384U)) {
      if (! ((entry->mode & 61440U) == 57344U)) {
        return (0);
      } else
      if (matchlen > pathlen + 1) {
        return (0);
      }
    }
  }
  if (m == -1) {
    m = ps_strncmp(item___0, match___0, (char const   *)entry->path, (size_t )pathlen);
  }
  if (! m) {
    return (1);
  }
  return (0);
}
}
static int basecmp(struct pathspec_item  const  *item___0 , char const   *base , char const   *match___0 ,
                   int len___0 )
{
  int ret___67 ;
  int n ;
  int tmp ;
  int tmp___0 ;

  {
  if (item___0->magic & (unsigned int )(1 << 4)) {
    if (len___0 > (int )item___0->prefix) {
      tmp = item___0->prefix;
    } else {
      tmp = (int )len___0;
    }
    n = (int )tmp;
    ret___67 = strncmp(base, match___0, (size_t )n);
    if (ret___67) {
      return (ret___67);
    }
    base += n;
    match___0 += n;
    len___0 -= n;
  }
  tmp___0 = ps_strncmp(item___0, base, match___0, (size_t )len___0);
  return (tmp___0);
}
}
static int match_dir_prefix(struct pathspec_item  const  *item___0 , char const   *base ,
                            char const   *match___0 , int matchlen )
{
  int tmp ;

  {
  tmp = basecmp(item___0, base, match___0, matchlen);
  if (tmp) {
    return (0);
  }
  if (! matchlen) {
    return (1);
  } else
  if ((int const   )*(base + matchlen) == 47) {
    return (1);
  } else
  if ((int const   )*(match___0 + (matchlen - 1)) == 47) {
    return (1);
  }
  return (0);
}
}
static int match_wildcard_base(struct pathspec_item  const  *item___0 , char const   *base ,
                               int baselen , int *matched )
{
  char const   *match___0 ;
  int matchlen ;
  int dirlen ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  match___0 = (char const   *)item___0->match;
  matchlen = (int )item___0->nowildcard_len;
  if (baselen) {
    if (baselen >= matchlen) {
      *matched = matchlen;
      tmp = basecmp(item___0, base, match___0, matchlen);
      if (tmp) {
        tmp___0 = 0;
      } else {
        tmp___0 = 1;
      }
      return (tmp___0);
    }
    dirlen = matchlen;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (dirlen) {
        if (! ((int const   )*(match___0 + (dirlen - 1)) != 47)) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      dirlen --;
    }
    while_break: /* CIL Label */ ;
    }
    tmp___1 = basecmp(item___0, base, match___0, baselen);
    if (tmp___1) {
      return (0);
    }
    *matched = baselen;
  } else {
    *matched = 0;
  }
  return (1);
}
}
static enum interesting do_match(struct index_state *istate , struct name_entry  const  *entry ,
                                 struct strbuf *base , int base_offset , struct pathspec  const  *ps ,
                                 int exclude )
{
  int i ;
  int pathlen ;
  int baselen ;
  enum interesting never_interesting ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  struct pathspec_item  const  *item___0 ;
  char const   *match___0 ;
  char const   *base_str ;
  int matchlen ;
  int matched ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int ret___67 ;

  {
  baselen = (int )(base->len - (size_t )base_offset);
  if (ps->has_wildcard) {
    tmp = 0;
  } else {
    tmp = -1;
  }
  never_interesting = (enum interesting )tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (ps->magic & (unsigned int )(~ ((((((1 | (1 << 1)) | (1 << 2)) | (1 << 3)) | (1 << 4)) | (1 << 5)) | (1 << 6)))) {
      BUG_fl((char const   *)"tree-walk.c", 1031, (char const   *)"unsupported magic %x",
             ps->magic & (unsigned int )(~ ((((((1 | (1 << 1)) | (1 << 2)) | (1 << 3)) | (1 << 4)) | (1 << 5)) | (1 << 6))));
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (! ps->nr) {
    if (! ps->recursive) {
      return ((enum interesting )2);
    } else
    if (! (ps->magic & (unsigned int )(1 << 1))) {
      return ((enum interesting )2);
    } else
    if (ps->max_depth == -1) {
      return ((enum interesting )2);
    }
    tmp___2 = within_depth((char const   *)(base->buf + base_offset), baselen, ! (! ((entry->mode & 61440U) == 16384U)),
                           (int )ps->max_depth);
    if (tmp___2) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
    return ((enum interesting )tmp___1);
  }
  pathlen = tree_entry_len(entry);
  i = (int )(ps->nr - 1);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i >= 0)) {
      goto while_break___0;
    }
    item___0 = (struct pathspec_item  const  *)(ps->items + i);
    match___0 = (char const   *)item___0->match;
    base_str = (char const   *)(base->buf + base_offset);
    matchlen = (int )item___0->len;
    matched = 0;
    if (! exclude) {
      if (item___0->magic & (unsigned int )(1 << 5)) {
        goto __Cont;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (exclude) {
      if (! (item___0->magic & (unsigned int )(1 << 5))) {
        goto __Cont;
      }
    }
    if (baselen >= matchlen) {
      tmp___3 = match_dir_prefix(item___0, base_str, match___0, matchlen);
      if (! tmp___3) {
        goto match_wildcards;
      }
      if (! ps->recursive) {
        goto _L___0;
      } else
      if (! (ps->magic & (unsigned int )(1 << 1))) {
        goto _L___0;
      } else
      if (ps->max_depth == -1) {
        _L___0: /* CIL Label */
        if (! item___0->attr_match_nr) {
          return ((enum interesting )2);
        } else {
          goto interesting;
        }
      }
      tmp___4 = within_depth((base_str + matchlen) + 1, (baselen - matchlen) - 1,
                             ! (! ((entry->mode & 61440U) == 16384U)), (int )ps->max_depth);
      if (tmp___4) {
        goto interesting;
      } else {
        return ((enum interesting )0);
      }
    }
    if (baselen == 0) {
      goto _L___1;
    } else {
      tmp___8 = basecmp(item___0, base_str, match___0, baselen);
      if (! tmp___8) {
        _L___1: /* CIL Label */
        tmp___5 = match_entry(item___0, entry, pathlen, match___0 + baselen, matchlen - baselen,
                              & never_interesting);
        if (tmp___5) {
          goto interesting;
        }
        if (item___0->nowildcard_len < item___0->len) {
          tmp___6 = git_fnmatch(item___0, match___0 + baselen, (char const   *)entry->path,
                                (int )(item___0->nowildcard_len - (int )baselen));
          if (! tmp___6) {
            goto interesting;
          }
          if (ps->recursive) {
            if ((entry->mode & 61440U) == 16384U) {
              return ((enum interesting )1);
            }
          }
          if (ps->recurse_submodules) {
            if ((entry->mode & 61440U) == 57344U) {
              tmp___7 = ps_strncmp(item___0, match___0 + baselen, (char const   *)entry->path,
                                   (size_t )(item___0->nowildcard_len - (int )baselen));
              if (! tmp___7) {
                goto interesting;
              }
            }
          }
        }
        goto __Cont;
      }
    }
    match_wildcards:
    if (item___0->nowildcard_len == item___0->len) {
      goto __Cont;
    }
    if (item___0->nowildcard_len) {
      tmp___9 = match_wildcard_base(item___0, base_str, baselen, & matched);
      if (! tmp___9) {
        goto __Cont;
      }
    }
    strbuf_add(base, (void const   *)entry->path, (size_t )pathlen);
    tmp___10 = git_fnmatch(item___0, match___0, (char const   *)(base->buf + base_offset),
                           (int )item___0->nowildcard_len);
    if (! tmp___10) {
      strbuf_setlen(base, (size_t )(base_offset + baselen));
      goto interesting;
    }
    if (ps->recurse_submodules) {
      if ((entry->mode & 61440U) == 57344U) {
        tmp___11 = ps_strncmp(item___0, match___0, (char const   *)(base->buf + base_offset),
                              (size_t )item___0->nowildcard_len);
        if (! tmp___11) {
          strbuf_setlen(base, (size_t )(base_offset + baselen));
          goto interesting;
        }
      }
    }
    strbuf_setlen(base, (size_t )(base_offset + baselen));
    if (ps->recursive) {
      if ((entry->mode & 61440U) == 16384U) {
        return ((enum interesting )1);
      }
    }
    goto __Cont;
    interesting:
    if (item___0->attr_match_nr) {
      never_interesting = (enum interesting )0;
      if ((entry->mode & 61440U) == 16384U) {
        return ((enum interesting )1);
      }
      strbuf_add(base, (void const   *)entry->path, (size_t )pathlen);
      ret___67 = match_pathspec_attrs(istate, (char const   *)(base->buf + base_offset),
                                      (int )(base->len - (size_t )base_offset), item___0);
      strbuf_setlen(base, (size_t )(base_offset + baselen));
      if (! ret___67) {
        goto __Cont;
      }
    }
    return ((enum interesting )1);
    __Cont: /* CIL Label */
    i --;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (never_interesting);
}
}
enum interesting tree_entry_interesting(struct index_state *istate , struct name_entry  const  *entry ,
                                        struct strbuf *base , int base_offset , struct pathspec  const  *ps )
{
  enum interesting positive ;
  enum interesting negative ;

  {
  positive = do_match(istate, entry, base, base_offset, ps, 0);
  if (! (ps->magic & (unsigned int )(1 << 5))) {
    return (positive);
  } else
  if ((int )positive <= 0) {
    return (positive);
  }
  negative = do_match(istate, entry, base, base_offset, ps, 1);
  if ((int )positive == 2) {
    if ((int )negative == 0) {
      return ((enum interesting )1);
    }
  }
  if ((int )negative <= 0) {
    return (positive);
  }
  if ((entry->mode & 61440U) == 16384U) {
    if ((int )positive >= 1) {
      if ((int )negative == 1) {
        return ((enum interesting )1);
      }
    }
  }
  if ((int )positive == 1) {
    if ((int )negative >= 1) {
      return ((enum interesting )0);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if ((int )positive == 2) {
    if ((int )negative == 1) {
      return ((enum interesting )0);
    }
  }
  return ((enum interesting )-1);
}
}
static double const   __ac_HASH_UPPER___96  =    (double const   )0.77;
__inline static void kh_resize_oid_set___96(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___96(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___96 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___96 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___96(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___96(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___96(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___96(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___96(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___96(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___96 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___96 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___96(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___96(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___96(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___96(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___96(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___96(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___96 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___96 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___96(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___96(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___96(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___96(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___73(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___73(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___96 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___96 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___73(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___73(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___73(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___73(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
char const   *tree_type  =    (char const   *)"tree";
int read_tree_at(struct repository *r , struct tree *tree , struct strbuf *base ,
                 struct pathspec  const  *pathspec___1 , int (*fn)(struct object_id  const  * ,
                                                                   struct strbuf * ,
                                                                   char const   * ,
                                                                   unsigned int  ,
                                                                   void * ) , void *context___0 )
{
  struct tree_desc desc___0 ;
  struct name_entry entry ;
  struct object_id oid ;
  int len___0 ;
  int oldlen ;
  enum interesting retval ;
  int tmp ;
  int tmp___0 ;
  struct commit *commit ;
  char *tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  struct object_id *tmp___4 ;
  struct tree *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  oldlen = (int )base->len;
  retval = (enum interesting )0;
  tmp = parse_tree(tree);
  if (tmp) {
    return (-1);
  }
  init_tree_desc(& desc___0, (void const   *)tree->buffer, tree->size);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___7 = tree_entry(& desc___0, & entry);
    if (! tmp___7) {
      goto while_break;
    }
    if ((int )retval != 2) {
      retval = tree_entry_interesting(r->index, (struct name_entry  const  *)(& entry),
                                      base, 0, pathspec___1);
      if ((int )retval == -1) {
        goto while_break;
      }
      if ((int )retval == 0) {
        goto while_continue;
      }
    }
    tmp___0 = (*fn)((struct object_id  const  *)(& entry.oid), base, entry.path, entry.mode,
                    context___0);
    {
    if (tmp___0 == 0) {
      goto case_0;
    }
    if (tmp___0 == 1) {
      goto case_1;
    }
    goto switch_default;
    case_0: /* CIL Label */
    goto while_continue;
    case_1: /* CIL Label */
    goto switch_break;
    switch_default: /* CIL Label */
    return (-1);
    switch_break: /* CIL Label */ ;
    }
    if ((entry.mode & 61440U) == 16384U) {
      oidcpy(& oid, (struct object_id  const  *)(& entry.oid));
    } else
    if ((entry.mode & 61440U) == 57344U) {
      commit = lookup_commit(r, (struct object_id  const  *)(& entry.oid));
      if (! commit) {
        tmp___1 = oid_to_hex((struct object_id  const  *)(& entry.oid));
        die((char const   *)"Commit %s in submodule path %s%s not found", tmp___1,
            base->buf, entry.path);
      }
      tmp___3 = repo_parse_commit(the_repository, commit);
      if (tmp___3) {
        tmp___2 = oid_to_hex((struct object_id  const  *)(& entry.oid));
        die((char const   *)"Invalid commit %s in submodule path %s%s", tmp___2, base->buf,
            entry.path);
      }
      tmp___4 = get_commit_tree_oid((struct commit  const  *)commit);
      oidcpy(& oid, (struct object_id  const  *)tmp___4);
    } else {
      goto while_continue;
    }
    len___0 = tree_entry_len((struct name_entry  const  *)(& entry));
    strbuf_add(base, (void const   *)entry.path, (size_t )len___0);
    strbuf_addch(base, '/');
    tmp___5 = lookup_tree(r, (struct object_id  const  *)(& oid));
    tmp___6 = read_tree_at(r, tmp___5, base, pathspec___1, fn, context___0);
    retval = (enum interesting )tmp___6;
    strbuf_setlen(base, (size_t )oldlen);
    if (retval) {
      return (-1);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int read_tree(struct repository *r , struct tree *tree , struct pathspec  const  *pathspec___1 ,
              int (*fn)(struct object_id  const  * , struct strbuf * , char const   * ,
                        unsigned int  , void * ) , void *context___0 )
{
  struct strbuf sb___6 ;
  int ret___67 ;
  int tmp ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = read_tree_at(r, tree, & sb___6, pathspec___1, fn, context___0);
  ret___67 = tmp;
  strbuf_release(& sb___6);
  return (ret___67);
}
}
int cmp_cache_name_compare(void const   *a_ , void const   *b_ )
{
  struct cache_entry  const  *ce1 ;
  struct cache_entry  const  *ce2 ;
  int tmp ;

  {
  ce1 = *((struct cache_entry  const  **)a_);
  ce2 = *((struct cache_entry  const  **)b_);
  tmp = cache_name_stage_compare((char const   *)(ce1->name), (int )ce1->ce_namelen,
                                 (int )((12288U & ce1->ce_flags) >> 12), (char const   *)(ce2->name),
                                 (int )ce2->ce_namelen, (int )((12288U & ce2->ce_flags) >> 12));
  return (tmp);
}
}
struct tree *lookup_tree(struct repository *r , struct object_id  const  *oid )
{
  struct object *obj ;
  struct object *tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;

  {
  tmp = lookup_object(r, oid);
  obj = tmp;
  if (! obj) {
    tmp___0 = alloc_tree_node(r);
    tmp___1 = create_object(r, oid, tmp___0);
    return ((struct tree *)tmp___1);
  }
  tmp___2 = object_as_type(obj, (enum object_type )2, 0);
  return ((struct tree *)tmp___2);
}
}
int parse_tree_buffer(struct tree *item___0 , void *buffer___5 , unsigned long size )
{


  {
  if (item___0->object.parsed) {
    return (0);
  }
  item___0->object.parsed = 1U;
  item___0->buffer = buffer___5;
  item___0->size = size;
  return (0);
}
}
int parse_tree_gently(struct tree *item___0 , int quiet_on_missing )
{
  enum object_type type___0 ;
  void *buffer___5 ;
  unsigned long size ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  if (item___0->object.parsed) {
    return (0);
  }
  buffer___5 = repo_read_object_file(the_repository, (struct object_id  const  *)(& item___0->object.oid),
                                     & type___0, & size);
  if (! buffer___5) {
    if (quiet_on_missing) {
      tmp___1 = -1;
    } else {
      tmp = oid_to_hex((struct object_id  const  *)(& item___0->object.oid));
      error((char const   *)"Could not read %s", tmp);
      tmp___0 = const_error();
      tmp___1 = tmp___0;
    }
    return (tmp___1);
  }
  if ((int )type___0 != 2) {
    free(buffer___5);
    tmp___2 = oid_to_hex((struct object_id  const  *)(& item___0->object.oid));
    error((char const   *)"Object %s not a tree", tmp___2);
    tmp___3 = const_error();
    return (tmp___3);
  }
  tmp___4 = parse_tree_buffer(item___0, buffer___5, size);
  return (tmp___4);
}
}
void free_tree_buffer(struct tree *tree )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free(tree->buffer);
    tree->buffer = (void *)0;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tree->size = 0UL;
  tree->object.parsed = 0U;
  return;
}
}
struct tree *parse_tree_indirect(struct object_id  const  *oid )
{
  struct repository *r ;
  struct object *obj ;
  struct object *tmp ;
  struct object *tmp___0 ;

  {
  r = the_repository;
  tmp = parse_object(r, oid);
  obj = tmp;
  tmp___0 = repo_peel_to_type(r, (char const   *)((void *)0), 0, obj, (enum object_type )2);
  return ((struct tree *)tmp___0);
}
}
static double const   __ac_HASH_UPPER___97  =    (double const   )0.77;
__inline static void kh_resize_oid_set___97(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___97(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___97 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___97 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___97(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___97(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___97(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___97(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___97(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___97(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___97 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___97 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___97(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___97(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___97(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___97(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___97(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___97(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___97 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___97 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___97(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___97(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___97(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___97(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___74(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___74(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___97 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___97 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___74(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___74(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___74(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___74(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *unpack_plumbing_errors[12]  =
  {      (char const   *)"Entry \'%s\' would be overwritten by merge. Cannot merge.",      (char const   *)"Entry \'%s\' not uptodate. Cannot merge.",      (char const   *)"Updating \'%s\' would lose untracked files in it",      (char const   *)"Refusing to remove \'%s\' since it is the current working directory.",
        (char const   *)"Untracked working tree file \'%s\' would be overwritten by merge.",      (char const   *)"Untracked working tree file \'%s\' would be removed by merge.",      (char const   *)"Entry \'%s\' overlaps with \'%s\'.  Cannot bind.",      (char const   *)"Submodule \'%s\' cannot checkout new HEAD.",
        (char const   *)"",      (char const   *)"Path \'%s\' not uptodate; will not remove from working tree.",      (char const   *)"Path \'%s\' unmerged; will not remove from working tree.",      (char const   *)"Path \'%s\' already present; will not overwrite with sparse update."};
static char const   *super_prefixed(char const   *path___6 ) ;
static struct strbuf buf___12[2]  = {      {0UL, 0UL, strbuf_slopbuf},
        {0UL, 0UL, strbuf_slopbuf}};
static int super_prefix_len  =    -1;
static unsigned int idx  =    (unsigned int )((sizeof(buf___12) / sizeof(buf___12[0]) + (sizeof(char [1]) - 1UL)) - 1UL);
static char const   *super_prefixed(char const   *path___6 )
{
  char const   *super_prefix___0 ;
  char const   *tmp ;
  int i ;

  {
  if (super_prefix_len < 0) {
    tmp = get_super_prefix();
    super_prefix___0 = tmp;
    if (! super_prefix___0) {
      super_prefix_len = 0;
    } else {
      i = 0;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! ((unsigned long )i < sizeof(buf___12) / sizeof(buf___12[0]) + (sizeof(char [1]) - 1UL))) {
          goto while_break;
        }
        strbuf_addstr(& buf___12[i], super_prefix___0);
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
      super_prefix_len = (int )buf___12[0].len;
    }
  }
  if (! super_prefix_len) {
    return (path___6);
  }
  idx ++;
  if ((unsigned long )idx >= sizeof(buf___12) / sizeof(buf___12[0]) + (sizeof(char [1]) - 1UL)) {
    idx = 0U;
  }
  strbuf_setlen(& buf___12[idx], (size_t )super_prefix_len);
  strbuf_addstr(& buf___12[idx], path___6);
  return ((char const   *)buf___12[idx].buf);
}
}
void setup_unpack_trees_porcelain(struct unpack_trees_options *opts___1 , char const   *cmd )
{
  int i ;
  char const   **msgs___0 ;
  char const   *msg___5 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  char const   *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  char const __attribute__((__format_arg__(1)))  *tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  char const __attribute__((__format_arg__(1)))  *tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;
  int tmp___30 ;
  char const __attribute__((__format_arg__(1)))  *tmp___31 ;
  char const __attribute__((__format_arg__(1)))  *tmp___32 ;
  int tmp___33 ;
  int tmp___34 ;
  char const __attribute__((__format_arg__(1)))  *tmp___35 ;
  char const __attribute__((__format_arg__(1)))  *tmp___36 ;
  int tmp___37 ;
  int tmp___38 ;
  char const __attribute__((__format_arg__(1)))  *tmp___39 ;
  char const __attribute__((__format_arg__(1)))  *tmp___40 ;
  int tmp___41 ;
  int tmp___42 ;
  int tmp___43 ;
  char const __attribute__((__format_arg__(1)))  *tmp___44 ;
  char const __attribute__((__format_arg__(1)))  *tmp___45 ;
  char const __attribute__((__format_arg__(1)))  *tmp___46 ;
  char const __attribute__((__format_arg__(1)))  *tmp___47 ;
  char const __attribute__((__format_arg__(1)))  *tmp___48 ;

  {
  msgs___0 = opts___1->msgs;
  strvec_init(& opts___1->msgs_to_free);
  tmp___12 = strcmp(cmd, (char const   *)"checkout");
  if (tmp___12) {
    tmp___11 = strcmp(cmd, (char const   *)"merge");
    if (tmp___11) {
      tmp___10 = advice_enabled((enum advice_type )5);
      if (tmp___10) {
        tmp___8 = _((char const   *)"Your local changes to the following files would be overwritten by %s:\n%%sPlease commit your changes or stash them before you %s.");
        msg___5 = (char const   *)tmp___8;
      } else {
        tmp___9 = _((char const   *)"Your local changes to the following files would be overwritten by %s:\n%%s");
        msg___5 = (char const   *)tmp___9;
      }
    } else {
      tmp___6 = advice_enabled((enum advice_type )5);
      if (tmp___6) {
        tmp___4 = _((char const   *)"Your local changes to the following files would be overwritten by merge:\n%%sPlease commit your changes or stash them before you merge.");
        msg___5 = (char const   *)tmp___4;
      } else {
        tmp___5 = _((char const   *)"Your local changes to the following files would be overwritten by merge:\n%%s");
        msg___5 = (char const   *)tmp___5;
      }
    }
  } else {
    tmp___2 = advice_enabled((enum advice_type )5);
    if (tmp___2) {
      tmp___0 = _((char const   *)"Your local changes to the following files would be overwritten by checkout:\n%%sPlease commit your changes or stash them before you switch branches.");
      msg___5 = (char const   *)tmp___0;
    } else {
      tmp___1 = _((char const   *)"Your local changes to the following files would be overwritten by checkout:\n%%s");
      msg___5 = (char const   *)tmp___1;
    }
  }
  tmp___13 = strvec_pushf(& opts___1->msgs_to_free, msg___5, cmd, cmd);
  *(msgs___0 + 1) = tmp___13;
  *(msgs___0 + 0) = tmp___13;
  tmp___14 = _((char const   *)"Updating the following directories would lose untracked files in them:\n%s");
  *(msgs___0 + 2) = (char const   *)tmp___14;
  tmp___15 = _((char const   *)"Refusing to remove the current working directory:\n%s");
  *(msgs___0 + 3) = (char const   *)tmp___15;
  tmp___29 = strcmp(cmd, (char const   *)"checkout");
  if (tmp___29) {
    tmp___28 = strcmp(cmd, (char const   *)"merge");
    if (tmp___28) {
      tmp___27 = advice_enabled((enum advice_type )5);
      if (tmp___27) {
        tmp___25 = _((char const   *)"The following untracked working tree files would be removed by %s:\n%%sPlease move or remove them before you %s.");
        msg___5 = (char const   *)tmp___25;
      } else {
        tmp___26 = _((char const   *)"The following untracked working tree files would be removed by %s:\n%%s");
        msg___5 = (char const   *)tmp___26;
      }
    } else {
      tmp___23 = advice_enabled((enum advice_type )5);
      if (tmp___23) {
        tmp___21 = _((char const   *)"The following untracked working tree files would be removed by merge:\n%%sPlease move or remove them before you merge.");
        msg___5 = (char const   *)tmp___21;
      } else {
        tmp___22 = _((char const   *)"The following untracked working tree files would be removed by merge:\n%%s");
        msg___5 = (char const   *)tmp___22;
      }
    }
  } else {
    tmp___19 = advice_enabled((enum advice_type )5);
    if (tmp___19) {
      tmp___17 = _((char const   *)"The following untracked working tree files would be removed by checkout:\n%%sPlease move or remove them before you switch branches.");
      msg___5 = (char const   *)tmp___17;
    } else {
      tmp___18 = _((char const   *)"The following untracked working tree files would be removed by checkout:\n%%s");
      msg___5 = (char const   *)tmp___18;
    }
  }
  *(msgs___0 + 5) = strvec_pushf(& opts___1->msgs_to_free, msg___5, cmd, cmd);
  tmp___43 = strcmp(cmd, (char const   *)"checkout");
  if (tmp___43) {
    tmp___42 = strcmp(cmd, (char const   *)"merge");
    if (tmp___42) {
      tmp___41 = advice_enabled((enum advice_type )5);
      if (tmp___41) {
        tmp___39 = _((char const   *)"The following untracked working tree files would be overwritten by %s:\n%%sPlease move or remove them before you %s.");
        msg___5 = (char const   *)tmp___39;
      } else {
        tmp___40 = _((char const   *)"The following untracked working tree files would be overwritten by %s:\n%%s");
        msg___5 = (char const   *)tmp___40;
      }
    } else {
      tmp___37 = advice_enabled((enum advice_type )5);
      if (tmp___37) {
        tmp___35 = _((char const   *)"The following untracked working tree files would be overwritten by merge:\n%%sPlease move or remove them before you merge.");
        msg___5 = (char const   *)tmp___35;
      } else {
        tmp___36 = _((char const   *)"The following untracked working tree files would be overwritten by merge:\n%%s");
        msg___5 = (char const   *)tmp___36;
      }
    }
  } else {
    tmp___33 = advice_enabled((enum advice_type )5);
    if (tmp___33) {
      tmp___31 = _((char const   *)"The following untracked working tree files would be overwritten by checkout:\n%%sPlease move or remove them before you switch branches.");
      msg___5 = (char const   *)tmp___31;
    } else {
      tmp___32 = _((char const   *)"The following untracked working tree files would be overwritten by checkout:\n%%s");
      msg___5 = (char const   *)tmp___32;
    }
  }
  *(msgs___0 + 4) = strvec_pushf(& opts___1->msgs_to_free, msg___5, cmd, cmd);
  tmp___44 = _((char const   *)"Entry \'%s\' overlaps with \'%s\'.  Cannot bind.");
  *(msgs___0 + 6) = (char const   *)tmp___44;
  tmp___45 = _((char const   *)"Cannot update submodule:\n%s");
  *(msgs___0 + 7) = (char const   *)tmp___45;
  tmp___46 = _((char const   *)"The following paths are not up to date and were left despite sparse patterns:\n%s");
  *(msgs___0 + 9) = (char const   *)tmp___46;
  tmp___47 = _((char const   *)"The following paths are unmerged and were left despite sparse patterns:\n%s");
  *(msgs___0 + 10) = (char const   *)tmp___47;
  tmp___48 = _((char const   *)"The following paths were already present and thus not updated despite sparse patterns:\n%s");
  *(msgs___0 + 11) = (char const   *)tmp___48;
  opts___1->show_all_errors = 1U;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(opts___1->unpack_rejects) / sizeof(opts___1->unpack_rejects[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    opts___1->unpack_rejects[i].strdup_strings = 1U;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void clear_unpack_trees_porcelain(struct unpack_trees_options *opts___1 )
{


  {
  strvec_clear(& opts___1->msgs_to_free);
  memset((void *)(opts___1->msgs), 0, sizeof(opts___1->msgs));
  return;
}
}
static int do_add_entry(struct unpack_trees_options *o , struct cache_entry *ce ,
                        unsigned int set , unsigned int clear )
{
  int tmp ;

  {
  clear |= (unsigned int )(1 << 20);
  if (set & (unsigned int )(1 << 17)) {
    set |= (unsigned int )(1 << 22);
  }
  ce->ce_flags = (ce->ce_flags & ~ clear) | set;
  tmp = add_index_entry(& o->result, ce, 3);
  return (tmp);
}
}
static void add_entry___0(struct unpack_trees_options *o , struct cache_entry  const  *ce ,
                          unsigned int set , unsigned int clear )
{
  struct cache_entry *tmp ;

  {
  tmp = dup_cache_entry(ce, & o->result);
  do_add_entry(o, tmp, set, clear);
  return;
}
}
static int add_rejected_path(struct unpack_trees_options *o , enum unpack_trees_error_types e ,
                             char const   *path___6 )
{
  char const   *tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  if (o->quiet) {
    return (-1);
  }
  if (! o->show_all_errors) {
    tmp = super_prefixed(path___6);
    if (o) {
      if (o->msgs[e]) {
        tmp___0 = o->msgs[e];
      } else {
        tmp___0 = unpack_plumbing_errors[e];
      }
    } else {
      tmp___0 = unpack_plumbing_errors[e];
    }
    error(tmp___0, tmp);
    tmp___1 = const_error();
    return (tmp___1);
  }
  string_list_append(& o->unpack_rejects[e], path___6);
  return (-1);
}
}
static void display_error_msgs(struct unpack_trees_options *o )
{
  int e ;
  unsigned int error_displayed ;
  struct string_list *rejects ;
  int i ;
  struct strbuf path___6 ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  error_displayed = 0U;
  e = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (e < 8)) {
      goto while_break;
    }
    rejects = & o->unpack_rejects[e];
    if (rejects->nr > 0U) {
      path___6.alloc = 0UL;
      path___6.len = 0UL;
      path___6.buf = strbuf_slopbuf;
      error_displayed = 1U;
      i = 0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! ((unsigned int )i < rejects->nr)) {
          goto while_break___0;
        }
        strbuf_addf(& path___6, (char const   *)"\t%s\n", (rejects->items + i)->string);
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      tmp = super_prefixed((char const   *)path___6.buf);
      if (o) {
        if (o->msgs[e]) {
          tmp___0 = o->msgs[e];
        } else {
          tmp___0 = unpack_plumbing_errors[e];
        }
      } else {
        tmp___0 = unpack_plumbing_errors[e];
      }
      error(tmp___0, tmp);
      const_error();
      strbuf_release(& path___6);
    }
    string_list_clear(rejects, 0);
    e ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (error_displayed) {
    tmp___1 = _((char const   *)"Aborting\n");
    fprintf(stderr, (char const   *)tmp___1);
  }
  return;
}
}
static void display_warning_msgs(struct unpack_trees_options *o )
{
  int e ;
  unsigned int warning_displayed___0 ;
  struct string_list *rejects ;
  int i ;
  struct strbuf path___6 ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  warning_displayed___0 = 0U;
  e = 9;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (e < 12)) {
      goto while_break;
    }
    rejects = & o->unpack_rejects[e];
    if (rejects->nr > 0U) {
      path___6.alloc = 0UL;
      path___6.len = 0UL;
      path___6.buf = strbuf_slopbuf;
      warning_displayed___0 = 1U;
      i = 0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! ((unsigned int )i < rejects->nr)) {
          goto while_break___0;
        }
        strbuf_addf(& path___6, (char const   *)"\t%s\n", (rejects->items + i)->string);
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      tmp = super_prefixed((char const   *)path___6.buf);
      if (o) {
        if (o->msgs[e]) {
          tmp___0 = o->msgs[e];
        } else {
          tmp___0 = unpack_plumbing_errors[e];
        }
      } else {
        tmp___0 = unpack_plumbing_errors[e];
      }
      warning(tmp___0, tmp);
      strbuf_release(& path___6);
    }
    string_list_clear(rejects, 0);
    e ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (warning_displayed___0) {
    tmp___1 = _((char const   *)"After fixing the above paths, you may want to run `git sparse-checkout reapply`.\n");
    fprintf(stderr, (char const   *)tmp___1);
  }
  return;
}
}
static int check_submodule_move_head(struct cache_entry  const  *ce , char const   *old_id ,
                                     char const   *new_id , struct unpack_trees_options *o )
{
  unsigned int flags___0 ;
  struct submodule  const  *sub ;
  struct submodule  const  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  flags___0 = 1U;
  tmp = submodule_from_ce(ce);
  sub = tmp;
  if (! sub) {
    return (0);
  }
  if (o->reset) {
    flags___0 |= (unsigned int )(1 << 1);
  }
  tmp___1 = submodule_move_head((char const   *)(ce->name), old_id, new_id, flags___0);
  if (tmp___1) {
    tmp___0 = add_rejected_path(o, (enum unpack_trees_error_types )7, (char const   *)(ce->name));
    return (tmp___0);
  }
  return (0);
}
}
static void load_gitmodules_file(struct index_state *index___2 , struct checkout *state___1 )
{
  int pos ;
  size_t tmp ;
  int tmp___0 ;
  struct cache_entry *ce ;

  {
  tmp = strlen((char const   *)".gitmodules");
  tmp___0 = index_name_pos(index___2, (char const   *)".gitmodules", (int )tmp);
  pos = tmp___0;
  if (pos >= 0) {
    ce = *(index___2->cache + pos);
    if (! state___1) {
      if (ce->ce_flags & (unsigned int )(1 << 22)) {
        repo_read_gitmodules(the_repository, 0);
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (state___1) {
      if (ce->ce_flags & (unsigned int )(1 << 16)) {
        submodule_free(the_repository);
        checkout_entry(ce, (struct checkout  const  *)state___1, (char *)((void *)0),
                       (int *)((void *)0));
        repo_read_gitmodules(the_repository, 0);
      }
    }
  }
  return;
}
}
static struct progress *get_progress(struct unpack_trees_options *o , struct index_state *index___2 )
{
  unsigned int cnt ;
  unsigned int total ;
  struct cache_entry  const  *ce ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct progress *tmp___0 ;

  {
  cnt = 0U;
  total = 0U;
  if (! o->update) {
    return ((struct progress *)((void *)0));
  } else
  if (! o->verbose_update) {
    return ((struct progress *)((void *)0));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (cnt < index___2->cache_nr)) {
      goto while_break;
    }
    ce = (struct cache_entry  const  *)*(index___2->cache + cnt);
    if (ce->ce_flags & (unsigned int )((1 << 16) | (1 << 22))) {
      total ++;
    }
    cnt ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = _((char const   *)"Updating files");
  tmp___0 = start_delayed_progress((char const   *)tmp, (uint64_t )total);
  return (tmp___0);
}
}
static void setup_collided_checkout_detection(struct checkout *state___1 , struct index_state *index___2 )
{
  int i ;

  {
  state___1->clone = 1U;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < index___2->cache_nr)) {
      goto while_break;
    }
    (*(index___2->cache + i))->ce_flags &= (unsigned int )(~ (1 << 26));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void report_collided_checkout(struct index_state *index___2 )
{
  struct string_list list___3 ;
  int i ;
  struct cache_entry *ce ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  list___3.items = (struct string_list_item *)0;
  list___3.nr = 0U;
  list___3.alloc = 0U;
  list___3.strdup_strings = 0U;
  list___3.cmp = (int (*)(char const   * , char const   * ))0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < index___2->cache_nr)) {
      goto while_break;
    }
    ce = *(index___2->cache + i);
    if (! (ce->ce_flags & (unsigned int )(1 << 26))) {
      goto __Cont;
    }
    string_list_append(& list___3, (char const   *)(ce->name));
    ce->ce_flags &= (unsigned int )(~ (1 << 26));
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  list___3.cmp = & fspathcmp;
  string_list_sort(& list___3);
  if (list___3.nr) {
    tmp = _((char const   *)"the following paths have collided (e.g. case-sensitive paths\non a case-insensitive filesystem) and only one from the same\ncolliding group is in the working tree:\n");
    warning((char const   *)tmp);
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned int )i < list___3.nr)) {
        goto while_break___0;
      }
      fprintf(stderr, (char const   *)"  \'%s\'\n", (list___3.items + i)->string);
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  string_list_clear(& list___3, 0);
  return;
}
}
static int must_checkout(struct cache_entry  const  *ce )
{


  {
  return ((int )(ce->ce_flags & (unsigned int )(1 << 16)));
}
}
static int check_updates(struct unpack_trees_options *o , struct index_state *index___2 )
{
  unsigned int cnt ;
  int errs ;
  struct progress *progress___7 ;
  struct checkout state___1 ;
  int i ;
  int pc_workers ;
  int pc_threshold ;
  uint64_t tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct cache_entry  const  *ce ;
  int tmp___2 ;
  int tmp___3 ;
  struct cache_entry *ce___0 ;
  size_t last_pc_queue_size ;
  size_t tmp___4 ;
  int tmp___5 ;
  size_t tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  uint64_t tmp___10 ;
  int tmp___11 ;

  {
  cnt = 0U;
  errs = 0;
  state___1.istate = (struct index_state *)0;
  state___1.base_dir = (char const   *)"";
  state___1.base_dir_len = 0;
  state___1.delayed_checkout = (struct delayed_checkout *)0;
  state___1.meta.refname = (char const   *)0;
  state___1.meta.treeish.hash[0] = (unsigned char)0;
  state___1.meta.treeish.hash[1] = (unsigned char)0;
  state___1.meta.treeish.hash[2] = (unsigned char)0;
  state___1.meta.treeish.hash[3] = (unsigned char)0;
  state___1.meta.treeish.hash[4] = (unsigned char)0;
  state___1.meta.treeish.hash[5] = (unsigned char)0;
  state___1.meta.treeish.hash[6] = (unsigned char)0;
  state___1.meta.treeish.hash[7] = (unsigned char)0;
  state___1.meta.treeish.hash[8] = (unsigned char)0;
  state___1.meta.treeish.hash[9] = (unsigned char)0;
  state___1.meta.treeish.hash[10] = (unsigned char)0;
  state___1.meta.treeish.hash[11] = (unsigned char)0;
  state___1.meta.treeish.hash[12] = (unsigned char)0;
  state___1.meta.treeish.hash[13] = (unsigned char)0;
  state___1.meta.treeish.hash[14] = (unsigned char)0;
  state___1.meta.treeish.hash[15] = (unsigned char)0;
  state___1.meta.treeish.hash[16] = (unsigned char)0;
  state___1.meta.treeish.hash[17] = (unsigned char)0;
  state___1.meta.treeish.hash[18] = (unsigned char)0;
  state___1.meta.treeish.hash[19] = (unsigned char)0;
  state___1.meta.treeish.hash[20] = (unsigned char)0;
  state___1.meta.treeish.hash[21] = (unsigned char)0;
  state___1.meta.treeish.hash[22] = (unsigned char)0;
  state___1.meta.treeish.hash[23] = (unsigned char)0;
  state___1.meta.treeish.hash[24] = (unsigned char)0;
  state___1.meta.treeish.hash[25] = (unsigned char)0;
  state___1.meta.treeish.hash[26] = (unsigned char)0;
  state___1.meta.treeish.hash[27] = (unsigned char)0;
  state___1.meta.treeish.hash[28] = (unsigned char)0;
  state___1.meta.treeish.hash[29] = (unsigned char)0;
  state___1.meta.treeish.hash[30] = (unsigned char)0;
  state___1.meta.treeish.hash[31] = (unsigned char)0;
  state___1.meta.treeish.algo = 0;
  state___1.meta.blob.hash[0] = (unsigned char)0;
  state___1.meta.blob.hash[1] = (unsigned char)0;
  state___1.meta.blob.hash[2] = (unsigned char)0;
  state___1.meta.blob.hash[3] = (unsigned char)0;
  state___1.meta.blob.hash[4] = (unsigned char)0;
  state___1.meta.blob.hash[5] = (unsigned char)0;
  state___1.meta.blob.hash[6] = (unsigned char)0;
  state___1.meta.blob.hash[7] = (unsigned char)0;
  state___1.meta.blob.hash[8] = (unsigned char)0;
  state___1.meta.blob.hash[9] = (unsigned char)0;
  state___1.meta.blob.hash[10] = (unsigned char)0;
  state___1.meta.blob.hash[11] = (unsigned char)0;
  state___1.meta.blob.hash[12] = (unsigned char)0;
  state___1.meta.blob.hash[13] = (unsigned char)0;
  state___1.meta.blob.hash[14] = (unsigned char)0;
  state___1.meta.blob.hash[15] = (unsigned char)0;
  state___1.meta.blob.hash[16] = (unsigned char)0;
  state___1.meta.blob.hash[17] = (unsigned char)0;
  state___1.meta.blob.hash[18] = (unsigned char)0;
  state___1.meta.blob.hash[19] = (unsigned char)0;
  state___1.meta.blob.hash[20] = (unsigned char)0;
  state___1.meta.blob.hash[21] = (unsigned char)0;
  state___1.meta.blob.hash[22] = (unsigned char)0;
  state___1.meta.blob.hash[23] = (unsigned char)0;
  state___1.meta.blob.hash[24] = (unsigned char)0;
  state___1.meta.blob.hash[25] = (unsigned char)0;
  state___1.meta.blob.hash[26] = (unsigned char)0;
  state___1.meta.blob.hash[27] = (unsigned char)0;
  state___1.meta.blob.hash[28] = (unsigned char)0;
  state___1.meta.blob.hash[29] = (unsigned char)0;
  state___1.meta.blob.hash[30] = (unsigned char)0;
  state___1.meta.blob.hash[31] = (unsigned char)0;
  state___1.meta.blob.algo = 0;
  state___1.force = 0U;
  state___1.quiet = 0U;
  state___1.not_new = 0U;
  state___1.clone = 0U;
  state___1.refresh_cache = 0U;
  trace_performance_enter();
  state___1.force = 1U;
  state___1.quiet = 1U;
  state___1.refresh_cache = 1U;
  state___1.istate = index___2;
  clone_checkout_metadata(& state___1.meta, (struct checkout_metadata  const  *)(& o->meta),
                          (struct object_id  const  *)((void *)0));
  if (! o->update) {
    goto _L;
  } else
  if (o->dry_run) {
    _L: /* CIL Label */
    remove_marked_cache_entries(index___2, 0);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___0 = trace_pass_fl(& trace_perf_key);
      if (tmp___0) {
        tmp = getnanotime();
        trace_performance_leave_fl((char const   *)"unpack-trees.c", 424, tmp, (char const   *)"check_updates");
      }
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    return (0);
  }
  if (o->clone) {
    setup_collided_checkout_detection(& state___1, index___2);
  }
  progress___7 = get_progress(o, index___2);
  invalidate_lstat_cache();
  git_attr_set_direction((enum git_attr_direction )1);
  tmp___1 = should_update_submodules();
  if (tmp___1) {
    load_gitmodules_file(index___2, (struct checkout *)((void *)0));
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < index___2->cache_nr)) {
      goto while_break___0;
    }
    ce = (struct cache_entry  const  *)*(index___2->cache + i);
    if (ce->ce_flags & (unsigned int )(1 << 22)) {
      cnt ++;
      display_progress(progress___7, (uint64_t )cnt);
      unlink_entry(ce);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  remove_marked_cache_entries(index___2, 0);
  remove_scheduled_dirs();
  tmp___2 = should_update_submodules();
  if (tmp___2) {
    load_gitmodules_file(index___2, & state___1);
  }
  tmp___3 = has_promisor_remote();
  if (tmp___3) {
    prefetch_cache_entries((struct index_state  const  *)index___2, & must_checkout);
  }
  get_parallel_checkout_configs(& pc_workers, & pc_threshold);
  enable_delayed_checkout(& state___1);
  if (pc_workers > 1) {
    init_parallel_checkout();
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned int )i < index___2->cache_nr)) {
      goto while_break___1;
    }
    ce___0 = *(index___2->cache + i);
    tmp___7 = must_checkout((struct cache_entry  const  *)ce___0);
    if (tmp___7) {
      tmp___4 = pc_queue_size();
      last_pc_queue_size = tmp___4;
      if (ce___0->ce_flags & (unsigned int )(1 << 22)) {
        BUG_fl((char const   *)"unpack-trees.c", 476, (char const   *)"both update and delete flags are set on %s",
               ce___0->name);
      }
      ce___0->ce_flags &= (unsigned int )(~ (1 << 16));
      tmp___5 = checkout_entry(ce___0, (struct checkout  const  *)(& state___1), (char *)((void *)0),
                               (int *)((void *)0));
      errs |= tmp___5;
      tmp___6 = pc_queue_size();
      if (last_pc_queue_size == tmp___6) {
        cnt ++;
        display_progress(progress___7, (uint64_t )cnt);
      }
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  if (pc_workers > 1) {
    tmp___8 = run_parallel_checkout(& state___1, pc_workers, pc_threshold, progress___7,
                                    & cnt);
    errs |= tmp___8;
  }
  stop_progress(& progress___7);
  tmp___9 = finish_delayed_checkout(& state___1, (int *)((void *)0), (int )o->verbose_update);
  errs |= tmp___9;
  git_attr_set_direction((enum git_attr_direction )0);
  if (o->clone) {
    report_collided_checkout(index___2);
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    tmp___11 = trace_pass_fl(& trace_perf_key);
    if (tmp___11) {
      tmp___10 = getnanotime();
      trace_performance_leave_fl((char const   *)"unpack-trees.c", 494, tmp___10,
                                 (char const   *)"check_updates");
    }
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  return (errs != 0);
}
}
static int verify_uptodate_sparse(struct cache_entry  const  *ce , struct unpack_trees_options *o ) ;
static int verify_absent_sparse(struct cache_entry  const  *ce , enum unpack_trees_error_types error_type ,
                                struct unpack_trees_options *o ) ;
static int apply_sparse_checkout(struct index_state *istate , struct cache_entry *ce ,
                                 struct unpack_trees_options *o )
{
  int was_skip_worktree ;
  int tmp ;
  int tmp___0 ;

  {
  was_skip_worktree = (int )(ce->ce_flags & (unsigned int )(1 << 30));
  if (ce->ce_flags & (unsigned int )(1 << 25)) {
    ce->ce_flags |= (unsigned int )(1 << 30);
  } else {
    ce->ce_flags &= (unsigned int )(~ (1 << 30));
  }
  if ((unsigned int )was_skip_worktree != (ce->ce_flags & (unsigned int )(1 << 30))) {
    ce->ce_flags |= (unsigned int )(1 << 27);
    mark_fsmonitor_invalid(istate, ce);
    istate->cache_changed |= (unsigned int )(1 << 1);
  }
  if (was_skip_worktree) {
    if (ce->ce_flags & (unsigned int )(1 << 30)) {
      ce->ce_flags &= (unsigned int )(~ (1 << 16));
      if (ce->ce_flags & (unsigned int )(1 << 17)) {
        ce->ce_flags &= (unsigned int )(~ (1 << 22));
      }
    }
  }
  if (! was_skip_worktree) {
    if (ce->ce_flags & (unsigned int )(1 << 30)) {
      if (! (ce->ce_flags & (unsigned int )(1 << 16))) {
        tmp = verify_uptodate_sparse((struct cache_entry  const  *)ce, o);
        if (tmp) {
          ce->ce_flags &= (unsigned int )(~ (1 << 30));
          return (-1);
        }
      }
      ce->ce_flags |= (unsigned int )(1 << 22);
      ce->ce_flags &= (unsigned int )(~ (1 << 16));
    }
  }
  if (was_skip_worktree) {
    if (! (ce->ce_flags & (unsigned int )(1 << 30))) {
      tmp___0 = verify_absent_sparse((struct cache_entry  const  *)ce, (enum unpack_trees_error_types )11,
                                     o);
      if (tmp___0) {
        return (-1);
      }
      ce->ce_flags |= (unsigned int )(1 << 16);
    }
  }
  return (0);
}
}
static int warn_conflicted_path(struct index_state *istate , int i , struct unpack_trees_options *o )
{
  char *conflicting_path ;
  int count___0 ;
  int tmp ;

  {
  conflicting_path = (*(istate->cache + i))->name;
  count___0 = 0;
  add_rejected_path(o, (enum unpack_trees_error_types )10, (char const   *)conflicting_path);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    count___0 ++;
    if ((unsigned int )(count___0 + i) < istate->cache_nr) {
      tmp = strcmp((char const   *)conflicting_path, (char const   *)((*(istate->cache + (count___0 + i)))->name));
      if (tmp) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (count___0);
}
}
__inline static int call_unpack_fn(struct cache_entry  const  **src , struct unpack_trees_options *o )
{
  int ret___67 ;
  int tmp ;

  {
  tmp = (*(o->fn))(src, o);
  ret___67 = tmp;
  if (ret___67 > 0) {
    ret___67 = 0;
  }
  return (ret___67);
}
}
static void mark_ce_used(struct cache_entry *ce , struct unpack_trees_options *o )
{
  int bottom ;

  {
  ce->ce_flags |= (unsigned int )(1 << 24);
  if (ce->ce_mode == 16384U) {
    return;
  }
  if ((unsigned int )o->cache_bottom < (o->src_index)->cache_nr) {
    if ((unsigned long )*((o->src_index)->cache + o->cache_bottom) == (unsigned long )ce) {
      bottom = o->cache_bottom;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if ((unsigned int )bottom < (o->src_index)->cache_nr) {
          if (! ((*((o->src_index)->cache + bottom))->ce_flags & (unsigned int )(1 << 24))) {
            goto while_break;
          }
        } else {
          goto while_break;
        }
        bottom ++;
      }
      while_break: /* CIL Label */ ;
      }
      o->cache_bottom = bottom;
    }
  }
  return;
}
}
static void mark_all_ce_unused(struct index_state *index___2 )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < index___2->cache_nr)) {
      goto while_break;
    }
    (*(index___2->cache + i))->ce_flags &= (unsigned int )(~ (((1 << 24) | (1 << 19)) | (1 << 25)));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int locate_in_src_index(struct cache_entry  const  *ce , struct unpack_trees_options *o )
{
  struct index_state *index___2 ;
  int len___0 ;
  int pos ;
  int tmp ;

  {
  index___2 = o->src_index;
  len___0 = (int )ce->ce_namelen;
  tmp = index_name_pos(index___2, (char const   *)(ce->name), len___0);
  pos = tmp;
  if (pos < 0) {
    pos = -1 - pos;
  }
  return (pos);
}
}
static void mark_ce_used_same_name(struct cache_entry *ce , struct unpack_trees_options *o )
{
  struct index_state *index___2 ;
  int len___0 ;
  int pos ;
  struct cache_entry *next___2 ;
  int tmp ;

  {
  index___2 = o->src_index;
  len___0 = (int )ce->ce_namelen;
  pos = locate_in_src_index((struct cache_entry  const  *)ce, o);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )pos < index___2->cache_nr)) {
      goto while_break;
    }
    next___2 = *(index___2->cache + pos);
    if ((unsigned int )len___0 != next___2->ce_namelen) {
      goto while_break;
    } else {
      tmp = memcmp((void const   *)(ce->name), (void const   *)(next___2->name), (size_t )len___0);
      if (tmp) {
        goto while_break;
      }
    }
    mark_ce_used(next___2, o);
    pos ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct cache_entry *next_cache_entry(struct unpack_trees_options *o , int *hint )
{
  struct index_state  const  *index___2 ;
  int pos ;
  struct cache_entry *ce ;

  {
  index___2 = (struct index_state  const  *)o->src_index;
  pos = o->cache_bottom;
  if (*hint > pos) {
    pos = *hint;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )pos < index___2->cache_nr)) {
      goto while_break;
    }
    ce = *(index___2->cache + pos);
    if (! (ce->ce_flags & (unsigned int )(1 << 24))) {
      *hint = pos + 1;
      return (ce);
    }
    pos ++;
  }
  while_break: /* CIL Label */ ;
  }
  *hint = pos;
  return ((struct cache_entry *)((void *)0));
}
}
static void add_same_unmerged(struct cache_entry  const  *ce , struct unpack_trees_options *o )
{
  struct index_state *index___2 ;
  int len___0 ;
  int pos ;
  int tmp ;
  struct cache_entry *next___2 ;
  int tmp___0 ;

  {
  index___2 = o->src_index;
  len___0 = (int )ce->ce_namelen;
  tmp = index_name_pos(index___2, (char const   *)(ce->name), len___0);
  pos = tmp;
  if (0 <= pos) {
    die((char const   *)"programming error in a caller of mark_ce_used_same_name");
  }
  pos = - pos - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )pos < index___2->cache_nr)) {
      goto while_break;
    }
    next___2 = *(index___2->cache + pos);
    if ((unsigned int )len___0 != next___2->ce_namelen) {
      goto while_break;
    } else {
      tmp___0 = memcmp((void const   *)(ce->name), (void const   *)(next___2->name),
                       (size_t )len___0);
      if (tmp___0) {
        goto while_break;
      }
    }
    add_entry___0(o, (struct cache_entry  const  *)next___2, 0U, 0U);
    mark_ce_used(next___2, o);
    pos ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int unpack_index_entry(struct cache_entry *ce , struct unpack_trees_options *o )
{
  struct cache_entry  const  *src[9] ;
  unsigned int tmp ;
  int ret___67 ;

  {
  src[0] = (struct cache_entry  const  *)((void *)0);
  tmp = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 9U) {
      goto while_break;
    }
    src[tmp] = (struct cache_entry  const  *)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  src[0] = (struct cache_entry  const  *)ce;
  mark_ce_used(ce, o);
  if ((12288U & ce->ce_flags) >> 12) {
    if (o->skip_unmerged) {
      add_entry___0(o, (struct cache_entry  const  *)ce, 0U, 0U);
      return (0);
    }
  }
  ret___67 = call_unpack_fn((struct cache_entry  const  **)(src), o);
  if ((12288U & ce->ce_flags) >> 12) {
    mark_ce_used_same_name(ce, o);
  }
  return (ret___67);
}
}
static int find_cache_pos(struct traverse_info *info___0 , char const   *p___0 , size_t p_len ) ;
static void restore_cache_bottom(struct traverse_info *info___0 , int bottom )
{
  struct unpack_trees_options *o ;

  {
  o = (struct unpack_trees_options *)info___0->data;
  if (o->diff_index_cached) {
    return;
  }
  o->cache_bottom = bottom;
  return;
}
}
static int switch_cache_bottom(struct traverse_info *info___0 )
{
  struct unpack_trees_options *o ;
  int ret___67 ;
  int pos ;

  {
  o = (struct unpack_trees_options *)info___0->data;
  if (o->diff_index_cached) {
    return (0);
  }
  ret___67 = o->cache_bottom;
  pos = find_cache_pos(info___0->prev, info___0->name, info___0->namelen);
  if (pos < -1) {
    o->cache_bottom = -2 - pos;
  } else
  if (pos < 0) {
    o->cache_bottom = (int )(o->src_index)->cache_nr;
  }
  return (ret___67);
}
}
__inline static int are_same_oid(struct name_entry *name_j , struct name_entry *name_k )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = is_null_oid((struct object_id  const  *)(& name_j->oid));
  if (tmp) {
    tmp___2 = 0;
  } else {
    tmp___0 = is_null_oid((struct object_id  const  *)(& name_k->oid));
    if (tmp___0) {
      tmp___2 = 0;
    } else {
      tmp___1 = oideq((struct object_id  const  *)(& name_j->oid), (struct object_id  const  *)(& name_k->oid));
      if (tmp___1) {
        tmp___2 = 1;
      } else {
        tmp___2 = 0;
      }
    }
  }
  return (tmp___2);
}
}
static int all_trees_same_as_cache_tree(int n , unsigned long dirmask , struct name_entry *names___0 ,
                                        struct traverse_info *info___0 )
{
  struct unpack_trees_options *o ;
  int i ;
  int tmp ;
  int tmp___0 ;

  {
  o = (struct unpack_trees_options *)info___0->data;
  if (! o->merge) {
    return (0);
  } else
  if (dirmask != (unsigned long )((1 << n) - 1)) {
    return (0);
  }
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    tmp = are_same_oid(names___0, names___0 + i);
    if (! tmp) {
      return (0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = cache_tree_matches_traversal((o->src_index)->cache_tree, names___0, info___0);
  return (tmp___0);
}
}
static int index_pos_by_traverse_info(struct name_entry *names___0 , struct traverse_info *info___0 )
{
  struct unpack_trees_options *o ;
  struct strbuf name___0 ;
  int pos ;
  int tmp ;
  int tmp___0 ;

  {
  o = (struct unpack_trees_options *)info___0->data;
  name___0.alloc = 0UL;
  name___0.len = 0UL;
  name___0.buf = strbuf_slopbuf;
  strbuf_make_traverse_path(& name___0, (struct traverse_info  const  *)info___0,
                            names___0->path, (size_t )names___0->pathlen);
  strbuf_addch(& name___0, '/');
  pos = index_name_pos(o->src_index, (char const   *)name___0.buf, (int )name___0.len);
  if (pos >= 0) {
    if (! (o->src_index)->sparse_index) {
      BUG_fl((char const   *)"unpack-trees.c", 778, (char const   *)"This is a directory and should not exist in index");
    } else
    if (! ((*((o->src_index)->cache + pos))->ce_flags & (unsigned int )(1 << 30))) {
      BUG_fl((char const   *)"unpack-trees.c", 778, (char const   *)"This is a directory and should not exist in index");
    }
  } else {
    pos = - pos - 1;
  }
  if ((unsigned int )pos >= (o->src_index)->cache_nr) {
    BUG_fl((char const   *)"unpack-trees.c", 786, (char const   *)"pos %d doesn\'t point to the first entry of %s in index",
           pos, name___0.buf);
  } else {
    tmp = starts_with((char const   *)((*((o->src_index)->cache + pos))->name), (char const   *)name___0.buf);
    if (tmp) {
      if (pos > 0) {
        tmp___0 = starts_with((char const   *)((*((o->src_index)->cache + (pos - 1)))->name),
                              (char const   *)name___0.buf);
        if (tmp___0) {
          BUG_fl((char const   *)"unpack-trees.c", 786, (char const   *)"pos %d doesn\'t point to the first entry of %s in index",
                 pos, name___0.buf);
        }
      }
    } else {
      BUG_fl((char const   *)"unpack-trees.c", 786, (char const   *)"pos %d doesn\'t point to the first entry of %s in index",
             pos, name___0.buf);
    }
  }
  strbuf_release(& name___0);
  return (pos);
}
}
static int traverse_by_cache_tree(int pos , int nr_entries , int nr_names , struct traverse_info *info___0 )
{
  struct cache_entry *src[9] ;
  unsigned int tmp ;
  struct unpack_trees_options *o ;
  struct cache_entry *tree_ce ;
  int ce_len ;
  int i ;
  int d ;
  int new_ce_len ;
  int len___0 ;
  int rc___0 ;
  void *tmp___0 ;

  {
  src[0] = (struct cache_entry *)((void *)0);
  tmp = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 9U) {
      goto while_break;
    }
    src[tmp] = (struct cache_entry *)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  o = (struct unpack_trees_options *)info___0->data;
  tree_ce = (struct cache_entry *)((void *)0);
  ce_len = 0;
  if (! o->merge) {
    BUG_fl((char const   *)"unpack-trees.c", 806, (char const   *)"We need cache-tree to do this optimization");
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < nr_entries)) {
      goto while_break___0;
    }
    src[0] = *((o->src_index)->cache + (pos + i));
    len___0 = (int )(src[0])->ce_namelen;
    new_ce_len = (int )(((unsigned long )(& ((struct cache_entry *)0)->name) + (unsigned long )len___0) + 1UL);
    if (new_ce_len > ce_len) {
      new_ce_len <<= 1;
      tmp___0 = xrealloc((void *)tree_ce, (size_t )new_ce_len);
      tree_ce = (struct cache_entry *)tmp___0;
      memset((void *)tree_ce, 0, (size_t )new_ce_len);
      ce_len = new_ce_len;
      tree_ce->ce_flags = create_ce_flags(0U);
      d = 1;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! (d <= nr_names)) {
          goto while_break___1;
        }
        src[d] = tree_ce;
        d ++;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
    tree_ce->ce_mode = (src[0])->ce_mode;
    tree_ce->ce_namelen = (unsigned int )len___0;
    oidcpy(& tree_ce->oid, (struct object_id  const  *)(& (src[0])->oid));
    memcpy((void *)(tree_ce->name), (void const   *)((src[0])->name), (size_t )(len___0 + 1));
    rc___0 = call_unpack_fn((struct cache_entry  const  **)(src), o);
    if (rc___0 < 0) {
      free((void *)tree_ce);
      return (rc___0);
    }
    mark_ce_used(src[0], o);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)tree_ce);
  if (o->debug_unpack) {
    printf((char const   *)"Unpacked %d entries from %s to %s using cache-tree\n",
           nr_entries, (*((o->src_index)->cache + pos))->name, (*((o->src_index)->cache + ((pos + nr_entries) - 1)))->name);
  }
  return (0);
}
}
static int traverse_trees_recursive(int n , unsigned long dirmask , unsigned long df_conflicts ,
                                    struct name_entry *names___0 , struct traverse_info *info___0 )
{
  struct unpack_trees_options *o ;
  int i ;
  int ret___67 ;
  int bottom ;
  int nr_buf ;
  struct tree_desc t[8] ;
  void *buf___19[8] ;
  struct traverse_info newinfo ;
  struct name_entry *p___0 ;
  int nr_entries ;
  int pos ;
  int tmp ;
  int tmp___0 ;
  size_t tmp___1 ;
  struct object_id  const  *oid ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  o = (struct unpack_trees_options *)info___0->data;
  nr_buf = 0;
  nr_entries = all_trees_same_as_cache_tree(n, dirmask, names___0, info___0);
  if (nr_entries > 0) {
    tmp = index_pos_by_traverse_info(names___0, info___0);
    pos = tmp;
    if (! o->merge) {
      BUG_fl((char const   *)"unpack-trees.c", 877, (char const   *)"Wrong condition to get here buddy");
    } else
    if (df_conflicts) {
      BUG_fl((char const   *)"unpack-trees.c", 877, (char const   *)"Wrong condition to get here buddy");
    }
    bottom = o->cache_bottom;
    ret___67 = traverse_by_cache_tree(pos, nr_entries, n, info___0);
    o->cache_bottom = bottom;
    return (ret___67);
  }
  p___0 = names___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (! p___0->mode)) {
      goto while_break;
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  newinfo = *info___0;
  newinfo.prev = info___0;
  newinfo.pathspec = info___0->pathspec;
  newinfo.name = p___0->path;
  newinfo.namelen = (size_t )p___0->pathlen;
  newinfo.mode = p___0->mode;
  tmp___0 = tree_entry_len((struct name_entry  const  *)p___0);
  tmp___1 = st_add(newinfo.pathlen, (size_t )tmp___0);
  newinfo.pathlen = st_add(tmp___1, (size_t )1);
  newinfo.df_conflicts |= df_conflicts;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break___0;
    }
    if (i > 0) {
      tmp___4 = are_same_oid(names___0 + i, names___0 + (i - 1));
      if (tmp___4) {
        t[i] = t[i - 1];
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if (i > 1) {
      tmp___3 = are_same_oid(names___0 + i, names___0 + (i - 2));
      if (tmp___3) {
        t[i] = t[i - 2];
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      oid = (struct object_id  const  *)((void *)0);
      if (dirmask & 1UL) {
        oid = (struct object_id  const  *)(& (names___0 + i)->oid);
      }
      tmp___2 = nr_buf;
      nr_buf ++;
      buf___19[tmp___2] = fill_tree_descriptor(the_repository, t + i, oid);
    }
    i ++;
    dirmask >>= 1;
  }
  while_break___0: /* CIL Label */ ;
  }
  bottom = switch_cache_bottom(& newinfo);
  ret___67 = traverse_trees(o->src_index, n, t, & newinfo);
  restore_cache_bottom(& newinfo, bottom);
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < nr_buf)) {
      goto while_break___1;
    }
    free(buf___19[i]);
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static int do_compare_entry_piecewise(struct cache_entry  const  *ce , struct traverse_info  const  *info___0 ,
                                      char const   *name___0 , size_t namelen , unsigned int mode___1 )
{
  int pathlen ;
  int ce_len ;
  char const   *ce_name ;
  int cmp___0 ;
  int tmp ;
  int tmp___0 ;

  {
  if (info___0->prev) {
    tmp = do_compare_entry_piecewise(ce, (struct traverse_info  const  *)info___0->prev,
                                     (char const   *)info___0->name, (size_t )info___0->namelen,
                                     (unsigned int )info___0->mode);
    cmp___0 = tmp;
    if (cmp___0) {
      return (cmp___0);
    }
  }
  pathlen = (int )info___0->pathlen;
  ce_len = (int )ce->ce_namelen;
  if (ce_len < pathlen) {
    return (-1);
  }
  ce_len -= pathlen;
  ce_name = (char const   *)(ce->name + pathlen);
  tmp___0 = df_name_compare(ce_name, ce_len, 0100000, name___0, (int )namelen, (int )mode___1);
  return (tmp___0);
}
}
static int do_compare_entry(struct cache_entry  const  *ce , struct traverse_info  const  *info___0 ,
                            char const   *name___0 , size_t namelen , unsigned int mode___1 )
{
  int pathlen ;
  int ce_len ;
  char const   *ce_name ;
  int cmp___0 ;
  unsigned int ce_mode ;
  int tmp ;
  int tmp___0 ;

  {
  if (! info___0->traverse_path) {
    tmp = do_compare_entry_piecewise(ce, info___0, name___0, namelen, mode___1);
    return (tmp);
  }
  cmp___0 = strncmp((char const   *)(ce->name), (char const   *)info___0->traverse_path,
                    (size_t )info___0->pathlen);
  if (cmp___0) {
    return (cmp___0);
  }
  pathlen = (int )info___0->pathlen;
  ce_len = (int )ce->ce_namelen;
  if (ce_len < pathlen) {
    return (-1);
  }
  ce_len -= pathlen;
  ce_name = (char const   *)(ce->name + pathlen);
  if (ce->ce_mode == 16384U) {
    ce_mode = 16384U;
  } else {
    ce_mode = 32768U;
  }
  tmp___0 = df_name_compare(ce_name, ce_len, (int )ce_mode, name___0, (int )namelen,
                            (int )mode___1);
  return (tmp___0);
}
}
static int compare_entry(struct cache_entry  const  *ce , struct traverse_info  const  *info___0 ,
                         struct name_entry  const  *n )
{
  int cmp___0 ;
  int tmp ;
  int tmp___0 ;
  size_t tmp___1 ;
  int tmp___2 ;
  size_t tmp___3 ;

  {
  tmp = do_compare_entry(ce, info___0, (char const   *)n->path, (size_t )n->pathlen,
                         (unsigned int )n->mode);
  cmp___0 = tmp;
  if (cmp___0) {
    return (cmp___0);
  }
  if (ce->ce_mode == 16384U) {
    tmp___0 = tree_entry_len(n);
    tmp___1 = traverse_path_len(info___0, (size_t )tmp___0);
    if ((size_t )ce->ce_namelen == tmp___1 + 1UL) {
      return (0);
    }
  }
  tmp___2 = tree_entry_len(n);
  tmp___3 = traverse_path_len(info___0, (size_t )tmp___2);
  return ((size_t )ce->ce_namelen > tmp___3);
}
}
static int ce_in_traverse_path(struct cache_entry  const  *ce , struct traverse_info  const  *info___0 )
{
  int tmp ;

  {
  if (! info___0->prev) {
    return (1);
  }
  tmp = do_compare_entry(ce, (struct traverse_info  const  *)info___0->prev, (char const   *)info___0->name,
                         (size_t )info___0->namelen, (unsigned int )info___0->mode);
  if (tmp) {
    return (0);
  }
  return (info___0->pathlen < (size_t )ce->ce_namelen);
}
}
static struct cache_entry *create_ce_entry(struct traverse_info  const  *info___0 ,
                                           struct name_entry  const  *n , int stage ,
                                           struct index_state *istate , int is_transient ,
                                           int is_sparse_directory )
{
  size_t len___0 ;
  int tmp ;
  size_t tmp___0 ;
  size_t alloc_len ;
  size_t tmp___1 ;
  struct cache_entry *ce ;
  struct cache_entry *tmp___2 ;
  struct cache_entry *tmp___3 ;
  struct cache_entry *tmp___4 ;

  {
  tmp = tree_entry_len(n);
  tmp___0 = traverse_path_len(info___0, (size_t )tmp);
  len___0 = tmp___0;
  if (is_sparse_directory) {
    tmp___1 = len___0 + 1UL;
  } else {
    tmp___1 = len___0;
  }
  alloc_len = tmp___1;
  if (is_transient) {
    tmp___2 = make_empty_transient_cache_entry(alloc_len, (struct mem_pool *)((void *)0));
    tmp___4 = tmp___2;
  } else {
    tmp___3 = make_empty_cache_entry(istate, alloc_len);
    tmp___4 = tmp___3;
  }
  ce = tmp___4;
  ce->ce_mode = create_ce_mode((unsigned int )n->mode);
  ce->ce_flags = create_ce_flags((unsigned int )stage);
  ce->ce_namelen = (unsigned int )len___0;
  oidcpy(& ce->oid, (struct object_id  const  *)(& n->oid));
  make_traverse_path(ce->name, len___0 + 1UL, info___0, (char const   *)n->path, (size_t )n->pathlen);
  if (is_sparse_directory) {
    ce->name[len___0] = (char )'/';
    ce->name[len___0 + 1UL] = (char )'\000';
    (ce->ce_namelen) ++;
    ce->ce_flags |= (unsigned int )(1 << 30);
  }
  return (ce);
}
}
static int unpack_single_entry(int n , unsigned long mask , unsigned long dirmask ,
                               struct cache_entry **src , struct name_entry  const  *names___0 ,
                               struct traverse_info  const  *info___0 )
{
  int i ;
  struct unpack_trees_options *o ;
  unsigned long conflicts ;
  int stage ;
  unsigned int bit ;
  int rc___0 ;
  int tmp ;
  struct cache_entry *ce ;
  int tmp___0 ;

  {
  o = (struct unpack_trees_options *)info___0->data;
  conflicts = (unsigned long )(info___0->df_conflicts | (unsigned long )dirmask);
  if (mask == dirmask) {
    if (! *(src + 0)) {
      return (0);
    }
  }
  if (mask == dirmask) {
    if (*(src + 0)) {
      if ((*(src + 0))->ce_mode == 16384U) {
        conflicts = 0UL;
      }
    }
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    bit = (unsigned int )(1ul << i);
    if (conflicts & (unsigned long )bit) {
      *(src + ((unsigned int )i + o->merge)) = o->df_conflict_entry;
      goto __Cont;
    }
    if (! (mask & (unsigned long )bit)) {
      goto __Cont;
    }
    if (! o->merge) {
      stage = 0;
    } else
    if (i + 1 < o->head_idx) {
      stage = 1;
    } else
    if (i + 1 > o->head_idx) {
      stage = 3;
    } else {
      stage = 2;
    }
    *(src + ((unsigned int )i + o->merge)) = create_ce_entry(info___0, names___0 + i,
                                                             stage, & o->result, (int )o->merge,
                                                             (int )((unsigned long )bit & dirmask));
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (o->merge) {
    tmp = call_unpack_fn((struct cache_entry  const  **)src, o);
    rc___0 = tmp;
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < n)) {
        goto while_break___0;
      }
      ce = *(src + ((unsigned int )i + o->merge));
      if ((unsigned long )ce != (unsigned long )o->df_conflict_entry) {
        discard_cache_entry(ce);
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    return (rc___0);
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break___1;
    }
    if (*(src + i)) {
      if ((unsigned long )*(src + i) != (unsigned long )o->df_conflict_entry) {
        tmp___0 = do_add_entry(o, *(src + i), 0U, 0U);
        if (tmp___0) {
          return (-1);
        }
      }
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  return (0);
}
}
static int unpack_failed(struct unpack_trees_options *o , char const   *message___0 )
{
  int tmp ;

  {
  discard_index(& o->result);
  if (! o->quiet) {
    if (! o->exiting_early) {
      if (message___0) {
        error((char const   *)"%s", message___0);
        tmp = const_error();
        return (tmp);
      }
      return (-1);
    }
  }
  return (-1);
}
}
static int find_cache_pos(struct traverse_info *info___0 , char const   *p___0 , size_t p_len )
{
  int pos ;
  struct unpack_trees_options *o ;
  struct index_state *index___2 ;
  int pfxlen ;
  struct cache_entry  const  *ce ;
  char const   *ce_name ;
  char const   *ce_slash ;
  int cmp___0 ;
  int ce_len ;
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  o = (struct unpack_trees_options *)info___0->data;
  index___2 = o->src_index;
  pfxlen = (int )info___0->pathlen;
  pos = o->cache_bottom;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )pos < index___2->cache_nr)) {
      goto while_break;
    }
    ce = (struct cache_entry  const  *)*(index___2->cache + pos);
    if (ce->ce_flags & (unsigned int )(1 << 24)) {
      if (pos == o->cache_bottom) {
        (o->cache_bottom) ++;
      }
      goto __Cont;
    }
    tmp___0 = ce_in_traverse_path(ce, (struct traverse_info  const  *)info___0);
    if (! tmp___0) {
      if (info___0->traverse_path) {
        tmp = strncmp((char const   *)(ce->name), info___0->traverse_path, info___0->pathlen);
        if (tmp > 0) {
          goto while_break;
        }
      }
      goto __Cont;
    }
    ce_name = (char const   *)(ce->name + pfxlen);
    tmp___1 = strchr(ce_name, '/');
    ce_slash = (char const   *)tmp___1;
    if (ce_slash) {
      ce_len = (int )(ce_slash - ce_name);
    } else {
      ce_len = (int )(ce->ce_namelen - (unsigned int )pfxlen);
    }
    cmp___0 = name_compare(p___0, p_len, ce_name, (size_t )ce_len);
    if (! cmp___0) {
      if (ce_slash) {
        tmp___2 = -2 - pos;
      } else {
        tmp___2 = pos;
      }
      return (tmp___2);
    }
    if (0 < cmp___0) {
      goto __Cont;
    }
    if (p_len < (size_t )ce_len) {
      tmp___3 = memcmp((void const   *)ce_name, (void const   *)p___0, p_len);
      if (! tmp___3) {
        if ((int const   )*(ce_name + p_len) < 47) {
          goto __Cont;
        }
      }
    }
    goto while_break;
    __Cont: /* CIL Label */
    pos ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (-1);
}
}
static int sparse_dir_matches_path(struct cache_entry  const  *ce , struct traverse_info *info___0 ,
                                   struct name_entry  const  *p___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  assert(ce->ce_mode == 16384U);
  assert((int )ce->name[ce->ce_namelen - 1U] == 47);
  if (info___0->pathlen) {
    if ((size_t )ce->ce_namelen == (info___0->pathlen + (size_t )p___0->pathlen) + 1UL) {
      if ((int )ce->name[info___0->pathlen - 1UL] == 47) {
        tmp = strncmp((char const   *)(ce->name), info___0->traverse_path, info___0->pathlen);
        if (tmp) {
          tmp___1 = 0;
        } else {
          tmp___0 = strncmp((char const   *)(ce->name + info___0->pathlen), (char const   *)p___0->path,
                            (size_t )p___0->pathlen);
          if (tmp___0) {
            tmp___1 = 0;
          } else {
            tmp___1 = 1;
          }
        }
      } else {
        tmp___1 = 0;
      }
    } else {
      tmp___1 = 0;
    }
    return (tmp___1);
  }
  if (ce->ce_namelen == (unsigned int )(p___0->pathlen + 1)) {
    tmp___2 = strncmp((char const   *)(ce->name), (char const   *)p___0->path, (size_t )p___0->pathlen);
    if (tmp___2) {
      tmp___3 = 0;
    } else {
      tmp___3 = 1;
    }
  } else {
    tmp___3 = 0;
  }
  return (tmp___3);
}
}
static struct cache_entry *find_cache_entry(struct traverse_info *info___0 , struct name_entry  const  *p___0 )
{
  char const   *path___6 ;
  int pos ;
  int tmp ;
  struct unpack_trees_options *o ;
  struct cache_entry *ce ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = find_cache_pos(info___0, (char const   *)p___0->path, (size_t )p___0->pathlen);
  pos = tmp;
  o = (struct unpack_trees_options *)info___0->data;
  if (0 <= pos) {
    return (*((o->src_index)->cache + pos));
  }
  pos = - pos - 2;
  if (pos < 0) {
    return ((struct cache_entry *)((void *)0));
  } else
  if ((unsigned int )pos >= (o->src_index)->cache_nr) {
    return ((struct cache_entry *)((void *)0));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (pos >= 0)) {
      goto while_break;
    }
    ce = *((o->src_index)->cache + pos);
    tmp___0 = skip_prefix((char const   *)(ce->name), info___0->traverse_path, & path___6);
    if (tmp___0) {
      tmp___1 = strncmp(path___6, (char const   *)p___0->path, (size_t )p___0->pathlen);
      if (tmp___1) {
        return ((struct cache_entry *)((void *)0));
      } else
      if ((int const   )*(path___6 + p___0->pathlen) != 47) {
        return ((struct cache_entry *)((void *)0));
      }
    } else {
      return ((struct cache_entry *)((void *)0));
    }
    if (ce->ce_mode == 16384U) {
      tmp___2 = sparse_dir_matches_path((struct cache_entry  const  *)ce, info___0,
                                        p___0);
      if (tmp___2) {
        return (ce);
      }
    }
    pos --;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct cache_entry *)((void *)0));
}
}
static void debug_path(struct traverse_info *info___0 )
{


  {
  if (info___0->prev) {
    debug_path(info___0->prev);
    if (*((info___0->prev)->name)) {
      putchar('/');
    }
  }
  printf((char const   *)"%s", info___0->name);
  return;
}
}
static void debug_name_entry(int i , struct name_entry *n )
{
  char const   *tmp ;
  unsigned int tmp___0 ;

  {
  if (n->path) {
    tmp = n->path;
  } else {
    tmp = (char const   *)"(missing)";
  }
  if (n->path) {
    tmp___0 = n->mode;
  } else {
    tmp___0 = 0U;
  }
  printf((char const   *)"ent#%d %06o %s\n", i, tmp___0, tmp);
  return;
}
}
static void debug_unpack_callback(int n , unsigned long mask , unsigned long dirmask ,
                                  struct name_entry *names___0 , struct traverse_info *info___0 )
{
  int i ;

  {
  printf((char const   *)"* unpack mask %lu, dirmask %lu, cnt %d ", mask, dirmask,
         n);
  debug_path(info___0);
  putchar('\n');
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    debug_name_entry(i, names___0 + i);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int is_sparse_directory_entry(struct cache_entry *ce , struct name_entry *name___0 ,
                                     struct traverse_info *info___0 )
{
  int tmp ;

  {
  if (! ce) {
    return (0);
  } else
  if (! name___0) {
    return (0);
  } else
  if (! (ce->ce_mode == 16384U)) {
    return (0);
  }
  tmp = sparse_dir_matches_path((struct cache_entry  const  *)ce, info___0, (struct name_entry  const  *)name___0);
  return (tmp);
}
}
static int unpack_callback(int n , unsigned long mask , unsigned long dirmask , struct name_entry *names___0 ,
                           struct traverse_info *info___0 )
{
  struct cache_entry *src[9] ;
  unsigned int tmp ;
  struct unpack_trees_options *o ;
  struct name_entry  const  *p___0 ;
  int hint ;
  int cmp___0 ;
  struct cache_entry *ce ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int matches___0 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  src[0] = (struct cache_entry *)((void *)0);
  tmp = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 9U) {
      goto while_break;
    }
    src[tmp] = (struct cache_entry *)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  o = (struct unpack_trees_options *)info___0->data;
  p___0 = (struct name_entry  const  *)names___0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (! p___0->mode)) {
      goto while_break___0;
    }
    p___0 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (o->debug_unpack) {
    debug_unpack_callback(n, mask, dirmask, names___0, info___0);
  }
  if (o->merge) {
    hint = -1;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (o->diff_index_cached) {
        ce = next_cache_entry(o, & hint);
      } else {
        ce = find_cache_entry(info___0, p___0);
      }
      if (! ce) {
        goto while_break___1;
      }
      cmp___0 = compare_entry((struct cache_entry  const  *)ce, (struct traverse_info  const  *)info___0,
                              p___0);
      if (cmp___0 < 0) {
        tmp___1 = unpack_index_entry(ce, o);
        if (tmp___1 < 0) {
          tmp___0 = unpack_failed(o, (char const   *)((void *)0));
          return (tmp___0);
        }
        goto while_continue___1;
      }
      if (! cmp___0) {
        if ((12288U & ce->ce_flags) >> 12) {
          if (o->skip_unmerged) {
            add_same_unmerged((struct cache_entry  const  *)ce, o);
            return ((int )mask);
          }
        }
        src[0] = ce;
      }
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  tmp___2 = unpack_single_entry(n, mask, dirmask, src, (struct name_entry  const  *)names___0,
                                (struct traverse_info  const  *)info___0);
  if (tmp___2 < 0) {
    return (-1);
  }
  if (o->merge) {
    if (src[0]) {
      if ((12288U & (src[0])->ce_flags) >> 12) {
        mark_ce_used_same_name(src[0], o);
      } else {
        mark_ce_used(src[0], o);
      }
    }
  }
  if (dirmask) {
    if (o->diff_index_cached) {
      if (n == 1) {
        if (dirmask == 1UL) {
          if ((names___0->mode & 61440U) == 16384U) {
            matches___0 = cache_tree_matches_traversal((o->src_index)->cache_tree,
                                                       names___0, info___0);
            if (matches___0) {
              o->cache_bottom += matches___0;
              return ((int )mask);
            }
          }
        }
      }
    }
    tmp___3 = is_sparse_directory_entry(src[0], names___0, info___0);
    if (! tmp___3) {
      tmp___4 = traverse_trees_recursive(n, dirmask, mask & ~ dirmask, names___0,
                                         info___0);
      if (tmp___4 < 0) {
        return (-1);
      }
    }
    return ((int )mask);
  }
  return ((int )mask);
}
}
static int clear_ce_flags_1(struct index_state *istate , struct cache_entry **cache___0 ,
                            int nr___0 , struct strbuf *prefix___1 , int select_mask ,
                            int clear_mask , struct pattern_list *pl , enum pattern_match_result default_match ,
                            int progress_nr ) ;
static int clear_ce_flags_dir(struct index_state *istate , struct cache_entry **cache___0 ,
                              int nr___0 , struct strbuf *prefix___1 , char *__xpg_basename___0 ,
                              int select_mask , int clear_mask , struct pattern_list *pl ,
                              enum pattern_match_result default_match , int progress_nr )
{
  struct cache_entry **cache_end ;
  int dtype ;
  int rc___0 ;
  enum pattern_match_result ret___67 ;
  enum pattern_match_result orig_ret ;
  struct cache_entry *ce ;
  int tmp ;
  struct cache_entry **ce___0 ;

  {
  dtype = 4;
  orig_ret = path_matches_pattern_list((char const   *)prefix___1->buf, (int )prefix___1->len,
                                       (char const   *)__xpg_basename___0, & dtype,
                                       pl, istate);
  strbuf_addch(prefix___1, '/');
  if ((int )orig_ret == -1) {
    ret___67 = default_match;
  } else {
    ret___67 = orig_ret;
  }
  cache_end = cache___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )cache_end != (unsigned long )(cache___0 + nr___0))) {
      goto while_break;
    }
    ce = *cache_end;
    tmp = strncmp((char const   *)(ce->name), (char const   *)prefix___1->buf, prefix___1->len);
    if (tmp) {
      goto while_break;
    }
    cache_end ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (pl->use_cone_patterns) {
    if ((int )orig_ret == 2) {
      ce___0 = cache___0;
      rc___0 = (int )(cache_end - cache___0);
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! ((unsigned long )ce___0 < (unsigned long )cache_end)) {
          goto while_break___0;
        }
        (*ce___0)->ce_flags &= (unsigned int )(~ clear_mask);
        ce___0 ++;
      }
      while_break___0: /* CIL Label */ ;
      }
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (pl->use_cone_patterns) {
    if ((int )orig_ret == 0) {
      rc___0 = (int )(cache_end - cache___0);
    } else {
      rc___0 = clear_ce_flags_1(istate, cache___0, (int )(cache_end - cache___0),
                                prefix___1, select_mask, clear_mask, pl, ret___67,
                                progress_nr);
    }
  } else {
    rc___0 = clear_ce_flags_1(istate, cache___0, (int )(cache_end - cache___0), prefix___1,
                              select_mask, clear_mask, pl, ret___67, progress_nr);
  }
  strbuf_setlen(prefix___1, prefix___1->len - 1UL);
  return (rc___0);
}
}
static int clear_ce_flags_1(struct index_state *istate , struct cache_entry **cache___0 ,
                            int nr___0 , struct strbuf *prefix___1 , int select_mask ,
                            int clear_mask , struct pattern_list *pl , enum pattern_match_result default_match ,
                            int progress_nr )
{
  struct cache_entry **cache_end ;
  struct cache_entry **tmp ;
  struct cache_entry *ce ;
  char const   *name___0 ;
  char const   *slash ;
  int len___0 ;
  int dtype ;
  enum pattern_match_result ret___67 ;
  int tmp___0 ;
  char *tmp___1 ;
  int processed ;

  {
  if (nr___0) {
    tmp = cache___0 + nr___0;
  } else {
    tmp = cache___0;
  }
  cache_end = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )cache___0 != (unsigned long )cache_end)) {
      goto while_break;
    }
    ce = *cache___0;
    display_progress(istate->progress, (uint64_t )progress_nr);
    if (select_mask) {
      if (! (ce->ce_flags & (unsigned int )select_mask)) {
        cache___0 ++;
        progress_nr ++;
        goto while_continue;
      }
    }
    if (prefix___1->len) {
      tmp___0 = strncmp((char const   *)(ce->name), (char const   *)prefix___1->buf,
                        prefix___1->len);
      if (tmp___0) {
        goto while_break;
      }
    }
    name___0 = (char const   *)(ce->name + prefix___1->len);
    tmp___1 = strchr(name___0, '/');
    slash = (char const   *)tmp___1;
    if (slash) {
      len___0 = (int )(slash - name___0);
      strbuf_add(prefix___1, (void const   *)name___0, (size_t )len___0);
      processed = clear_ce_flags_dir(istate, cache___0, (int )(cache_end - cache___0),
                                     prefix___1, (prefix___1->buf + prefix___1->len) - len___0,
                                     select_mask, clear_mask, pl, default_match, progress_nr);
      if (processed) {
        cache___0 += processed;
        progress_nr += processed;
        strbuf_setlen(prefix___1, prefix___1->len - (size_t )len___0);
        goto while_continue;
      }
      strbuf_addch(prefix___1, '/');
      processed = clear_ce_flags_1(istate, cache___0, (int )(cache_end - cache___0),
                                   prefix___1, select_mask, clear_mask, pl, default_match,
                                   progress_nr);
      cache___0 += processed;
      progress_nr += processed;
      strbuf_setlen(prefix___1, (prefix___1->len - (size_t )len___0) - 1UL);
      goto while_continue;
    }
    dtype = ce_to_dtype((struct cache_entry  const  *)ce);
    ret___67 = path_matches_pattern_list((char const   *)(ce->name), (int )ce->ce_namelen,
                                         name___0, & dtype, pl, istate);
    if ((int )ret___67 == -1) {
      ret___67 = default_match;
    }
    if ((int )ret___67 == 1) {
      ce->ce_flags &= (unsigned int )(~ clear_mask);
    } else
    if ((int )ret___67 == 2) {
      ce->ce_flags &= (unsigned int )(~ clear_mask);
    }
    cache___0 ++;
    progress_nr ++;
  }
  while_break: /* CIL Label */ ;
  }
  display_progress(istate->progress, (uint64_t )progress_nr);
  return ((int )((long )nr___0 - (cache_end - cache___0)));
}
}
static int clear_ce_flags(struct index_state *istate , int select_mask , int clear_mask ,
                          struct pattern_list *pl , int show_progress___4 ) ;
static struct strbuf prefix  =    {0UL, 0UL, strbuf_slopbuf};
static int clear_ce_flags(struct index_state *istate , int select_mask , int clear_mask ,
                          struct pattern_list *pl , int show_progress___4 )
{
  char label[100] ;
  int rval ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  strbuf_setlen(& prefix, (size_t )0);
  if (show_progress___4) {
    tmp = _((char const   *)"Updating index flags");
    istate->progress = start_delayed_progress((char const   *)tmp, (uint64_t )istate->cache_nr);
  }
  xsnprintf(label, sizeof(label), (char const   *)"clear_ce_flags(0x%08lx,0x%08lx)",
            (unsigned long )select_mask, (unsigned long )clear_mask);
  trace2_region_enter_fl((char const   *)"unpack-trees.c", 1641, (char const   *)"unpack_trees",
                         (char const   *)(label), (struct repository  const  *)the_repository);
  rval = clear_ce_flags_1(istate, istate->cache, (int )istate->cache_nr, & prefix,
                          select_mask, clear_mask, pl, (enum pattern_match_result )0,
                          0);
  trace2_region_leave_fl((char const   *)"unpack-trees.c", 1648, (char const   *)"unpack_trees",
                         (char const   *)(label), (struct repository  const  *)the_repository);
  stop_progress(& istate->progress);
  return (rval);
}
}
static void mark_new_skip_worktree(struct pattern_list *pl , struct index_state *istate ,
                                   int select_flag , int skip_wt_flag , int show_progress___4 )
{
  int i ;
  struct cache_entry *ce ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    ce = *(istate->cache + i);
    if (select_flag) {
      if (! (ce->ce_flags & (unsigned int )select_flag)) {
        goto __Cont;
      }
    }
    if (! ((12288U & ce->ce_flags) >> 12)) {
      if (! (ce->ce_flags & (unsigned int )(1 << 23))) {
        ce->ce_flags |= (unsigned int )skip_wt_flag;
      } else {
        ce->ce_flags &= (unsigned int )(~ skip_wt_flag);
      }
    } else {
      ce->ce_flags &= (unsigned int )(~ skip_wt_flag);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_ce_flags(istate, select_flag, skip_wt_flag, pl, show_progress___4);
  return;
}
}
static void populate_from_existing_patterns(struct unpack_trees_options *o , struct pattern_list *pl )
{
  int tmp ;

  {
  tmp = get_sparse_checkout_patterns(pl);
  if (tmp < 0) {
    o->skip_sparse_checkout = 1U;
  } else {
    o->pl = pl;
  }
  return;
}
}
static int verify_absent(struct cache_entry  const  *ce , enum unpack_trees_error_types error_type ,
                         struct unpack_trees_options *o ) ;
static struct cache_entry *dfc  ;
int unpack_trees(unsigned int len___0 , struct tree_desc *t , struct unpack_trees_options *o )
{
  struct repository *repo ;
  int i ;
  int hint ;
  int ret___67 ;
  struct pattern_list pl ;
  int free_pattern_list ;
  struct dir_struct dir ;
  void *tmp ;
  char const   *prefix___1 ;
  char const   *tmp___0 ;
  struct traverse_info info___0 ;
  struct cache_entry *ce ;
  struct cache_entry *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  uint64_t tmp___4 ;
  int tmp___5 ;
  struct cache_entry *ce___0 ;
  struct cache_entry *tmp___6 ;
  int tmp___7 ;
  struct cache_entry *ce___1 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  uint64_t tmp___14 ;
  int tmp___15 ;

  {
  repo = the_repository;
  free_pattern_list = 0;
  dir.nr = 0;
  dir.alloc = 0;
  dir.ignored_nr = 0;
  dir.ignored_alloc = 0;
  dir.flags = 0U;
  dir.entries = (struct dir_entry **)0;
  dir.ignored = (struct dir_entry **)0;
  dir.exclude_per_dir = (char const   *)0;
  dir.exclude_list_group[0].nr = 0;
  dir.exclude_list_group[0].alloc = 0;
  dir.exclude_list_group[0].pl = (struct pattern_list *)0;
  dir.exclude_list_group[1].nr = 0;
  dir.exclude_list_group[1].alloc = 0;
  dir.exclude_list_group[1].pl = (struct pattern_list *)0;
  dir.exclude_list_group[2].nr = 0;
  dir.exclude_list_group[2].alloc = 0;
  dir.exclude_list_group[2].pl = (struct pattern_list *)0;
  dir.exclude_stack = (struct exclude_stack *)0;
  dir.pattern = (struct path_pattern *)0;
  dir.basebuf.alloc = 0UL;
  dir.basebuf.len = 0UL;
  dir.basebuf.buf = (char *)0;
  dir.untracked = (struct untracked_cache *)0;
  dir.ss_info_exclude.stat.sd_ctime.sec = 0U;
  dir.ss_info_exclude.stat.sd_ctime.nsec = 0U;
  dir.ss_info_exclude.stat.sd_mtime.sec = 0U;
  dir.ss_info_exclude.stat.sd_mtime.nsec = 0U;
  dir.ss_info_exclude.stat.sd_dev = 0U;
  dir.ss_info_exclude.stat.sd_ino = 0U;
  dir.ss_info_exclude.stat.sd_uid = 0U;
  dir.ss_info_exclude.stat.sd_gid = 0U;
  dir.ss_info_exclude.stat.sd_size = 0U;
  dir.ss_info_exclude.oid.hash[0] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[1] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[2] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[3] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[4] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[5] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[6] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[7] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[8] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[9] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[10] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[11] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[12] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[13] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[14] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[15] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[16] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[17] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[18] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[19] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[20] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[21] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[22] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[23] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[24] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[25] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[26] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[27] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[28] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[29] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[30] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[31] = (unsigned char)0;
  dir.ss_info_exclude.oid.algo = 0;
  dir.ss_info_exclude.valid = 0;
  dir.ss_excludes_file.stat.sd_ctime.sec = 0U;
  dir.ss_excludes_file.stat.sd_ctime.nsec = 0U;
  dir.ss_excludes_file.stat.sd_mtime.sec = 0U;
  dir.ss_excludes_file.stat.sd_mtime.nsec = 0U;
  dir.ss_excludes_file.stat.sd_dev = 0U;
  dir.ss_excludes_file.stat.sd_ino = 0U;
  dir.ss_excludes_file.stat.sd_uid = 0U;
  dir.ss_excludes_file.stat.sd_gid = 0U;
  dir.ss_excludes_file.stat.sd_size = 0U;
  dir.ss_excludes_file.oid.hash[0] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[1] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[2] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[3] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[4] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[5] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[6] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[7] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[8] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[9] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[10] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[11] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[12] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[13] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[14] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[15] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[16] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[17] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[18] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[19] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[20] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[21] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[22] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[23] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[24] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[25] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[26] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[27] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[28] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[29] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[30] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[31] = (unsigned char)0;
  dir.ss_excludes_file.oid.algo = 0;
  dir.ss_excludes_file.valid = 0;
  dir.unmanaged_exclude_files = 0U;
  dir.visited_paths = 0U;
  dir.visited_directories = 0U;
  if ((unsigned int )o->reset == 1U) {
    BUG_fl((char const   *)"unpack-trees.c", 1716, (char const   *)"o->reset had a value of 1; should be UNPACK_TREES_*_UNTRACKED");
  }
  if (len___0 > 8U) {
    die((char const   *)"unpack_trees takes at most %d trees", 8);
  }
  if (o->dir) {
    BUG_fl((char const   *)"unpack-trees.c", 1721, (char const   *)"o->dir is for internal use only");
  }
  trace_performance_enter();
  trace2_region_enter_fl((char const   *)"unpack-trees.c", 1724, (char const   *)"unpack_trees",
                         (char const   *)"unpack_trees", (struct repository  const  *)the_repository);
  prepare_repo_settings(repo);
  if (repo->settings.command_requires_full_index) {
    ensure_full_index(o->src_index);
    ensure_full_index(o->dst_index);
  }
  if ((unsigned int )o->reset == 3U) {
    if (o->preserve_ignored) {
      BUG_fl((char const   *)"unpack-trees.c", 1734, (char const   *)"UNPACK_RESET_OVERWRITE_UNTRACKED incompatible with preserved ignored files");
    }
  }
  if (! o->preserve_ignored) {
    o->dir = & dir;
    (o->dir)->flags = (enum __anonenum_flags_165983474 )((unsigned int )(o->dir)->flags | 1U);
    setup_standard_excludes(o->dir);
  }
  if (! core_apply_sparse_checkout) {
    o->skip_sparse_checkout = 1U;
  } else
  if (! o->update) {
    o->skip_sparse_checkout = 1U;
  }
  if (! o->skip_sparse_checkout) {
    if (! o->pl) {
      memset((void *)(& pl), 0, sizeof(pl));
      free_pattern_list = 1;
      populate_from_existing_patterns(o, & pl);
    }
  }
  memset((void *)(& o->result), 0, sizeof(o->result));
  o->result.initialized = 1U;
  o->result.timestamp.sec = (o->src_index)->timestamp.sec;
  o->result.timestamp.nsec = (o->src_index)->timestamp.nsec;
  o->result.version = (o->src_index)->version;
  if (! (o->src_index)->split_index) {
    o->result.split_index = (struct split_index *)((void *)0);
  } else
  if ((unsigned long )o->src_index == (unsigned long )o->dst_index) {
    o->result.split_index = (o->src_index)->split_index;
    ((o->result.split_index)->refcount) ++;
  } else {
    o->result.split_index = init_split_index(& o->result);
  }
  oidcpy(& o->result.oid, (struct object_id  const  *)(& (o->src_index)->oid));
  o->merge_size = (int )len___0;
  mark_all_ce_unused(o->src_index);
  o->result.fsmonitor_last_update = xstrdup_or_null((char const   *)(o->src_index)->fsmonitor_last_update);
  if (! o->skip_sparse_checkout) {
    mark_new_skip_worktree(o->pl, o->src_index, 0, 1 << 25, (int )o->verbose_update);
  }
  if (! dfc) {
    tmp = xcalloc((size_t )1, (unsigned long )(& ((struct cache_entry *)0)->name) + 1UL);
    dfc = (struct cache_entry *)tmp;
  }
  o->df_conflict_entry = dfc;
  if (len___0) {
    if (o->prefix) {
      tmp___0 = o->prefix;
    } else {
      tmp___0 = (char const   *)"";
    }
    prefix___1 = tmp___0;
    setup_traverse_info(& info___0, prefix___1);
    info___0.fn = & unpack_callback;
    info___0.data = (void *)o;
    info___0.show_all_errors = (int )o->show_all_errors;
    info___0.pathspec = o->pathspec;
    if (o->prefix) {
      hint = -1;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        tmp___1 = next_cache_entry(o, & hint);
        ce = tmp___1;
        if (! ce) {
          goto while_break;
        }
        tmp___2 = ce_in_traverse_path((struct cache_entry  const  *)ce, (struct traverse_info  const  *)(& info___0));
        if (tmp___2) {
          goto while_break;
        }
        tmp___3 = unpack_index_entry(ce, o);
        if (tmp___3 < 0) {
          goto return_failed;
        }
      }
      while_break: /* CIL Label */ ;
      }
    }
    trace_performance_enter();
    trace2_region_enter_fl((char const   *)"unpack-trees.c", 1817, (char const   *)"unpack_trees",
                           (char const   *)"traverse_trees", (struct repository  const  *)the_repository);
    ret___67 = traverse_trees(o->src_index, (int )len___0, t, & info___0);
    trace2_region_leave_fl((char const   *)"unpack-trees.c", 1819, (char const   *)"unpack_trees",
                           (char const   *)"traverse_trees", (struct repository  const  *)the_repository);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___5 = trace_pass_fl(& trace_perf_key);
      if (tmp___5) {
        tmp___4 = getnanotime();
        trace_performance_leave_fl((char const   *)"unpack-trees.c", 1820, tmp___4,
                                   (char const   *)"traverse_trees");
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (ret___67 < 0) {
      goto return_failed;
    }
  }
  if (o->merge) {
    hint = -1;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      tmp___6 = next_cache_entry(o, & hint);
      ce___0 = tmp___6;
      if (! ce___0) {
        goto while_break___1;
      }
      tmp___7 = unpack_index_entry(ce___0, o);
      if (tmp___7 < 0) {
        goto return_failed;
      }
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  mark_all_ce_unused(o->src_index);
  if (o->trivial_merges_only) {
    if (o->nontrivial_merge) {
      ret___67 = unpack_failed(o, (char const   *)"Merge requires file-level merging");
      goto done;
    }
  }
  if (! o->skip_sparse_checkout) {
    mark_new_skip_worktree(o->pl, & o->result, 1 << 19, (1 << 30) | (1 << 25), (int )o->verbose_update);
    ret___67 = 0;
    i = 0;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! ((unsigned int )i < o->result.cache_nr)) {
        goto while_break___2;
      }
      ce___1 = *(o->result.cache + i);
      if (ce___1->ce_flags & (unsigned int )(1 << 19)) {
        tmp___8 = verify_absent((struct cache_entry  const  *)ce___1, (enum unpack_trees_error_types )11,
                                o);
        if (tmp___8) {
          ret___67 = 1;
        }
      }
      tmp___9 = apply_sparse_checkout(& o->result, ce___1, o);
      if (tmp___9) {
        ret___67 = 1;
      }
      i ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    if (ret___67 == 1) {
      if (o->show_all_errors) {
        display_warning_msgs(o);
      }
      ret___67 = 0;
    }
  }
  tmp___11 = check_updates(o, & o->result);
  if (tmp___11) {
    ret___67 = -2;
  } else {
    ret___67 = 0;
  }
  if (o->dst_index) {
    move_index_extensions(& o->result, o->src_index);
    if (! ret___67) {
      tmp___12 = git_env_bool((char const   *)"GIT_TEST_CHECK_CACHE_TREE", 0);
      if (tmp___12) {
        cache_tree_verify(the_repository, & o->result);
      }
      tmp___13 = cache_tree_fully_valid(o->result.cache_tree);
      if (! tmp___13) {
        cache_tree_update(& o->result, 24);
      }
    }
    o->result.updated_workdir = 1U;
    discard_index(o->dst_index);
    *(o->dst_index) = o->result;
  } else {
    discard_index(& o->result);
  }
  o->src_index = (struct index_state *)((void *)0);
  done:
  if (free_pattern_list) {
    clear_pattern_list(& pl);
  }
  if (o->dir) {
    dir_clear(o->dir);
    o->dir = (struct dir_struct *)((void *)0);
  }
  trace2_region_leave_fl((char const   *)"unpack-trees.c", 1910, (char const   *)"unpack_trees",
                         (char const   *)"unpack_trees", (struct repository  const  *)the_repository);
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    tmp___15 = trace_pass_fl(& trace_perf_key);
    if (tmp___15) {
      tmp___14 = getnanotime();
      trace_performance_leave_fl((char const   *)"unpack-trees.c", 1911, tmp___14,
                                 (char const   *)"unpack_trees");
    }
    goto while_break___3;
  }
  while_break___3: /* CIL Label */ ;
  }
  return (ret___67);
  return_failed:
  if (o->show_all_errors) {
    display_error_msgs(o);
  }
  mark_all_ce_unused(o->src_index);
  ret___67 = unpack_failed(o, (char const   *)((void *)0));
  if (o->exiting_early) {
    ret___67 = 0;
  }
  goto done;
}
}
enum update_sparsity_result update_sparsity(struct unpack_trees_options *o )
{
  enum update_sparsity_result ret___67 ;
  struct pattern_list pl ;
  int i ;
  unsigned int old_show_all_errors ;
  int free_pattern_list ;
  struct cache_entry *ce ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  uint64_t tmp___2 ;
  int tmp___3 ;

  {
  ret___67 = (enum update_sparsity_result )0;
  free_pattern_list = 0;
  old_show_all_errors = o->show_all_errors;
  o->show_all_errors = 1U;
  if (! o->update) {
    BUG_fl((char const   *)"unpack-trees.c", 1943, (char const   *)"update_sparsity() is for reflecting sparsity patterns in working directory");
  } else
  if (o->index_only) {
    BUG_fl((char const   *)"unpack-trees.c", 1943, (char const   *)"update_sparsity() is for reflecting sparsity patterns in working directory");
  } else
  if (o->skip_sparse_checkout) {
    BUG_fl((char const   *)"unpack-trees.c", 1943, (char const   *)"update_sparsity() is for reflecting sparsity patterns in working directory");
  }
  if ((unsigned long )o->src_index != (unsigned long )o->dst_index) {
    BUG_fl((char const   *)"unpack-trees.c", 1945, (char const   *)"update_sparsity() called wrong");
  } else
  if (o->fn) {
    BUG_fl((char const   *)"unpack-trees.c", 1945, (char const   *)"update_sparsity() called wrong");
  }
  trace_performance_enter();
  if (! o->pl) {
    memset((void *)(& pl), 0, sizeof(pl));
    free_pattern_list = 1;
    populate_from_existing_patterns(o, & pl);
    if (o->skip_sparse_checkout) {
      goto skip_sparse_checkout;
    }
  }
  mark_all_ce_unused(o->src_index);
  mark_new_skip_worktree(o->pl, o->src_index, 0, 1 << 25, (int )o->verbose_update);
  ret___67 = (enum update_sparsity_result )0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < (o->src_index)->cache_nr)) {
      goto while_break;
    }
    ce = *((o->src_index)->cache + i);
    if ((12288U & ce->ce_flags) >> 12) {
      tmp = warn_conflicted_path(o->src_index, i, o);
      i += tmp - 1;
      ret___67 = (enum update_sparsity_result )1;
      goto __Cont;
    }
    tmp___0 = apply_sparse_checkout(o->src_index, ce, o);
    if (tmp___0) {
      ret___67 = (enum update_sparsity_result )1;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  skip_sparse_checkout:
  tmp___1 = check_updates(o, o->src_index);
  if (tmp___1) {
    ret___67 = (enum update_sparsity_result )-2;
  }
  display_warning_msgs(o);
  o->show_all_errors = old_show_all_errors;
  if (free_pattern_list) {
    clear_pattern_list(& pl);
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___3 = trace_pass_fl(& trace_perf_key);
    if (tmp___3) {
      tmp___2 = getnanotime();
      trace_performance_leave_fl((char const   *)"unpack-trees.c", 1988, tmp___2,
                                 (char const   *)"update_sparsity");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static int reject_merge(struct cache_entry  const  *ce , struct unpack_trees_options *o )
{
  int tmp ;

  {
  tmp = add_rejected_path(o, (enum unpack_trees_error_types )0, (char const   *)(ce->name));
  return (tmp);
}
}
static int same(struct cache_entry  const  *a , struct cache_entry  const  *b___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  if (! (! a) != ! (! b___0)) {
    return (0);
  }
  if (! a) {
    if (! b___0) {
      return (1);
    }
  }
  if ((a->ce_flags | b___0->ce_flags) & (unsigned int )(1 << 23)) {
    return (0);
  }
  if (a->ce_mode == b___0->ce_mode) {
    tmp = oideq((struct object_id  const  *)(& a->oid), (struct object_id  const  *)(& b___0->oid));
    if (tmp) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static int verify_uptodate_1(struct cache_entry  const  *ce , struct unpack_trees_options *o ,
                             enum unpack_trees_error_types error_type )
{
  struct stat st ;
  int flags___0 ;
  unsigned int changed ;
  int tmp ;
  int r ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  struct submodule  const  *tmp___3 ;
  int *tmp___4 ;
  int tmp___5 ;
  int *tmp___6 ;
  int tmp___7 ;

  {
  if (o->index_only) {
    return (0);
  }
  if (! (ce->ce_flags & 32768U)) {
    if (! (ce->ce_flags & (unsigned int )(1 << 30))) {
      if (o->reset) {
        return (0);
      } else
      if (ce->ce_flags & (unsigned int )(1 << 18)) {
        return (0);
      }
    }
  }
  tmp___5 = lstat((char const   *)(ce->name), & st);
  if (! tmp___5) {
    flags___0 = 5;
    tmp = ie_match_stat(o->src_index, ce, & st, (unsigned int )flags___0);
    changed = (unsigned int )tmp;
    tmp___3 = submodule_from_ce(ce);
    if (tmp___3) {
      tmp___0 = oid_to_hex((struct object_id  const  *)(& ce->oid));
      tmp___1 = check_submodule_move_head(ce, (char const   *)"HEAD", (char const   *)tmp___0,
                                          o);
      r = tmp___1;
      if (r) {
        tmp___2 = add_rejected_path(o, error_type, (char const   *)(ce->name));
        return (tmp___2);
      }
      return (0);
    }
    if (! changed) {
      return (0);
    }
    if ((ce->ce_mode & 61440U) == 57344U) {
      return (0);
    }
    tmp___4 = __errno_location();
    *tmp___4 = 0;
  }
  tmp___6 = __errno_location();
  if (*tmp___6 == 2) {
    return (0);
  }
  tmp___7 = add_rejected_path(o, error_type, (char const   *)(ce->name));
  return (tmp___7);
}
}
int verify_uptodate(struct cache_entry  const  *ce , struct unpack_trees_options *o )
{
  int tmp ;

  {
  if (! o->skip_sparse_checkout) {
    if (ce->ce_flags & (unsigned int )(1 << 25)) {
      return (0);
    }
  }
  tmp = verify_uptodate_1(ce, o, (enum unpack_trees_error_types )1);
  return (tmp);
}
}
static int verify_uptodate_sparse(struct cache_entry  const  *ce , struct unpack_trees_options *o )
{
  int tmp ;

  {
  tmp = verify_uptodate_1(ce, o, (enum unpack_trees_error_types )9);
  return (tmp);
}
}
static void invalidate_ce_path(struct cache_entry  const  *ce , struct unpack_trees_options *o )
{


  {
  if (! ce) {
    return;
  }
  cache_tree_invalidate_path(o->src_index, (char const   *)(ce->name));
  untracked_cache_invalidate_path(o->src_index, (char const   *)(ce->name), 1);
  return;
}
}
static int verify_clean_submodule(char const   *old_sha1 , struct cache_entry  const  *ce ,
                                  struct unpack_trees_options *o )
{
  struct submodule  const  *tmp ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  tmp = submodule_from_ce(ce);
  if (! tmp) {
    return (0);
  }
  tmp___0 = oid_to_hex((struct object_id  const  *)(& ce->oid));
  tmp___1 = check_submodule_move_head(ce, old_sha1, (char const   *)tmp___0, o);
  return (tmp___1);
}
}
static int verify_clean_subdirectory(struct cache_entry  const  *ce , struct unpack_trees_options *o )
{
  int namelen ;
  int i ;
  struct dir_struct d ;
  char *pathbuf ;
  int cnt ;
  struct object_id oid ;
  int sub_head ;
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  struct cache_entry *ce2 ;
  int len___0 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  cnt = 0;
  if ((ce->ce_mode & 61440U) == 57344U) {
    tmp = resolve_gitlink_ref((char const   *)(ce->name), (char const   *)"HEAD",
                              & oid);
    sub_head = tmp;
    if (! sub_head) {
      tmp___0 = oideq((struct object_id  const  *)(& oid), (struct object_id  const  *)(& ce->oid));
      if (tmp___0) {
        return (0);
      }
    }
    if (sub_head) {
      tmp___2 = (char *)((void *)0);
    } else {
      tmp___1 = oid_to_hex((struct object_id  const  *)(& oid));
      tmp___2 = tmp___1;
    }
    tmp___3 = verify_clean_submodule((char const   *)tmp___2, ce, o);
    return (tmp___3);
  }
  namelen = (int )ce->ce_namelen;
  i = locate_in_src_index(ce, o);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < (o->src_index)->cache_nr)) {
      goto while_break;
    }
    ce2 = *((o->src_index)->cache + i);
    len___0 = (int )ce2->ce_namelen;
    if (len___0 < namelen) {
      goto while_break;
    } else {
      tmp___4 = strncmp((char const   *)(ce->name), (char const   *)(ce2->name), (size_t )namelen);
      if (tmp___4) {
        goto while_break;
      } else
      if ((int )ce2->name[namelen] != 47) {
        goto while_break;
      }
    }
    if (! ((12288U & ce2->ce_flags) >> 12)) {
      tmp___5 = verify_uptodate((struct cache_entry  const  *)ce2, o);
      if (tmp___5) {
        return (-1);
      }
      add_entry___0(o, (struct cache_entry  const  *)ce2, (unsigned int )(1 << 17),
                    0U);
      invalidate_ce_path(ce, o);
      mark_ce_used(ce2, o);
    }
    cnt ++;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  pathbuf = xstrfmt((char const   *)"%.*s/", namelen, ce->name);
  memset((void *)(& d), 0, sizeof(d));
  if (o->dir) {
    d.exclude_per_dir = (o->dir)->exclude_per_dir;
  }
  i = read_directory(& d, o->src_index, (char const   *)pathbuf, namelen + 1, (struct pathspec  const  *)((void *)0));
  dir_clear(& d);
  free((void *)pathbuf);
  if (i) {
    tmp___6 = add_rejected_path(o, (enum unpack_trees_error_types )2, (char const   *)(ce->name));
    return (tmp___6);
  }
  if (startup_info->original_cwd) {
    tmp___8 = strcmp(startup_info->original_cwd, (char const   *)(ce->name));
    if (! tmp___8) {
      tmp___7 = add_rejected_path(o, (enum unpack_trees_error_types )3, (char const   *)(ce->name));
      return (tmp___7);
    }
  }
  return (cnt);
}
}
static int icase_exists(struct unpack_trees_options *o , char const   *name___0 ,
                        int len___0 , struct stat *st )
{
  struct cache_entry  const  *src ;
  struct cache_entry *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = index_file_exists(o->src_index, name___0, len___0, 1);
  src = (struct cache_entry  const  *)tmp;
  if (src) {
    tmp___0 = ie_match_stat(o->src_index, src, st, 5U);
    if (tmp___0) {
      tmp___1 = 0;
    } else {
      tmp___1 = 1;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static int check_ok_to_remove(char const   *name___0 , int len___0 , int dtype , struct cache_entry  const  *ce ,
                              struct stat *st , enum unpack_trees_error_types error_type ,
                              enum absent_checking_type absent_type , struct unpack_trees_options *o )
{
  struct cache_entry  const  *result___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct cache_entry *tmp___2 ;
  int tmp___3 ;

  {
  if (ignore_case) {
    tmp = icase_exists(o, name___0, len___0, st);
    if (tmp) {
      return (0);
    }
  }
  if (o->dir) {
    tmp___0 = is_excluded(o->dir, o->src_index, name___0, & dtype);
    if (tmp___0) {
      return (0);
    }
  }
  if ((st->st_mode & 61440U) == 16384U) {
    tmp___1 = verify_clean_subdirectory(ce, o);
    if (tmp___1 < 0) {
      return (-1);
    }
    return (0);
  }
  if ((unsigned int )absent_type == 1U) {
    return (0);
  }
  tmp___2 = index_file_exists(& o->result, name___0, len___0, 0);
  result___0 = (struct cache_entry  const  *)tmp___2;
  if (result___0) {
    if (result___0->ce_flags & (unsigned int )(1 << 17)) {
      return (0);
    }
  }
  tmp___3 = add_rejected_path(o, error_type, name___0);
  return (tmp___3);
}
}
static int verify_absent_1(struct cache_entry  const  *ce , enum unpack_trees_error_types error_type ,
                           enum absent_checking_type absent_type , struct unpack_trees_options *o )
{
  int len___0 ;
  struct stat st ;
  int tmp ;
  int tmp___0 ;
  char *path___6 ;
  int ret___67 ;
  void *tmp___1 ;
  char *tmp___2 ;
  struct submodule  const  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int *tmp___6 ;
  char *tmp___7 ;
  int tmp___8 ;
  struct submodule  const  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;

  {
  if (o->index_only) {
    return (0);
  } else
  if (! o->update) {
    return (0);
  }
  if ((unsigned int )o->reset == 3U) {
    if (startup_info->original_cwd) {
      tmp___0 = strcmp(startup_info->original_cwd, (char const   *)(ce->name));
      if (! tmp___0) {
        tmp = add_rejected_path(o, (enum unpack_trees_error_types )3, (char const   *)(ce->name));
        return (tmp);
      }
    }
    return (0);
  }
  len___0 = check_leading_path((char const   *)(ce->name), (int )ce->ce_namelen, 0);
  if (! len___0) {
    return (0);
  } else
  if (len___0 > 0) {
    tmp___1 = xmemdupz((void const   *)(ce->name), (size_t )len___0);
    path___6 = (char *)tmp___1;
    tmp___4 = lstat((char const   *)path___6, & st);
    if (tmp___4) {
      error_errno((char const   *)"cannot stat \'%s\'", path___6);
      ret___67 = const_error();
    } else {
      tmp___3 = submodule_from_ce(ce);
      if (tmp___3) {
        tmp___2 = oid_to_hex((struct object_id  const  *)(& ce->oid));
        ret___67 = check_submodule_move_head(ce, (char const   *)tmp___2, (char const   *)((void *)0),
                                             o);
      } else {
        ret___67 = check_ok_to_remove((char const   *)path___6, len___0, 0, (struct cache_entry  const  *)((void *)0),
                                      & st, error_type, absent_type, o);
      }
    }
    free((void *)path___6);
    return (ret___67);
  } else {
    tmp___12 = lstat((char const   *)(ce->name), & st);
    if (tmp___12) {
      tmp___6 = __errno_location();
      if (*tmp___6 != 2) {
        error_errno((char const   *)"cannot stat \'%s\'", ce->name);
        tmp___5 = const_error();
        return (tmp___5);
      }
      return (0);
    } else {
      tmp___9 = submodule_from_ce(ce);
      if (tmp___9) {
        tmp___7 = oid_to_hex((struct object_id  const  *)(& ce->oid));
        tmp___8 = check_submodule_move_head(ce, (char const   *)tmp___7, (char const   *)((void *)0),
                                            o);
        return (tmp___8);
      }
      tmp___10 = ce_to_dtype(ce);
      tmp___11 = check_ok_to_remove((char const   *)(ce->name), (int )ce->ce_namelen,
                                    tmp___10, ce, & st, error_type, absent_type, o);
      return (tmp___11);
    }
  }
}
}
static int verify_absent(struct cache_entry  const  *ce , enum unpack_trees_error_types error_type ,
                         struct unpack_trees_options *o )
{
  int tmp ;

  {
  if (! o->skip_sparse_checkout) {
    if (ce->ce_flags & (unsigned int )(1 << 25)) {
      return (0);
    }
  }
  tmp = verify_absent_1(ce, error_type, (enum absent_checking_type )0, o);
  return (tmp);
}
}
static int verify_absent_if_directory(struct cache_entry  const  *ce , enum unpack_trees_error_types error_type ,
                                      struct unpack_trees_options *o )
{
  int tmp ;

  {
  if (! o->skip_sparse_checkout) {
    if (ce->ce_flags & (unsigned int )(1 << 25)) {
      return (0);
    }
  }
  tmp = verify_absent_1(ce, error_type, (enum absent_checking_type )1, o);
  return (tmp);
}
}
static int verify_absent_sparse(struct cache_entry  const  *ce , enum unpack_trees_error_types error_type ,
                                struct unpack_trees_options *o )
{
  int tmp ;

  {
  tmp = verify_absent_1(ce, error_type, (enum absent_checking_type )0, o);
  return (tmp);
}
}
static int merged_entry(struct cache_entry  const  *ce , struct cache_entry  const  *old ,
                        struct unpack_trees_options *o )
{
  int update___1 ;
  struct cache_entry *merge___1 ;
  struct cache_entry *tmp ;
  int tmp___0 ;
  int ret___67 ;
  char *tmp___1 ;
  int tmp___2 ;
  struct submodule  const  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int ret___68 ;
  char *tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;
  struct submodule  const  *tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;

  {
  update___1 = 1 << 16;
  tmp = dup_cache_entry(ce, & o->result);
  merge___1 = tmp;
  if (! old) {
    update___1 |= 1 << 19;
    merge___1->ce_flags |= (unsigned int )(1 << 25);
    tmp___0 = verify_absent((struct cache_entry  const  *)merge___1, (enum unpack_trees_error_types )4,
                            o);
    if (tmp___0) {
      discard_cache_entry(merge___1);
      return (-1);
    }
    invalidate_ce_path((struct cache_entry  const  *)merge___1, o);
    tmp___3 = submodule_from_ce(ce);
    if (tmp___3) {
      tmp___4 = file_exists((char const   *)(ce->name));
      if (tmp___4) {
        tmp___1 = oid_to_hex((struct object_id  const  *)(& ce->oid));
        tmp___2 = check_submodule_move_head(ce, (char const   *)((void *)0), (char const   *)tmp___1,
                                            o);
        ret___67 = tmp___2;
        if (ret___67) {
          return (ret___67);
        }
      }
    }
  } else
  if (! (old->ce_flags & (unsigned int )(1 << 23))) {
    tmp___6 = same(old, (struct cache_entry  const  *)merge___1);
    if (tmp___6) {
      copy_cache_entry(merge___1, old);
      update___1 = 0;
    } else {
      tmp___5 = verify_uptodate(old, o);
      if (tmp___5) {
        discard_cache_entry(merge___1);
        return (-1);
      }
      update___1 = (int )((unsigned int )update___1 | (old->ce_flags & (unsigned int )((1 << 30) | (1 << 25))));
      invalidate_ce_path(old, o);
    }
    tmp___10 = submodule_from_ce(ce);
    if (tmp___10) {
      tmp___11 = file_exists((char const   *)(ce->name));
      if (tmp___11) {
        tmp___7 = oid_to_hex((struct object_id  const  *)(& ce->oid));
        tmp___8 = oid_to_hex((struct object_id  const  *)(& old->oid));
        tmp___9 = check_submodule_move_head(ce, (char const   *)tmp___8, (char const   *)tmp___7,
                                            o);
        ret___68 = tmp___9;
        if (ret___68) {
          return (ret___68);
        }
      }
    }
  } else {
    tmp___12 = verify_absent_if_directory((struct cache_entry  const  *)merge___1,
                                          (enum unpack_trees_error_types )4, o);
    if (tmp___12) {
      discard_cache_entry(merge___1);
      return (-1);
    }
    invalidate_ce_path(old, o);
  }
  tmp___13 = do_add_entry(o, merge___1, (unsigned int )update___1, 12288U);
  if (tmp___13 < 0) {
    return (-1);
  }
  return (1);
}
}
static int deleted_entry(struct cache_entry  const  *ce , struct cache_entry  const  *old ,
                         struct unpack_trees_options *o )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! old) {
    tmp = verify_absent(ce, (enum unpack_trees_error_types )5, o);
    if (tmp) {
      return (-1);
    }
    return (0);
  } else {
    tmp___0 = verify_absent_if_directory(ce, (enum unpack_trees_error_types )5, o);
    if (tmp___0) {
      return (-1);
    }
  }
  if (! (old->ce_flags & (unsigned int )(1 << 23))) {
    tmp___1 = verify_uptodate(old, o);
    if (tmp___1) {
      return (-1);
    }
  }
  add_entry___0(o, ce, (unsigned int )(1 << 17), 0U);
  invalidate_ce_path(ce, o);
  return (1);
}
}
static int keep_entry(struct cache_entry  const  *ce , struct unpack_trees_options *o )
{


  {
  add_entry___0(o, ce, 0U, 0U);
  if ((12288U & ce->ce_flags) >> 12) {
    invalidate_ce_path(ce, o);
  }
  return (1);
}
}
int threeway_merge(struct cache_entry  const  **stages , struct unpack_trees_options *o )
{
  struct cache_entry  const  *index___2 ;
  struct cache_entry  const  *head___1 ;
  struct cache_entry  const  *remote ;
  int count___0 ;
  int head_match ;
  int remote_match ;
  int df_conflict_head ;
  int df_conflict_remote ;
  int any_anc_missing ;
  int no_anc_exists ;
  int i ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int head_deleted ;
  int remote_deleted ;
  struct cache_entry  const  *ce ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;

  {
  remote = (struct cache_entry  const  *)*(stages + (o->head_idx + 1));
  head_match = 0;
  remote_match = 0;
  df_conflict_head = 0;
  df_conflict_remote = 0;
  any_anc_missing = 0;
  no_anc_exists = 1;
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < o->head_idx)) {
      goto while_break;
    }
    if (! *(stages + i)) {
      any_anc_missing = 1;
    } else
    if ((unsigned long )*(stages + i) == (unsigned long )o->df_conflict_entry) {
      any_anc_missing = 1;
    } else {
      no_anc_exists = 0;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  index___2 = (struct cache_entry  const  *)*(stages + 0);
  head___1 = (struct cache_entry  const  *)*(stages + o->head_idx);
  if ((unsigned long )head___1 == (unsigned long )o->df_conflict_entry) {
    df_conflict_head = 1;
    head___1 = (struct cache_entry  const  *)((void *)0);
  }
  if ((unsigned long )remote == (unsigned long )o->df_conflict_entry) {
    df_conflict_remote = 1;
    remote = (struct cache_entry  const  *)((void *)0);
  }
  tmp___1 = same(remote, head___1);
  if (! tmp___1) {
    i = 1;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < o->head_idx)) {
        goto while_break___0;
      }
      tmp = same((struct cache_entry  const  *)*(stages + i), head___1);
      if (tmp) {
        head_match = i;
      }
      tmp___0 = same((struct cache_entry  const  *)*(stages + i), remote);
      if (tmp___0) {
        remote_match = i;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  if (remote) {
    if (! df_conflict_head) {
      if (head_match) {
        if (! remote_match) {
          if (index___2) {
            tmp___3 = same(index___2, remote);
            if (! tmp___3) {
              tmp___4 = same(index___2, head___1);
              if (! tmp___4) {
                tmp___2 = reject_merge(index___2, o);
                return (tmp___2);
              }
            }
          }
          tmp___5 = merged_entry(remote, index___2, o);
          return (tmp___5);
        }
      }
    }
  }
  if (index___2) {
    tmp___7 = same(index___2, head___1);
    if (! tmp___7) {
      tmp___6 = reject_merge(index___2, o);
      return (tmp___6);
    }
  }
  if (head___1) {
    tmp___9 = same(head___1, remote);
    if (tmp___9) {
      tmp___8 = merged_entry(head___1, index___2, o);
      return (tmp___8);
    }
    if (! df_conflict_remote) {
      if (remote_match) {
        if (! head_match) {
          tmp___10 = merged_entry(head___1, index___2, o);
          return (tmp___10);
        }
      }
    }
  }
  if (! head___1) {
    if (! remote) {
      if (any_anc_missing) {
        return (0);
      }
    }
  }
  if (o->aggressive) {
    head_deleted = ! head___1;
    remote_deleted = ! remote;
    ce = (struct cache_entry  const  *)((void *)0);
    if (index___2) {
      ce = index___2;
    } else
    if (head___1) {
      ce = head___1;
    } else
    if (remote) {
      ce = remote;
    } else {
      i = 1;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! (i < o->head_idx)) {
          goto while_break___1;
        }
        if (*(stages + i)) {
          if ((unsigned long )*(stages + i) != (unsigned long )o->df_conflict_entry) {
            ce = (struct cache_entry  const  *)*(stages + i);
            goto while_break___1;
          }
        }
        i ++;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
    if (head_deleted) {
      if (remote_deleted) {
        goto _L;
      } else {
        goto _L___2;
      }
    } else
    _L___2: /* CIL Label */
    if (head_deleted) {
      if (remote) {
        if (remote_match) {
          goto _L;
        } else {
          goto _L___1;
        }
      } else {
        goto _L___1;
      }
    } else
    _L___1: /* CIL Label */
    _L___0: /* CIL Label */
    if (remote_deleted) {
      if (head___1) {
        if (head_match) {
          _L: /* CIL Label */
          if (index___2) {
            tmp___11 = deleted_entry(index___2, index___2, o);
            return (tmp___11);
          }
          if (ce) {
            if (! head_deleted) {
              tmp___12 = verify_absent(ce, (enum unpack_trees_error_types )5, o);
              if (tmp___12) {
                return (-1);
              }
            }
          }
          return (0);
        }
      }
    }
    if (no_anc_exists) {
      if (head___1) {
        if (remote) {
          tmp___14 = same(head___1, remote);
          if (tmp___14) {
            tmp___13 = merged_entry(head___1, index___2, o);
            return (tmp___13);
          }
        }
      }
    }
  }
  if (index___2) {
    tmp___15 = verify_uptodate(index___2, o);
    if (tmp___15) {
      return (-1);
    }
  }
  o->nontrivial_merge = 1U;
  count___0 = 0;
  if (! head_match) {
    goto _L___3;
  } else
  if (! remote_match) {
    _L___3: /* CIL Label */
    i = 1;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (i < o->head_idx)) {
        goto while_break___2;
      }
      if (*(stages + i)) {
        if ((unsigned long )*(stages + i) != (unsigned long )o->df_conflict_entry) {
          keep_entry((struct cache_entry  const  *)*(stages + i), o);
          count___0 ++;
          goto while_break___2;
        }
      }
      i ++;
    }
    while_break___2: /* CIL Label */ ;
    }
  }
  if (head___1) {
    tmp___16 = keep_entry(head___1, o);
    count___0 += tmp___16;
  }
  if (remote) {
    tmp___17 = keep_entry(remote, o);
    count___0 += tmp___17;
  }
  return (count___0);
}
}
int twoway_merge(struct cache_entry  const  **src , struct unpack_trees_options *o )
{
  struct cache_entry  const  *current ;
  struct cache_entry  const  *oldtree ;
  struct cache_entry  const  *newtree ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;

  {
  current = (struct cache_entry  const  *)*(src + 0);
  oldtree = (struct cache_entry  const  *)*(src + 1);
  newtree = (struct cache_entry  const  *)*(src + 2);
  if (o->merge_size != 2) {
    error((char const   *)"Cannot do a twoway merge of %d trees", o->merge_size);
    tmp = const_error();
    return (tmp);
  }
  if ((unsigned long )oldtree == (unsigned long )o->df_conflict_entry) {
    oldtree = (struct cache_entry  const  *)((void *)0);
  }
  if ((unsigned long )newtree == (unsigned long )o->df_conflict_entry) {
    newtree = (struct cache_entry  const  *)((void *)0);
  }
  if (current) {
    if (current->ce_flags & (unsigned int )(1 << 23)) {
      tmp___2 = same(oldtree, newtree);
      if (tmp___2) {
        goto _L;
      } else
      if (o->reset) {
        _L: /* CIL Label */
        if (! newtree) {
          tmp___0 = deleted_entry(current, current, o);
          return (tmp___0);
        } else {
          tmp___1 = merged_entry(newtree, current, o);
          return (tmp___1);
        }
      }
      tmp___3 = reject_merge(current, o);
      return (tmp___3);
    } else
    if (! oldtree) {
      if (! newtree) {
        tmp___4 = keep_entry(current, o);
        return (tmp___4);
      } else {
        goto _L___12;
      }
    } else
    _L___12: /* CIL Label */
    if (! oldtree) {
      if (newtree) {
        tmp___12 = same(current, newtree);
        if (tmp___12) {
          tmp___4 = keep_entry(current, o);
          return (tmp___4);
        } else {
          goto _L___11;
        }
      } else {
        goto _L___11;
      }
    } else
    _L___11: /* CIL Label */
    _L___10: /* CIL Label */
    if (oldtree) {
      if (newtree) {
        tmp___13 = same(oldtree, newtree);
        if (tmp___13) {
          tmp___4 = keep_entry(current, o);
          return (tmp___4);
        } else {
          goto _L___9;
        }
      } else {
        goto _L___9;
      }
    } else
    _L___9: /* CIL Label */
    _L___8: /* CIL Label */
    if (oldtree) {
      if (newtree) {
        tmp___14 = same(oldtree, newtree);
        if (tmp___14) {
          goto _L___7;
        } else {
          tmp___15 = same(current, newtree);
          if (tmp___15) {
            tmp___4 = keep_entry(current, o);
            return (tmp___4);
          } else {
            goto _L___7;
          }
        }
      } else {
        goto _L___7;
      }
    } else
    _L___7: /* CIL Label */
    _L___6: /* CIL Label */
    _L___5: /* CIL Label */
    if (oldtree) {
      if (! newtree) {
        tmp___11 = same(current, oldtree);
        if (tmp___11) {
          tmp___5 = deleted_entry(oldtree, current, o);
          return (tmp___5);
        } else {
          goto _L___4;
        }
      } else {
        goto _L___4;
      }
    } else
    _L___4: /* CIL Label */
    _L___3: /* CIL Label */
    if (oldtree) {
      if (newtree) {
        tmp___9 = same(current, oldtree);
        if (tmp___9) {
          tmp___10 = same(current, newtree);
          if (tmp___10) {
            goto _L___2;
          } else {
            tmp___6 = merged_entry(newtree, current, o);
            return (tmp___6);
          }
        } else {
          goto _L___2;
        }
      } else {
        goto _L___2;
      }
    } else
    _L___2: /* CIL Label */
    _L___1: /* CIL Label */
    _L___0: /* CIL Label */
    if (current) {
      if (! oldtree) {
        if (newtree) {
          if ((current->ce_mode == 16384U) != (newtree->ce_mode == 16384U)) {
            if ((12288U & current->ce_flags) >> 12 == 0U) {
              tmp___7 = merged_entry(newtree, current, o);
              return (tmp___7);
            } else {
              tmp___8 = reject_merge(current, o);
              return (tmp___8);
            }
          } else {
            tmp___8 = reject_merge(current, o);
            return (tmp___8);
          }
        } else {
          tmp___8 = reject_merge(current, o);
          return (tmp___8);
        }
      } else {
        tmp___8 = reject_merge(current, o);
        return (tmp___8);
      }
    } else {
      tmp___8 = reject_merge(current, o);
      return (tmp___8);
    }
  } else
  if (newtree) {
    if (oldtree) {
      if (! o->initial_checkout) {
        tmp___16 = same(oldtree, newtree);
        if (tmp___16) {
          return (1);
        }
        tmp___17 = reject_merge(oldtree, o);
        return (tmp___17);
      }
    }
    tmp___18 = merged_entry(newtree, current, o);
    return (tmp___18);
  }
  tmp___19 = deleted_entry(oldtree, current, o);
  return (tmp___19);
}
}
int bind_merge(struct cache_entry  const  **src , struct unpack_trees_options *o )
{
  struct cache_entry  const  *old ;
  struct cache_entry  const  *a ;
  int tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  old = (struct cache_entry  const  *)*(src + 0);
  a = (struct cache_entry  const  *)*(src + 1);
  if (o->merge_size != 1) {
    error((char const   *)"Cannot do a bind merge of %d trees", o->merge_size);
    tmp = const_error();
    return (tmp);
  }
  if (a) {
    if (old) {
      if (o->quiet) {
        tmp___4 = -1;
      } else {
        tmp___0 = super_prefixed((char const   *)(old->name));
        tmp___1 = super_prefixed((char const   *)(a->name));
        if (o) {
          if (o->msgs[6]) {
            tmp___2 = o->msgs[6];
          } else {
            tmp___2 = unpack_plumbing_errors[6];
          }
        } else {
          tmp___2 = unpack_plumbing_errors[6];
        }
        error(tmp___2, tmp___1, tmp___0);
        tmp___3 = const_error();
        tmp___4 = tmp___3;
      }
      return (tmp___4);
    }
  }
  if (! a) {
    tmp___5 = keep_entry(old, o);
    return (tmp___5);
  } else {
    tmp___6 = merged_entry(a, (struct cache_entry  const  *)((void *)0), o);
    return (tmp___6);
  }
}
}
int oneway_merge(struct cache_entry  const  **src , struct unpack_trees_options *o )
{
  struct cache_entry  const  *old ;
  struct cache_entry  const  *a ;
  int tmp ;
  int tmp___0 ;
  int update___1 ;
  struct stat st ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  old = (struct cache_entry  const  *)*(src + 0);
  a = (struct cache_entry  const  *)*(src + 1);
  if (o->merge_size != 1) {
    error((char const   *)"Cannot do a oneway merge of %d trees", o->merge_size);
    tmp = const_error();
    return (tmp);
  }
  if (! a) {
    tmp___0 = deleted_entry(old, old, o);
    return (tmp___0);
  } else
  if ((unsigned long )a == (unsigned long )o->df_conflict_entry) {
    tmp___0 = deleted_entry(old, old, o);
    return (tmp___0);
  }
  if (old) {
    tmp___5 = same(old, a);
    if (tmp___5) {
      update___1 = 0;
      if (o->reset) {
        if (o->update) {
          if (! (old->ce_flags & (unsigned int )(1 << 18))) {
            if (! (old->ce_flags & (unsigned int )(1 << 30))) {
              if (! (old->ce_flags & (unsigned int )(1 << 21))) {
                tmp___1 = lstat((char const   *)(old->name), & st);
                if (tmp___1) {
                  update___1 |= 1 << 16;
                } else {
                  tmp___2 = ie_match_stat(o->src_index, old, & st, 5U);
                  if (tmp___2) {
                    update___1 |= 1 << 16;
                  }
                }
              }
            }
          }
        }
      }
      if (o->update) {
        if ((old->ce_mode & 61440U) == 57344U) {
          tmp___3 = should_update_submodules();
          if (tmp___3) {
            tmp___4 = verify_uptodate(old, o);
            if (! tmp___4) {
              update___1 |= 1 << 16;
            }
          }
        }
      }
      add_entry___0(o, old, (unsigned int )update___1, 12288U);
      return (0);
    }
  }
  tmp___6 = merged_entry(a, old, o);
  return (tmp___6);
}
}
int stash_worktree_untracked_merge(struct cache_entry  const  **src , struct unpack_trees_options *o )
{
  struct cache_entry  const  *worktree ;
  struct cache_entry  const  *untracked ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  struct cache_entry  const  *tmp___2 ;
  int tmp___3 ;

  {
  worktree = (struct cache_entry  const  *)*(src + 1);
  untracked = (struct cache_entry  const  *)*(src + 2);
  if (o->merge_size != 2) {
    BUG_fl((char const   *)"unpack-trees.c", 2800, (char const   *)"invalid merge_size: %d",
           o->merge_size);
  }
  if (worktree) {
    if (untracked) {
      tmp = super_prefixed((char const   *)(worktree->name));
      tmp___0 = _((char const   *)"worktree and untracked commit have duplicate entries: %s");
      error((char const   *)tmp___0, tmp);
      tmp___1 = const_error();
      return (tmp___1);
    }
  }
  if (worktree) {
    tmp___2 = worktree;
  } else {
    tmp___2 = untracked;
  }
  tmp___3 = merged_entry(tmp___2, (struct cache_entry  const  *)((void *)0), o);
  return (tmp___3);
}
}
static double const   __ac_HASH_UPPER___98  =    (double const   )0.77;
__inline static void kh_resize_oid_set___98(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___98(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___98 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___98 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___98(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___98(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___98(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___98(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___98(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___98(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___98 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___98 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___98(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___98(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___98(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___98(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___98(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___98(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___98 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___98 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___98(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___98(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___98(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___98(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___75(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___75(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___98 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___98 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___75(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___75(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___75(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___75(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_contains_cache_with_stride___16(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___16(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___16(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___16(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___16(s___1, 1U);
  return;
}
}
static void clear_contains_cache___16(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___16(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___16(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___16(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___16(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___16(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___16(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___16(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___16(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___16(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___16(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___16(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___16(s___1, c___0, 0);
  return (tmp);
}
}
static void upload_pack_data_init(struct upload_pack_data *data )
{
  struct string_list symref ;
  struct string_list wanted_refs ;
  struct object_array want_obj ;
  struct object_array have_obj ;
  struct oid_array haves ;
  struct object_array shallows ;
  struct string_list deepen_not___0 ;
  struct string_list uri_protocols___1 ;
  struct object_array extra_edge_obj ;
  struct string_list allowed_filters ;

  {
  symref.items = (struct string_list_item *)0;
  symref.nr = 0U;
  symref.alloc = 0U;
  symref.strdup_strings = 1U;
  symref.cmp = (int (*)(char const   * , char const   * ))0;
  wanted_refs.items = (struct string_list_item *)0;
  wanted_refs.nr = 0U;
  wanted_refs.alloc = 0U;
  wanted_refs.strdup_strings = 1U;
  wanted_refs.cmp = (int (*)(char const   * , char const   * ))0;
  want_obj.nr = 0U;
  want_obj.alloc = 0U;
  want_obj.objects = (struct object_array_entry *)0;
  have_obj.nr = 0U;
  have_obj.alloc = 0U;
  have_obj.objects = (struct object_array_entry *)0;
  haves.oid = (struct object_id *)0;
  haves.nr = 0UL;
  haves.alloc = 0UL;
  haves.sorted = 0;
  shallows.nr = 0U;
  shallows.alloc = 0U;
  shallows.objects = (struct object_array_entry *)0;
  deepen_not___0.items = (struct string_list_item *)0;
  deepen_not___0.nr = 0U;
  deepen_not___0.alloc = 0U;
  deepen_not___0.strdup_strings = 1U;
  deepen_not___0.cmp = (int (*)(char const   * , char const   * ))0;
  uri_protocols___1.items = (struct string_list_item *)0;
  uri_protocols___1.nr = 0U;
  uri_protocols___1.alloc = 0U;
  uri_protocols___1.strdup_strings = 1U;
  uri_protocols___1.cmp = (int (*)(char const   * , char const   * ))0;
  extra_edge_obj.nr = 0U;
  extra_edge_obj.alloc = 0U;
  extra_edge_obj.objects = (struct object_array_entry *)0;
  allowed_filters.items = (struct string_list_item *)0;
  allowed_filters.nr = 0U;
  allowed_filters.alloc = 0U;
  allowed_filters.strdup_strings = 1U;
  allowed_filters.cmp = (int (*)(char const   * , char const   * ))0;
  memset((void *)data, 0, sizeof(*data));
  data->symref = symref;
  data->wanted_refs = wanted_refs;
  data->want_obj = want_obj;
  data->have_obj = have_obj;
  data->haves = haves;
  data->shallows = shallows;
  data->deepen_not = deepen_not___0;
  data->uri_protocols = uri_protocols___1;
  data->extra_edge_obj = extra_edge_obj;
  data->allowed_filters = allowed_filters;
  data->allow_filter_fallback = 1U;
  data->tree_filter_max_depth = 18446744073709551615UL;
  packet_writer_init(& data->writer, 1);
  data->keepalive = 5;
  data->advertise_sid = 0U;
  return;
}
}
static void upload_pack_data_clear(struct upload_pack_data *data )
{


  {
  string_list_clear(& data->symref, 1);
  string_list_clear(& data->wanted_refs, 1);
  object_array_clear(& data->want_obj);
  object_array_clear(& data->have_obj);
  oid_array_clear(& data->haves);
  object_array_clear(& data->shallows);
  string_list_clear(& data->deepen_not, 0);
  object_array_clear(& data->extra_edge_obj);
  list_objects_filter_release(& data->filter_options);
  string_list_clear(& data->allowed_filters, 0);
  free((void *)((char *)data->pack_objects_hook));
  return;
}
}
static void reset_timeout(unsigned int timeout___0 )
{


  {
  alarm(timeout___0);
  return;
}
}
static void send_client_data(int fd , char const   *data , ssize_t sz , int use_sideband___1 )
{


  {
  if (use_sideband___1) {
    send_sideband(1, fd, data, sz, use_sideband___1);
    return;
  }
  if (fd == 3) {
    fd = 2;
  }
  if (fd == 2) {
    xwrite(fd, (void const   *)data, (size_t )sz);
    return;
  }
  write_or_die(fd, (void const   *)data, (size_t )sz);
  return;
}
}
static int write_one_shallow___0(struct commit_graft  const  *graft , void *cb_data )
{
  FILE *fp ;
  char *tmp ;

  {
  fp = (FILE *)cb_data;
  if (graft->nr_parent == -1) {
    tmp = oid_to_hex((struct object_id  const  *)(& graft->oid));
    fprintf(fp, (char const   *)"--shallow %s\n", tmp);
  }
  return (0);
}
}
static int relay_pack_data(int pack_objects_out , struct output_state *os , int use_sideband___1 ,
                           int write_packfile_line )
{
  ssize_t readsz ;
  char *p___0 ;
  int tmp ;
  void *tmp___0 ;

  {
  readsz = xread(pack_objects_out, (void *)(os->buffer + os->used), sizeof(os->buffer) - (unsigned long )os->used);
  if (readsz < 0L) {
    return ((int )readsz);
  }
  os->used = (int )((ssize_t )os->used + readsz);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (! os->packfile_started)) {
      goto while_break;
    }
    if (os->used >= 4) {
      tmp = memcmp((void const   *)(os->buffer), (void const   *)"PACK", (size_t )4);
      if (! tmp) {
        os->packfile_started = 1U;
        if (write_packfile_line) {
          if (os->packfile_uris_started) {
            packet_delim(1);
          }
          packet_write_fmt(1, (char const   *)"\001packfile\n");
        }
        goto while_break;
      }
    }
    tmp___0 = memchr((void const   *)(os->buffer), '\n', (size_t )os->used);
    p___0 = (char *)tmp___0;
    if (p___0) {
      if (! os->packfile_uris_started) {
        os->packfile_uris_started = 1U;
        if (! write_packfile_line) {
          BUG_fl((char const   *)"upload-pack.c", 246, (char const   *)"packfile_uris requires sideband-all");
        }
        packet_write_fmt(1, (char const   *)"\001packfile-uris\n");
      }
      *p___0 = (char )'\000';
      packet_write_fmt(1, (char const   *)"\001%s\n", os->buffer);
      os->used = (int )((long )os->used - ((p___0 - os->buffer) + 1L));
      memmove((void *)(os->buffer), (void const   *)(p___0 + 1), (size_t )os->used);
    } else {
      return ((int )readsz);
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (os->used > 1) {
    send_client_data(1, (char const   *)(os->buffer), (ssize_t )(os->used - 1), use_sideband___1);
    os->buffer[0] = os->buffer[os->used - 1];
    os->used = 1;
  } else {
    send_client_data(1, (char const   *)(os->buffer), (ssize_t )os->used, use_sideband___1);
    os->used = 0;
  }
  return ((int )readsz);
}
}
static void create_pack_file(struct upload_pack_data *pack_data___0 , struct string_list  const  *uri_protocols___1 ) ;
static char const   buf___13[6]  = {      (char const   )'0',      (char const   )'0',      (char const   )'0',      (char const   )'5',
        (char const   )'\001',      (char const   )'\000'};
static void create_pack_file(struct upload_pack_data *pack_data___0 , struct string_list  const  *uri_protocols___1 )
{
  struct child_process pack_objects___0 ;
  struct output_state *output_state ;
  void *tmp ;
  char progress___7[128] ;
  char abort_msg[67] ;
  ssize_t sz ;
  int i ;
  FILE *pipe_fd ;
  char const   *spec ;
  char const   *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;
  struct pollfd pfd[2] ;
  int pe ;
  int pu ;
  int pollsize ;
  int polltimeout ;
  int ret___67 ;
  int *tmp___5 ;
  int result___0 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  pack_objects___0.args.v = empty_strvec;
  pack_objects___0.args.nr = 0UL;
  pack_objects___0.args.alloc = 0UL;
  pack_objects___0.env_array.v = empty_strvec;
  pack_objects___0.env_array.nr = 0UL;
  pack_objects___0.env_array.alloc = 0UL;
  pack_objects___0.pid = 0;
  pack_objects___0.trace2_child_id = 0;
  pack_objects___0.trace2_child_us_start = 0UL;
  pack_objects___0.trace2_child_class = (char const   *)0;
  pack_objects___0.trace2_hook_name = (char const   *)0;
  pack_objects___0.in = 0;
  pack_objects___0.out = 0;
  pack_objects___0.err = 0;
  pack_objects___0.dir = (char const   *)0;
  pack_objects___0.no_stdin = 0U;
  pack_objects___0.no_stdout = 0U;
  pack_objects___0.no_stderr = 0U;
  pack_objects___0.git_cmd = 0U;
  pack_objects___0.silent_exec_failure = 0U;
  pack_objects___0.use_shell = 0U;
  pack_objects___0.close_object_store = 0U;
  pack_objects___0.stdout_to_stderr = 0U;
  pack_objects___0.clean_on_exit = 0U;
  pack_objects___0.wait_after_clean = 0U;
  pack_objects___0.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  pack_objects___0.clean_on_exit_handler_cbdata = (void *)0;
  tmp = xcalloc((size_t )1, sizeof(struct output_state ));
  output_state = (struct output_state *)tmp;
  abort_msg[0] = (char )'a';
  abort_msg[1] = (char )'b';
  abort_msg[2] = (char )'o';
  abort_msg[3] = (char )'r';
  abort_msg[4] = (char )'t';
  abort_msg[5] = (char )'i';
  abort_msg[6] = (char )'n';
  abort_msg[7] = (char )'g';
  abort_msg[8] = (char )' ';
  abort_msg[9] = (char )'d';
  abort_msg[10] = (char )'u';
  abort_msg[11] = (char )'e';
  abort_msg[12] = (char )' ';
  abort_msg[13] = (char )'t';
  abort_msg[14] = (char )'o';
  abort_msg[15] = (char )' ';
  abort_msg[16] = (char )'p';
  abort_msg[17] = (char )'o';
  abort_msg[18] = (char )'s';
  abort_msg[19] = (char )'s';
  abort_msg[20] = (char )'i';
  abort_msg[21] = (char )'b';
  abort_msg[22] = (char )'l';
  abort_msg[23] = (char )'e';
  abort_msg[24] = (char )' ';
  abort_msg[25] = (char )'r';
  abort_msg[26] = (char )'e';
  abort_msg[27] = (char )'p';
  abort_msg[28] = (char )'o';
  abort_msg[29] = (char )'s';
  abort_msg[30] = (char )'i';
  abort_msg[31] = (char )'t';
  abort_msg[32] = (char )'o';
  abort_msg[33] = (char )'r';
  abort_msg[34] = (char )'y';
  abort_msg[35] = (char )' ';
  abort_msg[36] = (char )'c';
  abort_msg[37] = (char )'o';
  abort_msg[38] = (char )'r';
  abort_msg[39] = (char )'r';
  abort_msg[40] = (char )'u';
  abort_msg[41] = (char )'p';
  abort_msg[42] = (char )'t';
  abort_msg[43] = (char )'i';
  abort_msg[44] = (char )'o';
  abort_msg[45] = (char )'n';
  abort_msg[46] = (char )' ';
  abort_msg[47] = (char )'o';
  abort_msg[48] = (char )'n';
  abort_msg[49] = (char )' ';
  abort_msg[50] = (char )'t';
  abort_msg[51] = (char )'h';
  abort_msg[52] = (char )'e';
  abort_msg[53] = (char )' ';
  abort_msg[54] = (char )'r';
  abort_msg[55] = (char )'e';
  abort_msg[56] = (char )'m';
  abort_msg[57] = (char )'o';
  abort_msg[58] = (char )'t';
  abort_msg[59] = (char )'e';
  abort_msg[60] = (char )' ';
  abort_msg[61] = (char )'s';
  abort_msg[62] = (char )'i';
  abort_msg[63] = (char )'d';
  abort_msg[64] = (char )'e';
  abort_msg[65] = (char )'.';
  abort_msg[66] = (char )'\000';
  if (! pack_data___0->pack_objects_hook) {
    pack_objects___0.git_cmd = 1U;
  } else {
    strvec_push(& pack_objects___0.args, pack_data___0->pack_objects_hook);
    strvec_push(& pack_objects___0.args, (char const   *)"git");
    pack_objects___0.use_shell = 1U;
  }
  if (pack_data___0->shallow_nr) {
    strvec_push(& pack_objects___0.args, (char const   *)"--shallow-file");
    strvec_push(& pack_objects___0.args, (char const   *)"");
  }
  strvec_push(& pack_objects___0.args, (char const   *)"pack-objects");
  strvec_push(& pack_objects___0.args, (char const   *)"--revs");
  if (pack_data___0->use_thin_pack) {
    strvec_push(& pack_objects___0.args, (char const   *)"--thin");
  }
  strvec_push(& pack_objects___0.args, (char const   *)"--stdout");
  if (pack_data___0->shallow_nr) {
    strvec_push(& pack_objects___0.args, (char const   *)"--shallow");
  }
  if (! pack_data___0->no_progress) {
    strvec_push(& pack_objects___0.args, (char const   *)"--progress");
  }
  if (pack_data___0->use_ofs_delta) {
    strvec_push(& pack_objects___0.args, (char const   *)"--delta-base-offset");
  }
  if (pack_data___0->use_include_tag) {
    strvec_push(& pack_objects___0.args, (char const   *)"--include-tag");
  }
  if (pack_data___0->filter_options.choice) {
    tmp___0 = expand_list_objects_filter_spec(& pack_data___0->filter_options);
    spec = tmp___0;
    strvec_pushf(& pack_objects___0.args, (char const   *)"--filter=%s", spec);
  }
  if (uri_protocols___1) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )i < uri_protocols___1->nr)) {
        goto while_break;
      }
      strvec_pushf(& pack_objects___0.args, (char const   *)"--uri-protocol=%s", (uri_protocols___1->items + i)->string);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  pack_objects___0.in = -1;
  pack_objects___0.out = -1;
  pack_objects___0.err = -1;
  pack_objects___0.clean_on_exit = 1U;
  tmp___1 = start_command(& pack_objects___0);
  if (tmp___1) {
    die((char const   *)"git upload-pack: unable to fork git-pack-objects");
  }
  pipe_fd = xfdopen(pack_objects___0.in, (char const   *)"w");
  if (pack_data___0->shallow_nr) {
    for_each_commit_graft(& write_one_shallow___0, (void *)pipe_fd);
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < pack_data___0->want_obj.nr)) {
      goto while_break___0;
    }
    tmp___2 = oid_to_hex((struct object_id  const  *)(& ((pack_data___0->want_obj.objects + i)->item)->oid));
    fprintf(pipe_fd, (char const   *)"%s\n", tmp___2);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  fprintf(pipe_fd, (char const   *)"--not\n");
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned int )i < pack_data___0->have_obj.nr)) {
      goto while_break___1;
    }
    tmp___3 = oid_to_hex((struct object_id  const  *)(& ((pack_data___0->have_obj.objects + i)->item)->oid));
    fprintf(pipe_fd, (char const   *)"%s\n", tmp___3);
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((unsigned int )i < pack_data___0->extra_edge_obj.nr)) {
      goto while_break___2;
    }
    tmp___4 = oid_to_hex((struct object_id  const  *)(& ((pack_data___0->extra_edge_obj.objects + i)->item)->oid));
    fprintf(pipe_fd, (char const   *)"%s\n", tmp___4);
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  fprintf(pipe_fd, (char const   *)"\n");
  fflush(pipe_fd);
  fclose(pipe_fd);
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    reset_timeout(pack_data___0->timeout);
    pollsize = 0;
    pu = -1;
    pe = pu;
    if (0 <= pack_objects___0.out) {
      pfd[pollsize].fd = pack_objects___0.out;
      pfd[pollsize].events = (short)1;
      pu = pollsize;
      pollsize ++;
    }
    if (0 <= pack_objects___0.err) {
      pfd[pollsize].fd = pack_objects___0.err;
      pfd[pollsize].events = (short)1;
      pe = pollsize;
      pollsize ++;
    }
    if (! pollsize) {
      goto while_break___3;
    }
    if (pack_data___0->keepalive < 0) {
      polltimeout = -1;
    } else {
      polltimeout = 1000 * pack_data___0->keepalive;
    }
    ret___67 = poll(pfd, (nfds_t )pollsize, polltimeout);
    if (ret___67 < 0) {
      tmp___5 = __errno_location();
      if (*tmp___5 != 4) {
        error_errno((char const   *)"poll failed, resuming");
        const_error();
        sleep(1U);
      }
      goto while_continue___3;
    }
    if (0 <= pe) {
      if ((int )pfd[pe].revents & 17) {
        sz = xread(pack_objects___0.err, (void *)(progress___7), sizeof(progress___7));
        if (0L < sz) {
          send_client_data(2, (char const   *)(progress___7), sz, pack_data___0->use_sideband);
        } else
        if (sz == 0L) {
          close(pack_objects___0.err);
          pack_objects___0.err = -1;
        } else {
          goto fail;
        }
        goto while_continue___3;
      }
    }
    if (0 <= pu) {
      if ((int )pfd[pu].revents & 17) {
        tmp___6 = relay_pack_data(pack_objects___0.out, output_state, pack_data___0->use_sideband,
                                  ! (! uri_protocols___1));
        result___0 = tmp___6;
        if (result___0 == 0) {
          close(pack_objects___0.out);
          pack_objects___0.out = -1;
        } else
        if (result___0 < 0) {
          goto fail;
        }
      }
    }
    if (! ret___67) {
      if (pack_data___0->use_sideband) {
        write_or_die(1, (void const   *)(buf___13), (size_t )5);
      }
    }
  }
  while_break___3: /* CIL Label */ ;
  }
  tmp___7 = finish_command(& pack_objects___0);
  if (tmp___7) {
    error((char const   *)"git upload-pack: git-pack-objects died with error.");
    const_error();
    goto fail;
  }
  if (output_state->used > 0) {
    send_client_data(1, (char const   *)(output_state->buffer), (ssize_t )output_state->used,
                     pack_data___0->use_sideband);
    fprintf(stderr, (char const   *)"flushed.\n");
  }
  free((void *)output_state);
  if (pack_data___0->use_sideband) {
    packet_flush(1);
  }
  return;
  fail:
  send_client_data(3, (char const   *)(abort_msg), (ssize_t )sizeof(abort_msg), pack_data___0->use_sideband);
  die((char const   *)"git upload-pack: %s", abort_msg);
}
}
static int do_got_oid(struct upload_pack_data *data , struct object_id  const  *oid )
{
  int we_knew_they_have ;
  struct object *o ;
  struct object *tmp ;
  char *tmp___0 ;
  struct commit_list *parents ;
  struct commit *commit ;

  {
  we_knew_they_have = 0;
  tmp = parse_object(the_repository, oid);
  o = tmp;
  if (! o) {
    tmp___0 = oid_to_hex(oid);
    die((char const   *)"oops (%s)", tmp___0);
  }
  if (o->type == 1U) {
    commit = (struct commit *)o;
    if (o->flags & (1u << 11)) {
      we_knew_they_have = 1;
    } else {
      o->flags |= 1u << 11;
    }
    if (! data->oldest_have) {
      data->oldest_have = commit->date;
    } else
    if (commit->date < data->oldest_have) {
      data->oldest_have = commit->date;
    }
    parents = commit->parents;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! parents) {
        goto while_break;
      }
      (parents->item)->object.flags |= 1u << 11;
      parents = parents->next;
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (! we_knew_they_have) {
    add_object_array(o, (char const   *)((void *)0), & data->have_obj);
    return (1);
  }
  return (0);
}
}
static int got_oid(struct upload_pack_data *data , char const   *hex___3 , struct object_id *oid )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = get_oid_hex(hex___3, oid);
  if (tmp) {
    die((char const   *)"git upload-pack: expected SHA1 object, got \'%s\'", hex___3);
  }
  tmp___0 = repo_has_object_file_with_flags(the_repository, (struct object_id  const  *)oid,
                                            40);
  if (! tmp___0) {
    return (-1);
  }
  tmp___1 = do_got_oid(data, (struct object_id  const  *)oid);
  return (tmp___1);
}
}
static int ok_to_give_up(struct upload_pack_data *data )
{
  timestamp_t min_generation ;
  int tmp ;

  {
  min_generation = (timestamp_t )0;
  if (! data->have_obj.nr) {
    return (0);
  }
  tmp = can_all_from_reach_with_flag(& data->want_obj, 1u << 11, 1u << 14, (time_t )data->oldest_have,
                                     min_generation);
  return (tmp);
}
}
static int get_common_commits(struct upload_pack_data *data , struct packet_reader *reader )
{
  struct object_id oid ;
  char last_hex[65] ;
  int got_common ;
  int got_other ;
  int sent_ready ;
  char const   *arg ;
  int tmp ;
  int tmp___0 ;
  enum packet_read_status tmp___1 ;
  int tmp___2 ;
  char const   *hex___3 ;
  char *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  got_common = 0;
  got_other = 0;
  sent_ready = 0;
  save_commit_buffer = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    reset_timeout(data->timeout);
    tmp___1 = packet_reader_read(reader);
    if ((unsigned int )tmp___1 != 1U) {
      if ((unsigned int )data->multi_ack == 2U) {
        if (got_common) {
          if (! got_other) {
            tmp = ok_to_give_up(data);
            if (tmp) {
              sent_ready = 1;
              packet_write_fmt(1, (char const   *)"ACK %s ready\n", last_hex);
            }
          }
        }
      }
      if (data->have_obj.nr == 0U) {
        packet_write_fmt(1, (char const   *)"NAK\n");
      } else
      if (data->multi_ack) {
        packet_write_fmt(1, (char const   *)"NAK\n");
      }
      if (data->no_done) {
        if (sent_ready) {
          packet_write_fmt(1, (char const   *)"ACK %s\n", last_hex);
          return (0);
        }
      }
      if (data->stateless_rpc) {
        tmp___0 = trace2_cmd_exit_fl((char const   *)"upload-pack.c", 546, 0);
        exit(tmp___0);
      }
      got_common = 0;
      got_other = 0;
      goto __Cont;
    }
    tmp___5 = skip_prefix(reader->line, (char const   *)"have ", & arg);
    if (tmp___5) {
      tmp___2 = got_oid(data, arg, & oid);
      {
      if (tmp___2 == -1) {
        goto case_neg_1;
      }
      goto switch_default;
      case_neg_1: /* CIL Label */
      got_other = 1;
      if (data->multi_ack) {
        tmp___4 = ok_to_give_up(data);
        if (tmp___4) {
          tmp___3 = oid_to_hex((struct object_id  const  *)(& oid));
          hex___3 = (char const   *)tmp___3;
          if ((unsigned int )data->multi_ack == 2U) {
            sent_ready = 1;
            packet_write_fmt(1, (char const   *)"ACK %s ready\n", hex___3);
          } else {
            packet_write_fmt(1, (char const   *)"ACK %s continue\n", hex___3);
          }
        }
      }
      goto switch_break;
      switch_default: /* CIL Label */
      got_common = 1;
      oid_to_hex_r(last_hex, (struct object_id  const  *)(& oid));
      if ((unsigned int )data->multi_ack == 2U) {
        packet_write_fmt(1, (char const   *)"ACK %s common\n", last_hex);
      } else
      if (data->multi_ack) {
        packet_write_fmt(1, (char const   *)"ACK %s continue\n", last_hex);
      } else
      if (data->have_obj.nr == 1U) {
        packet_write_fmt(1, (char const   *)"ACK %s\n", last_hex);
      }
      goto switch_break;
      switch_break: /* CIL Label */ ;
      }
      goto __Cont;
    }
    tmp___6 = strcmp(reader->line, (char const   *)"done");
    if (! tmp___6) {
      if (data->have_obj.nr > 0U) {
        if (data->multi_ack) {
          packet_write_fmt(1, (char const   *)"ACK %s\n", last_hex);
        }
        return (0);
      }
      packet_write_fmt(1, (char const   *)"NAK\n");
      return (-1);
    }
    die((char const   *)"git upload-pack: expected SHA1 list, got \'%s\'", reader->line);
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int is_our_ref(struct object *o , enum allow_uor allow_uor )
{
  int allow_hidden_ref ;
  unsigned int tmp ;

  {
  allow_hidden_ref = (int )((unsigned int )allow_uor & 3U);
  if (allow_hidden_ref) {
    tmp = 1u << 19;
  } else {
    tmp = 0U;
  }
  return ((int )(o->flags & (tmp | (1u << 12))));
}
}
static int do_reachable_revlist(struct child_process *cmd , struct object_array *src ,
                                struct object_array *reachable , enum allow_uor allow_uor )
{
  struct object *o ;
  FILE *cmd_in ;
  int i ;
  int tmp ;
  unsigned int tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  cmd_in = (FILE *)((void *)0);
  strvec_pushl(& cmd->args, "rev-list", "--stdin", (void *)0);
  cmd->git_cmd = 1U;
  cmd->no_stderr = 1U;
  cmd->in = -1;
  cmd->out = -1;
  sigchain_push(13, (void (*)(int  ))1);
  tmp = start_command(cmd);
  if (tmp) {
    goto error;
  }
  cmd_in = xfdopen(cmd->in, (char const   *)"w");
  tmp___0 = get_max_object_index();
  i = (int )tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (0 < i)) {
      goto while_break;
    }
    i --;
    o = get_indexed_object((unsigned int )i);
    if (! o) {
      goto __Cont;
    }
    if (reachable) {
      if (o->type == 1U) {
        o->flags &= ~ (1u << 4);
      }
    }
    tmp___1 = is_our_ref(o, allow_uor);
    if (! tmp___1) {
      goto __Cont;
    }
    tmp___2 = oid_to_hex((struct object_id  const  *)(& o->oid));
    tmp___3 = fprintf(cmd_in, (char const   *)"^%s\n", tmp___2);
    if (tmp___3 < 0) {
      goto error;
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < src->nr)) {
      goto while_break___0;
    }
    o = (src->objects + i)->item;
    tmp___4 = is_our_ref(o, allow_uor);
    if (tmp___4) {
      if (reachable) {
        add_object_array(o, (char const   *)((void *)0), reachable);
      }
      goto __Cont___0;
    }
    if (reachable) {
      if (o->type == 1U) {
        o->flags |= 1u << 4;
      }
    }
    tmp___5 = oid_to_hex((struct object_id  const  *)(& o->oid));
    tmp___6 = fprintf(cmd_in, (char const   *)"%s\n", tmp___5);
    if (tmp___6 < 0) {
      goto error;
    }
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___7 = ferror(cmd_in);
  if (tmp___7) {
    goto error;
  } else {
    tmp___8 = fflush(cmd_in);
    if (tmp___8) {
      goto error;
    }
  }
  fclose(cmd_in);
  cmd->in = -1;
  sigchain_pop(13);
  return (0);
  error:
  sigchain_pop(13);
  if (cmd_in) {
    fclose(cmd_in);
  }
  if (cmd->out >= 0) {
    close(cmd->out);
  }
  return (-1);
}
}
static int get_reachable_list(struct upload_pack_data *data , struct object_array *reachable )
{
  struct child_process cmd ;
  int i ;
  struct object *o ;
  char namebuf[66] ;
  unsigned int hexsz ;
  int tmp ;
  struct object_id oid ;
  char const   *p___0 ;
  int tmp___0 ;
  ssize_t tmp___1 ;
  unsigned int tmp___2 ;
  int tmp___3 ;

  {
  cmd.args.v = empty_strvec;
  cmd.args.nr = 0UL;
  cmd.args.alloc = 0UL;
  cmd.env_array.v = empty_strvec;
  cmd.env_array.nr = 0UL;
  cmd.env_array.alloc = 0UL;
  cmd.pid = 0;
  cmd.trace2_child_id = 0;
  cmd.trace2_child_us_start = 0UL;
  cmd.trace2_child_class = (char const   *)0;
  cmd.trace2_hook_name = (char const   *)0;
  cmd.in = 0;
  cmd.out = 0;
  cmd.err = 0;
  cmd.dir = (char const   *)0;
  cmd.no_stdin = 0U;
  cmd.no_stdout = 0U;
  cmd.no_stderr = 0U;
  cmd.git_cmd = 0U;
  cmd.silent_exec_failure = 0U;
  cmd.use_shell = 0U;
  cmd.close_object_store = 0U;
  cmd.stdout_to_stderr = 0U;
  cmd.clean_on_exit = 0U;
  cmd.wait_after_clean = 0U;
  cmd.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cmd.clean_on_exit_handler_cbdata = (void *)0;
  hexsz = (unsigned int )(the_repository->hash_algo)->hexsz;
  tmp = do_reachable_revlist(& cmd, & data->shallows, reachable, data->allow_uor);
  if (tmp < 0) {
    return (-1);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = read_in_full(cmd.out, (void *)(namebuf), (size_t )(hexsz + 1U));
    i = (int )tmp___1;
    if (! ((unsigned int )i == hexsz + 1U)) {
      goto while_break;
    }
    tmp___0 = parse_oid_hex((char const   *)(namebuf), & oid, & p___0);
    if (tmp___0) {
      goto while_break;
    } else
    if ((int const   )*p___0 != 10) {
      goto while_break;
    }
    o = lookup_object(the_repository, (struct object_id  const  *)(& oid));
    if (o) {
      if (o->type == 1U) {
        o->flags &= ~ (1u << 4);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = get_max_object_index();
  i = (int )tmp___2;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (0 < i)) {
      goto while_break___0;
    }
    o = get_indexed_object((unsigned int )(i - 1));
    if (o) {
      if (o->type == 1U) {
        if (o->flags & (1u << 4)) {
          add_object_array(o, (char const   *)((void *)0), reachable);
          o->flags &= ~ (1u << 4);
        }
      }
    }
    i --;
  }
  while_break___0: /* CIL Label */ ;
  }
  close(cmd.out);
  tmp___3 = finish_command(& cmd);
  if (tmp___3) {
    return (-1);
  }
  return (0);
}
}
static int has_unreachable(struct object_array *src , enum allow_uor allow_uor )
{
  struct child_process cmd ;
  char buf___19[1] ;
  int i ;
  int tmp ;
  ssize_t tmp___0 ;
  int tmp___1 ;

  {
  cmd.args.v = empty_strvec;
  cmd.args.nr = 0UL;
  cmd.args.alloc = 0UL;
  cmd.env_array.v = empty_strvec;
  cmd.env_array.nr = 0UL;
  cmd.env_array.alloc = 0UL;
  cmd.pid = 0;
  cmd.trace2_child_id = 0;
  cmd.trace2_child_us_start = 0UL;
  cmd.trace2_child_class = (char const   *)0;
  cmd.trace2_hook_name = (char const   *)0;
  cmd.in = 0;
  cmd.out = 0;
  cmd.err = 0;
  cmd.dir = (char const   *)0;
  cmd.no_stdin = 0U;
  cmd.no_stdout = 0U;
  cmd.no_stderr = 0U;
  cmd.git_cmd = 0U;
  cmd.silent_exec_failure = 0U;
  cmd.use_shell = 0U;
  cmd.close_object_store = 0U;
  cmd.stdout_to_stderr = 0U;
  cmd.clean_on_exit = 0U;
  cmd.wait_after_clean = 0U;
  cmd.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cmd.clean_on_exit_handler_cbdata = (void *)0;
  tmp = do_reachable_revlist(& cmd, src, (struct object_array *)((void *)0), allow_uor);
  if (tmp < 0) {
    return (1);
  }
  tmp___0 = read_in_full(cmd.out, (void *)(buf___19), (size_t )1);
  i = (int )tmp___0;
  if (i) {
    goto error;
  }
  close(cmd.out);
  cmd.out = -1;
  tmp___1 = finish_command(& cmd);
  if (tmp___1) {
    goto error;
  }
  return (0);
  error:
  if (cmd.out >= 0) {
    close(cmd.out);
  }
  return (1);
}
}
static void check_non_tip(struct upload_pack_data *data )
{
  int i ;
  int tmp ;
  struct object *o ;
  char *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  if (! data->stateless_rpc) {
    if (! ((unsigned int )data->allow_uor & 2U)) {
      goto error;
    }
  }
  tmp = has_unreachable(& data->want_obj, data->allow_uor);
  if (! tmp) {
    return;
  }
  error:
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < data->want_obj.nr)) {
      goto while_break;
    }
    o = (data->want_obj.objects + i)->item;
    tmp___2 = is_our_ref(o, data->allow_uor);
    if (! tmp___2) {
      tmp___0 = oid_to_hex((struct object_id  const  *)(& o->oid));
      packet_writer_error(& data->writer, (char const   *)"upload-pack: not our ref %s",
                          tmp___0);
      tmp___1 = oid_to_hex((struct object_id  const  *)(& o->oid));
      die((char const   *)"git upload-pack: not our ref %s", tmp___1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void send_shallow(struct upload_pack_data *data , struct commit_list *result___0 )
{
  struct object *object ;
  char *tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! result___0) {
      goto while_break;
    }
    object = & (result___0->item)->object;
    if (! (object->flags & ((1u << 18) | (1u << 17)))) {
      tmp = oid_to_hex((struct object_id  const  *)(& object->oid));
      packet_writer_write(& data->writer, (char const   *)"shallow %s", tmp);
      register_shallow(the_repository, (struct object_id  const  *)(& object->oid));
      (data->shallow_nr) ++;
    }
    result___0 = result___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void send_unshallow(struct upload_pack_data *data )
{
  int i ;
  struct object *object ;
  struct commit_list *parents ;
  char *tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < data->shallows.nr)) {
      goto while_break;
    }
    object = (data->shallows.objects + i)->item;
    if (object->flags & (1u << 17)) {
      tmp = oid_to_hex((struct object_id  const  *)(& object->oid));
      packet_writer_write(& data->writer, (char const   *)"unshallow %s", tmp);
      object->flags &= ~ (1u << 18);
      unregister_shallow((struct object_id  const  *)(& object->oid));
      object->parsed = 0U;
      parse_commit_or_die((struct commit *)object);
      parents = ((struct commit *)object)->parents;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! parents) {
          goto while_break___0;
        }
        add_object_array(& (parents->item)->object, (char const   *)((void *)0), & data->want_obj);
        parents = parents->next;
      }
      while_break___0: /* CIL Label */ ;
      }
      add_object_array(object, (char const   *)((void *)0), & data->extra_edge_obj);
    }
    register_shallow(the_repository, (struct object_id  const  *)(& object->oid));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int check_ref___0(char const   *refname_full , struct object_id  const  *oid ,
                         int flag , void *cb_data ) ;
static void deepen(struct upload_pack_data *data , int depth___1 )
{
  int i ;
  struct object *object ;
  struct object_array reachable_shallows ;
  struct commit_list *result___0 ;
  struct commit_list *result___1 ;
  int tmp ;

  {
  if (depth___1 == 0x7fffffff) {
    tmp = is_repository_shallow(the_repository);
    if (tmp) {
      goto _L;
    } else {
      i = 0;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! ((unsigned int )i < data->shallows.nr)) {
          goto while_break;
        }
        object = (data->shallows.objects + i)->item;
        object->flags |= 1u << 17;
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
    }
  } else
  _L: /* CIL Label */
  if (data->deepen_relative) {
    reachable_shallows.nr = 0U;
    reachable_shallows.alloc = 0U;
    reachable_shallows.objects = (struct object_array_entry *)0;
    head_ref_namespaced(& check_ref___0, (void *)0);
    for_each_namespaced_ref(& check_ref___0, (void *)0);
    get_reachable_list(data, & reachable_shallows);
    result___0 = get_shallow_commits(& reachable_shallows, depth___1 + 1, (int )(1u << 16),
                                     (int )(1u << 17));
    send_shallow(data, result___0);
    free_commit_list(result___0);
    object_array_clear(& reachable_shallows);
  } else {
    result___1 = get_shallow_commits(& data->want_obj, depth___1, (int )(1u << 16),
                                     (int )(1u << 17));
    send_shallow(data, result___1);
    free_commit_list(result___1);
  }
  send_unshallow(data);
  return;
}
}
static void deepen_by_rev_list(struct upload_pack_data *data , int ac , char const   **av )
{
  struct commit_list *result___0 ;

  {
  disable_commit_graph(the_repository);
  result___0 = get_shallow_commits_by_rev_list(ac, av, (int )(1u << 16), (int )(1u << 17));
  send_shallow(data, result___0);
  free_commit_list(result___0);
  send_unshallow(data);
  return;
}
}
static int send_shallow_list(struct upload_pack_data *data )
{
  int ret___67 ;
  struct strvec av ;
  int i ;
  struct string_list_item *s___1 ;
  struct object *o ;
  char *tmp ;
  int i___0 ;

  {
  ret___67 = 0;
  if (data->depth > 0) {
    if (data->deepen_rev_list) {
      die((char const   *)"git upload-pack: deepen and deepen-since (or deepen-not) cannot be used together");
    }
  }
  if (data->depth > 0) {
    deepen(data, data->depth);
    ret___67 = 1;
  } else
  if (data->deepen_rev_list) {
    av.v = empty_strvec;
    av.nr = 0UL;
    av.alloc = 0UL;
    strvec_push(& av, (char const   *)"rev-list");
    if (data->deepen_since) {
      strvec_pushf(& av, (char const   *)"--max-age=%lu", data->deepen_since);
    }
    if (data->deepen_not.nr) {
      strvec_push(& av, (char const   *)"--not");
      i = 0;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! ((unsigned int )i < data->deepen_not.nr)) {
          goto while_break;
        }
        s___1 = data->deepen_not.items + i;
        strvec_push(& av, (char const   *)s___1->string);
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
      strvec_push(& av, (char const   *)"--not");
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned int )i < data->want_obj.nr)) {
        goto while_break___0;
      }
      o = (data->want_obj.objects + i)->item;
      tmp = oid_to_hex((struct object_id  const  *)(& o->oid));
      strvec_push(& av, (char const   *)tmp);
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    deepen_by_rev_list(data, (int )av.nr, av.v);
    strvec_clear(& av);
    ret___67 = 1;
  } else
  if (data->shallows.nr > 0U) {
    i___0 = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((unsigned int )i___0 < data->shallows.nr)) {
        goto while_break___1;
      }
      register_shallow(the_repository, (struct object_id  const  *)(& ((data->shallows.objects + i___0)->item)->oid));
      i___0 ++;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  data->shallow_nr = (int )((unsigned int )data->shallow_nr + data->shallows.nr);
  return (ret___67);
}
}
static int process_shallow___0(char const   *line___0 , struct object_array *shallows )
{
  char const   *arg ;
  struct object_id oid ;
  struct object *object ;
  int tmp ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  tmp___1 = skip_prefix(line___0, (char const   *)"shallow ", & arg);
  if (tmp___1) {
    tmp = get_oid_hex(arg, & oid);
    if (tmp) {
      die((char const   *)"invalid shallow line: %s", line___0);
    }
    object = parse_object(the_repository, (struct object_id  const  *)(& oid));
    if (! object) {
      return (1);
    }
    if (object->type != 1U) {
      tmp___0 = oid_to_hex((struct object_id  const  *)(& oid));
      die((char const   *)"invalid shallow object %s", tmp___0);
    }
    if (! (object->flags & (1u << 18))) {
      object->flags |= 1u << 18;
      add_object_array(object, (char const   *)((void *)0), shallows);
    }
    return (1);
  }
  return (0);
}
}
static int process_deepen(char const   *line___0 , int *depth___1 )
{
  char const   *arg ;
  char *end ;
  long tmp ;
  int tmp___0 ;

  {
  tmp___0 = skip_prefix(line___0, (char const   *)"deepen ", & arg);
  if (tmp___0) {
    end = (char *)((void *)0);
    tmp = strtol((char const   * __restrict  )arg, (char ** __restrict  )(& end),
                 0);
    *depth___1 = (int )tmp;
    if (! end) {
      die((char const   *)"Invalid deepen: %s", line___0);
    } else
    if (*end) {
      die((char const   *)"Invalid deepen: %s", line___0);
    } else
    if (*depth___1 <= 0) {
      die((char const   *)"Invalid deepen: %s", line___0);
    }
    return (1);
  }
  return (0);
}
}
static int process_deepen_since(char const   *line___0 , timestamp_t *deepen_since___0 ,
                                int *deepen_rev_list )
{
  char const   *arg ;
  char *end ;
  int tmp ;

  {
  tmp = skip_prefix(line___0, (char const   *)"deepen-since ", & arg);
  if (tmp) {
    end = (char *)((void *)0);
    *deepen_since___0 = strtoumax(arg, & end, 0);
    if (! end) {
      die((char const   *)"Invalid deepen-since: %s", line___0);
    } else
    if (*end) {
      die((char const   *)"Invalid deepen-since: %s", line___0);
    } else
    if (! deepen_since___0) {
      die((char const   *)"Invalid deepen-since: %s", line___0);
    } else
    if (*deepen_since___0 == 18446744073709551615UL) {
      die((char const   *)"Invalid deepen-since: %s", line___0);
    }
    *deepen_rev_list = 1;
    return (1);
  }
  return (0);
}
}
static int process_deepen_not(char const   *line___0 , struct string_list *deepen_not___0 ,
                              int *deepen_rev_list )
{
  char const   *arg ;
  char *ref ;
  struct object_id oid ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp___1 = skip_prefix(line___0, (char const   *)"deepen-not ", & arg);
  if (tmp___1) {
    ref = (char *)((void *)0);
    tmp = strlen(arg);
    tmp___0 = expand_ref(the_repository, arg, (int )tmp, & oid, & ref);
    if (tmp___0 != 1) {
      die((char const   *)"git upload-pack: ambiguous deepen-not: %s", line___0);
    }
    string_list_append(deepen_not___0, (char const   *)ref);
    free((void *)ref);
    *deepen_rev_list = 1;
    return (1);
  }
  return (0);
}
}
static void ( /* format attribute */  send_err_and_die)(struct upload_pack_data *data ,
                                                        char const   *fmt  , ...)  __attribute__((__noreturn__)) ;
static void ( /* format attribute */  send_err_and_die)(struct upload_pack_data *data ,
                                                        char const   *fmt  , ...)
{
  struct strbuf buf___19 ;
  va_list ap ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  __builtin_va_start(ap, fmt);
  strbuf_vaddf(& buf___19, fmt, ap);
  __builtin_va_end(ap);
  packet_writer_error(& data->writer, (char const   *)"%s", buf___19.buf);
  die((char const   *)"%s", buf___19.buf);
}
}
static void check_one_filter(struct upload_pack_data *data , struct list_objects_filter_options *opts___1 )
{
  char const   *key___1 ;
  char const   *tmp ;
  struct string_list_item *item___0 ;
  struct string_list_item *tmp___0 ;
  int allowed___0 ;

  {
  tmp = list_object_filter_config_name(opts___1->choice);
  key___1 = tmp;
  tmp___0 = string_list_lookup(& data->allowed_filters, key___1);
  item___0 = tmp___0;
  if (item___0) {
    allowed___0 = (int )((intptr_t )item___0->util);
  } else {
    allowed___0 = (int )data->allow_filter_fallback;
  }
  if (! allowed___0) {
    send_err_and_die(data, (char const   *)"filter \'%s\' not supported", key___1);
  }
  if ((unsigned int )opts___1->choice == 3U) {
    if (opts___1->tree_exclude_depth > data->tree_filter_max_depth) {
      send_err_and_die(data, (char const   *)"tree filter allows max depth %lu, but got %lu",
                       data->tree_filter_max_depth, opts___1->tree_exclude_depth);
    }
  }
  return;
}
}
static void check_filter_recurse(struct upload_pack_data *data , struct list_objects_filter_options *opts___1 )
{
  size_t i ;

  {
  check_one_filter(data, opts___1);
  if ((unsigned int )opts___1->choice != 6U) {
    return;
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < opts___1->sub_nr)) {
      goto while_break;
    }
    check_filter_recurse(data, opts___1->sub + i);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void die_if_using_banned_filter(struct upload_pack_data *data )
{


  {
  check_filter_recurse(data, & data->filter_options);
  return;
}
}
static void receive_needs(struct upload_pack_data *data , struct packet_reader *reader )
{
  int has_non_tip ;
  struct object *o ;
  char const   *features ;
  struct object_id oid_buf ;
  char const   *arg ;
  int feature_len ;
  enum packet_read_status tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  char *client_sid ;
  char *tmp___18 ;
  char *tmp___19 ;
  char *tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;

  {
  has_non_tip = 0;
  data->shallow_nr = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    reset_timeout(data->timeout);
    tmp = packet_reader_read(reader);
    if ((unsigned int )tmp != 1U) {
      goto while_break;
    }
    tmp___0 = process_shallow___0(reader->line, & data->shallows);
    if (tmp___0) {
      goto __Cont;
    }
    tmp___1 = process_deepen(reader->line, & data->depth);
    if (tmp___1) {
      goto __Cont;
    }
    tmp___2 = process_deepen_since(reader->line, & data->deepen_since, & data->deepen_rev_list);
    if (tmp___2) {
      goto __Cont;
    }
    tmp___3 = process_deepen_not(reader->line, & data->deepen_not, & data->deepen_rev_list);
    if (tmp___3) {
      goto __Cont;
    }
    tmp___4 = skip_prefix(reader->line, (char const   *)"filter ", & arg);
    if (tmp___4) {
      if (! data->filter_capability_requested) {
        die((char const   *)"git upload-pack: filtering capability not negotiated");
      }
      list_objects_filter_die_if_populated(& data->filter_options);
      parse_list_objects_filter(& data->filter_options, arg);
      die_if_using_banned_filter(data);
      goto __Cont;
    }
    tmp___5 = skip_prefix(reader->line, (char const   *)"want ", & arg);
    if (tmp___5) {
      tmp___6 = parse_oid_hex(arg, & oid_buf, & features);
      if (tmp___6) {
        die((char const   *)"git upload-pack: protocol error, expected to get object ID, not \'%s\'",
            reader->line);
      }
    } else {
      die((char const   *)"git upload-pack: protocol error, expected to get object ID, not \'%s\'",
          reader->line);
    }
    tmp___7 = parse_feature_request(features, (char const   *)"deepen-relative");
    if (tmp___7) {
      data->deepen_relative = 1;
    }
    tmp___9 = parse_feature_request(features, (char const   *)"multi_ack_detailed");
    if (tmp___9) {
      data->multi_ack = (enum __anonenum_multi_ack_461753967 )2;
    } else {
      tmp___8 = parse_feature_request(features, (char const   *)"multi_ack");
      if (tmp___8) {
        data->multi_ack = (enum __anonenum_multi_ack_461753967 )1;
      }
    }
    tmp___10 = parse_feature_request(features, (char const   *)"no-done");
    if (tmp___10) {
      data->no_done = 1U;
    }
    tmp___11 = parse_feature_request(features, (char const   *)"thin-pack");
    if (tmp___11) {
      data->use_thin_pack = 1U;
    }
    tmp___12 = parse_feature_request(features, (char const   *)"ofs-delta");
    if (tmp___12) {
      data->use_ofs_delta = 1U;
    }
    tmp___14 = parse_feature_request(features, (char const   *)"side-band-64k");
    if (tmp___14) {
      data->use_sideband = 65520;
    } else {
      tmp___13 = parse_feature_request(features, (char const   *)"side-band");
      if (tmp___13) {
        data->use_sideband = 1000;
      }
    }
    tmp___15 = parse_feature_request(features, (char const   *)"no-progress");
    if (tmp___15) {
      data->no_progress = 1U;
    }
    tmp___16 = parse_feature_request(features, (char const   *)"include-tag");
    if (tmp___16) {
      data->use_include_tag = 1U;
    }
    if (data->allow_filter) {
      tmp___17 = parse_feature_request(features, (char const   *)"filter");
      if (tmp___17) {
        data->filter_capability_requested = 1U;
      }
    }
    arg = parse_feature_value(features, (char const   *)"session-id", & feature_len,
                              (int *)((void *)0));
    if (arg) {
      tmp___18 = xstrndup(arg, (size_t )feature_len);
      client_sid = tmp___18;
      trace2_data_string_fl((char const   *)"upload-pack.c", 1116, (char const   *)"transfer",
                            (struct repository  const  *)((void *)0), (char const   *)"client-sid",
                            (char const   *)client_sid);
      free((void *)client_sid);
    }
    o = parse_object(the_repository, (struct object_id  const  *)(& oid_buf));
    if (! o) {
      tmp___19 = oid_to_hex((struct object_id  const  *)(& oid_buf));
      packet_writer_error(& data->writer, (char const   *)"upload-pack: not our ref %s",
                          tmp___19);
      tmp___20 = oid_to_hex((struct object_id  const  *)(& oid_buf));
      die((char const   *)"git upload-pack: not our ref %s", tmp___20);
    }
    if (! (o->flags & (1u << 13))) {
      o->flags |= 1u << 13;
      if (! (((unsigned int )data->allow_uor & 7U) == 7U)) {
        tmp___21 = is_our_ref(o, data->allow_uor);
        if (! tmp___21) {
          has_non_tip = 1;
        }
      }
      add_object_array(o, (char const   *)((void *)0), & data->want_obj);
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  if (has_non_tip) {
    check_non_tip(data);
  }
  if (! data->use_sideband) {
    if (data->daemon_mode) {
      data->no_progress = 1U;
    }
  }
  if (data->depth == 0) {
    if (! data->deepen_rev_list) {
      if (data->shallows.nr == 0U) {
        return;
      }
    }
  }
  tmp___22 = send_shallow_list(data);
  if (tmp___22) {
    packet_flush(1);
  }
  return;
}
}
static int mark_our_ref(char const   *refname , char const   *refname_full , struct object_id  const  *oid )
{
  struct object *o ;
  struct object *tmp ;
  int tmp___0 ;

  {
  tmp = lookup_unknown_object(the_repository, oid);
  o = tmp;
  tmp___0 = ref_is_hidden(refname, refname_full);
  if (tmp___0) {
    o->flags |= 1u << 19;
    return (1);
  }
  o->flags |= 1u << 12;
  return (0);
}
}
static int check_ref___0(char const   *refname_full , struct object_id  const  *oid ,
                         int flag , void *cb_data )
{
  char const   *refname ;
  char const   *tmp ;

  {
  tmp = strip_namespace(refname_full);
  refname = tmp;
  mark_our_ref(refname, refname_full, oid);
  return (0);
}
}
static void format_symref_info(struct strbuf *buf___19 , struct string_list *symref )
{
  struct string_list_item *item___0 ;

  {
  if (! symref->nr) {
    return;
  }
  item___0 = symref->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(symref->items + symref->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    strbuf_addf(buf___19, (char const   *)" symref=%s:%s", item___0->string, (char *)item___0->util);
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void format_session_id(struct strbuf *buf___19 , struct upload_pack_data *d )
{
  char const   *tmp ;

  {
  if (d->advertise_sid) {
    tmp = trace2_session_id();
    strbuf_addf(buf___19, (char const   *)" session-id=%s", tmp);
  }
  return;
}
}
static int send_ref___0(char const   *refname , struct object_id  const  *oid , int flag ,
                        void *cb_data ) ;
static char const   *capabilities___1  =    (char const   *)"multi_ack thin-pack side-band side-band-64k ofs-delta shallow deepen-since deepen-not deepen-relative no-progress include-tag multi_ack_detailed";
static int send_ref___0(char const   *refname , struct object_id  const  *oid , int flag ,
                        void *cb_data )
{
  char const   *refname_nons ;
  char const   *tmp ;
  struct object_id peeled ;
  struct upload_pack_data *data ;
  int tmp___0 ;
  struct strbuf symref_info ;
  struct strbuf session_id ;
  char const   *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;
  char *tmp___5 ;
  char *tmp___6 ;
  char *tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;

  {
  tmp = strip_namespace(refname);
  refname_nons = tmp;
  data = (struct upload_pack_data *)cb_data;
  tmp___0 = mark_our_ref(refname_nons, refname, oid);
  if (tmp___0) {
    return (0);
  }
  if (capabilities___1) {
    symref_info.alloc = 0UL;
    symref_info.len = 0UL;
    symref_info.buf = strbuf_slopbuf;
    session_id.alloc = 0UL;
    session_id.len = 0UL;
    session_id.buf = strbuf_slopbuf;
    format_symref_info(& symref_info, & data->symref);
    format_session_id(& session_id, data);
    tmp___1 = git_user_agent_sanitized();
    if (data->allow_filter) {
      tmp___2 = " filter";
    } else {
      tmp___2 = "";
    }
    if (data->no_done) {
      tmp___3 = " no-done";
    } else {
      tmp___3 = "";
    }
    if ((unsigned int )data->allow_uor & 2U) {
      tmp___4 = " allow-reachable-sha1-in-want";
    } else {
      tmp___4 = "";
    }
    if ((unsigned int )data->allow_uor & 1U) {
      tmp___5 = " allow-tip-sha1-in-want";
    } else {
      tmp___5 = "";
    }
    tmp___6 = oid_to_hex(oid);
    packet_fwrite_fmt(stdout, (char const   *)"%s %s%c%s%s%s%s%s%s%s object-format=%s agent=%s\n",
                      tmp___6, refname_nons, 0, capabilities___1, tmp___5, tmp___4,
                      tmp___3, symref_info.buf, tmp___2, session_id.buf, (the_repository->hash_algo)->name,
                      tmp___1);
    strbuf_release(& symref_info);
    strbuf_release(& session_id);
  } else {
    tmp___7 = oid_to_hex(oid);
    packet_fwrite_fmt(stdout, (char const   *)"%s %s\n", tmp___7, refname_nons);
  }
  capabilities___1 = (char const   *)((void *)0);
  tmp___9 = peel_iterated_oid(oid, & peeled);
  if (! tmp___9) {
    tmp___8 = oid_to_hex((struct object_id  const  *)(& peeled));
    packet_fwrite_fmt(stdout, (char const   *)"%s %s^{}\n", tmp___8, refname_nons);
  }
  return (0);
}
}
static int find_symref(char const   *refname , struct object_id  const  *oid , int flag ,
                       void *cb_data )
{
  char const   *symref_target ;
  struct string_list_item *item___0 ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char *tmp___1 ;

  {
  if ((flag & 0x01) == 0) {
    return (0);
  }
  symref_target = resolve_ref_unsafe(refname, 0, (struct object_id *)((void *)0),
                                     & flag);
  if (! symref_target) {
    die((char const   *)"\'%s\' is a symref but it is not?", refname);
  } else
  if ((flag & 0x01) == 0) {
    die((char const   *)"\'%s\' is a symref but it is not?", refname);
  }
  tmp = strip_namespace(refname);
  item___0 = string_list_append((struct string_list *)cb_data, tmp);
  tmp___0 = strip_namespace(symref_target);
  tmp___1 = xstrdup(tmp___0);
  item___0->util = (void *)tmp___1;
  return (0);
}
}
static int parse_object_filter_config(char const   *var , char const   *value , struct upload_pack_data *data )
{
  struct strbuf buf___19 ;
  char const   *sub ;
  char const   *key___1 ;
  size_t sub_len ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct string_list_item *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  struct string_list_item *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = parse_config_key(var, (char const   *)"uploadpackfilter", & sub, & sub_len,
                         & key___1);
  if (tmp) {
    return (0);
  }
  if (! sub) {
    tmp___1 = strcmp(key___1, (char const   *)"allow");
    if (! tmp___1) {
      tmp___0 = git_config_bool(var, value);
      data->allow_filter_fallback = (unsigned int )tmp___0;
    }
    return (0);
  }
  strbuf_add(& buf___19, (void const   *)sub, sub_len);
  tmp___8 = strcmp(key___1, (char const   *)"allow");
  if (tmp___8) {
    tmp___6 = strcmp((char const   *)buf___19.buf, (char const   *)"tree");
    if (! tmp___6) {
      tmp___7 = strcmp(key___1, (char const   *)"maxdepth");
      if (! tmp___7) {
        if (! value) {
          strbuf_release(& buf___19);
          config_error_nonbool(var);
          tmp___4 = const_error();
          return (tmp___4);
        }
        tmp___5 = string_list_insert(& data->allowed_filters, (char const   *)buf___19.buf);
        tmp___5->util = (void *)((intptr_t )1);
        data->tree_filter_max_depth = git_config_ulong(var, value);
      }
    }
  } else {
    tmp___2 = string_list_insert(& data->allowed_filters, (char const   *)buf___19.buf);
    tmp___3 = git_config_bool(var, value);
    tmp___2->util = (void *)((intptr_t )tmp___3);
  }
  strbuf_release(& buf___19);
  return (0);
}
}
static int upload_pack_config(char const   *var , char const   *value , void *cb_data )
{
  struct upload_pack_data *data ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  enum config_scope tmp___17 ;
  enum config_scope tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;

  {
  data = (struct upload_pack_data *)cb_data;
  tmp___14 = strcmp((char const   *)"uploadpack.allowtipsha1inwant", var);
  if (tmp___14) {
    tmp___13 = strcmp((char const   *)"uploadpack.allowreachablesha1inwant", var);
    if (tmp___13) {
      tmp___12 = strcmp((char const   *)"uploadpack.allowanysha1inwant", var);
      if (tmp___12) {
        tmp___11 = strcmp((char const   *)"uploadpack.keepalive", var);
        if (tmp___11) {
          tmp___10 = strcmp((char const   *)"uploadpack.allowfilter", var);
          if (tmp___10) {
            tmp___9 = strcmp((char const   *)"uploadpack.allowrefinwant", var);
            if (tmp___9) {
              tmp___8 = strcmp((char const   *)"uploadpack.allowsidebandall", var);
              if (tmp___8) {
                tmp___7 = strcmp((char const   *)"core.precomposeunicode", var);
                if (tmp___7) {
                  tmp___6 = strcmp((char const   *)"transfer.advertisesid", var);
                  if (! tmp___6) {
                    tmp___5 = git_config_bool(var, value);
                    data->advertise_sid = (unsigned int )tmp___5;
                  }
                } else {
                  precomposed_unicode = git_config_bool(var, value);
                }
              } else {
                tmp___4 = git_config_bool(var, value);
                data->allow_sideband_all = (unsigned int )tmp___4;
              }
            } else {
              tmp___3 = git_config_bool(var, value);
              data->allow_ref_in_want = (unsigned int )tmp___3;
            }
          } else {
            tmp___2 = git_config_bool(var, value);
            data->allow_filter = (unsigned int )tmp___2;
          }
        } else {
          data->keepalive = git_config_int(var, value);
          if (! data->keepalive) {
            data->keepalive = -1;
          }
        }
      } else {
        tmp___1 = git_config_bool(var, value);
        if (tmp___1) {
          data->allow_uor = (enum allow_uor )((unsigned int )data->allow_uor | 7U);
        } else {
          data->allow_uor = (enum allow_uor )((unsigned int )data->allow_uor & 4294967288U);
        }
      }
    } else {
      tmp___0 = git_config_bool(var, value);
      if (tmp___0) {
        data->allow_uor = (enum allow_uor )((unsigned int )data->allow_uor | 2U);
      } else {
        data->allow_uor = (enum allow_uor )((unsigned int )data->allow_uor & 4294967293U);
      }
    }
  } else {
    tmp = git_config_bool(var, value);
    if (tmp) {
      data->allow_uor = (enum allow_uor )((unsigned int )data->allow_uor | 1U);
    } else {
      data->allow_uor = (enum allow_uor )((unsigned int )data->allow_uor & 4294967294U);
    }
  }
  tmp___17 = current_config_scope();
  if ((unsigned int )tmp___17 != 3U) {
    tmp___18 = current_config_scope();
    if ((unsigned int )tmp___18 != 4U) {
      tmp___16 = strcmp((char const   *)"uploadpack.packobjectshook", var);
      if (! tmp___16) {
        tmp___15 = git_config_string(& data->pack_objects_hook, var, value);
        return (tmp___15);
      }
    }
  }
  tmp___19 = parse_object_filter_config(var, value, data);
  if (tmp___19 < 0) {
    return (-1);
  }
  tmp___20 = parse_hide_refs_config(var, value, (char const   *)"uploadpack");
  return (tmp___20);
}
}
void upload_pack(int const   advertise_refs , int const   stateless_rpc___0 , int const   timeout___0 )
{
  struct packet_reader reader ;
  struct upload_pack_data data ;
  enum packet_read_status tmp ;

  {
  upload_pack_data_init(& data);
  git_config(& upload_pack_config, (void *)(& data));
  data.stateless_rpc = (unsigned int )stateless_rpc___0;
  data.timeout = (unsigned int )timeout___0;
  if (data.timeout) {
    data.daemon_mode = 1U;
  }
  head_ref_namespaced(& find_symref, (void *)(& data.symref));
  if (advertise_refs) {
    goto _L;
  } else
  if (! data.stateless_rpc) {
    _L: /* CIL Label */
    reset_timeout(data.timeout);
    if (advertise_refs) {
      data.no_done = 1U;
    }
    head_ref_namespaced(& send_ref___0, (void *)(& data));
    for_each_namespaced_ref(& send_ref___0, (void *)(& data));
    fflush_or_die(stdout);
    advertise_shallow_grafts(1);
    packet_flush(1);
  } else {
    head_ref_namespaced(& check_ref___0, (void *)0);
    for_each_namespaced_ref(& check_ref___0, (void *)0);
  }
  if (! advertise_refs) {
    packet_reader_init(& reader, 0, (char *)((void *)0), (size_t )0, (int )((1u << 1) | (1u << 2)));
    receive_needs(& data, & reader);
    if (data.stateless_rpc) {
      reader.options = (int )((unsigned int )reader.options | 1u);
    }
    if (data.want_obj.nr) {
      tmp = packet_reader_peek(& reader);
      if ((unsigned int )tmp != 0U) {
        reader.options = (int )((unsigned int )reader.options & 4294967294U);
        get_common_commits(& data, & reader);
        create_pack_file(& data, (struct string_list  const  *)((void *)0));
      }
    }
  }
  upload_pack_data_clear(& data);
  return;
}
}
static int parse_want(struct packet_writer *writer___0 , char const   *line___0 ,
                      struct object_array *want_obj )
{
  char const   *arg ;
  struct object_id oid ;
  struct object *o ;
  int tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  tmp___2 = skip_prefix(line___0, (char const   *)"want ", & arg);
  if (tmp___2) {
    tmp = get_oid_hex(arg, & oid);
    if (tmp) {
      die((char const   *)"git upload-pack: protocol error, expected to get oid, not \'%s\'",
          line___0);
    }
    o = parse_object(the_repository, (struct object_id  const  *)(& oid));
    if (! o) {
      tmp___0 = oid_to_hex((struct object_id  const  *)(& oid));
      packet_writer_error(writer___0, (char const   *)"upload-pack: not our ref %s",
                          tmp___0);
      tmp___1 = oid_to_hex((struct object_id  const  *)(& oid));
      die((char const   *)"git upload-pack: not our ref %s", tmp___1);
    }
    if (! (o->flags & (1u << 13))) {
      o->flags |= 1u << 13;
      add_object_array(o, (char const   *)((void *)0), want_obj);
    }
    return (1);
  }
  return (0);
}
}
static int parse_want_ref(struct packet_writer *writer___0 , char const   *line___0 ,
                          struct string_list *wanted_refs , struct object_array *want_obj )
{
  char const   *refname_nons ;
  struct object_id oid ;
  struct string_list_item *item___0 ;
  struct object *o ;
  struct strbuf refname ;
  char const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct object_id *tmp___2 ;
  int tmp___3 ;

  {
  tmp___3 = skip_prefix(line___0, (char const   *)"want-ref ", & refname_nons);
  if (tmp___3) {
    refname.alloc = 0UL;
    refname.len = 0UL;
    refname.buf = strbuf_slopbuf;
    tmp = get_git_namespace();
    strbuf_addf(& refname, (char const   *)"%s%s", tmp, refname_nons);
    tmp___0 = ref_is_hidden(refname_nons, (char const   *)refname.buf);
    if (tmp___0) {
      packet_writer_error(writer___0, (char const   *)"unknown ref %s", refname_nons);
      die((char const   *)"unknown ref %s", refname_nons);
    } else {
      tmp___1 = read_ref((char const   *)refname.buf, & oid);
      if (tmp___1) {
        packet_writer_error(writer___0, (char const   *)"unknown ref %s", refname_nons);
        die((char const   *)"unknown ref %s", refname_nons);
      }
    }
    strbuf_release(& refname);
    item___0 = string_list_append(wanted_refs, refname_nons);
    tmp___2 = oiddup((struct object_id  const  *)(& oid));
    item___0->util = (void *)tmp___2;
    o = parse_object_or_die((struct object_id  const  *)(& oid), refname_nons);
    if (! (o->flags & (1u << 13))) {
      o->flags |= 1u << 13;
      add_object_array(o, (char const   *)((void *)0), want_obj);
    }
    return (1);
  }
  return (0);
}
}
static int parse_have(char const   *line___0 , struct oid_array *haves )
{
  char const   *arg ;
  struct object_id oid ;
  int tmp ;
  int tmp___0 ;

  {
  tmp___0 = skip_prefix(line___0, (char const   *)"have ", & arg);
  if (tmp___0) {
    tmp = get_oid_hex(arg, & oid);
    if (tmp) {
      die((char const   *)"git upload-pack: expected SHA1 object, got \'%s\'", arg);
    }
    oid_array_append(haves, (struct object_id  const  *)(& oid));
    return (1);
  }
  return (0);
}
}
static void process_args(struct packet_reader *request , struct upload_pack_data *data )
{
  char const   *arg ;
  char const   *p___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  enum packet_read_status tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___17 = packet_reader_read(request);
    if (! ((unsigned int )tmp___17 == 1U)) {
      goto while_break;
    }
    arg = request->line;
    tmp = parse_want(& data->writer, arg, & data->want_obj);
    if (tmp) {
      goto while_continue;
    }
    if (data->allow_ref_in_want) {
      tmp___0 = parse_want_ref(& data->writer, arg, & data->wanted_refs, & data->want_obj);
      if (tmp___0) {
        goto while_continue;
      }
    }
    tmp___1 = parse_have(arg, & data->haves);
    if (tmp___1) {
      goto while_continue;
    }
    tmp___2 = strcmp(arg, (char const   *)"thin-pack");
    if (! tmp___2) {
      data->use_thin_pack = 1U;
      goto while_continue;
    }
    tmp___3 = strcmp(arg, (char const   *)"ofs-delta");
    if (! tmp___3) {
      data->use_ofs_delta = 1U;
      goto while_continue;
    }
    tmp___4 = strcmp(arg, (char const   *)"no-progress");
    if (! tmp___4) {
      data->no_progress = 1U;
      goto while_continue;
    }
    tmp___5 = strcmp(arg, (char const   *)"include-tag");
    if (! tmp___5) {
      data->use_include_tag = 1U;
      goto while_continue;
    }
    tmp___6 = strcmp(arg, (char const   *)"done");
    if (! tmp___6) {
      data->done = 1U;
      goto while_continue;
    }
    tmp___7 = strcmp(arg, (char const   *)"wait-for-done");
    if (! tmp___7) {
      data->wait_for_done = 1U;
      goto while_continue;
    }
    tmp___8 = process_shallow___0(arg, & data->shallows);
    if (tmp___8) {
      goto while_continue;
    }
    tmp___9 = process_deepen(arg, & data->depth);
    if (tmp___9) {
      goto while_continue;
    }
    tmp___10 = process_deepen_since(arg, & data->deepen_since, & data->deepen_rev_list);
    if (tmp___10) {
      goto while_continue;
    }
    tmp___11 = process_deepen_not(arg, & data->deepen_not, & data->deepen_rev_list);
    if (tmp___11) {
      goto while_continue;
    }
    tmp___12 = strcmp(arg, (char const   *)"deepen-relative");
    if (! tmp___12) {
      data->deepen_relative = 1;
      goto while_continue;
    }
    if (data->allow_filter) {
      tmp___13 = skip_prefix(arg, (char const   *)"filter ", & p___0);
      if (tmp___13) {
        list_objects_filter_die_if_populated(& data->filter_options);
        parse_list_objects_filter(& data->filter_options, p___0);
        die_if_using_banned_filter(data);
        goto while_continue;
      }
    }
    tmp___14 = git_env_bool((char const   *)"GIT_TEST_SIDEBAND_ALL", 0);
    if (tmp___14) {
      goto _L;
    } else
    if (data->allow_sideband_all) {
      _L: /* CIL Label */
      tmp___15 = strcmp(arg, (char const   *)"sideband-all");
      if (! tmp___15) {
        data->writer.use_sideband = 1U;
        goto while_continue;
      }
    }
    tmp___16 = skip_prefix(arg, (char const   *)"packfile-uris ", & p___0);
    if (tmp___16) {
      string_list_split(& data->uri_protocols, p___0, ',', -1);
      goto while_continue;
    }
    die((char const   *)"unexpected line: \'%s\'", arg);
  }
  while_break: /* CIL Label */ ;
  }
  if (data->uri_protocols.nr) {
    if (! data->writer.use_sideband) {
      string_list_clear(& data->uri_protocols, 0);
    }
  }
  if ((unsigned int )request->status != 2U) {
    tmp___18 = _((char const   *)"expected flush after fetch arguments");
    die((char const   *)tmp___18);
  }
  return;
}
}
static int process_haves(struct upload_pack_data *data , struct oid_array *common )
{
  int i ;
  struct object_id  const  *oid ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < data->haves.nr)) {
      goto while_break;
    }
    oid = (struct object_id  const  *)(data->haves.oid + i);
    tmp = repo_has_object_file_with_flags(the_repository, oid, 40);
    if (! tmp) {
      goto __Cont;
    }
    oid_array_append(common, oid);
    do_got_oid(data, oid);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int send_acks(struct upload_pack_data *data , struct oid_array *acks )
{
  int i ;
  char *tmp ;
  int tmp___0 ;

  {
  packet_writer_write(& data->writer, (char const   *)"acknowledgments\n");
  if (! acks->nr) {
    packet_writer_write(& data->writer, (char const   *)"NAK\n");
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < acks->nr)) {
      goto while_break;
    }
    tmp = oid_to_hex((struct object_id  const  *)(acks->oid + i));
    packet_writer_write(& data->writer, (char const   *)"ACK %s\n", tmp);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! data->wait_for_done) {
    tmp___0 = ok_to_give_up(data);
    if (tmp___0) {
      packet_writer_write(& data->writer, (char const   *)"ready\n");
      return (1);
    }
  }
  return (0);
}
}
static int process_haves_and_send_acks(struct upload_pack_data *data )
{
  struct oid_array common ;
  int ret___67 ;
  int tmp ;

  {
  common.oid = (struct object_id *)0;
  common.nr = 0UL;
  common.alloc = 0UL;
  common.sorted = 0;
  ret___67 = 0;
  process_haves(data, & common);
  if (data->done) {
    ret___67 = 1;
  } else {
    tmp = send_acks(data, & common);
    if (tmp) {
      packet_writer_delim(& data->writer);
      ret___67 = 1;
    } else {
      packet_writer_flush(& data->writer);
      ret___67 = 0;
    }
  }
  oid_array_clear(& data->haves);
  oid_array_clear(& common);
  return (ret___67);
}
}
static void send_wanted_ref_info(struct upload_pack_data *data )
{
  struct string_list_item  const  *item___0 ;
  char *tmp ;

  {
  if (! data->wanted_refs.nr) {
    return;
  }
  packet_writer_write(& data->writer, (char const   *)"wanted-refs\n");
  item___0 = (struct string_list_item  const  *)data->wanted_refs.items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(data->wanted_refs.items + data->wanted_refs.nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = oid_to_hex((struct object_id  const  *)item___0->util);
    packet_writer_write(& data->writer, (char const   *)"%s %s\n", tmp, item___0->string);
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  packet_writer_delim(& data->writer);
  return;
}
}
static void send_shallow_info(struct upload_pack_data *data )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! data->depth) {
    if (! data->deepen_rev_list) {
      if (! data->shallows.nr) {
        tmp = is_repository_shallow(the_repository);
        if (! tmp) {
          return;
        }
      }
    }
  }
  packet_writer_write(& data->writer, (char const   *)"shallow-info\n");
  tmp___0 = send_shallow_list(data);
  if (! tmp___0) {
    tmp___1 = is_repository_shallow(the_repository);
    if (tmp___1) {
      deepen(data, 0x7fffffff);
    }
  }
  packet_delim(1);
  return;
}
}
int upload_pack_v2(struct repository *r , struct packet_reader *request )
{
  int state___1 ;
  struct upload_pack_data data ;
  int tmp ;

  {
  state___1 = (int )0;
  clear_object_flags((((((((1u << 11) | (1u << 12)) | (1u << 13)) | (1u << 14)) | (1u << 16)) | (1u << 17)) | (1u << 18)) | (1u << 19));
  upload_pack_data_init(& data);
  data.use_sideband = 65520;
  git_config(& upload_pack_config, (void *)(& data));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )state___1 != 3U)) {
      goto while_break;
    }
    {
    if ((unsigned int )state___1 == 0U) {
      goto case_0;
    }
    if ((unsigned int )state___1 == 1U) {
      goto case_1;
    }
    if ((unsigned int )state___1 == 2U) {
      goto case_2;
    }
    if ((unsigned int )state___1 == 3U) {
      goto case_3;
    }
    goto switch_break;
    case_0: /* CIL Label */
    process_args(request, & data);
    if (! data.want_obj.nr) {
      if (! data.wait_for_done) {
        state___1 = (int )3;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (data.haves.nr) {
      state___1 = (int )1;
    } else {
      state___1 = (int )2;
    }
    goto switch_break;
    case_1: /* CIL Label */
    tmp = process_haves_and_send_acks(& data);
    if (tmp) {
      state___1 = (int )2;
    } else {
      state___1 = (int )3;
    }
    goto switch_break;
    case_2: /* CIL Label */
    send_wanted_ref_info(& data);
    send_shallow_info(& data);
    if (data.uri_protocols.nr) {
      create_pack_file(& data, (struct string_list  const  *)(& data.uri_protocols));
    } else {
      packet_writer_write(& data.writer, (char const   *)"packfile\n");
      create_pack_file(& data, (struct string_list  const  *)((void *)0));
    }
    state___1 = (int )3;
    goto switch_break;
    case_3: /* CIL Label */
    goto while_continue;
    switch_break: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  upload_pack_data_clear(& data);
  return (0);
}
}
int upload_pack_advertise(struct repository *r , struct strbuf *value )
{
  int allow_filter_value ;
  int allow_ref_in_want ;
  int allow_sideband_all_value ;
  char *str ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  if (value) {
    str = (char *)((void *)0);
    strbuf_addstr(value, (char const   *)"shallow wait-for-done");
    tmp = repo_config_get_bool(the_repository, (char const   *)"uploadpack.allowfilter",
                               & allow_filter_value);
    if (! tmp) {
      if (allow_filter_value) {
        strbuf_addstr(value, (char const   *)" filter");
      }
    }
    tmp___0 = repo_config_get_bool(the_repository, (char const   *)"uploadpack.allowrefinwant",
                                   & allow_ref_in_want);
    if (! tmp___0) {
      if (allow_ref_in_want) {
        strbuf_addstr(value, (char const   *)" ref-in-want");
      }
    }
    tmp___1 = git_env_bool((char const   *)"GIT_TEST_SIDEBAND_ALL", 0);
    if (tmp___1) {
      strbuf_addstr(value, (char const   *)" sideband-all");
    } else {
      tmp___2 = repo_config_get_bool(the_repository, (char const   *)"uploadpack.allowsidebandall",
                                     & allow_sideband_all_value);
      if (! tmp___2) {
        if (allow_sideband_all_value) {
          strbuf_addstr(value, (char const   *)" sideband-all");
        }
      }
    }
    tmp___3 = repo_config_get_string(the_repository, (char const   *)"uploadpack.blobpackfileuri",
                                     & str);
    if (! tmp___3) {
      if (str) {
        strbuf_addstr(value, (char const   *)" packfile-uris");
        free((void *)str);
      }
    }
  }
  return (1);
}
}
int is_urlschemechar(int first_flag , int ch___0 )
{
  int alphanumeric ;
  int special___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (ch___0 > 0) {
    if (((int const   )sane_ctype[(unsigned char )ch___0] & 6) != 0) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  alphanumeric = tmp;
  if (ch___0 == 43) {
    tmp___0 = 1;
  } else
  if (ch___0 == 45) {
    tmp___0 = 1;
  } else
  if (ch___0 == 46) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  special___0 = tmp___0;
  if (alphanumeric) {
    tmp___1 = 1;
  } else
  if (! first_flag) {
    if (special___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
int is_url(char const   *url )
{
  char const   *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  if (! url) {
    return (0);
  } else {
    tmp = url;
    url ++;
    tmp___0 = is_urlschemechar(1, (int )*tmp);
    if (! tmp___0) {
      return (0);
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*url) {
      if (! ((int const   )*url != 58)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___1 = url;
    url ++;
    tmp___2 = is_urlschemechar(0, (int )*tmp___1);
    if (! tmp___2) {
      return (0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  if ((int const   )*(url + 0) == 58) {
    if ((int const   )*(url + 1) == 47) {
      if ((int const   )*(url + 2) == 47) {
        tmp___3 = 1;
      } else {
        tmp___3 = 0;
      }
    } else {
      tmp___3 = 0;
    }
  } else {
    tmp___3 = 0;
  }
  return (tmp___3);
}
}
static char *url_decode_internal(char const   **query , int len___0 , char const   *stop_at ,
                                 struct strbuf *out , int decode_plus )
{
  char const   *q ;
  unsigned char c___0 ;
  char *tmp ;
  int val ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  q = *query;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! len___0) {
      goto while_break;
    }
    c___0 = (unsigned char )*q;
    if (! c___0) {
      goto while_break;
    }
    if (stop_at) {
      tmp = strchr(stop_at, (int )c___0);
      if (tmp) {
        q ++;
        len___0 --;
        goto while_break;
      }
    }
    if ((int )c___0 == 37) {
      if (len___0 < 0) {
        goto _L;
      } else
      if (len___0 >= 3) {
        _L: /* CIL Label */
        tmp___0 = hex2chr(q + 1);
        val = tmp___0;
        if (0 < val) {
          strbuf_addch(out, val);
          q += 3;
          len___0 -= 3;
          goto while_continue;
        }
      }
    }
    if (decode_plus) {
      if ((int )c___0 == 43) {
        strbuf_addch(out, ' ');
      } else {
        strbuf_addch(out, (int )c___0);
      }
    } else {
      strbuf_addch(out, (int )c___0);
    }
    q ++;
    len___0 --;
  }
  while_break: /* CIL Label */ ;
  }
  *query = q;
  tmp___1 = strbuf_detach(out, (size_t *)((void *)0));
  return (tmp___1);
}
}
char *url_decode(char const   *url )
{
  size_t tmp ;
  char *tmp___0 ;

  {
  tmp = strlen(url);
  tmp___0 = url_decode_mem(url, (int )tmp);
  return (tmp___0);
}
}
char *url_decode_mem(char const   *url , int len___0 )
{
  struct strbuf out ;
  char const   *colon ;
  void *tmp ;
  char *tmp___0 ;

  {
  out.alloc = 0UL;
  out.len = 0UL;
  out.buf = strbuf_slopbuf;
  tmp = memchr((void const   *)url, ':', (size_t )len___0);
  colon = (char const   *)tmp;
  if (colon) {
    if ((unsigned long )url < (unsigned long )colon) {
      strbuf_add(& out, (void const   *)url, (size_t )(colon - url));
      len___0 = (int )((long )len___0 - (colon - url));
      url = colon;
    }
  }
  tmp___0 = url_decode_internal(& url, len___0, (char const   *)((void *)0), & out,
                                0);
  return (tmp___0);
}
}
char *url_percent_decode(char const   *encoded )
{
  struct strbuf out ;
  size_t tmp ;
  char *tmp___0 ;

  {
  out.alloc = 0UL;
  out.len = 0UL;
  out.buf = strbuf_slopbuf;
  tmp = strlen(encoded);
  tmp___0 = url_decode_internal(& encoded, (int )tmp, (char const   *)((void *)0),
                                & out, 0);
  return (tmp___0);
}
}
char *url_decode_parameter_name(char const   **query )
{
  struct strbuf out ;
  char *tmp ;

  {
  out.alloc = 0UL;
  out.len = 0UL;
  out.buf = strbuf_slopbuf;
  tmp = url_decode_internal(query, -1, (char const   *)"&=", & out, 1);
  return (tmp);
}
}
char *url_decode_parameter_value(char const   **query )
{
  struct strbuf out ;
  char *tmp ;

  {
  out.alloc = 0UL;
  out.len = 0UL;
  out.buf = strbuf_slopbuf;
  tmp = url_decode_internal(query, -1, (char const   *)"&", & out, 1);
  return (tmp);
}
}
void end_url_with_slash(struct strbuf *buf___19 , char const   *url )
{


  {
  strbuf_addstr(buf___19, url);
  strbuf_complete(buf___19, (char )'/');
  return;
}
}
void str_end_url_with_slash(char const   *url , char **dest )
{
  struct strbuf buf___19 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  end_url_with_slash(& buf___19, url);
  free((void *)*dest);
  *dest = strbuf_detach(& buf___19, (size_t *)((void *)0));
  return;
}
}
static int append_normalized_escapes(struct strbuf *buf___19 , char const   *from___0 ,
                                     size_t from_len , char const   *esc_extra , char const   *esc_ok )
{
  int ch___0 ;
  char const   *tmp ;
  int was_esc ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! from_len) {
      goto while_break;
    }
    tmp = from___0;
    from___0 ++;
    ch___0 = (int )*tmp;
    was_esc = 0;
    from_len --;
    if (ch___0 == 37) {
      if (from_len < 2UL) {
        return (0);
      }
      ch___0 = hex2chr(from___0);
      if (ch___0 < 0) {
        return (0);
      }
      from___0 += 2;
      from_len -= 2UL;
      was_esc = 1;
    }
    if ((int )((unsigned char )ch___0) <= 0x1F) {
      strbuf_addf(buf___19, (char const   *)"%%%02X", (int )((unsigned char )ch___0));
    } else
    if ((int )((unsigned char )ch___0) >= 0x7F) {
      strbuf_addf(buf___19, (char const   *)"%%%02X", (int )((unsigned char )ch___0));
    } else {
      tmp___0 = strchr((char const   *)" <>\"%{}|\\^`", ch___0);
      if (tmp___0) {
        strbuf_addf(buf___19, (char const   *)"%%%02X", (int )((unsigned char )ch___0));
      } else
      if (esc_extra) {
        tmp___1 = strchr(esc_extra, ch___0);
        if (tmp___1) {
          strbuf_addf(buf___19, (char const   *)"%%%02X", (int )((unsigned char )ch___0));
        } else {
          goto _L;
        }
      } else
      _L: /* CIL Label */
      if (was_esc) {
        tmp___2 = strchr(esc_ok, ch___0);
        if (tmp___2) {
          strbuf_addf(buf___19, (char const   *)"%%%02X", (int )((unsigned char )ch___0));
        } else {
          strbuf_addch(buf___19, ch___0);
        }
      } else {
        strbuf_addch(buf___19, ch___0);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static char const   *end_of_token(char const   *s___1 , int c___0 , size_t n )
{
  char const   *next___2 ;
  void *tmp ;

  {
  tmp = memchr((void const   *)s___1, c___0, n);
  next___2 = (char const   *)tmp;
  if (! next___2) {
    next___2 = s___1 + n;
  }
  return (next___2);
}
}
static int match_host(struct url_info  const  *url_info , struct url_info  const  *pattern_info )
{
  char const   *url ;
  char const   *pat ;
  int url_len ;
  int pat_len ;
  char const   *url_next ;
  char const   *tmp ;
  char const   *pat_next ;
  char const   *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  url = (char const   *)(url_info->url + url_info->host_off);
  pat = (char const   *)(pattern_info->url + pattern_info->host_off);
  url_len = (int )url_info->host_len;
  pat_len = (int )pattern_info->host_len;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (url_len) {
      if (! pat_len) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = end_of_token(url, '.', (size_t )url_len);
    url_next = tmp;
    tmp___0 = end_of_token(pat, '.', (size_t )pat_len);
    pat_next = tmp___0;
    if ((unsigned long )pat_next == (unsigned long )(pat + 1)) {
      if (! ((int const   )*(pat + 0) == 42)) {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (pat_next - pat == url_next - url) {
      tmp___1 = memcmp((void const   *)url, (void const   *)pat, (size_t )(url_next - url));
      if (tmp___1) {
        return (0);
      }
    } else {
      return (0);
    }
    if ((unsigned long )url_next < (unsigned long )(url + url_len)) {
      url_next ++;
    }
    url_len = (int )((long )url_len - (url_next - url));
    url = url_next;
    if ((unsigned long )pat_next < (unsigned long )(pat + pat_len)) {
      pat_next ++;
    }
    pat_len = (int )((long )pat_len - (pat_next - pat));
    pat = pat_next;
  }
  while_break: /* CIL Label */ ;
  }
  if (! url_len) {
    if (! pat_len) {
      tmp___2 = 1;
    } else {
      tmp___2 = 0;
    }
  } else {
    tmp___2 = 0;
  }
  return (tmp___2);
}
}
static char *url_normalize_1(char const   *url , struct url_info *out_info , char allow_globs )
{
  size_t url_len ;
  size_t tmp ;
  struct strbuf norm ;
  size_t spanned ;
  size_t scheme_len ;
  size_t user_off ;
  size_t user_len ;
  size_t passwd_off ;
  size_t passwd_len ;
  size_t host_off ;
  size_t host_len ;
  size_t port_off ;
  size_t port_len ;
  size_t path_off ;
  size_t path_len ;
  size_t result_len ;
  char const   *slash_ptr ;
  char const   *at_ptr ;
  char const   *colon_ptr ;
  char const   *path_start ;
  char *result___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  size_t tmp___3 ;
  char *tmp___4 ;
  size_t tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  char *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const   *tmp___14 ;
  int tmp___15 ;
  size_t tmp___16 ;
  unsigned long pnum ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  size_t tmp___23 ;
  char const   *seg_start ;
  size_t seg_start_off ;
  char const   *next_slash ;
  size_t tmp___24 ;
  int skip_add_slash ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  int tmp___26 ;
  char const   *prev_slash ;
  char const __attribute__((__format_arg__(1)))  *tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;
  char const __attribute__((__format_arg__(1)))  *tmp___30 ;
  int tmp___31 ;

  {
  tmp = strlen(url);
  url_len = tmp;
  user_off = (size_t )0;
  user_len = (size_t )0;
  passwd_off = (size_t )0;
  passwd_len = (size_t )0;
  host_off = (size_t )0;
  host_len = (size_t )0;
  port_off = (size_t )0;
  port_len = (size_t )0;
  spanned = strspn(url, (char const   *)"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+.-");
  if (! spanned) {
    goto _L;
  } else
  if (! (((int const   )sane_ctype[(unsigned char )*(url + 0)] & 4) != 0)) {
    goto _L;
  } else
  if (spanned + 3UL > url_len) {
    goto _L;
  } else
  if ((int const   )*(url + spanned) != 58) {
    goto _L;
  } else
  if ((int const   )*(url + (spanned + 1UL)) != 47) {
    goto _L;
  } else
  if ((int const   )*(url + (spanned + 2UL)) != 47) {
    _L: /* CIL Label */
    if (out_info) {
      out_info->url = (char *)((void *)0);
      tmp___0 = _((char const   *)"invalid URL scheme name or missing \'://\' suffix");
      out_info->err = (char const   *)tmp___0;
    }
    return ((char *)((void *)0));
  }
  strbuf_init(& norm, url_len);
  scheme_len = spanned;
  spanned += 3UL;
  url_len -= spanned;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = spanned;
    spanned --;
    if (! tmp___3) {
      goto while_break;
    }
    tmp___1 = url;
    url ++;
    tmp___2 = sane_case((int )((unsigned char )*tmp___1), 0x20);
    strbuf_addch(& norm, tmp___2);
  }
  while_break: /* CIL Label */ ;
  }
  tmp___4 = strchr(url, '@');
  at_ptr = (char const   *)tmp___4;
  tmp___5 = strcspn(url, (char const   *)"/?#");
  slash_ptr = url + tmp___5;
  if (at_ptr) {
    if ((unsigned long )at_ptr < (unsigned long )slash_ptr) {
      user_off = norm.len;
      if ((unsigned long )at_ptr > (unsigned long )url) {
        tmp___7 = append_normalized_escapes(& norm, url, (size_t )(at_ptr - url),
                                            (char const   *)"", (char const   *)":/?#[]@!$&\'()*+,;=");
        if (! tmp___7) {
          if (out_info) {
            out_info->url = (char *)((void *)0);
            tmp___6 = _((char const   *)"invalid %XX escape sequence");
            out_info->err = (char const   *)tmp___6;
          }
          strbuf_release(& norm);
          return ((char *)((void *)0));
        }
        tmp___8 = strchr((char const   *)((norm.buf + scheme_len) + 3), ':');
        colon_ptr = (char const   *)tmp___8;
        if (colon_ptr) {
          passwd_off = (size_t )((colon_ptr + 1) - (char const   *)norm.buf);
          passwd_len = norm.len - passwd_off;
          user_len = (passwd_off - 1UL) - (scheme_len + 3UL);
        } else {
          user_len = norm.len - (scheme_len + 3UL);
        }
      }
      strbuf_addch(& norm, '@');
      at_ptr ++;
      url_len -= (size_t )(at_ptr - url);
      url = at_ptr;
    }
  }
  if (! url_len) {
    goto _L___0;
  } else {
    tmp___11 = strchr((char const   *)":/?#", (int )*url);
    if (tmp___11) {
      _L___0: /* CIL Label */
      tmp___10 = strncmp((char const   *)norm.buf, (char const   *)"file:", (size_t )5);
      if (tmp___10) {
        if (out_info) {
          out_info->url = (char *)((void *)0);
          tmp___9 = _((char const   *)"missing host and scheme is not \'file:\'");
          out_info->err = (char const   *)tmp___9;
        }
        strbuf_release(& norm);
        return ((char *)((void *)0));
      }
    } else {
      host_off = norm.len;
    }
  }
  colon_ptr = slash_ptr - 1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if ((unsigned long )colon_ptr > (unsigned long )url) {
      if ((int const   )*colon_ptr != 58) {
        if (! ((int const   )*colon_ptr != 93)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    colon_ptr --;
  }
  while_break___0: /* CIL Label */ ;
  }
  if ((int const   )*colon_ptr != 58) {
    colon_ptr = slash_ptr;
  } else
  if (! host_off) {
    if ((unsigned long )colon_ptr < (unsigned long )slash_ptr) {
      if ((unsigned long )(colon_ptr + 1) != (unsigned long )slash_ptr) {
        if (out_info) {
          out_info->url = (char *)((void *)0);
          tmp___12 = _((char const   *)"a \'file:\' URL may not have a port number");
          out_info->err = (char const   *)tmp___12;
        }
        strbuf_release(& norm);
        return ((char *)((void *)0));
      }
    }
  }
  if (allow_globs) {
    spanned = strspn(url, (char const   *)"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_[:]*");
  } else {
    spanned = strspn(url, (char const   *)"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_[:]");
  }
  if (spanned < (size_t )(colon_ptr - url)) {
    if (out_info) {
      out_info->url = (char *)((void *)0);
      tmp___13 = _((char const   *)"invalid characters in host name");
      out_info->err = (char const   *)tmp___13;
    }
    strbuf_release(& norm);
    return ((char *)((void *)0));
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned long )url < (unsigned long )colon_ptr)) {
      goto while_break___1;
    }
    tmp___14 = url;
    url ++;
    tmp___15 = sane_case((int )((unsigned char )*tmp___14), 0x20);
    strbuf_addch(& norm, tmp___15);
    url_len --;
  }
  while_break___1: /* CIL Label */ ;
  }
  if ((unsigned long )colon_ptr < (unsigned long )slash_ptr) {
    url ++;
    tmp___16 = strspn(url, (char const   *)"0");
    url += tmp___16;
    if ((unsigned long )url == (unsigned long )slash_ptr) {
      if ((int const   )*(url + -1) == 48) {
        url --;
      }
    }
    if (! ((unsigned long )url == (unsigned long )slash_ptr)) {
      if (slash_ptr - url == 2L) {
        tmp___21 = strncmp((char const   *)norm.buf, (char const   *)"http:", (size_t )5);
        if (tmp___21) {
          goto _L___5;
        } else {
          tmp___22 = strncmp(url, (char const   *)"80", (size_t )2);
          if (tmp___22) {
            goto _L___5;
          }
        }
      } else
      _L___5: /* CIL Label */
      _L___4: /* CIL Label */
      if (slash_ptr - url == 3L) {
        tmp___19 = strncmp((char const   *)norm.buf, (char const   *)"https:", (size_t )6);
        if (tmp___19) {
          goto _L___3;
        } else {
          tmp___20 = strncmp(url, (char const   *)"443", (size_t )3);
          if (tmp___20) {
            goto _L___3;
          }
        }
      } else {
        _L___3: /* CIL Label */
        _L___2: /* CIL Label */
        pnum = 0UL;
        spanned = strspn(url, (char const   *)"0123456789");
        if (spanned < (size_t )(slash_ptr - url)) {
          if (out_info) {
            out_info->url = (char *)((void *)0);
            tmp___17 = _((char const   *)"invalid port number");
            out_info->err = (char const   *)tmp___17;
          }
          strbuf_release(& norm);
          return ((char *)((void *)0));
        }
        if (slash_ptr - url <= 5L) {
          pnum = strtoul((char const   * __restrict  )url, (char ** __restrict  )((void *)0),
                         10);
        }
        if (pnum == 0UL) {
          goto _L___1;
        } else
        if (pnum > 65535UL) {
          _L___1: /* CIL Label */
          if (out_info) {
            out_info->url = (char *)((void *)0);
            tmp___18 = _((char const   *)"invalid port number");
            out_info->err = (char const   *)tmp___18;
          }
          strbuf_release(& norm);
          return ((char *)((void *)0));
        }
        strbuf_addch(& norm, ':');
        port_off = norm.len;
        strbuf_add(& norm, (void const   *)url, (size_t )(slash_ptr - url));
        port_len = (size_t )(slash_ptr - url);
      }
    }
    url_len -= (size_t )(slash_ptr - colon_ptr);
    url = slash_ptr;
  }
  if (host_off) {
    if (port_len) {
      tmp___23 = port_len + 1UL;
    } else {
      tmp___23 = (size_t )0;
    }
    host_len = (norm.len - host_off) - tmp___23;
  }
  path_off = norm.len;
  path_start = (char const   *)(norm.buf + path_off);
  strbuf_addch(& norm, '/');
  if ((int const   )*url == 47) {
    url ++;
    url_len --;
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    seg_start_off = norm.len;
    tmp___24 = strcspn(url, (char const   *)"/?#");
    next_slash = url + tmp___24;
    skip_add_slash = 0;
    tmp___26 = append_normalized_escapes(& norm, url, (size_t )(next_slash - url),
                                         (char const   *)"", (char const   *)":/?#[]@!$&\'()*+,;=");
    if (! tmp___26) {
      if (out_info) {
        out_info->url = (char *)((void *)0);
        tmp___25 = _((char const   *)"invalid %XX escape sequence");
        out_info->err = (char const   *)tmp___25;
      }
      strbuf_release(& norm);
      return ((char *)((void *)0));
    }
    seg_start = (char const   *)(norm.buf + seg_start_off);
    tmp___29 = strcmp(seg_start, (char const   *)".");
    if (tmp___29) {
      tmp___28 = strcmp(seg_start, (char const   *)"..");
      if (! tmp___28) {
        prev_slash = (char const   *)((norm.buf + norm.len) - 3);
        if ((unsigned long )prev_slash == (unsigned long )path_start) {
          if (out_info) {
            out_info->url = (char *)((void *)0);
            tmp___27 = _((char const   *)"invalid \'..\' path segment");
            out_info->err = (char const   *)tmp___27;
          }
          strbuf_release(& norm);
          return ((char *)((void *)0));
        }
        {
        while (1) {
          while_continue___3: /* CIL Label */ ;
          prev_slash --;
          if (! ((int const   )*prev_slash != 47)) {
            goto while_break___3;
          }
        }
        while_break___3: /* CIL Label */ ;
        }
        if ((unsigned long )prev_slash == (unsigned long )path_start) {
          strbuf_setlen(& norm, (size_t )((prev_slash - (char const   *)norm.buf) + 1L));
          skip_add_slash = 1;
        } else {
          strbuf_setlen(& norm, (size_t )(prev_slash - (char const   *)norm.buf));
        }
      }
    } else
    if ((unsigned long )seg_start == (unsigned long )(path_start + 1)) {
      strbuf_setlen(& norm, norm.len - 1UL);
      skip_add_slash = 1;
    } else {
      strbuf_setlen(& norm, norm.len - 2UL);
    }
    url_len -= (size_t )(next_slash - url);
    url = next_slash;
    if ((int const   )*url != 47) {
      goto while_break___2;
    }
    url ++;
    url_len --;
    if (! skip_add_slash) {
      strbuf_addch(& norm, '/');
    }
  }
  while_break___2: /* CIL Label */ ;
  }
  path_len = norm.len - path_off;
  if (*url) {
    tmp___31 = append_normalized_escapes(& norm, url, url_len, (char const   *)"",
                                         (char const   *)":/?#[]@!$&\'()*+,;=");
    if (! tmp___31) {
      if (out_info) {
        out_info->url = (char *)((void *)0);
        tmp___30 = _((char const   *)"invalid %XX escape sequence");
        out_info->err = (char const   *)tmp___30;
      }
      strbuf_release(& norm);
      return ((char *)((void *)0));
    }
  }
  result___0 = strbuf_detach(& norm, & result_len);
  if (out_info) {
    out_info->url = result___0;
    out_info->err = (char const   *)((void *)0);
    out_info->url_len = result_len;
    out_info->scheme_len = scheme_len;
    out_info->user_off = user_off;
    out_info->user_len = user_len;
    out_info->passwd_off = passwd_off;
    out_info->passwd_len = passwd_len;
    out_info->host_off = host_off;
    out_info->host_len = host_len;
    out_info->port_off = port_off;
    out_info->port_len = port_len;
    out_info->path_off = path_off;
    out_info->path_len = path_len;
  }
  return (result___0);
}
}
char *url_normalize(char const   *url , struct url_info *out_info )
{
  char *tmp ;

  {
  tmp = url_normalize_1(url, out_info, (char)0);
  return (tmp);
}
}
static size_t url_match_prefix(char const   *url , char const   *url_prefix , size_t url_prefix_len )
{
  int tmp ;
  int tmp___0 ;
  size_t tmp___1 ;

  {
  if (! url) {
    return ((size_t )0);
  } else
  if (! url_prefix) {
    return ((size_t )0);
  }
  if (! url_prefix_len) {
    goto _L;
  } else
  if (url_prefix_len == 1UL) {
    if ((int const   )*url_prefix == 47) {
      _L: /* CIL Label */
      if (! *url) {
        tmp = 1;
      } else
      if ((int const   )*url == 47) {
        tmp = 1;
      } else {
        tmp = 0;
      }
      return ((size_t )tmp);
    }
  }
  if ((int const   )*(url_prefix + (url_prefix_len - 1UL)) == 47) {
    url_prefix_len --;
  }
  tmp___0 = strncmp(url, url_prefix, url_prefix_len);
  if (tmp___0) {
    return ((size_t )0);
  }
  tmp___1 = strlen(url);
  if (tmp___1 == url_prefix_len) {
    return (url_prefix_len + 1UL);
  } else
  if ((int const   )*(url + url_prefix_len) == 47) {
    return (url_prefix_len + 1UL);
  }
  return ((size_t )0);
}
}
static int match_urls(struct url_info  const  *url , struct url_info  const  *url_prefix ,
                      struct urlmatch_item *match___0 )
{
  char usermatched ;
  size_t pathmatchlen ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  usermatched = (char)0;
  if (! url) {
    return (0);
  } else
  if (! url_prefix) {
    return (0);
  } else
  if (! url->url) {
    return (0);
  } else
  if (! url_prefix->url) {
    return (0);
  }
  if (url_prefix->scheme_len != url->scheme_len) {
    return (0);
  } else {
    tmp = strncmp((char const   *)url->url, (char const   *)url_prefix->url, (size_t )url->scheme_len);
    if (tmp) {
      return (0);
    }
  }
  if (url_prefix->user_off) {
    if (! url->user_off) {
      return (0);
    } else
    if (url->user_len != url_prefix->user_len) {
      return (0);
    } else {
      tmp___0 = strncmp((char const   *)(url->url + url->user_off), (char const   *)(url_prefix->url + url_prefix->user_off),
                        (size_t )url->user_len);
      if (tmp___0) {
        return (0);
      }
    }
    usermatched = (char)1;
  }
  tmp___1 = match_host(url, url_prefix);
  if (! tmp___1) {
    return (0);
  }
  if (url_prefix->port_len != url->port_len) {
    return (0);
  } else {
    tmp___2 = strncmp((char const   *)(url->url + url->port_off), (char const   *)(url_prefix->url + url_prefix->port_off),
                      (size_t )url->port_len);
    if (tmp___2) {
      return (0);
    }
  }
  pathmatchlen = url_match_prefix((char const   *)(url->url + url->path_off), (char const   *)(url_prefix->url + url_prefix->path_off),
                                  (size_t )(url_prefix->url_len - url_prefix->path_off));
  if (! pathmatchlen) {
    return (0);
  }
  if (match___0) {
    match___0->hostmatch_len = (size_t )url_prefix->host_len;
    match___0->pathmatch_len = pathmatchlen;
    match___0->user_matched = usermatched;
  }
  return (1);
}
}
static int cmp_matches(struct urlmatch_item  const  *a , struct urlmatch_item  const  *b___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (a->hostmatch_len != b___0->hostmatch_len) {
    if (a->hostmatch_len < b___0->hostmatch_len) {
      tmp = -1;
    } else {
      tmp = 1;
    }
    return (tmp);
  }
  if (a->pathmatch_len != b___0->pathmatch_len) {
    if (a->pathmatch_len < b___0->pathmatch_len) {
      tmp___0 = -1;
    } else {
      tmp___0 = 1;
    }
    return (tmp___0);
  }
  if ((int )a->user_matched != (int )b___0->user_matched) {
    if (b___0->user_matched) {
      tmp___1 = -1;
    } else {
      tmp___1 = 1;
    }
    return (tmp___1);
  }
  return (0);
}
}
int urlmatch_config_entry(char const   *var , char const   *value , void *cb )
{
  struct string_list_item *item___0 ;
  struct urlmatch_config *collect ;
  struct urlmatch_item matched ;
  struct url_info *url ;
  char const   *key___1 ;
  char const   *dot ;
  struct strbuf synthkey ;
  int retval ;
  int (*select_fn)(struct urlmatch_item  const  *a , struct urlmatch_item  const  *b ) ;
  int (*tmp)(struct urlmatch_item  const  *found , struct urlmatch_item  const  *existing ) ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char *tmp___3 ;
  char *config_url ;
  char *norm_url ;
  struct url_info norm_info ;
  void *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  collect = (struct urlmatch_config *)cb;
  matched.hostmatch_len = (size_t )0;
  matched.pathmatch_len = 0UL;
  matched.user_matched = (char)0;
  url = & collect->url;
  synthkey.alloc = 0UL;
  synthkey.len = 0UL;
  synthkey.buf = strbuf_slopbuf;
  if (collect->select_fn) {
    tmp = collect->select_fn;
  } else {
    tmp = & cmp_matches;
  }
  select_fn = tmp;
  tmp___1 = skip_prefix(var, collect->section, & key___1);
  if (tmp___1) {
    tmp___2 = key___1;
    key___1 ++;
    if ((int const   )*tmp___2 != 46) {
      _L: /* CIL Label */
      if (collect->cascade_fn) {
        tmp___0 = (*(collect->cascade_fn))(var, value, cb);
        return (tmp___0);
      }
      return (0);
    }
  } else {
    goto _L;
  }
  tmp___3 = strrchr(key___1, '.');
  dot = (char const   *)tmp___3;
  if (dot) {
    tmp___4 = xmemdupz((void const   *)key___1, (size_t )(dot - key___1));
    config_url = (char *)tmp___4;
    norm_url = url_normalize_1((char const   *)config_url, & norm_info, (char)1);
    if (norm_url) {
      retval = match_urls((struct url_info  const  *)url, (struct url_info  const  *)(& norm_info),
                          & matched);
    } else
    if (collect->fallback_match_fn) {
      retval = (*(collect->fallback_match_fn))((char const   *)config_url, collect->cb);
    } else {
      retval = 0;
    }
    free((void *)config_url);
    free((void *)norm_url);
    if (! retval) {
      return (0);
    }
    key___1 = dot + 1;
  }
  if (collect->key) {
    tmp___5 = strcmp(key___1, collect->key);
    if (tmp___5) {
      return (0);
    }
  }
  item___0 = string_list_insert(& collect->vars, key___1);
  if (! item___0->util) {
    item___0->util = xcalloc((size_t )1, sizeof(matched));
  } else {
    tmp___6 = (*select_fn)((struct urlmatch_item  const  *)(& matched), (struct urlmatch_item  const  *)item___0->util);
    if (tmp___6 < 0) {
      return (0);
    }
  }
  memcpy(item___0->util, (void const   *)(& matched), sizeof(matched));
  strbuf_addstr(& synthkey, collect->section);
  strbuf_addch(& synthkey, '.');
  strbuf_addstr(& synthkey, key___1);
  retval = (*(collect->collect_fn))((char const   *)synthkey.buf, value, collect->cb);
  strbuf_release(& synthkey);
  return (retval);
}
}
int BUG_exit_code  ;
static void vreportf(char const   *prefix___1 , char const   *err___4 , va_list params )
{
  char msg___5[4096] ;
  char *p___0 ;
  char *pend ;
  size_t prefix_len___1 ;
  size_t tmp ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  pend = msg___5 + sizeof(msg___5);
  tmp = strlen(prefix___1);
  prefix_len___1 = tmp;
  if (sizeof(msg___5) <= prefix_len___1) {
    fprintf(stderr, (char const   *)"BUG!!! too long a prefix \'%s\'\n", prefix___1);
    abort();
  }
  memcpy((void *)(msg___5), (void const   *)prefix___1, prefix_len___1);
  p___0 = msg___5 + prefix_len___1;
  tmp___0 = vsnprintf(p___0, (size_t )(pend - p___0), err___4, params);
  if (tmp___0 < 0) {
    *p___0 = (char )'\000';
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )p___0 != (unsigned long )(pend - 1)) {
      if (! *p___0) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if (((int const   )sane_ctype[(unsigned char )*p___0] & 64) != 0) {
      if ((int )*p___0 != 9) {
        if ((int )*p___0 != 10) {
          *p___0 = (char )'?';
        }
      }
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = p___0;
  p___0 ++;
  *tmp___1 = (char )'\n';
  fflush(stderr);
  write_in_full(2, (void const   *)(msg___5), (size_t )(p___0 - msg___5));
  return;
}
}
static void usage_builtin(char const   *err___4 , va_list params )  __attribute__((__noreturn__)) ;
static void usage_builtin(char const   *err___4 , va_list params )
{
  int tmp ;

  {
  vreportf((char const   *)"usage: ", err___4, params);
  trace2_cmd_name_fl((char const   *)"usage.c", 43, (char const   *)"_usage_");
  tmp = trace2_cmd_exit_fl((char const   *)"usage.c", 55, 129);
  exit(tmp);
}
}
static void die_message_builtin(char const   *err___4 , va_list params )
{


  {
  trace2_cmd_error_va_fl((char const   *)"usage.c", 60, err___4, params);
  vreportf((char const   *)"fatal: ", err___4, params);
  return;
}
}
static void die_builtin(char const   *err___4 , va_list params )  __attribute__((__noreturn__)) ;
static void die_builtin(char const   *err___4 , va_list params )
{
  void (*die_message_fn)(char const   * , va_list params ) ;
  report_fn tmp ;
  int tmp___0 ;

  {
  tmp = get_die_message_routine();
  die_message_fn = tmp;
  (*die_message_fn)(err___4, params);
  tmp___0 = trace2_cmd_exit_fl((char const   *)"usage.c", 74, 128);
  exit(tmp___0);
}
}
static void error_builtin(char const   *err___4 , va_list params )
{


  {
  trace2_cmd_error_va_fl((char const   *)"usage.c", 79, err___4, params);
  vreportf((char const   *)"error: ", err___4, params);
  return;
}
}
static void warn_builtin(char const   *warn , va_list params )
{


  {
  trace2_cmd_error_va_fl((char const   *)"usage.c", 86, warn, params);
  vreportf((char const   *)"warning: ", warn, params);
  return;
}
}
static int dying  ;
static int die_is_recursing_builtin(void) ;
static int const   recursion_limit  =    (int const   )1024;
static int die_is_recursing_builtin(void)
{


  {
  dying ++;
  if (dying > (int )recursion_limit) {
    return (1);
  } else
  if (dying == 2) {
    warning((char const   *)"die() called many times. Recursion error or racy threaded death!");
    return (0);
  } else {
    return (0);
  }
}
}
static void (*usage_routine)(char const   * , va_list params )  __attribute__((__noreturn__))  =    & usage_builtin;
static void (*die_routine)(char const   * , va_list params )  __attribute__((__noreturn__))  =    & die_builtin;
static void (*die_message_routine)(char const   * , va_list params )  =    & die_message_builtin;
static void (*error_routine)(char const   * , va_list params )  =    & error_builtin;
static void (*warn_routine)(char const   * , va_list params )  =    & warn_builtin;
static int (*die_is_recursing)(void)  =    & die_is_recursing_builtin;
void set_die_routine(void (*routine)(char const   * , va_list params )  __attribute__((__noreturn__)) )
{


  {
  die_routine = routine;
  return;
}
}
report_fn get_die_message_routine(void)
{


  {
  return (die_message_routine);
}
}
void set_error_routine(void (*routine)(char const   * , va_list params ) )
{


  {
  error_routine = routine;
  return;
}
}
report_fn get_error_routine(void)
{


  {
  return (error_routine);
}
}
void set_warn_routine(void (*routine)(char const   * , va_list params ) )
{


  {
  warn_routine = routine;
  return;
}
}
report_fn get_warn_routine(void)
{


  {
  return (warn_routine);
}
}
void set_die_is_recursing_routine(int (*routine)(void) )
{


  {
  die_is_recursing = routine;
  return;
}
}
void ( /* format attribute */  usagef)(char const   *err___4  , ...)  __attribute__((__noreturn__)) ;
void ( /* format attribute */  usagef)(char const   *err___4  , ...)
{
  va_list params ;

  {
  __builtin_va_start(params, err___4);
  (*usage_routine)(err___4, params);
  __builtin_va_end(params);
}
}
void usage(char const   *err___4 )  __attribute__((__noreturn__)) ;
void usage(char const   *err___4 )
{


  {
  usagef((char const   *)"%s", err___4);
}
}
void ( /* format attribute */  die)(char const   *err___4  , ...)  __attribute__((__noreturn__)) ;
void ( /* format attribute */  die)(char const   *err___4  , ...)
{
  va_list params ;
  int tmp ;
  int tmp___0 ;

  {
  tmp___0 = (*die_is_recursing)();
  if (tmp___0) {
    fputs((char const   * __restrict  )"fatal: recursion detected in die handler\n",
          (FILE * __restrict  )stderr);
    tmp = trace2_cmd_exit_fl((char const   *)"usage.c", 177, 128);
    exit(tmp);
  }
  __builtin_va_start(params, err___4);
  (*die_routine)(err___4, params);
  __builtin_va_end(params);
}
}
static char const   *fmt_with_err(char *buf___19 , int n , char const   *fmt )
{
  char str_error[256] ;
  char *err___4 ;
  int i ;
  int j ;
  int *tmp ;
  int tmp___0 ;
  char tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = __errno_location();
  err___4 = strerror(*tmp);
  j = 0;
  i = j;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*(err___4 + i)) {
      if (! ((unsigned long )j < sizeof(str_error) - 1UL)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___0 = j;
    j ++;
    tmp___2 = i;
    i ++;
    tmp___1 = *(err___4 + tmp___2);
    str_error[tmp___0] = tmp___1;
    if ((int )tmp___1 != 37) {
      goto __Cont;
    }
    if ((unsigned long )j < sizeof(str_error) - 1UL) {
      tmp___3 = j;
      j ++;
      str_error[tmp___3] = (char )'%';
    } else {
      j --;
      goto while_break;
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  str_error[j] = (char)0;
  snprintf(buf___19, (size_t )n, (char const   *)"%s: %s", fmt, str_error);
  return ((char const   *)buf___19);
}
}
void ( /* format attribute */  die_errno)(char const   *fmt  , ...)  __attribute__((__noreturn__)) ;
void ( /* format attribute */  die_errno)(char const   *fmt  , ...)
{
  char buf___19[1024] ;
  va_list params ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;

  {
  tmp___0 = (*die_is_recursing)();
  if (tmp___0) {
    fputs((char const   * __restrict  )"fatal: recursion detected in die_errno handler\n",
          (FILE * __restrict  )stderr);
    tmp = trace2_cmd_exit_fl((char const   *)"usage.c", 217, 128);
    exit(tmp);
  }
  __builtin_va_start(params, fmt);
  tmp___1 = fmt_with_err(buf___19, (int )sizeof(buf___19), fmt);
  (*die_routine)(tmp___1, params);
  __builtin_va_end(params);
}
}
int ( /* format attribute */  die_message)(char const   *err___4  , ...)
{
  va_list params ;

  {
  __builtin_va_start(params, err___4);
  (*die_message_routine)(err___4, params);
  __builtin_va_end(params);
  return (128);
}
}
int ( /* format attribute */  die_message_errno)(char const   *fmt  , ...)
{
  char buf___19[1024] ;
  va_list params ;
  char const   *tmp ;

  {
  __builtin_va_start(params, fmt);
  tmp = fmt_with_err(buf___19, (int )sizeof(buf___19), fmt);
  (*die_message_routine)(tmp, params);
  __builtin_va_end(params);
  return (128);
}
}
int ( /* format attribute */  error_errno)(char const   *fmt  , ...)
{
  char buf___19[1024] ;
  va_list params ;
  char const   *tmp ;

  {
  __builtin_va_start(params, fmt);
  tmp = fmt_with_err(buf___19, (int )sizeof(buf___19), fmt);
  (*error_routine)(tmp, params);
  __builtin_va_end(params);
  return (-1);
}
}
int ( /* format attribute */  error)(char const   *err___4  , ...)
{
  va_list params ;

  {
  __builtin_va_start(params, err___4);
  (*error_routine)(err___4, params);
  __builtin_va_end(params);
  return (-1);
}
}
void ( /* format attribute */  warning_errno)(char const   *warn  , ...)
{
  char buf___19[1024] ;
  va_list params ;
  char const   *tmp ;

  {
  __builtin_va_start(params, warn);
  tmp = fmt_with_err(buf___19, (int )sizeof(buf___19), warn);
  (*warn_routine)(tmp, params);
  __builtin_va_end(params);
  return;
}
}
void ( /* format attribute */  warning)(char const   *warn  , ...)
{
  va_list params ;

  {
  __builtin_va_start(params, warn);
  (*warn_routine)(warn, params);
  __builtin_va_end(params);
  return;
}
}
static int in_bug  ;
static void BUG_vfl(char const   *file___0 , int line___0 , char const   *fmt , va_list params )  __attribute__((__noreturn__)) ;
static void BUG_vfl(char const   *file___0 , int line___0 , char const   *fmt , va_list params )
{
  char prefix___1[256] ;
  va_list params_copy ;
  int tmp ;

  {
  __builtin_va_copy(params_copy, params);
  if (file___0) {
    snprintf(prefix___1, sizeof(prefix___1), (char const   *)"BUG: %s:%d: ", file___0,
             line___0);
  } else {
    snprintf(prefix___1, sizeof(prefix___1), (char const   *)"BUG: ");
  }
  vreportf((char const   *)(prefix___1), fmt, params);
  if (in_bug) {
    abort();
  }
  in_bug = 1;
  trace2_cmd_error_va_fl((char const   *)"usage.c", 313, fmt, params_copy);
  if (BUG_exit_code) {
    tmp = trace2_cmd_exit_fl((char const   *)"usage.c", 316, BUG_exit_code);
    exit(tmp);
  }
  abort();
}
}
void ( /* format attribute */  BUG_fl)(char const   *file___0 , int line___0 , char const   *fmt
                                       , ...)  __attribute__((__noreturn__)) ;
void ( /* format attribute */  BUG_fl)(char const   *file___0 , int line___0 , char const   *fmt
                                       , ...)
{
  va_list ap ;

  {
  __builtin_va_start(ap, fmt);
  BUG_vfl(file___0, line___0, fmt, ap);
  __builtin_va_end(ap);
}
}
static struct userdiff_driver *drivers  ;
static int ndrivers  ;
static int drivers_alloc  ;
static struct userdiff_driver builtin_drivers[25]  =
  {      {(char const   *)"ada", (char const   *)((void *)0), -1, {(char const   *)"!^(.*[ \t])?(is[ \t]+new|renames|is[ \t]+separate)([ \t].*)?$\n!^[ \t]*with[ \t].*$\n^[ \t]*((procedure|function)[ \t]+.*)$\n^[ \t]*((package|protected|task)[ \t]+.*)$",
                                                               1 | (1 << 1)}, (char const   *)"[a-zA-Z][a-zA-Z0-9_]*|[-+]?[0-9][0-9#_.aAbBcCdDeEfF]*([eE][+-]?[0-9_]+)?|=>|\\.\\.|\\*\\*|:=|/=|>=|<=|<<|>>|<>|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"bash", (char const   *)((void *)0), -1, {(char const   *)"^[ \t]*(([a-zA-Z_][a-zA-Z0-9_]*[ \t]*\\([ \t]*\\))|(function[ \t]+[a-zA-Z_][a-zA-Z0-9_]*(([ \t]*\\([ \t]*\\))|([ \t]+)))[ \t]*(\\{|\\(\\(?|\\[\\[))",
                                                                1}, (char const   *)"[^ \t]+|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"bibtex", (char const   *)((void *)0), -1, {(char const   *)"(@[a-zA-Z]{1,}[ \t]*\\{{0,1}[ \t]*[^ \t\"@\',\\#}{~%]*).*$",
                                                                  1}, (char const   *)"[={}\"]|[^={}\" \t]+|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"cpp", (char const   *)((void *)0), -1, {(char const   *)"!^[ \t]*[A-Za-z_][A-Za-z_0-9]*:[[:space:]]*($|/[/*])\n^((::[[:space:]]*)?[A-Za-z_].*)$",
                                                               1}, (char const   *)"[a-zA-Z_][a-zA-Z0-9_]*|[0-9][0-9.]*([Ee][-+]?[0-9]+)?[fFlLuU]*|0[xXbB][0-9a-fA-F]+[lLuU]*|\\.[0-9][0-9]*([Ee][-+]?[0-9]+)?[fFlL]?|[-+*/<>%&^|=!]=|--|\\+\\+|<<=?|>>=?|&&|\\|\\||::|->\\*?|\\.\\*|<=>|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"csharp", (char const   *)((void *)0), -1, {(char const   *)"!^[ \t]*(do|while|for|if|else|instanceof|new|return|switch|case|throw|catch|using)\n^[ \t]*(((static|public|internal|private|protected|new|virtual|sealed|override|unsafe|async)[ \t]+)*[][<>@.~_[:alnum:]]+[ \t]+[<>@._[:alnum:]]+[ \t]*\\(.*\\))[ \t]*$\n^[ \t]*(((static|public|internal|private|protected|new|virtual|sealed|override|unsafe)[ \t]+)*[][<>@.~_[:alnum:]]+[ \t]+[@._[:alnum:]]+)[ \t]*$\n^[ \t]*(((static|public|internal|private|protected|new|unsafe|sealed|abstract|partial)[ \t]+)*(class|enum|interface|struct|record)[ \t]+.*)$\n^[ \t]*(namespace[ \t]+.*)$",
                                                                  1}, (char const   *)"[a-zA-Z_][a-zA-Z0-9_]*|[-+0-9.e]+[fFlL]?|0[xXbB]?[0-9a-fA-F]+[lL]?|[-+*/<>%&^|=!]=|--|\\+\\+|<<=?|>>=?|&&|\\|\\||::|->|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"css", (char const   *)((void *)0), -1, {(char const   *)"![:;][[:space:]]*$\n^[:[@.#]?[_a-z0-9].*$",
                                                               1 | (1 << 1)}, (char const   *)"-?[_a-zA-Z][-_a-zA-Z0-9]*|-?[0-9]+|\\#[0-9a-fA-F]+|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"dts", (char const   *)((void *)0), -1, {(char const   *)"!;\n!=\n^[ \t]*((/[ \t]*\\{|&?[a-zA-Z_]).*)",
                                                               1}, (char const   *)"[a-zA-Z0-9,._+?#-]+|[-+*/%&^|!~]|>>|<<|&&|\\|\\||[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"elixir", (char const   *)((void *)0), -1, {(char const   *)"^[ \t]*((def(macro|module|impl|protocol|p)?|test)[ \t].*)$",
                                                                  1}, (char const   *)"[@:]?[a-zA-Z0-9@_?!]+|[-+]?0[xob][0-9a-fA-F]+|[-+]?[0-9][0-9_.]*([eE][-+]?[0-9_]+)?|:?(\\+\\+|--|\\.\\.|~~~|<>|\\^\\^\\^|<?\\|>|<<<?|>?>>|<<?~|~>?>|<~>|<=|>=|===?|!==?|=~|&&&?|\\|\\|\\|?|=>|<-|\\\\\\\\|->)|:?%[A-Za-z0-9_.]\\{\\}?|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"fortran", (char const   *)((void *)0), -1, {(char const   *)"!^([C*]|[ \t]*!)\n!^[ \t]*MODULE[ \t]+PROCEDURE[ \t]\n^[ \t]*((END[ \t]+)?(PROGRAM|MODULE|BLOCK[ \t]+DATA|([^!\'\" \t]+[ \t]+)*(SUBROUTINE|FUNCTION))[ \t]+[A-Z].*)$",
                                                                   1 | (1 << 1)},
      (char const   *)"[a-zA-Z][a-zA-Z0-9_]*|\\.([Ee][Qq]|[Nn][Ee]|[Gg][TtEe]|[Ll][TtEe]|[Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee]|[Aa][Nn][Dd]|[Oo][Rr]|[Nn]?[Ee][Qq][Vv]|[Nn][Oo][Tt])\\.|[-+]?[0-9.]+([AaIiDdEeFfLlTtXx][Ss]?[-+]?[0-9.]*)?(_[a-zA-Z0-9][a-zA-Z0-9_]*)?|//|\\*\\*|::|[/<>=]=|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"fountain", (char const   *)((void *)0), -1, {(char const   *)"^((\\.[^.]|(int|ext|est|int\\.?/ext|i/e)[. ]).*)$",
                                                                    1 | (1 << 1)},
      (char const   *)"[^ \t-]+|[^[:space:]]|[\300-\377][\200-\277]+", (char const   *)0,
      (struct notes_cache *)0, 0},
        {(char const   *)"golang", (char const   *)((void *)0), -1, {(char const   *)"^[ \t]*(func[ \t]*.*(\\{[ \t]*)?)\n^[ \t]*(type[ \t].*(struct|interface)[ \t]*(\\{[ \t]*)?)",
                                                                  1}, (char const   *)"[a-zA-Z_][a-zA-Z0-9_]*|[-+0-9.eE]+i?|0[xX]?[0-9a-fA-F]+i?|[-+*/<>%&^|=!:]=|--|\\+\\+|<<=?|>>=?|&\\^=?|&&|\\|\\||<-|\\.{3}|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"html", (char const   *)((void *)0), -1, {(char const   *)"^[ \t]*(<[Hh][1-6]([ \t].*)?>.*)$",
                                                                1}, (char const   *)"[^<>= \t]+|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"java", (char const   *)((void *)0), -1, {(char const   *)"!^[ \t]*(catch|do|for|if|instanceof|new|return|switch|throw|while)\n^[ \t]*(([a-z]+[ \t]+)*(class|enum|interface)[ \t]+[A-Za-z][A-Za-z0-9_$]*[ \t]+.*)$\n^[ \t]*(([A-Za-z_<>&][][?&<>.,A-Za-z_0-9]*[ \t]+)+[A-Za-z_][A-Za-z_0-9]*[ \t]*\\([^;]*)$",
                                                                1}, (char const   *)"[a-zA-Z_][a-zA-Z0-9_]*|[-+0-9.e]+[fFlL]?|0[xXbB]?[0-9a-fA-F]+[lL]?|[-+*/<>%&^|=!]=|--|\\+\\+|<<=?|>>>?=?|&&|\\|\\||[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"markdown", (char const   *)((void *)0), -1, {(char const   *)"^ {0,3}#{1,6}[ \t].*",
                                                                    1}, (char const   *)"[^<>= \t]+|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"matlab", (char const   *)((void *)0), -1, {(char const   *)"^[[:space:]]*((classdef|function)[[:space:]].*)$|^(%%%?|##)[[:space:]].*$",
                                                                  1}, (char const   *)"[a-zA-Z_][a-zA-Z0-9_]*|[-+0-9.e]+|[=~<>]=|\\.[*/\\^\']|\\|\\||&&|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"objc", (char const   *)((void *)0), -1, {(char const   *)"!^[ \t]*(do|for|if|else|return|switch|while)\n^[ \t]*([-+][ \t]*\\([ \t]*[A-Za-z_][A-Za-z_0-9* \t]*\\)[ \t]*[A-Za-z_].*)$\n^[ \t]*(([A-Za-z_][A-Za-z_0-9]*[ \t]+)+[A-Za-z_][A-Za-z_0-9]*[ \t]*\\([^;]*)$\n^(@(implementation|interface|protocol)[ \t].*)$",
                                                                1}, (char const   *)"[a-zA-Z_][a-zA-Z0-9_]*|[-+0-9.e]+[fFlL]?|0[xXbB]?[0-9a-fA-F]+[lL]?|[-+*/<>%&^|=!]=|--|\\+\\+|<<=?|>>=?|&&|\\|\\||::|->|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"pascal", (char const   *)((void *)0), -1, {(char const   *)"^(((class[ \t]+)?(procedure|function)|constructor|destructor|interface|implementation|initialization|finalization)[ \t]*.*)$\n^(.*=[ \t]*(class|record).*)$",
                                                                  1}, (char const   *)"[a-zA-Z_][a-zA-Z0-9_]*|[-+0-9.e]+|0[xXbB]?[0-9a-fA-F]+|<>|<=|>=|:=|\\.\\.|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"perl", (char const   *)((void *)0), -1, {(char const   *)"^package .*\n^sub [[:alnum:]_\':]+[ \t]*(\\([^)]*\\)[ \t]*)?(:[^;#]*)?(\\{[ \t]*)?(#.*)?$\n^(BEGIN|END|INIT|CHECK|UNITCHECK|AUTOLOAD|DESTROY)[ \t]*(\\{[ \t]*)?(#.*)?$\n^=head[0-9] .*",
                                                                1}, (char const   *)"[[:alpha:]_\'][[:alnum:]_\']*|0[xb]?[0-9a-fA-F_]*|[0-9a-fA-F_]+(\\.[0-9a-fA-F_]+)?([eE][-+]?[0-9_]+)?|=>|-[rwxoRWXOezsfdlpSugkbctTBMAC>]|~~|::|&&=|\\|\\|=|//=|\\*\\*=|&&|\\|\\||//|\\+\\+|--|\\*\\*|\\.\\.\\.?|[-+*/%.^&<>=!|]=|=~|!~|<<|<>|<=>|>>|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"php", (char const   *)((void *)0), -1, {(char const   *)"^[\t ]*(((public|protected|private|static|abstract|final)[\t ]+)*function.*)$\n^[\t ]*((((final|abstract)[\t ]+)?class|enum|interface|trait).*)$",
                                                               1}, (char const   *)"[a-zA-Z_][a-zA-Z0-9_]*|[-+0-9.e]+|0[xXbB]?[0-9a-fA-F]+|[-+*/<>%&^|=!.]=|--|\\+\\+|<<=?|>>=?|===|&&|\\|\\||::|->|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"python", (char const   *)((void *)0), -1, {(char const   *)"^[ \t]*((class|(async[ \t]+)?def)[ \t].*)$",
                                                                  1}, (char const   *)"[a-zA-Z_][a-zA-Z0-9_]*|[-+0-9.e]+[jJlL]?|0[xX]?[0-9a-fA-F]+[lL]?|[-+*/<>%&^|=!]=|//=?|<<=?|>>=?|\\*\\*=?|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"ruby", (char const   *)((void *)0), -1, {(char const   *)"^[ \t]*((class|module|def)[ \t].*)$",
                                                                1}, (char const   *)"(@|@@|\\$)?[a-zA-Z_][a-zA-Z0-9_]*|[-+0-9.e]+|0[xXbB]?[0-9a-fA-F]+|\\?(\\\\C-)?(\\\\M-)?.|//=?|[-+*/<>%&^|=!]=|<<=?|>>=?|===|\\.{1,3}|::|[!=]~|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"rust", (char const   *)((void *)0), -1, {(char const   *)"^[\t ]*((pub(\\([^\\)]+\\))?[\t ]+)?((async|const|unsafe|extern([\t ]+\"[^\"]+\"))[\t ]+)?(struct|enum|union|mod|trait|fn|impl|macro_rules!)[< \t]+[^;]*)$",
                                                                1}, (char const   *)"[a-zA-Z_][a-zA-Z0-9_]*|[0-9][0-9_a-fA-Fiosuxz]*(\\.([0-9]*[eE][+-]?)?[0-9_fF]*)?|[-+*\\/<>%&^|=!:]=|<<=?|>>=?|&&|\\|\\||->|=>|\\.{2}=|\\.{3}|::|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"scheme", (char const   *)((void *)0), -1, {(char const   *)"^[\t ]*(\\(((define|def(struct|syntax|class|method|rules|record|proto|alias)?)[-*/ \t]|(library|module|struct|class)[*+ \t]).*)$",
                                                                  1}, (char const   *)"\\|([^\\\\]*)\\||([^][)(}{[ \t])+|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"tex", (char const   *)((void *)0), -1, {(char const   *)"^(\\\\((sub)*section|chapter|part)\\*{0,1}\\{.*)$",
                                                               1}, (char const   *)"\\\\[a-zA-Z@]+|\\\\.|[a-zA-Z0-9\200-\377]+|[^[:space:]]|[\300-\377][\200-\277]+",
      (char const   *)0, (struct notes_cache *)0, 0},
        {(char const   *)"default", (char const   *)((void *)0), -1, {(char const   *)((void *)0),
                                                                   0}, (char const   *)0,
      (char const   *)0, (struct notes_cache *)0, 0}};
static struct userdiff_driver driver_true  =
     {(char const   *)"diff=true", (char const   *)((void *)0), 0, {(char const   *)((void *)0),
                                                                  0}, (char const   *)0,
    (char const   *)0, (struct notes_cache *)0, 0};
static struct userdiff_driver driver_false  =
     {(char const   *)"!diff", (char const   *)((void *)0), 1, {(char const   *)((void *)0),
                                                              0}, (char const   *)0,
    (char const   *)0, (struct notes_cache *)0, 0};
static int userdiff_find_by_namelen_cb(struct userdiff_driver *driver , enum userdiff_driver_type type___0 ,
                                       void *priv )
{
  struct find_by_namelen_data *cb_data ;
  int tmp ;

  {
  cb_data = (struct find_by_namelen_data *)priv;
  tmp = strncmp(driver->name, cb_data->name, cb_data->len);
  if (! tmp) {
    if (! *(driver->name + cb_data->len)) {
      cb_data->driver = driver;
      return (1);
    }
  }
  return (0);
}
}
static struct userdiff_driver *userdiff_find_by_namelen(char const   *name___0 , size_t len___0 )
{
  struct find_by_namelen_data udcbdata ;

  {
  udcbdata.name = name___0;
  udcbdata.len = len___0;
  udcbdata.driver = (struct userdiff_driver *)0;
  for_each_userdiff_driver(& userdiff_find_by_namelen_cb, (void *)(& udcbdata));
  return (udcbdata.driver);
}
}
static int parse_funcname(struct userdiff_funcname *f , char const   *k , char const   *v ,
                          int cflags )
{
  int tmp ;

  {
  tmp = git_config_string(& f->pattern, k, v);
  if (tmp < 0) {
    return (-1);
  }
  f->cflags = cflags;
  return (0);
}
}
static int parse_tristate(int *b___0 , char const   *k , char const   *v )
{
  int tmp ;

  {
  if (v) {
    tmp = strcasecmp(v, (char const   *)"auto");
    if (tmp) {
      *b___0 = git_config_bool(k, v);
    } else {
      *b___0 = -1;
    }
  } else {
    *b___0 = git_config_bool(k, v);
  }
  return (0);
}
}
static int parse_bool(int *b___0 , char const   *k , char const   *v )
{


  {
  *b___0 = git_config_bool(k, v);
  return (0);
}
}
int userdiff_config(char const   *k , char const   *v )
{
  struct userdiff_driver *drv ;
  char const   *name___0 ;
  char const   *type___0 ;
  size_t namelen ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;
  void *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;

  {
  tmp = parse_config_key(k, (char const   *)"diff", & name___0, & namelen, & type___0);
  if (tmp) {
    return (0);
  } else
  if (! name___0) {
    return (0);
  }
  drv = userdiff_find_by_namelen(name___0, namelen);
  if (! drv) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (ndrivers + 1 > drivers_alloc) {
        if (((drivers_alloc + 16) * 3) / 2 < ndrivers + 1) {
          drivers_alloc = ndrivers + 1;
        } else {
          drivers_alloc = ((drivers_alloc + 16) * 3) / 2;
        }
        tmp___0 = st_mult(sizeof(*drivers), (size_t )drivers_alloc);
        tmp___1 = xrealloc((void *)drivers, tmp___0);
        drivers = (struct userdiff_driver *)tmp___1;
      }
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    tmp___2 = ndrivers;
    ndrivers ++;
    drv = drivers + tmp___2;
    memset((void *)drv, 0, sizeof(*drv));
    tmp___3 = xmemdupz((void const   *)name___0, namelen);
    drv->name = (char const   *)tmp___3;
    drv->binary = -1;
  }
  tmp___5 = strcmp(type___0, (char const   *)"funcname");
  if (! tmp___5) {
    tmp___4 = parse_funcname(& drv->funcname, k, v, 0);
    return (tmp___4);
  }
  tmp___7 = strcmp(type___0, (char const   *)"xfuncname");
  if (! tmp___7) {
    tmp___6 = parse_funcname(& drv->funcname, k, v, 1);
    return (tmp___6);
  }
  tmp___9 = strcmp(type___0, (char const   *)"binary");
  if (! tmp___9) {
    tmp___8 = parse_tristate(& drv->binary, k, v);
    return (tmp___8);
  }
  tmp___11 = strcmp(type___0, (char const   *)"command");
  if (! tmp___11) {
    tmp___10 = git_config_string(& drv->external, k, v);
    return (tmp___10);
  }
  tmp___13 = strcmp(type___0, (char const   *)"textconv");
  if (! tmp___13) {
    tmp___12 = git_config_string(& drv->textconv, k, v);
    return (tmp___12);
  }
  tmp___15 = strcmp(type___0, (char const   *)"cachetextconv");
  if (! tmp___15) {
    tmp___14 = parse_bool(& drv->textconv_want_cache, k, v);
    return (tmp___14);
  }
  tmp___17 = strcmp(type___0, (char const   *)"wordregex");
  if (! tmp___17) {
    tmp___16 = git_config_string(& drv->word_regex, k, v);
    return (tmp___16);
  }
  return (0);
}
}
struct userdiff_driver *userdiff_find_by_name(char const   *name___0 )
{
  int len___0 ;
  size_t tmp ;
  struct userdiff_driver *tmp___0 ;

  {
  tmp = strlen(name___0);
  len___0 = (int )tmp;
  tmp___0 = userdiff_find_by_namelen(name___0, (size_t )len___0);
  return (tmp___0);
}
}
static struct attr_check *check___2  ;
struct userdiff_driver *userdiff_find_by_path(struct index_state *istate , char const   *path___6 )
{
  struct userdiff_driver *tmp ;

  {
  if (! check___2) {
    check___2 = attr_check_initl((char const   *)"diff", (void *)0);
  }
  if (! path___6) {
    return ((struct userdiff_driver *)((void *)0));
  }
  git_check_attr(istate, path___6, check___2);
  if ((unsigned long )(check___2->items + 0)->value == (unsigned long )(git_attr__true)) {
    return (& driver_true);
  }
  if ((unsigned long )(check___2->items + 0)->value == (unsigned long )(git_attr__false)) {
    return (& driver_false);
  }
  if ((unsigned long )(check___2->items + 0)->value == (unsigned long )((void *)0)) {
    return ((struct userdiff_driver *)((void *)0));
  }
  tmp = userdiff_find_by_name((check___2->items + 0)->value);
  return (tmp);
}
}
struct userdiff_driver *userdiff_get_textconv(struct repository *r , struct userdiff_driver *driver )
{
  struct notes_cache *c___0 ;
  void *tmp ;
  struct strbuf name___0 ;

  {
  if (! driver->textconv) {
    return ((struct userdiff_driver *)((void *)0));
  }
  if (driver->textconv_want_cache) {
    if (! driver->textconv_cache) {
      tmp = xmalloc(sizeof(*c___0));
      c___0 = (struct notes_cache *)tmp;
      name___0.alloc = 0UL;
      name___0.len = 0UL;
      name___0.buf = strbuf_slopbuf;
      strbuf_addf(& name___0, (char const   *)"textconv/%s", driver->name);
      notes_cache_init(r, c___0, (char const   *)name___0.buf, driver->textconv);
      driver->textconv_cache = c___0;
      strbuf_release(& name___0);
    }
  }
  return (driver);
}
}
static int for_each_userdiff_driver_list(int (*fn)(struct userdiff_driver * , enum userdiff_driver_type  ,
                                                   void * ) , enum userdiff_driver_type type___0 ,
                                         void *cb_data , struct userdiff_driver *drv ,
                                         int drv_size )
{
  int i ;
  int ret___67 ;
  struct userdiff_driver *item___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < drv_size)) {
      goto while_break;
    }
    item___0 = drv + i;
    ret___67 = (*fn)(item___0, type___0, cb_data);
    if (ret___67) {
      return (ret___67);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int for_each_userdiff_driver(int (*fn)(struct userdiff_driver * , enum userdiff_driver_type  ,
                                       void * ) , void *cb_data )
{
  int ret___67 ;

  {
  ret___67 = for_each_userdiff_driver_list(fn, (enum userdiff_driver_type )2, cb_data,
                                           drivers, ndrivers);
  if (ret___67) {
    return (ret___67);
  }
  ret___67 = for_each_userdiff_driver_list(fn, (enum userdiff_driver_type )1, cb_data,
                                           builtin_drivers, (int )(sizeof(builtin_drivers) / sizeof(builtin_drivers[0]) + (sizeof(char [1]) - 1UL)));
  if (ret___67) {
    return (ret___67);
  }
  return (0);
}
}
static char const   utf16_be_bom[2]  = {      (char const   )'\376',      (char const   )'\377'};
static char const   utf16_le_bom[2]  = {      (char const   )'\377',      (char const   )'\376'};
static char const   utf32_be_bom[4]  = {      (char const   )'\000',      (char const   )'\000',      (char const   )'\376',      (char const   )'\377'};
static char const   utf32_le_bom[4]  = {      (char const   )'\377',      (char const   )'\376',      (char const   )'\000',      (char const   )'\000'};
size_t display_mode_esc_sequence_len(char const   *s___1 )
{
  char const   *p___0 ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;

  {
  p___0 = s___1;
  tmp = p___0;
  p___0 ++;
  if ((int const   )*tmp != 27) {
    return ((size_t )0);
  }
  tmp___0 = p___0;
  p___0 ++;
  if ((int const   )*tmp___0 != 91) {
    return ((size_t )0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (((int const   )sane_ctype[(unsigned char )*p___0] & 2) != 0)) {
      if (! ((int const   )*p___0 == 59)) {
        goto while_break;
      }
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = p___0;
  p___0 ++;
  if ((int const   )*tmp___1 != 109) {
    return ((size_t )0);
  }
  return ((size_t )(p___0 - s___1));
}
}
static int bisearch(ucs_char_t ucs , struct interval  const  *table , int max )
{
  int min ;
  int mid ;

  {
  min = 0;
  if (ucs < (ucs_char_t )(table + 0)->first) {
    return (0);
  } else
  if (ucs > (ucs_char_t )(table + max)->last) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (max >= min)) {
      goto while_break;
    }
    mid = min + (max - min) / 2;
    if (ucs > (ucs_char_t )(table + mid)->last) {
      min = mid + 1;
    } else
    if (ucs < (ucs_char_t )(table + mid)->first) {
      max = mid - 1;
    } else {
      return (1);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int git_wcwidth(ucs_char_t ch___0 ) ;
static struct interval  const  zero_width[348]  =
  {      {(ucs_char_t )0x0300, (ucs_char_t )0x036F},
        {(ucs_char_t )0x0483, (ucs_char_t )0x0489},
        {(ucs_char_t )0x0591, (ucs_char_t )0x05BD},
        {(ucs_char_t )0x05BF, (ucs_char_t )0x05BF},
        {(ucs_char_t )0x05C1, (ucs_char_t )0x05C2},
        {(ucs_char_t )0x05C4, (ucs_char_t )0x05C5},
        {(ucs_char_t )0x05C7, (ucs_char_t )0x05C7},
        {(ucs_char_t )0x0600, (ucs_char_t )0x0605},
        {(ucs_char_t )0x0610, (ucs_char_t )0x061A},
        {(ucs_char_t )0x061C, (ucs_char_t )0x061C},
        {(ucs_char_t )0x064B, (ucs_char_t )0x065F},
        {(ucs_char_t )0x0670, (ucs_char_t )0x0670},
        {(ucs_char_t )0x06D6, (ucs_char_t )0x06DD},
        {(ucs_char_t )0x06DF, (ucs_char_t )0x06E4},
        {(ucs_char_t )0x06E7, (ucs_char_t )0x06E8},
        {(ucs_char_t )0x06EA, (ucs_char_t )0x06ED},
        {(ucs_char_t )0x070F, (ucs_char_t )0x070F},
        {(ucs_char_t )0x0711, (ucs_char_t )0x0711},
        {(ucs_char_t )0x0730, (ucs_char_t )0x074A},
        {(ucs_char_t )0x07A6, (ucs_char_t )0x07B0},
        {(ucs_char_t )0x07EB, (ucs_char_t )0x07F3},
        {(ucs_char_t )0x07FD, (ucs_char_t )0x07FD},
        {(ucs_char_t )0x0816, (ucs_char_t )0x0819},
        {(ucs_char_t )0x081B, (ucs_char_t )0x0823},
        {(ucs_char_t )0x0825, (ucs_char_t )0x0827},
        {(ucs_char_t )0x0829, (ucs_char_t )0x082D},
        {(ucs_char_t )0x0859, (ucs_char_t )0x085B},
        {(ucs_char_t )0x0890, (ucs_char_t )0x0891},
        {(ucs_char_t )0x0898, (ucs_char_t )0x089F},
        {(ucs_char_t )0x08CA, (ucs_char_t )0x0902},
        {(ucs_char_t )0x093A, (ucs_char_t )0x093A},
        {(ucs_char_t )0x093C, (ucs_char_t )0x093C},
        {(ucs_char_t )0x0941, (ucs_char_t )0x0948},
        {(ucs_char_t )0x094D, (ucs_char_t )0x094D},
        {(ucs_char_t )0x0951, (ucs_char_t )0x0957},
        {(ucs_char_t )0x0962, (ucs_char_t )0x0963},
        {(ucs_char_t )0x0981, (ucs_char_t )0x0981},
        {(ucs_char_t )0x09BC, (ucs_char_t )0x09BC},
        {(ucs_char_t )0x09C1, (ucs_char_t )0x09C4},
        {(ucs_char_t )0x09CD, (ucs_char_t )0x09CD},
        {(ucs_char_t )0x09E2, (ucs_char_t )0x09E3},
        {(ucs_char_t )0x09FE, (ucs_char_t )0x09FE},
        {(ucs_char_t )0x0A01, (ucs_char_t )0x0A02},
        {(ucs_char_t )0x0A3C, (ucs_char_t )0x0A3C},
        {(ucs_char_t )0x0A41, (ucs_char_t )0x0A42},
        {(ucs_char_t )0x0A47, (ucs_char_t )0x0A48},
        {(ucs_char_t )0x0A4B, (ucs_char_t )0x0A4D},
        {(ucs_char_t )0x0A51, (ucs_char_t )0x0A51},
        {(ucs_char_t )0x0A70, (ucs_char_t )0x0A71},
        {(ucs_char_t )0x0A75, (ucs_char_t )0x0A75},
        {(ucs_char_t )0x0A81, (ucs_char_t )0x0A82},
        {(ucs_char_t )0x0ABC, (ucs_char_t )0x0ABC},
        {(ucs_char_t )0x0AC1, (ucs_char_t )0x0AC5},
        {(ucs_char_t )0x0AC7, (ucs_char_t )0x0AC8},
        {(ucs_char_t )0x0ACD, (ucs_char_t )0x0ACD},
        {(ucs_char_t )0x0AE2, (ucs_char_t )0x0AE3},
        {(ucs_char_t )0x0AFA, (ucs_char_t )0x0AFF},
        {(ucs_char_t )0x0B01, (ucs_char_t )0x0B01},
        {(ucs_char_t )0x0B3C, (ucs_char_t )0x0B3C},
        {(ucs_char_t )0x0B3F, (ucs_char_t )0x0B3F},
        {(ucs_char_t )0x0B41, (ucs_char_t )0x0B44},
        {(ucs_char_t )0x0B4D, (ucs_char_t )0x0B4D},
        {(ucs_char_t )0x0B55, (ucs_char_t )0x0B56},
        {(ucs_char_t )0x0B62, (ucs_char_t )0x0B63},
        {(ucs_char_t )0x0B82, (ucs_char_t )0x0B82},
        {(ucs_char_t )0x0BC0, (ucs_char_t )0x0BC0},
        {(ucs_char_t )0x0BCD, (ucs_char_t )0x0BCD},
        {(ucs_char_t )0x0C00, (ucs_char_t )0x0C00},
        {(ucs_char_t )0x0C04, (ucs_char_t )0x0C04},
        {(ucs_char_t )0x0C3C, (ucs_char_t )0x0C3C},
        {(ucs_char_t )0x0C3E, (ucs_char_t )0x0C40},
        {(ucs_char_t )0x0C46, (ucs_char_t )0x0C48},
        {(ucs_char_t )0x0C4A, (ucs_char_t )0x0C4D},
        {(ucs_char_t )0x0C55, (ucs_char_t )0x0C56},
        {(ucs_char_t )0x0C62, (ucs_char_t )0x0C63},
        {(ucs_char_t )0x0C81, (ucs_char_t )0x0C81},
        {(ucs_char_t )0x0CBC, (ucs_char_t )0x0CBC},
        {(ucs_char_t )0x0CBF, (ucs_char_t )0x0CBF},
        {(ucs_char_t )0x0CC6, (ucs_char_t )0x0CC6},
        {(ucs_char_t )0x0CCC, (ucs_char_t )0x0CCD},
        {(ucs_char_t )0x0CE2, (ucs_char_t )0x0CE3},
        {(ucs_char_t )0x0D00, (ucs_char_t )0x0D01},
        {(ucs_char_t )0x0D3B, (ucs_char_t )0x0D3C},
        {(ucs_char_t )0x0D41, (ucs_char_t )0x0D44},
        {(ucs_char_t )0x0D4D, (ucs_char_t )0x0D4D},
        {(ucs_char_t )0x0D62, (ucs_char_t )0x0D63},
        {(ucs_char_t )0x0D81, (ucs_char_t )0x0D81},
        {(ucs_char_t )0x0DCA, (ucs_char_t )0x0DCA},
        {(ucs_char_t )0x0DD2, (ucs_char_t )0x0DD4},
        {(ucs_char_t )0x0DD6, (ucs_char_t )0x0DD6},
        {(ucs_char_t )0x0E31, (ucs_char_t )0x0E31},
        {(ucs_char_t )0x0E34, (ucs_char_t )0x0E3A},
        {(ucs_char_t )0x0E47, (ucs_char_t )0x0E4E},
        {(ucs_char_t )0x0EB1, (ucs_char_t )0x0EB1},
        {(ucs_char_t )0x0EB4, (ucs_char_t )0x0EBC},
        {(ucs_char_t )0x0EC8, (ucs_char_t )0x0ECD},
        {(ucs_char_t )0x0F18, (ucs_char_t )0x0F19},
        {(ucs_char_t )0x0F35, (ucs_char_t )0x0F35},
        {(ucs_char_t )0x0F37, (ucs_char_t )0x0F37},
        {(ucs_char_t )0x0F39, (ucs_char_t )0x0F39},
        {(ucs_char_t )0x0F71, (ucs_char_t )0x0F7E},
        {(ucs_char_t )0x0F80, (ucs_char_t )0x0F84},
        {(ucs_char_t )0x0F86, (ucs_char_t )0x0F87},
        {(ucs_char_t )0x0F8D, (ucs_char_t )0x0F97},
        {(ucs_char_t )0x0F99, (ucs_char_t )0x0FBC},
        {(ucs_char_t )0x0FC6, (ucs_char_t )0x0FC6},
        {(ucs_char_t )0x102D, (ucs_char_t )0x1030},
        {(ucs_char_t )0x1032, (ucs_char_t )0x1037},
        {(ucs_char_t )0x1039, (ucs_char_t )0x103A},
        {(ucs_char_t )0x103D, (ucs_char_t )0x103E},
        {(ucs_char_t )0x1058, (ucs_char_t )0x1059},
        {(ucs_char_t )0x105E, (ucs_char_t )0x1060},
        {(ucs_char_t )0x1071, (ucs_char_t )0x1074},
        {(ucs_char_t )0x1082, (ucs_char_t )0x1082},
        {(ucs_char_t )0x1085, (ucs_char_t )0x1086},
        {(ucs_char_t )0x108D, (ucs_char_t )0x108D},
        {(ucs_char_t )0x109D, (ucs_char_t )0x109D},
        {(ucs_char_t )0x1160, (ucs_char_t )0x11FF},
        {(ucs_char_t )0x135D, (ucs_char_t )0x135F},
        {(ucs_char_t )0x1712, (ucs_char_t )0x1714},
        {(ucs_char_t )0x1732, (ucs_char_t )0x1733},
        {(ucs_char_t )0x1752, (ucs_char_t )0x1753},
        {(ucs_char_t )0x1772, (ucs_char_t )0x1773},
        {(ucs_char_t )0x17B4, (ucs_char_t )0x17B5},
        {(ucs_char_t )0x17B7, (ucs_char_t )0x17BD},
        {(ucs_char_t )0x17C6, (ucs_char_t )0x17C6},
        {(ucs_char_t )0x17C9, (ucs_char_t )0x17D3},
        {(ucs_char_t )0x17DD, (ucs_char_t )0x17DD},
        {(ucs_char_t )0x180B, (ucs_char_t )0x180F},
        {(ucs_char_t )0x1885, (ucs_char_t )0x1886},
        {(ucs_char_t )0x18A9, (ucs_char_t )0x18A9},
        {(ucs_char_t )0x1920, (ucs_char_t )0x1922},
        {(ucs_char_t )0x1927, (ucs_char_t )0x1928},
        {(ucs_char_t )0x1932, (ucs_char_t )0x1932},
        {(ucs_char_t )0x1939, (ucs_char_t )0x193B},
        {(ucs_char_t )0x1A17, (ucs_char_t )0x1A18},
        {(ucs_char_t )0x1A1B, (ucs_char_t )0x1A1B},
        {(ucs_char_t )0x1A56, (ucs_char_t )0x1A56},
        {(ucs_char_t )0x1A58, (ucs_char_t )0x1A5E},
        {(ucs_char_t )0x1A60, (ucs_char_t )0x1A60},
        {(ucs_char_t )0x1A62, (ucs_char_t )0x1A62},
        {(ucs_char_t )0x1A65, (ucs_char_t )0x1A6C},
        {(ucs_char_t )0x1A73, (ucs_char_t )0x1A7C},
        {(ucs_char_t )0x1A7F, (ucs_char_t )0x1A7F},
        {(ucs_char_t )0x1AB0, (ucs_char_t )0x1ACE},
        {(ucs_char_t )0x1B00, (ucs_char_t )0x1B03},
        {(ucs_char_t )0x1B34, (ucs_char_t )0x1B34},
        {(ucs_char_t )0x1B36, (ucs_char_t )0x1B3A},
        {(ucs_char_t )0x1B3C, (ucs_char_t )0x1B3C},
        {(ucs_char_t )0x1B42, (ucs_char_t )0x1B42},
        {(ucs_char_t )0x1B6B, (ucs_char_t )0x1B73},
        {(ucs_char_t )0x1B80, (ucs_char_t )0x1B81},
        {(ucs_char_t )0x1BA2, (ucs_char_t )0x1BA5},
        {(ucs_char_t )0x1BA8, (ucs_char_t )0x1BA9},
        {(ucs_char_t )0x1BAB, (ucs_char_t )0x1BAD},
        {(ucs_char_t )0x1BE6, (ucs_char_t )0x1BE6},
        {(ucs_char_t )0x1BE8, (ucs_char_t )0x1BE9},
        {(ucs_char_t )0x1BED, (ucs_char_t )0x1BED},
        {(ucs_char_t )0x1BEF, (ucs_char_t )0x1BF1},
        {(ucs_char_t )0x1C2C, (ucs_char_t )0x1C33},
        {(ucs_char_t )0x1C36, (ucs_char_t )0x1C37},
        {(ucs_char_t )0x1CD0, (ucs_char_t )0x1CD2},
        {(ucs_char_t )0x1CD4, (ucs_char_t )0x1CE0},
        {(ucs_char_t )0x1CE2, (ucs_char_t )0x1CE8},
        {(ucs_char_t )0x1CED, (ucs_char_t )0x1CED},
        {(ucs_char_t )0x1CF4, (ucs_char_t )0x1CF4},
        {(ucs_char_t )0x1CF8, (ucs_char_t )0x1CF9},
        {(ucs_char_t )0x1DC0, (ucs_char_t )0x1DFF},
        {(ucs_char_t )0x200B, (ucs_char_t )0x200F},
        {(ucs_char_t )0x202A, (ucs_char_t )0x202E},
        {(ucs_char_t )0x2060, (ucs_char_t )0x2064},
        {(ucs_char_t )0x2066, (ucs_char_t )0x206F},
        {(ucs_char_t )0x20D0, (ucs_char_t )0x20F0},
        {(ucs_char_t )0x2CEF, (ucs_char_t )0x2CF1},
        {(ucs_char_t )0x2D7F, (ucs_char_t )0x2D7F},
        {(ucs_char_t )0x2DE0, (ucs_char_t )0x2DFF},
        {(ucs_char_t )0x302A, (ucs_char_t )0x302D},
        {(ucs_char_t )0x3099, (ucs_char_t )0x309A},
        {(ucs_char_t )0xA66F, (ucs_char_t )0xA672},
        {(ucs_char_t )0xA674, (ucs_char_t )0xA67D},
        {(ucs_char_t )0xA69E, (ucs_char_t )0xA69F},
        {(ucs_char_t )0xA6F0, (ucs_char_t )0xA6F1},
        {(ucs_char_t )0xA802, (ucs_char_t )0xA802},
        {(ucs_char_t )0xA806, (ucs_char_t )0xA806},
        {(ucs_char_t )0xA80B, (ucs_char_t )0xA80B},
        {(ucs_char_t )0xA825, (ucs_char_t )0xA826},
        {(ucs_char_t )0xA82C, (ucs_char_t )0xA82C},
        {(ucs_char_t )0xA8C4, (ucs_char_t )0xA8C5},
        {(ucs_char_t )0xA8E0, (ucs_char_t )0xA8F1},
        {(ucs_char_t )0xA8FF, (ucs_char_t )0xA8FF},
        {(ucs_char_t )0xA926, (ucs_char_t )0xA92D},
        {(ucs_char_t )0xA947, (ucs_char_t )0xA951},
        {(ucs_char_t )0xA980, (ucs_char_t )0xA982},
        {(ucs_char_t )0xA9B3, (ucs_char_t )0xA9B3},
        {(ucs_char_t )0xA9B6, (ucs_char_t )0xA9B9},
        {(ucs_char_t )0xA9BC, (ucs_char_t )0xA9BD},
        {(ucs_char_t )0xA9E5, (ucs_char_t )0xA9E5},
        {(ucs_char_t )0xAA29, (ucs_char_t )0xAA2E},
        {(ucs_char_t )0xAA31, (ucs_char_t )0xAA32},
        {(ucs_char_t )0xAA35, (ucs_char_t )0xAA36},
        {(ucs_char_t )0xAA43, (ucs_char_t )0xAA43},
        {(ucs_char_t )0xAA4C, (ucs_char_t )0xAA4C},
        {(ucs_char_t )0xAA7C, (ucs_char_t )0xAA7C},
        {(ucs_char_t )0xAAB0, (ucs_char_t )0xAAB0},
        {(ucs_char_t )0xAAB2, (ucs_char_t )0xAAB4},
        {(ucs_char_t )0xAAB7, (ucs_char_t )0xAAB8},
        {(ucs_char_t )0xAABE, (ucs_char_t )0xAABF},
        {(ucs_char_t )0xAAC1, (ucs_char_t )0xAAC1},
        {(ucs_char_t )0xAAEC, (ucs_char_t )0xAAED},
        {(ucs_char_t )0xAAF6, (ucs_char_t )0xAAF6},
        {(ucs_char_t )0xABE5, (ucs_char_t )0xABE5},
        {(ucs_char_t )0xABE8, (ucs_char_t )0xABE8},
        {(ucs_char_t )0xABED, (ucs_char_t )0xABED},
        {(ucs_char_t )0xFB1E, (ucs_char_t )0xFB1E},
        {(ucs_char_t )0xFE00, (ucs_char_t )0xFE0F},
        {(ucs_char_t )0xFE20, (ucs_char_t )0xFE2F},
        {(ucs_char_t )0xFEFF, (ucs_char_t )0xFEFF},
        {(ucs_char_t )0xFFF9, (ucs_char_t )0xFFFB},
        {(ucs_char_t )0x101FD, (ucs_char_t )0x101FD},
        {(ucs_char_t )0x102E0, (ucs_char_t )0x102E0},
        {(ucs_char_t )0x10376, (ucs_char_t )0x1037A},
        {(ucs_char_t )0x10A01, (ucs_char_t )0x10A03},
        {(ucs_char_t )0x10A05, (ucs_char_t )0x10A06},
        {(ucs_char_t )0x10A0C, (ucs_char_t )0x10A0F},
        {(ucs_char_t )0x10A38, (ucs_char_t )0x10A3A},
        {(ucs_char_t )0x10A3F, (ucs_char_t )0x10A3F},
        {(ucs_char_t )0x10AE5, (ucs_char_t )0x10AE6},
        {(ucs_char_t )0x10D24, (ucs_char_t )0x10D27},
        {(ucs_char_t )0x10EAB, (ucs_char_t )0x10EAC},
        {(ucs_char_t )0x10F46, (ucs_char_t )0x10F50},
        {(ucs_char_t )0x10F82, (ucs_char_t )0x10F85},
        {(ucs_char_t )0x11001, (ucs_char_t )0x11001},
        {(ucs_char_t )0x11038, (ucs_char_t )0x11046},
        {(ucs_char_t )0x11070, (ucs_char_t )0x11070},
        {(ucs_char_t )0x11073, (ucs_char_t )0x11074},
        {(ucs_char_t )0x1107F, (ucs_char_t )0x11081},
        {(ucs_char_t )0x110B3, (ucs_char_t )0x110B6},
        {(ucs_char_t )0x110B9, (ucs_char_t )0x110BA},
        {(ucs_char_t )0x110BD, (ucs_char_t )0x110BD},
        {(ucs_char_t )0x110C2, (ucs_char_t )0x110C2},
        {(ucs_char_t )0x110CD, (ucs_char_t )0x110CD},
        {(ucs_char_t )0x11100, (ucs_char_t )0x11102},
        {(ucs_char_t )0x11127, (ucs_char_t )0x1112B},
        {(ucs_char_t )0x1112D, (ucs_char_t )0x11134},
        {(ucs_char_t )0x11173, (ucs_char_t )0x11173},
        {(ucs_char_t )0x11180, (ucs_char_t )0x11181},
        {(ucs_char_t )0x111B6, (ucs_char_t )0x111BE},
        {(ucs_char_t )0x111C9, (ucs_char_t )0x111CC},
        {(ucs_char_t )0x111CF, (ucs_char_t )0x111CF},
        {(ucs_char_t )0x1122F, (ucs_char_t )0x11231},
        {(ucs_char_t )0x11234, (ucs_char_t )0x11234},
        {(ucs_char_t )0x11236, (ucs_char_t )0x11237},
        {(ucs_char_t )0x1123E, (ucs_char_t )0x1123E},
        {(ucs_char_t )0x112DF, (ucs_char_t )0x112DF},
        {(ucs_char_t )0x112E3, (ucs_char_t )0x112EA},
        {(ucs_char_t )0x11300, (ucs_char_t )0x11301},
        {(ucs_char_t )0x1133B, (ucs_char_t )0x1133C},
        {(ucs_char_t )0x11340, (ucs_char_t )0x11340},
        {(ucs_char_t )0x11366, (ucs_char_t )0x1136C},
        {(ucs_char_t )0x11370, (ucs_char_t )0x11374},
        {(ucs_char_t )0x11438, (ucs_char_t )0x1143F},
        {(ucs_char_t )0x11442, (ucs_char_t )0x11444},
        {(ucs_char_t )0x11446, (ucs_char_t )0x11446},
        {(ucs_char_t )0x1145E, (ucs_char_t )0x1145E},
        {(ucs_char_t )0x114B3, (ucs_char_t )0x114B8},
        {(ucs_char_t )0x114BA, (ucs_char_t )0x114BA},
        {(ucs_char_t )0x114BF, (ucs_char_t )0x114C0},
        {(ucs_char_t )0x114C2, (ucs_char_t )0x114C3},
        {(ucs_char_t )0x115B2, (ucs_char_t )0x115B5},
        {(ucs_char_t )0x115BC, (ucs_char_t )0x115BD},
        {(ucs_char_t )0x115BF, (ucs_char_t )0x115C0},
        {(ucs_char_t )0x115DC, (ucs_char_t )0x115DD},
        {(ucs_char_t )0x11633, (ucs_char_t )0x1163A},
        {(ucs_char_t )0x1163D, (ucs_char_t )0x1163D},
        {(ucs_char_t )0x1163F, (ucs_char_t )0x11640},
        {(ucs_char_t )0x116AB, (ucs_char_t )0x116AB},
        {(ucs_char_t )0x116AD, (ucs_char_t )0x116AD},
        {(ucs_char_t )0x116B0, (ucs_char_t )0x116B5},
        {(ucs_char_t )0x116B7, (ucs_char_t )0x116B7},
        {(ucs_char_t )0x1171D, (ucs_char_t )0x1171F},
        {(ucs_char_t )0x11722, (ucs_char_t )0x11725},
        {(ucs_char_t )0x11727, (ucs_char_t )0x1172B},
        {(ucs_char_t )0x1182F, (ucs_char_t )0x11837},
        {(ucs_char_t )0x11839, (ucs_char_t )0x1183A},
        {(ucs_char_t )0x1193B, (ucs_char_t )0x1193C},
        {(ucs_char_t )0x1193E, (ucs_char_t )0x1193E},
        {(ucs_char_t )0x11943, (ucs_char_t )0x11943},
        {(ucs_char_t )0x119D4, (ucs_char_t )0x119D7},
        {(ucs_char_t )0x119DA, (ucs_char_t )0x119DB},
        {(ucs_char_t )0x119E0, (ucs_char_t )0x119E0},
        {(ucs_char_t )0x11A01, (ucs_char_t )0x11A0A},
        {(ucs_char_t )0x11A33, (ucs_char_t )0x11A38},
        {(ucs_char_t )0x11A3B, (ucs_char_t )0x11A3E},
        {(ucs_char_t )0x11A47, (ucs_char_t )0x11A47},
        {(ucs_char_t )0x11A51, (ucs_char_t )0x11A56},
        {(ucs_char_t )0x11A59, (ucs_char_t )0x11A5B},
        {(ucs_char_t )0x11A8A, (ucs_char_t )0x11A96},
        {(ucs_char_t )0x11A98, (ucs_char_t )0x11A99},
        {(ucs_char_t )0x11C30, (ucs_char_t )0x11C36},
        {(ucs_char_t )0x11C38, (ucs_char_t )0x11C3D},
        {(ucs_char_t )0x11C3F, (ucs_char_t )0x11C3F},
        {(ucs_char_t )0x11C92, (ucs_char_t )0x11CA7},
        {(ucs_char_t )0x11CAA, (ucs_char_t )0x11CB0},
        {(ucs_char_t )0x11CB2, (ucs_char_t )0x11CB3},
        {(ucs_char_t )0x11CB5, (ucs_char_t )0x11CB6},
        {(ucs_char_t )0x11D31, (ucs_char_t )0x11D36},
        {(ucs_char_t )0x11D3A, (ucs_char_t )0x11D3A},
        {(ucs_char_t )0x11D3C, (ucs_char_t )0x11D3D},
        {(ucs_char_t )0x11D3F, (ucs_char_t )0x11D45},
        {(ucs_char_t )0x11D47, (ucs_char_t )0x11D47},
        {(ucs_char_t )0x11D90, (ucs_char_t )0x11D91},
        {(ucs_char_t )0x11D95, (ucs_char_t )0x11D95},
        {(ucs_char_t )0x11D97, (ucs_char_t )0x11D97},
        {(ucs_char_t )0x11EF3, (ucs_char_t )0x11EF4},
        {(ucs_char_t )0x13430, (ucs_char_t )0x13438},
        {(ucs_char_t )0x16AF0, (ucs_char_t )0x16AF4},
        {(ucs_char_t )0x16B30, (ucs_char_t )0x16B36},
        {(ucs_char_t )0x16F4F, (ucs_char_t )0x16F4F},
        {(ucs_char_t )0x16F8F, (ucs_char_t )0x16F92},
        {(ucs_char_t )0x16FE4, (ucs_char_t )0x16FE4},
        {(ucs_char_t )0x1BC9D, (ucs_char_t )0x1BC9E},
        {(ucs_char_t )0x1BCA0, (ucs_char_t )0x1BCA3},
        {(ucs_char_t )0x1CF00, (ucs_char_t )0x1CF2D},
        {(ucs_char_t )0x1CF30, (ucs_char_t )0x1CF46},
        {(ucs_char_t )0x1D167, (ucs_char_t )0x1D169},
        {(ucs_char_t )0x1D173, (ucs_char_t )0x1D182},
        {(ucs_char_t )0x1D185, (ucs_char_t )0x1D18B},
        {(ucs_char_t )0x1D1AA, (ucs_char_t )0x1D1AD},
        {(ucs_char_t )0x1D242, (ucs_char_t )0x1D244},
        {(ucs_char_t )0x1DA00, (ucs_char_t )0x1DA36},
        {(ucs_char_t )0x1DA3B, (ucs_char_t )0x1DA6C},
        {(ucs_char_t )0x1DA75, (ucs_char_t )0x1DA75},
        {(ucs_char_t )0x1DA84, (ucs_char_t )0x1DA84},
        {(ucs_char_t )0x1DA9B, (ucs_char_t )0x1DA9F},
        {(ucs_char_t )0x1DAA1, (ucs_char_t )0x1DAAF},
        {(ucs_char_t )0x1E000, (ucs_char_t )0x1E006},
        {(ucs_char_t )0x1E008, (ucs_char_t )0x1E018},
        {(ucs_char_t )0x1E01B, (ucs_char_t )0x1E021},
        {(ucs_char_t )0x1E023, (ucs_char_t )0x1E024},
        {(ucs_char_t )0x1E026, (ucs_char_t )0x1E02A},
        {(ucs_char_t )0x1E130, (ucs_char_t )0x1E136},
        {(ucs_char_t )0x1E2AE, (ucs_char_t )0x1E2AE},
        {(ucs_char_t )0x1E2EC, (ucs_char_t )0x1E2EF},
        {(ucs_char_t )0x1E8D0, (ucs_char_t )0x1E8D6},
        {(ucs_char_t )0x1E944, (ucs_char_t )0x1E94A},
        {(ucs_char_t )0xE0001, (ucs_char_t )0xE0001},
        {(ucs_char_t )0xE0020, (ucs_char_t )0xE007F},
        {(ucs_char_t )0xE0100, (ucs_char_t )0xE01EF}};
static struct interval  const  double_width[121]  =
  {      {(ucs_char_t )0x1100, (ucs_char_t )0x115F},
        {(ucs_char_t )0x231A, (ucs_char_t )0x231B},
        {(ucs_char_t )0x2329, (ucs_char_t )0x232A},
        {(ucs_char_t )0x23E9, (ucs_char_t )0x23EC},
        {(ucs_char_t )0x23F0, (ucs_char_t )0x23F0},
        {(ucs_char_t )0x23F3, (ucs_char_t )0x23F3},
        {(ucs_char_t )0x25FD, (ucs_char_t )0x25FE},
        {(ucs_char_t )0x2614, (ucs_char_t )0x2615},
        {(ucs_char_t )0x2648, (ucs_char_t )0x2653},
        {(ucs_char_t )0x267F, (ucs_char_t )0x267F},
        {(ucs_char_t )0x2693, (ucs_char_t )0x2693},
        {(ucs_char_t )0x26A1, (ucs_char_t )0x26A1},
        {(ucs_char_t )0x26AA, (ucs_char_t )0x26AB},
        {(ucs_char_t )0x26BD, (ucs_char_t )0x26BE},
        {(ucs_char_t )0x26C4, (ucs_char_t )0x26C5},
        {(ucs_char_t )0x26CE, (ucs_char_t )0x26CE},
        {(ucs_char_t )0x26D4, (ucs_char_t )0x26D4},
        {(ucs_char_t )0x26EA, (ucs_char_t )0x26EA},
        {(ucs_char_t )0x26F2, (ucs_char_t )0x26F3},
        {(ucs_char_t )0x26F5, (ucs_char_t )0x26F5},
        {(ucs_char_t )0x26FA, (ucs_char_t )0x26FA},
        {(ucs_char_t )0x26FD, (ucs_char_t )0x26FD},
        {(ucs_char_t )0x2705, (ucs_char_t )0x2705},
        {(ucs_char_t )0x270A, (ucs_char_t )0x270B},
        {(ucs_char_t )0x2728, (ucs_char_t )0x2728},
        {(ucs_char_t )0x274C, (ucs_char_t )0x274C},
        {(ucs_char_t )0x274E, (ucs_char_t )0x274E},
        {(ucs_char_t )0x2753, (ucs_char_t )0x2755},
        {(ucs_char_t )0x2757, (ucs_char_t )0x2757},
        {(ucs_char_t )0x2795, (ucs_char_t )0x2797},
        {(ucs_char_t )0x27B0, (ucs_char_t )0x27B0},
        {(ucs_char_t )0x27BF, (ucs_char_t )0x27BF},
        {(ucs_char_t )0x2B1B, (ucs_char_t )0x2B1C},
        {(ucs_char_t )0x2B50, (ucs_char_t )0x2B50},
        {(ucs_char_t )0x2B55, (ucs_char_t )0x2B55},
        {(ucs_char_t )0x2E80, (ucs_char_t )0x2E99},
        {(ucs_char_t )0x2E9B, (ucs_char_t )0x2EF3},
        {(ucs_char_t )0x2F00, (ucs_char_t )0x2FD5},
        {(ucs_char_t )0x2FF0, (ucs_char_t )0x2FFB},
        {(ucs_char_t )0x3000, (ucs_char_t )0x303E},
        {(ucs_char_t )0x3041, (ucs_char_t )0x3096},
        {(ucs_char_t )0x3099, (ucs_char_t )0x30FF},
        {(ucs_char_t )0x3105, (ucs_char_t )0x312F},
        {(ucs_char_t )0x3131, (ucs_char_t )0x318E},
        {(ucs_char_t )0x3190, (ucs_char_t )0x31E3},
        {(ucs_char_t )0x31F0, (ucs_char_t )0x321E},
        {(ucs_char_t )0x3220, (ucs_char_t )0x3247},
        {(ucs_char_t )0x3250, (ucs_char_t )0x4DBF},
        {(ucs_char_t )0x4E00, (ucs_char_t )0xA48C},
        {(ucs_char_t )0xA490, (ucs_char_t )0xA4C6},
        {(ucs_char_t )0xA960, (ucs_char_t )0xA97C},
        {(ucs_char_t )0xAC00, (ucs_char_t )0xD7A3},
        {(ucs_char_t )0xF900, (ucs_char_t )0xFAFF},
        {(ucs_char_t )0xFE10, (ucs_char_t )0xFE19},
        {(ucs_char_t )0xFE30, (ucs_char_t )0xFE52},
        {(ucs_char_t )0xFE54, (ucs_char_t )0xFE66},
        {(ucs_char_t )0xFE68, (ucs_char_t )0xFE6B},
        {(ucs_char_t )0xFF01, (ucs_char_t )0xFF60},
        {(ucs_char_t )0xFFE0, (ucs_char_t )0xFFE6},
        {(ucs_char_t )0x16FE0, (ucs_char_t )0x16FE4},
        {(ucs_char_t )0x16FF0, (ucs_char_t )0x16FF1},
        {(ucs_char_t )0x17000, (ucs_char_t )0x187F7},
        {(ucs_char_t )0x18800, (ucs_char_t )0x18CD5},
        {(ucs_char_t )0x18D00, (ucs_char_t )0x18D08},
        {(ucs_char_t )0x1AFF0, (ucs_char_t )0x1AFF3},
        {(ucs_char_t )0x1AFF5, (ucs_char_t )0x1AFFB},
        {(ucs_char_t )0x1AFFD, (ucs_char_t )0x1AFFE},
        {(ucs_char_t )0x1B000, (ucs_char_t )0x1B122},
        {(ucs_char_t )0x1B150, (ucs_char_t )0x1B152},
        {(ucs_char_t )0x1B164, (ucs_char_t )0x1B167},
        {(ucs_char_t )0x1B170, (ucs_char_t )0x1B2FB},
        {(ucs_char_t )0x1F004, (ucs_char_t )0x1F004},
        {(ucs_char_t )0x1F0CF, (ucs_char_t )0x1F0CF},
        {(ucs_char_t )0x1F18E, (ucs_char_t )0x1F18E},
        {(ucs_char_t )0x1F191, (ucs_char_t )0x1F19A},
        {(ucs_char_t )0x1F200, (ucs_char_t )0x1F202},
        {(ucs_char_t )0x1F210, (ucs_char_t )0x1F23B},
        {(ucs_char_t )0x1F240, (ucs_char_t )0x1F248},
        {(ucs_char_t )0x1F250, (ucs_char_t )0x1F251},
        {(ucs_char_t )0x1F260, (ucs_char_t )0x1F265},
        {(ucs_char_t )0x1F300, (ucs_char_t )0x1F320},
        {(ucs_char_t )0x1F32D, (ucs_char_t )0x1F335},
        {(ucs_char_t )0x1F337, (ucs_char_t )0x1F37C},
        {(ucs_char_t )0x1F37E, (ucs_char_t )0x1F393},
        {(ucs_char_t )0x1F3A0, (ucs_char_t )0x1F3CA},
        {(ucs_char_t )0x1F3CF, (ucs_char_t )0x1F3D3},
        {(ucs_char_t )0x1F3E0, (ucs_char_t )0x1F3F0},
        {(ucs_char_t )0x1F3F4, (ucs_char_t )0x1F3F4},
        {(ucs_char_t )0x1F3F8, (ucs_char_t )0x1F43E},
        {(ucs_char_t )0x1F440, (ucs_char_t )0x1F440},
        {(ucs_char_t )0x1F442, (ucs_char_t )0x1F4FC},
        {(ucs_char_t )0x1F4FF, (ucs_char_t )0x1F53D},
        {(ucs_char_t )0x1F54B, (ucs_char_t )0x1F54E},
        {(ucs_char_t )0x1F550, (ucs_char_t )0x1F567},
        {(ucs_char_t )0x1F57A, (ucs_char_t )0x1F57A},
        {(ucs_char_t )0x1F595, (ucs_char_t )0x1F596},
        {(ucs_char_t )0x1F5A4, (ucs_char_t )0x1F5A4},
        {(ucs_char_t )0x1F5FB, (ucs_char_t )0x1F64F},
        {(ucs_char_t )0x1F680, (ucs_char_t )0x1F6C5},
        {(ucs_char_t )0x1F6CC, (ucs_char_t )0x1F6CC},
        {(ucs_char_t )0x1F6D0, (ucs_char_t )0x1F6D2},
        {(ucs_char_t )0x1F6D5, (ucs_char_t )0x1F6D7},
        {(ucs_char_t )0x1F6DD, (ucs_char_t )0x1F6DF},
        {(ucs_char_t )0x1F6EB, (ucs_char_t )0x1F6EC},
        {(ucs_char_t )0x1F6F4, (ucs_char_t )0x1F6FC},
        {(ucs_char_t )0x1F7E0, (ucs_char_t )0x1F7EB},
        {(ucs_char_t )0x1F7F0, (ucs_char_t )0x1F7F0},
        {(ucs_char_t )0x1F90C, (ucs_char_t )0x1F93A},
        {(ucs_char_t )0x1F93C, (ucs_char_t )0x1F945},
        {(ucs_char_t )0x1F947, (ucs_char_t )0x1F9FF},
        {(ucs_char_t )0x1FA70, (ucs_char_t )0x1FA74},
        {(ucs_char_t )0x1FA78, (ucs_char_t )0x1FA7C},
        {(ucs_char_t )0x1FA80, (ucs_char_t )0x1FA86},
        {(ucs_char_t )0x1FA90, (ucs_char_t )0x1FAAC},
        {(ucs_char_t )0x1FAB0, (ucs_char_t )0x1FABA},
        {(ucs_char_t )0x1FAC0, (ucs_char_t )0x1FAC5},
        {(ucs_char_t )0x1FAD0, (ucs_char_t )0x1FAD9},
        {(ucs_char_t )0x1FAE0, (ucs_char_t )0x1FAE7},
        {(ucs_char_t )0x1FAF0, (ucs_char_t )0x1FAF6},
        {(ucs_char_t )0x20000, (ucs_char_t )0x2FFFD},
        {(ucs_char_t )0x30000, (ucs_char_t )0x3FFFD}};
static int git_wcwidth(ucs_char_t ch___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  if (ch___0 == 0U) {
    return (0);
  }
  if (ch___0 < 32U) {
    return (-1);
  } else
  if (ch___0 >= 127U) {
    if (ch___0 < 160U) {
      return (-1);
    }
  }
  tmp = bisearch(ch___0, zero_width, (int )((sizeof(zero_width) / sizeof(zero_width[0]) + (sizeof(char [1]) - 1UL)) - 1UL));
  if (tmp) {
    return (0);
  }
  tmp___0 = bisearch(ch___0, double_width, (int )((sizeof(double_width) / sizeof(double_width[0]) + (sizeof(char [1]) - 1UL)) - 1UL));
  if (tmp___0) {
    return (2);
  }
  return (1);
}
}
static ucs_char_t pick_one_utf8_char(char const   **start , size_t *remainder_p )
{
  unsigned char *s___1 ;
  ucs_char_t ch___0 ;
  size_t remainder ;
  size_t incr ;

  {
  s___1 = (unsigned char *)*start;
  if (remainder_p) {
    remainder = *remainder_p;
  } else {
    remainder = (size_t )999;
  }
  if (remainder < 1UL) {
    goto invalid;
  } else
  if ((int )*s___1 < 0x80) {
    ch___0 = (ucs_char_t )*s___1;
    incr = (size_t )1;
  } else
  if (((int )*(s___1 + 0) & 0xe0) == 0xc0) {
    if (remainder < 2UL) {
      goto invalid;
    } else
    if (((int )*(s___1 + 1) & 0xc0) != 0x80) {
      goto invalid;
    } else
    if (((int )*(s___1 + 0) & 0xfe) == 0xc0) {
      goto invalid;
    }
    ch___0 = (ucs_char_t )((((int )*(s___1 + 0) & 0x1f) << 6) | ((int )*(s___1 + 1) & 0x3f));
    incr = (size_t )2;
  } else
  if (((int )*(s___1 + 0) & 0xf0) == 0xe0) {
    if (remainder < 3UL) {
      goto invalid;
    } else
    if (((int )*(s___1 + 1) & 0xc0) != 0x80) {
      goto invalid;
    } else
    if (((int )*(s___1 + 2) & 0xc0) != 0x80) {
      goto invalid;
    } else
    if ((int )*(s___1 + 0) == 0xe0) {
      if (((int )*(s___1 + 1) & 0xe0) == 0x80) {
        goto invalid;
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if ((int )*(s___1 + 0) == 0xed) {
      if (((int )*(s___1 + 1) & 0xe0) == 0xa0) {
        goto invalid;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if ((int )*(s___1 + 0) == 0xef) {
      if ((int )*(s___1 + 1) == 0xbf) {
        if (((int )*(s___1 + 2) & 0xfe) == 0xbe) {
          goto invalid;
        }
      }
    }
    ch___0 = (ucs_char_t )(((((int )*(s___1 + 0) & 0x0f) << 12) | (((int )*(s___1 + 1) & 0x3f) << 6)) | ((int )*(s___1 + 2) & 0x3f));
    incr = (size_t )3;
  } else
  if (((int )*(s___1 + 0) & 0xf8) == 0xf0) {
    if (remainder < 4UL) {
      goto invalid;
    } else
    if (((int )*(s___1 + 1) & 0xc0) != 0x80) {
      goto invalid;
    } else
    if (((int )*(s___1 + 2) & 0xc0) != 0x80) {
      goto invalid;
    } else
    if (((int )*(s___1 + 3) & 0xc0) != 0x80) {
      goto invalid;
    } else
    if ((int )*(s___1 + 0) == 0xf0) {
      if (((int )*(s___1 + 1) & 0xf0) == 0x80) {
        goto invalid;
      } else {
        goto _L___2;
      }
    } else
    _L___2: /* CIL Label */
    if ((int )*(s___1 + 0) == 0xf4) {
      if ((int )*(s___1 + 1) > 0x8f) {
        goto invalid;
      } else {
        goto _L___1;
      }
    } else
    _L___1: /* CIL Label */
    if ((int )*(s___1 + 0) > 0xf4) {
      goto invalid;
    }
    ch___0 = (ucs_char_t )((((((int )*(s___1 + 0) & 0x07) << 18) | (((int )*(s___1 + 1) & 0x3f) << 12)) | (((int )*(s___1 + 2) & 0x3f) << 6)) | ((int )*(s___1 + 3) & 0x3f));
    incr = (size_t )4;
  } else {
    invalid:
    *start = (char const   *)((void *)0);
    return ((ucs_char_t )0);
  }
  *start += incr;
  if (remainder_p) {
    *remainder_p = remainder - incr;
  }
  return (ch___0);
}
}
int utf8_width(char const   **start , size_t *remainder_p )
{
  ucs_char_t ch___0 ;
  ucs_char_t tmp ;
  int tmp___0 ;

  {
  tmp = pick_one_utf8_char(start, remainder_p);
  ch___0 = tmp;
  if (! *start) {
    return (0);
  }
  tmp___0 = git_wcwidth(ch___0);
  return (tmp___0);
}
}
int utf8_strnwidth(char const   *string___0 , int len___0 , int skip_ansi )
{
  int width ;
  char const   *orig ;
  size_t tmp ;
  int skip ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  width = 0;
  orig = string___0;
  if (len___0 == -1) {
    tmp = strlen(string___0);
    len___0 = (int )tmp;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (string___0) {
      if (! ((unsigned long )string___0 < (unsigned long )(orig + len___0))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (skip_ansi) {
        tmp___0 = display_mode_esc_sequence_len(string___0);
        skip = (int )tmp___0;
        if (! (skip != 0)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      string___0 += skip;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___1 = utf8_width(& string___0, (size_t *)((void *)0));
    width += tmp___1;
  }
  while_break: /* CIL Label */ ;
  }
  if (string___0) {
    tmp___2 = width;
  } else {
    tmp___2 = len___0;
  }
  return (tmp___2);
}
}
int utf8_strwidth(char const   *string___0 )
{
  int tmp ;

  {
  tmp = utf8_strnwidth(string___0, -1, 0);
  return (tmp);
}
}
int is_utf8(char const   *text )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *text) {
      goto while_break;
    }
    if ((int const   )*text == 10) {
      text ++;
      goto while_continue;
    } else
    if ((int const   )*text == 9) {
      text ++;
      goto while_continue;
    } else
    if ((int const   )*text == 13) {
      text ++;
      goto while_continue;
    }
    utf8_width(& text, (size_t *)((void *)0));
    if (! text) {
      return (0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static void strbuf_add_indented_text(struct strbuf *buf___19 , char const   *text ,
                                     int indent , int indent2 )
{
  char const   *eol ;
  char *tmp ;

  {
  if (indent < 0) {
    indent = 0;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *text) {
      goto while_break;
    }
    tmp = strchrnul(text, '\n');
    eol = (char const   *)tmp;
    if ((int const   )*eol == 10) {
      eol ++;
    }
    strbuf_addchars(buf___19, ' ', (size_t )indent);
    strbuf_add(buf___19, (void const   *)text, (size_t )(eol - text));
    text = eol;
    indent = indent2;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void strbuf_add_wrapped_text(struct strbuf *buf___19 , char const   *text , int indent1 ,
                             int indent2 , int width )
{
  int indent ;
  int w ;
  int assume_utf8 ;
  char const   *bol ;
  char const   *space___0 ;
  char const   *start ;
  size_t orig_len ;
  char c___0 ;
  size_t skip ;
  char const   *start___0 ;
  int tmp ;

  {
  assume_utf8 = 1;
  start = text;
  orig_len = buf___19->len;
  if (width <= 0) {
    strbuf_add_indented_text(buf___19, text, indent1, indent2);
    return;
  }
  retry:
  bol = text;
  indent = indent1;
  w = indent;
  space___0 = (char const   *)((void *)0);
  if (indent < 0) {
    w = - indent;
    space___0 = text;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      skip = display_mode_esc_sequence_len(text);
      if (! skip) {
        goto while_break___0;
      }
      text += skip;
    }
    while_break___0: /* CIL Label */ ;
    }
    c___0 = (char )*text;
    if (! c___0) {
      goto _L___0;
    } else
    if (((int const   )sane_ctype[(unsigned char )c___0] & 1) != 0) {
      _L___0: /* CIL Label */
      if (w <= width) {
        goto _L;
      } else
      if (! space___0) {
        _L: /* CIL Label */
        start___0 = bol;
        if (! c___0) {
          if ((unsigned long )text == (unsigned long )start___0) {
            return;
          }
        }
        if (space___0) {
          start___0 = space___0;
        } else {
          strbuf_addchars(buf___19, ' ', (size_t )indent);
        }
        strbuf_add(buf___19, (void const   *)start___0, (size_t )(text - start___0));
        if (! c___0) {
          return;
        }
        space___0 = text;
        if ((int )c___0 == 9) {
          w |= 0x07;
        } else
        if ((int )c___0 == 10) {
          space___0 ++;
          if ((int const   )*space___0 == 10) {
            strbuf_addch(buf___19, '\n');
            goto new_line;
          } else
          if (! (((int const   )sane_ctype[(unsigned char )*space___0] & 6) != 0)) {
            goto new_line;
          } else {
            strbuf_addch(buf___19, ' ');
          }
        }
        w ++;
        text ++;
      } else {
        new_line:
        strbuf_addch(buf___19, '\n');
        bol = space___0 + (((int const   )sane_ctype[(unsigned char )*space___0] & 1) != 0);
        text = bol;
        space___0 = (char const   *)((void *)0);
        indent = indent2;
        w = indent;
      }
      goto __Cont;
    }
    if (assume_utf8) {
      tmp = utf8_width(& text, (size_t *)((void *)0));
      w += tmp;
      if (! text) {
        assume_utf8 = 0;
        text = start;
        strbuf_setlen(buf___19, orig_len);
        goto retry;
      }
    } else {
      w ++;
      text ++;
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
}
}
void strbuf_add_wrapped_bytes(struct strbuf *buf___19 , char const   *data , int len___0 ,
                              int indent , int indent2 , int width )
{
  char *tmp ;
  char *tmp___0 ;

  {
  tmp___0 = xstrndup(data, (size_t )len___0);
  tmp = tmp___0;
  strbuf_add_wrapped_text(buf___19, (char const   *)tmp, indent, indent2, width);
  free((void *)tmp);
  return;
}
}
void strbuf_utf8_replace(struct strbuf *sb_src , int pos , int width , char const   *subst )
{
  struct strbuf sb_dst ;
  char *src ;
  char *end ;
  char *dst ;
  int w ;
  int subst_len ;
  size_t tmp ;
  char *old ;
  size_t n ;
  int tmp___0 ;

  {
  sb_dst.alloc = 0UL;
  sb_dst.len = 0UL;
  sb_dst.buf = strbuf_slopbuf;
  src = sb_src->buf;
  end = src + sb_src->len;
  w = 0;
  subst_len = 0;
  if (subst) {
    tmp = strlen(subst);
    subst_len = (int )tmp;
  }
  strbuf_grow(& sb_dst, sb_src->len + (size_t )subst_len);
  dst = sb_dst.buf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )src < (unsigned long )end)) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      n = display_mode_esc_sequence_len((char const   *)src);
      if (! n) {
        goto while_break___0;
      }
      memcpy((void *)dst, (void const   *)src, n);
      src += n;
      dst += n;
    }
    while_break___0: /* CIL Label */ ;
    }
    if ((unsigned long )src >= (unsigned long )end) {
      goto while_break;
    }
    old = src;
    tmp___0 = utf8_width((char const   **)(& src), (size_t *)((void *)0));
    n = (size_t )tmp___0;
    if (! src) {
      goto out;
    }
    if (n) {
      if (w >= pos) {
        if (w < pos + width) {
          if (subst) {
            memcpy((void *)dst, (void const   *)subst, (size_t )subst_len);
            dst += subst_len;
            subst = (char const   *)((void *)0);
          }
          w = (int )((size_t )w + n);
          goto while_continue;
        }
      }
    }
    memcpy((void *)dst, (void const   *)old, (size_t )(src - old));
    dst += src - old;
    w = (int )((size_t )w + n);
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_setlen(& sb_dst, (size_t )(dst - sb_dst.buf));
  strbuf_swap(sb_src, & sb_dst);
  out:
  strbuf_release(& sb_dst);
  return;
}
}
static int same_utf_encoding(char const   *src , char const   *dst )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___1 = skip_iprefix(src, (char const   *)"utf", & src);
  if (tmp___1) {
    tmp___2 = skip_iprefix(dst, (char const   *)"utf", & dst);
    if (tmp___2) {
      skip_prefix(src, (char const   *)"-", & src);
      skip_prefix(dst, (char const   *)"-", & dst);
      tmp = strcasecmp(src, dst);
      if (tmp) {
        tmp___0 = 0;
      } else {
        tmp___0 = 1;
      }
      return (tmp___0);
    }
  }
  return (0);
}
}
int is_encoding_utf8(char const   *name___0 )
{
  int tmp ;

  {
  if (! name___0) {
    return (1);
  }
  tmp = same_utf_encoding((char const   *)"utf-8", name___0);
  if (tmp) {
    return (1);
  }
  return (0);
}
}
static char const   utf8___1[6]  = {      (char const   )'U',      (char const   )'T',      (char const   )'F',      (char const   )'-',
        (char const   )'8',      (char const   )'\000'};
int same_encoding(char const   *src , char const   *dst )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! src) {
    src = utf8___1;
  }
  if (! dst) {
    dst = utf8___1;
  }
  tmp = same_utf_encoding(src, dst);
  if (tmp) {
    return (1);
  }
  tmp___0 = strcasecmp(src, dst);
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  return (tmp___1);
}
}
int ( /* format attribute */  utf8_fprintf)(FILE *stream , char const   *format___0
                                            , ...)
{
  struct strbuf buf___19 ;
  va_list arg ;
  int columns ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  __builtin_va_start(arg, format___0);
  strbuf_vaddf(& buf___19, format___0, arg);
  __builtin_va_end(arg);
  columns = fputs((char const   * __restrict  )buf___19.buf, (FILE * __restrict  )stream);
  if (0 <= columns) {
    columns = utf8_strwidth((char const   *)buf___19.buf);
  }
  strbuf_release(& buf___19);
  return (columns);
}
}
char *reencode_string_iconv(char const   *in , size_t insz , iconv_t conv , size_t bom_len ,
                            size_t *outsz_p )
{
  size_t outsz ;
  size_t outalloc ;
  char *out ;
  char *outpos ;
  iconv_ibp cp ;
  void *tmp ;
  size_t cnt ;
  size_t tmp___0 ;
  size_t sofar ;
  int *tmp___1 ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;

  {
  outsz = insz;
  outalloc = st_add(outsz, 1UL + bom_len);
  tmp = xmalloc(outalloc);
  out = (char *)tmp;
  outpos = out + bom_len;
  cp = (iconv_ibp )in;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = iconv(conv, (char ** __restrict  )(& cp), (size_t * __restrict  )(& insz),
                    (char ** __restrict  )(& outpos), (size_t * __restrict  )(& outsz));
    cnt = tmp___0;
    if (cnt == 18446744073709551615UL) {
      tmp___1 = __errno_location();
      if (*tmp___1 != 7) {
        free((void *)out);
        return ((char *)((void *)0));
      }
      sofar = (size_t )(outpos - out);
      tmp___2 = st_mult(insz, (size_t )2);
      tmp___3 = st_add(sofar, tmp___2);
      outalloc = st_add(tmp___3, (size_t )32);
      tmp___4 = xrealloc((void *)out, outalloc);
      out = (char *)tmp___4;
      outpos = out + sofar;
      outsz = (outalloc - sofar) - 1UL;
    } else {
      *outpos = (char )'\000';
      if (outsz_p) {
        *outsz_p = (size_t )(outpos - out);
      }
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (out);
}
}
static char const   *fallback_encoding(char const   *name___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = is_encoding_utf8(name___0);
  if (tmp) {
    return ((char const   *)"UTF-8");
  }
  tmp___0 = strcasecmp(name___0, (char const   *)"latin-1");
  if (! tmp___0) {
    return ((char const   *)"ISO-8859-1");
  }
  return (name___0);
}
}
char *reencode_string_len(char const   *in , size_t insz , char const   *out_encoding ,
                          char const   *in_encoding , size_t *outsz )
{
  iconv_t conv ;
  char *out ;
  char const   *bom_str ;
  size_t bom_len ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  bom_str = (char const   *)((void *)0);
  bom_len = (size_t )0;
  if (! in_encoding) {
    return ((char *)((void *)0));
  }
  tmp = same_utf_encoding((char const   *)"UTF-16LE-BOM", in_encoding);
  if (tmp) {
    in_encoding = (char const   *)"UTF-16";
  }
  tmp___1 = same_utf_encoding((char const   *)"UTF-16LE-BOM", out_encoding);
  if (tmp___1) {
    bom_str = utf16_le_bom;
    bom_len = sizeof(utf16_le_bom);
    out_encoding = (char const   *)"UTF-16LE";
  } else {
    tmp___0 = same_utf_encoding((char const   *)"UTF-16BE-BOM", out_encoding);
    if (tmp___0) {
      bom_str = utf16_be_bom;
      bom_len = sizeof(utf16_be_bom);
      out_encoding = (char const   *)"UTF-16BE";
    }
  }
  conv = iconv_open(out_encoding, in_encoding);
  if ((unsigned long )conv == (unsigned long )((iconv_t )-1)) {
    in_encoding = fallback_encoding(in_encoding);
    out_encoding = fallback_encoding(out_encoding);
    conv = iconv_open(out_encoding, in_encoding);
    if ((unsigned long )conv == (unsigned long )((iconv_t )-1)) {
      return ((char *)((void *)0));
    }
  }
  out = reencode_string_iconv(in, insz, conv, bom_len, outsz);
  iconv_close(conv);
  if (out) {
    if (bom_str) {
      if (bom_len) {
        memcpy((void *)out, (void const   *)bom_str, bom_len);
      }
    }
  }
  return (out);
}
}
static int has_bom_prefix(char const   *data , size_t len___0 , char const   *bom ,
                          size_t bom_len )
{
  int tmp ;
  int tmp___0 ;

  {
  if (data) {
    if (bom) {
      if (len___0 >= bom_len) {
        tmp = memcmp((void const   *)data, (void const   *)bom, bom_len);
        if (tmp) {
          tmp___0 = 0;
        } else {
          tmp___0 = 1;
        }
      } else {
        tmp___0 = 0;
      }
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
int has_prohibited_utf_bom(char const   *enc , char const   *data , size_t len___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  tmp = same_utf_encoding((char const   *)"UTF-16BE", enc);
  if (tmp) {
    goto _L___1;
  } else {
    tmp___0 = same_utf_encoding((char const   *)"UTF-16LE", enc);
    if (tmp___0) {
      _L___1: /* CIL Label */
      tmp___1 = has_bom_prefix(data, len___0, utf16_be_bom, sizeof(utf16_be_bom));
      if (tmp___1) {
        tmp___7 = 1;
      } else {
        tmp___2 = has_bom_prefix(data, len___0, utf16_le_bom, sizeof(utf16_le_bom));
        if (tmp___2) {
          tmp___7 = 1;
        } else {
          goto _L___0;
        }
      }
    } else {
      _L___0: /* CIL Label */
      tmp___3 = same_utf_encoding((char const   *)"UTF-32BE", enc);
      if (tmp___3) {
        goto _L;
      } else {
        tmp___4 = same_utf_encoding((char const   *)"UTF-32LE", enc);
        if (tmp___4) {
          _L: /* CIL Label */
          tmp___5 = has_bom_prefix(data, len___0, utf32_be_bom, sizeof(utf32_be_bom));
          if (tmp___5) {
            tmp___7 = 1;
          } else {
            tmp___6 = has_bom_prefix(data, len___0, utf32_le_bom, sizeof(utf32_le_bom));
            if (tmp___6) {
              tmp___7 = 1;
            } else {
              tmp___7 = 0;
            }
          }
        } else {
          tmp___7 = 0;
        }
      }
    }
  }
  return (tmp___7);
}
}
int is_missing_required_utf_bom(char const   *enc , char const   *data , size_t len___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = same_utf_encoding(enc, (char const   *)"UTF-16");
  if (tmp) {
    tmp___0 = has_bom_prefix(data, len___0, utf16_be_bom, sizeof(utf16_be_bom));
    if (tmp___0) {
      goto _L;
    } else {
      tmp___1 = has_bom_prefix(data, len___0, utf16_le_bom, sizeof(utf16_le_bom));
      if (tmp___1) {
        goto _L;
      } else {
        tmp___5 = 1;
      }
    }
  } else {
    _L: /* CIL Label */
    tmp___2 = same_utf_encoding(enc, (char const   *)"UTF-32");
    if (tmp___2) {
      tmp___3 = has_bom_prefix(data, len___0, utf32_be_bom, sizeof(utf32_be_bom));
      if (tmp___3) {
        tmp___5 = 0;
      } else {
        tmp___4 = has_bom_prefix(data, len___0, utf32_le_bom, sizeof(utf32_le_bom));
        if (tmp___4) {
          tmp___5 = 0;
        } else {
          tmp___5 = 1;
        }
      }
    } else {
      tmp___5 = 0;
    }
  }
  return (tmp___5);
}
}
int mbs_chrlen(char const   **text , size_t *remainder_p , char const   *encoding )
{
  int chrlen ;
  char const   *p___0 ;
  size_t r ;
  size_t tmp ;
  int tmp___0 ;

  {
  p___0 = *text;
  if (remainder_p) {
    tmp = *remainder_p;
  } else {
    tmp = 18446744073709551615UL;
  }
  r = tmp;
  if (r < 1UL) {
    return (0);
  }
  tmp___0 = is_encoding_utf8(encoding);
  if (tmp___0) {
    pick_one_utf8_char(& p___0, & r);
    if (p___0) {
      chrlen = (int )(p___0 - *text);
    } else {
      chrlen = 1;
    }
  } else {
    chrlen = 1;
  }
  *text += chrlen;
  if (remainder_p) {
    *remainder_p -= (size_t )chrlen;
  }
  return (chrlen);
}
}
static ucs_char_t next_hfs_char(char const   **in )
{
  ucs_char_t out ;
  ucs_char_t tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = pick_one_utf8_char(in, (size_t *)((void *)0));
    out = tmp;
    if (! *in) {
      return ((ucs_char_t )0);
    }
    {
    if (out == 65279U) {
      goto case_65279;
    }
    if (out == 8303U) {
      goto case_65279;
    }
    if (out == 8302U) {
      goto case_65279;
    }
    if (out == 8301U) {
      goto case_65279;
    }
    if (out == 8300U) {
      goto case_65279;
    }
    if (out == 8299U) {
      goto case_65279;
    }
    if (out == 8298U) {
      goto case_65279;
    }
    if (out == 8238U) {
      goto case_65279;
    }
    if (out == 8237U) {
      goto case_65279;
    }
    if (out == 8236U) {
      goto case_65279;
    }
    if (out == 8235U) {
      goto case_65279;
    }
    if (out == 8234U) {
      goto case_65279;
    }
    if (out == 8207U) {
      goto case_65279;
    }
    if (out == 8206U) {
      goto case_65279;
    }
    if (out == 8205U) {
      goto case_65279;
    }
    if (out == 8204U) {
      goto case_65279;
    }
    goto switch_break;
    case_65279: /* CIL Label */
    case_8303: /* CIL Label */
    case_8302: /* CIL Label */
    case_8301: /* CIL Label */
    case_8300: /* CIL Label */
    case_8299: /* CIL Label */
    case_8298: /* CIL Label */
    case_8238: /* CIL Label */
    case_8237: /* CIL Label */
    case_8236: /* CIL Label */
    case_8235: /* CIL Label */
    case_8234: /* CIL Label */
    case_8207: /* CIL Label */
    case_8206: /* CIL Label */
    case_8205: /* CIL Label */
    case_8204: /* CIL Label */
    goto while_continue;
    switch_break: /* CIL Label */ ;
    }
    return (out);
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int is_hfs_dot_generic(char const   *path___6 , char const   *needle , size_t needle_len )
{
  ucs_char_t c___0 ;
  int tmp ;
  int tmp___0 ;

  {
  c___0 = next_hfs_char(& path___6);
  if (c___0 != 46U) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (needle_len > 0UL)) {
      goto while_break;
    }
    c___0 = next_hfs_char(& path___6);
    if (c___0 > 127U) {
      return (0);
    }
    tmp = sane_case((int )((unsigned char )c___0), 0x20);
    if (tmp != (int )*needle) {
      return (0);
    }
    needle ++;
    needle_len --;
  }
  while_break: /* CIL Label */ ;
  }
  c___0 = next_hfs_char(& path___6);
  if (c___0) {
    tmp___0 = git_is_dir_sep((int )c___0);
    if (! tmp___0) {
      return (0);
    }
  }
  return (1);
}
}
__inline static int is_hfs_dot_str(char const   *path___6 , char const   *needle )
{
  size_t tmp ;
  int tmp___0 ;

  {
  tmp = strlen(needle);
  tmp___0 = is_hfs_dot_generic(path___6, needle, tmp);
  return (tmp___0);
}
}
int is_hfs_dotgit(char const   *path___6 )
{
  int tmp ;

  {
  tmp = is_hfs_dot_str(path___6, (char const   *)"git");
  return (tmp);
}
}
int is_hfs_dotgitmodules(char const   *path___6 )
{
  int tmp ;

  {
  tmp = is_hfs_dot_str(path___6, (char const   *)"gitmodules");
  return (tmp);
}
}
int is_hfs_dotgitignore(char const   *path___6 )
{
  int tmp ;

  {
  tmp = is_hfs_dot_str(path___6, (char const   *)"gitignore");
  return (tmp);
}
}
int is_hfs_dotgitattributes(char const   *path___6 )
{
  int tmp ;

  {
  tmp = is_hfs_dot_str(path___6, (char const   *)"gitattributes");
  return (tmp);
}
}
int is_hfs_dotmailmap(char const   *path___6 )
{
  int tmp ;

  {
  tmp = is_hfs_dot_str(path___6, (char const   *)"mailmap");
  return (tmp);
}
}
char const   utf8_bom[4]  = {      (char const   )'\357',      (char const   )'\273',      (char const   )'\277',      (char const   )'\000'};
int skip_utf8_bom(char **text , size_t len___0 )
{
  size_t tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;

  {
  tmp = strlen(utf8_bom);
  if (len___0 < tmp) {
    return (0);
  } else {
    tmp___0 = strlen(utf8_bom);
    tmp___1 = memcmp((void const   *)*text, (void const   *)(utf8_bom), tmp___0);
    if (tmp___1) {
      return (0);
    }
  }
  tmp___2 = strlen(utf8_bom);
  *text += tmp___2;
  return (1);
}
}
void strbuf_utf8_align(struct strbuf *buf___19 , align_type position , unsigned int width ,
                       char const   *s___1 )
{
  int slen ;
  size_t tmp ;
  int display_len ;
  int tmp___0 ;
  int utf8_compensation ;
  int left ;

  {
  tmp = strlen(s___1);
  slen = (int )tmp;
  tmp___0 = utf8_strnwidth(s___1, slen, 0);
  display_len = tmp___0;
  utf8_compensation = slen - display_len;
  if ((unsigned int )display_len >= width) {
    strbuf_addstr(buf___19, s___1);
    return;
  }
  if ((unsigned int )position == 0U) {
    strbuf_addf(buf___19, (char const   *)"%-*s", width + (unsigned int )utf8_compensation,
                s___1);
  } else
  if ((unsigned int )position == 1U) {
    left = (int )((width - (unsigned int )display_len) / 2U);
    strbuf_addf(buf___19, (char const   *)"%*s%-*s", left, "", (width - (unsigned int )left) + (unsigned int )utf8_compensation,
                s___1);
  } else
  if ((unsigned int )position == 2U) {
    strbuf_addf(buf___19, (char const   *)"%*s", width + (unsigned int )utf8_compensation,
                s___1);
  }
  return;
}
}
uintmax_t decode_varint(unsigned char const   **bufp )
{
  unsigned char const   *buf___19 ;
  unsigned char c___0 ;
  unsigned char const   *tmp ;
  uintmax_t val ;
  unsigned char const   *tmp___0 ;

  {
  buf___19 = *bufp;
  tmp = buf___19;
  buf___19 ++;
  c___0 = (unsigned char )*tmp;
  val = (uintmax_t )((int )c___0 & 127);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((int )c___0 & 128)) {
      goto while_break;
    }
    val ++;
    if (! val) {
      return ((uintmax_t )0);
    } else
    if (val & (uintmax_t )(18446744073709551615ULL << (8UL * sizeof(val) - 7UL))) {
      return ((uintmax_t )0);
    }
    tmp___0 = buf___19;
    buf___19 ++;
    c___0 = (unsigned char )*tmp___0;
    val = (val << 7) + (uintmax_t )((int )c___0 & 127);
  }
  while_break: /* CIL Label */ ;
  }
  *bufp = buf___19;
  return (val);
}
}
int encode_varint(uintmax_t value , unsigned char *buf___19 )
{
  unsigned char varint[16] ;
  unsigned int pos ;

  {
  pos = (unsigned int )(sizeof(varint) - 1UL);
  varint[pos] = (unsigned char )(value & 127UL);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    value >>= 7;
    if (! value) {
      goto while_break;
    }
    pos --;
    value --;
    varint[pos] = (unsigned char )(128UL | (value & 127UL));
  }
  while_break: /* CIL Label */ ;
  }
  if (buf___19) {
    memcpy((void *)buf___19, (void const   *)(varint + pos), sizeof(varint) - (unsigned long )pos);
  }
  return ((int )(sizeof(varint) - (unsigned long )pos));
}
}
char const   git_version_string[25]  =
  {      (char const   )'2',      (char const   )'.',      (char const   )'3',      (char const   )'5',
        (char const   )'.',      (char const   )'0',      (char const   )'.',      (char const   )'r',
        (char const   )'c',      (char const   )'2',      (char const   )'.',      (char const   )'2',
        (char const   )'.',      (char const   )'g',      (char const   )'2',      (char const   )'9',
        (char const   )'7',      (char const   )'c',      (char const   )'a',      (char const   )'8',
        (char const   )'9',      (char const   )'5',      (char const   )'a',      (char const   )'2',
        (char const   )'\000'};
char const   git_built_from_commit_string[41]  =
  {      (char const   )'2',      (char const   )'9',      (char const   )'7',      (char const   )'c',
        (char const   )'a',      (char const   )'8',      (char const   )'9',      (char const   )'5',
        (char const   )'a',      (char const   )'2',      (char const   )'7',      (char const   )'a',
        (char const   )'6',      (char const   )'b',      (char const   )'b',      (char const   )'d',
        (char const   )'b',      (char const   )'7',      (char const   )'9',      (char const   )'0',
        (char const   )'6',      (char const   )'3',      (char const   )'7',      (char const   )'1',
        (char const   )'d',      (char const   )'5',      (char const   )'3',      (char const   )'3',
        (char const   )'f',      (char const   )'7',      (char const   )'2',      (char const   )'a',
        (char const   )'1',      (char const   )'2',      (char const   )'a',      (char const   )'d',
        (char const   )'2',      (char const   )'5',      (char const   )'b',      (char const   )'2',
        (char const   )'\000'};
static char const   *agent  =    (char const   *)((void *)0);
char const   *git_user_agent(void)
{
  char *tmp ;

  {
  if (! agent) {
    tmp = getenv((char const   *)"GIT_USER_AGENT");
    agent = (char const   *)tmp;
    if (! agent) {
      agent = (char const   *)"git/2.35.0.rc2.2.g297ca895a2";
    }
  }
  return (agent);
}
}
static char const   *agent___0  =    (char const   *)((void *)0);
char const   *git_user_agent_sanitized(void)
{
  struct strbuf buf___19 ;
  int i ;
  char const   *tmp ;

  {
  if (! agent___0) {
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    tmp = git_user_agent();
    strbuf_addstr(& buf___19, tmp);
    strbuf_trim(& buf___19);
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((size_t )i < buf___19.len)) {
        goto while_break;
      }
      if ((int )*(buf___19.buf + i) <= 32) {
        *(buf___19.buf + i) = (char )'.';
      } else
      if ((int )*(buf___19.buf + i) >= 127) {
        *(buf___19.buf + i) = (char )'.';
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    agent___0 = (char const   *)buf___19.buf;
  }
  return (agent___0);
}
}
static struct string_list  const  *prereleases  ;
static int initialized___5  ;
static void find_better_matching_suffix(char const   *tagname , char const   *suffix___3 ,
                                        int suffix_len , int start , int conf_pos ,
                                        struct suffix_match *match___0 )
{
  int end ;
  int tmp ;
  int i ;
  int tmp___0 ;

  {
  if (match___0->len < suffix_len) {
    tmp = match___0->start;
  } else {
    tmp = match___0->start - 1;
  }
  end = tmp;
  i = start;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i <= end)) {
      goto while_break;
    }
    tmp___0 = starts_with(tagname + i, suffix___3);
    if (tmp___0) {
      match___0->conf_pos = conf_pos;
      match___0->start = i;
      match___0->len = suffix_len;
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int swap_prereleases(char const   *s1 , char const   *s2 , int off , int *diff )
{
  int i ;
  struct suffix_match match1 ;
  struct suffix_match match2 ;
  char const   *suffix___3 ;
  int start ;
  int suffix_len ;
  size_t tmp ;

  {
  match1.conf_pos = -1;
  match1.start = off;
  match1.len = -1;
  match2.conf_pos = -1;
  match2.start = off;
  match2.len = -1;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < prereleases->nr)) {
      goto while_break;
    }
    suffix___3 = (char const   *)(prereleases->items + i)->string;
    tmp = strlen(suffix___3);
    suffix_len = (int )tmp;
    if (suffix_len < off) {
      start = off - suffix_len;
    } else {
      start = 0;
    }
    find_better_matching_suffix(s1, suffix___3, suffix_len, start, i, & match1);
    find_better_matching_suffix(s2, suffix___3, suffix_len, start, i, & match2);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (match1.conf_pos == -1) {
    if (match2.conf_pos == -1) {
      return (0);
    }
  }
  if (match1.conf_pos == match2.conf_pos) {
    return (0);
  }
  if (match1.conf_pos >= 0) {
    if (match2.conf_pos >= 0) {
      *diff = match1.conf_pos - match2.conf_pos;
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (match1.conf_pos >= 0) {
    *diff = -1;
  } else {
    *diff = 1;
  }
  return (1);
}
}
static uint8_t const   next_state[12]  =
  {      (uint8_t const   )0x0,      (uint8_t const   )0x3,      (uint8_t const   )0x9,      (uint8_t const   )0x0,
        (uint8_t const   )0x3,      (uint8_t const   )0x3,      (uint8_t const   )0x0,      (uint8_t const   )0x6,
        (uint8_t const   )0x6,      (uint8_t const   )0x0,      (uint8_t const   )0x6,      (uint8_t const   )0x9};
static int8_t const   result_type[36]  =
  {      (int8_t const   )2,      (int8_t const   )2,      (int8_t const   )2,      (int8_t const   )2,
        (int8_t const   )3,      (int8_t const   )2,      (int8_t const   )2,      (int8_t const   )2,
        (int8_t const   )2,      (int8_t const   )2,      (int8_t const   )-1,      (int8_t const   )-1,
        (int8_t const   )1,      (int8_t const   )3,      (int8_t const   )3,      (int8_t const   )1,
        (int8_t const   )3,      (int8_t const   )3,      (int8_t const   )2,      (int8_t const   )2,
        (int8_t const   )2,      (int8_t const   )2,      (int8_t const   )2,      (int8_t const   )2,
        (int8_t const   )2,      (int8_t const   )2,      (int8_t const   )2,      (int8_t const   )2,
        (int8_t const   )1,      (int8_t const   )1,      (int8_t const   )-1,      (int8_t const   )2,
        (int8_t const   )2,      (int8_t const   )-1,      (int8_t const   )2,      (int8_t const   )2};
int versioncmp(char const   *s1 , char const   *s2 )
{
  unsigned char const   *p1 ;
  unsigned char const   *p2 ;
  unsigned char c1 ;
  unsigned char c2 ;
  int state___1 ;
  int diff ;
  unsigned char const   *tmp ;
  unsigned char const   *tmp___0 ;
  unsigned char const   *tmp___1 ;
  unsigned char const   *tmp___2 ;
  struct string_list  const  *deprecated_prereleases ;
  int tmp___3 ;
  unsigned char const   *tmp___4 ;
  unsigned char const   *tmp___5 ;
  int tmp___6 ;

  {
  p1 = (unsigned char const   *)s1;
  p2 = (unsigned char const   *)s2;
  if ((unsigned long )p1 == (unsigned long )p2) {
    return (0);
  }
  tmp = p1;
  p1 ++;
  c1 = (unsigned char )*tmp;
  tmp___0 = p2;
  p2 ++;
  c2 = (unsigned char )*tmp___0;
  state___1 = ((int )c1 == 48) + ((((int const   )sane_ctype[c1] & 2) != 0) != 0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    diff = (int )c1 - (int )c2;
    if (! (diff == 0)) {
      goto while_break;
    }
    if ((int )c1 == 0) {
      return (diff);
    }
    state___1 = (int )next_state[state___1];
    tmp___1 = p1;
    p1 ++;
    c1 = (unsigned char )*tmp___1;
    tmp___2 = p2;
    p2 ++;
    c2 = (unsigned char )*tmp___2;
    state___1 += ((int )c1 == 48) + ((((int const   )sane_ctype[c1] & 2) != 0) != 0);
  }
  while_break: /* CIL Label */ ;
  }
  if (! initialized___5) {
    initialized___5 = 1;
    prereleases = git_config_get_value_multi((char const   *)"versionsort.suffix");
    deprecated_prereleases = git_config_get_value_multi((char const   *)"versionsort.prereleasesuffix");
    if (prereleases) {
      if (deprecated_prereleases) {
        warning((char const   *)"ignoring versionsort.prereleasesuffix because versionsort.suffix is set");
      }
    } else {
      prereleases = deprecated_prereleases;
    }
  }
  if (prereleases) {
    tmp___3 = swap_prereleases(s1, s2, (int )(((char const   *)p1 - s1) - 1L), & diff);
    if (tmp___3) {
      return (diff);
    }
  }
  state___1 = (int )result_type[state___1 * 3 + (((int )c2 == 48) + ((((int const   )sane_ctype[c2] & 2) != 0) != 0))];
  {
  if (state___1 == 2) {
    goto case_2;
  }
  if (state___1 == 3) {
    goto case_3;
  }
  goto switch_default;
  case_2: /* CIL Label */
  return (diff);
  case_3: /* CIL Label */
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___5 = p1;
    p1 ++;
    if (! (((int const   )sane_ctype[(unsigned char )*tmp___5] & 2) != 0)) {
      goto while_break___0;
    }
    tmp___4 = p2;
    p2 ++;
    if (! (((int const   )sane_ctype[(unsigned char )*tmp___4] & 2) != 0)) {
      return (1);
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  if (((int const   )sane_ctype[(unsigned char )*p2] & 2) != 0) {
    tmp___6 = -1;
  } else {
    tmp___6 = diff;
  }
  return (tmp___6);
  switch_default: /* CIL Label */
  return (state___1);
  switch_break: /* CIL Label */ ;
  }
}
}
static double const   __ac_HASH_UPPER___99  =    (double const   )0.77;
__inline static void kh_resize_oid_set___99(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___99(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___99 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___99 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___99(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___99(kh_oid_set_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___99(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___99(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___99(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___99(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___99 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___99 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___99(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___99(kh_oid_map_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___99(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___99(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___99(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___99(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___99 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___99 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___99(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___99(kh_oid_pos_t *h , struct object_id key___1 ,
                                            int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___99(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___99(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___76(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___76(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___99 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___99 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___76(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___76(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___76(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___76(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static struct object_id current_commit_oid  ;
void ( /* format attribute */  walker_say)(struct walker *walker , char const   *fmt
                                           , ...)
{
  va_list ap ;

  {
  if (walker->get_verbosely) {
    __builtin_va_start(ap, fmt);
    vfprintf(stderr, fmt, ap);
    __builtin_va_end(ap);
  }
  return;
}
}
static void report_missing(struct object  const  *obj )
{
  char *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;

  {
  tmp = oid_to_hex((struct object_id  const  *)(& obj->oid));
  if (obj->type) {
    tmp___0 = type_name((unsigned int )obj->type);
    tmp___1 = tmp___0;
  } else {
    tmp___1 = (char const   *)"object";
  }
  fprintf(stderr, (char const   *)"Cannot obtain needed %s %s\n", tmp___1, tmp);
  tmp___3 = is_null_oid((struct object_id  const  *)(& current_commit_oid));
  if (! tmp___3) {
    tmp___2 = oid_to_hex((struct object_id  const  *)(& current_commit_oid));
    fprintf(stderr, (char const   *)"while processing commit %s.\n", tmp___2);
  }
  return;
}
}
static int process(struct walker *walker , struct object *obj ) ;
static int process_tree___0(struct walker *walker , struct tree *tree )
{
  struct tree_desc desc___0 ;
  struct name_entry entry ;
  int tmp ;
  struct object *obj ;
  struct tree *tree___0 ;
  struct tree *tmp___0 ;
  struct blob *blob ;
  struct blob *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = parse_tree(tree);
  if (tmp) {
    return (-1);
  }
  init_tree_desc(& desc___0, (void const   *)tree->buffer, tree->size);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = tree_entry(& desc___0, & entry);
    if (! tmp___3) {
      goto while_break;
    }
    obj = (struct object *)((void *)0);
    if ((entry.mode & 61440U) == 57344U) {
      goto while_continue;
    }
    if ((entry.mode & 61440U) == 16384U) {
      tmp___0 = lookup_tree(the_repository, (struct object_id  const  *)(& entry.oid));
      tree___0 = tmp___0;
      if (tree___0) {
        obj = & tree___0->object;
      }
    } else {
      tmp___1 = lookup_blob(the_repository, (struct object_id  const  *)(& entry.oid));
      blob = tmp___1;
      if (blob) {
        obj = & blob->object;
      }
    }
    if (! obj) {
      return (-1);
    } else {
      tmp___2 = process(walker, obj);
      if (tmp___2) {
        return (-1);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  free_tree_buffer(tree);
  return (0);
}
}
static struct commit_list *complete___0  =    (struct commit_list *)((void *)0);
static int process_commit(struct walker *walker , struct commit *commit )
{
  struct commit_list *parents ;
  int tmp ;
  char *tmp___0 ;
  struct tree *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = repo_parse_commit(the_repository, commit);
  if (tmp) {
    return (-1);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (complete___0) {
      if (! ((complete___0->item)->date >= commit->date)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    pop_most_recent_commit(& complete___0, 1U);
  }
  while_break: /* CIL Label */ ;
  }
  if (commit->object.flags & 1U) {
    return (0);
  }
  oidcpy(& current_commit_oid, (struct object_id  const  *)(& commit->object.oid));
  tmp___0 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
  walker_say(walker, (char const   *)"walk %s\n", tmp___0);
  tmp___1 = repo_get_commit_tree(the_repository, (struct commit  const  *)commit);
  tmp___2 = process(walker, & tmp___1->object);
  if (tmp___2) {
    return (-1);
  }
  parents = commit->parents;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! parents) {
      goto while_break___0;
    }
    tmp___3 = process(walker, & (parents->item)->object);
    if (tmp___3) {
      return (-1);
    }
    parents = parents->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (0);
}
}
static int process_tag___0(struct walker *walker , struct tag *tag )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = parse_tag(tag);
  if (tmp) {
    return (-1);
  }
  tmp___0 = process(walker, tag->tagged);
  return (tmp___0);
}
}
static struct object_list *process_queue  =    (struct object_list *)((void *)0);
static struct object_list **process_queue_end  =    & process_queue;
static int process_object(struct walker *walker , struct object *obj )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;

  {
  if (obj->type == 1U) {
    tmp = process_commit(walker, (struct commit *)obj);
    if (tmp) {
      return (-1);
    }
    return (0);
  }
  if (obj->type == 2U) {
    tmp___0 = process_tree___0(walker, (struct tree *)obj);
    if (tmp___0) {
      return (-1);
    }
    return (0);
  }
  if (obj->type == 3U) {
    return (0);
  }
  if (obj->type == 4U) {
    tmp___1 = process_tag___0(walker, (struct tag *)obj);
    if (tmp___1) {
      return (-1);
    }
    return (0);
  }
  tmp___2 = oid_to_hex((struct object_id  const  *)(& obj->oid));
  tmp___3 = type_name(obj->type);
  error((char const   *)"Unable to determine requirements of type %s for %s", tmp___3,
        tmp___2);
  tmp___4 = const_error();
  return (tmp___4);
}
}
static int process(struct walker *walker , struct object *obj )
{
  int tmp ;

  {
  if (obj->flags & (1U << 1)) {
    return (0);
  }
  obj->flags |= 1U << 1;
  tmp = repo_has_object_file(the_repository, (struct object_id  const  *)(& obj->oid));
  if (tmp) {
    obj->flags |= 1U << 2;
  } else {
    if (obj->flags & 1U) {
      return (0);
    }
    (*(walker->prefetch))(walker, obj->oid.hash);
  }
  object_list_insert(obj, process_queue_end);
  process_queue_end = & (*process_queue_end)->next;
  return (0);
}
}
static int loop(struct walker *walker )
{
  struct object_list *elem ;
  struct progress *progress___7 ;
  uint64_t nr___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct object *obj ;
  int tmp___0 ;
  int tmp___1 ;

  {
  progress___7 = (struct progress *)((void *)0);
  nr___0 = (uint64_t )0;
  if (walker->get_progress) {
    tmp = _((char const   *)"Fetching objects");
    progress___7 = start_delayed_progress((char const   *)tmp, (uint64_t )0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! process_queue) {
      goto while_break;
    }
    obj = process_queue->item;
    elem = process_queue;
    process_queue = elem->next;
    free((void *)elem);
    if (! process_queue) {
      process_queue_end = & process_queue;
    }
    if (! (obj->flags & (1U << 2))) {
      tmp___0 = (*(walker->fetch))(walker, obj->oid.hash);
      if (tmp___0) {
        stop_progress(& progress___7);
        report_missing((struct object  const  *)obj);
        return (-1);
      }
    }
    if (! obj->type) {
      parse_object(the_repository, (struct object_id  const  *)(& obj->oid));
    }
    tmp___1 = process_object(walker, obj);
    if (tmp___1) {
      stop_progress(& progress___7);
      return (-1);
    }
    nr___0 ++;
    display_progress(progress___7, nr___0);
  }
  while_break: /* CIL Label */ ;
  }
  stop_progress(& progress___7);
  return (0);
}
}
static int interpret_target(struct walker *walker , char *target , struct object_id *oid )
{
  int tmp ;
  struct ref *ref ;
  struct ref *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = get_oid_hex((char const   *)target, oid);
  if (! tmp) {
    return (0);
  }
  tmp___2 = check_refname_format((char const   *)target, 0);
  if (! tmp___2) {
    tmp___0 = alloc_ref((char const   *)target);
    ref = tmp___0;
    tmp___1 = (*(walker->fetch_ref))(walker, ref);
    if (! tmp___1) {
      oidcpy(oid, (struct object_id  const  *)(& ref->old_oid));
      free((void *)ref);
      return (0);
    }
    free((void *)ref);
  }
  return (-1);
}
}
static int mark_complete___0(char const   *path___6 , struct object_id  const  *oid ,
                             int flag , void *cb_data )
{
  struct commit *commit ;
  struct commit *tmp ;

  {
  tmp = lookup_commit_reference_gently(the_repository, oid, 1);
  commit = tmp;
  if (commit) {
    commit->object.flags |= 1U;
    commit_list_insert(commit, & complete___0);
  }
  return (0);
}
}
int walker_targets_stdin(char ***target , char const   ***write_ref )
{
  int targets ;
  int targets_alloc ;
  struct strbuf buf___19 ;
  char *rf_one ;
  char *tg_one ;
  int tmp ;
  char *tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  char *tmp___5 ;

  {
  targets = 0;
  targets_alloc = 0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  *target = (char **)((void *)0);
  *write_ref = (char const   **)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    rf_one = (char *)((void *)0);
    tmp = strbuf_getline_lf(& buf___19, stdin);
    if (tmp == -1) {
      goto while_break;
    }
    tg_one = buf___19.buf;
    rf_one = strchr((char const   *)tg_one, '\t');
    if (rf_one) {
      tmp___0 = rf_one;
      rf_one ++;
      *tmp___0 = (char)0;
    }
    if (targets >= targets_alloc) {
      if (targets_alloc) {
        targets_alloc *= 2;
      } else {
        targets_alloc = 64;
      }
      tmp___1 = st_mult(sizeof(*(*target)), (size_t )targets_alloc);
      tmp___2 = xrealloc((void *)*target, tmp___1);
      *target = (char **)tmp___2;
      tmp___3 = st_mult(sizeof(*(*write_ref)), (size_t )targets_alloc);
      tmp___4 = xrealloc((void *)*write_ref, tmp___3);
      *write_ref = (char const   **)tmp___4;
    }
    *(*target + targets) = xstrdup((char const   *)tg_one);
    tmp___5 = xstrdup_or_null((char const   *)rf_one);
    *(*write_ref + targets) = (char const   *)tmp___5;
    targets ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  return (targets);
}
}
void walker_targets_free(int targets , char **target , char const   **write_ref )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = targets;
    targets --;
    if (! tmp) {
      goto while_break;
    }
    free((void *)*(target + targets));
    if (write_ref) {
      free((void *)((char *)*(write_ref + targets)));
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int walker_fetch(struct walker *walker , int targets , char **target , char const   **write_ref ,
                 char const   *write_ref_log_details )
{
  struct strbuf refname ;
  struct strbuf err___4 ;
  struct ref_transaction *transaction___0 ;
  struct object_id *oids ;
  char *msg___5 ;
  int i ;
  int ret___67 ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  struct object *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  refname.alloc = 0UL;
  refname.len = 0UL;
  refname.buf = strbuf_slopbuf;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  transaction___0 = (struct ref_transaction *)((void *)0);
  msg___5 = (char *)((void *)0);
  ret___67 = -1;
  save_commit_buffer = 0;
  tmp = st_mult(sizeof(*oids), (size_t )targets);
  tmp___0 = xmalloc(tmp);
  oids = (struct object_id *)tmp___0;
  if (write_ref) {
    transaction___0 = ref_transaction_begin(& err___4);
    if (! transaction___0) {
      error((char const   *)"%s", err___4.buf);
      const_error();
      goto done;
    }
  }
  if (! walker->get_recover) {
    for_each_ref(& mark_complete___0, (void *)0);
    commit_list_sort_by_date(& complete___0);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < targets)) {
      goto while_break;
    }
    tmp___1 = interpret_target(walker, *(target + i), oids + i);
    if (tmp___1) {
      error((char const   *)"Could not interpret response from server \'%s\' as something to pull",
            *(target + i));
      const_error();
      goto done;
    }
    tmp___2 = lookup_unknown_object(the_repository, (struct object_id  const  *)(oids + i));
    tmp___3 = process(walker, tmp___2);
    if (tmp___3) {
      goto done;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___4 = loop(walker);
  if (tmp___4) {
    goto done;
  }
  if (! write_ref) {
    ret___67 = 0;
    goto done;
  }
  if (write_ref_log_details) {
    msg___5 = xstrfmt((char const   *)"fetch from %s", write_ref_log_details);
  } else {
    msg___5 = (char *)((void *)0);
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < targets)) {
      goto while_break___0;
    }
    if (! *(write_ref + i)) {
      goto __Cont;
    }
    strbuf_setlen(& refname, (size_t )0);
    strbuf_addf(& refname, (char const   *)"refs/%s", *(write_ref + i));
    if (msg___5) {
      tmp___5 = msg___5;
    } else {
      tmp___5 = "fetch (unknown)";
    }
    tmp___6 = ref_transaction_update(transaction___0, (char const   *)refname.buf,
                                     (struct object_id  const  *)(oids + i), (struct object_id  const  *)((void *)0),
                                     0U, (char const   *)tmp___5, & err___4);
    if (tmp___6) {
      error((char const   *)"%s", err___4.buf);
      const_error();
      goto done;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___7 = ref_transaction_commit(transaction___0, & err___4);
  if (tmp___7) {
    error((char const   *)"%s", err___4.buf);
    const_error();
    goto done;
  }
  ret___67 = 0;
  done:
  ref_transaction_free(transaction___0);
  free((void *)msg___5);
  free((void *)oids);
  strbuf_release(& err___4);
  strbuf_release(& refname);
  return (ret___67);
}
}
void walker_free(struct walker *walker )
{


  {
  (*(walker->cleanup))(walker);
  free((void *)walker);
  return;
}
}
static int dowild(uchar const   *p___0 , uchar const   *text , unsigned int flags___0 )
{
  uchar p_ch ;
  uchar const   *pattern___0 ;
  int matched ;
  int match_slash ;
  int negated ;
  uchar t_ch ;
  uchar prev_ch ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  uchar const   *prev_p ;
  int tmp___3 ;
  char *tmp___4 ;
  char const   *slash ;
  char *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  uchar t_ch_upper ;
  int tmp___10 ;
  int tmp___11 ;
  uchar const   *s___1 ;
  int i ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;
  int tmp___27 ;

  {
  pattern___0 = p___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    p_ch = (uchar )*p___0;
    if (! ((int )p_ch != 0)) {
      goto while_break;
    }
    t_ch = (uchar )*text;
    if ((int )t_ch == 0) {
      if ((int )p_ch != 42) {
        return (-1);
      }
    }
    if (flags___0 & 1U) {
      if (((int )t_ch & -128) == 0) {
        tmp___0 = sane_iscase((int )t_ch, 0);
        if (tmp___0) {
          tmp = sane_case((int )t_ch, 0x20);
          t_ch = (uchar )tmp;
        }
      }
    }
    if (flags___0 & 1U) {
      if (((int )p_ch & -128) == 0) {
        tmp___2 = sane_iscase((int )p_ch, 0);
        if (tmp___2) {
          tmp___1 = sane_case((int )p_ch, 0x20);
          p_ch = (uchar )tmp___1;
        }
      }
    }
    {
    if ((int )p_ch == 92) {
      goto case_92;
    }
    if ((int )p_ch == 63) {
      goto case_63;
    }
    if ((int )p_ch == 42) {
      goto case_42;
    }
    if ((int )p_ch == 91) {
      goto case_91;
    }
    goto switch_default;
    case_92: /* CIL Label */
    p___0 ++;
    p_ch = (uchar )*p___0;
    switch_default: /* CIL Label */
    if ((int )t_ch != (int )p_ch) {
      return (1);
    }
    goto __Cont;
    case_63: /* CIL Label */
    if (flags___0 & 2U) {
      if ((int )t_ch == 47) {
        return (1);
      }
    }
    goto __Cont;
    case_42: /* CIL Label */
    p___0 ++;
    if ((int const   )*p___0 == 42) {
      prev_p = p___0 - 2;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        p___0 ++;
        if (! ((int const   )*p___0 == 42)) {
          goto while_break___0;
        }
      }
      while_break___0: /* CIL Label */ ;
      }
      if (! (flags___0 & 2U)) {
        match_slash = 1;
      } else
      if ((unsigned long )prev_p < (unsigned long )pattern___0) {
        goto _L___0;
      } else
      if ((int const   )*prev_p == 47) {
        _L___0: /* CIL Label */
        if ((int const   )*p___0 == 0) {
          goto _L;
        } else
        if ((int const   )*p___0 == 47) {
          goto _L;
        } else
        if ((int const   )*(p___0 + 0) == 92) {
          if ((int const   )*(p___0 + 1) == 47) {
            _L: /* CIL Label */
            if ((int const   )*(p___0 + 0) == 47) {
              tmp___3 = dowild(p___0 + 1, text, flags___0);
              if (tmp___3 == 0) {
                return (0);
              }
            }
            match_slash = 1;
          } else {
            match_slash = 0;
          }
        } else {
          match_slash = 0;
        }
      } else {
        match_slash = 0;
      }
    } else
    if (flags___0 & 2U) {
      match_slash = 0;
    } else {
      match_slash = 1;
    }
    if ((int const   )*p___0 == 0) {
      if (! match_slash) {
        tmp___4 = strchr((char const   *)((char *)text), '/');
        if ((unsigned long )tmp___4 != (unsigned long )((void *)0)) {
          return (1);
        }
      }
      return (0);
    } else
    if (! match_slash) {
      if ((int const   )*p___0 == 47) {
        tmp___5 = strchr((char const   *)((char *)text), '/');
        slash = (char const   *)tmp___5;
        if (! slash) {
          return (1);
        }
        text = (uchar const   *)slash;
        goto switch_break;
      }
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if ((int )t_ch == 0) {
        goto while_break___1;
      }
      if (! (((int const   )sane_ctype[(unsigned char )*p___0] & 8) != 0)) {
        p_ch = (uchar )*p___0;
        if (flags___0 & 1U) {
          if (((int )p_ch & -128) == 0) {
            tmp___7 = sane_iscase((int )p_ch, 0);
            if (tmp___7) {
              tmp___6 = sane_case((int )p_ch, 0x20);
              p_ch = (uchar )tmp___6;
            }
          }
        }
        {
        while (1) {
          while_continue___2: /* CIL Label */ ;
          t_ch = (uchar )*text;
          if ((int )t_ch != 0) {
            if (! match_slash) {
              if (! ((int )t_ch != 47)) {
                goto while_break___2;
              }
            }
          } else {
            goto while_break___2;
          }
          if (flags___0 & 1U) {
            if (((int )t_ch & -128) == 0) {
              tmp___9 = sane_iscase((int )t_ch, 0);
              if (tmp___9) {
                tmp___8 = sane_case((int )t_ch, 0x20);
                t_ch = (uchar )tmp___8;
              }
            }
          }
          if ((int )t_ch == (int )p_ch) {
            goto while_break___2;
          }
          text ++;
        }
        while_break___2: /* CIL Label */ ;
        }
        if ((int )t_ch != (int )p_ch) {
          return (1);
        }
      }
      matched = dowild(p___0, text, flags___0);
      if (matched != 1) {
        if (! match_slash) {
          return (matched);
        } else
        if (matched != -2) {
          return (matched);
        }
      } else
      if (! match_slash) {
        if ((int )t_ch == 47) {
          return (-2);
        }
      }
      text ++;
      t_ch = (uchar )*text;
    }
    while_break___1: /* CIL Label */ ;
    }
    return (-1);
    case_91: /* CIL Label */
    p___0 ++;
    p_ch = (uchar )*p___0;
    if ((int )p_ch == 94) {
      p_ch = (uchar )'!';
    }
    if ((int )p_ch == 33) {
      negated = 1;
    } else {
      negated = 0;
    }
    if (negated) {
      p___0 ++;
      p_ch = (uchar )*p___0;
    }
    prev_ch = (uchar )0;
    matched = 0;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! p_ch) {
        return (-1);
      }
      if ((int )p_ch == 92) {
        p___0 ++;
        p_ch = (uchar )*p___0;
        if (! p_ch) {
          return (-1);
        }
        if ((int )t_ch == (int )p_ch) {
          matched = 1;
        }
      } else
      if ((int )p_ch == 45) {
        if (prev_ch) {
          if (*(p___0 + 1)) {
            if ((int const   )*(p___0 + 1) != 93) {
              p___0 ++;
              p_ch = (uchar )*p___0;
              if ((int )p_ch == 92) {
                p___0 ++;
                p_ch = (uchar )*p___0;
                if (! p_ch) {
                  return (-1);
                }
              }
              if ((int )t_ch <= (int )p_ch) {
                if ((int )t_ch >= (int )prev_ch) {
                  matched = 1;
                } else {
                  goto _L___1;
                }
              } else
              _L___1: /* CIL Label */
              if (flags___0 & 1U) {
                if (((int )t_ch & -128) == 0) {
                  tmp___11 = sane_iscase((int )t_ch, 1);
                  if (tmp___11) {
                    tmp___10 = sane_case((int )t_ch, 0);
                    t_ch_upper = (uchar )tmp___10;
                    if ((int )t_ch_upper <= (int )p_ch) {
                      if ((int )t_ch_upper >= (int )prev_ch) {
                        matched = 1;
                      }
                    }
                  }
                }
              }
              p_ch = (uchar )0;
            } else {
              goto _L___29;
            }
          } else {
            goto _L___29;
          }
        } else {
          goto _L___29;
        }
      } else
      _L___29: /* CIL Label */
      _L___28: /* CIL Label */
      _L___27: /* CIL Label */
      if ((int )p_ch == 91) {
        if ((int const   )*(p___0 + 1) == 58) {
          p___0 += 2;
          s___1 = p___0;
          {
          while (1) {
            while_continue___4: /* CIL Label */ ;
            p_ch = (uchar )*p___0;
            if (p_ch) {
              if (! ((int )p_ch != 93)) {
                goto while_break___4;
              }
            } else {
              goto while_break___4;
            }
            p___0 ++;
          }
          while_break___4: /* CIL Label */ ;
          }
          if (! p_ch) {
            return (-1);
          }
          i = (int )((p___0 - s___1) - 1L);
          if (i < 0) {
            goto _L___2;
          } else
          if ((int const   )*(p___0 + -1) != 58) {
            _L___2: /* CIL Label */
            p___0 = s___1 - 2;
            p_ch = (uchar )'[';
            if ((int )t_ch == (int )p_ch) {
              matched = 1;
            }
            goto __Cont___0;
          }
          if ((unsigned long )i == sizeof("alnum") - 1UL) {
            if ((int const   )*s___1 == (int const   )*"alnum") {
              tmp___26 = strncmp((char const   *)((char *)s___1), (char const   *)"alnum",
                                 (size_t )i);
              if (tmp___26 == 0) {
                if (((int )t_ch & -128) == 0) {
                  if (((int const   )sane_ctype[t_ch] & 6) != 0) {
                    matched = 1;
                  }
                }
              } else {
                goto _L___25;
              }
            } else {
              goto _L___25;
            }
          } else
          _L___25: /* CIL Label */
          _L___24: /* CIL Label */
          if ((unsigned long )i == sizeof("alpha") - 1UL) {
            if ((int const   )*s___1 == (int const   )*"alpha") {
              tmp___25 = strncmp((char const   *)((char *)s___1), (char const   *)"alpha",
                                 (size_t )i);
              if (tmp___25 == 0) {
                if (((int )t_ch & -128) == 0) {
                  if (((int const   )sane_ctype[t_ch] & 4) != 0) {
                    matched = 1;
                  }
                }
              } else {
                goto _L___23;
              }
            } else {
              goto _L___23;
            }
          } else
          _L___23: /* CIL Label */
          _L___22: /* CIL Label */
          if ((unsigned long )i == sizeof("blank") - 1UL) {
            if ((int const   )*s___1 == (int const   )*"blank") {
              tmp___24 = strncmp((char const   *)((char *)s___1), (char const   *)"blank",
                                 (size_t )i);
              if (tmp___24 == 0) {
                if ((int )t_ch == 32) {
                  matched = 1;
                } else
                if ((int )t_ch == 9) {
                  matched = 1;
                }
              } else {
                goto _L___21;
              }
            } else {
              goto _L___21;
            }
          } else
          _L___21: /* CIL Label */
          _L___20: /* CIL Label */
          if ((unsigned long )i == sizeof("cntrl") - 1UL) {
            if ((int const   )*s___1 == (int const   )*"cntrl") {
              tmp___23 = strncmp((char const   *)((char *)s___1), (char const   *)"cntrl",
                                 (size_t )i);
              if (tmp___23 == 0) {
                if (((int )t_ch & -128) == 0) {
                  if (((int const   )sane_ctype[t_ch] & 64) != 0) {
                    matched = 1;
                  }
                }
              } else {
                goto _L___19;
              }
            } else {
              goto _L___19;
            }
          } else
          _L___19: /* CIL Label */
          _L___18: /* CIL Label */
          if ((unsigned long )i == sizeof("digit") - 1UL) {
            if ((int const   )*s___1 == (int const   )*"digit") {
              tmp___22 = strncmp((char const   *)((char *)s___1), (char const   *)"digit",
                                 (size_t )i);
              if (tmp___22 == 0) {
                if (((int )t_ch & -128) == 0) {
                  if (((int const   )sane_ctype[t_ch] & 2) != 0) {
                    matched = 1;
                  }
                }
              } else {
                goto _L___17;
              }
            } else {
              goto _L___17;
            }
          } else
          _L___17: /* CIL Label */
          _L___16: /* CIL Label */
          if ((unsigned long )i == sizeof("graph") - 1UL) {
            if ((int const   )*s___1 == (int const   )*"graph") {
              tmp___21 = strncmp((char const   *)((char *)s___1), (char const   *)"graph",
                                 (size_t )i);
              if (tmp___21 == 0) {
                if (((int )t_ch & -128) == 0) {
                  if ((int )t_ch >= 0x20) {
                    if ((int )t_ch <= 0x7e) {
                      if (! (((int const   )sane_ctype[t_ch] & 1) != 0)) {
                        matched = 1;
                      }
                    }
                  }
                }
              } else {
                goto _L___15;
              }
            } else {
              goto _L___15;
            }
          } else
          _L___15: /* CIL Label */
          _L___14: /* CIL Label */
          if ((unsigned long )i == sizeof("lower") - 1UL) {
            if ((int const   )*s___1 == (int const   )*"lower") {
              tmp___20 = strncmp((char const   *)((char *)s___1), (char const   *)"lower",
                                 (size_t )i);
              if (tmp___20 == 0) {
                if (((int )t_ch & -128) == 0) {
                  tmp___12 = sane_iscase((int )t_ch, 1);
                  if (tmp___12) {
                    matched = 1;
                  }
                }
              } else {
                goto _L___13;
              }
            } else {
              goto _L___13;
            }
          } else
          _L___13: /* CIL Label */
          _L___12: /* CIL Label */
          if ((unsigned long )i == sizeof("print") - 1UL) {
            if ((int const   )*s___1 == (int const   )*"print") {
              tmp___19 = strncmp((char const   *)((char *)s___1), (char const   *)"print",
                                 (size_t )i);
              if (tmp___19 == 0) {
                if (((int )t_ch & -128) == 0) {
                  if ((int )t_ch >= 0x20) {
                    if ((int )t_ch <= 0x7e) {
                      matched = 1;
                    }
                  }
                }
              } else {
                goto _L___11;
              }
            } else {
              goto _L___11;
            }
          } else
          _L___11: /* CIL Label */
          _L___10: /* CIL Label */
          if ((unsigned long )i == sizeof("punct") - 1UL) {
            if ((int const   )*s___1 == (int const   )*"punct") {
              tmp___18 = strncmp((char const   *)((char *)s___1), (char const   *)"punct",
                                 (size_t )i);
              if (tmp___18 == 0) {
                if (((int )t_ch & -128) == 0) {
                  if (((int const   )sane_ctype[t_ch] & 184) != 0) {
                    matched = 1;
                  }
                }
              } else {
                goto _L___9;
              }
            } else {
              goto _L___9;
            }
          } else
          _L___9: /* CIL Label */
          _L___8: /* CIL Label */
          if ((unsigned long )i == sizeof("space") - 1UL) {
            if ((int const   )*s___1 == (int const   )*"space") {
              tmp___17 = strncmp((char const   *)((char *)s___1), (char const   *)"space",
                                 (size_t )i);
              if (tmp___17 == 0) {
                if (((int )t_ch & -128) == 0) {
                  if (((int const   )sane_ctype[t_ch] & 1) != 0) {
                    matched = 1;
                  }
                }
              } else {
                goto _L___7;
              }
            } else {
              goto _L___7;
            }
          } else
          _L___7: /* CIL Label */
          _L___6: /* CIL Label */
          if ((unsigned long )i == sizeof("upper") - 1UL) {
            if ((int const   )*s___1 == (int const   )*"upper") {
              tmp___16 = strncmp((char const   *)((char *)s___1), (char const   *)"upper",
                                 (size_t )i);
              if (tmp___16 == 0) {
                if (((int )t_ch & -128) == 0) {
                  tmp___14 = sane_iscase((int )t_ch, 0);
                  if (tmp___14) {
                    matched = 1;
                  } else {
                    goto _L___3;
                  }
                } else
                _L___3: /* CIL Label */
                if (flags___0 & 1U) {
                  if (((int )t_ch & -128) == 0) {
                    tmp___13 = sane_iscase((int )t_ch, 1);
                    if (tmp___13) {
                      matched = 1;
                    }
                  }
                }
              } else {
                goto _L___5;
              }
            } else {
              goto _L___5;
            }
          } else
          _L___5: /* CIL Label */
          _L___4: /* CIL Label */
          if ((unsigned long )i == sizeof("xdigit") - 1UL) {
            if ((int const   )*s___1 == (int const   )*"xdigit") {
              tmp___15 = strncmp((char const   *)((char *)s___1), (char const   *)"xdigit",
                                 (size_t )i);
              if (tmp___15 == 0) {
                if (((int )t_ch & -128) == 0) {
                  if ((int const   )hexval_table[t_ch] != -1) {
                    matched = 1;
                  }
                }
              } else {
                return (-1);
              }
            } else {
              return (-1);
            }
          } else {
            return (-1);
          }
          p_ch = (uchar )0;
        } else {
          goto _L___26;
        }
      } else
      _L___26: /* CIL Label */
      if ((int )t_ch == (int )p_ch) {
        matched = 1;
      }
      __Cont___0: /* CIL Label */
      prev_ch = p_ch;
      p___0 ++;
      p_ch = (uchar )*p___0;
      if (! ((int )p_ch != 93)) {
        goto while_break___3;
      }
    }
    while_break___3: /* CIL Label */ ;
    }
    if (matched == negated) {
      return (1);
    } else
    if (flags___0 & 2U) {
      if ((int )t_ch == 47) {
        return (1);
      }
    }
    goto __Cont;
    switch_break: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    text ++;
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (*text) {
    tmp___27 = 1;
  } else {
    tmp___27 = 0;
  }
  return (tmp___27);
}
}
int wildmatch(char const   *pattern___0 , char const   *text , unsigned int flags___0 )
{
  int tmp ;

  {
  tmp = dowild((uchar const   *)pattern___0, (uchar const   *)text, flags___0);
  return (tmp);
}
}
void free_worktrees(struct worktree **worktrees )
{
  int i ;

  {
  i = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(worktrees + i)) {
      goto while_break;
    }
    free((void *)(*(worktrees + i))->path);
    free((void *)(*(worktrees + i))->id);
    free((void *)(*(worktrees + i))->head_ref);
    free((void *)(*(worktrees + i))->lock_reason);
    free((void *)(*(worktrees + i))->prune_reason);
    free((void *)*(worktrees + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)worktrees);
  return;
}
}
static void add_head_info(struct worktree *wt )
{
  int flags___0 ;
  char const   *target ;
  int ignore_errno ;
  struct ref_store *tmp ;

  {
  tmp = get_worktree_ref_store((struct worktree  const  *)wt);
  target = refs_resolve_ref_unsafe(tmp, (char const   *)"HEAD", 0, & wt->head_oid,
                                   & flags___0, & ignore_errno);
  if (! target) {
    return;
  }
  if (flags___0 & 0x01) {
    wt->head_ref = xstrdup(target);
  } else {
    wt->is_detached = 1;
  }
  return;
}
}
static struct worktree *get_main_worktree(void)
{
  struct worktree *worktree ;
  struct strbuf worktree_path ;
  char const   *tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  worktree = (struct worktree *)((void *)0);
  worktree_path.alloc = 0UL;
  worktree_path.len = 0UL;
  worktree_path.buf = strbuf_slopbuf;
  tmp = get_git_common_dir();
  strbuf_add_real_path(& worktree_path, tmp);
  strbuf_strip_suffix(& worktree_path, (char const   *)"/.git");
  tmp___0 = xcalloc((size_t )1, sizeof(*worktree));
  worktree = (struct worktree *)tmp___0;
  worktree->path = strbuf_detach(& worktree_path, (size_t *)((void *)0));
  if (is_bare_repository_cfg == 1) {
    tmp___2 = 1;
  } else {
    tmp___1 = is_bare_repository();
    if (tmp___1) {
      tmp___2 = 1;
    } else {
      tmp___2 = 0;
    }
  }
  worktree->is_bare = tmp___2;
  add_head_info(worktree);
  return (worktree);
}
}
static struct worktree *get_linked_worktree(char const   *id )
{
  struct worktree *worktree ;
  struct strbuf path___6 ;
  struct strbuf worktree_path ;
  ssize_t tmp ;
  void *tmp___0 ;

  {
  worktree = (struct worktree *)((void *)0);
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  worktree_path.alloc = 0UL;
  worktree_path.len = 0UL;
  worktree_path.buf = strbuf_slopbuf;
  if (! id) {
    die((char const   *)"Missing linked worktree name");
  }
  strbuf_git_common_path(& path___6, (struct repository  const  *)the_repository,
                         (char const   *)"worktrees/%s/gitdir", id);
  tmp = strbuf_read_file(& worktree_path, (char const   *)path___6.buf, (size_t )0);
  if (tmp <= 0L) {
    goto done;
  }
  strbuf_rtrim(& worktree_path);
  strbuf_strip_suffix(& worktree_path, (char const   *)"/.git");
  tmp___0 = xcalloc((size_t )1, sizeof(*worktree));
  worktree = (struct worktree *)tmp___0;
  worktree->path = strbuf_detach(& worktree_path, (size_t *)((void *)0));
  worktree->id = xstrdup(id);
  add_head_info(worktree);
  done:
  strbuf_release(& path___6);
  strbuf_release(& worktree_path);
  return (worktree);
}
}
static void mark_current_worktree(struct worktree **worktrees )
{
  char *git_dir ;
  char const   *tmp ;
  char *tmp___0 ;
  int i ;
  struct worktree *wt ;
  char const   *wt_git_dir ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;

  {
  tmp = get_git_dir();
  tmp___0 = absolute_pathdup(tmp);
  git_dir = tmp___0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(worktrees + i)) {
      goto while_break;
    }
    wt = *(worktrees + i);
    tmp___1 = get_worktree_git_dir((struct worktree  const  *)wt);
    wt_git_dir = tmp___1;
    tmp___2 = absolute_path(wt_git_dir);
    tmp___3 = fspathcmp((char const   *)git_dir, tmp___2);
    if (! tmp___3) {
      wt->is_current = 1;
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)git_dir);
  return;
}
}
struct worktree **get_worktrees(void)
{
  struct worktree **list___3 ;
  struct strbuf path___6 ;
  DIR *dir ;
  struct dirent *d ;
  int counter___7 ;
  int alloc___0 ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  struct worktree *linked ;
  size_t tmp___3 ;
  void *tmp___4 ;
  int tmp___5 ;
  size_t tmp___6 ;
  void *tmp___7 ;

  {
  list___3 = (struct worktree **)((void *)0);
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  counter___7 = 0;
  alloc___0 = 2;
  tmp = st_mult(sizeof(*list___3), (size_t )alloc___0);
  tmp___0 = xmalloc(tmp);
  list___3 = (struct worktree **)tmp___0;
  tmp___1 = counter___7;
  counter___7 ++;
  *(list___3 + tmp___1) = get_main_worktree();
  tmp___2 = get_git_common_dir();
  strbuf_addf(& path___6, (char const   *)"%s/worktrees", tmp___2);
  dir = opendir((char const   *)path___6.buf);
  strbuf_release(& path___6);
  if (dir) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      d = readdir_skip_dot_and_dotdot(dir);
      if (! ((unsigned long )d != (unsigned long )((void *)0))) {
        goto while_break;
      }
      linked = (struct worktree *)((void *)0);
      linked = get_linked_worktree((char const   *)(d->d_name));
      if (linked) {
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          if (counter___7 + 1 > alloc___0) {
            if (((alloc___0 + 16) * 3) / 2 < counter___7 + 1) {
              alloc___0 = counter___7 + 1;
            } else {
              alloc___0 = ((alloc___0 + 16) * 3) / 2;
            }
            tmp___3 = st_mult(sizeof(*list___3), (size_t )alloc___0);
            tmp___4 = xrealloc((void *)list___3, tmp___3);
            list___3 = (struct worktree **)tmp___4;
          }
          goto while_break___0;
        }
        while_break___0: /* CIL Label */ ;
        }
        tmp___5 = counter___7;
        counter___7 ++;
        *(list___3 + tmp___5) = linked;
      }
    }
    while_break: /* CIL Label */ ;
    }
    closedir(dir);
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (counter___7 + 1 > alloc___0) {
      if (((alloc___0 + 16) * 3) / 2 < counter___7 + 1) {
        alloc___0 = counter___7 + 1;
      } else {
        alloc___0 = ((alloc___0 + 16) * 3) / 2;
      }
      tmp___6 = st_mult(sizeof(*list___3), (size_t )alloc___0);
      tmp___7 = xrealloc((void *)list___3, tmp___6);
      list___3 = (struct worktree **)tmp___7;
    }
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  *(list___3 + counter___7) = (struct worktree *)((void *)0);
  mark_current_worktree(list___3);
  return (list___3);
}
}
char const   *get_worktree_git_dir(struct worktree  const  *wt )
{
  char const   *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;

  {
  if (! wt) {
    tmp = get_git_dir();
    return (tmp);
  } else
  if (! wt->id) {
    tmp___0 = get_git_common_dir();
    return (tmp___0);
  } else {
    tmp___1 = git_common_path((char const   *)"worktrees/%s", wt->id);
    return (tmp___1);
  }
}
}
static struct worktree *find_worktree_by_suffix(struct worktree **list___3 , char const   *suffix___3 )
{
  struct worktree *found ;
  int nr_found ;
  int suffixlen ;
  size_t tmp ;
  char const   *path___6 ;
  int pathlen ;
  size_t tmp___0 ;
  int start ;
  int tmp___1 ;
  int tmp___2 ;
  struct worktree *tmp___3 ;

  {
  found = (struct worktree *)((void *)0);
  nr_found = 0;
  tmp = strlen(suffix___3);
  suffixlen = (int )tmp;
  if (! suffixlen) {
    return ((struct worktree *)((void *)0));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*list___3) {
      if (! (nr_found < 2)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    path___6 = (char const   *)(*list___3)->path;
    tmp___0 = strlen(path___6);
    pathlen = (int )tmp___0;
    start = pathlen - suffixlen;
    if (! start) {
      goto _L;
    } else
    if (start > 0) {
      tmp___1 = git_is_dir_sep((int )*(path___6 + (start - 1)));
      if (tmp___1) {
        _L: /* CIL Label */
        tmp___2 = fspathcmp(suffix___3, path___6 + start);
        if (! tmp___2) {
          found = *list___3;
          nr_found ++;
        }
      }
    }
    list___3 ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (nr_found == 1) {
    tmp___3 = found;
  } else {
    tmp___3 = (struct worktree *)((void *)0);
  }
  return (tmp___3);
}
}
struct worktree *find_worktree(struct worktree **list___3 , char const   *prefix___1 ,
                               char const   *arg )
{
  struct worktree *wt ;
  char *to_free ;

  {
  to_free = (char *)((void *)0);
  wt = find_worktree_by_suffix(list___3, arg);
  if (wt) {
    return (wt);
  }
  if (prefix___1) {
    to_free = prefix_filename(prefix___1, arg);
    arg = (char const   *)to_free;
  }
  wt = find_worktree_by_path(list___3, arg);
  free((void *)to_free);
  return (wt);
}
}
struct worktree *find_worktree_by_path(struct worktree **list___3 , char const   *p___0 )
{
  struct strbuf wt_path ;
  char *path___6 ;
  char *tmp ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  wt_path.alloc = 0UL;
  wt_path.len = 0UL;
  wt_path.buf = strbuf_slopbuf;
  tmp = real_pathdup(p___0, 0);
  path___6 = tmp;
  if (! path___6) {
    return ((struct worktree *)((void *)0));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *list___3) {
      goto while_break;
    }
    tmp___0 = strbuf_realpath(& wt_path, (char const   *)(*list___3)->path, 0);
    if (! tmp___0) {
      goto __Cont;
    }
    tmp___1 = fspathcmp((char const   *)path___6, (char const   *)wt_path.buf);
    if (! tmp___1) {
      goto while_break;
    }
    __Cont: /* CIL Label */
    list___3 ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)path___6);
  strbuf_release(& wt_path);
  return (*list___3);
}
}
int is_main_worktree(struct worktree  const  *wt )
{


  {
  return (! wt->id);
}
}
char const   *worktree_lock_reason(struct worktree *wt )
{
  int tmp ;
  struct strbuf path___6 ;
  char const   *tmp___0 ;
  struct strbuf lock_reason ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  ssize_t tmp___2 ;
  int tmp___3 ;

  {
  tmp = is_main_worktree((struct worktree  const  *)wt);
  if (tmp) {
    return ((char const   *)((void *)0));
  }
  if (! wt->lock_reason_valid) {
    path___6.alloc = 0UL;
    path___6.len = 0UL;
    path___6.buf = strbuf_slopbuf;
    tmp___0 = worktree_git_path((struct worktree  const  *)wt, (char const   *)"locked");
    strbuf_addstr(& path___6, tmp___0);
    tmp___3 = file_exists((char const   *)path___6.buf);
    if (tmp___3) {
      lock_reason.alloc = 0UL;
      lock_reason.len = 0UL;
      lock_reason.buf = strbuf_slopbuf;
      tmp___2 = strbuf_read_file(& lock_reason, (char const   *)path___6.buf, (size_t )0);
      if (tmp___2 < 0L) {
        tmp___1 = _((char const   *)"failed to read \'%s\'");
        die_errno((char const   *)tmp___1, path___6.buf);
      }
      strbuf_trim(& lock_reason);
      wt->lock_reason = strbuf_detach(& lock_reason, (size_t *)((void *)0));
    } else {
      wt->lock_reason = (char *)((void *)0);
    }
    wt->lock_reason_valid = 1;
    strbuf_release(& path___6);
  }
  return ((char const   *)wt->lock_reason);
}
}
char const   *worktree_prune_reason(struct worktree *wt , timestamp_t expire___1 )
{
  struct strbuf reason ;
  char *path___6 ;
  int tmp ;
  int tmp___0 ;

  {
  reason.alloc = 0UL;
  reason.len = 0UL;
  reason.buf = strbuf_slopbuf;
  path___6 = (char *)((void *)0);
  tmp = is_main_worktree((struct worktree  const  *)wt);
  if (tmp) {
    return ((char const   *)((void *)0));
  }
  if (wt->prune_reason_valid) {
    return ((char const   *)wt->prune_reason);
  }
  tmp___0 = should_prune_worktree((char const   *)wt->id, & reason, & path___6, expire___1);
  if (tmp___0) {
    wt->prune_reason = strbuf_detach(& reason, (size_t *)((void *)0));
  }
  wt->prune_reason_valid = 1;
  strbuf_release(& reason);
  free((void *)path___6);
  return ((char const   *)wt->prune_reason);
}
}
static void ( /* format attribute */  strbuf_addf_gently)(struct strbuf *buf___19 ,
                                                          char const   *fmt  , ...)
{
  va_list params ;

  {
  if (! buf___19) {
    return;
  }
  __builtin_va_start(params, fmt);
  strbuf_vaddf(buf___19, fmt, params);
  __builtin_va_end(params);
  return;
}
}
int validate_worktree(struct worktree  const  *wt , struct strbuf *errmsg , unsigned int flags___0 )
{
  struct strbuf wt_path ;
  struct strbuf realpath___1 ;
  char *path___6 ;
  int err___4 ;
  int ret___67 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const   *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const   *tmp___10 ;
  char const   *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;

  {
  wt_path.alloc = 0UL;
  wt_path.len = 0UL;
  wt_path.buf = strbuf_slopbuf;
  realpath___1.alloc = 0UL;
  realpath___1.len = 0UL;
  realpath___1.buf = strbuf_slopbuf;
  path___6 = (char *)((void *)0);
  ret___67 = -1;
  strbuf_addf(& wt_path, (char const   *)"%s/.git", wt->path);
  tmp___1 = is_main_worktree(wt);
  if (tmp___1) {
    tmp = is_directory((char const   *)wt_path.buf);
    if (tmp) {
      ret___67 = 0;
      goto done;
    }
    tmp___0 = _((char const   *)"\'%s\' at main working tree is not the repository directory");
    strbuf_addf_gently(errmsg, (char const   *)tmp___0, wt_path.buf);
    goto done;
  }
  tmp___4 = is_absolute_path((char const   *)wt->path);
  if (! tmp___4) {
    tmp___2 = git_common_path((char const   *)"worktrees/%s/gitdir", wt->id);
    tmp___3 = _((char const   *)"\'%s\' file does not contain absolute path to the working tree location");
    strbuf_addf_gently(errmsg, (char const   *)tmp___3, tmp___2);
    goto done;
  }
  if (flags___0 & 1U) {
    tmp___5 = file_exists((char const   *)wt->path);
    if (! tmp___5) {
      ret___67 = 0;
      goto done;
    }
  }
  tmp___7 = file_exists((char const   *)wt_path.buf);
  if (! tmp___7) {
    tmp___6 = _((char const   *)"\'%s\' does not exist");
    strbuf_addf_gently(errmsg, (char const   *)tmp___6, wt_path.buf);
    goto done;
  }
  tmp___8 = read_gitfile_gently((char const   *)wt_path.buf, & err___4);
  path___6 = xstrdup_or_null(tmp___8);
  if (! path___6) {
    tmp___9 = _((char const   *)"\'%s\' is not a .git file, error code %d");
    strbuf_addf_gently(errmsg, (char const   *)tmp___9, wt_path.buf, err___4);
    goto done;
  }
  tmp___10 = git_common_path((char const   *)"worktrees/%s", wt->id);
  strbuf_realpath(& realpath___1, tmp___10, 1);
  ret___67 = fspathcmp((char const   *)path___6, (char const   *)realpath___1.buf);
  if (ret___67) {
    tmp___11 = git_common_path((char const   *)"worktrees/%s", wt->id);
    tmp___12 = _((char const   *)"\'%s\' does not point back to \'%s\'");
    strbuf_addf_gently(errmsg, (char const   *)tmp___12, wt->path, tmp___11);
  }
  done:
  free((void *)path___6);
  strbuf_release(& wt_path);
  strbuf_release(& realpath___1);
  return (ret___67);
}
}
void update_worktree_location(struct worktree *wt , char const   *path_ )
{
  struct strbuf path___6 ;
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  tmp = is_main_worktree((struct worktree  const  *)wt);
  if (tmp) {
    BUG_fl((char const   *)"worktree.c", 357, (char const   *)"can\'t relocate main worktree");
  }
  strbuf_realpath(& path___6, path_, 1);
  tmp___1 = fspathcmp((char const   *)wt->path, (char const   *)path___6.buf);
  if (tmp___1) {
    tmp___0 = git_common_path((char const   *)"worktrees/%s/gitdir", wt->id);
    write_file(tmp___0, (char const   *)"%s/.git", path___6.buf);
    free((void *)wt->path);
    wt->path = strbuf_detach(& path___6, (size_t *)((void *)0));
  }
  strbuf_release(& path___6);
  return;
}
}
int is_worktree_being_rebased(struct worktree  const  *wt , char const   *target )
{
  struct wt_status_state state___1 ;
  int found_rebase ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  memset((void *)(& state___1), 0, sizeof(state___1));
  tmp = wt_status_check_rebase(wt, & state___1);
  if (tmp) {
    if (state___1.rebase_in_progress) {
      goto _L;
    } else
    if (state___1.rebase_interactive_in_progress) {
      _L: /* CIL Label */
      if (state___1.branch) {
        tmp___0 = skip_prefix(target, (char const   *)"refs/heads/", & target);
        if (tmp___0) {
          tmp___1 = strcmp((char const   *)state___1.branch, target);
          if (tmp___1) {
            tmp___2 = 0;
          } else {
            tmp___2 = 1;
          }
        } else {
          tmp___2 = 0;
        }
      } else {
        tmp___2 = 0;
      }
    } else {
      tmp___2 = 0;
    }
  } else {
    tmp___2 = 0;
  }
  found_rebase = tmp___2;
  wt_status_state_free_buffers(& state___1);
  return (found_rebase);
}
}
int is_worktree_being_bisected(struct worktree  const  *wt , char const   *target )
{
  struct wt_status_state state___1 ;
  int found_bisect ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  memset((void *)(& state___1), 0, sizeof(state___1));
  tmp = wt_status_check_bisect(wt, & state___1);
  if (tmp) {
    if (state___1.branch) {
      tmp___0 = skip_prefix(target, (char const   *)"refs/heads/", & target);
      if (tmp___0) {
        tmp___1 = strcmp((char const   *)state___1.branch, target);
        if (tmp___1) {
          tmp___2 = 0;
        } else {
          tmp___2 = 1;
        }
      } else {
        tmp___2 = 0;
      }
    } else {
      tmp___2 = 0;
    }
  } else {
    tmp___2 = 0;
  }
  found_bisect = tmp___2;
  wt_status_state_free_buffers(& state___1);
  return (found_bisect);
}
}
struct worktree  const  *find_shared_symref(struct worktree **worktrees , char const   *symref ,
                                            char const   *target )
{
  struct worktree  const  *existing ;
  int i ;
  struct worktree *wt ;
  char const   *symref_target ;
  struct ref_store *refs___0 ;
  int flags___0 ;
  int ignore_errno ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  existing = (struct worktree  const  *)((void *)0);
  i = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(worktrees + i)) {
      goto while_break;
    }
    wt = *(worktrees + i);
    if (wt->is_bare) {
      goto __Cont;
    }
    if (wt->is_detached) {
      tmp___1 = strcmp(symref, (char const   *)"HEAD");
      if (! tmp___1) {
        tmp = is_worktree_being_rebased((struct worktree  const  *)wt, target);
        if (tmp) {
          existing = (struct worktree  const  *)wt;
          goto while_break;
        }
        tmp___0 = is_worktree_being_bisected((struct worktree  const  *)wt, target);
        if (tmp___0) {
          existing = (struct worktree  const  *)wt;
          goto while_break;
        }
      }
    }
    refs___0 = get_worktree_ref_store((struct worktree  const  *)wt);
    symref_target = refs_resolve_ref_unsafe(refs___0, symref, 0, (struct object_id *)((void *)0),
                                            & flags___0, & ignore_errno);
    if (flags___0 & 0x01) {
      if (symref_target) {
        tmp___2 = strcmp(symref_target, target);
        if (! tmp___2) {
          existing = (struct worktree  const  *)wt;
          goto while_break;
        }
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (existing);
}
}
int submodule_uses_worktrees(char const   *path___6 )
{
  char *submodule_gitdir ;
  struct strbuf sb___6 ;
  struct strbuf err___4 ;
  DIR *dir ;
  struct dirent *d ;
  int ret___67 ;
  struct repository_format format___0 ;
  int tmp ;
  size_t tmp___0 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  ret___67 = 0;
  format___0.version = -1;
  format___0.precious_objects = 0;
  format___0.partial_clone = (char *)0;
  format___0.worktree_config = 0;
  format___0.is_bare = -1;
  format___0.hash_algo = 1;
  format___0.sparse_index = 0;
  format___0.work_tree = (char *)0;
  format___0.unknown_extensions.items = (struct string_list_item *)0;
  format___0.unknown_extensions.nr = 0U;
  format___0.unknown_extensions.alloc = 0U;
  format___0.unknown_extensions.strdup_strings = 1U;
  format___0.unknown_extensions.cmp = (int (*)(char const   * , char const   * ))0;
  format___0.v1_only_extensions.items = (struct string_list_item *)0;
  format___0.v1_only_extensions.nr = 0U;
  format___0.v1_only_extensions.alloc = 0U;
  format___0.v1_only_extensions.strdup_strings = 1U;
  format___0.v1_only_extensions.cmp = (int (*)(char const   * , char const   * ))0;
  submodule_gitdir = git_pathdup_submodule(path___6, (char const   *)"%s", "");
  if (! submodule_gitdir) {
    return (0);
  }
  get_common_dir_noenv(& sb___6, (char const   *)submodule_gitdir);
  free((void *)submodule_gitdir);
  strbuf_addstr(& sb___6, (char const   *)"/config");
  read_repository_format(& format___0, (char const   *)sb___6.buf);
  tmp = verify_repository_format((struct repository_format  const  *)(& format___0),
                                 & err___4);
  if (tmp) {
    strbuf_release(& err___4);
    strbuf_release(& sb___6);
    clear_repository_format(& format___0);
    return (1);
  }
  clear_repository_format(& format___0);
  strbuf_release(& err___4);
  tmp___0 = strlen((char const   *)"config");
  strbuf_setlen(& sb___6, sb___6.len - tmp___0);
  strbuf_addstr(& sb___6, (char const   *)"worktrees");
  dir = opendir((char const   *)sb___6.buf);
  strbuf_release(& sb___6);
  if (! dir) {
    return (0);
  }
  d = readdir_skip_dot_and_dotdot(dir);
  if ((unsigned long )d != (unsigned long )((void *)0)) {
    ret___67 = 1;
  }
  closedir(dir);
  return (ret___67);
}
}
int parse_worktree_ref(char const   *worktree_ref , char const   **name___0 , int *name_length ,
                       char const   **ref )
{
  int tmp ;
  char const   *slash ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  tmp = skip_prefix(worktree_ref, (char const   *)"main-worktree/", & worktree_ref);
  if (tmp) {
    if (! *worktree_ref) {
      return (-1);
    }
    if (name___0) {
      *name___0 = (char const   *)((void *)0);
    }
    if (name_length) {
      *name_length = 0;
    }
    if (ref) {
      *ref = worktree_ref;
    }
    return (0);
  }
  tmp___1 = skip_prefix(worktree_ref, (char const   *)"worktrees/", & worktree_ref);
  if (tmp___1) {
    tmp___0 = strchr(worktree_ref, '/');
    slash = (char const   *)tmp___0;
    if (! slash) {
      return (-1);
    } else
    if ((unsigned long )slash == (unsigned long )worktree_ref) {
      return (-1);
    } else
    if (! *(slash + 1)) {
      return (-1);
    }
    if (name___0) {
      *name___0 = worktree_ref;
    }
    if (name_length) {
      *name_length = (int )(slash - worktree_ref);
    }
    if (ref) {
      *ref = slash + 1;
    }
    return (0);
  }
  return (-1);
}
}
void strbuf_worktree_ref(struct worktree  const  *wt , struct strbuf *sb___6 , char const   *refname )
{
  enum ref_type tmp ;
  int tmp___0 ;

  {
  tmp = ref_type(refname);
  {
  if ((unsigned int )tmp == 0U) {
    goto case_0;
  }
  if ((unsigned int )tmp == 1U) {
    goto case_0;
  }
  if ((unsigned int )tmp == 3U) {
    goto case_3;
  }
  if ((unsigned int )tmp == 2U) {
    goto case_3;
  }
  if ((unsigned int )tmp == 4U) {
    goto case_4;
  }
  goto switch_break;
  case_0: /* CIL Label */
  case_1: /* CIL Label */
  if (wt) {
    if (! wt->is_current) {
      tmp___0 = is_main_worktree(wt);
      if (tmp___0) {
        strbuf_addstr(sb___6, (char const   *)"main-worktree/");
      } else {
        strbuf_addf(sb___6, (char const   *)"worktrees/%s/", wt->id);
      }
    }
  }
  goto switch_break;
  case_3: /* CIL Label */
  case_2: /* CIL Label */
  goto switch_break;
  case_4: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  strbuf_addstr(sb___6, refname);
  return;
}
}
int other_head_refs(each_ref_fn *fn , void *cb_data )
{
  struct worktree **worktrees ;
  struct worktree **p___0 ;
  struct strbuf refname ;
  int ret___67 ;
  struct worktree *wt ;
  struct object_id oid ;
  int flag ;
  int ignore_errno ;
  struct ref_store *tmp ;
  char const   *tmp___0 ;

  {
  refname.alloc = 0UL;
  refname.len = 0UL;
  refname.buf = strbuf_slopbuf;
  ret___67 = 0;
  worktrees = get_worktrees();
  p___0 = worktrees;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    wt = *p___0;
    if (wt->is_current) {
      goto __Cont;
    }
    strbuf_setlen(& refname, (size_t )0);
    strbuf_worktree_ref((struct worktree  const  *)wt, & refname, (char const   *)"HEAD");
    tmp = get_main_ref_store(the_repository);
    tmp___0 = refs_resolve_ref_unsafe(tmp, (char const   *)refname.buf, 0x01, & oid,
                                      & flag, & ignore_errno);
    if (tmp___0) {
      ret___67 = (*fn)((char const   *)refname.buf, (struct object_id  const  *)(& oid),
                       flag, cb_data);
    }
    if (ret___67) {
      goto while_break;
    }
    __Cont: /* CIL Label */
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  free_worktrees(worktrees);
  strbuf_release(& refname);
  return (ret___67);
}
}
static void repair_gitfile(struct worktree *wt , void (*fn)(int iserr , char const   *path ,
                                                            char const   *msg , void *cb_data ) ,
                           void *cb_data )
{
  struct strbuf dotgit ;
  struct strbuf repo ;
  char *backlink ;
  char const   *repair___0 ;
  int err___4 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;

  {
  dotgit.alloc = 0UL;
  dotgit.len = 0UL;
  dotgit.buf = strbuf_slopbuf;
  repo.alloc = 0UL;
  repo.len = 0UL;
  repo.buf = strbuf_slopbuf;
  repair___0 = (char const   *)((void *)0);
  tmp = file_exists((char const   *)wt->path);
  if (! tmp) {
    return;
  }
  tmp___1 = is_directory((char const   *)wt->path);
  if (! tmp___1) {
    tmp___0 = _((char const   *)"not a directory");
    (*fn)(1, (char const   *)wt->path, (char const   *)tmp___0, cb_data);
    return;
  }
  tmp___2 = git_common_path((char const   *)"worktrees/%s", wt->id);
  strbuf_realpath(& repo, tmp___2, 1);
  strbuf_addf(& dotgit, (char const   *)"%s/.git", wt->path);
  tmp___3 = read_gitfile_gently((char const   *)dotgit.buf, & err___4);
  backlink = xstrdup_or_null(tmp___3);
  if (err___4 == 2) {
    tmp___4 = _((char const   *)".git is not a file");
    (*fn)(1, (char const   *)wt->path, (char const   *)tmp___4, cb_data);
  } else
  if (err___4) {
    tmp___5 = _((char const   *)".git file broken");
    repair___0 = (char const   *)tmp___5;
  } else {
    tmp___7 = fspathcmp((char const   *)backlink, (char const   *)repo.buf);
    if (tmp___7) {
      tmp___6 = _((char const   *)".git file incorrect");
      repair___0 = (char const   *)tmp___6;
    }
  }
  if (repair___0) {
    (*fn)(0, (char const   *)wt->path, repair___0, cb_data);
    write_file((char const   *)dotgit.buf, (char const   *)"gitdir: %s", repo.buf);
  }
  free((void *)backlink);
  strbuf_release(& repo);
  strbuf_release(& dotgit);
  return;
}
}
static void repair_noop(int iserr , char const   *path___6 , char const   *msg___5 ,
                        void *cb_data )
{


  {
  return;
}
}
void repair_worktrees(void (*fn)(int iserr , char const   *path , char const   *msg ,
                                 void *cb_data ) , void *cb_data )
{
  struct worktree **worktrees ;
  struct worktree **tmp ;
  struct worktree **wt ;

  {
  tmp = get_worktrees();
  worktrees = tmp;
  wt = worktrees + 1;
  if (! fn) {
    fn = & repair_noop;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *wt) {
      goto while_break;
    }
    repair_gitfile(*wt, fn, cb_data);
    wt ++;
  }
  while_break: /* CIL Label */ ;
  }
  free_worktrees(worktrees);
  return;
}
}
static int is_main_worktree_path(char const   *path___6 )
{
  struct strbuf target ;
  struct strbuf maindir ;
  int cmp___0 ;
  char const   *tmp ;

  {
  target.alloc = 0UL;
  target.len = 0UL;
  target.buf = strbuf_slopbuf;
  maindir.alloc = 0UL;
  maindir.len = 0UL;
  maindir.buf = strbuf_slopbuf;
  strbuf_add_real_path(& target, path___6);
  strbuf_strip_suffix(& target, (char const   *)"/.git");
  tmp = get_git_common_dir();
  strbuf_add_real_path(& maindir, tmp);
  strbuf_strip_suffix(& maindir, (char const   *)"/.git");
  cmp___0 = fspathcmp((char const   *)maindir.buf, (char const   *)target.buf);
  strbuf_release(& maindir);
  strbuf_release(& target);
  return (! cmp___0);
}
}
static char *infer_backlink(char const   *gitfile )
{
  struct strbuf actual ;
  struct strbuf inferred ;
  char const   *id ;
  ssize_t tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;

  {
  actual.alloc = 0UL;
  actual.len = 0UL;
  actual.buf = strbuf_slopbuf;
  inferred.alloc = 0UL;
  inferred.len = 0UL;
  inferred.buf = strbuf_slopbuf;
  tmp = strbuf_read_file(& actual, gitfile, (size_t )0);
  if (tmp < 0L) {
    goto error;
  }
  tmp___0 = starts_with((char const   *)actual.buf, (char const   *)"gitdir:");
  if (! tmp___0) {
    goto error;
  }
  tmp___1 = git_find_last_dir_sep((char const   *)actual.buf);
  id = (char const   *)tmp___1;
  if (! id) {
    goto error;
  }
  strbuf_trim(& actual);
  id ++;
  if (! *id) {
    goto error;
  }
  strbuf_git_common_path(& inferred, (struct repository  const  *)the_repository,
                         (char const   *)"worktrees/%s", id);
  tmp___2 = is_directory((char const   *)inferred.buf);
  if (! tmp___2) {
    goto error;
  }
  strbuf_release(& actual);
  tmp___3 = strbuf_detach(& inferred, (size_t *)((void *)0));
  return (tmp___3);
  error:
  strbuf_release(& actual);
  strbuf_release(& inferred);
  return ((char *)((void *)0));
}
}
void repair_worktree_at_path(char const   *path___6 , void (*fn)(int iserr , char const   *path ,
                                                                 char const   *msg ,
                                                                 void *cb_data ) ,
                             void *cb_data )
{
  struct strbuf dotgit ;
  struct strbuf realdotgit ;
  struct strbuf gitdir___0 ;
  struct strbuf olddotgit ;
  char *backlink ;
  char const   *repair___0 ;
  int err___4 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char *tmp___1 ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  ssize_t tmp___9 ;

  {
  dotgit.alloc = 0UL;
  dotgit.len = 0UL;
  dotgit.buf = strbuf_slopbuf;
  realdotgit.alloc = 0UL;
  realdotgit.len = 0UL;
  realdotgit.buf = strbuf_slopbuf;
  gitdir___0.alloc = 0UL;
  gitdir___0.len = 0UL;
  gitdir___0.buf = strbuf_slopbuf;
  olddotgit.alloc = 0UL;
  olddotgit.len = 0UL;
  olddotgit.buf = strbuf_slopbuf;
  backlink = (char *)((void *)0);
  repair___0 = (char const   *)((void *)0);
  if (! fn) {
    fn = & repair_noop;
  }
  tmp = is_main_worktree_path(path___6);
  if (tmp) {
    goto done;
  }
  strbuf_addf(& dotgit, (char const   *)"%s/.git", path___6);
  tmp___1 = strbuf_realpath(& realdotgit, (char const   *)dotgit.buf, 0);
  if (! tmp___1) {
    tmp___0 = _((char const   *)"not a valid path");
    (*fn)(1, path___6, (char const   *)tmp___0, cb_data);
    goto done;
  }
  tmp___2 = read_gitfile_gently((char const   *)realdotgit.buf, & err___4);
  backlink = xstrdup_or_null(tmp___2);
  if (err___4 == 2) {
    tmp___3 = _((char const   *)"unable to locate repository; .git is not a file");
    (*fn)(1, (char const   *)realdotgit.buf, (char const   *)tmp___3, cb_data);
    goto done;
  } else
  if (err___4 == 7) {
    backlink = infer_backlink((char const   *)realdotgit.buf);
    if (! backlink) {
      tmp___4 = _((char const   *)"unable to locate repository; .git file does not reference a repository");
      (*fn)(1, (char const   *)realdotgit.buf, (char const   *)tmp___4, cb_data);
      goto done;
    }
  } else
  if (err___4) {
    tmp___5 = _((char const   *)"unable to locate repository; .git file broken");
    (*fn)(1, (char const   *)realdotgit.buf, (char const   *)tmp___5, cb_data);
    goto done;
  }
  strbuf_addf(& gitdir___0, (char const   *)"%s/gitdir", backlink);
  tmp___9 = strbuf_read_file(& olddotgit, (char const   *)gitdir___0.buf, (size_t )0);
  if (tmp___9 < 0L) {
    tmp___6 = _((char const   *)"gitdir unreadable");
    repair___0 = (char const   *)tmp___6;
  } else {
    strbuf_rtrim(& olddotgit);
    tmp___8 = fspathcmp((char const   *)olddotgit.buf, (char const   *)realdotgit.buf);
    if (tmp___8) {
      tmp___7 = _((char const   *)"gitdir incorrect");
      repair___0 = (char const   *)tmp___7;
    }
  }
  if (repair___0) {
    (*fn)(0, (char const   *)gitdir___0.buf, repair___0, cb_data);
    write_file((char const   *)gitdir___0.buf, (char const   *)"%s", realdotgit.buf);
  }
  done:
  free((void *)backlink);
  strbuf_release(& olddotgit);
  strbuf_release(& gitdir___0);
  strbuf_release(& realdotgit);
  strbuf_release(& dotgit);
  return;
}
}
int should_prune_worktree(char const   *id , struct strbuf *reason , char **wtpath ,
                          timestamp_t expire___1 )
{
  struct stat st ;
  char *path___6 ;
  int fd ;
  size_t len___0 ;
  ssize_t read_result ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const   *tmp___5 ;
  int tmp___6 ;
  char const   *tmp___7 ;
  int *tmp___8 ;
  char *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  void *tmp___11 ;
  int *tmp___12 ;
  char *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  char const   *tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;

  {
  *wtpath = (char *)((void *)0);
  tmp___0 = git_path((char const   *)"worktrees/%s", id);
  tmp___1 = is_directory(tmp___0);
  if (! tmp___1) {
    tmp = _((char const   *)"not a valid directory");
    strbuf_addstr(reason, (char const   *)tmp);
    return (1);
  }
  tmp___2 = git_path((char const   *)"worktrees/%s/locked", id);
  tmp___3 = file_exists(tmp___2);
  if (tmp___3) {
    return (0);
  }
  tmp___5 = git_path((char const   *)"worktrees/%s/gitdir", id);
  tmp___6 = stat(tmp___5, & st);
  if (tmp___6) {
    tmp___4 = _((char const   *)"gitdir file does not exist");
    strbuf_addstr(reason, (char const   *)tmp___4);
    return (1);
  }
  tmp___7 = git_path((char const   *)"worktrees/%s/gitdir", id);
  fd = open(tmp___7, 00);
  if (fd < 0) {
    tmp___8 = __errno_location();
    tmp___9 = strerror(*tmp___8);
    tmp___10 = _((char const   *)"unable to read gitdir file (%s)");
    strbuf_addf(reason, (char const   *)tmp___10, tmp___9);
    return (1);
  }
  len___0 = xsize_t(st.st_size);
  tmp___11 = xmallocz(len___0);
  path___6 = (char *)tmp___11;
  read_result = read_in_full(fd, (void *)path___6, len___0);
  if (read_result < 0L) {
    tmp___12 = __errno_location();
    tmp___13 = strerror(*tmp___12);
    tmp___14 = _((char const   *)"unable to read gitdir file (%s)");
    strbuf_addf(reason, (char const   *)tmp___14, tmp___13);
    close(fd);
    free((void *)path___6);
    return (1);
  }
  close(fd);
  if ((size_t )read_result != len___0) {
    tmp___15 = _((char const   *)"short read (expected %lu bytes, read %lu)");
    strbuf_addf(reason, (char const   *)tmp___15, len___0, (uintmax_t )read_result);
    free((void *)path___6);
    return (1);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (len___0) {
      if (! ((int )*(path___6 + (len___0 - 1UL)) == 10)) {
        if (! ((int )*(path___6 + (len___0 - 1UL)) == 13)) {
          goto while_break;
        }
      }
    } else {
      goto while_break;
    }
    len___0 --;
  }
  while_break: /* CIL Label */ ;
  }
  if (! len___0) {
    tmp___16 = _((char const   *)"invalid gitdir file");
    strbuf_addstr(reason, (char const   *)tmp___16);
    free((void *)path___6);
    return (1);
  }
  *(path___6 + len___0) = (char )'\000';
  tmp___20 = file_exists((char const   *)path___6);
  if (! tmp___20) {
    tmp___18 = git_path((char const   *)"worktrees/%s/index", id);
    tmp___19 = stat(tmp___18, & st);
    if (tmp___19) {
      tmp___17 = _((char const   *)"gitdir file points to non-existent location");
      strbuf_addstr(reason, (char const   *)tmp___17);
      free((void *)path___6);
      return (1);
    } else
    if ((timestamp_t )st.st_mtim.tv_sec <= expire___1) {
      tmp___17 = _((char const   *)"gitdir file points to non-existent location");
      strbuf_addstr(reason, (char const   *)tmp___17);
      free((void *)path___6);
      return (1);
    } else {
      *wtpath = path___6;
      return (0);
    }
  }
  *wtpath = path___6;
  return (0);
}
}
static int memory_limit_check(size_t size , int gentle ) ;
static size_t limit___0  =    (size_t )0;
static int memory_limit_check(size_t size , int gentle )
{


  {
  if (! limit___0) {
    limit___0 = git_env_ulong((char const   *)"GIT_ALLOC_LIMIT", 0UL);
    if (! limit___0) {
      limit___0 = 18446744073709551615UL;
    }
  }
  if (size > limit___0) {
    if (gentle) {
      error((char const   *)"attempting to allocate %lu over limit %lu", size, limit___0);
      const_error();
      return (-1);
    } else {
      die((char const   *)"attempting to allocate %lu over limit %lu", size, limit___0);
    }
  }
  return (0);
}
}
char *xstrdup(char const   *str )
{
  char *ret___67 ;
  char *tmp ;

  {
  tmp = strdup(str);
  ret___67 = tmp;
  if (! ret___67) {
    die((char const   *)"Out of memory, strdup failed");
  }
  return (ret___67);
}
}
static void *do_xmalloc(size_t size , int gentle )
{
  void *ret___67 ;
  int tmp ;

  {
  tmp = memory_limit_check(size, gentle);
  if (tmp) {
    return ((void *)0);
  }
  ret___67 = malloc(size);
  if (! ret___67) {
    if (! size) {
      ret___67 = malloc((size_t )1);
    }
  }
  if (! ret___67) {
    if (! gentle) {
      die((char const   *)"Out of memory, malloc failed (tried to allocate %lu bytes)",
          size);
    } else {
      error((char const   *)"Out of memory, malloc failed (tried to allocate %lu bytes)",
            size);
      const_error();
      return ((void *)0);
    }
  }
  return (ret___67);
}
}
void *xmalloc(size_t size )
{
  void *tmp ;

  {
  tmp = do_xmalloc(size, 0);
  return (tmp);
}
}
static void *do_xmallocz(size_t size , int gentle )
{
  void *ret___67 ;

  {
  if (1UL > (18446744073709551615UL >> (8UL * sizeof(uintmax_t ) - 8UL * sizeof(size))) - size) {
    if (gentle) {
      error((char const   *)"Data too large to fit into virtual memory space.");
      const_error();
      return ((void *)0);
    } else {
      die((char const   *)"Data too large to fit into virtual memory space.");
    }
  }
  ret___67 = do_xmalloc(size + 1UL, gentle);
  if (ret___67) {
    *((char *)ret___67 + size) = (char)0;
  }
  return (ret___67);
}
}
void *xmallocz(size_t size )
{
  void *tmp ;

  {
  tmp = do_xmallocz(size, 0);
  return (tmp);
}
}
void *xmallocz_gently(size_t size )
{
  void *tmp ;

  {
  tmp = do_xmallocz(size, 1);
  return (tmp);
}
}
void *xmemdupz(void const   *data , size_t len___0 )
{
  void *tmp ;
  void *tmp___0 ;

  {
  tmp = xmallocz(len___0);
  tmp___0 = memcpy(tmp, data, len___0);
  return (tmp___0);
}
}
char *xstrndup(char const   *str , size_t len___0 )
{
  char *p___0 ;
  void *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  tmp = memchr((void const   *)str, '\000', len___0);
  p___0 = (char *)tmp;
  if (p___0) {
    tmp___0 = (size_t )(p___0 - (char *)str);
  } else {
    tmp___0 = len___0;
  }
  tmp___1 = xmemdupz((void const   *)str, tmp___0);
  return ((char *)tmp___1);
}
}
int xstrncmpz(char const   *s___1 , char const   *t , size_t len___0 )
{
  int res ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = strncmp(s___1, t, len___0);
  res = tmp;
  if (res) {
    return (res);
  }
  if ((int const   )*(s___1 + len___0) == 0) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
void *xrealloc(void *ptr , size_t size )
{
  void *ret___67 ;
  void *tmp ;

  {
  if (! size) {
    free(ptr);
    tmp = xmalloc((size_t )0);
    return (tmp);
  }
  memory_limit_check(size, 0);
  ret___67 = realloc(ptr, size);
  if (! ret___67) {
    die((char const   *)"Out of memory, realloc failed");
  }
  return (ret___67);
}
}
void *xcalloc(size_t nmemb , size_t size )
{
  void *ret___67 ;

  {
  if (nmemb) {
    if (size > (18446744073709551615UL >> (8UL * sizeof(uintmax_t ) - 8UL * sizeof(nmemb))) / nmemb) {
      die((char const   *)"data too large to fit into virtual memory space");
    }
  }
  memory_limit_check(size * nmemb, 0);
  ret___67 = calloc(nmemb, size);
  if (! ret___67) {
    if (! nmemb) {
      ret___67 = calloc((size_t )1, (size_t )1);
    } else
    if (! size) {
      ret___67 = calloc((size_t )1, (size_t )1);
    }
  }
  if (! ret___67) {
    die((char const   *)"Out of memory, calloc failed");
  }
  return (ret___67);
}
}
void xsetenv(char const   *name___0 , char const   *value , int overwrite )
{
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  tmp___1 = setenv(name___0, value, overwrite);
  if (tmp___1) {
    if (name___0) {
      tmp = name___0;
    } else {
      tmp = (char const   *)"(null)";
    }
    tmp___0 = _((char const   *)"could not setenv \'%s\'");
    die_errno((char const   *)tmp___0, tmp);
  }
  return;
}
}
int xopen(char const   *path___6 , int oflag  , ...)
{
  mode_t mode___1 ;
  va_list ap ;
  mode_t tmp ;
  int fd ;
  int tmp___0 ;
  int *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  mode___1 = (mode_t )0;
  __builtin_va_start(ap, oflag);
  if (oflag & 0100) {
    tmp = __builtin_va_arg(ap, int );
    mode___1 = tmp;
  }
  __builtin_va_end(ap);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = open(path___6, oflag, mode___1);
    fd = tmp___0;
    if (fd >= 0) {
      return (fd);
    }
    tmp___1 = __errno_location();
    if (*tmp___1 == 4) {
      goto __Cont;
    }
    if ((oflag & 192) == 192) {
      tmp___2 = _((char const   *)"unable to create \'%s\'");
      die_errno((char const   *)tmp___2, path___6);
    } else
    if ((oflag & 02) == 02) {
      tmp___3 = _((char const   *)"could not open \'%s\' for reading and writing");
      die_errno((char const   *)tmp___3, path___6);
    } else
    if ((oflag & 01) == 01) {
      tmp___4 = _((char const   *)"could not open \'%s\' for writing");
      die_errno((char const   *)tmp___4, path___6);
    } else {
      tmp___5 = _((char const   *)"could not open \'%s\' for reading");
      die_errno((char const   *)tmp___5, path___6);
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int handle_nonblock(int fd , short poll_events , int err___4 )
{
  struct pollfd pfd ;

  {
  if (err___4 != 11) {
    if (err___4 != 11) {
      return (0);
    }
  }
  pfd.fd = fd;
  pfd.events = poll_events;
  poll(& pfd, (nfds_t )1, -1);
  return (1);
}
}
ssize_t xread(int fd , void *buf___19 , size_t len___0 )
{
  ssize_t nr___0 ;
  int *tmp ;
  int *tmp___0 ;
  int tmp___1 ;

  {
  if (len___0 > 8388608UL) {
    len___0 = (size_t )8388608;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    nr___0 = read(fd, buf___19, len___0);
    if (nr___0 < 0L) {
      tmp = __errno_location();
      if (*tmp == 4) {
        goto while_continue;
      }
      tmp___0 = __errno_location();
      tmp___1 = handle_nonblock(fd, (short)1, *tmp___0);
      if (tmp___1) {
        goto while_continue;
      }
    }
    return (nr___0);
  }
  while_break: /* CIL Label */ ;
  }
}
}
ssize_t xwrite(int fd , void const   *buf___19 , size_t len___0 )
{
  ssize_t nr___0 ;
  int *tmp ;
  int *tmp___0 ;
  int tmp___1 ;

  {
  if (len___0 > 8388608UL) {
    len___0 = (size_t )8388608;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    nr___0 = write(fd, buf___19, len___0);
    if (nr___0 < 0L) {
      tmp = __errno_location();
      if (*tmp == 4) {
        goto while_continue;
      }
      tmp___0 = __errno_location();
      tmp___1 = handle_nonblock(fd, (short)4, *tmp___0);
      if (tmp___1) {
        goto while_continue;
      }
    }
    return (nr___0);
  }
  while_break: /* CIL Label */ ;
  }
}
}
ssize_t xpread(int fd , void *buf___19 , size_t len___0 , off_t offset___2 )
{
  ssize_t nr___0 ;
  int *tmp ;
  int *tmp___0 ;

  {
  if (len___0 > 8388608UL) {
    len___0 = (size_t )8388608;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    nr___0 = pread(fd, buf___19, len___0, offset___2);
    if (nr___0 < 0L) {
      tmp = __errno_location();
      if (*tmp == 11) {
        goto while_continue;
      } else {
        tmp___0 = __errno_location();
        if (*tmp___0 == 4) {
          goto while_continue;
        }
      }
    }
    return (nr___0);
  }
  while_break: /* CIL Label */ ;
  }
}
}
ssize_t read_in_full(int fd , void *buf___19 , size_t count___0 )
{
  char *p___0 ;
  ssize_t total ;
  ssize_t loaded___0 ;
  ssize_t tmp ;

  {
  p___0 = (char *)buf___19;
  total = (ssize_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (count___0 > 0UL)) {
      goto while_break;
    }
    tmp = xread(fd, (void *)p___0, count___0);
    loaded___0 = tmp;
    if (loaded___0 < 0L) {
      return ((ssize_t )-1);
    }
    if (loaded___0 == 0L) {
      return (total);
    }
    count___0 -= (size_t )loaded___0;
    p___0 += loaded___0;
    total += loaded___0;
  }
  while_break: /* CIL Label */ ;
  }
  return (total);
}
}
ssize_t write_in_full(int fd , void const   *buf___19 , size_t count___0 )
{
  char const   *p___0 ;
  ssize_t total ;
  ssize_t written___0 ;
  ssize_t tmp ;
  int *tmp___0 ;

  {
  p___0 = (char const   *)buf___19;
  total = (ssize_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (count___0 > 0UL)) {
      goto while_break;
    }
    tmp = xwrite(fd, (void const   *)p___0, count___0);
    written___0 = tmp;
    if (written___0 < 0L) {
      return ((ssize_t )-1);
    }
    if (! written___0) {
      tmp___0 = __errno_location();
      *tmp___0 = 28;
      return ((ssize_t )-1);
    }
    count___0 -= (size_t )written___0;
    p___0 += written___0;
    total += written___0;
  }
  while_break: /* CIL Label */ ;
  }
  return (total);
}
}
ssize_t pread_in_full(int fd , void *buf___19 , size_t count___0 , off_t offset___2 )
{
  char *p___0 ;
  ssize_t total ;
  ssize_t loaded___0 ;
  ssize_t tmp ;

  {
  p___0 = (char *)buf___19;
  total = (ssize_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (count___0 > 0UL)) {
      goto while_break;
    }
    tmp = xpread(fd, (void *)p___0, count___0, offset___2);
    loaded___0 = tmp;
    if (loaded___0 < 0L) {
      return ((ssize_t )-1);
    }
    if (loaded___0 == 0L) {
      return (total);
    }
    count___0 -= (size_t )loaded___0;
    p___0 += loaded___0;
    total += loaded___0;
    offset___2 += loaded___0;
  }
  while_break: /* CIL Label */ ;
  }
  return (total);
}
}
int xdup(int fd )
{
  int ret___67 ;
  int tmp ;

  {
  tmp = dup(fd);
  ret___67 = tmp;
  if (ret___67 < 0) {
    die_errno((char const   *)"dup failed");
  }
  return (ret___67);
}
}
FILE *xfopen(char const   *path___6 , char const   *mode___1 )
{
  FILE *fp ;
  FILE *tmp ;
  int *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = git_fopen(path___6, mode___1);
    fp = tmp;
    if (fp) {
      return (fp);
    }
    tmp___0 = __errno_location();
    if (*tmp___0 == 4) {
      goto __Cont;
    }
    if (*mode___1) {
      if ((int const   )*(mode___1 + 1) == 43) {
        tmp___1 = _((char const   *)"could not open \'%s\' for reading and writing");
        die_errno((char const   *)tmp___1, path___6);
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if ((int const   )*mode___1 == 119) {
      tmp___2 = _((char const   *)"could not open \'%s\' for writing");
      die_errno((char const   *)tmp___2, path___6);
    } else
    if ((int const   )*mode___1 == 97) {
      tmp___2 = _((char const   *)"could not open \'%s\' for writing");
      die_errno((char const   *)tmp___2, path___6);
    } else {
      tmp___3 = _((char const   *)"could not open \'%s\' for reading");
      die_errno((char const   *)tmp___3, path___6);
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
}
}
FILE *xfdopen(int fd , char const   *mode___1 )
{
  FILE *stream ;
  FILE *tmp ;

  {
  tmp = fdopen(fd, mode___1);
  stream = tmp;
  if ((unsigned long )stream == (unsigned long )((void *)0)) {
    die_errno((char const   *)"Out of memory? fdopen failed");
  }
  return (stream);
}
}
FILE *fopen_for_writing(char const   *path___6 )
{
  FILE *ret___67 ;
  FILE *tmp ;
  int *tmp___0 ;
  int tmp___1 ;
  int *tmp___2 ;

  {
  tmp = git_fopen(path___6, (char const   *)"w");
  ret___67 = tmp;
  if (! ret___67) {
    tmp___2 = __errno_location();
    if (*tmp___2 == 1) {
      tmp___1 = unlink(path___6);
      if (tmp___1) {
        tmp___0 = __errno_location();
        *tmp___0 = 1;
      } else {
        ret___67 = git_fopen(path___6, (char const   *)"w");
      }
    }
  }
  return (ret___67);
}
}
static void warn_on_inaccessible(char const   *path___6 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  tmp = _((char const   *)"unable to access \'%s\'");
  warning_errno((char const   *)tmp, path___6);
  return;
}
}
int warn_on_fopen_errors(char const   *path___6 )
{
  int *tmp ;
  int *tmp___0 ;

  {
  tmp = __errno_location();
  if (*tmp != 2) {
    tmp___0 = __errno_location();
    if (*tmp___0 != 20) {
      warn_on_inaccessible(path___6);
      return (-1);
    }
  }
  return (0);
}
}
FILE *fopen_or_warn(char const   *path___6 , char const   *mode___1 )
{
  FILE *fp ;
  FILE *tmp ;

  {
  tmp = git_fopen(path___6, mode___1);
  fp = tmp;
  if (fp) {
    return (fp);
  }
  warn_on_fopen_errors(path___6);
  return ((FILE *)((void *)0));
}
}
int xmkstemp(char *filename_template )
{
  int fd ;
  char origtemplate[4096] ;
  int saved_errno ;
  int *tmp ;
  char const   *nonrelative_template ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  int *tmp___2 ;

  {
  gitstrlcpy(origtemplate, (char const   *)filename_template, sizeof(origtemplate));
  fd = mkstemp(filename_template);
  if (fd < 0) {
    tmp = __errno_location();
    saved_errno = *tmp;
    tmp___0 = strlen((char const   *)filename_template);
    tmp___1 = strlen((char const   *)(origtemplate));
    if (tmp___0 != tmp___1) {
      filename_template = origtemplate;
    }
    nonrelative_template = absolute_path((char const   *)filename_template);
    tmp___2 = __errno_location();
    *tmp___2 = saved_errno;
    die_errno((char const   *)"Unable to create temporary file \'%s\'", nonrelative_template);
  }
  return (fd);
}
}
static char const   letters[63]  =
  {      (char const   )'a',      (char const   )'b',      (char const   )'c',      (char const   )'d',
        (char const   )'e',      (char const   )'f',      (char const   )'g',      (char const   )'h',
        (char const   )'i',      (char const   )'j',      (char const   )'k',      (char const   )'l',
        (char const   )'m',      (char const   )'n',      (char const   )'o',      (char const   )'p',
        (char const   )'q',      (char const   )'r',      (char const   )'s',      (char const   )'t',
        (char const   )'u',      (char const   )'v',      (char const   )'w',      (char const   )'x',
        (char const   )'y',      (char const   )'z',      (char const   )'A',      (char const   )'B',
        (char const   )'C',      (char const   )'D',      (char const   )'E',      (char const   )'F',
        (char const   )'G',      (char const   )'H',      (char const   )'I',      (char const   )'J',
        (char const   )'K',      (char const   )'L',      (char const   )'M',      (char const   )'N',
        (char const   )'O',      (char const   )'P',      (char const   )'Q',      (char const   )'R',
        (char const   )'S',      (char const   )'T',      (char const   )'U',      (char const   )'V',
        (char const   )'W',      (char const   )'X',      (char const   )'Y',      (char const   )'Z',
        (char const   )'0',      (char const   )'1',      (char const   )'2',      (char const   )'3',
        (char const   )'4',      (char const   )'5',      (char const   )'6',      (char const   )'7',
        (char const   )'8',      (char const   )'9',      (char const   )'\000'};
static int const   num_letters  =    (int const   )((sizeof(letters) / sizeof(letters[0]) + (sizeof(char [1]) - 1UL)) - 1UL);
static char const   x_pattern[7]  = {      (char const   )'X',      (char const   )'X',      (char const   )'X',      (char const   )'X',
        (char const   )'X',      (char const   )'X',      (char const   )'\000'};
static int const   num_x  =    (int const   )((sizeof(x_pattern) / sizeof(x_pattern[0]) + (sizeof(char [1]) - 1UL)) - 1UL);
int git_mkstemps_mode(char *pattern___0 , int suffix_len , int mode___1 )
{
  uint64_t value ;
  struct timeval tv ;
  char *filename_template ;
  size_t len___0 ;
  int fd ;
  int count___0 ;
  int *tmp ;
  int *tmp___0 ;
  int tmp___1 ;
  __pid_t tmp___2 ;
  uint64_t v ;
  int i ;
  int *tmp___3 ;

  {
  len___0 = strlen((char const   *)pattern___0);
  if (len___0 < (size_t )(num_x + (int const   )suffix_len)) {
    tmp = __errno_location();
    *tmp = 22;
    return (-1);
  }
  tmp___1 = strncmp((char const   *)(pattern___0 + ((len___0 - (size_t )num_x) - (size_t )suffix_len)),
                    x_pattern, (size_t )num_x);
  if (tmp___1) {
    tmp___0 = __errno_location();
    *tmp___0 = 22;
    return (-1);
  }
  gettimeofday((struct timeval * __restrict  )(& tv), (__timezone_ptr_t )((void *)0));
  tmp___2 = getpid();
  value = (((uint64_t )tv.tv_usec << 16) ^ (unsigned long )tv.tv_sec) ^ (unsigned long )tmp___2;
  filename_template = pattern___0 + ((len___0 - (size_t )num_x) - (size_t )suffix_len);
  count___0 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (count___0 < 16384)) {
      goto while_break;
    }
    v = value;
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < (int )num_x)) {
        goto while_break___0;
      }
      *(filename_template + i) = (char )letters[v % (unsigned long )num_letters];
      v /= (uint64_t )num_letters;
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    fd = open((char const   *)pattern___0, 194, mode___1);
    if (fd >= 0) {
      return (fd);
    }
    tmp___3 = __errno_location();
    if (*tmp___3 != 17) {
      goto while_break;
    }
    value += 7777UL;
    count___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  *(pattern___0 + 0) = (char )'\000';
  return (-1);
}
}
int git_mkstemp_mode(char *pattern___0 , int mode___1 )
{
  int tmp ;

  {
  tmp = git_mkstemps_mode(pattern___0, 0, mode___1);
  return (tmp);
}
}
int xmkstemp_mode(char *filename_template , int mode___1 )
{
  int fd ;
  char origtemplate[4096] ;
  int saved_errno ;
  int *tmp ;
  char const   *nonrelative_template ;
  int *tmp___0 ;

  {
  gitstrlcpy(origtemplate, (char const   *)filename_template, sizeof(origtemplate));
  fd = git_mkstemp_mode(filename_template, mode___1);
  if (fd < 0) {
    tmp = __errno_location();
    saved_errno = *tmp;
    if (! *(filename_template + 0)) {
      filename_template = origtemplate;
    }
    nonrelative_template = absolute_path((char const   *)filename_template);
    tmp___0 = __errno_location();
    *tmp___0 = saved_errno;
    die_errno((char const   *)"Unable to create temporary file \'%s\'", nonrelative_template);
  }
  return (fd);
}
}
static int warn_if_unremovable(char const   *op , char const   *file___0 , int rc___0 )
{
  int err___4 ;
  int *tmp ;
  int *tmp___0 ;
  int *tmp___1 ;

  {
  if (! rc___0) {
    return (0);
  } else {
    tmp = __errno_location();
    if (*tmp == 2) {
      return (0);
    }
  }
  tmp___0 = __errno_location();
  err___4 = *tmp___0;
  warning_errno((char const   *)"unable to %s \'%s\'", op, file___0);
  tmp___1 = __errno_location();
  *tmp___1 = err___4;
  return (rc___0);
}
}
int unlink_or_msg(char const   *file___0 , struct strbuf *err___4 )
{
  int rc___0 ;
  int tmp ;
  int *tmp___0 ;
  int *tmp___1 ;
  char *tmp___2 ;

  {
  tmp = unlink(file___0);
  rc___0 = tmp;
  assert((int )err___4);
  if (! rc___0) {
    return (0);
  } else {
    tmp___0 = __errno_location();
    if (*tmp___0 == 2) {
      return (0);
    }
  }
  tmp___1 = __errno_location();
  tmp___2 = strerror(*tmp___1);
  strbuf_addf(err___4, (char const   *)"unable to unlink \'%s\': %s", file___0, tmp___2);
  return (-1);
}
}
int unlink_or_warn(char const   *file___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = unlink(file___0);
  tmp___0 = warn_if_unremovable((char const   *)"unlink", file___0, tmp);
  return (tmp___0);
}
}
int rmdir_or_warn(char const   *file___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = lstat_cache_aware_rmdir(file___0);
  tmp___0 = warn_if_unremovable((char const   *)"rmdir", file___0, tmp);
  return (tmp___0);
}
}
int remove_or_warn(unsigned int mode___1 , char const   *file___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if ((mode___1 & 61440U) == 57344U) {
    tmp = rmdir_or_warn(file___0);
    tmp___1 = tmp;
  } else {
    tmp___0 = unlink_or_warn(file___0);
    tmp___1 = tmp___0;
  }
  return (tmp___1);
}
}
static int access_error_is_ok(int err___4 , unsigned int flag )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = is_missing_file_error(err___4);
  if (tmp) {
    tmp___0 = 1;
  } else
  if (flag & 1U) {
    if (err___4 == 13) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
int access_or_warn(char const   *path___6 , int mode___1 , unsigned int flag )
{
  int ret___67 ;
  int tmp ;
  int *tmp___0 ;
  int tmp___1 ;

  {
  tmp = access(path___6, mode___1);
  ret___67 = tmp;
  if (ret___67) {
    tmp___0 = __errno_location();
    tmp___1 = access_error_is_ok(*tmp___0, flag);
    if (! tmp___1) {
      warn_on_inaccessible(path___6);
    }
  }
  return (ret___67);
}
}
int access_or_die(char const   *path___6 , int mode___1 , unsigned int flag )
{
  int ret___67 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int *tmp___1 ;
  int tmp___2 ;

  {
  tmp = access(path___6, mode___1);
  ret___67 = tmp;
  if (ret___67) {
    tmp___1 = __errno_location();
    tmp___2 = access_error_is_ok(*tmp___1, flag);
    if (! tmp___2) {
      tmp___0 = _((char const   *)"unable to access \'%s\'");
      die_errno((char const   *)tmp___0, path___6);
    }
  }
  return (ret___67);
}
}
char *xgetcwd(void)
{
  struct strbuf sb___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp___0 = strbuf_getcwd(& sb___6);
  if (tmp___0) {
    tmp = _((char const   *)"unable to get current working directory");
    die_errno((char const   *)tmp);
  }
  tmp___1 = strbuf_detach(& sb___6, (size_t *)((void *)0));
  return (tmp___1);
}
}
int ( /* format attribute */  xsnprintf)(char *dst , size_t max , char const   *fmt
                                         , ...)
{
  va_list ap ;
  int len___0 ;

  {
  __builtin_va_start(ap, fmt);
  len___0 = vsnprintf(dst, max, fmt, ap);
  __builtin_va_end(ap);
  if (len___0 < 0) {
    BUG_fl((char const   *)"wrapper.c", 629, (char const   *)"your snprintf is broken");
  }
  if ((size_t )len___0 >= max) {
    BUG_fl((char const   *)"wrapper.c", 631, (char const   *)"attempt to snprintf into too-small buffer");
  }
  return (len___0);
}
}
void write_file_buf(char const   *path___6 , char const   *buf___19 , size_t len___0 )
{
  int fd ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  ssize_t tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  tmp = xopen(path___6, 577, 0666);
  fd = tmp;
  tmp___1 = write_in_full(fd, (void const   *)buf___19, len___0);
  if (tmp___1 < 0L) {
    tmp___0 = _((char const   *)"could not write to \'%s\'");
    die_errno((char const   *)tmp___0, path___6);
  }
  tmp___3 = close(fd);
  if (tmp___3) {
    tmp___2 = _((char const   *)"could not close \'%s\'");
    die_errno((char const   *)tmp___2, path___6);
  }
  return;
}
}
void ( /* format attribute */  write_file)(char const   *path___6 , char const   *fmt
                                           , ...)
{
  va_list params ;
  struct strbuf sb___6 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  __builtin_va_start(params, fmt);
  strbuf_vaddf(& sb___6, fmt, params);
  __builtin_va_end(params);
  strbuf_complete_line(& sb___6);
  write_file_buf(path___6, (char const   *)sb___6.buf, sb___6.len);
  strbuf_release(& sb___6);
  return;
}
}
void sleep_millisec(int millisec )
{


  {
  poll((struct pollfd *)((void *)0), (nfds_t )0, millisec);
  return;
}
}
int xgethostname(char *buf___19 , size_t len___0 )
{
  int ret___67 ;
  int tmp ;

  {
  tmp = gethostname(buf___19, len___0);
  ret___67 = tmp;
  if (! ret___67) {
    *(buf___19 + (len___0 - 1UL)) = (char)0;
  }
  return (ret___67);
}
}
int is_empty_or_missing_file(char const   *filename___0 )
{
  struct stat st ;
  int *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  tmp___1 = stat(filename___0, & st);
  if (tmp___1 < 0) {
    tmp = __errno_location();
    if (*tmp == 2) {
      return (1);
    }
    tmp___0 = _((char const   *)"could not stat %s");
    die_errno((char const   *)tmp___0, filename___0);
  }
  return (! st.st_size);
}
}
int open_nofollow(char const   *path___6 , int flags___0 )
{
  int tmp ;

  {
  tmp = open(path___6, flags___0 | 0400000);
  return (tmp);
}
}
static int skip_stdout_flush  =    -1;
void maybe_flush_or_die(FILE *f , char const   *desc___0 )
{
  struct stat st ;
  char *cp ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int *tmp___3 ;
  int tmp___4 ;

  {
  if ((unsigned long )f == (unsigned long )stdout) {
    if (skip_stdout_flush < 0) {
      cp = getenv((char const   *)"GIT_FLUSH");
      if (cp) {
        tmp = atoi((char const   *)cp);
        skip_stdout_flush = tmp == 0;
      } else {
        tmp___0 = fileno(stdout);
        tmp___1 = fstat(tmp___0, & st);
        if (tmp___1 == 0) {
          if ((st.st_mode & 61440U) == 32768U) {
            skip_stdout_flush = 1;
          } else {
            skip_stdout_flush = 0;
          }
        } else {
          skip_stdout_flush = 0;
        }
      }
    }
    if (skip_stdout_flush) {
      tmp___2 = ferror(f);
      if (! tmp___2) {
        return;
      }
    }
  }
  tmp___4 = fflush(f);
  if (tmp___4) {
    tmp___3 = __errno_location();
    check_pipe(*tmp___3);
    die_errno((char const   *)"write failure on \'%s\'", desc___0);
  }
  return;
}
}
void ( /* format attribute */  fprintf_or_die)(FILE *f , char const   *fmt  , ...)
{
  va_list ap ;
  int ret___67 ;
  int *tmp ;

  {
  __builtin_va_start(ap, fmt);
  ret___67 = vfprintf(f, fmt, ap);
  __builtin_va_end(ap);
  if (ret___67 < 0) {
    tmp = __errno_location();
    check_pipe(*tmp);
    die_errno((char const   *)"write error");
  }
  return;
}
}
void fsync_or_die(int fd , char const   *msg___5 )
{
  int *tmp ;
  int tmp___0 ;

  {
  if (use_fsync < 0) {
    use_fsync = git_env_bool((char const   *)"GIT_TEST_FSYNC", 1);
  }
  if (! use_fsync) {
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = fsync(fd);
    if (! (tmp___0 < 0)) {
      goto while_break;
    }
    tmp = __errno_location();
    if (*tmp != 4) {
      die_errno((char const   *)"fsync error on \'%s\'", msg___5);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void write_or_die(int fd , void const   *buf___19 , size_t count___0 )
{
  int *tmp ;
  ssize_t tmp___0 ;

  {
  tmp___0 = write_in_full(fd, buf___19, count___0);
  if (tmp___0 < 0L) {
    tmp = __errno_location();
    check_pipe(*tmp);
    die_errno((char const   *)"write error");
  }
  return;
}
}
void fwrite_or_die(FILE *f , void const   *buf___19 , size_t count___0 )
{
  size_t tmp ;

  {
  tmp = fwrite((void const   * __restrict  )buf___19, (size_t )1, count___0, (FILE * __restrict  )f);
  if (tmp != count___0) {
    die_errno((char const   *)"fwrite error");
  }
  return;
}
}
void fflush_or_die(FILE *f )
{
  int tmp ;

  {
  tmp = fflush(f);
  if (tmp) {
    die_errno((char const   *)"fflush error");
  }
  return;
}
}
static struct whitespace_rule whitespace_rule_names[7]  = {      {(char const   *)"trailing-space", 1088U, 0U, 0U},
        {(char const   *)"space-before-tab", 128U, 0U, 0U},
        {(char const   *)"indent-with-non-tab", 256U, 0U, 0U},
        {(char const   *)"cr-at-eol", 512U, 1U, 0U},
        {(char const   *)"blank-at-eol", 64U, 0U, 0U},
        {(char const   *)"blank-at-eof", 1024U, 0U, 0U},
        {(char const   *)"tab-in-indent", 2048U, 0U, 1U}};
unsigned int parse_whitespace_rule(char const   *string___0 )
{
  unsigned int rule ;
  int i ;
  size_t len___0 ;
  char const   *ep ;
  int negated ;
  size_t tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  unsigned int tabwidth ;
  int tmp___2 ;
  int tmp___3 ;

  {
  rule = 1224U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! string___0) {
      goto while_break;
    }
    negated = 0;
    tmp = strspn(string___0, (char const   *)", \t\n\r");
    string___0 += tmp;
    tmp___0 = strchrnul(string___0, ',');
    ep = (char const   *)tmp___0;
    len___0 = (size_t )(ep - string___0);
    if ((int const   )*string___0 == 45) {
      negated = 1;
      string___0 ++;
      len___0 --;
    }
    if (! len___0) {
      goto while_break;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned long )i < sizeof(whitespace_rule_names) / sizeof(whitespace_rule_names[0]) + (sizeof(char [1]) - 1UL))) {
        goto while_break___0;
      }
      tmp___1 = strncmp(whitespace_rule_names[i].rule_name, string___0, len___0);
      if (tmp___1) {
        goto __Cont;
      }
      if (negated) {
        rule &= ~ whitespace_rule_names[i].rule_bits;
      } else {
        rule |= whitespace_rule_names[i].rule_bits;
      }
      goto while_break___0;
      __Cont: /* CIL Label */
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___3 = strncmp(string___0, (char const   *)"tabwidth=", (size_t )9);
    if (tmp___3 == 0) {
      tmp___2 = atoi(string___0 + 9);
      tabwidth = (unsigned int )tmp___2;
      if (0U < tabwidth) {
        if (tabwidth < 64U) {
          rule &= 4294967232U;
          rule |= tabwidth;
        } else {
          warning((char const   *)"tabwidth %.*s out of range", (int )(len___0 - 9UL),
                  string___0 + 9);
        }
      } else {
        warning((char const   *)"tabwidth %.*s out of range", (int )(len___0 - 9UL),
                string___0 + 9);
      }
    }
    string___0 = ep;
  }
  while_break: /* CIL Label */ ;
  }
  if (rule & 2048U) {
    if (rule & 256U) {
      die((char const   *)"cannot enforce both tab-in-indent and indent-with-non-tab");
    }
  }
  return (rule);
}
}
static struct attr_check *attr_whitespace_rule  ;
unsigned int whitespace_rule(struct index_state *istate , char const   *pathname )
{
  char const   *value ;
  unsigned int all_rule ;
  int i ;
  unsigned int tmp ;

  {
  if (! attr_whitespace_rule) {
    attr_whitespace_rule = attr_check_initl((char const   *)"whitespace", (void *)0);
  }
  git_check_attr(istate, pathname, attr_whitespace_rule);
  value = (attr_whitespace_rule->items + 0)->value;
  if ((unsigned long )value == (unsigned long )(git_attr__true)) {
    all_rule = whitespace_rule_cfg & 63U;
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned long )i < sizeof(whitespace_rule_names) / sizeof(whitespace_rule_names[0]) + (sizeof(char [1]) - 1UL))) {
        goto while_break;
      }
      if (! whitespace_rule_names[i].loosens_error) {
        if (! whitespace_rule_names[i].exclude_default) {
          all_rule |= whitespace_rule_names[i].rule_bits;
        }
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    return (all_rule);
  } else
  if ((unsigned long )value == (unsigned long )(git_attr__false)) {
    return (whitespace_rule_cfg & 63U);
  } else
  if ((unsigned long )value == (unsigned long )((void *)0)) {
    return (whitespace_rule_cfg);
  } else {
    tmp = parse_whitespace_rule(value);
    return (tmp);
  }
}
}
char *whitespace_error_string(unsigned int ws )
{
  struct strbuf err___4 ;
  char *tmp ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  if ((ws & 1088U) == 1088U) {
    strbuf_addstr(& err___4, (char const   *)"trailing whitespace");
  } else {
    if (ws & 64U) {
      strbuf_addstr(& err___4, (char const   *)"trailing whitespace");
    }
    if (ws & 1024U) {
      if (err___4.len) {
        strbuf_addstr(& err___4, (char const   *)", ");
      }
      strbuf_addstr(& err___4, (char const   *)"new blank line at EOF");
    }
  }
  if (ws & 128U) {
    if (err___4.len) {
      strbuf_addstr(& err___4, (char const   *)", ");
    }
    strbuf_addstr(& err___4, (char const   *)"space before tab in indent");
  }
  if (ws & 256U) {
    if (err___4.len) {
      strbuf_addstr(& err___4, (char const   *)", ");
    }
    strbuf_addstr(& err___4, (char const   *)"indent with spaces");
  }
  if (ws & 2048U) {
    if (err___4.len) {
      strbuf_addstr(& err___4, (char const   *)", ");
    }
    strbuf_addstr(& err___4, (char const   *)"tab in indent");
  }
  tmp = strbuf_detach(& err___4, (size_t *)((void *)0));
  return (tmp);
}
}
static unsigned int ws_check_emit_1(char const   *line___0 , int len___0 , unsigned int ws_rule ,
                                    FILE *stream , char const   *set , char const   *reset ,
                                    char const   *ws )
{
  unsigned int result___0 ;
  int written___0 ;
  int trailing_whitespace ;
  int trailing_newline ;
  int trailing_carriage_return ;
  int i ;

  {
  result___0 = 0U;
  written___0 = 0;
  trailing_whitespace = -1;
  trailing_newline = 0;
  trailing_carriage_return = 0;
  if (len___0 > 0) {
    if ((int const   )*(line___0 + (len___0 - 1)) == 10) {
      trailing_newline = 1;
      len___0 --;
    }
  }
  if (ws_rule & 512U) {
    if (len___0 > 0) {
      if ((int const   )*(line___0 + (len___0 - 1)) == 13) {
        trailing_carriage_return = 1;
        len___0 --;
      }
    }
  }
  if (ws_rule & 64U) {
    i = len___0 - 1;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i >= 0)) {
        goto while_break;
      }
      if (((int const   )sane_ctype[(unsigned char )*(line___0 + i)] & 1) != 0) {
        trailing_whitespace = i;
        result___0 |= 64U;
      } else {
        goto while_break;
      }
      i --;
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (trailing_whitespace == -1) {
    trailing_whitespace = len___0;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < trailing_whitespace)) {
      goto while_break___0;
    }
    if ((int const   )*(line___0 + i) == 32) {
      goto __Cont;
    }
    if ((int const   )*(line___0 + i) != 9) {
      goto while_break___0;
    }
    if (ws_rule & 128U) {
      if (written___0 < i) {
        result___0 |= 128U;
        if (stream) {
          fputs((char const   * __restrict  )ws, (FILE * __restrict  )stream);
          fwrite((void const   * __restrict  )(line___0 + written___0), (size_t )(i - written___0),
                 (size_t )1, (FILE * __restrict  )stream);
          fputs((char const   * __restrict  )reset, (FILE * __restrict  )stream);
          fwrite((void const   * __restrict  )(line___0 + i), (size_t )1, (size_t )1,
                 (FILE * __restrict  )stream);
        }
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (ws_rule & 2048U) {
      result___0 |= 2048U;
      if (stream) {
        fwrite((void const   * __restrict  )(line___0 + written___0), (size_t )(i - written___0),
               (size_t )1, (FILE * __restrict  )stream);
        fputs((char const   * __restrict  )ws, (FILE * __restrict  )stream);
        fwrite((void const   * __restrict  )(line___0 + i), (size_t )1, (size_t )1,
               (FILE * __restrict  )stream);
        fputs((char const   * __restrict  )reset, (FILE * __restrict  )stream);
      }
    } else
    if (stream) {
      fwrite((void const   * __restrict  )(line___0 + written___0), (size_t )((i - written___0) + 1),
             (size_t )1, (FILE * __restrict  )stream);
    }
    written___0 = i + 1;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (ws_rule & 256U) {
    if ((unsigned int )(i - written___0) >= (ws_rule & 63U)) {
      result___0 |= 256U;
      if (stream) {
        fputs((char const   * __restrict  )ws, (FILE * __restrict  )stream);
        fwrite((void const   * __restrict  )(line___0 + written___0), (size_t )(i - written___0),
               (size_t )1, (FILE * __restrict  )stream);
        fputs((char const   * __restrict  )reset, (FILE * __restrict  )stream);
      }
      written___0 = i;
    }
  }
  if (stream) {
    if (trailing_whitespace - written___0 > 0) {
      fputs((char const   * __restrict  )set, (FILE * __restrict  )stream);
      fwrite((void const   * __restrict  )(line___0 + written___0), (size_t )(trailing_whitespace - written___0),
             (size_t )1, (FILE * __restrict  )stream);
      fputs((char const   * __restrict  )reset, (FILE * __restrict  )stream);
    }
    if (trailing_whitespace != len___0) {
      fputs((char const   * __restrict  )ws, (FILE * __restrict  )stream);
      fwrite((void const   * __restrict  )(line___0 + trailing_whitespace), (size_t )(len___0 - trailing_whitespace),
             (size_t )1, (FILE * __restrict  )stream);
      fputs((char const   * __restrict  )reset, (FILE * __restrict  )stream);
    }
    if (trailing_carriage_return) {
      fputc('\r', stream);
    }
    if (trailing_newline) {
      fputc('\n', stream);
    }
  }
  return (result___0);
}
}
void ws_check_emit(char const   *line___0 , int len___0 , unsigned int ws_rule , FILE *stream ,
                   char const   *set , char const   *reset , char const   *ws )
{


  {
  ws_check_emit_1(line___0, len___0, ws_rule, stream, set, reset, ws);
  return;
}
}
unsigned int ws_check(char const   *line___0 , int len___0 , unsigned int ws_rule )
{
  unsigned int tmp ;

  {
  tmp = ws_check_emit_1(line___0, len___0, ws_rule, (FILE *)((void *)0), (char const   *)((void *)0),
                        (char const   *)((void *)0), (char const   *)((void *)0));
  return (tmp);
}
}
int ws_blank_line(char const   *line___0 , int len___0 , unsigned int ws_rule )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = len___0;
    len___0 --;
    if (! (tmp > 0)) {
      goto while_break;
    }
    if (! (((int const   )sane_ctype[(unsigned char )*line___0] & 1) != 0)) {
      return (0);
    }
    line___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
void ws_fix_copy(struct strbuf *dst , char const   *src , int len___0 , unsigned int ws_rule ,
                 int *error_count )
{
  int i ;
  int add_nl_to_tail ;
  int add_cr_to_tail ;
  int fixed ;
  int last_tab_in_indent ;
  int last_space_in_indent ;
  int need_fix_leading_space ;
  char ch___0 ;
  int consecutive_spaces ;
  int last ;
  char ch___1 ;
  int tmp ;
  int start ;
  int last___0 ;

  {
  add_nl_to_tail = 0;
  add_cr_to_tail = 0;
  fixed = 0;
  last_tab_in_indent = -1;
  last_space_in_indent = -1;
  need_fix_leading_space = 0;
  if (ws_rule & 64U) {
    if (0 < len___0) {
      if ((int const   )*(src + (len___0 - 1)) == 10) {
        add_nl_to_tail = 1;
        len___0 --;
        if (0 < len___0) {
          if ((int const   )*(src + (len___0 - 1)) == 13) {
            add_cr_to_tail = ! (! (ws_rule & 512U));
            len___0 --;
          }
        }
      }
    }
    if (0 < len___0) {
      if (((int const   )sane_ctype[(unsigned char )*(src + (len___0 - 1))] & 1) != 0) {
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          if (0 < len___0) {
            if (! (((int const   )sane_ctype[(unsigned char )*(src + (len___0 - 1))] & 1) != 0)) {
              goto while_break;
            }
          } else {
            goto while_break;
          }
          len___0 --;
        }
        while_break: /* CIL Label */ ;
        }
        fixed = 1;
      }
    }
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < len___0)) {
      goto while_break___0;
    }
    ch___0 = (char )*(src + i);
    if ((int )ch___0 == 9) {
      last_tab_in_indent = i;
      if (ws_rule & 128U) {
        if (0 <= last_space_in_indent) {
          need_fix_leading_space = 1;
        }
      }
    } else
    if ((int )ch___0 == 32) {
      last_space_in_indent = i;
      if (ws_rule & 256U) {
        if ((ws_rule & 63U) <= (unsigned int )(i - last_tab_in_indent)) {
          need_fix_leading_space = 1;
        }
      }
    } else {
      goto while_break___0;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (need_fix_leading_space) {
    consecutive_spaces = 0;
    last = last_tab_in_indent + 1;
    if (ws_rule & 256U) {
      if (last_tab_in_indent < last_space_in_indent) {
        last = last_space_in_indent + 1;
      } else {
        last = last_tab_in_indent + 1;
      }
    }
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < last)) {
        goto while_break___1;
      }
      ch___1 = (char )*(src + i);
      if ((int )ch___1 != 32) {
        consecutive_spaces = 0;
        strbuf_addch(dst, (int )ch___1);
      } else {
        consecutive_spaces ++;
        if ((unsigned int )consecutive_spaces == (ws_rule & 63U)) {
          strbuf_addch(dst, '\t');
          consecutive_spaces = 0;
        }
      }
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      tmp = consecutive_spaces;
      consecutive_spaces --;
      if (! (0 < tmp)) {
        goto while_break___2;
      }
      strbuf_addch(dst, ' ');
    }
    while_break___2: /* CIL Label */ ;
    }
    len___0 -= last;
    src += last;
    fixed = 1;
  } else
  if (ws_rule & 2048U) {
    if (last_tab_in_indent >= 0) {
      start = (int )dst->len;
      last___0 = last_tab_in_indent + 1;
      i = 0;
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if (! (i < last___0)) {
          goto while_break___3;
        }
        if ((int const   )*(src + i) == 9) {
          {
          while (1) {
            while_continue___4: /* CIL Label */ ;
            strbuf_addch(dst, ' ');
            if (! ((dst->len - (size_t )start) % (unsigned long )(ws_rule & 63U))) {
              goto while_break___4;
            }
          }
          while_break___4: /* CIL Label */ ;
          }
        } else {
          strbuf_addch(dst, (int )*(src + i));
        }
        i ++;
      }
      while_break___3: /* CIL Label */ ;
      }
      len___0 -= last___0;
      src += last___0;
      fixed = 1;
    }
  }
  strbuf_add(dst, (void const   *)src, (size_t )len___0);
  if (add_cr_to_tail) {
    strbuf_addch(dst, '\r');
  }
  if (add_nl_to_tail) {
    strbuf_addch(dst, '\n');
  }
  if (fixed) {
    if (error_count) {
      (*error_count) ++;
    }
  }
  return;
}
}
static double const   __ac_HASH_UPPER___100  =    (double const   )0.77;
__inline static void kh_resize_oid_set___100(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___100(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___100 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___100 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___100(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___100(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___100(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___100(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___100(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___100(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___100 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___100 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___100(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___100(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___100(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___100(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___100(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___100(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___100 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___100 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___100(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___100(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___100(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___100(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   cut_line[54]  =
  {      (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )' ',      (char const   )'>',      (char const   )'8',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'-',      (char const   )'-',      (char const   )'-',      (char const   )'-',
        (char const   )'\n',      (char const   )'\000'};
static char default_wt_status_colors[9][75]  =
  { {        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'3',        (char )'2',
            (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'3',        (char )'1',
            (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'3',        (char )'1',
            (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'3',        (char )'1',
            (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'3',        (char )'1',
            (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'3',        (char )'2',
            (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'3',        (char )'1',
            (char )'m',        (char )'\000'},
   {        (char )'N',        (char )'I',        (char )'L',        (char )'\000'}};
static char const   *color(int slot , struct wt_status *s___1 )
{
  char const   *c___0 ;
  int tmp ;
  int tmp___0 ;

  {
  c___0 = (char const   *)"";
  tmp = want_color_fd(1, s___1->use_color);
  if (tmp) {
    c___0 = (char const   *)(s___1->color_palette[slot]);
  }
  if (slot == 8) {
    tmp___0 = color_is_nil(c___0);
    if (tmp___0) {
      c___0 = (char const   *)(s___1->color_palette[0]);
    }
  }
  return (c___0);
}
}
static void status_vprintf(struct wt_status *s___1 , int at_bol , char const   *color___0 ,
                           char const   *fmt , va_list ap , char const   *trail )
{
  struct strbuf sb___6 ;
  struct strbuf linebuf ;
  char const   *line___0 ;
  char const   *eol ;
  char *tmp ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  linebuf.alloc = 0UL;
  linebuf.len = 0UL;
  linebuf.buf = strbuf_slopbuf;
  strbuf_vaddf(& sb___6, fmt, ap);
  if (! sb___6.len) {
    if (s___1->display_comment_prefix) {
      strbuf_addch(& sb___6, (int )comment_line_char);
      if (! trail) {
        strbuf_addch(& sb___6, ' ');
      }
    }
    color_print_strbuf(s___1->fp, color___0, (struct strbuf  const  *)(& sb___6));
    if (trail) {
      fprintf(s___1->fp, (char const   *)"%s", trail);
    }
    strbuf_release(& sb___6);
    return;
  }
  line___0 = (char const   *)sb___6.buf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *line___0) {
      goto while_break;
    }
    tmp = strchr(line___0, '\n');
    eol = (char const   *)tmp;
    strbuf_setlen(& linebuf, (size_t )0);
    if (at_bol) {
      if (s___1->display_comment_prefix) {
        strbuf_addch(& linebuf, (int )comment_line_char);
        if ((int const   )*line___0 != 10) {
          if ((int const   )*line___0 != 9) {
            strbuf_addch(& linebuf, ' ');
          }
        }
      }
    }
    if (eol) {
      strbuf_add(& linebuf, (void const   *)line___0, (size_t )(eol - line___0));
    } else {
      strbuf_addstr(& linebuf, line___0);
    }
    color_print_strbuf(s___1->fp, color___0, (struct strbuf  const  *)(& linebuf));
    if (eol) {
      fprintf(s___1->fp, (char const   *)"\n");
    } else {
      goto while_break;
    }
    at_bol = 1;
    line___0 = eol + 1;
  }
  while_break: /* CIL Label */ ;
  }
  if (trail) {
    fprintf(s___1->fp, (char const   *)"%s", trail);
  }
  strbuf_release(& linebuf);
  strbuf_release(& sb___6);
  return;
}
}
void ( /* format attribute */  status_printf_ln)(struct wt_status *s___1 , char const   *color___0 ,
                                                 char const   *fmt  , ...)
{
  va_list ap ;

  {
  __builtin_va_start(ap, fmt);
  status_vprintf(s___1, 1, color___0, fmt, ap, (char const   *)"\n");
  __builtin_va_end(ap);
  return;
}
}
void ( /* format attribute */  status_printf)(struct wt_status *s___1 , char const   *color___0 ,
                                              char const   *fmt  , ...)
{
  va_list ap ;

  {
  __builtin_va_start(ap, fmt);
  status_vprintf(s___1, 1, color___0, fmt, ap, (char const   *)((void *)0));
  __builtin_va_end(ap);
  return;
}
}
static void status_printf_more(struct wt_status *s___1 , char const   *color___0 ,
                               char const   *fmt  , ...)
{
  va_list ap ;

  {
  __builtin_va_start(ap, fmt);
  status_vprintf(s___1, 0, color___0, fmt, ap, (char const   *)((void *)0));
  __builtin_va_end(ap);
  return;
}
}
void wt_status_prepare(struct repository *r , struct wt_status *s___1 )
{
  char *tmp ;

  {
  memset((void *)s___1, 0, sizeof(*s___1));
  s___1->repo = r;
  memcpy((void *)(s___1->color_palette), (void const   *)(default_wt_status_colors),
         sizeof(default_wt_status_colors));
  s___1->show_untracked_files = (enum untracked_status_type )1;
  s___1->use_color = -1;
  s___1->relative_paths = 1;
  s___1->branch = resolve_refdup((char const   *)"HEAD", 0, (struct object_id *)((void *)0),
                                 (int *)((void *)0));
  s___1->reference = (char const   *)"HEAD";
  s___1->fp = stdout;
  tmp = get_index_file();
  s___1->index_file = (char const   *)tmp;
  s___1->change.strdup_strings = 1U;
  s___1->untracked.strdup_strings = 1U;
  s___1->ignored.strdup_strings = 1U;
  s___1->show_branch = -1;
  s___1->show_stash = 0;
  s___1->ahead_behind_flags = (enum ahead_behind_flags )-1;
  s___1->display_comment_prefix = 0;
  s___1->detect_rename = -1;
  s___1->rename_score = -1;
  s___1->rename_limit = -1;
  return;
}
}
static void wt_longstatus_print_unmerged_header(struct wt_status *s___1 )
{
  int i ;
  int del_mod_conflict ;
  int both_deleted ;
  int not_deleted ;
  char const   *c___0 ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  struct string_list_item *it ;
  struct wt_status_change_data *d ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;

  {
  del_mod_conflict = 0;
  both_deleted = 0;
  not_deleted = 0;
  tmp = color(0, s___1);
  c___0 = tmp;
  tmp___0 = _((char const   *)"Unmerged paths:");
  status_printf_ln(s___1, c___0, (char const   *)tmp___0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < s___1->change.nr)) {
      goto while_break;
    }
    it = s___1->change.items + i;
    d = (struct wt_status_change_data *)it->util;
    {
    if (d->stagemask == 0) {
      goto case_0;
    }
    if (d->stagemask == 1) {
      goto case_1;
    }
    if (d->stagemask == 5) {
      goto case_5;
    }
    if (d->stagemask == 3) {
      goto case_5;
    }
    goto switch_default;
    case_0: /* CIL Label */
    goto switch_break;
    case_1: /* CIL Label */
    both_deleted = 1;
    goto switch_break;
    case_5: /* CIL Label */
    case_3: /* CIL Label */
    del_mod_conflict = 1;
    goto switch_break;
    switch_default: /* CIL Label */
    not_deleted = 1;
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! s___1->hints) {
    return;
  }
  if (! ((unsigned int )s___1->whence != 0U)) {
    if (! s___1->is_initial) {
      tmp___3 = strcmp(s___1->reference, (char const   *)"HEAD");
      if (tmp___3) {
        tmp___2 = _((char const   *)"  (use \"git restore --source=%s --staged <file>...\" to unstage)");
        status_printf_ln(s___1, c___0, (char const   *)tmp___2, s___1->reference);
      } else {
        tmp___1 = _((char const   *)"  (use \"git restore --staged <file>...\" to unstage)");
        status_printf_ln(s___1, c___0, (char const   *)tmp___1);
      }
    } else {
      tmp___4 = _((char const   *)"  (use \"git rm --cached <file>...\" to unstage)");
      status_printf_ln(s___1, c___0, (char const   *)tmp___4);
    }
  }
  if (! both_deleted) {
    if (! del_mod_conflict) {
      tmp___5 = _((char const   *)"  (use \"git add <file>...\" to mark resolution)");
      status_printf_ln(s___1, c___0, (char const   *)tmp___5);
    } else {
      tmp___6 = _((char const   *)"  (use \"git add/rm <file>...\" as appropriate to mark resolution)");
      status_printf_ln(s___1, c___0, (char const   *)tmp___6);
    }
  } else
  if (! del_mod_conflict) {
    if (! not_deleted) {
      tmp___7 = _((char const   *)"  (use \"git rm <file>...\" to mark resolution)");
      status_printf_ln(s___1, c___0, (char const   *)tmp___7);
    } else {
      tmp___8 = _((char const   *)"  (use \"git add/rm <file>...\" as appropriate to mark resolution)");
      status_printf_ln(s___1, c___0, (char const   *)tmp___8);
    }
  } else {
    tmp___8 = _((char const   *)"  (use \"git add/rm <file>...\" as appropriate to mark resolution)");
    status_printf_ln(s___1, c___0, (char const   *)tmp___8);
  }
  return;
}
}
static void wt_longstatus_print_cached_header(struct wt_status *s___1 )
{
  char const   *c___0 ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  tmp = color(0, s___1);
  c___0 = tmp;
  tmp___0 = _((char const   *)"Changes to be committed:");
  status_printf_ln(s___1, c___0, (char const   *)tmp___0);
  if (! s___1->hints) {
    return;
  }
  if (! ((unsigned int )s___1->whence != 0U)) {
    if (! s___1->is_initial) {
      tmp___3 = strcmp(s___1->reference, (char const   *)"HEAD");
      if (tmp___3) {
        tmp___2 = _((char const   *)"  (use \"git restore --source=%s --staged <file>...\" to unstage)");
        status_printf_ln(s___1, c___0, (char const   *)tmp___2, s___1->reference);
      } else {
        tmp___1 = _((char const   *)"  (use \"git restore --staged <file>...\" to unstage)");
        status_printf_ln(s___1, c___0, (char const   *)tmp___1);
      }
    } else {
      tmp___4 = _((char const   *)"  (use \"git rm --cached <file>...\" to unstage)");
      status_printf_ln(s___1, c___0, (char const   *)tmp___4);
    }
  }
  return;
}
}
static void wt_longstatus_print_dirty_header(struct wt_status *s___1 , int has_deleted ,
                                             int has_dirty_submodules )
{
  char const   *c___0 ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  tmp = color(0, s___1);
  c___0 = tmp;
  tmp___0 = _((char const   *)"Changes not staged for commit:");
  status_printf_ln(s___1, c___0, (char const   *)tmp___0);
  if (! s___1->hints) {
    return;
  }
  if (! has_deleted) {
    tmp___1 = _((char const   *)"  (use \"git add <file>...\" to update what will be committed)");
    status_printf_ln(s___1, c___0, (char const   *)tmp___1);
  } else {
    tmp___2 = _((char const   *)"  (use \"git add/rm <file>...\" to update what will be committed)");
    status_printf_ln(s___1, c___0, (char const   *)tmp___2);
  }
  tmp___3 = _((char const   *)"  (use \"git restore <file>...\" to discard changes in working directory)");
  status_printf_ln(s___1, c___0, (char const   *)tmp___3);
  if (has_dirty_submodules) {
    tmp___4 = _((char const   *)"  (commit or discard the untracked or modified content in submodules)");
    status_printf_ln(s___1, c___0, (char const   *)tmp___4);
  }
  return;
}
}
static void wt_longstatus_print_other_header(struct wt_status *s___1 , char const   *what ,
                                             char const   *how )
{
  char const   *c___0 ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  tmp = color(0, s___1);
  c___0 = tmp;
  status_printf_ln(s___1, c___0, (char const   *)"%s:", what);
  if (! s___1->hints) {
    return;
  }
  tmp___0 = _((char const   *)"  (use \"git %s <file>...\" to include in what will be committed)");
  status_printf_ln(s___1, c___0, (char const   *)tmp___0, how);
  return;
}
}
static void wt_longstatus_print_trailer(struct wt_status *s___1 )
{
  char const   *tmp ;

  {
  tmp = color(0, s___1);
  status_printf_ln(s___1, tmp, (char const   *)"%s", "");
  return;
}
}
static char const   *wt_status_unmerged_status_string(int stagemask )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  {
  if (stagemask == 1) {
    goto case_1;
  }
  if (stagemask == 2) {
    goto case_2;
  }
  if (stagemask == 3) {
    goto case_3;
  }
  if (stagemask == 4) {
    goto case_4;
  }
  if (stagemask == 5) {
    goto case_5;
  }
  if (stagemask == 6) {
    goto case_6;
  }
  if (stagemask == 7) {
    goto case_7;
  }
  goto switch_default;
  case_1: /* CIL Label */
  tmp = _((char const   *)"both deleted:");
  return ((char const   *)tmp);
  case_2: /* CIL Label */
  tmp___0 = _((char const   *)"added by us:");
  return ((char const   *)tmp___0);
  case_3: /* CIL Label */
  tmp___1 = _((char const   *)"deleted by them:");
  return ((char const   *)tmp___1);
  case_4: /* CIL Label */
  tmp___2 = _((char const   *)"added by them:");
  return ((char const   *)tmp___2);
  case_5: /* CIL Label */
  tmp___3 = _((char const   *)"deleted by us:");
  return ((char const   *)tmp___3);
  case_6: /* CIL Label */
  tmp___4 = _((char const   *)"both added:");
  return ((char const   *)tmp___4);
  case_7: /* CIL Label */
  tmp___5 = _((char const   *)"both modified:");
  return ((char const   *)tmp___5);
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"wt-status.c", 280, (char const   *)"unhandled unmerged status %x",
         stagemask);
  switch_break: /* CIL Label */ ;
  }
}
}
static char const   *wt_status_diff_status_string(int status )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;

  {
  {
  if (status == 65) {
    goto case_65;
  }
  if (status == 67) {
    goto case_67;
  }
  if (status == 68) {
    goto case_68;
  }
  if (status == 77) {
    goto case_77;
  }
  if (status == 82) {
    goto case_82;
  }
  if (status == 84) {
    goto case_84;
  }
  if (status == 88) {
    goto case_88;
  }
  if (status == 85) {
    goto case_85;
  }
  goto switch_default;
  case_65: /* CIL Label */
  tmp = _((char const   *)"new file:");
  return ((char const   *)tmp);
  case_67: /* CIL Label */
  tmp___0 = _((char const   *)"copied:");
  return ((char const   *)tmp___0);
  case_68: /* CIL Label */
  tmp___1 = _((char const   *)"deleted:");
  return ((char const   *)tmp___1);
  case_77: /* CIL Label */
  tmp___2 = _((char const   *)"modified:");
  return ((char const   *)tmp___2);
  case_82: /* CIL Label */
  tmp___3 = _((char const   *)"renamed:");
  return ((char const   *)tmp___3);
  case_84: /* CIL Label */
  tmp___4 = _((char const   *)"typechange:");
  return ((char const   *)tmp___4);
  case_88: /* CIL Label */
  tmp___5 = _((char const   *)"unknown:");
  return ((char const   *)tmp___5);
  case_85: /* CIL Label */
  tmp___6 = _((char const   *)"unmerged:");
  return ((char const   *)tmp___6);
  switch_default: /* CIL Label */
  return ((char const   *)((void *)0));
  switch_break: /* CIL Label */ ;
  }
}
}
static int maxwidth(char const   *(*label)(int  ) , int minval , int maxval )
{
  int result___0 ;
  int i ;
  char const   *s___1 ;
  char const   *tmp ;
  int len___0 ;
  int tmp___0 ;
  int tmp___1 ;

  {
  result___0 = 0;
  i = minval;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i <= maxval)) {
      goto while_break;
    }
    tmp = (*label)(i);
    s___1 = tmp;
    if (s___1) {
      tmp___0 = utf8_strwidth(s___1);
      tmp___1 = tmp___0;
    } else {
      tmp___1 = 0;
    }
    len___0 = tmp___1;
    if (len___0 > result___0) {
      result___0 = len___0;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (result___0);
}
}
static char *padding___0  ;
static int label_width  ;
static void wt_longstatus_print_unmerged_data(struct wt_status *s___1 , struct string_list_item *it )
{
  char const   *c___0 ;
  char const   *tmp ;
  struct wt_status_change_data *d ;
  struct strbuf onebuf ;
  char const   *one___0 ;
  char const   *how ;
  int len___0 ;
  size_t tmp___0 ;
  void *tmp___1 ;
  char *tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;

  {
  tmp = color(5, s___1);
  c___0 = tmp;
  d = (struct wt_status_change_data *)it->util;
  onebuf.alloc = 0UL;
  onebuf.len = 0UL;
  onebuf.buf = strbuf_slopbuf;
  if (! padding___0) {
    label_width = maxwidth(& wt_status_unmerged_status_string, 1, 7);
    tmp___0 = strlen((char const   *)" ");
    label_width = (int )((size_t )label_width + tmp___0);
    tmp___1 = xmallocz((size_t )label_width);
    padding___0 = (char *)tmp___1;
    memset((void *)padding___0, ' ', (size_t )label_width);
  }
  tmp___2 = quote_path((char const   *)it->string, s___1->prefix, & onebuf, 0U);
  one___0 = (char const   *)tmp___2;
  tmp___3 = color(0, s___1);
  status_printf(s___1, tmp___3, (char const   *)"\t");
  how = wt_status_unmerged_status_string(d->stagemask);
  tmp___4 = utf8_strwidth(how);
  len___0 = label_width - tmp___4;
  status_printf_more(s___1, c___0, (char const   *)"%s%.*s%s\n", how, len___0, padding___0,
                     one___0);
  strbuf_release(& onebuf);
  return;
}
}
static char *padding___1  ;
static int label_width___0  ;
static void wt_longstatus_print_change_data(struct wt_status *s___1 , int change_type ,
                                            struct string_list_item *it )
{
  struct wt_status_change_data *d ;
  char const   *c___0 ;
  char const   *tmp ;
  int status ;
  char *one_name ;
  char *two_name ;
  char const   *one___0 ;
  char const   *two___0 ;
  struct strbuf onebuf ;
  struct strbuf twobuf ;
  struct strbuf extra___2 ;
  char const   *what ;
  int len___0 ;
  size_t tmp___0 ;
  void *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char *tmp___5 ;
  char *tmp___6 ;
  char const   *tmp___7 ;
  int tmp___8 ;
  char const   *tmp___9 ;

  {
  d = (struct wt_status_change_data *)it->util;
  tmp = color(change_type, s___1);
  c___0 = tmp;
  onebuf.alloc = 0UL;
  onebuf.len = 0UL;
  onebuf.buf = strbuf_slopbuf;
  twobuf.alloc = 0UL;
  twobuf.len = 0UL;
  twobuf.buf = strbuf_slopbuf;
  extra___2.alloc = 0UL;
  extra___2.len = 0UL;
  extra___2.buf = strbuf_slopbuf;
  if (! padding___1) {
    label_width___0 = maxwidth(& wt_status_diff_status_string, 'A', 'Z');
    tmp___0 = strlen((char const   *)" ");
    label_width___0 = (int )((size_t )label_width___0 + tmp___0);
    tmp___1 = xmallocz((size_t )label_width___0);
    padding___1 = (char *)tmp___1;
    memset((void *)padding___1, ' ', (size_t )label_width___0);
  }
  two_name = it->string;
  one_name = two_name;
  {
  if (change_type == 1) {
    goto case_1;
  }
  if (change_type == 2) {
    goto case_2;
  }
  goto switch_default;
  case_1: /* CIL Label */
  status = d->index_status;
  goto switch_break;
  case_2: /* CIL Label */
  if (d->new_submodule_commits) {
    goto _L;
  } else
  if (d->dirty_submodule) {
    _L: /* CIL Label */
    strbuf_addstr(& extra___2, (char const   *)" (");
    if (d->new_submodule_commits) {
      tmp___2 = _((char const   *)"new commits, ");
      strbuf_addstr(& extra___2, (char const   *)tmp___2);
    }
    if (d->dirty_submodule & 2U) {
      tmp___3 = _((char const   *)"modified content, ");
      strbuf_addstr(& extra___2, (char const   *)tmp___3);
    }
    if (d->dirty_submodule & 1U) {
      tmp___4 = _((char const   *)"untracked content, ");
      strbuf_addstr(& extra___2, (char const   *)tmp___4);
    }
    strbuf_setlen(& extra___2, extra___2.len - 2UL);
    strbuf_addch(& extra___2, ')');
  }
  status = d->worktree_status;
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"wt-status.c", 394, (char const   *)"unhandled change_type %d in wt_longstatus_print_change_data",
         change_type);
  switch_break: /* CIL Label */ ;
  }
  if (d->rename_status == status) {
    one_name = d->rename_source;
  }
  tmp___5 = quote_path((char const   *)one_name, s___1->prefix, & onebuf, 0U);
  one___0 = (char const   *)tmp___5;
  tmp___6 = quote_path((char const   *)two_name, s___1->prefix, & twobuf, 0U);
  two___0 = (char const   *)tmp___6;
  tmp___7 = color(0, s___1);
  status_printf(s___1, tmp___7, (char const   *)"\t");
  what = wt_status_diff_status_string(status);
  if (! what) {
    BUG_fl((char const   *)"wt-status.c", 411, (char const   *)"unhandled diff status %c",
           status);
  }
  tmp___8 = utf8_strwidth(what);
  len___0 = label_width___0 - tmp___8;
  assert(len___0 >= 0);
  if ((unsigned long )one_name != (unsigned long )two_name) {
    status_printf_more(s___1, c___0, (char const   *)"%s%.*s%s -> %s", what, len___0,
                       padding___1, one___0, two___0);
  } else {
    status_printf_more(s___1, c___0, (char const   *)"%s%.*s%s", what, len___0, padding___1,
                       one___0);
  }
  if (extra___2.len) {
    tmp___9 = color(0, s___1);
    status_printf_more(s___1, tmp___9, (char const   *)"%s", extra___2.buf);
    strbuf_release(& extra___2);
  }
  status_printf_more(s___1, (char const   *)"", (char const   *)"\n");
  strbuf_release(& onebuf);
  strbuf_release(& twobuf);
  return;
}
}
static char short_submodule_status(struct wt_status_change_data *d )
{


  {
  if (d->new_submodule_commits) {
    return ((char )'M');
  }
  if (d->dirty_submodule & 2U) {
    return ((char )'m');
  }
  if (d->dirty_submodule & 1U) {
    return ((char )'?');
  }
  return ((char )d->worktree_status);
}
}
static void wt_status_collect_changed_cb(struct diff_queue_struct *q , struct diff_options *options ,
                                         void *data )
{
  struct wt_status *s___1 ;
  int i ;
  struct diff_filepair *p___0 ;
  struct string_list_item *it ;
  struct wt_status_change_data *d ;
  void *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char tmp___2 ;

  {
  s___1 = (struct wt_status *)data;
  if (! q->nr) {
    return;
  }
  s___1->workdir_dirty = 1;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break;
    }
    p___0 = *(q->queue + i);
    it = string_list_insert(& s___1->change, (char const   *)(p___0->two)->path);
    d = (struct wt_status_change_data *)it->util;
    if (! d) {
      tmp = xcalloc((size_t )1, sizeof(*d));
      d = (struct wt_status_change_data *)tmp;
      it->util = (void *)d;
    }
    if (! d->worktree_status) {
      d->worktree_status = (int )p___0->status;
    }
    if (((int )(p___0->two)->mode & 0170000) == 0160000) {
      d->dirty_submodule = (p___0->two)->dirty_submodule;
      tmp___0 = oideq((struct object_id  const  *)(& (p___0->one)->oid), (struct object_id  const  *)(& (p___0->two)->oid));
      if (tmp___0) {
        tmp___1 = 0;
      } else {
        tmp___1 = 1;
      }
      d->new_submodule_commits = (unsigned int )tmp___1;
      if ((unsigned int )s___1->status_format == 2U) {
        tmp___2 = short_submodule_status(d);
        d->worktree_status = (int )tmp___2;
      }
    }
    {
    if ((int )p___0->status == 65) {
      goto case_65;
    }
    if ((int )p___0->status == 68) {
      goto case_68;
    }
    if ((int )p___0->status == 82) {
      goto case_82;
    }
    if ((int )p___0->status == 67) {
      goto case_82;
    }
    if ((int )p___0->status == 85) {
      goto case_85;
    }
    if ((int )p___0->status == 84) {
      goto case_85;
    }
    if ((int )p___0->status == 77) {
      goto case_85;
    }
    goto switch_default;
    case_65: /* CIL Label */
    d->mode_worktree = (int )(p___0->two)->mode;
    goto switch_break;
    case_68: /* CIL Label */
    d->mode_index = (int )(p___0->one)->mode;
    oidcpy(& d->oid_index, (struct object_id  const  *)(& (p___0->one)->oid));
    goto switch_break;
    case_82: /* CIL Label */
    case_67: /* CIL Label */
    if (d->rename_status) {
      BUG_fl((char const   *)"wt-status.c", 486, (char const   *)"multiple renames on the same target? how?");
    }
    d->rename_source = xstrdup((char const   *)(p___0->one)->path);
    d->rename_score = (int )((double )((int )p___0->score * 100) / 60000.0);
    d->rename_status = (int )p___0->status;
    case_85: /* CIL Label */
    case_84: /* CIL Label */
    case_77: /* CIL Label */
    d->mode_index = (int )(p___0->one)->mode;
    d->mode_worktree = (int )(p___0->two)->mode;
    oidcpy(& d->oid_index, (struct object_id  const  *)(& (p___0->one)->oid));
    goto switch_break;
    switch_default: /* CIL Label */
    BUG_fl((char const   *)"wt-status.c", 500, (char const   *)"unhandled diff-files status \'%c\'",
           (int )p___0->status);
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int unmerged_mask(struct index_state *istate , char const   *path___6 )
{
  int pos ;
  int mask ;
  struct cache_entry  const  *ce ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = strlen(path___6);
  pos = index_name_pos(istate, path___6, (int )tmp);
  if (0 <= pos) {
    return (0);
  }
  mask = 0;
  pos = - pos - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )pos < istate->cache_nr)) {
      goto while_break;
    }
    tmp___0 = pos;
    pos ++;
    ce = (struct cache_entry  const  *)*(istate->cache + tmp___0);
    tmp___1 = strcmp((char const   *)(ce->name), path___6);
    if (tmp___1) {
      goto while_break;
    } else
    if (! ((12288U & ce->ce_flags) >> 12)) {
      goto while_break;
    }
    mask |= 1 << (((12288U & ce->ce_flags) >> 12) - 1U);
  }
  while_break: /* CIL Label */ ;
  }
  return (mask);
}
}
static void wt_status_collect_updated_cb(struct diff_queue_struct *q , struct diff_options *options ,
                                         void *data )
{
  struct wt_status *s___1 ;
  int i ;
  struct diff_filepair *p___0 ;
  struct string_list_item *it ;
  struct wt_status_change_data *d ;
  void *tmp ;

  {
  s___1 = (struct wt_status *)data;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break;
    }
    p___0 = *(q->queue + i);
    it = string_list_insert(& s___1->change, (char const   *)(p___0->two)->path);
    d = (struct wt_status_change_data *)it->util;
    if (! d) {
      tmp = xcalloc((size_t )1, sizeof(*d));
      d = (struct wt_status_change_data *)tmp;
      it->util = (void *)d;
    }
    if (! d->index_status) {
      d->index_status = (int )p___0->status;
    }
    {
    if ((int )p___0->status == 65) {
      goto case_65;
    }
    if ((int )p___0->status == 68) {
      goto case_68;
    }
    if ((int )p___0->status == 82) {
      goto case_82;
    }
    if ((int )p___0->status == 67) {
      goto case_82;
    }
    if ((int )p___0->status == 84) {
      goto case_84;
    }
    if ((int )p___0->status == 77) {
      goto case_84;
    }
    if ((int )p___0->status == 85) {
      goto case_85;
    }
    goto switch_default;
    case_65: /* CIL Label */
    d->mode_index = (int )(p___0->two)->mode;
    oidcpy(& d->oid_index, (struct object_id  const  *)(& (p___0->two)->oid));
    s___1->committable = 1;
    goto switch_break;
    case_68: /* CIL Label */
    d->mode_head = (int )(p___0->one)->mode;
    oidcpy(& d->oid_head, (struct object_id  const  *)(& (p___0->one)->oid));
    s___1->committable = 1;
    goto switch_break;
    case_82: /* CIL Label */
    case_67: /* CIL Label */
    if (d->rename_status) {
      BUG_fl((char const   *)"wt-status.c", 565, (char const   *)"multiple renames on the same target? how?");
    }
    d->rename_source = xstrdup((char const   *)(p___0->one)->path);
    d->rename_score = (int )((double )((int )p___0->score * 100) / 60000.0);
    d->rename_status = (int )p___0->status;
    case_84: /* CIL Label */
    case_77: /* CIL Label */
    d->mode_head = (int )(p___0->one)->mode;
    d->mode_index = (int )(p___0->two)->mode;
    oidcpy(& d->oid_head, (struct object_id  const  *)(& (p___0->one)->oid));
    oidcpy(& d->oid_index, (struct object_id  const  *)(& (p___0->two)->oid));
    s___1->committable = 1;
    goto switch_break;
    case_85: /* CIL Label */
    d->stagemask = unmerged_mask((s___1->repo)->index, (char const   *)(p___0->two)->path);
    goto switch_break;
    switch_default: /* CIL Label */
    BUG_fl((char const   *)"wt-status.c", 589, (char const   *)"unhandled diff-index status \'%c\'",
           (int )p___0->status);
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void wt_status_collect_changes_worktree(struct wt_status *s___1 )
{
  struct rev_info rev ;

  {
  repo_init_revisions(s___1->repo, & rev, (char const   *)((void *)0));
  setup_revisions(0, (char const   **)((void *)0), & rev, (struct setup_revision_opt *)((void *)0));
  rev.diffopt.output_format |= 0x1000;
  rev.diffopt.flags.dirty_submodules = 1U;
  rev.diffopt.ita_invisible_in_index = 1;
  if (! s___1->show_untracked_files) {
    rev.diffopt.flags.ignore_untracked_in_submodules = 1U;
  }
  if (s___1->ignore_submodule_arg) {
    rev.diffopt.flags.override_submodule_config = 1U;
    handle_ignore_submodules_arg(& rev.diffopt, s___1->ignore_submodule_arg);
  } else
  if (! rev.diffopt.flags.ignore_submodule_set) {
    if ((unsigned int )s___1->show_untracked_files != 0U) {
      handle_ignore_submodules_arg(& rev.diffopt, (char const   *)"none");
    }
  }
  rev.diffopt.format_callback = & wt_status_collect_changed_cb;
  rev.diffopt.format_callback_data = (void *)s___1;
  if (s___1->detect_rename >= 0) {
    rev.diffopt.detect_rename = s___1->detect_rename;
  } else {
    rev.diffopt.detect_rename = rev.diffopt.detect_rename;
  }
  if (s___1->rename_limit >= 0) {
    rev.diffopt.rename_limit = s___1->rename_limit;
  } else {
    rev.diffopt.rename_limit = rev.diffopt.rename_limit;
  }
  if (s___1->rename_score >= 0) {
    rev.diffopt.rename_score = s___1->rename_score;
  } else {
    rev.diffopt.rename_score = rev.diffopt.rename_score;
  }
  copy_pathspec(& rev.prune_data, (struct pathspec  const  *)(& s___1->pathspec));
  run_diff_files(& rev, 0U);
  clear_pathspec(& rev.prune_data);
  return;
}
}
static void wt_status_collect_changes_index(struct wt_status *s___1 )
{
  struct rev_info rev ;
  struct setup_revision_opt opt___0 ;
  char const   *tmp ;

  {
  repo_init_revisions(s___1->repo, & rev, (char const   *)((void *)0));
  memset((void *)(& opt___0), 0, sizeof(opt___0));
  if (s___1->is_initial) {
    tmp = empty_tree_oid_hex();
    opt___0.def = tmp;
  } else {
    opt___0.def = s___1->reference;
  }
  setup_revisions(0, (char const   **)((void *)0), & rev, & opt___0);
  rev.diffopt.flags.override_submodule_config = 1U;
  rev.diffopt.ita_invisible_in_index = 1;
  if (s___1->ignore_submodule_arg) {
    handle_ignore_submodules_arg(& rev.diffopt, s___1->ignore_submodule_arg);
  } else {
    handle_ignore_submodules_arg(& rev.diffopt, (char const   *)"dirty");
  }
  rev.diffopt.output_format |= 0x1000;
  rev.diffopt.format_callback = & wt_status_collect_updated_cb;
  rev.diffopt.format_callback_data = (void *)s___1;
  if (s___1->detect_rename >= 0) {
    rev.diffopt.detect_rename = s___1->detect_rename;
  } else {
    rev.diffopt.detect_rename = rev.diffopt.detect_rename;
  }
  if (s___1->rename_limit >= 0) {
    rev.diffopt.rename_limit = s___1->rename_limit;
  } else {
    rev.diffopt.rename_limit = rev.diffopt.rename_limit;
  }
  if (s___1->rename_score >= 0) {
    rev.diffopt.rename_score = s___1->rename_score;
  } else {
    rev.diffopt.rename_score = rev.diffopt.rename_score;
  }
  copy_pathspec(& rev.prune_data, (struct pathspec  const  *)(& s___1->pathspec));
  run_diff_index(& rev, 1U);
  object_array_clear(& rev.pending);
  clear_pathspec(& rev.prune_data);
  return;
}
}
static int add_file_to_list(struct object_id  const  *oid , struct strbuf *base ,
                            char const   *path___6 , unsigned int mode___1 , void *context___0 )
{
  struct string_list_item *it ;
  struct wt_status_change_data *d ;
  struct wt_status *s___1 ;
  struct strbuf full_name ;
  void *tmp ;

  {
  s___1 = (struct wt_status *)context___0;
  full_name.alloc = 0UL;
  full_name.len = 0UL;
  full_name.buf = strbuf_slopbuf;
  if ((mode___1 & 61440U) == 16384U) {
    return (1);
  }
  strbuf_add(& full_name, (void const   *)base->buf, base->len);
  strbuf_addstr(& full_name, path___6);
  it = string_list_insert(& s___1->change, (char const   *)full_name.buf);
  d = (struct wt_status_change_data *)it->util;
  if (! d) {
    tmp = xcalloc((size_t )1, sizeof(*d));
    d = (struct wt_status_change_data *)tmp;
    it->util = (void *)d;
  }
  d->index_status = 'A';
  d->mode_index = (int )mode___1;
  oidcpy(& d->oid_index, oid);
  s___1->committable = 1;
  strbuf_release(& full_name);
  return (0);
}
}
static void wt_status_collect_changes_initial(struct wt_status *s___1 )
{
  struct index_state *istate ;
  int i ;
  struct string_list_item *it ;
  struct wt_status_change_data *d ;
  struct cache_entry  const  *ce ;
  int tmp ;
  struct strbuf base ;
  struct pathspec ps ;
  struct tree *tree ;
  struct tree *tmp___0 ;
  void *tmp___1 ;

  {
  istate = (s___1->repo)->index;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    ce = (struct cache_entry  const  *)*(istate->cache + i);
    tmp = ce_path_match(istate, ce, (struct pathspec  const  *)(& s___1->pathspec),
                        (char *)((void *)0));
    if (! tmp) {
      goto __Cont;
    }
    if (ce->ce_flags & (unsigned int )(1 << 29)) {
      goto __Cont;
    }
    if (ce->ce_mode == 16384U) {
      base.alloc = 0UL;
      base.len = 0UL;
      base.buf = strbuf_slopbuf;
      ps.nr = 0;
      ps.has_wildcard = 0U;
      ps.recursive = 0U;
      ps.recurse_submodules = 0U;
      ps.magic = 0U;
      ps.max_depth = 0;
      ps.items = (struct pathspec_item *)0;
      tmp___0 = lookup_tree(istate->repo, (struct object_id  const  *)(& ce->oid));
      tree = tmp___0;
      ps.recursive = 1U;
      ps.has_wildcard = 1U;
      ps.max_depth = -1;
      strbuf_add(& base, (void const   *)(ce->name), (size_t )ce->ce_namelen);
      read_tree_at(istate->repo, tree, & base, (struct pathspec  const  *)(& ps),
                   & add_file_to_list, (void *)s___1);
      goto __Cont;
    }
    it = string_list_insert(& s___1->change, (char const   *)(ce->name));
    d = (struct wt_status_change_data *)it->util;
    if (! d) {
      tmp___1 = xcalloc((size_t )1, sizeof(*d));
      d = (struct wt_status_change_data *)tmp___1;
      it->util = (void *)d;
    }
    if ((12288U & ce->ce_flags) >> 12) {
      d->index_status = 'U';
      d->stagemask |= 1 << (((12288U & ce->ce_flags) >> 12) - 1U);
      s___1->committable = 1;
    } else {
      d->index_status = 'A';
      d->mode_index = (int )ce->ce_mode;
      oidcpy(& d->oid_index, (struct object_id  const  *)(& ce->oid));
      s___1->committable = 1;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void wt_status_collect_untracked(struct wt_status *s___1 )
{
  int i ;
  struct dir_struct dir ;
  uint64_t t_begin ;
  uint64_t tmp ;
  struct index_state *istate ;
  struct dir_entry *ent ;
  int tmp___0 ;
  struct dir_entry *ent___0 ;
  int tmp___1 ;
  uint64_t tmp___2 ;
  int tmp___3 ;

  {
  dir.nr = 0;
  dir.alloc = 0;
  dir.ignored_nr = 0;
  dir.ignored_alloc = 0;
  dir.flags = 0U;
  dir.entries = (struct dir_entry **)0;
  dir.ignored = (struct dir_entry **)0;
  dir.exclude_per_dir = (char const   *)0;
  dir.exclude_list_group[0].nr = 0;
  dir.exclude_list_group[0].alloc = 0;
  dir.exclude_list_group[0].pl = (struct pattern_list *)0;
  dir.exclude_list_group[1].nr = 0;
  dir.exclude_list_group[1].alloc = 0;
  dir.exclude_list_group[1].pl = (struct pattern_list *)0;
  dir.exclude_list_group[2].nr = 0;
  dir.exclude_list_group[2].alloc = 0;
  dir.exclude_list_group[2].pl = (struct pattern_list *)0;
  dir.exclude_stack = (struct exclude_stack *)0;
  dir.pattern = (struct path_pattern *)0;
  dir.basebuf.alloc = 0UL;
  dir.basebuf.len = 0UL;
  dir.basebuf.buf = (char *)0;
  dir.untracked = (struct untracked_cache *)0;
  dir.ss_info_exclude.stat.sd_ctime.sec = 0U;
  dir.ss_info_exclude.stat.sd_ctime.nsec = 0U;
  dir.ss_info_exclude.stat.sd_mtime.sec = 0U;
  dir.ss_info_exclude.stat.sd_mtime.nsec = 0U;
  dir.ss_info_exclude.stat.sd_dev = 0U;
  dir.ss_info_exclude.stat.sd_ino = 0U;
  dir.ss_info_exclude.stat.sd_uid = 0U;
  dir.ss_info_exclude.stat.sd_gid = 0U;
  dir.ss_info_exclude.stat.sd_size = 0U;
  dir.ss_info_exclude.oid.hash[0] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[1] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[2] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[3] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[4] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[5] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[6] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[7] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[8] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[9] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[10] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[11] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[12] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[13] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[14] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[15] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[16] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[17] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[18] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[19] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[20] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[21] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[22] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[23] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[24] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[25] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[26] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[27] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[28] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[29] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[30] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[31] = (unsigned char)0;
  dir.ss_info_exclude.oid.algo = 0;
  dir.ss_info_exclude.valid = 0;
  dir.ss_excludes_file.stat.sd_ctime.sec = 0U;
  dir.ss_excludes_file.stat.sd_ctime.nsec = 0U;
  dir.ss_excludes_file.stat.sd_mtime.sec = 0U;
  dir.ss_excludes_file.stat.sd_mtime.nsec = 0U;
  dir.ss_excludes_file.stat.sd_dev = 0U;
  dir.ss_excludes_file.stat.sd_ino = 0U;
  dir.ss_excludes_file.stat.sd_uid = 0U;
  dir.ss_excludes_file.stat.sd_gid = 0U;
  dir.ss_excludes_file.stat.sd_size = 0U;
  dir.ss_excludes_file.oid.hash[0] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[1] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[2] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[3] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[4] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[5] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[6] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[7] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[8] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[9] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[10] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[11] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[12] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[13] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[14] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[15] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[16] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[17] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[18] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[19] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[20] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[21] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[22] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[23] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[24] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[25] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[26] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[27] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[28] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[29] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[30] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[31] = (unsigned char)0;
  dir.ss_excludes_file.oid.algo = 0;
  dir.ss_excludes_file.valid = 0;
  dir.unmanaged_exclude_files = 0U;
  dir.visited_paths = 0U;
  dir.visited_directories = 0U;
  tmp = getnanotime();
  t_begin = tmp;
  istate = (s___1->repo)->index;
  if (! s___1->show_untracked_files) {
    return;
  }
  if ((unsigned int )s___1->show_untracked_files != 2U) {
    dir.flags = (enum __anonenum_flags_165983474 )((unsigned int )dir.flags | 6U);
  }
  if (s___1->show_ignored_mode) {
    dir.flags = (enum __anonenum_flags_165983474 )((unsigned int )dir.flags | 32U);
    if ((unsigned int )s___1->show_ignored_mode == 2U) {
      dir.flags = (enum __anonenum_flags_165983474 )((unsigned int )dir.flags | 256U);
    }
  } else {
    dir.untracked = istate->untracked;
  }
  setup_standard_excludes(& dir);
  fill_directory(& dir, istate, (struct pathspec  const  *)(& s___1->pathspec));
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < dir.nr)) {
      goto while_break;
    }
    ent = *(dir.entries + i);
    tmp___0 = index_name_is_other(istate, (char const   *)(ent->name), (int )ent->len);
    if (tmp___0) {
      string_list_insert(& s___1->untracked, (char const   *)(ent->name));
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < dir.ignored_nr)) {
      goto while_break___0;
    }
    ent___0 = *(dir.ignored + i);
    tmp___1 = index_name_is_other(istate, (char const   *)(ent___0->name), (int )ent___0->len);
    if (tmp___1) {
      string_list_insert(& s___1->ignored, (char const   *)(ent___0->name));
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  dir_clear(& dir);
  tmp___3 = advice_enabled((enum advice_type )29);
  if (tmp___3) {
    tmp___2 = getnanotime();
    s___1->untracked_in_ms = (uint32_t )((tmp___2 - t_begin) / 1000000UL);
  }
  return;
}
}
static int has_unmerged(struct wt_status *s___1 )
{
  int i ;
  struct wt_status_change_data *d ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < s___1->change.nr)) {
      goto while_break;
    }
    d = (struct wt_status_change_data *)(s___1->change.items + i)->util;
    if (d->stagemask) {
      return (1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
void wt_status_collect(struct wt_status *s___1 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  trace2_region_enter_fl((char const   *)"wt-status.c", 809, (char const   *)"status",
                         (char const   *)"worktrees", (struct repository  const  *)s___1->repo);
  wt_status_collect_changes_worktree(s___1);
  trace2_region_leave_fl((char const   *)"wt-status.c", 811, (char const   *)"status",
                         (char const   *)"worktrees", (struct repository  const  *)s___1->repo);
  if (s___1->is_initial) {
    trace2_region_enter_fl((char const   *)"wt-status.c", 814, (char const   *)"status",
                           (char const   *)"initial", (struct repository  const  *)s___1->repo);
    wt_status_collect_changes_initial(s___1);
    trace2_region_leave_fl((char const   *)"wt-status.c", 816, (char const   *)"status",
                           (char const   *)"initial", (struct repository  const  *)s___1->repo);
  } else {
    trace2_region_enter_fl((char const   *)"wt-status.c", 818, (char const   *)"status",
                           (char const   *)"index", (struct repository  const  *)s___1->repo);
    wt_status_collect_changes_index(s___1);
    trace2_region_leave_fl((char const   *)"wt-status.c", 820, (char const   *)"status",
                           (char const   *)"index", (struct repository  const  *)s___1->repo);
  }
  trace2_region_enter_fl((char const   *)"wt-status.c", 823, (char const   *)"status",
                         (char const   *)"untracked", (struct repository  const  *)s___1->repo);
  wt_status_collect_untracked(s___1);
  trace2_region_leave_fl((char const   *)"wt-status.c", 825, (char const   *)"status",
                         (char const   *)"untracked", (struct repository  const  *)s___1->repo);
  if (s___1->branch) {
    tmp = strcmp((char const   *)s___1->branch, (char const   *)"HEAD");
    if (tmp) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
  } else {
    tmp___0 = 0;
  }
  wt_status_get_state(s___1->repo, & s___1->state, tmp___0);
  if (s___1->state.merge_in_progress) {
    tmp___1 = has_unmerged(s___1);
    if (! tmp___1) {
      s___1->committable = 1;
    }
  }
  return;
}
}
void wt_status_collect_free_buffers(struct wt_status *s___1 )
{


  {
  wt_status_state_free_buffers(& s___1->state);
  return;
}
}
void wt_status_state_free_buffers(struct wt_status_state *state___1 )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)state___1->branch);
    state___1->branch = (char *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)state___1->onto);
    state___1->onto = (char *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    free((void *)state___1->detached_from);
    state___1->detached_from = (char *)((void *)0);
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  return;
}
}
static void wt_longstatus_print_unmerged(struct wt_status *s___1 )
{
  int shown_header ;
  int i ;
  struct wt_status_change_data *d ;
  struct string_list_item *it ;

  {
  shown_header = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < s___1->change.nr)) {
      goto while_break;
    }
    it = s___1->change.items + i;
    d = (struct wt_status_change_data *)it->util;
    if (! d->stagemask) {
      goto __Cont;
    }
    if (! shown_header) {
      wt_longstatus_print_unmerged_header(s___1);
      shown_header = 1;
    }
    wt_longstatus_print_unmerged_data(s___1, it);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (shown_header) {
    wt_longstatus_print_trailer(s___1);
  }
  return;
}
}
static void wt_longstatus_print_updated(struct wt_status *s___1 )
{
  int shown_header ;
  int i ;
  struct wt_status_change_data *d ;
  struct string_list_item *it ;

  {
  shown_header = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < s___1->change.nr)) {
      goto while_break;
    }
    it = s___1->change.items + i;
    d = (struct wt_status_change_data *)it->util;
    if (! d->index_status) {
      goto __Cont;
    } else
    if (d->index_status == 85) {
      goto __Cont;
    }
    if (! shown_header) {
      wt_longstatus_print_cached_header(s___1);
      shown_header = 1;
    }
    wt_longstatus_print_change_data(s___1, 1, it);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (shown_header) {
    wt_longstatus_print_trailer(s___1);
  }
  return;
}
}
static int wt_status_check_worktree_changes(struct wt_status *s___1 , int *dirty_submodules )
{
  int i ;
  int changes ;
  struct wt_status_change_data *d ;

  {
  changes = 0;
  *dirty_submodules = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < s___1->change.nr)) {
      goto while_break;
    }
    d = (struct wt_status_change_data *)(s___1->change.items + i)->util;
    if (! d->worktree_status) {
      goto __Cont;
    } else
    if (d->worktree_status == 85) {
      goto __Cont;
    }
    if (! changes) {
      changes = 1;
    }
    if (d->dirty_submodule) {
      *dirty_submodules = 1;
    }
    if (d->worktree_status == 68) {
      changes = -1;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (changes);
}
}
static void wt_longstatus_print_changed(struct wt_status *s___1 )
{
  int i ;
  int dirty_submodules ;
  int worktree_changes ;
  int tmp ;
  struct wt_status_change_data *d ;
  struct string_list_item *it ;

  {
  tmp = wt_status_check_worktree_changes(s___1, & dirty_submodules);
  worktree_changes = tmp;
  if (! worktree_changes) {
    return;
  }
  wt_longstatus_print_dirty_header(s___1, worktree_changes < 0, dirty_submodules);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < s___1->change.nr)) {
      goto while_break;
    }
    it = s___1->change.items + i;
    d = (struct wt_status_change_data *)it->util;
    if (! d->worktree_status) {
      goto __Cont;
    } else
    if (d->worktree_status == 85) {
      goto __Cont;
    }
    wt_longstatus_print_change_data(s___1, 2, it);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  wt_longstatus_print_trailer(s___1);
  return;
}
}
static int stash_count_refs(struct object_id *ooid , struct object_id *noid , char const   *email ,
                            timestamp_t timestamp___0 , int tz , char const   *message___0 ,
                            void *cb_data )
{
  int *c___0 ;

  {
  c___0 = (int *)cb_data;
  (*c___0) ++;
  return (0);
}
}
static int count_stash_entries(void)
{
  int n ;

  {
  n = 0;
  for_each_reflog_ent((char const   *)"refs/stash", & stash_count_refs, (void *)(& n));
  return (n);
}
}
static void wt_longstatus_print_stash_summary(struct wt_status *s___1 )
{
  int stash_count ;
  int tmp ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___0 ;

  {
  tmp = count_stash_entries();
  stash_count = tmp;
  if (stash_count > 0) {
    tmp___0 = Q_((char const   *)"Your stash currently has %d entry", (char const   *)"Your stash currently has %d entries",
                 (unsigned long )stash_count);
    status_printf_ln(s___1, (char const   *)"", (char const   *)tmp___0, stash_count);
  }
  return;
}
}
static void wt_longstatus_print_submodule_summary(struct wt_status *s___1 , int uncommitted )
{
  struct child_process sm_summary ;
  struct strbuf cmd_stdout ;
  struct strbuf summary ;
  char *summary_content ;
  char *tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  size_t len___0 ;

  {
  sm_summary.args.v = empty_strvec;
  sm_summary.args.nr = 0UL;
  sm_summary.args.alloc = 0UL;
  sm_summary.env_array.v = empty_strvec;
  sm_summary.env_array.nr = 0UL;
  sm_summary.env_array.alloc = 0UL;
  sm_summary.pid = 0;
  sm_summary.trace2_child_id = 0;
  sm_summary.trace2_child_us_start = 0UL;
  sm_summary.trace2_child_class = (char const   *)0;
  sm_summary.trace2_hook_name = (char const   *)0;
  sm_summary.in = 0;
  sm_summary.out = 0;
  sm_summary.err = 0;
  sm_summary.dir = (char const   *)0;
  sm_summary.no_stdin = 0U;
  sm_summary.no_stdout = 0U;
  sm_summary.no_stderr = 0U;
  sm_summary.git_cmd = 0U;
  sm_summary.silent_exec_failure = 0U;
  sm_summary.use_shell = 0U;
  sm_summary.close_object_store = 0U;
  sm_summary.stdout_to_stderr = 0U;
  sm_summary.clean_on_exit = 0U;
  sm_summary.wait_after_clean = 0U;
  sm_summary.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  sm_summary.clean_on_exit_handler_cbdata = (void *)0;
  cmd_stdout.alloc = 0UL;
  cmd_stdout.len = 0UL;
  cmd_stdout.buf = strbuf_slopbuf;
  summary.alloc = 0UL;
  summary.len = 0UL;
  summary.buf = strbuf_slopbuf;
  strvec_pushf(& sm_summary.env_array, (char const   *)"GIT_INDEX_FILE=%s", s___1->index_file);
  strvec_push(& sm_summary.args, (char const   *)"submodule");
  strvec_push(& sm_summary.args, (char const   *)"summary");
  if (uncommitted) {
    tmp = "--files";
  } else {
    tmp = "--cached";
  }
  strvec_push(& sm_summary.args, (char const   *)tmp);
  strvec_push(& sm_summary.args, (char const   *)"--for-status");
  strvec_push(& sm_summary.args, (char const   *)"--summary-limit");
  strvec_pushf(& sm_summary.args, (char const   *)"%d", s___1->submodule_summary);
  if (! uncommitted) {
    if (s___1->amend) {
      tmp___0 = "HEAD^";
    } else {
      tmp___0 = "HEAD";
    }
    strvec_push(& sm_summary.args, (char const   *)tmp___0);
  }
  sm_summary.git_cmd = 1U;
  sm_summary.no_stdin = 1U;
  capture_command(& sm_summary, & cmd_stdout, (size_t )1024);
  if (cmd_stdout.len) {
    if (uncommitted) {
      tmp___1 = _((char const   *)"Submodules changed but not updated:");
      strbuf_addstr(& summary, (char const   *)tmp___1);
    } else {
      tmp___2 = _((char const   *)"Submodule changes to be committed:");
      strbuf_addstr(& summary, (char const   *)tmp___2);
    }
    strbuf_addstr(& summary, (char const   *)"\n\n");
  }
  strbuf_addbuf(& summary, (struct strbuf  const  *)(& cmd_stdout));
  strbuf_release(& cmd_stdout);
  if (s___1->display_comment_prefix) {
    summary_content = strbuf_detach(& summary, & len___0);
    strbuf_add_commented_lines(& summary, (char const   *)summary_content, len___0);
    free((void *)summary_content);
  }
  fputs((char const   * __restrict  )summary.buf, (FILE * __restrict  )s___1->fp);
  strbuf_release(& summary);
  return;
}
}
static void wt_longstatus_print_other(struct wt_status *s___1 , struct string_list *l ,
                                      char const   *what , char const   *how ) ;
static struct string_list output___1  =    {(struct string_list_item *)0, 0U, 0U, 1U, (int (*)(char const   * , char const   * ))0};
static void wt_longstatus_print_other(struct wt_status *s___1 , struct string_list *l ,
                                      char const   *what , char const   *how )
{
  int i ;
  struct strbuf buf___19 ;
  struct column_options copts ;
  struct string_list_item *it ;
  char const   *path___6 ;
  char *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  char const   *tmp___4 ;
  char *tmp___5 ;
  char const   *tmp___6 ;
  int tmp___7 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (! l->nr) {
    return;
  }
  wt_longstatus_print_other_header(s___1, what, how);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < l->nr)) {
      goto while_break;
    }
    it = l->items + i;
    tmp = quote_path((char const   *)it->string, s___1->prefix, & buf___19, 0U);
    path___6 = (char const   *)tmp;
    tmp___0 = column_active(s___1->colopts);
    if (tmp___0) {
      string_list_append(& output___1, path___6);
      goto __Cont;
    }
    tmp___1 = color(0, s___1);
    status_printf(s___1, tmp___1, (char const   *)"\t");
    tmp___2 = color(3, s___1);
    status_printf_more(s___1, tmp___2, (char const   *)"%s\n", path___6);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  tmp___3 = column_active(s___1->colopts);
  if (! tmp___3) {
    goto conclude;
  }
  tmp___4 = color(3, s___1);
  if (s___1->display_comment_prefix) {
    tmp___5 = "#";
  } else {
    tmp___5 = "";
  }
  tmp___6 = color(0, s___1);
  strbuf_addf(& buf___19, (char const   *)"%s%s\t%s", tmp___6, tmp___5, tmp___4);
  memset((void *)(& copts), 0, sizeof(copts));
  copts.padding = 1;
  copts.indent = (char const   *)buf___19.buf;
  tmp___7 = want_color_fd(1, s___1->use_color);
  if (tmp___7) {
    copts.nl = (char const   *)"\033[m\n";
  }
  print_columns((struct string_list  const  *)(& output___1), s___1->colopts, (struct column_options  const  *)(& copts));
  string_list_clear(& output___1, 0);
  strbuf_release(& buf___19);
  conclude:
  status_printf_ln(s___1, (char const   *)"", (char const   *)"%s", "");
  return;
}
}
size_t wt_status_locate_end(char const   *s___1 , size_t len___0 )
{
  char const   *p___0 ;
  struct strbuf pattern___0 ;
  char *tmp ;
  int tmp___0 ;

  {
  pattern___0.alloc = 0UL;
  pattern___0.len = 0UL;
  pattern___0.buf = strbuf_slopbuf;
  strbuf_addf(& pattern___0, (char const   *)"\n%c %s", (int )comment_line_char, cut_line);
  tmp___0 = starts_with(s___1, (char const   *)(pattern___0.buf + 1));
  if (tmp___0) {
    len___0 = (size_t )0;
  } else {
    tmp = strstr(s___1, (char const   *)pattern___0.buf);
    p___0 = (char const   *)tmp;
    if (p___0) {
      len___0 = (size_t )((p___0 - s___1) + 1L);
    }
  }
  strbuf_release(& pattern___0);
  return (len___0);
}
}
void wt_status_append_cut_line(struct strbuf *buf___19 )
{
  char const   *explanation___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  size_t tmp___0 ;

  {
  tmp = _((char const   *)"Do not modify or remove the line above.\nEverything below it will be ignored.");
  explanation___0 = (char const   *)tmp;
  strbuf_commented_addf(buf___19, (char const   *)"%s", cut_line);
  tmp___0 = strlen(explanation___0);
  strbuf_add_commented_lines(buf___19, explanation___0, tmp___0);
  return;
}
}
void wt_status_add_cut_line(FILE *fp )
{
  struct strbuf buf___19 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  wt_status_append_cut_line(& buf___19);
  fputs((char const   * __restrict  )buf___19.buf, (FILE * __restrict  )fp);
  strbuf_release(& buf___19);
  return;
}
}
static void wt_longstatus_print_verbose(struct wt_status *s___1 )
{
  struct rev_info rev ;
  struct setup_revision_opt opt___0 ;
  int dirty_submodules ;
  char const   *c___0 ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  tmp = color(0, s___1);
  c___0 = tmp;
  repo_init_revisions(s___1->repo, & rev, (char const   *)((void *)0));
  rev.diffopt.flags.allow_textconv = 1U;
  rev.diffopt.ita_invisible_in_index = 1;
  memset((void *)(& opt___0), 0, sizeof(opt___0));
  if (s___1->is_initial) {
    tmp___0 = empty_tree_oid_hex();
    opt___0.def = tmp___0;
  } else {
    opt___0.def = s___1->reference;
  }
  setup_revisions(0, (char const   **)((void *)0), & rev, & opt___0);
  rev.diffopt.output_format |= 0x0010;
  if (s___1->detect_rename >= 0) {
    rev.diffopt.detect_rename = s___1->detect_rename;
  } else {
    rev.diffopt.detect_rename = rev.diffopt.detect_rename;
  }
  if (s___1->rename_limit >= 0) {
    rev.diffopt.rename_limit = s___1->rename_limit;
  } else {
    rev.diffopt.rename_limit = rev.diffopt.rename_limit;
  }
  if (s___1->rename_score >= 0) {
    rev.diffopt.rename_score = s___1->rename_score;
  } else {
    rev.diffopt.rename_score = rev.diffopt.rename_score;
  }
  rev.diffopt.file = s___1->fp;
  rev.diffopt.close_file = 0;
  if ((unsigned long )s___1->fp != (unsigned long )stdout) {
    rev.diffopt.use_color = 0;
    wt_status_add_cut_line(s___1->fp);
  }
  if (s___1->verbose > 1) {
    if (s___1->committable) {
      if ((unsigned long )s___1->fp != (unsigned long )stdout) {
        wt_longstatus_print_trailer(s___1);
      }
      tmp___1 = _((char const   *)"Changes to be committed:");
      status_printf_ln(s___1, c___0, (char const   *)tmp___1);
      rev.diffopt.a_prefix = (char const   *)"c/";
      rev.diffopt.b_prefix = (char const   *)"i/";
    }
  }
  run_diff_index(& rev, 1U);
  if (s___1->verbose > 1) {
    tmp___3 = wt_status_check_worktree_changes(s___1, & dirty_submodules);
    if (tmp___3) {
      status_printf_ln(s___1, c___0, (char const   *)"--------------------------------------------------");
      tmp___2 = _((char const   *)"Changes not staged for commit:");
      status_printf_ln(s___1, c___0, (char const   *)tmp___2);
      setup_work_tree();
      rev.diffopt.a_prefix = (char const   *)"i/";
      rev.diffopt.b_prefix = (char const   *)"w/";
      run_diff_files(& rev, 0U);
    }
  }
  return;
}
}
static void wt_longstatus_print_tracking(struct wt_status *s___1 )
{
  struct strbuf sb___6 ;
  char const   *cp ;
  char const   *ep ;
  char const   *branch_name ;
  struct branch *branch___0 ;
  char comment_line_string[3] ;
  int i ;
  uint64_t t_begin ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  uint64_t t_delta_in_ms ;
  uint64_t tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const   *tmp___7 ;
  char *tmp___8 ;
  char const   *tmp___9 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  t_begin = (uint64_t )0;
  if (s___1->branch) {
    if (! s___1->is_initial) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  assert(tmp);
  tmp___0 = skip_prefix((char const   *)s___1->branch, (char const   *)"refs/heads/",
                        & branch_name);
  if (! tmp___0) {
    return;
  }
  branch___0 = branch_get(branch_name);
  t_begin = getnanotime();
  tmp___1 = format_tracking_info(branch___0, & sb___6, s___1->ahead_behind_flags);
  if (! tmp___1) {
    return;
  }
  tmp___4 = advice_enabled((enum advice_type )27);
  if (tmp___4) {
    if ((int )s___1->ahead_behind_flags == 1) {
      tmp___2 = getnanotime();
      t_delta_in_ms = (tmp___2 - t_begin) / 1000000UL;
      if (t_delta_in_ms > 2000UL) {
        tmp___3 = _((char const   *)"\nIt took %.2f seconds to compute the branch ahead/behind values.\nYou can use \'--no-ahead-behind\' to avoid this.\n");
        strbuf_addf(& sb___6, (char const   *)tmp___3, (double )t_delta_in_ms / 1000.0);
      }
    }
  }
  i = 0;
  if (s___1->display_comment_prefix) {
    tmp___5 = i;
    i ++;
    comment_line_string[tmp___5] = comment_line_char;
    tmp___6 = i;
    i ++;
    comment_line_string[tmp___6] = (char )' ';
  }
  comment_line_string[i] = (char )'\000';
  cp = (char const   *)sb___6.buf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___8 = strchr(cp, '\n');
    ep = (char const   *)tmp___8;
    if (! ((unsigned long )ep != (unsigned long )((void *)0))) {
      goto while_break;
    }
    tmp___7 = color(0, s___1);
    color_fprintf_ln(s___1->fp, tmp___7, (char const   *)"%s%.*s", comment_line_string,
                     (int )(ep - cp), cp);
    cp = ep + 1;
  }
  while_break: /* CIL Label */ ;
  }
  if (s___1->display_comment_prefix) {
    tmp___9 = color(0, s___1);
    color_fprintf_ln(s___1->fp, tmp___9, (char const   *)"%c", (int )comment_line_char);
  } else {
    fputs((char const   * __restrict  )"\n", (FILE * __restrict  )s___1->fp);
  }
  strbuf_release(& sb___6);
  return;
}
}
static void show_merge_in_progress(struct wt_status *s___1 , char const   *color___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  tmp___4 = has_unmerged(s___1);
  if (tmp___4) {
    tmp = _((char const   *)"You have unmerged paths.");
    status_printf_ln(s___1, color___0, (char const   *)tmp);
    if (s___1->hints) {
      tmp___0 = _((char const   *)"  (fix conflicts and run \"git commit\")");
      status_printf_ln(s___1, color___0, (char const   *)tmp___0);
      tmp___1 = _((char const   *)"  (use \"git merge --abort\" to abort the merge)");
      status_printf_ln(s___1, color___0, (char const   *)tmp___1);
    }
  } else {
    tmp___2 = _((char const   *)"All conflicts fixed but you are still merging.");
    status_printf_ln(s___1, color___0, (char const   *)tmp___2);
    if (s___1->hints) {
      tmp___3 = _((char const   *)"  (use \"git commit\" to conclude merge)");
      status_printf_ln(s___1, color___0, (char const   *)tmp___3);
    }
  }
  wt_longstatus_print_trailer(s___1);
  return;
}
}
static void show_am_in_progress(struct wt_status *s___1 , char const   *color___0 )
{
  int am_empty_patch ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  tmp = _((char const   *)"You are in the middle of an am session.");
  status_printf_ln(s___1, color___0, (char const   *)tmp);
  if (s___1->state.am_empty_patch) {
    tmp___0 = _((char const   *)"The current patch is empty.");
    status_printf_ln(s___1, color___0, (char const   *)tmp___0);
  }
  if (s___1->hints) {
    am_empty_patch = s___1->state.am_empty_patch;
    if (! am_empty_patch) {
      tmp___1 = _((char const   *)"  (fix conflicts and then run \"git am --continue\")");
      status_printf_ln(s___1, color___0, (char const   *)tmp___1);
    }
    tmp___2 = _((char const   *)"  (use \"git am --skip\" to skip this patch)");
    status_printf_ln(s___1, color___0, (char const   *)tmp___2);
    if (am_empty_patch) {
      tmp___3 = _((char const   *)"  (use \"git am --allow-empty\" to record this patch as an empty commit)");
      status_printf_ln(s___1, color___0, (char const   *)tmp___3);
    }
    tmp___4 = _((char const   *)"  (use \"git am --abort\" to restore the original branch)");
    status_printf_ln(s___1, color___0, (char const   *)tmp___4);
  }
  wt_longstatus_print_trailer(s___1);
  return;
}
}
static char *read_line_from_git_path(char const   *filename___0 )
{
  struct strbuf buf___19 ;
  FILE *fp ;
  char const   *tmp ;
  FILE *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = git_path((char const   *)"%s", filename___0);
  tmp___0 = fopen_or_warn(tmp, (char const   *)"r");
  fp = tmp___0;
  if (! fp) {
    strbuf_release(& buf___19);
    return ((char *)((void *)0));
  }
  strbuf_getline_lf(& buf___19, fp);
  tmp___2 = fclose(fp);
  if (tmp___2) {
    strbuf_release(& buf___19);
    return ((char *)((void *)0));
  } else {
    tmp___1 = strbuf_detach(& buf___19, (size_t *)((void *)0));
    return (tmp___1);
  }
}
}
static int split_commit_in_progress(struct wt_status *s___1 )
{
  int split_in_progress ;
  char *head___1 ;
  char *orig_head ;
  char *rebase_amend ;
  char *rebase_orig_head ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  split_in_progress = 0;
  if (! s___1->amend) {
    if (! s___1->nowarn) {
      if (! s___1->workdir_dirty) {
        return (0);
      } else {
        goto _L___0;
      }
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  _L: /* CIL Label */
  if (! s___1->branch) {
    return (0);
  } else {
    tmp = strcmp((char const   *)s___1->branch, (char const   *)"HEAD");
    if (tmp) {
      return (0);
    }
  }
  head___1 = read_line_from_git_path((char const   *)"HEAD");
  orig_head = read_line_from_git_path((char const   *)"ORIG_HEAD");
  rebase_amend = read_line_from_git_path((char const   *)"rebase-merge/amend");
  rebase_orig_head = read_line_from_git_path((char const   *)"rebase-merge/orig-head");
  if (! (! head___1)) {
    if (! (! orig_head)) {
      if (! (! rebase_amend)) {
        if (! (! rebase_orig_head)) {
          tmp___3 = strcmp((char const   *)rebase_amend, (char const   *)rebase_orig_head);
          if (tmp___3) {
            tmp___2 = strcmp((char const   *)orig_head, (char const   *)rebase_orig_head);
            if (tmp___2) {
              split_in_progress = 1;
            }
          } else {
            tmp___0 = strcmp((char const   *)head___1, (char const   *)rebase_amend);
            if (tmp___0) {
              tmp___1 = 1;
            } else {
              tmp___1 = 0;
            }
            split_in_progress = tmp___1;
          }
        }
      }
    }
  }
  free((void *)head___1);
  free((void *)orig_head);
  free((void *)rebase_amend);
  free((void *)rebase_orig_head);
  return (split_in_progress);
}
}
static void abbrev_oid_in_line(struct strbuf *line___0 )
{
  struct strbuf **split ;
  int i ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  struct object_id oid ;
  int tmp___3 ;

  {
  tmp = starts_with((char const   *)line___0->buf, (char const   *)"exec ");
  if (tmp) {
    return;
  } else {
    tmp___0 = starts_with((char const   *)line___0->buf, (char const   *)"x ");
    if (tmp___0) {
      return;
    } else {
      tmp___1 = starts_with((char const   *)line___0->buf, (char const   *)"label ");
      if (tmp___1) {
        return;
      } else {
        tmp___2 = starts_with((char const   *)line___0->buf, (char const   *)"l ");
        if (tmp___2) {
          return;
        }
      }
    }
  }
  split = strbuf_split_max((struct strbuf  const  *)line___0, ' ', 3);
  if (*(split + 0)) {
    if (*(split + 1)) {
      strbuf_trim(*(split + 1));
      tmp___3 = repo_get_oid(the_repository, (char const   *)(*(split + 1))->buf,
                             & oid);
      if (! tmp___3) {
        strbuf_setlen(*(split + 1), (size_t )0);
        strbuf_add_unique_abbrev(*(split + 1), (struct object_id  const  *)(& oid),
                                 default_abbrev);
        strbuf_addch(*(split + 1), ' ');
        strbuf_setlen(line___0, (size_t )0);
        i = 0;
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          if (! *(split + i)) {
            goto while_break;
          }
          strbuf_addbuf(line___0, (struct strbuf  const  *)*(split + i));
          i ++;
        }
        while_break: /* CIL Label */ ;
        }
      }
    }
  }
  strbuf_list_free(split);
  return;
}
}
static int read_rebase_todolist(char const   *fname , struct string_list *lines )
{
  struct strbuf line___0 ;
  FILE *f ;
  char const   *tmp ;
  FILE *tmp___0 ;
  int *tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;

  {
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  tmp = git_path((char const   *)"%s", fname);
  tmp___0 = git_fopen(tmp, (char const   *)"r");
  f = tmp___0;
  if (! f) {
    tmp___1 = __errno_location();
    if (*tmp___1 == 2) {
      return (-1);
    }
    tmp___2 = git_path((char const   *)"%s", fname);
    die_errno((char const   *)"Could not open file %s for reading", tmp___2);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = strbuf_getline_lf(& line___0, f);
    if (tmp___3) {
      goto while_break;
    }
    if (line___0.len) {
      if ((int )*(line___0.buf + 0) == (int )comment_line_char) {
        goto while_continue;
      }
    }
    strbuf_trim(& line___0);
    if (! line___0.len) {
      goto while_continue;
    }
    abbrev_oid_in_line(& line___0);
    string_list_append(lines, (char const   *)line___0.buf);
  }
  while_break: /* CIL Label */ ;
  }
  fclose(f);
  strbuf_release(& line___0);
  return (0);
}
}
static void show_rebase_information(struct wt_status *s___1 , char const   *color___0 )
{
  int i ;
  int nr_lines_to_show ;
  struct string_list have_done ;
  struct string_list yet_to_do ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___2 ;
  char const   *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;

  {
  if (s___1->state.rebase_interactive_in_progress) {
    nr_lines_to_show = 2;
    have_done.items = (struct string_list_item *)0;
    have_done.nr = 0U;
    have_done.alloc = 0U;
    have_done.strdup_strings = 1U;
    have_done.cmp = (int (*)(char const   * , char const   * ))0;
    yet_to_do.items = (struct string_list_item *)0;
    yet_to_do.nr = 0U;
    yet_to_do.alloc = 0U;
    yet_to_do.strdup_strings = 1U;
    yet_to_do.cmp = (int (*)(char const   * , char const   * ))0;
    read_rebase_todolist((char const   *)"rebase-merge/done", & have_done);
    tmp___0 = read_rebase_todolist((char const   *)"rebase-merge/git-rebase-todo",
                                   & yet_to_do);
    if (tmp___0) {
      tmp = _((char const   *)"git-rebase-todo is missing.");
      status_printf_ln(s___1, color___0, (char const   *)tmp);
    }
    if (have_done.nr == 0U) {
      tmp___1 = _((char const   *)"No commands done.");
      status_printf_ln(s___1, color___0, (char const   *)tmp___1);
    } else {
      tmp___2 = Q_((char const   *)"Last command done (%d command done):", (char const   *)"Last commands done (%d commands done):",
                   (unsigned long )have_done.nr);
      status_printf_ln(s___1, color___0, (char const   *)tmp___2, have_done.nr);
      if (have_done.nr > (unsigned int )nr_lines_to_show) {
        i = (int )(have_done.nr - (unsigned int )nr_lines_to_show);
      } else {
        i = 0;
      }
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! ((unsigned int )i < have_done.nr)) {
          goto while_break;
        }
        status_printf_ln(s___1, color___0, (char const   *)"   %s", (have_done.items + i)->string);
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
      if (have_done.nr > (unsigned int )nr_lines_to_show) {
        if (s___1->hints) {
          tmp___3 = git_path((char const   *)"rebase-merge/done");
          tmp___4 = _((char const   *)"  (see more in file %s)");
          status_printf_ln(s___1, color___0, (char const   *)tmp___4, tmp___3);
        }
      }
    }
    if (yet_to_do.nr == 0U) {
      tmp___5 = _((char const   *)"No commands remaining.");
      status_printf_ln(s___1, color___0, (char const   *)tmp___5);
    } else {
      tmp___6 = Q_((char const   *)"Next command to do (%d remaining command):", (char const   *)"Next commands to do (%d remaining commands):",
                   (unsigned long )yet_to_do.nr);
      status_printf_ln(s___1, color___0, (char const   *)tmp___6, yet_to_do.nr);
      i = 0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (i < nr_lines_to_show) {
          if (! ((unsigned int )i < yet_to_do.nr)) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
        status_printf_ln(s___1, color___0, (char const   *)"   %s", (yet_to_do.items + i)->string);
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      if (s___1->hints) {
        tmp___7 = _((char const   *)"  (use \"git rebase --edit-todo\" to view and edit)");
        status_printf_ln(s___1, color___0, (char const   *)tmp___7);
      }
    }
    string_list_clear(& yet_to_do, 0);
    string_list_clear(& have_done, 0);
  }
  return;
}
}
static void print_rebase_state(struct wt_status *s___1 , char const   *color___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  if (s___1->state.branch) {
    tmp = _((char const   *)"You are currently rebasing branch \'%s\' on \'%s\'.");
    status_printf_ln(s___1, color___0, (char const   *)tmp, s___1->state.branch, s___1->state.onto);
  } else {
    tmp___0 = _((char const   *)"You are currently rebasing.");
    status_printf_ln(s___1, color___0, (char const   *)tmp___0);
  }
  return;
}
}
static void show_rebase_in_progress(struct wt_status *s___1 , char const   *color___0 )
{
  struct stat st ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  char const   *tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;

  {
  show_rebase_information(s___1, color___0);
  tmp___13 = has_unmerged(s___1);
  if (tmp___13) {
    print_rebase_state(s___1, color___0);
    if (s___1->hints) {
      tmp = _((char const   *)"  (fix conflicts and then run \"git rebase --continue\")");
      status_printf_ln(s___1, color___0, (char const   *)tmp);
      tmp___0 = _((char const   *)"  (use \"git rebase --skip\" to skip this patch)");
      status_printf_ln(s___1, color___0, (char const   *)tmp___0);
      tmp___1 = _((char const   *)"  (use \"git rebase --abort\" to check out the original branch)");
      status_printf_ln(s___1, color___0, (char const   *)tmp___1);
    }
  } else
  if (s___1->state.rebase_in_progress) {
    goto _L;
  } else {
    tmp___11 = git_path_merge_msg(s___1->repo);
    tmp___12 = stat(tmp___11, & st);
    if (tmp___12) {
      tmp___10 = split_commit_in_progress(s___1);
      if (tmp___10) {
        if (s___1->state.branch) {
          tmp___3 = _((char const   *)"You are currently splitting a commit while rebasing branch \'%s\' on \'%s\'.");
          status_printf_ln(s___1, color___0, (char const   *)tmp___3, s___1->state.branch,
                           s___1->state.onto);
        } else {
          tmp___4 = _((char const   *)"You are currently splitting a commit during a rebase.");
          status_printf_ln(s___1, color___0, (char const   *)tmp___4);
        }
        if (s___1->hints) {
          tmp___5 = _((char const   *)"  (Once your working directory is clean, run \"git rebase --continue\")");
          status_printf_ln(s___1, color___0, (char const   *)tmp___5);
        }
      } else {
        if (s___1->state.branch) {
          tmp___6 = _((char const   *)"You are currently editing a commit while rebasing branch \'%s\' on \'%s\'.");
          status_printf_ln(s___1, color___0, (char const   *)tmp___6, s___1->state.branch,
                           s___1->state.onto);
        } else {
          tmp___7 = _((char const   *)"You are currently editing a commit during a rebase.");
          status_printf_ln(s___1, color___0, (char const   *)tmp___7);
        }
        if (s___1->hints) {
          if (! s___1->amend) {
            tmp___8 = _((char const   *)"  (use \"git commit --amend\" to amend the current commit)");
            status_printf_ln(s___1, color___0, (char const   *)tmp___8);
            tmp___9 = _((char const   *)"  (use \"git rebase --continue\" once you are satisfied with your changes)");
            status_printf_ln(s___1, color___0, (char const   *)tmp___9);
          }
        }
      }
    } else {
      _L: /* CIL Label */
      print_rebase_state(s___1, color___0);
      if (s___1->hints) {
        tmp___2 = _((char const   *)"  (all conflicts fixed: run \"git rebase --continue\")");
        status_printf_ln(s___1, color___0, (char const   *)tmp___2);
      }
    }
  }
  wt_longstatus_print_trailer(s___1);
  return;
}
}
static void show_cherry_pick_in_progress(struct wt_status *s___1 , char const   *color___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;

  {
  tmp___2 = is_null_oid((struct object_id  const  *)(& s___1->state.cherry_pick_head_oid));
  if (tmp___2) {
    tmp = _((char const   *)"Cherry-pick currently in progress.");
    status_printf_ln(s___1, color___0, (char const   *)tmp);
  } else {
    tmp___0 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& s___1->state.cherry_pick_head_oid),
                                      default_abbrev);
    tmp___1 = _((char const   *)"You are currently cherry-picking commit %s.");
    status_printf_ln(s___1, color___0, (char const   *)tmp___1, tmp___0);
  }
  if (s___1->hints) {
    tmp___7 = has_unmerged(s___1);
    if (tmp___7) {
      tmp___3 = _((char const   *)"  (fix conflicts and run \"git cherry-pick --continue\")");
      status_printf_ln(s___1, color___0, (char const   *)tmp___3);
    } else {
      tmp___6 = is_null_oid((struct object_id  const  *)(& s___1->state.cherry_pick_head_oid));
      if (tmp___6) {
        tmp___4 = _((char const   *)"  (run \"git cherry-pick --continue\" to continue)");
        status_printf_ln(s___1, color___0, (char const   *)tmp___4);
      } else {
        tmp___5 = _((char const   *)"  (all conflicts fixed: run \"git cherry-pick --continue\")");
        status_printf_ln(s___1, color___0, (char const   *)tmp___5);
      }
    }
    tmp___8 = _((char const   *)"  (use \"git cherry-pick --skip\" to skip this patch)");
    status_printf_ln(s___1, color___0, (char const   *)tmp___8);
    tmp___9 = _((char const   *)"  (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)");
    status_printf_ln(s___1, color___0, (char const   *)tmp___9);
  }
  wt_longstatus_print_trailer(s___1);
  return;
}
}
static void show_revert_in_progress(struct wt_status *s___1 , char const   *color___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;

  {
  tmp___2 = is_null_oid((struct object_id  const  *)(& s___1->state.revert_head_oid));
  if (tmp___2) {
    tmp = _((char const   *)"Revert currently in progress.");
    status_printf_ln(s___1, color___0, (char const   *)tmp);
  } else {
    tmp___0 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& s___1->state.revert_head_oid),
                                      default_abbrev);
    tmp___1 = _((char const   *)"You are currently reverting commit %s.");
    status_printf_ln(s___1, color___0, (char const   *)tmp___1, tmp___0);
  }
  if (s___1->hints) {
    tmp___7 = has_unmerged(s___1);
    if (tmp___7) {
      tmp___3 = _((char const   *)"  (fix conflicts and run \"git revert --continue\")");
      status_printf_ln(s___1, color___0, (char const   *)tmp___3);
    } else {
      tmp___6 = is_null_oid((struct object_id  const  *)(& s___1->state.revert_head_oid));
      if (tmp___6) {
        tmp___4 = _((char const   *)"  (run \"git revert --continue\" to continue)");
        status_printf_ln(s___1, color___0, (char const   *)tmp___4);
      } else {
        tmp___5 = _((char const   *)"  (all conflicts fixed: run \"git revert --continue\")");
        status_printf_ln(s___1, color___0, (char const   *)tmp___5);
      }
    }
    tmp___8 = _((char const   *)"  (use \"git revert --skip\" to skip this patch)");
    status_printf_ln(s___1, color___0, (char const   *)tmp___8);
    tmp___9 = _((char const   *)"  (use \"git revert --abort\" to cancel the revert operation)");
    status_printf_ln(s___1, color___0, (char const   *)tmp___9);
  }
  wt_longstatus_print_trailer(s___1);
  return;
}
}
static void show_bisect_in_progress(struct wt_status *s___1 , char const   *color___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  if (s___1->state.branch) {
    tmp = _((char const   *)"You are currently bisecting, started from branch \'%s\'.");
    status_printf_ln(s___1, color___0, (char const   *)tmp, s___1->state.branch);
  } else {
    tmp___0 = _((char const   *)"You are currently bisecting.");
    status_printf_ln(s___1, color___0, (char const   *)tmp___0);
  }
  if (s___1->hints) {
    tmp___1 = _((char const   *)"  (use \"git bisect reset\" to get back to the original branch)");
    status_printf_ln(s___1, color___0, (char const   *)tmp___1);
  }
  wt_longstatus_print_trailer(s___1);
  return;
}
}
static void show_sparse_checkout_in_use(struct wt_status *s___1 , char const   *color___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  if (s___1->state.sparse_checkout_percentage == -1) {
    return;
  }
  if (s___1->state.sparse_checkout_percentage == -2) {
    tmp = _((char const   *)"You are in a sparse checkout.");
    status_printf_ln(s___1, color___0, (char const   *)tmp);
  } else {
    tmp___0 = _((char const   *)"You are in a sparse checkout with %d%% of tracked files present.");
    status_printf_ln(s___1, color___0, (char const   *)tmp___0, s___1->state.sparse_checkout_percentage);
  }
  wt_longstatus_print_trailer(s___1);
  return;
}
}
static char *get_branch(struct worktree  const  *wt , char const   *path___6 )
{
  struct strbuf sb___6 ;
  struct object_id oid ;
  char const   *branch_name ;
  char const   *tmp ;
  ssize_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = worktree_git_path(wt, (char const   *)"%s", path___6);
  tmp___0 = strbuf_read_file(& sb___6, tmp, (size_t )0);
  if (tmp___0 <= 0L) {
    goto got_nothing;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (sb___6.len) {
      if (! ((int )*(sb___6.buf + (sb___6.len - 1UL)) == 10)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    strbuf_setlen(& sb___6, sb___6.len - 1UL);
  }
  while_break: /* CIL Label */ ;
  }
  if (! sb___6.len) {
    goto got_nothing;
  }
  tmp___4 = skip_prefix((char const   *)sb___6.buf, (char const   *)"refs/heads/",
                        & branch_name);
  if (tmp___4) {
    strbuf_remove(& sb___6, (size_t )0, (size_t )(branch_name - (char const   *)sb___6.buf));
  } else {
    tmp___3 = starts_with((char const   *)sb___6.buf, (char const   *)"refs/");
    if (! tmp___3) {
      tmp___2 = get_oid_hex((char const   *)sb___6.buf, & oid);
      if (tmp___2) {
        tmp___1 = strcmp((char const   *)sb___6.buf, (char const   *)"detached HEAD");
        if (! tmp___1) {
          goto got_nothing;
        }
      } else {
        strbuf_setlen(& sb___6, (size_t )0);
        strbuf_add_unique_abbrev(& sb___6, (struct object_id  const  *)(& oid), default_abbrev);
      }
    }
  }
  tmp___5 = strbuf_detach(& sb___6, (size_t *)((void *)0));
  return (tmp___5);
  got_nothing:
  strbuf_release(& sb___6);
  return ((char *)((void *)0));
}
}
static int grab_1st_switch(struct object_id *ooid , struct object_id *noid , char const   *email ,
                           timestamp_t timestamp___0 , int tz , char const   *message___0 ,
                           void *cb_data )
{
  struct grab_1st_switch_cbdata *cb ;
  char const   *target ;
  char const   *end ;
  int tmp ;
  char *tmp___0 ;
  size_t tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;

  {
  cb = (struct grab_1st_switch_cbdata *)cb_data;
  target = (char const   *)((void *)0);
  tmp = skip_prefix(message___0, (char const   *)"checkout: moving from ", & message___0);
  if (! tmp) {
    return (0);
  }
  tmp___0 = strstr(message___0, (char const   *)" to ");
  target = (char const   *)tmp___0;
  if (! target) {
    return (0);
  }
  tmp___1 = strlen((char const   *)" to ");
  target += tmp___1;
  strbuf_setlen(& cb->buf, (size_t )0);
  oidcpy(& cb->noid, (struct object_id  const  *)noid);
  tmp___2 = strchrnul(target, '\n');
  end = (char const   *)tmp___2;
  strbuf_add(& cb->buf, (void const   *)target, (size_t )(end - target));
  tmp___3 = strcmp((char const   *)cb->buf.buf, (char const   *)"HEAD");
  if (! tmp___3) {
    strbuf_setlen(& cb->buf, (size_t )0);
    strbuf_add_unique_abbrev(& cb->buf, (struct object_id  const  *)noid, default_abbrev);
  }
  return (1);
}
}
static void wt_status_get_detached_from(struct repository *r , struct wt_status_state *state___1 )
{
  struct grab_1st_switch_cbdata cb ;
  struct commit *commit ;
  struct object_id oid ;
  char *ref ;
  int tmp ;
  char const   *from___0 ;
  int tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  ref = (char *)((void *)0);
  strbuf_init(& cb.buf, (size_t )0);
  tmp = for_each_reflog_ent_reverse((char const   *)"HEAD", & grab_1st_switch, (void *)(& cb));
  if (tmp <= 0) {
    strbuf_release(& cb.buf);
    return;
  }
  tmp___2 = dwim_ref((char const   *)cb.buf.buf, (int )cb.buf.len, & oid, & ref, 1);
  if (tmp___2 == 1) {
    tmp___3 = oideq((struct object_id  const  *)(& cb.noid), (struct object_id  const  *)(& oid));
    if (tmp___3) {
      goto _L;
    } else {
      commit = lookup_commit_reference_gently(r, (struct object_id  const  *)(& oid),
                                              1);
      if ((unsigned long )commit != (unsigned long )((void *)0)) {
        tmp___4 = oideq((struct object_id  const  *)(& cb.noid), (struct object_id  const  *)(& commit->object.oid));
        if (tmp___4) {
          _L: /* CIL Label */
          from___0 = (char const   *)ref;
          tmp___0 = skip_prefix(from___0, (char const   *)"refs/tags/", & from___0);
          if (! tmp___0) {
            skip_prefix(from___0, (char const   *)"refs/remotes/", & from___0);
          }
          state___1->detached_from = xstrdup(from___0);
        } else {
          tmp___1 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& cb.noid),
                                            default_abbrev);
          state___1->detached_from = xstrdup(tmp___1);
        }
      } else {
        tmp___1 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& cb.noid),
                                          default_abbrev);
        state___1->detached_from = xstrdup(tmp___1);
      }
    }
  } else {
    tmp___1 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& cb.noid),
                                      default_abbrev);
    state___1->detached_from = xstrdup(tmp___1);
  }
  oidcpy(& state___1->detached_oid, (struct object_id  const  *)(& cb.noid));
  tmp___5 = repo_get_oid(the_repository, (char const   *)"HEAD", & oid);
  if (tmp___5) {
    tmp___7 = 0;
  } else {
    tmp___6 = oideq((struct object_id  const  *)(& oid), (struct object_id  const  *)(& state___1->detached_oid));
    if (tmp___6) {
      tmp___7 = 1;
    } else {
      tmp___7 = 0;
    }
  }
  state___1->detached_at = tmp___7;
  free((void *)ref);
  strbuf_release(& cb.buf);
  return;
}
}
int wt_status_check_rebase(struct worktree  const  *wt , struct wt_status_state *state___1 )
{
  struct stat st ;
  char const   *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;
  char const   *tmp___5 ;
  int tmp___6 ;
  char const   *tmp___7 ;
  int tmp___8 ;

  {
  tmp___7 = worktree_git_path(wt, (char const   *)"rebase-apply");
  tmp___8 = stat(tmp___7, & st);
  if (tmp___8) {
    tmp___5 = worktree_git_path(wt, (char const   *)"rebase-merge");
    tmp___6 = stat(tmp___5, & st);
    if (tmp___6) {
      return (0);
    } else {
      tmp___3 = worktree_git_path(wt, (char const   *)"rebase-merge/interactive");
      tmp___4 = stat(tmp___3, & st);
      if (tmp___4) {
        state___1->rebase_in_progress = 1;
      } else {
        state___1->rebase_interactive_in_progress = 1;
      }
      state___1->branch = get_branch(wt, (char const   *)"rebase-merge/head-name");
      state___1->onto = get_branch(wt, (char const   *)"rebase-merge/onto");
    }
  } else {
    tmp___1 = worktree_git_path(wt, (char const   *)"rebase-apply/applying");
    tmp___2 = stat(tmp___1, & st);
    if (tmp___2) {
      state___1->rebase_in_progress = 1;
      state___1->branch = get_branch(wt, (char const   *)"rebase-apply/head-name");
      state___1->onto = get_branch(wt, (char const   *)"rebase-apply/onto");
    } else {
      state___1->am_in_progress = 1;
      tmp = worktree_git_path(wt, (char const   *)"rebase-apply/patch");
      tmp___0 = stat(tmp, & st);
      if (! tmp___0) {
        if (! st.st_size) {
          state___1->am_empty_patch = 1;
        }
      }
    }
  }
  return (1);
}
}
int wt_status_check_bisect(struct worktree  const  *wt , struct wt_status_state *state___1 )
{
  struct stat st ;
  char const   *tmp ;
  int tmp___0 ;

  {
  tmp = worktree_git_path(wt, (char const   *)"BISECT_LOG");
  tmp___0 = stat(tmp, & st);
  if (! tmp___0) {
    state___1->bisect_in_progress = 1;
    state___1->branch = get_branch(wt, (char const   *)"BISECT_START");
    return (1);
  }
  return (0);
}
}
static void wt_status_check_sparse_checkout(struct repository *r , struct wt_status_state *state___1 )
{
  int skip_worktree ;
  int i ;
  struct cache_entry *ce ;

  {
  skip_worktree = 0;
  if (! core_apply_sparse_checkout) {
    state___1->sparse_checkout_percentage = -1;
    return;
  } else
  if ((r->index)->cache_nr == 0U) {
    state___1->sparse_checkout_percentage = -1;
    return;
  }
  if ((r->index)->sparse_index) {
    state___1->sparse_checkout_percentage = -2;
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < (r->index)->cache_nr)) {
      goto while_break;
    }
    ce = *((r->index)->cache + i);
    if (ce->ce_flags & (unsigned int )(1 << 30)) {
      skip_worktree ++;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  state___1->sparse_checkout_percentage = (int )(100U - (unsigned int )(100 * skip_worktree) / (r->index)->cache_nr);
  return;
}
}
void wt_status_get_state(struct repository *r , struct wt_status_state *state___1 ,
                         int get_detached_from )
{
  struct stat st ;
  struct object_id oid ;
  enum replay_action action ;
  struct ref_store *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;
  struct ref_store *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  struct object_id  const  *tmp___8 ;
  struct object_id  const  *tmp___9 ;
  int tmp___10 ;

  {
  tmp___3 = git_path_merge_head(r);
  tmp___4 = stat(tmp___3, & st);
  if (tmp___4) {
    tmp___2 = wt_status_check_rebase((struct worktree  const  *)((void *)0), state___1);
    if (! tmp___2) {
      tmp = get_main_ref_store(r);
      tmp___0 = refs_ref_exists(tmp, (char const   *)"CHERRY_PICK_HEAD");
      if (tmp___0) {
        tmp___1 = repo_get_oid(the_repository, (char const   *)"CHERRY_PICK_HEAD",
                               & oid);
        if (! tmp___1) {
          state___1->cherry_pick_in_progress = 1;
          oidcpy(& state___1->cherry_pick_head_oid, (struct object_id  const  *)(& oid));
        }
      }
    }
  } else {
    wt_status_check_rebase((struct worktree  const  *)((void *)0), state___1);
    state___1->merge_in_progress = 1;
  }
  wt_status_check_bisect((struct worktree  const  *)((void *)0), state___1);
  tmp___5 = get_main_ref_store(r);
  tmp___6 = refs_ref_exists(tmp___5, (char const   *)"REVERT_HEAD");
  if (tmp___6) {
    tmp___7 = repo_get_oid(the_repository, (char const   *)"REVERT_HEAD", & oid);
    if (! tmp___7) {
      state___1->revert_in_progress = 1;
      oidcpy(& state___1->revert_head_oid, (struct object_id  const  *)(& oid));
    }
  }
  tmp___10 = sequencer_get_last_command(r, & action);
  if (! tmp___10) {
    if ((unsigned int )action == 1U) {
      state___1->cherry_pick_in_progress = 1;
      tmp___8 = null_oid();
      oidcpy(& state___1->cherry_pick_head_oid, tmp___8);
    } else {
      state___1->revert_in_progress = 1;
      tmp___9 = null_oid();
      oidcpy(& state___1->revert_head_oid, tmp___9);
    }
  }
  if (get_detached_from) {
    wt_status_get_detached_from(r, state___1);
  }
  wt_status_check_sparse_checkout(r, state___1);
  return;
}
}
static void wt_longstatus_print_state(struct wt_status *s___1 )
{
  char const   *state_color ;
  char const   *tmp ;
  struct wt_status_state *state___1 ;

  {
  tmp = color(0, s___1);
  state_color = tmp;
  state___1 = & s___1->state;
  if (state___1->merge_in_progress) {
    if (state___1->rebase_interactive_in_progress) {
      show_rebase_information(s___1, state_color);
      fputs((char const   * __restrict  )"\n", (FILE * __restrict  )s___1->fp);
    }
    show_merge_in_progress(s___1, state_color);
  } else
  if (state___1->am_in_progress) {
    show_am_in_progress(s___1, state_color);
  } else
  if (state___1->rebase_in_progress) {
    show_rebase_in_progress(s___1, state_color);
  } else
  if (state___1->rebase_interactive_in_progress) {
    show_rebase_in_progress(s___1, state_color);
  } else
  if (state___1->cherry_pick_in_progress) {
    show_cherry_pick_in_progress(s___1, state_color);
  } else
  if (state___1->revert_in_progress) {
    show_revert_in_progress(s___1, state_color);
  }
  if (state___1->bisect_in_progress) {
    show_bisect_in_progress(s___1, state_color);
  }
  if (state___1->sparse_checkout_percentage != -1) {
    show_sparse_checkout_in_use(s___1, state_color);
  }
  return;
}
}
static void wt_longstatus_print(struct wt_status *s___1 )
{
  char const   *branch_color ;
  char const   *tmp ;
  char const   *branch_status_color ;
  char const   *tmp___0 ;
  char const   *on_what ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const   *branch_name ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const   *tmp___8 ;
  char const   *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const   *tmp___13 ;
  char const   *tmp___14 ;
  int tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  int tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  char const __attribute__((__format_arg__(1)))  *tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  char const __attribute__((__format_arg__(1)))  *tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  char const __attribute__((__format_arg__(1)))  *tmp___26 ;
  char const __attribute__((__format_arg__(1)))  *tmp___27 ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  char const __attribute__((__format_arg__(1)))  *tmp___29 ;
  char const __attribute__((__format_arg__(1)))  *tmp___30 ;
  char const __attribute__((__format_arg__(1)))  *tmp___31 ;
  char const __attribute__((__format_arg__(1)))  *tmp___32 ;

  {
  tmp = color(8, s___1);
  branch_color = tmp;
  tmp___0 = color(0, s___1);
  branch_status_color = tmp___0;
  if (s___1->branch) {
    tmp___1 = _((char const   *)"On branch ");
    on_what = (char const   *)tmp___1;
    branch_name = (char const   *)s___1->branch;
    tmp___7 = strcmp(branch_name, (char const   *)"HEAD");
    if (tmp___7) {
      skip_prefix(branch_name, (char const   *)"refs/heads/", & branch_name);
    } else {
      branch_status_color = color(4, s___1);
      if (s___1->state.rebase_in_progress) {
        goto _L;
      } else
      if (s___1->state.rebase_interactive_in_progress) {
        _L: /* CIL Label */
        if (s___1->state.rebase_interactive_in_progress) {
          tmp___2 = _((char const   *)"interactive rebase in progress; onto ");
          on_what = (char const   *)tmp___2;
        } else {
          tmp___3 = _((char const   *)"rebase in progress; onto ");
          on_what = (char const   *)tmp___3;
        }
        branch_name = (char const   *)s___1->state.onto;
      } else
      if (s___1->state.detached_from) {
        branch_name = (char const   *)s___1->state.detached_from;
        if (s___1->state.detached_at) {
          tmp___4 = _((char const   *)"HEAD detached at ");
          on_what = (char const   *)tmp___4;
        } else {
          tmp___5 = _((char const   *)"HEAD detached from ");
          on_what = (char const   *)tmp___5;
        }
      } else {
        branch_name = (char const   *)"";
        tmp___6 = _((char const   *)"Not currently on any branch.");
        on_what = (char const   *)tmp___6;
      }
    }
    tmp___8 = color(0, s___1);
    status_printf(s___1, tmp___8, (char const   *)"%s", "");
    status_printf_more(s___1, branch_status_color, (char const   *)"%s", on_what);
    status_printf_more(s___1, branch_color, (char const   *)"%s\n", branch_name);
    if (! s___1->is_initial) {
      wt_longstatus_print_tracking(s___1);
    }
  }
  wt_longstatus_print_state(s___1);
  if (s___1->is_initial) {
    tmp___9 = color(0, s___1);
    status_printf_ln(s___1, tmp___9, (char const   *)"%s", "");
    if (s___1->commit_template) {
      tmp___10 = _((char const   *)"Initial commit");
      tmp___12 = tmp___10;
    } else {
      tmp___11 = _((char const   *)"No commits yet");
      tmp___12 = tmp___11;
    }
    tmp___13 = color(0, s___1);
    status_printf_ln(s___1, tmp___13, (char const   *)tmp___12);
    tmp___14 = color(0, s___1);
    status_printf_ln(s___1, tmp___14, (char const   *)"%s", "");
  }
  wt_longstatus_print_updated(s___1);
  wt_longstatus_print_unmerged(s___1);
  wt_longstatus_print_changed(s___1);
  if (s___1->submodule_summary) {
    if (! s___1->ignore_submodule_arg) {
      wt_longstatus_print_submodule_summary(s___1, 0);
      wt_longstatus_print_submodule_summary(s___1, 1);
    } else {
      tmp___15 = strcmp(s___1->ignore_submodule_arg, (char const   *)"all");
      if (tmp___15) {
        wt_longstatus_print_submodule_summary(s___1, 0);
        wt_longstatus_print_submodule_summary(s___1, 1);
      }
    }
  }
  if (s___1->show_untracked_files) {
    tmp___16 = _((char const   *)"Untracked files");
    wt_longstatus_print_other(s___1, & s___1->untracked, (char const   *)tmp___16,
                              (char const   *)"add");
    if (s___1->show_ignored_mode) {
      tmp___17 = _((char const   *)"Ignored files");
      wt_longstatus_print_other(s___1, & s___1->ignored, (char const   *)tmp___17,
                                (char const   *)"add -f");
    }
    tmp___19 = advice_enabled((enum advice_type )29);
    if (tmp___19) {
      if (2000U < s___1->untracked_in_ms) {
        status_printf_ln(s___1, (char const   *)"", (char const   *)"%s", "");
        tmp___18 = _((char const   *)"It took %.2f seconds to enumerate untracked files. \'status -uno\'\nmay speed it up, but you have to be careful not to forget to add\nnew files yourself (see \'git help status\').");
        status_printf_ln(s___1, (char const   *)"", (char const   *)tmp___18, (double )s___1->untracked_in_ms / 1000.0);
      }
    }
  } else
  if (s___1->committable) {
    if (s___1->hints) {
      tmp___20 = _((char const   *)" (use -u option to show untracked files)");
      tmp___21 = tmp___20;
    } else {
      tmp___21 = (char const __attribute__((__format_arg__(1)))  *)"";
    }
    tmp___22 = _((char const   *)"Untracked files not listed%s");
    status_printf_ln(s___1, (char const   *)"", (char const   *)tmp___22, tmp___21);
  }
  if (s___1->verbose) {
    wt_longstatus_print_verbose(s___1);
  }
  if (! s___1->committable) {
    if (s___1->amend) {
      tmp___23 = _((char const   *)"No changes");
      status_printf_ln(s___1, (char const   *)"", (char const   *)tmp___23);
    } else
    if (! s___1->nowarn) {
      if (s___1->workdir_dirty) {
        if (s___1->hints) {
          tmp___24 = _((char const   *)"no changes added to commit (use \"git add\" and/or \"git commit -a\")\n");
          fprintf(s___1->fp, (char const   *)tmp___24);
        } else {
          tmp___25 = _((char const   *)"no changes added to commit\n");
          fprintf(s___1->fp, (char const   *)tmp___25);
        }
      } else
      if (s___1->untracked.nr) {
        if (s___1->hints) {
          tmp___26 = _((char const   *)"nothing added to commit but untracked files present (use \"git add\" to track)\n");
          fprintf(s___1->fp, (char const   *)tmp___26);
        } else {
          tmp___27 = _((char const   *)"nothing added to commit but untracked files present\n");
          fprintf(s___1->fp, (char const   *)tmp___27);
        }
      } else
      if (s___1->is_initial) {
        if (s___1->hints) {
          tmp___28 = _((char const   *)"nothing to commit (create/copy files and use \"git add\" to track)\n");
          fprintf(s___1->fp, (char const   *)tmp___28);
        } else {
          tmp___29 = _((char const   *)"nothing to commit\n");
          fprintf(s___1->fp, (char const   *)tmp___29);
        }
      } else
      if (! s___1->show_untracked_files) {
        if (s___1->hints) {
          tmp___30 = _((char const   *)"nothing to commit (use -u to show untracked files)\n");
          fprintf(s___1->fp, (char const   *)tmp___30);
        } else {
          tmp___31 = _((char const   *)"nothing to commit\n");
          fprintf(s___1->fp, (char const   *)tmp___31);
        }
      } else {
        tmp___32 = _((char const   *)"nothing to commit, working tree clean\n");
        fprintf(s___1->fp, (char const   *)tmp___32);
      }
    }
  }
  if (s___1->show_stash) {
    wt_longstatus_print_stash_summary(s___1);
  }
  return;
}
}
static void wt_shortstatus_unmerged(struct string_list_item *it , struct wt_status *s___1 )
{
  struct wt_status_change_data *d ;
  char const   *how ;
  char const   *tmp ;
  struct strbuf onebuf ;
  char const   *one___0 ;
  char *tmp___0 ;

  {
  d = (struct wt_status_change_data *)it->util;
  how = (char const   *)"??";
  {
  if (d->stagemask == 1) {
    goto case_1;
  }
  if (d->stagemask == 2) {
    goto case_2;
  }
  if (d->stagemask == 3) {
    goto case_3;
  }
  if (d->stagemask == 4) {
    goto case_4;
  }
  if (d->stagemask == 5) {
    goto case_5;
  }
  if (d->stagemask == 6) {
    goto case_6;
  }
  if (d->stagemask == 7) {
    goto case_7;
  }
  goto switch_break;
  case_1: /* CIL Label */
  how = (char const   *)"DD";
  goto switch_break;
  case_2: /* CIL Label */
  how = (char const   *)"AU";
  goto switch_break;
  case_3: /* CIL Label */
  how = (char const   *)"UD";
  goto switch_break;
  case_4: /* CIL Label */
  how = (char const   *)"UA";
  goto switch_break;
  case_5: /* CIL Label */
  how = (char const   *)"DU";
  goto switch_break;
  case_6: /* CIL Label */
  how = (char const   *)"AA";
  goto switch_break;
  case_7: /* CIL Label */
  how = (char const   *)"UU";
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  tmp = color(5, s___1);
  color_fprintf(s___1->fp, tmp, (char const   *)"%s", how);
  if (s___1->null_termination) {
    fprintf(s___1->fp, (char const   *)" %s%c", it->string, 0);
  } else {
    onebuf.alloc = 0UL;
    onebuf.len = 0UL;
    onebuf.buf = strbuf_slopbuf;
    tmp___0 = quote_path((char const   *)it->string, s___1->prefix, & onebuf, 1U);
    one___0 = (char const   *)tmp___0;
    fprintf(s___1->fp, (char const   *)" %s\n", one___0);
    strbuf_release(& onebuf);
  }
  return;
}
}
static void wt_shortstatus_status(struct string_list_item *it , struct wt_status *s___1 )
{
  struct wt_status_change_data *d ;
  char const   *tmp ;
  char const   *tmp___0 ;
  struct strbuf onebuf ;
  char const   *one___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  d = (struct wt_status_change_data *)it->util;
  if (d->index_status) {
    tmp = color(1, s___1);
    color_fprintf(s___1->fp, tmp, (char const   *)"%c", d->index_status);
  } else {
    fputc(' ', s___1->fp);
  }
  if (d->worktree_status) {
    tmp___0 = color(2, s___1);
    color_fprintf(s___1->fp, tmp___0, (char const   *)"%c", d->worktree_status);
  } else {
    fputc(' ', s___1->fp);
  }
  fputc(' ', s___1->fp);
  if (s___1->null_termination) {
    fprintf(s___1->fp, (char const   *)"%s%c", it->string, 0);
    if (d->rename_source) {
      fprintf(s___1->fp, (char const   *)"%s%c", d->rename_source, 0);
    }
  } else {
    onebuf.alloc = 0UL;
    onebuf.len = 0UL;
    onebuf.buf = strbuf_slopbuf;
    if (d->rename_source) {
      tmp___1 = quote_path((char const   *)d->rename_source, s___1->prefix, & onebuf,
                           1U);
      one___0 = (char const   *)tmp___1;
      fprintf(s___1->fp, (char const   *)"%s -> ", one___0);
      strbuf_release(& onebuf);
    }
    tmp___2 = quote_path((char const   *)it->string, s___1->prefix, & onebuf, 1U);
    one___0 = (char const   *)tmp___2;
    fprintf(s___1->fp, (char const   *)"%s\n", one___0);
    strbuf_release(& onebuf);
  }
  return;
}
}
static void wt_shortstatus_other(struct string_list_item *it , struct wt_status *s___1 ,
                                 char const   *sign )
{
  struct strbuf onebuf ;
  char const   *one___0 ;
  char *tmp ;
  char const   *tmp___0 ;

  {
  if (s___1->null_termination) {
    fprintf(s___1->fp, (char const   *)"%s %s%c", sign, it->string, 0);
  } else {
    onebuf.alloc = 0UL;
    onebuf.len = 0UL;
    onebuf.buf = strbuf_slopbuf;
    tmp = quote_path((char const   *)it->string, s___1->prefix, & onebuf, 1U);
    one___0 = (char const   *)tmp;
    tmp___0 = color(3, s___1);
    color_fprintf(s___1->fp, tmp___0, (char const   *)"%s", sign);
    fprintf(s___1->fp, (char const   *)" %s\n", one___0);
    strbuf_release(& onebuf);
  }
  return;
}
}
static void wt_shortstatus_print_tracking(struct wt_status *s___1 )
{
  struct branch *branch___0 ;
  char const   *header_color ;
  char const   *tmp ;
  char const   *branch_color_local ;
  char const   *tmp___0 ;
  char const   *branch_color_remote ;
  char const   *tmp___1 ;
  char const   *base ;
  char *short_base ;
  char const   *branch_name ;
  int num_ours ;
  int num_theirs ;
  int sti ;
  int upstream_is_gone ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const   *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  int tmp___21 ;

  {
  tmp = color(0, s___1);
  header_color = tmp;
  tmp___0 = color(6, s___1);
  branch_color_local = tmp___0;
  tmp___1 = color(7, s___1);
  branch_color_remote = tmp___1;
  upstream_is_gone = 0;
  tmp___2 = color(0, s___1);
  color_fprintf(s___1->fp, tmp___2, (char const   *)"## ");
  if (! s___1->branch) {
    return;
  }
  branch_name = (char const   *)s___1->branch;
  if (s___1->is_initial) {
    if (s___1->no_gettext) {
      tmp___4 = (char const __attribute__((__format_arg__(1)))  *)"No commits yet on ";
    } else {
      tmp___3 = _((char const   *)"No commits yet on ");
      tmp___4 = tmp___3;
    }
    color_fprintf(s___1->fp, header_color, (char const   *)tmp___4);
  }
  tmp___8 = strcmp((char const   *)s___1->branch, (char const   *)"HEAD");
  if (! tmp___8) {
    if (s___1->no_gettext) {
      tmp___6 = (char const __attribute__((__format_arg__(1)))  *)"HEAD (no branch)";
    } else {
      tmp___5 = _((char const   *)"HEAD (no branch)");
      tmp___6 = tmp___5;
    }
    tmp___7 = color(4, s___1);
    color_fprintf(s___1->fp, tmp___7, (char const   *)"%s", tmp___6);
    goto conclude;
  }
  skip_prefix(branch_name, (char const   *)"refs/heads/", & branch_name);
  branch___0 = branch_get(branch_name);
  color_fprintf(s___1->fp, branch_color_local, (char const   *)"%s", branch_name);
  sti = stat_tracking_info(branch___0, & num_ours, & num_theirs, & base, 0, s___1->ahead_behind_flags);
  if (sti < 0) {
    if (! base) {
      goto conclude;
    }
    upstream_is_gone = 1;
  }
  short_base = shorten_unambiguous_ref(base, 0);
  color_fprintf(s___1->fp, header_color, (char const   *)"...");
  color_fprintf(s___1->fp, branch_color_remote, (char const   *)"%s", short_base);
  free((void *)short_base);
  if (! upstream_is_gone) {
    if (! sti) {
      goto conclude;
    }
  }
  color_fprintf(s___1->fp, header_color, (char const   *)" [");
  if (upstream_is_gone) {
    if (s___1->no_gettext) {
      tmp___10 = (char const __attribute__((__format_arg__(1)))  *)"gone";
    } else {
      tmp___9 = _((char const   *)"gone");
      tmp___10 = tmp___9;
    }
    color_fprintf(s___1->fp, header_color, (char const   *)tmp___10);
  } else
  if ((int )s___1->ahead_behind_flags == 0) {
    if (s___1->no_gettext) {
      tmp___12 = (char const __attribute__((__format_arg__(1)))  *)"different";
    } else {
      tmp___11 = _((char const   *)"different");
      tmp___12 = tmp___11;
    }
    color_fprintf(s___1->fp, header_color, (char const   *)tmp___12);
  } else
  if (! num_ours) {
    if (s___1->no_gettext) {
      tmp___14 = (char const __attribute__((__format_arg__(1)))  *)"behind ";
    } else {
      tmp___13 = _((char const   *)"behind ");
      tmp___14 = tmp___13;
    }
    color_fprintf(s___1->fp, header_color, (char const   *)tmp___14);
    color_fprintf(s___1->fp, branch_color_remote, (char const   *)"%d", num_theirs);
  } else
  if (! num_theirs) {
    if (s___1->no_gettext) {
      tmp___16 = (char const __attribute__((__format_arg__(1)))  *)"ahead ";
    } else {
      tmp___15 = _((char const   *)"ahead ");
      tmp___16 = tmp___15;
    }
    color_fprintf(s___1->fp, header_color, (char const   *)tmp___16);
    color_fprintf(s___1->fp, branch_color_local, (char const   *)"%d", num_ours);
  } else {
    if (s___1->no_gettext) {
      tmp___18 = (char const __attribute__((__format_arg__(1)))  *)"ahead ";
    } else {
      tmp___17 = _((char const   *)"ahead ");
      tmp___18 = tmp___17;
    }
    color_fprintf(s___1->fp, header_color, (char const   *)tmp___18);
    color_fprintf(s___1->fp, branch_color_local, (char const   *)"%d", num_ours);
    if (s___1->no_gettext) {
      tmp___20 = (char const __attribute__((__format_arg__(1)))  *)"behind ";
    } else {
      tmp___19 = _((char const   *)"behind ");
      tmp___20 = tmp___19;
    }
    color_fprintf(s___1->fp, header_color, (char const   *)", %s", tmp___20);
    color_fprintf(s___1->fp, branch_color_remote, (char const   *)"%d", num_theirs);
  }
  color_fprintf(s___1->fp, header_color, (char const   *)"]");
  conclude:
  if (s___1->null_termination) {
    tmp___21 = '\000';
  } else {
    tmp___21 = '\n';
  }
  fputc(tmp___21, s___1->fp);
  return;
}
}
static void wt_shortstatus_print(struct wt_status *s___1 )
{
  struct string_list_item *it ;
  struct wt_status_change_data *d ;

  {
  if (s___1->show_branch) {
    wt_shortstatus_print_tracking(s___1);
  }
  it = s___1->change.items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (it) {
      if (! ((unsigned long )it < (unsigned long )(s___1->change.items + s___1->change.nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    d = (struct wt_status_change_data *)it->util;
    if (d->stagemask) {
      wt_shortstatus_unmerged(it, s___1);
    } else {
      wt_shortstatus_status(it, s___1);
    }
    it ++;
  }
  while_break: /* CIL Label */ ;
  }
  it = s___1->untracked.items;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (it) {
      if (! ((unsigned long )it < (unsigned long )(s___1->untracked.items + s___1->untracked.nr))) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    wt_shortstatus_other(it, s___1, (char const   *)"??");
    it ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  it = s___1->ignored.items;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (it) {
      if (! ((unsigned long )it < (unsigned long )(s___1->ignored.items + s___1->ignored.nr))) {
        goto while_break___1;
      }
    } else {
      goto while_break___1;
    }
    wt_shortstatus_other(it, s___1, (char const   *)"!!");
    it ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  return;
}
}
static void wt_porcelain_print(struct wt_status *s___1 )
{


  {
  s___1->use_color = 0;
  s___1->relative_paths = 0;
  s___1->prefix = (char const   *)((void *)0);
  s___1->no_gettext = 1;
  wt_shortstatus_print(s___1);
  return;
}
}
static void wt_porcelain_v2_print_tracking(struct wt_status *s___1 )
{
  struct branch *branch___0 ;
  char const   *base ;
  char const   *branch_name ;
  int ab_info ;
  int nr_ahead ;
  int nr_behind ;
  char eol ;
  int tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;

  {
  if (s___1->null_termination) {
    tmp = '\000';
  } else {
    tmp = '\n';
  }
  eol = (char )tmp;
  if (s___1->is_initial) {
    tmp___1 = "(initial)";
  } else {
    tmp___0 = oid_to_hex((struct object_id  const  *)(& s___1->oid_commit));
    tmp___1 = tmp___0;
  }
  fprintf(s___1->fp, (char const   *)"# branch.oid %s%c", tmp___1, (int )eol);
  if (! s___1->branch) {
    fprintf(s___1->fp, (char const   *)"# branch.head %s%c", "(unknown)", (int )eol);
  } else {
    tmp___2 = strcmp((char const   *)s___1->branch, (char const   *)"HEAD");
    if (tmp___2) {
      branch_name = (char const   *)((void *)0);
      skip_prefix((char const   *)s___1->branch, (char const   *)"refs/heads/", & branch_name);
      fprintf(s___1->fp, (char const   *)"# branch.head %s%c", branch_name, (int )eol);
    } else {
      fprintf(s___1->fp, (char const   *)"# branch.head %s%c", "(detached)", (int )eol);
      if (s___1->state.rebase_in_progress) {
        branch_name = (char const   *)s___1->state.onto;
      } else
      if (s___1->state.rebase_interactive_in_progress) {
        branch_name = (char const   *)s___1->state.onto;
      } else
      if (s___1->state.detached_from) {
        branch_name = (char const   *)s___1->state.detached_from;
      } else {
        branch_name = (char const   *)"";
      }
    }
    branch___0 = branch_get(branch_name);
    base = (char const   *)((void *)0);
    ab_info = stat_tracking_info(branch___0, & nr_ahead, & nr_behind, & base, 0, s___1->ahead_behind_flags);
    if (base) {
      tmp___3 = shorten_unambiguous_ref(base, 0);
      base = (char const   *)tmp___3;
      fprintf(s___1->fp, (char const   *)"# branch.upstream %s%c", base, (int )eol);
      free((void *)((char *)base));
      if (ab_info > 0) {
        if (nr_ahead) {
          fprintf(s___1->fp, (char const   *)"# branch.ab +%d -%d%c", nr_ahead, nr_behind,
                  (int )eol);
        } else
        if (nr_behind) {
          fprintf(s___1->fp, (char const   *)"# branch.ab +%d -%d%c", nr_ahead, nr_behind,
                  (int )eol);
        } else {
          fprintf(s___1->fp, (char const   *)"# branch.ab +? -?%c", (int )eol);
        }
      } else
      if (! ab_info) {
        fprintf(s___1->fp, (char const   *)"# branch.ab +0 -0%c", (int )eol);
      }
    }
  }
  return;
}
}
static void wt_porcelain_v2_print_stash(struct wt_status *s___1 )
{
  int stash_count ;
  int tmp ;
  char eol ;
  int tmp___0 ;

  {
  tmp = count_stash_entries();
  stash_count = tmp;
  if (s___1->null_termination) {
    tmp___0 = '\000';
  } else {
    tmp___0 = '\n';
  }
  eol = (char )tmp___0;
  if (stash_count > 0) {
    fprintf(s___1->fp, (char const   *)"# stash %d%c", stash_count, (int )eol);
  }
  return;
}
}
static void wt_porcelain_v2_submodule_state(struct wt_status_change_data *d , char *sub )
{


  {
  if ((d->mode_head & 0170000) == 0160000) {
    goto _L;
  } else
  if ((d->mode_index & 0170000) == 0160000) {
    goto _L;
  } else
  if ((d->mode_worktree & 0170000) == 0160000) {
    _L: /* CIL Label */
    *(sub + 0) = (char )'S';
    if (d->new_submodule_commits) {
      *(sub + 1) = (char )'C';
    } else {
      *(sub + 1) = (char )'.';
    }
    if (d->dirty_submodule & 2U) {
      *(sub + 2) = (char )'M';
    } else {
      *(sub + 2) = (char )'.';
    }
    if (d->dirty_submodule & 1U) {
      *(sub + 3) = (char )'U';
    } else {
      *(sub + 3) = (char )'.';
    }
  } else {
    *(sub + 0) = (char )'N';
    *(sub + 1) = (char )'.';
    *(sub + 2) = (char )'.';
    *(sub + 3) = (char )'.';
  }
  *(sub + 4) = (char)0;
  return;
}
}
static void wt_porcelain_v2_fix_up_changed(struct string_list_item *it )
{
  struct wt_status_change_data *d ;

  {
  d = (struct wt_status_change_data *)it->util;
  if (! d->index_status) {
    assert(d->mode_head == 0);
    d->mode_head = d->mode_index;
    oidcpy(& d->oid_head, (struct object_id  const  *)(& d->oid_index));
  }
  if (! d->worktree_status) {
    assert(d->mode_worktree == 0);
    d->mode_worktree = d->mode_index;
  }
  return;
}
}
static void wt_porcelain_v2_print_changed_entry(struct string_list_item *it , struct wt_status *s___1 )
{
  struct wt_status_change_data *d ;
  struct strbuf buf___19 ;
  struct strbuf buf_from ;
  char const   *path___6 ;
  char const   *path_from ;
  char key___1[3] ;
  char submodule_token[5] ;
  char sep_char ;
  char eol_char ;
  char *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;

  {
  d = (struct wt_status_change_data *)it->util;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  buf_from.alloc = 0UL;
  buf_from.len = 0UL;
  buf_from.buf = strbuf_slopbuf;
  path___6 = (char const   *)((void *)0);
  path_from = (char const   *)((void *)0);
  wt_porcelain_v2_fix_up_changed(it);
  wt_porcelain_v2_submodule_state(d, (char *)(submodule_token));
  if (d->index_status) {
    key___1[0] = (char )d->index_status;
  } else {
    key___1[0] = (char )'.';
  }
  if (d->worktree_status) {
    key___1[1] = (char )d->worktree_status;
  } else {
    key___1[1] = (char )'.';
  }
  key___1[2] = (char)0;
  if (s___1->null_termination) {
    sep_char = (char )'\000';
    eol_char = (char )'\000';
    path___6 = (char const   *)it->string;
    path_from = (char const   *)d->rename_source;
  } else {
    sep_char = (char )'\t';
    eol_char = (char )'\n';
    tmp = quote_path((char const   *)it->string, s___1->prefix, & buf___19, 0U);
    path___6 = (char const   *)tmp;
    if (d->rename_source) {
      tmp___0 = quote_path((char const   *)d->rename_source, s___1->prefix, & buf_from,
                           0U);
      path_from = (char const   *)tmp___0;
    }
  }
  if (path_from) {
    tmp___1 = oid_to_hex((struct object_id  const  *)(& d->oid_index));
    tmp___2 = oid_to_hex((struct object_id  const  *)(& d->oid_head));
    fprintf(s___1->fp, (char const   *)"2 %s %s %06o %06o %06o %s %s %c%d %s%c%s%c",
            key___1, submodule_token, d->mode_head, d->mode_index, d->mode_worktree,
            tmp___2, tmp___1, d->rename_status, d->rename_score, path___6, (int )sep_char,
            path_from, (int )eol_char);
  } else {
    tmp___3 = oid_to_hex((struct object_id  const  *)(& d->oid_index));
    tmp___4 = oid_to_hex((struct object_id  const  *)(& d->oid_head));
    fprintf(s___1->fp, (char const   *)"1 %s %s %06o %06o %06o %s %s %s%c", key___1,
            submodule_token, d->mode_head, d->mode_index, d->mode_worktree, tmp___4,
            tmp___3, path___6, (int )eol_char);
  }
  strbuf_release(& buf___19);
  strbuf_release(& buf_from);
  return;
}
}
static void wt_porcelain_v2_print_unmerged_entry(struct string_list_item *it , struct wt_status *s___1 )
{
  struct wt_status_change_data *d ;
  struct index_state *istate ;
  struct cache_entry  const  *ce ;
  struct strbuf buf_index ;
  char const   *path_index ;
  int pos ;
  int stage ;
  int sum ;
  struct __anonstruct_stages_901461778 stages[3] ;
  char *key___1 ;
  char submodule_token[5] ;
  char unmerged_prefix ;
  char eol_char ;
  int tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;
  char *tmp___5 ;
  char *tmp___6 ;

  {
  d = (struct wt_status_change_data *)it->util;
  istate = (s___1->repo)->index;
  buf_index.alloc = 0UL;
  buf_index.len = 0UL;
  buf_index.buf = strbuf_slopbuf;
  path_index = (char const   *)((void *)0);
  unmerged_prefix = (char )'u';
  if (s___1->null_termination) {
    tmp = '\000';
  } else {
    tmp = '\n';
  }
  eol_char = (char )tmp;
  wt_porcelain_v2_submodule_state(d, (char *)(submodule_token));
  {
  if (d->stagemask == 1) {
    goto case_1;
  }
  if (d->stagemask == 2) {
    goto case_2;
  }
  if (d->stagemask == 3) {
    goto case_3;
  }
  if (d->stagemask == 4) {
    goto case_4;
  }
  if (d->stagemask == 5) {
    goto case_5;
  }
  if (d->stagemask == 6) {
    goto case_6;
  }
  if (d->stagemask == 7) {
    goto case_7;
  }
  goto switch_default;
  case_1: /* CIL Label */
  key___1 = "DD";
  goto switch_break;
  case_2: /* CIL Label */
  key___1 = "AU";
  goto switch_break;
  case_3: /* CIL Label */
  key___1 = "UD";
  goto switch_break;
  case_4: /* CIL Label */
  key___1 = "UA";
  goto switch_break;
  case_5: /* CIL Label */
  key___1 = "DU";
  goto switch_break;
  case_6: /* CIL Label */
  key___1 = "AA";
  goto switch_break;
  case_7: /* CIL Label */
  key___1 = "UU";
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"wt-status.c", 2371, (char const   *)"unhandled unmerged status %x",
         d->stagemask);
  switch_break: /* CIL Label */ ;
  }
  memset((void *)(stages), 0, sizeof(stages));
  sum = 0;
  tmp___0 = strlen((char const   *)it->string);
  pos = index_name_pos(istate, (char const   *)it->string, (int )tmp___0);
  assert(pos < 0);
  pos = - pos - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )pos < istate->cache_nr)) {
      goto while_break;
    }
    tmp___1 = pos;
    pos ++;
    ce = (struct cache_entry  const  *)*(istate->cache + tmp___1);
    stage = (int )((12288U & ce->ce_flags) >> 12);
    tmp___2 = strcmp((char const   *)(ce->name), (char const   *)it->string);
    if (tmp___2) {
      goto while_break;
    } else
    if (! stage) {
      goto while_break;
    }
    stages[stage - 1].mode = (int )ce->ce_mode;
    oidcpy(& stages[stage - 1].oid, (struct object_id  const  *)(& ce->oid));
    sum |= 1 << (stage - 1);
  }
  while_break: /* CIL Label */ ;
  }
  if (sum != d->stagemask) {
    BUG_fl((char const   *)"wt-status.c", 2398, (char const   *)"observed stagemask 0x%x != expected stagemask 0x%x",
           sum, d->stagemask);
  }
  if (s___1->null_termination) {
    path_index = (char const   *)it->string;
  } else {
    tmp___3 = quote_path((char const   *)it->string, s___1->prefix, & buf_index, 0U);
    path_index = (char const   *)tmp___3;
  }
  tmp___4 = oid_to_hex((struct object_id  const  *)(& stages[2].oid));
  tmp___5 = oid_to_hex((struct object_id  const  *)(& stages[1].oid));
  tmp___6 = oid_to_hex((struct object_id  const  *)(& stages[0].oid));
  fprintf(s___1->fp, (char const   *)"%c %s %s %06o %06o %06o %06o %s %s %s %s%c",
          (int )unmerged_prefix, key___1, submodule_token, stages[0].mode, stages[1].mode,
          stages[2].mode, d->mode_worktree, tmp___6, tmp___5, tmp___4, path_index,
          (int )eol_char);
  strbuf_release(& buf_index);
  return;
}
}
static void wt_porcelain_v2_print_other(struct string_list_item *it , struct wt_status *s___1 ,
                                        char prefix___1 )
{
  struct strbuf buf___19 ;
  char const   *path___6 ;
  char eol_char ;
  char *tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (s___1->null_termination) {
    path___6 = (char const   *)it->string;
    eol_char = (char )'\000';
  } else {
    tmp = quote_path((char const   *)it->string, s___1->prefix, & buf___19, 0U);
    path___6 = (char const   *)tmp;
    eol_char = (char )'\n';
  }
  fprintf(s___1->fp, (char const   *)"%c %s%c", (int )prefix___1, path___6, (int )eol_char);
  strbuf_release(& buf___19);
  return;
}
}
static void wt_porcelain_v2_print(struct wt_status *s___1 )
{
  struct wt_status_change_data *d ;
  struct string_list_item *it ;
  int i ;

  {
  if (s___1->show_branch) {
    wt_porcelain_v2_print_tracking(s___1);
  }
  if (s___1->show_stash) {
    wt_porcelain_v2_print_stash(s___1);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < s___1->change.nr)) {
      goto while_break;
    }
    it = s___1->change.items + i;
    d = (struct wt_status_change_data *)it->util;
    if (! d->stagemask) {
      wt_porcelain_v2_print_changed_entry(it, s___1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < s___1->change.nr)) {
      goto while_break___0;
    }
    it = s___1->change.items + i;
    d = (struct wt_status_change_data *)it->util;
    if (d->stagemask) {
      wt_porcelain_v2_print_unmerged_entry(it, s___1);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned int )i < s___1->untracked.nr)) {
      goto while_break___1;
    }
    it = s___1->untracked.items + i;
    wt_porcelain_v2_print_other(it, s___1, (char )'?');
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((unsigned int )i < s___1->ignored.nr)) {
      goto while_break___2;
    }
    it = s___1->ignored.items + i;
    wt_porcelain_v2_print_other(it, s___1, (char )'!');
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  return;
}
}
void wt_status_print(struct wt_status *s___1 )
{


  {
  trace2_data_intmax_fl((char const   *)"wt-status.c", 2494, (char const   *)"status",
                        (struct repository  const  *)s___1->repo, (char const   *)"count/changed",
                        (intmax_t )s___1->change.nr);
  trace2_data_intmax_fl((char const   *)"wt-status.c", 2496, (char const   *)"status",
                        (struct repository  const  *)s___1->repo, (char const   *)"count/untracked",
                        (intmax_t )s___1->untracked.nr);
  trace2_data_intmax_fl((char const   *)"wt-status.c", 2497, (char const   *)"status",
                        (struct repository  const  *)s___1->repo, (char const   *)"count/ignored",
                        (intmax_t )s___1->ignored.nr);
  trace2_region_enter_fl((char const   *)"wt-status.c", 2499, (char const   *)"status",
                         (char const   *)"print", (struct repository  const  *)s___1->repo);
  {
  if ((unsigned int )s___1->status_format == 2U) {
    goto case_2;
  }
  if ((unsigned int )s___1->status_format == 3U) {
    goto case_3;
  }
  if ((unsigned int )s___1->status_format == 4U) {
    goto case_4;
  }
  if ((unsigned int )s___1->status_format == 5U) {
    goto case_5;
  }
  if ((unsigned int )s___1->status_format == 1U) {
    goto case_1;
  }
  if ((unsigned int )s___1->status_format == 0U) {
    goto case_1;
  }
  goto switch_break;
  case_2: /* CIL Label */
  wt_shortstatus_print(s___1);
  goto switch_break;
  case_3: /* CIL Label */
  wt_porcelain_print(s___1);
  goto switch_break;
  case_4: /* CIL Label */
  wt_porcelain_v2_print(s___1);
  goto switch_break;
  case_5: /* CIL Label */
  BUG_fl((char const   *)"wt-status.c", 2512, (char const   *)"finalize_deferred_config() should have been called");
  goto switch_break;
  case_1: /* CIL Label */
  case_0: /* CIL Label */
  wt_longstatus_print(s___1);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  trace2_region_leave_fl((char const   *)"wt-status.c", 2520, (char const   *)"status",
                         (char const   *)"print", (struct repository  const  *)s___1->repo);
  return;
}
}
int has_unstaged_changes(struct repository *r , int ignore_submodules )
{
  struct rev_info rev_info ;
  int result___0 ;
  int tmp ;

  {
  repo_init_revisions(r, & rev_info, (char const   *)((void *)0));
  if (ignore_submodules) {
    rev_info.diffopt.flags.ignore_submodules = 1U;
    rev_info.diffopt.flags.override_submodule_config = 1U;
  }
  rev_info.diffopt.flags.quick = 1U;
  diff_setup_done(& rev_info.diffopt);
  result___0 = run_diff_files(& rev_info, 0U);
  tmp = diff_result_code(& rev_info.diffopt, result___0);
  return (tmp);
}
}
int has_uncommitted_changes(struct repository *r , int ignore_submodules )
{
  struct rev_info rev_info ;
  int result___0 ;
  int tmp ;
  struct tree *tree ;
  struct tree *tmp___0 ;
  int tmp___1 ;

  {
  tmp = is_index_unborn(r->index);
  if (tmp) {
    return (0);
  }
  repo_init_revisions(r, & rev_info, (char const   *)((void *)0));
  if (ignore_submodules) {
    rev_info.diffopt.flags.ignore_submodules = 1U;
  }
  rev_info.diffopt.flags.quick = 1U;
  add_head_to_pending(& rev_info);
  if (! rev_info.pending.nr) {
    tmp___0 = lookup_tree(r, (struct object_id  const  *)(the_repository->hash_algo)->empty_tree);
    tree = tmp___0;
    add_pending_object(& rev_info, & tree->object, (char const   *)"");
  }
  diff_setup_done(& rev_info.diffopt);
  result___0 = run_diff_index(& rev_info, 1U);
  object_array_clear(& rev_info.pending);
  tmp___1 = diff_result_code(& rev_info.diffopt, result___0);
  return (tmp___1);
}
}
int require_clean_work_tree(struct repository *r , char const   *action , char const   *hint ,
                            int ignore_submodules , int gently )
{
  struct lock_file lock_file___0 ;
  int err___4 ;
  int fd ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  lock_file___0.tempfile = (struct tempfile *)0;
  err___4 = 0;
  fd = repo_hold_locked_index(r, & lock_file___0, 0);
  refresh_index(r->index, (unsigned int )(1 << 2), (struct pathspec  const  *)((void *)0),
                (char *)((void *)0), (char const   *)((void *)0));
  if (0 <= fd) {
    repo_update_index_if_able(r, & lock_file___0);
  }
  rollback_lock_file(& lock_file___0);
  tmp___1 = has_unstaged_changes(r, ignore_submodules);
  if (tmp___1) {
    tmp = _(action);
    tmp___0 = _((char const   *)"cannot %s: You have unstaged changes.");
    error((char const   *)tmp___0, tmp);
    const_error();
    err___4 = 1;
  }
  tmp___5 = has_uncommitted_changes(r, ignore_submodules);
  if (tmp___5) {
    if (err___4) {
      tmp___2 = _((char const   *)"additionally, your index contains uncommitted changes.");
      error((char const   *)tmp___2);
      const_error();
    } else {
      tmp___3 = _(action);
      tmp___4 = _((char const   *)"cannot %s: Your index contains uncommitted changes.");
      error((char const   *)tmp___4, tmp___3);
      const_error();
    }
    err___4 = 1;
  }
  if (err___4) {
    if (hint) {
      error((char const   *)"%s", hint);
      const_error();
    }
    if (! gently) {
      tmp___6 = trace2_cmd_exit_fl((char const   *)"wt-status.c", 2613, 128);
      exit(tmp___6);
    }
  }
  return (err___4);
}
}
static double const   __ac_HASH_UPPER___101  =    (double const   )0.77;
__inline static void kh_resize_oid_set___101(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___101(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___101 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___101 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___101(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___101(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___101(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___101(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___101(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___101(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___101 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___101 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___101(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___101(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___101(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___101(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___101(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___101(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___101 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___101 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___101(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___101(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___101(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___101(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___77(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___77(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___101 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___101 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___77(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___77(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___77(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___77(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
int xdl_recs_cmp(diffdata_t *dd1 , long off1 , long lim1 , diffdata_t *dd2 , long off2 ,
                 long lim2 , long *kvdf , long *kvdb , int need_min , xdalgoenv_t *xenv ) ;
int xdl_do_diff(mmfile_t *mf1 , mmfile_t *mf2 , xpparam_t const   *xpp , xdfenv_t *xe ) ;
int xdl_change_compact(xdfile_t *xdf , xdfile_t *xdfo , long flags___0 ) ;
int xdl_build_script(xdfenv_t *xe , xdchange_t **xscr ) ;
void xdl_free_script(xdchange_t *xscr ) ;
int xdl_emit_diff(xdfenv_t *xe , xdchange_t *xscr , xdemitcb_t *ecb , xdemitconf_t const   *xecfg ) ;
int xdl_do_patience_diff(mmfile_t *file1 , mmfile_t *file2 , xpparam_t const   *xpp ,
                         xdfenv_t *env ) ;
int xdl_do_histogram_diff(mmfile_t *file1 , mmfile_t *file2 , xpparam_t const   *xpp ,
                          xdfenv_t *env ) ;
xdchange_t *xdl_get_hunk(xdchange_t **xscr , xdemitconf_t const   *xecfg ) ;
long xdl_bogosqrt(long n ) ;
int xdl_emit_diffrec(char const   *rec , long size , char const   *pre , long psize ,
                     xdemitcb_t *ecb ) ;
int xdl_cha_init(chastore_t *cha , long isize , long icount ) ;
void xdl_cha_free(chastore_t *cha ) ;
void *xdl_cha_alloc(chastore_t *cha ) ;
long xdl_guess_lines(mmfile_t *mf , long sample ) ;
int xdl_blankline(char const   *line___0 , long size , long flags___0 ) ;
int xdl_recmatch(char const   *l1 , long s1 , char const   *l2 , long s2 , long flags___0 ) ;
unsigned long xdl_hash_record(char const   **data , char const   *top , long flags___0 ) ;
unsigned int xdl_hashbits(unsigned int size ) ;
int xdl_num_out(char *out , long val ) ;
int xdl_emit_hunk_hdr(long s1 , long c1 , long s2 , long c2 , char const   *func ,
                      long funclen , xdemitcb_t *ecb ) ;
int xdl_fall_back_diff(xdfenv_t *diff_env , xpparam_t const   *xpp , int line1 , int count1 ,
                       int line2 , int count2 ) ;
static int xdiff_out_hunk(void *priv_ , long old_begin , long old_nr , long new_begin ,
                          long new_nr , char const   *func , long funclen )
{
  struct xdiff_emit_state *priv ;

  {
  priv = (struct xdiff_emit_state *)priv_;
  if (priv->remainder.len) {
    BUG_fl((char const   *)"xdiff-interface.c", 26, (char const   *)"xdiff emitted hunk in the middle of a line");
  }
  (*(priv->hunk_fn))(priv->consume_callback_data, old_begin, old_nr, new_begin, new_nr,
                     func, funclen);
  return (0);
}
}
static int consume_one(void *priv_ , char *s___1 , unsigned long size )
{
  struct xdiff_emit_state *priv ;
  char *ep ;
  unsigned long this_size ;
  int ret___67 ;
  void *tmp ;

  {
  priv = (struct xdiff_emit_state *)priv_;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! size) {
      goto while_break;
    }
    tmp = memchr((void const   *)s___1, '\n', size);
    ep = (char *)tmp;
    if ((unsigned long )ep == (unsigned long )((void *)0)) {
      this_size = size;
    } else {
      this_size = (unsigned long )((ep - s___1) + 1L);
    }
    ret___67 = (*(priv->line_fn))(priv->consume_callback_data, s___1, this_size);
    if (ret___67) {
      return (ret___67);
    }
    size -= this_size;
    s___1 += this_size;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int xdiff_outf(void *priv_ , mmbuffer_t *mb , int nbuf )
{
  struct xdiff_emit_state *priv ;
  int i ;
  int stop ;

  {
  priv = (struct xdiff_emit_state *)priv_;
  stop = 0;
  if (! priv->line_fn) {
    return (0);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nbuf)) {
      goto while_break;
    }
    if (stop) {
      return (1);
    }
    if ((int )*((mb + i)->ptr + ((mb + i)->size - 1L)) != 10) {
      strbuf_add(& priv->remainder, (void const   *)(mb + i)->ptr, (size_t )(mb + i)->size);
      goto __Cont;
    }
    if (! priv->remainder.len) {
      stop = consume_one((void *)priv, (mb + i)->ptr, (unsigned long )(mb + i)->size);
      goto __Cont;
    }
    strbuf_add(& priv->remainder, (void const   *)(mb + i)->ptr, (size_t )(mb + i)->size);
    stop = consume_one((void *)priv, priv->remainder.buf, priv->remainder.len);
    strbuf_setlen(& priv->remainder, (size_t )0);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (stop) {
    return (-1);
  }
  if (priv->remainder.len) {
    stop = consume_one((void *)priv, priv->remainder.buf, priv->remainder.len);
    strbuf_setlen(& priv->remainder, (size_t )0);
  }
  if (stop) {
    return (-1);
  }
  return (0);
}
}
static void trim_common_tail(mmfile_t *a , mmfile_t *b___0 )
{
  int blk ;
  long trimmed ;
  long recovered ;
  char *ap ;
  char *tmp ;
  char *bp ;
  char *tmp___0 ;
  long smaller ;
  long tmp___1 ;
  int tmp___2 ;
  long tmp___3 ;

  {
  blk = (int )1024;
  trimmed = 0L;
  recovered = 0L;
  if (a->size) {
    tmp = a->ptr + a->size;
  } else {
    tmp = a->ptr;
  }
  ap = tmp;
  if (b___0->size) {
    tmp___0 = b___0->ptr + b___0->size;
  } else {
    tmp___0 = b___0->ptr;
  }
  bp = tmp___0;
  if (a->size < b___0->size) {
    tmp___1 = a->size;
  } else {
    tmp___1 = b___0->size;
  }
  smaller = tmp___1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((long )blk + trimmed <= smaller) {
      tmp___2 = memcmp((void const   *)(ap - blk), (void const   *)(bp - blk), (size_t )blk);
      if (tmp___2) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    trimmed += (long )blk;
    ap -= blk;
    bp -= blk;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (recovered < trimmed)) {
      goto while_break___0;
    }
    tmp___3 = recovered;
    recovered ++;
    if ((int )*(ap + tmp___3) == 10) {
      goto while_break___0;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  a->size -= trimmed - recovered;
  b___0->size -= trimmed - recovered;
  return;
}
}
int xdi_diff(mmfile_t *mf1 , mmfile_t *mf2 , xpparam_t const   *xpp , xdemitconf_t const   *xecfg ,
             xdemitcb_t *xecb )
{
  mmfile_t a ;
  mmfile_t b___0 ;
  int tmp ;

  {
  a = *mf1;
  b___0 = *mf2;
  if ((unsigned long )mf1->size > 1072693248UL) {
    return (-1);
  } else
  if ((unsigned long )mf2->size > 1072693248UL) {
    return (-1);
  }
  if (! xecfg->ctxlen) {
    if (! (xecfg->flags & (unsigned long )(1 << 2))) {
      trim_common_tail(& a, & b___0);
    }
  }
  tmp = xdl_diff(& a, & b___0, xpp, xecfg, xecb);
  return (tmp);
}
}
int xdi_diff_outf(mmfile_t *mf1 , mmfile_t *mf2 , void (*hunk_fn)(void *data , long old_begin ,
                                                                  long old_nr , long new_begin ,
                                                                  long new_nr , char const   *func ,
                                                                  long funclen ) ,
                  int (*line_fn)(void * , char * , unsigned long  ) , void *consume_callback_data ,
                  xpparam_t const   *xpp , xdemitconf_t const   *xecfg )
{
  int ret___67 ;
  struct xdiff_emit_state state___1 ;
  xdemitcb_t ecb ;

  {
  memset((void *)(& state___1), 0, sizeof(state___1));
  state___1.hunk_fn = hunk_fn;
  state___1.line_fn = line_fn;
  state___1.consume_callback_data = consume_callback_data;
  memset((void *)(& ecb), 0, sizeof(ecb));
  if (hunk_fn) {
    ecb.out_hunk = & xdiff_out_hunk;
  }
  ecb.out_line = & xdiff_outf;
  ecb.priv = (void *)(& state___1);
  strbuf_init(& state___1.remainder, (size_t )0);
  ret___67 = xdi_diff(mf1, mf2, xpp, xecfg, & ecb);
  strbuf_release(& state___1.remainder);
  return (ret___67);
}
}
int read_mmfile(mmfile_t *ptr , char const   *filename___0 )
{
  struct stat st ;
  FILE *f ;
  size_t sz ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;
  int tmp___4 ;
  size_t tmp___5 ;

  {
  tmp___0 = stat(filename___0, & st);
  if (tmp___0) {
    error_errno((char const   *)"Could not stat %s", filename___0);
    tmp = const_error();
    return (tmp);
  }
  f = git_fopen(filename___0, (char const   *)"rb");
  if ((unsigned long )f == (unsigned long )((void *)0)) {
    error_errno((char const   *)"Could not open %s", filename___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  sz = xsize_t(st.st_size);
  if (sz) {
    tmp___2 = sz;
  } else {
    tmp___2 = (size_t )1;
  }
  tmp___3 = xmalloc(tmp___2);
  ptr->ptr = (char *)tmp___3;
  if (sz) {
    tmp___5 = fread((void *)ptr->ptr, sz, (size_t )1, f);
    if (tmp___5 != 1UL) {
      fclose(f);
      error((char const   *)"Could not read %s", filename___0);
      tmp___4 = const_error();
      return (tmp___4);
    }
  }
  fclose(f);
  ptr->size = (long )sz;
  return (0);
}
}
void read_mmblob(mmfile_t *ptr , struct object_id  const  *oid )
{
  unsigned long size ;
  enum object_type type___0 ;
  struct object_id  const  *tmp ;
  int tmp___0 ;
  void *tmp___1 ;
  char *tmp___2 ;

  {
  tmp = null_oid();
  tmp___0 = oideq(oid, tmp);
  if (tmp___0) {
    ptr->ptr = xstrdup((char const   *)"");
    ptr->size = 0L;
    return;
  }
  tmp___1 = repo_read_object_file(the_repository, oid, & type___0, & size);
  ptr->ptr = (char *)tmp___1;
  if (! ptr->ptr) {
    tmp___2 = oid_to_hex(oid);
    die((char const   *)"unable to read blob object %s", tmp___2);
  } else
  if ((int )type___0 != 3) {
    tmp___2 = oid_to_hex(oid);
    die((char const   *)"unable to read blob object %s", tmp___2);
  }
  ptr->size = (long )size;
  return;
}
}
int buffer_is_binary(char const   *ptr , unsigned long size )
{
  void *tmp ;
  int tmp___0 ;

  {
  if (8000UL < size) {
    size = 8000UL;
  }
  tmp = memchr((void const   *)ptr, 0, size);
  if (tmp) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static long ff_regexp(char const   *line___0 , long len___0 , char *buffer___5 , long buffer_size ,
                      void *priv )
{
  struct ff_regs *regs ;
  regmatch_t pmatch[2] ;
  int i ;
  int result___0 ;
  struct ff_reg *reg ;
  int tmp ;

  {
  regs = (struct ff_regs *)priv;
  if (len___0 > 0L) {
    if ((int const   )*(line___0 + (len___0 - 1L)) == 10) {
      if (len___0 > 1L) {
        if ((int const   )*(line___0 + (len___0 - 2L)) == 13) {
          len___0 -= 2L;
        } else {
          len___0 --;
        }
      } else {
        len___0 --;
      }
    }
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < regs->nr)) {
      goto while_break;
    }
    reg = regs->array + i;
    tmp = regexec_buf((regex_t const   *)(& reg->re), line___0, (size_t )len___0,
                      (size_t )2, pmatch, 0);
    if (! tmp) {
      if (reg->negate) {
        return (-1L);
      }
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (regs->nr <= i) {
    return (-1L);
  }
  if (pmatch[1].rm_so >= 0) {
    i = 1;
  } else {
    i = 0;
  }
  line___0 += pmatch[i].rm_so;
  result___0 = pmatch[i].rm_eo - pmatch[i].rm_so;
  if ((long )result___0 > buffer_size) {
    result___0 = (int )buffer_size;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (result___0 > 0) {
      if (! (((int const   )sane_ctype[(unsigned char )*(line___0 + (result___0 - 1))] & 1) != 0)) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    result___0 --;
  }
  while_break___0: /* CIL Label */ ;
  }
  memcpy((void *)buffer___5, (void const   *)line___0, (size_t )result___0);
  return ((long )result___0);
}
}
void xdiff_set_find_func(xdemitconf_t *xecfg , char const   *value , int cflags )
{
  int i ;
  struct ff_regs *regs ;
  void *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  struct ff_reg *reg ;
  char const   *ep ;
  char const   *expression ;
  char *buffer___5 ;
  char *tmp___2 ;
  int tmp___3 ;

  {
  xecfg->find_func = & ff_regexp;
  tmp = xmalloc(sizeof(struct ff_regs ));
  xecfg->find_func_priv = tmp;
  regs = (struct ff_regs *)tmp;
  i = 0;
  regs->nr = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(value + i)) {
      goto while_break;
    }
    if ((int const   )*(value + i) == 10) {
      (regs->nr) ++;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = st_mult(sizeof(*(regs->array)), (size_t )regs->nr);
  tmp___1 = xmalloc(tmp___0);
  regs->array = (struct ff_reg *)tmp___1;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < regs->nr)) {
      goto while_break___0;
    }
    reg = regs->array + i;
    buffer___5 = (char *)((void *)0);
    if (! value) {
      BUG_fl((char const   *)"xdiff-interface.c", 262, (char const   *)"mismatch between line count and parsing");
    }
    tmp___2 = strchr(value, '\n');
    ep = (char const   *)tmp___2;
    reg->negate = (int const   )*value == 33;
    if (reg->negate) {
      if (i == regs->nr - 1) {
        die((char const   *)"Last expression must not be negated: %s", value);
      }
    }
    if ((int const   )*value == 33) {
      value ++;
    }
    if (ep) {
      buffer___5 = xstrndup(value, (size_t )(ep - value));
      expression = (char const   *)buffer___5;
    } else {
      expression = value;
    }
    tmp___3 = regcomp((regex_t * __restrict  )(& reg->re), (char const   * __restrict  )expression,
                      cflags);
    if (tmp___3) {
      die((char const   *)"Invalid regexp to look for hunk header: %s", expression);
    }
    free((void *)buffer___5);
    if (ep) {
      value = ep + 1;
    } else {
      value = (char const   *)((void *)0);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
void xdiff_clear_find_func(xdemitconf_t *xecfg )
{
  int i ;
  struct ff_regs *regs ;

  {
  if (xecfg->find_func) {
    regs = (struct ff_regs *)xecfg->find_func_priv;
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < regs->nr)) {
        goto while_break;
      }
      regfree(& (regs->array + i)->re);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    free((void *)regs->array);
    free((void *)regs);
    xecfg->find_func = (long (*)(char const   *line , long line_len , char *buffer ,
                                 long buffer_size , void *priv ))((void *)0);
    xecfg->find_func_priv = (void *)0;
  }
  return;
}
}
unsigned long xdiff_hash_string(char const   *s___1 , size_t len___0 , long flags___0 )
{
  unsigned long tmp ;

  {
  tmp = xdl_hash_record(& s___1, s___1 + len___0, flags___0);
  return (tmp);
}
}
int xdiff_compare_lines(char const   *l1 , long s1 , char const   *l2 , long s2 ,
                        long flags___0 )
{
  int tmp ;

  {
  tmp = xdl_recmatch(l1, s1, l2, s2, flags___0);
  return (tmp);
}
}
int git_xmerge_style  =    -1;
int git_xmerge_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp___2 = strcmp(var, (char const   *)"merge.conflictstyle");
  if (! tmp___2) {
    if (! value) {
      die((char const   *)"\'%s\' is not a boolean", var);
    }
    tmp___1 = strcmp(value, (char const   *)"diff3");
    if (tmp___1) {
      tmp___0 = strcmp(value, (char const   *)"zdiff3");
      if (tmp___0) {
        tmp = strcmp(value, (char const   *)"merge");
        if (tmp) {
          die((char const   *)"unknown style \'%s\' given for \'%s\'", value, var);
        } else {
          git_xmerge_style = 0;
        }
      } else {
        git_xmerge_style = 2;
      }
    } else {
      git_xmerge_style = 1;
    }
    return (0);
  }
  tmp___3 = git_default_config(var, value, cb);
  return (tmp___3);
}
}
static char const   *zerr_to_string(int status )
{


  {
  {
  if (status == -4) {
    goto case_neg_4;
  }
  if (status == -6) {
    goto case_neg_6;
  }
  if (status == 2) {
    goto case_2;
  }
  if (status == -3) {
    goto case_neg_3;
  }
  if (status == -2) {
    goto case_neg_2;
  }
  goto switch_default;
  case_neg_4: /* CIL Label */
  return ((char const   *)"out of memory");
  case_neg_6: /* CIL Label */
  return ((char const   *)"wrong version");
  case_2: /* CIL Label */
  return ((char const   *)"needs dictionary");
  case_neg_3: /* CIL Label */
  return ((char const   *)"data stream error");
  case_neg_2: /* CIL Label */
  return ((char const   *)"stream consistency error");
  switch_default: /* CIL Label */
  return ((char const   *)"unknown error");
  switch_break: /* CIL Label */ ;
  }
}
}
__inline static uInt zlib_buf_cap(unsigned long len___0 )
{
  unsigned long tmp ;

  {
  if (1073741824UL < len___0) {
    tmp = 1073741824UL;
  } else {
    tmp = len___0;
  }
  return ((uInt )tmp);
}
}
static void zlib_pre_call(git_zstream *s___1 )
{


  {
  s___1->z.next_in = s___1->next_in;
  s___1->z.next_out = s___1->next_out;
  s___1->z.total_in = s___1->total_in;
  s___1->z.total_out = s___1->total_out;
  s___1->z.avail_in = zlib_buf_cap(s___1->avail_in);
  s___1->z.avail_out = zlib_buf_cap(s___1->avail_out);
  return;
}
}
static void zlib_post_call(git_zstream *s___1 )
{
  unsigned long bytes_consumed ;
  unsigned long bytes_produced ;

  {
  bytes_consumed = (unsigned long )(s___1->z.next_in - s___1->next_in);
  bytes_produced = (unsigned long )(s___1->z.next_out - s___1->next_out);
  if (s___1->z.total_out != s___1->total_out + bytes_produced) {
    BUG_fl((char const   *)"zlib.c", 55, (char const   *)"total_out mismatch");
  }
  if (s___1->z.total_in != s___1->total_in + bytes_consumed) {
    BUG_fl((char const   *)"zlib.c", 57, (char const   *)"total_in mismatch");
  }
  s___1->total_out = s___1->z.total_out;
  s___1->total_in = s___1->z.total_in;
  s___1->next_in = s___1->z.next_in;
  s___1->next_out = s___1->z.next_out;
  s___1->avail_in -= bytes_consumed;
  s___1->avail_out -= bytes_produced;
  return;
}
}
void git_inflate_init(git_zstream *strm )
{
  int status ;
  char *tmp ;
  char const   *tmp___0 ;

  {
  zlib_pre_call(strm);
  status = inflateInit_(& strm->z, (char const   *)"1.2.11", (int )sizeof(z_stream ));
  zlib_post_call(strm);
  if (status == 0) {
    return;
  }
  if (strm->z.msg) {
    tmp = strm->z.msg;
  } else {
    tmp = "no message";
  }
  tmp___0 = zerr_to_string(status);
  die((char const   *)"inflateInit: %s (%s)", tmp___0, tmp);
}
}
void git_inflate_init_gzip_only(git_zstream *strm )
{
  int windowBits ;
  int status ;
  char *tmp ;
  char const   *tmp___0 ;

  {
  windowBits = (int )31;
  zlib_pre_call(strm);
  status = inflateInit2_(& strm->z, (int )windowBits, (char const   *)"1.2.11", (int )sizeof(z_stream ));
  zlib_post_call(strm);
  if (status == 0) {
    return;
  }
  if (strm->z.msg) {
    tmp = strm->z.msg;
  } else {
    tmp = "no message";
  }
  tmp___0 = zerr_to_string(status);
  die((char const   *)"inflateInit2: %s (%s)", tmp___0, tmp);
}
}
void git_inflate_end(git_zstream *strm )
{
  int status ;
  char *tmp ;
  char const   *tmp___0 ;

  {
  zlib_pre_call(strm);
  status = inflateEnd(& strm->z);
  zlib_post_call(strm);
  if (status == 0) {
    return;
  }
  if (strm->z.msg) {
    tmp = strm->z.msg;
  } else {
    tmp = "no message";
  }
  tmp___0 = zerr_to_string(status);
  error((char const   *)"inflateEnd: %s (%s)", tmp___0, tmp);
  const_error();
  return;
}
}
int git_inflate(git_zstream *strm , int flush___1 )
{
  int status ;
  int tmp ;
  char *tmp___0 ;
  char const   *tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    zlib_pre_call(strm);
    if ((unsigned long )strm->z.avail_in != strm->avail_in) {
      tmp = 0;
    } else {
      tmp = flush___1;
    }
    status = inflate(& strm->z, tmp);
    if (status == -4) {
      die((char const   *)"inflate: out of memory");
    }
    zlib_post_call(strm);
    if (strm->avail_out) {
      if (! strm->z.avail_out) {
        if (status == 0) {
          goto __Cont;
        } else
        if (status == -5) {
          goto __Cont;
        }
      }
    }
    goto while_break;
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  {
  if (status == 1) {
    goto case_1;
  }
  if (status == 0) {
    goto case_1;
  }
  if (status == -5) {
    goto case_1;
  }
  goto switch_default;
  case_1: /* CIL Label */
  case_0: /* CIL Label */
  case_neg_5: /* CIL Label */
  return (status);
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  if (strm->z.msg) {
    tmp___0 = strm->z.msg;
  } else {
    tmp___0 = "no message";
  }
  tmp___1 = zerr_to_string(status);
  error((char const   *)"inflate: %s (%s)", tmp___1, tmp___0);
  const_error();
  return (status);
}
}
unsigned long git_deflate_bound(git_zstream *strm , unsigned long size )
{
  uLong tmp ;

  {
  tmp = deflateBound(& strm->z, size);
  return (tmp);
}
}
void git_deflate_init(git_zstream *strm , int level )
{
  int status ;
  char *tmp ;
  char const   *tmp___0 ;

  {
  memset((void *)strm, 0, sizeof(*strm));
  zlib_pre_call(strm);
  status = deflateInit_(& strm->z, level, (char const   *)"1.2.11", (int )sizeof(z_stream ));
  zlib_post_call(strm);
  if (status == 0) {
    return;
  }
  if (strm->z.msg) {
    tmp = strm->z.msg;
  } else {
    tmp = "no message";
  }
  tmp___0 = zerr_to_string(status);
  die((char const   *)"deflateInit: %s (%s)", tmp___0, tmp);
}
}
static void do_git_deflate_init(git_zstream *strm , int level , int windowBits )
{
  int status ;
  char *tmp ;
  char const   *tmp___0 ;

  {
  memset((void *)strm, 0, sizeof(*strm));
  zlib_pre_call(strm);
  status = deflateInit2_(& strm->z, level, 8, windowBits, 8, 0, (char const   *)"1.2.11",
                         (int )sizeof(z_stream ));
  zlib_post_call(strm);
  if (status == 0) {
    return;
  }
  if (strm->z.msg) {
    tmp = strm->z.msg;
  } else {
    tmp = "no message";
  }
  tmp___0 = zerr_to_string(status);
  die((char const   *)"deflateInit2: %s (%s)", tmp___0, tmp);
}
}
void git_deflate_init_gzip(git_zstream *strm , int level )
{


  {
  do_git_deflate_init(strm, level, 31);
  return;
}
}
void git_deflate_init_raw(git_zstream *strm , int level )
{


  {
  do_git_deflate_init(strm, level, -15);
  return;
}
}
int git_deflate_abort(git_zstream *strm )
{
  int status ;

  {
  zlib_pre_call(strm);
  status = deflateEnd(& strm->z);
  zlib_post_call(strm);
  return (status);
}
}
void git_deflate_end(git_zstream *strm )
{
  int status ;
  int tmp ;
  char *tmp___0 ;
  char const   *tmp___1 ;

  {
  tmp = git_deflate_abort(strm);
  status = tmp;
  if (status == 0) {
    return;
  }
  if (strm->z.msg) {
    tmp___0 = strm->z.msg;
  } else {
    tmp___0 = "no message";
  }
  tmp___1 = zerr_to_string(status);
  error((char const   *)"deflateEnd: %s (%s)", tmp___1, tmp___0);
  const_error();
  return;
}
}
int git_deflate_end_gently(git_zstream *strm )
{
  int status ;

  {
  zlib_pre_call(strm);
  status = deflateEnd(& strm->z);
  zlib_post_call(strm);
  return (status);
}
}
int git_deflate(git_zstream *strm , int flush___1 )
{
  int status ;
  int tmp ;
  char *tmp___0 ;
  char const   *tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    zlib_pre_call(strm);
    if ((unsigned long )strm->z.avail_in != strm->avail_in) {
      tmp = 0;
    } else {
      tmp = flush___1;
    }
    status = deflate(& strm->z, tmp);
    if (status == -4) {
      die((char const   *)"deflate: out of memory");
    }
    zlib_post_call(strm);
    if (strm->avail_out) {
      if (! strm->z.avail_out) {
        if (status == 0) {
          goto __Cont;
        } else
        if (status == -5) {
          goto __Cont;
        }
      }
    }
    goto while_break;
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  {
  if (status == 1) {
    goto case_1;
  }
  if (status == 0) {
    goto case_1;
  }
  if (status == -5) {
    goto case_1;
  }
  goto switch_default;
  case_1: /* CIL Label */
  case_0: /* CIL Label */
  case_neg_5: /* CIL Label */
  return (status);
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  if (strm->z.msg) {
    tmp___0 = strm->z.msg;
  } else {
    tmp___0 = "no message";
  }
  tmp___1 = zerr_to_string(status);
  error((char const   *)"deflate: %s (%s)", tmp___1, tmp___0);
  const_error();
  return (status);
}
}
int unix_stream_connect(char const   *path___6 , int disallow_chdir ) ;
int unix_stream_listen(char const   *path___6 , struct unix_stream_listen_opts  const  *opts___1 ) ;
static int chdir_len(char const   *orig , int len___0 )
{
  char *path___6 ;
  void *tmp ;
  int r ;
  int tmp___0 ;

  {
  tmp = xmemdupz((void const   *)orig, (size_t )len___0);
  path___6 = (char *)tmp;
  tmp___0 = chdir((char const   *)path___6);
  r = tmp___0;
  free((void *)path___6);
  return (r);
}
}
static void unix_sockaddr_cleanup(struct unix_sockaddr_context *ctx___0 )
{
  int tmp ;

  {
  if (! ctx___0->orig_dir) {
    return;
  }
  tmp = chdir((char const   *)ctx___0->orig_dir);
  if (tmp < 0) {
    die((char const   *)"unable to restore original working directory");
  }
  free((void *)ctx___0->orig_dir);
  return;
}
}
static int unix_sockaddr_init(struct sockaddr_un *sa , char const   *path___6 , struct unix_sockaddr_context *ctx___0 ,
                              int disallow_chdir )
{
  int size ;
  size_t tmp ;
  char const   *slash ;
  char const   *dir ;
  struct strbuf cwd___0 ;
  int *tmp___0 ;
  char *tmp___1 ;
  int *tmp___2 ;
  size_t tmp___3 ;
  int *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  tmp = strlen(path___6);
  size = (int )(tmp + 1UL);
  ctx___0->orig_dir = (char *)((void *)0);
  if ((unsigned long )size > sizeof(sa->sun_path)) {
    cwd___0.alloc = 0UL;
    cwd___0.len = 0UL;
    cwd___0.buf = strbuf_slopbuf;
    if (disallow_chdir) {
      tmp___0 = __errno_location();
      *tmp___0 = 36;
      return (-1);
    }
    tmp___1 = git_find_last_dir_sep(path___6);
    slash = (char const   *)tmp___1;
    if (! slash) {
      tmp___2 = __errno_location();
      *tmp___2 = 36;
      return (-1);
    }
    dir = path___6;
    path___6 = slash + 1;
    tmp___3 = strlen(path___6);
    size = (int )(tmp___3 + 1UL);
    if ((unsigned long )size > sizeof(sa->sun_path)) {
      tmp___4 = __errno_location();
      *tmp___4 = 36;
      return (-1);
    }
    tmp___5 = strbuf_getcwd(& cwd___0);
    if (tmp___5) {
      return (-1);
    }
    ctx___0->orig_dir = strbuf_detach(& cwd___0, (size_t *)((void *)0));
    tmp___6 = chdir_len(dir, (int )(slash - dir));
    if (tmp___6 < 0) {
      return (-1);
    }
  }
  memset((void *)sa, 0, sizeof(*sa));
  sa->sun_family = (sa_family_t )1;
  memcpy((void *)(sa->sun_path), (void const   *)path___6, (size_t )size);
  return (0);
}
}
int unix_stream_connect(char const   *path___6 , int disallow_chdir )
{
  int fd ;
  int saved_errno ;
  struct sockaddr_un sa ;
  struct unix_sockaddr_context ctx___0 ;
  int tmp ;
  int tmp___0 ;
  int *tmp___1 ;
  int *tmp___2 ;

  {
  fd = -1;
  tmp = unix_sockaddr_init(& sa, path___6, & ctx___0, disallow_chdir);
  if (tmp < 0) {
    return (-1);
  }
  fd = socket(1, 1, 0);
  if (fd < 0) {
    goto fail;
  }
  tmp___0 = connect(fd, (struct sockaddr  const  * __restrict  )((struct sockaddr *)(& sa)),
                    (socklen_t )sizeof(sa));
  if (tmp___0 < 0) {
    goto fail;
  }
  unix_sockaddr_cleanup(& ctx___0);
  return (fd);
  fail:
  tmp___1 = __errno_location();
  saved_errno = *tmp___1;
  if (fd != -1) {
    close(fd);
  }
  unix_sockaddr_cleanup(& ctx___0);
  tmp___2 = __errno_location();
  *tmp___2 = saved_errno;
  return (-1);
}
}
int unix_stream_listen(char const   *path___6 , struct unix_stream_listen_opts  const  *opts___1 )
{
  int fd ;
  int saved_errno ;
  int backlog ;
  struct sockaddr_un sa ;
  struct unix_sockaddr_context ctx___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int *tmp___2 ;
  int *tmp___3 ;

  {
  fd = -1;
  unlink(path___6);
  tmp = unix_sockaddr_init(& sa, path___6, & ctx___0, (int )opts___1->disallow_chdir);
  if (tmp < 0) {
    return (-1);
  }
  fd = socket(1, 1, 0);
  if (fd < 0) {
    goto fail;
  }
  tmp___0 = bind(fd, (struct sockaddr  const  * __restrict  )((struct sockaddr *)(& sa)),
                 (socklen_t )sizeof(sa));
  if (tmp___0 < 0) {
    goto fail;
  }
  backlog = (int )opts___1->listen_backlog_size;
  if (backlog <= 0) {
    backlog = 5;
  }
  tmp___1 = listen(fd, backlog);
  if (tmp___1 < 0) {
    goto fail;
  }
  unix_sockaddr_cleanup(& ctx___0);
  return (fd);
  fail:
  tmp___2 = __errno_location();
  saved_errno = *tmp___2;
  if (fd != -1) {
    close(fd);
  }
  unix_sockaddr_cleanup(& ctx___0);
  tmp___3 = __errno_location();
  *tmp___3 = saved_errno;
  return (-1);
}
}
int unix_ss_create(char const   *path___6 , struct unix_stream_listen_opts  const  *opts___1 ,
                   long timeout_ms___0 , struct unix_ss_socket **new_server_socket ) ;
void unix_ss_free(struct unix_ss_socket *server_socket ) ;
int unix_ss_was_stolen(struct unix_ss_socket *server_socket ) ;
static int is_another_server_alive(char const   *path___6 , struct unix_stream_listen_opts  const  *opts___1 )
{
  int fd ;
  int tmp ;

  {
  tmp = unix_stream_connect(path___6, (int )opts___1->disallow_chdir);
  fd = tmp;
  if (fd >= 0) {
    close(fd);
    return (1);
  }
  return (0);
}
}
int unix_ss_create(char const   *path___6 , struct unix_stream_listen_opts  const  *opts___1 ,
                   long timeout_ms___0 , struct unix_ss_socket **new_server_socket )
{
  struct lock_file lock___0 ;
  int fd_socket ;
  struct unix_ss_socket *server_socket ;
  int tmp ;
  int *tmp___0 ;
  int tmp___1 ;
  int saved_errno ;
  int *tmp___2 ;
  int *tmp___3 ;
  void *tmp___4 ;

  {
  lock___0.tempfile = (struct tempfile *)0;
  *new_server_socket = (struct unix_ss_socket *)((void *)0);
  if (timeout_ms___0 < 0L) {
    timeout_ms___0 = 100L;
  }
  tmp = hold_lock_file_for_update_timeout(& lock___0, path___6, 0, timeout_ms___0);
  if (tmp < 0) {
    return (-1);
  }
  tmp___1 = is_another_server_alive(path___6, opts___1);
  if (tmp___1) {
    rollback_lock_file(& lock___0);
    tmp___0 = __errno_location();
    *tmp___0 = 98;
    return (-2);
  }
  fd_socket = unix_stream_listen(path___6, opts___1);
  if (fd_socket < 0) {
    tmp___2 = __errno_location();
    saved_errno = *tmp___2;
    rollback_lock_file(& lock___0);
    tmp___3 = __errno_location();
    *tmp___3 = saved_errno;
    return (-1);
  }
  tmp___4 = xcalloc((size_t )1, sizeof(*server_socket));
  server_socket = (struct unix_ss_socket *)tmp___4;
  server_socket->path_socket = strdup(path___6);
  server_socket->fd_socket = fd_socket;
  lstat(path___6, & server_socket->st_socket);
  *new_server_socket = server_socket;
  rollback_lock_file(& lock___0);
  return (0);
}
}
void unix_ss_free(struct unix_ss_socket *server_socket )
{
  int tmp ;

  {
  if (! server_socket) {
    return;
  }
  if (server_socket->fd_socket >= 0) {
    tmp = unix_ss_was_stolen(server_socket);
    if (! tmp) {
      unlink((char const   *)server_socket->path_socket);
    }
    close(server_socket->fd_socket);
  }
  free((void *)server_socket->path_socket);
  free((void *)server_socket);
  return;
}
}
int unix_ss_was_stolen(struct unix_ss_socket *server_socket )
{
  struct stat st_now ;
  int tmp ;

  {
  if (! server_socket) {
    return (0);
  }
  tmp = lstat((char const   *)server_socket->path_socket, & st_now);
  if (tmp == -1) {
    return (1);
  }
  if (st_now.st_ino != server_socket->st_socket.st_ino) {
    return (1);
  }
  if (st_now.st_dev != server_socket->st_socket.st_dev) {
    return (1);
  }
  if (! ((st_now.st_mode & 61440U) == 49152U)) {
    return (1);
  }
  return (0);
}
}
enum ipc_active_state ipc_get_active_state(char const   *path___6 ) ;
enum ipc_active_state ipc_client_try_connect(char const   *path___6 , struct ipc_client_connect_options  const  *options ,
                                             struct ipc_client_connection **p_connection ) ;
void ipc_client_close_connection(struct ipc_client_connection *connection ) ;
int ipc_client_send_command_to_connection(struct ipc_client_connection *connection ,
                                          char const   *message___0 , size_t message_len ,
                                          struct strbuf *answer ) ;
int ipc_client_send_command(char const   *path___6 , struct ipc_client_connect_options  const  *options ,
                            char const   *message___0 , size_t message_len , struct strbuf *answer ) ;
int ipc_server_run_async(struct ipc_server_data **returned_server_data , char const   *path___6 ,
                         struct ipc_server_opts  const  *opts___1 , ipc_server_application_cb *application_cb ,
                         void *application_data ) ;
int ipc_server_stop_async(struct ipc_server_data *server_data ) ;
int ipc_server_await(struct ipc_server_data *server_data ) ;
void ipc_server_free(struct ipc_server_data *server_data ) ;
int ipc_server_run(char const   *path___6 , struct ipc_server_opts  const  *opts___1 ,
                   ipc_server_application_cb *application_cb , void *application_data ) ;
int ipc_server_run(char const   *path___6 , struct ipc_server_opts  const  *opts___1 ,
                   ipc_server_application_cb *application_cb , void *application_data )
{
  struct ipc_server_data *server_data ;
  int ret___67 ;

  {
  server_data = (struct ipc_server_data *)((void *)0);
  ret___67 = ipc_server_run_async(& server_data, path___6, opts___1, application_cb,
                                  application_data);
  if (ret___67) {
    return (ret___67);
  }
  ret___67 = ipc_server_await(server_data);
  ipc_server_free(server_data);
  return (ret___67);
}
}
enum ipc_active_state ipc_get_active_state(char const   *path___6 )
{
  enum ipc_active_state state___1 ;
  struct ipc_client_connect_options options ;
  struct stat st ;
  struct ipc_client_connection *connection_test ;
  int *tmp ;
  int tmp___0 ;

  {
  state___1 = (enum ipc_active_state )4;
  options.wait_if_busy = 0U;
  options.wait_if_not_found = 0U;
  options.uds_disallow_chdir = 0U;
  connection_test = (struct ipc_client_connection *)((void *)0);
  options.wait_if_busy = 0U;
  options.wait_if_not_found = 0U;
  tmp___0 = lstat(path___6, & st);
  if (tmp___0 == -1) {
    tmp = __errno_location();
    {
    if (*tmp == 20) {
      goto case_20;
    }
    if (*tmp == 2) {
      goto case_20;
    }
    goto switch_default;
    case_20: /* CIL Label */
    case_2: /* CIL Label */
    return ((enum ipc_active_state )1);
    switch_default: /* CIL Label */
    return ((enum ipc_active_state )2);
    switch_break: /* CIL Label */ ;
    }
  }
  if ((st.st_mode & 61440U) != 49152U) {
    return ((enum ipc_active_state )2);
  }
  state___1 = ipc_client_try_connect(path___6, (struct ipc_client_connect_options  const  *)(& options),
                                     & connection_test);
  ipc_client_close_connection(connection_test);
  return (state___1);
}
}
static enum ipc_active_state connect_to_server(char const   *path___6 , int timeout_ms___0 ,
                                               struct ipc_client_connect_options  const  *options ,
                                               int *pfd )
{
  int k ;
  int fd ;
  int tmp ;
  int *tmp___0 ;
  int *tmp___1 ;
  int *tmp___2 ;

  {
  *pfd = -1;
  k = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (k < timeout_ms___0)) {
      goto while_break;
    }
    tmp = unix_stream_connect(path___6, (int )options->uds_disallow_chdir);
    fd = tmp;
    if (fd != -1) {
      *pfd = fd;
      return ((enum ipc_active_state )0);
    }
    tmp___0 = __errno_location();
    if (*tmp___0 == 2) {
      if (! options->wait_if_not_found) {
        return ((enum ipc_active_state )3);
      }
      goto sleep_and_try_again;
    }
    tmp___1 = __errno_location();
    if (*tmp___1 == 110) {
      if (! options->wait_if_busy) {
        return ((enum ipc_active_state )1);
      }
      goto sleep_and_try_again;
    }
    tmp___2 = __errno_location();
    if (*tmp___2 == 111) {
      if (! options->wait_if_busy) {
        return ((enum ipc_active_state )1);
      }
      goto sleep_and_try_again;
    }
    return ((enum ipc_active_state )4);
    sleep_and_try_again:
    sleep_millisec(50);
    k += 50;
  }
  while_break: /* CIL Label */ ;
  }
  return ((enum ipc_active_state )1);
}
}
enum ipc_active_state ipc_client_try_connect(char const   *path___6 , struct ipc_client_connect_options  const  *options ,
                                             struct ipc_client_connection **p_connection )
{
  enum ipc_active_state state___1 ;
  int fd ;
  void *tmp ;

  {
  state___1 = (enum ipc_active_state )4;
  fd = -1;
  *p_connection = (struct ipc_client_connection *)((void *)0);
  trace2_region_enter_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c", 162,
                         (char const   *)"ipc-client", (char const   *)"try-connect",
                         (struct repository  const  *)((void *)0));
  trace2_data_string_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c", 163,
                        (char const   *)"ipc-client", (struct repository  const  *)((void *)0),
                        (char const   *)"try-connect/path", path___6);
  state___1 = connect_to_server(path___6, 1000, options, & fd);
  trace2_data_intmax_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c", 169,
                        (char const   *)"ipc-client", (struct repository  const  *)((void *)0),
                        (char const   *)"try-connect/state", (intmax_t )state___1);
  trace2_region_leave_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c", 170,
                         (char const   *)"ipc-client", (char const   *)"try-connect",
                         (struct repository  const  *)((void *)0));
  if ((unsigned int )state___1 == 0U) {
    tmp = xcalloc((size_t )1, sizeof(struct ipc_client_connection ));
    *p_connection = (struct ipc_client_connection *)tmp;
    (*p_connection)->fd = fd;
  }
  return (state___1);
}
}
void ipc_client_close_connection(struct ipc_client_connection *connection )
{


  {
  if (! connection) {
    return;
  }
  if (connection->fd != -1) {
    close(connection->fd);
  }
  free((void *)connection);
  return;
}
}
int ipc_client_send_command_to_connection(struct ipc_client_connection *connection ,
                                          char const   *message___0 , size_t message_len ,
                                          struct strbuf *answer )
{
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  ssize_t tmp___3 ;

  {
  ret___67 = 0;
  strbuf_setlen___33(answer, (size_t )0);
  trace2_region_enter_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c", 200,
                         (char const   *)"ipc-client", (char const   *)"send-command",
                         (struct repository  const  *)((void *)0));
  tmp___0 = write_packetized_from_buf_no_flush(message___0, message_len, connection->fd);
  if (tmp___0 < 0) {
    tmp = _((char const   *)"could not send IPC command");
    error((char const   *)tmp);
    ret___67 = const_error();
    goto done;
  } else {
    tmp___1 = packet_flush_gently(connection->fd);
    if (tmp___1 < 0) {
      tmp = _((char const   *)"could not send IPC command");
      error((char const   *)tmp);
      ret___67 = const_error();
      goto done;
    }
  }
  tmp___3 = read_packetized_to_strbuf(connection->fd, answer, (int )(1u | (1u << 3)));
  if (tmp___3 < 0L) {
    tmp___2 = _((char const   *)"could not read IPC response");
    error((char const   *)tmp___2);
    ret___67 = const_error();
    goto done;
  }
  done:
  trace2_region_leave_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c", 217,
                         (char const   *)"ipc-client", (char const   *)"send-command",
                         (struct repository  const  *)((void *)0));
  return (ret___67);
}
}
int ipc_client_send_command(char const   *path___6 , struct ipc_client_connect_options  const  *options ,
                            char const   *message___0 , size_t message_len , struct strbuf *answer )
{
  int ret___67 ;
  enum ipc_active_state state___1 ;
  struct ipc_client_connection *connection ;

  {
  ret___67 = -1;
  connection = (struct ipc_client_connection *)((void *)0);
  state___1 = ipc_client_try_connect(path___6, options, & connection);
  if ((unsigned int )state___1 != 0U) {
    return (ret___67);
  }
  ret___67 = ipc_client_send_command_to_connection(connection, message___0, message_len,
                                                   answer);
  ipc_client_close_connection(connection);
  return (ret___67);
}
}
static int set_socket_blocking_flag(int fd , int make_nonblocking )
{
  int flags___0 ;
  int tmp ;

  {
  flags___0 = fcntl(fd, 3, (void *)0);
  if (flags___0 < 0) {
    return (-1);
  }
  if (make_nonblocking) {
    flags___0 |= 04000;
  } else {
    flags___0 &= -2049;
  }
  tmp = fcntl(fd, 4, flags___0);
  return (tmp);
}
}
static int fifo_dequeue(struct ipc_server_data *server_data )
{
  int fd ;

  {
  if (server_data->back_pos == server_data->front_pos) {
    return (-1);
  }
  fd = *(server_data->fifo_fds + server_data->front_pos);
  *(server_data->fifo_fds + server_data->front_pos) = -1;
  (server_data->front_pos) ++;
  if (server_data->front_pos == server_data->queue_size) {
    server_data->front_pos = 0;
  }
  return (fd);
}
}
static int fifo_enqueue(struct ipc_server_data *server_data , int fd )
{
  int next_back_pos ;

  {
  next_back_pos = server_data->back_pos + 1;
  if (next_back_pos == server_data->queue_size) {
    next_back_pos = 0;
  }
  if (next_back_pos == server_data->front_pos) {
    close(fd);
    return (-1);
  }
  *(server_data->fifo_fds + server_data->back_pos) = fd;
  server_data->back_pos = next_back_pos;
  return (fd);
}
}
static int worker_thread__wait_for_connection(struct ipc_worker_thread_data *worker_thread_data )
{
  struct ipc_server_data *server_data ;
  int fd ;

  {
  server_data = worker_thread_data->server_data;
  fd = -1;
  pthread_mutex_lock(& server_data->work_available_mutex);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (server_data->shutdown_requested) {
      goto while_break;
    }
    fd = fifo_dequeue(server_data);
    if (fd >= 0) {
      goto while_break;
    }
    pthread_cond_wait((pthread_cond_t * __restrict  )(& server_data->work_available_cond),
                      (pthread_mutex_t * __restrict  )(& server_data->work_available_mutex));
  }
  while_break: /* CIL Label */ ;
  }
  pthread_mutex_unlock(& server_data->work_available_mutex);
  return (fd);
}
}
static int do_io_reply_callback(struct ipc_server_reply_data *reply_data , char const   *response ,
                                size_t response_len ) ;
static int do_io_reply_callback(struct ipc_server_reply_data *reply_data , char const   *response ,
                                size_t response_len )
{
  int tmp ;

  {
  if ((unsigned int )reply_data->magic != 0U) {
    BUG_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c", 432, (char const   *)"reply_cb called with wrong instance data");
  }
  tmp = write_packetized_from_buf_no_flush(response, response_len, reply_data->fd);
  return (tmp);
}
}
static int worker_thread__wait_for_io_start(struct ipc_worker_thread_data *worker_thread_data ,
                                            int fd )
{
  struct ipc_server_data *server_data ;
  struct pollfd pollfd[1] ;
  int result___0 ;
  int *tmp ;
  int in_shutdown ;

  {
  server_data = worker_thread_data->server_data;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    pollfd[0].fd = fd;
    pollfd[0].events = (short)1;
    result___0 = poll(pollfd, (nfds_t )1, 10);
    if (result___0 < 0) {
      tmp = __errno_location();
      if (*tmp == 4) {
        goto __Cont;
      }
      goto cleanup;
    }
    if (result___0 == 0) {
      pthread_mutex_lock(& server_data->work_available_mutex);
      in_shutdown = server_data->shutdown_requested;
      pthread_mutex_unlock(& server_data->work_available_mutex);
      if (in_shutdown) {
        goto cleanup;
      }
      goto __Cont;
    }
    if ((int )pollfd[0].revents & 0x010) {
      goto cleanup;
    }
    if ((int )pollfd[0].revents & 0x001) {
      return (0);
    }
    goto cleanup;
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  cleanup:
  close(fd);
  return (-1);
}
}
static int worker_thread__do_io(struct ipc_worker_thread_data *worker_thread_data ,
                                int fd )
{
  struct strbuf buf___19 ;
  struct ipc_server_reply_data reply_data ;
  int ret___67 ;
  ssize_t tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  ret___67 = 0;
  reply_data.magic = (enum magic )0;
  reply_data.worker_thread_data = worker_thread_data;
  reply_data.fd = fd;
  tmp = read_packetized_to_strbuf(reply_data.fd, & buf___19, (int )(1u | (1u << 3)));
  ret___67 = (int )tmp;
  if (ret___67 >= 0) {
    ret___67 = (*((worker_thread_data->server_data)->application_cb))((worker_thread_data->server_data)->application_data,
                                                                      (char const   *)buf___19.buf,
                                                                      buf___19.len,
                                                                      & do_io_reply_callback,
                                                                      & reply_data);
    packet_flush_gently(reply_data.fd);
  }
  strbuf_release(& buf___19);
  close(reply_data.fd);
  return (ret___67);
}
}
static void thread_block_sigpipe(sigset_t *old_set )
{
  sigset_t new_set ;

  {
  sigemptyset(& new_set);
  sigaddset(& new_set, 13);
  sigemptyset(old_set);
  pthread_sigmask(0, (__sigset_t const   * __restrict  )(& new_set), (__sigset_t * __restrict  )old_set);
  return;
}
}
static void *worker_thread_proc(void *_worker_thread_data )
{
  struct ipc_worker_thread_data *worker_thread_data ;
  struct ipc_server_data *server_data ;
  sigset_t old_set ;
  int fd ;
  int io ;
  int ret___67 ;

  {
  worker_thread_data = (struct ipc_worker_thread_data *)_worker_thread_data;
  server_data = worker_thread_data->server_data;
  trace2_thread_start_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c", 591,
                         (char const   *)"ipc-worker");
  thread_block_sigpipe(& old_set);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    fd = worker_thread__wait_for_connection(worker_thread_data);
    if (fd == -1) {
      goto while_break;
    }
    io = worker_thread__wait_for_io_start(worker_thread_data, fd);
    if (io == -1) {
      goto __Cont;
    }
    ret___67 = worker_thread__do_io(worker_thread_data, fd);
    if (ret___67 == -2) {
      trace2_data_string_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c",
                            608, (char const   *)"ipc-worker", (struct repository  const  *)((void *)0),
                            (char const   *)"queue_stop_async", (char const   *)"application_quit");
      ipc_server_stop_async(server_data);
      goto while_break;
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  trace2_thread_exit_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c", 627);
  return ((void *)0);
}
}
static int accept_thread__wait_for_connection(struct ipc_accept_thread_data *accept_thread_data )
{
  struct pollfd pollfd[2] ;
  int result___0 ;
  int *tmp ;
  int tmp___0 ;
  int client_fd ;
  int tmp___1 ;
  int *tmp___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    pollfd[0].fd = accept_thread_data->fd_wait_shutdown;
    pollfd[0].events = (short)1;
    pollfd[1].fd = (accept_thread_data->server_socket)->fd_socket;
    pollfd[1].events = (short)1;
    result___0 = poll(pollfd, (nfds_t )2, 60000);
    if (result___0 < 0) {
      tmp = __errno_location();
      if (*tmp == 4) {
        goto __Cont;
      }
      return (result___0);
    }
    if (result___0 == 0) {
      tmp___0 = unix_ss_was_stolen(accept_thread_data->server_socket);
      if (tmp___0) {
        trace2_data_string_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c",
                              672, (char const   *)"ipc-accept", (struct repository  const  *)((void *)0),
                              (char const   *)"queue_stop_async", (char const   *)"socket_stolen");
        ipc_server_stop_async(accept_thread_data->server_data);
      }
      goto __Cont;
    }
    if ((int )pollfd[0].revents & 0x001) {
      return (-1);
    }
    if ((int )pollfd[1].revents & 0x001) {
      tmp___1 = accept((accept_thread_data->server_socket)->fd_socket, (struct sockaddr * __restrict  )((void *)0),
                       (socklen_t * __restrict  )((void *)0));
      client_fd = tmp___1;
      if (client_fd >= 0) {
        return (client_fd);
      }
      goto __Cont;
    }
    tmp___2 = __errno_location();
    BUG_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c", 702, (char const   *)"unandled poll result errno=%d r[0]=%d r[1]=%d",
           *tmp___2, (int )pollfd[0].revents, (int )pollfd[1].revents);
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
}
}
static void *accept_thread_proc(void *_accept_thread_data )
{
  struct ipc_accept_thread_data *accept_thread_data ;
  struct ipc_server_data *server_data ;
  sigset_t old_set ;
  int client_fd ;
  int tmp ;

  {
  accept_thread_data = (struct ipc_accept_thread_data *)_accept_thread_data;
  server_data = accept_thread_data->server_data;
  trace2_thread_start_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c", 722,
                         (char const   *)"ipc-accept");
  thread_block_sigpipe(& old_set);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = accept_thread__wait_for_connection(accept_thread_data);
    client_fd = tmp;
    pthread_mutex_lock(& server_data->work_available_mutex);
    if (server_data->shutdown_requested) {
      pthread_mutex_unlock(& server_data->work_available_mutex);
      if (client_fd >= 0) {
        close(client_fd);
      }
      goto while_break;
    }
    if (! (client_fd < 0)) {
      fifo_enqueue(server_data, client_fd);
      pthread_cond_broadcast(& server_data->work_available_cond);
    }
    pthread_mutex_unlock(& server_data->work_available_mutex);
  }
  while_break: /* CIL Label */ ;
  }
  trace2_thread_exit_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c", 748);
  return ((void *)0);
}
}
static int create_listener_socket(char const   *path___6 , struct ipc_server_opts  const  *ipc_opts ,
                                  struct unix_ss_socket **new_server_socket )
{
  struct unix_ss_socket *server_socket ;
  struct unix_stream_listen_opts uslg_opts ;
  int ret___67 ;
  int saved_errno ;
  int *tmp ;
  int *tmp___0 ;
  int tmp___1 ;

  {
  server_socket = (struct unix_ss_socket *)((void *)0);
  uslg_opts.listen_backlog_size = 0;
  uslg_opts.disallow_chdir = 0U;
  uslg_opts.listen_backlog_size = 50;
  uslg_opts.disallow_chdir = (unsigned int )ipc_opts->uds_disallow_chdir;
  ret___67 = unix_ss_create(path___6, (struct unix_stream_listen_opts  const  *)(& uslg_opts),
                            -1L, & server_socket);
  if (ret___67) {
    return (ret___67);
  }
  tmp___1 = set_socket_blocking_flag(server_socket->fd_socket, 1);
  if (tmp___1) {
    tmp = __errno_location();
    saved_errno = *tmp;
    unix_ss_free(server_socket);
    tmp___0 = __errno_location();
    *tmp___0 = saved_errno;
    return (-1);
  }
  *new_server_socket = server_socket;
  trace2_data_string_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c", 801,
                        (char const   *)"ipc-server", (struct repository  const  *)((void *)0),
                        (char const   *)"listen-with-lock", path___6);
  return (0);
}
}
static int setup_listener_socket(char const   *path___6 , struct ipc_server_opts  const  *ipc_opts ,
                                 struct unix_ss_socket **new_server_socket )
{
  int ret___67 ;
  int saved_errno ;
  int *tmp ;
  int *tmp___0 ;

  {
  trace2_region_enter_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c", 812,
                         (char const   *)"ipc-server", (char const   *)"create-listener_socket",
                         (struct repository  const  *)((void *)0));
  ret___67 = create_listener_socket(path___6, ipc_opts, new_server_socket);
  tmp = __errno_location();
  saved_errno = *tmp;
  trace2_region_leave_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c", 817,
                         (char const   *)"ipc-server", (char const   *)"create-listener_socket",
                         (struct repository  const  *)((void *)0));
  tmp___0 = __errno_location();
  *tmp___0 = saved_errno;
  return (ret___67);
}
}
int ipc_server_run_async(struct ipc_server_data **returned_server_data , char const   *path___6 ,
                         struct ipc_server_opts  const  *opts___1 , ipc_server_application_cb *application_cb ,
                         void *application_data )
{
  struct unix_ss_socket *server_socket ;
  struct ipc_server_data *server_data ;
  int sv[2] ;
  int k ;
  int ret___67 ;
  int nr_threads___0 ;
  int tmp ;
  int saved_errno ;
  int *tmp___0 ;
  int *tmp___1 ;
  int tmp___2 ;
  int saved_errno___0 ;
  int *tmp___3 ;
  int *tmp___4 ;
  void *tmp___5 ;
  void *tmp___6 ;
  void *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  struct ipc_worker_thread_data *wtd ;
  void *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;

  {
  server_socket = (struct unix_ss_socket *)((void *)0);
  nr_threads___0 = (int )opts___1->nr_threads;
  *returned_server_data = (struct ipc_server_data *)((void *)0);
  tmp = socketpair(1, 1, 0, (int *)(sv));
  if (tmp < 0) {
    return (-1);
  }
  tmp___2 = set_socket_blocking_flag(sv[1], 1);
  if (tmp___2) {
    tmp___0 = __errno_location();
    saved_errno = *tmp___0;
    close(sv[0]);
    close(sv[1]);
    tmp___1 = __errno_location();
    *tmp___1 = saved_errno;
    return (-1);
  }
  ret___67 = setup_listener_socket(path___6, opts___1, & server_socket);
  if (ret___67) {
    tmp___3 = __errno_location();
    saved_errno___0 = *tmp___3;
    close(sv[0]);
    close(sv[1]);
    tmp___4 = __errno_location();
    *tmp___4 = saved_errno___0;
    return (ret___67);
  }
  tmp___5 = xcalloc((size_t )1, sizeof(*server_data));
  server_data = (struct ipc_server_data *)tmp___5;
  server_data->magic = (enum magic )3;
  server_data->application_cb = application_cb;
  server_data->application_data = application_data;
  strbuf_init(& server_data->buf_path, (size_t )0);
  strbuf_addstr(& server_data->buf_path, path___6);
  if (nr_threads___0 < 1) {
    nr_threads___0 = 1;
  }
  pthread_mutex_init(& server_data->work_available_mutex, (pthread_mutexattr_t const   *)((void *)0));
  pthread_cond_init((pthread_cond_t * __restrict  )(& server_data->work_available_cond),
                    (pthread_condattr_t const   * __restrict  )((void *)0));
  server_data->queue_size = nr_threads___0 * 100;
  tmp___6 = xcalloc((size_t )server_data->queue_size, sizeof(*(server_data->fifo_fds)));
  server_data->fifo_fds = (int *)tmp___6;
  tmp___7 = xcalloc((size_t )1, sizeof(*(server_data->accept_thread)));
  server_data->accept_thread = (struct ipc_accept_thread_data *)tmp___7;
  (server_data->accept_thread)->magic = (enum magic )2;
  (server_data->accept_thread)->server_data = server_data;
  (server_data->accept_thread)->server_socket = server_socket;
  (server_data->accept_thread)->fd_send_shutdown = sv[0];
  (server_data->accept_thread)->fd_wait_shutdown = sv[1];
  tmp___9 = pthread_create((pthread_t * __restrict  )(& (server_data->accept_thread)->pthread_id),
                           (pthread_attr_t const   * __restrict  )((void *)0), & accept_thread_proc,
                           (void * __restrict  )server_data->accept_thread);
  if (tmp___9) {
    tmp___8 = _((char const   *)"could not start accept_thread \'%s\'");
    die_errno((char const   *)tmp___8, path___6);
  }
  k = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (k < nr_threads___0)) {
      goto while_break;
    }
    tmp___10 = xcalloc((size_t )1, sizeof(*wtd));
    wtd = (struct ipc_worker_thread_data *)tmp___10;
    wtd->magic = (enum magic )1;
    wtd->server_data = server_data;
    tmp___12 = pthread_create((pthread_t * __restrict  )(& wtd->pthread_id), (pthread_attr_t const   * __restrict  )((void *)0),
                              & worker_thread_proc, (void * __restrict  )wtd);
    if (tmp___12) {
      if (k == 0) {
        tmp___11 = _((char const   *)"could not start worker[0] for \'%s\'");
        die((char const   *)tmp___11, path___6);
      }
      goto while_break;
    }
    wtd->next_thread = server_data->worker_thread_list;
    server_data->worker_thread_list = wtd;
    k ++;
  }
  while_break: /* CIL Label */ ;
  }
  *returned_server_data = server_data;
  return (0);
}
}
int ipc_server_stop_async(struct ipc_server_data *server_data )
{
  int fd ;
  ssize_t tmp ;

  {
  if (! server_data) {
    return (0);
  }
  trace2_region_enter_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c", 933,
                         (char const   *)"ipc-server", (char const   *)"server-stop-async",
                         (struct repository  const  *)((void *)0));
  pthread_mutex_lock(& server_data->work_available_mutex);
  server_data->shutdown_requested = 1;
  tmp = write((server_data->accept_thread)->fd_send_shutdown, (void const   *)"Q",
              (size_t )1);
  if (tmp < 0L) {
    error_errno((char const   *)"could not write to fd_send_shutdown");
    const_error();
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    fd = fifo_dequeue(server_data);
    if (! (fd != -1)) {
      goto while_break;
    }
    close(fd);
  }
  while_break: /* CIL Label */ ;
  }
  pthread_cond_broadcast(& server_data->work_available_cond);
  pthread_mutex_unlock(& server_data->work_available_mutex);
  trace2_region_leave_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c", 960,
                         (char const   *)"ipc-server", (char const   *)"server-stop-async",
                         (struct repository  const  *)((void *)0));
  return (0);
}
}
int ipc_server_await(struct ipc_server_data *server_data )
{
  struct ipc_worker_thread_data *wtd ;

  {
  pthread_join((server_data->accept_thread)->pthread_id, (void **)((void *)0));
  if (! server_data->shutdown_requested) {
    BUG_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c", 974, (char const   *)"ipc-server: accept-thread stopped for \'%s\'",
           server_data->buf_path.buf);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! server_data->worker_thread_list) {
      goto while_break;
    }
    wtd = server_data->worker_thread_list;
    pthread_join(wtd->pthread_id, (void **)((void *)0));
    server_data->worker_thread_list = wtd->next_thread;
    free((void *)wtd);
  }
  while_break: /* CIL Label */ ;
  }
  server_data->is_stopped = 1;
  return (0);
}
}
void ipc_server_free(struct ipc_server_data *server_data )
{
  struct ipc_accept_thread_data *accept_thread_data ;
  struct ipc_worker_thread_data *wtd ;

  {
  if (! server_data) {
    return;
  }
  if (! server_data->is_stopped) {
    BUG_fl((char const   *)"compat/simple-ipc/ipc-unix-socket.c", 1000, (char const   *)"cannot free ipc-server while running for \'%s\'",
           server_data->buf_path.buf);
  }
  accept_thread_data = server_data->accept_thread;
  if (accept_thread_data) {
    unix_ss_free(accept_thread_data->server_socket);
    if (accept_thread_data->fd_send_shutdown != -1) {
      close(accept_thread_data->fd_send_shutdown);
    }
    if (accept_thread_data->fd_wait_shutdown != -1) {
      close(accept_thread_data->fd_wait_shutdown);
    }
    free((void *)server_data->accept_thread);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! server_data->worker_thread_list) {
      goto while_break;
    }
    wtd = server_data->worker_thread_list;
    server_data->worker_thread_list = wtd->next_thread;
    free((void *)wtd);
  }
  while_break: /* CIL Label */ ;
  }
  pthread_cond_destroy(& server_data->work_available_cond);
  pthread_mutex_destroy(& server_data->work_available_mutex);
  strbuf_release(& server_data->buf_path);
  free((void *)server_data->fifo_fds);
  free((void *)server_data);
  return;
}
}
void git_SHA1DCFinal(unsigned char *hash___0 , SHA1_CTX *ctx___0 )
{
  int tmp ;
  char *tmp___0 ;

  {
  tmp = SHA1DCFinal(hash___0, ctx___0);
  if (! tmp) {
    return;
  }
  tmp___0 = hash_to_hex_algop((unsigned char const   *)hash___0, & hash_algos[1]);
  die((char const   *)"SHA-1 appears to be part of a collision attack: %s", tmp___0);
}
}
void git_SHA1DCUpdate(SHA1_CTX *ctx___0 , void const   *vdata , unsigned long len___0 )
{
  char const   *data ;

  {
  data = (char const   *)vdata;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (len___0 > 2147483647UL)) {
      goto while_break;
    }
    SHA1DCUpdate(ctx___0, data, (size_t )0x7fffffff);
    data += 0x7fffffff;
    len___0 -= 2147483647UL;
  }
  while_break: /* CIL Label */ ;
  }
  SHA1DCUpdate(ctx___0, data, len___0);
  return;
}
}
dv_info_t sha1_dvs[33] ;
void ubc_check(uint32_t const   *W , uint32_t *dvmask ) ;
static void sha1_compression_W(uint32_t *ihv , uint32_t const   *W )
{
  uint32_t a ;
  uint32_t b___0 ;
  uint32_t c___0 ;
  uint32_t d ;
  uint32_t e ;

  {
  a = *(ihv + 0);
  b___0 = *(ihv + 1);
  c___0 = *(ihv + 2);
  d = *(ihv + 3);
  e = *(ihv + 4);
  e += ((((a << 5) | (a >> 27)) + (d ^ (b___0 & (c___0 ^ d)))) + 1518500249U) + (unsigned int )*(W + 0);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + (c___0 ^ (a & (b___0 ^ c___0)))) + 1518500249U) + (unsigned int )*(W + 1);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + (b___0 ^ (e & (a ^ b___0)))) + 1518500249U) + (unsigned int )*(W + 2);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + (a ^ (d & (e ^ a)))) + 1518500249U) + (unsigned int )*(W + 3);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + (e ^ (c___0 & (d ^ e)))) + 1518500249U) + (unsigned int )*(W + 4);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + (d ^ (b___0 & (c___0 ^ d)))) + 1518500249U) + (unsigned int )*(W + 5);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + (c___0 ^ (a & (b___0 ^ c___0)))) + 1518500249U) + (unsigned int )*(W + 6);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + (b___0 ^ (e & (a ^ b___0)))) + 1518500249U) + (unsigned int )*(W + 7);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + (a ^ (d & (e ^ a)))) + 1518500249U) + (unsigned int )*(W + 8);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + (e ^ (c___0 & (d ^ e)))) + 1518500249U) + (unsigned int )*(W + 9);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + (d ^ (b___0 & (c___0 ^ d)))) + 1518500249U) + (unsigned int )*(W + 10);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + (c___0 ^ (a & (b___0 ^ c___0)))) + 1518500249U) + (unsigned int )*(W + 11);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + (b___0 ^ (e & (a ^ b___0)))) + 1518500249U) + (unsigned int )*(W + 12);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + (a ^ (d & (e ^ a)))) + 1518500249U) + (unsigned int )*(W + 13);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + (e ^ (c___0 & (d ^ e)))) + 1518500249U) + (unsigned int )*(W + 14);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + (d ^ (b___0 & (c___0 ^ d)))) + 1518500249U) + (unsigned int )*(W + 15);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + (c___0 ^ (a & (b___0 ^ c___0)))) + 1518500249U) + (unsigned int )*(W + 16);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + (b___0 ^ (e & (a ^ b___0)))) + 1518500249U) + (unsigned int )*(W + 17);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + (a ^ (d & (e ^ a)))) + 1518500249U) + (unsigned int )*(W + 18);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + (e ^ (c___0 & (d ^ e)))) + 1518500249U) + (unsigned int )*(W + 19);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 1859775393U) + (unsigned int )*(W + 20);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 1859775393U) + (unsigned int )*(W + 21);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 1859775393U) + (unsigned int )*(W + 22);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 1859775393U) + (unsigned int )*(W + 23);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 1859775393U) + (unsigned int )*(W + 24);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 1859775393U) + (unsigned int )*(W + 25);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 1859775393U) + (unsigned int )*(W + 26);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 1859775393U) + (unsigned int )*(W + 27);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 1859775393U) + (unsigned int )*(W + 28);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 1859775393U) + (unsigned int )*(W + 29);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 1859775393U) + (unsigned int )*(W + 30);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 1859775393U) + (unsigned int )*(W + 31);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 1859775393U) + (unsigned int )*(W + 32);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 1859775393U) + (unsigned int )*(W + 33);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 1859775393U) + (unsigned int )*(W + 34);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 1859775393U) + (unsigned int )*(W + 35);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 1859775393U) + (unsigned int )*(W + 36);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 1859775393U) + (unsigned int )*(W + 37);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 1859775393U) + (unsigned int )*(W + 38);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 1859775393U) + (unsigned int )*(W + 39);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + ((b___0 & c___0) + (d & (b___0 ^ c___0)))) + 0x8F1BBCDC) + (unsigned int )*(W + 40);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + ((a & b___0) + (c___0 & (a ^ b___0)))) + 0x8F1BBCDC) + (unsigned int )*(W + 41);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + ((e & a) + (b___0 & (e ^ a)))) + 0x8F1BBCDC) + (unsigned int )*(W + 42);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + ((d & e) + (a & (d ^ e)))) + 0x8F1BBCDC) + (unsigned int )*(W + 43);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 & d) + (e & (c___0 ^ d)))) + 0x8F1BBCDC) + (unsigned int )*(W + 44);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + ((b___0 & c___0) + (d & (b___0 ^ c___0)))) + 0x8F1BBCDC) + (unsigned int )*(W + 45);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + ((a & b___0) + (c___0 & (a ^ b___0)))) + 0x8F1BBCDC) + (unsigned int )*(W + 46);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + ((e & a) + (b___0 & (e ^ a)))) + 0x8F1BBCDC) + (unsigned int )*(W + 47);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + ((d & e) + (a & (d ^ e)))) + 0x8F1BBCDC) + (unsigned int )*(W + 48);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 & d) + (e & (c___0 ^ d)))) + 0x8F1BBCDC) + (unsigned int )*(W + 49);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + ((b___0 & c___0) + (d & (b___0 ^ c___0)))) + 0x8F1BBCDC) + (unsigned int )*(W + 50);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + ((a & b___0) + (c___0 & (a ^ b___0)))) + 0x8F1BBCDC) + (unsigned int )*(W + 51);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + ((e & a) + (b___0 & (e ^ a)))) + 0x8F1BBCDC) + (unsigned int )*(W + 52);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + ((d & e) + (a & (d ^ e)))) + 0x8F1BBCDC) + (unsigned int )*(W + 53);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 & d) + (e & (c___0 ^ d)))) + 0x8F1BBCDC) + (unsigned int )*(W + 54);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + ((b___0 & c___0) + (d & (b___0 ^ c___0)))) + 0x8F1BBCDC) + (unsigned int )*(W + 55);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + ((a & b___0) + (c___0 & (a ^ b___0)))) + 0x8F1BBCDC) + (unsigned int )*(W + 56);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + ((e & a) + (b___0 & (e ^ a)))) + 0x8F1BBCDC) + (unsigned int )*(W + 57);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + ((d & e) + (a & (d ^ e)))) + 0x8F1BBCDC) + (unsigned int )*(W + 58);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 & d) + (e & (c___0 ^ d)))) + 0x8F1BBCDC) + (unsigned int )*(W + 59);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 0xCA62C1D6) + (unsigned int )*(W + 60);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 0xCA62C1D6) + (unsigned int )*(W + 61);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 0xCA62C1D6) + (unsigned int )*(W + 62);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 0xCA62C1D6) + (unsigned int )*(W + 63);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 0xCA62C1D6) + (unsigned int )*(W + 64);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 0xCA62C1D6) + (unsigned int )*(W + 65);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 0xCA62C1D6) + (unsigned int )*(W + 66);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 0xCA62C1D6) + (unsigned int )*(W + 67);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 0xCA62C1D6) + (unsigned int )*(W + 68);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 0xCA62C1D6) + (unsigned int )*(W + 69);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 0xCA62C1D6) + (unsigned int )*(W + 70);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 0xCA62C1D6) + (unsigned int )*(W + 71);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 0xCA62C1D6) + (unsigned int )*(W + 72);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 0xCA62C1D6) + (unsigned int )*(W + 73);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 0xCA62C1D6) + (unsigned int )*(W + 74);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 0xCA62C1D6) + (unsigned int )*(W + 75);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 0xCA62C1D6) + (unsigned int )*(W + 76);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 0xCA62C1D6) + (unsigned int )*(W + 77);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 0xCA62C1D6) + (unsigned int )*(W + 78);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 0xCA62C1D6) + (unsigned int )*(W + 79);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  *(ihv + 0) += a;
  *(ihv + 1) += b___0;
  *(ihv + 2) += c___0;
  *(ihv + 3) += d;
  *(ihv + 4) += e;
  return;
}
}
void sha1_compression_states(uint32_t *ihv , uint32_t const   *m , uint32_t *W , uint32_t (*states)[5] )
{
  uint32_t a ;
  uint32_t b___0 ;
  uint32_t c___0 ;
  uint32_t d ;
  uint32_t e ;
  uint32_t temp ;

  {
  a = *(ihv + 0);
  b___0 = *(ihv + 1);
  c___0 = *(ihv + 2);
  d = *(ihv + 3);
  e = *(ihv + 4);
  temp = (uint32_t )*(m + 0);
  temp = ((temp << 8) & 0xFF00FF00) | ((temp >> 8) & 16711935U);
  temp = (temp << 16) | (temp >> 16);
  *((uint32_t volatile   *)(W + 0)) = (uint32_t volatile   )temp;
  e += ((temp + ((a << 5) | (a >> 27))) + (d ^ (b___0 & (c___0 ^ d)))) + 1518500249U;
  b___0 = (b___0 << 30) | (b___0 >> 2);
  temp = (uint32_t )*(m + 1);
  temp = ((temp << 8) & 0xFF00FF00) | ((temp >> 8) & 16711935U);
  temp = (temp << 16) | (temp >> 16);
  *((uint32_t volatile   *)(W + 1)) = (uint32_t volatile   )temp;
  d += ((temp + ((e << 5) | (e >> 27))) + (c___0 ^ (a & (b___0 ^ c___0)))) + 1518500249U;
  a = (a << 30) | (a >> 2);
  temp = (uint32_t )*(m + 2);
  temp = ((temp << 8) & 0xFF00FF00) | ((temp >> 8) & 16711935U);
  temp = (temp << 16) | (temp >> 16);
  *((uint32_t volatile   *)(W + 2)) = (uint32_t volatile   )temp;
  c___0 += ((temp + ((d << 5) | (d >> 27))) + (b___0 ^ (e & (a ^ b___0)))) + 1518500249U;
  e = (e << 30) | (e >> 2);
  temp = (uint32_t )*(m + 3);
  temp = ((temp << 8) & 0xFF00FF00) | ((temp >> 8) & 16711935U);
  temp = (temp << 16) | (temp >> 16);
  *((uint32_t volatile   *)(W + 3)) = (uint32_t volatile   )temp;
  b___0 += ((temp + ((c___0 << 5) | (c___0 >> 27))) + (a ^ (d & (e ^ a)))) + 1518500249U;
  d = (d << 30) | (d >> 2);
  temp = (uint32_t )*(m + 4);
  temp = ((temp << 8) & 0xFF00FF00) | ((temp >> 8) & 16711935U);
  temp = (temp << 16) | (temp >> 16);
  *((uint32_t volatile   *)(W + 4)) = (uint32_t volatile   )temp;
  a += ((temp + ((b___0 << 5) | (b___0 >> 27))) + (e ^ (c___0 & (d ^ e)))) + 1518500249U;
  c___0 = (c___0 << 30) | (c___0 >> 2);
  temp = (uint32_t )*(m + 5);
  temp = ((temp << 8) & 0xFF00FF00) | ((temp >> 8) & 16711935U);
  temp = (temp << 16) | (temp >> 16);
  *((uint32_t volatile   *)(W + 5)) = (uint32_t volatile   )temp;
  e += ((temp + ((a << 5) | (a >> 27))) + (d ^ (b___0 & (c___0 ^ d)))) + 1518500249U;
  b___0 = (b___0 << 30) | (b___0 >> 2);
  temp = (uint32_t )*(m + 6);
  temp = ((temp << 8) & 0xFF00FF00) | ((temp >> 8) & 16711935U);
  temp = (temp << 16) | (temp >> 16);
  *((uint32_t volatile   *)(W + 6)) = (uint32_t volatile   )temp;
  d += ((temp + ((e << 5) | (e >> 27))) + (c___0 ^ (a & (b___0 ^ c___0)))) + 1518500249U;
  a = (a << 30) | (a >> 2);
  temp = (uint32_t )*(m + 7);
  temp = ((temp << 8) & 0xFF00FF00) | ((temp >> 8) & 16711935U);
  temp = (temp << 16) | (temp >> 16);
  *((uint32_t volatile   *)(W + 7)) = (uint32_t volatile   )temp;
  c___0 += ((temp + ((d << 5) | (d >> 27))) + (b___0 ^ (e & (a ^ b___0)))) + 1518500249U;
  e = (e << 30) | (e >> 2);
  temp = (uint32_t )*(m + 8);
  temp = ((temp << 8) & 0xFF00FF00) | ((temp >> 8) & 16711935U);
  temp = (temp << 16) | (temp >> 16);
  *((uint32_t volatile   *)(W + 8)) = (uint32_t volatile   )temp;
  b___0 += ((temp + ((c___0 << 5) | (c___0 >> 27))) + (a ^ (d & (e ^ a)))) + 1518500249U;
  d = (d << 30) | (d >> 2);
  temp = (uint32_t )*(m + 9);
  temp = ((temp << 8) & 0xFF00FF00) | ((temp >> 8) & 16711935U);
  temp = (temp << 16) | (temp >> 16);
  *((uint32_t volatile   *)(W + 9)) = (uint32_t volatile   )temp;
  a += ((temp + ((b___0 << 5) | (b___0 >> 27))) + (e ^ (c___0 & (d ^ e)))) + 1518500249U;
  c___0 = (c___0 << 30) | (c___0 >> 2);
  temp = (uint32_t )*(m + 10);
  temp = ((temp << 8) & 0xFF00FF00) | ((temp >> 8) & 16711935U);
  temp = (temp << 16) | (temp >> 16);
  *((uint32_t volatile   *)(W + 10)) = (uint32_t volatile   )temp;
  e += ((temp + ((a << 5) | (a >> 27))) + (d ^ (b___0 & (c___0 ^ d)))) + 1518500249U;
  b___0 = (b___0 << 30) | (b___0 >> 2);
  temp = (uint32_t )*(m + 11);
  temp = ((temp << 8) & 0xFF00FF00) | ((temp >> 8) & 16711935U);
  temp = (temp << 16) | (temp >> 16);
  *((uint32_t volatile   *)(W + 11)) = (uint32_t volatile   )temp;
  d += ((temp + ((e << 5) | (e >> 27))) + (c___0 ^ (a & (b___0 ^ c___0)))) + 1518500249U;
  a = (a << 30) | (a >> 2);
  temp = (uint32_t )*(m + 12);
  temp = ((temp << 8) & 0xFF00FF00) | ((temp >> 8) & 16711935U);
  temp = (temp << 16) | (temp >> 16);
  *((uint32_t volatile   *)(W + 12)) = (uint32_t volatile   )temp;
  c___0 += ((temp + ((d << 5) | (d >> 27))) + (b___0 ^ (e & (a ^ b___0)))) + 1518500249U;
  e = (e << 30) | (e >> 2);
  temp = (uint32_t )*(m + 13);
  temp = ((temp << 8) & 0xFF00FF00) | ((temp >> 8) & 16711935U);
  temp = (temp << 16) | (temp >> 16);
  *((uint32_t volatile   *)(W + 13)) = (uint32_t volatile   )temp;
  b___0 += ((temp + ((c___0 << 5) | (c___0 >> 27))) + (a ^ (d & (e ^ a)))) + 1518500249U;
  d = (d << 30) | (d >> 2);
  temp = (uint32_t )*(m + 14);
  temp = ((temp << 8) & 0xFF00FF00) | ((temp >> 8) & 16711935U);
  temp = (temp << 16) | (temp >> 16);
  *((uint32_t volatile   *)(W + 14)) = (uint32_t volatile   )temp;
  a += ((temp + ((b___0 << 5) | (b___0 >> 27))) + (e ^ (c___0 & (d ^ e)))) + 1518500249U;
  c___0 = (c___0 << 30) | (c___0 >> 2);
  temp = (uint32_t )*(m + 15);
  temp = ((temp << 8) & 0xFF00FF00) | ((temp >> 8) & 16711935U);
  temp = (temp << 16) | (temp >> 16);
  *((uint32_t volatile   *)(W + 15)) = (uint32_t volatile   )temp;
  e += ((temp + ((a << 5) | (a >> 27))) + (d ^ (b___0 & (c___0 ^ d)))) + 1518500249U;
  b___0 = (b___0 << 30) | (b___0 >> 2);
  temp = ((((*(W + 13) ^ *(W + 8)) ^ *(W + 2)) ^ *(W + 0)) << 1) | ((((*(W + 13) ^ *(W + 8)) ^ *(W + 2)) ^ *(W + 0)) >> 31);
  *((uint32_t volatile   *)(W + 16)) = (uint32_t volatile   )temp;
  d += ((temp + ((e << 5) | (e >> 27))) + (c___0 ^ (a & (b___0 ^ c___0)))) + 1518500249U;
  a = (a << 30) | (a >> 2);
  temp = ((((*(W + 14) ^ *(W + 9)) ^ *(W + 3)) ^ *(W + 1)) << 1) | ((((*(W + 14) ^ *(W + 9)) ^ *(W + 3)) ^ *(W + 1)) >> 31);
  *((uint32_t volatile   *)(W + 17)) = (uint32_t volatile   )temp;
  c___0 += ((temp + ((d << 5) | (d >> 27))) + (b___0 ^ (e & (a ^ b___0)))) + 1518500249U;
  e = (e << 30) | (e >> 2);
  temp = ((((*(W + 15) ^ *(W + 10)) ^ *(W + 4)) ^ *(W + 2)) << 1) | ((((*(W + 15) ^ *(W + 10)) ^ *(W + 4)) ^ *(W + 2)) >> 31);
  *((uint32_t volatile   *)(W + 18)) = (uint32_t volatile   )temp;
  b___0 += ((temp + ((c___0 << 5) | (c___0 >> 27))) + (a ^ (d & (e ^ a)))) + 1518500249U;
  d = (d << 30) | (d >> 2);
  temp = ((((*(W + 16) ^ *(W + 11)) ^ *(W + 5)) ^ *(W + 3)) << 1) | ((((*(W + 16) ^ *(W + 11)) ^ *(W + 5)) ^ *(W + 3)) >> 31);
  *((uint32_t volatile   *)(W + 19)) = (uint32_t volatile   )temp;
  a += ((temp + ((b___0 << 5) | (b___0 >> 27))) + (e ^ (c___0 & (d ^ e)))) + 1518500249U;
  c___0 = (c___0 << 30) | (c___0 >> 2);
  temp = ((((*(W + 17) ^ *(W + 12)) ^ *(W + 6)) ^ *(W + 4)) << 1) | ((((*(W + 17) ^ *(W + 12)) ^ *(W + 6)) ^ *(W + 4)) >> 31);
  *((uint32_t volatile   *)(W + 20)) = (uint32_t volatile   )temp;
  e += ((temp + ((a << 5) | (a >> 27))) + ((b___0 ^ c___0) ^ d)) + 1859775393U;
  b___0 = (b___0 << 30) | (b___0 >> 2);
  temp = ((((*(W + 18) ^ *(W + 13)) ^ *(W + 7)) ^ *(W + 5)) << 1) | ((((*(W + 18) ^ *(W + 13)) ^ *(W + 7)) ^ *(W + 5)) >> 31);
  *((uint32_t volatile   *)(W + 21)) = (uint32_t volatile   )temp;
  d += ((temp + ((e << 5) | (e >> 27))) + ((a ^ b___0) ^ c___0)) + 1859775393U;
  a = (a << 30) | (a >> 2);
  temp = ((((*(W + 19) ^ *(W + 14)) ^ *(W + 8)) ^ *(W + 6)) << 1) | ((((*(W + 19) ^ *(W + 14)) ^ *(W + 8)) ^ *(W + 6)) >> 31);
  *((uint32_t volatile   *)(W + 22)) = (uint32_t volatile   )temp;
  c___0 += ((temp + ((d << 5) | (d >> 27))) + ((e ^ a) ^ b___0)) + 1859775393U;
  e = (e << 30) | (e >> 2);
  temp = ((((*(W + 20) ^ *(W + 15)) ^ *(W + 9)) ^ *(W + 7)) << 1) | ((((*(W + 20) ^ *(W + 15)) ^ *(W + 9)) ^ *(W + 7)) >> 31);
  *((uint32_t volatile   *)(W + 23)) = (uint32_t volatile   )temp;
  b___0 += ((temp + ((c___0 << 5) | (c___0 >> 27))) + ((d ^ e) ^ a)) + 1859775393U;
  d = (d << 30) | (d >> 2);
  temp = ((((*(W + 21) ^ *(W + 16)) ^ *(W + 10)) ^ *(W + 8)) << 1) | ((((*(W + 21) ^ *(W + 16)) ^ *(W + 10)) ^ *(W + 8)) >> 31);
  *((uint32_t volatile   *)(W + 24)) = (uint32_t volatile   )temp;
  a += ((temp + ((b___0 << 5) | (b___0 >> 27))) + ((c___0 ^ d) ^ e)) + 1859775393U;
  c___0 = (c___0 << 30) | (c___0 >> 2);
  temp = ((((*(W + 22) ^ *(W + 17)) ^ *(W + 11)) ^ *(W + 9)) << 1) | ((((*(W + 22) ^ *(W + 17)) ^ *(W + 11)) ^ *(W + 9)) >> 31);
  *((uint32_t volatile   *)(W + 25)) = (uint32_t volatile   )temp;
  e += ((temp + ((a << 5) | (a >> 27))) + ((b___0 ^ c___0) ^ d)) + 1859775393U;
  b___0 = (b___0 << 30) | (b___0 >> 2);
  temp = ((((*(W + 23) ^ *(W + 18)) ^ *(W + 12)) ^ *(W + 10)) << 1) | ((((*(W + 23) ^ *(W + 18)) ^ *(W + 12)) ^ *(W + 10)) >> 31);
  *((uint32_t volatile   *)(W + 26)) = (uint32_t volatile   )temp;
  d += ((temp + ((e << 5) | (e >> 27))) + ((a ^ b___0) ^ c___0)) + 1859775393U;
  a = (a << 30) | (a >> 2);
  temp = ((((*(W + 24) ^ *(W + 19)) ^ *(W + 13)) ^ *(W + 11)) << 1) | ((((*(W + 24) ^ *(W + 19)) ^ *(W + 13)) ^ *(W + 11)) >> 31);
  *((uint32_t volatile   *)(W + 27)) = (uint32_t volatile   )temp;
  c___0 += ((temp + ((d << 5) | (d >> 27))) + ((e ^ a) ^ b___0)) + 1859775393U;
  e = (e << 30) | (e >> 2);
  temp = ((((*(W + 25) ^ *(W + 20)) ^ *(W + 14)) ^ *(W + 12)) << 1) | ((((*(W + 25) ^ *(W + 20)) ^ *(W + 14)) ^ *(W + 12)) >> 31);
  *((uint32_t volatile   *)(W + 28)) = (uint32_t volatile   )temp;
  b___0 += ((temp + ((c___0 << 5) | (c___0 >> 27))) + ((d ^ e) ^ a)) + 1859775393U;
  d = (d << 30) | (d >> 2);
  temp = ((((*(W + 26) ^ *(W + 21)) ^ *(W + 15)) ^ *(W + 13)) << 1) | ((((*(W + 26) ^ *(W + 21)) ^ *(W + 15)) ^ *(W + 13)) >> 31);
  *((uint32_t volatile   *)(W + 29)) = (uint32_t volatile   )temp;
  a += ((temp + ((b___0 << 5) | (b___0 >> 27))) + ((c___0 ^ d) ^ e)) + 1859775393U;
  c___0 = (c___0 << 30) | (c___0 >> 2);
  temp = ((((*(W + 27) ^ *(W + 22)) ^ *(W + 16)) ^ *(W + 14)) << 1) | ((((*(W + 27) ^ *(W + 22)) ^ *(W + 16)) ^ *(W + 14)) >> 31);
  *((uint32_t volatile   *)(W + 30)) = (uint32_t volatile   )temp;
  e += ((temp + ((a << 5) | (a >> 27))) + ((b___0 ^ c___0) ^ d)) + 1859775393U;
  b___0 = (b___0 << 30) | (b___0 >> 2);
  temp = ((((*(W + 28) ^ *(W + 23)) ^ *(W + 17)) ^ *(W + 15)) << 1) | ((((*(W + 28) ^ *(W + 23)) ^ *(W + 17)) ^ *(W + 15)) >> 31);
  *((uint32_t volatile   *)(W + 31)) = (uint32_t volatile   )temp;
  d += ((temp + ((e << 5) | (e >> 27))) + ((a ^ b___0) ^ c___0)) + 1859775393U;
  a = (a << 30) | (a >> 2);
  temp = ((((*(W + 29) ^ *(W + 24)) ^ *(W + 18)) ^ *(W + 16)) << 1) | ((((*(W + 29) ^ *(W + 24)) ^ *(W + 18)) ^ *(W + 16)) >> 31);
  *((uint32_t volatile   *)(W + 32)) = (uint32_t volatile   )temp;
  c___0 += ((temp + ((d << 5) | (d >> 27))) + ((e ^ a) ^ b___0)) + 1859775393U;
  e = (e << 30) | (e >> 2);
  temp = ((((*(W + 30) ^ *(W + 25)) ^ *(W + 19)) ^ *(W + 17)) << 1) | ((((*(W + 30) ^ *(W + 25)) ^ *(W + 19)) ^ *(W + 17)) >> 31);
  *((uint32_t volatile   *)(W + 33)) = (uint32_t volatile   )temp;
  b___0 += ((temp + ((c___0 << 5) | (c___0 >> 27))) + ((d ^ e) ^ a)) + 1859775393U;
  d = (d << 30) | (d >> 2);
  temp = ((((*(W + 31) ^ *(W + 26)) ^ *(W + 20)) ^ *(W + 18)) << 1) | ((((*(W + 31) ^ *(W + 26)) ^ *(W + 20)) ^ *(W + 18)) >> 31);
  *((uint32_t volatile   *)(W + 34)) = (uint32_t volatile   )temp;
  a += ((temp + ((b___0 << 5) | (b___0 >> 27))) + ((c___0 ^ d) ^ e)) + 1859775393U;
  c___0 = (c___0 << 30) | (c___0 >> 2);
  temp = ((((*(W + 32) ^ *(W + 27)) ^ *(W + 21)) ^ *(W + 19)) << 1) | ((((*(W + 32) ^ *(W + 27)) ^ *(W + 21)) ^ *(W + 19)) >> 31);
  *((uint32_t volatile   *)(W + 35)) = (uint32_t volatile   )temp;
  e += ((temp + ((a << 5) | (a >> 27))) + ((b___0 ^ c___0) ^ d)) + 1859775393U;
  b___0 = (b___0 << 30) | (b___0 >> 2);
  temp = ((((*(W + 33) ^ *(W + 28)) ^ *(W + 22)) ^ *(W + 20)) << 1) | ((((*(W + 33) ^ *(W + 28)) ^ *(W + 22)) ^ *(W + 20)) >> 31);
  *((uint32_t volatile   *)(W + 36)) = (uint32_t volatile   )temp;
  d += ((temp + ((e << 5) | (e >> 27))) + ((a ^ b___0) ^ c___0)) + 1859775393U;
  a = (a << 30) | (a >> 2);
  temp = ((((*(W + 34) ^ *(W + 29)) ^ *(W + 23)) ^ *(W + 21)) << 1) | ((((*(W + 34) ^ *(W + 29)) ^ *(W + 23)) ^ *(W + 21)) >> 31);
  *((uint32_t volatile   *)(W + 37)) = (uint32_t volatile   )temp;
  c___0 += ((temp + ((d << 5) | (d >> 27))) + ((e ^ a) ^ b___0)) + 1859775393U;
  e = (e << 30) | (e >> 2);
  temp = ((((*(W + 35) ^ *(W + 30)) ^ *(W + 24)) ^ *(W + 22)) << 1) | ((((*(W + 35) ^ *(W + 30)) ^ *(W + 24)) ^ *(W + 22)) >> 31);
  *((uint32_t volatile   *)(W + 38)) = (uint32_t volatile   )temp;
  b___0 += ((temp + ((c___0 << 5) | (c___0 >> 27))) + ((d ^ e) ^ a)) + 1859775393U;
  d = (d << 30) | (d >> 2);
  temp = ((((*(W + 36) ^ *(W + 31)) ^ *(W + 25)) ^ *(W + 23)) << 1) | ((((*(W + 36) ^ *(W + 31)) ^ *(W + 25)) ^ *(W + 23)) >> 31);
  *((uint32_t volatile   *)(W + 39)) = (uint32_t volatile   )temp;
  a += ((temp + ((b___0 << 5) | (b___0 >> 27))) + ((c___0 ^ d) ^ e)) + 1859775393U;
  c___0 = (c___0 << 30) | (c___0 >> 2);
  temp = ((((*(W + 37) ^ *(W + 32)) ^ *(W + 26)) ^ *(W + 24)) << 1) | ((((*(W + 37) ^ *(W + 32)) ^ *(W + 26)) ^ *(W + 24)) >> 31);
  *((uint32_t volatile   *)(W + 40)) = (uint32_t volatile   )temp;
  e += ((temp + ((a << 5) | (a >> 27))) + ((b___0 & c___0) + (d & (b___0 ^ c___0)))) + 0x8F1BBCDC;
  b___0 = (b___0 << 30) | (b___0 >> 2);
  temp = ((((*(W + 38) ^ *(W + 33)) ^ *(W + 27)) ^ *(W + 25)) << 1) | ((((*(W + 38) ^ *(W + 33)) ^ *(W + 27)) ^ *(W + 25)) >> 31);
  *((uint32_t volatile   *)(W + 41)) = (uint32_t volatile   )temp;
  d += ((temp + ((e << 5) | (e >> 27))) + ((a & b___0) + (c___0 & (a ^ b___0)))) + 0x8F1BBCDC;
  a = (a << 30) | (a >> 2);
  temp = ((((*(W + 39) ^ *(W + 34)) ^ *(W + 28)) ^ *(W + 26)) << 1) | ((((*(W + 39) ^ *(W + 34)) ^ *(W + 28)) ^ *(W + 26)) >> 31);
  *((uint32_t volatile   *)(W + 42)) = (uint32_t volatile   )temp;
  c___0 += ((temp + ((d << 5) | (d >> 27))) + ((e & a) + (b___0 & (e ^ a)))) + 0x8F1BBCDC;
  e = (e << 30) | (e >> 2);
  temp = ((((*(W + 40) ^ *(W + 35)) ^ *(W + 29)) ^ *(W + 27)) << 1) | ((((*(W + 40) ^ *(W + 35)) ^ *(W + 29)) ^ *(W + 27)) >> 31);
  *((uint32_t volatile   *)(W + 43)) = (uint32_t volatile   )temp;
  b___0 += ((temp + ((c___0 << 5) | (c___0 >> 27))) + ((d & e) + (a & (d ^ e)))) + 0x8F1BBCDC;
  d = (d << 30) | (d >> 2);
  temp = ((((*(W + 41) ^ *(W + 36)) ^ *(W + 30)) ^ *(W + 28)) << 1) | ((((*(W + 41) ^ *(W + 36)) ^ *(W + 30)) ^ *(W + 28)) >> 31);
  *((uint32_t volatile   *)(W + 44)) = (uint32_t volatile   )temp;
  a += ((temp + ((b___0 << 5) | (b___0 >> 27))) + ((c___0 & d) + (e & (c___0 ^ d)))) + 0x8F1BBCDC;
  c___0 = (c___0 << 30) | (c___0 >> 2);
  temp = ((((*(W + 42) ^ *(W + 37)) ^ *(W + 31)) ^ *(W + 29)) << 1) | ((((*(W + 42) ^ *(W + 37)) ^ *(W + 31)) ^ *(W + 29)) >> 31);
  *((uint32_t volatile   *)(W + 45)) = (uint32_t volatile   )temp;
  e += ((temp + ((a << 5) | (a >> 27))) + ((b___0 & c___0) + (d & (b___0 ^ c___0)))) + 0x8F1BBCDC;
  b___0 = (b___0 << 30) | (b___0 >> 2);
  temp = ((((*(W + 43) ^ *(W + 38)) ^ *(W + 32)) ^ *(W + 30)) << 1) | ((((*(W + 43) ^ *(W + 38)) ^ *(W + 32)) ^ *(W + 30)) >> 31);
  *((uint32_t volatile   *)(W + 46)) = (uint32_t volatile   )temp;
  d += ((temp + ((e << 5) | (e >> 27))) + ((a & b___0) + (c___0 & (a ^ b___0)))) + 0x8F1BBCDC;
  a = (a << 30) | (a >> 2);
  temp = ((((*(W + 44) ^ *(W + 39)) ^ *(W + 33)) ^ *(W + 31)) << 1) | ((((*(W + 44) ^ *(W + 39)) ^ *(W + 33)) ^ *(W + 31)) >> 31);
  *((uint32_t volatile   *)(W + 47)) = (uint32_t volatile   )temp;
  c___0 += ((temp + ((d << 5) | (d >> 27))) + ((e & a) + (b___0 & (e ^ a)))) + 0x8F1BBCDC;
  e = (e << 30) | (e >> 2);
  temp = ((((*(W + 45) ^ *(W + 40)) ^ *(W + 34)) ^ *(W + 32)) << 1) | ((((*(W + 45) ^ *(W + 40)) ^ *(W + 34)) ^ *(W + 32)) >> 31);
  *((uint32_t volatile   *)(W + 48)) = (uint32_t volatile   )temp;
  b___0 += ((temp + ((c___0 << 5) | (c___0 >> 27))) + ((d & e) + (a & (d ^ e)))) + 0x8F1BBCDC;
  d = (d << 30) | (d >> 2);
  temp = ((((*(W + 46) ^ *(W + 41)) ^ *(W + 35)) ^ *(W + 33)) << 1) | ((((*(W + 46) ^ *(W + 41)) ^ *(W + 35)) ^ *(W + 33)) >> 31);
  *((uint32_t volatile   *)(W + 49)) = (uint32_t volatile   )temp;
  a += ((temp + ((b___0 << 5) | (b___0 >> 27))) + ((c___0 & d) + (e & (c___0 ^ d)))) + 0x8F1BBCDC;
  c___0 = (c___0 << 30) | (c___0 >> 2);
  temp = ((((*(W + 47) ^ *(W + 42)) ^ *(W + 36)) ^ *(W + 34)) << 1) | ((((*(W + 47) ^ *(W + 42)) ^ *(W + 36)) ^ *(W + 34)) >> 31);
  *((uint32_t volatile   *)(W + 50)) = (uint32_t volatile   )temp;
  e += ((temp + ((a << 5) | (a >> 27))) + ((b___0 & c___0) + (d & (b___0 ^ c___0)))) + 0x8F1BBCDC;
  b___0 = (b___0 << 30) | (b___0 >> 2);
  temp = ((((*(W + 48) ^ *(W + 43)) ^ *(W + 37)) ^ *(W + 35)) << 1) | ((((*(W + 48) ^ *(W + 43)) ^ *(W + 37)) ^ *(W + 35)) >> 31);
  *((uint32_t volatile   *)(W + 51)) = (uint32_t volatile   )temp;
  d += ((temp + ((e << 5) | (e >> 27))) + ((a & b___0) + (c___0 & (a ^ b___0)))) + 0x8F1BBCDC;
  a = (a << 30) | (a >> 2);
  temp = ((((*(W + 49) ^ *(W + 44)) ^ *(W + 38)) ^ *(W + 36)) << 1) | ((((*(W + 49) ^ *(W + 44)) ^ *(W + 38)) ^ *(W + 36)) >> 31);
  *((uint32_t volatile   *)(W + 52)) = (uint32_t volatile   )temp;
  c___0 += ((temp + ((d << 5) | (d >> 27))) + ((e & a) + (b___0 & (e ^ a)))) + 0x8F1BBCDC;
  e = (e << 30) | (e >> 2);
  temp = ((((*(W + 50) ^ *(W + 45)) ^ *(W + 39)) ^ *(W + 37)) << 1) | ((((*(W + 50) ^ *(W + 45)) ^ *(W + 39)) ^ *(W + 37)) >> 31);
  *((uint32_t volatile   *)(W + 53)) = (uint32_t volatile   )temp;
  b___0 += ((temp + ((c___0 << 5) | (c___0 >> 27))) + ((d & e) + (a & (d ^ e)))) + 0x8F1BBCDC;
  d = (d << 30) | (d >> 2);
  temp = ((((*(W + 51) ^ *(W + 46)) ^ *(W + 40)) ^ *(W + 38)) << 1) | ((((*(W + 51) ^ *(W + 46)) ^ *(W + 40)) ^ *(W + 38)) >> 31);
  *((uint32_t volatile   *)(W + 54)) = (uint32_t volatile   )temp;
  a += ((temp + ((b___0 << 5) | (b___0 >> 27))) + ((c___0 & d) + (e & (c___0 ^ d)))) + 0x8F1BBCDC;
  c___0 = (c___0 << 30) | (c___0 >> 2);
  temp = ((((*(W + 52) ^ *(W + 47)) ^ *(W + 41)) ^ *(W + 39)) << 1) | ((((*(W + 52) ^ *(W + 47)) ^ *(W + 41)) ^ *(W + 39)) >> 31);
  *((uint32_t volatile   *)(W + 55)) = (uint32_t volatile   )temp;
  e += ((temp + ((a << 5) | (a >> 27))) + ((b___0 & c___0) + (d & (b___0 ^ c___0)))) + 0x8F1BBCDC;
  b___0 = (b___0 << 30) | (b___0 >> 2);
  temp = ((((*(W + 53) ^ *(W + 48)) ^ *(W + 42)) ^ *(W + 40)) << 1) | ((((*(W + 53) ^ *(W + 48)) ^ *(W + 42)) ^ *(W + 40)) >> 31);
  *((uint32_t volatile   *)(W + 56)) = (uint32_t volatile   )temp;
  d += ((temp + ((e << 5) | (e >> 27))) + ((a & b___0) + (c___0 & (a ^ b___0)))) + 0x8F1BBCDC;
  a = (a << 30) | (a >> 2);
  temp = ((((*(W + 54) ^ *(W + 49)) ^ *(W + 43)) ^ *(W + 41)) << 1) | ((((*(W + 54) ^ *(W + 49)) ^ *(W + 43)) ^ *(W + 41)) >> 31);
  *((uint32_t volatile   *)(W + 57)) = (uint32_t volatile   )temp;
  c___0 += ((temp + ((d << 5) | (d >> 27))) + ((e & a) + (b___0 & (e ^ a)))) + 0x8F1BBCDC;
  e = (e << 30) | (e >> 2);
  (*(states + 58))[0] = a;
  (*(states + 58))[1] = b___0;
  (*(states + 58))[2] = c___0;
  (*(states + 58))[3] = d;
  (*(states + 58))[4] = e;
  temp = ((((*(W + 55) ^ *(W + 50)) ^ *(W + 44)) ^ *(W + 42)) << 1) | ((((*(W + 55) ^ *(W + 50)) ^ *(W + 44)) ^ *(W + 42)) >> 31);
  *((uint32_t volatile   *)(W + 58)) = (uint32_t volatile   )temp;
  b___0 += ((temp + ((c___0 << 5) | (c___0 >> 27))) + ((d & e) + (a & (d ^ e)))) + 0x8F1BBCDC;
  d = (d << 30) | (d >> 2);
  temp = ((((*(W + 56) ^ *(W + 51)) ^ *(W + 45)) ^ *(W + 43)) << 1) | ((((*(W + 56) ^ *(W + 51)) ^ *(W + 45)) ^ *(W + 43)) >> 31);
  *((uint32_t volatile   *)(W + 59)) = (uint32_t volatile   )temp;
  a += ((temp + ((b___0 << 5) | (b___0 >> 27))) + ((c___0 & d) + (e & (c___0 ^ d)))) + 0x8F1BBCDC;
  c___0 = (c___0 << 30) | (c___0 >> 2);
  temp = ((((*(W + 57) ^ *(W + 52)) ^ *(W + 46)) ^ *(W + 44)) << 1) | ((((*(W + 57) ^ *(W + 52)) ^ *(W + 46)) ^ *(W + 44)) >> 31);
  *((uint32_t volatile   *)(W + 60)) = (uint32_t volatile   )temp;
  e += ((temp + ((a << 5) | (a >> 27))) + ((b___0 ^ c___0) ^ d)) + 0xCA62C1D6;
  b___0 = (b___0 << 30) | (b___0 >> 2);
  temp = ((((*(W + 58) ^ *(W + 53)) ^ *(W + 47)) ^ *(W + 45)) << 1) | ((((*(W + 58) ^ *(W + 53)) ^ *(W + 47)) ^ *(W + 45)) >> 31);
  *((uint32_t volatile   *)(W + 61)) = (uint32_t volatile   )temp;
  d += ((temp + ((e << 5) | (e >> 27))) + ((a ^ b___0) ^ c___0)) + 0xCA62C1D6;
  a = (a << 30) | (a >> 2);
  temp = ((((*(W + 59) ^ *(W + 54)) ^ *(W + 48)) ^ *(W + 46)) << 1) | ((((*(W + 59) ^ *(W + 54)) ^ *(W + 48)) ^ *(W + 46)) >> 31);
  *((uint32_t volatile   *)(W + 62)) = (uint32_t volatile   )temp;
  c___0 += ((temp + ((d << 5) | (d >> 27))) + ((e ^ a) ^ b___0)) + 0xCA62C1D6;
  e = (e << 30) | (e >> 2);
  temp = ((((*(W + 60) ^ *(W + 55)) ^ *(W + 49)) ^ *(W + 47)) << 1) | ((((*(W + 60) ^ *(W + 55)) ^ *(W + 49)) ^ *(W + 47)) >> 31);
  *((uint32_t volatile   *)(W + 63)) = (uint32_t volatile   )temp;
  b___0 += ((temp + ((c___0 << 5) | (c___0 >> 27))) + ((d ^ e) ^ a)) + 0xCA62C1D6;
  d = (d << 30) | (d >> 2);
  temp = ((((*(W + 61) ^ *(W + 56)) ^ *(W + 50)) ^ *(W + 48)) << 1) | ((((*(W + 61) ^ *(W + 56)) ^ *(W + 50)) ^ *(W + 48)) >> 31);
  *((uint32_t volatile   *)(W + 64)) = (uint32_t volatile   )temp;
  a += ((temp + ((b___0 << 5) | (b___0 >> 27))) + ((c___0 ^ d) ^ e)) + 0xCA62C1D6;
  c___0 = (c___0 << 30) | (c___0 >> 2);
  (*(states + 65))[0] = a;
  (*(states + 65))[1] = b___0;
  (*(states + 65))[2] = c___0;
  (*(states + 65))[3] = d;
  (*(states + 65))[4] = e;
  temp = ((((*(W + 62) ^ *(W + 57)) ^ *(W + 51)) ^ *(W + 49)) << 1) | ((((*(W + 62) ^ *(W + 57)) ^ *(W + 51)) ^ *(W + 49)) >> 31);
  *((uint32_t volatile   *)(W + 65)) = (uint32_t volatile   )temp;
  e += ((temp + ((a << 5) | (a >> 27))) + ((b___0 ^ c___0) ^ d)) + 0xCA62C1D6;
  b___0 = (b___0 << 30) | (b___0 >> 2);
  temp = ((((*(W + 63) ^ *(W + 58)) ^ *(W + 52)) ^ *(W + 50)) << 1) | ((((*(W + 63) ^ *(W + 58)) ^ *(W + 52)) ^ *(W + 50)) >> 31);
  *((uint32_t volatile   *)(W + 66)) = (uint32_t volatile   )temp;
  d += ((temp + ((e << 5) | (e >> 27))) + ((a ^ b___0) ^ c___0)) + 0xCA62C1D6;
  a = (a << 30) | (a >> 2);
  temp = ((((*(W + 64) ^ *(W + 59)) ^ *(W + 53)) ^ *(W + 51)) << 1) | ((((*(W + 64) ^ *(W + 59)) ^ *(W + 53)) ^ *(W + 51)) >> 31);
  *((uint32_t volatile   *)(W + 67)) = (uint32_t volatile   )temp;
  c___0 += ((temp + ((d << 5) | (d >> 27))) + ((e ^ a) ^ b___0)) + 0xCA62C1D6;
  e = (e << 30) | (e >> 2);
  temp = ((((*(W + 65) ^ *(W + 60)) ^ *(W + 54)) ^ *(W + 52)) << 1) | ((((*(W + 65) ^ *(W + 60)) ^ *(W + 54)) ^ *(W + 52)) >> 31);
  *((uint32_t volatile   *)(W + 68)) = (uint32_t volatile   )temp;
  b___0 += ((temp + ((c___0 << 5) | (c___0 >> 27))) + ((d ^ e) ^ a)) + 0xCA62C1D6;
  d = (d << 30) | (d >> 2);
  temp = ((((*(W + 66) ^ *(W + 61)) ^ *(W + 55)) ^ *(W + 53)) << 1) | ((((*(W + 66) ^ *(W + 61)) ^ *(W + 55)) ^ *(W + 53)) >> 31);
  *((uint32_t volatile   *)(W + 69)) = (uint32_t volatile   )temp;
  a += ((temp + ((b___0 << 5) | (b___0 >> 27))) + ((c___0 ^ d) ^ e)) + 0xCA62C1D6;
  c___0 = (c___0 << 30) | (c___0 >> 2);
  temp = ((((*(W + 67) ^ *(W + 62)) ^ *(W + 56)) ^ *(W + 54)) << 1) | ((((*(W + 67) ^ *(W + 62)) ^ *(W + 56)) ^ *(W + 54)) >> 31);
  *((uint32_t volatile   *)(W + 70)) = (uint32_t volatile   )temp;
  e += ((temp + ((a << 5) | (a >> 27))) + ((b___0 ^ c___0) ^ d)) + 0xCA62C1D6;
  b___0 = (b___0 << 30) | (b___0 >> 2);
  temp = ((((*(W + 68) ^ *(W + 63)) ^ *(W + 57)) ^ *(W + 55)) << 1) | ((((*(W + 68) ^ *(W + 63)) ^ *(W + 57)) ^ *(W + 55)) >> 31);
  *((uint32_t volatile   *)(W + 71)) = (uint32_t volatile   )temp;
  d += ((temp + ((e << 5) | (e >> 27))) + ((a ^ b___0) ^ c___0)) + 0xCA62C1D6;
  a = (a << 30) | (a >> 2);
  temp = ((((*(W + 69) ^ *(W + 64)) ^ *(W + 58)) ^ *(W + 56)) << 1) | ((((*(W + 69) ^ *(W + 64)) ^ *(W + 58)) ^ *(W + 56)) >> 31);
  *((uint32_t volatile   *)(W + 72)) = (uint32_t volatile   )temp;
  c___0 += ((temp + ((d << 5) | (d >> 27))) + ((e ^ a) ^ b___0)) + 0xCA62C1D6;
  e = (e << 30) | (e >> 2);
  temp = ((((*(W + 70) ^ *(W + 65)) ^ *(W + 59)) ^ *(W + 57)) << 1) | ((((*(W + 70) ^ *(W + 65)) ^ *(W + 59)) ^ *(W + 57)) >> 31);
  *((uint32_t volatile   *)(W + 73)) = (uint32_t volatile   )temp;
  b___0 += ((temp + ((c___0 << 5) | (c___0 >> 27))) + ((d ^ e) ^ a)) + 0xCA62C1D6;
  d = (d << 30) | (d >> 2);
  temp = ((((*(W + 71) ^ *(W + 66)) ^ *(W + 60)) ^ *(W + 58)) << 1) | ((((*(W + 71) ^ *(W + 66)) ^ *(W + 60)) ^ *(W + 58)) >> 31);
  *((uint32_t volatile   *)(W + 74)) = (uint32_t volatile   )temp;
  a += ((temp + ((b___0 << 5) | (b___0 >> 27))) + ((c___0 ^ d) ^ e)) + 0xCA62C1D6;
  c___0 = (c___0 << 30) | (c___0 >> 2);
  temp = ((((*(W + 72) ^ *(W + 67)) ^ *(W + 61)) ^ *(W + 59)) << 1) | ((((*(W + 72) ^ *(W + 67)) ^ *(W + 61)) ^ *(W + 59)) >> 31);
  *((uint32_t volatile   *)(W + 75)) = (uint32_t volatile   )temp;
  e += ((temp + ((a << 5) | (a >> 27))) + ((b___0 ^ c___0) ^ d)) + 0xCA62C1D6;
  b___0 = (b___0 << 30) | (b___0 >> 2);
  temp = ((((*(W + 73) ^ *(W + 68)) ^ *(W + 62)) ^ *(W + 60)) << 1) | ((((*(W + 73) ^ *(W + 68)) ^ *(W + 62)) ^ *(W + 60)) >> 31);
  *((uint32_t volatile   *)(W + 76)) = (uint32_t volatile   )temp;
  d += ((temp + ((e << 5) | (e >> 27))) + ((a ^ b___0) ^ c___0)) + 0xCA62C1D6;
  a = (a << 30) | (a >> 2);
  temp = ((((*(W + 74) ^ *(W + 69)) ^ *(W + 63)) ^ *(W + 61)) << 1) | ((((*(W + 74) ^ *(W + 69)) ^ *(W + 63)) ^ *(W + 61)) >> 31);
  *((uint32_t volatile   *)(W + 77)) = (uint32_t volatile   )temp;
  c___0 += ((temp + ((d << 5) | (d >> 27))) + ((e ^ a) ^ b___0)) + 0xCA62C1D6;
  e = (e << 30) | (e >> 2);
  temp = ((((*(W + 75) ^ *(W + 70)) ^ *(W + 64)) ^ *(W + 62)) << 1) | ((((*(W + 75) ^ *(W + 70)) ^ *(W + 64)) ^ *(W + 62)) >> 31);
  *((uint32_t volatile   *)(W + 78)) = (uint32_t volatile   )temp;
  b___0 += ((temp + ((c___0 << 5) | (c___0 >> 27))) + ((d ^ e) ^ a)) + 0xCA62C1D6;
  d = (d << 30) | (d >> 2);
  temp = ((((*(W + 76) ^ *(W + 71)) ^ *(W + 65)) ^ *(W + 63)) << 1) | ((((*(W + 76) ^ *(W + 71)) ^ *(W + 65)) ^ *(W + 63)) >> 31);
  *((uint32_t volatile   *)(W + 79)) = (uint32_t volatile   )temp;
  a += ((temp + ((b___0 << 5) | (b___0 >> 27))) + ((c___0 ^ d) ^ e)) + 0xCA62C1D6;
  c___0 = (c___0 << 30) | (c___0 >> 2);
  *(ihv + 0) += a;
  *(ihv + 1) += b___0;
  *(ihv + 2) += c___0;
  *(ihv + 3) += d;
  *(ihv + 4) += e;
  return;
}
}
static void sha1recompress_fast_58(uint32_t *ihvin , uint32_t *ihvout , uint32_t const   *me2 ,
                                   uint32_t const   *state___1 )
{
  uint32_t a ;
  uint32_t b___0 ;
  uint32_t c___0 ;
  uint32_t d ;
  uint32_t e ;

  {
  a = (uint32_t )*(state___1 + 0);
  b___0 = (uint32_t )*(state___1 + 1);
  c___0 = (uint32_t )*(state___1 + 2);
  d = (uint32_t )*(state___1 + 3);
  e = (uint32_t )*(state___1 + 4);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + ((e & a) + (b___0 & (e ^ a)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 57);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + ((a & b___0) + (c___0 & (a ^ b___0)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 56);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + ((b___0 & c___0) + (d & (b___0 ^ c___0)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 55);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 & d) + (e & (c___0 ^ d)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 54);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + ((d & e) + (a & (d ^ e)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 53);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + ((e & a) + (b___0 & (e ^ a)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 52);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + ((a & b___0) + (c___0 & (a ^ b___0)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 51);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + ((b___0 & c___0) + (d & (b___0 ^ c___0)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 50);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 & d) + (e & (c___0 ^ d)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 49);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + ((d & e) + (a & (d ^ e)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 48);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + ((e & a) + (b___0 & (e ^ a)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 47);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + ((a & b___0) + (c___0 & (a ^ b___0)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 46);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + ((b___0 & c___0) + (d & (b___0 ^ c___0)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 45);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 & d) + (e & (c___0 ^ d)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 44);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + ((d & e) + (a & (d ^ e)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 43);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + ((e & a) + (b___0 & (e ^ a)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 42);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + ((a & b___0) + (c___0 & (a ^ b___0)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 41);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + ((b___0 & c___0) + (d & (b___0 ^ c___0)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 40);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 1859775393U) + (unsigned int )*(me2 + 39);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 1859775393U) + (unsigned int )*(me2 + 38);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 1859775393U) + (unsigned int )*(me2 + 37);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 1859775393U) + (unsigned int )*(me2 + 36);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 1859775393U) + (unsigned int )*(me2 + 35);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 1859775393U) + (unsigned int )*(me2 + 34);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 1859775393U) + (unsigned int )*(me2 + 33);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 1859775393U) + (unsigned int )*(me2 + 32);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 1859775393U) + (unsigned int )*(me2 + 31);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 1859775393U) + (unsigned int )*(me2 + 30);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 1859775393U) + (unsigned int )*(me2 + 29);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 1859775393U) + (unsigned int )*(me2 + 28);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 1859775393U) + (unsigned int )*(me2 + 27);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 1859775393U) + (unsigned int )*(me2 + 26);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 1859775393U) + (unsigned int )*(me2 + 25);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 1859775393U) + (unsigned int )*(me2 + 24);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 1859775393U) + (unsigned int )*(me2 + 23);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 1859775393U) + (unsigned int )*(me2 + 22);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 1859775393U) + (unsigned int )*(me2 + 21);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 1859775393U) + (unsigned int )*(me2 + 20);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + (e ^ (c___0 & (d ^ e)))) + 1518500249U) + (unsigned int )*(me2 + 19);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + (a ^ (d & (e ^ a)))) + 1518500249U) + (unsigned int )*(me2 + 18);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + (b___0 ^ (e & (a ^ b___0)))) + 1518500249U) + (unsigned int )*(me2 + 17);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + (c___0 ^ (a & (b___0 ^ c___0)))) + 1518500249U) + (unsigned int )*(me2 + 16);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + (d ^ (b___0 & (c___0 ^ d)))) + 1518500249U) + (unsigned int )*(me2 + 15);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + (e ^ (c___0 & (d ^ e)))) + 1518500249U) + (unsigned int )*(me2 + 14);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + (a ^ (d & (e ^ a)))) + 1518500249U) + (unsigned int )*(me2 + 13);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + (b___0 ^ (e & (a ^ b___0)))) + 1518500249U) + (unsigned int )*(me2 + 12);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + (c___0 ^ (a & (b___0 ^ c___0)))) + 1518500249U) + (unsigned int )*(me2 + 11);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + (d ^ (b___0 & (c___0 ^ d)))) + 1518500249U) + (unsigned int )*(me2 + 10);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + (e ^ (c___0 & (d ^ e)))) + 1518500249U) + (unsigned int )*(me2 + 9);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + (a ^ (d & (e ^ a)))) + 1518500249U) + (unsigned int )*(me2 + 8);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + (b___0 ^ (e & (a ^ b___0)))) + 1518500249U) + (unsigned int )*(me2 + 7);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + (c___0 ^ (a & (b___0 ^ c___0)))) + 1518500249U) + (unsigned int )*(me2 + 6);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + (d ^ (b___0 & (c___0 ^ d)))) + 1518500249U) + (unsigned int )*(me2 + 5);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + (e ^ (c___0 & (d ^ e)))) + 1518500249U) + (unsigned int )*(me2 + 4);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + (a ^ (d & (e ^ a)))) + 1518500249U) + (unsigned int )*(me2 + 3);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + (b___0 ^ (e & (a ^ b___0)))) + 1518500249U) + (unsigned int )*(me2 + 2);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + (c___0 ^ (a & (b___0 ^ c___0)))) + 1518500249U) + (unsigned int )*(me2 + 1);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + (d ^ (b___0 & (c___0 ^ d)))) + 1518500249U) + (unsigned int )*(me2 + 0);
  *(ihvin + 0) = a;
  *(ihvin + 1) = b___0;
  *(ihvin + 2) = c___0;
  *(ihvin + 3) = d;
  *(ihvin + 4) = e;
  a = (uint32_t )*(state___1 + 0);
  b___0 = (uint32_t )*(state___1 + 1);
  c___0 = (uint32_t )*(state___1 + 2);
  d = (uint32_t )*(state___1 + 3);
  e = (uint32_t )*(state___1 + 4);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + ((d & e) + (a & (d ^ e)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 58);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 & d) + (e & (c___0 ^ d)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 59);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 0xCA62C1D6) + (unsigned int )*(me2 + 60);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 0xCA62C1D6) + (unsigned int )*(me2 + 61);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 0xCA62C1D6) + (unsigned int )*(me2 + 62);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 0xCA62C1D6) + (unsigned int )*(me2 + 63);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 0xCA62C1D6) + (unsigned int )*(me2 + 64);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 0xCA62C1D6) + (unsigned int )*(me2 + 65);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 0xCA62C1D6) + (unsigned int )*(me2 + 66);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 0xCA62C1D6) + (unsigned int )*(me2 + 67);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 0xCA62C1D6) + (unsigned int )*(me2 + 68);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 0xCA62C1D6) + (unsigned int )*(me2 + 69);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 0xCA62C1D6) + (unsigned int )*(me2 + 70);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 0xCA62C1D6) + (unsigned int )*(me2 + 71);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 0xCA62C1D6) + (unsigned int )*(me2 + 72);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 0xCA62C1D6) + (unsigned int )*(me2 + 73);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 0xCA62C1D6) + (unsigned int )*(me2 + 74);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 0xCA62C1D6) + (unsigned int )*(me2 + 75);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 0xCA62C1D6) + (unsigned int )*(me2 + 76);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 0xCA62C1D6) + (unsigned int )*(me2 + 77);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 0xCA62C1D6) + (unsigned int )*(me2 + 78);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 0xCA62C1D6) + (unsigned int )*(me2 + 79);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  *(ihvout + 0) = *(ihvin + 0) + a;
  *(ihvout + 1) = *(ihvin + 1) + b___0;
  *(ihvout + 2) = *(ihvin + 2) + c___0;
  *(ihvout + 3) = *(ihvin + 3) + d;
  *(ihvout + 4) = *(ihvin + 4) + e;
  return;
}
}
static void sha1recompress_fast_65(uint32_t *ihvin , uint32_t *ihvout , uint32_t const   *me2 ,
                                   uint32_t const   *state___1 )
{
  uint32_t a ;
  uint32_t b___0 ;
  uint32_t c___0 ;
  uint32_t d ;
  uint32_t e ;

  {
  a = (uint32_t )*(state___1 + 0);
  b___0 = (uint32_t )*(state___1 + 1);
  c___0 = (uint32_t )*(state___1 + 2);
  d = (uint32_t )*(state___1 + 3);
  e = (uint32_t )*(state___1 + 4);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 0xCA62C1D6) + (unsigned int )*(me2 + 64);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 0xCA62C1D6) + (unsigned int )*(me2 + 63);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 0xCA62C1D6) + (unsigned int )*(me2 + 62);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 0xCA62C1D6) + (unsigned int )*(me2 + 61);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 0xCA62C1D6) + (unsigned int )*(me2 + 60);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 & d) + (e & (c___0 ^ d)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 59);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + ((d & e) + (a & (d ^ e)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 58);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + ((e & a) + (b___0 & (e ^ a)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 57);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + ((a & b___0) + (c___0 & (a ^ b___0)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 56);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + ((b___0 & c___0) + (d & (b___0 ^ c___0)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 55);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 & d) + (e & (c___0 ^ d)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 54);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + ((d & e) + (a & (d ^ e)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 53);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + ((e & a) + (b___0 & (e ^ a)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 52);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + ((a & b___0) + (c___0 & (a ^ b___0)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 51);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + ((b___0 & c___0) + (d & (b___0 ^ c___0)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 50);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 & d) + (e & (c___0 ^ d)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 49);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + ((d & e) + (a & (d ^ e)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 48);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + ((e & a) + (b___0 & (e ^ a)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 47);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + ((a & b___0) + (c___0 & (a ^ b___0)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 46);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + ((b___0 & c___0) + (d & (b___0 ^ c___0)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 45);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 & d) + (e & (c___0 ^ d)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 44);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + ((d & e) + (a & (d ^ e)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 43);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + ((e & a) + (b___0 & (e ^ a)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 42);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + ((a & b___0) + (c___0 & (a ^ b___0)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 41);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + ((b___0 & c___0) + (d & (b___0 ^ c___0)))) + 0x8F1BBCDC) + (unsigned int )*(me2 + 40);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 1859775393U) + (unsigned int )*(me2 + 39);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 1859775393U) + (unsigned int )*(me2 + 38);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 1859775393U) + (unsigned int )*(me2 + 37);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 1859775393U) + (unsigned int )*(me2 + 36);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 1859775393U) + (unsigned int )*(me2 + 35);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 1859775393U) + (unsigned int )*(me2 + 34);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 1859775393U) + (unsigned int )*(me2 + 33);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 1859775393U) + (unsigned int )*(me2 + 32);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 1859775393U) + (unsigned int )*(me2 + 31);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 1859775393U) + (unsigned int )*(me2 + 30);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 1859775393U) + (unsigned int )*(me2 + 29);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 1859775393U) + (unsigned int )*(me2 + 28);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 1859775393U) + (unsigned int )*(me2 + 27);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 1859775393U) + (unsigned int )*(me2 + 26);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 1859775393U) + (unsigned int )*(me2 + 25);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 1859775393U) + (unsigned int )*(me2 + 24);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 1859775393U) + (unsigned int )*(me2 + 23);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 1859775393U) + (unsigned int )*(me2 + 22);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 1859775393U) + (unsigned int )*(me2 + 21);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 1859775393U) + (unsigned int )*(me2 + 20);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + (e ^ (c___0 & (d ^ e)))) + 1518500249U) + (unsigned int )*(me2 + 19);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + (a ^ (d & (e ^ a)))) + 1518500249U) + (unsigned int )*(me2 + 18);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + (b___0 ^ (e & (a ^ b___0)))) + 1518500249U) + (unsigned int )*(me2 + 17);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + (c___0 ^ (a & (b___0 ^ c___0)))) + 1518500249U) + (unsigned int )*(me2 + 16);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + (d ^ (b___0 & (c___0 ^ d)))) + 1518500249U) + (unsigned int )*(me2 + 15);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + (e ^ (c___0 & (d ^ e)))) + 1518500249U) + (unsigned int )*(me2 + 14);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + (a ^ (d & (e ^ a)))) + 1518500249U) + (unsigned int )*(me2 + 13);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + (b___0 ^ (e & (a ^ b___0)))) + 1518500249U) + (unsigned int )*(me2 + 12);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + (c___0 ^ (a & (b___0 ^ c___0)))) + 1518500249U) + (unsigned int )*(me2 + 11);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + (d ^ (b___0 & (c___0 ^ d)))) + 1518500249U) + (unsigned int )*(me2 + 10);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + (e ^ (c___0 & (d ^ e)))) + 1518500249U) + (unsigned int )*(me2 + 9);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + (a ^ (d & (e ^ a)))) + 1518500249U) + (unsigned int )*(me2 + 8);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + (b___0 ^ (e & (a ^ b___0)))) + 1518500249U) + (unsigned int )*(me2 + 7);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + (c___0 ^ (a & (b___0 ^ c___0)))) + 1518500249U) + (unsigned int )*(me2 + 6);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + (d ^ (b___0 & (c___0 ^ d)))) + 1518500249U) + (unsigned int )*(me2 + 5);
  c___0 = (c___0 >> 30) | (c___0 << 2);
  a -= ((((b___0 << 5) | (b___0 >> 27)) + (e ^ (c___0 & (d ^ e)))) + 1518500249U) + (unsigned int )*(me2 + 4);
  d = (d >> 30) | (d << 2);
  b___0 -= ((((c___0 << 5) | (c___0 >> 27)) + (a ^ (d & (e ^ a)))) + 1518500249U) + (unsigned int )*(me2 + 3);
  e = (e >> 30) | (e << 2);
  c___0 -= ((((d << 5) | (d >> 27)) + (b___0 ^ (e & (a ^ b___0)))) + 1518500249U) + (unsigned int )*(me2 + 2);
  a = (a >> 30) | (a << 2);
  d -= ((((e << 5) | (e >> 27)) + (c___0 ^ (a & (b___0 ^ c___0)))) + 1518500249U) + (unsigned int )*(me2 + 1);
  b___0 = (b___0 >> 30) | (b___0 << 2);
  e -= ((((a << 5) | (a >> 27)) + (d ^ (b___0 & (c___0 ^ d)))) + 1518500249U) + (unsigned int )*(me2 + 0);
  *(ihvin + 0) = a;
  *(ihvin + 1) = b___0;
  *(ihvin + 2) = c___0;
  *(ihvin + 3) = d;
  *(ihvin + 4) = e;
  a = (uint32_t )*(state___1 + 0);
  b___0 = (uint32_t )*(state___1 + 1);
  c___0 = (uint32_t )*(state___1 + 2);
  d = (uint32_t )*(state___1 + 3);
  e = (uint32_t )*(state___1 + 4);
  e += ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 0xCA62C1D6) + (unsigned int )*(me2 + 65);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 0xCA62C1D6) + (unsigned int )*(me2 + 66);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 0xCA62C1D6) + (unsigned int )*(me2 + 67);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 0xCA62C1D6) + (unsigned int )*(me2 + 68);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 0xCA62C1D6) + (unsigned int )*(me2 + 69);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 0xCA62C1D6) + (unsigned int )*(me2 + 70);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 0xCA62C1D6) + (unsigned int )*(me2 + 71);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 0xCA62C1D6) + (unsigned int )*(me2 + 72);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 0xCA62C1D6) + (unsigned int )*(me2 + 73);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 0xCA62C1D6) + (unsigned int )*(me2 + 74);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  e += ((((a << 5) | (a >> 27)) + ((b___0 ^ c___0) ^ d)) + 0xCA62C1D6) + (unsigned int )*(me2 + 75);
  b___0 = (b___0 << 30) | (b___0 >> 2);
  d += ((((e << 5) | (e >> 27)) + ((a ^ b___0) ^ c___0)) + 0xCA62C1D6) + (unsigned int )*(me2 + 76);
  a = (a << 30) | (a >> 2);
  c___0 += ((((d << 5) | (d >> 27)) + ((e ^ a) ^ b___0)) + 0xCA62C1D6) + (unsigned int )*(me2 + 77);
  e = (e << 30) | (e >> 2);
  b___0 += ((((c___0 << 5) | (c___0 >> 27)) + ((d ^ e) ^ a)) + 0xCA62C1D6) + (unsigned int )*(me2 + 78);
  d = (d << 30) | (d >> 2);
  a += ((((b___0 << 5) | (b___0 >> 27)) + ((c___0 ^ d) ^ e)) + 0xCA62C1D6) + (unsigned int )*(me2 + 79);
  c___0 = (c___0 << 30) | (c___0 >> 2);
  *(ihvout + 0) = *(ihvin + 0) + a;
  *(ihvout + 1) = *(ihvin + 1) + b___0;
  *(ihvout + 2) = *(ihvin + 2) + c___0;
  *(ihvout + 3) = *(ihvin + 3) + d;
  *(ihvout + 4) = *(ihvin + 4) + e;
  return;
}
}
static void sha1_recompression_step(uint32_t step , uint32_t *ihvin , uint32_t *ihvout ,
                                    uint32_t const   *me2 , uint32_t const   *state___1 )
{


  {
  {
  if (step == 58U) {
    goto case_58;
  }
  if (step == 65U) {
    goto case_65;
  }
  goto switch_default;
  case_58: /* CIL Label */
  sha1recompress_fast_58(ihvin, ihvout, me2, state___1);
  goto switch_break;
  case_65: /* CIL Label */
  sha1recompress_fast_65(ihvin, ihvout, me2, state___1);
  goto switch_break;
  switch_default: /* CIL Label */
  abort();
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static void sha1_process(SHA1_CTX *ctx___0 , uint32_t const   *block___0 )
{
  unsigned int i ;
  unsigned int j ;
  uint32_t ubc_dv_mask[1] ;
  uint32_t ihvtmp[5] ;

  {
  ubc_dv_mask[0] = 0xFFFFFFFF;
  ctx___0->ihv1[0] = ctx___0->ihv[0];
  ctx___0->ihv1[1] = ctx___0->ihv[1];
  ctx___0->ihv1[2] = ctx___0->ihv[2];
  ctx___0->ihv1[3] = ctx___0->ihv[3];
  ctx___0->ihv1[4] = ctx___0->ihv[4];
  sha1_compression_states((uint32_t *)(ctx___0->ihv), block___0, (uint32_t *)(ctx___0->m1),
                          (uint32_t (*)[5])(ctx___0->states));
  if (ctx___0->detect_coll) {
    if (ctx___0->ubc_check) {
      ubc_check((uint32_t const   *)(ctx___0->m1), (uint32_t *)(ubc_dv_mask));
    }
    if (ubc_dv_mask[0] != 0U) {
      i = 0U;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! (sha1_dvs[i].dvType != 0)) {
          goto while_break;
        }
        if (ubc_dv_mask[0] & (1U << sha1_dvs[i].maskb)) {
          j = 0U;
          {
          while (1) {
            while_continue___0: /* CIL Label */ ;
            if (! (j < 80U)) {
              goto while_break___0;
            }
            ctx___0->m2[j] = ctx___0->m1[j] ^ sha1_dvs[i].dm[j];
            j ++;
          }
          while_break___0: /* CIL Label */ ;
          }
          sha1_recompression_step((uint32_t )sha1_dvs[i].testt, (uint32_t *)(ctx___0->ihv2),
                                  (uint32_t *)(ihvtmp), (uint32_t const   *)(ctx___0->m2),
                                  (uint32_t const   *)(ctx___0->states[sha1_dvs[i].testt]));
          if (0U == (((((ihvtmp[0] ^ ctx___0->ihv[0]) | (ihvtmp[1] ^ ctx___0->ihv[1])) | (ihvtmp[2] ^ ctx___0->ihv[2])) | (ihvtmp[3] ^ ctx___0->ihv[3])) | (ihvtmp[4] ^ ctx___0->ihv[4]))) {
            goto _L;
          } else
          if (ctx___0->reduced_round_coll) {
            if (0U == (((((ctx___0->ihv1[0] ^ ctx___0->ihv2[0]) | (ctx___0->ihv1[1] ^ ctx___0->ihv2[1])) | (ctx___0->ihv1[2] ^ ctx___0->ihv2[2])) | (ctx___0->ihv1[3] ^ ctx___0->ihv2[3])) | (ctx___0->ihv1[4] ^ ctx___0->ihv2[4]))) {
              _L: /* CIL Label */
              ctx___0->found_collision = 1;
              if (ctx___0->safe_hash) {
                sha1_compression_W((uint32_t *)(ctx___0->ihv), (uint32_t const   *)(ctx___0->m1));
                sha1_compression_W((uint32_t *)(ctx___0->ihv), (uint32_t const   *)(ctx___0->m1));
              }
              goto while_break;
            }
          }
        }
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
    }
  }
  return;
}
}
void SHA1DCInit(SHA1_CTX *ctx___0 )
{


  {
  ctx___0->total = (uint64_t )0;
  ctx___0->ihv[0] = (uint32_t )0x67452301;
  ctx___0->ihv[1] = 0xEFCDAB89;
  ctx___0->ihv[2] = 0x98BADCFE;
  ctx___0->ihv[3] = (uint32_t )0x10325476;
  ctx___0->ihv[4] = 0xC3D2E1F0;
  ctx___0->found_collision = 0;
  ctx___0->safe_hash = 0;
  ctx___0->ubc_check = 1;
  ctx___0->detect_coll = 1;
  ctx___0->reduced_round_coll = 0;
  ctx___0->callback = (void (*)(uint64_t  , uint32_t const   * , uint32_t const   * ,
                                uint32_t const   * , uint32_t const   * ))((void *)0);
  return;
}
}
void SHA1DCSetSafeHash(SHA1_CTX *ctx___0 , int safehash )
{


  {
  if (safehash) {
    ctx___0->safe_hash = 1;
  } else {
    ctx___0->safe_hash = 0;
  }
  return;
}
}
void SHA1DCSetUseUBC(SHA1_CTX *ctx___0 , int ubc_check___0 )
{


  {
  if (ubc_check___0) {
    ctx___0->ubc_check = 1;
  } else {
    ctx___0->ubc_check = 0;
  }
  return;
}
}
void SHA1DCSetUseDetectColl(SHA1_CTX *ctx___0 , int detect_coll )
{


  {
  if (detect_coll) {
    ctx___0->detect_coll = 1;
  } else {
    ctx___0->detect_coll = 0;
  }
  return;
}
}
void SHA1DCSetDetectReducedRoundCollision(SHA1_CTX *ctx___0 , int reduced_round_coll )
{


  {
  if (reduced_round_coll) {
    ctx___0->reduced_round_coll = 1;
  } else {
    ctx___0->reduced_round_coll = 0;
  }
  return;
}
}
void SHA1DCSetCallback(SHA1_CTX *ctx___0 , void (*callback)(uint64_t  , uint32_t const   * ,
                                                            uint32_t const   * , uint32_t const   * ,
                                                            uint32_t const   * ) )
{


  {
  ctx___0->callback = callback;
  return;
}
}
void SHA1DCUpdate(SHA1_CTX *ctx___0 , char const   *buf___19 , size_t len___0 )
{
  unsigned int left ;
  unsigned int fill___2 ;

  {
  if (len___0 == 0UL) {
    return;
  }
  left = (unsigned int )(ctx___0->total & 63UL);
  fill___2 = 64U - left;
  if (left) {
    if (len___0 >= (size_t )fill___2) {
      ctx___0->total += (uint64_t )fill___2;
      memcpy((void *)(ctx___0->buffer + left), (void const   *)buf___19, (size_t )fill___2);
      sha1_process(ctx___0, (uint32_t const   *)((uint32_t *)(ctx___0->buffer)));
      buf___19 += fill___2;
      len___0 -= (size_t )fill___2;
      left = 0U;
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (len___0 >= 64UL)) {
      goto while_break;
    }
    ctx___0->total += 64UL;
    sha1_process(ctx___0, (uint32_t const   *)((uint32_t *)buf___19));
    buf___19 += 64;
    len___0 -= 64UL;
  }
  while_break: /* CIL Label */ ;
  }
  if (len___0 > 0UL) {
    ctx___0->total += len___0;
    memcpy((void *)(ctx___0->buffer + left), (void const   *)buf___19, len___0);
  }
  return;
}
}
static unsigned char const   sha1_padding[64]  =
  {      (unsigned char const   )0x80,      (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,
        (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,
        (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,
        (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,
        (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,
        (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,
        (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,
        (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,
        (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,
        (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,
        (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,
        (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,
        (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,
        (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,
        (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,
        (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0,      (unsigned char const   )0};
int SHA1DCFinal(unsigned char *output___4 , SHA1_CTX *ctx___0 )
{
  uint32_t last ;
  uint32_t padn ;
  uint32_t tmp ;
  uint64_t total ;

  {
  last = (uint32_t )(ctx___0->total & 63UL);
  if (last < 56U) {
    tmp = 56U - last;
  } else {
    tmp = 120U - last;
  }
  padn = tmp;
  SHA1DCUpdate(ctx___0, (char const   *)(sha1_padding), (size_t )padn);
  total = ctx___0->total - (uint64_t )padn;
  total <<= 3;
  ctx___0->buffer[56] = (unsigned char )(total >> 56);
  ctx___0->buffer[57] = (unsigned char )(total >> 48);
  ctx___0->buffer[58] = (unsigned char )(total >> 40);
  ctx___0->buffer[59] = (unsigned char )(total >> 32);
  ctx___0->buffer[60] = (unsigned char )(total >> 24);
  ctx___0->buffer[61] = (unsigned char )(total >> 16);
  ctx___0->buffer[62] = (unsigned char )(total >> 8);
  ctx___0->buffer[63] = (unsigned char )total;
  sha1_process(ctx___0, (uint32_t const   *)((uint32_t *)(ctx___0->buffer)));
  *(output___4 + 0) = (unsigned char )(ctx___0->ihv[0] >> 24);
  *(output___4 + 1) = (unsigned char )(ctx___0->ihv[0] >> 16);
  *(output___4 + 2) = (unsigned char )(ctx___0->ihv[0] >> 8);
  *(output___4 + 3) = (unsigned char )ctx___0->ihv[0];
  *(output___4 + 4) = (unsigned char )(ctx___0->ihv[1] >> 24);
  *(output___4 + 5) = (unsigned char )(ctx___0->ihv[1] >> 16);
  *(output___4 + 6) = (unsigned char )(ctx___0->ihv[1] >> 8);
  *(output___4 + 7) = (unsigned char )ctx___0->ihv[1];
  *(output___4 + 8) = (unsigned char )(ctx___0->ihv[2] >> 24);
  *(output___4 + 9) = (unsigned char )(ctx___0->ihv[2] >> 16);
  *(output___4 + 10) = (unsigned char )(ctx___0->ihv[2] >> 8);
  *(output___4 + 11) = (unsigned char )ctx___0->ihv[2];
  *(output___4 + 12) = (unsigned char )(ctx___0->ihv[3] >> 24);
  *(output___4 + 13) = (unsigned char )(ctx___0->ihv[3] >> 16);
  *(output___4 + 14) = (unsigned char )(ctx___0->ihv[3] >> 8);
  *(output___4 + 15) = (unsigned char )ctx___0->ihv[3];
  *(output___4 + 16) = (unsigned char )(ctx___0->ihv[4] >> 24);
  *(output___4 + 17) = (unsigned char )(ctx___0->ihv[4] >> 16);
  *(output___4 + 18) = (unsigned char )(ctx___0->ihv[4] >> 8);
  *(output___4 + 19) = (unsigned char )ctx___0->ihv[4];
  return (ctx___0->found_collision);
}
}
static unsigned int const   DV_I_43_0_bit  =    (uint32_t const   )1U;
static unsigned int const   DV_I_44_0_bit  =    (uint32_t const   )(1U << 1);
static unsigned int const   DV_I_45_0_bit  =    (uint32_t const   )(1U << 2);
static unsigned int const   DV_I_46_0_bit  =    (uint32_t const   )(1U << 3);
static unsigned int const   DV_I_46_2_bit  =    (uint32_t const   )(1U << 4);
static unsigned int const   DV_I_47_0_bit  =    (uint32_t const   )(1U << 5);
static unsigned int const   DV_I_47_2_bit  =    (uint32_t const   )(1U << 6);
static unsigned int const   DV_I_48_0_bit  =    (uint32_t const   )(1U << 7);
static unsigned int const   DV_I_48_2_bit  =    (uint32_t const   )(1U << 8);
static unsigned int const   DV_I_49_0_bit  =    (uint32_t const   )(1U << 9);
static unsigned int const   DV_I_49_2_bit  =    (uint32_t const   )(1U << 10);
static unsigned int const   DV_I_50_0_bit  =    (uint32_t const   )(1U << 11);
static unsigned int const   DV_I_50_2_bit  =    (uint32_t const   )(1U << 12);
static unsigned int const   DV_I_51_0_bit  =    (uint32_t const   )(1U << 13);
static unsigned int const   DV_I_51_2_bit  =    (uint32_t const   )(1U << 14);
static unsigned int const   DV_I_52_0_bit  =    (uint32_t const   )(1U << 15);
static unsigned int const   DV_II_45_0_bit  =    (uint32_t const   )(1U << 16);
static unsigned int const   DV_II_46_0_bit  =    (uint32_t const   )(1U << 17);
static unsigned int const   DV_II_46_2_bit  =    (uint32_t const   )(1U << 18);
static unsigned int const   DV_II_47_0_bit  =    (uint32_t const   )(1U << 19);
static unsigned int const   DV_II_48_0_bit  =    (uint32_t const   )(1U << 20);
static unsigned int const   DV_II_49_0_bit  =    (uint32_t const   )(1U << 21);
static unsigned int const   DV_II_49_2_bit  =    (uint32_t const   )(1U << 22);
static unsigned int const   DV_II_50_0_bit  =    (uint32_t const   )(1U << 23);
static unsigned int const   DV_II_50_2_bit  =    (uint32_t const   )(1U << 24);
static unsigned int const   DV_II_51_0_bit  =    (uint32_t const   )(1U << 25);
static unsigned int const   DV_II_51_2_bit  =    (uint32_t const   )(1U << 26);
static unsigned int const   DV_II_52_0_bit  =    (uint32_t const   )(1U << 27);
static unsigned int const   DV_II_53_0_bit  =    (uint32_t const   )(1U << 28);
static unsigned int const   DV_II_54_0_bit  =    (uint32_t const   )(1U << 29);
static unsigned int const   DV_II_55_0_bit  =    (uint32_t const   )(1U << 30);
static unsigned int const   DV_II_56_0_bit  =    (uint32_t const   )(1U << 31);
dv_info_t sha1_dvs[33]  =
  {      {1, 43, 0, 58, 0, 0, {(uint32_t )0x08000000, 0x9800000c, 0xd8000010, (uint32_t )0x08000010,
                           0xb8000010, 0x98000000, (uint32_t )0x60000000, (uint32_t )0x00000008,
                           0xc0000000, 0x90000014, (uint32_t )0x10000010, 0xb8000014,
                           (uint32_t )0x28000000, (uint32_t )0x20000010, (uint32_t )0x48000000,
                           (uint32_t )0x08000018, (uint32_t )0x60000000, 0x90000010,
                           0xf0000010, 0x90000008, 0xc0000000, 0x90000010, 0xf0000010,
                           0xb0000008, (uint32_t )0x40000000, 0x90000000, 0xf0000010,
                           0x90000018, (uint32_t )0x60000000, 0x90000010, 0x90000010,
                           0x90000000, 0x80000000, (uint32_t )0x00000010, 0xa0000000,
                           (uint32_t )0x20000000, 0xa0000000, (uint32_t )0x20000010,
                           (uint32_t )0x00000000, (uint32_t )0x20000010, (uint32_t )0x20000000,
                           (uint32_t )0x00000010, (uint32_t )0x20000000, (uint32_t )0x00000010,
                           0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                           (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000001,
                           (uint32_t )0x00000020, (uint32_t )0x00000001, (uint32_t )0x40000002,
                           (uint32_t )0x40000040, (uint32_t )0x40000002, 0x80000004,
                           0x80000080, 0x80000006, (uint32_t )0x00000049, (uint32_t )0x00000103,
                           0x80000009, 0x80000012, 0x80000202, (uint32_t )0x00000018,
                           (uint32_t )0x00000164, (uint32_t )0x00000408, 0x800000e6,
                           0x8000004c, (uint32_t )0x00000803, 0x80000161, 0x80000599}},
        {1,
      44, 0, 58, 0, 1, {0xb4000008, (uint32_t )0x08000000, 0x9800000c, 0xd8000010,
                        (uint32_t )0x08000010, 0xb8000010, 0x98000000, (uint32_t )0x60000000,
                        (uint32_t )0x00000008, 0xc0000000, 0x90000014, (uint32_t )0x10000010,
                        0xb8000014, (uint32_t )0x28000000, (uint32_t )0x20000010,
                        (uint32_t )0x48000000, (uint32_t )0x08000018, (uint32_t )0x60000000,
                        0x90000010, 0xf0000010, 0x90000008, 0xc0000000, 0x90000010,
                        0xf0000010, 0xb0000008, (uint32_t )0x40000000, 0x90000000,
                        0xf0000010, 0x90000018, (uint32_t )0x60000000, 0x90000010,
                        0x90000010, 0x90000000, 0x80000000, (uint32_t )0x00000010,
                        0xa0000000, (uint32_t )0x20000000, 0xa0000000, (uint32_t )0x20000010,
                        (uint32_t )0x00000000, (uint32_t )0x20000010, (uint32_t )0x20000000,
                        (uint32_t )0x00000010, (uint32_t )0x20000000, (uint32_t )0x00000010,
                        0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                        (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                        (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                        (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                        (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000001,
                        (uint32_t )0x00000020, (uint32_t )0x00000001, (uint32_t )0x40000002,
                        (uint32_t )0x40000040, (uint32_t )0x40000002, 0x80000004,
                        0x80000080, 0x80000006, (uint32_t )0x00000049, (uint32_t )0x00000103,
                        0x80000009, 0x80000012, 0x80000202, (uint32_t )0x00000018,
                        (uint32_t )0x00000164, (uint32_t )0x00000408, 0x800000e6,
                        0x8000004c, (uint32_t )0x00000803, 0x80000161}},
        {1, 45, 0, 58, 0, 2, {0xf4000014, 0xb4000008, (uint32_t )0x08000000, 0x9800000c,
                           0xd8000010, (uint32_t )0x08000010, 0xb8000010, 0x98000000,
                           (uint32_t )0x60000000, (uint32_t )0x00000008, 0xc0000000,
                           0x90000014, (uint32_t )0x10000010, 0xb8000014, (uint32_t )0x28000000,
                           (uint32_t )0x20000010, (uint32_t )0x48000000, (uint32_t )0x08000018,
                           (uint32_t )0x60000000, 0x90000010, 0xf0000010, 0x90000008,
                           0xc0000000, 0x90000010, 0xf0000010, 0xb0000008, (uint32_t )0x40000000,
                           0x90000000, 0xf0000010, 0x90000018, (uint32_t )0x60000000,
                           0x90000010, 0x90000010, 0x90000000, 0x80000000, (uint32_t )0x00000010,
                           0xa0000000, (uint32_t )0x20000000, 0xa0000000, (uint32_t )0x20000010,
                           (uint32_t )0x00000000, (uint32_t )0x20000010, (uint32_t )0x20000000,
                           (uint32_t )0x00000010, (uint32_t )0x20000000, (uint32_t )0x00000010,
                           0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                           (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000001,
                           (uint32_t )0x00000020, (uint32_t )0x00000001, (uint32_t )0x40000002,
                           (uint32_t )0x40000040, (uint32_t )0x40000002, 0x80000004,
                           0x80000080, 0x80000006, (uint32_t )0x00000049, (uint32_t )0x00000103,
                           0x80000009, 0x80000012, 0x80000202, (uint32_t )0x00000018,
                           (uint32_t )0x00000164, (uint32_t )0x00000408, 0x800000e6,
                           0x8000004c, (uint32_t )0x00000803}},
        {1, 46, 0, 58, 0, 3, {(uint32_t )0x2c000010, 0xf4000014, 0xb4000008, (uint32_t )0x08000000,
                           0x9800000c, 0xd8000010, (uint32_t )0x08000010, 0xb8000010,
                           0x98000000, (uint32_t )0x60000000, (uint32_t )0x00000008,
                           0xc0000000, 0x90000014, (uint32_t )0x10000010, 0xb8000014,
                           (uint32_t )0x28000000, (uint32_t )0x20000010, (uint32_t )0x48000000,
                           (uint32_t )0x08000018, (uint32_t )0x60000000, 0x90000010,
                           0xf0000010, 0x90000008, 0xc0000000, 0x90000010, 0xf0000010,
                           0xb0000008, (uint32_t )0x40000000, 0x90000000, 0xf0000010,
                           0x90000018, (uint32_t )0x60000000, 0x90000010, 0x90000010,
                           0x90000000, 0x80000000, (uint32_t )0x00000010, 0xa0000000,
                           (uint32_t )0x20000000, 0xa0000000, (uint32_t )0x20000010,
                           (uint32_t )0x00000000, (uint32_t )0x20000010, (uint32_t )0x20000000,
                           (uint32_t )0x00000010, (uint32_t )0x20000000, (uint32_t )0x00000010,
                           0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                           (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000001,
                           (uint32_t )0x00000020, (uint32_t )0x00000001, (uint32_t )0x40000002,
                           (uint32_t )0x40000040, (uint32_t )0x40000002, 0x80000004,
                           0x80000080, 0x80000006, (uint32_t )0x00000049, (uint32_t )0x00000103,
                           0x80000009, 0x80000012, 0x80000202, (uint32_t )0x00000018,
                           (uint32_t )0x00000164, (uint32_t )0x00000408, 0x800000e6,
                           0x8000004c}},
        {1, 46, 2, 58, 0, 4, {0xb0000040, 0xd0000053, 0xd0000022, (uint32_t )0x20000000,
                           (uint32_t )0x60000032, (uint32_t )0x60000043, (uint32_t )0x20000040,
                           0xe0000042, (uint32_t )0x60000002, 0x80000001, (uint32_t )0x00000020,
                           (uint32_t )0x00000003, (uint32_t )0x40000052, (uint32_t )0x40000040,
                           0xe0000052, 0xa0000000, 0x80000040, (uint32_t )0x20000001,
                           (uint32_t )0x20000060, 0x80000001, (uint32_t )0x40000042,
                           0xc0000043, (uint32_t )0x40000022, (uint32_t )0x00000003,
                           (uint32_t )0x40000042, 0xc0000043, 0xc0000022, (uint32_t )0x00000001,
                           (uint32_t )0x40000002, 0xc0000043, (uint32_t )0x40000062,
                           0x80000001, (uint32_t )0x40000042, (uint32_t )0x40000042,
                           (uint32_t )0x40000002, (uint32_t )0x00000002, (uint32_t )0x00000040,
                           0x80000002, 0x80000000, 0x80000002, 0x80000040, (uint32_t )0x00000000,
                           0x80000040, 0x80000000, (uint32_t )0x00000040, 0x80000000,
                           (uint32_t )0x00000040, 0x80000002, (uint32_t )0x00000000,
                           0x80000000, 0x80000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000004,
                           (uint32_t )0x00000080, (uint32_t )0x00000004, (uint32_t )0x00000009,
                           (uint32_t )0x00000101, (uint32_t )0x00000009, (uint32_t )0x00000012,
                           (uint32_t )0x00000202, (uint32_t )0x0000001a, (uint32_t )0x00000124,
                           (uint32_t )0x0000040c, (uint32_t )0x00000026, (uint32_t )0x0000004a,
                           (uint32_t )0x0000080a, (uint32_t )0x00000060, (uint32_t )0x00000590,
                           (uint32_t )0x00001020, (uint32_t )0x0000039a, (uint32_t )0x00000132}},
        {1,
      47, 0, 58, 0, 5, {0xc8000010, (uint32_t )0x2c000010, 0xf4000014, 0xb4000008,
                        (uint32_t )0x08000000, 0x9800000c, 0xd8000010, (uint32_t )0x08000010,
                        0xb8000010, 0x98000000, (uint32_t )0x60000000, (uint32_t )0x00000008,
                        0xc0000000, 0x90000014, (uint32_t )0x10000010, 0xb8000014,
                        (uint32_t )0x28000000, (uint32_t )0x20000010, (uint32_t )0x48000000,
                        (uint32_t )0x08000018, (uint32_t )0x60000000, 0x90000010,
                        0xf0000010, 0x90000008, 0xc0000000, 0x90000010, 0xf0000010,
                        0xb0000008, (uint32_t )0x40000000, 0x90000000, 0xf0000010,
                        0x90000018, (uint32_t )0x60000000, 0x90000010, 0x90000010,
                        0x90000000, 0x80000000, (uint32_t )0x00000010, 0xa0000000,
                        (uint32_t )0x20000000, 0xa0000000, (uint32_t )0x20000010,
                        (uint32_t )0x00000000, (uint32_t )0x20000010, (uint32_t )0x20000000,
                        (uint32_t )0x00000010, (uint32_t )0x20000000, (uint32_t )0x00000010,
                        0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                        (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                        (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                        (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                        (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000001,
                        (uint32_t )0x00000020, (uint32_t )0x00000001, (uint32_t )0x40000002,
                        (uint32_t )0x40000040, (uint32_t )0x40000002, 0x80000004,
                        0x80000080, 0x80000006, (uint32_t )0x00000049, (uint32_t )0x00000103,
                        0x80000009, 0x80000012, 0x80000202, (uint32_t )0x00000018,
                        (uint32_t )0x00000164, (uint32_t )0x00000408, 0x800000e6}},
        {1,
      47, 2, 58, 0, 6, {(uint32_t )0x20000043, 0xb0000040, 0xd0000053, 0xd0000022,
                        (uint32_t )0x20000000, (uint32_t )0x60000032, (uint32_t )0x60000043,
                        (uint32_t )0x20000040, 0xe0000042, (uint32_t )0x60000002,
                        0x80000001, (uint32_t )0x00000020, (uint32_t )0x00000003,
                        (uint32_t )0x40000052, (uint32_t )0x40000040, 0xe0000052,
                        0xa0000000, 0x80000040, (uint32_t )0x20000001, (uint32_t )0x20000060,
                        0x80000001, (uint32_t )0x40000042, 0xc0000043, (uint32_t )0x40000022,
                        (uint32_t )0x00000003, (uint32_t )0x40000042, 0xc0000043,
                        0xc0000022, (uint32_t )0x00000001, (uint32_t )0x40000002,
                        0xc0000043, (uint32_t )0x40000062, 0x80000001, (uint32_t )0x40000042,
                        (uint32_t )0x40000042, (uint32_t )0x40000002, (uint32_t )0x00000002,
                        (uint32_t )0x00000040, 0x80000002, 0x80000000, 0x80000002,
                        0x80000040, (uint32_t )0x00000000, 0x80000040, 0x80000000,
                        (uint32_t )0x00000040, 0x80000000, (uint32_t )0x00000040,
                        0x80000002, (uint32_t )0x00000000, 0x80000000, 0x80000000,
                        (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                        (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                        (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                        (uint32_t )0x00000000, (uint32_t )0x00000004, (uint32_t )0x00000080,
                        (uint32_t )0x00000004, (uint32_t )0x00000009, (uint32_t )0x00000101,
                        (uint32_t )0x00000009, (uint32_t )0x00000012, (uint32_t )0x00000202,
                        (uint32_t )0x0000001a, (uint32_t )0x00000124, (uint32_t )0x0000040c,
                        (uint32_t )0x00000026, (uint32_t )0x0000004a, (uint32_t )0x0000080a,
                        (uint32_t )0x00000060, (uint32_t )0x00000590, (uint32_t )0x00001020,
                        (uint32_t )0x0000039a}},
        {1, 48, 0, 58, 0, 7, {0xb800000a, 0xc8000010, (uint32_t )0x2c000010, 0xf4000014,
                           0xb4000008, (uint32_t )0x08000000, 0x9800000c, 0xd8000010,
                           (uint32_t )0x08000010, 0xb8000010, 0x98000000, (uint32_t )0x60000000,
                           (uint32_t )0x00000008, 0xc0000000, 0x90000014, (uint32_t )0x10000010,
                           0xb8000014, (uint32_t )0x28000000, (uint32_t )0x20000010,
                           (uint32_t )0x48000000, (uint32_t )0x08000018, (uint32_t )0x60000000,
                           0x90000010, 0xf0000010, 0x90000008, 0xc0000000, 0x90000010,
                           0xf0000010, 0xb0000008, (uint32_t )0x40000000, 0x90000000,
                           0xf0000010, 0x90000018, (uint32_t )0x60000000, 0x90000010,
                           0x90000010, 0x90000000, 0x80000000, (uint32_t )0x00000010,
                           0xa0000000, (uint32_t )0x20000000, 0xa0000000, (uint32_t )0x20000010,
                           (uint32_t )0x00000000, (uint32_t )0x20000010, (uint32_t )0x20000000,
                           (uint32_t )0x00000010, (uint32_t )0x20000000, (uint32_t )0x00000010,
                           0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                           (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000001,
                           (uint32_t )0x00000020, (uint32_t )0x00000001, (uint32_t )0x40000002,
                           (uint32_t )0x40000040, (uint32_t )0x40000002, 0x80000004,
                           0x80000080, 0x80000006, (uint32_t )0x00000049, (uint32_t )0x00000103,
                           0x80000009, 0x80000012, 0x80000202, (uint32_t )0x00000018,
                           (uint32_t )0x00000164, (uint32_t )0x00000408}},
        {1, 48, 2, 58, 0, 8, {0xe000002a, (uint32_t )0x20000043, 0xb0000040, 0xd0000053,
                           0xd0000022, (uint32_t )0x20000000, (uint32_t )0x60000032,
                           (uint32_t )0x60000043, (uint32_t )0x20000040, 0xe0000042,
                           (uint32_t )0x60000002, 0x80000001, (uint32_t )0x00000020,
                           (uint32_t )0x00000003, (uint32_t )0x40000052, (uint32_t )0x40000040,
                           0xe0000052, 0xa0000000, 0x80000040, (uint32_t )0x20000001,
                           (uint32_t )0x20000060, 0x80000001, (uint32_t )0x40000042,
                           0xc0000043, (uint32_t )0x40000022, (uint32_t )0x00000003,
                           (uint32_t )0x40000042, 0xc0000043, 0xc0000022, (uint32_t )0x00000001,
                           (uint32_t )0x40000002, 0xc0000043, (uint32_t )0x40000062,
                           0x80000001, (uint32_t )0x40000042, (uint32_t )0x40000042,
                           (uint32_t )0x40000002, (uint32_t )0x00000002, (uint32_t )0x00000040,
                           0x80000002, 0x80000000, 0x80000002, 0x80000040, (uint32_t )0x00000000,
                           0x80000040, 0x80000000, (uint32_t )0x00000040, 0x80000000,
                           (uint32_t )0x00000040, 0x80000002, (uint32_t )0x00000000,
                           0x80000000, 0x80000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000004,
                           (uint32_t )0x00000080, (uint32_t )0x00000004, (uint32_t )0x00000009,
                           (uint32_t )0x00000101, (uint32_t )0x00000009, (uint32_t )0x00000012,
                           (uint32_t )0x00000202, (uint32_t )0x0000001a, (uint32_t )0x00000124,
                           (uint32_t )0x0000040c, (uint32_t )0x00000026, (uint32_t )0x0000004a,
                           (uint32_t )0x0000080a, (uint32_t )0x00000060, (uint32_t )0x00000590,
                           (uint32_t )0x00001020}},
        {1, 49, 0, 58, 0, 9, {(uint32_t )0x18000000, 0xb800000a, 0xc8000010, (uint32_t )0x2c000010,
                           0xf4000014, 0xb4000008, (uint32_t )0x08000000, 0x9800000c,
                           0xd8000010, (uint32_t )0x08000010, 0xb8000010, 0x98000000,
                           (uint32_t )0x60000000, (uint32_t )0x00000008, 0xc0000000,
                           0x90000014, (uint32_t )0x10000010, 0xb8000014, (uint32_t )0x28000000,
                           (uint32_t )0x20000010, (uint32_t )0x48000000, (uint32_t )0x08000018,
                           (uint32_t )0x60000000, 0x90000010, 0xf0000010, 0x90000008,
                           0xc0000000, 0x90000010, 0xf0000010, 0xb0000008, (uint32_t )0x40000000,
                           0x90000000, 0xf0000010, 0x90000018, (uint32_t )0x60000000,
                           0x90000010, 0x90000010, 0x90000000, 0x80000000, (uint32_t )0x00000010,
                           0xa0000000, (uint32_t )0x20000000, 0xa0000000, (uint32_t )0x20000010,
                           (uint32_t )0x00000000, (uint32_t )0x20000010, (uint32_t )0x20000000,
                           (uint32_t )0x00000010, (uint32_t )0x20000000, (uint32_t )0x00000010,
                           0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                           (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                           (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000001,
                           (uint32_t )0x00000020, (uint32_t )0x00000001, (uint32_t )0x40000002,
                           (uint32_t )0x40000040, (uint32_t )0x40000002, 0x80000004,
                           0x80000080, 0x80000006, (uint32_t )0x00000049, (uint32_t )0x00000103,
                           0x80000009, 0x80000012, 0x80000202, (uint32_t )0x00000018,
                           (uint32_t )0x00000164}},
        {1, 49, 2, 58, 0, 10, {(uint32_t )0x60000000, 0xe000002a, (uint32_t )0x20000043,
                            0xb0000040, 0xd0000053, 0xd0000022, (uint32_t )0x20000000,
                            (uint32_t )0x60000032, (uint32_t )0x60000043, (uint32_t )0x20000040,
                            0xe0000042, (uint32_t )0x60000002, 0x80000001, (uint32_t )0x00000020,
                            (uint32_t )0x00000003, (uint32_t )0x40000052, (uint32_t )0x40000040,
                            0xe0000052, 0xa0000000, 0x80000040, (uint32_t )0x20000001,
                            (uint32_t )0x20000060, 0x80000001, (uint32_t )0x40000042,
                            0xc0000043, (uint32_t )0x40000022, (uint32_t )0x00000003,
                            (uint32_t )0x40000042, 0xc0000043, 0xc0000022, (uint32_t )0x00000001,
                            (uint32_t )0x40000002, 0xc0000043, (uint32_t )0x40000062,
                            0x80000001, (uint32_t )0x40000042, (uint32_t )0x40000042,
                            (uint32_t )0x40000002, (uint32_t )0x00000002, (uint32_t )0x00000040,
                            0x80000002, 0x80000000, 0x80000002, 0x80000040, (uint32_t )0x00000000,
                            0x80000040, 0x80000000, (uint32_t )0x00000040, 0x80000000,
                            (uint32_t )0x00000040, 0x80000002, (uint32_t )0x00000000,
                            0x80000000, 0x80000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000004,
                            (uint32_t )0x00000080, (uint32_t )0x00000004, (uint32_t )0x00000009,
                            (uint32_t )0x00000101, (uint32_t )0x00000009, (uint32_t )0x00000012,
                            (uint32_t )0x00000202, (uint32_t )0x0000001a, (uint32_t )0x00000124,
                            (uint32_t )0x0000040c, (uint32_t )0x00000026, (uint32_t )0x0000004a,
                            (uint32_t )0x0000080a, (uint32_t )0x00000060, (uint32_t )0x00000590}},
        {1,
      50, 0, 65, 0, 11, {(uint32_t )0x0800000c, (uint32_t )0x18000000, 0xb800000a,
                         0xc8000010, (uint32_t )0x2c000010, 0xf4000014, 0xb4000008,
                         (uint32_t )0x08000000, 0x9800000c, 0xd8000010, (uint32_t )0x08000010,
                         0xb8000010, 0x98000000, (uint32_t )0x60000000, (uint32_t )0x00000008,
                         0xc0000000, 0x90000014, (uint32_t )0x10000010, 0xb8000014,
                         (uint32_t )0x28000000, (uint32_t )0x20000010, (uint32_t )0x48000000,
                         (uint32_t )0x08000018, (uint32_t )0x60000000, 0x90000010,
                         0xf0000010, 0x90000008, 0xc0000000, 0x90000010, 0xf0000010,
                         0xb0000008, (uint32_t )0x40000000, 0x90000000, 0xf0000010,
                         0x90000018, (uint32_t )0x60000000, 0x90000010, 0x90000010,
                         0x90000000, 0x80000000, (uint32_t )0x00000010, 0xa0000000,
                         (uint32_t )0x20000000, 0xa0000000, (uint32_t )0x20000010,
                         (uint32_t )0x00000000, (uint32_t )0x20000010, (uint32_t )0x20000000,
                         (uint32_t )0x00000010, (uint32_t )0x20000000, (uint32_t )0x00000010,
                         0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                         (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                         (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                         (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                         (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000001,
                         (uint32_t )0x00000020, (uint32_t )0x00000001, (uint32_t )0x40000002,
                         (uint32_t )0x40000040, (uint32_t )0x40000002, 0x80000004,
                         0x80000080, 0x80000006, (uint32_t )0x00000049, (uint32_t )0x00000103,
                         0x80000009, 0x80000012, 0x80000202, (uint32_t )0x00000018}},
        {1,
      50, 2, 65, 0, 12, {(uint32_t )0x20000030, (uint32_t )0x60000000, 0xe000002a,
                         (uint32_t )0x20000043, 0xb0000040, 0xd0000053, 0xd0000022,
                         (uint32_t )0x20000000, (uint32_t )0x60000032, (uint32_t )0x60000043,
                         (uint32_t )0x20000040, 0xe0000042, (uint32_t )0x60000002,
                         0x80000001, (uint32_t )0x00000020, (uint32_t )0x00000003,
                         (uint32_t )0x40000052, (uint32_t )0x40000040, 0xe0000052,
                         0xa0000000, 0x80000040, (uint32_t )0x20000001, (uint32_t )0x20000060,
                         0x80000001, (uint32_t )0x40000042, 0xc0000043, (uint32_t )0x40000022,
                         (uint32_t )0x00000003, (uint32_t )0x40000042, 0xc0000043,
                         0xc0000022, (uint32_t )0x00000001, (uint32_t )0x40000002,
                         0xc0000043, (uint32_t )0x40000062, 0x80000001, (uint32_t )0x40000042,
                         (uint32_t )0x40000042, (uint32_t )0x40000002, (uint32_t )0x00000002,
                         (uint32_t )0x00000040, 0x80000002, 0x80000000, 0x80000002,
                         0x80000040, (uint32_t )0x00000000, 0x80000040, 0x80000000,
                         (uint32_t )0x00000040, 0x80000000, (uint32_t )0x00000040,
                         0x80000002, (uint32_t )0x00000000, 0x80000000, 0x80000000,
                         (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                         (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                         (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                         (uint32_t )0x00000000, (uint32_t )0x00000004, (uint32_t )0x00000080,
                         (uint32_t )0x00000004, (uint32_t )0x00000009, (uint32_t )0x00000101,
                         (uint32_t )0x00000009, (uint32_t )0x00000012, (uint32_t )0x00000202,
                         (uint32_t )0x0000001a, (uint32_t )0x00000124, (uint32_t )0x0000040c,
                         (uint32_t )0x00000026, (uint32_t )0x0000004a, (uint32_t )0x0000080a,
                         (uint32_t )0x00000060}},
        {1, 51, 0, 65, 0, 13, {0xe8000000, (uint32_t )0x0800000c, (uint32_t )0x18000000,
                            0xb800000a, 0xc8000010, (uint32_t )0x2c000010, 0xf4000014,
                            0xb4000008, (uint32_t )0x08000000, 0x9800000c, 0xd8000010,
                            (uint32_t )0x08000010, 0xb8000010, 0x98000000, (uint32_t )0x60000000,
                            (uint32_t )0x00000008, 0xc0000000, 0x90000014, (uint32_t )0x10000010,
                            0xb8000014, (uint32_t )0x28000000, (uint32_t )0x20000010,
                            (uint32_t )0x48000000, (uint32_t )0x08000018, (uint32_t )0x60000000,
                            0x90000010, 0xf0000010, 0x90000008, 0xc0000000, 0x90000010,
                            0xf0000010, 0xb0000008, (uint32_t )0x40000000, 0x90000000,
                            0xf0000010, 0x90000018, (uint32_t )0x60000000, 0x90000010,
                            0x90000010, 0x90000000, 0x80000000, (uint32_t )0x00000010,
                            0xa0000000, (uint32_t )0x20000000, 0xa0000000, (uint32_t )0x20000010,
                            (uint32_t )0x00000000, (uint32_t )0x20000010, (uint32_t )0x20000000,
                            (uint32_t )0x00000010, (uint32_t )0x20000000, (uint32_t )0x00000010,
                            0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000001,
                            (uint32_t )0x00000020, (uint32_t )0x00000001, (uint32_t )0x40000002,
                            (uint32_t )0x40000040, (uint32_t )0x40000002, 0x80000004,
                            0x80000080, 0x80000006, (uint32_t )0x00000049, (uint32_t )0x00000103,
                            0x80000009, 0x80000012, 0x80000202}},
        {1, 51, 2, 65, 0, 14, {0xa0000003, (uint32_t )0x20000030, (uint32_t )0x60000000,
                            0xe000002a, (uint32_t )0x20000043, 0xb0000040, 0xd0000053,
                            0xd0000022, (uint32_t )0x20000000, (uint32_t )0x60000032,
                            (uint32_t )0x60000043, (uint32_t )0x20000040, 0xe0000042,
                            (uint32_t )0x60000002, 0x80000001, (uint32_t )0x00000020,
                            (uint32_t )0x00000003, (uint32_t )0x40000052, (uint32_t )0x40000040,
                            0xe0000052, 0xa0000000, 0x80000040, (uint32_t )0x20000001,
                            (uint32_t )0x20000060, 0x80000001, (uint32_t )0x40000042,
                            0xc0000043, (uint32_t )0x40000022, (uint32_t )0x00000003,
                            (uint32_t )0x40000042, 0xc0000043, 0xc0000022, (uint32_t )0x00000001,
                            (uint32_t )0x40000002, 0xc0000043, (uint32_t )0x40000062,
                            0x80000001, (uint32_t )0x40000042, (uint32_t )0x40000042,
                            (uint32_t )0x40000002, (uint32_t )0x00000002, (uint32_t )0x00000040,
                            0x80000002, 0x80000000, 0x80000002, 0x80000040, (uint32_t )0x00000000,
                            0x80000040, 0x80000000, (uint32_t )0x00000040, 0x80000000,
                            (uint32_t )0x00000040, 0x80000002, (uint32_t )0x00000000,
                            0x80000000, 0x80000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000004,
                            (uint32_t )0x00000080, (uint32_t )0x00000004, (uint32_t )0x00000009,
                            (uint32_t )0x00000101, (uint32_t )0x00000009, (uint32_t )0x00000012,
                            (uint32_t )0x00000202, (uint32_t )0x0000001a, (uint32_t )0x00000124,
                            (uint32_t )0x0000040c, (uint32_t )0x00000026, (uint32_t )0x0000004a,
                            (uint32_t )0x0000080a}},
        {1, 52, 0, 65, 0, 15, {(uint32_t )0x04000010, 0xe8000000, (uint32_t )0x0800000c,
                            (uint32_t )0x18000000, 0xb800000a, 0xc8000010, (uint32_t )0x2c000010,
                            0xf4000014, 0xb4000008, (uint32_t )0x08000000, 0x9800000c,
                            0xd8000010, (uint32_t )0x08000010, 0xb8000010, 0x98000000,
                            (uint32_t )0x60000000, (uint32_t )0x00000008, 0xc0000000,
                            0x90000014, (uint32_t )0x10000010, 0xb8000014, (uint32_t )0x28000000,
                            (uint32_t )0x20000010, (uint32_t )0x48000000, (uint32_t )0x08000018,
                            (uint32_t )0x60000000, 0x90000010, 0xf0000010, 0x90000008,
                            0xc0000000, 0x90000010, 0xf0000010, 0xb0000008, (uint32_t )0x40000000,
                            0x90000000, 0xf0000010, 0x90000018, (uint32_t )0x60000000,
                            0x90000010, 0x90000010, 0x90000000, 0x80000000, (uint32_t )0x00000010,
                            0xa0000000, (uint32_t )0x20000000, 0xa0000000, (uint32_t )0x20000010,
                            (uint32_t )0x00000000, (uint32_t )0x20000010, (uint32_t )0x20000000,
                            (uint32_t )0x00000010, (uint32_t )0x20000000, (uint32_t )0x00000010,
                            0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000001,
                            (uint32_t )0x00000020, (uint32_t )0x00000001, (uint32_t )0x40000002,
                            (uint32_t )0x40000040, (uint32_t )0x40000002, 0x80000004,
                            0x80000080, 0x80000006, (uint32_t )0x00000049, (uint32_t )0x00000103,
                            0x80000009, 0x80000012}},
        {2, 45, 0, 58, 0, 16, {0xec000014, (uint32_t )0x0c000002, 0xc0000010, 0xb400001c,
                            (uint32_t )0x2c000004, 0xbc000018, 0xb0000010, (uint32_t )0x0000000c,
                            0xb8000010, (uint32_t )0x08000018, (uint32_t )0x78000010,
                            (uint32_t )0x08000014, (uint32_t )0x70000010, 0xb800001c,
                            0xe8000000, 0xb0000004, (uint32_t )0x58000010, 0xb000000c,
                            (uint32_t )0x48000000, 0xb0000000, 0xb8000010, 0x98000010,
                            0xa0000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x20000000, 0x80000000, (uint32_t )0x00000010,
                            (uint32_t )0x00000000, (uint32_t )0x20000010, (uint32_t )0x20000000,
                            (uint32_t )0x00000010, (uint32_t )0x60000000, (uint32_t )0x00000018,
                            0xe0000000, 0x90000000, (uint32_t )0x30000010, 0xb0000000,
                            (uint32_t )0x20000000, (uint32_t )0x20000000, 0xa0000000,
                            (uint32_t )0x00000010, 0x80000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x20000000, 0x80000000,
                            (uint32_t )0x00000010, (uint32_t )0x00000000, (uint32_t )0x20000010,
                            0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000001, (uint32_t )0x00000020,
                            (uint32_t )0x00000001, (uint32_t )0x40000002, (uint32_t )0x40000041,
                            (uint32_t )0x40000022, 0x80000005, 0xc0000082, 0xc0000046,
                            (uint32_t )0x4000004b, 0x80000107, (uint32_t )0x00000089,
                            (uint32_t )0x00000014, 0x8000024b, (uint32_t )0x0000011b,
                            0x8000016d, 0x8000041a, (uint32_t )0x000002e4, 0x80000054,
                            (uint32_t )0x00000967}},
        {2, 46, 0, 58, 0, 17, {(uint32_t )0x2400001c, 0xec000014, (uint32_t )0x0c000002,
                            0xc0000010, 0xb400001c, (uint32_t )0x2c000004, 0xbc000018,
                            0xb0000010, (uint32_t )0x0000000c, 0xb8000010, (uint32_t )0x08000018,
                            (uint32_t )0x78000010, (uint32_t )0x08000014, (uint32_t )0x70000010,
                            0xb800001c, 0xe8000000, 0xb0000004, (uint32_t )0x58000010,
                            0xb000000c, (uint32_t )0x48000000, 0xb0000000, 0xb8000010,
                            0x98000010, 0xa0000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x20000000, 0x80000000, (uint32_t )0x00000010,
                            (uint32_t )0x00000000, (uint32_t )0x20000010, (uint32_t )0x20000000,
                            (uint32_t )0x00000010, (uint32_t )0x60000000, (uint32_t )0x00000018,
                            0xe0000000, 0x90000000, (uint32_t )0x30000010, 0xb0000000,
                            (uint32_t )0x20000000, (uint32_t )0x20000000, 0xa0000000,
                            (uint32_t )0x00000010, 0x80000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x20000000, 0x80000000,
                            (uint32_t )0x00000010, (uint32_t )0x00000000, (uint32_t )0x20000010,
                            0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000001, (uint32_t )0x00000020,
                            (uint32_t )0x00000001, (uint32_t )0x40000002, (uint32_t )0x40000041,
                            (uint32_t )0x40000022, 0x80000005, 0xc0000082, 0xc0000046,
                            (uint32_t )0x4000004b, 0x80000107, (uint32_t )0x00000089,
                            (uint32_t )0x00000014, 0x8000024b, (uint32_t )0x0000011b,
                            0x8000016d, 0x8000041a, (uint32_t )0x000002e4, 0x80000054}},
        {2,
      46, 2, 58, 0, 18, {0x90000070, 0xb0000053, (uint32_t )0x30000008, (uint32_t )0x00000043,
                         0xd0000072, 0xb0000010, 0xf0000062, 0xc0000042, (uint32_t )0x00000030,
                         0xe0000042, (uint32_t )0x20000060, 0xe0000041, (uint32_t )0x20000050,
                         0xc0000041, 0xe0000072, 0xa0000003, 0xc0000012, (uint32_t )0x60000041,
                         0xc0000032, (uint32_t )0x20000001, 0xc0000002, 0xe0000042,
                         (uint32_t )0x60000042, 0x80000002, (uint32_t )0x00000000,
                         (uint32_t )0x00000000, 0x80000000, (uint32_t )0x00000002,
                         (uint32_t )0x00000040, (uint32_t )0x00000000, 0x80000040,
                         0x80000000, (uint32_t )0x00000040, 0x80000001, (uint32_t )0x00000060,
                         0x80000003, (uint32_t )0x40000002, 0xc0000040, 0xc0000002,
                         0x80000000, 0x80000000, 0x80000002, (uint32_t )0x00000040,
                         (uint32_t )0x00000002, 0x80000000, 0x80000000, 0x80000000,
                         (uint32_t )0x00000002, (uint32_t )0x00000040, (uint32_t )0x00000000,
                         0x80000040, 0x80000002, (uint32_t )0x00000000, 0x80000000,
                         0x80000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                         (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                         (uint32_t )0x00000000, (uint32_t )0x00000004, (uint32_t )0x00000080,
                         (uint32_t )0x00000004, (uint32_t )0x00000009, (uint32_t )0x00000105,
                         (uint32_t )0x00000089, (uint32_t )0x00000016, (uint32_t )0x0000020b,
                         (uint32_t )0x0000011b, (uint32_t )0x0000012d, (uint32_t )0x0000041e,
                         (uint32_t )0x00000224, (uint32_t )0x00000050, (uint32_t )0x0000092e,
                         (uint32_t )0x0000046c, (uint32_t )0x000005b6, (uint32_t )0x0000106a,
                         (uint32_t )0x00000b90, (uint32_t )0x00000152}},
        {2, 47, 0, 58, 0, 19, {(uint32_t )0x20000010, (uint32_t )0x2400001c, 0xec000014,
                            (uint32_t )0x0c000002, 0xc0000010, 0xb400001c, (uint32_t )0x2c000004,
                            0xbc000018, 0xb0000010, (uint32_t )0x0000000c, 0xb8000010,
                            (uint32_t )0x08000018, (uint32_t )0x78000010, (uint32_t )0x08000014,
                            (uint32_t )0x70000010, 0xb800001c, 0xe8000000, 0xb0000004,
                            (uint32_t )0x58000010, 0xb000000c, (uint32_t )0x48000000,
                            0xb0000000, 0xb8000010, 0x98000010, 0xa0000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x20000000, 0x80000000,
                            (uint32_t )0x00000010, (uint32_t )0x00000000, (uint32_t )0x20000010,
                            (uint32_t )0x20000000, (uint32_t )0x00000010, (uint32_t )0x60000000,
                            (uint32_t )0x00000018, 0xe0000000, 0x90000000, (uint32_t )0x30000010,
                            0xb0000000, (uint32_t )0x20000000, (uint32_t )0x20000000,
                            0xa0000000, (uint32_t )0x00000010, 0x80000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x20000000, 0x80000000,
                            (uint32_t )0x00000010, (uint32_t )0x00000000, (uint32_t )0x20000010,
                            0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000001, (uint32_t )0x00000020,
                            (uint32_t )0x00000001, (uint32_t )0x40000002, (uint32_t )0x40000041,
                            (uint32_t )0x40000022, 0x80000005, 0xc0000082, 0xc0000046,
                            (uint32_t )0x4000004b, 0x80000107, (uint32_t )0x00000089,
                            (uint32_t )0x00000014, 0x8000024b, (uint32_t )0x0000011b,
                            0x8000016d, 0x8000041a, (uint32_t )0x000002e4}},
        {2, 48, 0, 58, 0, 20, {0xbc00001a, (uint32_t )0x20000010, (uint32_t )0x2400001c,
                            0xec000014, (uint32_t )0x0c000002, 0xc0000010, 0xb400001c,
                            (uint32_t )0x2c000004, 0xbc000018, 0xb0000010, (uint32_t )0x0000000c,
                            0xb8000010, (uint32_t )0x08000018, (uint32_t )0x78000010,
                            (uint32_t )0x08000014, (uint32_t )0x70000010, 0xb800001c,
                            0xe8000000, 0xb0000004, (uint32_t )0x58000010, 0xb000000c,
                            (uint32_t )0x48000000, 0xb0000000, 0xb8000010, 0x98000010,
                            0xa0000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x20000000, 0x80000000, (uint32_t )0x00000010,
                            (uint32_t )0x00000000, (uint32_t )0x20000010, (uint32_t )0x20000000,
                            (uint32_t )0x00000010, (uint32_t )0x60000000, (uint32_t )0x00000018,
                            0xe0000000, 0x90000000, (uint32_t )0x30000010, 0xb0000000,
                            (uint32_t )0x20000000, (uint32_t )0x20000000, 0xa0000000,
                            (uint32_t )0x00000010, 0x80000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x20000000, 0x80000000,
                            (uint32_t )0x00000010, (uint32_t )0x00000000, (uint32_t )0x20000010,
                            0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000001, (uint32_t )0x00000020,
                            (uint32_t )0x00000001, (uint32_t )0x40000002, (uint32_t )0x40000041,
                            (uint32_t )0x40000022, 0x80000005, 0xc0000082, 0xc0000046,
                            (uint32_t )0x4000004b, 0x80000107, (uint32_t )0x00000089,
                            (uint32_t )0x00000014, 0x8000024b, (uint32_t )0x0000011b,
                            0x8000016d, 0x8000041a}},
        {2, 49, 0, 58, 0, 21, {(uint32_t )0x3c000004, 0xbc00001a, (uint32_t )0x20000010,
                            (uint32_t )0x2400001c, 0xec000014, (uint32_t )0x0c000002,
                            0xc0000010, 0xb400001c, (uint32_t )0x2c000004, 0xbc000018,
                            0xb0000010, (uint32_t )0x0000000c, 0xb8000010, (uint32_t )0x08000018,
                            (uint32_t )0x78000010, (uint32_t )0x08000014, (uint32_t )0x70000010,
                            0xb800001c, 0xe8000000, 0xb0000004, (uint32_t )0x58000010,
                            0xb000000c, (uint32_t )0x48000000, 0xb0000000, 0xb8000010,
                            0x98000010, 0xa0000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x20000000, 0x80000000, (uint32_t )0x00000010,
                            (uint32_t )0x00000000, (uint32_t )0x20000010, (uint32_t )0x20000000,
                            (uint32_t )0x00000010, (uint32_t )0x60000000, (uint32_t )0x00000018,
                            0xe0000000, 0x90000000, (uint32_t )0x30000010, 0xb0000000,
                            (uint32_t )0x20000000, (uint32_t )0x20000000, 0xa0000000,
                            (uint32_t )0x00000010, 0x80000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x20000000, 0x80000000,
                            (uint32_t )0x00000010, (uint32_t )0x00000000, (uint32_t )0x20000010,
                            0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000001, (uint32_t )0x00000020,
                            (uint32_t )0x00000001, (uint32_t )0x40000002, (uint32_t )0x40000041,
                            (uint32_t )0x40000022, 0x80000005, 0xc0000082, 0xc0000046,
                            (uint32_t )0x4000004b, 0x80000107, (uint32_t )0x00000089,
                            (uint32_t )0x00000014, 0x8000024b, (uint32_t )0x0000011b,
                            0x8000016d}},
        {2, 49, 2, 58, 0, 22, {0xf0000010, 0xf000006a, 0x80000040, 0x90000070, 0xb0000053,
                            (uint32_t )0x30000008, (uint32_t )0x00000043, 0xd0000072,
                            0xb0000010, 0xf0000062, 0xc0000042, (uint32_t )0x00000030,
                            0xe0000042, (uint32_t )0x20000060, 0xe0000041, (uint32_t )0x20000050,
                            0xc0000041, 0xe0000072, 0xa0000003, 0xc0000012, (uint32_t )0x60000041,
                            0xc0000032, (uint32_t )0x20000001, 0xc0000002, 0xe0000042,
                            (uint32_t )0x60000042, 0x80000002, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, 0x80000000, (uint32_t )0x00000002,
                            (uint32_t )0x00000040, (uint32_t )0x00000000, 0x80000040,
                            0x80000000, (uint32_t )0x00000040, 0x80000001, (uint32_t )0x00000060,
                            0x80000003, (uint32_t )0x40000002, 0xc0000040, 0xc0000002,
                            0x80000000, 0x80000000, 0x80000002, (uint32_t )0x00000040,
                            (uint32_t )0x00000002, 0x80000000, 0x80000000, 0x80000000,
                            (uint32_t )0x00000002, (uint32_t )0x00000040, (uint32_t )0x00000000,
                            0x80000040, 0x80000002, (uint32_t )0x00000000, 0x80000000,
                            0x80000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000004, (uint32_t )0x00000080,
                            (uint32_t )0x00000004, (uint32_t )0x00000009, (uint32_t )0x00000105,
                            (uint32_t )0x00000089, (uint32_t )0x00000016, (uint32_t )0x0000020b,
                            (uint32_t )0x0000011b, (uint32_t )0x0000012d, (uint32_t )0x0000041e,
                            (uint32_t )0x00000224, (uint32_t )0x00000050, (uint32_t )0x0000092e,
                            (uint32_t )0x0000046c, (uint32_t )0x000005b6}},
        {2, 50, 0, 65, 0, 23, {0xb400001c, (uint32_t )0x3c000004, 0xbc00001a, (uint32_t )0x20000010,
                            (uint32_t )0x2400001c, 0xec000014, (uint32_t )0x0c000002,
                            0xc0000010, 0xb400001c, (uint32_t )0x2c000004, 0xbc000018,
                            0xb0000010, (uint32_t )0x0000000c, 0xb8000010, (uint32_t )0x08000018,
                            (uint32_t )0x78000010, (uint32_t )0x08000014, (uint32_t )0x70000010,
                            0xb800001c, 0xe8000000, 0xb0000004, (uint32_t )0x58000010,
                            0xb000000c, (uint32_t )0x48000000, 0xb0000000, 0xb8000010,
                            0x98000010, 0xa0000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x20000000, 0x80000000, (uint32_t )0x00000010,
                            (uint32_t )0x00000000, (uint32_t )0x20000010, (uint32_t )0x20000000,
                            (uint32_t )0x00000010, (uint32_t )0x60000000, (uint32_t )0x00000018,
                            0xe0000000, 0x90000000, (uint32_t )0x30000010, 0xb0000000,
                            (uint32_t )0x20000000, (uint32_t )0x20000000, 0xa0000000,
                            (uint32_t )0x00000010, 0x80000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x20000000, 0x80000000,
                            (uint32_t )0x00000010, (uint32_t )0x00000000, (uint32_t )0x20000010,
                            0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000001, (uint32_t )0x00000020,
                            (uint32_t )0x00000001, (uint32_t )0x40000002, (uint32_t )0x40000041,
                            (uint32_t )0x40000022, 0x80000005, 0xc0000082, 0xc0000046,
                            (uint32_t )0x4000004b, 0x80000107, (uint32_t )0x00000089,
                            (uint32_t )0x00000014, 0x8000024b, (uint32_t )0x0000011b}},
        {2,
      50, 2, 65, 0, 24, {0xd0000072, 0xf0000010, 0xf000006a, 0x80000040, 0x90000070,
                         0xb0000053, (uint32_t )0x30000008, (uint32_t )0x00000043,
                         0xd0000072, 0xb0000010, 0xf0000062, 0xc0000042, (uint32_t )0x00000030,
                         0xe0000042, (uint32_t )0x20000060, 0xe0000041, (uint32_t )0x20000050,
                         0xc0000041, 0xe0000072, 0xa0000003, 0xc0000012, (uint32_t )0x60000041,
                         0xc0000032, (uint32_t )0x20000001, 0xc0000002, 0xe0000042,
                         (uint32_t )0x60000042, 0x80000002, (uint32_t )0x00000000,
                         (uint32_t )0x00000000, 0x80000000, (uint32_t )0x00000002,
                         (uint32_t )0x00000040, (uint32_t )0x00000000, 0x80000040,
                         0x80000000, (uint32_t )0x00000040, 0x80000001, (uint32_t )0x00000060,
                         0x80000003, (uint32_t )0x40000002, 0xc0000040, 0xc0000002,
                         0x80000000, 0x80000000, 0x80000002, (uint32_t )0x00000040,
                         (uint32_t )0x00000002, 0x80000000, 0x80000000, 0x80000000,
                         (uint32_t )0x00000002, (uint32_t )0x00000040, (uint32_t )0x00000000,
                         0x80000040, 0x80000002, (uint32_t )0x00000000, 0x80000000,
                         0x80000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                         (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                         (uint32_t )0x00000000, (uint32_t )0x00000004, (uint32_t )0x00000080,
                         (uint32_t )0x00000004, (uint32_t )0x00000009, (uint32_t )0x00000105,
                         (uint32_t )0x00000089, (uint32_t )0x00000016, (uint32_t )0x0000020b,
                         (uint32_t )0x0000011b, (uint32_t )0x0000012d, (uint32_t )0x0000041e,
                         (uint32_t )0x00000224, (uint32_t )0x00000050, (uint32_t )0x0000092e,
                         (uint32_t )0x0000046c}},
        {2, 51, 0, 65, 0, 25, {0xc0000010, 0xb400001c, (uint32_t )0x3c000004, 0xbc00001a,
                            (uint32_t )0x20000010, (uint32_t )0x2400001c, 0xec000014,
                            (uint32_t )0x0c000002, 0xc0000010, 0xb400001c, (uint32_t )0x2c000004,
                            0xbc000018, 0xb0000010, (uint32_t )0x0000000c, 0xb8000010,
                            (uint32_t )0x08000018, (uint32_t )0x78000010, (uint32_t )0x08000014,
                            (uint32_t )0x70000010, 0xb800001c, 0xe8000000, 0xb0000004,
                            (uint32_t )0x58000010, 0xb000000c, (uint32_t )0x48000000,
                            0xb0000000, 0xb8000010, 0x98000010, 0xa0000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x20000000, 0x80000000,
                            (uint32_t )0x00000010, (uint32_t )0x00000000, (uint32_t )0x20000010,
                            (uint32_t )0x20000000, (uint32_t )0x00000010, (uint32_t )0x60000000,
                            (uint32_t )0x00000018, 0xe0000000, 0x90000000, (uint32_t )0x30000010,
                            0xb0000000, (uint32_t )0x20000000, (uint32_t )0x20000000,
                            0xa0000000, (uint32_t )0x00000010, 0x80000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x20000000, 0x80000000,
                            (uint32_t )0x00000010, (uint32_t )0x00000000, (uint32_t )0x20000010,
                            0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000001, (uint32_t )0x00000020,
                            (uint32_t )0x00000001, (uint32_t )0x40000002, (uint32_t )0x40000041,
                            (uint32_t )0x40000022, 0x80000005, 0xc0000082, 0xc0000046,
                            (uint32_t )0x4000004b, 0x80000107, (uint32_t )0x00000089,
                            (uint32_t )0x00000014, 0x8000024b}},
        {2, 51, 2, 65, 0, 26, {(uint32_t )0x00000043, 0xd0000072, 0xf0000010, 0xf000006a,
                            0x80000040, 0x90000070, 0xb0000053, (uint32_t )0x30000008,
                            (uint32_t )0x00000043, 0xd0000072, 0xb0000010, 0xf0000062,
                            0xc0000042, (uint32_t )0x00000030, 0xe0000042, (uint32_t )0x20000060,
                            0xe0000041, (uint32_t )0x20000050, 0xc0000041, 0xe0000072,
                            0xa0000003, 0xc0000012, (uint32_t )0x60000041, 0xc0000032,
                            (uint32_t )0x20000001, 0xc0000002, 0xe0000042, (uint32_t )0x60000042,
                            0x80000002, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            0x80000000, (uint32_t )0x00000002, (uint32_t )0x00000040,
                            (uint32_t )0x00000000, 0x80000040, 0x80000000, (uint32_t )0x00000040,
                            0x80000001, (uint32_t )0x00000060, 0x80000003, (uint32_t )0x40000002,
                            0xc0000040, 0xc0000002, 0x80000000, 0x80000000, 0x80000002,
                            (uint32_t )0x00000040, (uint32_t )0x00000002, 0x80000000,
                            0x80000000, 0x80000000, (uint32_t )0x00000002, (uint32_t )0x00000040,
                            (uint32_t )0x00000000, 0x80000040, 0x80000002, (uint32_t )0x00000000,
                            0x80000000, 0x80000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000004, (uint32_t )0x00000080,
                            (uint32_t )0x00000004, (uint32_t )0x00000009, (uint32_t )0x00000105,
                            (uint32_t )0x00000089, (uint32_t )0x00000016, (uint32_t )0x0000020b,
                            (uint32_t )0x0000011b, (uint32_t )0x0000012d, (uint32_t )0x0000041e,
                            (uint32_t )0x00000224, (uint32_t )0x00000050, (uint32_t )0x0000092e}},
        {2,
      52, 0, 65, 0, 27, {(uint32_t )0x0c000002, 0xc0000010, 0xb400001c, (uint32_t )0x3c000004,
                         0xbc00001a, (uint32_t )0x20000010, (uint32_t )0x2400001c,
                         0xec000014, (uint32_t )0x0c000002, 0xc0000010, 0xb400001c,
                         (uint32_t )0x2c000004, 0xbc000018, 0xb0000010, (uint32_t )0x0000000c,
                         0xb8000010, (uint32_t )0x08000018, (uint32_t )0x78000010,
                         (uint32_t )0x08000014, (uint32_t )0x70000010, 0xb800001c,
                         0xe8000000, 0xb0000004, (uint32_t )0x58000010, 0xb000000c,
                         (uint32_t )0x48000000, 0xb0000000, 0xb8000010, 0x98000010,
                         0xa0000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                         (uint32_t )0x20000000, 0x80000000, (uint32_t )0x00000010,
                         (uint32_t )0x00000000, (uint32_t )0x20000010, (uint32_t )0x20000000,
                         (uint32_t )0x00000010, (uint32_t )0x60000000, (uint32_t )0x00000018,
                         0xe0000000, 0x90000000, (uint32_t )0x30000010, 0xb0000000,
                         (uint32_t )0x20000000, (uint32_t )0x20000000, 0xa0000000,
                         (uint32_t )0x00000010, 0x80000000, (uint32_t )0x20000000,
                         (uint32_t )0x20000000, (uint32_t )0x20000000, 0x80000000,
                         (uint32_t )0x00000010, (uint32_t )0x00000000, (uint32_t )0x20000010,
                         0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                         (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                         (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                         (uint32_t )0x00000000, (uint32_t )0x00000001, (uint32_t )0x00000020,
                         (uint32_t )0x00000001, (uint32_t )0x40000002, (uint32_t )0x40000041,
                         (uint32_t )0x40000022, 0x80000005, 0xc0000082, 0xc0000046,
                         (uint32_t )0x4000004b, 0x80000107, (uint32_t )0x00000089,
                         (uint32_t )0x00000014}},
        {2, 53, 0, 65, 0, 28, {0xcc000014, (uint32_t )0x0c000002, 0xc0000010, 0xb400001c,
                            (uint32_t )0x3c000004, 0xbc00001a, (uint32_t )0x20000010,
                            (uint32_t )0x2400001c, 0xec000014, (uint32_t )0x0c000002,
                            0xc0000010, 0xb400001c, (uint32_t )0x2c000004, 0xbc000018,
                            0xb0000010, (uint32_t )0x0000000c, 0xb8000010, (uint32_t )0x08000018,
                            (uint32_t )0x78000010, (uint32_t )0x08000014, (uint32_t )0x70000010,
                            0xb800001c, 0xe8000000, 0xb0000004, (uint32_t )0x58000010,
                            0xb000000c, (uint32_t )0x48000000, 0xb0000000, 0xb8000010,
                            0x98000010, 0xa0000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x20000000, 0x80000000, (uint32_t )0x00000010,
                            (uint32_t )0x00000000, (uint32_t )0x20000010, (uint32_t )0x20000000,
                            (uint32_t )0x00000010, (uint32_t )0x60000000, (uint32_t )0x00000018,
                            0xe0000000, 0x90000000, (uint32_t )0x30000010, 0xb0000000,
                            (uint32_t )0x20000000, (uint32_t )0x20000000, 0xa0000000,
                            (uint32_t )0x00000010, 0x80000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x20000000, 0x80000000,
                            (uint32_t )0x00000010, (uint32_t )0x00000000, (uint32_t )0x20000010,
                            0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000001, (uint32_t )0x00000020,
                            (uint32_t )0x00000001, (uint32_t )0x40000002, (uint32_t )0x40000041,
                            (uint32_t )0x40000022, 0x80000005, 0xc0000082, 0xc0000046,
                            (uint32_t )0x4000004b, 0x80000107, (uint32_t )0x00000089}},
        {2,
      54, 0, 65, 0, 29, {(uint32_t )0x0400001c, 0xcc000014, (uint32_t )0x0c000002,
                         0xc0000010, 0xb400001c, (uint32_t )0x3c000004, 0xbc00001a,
                         (uint32_t )0x20000010, (uint32_t )0x2400001c, 0xec000014,
                         (uint32_t )0x0c000002, 0xc0000010, 0xb400001c, (uint32_t )0x2c000004,
                         0xbc000018, 0xb0000010, (uint32_t )0x0000000c, 0xb8000010,
                         (uint32_t )0x08000018, (uint32_t )0x78000010, (uint32_t )0x08000014,
                         (uint32_t )0x70000010, 0xb800001c, 0xe8000000, 0xb0000004,
                         (uint32_t )0x58000010, 0xb000000c, (uint32_t )0x48000000,
                         0xb0000000, 0xb8000010, 0x98000010, 0xa0000000, (uint32_t )0x00000000,
                         (uint32_t )0x00000000, (uint32_t )0x20000000, 0x80000000,
                         (uint32_t )0x00000010, (uint32_t )0x00000000, (uint32_t )0x20000010,
                         (uint32_t )0x20000000, (uint32_t )0x00000010, (uint32_t )0x60000000,
                         (uint32_t )0x00000018, 0xe0000000, 0x90000000, (uint32_t )0x30000010,
                         0xb0000000, (uint32_t )0x20000000, (uint32_t )0x20000000,
                         0xa0000000, (uint32_t )0x00000010, 0x80000000, (uint32_t )0x20000000,
                         (uint32_t )0x20000000, (uint32_t )0x20000000, 0x80000000,
                         (uint32_t )0x00000010, (uint32_t )0x00000000, (uint32_t )0x20000010,
                         0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                         (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                         (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                         (uint32_t )0x00000000, (uint32_t )0x00000001, (uint32_t )0x00000020,
                         (uint32_t )0x00000001, (uint32_t )0x40000002, (uint32_t )0x40000041,
                         (uint32_t )0x40000022, 0x80000005, 0xc0000082, 0xc0000046,
                         (uint32_t )0x4000004b, 0x80000107}},
        {2, 55, 0, 65, 0, 30, {(uint32_t )0x00000010, (uint32_t )0x0400001c, 0xcc000014,
                            (uint32_t )0x0c000002, 0xc0000010, 0xb400001c, (uint32_t )0x3c000004,
                            0xbc00001a, (uint32_t )0x20000010, (uint32_t )0x2400001c,
                            0xec000014, (uint32_t )0x0c000002, 0xc0000010, 0xb400001c,
                            (uint32_t )0x2c000004, 0xbc000018, 0xb0000010, (uint32_t )0x0000000c,
                            0xb8000010, (uint32_t )0x08000018, (uint32_t )0x78000010,
                            (uint32_t )0x08000014, (uint32_t )0x70000010, 0xb800001c,
                            0xe8000000, 0xb0000004, (uint32_t )0x58000010, 0xb000000c,
                            (uint32_t )0x48000000, 0xb0000000, 0xb8000010, 0x98000010,
                            0xa0000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x20000000, 0x80000000, (uint32_t )0x00000010,
                            (uint32_t )0x00000000, (uint32_t )0x20000010, (uint32_t )0x20000000,
                            (uint32_t )0x00000010, (uint32_t )0x60000000, (uint32_t )0x00000018,
                            0xe0000000, 0x90000000, (uint32_t )0x30000010, 0xb0000000,
                            (uint32_t )0x20000000, (uint32_t )0x20000000, 0xa0000000,
                            (uint32_t )0x00000010, 0x80000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x20000000, 0x80000000,
                            (uint32_t )0x00000010, (uint32_t )0x00000000, (uint32_t )0x20000010,
                            0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000001, (uint32_t )0x00000020,
                            (uint32_t )0x00000001, (uint32_t )0x40000002, (uint32_t )0x40000041,
                            (uint32_t )0x40000022, 0x80000005, 0xc0000082, 0xc0000046,
                            (uint32_t )0x4000004b}},
        {2, 56, 0, 65, 0, 31, {(uint32_t )0x2600001a, (uint32_t )0x00000010, (uint32_t )0x0400001c,
                            0xcc000014, (uint32_t )0x0c000002, 0xc0000010, 0xb400001c,
                            (uint32_t )0x3c000004, 0xbc00001a, (uint32_t )0x20000010,
                            (uint32_t )0x2400001c, 0xec000014, (uint32_t )0x0c000002,
                            0xc0000010, 0xb400001c, (uint32_t )0x2c000004, 0xbc000018,
                            0xb0000010, (uint32_t )0x0000000c, 0xb8000010, (uint32_t )0x08000018,
                            (uint32_t )0x78000010, (uint32_t )0x08000014, (uint32_t )0x70000010,
                            0xb800001c, 0xe8000000, 0xb0000004, (uint32_t )0x58000010,
                            0xb000000c, (uint32_t )0x48000000, 0xb0000000, 0xb8000010,
                            0x98000010, 0xa0000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x20000000, 0x80000000, (uint32_t )0x00000010,
                            (uint32_t )0x00000000, (uint32_t )0x20000010, (uint32_t )0x20000000,
                            (uint32_t )0x00000010, (uint32_t )0x60000000, (uint32_t )0x00000018,
                            0xe0000000, 0x90000000, (uint32_t )0x30000010, 0xb0000000,
                            (uint32_t )0x20000000, (uint32_t )0x20000000, 0xa0000000,
                            (uint32_t )0x00000010, 0x80000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x20000000, 0x80000000,
                            (uint32_t )0x00000010, (uint32_t )0x00000000, (uint32_t )0x20000010,
                            0xa0000000, (uint32_t )0x00000000, (uint32_t )0x20000000,
                            (uint32_t )0x20000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000000, (uint32_t )0x00000000,
                            (uint32_t )0x00000000, (uint32_t )0x00000001, (uint32_t )0x00000020,
                            (uint32_t )0x00000001, (uint32_t )0x40000002, (uint32_t )0x40000041,
                            (uint32_t )0x40000022, 0x80000005, 0xc0000082, 0xc0000046}},
        {0,
      0, 0, 0, 0, 0, {(uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0,
                      (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0,
                      (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0,
                      (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0,
                      (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0,
                      (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0,
                      (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0,
                      (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0,
                      (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0,
                      (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0,
                      (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0,
                      (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0,
                      (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0,
                      (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0,
                      (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0,
                      (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0, (uint32_t )0}}};
void ubc_check(uint32_t const   *W , uint32_t *dvmask )
{
  uint32_t mask ;

  {
  mask = ~ ((uint32_t )0);
  mask &= (unsigned int )(((((*(W + 44) ^ *(W + 45)) >> 29) & 1U) - 1U) | ~ ((((((DV_I_48_0_bit | DV_I_51_0_bit) | DV_I_52_0_bit) | DV_II_45_0_bit) | DV_II_46_0_bit) | DV_II_50_0_bit) | DV_II_51_0_bit));
  mask &= (unsigned int )(((((*(W + 49) ^ *(W + 50)) >> 29) & 1U) - 1U) | ~ (((((DV_I_46_0_bit | DV_II_45_0_bit) | DV_II_50_0_bit) | DV_II_51_0_bit) | DV_II_55_0_bit) | DV_II_56_0_bit));
  mask &= (unsigned int )(((((*(W + 48) ^ *(W + 49)) >> 29) & 1U) - 1U) | ~ (((((DV_I_45_0_bit | DV_I_52_0_bit) | DV_II_49_0_bit) | DV_II_50_0_bit) | DV_II_54_0_bit) | DV_II_55_0_bit));
  mask &= (unsigned int )((((*(W + 47) ^ (*(W + 50) >> 25)) & (unsigned int const   )(1 << 4)) - (unsigned int const   )(1 << 4)) | ~ (((((DV_I_47_0_bit | DV_I_49_0_bit) | DV_I_51_0_bit) | DV_II_45_0_bit) | DV_II_51_0_bit) | DV_II_56_0_bit));
  mask &= (unsigned int )(((((*(W + 47) ^ *(W + 48)) >> 29) & 1U) - 1U) | ~ (((((DV_I_44_0_bit | DV_I_51_0_bit) | DV_II_48_0_bit) | DV_II_49_0_bit) | DV_II_53_0_bit) | DV_II_54_0_bit));
  mask &= (unsigned int )(((((*(W + 46) >> 4) ^ (*(W + 49) >> 29)) & 1U) - 1U) | ~ (((((DV_I_46_0_bit | DV_I_48_0_bit) | DV_I_50_0_bit) | DV_I_52_0_bit) | DV_II_50_0_bit) | DV_II_55_0_bit));
  mask &= (unsigned int )(((((*(W + 46) ^ *(W + 47)) >> 29) & 1U) - 1U) | ~ (((((DV_I_43_0_bit | DV_I_50_0_bit) | DV_II_47_0_bit) | DV_II_48_0_bit) | DV_II_52_0_bit) | DV_II_53_0_bit));
  mask &= (unsigned int )(((((*(W + 45) >> 4) ^ (*(W + 48) >> 29)) & 1U) - 1U) | ~ (((((DV_I_45_0_bit | DV_I_47_0_bit) | DV_I_49_0_bit) | DV_I_51_0_bit) | DV_II_49_0_bit) | DV_II_54_0_bit));
  mask &= (unsigned int )(((((*(W + 45) ^ *(W + 46)) >> 29) & 1U) - 1U) | ~ (((((DV_I_49_0_bit | DV_I_52_0_bit) | DV_II_46_0_bit) | DV_II_47_0_bit) | DV_II_51_0_bit) | DV_II_52_0_bit));
  mask &= (unsigned int )(((((*(W + 44) >> 4) ^ (*(W + 47) >> 29)) & 1U) - 1U) | ~ (((((DV_I_44_0_bit | DV_I_46_0_bit) | DV_I_48_0_bit) | DV_I_50_0_bit) | DV_II_48_0_bit) | DV_II_53_0_bit));
  mask &= (unsigned int )(((((*(W + 43) >> 4) ^ (*(W + 46) >> 29)) & 1U) - 1U) | ~ (((((DV_I_43_0_bit | DV_I_45_0_bit) | DV_I_47_0_bit) | DV_I_49_0_bit) | DV_II_47_0_bit) | DV_II_52_0_bit));
  mask &= (unsigned int )(((((*(W + 43) ^ *(W + 44)) >> 29) & 1U) - 1U) | ~ (((((DV_I_47_0_bit | DV_I_50_0_bit) | DV_I_51_0_bit) | DV_II_45_0_bit) | DV_II_49_0_bit) | DV_II_50_0_bit));
  mask &= (unsigned int )(((((*(W + 42) >> 4) ^ (*(W + 45) >> 29)) & 1U) - 1U) | ~ (((((DV_I_44_0_bit | DV_I_46_0_bit) | DV_I_48_0_bit) | DV_I_52_0_bit) | DV_II_46_0_bit) | DV_II_51_0_bit));
  mask &= (unsigned int )(((((*(W + 41) >> 4) ^ (*(W + 44) >> 29)) & 1U) - 1U) | ~ (((((DV_I_43_0_bit | DV_I_45_0_bit) | DV_I_47_0_bit) | DV_I_51_0_bit) | DV_II_45_0_bit) | DV_II_50_0_bit));
  mask &= (unsigned int )(((((*(W + 40) ^ *(W + 41)) >> 29) & 1U) - 1U) | ~ (((((DV_I_44_0_bit | DV_I_47_0_bit) | DV_I_48_0_bit) | DV_II_46_0_bit) | DV_II_47_0_bit) | DV_II_56_0_bit));
  mask &= (unsigned int )(((((*(W + 54) ^ *(W + 55)) >> 29) & 1U) - 1U) | ~ ((((DV_I_51_0_bit | DV_II_47_0_bit) | DV_II_50_0_bit) | DV_II_55_0_bit) | DV_II_56_0_bit));
  mask &= (unsigned int )(((((*(W + 53) ^ *(W + 54)) >> 29) & 1U) - 1U) | ~ ((((DV_I_50_0_bit | DV_II_46_0_bit) | DV_II_49_0_bit) | DV_II_54_0_bit) | DV_II_55_0_bit));
  mask &= (unsigned int )(((((*(W + 52) ^ *(W + 53)) >> 29) & 1U) - 1U) | ~ ((((DV_I_49_0_bit | DV_II_45_0_bit) | DV_II_48_0_bit) | DV_II_53_0_bit) | DV_II_54_0_bit));
  mask &= (unsigned int )((((*(W + 50) ^ (*(W + 53) >> 25)) & (unsigned int const   )(1 << 4)) - (unsigned int const   )(1 << 4)) | ~ ((((DV_I_50_0_bit | DV_I_52_0_bit) | DV_II_46_0_bit) | DV_II_48_0_bit) | DV_II_54_0_bit));
  mask &= (unsigned int )(((((*(W + 50) ^ *(W + 51)) >> 29) & 1U) - 1U) | ~ ((((DV_I_47_0_bit | DV_II_46_0_bit) | DV_II_51_0_bit) | DV_II_52_0_bit) | DV_II_56_0_bit));
  mask &= (unsigned int )((((*(W + 49) ^ (*(W + 52) >> 25)) & (unsigned int const   )(1 << 4)) - (unsigned int const   )(1 << 4)) | ~ ((((DV_I_49_0_bit | DV_I_51_0_bit) | DV_II_45_0_bit) | DV_II_47_0_bit) | DV_II_53_0_bit));
  mask &= (unsigned int )((((*(W + 48) ^ (*(W + 51) >> 25)) & (unsigned int const   )(1 << 4)) - (unsigned int const   )(1 << 4)) | ~ ((((DV_I_48_0_bit | DV_I_50_0_bit) | DV_I_52_0_bit) | DV_II_46_0_bit) | DV_II_52_0_bit));
  mask &= (unsigned int )(((((*(W + 42) ^ *(W + 43)) >> 29) & 1U) - 1U) | ~ ((((DV_I_46_0_bit | DV_I_49_0_bit) | DV_I_50_0_bit) | DV_II_48_0_bit) | DV_II_49_0_bit));
  mask &= (unsigned int )(((((*(W + 41) ^ *(W + 42)) >> 29) & 1U) - 1U) | ~ ((((DV_I_45_0_bit | DV_I_48_0_bit) | DV_I_49_0_bit) | DV_II_47_0_bit) | DV_II_48_0_bit));
  mask &= (unsigned int )(((((*(W + 40) >> 4) ^ (*(W + 43) >> 29)) & 1U) - 1U) | ~ ((((DV_I_44_0_bit | DV_I_46_0_bit) | DV_I_50_0_bit) | DV_II_49_0_bit) | DV_II_56_0_bit));
  mask &= (unsigned int )(((((*(W + 39) >> 4) ^ (*(W + 42) >> 29)) & 1U) - 1U) | ~ ((((DV_I_43_0_bit | DV_I_45_0_bit) | DV_I_49_0_bit) | DV_II_48_0_bit) | DV_II_55_0_bit));
  if (mask & (unsigned int )((((DV_I_44_0_bit | DV_I_48_0_bit) | DV_II_47_0_bit) | DV_II_54_0_bit) | DV_II_56_0_bit)) {
    mask &= (unsigned int )(((((*(W + 38) >> 4) ^ (*(W + 41) >> 29)) & 1U) - 1U) | ~ ((((DV_I_44_0_bit | DV_I_48_0_bit) | DV_II_47_0_bit) | DV_II_54_0_bit) | DV_II_56_0_bit));
  }
  mask &= (unsigned int )(((((*(W + 37) >> 4) ^ (*(W + 40) >> 29)) & 1U) - 1U) | ~ ((((DV_I_43_0_bit | DV_I_47_0_bit) | DV_II_46_0_bit) | DV_II_53_0_bit) | DV_II_55_0_bit));
  if (mask & (unsigned int )(((DV_I_52_0_bit | DV_II_48_0_bit) | DV_II_51_0_bit) | DV_II_56_0_bit)) {
    mask &= (unsigned int )(((((*(W + 55) ^ *(W + 56)) >> 29) & 1U) - 1U) | ~ (((DV_I_52_0_bit | DV_II_48_0_bit) | DV_II_51_0_bit) | DV_II_56_0_bit));
  }
  if (mask & (unsigned int )(((DV_I_52_0_bit | DV_II_48_0_bit) | DV_II_50_0_bit) | DV_II_56_0_bit)) {
    mask &= (unsigned int )((((*(W + 52) ^ (*(W + 55) >> 25)) & (unsigned int const   )(1 << 4)) - (unsigned int const   )(1 << 4)) | ~ (((DV_I_52_0_bit | DV_II_48_0_bit) | DV_II_50_0_bit) | DV_II_56_0_bit));
  }
  if (mask & (unsigned int )(((DV_I_51_0_bit | DV_II_47_0_bit) | DV_II_49_0_bit) | DV_II_55_0_bit)) {
    mask &= (unsigned int )((((*(W + 51) ^ (*(W + 54) >> 25)) & (unsigned int const   )(1 << 4)) - (unsigned int const   )(1 << 4)) | ~ (((DV_I_51_0_bit | DV_II_47_0_bit) | DV_II_49_0_bit) | DV_II_55_0_bit));
  }
  if (mask & (unsigned int )(((DV_I_48_0_bit | DV_II_47_0_bit) | DV_II_52_0_bit) | DV_II_53_0_bit)) {
    mask &= (unsigned int )(((((*(W + 51) ^ *(W + 52)) >> 29) & 1U) - 1U) | ~ (((DV_I_48_0_bit | DV_II_47_0_bit) | DV_II_52_0_bit) | DV_II_53_0_bit));
  }
  if (mask & (unsigned int )(((DV_I_46_0_bit | DV_I_49_0_bit) | DV_II_45_0_bit) | DV_II_48_0_bit)) {
    mask &= (unsigned int )(((((*(W + 36) >> 4) ^ (*(W + 40) >> 29)) & 1U) - 1U) | ~ (((DV_I_46_0_bit | DV_I_49_0_bit) | DV_II_45_0_bit) | DV_II_48_0_bit));
  }
  if (mask & (unsigned int )((DV_I_52_0_bit | DV_II_48_0_bit) | DV_II_49_0_bit)) {
    mask &= (unsigned int )((0U - (((*(W + 53) ^ *(W + 56)) >> 29) & 1U)) | ~ ((DV_I_52_0_bit | DV_II_48_0_bit) | DV_II_49_0_bit));
  }
  if (mask & (unsigned int )((DV_I_50_0_bit | DV_II_46_0_bit) | DV_II_47_0_bit)) {
    mask &= (unsigned int )((0U - (((*(W + 51) ^ *(W + 54)) >> 29) & 1U)) | ~ ((DV_I_50_0_bit | DV_II_46_0_bit) | DV_II_47_0_bit));
  }
  if (mask & (unsigned int )((DV_I_49_0_bit | DV_I_51_0_bit) | DV_II_45_0_bit)) {
    mask &= (unsigned int )((0U - (((*(W + 50) ^ *(W + 52)) >> 29) & 1U)) | ~ ((DV_I_49_0_bit | DV_I_51_0_bit) | DV_II_45_0_bit));
  }
  if (mask & (unsigned int )((DV_I_48_0_bit | DV_I_50_0_bit) | DV_I_52_0_bit)) {
    mask &= (unsigned int )((0U - (((*(W + 49) ^ *(W + 51)) >> 29) & 1U)) | ~ ((DV_I_48_0_bit | DV_I_50_0_bit) | DV_I_52_0_bit));
  }
  if (mask & (unsigned int )((DV_I_47_0_bit | DV_I_49_0_bit) | DV_I_51_0_bit)) {
    mask &= (unsigned int )((0U - (((*(W + 48) ^ *(W + 50)) >> 29) & 1U)) | ~ ((DV_I_47_0_bit | DV_I_49_0_bit) | DV_I_51_0_bit));
  }
  if (mask & (unsigned int )((DV_I_46_0_bit | DV_I_48_0_bit) | DV_I_50_0_bit)) {
    mask &= (unsigned int )((0U - (((*(W + 47) ^ *(W + 49)) >> 29) & 1U)) | ~ ((DV_I_46_0_bit | DV_I_48_0_bit) | DV_I_50_0_bit));
  }
  if (mask & (unsigned int )((DV_I_45_0_bit | DV_I_47_0_bit) | DV_I_49_0_bit)) {
    mask &= (unsigned int )((0U - (((*(W + 46) ^ *(W + 48)) >> 29) & 1U)) | ~ ((DV_I_45_0_bit | DV_I_47_0_bit) | DV_I_49_0_bit));
  }
  mask &= (unsigned int )((((*(W + 45) ^ *(W + 47)) & (unsigned int const   )(1 << 6)) - (unsigned int const   )(1 << 6)) | ~ ((DV_I_47_2_bit | DV_I_49_2_bit) | DV_I_51_2_bit));
  if (mask & (unsigned int )((DV_I_44_0_bit | DV_I_46_0_bit) | DV_I_48_0_bit)) {
    mask &= (unsigned int )((0U - (((*(W + 45) ^ *(W + 47)) >> 29) & 1U)) | ~ ((DV_I_44_0_bit | DV_I_46_0_bit) | DV_I_48_0_bit));
  }
  mask &= (unsigned int )(((((*(W + 44) ^ *(W + 46)) >> 6) & 1U) - 1U) | ~ ((DV_I_46_2_bit | DV_I_48_2_bit) | DV_I_50_2_bit));
  if (mask & (unsigned int )((DV_I_43_0_bit | DV_I_45_0_bit) | DV_I_47_0_bit)) {
    mask &= (unsigned int )((0U - (((*(W + 44) ^ *(W + 46)) >> 29) & 1U)) | ~ ((DV_I_43_0_bit | DV_I_45_0_bit) | DV_I_47_0_bit));
  }
  mask &= (unsigned int )((0U - ((*(W + 41) ^ (*(W + 42) >> 5)) & (unsigned int const   )(1 << 1))) | ~ ((DV_I_48_2_bit | DV_II_46_2_bit) | DV_II_51_2_bit));
  mask &= (unsigned int )((0U - ((*(W + 40) ^ (*(W + 41) >> 5)) & (unsigned int const   )(1 << 1))) | ~ ((DV_I_47_2_bit | DV_I_51_2_bit) | DV_II_50_2_bit));
  if (mask & (unsigned int )((DV_I_44_0_bit | DV_I_46_0_bit) | DV_II_56_0_bit)) {
    mask &= (unsigned int )((0U - (((*(W + 40) ^ *(W + 42)) >> 4) & 1U)) | ~ ((DV_I_44_0_bit | DV_I_46_0_bit) | DV_II_56_0_bit));
  }
  mask &= (unsigned int )((0U - ((*(W + 39) ^ (*(W + 40) >> 5)) & (unsigned int const   )(1 << 1))) | ~ ((DV_I_46_2_bit | DV_I_50_2_bit) | DV_II_49_2_bit));
  if (mask & (unsigned int )((DV_I_43_0_bit | DV_I_45_0_bit) | DV_II_55_0_bit)) {
    mask &= (unsigned int )((0U - (((*(W + 39) ^ *(W + 41)) >> 4) & 1U)) | ~ ((DV_I_43_0_bit | DV_I_45_0_bit) | DV_II_55_0_bit));
  }
  if (mask & (unsigned int )((DV_I_44_0_bit | DV_II_54_0_bit) | DV_II_56_0_bit)) {
    mask &= (unsigned int )((0U - (((*(W + 38) ^ *(W + 40)) >> 4) & 1U)) | ~ ((DV_I_44_0_bit | DV_II_54_0_bit) | DV_II_56_0_bit));
  }
  if (mask & (unsigned int )((DV_I_43_0_bit | DV_II_53_0_bit) | DV_II_55_0_bit)) {
    mask &= (unsigned int )((0U - (((*(W + 37) ^ *(W + 39)) >> 4) & 1U)) | ~ ((DV_I_43_0_bit | DV_II_53_0_bit) | DV_II_55_0_bit));
  }
  mask &= (unsigned int )((0U - ((*(W + 36) ^ (*(W + 37) >> 5)) & (unsigned int const   )(1 << 1))) | ~ ((DV_I_47_2_bit | DV_I_50_2_bit) | DV_II_46_2_bit));
  if (mask & (unsigned int )((DV_I_45_0_bit | DV_I_48_0_bit) | DV_II_47_0_bit)) {
    mask &= (unsigned int )(((((*(W + 35) >> 4) ^ (*(W + 39) >> 29)) & 1U) - 1U) | ~ ((DV_I_45_0_bit | DV_I_48_0_bit) | DV_II_47_0_bit));
  }
  if (mask & (unsigned int )(DV_I_48_0_bit | DV_II_48_0_bit)) {
    mask &= (unsigned int )((0U - ((*(W + 63) ^ (*(W + 64) >> 5)) & 1U)) | ~ (DV_I_48_0_bit | DV_II_48_0_bit));
  }
  if (mask & (unsigned int )(DV_I_45_0_bit | DV_II_45_0_bit)) {
    mask &= (unsigned int )((0U - ((*(W + 63) ^ (*(W + 64) >> 5)) & (unsigned int const   )(1 << 1))) | ~ (DV_I_45_0_bit | DV_II_45_0_bit));
  }
  if (mask & (unsigned int )(DV_I_47_0_bit | DV_II_47_0_bit)) {
    mask &= (unsigned int )((0U - ((*(W + 62) ^ (*(W + 63) >> 5)) & 1U)) | ~ (DV_I_47_0_bit | DV_II_47_0_bit));
  }
  if (mask & (unsigned int )(DV_I_46_0_bit | DV_II_46_0_bit)) {
    mask &= (unsigned int )((0U - ((*(W + 61) ^ (*(W + 62) >> 5)) & 1U)) | ~ (DV_I_46_0_bit | DV_II_46_0_bit));
  }
  mask &= (unsigned int )((0U - ((*(W + 61) ^ (*(W + 62) >> 5)) & (unsigned int const   )(1 << 2))) | ~ (DV_I_46_2_bit | DV_II_46_2_bit));
  if (mask & (unsigned int )(DV_I_45_0_bit | DV_II_45_0_bit)) {
    mask &= (unsigned int )((0U - ((*(W + 60) ^ (*(W + 61) >> 5)) & 1U)) | ~ (DV_I_45_0_bit | DV_II_45_0_bit));
  }
  if (mask & (unsigned int )(DV_II_51_0_bit | DV_II_54_0_bit)) {
    mask &= (unsigned int )(((((*(W + 58) ^ *(W + 59)) >> 29) & 1U) - 1U) | ~ (DV_II_51_0_bit | DV_II_54_0_bit));
  }
  if (mask & (unsigned int )(DV_II_50_0_bit | DV_II_53_0_bit)) {
    mask &= (unsigned int )(((((*(W + 57) ^ *(W + 58)) >> 29) & 1U) - 1U) | ~ (DV_II_50_0_bit | DV_II_53_0_bit));
  }
  if (mask & (unsigned int )(DV_II_52_0_bit | DV_II_54_0_bit)) {
    mask &= (unsigned int )((((*(W + 56) ^ (*(W + 59) >> 25)) & (unsigned int const   )(1 << 4)) - (unsigned int const   )(1 << 4)) | ~ (DV_II_52_0_bit | DV_II_54_0_bit));
  }
  if (mask & (unsigned int )(DV_II_51_0_bit | DV_II_52_0_bit)) {
    mask &= (unsigned int )((0U - (((*(W + 56) ^ *(W + 59)) >> 29) & 1U)) | ~ (DV_II_51_0_bit | DV_II_52_0_bit));
  }
  if (mask & (unsigned int )(DV_II_49_0_bit | DV_II_52_0_bit)) {
    mask &= (unsigned int )(((((*(W + 56) ^ *(W + 57)) >> 29) & 1U) - 1U) | ~ (DV_II_49_0_bit | DV_II_52_0_bit));
  }
  if (mask & (unsigned int )(DV_II_51_0_bit | DV_II_53_0_bit)) {
    mask &= (unsigned int )((((*(W + 55) ^ (*(W + 58) >> 25)) & (unsigned int const   )(1 << 4)) - (unsigned int const   )(1 << 4)) | ~ (DV_II_51_0_bit | DV_II_53_0_bit));
  }
  if (mask & (unsigned int )(DV_II_50_0_bit | DV_II_52_0_bit)) {
    mask &= (unsigned int )((((*(W + 54) ^ (*(W + 57) >> 25)) & (unsigned int const   )(1 << 4)) - (unsigned int const   )(1 << 4)) | ~ (DV_II_50_0_bit | DV_II_52_0_bit));
  }
  if (mask & (unsigned int )(DV_II_49_0_bit | DV_II_51_0_bit)) {
    mask &= (unsigned int )((((*(W + 53) ^ (*(W + 56) >> 25)) & (unsigned int const   )(1 << 4)) - (unsigned int const   )(1 << 4)) | ~ (DV_II_49_0_bit | DV_II_51_0_bit));
  }
  mask &= (unsigned int )((((*(W + 51) ^ (*(W + 50) >> 5)) & (unsigned int const   )(1 << 1)) - (unsigned int const   )(1 << 1)) | ~ (DV_I_50_2_bit | DV_II_46_2_bit));
  mask &= (unsigned int )((((*(W + 48) ^ *(W + 50)) & (unsigned int const   )(1 << 6)) - (unsigned int const   )(1 << 6)) | ~ (DV_I_50_2_bit | DV_II_46_2_bit));
  if (mask & (unsigned int )(DV_I_51_0_bit | DV_I_52_0_bit)) {
    mask &= (unsigned int )((0U - (((*(W + 48) ^ *(W + 55)) >> 29) & 1U)) | ~ (DV_I_51_0_bit | DV_I_52_0_bit));
  }
  mask &= (unsigned int )((((*(W + 47) ^ *(W + 49)) & (unsigned int const   )(1 << 6)) - (unsigned int const   )(1 << 6)) | ~ (DV_I_49_2_bit | DV_I_51_2_bit));
  mask &= (unsigned int )((((*(W + 48) ^ (*(W + 47) >> 5)) & (unsigned int const   )(1 << 1)) - (unsigned int const   )(1 << 1)) | ~ (DV_I_47_2_bit | DV_II_51_2_bit));
  mask &= (unsigned int )((((*(W + 46) ^ *(W + 48)) & (unsigned int const   )(1 << 6)) - (unsigned int const   )(1 << 6)) | ~ (DV_I_48_2_bit | DV_I_50_2_bit));
  mask &= (unsigned int )((((*(W + 47) ^ (*(W + 46) >> 5)) & (unsigned int const   )(1 << 1)) - (unsigned int const   )(1 << 1)) | ~ (DV_I_46_2_bit | DV_II_50_2_bit));
  mask &= (unsigned int )((0U - ((*(W + 44) ^ (*(W + 45) >> 5)) & (unsigned int const   )(1 << 1))) | ~ (DV_I_51_2_bit | DV_II_49_2_bit));
  mask &= (unsigned int )((((*(W + 43) ^ *(W + 45)) & (unsigned int const   )(1 << 6)) - (unsigned int const   )(1 << 6)) | ~ (DV_I_47_2_bit | DV_I_49_2_bit));
  mask &= (unsigned int )(((((*(W + 42) ^ *(W + 44)) >> 6) & 1U) - 1U) | ~ (DV_I_46_2_bit | DV_I_48_2_bit));
  mask &= (unsigned int )((((*(W + 43) ^ (*(W + 42) >> 5)) & (unsigned int const   )(1 << 1)) - (unsigned int const   )(1 << 1)) | ~ (DV_II_46_2_bit | DV_II_51_2_bit));
  mask &= (unsigned int )((((*(W + 42) ^ (*(W + 41) >> 5)) & (unsigned int const   )(1 << 1)) - (unsigned int const   )(1 << 1)) | ~ (DV_I_51_2_bit | DV_II_50_2_bit));
  mask &= (unsigned int )((((*(W + 41) ^ (*(W + 40) >> 5)) & (unsigned int const   )(1 << 1)) - (unsigned int const   )(1 << 1)) | ~ (DV_I_50_2_bit | DV_II_49_2_bit));
  if (mask & (unsigned int )(DV_I_52_0_bit | DV_II_51_0_bit)) {
    mask &= (unsigned int )((((*(W + 39) ^ (*(W + 43) >> 25)) & (unsigned int const   )(1 << 4)) - (unsigned int const   )(1 << 4)) | ~ (DV_I_52_0_bit | DV_II_51_0_bit));
  }
  if (mask & (unsigned int )(DV_I_51_0_bit | DV_II_50_0_bit)) {
    mask &= (unsigned int )((((*(W + 38) ^ (*(W + 42) >> 25)) & (unsigned int const   )(1 << 4)) - (unsigned int const   )(1 << 4)) | ~ (DV_I_51_0_bit | DV_II_50_0_bit));
  }
  if (mask & (unsigned int )(DV_I_48_2_bit | DV_I_51_2_bit)) {
    mask &= (unsigned int )((0U - ((*(W + 37) ^ (*(W + 38) >> 5)) & (unsigned int const   )(1 << 1))) | ~ (DV_I_48_2_bit | DV_I_51_2_bit));
  }
  if (mask & (unsigned int )(DV_I_50_0_bit | DV_II_49_0_bit)) {
    mask &= (unsigned int )((((*(W + 37) ^ (*(W + 41) >> 25)) & (unsigned int const   )(1 << 4)) - (unsigned int const   )(1 << 4)) | ~ (DV_I_50_0_bit | DV_II_49_0_bit));
  }
  if (mask & (unsigned int )(DV_II_52_0_bit | DV_II_54_0_bit)) {
    mask &= (unsigned int )((0U - ((*(W + 36) ^ *(W + 38)) & (unsigned int const   )(1 << 4))) | ~ (DV_II_52_0_bit | DV_II_54_0_bit));
  }
  mask &= (unsigned int )((0U - ((*(W + 35) ^ (*(W + 36) >> 5)) & (unsigned int const   )(1 << 1))) | ~ (DV_I_46_2_bit | DV_I_49_2_bit));
  if (mask & (unsigned int )(DV_I_51_0_bit | DV_II_47_0_bit)) {
    mask &= (unsigned int )((((*(W + 35) ^ (*(W + 39) >> 25)) & (unsigned int const   )(1 << 3)) - (unsigned int const   )(1 << 3)) | ~ (DV_I_51_0_bit | DV_II_47_0_bit));
  }
  if (mask) {
    if (mask & (unsigned int )DV_I_43_0_bit) {
      if (! ((*(W + 61) ^ (*(W + 62) >> 5)) & (unsigned int const   )(1 << 1))) {
        mask &= (unsigned int )(~ DV_I_43_0_bit);
      } else
      if (! (! ((*(W + 59) ^ (*(W + 63) >> 25)) & (unsigned int const   )(1 << 5)))) {
        mask &= (unsigned int )(~ DV_I_43_0_bit);
      } else
      if (! ((*(W + 58) ^ (*(W + 63) >> 30)) & 1U)) {
        mask &= (unsigned int )(~ DV_I_43_0_bit);
      }
    }
    if (mask & (unsigned int )DV_I_44_0_bit) {
      if (! ((*(W + 62) ^ (*(W + 63) >> 5)) & (unsigned int const   )(1 << 1))) {
        mask &= (unsigned int )(~ DV_I_44_0_bit);
      } else
      if (! (! ((*(W + 60) ^ (*(W + 64) >> 25)) & (unsigned int const   )(1 << 5)))) {
        mask &= (unsigned int )(~ DV_I_44_0_bit);
      } else
      if (! ((*(W + 59) ^ (*(W + 64) >> 30)) & 1U)) {
        mask &= (unsigned int )(~ DV_I_44_0_bit);
      }
    }
    if (mask & (unsigned int )DV_I_46_2_bit) {
      mask &= (unsigned int )(~ ((*(W + 40) ^ *(W + 42)) >> 2) | ~ DV_I_46_2_bit);
    }
    if (mask & (unsigned int )DV_I_47_2_bit) {
      if (! ((*(W + 62) ^ (*(W + 63) >> 5)) & (unsigned int const   )(1 << 2))) {
        mask &= (unsigned int )(~ DV_I_47_2_bit);
      } else
      if (! (! ((*(W + 41) ^ *(W + 43)) & (unsigned int const   )(1 << 6)))) {
        mask &= (unsigned int )(~ DV_I_47_2_bit);
      }
    }
    if (mask & (unsigned int )DV_I_48_2_bit) {
      if (! ((*(W + 63) ^ (*(W + 64) >> 5)) & (unsigned int const   )(1 << 2))) {
        mask &= (unsigned int )(~ DV_I_48_2_bit);
      } else
      if (! (! ((*(W + 48) ^ (*(W + 49) << 5)) & (unsigned int const   )(1 << 6)))) {
        mask &= (unsigned int )(~ DV_I_48_2_bit);
      }
    }
    if (mask & (unsigned int )DV_I_49_2_bit) {
      if (! (! ((*(W + 49) ^ (*(W + 50) << 5)) & (unsigned int const   )(1 << 6)))) {
        mask &= (unsigned int )(~ DV_I_49_2_bit);
      } else
      if (! ((*(W + 42) ^ *(W + 50)) & (unsigned int const   )(1 << 1))) {
        mask &= (unsigned int )(~ DV_I_49_2_bit);
      } else
      if (! (! ((*(W + 39) ^ (*(W + 40) << 5)) & (unsigned int const   )(1 << 6)))) {
        mask &= (unsigned int )(~ DV_I_49_2_bit);
      } else
      if (! ((*(W + 38) ^ *(W + 40)) & (unsigned int const   )(1 << 1))) {
        mask &= (unsigned int )(~ DV_I_49_2_bit);
      }
    }
    if (mask & (unsigned int )DV_I_50_0_bit) {
      mask &= (unsigned int )(((*(W + 36) ^ *(W + 37)) << 7) | ~ DV_I_50_0_bit);
    }
    if (mask & (unsigned int )DV_I_50_2_bit) {
      mask &= (unsigned int )(((*(W + 43) ^ *(W + 51)) << 11) | ~ DV_I_50_2_bit);
    }
    if (mask & (unsigned int )DV_I_51_0_bit) {
      mask &= (unsigned int )(((*(W + 37) ^ *(W + 38)) << 9) | ~ DV_I_51_0_bit);
    }
    if (mask & (unsigned int )DV_I_51_2_bit) {
      if (! (! ((*(W + 51) ^ (*(W + 52) << 5)) & (unsigned int const   )(1 << 6)))) {
        mask &= (unsigned int )(~ DV_I_51_2_bit);
      } else
      if (! (! ((*(W + 49) ^ *(W + 51)) & (unsigned int const   )(1 << 6)))) {
        mask &= (unsigned int )(~ DV_I_51_2_bit);
      } else
      if (! (! ((*(W + 37) ^ (*(W + 37) >> 5)) & (unsigned int const   )(1 << 1)))) {
        mask &= (unsigned int )(~ DV_I_51_2_bit);
      } else
      if (! (! ((*(W + 35) ^ (*(W + 39) >> 25)) & (unsigned int const   )(1 << 5)))) {
        mask &= (unsigned int )(~ DV_I_51_2_bit);
      }
    }
    if (mask & (unsigned int )DV_I_52_0_bit) {
      mask &= (unsigned int )(((*(W + 38) ^ *(W + 39)) << 11) | ~ DV_I_52_0_bit);
    }
    if (mask & (unsigned int )DV_II_46_2_bit) {
      mask &= (unsigned int )(((*(W + 47) ^ *(W + 51)) << 17) | ~ DV_II_46_2_bit);
    }
    if (mask & (unsigned int )DV_II_48_0_bit) {
      if (! (! ((*(W + 36) ^ (*(W + 40) >> 25)) & (unsigned int const   )(1 << 3)))) {
        mask &= (unsigned int )(~ DV_II_48_0_bit);
      } else
      if (! ((*(W + 35) ^ (*(W + 40) << 2)) & (unsigned int const   )(1 << 30))) {
        mask &= (unsigned int )(~ DV_II_48_0_bit);
      }
    }
    if (mask & (unsigned int )DV_II_49_0_bit) {
      if (! (! ((*(W + 37) ^ (*(W + 41) >> 25)) & (unsigned int const   )(1 << 3)))) {
        mask &= (unsigned int )(~ DV_II_49_0_bit);
      } else
      if (! ((*(W + 36) ^ (*(W + 41) << 2)) & (unsigned int const   )(1 << 30))) {
        mask &= (unsigned int )(~ DV_II_49_0_bit);
      }
    }
    if (mask & (unsigned int )DV_II_49_2_bit) {
      if (! (! ((*(W + 53) ^ (*(W + 54) << 5)) & (unsigned int const   )(1 << 6)))) {
        mask &= (unsigned int )(~ DV_II_49_2_bit);
      } else
      if (! (! ((*(W + 51) ^ *(W + 53)) & (unsigned int const   )(1 << 6)))) {
        mask &= (unsigned int )(~ DV_II_49_2_bit);
      } else
      if (! ((*(W + 50) ^ *(W + 54)) & (unsigned int const   )(1 << 1))) {
        mask &= (unsigned int )(~ DV_II_49_2_bit);
      } else
      if (! (! ((*(W + 45) ^ (*(W + 46) << 5)) & (unsigned int const   )(1 << 6)))) {
        mask &= (unsigned int )(~ DV_II_49_2_bit);
      } else
      if (! (! ((*(W + 37) ^ (*(W + 41) >> 25)) & (unsigned int const   )(1 << 5)))) {
        mask &= (unsigned int )(~ DV_II_49_2_bit);
      } else
      if (! ((*(W + 36) ^ (*(W + 41) >> 30)) & 1U)) {
        mask &= (unsigned int )(~ DV_II_49_2_bit);
      }
    }
    if (mask & (unsigned int )DV_II_50_0_bit) {
      if (! ((*(W + 55) ^ *(W + 58)) & (unsigned int const   )(1 << 29))) {
        mask &= (unsigned int )(~ DV_II_50_0_bit);
      } else
      if (! (! ((*(W + 38) ^ (*(W + 42) >> 25)) & (unsigned int const   )(1 << 3)))) {
        mask &= (unsigned int )(~ DV_II_50_0_bit);
      } else
      if (! ((*(W + 37) ^ (*(W + 42) << 2)) & (unsigned int const   )(1 << 30))) {
        mask &= (unsigned int )(~ DV_II_50_0_bit);
      }
    }
    if (mask & (unsigned int )DV_II_50_2_bit) {
      if (! (! ((*(W + 54) ^ (*(W + 55) << 5)) & (unsigned int const   )(1 << 6)))) {
        mask &= (unsigned int )(~ DV_II_50_2_bit);
      } else
      if (! (! ((*(W + 52) ^ *(W + 54)) & (unsigned int const   )(1 << 6)))) {
        mask &= (unsigned int )(~ DV_II_50_2_bit);
      } else
      if (! ((*(W + 51) ^ *(W + 55)) & (unsigned int const   )(1 << 1))) {
        mask &= (unsigned int )(~ DV_II_50_2_bit);
      } else
      if (! ((*(W + 45) ^ *(W + 47)) & (unsigned int const   )(1 << 1))) {
        mask &= (unsigned int )(~ DV_II_50_2_bit);
      } else
      if (! (! ((*(W + 38) ^ (*(W + 42) >> 25)) & (unsigned int const   )(1 << 5)))) {
        mask &= (unsigned int )(~ DV_II_50_2_bit);
      } else
      if (! ((*(W + 37) ^ (*(W + 42) >> 30)) & 1U)) {
        mask &= (unsigned int )(~ DV_II_50_2_bit);
      }
    }
    if (mask & (unsigned int )DV_II_51_0_bit) {
      if (! (! ((*(W + 39) ^ (*(W + 43) >> 25)) & (unsigned int const   )(1 << 3)))) {
        mask &= (unsigned int )(~ DV_II_51_0_bit);
      } else
      if (! ((*(W + 38) ^ (*(W + 43) << 2)) & (unsigned int const   )(1 << 30))) {
        mask &= (unsigned int )(~ DV_II_51_0_bit);
      }
    }
    if (mask & (unsigned int )DV_II_51_2_bit) {
      if (! (! ((*(W + 55) ^ (*(W + 56) << 5)) & (unsigned int const   )(1 << 6)))) {
        mask &= (unsigned int )(~ DV_II_51_2_bit);
      } else
      if (! (! ((*(W + 53) ^ *(W + 55)) & (unsigned int const   )(1 << 6)))) {
        mask &= (unsigned int )(~ DV_II_51_2_bit);
      } else
      if (! ((*(W + 52) ^ *(W + 56)) & (unsigned int const   )(1 << 1))) {
        mask &= (unsigned int )(~ DV_II_51_2_bit);
      } else
      if (! ((*(W + 46) ^ *(W + 48)) & (unsigned int const   )(1 << 1))) {
        mask &= (unsigned int )(~ DV_II_51_2_bit);
      } else
      if (! (! ((*(W + 39) ^ (*(W + 43) >> 25)) & (unsigned int const   )(1 << 5)))) {
        mask &= (unsigned int )(~ DV_II_51_2_bit);
      } else
      if (! ((*(W + 38) ^ (*(W + 43) >> 30)) & 1U)) {
        mask &= (unsigned int )(~ DV_II_51_2_bit);
      }
    }
    if (mask & (unsigned int )DV_II_52_0_bit) {
      if (! (! ((*(W + 59) ^ *(W + 60)) & (unsigned int const   )(1 << 29)))) {
        mask &= (unsigned int )(~ DV_II_52_0_bit);
      } else
      if (! (! ((*(W + 40) ^ (*(W + 44) >> 25)) & (unsigned int const   )(1 << 3)))) {
        mask &= (unsigned int )(~ DV_II_52_0_bit);
      } else
      if (! (! ((*(W + 40) ^ (*(W + 44) >> 25)) & (unsigned int const   )(1 << 4)))) {
        mask &= (unsigned int )(~ DV_II_52_0_bit);
      } else
      if (! ((*(W + 39) ^ (*(W + 44) << 2)) & (unsigned int const   )(1 << 30))) {
        mask &= (unsigned int )(~ DV_II_52_0_bit);
      }
    }
    if (mask & (unsigned int )DV_II_53_0_bit) {
      if (! ((*(W + 58) ^ *(W + 61)) & (unsigned int const   )(1 << 29))) {
        mask &= (unsigned int )(~ DV_II_53_0_bit);
      } else
      if (! (! ((*(W + 57) ^ (*(W + 61) >> 25)) & (unsigned int const   )(1 << 4)))) {
        mask &= (unsigned int )(~ DV_II_53_0_bit);
      } else
      if (! (! ((*(W + 41) ^ (*(W + 45) >> 25)) & (unsigned int const   )(1 << 3)))) {
        mask &= (unsigned int )(~ DV_II_53_0_bit);
      } else
      if (! (! ((*(W + 41) ^ (*(W + 45) >> 25)) & (unsigned int const   )(1 << 4)))) {
        mask &= (unsigned int )(~ DV_II_53_0_bit);
      }
    }
    if (mask & (unsigned int )DV_II_54_0_bit) {
      if (! (! ((*(W + 58) ^ (*(W + 62) >> 25)) & (unsigned int const   )(1 << 4)))) {
        mask &= (unsigned int )(~ DV_II_54_0_bit);
      } else
      if (! (! ((*(W + 42) ^ (*(W + 46) >> 25)) & (unsigned int const   )(1 << 3)))) {
        mask &= (unsigned int )(~ DV_II_54_0_bit);
      } else
      if (! (! ((*(W + 42) ^ (*(W + 46) >> 25)) & (unsigned int const   )(1 << 4)))) {
        mask &= (unsigned int )(~ DV_II_54_0_bit);
      }
    }
    if (mask & (unsigned int )DV_II_55_0_bit) {
      if (! (! ((*(W + 59) ^ (*(W + 63) >> 25)) & (unsigned int const   )(1 << 4)))) {
        mask &= (unsigned int )(~ DV_II_55_0_bit);
      } else
      if (! (! ((*(W + 57) ^ (*(W + 59) >> 25)) & (unsigned int const   )(1 << 4)))) {
        mask &= (unsigned int )(~ DV_II_55_0_bit);
      } else
      if (! (! ((*(W + 43) ^ (*(W + 47) >> 25)) & (unsigned int const   )(1 << 3)))) {
        mask &= (unsigned int )(~ DV_II_55_0_bit);
      } else
      if (! (! ((*(W + 43) ^ (*(W + 47) >> 25)) & (unsigned int const   )(1 << 4)))) {
        mask &= (unsigned int )(~ DV_II_55_0_bit);
      }
    }
    if (mask & (unsigned int )DV_II_56_0_bit) {
      if (! (! ((*(W + 60) ^ (*(W + 64) >> 25)) & (unsigned int const   )(1 << 4)))) {
        mask &= (unsigned int )(~ DV_II_56_0_bit);
      } else
      if (! (! ((*(W + 44) ^ (*(W + 48) >> 25)) & (unsigned int const   )(1 << 3)))) {
        mask &= (unsigned int )(~ DV_II_56_0_bit);
      } else
      if (! (! ((*(W + 44) ^ (*(W + 48) >> 25)) & (unsigned int const   )(1 << 4)))) {
        mask &= (unsigned int )(~ DV_II_56_0_bit);
      }
    }
  }
  *(dvmask + 0) = mask;
  return;
}
}
void blk_SHA256_Init(blk_SHA256_CTX *ctx___0 )
{


  {
  ctx___0->offset = (uint32_t )0;
  ctx___0->size = (uint64_t )0;
  ctx___0->state[0] = (uint32_t )0x6a09e667ul;
  ctx___0->state[1] = (uint32_t )0xbb67ae85ul;
  ctx___0->state[2] = (uint32_t )0x3c6ef372ul;
  ctx___0->state[3] = (uint32_t )0xa54ff53aul;
  ctx___0->state[4] = (uint32_t )0x510e527ful;
  ctx___0->state[5] = (uint32_t )0x9b05688cul;
  ctx___0->state[6] = (uint32_t )0x1f83d9abul;
  ctx___0->state[7] = (uint32_t )0x5be0cd19ul;
  return;
}
}
__inline static uint32_t ror(uint32_t x , unsigned int n )
{


  {
  return ((x >> n) | (x << (32U - n)));
}
}
__inline static uint32_t ch(uint32_t x , uint32_t y , uint32_t z )
{


  {
  return (z ^ (x & (y ^ z)));
}
}
__inline static uint32_t maj(uint32_t x , uint32_t y , uint32_t z )
{


  {
  return (((x | y) & z) | (x & y));
}
}
__inline static uint32_t sigma0(uint32_t x )
{
  uint32_t tmp ;
  uint32_t tmp___0 ;
  uint32_t tmp___1 ;

  {
  tmp = ror(x, 2U);
  tmp___0 = ror(x, 13U);
  tmp___1 = ror(x, 22U);
  return ((tmp ^ tmp___0) ^ tmp___1);
}
}
__inline static uint32_t sigma1(uint32_t x )
{
  uint32_t tmp ;
  uint32_t tmp___0 ;
  uint32_t tmp___1 ;

  {
  tmp = ror(x, 6U);
  tmp___0 = ror(x, 11U);
  tmp___1 = ror(x, 25U);
  return ((tmp ^ tmp___0) ^ tmp___1);
}
}
__inline static uint32_t gamma0(uint32_t x )
{
  uint32_t tmp ;
  uint32_t tmp___0 ;

  {
  tmp = ror(x, 7U);
  tmp___0 = ror(x, 18U);
  return ((tmp ^ tmp___0) ^ (x >> 3));
}
}
__inline static uint32_t gamma1(uint32_t x )
{
  uint32_t tmp ;
  uint32_t tmp___0 ;

  {
  tmp = ror(x, 17U);
  tmp___0 = ror(x, 19U);
  return ((tmp ^ tmp___0) ^ (x >> 10));
}
}
static void blk_SHA256_Transform(blk_SHA256_CTX *ctx___0 , unsigned char const   *buf___19 )
{
  uint32_t S[8] ;
  uint32_t W[64] ;
  uint32_t t0 ;
  uint32_t t1 ;
  int i ;
  uint32_t tmp ;
  uint32_t tmp___0 ;
  uint32_t tmp___1 ;
  uint32_t tmp___2 ;
  uint32_t tmp___3 ;
  uint32_t tmp___4 ;
  uint32_t tmp___5 ;
  uint32_t tmp___6 ;
  uint32_t tmp___7 ;
  uint32_t tmp___8 ;
  uint32_t tmp___9 ;
  uint32_t tmp___10 ;
  uint32_t tmp___11 ;
  uint32_t tmp___12 ;
  uint32_t tmp___13 ;
  uint32_t tmp___14 ;
  uint32_t tmp___15 ;
  uint32_t tmp___16 ;
  uint32_t tmp___17 ;
  uint32_t tmp___18 ;
  uint32_t tmp___19 ;
  uint32_t tmp___20 ;
  uint32_t tmp___21 ;
  uint32_t tmp___22 ;
  uint32_t tmp___23 ;
  uint32_t tmp___24 ;
  uint32_t tmp___25 ;
  uint32_t tmp___26 ;
  uint32_t tmp___27 ;
  uint32_t tmp___28 ;
  uint32_t tmp___29 ;
  uint32_t tmp___30 ;
  uint32_t tmp___31 ;
  uint32_t tmp___32 ;
  uint32_t tmp___33 ;
  uint32_t tmp___34 ;
  uint32_t tmp___35 ;
  uint32_t tmp___36 ;
  uint32_t tmp___37 ;
  uint32_t tmp___38 ;
  uint32_t tmp___39 ;
  uint32_t tmp___40 ;
  uint32_t tmp___41 ;
  uint32_t tmp___42 ;
  uint32_t tmp___43 ;
  uint32_t tmp___44 ;
  uint32_t tmp___45 ;
  uint32_t tmp___46 ;
  uint32_t tmp___47 ;
  uint32_t tmp___48 ;
  uint32_t tmp___49 ;
  uint32_t tmp___50 ;
  uint32_t tmp___51 ;
  uint32_t tmp___52 ;
  uint32_t tmp___53 ;
  uint32_t tmp___54 ;
  uint32_t tmp___55 ;
  uint32_t tmp___56 ;
  uint32_t tmp___57 ;
  uint32_t tmp___58 ;
  uint32_t tmp___59 ;
  uint32_t tmp___60 ;
  uint32_t tmp___61 ;
  uint32_t tmp___62 ;
  uint32_t tmp___63 ;
  uint32_t tmp___64 ;
  uint32_t tmp___65 ;
  uint32_t tmp___66 ;
  uint32_t tmp___67 ;
  uint32_t tmp___68 ;
  uint32_t tmp___69 ;
  uint32_t tmp___70 ;
  uint32_t tmp___71 ;
  uint32_t tmp___72 ;
  uint32_t tmp___73 ;
  uint32_t tmp___74 ;
  uint32_t tmp___75 ;
  uint32_t tmp___76 ;
  uint32_t tmp___77 ;
  uint32_t tmp___78 ;
  uint32_t tmp___79 ;
  uint32_t tmp___80 ;
  uint32_t tmp___81 ;
  uint32_t tmp___82 ;
  uint32_t tmp___83 ;
  uint32_t tmp___84 ;
  uint32_t tmp___85 ;
  uint32_t tmp___86 ;
  uint32_t tmp___87 ;
  uint32_t tmp___88 ;
  uint32_t tmp___89 ;
  uint32_t tmp___90 ;
  uint32_t tmp___91 ;
  uint32_t tmp___92 ;
  uint32_t tmp___93 ;
  uint32_t tmp___94 ;
  uint32_t tmp___95 ;
  uint32_t tmp___96 ;
  uint32_t tmp___97 ;
  uint32_t tmp___98 ;
  uint32_t tmp___99 ;
  uint32_t tmp___100 ;
  uint32_t tmp___101 ;
  uint32_t tmp___102 ;
  uint32_t tmp___103 ;
  uint32_t tmp___104 ;
  uint32_t tmp___105 ;
  uint32_t tmp___106 ;
  uint32_t tmp___107 ;
  uint32_t tmp___108 ;
  uint32_t tmp___109 ;
  uint32_t tmp___110 ;
  uint32_t tmp___111 ;
  uint32_t tmp___112 ;
  uint32_t tmp___113 ;
  uint32_t tmp___114 ;
  uint32_t tmp___115 ;
  uint32_t tmp___116 ;
  uint32_t tmp___117 ;
  uint32_t tmp___118 ;
  uint32_t tmp___119 ;
  uint32_t tmp___120 ;
  uint32_t tmp___121 ;
  uint32_t tmp___122 ;
  uint32_t tmp___123 ;
  uint32_t tmp___124 ;
  uint32_t tmp___125 ;
  uint32_t tmp___126 ;
  uint32_t tmp___127 ;
  uint32_t tmp___128 ;
  uint32_t tmp___129 ;
  uint32_t tmp___130 ;
  uint32_t tmp___131 ;
  uint32_t tmp___132 ;
  uint32_t tmp___133 ;
  uint32_t tmp___134 ;
  uint32_t tmp___135 ;
  uint32_t tmp___136 ;
  uint32_t tmp___137 ;
  uint32_t tmp___138 ;
  uint32_t tmp___139 ;
  uint32_t tmp___140 ;
  uint32_t tmp___141 ;
  uint32_t tmp___142 ;
  uint32_t tmp___143 ;
  uint32_t tmp___144 ;
  uint32_t tmp___145 ;
  uint32_t tmp___146 ;
  uint32_t tmp___147 ;
  uint32_t tmp___148 ;
  uint32_t tmp___149 ;
  uint32_t tmp___150 ;
  uint32_t tmp___151 ;
  uint32_t tmp___152 ;
  uint32_t tmp___153 ;
  uint32_t tmp___154 ;
  uint32_t tmp___155 ;
  uint32_t tmp___156 ;
  uint32_t tmp___157 ;
  uint32_t tmp___158 ;
  uint32_t tmp___159 ;
  uint32_t tmp___160 ;
  uint32_t tmp___161 ;
  uint32_t tmp___162 ;
  uint32_t tmp___163 ;
  uint32_t tmp___164 ;
  uint32_t tmp___165 ;
  uint32_t tmp___166 ;
  uint32_t tmp___167 ;
  uint32_t tmp___168 ;
  uint32_t tmp___169 ;
  uint32_t tmp___170 ;
  uint32_t tmp___171 ;
  uint32_t tmp___172 ;
  uint32_t tmp___173 ;
  uint32_t tmp___174 ;
  uint32_t tmp___175 ;
  uint32_t tmp___176 ;
  uint32_t tmp___177 ;
  uint32_t tmp___178 ;
  uint32_t tmp___179 ;
  uint32_t tmp___180 ;
  uint32_t tmp___181 ;
  uint32_t tmp___182 ;
  uint32_t tmp___183 ;
  uint32_t tmp___184 ;
  uint32_t tmp___185 ;
  uint32_t tmp___186 ;
  uint32_t tmp___187 ;
  uint32_t tmp___188 ;
  uint32_t tmp___189 ;
  uint32_t tmp___190 ;
  uint32_t tmp___191 ;
  uint32_t tmp___192 ;
  uint32_t tmp___193 ;
  uint32_t tmp___194 ;
  uint32_t tmp___195 ;
  uint32_t tmp___196 ;
  uint32_t tmp___197 ;
  uint32_t tmp___198 ;
  uint32_t tmp___199 ;
  uint32_t tmp___200 ;
  uint32_t tmp___201 ;
  uint32_t tmp___202 ;
  uint32_t tmp___203 ;
  uint32_t tmp___204 ;
  uint32_t tmp___205 ;
  uint32_t tmp___206 ;
  uint32_t tmp___207 ;
  uint32_t tmp___208 ;
  uint32_t tmp___209 ;
  uint32_t tmp___210 ;
  uint32_t tmp___211 ;
  uint32_t tmp___212 ;
  uint32_t tmp___213 ;
  uint32_t tmp___214 ;
  uint32_t tmp___215 ;
  uint32_t tmp___216 ;
  uint32_t tmp___217 ;
  uint32_t tmp___218 ;
  uint32_t tmp___219 ;
  uint32_t tmp___220 ;
  uint32_t tmp___221 ;
  uint32_t tmp___222 ;
  uint32_t tmp___223 ;
  uint32_t tmp___224 ;
  uint32_t tmp___225 ;
  uint32_t tmp___226 ;
  uint32_t tmp___227 ;
  uint32_t tmp___228 ;
  uint32_t tmp___229 ;
  uint32_t tmp___230 ;
  uint32_t tmp___231 ;
  uint32_t tmp___232 ;
  uint32_t tmp___233 ;
  uint32_t tmp___234 ;
  uint32_t tmp___235 ;
  uint32_t tmp___236 ;
  uint32_t tmp___237 ;
  uint32_t tmp___238 ;
  uint32_t tmp___239 ;
  uint32_t tmp___240 ;
  uint32_t tmp___241 ;
  uint32_t tmp___242 ;
  uint32_t tmp___243 ;
  uint32_t tmp___244 ;
  uint32_t tmp___245 ;
  uint32_t tmp___246 ;
  uint32_t tmp___247 ;
  uint32_t tmp___248 ;
  uint32_t tmp___249 ;
  uint32_t tmp___250 ;
  uint32_t tmp___251 ;
  uint32_t tmp___252 ;
  uint32_t tmp___253 ;
  uint32_t tmp___254 ;
  uint32_t tmp___255 ;
  uint32_t tmp___256 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 8)) {
      goto while_break;
    }
    S[i] = ctx___0->state[i];
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < 16)) {
      goto while_break___0;
    }
    W[i] = get_be32((void const   *)buf___19);
    i ++;
    buf___19 += sizeof(uint32_t );
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 16;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < 64)) {
      goto while_break___1;
    }
    tmp = gamma1(W[i - 2]);
    tmp___0 = gamma0(W[i - 15]);
    W[i] = ((tmp + W[i - 7]) + tmp___0) + W[i - 16];
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  tmp___1 = sigma1(S[4]);
  tmp___2 = ch(S[4], S[5], S[6]);
  t0 = (((S[7] + tmp___1) + tmp___2) + 1116352408U) + W[0];
  tmp___3 = sigma0(S[0]);
  tmp___4 = maj(S[0], S[1], S[2]);
  t1 = tmp___3 + tmp___4;
  S[3] += t0;
  S[7] = t0 + t1;
  tmp___5 = sigma1(S[3]);
  tmp___6 = ch(S[3], S[4], S[5]);
  t0 = (((S[6] + tmp___5) + tmp___6) + 1899447441U) + W[1];
  tmp___7 = sigma0(S[7]);
  tmp___8 = maj(S[7], S[0], S[1]);
  t1 = tmp___7 + tmp___8;
  S[2] += t0;
  S[6] = t0 + t1;
  tmp___9 = sigma1(S[2]);
  tmp___10 = ch(S[2], S[3], S[4]);
  t0 = (((S[5] + tmp___9) + tmp___10) + 0xb5c0fbcf) + W[2];
  tmp___11 = sigma0(S[6]);
  tmp___12 = maj(S[6], S[7], S[0]);
  t1 = tmp___11 + tmp___12;
  S[1] += t0;
  S[5] = t0 + t1;
  tmp___13 = sigma1(S[1]);
  tmp___14 = ch(S[1], S[2], S[3]);
  t0 = (((S[4] + tmp___13) + tmp___14) + 0xe9b5dba5) + W[3];
  tmp___15 = sigma0(S[5]);
  tmp___16 = maj(S[5], S[6], S[7]);
  t1 = tmp___15 + tmp___16;
  S[0] += t0;
  S[4] = t0 + t1;
  tmp___17 = sigma1(S[0]);
  tmp___18 = ch(S[0], S[1], S[2]);
  t0 = (((S[3] + tmp___17) + tmp___18) + 961987163U) + W[4];
  tmp___19 = sigma0(S[4]);
  tmp___20 = maj(S[4], S[5], S[6]);
  t1 = tmp___19 + tmp___20;
  S[7] += t0;
  S[3] = t0 + t1;
  tmp___21 = sigma1(S[7]);
  tmp___22 = ch(S[7], S[0], S[1]);
  t0 = (((S[2] + tmp___21) + tmp___22) + 1508970993U) + W[5];
  tmp___23 = sigma0(S[3]);
  tmp___24 = maj(S[3], S[4], S[5]);
  t1 = tmp___23 + tmp___24;
  S[6] += t0;
  S[2] = t0 + t1;
  tmp___25 = sigma1(S[6]);
  tmp___26 = ch(S[6], S[7], S[0]);
  t0 = (((S[1] + tmp___25) + tmp___26) + 0x923f82a4) + W[6];
  tmp___27 = sigma0(S[2]);
  tmp___28 = maj(S[2], S[3], S[4]);
  t1 = tmp___27 + tmp___28;
  S[5] += t0;
  S[1] = t0 + t1;
  tmp___29 = sigma1(S[5]);
  tmp___30 = ch(S[5], S[6], S[7]);
  t0 = (((S[0] + tmp___29) + tmp___30) + 0xab1c5ed5) + W[7];
  tmp___31 = sigma0(S[1]);
  tmp___32 = maj(S[1], S[2], S[3]);
  t1 = tmp___31 + tmp___32;
  S[4] += t0;
  S[0] = t0 + t1;
  tmp___33 = sigma1(S[4]);
  tmp___34 = ch(S[4], S[5], S[6]);
  t0 = (((S[7] + tmp___33) + tmp___34) + 0xd807aa98) + W[8];
  tmp___35 = sigma0(S[0]);
  tmp___36 = maj(S[0], S[1], S[2]);
  t1 = tmp___35 + tmp___36;
  S[3] += t0;
  S[7] = t0 + t1;
  tmp___37 = sigma1(S[3]);
  tmp___38 = ch(S[3], S[4], S[5]);
  t0 = (((S[6] + tmp___37) + tmp___38) + 310598401U) + W[9];
  tmp___39 = sigma0(S[7]);
  tmp___40 = maj(S[7], S[0], S[1]);
  t1 = tmp___39 + tmp___40;
  S[2] += t0;
  S[6] = t0 + t1;
  tmp___41 = sigma1(S[2]);
  tmp___42 = ch(S[2], S[3], S[4]);
  t0 = (((S[5] + tmp___41) + tmp___42) + 607225278U) + W[10];
  tmp___43 = sigma0(S[6]);
  tmp___44 = maj(S[6], S[7], S[0]);
  t1 = tmp___43 + tmp___44;
  S[1] += t0;
  S[5] = t0 + t1;
  tmp___45 = sigma1(S[1]);
  tmp___46 = ch(S[1], S[2], S[3]);
  t0 = (((S[4] + tmp___45) + tmp___46) + 1426881987U) + W[11];
  tmp___47 = sigma0(S[5]);
  tmp___48 = maj(S[5], S[6], S[7]);
  t1 = tmp___47 + tmp___48;
  S[0] += t0;
  S[4] = t0 + t1;
  tmp___49 = sigma1(S[0]);
  tmp___50 = ch(S[0], S[1], S[2]);
  t0 = (((S[3] + tmp___49) + tmp___50) + 1925078388U) + W[12];
  tmp___51 = sigma0(S[4]);
  tmp___52 = maj(S[4], S[5], S[6]);
  t1 = tmp___51 + tmp___52;
  S[7] += t0;
  S[3] = t0 + t1;
  tmp___53 = sigma1(S[7]);
  tmp___54 = ch(S[7], S[0], S[1]);
  t0 = (((S[2] + tmp___53) + tmp___54) + 0x80deb1fe) + W[13];
  tmp___55 = sigma0(S[3]);
  tmp___56 = maj(S[3], S[4], S[5]);
  t1 = tmp___55 + tmp___56;
  S[6] += t0;
  S[2] = t0 + t1;
  tmp___57 = sigma1(S[6]);
  tmp___58 = ch(S[6], S[7], S[0]);
  t0 = (((S[1] + tmp___57) + tmp___58) + 0x9bdc06a7) + W[14];
  tmp___59 = sigma0(S[2]);
  tmp___60 = maj(S[2], S[3], S[4]);
  t1 = tmp___59 + tmp___60;
  S[5] += t0;
  S[1] = t0 + t1;
  tmp___61 = sigma1(S[5]);
  tmp___62 = ch(S[5], S[6], S[7]);
  t0 = (((S[0] + tmp___61) + tmp___62) + 0xc19bf174) + W[15];
  tmp___63 = sigma0(S[1]);
  tmp___64 = maj(S[1], S[2], S[3]);
  t1 = tmp___63 + tmp___64;
  S[4] += t0;
  S[0] = t0 + t1;
  tmp___65 = sigma1(S[4]);
  tmp___66 = ch(S[4], S[5], S[6]);
  t0 = (((S[7] + tmp___65) + tmp___66) + 0xe49b69c1) + W[16];
  tmp___67 = sigma0(S[0]);
  tmp___68 = maj(S[0], S[1], S[2]);
  t1 = tmp___67 + tmp___68;
  S[3] += t0;
  S[7] = t0 + t1;
  tmp___69 = sigma1(S[3]);
  tmp___70 = ch(S[3], S[4], S[5]);
  t0 = (((S[6] + tmp___69) + tmp___70) + 0xefbe4786) + W[17];
  tmp___71 = sigma0(S[7]);
  tmp___72 = maj(S[7], S[0], S[1]);
  t1 = tmp___71 + tmp___72;
  S[2] += t0;
  S[6] = t0 + t1;
  tmp___73 = sigma1(S[2]);
  tmp___74 = ch(S[2], S[3], S[4]);
  t0 = (((S[5] + tmp___73) + tmp___74) + 264347078U) + W[18];
  tmp___75 = sigma0(S[6]);
  tmp___76 = maj(S[6], S[7], S[0]);
  t1 = tmp___75 + tmp___76;
  S[1] += t0;
  S[5] = t0 + t1;
  tmp___77 = sigma1(S[1]);
  tmp___78 = ch(S[1], S[2], S[3]);
  t0 = (((S[4] + tmp___77) + tmp___78) + 604807628U) + W[19];
  tmp___79 = sigma0(S[5]);
  tmp___80 = maj(S[5], S[6], S[7]);
  t1 = tmp___79 + tmp___80;
  S[0] += t0;
  S[4] = t0 + t1;
  tmp___81 = sigma1(S[0]);
  tmp___82 = ch(S[0], S[1], S[2]);
  t0 = (((S[3] + tmp___81) + tmp___82) + 770255983U) + W[20];
  tmp___83 = sigma0(S[4]);
  tmp___84 = maj(S[4], S[5], S[6]);
  t1 = tmp___83 + tmp___84;
  S[7] += t0;
  S[3] = t0 + t1;
  tmp___85 = sigma1(S[7]);
  tmp___86 = ch(S[7], S[0], S[1]);
  t0 = (((S[2] + tmp___85) + tmp___86) + 1249150122U) + W[21];
  tmp___87 = sigma0(S[3]);
  tmp___88 = maj(S[3], S[4], S[5]);
  t1 = tmp___87 + tmp___88;
  S[6] += t0;
  S[2] = t0 + t1;
  tmp___89 = sigma1(S[6]);
  tmp___90 = ch(S[6], S[7], S[0]);
  t0 = (((S[1] + tmp___89) + tmp___90) + 1555081692U) + W[22];
  tmp___91 = sigma0(S[2]);
  tmp___92 = maj(S[2], S[3], S[4]);
  t1 = tmp___91 + tmp___92;
  S[5] += t0;
  S[1] = t0 + t1;
  tmp___93 = sigma1(S[5]);
  tmp___94 = ch(S[5], S[6], S[7]);
  t0 = (((S[0] + tmp___93) + tmp___94) + 1996064986U) + W[23];
  tmp___95 = sigma0(S[1]);
  tmp___96 = maj(S[1], S[2], S[3]);
  t1 = tmp___95 + tmp___96;
  S[4] += t0;
  S[0] = t0 + t1;
  tmp___97 = sigma1(S[4]);
  tmp___98 = ch(S[4], S[5], S[6]);
  t0 = (((S[7] + tmp___97) + tmp___98) + 0x983e5152) + W[24];
  tmp___99 = sigma0(S[0]);
  tmp___100 = maj(S[0], S[1], S[2]);
  t1 = tmp___99 + tmp___100;
  S[3] += t0;
  S[7] = t0 + t1;
  tmp___101 = sigma1(S[3]);
  tmp___102 = ch(S[3], S[4], S[5]);
  t0 = (((S[6] + tmp___101) + tmp___102) + 0xa831c66d) + W[25];
  tmp___103 = sigma0(S[7]);
  tmp___104 = maj(S[7], S[0], S[1]);
  t1 = tmp___103 + tmp___104;
  S[2] += t0;
  S[6] = t0 + t1;
  tmp___105 = sigma1(S[2]);
  tmp___106 = ch(S[2], S[3], S[4]);
  t0 = (((S[5] + tmp___105) + tmp___106) + 0xb00327c8) + W[26];
  tmp___107 = sigma0(S[6]);
  tmp___108 = maj(S[6], S[7], S[0]);
  t1 = tmp___107 + tmp___108;
  S[1] += t0;
  S[5] = t0 + t1;
  tmp___109 = sigma1(S[1]);
  tmp___110 = ch(S[1], S[2], S[3]);
  t0 = (((S[4] + tmp___109) + tmp___110) + 0xbf597fc7) + W[27];
  tmp___111 = sigma0(S[5]);
  tmp___112 = maj(S[5], S[6], S[7]);
  t1 = tmp___111 + tmp___112;
  S[0] += t0;
  S[4] = t0 + t1;
  tmp___113 = sigma1(S[0]);
  tmp___114 = ch(S[0], S[1], S[2]);
  t0 = (((S[3] + tmp___113) + tmp___114) + 0xc6e00bf3) + W[28];
  tmp___115 = sigma0(S[4]);
  tmp___116 = maj(S[4], S[5], S[6]);
  t1 = tmp___115 + tmp___116;
  S[7] += t0;
  S[3] = t0 + t1;
  tmp___117 = sigma1(S[7]);
  tmp___118 = ch(S[7], S[0], S[1]);
  t0 = (((S[2] + tmp___117) + tmp___118) + 0xd5a79147) + W[29];
  tmp___119 = sigma0(S[3]);
  tmp___120 = maj(S[3], S[4], S[5]);
  t1 = tmp___119 + tmp___120;
  S[6] += t0;
  S[2] = t0 + t1;
  tmp___121 = sigma1(S[6]);
  tmp___122 = ch(S[6], S[7], S[0]);
  t0 = (((S[1] + tmp___121) + tmp___122) + 113926993U) + W[30];
  tmp___123 = sigma0(S[2]);
  tmp___124 = maj(S[2], S[3], S[4]);
  t1 = tmp___123 + tmp___124;
  S[5] += t0;
  S[1] = t0 + t1;
  tmp___125 = sigma1(S[5]);
  tmp___126 = ch(S[5], S[6], S[7]);
  t0 = (((S[0] + tmp___125) + tmp___126) + 338241895U) + W[31];
  tmp___127 = sigma0(S[1]);
  tmp___128 = maj(S[1], S[2], S[3]);
  t1 = tmp___127 + tmp___128;
  S[4] += t0;
  S[0] = t0 + t1;
  tmp___129 = sigma1(S[4]);
  tmp___130 = ch(S[4], S[5], S[6]);
  t0 = (((S[7] + tmp___129) + tmp___130) + 666307205U) + W[32];
  tmp___131 = sigma0(S[0]);
  tmp___132 = maj(S[0], S[1], S[2]);
  t1 = tmp___131 + tmp___132;
  S[3] += t0;
  S[7] = t0 + t1;
  tmp___133 = sigma1(S[3]);
  tmp___134 = ch(S[3], S[4], S[5]);
  t0 = (((S[6] + tmp___133) + tmp___134) + 773529912U) + W[33];
  tmp___135 = sigma0(S[7]);
  tmp___136 = maj(S[7], S[0], S[1]);
  t1 = tmp___135 + tmp___136;
  S[2] += t0;
  S[6] = t0 + t1;
  tmp___137 = sigma1(S[2]);
  tmp___138 = ch(S[2], S[3], S[4]);
  t0 = (((S[5] + tmp___137) + tmp___138) + 1294757372U) + W[34];
  tmp___139 = sigma0(S[6]);
  tmp___140 = maj(S[6], S[7], S[0]);
  t1 = tmp___139 + tmp___140;
  S[1] += t0;
  S[5] = t0 + t1;
  tmp___141 = sigma1(S[1]);
  tmp___142 = ch(S[1], S[2], S[3]);
  t0 = (((S[4] + tmp___141) + tmp___142) + 1396182291U) + W[35];
  tmp___143 = sigma0(S[5]);
  tmp___144 = maj(S[5], S[6], S[7]);
  t1 = tmp___143 + tmp___144;
  S[0] += t0;
  S[4] = t0 + t1;
  tmp___145 = sigma1(S[0]);
  tmp___146 = ch(S[0], S[1], S[2]);
  t0 = (((S[3] + tmp___145) + tmp___146) + 1695183700U) + W[36];
  tmp___147 = sigma0(S[4]);
  tmp___148 = maj(S[4], S[5], S[6]);
  t1 = tmp___147 + tmp___148;
  S[7] += t0;
  S[3] = t0 + t1;
  tmp___149 = sigma1(S[7]);
  tmp___150 = ch(S[7], S[0], S[1]);
  t0 = (((S[2] + tmp___149) + tmp___150) + 1986661051U) + W[37];
  tmp___151 = sigma0(S[3]);
  tmp___152 = maj(S[3], S[4], S[5]);
  t1 = tmp___151 + tmp___152;
  S[6] += t0;
  S[2] = t0 + t1;
  tmp___153 = sigma1(S[6]);
  tmp___154 = ch(S[6], S[7], S[0]);
  t0 = (((S[1] + tmp___153) + tmp___154) + 0x81c2c92e) + W[38];
  tmp___155 = sigma0(S[2]);
  tmp___156 = maj(S[2], S[3], S[4]);
  t1 = tmp___155 + tmp___156;
  S[5] += t0;
  S[1] = t0 + t1;
  tmp___157 = sigma1(S[5]);
  tmp___158 = ch(S[5], S[6], S[7]);
  t0 = (((S[0] + tmp___157) + tmp___158) + 0x92722c85) + W[39];
  tmp___159 = sigma0(S[1]);
  tmp___160 = maj(S[1], S[2], S[3]);
  t1 = tmp___159 + tmp___160;
  S[4] += t0;
  S[0] = t0 + t1;
  tmp___161 = sigma1(S[4]);
  tmp___162 = ch(S[4], S[5], S[6]);
  t0 = (((S[7] + tmp___161) + tmp___162) + 0xa2bfe8a1) + W[40];
  tmp___163 = sigma0(S[0]);
  tmp___164 = maj(S[0], S[1], S[2]);
  t1 = tmp___163 + tmp___164;
  S[3] += t0;
  S[7] = t0 + t1;
  tmp___165 = sigma1(S[3]);
  tmp___166 = ch(S[3], S[4], S[5]);
  t0 = (((S[6] + tmp___165) + tmp___166) + 0xa81a664b) + W[41];
  tmp___167 = sigma0(S[7]);
  tmp___168 = maj(S[7], S[0], S[1]);
  t1 = tmp___167 + tmp___168;
  S[2] += t0;
  S[6] = t0 + t1;
  tmp___169 = sigma1(S[2]);
  tmp___170 = ch(S[2], S[3], S[4]);
  t0 = (((S[5] + tmp___169) + tmp___170) + 0xc24b8b70) + W[42];
  tmp___171 = sigma0(S[6]);
  tmp___172 = maj(S[6], S[7], S[0]);
  t1 = tmp___171 + tmp___172;
  S[1] += t0;
  S[5] = t0 + t1;
  tmp___173 = sigma1(S[1]);
  tmp___174 = ch(S[1], S[2], S[3]);
  t0 = (((S[4] + tmp___173) + tmp___174) + 0xc76c51a3) + W[43];
  tmp___175 = sigma0(S[5]);
  tmp___176 = maj(S[5], S[6], S[7]);
  t1 = tmp___175 + tmp___176;
  S[0] += t0;
  S[4] = t0 + t1;
  tmp___177 = sigma1(S[0]);
  tmp___178 = ch(S[0], S[1], S[2]);
  t0 = (((S[3] + tmp___177) + tmp___178) + 0xd192e819) + W[44];
  tmp___179 = sigma0(S[4]);
  tmp___180 = maj(S[4], S[5], S[6]);
  t1 = tmp___179 + tmp___180;
  S[7] += t0;
  S[3] = t0 + t1;
  tmp___181 = sigma1(S[7]);
  tmp___182 = ch(S[7], S[0], S[1]);
  t0 = (((S[2] + tmp___181) + tmp___182) + 0xd6990624) + W[45];
  tmp___183 = sigma0(S[3]);
  tmp___184 = maj(S[3], S[4], S[5]);
  t1 = tmp___183 + tmp___184;
  S[6] += t0;
  S[2] = t0 + t1;
  tmp___185 = sigma1(S[6]);
  tmp___186 = ch(S[6], S[7], S[0]);
  t0 = (((S[1] + tmp___185) + tmp___186) + 0xf40e3585) + W[46];
  tmp___187 = sigma0(S[2]);
  tmp___188 = maj(S[2], S[3], S[4]);
  t1 = tmp___187 + tmp___188;
  S[5] += t0;
  S[1] = t0 + t1;
  tmp___189 = sigma1(S[5]);
  tmp___190 = ch(S[5], S[6], S[7]);
  t0 = (((S[0] + tmp___189) + tmp___190) + 275423344U) + W[47];
  tmp___191 = sigma0(S[1]);
  tmp___192 = maj(S[1], S[2], S[3]);
  t1 = tmp___191 + tmp___192;
  S[4] += t0;
  S[0] = t0 + t1;
  tmp___193 = sigma1(S[4]);
  tmp___194 = ch(S[4], S[5], S[6]);
  t0 = (((S[7] + tmp___193) + tmp___194) + 430227734U) + W[48];
  tmp___195 = sigma0(S[0]);
  tmp___196 = maj(S[0], S[1], S[2]);
  t1 = tmp___195 + tmp___196;
  S[3] += t0;
  S[7] = t0 + t1;
  tmp___197 = sigma1(S[3]);
  tmp___198 = ch(S[3], S[4], S[5]);
  t0 = (((S[6] + tmp___197) + tmp___198) + 506948616U) + W[49];
  tmp___199 = sigma0(S[7]);
  tmp___200 = maj(S[7], S[0], S[1]);
  t1 = tmp___199 + tmp___200;
  S[2] += t0;
  S[6] = t0 + t1;
  tmp___201 = sigma1(S[2]);
  tmp___202 = ch(S[2], S[3], S[4]);
  t0 = (((S[5] + tmp___201) + tmp___202) + 659060556U) + W[50];
  tmp___203 = sigma0(S[6]);
  tmp___204 = maj(S[6], S[7], S[0]);
  t1 = tmp___203 + tmp___204;
  S[1] += t0;
  S[5] = t0 + t1;
  tmp___205 = sigma1(S[1]);
  tmp___206 = ch(S[1], S[2], S[3]);
  t0 = (((S[4] + tmp___205) + tmp___206) + 883997877U) + W[51];
  tmp___207 = sigma0(S[5]);
  tmp___208 = maj(S[5], S[6], S[7]);
  t1 = tmp___207 + tmp___208;
  S[0] += t0;
  S[4] = t0 + t1;
  tmp___209 = sigma1(S[0]);
  tmp___210 = ch(S[0], S[1], S[2]);
  t0 = (((S[3] + tmp___209) + tmp___210) + 958139571U) + W[52];
  tmp___211 = sigma0(S[4]);
  tmp___212 = maj(S[4], S[5], S[6]);
  t1 = tmp___211 + tmp___212;
  S[7] += t0;
  S[3] = t0 + t1;
  tmp___213 = sigma1(S[7]);
  tmp___214 = ch(S[7], S[0], S[1]);
  t0 = (((S[2] + tmp___213) + tmp___214) + 1322822218U) + W[53];
  tmp___215 = sigma0(S[3]);
  tmp___216 = maj(S[3], S[4], S[5]);
  t1 = tmp___215 + tmp___216;
  S[6] += t0;
  S[2] = t0 + t1;
  tmp___217 = sigma1(S[6]);
  tmp___218 = ch(S[6], S[7], S[0]);
  t0 = (((S[1] + tmp___217) + tmp___218) + 1537002063U) + W[54];
  tmp___219 = sigma0(S[2]);
  tmp___220 = maj(S[2], S[3], S[4]);
  t1 = tmp___219 + tmp___220;
  S[5] += t0;
  S[1] = t0 + t1;
  tmp___221 = sigma1(S[5]);
  tmp___222 = ch(S[5], S[6], S[7]);
  t0 = (((S[0] + tmp___221) + tmp___222) + 1747873779U) + W[55];
  tmp___223 = sigma0(S[1]);
  tmp___224 = maj(S[1], S[2], S[3]);
  t1 = tmp___223 + tmp___224;
  S[4] += t0;
  S[0] = t0 + t1;
  tmp___225 = sigma1(S[4]);
  tmp___226 = ch(S[4], S[5], S[6]);
  t0 = (((S[7] + tmp___225) + tmp___226) + 1955562222U) + W[56];
  tmp___227 = sigma0(S[0]);
  tmp___228 = maj(S[0], S[1], S[2]);
  t1 = tmp___227 + tmp___228;
  S[3] += t0;
  S[7] = t0 + t1;
  tmp___229 = sigma1(S[3]);
  tmp___230 = ch(S[3], S[4], S[5]);
  t0 = (((S[6] + tmp___229) + tmp___230) + 2024104815U) + W[57];
  tmp___231 = sigma0(S[7]);
  tmp___232 = maj(S[7], S[0], S[1]);
  t1 = tmp___231 + tmp___232;
  S[2] += t0;
  S[6] = t0 + t1;
  tmp___233 = sigma1(S[2]);
  tmp___234 = ch(S[2], S[3], S[4]);
  t0 = (((S[5] + tmp___233) + tmp___234) + 0x84c87814) + W[58];
  tmp___235 = sigma0(S[6]);
  tmp___236 = maj(S[6], S[7], S[0]);
  t1 = tmp___235 + tmp___236;
  S[1] += t0;
  S[5] = t0 + t1;
  tmp___237 = sigma1(S[1]);
  tmp___238 = ch(S[1], S[2], S[3]);
  t0 = (((S[4] + tmp___237) + tmp___238) + 0x8cc70208) + W[59];
  tmp___239 = sigma0(S[5]);
  tmp___240 = maj(S[5], S[6], S[7]);
  t1 = tmp___239 + tmp___240;
  S[0] += t0;
  S[4] = t0 + t1;
  tmp___241 = sigma1(S[0]);
  tmp___242 = ch(S[0], S[1], S[2]);
  t0 = (((S[3] + tmp___241) + tmp___242) + 0x90befffa) + W[60];
  tmp___243 = sigma0(S[4]);
  tmp___244 = maj(S[4], S[5], S[6]);
  t1 = tmp___243 + tmp___244;
  S[7] += t0;
  S[3] = t0 + t1;
  tmp___245 = sigma1(S[7]);
  tmp___246 = ch(S[7], S[0], S[1]);
  t0 = (((S[2] + tmp___245) + tmp___246) + 0xa4506ceb) + W[61];
  tmp___247 = sigma0(S[3]);
  tmp___248 = maj(S[3], S[4], S[5]);
  t1 = tmp___247 + tmp___248;
  S[6] += t0;
  S[2] = t0 + t1;
  tmp___249 = sigma1(S[6]);
  tmp___250 = ch(S[6], S[7], S[0]);
  t0 = (((S[1] + tmp___249) + tmp___250) + 0xbef9a3f7) + W[62];
  tmp___251 = sigma0(S[2]);
  tmp___252 = maj(S[2], S[3], S[4]);
  t1 = tmp___251 + tmp___252;
  S[5] += t0;
  S[1] = t0 + t1;
  tmp___253 = sigma1(S[5]);
  tmp___254 = ch(S[5], S[6], S[7]);
  t0 = (((S[0] + tmp___253) + tmp___254) + 0xc67178f2) + W[63];
  tmp___255 = sigma0(S[1]);
  tmp___256 = maj(S[1], S[2], S[3]);
  t1 = tmp___255 + tmp___256;
  S[4] += t0;
  S[0] = t0 + t1;
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < 8)) {
      goto while_break___2;
    }
    ctx___0->state[i] += S[i];
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  return;
}
}
void blk_SHA256_Update(blk_SHA256_CTX *ctx___0 , void const   *data , size_t len___0 )
{
  unsigned int len_buf ;
  unsigned int left ;

  {
  len_buf = (unsigned int )(ctx___0->size & 63UL);
  ctx___0->size += len___0;
  if (len_buf) {
    left = 64U - len_buf;
    if (len___0 < (size_t )left) {
      left = (unsigned int )len___0;
    }
    memcpy((void *)(ctx___0->buf + len_buf), data, (size_t )left);
    len_buf = (len_buf + left) & 63U;
    len___0 -= (size_t )left;
    data = (void const   *)((char const   *)data + left);
    if (len_buf) {
      return;
    }
    blk_SHA256_Transform(ctx___0, (unsigned char const   *)(ctx___0->buf));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (len___0 >= 64UL)) {
      goto while_break;
    }
    blk_SHA256_Transform(ctx___0, (unsigned char const   *)data);
    data = (void const   *)((char const   *)data + 64);
    len___0 -= 64UL;
  }
  while_break: /* CIL Label */ ;
  }
  if (len___0) {
    memcpy((void *)(ctx___0->buf), data, len___0);
  }
  return;
}
}
static unsigned char const   pad[64]  = {      (unsigned char const   )0x80};
void blk_SHA256_Final(unsigned char *digest , blk_SHA256_CTX *ctx___0 )
{
  unsigned int padlen[2] ;
  int i ;

  {
  padlen[0] = git_bswap32((uint32_t )(ctx___0->size >> 29));
  padlen[1] = git_bswap32((uint32_t )(ctx___0->size << 3));
  i = (int )(ctx___0->size & 63UL);
  blk_SHA256_Update(ctx___0, (void const   *)(pad), (size_t )(1 + (63 & (55 - i))));
  blk_SHA256_Update(ctx___0, (void const   *)(padlen), (size_t )8);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 8)) {
      goto while_break;
    }
    put_be32((void *)digest, ctx___0->state[i]);
    i ++;
    digest += sizeof(uint32_t );
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int parse_proc_stat(struct strbuf *sb___6 , struct strbuf *name___0 , int *statppid )
{
  char const   *comm_lhs ;
  char *tmp ;
  char const   *comm_rhs ;
  char *tmp___0 ;
  char const   *ppid_lhs ;
  char const   *ppid_rhs ;
  char *p___0 ;
  pid_t ppid ;
  char *tmp___1 ;
  long tmp___2 ;
  char const   *comm ;
  size_t commlen ;

  {
  tmp = strchr((char const   *)sb___6->buf, '(');
  comm_lhs = (char const   *)tmp;
  tmp___0 = strrchr((char const   *)sb___6->buf, ')');
  comm_rhs = (char const   *)tmp___0;
  if (! comm_lhs) {
    goto bad_kernel;
  } else
  if (! comm_rhs) {
    goto bad_kernel;
  }
  ppid_lhs = comm_rhs + 4;
  tmp___1 = strchr(ppid_lhs, ' ');
  ppid_rhs = (char const   *)tmp___1;
  if (! ppid_rhs) {
    goto bad_kernel;
  }
  tmp___2 = strtol((char const   * __restrict  )ppid_lhs, (char ** __restrict  )(& p___0),
                   10);
  ppid = (pid_t )tmp___2;
  if ((unsigned long )ppid_rhs == (unsigned long )p___0) {
    comm = comm_lhs + 1;
    commlen = (size_t )(comm_rhs - comm);
    strbuf_add(name___0, (void const   *)comm, commlen);
    *statppid = ppid;
    return (0);
  }
  bad_kernel:
  return (-1);
}
}
static int stat_parent_pid(pid_t pid , struct strbuf *name___0 , int *statppid )
{
  struct strbuf procfs_path ;
  struct strbuf sb___6 ;
  FILE *fp ;
  int ret___67 ;
  size_t tmp ;
  int tmp___0 ;

  {
  procfs_path.alloc = 0UL;
  procfs_path.len = 0UL;
  procfs_path.buf = strbuf_slopbuf;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  ret___67 = -1;
  strbuf_addf(& procfs_path, (char const   *)"/proc/%d/stat", pid);
  fp = git_fopen((char const   *)procfs_path.buf, (char const   *)"r");
  if (! fp) {
    goto cleanup;
  }
  tmp = strbuf_fread(& sb___6, (size_t )64, fp);
  if (! tmp) {
    goto cleanup;
  }
  tmp___0 = parse_proc_stat(& sb___6, name___0, statppid);
  if (tmp___0 < 0) {
    goto cleanup;
  }
  ret___67 = 0;
  cleanup:
  if (fp) {
    fclose(fp);
  }
  strbuf_release(& procfs_path);
  strbuf_release(& sb___6);
  return (ret___67);
}
}
static void push_ancestry_name(struct strvec *names___0 , pid_t pid )
{
  struct strbuf name___0 ;
  int ppid ;
  int tmp ;

  {
  name___0.alloc = 0UL;
  name___0.len = 0UL;
  name___0.buf = strbuf_slopbuf;
  tmp = stat_parent_pid(pid, & name___0, & ppid);
  if (tmp < 0) {
    goto cleanup;
  }
  strvec_push(names___0, (char const   *)name___0.buf);
  if (ppid) {
    push_ancestry_name(names___0, ppid);
  }
  cleanup:
  strbuf_release(& name___0);
  return;
}
}
void trace2_collect_process_info(enum trace2_process_info_reason reason )
{
  struct strvec names___0 ;
  int tmp ;
  __pid_t tmp___0 ;

  {
  names___0.v = empty_strvec;
  names___0.nr = 0UL;
  names___0.alloc = 0UL;
  tmp = trace2_is_enabled();
  if (! tmp) {
    return;
  }
  {
  if ((unsigned int )reason == 1U) {
    goto case_1;
  }
  if ((unsigned int )reason == 0U) {
    goto case_0;
  }
  goto switch_break;
  case_1: /* CIL Label */
  goto switch_break;
  case_0: /* CIL Label */
  tmp___0 = getppid();
  push_ancestry_name(& names___0, tmp___0);
  if (names___0.nr) {
    trace2_cmd_ancestry_fl((char const   *)"compat/linux/procinfo.c", 170, names___0.v);
  }
  strvec_clear(& names___0);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
FILE *git_fopen(char const   *path___6 , char const   *mode___1 )
{
  FILE *fp ;
  struct stat st ;
  FILE *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int *tmp___2 ;

  {
  if ((int const   )*(mode___1 + 0) == 119) {
    tmp = fopen((char const   * __restrict  )path___6, (char const   * __restrict  )mode___1);
    return (tmp);
  } else
  if ((int const   )*(mode___1 + 0) == 97) {
    tmp = fopen((char const   * __restrict  )path___6, (char const   * __restrict  )mode___1);
    return (tmp);
  }
  fp = fopen((char const   * __restrict  )path___6, (char const   * __restrict  )mode___1);
  if (! fp) {
    return ((FILE *)((void *)0));
  }
  tmp___0 = fileno(fp);
  tmp___1 = fstat(tmp___0, & st);
  if (tmp___1) {
    fclose(fp);
    return ((FILE *)((void *)0));
  }
  if ((st.st_mode & 61440U) == 16384U) {
    fclose(fp);
    tmp___2 = __errno_location();
    *tmp___2 = 21;
    return ((FILE *)((void *)0));
  }
  return (fp);
}
}
size_t gitstrlcpy(char *dest , char const   *src , size_t size )
{
  size_t ret___67 ;
  size_t tmp ;
  size_t len___0 ;
  size_t tmp___0 ;

  {
  tmp = strlen(src);
  ret___67 = tmp;
  if (size) {
    if (ret___67 >= size) {
      tmp___0 = size - 1UL;
    } else {
      tmp___0 = ret___67;
    }
    len___0 = tmp___0;
    memcpy((void *)dest, (void const   *)src, len___0);
    *(dest + len___0) = (char )'\000';
  }
  return (ret___67);
}
}
static void msort_with_tmp___0(void *b___0 , size_t n , size_t s___1 , int (*cmp___0)(void const   * ,
                                                                                      void const   * ,
                                                                                      void * ) ,
                               char *t , void *ctx___0 )
{
  char *tmp ;
  char *b1 ;
  char *b2 ;
  size_t n1 ;
  size_t n2 ;
  int tmp___0 ;

  {
  if (n <= 1UL) {
    return;
  }
  n1 = n / 2UL;
  n2 = n - n1;
  b1 = (char *)b___0;
  b2 = (char *)b___0 + n1 * s___1;
  msort_with_tmp___0((void *)b1, n1, s___1, cmp___0, t, ctx___0);
  msort_with_tmp___0((void *)b2, n2, s___1, cmp___0, t, ctx___0);
  tmp = t;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (n1 > 0UL) {
      if (! (n2 > 0UL)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___0 = (*cmp___0)((void const   *)b1, (void const   *)b2, ctx___0);
    if (tmp___0 <= 0) {
      memcpy((void *)tmp, (void const   *)b1, s___1);
      tmp += s___1;
      b1 += s___1;
      n1 --;
    } else {
      memcpy((void *)tmp, (void const   *)b2, s___1);
      tmp += s___1;
      b2 += s___1;
      n2 --;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (n1 > 0UL) {
    memcpy((void *)tmp, (void const   *)b1, n1 * s___1);
  }
  memcpy(b___0, (void const   *)t, (n - n2) * s___1);
  return;
}
}
int git_qsort_s(void *b___0 , size_t n , size_t s___1 , int (*cmp___0)(void const   * ,
                                                                       void const   * ,
                                                                       void * ) ,
                void *ctx___0 )
{
  size_t size ;
  size_t tmp ;
  char buf___19[1024] ;
  char *tmp___0 ;
  void *tmp___1 ;

  {
  tmp = st_mult(n, s___1);
  size = (size_t )tmp;
  if (! n) {
    return (0);
  }
  if (! b___0) {
    return (-1);
  } else
  if (! cmp___0) {
    return (-1);
  }
  if (size < (size_t )sizeof(buf___19)) {
    msort_with_tmp___0(b___0, n, s___1, cmp___0, buf___19, ctx___0);
  } else {
    tmp___1 = xmalloc((size_t )size);
    tmp___0 = (char *)tmp___1;
    msort_with_tmp___0(b___0, n, s___1, cmp___0, tmp___0, ctx___0);
    free((void *)tmp___0);
  }
  return (0);
}
}
int xdl_prepare_env(mmfile_t *mf1 , mmfile_t *mf2 , xpparam_t const   *xpp , xdfenv_t *xe ) ;
void xdl_free_env(xdfenv_t *xe ) ;
static long xdl_split(unsigned long const   *ha1 , long off1 , long lim1 , unsigned long const   *ha2 ,
                      long off2 , long lim2 , long *kvdf , long *kvdb , int need_min ,
                      xdpsplit_t *spl , xdalgoenv_t *xenv )
{
  long dmin ;
  long dmax ;
  long fmid ;
  long bmid ;
  long odd ;
  long fmin ;
  long fmax ;
  long bmin ;
  long bmax ;
  long ec ;
  long d ;
  long i1 ;
  long i2 ;
  long prev1 ;
  long best ;
  long dd ;
  long v ;
  long k ;
  int got_snake ;
  int tmp ;
  int tmp___0 ;
  long fbest ;
  long fbest1 ;
  long bbest ;
  long bbest1 ;

  {
  dmin = off1 - lim2;
  dmax = lim1 - off2;
  fmid = off1 - off2;
  bmid = lim1 - lim2;
  odd = (fmid - bmid) & 1L;
  fmin = fmid;
  fmax = fmid;
  bmin = bmid;
  bmax = bmid;
  *(kvdf + fmid) = off1;
  *(kvdb + bmid) = lim1;
  ec = 1L;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    got_snake = 0;
    if (fmin > dmin) {
      fmin --;
      *(kvdf + (fmin - 1L)) = -1L;
    } else {
      fmin ++;
    }
    if (fmax < dmax) {
      fmax ++;
      *(kvdf + (fmax + 1L)) = -1L;
    } else {
      fmax --;
    }
    d = fmax;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (d >= fmin)) {
        goto while_break___0;
      }
      if (*(kvdf + (d - 1L)) >= *(kvdf + (d + 1L))) {
        i1 = *(kvdf + (d - 1L)) + 1L;
      } else {
        i1 = *(kvdf + (d + 1L));
      }
      prev1 = i1;
      i2 = i1 - d;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (i1 < lim1) {
          if (i2 < lim2) {
            if (! (*(ha1 + i1) == *(ha2 + i2))) {
              goto while_break___1;
            }
          } else {
            goto while_break___1;
          }
        } else {
          goto while_break___1;
        }
        i1 ++;
        i2 ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      if (i1 - prev1 > xenv->snake_cnt) {
        got_snake = 1;
      }
      *(kvdf + d) = i1;
      if (odd) {
        if (bmin <= d) {
          if (d <= bmax) {
            if (*(kvdb + d) <= i1) {
              spl->i1 = i1;
              spl->i2 = i2;
              tmp = 1;
              spl->min_hi = tmp;
              spl->min_lo = tmp;
              return (ec);
            }
          }
        }
      }
      d -= 2L;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (bmin > dmin) {
      bmin --;
      *(kvdb + (bmin - 1L)) = (long )((1UL << (8UL * sizeof(long ) - 1UL)) - 1UL);
    } else {
      bmin ++;
    }
    if (bmax < dmax) {
      bmax ++;
      *(kvdb + (bmax + 1L)) = (long )((1UL << (8UL * sizeof(long ) - 1UL)) - 1UL);
    } else {
      bmax --;
    }
    d = bmax;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (d >= bmin)) {
        goto while_break___2;
      }
      if (*(kvdb + (d - 1L)) < *(kvdb + (d + 1L))) {
        i1 = *(kvdb + (d - 1L));
      } else {
        i1 = *(kvdb + (d + 1L)) - 1L;
      }
      prev1 = i1;
      i2 = i1 - d;
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if (i1 > off1) {
          if (i2 > off2) {
            if (! (*(ha1 + (i1 - 1L)) == *(ha2 + (i2 - 1L)))) {
              goto while_break___3;
            }
          } else {
            goto while_break___3;
          }
        } else {
          goto while_break___3;
        }
        i1 --;
        i2 --;
      }
      while_break___3: /* CIL Label */ ;
      }
      if (prev1 - i1 > xenv->snake_cnt) {
        got_snake = 1;
      }
      *(kvdb + d) = i1;
      if (! odd) {
        if (fmin <= d) {
          if (d <= fmax) {
            if (i1 <= *(kvdf + d)) {
              spl->i1 = i1;
              spl->i2 = i2;
              tmp___0 = 1;
              spl->min_hi = tmp___0;
              spl->min_lo = tmp___0;
              return (ec);
            }
          }
        }
      }
      d -= 2L;
    }
    while_break___2: /* CIL Label */ ;
    }
    if (need_min) {
      goto __Cont;
    }
    if (got_snake) {
      if (ec > xenv->heur_min) {
        best = 0L;
        d = fmax;
        {
        while (1) {
          while_continue___4: /* CIL Label */ ;
          if (! (d >= fmin)) {
            goto while_break___4;
          }
          if (d > fmid) {
            dd = d - fmid;
          } else {
            dd = fmid - d;
          }
          i1 = *(kvdf + d);
          i2 = i1 - d;
          v = ((i1 - off1) + (i2 - off2)) - dd;
          if (v > 4L * ec) {
            if (v > best) {
              if (off1 + xenv->snake_cnt <= i1) {
                if (i1 < lim1) {
                  if (off2 + xenv->snake_cnt <= i2) {
                    if (i2 < lim2) {
                      k = 1L;
                      {
                      while (1) {
                        while_continue___5: /* CIL Label */ ;
                        if (! (*(ha1 + (i1 - k)) == *(ha2 + (i2 - k)))) {
                          goto while_break___5;
                        }
                        if (k == xenv->snake_cnt) {
                          best = v;
                          spl->i1 = i1;
                          spl->i2 = i2;
                          goto while_break___5;
                        }
                        k ++;
                      }
                      while_break___5: /* CIL Label */ ;
                      }
                    }
                  }
                }
              }
            }
          }
          d -= 2L;
        }
        while_break___4: /* CIL Label */ ;
        }
        if (best > 0L) {
          spl->min_lo = 1;
          spl->min_hi = 0;
          return (ec);
        }
        best = 0L;
        d = bmax;
        {
        while (1) {
          while_continue___6: /* CIL Label */ ;
          if (! (d >= bmin)) {
            goto while_break___6;
          }
          if (d > bmid) {
            dd = d - bmid;
          } else {
            dd = bmid - d;
          }
          i1 = *(kvdb + d);
          i2 = i1 - d;
          v = ((lim1 - i1) + (lim2 - i2)) - dd;
          if (v > 4L * ec) {
            if (v > best) {
              if (off1 < i1) {
                if (i1 <= lim1 - xenv->snake_cnt) {
                  if (off2 < i2) {
                    if (i2 <= lim2 - xenv->snake_cnt) {
                      k = 0L;
                      {
                      while (1) {
                        while_continue___7: /* CIL Label */ ;
                        if (! (*(ha1 + (i1 + k)) == *(ha2 + (i2 + k)))) {
                          goto while_break___7;
                        }
                        if (k == xenv->snake_cnt - 1L) {
                          best = v;
                          spl->i1 = i1;
                          spl->i2 = i2;
                          goto while_break___7;
                        }
                        k ++;
                      }
                      while_break___7: /* CIL Label */ ;
                      }
                    }
                  }
                }
              }
            }
          }
          d -= 2L;
        }
        while_break___6: /* CIL Label */ ;
        }
        if (best > 0L) {
          spl->min_lo = 0;
          spl->min_hi = 1;
          return (ec);
        }
      }
    }
    if (ec >= xenv->mxcost) {
      fbest1 = -1L;
      fbest = fbest1;
      d = fmax;
      {
      while (1) {
        while_continue___8: /* CIL Label */ ;
        if (! (d >= fmin)) {
          goto while_break___8;
        }
        if (*(kvdf + d) < lim1) {
          i1 = *(kvdf + d);
        } else {
          i1 = lim1;
        }
        i2 = i1 - d;
        if (lim2 < i2) {
          i1 = lim2 + d;
          i2 = lim2;
        }
        if (fbest < i1 + i2) {
          fbest = i1 + i2;
          fbest1 = i1;
        }
        d -= 2L;
      }
      while_break___8: /* CIL Label */ ;
      }
      bbest1 = (long )((1UL << (8UL * sizeof(long ) - 1UL)) - 1UL);
      bbest = bbest1;
      d = bmax;
      {
      while (1) {
        while_continue___9: /* CIL Label */ ;
        if (! (d >= bmin)) {
          goto while_break___9;
        }
        if (off1 > *(kvdb + d)) {
          i1 = off1;
        } else {
          i1 = *(kvdb + d);
        }
        i2 = i1 - d;
        if (i2 < off2) {
          i1 = off2 + d;
          i2 = off2;
        }
        if (i1 + i2 < bbest) {
          bbest = i1 + i2;
          bbest1 = i1;
        }
        d -= 2L;
      }
      while_break___9: /* CIL Label */ ;
      }
      if ((lim1 + lim2) - bbest < fbest - (off1 + off2)) {
        spl->i1 = fbest1;
        spl->i2 = fbest - fbest1;
        spl->min_lo = 1;
        spl->min_hi = 0;
      } else {
        spl->i1 = bbest1;
        spl->i2 = bbest - bbest1;
        spl->min_lo = 0;
        spl->min_hi = 1;
      }
      return (ec);
    }
    __Cont: /* CIL Label */
    ec ++;
  }
  while_break: /* CIL Label */ ;
  }
}
}
int xdl_recs_cmp(diffdata_t *dd1 , long off1 , long lim1 , diffdata_t *dd2 , long off2 ,
                 long lim2 , long *kvdf , long *kvdb , int need_min , xdalgoenv_t *xenv )
{
  unsigned long const   *ha1 ;
  unsigned long const   *ha2 ;
  char *rchg2 ;
  long *rindex2 ;
  char *rchg1 ;
  long *rindex1 ;
  xdpsplit_t spl ;
  long tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  ha1 = dd1->ha;
  ha2 = dd2->ha;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (off1 < lim1) {
      if (off2 < lim2) {
        if (! (*(ha1 + off1) == *(ha2 + off2))) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    off1 ++;
    off2 ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (off1 < lim1) {
      if (off2 < lim2) {
        if (! (*(ha1 + (lim1 - 1L)) == *(ha2 + (lim2 - 1L)))) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    lim1 --;
    lim2 --;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (off1 == lim1) {
    rchg2 = dd2->rchg;
    rindex2 = dd2->rindex;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (off2 < lim2)) {
        goto while_break___1;
      }
      *(rchg2 + *(rindex2 + off2)) = (char)1;
      off2 ++;
    }
    while_break___1: /* CIL Label */ ;
    }
  } else
  if (off2 == lim2) {
    rchg1 = dd1->rchg;
    rindex1 = dd1->rindex;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (off1 < lim1)) {
        goto while_break___2;
      }
      *(rchg1 + *(rindex1 + off1)) = (char)1;
      off1 ++;
    }
    while_break___2: /* CIL Label */ ;
    }
  } else {
    spl.i2 = 0L;
    spl.i1 = spl.i2;
    tmp = xdl_split(ha1, off1, lim1, ha2, off2, lim2, kvdf, kvdb, need_min, & spl,
                    xenv);
    if (tmp < 0L) {
      return (-1);
    }
    tmp___0 = xdl_recs_cmp(dd1, off1, spl.i1, dd2, off2, spl.i2, kvdf, kvdb, spl.min_lo,
                           xenv);
    if (tmp___0 < 0) {
      return (-1);
    } else {
      tmp___1 = xdl_recs_cmp(dd1, spl.i1, lim1, dd2, spl.i2, lim2, kvdf, kvdb, spl.min_hi,
                             xenv);
      if (tmp___1 < 0) {
        return (-1);
      }
    }
  }
  return (0);
}
}
int xdl_do_diff(mmfile_t *mf1 , mmfile_t *mf2 , xpparam_t const   *xpp , xdfenv_t *xe )
{
  long ndiags ;
  long *kvd ;
  long *kvdf ;
  long *kvdb ;
  xdalgoenv_t xenv ;
  diffdata_t dd1 ;
  diffdata_t dd2 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  void *tmp___2 ;
  int tmp___3 ;

  {
  if ((xpp->flags & (unsigned long )((1 << 14) | (1 << 15))) == (unsigned long )(1 << 14)) {
    tmp = xdl_do_patience_diff(mf1, mf2, xpp, xe);
    return (tmp);
  }
  if ((xpp->flags & (unsigned long )((1 << 14) | (1 << 15))) == (unsigned long )(1 << 15)) {
    tmp___0 = xdl_do_histogram_diff(mf1, mf2, xpp, xe);
    return (tmp___0);
  }
  tmp___1 = xdl_prepare_env(mf1, mf2, xpp, xe);
  if (tmp___1 < 0) {
    return (-1);
  }
  ndiags = (xe->xdf1.nreff + xe->xdf2.nreff) + 3L;
  tmp___2 = xmalloc((unsigned long )(2L * ndiags + 2L) * sizeof(long ));
  kvd = (long *)tmp___2;
  if (! kvd) {
    xdl_free_env(xe);
    return (-1);
  }
  kvdf = kvd;
  kvdb = kvdf + ndiags;
  kvdf += xe->xdf2.nreff + 1L;
  kvdb += xe->xdf2.nreff + 1L;
  xenv.mxcost = xdl_bogosqrt(ndiags);
  if (xenv.mxcost < 256L) {
    xenv.mxcost = 256L;
  }
  xenv.snake_cnt = 20L;
  xenv.heur_min = 256L;
  dd1.nrec = xe->xdf1.nreff;
  dd1.ha = (unsigned long const   *)xe->xdf1.ha;
  dd1.rchg = xe->xdf1.rchg;
  dd1.rindex = xe->xdf1.rindex;
  dd2.nrec = xe->xdf2.nreff;
  dd2.ha = (unsigned long const   *)xe->xdf2.ha;
  dd2.rchg = xe->xdf2.rchg;
  dd2.rindex = xe->xdf2.rindex;
  tmp___3 = xdl_recs_cmp(& dd1, 0L, dd1.nrec, & dd2, 0L, dd2.nrec, kvdf, kvdb, (xpp->flags & 1UL) != 0UL,
                         & xenv);
  if (tmp___3 < 0) {
    free((void *)kvd);
    xdl_free_env(xe);
    return (-1);
  }
  free((void *)kvd);
  return (0);
}
}
static xdchange_t *xdl_add_change(xdchange_t *xscr , long i1 , long i2 , long chg1 ,
                                  long chg2 )
{
  xdchange_t *xch ;
  void *tmp ;

  {
  tmp = xmalloc(sizeof(xdchange_t ));
  xch = (xdchange_t *)tmp;
  if (! xch) {
    return ((xdchange_t *)((void *)0));
  }
  xch->next = xscr;
  xch->i1 = i1;
  xch->i2 = i2;
  xch->chg1 = chg1;
  xch->chg2 = chg2;
  xch->ignore = 0;
  return (xch);
}
}
static int recs_match(xrecord_t *rec1 , xrecord_t *rec2 )
{


  {
  return (rec1->ha == rec2->ha);
}
}
static int get_indent(xrecord_t *rec )
{
  long i ;
  int ret___67 ;
  char c___0 ;

  {
  ret___67 = 0;
  i = 0L;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < rec->size)) {
      goto while_break;
    }
    c___0 = (char )*(rec->ptr + i);
    if (! (((int const   )sane_ctype[(unsigned char )c___0] & 1) != 0)) {
      return (ret___67);
    } else
    if ((int )c___0 == 32) {
      ret___67 ++;
    } else
    if ((int )c___0 == 9) {
      ret___67 += 8 - ret___67 % 8;
    }
    if (ret___67 >= 200) {
      return (200);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (-1);
}
}
static void measure_split(xdfile_t const   *xdf , long split , struct split_measurement *m )
{
  long i ;

  {
  if (split >= (long )xdf->nrec) {
    m->end_of_file = 1;
    m->indent = -1;
  } else {
    m->end_of_file = 0;
    m->indent = get_indent(*(xdf->recs + split));
  }
  m->pre_blank = 0;
  m->pre_indent = -1;
  i = split - 1L;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i >= 0L)) {
      goto while_break;
    }
    m->pre_indent = get_indent(*(xdf->recs + i));
    if (m->pre_indent != -1) {
      goto while_break;
    }
    (m->pre_blank) ++;
    if (m->pre_blank == 20) {
      m->pre_indent = 0;
      goto while_break;
    }
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  m->post_blank = 0;
  m->post_indent = -1;
  i = split + 1L;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < (long )xdf->nrec)) {
      goto while_break___0;
    }
    m->post_indent = get_indent(*(xdf->recs + i));
    if (m->post_indent != -1) {
      goto while_break___0;
    }
    (m->post_blank) ++;
    if (m->post_blank == 20) {
      m->post_indent = 0;
      goto while_break___0;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void score_add_split(struct split_measurement  const  *m , struct split_score *s___1 )
{
  int post_blank ;
  int total_blank ;
  int indent ;
  int any_blanks ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (m->pre_indent == -1) {
    if (m->pre_blank == 0) {
      (s___1->penalty) ++;
    }
  }
  if (m->end_of_file) {
    s___1->penalty += 21;
  }
  if (m->indent == -1) {
    post_blank = 1 + (int )m->post_blank;
  } else {
    post_blank = 0;
  }
  total_blank = (int )(m->pre_blank + (int )post_blank);
  s___1->penalty += -30 * total_blank;
  s___1->penalty += 6 * post_blank;
  if (m->indent != -1) {
    indent = (int )m->indent;
  } else {
    indent = (int )m->post_indent;
  }
  any_blanks = total_blank != 0;
  s___1->effective_indent += indent;
  if (! (indent == -1)) {
    if (! (m->pre_indent == -1)) {
      if (indent > (int )m->pre_indent) {
        if (any_blanks) {
          tmp = 10;
        } else {
          tmp = -4;
        }
        s___1->penalty += tmp;
      } else
      if (! (indent == (int )m->pre_indent)) {
        if (m->post_indent != -1) {
          if (m->post_indent > (int )indent) {
            if (any_blanks) {
              tmp___0 = 17;
            } else {
              tmp___0 = 24;
            }
            s___1->penalty += tmp___0;
          } else {
            goto _L;
          }
        } else {
          _L: /* CIL Label */
          if (any_blanks) {
            tmp___1 = 17;
          } else {
            tmp___1 = 23;
          }
          s___1->penalty += tmp___1;
        }
      }
    }
  }
  return;
}
}
static int score_cmp(struct split_score *s1 , struct split_score *s2 )
{
  int cmp_indents ;

  {
  cmp_indents = (s1->effective_indent > s2->effective_indent) - (s1->effective_indent < s2->effective_indent);
  return (60 * cmp_indents + (s1->penalty - s2->penalty));
}
}
static void group_init(xdfile_t *xdf , struct xdlgroup *g )
{
  long tmp ;

  {
  tmp = 0L;
  g->end = tmp;
  g->start = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(xdf->rchg + g->end)) {
      goto while_break;
    }
    (g->end) ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
__inline static int group_next(xdfile_t *xdf , struct xdlgroup *g )
{


  {
  if (g->end == xdf->nrec) {
    return (-1);
  }
  g->start = g->end + 1L;
  g->end = g->start;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(xdf->rchg + g->end)) {
      goto while_break;
    }
    (g->end) ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
__inline static int group_previous(xdfile_t *xdf , struct xdlgroup *g )
{


  {
  if (g->start == 0L) {
    return (-1);
  }
  g->end = g->start - 1L;
  g->start = g->end;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(xdf->rchg + (g->start - 1L))) {
      goto while_break;
    }
    (g->start) --;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int group_slide_down(xdfile_t *xdf , struct xdlgroup *g )
{
  long tmp ;
  long tmp___0 ;
  int tmp___1 ;

  {
  if (g->end < xdf->nrec) {
    tmp___1 = recs_match(*(xdf->recs + g->start), *(xdf->recs + g->end));
    if (tmp___1) {
      tmp = g->start;
      (g->start) ++;
      *(xdf->rchg + tmp) = (char)0;
      tmp___0 = g->end;
      (g->end) ++;
      *(xdf->rchg + tmp___0) = (char)1;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! *(xdf->rchg + g->end)) {
          goto while_break;
        }
        (g->end) ++;
      }
      while_break: /* CIL Label */ ;
      }
      return (0);
    } else {
      return (-1);
    }
  } else {
    return (-1);
  }
}
}
static int group_slide_up(xdfile_t *xdf , struct xdlgroup *g )
{
  int tmp ;

  {
  if (g->start > 0L) {
    tmp = recs_match(*(xdf->recs + (g->start - 1L)), *(xdf->recs + (g->end - 1L)));
    if (tmp) {
      (g->start) --;
      *(xdf->rchg + g->start) = (char)1;
      (g->end) --;
      *(xdf->rchg + g->end) = (char)0;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! *(xdf->rchg + (g->start - 1L))) {
          goto while_break;
        }
        (g->start) --;
      }
      while_break: /* CIL Label */ ;
      }
      return (0);
    } else {
      return (-1);
    }
  } else {
    return (-1);
  }
}
}
int xdl_change_compact(xdfile_t *xdf , xdfile_t *xdfo , long flags___0 )
{
  struct xdlgroup g ;
  struct xdlgroup go ;
  long earliest_end ;
  long end_matching_other ;
  long groupsize ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  long shift ;
  long best_shift ;
  struct split_score best_score ;
  struct split_measurement m ;
  struct split_score score ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  group_init(xdf, & g);
  group_init(xdfo, & go);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (g.end == g.start) {
      goto next;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      groupsize = g.end - g.start;
      end_matching_other = -1L;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        tmp___0 = group_slide_up(xdf, & g);
        if (tmp___0) {
          goto while_break___1;
        }
        tmp = group_previous(xdfo, & go);
        if (tmp) {
          BUG_fl((char const   *)"xdiff/xdiffi.c", 835, (char const   *)"group sync broken sliding up");
        }
      }
      while_break___1: /* CIL Label */ ;
      }
      earliest_end = g.end;
      if (go.end > go.start) {
        end_matching_other = g.end;
      }
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        tmp___1 = group_slide_down(xdf, & g);
        if (tmp___1) {
          goto while_break___2;
        }
        tmp___2 = group_next(xdfo, & go);
        if (tmp___2) {
          BUG_fl((char const   *)"xdiff/xdiffi.c", 851, (char const   *)"group sync broken sliding down");
        }
        if (go.end > go.start) {
          end_matching_other = g.end;
        }
      }
      while_break___2: /* CIL Label */ ;
      }
      if (! (groupsize != g.end - g.start)) {
        goto while_break___0;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! (g.end == earliest_end)) {
      if (end_matching_other != -1L) {
        {
        while (1) {
          while_continue___3: /* CIL Label */ ;
          if (! (go.end == go.start)) {
            goto while_break___3;
          }
          tmp___3 = group_slide_up(xdf, & g);
          if (tmp___3) {
            BUG_fl((char const   *)"xdiff/xdiffi.c", 876, (char const   *)"match disappeared");
          }
          tmp___4 = group_previous(xdfo, & go);
          if (tmp___4) {
            BUG_fl((char const   *)"xdiff/xdiffi.c", 878, (char const   *)"group sync broken sliding to match");
          }
        }
        while_break___3: /* CIL Label */ ;
        }
      } else
      if (flags___0 & (long )(1 << 23)) {
        best_shift = -1L;
        shift = earliest_end;
        if ((g.end - groupsize) - 1L > shift) {
          shift = (g.end - groupsize) - 1L;
        }
        if (g.end - 100L > shift) {
          shift = g.end - 100L;
        }
        {
        while (1) {
          while_continue___4: /* CIL Label */ ;
          if (! (shift <= g.end)) {
            goto while_break___4;
          }
          score.effective_indent = 0;
          score.penalty = 0;
          measure_split((xdfile_t const   *)xdf, shift, & m);
          score_add_split((struct split_measurement  const  *)(& m), & score);
          measure_split((xdfile_t const   *)xdf, shift - groupsize, & m);
          score_add_split((struct split_measurement  const  *)(& m), & score);
          if (best_shift == -1L) {
            best_score.effective_indent = score.effective_indent;
            best_score.penalty = score.penalty;
            best_shift = shift;
          } else {
            tmp___5 = score_cmp(& score, & best_score);
            if (tmp___5 <= 0) {
              best_score.effective_indent = score.effective_indent;
              best_score.penalty = score.penalty;
              best_shift = shift;
            }
          }
          shift ++;
        }
        while_break___4: /* CIL Label */ ;
        }
        {
        while (1) {
          while_continue___5: /* CIL Label */ ;
          if (! (g.end > best_shift)) {
            goto while_break___5;
          }
          tmp___6 = group_slide_up(xdf, & g);
          if (tmp___6) {
            BUG_fl((char const   *)"xdiff/xdiffi.c", 919, (char const   *)"best shift unreached");
          }
          tmp___7 = group_previous(xdfo, & go);
          if (tmp___7) {
            BUG_fl((char const   *)"xdiff/xdiffi.c", 921, (char const   *)"group sync broken sliding to blank line");
          }
        }
        while_break___5: /* CIL Label */ ;
        }
      }
    }
    next:
    tmp___8 = group_next(xdf, & g);
    if (tmp___8) {
      goto while_break;
    }
    tmp___9 = group_next(xdfo, & go);
    if (tmp___9) {
      BUG_fl((char const   *)"xdiff/xdiffi.c", 930, (char const   *)"group sync broken moving to next group");
    }
  }
  while_break: /* CIL Label */ ;
  }
  tmp___10 = group_next(xdfo, & go);
  if (! tmp___10) {
    BUG_fl((char const   *)"xdiff/xdiffi.c", 934, (char const   *)"group sync broken at end of file");
  }
  return (0);
}
}
int xdl_build_script(xdfenv_t *xe , xdchange_t **xscr )
{
  xdchange_t *cscr ;
  xdchange_t *xch ;
  char *rchg1 ;
  char *rchg2 ;
  long i1 ;
  long i2 ;
  long l1 ;
  long l2 ;

  {
  cscr = (xdchange_t *)((void *)0);
  rchg1 = xe->xdf1.rchg;
  rchg2 = xe->xdf2.rchg;
  i1 = xe->xdf1.nrec;
  i2 = xe->xdf2.nrec;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i1 >= 0L)) {
      if (! (i2 >= 0L)) {
        goto while_break;
      }
    }
    if (*(rchg1 + (i1 - 1L))) {
      goto _L;
    } else
    if (*(rchg2 + (i2 - 1L))) {
      _L: /* CIL Label */
      l1 = i1;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! *(rchg1 + (i1 - 1L))) {
          goto while_break___0;
        }
        i1 --;
      }
      while_break___0: /* CIL Label */ ;
      }
      l2 = i2;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! *(rchg2 + (i2 - 1L))) {
          goto while_break___1;
        }
        i2 --;
      }
      while_break___1: /* CIL Label */ ;
      }
      xch = xdl_add_change(cscr, i1, i2, l1 - i1, l2 - i2);
      if (! xch) {
        xdl_free_script(cscr);
        return (-1);
      }
      cscr = xch;
    }
    i1 --;
    i2 --;
  }
  while_break: /* CIL Label */ ;
  }
  *xscr = cscr;
  return (0);
}
}
void xdl_free_script(xdchange_t *xscr )
{
  xdchange_t *xch ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    xch = xscr;
    if (! ((unsigned long )xch != (unsigned long )((void *)0))) {
      goto while_break;
    }
    xscr = xscr->next;
    free((void *)xch);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int xdl_call_hunk_func(xdfenv_t *xe , xdchange_t *xscr , xdemitcb_t *ecb ,
                              xdemitconf_t const   *xecfg )
{
  xdchange_t *xch ;
  xdchange_t *xche ;
  int tmp ;

  {
  xch = xscr;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! xch) {
      goto while_break;
    }
    xche = xdl_get_hunk(& xch, xecfg);
    if (! xch) {
      goto while_break;
    }
    tmp = (*(xecfg->hunk_func))(xch->i1, (xche->i1 + xche->chg1) - xch->i1, xch->i2,
                                (xche->i2 + xche->chg2) - xch->i2, ecb->priv);
    if (tmp < 0) {
      return (-1);
    }
    xch = xche->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void xdl_mark_ignorable_lines(xdchange_t *xscr , xdfenv_t *xe , long flags___0 )
{
  xdchange_t *xch ;
  int ignore ;
  xrecord_t **rec ;
  long i ;

  {
  xch = xscr;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! xch) {
      goto while_break;
    }
    ignore = 1;
    rec = xe->xdf1.recs + xch->i1;
    i = 0L;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (i < xch->chg1) {
        if (! ignore) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      ignore = xdl_blankline((*(rec + i))->ptr, (*(rec + i))->size, flags___0);
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    rec = xe->xdf2.recs + xch->i2;
    i = 0L;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (i < xch->chg2) {
        if (! ignore) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      ignore = xdl_blankline((*(rec + i))->ptr, (*(rec + i))->size, flags___0);
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    xch->ignore = ignore;
    xch = xch->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int record_matches_regex(xrecord_t *rec , xpparam_t const   *xpp )
{
  regmatch_t regmatch ;
  int i ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < xpp->ignore_regex_nr)) {
      goto while_break;
    }
    tmp = regexec_buf((regex_t const   *)*(xpp->ignore_regex + i), rec->ptr, (size_t )rec->size,
                      (size_t )1, & regmatch, 0);
    if (! tmp) {
      return (1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void xdl_mark_ignorable_regex(xdchange_t *xscr , xdfenv_t const   *xe , xpparam_t const   *xpp )
{
  xdchange_t *xch ;
  xrecord_t **rec ;
  int ignore ;
  long i ;

  {
  xch = xscr;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! xch) {
      goto while_break;
    }
    ignore = 1;
    if (xch->ignore) {
      goto __Cont;
    }
    rec = xe->xdf1.recs + xch->i1;
    i = 0L;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (i < xch->chg1) {
        if (! ignore) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      ignore = record_matches_regex(*(rec + i), xpp);
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    rec = xe->xdf2.recs + xch->i2;
    i = 0L;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (i < xch->chg2) {
        if (! ignore) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      ignore = record_matches_regex(*(rec + i), xpp);
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    xch->ignore = ignore;
    __Cont: /* CIL Label */
    xch = xch->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int xdl_diff(mmfile_t *mf1 , mmfile_t *mf2 , xpparam_t const   *xpp , xdemitconf_t const   *xecfg ,
             xdemitcb_t *ecb )
{
  xdchange_t *xscr ;
  xdfenv_t xe ;
  int (*ef)(xdfenv_t *xe , xdchange_t *xscr , xdemitcb_t *ecb , xdemitconf_t const   *xecfg ) ;
  int (*tmp)(xdfenv_t *xe , xdchange_t *xscr , xdemitcb_t *ecb , xdemitconf_t const   *xecfg ) ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  if (xecfg->hunk_func) {
    tmp = & xdl_call_hunk_func;
  } else {
    tmp = & xdl_emit_diff;
  }
  ef = tmp;
  tmp___0 = xdl_do_diff(mf1, mf2, xpp, & xe);
  if (tmp___0 < 0) {
    return (-1);
  }
  tmp___1 = xdl_change_compact(& xe.xdf1, & xe.xdf2, (long )xpp->flags);
  if (tmp___1 < 0) {
    xdl_free_env(& xe);
    return (-1);
  } else {
    tmp___2 = xdl_change_compact(& xe.xdf2, & xe.xdf1, (long )xpp->flags);
    if (tmp___2 < 0) {
      xdl_free_env(& xe);
      return (-1);
    } else {
      tmp___3 = xdl_build_script(& xe, & xscr);
      if (tmp___3 < 0) {
        xdl_free_env(& xe);
        return (-1);
      }
    }
  }
  if (xscr) {
    if (xpp->flags & (unsigned long )(1 << 7)) {
      xdl_mark_ignorable_lines(xscr, & xe, (long )xpp->flags);
    }
    if (xpp->ignore_regex) {
      xdl_mark_ignorable_regex(xscr, (xdfenv_t const   *)(& xe), xpp);
    }
    tmp___4 = (*ef)(& xe, xscr, ecb, xecfg);
    if (tmp___4 < 0) {
      xdl_free_script(xscr);
      xdl_free_env(& xe);
      return (-1);
    }
    xdl_free_script(xscr);
  }
  xdl_free_env(& xe);
  return (0);
}
}
static long xdl_get_rec(xdfile_t *xdf , long ri , char const   **rec )
{


  {
  *rec = (*(xdf->recs + ri))->ptr;
  return ((*(xdf->recs + ri))->size);
}
}
static int xdl_emit_record(xdfile_t *xdf , long ri , char const   *pre , xdemitcb_t *ecb )
{
  long size ;
  long psize ;
  size_t tmp ;
  char const   *rec ;
  int tmp___0 ;

  {
  tmp = strlen(pre);
  psize = (long )tmp;
  size = xdl_get_rec(xdf, ri, & rec);
  tmp___0 = xdl_emit_diffrec(rec, size, pre, psize, ecb);
  if (tmp___0 < 0) {
    return (-1);
  }
  return (0);
}
}
xdchange_t *xdl_get_hunk(xdchange_t **xscr , xdemitconf_t const   *xecfg )
{
  xdchange_t *xch ;
  xdchange_t *xchp ;
  xdchange_t *lxch ;
  long max_common ;
  long max_ignorable ;
  unsigned long ignored ;
  long distance ;

  {
  max_common = (long )(2L * xecfg->ctxlen + xecfg->interhunkctxlen);
  max_ignorable = (long )xecfg->ctxlen;
  ignored = 0UL;
  xchp = *xscr;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (xchp) {
      if (! xchp->ignore) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    xch = xchp->next;
    if ((unsigned long )xch == (unsigned long )((void *)0)) {
      *xscr = xch;
    } else
    if (xch->i1 - (xchp->i1 + xchp->chg1) >= max_ignorable) {
      *xscr = xch;
    }
    xchp = xchp->next;
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned long )*xscr == (unsigned long )((void *)0)) {
    return ((xdchange_t *)((void *)0));
  }
  lxch = *xscr;
  xchp = *xscr;
  xch = xchp->next;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! xch) {
      goto while_break___0;
    }
    distance = xch->i1 - (xchp->i1 + xchp->chg1);
    if (distance > max_common) {
      goto while_break___0;
    }
    if (distance < max_ignorable) {
      if (! xch->ignore) {
        lxch = xch;
        ignored = 0UL;
      } else
      if ((unsigned long )lxch == (unsigned long )xchp) {
        lxch = xch;
        ignored = 0UL;
      } else {
        goto _L___1;
      }
    } else
    _L___1: /* CIL Label */
    if (distance < max_ignorable) {
      if (xch->ignore) {
        ignored += (unsigned long )xch->chg2;
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if ((unsigned long )lxch != (unsigned long )xchp) {
      if (((unsigned long )xch->i1 + ignored) - (unsigned long )(lxch->i1 + lxch->chg1) > (unsigned long )max_common) {
        goto while_break___0;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (! xch->ignore) {
      lxch = xch;
      ignored = 0UL;
    } else {
      ignored += (unsigned long )xch->chg2;
    }
    xchp = xch;
    xch = xch->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (lxch);
}
}
static long def_ff(char const   *rec , long len___0 , char *buf___19 , long sz , void *priv )
{


  {
  if (len___0 > 0L) {
    if (((int const   )sane_ctype[(unsigned char )*rec] & 4) != 0) {
      goto _L;
    } else
    if ((int const   )*rec == 95) {
      goto _L;
    } else
    if ((int const   )*rec == 36) {
      _L: /* CIL Label */
      if (len___0 > sz) {
        len___0 = sz;
      }
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (0L < len___0) {
          if (! (((int const   )sane_ctype[(unsigned char )*(rec + (len___0 - 1L))] & 1) != 0)) {
            goto while_break;
          }
        } else {
          goto while_break;
        }
        len___0 --;
      }
      while_break: /* CIL Label */ ;
      }
      memcpy((void *)buf___19, (void const   *)rec, (size_t )len___0);
      return (len___0);
    }
  }
  return (-1L);
}
}
static long match_func_rec(xdfile_t *xdf , xdemitconf_t const   *xecfg , long ri ,
                           char *buf___19 , long sz )
{
  char const   *rec ;
  long len___0 ;
  long tmp ;
  long tmp___0 ;
  long tmp___1 ;

  {
  tmp = xdl_get_rec(xdf, ri, & rec);
  len___0 = tmp;
  if (! xecfg->find_func) {
    tmp___0 = def_ff(rec, len___0, buf___19, sz, (void *)xecfg->find_func_priv);
    return (tmp___0);
  }
  tmp___1 = (*(xecfg->find_func))(rec, len___0, buf___19, sz, (void *)xecfg->find_func_priv);
  return (tmp___1);
}
}
static int is_func_rec(xdfile_t *xdf , xdemitconf_t const   *xecfg , long ri )
{
  char dummy___0[1] ;
  long tmp ;

  {
  tmp = match_func_rec(xdf, xecfg, ri, dummy___0, (long )sizeof(dummy___0));
  return (tmp >= 0L);
}
}
static long get_func_line(xdfenv_t *xe , xdemitconf_t const   *xecfg , struct func_line *func_line ,
                          long start , long limit___1 )
{
  long l ;
  long size ;
  long step ;
  int tmp ;
  char *buf___19 ;
  char dummy___0[1] ;
  long len___0 ;
  long tmp___0 ;

  {
  if (start > limit___1) {
    tmp = -1;
  } else {
    tmp = 1;
  }
  step = (long )tmp;
  if (func_line) {
    buf___19 = func_line->buf;
  } else {
    buf___19 = dummy___0;
  }
  if (func_line) {
    size = (long )sizeof(func_line->buf);
  } else {
    size = (long )sizeof(dummy___0);
  }
  l = start;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (l != limit___1) {
      if (0L <= l) {
        if (! (l < xe->xdf1.nrec)) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___0 = match_func_rec(& xe->xdf1, xecfg, l, buf___19, size);
    len___0 = tmp___0;
    if (len___0 >= 0L) {
      if (func_line) {
        func_line->len = len___0;
      }
      return (l);
    }
    l += step;
  }
  while_break: /* CIL Label */ ;
  }
  return (-1L);
}
}
static int is_empty_rec(xdfile_t *xdf , long ri )
{
  char const   *rec ;
  long len___0 ;
  long tmp ;

  {
  tmp = xdl_get_rec(xdf, ri, & rec);
  len___0 = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (len___0 > 0L) {
      if (! (((int const   )sane_ctype[(unsigned char )*rec] & 1) != 0)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    rec ++;
    len___0 --;
  }
  while_break: /* CIL Label */ ;
  }
  return (! len___0);
}
}
int xdl_emit_diff(xdfenv_t *xe , xdchange_t *xscr , xdemitcb_t *ecb , xdemitconf_t const   *xecfg )
{
  long s1 ;
  long s2 ;
  long e1 ;
  long e2 ;
  long lctx ;
  xdchange_t *xch ;
  xdchange_t *xche ;
  long funclineprev ;
  struct func_line func_line ;
  xdchange_t *xchp ;
  long fs1 ;
  long i1 ;
  long i2 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  long fe1 ;
  long tmp___2 ;
  int tmp___3 ;
  long l ;
  long tmp___4 ;
  long tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;

  {
  funclineprev = -1L;
  func_line.len = 0L;
  func_line.buf[0] = (char)0;
  func_line.buf[1] = (char)0;
  func_line.buf[2] = (char)0;
  func_line.buf[3] = (char)0;
  func_line.buf[4] = (char)0;
  func_line.buf[5] = (char)0;
  func_line.buf[6] = (char)0;
  func_line.buf[7] = (char)0;
  func_line.buf[8] = (char)0;
  func_line.buf[9] = (char)0;
  func_line.buf[10] = (char)0;
  func_line.buf[11] = (char)0;
  func_line.buf[12] = (char)0;
  func_line.buf[13] = (char)0;
  func_line.buf[14] = (char)0;
  func_line.buf[15] = (char)0;
  func_line.buf[16] = (char)0;
  func_line.buf[17] = (char)0;
  func_line.buf[18] = (char)0;
  func_line.buf[19] = (char)0;
  func_line.buf[20] = (char)0;
  func_line.buf[21] = (char)0;
  func_line.buf[22] = (char)0;
  func_line.buf[23] = (char)0;
  func_line.buf[24] = (char)0;
  func_line.buf[25] = (char)0;
  func_line.buf[26] = (char)0;
  func_line.buf[27] = (char)0;
  func_line.buf[28] = (char)0;
  func_line.buf[29] = (char)0;
  func_line.buf[30] = (char)0;
  func_line.buf[31] = (char)0;
  func_line.buf[32] = (char)0;
  func_line.buf[33] = (char)0;
  func_line.buf[34] = (char)0;
  func_line.buf[35] = (char)0;
  func_line.buf[36] = (char)0;
  func_line.buf[37] = (char)0;
  func_line.buf[38] = (char)0;
  func_line.buf[39] = (char)0;
  func_line.buf[40] = (char)0;
  func_line.buf[41] = (char)0;
  func_line.buf[42] = (char)0;
  func_line.buf[43] = (char)0;
  func_line.buf[44] = (char)0;
  func_line.buf[45] = (char)0;
  func_line.buf[46] = (char)0;
  func_line.buf[47] = (char)0;
  func_line.buf[48] = (char)0;
  func_line.buf[49] = (char)0;
  func_line.buf[50] = (char)0;
  func_line.buf[51] = (char)0;
  func_line.buf[52] = (char)0;
  func_line.buf[53] = (char)0;
  func_line.buf[54] = (char)0;
  func_line.buf[55] = (char)0;
  func_line.buf[56] = (char)0;
  func_line.buf[57] = (char)0;
  func_line.buf[58] = (char)0;
  func_line.buf[59] = (char)0;
  func_line.buf[60] = (char)0;
  func_line.buf[61] = (char)0;
  func_line.buf[62] = (char)0;
  func_line.buf[63] = (char)0;
  func_line.buf[64] = (char)0;
  func_line.buf[65] = (char)0;
  func_line.buf[66] = (char)0;
  func_line.buf[67] = (char)0;
  func_line.buf[68] = (char)0;
  func_line.buf[69] = (char)0;
  func_line.buf[70] = (char)0;
  func_line.buf[71] = (char)0;
  func_line.buf[72] = (char)0;
  func_line.buf[73] = (char)0;
  func_line.buf[74] = (char)0;
  func_line.buf[75] = (char)0;
  func_line.buf[76] = (char)0;
  func_line.buf[77] = (char)0;
  func_line.buf[78] = (char)0;
  func_line.buf[79] = (char)0;
  xch = xscr;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! xch) {
      goto while_break;
    }
    xchp = xch;
    xche = xdl_get_hunk(& xch, xecfg);
    if (! xch) {
      goto while_break;
    }
    pre_context_calculation:
    if (xch->i1 - (long )xecfg->ctxlen > 0L) {
      s1 = xch->i1 - (long )xecfg->ctxlen;
    } else {
      s1 = 0L;
    }
    if (xch->i2 - (long )xecfg->ctxlen > 0L) {
      s2 = xch->i2 - (long )xecfg->ctxlen;
    } else {
      s2 = 0L;
    }
    if (xecfg->flags & (unsigned long )(1 << 2)) {
      i1 = xch->i1;
      if (i1 >= xe->xdf1.nrec) {
        i2 = xch->i2;
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          if (! (i2 < xe->xdf2.nrec)) {
            goto while_break___0;
          }
          tmp = is_func_rec(& xe->xdf2, xecfg, i2);
          if (tmp) {
            goto post_context_calculation;
          }
          i2 ++;
        }
        while_break___0: /* CIL Label */ ;
        }
        i1 = xe->xdf1.nrec - 1L;
      }
      fs1 = get_func_line(xe, xecfg, (struct func_line *)((void *)0), i1, -1L);
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (fs1 > 0L) {
          tmp___0 = is_empty_rec(& xe->xdf1, fs1 - 1L);
          if (tmp___0) {
            goto while_break___1;
          } else {
            tmp___1 = is_func_rec(& xe->xdf1, xecfg, fs1 - 1L);
            if (tmp___1) {
              goto while_break___1;
            }
          }
        } else {
          goto while_break___1;
        }
        fs1 --;
      }
      while_break___1: /* CIL Label */ ;
      }
      if (fs1 < 0L) {
        fs1 = 0L;
      }
      if (fs1 < s1) {
        if (s2 - (s1 - fs1) > 0L) {
          s2 -= s1 - fs1;
        } else {
          s2 = 0L;
        }
        s1 = fs1;
        {
        while (1) {
          while_continue___2: /* CIL Label */ ;
          if ((unsigned long )xchp != (unsigned long )xch) {
            if (xchp->i1 + xchp->chg1 <= s1) {
              if (! (xchp->i2 + xchp->chg2 <= s2)) {
                goto while_break___2;
              }
            } else {
              goto while_break___2;
            }
          } else {
            goto while_break___2;
          }
          xchp = xchp->next;
        }
        while_break___2: /* CIL Label */ ;
        }
        if ((unsigned long )xchp != (unsigned long )xch) {
          xch = xchp;
          goto pre_context_calculation;
        }
      }
    }
    post_context_calculation:
    lctx = (long )xecfg->ctxlen;
    if (lctx < xe->xdf1.nrec - (xche->i1 + xche->chg1)) {
      lctx = lctx;
    } else {
      lctx = xe->xdf1.nrec - (xche->i1 + xche->chg1);
    }
    if (lctx < xe->xdf2.nrec - (xche->i2 + xche->chg2)) {
      lctx = lctx;
    } else {
      lctx = xe->xdf2.nrec - (xche->i2 + xche->chg2);
    }
    e1 = (xche->i1 + xche->chg1) + lctx;
    e2 = (xche->i2 + xche->chg2) + lctx;
    if (xecfg->flags & (unsigned long )(1 << 2)) {
      tmp___2 = get_func_line(xe, xecfg, (struct func_line *)((void *)0), xche->i1 + xche->chg1,
                              xe->xdf1.nrec);
      fe1 = tmp___2;
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if (fe1 > 0L) {
          tmp___3 = is_empty_rec(& xe->xdf1, fe1 - 1L);
          if (! tmp___3) {
            goto while_break___3;
          }
        } else {
          goto while_break___3;
        }
        fe1 --;
      }
      while_break___3: /* CIL Label */ ;
      }
      if (fe1 < 0L) {
        fe1 = xe->xdf1.nrec;
      }
      if (fe1 > e1) {
        if (e2 + (fe1 - e1) < xe->xdf2.nrec) {
          e2 += fe1 - e1;
        } else {
          e2 = xe->xdf2.nrec;
        }
        e1 = fe1;
      }
      if (xche->next) {
        if ((xche->next)->i1 < xe->xdf1.nrec - 1L) {
          tmp___4 = (xche->next)->i1;
        } else {
          tmp___4 = xe->xdf1.nrec - 1L;
        }
        l = tmp___4;
        if (l - (long )xecfg->ctxlen <= e1) {
          xche = xche->next;
          goto post_context_calculation;
        } else {
          tmp___5 = get_func_line(xe, xecfg, (struct func_line *)((void *)0), l, e1);
          if (tmp___5 < 0L) {
            xche = xche->next;
            goto post_context_calculation;
          }
        }
      }
    }
    if (xecfg->flags & 1UL) {
      get_func_line(xe, xecfg, & func_line, s1 - 1L, funclineprev);
      funclineprev = s1 - 1L;
    }
    if (! (xecfg->flags & (unsigned long )(1 << 1))) {
      tmp___6 = xdl_emit_hunk_hdr(s1 + 1L, e1 - s1, s2 + 1L, e2 - s2, (char const   *)(func_line.buf),
                                  func_line.len, ecb);
      if (tmp___6 < 0) {
        return (-1);
      }
    }
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (! (s2 < xch->i2)) {
        goto while_break___4;
      }
      tmp___7 = xdl_emit_record(& xe->xdf2, s2, (char const   *)" ", ecb);
      if (tmp___7 < 0) {
        return (-1);
      }
      s2 ++;
    }
    while_break___4: /* CIL Label */ ;
    }
    s1 = xch->i1;
    s2 = xch->i2;
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      {
      while (1) {
        while_continue___6: /* CIL Label */ ;
        if (s1 < xch->i1) {
          if (! (s2 < xch->i2)) {
            goto while_break___6;
          }
        } else {
          goto while_break___6;
        }
        tmp___8 = xdl_emit_record(& xe->xdf2, s2, (char const   *)" ", ecb);
        if (tmp___8 < 0) {
          return (-1);
        }
        s1 ++;
        s2 ++;
      }
      while_break___6: /* CIL Label */ ;
      }
      s1 = xch->i1;
      {
      while (1) {
        while_continue___7: /* CIL Label */ ;
        if (! (s1 < xch->i1 + xch->chg1)) {
          goto while_break___7;
        }
        tmp___9 = xdl_emit_record(& xe->xdf1, s1, (char const   *)"-", ecb);
        if (tmp___9 < 0) {
          return (-1);
        }
        s1 ++;
      }
      while_break___7: /* CIL Label */ ;
      }
      s2 = xch->i2;
      {
      while (1) {
        while_continue___8: /* CIL Label */ ;
        if (! (s2 < xch->i2 + xch->chg2)) {
          goto while_break___8;
        }
        tmp___10 = xdl_emit_record(& xe->xdf2, s2, (char const   *)"+", ecb);
        if (tmp___10 < 0) {
          return (-1);
        }
        s2 ++;
      }
      while_break___8: /* CIL Label */ ;
      }
      if ((unsigned long )xch == (unsigned long )xche) {
        goto while_break___5;
      }
      s1 = xch->i1 + xch->chg1;
      s2 = xch->i2 + xch->chg2;
      xch = xch->next;
    }
    while_break___5: /* CIL Label */ ;
    }
    s2 = xche->i2 + xche->chg2;
    {
    while (1) {
      while_continue___9: /* CIL Label */ ;
      if (! (s2 < e2)) {
        goto while_break___9;
      }
      tmp___11 = xdl_emit_record(& xe->xdf2, s2, (char const   *)" ", ecb);
      if (tmp___11 < 0) {
        return (-1);
      }
      s2 ++;
    }
    while_break___9: /* CIL Label */ ;
    }
    xch = xche->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int cmp_recs(xrecord_t *r1 , xrecord_t *r2 )
{


  {
  return (r1->ha == r2->ha);
}
}
static int scanA(struct histindex *index___2 , int line1 , int count1 )
{
  unsigned int ptr ;
  unsigned int tbl_idx ;
  unsigned int chain_len ;
  struct record **rec_chain ;
  struct record *rec ;
  int tmp ;
  void *tmp___0 ;

  {
  ptr = (unsigned int )((line1 + count1) - 1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )line1 <= ptr)) {
      goto while_break;
    }
    tbl_idx = (unsigned int )(((*((index___2->env)->xdf1.recs + (ptr - 1U)))->ha + ((*((index___2->env)->xdf1.recs + (ptr - 1U)))->ha >> index___2->table_bits)) & ((1UL << index___2->table_bits) - 1UL));
    rec_chain = index___2->records + tbl_idx;
    rec = *rec_chain;
    chain_len = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! rec) {
        goto while_break___0;
      }
      tmp = cmp_recs(*((index___2->env)->xdf1.recs + (rec->ptr - 1U)), *((index___2->env)->xdf1.recs + (ptr - 1U)));
      if (tmp) {
        *(index___2->next_ptrs + (ptr - index___2->ptr_shift)) = rec->ptr;
        rec->ptr = ptr;
        if (4294967295U < rec->cnt + 1U) {
          rec->cnt = 4294967295U;
        } else {
          (rec->cnt) ++;
        }
        *(index___2->line_map + (ptr - index___2->ptr_shift)) = rec;
        goto continue_scan;
      }
      rec = rec->next;
      chain_len ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (chain_len == index___2->max_chain_length) {
      return (-1);
    }
    tmp___0 = xdl_cha_alloc(& index___2->rcha);
    rec = (struct record *)tmp___0;
    if (! rec) {
      return (-1);
    }
    rec->ptr = ptr;
    rec->cnt = 1U;
    rec->next = *rec_chain;
    *rec_chain = rec;
    *(index___2->line_map + (ptr - index___2->ptr_shift)) = rec;
    continue_scan:
    ptr --;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int try_lcs(struct histindex *index___2 , struct region *lcs , int b_ptr ,
                   int line1 , int count1 , int line2 , int count2 )
{
  unsigned int b_next ;
  struct record *rec ;
  unsigned int as ;
  unsigned int ae ;
  unsigned int bs ;
  unsigned int be ;
  unsigned int np ;
  unsigned int rc___0 ;
  int should_break___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  b_next = (unsigned int )(b_ptr + 1);
  rec = *(index___2->records + (((*((index___2->env)->xdf2.recs + (b_ptr - 1)))->ha + ((*((index___2->env)->xdf2.recs + (b_ptr - 1)))->ha >> index___2->table_bits)) & ((1UL << index___2->table_bits) - 1UL)));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! rec) {
      goto while_break;
    }
    if (rec->cnt > index___2->cnt) {
      if (! index___2->has_common) {
        tmp = cmp_recs(*((index___2->env)->xdf1.recs + (rec->ptr - 1U)), *((index___2->env)->xdf2.recs + (b_ptr - 1)));
        index___2->has_common = (unsigned int )tmp;
      }
      goto __Cont;
    }
    as = rec->ptr;
    tmp___0 = cmp_recs(*((index___2->env)->xdf1.recs + (as - 1U)), *((index___2->env)->xdf2.recs + (b_ptr - 1)));
    if (! tmp___0) {
      goto __Cont;
    }
    index___2->has_common = 1U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      should_break___0 = 0;
      np = *(index___2->next_ptrs + (as - index___2->ptr_shift));
      bs = (unsigned int )b_ptr;
      ae = as;
      be = bs;
      rc___0 = rec->cnt;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if ((unsigned int )line1 < as) {
          if ((unsigned int )line2 < bs) {
            tmp___1 = cmp_recs(*((index___2->env)->xdf1.recs + ((as - 1U) - 1U)),
                               *((index___2->env)->xdf2.recs + ((bs - 1U) - 1U)));
            if (! tmp___1) {
              goto while_break___1;
            }
          } else {
            goto while_break___1;
          }
        } else {
          goto while_break___1;
        }
        as --;
        bs --;
        if (1U < rc___0) {
          if (rc___0 < (*(index___2->line_map + (as - index___2->ptr_shift)))->cnt) {
            rc___0 = rc___0;
          } else {
            rc___0 = (*(index___2->line_map + (as - index___2->ptr_shift)))->cnt;
          }
        }
      }
      while_break___1: /* CIL Label */ ;
      }
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (ae < (unsigned int )((line1 + count1) - 1)) {
          if (be < (unsigned int )((line2 + count2) - 1)) {
            tmp___2 = cmp_recs(*((index___2->env)->xdf1.recs + ((ae + 1U) - 1U)),
                               *((index___2->env)->xdf2.recs + ((be + 1U) - 1U)));
            if (! tmp___2) {
              goto while_break___2;
            }
          } else {
            goto while_break___2;
          }
        } else {
          goto while_break___2;
        }
        ae ++;
        be ++;
        if (1U < rc___0) {
          if (rc___0 < (*(index___2->line_map + (ae - index___2->ptr_shift)))->cnt) {
            rc___0 = rc___0;
          } else {
            rc___0 = (*(index___2->line_map + (ae - index___2->ptr_shift)))->cnt;
          }
        }
      }
      while_break___2: /* CIL Label */ ;
      }
      if (b_next <= be) {
        b_next = be + 1U;
      }
      if (lcs->end1 - lcs->begin1 < ae - as) {
        lcs->begin1 = as;
        lcs->begin2 = bs;
        lcs->end1 = ae;
        lcs->end2 = be;
        index___2->cnt = rc___0;
      } else
      if (rc___0 < index___2->cnt) {
        lcs->begin1 = as;
        lcs->begin2 = bs;
        lcs->end1 = ae;
        lcs->end2 = be;
        index___2->cnt = rc___0;
      }
      if (np == 0U) {
        goto while_break___0;
      }
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if (! (np <= ae)) {
          goto while_break___3;
        }
        np = *(index___2->next_ptrs + (np - index___2->ptr_shift));
        if (np == 0U) {
          should_break___0 = 1;
          goto while_break___3;
        }
      }
      while_break___3: /* CIL Label */ ;
      }
      if (should_break___0) {
        goto while_break___0;
      }
      as = np;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    rec = rec->next;
  }
  while_break: /* CIL Label */ ;
  }
  return ((int )b_next);
}
}
static int fall_back_to_classic_diff(xpparam_t const   *xpp , xdfenv_t *env , int line1 ,
                                     int count1 , int line2 , int count2 )
{
  xpparam_t xpparam ;
  int tmp ;

  {
  memset((void *)(& xpparam), 0, sizeof(xpparam));
  xpparam.flags = (unsigned long )(xpp->flags & (unsigned long )(~ ((1 << 14) | (1 << 15))));
  tmp = xdl_fall_back_diff(env, (xpparam_t const   *)(& xpparam), line1, count1, line2,
                           count2);
  return (tmp);
}
}
__inline static void free_index(struct histindex *index___2 )
{


  {
  free((void *)index___2->records);
  free((void *)index___2->line_map);
  free((void *)index___2->next_ptrs);
  xdl_cha_free(& index___2->rcha);
  return;
}
}
static int find_lcs(xpparam_t const   *xpp , xdfenv_t *env , struct region *lcs ,
                    int line1 , int count1 , int line2 , int count2 )
{
  int b_ptr ;
  int sz ;
  int ret___67 ;
  struct histindex index___2 ;
  void *tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  ret___67 = -1;
  memset((void *)(& index___2), 0, sizeof(index___2));
  index___2.env = env;
  index___2.xpp = xpp;
  index___2.records = (struct record **)((void *)0);
  index___2.line_map = (struct record **)((void *)0);
  index___2.rcha.head = (chanode_t *)((void *)0);
  index___2.table_bits = xdl_hashbits((unsigned int )count1);
  index___2.records_size = (unsigned int )(1 << index___2.table_bits);
  sz = (int )index___2.records_size;
  sz = (int )((unsigned long )sz * sizeof(struct record *));
  tmp = xmalloc((size_t )sz);
  index___2.records = (struct record **)tmp;
  if (! index___2.records) {
    goto cleanup;
  }
  memset((void *)index___2.records, 0, (size_t )sz);
  index___2.line_map_size = (unsigned int )count1;
  sz = (int )index___2.line_map_size;
  sz = (int )((unsigned long )sz * sizeof(struct record *));
  tmp___0 = xmalloc((size_t )sz);
  index___2.line_map = (struct record **)tmp___0;
  if (! index___2.line_map) {
    goto cleanup;
  }
  memset((void *)index___2.line_map, 0, (size_t )sz);
  sz = (int )index___2.line_map_size;
  sz = (int )((unsigned long )sz * sizeof(unsigned int ));
  tmp___1 = xmalloc((size_t )sz);
  index___2.next_ptrs = (unsigned int *)tmp___1;
  if (! index___2.next_ptrs) {
    goto cleanup;
  }
  memset((void *)index___2.next_ptrs, 0, (size_t )sz);
  tmp___2 = xdl_cha_init(& index___2.rcha, (long )sizeof(struct record ), (long )(count1 / 4 + 1));
  if (tmp___2 < 0) {
    goto cleanup;
  }
  index___2.ptr_shift = (unsigned int )line1;
  index___2.max_chain_length = 64U;
  tmp___3 = scanA(& index___2, line1, count1);
  if (tmp___3) {
    goto cleanup;
  }
  index___2.cnt = index___2.max_chain_length + 1U;
  b_ptr = line2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (b_ptr <= (line2 + count2) - 1)) {
      goto while_break;
    }
    b_ptr = try_lcs(& index___2, lcs, b_ptr, line1, count1, line2, count2);
  }
  while_break: /* CIL Label */ ;
  }
  if (index___2.has_common) {
    if (index___2.max_chain_length < index___2.cnt) {
      ret___67 = 1;
    } else {
      ret___67 = 0;
    }
  } else {
    ret___67 = 0;
  }
  cleanup:
  free_index(& index___2);
  return (ret___67);
}
}
static int histogram_diff(xpparam_t const   *xpp , xdfenv_t *env , int line1 , int count1 ,
                          int line2 , int count2 )
{
  struct region lcs ;
  int lcs_found ;
  int result___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  redo:
  result___0 = -1;
  if (count1 <= 0) {
    if (count2 <= 0) {
      return (0);
    }
  }
  if ((unsigned int )((line1 + count1) - 1) >= 4294967295U) {
    return (-1);
  }
  if (! count1) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___0 = count2;
      count2 --;
      if (! tmp___0) {
        goto while_break;
      }
      tmp = line2;
      line2 ++;
      *(env->xdf2.rchg + (tmp - 1)) = (char)1;
    }
    while_break: /* CIL Label */ ;
    }
    return (0);
  } else
  if (! count2) {
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___2 = count1;
      count1 --;
      if (! tmp___2) {
        goto while_break___0;
      }
      tmp___1 = line1;
      line1 ++;
      *(env->xdf1.rchg + (tmp___1 - 1)) = (char)1;
    }
    while_break___0: /* CIL Label */ ;
    }
    return (0);
  }
  memset((void *)(& lcs), 0, sizeof(lcs));
  lcs_found = find_lcs(xpp, env, & lcs, line1, count1, line2, count2);
  if (! (lcs_found < 0)) {
    if (lcs_found) {
      result___0 = fall_back_to_classic_diff(xpp, env, line1, count1, line2, count2);
    } else
    if (lcs.begin1 == 0U) {
      if (lcs.begin2 == 0U) {
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          tmp___4 = count1;
          count1 --;
          if (! tmp___4) {
            goto while_break___1;
          }
          tmp___3 = line1;
          line1 ++;
          *(env->xdf1.rchg + (tmp___3 - 1)) = (char)1;
        }
        while_break___1: /* CIL Label */ ;
        }
        {
        while (1) {
          while_continue___2: /* CIL Label */ ;
          tmp___6 = count2;
          count2 --;
          if (! tmp___6) {
            goto while_break___2;
          }
          tmp___5 = line2;
          line2 ++;
          *(env->xdf2.rchg + (tmp___5 - 1)) = (char)1;
        }
        while_break___2: /* CIL Label */ ;
        }
        result___0 = 0;
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      result___0 = histogram_diff(xpp, env, line1, (int )(lcs.begin1 - (unsigned int )line1),
                                  line2, (int )(lcs.begin2 - (unsigned int )line2));
      if (result___0) {
        goto out;
      }
      count1 = (int )((unsigned int )((line1 + count1) - 1) - lcs.end1);
      line1 = (int )(lcs.end1 + 1U);
      count2 = (int )((unsigned int )((line2 + count2) - 1) - lcs.end2);
      line2 = (int )(lcs.end2 + 1U);
      goto redo;
    }
  }
  out:
  return (result___0);
}
}
int xdl_do_histogram_diff(mmfile_t *file1 , mmfile_t *file2 , xpparam_t const   *xpp ,
                          xdfenv_t *env )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = xdl_prepare_env(file1, file2, xpp, env);
  if (tmp < 0) {
    return (-1);
  }
  tmp___0 = histogram_diff(xpp, env, (int )(env->xdf1.dstart + 1L), (int )((env->xdf1.dend - env->xdf1.dstart) + 1L),
                           (int )(env->xdf2.dstart + 1L), (int )((env->xdf2.dend - env->xdf2.dstart) + 1L));
  return (tmp___0);
}
}
static int xdl_append_merge(xdmerge_t **merge___1 , int mode___1 , long i0 , long chg0 ,
                            long i1 , long chg1 , long i2 , long chg2 )
{
  xdmerge_t *m ;
  void *tmp ;

  {
  m = *merge___1;
  if (m) {
    if (i1 <= m->i1 + m->chg1) {
      goto _L___0;
    } else
    if (i2 <= m->i2 + m->chg2) {
      _L___0: /* CIL Label */
      if (mode___1 != m->mode) {
        m->mode = 0;
      }
      m->chg0 = (i0 + chg0) - m->i0;
      m->chg1 = (i1 + chg1) - m->i1;
      m->chg2 = (i2 + chg2) - m->i2;
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp = xmalloc(sizeof(xdmerge_t ));
    m = (xdmerge_t *)tmp;
    if (! m) {
      return (-1);
    }
    m->next = (struct s_xdmerge *)((void *)0);
    m->mode = mode___1;
    m->i0 = i0;
    m->chg0 = chg0;
    m->i1 = i1;
    m->chg1 = chg1;
    m->i2 = i2;
    m->chg2 = chg2;
    if (*merge___1) {
      (*merge___1)->next = m;
    }
    *merge___1 = m;
  }
  return (0);
}
}
static int xdl_cleanup_merge(xdmerge_t *c___0 )
{
  int count___0 ;
  xdmerge_t *next_c ;

  {
  count___0 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! c___0) {
      goto while_break;
    }
    if (c___0->mode == 0) {
      count___0 ++;
    }
    next_c = c___0->next;
    free((void *)c___0);
    c___0 = next_c;
  }
  while_break: /* CIL Label */ ;
  }
  return (count___0);
}
}
static int xdl_merge_cmp_lines(xdfenv_t *xe1 , int i1 , xdfenv_t *xe2 , int i2 , int line_count ,
                               long flags___0 )
{
  int i ;
  xrecord_t **rec1 ;
  xrecord_t **rec2 ;
  int result___0 ;
  int tmp ;

  {
  rec1 = xe1->xdf2.recs + i1;
  rec2 = xe2->xdf2.recs + i2;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < line_count)) {
      goto while_break;
    }
    tmp = xdl_recmatch((*(rec1 + i))->ptr, (*(rec1 + i))->size, (*(rec2 + i))->ptr,
                       (*(rec2 + i))->size, flags___0);
    result___0 = tmp;
    if (! result___0) {
      return (-1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int xdl_recs_copy_0(int use_orig , xdfenv_t *xe , int i , int count___0 , int needs_cr ,
                           int add_nl , char *dest )
{
  xrecord_t **recs ;
  int size ;
  xrecord_t **tmp ;
  int tmp___0 ;

  {
  size = 0;
  if (use_orig) {
    tmp = xe->xdf1.recs;
  } else {
    tmp = xe->xdf2.recs;
  }
  recs = tmp + i;
  if (count___0 < 1) {
    return (0);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < count___0)) {
      goto while_break;
    }
    if (dest) {
      memcpy((void *)(dest + size), (void const   *)(*(recs + i))->ptr, (size_t )(*(recs + i))->size);
    }
    tmp___0 = i;
    i ++;
    size = (int )((long )size + (*(recs + tmp___0))->size);
  }
  while_break: /* CIL Label */ ;
  }
  if (add_nl) {
    i = (int )(*(recs + (count___0 - 1)))->size;
    if (i == 0) {
      goto _L;
    } else
    if ((int const   )*((*(recs + (count___0 - 1)))->ptr + (i - 1)) != 10) {
      _L: /* CIL Label */
      if (needs_cr) {
        if (dest) {
          *(dest + size) = (char )'\r';
        }
        size ++;
      }
      if (dest) {
        *(dest + size) = (char )'\n';
      }
      size ++;
    }
  }
  return (size);
}
}
static int xdl_recs_copy(xdfenv_t *xe , int i , int count___0 , int needs_cr , int add_nl ,
                         char *dest )
{
  int tmp ;

  {
  tmp = xdl_recs_copy_0(0, xe, i, count___0, needs_cr, add_nl, dest);
  return (tmp);
}
}
static int xdl_orig_copy(xdfenv_t *xe , int i , int count___0 , int needs_cr , int add_nl ,
                         char *dest )
{
  int tmp ;

  {
  tmp = xdl_recs_copy_0(1, xe, i, count___0, needs_cr, add_nl, dest);
  return (tmp);
}
}
static int is_eol_crlf(xdfile_t *file___0 , int i )
{
  long size ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if ((long )i < file___0->nrec - 1L) {
    size = (*(file___0->recs + i))->size;
    if (size > 1L) {
      if ((int const   )*((*(file___0->recs + i))->ptr + (size - 2L)) == 13) {
        tmp = 1;
      } else {
        tmp = 0;
      }
    } else {
      tmp = 0;
    }
    return (tmp);
  }
  if (! file___0->nrec) {
    return (-1);
  }
  size = (*(file___0->recs + i))->size;
  if (size) {
    if ((int const   )*((*(file___0->recs + i))->ptr + (size - 1L)) == 10) {
      if (size > 1L) {
        if ((int const   )*((*(file___0->recs + i))->ptr + (size - 2L)) == 13) {
          tmp___0 = 1;
        } else {
          tmp___0 = 0;
        }
      } else {
        tmp___0 = 0;
      }
      return (tmp___0);
    }
  }
  if (! i) {
    return (-1);
  }
  size = (*(file___0->recs + (i - 1)))->size;
  if (size > 1L) {
    if ((int const   )*((*(file___0->recs + (i - 1)))->ptr + (size - 2L)) == 13) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static int is_cr_needed(xdfenv_t *xe1 , xdfenv_t *xe2 , xdmerge_t *m )
{
  int needs_cr ;
  long tmp ;
  long tmp___0 ;
  int tmp___1 ;

  {
  if (m->i1) {
    tmp = m->i1 - 1L;
  } else {
    tmp = 0L;
  }
  needs_cr = is_eol_crlf(& xe1->xdf2, (int )tmp);
  if (needs_cr) {
    if (m->i2) {
      tmp___0 = m->i2 - 1L;
    } else {
      tmp___0 = 0L;
    }
    needs_cr = is_eol_crlf(& xe2->xdf2, (int )tmp___0);
  }
  if (needs_cr) {
    needs_cr = is_eol_crlf(& xe1->xdf1, 0);
  }
  if (needs_cr < 0) {
    tmp___1 = 0;
  } else {
    tmp___1 = needs_cr;
  }
  return (tmp___1);
}
}
static int fill_conflict_hunk(xdfenv_t *xe1 , char const   *name1 , xdfenv_t *xe2 ,
                              char const   *name2 , char const   *name3 , int size ,
                              int i , int style , xdmerge_t *m , char *dest , int marker_size )
{
  int marker1_size ;
  size_t tmp ;
  size_t tmp___0 ;
  int marker2_size ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  int marker3_size ;
  size_t tmp___3 ;
  size_t tmp___4 ;
  int needs_cr ;
  int tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  char *tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  char *tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  char *tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;

  {
  if (name1) {
    tmp = strlen(name1);
    tmp___0 = tmp + 1UL;
  } else {
    tmp___0 = (size_t )0;
  }
  marker1_size = (int )tmp___0;
  if (name2) {
    tmp___1 = strlen(name2);
    tmp___2 = tmp___1 + 1UL;
  } else {
    tmp___2 = (size_t )0;
  }
  marker2_size = (int )tmp___2;
  if (name3) {
    tmp___3 = strlen(name3);
    tmp___4 = tmp___3 + 1UL;
  } else {
    tmp___4 = (size_t )0;
  }
  marker3_size = (int )tmp___4;
  tmp___5 = is_cr_needed(xe1, xe2, m);
  needs_cr = tmp___5;
  if (marker_size <= 0) {
    marker_size = 7;
  }
  if (dest) {
    tmp___6 = dest + size;
  } else {
    tmp___6 = (char *)((void *)0);
  }
  tmp___7 = xdl_recs_copy(xe1, i, (int )(m->i1 - (long )i), 0, 0, tmp___6);
  size += tmp___7;
  if (! dest) {
    size += ((marker_size + 1) + needs_cr) + marker1_size;
  } else {
    memset((void *)(dest + size), '<', (size_t )marker_size);
    size += marker_size;
    if (marker1_size) {
      *(dest + size) = (char )' ';
      memcpy((void *)((dest + size) + 1), (void const   *)name1, (size_t )(marker1_size - 1));
      size += marker1_size;
    }
    if (needs_cr) {
      tmp___8 = size;
      size ++;
      *(dest + tmp___8) = (char )'\r';
    }
    tmp___9 = size;
    size ++;
    *(dest + tmp___9) = (char )'\n';
  }
  if (dest) {
    tmp___10 = dest + size;
  } else {
    tmp___10 = (char *)((void *)0);
  }
  tmp___11 = xdl_recs_copy(xe1, (int )m->i1, (int )m->chg1, needs_cr, 1, tmp___10);
  size += tmp___11;
  if (style == 1) {
    goto _L;
  } else
  if (style == 2) {
    _L: /* CIL Label */
    if (! dest) {
      size += ((marker_size + 1) + needs_cr) + marker3_size;
    } else {
      memset((void *)(dest + size), '|', (size_t )marker_size);
      size += marker_size;
      if (marker3_size) {
        *(dest + size) = (char )' ';
        memcpy((void *)((dest + size) + 1), (void const   *)name3, (size_t )(marker3_size - 1));
        size += marker3_size;
      }
      if (needs_cr) {
        tmp___12 = size;
        size ++;
        *(dest + tmp___12) = (char )'\r';
      }
      tmp___13 = size;
      size ++;
      *(dest + tmp___13) = (char )'\n';
    }
    if (dest) {
      tmp___14 = dest + size;
    } else {
      tmp___14 = (char *)((void *)0);
    }
    tmp___15 = xdl_orig_copy(xe1, (int )m->i0, (int )m->chg0, needs_cr, 1, tmp___14);
    size += tmp___15;
  }
  if (! dest) {
    size += (marker_size + 1) + needs_cr;
  } else {
    memset((void *)(dest + size), '=', (size_t )marker_size);
    size += marker_size;
    if (needs_cr) {
      tmp___16 = size;
      size ++;
      *(dest + tmp___16) = (char )'\r';
    }
    tmp___17 = size;
    size ++;
    *(dest + tmp___17) = (char )'\n';
  }
  if (dest) {
    tmp___18 = dest + size;
  } else {
    tmp___18 = (char *)((void *)0);
  }
  tmp___19 = xdl_recs_copy(xe2, (int )m->i2, (int )m->chg2, needs_cr, 1, tmp___18);
  size += tmp___19;
  if (! dest) {
    size += ((marker_size + 1) + needs_cr) + marker2_size;
  } else {
    memset((void *)(dest + size), '>', (size_t )marker_size);
    size += marker_size;
    if (marker2_size) {
      *(dest + size) = (char )' ';
      memcpy((void *)((dest + size) + 1), (void const   *)name2, (size_t )(marker2_size - 1));
      size += marker2_size;
    }
    if (needs_cr) {
      tmp___20 = size;
      size ++;
      *(dest + tmp___20) = (char )'\r';
    }
    tmp___21 = size;
    size ++;
    *(dest + tmp___21) = (char )'\n';
  }
  return (size);
}
}
static int xdl_fill_merge_buffer(xdfenv_t *xe1 , char const   *name1 , xdfenv_t *xe2 ,
                                 char const   *name2 , char const   *ancestor_name ,
                                 int favor , xdmerge_t *m , char *dest , int style ,
                                 int marker_size )
{
  int size ;
  int i ;
  char *tmp ;
  int tmp___0 ;
  int needs_cr ;
  int tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;

  {
  i = 0;
  size = i;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! m) {
      goto while_break;
    }
    if (favor) {
      if (! m->mode) {
        m->mode = favor;
      }
    }
    if (m->mode == 0) {
      size = fill_conflict_hunk(xe1, name1, xe2, name2, ancestor_name, size, i, style,
                                m, dest, marker_size);
    } else
    if (m->mode & 3) {
      if (dest) {
        tmp = dest + size;
      } else {
        tmp = (char *)((void *)0);
      }
      tmp___0 = xdl_recs_copy(xe1, i, (int )(m->i1 - (long )i), 0, 0, tmp);
      size += tmp___0;
      if (m->mode & 1) {
        tmp___1 = is_cr_needed(xe1, xe2, m);
        needs_cr = tmp___1;
        if (dest) {
          tmp___2 = dest + size;
        } else {
          tmp___2 = (char *)((void *)0);
        }
        tmp___3 = xdl_recs_copy(xe1, (int )m->i1, (int )m->chg1, needs_cr, m->mode & 2,
                                tmp___2);
        size += tmp___3;
      }
      if (m->mode & 2) {
        if (dest) {
          tmp___4 = dest + size;
        } else {
          tmp___4 = (char *)((void *)0);
        }
        tmp___5 = xdl_recs_copy(xe2, (int )m->i2, (int )m->chg2, 0, 0, tmp___4);
        size += tmp___5;
      }
    } else {
      goto __Cont;
    }
    i = (int )(m->i1 + m->chg1);
    __Cont: /* CIL Label */
    m = m->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (dest) {
    tmp___6 = dest + size;
  } else {
    tmp___6 = (char *)((void *)0);
  }
  tmp___7 = xdl_recs_copy(xe1, i, (int )(xe1->xdf2.nrec - (long )i), 0, 0, tmp___6);
  size += tmp___7;
  return (size);
}
}
static int recmatch(xrecord_t *rec1 , xrecord_t *rec2 , unsigned long flags___0 )
{
  int tmp ;

  {
  tmp = xdl_recmatch(rec1->ptr, rec1->size, rec2->ptr, rec2->size, (long )flags___0);
  return (tmp);
}
}
static void xdl_refine_zdiff3_conflicts(xdfenv_t *xe1 , xdfenv_t *xe2 , xdmerge_t *m ,
                                        xpparam_t const   *xpp )
{
  xrecord_t **rec1 ;
  xrecord_t **rec2 ;
  int tmp ;
  int tmp___0 ;

  {
  rec1 = xe1->xdf2.recs;
  rec2 = xe2->xdf2.recs;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! m) {
      goto while_break;
    }
    if (m->mode) {
      goto __Cont;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (m->chg1) {
        if (m->chg2) {
          tmp = recmatch(*(rec1 + m->i1), *(rec2 + m->i2), (unsigned long )xpp->flags);
          if (! tmp) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      (m->chg1) --;
      (m->chg2) --;
      (m->i1) ++;
      (m->i2) ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (m->chg1) {
        if (m->chg2) {
          tmp___0 = recmatch(*(rec1 + ((m->i1 + m->chg1) - 1L)), *(rec2 + ((m->i2 + m->chg2) - 1L)),
                             (unsigned long )xpp->flags);
          if (! tmp___0) {
            goto while_break___1;
          }
        } else {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      (m->chg1) --;
      (m->chg2) --;
    }
    while_break___1: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    m = m->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int xdl_refine_conflicts(xdfenv_t *xe1 , xdfenv_t *xe2 , xdmerge_t *m , xpparam_t const   *xpp )
{
  mmfile_t t1 ;
  mmfile_t t2 ;
  xdfenv_t xe ;
  xdchange_t *xscr ;
  xdchange_t *x ;
  int i1 ;
  int i2 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  xdmerge_t *m2 ;
  void *tmp___3 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! m) {
      goto while_break;
    }
    i1 = (int )m->i1;
    i2 = (int )m->i2;
    if (m->mode) {
      goto __Cont;
    }
    if (m->chg1 == 0L) {
      goto __Cont;
    } else
    if (m->chg2 == 0L) {
      goto __Cont;
    }
    t1.ptr = (char *)(*(xe1->xdf2.recs + m->i1))->ptr;
    t1.size = ((*(xe1->xdf2.recs + ((m->i1 + m->chg1) - 1L)))->ptr + (*(xe1->xdf2.recs + ((m->i1 + m->chg1) - 1L)))->size) - (char const   *)t1.ptr;
    t2.ptr = (char *)(*(xe2->xdf2.recs + m->i2))->ptr;
    t2.size = ((*(xe2->xdf2.recs + ((m->i2 + m->chg2) - 1L)))->ptr + (*(xe2->xdf2.recs + ((m->i2 + m->chg2) - 1L)))->size) - (char const   *)t2.ptr;
    tmp = xdl_do_diff(& t1, & t2, xpp, & xe);
    if (tmp < 0) {
      return (-1);
    }
    tmp___0 = xdl_change_compact(& xe.xdf1, & xe.xdf2, (long )xpp->flags);
    if (tmp___0 < 0) {
      xdl_free_env(& xe);
      return (-1);
    } else {
      tmp___1 = xdl_change_compact(& xe.xdf2, & xe.xdf1, (long )xpp->flags);
      if (tmp___1 < 0) {
        xdl_free_env(& xe);
        return (-1);
      } else {
        tmp___2 = xdl_build_script(& xe, & xscr);
        if (tmp___2 < 0) {
          xdl_free_env(& xe);
          return (-1);
        }
      }
    }
    if (! xscr) {
      xdl_free_env(& xe);
      m->mode = 4;
      goto __Cont;
    }
    x = xscr;
    m->i1 = xscr->i1 + (long )i1;
    m->chg1 = xscr->chg1;
    m->i2 = xscr->i2 + (long )i2;
    m->chg2 = xscr->chg2;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! xscr->next) {
        goto while_break___0;
      }
      tmp___3 = xmalloc(sizeof(xdmerge_t ));
      m2 = (xdmerge_t *)tmp___3;
      if (! m2) {
        xdl_free_env(& xe);
        xdl_free_script(x);
        return (-1);
      }
      xscr = xscr->next;
      m2->next = m->next;
      m->next = m2;
      m = m2;
      m->mode = 0;
      m->i1 = xscr->i1 + (long )i1;
      m->chg1 = xscr->chg1;
      m->i2 = xscr->i2 + (long )i2;
      m->chg2 = xscr->chg2;
    }
    while_break___0: /* CIL Label */ ;
    }
    xdl_free_env(& xe);
    xdl_free_script(x);
    __Cont: /* CIL Label */
    m = m->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int line_contains_alnum(char const   *ptr , long size )
{
  char const   *tmp ;
  long tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = size;
    size --;
    if (! tmp___0) {
      goto while_break;
    }
    tmp = ptr;
    ptr ++;
    if (((int const   )sane_ctype[(unsigned char )*tmp] & 6) != 0) {
      return (1);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int lines_contain_alnum(xdfenv_t *xe , int i , int chg )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! chg) {
      goto while_break;
    }
    tmp = line_contains_alnum((*(xe->xdf2.recs + i))->ptr, (*(xe->xdf2.recs + i))->size);
    if (tmp) {
      return (1);
    }
    chg --;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void xdl_merge_two_conflicts(xdmerge_t *m )
{
  xdmerge_t *next_m ;

  {
  next_m = m->next;
  m->chg1 = (next_m->i1 + next_m->chg1) - m->i1;
  m->chg2 = (next_m->i2 + next_m->chg2) - m->i2;
  m->next = next_m->next;
  free((void *)next_m);
  return;
}
}
static int xdl_simplify_non_conflicts(xdfenv_t *xe1 , xdmerge_t *m , int simplify_if_no_alnum )
{
  int result___0 ;
  xdmerge_t *next_m ;
  int begin___0 ;
  int end ;
  int tmp ;

  {
  result___0 = 0;
  if (! m) {
    return (result___0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    next_m = m->next;
    if (! next_m) {
      return (result___0);
    }
    begin___0 = (int )(m->i1 + m->chg1);
    end = (int )next_m->i1;
    if (m->mode != 0) {
      m = next_m;
    } else
    if (next_m->mode != 0) {
      m = next_m;
    } else
    if (end - begin___0 > 3) {
      if (! simplify_if_no_alnum) {
        m = next_m;
      } else {
        tmp = lines_contain_alnum(xe1, begin___0, end - begin___0);
        if (tmp) {
          m = next_m;
        } else {
          result___0 ++;
          xdl_merge_two_conflicts(m);
        }
      }
    } else {
      result___0 ++;
      xdl_merge_two_conflicts(m);
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int xdl_do_merge(xdfenv_t *xe1 , xdchange_t *xscr1 , xdfenv_t *xe2 , xdchange_t *xscr2 ,
                        xmparam_t const   *xmp , mmbuffer_t *result___0 )
{
  xdmerge_t *changes ;
  xdmerge_t *c___0 ;
  xpparam_t const   *xpp ;
  char const   *ancestor_name ;
  char const   *name1 ;
  char const   *name2 ;
  int i0 ;
  int i1 ;
  int i2 ;
  int chg0 ;
  int chg1 ;
  int chg2 ;
  int level ;
  int style ;
  int favor ;
  int tmp ;
  int tmp___0 ;
  int off ;
  int ffo ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int marker_size ;
  int size ;
  int tmp___7 ;
  void *tmp___8 ;
  int tmp___9 ;

  {
  xpp = (xpparam_t const   *)(& xmp->xpp);
  ancestor_name = xmp->ancestor;
  name1 = xmp->file1;
  name2 = xmp->file2;
  level = (int )xmp->level;
  style = (int )xmp->style;
  favor = (int )xmp->favor;
  if (style == 1) {
    goto _L;
  } else
  if (style == 2) {
    _L: /* CIL Label */
    if (1 < level) {
      level = 1;
    }
  }
  changes = (xdmerge_t *)((void *)0);
  c___0 = changes;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (xscr1) {
      if (! xscr2) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if (! changes) {
      changes = c___0;
    }
    if (xscr1->i1 + xscr1->chg1 < xscr2->i1) {
      i0 = (int )xscr1->i1;
      i1 = (int )xscr1->i2;
      i2 = (int )((xscr2->i2 - xscr2->i1) + xscr1->i1);
      chg0 = (int )xscr1->chg1;
      chg1 = (int )xscr1->chg2;
      chg2 = (int )xscr1->chg1;
      tmp = xdl_append_merge(& c___0, 1, (long )i0, (long )chg0, (long )i1, (long )chg1,
                             (long )i2, (long )chg2);
      if (tmp) {
        xdl_cleanup_merge(changes);
        return (-1);
      }
      xscr1 = xscr1->next;
      goto while_continue;
    }
    if (xscr2->i1 + xscr2->chg1 < xscr1->i1) {
      i0 = (int )xscr2->i1;
      i1 = (int )((xscr1->i2 - xscr1->i1) + xscr2->i1);
      i2 = (int )xscr2->i2;
      chg0 = (int )xscr2->chg1;
      chg1 = (int )xscr2->chg1;
      chg2 = (int )xscr2->chg2;
      tmp___0 = xdl_append_merge(& c___0, 2, (long )i0, (long )chg0, (long )i1, (long )chg1,
                                 (long )i2, (long )chg2);
      if (tmp___0) {
        xdl_cleanup_merge(changes);
        return (-1);
      }
      xscr2 = xscr2->next;
      goto while_continue;
    }
    if (level == 0) {
      goto _L___0;
    } else
    if (xscr1->i1 != xscr2->i1) {
      goto _L___0;
    } else
    if (xscr1->chg1 != xscr2->chg1) {
      goto _L___0;
    } else
    if (xscr1->chg2 != xscr2->chg2) {
      goto _L___0;
    } else {
      tmp___2 = xdl_merge_cmp_lines(xe1, (int )xscr1->i2, xe2, (int )xscr2->i2, (int )xscr1->chg2,
                                    (long )xpp->flags);
      if (tmp___2) {
        _L___0: /* CIL Label */
        off = (int )(xscr1->i1 - xscr2->i1);
        ffo = (int )(((long )off + xscr1->chg1) - xscr2->chg1);
        i0 = (int )xscr1->i1;
        i1 = (int )xscr1->i2;
        i2 = (int )xscr2->i2;
        if (off > 0) {
          i0 -= off;
          i1 -= off;
        } else {
          i2 += off;
        }
        chg0 = (int )((xscr1->i1 + xscr1->chg1) - (long )i0);
        chg1 = (int )((xscr1->i2 + xscr1->chg2) - (long )i1);
        chg2 = (int )((xscr2->i2 + xscr2->chg2) - (long )i2);
        if (ffo < 0) {
          chg0 -= ffo;
          chg1 -= ffo;
        } else {
          chg2 += ffo;
        }
        tmp___1 = xdl_append_merge(& c___0, 0, (long )i0, (long )chg0, (long )i1,
                                   (long )chg1, (long )i2, (long )chg2);
        if (tmp___1) {
          xdl_cleanup_merge(changes);
          return (-1);
        }
      }
    }
    i1 = (int )(xscr1->i1 + xscr1->chg1);
    i2 = (int )(xscr2->i1 + xscr2->chg1);
    if (i1 >= i2) {
      xscr2 = xscr2->next;
    }
    if (i2 >= i1) {
      xscr1 = xscr1->next;
    }
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! xscr1) {
      goto while_break___0;
    }
    if (! changes) {
      changes = c___0;
    }
    i0 = (int )xscr1->i1;
    i1 = (int )xscr1->i2;
    i2 = (int )((xscr1->i1 + xe2->xdf2.nrec) - xe2->xdf1.nrec);
    chg0 = (int )xscr1->chg1;
    chg1 = (int )xscr1->chg2;
    chg2 = (int )xscr1->chg1;
    tmp___3 = xdl_append_merge(& c___0, 1, (long )i0, (long )chg0, (long )i1, (long )chg1,
                               (long )i2, (long )chg2);
    if (tmp___3) {
      xdl_cleanup_merge(changes);
      return (-1);
    }
    xscr1 = xscr1->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! xscr2) {
      goto while_break___1;
    }
    if (! changes) {
      changes = c___0;
    }
    i0 = (int )xscr2->i1;
    i1 = (int )((xscr2->i1 + xe1->xdf2.nrec) - xe1->xdf1.nrec);
    i2 = (int )xscr2->i2;
    chg0 = (int )xscr2->chg1;
    chg1 = (int )xscr2->chg1;
    chg2 = (int )xscr2->chg2;
    tmp___4 = xdl_append_merge(& c___0, 2, (long )i0, (long )chg0, (long )i1, (long )chg1,
                               (long )i2, (long )chg2);
    if (tmp___4) {
      xdl_cleanup_merge(changes);
      return (-1);
    }
    xscr2 = xscr2->next;
  }
  while_break___1: /* CIL Label */ ;
  }
  if (! changes) {
    changes = c___0;
  }
  if (style == 2) {
    xdl_refine_zdiff3_conflicts(xe1, xe2, changes, xpp);
  } else
  if (2 <= level) {
    tmp___5 = xdl_refine_conflicts(xe1, xe2, changes, xpp);
    if (tmp___5 < 0) {
      xdl_cleanup_merge(changes);
      return (-1);
    } else {
      tmp___6 = xdl_simplify_non_conflicts(xe1, changes, 2 < level);
      if (tmp___6 < 0) {
        xdl_cleanup_merge(changes);
        return (-1);
      }
    }
  }
  if (result___0) {
    marker_size = (int )xmp->marker_size;
    tmp___7 = xdl_fill_merge_buffer(xe1, (char const   *)name1, xe2, (char const   *)name2,
                                    (char const   *)ancestor_name, favor, changes,
                                    (char *)((void *)0), style, marker_size);
    size = tmp___7;
    tmp___8 = xmalloc((size_t )size);
    result___0->ptr = (char *)tmp___8;
    if (! result___0->ptr) {
      xdl_cleanup_merge(changes);
      return (-1);
    }
    result___0->size = (long )size;
    xdl_fill_merge_buffer(xe1, (char const   *)name1, xe2, (char const   *)name2,
                          (char const   *)ancestor_name, favor, changes, result___0->ptr,
                          style, marker_size);
  }
  tmp___9 = xdl_cleanup_merge(changes);
  return (tmp___9);
}
}
int xdl_merge(mmfile_t *orig , mmfile_t *mf1 , mmfile_t *mf2 , xmparam_t const   *xmp ,
              mmbuffer_t *result___0 )
{
  xdchange_t *xscr1 ;
  xdchange_t *xscr2 ;
  xdfenv_t xe1 ;
  xdfenv_t xe2 ;
  int status ;
  xpparam_t const   *xpp ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  void *tmp___7 ;
  void *tmp___8 ;

  {
  xpp = (xpparam_t const   *)(& xmp->xpp);
  result___0->ptr = (char *)((void *)0);
  result___0->size = 0L;
  tmp = xdl_do_diff(orig, mf1, xpp, & xe1);
  if (tmp < 0) {
    return (-1);
  }
  tmp___0 = xdl_do_diff(orig, mf2, xpp, & xe2);
  if (tmp___0 < 0) {
    xdl_free_env(& xe1);
    return (-1);
  }
  tmp___1 = xdl_change_compact(& xe1.xdf1, & xe1.xdf2, (long )xpp->flags);
  if (tmp___1 < 0) {
    xdl_free_env(& xe1);
    return (-1);
  } else {
    tmp___2 = xdl_change_compact(& xe1.xdf2, & xe1.xdf1, (long )xpp->flags);
    if (tmp___2 < 0) {
      xdl_free_env(& xe1);
      return (-1);
    } else {
      tmp___3 = xdl_build_script(& xe1, & xscr1);
      if (tmp___3 < 0) {
        xdl_free_env(& xe1);
        return (-1);
      }
    }
  }
  tmp___4 = xdl_change_compact(& xe2.xdf1, & xe2.xdf2, (long )xpp->flags);
  if (tmp___4 < 0) {
    xdl_free_script(xscr1);
    xdl_free_env(& xe1);
    xdl_free_env(& xe2);
    return (-1);
  } else {
    tmp___5 = xdl_change_compact(& xe2.xdf2, & xe2.xdf1, (long )xpp->flags);
    if (tmp___5 < 0) {
      xdl_free_script(xscr1);
      xdl_free_env(& xe1);
      xdl_free_env(& xe2);
      return (-1);
    } else {
      tmp___6 = xdl_build_script(& xe2, & xscr2);
      if (tmp___6 < 0) {
        xdl_free_script(xscr1);
        xdl_free_env(& xe1);
        xdl_free_env(& xe2);
        return (-1);
      }
    }
  }
  status = 0;
  if (! xscr1) {
    tmp___7 = xmalloc((size_t )mf2->size);
    result___0->ptr = (char *)tmp___7;
    memcpy((void *)result___0->ptr, (void const   *)mf2->ptr, (size_t )mf2->size);
    result___0->size = mf2->size;
  } else
  if (! xscr2) {
    tmp___8 = xmalloc((size_t )mf1->size);
    result___0->ptr = (char *)tmp___8;
    memcpy((void *)result___0->ptr, (void const   *)mf1->ptr, (size_t )mf1->size);
    result___0->size = mf1->size;
  } else {
    status = xdl_do_merge(& xe1, xscr1, & xe2, xscr2, xmp, result___0);
  }
  xdl_free_script(xscr1);
  xdl_free_script(xscr2);
  xdl_free_env(& xe1);
  xdl_free_env(& xe2);
  return (status);
}
}
static int is_anchor(xpparam_t const   *xpp , char const   *line___0 )
{
  int i ;
  size_t tmp ;
  int tmp___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < xpp->anchors_nr)) {
      goto while_break;
    }
    tmp = strlen((char const   *)*(xpp->anchors + i));
    tmp___0 = strncmp(line___0, (char const   *)*(xpp->anchors + i), tmp);
    if (! tmp___0) {
      return (1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void insert_record(xpparam_t const   *xpp , int line___0 , struct hashmap___0 *map___0 ,
                          int pass )
{
  xrecord_t **records ;
  xrecord_t **tmp ;
  xrecord_t *record ;
  int index___2 ;
  int tmp___0 ;

  {
  if (pass == 1) {
    tmp = (map___0->env)->xdf1.recs;
  } else {
    tmp = (map___0->env)->xdf2.recs;
  }
  records = tmp;
  record = *(records + (line___0 - 1));
  index___2 = (int )((record->ha << 1) % (unsigned long )map___0->alloc);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (map___0->entries + index___2)->line1) {
      goto while_break;
    }
    if ((map___0->entries + index___2)->hash != record->ha) {
      index___2 ++;
      if (index___2 >= map___0->alloc) {
        index___2 = 0;
      }
      goto while_continue;
    }
    if (pass == 2) {
      map___0->has_matches = 1UL;
    }
    if (pass == 1) {
      (map___0->entries + index___2)->line2 = 18446744073709551615UL;
    } else
    if ((map___0->entries + index___2)->line2) {
      (map___0->entries + index___2)->line2 = 18446744073709551615UL;
    } else {
      (map___0->entries + index___2)->line2 = (unsigned long )line___0;
    }
    return;
  }
  while_break: /* CIL Label */ ;
  }
  if (pass == 2) {
    return;
  }
  (map___0->entries + index___2)->line1 = (unsigned long )line___0;
  (map___0->entries + index___2)->hash = record->ha;
  tmp___0 = is_anchor(xpp, (*((map___0->env)->xdf1.recs + (line___0 - 1)))->ptr);
  (map___0->entries + index___2)->anchor = (unsigned int )tmp___0;
  if (! map___0->first) {
    map___0->first = map___0->entries + index___2;
  }
  if (map___0->last) {
    (map___0->last)->next = map___0->entries + index___2;
    (map___0->entries + index___2)->previous = map___0->last;
  }
  map___0->last = map___0->entries + index___2;
  (map___0->nr) ++;
  return;
}
}
static int fill_hashmap(mmfile_t *file1 , mmfile_t *file2 , xpparam_t const   *xpp ,
                        xdfenv_t *env , struct hashmap___0 *result___0 , int line1 ,
                        int count1 , int line2 , int count2 )
{
  void *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  result___0->file1 = file1;
  result___0->file2 = file2;
  result___0->xpp = xpp;
  result___0->env = env;
  result___0->alloc = count1 * 2;
  tmp = xmalloc((unsigned long )result___0->alloc * sizeof(struct entry___0 ));
  result___0->entries = (struct entry___0 *)tmp;
  if (! result___0->entries) {
    return (-1);
  }
  memset((void *)result___0->entries, 0, (unsigned long )result___0->alloc * sizeof(struct entry___0 ));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = count1;
    count1 --;
    if (! tmp___1) {
      goto while_break;
    }
    tmp___0 = line1;
    line1 ++;
    insert_record(xpp, tmp___0, result___0, 1);
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___3 = count2;
    count2 --;
    if (! tmp___3) {
      goto while_break___0;
    }
    tmp___2 = line2;
    line2 ++;
    insert_record(xpp, tmp___2, result___0, 2);
  }
  while_break___0: /* CIL Label */ ;
  }
  return (0);
}
}
static int binary_search(struct entry___0 **sequence , int longest , struct entry___0 *entry )
{
  int left ;
  int right ;
  int middle ;

  {
  left = -1;
  right = longest;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (left + 1 < right)) {
      goto while_break;
    }
    middle = left + (right - left) / 2;
    if ((*(sequence + middle))->line2 > entry->line2) {
      right = middle;
    } else {
      left = middle;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (left);
}
}
static struct entry___0 *find_longest_common_sequence(struct hashmap___0 *map___0 )
{
  struct entry___0 **sequence ;
  void *tmp ;
  int longest ;
  int i ;
  struct entry___0 *entry ;
  int anchor_i ;

  {
  tmp = xmalloc((unsigned long )map___0->nr * sizeof(struct entry___0 *));
  sequence = (struct entry___0 **)tmp;
  longest = 0;
  anchor_i = -1;
  entry = map___0->first;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! entry) {
      goto while_break;
    }
    if (! entry->line2) {
      goto __Cont;
    } else
    if (entry->line2 == 18446744073709551615UL) {
      goto __Cont;
    }
    i = binary_search(sequence, longest, entry);
    if (i < 0) {
      entry->previous = (struct entry___0 *)((void *)0);
    } else {
      entry->previous = *(sequence + i);
    }
    i ++;
    if (i <= anchor_i) {
      goto __Cont;
    }
    *(sequence + i) = entry;
    if (entry->anchor) {
      anchor_i = i;
      longest = anchor_i + 1;
    } else
    if (i == longest) {
      longest ++;
    }
    __Cont: /* CIL Label */
    entry = entry->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (! longest) {
    free((void *)sequence);
    return ((struct entry___0 *)((void *)0));
  }
  entry = *(sequence + (longest - 1));
  entry->next = (struct entry___0 *)((void *)0);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! entry->previous) {
      goto while_break___0;
    }
    (entry->previous)->next = entry;
    entry = entry->previous;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)sequence);
  return (entry);
}
}
static int match(struct hashmap___0 *map___0 , int line1 , int line2 )
{
  xrecord_t *record1 ;
  xrecord_t *record2 ;

  {
  record1 = *((map___0->env)->xdf1.recs + (line1 - 1));
  record2 = *((map___0->env)->xdf2.recs + (line2 - 1));
  return (record1->ha == record2->ha);
}
}
static int patience_diff(mmfile_t *file1 , mmfile_t *file2 , xpparam_t const   *xpp ,
                         xdfenv_t *env , int line1 , int count1 , int line2 , int count2 ) ;
static int walk_common_sequence(struct hashmap___0 *map___0 , struct entry___0 *first ,
                                int line1 , int count1 , int line2 , int count2 )
{
  int end1 ;
  int end2 ;
  int next1 ;
  int next2 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  end1 = line1 + count1;
  end2 = line2 + count2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (first) {
      next1 = (int )first->line1;
      next2 = (int )first->line2;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (next1 > line1) {
          if (next2 > line2) {
            tmp = match(map___0, next1 - 1, next2 - 1);
            if (! tmp) {
              goto while_break___0;
            }
          } else {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
        next1 --;
        next2 --;
      }
      while_break___0: /* CIL Label */ ;
      }
    } else {
      next1 = end1;
      next2 = end2;
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (line1 < next1) {
        if (line2 < next2) {
          tmp___0 = match(map___0, line1, line2);
          if (! tmp___0) {
            goto while_break___1;
          }
        } else {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      line1 ++;
      line2 ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (next1 > line1) {
      goto _L;
    } else
    if (next2 > line2) {
      _L: /* CIL Label */
      tmp___1 = patience_diff(map___0->file1, map___0->file2, map___0->xpp, map___0->env,
                              line1, next1 - line1, line2, next2 - line2);
      if (tmp___1) {
        return (-1);
      }
    }
    if (! first) {
      return (0);
    }
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (first->next) {
        if ((first->next)->line1 == first->line1 + 1UL) {
          if (! ((first->next)->line2 == first->line2 + 1UL)) {
            goto while_break___2;
          }
        } else {
          goto while_break___2;
        }
      } else {
        goto while_break___2;
      }
      first = first->next;
    }
    while_break___2: /* CIL Label */ ;
    }
    line1 = (int )(first->line1 + 1UL);
    line2 = (int )(first->line2 + 1UL);
    first = first->next;
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int fall_back_to_classic_diff___0(struct hashmap___0 *map___0 , int line1 ,
                                         int count1 , int line2 , int count2 )
{
  xpparam_t xpp ;
  int tmp ;

  {
  memset((void *)(& xpp), 0, sizeof(xpp));
  xpp.flags = (unsigned long )((map___0->xpp)->flags & (unsigned long )(~ ((1 << 14) | (1 << 15))));
  tmp = xdl_fall_back_diff(map___0->env, (xpparam_t const   *)(& xpp), line1, count1,
                           line2, count2);
  return (tmp);
}
}
static int patience_diff(mmfile_t *file1 , mmfile_t *file2 , xpparam_t const   *xpp ,
                         xdfenv_t *env , int line1 , int count1 , int line2 , int count2 )
{
  struct hashmap___0 map___0 ;
  struct entry___0 *first ;
  int result___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  result___0 = 0;
  if (! count1) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___0 = count2;
      count2 --;
      if (! tmp___0) {
        goto while_break;
      }
      tmp = line2;
      line2 ++;
      *(env->xdf2.rchg + (tmp - 1)) = (char)1;
    }
    while_break: /* CIL Label */ ;
    }
    return (0);
  } else
  if (! count2) {
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___2 = count1;
      count1 --;
      if (! tmp___2) {
        goto while_break___0;
      }
      tmp___1 = line1;
      line1 ++;
      *(env->xdf1.rchg + (tmp___1 - 1)) = (char)1;
    }
    while_break___0: /* CIL Label */ ;
    }
    return (0);
  }
  memset((void *)(& map___0), 0, sizeof(map___0));
  tmp___3 = fill_hashmap(file1, file2, xpp, env, & map___0, line1, count1, line2,
                         count2);
  if (tmp___3) {
    return (-1);
  }
  if (! map___0.has_matches) {
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      tmp___5 = count1;
      count1 --;
      if (! tmp___5) {
        goto while_break___1;
      }
      tmp___4 = line1;
      line1 ++;
      *(env->xdf1.rchg + (tmp___4 - 1)) = (char)1;
    }
    while_break___1: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      tmp___7 = count2;
      count2 --;
      if (! tmp___7) {
        goto while_break___2;
      }
      tmp___6 = line2;
      line2 ++;
      *(env->xdf2.rchg + (tmp___6 - 1)) = (char)1;
    }
    while_break___2: /* CIL Label */ ;
    }
    free((void *)map___0.entries);
    return (0);
  }
  first = find_longest_common_sequence(& map___0);
  if (first) {
    result___0 = walk_common_sequence(& map___0, first, line1, count1, line2, count2);
  } else {
    result___0 = fall_back_to_classic_diff___0(& map___0, line1, count1, line2, count2);
  }
  free((void *)map___0.entries);
  return (result___0);
}
}
int xdl_do_patience_diff(mmfile_t *file1 , mmfile_t *file2 , xpparam_t const   *xpp ,
                         xdfenv_t *env )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = xdl_prepare_env(file1, file2, xpp, env);
  if (tmp < 0) {
    return (-1);
  }
  tmp___0 = patience_diff(file1, file2, xpp, env, 1, (int )env->xdf1.nrec, 1, (int )env->xdf2.nrec);
  return (tmp___0);
}
}
static int xdl_init_classifier(xdlclassifier_t *cf___0 , long size , long flags___0 ) ;
static void xdl_free_classifier(xdlclassifier_t *cf___0 ) ;
static int xdl_classify_record(unsigned int pass , xdlclassifier_t *cf___0 , xrecord_t **rhash ,
                               unsigned int hbits , xrecord_t *rec ) ;
static int xdl_prepare_ctx(unsigned int pass , mmfile_t *mf , long narec , xpparam_t const   *xpp ,
                           xdlclassifier_t *cf___0 , xdfile_t *xdf ) ;
static void xdl_free_ctx(xdfile_t *xdf ) ;
static int xdl_clean_mmatch(char const   *dis , long i , long s___1 , long e ) ;
static int xdl_cleanup_records(xdlclassifier_t *cf___0 , xdfile_t *xdf1 , xdfile_t *xdf2 ) ;
static int xdl_trim_ends(xdfile_t *xdf1 , xdfile_t *xdf2 ) ;
static int xdl_optimize_ctxs(xdlclassifier_t *cf___0 , xdfile_t *xdf1 , xdfile_t *xdf2 ) ;
static int xdl_init_classifier(xdlclassifier_t *cf___0 , long size , long flags___0 )
{
  int tmp ;
  xdlclass_t **tmp___0 ;
  void *tmp___1 ;
  xdlclass_t **tmp___2 ;
  void *tmp___3 ;

  {
  cf___0->flags = flags___0;
  cf___0->hbits = xdl_hashbits((unsigned int )size);
  cf___0->hsize = (long )(1 << cf___0->hbits);
  tmp = xdl_cha_init(& cf___0->ncha, (long )sizeof(xdlclass_t ), size / 4L + 1L);
  if (tmp < 0) {
    return (-1);
  }
  tmp___1 = xmalloc((unsigned long )cf___0->hsize * sizeof(xdlclass_t *));
  tmp___0 = (xdlclass_t **)tmp___1;
  cf___0->rchash = tmp___0;
  if (! tmp___0) {
    xdl_cha_free(& cf___0->ncha);
    return (-1);
  }
  memset((void *)cf___0->rchash, 0, (unsigned long )cf___0->hsize * sizeof(xdlclass_t *));
  cf___0->alloc = size;
  tmp___3 = xmalloc((unsigned long )cf___0->alloc * sizeof(xdlclass_t *));
  tmp___2 = (xdlclass_t **)tmp___3;
  cf___0->rcrecs = tmp___2;
  if (! tmp___2) {
    free((void *)cf___0->rchash);
    xdl_cha_free(& cf___0->ncha);
    return (-1);
  }
  cf___0->count = 0L;
  return (0);
}
}
static void xdl_free_classifier(xdlclassifier_t *cf___0 )
{


  {
  free((void *)cf___0->rcrecs);
  free((void *)cf___0->rchash);
  xdl_cha_free(& cf___0->ncha);
  return;
}
}
static int xdl_classify_record(unsigned int pass , xdlclassifier_t *cf___0 , xrecord_t **rhash ,
                               unsigned int hbits , xrecord_t *rec )
{
  long hi ;
  char const   *line___0 ;
  xdlclass_t *rcrec ;
  xdlclass_t **rcrecs ;
  int tmp ;
  void *tmp___0 ;
  long tmp___1 ;
  void *tmp___2 ;
  long tmp___3 ;

  {
  line___0 = rec->ptr;
  hi = (long )((rec->ha + (rec->ha >> cf___0->hbits)) & ((1UL << cf___0->hbits) - 1UL));
  rcrec = *(cf___0->rchash + hi);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! rcrec) {
      goto while_break;
    }
    if (rcrec->ha == rec->ha) {
      tmp = xdl_recmatch(rcrec->line, rcrec->size, rec->ptr, rec->size, cf___0->flags);
      if (tmp) {
        goto while_break;
      }
    }
    rcrec = rcrec->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (! rcrec) {
    tmp___0 = xdl_cha_alloc(& cf___0->ncha);
    rcrec = (xdlclass_t *)tmp___0;
    if (! rcrec) {
      return (-1);
    }
    tmp___1 = cf___0->count;
    (cf___0->count) ++;
    rcrec->idx = tmp___1;
    if (cf___0->count > cf___0->alloc) {
      cf___0->alloc *= 2L;
      tmp___2 = xrealloc((void *)cf___0->rcrecs, (unsigned long )cf___0->alloc * sizeof(xdlclass_t *));
      rcrecs = (xdlclass_t **)tmp___2;
      if (! rcrecs) {
        return (-1);
      }
      cf___0->rcrecs = rcrecs;
    }
    *(cf___0->rcrecs + rcrec->idx) = rcrec;
    rcrec->line = line___0;
    rcrec->size = rec->size;
    rcrec->ha = rec->ha;
    tmp___3 = 0L;
    rcrec->len2 = tmp___3;
    rcrec->len1 = tmp___3;
    rcrec->next = *(cf___0->rchash + hi);
    *(cf___0->rchash + hi) = rcrec;
  }
  if (pass == 1U) {
    (rcrec->len1) ++;
  } else {
    (rcrec->len2) ++;
  }
  rec->ha = (unsigned long )rcrec->idx;
  hi = (long )((rec->ha + (rec->ha >> hbits)) & ((1UL << hbits) - 1UL));
  rec->next = *(rhash + hi);
  *(rhash + hi) = rec;
  return (0);
}
}
static int xdl_prepare_ctx(unsigned int pass , mmfile_t *mf , long narec , xpparam_t const   *xpp ,
                           xdlclassifier_t *cf___0 , xdfile_t *xdf )
{
  unsigned int hbits ;
  long nrec ;
  long hsize ;
  long bsize ;
  unsigned long hav ;
  char const   *blk ;
  char const   *cur ;
  char const   *top ;
  char const   *prev ;
  xrecord_t *crec ;
  xrecord_t **recs ;
  xrecord_t **rrecs ;
  xrecord_t **rhash ;
  unsigned long *ha ;
  char *rchg ;
  long *rindex___0 ;
  int tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;
  void *tmp___3 ;
  long tmp___4 ;
  int tmp___5 ;
  void *tmp___6 ;
  void *tmp___7 ;
  void *tmp___8 ;
  void *tmp___9 ;

  {
  ha = (unsigned long *)((void *)0);
  rindex___0 = (long *)((void *)0);
  rchg = (char *)((void *)0);
  rhash = (xrecord_t **)((void *)0);
  recs = (xrecord_t **)((void *)0);
  tmp = xdl_cha_init(& xdf->rcha, (long )sizeof(xrecord_t ), narec / 4L + 1L);
  if (tmp < 0) {
    goto abort;
  }
  tmp___0 = xmalloc((unsigned long )narec * sizeof(xrecord_t *));
  recs = (xrecord_t **)tmp___0;
  if (! recs) {
    goto abort;
  }
  hbits = xdl_hashbits((unsigned int )narec);
  hsize = (long )(1 << hbits);
  tmp___1 = xmalloc((unsigned long )hsize * sizeof(xrecord_t *));
  rhash = (xrecord_t **)tmp___1;
  if (! rhash) {
    goto abort;
  }
  memset((void *)rhash, 0, (unsigned long )hsize * sizeof(xrecord_t *));
  nrec = 0L;
  tmp___6 = xdl_mmfile_first(mf, & bsize);
  blk = (char const   *)tmp___6;
  cur = blk;
  if ((unsigned long )cur != (unsigned long )((void *)0)) {
    top = blk + bsize;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned long )cur < (unsigned long )top)) {
        goto while_break;
      }
      prev = cur;
      hav = xdl_hash_record(& cur, top, (long )xpp->flags);
      if (nrec >= narec) {
        narec *= 2L;
        tmp___2 = xrealloc((void *)recs, (unsigned long )narec * sizeof(xrecord_t *));
        rrecs = (xrecord_t **)tmp___2;
        if (! rrecs) {
          goto abort;
        }
        recs = rrecs;
      }
      tmp___3 = xdl_cha_alloc(& xdf->rcha);
      crec = (xrecord_t *)tmp___3;
      if (! crec) {
        goto abort;
      }
      crec->ptr = prev;
      crec->size = cur - prev;
      crec->ha = hav;
      tmp___4 = nrec;
      nrec ++;
      *(recs + tmp___4) = crec;
      tmp___5 = xdl_classify_record(pass, cf___0, rhash, hbits, crec);
      if (tmp___5 < 0) {
        goto abort;
      }
    }
    while_break: /* CIL Label */ ;
    }
  }
  tmp___7 = xmalloc((unsigned long )(nrec + 2L) * sizeof(char ));
  rchg = (char *)tmp___7;
  if (! rchg) {
    goto abort;
  }
  memset((void *)rchg, 0, (unsigned long )(nrec + 2L) * sizeof(char ));
  if ((xpp->flags & (unsigned long )((1 << 14) | (1 << 15))) != (unsigned long )(1 << 14)) {
    if ((xpp->flags & (unsigned long )((1 << 14) | (1 << 15))) != (unsigned long )(1 << 15)) {
      tmp___8 = xmalloc((unsigned long )(nrec + 1L) * sizeof(*rindex___0));
      rindex___0 = (long *)tmp___8;
      if (! rindex___0) {
        goto abort;
      }
      tmp___9 = xmalloc((unsigned long )(nrec + 1L) * sizeof(*ha));
      ha = (unsigned long *)tmp___9;
      if (! ha) {
        goto abort;
      }
    }
  }
  xdf->nrec = nrec;
  xdf->recs = recs;
  xdf->hbits = hbits;
  xdf->rhash = rhash;
  xdf->rchg = rchg + 1;
  xdf->rindex = rindex___0;
  xdf->nreff = 0L;
  xdf->ha = ha;
  xdf->dstart = 0L;
  xdf->dend = nrec - 1L;
  return (0);
  abort:
  free((void *)ha);
  free((void *)rindex___0);
  free((void *)rchg);
  free((void *)rhash);
  free((void *)recs);
  xdl_cha_free(& xdf->rcha);
  return (-1);
}
}
static void xdl_free_ctx(xdfile_t *xdf )
{


  {
  free((void *)xdf->rhash);
  free((void *)xdf->rindex);
  free((void *)(xdf->rchg - 1));
  free((void *)xdf->ha);
  free((void *)xdf->recs);
  xdl_cha_free(& xdf->rcha);
  return;
}
}
int xdl_prepare_env(mmfile_t *mf1 , mmfile_t *mf2 , xpparam_t const   *xpp , xdfenv_t *xe )
{
  long enl1 ;
  long enl2 ;
  long sample ;
  xdlclassifier_t cf___0 ;
  long tmp ;
  long tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  memset((void *)(& cf___0), 0, sizeof(cf___0));
  if ((xpp->flags & (unsigned long )((1 << 14) | (1 << 15))) == (unsigned long )(1 << 15)) {
    sample = 20L;
  } else {
    sample = 256L;
  }
  tmp = xdl_guess_lines(mf1, sample);
  enl1 = tmp + 1L;
  tmp___0 = xdl_guess_lines(mf2, sample);
  enl2 = tmp___0 + 1L;
  tmp___1 = xdl_init_classifier(& cf___0, (enl1 + enl2) + 1L, (long )xpp->flags);
  if (tmp___1 < 0) {
    return (-1);
  }
  tmp___2 = xdl_prepare_ctx(1U, mf1, enl1, xpp, & cf___0, & xe->xdf1);
  if (tmp___2 < 0) {
    xdl_free_classifier(& cf___0);
    return (-1);
  }
  tmp___3 = xdl_prepare_ctx(2U, mf2, enl2, xpp, & cf___0, & xe->xdf2);
  if (tmp___3 < 0) {
    xdl_free_ctx(& xe->xdf1);
    xdl_free_classifier(& cf___0);
    return (-1);
  }
  if ((xpp->flags & (unsigned long )((1 << 14) | (1 << 15))) != (unsigned long )(1 << 14)) {
    if ((xpp->flags & (unsigned long )((1 << 14) | (1 << 15))) != (unsigned long )(1 << 15)) {
      tmp___4 = xdl_optimize_ctxs(& cf___0, & xe->xdf1, & xe->xdf2);
      if (tmp___4 < 0) {
        xdl_free_ctx(& xe->xdf2);
        xdl_free_ctx(& xe->xdf1);
        xdl_free_classifier(& cf___0);
        return (-1);
      }
    }
  }
  xdl_free_classifier(& cf___0);
  return (0);
}
}
void xdl_free_env(xdfenv_t *xe )
{


  {
  xdl_free_ctx(& xe->xdf2);
  xdl_free_ctx(& xe->xdf1);
  return;
}
}
static int xdl_clean_mmatch(char const   *dis , long i , long s___1 , long e )
{
  long r ;
  long rdis0 ;
  long rpdis0 ;
  long rdis1 ;
  long rpdis1 ;

  {
  if (i - s___1 > 100L) {
    s___1 = i - 100L;
  }
  if (e - i > 100L) {
    e = i + 100L;
  }
  r = 1L;
  rdis0 = 0L;
  rpdis0 = 1L;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i - r >= s___1)) {
      goto while_break;
    }
    if (! *(dis + (i - r))) {
      rdis0 ++;
    } else
    if ((int const   )*(dis + (i - r)) == 2) {
      rpdis0 ++;
    } else {
      goto while_break;
    }
    r ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (rdis0 == 0L) {
    return (0);
  }
  r = 1L;
  rdis1 = 0L;
  rpdis1 = 1L;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i + r <= e)) {
      goto while_break___0;
    }
    if (! *(dis + (i + r))) {
      rdis1 ++;
    } else
    if ((int const   )*(dis + (i + r)) == 2) {
      rpdis1 ++;
    } else {
      goto while_break___0;
    }
    r ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (rdis1 == 0L) {
    return (0);
  }
  rdis1 += rdis0;
  rpdis1 += rpdis0;
  return (rpdis1 * 4L < rpdis1 + rdis1);
}
}
static int xdl_cleanup_records(xdlclassifier_t *cf___0 , xdfile_t *xdf1 , xdfile_t *xdf2 )
{
  long i ;
  long nm ;
  long nreff ;
  long mlim ;
  xrecord_t **recs ;
  xdlclass_t *rcrec ;
  char *dis ;
  char *dis1 ;
  char *dis2 ;
  void *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = xmalloc((size_t )((xdf1->nrec + xdf2->nrec) + 2L));
  dis = (char *)tmp;
  if (! dis) {
    return (-1);
  }
  memset((void *)dis, 0, (size_t )((xdf1->nrec + xdf2->nrec) + 2L));
  dis1 = dis;
  dis2 = (dis1 + xdf1->nrec) + 1;
  mlim = xdl_bogosqrt(xdf1->nrec);
  if (mlim > 1024L) {
    mlim = 1024L;
  }
  i = xdf1->dstart;
  recs = xdf1->recs + xdf1->dstart;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i <= xdf1->dend)) {
      goto while_break;
    }
    rcrec = *(cf___0->rcrecs + (*recs)->ha);
    if (rcrec) {
      nm = rcrec->len2;
    } else {
      nm = 0L;
    }
    if (nm == 0L) {
      *(dis1 + i) = (char)0;
    } else {
      if (nm >= mlim) {
        tmp___0 = 2;
      } else {
        tmp___0 = 1;
      }
      *(dis1 + i) = (char )tmp___0;
    }
    i ++;
    recs ++;
  }
  while_break: /* CIL Label */ ;
  }
  mlim = xdl_bogosqrt(xdf2->nrec);
  if (mlim > 1024L) {
    mlim = 1024L;
  }
  i = xdf2->dstart;
  recs = xdf2->recs + xdf2->dstart;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i <= xdf2->dend)) {
      goto while_break___0;
    }
    rcrec = *(cf___0->rcrecs + (*recs)->ha);
    if (rcrec) {
      nm = rcrec->len1;
    } else {
      nm = 0L;
    }
    if (nm == 0L) {
      *(dis2 + i) = (char)0;
    } else {
      if (nm >= mlim) {
        tmp___1 = 2;
      } else {
        tmp___1 = 1;
      }
      *(dis2 + i) = (char )tmp___1;
    }
    i ++;
    recs ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  nreff = 0L;
  i = xdf1->dstart;
  recs = xdf1->recs + xdf1->dstart;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i <= xdf1->dend)) {
      goto while_break___1;
    }
    if ((int )*(dis1 + i) == 1) {
      *(xdf1->rindex + nreff) = i;
      *(xdf1->ha + nreff) = (*recs)->ha;
      nreff ++;
    } else
    if ((int )*(dis1 + i) == 2) {
      tmp___2 = xdl_clean_mmatch((char const   *)dis1, i, xdf1->dstart, xdf1->dend);
      if (tmp___2) {
        *(xdf1->rchg + i) = (char)1;
      } else {
        *(xdf1->rindex + nreff) = i;
        *(xdf1->ha + nreff) = (*recs)->ha;
        nreff ++;
      }
    } else {
      *(xdf1->rchg + i) = (char)1;
    }
    i ++;
    recs ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  xdf1->nreff = nreff;
  nreff = 0L;
  i = xdf2->dstart;
  recs = xdf2->recs + xdf2->dstart;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i <= xdf2->dend)) {
      goto while_break___2;
    }
    if ((int )*(dis2 + i) == 1) {
      *(xdf2->rindex + nreff) = i;
      *(xdf2->ha + nreff) = (*recs)->ha;
      nreff ++;
    } else
    if ((int )*(dis2 + i) == 2) {
      tmp___3 = xdl_clean_mmatch((char const   *)dis2, i, xdf2->dstart, xdf2->dend);
      if (tmp___3) {
        *(xdf2->rchg + i) = (char)1;
      } else {
        *(xdf2->rindex + nreff) = i;
        *(xdf2->ha + nreff) = (*recs)->ha;
        nreff ++;
      }
    } else {
      *(xdf2->rchg + i) = (char)1;
    }
    i ++;
    recs ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  xdf2->nreff = nreff;
  free((void *)dis);
  return (0);
}
}
static int xdl_trim_ends(xdfile_t *xdf1 , xdfile_t *xdf2 )
{
  long i ;
  long lim ;
  xrecord_t **recs1 ;
  xrecord_t **recs2 ;
  long tmp ;

  {
  recs1 = xdf1->recs;
  recs2 = xdf2->recs;
  i = 0L;
  if (xdf1->nrec < xdf2->nrec) {
    lim = xdf1->nrec;
  } else {
    lim = xdf2->nrec;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < lim)) {
      goto while_break;
    }
    if ((*recs1)->ha != (*recs2)->ha) {
      goto while_break;
    }
    i ++;
    recs1 ++;
    recs2 ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = i;
  xdf2->dstart = tmp;
  xdf1->dstart = tmp;
  recs1 = (xdf1->recs + xdf1->nrec) - 1;
  recs2 = (xdf2->recs + xdf2->nrec) - 1;
  lim -= i;
  i = 0L;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < lim)) {
      goto while_break___0;
    }
    if ((*recs1)->ha != (*recs2)->ha) {
      goto while_break___0;
    }
    i ++;
    recs1 --;
    recs2 --;
  }
  while_break___0: /* CIL Label */ ;
  }
  xdf1->dend = (xdf1->nrec - i) - 1L;
  xdf2->dend = (xdf2->nrec - i) - 1L;
  return (0);
}
}
static int xdl_optimize_ctxs(xdlclassifier_t *cf___0 , xdfile_t *xdf1 , xdfile_t *xdf2 )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = xdl_trim_ends(xdf1, xdf2);
  if (tmp < 0) {
    return (-1);
  } else {
    tmp___0 = xdl_cleanup_records(cf___0, xdf1, xdf2);
    if (tmp___0 < 0) {
      return (-1);
    }
  }
  return (0);
}
}
long xdl_bogosqrt(long n )
{
  long i ;

  {
  i = 1L;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (n > 0L)) {
      goto while_break;
    }
    i <<= 1;
    n >>= 2;
  }
  while_break: /* CIL Label */ ;
  }
  return (i);
}
}
int xdl_emit_diffrec(char const   *rec , long size , char const   *pre , long psize ,
                     xdemitcb_t *ecb )
{
  int i ;
  mmbuffer_t mb[3] ;
  size_t tmp ;
  int tmp___0 ;

  {
  i = 2;
  mb[0].ptr = (char *)pre;
  mb[0].size = psize;
  mb[1].ptr = (char *)rec;
  mb[1].size = size;
  if (size > 0L) {
    if ((int const   )*(rec + (size - 1L)) != 10) {
      mb[2].ptr = "\n\\ No newline at end of file\n";
      tmp = strlen((char const   *)mb[2].ptr);
      mb[2].size = (long )tmp;
      i ++;
    }
  }
  tmp___0 = (*(ecb->out_line))(ecb->priv, mb, i);
  if (tmp___0 < 0) {
    return (-1);
  }
  return (0);
}
}
void *xdl_mmfile_first(mmfile_t *mmf , long *size )
{


  {
  *size = mmf->size;
  return ((void *)mmf->ptr);
}
}
long xdl_mmfile_size(mmfile_t *mmf )
{


  {
  return (mmf->size);
}
}
int xdl_cha_init(chastore_t *cha , long isize , long icount )
{
  chanode_t *tmp ;
  chanode_t *tmp___0 ;

  {
  tmp = (chanode_t *)((void *)0);
  cha->tail = tmp;
  cha->head = tmp;
  cha->isize = isize;
  cha->nsize = icount * isize;
  tmp___0 = (chanode_t *)((void *)0);
  cha->sncur = tmp___0;
  cha->ancur = tmp___0;
  cha->scurr = 0L;
  return (0);
}
}
void xdl_cha_free(chastore_t *cha )
{
  chanode_t *cur ;
  chanode_t *tmp ;

  {
  cur = cha->head;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = cur;
    if (! ((unsigned long )tmp != (unsigned long )((void *)0))) {
      goto while_break;
    }
    cur = cur->next;
    free((void *)tmp);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void *xdl_cha_alloc(chastore_t *cha )
{
  chanode_t *ancur ;
  void *data ;
  void *tmp ;

  {
  ancur = cha->ancur;
  if (ancur) {
    if (ancur->icurr == cha->nsize) {
      _L: /* CIL Label */
      tmp = xmalloc(sizeof(chanode_t ) + (unsigned long )cha->nsize);
      ancur = (chanode_t *)tmp;
      if (! ancur) {
        return ((void *)0);
      }
      ancur->icurr = 0L;
      ancur->next = (struct s_chanode *)((void *)0);
      if (cha->tail) {
        (cha->tail)->next = ancur;
      }
      if (! cha->head) {
        cha->head = ancur;
      }
      cha->tail = ancur;
      cha->ancur = ancur;
    }
  } else {
    goto _L;
  }
  data = (void *)(((char *)ancur + sizeof(chanode_t )) + ancur->icurr);
  ancur->icurr += cha->isize;
  return (data);
}
}
long xdl_guess_lines(mmfile_t *mf , long sample )
{
  long nl ;
  long size ;
  long tsize ;
  char const   *data ;
  char const   *cur ;
  char const   *top ;
  void *tmp ;
  void *tmp___0 ;
  long tmp___1 ;

  {
  nl = 0L;
  tsize = 0L;
  tmp___0 = xdl_mmfile_first(mf, & size);
  data = (char const   *)tmp___0;
  cur = data;
  if ((unsigned long )cur != (unsigned long )((void *)0)) {
    top = data + size;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (nl < sample) {
        if (! ((unsigned long )cur < (unsigned long )top)) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      nl ++;
      tmp = memchr((void const   *)cur, '\n', (size_t )(top - cur));
      cur = (char const   *)tmp;
      if (cur) {
        cur ++;
      } else {
        cur = top;
      }
    }
    while_break: /* CIL Label */ ;
    }
    tsize += cur - data;
  }
  if (nl) {
    if (tsize) {
      tmp___1 = xdl_mmfile_size(mf);
      nl = tmp___1 / (tsize / nl);
    }
  }
  return (nl + 1L);
}
}
int xdl_blankline(char const   *line___0 , long size , long flags___0 )
{
  long i ;

  {
  if (! (flags___0 & (long )((((1 << 1) | (1 << 2)) | (1 << 3)) | (1 << 4)))) {
    return (size <= 1L);
  }
  i = 0L;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i < size) {
      if (! (((int const   )sane_ctype[(unsigned char )*(line___0 + i)] & 1) != 0)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (i == size);
}
}
static int ends_with_optional_cr(char const   *l , long s___1 , long i )
{
  int complete___1 ;
  int tmp ;

  {
  if (s___1) {
    if ((int const   )*(l + (s___1 - 1L)) == 10) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  complete___1 = tmp;
  if (complete___1) {
    s___1 --;
  }
  if (s___1 == i) {
    return (1);
  }
  if (complete___1) {
    if (s___1 == i + 1L) {
      if ((int const   )*(l + i) == 13) {
        return (1);
      }
    }
  }
  return (0);
}
}
int xdl_recmatch(char const   *l1 , long s1 , char const   *l2 , long s2 , long flags___0 )
{
  int i1 ;
  int i2 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  if (s1 == s2) {
    tmp = memcmp((void const   *)l1, (void const   *)l2, (size_t )s1);
    if (! tmp) {
      return (1);
    }
  }
  if (! (flags___0 & (long )((((1 << 1) | (1 << 2)) | (1 << 3)) | (1 << 4)))) {
    return (0);
  }
  i1 = 0;
  i2 = 0;
  if (flags___0 & (long )(1 << 1)) {
    goto skip_ws;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if ((long )i1 < s1) {
        if (! ((long )i2 < s2)) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      tmp___0 = i1;
      i1 ++;
      tmp___1 = i2;
      i2 ++;
      if ((int const   )*(l1 + tmp___0) != (int const   )*(l2 + tmp___1)) {
        return (0);
      }
      skip_ws:
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if ((long )i1 < s1) {
          if (! (((int const   )sane_ctype[(unsigned char )*(l1 + i1)] & 1) != 0)) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
        i1 ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if ((long )i2 < s2) {
          if (! (((int const   )sane_ctype[(unsigned char )*(l2 + i2)] & 1) != 0)) {
            goto while_break___1;
          }
        } else {
          goto while_break___1;
        }
        i2 ++;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
    while_break: /* CIL Label */ ;
    }
  } else
  if (flags___0 & (long )(1 << 2)) {
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if ((long )i1 < s1) {
        if (! ((long )i2 < s2)) {
          goto while_break___2;
        }
      } else {
        goto while_break___2;
      }
      if (((int const   )sane_ctype[(unsigned char )*(l1 + i1)] & 1) != 0) {
        if (((int const   )sane_ctype[(unsigned char )*(l2 + i2)] & 1) != 0) {
          {
          while (1) {
            while_continue___3: /* CIL Label */ ;
            if ((long )i1 < s1) {
              if (! (((int const   )sane_ctype[(unsigned char )*(l1 + i1)] & 1) != 0)) {
                goto while_break___3;
              }
            } else {
              goto while_break___3;
            }
            i1 ++;
          }
          while_break___3: /* CIL Label */ ;
          }
          {
          while (1) {
            while_continue___4: /* CIL Label */ ;
            if ((long )i2 < s2) {
              if (! (((int const   )sane_ctype[(unsigned char )*(l2 + i2)] & 1) != 0)) {
                goto while_break___4;
              }
            } else {
              goto while_break___4;
            }
            i2 ++;
          }
          while_break___4: /* CIL Label */ ;
          }
          goto while_continue___2;
        }
      }
      tmp___2 = i1;
      i1 ++;
      tmp___3 = i2;
      i2 ++;
      if ((int const   )*(l1 + tmp___2) != (int const   )*(l2 + tmp___3)) {
        return (0);
      }
    }
    while_break___2: /* CIL Label */ ;
    }
  } else
  if (flags___0 & (long )(1 << 3)) {
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      if ((long )i1 < s1) {
        if ((long )i2 < s2) {
          if (! ((int const   )*(l1 + i1) == (int const   )*(l2 + i2))) {
            goto while_break___5;
          }
        } else {
          goto while_break___5;
        }
      } else {
        goto while_break___5;
      }
      i1 ++;
      i2 ++;
    }
    while_break___5: /* CIL Label */ ;
    }
  } else
  if (flags___0 & (long )(1 << 4)) {
    {
    while (1) {
      while_continue___6: /* CIL Label */ ;
      if ((long )i1 < s1) {
        if ((long )i2 < s2) {
          if (! ((int const   )*(l1 + i1) == (int const   )*(l2 + i2))) {
            goto while_break___6;
          }
        } else {
          goto while_break___6;
        }
      } else {
        goto while_break___6;
      }
      i1 ++;
      i2 ++;
    }
    while_break___6: /* CIL Label */ ;
    }
    tmp___4 = ends_with_optional_cr(l1, s1, (long )i1);
    if (tmp___4) {
      tmp___5 = ends_with_optional_cr(l2, s2, (long )i2);
      if (tmp___5) {
        tmp___6 = 1;
      } else {
        tmp___6 = 0;
      }
    } else {
      tmp___6 = 0;
    }
    return (tmp___6);
  }
  if ((long )i1 < s1) {
    {
    while (1) {
      while_continue___7: /* CIL Label */ ;
      if ((long )i1 < s1) {
        if (! (((int const   )sane_ctype[(unsigned char )*(l1 + i1)] & 1) != 0)) {
          goto while_break___7;
        }
      } else {
        goto while_break___7;
      }
      i1 ++;
    }
    while_break___7: /* CIL Label */ ;
    }
    if (s1 != (long )i1) {
      return (0);
    }
  }
  if ((long )i2 < s2) {
    {
    while (1) {
      while_continue___8: /* CIL Label */ ;
      if ((long )i2 < s2) {
        if (! (((int const   )sane_ctype[(unsigned char )*(l2 + i2)] & 1) != 0)) {
          goto while_break___8;
        }
      } else {
        goto while_break___8;
      }
      i2 ++;
    }
    while_break___8: /* CIL Label */ ;
    }
    return (s2 == (long )i2);
  }
  return (1);
}
}
static unsigned long xdl_hash_record_with_whitespace(char const   **data , char const   *top ,
                                                     long flags___0 )
{
  unsigned long ha ;
  char const   *ptr ;
  int cr_at_eol_only ;
  char const   *ptr2 ;
  int at_eol ;
  int tmp ;

  {
  ha = 5381UL;
  ptr = *data;
  cr_at_eol_only = (flags___0 & (long )((((1 << 1) | (1 << 2)) | (1 << 3)) | (1 << 4))) == (long )(1 << 4);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )ptr < (unsigned long )top) {
      if (! ((int const   )*ptr != 10)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if (cr_at_eol_only) {
      if ((int const   )*ptr == 13) {
        if ((unsigned long )(ptr + 1) < (unsigned long )top) {
          if ((int const   )*(ptr + 1) == 10) {
            goto __Cont;
          }
        }
      }
    } else
    if (((int const   )sane_ctype[(unsigned char )*ptr] & 1) != 0) {
      ptr2 = ptr;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if ((unsigned long )(ptr + 1) < (unsigned long )top) {
          if (((int const   )sane_ctype[(unsigned char )*(ptr + 1)] & 1) != 0) {
            if (! ((int const   )*(ptr + 1) != 10)) {
              goto while_break___0;
            }
          } else {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
        ptr ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      if ((unsigned long )top <= (unsigned long )(ptr + 1)) {
        tmp = 1;
      } else
      if ((int const   )*(ptr + 1) == 10) {
        tmp = 1;
      } else {
        tmp = 0;
      }
      at_eol = tmp;
      if (! (flags___0 & (long )(1 << 1))) {
        if (flags___0 & (long )(1 << 2)) {
          if (! at_eol) {
            ha += ha << 5;
            ha ^= 32UL;
          } else {
            goto _L;
          }
        } else
        _L: /* CIL Label */
        if (flags___0 & (long )(1 << 3)) {
          if (! at_eol) {
            {
            while (1) {
              while_continue___1: /* CIL Label */ ;
              if (! ((unsigned long )ptr2 != (unsigned long )(ptr + 1))) {
                goto while_break___1;
              }
              ha += ha << 5;
              ha ^= (unsigned long )*ptr2;
              ptr2 ++;
            }
            while_break___1: /* CIL Label */ ;
            }
          }
        }
      }
      goto __Cont;
    }
    ha += ha << 5;
    ha ^= (unsigned long )*ptr;
    __Cont: /* CIL Label */
    ptr ++;
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned long )ptr < (unsigned long )top) {
    *data = ptr + 1;
  } else {
    *data = ptr;
  }
  return (ha);
}
}
unsigned long xdl_hash_record(char const   **data , char const   *top , long flags___0 )
{
  unsigned long ha ;
  char const   *ptr ;
  unsigned long tmp ;

  {
  ha = 5381UL;
  ptr = *data;
  if (flags___0 & (long )((((1 << 1) | (1 << 2)) | (1 << 3)) | (1 << 4))) {
    tmp = xdl_hash_record_with_whitespace(data, top, flags___0);
    return (tmp);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )ptr < (unsigned long )top) {
      if (! ((int const   )*ptr != 10)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    ha += ha << 5;
    ha ^= (unsigned long )*ptr;
    ptr ++;
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned long )ptr < (unsigned long )top) {
    *data = ptr + 1;
  } else {
    *data = ptr;
  }
  return (ha);
}
}
unsigned int xdl_hashbits(unsigned int size )
{
  unsigned int val ;
  unsigned int bits ;
  unsigned int tmp ;

  {
  val = 1U;
  bits = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (val < size) {
      if (! ((unsigned long )bits < 8UL * sizeof(unsigned int ))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    val <<= 1;
    bits ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (bits) {
    tmp = bits;
  } else {
    tmp = 1U;
  }
  return (tmp);
}
}
int xdl_num_out(char *out , long val )
{
  char *ptr ;
  char *str ;
  char buf___19[32] ;
  char *tmp ;

  {
  str = out;
  ptr = (buf___19 + sizeof(buf___19)) - 1;
  *ptr = (char )'\000';
  if (val < 0L) {
    ptr --;
    *ptr = (char )'-';
    val = - val;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (val) {
      if (! ((unsigned long )ptr > (unsigned long )(buf___19))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    ptr --;
    *ptr = *("0123456789" + val % 10L);
    val /= 10L;
  }
  while_break: /* CIL Label */ ;
  }
  if (*ptr) {
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! *ptr) {
        goto while_break___0;
      }
      *str = *ptr;
      ptr ++;
      str ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  } else {
    tmp = str;
    str ++;
    *tmp = (char )'0';
  }
  *str = (char )'\000';
  return ((int )(str - out));
}
}
static int xdl_format_hunk_hdr(long s1 , long c1 , long s2 , long c2 , char const   *func ,
                               long funclen , xdemitcb_t *ecb )
{
  int nb ;
  mmbuffer_t mb ;
  char buf___19[128] ;
  long tmp ;
  int tmp___0 ;
  int tmp___1 ;
  long tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  nb = 0;
  memcpy((void *)(buf___19), (void const   *)"@@ -", (size_t )4);
  nb += 4;
  if (c1) {
    tmp = s1;
  } else {
    tmp = s1 - 1L;
  }
  tmp___0 = xdl_num_out(buf___19 + nb, tmp);
  nb += tmp___0;
  if (c1 != 1L) {
    memcpy((void *)(buf___19 + nb), (void const   *)",", (size_t )1);
    nb ++;
    tmp___1 = xdl_num_out(buf___19 + nb, c1);
    nb += tmp___1;
  }
  memcpy((void *)(buf___19 + nb), (void const   *)" +", (size_t )2);
  nb += 2;
  if (c2) {
    tmp___2 = s2;
  } else {
    tmp___2 = s2 - 1L;
  }
  tmp___3 = xdl_num_out(buf___19 + nb, tmp___2);
  nb += tmp___3;
  if (c2 != 1L) {
    memcpy((void *)(buf___19 + nb), (void const   *)",", (size_t )1);
    nb ++;
    tmp___4 = xdl_num_out(buf___19 + nb, c2);
    nb += tmp___4;
  }
  memcpy((void *)(buf___19 + nb), (void const   *)" @@", (size_t )3);
  nb += 3;
  if (func) {
    if (funclen) {
      tmp___5 = nb;
      nb ++;
      buf___19[tmp___5] = (char )' ';
      if ((unsigned long )funclen > (sizeof(buf___19) - (unsigned long )nb) - 1UL) {
        funclen = (long )((sizeof(buf___19) - (unsigned long )nb) - 1UL);
      }
      memcpy((void *)(buf___19 + nb), (void const   *)func, (size_t )funclen);
      nb = (int )((long )nb + funclen);
    }
  }
  tmp___6 = nb;
  nb ++;
  buf___19[tmp___6] = (char )'\n';
  mb.ptr = buf___19;
  mb.size = (long )nb;
  tmp___7 = (*(ecb->out_line))(ecb->priv, & mb, 1);
  if (tmp___7 < 0) {
    return (-1);
  }
  return (0);
}
}
int xdl_emit_hunk_hdr(long s1 , long c1 , long s2 , long c2 , char const   *func ,
                      long funclen , xdemitcb_t *ecb )
{
  int tmp ;
  long tmp___0 ;
  long tmp___1 ;
  int tmp___2 ;

  {
  if (! ecb->out_hunk) {
    tmp = xdl_format_hunk_hdr(s1, c1, s2, c2, func, funclen, ecb);
    return (tmp);
  }
  if (c2) {
    tmp___0 = s2;
  } else {
    tmp___0 = s2 - 1L;
  }
  if (c1) {
    tmp___1 = s1;
  } else {
    tmp___1 = s1 - 1L;
  }
  tmp___2 = (*(ecb->out_hunk))(ecb->priv, tmp___1, c1, tmp___0, c2, func, funclen);
  if (tmp___2 < 0) {
    return (-1);
  }
  return (0);
}
}
int xdl_fall_back_diff(xdfenv_t *diff_env , xpparam_t const   *xpp , int line1 , int count1 ,
                       int line2 , int count2 )
{
  mmfile_t subfile1 ;
  mmfile_t subfile2 ;
  xdfenv_t env ;
  int tmp ;

  {
  subfile1.ptr = (char *)(*(diff_env->xdf1.recs + (line1 - 1)))->ptr;
  subfile1.size = ((*(diff_env->xdf1.recs + ((line1 + count1) - 2)))->ptr + (*(diff_env->xdf1.recs + ((line1 + count1) - 2)))->size) - (char const   *)subfile1.ptr;
  subfile2.ptr = (char *)(*(diff_env->xdf2.recs + (line2 - 1)))->ptr;
  subfile2.size = ((*(diff_env->xdf2.recs + ((line2 + count2) - 2)))->ptr + (*(diff_env->xdf2.recs + ((line2 + count2) - 2)))->size) - (char const   *)subfile2.ptr;
  tmp = xdl_do_diff(& subfile1, & subfile2, xpp, & env);
  if (tmp < 0) {
    return (-1);
  }
  memcpy((void *)((diff_env->xdf1.rchg + line1) - 1), (void const   *)env.xdf1.rchg,
         (size_t )count1);
  memcpy((void *)((diff_env->xdf2.rchg + line2) - 1), (void const   *)env.xdf2.rchg,
         (size_t )count2);
  xdl_free_env(& env);
  return (0);
}
}
int hash_size(uint32_t id ) ;
void put_be24(uint8_t *out , uint32_t i ) ;
uint32_t get_be24(uint8_t *in ) ;
void put_be16(uint8_t *out , uint16_t i ) ;
int binsearch(size_t sz , int (*f)(size_t k , void *args ) , void *args___0 ) ;
void free_names(char **a ) ;
void parse_names(char *buf___19 , int size , char ***namesp ) ;
int names_equal(char **a , char **b___0 ) ;
int names_length(char **names___0 ) ;
void *reftable_malloc(size_t sz ) ;
void *reftable_realloc(void *p___0 , size_t sz ) ;
void reftable_free(void *p___0 ) ;
void *reftable_calloc(size_t sz ) ;
int common_prefix_size(struct strbuf *a , struct strbuf *b___0 ) ;
void put_be24(uint8_t *out , uint32_t i )
{


  {
  *(out + 0) = (uint8_t )((i >> 16) & 255U);
  *(out + 1) = (uint8_t )((i >> 8) & 255U);
  *(out + 2) = (uint8_t )(i & 255U);
  return;
}
}
uint32_t get_be24(uint8_t *in )
{


  {
  return ((((uint32_t )*(in + 0) << 16) | ((uint32_t )*(in + 1) << 8)) | (uint32_t )*(in + 2));
}
}
void put_be16(uint8_t *out , uint16_t i )
{


  {
  *(out + 0) = (uint8_t )(((int )i >> 8) & 0xff);
  *(out + 1) = (uint8_t )((int )i & 0xff);
  return;
}
}
int binsearch(size_t sz , int (*f)(size_t k , void *args ) , void *args___0 )
{
  size_t lo ;
  size_t hi ;
  size_t mid ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  lo = (size_t )0;
  hi = sz;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (hi - lo > 1UL)) {
      goto while_break;
    }
    mid = lo + (hi - lo) / 2UL;
    tmp = (*f)(mid, args___0);
    if (tmp) {
      hi = mid;
    } else {
      lo = mid;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (lo) {
    return ((int )hi);
  }
  tmp___2 = (*f)((size_t )0, args___0);
  if (tmp___2) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  return (tmp___1);
}
}
void free_names(char **a )
{
  char **p___0 ;

  {
  if (! a) {
    return;
  }
  p___0 = a;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    reftable_free((void *)*p___0);
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  reftable_free((void *)a);
  return;
}
}
int names_length(char **names___0 )
{
  char **p___0 ;

  {
  p___0 = names___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((int )(p___0 - names___0));
}
}
void parse_names(char *buf___19 , int size , char ***namesp )
{
  char **names___0 ;
  size_t names_cap ;
  size_t names_len ;
  char *p___0 ;
  char *end ;
  char *next___2 ;
  char *tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;

  {
  names___0 = (char **)((void *)0);
  names_cap = (size_t )0;
  names_len = (size_t )0;
  p___0 = buf___19;
  end = buf___19 + size;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )p___0 < (unsigned long )end)) {
      goto while_break;
    }
    tmp = strchr((char const   *)p___0, '\n');
    next___2 = tmp;
    if (next___2) {
      if ((unsigned long )next___2 < (unsigned long )end) {
        *next___2 = (char)0;
      } else {
        next___2 = end;
      }
    } else {
      next___2 = end;
    }
    if ((unsigned long )p___0 < (unsigned long )next___2) {
      if (names_len == names_cap) {
        names_cap = 2UL * names_cap + 1UL;
        tmp___0 = reftable_realloc((void *)names___0, names_cap * sizeof(*names___0));
        names___0 = (char **)tmp___0;
      }
      tmp___1 = names_len;
      names_len ++;
      *(names___0 + tmp___1) = xstrdup((char const   *)p___0);
    }
    p___0 = next___2 + 1;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = reftable_realloc((void *)names___0, (names_len + 1UL) * sizeof(*names___0));
  names___0 = (char **)tmp___2;
  *(names___0 + names_len) = (char *)((void *)0);
  *namesp = names___0;
  return;
}
}
int names_equal(char **a , char **b___0 )
{
  int i ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*(a + i)) {
      if (! *(b___0 + i)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = strcmp((char const   *)*(a + i), (char const   *)*(b___0 + i));
    if (tmp) {
      return (0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((unsigned long )*(a + i) == (unsigned long )*(b___0 + i));
}
}
int common_prefix_size(struct strbuf *a , struct strbuf *b___0 )
{
  int p___0 ;

  {
  p___0 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((size_t )p___0 < a->len) {
      if (! ((size_t )p___0 < b___0->len)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if ((int )*(a->buf + p___0) != (int )*(b___0->buf + p___0)) {
      goto while_break;
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (p___0);
}
}
char const   *reftable_error_str(int err___4 ) ;
static char buf___14[250]  ;
char const   *reftable_error_str(int err___4 )
{


  {
  {
  if (err___4 == -2) {
    goto case_neg_2;
  }
  if (err___4 == -3) {
    goto case_neg_3;
  }
  if (err___4 == -4) {
    goto case_neg_4;
  }
  if (err___4 == -5) {
    goto case_neg_5;
  }
  if (err___4 == -6) {
    goto case_neg_6;
  }
  if (err___4 == -7) {
    goto case_neg_7;
  }
  if (err___4 == -9) {
    goto case_neg_9;
  }
  if (err___4 == -8) {
    goto case_neg_8;
  }
  if (err___4 == -10) {
    goto case_neg_10;
  }
  if (err___4 == -11) {
    goto case_neg_11;
  }
  if (err___4 == -1) {
    goto case_neg_1;
  }
  goto switch_default;
  case_neg_2: /* CIL Label */
  return ((char const   *)"I/O error");
  case_neg_3: /* CIL Label */
  return ((char const   *)"corrupt reftable file");
  case_neg_4: /* CIL Label */
  return ((char const   *)"file does not exist");
  case_neg_5: /* CIL Label */
  return ((char const   *)"data is outdated");
  case_neg_6: /* CIL Label */
  return ((char const   *)"misuse of the reftable API");
  case_neg_7: /* CIL Label */
  return ((char const   *)"zlib failure");
  case_neg_9: /* CIL Label */
  return ((char const   *)"file/directory conflict");
  case_neg_8: /* CIL Label */
  return ((char const   *)"wrote empty table");
  case_neg_10: /* CIL Label */
  return ((char const   *)"invalid refname");
  case_neg_11: /* CIL Label */
  return ((char const   *)"entry too large");
  case_neg_1: /* CIL Label */
  return ((char const   *)"general error");
  switch_default: /* CIL Label */
  snprintf(buf___14, sizeof(buf___14), (char const   *)"unknown error code %d", err___4);
  return ((char const   *)(buf___14));
  switch_break: /* CIL Label */ ;
  }
}
}
uint8_t *reftable_ref_record_val1(struct reftable_ref_record *rec ) ;
uint8_t *reftable_ref_record_val2(struct reftable_ref_record *rec ) ;
int reftable_ref_record_is_deletion(struct reftable_ref_record  const  *ref ) ;
void reftable_ref_record_print(struct reftable_ref_record *ref , uint32_t hash_id ) ;
void reftable_ref_record_release(struct reftable_ref_record *ref ) ;
int reftable_ref_record_equal(struct reftable_ref_record *a , struct reftable_ref_record *b___0 ,
                              int hash_size___0 ) ;
int reftable_log_record_is_deletion(struct reftable_log_record  const  *log ) ;
void reftable_log_record_release(struct reftable_log_record *r ) ;
int reftable_log_record_equal(struct reftable_log_record *a , struct reftable_log_record *b___0 ,
                              int hash_size___0 ) ;
void reftable_log_record_print(struct reftable_log_record *log , uint32_t hash_id ) ;
void string_view_consume(struct string_view *s___1 , int n ) ;
int get_var_int(uint64_t *dest , struct string_view *in ) ;
int put_var_int(struct string_view *dest , uint64_t val ) ;
int reftable_is_block_type(uint8_t typ ) ;
struct reftable_record reftable_new_record(uint8_t typ ) ;
int reftable_encode_key(int *restart , struct string_view dest , struct strbuf prev_key ,
                        struct strbuf key___1 , uint8_t extra___2 ) ;
int reftable_decode_key(struct strbuf *key___1 , uint8_t *extra___2 , struct strbuf last_key ,
                        struct string_view in ) ;
void reftable_record_key(struct reftable_record *rec , struct strbuf *dest ) ;
uint8_t reftable_record_type(struct reftable_record *rec ) ;
void reftable_record_copy_from(struct reftable_record *rec , struct reftable_record *src ,
                               int hash_size___0 ) ;
uint8_t reftable_record_val_type(struct reftable_record *rec ) ;
int reftable_record_encode(struct reftable_record *rec , struct string_view dest ,
                           int hash_size___0 ) ;
int reftable_record_decode(struct reftable_record *rec , struct strbuf key___1 , uint8_t extra___2 ,
                           struct string_view src , int hash_size___0 ) ;
int reftable_record_is_deletion(struct reftable_record *rec ) ;
void reftable_record_release(struct reftable_record *rec ) ;
void reftable_record_destroy(struct reftable_record *rec ) ;
void reftable_record_from_obj(struct reftable_record *rec , struct reftable_obj_record *obj_rec ) ;
void reftable_record_from_index(struct reftable_record *rec , struct reftable_index_record *index_rec ) ;
void reftable_record_from_ref(struct reftable_record *rec , struct reftable_ref_record *ref_rec ) ;
void reftable_record_from_log(struct reftable_record *rec , struct reftable_log_record *log_rec ) ;
struct reftable_ref_record *reftable_record_as_ref(struct reftable_record *rec ) ;
struct reftable_log_record *reftable_record_as_log(struct reftable_record *rec ) ;
int reftable_ref_record_compare_name(void const   *a , void const   *b___0 ) ;
int reftable_log_record_compare_key(void const   *a , void const   *b___0 ) ;
int reftable_block_source_from_file(struct reftable_block_source *bs , char const   *name___0 ) ;
void block_writer_init(struct block_writer *bw , uint8_t typ , uint8_t *buf___19 ,
                       uint32_t block_size , uint32_t header_off , int hash_size___0 ) ;
uint8_t block_writer_type(struct block_writer *bw ) ;
int block_writer_add(struct block_writer *w , struct reftable_record *rec ) ;
int block_writer_finish(struct block_writer *w ) ;
void block_writer_release(struct block_writer *bw ) ;
int block_reader_init(struct block_reader *br , struct reftable_block *block___0 ,
                      uint32_t header_off , uint32_t table_block_size , int hash_size___0 ) ;
void block_reader_start(struct block_reader *br , struct block_iter *it ) ;
int block_reader_seek(struct block_reader *br , struct block_iter *it , struct strbuf *want ) ;
uint8_t block_reader_type(struct block_reader *r ) ;
int block_reader_first_key(struct block_reader *br , struct strbuf *key___1 ) ;
void block_iter_copy_from(struct block_iter *dest , struct block_iter *src ) ;
int block_iter_next(struct block_iter *it , struct reftable_record *rec ) ;
int block_iter_seek(struct block_iter *it , struct strbuf *want ) ;
void block_iter_close(struct block_iter *it ) ;
int header_size(int version___0 ) ;
int footer_size(int version___0 ) ;
void reftable_block_done(struct reftable_block *blockp ) ;
void block_source_from_strbuf(struct reftable_block_source *bs , struct strbuf *buf___19 ) ;
struct reftable_block_source malloc_block_source(void) ;
int header_size(int version___0 )
{


  {
  {
  if (version___0 == 1) {
    goto case_1;
  }
  if (version___0 == 2) {
    goto case_2;
  }
  goto switch_break;
  case_1: /* CIL Label */
  return (24);
  case_2: /* CIL Label */
  return (28);
  switch_break: /* CIL Label */ ;
  }
  abort();
}
}
int footer_size(int version___0 )
{


  {
  {
  if (version___0 == 1) {
    goto case_1;
  }
  if (version___0 == 2) {
    goto case_2;
  }
  goto switch_break;
  case_1: /* CIL Label */
  return (68);
  case_2: /* CIL Label */
  return (72);
  switch_break: /* CIL Label */ ;
  }
  abort();
}
}
static int block_writer_register_restart(struct block_writer *w , int n , int is_restart ,
                                         struct strbuf *key___1 )
{
  int rlen ;
  void *tmp ;
  uint32_t tmp___0 ;

  {
  rlen = (int )w->restart_len;
  if (rlen >= (1 << 16) - 1) {
    is_restart = 0;
  }
  if (is_restart) {
    rlen ++;
  }
  if ((uint32_t )((2 + 3 * rlen) + n) > w->block_size - w->next) {
    return (-1);
  }
  if (is_restart) {
    if (w->restart_len == w->restart_cap) {
      w->restart_cap = w->restart_cap * 2U + 1U;
      tmp = reftable_realloc((void *)w->restarts, sizeof(uint32_t ) * (unsigned long )w->restart_cap);
      w->restarts = (uint32_t *)tmp;
    }
    tmp___0 = w->restart_len;
    (w->restart_len) ++;
    *(w->restarts + tmp___0) = w->next;
  }
  w->next += (uint32_t )n;
  strbuf_setlen___33(& w->last_key, (size_t )0);
  strbuf_addbuf(& w->last_key, (struct strbuf  const  *)key___1);
  (w->entries) ++;
  return (0);
}
}
void block_writer_init(struct block_writer *bw , uint8_t typ , uint8_t *buf___19 ,
                       uint32_t block_size , uint32_t header_off , int hash_size___0 )
{


  {
  bw->buf = buf___19;
  bw->hash_size = hash_size___0;
  bw->block_size = block_size;
  bw->header_off = header_off;
  *(bw->buf + header_off) = typ;
  bw->next = header_off + 4U;
  bw->restart_interval = 16;
  bw->entries = 0;
  bw->restart_len = (uint32_t )0;
  bw->last_key.len = (size_t )0;
  return;
}
}
uint8_t block_writer_type(struct block_writer *bw )
{


  {
  return (*(bw->buf + bw->header_off));
}
}
int block_writer_add(struct block_writer *w , struct reftable_record *rec )
{
  struct strbuf empty ;
  struct strbuf last ;
  struct strbuf tmp ;
  struct string_view out ;
  struct string_view start ;
  int is_restart ;
  struct strbuf key___1 ;
  int n ;
  uint8_t tmp___0 ;
  int tmp___1 ;

  {
  empty.alloc = 0UL;
  empty.len = 0UL;
  empty.buf = strbuf_slopbuf;
  if (w->entries % w->restart_interval == 0) {
    tmp = empty;
  } else {
    tmp = w->last_key;
  }
  last = tmp;
  out.buf = w->buf + w->next;
  out.len = (size_t )(w->block_size - w->next);
  start = out;
  is_restart = 0;
  key___1.alloc = 0UL;
  key___1.len = 0UL;
  key___1.buf = strbuf_slopbuf;
  n = 0;
  reftable_record_key(rec, & key___1);
  tmp___0 = reftable_record_val_type(rec);
  n = reftable_encode_key(& is_restart, out, last, key___1, tmp___0);
  if (n < 0) {
    goto done;
  }
  string_view_consume(& out, n);
  n = reftable_record_encode(rec, out, w->hash_size);
  if (n < 0) {
    goto done;
  }
  string_view_consume(& out, n);
  tmp___1 = block_writer_register_restart(w, (int )(start.len - out.len), is_restart,
                                          & key___1);
  if (tmp___1 < 0) {
    goto done;
  }
  strbuf_release(& key___1);
  return (0);
  done:
  strbuf_release(& key___1);
  return (-1);
}
}
int block_writer_finish(struct block_writer *w )
{
  int i ;
  int block_header_skip ;
  uLongf src_len ;
  uLongf dest_cap ;
  uint8_t *compressed ;
  void *tmp ;
  uLongf out_dest_len ;
  int zresult ;
  int tmp___0 ;
  void *tmp___1 ;
  uint8_t tmp___2 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((uint32_t )i < w->restart_len)) {
      goto while_break;
    }
    put_be24(w->buf + w->next, *(w->restarts + i));
    w->next += 3U;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  put_be16(w->buf + w->next, (uint16_t )w->restart_len);
  w->next += 2U;
  put_be24((w->buf + 1) + w->header_off, w->next);
  tmp___2 = block_writer_type(w);
  if ((int )tmp___2 == 103) {
    block_header_skip = (int )(4U + w->header_off);
    src_len = (uLongf )(w->next - (uint32_t )block_header_skip);
    dest_cap = (uLongf )((double )src_len * 1.001 + (double )12);
    tmp = reftable_malloc(dest_cap);
    compressed = (uint8_t *)tmp;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      out_dest_len = dest_cap;
      tmp___0 = compress2(compressed, & out_dest_len, (Bytef const   *)(w->buf + block_header_skip),
                          src_len, 9);
      zresult = tmp___0;
      if (zresult == -5) {
        if (dest_cap < 9223372036854775807UL) {
          dest_cap *= 2UL;
          tmp___1 = reftable_realloc((void *)compressed, dest_cap);
          compressed = (uint8_t *)tmp___1;
          if (compressed) {
            goto while_continue___0;
          }
        }
      }
      if (0 != zresult) {
        reftable_free((void *)compressed);
        return (-7);
      }
      memcpy((void *)(w->buf + block_header_skip), (void const   *)compressed, out_dest_len);
      w->next = (uint32_t )(out_dest_len + (uLongf )block_header_skip);
      reftable_free((void *)compressed);
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  return ((int )w->next);
}
}
uint8_t block_reader_type(struct block_reader *r )
{


  {
  return (*(r->block.data + r->header_off));
}
}
int block_reader_init(struct block_reader *br , struct reftable_block *block___0 ,
                      uint32_t header_off , uint32_t table_block_size , int hash_size___0 )
{
  uint32_t full_block_size ;
  uint8_t typ ;
  uint32_t sz ;
  uint32_t tmp ;
  uint16_t restart_count ;
  uint32_t restart_start ;
  uint8_t *restart_bytes ;
  int tmp___0 ;
  int block_header_skip ;
  uLongf dst_len ;
  uLongf src_len ;
  uint8_t *uncompressed ;
  void *tmp___1 ;
  int tmp___2 ;

  {
  full_block_size = table_block_size;
  typ = *(block___0->data + header_off);
  tmp = get_be24((block___0->data + header_off) + 1);
  sz = tmp;
  restart_count = (uint16_t )0;
  restart_start = (uint32_t )0;
  restart_bytes = (uint8_t *)((void *)0);
  tmp___0 = reftable_is_block_type(typ);
  if (! tmp___0) {
    return (-3);
  }
  if ((int )typ == 103) {
    block_header_skip = (int )(4U + header_off);
    dst_len = (uLongf )(sz - (uint32_t )block_header_skip);
    src_len = (uLongf )(block___0->len - block_header_skip);
    tmp___1 = reftable_malloc((size_t )sz);
    uncompressed = (uint8_t *)tmp___1;
    memcpy((void *)uncompressed, (void const   *)block___0->data, (size_t )block_header_skip);
    tmp___2 = uncompress2(uncompressed + block_header_skip, & dst_len, (Bytef const   *)(block___0->data + block_header_skip),
                          & src_len);
    if (0 != tmp___2) {
      reftable_free((void *)uncompressed);
      return (-7);
    }
    if (dst_len + (uLongf )block_header_skip != (uLongf )sz) {
      return (-3);
    }
    reftable_block_done(block___0);
    block___0->data = uncompressed;
    block___0->len = (int )sz;
    block___0->source = malloc_block_source();
    full_block_size = (uint32_t )(src_len + (uLongf )block_header_skip);
  } else
  if (full_block_size == 0U) {
    full_block_size = sz;
  } else
  if (sz < full_block_size) {
    if (sz < (uint32_t )block___0->len) {
      if ((int )*(block___0->data + sz) != 0) {
        full_block_size = sz;
      }
    }
  }
  restart_count = get_be16((void const   *)((block___0->data + sz) - 2));
  restart_start = (sz - 2U) - (uint32_t )(3 * (int )restart_count);
  restart_bytes = block___0->data + restart_start;
  br->block = *block___0;
  block___0->data = (uint8_t *)((void *)0);
  block___0->len = 0;
  br->hash_size = hash_size___0;
  br->block_len = restart_start;
  br->full_block_size = full_block_size;
  br->header_off = header_off;
  br->restart_count = restart_count;
  br->restart_bytes = restart_bytes;
  return (0);
}
}
static uint32_t block_reader_restart_offset(struct block_reader *br , int i )
{
  uint32_t tmp ;

  {
  tmp = get_be24(br->restart_bytes + 3 * i);
  return (tmp);
}
}
void block_reader_start(struct block_reader *br , struct block_iter *it )
{


  {
  it->br = br;
  strbuf_setlen___33(& it->last_key, (size_t )0);
  it->next_off = br->header_off + 4U;
  return;
}
}
static int restart_key_less(size_t idx___0 , void *args___0 )
{
  struct restart_find_args *a ;
  uint32_t off ;
  uint32_t tmp ;
  struct string_view in ;
  struct strbuf rkey ;
  struct strbuf last_key ;
  uint8_t unused_extra ;
  int n ;
  int tmp___0 ;
  int result___0 ;

  {
  a = (struct restart_find_args *)args___0;
  tmp = block_reader_restart_offset(a->r, (int )idx___0);
  off = tmp;
  in.buf = (a->r)->block.data + off;
  in.len = (size_t )((a->r)->block_len - off);
  rkey.alloc = 0UL;
  rkey.len = 0UL;
  rkey.buf = strbuf_slopbuf;
  last_key.alloc = 0UL;
  last_key.len = 0UL;
  last_key.buf = strbuf_slopbuf;
  tmp___0 = reftable_decode_key(& rkey, & unused_extra, last_key, in);
  n = tmp___0;
  if (n < 0) {
    a->error = 1;
    return (-1);
  }
  result___0 = strbuf_cmp((struct strbuf  const  *)(& a->key), (struct strbuf  const  *)(& rkey));
  strbuf_release(& rkey);
  return (result___0);
}
}
void block_iter_copy_from(struct block_iter *dest , struct block_iter *src )
{


  {
  dest->br = src->br;
  dest->next_off = src->next_off;
  strbuf_setlen___33(& dest->last_key, (size_t )0);
  strbuf_addbuf(& dest->last_key, (struct strbuf  const  *)(& src->last_key));
  return;
}
}
int block_iter_next(struct block_iter *it , struct reftable_record *rec )
{
  struct string_view in ;
  struct string_view start ;
  struct strbuf key___1 ;
  uint8_t extra___2 ;
  int n ;

  {
  in.buf = (it->br)->block.data + it->next_off;
  in.len = (size_t )((it->br)->block_len - it->next_off);
  start = in;
  key___1.alloc = 0UL;
  key___1.len = 0UL;
  key___1.buf = strbuf_slopbuf;
  extra___2 = (uint8_t )0;
  n = 0;
  if (it->next_off >= (it->br)->block_len) {
    return (1);
  }
  n = reftable_decode_key(& key___1, & extra___2, it->last_key, in);
  if (n < 0) {
    return (-1);
  }
  string_view_consume(& in, n);
  n = reftable_record_decode(rec, key___1, extra___2, in, (it->br)->hash_size);
  if (n < 0) {
    return (-1);
  }
  string_view_consume(& in, n);
  strbuf_setlen___33(& it->last_key, (size_t )0);
  strbuf_addbuf(& it->last_key, (struct strbuf  const  *)(& key___1));
  it->next_off = (uint32_t )((size_t )it->next_off + (start.len - in.len));
  strbuf_release(& key___1);
  return (0);
}
}
int block_reader_first_key(struct block_reader *br , struct strbuf *key___1 )
{
  struct strbuf empty ;
  int off ;
  struct string_view in ;
  uint8_t extra___2 ;
  int n ;
  int tmp ;

  {
  empty.alloc = 0UL;
  empty.len = 0UL;
  empty.buf = strbuf_slopbuf;
  off = (int )(br->header_off + 4U);
  in.buf = br->block.data + off;
  in.len = (size_t )(br->block_len - (uint32_t )off);
  extra___2 = (uint8_t )0;
  tmp = reftable_decode_key(key___1, & extra___2, empty, in);
  n = tmp;
  if (n < 0) {
    return (n);
  }
  return (0);
}
}
int block_iter_seek(struct block_iter *it , struct strbuf *want )
{
  int tmp ;

  {
  tmp = block_reader_seek(it->br, it, want);
  return (tmp);
}
}
void block_iter_close(struct block_iter *it )
{


  {
  strbuf_release(& it->last_key);
  return;
}
}
int block_reader_seek(struct block_reader *br , struct block_iter *it , struct strbuf *want )
{
  struct restart_find_args args___0 ;
  struct reftable_record rec ;
  uint8_t tmp ;
  struct reftable_record tmp___0 ;
  struct strbuf key___1 ;
  int err___4 ;
  struct block_iter next___2 ;
  int i ;
  int tmp___1 ;
  int tmp___2 ;

  {
  args___0.error = 0;
  args___0.key = *want;
  args___0.r = br;
  tmp = block_reader_type(br);
  tmp___0 = reftable_new_record(tmp);
  rec = tmp___0;
  key___1.alloc = 0UL;
  key___1.len = 0UL;
  key___1.buf = strbuf_slopbuf;
  err___4 = 0;
  next___2.next_off = 0U;
  next___2.br = (struct block_reader *)0;
  next___2.last_key.alloc = 0UL;
  next___2.last_key.len = 0UL;
  next___2.last_key.buf = strbuf_slopbuf;
  tmp___1 = binsearch((size_t )br->restart_count, & restart_key_less, (void *)(& args___0));
  i = tmp___1;
  if (args___0.error) {
    err___4 = -3;
    goto done;
  }
  it->br = br;
  if (i > 0) {
    i --;
    it->next_off = block_reader_restart_offset(br, i);
  } else {
    it->next_off = br->header_off + 4U;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    block_iter_copy_from(& next___2, it);
    err___4 = block_iter_next(& next___2, & rec);
    if (err___4 < 0) {
      goto done;
    }
    reftable_record_key(& rec, & key___1);
    if (err___4 > 0) {
      err___4 = 0;
      goto done;
    } else {
      tmp___2 = strbuf_cmp((struct strbuf  const  *)(& key___1), (struct strbuf  const  *)want);
      if (tmp___2 >= 0) {
        err___4 = 0;
        goto done;
      }
    }
    block_iter_copy_from(it, & next___2);
  }
  while_break: /* CIL Label */ ;
  }
  done:
  strbuf_release(& key___1);
  strbuf_release(& next___2.last_key);
  reftable_record_destroy(& rec);
  return (err___4);
}
}
void block_writer_release(struct block_writer *bw )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)bw->restarts);
    bw->restarts = (uint32_t *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& bw->last_key);
  return;
}
}
void reftable_block_done(struct reftable_block *blockp )
{
  struct reftable_block_source source ;

  {
  source = blockp->source;
  if (blockp) {
    if (source.ops) {
      (*((source.ops)->return_block))(source.arg, blockp);
    }
  }
  blockp->data = (uint8_t *)((void *)0);
  blockp->len = 0;
  blockp->source.ops = (struct reftable_block_source_vtable *)((void *)0);
  blockp->source.arg = (void *)0;
  return;
}
}
static void strbuf_return_block(void *b___0 , struct reftable_block *dest )
{


  {
  memset((void *)dest->data, 0xff, (size_t )dest->len);
  reftable_free((void *)dest->data);
  return;
}
}
static void strbuf_close(void *b___0 )
{


  {
  return;
}
}
static int strbuf_read_block(void *v , struct reftable_block *dest , uint64_t off ,
                             uint32_t size )
{
  struct strbuf *b___0 ;
  void *tmp ;

  {
  b___0 = (struct strbuf *)v;
  assert(off + (uint64_t )size <= b___0->len);
  tmp = reftable_calloc((size_t )size);
  dest->data = (uint8_t *)tmp;
  memcpy((void *)dest->data, (void const   *)(b___0->buf + off), (size_t )size);
  dest->len = (int )size;
  return ((int )size);
}
}
static uint64_t strbuf_size(void *b___0 )
{


  {
  return (((struct strbuf *)b___0)->len);
}
}
static struct reftable_block_source_vtable strbuf_vtable  =    {& strbuf_size, & strbuf_read_block, & strbuf_return_block, & strbuf_close};
void block_source_from_strbuf(struct reftable_block_source *bs , struct strbuf *buf___19 )
{


  {
  assert(! bs->ops);
  bs->ops = & strbuf_vtable;
  bs->arg = (void *)buf___19;
  return;
}
}
static void malloc_return_block(void *b___0 , struct reftable_block *dest )
{


  {
  memset((void *)dest->data, 0xff, (size_t )dest->len);
  reftable_free((void *)dest->data);
  return;
}
}
static struct reftable_block_source_vtable malloc_vtable  =    {(uint64_t (*)(void *source ))0, (int (*)(void *source , struct reftable_block *dest ,
                                             uint64_t off , uint32_t size ))0, & malloc_return_block,
    (void (*)(void *source ))0};
static struct reftable_block_source malloc_block_source_instance  =    {& malloc_vtable, (void *)0};
struct reftable_block_source malloc_block_source(void)
{


  {
  return (malloc_block_source_instance);
}
}
static uint64_t file_size(void *b___0 )
{


  {
  return (((struct file_block_source *)b___0)->size);
}
}
static void file_return_block(void *b___0 , struct reftable_block *dest )
{


  {
  memset((void *)dest->data, 0xff, (size_t )dest->len);
  reftable_free((void *)dest->data);
  return;
}
}
static void file_close(void *b___0 )
{
  int fd ;

  {
  fd = ((struct file_block_source *)b___0)->fd;
  if (fd > 0) {
    close(fd);
    ((struct file_block_source *)b___0)->fd = 0;
  }
  reftable_free(b___0);
  return;
}
}
static int file_read_block(void *v , struct reftable_block *dest , uint64_t off ,
                           uint32_t size )
{
  struct file_block_source *b___0 ;
  void *tmp ;
  ssize_t tmp___0 ;

  {
  b___0 = (struct file_block_source *)v;
  assert(off + (uint64_t )size <= b___0->size);
  tmp = reftable_malloc((size_t )size);
  dest->data = (uint8_t *)tmp;
  tmp___0 = pread(b___0->fd, (void *)dest->data, (size_t )size, (__off_t )off);
  if (tmp___0 != (ssize_t )size) {
    return (-1);
  }
  dest->len = (int )size;
  return ((int )size);
}
}
static struct reftable_block_source_vtable file_vtable  =    {& file_size, & file_read_block, & file_return_block, & file_close};
int reftable_block_source_from_file(struct reftable_block_source *bs , char const   *name___0 )
{
  struct stat st ;
  int err___4 ;
  int fd ;
  int tmp ;
  struct file_block_source *p___0 ;
  int *tmp___0 ;
  void *tmp___1 ;

  {
  st.st_dev = (__dev_t )0;
  st.st_ino = 0UL;
  st.st_nlink = 0UL;
  st.st_mode = 0U;
  st.st_uid = 0U;
  st.st_gid = 0U;
  st.__pad0 = 0;
  st.st_rdev = 0UL;
  st.st_size = 0L;
  st.st_blksize = 0L;
  st.st_blocks = 0L;
  st.st_atim.tv_sec = 0L;
  st.st_atim.tv_nsec = 0L;
  st.st_mtim.tv_sec = 0L;
  st.st_mtim.tv_nsec = 0L;
  st.st_ctim.tv_sec = 0L;
  st.st_ctim.tv_nsec = 0L;
  st.__glibc_reserved[0] = 0L;
  st.__glibc_reserved[1] = 0L;
  st.__glibc_reserved[2] = 0L;
  err___4 = 0;
  tmp = open(name___0, 00);
  fd = tmp;
  p___0 = (struct file_block_source *)((void *)0);
  if (fd < 0) {
    tmp___0 = __errno_location();
    if (*tmp___0 == 2) {
      return (-4);
    }
    return (-1);
  }
  err___4 = fstat(fd, & st);
  if (err___4 < 0) {
    return (-1);
  }
  tmp___1 = reftable_calloc(sizeof(struct file_block_source ));
  p___0 = (struct file_block_source *)tmp___1;
  p___0->size = (uint64_t )st.st_size;
  p___0->fd = fd;
  assert(! bs->ops);
  bs->ops = & file_vtable;
  bs->arg = (void *)p___0;
  return (0);
}
}
int reftable_iterator_next_ref(struct reftable_iterator *it , struct reftable_ref_record *ref ) ;
int reftable_iterator_next_log(struct reftable_iterator *it , struct reftable_log_record *log ) ;
void reftable_iterator_destroy(struct reftable_iterator *it ) ;
int reftable_table_seek_log(struct reftable_table *tab , struct reftable_iterator *it ,
                            char const   *name___0 ) ;
int reftable_table_seek_ref(struct reftable_table *tab , struct reftable_iterator *it ,
                            char const   *name___0 ) ;
uint32_t reftable_table_hash_id(struct reftable_table *tab ) ;
uint64_t reftable_table_max_update_index(struct reftable_table *tab ) ;
uint64_t reftable_table_min_update_index(struct reftable_table *tab ) ;
int reftable_table_read_ref(struct reftable_table *tab , char const   *name___0 ,
                            struct reftable_ref_record *ref ) ;
int reftable_table_print(struct reftable_table *tab ) ;
int iterator_is_null(struct reftable_iterator *it ) ;
void iterator_from_filtering_ref_iterator(struct reftable_iterator *it , struct filtering_ref_iterator *fri ) ;
void iterator_from_indexed_table_ref_iter(struct reftable_iterator *it , struct indexed_table_ref_iter *itr ) ;
int new_indexed_table_ref_iter(struct indexed_table_ref_iter **dest , struct reftable_reader *r ,
                               uint8_t *oid , int oid_len , uint64_t *offsets , int offset_len ) ;
void iterator_set_empty(struct reftable_iterator *it ) ;
int iterator_next(struct reftable_iterator *it , struct reftable_record *rec ) ;
int reftable_new_reader(struct reftable_reader **p___0 , struct reftable_block_source *src ,
                        char const   *name___0 ) ;
int reftable_reader_seek_ref(struct reftable_reader *r , struct reftable_iterator *it ,
                             char const   *name___0 ) ;
uint32_t reftable_reader_hash_id(struct reftable_reader *r ) ;
int reftable_reader_seek_log_at(struct reftable_reader *r , struct reftable_iterator *it ,
                                char const   *name___0 , uint64_t update_index___0 ) ;
int reftable_reader_seek_log(struct reftable_reader *r , struct reftable_iterator *it ,
                             char const   *name___0 ) ;
void reftable_reader_free(struct reftable_reader *r ) ;
int reftable_reader_refs_for(struct reftable_reader *r , struct reftable_iterator *it ,
                             uint8_t *oid ) ;
uint64_t reftable_reader_max_update_index(struct reftable_reader *r ) ;
uint64_t reftable_reader_min_update_index(struct reftable_reader *r ) ;
void reftable_table_from_reader(struct reftable_table *tab , struct reftable_reader *reader ) ;
int reftable_reader_print_file(char const   *tablename ) ;
uint64_t block_source_size(struct reftable_block_source *source ) ;
int block_source_read_block(struct reftable_block_source *source , struct reftable_block *dest ,
                            uint64_t off , uint32_t size ) ;
void block_source_close(struct reftable_block_source *source ) ;
int init_reader(struct reftable_reader *r , struct reftable_block_source *source ,
                char const   *name___0 ) ;
void reader_close(struct reftable_reader *r ) ;
char const   *reader_name(struct reftable_reader *r ) ;
int reader_init_block_reader(struct reftable_reader *r , struct block_reader *br ,
                             uint64_t next_off , uint8_t want_typ ) ;
int iterator_is_null(struct reftable_iterator *it )
{


  {
  return (! it->ops);
}
}
static void filtering_ref_iterator_close(void *iter_arg )
{
  struct filtering_ref_iterator *fri ;

  {
  fri = (struct filtering_ref_iterator *)iter_arg;
  strbuf_release(& fri->oid);
  reftable_iterator_destroy(& fri->it);
  return;
}
}
static int filtering_ref_iterator_next(void *iter_arg , struct reftable_record *rec )
{
  struct filtering_ref_iterator *fri ;
  struct reftable_ref_record *ref ;
  int err___4 ;
  struct reftable_iterator it ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  fri = (struct filtering_ref_iterator *)iter_arg;
  ref = (struct reftable_ref_record *)rec->data;
  err___4 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    err___4 = reftable_iterator_next_ref(& fri->it, ref);
    if (err___4 != 0) {
      goto while_break;
    }
    if (fri->double_check) {
      it.ops = (struct reftable_iterator_vtable *)((void *)0);
      it.iter_arg = (void *)0;
      err___4 = reftable_table_seek_ref(& fri->tab, & it, (char const   *)ref->refname);
      if (err___4 == 0) {
        err___4 = reftable_iterator_next_ref(& it, ref);
      }
      reftable_iterator_destroy(& it);
      if (err___4 < 0) {
        goto while_break;
      }
      if (err___4 > 0) {
        goto while_continue;
      }
    }
    if ((unsigned int )ref->value_type == 2U) {
      tmp = memcmp((void const   *)fri->oid.buf, (void const   *)ref->value.val2.target_value,
                   fri->oid.len);
      if (tmp) {
        tmp___0 = memcmp((void const   *)fri->oid.buf, (void const   *)ref->value.val2.value,
                         fri->oid.len);
        if (! tmp___0) {
          return (0);
        }
      } else {
        return (0);
      }
    }
    if ((unsigned int )ref->value_type == 1U) {
      tmp___1 = memcmp((void const   *)fri->oid.buf, (void const   *)ref->value.val1,
                       fri->oid.len);
      if (! tmp___1) {
        return (0);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  reftable_ref_record_release(ref);
  return (err___4);
}
}
static struct reftable_iterator_vtable filtering_ref_iterator_vtable  =    {& filtering_ref_iterator_next, & filtering_ref_iterator_close};
void iterator_from_filtering_ref_iterator(struct reftable_iterator *it , struct filtering_ref_iterator *fri )
{


  {
  assert(! it->ops);
  it->iter_arg = (void *)fri;
  it->ops = & filtering_ref_iterator_vtable;
  return;
}
}
static void indexed_table_ref_iter_close(void *p___0 )
{
  struct indexed_table_ref_iter *it ;

  {
  it = (struct indexed_table_ref_iter *)p___0;
  block_iter_close(& it->cur);
  reftable_block_done(& it->block_reader.block);
  reftable_free((void *)it->offsets);
  strbuf_release(& it->oid);
  return;
}
}
static int indexed_table_ref_iter_next_block(struct indexed_table_ref_iter *it )
{
  uint64_t off ;
  int err___4 ;
  int tmp ;

  {
  err___4 = 0;
  if (it->offset_idx == it->offset_len) {
    it->is_finished = 1;
    return (1);
  }
  reftable_block_done(& it->block_reader.block);
  tmp = it->offset_idx;
  (it->offset_idx) ++;
  off = *(it->offsets + tmp);
  err___4 = reader_init_block_reader(it->r, & it->block_reader, off, (uint8_t )'r');
  if (err___4 < 0) {
    return (err___4);
  }
  if (err___4 > 0) {
    return (-3);
  }
  block_reader_start(& it->block_reader, & it->cur);
  return (0);
}
}
static int indexed_table_ref_iter_next(void *p___0 , struct reftable_record *rec )
{
  struct indexed_table_ref_iter *it ;
  struct reftable_ref_record *ref ;
  int err___4 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  it = (struct indexed_table_ref_iter *)p___0;
  ref = (struct reftable_ref_record *)rec->data;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = block_iter_next(& it->cur, rec);
    err___4 = tmp;
    if (err___4 < 0) {
      return (err___4);
    }
    if (err___4 > 0) {
      err___4 = indexed_table_ref_iter_next_block(it);
      if (err___4 < 0) {
        return (err___4);
      }
      if (it->is_finished) {
        return (1);
      }
      goto while_continue;
    }
    tmp___0 = memcmp((void const   *)it->oid.buf, (void const   *)ref->value.val2.target_value,
                     it->oid.len);
    if (tmp___0) {
      tmp___1 = memcmp((void const   *)it->oid.buf, (void const   *)ref->value.val2.value,
                       it->oid.len);
      if (! tmp___1) {
        return (0);
      }
    } else {
      return (0);
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
int new_indexed_table_ref_iter(struct indexed_table_ref_iter **dest , struct reftable_reader *r ,
                               uint8_t *oid , int oid_len , uint64_t *offsets , int offset_len )
{
  struct indexed_table_ref_iter empty ;
  struct indexed_table_ref_iter *itr ;
  void *tmp ;
  int err___4 ;

  {
  empty.r = (struct reftable_reader *)0;
  empty.oid.alloc = 0UL;
  empty.oid.len = 0UL;
  empty.oid.buf = strbuf_slopbuf;
  empty.offsets = (uint64_t *)0;
  empty.offset_idx = 0;
  empty.offset_len = 0;
  empty.block_reader.header_off = 0U;
  empty.block_reader.block.data = (uint8_t *)0;
  empty.block_reader.block.len = 0;
  empty.block_reader.block.source.ops = (struct reftable_block_source_vtable *)0;
  empty.block_reader.block.source.arg = (void *)0;
  empty.block_reader.hash_size = 0;
  empty.block_reader.block_len = 0U;
  empty.block_reader.restart_bytes = (uint8_t *)0;
  empty.block_reader.restart_count = (unsigned short)0;
  empty.block_reader.full_block_size = 0U;
  empty.cur.next_off = 0U;
  empty.cur.br = (struct block_reader *)0;
  empty.cur.last_key.alloc = 0UL;
  empty.cur.last_key.len = 0UL;
  empty.cur.last_key.buf = strbuf_slopbuf;
  empty.is_finished = 0;
  tmp = reftable_calloc(sizeof(struct indexed_table_ref_iter ));
  itr = (struct indexed_table_ref_iter *)tmp;
  err___4 = 0;
  *itr = empty;
  itr->r = r;
  strbuf_add(& itr->oid, (void const   *)oid, (size_t )oid_len);
  itr->offsets = offsets;
  itr->offset_len = offset_len;
  err___4 = indexed_table_ref_iter_next_block(itr);
  if (err___4 < 0) {
    reftable_free((void *)itr);
  } else {
    *dest = itr;
  }
  return (err___4);
}
}
static struct reftable_iterator_vtable indexed_table_ref_iter_vtable  =    {& indexed_table_ref_iter_next, & indexed_table_ref_iter_close};
void iterator_from_indexed_table_ref_iter(struct reftable_iterator *it , struct indexed_table_ref_iter *itr )
{


  {
  assert(! it->ops);
  it->iter_arg = (void *)itr;
  it->ops = & indexed_table_ref_iter_vtable;
  return;
}
}
void reftable_set_alloc(void *(*malloc___0)(size_t  ) , void *(*realloc___0)(void * ,
                                                                             size_t  ) ,
                        void (*free___0)(void * ) ) ;
static void *(*reftable_malloc_ptr)(size_t sz )  ;
static void *(*reftable_realloc_ptr)(void * , size_t  )  ;
static void (*reftable_free_ptr)(void * )  ;
void *reftable_malloc(size_t sz )
{
  void *tmp ;
  void *tmp___0 ;

  {
  if (reftable_malloc_ptr) {
    tmp = (*reftable_malloc_ptr)(sz);
    return (tmp);
  }
  tmp___0 = malloc(sz);
  return (tmp___0);
}
}
void *reftable_realloc(void *p___0 , size_t sz )
{
  void *tmp ;
  void *tmp___0 ;

  {
  if (reftable_realloc_ptr) {
    tmp = (*reftable_realloc_ptr)(p___0, sz);
    return (tmp);
  }
  tmp___0 = realloc(p___0, sz);
  return (tmp___0);
}
}
void reftable_free(void *p___0 )
{


  {
  if (reftable_free_ptr) {
    (*reftable_free_ptr)(p___0);
  } else {
    free(p___0);
  }
  return;
}
}
void *reftable_calloc(size_t sz )
{
  void *p___0 ;
  void *tmp ;

  {
  tmp = reftable_malloc(sz);
  p___0 = tmp;
  memset(p___0, 0, sz);
  return (p___0);
}
}
void reftable_set_alloc(void *(*malloc___0)(size_t  ) , void *(*realloc___0)(void * ,
                                                                             size_t  ) ,
                        void (*free___0)(void * ) )
{


  {
  reftable_malloc_ptr = malloc___0;
  reftable_realloc_ptr = realloc___0;
  reftable_free_ptr = free___0;
  return;
}
}
int hash_size(uint32_t id )
{


  {
  {
  if (id == 1936220465U) {
    goto case_1936220465;
  }
  if (id == 0U) {
    goto case_1936220465;
  }
  if (id == 1932670262U) {
    goto case_1932670262;
  }
  goto switch_break;
  case_1936220465: /* CIL Label */
  case_0: /* CIL Label */
  return (20);
  case_1932670262: /* CIL Label */
  return (32);
  switch_break: /* CIL Label */ ;
  }
  abort();
}
}
struct pq_entry merged_iter_pqueue_top(struct merged_iter_pqueue pq ) ;
int merged_iter_pqueue_is_empty(struct merged_iter_pqueue pq ) ;
void merged_iter_pqueue_check(struct merged_iter_pqueue pq ) ;
struct pq_entry merged_iter_pqueue_remove(struct merged_iter_pqueue *pq ) ;
void merged_iter_pqueue_add(struct merged_iter_pqueue *pq , struct pq_entry e ) ;
void merged_iter_pqueue_release(struct merged_iter_pqueue *pq ) ;
int pq_less(struct pq_entry *a , struct pq_entry *b___0 ) ;
void merged_table_release(struct reftable_merged_table *mt ) ;
int reftable_new_merged_table(struct reftable_merged_table **dest , struct reftable_table *stack ,
                              int n , uint32_t hash_id ) ;
int reftable_merged_table_seek_ref(struct reftable_merged_table *mt , struct reftable_iterator *it ,
                                   char const   *name___0 ) ;
int reftable_merged_table_seek_log_at(struct reftable_merged_table *mt , struct reftable_iterator *it ,
                                      char const   *name___0 , uint64_t update_index___0 ) ;
int reftable_merged_table_seek_log(struct reftable_merged_table *mt , struct reftable_iterator *it ,
                                   char const   *name___0 ) ;
uint64_t reftable_merged_table_max_update_index(struct reftable_merged_table *mt ) ;
uint64_t reftable_merged_table_min_update_index(struct reftable_merged_table *mt ) ;
void reftable_merged_table_free(struct reftable_merged_table *mt ) ;
uint32_t reftable_merged_table_hash_id(struct reftable_merged_table *mt ) ;
void reftable_table_from_merged_table(struct reftable_table *tab , struct reftable_merged_table *merged ) ;
static int merged_iter_init(struct merged_iter *mi )
{
  int i ;
  struct reftable_record rec ;
  struct reftable_record tmp ;
  int err___4 ;
  int tmp___0 ;
  struct pq_entry e ;

  {
  i = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < mi->stack_len)) {
      goto while_break;
    }
    tmp = reftable_new_record(mi->typ);
    rec = tmp;
    tmp___0 = iterator_next(mi->stack + i, & rec);
    err___4 = tmp___0;
    if (err___4 < 0) {
      return (err___4);
    }
    if (err___4 > 0) {
      reftable_iterator_destroy(mi->stack + i);
      reftable_record_destroy(& rec);
    } else {
      e.index = i;
      e.rec = rec;
      merged_iter_pqueue_add(& mi->pq, e);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void merged_iter_close(void *p___0 )
{
  struct merged_iter *mi ;
  int i ;

  {
  mi = (struct merged_iter *)p___0;
  i = 0;
  merged_iter_pqueue_release(& mi->pq);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < mi->stack_len)) {
      goto while_break;
    }
    reftable_iterator_destroy(mi->stack + i);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  reftable_free((void *)mi->stack);
  return;
}
}
static int merged_iter_advance_nonnull_subiter(struct merged_iter *mi , size_t idx___0 )
{
  struct reftable_record rec ;
  struct reftable_record tmp ;
  struct pq_entry e ;
  int err___4 ;
  int tmp___0 ;

  {
  tmp = reftable_new_record(mi->typ);
  rec = tmp;
  e.index = (int )idx___0;
  e.rec = rec;
  tmp___0 = iterator_next(mi->stack + idx___0, & rec);
  err___4 = tmp___0;
  if (err___4 < 0) {
    return (err___4);
  }
  if (err___4 > 0) {
    reftable_iterator_destroy(mi->stack + idx___0);
    reftable_record_destroy(& rec);
    return (0);
  }
  merged_iter_pqueue_add(& mi->pq, e);
  return (0);
}
}
static int merged_iter_advance_subiter(struct merged_iter *mi , size_t idx___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = iterator_is_null(mi->stack + idx___0);
  if (tmp) {
    return (0);
  }
  tmp___0 = merged_iter_advance_nonnull_subiter(mi, idx___0);
  return (tmp___0);
}
}
static int merged_iter_next_entry(struct merged_iter *mi , struct reftable_record *rec )
{
  struct strbuf entry_key ;
  struct pq_entry entry ;
  int err___4 ;
  int tmp ;
  struct pq_entry top ;
  struct pq_entry tmp___0 ;
  struct strbuf k ;
  int err___5 ;
  int cmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  entry_key.alloc = 0UL;
  entry_key.len = 0UL;
  entry_key.buf = strbuf_slopbuf;
  entry.index = 0;
  entry.rec.data = (void *)0;
  entry.rec.ops = (struct reftable_record_vtable *)0;
  err___4 = 0;
  tmp = merged_iter_pqueue_is_empty(mi->pq);
  if (tmp) {
    return (1);
  }
  entry = merged_iter_pqueue_remove(& mi->pq);
  err___4 = merged_iter_advance_subiter(mi, (size_t )entry.index);
  if (err___4 < 0) {
    return (err___4);
  }
  reftable_record_key(& entry.rec, & entry_key);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = merged_iter_pqueue_is_empty(mi->pq);
    if (tmp___1) {
      goto while_break;
    }
    tmp___0 = merged_iter_pqueue_top(mi->pq);
    top = tmp___0;
    k.alloc = 0UL;
    k.len = 0UL;
    k.buf = strbuf_slopbuf;
    err___5 = 0;
    cmp___0 = 0;
    reftable_record_key(& top.rec, & k);
    cmp___0 = strbuf_cmp((struct strbuf  const  *)(& k), (struct strbuf  const  *)(& entry_key));
    strbuf_release(& k);
    if (cmp___0 > 0) {
      goto while_break;
    }
    merged_iter_pqueue_remove(& mi->pq);
    err___5 = merged_iter_advance_subiter(mi, (size_t )top.index);
    if (err___5 < 0) {
      return (err___5);
    }
    reftable_record_destroy(& top.rec);
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = hash_size(mi->hash_id);
  reftable_record_copy_from(rec, & entry.rec, tmp___2);
  reftable_record_destroy(& entry.rec);
  strbuf_release(& entry_key);
  return (0);
}
}
static int merged_iter_next(struct merged_iter *mi , struct reftable_record *rec )
{
  int err___4 ;
  int tmp ;
  int tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = merged_iter_next_entry(mi, rec);
    err___4 = tmp;
    if (err___4 == 0) {
      if (mi->suppress_deletions) {
        tmp___0 = reftable_record_is_deletion(rec);
        if (tmp___0) {
          goto while_continue;
        }
      }
    }
    return (err___4);
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int merged_iter_next_void(void *p___0 , struct reftable_record *rec )
{
  struct merged_iter *mi ;
  int tmp ;
  int tmp___0 ;

  {
  mi = (struct merged_iter *)p___0;
  tmp = merged_iter_pqueue_is_empty(mi->pq);
  if (tmp) {
    return (1);
  }
  tmp___0 = merged_iter_next(mi, rec);
  return (tmp___0);
}
}
static struct reftable_iterator_vtable merged_iter_vtable  =    {& merged_iter_next_void, & merged_iter_close};
static void iterator_from_merged_iter(struct reftable_iterator *it , struct merged_iter *mi )
{


  {
  assert(! it->ops);
  it->iter_arg = (void *)mi;
  it->ops = & merged_iter_vtable;
  return;
}
}
int reftable_new_merged_table(struct reftable_merged_table **dest , struct reftable_table *stack ,
                              int n , uint32_t hash_id )
{
  struct reftable_merged_table *m ;
  uint64_t last_max ;
  uint64_t first_min ;
  int i ;
  uint64_t min ;
  uint64_t tmp ;
  uint64_t max ;
  uint64_t tmp___0 ;
  uint32_t tmp___1 ;
  void *tmp___2 ;

  {
  m = (struct reftable_merged_table *)((void *)0);
  last_max = (uint64_t )0;
  first_min = (uint64_t )0;
  i = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    tmp = reftable_table_min_update_index(stack + i);
    min = tmp;
    tmp___0 = reftable_table_max_update_index(stack + i);
    max = tmp___0;
    tmp___1 = reftable_table_hash_id(stack + i);
    if (tmp___1 != hash_id) {
      return (-3);
    }
    if (i == 0) {
      first_min = min;
    } else
    if (min < first_min) {
      first_min = min;
    }
    if (i == 0) {
      last_max = max;
    } else
    if (max > last_max) {
      last_max = max;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = reftable_calloc(sizeof(struct reftable_merged_table ));
  m = (struct reftable_merged_table *)tmp___2;
  m->stack = stack;
  m->stack_len = (size_t )n;
  m->min = first_min;
  m->max = last_max;
  m->hash_id = hash_id;
  *dest = m;
  return (0);
}
}
void merged_table_release(struct reftable_merged_table *mt )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)mt->stack);
    mt->stack = (struct reftable_table *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  mt->stack_len = (size_t )0;
  return;
}
}
void reftable_merged_table_free(struct reftable_merged_table *mt )
{


  {
  if (! mt) {
    return;
  }
  merged_table_release(mt);
  reftable_free((void *)mt);
  return;
}
}
uint64_t reftable_merged_table_max_update_index(struct reftable_merged_table *mt )
{


  {
  return (mt->max);
}
}
uint64_t reftable_merged_table_min_update_index(struct reftable_merged_table *mt )
{


  {
  return (mt->min);
}
}
static int reftable_table_seek_record(struct reftable_table *tab , struct reftable_iterator *it ,
                                      struct reftable_record *rec )
{
  int tmp ;

  {
  tmp = (*((tab->ops)->seek_record))(tab->table_arg, it, rec);
  return (tmp);
}
}
static int merged_table_seek_record(struct reftable_merged_table *mt , struct reftable_iterator *it ,
                                    struct reftable_record *rec )
{
  struct reftable_iterator *iters ;
  void *tmp ;
  struct merged_iter merged ;
  uint8_t tmp___0 ;
  int n ;
  int err___4 ;
  int i ;
  int e ;
  int tmp___1 ;
  int i___0 ;
  struct merged_iter *p___0 ;
  void *tmp___2 ;

  {
  tmp = reftable_calloc(sizeof(struct reftable_iterator ) * mt->stack_len);
  iters = (struct reftable_iterator *)tmp;
  tmp___0 = reftable_record_type(rec);
  merged.stack = iters;
  merged.hash_id = mt->hash_id;
  merged.stack_len = 0UL;
  merged.typ = tmp___0;
  merged.suppress_deletions = mt->suppress_deletions;
  merged.pq.heap = (struct pq_entry *)0;
  merged.pq.len = 0UL;
  merged.pq.cap = 0UL;
  n = 0;
  err___4 = 0;
  i = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((size_t )i < mt->stack_len) {
      if (! (err___4 == 0)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___1 = reftable_table_seek_record(mt->stack + i, iters + n, rec);
    e = tmp___1;
    if (e < 0) {
      err___4 = e;
    }
    if (e == 0) {
      n ++;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (err___4 < 0) {
    i___0 = 0;
    i___0 = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i___0 < n)) {
        goto while_break___0;
      }
      reftable_iterator_destroy(iters + i___0);
      i___0 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    reftable_free((void *)iters);
    return (err___4);
  }
  merged.stack_len = (size_t )n;
  err___4 = merged_iter_init(& merged);
  if (err___4 < 0) {
    merged_iter_close((void *)(& merged));
    return (err___4);
  } else {
    tmp___2 = reftable_malloc(sizeof(struct merged_iter ));
    p___0 = (struct merged_iter *)tmp___2;
    *p___0 = merged;
    iterator_from_merged_iter(it, p___0);
  }
  return (0);
}
}
int reftable_merged_table_seek_ref(struct reftable_merged_table *mt , struct reftable_iterator *it ,
                                   char const   *name___0 )
{
  struct reftable_ref_record ref ;
  struct reftable_record rec ;
  int tmp ;

  {
  ref.refname = (char *)name___0;
  ref.update_index = 0UL;
  ref.value_type = 0U;
  ref.value.val2.value = (uint8_t *)0;
  ref.value.val2.target_value = (uint8_t *)0;
  rec.data = (void *)0;
  rec.ops = (struct reftable_record_vtable *)0;
  reftable_record_from_ref(& rec, & ref);
  tmp = merged_table_seek_record(mt, it, & rec);
  return (tmp);
}
}
int reftable_merged_table_seek_log_at(struct reftable_merged_table *mt , struct reftable_iterator *it ,
                                      char const   *name___0 , uint64_t update_index___0 )
{
  struct reftable_log_record log ;
  struct reftable_record rec ;
  int tmp ;

  {
  log.refname = (char *)name___0;
  log.update_index = update_index___0;
  log.value_type = 0U;
  log.value.update.new_hash = (uint8_t *)0;
  log.value.update.old_hash = (uint8_t *)0;
  log.value.update.name = (char *)0;
  log.value.update.email = (char *)0;
  log.value.update.time = 0UL;
  log.value.update.tz_offset = (short)0;
  log.value.update.message = (char *)0;
  rec.data = (void *)0;
  rec.ops = (struct reftable_record_vtable *)0;
  reftable_record_from_log(& rec, & log);
  tmp = merged_table_seek_record(mt, it, & rec);
  return (tmp);
}
}
int reftable_merged_table_seek_log(struct reftable_merged_table *mt , struct reftable_iterator *it ,
                                   char const   *name___0 )
{
  uint64_t max ;
  int tmp ;

  {
  max = ~ ((uint64_t )0);
  tmp = reftable_merged_table_seek_log_at(mt, it, name___0, max);
  return (tmp);
}
}
uint32_t reftable_merged_table_hash_id(struct reftable_merged_table *mt )
{


  {
  return (mt->hash_id);
}
}
static int reftable_merged_table_seek_void(void *tab , struct reftable_iterator *it ,
                                           struct reftable_record *rec )
{
  int tmp ;

  {
  tmp = merged_table_seek_record((struct reftable_merged_table *)tab, it, rec);
  return (tmp);
}
}
static uint32_t reftable_merged_table_hash_id_void(void *tab )
{
  uint32_t tmp ;

  {
  tmp = reftable_merged_table_hash_id((struct reftable_merged_table *)tab);
  return (tmp);
}
}
static uint64_t reftable_merged_table_min_update_index_void(void *tab )
{
  uint64_t tmp ;

  {
  tmp = reftable_merged_table_min_update_index((struct reftable_merged_table *)tab);
  return (tmp);
}
}
static uint64_t reftable_merged_table_max_update_index_void(void *tab )
{
  uint64_t tmp ;

  {
  tmp = reftable_merged_table_max_update_index((struct reftable_merged_table *)tab);
  return (tmp);
}
}
static struct reftable_table_vtable merged_table_vtable  =    {& reftable_merged_table_seek_void, & reftable_merged_table_hash_id_void, & reftable_merged_table_min_update_index_void,
    & reftable_merged_table_max_update_index_void};
void reftable_table_from_merged_table(struct reftable_table *tab , struct reftable_merged_table *merged )
{


  {
  assert(! tab->ops);
  tab->ops = & merged_table_vtable;
  tab->table_arg = (void *)merged;
  return;
}
}
int pq_less(struct pq_entry *a , struct pq_entry *b___0 )
{
  struct strbuf ak ;
  struct strbuf bk ;
  int cmp___0 ;

  {
  ak.alloc = 0UL;
  ak.len = 0UL;
  ak.buf = strbuf_slopbuf;
  bk.alloc = 0UL;
  bk.len = 0UL;
  bk.buf = strbuf_slopbuf;
  cmp___0 = 0;
  reftable_record_key(& a->rec, & ak);
  reftable_record_key(& b___0->rec, & bk);
  cmp___0 = strbuf_cmp((struct strbuf  const  *)(& ak), (struct strbuf  const  *)(& bk));
  strbuf_release(& ak);
  strbuf_release(& bk);
  if (cmp___0 == 0) {
    return (a->index > b___0->index);
  }
  return (cmp___0 < 0);
}
}
struct pq_entry merged_iter_pqueue_top(struct merged_iter_pqueue pq )
{


  {
  return (*(pq.heap + 0));
}
}
int merged_iter_pqueue_is_empty(struct merged_iter_pqueue pq )
{


  {
  return (pq.len == 0UL);
}
}
struct pq_entry merged_iter_pqueue_remove(struct merged_iter_pqueue *pq )
{
  int i ;
  struct pq_entry e ;
  int min ;
  int j ;
  int k ;
  int tmp ;
  int tmp___0 ;
  void *_swap_a_ptr ;
  void *_swap_b_ptr ;
  unsigned char _swap_buffer[sizeof(*(pq->heap + i))] ;

  {
  i = 0;
  e = *(pq->heap + 0);
  *(pq->heap + 0) = *(pq->heap + (pq->len - 1UL));
  (pq->len) --;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < pq->len)) {
      goto while_break;
    }
    min = i;
    j = 2 * i + 1;
    k = 2 * i + 2;
    if ((size_t )j < pq->len) {
      tmp = pq_less(pq->heap + j, pq->heap + i);
      if (tmp) {
        min = j;
      }
    }
    if ((size_t )k < pq->len) {
      tmp___0 = pq_less(pq->heap + k, pq->heap + min);
      if (tmp___0) {
        min = k;
      }
    }
    if (min == i) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      _swap_a_ptr = (void *)(pq->heap + i);
      _swap_b_ptr = (void *)(pq->heap + min);
      memcpy((void *)(_swap_buffer), (void const   *)_swap_a_ptr, sizeof(*(pq->heap + i)));
      memcpy(_swap_a_ptr, (void const   *)_swap_b_ptr, sizeof(*(pq->heap + i)) + (sizeof(char [1]) - 1UL));
      memcpy(_swap_b_ptr, (void const   *)(_swap_buffer), sizeof(*(pq->heap + i)));
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    i = min;
  }
  while_break: /* CIL Label */ ;
  }
  return (e);
}
}
void merged_iter_pqueue_add(struct merged_iter_pqueue *pq , struct pq_entry e )
{
  int i ;
  void *tmp ;
  size_t tmp___0 ;
  int j ;
  int tmp___1 ;
  void *_swap_a_ptr ;
  void *_swap_b_ptr ;
  unsigned char _swap_buffer[sizeof(*(pq->heap + j))] ;

  {
  i = 0;
  if (pq->len == pq->cap) {
    pq->cap = 2UL * pq->cap + 1UL;
    tmp = reftable_realloc((void *)pq->heap, pq->cap * sizeof(struct pq_entry ));
    pq->heap = (struct pq_entry *)tmp;
  }
  tmp___0 = pq->len;
  (pq->len) ++;
  *(pq->heap + tmp___0) = e;
  i = (int )(pq->len - 1UL);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i > 0)) {
      goto while_break;
    }
    j = (i - 1) / 2;
    tmp___1 = pq_less(pq->heap + j, pq->heap + i);
    if (tmp___1) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      _swap_a_ptr = (void *)(pq->heap + j);
      _swap_b_ptr = (void *)(pq->heap + i);
      memcpy((void *)(_swap_buffer), (void const   *)_swap_a_ptr, sizeof(*(pq->heap + j)));
      memcpy(_swap_a_ptr, (void const   *)_swap_b_ptr, sizeof(*(pq->heap + j)) + (sizeof(char [1]) - 1UL));
      memcpy(_swap_b_ptr, (void const   *)(_swap_buffer), sizeof(*(pq->heap + j)));
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    i = j;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void merged_iter_pqueue_release(struct merged_iter_pqueue *pq )
{
  int i ;
  size_t tmp ;

  {
  i = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < pq->len)) {
      goto while_break;
    }
    reftable_record_destroy(& (pq->heap + i)->rec);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)pq->heap);
    pq->heap = (struct pq_entry *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp = (size_t )0;
  pq->cap = tmp;
  pq->len = tmp;
  return;
}
}
struct tree_node *tree_search(void *key___1 , struct tree_node **rootp , int (*compare___1)(void const   * ,
                                                                                            void const   * ) ,
                              int insert ) ;
void infix_walk(struct tree_node *t , void (*action)(void *arg , void *key ) , void *arg ) ;
void tree_free(struct tree_node *t ) ;
uint64_t block_source_size(struct reftable_block_source *source )
{
  uint64_t tmp ;

  {
  tmp = (*((source->ops)->size))(source->arg);
  return (tmp);
}
}
int block_source_read_block(struct reftable_block_source *source , struct reftable_block *dest ,
                            uint64_t off , uint32_t size )
{
  int result___0 ;
  int tmp ;

  {
  tmp = (*((source->ops)->read_block))(source->arg, dest, off, size);
  result___0 = tmp;
  dest->source = *source;
  return (result___0);
}
}
void block_source_close(struct reftable_block_source *source )
{


  {
  if (! source->ops) {
    return;
  }
  (*((source->ops)->close))(source->arg);
  source->ops = (struct reftable_block_source_vtable *)((void *)0);
  return;
}
}
static struct reftable_reader_offsets *reader_offsets_for(struct reftable_reader *r ,
                                                          uint8_t typ )
{


  {
  {
  if ((int )typ == 114) {
    goto case_114;
  }
  if ((int )typ == 103) {
    goto case_103;
  }
  if ((int )typ == 111) {
    goto case_111;
  }
  goto switch_break;
  case_114: /* CIL Label */
  return (& r->ref_offsets);
  case_103: /* CIL Label */
  return (& r->log_offsets);
  case_111: /* CIL Label */
  return (& r->obj_offsets);
  switch_break: /* CIL Label */ ;
  }
  abort();
}
}
static int reader_get_block(struct reftable_reader *r , struct reftable_block *dest ,
                            uint64_t off , uint32_t sz )
{
  int tmp ;

  {
  if (off >= r->size) {
    return (0);
  }
  if (off + (uint64_t )sz > r->size) {
    sz = (uint32_t )(r->size - off);
  }
  tmp = block_source_read_block(& r->source, dest, off, sz);
  return (tmp);
}
}
uint32_t reftable_reader_hash_id(struct reftable_reader *r )
{


  {
  return (r->hash_id);
}
}
char const   *reader_name(struct reftable_reader *r )
{


  {
  return ((char const   *)r->name);
}
}
static int parse_footer(struct reftable_reader *r , uint8_t *footer , uint8_t *header___0 )
{
  uint8_t *f ;
  uint8_t first_block_typ ;
  int err___4 ;
  uint32_t computed_crc ;
  uint32_t file_crc ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  uLong tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  f = footer;
  err___4 = 0;
  tmp = memcmp((void const   *)f, (void const   *)"REFT", (size_t )4);
  if (tmp) {
    err___4 = -3;
    goto done;
  }
  f += 4;
  tmp___0 = header_size(r->version);
  tmp___1 = memcmp((void const   *)footer, (void const   *)header___0, (size_t )tmp___0);
  if (tmp___1) {
    err___4 = -3;
    goto done;
  }
  f ++;
  r->block_size = get_be24(f);
  f += 3;
  r->min_update_index = get_be64((void const   *)f);
  f += 8;
  r->max_update_index = get_be64((void const   *)f);
  f += 8;
  if (r->version == 1) {
    r->hash_id = (uint32_t )0x73686131;
  } else {
    r->hash_id = get_be32((void const   *)f);
    {
    if (r->hash_id == 1936220465U) {
      goto case_1936220465;
    }
    if (r->hash_id == 1932670262U) {
      goto case_1932670262;
    }
    goto switch_default;
    case_1936220465: /* CIL Label */
    goto switch_break;
    case_1932670262: /* CIL Label */
    goto switch_break;
    switch_default: /* CIL Label */
    err___4 = -3;
    goto done;
    switch_break: /* CIL Label */ ;
    }
    f += 4;
  }
  r->ref_offsets.index_offset = get_be64((void const   *)f);
  f += 8;
  r->obj_offsets.offset = get_be64((void const   *)f);
  f += 8;
  r->object_id_len = (int )(r->obj_offsets.offset & (unsigned long )((1 << 5) - 1));
  r->obj_offsets.offset >>= 5;
  r->obj_offsets.index_offset = get_be64((void const   *)f);
  f += 8;
  r->log_offsets.offset = get_be64((void const   *)f);
  f += 8;
  r->log_offsets.index_offset = get_be64((void const   *)f);
  f += 8;
  tmp___2 = crc32((uLong )0, (Bytef const   *)footer, (uInt )(f - footer));
  computed_crc = (uint32_t )tmp___2;
  file_crc = get_be32((void const   *)f);
  f += 4;
  if (computed_crc != file_crc) {
    err___4 = -3;
    goto done;
  }
  tmp___3 = header_size(r->version);
  first_block_typ = *(header___0 + tmp___3);
  r->ref_offsets.is_present = (int )first_block_typ == 114;
  r->ref_offsets.offset = (uint64_t )0;
  if ((int )first_block_typ == 103) {
    tmp___4 = 1;
  } else
  if (r->log_offsets.offset > 0UL) {
    tmp___4 = 1;
  } else {
    tmp___4 = 0;
  }
  r->log_offsets.is_present = tmp___4;
  r->obj_offsets.is_present = r->obj_offsets.offset > 0UL;
  err___4 = 0;
  done:
  return (err___4);
}
}
int init_reader(struct reftable_reader *r , struct reftable_block_source *source ,
                char const   *name___0 )
{
  struct reftable_block footer ;
  struct reftable_block header___0 ;
  int err___4 ;
  uint64_t file_size___0 ;
  uint64_t tmp ;
  uint32_t read_size ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  footer.data = (uint8_t *)((void *)0);
  footer.len = 0;
  footer.source.ops = (struct reftable_block_source_vtable *)0;
  footer.source.arg = (void *)0;
  header___0.data = (uint8_t *)((void *)0);
  header___0.len = 0;
  header___0.source.ops = (struct reftable_block_source_vtable *)0;
  header___0.source.arg = (void *)0;
  err___4 = 0;
  tmp = block_source_size(source);
  file_size___0 = tmp;
  tmp___0 = header_size(2);
  read_size = (uint32_t )(tmp___0 + 1);
  memset((void *)r, 0, sizeof(struct reftable_reader ));
  if ((uint64_t )read_size > file_size___0) {
    err___4 = -3;
    goto done;
  }
  err___4 = block_source_read_block(source, & header___0, (uint64_t )0, read_size);
  if ((uint32_t )err___4 != read_size) {
    err___4 = -2;
    goto done;
  }
  tmp___1 = memcmp((void const   *)header___0.data, (void const   *)"REFT", (size_t )4);
  if (tmp___1) {
    err___4 = -3;
    goto done;
  }
  r->version = (int )*(header___0.data + 4);
  if (r->version != 1) {
    if (r->version != 2) {
      err___4 = -3;
      goto done;
    }
  }
  tmp___2 = footer_size(r->version);
  r->size = file_size___0 - (uint64_t )tmp___2;
  r->source = *source;
  r->name = xstrdup(name___0);
  r->hash_id = (uint32_t )0;
  tmp___3 = footer_size(r->version);
  err___4 = block_source_read_block(source, & footer, r->size, (uint32_t )tmp___3);
  tmp___4 = footer_size(r->version);
  if (err___4 != tmp___4) {
    err___4 = -2;
    goto done;
  }
  err___4 = parse_footer(r, footer.data, header___0.data);
  done:
  reftable_block_done(& footer);
  reftable_block_done(& header___0);
  return (err___4);
}
}
static void table_iter_copy_from(struct table_iter *dest , struct table_iter *src )
{


  {
  dest->r = src->r;
  dest->typ = src->typ;
  dest->block_off = src->block_off;
  dest->is_finished = src->is_finished;
  block_iter_copy_from(& dest->bi, & src->bi);
  return;
}
}
static int table_iter_next_in_block(struct table_iter *ti , struct reftable_record *rec )
{
  int res ;
  int tmp ;
  uint8_t tmp___0 ;

  {
  tmp = block_iter_next(& ti->bi, rec);
  res = tmp;
  if (res == 0) {
    tmp___0 = reftable_record_type(rec);
    if ((int )tmp___0 == 114) {
      ((struct reftable_ref_record *)rec->data)->update_index += (ti->r)->min_update_index;
    }
  }
  return (res);
}
}
static void table_iter_block_done(struct table_iter *ti )
{


  {
  if (! ti->bi.br) {
    return;
  }
  reftable_block_done(& (ti->bi.br)->block);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)ti->bi.br);
    ti->bi.br = (struct block_reader *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  ti->bi.last_key.len = (size_t )0;
  ti->bi.next_off = (uint32_t )0;
  return;
}
}
static int32_t extract_block_size(uint8_t *data , uint8_t *typ , uint64_t off , int version___0 )
{
  int32_t result___0 ;
  int tmp ;
  uint32_t tmp___0 ;
  int tmp___1 ;

  {
  result___0 = 0;
  if (off == 0UL) {
    tmp = header_size(version___0);
    data += tmp;
  }
  *typ = *(data + 0);
  tmp___1 = reftable_is_block_type(*typ);
  if (tmp___1) {
    tmp___0 = get_be24(data + 1);
    result___0 = (int32_t )tmp___0;
  }
  return (result___0);
}
}
int reader_init_block_reader(struct reftable_reader *r , struct block_reader *br ,
                             uint64_t next_off , uint8_t want_typ )
{
  int32_t guess_block_size ;
  uint32_t tmp ;
  struct reftable_block block___0 ;
  uint8_t block_typ ;
  int err___4 ;
  uint32_t header_off ;
  int tmp___0 ;
  int tmp___1 ;
  int32_t block_size ;
  int tmp___2 ;
  int tmp___3 ;

  {
  if (r->block_size) {
    tmp = r->block_size;
  } else {
    tmp = (uint32_t )4096;
  }
  guess_block_size = (int32_t )tmp;
  block___0.data = (uint8_t *)((void *)0);
  block___0.len = 0;
  block___0.source.ops = (struct reftable_block_source_vtable *)0;
  block___0.source.arg = (void *)0;
  block_typ = (uint8_t )0;
  err___4 = 0;
  if (next_off) {
    tmp___1 = 0;
  } else {
    tmp___0 = header_size(r->version);
    tmp___1 = tmp___0;
  }
  header_off = (uint32_t )tmp___1;
  block_size = 0;
  if (next_off >= r->size) {
    return (1);
  }
  err___4 = reader_get_block(r, & block___0, next_off, (uint32_t )guess_block_size);
  if (err___4 < 0) {
    return (err___4);
  }
  block_size = extract_block_size(block___0.data, & block_typ, next_off, r->version);
  if (block_size < 0) {
    return (block_size);
  }
  if ((int )want_typ != 0) {
    if ((int )block_typ != (int )want_typ) {
      reftable_block_done(& block___0);
      return (1);
    }
  }
  if (block_size > guess_block_size) {
    reftable_block_done(& block___0);
    err___4 = reader_get_block(r, & block___0, next_off, (uint32_t )block_size);
    if (err___4 < 0) {
      return (err___4);
    }
  }
  tmp___2 = hash_size(r->hash_id);
  tmp___3 = block_reader_init(br, & block___0, header_off, r->block_size, tmp___2);
  return (tmp___3);
}
}
static int table_iter_next_block(struct table_iter *dest , struct table_iter *src )
{
  uint64_t next_block_off ;
  struct block_reader br ;
  int err___4 ;
  struct block_reader *brp ;
  void *tmp ;

  {
  next_block_off = src->block_off + (uint64_t )(src->bi.br)->full_block_size;
  br.header_off = (uint32_t )0;
  br.block.data = (uint8_t *)0;
  br.block.len = 0;
  br.block.source.ops = (struct reftable_block_source_vtable *)0;
  br.block.source.arg = (void *)0;
  br.hash_size = 0;
  br.block_len = 0U;
  br.restart_bytes = (uint8_t *)0;
  br.restart_count = (unsigned short)0;
  br.full_block_size = 0U;
  err___4 = 0;
  dest->r = src->r;
  dest->typ = src->typ;
  dest->block_off = next_block_off;
  err___4 = reader_init_block_reader(src->r, & br, next_block_off, src->typ);
  if (err___4 > 0) {
    dest->is_finished = 1;
    return (1);
  }
  if (err___4 != 0) {
    return (err___4);
  } else {
    tmp = reftable_malloc(sizeof(struct block_reader ));
    brp = (struct block_reader *)tmp;
    *brp = br;
    dest->is_finished = 0;
    block_reader_start(brp, & dest->bi);
  }
  return (0);
}
}
static int table_iter_next(struct table_iter *ti , struct reftable_record *rec )
{
  uint8_t tmp ;
  struct table_iter next___2 ;
  int err___4 ;

  {
  tmp = reftable_record_type(rec);
  if ((int )tmp != (int )ti->typ) {
    return (-6);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    next___2.r = (struct reftable_reader *)0;
    next___2.typ = (unsigned char)0;
    next___2.block_off = 0UL;
    next___2.bi.next_off = 0U;
    next___2.bi.br = (struct block_reader *)0;
    next___2.bi.last_key.alloc = 0UL;
    next___2.bi.last_key.len = 0UL;
    next___2.bi.last_key.buf = strbuf_slopbuf;
    next___2.is_finished = 0;
    err___4 = 0;
    if (ti->is_finished) {
      return (1);
    }
    err___4 = table_iter_next_in_block(ti, rec);
    if (err___4 <= 0) {
      return (err___4);
    }
    err___4 = table_iter_next_block(& next___2, ti);
    if (err___4 != 0) {
      ti->is_finished = 1;
    }
    table_iter_block_done(ti);
    if (err___4 != 0) {
      return (err___4);
    }
    table_iter_copy_from(ti, & next___2);
    block_iter_close(& next___2.bi);
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int table_iter_next_void(void *ti , struct reftable_record *rec )
{
  int tmp ;

  {
  tmp = table_iter_next((struct table_iter *)ti, rec);
  return (tmp);
}
}
static void table_iter_close(void *p___0 )
{
  struct table_iter *ti ;

  {
  ti = (struct table_iter *)p___0;
  table_iter_block_done(ti);
  block_iter_close(& ti->bi);
  return;
}
}
static struct reftable_iterator_vtable table_iter_vtable  =    {& table_iter_next_void, & table_iter_close};
static void iterator_from_table_iter(struct reftable_iterator *it , struct table_iter *ti )
{


  {
  assert(! it->ops);
  it->iter_arg = (void *)ti;
  it->ops = & table_iter_vtable;
  return;
}
}
static int reader_table_iter_at(struct reftable_reader *r , struct table_iter *ti ,
                                uint64_t off , uint8_t typ )
{
  struct block_reader br ;
  struct block_reader *brp ;
  int err___4 ;
  int tmp ;
  void *tmp___0 ;

  {
  br.header_off = (uint32_t )0;
  br.block.data = (uint8_t *)0;
  br.block.len = 0;
  br.block.source.ops = (struct reftable_block_source_vtable *)0;
  br.block.source.arg = (void *)0;
  br.hash_size = 0;
  br.block_len = 0U;
  br.restart_bytes = (uint8_t *)0;
  br.restart_count = (unsigned short)0;
  br.full_block_size = 0U;
  brp = (struct block_reader *)((void *)0);
  tmp = reader_init_block_reader(r, & br, off, typ);
  err___4 = tmp;
  if (err___4 != 0) {
    return (err___4);
  }
  tmp___0 = reftable_malloc(sizeof(struct block_reader ));
  brp = (struct block_reader *)tmp___0;
  *brp = br;
  ti->r = r;
  ti->typ = block_reader_type(brp);
  ti->block_off = off;
  block_reader_start(brp, & ti->bi);
  return (0);
}
}
static int reader_start(struct reftable_reader *r , struct table_iter *ti , uint8_t typ ,
                        int index___2 )
{
  struct reftable_reader_offsets *offs ;
  struct reftable_reader_offsets *tmp ;
  uint64_t off ;
  int tmp___0 ;

  {
  tmp = reader_offsets_for(r, typ);
  offs = tmp;
  off = offs->offset;
  if (index___2) {
    off = offs->index_offset;
    if (off == 0UL) {
      return (1);
    }
    typ = (uint8_t )'i';
  }
  tmp___0 = reader_table_iter_at(r, ti, off, typ);
  return (tmp___0);
}
}
static int reader_seek_linear(struct reftable_reader *r , struct table_iter *ti ,
                              struct reftable_record *want )
{
  struct reftable_record rec ;
  uint8_t tmp ;
  struct reftable_record tmp___0 ;
  struct strbuf want_key ;
  struct strbuf got_key ;
  struct table_iter next___2 ;
  int err___4 ;
  int tmp___1 ;

  {
  tmp = reftable_record_type(want);
  tmp___0 = reftable_new_record(tmp);
  rec = tmp___0;
  want_key.alloc = 0UL;
  want_key.len = 0UL;
  want_key.buf = strbuf_slopbuf;
  got_key.alloc = 0UL;
  got_key.len = 0UL;
  got_key.buf = strbuf_slopbuf;
  next___2.r = (struct reftable_reader *)0;
  next___2.typ = (unsigned char)0;
  next___2.block_off = 0UL;
  next___2.bi.next_off = 0U;
  next___2.bi.br = (struct block_reader *)0;
  next___2.bi.last_key.alloc = 0UL;
  next___2.bi.last_key.len = 0UL;
  next___2.bi.last_key.buf = strbuf_slopbuf;
  next___2.is_finished = 0;
  err___4 = -1;
  reftable_record_key(want, & want_key);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    err___4 = table_iter_next_block(& next___2, ti);
    if (err___4 < 0) {
      goto done;
    }
    if (err___4 > 0) {
      goto while_break;
    }
    err___4 = block_reader_first_key(next___2.bi.br, & got_key);
    if (err___4 < 0) {
      goto done;
    }
    tmp___1 = strbuf_cmp((struct strbuf  const  *)(& got_key), (struct strbuf  const  *)(& want_key));
    if (tmp___1 > 0) {
      table_iter_block_done(& next___2);
      goto while_break;
    }
    table_iter_block_done(ti);
    table_iter_copy_from(ti, & next___2);
  }
  while_break: /* CIL Label */ ;
  }
  err___4 = block_iter_seek(& ti->bi, & want_key);
  if (err___4 < 0) {
    goto done;
  }
  err___4 = 0;
  done:
  block_iter_close(& next___2.bi);
  reftable_record_destroy(& rec);
  strbuf_release(& want_key);
  strbuf_release(& got_key);
  return (err___4);
}
}
static int reader_seek_indexed(struct reftable_reader *r , struct reftable_iterator *it ,
                               struct reftable_record *rec )
{
  struct reftable_index_record want_index ;
  struct reftable_record want_index_rec ;
  struct reftable_index_record index_result ;
  struct reftable_record index_result_rec ;
  struct table_iter index_iter ;
  struct table_iter next___2 ;
  int err___4 ;
  uint8_t tmp ;
  uint8_t tmp___0 ;
  struct table_iter empty ;
  struct table_iter *malloced ;
  void *tmp___1 ;

  {
  want_index.offset = 0UL;
  want_index.last_key.alloc = 0UL;
  want_index.last_key.len = 0UL;
  want_index.last_key.buf = strbuf_slopbuf;
  want_index_rec.data = (void *)0;
  want_index_rec.ops = (struct reftable_record_vtable *)0;
  index_result.offset = 0UL;
  index_result.last_key.alloc = 0UL;
  index_result.last_key.len = 0UL;
  index_result.last_key.buf = strbuf_slopbuf;
  index_result_rec.data = (void *)0;
  index_result_rec.ops = (struct reftable_record_vtable *)0;
  index_iter.r = (struct reftable_reader *)0;
  index_iter.typ = (unsigned char)0;
  index_iter.block_off = 0UL;
  index_iter.bi.next_off = 0U;
  index_iter.bi.br = (struct block_reader *)0;
  index_iter.bi.last_key.alloc = 0UL;
  index_iter.bi.last_key.len = 0UL;
  index_iter.bi.last_key.buf = strbuf_slopbuf;
  index_iter.is_finished = 0;
  next___2.r = (struct reftable_reader *)0;
  next___2.typ = (unsigned char)0;
  next___2.block_off = 0UL;
  next___2.bi.next_off = 0U;
  next___2.bi.br = (struct block_reader *)0;
  next___2.bi.last_key.alloc = 0UL;
  next___2.bi.last_key.len = 0UL;
  next___2.bi.last_key.buf = strbuf_slopbuf;
  next___2.is_finished = 0;
  err___4 = 0;
  reftable_record_key(rec, & want_index.last_key);
  reftable_record_from_index(& want_index_rec, & want_index);
  reftable_record_from_index(& index_result_rec, & index_result);
  tmp = reftable_record_type(rec);
  err___4 = reader_start(r, & index_iter, tmp, 1);
  if (err___4 < 0) {
    goto done;
  }
  err___4 = reader_seek_linear(r, & index_iter, & want_index_rec);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    err___4 = table_iter_next(& index_iter, & index_result_rec);
    table_iter_block_done(& index_iter);
    if (err___4 != 0) {
      goto done;
    }
    err___4 = reader_table_iter_at(r, & next___2, index_result.offset, (uint8_t )0);
    if (err___4 != 0) {
      goto done;
    }
    err___4 = block_iter_seek(& next___2.bi, & want_index.last_key);
    if (err___4 < 0) {
      goto done;
    }
    tmp___0 = reftable_record_type(rec);
    if ((int )next___2.typ == (int )tmp___0) {
      err___4 = 0;
      goto while_break;
    }
    if ((int )next___2.typ != 105) {
      err___4 = -3;
      goto while_break;
    }
    table_iter_copy_from(& index_iter, & next___2);
  }
  while_break: /* CIL Label */ ;
  }
  if (err___4 == 0) {
    empty.r = (struct reftable_reader *)0;
    empty.typ = (unsigned char)0;
    empty.block_off = 0UL;
    empty.bi.next_off = 0U;
    empty.bi.br = (struct block_reader *)0;
    empty.bi.last_key.alloc = 0UL;
    empty.bi.last_key.len = 0UL;
    empty.bi.last_key.buf = strbuf_slopbuf;
    empty.is_finished = 0;
    tmp___1 = reftable_calloc(sizeof(struct table_iter ));
    malloced = (struct table_iter *)tmp___1;
    *malloced = empty;
    table_iter_copy_from(malloced, & next___2);
    iterator_from_table_iter(it, malloced);
  }
  done:
  block_iter_close(& next___2.bi);
  table_iter_close((void *)(& index_iter));
  reftable_record_release(& want_index_rec);
  reftable_record_release(& index_result_rec);
  return (err___4);
}
}
static int reader_seek_internal(struct reftable_reader *r , struct reftable_iterator *it ,
                                struct reftable_record *rec )
{
  struct reftable_reader_offsets *offs ;
  uint8_t tmp ;
  struct reftable_reader_offsets *tmp___0 ;
  uint64_t idx___0 ;
  struct table_iter ti ;
  int err___4 ;
  int tmp___1 ;
  uint8_t tmp___2 ;
  struct table_iter *p___0 ;
  void *tmp___3 ;

  {
  tmp = reftable_record_type(rec);
  tmp___0 = reader_offsets_for(r, tmp);
  offs = tmp___0;
  idx___0 = offs->index_offset;
  ti.r = (struct reftable_reader *)0;
  ti.typ = (unsigned char)0;
  ti.block_off = 0UL;
  ti.bi.next_off = 0U;
  ti.bi.br = (struct block_reader *)0;
  ti.bi.last_key.alloc = 0UL;
  ti.bi.last_key.len = 0UL;
  ti.bi.last_key.buf = strbuf_slopbuf;
  ti.is_finished = 0;
  err___4 = 0;
  if (idx___0 > 0UL) {
    tmp___1 = reader_seek_indexed(r, it, rec);
    return (tmp___1);
  }
  tmp___2 = reftable_record_type(rec);
  err___4 = reader_start(r, & ti, tmp___2, 0);
  if (err___4 < 0) {
    return (err___4);
  }
  err___4 = reader_seek_linear(r, & ti, rec);
  if (err___4 < 0) {
    return (err___4);
  } else {
    tmp___3 = reftable_malloc(sizeof(struct table_iter ));
    p___0 = (struct table_iter *)tmp___3;
    *p___0 = ti;
    iterator_from_table_iter(it, p___0);
  }
  return (0);
}
}
static int reader_seek(struct reftable_reader *r , struct reftable_iterator *it ,
                       struct reftable_record *rec )
{
  uint8_t typ ;
  uint8_t tmp ;
  struct reftable_reader_offsets *offs ;
  struct reftable_reader_offsets *tmp___0 ;
  int tmp___1 ;

  {
  tmp = reftable_record_type(rec);
  typ = tmp;
  tmp___0 = reader_offsets_for(r, typ);
  offs = tmp___0;
  if (! offs->is_present) {
    iterator_set_empty(it);
    return (0);
  }
  tmp___1 = reader_seek_internal(r, it, rec);
  return (tmp___1);
}
}
int reftable_reader_seek_ref(struct reftable_reader *r , struct reftable_iterator *it ,
                             char const   *name___0 )
{
  struct reftable_ref_record ref ;
  struct reftable_record rec ;
  int tmp ;

  {
  ref.refname = (char *)name___0;
  ref.update_index = 0UL;
  ref.value_type = 0U;
  ref.value.val2.value = (uint8_t *)0;
  ref.value.val2.target_value = (uint8_t *)0;
  rec.data = (void *)0;
  rec.ops = (struct reftable_record_vtable *)0;
  reftable_record_from_ref(& rec, & ref);
  tmp = reader_seek(r, it, & rec);
  return (tmp);
}
}
int reftable_reader_seek_log_at(struct reftable_reader *r , struct reftable_iterator *it ,
                                char const   *name___0 , uint64_t update_index___0 )
{
  struct reftable_log_record log ;
  struct reftable_record rec ;
  int tmp ;

  {
  log.refname = (char *)name___0;
  log.update_index = update_index___0;
  log.value_type = 0U;
  log.value.update.new_hash = (uint8_t *)0;
  log.value.update.old_hash = (uint8_t *)0;
  log.value.update.name = (char *)0;
  log.value.update.email = (char *)0;
  log.value.update.time = 0UL;
  log.value.update.tz_offset = (short)0;
  log.value.update.message = (char *)0;
  rec.data = (void *)0;
  rec.ops = (struct reftable_record_vtable *)0;
  reftable_record_from_log(& rec, & log);
  tmp = reader_seek(r, it, & rec);
  return (tmp);
}
}
int reftable_reader_seek_log(struct reftable_reader *r , struct reftable_iterator *it ,
                             char const   *name___0 )
{
  uint64_t max ;
  int tmp ;

  {
  max = ~ ((uint64_t )0);
  tmp = reftable_reader_seek_log_at(r, it, name___0, max);
  return (tmp);
}
}
void reader_close(struct reftable_reader *r )
{


  {
  block_source_close(& r->source);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)r->name);
    r->name = (char *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int reftable_new_reader(struct reftable_reader **p___0 , struct reftable_block_source *src ,
                        char const   *name___0 )
{
  struct reftable_reader *rd ;
  void *tmp ;
  int err___4 ;
  int tmp___0 ;

  {
  tmp = reftable_calloc(sizeof(struct reftable_reader ));
  rd = (struct reftable_reader *)tmp;
  tmp___0 = init_reader(rd, src, name___0);
  err___4 = tmp___0;
  if (err___4 == 0) {
    *p___0 = rd;
  } else {
    block_source_close(src);
    reftable_free((void *)rd);
  }
  return (err___4);
}
}
void reftable_reader_free(struct reftable_reader *r )
{


  {
  reader_close(r);
  reftable_free((void *)r);
  return;
}
}
static int reftable_reader_refs_for_indexed(struct reftable_reader *r , struct reftable_iterator *it ,
                                            uint8_t *oid )
{
  struct reftable_obj_record want ;
  struct reftable_record want_rec ;
  struct reftable_iterator oit ;
  struct reftable_obj_record got ;
  struct reftable_record got_rec ;
  int err___4 ;
  struct indexed_table_ref_iter *itr ;
  int tmp ;
  int tmp___0 ;

  {
  want.hash_prefix = oid;
  want.hash_prefix_len = r->object_id_len;
  want.offsets = (uint64_t *)0;
  want.offset_len = 0;
  want_rec.data = (void *)0;
  want_rec.ops = (struct reftable_record_vtable *)0;
  oit.ops = (struct reftable_iterator_vtable *)((void *)0);
  oit.iter_arg = (void *)0;
  got.hash_prefix = (uint8_t *)((void *)0);
  got.hash_prefix_len = 0;
  got.offsets = (uint64_t *)0;
  got.offset_len = 0;
  got_rec.data = (void *)0;
  got_rec.ops = (struct reftable_record_vtable *)0;
  err___4 = 0;
  itr = (struct indexed_table_ref_iter *)((void *)0);
  reftable_record_from_obj(& want_rec, & want);
  err___4 = reader_seek(r, & oit, & want_rec);
  if (err___4 != 0) {
    goto done;
  }
  reftable_record_from_obj(& got_rec, & got);
  err___4 = iterator_next(& oit, & got_rec);
  if (err___4 < 0) {
    goto done;
  }
  if (err___4 > 0) {
    iterator_set_empty(it);
    err___4 = 0;
    goto done;
  } else {
    tmp = memcmp((void const   *)want.hash_prefix, (void const   *)got.hash_prefix,
                 (size_t )r->object_id_len);
    if (tmp) {
      iterator_set_empty(it);
      err___4 = 0;
      goto done;
    }
  }
  tmp___0 = hash_size(r->hash_id);
  err___4 = new_indexed_table_ref_iter(& itr, r, oid, tmp___0, got.offsets, got.offset_len);
  if (err___4 < 0) {
    goto done;
  }
  got.offsets = (uint64_t *)((void *)0);
  iterator_from_indexed_table_ref_iter(it, itr);
  done:
  reftable_iterator_destroy(& oit);
  reftable_record_release(& got_rec);
  return (err___4);
}
}
static int reftable_reader_refs_for_unindexed(struct reftable_reader *r , struct reftable_iterator *it ,
                                              uint8_t *oid )
{
  struct table_iter ti_empty ;
  struct table_iter *ti ;
  void *tmp ;
  struct filtering_ref_iterator *filter___0 ;
  struct filtering_ref_iterator empty ;
  int oid_len ;
  int tmp___0 ;
  int err___4 ;
  void *tmp___1 ;

  {
  ti_empty.r = (struct reftable_reader *)0;
  ti_empty.typ = (unsigned char)0;
  ti_empty.block_off = 0UL;
  ti_empty.bi.next_off = 0U;
  ti_empty.bi.br = (struct block_reader *)0;
  ti_empty.bi.last_key.alloc = 0UL;
  ti_empty.bi.last_key.len = 0UL;
  ti_empty.bi.last_key.buf = strbuf_slopbuf;
  ti_empty.is_finished = 0;
  tmp = reftable_calloc(sizeof(struct table_iter ));
  ti = (struct table_iter *)tmp;
  filter___0 = (struct filtering_ref_iterator *)((void *)0);
  empty.double_check = 0;
  empty.tab.ops = (struct reftable_table_vtable *)0;
  empty.tab.table_arg = (void *)0;
  empty.oid.alloc = 0UL;
  empty.oid.len = 0UL;
  empty.oid.buf = strbuf_slopbuf;
  empty.it.ops = (struct reftable_iterator_vtable *)0;
  empty.it.iter_arg = (void *)0;
  tmp___0 = hash_size(r->hash_id);
  oid_len = tmp___0;
  *ti = ti_empty;
  err___4 = reader_start(r, ti, (uint8_t )'r', 0);
  if (err___4 < 0) {
    reftable_free((void *)ti);
    return (err___4);
  }
  tmp___1 = reftable_malloc(sizeof(struct filtering_ref_iterator ));
  filter___0 = (struct filtering_ref_iterator *)tmp___1;
  *filter___0 = empty;
  strbuf_add(& filter___0->oid, (void const   *)oid, (size_t )oid_len);
  reftable_table_from_reader(& filter___0->tab, r);
  filter___0->double_check = 0;
  iterator_from_table_iter(& filter___0->it, ti);
  iterator_from_filtering_ref_iterator(it, filter___0);
  return (0);
}
}
int reftable_reader_refs_for(struct reftable_reader *r , struct reftable_iterator *it ,
                             uint8_t *oid )
{
  int tmp ;
  int tmp___0 ;

  {
  if (r->obj_offsets.is_present) {
    tmp = reftable_reader_refs_for_indexed(r, it, oid);
    return (tmp);
  }
  tmp___0 = reftable_reader_refs_for_unindexed(r, it, oid);
  return (tmp___0);
}
}
uint64_t reftable_reader_max_update_index(struct reftable_reader *r )
{


  {
  return (r->max_update_index);
}
}
uint64_t reftable_reader_min_update_index(struct reftable_reader *r )
{


  {
  return (r->min_update_index);
}
}
static int reftable_reader_seek_void(void *tab , struct reftable_iterator *it , struct reftable_record *rec )
{
  int tmp ;

  {
  tmp = reader_seek((struct reftable_reader *)tab, it, rec);
  return (tmp);
}
}
static uint32_t reftable_reader_hash_id_void(void *tab )
{
  uint32_t tmp ;

  {
  tmp = reftable_reader_hash_id((struct reftable_reader *)tab);
  return (tmp);
}
}
static uint64_t reftable_reader_min_update_index_void(void *tab )
{
  uint64_t tmp ;

  {
  tmp = reftable_reader_min_update_index((struct reftable_reader *)tab);
  return (tmp);
}
}
static uint64_t reftable_reader_max_update_index_void(void *tab )
{
  uint64_t tmp ;

  {
  tmp = reftable_reader_max_update_index((struct reftable_reader *)tab);
  return (tmp);
}
}
static struct reftable_table_vtable reader_vtable  =    {& reftable_reader_seek_void, & reftable_reader_hash_id_void, & reftable_reader_min_update_index_void,
    & reftable_reader_max_update_index_void};
void reftable_table_from_reader(struct reftable_table *tab , struct reftable_reader *reader )
{


  {
  assert(! tab->ops);
  tab->ops = & reader_vtable;
  tab->table_arg = (void *)reader;
  return;
}
}
int reftable_reader_print_file(char const   *tablename )
{
  struct reftable_block_source src ;
  int err___4 ;
  int tmp ;
  struct reftable_reader *r ;
  struct reftable_table tab ;

  {
  src.ops = (struct reftable_block_source_vtable *)((void *)0);
  src.arg = (void *)0;
  tmp = reftable_block_source_from_file(& src, tablename);
  err___4 = tmp;
  r = (struct reftable_reader *)((void *)0);
  tab.ops = (struct reftable_table_vtable *)((void *)0);
  tab.table_arg = (void *)0;
  if (err___4 < 0) {
    goto done;
  }
  err___4 = reftable_new_reader(& r, & src, tablename);
  if (err___4 < 0) {
    goto done;
  }
  reftable_table_from_reader(& tab, r);
  err___4 = reftable_table_print(& tab);
  done:
  reftable_reader_free(r);
  return (err___4);
}
}
int get_var_int(uint64_t *dest , struct string_view *in )
{
  int ptr ;
  uint64_t val ;

  {
  ptr = 0;
  if (in->len == 0UL) {
    return (-1);
  }
  val = (uint64_t )((int )*(in->buf + ptr) & 0x7f);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((int )*(in->buf + ptr) & 0x80)) {
      goto while_break;
    }
    ptr ++;
    if ((size_t )ptr > in->len) {
      return (-1);
    }
    val = ((val + 1UL) << 7) | (uint64_t )((int )*(in->buf + ptr) & 0x7f);
  }
  while_break: /* CIL Label */ ;
  }
  *dest = val;
  return (ptr + 1);
}
}
int put_var_int(struct string_view *dest , uint64_t val )
{
  uint8_t buf___19[10] ;
  unsigned int tmp ;
  int i ;
  int n ;

  {
  buf___19[0] = (uint8_t )0;
  tmp = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 10U) {
      goto while_break;
    }
    buf___19[tmp] = (unsigned char)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 9;
  n = 0;
  buf___19[i] = (uint8_t )(val & 127UL);
  i --;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    val >>= 7;
    if (! val) {
      goto while_break___0;
    }
    val --;
    buf___19[i] = (uint8_t )(0x80 | (int )((uint8_t )(val & 127UL)));
    i --;
  }
  while_break___0: /* CIL Label */ ;
  }
  n = (int )((sizeof(buf___19) - (unsigned long )i) - 1UL);
  if (dest->len < (size_t )n) {
    return (-1);
  }
  memcpy((void *)dest->buf, (void const   *)(& buf___19[i + 1]), (size_t )n);
  return (n);
}
}
int reftable_is_block_type(uint8_t typ )
{


  {
  {
  if ((int )typ == 105) {
    goto case_105;
  }
  if ((int )typ == 111) {
    goto case_105;
  }
  if ((int )typ == 103) {
    goto case_105;
  }
  if ((int )typ == 114) {
    goto case_105;
  }
  goto switch_break;
  case_105: /* CIL Label */
  case_111: /* CIL Label */
  case_103: /* CIL Label */
  case_114: /* CIL Label */
  return (1);
  switch_break: /* CIL Label */ ;
  }
  return (0);
}
}
uint8_t *reftable_ref_record_val1(struct reftable_ref_record *rec )
{


  {
  {
  if ((unsigned int )rec->value_type == 1U) {
    goto case_1;
  }
  if ((unsigned int )rec->value_type == 2U) {
    goto case_2;
  }
  goto switch_default;
  case_1: /* CIL Label */
  return (rec->value.val1);
  case_2: /* CIL Label */
  return (rec->value.val2.value);
  switch_default: /* CIL Label */
  return ((uint8_t *)((void *)0));
  switch_break: /* CIL Label */ ;
  }
}
}
uint8_t *reftable_ref_record_val2(struct reftable_ref_record *rec )
{


  {
  {
  if ((unsigned int )rec->value_type == 2U) {
    goto case_2;
  }
  goto switch_default;
  case_2: /* CIL Label */
  return (rec->value.val2.target_value);
  switch_default: /* CIL Label */
  return ((uint8_t *)((void *)0));
  switch_break: /* CIL Label */ ;
  }
}
}
static int decode_string(struct strbuf *dest , struct string_view in )
{
  int start_len ;
  uint64_t tsize ;
  int n ;
  int tmp ;

  {
  start_len = (int )in.len;
  tsize = (uint64_t )0;
  tmp = get_var_int(& tsize, & in);
  n = tmp;
  if (n <= 0) {
    return (-1);
  }
  string_view_consume(& in, n);
  if (in.len < tsize) {
    return (-1);
  }
  strbuf_setlen___33(dest, (size_t )0);
  strbuf_add(dest, (void const   *)in.buf, tsize);
  string_view_consume(& in, (int )tsize);
  return ((int )((size_t )start_len - in.len));
}
}
static int encode_string(char *str , struct string_view s___1 )
{
  struct string_view start ;
  int l ;
  size_t tmp ;
  int n ;
  int tmp___0 ;

  {
  start = s___1;
  tmp = strlen((char const   *)str);
  l = (int )tmp;
  tmp___0 = put_var_int(& s___1, (uint64_t )l);
  n = tmp___0;
  if (n < 0) {
    return (-1);
  }
  string_view_consume(& s___1, n);
  if (s___1.len < (size_t )l) {
    return (-1);
  }
  memcpy((void *)s___1.buf, (void const   *)str, (size_t )l);
  string_view_consume(& s___1, l);
  return ((int )(start.len - s___1.len));
}
}
int reftable_encode_key(int *restart , struct string_view dest , struct strbuf prev_key ,
                        struct strbuf key___1 , uint8_t extra___2 )
{
  struct string_view start ;
  int prefix_len___1 ;
  int tmp ;
  uint64_t suffix_len ;
  int n ;
  int tmp___0 ;

  {
  start = dest;
  tmp = common_prefix_size(& prev_key, & key___1);
  prefix_len___1 = tmp;
  suffix_len = key___1.len - (size_t )prefix_len___1;
  tmp___0 = put_var_int(& dest, (uint64_t )prefix_len___1);
  n = tmp___0;
  if (n < 0) {
    return (-1);
  }
  string_view_consume(& dest, n);
  *restart = prefix_len___1 == 0;
  n = put_var_int(& dest, (suffix_len << 3) | (uint64_t )extra___2);
  if (n < 0) {
    return (-1);
  }
  string_view_consume(& dest, n);
  if (dest.len < suffix_len) {
    return (-1);
  }
  memcpy((void *)dest.buf, (void const   *)(key___1.buf + prefix_len___1), suffix_len);
  string_view_consume(& dest, (int )suffix_len);
  return ((int )(start.len - dest.len));
}
}
int reftable_decode_key(struct strbuf *key___1 , uint8_t *extra___2 , struct strbuf last_key ,
                        struct string_view in )
{
  int start_len ;
  uint64_t prefix_len___1 ;
  uint64_t suffix_len ;
  int n ;
  int tmp ;

  {
  start_len = (int )in.len;
  prefix_len___1 = (uint64_t )0;
  suffix_len = (uint64_t )0;
  tmp = get_var_int(& prefix_len___1, & in);
  n = tmp;
  if (n < 0) {
    return (-1);
  }
  string_view_consume(& in, n);
  if (prefix_len___1 > last_key.len) {
    return (-1);
  }
  n = get_var_int(& suffix_len, & in);
  if (n <= 0) {
    return (-1);
  }
  string_view_consume(& in, n);
  *extra___2 = (uint8_t )(suffix_len & 7UL);
  suffix_len >>= 3;
  if (in.len < suffix_len) {
    return (-1);
  }
  strbuf_setlen___33(key___1, (size_t )0);
  strbuf_add(key___1, (void const   *)last_key.buf, prefix_len___1);
  strbuf_add(key___1, (void const   *)in.buf, suffix_len);
  string_view_consume(& in, (int )suffix_len);
  return ((int )((size_t )start_len - in.len));
}
}
static void reftable_ref_record_key(void const   *r , struct strbuf *dest )
{
  struct reftable_ref_record  const  *rec ;

  {
  rec = (struct reftable_ref_record  const  *)r;
  strbuf_setlen___33(dest, (size_t )0);
  strbuf_addstr(dest, (char const   *)rec->refname);
  return;
}
}
static void reftable_ref_record_copy_from(void *rec , void const   *src_rec , int hash_size___0 )
{
  struct reftable_ref_record *ref ;
  struct reftable_ref_record  const  *src ;
  void *tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  ref = (struct reftable_ref_record *)rec;
  src = (struct reftable_ref_record  const  *)src_rec;
  assert(hash_size___0 > 0);
  reftable_ref_record_release(ref);
  if (src->refname) {
    ref->refname = xstrdup((char const   *)src->refname);
  }
  ref->update_index = (uint64_t )src->update_index;
  ref->value_type = (enum __anonenum_value_type_72961049 )src->value_type;
  {
  if ((unsigned int )src->value_type == 0U) {
    goto case_0;
  }
  if ((unsigned int )src->value_type == 1U) {
    goto case_1;
  }
  if ((unsigned int )src->value_type == 2U) {
    goto case_2;
  }
  if ((unsigned int )src->value_type == 3U) {
    goto case_3;
  }
  goto switch_break;
  case_0: /* CIL Label */
  goto switch_break;
  case_1: /* CIL Label */
  tmp = reftable_malloc((size_t )hash_size___0);
  ref->value.val1 = (uint8_t *)tmp;
  memcpy((void *)ref->value.val1, (void const   *)src->value.val1, (size_t )hash_size___0);
  goto switch_break;
  case_2: /* CIL Label */
  tmp___0 = reftable_malloc((size_t )hash_size___0);
  ref->value.val2.value = (uint8_t *)tmp___0;
  memcpy((void *)ref->value.val2.value, (void const   *)src->value.val2.value, (size_t )hash_size___0);
  tmp___1 = reftable_malloc((size_t )hash_size___0);
  ref->value.val2.target_value = (uint8_t *)tmp___1;
  memcpy((void *)ref->value.val2.target_value, (void const   *)src->value.val2.target_value,
         (size_t )hash_size___0);
  goto switch_break;
  case_3: /* CIL Label */
  ref->value.symref = xstrdup((char const   *)src->value.symref);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static char hexdigit(int c___0 )
{


  {
  if (c___0 <= 9) {
    return ((char )(48 + c___0));
  }
  return ((char )(97 + (c___0 - 10)));
}
}
static void hex_format(char *dest , uint8_t *src , int hash_size___0 )
{
  int i ;

  {
  assert(hash_size___0 > 0);
  if (src) {
    i = 0;
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < hash_size___0)) {
        goto while_break;
      }
      *(dest + 2 * i) = hexdigit((int )*(src + i) >> 4);
      *(dest + (2 * i + 1)) = hexdigit((int )*(src + i) & 0xf);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    *(dest + 2 * hash_size___0) = (char)0;
  }
  return;
}
}
void reftable_ref_record_print(struct reftable_ref_record *ref , uint32_t hash_id )
{
  char hex___3[65] ;
  unsigned int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  hex___3[0] = (char)0;
  tmp = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 65U) {
      goto while_break;
    }
    hex___3[tmp] = (char)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  printf((char const   *)"ref{%s(%lu) ", ref->refname, ref->update_index);
  {
  if ((unsigned int )ref->value_type == 3U) {
    goto case_3;
  }
  if ((unsigned int )ref->value_type == 2U) {
    goto case_2;
  }
  if ((unsigned int )ref->value_type == 1U) {
    goto case_1;
  }
  if ((unsigned int )ref->value_type == 0U) {
    goto case_0;
  }
  goto switch_break;
  case_3: /* CIL Label */
  printf((char const   *)"=> %s", ref->value.symref);
  goto switch_break;
  case_2: /* CIL Label */
  tmp___0 = hash_size(hash_id);
  hex_format(hex___3, ref->value.val2.value, tmp___0);
  printf((char const   *)"val 2 %s", hex___3);
  tmp___1 = hash_size(hash_id);
  hex_format(hex___3, ref->value.val2.target_value, tmp___1);
  printf((char const   *)"(T %s)", hex___3);
  goto switch_break;
  case_1: /* CIL Label */
  tmp___2 = hash_size(hash_id);
  hex_format(hex___3, ref->value.val1, tmp___2);
  printf((char const   *)"val 1 %s", hex___3);
  goto switch_break;
  case_0: /* CIL Label */
  printf((char const   *)"delete");
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  printf((char const   *)"}\n");
  return;
}
}
static void reftable_ref_record_release_void(void *rec )
{


  {
  reftable_ref_record_release((struct reftable_ref_record *)rec);
  return;
}
}
void reftable_ref_record_release(struct reftable_ref_record *ref )
{


  {
  {
  if ((unsigned int )ref->value_type == 3U) {
    goto case_3;
  }
  if ((unsigned int )ref->value_type == 2U) {
    goto case_2;
  }
  if ((unsigned int )ref->value_type == 1U) {
    goto case_1;
  }
  if ((unsigned int )ref->value_type == 0U) {
    goto case_0;
  }
  goto switch_default;
  case_3: /* CIL Label */
  reftable_free((void *)ref->value.symref);
  goto switch_break;
  case_2: /* CIL Label */
  reftable_free((void *)ref->value.val2.target_value);
  reftable_free((void *)ref->value.val2.value);
  goto switch_break;
  case_1: /* CIL Label */
  reftable_free((void *)ref->value.val1);
  goto switch_break;
  case_0: /* CIL Label */
  goto switch_break;
  switch_default: /* CIL Label */
  abort();
  switch_break: /* CIL Label */ ;
  }
  reftable_free((void *)ref->refname);
  memset((void *)ref, 0, sizeof(struct reftable_ref_record ));
  return;
}
}
static uint8_t reftable_ref_record_val_type(void const   *rec )
{
  struct reftable_ref_record  const  *r ;

  {
  r = (struct reftable_ref_record  const  *)rec;
  return ((uint8_t )r->value_type);
}
}
static int reftable_ref_record_encode(void const   *rec , struct string_view s___1 ,
                                      int hash_size___0 )
{
  struct reftable_ref_record  const  *r ;
  struct string_view start ;
  int n ;
  int tmp ;

  {
  r = (struct reftable_ref_record  const  *)rec;
  start = s___1;
  tmp = put_var_int(& s___1, (uint64_t )r->update_index);
  n = tmp;
  assert(hash_size___0 > 0);
  if (n < 0) {
    return (-1);
  }
  string_view_consume(& s___1, n);
  {
  if ((unsigned int )r->value_type == 3U) {
    goto case_3;
  }
  if ((unsigned int )r->value_type == 2U) {
    goto case_2;
  }
  if ((unsigned int )r->value_type == 1U) {
    goto case_1;
  }
  if ((unsigned int )r->value_type == 0U) {
    goto case_0;
  }
  goto switch_default;
  case_3: /* CIL Label */
  n = encode_string((char *)r->value.symref, s___1);
  if (n < 0) {
    return (-1);
  }
  string_view_consume(& s___1, n);
  goto switch_break;
  case_2: /* CIL Label */
  if (s___1.len < (size_t )(2 * hash_size___0)) {
    return (-1);
  }
  memcpy((void *)s___1.buf, (void const   *)r->value.val2.value, (size_t )hash_size___0);
  string_view_consume(& s___1, hash_size___0);
  memcpy((void *)s___1.buf, (void const   *)r->value.val2.target_value, (size_t )hash_size___0);
  string_view_consume(& s___1, hash_size___0);
  goto switch_break;
  case_1: /* CIL Label */
  if (s___1.len < (size_t )hash_size___0) {
    return (-1);
  }
  memcpy((void *)s___1.buf, (void const   *)r->value.val1, (size_t )hash_size___0);
  string_view_consume(& s___1, hash_size___0);
  goto switch_break;
  case_0: /* CIL Label */
  goto switch_break;
  switch_default: /* CIL Label */
  abort();
  switch_break: /* CIL Label */ ;
  }
  return ((int )(start.len - s___1.len));
}
}
static int reftable_ref_record_decode(void *rec , struct strbuf key___1 , uint8_t val_type ,
                                      struct string_view in , int hash_size___0 )
{
  struct reftable_ref_record *r ;
  struct string_view start ;
  uint64_t update_index___0 ;
  int n ;
  int tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;
  void *tmp___3 ;
  struct strbuf dest ;
  int n___0 ;
  int tmp___4 ;

  {
  r = (struct reftable_ref_record *)rec;
  start = in;
  update_index___0 = (uint64_t )0;
  tmp = get_var_int(& update_index___0, & in);
  n = tmp;
  if (n < 0) {
    return (n);
  }
  string_view_consume(& in, n);
  reftable_ref_record_release(r);
  assert(hash_size___0 > 0);
  tmp___0 = reftable_realloc((void *)r->refname, key___1.len + 1UL);
  r->refname = (char *)tmp___0;
  memcpy((void *)r->refname, (void const   *)key___1.buf, key___1.len);
  r->update_index = update_index___0;
  *(r->refname + key___1.len) = (char)0;
  r->value_type = (enum __anonenum_value_type_72961049 )val_type;
  {
  if ((int )val_type == 1) {
    goto case_1;
  }
  if ((int )val_type == 2) {
    goto case_2;
  }
  if ((int )val_type == 3) {
    goto case_3;
  }
  if ((int )val_type == 0) {
    goto case_0;
  }
  goto switch_default;
  case_1: /* CIL Label */
  if (in.len < (size_t )hash_size___0) {
    return (-1);
  }
  tmp___1 = reftable_malloc((size_t )hash_size___0);
  r->value.val1 = (uint8_t *)tmp___1;
  memcpy((void *)r->value.val1, (void const   *)in.buf, (size_t )hash_size___0);
  string_view_consume(& in, hash_size___0);
  goto switch_break;
  case_2: /* CIL Label */
  if (in.len < (size_t )(2 * hash_size___0)) {
    return (-1);
  }
  tmp___2 = reftable_malloc((size_t )hash_size___0);
  r->value.val2.value = (uint8_t *)tmp___2;
  memcpy((void *)r->value.val2.value, (void const   *)in.buf, (size_t )hash_size___0);
  string_view_consume(& in, hash_size___0);
  tmp___3 = reftable_malloc((size_t )hash_size___0);
  r->value.val2.target_value = (uint8_t *)tmp___3;
  memcpy((void *)r->value.val2.target_value, (void const   *)in.buf, (size_t )hash_size___0);
  string_view_consume(& in, hash_size___0);
  goto switch_break;
  case_3: /* CIL Label */
  dest.alloc = 0UL;
  dest.len = 0UL;
  dest.buf = strbuf_slopbuf;
  tmp___4 = decode_string(& dest, in);
  n___0 = tmp___4;
  if (n___0 < 0) {
    return (-1);
  }
  string_view_consume(& in, n___0);
  r->value.symref = dest.buf;
  goto switch_break;
  case_0: /* CIL Label */
  goto switch_break;
  switch_default: /* CIL Label */
  abort();
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return ((int )(start.len - in.len));
}
}
static int reftable_ref_record_is_deletion_void(void const   *p___0 )
{
  int tmp ;

  {
  tmp = reftable_ref_record_is_deletion((struct reftable_ref_record  const  *)p___0);
  return (tmp);
}
}
static struct reftable_record_vtable reftable_ref_record_vtable  =
     {& reftable_ref_record_key, (uint8_t )'r', & reftable_ref_record_copy_from, & reftable_ref_record_val_type,
    & reftable_ref_record_encode, & reftable_ref_record_decode, & reftable_ref_record_release_void,
    & reftable_ref_record_is_deletion_void};
static void reftable_obj_record_key(void const   *r , struct strbuf *dest )
{
  struct reftable_obj_record  const  *rec ;

  {
  rec = (struct reftable_obj_record  const  *)r;
  strbuf_setlen___33(dest, (size_t )0);
  strbuf_add(dest, (void const   *)rec->hash_prefix, (size_t )rec->hash_prefix_len);
  return;
}
}
static void reftable_obj_record_release(void *rec )
{
  struct reftable_obj_record *obj ;

  {
  obj = (struct reftable_obj_record *)rec;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)obj->hash_prefix);
    obj->hash_prefix = (uint8_t *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)obj->offsets);
    obj->offsets = (uint64_t *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  memset((void *)obj, 0, sizeof(struct reftable_obj_record ));
  return;
}
}
static void reftable_obj_record_copy_from(void *rec , void const   *src_rec , int hash_size___0 )
{
  struct reftable_obj_record *obj ;
  struct reftable_obj_record  const  *src ;
  void *tmp ;
  void *tmp___0 ;

  {
  obj = (struct reftable_obj_record *)rec;
  src = (struct reftable_obj_record  const  *)src_rec;
  reftable_obj_record_release((void *)obj);
  *obj = (struct reftable_obj_record )*src;
  tmp = reftable_malloc((size_t )obj->hash_prefix_len);
  obj->hash_prefix = (uint8_t *)tmp;
  memcpy((void *)obj->hash_prefix, (void const   *)src->hash_prefix, (size_t )obj->hash_prefix_len);
  tmp___0 = reftable_malloc((unsigned long )obj->offset_len * sizeof(uint64_t ));
  obj->offsets = (uint64_t *)tmp___0;
  copy_array((void *)obj->offsets, (void const   *)src->offsets, (size_t )obj->offset_len,
             sizeof(*(obj->offsets)) + (sizeof(char [1]) - 1UL));
  return;
}
}
static uint8_t reftable_obj_record_val_type(void const   *rec )
{
  struct reftable_obj_record  const  *r ;

  {
  r = (struct reftable_obj_record  const  *)rec;
  if (r->offset_len > 0) {
    if (r->offset_len < 8) {
      return ((uint8_t )r->offset_len);
    }
  }
  return ((uint8_t )0);
}
}
static int reftable_obj_record_encode(void const   *rec , struct string_view s___1 ,
                                      int hash_size___0 )
{
  struct reftable_obj_record  const  *r ;
  struct string_view start ;
  int i ;
  int n ;
  uint64_t last ;
  int n___0 ;
  int tmp ;

  {
  r = (struct reftable_obj_record  const  *)rec;
  start = s___1;
  i = 0;
  n = 0;
  last = (uint64_t )0;
  if (r->offset_len == 0) {
    goto _L;
  } else
  if (r->offset_len >= 8) {
    _L: /* CIL Label */
    n = put_var_int(& s___1, (uint64_t )r->offset_len);
    if (n < 0) {
      return (-1);
    }
    string_view_consume(& s___1, n);
  }
  if (r->offset_len == 0) {
    return ((int )(start.len - s___1.len));
  }
  n = put_var_int(& s___1, *(r->offsets + 0));
  if (n < 0) {
    return (-1);
  }
  string_view_consume(& s___1, n);
  last = *(r->offsets + 0);
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (int )r->offset_len)) {
      goto while_break;
    }
    tmp = put_var_int(& s___1, *(r->offsets + i) - last);
    n___0 = tmp;
    if (n___0 < 0) {
      return (-1);
    }
    string_view_consume(& s___1, n___0);
    last = *(r->offsets + i);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((int )(start.len - s___1.len));
}
}
static int reftable_obj_record_decode(void *rec , struct strbuf key___1 , uint8_t val_type ,
                                      struct string_view in , int hash_size___0 )
{
  struct string_view start ;
  struct reftable_obj_record *r ;
  uint64_t count___0 ;
  int n ;
  uint64_t last ;
  int j ;
  void *tmp ;
  void *tmp___0 ;
  uint64_t delta ;
  int n___0 ;
  int tmp___1 ;
  uint64_t tmp___2 ;

  {
  start = in;
  r = (struct reftable_obj_record *)rec;
  count___0 = (uint64_t )val_type;
  n = 0;
  tmp = reftable_malloc(key___1.len);
  r->hash_prefix = (uint8_t *)tmp;
  memcpy((void *)r->hash_prefix, (void const   *)key___1.buf, key___1.len);
  r->hash_prefix_len = (int )key___1.len;
  if ((int )val_type == 0) {
    n = get_var_int(& count___0, & in);
    if (n < 0) {
      return (n);
    }
    string_view_consume(& in, n);
  }
  r->offsets = (uint64_t *)((void *)0);
  r->offset_len = 0;
  if (count___0 == 0UL) {
    return ((int )(start.len - in.len));
  }
  tmp___0 = reftable_malloc(count___0 * sizeof(uint64_t ));
  r->offsets = (uint64_t *)tmp___0;
  r->offset_len = (int )count___0;
  n = get_var_int(r->offsets + 0, & in);
  if (n < 0) {
    return (n);
  }
  string_view_consume(& in, n);
  last = *(r->offsets + 0);
  j = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((uint64_t )j < count___0)) {
      goto while_break;
    }
    delta = (uint64_t )0;
    tmp___1 = get_var_int(& delta, & in);
    n___0 = tmp___1;
    if (n___0 < 0) {
      return (n___0);
    }
    string_view_consume(& in, n___0);
    tmp___2 = delta + last;
    *(r->offsets + j) = tmp___2;
    last = tmp___2;
    j ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((int )(start.len - in.len));
}
}
static int not_a_deletion(void const   *p___0 )
{


  {
  return (0);
}
}
static struct reftable_record_vtable reftable_obj_record_vtable  =
     {& reftable_obj_record_key, (uint8_t )'o', & reftable_obj_record_copy_from, & reftable_obj_record_val_type,
    & reftable_obj_record_encode, & reftable_obj_record_decode, & reftable_obj_record_release,
    & not_a_deletion};
void reftable_log_record_print(struct reftable_log_record *log , uint32_t hash_id )
{
  char hex___3[33] ;
  unsigned int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  hex___3[0] = (char)0;
  tmp = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 33U) {
      goto while_break;
    }
    hex___3[tmp] = (char)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  if ((unsigned int )log->value_type == 0U) {
    goto case_0;
  }
  if ((unsigned int )log->value_type == 1U) {
    goto case_1;
  }
  goto switch_break;
  case_0: /* CIL Label */
  printf((char const   *)"log{%s(%lu) delete", log->refname, log->update_index);
  goto switch_break;
  case_1: /* CIL Label */
  printf((char const   *)"log{%s(%lu) %s <%s> %lu %04d\n", log->refname, log->update_index,
         log->value.update.name, log->value.update.email, log->value.update.time,
         (int )log->value.update.tz_offset);
  tmp___0 = hash_size(hash_id);
  hex_format(hex___3, log->value.update.old_hash, tmp___0);
  printf((char const   *)"%s => ", hex___3);
  tmp___1 = hash_size(hash_id);
  hex_format(hex___3, log->value.update.new_hash, tmp___1);
  printf((char const   *)"%s\n\n%s\n}\n", hex___3, log->value.update.message);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static void reftable_log_record_key(void const   *r , struct strbuf *dest )
{
  struct reftable_log_record  const  *rec ;
  int len___0 ;
  size_t tmp ;
  uint8_t i64[8] ;
  uint64_t ts ;

  {
  rec = (struct reftable_log_record  const  *)r;
  tmp = strlen((char const   *)rec->refname);
  len___0 = (int )tmp;
  ts = (uint64_t )0;
  strbuf_setlen___33(dest, (size_t )0);
  strbuf_add(dest, (void const   *)((uint8_t *)rec->refname), (size_t )(len___0 + 1));
  ts = ~ ts - (uint64_t )rec->update_index;
  put_be64((void *)(& i64[0]), ts);
  strbuf_add(dest, (void const   *)(i64), sizeof(i64));
  return;
}
}
static void reftable_log_record_copy_from(void *rec , void const   *src_rec , int hash_size___0 )
{
  struct reftable_log_record *dst ;
  struct reftable_log_record  const  *src ;
  void *tmp ;
  void *tmp___0 ;

  {
  dst = (struct reftable_log_record *)rec;
  src = (struct reftable_log_record  const  *)src_rec;
  reftable_log_record_release(dst);
  *dst = (struct reftable_log_record )*src;
  if (dst->refname) {
    dst->refname = xstrdup((char const   *)dst->refname);
  }
  {
  if ((unsigned int )dst->value_type == 0U) {
    goto case_0;
  }
  if ((unsigned int )dst->value_type == 1U) {
    goto case_1;
  }
  goto switch_break;
  case_0: /* CIL Label */
  goto switch_break;
  case_1: /* CIL Label */
  if (dst->value.update.email) {
    dst->value.update.email = xstrdup((char const   *)dst->value.update.email);
  }
  if (dst->value.update.name) {
    dst->value.update.name = xstrdup((char const   *)dst->value.update.name);
  }
  if (dst->value.update.message) {
    dst->value.update.message = xstrdup((char const   *)dst->value.update.message);
  }
  if (dst->value.update.new_hash) {
    tmp = reftable_malloc((size_t )hash_size___0);
    dst->value.update.new_hash = (uint8_t *)tmp;
    memcpy((void *)dst->value.update.new_hash, (void const   *)src->value.update.new_hash,
           (size_t )hash_size___0);
  }
  if (dst->value.update.old_hash) {
    tmp___0 = reftable_malloc((size_t )hash_size___0);
    dst->value.update.old_hash = (uint8_t *)tmp___0;
    memcpy((void *)dst->value.update.old_hash, (void const   *)src->value.update.old_hash,
           (size_t )hash_size___0);
  }
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static void reftable_log_record_release_void(void *rec )
{
  struct reftable_log_record *r ;

  {
  r = (struct reftable_log_record *)rec;
  reftable_log_record_release(r);
  return;
}
}
void reftable_log_record_release(struct reftable_log_record *r )
{


  {
  reftable_free((void *)r->refname);
  {
  if ((unsigned int )r->value_type == 0U) {
    goto case_0;
  }
  if ((unsigned int )r->value_type == 1U) {
    goto case_1;
  }
  goto switch_break;
  case_0: /* CIL Label */
  goto switch_break;
  case_1: /* CIL Label */
  reftable_free((void *)r->value.update.new_hash);
  reftable_free((void *)r->value.update.old_hash);
  reftable_free((void *)r->value.update.name);
  reftable_free((void *)r->value.update.email);
  reftable_free((void *)r->value.update.message);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  memset((void *)r, 0, sizeof(struct reftable_log_record ));
  return;
}
}
static uint8_t reftable_log_record_val_type(void const   *rec )
{
  struct reftable_log_record  const  *log ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  log = (struct reftable_log_record  const  *)rec;
  tmp___1 = reftable_log_record_is_deletion(log);
  if (tmp___1) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return ((uint8_t )tmp___0);
}
}
static uint8_t zero[32]  = {      (uint8_t )0};
static int reftable_log_record_encode(void const   *rec , struct string_view s___1 ,
                                      int hash_size___0 )
{
  struct reftable_log_record  const  *r ;
  struct string_view start ;
  int n ;
  uint8_t *oldh ;
  uint8_t *newh ;
  int tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  r = (struct reftable_log_record  const  *)rec;
  start = s___1;
  n = 0;
  oldh = (uint8_t *)((void *)0);
  newh = (uint8_t *)((void *)0);
  tmp = reftable_log_record_is_deletion(r);
  if (tmp) {
    return (0);
  }
  oldh = (uint8_t *)r->value.update.old_hash;
  newh = (uint8_t *)r->value.update.new_hash;
  if (! oldh) {
    oldh = zero;
  }
  if (! newh) {
    newh = zero;
  }
  if (s___1.len < (size_t )(2 * hash_size___0)) {
    return (-1);
  }
  memcpy((void *)s___1.buf, (void const   *)oldh, (size_t )hash_size___0);
  memcpy((void *)(s___1.buf + hash_size___0), (void const   *)newh, (size_t )hash_size___0);
  string_view_consume(& s___1, 2 * hash_size___0);
  if (r->value.update.name) {
    tmp___0 = (char *)r->value.update.name;
  } else {
    tmp___0 = "";
  }
  n = encode_string(tmp___0, s___1);
  if (n < 0) {
    return (-1);
  }
  string_view_consume(& s___1, n);
  if (r->value.update.email) {
    tmp___1 = (char *)r->value.update.email;
  } else {
    tmp___1 = "";
  }
  n = encode_string(tmp___1, s___1);
  if (n < 0) {
    return (-1);
  }
  string_view_consume(& s___1, n);
  n = put_var_int(& s___1, (uint64_t )r->value.update.time);
  if (n < 0) {
    return (-1);
  }
  string_view_consume(& s___1, n);
  if (s___1.len < 2UL) {
    return (-1);
  }
  put_be16(s___1.buf, (uint16_t )r->value.update.tz_offset);
  string_view_consume(& s___1, 2);
  if (r->value.update.message) {
    tmp___2 = (char *)r->value.update.message;
  } else {
    tmp___2 = "";
  }
  n = encode_string(tmp___2, s___1);
  if (n < 0) {
    return (-1);
  }
  string_view_consume(& s___1, n);
  return ((int )(start.len - s___1.len));
}
}
static int reftable_log_record_decode(void *rec , struct strbuf key___1 , uint8_t val_type ,
                                      struct string_view in , int hash_size___0 )
{
  struct string_view start ;
  struct reftable_log_record *r ;
  uint64_t max ;
  uint64_t ts ;
  struct strbuf dest ;
  int n ;
  void *tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;
  void *tmp___3 ;
  uint16_t tmp___4 ;
  void *tmp___5 ;

  {
  start = in;
  r = (struct reftable_log_record *)rec;
  max = (uint64_t )0;
  ts = (uint64_t )0;
  dest.alloc = 0UL;
  dest.len = 0UL;
  dest.buf = strbuf_slopbuf;
  if (key___1.len <= 9UL) {
    return (-3);
  } else
  if ((int )*(key___1.buf + (key___1.len - 9UL)) != 0) {
    return (-3);
  }
  tmp = reftable_realloc((void *)r->refname, key___1.len - 8UL);
  r->refname = (char *)tmp;
  memcpy((void *)r->refname, (void const   *)key___1.buf, key___1.len - 8UL);
  ts = get_be64((void const   *)((key___1.buf + key___1.len) - 8));
  r->update_index = ~ max - ts;
  if ((unsigned int )val_type != (unsigned int )r->value_type) {
    {
    if ((unsigned int )r->value_type == 1U) {
      goto case_1;
    }
    if ((unsigned int )r->value_type == 0U) {
      goto case_0;
    }
    goto switch_break;
    case_1: /* CIL Label */
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      free((void *)r->value.update.old_hash);
      r->value.update.old_hash = (uint8_t *)((void *)0);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      free((void *)r->value.update.new_hash);
      r->value.update.new_hash = (uint8_t *)((void *)0);
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      free((void *)r->value.update.message);
      r->value.update.message = (char *)((void *)0);
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      free((void *)r->value.update.email);
      r->value.update.email = (char *)((void *)0);
      goto while_break___2;
    }
    while_break___2: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      free((void *)r->value.update.name);
      r->value.update.name = (char *)((void *)0);
      goto while_break___3;
    }
    while_break___3: /* CIL Label */ ;
    }
    goto switch_break;
    case_0: /* CIL Label */
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
  }
  r->value_type = (enum __anonenum_value_type_859643437 )val_type;
  if ((int )val_type == 0) {
    return (0);
  }
  if (in.len < (size_t )(2 * hash_size___0)) {
    return (-3);
  }
  tmp___0 = reftable_realloc((void *)r->value.update.old_hash, (size_t )hash_size___0);
  r->value.update.old_hash = (uint8_t *)tmp___0;
  tmp___1 = reftable_realloc((void *)r->value.update.new_hash, (size_t )hash_size___0);
  r->value.update.new_hash = (uint8_t *)tmp___1;
  memcpy((void *)r->value.update.old_hash, (void const   *)in.buf, (size_t )hash_size___0);
  memcpy((void *)r->value.update.new_hash, (void const   *)(in.buf + hash_size___0),
         (size_t )hash_size___0);
  string_view_consume(& in, 2 * hash_size___0);
  n = decode_string(& dest, in);
  if (n < 0) {
    goto done;
  }
  string_view_consume(& in, n);
  tmp___2 = reftable_realloc((void *)r->value.update.name, dest.len + 1UL);
  r->value.update.name = (char *)tmp___2;
  memcpy((void *)r->value.update.name, (void const   *)dest.buf, dest.len);
  *(r->value.update.name + dest.len) = (char)0;
  strbuf_setlen___33(& dest, (size_t )0);
  n = decode_string(& dest, in);
  if (n < 0) {
    goto done;
  }
  string_view_consume(& in, n);
  tmp___3 = reftable_realloc((void *)r->value.update.email, dest.len + 1UL);
  r->value.update.email = (char *)tmp___3;
  memcpy((void *)r->value.update.email, (void const   *)dest.buf, dest.len);
  *(r->value.update.email + dest.len) = (char)0;
  ts = (uint64_t )0;
  n = get_var_int(& ts, & in);
  if (n < 0) {
    goto done;
  }
  string_view_consume(& in, n);
  r->value.update.time = ts;
  if (in.len < 2UL) {
    goto done;
  }
  tmp___4 = get_be16((void const   *)in.buf);
  r->value.update.tz_offset = (int16_t )tmp___4;
  string_view_consume(& in, 2);
  strbuf_setlen___33(& dest, (size_t )0);
  n = decode_string(& dest, in);
  if (n < 0) {
    goto done;
  }
  string_view_consume(& in, n);
  tmp___5 = reftable_realloc((void *)r->value.update.message, dest.len + 1UL);
  r->value.update.message = (char *)tmp___5;
  memcpy((void *)r->value.update.message, (void const   *)dest.buf, dest.len);
  *(r->value.update.message + dest.len) = (char)0;
  strbuf_release(& dest);
  return ((int )(start.len - in.len));
  done:
  strbuf_release(& dest);
  return (-3);
}
}
static int null_streq(char *a , char *b___0 )
{
  char *empty ;
  int tmp ;

  {
  empty = "";
  if (! a) {
    a = empty;
  }
  if (! b___0) {
    b___0 = empty;
  }
  tmp = strcmp((char const   *)a, (char const   *)b___0);
  return (0 == tmp);
}
}
static int zero_hash_eq(uint8_t *a , uint8_t *b___0 , int sz )
{
  int tmp ;
  int tmp___0 ;

  {
  if (! a) {
    a = zero;
  }
  if (! b___0) {
    b___0 = zero;
  }
  tmp = memcmp((void const   *)a, (void const   *)b___0, (size_t )sz);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
int reftable_log_record_equal(struct reftable_log_record *a , struct reftable_log_record *b___0 ,
                              int hash_size___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = null_streq(a->refname, b___0->refname);
  if (tmp) {
    if (a->update_index == b___0->update_index) {
      if (! ((unsigned int )a->value_type == (unsigned int )b___0->value_type)) {
        return (0);
      }
    } else {
      return (0);
    }
  } else {
    return (0);
  }
  {
  if ((unsigned int )a->value_type == 0U) {
    goto case_0;
  }
  if ((unsigned int )a->value_type == 1U) {
    goto case_1;
  }
  goto switch_break;
  case_0: /* CIL Label */
  return (1);
  case_1: /* CIL Label */
  tmp___0 = null_streq(a->value.update.name, b___0->value.update.name);
  if (tmp___0) {
    if (a->value.update.time == b___0->value.update.time) {
      if ((int )a->value.update.tz_offset == (int )b___0->value.update.tz_offset) {
        tmp___1 = null_streq(a->value.update.email, b___0->value.update.email);
        if (tmp___1) {
          tmp___2 = null_streq(a->value.update.message, b___0->value.update.message);
          if (tmp___2) {
            tmp___3 = zero_hash_eq(a->value.update.old_hash, b___0->value.update.old_hash,
                                   hash_size___0);
            if (tmp___3) {
              tmp___4 = zero_hash_eq(a->value.update.new_hash, b___0->value.update.new_hash,
                                     hash_size___0);
              if (tmp___4) {
                tmp___5 = 1;
              } else {
                tmp___5 = 0;
              }
            } else {
              tmp___5 = 0;
            }
          } else {
            tmp___5 = 0;
          }
        } else {
          tmp___5 = 0;
        }
      } else {
        tmp___5 = 0;
      }
    } else {
      tmp___5 = 0;
    }
  } else {
    tmp___5 = 0;
  }
  return (tmp___5);
  switch_break: /* CIL Label */ ;
  }
  abort();
}
}
static int reftable_log_record_is_deletion_void(void const   *p___0 )
{
  int tmp ;

  {
  tmp = reftable_log_record_is_deletion((struct reftable_log_record  const  *)p___0);
  return (tmp);
}
}
static struct reftable_record_vtable reftable_log_record_vtable  =
     {& reftable_log_record_key, (uint8_t )'g', & reftable_log_record_copy_from, & reftable_log_record_val_type,
    & reftable_log_record_encode, & reftable_log_record_decode, & reftable_log_record_release_void,
    & reftable_log_record_is_deletion_void};
struct reftable_record reftable_new_record(uint8_t typ )
{
  struct reftable_record rec ;
  struct reftable_ref_record *r ;
  void *tmp ;
  struct reftable_obj_record *r___0 ;
  void *tmp___0 ;
  struct reftable_log_record *r___1 ;
  void *tmp___1 ;
  struct reftable_index_record empty ;
  struct reftable_index_record *r___2 ;
  void *tmp___2 ;

  {
  rec.data = (void *)0;
  rec.ops = (struct reftable_record_vtable *)0;
  {
  if ((int )typ == 114) {
    goto case_114;
  }
  if ((int )typ == 111) {
    goto case_111;
  }
  if ((int )typ == 103) {
    goto case_103;
  }
  if ((int )typ == 105) {
    goto case_105;
  }
  goto switch_break;
  case_114: /* CIL Label */
  tmp = reftable_calloc(sizeof(struct reftable_ref_record ));
  r = (struct reftable_ref_record *)tmp;
  reftable_record_from_ref(& rec, r);
  return (rec);
  case_111: /* CIL Label */
  tmp___0 = reftable_calloc(sizeof(struct reftable_obj_record ));
  r___0 = (struct reftable_obj_record *)tmp___0;
  reftable_record_from_obj(& rec, r___0);
  return (rec);
  case_103: /* CIL Label */
  tmp___1 = reftable_calloc(sizeof(struct reftable_log_record ));
  r___1 = (struct reftable_log_record *)tmp___1;
  reftable_record_from_log(& rec, r___1);
  return (rec);
  case_105: /* CIL Label */
  empty.offset = 0UL;
  empty.last_key.alloc = 0UL;
  empty.last_key.len = 0UL;
  empty.last_key.buf = strbuf_slopbuf;
  tmp___2 = reftable_calloc(sizeof(struct reftable_index_record ));
  r___2 = (struct reftable_index_record *)tmp___2;
  *r___2 = empty;
  reftable_record_from_index(& rec, r___2);
  return (rec);
  switch_break: /* CIL Label */ ;
  }
  abort();
  return (rec);
}
}
static void *reftable_record_yield(struct reftable_record *rec )
{
  void *p___0 ;

  {
  p___0 = rec->data;
  rec->data = (void *)0;
  return (p___0);
}
}
void reftable_record_destroy(struct reftable_record *rec )
{
  void *tmp ;

  {
  reftable_record_release(rec);
  tmp = reftable_record_yield(rec);
  reftable_free(tmp);
  return;
}
}
static void reftable_index_record_key(void const   *r , struct strbuf *dest )
{
  struct reftable_index_record  const  *rec ;

  {
  rec = (struct reftable_index_record  const  *)r;
  strbuf_setlen___33(dest, (size_t )0);
  strbuf_addbuf(dest, (struct strbuf  const  *)(& rec->last_key));
  return;
}
}
static void reftable_index_record_copy_from(void *rec , void const   *src_rec , int hash_size___0 )
{
  struct reftable_index_record *dst ;
  struct reftable_index_record  const  *src ;

  {
  dst = (struct reftable_index_record *)rec;
  src = (struct reftable_index_record  const  *)src_rec;
  strbuf_setlen___33(& dst->last_key, (size_t )0);
  strbuf_addbuf(& dst->last_key, (struct strbuf  const  *)(& src->last_key));
  dst->offset = (uint64_t )src->offset;
  return;
}
}
static void reftable_index_record_release(void *rec )
{
  struct reftable_index_record *idx___0 ;

  {
  idx___0 = (struct reftable_index_record *)rec;
  strbuf_release(& idx___0->last_key);
  return;
}
}
static uint8_t reftable_index_record_val_type(void const   *rec )
{


  {
  return ((uint8_t )0);
}
}
static int reftable_index_record_encode(void const   *rec , struct string_view out ,
                                        int hash_size___0 )
{
  struct reftable_index_record  const  *r ;
  struct string_view start ;
  int n ;
  int tmp ;

  {
  r = (struct reftable_index_record  const  *)rec;
  start = out;
  tmp = put_var_int(& out, (uint64_t )r->offset);
  n = tmp;
  if (n < 0) {
    return (n);
  }
  string_view_consume(& out, n);
  return ((int )(start.len - out.len));
}
}
static int reftable_index_record_decode(void *rec , struct strbuf key___1 , uint8_t val_type ,
                                        struct string_view in , int hash_size___0 )
{
  struct string_view start ;
  struct reftable_index_record *r ;
  int n ;

  {
  start = in;
  r = (struct reftable_index_record *)rec;
  n = 0;
  strbuf_setlen___33(& r->last_key, (size_t )0);
  strbuf_addbuf(& r->last_key, (struct strbuf  const  *)(& key___1));
  n = get_var_int(& r->offset, & in);
  if (n < 0) {
    return (n);
  }
  string_view_consume(& in, n);
  return ((int )(start.len - in.len));
}
}
static struct reftable_record_vtable reftable_index_record_vtable  =
     {& reftable_index_record_key, (uint8_t )'i', & reftable_index_record_copy_from,
    & reftable_index_record_val_type, & reftable_index_record_encode, & reftable_index_record_decode,
    & reftable_index_record_release, & not_a_deletion};
void reftable_record_key(struct reftable_record *rec , struct strbuf *dest )
{


  {
  (*((rec->ops)->key))((void const   *)rec->data, dest);
  return;
}
}
uint8_t reftable_record_type(struct reftable_record *rec )
{


  {
  return ((rec->ops)->type);
}
}
int reftable_record_encode(struct reftable_record *rec , struct string_view dest ,
                           int hash_size___0 )
{
  int tmp ;

  {
  tmp = (*((rec->ops)->encode))((void const   *)rec->data, dest, hash_size___0);
  return (tmp);
}
}
void reftable_record_copy_from(struct reftable_record *rec , struct reftable_record *src ,
                               int hash_size___0 )
{


  {
  assert((int )(src->ops)->type == (int )(rec->ops)->type);
  (*((rec->ops)->copy_from))(rec->data, (void const   *)src->data, hash_size___0);
  return;
}
}
uint8_t reftable_record_val_type(struct reftable_record *rec )
{
  uint8_t tmp ;

  {
  tmp = (*((rec->ops)->val_type))((void const   *)rec->data);
  return (tmp);
}
}
int reftable_record_decode(struct reftable_record *rec , struct strbuf key___1 , uint8_t extra___2 ,
                           struct string_view src , int hash_size___0 )
{
  int tmp ;

  {
  tmp = (*((rec->ops)->decode))(rec->data, key___1, extra___2, src, hash_size___0);
  return (tmp);
}
}
void reftable_record_release(struct reftable_record *rec )
{


  {
  (*((rec->ops)->release))(rec->data);
  return;
}
}
int reftable_record_is_deletion(struct reftable_record *rec )
{
  int tmp ;

  {
  tmp = (*((rec->ops)->is_deletion))((void const   *)rec->data);
  return (tmp);
}
}
void reftable_record_from_ref(struct reftable_record *rec , struct reftable_ref_record *ref_rec )
{


  {
  assert(! rec->ops);
  rec->data = (void *)ref_rec;
  rec->ops = & reftable_ref_record_vtable;
  return;
}
}
void reftable_record_from_obj(struct reftable_record *rec , struct reftable_obj_record *obj_rec )
{


  {
  assert(! rec->ops);
  rec->data = (void *)obj_rec;
  rec->ops = & reftable_obj_record_vtable;
  return;
}
}
void reftable_record_from_index(struct reftable_record *rec , struct reftable_index_record *index_rec )
{


  {
  assert(! rec->ops);
  rec->data = (void *)index_rec;
  rec->ops = & reftable_index_record_vtable;
  return;
}
}
void reftable_record_from_log(struct reftable_record *rec , struct reftable_log_record *log_rec )
{


  {
  assert(! rec->ops);
  rec->data = (void *)log_rec;
  rec->ops = & reftable_log_record_vtable;
  return;
}
}
struct reftable_ref_record *reftable_record_as_ref(struct reftable_record *rec )
{
  uint8_t tmp ;

  {
  tmp = reftable_record_type(rec);
  assert((int )tmp == 114);
  return ((struct reftable_ref_record *)rec->data);
}
}
struct reftable_log_record *reftable_record_as_log(struct reftable_record *rec )
{
  uint8_t tmp ;

  {
  tmp = reftable_record_type(rec);
  assert((int )tmp == 103);
  return ((struct reftable_log_record *)rec->data);
}
}
static int hash_equal(uint8_t *a , uint8_t *b___0 , int hash_size___0 )
{
  int tmp ;
  int tmp___0 ;

  {
  if (a) {
    if (b___0) {
      tmp = memcmp((void const   *)a, (void const   *)b___0, (size_t )hash_size___0);
      if (tmp) {
        tmp___0 = 0;
      } else {
        tmp___0 = 1;
      }
      return (tmp___0);
    }
  }
  return ((unsigned long )a == (unsigned long )b___0);
}
}
int reftable_ref_record_equal(struct reftable_ref_record *a , struct reftable_ref_record *b___0 ,
                              int hash_size___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  assert(hash_size___0 > 0);
  tmp = strcmp((char const   *)a->refname, (char const   *)b___0->refname);
  if (0 == tmp) {
    if (a->update_index == b___0->update_index) {
      if (! ((unsigned int )a->value_type == (unsigned int )b___0->value_type)) {
        return (0);
      }
    } else {
      return (0);
    }
  } else {
    return (0);
  }
  {
  if ((unsigned int )a->value_type == 3U) {
    goto case_3;
  }
  if ((unsigned int )a->value_type == 2U) {
    goto case_2;
  }
  if ((unsigned int )a->value_type == 1U) {
    goto case_1;
  }
  if ((unsigned int )a->value_type == 0U) {
    goto case_0;
  }
  goto switch_default;
  case_3: /* CIL Label */
  tmp___0 = strcmp((char const   *)a->value.symref, (char const   *)b___0->value.symref);
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  return (tmp___1);
  case_2: /* CIL Label */
  tmp___2 = hash_equal(a->value.val2.value, b___0->value.val2.value, hash_size___0);
  if (tmp___2) {
    tmp___3 = hash_equal(a->value.val2.target_value, b___0->value.val2.target_value,
                         hash_size___0);
    if (tmp___3) {
      tmp___4 = 1;
    } else {
      tmp___4 = 0;
    }
  } else {
    tmp___4 = 0;
  }
  return (tmp___4);
  case_1: /* CIL Label */
  tmp___5 = hash_equal(a->value.val1, b___0->value.val1, hash_size___0);
  return (tmp___5);
  case_0: /* CIL Label */
  return (1);
  switch_default: /* CIL Label */
  abort();
  switch_break: /* CIL Label */ ;
  }
}
}
int reftable_ref_record_compare_name(void const   *a , void const   *b___0 )
{
  int tmp ;

  {
  tmp = strcmp((char const   *)((struct reftable_ref_record *)a)->refname, (char const   *)((struct reftable_ref_record *)b___0)->refname);
  return (tmp);
}
}
int reftable_ref_record_is_deletion(struct reftable_ref_record  const  *ref )
{


  {
  return ((unsigned int )ref->value_type == 0U);
}
}
int reftable_log_record_compare_key(void const   *a , void const   *b___0 )
{
  struct reftable_log_record  const  *la ;
  struct reftable_log_record  const  *lb ;
  int cmp___0 ;
  int tmp ;
  int tmp___0 ;

  {
  la = (struct reftable_log_record  const  *)a;
  lb = (struct reftable_log_record  const  *)b___0;
  tmp = strcmp((char const   *)la->refname, (char const   *)lb->refname);
  cmp___0 = tmp;
  if (cmp___0) {
    return (cmp___0);
  }
  if (la->update_index > lb->update_index) {
    return (-1);
  }
  if (la->update_index < lb->update_index) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
int reftable_log_record_is_deletion(struct reftable_log_record  const  *log )
{


  {
  return ((unsigned int )log->value_type == 0U);
}
}
void string_view_consume(struct string_view *s___1 , int n )
{


  {
  s___1->buf += n;
  s___1->len -= (size_t )n;
  return;
}
}
int validate_ref_record_addition(struct reftable_table tab , struct reftable_ref_record *recs ,
                                 size_t sz ) ;
int modification_validate(struct modification *mod ) ;
static int find_name___0(size_t k , void *arg )
{
  struct find_arg *f_arg ;
  int tmp ;

  {
  f_arg = (struct find_arg *)arg;
  tmp = strcmp((char const   *)*(f_arg->names + k), f_arg->want);
  return (tmp >= 0);
}
}
static int modification_has_ref(struct modification *mod , char const   *name___0 )
{
  struct reftable_ref_record ref ;
  int err___4 ;
  struct find_arg arg ;
  int idx___0 ;
  int tmp ;
  int tmp___0 ;
  struct find_arg arg___0 ;
  int idx___1 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  ref.refname = (char *)((void *)0);
  ref.update_index = 0UL;
  ref.value_type = 0U;
  ref.value.val2.value = (uint8_t *)0;
  ref.value.val2.target_value = (uint8_t *)0;
  err___4 = 0;
  if (mod->add_len > 0UL) {
    arg.names = mod->add;
    arg.want = name___0;
    tmp = binsearch(mod->add_len, & find_name___0, (void *)(& arg));
    idx___0 = tmp;
    if ((size_t )idx___0 < mod->add_len) {
      tmp___0 = strcmp((char const   *)*(mod->add + idx___0), name___0);
      if (! tmp___0) {
        return (0);
      }
    }
  }
  if (mod->del_len > 0UL) {
    arg___0.names = mod->del;
    arg___0.want = name___0;
    tmp___1 = binsearch(mod->del_len, & find_name___0, (void *)(& arg___0));
    idx___1 = tmp___1;
    if ((size_t )idx___1 < mod->del_len) {
      tmp___2 = strcmp((char const   *)*(mod->del + idx___1), name___0);
      if (! tmp___2) {
        return (1);
      }
    }
  }
  err___4 = reftable_table_read_ref(& mod->tab, name___0, & ref);
  reftable_ref_record_release(& ref);
  return (err___4);
}
}
static void modification_release(struct modification *mod )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)mod->add);
    mod->add = (char **)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)mod->del);
    mod->del = (char **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  mod->add_len = (size_t )0;
  mod->del_len = (size_t )0;
  return;
}
}
static int modification_has_ref_with_prefix(struct modification *mod , char const   *prefix___1 )
{
  struct reftable_iterator it ;
  struct reftable_ref_record ref ;
  int err___4 ;
  struct find_arg arg ;
  int idx___0 ;
  int tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  struct find_arg arg___0 ;
  int idx___1 ;
  int tmp___2 ;
  int tmp___3 ;
  size_t tmp___4 ;
  int tmp___5 ;

  {
  it.ops = (struct reftable_iterator_vtable *)((void *)0);
  it.iter_arg = (void *)0;
  ref.refname = (char *)((void *)0);
  ref.update_index = 0UL;
  ref.value_type = 0U;
  ref.value.val2.value = (uint8_t *)0;
  ref.value.val2.target_value = (uint8_t *)0;
  err___4 = 0;
  if (mod->add_len > 0UL) {
    arg.names = mod->add;
    arg.want = prefix___1;
    tmp = binsearch(mod->add_len, & find_name___0, (void *)(& arg));
    idx___0 = tmp;
    if ((size_t )idx___0 < mod->add_len) {
      tmp___0 = strlen(prefix___1);
      tmp___1 = strncmp(prefix___1, (char const   *)*(mod->add + idx___0), tmp___0);
      if (! tmp___1) {
        goto done;
      }
    }
  }
  err___4 = reftable_table_seek_ref(& mod->tab, & it, prefix___1);
  if (err___4) {
    goto done;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    err___4 = reftable_iterator_next_ref(& it, & ref);
    if (err___4) {
      goto done;
    }
    if (mod->del_len > 0UL) {
      arg___0.names = mod->del;
      arg___0.want = (char const   *)ref.refname;
      tmp___2 = binsearch(mod->del_len, & find_name___0, (void *)(& arg___0));
      idx___1 = tmp___2;
      if ((size_t )idx___1 < mod->del_len) {
        tmp___3 = strcmp((char const   *)ref.refname, (char const   *)*(mod->del + idx___1));
        if (! tmp___3) {
          goto while_continue;
        }
      }
    }
    tmp___4 = strlen(prefix___1);
    tmp___5 = strncmp((char const   *)ref.refname, prefix___1, tmp___4);
    if (tmp___5) {
      err___4 = 1;
      goto done;
    }
    err___4 = 0;
    goto done;
  }
  while_break: /* CIL Label */ ;
  }
  done:
  reftable_ref_record_release(& ref);
  reftable_iterator_destroy(& it);
  return (err___4);
}
}
static int validate_refname(char const   *name___0 )
{
  char *next___2 ;
  char *tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = strchr(name___0, '/');
    next___2 = tmp;
    if (! *name___0) {
      return (-10);
    }
    if (! next___2) {
      return (0);
    }
    if (next___2 - (char *)name___0 == 0L) {
      return (-10);
    } else
    if (next___2 - (char *)name___0 == 1L) {
      if ((int const   )*name___0 == 46) {
        return (-10);
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (next___2 - (char *)name___0 == 2L) {
      if ((int const   )*(name___0 + 0) == 46) {
        if ((int const   )*(name___0 + 1) == 46) {
          return (-10);
        }
      }
    }
    name___0 = (char const   *)(next___2 + 1);
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int validate_ref_record_addition(struct reftable_table tab , struct reftable_ref_record *recs ,
                                 size_t sz )
{
  struct modification mod ;
  void *tmp ;
  void *tmp___0 ;
  int i ;
  int err___4 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  int tmp___3 ;

  {
  tmp = reftable_calloc(sizeof(char *) * sz);
  tmp___0 = reftable_calloc(sizeof(char *) * sz);
  mod.tab = tab;
  mod.add = (char **)tmp;
  mod.add_len = 0UL;
  mod.del = (char **)tmp___0;
  mod.del_len = 0UL;
  i = 0;
  err___4 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < sz)) {
      goto while_break;
    }
    tmp___3 = reftable_ref_record_is_deletion((struct reftable_ref_record  const  *)(recs + i));
    if (tmp___3) {
      tmp___1 = mod.del_len;
      (mod.del_len) ++;
      *(mod.del + tmp___1) = (recs + i)->refname;
    } else {
      tmp___2 = mod.add_len;
      (mod.add_len) ++;
      *(mod.add + tmp___2) = (recs + i)->refname;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  err___4 = modification_validate(& mod);
  modification_release(& mod);
  return (err___4);
}
}
static void strbuf_trim_component(struct strbuf *sl )
{
  int is_slash ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (sl->len > 0UL)) {
      goto while_break;
    }
    is_slash = (int )*(sl->buf + (sl->len - 1UL)) == 47;
    strbuf_setlen___33(sl, sl->len - 1UL);
    if (is_slash) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int modification_validate(struct modification *mod )
{
  struct strbuf slashed ;
  int err___4 ;
  int i ;

  {
  slashed.alloc = 0UL;
  slashed.len = 0UL;
  slashed.buf = strbuf_slopbuf;
  err___4 = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < mod->add_len)) {
      goto while_break;
    }
    err___4 = validate_refname((char const   *)*(mod->add + i));
    if (err___4) {
      goto done;
    }
    strbuf_setlen___33(& slashed, (size_t )0);
    strbuf_addstr(& slashed, (char const   *)*(mod->add + i));
    strbuf_addstr(& slashed, (char const   *)"/");
    err___4 = modification_has_ref_with_prefix(mod, (char const   *)slashed.buf);
    if (err___4 == 0) {
      err___4 = -9;
      goto done;
    }
    if (err___4 < 0) {
      goto done;
    }
    strbuf_setlen___33(& slashed, (size_t )0);
    strbuf_addstr(& slashed, (char const   *)*(mod->add + i));
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! slashed.len) {
        goto while_break___0;
      }
      strbuf_trim_component(& slashed);
      err___4 = modification_has_ref(mod, (char const   *)slashed.buf);
      if (err___4 == 0) {
        err___4 = -9;
        goto done;
      }
      if (err___4 < 0) {
        goto done;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  err___4 = 0;
  done:
  strbuf_release(& slashed);
  return (err___4);
}
}
int reftable_table_seek_ref(struct reftable_table *tab , struct reftable_iterator *it ,
                            char const   *name___0 )
{
  struct reftable_ref_record ref ;
  struct reftable_record rec ;
  int tmp ;

  {
  ref.refname = (char *)name___0;
  ref.update_index = 0UL;
  ref.value_type = 0U;
  ref.value.val2.value = (uint8_t *)0;
  ref.value.val2.target_value = (uint8_t *)0;
  rec.data = (void *)0;
  rec.ops = (struct reftable_record_vtable *)0;
  reftable_record_from_ref(& rec, & ref);
  tmp = (*((tab->ops)->seek_record))(tab->table_arg, it, & rec);
  return (tmp);
}
}
int reftable_table_seek_log(struct reftable_table *tab , struct reftable_iterator *it ,
                            char const   *name___0 )
{
  struct reftable_log_record log ;
  struct reftable_record rec ;
  int tmp ;

  {
  log.refname = (char *)name___0;
  log.update_index = ~ ((uint64_t )0);
  log.value_type = 0U;
  log.value.update.new_hash = (uint8_t *)0;
  log.value.update.old_hash = (uint8_t *)0;
  log.value.update.name = (char *)0;
  log.value.update.email = (char *)0;
  log.value.update.time = 0UL;
  log.value.update.tz_offset = (short)0;
  log.value.update.message = (char *)0;
  rec.data = (void *)0;
  rec.ops = (struct reftable_record_vtable *)0;
  reftable_record_from_log(& rec, & log);
  tmp = (*((tab->ops)->seek_record))(tab->table_arg, it, & rec);
  return (tmp);
}
}
int reftable_table_read_ref(struct reftable_table *tab , char const   *name___0 ,
                            struct reftable_ref_record *ref )
{
  struct reftable_iterator it ;
  int err___4 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  it.ops = (struct reftable_iterator_vtable *)((void *)0);
  it.iter_arg = (void *)0;
  tmp = reftable_table_seek_ref(tab, & it, name___0);
  err___4 = tmp;
  if (err___4) {
    goto done;
  }
  err___4 = reftable_iterator_next_ref(& it, ref);
  if (err___4) {
    goto done;
  }
  tmp___0 = strcmp((char const   *)ref->refname, name___0);
  if (tmp___0) {
    reftable_ref_record_release(ref);
    err___4 = 1;
    goto done;
  } else {
    tmp___1 = reftable_ref_record_is_deletion((struct reftable_ref_record  const  *)ref);
    if (tmp___1) {
      reftable_ref_record_release(ref);
      err___4 = 1;
      goto done;
    }
  }
  done:
  reftable_iterator_destroy(& it);
  return (err___4);
}
}
int reftable_table_print(struct reftable_table *tab )
{
  struct reftable_iterator it ;
  struct reftable_ref_record ref ;
  struct reftable_log_record log ;
  uint32_t hash_id ;
  uint32_t tmp ;
  int err___4 ;
  int tmp___0 ;

  {
  it.ops = (struct reftable_iterator_vtable *)((void *)0);
  it.iter_arg = (void *)0;
  ref.refname = (char *)((void *)0);
  ref.update_index = 0UL;
  ref.value_type = 0U;
  ref.value.val2.value = (uint8_t *)0;
  ref.value.val2.target_value = (uint8_t *)0;
  log.refname = (char *)((void *)0);
  log.update_index = 0UL;
  log.value_type = 0U;
  log.value.update.new_hash = (uint8_t *)0;
  log.value.update.old_hash = (uint8_t *)0;
  log.value.update.name = (char *)0;
  log.value.update.email = (char *)0;
  log.value.update.time = 0UL;
  log.value.update.tz_offset = (short)0;
  log.value.update.message = (char *)0;
  tmp = reftable_table_hash_id(tab);
  hash_id = tmp;
  tmp___0 = reftable_table_seek_ref(tab, & it, (char const   *)"");
  err___4 = tmp___0;
  if (err___4 < 0) {
    return (err___4);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    err___4 = reftable_iterator_next_ref(& it, & ref);
    if (err___4 > 0) {
      goto while_break;
    }
    if (err___4 < 0) {
      return (err___4);
    }
    reftable_ref_record_print(& ref, hash_id);
  }
  while_break: /* CIL Label */ ;
  }
  reftable_iterator_destroy(& it);
  reftable_ref_record_release(& ref);
  err___4 = reftable_table_seek_log(tab, & it, (char const   *)"");
  if (err___4 < 0) {
    return (err___4);
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    err___4 = reftable_iterator_next_log(& it, & log);
    if (err___4 > 0) {
      goto while_break___0;
    }
    if (err___4 < 0) {
      return (err___4);
    }
    reftable_log_record_print(& log, hash_id);
  }
  while_break___0: /* CIL Label */ ;
  }
  reftable_iterator_destroy(& it);
  reftable_log_record_release(& log);
  return (0);
}
}
uint64_t reftable_table_max_update_index(struct reftable_table *tab )
{
  uint64_t tmp ;

  {
  tmp = (*((tab->ops)->max_update_index))(tab->table_arg);
  return (tmp);
}
}
uint64_t reftable_table_min_update_index(struct reftable_table *tab )
{
  uint64_t tmp ;

  {
  tmp = (*((tab->ops)->min_update_index))(tab->table_arg);
  return (tmp);
}
}
uint32_t reftable_table_hash_id(struct reftable_table *tab )
{
  uint32_t tmp ;

  {
  tmp = (*((tab->ops)->hash_id))(tab->table_arg);
  return (tmp);
}
}
void reftable_iterator_destroy(struct reftable_iterator *it )
{


  {
  if (! it->ops) {
    return;
  }
  (*((it->ops)->close))(it->iter_arg);
  it->ops = (struct reftable_iterator_vtable *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free(it->iter_arg);
    it->iter_arg = (void *)0;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int reftable_iterator_next_ref(struct reftable_iterator *it , struct reftable_ref_record *ref )
{
  struct reftable_record rec ;
  int tmp ;

  {
  rec.data = (void *)0;
  rec.ops = (struct reftable_record_vtable *)0;
  reftable_record_from_ref(& rec, ref);
  tmp = iterator_next(it, & rec);
  return (tmp);
}
}
int reftable_iterator_next_log(struct reftable_iterator *it , struct reftable_log_record *log )
{
  struct reftable_record rec ;
  int tmp ;

  {
  rec.data = (void *)0;
  rec.ops = (struct reftable_record_vtable *)0;
  reftable_record_from_log(& rec, log);
  tmp = iterator_next(it, & rec);
  return (tmp);
}
}
int iterator_next(struct reftable_iterator *it , struct reftable_record *rec )
{
  int tmp ;

  {
  tmp = (*((it->ops)->next))(it->iter_arg, rec);
  return (tmp);
}
}
static int empty_iterator_next(void *arg , struct reftable_record *rec )
{


  {
  return (1);
}
}
static void empty_iterator_close(void *arg )
{


  {
  return;
}
}
static struct reftable_iterator_vtable empty_vtable  =    {& empty_iterator_next, & empty_iterator_close};
void iterator_set_empty(struct reftable_iterator *it )
{


  {
  assert(! it->ops);
  it->iter_arg = (void *)0;
  it->ops = & empty_vtable;
  return;
}
}
struct reftable_writer *reftable_new_writer(ssize_t (*writer_func)(void * , void const   * ,
                                                                   size_t  ) , void *writer_arg ,
                                            struct reftable_write_options *opts___1 ) ;
void reftable_writer_set_limits(struct reftable_writer *w , uint64_t min , uint64_t max ) ;
int reftable_writer_add_ref(struct reftable_writer *w , struct reftable_ref_record *ref ) ;
int reftable_writer_add_refs(struct reftable_writer *w , struct reftable_ref_record *refs___0 ,
                             int n ) ;
int reftable_writer_add_log(struct reftable_writer *w , struct reftable_log_record *log ) ;
int reftable_writer_add_logs(struct reftable_writer *w , struct reftable_log_record *logs ,
                             int n ) ;
int reftable_writer_close(struct reftable_writer *w ) ;
struct reftable_stats  const  *writer_stats(struct reftable_writer *w ) ;
void reftable_writer_free(struct reftable_writer *w ) ;
int reftable_new_stack(struct reftable_stack **dest , char const   *dir , struct reftable_write_options config ) ;
uint64_t reftable_stack_next_update_index(struct reftable_stack *st ) ;
int reftable_stack_new_addition(struct reftable_addition **dest , struct reftable_stack *st ) ;
int reftable_addition_add(struct reftable_addition *add___2 , int (*write_table___0)(struct reftable_writer *wr ,
                                                                                     void *arg ) ,
                          void *arg ) ;
int reftable_addition_commit(struct reftable_addition *add___2 ) ;
void reftable_addition_destroy(struct reftable_addition *add___2 ) ;
int reftable_stack_add(struct reftable_stack *st , int (*write___0)(struct reftable_writer *wr ,
                                                                    void *arg ) ,
                       void *arg ) ;
struct reftable_merged_table *reftable_stack_merged_table(struct reftable_stack *st ) ;
void reftable_stack_destroy(struct reftable_stack *st ) ;
int reftable_stack_reload(struct reftable_stack *st ) ;
int reftable_stack_compact_all(struct reftable_stack *st , struct reftable_log_expiry_config *config ) ;
int reftable_stack_auto_compact(struct reftable_stack *st ) ;
int reftable_stack_clean(struct reftable_stack *st ) ;
int reftable_stack_read_ref(struct reftable_stack *st , char const   *refname , struct reftable_ref_record *ref ) ;
int reftable_stack_read_log(struct reftable_stack *st , char const   *refname , struct reftable_log_record *log ) ;
struct reftable_compaction_stats *reftable_stack_compaction_stats(struct reftable_stack *st ) ;
int reftable_stack_print_directory(char const   *stackdir , uint32_t hash_id ) ;
int read_lines(char const   *filename___0 , char ***namesp ) ;
int fastlog2(uint64_t sz ) ;
struct segment *sizes_to_segments(int *seglen , uint64_t *sizes , int n ) ;
struct segment suggest_compaction_segment(uint64_t *sizes , int n ) ;
static int stack_try_add(struct reftable_stack *st , int (*write_table___0)(struct reftable_writer *wr ,
                                                                            void *arg ) ,
                         void *arg ) ;
static int stack_write_compact(struct reftable_stack *st , struct reftable_writer *wr ,
                               int first , int last , struct reftable_log_expiry_config *config ) ;
static int stack_check_addition(struct reftable_stack *st , char const   *new_tab_name ) ;
static void reftable_addition_close(struct reftable_addition *add___2 ) ;
static int reftable_stack_reload_maybe_reuse(struct reftable_stack *st , int reuse_open ) ;
static void stack_filename(struct strbuf *dest , struct reftable_stack *st , char const   *name___0 )
{


  {
  strbuf_setlen___33(dest, (size_t )0);
  strbuf_addstr(dest, (char const   *)st->reftable_dir);
  strbuf_addstr(dest, (char const   *)"/");
  strbuf_addstr(dest, name___0);
  return;
}
}
static ssize_t reftable_fd_write(void *arg , void const   *data , size_t sz )
{
  int *fdp ;
  ssize_t tmp ;

  {
  fdp = (int *)arg;
  tmp = write(*fdp, data, sz);
  return (tmp);
}
}
int reftable_new_stack(struct reftable_stack **dest , char const   *dir , struct reftable_write_options config )
{
  struct reftable_stack *p___0 ;
  void *tmp ;
  struct strbuf list_file_name ;
  int err___4 ;

  {
  tmp = reftable_calloc(sizeof(struct reftable_stack ));
  p___0 = (struct reftable_stack *)tmp;
  list_file_name.alloc = 0UL;
  list_file_name.len = 0UL;
  list_file_name.buf = strbuf_slopbuf;
  err___4 = 0;
  if (config.hash_id == 0U) {
    config.hash_id = (uint32_t )0x73686131;
  }
  *dest = (struct reftable_stack *)((void *)0);
  strbuf_setlen___33(& list_file_name, (size_t )0);
  strbuf_addstr(& list_file_name, dir);
  strbuf_addstr(& list_file_name, (char const   *)"/tables.list");
  p___0->list_file = strbuf_detach(& list_file_name, (size_t *)((void *)0));
  p___0->reftable_dir = xstrdup(dir);
  p___0->config = config;
  err___4 = reftable_stack_reload_maybe_reuse(p___0, 1);
  if (err___4 < 0) {
    reftable_stack_destroy(p___0);
  } else {
    *dest = p___0;
  }
  return (err___4);
}
}
static int fd_read_lines(int fd , char ***namesp )
{
  off_t size ;
  __off_t tmp ;
  char *buf___19 ;
  int err___4 ;
  __off_t tmp___0 ;
  void *tmp___1 ;
  ssize_t tmp___2 ;

  {
  tmp = lseek(fd, (__off_t )0, 2);
  size = tmp;
  buf___19 = (char *)((void *)0);
  err___4 = 0;
  if (size < 0L) {
    err___4 = -2;
    goto done;
  }
  tmp___0 = lseek(fd, (__off_t )0, 0);
  err___4 = (int )tmp___0;
  if (err___4 < 0) {
    err___4 = -2;
    goto done;
  }
  tmp___1 = reftable_malloc((size_t )(size + 1L));
  buf___19 = (char *)tmp___1;
  tmp___2 = read(fd, (void *)buf___19, (size_t )size);
  if (tmp___2 != size) {
    err___4 = -2;
    goto done;
  }
  *(buf___19 + size) = (char)0;
  parse_names(buf___19, (int )size, namesp);
  done:
  reftable_free((void *)buf___19);
  return (err___4);
}
}
int read_lines(char const   *filename___0 , char ***namesp )
{
  int fd ;
  int tmp ;
  int err___4 ;
  void *tmp___0 ;
  int *tmp___1 ;

  {
  tmp = open(filename___0, 00);
  fd = tmp;
  err___4 = 0;
  if (fd < 0) {
    tmp___1 = __errno_location();
    if (*tmp___1 == 2) {
      tmp___0 = reftable_calloc(sizeof(char *));
      *namesp = (char **)tmp___0;
      return (0);
    }
    return (-2);
  }
  err___4 = fd_read_lines(fd, namesp);
  close(fd);
  return (err___4);
}
}
struct reftable_merged_table *reftable_stack_merged_table(struct reftable_stack *st )
{


  {
  return (st->merged);
}
}
static int has_name(char **names___0 , char const   *name___0 )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *names___0) {
      goto while_break;
    }
    tmp = strcmp((char const   *)*names___0, name___0);
    if (! tmp) {
      return (1);
    }
    names___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
void reftable_stack_destroy(struct reftable_stack *st )
{
  char **names___0 ;
  int err___4 ;
  int i ;
  struct strbuf filename___0 ;
  char const   *name___0 ;
  char const   *tmp ;
  int tmp___0 ;

  {
  names___0 = (char **)((void *)0);
  err___4 = 0;
  if (st->merged) {
    reftable_merged_table_free(st->merged);
    st->merged = (struct reftable_merged_table *)((void *)0);
  }
  err___4 = read_lines((char const   *)st->list_file, & names___0);
  if (err___4 < 0) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      free((void *)names___0);
      names___0 = (char **)((void *)0);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (st->readers) {
    i = 0;
    filename___0.alloc = 0UL;
    filename___0.len = 0UL;
    filename___0.buf = strbuf_slopbuf;
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((size_t )i < st->readers_len)) {
        goto while_break___0;
      }
      tmp = reader_name(*(st->readers + i));
      name___0 = tmp;
      strbuf_setlen___33(& filename___0, (size_t )0);
      if (names___0) {
        tmp___0 = has_name(names___0, name___0);
        if (! tmp___0) {
          stack_filename(& filename___0, st, name___0);
        }
      }
      reftable_reader_free(*(st->readers + i));
      if (filename___0.len) {
        unlink((char const   *)filename___0.buf);
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    strbuf_release(& filename___0);
    st->readers_len = (size_t )0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      free((void *)st->readers);
      st->readers = (struct reftable_reader **)((void *)0);
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    free((void *)st->list_file);
    st->list_file = (char *)((void *)0);
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    free((void *)st->reftable_dir);
    st->reftable_dir = (char *)((void *)0);
    goto while_break___3;
  }
  while_break___3: /* CIL Label */ ;
  }
  reftable_free((void *)st);
  free_names(names___0);
  return;
}
}
static struct reftable_reader **stack_copy_readers(struct reftable_stack *st , int cur_len )
{
  struct reftable_reader **cur ;
  void *tmp ;
  int i ;

  {
  tmp = reftable_calloc(sizeof(struct reftable_reader *) * (unsigned long )cur_len);
  cur = (struct reftable_reader **)tmp;
  i = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < cur_len)) {
      goto while_break;
    }
    *(cur + i) = *(st->readers + i);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (cur);
}
}
static int reftable_stack_reload_once(struct reftable_stack *st , char **names___0 ,
                                      int reuse_open )
{
  int cur_len ;
  size_t tmp ;
  struct reftable_reader **cur ;
  struct reftable_reader **tmp___0 ;
  int err___4 ;
  int names_len ;
  int tmp___1 ;
  struct reftable_reader **new_readers ;
  void *tmp___2 ;
  struct reftable_table *new_tables ;
  void *tmp___3 ;
  int new_readers_len ;
  struct reftable_merged_table *new_merged ;
  int i ;
  struct reftable_reader *rd ;
  char *name___0 ;
  char **tmp___4 ;
  int j ;
  int tmp___5 ;
  struct reftable_block_source src ;
  struct strbuf table_path ;
  char const   *name___1 ;
  char const   *tmp___6 ;
  struct strbuf filename___0 ;

  {
  if (! st->merged) {
    tmp = (size_t )0;
  } else {
    tmp = (st->merged)->stack_len;
  }
  cur_len = (int )tmp;
  tmp___0 = stack_copy_readers(st, cur_len);
  cur = tmp___0;
  err___4 = 0;
  tmp___1 = names_length(names___0);
  names_len = tmp___1;
  tmp___2 = reftable_calloc(sizeof(struct reftable_reader *) * (unsigned long )names_len);
  new_readers = (struct reftable_reader **)tmp___2;
  tmp___3 = reftable_calloc(sizeof(struct reftable_table ) * (unsigned long )names_len);
  new_tables = (struct reftable_table *)tmp___3;
  new_readers_len = 0;
  new_merged = (struct reftable_merged_table *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *names___0) {
      goto while_break;
    }
    rd = (struct reftable_reader *)((void *)0);
    tmp___4 = names___0;
    names___0 ++;
    name___0 = *tmp___4;
    j = 0;
    j = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (reuse_open) {
        if (! (j < cur_len)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      if (*(cur + j)) {
        tmp___5 = strcmp((char const   *)(*(cur + j))->name, (char const   *)name___0);
        if (0 == tmp___5) {
          rd = *(cur + j);
          *(cur + j) = (struct reftable_reader *)((void *)0);
          goto while_break___0;
        }
      }
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! rd) {
      src.ops = (struct reftable_block_source_vtable *)((void *)0);
      src.arg = (void *)0;
      table_path.alloc = 0UL;
      table_path.len = 0UL;
      table_path.buf = strbuf_slopbuf;
      stack_filename(& table_path, st, (char const   *)name___0);
      err___4 = reftable_block_source_from_file(& src, (char const   *)table_path.buf);
      strbuf_release(& table_path);
      if (err___4 < 0) {
        goto done;
      }
      err___4 = reftable_new_reader(& rd, & src, (char const   *)name___0);
      if (err___4 < 0) {
        goto done;
      }
    }
    *(new_readers + new_readers_len) = rd;
    reftable_table_from_reader(new_tables + new_readers_len, rd);
    new_readers_len ++;
  }
  while_break: /* CIL Label */ ;
  }
  err___4 = reftable_new_merged_table(& new_merged, new_tables, new_readers_len, st->config.hash_id);
  if (err___4 < 0) {
    goto done;
  }
  new_tables = (struct reftable_table *)((void *)0);
  st->readers_len = (size_t )new_readers_len;
  if (st->merged) {
    merged_table_release(st->merged);
    reftable_merged_table_free(st->merged);
  }
  if (st->readers) {
    reftable_free((void *)st->readers);
  }
  st->readers = new_readers;
  new_readers = (struct reftable_reader **)((void *)0);
  new_readers_len = 0;
  new_merged->suppress_deletions = 1;
  st->merged = new_merged;
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < cur_len)) {
      goto while_break___1;
    }
    if (*(cur + i)) {
      tmp___6 = reader_name(*(cur + i));
      name___1 = tmp___6;
      filename___0.alloc = 0UL;
      filename___0.len = 0UL;
      filename___0.buf = strbuf_slopbuf;
      stack_filename(& filename___0, st, name___1);
      reader_close(*(cur + i));
      reftable_reader_free(*(cur + i));
      unlink((char const   *)filename___0.buf);
      strbuf_release(& filename___0);
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  done:
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < new_readers_len)) {
      goto while_break___2;
    }
    reader_close(*(new_readers + i));
    reftable_reader_free(*(new_readers + i));
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  reftable_free((void *)new_readers);
  reftable_free((void *)new_tables);
  reftable_free((void *)cur);
  return (err___4);
}
}
static int tv_cmp(struct timeval *a , struct timeval *b___0 )
{
  time_t diff ;
  int udiff ;

  {
  diff = a->tv_sec - b___0->tv_sec;
  udiff = (int )(a->tv_usec - b___0->tv_usec);
  if (diff != 0L) {
    return ((int )diff);
  }
  return (udiff);
}
}
static int reftable_stack_reload_maybe_reuse(struct reftable_stack *st , int reuse_open )
{
  struct timeval deadline ;
  int err___4 ;
  int tmp ;
  int64_t delay ;
  int tries ;
  char **names___0 ;
  char **names_after ;
  struct timeval now ;
  int err___5 ;
  int tmp___0 ;
  int err2 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  deadline.tv_sec = (__time_t )0;
  deadline.tv_usec = 0L;
  tmp = gettimeofday((struct timeval * __restrict  )(& deadline), (__timezone_ptr_t )((void *)0));
  err___4 = tmp;
  delay = (int64_t )0;
  tries = 0;
  if (err___4 < 0) {
    return (err___4);
  }
  deadline.tv_sec += 3L;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    names___0 = (char **)((void *)0);
    names_after = (char **)((void *)0);
    now.tv_sec = (__time_t )0;
    now.tv_usec = 0L;
    tmp___0 = gettimeofday((struct timeval * __restrict  )(& now), (__timezone_ptr_t )((void *)0));
    err___5 = tmp___0;
    err2 = 0;
    if (err___5 < 0) {
      return (err___5);
    }
    tries ++;
    if (tries > 3) {
      tmp___1 = tv_cmp(& now, & deadline);
      if (tmp___1 >= 0) {
        goto while_break;
      }
    }
    err___5 = read_lines((char const   *)st->list_file, & names___0);
    if (err___5 < 0) {
      free_names(names___0);
      return (err___5);
    }
    err___5 = reftable_stack_reload_once(st, names___0, reuse_open);
    if (err___5 == 0) {
      free_names(names___0);
      goto while_break;
    }
    if (err___5 != -4) {
      free_names(names___0);
      return (err___5);
    }
    err2 = read_lines((char const   *)st->list_file, & names_after);
    if (err2 < 0) {
      free_names(names___0);
      return (err2);
    }
    tmp___2 = names_equal(names_after, names___0);
    if (tmp___2) {
      free_names(names___0);
      free_names(names_after);
      return (err___5);
    }
    free_names(names___0);
    free_names(names_after);
    tmp___3 = rand();
    delay = (delay + (delay * (int64_t )tmp___3) / 2147483647L) + 1L;
    sleep_millisec((int )delay);
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int stack_uptodate(struct reftable_stack *st )
{
  char **names___0 ;
  int err___4 ;
  int tmp ;
  int i ;
  int tmp___0 ;

  {
  names___0 = (char **)((void *)0);
  tmp = read_lines((char const   *)st->list_file, & names___0);
  err___4 = tmp;
  i = 0;
  if (err___4 < 0) {
    return (err___4);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < st->readers_len)) {
      goto while_break;
    }
    if (! *(names___0 + i)) {
      err___4 = 1;
      goto done;
    }
    tmp___0 = strcmp((char const   *)(*(st->readers + i))->name, (char const   *)*(names___0 + i));
    if (tmp___0) {
      err___4 = 1;
      goto done;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (*(names___0 + (st->merged)->stack_len)) {
    err___4 = 1;
    goto done;
  }
  done:
  free_names(names___0);
  return (err___4);
}
}
int reftable_stack_reload(struct reftable_stack *st )
{
  int err___4 ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = stack_uptodate(st);
  err___4 = tmp;
  if (err___4 > 0) {
    tmp___0 = reftable_stack_reload_maybe_reuse(st, 1);
    return (tmp___0);
  }
  return (err___4);
}
}
int reftable_stack_add(struct reftable_stack *st , int (*write___0)(struct reftable_writer *wr ,
                                                                    void *arg ) ,
                       void *arg )
{
  int err___4 ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = stack_try_add(st, write___0, arg);
  err___4 = tmp;
  if (err___4 < 0) {
    if (err___4 == -5) {
      reftable_stack_reload(st);
    }
    return (err___4);
  }
  if (! st->disable_auto_compact) {
    tmp___0 = reftable_stack_auto_compact(st);
    return (tmp___0);
  }
  return (0);
}
}
static void format_name(struct strbuf *dest , uint64_t min , uint64_t max )
{
  char buf___19[100] ;
  uint32_t rnd ;
  int tmp ;

  {
  tmp = rand();
  rnd = (uint32_t )tmp;
  snprintf(buf___19, sizeof(buf___19), (char const   *)"0x%012lx-0x%012lx-%08x", min,
           max, rnd);
  strbuf_setlen___33(dest, (size_t )0);
  strbuf_addstr(dest, (char const   *)(buf___19));
  return;
}
}
static int reftable_stack_init_addition(struct reftable_addition *add___2 , struct reftable_stack *st )
{
  int err___4 ;
  int *tmp ;
  int tmp___0 ;

  {
  err___4 = 0;
  add___2->stack = st;
  strbuf_setlen___33(& add___2->lock_file_name, (size_t )0);
  strbuf_addstr(& add___2->lock_file_name, (char const   *)st->list_file);
  strbuf_addstr(& add___2->lock_file_name, (char const   *)".lock");
  add___2->lock_file_fd = open((char const   *)add___2->lock_file_name.buf, 193, 0666);
  if (add___2->lock_file_fd < 0) {
    tmp = __errno_location();
    if (*tmp == 17) {
      err___4 = -5;
    } else {
      err___4 = -2;
    }
    goto done;
  }
  if (st->config.default_permissions) {
    tmp___0 = chmod((char const   *)add___2->lock_file_name.buf, st->config.default_permissions);
    if (tmp___0 < 0) {
      err___4 = -2;
      goto done;
    }
  }
  err___4 = stack_uptodate(st);
  if (err___4 < 0) {
    goto done;
  }
  if (err___4 > 1) {
    err___4 = -5;
    goto done;
  }
  add___2->next_update_index = reftable_stack_next_update_index(st);
  done:
  if (err___4) {
    reftable_addition_close(add___2);
  }
  return (err___4);
}
}
static void reftable_addition_close(struct reftable_addition *add___2 )
{
  int i ;
  struct strbuf nm ;

  {
  i = 0;
  nm.alloc = 0UL;
  nm.len = 0UL;
  nm.buf = strbuf_slopbuf;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < add___2->new_tables_len)) {
      goto while_break;
    }
    stack_filename(& nm, add___2->stack, (char const   *)*(add___2->new_tables + i));
    unlink((char const   *)nm.buf);
    reftable_free((void *)*(add___2->new_tables + i));
    *(add___2->new_tables + i) = (char *)((void *)0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  reftable_free((void *)add___2->new_tables);
  add___2->new_tables = (char **)((void *)0);
  add___2->new_tables_len = 0;
  if (add___2->lock_file_fd > 0) {
    close(add___2->lock_file_fd);
    add___2->lock_file_fd = 0;
  }
  if (add___2->lock_file_name.len > 0UL) {
    unlink((char const   *)add___2->lock_file_name.buf);
    strbuf_release(& add___2->lock_file_name);
  }
  strbuf_release(& nm);
  return;
}
}
void reftable_addition_destroy(struct reftable_addition *add___2 )
{


  {
  if (! add___2) {
    return;
  }
  reftable_addition_close(add___2);
  reftable_free((void *)add___2);
  return;
}
}
int reftable_addition_commit(struct reftable_addition *add___2 )
{
  struct strbuf table_list ;
  int i ;
  int err___4 ;
  ssize_t tmp ;

  {
  table_list.alloc = 0UL;
  table_list.len = 0UL;
  table_list.buf = strbuf_slopbuf;
  i = 0;
  err___4 = 0;
  if (add___2->new_tables_len == 0) {
    goto done;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < ((add___2->stack)->merged)->stack_len)) {
      goto while_break;
    }
    strbuf_addstr(& table_list, (char const   *)(*((add___2->stack)->readers + i))->name);
    strbuf_addstr(& table_list, (char const   *)"\n");
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < add___2->new_tables_len)) {
      goto while_break___0;
    }
    strbuf_addstr(& table_list, (char const   *)*(add___2->new_tables + i));
    strbuf_addstr(& table_list, (char const   *)"\n");
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp = write(add___2->lock_file_fd, (void const   *)table_list.buf, table_list.len);
  err___4 = (int )tmp;
  strbuf_release(& table_list);
  if (err___4 < 0) {
    err___4 = -2;
    goto done;
  }
  err___4 = close(add___2->lock_file_fd);
  add___2->lock_file_fd = 0;
  if (err___4 < 0) {
    err___4 = -2;
    goto done;
  }
  err___4 = rename((char const   *)add___2->lock_file_name.buf, (char const   *)(add___2->stack)->list_file);
  if (err___4 < 0) {
    err___4 = -2;
    goto done;
  }
  strbuf_release(& add___2->lock_file_name);
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < add___2->new_tables_len)) {
      goto while_break___1;
    }
    reftable_free((void *)*(add___2->new_tables + i));
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  reftable_free((void *)add___2->new_tables);
  add___2->new_tables = (char **)((void *)0);
  add___2->new_tables_len = 0;
  err___4 = reftable_stack_reload(add___2->stack);
  done:
  reftable_addition_close(add___2);
  return (err___4);
}
}
int reftable_stack_new_addition(struct reftable_addition **dest , struct reftable_stack *st )
{
  int err___4 ;
  struct reftable_addition empty ;
  void *tmp ;

  {
  err___4 = 0;
  empty.lock_file_fd = 0;
  empty.lock_file_name.alloc = 0UL;
  empty.lock_file_name.len = 0UL;
  empty.lock_file_name.buf = strbuf_slopbuf;
  empty.stack = (struct reftable_stack *)0;
  empty.new_tables = (char **)0;
  empty.new_tables_len = 0;
  empty.next_update_index = 0UL;
  tmp = reftable_calloc(sizeof(*(*dest)));
  *dest = (struct reftable_addition *)tmp;
  *(*dest) = empty;
  err___4 = reftable_stack_init_addition(*dest, st);
  if (err___4) {
    reftable_free((void *)*dest);
    *dest = (struct reftable_addition *)((void *)0);
  }
  return (err___4);
}
}
static int stack_try_add(struct reftable_stack *st , int (*write_table___0)(struct reftable_writer *wr ,
                                                                            void *arg ) ,
                         void *arg )
{
  struct reftable_addition add___2 ;
  int err___4 ;
  int tmp ;

  {
  add___2.lock_file_fd = 0;
  add___2.lock_file_name.alloc = 0UL;
  add___2.lock_file_name.len = 0UL;
  add___2.lock_file_name.buf = strbuf_slopbuf;
  add___2.stack = (struct reftable_stack *)0;
  add___2.new_tables = (char **)0;
  add___2.new_tables_len = 0;
  add___2.next_update_index = 0UL;
  tmp = reftable_stack_init_addition(& add___2, st);
  err___4 = tmp;
  if (err___4 < 0) {
    goto done;
  }
  if (err___4 > 0) {
    err___4 = -5;
    goto done;
  }
  err___4 = reftable_addition_add(& add___2, write_table___0, arg);
  if (err___4 < 0) {
    goto done;
  }
  err___4 = reftable_addition_commit(& add___2);
  done:
  reftable_addition_close(& add___2);
  return (err___4);
}
}
int reftable_addition_add(struct reftable_addition *add___2 , int (*write_table___0)(struct reftable_writer *wr ,
                                                                                     void *arg ) ,
                          void *arg )
{
  struct strbuf temp_tab_file_name ;
  struct strbuf tab_file_name ;
  struct strbuf next_name ;
  struct reftable_writer *wr ;
  int err___4 ;
  int tab_fd ;
  int tmp ;
  void *tmp___0 ;

  {
  temp_tab_file_name.alloc = 0UL;
  temp_tab_file_name.len = 0UL;
  temp_tab_file_name.buf = strbuf_slopbuf;
  tab_file_name.alloc = 0UL;
  tab_file_name.len = 0UL;
  tab_file_name.buf = strbuf_slopbuf;
  next_name.alloc = 0UL;
  next_name.len = 0UL;
  next_name.buf = strbuf_slopbuf;
  wr = (struct reftable_writer *)((void *)0);
  err___4 = 0;
  tab_fd = 0;
  strbuf_setlen___33(& next_name, (size_t )0);
  format_name(& next_name, add___2->next_update_index, add___2->next_update_index);
  stack_filename(& temp_tab_file_name, add___2->stack, (char const   *)next_name.buf);
  strbuf_addstr(& temp_tab_file_name, (char const   *)".temp.XXXXXX");
  tab_fd = mkstemp(temp_tab_file_name.buf);
  if (tab_fd < 0) {
    err___4 = -2;
    goto done;
  }
  if ((add___2->stack)->config.default_permissions) {
    tmp = chmod((char const   *)temp_tab_file_name.buf, (add___2->stack)->config.default_permissions);
    if (tmp) {
      err___4 = -2;
      goto done;
    }
  }
  wr = reftable_new_writer(& reftable_fd_write, (void *)(& tab_fd), & (add___2->stack)->config);
  err___4 = (*write_table___0)(wr, arg);
  if (err___4 < 0) {
    goto done;
  }
  err___4 = reftable_writer_close(wr);
  if (err___4 == -8) {
    err___4 = 0;
    goto done;
  }
  if (err___4 < 0) {
    goto done;
  }
  err___4 = close(tab_fd);
  tab_fd = 0;
  if (err___4 < 0) {
    err___4 = -2;
    goto done;
  }
  err___4 = stack_check_addition(add___2->stack, (char const   *)temp_tab_file_name.buf);
  if (err___4 < 0) {
    goto done;
  }
  if (wr->min_update_index < add___2->next_update_index) {
    err___4 = -6;
    goto done;
  }
  format_name(& next_name, wr->min_update_index, wr->max_update_index);
  strbuf_addstr(& next_name, (char const   *)".ref");
  stack_filename(& tab_file_name, add___2->stack, (char const   *)next_name.buf);
  err___4 = rename((char const   *)temp_tab_file_name.buf, (char const   *)tab_file_name.buf);
  if (err___4 < 0) {
    err___4 = -2;
    goto done;
  }
  tmp___0 = reftable_realloc((void *)add___2->new_tables, sizeof(*(add___2->new_tables)) * (unsigned long )(add___2->new_tables_len + 1));
  add___2->new_tables = (char **)tmp___0;
  *(add___2->new_tables + add___2->new_tables_len) = strbuf_detach(& next_name, (size_t *)((void *)0));
  (add___2->new_tables_len) ++;
  done:
  if (tab_fd > 0) {
    close(tab_fd);
    tab_fd = 0;
  }
  if (temp_tab_file_name.len > 0UL) {
    unlink((char const   *)temp_tab_file_name.buf);
  }
  strbuf_release(& temp_tab_file_name);
  strbuf_release(& tab_file_name);
  strbuf_release(& next_name);
  reftable_writer_free(wr);
  return (err___4);
}
}
uint64_t reftable_stack_next_update_index(struct reftable_stack *st )
{
  int sz ;
  uint64_t tmp ;

  {
  sz = (int )(st->merged)->stack_len;
  if (sz > 0) {
    tmp = reftable_reader_max_update_index(*(st->readers + (sz - 1)));
    return (tmp + 1UL);
  }
  return ((uint64_t )1);
}
}
static int stack_compact_locked(struct reftable_stack *st , int first , int last ,
                                struct strbuf *temp_tab , struct reftable_log_expiry_config *config )
{
  struct strbuf next_name ;
  int tab_fd ;
  struct reftable_writer *wr ;
  int err___4 ;
  uint64_t tmp ;
  uint64_t tmp___0 ;

  {
  next_name.alloc = 0UL;
  next_name.len = 0UL;
  next_name.buf = strbuf_slopbuf;
  tab_fd = -1;
  wr = (struct reftable_writer *)((void *)0);
  err___4 = 0;
  tmp = reftable_reader_max_update_index(*(st->readers + last));
  tmp___0 = reftable_reader_min_update_index(*(st->readers + first));
  format_name(& next_name, tmp___0, tmp);
  stack_filename(temp_tab, st, (char const   *)next_name.buf);
  strbuf_addstr(temp_tab, (char const   *)".temp.XXXXXX");
  tab_fd = mkstemp(temp_tab->buf);
  wr = reftable_new_writer(& reftable_fd_write, (void *)(& tab_fd), & st->config);
  err___4 = stack_write_compact(st, wr, first, last, config);
  if (err___4 < 0) {
    goto done;
  }
  err___4 = reftable_writer_close(wr);
  if (err___4 < 0) {
    goto done;
  }
  err___4 = close(tab_fd);
  tab_fd = 0;
  done:
  reftable_writer_free(wr);
  if (tab_fd > 0) {
    close(tab_fd);
    tab_fd = 0;
  }
  if (err___4 != 0) {
    if (temp_tab->len > 0UL) {
      unlink((char const   *)temp_tab->buf);
      strbuf_release(temp_tab);
    }
  }
  strbuf_release(& next_name);
  return (err___4);
}
}
static int stack_write_compact(struct reftable_stack *st , struct reftable_writer *wr ,
                               int first , int last , struct reftable_log_expiry_config *config )
{
  int subtabs_len ;
  struct reftable_table *subtabs ;
  void *tmp ;
  struct reftable_merged_table *mt ;
  int err___4 ;
  struct reftable_iterator it ;
  struct reftable_ref_record ref ;
  struct reftable_log_record log ;
  uint64_t entries___1 ;
  int i ;
  int j ;
  struct reftable_reader *t ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  subtabs_len = (last - first) + 1;
  tmp = reftable_calloc(sizeof(struct reftable_table ) * (unsigned long )((last - first) + 1));
  subtabs = (struct reftable_table *)tmp;
  mt = (struct reftable_merged_table *)((void *)0);
  err___4 = 0;
  it.ops = (struct reftable_iterator_vtable *)((void *)0);
  it.iter_arg = (void *)0;
  ref.refname = (char *)((void *)0);
  ref.update_index = 0UL;
  ref.value_type = 0U;
  ref.value.val2.value = (uint8_t *)0;
  ref.value.val2.target_value = (uint8_t *)0;
  log.refname = (char *)((void *)0);
  log.update_index = 0UL;
  log.value_type = 0U;
  log.value.update.new_hash = (uint8_t *)0;
  log.value.update.old_hash = (uint8_t *)0;
  log.value.update.name = (char *)0;
  log.value.update.email = (char *)0;
  log.value.update.time = 0UL;
  log.value.update.tz_offset = (short)0;
  log.value.update.message = (char *)0;
  entries___1 = (uint64_t )0;
  i = 0;
  j = 0;
  i = first;
  j = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i <= last)) {
      goto while_break;
    }
    t = *(st->readers + i);
    tmp___0 = j;
    j ++;
    reftable_table_from_reader(subtabs + tmp___0, t);
    st->stats.bytes += t->size;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  reftable_writer_set_limits(wr, (*(st->readers + first))->min_update_index, (*(st->readers + last))->max_update_index);
  err___4 = reftable_new_merged_table(& mt, subtabs, subtabs_len, st->config.hash_id);
  if (err___4 < 0) {
    reftable_free((void *)subtabs);
    goto done;
  }
  err___4 = reftable_merged_table_seek_ref(mt, & it, (char const   *)"");
  if (err___4 < 0) {
    goto done;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    err___4 = reftable_iterator_next_ref(& it, & ref);
    if (err___4 > 0) {
      err___4 = 0;
      goto while_break___0;
    }
    if (err___4 < 0) {
      goto while_break___0;
    }
    if (first == 0) {
      tmp___1 = reftable_ref_record_is_deletion((struct reftable_ref_record  const  *)(& ref));
      if (tmp___1) {
        goto while_continue___0;
      }
    }
    err___4 = reftable_writer_add_ref(wr, & ref);
    if (err___4 < 0) {
      goto while_break___0;
    }
    entries___1 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  reftable_iterator_destroy(& it);
  err___4 = reftable_merged_table_seek_log(mt, & it, (char const   *)"");
  if (err___4 < 0) {
    goto done;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    err___4 = reftable_iterator_next_log(& it, & log);
    if (err___4 > 0) {
      err___4 = 0;
      goto while_break___1;
    }
    if (err___4 < 0) {
      goto while_break___1;
    }
    if (first == 0) {
      tmp___2 = reftable_log_record_is_deletion((struct reftable_log_record  const  *)(& log));
      if (tmp___2) {
        goto while_continue___1;
      }
    }
    if (config) {
      if (config->min_update_index > 0UL) {
        if (log.update_index < config->min_update_index) {
          goto while_continue___1;
        }
      }
    }
    if (config) {
      if (config->time > 0UL) {
        if (log.value.update.time < config->time) {
          goto while_continue___1;
        }
      }
    }
    err___4 = reftable_writer_add_log(wr, & log);
    if (err___4 < 0) {
      goto while_break___1;
    }
    entries___1 ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  done:
  reftable_iterator_destroy(& it);
  if (mt) {
    merged_table_release(mt);
    reftable_merged_table_free(mt);
  }
  reftable_ref_record_release(& ref);
  reftable_log_record_release(& log);
  st->stats.entries_written += entries___1;
  return (err___4);
}
}
static int stack_compact_range(struct reftable_stack *st , int first , int last ,
                               struct reftable_log_expiry_config *expiry )
{
  struct strbuf temp_tab_file_name ;
  struct strbuf new_table_name ;
  struct strbuf lock_file_name ;
  struct strbuf ref_list_contents ;
  struct strbuf new_table_path ;
  int err___4 ;
  int have_lock ;
  int lock_file_fd ;
  int compact_count ;
  char **listp ;
  char **delete_on_success ;
  void *tmp ;
  char **subtable_locks ;
  void *tmp___0 ;
  int i ;
  int j ;
  int is_empty_table ;
  int *tmp___1 ;
  struct strbuf subtab_file_name ;
  struct strbuf subtab_lock ;
  int sublock_file_fd ;
  char const   *tmp___2 ;
  int *tmp___3 ;
  int *tmp___4 ;
  int tmp___5 ;
  ssize_t tmp___6 ;
  int tmp___7 ;

  {
  temp_tab_file_name.alloc = 0UL;
  temp_tab_file_name.len = 0UL;
  temp_tab_file_name.buf = strbuf_slopbuf;
  new_table_name.alloc = 0UL;
  new_table_name.len = 0UL;
  new_table_name.buf = strbuf_slopbuf;
  lock_file_name.alloc = 0UL;
  lock_file_name.len = 0UL;
  lock_file_name.buf = strbuf_slopbuf;
  ref_list_contents.alloc = 0UL;
  ref_list_contents.len = 0UL;
  ref_list_contents.buf = strbuf_slopbuf;
  new_table_path.alloc = 0UL;
  new_table_path.len = 0UL;
  new_table_path.buf = strbuf_slopbuf;
  err___4 = 0;
  have_lock = 0;
  lock_file_fd = 0;
  compact_count = (last - first) + 1;
  listp = (char **)((void *)0);
  tmp = reftable_calloc(sizeof(char *) * (unsigned long )(compact_count + 1));
  delete_on_success = (char **)tmp;
  tmp___0 = reftable_calloc(sizeof(char *) * (unsigned long )(compact_count + 1));
  subtable_locks = (char **)tmp___0;
  i = 0;
  j = 0;
  is_empty_table = 0;
  if (first > last) {
    err___4 = 0;
    goto done;
  } else
  if (! expiry) {
    if (first == last) {
      err___4 = 0;
      goto done;
    }
  }
  (st->stats.attempts) ++;
  strbuf_setlen___33(& lock_file_name, (size_t )0);
  strbuf_addstr(& lock_file_name, (char const   *)st->list_file);
  strbuf_addstr(& lock_file_name, (char const   *)".lock");
  lock_file_fd = open((char const   *)lock_file_name.buf, 193, 0666);
  if (lock_file_fd < 0) {
    tmp___1 = __errno_location();
    if (*tmp___1 == 17) {
      err___4 = 1;
    } else {
      err___4 = -2;
    }
    goto done;
  }
  close(lock_file_fd);
  lock_file_fd = 0;
  have_lock = 1;
  err___4 = stack_uptodate(st);
  if (err___4 != 0) {
    goto done;
  }
  i = first;
  j = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i <= last)) {
      goto while_break;
    }
    subtab_file_name.alloc = 0UL;
    subtab_file_name.len = 0UL;
    subtab_file_name.buf = strbuf_slopbuf;
    subtab_lock.alloc = 0UL;
    subtab_lock.len = 0UL;
    subtab_lock.buf = strbuf_slopbuf;
    sublock_file_fd = -1;
    tmp___2 = reader_name(*(st->readers + i));
    stack_filename(& subtab_file_name, st, tmp___2);
    strbuf_setlen___33(& subtab_lock, (size_t )0);
    strbuf_addbuf(& subtab_lock, (struct strbuf  const  *)(& subtab_file_name));
    strbuf_addstr(& subtab_lock, (char const   *)".lock");
    sublock_file_fd = open((char const   *)subtab_lock.buf, 193, 0666);
    if (sublock_file_fd >= 0) {
      close(sublock_file_fd);
    } else
    if (sublock_file_fd < 0) {
      tmp___3 = __errno_location();
      if (*tmp___3 == 17) {
        err___4 = 1;
      } else {
        err___4 = -2;
      }
    }
    *(subtable_locks + j) = subtab_lock.buf;
    *(delete_on_success + j) = subtab_file_name.buf;
    j ++;
    if (err___4 != 0) {
      goto done;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  err___4 = unlink((char const   *)lock_file_name.buf);
  if (err___4 < 0) {
    goto done;
  }
  have_lock = 0;
  err___4 = stack_compact_locked(st, first, last, & temp_tab_file_name, expiry);
  is_empty_table = err___4 == -8;
  if (is_empty_table) {
    err___4 = 0;
  }
  if (err___4 < 0) {
    goto done;
  }
  lock_file_fd = open((char const   *)lock_file_name.buf, 193, 0666);
  if (lock_file_fd < 0) {
    tmp___4 = __errno_location();
    if (*tmp___4 == 17) {
      err___4 = 1;
    } else {
      err___4 = -2;
    }
    goto done;
  }
  have_lock = 1;
  if (st->config.default_permissions) {
    tmp___5 = chmod((char const   *)lock_file_name.buf, st->config.default_permissions);
    if (tmp___5 < 0) {
      err___4 = -2;
      goto done;
    }
  }
  format_name(& new_table_name, (*(st->readers + first))->min_update_index, (*(st->readers + last))->max_update_index);
  strbuf_addstr(& new_table_name, (char const   *)".ref");
  stack_filename(& new_table_path, st, (char const   *)new_table_name.buf);
  if (! is_empty_table) {
    err___4 = rename((char const   *)temp_tab_file_name.buf, (char const   *)new_table_path.buf);
    if (err___4 < 0) {
      err___4 = -2;
      goto done;
    }
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < first)) {
      goto while_break___0;
    }
    strbuf_addstr(& ref_list_contents, (char const   *)(*(st->readers + i))->name);
    strbuf_addstr(& ref_list_contents, (char const   *)"\n");
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (! is_empty_table) {
    strbuf_addbuf(& ref_list_contents, (struct strbuf  const  *)(& new_table_name));
    strbuf_addstr(& ref_list_contents, (char const   *)"\n");
  }
  i = last + 1;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((size_t )i < (st->merged)->stack_len)) {
      goto while_break___1;
    }
    strbuf_addstr(& ref_list_contents, (char const   *)(*(st->readers + i))->name);
    strbuf_addstr(& ref_list_contents, (char const   *)"\n");
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  tmp___6 = write(lock_file_fd, (void const   *)ref_list_contents.buf, ref_list_contents.len);
  err___4 = (int )tmp___6;
  if (err___4 < 0) {
    err___4 = -2;
    unlink((char const   *)new_table_path.buf);
    goto done;
  }
  err___4 = close(lock_file_fd);
  lock_file_fd = 0;
  if (err___4 < 0) {
    err___4 = -2;
    unlink((char const   *)new_table_path.buf);
    goto done;
  }
  err___4 = rename((char const   *)lock_file_name.buf, (char const   *)st->list_file);
  if (err___4 < 0) {
    err___4 = -2;
    unlink((char const   *)new_table_path.buf);
    goto done;
  }
  have_lock = 0;
  err___4 = reftable_stack_reload_maybe_reuse(st, first < last);
  listp = delete_on_success;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! *listp) {
      goto while_break___2;
    }
    tmp___7 = strcmp((char const   *)*listp, (char const   *)new_table_path.buf);
    if (tmp___7) {
      unlink((char const   *)*listp);
    }
    listp ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  done:
  free_names(delete_on_success);
  listp = subtable_locks;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! *listp) {
      goto while_break___3;
    }
    unlink((char const   *)*listp);
    listp ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  free_names(subtable_locks);
  if (lock_file_fd > 0) {
    close(lock_file_fd);
    lock_file_fd = 0;
  }
  if (have_lock) {
    unlink((char const   *)lock_file_name.buf);
  }
  strbuf_release(& new_table_name);
  strbuf_release(& new_table_path);
  strbuf_release(& ref_list_contents);
  strbuf_release(& temp_tab_file_name);
  strbuf_release(& lock_file_name);
  return (err___4);
}
}
int reftable_stack_compact_all(struct reftable_stack *st , struct reftable_log_expiry_config *config )
{
  int tmp ;

  {
  tmp = stack_compact_range(st, 0, (int )((st->merged)->stack_len - 1UL), config);
  return (tmp);
}
}
static int stack_compact_range_stats(struct reftable_stack *st , int first , int last ,
                                     struct reftable_log_expiry_config *config )
{
  int err___4 ;
  int tmp ;

  {
  tmp = stack_compact_range(st, first, last, config);
  err___4 = tmp;
  if (err___4 > 0) {
    (st->stats.failures) ++;
  }
  return (err___4);
}
}
static int segment_size(struct segment *s___1 )
{


  {
  return (s___1->end - s___1->start);
}
}
int fastlog2(uint64_t sz )
{
  int l ;

  {
  l = 0;
  if (sz == 0UL) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! sz) {
      goto while_break;
    }
    l ++;
    sz /= 2UL;
  }
  while_break: /* CIL Label */ ;
  }
  return (l - 1);
}
}
struct segment *sizes_to_segments(int *seglen , uint64_t *sizes , int n )
{
  struct segment *segs ;
  void *tmp ;
  int next___2 ;
  struct segment cur ;
  int i ;
  int log ;
  int tmp___0 ;
  struct segment fresh ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = reftable_calloc(sizeof(struct segment ) * (unsigned long )n);
  segs = (struct segment *)tmp;
  next___2 = 0;
  cur.start = 0;
  cur.end = 0;
  cur.log = 0;
  cur.bytes = 0UL;
  i = 0;
  if (n == 0) {
    *seglen = 0;
    return (segs);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    tmp___0 = fastlog2(*(sizes + i));
    log = tmp___0;
    if (cur.log != log) {
      if (cur.bytes > 0UL) {
        fresh.start = i;
        fresh.end = 0;
        fresh.log = 0;
        fresh.bytes = 0UL;
        tmp___1 = next___2;
        next___2 ++;
        *(segs + tmp___1) = cur;
        cur = fresh;
      }
    }
    cur.log = log;
    cur.end = i + 1;
    cur.bytes += *(sizes + i);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = next___2;
  next___2 ++;
  *(segs + tmp___2) = cur;
  *seglen = next___2;
  return (segs);
}
}
struct segment suggest_compaction_segment(uint64_t *sizes , int n )
{
  int seglen ;
  struct segment *segs ;
  struct segment *tmp ;
  struct segment min_seg ;
  int i ;
  int tmp___0 ;
  int prev ;
  int tmp___1 ;
  int tmp___2 ;

  {
  seglen = 0;
  tmp = sizes_to_segments(& seglen, sizes, n);
  segs = tmp;
  min_seg.start = 0;
  min_seg.end = 0;
  min_seg.log = 64;
  min_seg.bytes = 0UL;
  i = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < seglen)) {
      goto while_break;
    }
    tmp___0 = segment_size(segs + i);
    if (tmp___0 == 1) {
      goto __Cont;
    }
    if ((segs + i)->log < min_seg.log) {
      min_seg = *(segs + i);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (min_seg.start > 0)) {
      goto while_break___0;
    }
    prev = min_seg.start - 1;
    tmp___1 = fastlog2(min_seg.bytes);
    tmp___2 = fastlog2(*(sizes + prev));
    if (tmp___1 < tmp___2) {
      goto while_break___0;
    }
    min_seg.start = prev;
    min_seg.bytes += *(sizes + prev);
  }
  while_break___0: /* CIL Label */ ;
  }
  reftable_free((void *)segs);
  return (min_seg);
}
}
static uint64_t *stack_table_sizes_for_compaction(struct reftable_stack *st )
{
  uint64_t *sizes ;
  void *tmp ;
  int version___0 ;
  int tmp___0 ;
  int overhead ;
  int tmp___1 ;
  int i ;

  {
  tmp = reftable_calloc(sizeof(uint64_t ) * (st->merged)->stack_len);
  sizes = (uint64_t *)tmp;
  if (st->config.hash_id == 1936220465U) {
    tmp___0 = 1;
  } else {
    tmp___0 = 2;
  }
  version___0 = tmp___0;
  tmp___1 = header_size(version___0);
  overhead = tmp___1 - 1;
  i = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < (st->merged)->stack_len)) {
      goto while_break;
    }
    *(sizes + i) = (*(st->readers + i))->size - (uint64_t )overhead;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (sizes);
}
}
int reftable_stack_auto_compact(struct reftable_stack *st )
{
  uint64_t *sizes ;
  uint64_t *tmp ;
  struct segment seg ;
  struct segment tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = stack_table_sizes_for_compaction(st);
  sizes = tmp;
  tmp___0 = suggest_compaction_segment(sizes, (int )(st->merged)->stack_len);
  seg = tmp___0;
  reftable_free((void *)sizes);
  tmp___2 = segment_size(& seg);
  if (tmp___2 > 0) {
    tmp___1 = stack_compact_range_stats(st, seg.start, seg.end - 1, (struct reftable_log_expiry_config *)((void *)0));
    return (tmp___1);
  }
  return (0);
}
}
struct reftable_compaction_stats *reftable_stack_compaction_stats(struct reftable_stack *st )
{


  {
  return (& st->stats);
}
}
int reftable_stack_read_ref(struct reftable_stack *st , char const   *refname , struct reftable_ref_record *ref )
{
  struct reftable_table tab ;
  struct reftable_merged_table *tmp ;
  int tmp___0 ;

  {
  tab.ops = (struct reftable_table_vtable *)((void *)0);
  tab.table_arg = (void *)0;
  tmp = reftable_stack_merged_table(st);
  reftable_table_from_merged_table(& tab, tmp);
  tmp___0 = reftable_table_read_ref(& tab, refname, ref);
  return (tmp___0);
}
}
int reftable_stack_read_log(struct reftable_stack *st , char const   *refname , struct reftable_log_record *log )
{
  struct reftable_iterator it ;
  struct reftable_merged_table *mt ;
  struct reftable_merged_table *tmp ;
  int err___4 ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  it.ops = (struct reftable_iterator_vtable *)((void *)0);
  it.iter_arg = (void *)0;
  tmp = reftable_stack_merged_table(st);
  mt = tmp;
  tmp___0 = reftable_merged_table_seek_log(mt, & it, refname);
  err___4 = tmp___0;
  if (err___4) {
    goto done;
  }
  err___4 = reftable_iterator_next_log(& it, log);
  if (err___4) {
    goto done;
  }
  tmp___1 = strcmp((char const   *)log->refname, refname);
  if (tmp___1) {
    err___4 = 1;
    goto done;
  } else {
    tmp___2 = reftable_log_record_is_deletion((struct reftable_log_record  const  *)log);
    if (tmp___2) {
      err___4 = 1;
      goto done;
    }
  }
  done:
  if (err___4) {
    reftable_log_record_release(log);
  }
  reftable_iterator_destroy(& it);
  return (err___4);
}
}
static int stack_check_addition(struct reftable_stack *st , char const   *new_tab_name )
{
  int err___4 ;
  struct reftable_block_source src ;
  struct reftable_reader *rd ;
  struct reftable_table tab ;
  struct reftable_ref_record *refs___0 ;
  struct reftable_iterator it ;
  int cap ;
  int len___0 ;
  int i ;
  struct reftable_ref_record ref ;
  void *tmp ;
  int tmp___0 ;
  struct reftable_merged_table *tmp___1 ;

  {
  err___4 = 0;
  src.ops = (struct reftable_block_source_vtable *)((void *)0);
  src.arg = (void *)0;
  rd = (struct reftable_reader *)((void *)0);
  tab.ops = (struct reftable_table_vtable *)((void *)0);
  tab.table_arg = (void *)0;
  refs___0 = (struct reftable_ref_record *)((void *)0);
  it.ops = (struct reftable_iterator_vtable *)((void *)0);
  it.iter_arg = (void *)0;
  cap = 0;
  len___0 = 0;
  i = 0;
  if (st->config.skip_name_check) {
    return (0);
  }
  err___4 = reftable_block_source_from_file(& src, new_tab_name);
  if (err___4 < 0) {
    goto done;
  }
  err___4 = reftable_new_reader(& rd, & src, new_tab_name);
  if (err___4 < 0) {
    goto done;
  }
  err___4 = reftable_reader_seek_ref(rd, & it, (char const   *)"");
  if (err___4 > 0) {
    err___4 = 0;
    goto done;
  }
  if (err___4 < 0) {
    goto done;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    ref.refname = (char *)((void *)0);
    ref.update_index = 0UL;
    ref.value_type = 0U;
    ref.value.val2.value = (uint8_t *)0;
    ref.value.val2.target_value = (uint8_t *)0;
    err___4 = reftable_iterator_next_ref(& it, & ref);
    if (err___4 > 0) {
      goto while_break;
    }
    if (err___4 < 0) {
      goto done;
    }
    if (len___0 >= cap) {
      cap = 2 * cap + 1;
      tmp = reftable_realloc((void *)refs___0, (unsigned long )cap * sizeof(*(refs___0 + 0)));
      refs___0 = (struct reftable_ref_record *)tmp;
    }
    tmp___0 = len___0;
    len___0 ++;
    *(refs___0 + tmp___0) = ref;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = reftable_stack_merged_table(st);
  reftable_table_from_merged_table(& tab, tmp___1);
  err___4 = validate_ref_record_addition(tab, refs___0, (size_t )len___0);
  done:
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < len___0)) {
      goto while_break___0;
    }
    reftable_ref_record_release(refs___0 + i);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)refs___0);
  reftable_iterator_destroy(& it);
  reftable_reader_free(rd);
  return (err___4);
}
}
static int is_table_name(char const   *s___1 )
{
  char const   *dot ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = strrchr(s___1, '.');
  dot = (char const   *)tmp;
  if (dot) {
    tmp___0 = strcmp(dot, (char const   *)".ref");
    if (tmp___0) {
      tmp___1 = 0;
    } else {
      tmp___1 = 1;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static void remove_maybe_stale_table(struct reftable_stack *st , uint64_t max , char const   *name___0 )
{
  int err___4 ;
  uint64_t update_idx ;
  struct reftable_block_source src ;
  struct reftable_reader *rd ;
  struct strbuf table_path ;

  {
  err___4 = 0;
  update_idx = (uint64_t )0;
  src.ops = (struct reftable_block_source_vtable *)((void *)0);
  src.arg = (void *)0;
  rd = (struct reftable_reader *)((void *)0);
  table_path.alloc = 0UL;
  table_path.len = 0UL;
  table_path.buf = strbuf_slopbuf;
  stack_filename(& table_path, st, name___0);
  err___4 = reftable_block_source_from_file(& src, (char const   *)table_path.buf);
  if (err___4 < 0) {
    goto done;
  }
  err___4 = reftable_new_reader(& rd, & src, name___0);
  if (err___4 < 0) {
    goto done;
  }
  update_idx = reftable_reader_max_update_index(rd);
  reftable_reader_free(rd);
  if (update_idx <= max) {
    unlink((char const   *)table_path.buf);
  }
  done:
  strbuf_release(& table_path);
  return;
}
}
static int reftable_stack_clean_locked(struct reftable_stack *st )
{
  uint64_t max ;
  struct reftable_merged_table *tmp ;
  uint64_t tmp___0 ;
  DIR *dir ;
  DIR *tmp___1 ;
  struct dirent *d ;
  int i ;
  int found ;
  int tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = reftable_stack_merged_table(st);
  tmp___0 = reftable_merged_table_max_update_index(tmp);
  max = tmp___0;
  tmp___1 = opendir((char const   *)st->reftable_dir);
  dir = tmp___1;
  d = (struct dirent *)((void *)0);
  if (! dir) {
    return (-2);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    d = readdir(dir);
    if (! d) {
      goto while_break;
    }
    i = 0;
    found = 0;
    tmp___2 = is_table_name((char const   *)(d->d_name));
    if (! tmp___2) {
      goto while_continue;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! found) {
        if (! ((size_t )i < st->readers_len)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      tmp___3 = reader_name(*(st->readers + i));
      tmp___4 = strcmp(tmp___3, (char const   *)(d->d_name));
      if (tmp___4) {
        tmp___5 = 0;
      } else {
        tmp___5 = 1;
      }
      found = tmp___5;
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (found) {
      goto while_continue;
    }
    remove_maybe_stale_table(st, max, (char const   *)(d->d_name));
  }
  while_break: /* CIL Label */ ;
  }
  closedir(dir);
  return (0);
}
}
int reftable_stack_clean(struct reftable_stack *st )
{
  struct reftable_addition *add___2 ;
  int err___4 ;
  int tmp ;

  {
  add___2 = (struct reftable_addition *)((void *)0);
  tmp = reftable_stack_new_addition(& add___2, st);
  err___4 = tmp;
  if (err___4 < 0) {
    goto done;
  }
  err___4 = reftable_stack_reload(st);
  if (err___4 < 0) {
    goto done;
  }
  err___4 = reftable_stack_clean_locked(st);
  done:
  reftable_addition_destroy(add___2);
  return (err___4);
}
}
int reftable_stack_print_directory(char const   *stackdir , uint32_t hash_id )
{
  struct reftable_stack *stack ;
  struct reftable_write_options cfg ;
  struct reftable_merged_table *merged ;
  struct reftable_table table ;
  int err___4 ;
  int tmp ;

  {
  stack = (struct reftable_stack *)((void *)0);
  cfg.unpadded = 0U;
  cfg.block_size = 0U;
  cfg.skip_index_objects = 0U;
  cfg.restart_interval = 0;
  cfg.hash_id = hash_id;
  cfg.default_permissions = 0U;
  cfg.skip_name_check = 0U;
  cfg.exact_log_message = 0U;
  merged = (struct reftable_merged_table *)((void *)0);
  table.ops = (struct reftable_table_vtable *)((void *)0);
  table.table_arg = (void *)0;
  tmp = reftable_new_stack(& stack, stackdir, cfg);
  err___4 = tmp;
  if (err___4 < 0) {
    goto done;
  }
  merged = reftable_stack_merged_table(stack);
  reftable_table_from_merged_table(& table, merged);
  err___4 = reftable_table_print(& table);
  done:
  if (stack) {
    reftable_stack_destroy(stack);
  }
  return (err___4);
}
}
struct tree_node *tree_search(void *key___1 , struct tree_node **rootp , int (*compare___1)(void const   * ,
                                                                                            void const   * ) ,
                              int insert )
{
  int res ;
  struct tree_node *n ;
  void *tmp ;
  struct tree_node *tmp___0 ;
  struct tree_node *tmp___1 ;

  {
  if ((unsigned long )*rootp == (unsigned long )((void *)0)) {
    if (! insert) {
      return ((struct tree_node *)((void *)0));
    } else {
      tmp = reftable_calloc(sizeof(struct tree_node ));
      n = (struct tree_node *)tmp;
      n->key = key___1;
      *rootp = n;
      return (*rootp);
    }
  }
  res = (*compare___1)((void const   *)key___1, (void const   *)(*rootp)->key);
  if (res < 0) {
    tmp___0 = tree_search(key___1, & (*rootp)->left, compare___1, insert);
    return (tmp___0);
  } else
  if (res > 0) {
    tmp___1 = tree_search(key___1, & (*rootp)->right, compare___1, insert);
    return (tmp___1);
  }
  return (*rootp);
}
}
void infix_walk(struct tree_node *t , void (*action)(void *arg , void *key ) , void *arg )
{


  {
  if (t->left) {
    infix_walk(t->left, action, arg);
  }
  (*action)(arg, t->key);
  if (t->right) {
    infix_walk(t->right, action, arg);
  }
  return;
}
}
void tree_free(struct tree_node *t )
{


  {
  if ((unsigned long )t == (unsigned long )((void *)0)) {
    return;
  }
  if (t->left) {
    tree_free(t->left);
  }
  if (t->right) {
    tree_free(t->right);
  }
  reftable_free((void *)t);
  return;
}
}
static int writer_flush_block(struct reftable_writer *w ) ;
static void writer_clear_index(struct reftable_writer *w ) ;
static int writer_finish_public_section(struct reftable_writer *w ) ;
static struct reftable_block_stats *writer_reftable_block_stats(struct reftable_writer *w ,
                                                                uint8_t typ )
{


  {
  {
  if ((int )typ == 114) {
    goto case_114;
  }
  if ((int )typ == 111) {
    goto case_111;
  }
  if ((int )typ == 105) {
    goto case_105;
  }
  if ((int )typ == 103) {
    goto case_103;
  }
  goto switch_break;
  case_114: /* CIL Label */
  return (& w->stats.ref_stats);
  case_111: /* CIL Label */
  return (& w->stats.obj_stats);
  case_105: /* CIL Label */
  return (& w->stats.idx_stats);
  case_103: /* CIL Label */
  return (& w->stats.log_stats);
  switch_break: /* CIL Label */ ;
  }
  abort();
  return ((struct reftable_block_stats *)((void *)0));
}
}
static int padded_write(struct reftable_writer *w , uint8_t *data , size_t len___0 ,
                        int padding___2 )
{
  int n ;
  uint8_t *zeroed ;
  void *tmp ;
  int n___0 ;
  ssize_t tmp___0 ;
  ssize_t tmp___1 ;

  {
  n = 0;
  if (w->pending_padding > 0) {
    tmp = reftable_calloc((size_t )w->pending_padding);
    zeroed = (uint8_t *)tmp;
    tmp___0 = (*(w->write))(w->write_arg, (void const   *)zeroed, (size_t )w->pending_padding);
    n___0 = (int )tmp___0;
    if (n___0 < 0) {
      return (n___0);
    }
    w->pending_padding = 0;
    reftable_free((void *)zeroed);
  }
  w->pending_padding = padding___2;
  tmp___1 = (*(w->write))(w->write_arg, (void const   *)data, len___0);
  n = (int )tmp___1;
  if (n < 0) {
    return (n);
  }
  n += padding___2;
  return (0);
}
}
static void options_set_defaults(struct reftable_write_options *opts___1 )
{


  {
  if (opts___1->restart_interval == 0) {
    opts___1->restart_interval = 16;
  }
  if (opts___1->hash_id == 0U) {
    opts___1->hash_id = (uint32_t )0x73686131;
  }
  if (opts___1->block_size == 0U) {
    opts___1->block_size = (uint32_t )4096;
  }
  return;
}
}
static int writer_version(struct reftable_writer *w )
{
  int tmp ;

  {
  if (w->opts.hash_id == 0U) {
    tmp = 1;
  } else
  if (w->opts.hash_id == 1936220465U) {
    tmp = 1;
  } else {
    tmp = 2;
  }
  return (tmp);
}
}
static int writer_write_header(struct reftable_writer *w , uint8_t *dest )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  memcpy((void *)dest, (void const   *)"REFT", (size_t )4);
  tmp = writer_version(w);
  *(dest + 4) = (uint8_t )tmp;
  put_be24(dest + 5, w->opts.block_size);
  put_be64((void *)(dest + 8), w->min_update_index);
  put_be64((void *)(dest + 16), w->max_update_index);
  tmp___0 = writer_version(w);
  if (tmp___0 == 2) {
    put_be32((void *)(dest + 24), w->opts.hash_id);
  }
  tmp___1 = writer_version(w);
  tmp___2 = header_size(tmp___1);
  return (tmp___2);
}
}
static void writer_reinit_block_writer(struct reftable_writer *w , uint8_t typ )
{
  int block_start ;
  int tmp ;
  int tmp___0 ;

  {
  block_start = 0;
  if (w->next == 0UL) {
    tmp = writer_version(w);
    block_start = header_size(tmp);
  }
  strbuf_release(& w->last_key);
  tmp___0 = hash_size(w->opts.hash_id);
  block_writer_init(& w->block_writer_data, typ, w->block, w->opts.block_size, (uint32_t )block_start,
                    tmp___0);
  w->block_writer = & w->block_writer_data;
  (w->block_writer)->restart_interval = w->opts.restart_interval;
  return;
}
}
static struct strbuf reftable_empty_strbuf  =    {0UL, 0UL, strbuf_slopbuf};
struct reftable_writer *reftable_new_writer(ssize_t (*writer_func)(void * , void const   * ,
                                                                   size_t  ) , void *writer_arg ,
                                            struct reftable_write_options *opts___1 )
{
  struct reftable_writer *wp ;
  void *tmp ;
  void *tmp___0 ;

  {
  tmp = reftable_calloc(sizeof(struct reftable_writer ));
  wp = (struct reftable_writer *)tmp;
  strbuf_init(& wp->block_writer_data.last_key, (size_t )0);
  options_set_defaults(opts___1);
  if (opts___1->block_size >= (uint32_t )(1 << 24)) {
    abort();
  }
  wp->last_key = reftable_empty_strbuf;
  tmp___0 = reftable_calloc((size_t )opts___1->block_size);
  wp->block = (uint8_t *)tmp___0;
  wp->write = writer_func;
  wp->write_arg = writer_arg;
  wp->opts = *opts___1;
  writer_reinit_block_writer(wp, (uint8_t )'r');
  return (wp);
}
}
void reftable_writer_set_limits(struct reftable_writer *w , uint64_t min , uint64_t max )
{


  {
  w->min_update_index = min;
  w->max_update_index = max;
  return;
}
}
void reftable_writer_free(struct reftable_writer *w )
{


  {
  reftable_free((void *)w->block);
  reftable_free((void *)w);
  return;
}
}
static int obj_index_tree_node_compare(void const   *a , void const   *b___0 )
{
  int tmp ;

  {
  tmp = strbuf_cmp((struct strbuf  const  *)(& ((struct obj_index_tree_node  const  *)a)->hash),
                   (struct strbuf  const  *)(& ((struct obj_index_tree_node  const  *)b___0)->hash));
  return (tmp);
}
}
static void writer_index_hash(struct reftable_writer *w , struct strbuf *hash___0 )
{
  uint64_t off ;
  struct obj_index_tree_node want ;
  struct tree_node *node ;
  struct tree_node *tmp ;
  struct obj_index_tree_node *key___1 ;
  struct obj_index_tree_node empty ;
  void *tmp___0 ;
  void *tmp___1 ;
  size_t tmp___2 ;

  {
  off = w->next;
  want.hash = *hash___0;
  want.offsets = (uint64_t *)0;
  want.offset_len = 0UL;
  want.offset_cap = 0UL;
  tmp = tree_search((void *)(& want), & w->obj_index_tree, & obj_index_tree_node_compare,
                    0);
  node = tmp;
  key___1 = (struct obj_index_tree_node *)((void *)0);
  if ((unsigned long )node == (unsigned long )((void *)0)) {
    empty.hash.alloc = 0UL;
    empty.hash.len = 0UL;
    empty.hash.buf = strbuf_slopbuf;
    empty.offsets = (uint64_t *)0;
    empty.offset_len = 0UL;
    empty.offset_cap = 0UL;
    tmp___0 = reftable_malloc(sizeof(struct obj_index_tree_node ));
    key___1 = (struct obj_index_tree_node *)tmp___0;
    *key___1 = empty;
    strbuf_setlen___33(& key___1->hash, (size_t )0);
    strbuf_addbuf(& key___1->hash, (struct strbuf  const  *)hash___0);
    tree_search((void *)key___1, & w->obj_index_tree, & obj_index_tree_node_compare,
                1);
  } else {
    key___1 = (struct obj_index_tree_node *)node->key;
  }
  if (key___1->offset_len > 0UL) {
    if (*(key___1->offsets + (key___1->offset_len - 1UL)) == off) {
      return;
    }
  }
  if (key___1->offset_len == key___1->offset_cap) {
    key___1->offset_cap = 2UL * key___1->offset_cap + 1UL;
    tmp___1 = reftable_realloc((void *)key___1->offsets, sizeof(uint64_t ) * key___1->offset_cap);
    key___1->offsets = (uint64_t *)tmp___1;
  }
  tmp___2 = key___1->offset_len;
  (key___1->offset_len) ++;
  *(key___1->offsets + tmp___2) = off;
  return;
}
}
static int writer_add_record(struct reftable_writer *w , struct reftable_record *rec )
{
  struct strbuf key___1 ;
  int err___4 ;
  int tmp ;
  uint8_t tmp___0 ;
  uint8_t tmp___1 ;
  uint8_t tmp___2 ;
  int tmp___3 ;
  uint8_t tmp___4 ;

  {
  key___1.alloc = 0UL;
  key___1.len = 0UL;
  key___1.buf = strbuf_slopbuf;
  err___4 = -1;
  reftable_record_key(rec, & key___1);
  tmp = strbuf_cmp((struct strbuf  const  *)(& w->last_key), (struct strbuf  const  *)(& key___1));
  if (tmp >= 0) {
    err___4 = -6;
    goto done;
  }
  strbuf_setlen___33(& w->last_key, (size_t )0);
  strbuf_addbuf(& w->last_key, (struct strbuf  const  *)(& key___1));
  if ((unsigned long )w->block_writer == (unsigned long )((void *)0)) {
    tmp___0 = reftable_record_type(rec);
    writer_reinit_block_writer(w, tmp___0);
  }
  tmp___1 = block_writer_type(w->block_writer);
  tmp___2 = reftable_record_type(rec);
  assert((int )tmp___1 == (int )tmp___2);
  tmp___3 = block_writer_add(w->block_writer, rec);
  if (tmp___3 == 0) {
    err___4 = 0;
    goto done;
  }
  err___4 = writer_flush_block(w);
  if (err___4 < 0) {
    goto done;
  }
  tmp___4 = reftable_record_type(rec);
  writer_reinit_block_writer(w, tmp___4);
  err___4 = block_writer_add(w->block_writer, rec);
  if (err___4 < 0) {
    err___4 = -11;
    goto done;
  }
  err___4 = 0;
  done:
  strbuf_release(& key___1);
  return (err___4);
}
}
int reftable_writer_add_ref(struct reftable_writer *w , struct reftable_ref_record *ref )
{
  struct reftable_record rec ;
  struct reftable_ref_record copy___0 ;
  int err___4 ;
  struct strbuf h ;
  int tmp ;
  uint8_t *tmp___0 ;
  uint8_t *tmp___1 ;
  struct strbuf h___0 ;
  int tmp___2 ;
  uint8_t *tmp___3 ;
  uint8_t *tmp___4 ;

  {
  rec.data = (void *)0;
  rec.ops = (struct reftable_record_vtable *)0;
  copy___0 = *ref;
  err___4 = 0;
  if ((unsigned long )ref->refname == (unsigned long )((void *)0)) {
    return (-6);
  }
  if (ref->update_index < w->min_update_index) {
    return (-6);
  } else
  if (ref->update_index > w->max_update_index) {
    return (-6);
  }
  reftable_record_from_ref(& rec, & copy___0);
  copy___0.update_index -= w->min_update_index;
  err___4 = writer_add_record(w, & rec);
  if (err___4 < 0) {
    return (err___4);
  }
  if (! w->opts.skip_index_objects) {
    tmp___1 = reftable_ref_record_val1(ref);
    if (tmp___1) {
      h.alloc = 0UL;
      h.len = 0UL;
      h.buf = strbuf_slopbuf;
      tmp = hash_size(w->opts.hash_id);
      tmp___0 = reftable_ref_record_val1(ref);
      strbuf_add(& h, (void const   *)((char *)tmp___0), (size_t )tmp);
      writer_index_hash(w, & h);
      strbuf_release(& h);
    }
  }
  if (! w->opts.skip_index_objects) {
    tmp___4 = reftable_ref_record_val2(ref);
    if (tmp___4) {
      h___0.alloc = 0UL;
      h___0.len = 0UL;
      h___0.buf = strbuf_slopbuf;
      tmp___2 = hash_size(w->opts.hash_id);
      tmp___3 = reftable_ref_record_val2(ref);
      strbuf_add(& h___0, (void const   *)tmp___3, (size_t )tmp___2);
      writer_index_hash(w, & h___0);
      strbuf_release(& h___0);
    }
  }
  return (0);
}
}
int reftable_writer_add_refs(struct reftable_writer *w , struct reftable_ref_record *refs___0 ,
                             int n )
{
  int err___4 ;
  int i ;

  {
  err___4 = 0;
  i = 0;
  sane_qsort((void *)refs___0, (size_t )n, sizeof(*refs___0), & reftable_ref_record_compare_name);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (err___4 == 0) {
      if (! (i < n)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    err___4 = reftable_writer_add_ref(w, refs___0 + i);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (err___4);
}
}
static int reftable_writer_add_log_verbatim(struct reftable_writer *w , struct reftable_log_record *log )
{
  struct reftable_record rec ;
  int err___4 ;
  int tmp ;
  uint8_t tmp___0 ;
  int tmp___1 ;

  {
  rec.data = (void *)0;
  rec.ops = (struct reftable_record_vtable *)0;
  if (w->block_writer) {
    tmp___0 = block_writer_type(w->block_writer);
    if ((int )tmp___0 == 114) {
      tmp = writer_finish_public_section(w);
      err___4 = tmp;
      if (err___4 < 0) {
        return (err___4);
      }
    }
  }
  w->next -= (uint64_t )w->pending_padding;
  w->pending_padding = 0;
  reftable_record_from_log(& rec, log);
  tmp___1 = writer_add_record(w, & rec);
  return (tmp___1);
}
}
int reftable_writer_add_log(struct reftable_writer *w , struct reftable_log_record *log )
{
  char *input_log_message ;
  struct strbuf cleaned_message ;
  int err___4 ;
  int tmp ;
  char *tmp___0 ;

  {
  input_log_message = (char *)((void *)0);
  cleaned_message.alloc = 0UL;
  cleaned_message.len = 0UL;
  cleaned_message.buf = strbuf_slopbuf;
  err___4 = 0;
  if ((unsigned int )log->value_type == 0U) {
    tmp = reftable_writer_add_log_verbatim(w, log);
    return (tmp);
  }
  if ((unsigned long )log->refname == (unsigned long )((void *)0)) {
    return (-6);
  }
  input_log_message = log->value.update.message;
  if (! w->opts.exact_log_message) {
    if (log->value.update.message) {
      strbuf_addstr(& cleaned_message, (char const   *)log->value.update.message);
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (cleaned_message.len) {
          if (! ((int )*(cleaned_message.buf + (cleaned_message.len - 1UL)) == 10)) {
            goto while_break;
          }
        } else {
          goto while_break;
        }
        strbuf_setlen___33(& cleaned_message, cleaned_message.len - 1UL);
      }
      while_break: /* CIL Label */ ;
      }
      tmp___0 = strchr((char const   *)cleaned_message.buf, '\n');
      if (tmp___0) {
        err___4 = -6;
        goto done;
      }
      strbuf_addstr(& cleaned_message, (char const   *)"\n");
      log->value.update.message = cleaned_message.buf;
    }
  }
  err___4 = reftable_writer_add_log_verbatim(w, log);
  log->value.update.message = input_log_message;
  done:
  strbuf_release(& cleaned_message);
  return (err___4);
}
}
int reftable_writer_add_logs(struct reftable_writer *w , struct reftable_log_record *logs ,
                             int n )
{
  int err___4 ;
  int i ;

  {
  err___4 = 0;
  i = 0;
  sane_qsort((void *)logs, (size_t )n, sizeof(*logs), & reftable_log_record_compare_key);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (err___4 == 0) {
      if (! (i < n)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    err___4 = reftable_writer_add_log(w, logs + i);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (err___4);
}
}
static int writer_finish_section(struct reftable_writer *w )
{
  uint8_t typ ;
  uint8_t tmp ;
  uint64_t index_start ;
  int max_level ;
  int threshold ;
  int tmp___0 ;
  int before_blocks ;
  int err___4 ;
  int tmp___1 ;
  int i ;
  struct reftable_block_stats *bstats ;
  struct reftable_index_record *idx___0 ;
  int idx_len ;
  struct reftable_record rec ;
  int tmp___2 ;

  {
  tmp = block_writer_type(w->block_writer);
  typ = tmp;
  index_start = (uint64_t )0;
  max_level = 0;
  if (w->opts.unpadded) {
    tmp___0 = 1;
  } else {
    tmp___0 = 3;
  }
  threshold = tmp___0;
  before_blocks = w->stats.idx_stats.blocks;
  tmp___1 = writer_flush_block(w);
  err___4 = tmp___1;
  i = 0;
  bstats = (struct reftable_block_stats *)((void *)0);
  if (err___4 < 0) {
    return (err___4);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (w->index_len > (size_t )threshold)) {
      goto while_break;
    }
    idx___0 = (struct reftable_index_record *)((void *)0);
    idx_len = 0;
    max_level ++;
    index_start = w->next;
    writer_reinit_block_writer(w, (uint8_t )'i');
    idx___0 = w->index;
    idx_len = (int )w->index_len;
    w->index = (struct reftable_index_record *)((void *)0);
    w->index_len = (size_t )0;
    w->index_cap = (size_t )0;
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < idx_len)) {
        goto while_break___0;
      }
      rec.data = (void *)0;
      rec.ops = (struct reftable_record_vtable *)0;
      reftable_record_from_index(& rec, idx___0 + i);
      tmp___2 = block_writer_add(w->block_writer, & rec);
      if (tmp___2 == 0) {
        goto __Cont;
      }
      err___4 = writer_flush_block(w);
      if (err___4 < 0) {
        return (err___4);
      }
      writer_reinit_block_writer(w, (uint8_t )'i');
      err___4 = block_writer_add(w->block_writer, & rec);
      if (err___4 != 0) {
        abort();
      }
      __Cont: /* CIL Label */
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < idx_len)) {
        goto while_break___1;
      }
      strbuf_release(& (idx___0 + i)->last_key);
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    reftable_free((void *)idx___0);
  }
  while_break: /* CIL Label */ ;
  }
  writer_clear_index(w);
  err___4 = writer_flush_block(w);
  if (err___4 < 0) {
    return (err___4);
  }
  bstats = writer_reftable_block_stats(w, typ);
  bstats->index_blocks = w->stats.idx_stats.blocks - before_blocks;
  bstats->index_offset = index_start;
  bstats->max_index_level = max_level;
  w->last_key.len = (size_t )0;
  return (0);
}
}
static void update_common(void *void_arg , void *key___1 )
{
  struct common_prefix_arg *arg ;
  struct obj_index_tree_node *entry ;
  int n ;
  int tmp ;

  {
  arg = (struct common_prefix_arg *)void_arg;
  entry = (struct obj_index_tree_node *)key___1;
  if (arg->last) {
    tmp = common_prefix_size(& entry->hash, arg->last);
    n = tmp;
    if (n > arg->max) {
      arg->max = n;
    }
  }
  arg->last = & entry->hash;
  return;
}
}
static void write_object_record(void *void_arg , void *key___1 )
{
  struct write_record_arg *arg ;
  struct obj_index_tree_node *entry ;
  struct reftable_obj_record obj_rec ;
  struct reftable_record rec ;

  {
  arg = (struct write_record_arg *)void_arg;
  entry = (struct obj_index_tree_node *)key___1;
  obj_rec.hash_prefix = (uint8_t *)entry->hash.buf;
  obj_rec.hash_prefix_len = (arg->w)->stats.object_id_len;
  obj_rec.offsets = entry->offsets;
  obj_rec.offset_len = (int )entry->offset_len;
  rec.data = (void *)0;
  rec.ops = (struct reftable_record_vtable *)0;
  if (arg->err < 0) {
    goto done;
  }
  reftable_record_from_obj(& rec, & obj_rec);
  arg->err = block_writer_add((arg->w)->block_writer, & rec);
  if (arg->err == 0) {
    goto done;
  }
  arg->err = writer_flush_block(arg->w);
  if (arg->err < 0) {
    goto done;
  }
  writer_reinit_block_writer(arg->w, (uint8_t )'o');
  arg->err = block_writer_add((arg->w)->block_writer, & rec);
  if (arg->err == 0) {
    goto done;
  }
  obj_rec.offset_len = 0;
  arg->err = block_writer_add((arg->w)->block_writer, & rec);
  assert(arg->err == 0);
  done: ;
  return;
}
}
static void object_record_free(void *void_arg , void *key___1 )
{
  struct obj_index_tree_node *entry ;

  {
  entry = (struct obj_index_tree_node *)key___1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)entry->offsets);
    entry->offsets = (uint64_t *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& entry->hash);
  reftable_free((void *)entry);
  return;
}
}
static int writer_dump_object_index(struct reftable_writer *w )
{
  struct write_record_arg closure ;
  struct common_prefix_arg common ;
  int tmp ;

  {
  closure.w = w;
  closure.err = 0;
  common.last = (struct strbuf *)((void *)0);
  common.max = 0;
  if (w->obj_index_tree) {
    infix_walk(w->obj_index_tree, & update_common, (void *)(& common));
  }
  w->stats.object_id_len = common.max + 1;
  writer_reinit_block_writer(w, (uint8_t )'o');
  if (w->obj_index_tree) {
    infix_walk(w->obj_index_tree, & write_object_record, (void *)(& closure));
  }
  if (closure.err < 0) {
    return (closure.err);
  }
  tmp = writer_finish_section(w);
  return (tmp);
}
}
static int writer_finish_public_section(struct reftable_writer *w )
{
  uint8_t typ ;
  int err___4 ;

  {
  typ = (uint8_t )0;
  err___4 = 0;
  if ((unsigned long )w->block_writer == (unsigned long )((void *)0)) {
    return (0);
  }
  typ = block_writer_type(w->block_writer);
  err___4 = writer_finish_section(w);
  if (err___4 < 0) {
    return (err___4);
  }
  if ((int )typ == 114) {
    if (! w->opts.skip_index_objects) {
      if (w->stats.ref_stats.index_blocks > 0) {
        err___4 = writer_dump_object_index(w);
        if (err___4 < 0) {
          return (err___4);
        }
      }
    }
  }
  if (w->obj_index_tree) {
    infix_walk(w->obj_index_tree, & object_record_free, (void *)0);
    tree_free(w->obj_index_tree);
    w->obj_index_tree = (struct tree_node *)((void *)0);
  }
  w->block_writer = (struct block_writer *)((void *)0);
  return (0);
}
}
int reftable_writer_close(struct reftable_writer *w )
{
  uint8_t footer[72] ;
  uint8_t *p___0 ;
  int err___4 ;
  int tmp ;
  int empty_table ;
  uint8_t header___0[28] ;
  int n ;
  int tmp___0 ;
  int tmp___1 ;
  uLong tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  p___0 = footer;
  tmp = writer_finish_public_section(w);
  err___4 = tmp;
  empty_table = w->next == 0UL;
  if (err___4 != 0) {
    goto done;
  }
  w->pending_padding = 0;
  if (empty_table) {
    tmp___0 = writer_write_header(w, header___0);
    n = tmp___0;
    err___4 = padded_write(w, header___0, (size_t )n, 0);
    if (err___4 < 0) {
      goto done;
    }
  }
  tmp___1 = writer_write_header(w, footer);
  p___0 += tmp___1;
  put_be64((void *)p___0, w->stats.ref_stats.index_offset);
  p___0 += 8;
  put_be64((void *)p___0, (w->stats.obj_stats.offset << 5) | (unsigned long )w->stats.object_id_len);
  p___0 += 8;
  put_be64((void *)p___0, w->stats.obj_stats.index_offset);
  p___0 += 8;
  put_be64((void *)p___0, w->stats.log_stats.offset);
  p___0 += 8;
  put_be64((void *)p___0, w->stats.log_stats.index_offset);
  p___0 += 8;
  tmp___2 = crc32((uLong )0, (Bytef const   *)(footer), (uInt )(p___0 - footer));
  put_be32((void *)p___0, (uint32_t )tmp___2);
  p___0 += 4;
  tmp___3 = writer_version(w);
  tmp___4 = footer_size(tmp___3);
  err___4 = padded_write(w, footer, (size_t )tmp___4, 0);
  if (err___4 < 0) {
    goto done;
  }
  if (empty_table) {
    err___4 = -8;
    goto done;
  }
  done:
  block_writer_release(& w->block_writer_data);
  writer_clear_index(w);
  strbuf_release(& w->last_key);
  return (err___4);
}
}
static void writer_clear_index(struct reftable_writer *w )
{
  int i ;

  {
  i = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < w->index_len)) {
      goto while_break;
    }
    strbuf_release(& (w->index + i)->last_key);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)w->index);
    w->index = (struct reftable_index_record *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  w->index_len = (size_t )0;
  w->index_cap = (size_t )0;
  return;
}
}
static int const   debug___0  =    (int const   )0;
static int writer_flush_nonempty_block(struct reftable_writer *w )
{
  uint8_t typ ;
  uint8_t tmp ;
  struct reftable_block_stats *bstats ;
  struct reftable_block_stats *tmp___0 ;
  uint64_t block_typ_off ;
  uint64_t tmp___1 ;
  int raw_bytes ;
  int tmp___2 ;
  int padding___2 ;
  int err___4 ;
  struct reftable_index_record ir ;
  uint32_t tmp___3 ;
  void *tmp___4 ;

  {
  tmp = block_writer_type(w->block_writer);
  typ = tmp;
  tmp___0 = writer_reftable_block_stats(w, typ);
  bstats = tmp___0;
  if (bstats->blocks == 0) {
    tmp___1 = w->next;
  } else {
    tmp___1 = (uint64_t )0;
  }
  block_typ_off = tmp___1;
  tmp___2 = block_writer_finish(w->block_writer);
  raw_bytes = tmp___2;
  padding___2 = 0;
  err___4 = 0;
  ir.offset = 0UL;
  ir.last_key.alloc = 0UL;
  ir.last_key.len = 0UL;
  ir.last_key.buf = strbuf_slopbuf;
  if (raw_bytes < 0) {
    return (raw_bytes);
  }
  if (! w->opts.unpadded) {
    if ((int )typ != 103) {
      padding___2 = (int )(w->opts.block_size - (uint32_t )raw_bytes);
    }
  }
  if (block_typ_off > 0UL) {
    bstats->offset = block_typ_off;
  }
  bstats->entries += (w->block_writer)->entries;
  bstats->restarts = (int )((uint32_t )bstats->restarts + (w->block_writer)->restart_len);
  (bstats->blocks) ++;
  (w->stats.blocks) ++;
  if (debug___0) {
    tmp___3 = get_be24((w->block + (w->block_writer)->header_off) + 1);
    fprintf(stderr, (char const   *)"block %c off %lu sz %d (%d)\n", (int )typ, w->next,
            raw_bytes, tmp___3);
  }
  if (w->next == 0UL) {
    writer_write_header(w, w->block);
  }
  err___4 = padded_write(w, w->block, (size_t )raw_bytes, padding___2);
  if (err___4 < 0) {
    return (err___4);
  }
  if (w->index_cap == w->index_len) {
    w->index_cap = 2UL * w->index_cap + 1UL;
    tmp___4 = reftable_realloc((void *)w->index, sizeof(struct reftable_index_record ) * w->index_cap);
    w->index = (struct reftable_index_record *)tmp___4;
  }
  ir.offset = w->next;
  strbuf_setlen___33(& ir.last_key, (size_t )0);
  strbuf_addbuf(& ir.last_key, (struct strbuf  const  *)(& (w->block_writer)->last_key));
  *(w->index + w->index_len) = ir;
  (w->index_len) ++;
  w->next += (uint64_t )(padding___2 + raw_bytes);
  w->block_writer = (struct block_writer *)((void *)0);
  return (0);
}
}
static int writer_flush_block(struct reftable_writer *w )
{
  int tmp ;

  {
  if ((unsigned long )w->block_writer == (unsigned long )((void *)0)) {
    return (0);
  }
  if ((w->block_writer)->entries == 0) {
    return (0);
  }
  tmp = writer_flush_nonempty_block(w);
  return (tmp);
}
}
struct reftable_stats  const  *writer_stats(struct reftable_writer *w )
{


  {
  return ((struct reftable_stats  const  *)(& w->stats));
}
}
static double const   __ac_HASH_UPPER___102  =    (double const   )0.77;
__inline static void kh_resize_oid_set___102(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___102(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___102 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___102 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___102(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___102(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___102(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___102(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___102(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___102(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___102 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___102 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___102(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___102(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___102(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___102(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___102(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___102(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___102 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___102 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___102(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___102(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___102(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___102(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___78(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___78(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___102 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___102 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___78(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___78(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___78(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___78(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   content_type[13]  =
  {      (char const   )'C',      (char const   )'o',      (char const   )'n',      (char const   )'t',
        (char const   )'e',      (char const   )'n',      (char const   )'t',      (char const   )'-',
        (char const   )'T',      (char const   )'y',      (char const   )'p',      (char const   )'e',
        (char const   )'\000'};
static char const   content_length[15]  =
  {      (char const   )'C',      (char const   )'o',      (char const   )'n',      (char const   )'t',
        (char const   )'e',      (char const   )'n',      (char const   )'t',      (char const   )'-',
        (char const   )'L',      (char const   )'e',      (char const   )'n',      (char const   )'g',
        (char const   )'t',      (char const   )'h',      (char const   )'\000'};
static char const   last_modified[14]  =
  {      (char const   )'L',      (char const   )'a',      (char const   )'s',      (char const   )'t',
        (char const   )'-',      (char const   )'M',      (char const   )'o',      (char const   )'d',
        (char const   )'i',      (char const   )'f',      (char const   )'i',      (char const   )'e',
        (char const   )'d',      (char const   )'\000'};
static int getanyfile  =    1;
static unsigned long max_request_buffer  =    10485760UL;
static struct string_list *query_params  ;
static struct rpc_service rpc_service[2]  = {      {(char const   *)"upload-pack", (char const   *)"uploadpack", 1U, 1},
        {(char const   *)"receive-pack", (char const   *)"receivepack", 0U, -1}};
static struct string_list *get_parameters(void)
{
  char const   *query ;
  char *tmp ;
  void *tmp___0 ;
  char *name___0 ;
  char *tmp___1 ;
  char *value ;
  char *tmp___2 ;
  struct string_list_item *i ;

  {
  if (! query_params) {
    tmp = getenv((char const   *)"QUERY_STRING");
    query = (char const   *)tmp;
    tmp___0 = xcalloc((size_t )1, sizeof(*query_params));
    query_params = (struct string_list *)tmp___0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (query) {
        if (! *query) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      tmp___1 = url_decode_parameter_name(& query);
      name___0 = tmp___1;
      tmp___2 = url_decode_parameter_value(& query);
      value = tmp___2;
      i = string_list_lookup(query_params, (char const   *)name___0);
      if (! i) {
        i = string_list_insert(query_params, (char const   *)name___0);
      } else {
        free(i->util);
      }
      i->util = (void *)value;
    }
    while_break: /* CIL Label */ ;
    }
  }
  return (query_params);
}
}
static char const   *get_parameter(char const   *name___0 )
{
  struct string_list_item *i ;
  struct string_list *tmp ;
  void *tmp___0 ;

  {
  tmp = get_parameters();
  i = string_list_lookup(tmp, name___0);
  if (i) {
    tmp___0 = i->util;
  } else {
    tmp___0 = (void *)0;
  }
  return ((char const   *)tmp___0);
}
}
static char buffer___1[1024]  ;
static void ( /* format attribute */  format_write)(int fd , char const   *fmt  , ...)
{
  va_list args___0 ;
  unsigned int n ;
  int tmp ;

  {
  __builtin_va_start(args___0, fmt);
  tmp = vsnprintf(buffer___1, sizeof(buffer___1), fmt, args___0);
  n = (unsigned int )tmp;
  __builtin_va_end(args___0);
  if ((unsigned long )n >= sizeof(buffer___1)) {
    die((char const   *)"protocol error: impossibly long line");
  }
  write_or_die(fd, (void const   *)(buffer___1), (size_t )n);
  return;
}
}
static void http_status(struct strbuf *hdr , unsigned int code , char const   *msg___5 )
{


  {
  strbuf_addf(hdr, (char const   *)"Status: %u %s\r\n", code, msg___5);
  return;
}
}
static void hdr_str(struct strbuf *hdr , char const   *name___0 , char const   *value )
{


  {
  strbuf_addf(hdr, (char const   *)"%s: %s\r\n", name___0, value);
  return;
}
}
static void hdr_int(struct strbuf *hdr , char const   *name___0 , uintmax_t value )
{


  {
  strbuf_addf(hdr, (char const   *)"%s: %lu\r\n", name___0, value);
  return;
}
}
static void hdr_date(struct strbuf *hdr , char const   *name___0 , timestamp_t when )
{
  char const   *value ;
  struct date_mode *tmp ;
  char const   *tmp___0 ;

  {
  tmp = date_mode_from_type((enum date_mode_type )6);
  tmp___0 = show_date(when, 0, (struct date_mode  const  *)tmp);
  value = tmp___0;
  hdr_str(hdr, name___0, value);
  return;
}
}
static void hdr_nocache(struct strbuf *hdr )
{


  {
  hdr_str(hdr, (char const   *)"Expires", (char const   *)"Fri, 01 Jan 1980 00:00:00 GMT");
  hdr_str(hdr, (char const   *)"Pragma", (char const   *)"no-cache");
  hdr_str(hdr, (char const   *)"Cache-Control", (char const   *)"no-cache, max-age=0, must-revalidate");
  return;
}
}
static void hdr_cache_forever(struct strbuf *hdr )
{
  timestamp_t now ;
  time_t tmp ;

  {
  tmp = time((time_t *)((void *)0));
  now = (timestamp_t )tmp;
  hdr_date(hdr, (char const   *)"Date", now);
  hdr_date(hdr, (char const   *)"Expires", now + 31536000UL);
  hdr_str(hdr, (char const   *)"Cache-Control", (char const   *)"public, max-age=31536000");
  return;
}
}
static void end_headers(struct strbuf *hdr )
{


  {
  strbuf_add(hdr, (void const   *)"\r\n", (size_t )2);
  write_or_die(1, (void const   *)hdr->buf, hdr->len);
  strbuf_release(hdr);
  return;
}
}
static void ( /* format attribute */  not_found)(struct strbuf *hdr , char const   *err___4
                                                 , ...)  __attribute__((__noreturn__)) ;
static void ( /* format attribute */  not_found)(struct strbuf *hdr , char const   *err___4
                                                 , ...)
{
  va_list params ;
  int tmp ;

  {
  http_status(hdr, 404U, (char const   *)"Not Found");
  hdr_nocache(hdr);
  end_headers(hdr);
  __builtin_va_start(params, err___4);
  if (err___4) {
    if (*err___4) {
      vfprintf(stderr, err___4, params);
    }
  }
  __builtin_va_end(params);
  tmp = trace2_cmd_exit_fl((char const   *)"http-backend.c", 139, 0);
  exit(tmp);
}
}
static void ( /* format attribute */  forbidden)(struct strbuf *hdr , char const   *err___4
                                                 , ...)  __attribute__((__noreturn__)) ;
static void ( /* format attribute */  forbidden)(struct strbuf *hdr , char const   *err___4
                                                 , ...)
{
  va_list params ;
  int tmp ;

  {
  http_status(hdr, 403U, (char const   *)"Forbidden");
  hdr_nocache(hdr);
  end_headers(hdr);
  __builtin_va_start(params, err___4);
  if (err___4) {
    if (*err___4) {
      vfprintf(stderr, err___4, params);
    }
  }
  __builtin_va_end(params);
  tmp = trace2_cmd_exit_fl((char const   *)"http-backend.c", 155, 0);
  exit(tmp);
}
}
static void select_getanyfile(struct strbuf *hdr )
{


  {
  if (! getanyfile) {
    forbidden(hdr, (char const   *)"Unsupported service: getanyfile");
  }
  return;
}
}
static void send_strbuf(struct strbuf *hdr , char const   *type___0 , struct strbuf *buf___19 )
{


  {
  hdr_int(hdr, content_length, buf___19->len);
  hdr_str(hdr, content_type, type___0);
  end_headers(hdr);
  write_or_die(1, (void const   *)buf___19->buf, buf___19->len);
  return;
}
}
static void send_local_file(struct strbuf *hdr , char const   *the_type , char const   *name___0 )
{
  char *p___0 ;
  char *tmp ;
  size_t buf_alloc ;
  char *buf___19 ;
  void *tmp___0 ;
  int fd ;
  struct stat sb___6 ;
  int *tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  ssize_t n ;
  ssize_t tmp___4 ;

  {
  tmp = git_pathdup((char const   *)"%s", name___0);
  p___0 = tmp;
  buf_alloc = (size_t )8192;
  tmp___0 = xmalloc(buf_alloc);
  buf___19 = (char *)tmp___0;
  fd = open((char const   *)p___0, 00);
  if (fd < 0) {
    tmp___1 = __errno_location();
    tmp___2 = strerror(*tmp___1);
    not_found(hdr, (char const   *)"Cannot open \'%s\': %s", p___0, tmp___2);
  }
  tmp___3 = fstat(fd, & sb___6);
  if (tmp___3 < 0) {
    die_errno((char const   *)"Cannot stat \'%s\'", p___0);
  }
  hdr_int(hdr, content_length, (uintmax_t )sb___6.st_size);
  hdr_str(hdr, content_type, the_type);
  hdr_date(hdr, last_modified, (timestamp_t )sb___6.st_mtim.tv_sec);
  end_headers(hdr);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___4 = xread(fd, (void *)buf___19, buf_alloc);
    n = tmp___4;
    if (n < 0L) {
      die_errno((char const   *)"Cannot read \'%s\'", p___0);
    }
    if (! n) {
      goto while_break;
    }
    write_or_die(1, (void const   *)buf___19, (size_t )n);
  }
  while_break: /* CIL Label */ ;
  }
  close(fd);
  free((void *)buf___19);
  free((void *)p___0);
  return;
}
}
static void get_text_file(struct strbuf *hdr , char *name___0 )
{


  {
  select_getanyfile(hdr);
  hdr_nocache(hdr);
  send_local_file(hdr, (char const   *)"text/plain", (char const   *)name___0);
  return;
}
}
static void get_loose_object(struct strbuf *hdr , char *name___0 )
{


  {
  select_getanyfile(hdr);
  hdr_cache_forever(hdr);
  send_local_file(hdr, (char const   *)"application/x-git-loose-object", (char const   *)name___0);
  return;
}
}
static void get_pack_file(struct strbuf *hdr , char *name___0 )
{


  {
  select_getanyfile(hdr);
  hdr_cache_forever(hdr);
  send_local_file(hdr, (char const   *)"application/x-git-packed-objects", (char const   *)name___0);
  return;
}
}
static void get_idx_file(struct strbuf *hdr , char *name___0 )
{


  {
  select_getanyfile(hdr);
  hdr_cache_forever(hdr);
  send_local_file(hdr, (char const   *)"application/x-git-packed-objects-toc", (char const   *)name___0);
  return;
}
}
static void http_config(void)
{
  int i ;
  int value ;
  struct strbuf var ;
  struct rpc_service *svc ;
  int tmp ;

  {
  value = 0;
  var.alloc = 0UL;
  var.len = 0UL;
  var.buf = strbuf_slopbuf;
  git_config_get_bool((char const   *)"http.getanyfile", & getanyfile);
  git_config_get_ulong((char const   *)"http.maxrequestbuffer", & max_request_buffer);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(rpc_service) / sizeof(rpc_service[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    svc = & rpc_service[i];
    strbuf_addf(& var, (char const   *)"http.%s", svc->config_name);
    tmp = git_config_get_bool((char const   *)var.buf, & value);
    if (! tmp) {
      svc->enabled = value;
    }
    strbuf_setlen(& var, (size_t )0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& var);
  return;
}
}
static struct rpc_service *select_service(struct strbuf *hdr , char const   *name___0 )
{
  char const   *svc_name ;
  struct rpc_service *svc ;
  int i ;
  int tmp ;
  struct rpc_service *s___1 ;
  int tmp___0 ;
  char const   *user ;
  char *tmp___1 ;

  {
  svc = (struct rpc_service *)((void *)0);
  tmp = skip_prefix(name___0, (char const   *)"git-", & svc_name);
  if (! tmp) {
    forbidden(hdr, (char const   *)"Unsupported service: \'%s\'", name___0);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(rpc_service) / sizeof(rpc_service[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    s___1 = & rpc_service[i];
    tmp___0 = strcmp(s___1->name, svc_name);
    if (! tmp___0) {
      svc = s___1;
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! svc) {
    forbidden(hdr, (char const   *)"Unsupported service: \'%s\'", name___0);
  }
  if (svc->enabled < 0) {
    tmp___1 = getenv((char const   *)"REMOTE_USER");
    user = (char const   *)tmp___1;
    if (user) {
      if (*user) {
        svc->enabled = 1;
      } else {
        svc->enabled = 0;
      }
    } else {
      svc->enabled = 0;
    }
  }
  if (! svc->enabled) {
    forbidden(hdr, (char const   *)"Service not enabled: \'%s\'", svc->name);
  }
  return (svc);
}
}
static void write_to_child(int out , unsigned char const   *buf___19 , ssize_t len___0 ,
                           char const   *prog_name )
{
  ssize_t tmp ;

  {
  tmp = write_in_full(out, (void const   *)buf___19, (size_t )len___0);
  if (tmp < 0L) {
    die((char const   *)"unable to write to \'%s\'", prog_name);
  }
  return;
}
}
static ssize_t read_request_eof(int fd , unsigned char **out )
{
  size_t len___0 ;
  size_t alloc___0 ;
  unsigned char *buf___19 ;
  void *tmp ;
  ssize_t cnt ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  len___0 = (size_t )0;
  alloc___0 = (size_t )8192;
  tmp = xmalloc(alloc___0);
  buf___19 = (unsigned char *)tmp;
  if (max_request_buffer < alloc___0) {
    max_request_buffer = alloc___0;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    cnt = read_in_full(fd, (void *)(buf___19 + len___0), alloc___0 - len___0);
    if (cnt < 0L) {
      free((void *)buf___19);
      return ((ssize_t )-1);
    }
    len___0 += (size_t )cnt;
    if (len___0 < alloc___0) {
      *out = buf___19;
      return ((ssize_t )len___0);
    }
    if (alloc___0 == max_request_buffer) {
      die((char const   *)"request was larger than our maximum size (%lu); try setting GIT_HTTP_MAX_REQUEST_BUFFER",
          max_request_buffer);
    }
    alloc___0 = ((alloc___0 + 16UL) * 3UL) / 2UL;
    if (alloc___0 > max_request_buffer) {
      alloc___0 = max_request_buffer;
    }
    tmp___0 = st_mult(sizeof(*buf___19), alloc___0);
    tmp___1 = xrealloc((void *)buf___19, tmp___0);
    buf___19 = (unsigned char *)tmp___1;
  }
  while_break: /* CIL Label */ ;
  }
}
}
static ssize_t read_request_fixed_len(int fd , ssize_t req_len , unsigned char **out )
{
  unsigned char *buf___19 ;
  ssize_t cnt ;
  void *tmp ;

  {
  buf___19 = (unsigned char *)((void *)0);
  cnt = (ssize_t )0;
  if (max_request_buffer < (unsigned long )req_len) {
    die((char const   *)"request was larger than our maximum size (%lu): %lu; try setting GIT_HTTP_MAX_REQUEST_BUFFER",
        max_request_buffer, (uintmax_t )req_len);
  }
  tmp = xmalloc((size_t )req_len);
  buf___19 = (unsigned char *)tmp;
  cnt = read_in_full(fd, (void *)buf___19, (size_t )req_len);
  if (cnt < 0L) {
    free((void *)buf___19);
    return ((ssize_t )-1);
  }
  *out = buf___19;
  return (cnt);
}
}
static ssize_t get_content_length(void)
{
  ssize_t val ;
  char const   *str ;
  char *tmp ;
  int tmp___0 ;

  {
  val = (ssize_t )-1;
  tmp = getenv((char const   *)"CONTENT_LENGTH");
  str = (char const   *)tmp;
  if (str) {
    if (*str) {
      tmp___0 = git_parse_ssize_t(str, & val);
      if (! tmp___0) {
        die((char const   *)"failed to parse CONTENT_LENGTH: %s", str);
      }
    }
  }
  return (val);
}
}
static ssize_t read_request(int fd , unsigned char **out , ssize_t req_len )
{
  ssize_t tmp ;
  ssize_t tmp___0 ;

  {
  if (req_len < 0L) {
    tmp = read_request_eof(fd, out);
    return (tmp);
  } else {
    tmp___0 = read_request_fixed_len(fd, req_len, out);
    return (tmp___0);
  }
}
}
static void inflate_request(char const   *prog_name , int out , int buffer_input ,
                            ssize_t req_len )
{
  git_zstream stream ;
  unsigned char *full_request ;
  unsigned char in_buf[8192] ;
  unsigned char out_buf[8192] ;
  unsigned long cnt ;
  int req_len_defined ;
  size_t req_remaining_len ;
  ssize_t n ;
  ssize_t buffer_len ;
  int ret___67 ;

  {
  full_request = (unsigned char *)((void *)0);
  cnt = 0UL;
  req_len_defined = req_len >= 0L;
  req_remaining_len = (size_t )req_len;
  memset((void *)(& stream), 0, sizeof(stream));
  git_inflate_init_gzip_only(& stream);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (buffer_input) {
      if (full_request) {
        n = (ssize_t )0;
      } else {
        n = read_request(0, & full_request, req_len);
      }
      stream.next_in = full_request;
    } else {
      if (req_len_defined) {
        if (req_remaining_len <= sizeof(in_buf)) {
          buffer_len = (ssize_t )req_remaining_len;
        } else {
          buffer_len = (ssize_t )sizeof(in_buf);
        }
      } else {
        buffer_len = (ssize_t )sizeof(in_buf);
      }
      n = xread(0, (void *)(in_buf), (size_t )buffer_len);
      stream.next_in = in_buf;
      if (req_len_defined) {
        if (n > 0L) {
          req_remaining_len -= (size_t )n;
        }
      }
    }
    if (n <= 0L) {
      die((char const   *)"request ended in the middle of the gzip stream");
    }
    stream.avail_in = (unsigned long )n;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (0UL < stream.avail_in)) {
        goto while_break___0;
      }
      stream.next_out = out_buf;
      stream.avail_out = sizeof(out_buf);
      ret___67 = git_inflate(& stream, 0);
      if (ret___67 != 0) {
        if (ret___67 != 1) {
          die((char const   *)"zlib error inflating request, result %d", ret___67);
        }
      }
      n = (ssize_t )(stream.total_out - cnt);
      write_to_child(out, (unsigned char const   *)(out_buf), (ssize_t )(stream.total_out - cnt),
                     prog_name);
      cnt = stream.total_out;
      if (ret___67 == 1) {
        goto done;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  done:
  git_inflate_end(& stream);
  close(out);
  free((void *)full_request);
  return;
}
}
static void copy_request(char const   *prog_name , int out , ssize_t req_len )
{
  unsigned char *buf___19 ;
  ssize_t n ;
  ssize_t tmp ;

  {
  tmp = read_request(0, & buf___19, req_len);
  n = tmp;
  if (n < 0L) {
    die_errno((char const   *)"error reading request body");
  }
  write_to_child(out, (unsigned char const   *)buf___19, n, prog_name);
  close(out);
  free((void *)buf___19);
  return;
}
}
static void pipe_fixed_length(char const   *prog_name , int out , size_t req_len )
{
  unsigned char buf___19[8192] ;
  size_t remaining_len ;
  size_t chunk_length ;
  unsigned long tmp ;
  ssize_t n ;
  ssize_t tmp___0 ;

  {
  remaining_len = req_len;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (remaining_len > 0UL)) {
      goto while_break;
    }
    if (remaining_len > sizeof(buf___19)) {
      tmp = sizeof(buf___19);
    } else {
      tmp = remaining_len;
    }
    chunk_length = tmp;
    tmp___0 = xread(0, (void *)(buf___19), chunk_length);
    n = tmp___0;
    if (n < 0L) {
      die_errno((char const   *)"Reading request failed");
    }
    write_to_child(out, (unsigned char const   *)(buf___19), n, prog_name);
    remaining_len -= (size_t )n;
  }
  while_break: /* CIL Label */ ;
  }
  close(out);
  return;
}
}
static void run_service___0(char const   **argv___0 , int buffer_input )
{
  char const   *encoding ;
  char *tmp ;
  char const   *user ;
  char *tmp___0 ;
  char const   *host ;
  char *tmp___1 ;
  int gzipped_request ;
  struct child_process cld ;
  ssize_t req_len ;
  ssize_t tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  tmp = getenv((char const   *)"HTTP_CONTENT_ENCODING");
  encoding = (char const   *)tmp;
  tmp___0 = getenv((char const   *)"REMOTE_USER");
  user = (char const   *)tmp___0;
  tmp___1 = getenv((char const   *)"REMOTE_ADDR");
  host = (char const   *)tmp___1;
  gzipped_request = 0;
  cld.args.v = empty_strvec;
  cld.args.nr = 0UL;
  cld.args.alloc = 0UL;
  cld.env_array.v = empty_strvec;
  cld.env_array.nr = 0UL;
  cld.env_array.alloc = 0UL;
  cld.pid = 0;
  cld.trace2_child_id = 0;
  cld.trace2_child_us_start = 0UL;
  cld.trace2_child_class = (char const   *)0;
  cld.trace2_hook_name = (char const   *)0;
  cld.in = 0;
  cld.out = 0;
  cld.err = 0;
  cld.dir = (char const   *)0;
  cld.no_stdin = 0U;
  cld.no_stdout = 0U;
  cld.no_stderr = 0U;
  cld.git_cmd = 0U;
  cld.silent_exec_failure = 0U;
  cld.use_shell = 0U;
  cld.close_object_store = 0U;
  cld.stdout_to_stderr = 0U;
  cld.clean_on_exit = 0U;
  cld.wait_after_clean = 0U;
  cld.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cld.clean_on_exit_handler_cbdata = (void *)0;
  tmp___2 = get_content_length();
  req_len = tmp___2;
  if (encoding) {
    tmp___3 = strcmp(encoding, (char const   *)"gzip");
    if (tmp___3) {
      tmp___4 = strcmp(encoding, (char const   *)"x-gzip");
      if (! tmp___4) {
        gzipped_request = 1;
      }
    } else {
      gzipped_request = 1;
    }
  }
  if (! user) {
    user = (char const   *)"anonymous";
  } else
  if (! *user) {
    user = (char const   *)"anonymous";
  }
  if (! host) {
    host = (char const   *)"(none)";
  } else
  if (! *host) {
    host = (char const   *)"(none)";
  }
  tmp___5 = getenv((char const   *)"GIT_COMMITTER_NAME");
  if (! tmp___5) {
    strvec_pushf(& cld.env_array, (char const   *)"GIT_COMMITTER_NAME=%s", user);
  }
  tmp___6 = getenv((char const   *)"GIT_COMMITTER_EMAIL");
  if (! tmp___6) {
    strvec_pushf(& cld.env_array, (char const   *)"GIT_COMMITTER_EMAIL=%s@http.%s",
                 user, host);
  }
  strvec_pushv(& cld.args, argv___0);
  if (buffer_input) {
    cld.in = -1;
  } else
  if (gzipped_request) {
    cld.in = -1;
  } else
  if (req_len >= 0L) {
    cld.in = -1;
  }
  cld.git_cmd = 1U;
  cld.clean_on_exit = 1U;
  cld.wait_after_clean = 1U;
  tmp___8 = start_command(& cld);
  if (tmp___8) {
    tmp___7 = trace2_cmd_exit_fl((char const   *)"http-backend.c", 490, 1);
    exit(tmp___7);
  }
  close(1);
  if (gzipped_request) {
    inflate_request(*(argv___0 + 0), cld.in, buffer_input, req_len);
  } else
  if (buffer_input) {
    copy_request(*(argv___0 + 0), cld.in, req_len);
  } else
  if (req_len >= 0L) {
    pipe_fixed_length(*(argv___0 + 0), cld.in, (size_t )req_len);
  } else {
    close(0);
  }
  tmp___10 = finish_command(& cld);
  if (tmp___10) {
    tmp___9 = trace2_cmd_exit_fl((char const   *)"http-backend.c", 503, 1);
    exit(tmp___9);
  }
  return;
}
}
static int show_text_ref(char const   *name___0 , struct object_id  const  *oid ,
                         int flag , void *cb_data )
{
  char const   *name_nons ;
  char const   *tmp ;
  struct strbuf *buf___19 ;
  struct object *o ;
  struct object *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  tmp = strip_namespace(name___0);
  name_nons = tmp;
  buf___19 = (struct strbuf *)cb_data;
  tmp___0 = parse_object(the_repository, oid);
  o = tmp___0;
  if (! o) {
    return (0);
  }
  tmp___1 = oid_to_hex(oid);
  strbuf_addf(buf___19, (char const   *)"%s\t%s\n", tmp___1, name_nons);
  if (o->type == 4U) {
    o = deref_tag(the_repository, o, name___0, 0);
    if (! o) {
      return (0);
    }
    tmp___2 = oid_to_hex((struct object_id  const  *)(& o->oid));
    strbuf_addf(buf___19, (char const   *)"%s\t%s^{}\n", tmp___2, name_nons);
  }
  return (0);
}
}
static void get_info_refs(struct strbuf *hdr , char *arg )
{
  char const   *service_name ;
  char const   *tmp ;
  struct strbuf buf___19 ;
  char const   *argv___0[4] ;
  struct rpc_service *svc ;
  struct rpc_service *tmp___0 ;
  enum protocol_version tmp___1 ;

  {
  tmp = get_parameter((char const   *)"service");
  service_name = tmp;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  hdr_nocache(hdr);
  if (service_name) {
    argv___0[0] = (char const   *)((void *)0);
    argv___0[1] = (char const   *)"--http-backend-info-refs";
    argv___0[2] = (char const   *)".";
    argv___0[3] = (char const   *)((void *)0);
    tmp___0 = select_service(hdr, service_name);
    svc = tmp___0;
    strbuf_addf(& buf___19, (char const   *)"application/x-git-%s-advertisement",
                svc->name);
    hdr_str(hdr, content_type, (char const   *)buf___19.buf);
    end_headers(hdr);
    tmp___1 = determine_protocol_version_server();
    if ((int )tmp___1 != 2) {
      packet_write_fmt(1, (char const   *)"# service=git-%s\n", svc->name);
      packet_flush(1);
    }
    argv___0[0] = svc->name;
    run_service___0(argv___0, 0);
  } else {
    select_getanyfile(hdr);
    for_each_namespaced_ref(& show_text_ref, (void *)(& buf___19));
    send_strbuf(hdr, (char const   *)"text/plain", & buf___19);
  }
  strbuf_release(& buf___19);
  return;
}
}
static int show_head_ref(char const   *refname , struct object_id  const  *oid , int flag ,
                         void *cb_data )
{
  struct strbuf *buf___19 ;
  char const   *target ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char *tmp___1 ;

  {
  buf___19 = (struct strbuf *)cb_data;
  if (flag & 0x01) {
    tmp = resolve_ref_unsafe(refname, 0x01, (struct object_id *)((void *)0), (int *)((void *)0));
    target = tmp;
    if (target) {
      tmp___0 = strip_namespace(target);
      strbuf_addf(buf___19, (char const   *)"ref: %s\n", tmp___0);
    }
  } else {
    tmp___1 = oid_to_hex(oid);
    strbuf_addf(buf___19, (char const   *)"%s\n", tmp___1);
  }
  return (0);
}
}
static void get_head(struct strbuf *hdr , char *arg )
{
  struct strbuf buf___19 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  select_getanyfile(hdr);
  head_ref_namespaced(& show_head_ref, (void *)(& buf___19));
  send_strbuf(hdr, (char const   *)"text/plain", & buf___19);
  strbuf_release(& buf___19);
  return;
}
}
static void get_info_packs(struct strbuf *hdr , char *arg )
{
  size_t objdirlen ;
  char *tmp ;
  size_t tmp___0 ;
  struct strbuf buf___19 ;
  struct packed_git *p___0 ;
  size_t cnt ;

  {
  tmp = get_object_directory();
  tmp___0 = strlen((char const   *)tmp);
  objdirlen = tmp___0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  cnt = (size_t )0;
  select_getanyfile(hdr);
  p___0 = get_all_packs(the_repository);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if (p___0->pack_local) {
      cnt ++;
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_grow(& buf___19, cnt * 53UL + 2UL);
  p___0 = get_all_packs(the_repository);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___0;
    }
    if (p___0->pack_local) {
      strbuf_addf(& buf___19, (char const   *)"P %s\n", (p___0->pack_name + objdirlen) + 6);
    }
    p___0 = p___0->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_addch(& buf___19, '\n');
  hdr_nocache(hdr);
  send_strbuf(hdr, (char const   *)"text/plain; charset=utf-8", & buf___19);
  strbuf_release(& buf___19);
  return;
}
}
static void check_content_type(struct strbuf *hdr , char const   *accepted_type )
{
  char const   *actual_type ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = getenv((char const   *)"CONTENT_TYPE");
  actual_type = (char const   *)tmp;
  if (! actual_type) {
    actual_type = (char const   *)"";
  }
  tmp___1 = strcmp(actual_type, accepted_type);
  if (tmp___1) {
    http_status(hdr, 415U, (char const   *)"Unsupported Media Type");
    hdr_nocache(hdr);
    end_headers(hdr);
    format_write(1, (char const   *)"Expected POST with Content-Type \'%s\', but received \'%s\' instead.\n",
                 accepted_type, actual_type);
    tmp___0 = trace2_cmd_exit_fl((char const   *)"http-backend.c", 630, 0);
    exit(tmp___0);
  }
  return;
}
}
static void service_rpc(struct strbuf *hdr , char *service_name )
{
  char const   *argv___0[4] ;
  struct rpc_service *svc ;
  struct rpc_service *tmp ;
  struct strbuf buf___19 ;

  {
  argv___0[0] = (char const   *)((void *)0);
  argv___0[1] = (char const   *)"--stateless-rpc";
  argv___0[2] = (char const   *)".";
  argv___0[3] = (char const   *)((void *)0);
  tmp = select_service(hdr, (char const   *)service_name);
  svc = tmp;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  strbuf_setlen(& buf___19, (size_t )0);
  strbuf_addf(& buf___19, (char const   *)"application/x-git-%s-request", svc->name);
  check_content_type(hdr, (char const   *)buf___19.buf);
  hdr_nocache(hdr);
  strbuf_setlen(& buf___19, (size_t )0);
  strbuf_addf(& buf___19, (char const   *)"application/x-git-%s-result", svc->name);
  hdr_str(hdr, content_type, (char const   *)buf___19.buf);
  end_headers(hdr);
  argv___0[0] = svc->name;
  run_service___0(argv___0, (int )svc->buffer_input);
  strbuf_release(& buf___19);
  return;
}
}
static int dead  ;
static void die_webcgi(char const   *err___4 , va_list params )  __attribute__((__noreturn__)) ;
static void die_webcgi(char const   *err___4 , va_list params )
{
  struct strbuf hdr ;
  void (*die_message_fn)(char const   * , va_list params ) ;
  report_fn tmp ;
  int tmp___0 ;

  {
  if (dead <= 1) {
    hdr.alloc = 0UL;
    hdr.len = 0UL;
    hdr.buf = strbuf_slopbuf;
    tmp = get_die_message_routine();
    die_message_fn = tmp;
    (*die_message_fn)(err___4, params);
    http_status(& hdr, 500U, (char const   *)"Internal Server Error");
    hdr_nocache(& hdr);
    end_headers(& hdr);
  }
  tmp___0 = trace2_cmd_exit_fl((char const   *)"http-backend.c", 670, 0);
  exit(tmp___0);
}
}
static int die_webcgi_recursing(void)
{
  int tmp ;

  {
  tmp = dead;
  dead ++;
  return (tmp > 1);
}
}
static char *getdir(void)
{
  struct strbuf buf___19 ;
  char *pathinfo ;
  char *tmp ;
  char *root ;
  char *tmp___0 ;
  char *path___6 ;
  char *tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = getenv((char const   *)"PATH_INFO");
  pathinfo = tmp;
  tmp___0 = getenv((char const   *)"GIT_PROJECT_ROOT");
  root = tmp___0;
  tmp___1 = getenv((char const   *)"PATH_TRANSLATED");
  path___6 = tmp___1;
  if (root) {
    if (*root) {
      if (! pathinfo) {
        die((char const   *)"GIT_PROJECT_ROOT is set but PATH_INFO is not");
      } else
      if (! *pathinfo) {
        die((char const   *)"GIT_PROJECT_ROOT is set but PATH_INFO is not");
      }
      tmp___2 = daemon_avoid_alias((char const   *)pathinfo);
      if (tmp___2) {
        die((char const   *)"\'%s\': aliased", pathinfo);
      }
      end_url_with_slash(& buf___19, (char const   *)root);
      if ((int )*(pathinfo + 0) == 47) {
        pathinfo ++;
      }
      strbuf_addstr(& buf___19, (char const   *)pathinfo);
      tmp___3 = strbuf_detach(& buf___19, (size_t *)((void *)0));
      return (tmp___3);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (path___6) {
    if (*path___6) {
      tmp___4 = xstrdup((char const   *)path___6);
      return (tmp___4);
    } else {
      die((char const   *)"No GIT_PROJECT_ROOT or PATH_TRANSLATED from server");
    }
  } else {
    die((char const   *)"No GIT_PROJECT_ROOT or PATH_TRANSLATED from server");
  }
  return ((char *)((void *)0));
}
}
static struct service_cmd services[13]  =
  {      {(char const   *)"GET", (char const   *)"/HEAD$", & get_head},
        {(char const   *)"GET", (char const   *)"/info/refs$", & get_info_refs},
        {(char const   *)"GET", (char const   *)"/objects/info/alternates$", & get_text_file},
        {(char const   *)"GET",
      (char const   *)"/objects/info/http-alternates$", & get_text_file},
        {(char const   *)"GET", (char const   *)"/objects/info/packs$", & get_info_packs},
        {(char const   *)"GET",
      (char const   *)"/objects/[0-9a-f]{2}/[0-9a-f]{38}$", & get_loose_object},
        {(char const   *)"GET", (char const   *)"/objects/[0-9a-f]{2}/[0-9a-f]{62}$",
      & get_loose_object},
        {(char const   *)"GET", (char const   *)"/objects/pack/pack-[0-9a-f]{40}\\.pack$",
      & get_pack_file},
        {(char const   *)"GET", (char const   *)"/objects/pack/pack-[0-9a-f]{64}\\.pack$",
      & get_pack_file},
        {(char const   *)"GET", (char const   *)"/objects/pack/pack-[0-9a-f]{40}\\.idx$",
      & get_idx_file},
        {(char const   *)"GET", (char const   *)"/objects/pack/pack-[0-9a-f]{64}\\.idx$",
      & get_idx_file},
        {(char const   *)"POST", (char const   *)"/git-upload-pack$", & service_rpc},
        {(char const   *)"POST",
      (char const   *)"/git-receive-pack$", & service_rpc}};
static int bad_request(struct strbuf *hdr , struct service_cmd  const  *c___0 )
{
  char const   *proto ;
  char *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = getenv((char const   *)"SERVER_PROTOCOL");
  proto = (char const   *)tmp;
  if (proto) {
    tmp___3 = strcmp(proto, (char const   *)"HTTP/1.1");
    if (tmp___3) {
      http_status(hdr, 400U, (char const   *)"Bad Request");
    } else {
      http_status(hdr, 405U, (char const   *)"Method Not Allowed");
      tmp___2 = strcmp((char const   *)c___0->method, (char const   *)"GET");
      if (tmp___2) {
        tmp___1 = (char const   *)c___0->method;
      } else {
        tmp___1 = (char const   *)"GET, HEAD";
      }
      hdr_str(hdr, (char const   *)"Allow", tmp___1);
    }
  } else {
    http_status(hdr, 400U, (char const   *)"Bad Request");
  }
  hdr_nocache(hdr);
  end_headers(hdr);
  return (0);
}
}
static int verbosity  ;
static int use_curl  =    0;
static char const   *imap_send_usage[2]  = {      (char const   *)"git imap-send [-v] [-q] [--[no-]curl] < <mbox>",      (char const   *)((void *)0)};
static struct option imap_send_options[4]  = {      {(enum parse_opt_type )12, 'v', (char const   *)"verbose", (void *)(& verbosity),
      (char const   *)((void *)0), (char const   *)"be more verbose", (enum parse_opt_option_flags )2,
      & parse_opt_verbosity_cb, (intptr_t )0, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 'q', (char const   *)"quiet", (void *)(& verbosity),
      (char const   *)((void *)0), (char const   *)"be more quiet", (enum parse_opt_option_flags )2,
      & parse_opt_verbosity_cb, (intptr_t )0, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"curl", (void *)(& use_curl), (char const   *)((void *)0),
      (char const   *)"use libcurl to communicate with the IMAP server", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static void ( /* format attribute */  imap_info)(char const   *msg___5  , ...) ;
static void ( /* format attribute */  imap_warn)(char const   *msg___5  , ...) ;
static char *next_arg(char **s___1 ) ;
static int ( /* format attribute */  nfsnprintf)(char *buf___19 , int blen , char const   *fmt
                                                 , ...) ;
static int nfvasprintf(char **strp , char const   *fmt , va_list ap )
{
  int len___0 ;
  char tmp[8192] ;
  void *tmp___0 ;

  {
  len___0 = vsnprintf(tmp, sizeof(tmp), fmt, ap);
  if (len___0 < 0) {
    die((char const   *)"Fatal: Out of memory");
  }
  if ((unsigned long )len___0 >= sizeof(tmp)) {
    die((char const   *)"imap command overflow!");
  }
  tmp___0 = xmemdupz((void const   *)(tmp), (size_t )len___0);
  *strp = (char *)tmp___0;
  return (len___0);
}
}
static struct imap_server_conf server  =
     {(char const   *)((void *)0), (char const   *)((void *)0), (char const   *)((void *)0),
    0, (char const   *)((void *)0), (char const   *)((void *)0), (char const   *)((void *)0),
    0, 1, 0, (char const   *)((void *)0)};
static char const   *cap_list[6]  = {      (char const   *)"LOGINDISABLED",      (char const   *)"UIDPLUS",      (char const   *)"LITERAL+",      (char const   *)"NAMESPACE",
        (char const   *)"STARTTLS",      (char const   *)"AUTH=CRAM-MD5"};
static int get_cmd_result(struct imap_store *ctx___0 , struct imap_cmd *tcmd ) ;
static void ssl_socket_perror(char const   *func )
{
  unsigned long tmp ;
  char *tmp___0 ;

  {
  tmp = ERR_get_error();
  tmp___0 = ERR_error_string(tmp, (char *)((void *)0));
  fprintf(stderr, (char const   *)"%s: %s\n", func, tmp___0);
  return;
}
}
static void socket_perror(char const   *func , struct imap_socket *sock , int ret___67 )
{
  int sslerr ;
  int tmp ;

  {
  if (sock->ssl) {
    tmp = SSL_get_error((SSL const   *)sock->ssl, ret___67);
    sslerr = tmp;
    {
    if (sslerr == 0) {
      goto case_0;
    }
    if (sslerr == 5) {
      goto case_5;
    }
    goto switch_default;
    case_0: /* CIL Label */
    goto switch_break;
    case_5: /* CIL Label */
    perror((char const   *)"SSL_connect");
    goto switch_break;
    switch_default: /* CIL Label */
    ssl_socket_perror((char const   *)"SSL_connect");
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
  } else
  if (ret___67 < 0) {
    perror(func);
  } else {
    fprintf(stderr, (char const   *)"%s: unexpected EOF\n", func);
  }
  return;
}
}
static int host_matches(char const   *host , char const   *pattern___0 )
{
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if ((int const   )*(pattern___0 + 0) == 42) {
    if ((int const   )*(pattern___0 + 1) == 46) {
      pattern___0 += 2;
      tmp = strchr(host, '.');
      host = (char const   *)tmp;
      if (! host) {
        return (0);
      }
      host ++;
    }
  }
  if (*host) {
    if (*pattern___0) {
      tmp___0 = strcasecmp(host, pattern___0);
      if (tmp___0) {
        tmp___1 = 0;
      } else {
        tmp___1 = 1;
      }
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static int verify_hostname(X509 *cert , char const   *hostname )
{
  int len___0 ;
  X509_NAME *subj ;
  char cname[1000] ;
  int i ;
  int found ;
  struct stack_st_GENERAL_NAME *subj_alt_names ;
  int num_subj_alt_names ;
  int tmp ;
  GENERAL_NAME *subj_alt_name ;
  GENERAL_NAME *tmp___0 ;
  size_t tmp___1 ;
  int tmp___2 ;
  void *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  size_t tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  found = 0;
  tmp___3 = X509_get_ext_d2i((X509 const   *)cert, 85, (int *)((void *)0), (int *)((void *)0));
  subj_alt_names = (struct stack_st_GENERAL_NAME *)tmp___3;
  if (subj_alt_names) {
    tmp = sk_GENERAL_NAME_num((struct stack_st_GENERAL_NAME  const  *)subj_alt_names);
    num_subj_alt_names = tmp;
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! found) {
        if (! (i < num_subj_alt_names)) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      tmp___0 = sk_GENERAL_NAME_value((struct stack_st_GENERAL_NAME  const  *)subj_alt_names,
                                      i);
      subj_alt_name = tmp___0;
      if (subj_alt_name->type == 2) {
        tmp___1 = strlen((char const   *)(subj_alt_name->d.ia5)->data);
        if (tmp___1 == (size_t )(subj_alt_name->d.ia5)->length) {
          tmp___2 = host_matches(hostname, (char const   *)(subj_alt_name->d.ia5)->data);
          if (tmp___2) {
            found = 1;
          }
        }
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    sk_GENERAL_NAME_pop_free(subj_alt_names, & GENERAL_NAME_free);
  }
  if (found) {
    return (0);
  }
  subj = X509_get_subject_name((X509 const   *)cert);
  if (! subj) {
    error((char const   *)"cannot get certificate subject");
    tmp___4 = const_error();
    return (tmp___4);
  }
  len___0 = X509_NAME_get_text_by_NID(subj, 13, cname, (int )sizeof(cname));
  if (len___0 < 0) {
    error((char const   *)"cannot get certificate common name");
    tmp___5 = const_error();
    return (tmp___5);
  }
  tmp___6 = strlen((char const   *)(cname));
  if (tmp___6 == (size_t )len___0) {
    tmp___7 = host_matches(hostname, (char const   *)(cname));
    if (tmp___7) {
      return (0);
    }
  }
  error((char const   *)"certificate owner \'%s\' does not match hostname \'%s\'",
        cname, hostname);
  tmp___8 = const_error();
  return (tmp___8);
}
}
static int ssl_socket_connect(struct imap_socket *sock , int use_tls_only , int verify___0 )
{
  SSL_METHOD const   *meth ;
  SSL_CTX *ctx___0 ;
  int ret___67 ;
  X509 *cert ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  long tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  OPENSSL_init_ssl((uint64_t )0, (OPENSSL_INIT_SETTINGS const   *)((void *)0));
  OPENSSL_init_ssl((uint64_t )2097154L, (OPENSSL_INIT_SETTINGS const   *)((void *)0));
  meth = TLS_method();
  if (! meth) {
    ssl_socket_perror((char const   *)"SSLv23_method");
    return (-1);
  }
  ctx___0 = SSL_CTX_new(meth);
  if (! ctx___0) {
    ssl_socket_perror((char const   *)"SSL_CTX_new");
    return (-1);
  }
  if (use_tls_only) {
    SSL_CTX_set_options(ctx___0, 33554432UL);
  }
  if (verify___0) {
    SSL_CTX_set_verify(ctx___0, 0x01, (int (*)(int preverify_ok , X509_STORE_CTX *x509_ctx ))((void *)0));
  }
  tmp = SSL_CTX_set_default_verify_paths(ctx___0);
  if (! tmp) {
    ssl_socket_perror((char const   *)"SSL_CTX_set_default_verify_paths");
    return (-1);
  }
  sock->ssl = SSL_new(ctx___0);
  if (! sock->ssl) {
    ssl_socket_perror((char const   *)"SSL_new");
    return (-1);
  }
  tmp___0 = SSL_set_rfd(sock->ssl, sock->fd[0]);
  if (! tmp___0) {
    ssl_socket_perror((char const   *)"SSL_set_rfd");
    return (-1);
  }
  tmp___1 = SSL_set_wfd(sock->ssl, sock->fd[1]);
  if (! tmp___1) {
    ssl_socket_perror((char const   *)"SSL_set_wfd");
    return (-1);
  }
  tmp___2 = SSL_ctrl(sock->ssl, 55, 0L, (void *)server.host);
  ret___67 = (int )tmp___2;
  if (ret___67 != 1) {
    warning((char const   *)"SSL_set_tlsext_host_name(%s) failed.", server.host);
  }
  ret___67 = SSL_connect(sock->ssl);
  if (ret___67 <= 0) {
    socket_perror((char const   *)"SSL_connect", sock, ret___67);
    return (-1);
  }
  if (verify___0) {
    cert = SSL_get_peer_certificate((SSL const   *)sock->ssl);
    if (! cert) {
      error((char const   *)"unable to get peer certificate.");
      tmp___3 = const_error();
      return (tmp___3);
    }
    tmp___4 = verify_hostname(cert, server.host);
    if (tmp___4 < 0) {
      return (-1);
    }
  }
  return (0);
}
}
static int socket_read(struct imap_socket *sock , char *buf___19 , int len___0 )
{
  ssize_t n ;
  int tmp ;
  int tmp___0 ;

  {
  if (sock->ssl) {
    tmp = SSL_read(sock->ssl, (void *)buf___19, len___0);
    n = (ssize_t )tmp;
  } else {
    n = xread(sock->fd[0], (void *)buf___19, (size_t )len___0);
  }
  if (n <= 0L) {
    socket_perror((char const   *)"read", sock, (int )n);
    close(sock->fd[0]);
    close(sock->fd[1]);
    tmp___0 = -1;
    sock->fd[1] = tmp___0;
    sock->fd[0] = tmp___0;
  }
  return ((int )n);
}
}
static int socket_write(struct imap_socket *sock , char const   *buf___19 , int len___0 )
{
  int n ;
  ssize_t tmp ;
  int tmp___0 ;

  {
  if (sock->ssl) {
    n = SSL_write(sock->ssl, (void const   *)buf___19, len___0);
  } else {
    tmp = write_in_full(sock->fd[1], (void const   *)buf___19, (size_t )len___0);
    n = (int )tmp;
  }
  if (n != len___0) {
    socket_perror((char const   *)"write", sock, n);
    close(sock->fd[0]);
    close(sock->fd[1]);
    tmp___0 = -1;
    sock->fd[1] = tmp___0;
    sock->fd[0] = tmp___0;
  }
  return (n);
}
}
static void socket_shutdown(struct imap_socket *sock )
{


  {
  if (sock->ssl) {
    SSL_shutdown(sock->ssl);
    SSL_free(sock->ssl);
  }
  close(sock->fd[0]);
  close(sock->fd[1]);
  return;
}
}
static int buffer_gets(struct imap_buffer *b___0 , char **s___1 )
{
  int n ;
  int start ;

  {
  start = b___0->offset;
  *s___1 = b___0->buf + start;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (b___0->offset + 1 >= b___0->bytes) {
      if (start) {
        *s___1 = b___0->buf;
        assert(start <= b___0->bytes);
        n = b___0->bytes - start;
        if (n) {
          memmove((void *)(b___0->buf), (void const   *)(b___0->buf + start), (size_t )n);
        }
        b___0->offset -= start;
        b___0->bytes = n;
        start = 0;
      }
      n = socket_read(& b___0->sock, b___0->buf + b___0->bytes, (int )(sizeof(b___0->buf) - (unsigned long )b___0->bytes));
      if (n <= 0) {
        return (-1);
      }
      b___0->bytes += n;
    }
    if ((int )b___0->buf[b___0->offset] == 13) {
      assert(b___0->offset + 1 < b___0->bytes);
      if ((int )b___0->buf[b___0->offset + 1] == 10) {
        b___0->buf[b___0->offset] = (char)0;
        b___0->offset += 2;
        if (0 < verbosity) {
          puts((char const   *)*s___1);
        }
        return (0);
      }
    }
    (b___0->offset) ++;
  }
  while_break: /* CIL Label */ ;
  }
}
}
static void ( /* format attribute */  imap_info)(char const   *msg___5  , ...)
{
  va_list va ;

  {
  if (0 <= verbosity) {
    __builtin_va_start(va, msg___5);
    vprintf(msg___5, va);
    __builtin_va_end(va);
    fflush(stdout);
  }
  return;
}
}
static void ( /* format attribute */  imap_warn)(char const   *msg___5  , ...)
{
  va_list va ;

  {
  if (-2 < verbosity) {
    __builtin_va_start(va, msg___5);
    vfprintf(stderr, msg___5, va);
    __builtin_va_end(va);
  }
  return;
}
}
static char *next_arg(char **s___1 )
{
  char *ret___67 ;
  char *tmp ;

  {
  if (! s___1) {
    return ((char *)((void *)0));
  } else
  if (! *s___1) {
    return ((char *)((void *)0));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (((int const   )sane_ctype[(unsigned char )*(*s___1)] & 1) != 0)) {
      goto while_break;
    }
    (*s___1) ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! *(*s___1)) {
    *s___1 = (char *)((void *)0);
    return ((char *)((void *)0));
  }
  if ((int )*(*s___1) == 34) {
    (*s___1) ++;
    ret___67 = *s___1;
    *s___1 = strchr((char const   *)*s___1, '\"');
  } else {
    ret___67 = *s___1;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (*(*s___1)) {
        if (! (! (((int const   )sane_ctype[(unsigned char )*(*s___1)] & 1) != 0))) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      (*s___1) ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  if (*s___1) {
    if (*(*s___1)) {
      tmp = *s___1;
      (*s___1) ++;
      *tmp = (char)0;
    }
    if (! *(*s___1)) {
      *s___1 = (char *)((void *)0);
    }
  }
  return (ret___67);
}
}
static int ( /* format attribute */  nfsnprintf)(char *buf___19 , int blen , char const   *fmt
                                                 , ...)
{
  int ret___67 ;
  va_list va ;

  {
  __builtin_va_start(va, fmt);
  if (blen <= 0) {
    BUG_fl((char const   *)"imap-send.c", 517, (char const   *)"buffer too small. Please report a bug.");
  } else {
    ret___67 = vsnprintf(buf___19, (size_t )blen, fmt, va);
    if ((unsigned int )ret___67 >= (unsigned int )blen) {
      BUG_fl((char const   *)"imap-send.c", 517, (char const   *)"buffer too small. Please report a bug.");
    }
  }
  __builtin_va_end(va);
  return (ret___67);
}
}
static struct imap_cmd *issue_imap_cmd(struct imap_store *ctx___0 , struct imap_cmd_cb *cb ,
                                       char const   *fmt , va_list ap )
{
  struct imap *imap ;
  struct imap_cmd *cmd ;
  int n ;
  int bufl ;
  char buf___19[1024] ;
  void *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  imap = ctx___0->imap;
  tmp = xmalloc(sizeof(struct imap_cmd ));
  cmd = (struct imap_cmd *)tmp;
  nfvasprintf(& cmd->cmd, fmt, ap);
  (imap->nexttag) ++;
  cmd->tag = imap->nexttag;
  if (cb) {
    cmd->cb = *cb;
  } else {
    memset((void *)(& cmd->cb), 0, sizeof(cmd->cb));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! imap->literal_pending) {
      goto while_break;
    }
    get_cmd_result(ctx___0, (struct imap_cmd *)((void *)0));
  }
  while_break: /* CIL Label */ ;
  }
  if (! cmd->cb.data) {
    bufl = nfsnprintf(buf___19, (int )sizeof(buf___19), (char const   *)"%d %s\r\n",
                      cmd->tag, cmd->cmd);
  } else {
    if (imap->caps & (unsigned int )(1 << 2)) {
      tmp___0 = "+";
    } else {
      tmp___0 = "";
    }
    bufl = nfsnprintf(buf___19, (int )sizeof(buf___19), (char const   *)"%d %s{%d%s}\r\n",
                      cmd->tag, cmd->cmd, cmd->cb.dlen, tmp___0);
  }
  if (0 < verbosity) {
    if (imap->num_in_progress) {
      printf((char const   *)"(%d in progress) ", imap->num_in_progress);
    }
    tmp___1 = starts_with((char const   *)cmd->cmd, (char const   *)"LOGIN");
    if (tmp___1) {
      printf((char const   *)">>> %d LOGIN <user> <pass>\n", cmd->tag);
    } else {
      printf((char const   *)">>> %s", buf___19);
    }
  }
  tmp___2 = socket_write(& imap->buf.sock, (char const   *)(buf___19), bufl);
  if (tmp___2 != bufl) {
    free((void *)cmd->cmd);
    free((void *)cmd);
    if (cb) {
      free((void *)cb->data);
    }
    return ((struct imap_cmd *)((void *)0));
  }
  if (cmd->cb.data) {
    if (imap->caps & (unsigned int )(1 << 2)) {
      n = socket_write(& imap->buf.sock, (char const   *)cmd->cb.data, cmd->cb.dlen);
      free((void *)cmd->cb.data);
      if (n != cmd->cb.dlen) {
        free((void *)cmd->cmd);
        free((void *)cmd);
        return ((struct imap_cmd *)((void *)0));
      } else {
        tmp___3 = socket_write(& imap->buf.sock, (char const   *)"\r\n", 2);
        if (tmp___3 != 2) {
          free((void *)cmd->cmd);
          free((void *)cmd);
          return ((struct imap_cmd *)((void *)0));
        }
      }
      cmd->cb.data = (char *)((void *)0);
    } else {
      imap->literal_pending = 1;
    }
  } else
  if (cmd->cb.cont) {
    imap->literal_pending = 1;
  }
  cmd->next = (struct imap_cmd *)((void *)0);
  *(imap->in_progress_append) = cmd;
  imap->in_progress_append = & cmd->next;
  (imap->num_in_progress) ++;
  return (cmd);
}
}
static int ( /* format attribute */  imap_exec)(struct imap_store *ctx___0 , struct imap_cmd_cb *cb ,
                                                char const   *fmt  , ...)
{
  va_list ap ;
  struct imap_cmd *cmdp ;
  int tmp ;

  {
  __builtin_va_start(ap, fmt);
  cmdp = issue_imap_cmd(ctx___0, cb, fmt, ap);
  __builtin_va_end(ap);
  if (! cmdp) {
    return (2);
  }
  tmp = get_cmd_result(ctx___0, cmdp);
  return (tmp);
}
}
static int ( /* format attribute */  imap_exec_m)(struct imap_store *ctx___0 , struct imap_cmd_cb *cb ,
                                                  char const   *fmt  , ...)
{
  va_list ap ;
  struct imap_cmd *cmdp ;
  int tmp ;

  {
  __builtin_va_start(ap, fmt);
  cmdp = issue_imap_cmd(ctx___0, cb, fmt, ap);
  __builtin_va_end(ap);
  if (! cmdp) {
    return (-3);
  }
  tmp = get_cmd_result(ctx___0, cmdp);
  {
  if (tmp == 2) {
    goto case_2;
  }
  if (tmp == 1) {
    goto case_1;
  }
  goto switch_default;
  case_2: /* CIL Label */
  return (-3);
  case_1: /* CIL Label */
  return (-1);
  switch_default: /* CIL Label */
  return (0);
  switch_break: /* CIL Label */ ;
  }
}
}
static int skip_imap_list_l(char **sp , int level )
{
  char *s___1 ;
  int tmp ;

  {
  s___1 = *sp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (((int const   )sane_ctype[(unsigned char )*s___1] & 1) != 0)) {
        goto while_break___0;
      }
      s___1 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (level) {
      if ((int )*s___1 == 41) {
        s___1 ++;
        goto while_break;
      }
    }
    if ((int )*s___1 == 40) {
      s___1 ++;
      tmp = skip_imap_list_l(& s___1, level + 1);
      if (tmp) {
        goto bail;
      }
    } else
    if ((int )*s___1 == 34) {
      s___1 ++;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! ((int )*s___1 != 34)) {
          goto while_break___1;
        }
        if (! *s___1) {
          goto bail;
        }
        s___1 ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      s___1 ++;
    } else {
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (*s___1) {
          if (! (! (((int const   )sane_ctype[(unsigned char )*s___1] & 1) != 0))) {
            goto while_break___2;
          }
        } else {
          goto while_break___2;
        }
        if (level) {
          if ((int )*s___1 == 41) {
            goto while_break___2;
          }
        }
        s___1 ++;
      }
      while_break___2: /* CIL Label */ ;
      }
    }
    if (! level) {
      goto while_break;
    }
    if (! *s___1) {
      goto bail;
    }
  }
  while_break: /* CIL Label */ ;
  }
  *sp = s___1;
  return (0);
  bail:
  return (-1);
}
}
static void skip_list(char **sp )
{


  {
  skip_imap_list_l(sp, 0);
  return;
}
}
static void parse_capability___0(struct imap *imap , char *cmd )
{
  char *arg ;
  unsigned int i ;
  int tmp ;

  {
  imap->caps = 0x80000000;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    arg = next_arg(& cmd);
    if (! arg) {
      goto while_break;
    }
    i = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned long )i < sizeof(cap_list) / sizeof(cap_list[0]) + (sizeof(char [1]) - 1UL))) {
        goto while_break___0;
      }
      tmp = strcmp(cap_list[i], (char const   *)arg);
      if (! tmp) {
        imap->caps |= (unsigned int )(1 << i);
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  imap->rcaps = imap->caps;
  return;
}
}
static int parse_response_code(struct imap_store *ctx___0 , struct imap_cmd_cb *cb ,
                               char *s___1 )
{
  struct imap *imap ;
  char *arg ;
  char *p___0 ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  imap = ctx___0->imap;
  if (! s___1) {
    return (0);
  } else
  if ((int )*s___1 != 91) {
    return (0);
  }
  s___1 ++;
  p___0 = strchr((char const   *)s___1, ']');
  if (! p___0) {
    fprintf(stderr, (char const   *)"IMAP error: malformed response code\n");
    return (2);
  }
  tmp = p___0;
  p___0 ++;
  *tmp = (char)0;
  arg = next_arg(& s___1);
  if (! arg) {
    fprintf(stderr, (char const   *)"IMAP error: empty response code\n");
    return (2);
  }
  tmp___8 = strcmp((char const   *)"UIDVALIDITY", (char const   *)arg);
  if (tmp___8) {
    tmp___7 = strcmp((char const   *)"UIDNEXT", (char const   *)arg);
    if (tmp___7) {
      tmp___6 = strcmp((char const   *)"CAPABILITY", (char const   *)arg);
      if (tmp___6) {
        tmp___5 = strcmp((char const   *)"ALERT", (char const   *)arg);
        if (tmp___5) {
          if (cb) {
            if (cb->ctx) {
              tmp___4 = strcmp((char const   *)"APPENDUID", (char const   *)arg);
              if (! tmp___4) {
                arg = next_arg(& s___1);
                if (arg) {
                  tmp___2 = atoi((char const   *)arg);
                  ctx___0->uidvalidity = tmp___2;
                  if (tmp___2) {
                    arg = next_arg(& s___1);
                    if (arg) {
                      tmp___3 = atoi((char const   *)arg);
                      *((int *)cb->ctx) = tmp___3;
                      if (! tmp___3) {
                        fprintf(stderr, (char const   *)"IMAP error: malformed APPENDUID status\n");
                        return (2);
                      }
                    } else {
                      fprintf(stderr, (char const   *)"IMAP error: malformed APPENDUID status\n");
                      return (2);
                    }
                  } else {
                    fprintf(stderr, (char const   *)"IMAP error: malformed APPENDUID status\n");
                    return (2);
                  }
                } else {
                  fprintf(stderr, (char const   *)"IMAP error: malformed APPENDUID status\n");
                  return (2);
                }
              }
            }
          }
        } else {
          {
          while (1) {
            while_continue: /* CIL Label */ ;
            if (! (((int const   )sane_ctype[(unsigned char )*p___0] & 1) != 0)) {
              goto while_break;
            }
            p___0 ++;
          }
          while_break: /* CIL Label */ ;
          }
          fprintf(stderr, (char const   *)"*** IMAP ALERT *** %s\n", p___0);
        }
      } else {
        parse_capability___0(imap, s___1);
      }
    } else {
      arg = next_arg(& s___1);
      if (arg) {
        tmp___1 = atoi((char const   *)arg);
        imap->uidnext = tmp___1;
        if (! tmp___1) {
          fprintf(stderr, (char const   *)"IMAP error: malformed NEXTUID status\n");
          return (2);
        }
      } else {
        fprintf(stderr, (char const   *)"IMAP error: malformed NEXTUID status\n");
        return (2);
      }
    }
  } else {
    arg = next_arg(& s___1);
    if (arg) {
      tmp___0 = atoi((char const   *)arg);
      ctx___0->uidvalidity = tmp___0;
      if (! tmp___0) {
        fprintf(stderr, (char const   *)"IMAP error: malformed UIDVALIDITY status\n");
        return (2);
      }
    } else {
      fprintf(stderr, (char const   *)"IMAP error: malformed UIDVALIDITY status\n");
      return (2);
    }
  }
  return (0);
}
}
static int get_cmd_result(struct imap_store *ctx___0 , struct imap_cmd *tcmd )
{
  struct imap *imap ;
  struct imap_cmd *cmdp ;
  struct imap_cmd **pcmdp ;
  char *cmd ;
  char const   *arg ;
  char const   *arg1 ;
  int n ;
  int resp ;
  int resp2 ;
  int tag ;
  int tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  struct imap_cmd *tmp___12 ;
  char *tmp___13 ;
  int tmp___14 ;
  char *tmp___15 ;
  int tmp___16 ;
  char *tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;

  {
  imap = ctx___0->imap;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = buffer_gets(& imap->buf, & cmd);
    if (tmp) {
      return (2);
    }
    tmp___0 = next_arg(& cmd);
    arg = (char const   *)tmp___0;
    if (! arg) {
      fprintf(stderr, (char const   *)"IMAP error: empty response\n");
      return (2);
    }
    if ((int const   )*arg == 42) {
      tmp___1 = next_arg(& cmd);
      arg = (char const   *)tmp___1;
      if (! arg) {
        fprintf(stderr, (char const   *)"IMAP error: unable to parse untagged response\n");
        return (2);
      }
      tmp___8 = strcmp((char const   *)"NAMESPACE", arg);
      if (tmp___8) {
        tmp___4 = strcmp((char const   *)"OK", arg);
        if (tmp___4) {
          tmp___5 = strcmp((char const   *)"BAD", arg);
          if (tmp___5) {
            tmp___6 = strcmp((char const   *)"NO", arg);
            if (tmp___6) {
              tmp___7 = strcmp((char const   *)"BYE", arg);
              if (tmp___7) {
                tmp___3 = strcmp((char const   *)"CAPABILITY", arg);
                if (tmp___3) {
                  tmp___2 = next_arg(& cmd);
                  arg1 = (char const   *)tmp___2;
                  if (! arg1) {
                    fprintf(stderr, (char const   *)"IMAP error: unable to parse untagged response\n");
                    return (2);
                  }
                } else {
                  parse_capability___0(imap, cmd);
                }
              } else {
                _L: /* CIL Label */
                resp = parse_response_code(ctx___0, (struct imap_cmd_cb *)((void *)0),
                                           cmd);
                if (resp != 0) {
                  return (resp);
                }
              }
            } else {
              goto _L;
            }
          } else {
            goto _L;
          }
        } else {
          goto _L;
        }
      } else {
        skip_list(& cmd);
        skip_list(& cmd);
        skip_list(& cmd);
      }
    } else
    if (! imap->in_progress) {
      if (cmd) {
        tmp___9 = cmd;
      } else {
        tmp___9 = "";
      }
      fprintf(stderr, (char const   *)"IMAP error: unexpected reply: %s %s\n", arg,
              tmp___9);
      return (2);
    } else
    if ((int const   )*arg == 43) {
      cmdp = (struct imap_cmd *)((char *)imap->in_progress_append - (unsigned long )(& ((struct imap_cmd *)0)->next));
      if (cmdp->cb.data) {
        n = socket_write(& imap->buf.sock, (char const   *)cmdp->cb.data, cmdp->cb.dlen);
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          free((void *)cmdp->cb.data);
          cmdp->cb.data = (char *)((void *)0);
          goto while_break___0;
        }
        while_break___0: /* CIL Label */ ;
        }
        if (n != cmdp->cb.dlen) {
          return (2);
        }
      } else
      if (cmdp->cb.cont) {
        tmp___10 = (*(cmdp->cb.cont))(ctx___0, cmdp, (char const   *)cmd);
        if (tmp___10) {
          return (2);
        }
      } else {
        fprintf(stderr, (char const   *)"IMAP error: unexpected command continuation request\n");
        return (2);
      }
      tmp___11 = socket_write(& imap->buf.sock, (char const   *)"\r\n", 2);
      if (tmp___11 != 2) {
        return (2);
      }
      if (! cmdp->cb.cont) {
        imap->literal_pending = 0;
      }
      if (! tcmd) {
        return (0);
      }
    } else {
      tag = atoi(arg);
      pcmdp = & imap->in_progress;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        cmdp = *pcmdp;
        if (! cmdp) {
          goto while_break___1;
        }
        if (cmdp->tag == tag) {
          goto gottag;
        }
        pcmdp = & cmdp->next;
      }
      while_break___1: /* CIL Label */ ;
      }
      fprintf(stderr, (char const   *)"IMAP error: unexpected tag %s\n", arg);
      return (2);
      gottag:
      tmp___12 = cmdp->next;
      *pcmdp = tmp___12;
      if (! tmp___12) {
        imap->in_progress_append = pcmdp;
      }
      (imap->num_in_progress) --;
      if (cmdp->cb.cont) {
        imap->literal_pending = 0;
      } else
      if (cmdp->cb.data) {
        imap->literal_pending = 0;
      }
      tmp___13 = next_arg(& cmd);
      arg = (char const   *)tmp___13;
      if (! arg) {
        arg = (char const   *)"";
      }
      tmp___19 = strcmp((char const   *)"OK", arg);
      if (tmp___19) {
        tmp___14 = strcmp((char const   *)"NO", arg);
        if (tmp___14) {
          resp = 2;
        } else {
          resp = 1;
        }
        if (cmd) {
          tmp___15 = cmd;
        } else {
          tmp___15 = "";
        }
        tmp___18 = starts_with((char const   *)cmdp->cmd, (char const   *)"LOGIN");
        if (tmp___18) {
          tmp___17 = "LOGIN <user> <pass>";
        } else {
          tmp___17 = cmdp->cmd;
        }
        fprintf(stderr, (char const   *)"IMAP command \'%s\' returned response (%s) - %s\n",
                tmp___17, arg, tmp___15);
      } else {
        resp = 0;
      }
      resp2 = parse_response_code(ctx___0, & cmdp->cb, cmd);
      if (resp2 > resp) {
        resp = resp2;
      }
      if (cmdp->cb.done) {
        (*(cmdp->cb.done))(ctx___0, cmdp, resp);
      }
      free((void *)cmdp->cb.data);
      free((void *)cmdp->cmd);
      free((void *)cmdp);
      if (! tcmd) {
        return (resp);
      } else
      if ((unsigned long )tcmd == (unsigned long )cmdp) {
        return (resp);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
static void imap_close_server(struct imap_store *ictx )
{
  struct imap *imap ;

  {
  imap = ictx->imap;
  if (imap->buf.sock.fd[0] != -1) {
    imap_exec(ictx, (struct imap_cmd_cb *)((void *)0), (char const   *)"LOGOUT");
    socket_shutdown(& imap->buf.sock);
  }
  free((void *)imap);
  return;
}
}
static void imap_close_store(struct imap_store *ctx___0 )
{


  {
  imap_close_server(ctx___0);
  free((void *)ctx___0);
  return;
}
}
static char hexchar___0(unsigned int b___0 )
{
  unsigned int tmp ;

  {
  if (b___0 < 10U) {
    tmp = 48U + b___0;
  } else {
    tmp = 97U + (b___0 - 10U);
  }
  return ((char )tmp);
}
}
static char *cram(char const   *challenge_64 , char const   *user , char const   *pass )
{
  int i ;
  int resp_len ;
  int encoded_len ;
  int decoded_len ;
  unsigned char hash___0[16] ;
  char hex___3[33] ;
  char *response ;
  char *response_64 ;
  char *challenge ;
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  EVP_MD const   *tmp___2 ;
  unsigned char *tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;

  {
  tmp = strlen(challenge_64);
  encoded_len = (int )tmp;
  tmp___0 = xmalloc((size_t )encoded_len);
  challenge = (char *)tmp___0;
  decoded_len = EVP_DecodeBlock((unsigned char *)challenge, (unsigned char const   *)((unsigned char *)challenge_64),
                                encoded_len);
  if (decoded_len < 0) {
    die((char const   *)"invalid challenge %s", challenge_64);
  }
  tmp___1 = strlen(pass);
  tmp___2 = EVP_md5();
  tmp___3 = HMAC(tmp___2, (void const   *)pass, (int )tmp___1, (unsigned char const   *)((unsigned char *)challenge),
                 (size_t )decoded_len, hash___0, (unsigned int *)((void *)0));
  if (! tmp___3) {
    die((char const   *)"HMAC error");
  }
  hex___3[32] = (char)0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 16)) {
      goto while_break;
    }
    hex___3[2 * i] = hexchar___0((unsigned int )(((int )hash___0[i] >> 4) & 0xf));
    hex___3[2 * i + 1] = hexchar___0((unsigned int )((int )hash___0[i] & 0xf));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  response = xstrfmt((char const   *)"%s %s", user, hex___3);
  tmp___4 = strlen((char const   *)response);
  resp_len = (int )tmp___4;
  tmp___5 = xmallocz((size_t )(4 * (((resp_len + 3) - 1) / 3)));
  response_64 = (char *)tmp___5;
  encoded_len = EVP_EncodeBlock((unsigned char *)response_64, (unsigned char const   *)((unsigned char *)response),
                                resp_len);
  if (encoded_len < 0) {
    die((char const   *)"EVP_EncodeBlock error");
  }
  return (response_64);
}
}
static int auth_cram_md5(struct imap_store *ctx___0 , struct imap_cmd *cmd , char const   *prompt )
{
  int ret___67 ;
  char *response ;
  size_t tmp ;
  int tmp___0 ;
  size_t tmp___1 ;

  {
  response = cram(prompt, server.user, server.pass);
  tmp = strlen((char const   *)response);
  ret___67 = socket_write(& (ctx___0->imap)->buf.sock, (char const   *)response, (int )tmp);
  tmp___1 = strlen((char const   *)response);
  if ((size_t )ret___67 != tmp___1) {
    error((char const   *)"IMAP error: sending response failed");
    tmp___0 = const_error();
    return (tmp___0);
  }
  free((void *)response);
  return (0);
}
}
static void server_fill_credential(struct imap_server_conf *srvc , struct credential *cred )
{
  char *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;

  {
  if (srvc->user) {
    if (srvc->pass) {
      return;
    }
  }
  if (srvc->use_ssl) {
    tmp = "imaps";
  } else {
    tmp = "imap";
  }
  cred->protocol = xstrdup((char const   *)tmp);
  cred->host = xstrdup(srvc->host);
  cred->username = xstrdup_or_null(srvc->user);
  cred->password = xstrdup_or_null(srvc->pass);
  credential_fill(cred);
  if (! srvc->user) {
    tmp___0 = xstrdup((char const   *)cred->username);
    srvc->user = (char const   *)tmp___0;
  }
  if (! srvc->pass) {
    tmp___1 = xstrdup((char const   *)cred->password);
    srvc->pass = (char const   *)tmp___1;
  }
  return;
}
}
static struct imap_store *imap_open_store(struct imap_server_conf *srvc , char const   *folder )
{
  struct credential cred ;
  struct imap_store *ctx___0 ;
  struct imap *imap ;
  char *arg ;
  char *rsp ;
  int s___1 ;
  int preauth ;
  void *tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  struct child_process tunnel ;
  int tmp___2 ;
  struct addrinfo hints___0 ;
  struct addrinfo *ai0 ;
  struct addrinfo *ai ;
  int gai ;
  char portstr[6] ;
  char const   *tmp___3 ;
  char addr___0[1025] ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  struct imap_cmd_cb cb ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;

  {
  cred.helpers.items = (struct string_list_item *)0;
  cred.helpers.nr = 0U;
  cred.helpers.alloc = 0U;
  cred.helpers.strdup_strings = 1U;
  cred.helpers.cmp = (int (*)(char const   * , char const   * ))0;
  cred.approved = 0U;
  cred.configured = 0U;
  cred.quit = 0U;
  cred.use_http_path = 0U;
  cred.username_from_proto = 0U;
  cred.username = (char *)0;
  cred.password = (char *)0;
  cred.protocol = (char *)0;
  cred.host = (char *)0;
  cred.path = (char *)0;
  s___1 = -1;
  tmp = xcalloc((size_t )1, sizeof(*ctx___0));
  ctx___0 = (struct imap_store *)tmp;
  tmp___0 = xcalloc((size_t )1, sizeof(*imap));
  imap = (struct imap *)tmp___0;
  ctx___0->imap = imap;
  tmp___1 = -1;
  imap->buf.sock.fd[1] = tmp___1;
  imap->buf.sock.fd[0] = tmp___1;
  imap->in_progress_append = & imap->in_progress;
  if (srvc->tunnel) {
    tunnel.args.v = empty_strvec;
    tunnel.args.nr = 0UL;
    tunnel.args.alloc = 0UL;
    tunnel.env_array.v = empty_strvec;
    tunnel.env_array.nr = 0UL;
    tunnel.env_array.alloc = 0UL;
    tunnel.pid = 0;
    tunnel.trace2_child_id = 0;
    tunnel.trace2_child_us_start = 0UL;
    tunnel.trace2_child_class = (char const   *)0;
    tunnel.trace2_hook_name = (char const   *)0;
    tunnel.in = 0;
    tunnel.out = 0;
    tunnel.err = 0;
    tunnel.dir = (char const   *)0;
    tunnel.no_stdin = 0U;
    tunnel.no_stdout = 0U;
    tunnel.no_stderr = 0U;
    tunnel.git_cmd = 0U;
    tunnel.silent_exec_failure = 0U;
    tunnel.use_shell = 0U;
    tunnel.close_object_store = 0U;
    tunnel.stdout_to_stderr = 0U;
    tunnel.clean_on_exit = 0U;
    tunnel.wait_after_clean = 0U;
    tunnel.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    tunnel.clean_on_exit_handler_cbdata = (void *)0;
    imap_info((char const   *)"Starting tunnel \'%s\'... ", srvc->tunnel);
    strvec_push(& tunnel.args, srvc->tunnel);
    tunnel.use_shell = 1U;
    tunnel.in = -1;
    tunnel.out = -1;
    tmp___2 = start_command(& tunnel);
    if (tmp___2) {
      die((char const   *)"cannot start proxy %s", srvc->tunnel);
    }
    imap->buf.sock.fd[0] = tunnel.out;
    imap->buf.sock.fd[1] = tunnel.in;
    imap_info((char const   *)"ok\n");
  } else {
    xsnprintf(portstr, sizeof(portstr), (char const   *)"%d", srvc->port);
    memset((void *)(& hints___0), 0, sizeof(hints___0));
    hints___0.ai_socktype = 1;
    hints___0.ai_protocol = 6;
    imap_info((char const   *)"Resolving %s... ", srvc->host);
    gai = getaddrinfo((char const   * __restrict  )srvc->host, (char const   * __restrict  )(portstr),
                      (struct addrinfo  const  * __restrict  )(& hints___0), (struct addrinfo ** __restrict  )(& ai));
    if (gai) {
      tmp___3 = gai_strerror(gai);
      fprintf(stderr, (char const   *)"getaddrinfo: %s\n", tmp___3);
      goto bail;
    }
    imap_info((char const   *)"ok\n");
    ai0 = ai;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ai) {
        goto while_break;
      }
      s___1 = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
      if (s___1 < 0) {
        goto __Cont;
      }
      getnameinfo((struct sockaddr  const  * __restrict  )ai->ai_addr, ai->ai_addrlen,
                  (char * __restrict  )(addr___0), (socklen_t )sizeof(addr___0), (char * __restrict  )((void *)0),
                  (socklen_t )0, 1);
      imap_info((char const   *)"Connecting to [%s]:%s... ", addr___0, portstr);
      tmp___4 = connect(s___1, (struct sockaddr  const  * __restrict  )ai->ai_addr,
                        ai->ai_addrlen);
      if (tmp___4 < 0) {
        close(s___1);
        s___1 = -1;
        perror((char const   *)"connect");
        goto __Cont;
      }
      goto while_break;
      __Cont: /* CIL Label */
      ai = ai->ai_next;
    }
    while_break: /* CIL Label */ ;
    }
    freeaddrinfo(ai0);
    if (s___1 < 0) {
      fputs((char const   * __restrict  )"Error: unable to connect to server.\n",
            (FILE * __restrict  )stderr);
      goto bail;
    }
    imap->buf.sock.fd[0] = s___1;
    imap->buf.sock.fd[1] = dup(s___1);
    if (srvc->use_ssl) {
      tmp___5 = ssl_socket_connect(& imap->buf.sock, 0, srvc->ssl_verify);
      if (tmp___5) {
        close(s___1);
        goto bail;
      }
    }
    imap_info((char const   *)"ok\n");
  }
  tmp___6 = buffer_gets(& imap->buf, & rsp);
  if (tmp___6) {
    fprintf(stderr, (char const   *)"IMAP error: no greeting response\n");
    goto bail;
  }
  arg = next_arg(& rsp);
  if (! arg) {
    fprintf(stderr, (char const   *)"IMAP error: invalid greeting response\n");
    goto bail;
  } else
  if ((int )*arg != 42) {
    fprintf(stderr, (char const   *)"IMAP error: invalid greeting response\n");
    goto bail;
  } else {
    arg = next_arg(& rsp);
    if ((unsigned long )arg == (unsigned long )((void *)0)) {
      fprintf(stderr, (char const   *)"IMAP error: invalid greeting response\n");
      goto bail;
    }
  }
  preauth = 0;
  tmp___8 = strcmp((char const   *)"PREAUTH", (char const   *)arg);
  if (tmp___8) {
    tmp___7 = strcmp((char const   *)"OK", (char const   *)arg);
    if (tmp___7 != 0) {
      fprintf(stderr, (char const   *)"IMAP error: unknown greeting response\n");
      goto bail;
    }
  } else {
    preauth = 1;
  }
  parse_response_code(ctx___0, (struct imap_cmd_cb *)((void *)0), rsp);
  if (! imap->caps) {
    tmp___9 = imap_exec(ctx___0, (struct imap_cmd_cb *)((void *)0), (char const   *)"CAPABILITY");
    if (tmp___9 != 0) {
      goto bail;
    }
  }
  if (! preauth) {
    if (! srvc->use_ssl) {
      if (imap->caps & (unsigned int )(1 << 4)) {
        tmp___10 = imap_exec(ctx___0, (struct imap_cmd_cb *)((void *)0), (char const   *)"STARTTLS");
        if (tmp___10 != 0) {
          goto bail;
        }
        tmp___11 = ssl_socket_connect(& imap->buf.sock, 1, srvc->ssl_verify);
        if (tmp___11) {
          goto bail;
        }
        tmp___12 = imap_exec(ctx___0, (struct imap_cmd_cb *)((void *)0), (char const   *)"CAPABILITY");
        if (tmp___12 != 0) {
          goto bail;
        }
      }
    }
    imap_info((char const   *)"Logging in...\n");
    server_fill_credential(srvc, & cred);
    if (srvc->auth_method) {
      tmp___14 = strcmp(srvc->auth_method, (char const   *)"CRAM-MD5");
      if (tmp___14) {
        fprintf(stderr, (char const   *)"Unknown authentication method:%s\n", srvc->host);
        goto bail;
      } else {
        if (! (imap->caps & (unsigned int )(1 << 5))) {
          fprintf(stderr, (char const   *)"You specified CRAM-MD5 as authentication method, but %s doesn\'t support it.\n",
                  srvc->host);
          goto bail;
        }
        memset((void *)(& cb), 0, sizeof(cb));
        cb.cont = & auth_cram_md5;
        tmp___13 = imap_exec(ctx___0, & cb, (char const   *)"AUTHENTICATE CRAM-MD5");
        if (tmp___13 != 0) {
          fprintf(stderr, (char const   *)"IMAP error: AUTHENTICATE CRAM-MD5 failed\n");
          goto bail;
        }
      }
    } else {
      if (imap->caps & 1U) {
        fprintf(stderr, (char const   *)"Skipping account %s@%s, server forbids LOGIN\n",
                srvc->user, srvc->host);
        goto bail;
      }
      if (! imap->buf.sock.ssl) {
        imap_warn((char const   *)"*** IMAP Warning *** Password is being sent in the clear\n");
      }
      tmp___15 = imap_exec(ctx___0, (struct imap_cmd_cb *)((void *)0), (char const   *)"LOGIN \"%s\" \"%s\"",
                           srvc->user, srvc->pass);
      if (tmp___15 != 0) {
        fprintf(stderr, (char const   *)"IMAP error: LOGIN failed\n");
        goto bail;
      }
    }
  }
  if (cred.username) {
    credential_approve(& cred);
  }
  credential_clear(& cred);
  ctx___0->name = folder;
  tmp___16 = imap_exec(ctx___0, (struct imap_cmd_cb *)((void *)0), (char const   *)"EXAMINE \"%s\"",
                       ctx___0->name);
  {
  if (tmp___16 == 0) {
    goto case_0;
  }
  if (tmp___16 == 2) {
    goto case_2;
  }
  if (tmp___16 == 1) {
    goto case_1;
  }
  goto switch_break;
  case_0: /* CIL Label */
  goto switch_break;
  case_2: /* CIL Label */
  fprintf(stderr, (char const   *)"IMAP error: could not check mailbox\n");
  goto out;
  case_1: /* CIL Label */
  tmp___17 = imap_exec(ctx___0, (struct imap_cmd_cb *)((void *)0), (char const   *)"CREATE \"%s\"",
                       ctx___0->name);
  if (tmp___17 == 0) {
    imap_info((char const   *)"Created missing mailbox\n");
  } else {
    fprintf(stderr, (char const   *)"IMAP error: could not create missing mailbox\n");
    goto out;
  }
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  ctx___0->prefix = (char const   *)"";
  return (ctx___0);
  bail:
  if (cred.username) {
    credential_reject(& cred);
  }
  credential_clear(& cred);
  out:
  imap_close_store(ctx___0);
  return ((struct imap_store *)((void *)0));
}
}
static void lf_to_crlf(struct strbuf *msg___5 )
{
  char *new_msg ;
  size_t i ;
  size_t j ;
  char lastc ;
  void *tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  char tmp___2 ;

  {
  j = (size_t )0;
  i = j;
  lastc = (char )'\000';
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < msg___5->len)) {
      goto while_break;
    }
    if ((int )*(msg___5->buf + i) == 10) {
      if ((int )lastc != 13) {
        j ++;
      }
    }
    lastc = *(msg___5->buf + i);
    j ++;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = xmallocz(j);
  new_msg = (char *)tmp;
  j = (size_t )0;
  i = j;
  lastc = (char )'\000';
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < msg___5->len)) {
      goto while_break___0;
    }
    if ((int )*(msg___5->buf + i) == 10) {
      if ((int )lastc != 13) {
        tmp___0 = j;
        j ++;
        *(new_msg + tmp___0) = (char )'\r';
      }
    }
    tmp___1 = j;
    j ++;
    tmp___2 = *(msg___5->buf + i);
    *(new_msg + tmp___1) = tmp___2;
    lastc = tmp___2;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_attach(msg___5, (void *)new_msg, j, j + 1UL);
  return;
}
}
static int imap_store_msg(struct imap_store *ctx___0 , struct strbuf *msg___5 )
{
  struct imap *imap ;
  struct imap_cmd_cb cb ;
  char const   *prefix___1 ;
  char const   *box ;
  int ret___67 ;
  int tmp ;
  int tmp___0 ;

  {
  imap = ctx___0->imap;
  lf_to_crlf(msg___5);
  memset((void *)(& cb), 0, sizeof(cb));
  cb.dlen = (int )msg___5->len;
  cb.data = strbuf_detach(msg___5, (size_t *)((void *)0));
  box = ctx___0->name;
  tmp___0 = strcmp(box, (char const   *)"INBOX");
  if (tmp___0) {
    prefix___1 = ctx___0->prefix;
  } else {
    prefix___1 = (char const   *)"";
  }
  ret___67 = imap_exec_m(ctx___0, & cb, (char const   *)"APPEND \"%s%s\" ", prefix___1,
                         box);
  imap->caps = imap->rcaps;
  if (ret___67 != 0) {
    return (ret___67);
  }
  return (0);
}
}
static void wrap_in_html(struct strbuf *msg___5 ) ;
static char *content_type___0  =    "Content-Type: text/html;\n";
static char *pre_open  =    "<pre>\n";
static char *pre_close  =    "</pre>\n";
static void wrap_in_html(struct strbuf *msg___5 )
{
  struct strbuf buf___19 ;
  char const   *body ;
  char *tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = strstr((char const   *)msg___5->buf, (char const   *)"\n\n");
  body = (char const   *)tmp;
  if (! body) {
    return;
  }
  body += 2;
  strbuf_add(& buf___19, (void const   *)msg___5->buf, (size_t )((body - (char const   *)msg___5->buf) - 1L));
  strbuf_addstr(& buf___19, (char const   *)content_type___0);
  strbuf_addch(& buf___19, '\n');
  strbuf_addstr(& buf___19, (char const   *)pre_open);
  strbuf_addstr_xml_quoted(& buf___19, body);
  strbuf_addstr(& buf___19, (char const   *)pre_close);
  strbuf_release(msg___5);
  *msg___5 = buf___19;
  return;
}
}
static int count_messages(struct strbuf *all_msgs )
{
  int count___0 ;
  char *p___0 ;
  int tmp ;

  {
  count___0 = 0;
  p___0 = all_msgs->buf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = starts_with((char const   *)p___0, (char const   *)"From ");
    if (tmp) {
      p___0 = strstr((char const   *)(p___0 + 5), (char const   *)"\nFrom: ");
      if (! p___0) {
        goto while_break;
      }
      p___0 = strstr((char const   *)(p___0 + 7), (char const   *)"\nDate: ");
      if (! p___0) {
        goto while_break;
      }
      p___0 = strstr((char const   *)(p___0 + 7), (char const   *)"\nSubject: ");
      if (! p___0) {
        goto while_break;
      }
      p___0 += 10;
      count___0 ++;
    }
    p___0 = strstr((char const   *)(p___0 + 5), (char const   *)"\nFrom ");
    if (! p___0) {
      goto while_break;
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (count___0);
}
}
static int split_msg(struct strbuf *all_msgs , struct strbuf *msg___5 , int *ofs )
{
  char *p___0 ;
  char *data ;
  size_t len___0 ;
  int tmp ;

  {
  if ((size_t )*ofs >= all_msgs->len) {
    return (0);
  }
  data = all_msgs->buf + *ofs;
  len___0 = all_msgs->len - (size_t )*ofs;
  if (len___0 < 5UL) {
    return (0);
  } else {
    tmp = starts_with((char const   *)data, (char const   *)"From ");
    if (! tmp) {
      return (0);
    }
  }
  p___0 = strchr((char const   *)data, '\n');
  if (p___0) {
    p___0 ++;
    len___0 -= (size_t )(p___0 - data);
    *ofs = (int )((long )*ofs + (p___0 - data));
    data = p___0;
  }
  p___0 = strstr((char const   *)data, (char const   *)"\nFrom ");
  if (p___0) {
    len___0 = (size_t )((p___0 + 1) - data);
  }
  strbuf_add(msg___5, (void const   *)data, len___0);
  *ofs = (int )((size_t )*ofs + len___0);
  return (1);
}
}
static int git_imap_config(char const   *var , char const   *val , void *cb )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;

  {
  tmp___17 = strcmp((char const   *)"imap.sslverify", var);
  if (tmp___17) {
    tmp___16 = strcmp((char const   *)"imap.preformattedhtml", var);
    if (tmp___16) {
      tmp___15 = strcmp((char const   *)"imap.folder", var);
      if (tmp___15) {
        tmp___14 = strcmp((char const   *)"imap.user", var);
        if (tmp___14) {
          tmp___13 = strcmp((char const   *)"imap.pass", var);
          if (tmp___13) {
            tmp___12 = strcmp((char const   *)"imap.tunnel", var);
            if (tmp___12) {
              tmp___11 = strcmp((char const   *)"imap.authmethod", var);
              if (tmp___11) {
                tmp___10 = strcmp((char const   *)"imap.port", var);
                if (tmp___10) {
                  tmp___9 = strcmp((char const   *)"imap.host", var);
                  if (tmp___9) {
                    tmp___8 = git_default_config(var, val, cb);
                    return (tmp___8);
                  } else
                  if (! val) {
                    git_die_config((char const   *)"imap.host", (char const   *)"Missing value for \'imap.host\'");
                  } else {
                    tmp___5 = starts_with(val, (char const   *)"imap:");
                    if (tmp___5) {
                      val += 5;
                    } else {
                      tmp___4 = starts_with(val, (char const   *)"imaps:");
                      if (tmp___4) {
                        val += 6;
                        server.use_ssl = 1;
                      }
                    }
                    tmp___6 = starts_with(val, (char const   *)"//");
                    if (tmp___6) {
                      val += 2;
                    }
                    tmp___7 = xstrdup(val);
                    server.host = (char const   *)tmp___7;
                  }
                } else {
                  server.port = git_config_int(var, val);
                }
              } else {
                tmp___3 = git_config_string(& server.auth_method, var, val);
                return (tmp___3);
              }
            } else {
              tmp___2 = git_config_string(& server.tunnel, var, val);
              return (tmp___2);
            }
          } else {
            tmp___1 = git_config_string(& server.pass, var, val);
            return (tmp___1);
          }
        } else {
          tmp___0 = git_config_string(& server.user, var, val);
          return (tmp___0);
        }
      } else {
        tmp = git_config_string(& server.folder, var, val);
        return (tmp);
      }
    } else {
      server.use_html = git_config_bool(var, val);
    }
  } else {
    server.ssl_verify = git_config_bool(var, val);
  }
  return (0);
}
}
static int append_msgs_to_imap(struct imap_server_conf *server___0 , struct strbuf *all_msgs ,
                               int total )
{
  struct strbuf msg___5 ;
  struct imap_store *ctx___0 ;
  int ofs ;
  int r ;
  int n ;
  char *tmp ;
  unsigned int percent ;
  int tmp___0 ;

  {
  msg___5.alloc = 0UL;
  msg___5.len = 0UL;
  msg___5.buf = strbuf_slopbuf;
  ctx___0 = (struct imap_store *)((void *)0);
  ofs = 0;
  n = 0;
  ctx___0 = imap_open_store(server___0, server___0->folder);
  if (! ctx___0) {
    fprintf(stderr, (char const   *)"failed to open store\n");
    return (1);
  }
  ctx___0->name = server___0->folder;
  if (total != 1) {
    tmp = "s";
  } else {
    tmp = "";
  }
  fprintf(stderr, (char const   *)"sending %d message%s\n", total, tmp);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    percent = (unsigned int )((n * 100) / total);
    fprintf(stderr, (char const   *)"%4u%% (%d/%d) done\r", percent, n, total);
    tmp___0 = split_msg(all_msgs, & msg___5, & ofs);
    if (! tmp___0) {
      goto while_break;
    }
    if (server___0->use_html) {
      wrap_in_html(& msg___5);
    }
    r = imap_store_msg(ctx___0, & msg___5);
    if (r != 0) {
      goto while_break;
    }
    n ++;
  }
  while_break: /* CIL Label */ ;
  }
  fprintf(stderr, (char const   *)"\n");
  imap_close_store(ctx___0);
  return (0);
}
}
static unsigned short all_variables  ;
static void print_variables(char const   *string___0 ) ;
static void note_variables(char const   *string___0 ) ;
static void subst_from_stdin(void) ;
static void find_variables(char const   *string___0 , void (*callback)(char const   *var_ptr ,
                                                                       size_t var_len ) )
{
  char const   *variable_start ;
  char const   *variable_end ;
  unsigned short valid ;
  char c___0 ;
  char const   *tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((int const   )*string___0 != 0)) {
      goto while_break;
    }
    tmp = string___0;
    string___0 ++;
    if ((int const   )*tmp == 36) {
      if ((int const   )*string___0 == 123) {
        string___0 ++;
      }
      variable_start = string___0;
      c___0 = (char )*string___0;
      if ((int )c___0 >= 65) {
        if ((int )c___0 <= 90) {
          goto _L___2;
        } else {
          goto _L___4;
        }
      } else
      _L___4: /* CIL Label */
      if ((int )c___0 >= 97) {
        if ((int )c___0 <= 122) {
          goto _L___2;
        } else {
          goto _L___3;
        }
      } else
      _L___3: /* CIL Label */
      if ((int )c___0 == 95) {
        _L___2: /* CIL Label */
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          string___0 ++;
          c___0 = (char )*string___0;
          if ((int )c___0 >= 65) {
            if (! ((int )c___0 <= 90)) {
              goto _L___1;
            }
          } else
          _L___1: /* CIL Label */
          if ((int )c___0 >= 97) {
            if (! ((int )c___0 <= 122)) {
              goto _L___0;
            }
          } else
          _L___0: /* CIL Label */
          if ((int )c___0 >= 48) {
            if (! ((int )c___0 <= 57)) {
              goto _L;
            }
          } else
          _L: /* CIL Label */
          if (! ((int )c___0 == 95)) {
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
        variable_end = string___0;
        if ((int const   )*(variable_start + -1) == 123) {
          if ((int const   )*string___0 == 125) {
            string___0 ++;
            valid = (unsigned short)1;
          } else {
            valid = (unsigned short)0;
          }
        } else {
          valid = (unsigned short)1;
        }
        if (valid) {
          (*callback)(variable_start, (size_t )(variable_end - variable_start));
        }
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void print_variable(char const   *var_ptr , size_t var_len )
{


  {
  fwrite((void const   * __restrict  )var_ptr, var_len, (size_t )1, (FILE * __restrict  )stdout);
  putchar('\n');
  return;
}
}
static void print_variables(char const   *string___0 )
{


  {
  find_variables(string___0, & print_variable);
  return;
}
}
__inline static void string_list_init(string_list_ty *slp )
{


  {
  slp->item = (char const   **)((void *)0);
  slp->nitems = (size_t )0;
  slp->nitems_max = (size_t )0;
  return;
}
}
__inline static void string_list_append___0(string_list_ty *slp , char const   *s___1 )
{
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;

  {
  if (slp->nitems >= slp->nitems_max) {
    slp->nitems_max = slp->nitems_max * 2UL + 4UL;
    tmp = st_mult(sizeof(*(slp->item)), slp->nitems_max);
    tmp___0 = xrealloc((void *)slp->item, tmp);
    slp->item = (char const   **)tmp___0;
  }
  tmp___1 = slp->nitems;
  (slp->nitems) ++;
  *(slp->item + tmp___1) = s___1;
  return;
}
}
static int cmp_string(void const   *pstr1 , void const   *pstr2 )
{
  char const   *str1 ;
  char const   *str2 ;
  int tmp ;

  {
  str1 = *((char const   **)pstr1);
  str2 = *((char const   **)pstr2);
  tmp = strcmp(str1, str2);
  return (tmp);
}
}
__inline static void string_list_sort___0(string_list_ty *slp )
{


  {
  sane_qsort((void *)slp->item, slp->nitems, sizeof(*(slp->item)), & cmp_string);
  return;
}
}
static int sorted_string_list_member(string_list_ty const   *slp , char const   *s___1 )
{
  size_t j1 ;
  size_t j2 ;
  size_t j ;
  int result___0 ;
  int tmp ;
  int tmp___0 ;

  {
  j1 = (size_t )0;
  j2 = (size_t )slp->nitems;
  if (j2 > 0UL) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j2 - j1 > 1UL)) {
        goto while_break;
      }
      j = j1 + ((j2 - j1) >> 1);
      tmp = strcmp(*(slp->item + j), s___1);
      result___0 = tmp;
      if (result___0 > 0) {
        j2 = j;
      } else
      if (result___0 == 0) {
        return (1);
      } else {
        j1 = j + 1UL;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (j2 > j1) {
      tmp___0 = strcmp(*(slp->item + j1), s___1);
      if (tmp___0 == 0) {
        return (1);
      }
    }
  }
  return (0);
}
}
static string_list_ty variables_set  ;
static void note_variable(char const   *var_ptr , size_t var_len )
{
  char *string___0 ;
  void *tmp ;

  {
  tmp = xmemdupz((void const   *)var_ptr, var_len);
  string___0 = (char *)tmp;
  string_list_append___0(& variables_set, (char const   *)string___0);
  return;
}
}
static void note_variables(char const   *string___0 )
{


  {
  string_list_init(& variables_set);
  find_variables(string___0, & note_variable);
  string_list_sort___0(& variables_set);
  return;
}
}
static int do_getc(void)
{
  int c___0 ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = _IO_getc(stdin);
  c___0 = tmp;
  if (c___0 == -1) {
    tmp___0 = ferror(stdin);
    if (tmp___0) {
      error((char const   *)"error while reading standard input");
      const_error();
    }
  }
  return (c___0);
}
}
__inline static void do_ungetc(int c___0 )
{


  {
  if (c___0 != -1) {
    ungetc(c___0, stdin);
  }
  return;
}
}
static char *buffer___2  ;
static size_t bufmax  ;
static size_t buflen  ;
static void subst_from_stdin(void)
{
  int c___0 ;
  unsigned short opening_brace ;
  unsigned short closing_brace ;
  unsigned short valid ;
  void *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;
  char const   *env_value ;
  char *tmp___3 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    c___0 = do_getc();
    if (c___0 == -1) {
      goto while_break;
    }
    if (c___0 == 36) {
      opening_brace = (unsigned short)0;
      closing_brace = (unsigned short)0;
      c___0 = do_getc();
      if (c___0 == 123) {
        opening_brace = (unsigned short)1;
        c___0 = do_getc();
      }
      if (c___0 >= 65) {
        if (c___0 <= 90) {
          goto _L___2;
        } else {
          goto _L___4;
        }
      } else
      _L___4: /* CIL Label */
      if (c___0 >= 97) {
        if (c___0 <= 122) {
          goto _L___2;
        } else {
          goto _L___3;
        }
      } else
      _L___3: /* CIL Label */
      if (c___0 == 95) {
        _L___2: /* CIL Label */
        buflen = (size_t )0;
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          if (buflen >= bufmax) {
            bufmax = 2UL * bufmax + 10UL;
            tmp = xrealloc((void *)buffer___2, bufmax);
            buffer___2 = (char *)tmp;
          }
          tmp___0 = buflen;
          buflen ++;
          *(buffer___2 + tmp___0) = (char )c___0;
          c___0 = do_getc();
          if (c___0 >= 65) {
            if (! (c___0 <= 90)) {
              goto _L___1;
            }
          } else
          _L___1: /* CIL Label */
          if (c___0 >= 97) {
            if (! (c___0 <= 122)) {
              goto _L___0;
            }
          } else
          _L___0: /* CIL Label */
          if (c___0 >= 48) {
            if (! (c___0 <= 57)) {
              goto _L;
            }
          } else
          _L: /* CIL Label */
          if (! (c___0 == 95)) {
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
        if (opening_brace) {
          if (c___0 == 125) {
            closing_brace = (unsigned short)1;
            valid = (unsigned short)1;
          } else {
            valid = (unsigned short)0;
            do_ungetc(c___0);
          }
        } else {
          valid = (unsigned short)1;
          do_ungetc(c___0);
        }
        if (valid) {
          if (buflen >= bufmax) {
            bufmax = 2UL * bufmax + 10UL;
            tmp___1 = xrealloc((void *)buffer___2, bufmax);
            buffer___2 = (char *)tmp___1;
          }
          *(buffer___2 + buflen) = (char )'\000';
          if (! all_variables) {
            tmp___2 = sorted_string_list_member((string_list_ty const   *)(& variables_set),
                                                (char const   *)buffer___2);
            if (! tmp___2) {
              valid = (unsigned short)0;
            }
          }
        }
        if (valid) {
          tmp___3 = getenv((char const   *)buffer___2);
          env_value = (char const   *)tmp___3;
          if ((unsigned long )env_value != (unsigned long )((void *)0)) {
            fputs((char const   * __restrict  )env_value, (FILE * __restrict  )stdout);
          }
        } else {
          putchar('$');
          if (opening_brace) {
            putchar('{');
          }
          fwrite((void const   * __restrict  )buffer___2, buflen, (size_t )1, (FILE * __restrict  )stdout);
          if (closing_brace) {
            putchar('}');
          }
        }
      } else {
        do_ungetc(c___0);
        putchar('$');
        if (opening_brace) {
          putchar('{');
        }
      }
    } else {
      putchar(c___0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int do_generic_cmd(char const   *me , char *arg )
{
  char const   *my_argv[4] ;
  int tmp ;
  int tmp___0 ;

  {
  setup_path();
  if (! arg) {
    die((char const   *)"bad argument");
  } else {
    arg = sq_dequote(arg);
    if (arg) {
      if ((int )*arg == 45) {
        die((char const   *)"bad argument");
      }
    } else {
      die((char const   *)"bad argument");
    }
  }
  tmp = skip_prefix(me, (char const   *)"git-", & me);
  if (! tmp) {
    die((char const   *)"bad command");
  }
  my_argv[0] = me;
  my_argv[1] = (char const   *)arg;
  my_argv[2] = (char const   *)((void *)0);
  tmp___0 = execv_git_cmd(my_argv);
  return (tmp___0);
}
}
static int is_valid_cmd_name(char const   *cmd )
{
  size_t tmp ;

  {
  tmp = strcspn(cmd, (char const   *)"./");
  return ((int const   )*(cmd + tmp) == 0);
}
}
static char *make_cmd(char const   *prog )
{
  char *tmp ;

  {
  tmp = xstrfmt((char const   *)"%s/%s", "git-shell-commands", prog);
  return (tmp);
}
}
static void cd_to_homedir(void)
{
  char const   *home ;
  char *tmp ;
  int tmp___0 ;

  {
  tmp = getenv((char const   *)"HOME");
  home = (char const   *)tmp;
  if (! home) {
    die((char const   *)"could not determine user\'s home directory; HOME is unset");
  }
  tmp___0 = chdir(home);
  if (tmp___0 == -1) {
    die((char const   *)"could not chdir to user\'s home directory");
  }
  return;
}
}
static void run_shell(void) ;
static char const   *help_argv[2]  = {      (char const   *)"git-shell-commands/help",      (char const   *)((void *)0)};
static void run_shell(void)
{
  int done___0 ;
  char const   *argv___0[2] ;
  int status ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct strbuf line___0 ;
  char const   *prog ;
  char *full_cmd ;
  char *rawargs ;
  char *split_args ;
  char const   **argv___1 ;
  int code ;
  int count___0 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  int *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  done___0 = 0;
  tmp___1 = access((char const   *)"git-shell-commands/no-interactive-login", 0);
  if (! tmp___1) {
    argv___0[0] = (char const   *)"git-shell-commands/no-interactive-login";
    argv___0[1] = (char const   *)((void *)0);
    status = run_command_v_opt(argv___0, 0);
    if (status < 0) {
      tmp = trace2_cmd_exit_fl((char const   *)"shell.c", 62, 127);
      exit(tmp);
    }
    tmp___0 = trace2_cmd_exit_fl((char const   *)"shell.c", 63, status);
    exit(tmp___0);
  }
  run_command_v_opt(help_argv, 1 << 3);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    line___0.alloc = 0UL;
    line___0.len = 0UL;
    line___0.buf = strbuf_slopbuf;
    fprintf(stderr, (char const   *)"git> ");
    tmp___2 = git_read_line_interactively(& line___0);
    if (tmp___2 == -1) {
      fprintf(stderr, (char const   *)"\n");
      strbuf_release(& line___0);
      goto while_break;
    }
    rawargs = strbuf_detach(& line___0, (size_t *)((void *)0));
    split_args = xstrdup((char const   *)rawargs);
    count___0 = split_cmdline(split_args, & argv___1);
    if (count___0 < 0) {
      tmp___3 = split_cmdline_strerror(count___0);
      fprintf(stderr, (char const   *)"invalid command format \'%s\': %s\n", rawargs,
              tmp___3);
      free((void *)split_args);
      free((void *)rawargs);
      goto __Cont;
    }
    prog = *(argv___1 + 0);
    tmp___10 = strcmp(prog, (char const   *)"");
    if (tmp___10) {
      tmp___6 = strcmp(prog, (char const   *)"quit");
      if (tmp___6) {
        tmp___7 = strcmp(prog, (char const   *)"logout");
        if (tmp___7) {
          tmp___8 = strcmp(prog, (char const   *)"exit");
          if (tmp___8) {
            tmp___9 = strcmp(prog, (char const   *)"bye");
            if (tmp___9) {
              tmp___5 = is_valid_cmd_name(prog);
              if (tmp___5) {
                full_cmd = make_cmd(prog);
                *(argv___1 + 0) = (char const   *)full_cmd;
                code = run_command_v_opt(argv___1, 1 << 3);
                if (code == -1) {
                  tmp___4 = __errno_location();
                  if (*tmp___4 == 2) {
                    fprintf(stderr, (char const   *)"unrecognized command \'%s\'\n",
                            prog);
                  }
                }
                free((void *)full_cmd);
              } else {
                fprintf(stderr, (char const   *)"invalid command format \'%s\'\n",
                        prog);
              }
            } else {
              done___0 = 1;
            }
          } else {
            done___0 = 1;
          }
        } else {
          done___0 = 1;
        }
      } else {
        done___0 = 1;
      }
    }
    free((void *)argv___1);
    free((void *)rawargs);
    __Cont: /* CIL Label */
    if (! (! done___0)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct commands cmd_list[4]  = {      {(char const   *)"git-receive-pack", & do_generic_cmd},
        {(char const   *)"git-upload-pack", & do_generic_cmd},
        {(char const   *)"git-upload-archive", & do_generic_cmd},
        {(char const   *)((void *)0), (int (*)(char const   *me , char *arg ))0}};
char const   git_usage_string[379]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'-',      (char const   )'v',
        (char const   )'e',      (char const   )'r',      (char const   )'s',      (char const   )'i',
        (char const   )'o',      (char const   )'n',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'-',      (char const   )'h',
        (char const   )'e',      (char const   )'l',      (char const   )'p',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'C',
        (char const   )' ',      (char const   )'<',      (char const   )'p',      (char const   )'a',
        (char const   )'t',      (char const   )'h',      (char const   )'>',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'c',
        (char const   )' ',      (char const   )'<',      (char const   )'n',      (char const   )'a',
        (char const   )'m',      (char const   )'e',      (char const   )'>',      (char const   )'=',
        (char const   )'<',      (char const   )'v',      (char const   )'a',      (char const   )'l',
        (char const   )'u',      (char const   )'e',      (char const   )'>',      (char const   )']',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'-',      (char const   )'e',
        (char const   )'x',      (char const   )'e',      (char const   )'c',      (char const   )'-',
        (char const   )'p',      (char const   )'a',      (char const   )'t',      (char const   )'h',
        (char const   )'[',      (char const   )'=',      (char const   )'<',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'h',      (char const   )'>',
        (char const   )']',      (char const   )']',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'h',      (char const   )'t',
        (char const   )'m',      (char const   )'l',      (char const   )'-',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'h',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'-',
        (char const   )'m',      (char const   )'a',      (char const   )'n',      (char const   )'-',
        (char const   )'p',      (char const   )'a',      (char const   )'t',      (char const   )'h',
        (char const   )']',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'i',      (char const   )'n',      (char const   )'f',
        (char const   )'o',      (char const   )'-',      (char const   )'p',      (char const   )'a',
        (char const   )'t',      (char const   )'h',      (char const   )']',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'p',      (char const   )' ',      (char const   )'|',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'p',
        (char const   )'a',      (char const   )'g',      (char const   )'i',      (char const   )'n',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )' ',
        (char const   )'|',      (char const   )' ',      (char const   )'-',      (char const   )'P',
        (char const   )' ',      (char const   )'|',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'n',      (char const   )'o',      (char const   )'-',
        (char const   )'p',      (char const   )'a',      (char const   )'g',      (char const   )'e',
        (char const   )'r',      (char const   )']',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'n',      (char const   )'o',
        (char const   )'-',      (char const   )'r',      (char const   )'e',      (char const   )'p',
        (char const   )'l',      (char const   )'a',      (char const   )'c',      (char const   )'e',
        (char const   )'-',      (char const   )'o',      (char const   )'b',      (char const   )'j',
        (char const   )'e',      (char const   )'c',      (char const   )'t',      (char const   )'s',
        (char const   )']',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'b',      (char const   )'a',      (char const   )'r',
        (char const   )'e',      (char const   )']',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )'-',      (char const   )'d',      (char const   )'i',      (char const   )'r',
        (char const   )'=',      (char const   )'<',      (char const   )'p',      (char const   )'a',
        (char const   )'t',      (char const   )'h',      (char const   )'>',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'-',
        (char const   )'w',      (char const   )'o',      (char const   )'r',      (char const   )'k',
        (char const   )'-',      (char const   )'t',      (char const   )'r',      (char const   )'e',
        (char const   )'e',      (char const   )'=',      (char const   )'<',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'h',      (char const   )'>',
        (char const   )']',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )'s',      (char const   )'p',      (char const   )'a',
        (char const   )'c',      (char const   )'e',      (char const   )'=',      (char const   )'<',
        (char const   )'n',      (char const   )'a',      (char const   )'m',      (char const   )'e',
        (char const   )'>',      (char const   )']',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'s',      (char const   )'u',      (char const   )'p',
        (char const   )'e',      (char const   )'r',      (char const   )'-',      (char const   )'p',
        (char const   )'r',      (char const   )'e',      (char const   )'f',      (char const   )'i',
        (char const   )'x',      (char const   )'=',      (char const   )'<',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'h',      (char const   )'>',
        (char const   )']',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'c',      (char const   )'o',      (char const   )'n',
        (char const   )'f',      (char const   )'i',      (char const   )'g',      (char const   )'-',
        (char const   )'e',      (char const   )'n',      (char const   )'v',      (char const   )'=',
        (char const   )'<',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )'>',      (char const   )'=',      (char const   )'<',
        (char const   )'e',      (char const   )'n',      (char const   )'v',      (char const   )'v',
        (char const   )'a',      (char const   )'r',      (char const   )'>',      (char const   )']',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'<',      (char const   )'c',      (char const   )'o',      (char const   )'m',
        (char const   )'m',      (char const   )'a',      (char const   )'n',      (char const   )'d',
        (char const   )'>',      (char const   )' ',      (char const   )'[',      (char const   )'<',
        (char const   )'a',      (char const   )'r',      (char const   )'g',      (char const   )'s',
        (char const   )'>',      (char const   )']',      (char const   )'\000'};
char const   git_more_info_string[231]  =
  {      (char const   )'\'',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'h',      (char const   )'e',      (char const   )'l',
        (char const   )'p',      (char const   )' ',      (char const   )'-',      (char const   )'a',
        (char const   )'\'',      (char const   )' ',      (char const   )'a',      (char const   )'n',
        (char const   )'d',      (char const   )' ',      (char const   )'\'',      (char const   )'g',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'h',
        (char const   )'e',      (char const   )'l',      (char const   )'p',      (char const   )' ',
        (char const   )'-',      (char const   )'g',      (char const   )'\'',      (char const   )' ',
        (char const   )'l',      (char const   )'i',      (char const   )'s',      (char const   )'t',
        (char const   )' ',      (char const   )'a',      (char const   )'v',      (char const   )'a',
        (char const   )'i',      (char const   )'l',      (char const   )'a',      (char const   )'b',
        (char const   )'l',      (char const   )'e',      (char const   )' ',      (char const   )'s',
        (char const   )'u',      (char const   )'b',      (char const   )'c',      (char const   )'o',
        (char const   )'m',      (char const   )'m',      (char const   )'a',      (char const   )'n',
        (char const   )'d',      (char const   )'s',      (char const   )' ',      (char const   )'a',
        (char const   )'n',      (char const   )'d',      (char const   )' ',      (char const   )'s',
        (char const   )'o',      (char const   )'m',      (char const   )'e',      (char const   )'\n',
        (char const   )'c',      (char const   )'o',      (char const   )'n',      (char const   )'c',
        (char const   )'e',      (char const   )'p',      (char const   )'t',      (char const   )' ',
        (char const   )'g',      (char const   )'u',      (char const   )'i',      (char const   )'d',
        (char const   )'e',      (char const   )'s',      (char const   )'.',      (char const   )' ',
        (char const   )'S',      (char const   )'e',      (char const   )'e',      (char const   )' ',
        (char const   )'\'',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'h',      (char const   )'e',      (char const   )'l',
        (char const   )'p',      (char const   )' ',      (char const   )'<',      (char const   )'c',
        (char const   )'o',      (char const   )'m',      (char const   )'m',      (char const   )'a',
        (char const   )'n',      (char const   )'d',      (char const   )'>',      (char const   )'\'',
        (char const   )' ',      (char const   )'o',      (char const   )'r',      (char const   )' ',
        (char const   )'\'',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'h',      (char const   )'e',      (char const   )'l',
        (char const   )'p',      (char const   )' ',      (char const   )'<',      (char const   )'c',
        (char const   )'o',      (char const   )'n',      (char const   )'c',      (char const   )'e',
        (char const   )'p',      (char const   )'t',      (char const   )'>',      (char const   )'\'',
        (char const   )'\n',      (char const   )'t',      (char const   )'o',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'a',      (char const   )'d',
        (char const   )' ',      (char const   )'a',      (char const   )'b',      (char const   )'o',
        (char const   )'u',      (char const   )'t',      (char const   )' ',      (char const   )'a',
        (char const   )' ',      (char const   )'s',      (char const   )'p',      (char const   )'e',
        (char const   )'c',      (char const   )'i',      (char const   )'f',      (char const   )'i',
        (char const   )'c',      (char const   )' ',      (char const   )'s',      (char const   )'u',
        (char const   )'b',      (char const   )'c',      (char const   )'o',      (char const   )'m',
        (char const   )'m',      (char const   )'a',      (char const   )'n',      (char const   )'d',
        (char const   )' ',      (char const   )'o',      (char const   )'r',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'n',      (char const   )'c',
        (char const   )'e',      (char const   )'p',      (char const   )'t',      (char const   )'.',
        (char const   )'\n',      (char const   )'S',      (char const   )'e',      (char const   )'e',
        (char const   )' ',      (char const   )'\'',      (char const   )'g',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'h',      (char const   )'e',
        (char const   )'l',      (char const   )'p',      (char const   )' ',      (char const   )'g',
        (char const   )'i',      (char const   )'t',      (char const   )'\'',      (char const   )' ',
        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )' ',
        (char const   )'a',      (char const   )'n',      (char const   )' ',      (char const   )'o',
        (char const   )'v',      (char const   )'e',      (char const   )'r',      (char const   )'v',
        (char const   )'i',      (char const   )'e',      (char const   )'w',      (char const   )' ',
        (char const   )'o',      (char const   )'f',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'s',
        (char const   )'y',      (char const   )'s',      (char const   )'t',      (char const   )'e',
        (char const   )'m',      (char const   )'.',      (char const   )'\000'};
static int use_pager  =    -1;
static void list_builtins(struct string_list *out , unsigned int exclude_option ) ;
static void exclude_helpers_from_list(struct string_list *list___3 )
{
  int i ;
  char *tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < list___3->nr)) {
      goto while_break;
    }
    tmp = strstr((char const   *)(list___3->items + i)->string, (char const   *)"--");
    if (tmp) {
      unsorted_string_list_delete_item(list___3, i, 0);
    } else {
      i ++;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int match_token(char const   *spec , int len___0 , char const   *token )
{
  int token_len ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = strlen(token);
  token_len = (int )tmp;
  if (len___0 == token_len) {
    tmp___0 = strncmp(spec, token, (size_t )token_len);
    if (tmp___0) {
      tmp___1 = 0;
    } else {
      tmp___1 = 1;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static int list_cmds(char const   *spec )
{
  struct string_list list___3 ;
  int i ;
  int nongit ;
  char const   *sep ;
  char *tmp ;
  int len___0 ;
  struct strbuf sb___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  list___3.items = (struct string_list_item *)0;
  list___3.nr = 0U;
  list___3.alloc = 0U;
  list___3.strdup_strings = 1U;
  list___3.cmp = (int (*)(char const   * , char const   * ))0;
  setup_git_directory_gently(& nongit);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *spec) {
      goto while_break;
    }
    tmp = strchrnul(spec, ',');
    sep = (char const   *)tmp;
    len___0 = (int )(sep - spec);
    tmp___7 = match_token(spec, len___0, (char const   *)"builtins");
    if (tmp___7) {
      list_builtins(& list___3, 0U);
    } else {
      tmp___6 = match_token(spec, len___0, (char const   *)"main");
      if (tmp___6) {
        list_all_main_cmds(& list___3);
      } else {
        tmp___5 = match_token(spec, len___0, (char const   *)"others");
        if (tmp___5) {
          list_all_other_cmds(& list___3);
        } else {
          tmp___4 = match_token(spec, len___0, (char const   *)"nohelpers");
          if (tmp___4) {
            exclude_helpers_from_list(& list___3);
          } else {
            tmp___3 = match_token(spec, len___0, (char const   *)"alias");
            if (tmp___3) {
              list_aliases(& list___3);
            } else {
              tmp___2 = match_token(spec, len___0, (char const   *)"config");
              if (tmp___2) {
                list_cmds_by_config(& list___3);
              } else
              if (len___0 > 5) {
                tmp___1 = strncmp(spec, (char const   *)"list-", (size_t )5);
                if (tmp___1) {
                  tmp___0 = _((char const   *)"unsupported command listing type \'%s\'");
                  die((char const   *)tmp___0, spec);
                } else {
                  sb___6.alloc = 0UL;
                  sb___6.len = 0UL;
                  sb___6.buf = strbuf_slopbuf;
                  strbuf_add(& sb___6, (void const   *)(spec + 5), (size_t )(len___0 - 5));
                  list_cmds_by_category(& list___3, (char const   *)sb___6.buf);
                  strbuf_release(& sb___6);
                }
              } else {
                tmp___0 = _((char const   *)"unsupported command listing type \'%s\'");
                die((char const   *)tmp___0, spec);
              }
            }
          }
        }
      }
    }
    spec += len___0;
    if ((int const   )*spec == 44) {
      spec ++;
    }
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < list___3.nr)) {
      goto while_break___0;
    }
    puts((char const   *)(list___3.items + i)->string);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  string_list_clear(& list___3, 0);
  return (0);
}
}
static void commit_pager_choice(void)
{


  {
  {
  if (use_pager == 0) {
    goto case_0;
  }
  if (use_pager == 1) {
    goto case_1;
  }
  goto switch_default;
  case_0: /* CIL Label */
  setenv((char const   *)"GIT_PAGER", (char const   *)"cat", 1);
  goto switch_break;
  case_1: /* CIL Label */
  setup_pager();
  goto switch_break;
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
void setup_auto_pager(char const   *cmd , int def___0 )
{
  int tmp ;

  {
  if (use_pager != -1) {
    return;
  } else {
    tmp = pager_in_use();
    if (tmp) {
      return;
    }
  }
  use_pager = check_pager_config(cmd);
  if (use_pager == -1) {
    use_pager = def___0;
  }
  commit_pager_choice();
  return;
}
}
static int handle_options(char const   ***argv___0 , int *argc , int *envchanged )
{
  char const   **orig_argv ;
  char const   *cmd ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;
  int tmp___6 ;
  char *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char *cwd___0 ;
  char *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  int tmp___17 ;
  struct string_list list___3 ;
  int i ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;
  int tmp___30 ;
  int tmp___31 ;
  int tmp___32 ;
  int tmp___33 ;
  int tmp___34 ;
  int tmp___35 ;
  int tmp___36 ;
  int tmp___37 ;
  int tmp___38 ;
  int tmp___39 ;
  int tmp___40 ;
  int tmp___41 ;
  int tmp___42 ;
  int tmp___43 ;
  int tmp___44 ;
  int tmp___45 ;
  int tmp___46 ;
  int tmp___47 ;
  int tmp___48 ;
  int tmp___49 ;
  int tmp___50 ;
  int tmp___51 ;
  int tmp___52 ;

  {
  orig_argv = *argv___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (*argc > 0)) {
      goto while_break;
    }
    cmd = *(*argv___0 + 0);
    if ((int const   )*(cmd + 0) != 45) {
      goto while_break;
    }
    tmp = strcmp(cmd, (char const   *)"--help");
    if (tmp) {
      tmp___0 = strcmp(cmd, (char const   *)"--version");
      if (! tmp___0) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___52 = skip_prefix(cmd, (char const   *)"--exec-path", & cmd);
    if (tmp___52) {
      if ((int const   )*cmd == 61) {
        git_set_exec_path(cmd + 1);
      } else {
        tmp___1 = git_exec_path();
        puts(tmp___1);
        trace2_cmd_name_fl((char const   *)"git.c", 160, (char const   *)"_query_");
        tmp___2 = trace2_cmd_exit_fl((char const   *)"git.c", 161, 0);
        exit(tmp___2);
      }
    } else {
      tmp___51 = strcmp(cmd, (char const   *)"--html-path");
      if (tmp___51) {
        tmp___50 = strcmp(cmd, (char const   *)"--man-path");
        if (tmp___50) {
          tmp___49 = strcmp(cmd, (char const   *)"--info-path");
          if (tmp___49) {
            tmp___47 = strcmp(cmd, (char const   *)"-p");
            if (tmp___47) {
              tmp___48 = strcmp(cmd, (char const   *)"--paginate");
              if (tmp___48) {
                tmp___45 = strcmp(cmd, (char const   *)"-P");
                if (tmp___45) {
                  tmp___46 = strcmp(cmd, (char const   *)"--no-pager");
                  if (tmp___46) {
                    tmp___44 = strcmp(cmd, (char const   *)"--no-replace-objects");
                    if (tmp___44) {
                      tmp___43 = strcmp(cmd, (char const   *)"--git-dir");
                      if (tmp___43) {
                        tmp___42 = skip_prefix(cmd, (char const   *)"--git-dir=",
                                               & cmd);
                        if (tmp___42) {
                          setenv((char const   *)"GIT_DIR", cmd, 1);
                          if (envchanged) {
                            *envchanged = 1;
                          }
                        } else {
                          tmp___41 = strcmp(cmd, (char const   *)"--namespace");
                          if (tmp___41) {
                            tmp___40 = skip_prefix(cmd, (char const   *)"--namespace=",
                                                   & cmd);
                            if (tmp___40) {
                              setenv((char const   *)"GIT_NAMESPACE", cmd, 1);
                              if (envchanged) {
                                *envchanged = 1;
                              }
                            } else {
                              tmp___39 = strcmp(cmd, (char const   *)"--work-tree");
                              if (tmp___39) {
                                tmp___38 = skip_prefix(cmd, (char const   *)"--work-tree=",
                                                       & cmd);
                                if (tmp___38) {
                                  setenv((char const   *)"GIT_WORK_TREE", cmd, 1);
                                  if (envchanged) {
                                    *envchanged = 1;
                                  }
                                } else {
                                  tmp___37 = strcmp(cmd, (char const   *)"--super-prefix");
                                  if (tmp___37) {
                                    tmp___36 = skip_prefix(cmd, (char const   *)"--super-prefix=",
                                                           & cmd);
                                    if (tmp___36) {
                                      setenv((char const   *)"GIT_INTERNAL_SUPER_PREFIX",
                                             cmd, 1);
                                      if (envchanged) {
                                        *envchanged = 1;
                                      }
                                    } else {
                                      tmp___35 = strcmp(cmd, (char const   *)"--bare");
                                      if (tmp___35) {
                                        tmp___34 = strcmp(cmd, (char const   *)"-c");
                                        if (tmp___34) {
                                          tmp___33 = strcmp(cmd, (char const   *)"--config-env");
                                          if (tmp___33) {
                                            tmp___32 = skip_prefix(cmd, (char const   *)"--config-env=",
                                                                   & cmd);
                                            if (tmp___32) {
                                              git_config_push_env(cmd);
                                            } else {
                                              tmp___31 = strcmp(cmd, (char const   *)"--literal-pathspecs");
                                              if (tmp___31) {
                                                tmp___30 = strcmp(cmd, (char const   *)"--no-literal-pathspecs");
                                                if (tmp___30) {
                                                  tmp___29 = strcmp(cmd, (char const   *)"--glob-pathspecs");
                                                  if (tmp___29) {
                                                    tmp___28 = strcmp(cmd, (char const   *)"--noglob-pathspecs");
                                                    if (tmp___28) {
                                                      tmp___27 = strcmp(cmd, (char const   *)"--icase-pathspecs");
                                                      if (tmp___27) {
                                                        tmp___26 = strcmp(cmd, (char const   *)"--no-optional-locks");
                                                        if (tmp___26) {
                                                          tmp___25 = strcmp(cmd, (char const   *)"--shallow-file");
                                                          if (tmp___25) {
                                                            tmp___24 = strcmp(cmd,
                                                                              (char const   *)"-C");
                                                            if (tmp___24) {
                                                              tmp___23 = skip_prefix(cmd,
                                                                                     (char const   *)"--list-cmds=",
                                                                                     & cmd);
                                                              if (tmp___23) {
                                                                trace2_cmd_name_fl((char const   *)"git.c",
                                                                                   312,
                                                                                   (char const   *)"_query_");
                                                                tmp___21 = strcmp(cmd,
                                                                                  (char const   *)"parseopt");
                                                                if (tmp___21) {
                                                                  tmp___19 = list_cmds(cmd);
                                                                  tmp___20 = trace2_cmd_exit_fl((char const   *)"git.c",
                                                                                                323,
                                                                                                tmp___19);
                                                                  exit(tmp___20);
                                                                } else {
                                                                  list___3.items = (struct string_list_item *)0;
                                                                  list___3.nr = 0U;
                                                                  list___3.alloc = 0U;
                                                                  list___3.strdup_strings = 1U;
                                                                  list___3.cmp = (int (*)(char const   * ,
                                                                                          char const   * ))0;
                                                                  list_builtins(& list___3,
                                                                                (unsigned int )(1 << 6));
                                                                  i = 0;
                                                                  {
                                                                  while (1) {
                                                                    while_continue___0: /* CIL Label */ ;
                                                                    if (! ((unsigned int )i < list___3.nr)) {
                                                                      goto while_break___0;
                                                                    }
                                                                    printf((char const   *)"%s ",
                                                                           (list___3.items + i)->string);
                                                                    i ++;
                                                                  }
                                                                  while_break___0: /* CIL Label */ ;
                                                                  }
                                                                  string_list_clear(& list___3,
                                                                                    0);
                                                                  tmp___18 = trace2_cmd_exit_fl((char const   *)"git.c",
                                                                                                321,
                                                                                                0);
                                                                  exit(tmp___18);
                                                                }
                                                              } else {
                                                                tmp___22 = _((char const   *)"unknown option: %s\n");
                                                                fprintf(stderr, (char const   *)tmp___22,
                                                                        cmd);
                                                                usage(git_usage_string);
                                                              }
                                                            } else {
                                                              if (*argc < 2) {
                                                                tmp___16 = _((char const   *)"no directory given for \'%s\' option\n");
                                                                fprintf(stderr, (char const   *)tmp___16,
                                                                        "-C");
                                                                usage(git_usage_string);
                                                              }
                                                              if (*(*(*argv___0 + 1) + 0)) {
                                                                tmp___17 = chdir(*(*argv___0 + 1));
                                                                if (tmp___17) {
                                                                  die_errno((char const   *)"cannot change to \'%s\'",
                                                                            *(*argv___0 + 1));
                                                                }
                                                                if (envchanged) {
                                                                  *envchanged = 1;
                                                                }
                                                              }
                                                              (*argv___0) ++;
                                                              (*argc) --;
                                                            }
                                                          } else {
                                                            (*argv___0) ++;
                                                            (*argc) --;
                                                            set_alternate_shallow_file(the_repository,
                                                                                       *(*argv___0 + 0),
                                                                                       1);
                                                            if (envchanged) {
                                                              *envchanged = 1;
                                                            }
                                                          }
                                                        } else {
                                                          setenv((char const   *)"GIT_OPTIONAL_LOCKS",
                                                                 (char const   *)"0",
                                                                 1);
                                                          if (envchanged) {
                                                            *envchanged = 1;
                                                          }
                                                        }
                                                      } else {
                                                        setenv((char const   *)"GIT_ICASE_PATHSPECS",
                                                               (char const   *)"1",
                                                               1);
                                                        if (envchanged) {
                                                          *envchanged = 1;
                                                        }
                                                      }
                                                    } else {
                                                      setenv((char const   *)"GIT_NOGLOB_PATHSPECS",
                                                             (char const   *)"1",
                                                             1);
                                                      if (envchanged) {
                                                        *envchanged = 1;
                                                      }
                                                    }
                                                  } else {
                                                    setenv((char const   *)"GIT_GLOB_PATHSPECS",
                                                           (char const   *)"1", 1);
                                                    if (envchanged) {
                                                      *envchanged = 1;
                                                    }
                                                  }
                                                } else {
                                                  setenv((char const   *)"GIT_LITERAL_PATHSPECS",
                                                         (char const   *)"0", 1);
                                                  if (envchanged) {
                                                    *envchanged = 1;
                                                  }
                                                }
                                              } else {
                                                setenv((char const   *)"GIT_LITERAL_PATHSPECS",
                                                       (char const   *)"1", 1);
                                                if (envchanged) {
                                                  *envchanged = 1;
                                                }
                                              }
                                            }
                                          } else {
                                            if (*argc < 2) {
                                              tmp___15 = _((char const   *)"no config key given for --config-env\n");
                                              fprintf(stderr, (char const   *)tmp___15);
                                              usage(git_usage_string);
                                            }
                                            git_config_push_env(*(*argv___0 + 1));
                                            (*argv___0) ++;
                                            (*argc) --;
                                          }
                                        } else {
                                          if (*argc < 2) {
                                            tmp___14 = _((char const   *)"-c expects a configuration string\n");
                                            fprintf(stderr, (char const   *)tmp___14);
                                            usage(git_usage_string);
                                          }
                                          git_config_push_parameter(*(*argv___0 + 1));
                                          (*argv___0) ++;
                                          (*argc) --;
                                        }
                                      } else {
                                        tmp___13 = xgetcwd();
                                        cwd___0 = tmp___13;
                                        is_bare_repository_cfg = 1;
                                        setenv((char const   *)"GIT_DIR", (char const   *)cwd___0,
                                               0);
                                        free((void *)cwd___0);
                                        setenv((char const   *)"GIT_IMPLICIT_WORK_TREE",
                                               (char const   *)"0", 1);
                                        if (envchanged) {
                                          *envchanged = 1;
                                        }
                                      }
                                    }
                                  } else {
                                    if (*argc < 2) {
                                      tmp___12 = _((char const   *)"no prefix given for --super-prefix\n");
                                      fprintf(stderr, (char const   *)tmp___12);
                                      usage(git_usage_string);
                                    }
                                    setenv((char const   *)"GIT_INTERNAL_SUPER_PREFIX",
                                           *(*argv___0 + 1), 1);
                                    if (envchanged) {
                                      *envchanged = 1;
                                    }
                                    (*argv___0) ++;
                                    (*argc) --;
                                  }
                                }
                              } else {
                                if (*argc < 2) {
                                  tmp___11 = _((char const   *)"no directory given for \'%s\' option\n");
                                  fprintf(stderr, (char const   *)tmp___11, "--work-tree");
                                  usage(git_usage_string);
                                }
                                setenv((char const   *)"GIT_WORK_TREE", *(*argv___0 + 1),
                                       1);
                                if (envchanged) {
                                  *envchanged = 1;
                                }
                                (*argv___0) ++;
                                (*argc) --;
                              }
                            }
                          } else {
                            if (*argc < 2) {
                              tmp___10 = _((char const   *)"no namespace given for --namespace\n");
                              fprintf(stderr, (char const   *)tmp___10);
                              usage(git_usage_string);
                            }
                            setenv((char const   *)"GIT_NAMESPACE", *(*argv___0 + 1),
                                   1);
                            if (envchanged) {
                              *envchanged = 1;
                            }
                            (*argv___0) ++;
                            (*argc) --;
                          }
                        }
                      } else {
                        if (*argc < 2) {
                          tmp___9 = _((char const   *)"no directory given for \'%s\' option\n");
                          fprintf(stderr, (char const   *)tmp___9, "--git-dir");
                          usage(git_usage_string);
                        }
                        setenv((char const   *)"GIT_DIR", *(*argv___0 + 1), 1);
                        if (envchanged) {
                          *envchanged = 1;
                        }
                        (*argv___0) ++;
                        (*argc) --;
                      }
                    } else {
                      read_replace_refs = 0;
                      setenv((char const   *)"GIT_NO_REPLACE_OBJECTS", (char const   *)"1",
                             1);
                      if (envchanged) {
                        *envchanged = 1;
                      }
                    }
                  } else {
                    _L: /* CIL Label */
                    use_pager = 0;
                    if (envchanged) {
                      *envchanged = 1;
                    }
                  }
                } else {
                  goto _L;
                }
              } else {
                use_pager = 1;
              }
            } else {
              use_pager = 1;
            }
          } else {
            tmp___7 = system_path((char const   *)"share/info");
            puts((char const   *)tmp___7);
            trace2_cmd_name_fl((char const   *)"git.c", 173, (char const   *)"_query_");
            tmp___8 = trace2_cmd_exit_fl((char const   *)"git.c", 174, 0);
            exit(tmp___8);
          }
        } else {
          tmp___5 = system_path((char const   *)"share/man");
          puts((char const   *)tmp___5);
          trace2_cmd_name_fl((char const   *)"git.c", 169, (char const   *)"_query_");
          tmp___6 = trace2_cmd_exit_fl((char const   *)"git.c", 170, 0);
          exit(tmp___6);
        }
      } else {
        tmp___3 = system_path((char const   *)"share/doc/git");
        puts((char const   *)tmp___3);
        trace2_cmd_name_fl((char const   *)"git.c", 165, (char const   *)"_query_");
        tmp___4 = trace2_cmd_exit_fl((char const   *)"git.c", 166, 0);
        exit(tmp___4);
      }
    }
    (*argv___0) ++;
    (*argc) --;
  }
  while_break: /* CIL Label */ ;
  }
  return ((int )(*argv___0 - orig_argv));
}
}
static int handle_alias(int *argcp , char const   ***argv___0 )
{
  int envchanged ;
  int ret___67 ;
  int saved_errno ;
  int *tmp ;
  int count___0 ;
  int option_count ;
  char const   **new_argv ;
  char const   *alias_command ;
  char *alias_string ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  struct child_process child ;
  int nongit_ok ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const   *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  size_t tmp___12 ;
  void *tmp___13 ;
  int *tmp___14 ;

  {
  envchanged = 0;
  ret___67 = 0;
  tmp = __errno_location();
  saved_errno = *tmp;
  alias_command = *(*argv___0 + 0);
  alias_string = alias_lookup(alias_command);
  if (alias_string) {
    if (*argcp > 1) {
      tmp___1 = strcmp(*(*argv___0 + 1), (char const   *)"-h");
      if (! tmp___1) {
        tmp___0 = _((char const   *)"\'%s\' is aliased to \'%s\'");
        fprintf_ln(stderr, (char const   *)tmp___0, alias_command, alias_string);
      }
    }
    if ((int )*(alias_string + 0) == 33) {
      child.args.v = empty_strvec;
      child.args.nr = 0UL;
      child.args.alloc = 0UL;
      child.env_array.v = empty_strvec;
      child.env_array.nr = 0UL;
      child.env_array.alloc = 0UL;
      child.pid = 0;
      child.trace2_child_id = 0;
      child.trace2_child_us_start = 0UL;
      child.trace2_child_class = (char const   *)0;
      child.trace2_hook_name = (char const   *)0;
      child.in = 0;
      child.out = 0;
      child.err = 0;
      child.dir = (char const   *)0;
      child.no_stdin = 0U;
      child.no_stdout = 0U;
      child.no_stderr = 0U;
      child.git_cmd = 0U;
      child.silent_exec_failure = 0U;
      child.use_shell = 0U;
      child.close_object_store = 0U;
      child.stdout_to_stderr = 0U;
      child.clean_on_exit = 0U;
      child.wait_after_clean = 0U;
      child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
      child.clean_on_exit_handler_cbdata = (void *)0;
      setup_git_directory_gently(& nongit_ok);
      commit_pager_choice();
      child.use_shell = 1U;
      child.clean_on_exit = 1U;
      child.wait_after_clean = 1U;
      child.trace2_child_class = (char const   *)"shell_alias";
      strvec_push(& child.args, (char const   *)(alias_string + 1));
      strvec_pushv(& child.args, *argv___0 + 1);
      trace2_cmd_alias_fl((char const   *)"git.c", 366, alias_command, child.args.v);
      trace2_cmd_list_config_fl((char const   *)"git.c", 367);
      trace2_cmd_list_env_vars_fl((char const   *)"git.c", 368);
      trace2_cmd_name_fl((char const   *)"git.c", 369, (char const   *)"_run_shell_alias_");
      ret___67 = run_command(& child);
      if (ret___67 >= 0) {
        tmp___2 = trace2_cmd_exit_fl((char const   *)"git.c", 373, ret___67);
        exit(tmp___2);
      }
      tmp___3 = _((char const   *)"while expanding alias \'%s\': \'%s\'");
      die_errno((char const   *)tmp___3, alias_command, alias_string + 1);
    }
    count___0 = split_cmdline(alias_string, & new_argv);
    if (count___0 < 0) {
      tmp___4 = split_cmdline_strerror(count___0);
      tmp___5 = _(tmp___4);
      tmp___6 = _((char const   *)"bad alias.%s string: %s");
      die((char const   *)tmp___6, alias_command, tmp___5);
    }
    option_count = handle_options(& new_argv, & count___0, & envchanged);
    if (envchanged) {
      tmp___7 = _((char const   *)"alias \'%s\' changes environment variables.\nYou can use \'!git\' in the alias to do this");
      die((char const   *)tmp___7, alias_command);
    }
    move_array((void *)(new_argv - option_count), (void const   *)new_argv, (size_t )count___0,
               sizeof(*(new_argv - option_count)) + (sizeof(char [1]) - 1UL));
    new_argv -= option_count;
    if (count___0 < 1) {
      tmp___8 = _((char const   *)"empty alias for %s");
      die((char const   *)tmp___8, alias_command);
    }
    tmp___10 = strcmp(alias_command, *(new_argv + 0));
    if (! tmp___10) {
      tmp___9 = _((char const   *)"recursive alias: %s");
      die((char const   *)tmp___9, alias_command);
    }
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___11 = trace_pass_fl(& trace_default_key);
      if (tmp___11) {
        trace_argv_printf_fl((char const   *)"git.c", 398, new_argv, (char const   *)"trace: alias expansion: %s =>",
                             alias_command);
      }
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    tmp___12 = st_mult(sizeof(*new_argv), (size_t )(count___0 + *argcp));
    tmp___13 = xrealloc((void *)new_argv, tmp___12);
    new_argv = (char const   **)tmp___13;
    copy_array((void *)(new_argv + count___0), (void const   *)(*argv___0 + 1), (size_t )*argcp,
               sizeof(*(new_argv + count___0)) + (sizeof(char [1]) - 1UL));
    trace2_cmd_alias_fl((char const   *)"git.c", 404, alias_command, new_argv);
    trace2_cmd_list_config_fl((char const   *)"git.c", 405);
    trace2_cmd_list_env_vars_fl((char const   *)"git.c", 406);
    *argv___0 = new_argv;
    *argcp += count___0 - 1;
    ret___67 = 1;
  }
  tmp___14 = __errno_location();
  *tmp___14 = saved_errno;
  return (ret___67);
}
}
static int run_builtin(struct cmd_struct *p___0 , int argc , char const   **argv___0 )
{
  int status ;
  int help ;
  struct stat st ;
  char const   *prefix___1 ;
  int run_setup ;
  int tmp ;
  int tmp___0 ;
  int nongit_ok ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;

  {
  run_setup = (int )(p___0->option & (unsigned int )(1 | (1 << 1)));
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (tmp) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
  } else {
    tmp___0 = 0;
  }
  help = tmp___0;
  if (help) {
    if (run_setup & 1) {
      run_setup = 1 << 1;
    }
  }
  if (run_setup & 1) {
    prefix___1 = setup_git_directory();
  } else
  if (run_setup & (1 << 1)) {
    prefix___1 = setup_git_directory_gently(& nongit_ok);
  } else {
    prefix___1 = (char const   *)((void *)0);
  }
  precompose_argv_prefix(argc, argv___0, (char const   *)((void *)0));
  if (use_pager == -1) {
    if (run_setup) {
      if (! (p___0->option & (unsigned int )(1 << 5))) {
        use_pager = check_pager_config(p___0->cmd);
      }
    }
  }
  if (use_pager == -1) {
    if (p___0->option & (unsigned int )(1 << 2)) {
      use_pager = 1;
    }
  }
  if (run_setup) {
    if (startup_info->have_repository) {
      trace_repo_setup(prefix___1);
    }
  }
  commit_pager_choice();
  if (! help) {
    tmp___2 = get_super_prefix();
    if (tmp___2) {
      if (! (p___0->option & (unsigned int )(1 << 4))) {
        tmp___1 = _((char const   *)"%s doesn\'t support --super-prefix");
        die((char const   *)tmp___1, p___0->cmd);
      }
    }
  }
  if (! help) {
    if (p___0->option & (unsigned int )(1 << 3)) {
      setup_work_tree();
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = trace_pass_fl(& trace_default_key);
    if (tmp___3) {
      trace_argv_printf_fl((char const   *)"git.c", 458, argv___0, (char const   *)"trace: built-in: git");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  trace2_cmd_name_fl((char const   *)"git.c", 459, p___0->cmd);
  trace2_cmd_list_config_fl((char const   *)"git.c", 460);
  trace2_cmd_list_env_vars_fl((char const   *)"git.c", 461);
  validate_cache_entries((struct index_state  const  *)the_repository->index);
  status = (*(p___0->fn))(argc, argv___0, prefix___1);
  validate_cache_entries((struct index_state  const  *)the_repository->index);
  if (status) {
    return (status);
  }
  tmp___4 = fileno(stdout);
  tmp___5 = fstat(tmp___4, & st);
  if (tmp___5) {
    return (0);
  }
  if ((st.st_mode & 61440U) == 4096U) {
    return (0);
  } else
  if ((st.st_mode & 61440U) == 49152U) {
    return (0);
  }
  tmp___7 = fflush(stdout);
  if (tmp___7) {
    tmp___6 = _((char const   *)"write failure on standard output");
    die_errno((char const   *)tmp___6);
  }
  tmp___9 = ferror(stdout);
  if (tmp___9) {
    tmp___8 = _((char const   *)"unknown write failure on standard output");
    die((char const   *)tmp___8);
  }
  tmp___11 = fclose(stdout);
  if (tmp___11) {
    tmp___10 = _((char const   *)"close failed on standard output");
    die_errno((char const   *)tmp___10);
  }
  return (0);
}
}
static struct cmd_struct commands[138]  =
  {      {(char const   *)"add", & cmd_add, (unsigned int )(1 | (1 << 3))},
        {(char const   *)"am", & cmd_am, (unsigned int )(1 | (1 << 3))},
        {(char const   *)"annotate", & cmd_annotate, (unsigned int )(1 | (1 << 6))},
        {(char const   *)"apply", & cmd_apply, (unsigned int )(1 << 1)},
        {(char const   *)"archive", & cmd_archive, (unsigned int )(1 << 1)},
        {(char const   *)"bisect--helper", & cmd_bisect__helper, 1U},
        {(char const   *)"blame", & cmd_blame, 1U},
        {(char const   *)"branch", & cmd_branch, (unsigned int )(1 | (1 << 5))},
        {(char const   *)"bugreport", & cmd_bugreport, (unsigned int )(1 << 1)},
        {(char const   *)"bundle", & cmd_bundle, (unsigned int )((1 << 1) | (1 << 6))},
        {(char const   *)"cat-file",
      & cmd_cat_file, 1U},
        {(char const   *)"check-attr", & cmd_check_attr, 1U},
        {(char const   *)"check-ignore", & cmd_check_ignore, (unsigned int )(1 | (1 << 3))},
        {(char const   *)"check-mailmap",
      & cmd_check_mailmap, 1U},
        {(char const   *)"check-ref-format", & cmd_check_ref_format, (unsigned int )(1 << 6)},
        {(char const   *)"checkout",
      & cmd_checkout, (unsigned int )(1 | (1 << 3))},
        {(char const   *)"checkout--worker", & cmd_checkout__worker, (unsigned int )((1 | (1 << 3)) | (1 << 4))},
        {(char const   *)"checkout-index",
      & cmd_checkout_index, (unsigned int )(1 | (1 << 3))},
        {(char const   *)"cherry", & cmd_cherry, 1U},
        {(char const   *)"cherry-pick", & cmd_cherry_pick, (unsigned int )(1 | (1 << 3))},
        {(char const   *)"clean",
      & cmd_clean, (unsigned int )(1 | (1 << 3))},
        {(char const   *)"clone", & cmd_clone, 0U},
        {(char const   *)"column", & cmd_column, (unsigned int )(1 << 1)},
        {(char const   *)"commit", & cmd_commit, (unsigned int )(1 | (1 << 3))},
        {(char const   *)"commit-graph", & cmd_commit_graph, 1U},
        {(char const   *)"commit-tree", & cmd_commit_tree, (unsigned int )(1 | (1 << 6))},
        {(char const   *)"config",
      & cmd_config, (unsigned int )((1 << 1) | (1 << 5))},
        {(char const   *)"count-objects", & cmd_count_objects, 1U},
        {(char const   *)"credential", & cmd_credential, (unsigned int )((1 << 1) | (1 << 6))},
        {(char const   *)"credential-cache",
      & cmd_credential_cache, 0U},
        {(char const   *)"credential-cache--daemon", & cmd_credential_cache_daemon, 0U},
        {(char const   *)"credential-store",
      & cmd_credential_store, 0U},
        {(char const   *)"describe", & cmd_describe, 1U},
        {(char const   *)"diff", & cmd_diff, (unsigned int )(1 << 6)},
        {(char const   *)"diff-files", & cmd_diff_files, (unsigned int )((1 | (1 << 3)) | (1 << 6))},
        {(char const   *)"diff-index",
      & cmd_diff_index, (unsigned int )(1 | (1 << 6))},
        {(char const   *)"diff-tree", & cmd_diff_tree, (unsigned int )(1 | (1 << 6))},
        {(char const   *)"difftool",
      & cmd_difftool, (unsigned int )(1 << 1)},
        {(char const   *)"env--helper", & cmd_env__helper, 0U},
        {(char const   *)"fast-export", & cmd_fast_export, 1U},
        {(char const   *)"fast-import", & cmd_fast_import, (unsigned int )(1 | (1 << 6))},
        {(char const   *)"fetch",
      & cmd_fetch, 1U},
        {(char const   *)"fetch-pack", & cmd_fetch_pack, (unsigned int )(1 | (1 << 6))},
        {(char const   *)"fmt-merge-msg",
      & cmd_fmt_merge_msg, 1U},
        {(char const   *)"for-each-ref", & cmd_for_each_ref, 1U},
        {(char const   *)"for-each-repo", & cmd_for_each_repo, (unsigned int )(1 << 1)},
        {(char const   *)"format-patch",
      & cmd_format_patch, 1U},
        {(char const   *)"fsck", & cmd_fsck, 1U},
        {(char const   *)"fsck-objects", & cmd_fsck, 1U},
        {(char const   *)"gc", & cmd_gc, 1U},
        {(char const   *)"get-tar-commit-id", & cmd_get_tar_commit_id, (unsigned int )(1 << 6)},
        {(char const   *)"grep",
      & cmd_grep, (unsigned int )(1 << 1)},
        {(char const   *)"hash-object", & cmd_hash_object, 0U},
        {(char const   *)"help", & cmd_help, 0U},
        {(char const   *)"index-pack", & cmd_index_pack, (unsigned int )((1 << 1) | (1 << 6))},
        {(char const   *)"init",
      & cmd_init_db, 0U},
        {(char const   *)"init-db", & cmd_init_db, 0U},
        {(char const   *)"interpret-trailers", & cmd_interpret_trailers, (unsigned int )(1 << 1)},
        {(char const   *)"log",
      & cmd_log, 1U},
        {(char const   *)"ls-files", & cmd_ls_files, 1U},
        {(char const   *)"ls-remote", & cmd_ls_remote, (unsigned int )(1 << 1)},
        {(char const   *)"ls-tree", & cmd_ls_tree, 1U},
        {(char const   *)"mailinfo", & cmd_mailinfo, (unsigned int )((1 << 1) | (1 << 6))},
        {(char const   *)"mailsplit",
      & cmd_mailsplit, (unsigned int )(1 << 6)},
        {(char const   *)"maintenance", & cmd_maintenance, (unsigned int )(1 | (1 << 6))},
        {(char const   *)"merge",
      & cmd_merge, (unsigned int )(1 | (1 << 3))},
        {(char const   *)"merge-base", & cmd_merge_base, 1U},
        {(char const   *)"merge-file", & cmd_merge_file, (unsigned int )(1 << 1)},
        {(char const   *)"merge-index", & cmd_merge_index, (unsigned int )(1 | (1 << 6))},
        {(char const   *)"merge-ours",
      & cmd_merge_ours, (unsigned int )(1 | (1 << 6))},
        {(char const   *)"merge-recursive", & cmd_merge_recursive, (unsigned int )((1 | (1 << 3)) | (1 << 6))},
        {(char const   *)"merge-recursive-ours",
      & cmd_merge_recursive, (unsigned int )((1 | (1 << 3)) | (1 << 6))},
        {(char const   *)"merge-recursive-theirs", & cmd_merge_recursive, (unsigned int )((1 | (1 << 3)) | (1 << 6))},
        {(char const   *)"merge-subtree",
      & cmd_merge_recursive, (unsigned int )((1 | (1 << 3)) | (1 << 6))},
        {(char const   *)"merge-tree", & cmd_merge_tree, (unsigned int )(1 | (1 << 6))},
        {(char const   *)"mktag",
      & cmd_mktag, (unsigned int )(1 | (1 << 6))},
        {(char const   *)"mktree", & cmd_mktree, 1U},
        {(char const   *)"multi-pack-index", & cmd_multi_pack_index, 1U},
        {(char const   *)"mv", & cmd_mv, (unsigned int )(1 | (1 << 3))},
        {(char const   *)"name-rev", & cmd_name_rev, 1U},
        {(char const   *)"notes", & cmd_notes, 1U},
        {(char const   *)"pack-objects", & cmd_pack_objects, 1U},
        {(char const   *)"pack-redundant", & cmd_pack_redundant, (unsigned int )(1 | (1 << 6))},
        {(char const   *)"pack-refs",
      & cmd_pack_refs, 1U},
        {(char const   *)"patch-id", & cmd_patch_id, (unsigned int )((1 << 1) | (1 << 6))},
        {(char const   *)"pickaxe",
      & cmd_blame, 1U},
        {(char const   *)"prune", & cmd_prune, 1U},
        {(char const   *)"prune-packed", & cmd_prune_packed, 1U},
        {(char const   *)"pull", & cmd_pull, (unsigned int )(1 | (1 << 3))},
        {(char const   *)"push", & cmd_push, 1U},
        {(char const   *)"range-diff", & cmd_range_diff, (unsigned int )(1 | (1 << 2))},
        {(char const   *)"read-tree",
      & cmd_read_tree, (unsigned int )(1 | (1 << 4))},
        {(char const   *)"rebase", & cmd_rebase, (unsigned int )(1 | (1 << 3))},
        {(char const   *)"receive-pack", & cmd_receive_pack, 0U},
        {(char const   *)"reflog", & cmd_reflog, 1U},
        {(char const   *)"remote", & cmd_remote, 1U},
        {(char const   *)"remote-ext", & cmd_remote_ext, (unsigned int )(1 << 6)},
        {(char const   *)"remote-fd", & cmd_remote_fd, (unsigned int )(1 << 6)},
        {(char const   *)"repack", & cmd_repack, 1U},
        {(char const   *)"replace", & cmd_replace, 1U},
        {(char const   *)"rerere", & cmd_rerere, 1U},
        {(char const   *)"reset", & cmd_reset, 1U},
        {(char const   *)"restore", & cmd_restore, (unsigned int )(1 | (1 << 3))},
        {(char const   *)"rev-list", & cmd_rev_list, (unsigned int )(1 | (1 << 6))},
        {(char const   *)"rev-parse", & cmd_rev_parse, (unsigned int )(1 << 6)},
        {(char const   *)"revert", & cmd_revert, (unsigned int )(1 | (1 << 3))},
        {(char const   *)"rm", & cmd_rm, 1U},
        {(char const   *)"send-pack", & cmd_send_pack, 1U},
        {(char const   *)"shortlog", & cmd_shortlog, (unsigned int )((1 << 1) | (1 << 2))},
        {(char const   *)"show",
      & cmd_show, 1U},
        {(char const   *)"show-branch", & cmd_show_branch, 1U},
        {(char const   *)"show-index", & cmd_show_index, (unsigned int )(1 << 1)},
        {(char const   *)"show-ref", & cmd_show_ref, 1U},
        {(char const   *)"sparse-checkout", & cmd_sparse_checkout, (unsigned int )(1 | (1 << 3))},
        {(char const   *)"stage",
      & cmd_add, (unsigned int )(1 | (1 << 3))},
        {(char const   *)"stash", & cmd_stash, (unsigned int )(1 | (1 << 3))},
        {(char const   *)"status", & cmd_status, (unsigned int )(1 | (1 << 3))},
        {(char const   *)"stripspace", & cmd_stripspace, 0U},
        {(char const   *)"submodule--helper", & cmd_submodule__helper, (unsigned int )((1 | (1 << 4)) | (1 << 6))},
        {(char const   *)"switch",
      & cmd_switch, (unsigned int )(1 | (1 << 3))},
        {(char const   *)"symbolic-ref", & cmd_symbolic_ref, 1U},
        {(char const   *)"tag", & cmd_tag, (unsigned int )(1 | (1 << 5))},
        {(char const   *)"unpack-file", & cmd_unpack_file, (unsigned int )(1 | (1 << 6))},
        {(char const   *)"unpack-objects",
      & cmd_unpack_objects, (unsigned int )(1 | (1 << 6))},
        {(char const   *)"update-index", & cmd_update_index, 1U},
        {(char const   *)"update-ref", & cmd_update_ref, 1U},
        {(char const   *)"update-server-info", & cmd_update_server_info, 1U},
        {(char const   *)"upload-archive", & cmd_upload_archive, (unsigned int )(1 << 6)},
        {(char const   *)"upload-archive--writer",
      & cmd_upload_archive_writer, (unsigned int )(1 << 6)},
        {(char const   *)"upload-pack", & cmd_upload_pack, 0U},
        {(char const   *)"var", & cmd_var, (unsigned int )((1 << 1) | (1 << 6))},
        {(char const   *)"verify-commit", & cmd_verify_commit, 1U},
        {(char const   *)"verify-pack", & cmd_verify_pack, 0U},
        {(char const   *)"verify-tag", & cmd_verify_tag, 1U},
        {(char const   *)"version", & cmd_version, 0U},
        {(char const   *)"whatchanged", & cmd_whatchanged, 1U},
        {(char const   *)"worktree", & cmd_worktree, (unsigned int )(1 | (1 << 6))},
        {(char const   *)"write-tree", & cmd_write_tree, 1U}};
static struct cmd_struct *get_builtin(char const   *s___1 )
{
  int i ;
  struct cmd_struct *p___0 ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(commands) / sizeof(commands[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    p___0 = commands + i;
    tmp = strcmp(s___1, p___0->cmd);
    if (! tmp) {
      return (p___0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct cmd_struct *)((void *)0));
}
}
int is_builtin(char const   *s___1 )
{
  struct cmd_struct *tmp ;
  int tmp___0 ;

  {
  tmp = get_builtin(s___1);
  if (tmp) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static void list_builtins(struct string_list *out , unsigned int exclude_option )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(commands) / sizeof(commands[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    if (exclude_option) {
      if (commands[i].option & exclude_option) {
        goto __Cont;
      }
    }
    string_list_append(out, commands[i].cmd);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
void load_builtin_commands(char const   *prefix___1 , struct cmdnames *cmds___0 )
{
  char const   *name___0 ;
  int i ;
  int tmp ;
  size_t tmp___0 ;
  int tmp___1 ;

  {
  tmp = skip_prefix(prefix___1, (char const   *)"git-", & prefix___1);
  if (! tmp) {
    BUG_fl((char const   *)"git.c", 669, (char const   *)"prefix \'%s\' must start with \'git-\'",
           prefix___1);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(commands) / sizeof(commands[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp___1 = skip_prefix(commands[i].cmd, prefix___1, & name___0);
    if (tmp___1) {
      tmp___0 = strlen(name___0);
      add_cmdname(cmds___0, name___0, (int )tmp___0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void handle_builtin(int argc , char const   **argv___0 )
{
  struct strvec args___0 ;
  char const   *cmd ;
  struct cmd_struct *builtin ;
  int i ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  args___0.v = empty_strvec;
  args___0.nr = 0UL;
  args___0.alloc = 0UL;
  cmd = *(argv___0 + 0);
  if (argc > 1) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"--help");
    if (! tmp) {
      *(argv___0 + 1) = *(argv___0 + 0);
      cmd = (char const   *)"help";
      *(argv___0 + 0) = cmd;
      i = 0;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! (i < argc)) {
          goto while_break;
        }
        strvec_push(& args___0, *(argv___0 + i));
        if (! i) {
          strvec_push(& args___0, (char const   *)"--exclude-guides");
        }
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
      argc ++;
      argv___0 = args___0.v;
    }
  }
  builtin = get_builtin(cmd);
  if (builtin) {
    tmp___0 = run_builtin(builtin, argc, argv___0);
    tmp___1 = trace2_cmd_exit_fl((char const   *)"git.c", 716, tmp___0);
    exit(tmp___1);
  }
  strvec_clear(& args___0);
  return;
}
}
static void execv_dashed_external(char const   **argv___0 )
{
  struct child_process cmd ;
  int status ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int *tmp___5 ;

  {
  cmd.args.v = empty_strvec;
  cmd.args.nr = 0UL;
  cmd.args.alloc = 0UL;
  cmd.env_array.v = empty_strvec;
  cmd.env_array.nr = 0UL;
  cmd.env_array.alloc = 0UL;
  cmd.pid = 0;
  cmd.trace2_child_id = 0;
  cmd.trace2_child_us_start = 0UL;
  cmd.trace2_child_class = (char const   *)0;
  cmd.trace2_hook_name = (char const   *)0;
  cmd.in = 0;
  cmd.out = 0;
  cmd.err = 0;
  cmd.dir = (char const   *)0;
  cmd.no_stdin = 0U;
  cmd.no_stdout = 0U;
  cmd.no_stderr = 0U;
  cmd.git_cmd = 0U;
  cmd.silent_exec_failure = 0U;
  cmd.use_shell = 0U;
  cmd.close_object_store = 0U;
  cmd.stdout_to_stderr = 0U;
  cmd.clean_on_exit = 0U;
  cmd.wait_after_clean = 0U;
  cmd.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cmd.clean_on_exit_handler_cbdata = (void *)0;
  tmp___0 = get_super_prefix();
  if (tmp___0) {
    tmp = _((char const   *)"%s doesn\'t support --super-prefix");
    die((char const   *)tmp, *(argv___0 + 0));
  }
  if (use_pager == -1) {
    tmp___1 = is_builtin(*(argv___0 + 0));
    if (! tmp___1) {
      use_pager = check_pager_config(*(argv___0 + 0));
    }
  }
  commit_pager_choice();
  strvec_pushf(& cmd.args, (char const   *)"git-%s", *(argv___0 + 0));
  strvec_pushv(& cmd.args, argv___0 + 1);
  cmd.clean_on_exit = 1U;
  cmd.wait_after_clean = 1U;
  cmd.silent_exec_failure = 1U;
  cmd.trace2_child_class = (char const   *)"dashed";
  trace2_cmd_name_fl((char const   *)"git.c", 739, (char const   *)"_run_dashed_");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = trace_pass_fl(& trace_default_key);
    if (tmp___2) {
      trace_argv_printf_fl((char const   *)"git.c", 745, cmd.args.v, (char const   *)"trace: exec:");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  status = run_command(& cmd);
  if (status >= 0) {
    tmp___3 = trace2_cmd_exit_fl((char const   *)"git.c", 761, status);
    exit(tmp___3);
  } else {
    tmp___5 = __errno_location();
    if (*tmp___5 != 2) {
      tmp___4 = trace2_cmd_exit_fl((char const   *)"git.c", 763, 128);
      exit(tmp___4);
    }
  }
  return;
}
}
static int run_argv(int *argcp , char const   ***argv___0 )
{
  int done_alias ;
  struct string_list cmd_list___0 ;
  struct string_list_item *seen___0 ;
  struct strvec args___0 ;
  int i ;
  char const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int *tmp___2 ;
  struct cmd_struct *tmp___3 ;
  int i___0 ;
  struct strbuf sb___6 ;
  struct string_list_item *item___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;

  {
  done_alias = 0;
  cmd_list___0.items = (struct string_list_item *)0;
  cmd_list___0.nr = 0U;
  cmd_list___0.alloc = 0U;
  cmd_list___0.strdup_strings = 0U;
  cmd_list___0.cmp = (int (*)(char const   * , char const   * ))0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! done_alias) {
      handle_builtin(*argcp, *argv___0);
    } else {
      tmp___3 = get_builtin(*(*argv___0));
      if (tmp___3) {
        args___0.v = empty_strvec;
        args___0.nr = 0UL;
        args___0.alloc = 0UL;
        trace2_cmd_name_fl((char const   *)"git.c", 795, (char const   *)"_run_git_alias_");
        tmp = get_super_prefix();
        if (tmp) {
          die((char const   *)"%s doesn\'t support --super-prefix", *(*argv___0));
        }
        commit_pager_choice();
        strvec_push(& args___0, (char const   *)"git");
        i = 0;
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          if (! (i < *argcp)) {
            goto while_break___0;
          }
          strvec_push(& args___0, *(*argv___0 + i));
          i ++;
        }
        while_break___0: /* CIL Label */ ;
        }
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          tmp___0 = trace_pass_fl(& trace_default_key);
          if (tmp___0) {
            trace_argv_printf_fl((char const   *)"git.c", 806, args___0.v, (char const   *)"trace: exec:");
          }
          goto while_break___1;
        }
        while_break___1: /* CIL Label */ ;
        }
        i = run_command_v_opt_tr2(args___0.v, ((1 << 3) | (1 << 5)) | (1 << 6), (char const   *)"git_alias");
        if (i >= 0) {
          tmp___1 = trace2_cmd_exit_fl((char const   *)"git.c", 815, i);
          exit(tmp___1);
        } else {
          tmp___2 = __errno_location();
          if (*tmp___2 != 2) {
            tmp___1 = trace2_cmd_exit_fl((char const   *)"git.c", 815, i);
            exit(tmp___1);
          }
        }
        die((char const   *)"could not execute builtin %s", *(*argv___0));
      }
    }
    execv_dashed_external(*argv___0);
    seen___0 = unsorted_string_list_lookup(& cmd_list___0, *(*(argv___0 + 0)));
    if (seen___0) {
      sb___6.alloc = 0UL;
      sb___6.len = 0UL;
      sb___6.buf = strbuf_slopbuf;
      i___0 = 0;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (! ((unsigned int )i___0 < cmd_list___0.nr)) {
          goto while_break___2;
        }
        item___0 = cmd_list___0.items + i___0;
        strbuf_addf(& sb___6, (char const   *)"\n  %s", item___0->string);
        if ((unsigned long )item___0 == (unsigned long )seen___0) {
          strbuf_addstr(& sb___6, (char const   *)" <==");
        } else
        if ((unsigned int )i___0 == cmd_list___0.nr - 1U) {
          strbuf_addstr(& sb___6, (char const   *)" ==>");
        }
        i___0 ++;
      }
      while_break___2: /* CIL Label */ ;
      }
      tmp___4 = _((char const   *)"alias loop detected: expansion of \'%s\' does not terminate:%s");
      die((char const   *)tmp___4, (cmd_list___0.items + 0)->string, sb___6.buf);
    }
    string_list_append(& cmd_list___0, *(*(argv___0 + 0)));
    tmp___5 = handle_alias(argcp, argv___0);
    if (! tmp___5) {
      goto while_break;
    }
    done_alias = 1;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_clear(& cmd_list___0, 0);
  return (done_alias);
}
}
__inline static int write_cache_as_tree(struct object_id *oid , int flags___0 , char const   *prefix___1 )
{
  char *tmp ;
  int tmp___0 ;

  {
  tmp = get_index_file();
  tmp___0 = write_index_as_tree(oid, & the_index, (char const   *)tmp, flags___0,
                                prefix___1);
  return (tmp___0);
}
}
__inline static int update_main_cache_tree(int flags___0 )
{
  int tmp ;

  {
  if (! the_index.cache_tree) {
    the_index.cache_tree = cache_tree();
  }
  tmp = cache_tree_update(& the_index, flags___0);
  return (tmp);
}
}
static double const   __ac_HASH_UPPER___103  =    (double const   )0.77;
__inline static void kh_resize_oid_set___103(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___103(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___103 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___103 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___103(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___103(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___103(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___103(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___103(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___103(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___103 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___103 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___103(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___103(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___103(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___103(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___103(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___103(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___103 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___103 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___103(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___103(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___103(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___103(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *builtin_add_usage[2]  = {      (char const   *)"git add [<options>] [--] <pathspec>...",      (char const   *)((void *)0)};
static int patch_interactive  ;
static int add_interactive  ;
static int edit_interactive  ;
static int take_worktree_changes  ;
static int add_renormalize  ;
static int pathspec_file_nul  ;
static int include_sparse  ;
static char const   *pathspec_from_file  ;
static int legacy_stash_p  ;
static int chmod_pathspec(struct pathspec *pathspec___1 , char flip , int show_only___3 )
{
  int i ;
  int ret___67 ;
  struct cache_entry *ce ;
  int err___4 ;
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  ret___67 = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < the_index.cache_nr)) {
      goto while_break;
    }
    ce = *(the_index.cache + i);
    if (! include_sparse) {
      if (ce->ce_flags & (unsigned int )(1 << 30)) {
        goto __Cont;
      } else {
        tmp = path_in_sparse_checkout((char const   *)(ce->name), & the_index);
        if (! tmp) {
          goto __Cont;
        }
      }
    }
    if (pathspec___1) {
      tmp___0 = ce_path_match(& the_index, (struct cache_entry  const  *)ce, (struct pathspec  const  *)pathspec___1,
                              (char *)((void *)0));
      if (! tmp___0) {
        goto __Cont;
      }
    }
    if (! show_only___3) {
      err___4 = chmod_index_entry(& the_index, ce, flip);
    } else
    if ((ce->ce_mode & 61440U) == 32768U) {
      err___4 = 0;
    } else {
      err___4 = -1;
    }
    if (err___4 < 0) {
      tmp___1 = _((char const   *)"cannot chmod %cx \'%s\'");
      error((char const   *)tmp___1, (int )flip, ce->name);
      ret___67 = const_error();
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static int fix_unmerged_status(struct diff_filepair *p___0 , struct update_callback_data *data )
{


  {
  if ((int )p___0->status != 85) {
    return ((int )p___0->status);
  }
  if (! (data->flags & 8)) {
    if (! (p___0->two)->mode) {
      return ('D');
    } else {
      return ('M');
    }
  } else {
    return ('M');
  }
}
}
static void update_callback(struct diff_queue_struct *q , struct diff_options *opt___0 ,
                            void *cbdata )
{
  int i ;
  struct update_callback_data *data ;
  struct diff_filepair *p___0 ;
  char const   *path___6 ;
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  data = (struct update_callback_data *)cbdata;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break;
    }
    p___0 = *(q->queue + i);
    path___6 = (char const   *)(p___0->one)->path;
    if (! include_sparse) {
      tmp = path_in_sparse_checkout(path___6, & the_index);
      if (! tmp) {
        goto __Cont;
      }
    }
    tmp___0 = fix_unmerged_status(p___0, data);
    {
    if (tmp___0 == 84) {
      goto case_84;
    }
    if (tmp___0 == 77) {
      goto case_84;
    }
    if (tmp___0 == 68) {
      goto case_68;
    }
    goto switch_default;
    switch_default: /* CIL Label */
    tmp___1 = _((char const   *)"unexpected diff status %c");
    die((char const   *)tmp___1, (int )p___0->status);
    case_84: /* CIL Label */
    case_77: /* CIL Label */
    tmp___3 = add_file_to_index(& the_index, path___6, data->flags);
    if (tmp___3) {
      if (! (data->flags & 4)) {
        tmp___2 = _((char const   *)"updating files failed");
        die((char const   *)tmp___2);
      }
      (data->add_errors) ++;
    }
    goto switch_break;
    case_68: /* CIL Label */
    if (data->flags & 8) {
      goto switch_break;
    }
    if (! (data->flags & 2)) {
      remove_file_from_index(& the_index, path___6);
    }
    if (data->flags & 3) {
      tmp___4 = _((char const   *)"remove \'%s\'\n");
      printf((char const   *)tmp___4, path___6);
    }
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int add_files_to_cache(char const   *prefix___1 , struct pathspec  const  *pathspec___1 ,
                       int flags___0 )
{
  struct update_callback_data data ;
  struct rev_info rev ;

  {
  memset((void *)(& data), 0, sizeof(data));
  data.flags = flags___0;
  repo_init_revisions(the_repository, & rev, prefix___1);
  setup_revisions(0, (char const   **)((void *)0), & rev, (struct setup_revision_opt *)((void *)0));
  if (pathspec___1) {
    copy_pathspec(& rev.prune_data, pathspec___1);
  }
  rev.diffopt.output_format = 0x1000;
  rev.diffopt.format_callback = & update_callback;
  rev.diffopt.format_callback_data = (void *)(& data);
  rev.diffopt.flags.override_submodule_config = 1U;
  rev.max_count = 0;
  run_diff_files(& rev, 2U);
  clear_pathspec(& rev.prune_data);
  return (! (! data.add_errors));
}
}
static int renormalize_tracked_files(struct pathspec  const  *pathspec___1 , int flags___0 )
{
  int i ;
  int retval ;
  struct cache_entry *ce ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  retval = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < the_index.cache_nr)) {
      goto while_break;
    }
    ce = *(the_index.cache + i);
    if (! include_sparse) {
      if (ce->ce_flags & (unsigned int )(1 << 30)) {
        goto __Cont;
      } else {
        tmp = path_in_sparse_checkout((char const   *)(ce->name), & the_index);
        if (! tmp) {
          goto __Cont;
        }
      }
    }
    if ((12288U & ce->ce_flags) >> 12) {
      goto __Cont;
    }
    if (! ((ce->ce_mode & 61440U) == 32768U)) {
      if (! ((ce->ce_mode & 61440U) == 40960U)) {
        goto __Cont;
      }
    }
    if (pathspec___1) {
      tmp___0 = ce_path_match(& the_index, (struct cache_entry  const  *)ce, pathspec___1,
                              (char *)((void *)0));
      if (! tmp___0) {
        goto __Cont;
      }
    }
    tmp___1 = add_file_to_index(& the_index, (char const   *)(ce->name), flags___0 | 64);
    retval |= tmp___1;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (retval);
}
}
static char *prune_directory(struct dir_struct *dir , struct pathspec *pathspec___1 ,
                             int prefix___1 )
{
  char *seen___0 ;
  int i ;
  struct dir_entry **src ;
  struct dir_entry **dst ;
  void *tmp ;
  struct dir_entry *entry ;
  struct dir_entry **tmp___0 ;
  struct dir_entry **tmp___1 ;
  int tmp___2 ;

  {
  tmp = xcalloc((size_t )pathspec___1->nr, (size_t )1);
  seen___0 = (char *)tmp;
  dst = dir->entries;
  src = dst;
  i = dir->nr;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    i --;
    if (! (i >= 0)) {
      goto while_break;
    }
    tmp___0 = src;
    src ++;
    entry = *tmp___0;
    tmp___2 = dir_path_match(& the_index, (struct dir_entry  const  *)entry, (struct pathspec  const  *)pathspec___1,
                             prefix___1, seen___0);
    if (tmp___2) {
      tmp___1 = dst;
      dst ++;
      *tmp___1 = entry;
    }
  }
  while_break: /* CIL Label */ ;
  }
  dir->nr = (int )(dst - dir->entries);
  add_pathspec_matches_against_index((struct pathspec  const  *)pathspec___1, & the_index,
                                     seen___0, (enum ps_skip_worktree_action )1);
  return (seen___0);
}
}
static int refresh(int verbose___15 , struct pathspec  const  *pathspec___1 )
{
  char *seen___0 ;
  int i ;
  int ret___67 ;
  char *skip_worktree_seen ;
  struct string_list only_match_skip_worktree ;
  int flags___0 ;
  int tmp ;
  void *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const   *path___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  ret___67 = 0;
  skip_worktree_seen = (char *)((void *)0);
  only_match_skip_worktree.items = (struct string_list_item *)0;
  only_match_skip_worktree.nr = 0U;
  only_match_skip_worktree.alloc = 0U;
  only_match_skip_worktree.strdup_strings = 0U;
  only_match_skip_worktree.cmp = (int (*)(char const   * , char const   * ))0;
  if (verbose___15) {
    tmp = 1 << 5;
  } else {
    tmp = 1 << 2;
  }
  flags___0 = (1 << 7) | tmp;
  tmp___0 = xcalloc((size_t )pathspec___1->nr, (size_t )1);
  seen___0 = (char *)tmp___0;
  tmp___1 = _((char const   *)"Unstaged changes after refreshing the index:");
  refresh_index(& the_index, (unsigned int )flags___0, pathspec___1, seen___0, (char const   *)tmp___1);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (int )pathspec___1->nr)) {
      goto while_break;
    }
    if (! *(seen___0 + i)) {
      path___6 = (char const   *)(pathspec___1->items + i)->original;
      tmp___3 = matches_skip_worktree(pathspec___1, i, & skip_worktree_seen);
      if (tmp___3) {
        string_list_append(& only_match_skip_worktree, (char const   *)(pathspec___1->items + i)->original);
      } else {
        tmp___4 = path_in_sparse_checkout(path___6, & the_index);
        if (tmp___4) {
          tmp___2 = _((char const   *)"pathspec \'%s\' did not match any files");
          die((char const   *)tmp___2, (pathspec___1->items + i)->original);
        } else {
          string_list_append(& only_match_skip_worktree, (char const   *)(pathspec___1->items + i)->original);
        }
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (only_match_skip_worktree.nr) {
    advise_on_updating_sparse_paths(& only_match_skip_worktree);
    ret___67 = 1;
  }
  free((void *)seen___0);
  free((void *)skip_worktree_seen);
  string_list_clear(& only_match_skip_worktree, 0);
  return (ret___67);
}
}
int run_add_interactive(char const   *revision , char const   *patch_mode , struct pathspec  const  *pathspec___1 )
{
  int status ;
  int i ;
  struct strvec argv___0 ;
  int use_builtin_add_i ;
  int tmp ;
  int experimental ;
  int tmp___0 ;
  int tmp___1 ;
  enum add_p_mode mode___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  argv___0.v = empty_strvec;
  argv___0.nr = 0UL;
  argv___0.alloc = 0UL;
  tmp = git_env_bool((char const   *)"GIT_TEST_ADD_I_USE_BUILTIN", -1);
  use_builtin_add_i = tmp;
  if (use_builtin_add_i < 0) {
    tmp___1 = git_config_get_bool((char const   *)"add.interactive.usebuiltin", & use_builtin_add_i);
    if (tmp___1) {
      tmp___0 = git_config_get_bool((char const   *)"feature.experimental", & experimental);
      if (! tmp___0) {
        if (experimental) {
          use_builtin_add_i = 1;
        }
      }
    }
  }
  if (use_builtin_add_i == 1) {
    if (! patch_mode) {
      tmp___2 = run_add_i(the_repository, pathspec___1);
      if (tmp___2) {
        tmp___3 = 1;
      } else {
        tmp___3 = 0;
      }
      return (tmp___3);
    }
    tmp___8 = strcmp(patch_mode, (char const   *)"--patch");
    if (tmp___8) {
      tmp___7 = strcmp(patch_mode, (char const   *)"--patch=stash");
      if (tmp___7) {
        tmp___6 = strcmp(patch_mode, (char const   *)"--patch=reset");
        if (tmp___6) {
          tmp___5 = strcmp(patch_mode, (char const   *)"--patch=checkout");
          if (tmp___5) {
            tmp___4 = strcmp(patch_mode, (char const   *)"--patch=worktree");
            if (tmp___4) {
              die((char const   *)"\'%s\' not supported", patch_mode);
            } else {
              mode___1 = (enum add_p_mode )4;
            }
          } else {
            mode___1 = (enum add_p_mode )3;
          }
        } else {
          mode___1 = (enum add_p_mode )2;
        }
      } else {
        mode___1 = (enum add_p_mode )1;
      }
    } else {
      mode___1 = (enum add_p_mode )0;
    }
    tmp___9 = run_add_p(the_repository, mode___1, revision, pathspec___1);
    if (tmp___9) {
      tmp___10 = 1;
    } else {
      tmp___10 = 0;
    }
    return (tmp___10);
  }
  strvec_push(& argv___0, (char const   *)"add--interactive");
  if (patch_mode) {
    strvec_push(& argv___0, patch_mode);
  }
  if (revision) {
    strvec_push(& argv___0, revision);
  }
  strvec_push(& argv___0, (char const   *)"--");
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (int )pathspec___1->nr)) {
      goto while_break;
    }
    strvec_push(& argv___0, (char const   *)(pathspec___1->items + i)->original);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  status = run_command_v_opt(argv___0.v, 1 << 1);
  strvec_clear(& argv___0);
  return (status);
}
}
int interactive_add(char const   **argv___0 , char const   *prefix___1 , int patch )
{
  struct pathspec pathspec___1 ;
  char *tmp ;
  int tmp___0 ;

  {
  parse_pathspec(& pathspec___1, 0U, (unsigned int )(((1 << 1) | (1 << 3)) | (1 << 4)),
                 prefix___1, argv___0);
  if (patch) {
    tmp = "--patch";
  } else {
    tmp = (char *)((void *)0);
  }
  tmp___0 = run_add_interactive((char const   *)((void *)0), (char const   *)tmp,
                                (struct pathspec  const  *)(& pathspec___1));
  return (tmp___0);
}
}
static int edit_patch(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char *file___0 ;
  char *tmp ;
  struct child_process child ;
  struct rev_info rev ;
  int out ;
  struct stat st ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;

  {
  tmp = git_pathdup((char const   *)"ADD_EDIT.patch");
  file___0 = tmp;
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  git_config(& git_diff_basic_config, (void *)0);
  tmp___1 = repo_read_index(the_repository);
  if (tmp___1 < 0) {
    tmp___0 = _((char const   *)"Could not read the index");
    die((char const   *)tmp___0);
  }
  repo_init_revisions(the_repository, & rev, prefix___1);
  rev.diffopt.context = 7;
  argc = setup_revisions(argc, argv___0, & rev, (struct setup_revision_opt *)((void *)0));
  rev.diffopt.output_format = 0x0010;
  rev.diffopt.use_color = 0;
  rev.diffopt.flags.ignore_dirty_submodules = 1U;
  out = xopen((char const   *)file___0, 577, 0666);
  rev.diffopt.file = xfdopen(out, (char const   *)"w");
  rev.diffopt.close_file = 1;
  tmp___3 = run_diff_files(& rev, 0U);
  if (tmp___3) {
    tmp___2 = _((char const   *)"Could not write patch");
    die((char const   *)tmp___2);
  }
  tmp___5 = launch_editor((char const   *)file___0, (struct strbuf *)((void *)0),
                          (char const   **)((void *)0));
  if (tmp___5) {
    tmp___4 = _((char const   *)"editing patch failed");
    die((char const   *)tmp___4);
  }
  tmp___7 = stat((char const   *)file___0, & st);
  if (tmp___7) {
    tmp___6 = _((char const   *)"Could not stat \'%s\'");
    die_errno((char const   *)tmp___6, file___0);
  }
  if (! st.st_size) {
    tmp___8 = _((char const   *)"Empty patch. Aborted.");
    die((char const   *)tmp___8);
  }
  child.git_cmd = 1U;
  strvec_pushl(& child.args, "apply", "--recount", "--cached", file___0, (void *)0);
  tmp___10 = run_command(& child);
  if (tmp___10) {
    tmp___9 = _((char const   *)"Could not apply \'%s\'");
    die((char const   *)tmp___9, file___0);
  }
  unlink((char const   *)file___0);
  free((void *)file___0);
  return (0);
}
}
static char const   ignore_error[66]  =
  {      (char const   )'T',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'f',      (char const   )'o',      (char const   )'l',      (char const   )'l',
        (char const   )'o',      (char const   )'w',      (char const   )'i',      (char const   )'n',
        (char const   )'g',      (char const   )' ',      (char const   )'p',      (char const   )'a',
        (char const   )'t',      (char const   )'h',      (char const   )'s',      (char const   )' ',
        (char const   )'a',      (char const   )'r',      (char const   )'e',      (char const   )' ',
        (char const   )'i',      (char const   )'g',      (char const   )'n',      (char const   )'o',
        (char const   )'r',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'b',      (char const   )'y',      (char const   )' ',      (char const   )'o',
        (char const   )'n',      (char const   )'e',      (char const   )' ',      (char const   )'o',
        (char const   )'f',      (char const   )' ',      (char const   )'y',      (char const   )'o',
        (char const   )'u',      (char const   )'r',      (char const   )' ',      (char const   )'.',
        (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )'i',
        (char const   )'g',      (char const   )'n',      (char const   )'o',      (char const   )'r',
        (char const   )'e',      (char const   )' ',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )'s',      (char const   )':',
        (char const   )'\n',      (char const   )'\000'};
static int verbose___0  ;
static int show_only  ;
static int ignored_too  ;
static int refresh_only  ;
static int ignore_add_errors  ;
static int intent_to_add  ;
static int ignore_missing  ;
static int warn_on_embedded_repo  =    1;
static int addremove  =    1;
static int addremove_explicit  =    -1;
static char *chmod_arg  ;
static int ignore_removal_cb(struct option  const  *opt___0 , char const   *arg ,
                             int unset )
{


  {
  if (! unset) {
    *((int *)opt___0->value) = 0;
  } else {
    *((int *)opt___0->value) = 1;
  }
  return (0);
}
}
static struct option builtin_add_options[22]  =
  {      {(enum parse_opt_type )8, 'n', (char const   *)"dry-run", (void *)(& show_only),
      (char const   *)((void *)0), (char const   *)"dry run", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )7, 'v', (char const   *)"verbose", (void *)(& verbose___0),
      (char const   *)((void *)0), (char const   *)"be verbose", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )1, 0, (char const   *)((void *)0), (void *)0, (char const   *)((void *)0),
      (char const   *)"", 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'i', (char const   *)"interactive", (void *)(& add_interactive),
      (char const   *)((void *)0), (char const   *)"interactive picking", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'p', (char const   *)"patch", (void *)(& patch_interactive),
      (char const   *)((void *)0), (char const   *)"select hunks interactively", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'e', (char const   *)"edit", (void *)(& edit_interactive),
      (char const   *)((void *)0), (char const   *)"edit current diff and apply",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )7, 'f', (char const   *)"force", (void *)(& ignored_too),
      (char const   *)((void *)0), (char const   *)"allow adding otherwise ignored files",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )8, 'u', (char const   *)"update", (void *)(& take_worktree_changes),
      (char const   *)((void *)0), (char const   *)"update tracked files", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"renormalize", (void *)(& add_renormalize),
      (char const   *)((void *)0), (char const   *)"renormalize EOL of tracked files (implies -u)",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'N', (char const   *)"intent-to-add", (void *)(& intent_to_add),
      (char const   *)((void *)0), (char const   *)"record only the fact that the path will be added later",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'A', (char const   *)"all", (void *)(& addremove_explicit),
      (char const   *)((void *)0), (char const   *)"add changes from all tracked and untracked files",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"ignore-removal", (void *)(& addremove_explicit),
      (char const   *)((void *)0), (char const   *)"ignore paths removed in the working tree (same as --no-all)",
      (enum parse_opt_option_flags )2, & ignore_removal_cb, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )8, 0, (char const   *)"refresh", (void *)(& refresh_only),
      (char const   *)((void *)0), (char const   *)"don\'t add, only refresh the index",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"ignore-errors", (void *)(& ignore_add_errors),
      (char const   *)((void *)0), (char const   *)"just skip files which cannot be added because of errors",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"ignore-missing", (void *)(& ignore_missing),
      (char const   *)((void *)0), (char const   *)"check if - even missing - files are ignored in dry run",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"sparse", (void *)(& include_sparse),
      (char const   *)((void *)0), (char const   *)"allow updating entries outside of the sparse-checkout cone",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 0, (char const   *)"chmod", (void *)(& chmod_arg),
      (char const   *)"(+|-)x", (char const   *)"override the executable bit of the listed files",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )8, 0, (char const   *)"warn-embedded-repo", (void *)(& warn_on_embedded_repo),
      (char const   *)((void *)0), (char const   *)"warn when adding an embedded repository",
      (enum parse_opt_option_flags )10, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"legacy-stash-p", (void *)(& legacy_stash_p),
      (char const   *)((void *)0), (char const   *)"backend for `git stash -p`", (enum parse_opt_option_flags )10,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )14, 0, (char const   *)"pathspec-from-file", (void *)(& pathspec_from_file),
      (char const   *)"file", (char const   *)"read pathspec from file", 0U, (parse_opt_cb *)0,
      0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"pathspec-file-nul", (void *)(& pathspec_file_nul),
      (char const   *)((void *)0), (char const   *)"with --pathspec-from-file, pathspec elements are separated with NUL character",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static int add_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = strcmp(var, (char const   *)"add.ignoreerrors");
  if (tmp) {
    tmp___0 = strcmp(var, (char const   *)"add.ignore-errors");
    if (! tmp___0) {
      ignore_add_errors = git_config_bool(var, value);
      return (0);
    }
  } else {
    ignore_add_errors = git_config_bool(var, value);
    return (0);
  }
  tmp___1 = git_default_config(var, value, cb);
  return (tmp___1);
}
}
static char const   embedded_advice[403]  =
  {      (char const   )'Y',      (char const   )'o',      (char const   )'u',      (char const   )'\'',
        (char const   )'v',      (char const   )'e',      (char const   )' ',      (char const   )'a',
        (char const   )'d',      (char const   )'d',      (char const   )'e',      (char const   )'d',
        (char const   )' ',      (char const   )'a',      (char const   )'n',      (char const   )'o',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )'r',
        (char const   )' ',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'p',
        (char const   )'o',      (char const   )'s',      (char const   )'i',      (char const   )'t',
        (char const   )'o',      (char const   )'r',      (char const   )'y',      (char const   )' ',
        (char const   )'i',      (char const   )'n',      (char const   )'s',      (char const   )'i',
        (char const   )'d',      (char const   )'e',      (char const   )' ',      (char const   )'y',
        (char const   )'o',      (char const   )'u',      (char const   )'r',      (char const   )' ',
        (char const   )'c',      (char const   )'u',      (char const   )'r',      (char const   )'r',
        (char const   )'e',      (char const   )'n',      (char const   )'t',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'p',      (char const   )'o',
        (char const   )'s',      (char const   )'i',      (char const   )'t',      (char const   )'o',
        (char const   )'r',      (char const   )'y',      (char const   )'.',      (char const   )'\n',
        (char const   )'C',      (char const   )'l',      (char const   )'o',      (char const   )'n',
        (char const   )'e',      (char const   )'s',      (char const   )' ',      (char const   )'o',
        (char const   )'f',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )' ',      (char const   )'o',      (char const   )'u',
        (char const   )'t',      (char const   )'e',      (char const   )'r',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'p',      (char const   )'o',
        (char const   )'s',      (char const   )'i',      (char const   )'t',      (char const   )'o',
        (char const   )'r',      (char const   )'y',      (char const   )' ',      (char const   )'w',
        (char const   )'i',      (char const   )'l',      (char const   )'l',      (char const   )' ',
        (char const   )'n',      (char const   )'o',      (char const   )'t',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'n',      (char const   )'t',
        (char const   )'a',      (char const   )'i',      (char const   )'n',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'n',      (char const   )'t',
        (char const   )'e',      (char const   )'n',      (char const   )'t',      (char const   )'s',
        (char const   )' ',      (char const   )'o',      (char const   )'f',      (char const   )'\n',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'e',      (char const   )'m',      (char const   )'b',      (char const   )'e',
        (char const   )'d',      (char const   )'d',      (char const   )'e',      (char const   )'d',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'p',
        (char const   )'o',      (char const   )'s',      (char const   )'i',      (char const   )'t',
        (char const   )'o',      (char const   )'r',      (char const   )'y',      (char const   )' ',
        (char const   )'a',      (char const   )'n',      (char const   )'d',      (char const   )' ',
        (char const   )'w',      (char const   )'i',      (char const   )'l',      (char const   )'l',
        (char const   )' ',      (char const   )'n',      (char const   )'o',      (char const   )'t',
        (char const   )' ',      (char const   )'k',      (char const   )'n',      (char const   )'o',
        (char const   )'w',      (char const   )' ',      (char const   )'h',      (char const   )'o',
        (char const   )'w',      (char const   )' ',      (char const   )'t',      (char const   )'o',
        (char const   )' ',      (char const   )'o',      (char const   )'b',      (char const   )'t',
        (char const   )'a',      (char const   )'i',      (char const   )'n',      (char const   )' ',
        (char const   )'i',      (char const   )'t',      (char const   )'.',      (char const   )'\n',
        (char const   )'I',      (char const   )'f',      (char const   )' ',      (char const   )'y',
        (char const   )'o',      (char const   )'u',      (char const   )' ',      (char const   )'m',
        (char const   )'e',      (char const   )'a',      (char const   )'n',      (char const   )'t',
        (char const   )' ',      (char const   )'t',      (char const   )'o',      (char const   )' ',
        (char const   )'a',      (char const   )'d',      (char const   )'d',      (char const   )' ',
        (char const   )'a',      (char const   )' ',      (char const   )'s',      (char const   )'u',
        (char const   )'b',      (char const   )'m',      (char const   )'o',      (char const   )'d',
        (char const   )'u',      (char const   )'l',      (char const   )'e',      (char const   )',',
        (char const   )' ',      (char const   )'u',      (char const   )'s',      (char const   )'e',
        (char const   )':',      (char const   )'\n',      (char const   )'\n',      (char const   )'\t',
        (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'s',      (char const   )'u',      (char const   )'b',      (char const   )'m',
        (char const   )'o',      (char const   )'d',      (char const   )'u',      (char const   )'l',
        (char const   )'e',      (char const   )' ',      (char const   )'a',      (char const   )'d',
        (char const   )'d',      (char const   )' ',      (char const   )'<',      (char const   )'u',
        (char const   )'r',      (char const   )'l',      (char const   )'>',      (char const   )' ',
        (char const   )'%',      (char const   )'s',      (char const   )'\n',      (char const   )'\n',
        (char const   )'I',      (char const   )'f',      (char const   )' ',      (char const   )'y',
        (char const   )'o',      (char const   )'u',      (char const   )' ',      (char const   )'a',
        (char const   )'d',      (char const   )'d',      (char const   )'e',      (char const   )'d',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'i',
        (char const   )'s',      (char const   )' ',      (char const   )'p',      (char const   )'a',
        (char const   )'t',      (char const   )'h',      (char const   )' ',      (char const   )'b',
        (char const   )'y',      (char const   )' ',      (char const   )'m',      (char const   )'i',
        (char const   )'s',      (char const   )'t',      (char const   )'a',      (char const   )'k',
        (char const   )'e',      (char const   )',',      (char const   )' ',      (char const   )'y',
        (char const   )'o',      (char const   )'u',      (char const   )' ',      (char const   )'c',
        (char const   )'a',      (char const   )'n',      (char const   )' ',      (char const   )'r',
        (char const   )'e',      (char const   )'m',      (char const   )'o',      (char const   )'v',
        (char const   )'e',      (char const   )' ',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'f',      (char const   )'r',      (char const   )'o',
        (char const   )'m',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )'\n',      (char const   )'i',      (char const   )'n',
        (char const   )'d',      (char const   )'e',      (char const   )'x',      (char const   )' ',
        (char const   )'w',      (char const   )'i',      (char const   )'t',      (char const   )'h',
        (char const   )':',      (char const   )'\n',      (char const   )'\n',      (char const   )'\t',
        (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'r',      (char const   )'m',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'c',      (char const   )'a',      (char const   )'c',
        (char const   )'h',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'%',      (char const   )'s',      (char const   )'\n',      (char const   )'\n',
        (char const   )'S',      (char const   )'e',      (char const   )'e',      (char const   )' ',
        (char const   )'\"',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'h',      (char const   )'e',      (char const   )'l',
        (char const   )'p',      (char const   )' ',      (char const   )'s',      (char const   )'u',
        (char const   )'b',      (char const   )'m',      (char const   )'o',      (char const   )'d',
        (char const   )'u',      (char const   )'l',      (char const   )'e',      (char const   )'\"',
        (char const   )' ',      (char const   )'f',      (char const   )'o',      (char const   )'r',
        (char const   )' ',      (char const   )'m',      (char const   )'o',      (char const   )'r',
        (char const   )'e',      (char const   )' ',      (char const   )'i',      (char const   )'n',
        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )'m',
        (char const   )'a',      (char const   )'t',      (char const   )'i',      (char const   )'o',
        (char const   )'n',      (char const   )'.',      (char const   )'\000'};
static void check_embedded_repo(char const   *path___6 ) ;
static int adviced_on_embedded_repo  =    0;
static void check_embedded_repo(char const   *path___6 )
{
  struct strbuf name___0 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  name___0.alloc = 0UL;
  name___0.len = 0UL;
  name___0.buf = strbuf_slopbuf;
  if (! warn_on_embedded_repo) {
    return;
  }
  tmp = ends_with(path___6, (char const   *)"/");
  if (! tmp) {
    return;
  }
  strbuf_addstr(& name___0, path___6);
  strbuf_strip_suffix___33(& name___0, (char const   *)"/");
  tmp___0 = _((char const   *)"adding embedded git repository: %s");
  warning((char const   *)tmp___0, name___0.buf);
  if (! adviced_on_embedded_repo) {
    tmp___1 = advice_enabled((enum advice_type )0);
    if (tmp___1) {
      advise(embedded_advice, name___0.buf, name___0.buf);
      adviced_on_embedded_repo = 1;
    }
  }
  strbuf_release(& name___0);
  return;
}
}
static int add_files(struct dir_struct *dir , int flags___0 )
{
  int i ;
  int exit_status ;
  struct string_list matched_sparse_paths ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  exit_status = 0;
  matched_sparse_paths.items = (struct string_list_item *)0;
  matched_sparse_paths.nr = 0U;
  matched_sparse_paths.alloc = 0U;
  matched_sparse_paths.strdup_strings = 0U;
  matched_sparse_paths.cmp = (int (*)(char const   * , char const   * ))0;
  if (dir->ignored_nr) {
    tmp = _(ignore_error);
    fprintf(stderr, (char const   *)tmp);
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < dir->ignored_nr)) {
        goto while_break;
      }
      fprintf(stderr, (char const   *)"%s\n", (*(dir->ignored + i))->name);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    tmp___1 = advice_enabled((enum advice_type )2);
    if (tmp___1) {
      tmp___0 = _((char const   *)"Use -f if you really want to add them.\nTurn this message off by running\n\"git config advice.addIgnoredFile false\"");
      advise((char const   *)tmp___0);
    }
    exit_status = 1;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < dir->nr)) {
      goto while_break___0;
    }
    if (! include_sparse) {
      tmp___2 = path_in_sparse_checkout((char const   *)((*(dir->entries + i))->name),
                                        & the_index);
      if (! tmp___2) {
        string_list_append(& matched_sparse_paths, (char const   *)((*(dir->entries + i))->name));
        goto __Cont;
      }
    }
    tmp___4 = add_file_to_index(& the_index, (char const   *)((*(dir->entries + i))->name),
                                flags___0);
    if (tmp___4) {
      if (! ignore_add_errors) {
        tmp___3 = _((char const   *)"adding files failed");
        die((char const   *)tmp___3);
      }
      exit_status = 1;
    } else {
      check_embedded_repo((char const   *)((*(dir->entries + i))->name));
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (matched_sparse_paths.nr) {
    advise_on_updating_sparse_paths(& matched_sparse_paths);
    exit_status = 1;
  }
  string_list_clear(& matched_sparse_paths, 0);
  return (exit_status);
}
}
int cmd_add(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int exit_status ;
  struct pathspec pathspec___1 ;
  struct dir_struct dir ;
  int flags___0 ;
  int add_new_files ;
  int require_pathspec ;
  char *seen___0 ;
  struct lock_file lock_file___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  struct pathspec pathspec___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  char const __attribute__((__format_arg__(1)))  *tmp___21 ;
  int tmp___22 ;
  int baselen ;
  int tmp___23 ;
  int i ;
  char *skip_worktree_seen ;
  struct string_list only_match_skip_worktree ;
  char const   *path___6 ;
  int tmp___24 ;
  int dtype ;
  int tmp___25 ;
  char const __attribute__((__format_arg__(1)))  *tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;
  int tmp___30 ;
  int tmp___31 ;
  char const __attribute__((__format_arg__(1)))  *tmp___32 ;
  int tmp___33 ;

  {
  exit_status = 0;
  dir.nr = 0;
  dir.alloc = 0;
  dir.ignored_nr = 0;
  dir.ignored_alloc = 0;
  dir.flags = 0U;
  dir.entries = (struct dir_entry **)0;
  dir.ignored = (struct dir_entry **)0;
  dir.exclude_per_dir = (char const   *)0;
  dir.exclude_list_group[0].nr = 0;
  dir.exclude_list_group[0].alloc = 0;
  dir.exclude_list_group[0].pl = (struct pattern_list *)0;
  dir.exclude_list_group[1].nr = 0;
  dir.exclude_list_group[1].alloc = 0;
  dir.exclude_list_group[1].pl = (struct pattern_list *)0;
  dir.exclude_list_group[2].nr = 0;
  dir.exclude_list_group[2].alloc = 0;
  dir.exclude_list_group[2].pl = (struct pattern_list *)0;
  dir.exclude_stack = (struct exclude_stack *)0;
  dir.pattern = (struct path_pattern *)0;
  dir.basebuf.alloc = 0UL;
  dir.basebuf.len = 0UL;
  dir.basebuf.buf = (char *)0;
  dir.untracked = (struct untracked_cache *)0;
  dir.ss_info_exclude.stat.sd_ctime.sec = 0U;
  dir.ss_info_exclude.stat.sd_ctime.nsec = 0U;
  dir.ss_info_exclude.stat.sd_mtime.sec = 0U;
  dir.ss_info_exclude.stat.sd_mtime.nsec = 0U;
  dir.ss_info_exclude.stat.sd_dev = 0U;
  dir.ss_info_exclude.stat.sd_ino = 0U;
  dir.ss_info_exclude.stat.sd_uid = 0U;
  dir.ss_info_exclude.stat.sd_gid = 0U;
  dir.ss_info_exclude.stat.sd_size = 0U;
  dir.ss_info_exclude.oid.hash[0] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[1] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[2] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[3] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[4] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[5] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[6] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[7] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[8] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[9] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[10] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[11] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[12] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[13] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[14] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[15] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[16] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[17] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[18] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[19] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[20] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[21] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[22] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[23] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[24] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[25] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[26] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[27] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[28] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[29] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[30] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[31] = (unsigned char)0;
  dir.ss_info_exclude.oid.algo = 0;
  dir.ss_info_exclude.valid = 0;
  dir.ss_excludes_file.stat.sd_ctime.sec = 0U;
  dir.ss_excludes_file.stat.sd_ctime.nsec = 0U;
  dir.ss_excludes_file.stat.sd_mtime.sec = 0U;
  dir.ss_excludes_file.stat.sd_mtime.nsec = 0U;
  dir.ss_excludes_file.stat.sd_dev = 0U;
  dir.ss_excludes_file.stat.sd_ino = 0U;
  dir.ss_excludes_file.stat.sd_uid = 0U;
  dir.ss_excludes_file.stat.sd_gid = 0U;
  dir.ss_excludes_file.stat.sd_size = 0U;
  dir.ss_excludes_file.oid.hash[0] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[1] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[2] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[3] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[4] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[5] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[6] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[7] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[8] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[9] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[10] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[11] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[12] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[13] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[14] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[15] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[16] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[17] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[18] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[19] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[20] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[21] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[22] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[23] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[24] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[25] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[26] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[27] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[28] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[29] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[30] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[31] = (unsigned char)0;
  dir.ss_excludes_file.oid.algo = 0;
  dir.ss_excludes_file.valid = 0;
  dir.unmanaged_exclude_files = 0U;
  dir.visited_paths = 0U;
  dir.visited_directories = 0U;
  seen___0 = (char *)((void *)0);
  lock_file___0.tempfile = (struct tempfile *)0;
  git_config(& add_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(builtin_add_options),
                       builtin_add_usage, (enum parse_opt_flags )4);
  if (patch_interactive) {
    add_interactive = 1;
  }
  if (add_interactive) {
    if (show_only) {
      tmp = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp, "--dry-run", "--interactive/--patch");
    }
    if (pathspec_from_file) {
      tmp___0 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___0, "--pathspec-from-file", "--interactive/--patch");
    }
    tmp___1 = interactive_add(argv___0 + 1, prefix___1, patch_interactive);
    tmp___2 = trace2_cmd_exit_fl((char const   *)"builtin/add.c", 513, tmp___1);
    exit(tmp___2);
  }
  if (legacy_stash_p) {
    parse_pathspec(& pathspec___2, 0U, (unsigned int )(((1 << 1) | (1 << 3)) | (1 << 4)),
                   prefix___1, argv___0);
    tmp___3 = run_add_interactive((char const   *)((void *)0), (char const   *)"--patch=stash",
                                  (struct pathspec  const  *)(& pathspec___2));
    return (tmp___3);
  }
  if (edit_interactive) {
    if (pathspec_from_file) {
      tmp___4 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___4, "--pathspec-from-file", "--edit");
    }
    tmp___5 = edit_patch(argc, argv___0, prefix___1);
    return (tmp___5);
  }
  argc --;
  argv___0 ++;
  if (0 <= addremove_explicit) {
    addremove = addremove_explicit;
  } else
  if (take_worktree_changes) {
    addremove = 0;
  }
  if (addremove) {
    if (take_worktree_changes) {
      tmp___6 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___6, "-A", "-u");
    }
  }
  if (! show_only) {
    if (ignore_missing) {
      tmp___7 = _((char const   *)"the option \'%s\' requires \'%s\'");
      die((char const   *)tmp___7, "--ignore-missing", "--dry-run");
    }
  }
  if (chmod_arg) {
    if ((int )*(chmod_arg + 0) != 45) {
      if ((int )*(chmod_arg + 0) != 43) {
        tmp___8 = _((char const   *)"--chmod param \'%s\' must be either -x or +x");
        die((char const   *)tmp___8, chmod_arg);
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if ((int )*(chmod_arg + 1) != 120) {
      tmp___8 = _((char const   *)"--chmod param \'%s\' must be either -x or +x");
      die((char const   *)tmp___8, chmod_arg);
    } else
    if (*(chmod_arg + 2)) {
      tmp___8 = _((char const   *)"--chmod param \'%s\' must be either -x or +x");
      die((char const   *)tmp___8, chmod_arg);
    }
  }
  if (! take_worktree_changes) {
    if (! refresh_only) {
      if (! add_renormalize) {
        tmp___9 = 1;
      } else {
        tmp___9 = 0;
      }
    } else {
      tmp___9 = 0;
    }
  } else {
    tmp___9 = 0;
  }
  add_new_files = tmp___9;
  if (take_worktree_changes) {
    tmp___10 = 0;
  } else
  if (0 < addremove_explicit) {
    tmp___10 = 0;
  } else {
    tmp___10 = 1;
  }
  require_pathspec = tmp___10;
  prepare_repo_settings(the_repository);
  the_repository->settings.command_requires_full_index = 0;
  repo_hold_locked_index(the_repository, & lock_file___0, 1);
  parse_pathspec(& pathspec___1, (unsigned int )(1 << 6), (unsigned int )((1 << 1) | (1 << 3)),
                 prefix___1, argv___0);
  if (pathspec_from_file) {
    if (pathspec___1.nr) {
      tmp___11 = _((char const   *)"\'%s\' and pathspec arguments cannot be used together");
      die((char const   *)tmp___11, "--pathspec-from-file");
    }
    parse_pathspec_file(& pathspec___1, (unsigned int )(1 << 6), (unsigned int )((1 << 1) | (1 << 3)),
                        prefix___1, pathspec_from_file, pathspec_file_nul);
  } else
  if (pathspec_file_nul) {
    tmp___12 = _((char const   *)"the option \'%s\' requires \'%s\'");
    die((char const   *)tmp___12, "--pathspec-file-nul", "--pathspec-from-file");
  }
  if (require_pathspec) {
    if (pathspec___1.nr == 0) {
      tmp___13 = _((char const   *)"Nothing specified, nothing added.\n");
      fprintf(stderr, (char const   *)tmp___13);
      tmp___15 = advice_enabled((enum advice_type )1);
      if (tmp___15) {
        tmp___14 = _((char const   *)"Maybe you wanted to say \'git add .\'?\nTurn this message off by running\n\"git config advice.addEmptyPathspec false\"");
        advise((char const   *)tmp___14);
      }
      return (0);
    }
  }
  if (! take_worktree_changes) {
    if (addremove_explicit < 0) {
      if (pathspec___1.nr) {
        addremove = 1;
      }
    }
  }
  if (verbose___0) {
    tmp___16 = 1;
  } else {
    tmp___16 = 0;
  }
  if (show_only) {
    tmp___17 = 2;
  } else {
    tmp___17 = 0;
  }
  if (intent_to_add) {
    tmp___18 = 16;
  } else {
    tmp___18 = 0;
  }
  if (ignore_add_errors) {
    tmp___19 = 4;
  } else {
    tmp___19 = 0;
  }
  if (addremove) {
    tmp___20 = 0;
  } else
  if (take_worktree_changes) {
    tmp___20 = 0;
  } else {
    tmp___20 = 8;
  }
  flags___0 = (((tmp___16 | tmp___17) | tmp___18) | tmp___19) | tmp___20;
  tmp___22 = repo_read_index_preload(the_repository, (struct pathspec  const  *)(& pathspec___1),
                                     0U);
  if (tmp___22 < 0) {
    tmp___21 = _((char const   *)"index file corrupt");
    die((char const   *)tmp___21);
  }
  die_in_unpopulated_submodule(& the_index, prefix___1);
  die_path_inside_submodule(& the_index, (struct pathspec  const  *)(& pathspec___1));
  if (add_new_files) {
    if (! ignored_too) {
      dir.flags = (enum __anonenum_flags_165983474 )((unsigned int )dir.flags | 16U);
      setup_standard_excludes(& dir);
    }
    baselen = fill_directory(& dir, & the_index, (struct pathspec  const  *)(& pathspec___1));
    if (pathspec___1.nr) {
      seen___0 = prune_directory(& dir, & pathspec___1, baselen);
    }
  }
  if (refresh_only) {
    tmp___23 = refresh(verbose___0, (struct pathspec  const  *)(& pathspec___1));
    exit_status |= tmp___23;
    goto finish;
  }
  if (pathspec___1.nr) {
    skip_worktree_seen = (char *)((void *)0);
    only_match_skip_worktree.items = (struct string_list_item *)0;
    only_match_skip_worktree.nr = 0U;
    only_match_skip_worktree.alloc = 0U;
    only_match_skip_worktree.strdup_strings = 0U;
    only_match_skip_worktree.cmp = (int (*)(char const   * , char const   * ))0;
    if (! seen___0) {
      seen___0 = find_pathspecs_matching_against_index((struct pathspec  const  *)(& pathspec___1),
                                                       & the_index, (enum ps_skip_worktree_action )1);
    }
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (pathspec___1.magic & (unsigned int )(~ ((((1 | (1 << 2)) | (1 << 3)) | (1 << 4)) | (1 << 5)))) {
        BUG_fl((char const   *)"builtin/add.c", 642, (char const   *)"unsupported magic %x",
               pathspec___1.magic & (unsigned int )(~ ((((1 | (1 << 2)) | (1 << 3)) | (1 << 4)) | (1 << 5))));
      }
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < pathspec___1.nr)) {
        goto while_break___0;
      }
      path___6 = (char const   *)(pathspec___1.items + i)->match;
      if ((pathspec___1.items + i)->magic & (unsigned int )(1 << 5)) {
        goto __Cont;
      }
      if (*(seen___0 + i)) {
        goto __Cont;
      }
      if (! include_sparse) {
        tmp___24 = matches_skip_worktree((struct pathspec  const  *)(& pathspec___1),
                                         i, & skip_worktree_seen);
        if (tmp___24) {
          string_list_append(& only_match_skip_worktree, (char const   *)(pathspec___1.items + i)->original);
          goto __Cont;
        }
      }
      if (! *(path___6 + 0)) {
        goto __Cont;
      }
      if ((pathspec___1.items + i)->magic & (unsigned int )((1 << 3) | (1 << 4))) {
        goto _L___0;
      } else {
        tmp___27 = file_exists(path___6);
        if (! tmp___27) {
          _L___0: /* CIL Label */
          if (ignore_missing) {
            dtype = 0;
            tmp___25 = is_excluded(& dir, & the_index, path___6, & dtype);
            if (tmp___25) {
              dir_add_ignored(& dir, & the_index, path___6, (pathspec___1.items + i)->len);
            }
          } else {
            tmp___26 = _((char const   *)"pathspec \'%s\' did not match any files");
            die((char const   *)tmp___26, (pathspec___1.items + i)->original);
          }
        }
      }
      __Cont: /* CIL Label */
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (only_match_skip_worktree.nr) {
      advise_on_updating_sparse_paths(& only_match_skip_worktree);
      exit_status = 1;
    }
    free((void *)seen___0);
    free((void *)skip_worktree_seen);
    string_list_clear(& only_match_skip_worktree, 0);
  }
  plug_bulk_checkin();
  if (add_renormalize) {
    tmp___28 = renormalize_tracked_files((struct pathspec  const  *)(& pathspec___1),
                                         flags___0);
    exit_status |= tmp___28;
  } else {
    tmp___29 = add_files_to_cache(prefix___1, (struct pathspec  const  *)(& pathspec___1),
                                  flags___0);
    exit_status |= tmp___29;
  }
  if (add_new_files) {
    tmp___30 = add_files(& dir, flags___0);
    exit_status |= tmp___30;
  }
  if (chmod_arg) {
    if (pathspec___1.nr) {
      tmp___31 = chmod_pathspec(& pathspec___1, *(chmod_arg + 0), show_only);
      exit_status |= tmp___31;
    }
  }
  unplug_bulk_checkin();
  finish:
  tmp___33 = write_locked_index(& the_index, & lock_file___0, (unsigned int )(1 | (1 << 1)));
  if (tmp___33) {
    tmp___32 = _((char const   *)"Unable to write new index file");
    die((char const   *)tmp___32);
  }
  dir_clear(& dir);
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  return (exit_status);
}
}
static double const   __ac_HASH_UPPER___104  =    (double const   )0.77;
__inline static void kh_resize_oid_set___104(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___104(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___104 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___104 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___104(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___104(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___104(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___104(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___104(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___104(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___104 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___104 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___104(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___104(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___104(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___104(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___104(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___104(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___104 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___104 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___104(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___104(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___104(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___104(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int linelen___0(char const   *msg___5 )
{
  char *tmp ;

  {
  tmp = strchrnul(msg___5, '\n');
  return ((int )(tmp - (char *)msg___5));
}
}
static int str_isspace(char const   *str )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *str) {
      goto while_break;
    }
    if (! (((int const   )sane_ctype[(unsigned char )*str] & 1) != 0)) {
      return (0);
    }
    str ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static void am_state_init(struct am_state *state___1 )
{
  int gpgsign ;
  int tmp ;

  {
  memset((void *)state___1, 0, sizeof(*state___1));
  state___1->dir = git_pathdup((char const   *)"rebase-apply");
  state___1->prec = 4;
  git_config_get_bool((char const   *)"am.threeway", & state___1->threeway);
  state___1->utf8 = 1;
  git_config_get_bool((char const   *)"am.messageid", & state___1->message_id);
  state___1->scissors = -1;
  state___1->quoted_cr = -1;
  strvec_init(& state___1->git_apply_opts);
  tmp = git_config_get_bool((char const   *)"commit.gpgsign", & gpgsign);
  if (! tmp) {
    if (gpgsign) {
      state___1->sign_commit = (char const   *)"";
    } else {
      state___1->sign_commit = (char const   *)((void *)0);
    }
  }
  return;
}
}
static void am_state_release(struct am_state *state___1 )
{


  {
  free((void *)state___1->dir);
  free((void *)state___1->author_name);
  free((void *)state___1->author_email);
  free((void *)state___1->author_date);
  free((void *)state___1->msg);
  strvec_clear(& state___1->git_apply_opts);
  return;
}
}
static int am_option_parse_quoted_cr(struct option  const  *opt___0 , char const   *arg ,
                                     int unset )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/am.c", 181, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = mailinfo_parse_quoted_cr_action(arg, (int *)opt___0->value);
  if (tmp___1 != 0) {
    tmp = _((char const   *)"bad action \'%s\' for \'%s\'");
    error((char const   *)tmp, arg, "--quoted-cr");
    tmp___0 = const_error();
    return (tmp___0);
  }
  return (0);
}
}
static int am_option_parse_empty(struct option  const  *opt___0 , char const   *arg ,
                                 int unset )
{
  int *opt_value ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  opt_value = (int *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/am.c", 193, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___3 = strcmp(arg, (char const   *)"stop");
  if (tmp___3) {
    tmp___2 = strcmp(arg, (char const   *)"drop");
    if (tmp___2) {
      tmp___1 = strcmp(arg, (char const   *)"keep");
      if (tmp___1) {
        tmp = _((char const   *)"Invalid value for --empty: %s");
        error((char const   *)tmp, arg);
        tmp___0 = const_error();
        return (tmp___0);
      } else {
        *opt_value = 2;
      }
    } else {
      *opt_value = 1;
    }
  } else {
    *opt_value = 0;
  }
  return (0);
}
}
__inline static char const   *am_path(struct am_state  const  *state___1 , char const   *path___6 )
{
  char const   *tmp ;

  {
  tmp = mkpath((char const   *)"%s/%s", state___1->dir, path___6);
  return (tmp);
}
}
static void write_state_text(struct am_state  const  *state___1 , char const   *name___0 ,
                             char const   *string___0 )
{
  char const   *tmp ;

  {
  tmp = am_path(state___1, name___0);
  write_file(tmp, (char const   *)"%s", string___0);
  return;
}
}
static void write_state_count(struct am_state  const  *state___1 , char const   *name___0 ,
                              int value )
{
  char const   *tmp ;

  {
  tmp = am_path(state___1, name___0);
  write_file(tmp, (char const   *)"%d", value);
  return;
}
}
static void write_state_bool(struct am_state  const  *state___1 , char const   *name___0 ,
                             int value )
{
  char *tmp ;

  {
  if (value) {
    tmp = "t";
  } else {
    tmp = "f";
  }
  write_state_text(state___1, name___0, (char const   *)tmp);
  return;
}
}
static void ( /* format attribute */  say)(struct am_state  const  *state___1 , FILE *fp ,
                                           char const   *fmt  , ...)
{
  va_list ap ;

  {
  __builtin_va_start(ap, fmt);
  if (! state___1->quiet) {
    vfprintf(fp, fmt, ap);
    _IO_putc('\n', fp);
  }
  __builtin_va_end(ap);
  return;
}
}
static int am_in_progress(struct am_state  const  *state___1 )
{
  struct stat st ;
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;

  {
  tmp = lstat((char const   *)state___1->dir, & st);
  if (tmp < 0) {
    return (0);
  } else
  if (! ((st.st_mode & 61440U) == 16384U)) {
    return (0);
  }
  tmp___0 = am_path(state___1, (char const   *)"last");
  tmp___1 = lstat(tmp___0, & st);
  if (tmp___1) {
    return (0);
  } else
  if (! ((st.st_mode & 61440U) == 32768U)) {
    return (0);
  }
  tmp___2 = am_path(state___1, (char const   *)"next");
  tmp___3 = lstat(tmp___2, & st);
  if (tmp___3) {
    return (0);
  } else
  if (! ((st.st_mode & 61440U) == 32768U)) {
    return (0);
  }
  return (1);
}
}
static int read_state_file(struct strbuf *sb___6 , struct am_state  const  *state___1 ,
                           char const   *file___0 , int trim )
{
  char const   *tmp ;
  ssize_t tmp___0 ;
  int *tmp___1 ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  strbuf_setlen___33(sb___6, (size_t )0);
  tmp = am_path(state___1, file___0);
  tmp___0 = strbuf_read_file(sb___6, tmp, (size_t )0);
  if (tmp___0 >= 0L) {
    if (trim) {
      strbuf_trim(sb___6);
    }
    return ((int )sb___6->len);
  }
  tmp___1 = __errno_location();
  if (*tmp___1 == 2) {
    return (-1);
  }
  tmp___2 = am_path(state___1, file___0);
  tmp___3 = _((char const   *)"could not read \'%s\'");
  die_errno((char const   *)tmp___3, tmp___2);
}
}
static int read_am_author_script(struct am_state *state___1 )
{
  char const   *filename___0 ;
  char const   *tmp ;
  int tmp___0 ;

  {
  tmp = am_path((struct am_state  const  *)state___1, (char const   *)"author-script");
  filename___0 = tmp;
  assert(! state___1->author_name);
  assert(! state___1->author_email);
  assert(! state___1->author_date);
  tmp___0 = read_author_script(filename___0, & state___1->author_name, & state___1->author_email,
                               & state___1->author_date, 1);
  return (tmp___0);
}
}
static void write_author_script___0(struct am_state  const  *state___1 )
{
  struct strbuf sb___6 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  strbuf_addstr(& sb___6, (char const   *)"GIT_AUTHOR_NAME=");
  sq_quote_buf(& sb___6, (char const   *)state___1->author_name);
  strbuf_addch(& sb___6, '\n');
  strbuf_addstr(& sb___6, (char const   *)"GIT_AUTHOR_EMAIL=");
  sq_quote_buf(& sb___6, (char const   *)state___1->author_email);
  strbuf_addch(& sb___6, '\n');
  strbuf_addstr(& sb___6, (char const   *)"GIT_AUTHOR_DATE=");
  sq_quote_buf(& sb___6, (char const   *)state___1->author_date);
  strbuf_addch(& sb___6, '\n');
  write_state_text(state___1, (char const   *)"author-script", (char const   *)sb___6.buf);
  strbuf_release(& sb___6);
  return;
}
}
static int read_commit_msg(struct am_state *state___1 )
{
  struct strbuf sb___6 ;
  int tmp ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  assert(! state___1->msg);
  tmp = read_state_file(& sb___6, (struct am_state  const  *)state___1, (char const   *)"final-commit",
                        0);
  if (tmp < 0) {
    strbuf_release(& sb___6);
    return (-1);
  }
  state___1->msg = strbuf_detach(& sb___6, & state___1->msg_len);
  return (0);
}
}
static void write_commit_msg(struct am_state  const  *state___1 )
{
  char const   *filename___0 ;
  char const   *tmp ;

  {
  tmp = am_path(state___1, (char const   *)"final-commit");
  filename___0 = tmp;
  write_file_buf(filename___0, (char const   *)state___1->msg, (size_t )state___1->msg_len);
  return;
}
}
static void am_load(struct am_state *state___1 )
{
  struct strbuf sb___6 ;
  int tmp ;
  long tmp___0 ;
  int tmp___1 ;
  long tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const   *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  char const   *tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;
  char const   *tmp___27 ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  int tmp___29 ;
  char const   *tmp___30 ;
  char const __attribute__((__format_arg__(1)))  *tmp___31 ;
  int tmp___32 ;
  char const   *tmp___33 ;
  int tmp___34 ;
  int tmp___35 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = read_state_file(& sb___6, (struct am_state  const  *)state___1, (char const   *)"next",
                        1);
  if (tmp < 0) {
    BUG_fl((char const   *)"builtin/am.c", 384, (char const   *)"state file \'next\' does not exist");
  }
  tmp___0 = strtol((char const   * __restrict  )sb___6.buf, (char ** __restrict  )((void *)0),
                   10);
  state___1->cur = (int )tmp___0;
  tmp___1 = read_state_file(& sb___6, (struct am_state  const  *)state___1, (char const   *)"last",
                            1);
  if (tmp___1 < 0) {
    BUG_fl((char const   *)"builtin/am.c", 388, (char const   *)"state file \'last\' does not exist");
  }
  tmp___2 = strtol((char const   * __restrict  )sb___6.buf, (char ** __restrict  )((void *)0),
                   10);
  state___1->last = (int )tmp___2;
  tmp___4 = read_am_author_script(state___1);
  if (tmp___4 < 0) {
    tmp___3 = _((char const   *)"could not parse author script");
    die((char const   *)tmp___3);
  }
  read_commit_msg(state___1);
  tmp___8 = read_state_file(& sb___6, (struct am_state  const  *)state___1, (char const   *)"original-commit",
                            1);
  if (tmp___8 < 0) {
    oidclr(& state___1->orig_commit);
  } else {
    tmp___7 = get_oid_hex((char const   *)sb___6.buf, & state___1->orig_commit);
    if (tmp___7 < 0) {
      tmp___5 = am_path((struct am_state  const  *)state___1, (char const   *)"original-commit");
      tmp___6 = _((char const   *)"could not parse %s");
      die((char const   *)tmp___6, tmp___5);
    }
  }
  read_state_file(& sb___6, (struct am_state  const  *)state___1, (char const   *)"threeway",
                  1);
  tmp___9 = strcmp((char const   *)sb___6.buf, (char const   *)"t");
  if (tmp___9) {
    tmp___10 = 0;
  } else {
    tmp___10 = 1;
  }
  state___1->threeway = tmp___10;
  read_state_file(& sb___6, (struct am_state  const  *)state___1, (char const   *)"quiet",
                  1);
  tmp___11 = strcmp((char const   *)sb___6.buf, (char const   *)"t");
  if (tmp___11) {
    tmp___12 = 0;
  } else {
    tmp___12 = 1;
  }
  state___1->quiet = tmp___12;
  read_state_file(& sb___6, (struct am_state  const  *)state___1, (char const   *)"sign",
                  1);
  tmp___13 = strcmp((char const   *)sb___6.buf, (char const   *)"t");
  if (tmp___13) {
    tmp___14 = 0;
  } else {
    tmp___14 = 1;
  }
  state___1->signoff = tmp___14;
  read_state_file(& sb___6, (struct am_state  const  *)state___1, (char const   *)"utf8",
                  1);
  tmp___15 = strcmp((char const   *)sb___6.buf, (char const   *)"t");
  if (tmp___15) {
    tmp___16 = 0;
  } else {
    tmp___16 = 1;
  }
  state___1->utf8 = tmp___16;
  tmp___19 = am_path((struct am_state  const  *)state___1, (char const   *)"rerere-autoupdate");
  tmp___20 = file_exists(tmp___19);
  if (tmp___20) {
    read_state_file(& sb___6, (struct am_state  const  *)state___1, (char const   *)"rerere-autoupdate",
                    1);
    tmp___18 = strcmp((char const   *)sb___6.buf, (char const   *)"t");
    if (tmp___18) {
      state___1->allow_rerere_autoupdate = 02;
    } else {
      state___1->allow_rerere_autoupdate = 01;
    }
  } else {
    state___1->allow_rerere_autoupdate = 0;
  }
  read_state_file(& sb___6, (struct am_state  const  *)state___1, (char const   *)"keep",
                  1);
  tmp___22 = strcmp((char const   *)sb___6.buf, (char const   *)"t");
  if (tmp___22) {
    tmp___21 = strcmp((char const   *)sb___6.buf, (char const   *)"b");
    if (tmp___21) {
      state___1->keep = 0;
    } else {
      state___1->keep = 2;
    }
  } else {
    state___1->keep = 1;
  }
  read_state_file(& sb___6, (struct am_state  const  *)state___1, (char const   *)"messageid",
                  1);
  tmp___23 = strcmp((char const   *)sb___6.buf, (char const   *)"t");
  if (tmp___23) {
    tmp___24 = 0;
  } else {
    tmp___24 = 1;
  }
  state___1->message_id = tmp___24;
  read_state_file(& sb___6, (struct am_state  const  *)state___1, (char const   *)"scissors",
                  1);
  tmp___26 = strcmp((char const   *)sb___6.buf, (char const   *)"t");
  if (tmp___26) {
    tmp___25 = strcmp((char const   *)sb___6.buf, (char const   *)"f");
    if (tmp___25) {
      state___1->scissors = -1;
    } else {
      state___1->scissors = 0;
    }
  } else {
    state___1->scissors = 1;
  }
  read_state_file(& sb___6, (struct am_state  const  *)state___1, (char const   *)"quoted-cr",
                  1);
  if (! *(sb___6.buf)) {
    state___1->quoted_cr = -1;
  } else {
    tmp___29 = mailinfo_parse_quoted_cr_action((char const   *)sb___6.buf, & state___1->quoted_cr);
    if (tmp___29 != 0) {
      tmp___27 = am_path((struct am_state  const  *)state___1, (char const   *)"quoted-cr");
      tmp___28 = _((char const   *)"could not parse %s");
      die((char const   *)tmp___28, tmp___27);
    }
  }
  read_state_file(& sb___6, (struct am_state  const  *)state___1, (char const   *)"apply-opt",
                  1);
  strvec_clear(& state___1->git_apply_opts);
  tmp___32 = sq_dequote_to_strvec(sb___6.buf, & state___1->git_apply_opts);
  if (tmp___32 < 0) {
    tmp___30 = am_path((struct am_state  const  *)state___1, (char const   *)"apply-opt");
    tmp___31 = _((char const   *)"could not parse %s");
    die((char const   *)tmp___31, tmp___30);
  }
  tmp___33 = am_path((struct am_state  const  *)state___1, (char const   *)"rebasing");
  tmp___34 = file_exists(tmp___33);
  if (tmp___34) {
    tmp___35 = 1;
  } else {
    tmp___35 = 0;
  }
  state___1->rebasing = tmp___35;
  strbuf_release(& sb___6);
  return;
}
}
static void am_destroy(struct am_state  const  *state___1 )
{
  struct strbuf sb___6 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  strbuf_addstr(& sb___6, (char const   *)state___1->dir);
  remove_dir_recursively(& sb___6, 0);
  strbuf_release(& sb___6);
  return;
}
}
static int run_applypatch_msg_hook(struct am_state *state___1 )
{
  int ret___67 ;
  char const   *tmp ;
  int __attribute__((__sentinel__))  tmp___0 ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  assert((int )state___1->msg);
  tmp = am_path((struct am_state  const  *)state___1, (char const   *)"final-commit");
  tmp___0 = run_hook_le((char const   **)((void *)0), (char const   *)"applypatch-msg",
                        tmp, (void *)0);
  ret___67 = (int )tmp___0;
  if (! ret___67) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      free((void *)state___1->msg);
      state___1->msg = (char *)((void *)0);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    tmp___3 = read_commit_msg(state___1);
    if (tmp___3 < 0) {
      tmp___1 = am_path((struct am_state  const  *)state___1, (char const   *)"final-commit");
      tmp___2 = _((char const   *)"\'%s\' was deleted by the applypatch-msg hook");
      die((char const   *)tmp___2, tmp___1);
    }
  }
  return (ret___67);
}
}
static int run_post_rewrite_hook(struct am_state  const  *state___1 )
{
  struct child_process cp ;
  char const   *hook ;
  char const   *tmp ;
  int ret___67 ;
  char const   *tmp___0 ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  tmp = find_hook((char const   *)"post-rewrite");
  hook = tmp;
  if (! hook) {
    return (0);
  }
  strvec_push(& cp.args, hook);
  strvec_push(& cp.args, (char const   *)"rebase");
  tmp___0 = am_path(state___1, (char const   *)"rewritten");
  cp.in = xopen(tmp___0, 00);
  cp.stdout_to_stderr = 1U;
  cp.trace2_hook_name = (char const   *)"post-rewrite";
  ret___67 = run_command(& cp);
  close(cp.in);
  return (ret___67);
}
}
static int copy_notes_for_rebase(struct am_state  const  *state___1 )
{
  struct notes_rewrite_cfg *c___0 ;
  struct strbuf sb___6 ;
  char const   *invalid_line ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *msg___5 ;
  FILE *fp ;
  int ret___67 ;
  char const   *tmp___0 ;
  struct object_id from_obj ;
  struct object_id to_obj ;
  char const   *p___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = _((char const   *)"Malformed input line: \'%s\'.");
  invalid_line = (char const   *)tmp;
  msg___5 = (char const   *)"Notes added by \'git rebase\'";
  ret___67 = 0;
  assert((int )state___1->rebasing);
  c___0 = init_copy_notes_for_rewrite((char const   *)"rebase");
  if (! c___0) {
    return (0);
  }
  tmp___0 = am_path(state___1, (char const   *)"rewritten");
  fp = xfopen(tmp___0, (char const   *)"r");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___7 = strbuf_getline_lf(& sb___6, fp);
    if (tmp___7) {
      goto while_break;
    }
    if (sb___6.len != (size_t )((the_repository->hash_algo)->hexsz * 2UL + 1UL)) {
      error(invalid_line, sb___6.buf);
      ret___67 = const_error();
      goto finish;
    }
    tmp___1 = parse_oid_hex((char const   *)sb___6.buf, & from_obj, & p___0);
    if (tmp___1) {
      error(invalid_line, sb___6.buf);
      ret___67 = const_error();
      goto finish;
    }
    if ((int const   )*p___0 != 32) {
      error(invalid_line, sb___6.buf);
      ret___67 = const_error();
      goto finish;
    }
    tmp___2 = get_oid_hex(p___0 + 1, & to_obj);
    if (tmp___2) {
      error(invalid_line, sb___6.buf);
      ret___67 = const_error();
      goto finish;
    }
    tmp___6 = copy_note_for_rewrite(c___0, (struct object_id  const  *)(& from_obj),
                                    (struct object_id  const  *)(& to_obj));
    if (tmp___6) {
      tmp___3 = oid_to_hex((struct object_id  const  *)(& to_obj));
      tmp___4 = oid_to_hex((struct object_id  const  *)(& from_obj));
      tmp___5 = _((char const   *)"Failed to copy notes from \'%s\' to \'%s\'");
      error((char const   *)tmp___5, tmp___4, tmp___3);
      ret___67 = const_error();
    }
  }
  while_break: /* CIL Label */ ;
  }
  finish:
  finish_copy_notes_for_rewrite(the_repository, c___0, msg___5);
  fclose(fp);
  strbuf_release(& sb___6);
  return (ret___67);
}
}
static int is_mail(FILE *fp )
{
  char const   *header_regex ;
  struct strbuf sb___6 ;
  regex_t regex ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  header_regex = (char const   *)"^[!-9;-~]+:";
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  ret___67 = 1;
  tmp___0 = fseek(fp, 0L, 0);
  if (tmp___0) {
    tmp = _((char const   *)"fseek failed");
    die_errno((char const   *)tmp);
  }
  tmp___1 = regcomp((regex_t * __restrict  )(& regex), (char const   * __restrict  )header_regex,
                    (((1 << 1) << 1) << 1) | 1);
  if (tmp___1) {
    die((char const   *)"invalid pattern: %s", header_regex);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = strbuf_getline(& sb___6, fp);
    if (tmp___3) {
      goto while_break;
    }
    if (! sb___6.len) {
      goto while_break;
    }
    if ((int )*(sb___6.buf) == 9) {
      goto while_continue;
    } else
    if ((int )*(sb___6.buf) == 32) {
      goto while_continue;
    }
    tmp___2 = regexec((regex_t const   * __restrict  )(& regex), (char const   * __restrict  )sb___6.buf,
                      (size_t )0, (regmatch_t * __restrict  )((void *)0), 0);
    if (tmp___2) {
      ret___67 = 0;
      goto done;
    }
  }
  while_break: /* CIL Label */ ;
  }
  done:
  regfree(& regex);
  strbuf_release(& sb___6);
  return (ret___67);
}
}
static int detect_patch_format(char const   **paths___0 )
{
  enum patch_format ret___67 ;
  struct strbuf l1 ;
  struct strbuf l2 ;
  struct strbuf l3 ;
  FILE *fp ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  ret___67 = (enum patch_format )0;
  l1.alloc = 0UL;
  l1.len = 0UL;
  l1.buf = strbuf_slopbuf;
  l2.alloc = 0UL;
  l2.len = 0UL;
  l2.buf = strbuf_slopbuf;
  l3.alloc = 0UL;
  l3.len = 0UL;
  l3.buf = strbuf_slopbuf;
  if (! *paths___0) {
    return (1);
  } else {
    tmp = strcmp(*paths___0, (char const   *)"-");
    if (tmp) {
      tmp___0 = is_directory(*paths___0);
      if (tmp___0) {
        return (1);
      }
    } else {
      return (1);
    }
  }
  fp = xfopen(*paths___0, (char const   *)"r");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = strbuf_getline(& l1, fp);
    if (tmp___1) {
      goto while_break;
    }
    if (l1.len) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = starts_with((char const   *)l1.buf, (char const   *)"From ");
  if (tmp___2) {
    ret___67 = (enum patch_format )1;
    goto done;
  } else {
    tmp___3 = starts_with((char const   *)l1.buf, (char const   *)"From: ");
    if (tmp___3) {
      ret___67 = (enum patch_format )1;
      goto done;
    }
  }
  tmp___4 = starts_with((char const   *)l1.buf, (char const   *)"# This series applies on GIT commit");
  if (tmp___4) {
    ret___67 = (enum patch_format )3;
    goto done;
  }
  tmp___5 = strcmp((char const   *)l1.buf, (char const   *)"# HG changeset patch");
  if (! tmp___5) {
    ret___67 = (enum patch_format )4;
    goto done;
  }
  strbuf_getline(& l2, fp);
  strbuf_getline(& l3, fp);
  if (l1.len) {
    if (! l2.len) {
      tmp___6 = starts_with((char const   *)l3.buf, (char const   *)"From:");
      if (tmp___6) {
        ret___67 = (enum patch_format )2;
        goto done;
      } else {
        tmp___7 = starts_with((char const   *)l3.buf, (char const   *)"Author:");
        if (tmp___7) {
          ret___67 = (enum patch_format )2;
          goto done;
        } else {
          tmp___8 = starts_with((char const   *)l3.buf, (char const   *)"Date:");
          if (tmp___8) {
            ret___67 = (enum patch_format )2;
            goto done;
          }
        }
      }
    }
  }
  if (l1.len) {
    tmp___9 = is_mail(fp);
    if (tmp___9) {
      ret___67 = (enum patch_format )1;
      goto done;
    }
  }
  done:
  fclose(fp);
  strbuf_release(& l1);
  strbuf_release(& l2);
  strbuf_release(& l3);
  return ((int )ret___67);
}
}
static int split_mail_mbox(struct am_state *state___1 , char const   **paths___0 ,
                           int keep_cr___0 , int mboxrd___0 )
{
  struct child_process cp ;
  struct strbuf last ;
  int ret___67 ;
  long tmp ;
  int tmp___0 ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  last.alloc = 0UL;
  last.len = 0UL;
  last.buf = strbuf_slopbuf;
  cp.git_cmd = 1U;
  strvec_push(& cp.args, (char const   *)"mailsplit");
  strvec_pushf(& cp.args, (char const   *)"-d%d", state___1->prec);
  strvec_pushf(& cp.args, (char const   *)"-o%s", state___1->dir);
  strvec_push(& cp.args, (char const   *)"-b");
  if (keep_cr___0) {
    strvec_push(& cp.args, (char const   *)"--keep-cr");
  }
  if (mboxrd___0) {
    strvec_push(& cp.args, (char const   *)"--mboxrd");
  }
  strvec_push(& cp.args, (char const   *)"--");
  strvec_pushv(& cp.args, paths___0);
  ret___67 = capture_command(& cp, & last, (size_t )8);
  if (ret___67) {
    goto exit;
  }
  state___1->cur = 1;
  tmp = strtol((char const   * __restrict  )last.buf, (char ** __restrict  )((void *)0),
               10);
  state___1->last = (int )tmp;
  exit:
  strbuf_release(& last);
  if (ret___67) {
    tmp___0 = -1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static int split_mail_conv(int (*fn)(FILE *out , FILE *in , int keep_cr ) , struct am_state *state___1 ,
                           char const   **paths___0 , int keep_cr___0 ) ;
static char const   *stdin_only[2]  = {      (char const   *)"-",      (char const   *)((void *)0)};
static int split_mail_conv(int (*fn)(FILE *out , FILE *in , int keep_cr ) , struct am_state *state___1 ,
                           char const   **paths___0 , int keep_cr___0 )
{
  int i ;
  FILE *in ;
  FILE *out ;
  char const   *mail ;
  int ret___67 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;

  {
  if (! *paths___0) {
    paths___0 = stdin_only;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *paths___0) {
      goto while_break;
    }
    tmp = strcmp(*paths___0, (char const   *)"-");
    if (tmp) {
      in = git_fopen(*paths___0, (char const   *)"r");
    } else {
      in = stdin;
    }
    if (! in) {
      tmp___0 = _((char const   *)"could not open \'%s\' for reading");
      error_errno((char const   *)tmp___0, *paths___0);
      tmp___1 = const_error();
      return (tmp___1);
    }
    mail = mkpath((char const   *)"%s/%0*d", state___1->dir, state___1->prec, i + 1);
    out = git_fopen(mail, (char const   *)"w");
    if (! out) {
      if ((unsigned long )in != (unsigned long )stdin) {
        fclose(in);
      }
      tmp___2 = _((char const   *)"could not open \'%s\' for writing");
      error_errno((char const   *)tmp___2, mail);
      tmp___3 = const_error();
      return (tmp___3);
    }
    ret___67 = (*fn)(out, in, keep_cr___0);
    fclose(out);
    if ((unsigned long )in != (unsigned long )stdin) {
      fclose(in);
    }
    if (ret___67) {
      tmp___4 = _((char const   *)"could not parse patch \'%s\'");
      error((char const   *)tmp___4, *paths___0);
      tmp___5 = const_error();
      return (tmp___5);
    }
    paths___0 ++;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  state___1->cur = 1;
  state___1->last = i;
  return (0);
}
}
static int stgit_patch_to_mail(FILE *out , FILE *in , int keep_cr___0 )
{
  struct strbuf sb___6 ;
  int subject_printed ;
  char const   *str ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  size_t tmp___4 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  subject_printed = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = strbuf_getline_lf(& sb___6, in);
    if (tmp___3) {
      goto while_break;
    }
    tmp___2 = str_isspace((char const   *)sb___6.buf);
    if (tmp___2) {
      goto while_continue;
    } else {
      tmp___1 = skip_prefix((char const   *)sb___6.buf, (char const   *)"Author:",
                            & str);
      if (tmp___1) {
        fprintf(out, (char const   *)"From:%s\n", str);
      } else {
        tmp = starts_with((char const   *)sb___6.buf, (char const   *)"From");
        if (tmp) {
          fprintf(out, (char const   *)"%s\n", sb___6.buf);
        } else {
          tmp___0 = starts_with((char const   *)sb___6.buf, (char const   *)"Date");
          if (tmp___0) {
            fprintf(out, (char const   *)"%s\n", sb___6.buf);
          } else
          if (! subject_printed) {
            fprintf(out, (char const   *)"Subject: %s\n", sb___6.buf);
            subject_printed = 1;
          } else {
            fprintf(out, (char const   *)"\n%s\n", sb___6.buf);
            goto while_break;
          }
        }
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_setlen___33(& sb___6, (size_t )0);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___4 = strbuf_fread(& sb___6, (size_t )8192, in);
    if (! (tmp___4 > 0UL)) {
      goto while_break___0;
    }
    fwrite((void const   * __restrict  )sb___6.buf, (size_t )1, sb___6.len, (FILE * __restrict  )out);
    strbuf_setlen___33(& sb___6, (size_t )0);
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_release(& sb___6);
  return (0);
}
}
static int split_mail_stgit_series(struct am_state *state___1 , char const   **paths___0 ,
                                   int keep_cr___0 )
{
  char const   *series_dir ;
  char *series_dir_buf ;
  FILE *fp ;
  struct strvec patches ;
  struct strbuf sb___6 ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;

  {
  patches.v = empty_strvec;
  patches.nr = 0UL;
  patches.alloc = 0UL;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  if (! *(paths___0 + 0)) {
    tmp = _((char const   *)"Only one StGIT patch series can be applied at once");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  } else
  if (*(paths___0 + 1)) {
    tmp = _((char const   *)"Only one StGIT patch series can be applied at once");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  series_dir_buf = xstrdup(*paths___0);
  tmp___1 = dirname(series_dir_buf);
  series_dir = (char const   *)tmp___1;
  fp = git_fopen(*paths___0, (char const   *)"r");
  if (! fp) {
    tmp___2 = _((char const   *)"could not open \'%s\' for reading");
    error_errno((char const   *)tmp___2, *paths___0);
    tmp___3 = const_error();
    return (tmp___3);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___5 = strbuf_getline_lf(& sb___6, fp);
    if (tmp___5) {
      goto while_break;
    }
    if ((int )*(sb___6.buf) == 35) {
      goto while_continue;
    }
    tmp___4 = mkpath((char const   *)"%s/%s", series_dir, sb___6.buf);
    strvec_push(& patches, tmp___4);
  }
  while_break: /* CIL Label */ ;
  }
  fclose(fp);
  strbuf_release(& sb___6);
  free((void *)series_dir_buf);
  ret___67 = split_mail_conv(& stgit_patch_to_mail, state___1, patches.v, keep_cr___0);
  strvec_clear(& patches);
  return (ret___67);
}
}
static int hg_patch_to_mail(FILE *out , FILE *in , int keep_cr___0 )
{
  struct strbuf sb___6 ;
  int rc___0 ;
  char const   *str ;
  timestamp_t timestamp___0 ;
  long tz ;
  long tz2 ;
  char *end ;
  int *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  long tmp___8 ;
  long tmp___9 ;
  struct date_mode *tmp___10 ;
  char const   *tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  size_t tmp___16 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  rc___0 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___15 = strbuf_getline_lf(& sb___6, in);
    if (tmp___15) {
      goto while_break;
    }
    tmp___14 = skip_prefix((char const   *)sb___6.buf, (char const   *)"# User ",
                           & str);
    if (tmp___14) {
      fprintf(out, (char const   *)"From: %s\n", str);
    } else {
      tmp___13 = skip_prefix((char const   *)sb___6.buf, (char const   *)"# Date ",
                             & str);
      if (tmp___13) {
        tmp = __errno_location();
        *tmp = 0;
        timestamp___0 = strtoumax(str, & end, 10);
        tmp___1 = __errno_location();
        if (*tmp___1) {
          tmp___0 = _((char const   *)"invalid timestamp");
          error((char const   *)tmp___0);
          rc___0 = const_error();
          goto exit;
        }
        tmp___3 = skip_prefix((char const   *)end, (char const   *)" ", & str);
        if (! tmp___3) {
          tmp___2 = _((char const   *)"invalid Date line");
          error((char const   *)tmp___2);
          rc___0 = const_error();
          goto exit;
        }
        tmp___4 = __errno_location();
        *tmp___4 = 0;
        tz = strtol((char const   * __restrict  )str, (char ** __restrict  )(& end),
                    10);
        tmp___6 = __errno_location();
        if (*tmp___6) {
          tmp___5 = _((char const   *)"invalid timezone offset");
          error((char const   *)tmp___5);
          rc___0 = const_error();
          goto exit;
        }
        if (*end) {
          tmp___7 = _((char const   *)"invalid Date line");
          error((char const   *)tmp___7);
          rc___0 = const_error();
          goto exit;
        }
        tmp___8 = labs(tz);
        tmp___9 = labs(tz);
        tz2 = (tmp___8 / 3600L) * 100L + (tmp___9 % 3600L) / 60L;
        if (tz > 0L) {
          tz2 = - tz2;
        }
        tmp___10 = date_mode_from_type((enum date_mode_type )6);
        tmp___11 = show_date(timestamp___0, (int )tz2, (struct date_mode  const  *)tmp___10);
        fprintf(out, (char const   *)"Date: %s\n", tmp___11);
      } else {
        tmp___12 = starts_with((char const   *)sb___6.buf, (char const   *)"# ");
        if (tmp___12) {
          goto while_continue;
        } else {
          fprintf(out, (char const   *)"\n%s\n", sb___6.buf);
          goto while_break;
        }
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_setlen___33(& sb___6, (size_t )0);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___16 = strbuf_fread(& sb___6, (size_t )8192, in);
    if (! (tmp___16 > 0UL)) {
      goto while_break___0;
    }
    fwrite((void const   * __restrict  )sb___6.buf, (size_t )1, sb___6.len, (FILE * __restrict  )out);
    strbuf_setlen___33(& sb___6, (size_t )0);
  }
  while_break___0: /* CIL Label */ ;
  }
  exit:
  strbuf_release(& sb___6);
  return (rc___0);
}
}
static int split_mail(struct am_state *state___1 , enum patch_format patch_format ,
                      char const   **paths___0 , int keep_cr___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  if (keep_cr___0 < 0) {
    keep_cr___0 = 0;
    git_config_get_bool((char const   *)"am.keepcr", & keep_cr___0);
  }
  {
  if ((unsigned int )patch_format == 1U) {
    goto case_1;
  }
  if ((unsigned int )patch_format == 2U) {
    goto case_2;
  }
  if ((unsigned int )patch_format == 3U) {
    goto case_3;
  }
  if ((unsigned int )patch_format == 4U) {
    goto case_4;
  }
  if ((unsigned int )patch_format == 5U) {
    goto case_5;
  }
  goto switch_default;
  case_1: /* CIL Label */
  tmp = split_mail_mbox(state___1, paths___0, keep_cr___0, 0);
  return (tmp);
  case_2: /* CIL Label */
  tmp___0 = split_mail_conv(& stgit_patch_to_mail, state___1, paths___0, keep_cr___0);
  return (tmp___0);
  case_3: /* CIL Label */
  tmp___1 = split_mail_stgit_series(state___1, paths___0, keep_cr___0);
  return (tmp___1);
  case_4: /* CIL Label */
  tmp___2 = split_mail_conv(& hg_patch_to_mail, state___1, paths___0, keep_cr___0);
  return (tmp___2);
  case_5: /* CIL Label */
  tmp___3 = split_mail_mbox(state___1, paths___0, keep_cr___0, 1);
  return (tmp___3);
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"builtin/am.c", 975, (char const   *)"invalid patch_format");
  switch_break: /* CIL Label */ ;
  }
  return (-1);
}
}
static void am_setup(struct am_state *state___1 , enum patch_format patch_format ,
                     char const   **paths___0 , int keep_cr___0 )
{
  struct object_id curr_head ;
  char const   *str ;
  struct strbuf sb___6 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char *tmp___7 ;
  int tmp___8 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  if (! patch_format) {
    tmp = detect_patch_format(paths___0);
    patch_format = (enum patch_format )tmp;
  }
  if (! patch_format) {
    tmp___0 = _((char const   *)"Patch format detection failed.");
    fprintf_ln(stderr, (char const   *)tmp___0);
    tmp___1 = trace2_cmd_exit_fl((char const   *)"builtin/am.c", 995, 128);
    exit(tmp___1);
  }
  tmp___3 = mkdir((char const   *)state___1->dir, (__mode_t )0777);
  if (tmp___3 < 0) {
    tmp___4 = __errno_location();
    if (*tmp___4 != 17) {
      tmp___2 = _((char const   *)"failed to create directory \'%s\'");
      die_errno((char const   *)tmp___2, state___1->dir);
    }
  }
  delete_ref((char const   *)((void *)0), (char const   *)"REBASE_HEAD", (struct object_id  const  *)((void *)0),
             1U);
  tmp___6 = split_mail(state___1, patch_format, paths___0, keep_cr___0);
  if (tmp___6 < 0) {
    am_destroy((struct am_state  const  *)state___1);
    tmp___5 = _((char const   *)"Failed to split patches.");
    die((char const   *)tmp___5);
  }
  if (state___1->rebasing) {
    state___1->threeway = 1;
  }
  write_state_bool((struct am_state  const  *)state___1, (char const   *)"threeway",
                   state___1->threeway);
  write_state_bool((struct am_state  const  *)state___1, (char const   *)"quiet",
                   state___1->quiet);
  write_state_bool((struct am_state  const  *)state___1, (char const   *)"sign", state___1->signoff);
  write_state_bool((struct am_state  const  *)state___1, (char const   *)"utf8", state___1->utf8);
  if (state___1->allow_rerere_autoupdate) {
    write_state_bool((struct am_state  const  *)state___1, (char const   *)"rerere-autoupdate",
                     state___1->allow_rerere_autoupdate == 01);
  }
  {
  if (state___1->keep == 0) {
    goto case_0;
  }
  if (state___1->keep == 1) {
    goto case_1;
  }
  if (state___1->keep == 2) {
    goto case_2;
  }
  goto switch_default;
  case_0: /* CIL Label */
  str = (char const   *)"f";
  goto switch_break;
  case_1: /* CIL Label */
  str = (char const   *)"t";
  goto switch_break;
  case_2: /* CIL Label */
  str = (char const   *)"b";
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"builtin/am.c", 1030, (char const   *)"invalid value for state->keep");
  switch_break: /* CIL Label */ ;
  }
  write_state_text((struct am_state  const  *)state___1, (char const   *)"keep", str);
  write_state_bool((struct am_state  const  *)state___1, (char const   *)"messageid",
                   state___1->message_id);
  {
  if (state___1->scissors == -1) {
    goto case_neg_1;
  }
  if (state___1->scissors == 0) {
    goto case_0___0;
  }
  if (state___1->scissors == 1) {
    goto case_1___0;
  }
  goto switch_default___0;
  case_neg_1: /* CIL Label */
  str = (char const   *)"";
  goto switch_break___0;
  case_0___0: /* CIL Label */
  str = (char const   *)"f";
  goto switch_break___0;
  case_1___0: /* CIL Label */
  str = (char const   *)"t";
  goto switch_break___0;
  switch_default___0: /* CIL Label */
  BUG_fl((char const   *)"builtin/am.c", 1047, (char const   *)"invalid value for state->scissors");
  switch_break___0: /* CIL Label */ ;
  }
  write_state_text((struct am_state  const  *)state___1, (char const   *)"scissors",
                   str);
  {
  if (state___1->quoted_cr == -1) {
    goto case_neg_1___0;
  }
  if (state___1->quoted_cr == 0) {
    goto case_0___1;
  }
  if (state___1->quoted_cr == 1) {
    goto case_1___1;
  }
  if (state___1->quoted_cr == 2) {
    goto case_2___0;
  }
  goto switch_default___1;
  case_neg_1___0: /* CIL Label */
  str = (char const   *)"";
  goto switch_break___1;
  case_0___1: /* CIL Label */
  str = (char const   *)"nowarn";
  goto switch_break___1;
  case_1___1: /* CIL Label */
  str = (char const   *)"warn";
  goto switch_break___1;
  case_2___0: /* CIL Label */
  str = (char const   *)"strip";
  goto switch_break___1;
  switch_default___1: /* CIL Label */
  BUG_fl((char const   *)"builtin/am.c", 1065, (char const   *)"invalid value for state->quoted_cr");
  switch_break___1: /* CIL Label */ ;
  }
  write_state_text((struct am_state  const  *)state___1, (char const   *)"quoted-cr",
                   str);
  sq_quote_argv(& sb___6, state___1->git_apply_opts.v);
  write_state_text((struct am_state  const  *)state___1, (char const   *)"apply-opt",
                   (char const   *)sb___6.buf);
  if (state___1->rebasing) {
    write_state_text((struct am_state  const  *)state___1, (char const   *)"rebasing",
                     (char const   *)"");
  } else {
    write_state_text((struct am_state  const  *)state___1, (char const   *)"applying",
                     (char const   *)"");
  }
  tmp___8 = repo_get_oid(the_repository, (char const   *)"HEAD", & curr_head);
  if (tmp___8) {
    write_state_text((struct am_state  const  *)state___1, (char const   *)"abort-safety",
                     (char const   *)"");
    if (! state___1->rebasing) {
      delete_ref((char const   *)((void *)0), (char const   *)"ORIG_HEAD", (struct object_id  const  *)((void *)0),
                 0U);
    }
  } else {
    tmp___7 = oid_to_hex((struct object_id  const  *)(& curr_head));
    write_state_text((struct am_state  const  *)state___1, (char const   *)"abort-safety",
                     (char const   *)tmp___7);
    if (! state___1->rebasing) {
      update_ref((char const   *)"am", (char const   *)"ORIG_HEAD", (struct object_id  const  *)(& curr_head),
                 (struct object_id  const  *)((void *)0), 0U, (enum action_on_err )1);
    }
  }
  write_state_count((struct am_state  const  *)state___1, (char const   *)"next",
                    state___1->cur);
  write_state_count((struct am_state  const  *)state___1, (char const   *)"last",
                    state___1->last);
  strbuf_release(& sb___6);
  return;
}
}
static void am_next(struct am_state *state___1 )
{
  struct object_id head___1 ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)state___1->author_name);
    state___1->author_name = (char *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)state___1->author_email);
    state___1->author_email = (char *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    free((void *)state___1->author_date);
    state___1->author_date = (char *)((void *)0);
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    free((void *)state___1->msg);
    state___1->msg = (char *)((void *)0);
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  state___1->msg_len = (size_t )0;
  tmp = am_path((struct am_state  const  *)state___1, (char const   *)"author-script");
  unlink(tmp);
  tmp___0 = am_path((struct am_state  const  *)state___1, (char const   *)"final-commit");
  unlink(tmp___0);
  oidclr(& state___1->orig_commit);
  tmp___1 = am_path((struct am_state  const  *)state___1, (char const   *)"original-commit");
  unlink(tmp___1);
  delete_ref((char const   *)((void *)0), (char const   *)"REBASE_HEAD", (struct object_id  const  *)((void *)0),
             1U);
  tmp___3 = repo_get_oid(the_repository, (char const   *)"HEAD", & head___1);
  if (tmp___3) {
    write_state_text((struct am_state  const  *)state___1, (char const   *)"abort-safety",
                     (char const   *)"");
  } else {
    tmp___2 = oid_to_hex((struct object_id  const  *)(& head___1));
    write_state_text((struct am_state  const  *)state___1, (char const   *)"abort-safety",
                     (char const   *)tmp___2);
  }
  (state___1->cur) ++;
  write_state_count((struct am_state  const  *)state___1, (char const   *)"next",
                    state___1->cur);
  return;
}
}
static char const   *msgnum(struct am_state  const  *state___1 ) ;
static struct strbuf sb___4  =    {0UL, 0UL, strbuf_slopbuf};
static char const   *msgnum(struct am_state  const  *state___1 )
{


  {
  strbuf_setlen___33(& sb___4, (size_t )0);
  strbuf_addf(& sb___4, (char const   *)"%0*d", state___1->prec, state___1->cur);
  return ((char const   *)sb___4.buf);
}
}
static void die_user_resolve(struct am_state  const  *state___1 )  __attribute__((__noreturn__)) ;
static void die_user_resolve(struct am_state  const  *state___1 )
{
  char const   *cmdline ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;

  {
  if (state___1->resolvemsg) {
    printf_ln((char const   *)"%s", state___1->resolvemsg);
  } else {
    if (state___1->interactive) {
      tmp = "git am -i";
    } else {
      tmp = "git am";
    }
    cmdline = (char const   *)tmp;
    tmp___0 = _((char const   *)"When you have resolved this problem, run \"%s --continue\".");
    printf_ln((char const   *)tmp___0, cmdline);
    tmp___1 = _((char const   *)"If you prefer to skip this patch, run \"%s --skip\" instead.");
    printf_ln((char const   *)tmp___1, cmdline);
    tmp___3 = advice_enabled((enum advice_type )3);
    if (tmp___3) {
      tmp___4 = am_path(state___1, (char const   *)"patch");
      tmp___5 = is_empty_or_missing_file(tmp___4);
      if (tmp___5) {
        tmp___6 = repo_index_has_changes(the_repository, (struct tree *)((void *)0),
                                         (struct strbuf *)((void *)0));
        if (! tmp___6) {
          tmp___2 = _((char const   *)"To record the empty patch as an empty commit, run \"%s --allow-empty\".");
          printf_ln((char const   *)tmp___2, cmdline);
        }
      }
    }
    tmp___7 = _((char const   *)"To restore the original branch and stop patching, run \"%s --abort\".");
    printf_ln((char const   *)tmp___7, cmdline);
  }
  tmp___8 = trace2_cmd_exit_fl((char const   *)"builtin/am.c", 1164, 128);
  exit(tmp___8);
}
}
static void am_append_signoff(struct am_state *state___1 )
{
  struct strbuf sb___6 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  strbuf_attach(& sb___6, (void *)state___1->msg, state___1->msg_len, state___1->msg_len);
  append_signoff(& sb___6, (size_t )0, 0U);
  state___1->msg = strbuf_detach(& sb___6, & state___1->msg_len);
  return;
}
}
static int parse_mail(struct am_state *state___1 , char const   *mail )
{
  FILE *fp ;
  struct strbuf sb___6 ;
  struct strbuf msg___5 ;
  struct strbuf author_name ;
  struct strbuf author_date ;
  struct strbuf author_email ;
  int ret___67 ;
  struct mailinfo mi ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const   *tmp___4 ;
  char const   *x ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  msg___5.alloc = 0UL;
  msg___5.len = 0UL;
  msg___5.buf = strbuf_slopbuf;
  author_name.alloc = 0UL;
  author_name.len = 0UL;
  author_name.buf = strbuf_slopbuf;
  author_date.alloc = 0UL;
  author_date.len = 0UL;
  author_date.buf = strbuf_slopbuf;
  author_email.alloc = 0UL;
  author_email.len = 0UL;
  author_email.buf = strbuf_slopbuf;
  ret___67 = 0;
  setup_mailinfo(& mi);
  if (state___1->utf8) {
    mi.metainfo_charset = get_commit_output_encoding();
  } else {
    mi.metainfo_charset = (char const   *)((void *)0);
  }
  {
  if (state___1->keep == 0) {
    goto case_0;
  }
  if (state___1->keep == 1) {
    goto case_1;
  }
  if (state___1->keep == 2) {
    goto case_2;
  }
  goto switch_default;
  case_0: /* CIL Label */
  goto switch_break;
  case_1: /* CIL Label */
  mi.keep_subject = 1;
  goto switch_break;
  case_2: /* CIL Label */
  mi.keep_non_patch_brackets_in_subject = 1;
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"builtin/am.c", 1216, (char const   *)"invalid value for state->keep");
  switch_break: /* CIL Label */ ;
  }
  if (state___1->message_id) {
    mi.add_message_id = 1;
  }
  {
  if (state___1->scissors == -1) {
    goto case_neg_1;
  }
  if (state___1->scissors == 0) {
    goto case_0___0;
  }
  if (state___1->scissors == 1) {
    goto case_1___0;
  }
  goto switch_default___0;
  case_neg_1: /* CIL Label */
  goto switch_break___0;
  case_0___0: /* CIL Label */
  mi.use_scissors = 0;
  goto switch_break___0;
  case_1___0: /* CIL Label */
  mi.use_scissors = 1;
  goto switch_break___0;
  switch_default___0: /* CIL Label */
  BUG_fl((char const   *)"builtin/am.c", 1232, (char const   *)"invalid value for state->scissors");
  switch_break___0: /* CIL Label */ ;
  }
  {
  if (state___1->quoted_cr == -1) {
    goto case_neg_1___0;
  }
  if (state___1->quoted_cr == 2) {
    goto case_2___0;
  }
  if (state___1->quoted_cr == 1) {
    goto case_2___0;
  }
  if (state___1->quoted_cr == 0) {
    goto case_2___0;
  }
  goto switch_default___1;
  case_neg_1___0: /* CIL Label */
  goto switch_break___1;
  case_2___0: /* CIL Label */
  case_1___1: /* CIL Label */
  case_0___1: /* CIL Label */
  mi.quoted_cr = state___1->quoted_cr;
  goto switch_break___1;
  switch_default___1: /* CIL Label */
  BUG_fl((char const   *)"builtin/am.c", 1244, (char const   *)"invalid value for state->quoted_cr");
  switch_break___1: /* CIL Label */ ;
  }
  mi.input = xfopen(mail, (char const   *)"r");
  tmp = am_path((struct am_state  const  *)state___1, (char const   *)"info");
  mi.output = xfopen(tmp, (char const   *)"w");
  tmp___0 = am_path((struct am_state  const  *)state___1, (char const   *)"patch");
  tmp___1 = am_path((struct am_state  const  *)state___1, (char const   *)"msg");
  tmp___2 = mailinfo(& mi, tmp___1, tmp___0);
  if (tmp___2) {
    die((char const   *)"could not parse patch");
  }
  fclose(mi.input);
  fclose(mi.output);
  if (mi.format_flowed) {
    tmp___3 = _((char const   *)"Patch sent with format=flowed; space at the end of lines might be lost.");
    warning((char const   *)tmp___3);
  }
  tmp___4 = am_path((struct am_state  const  *)state___1, (char const   *)"info");
  fp = xfopen(tmp___4, (char const   *)"r");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___9 = strbuf_getline_lf(& sb___6, fp);
    if (tmp___9) {
      goto while_break;
    }
    tmp___8 = skip_prefix((char const   *)sb___6.buf, (char const   *)"Subject: ",
                          & x);
    if (tmp___8) {
      if (msg___5.len) {
        strbuf_addch(& msg___5, '\n');
      }
      strbuf_addstr(& msg___5, x);
    } else {
      tmp___7 = skip_prefix((char const   *)sb___6.buf, (char const   *)"Author: ",
                            & x);
      if (tmp___7) {
        strbuf_addstr(& author_name, x);
      } else {
        tmp___6 = skip_prefix((char const   *)sb___6.buf, (char const   *)"Email: ",
                              & x);
        if (tmp___6) {
          strbuf_addstr(& author_email, x);
        } else {
          tmp___5 = skip_prefix((char const   *)sb___6.buf, (char const   *)"Date: ",
                                & x);
          if (tmp___5) {
            strbuf_addstr(& author_date, x);
          }
        }
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  fclose(fp);
  tmp___10 = strcmp((char const   *)author_name.buf, (char const   *)"Mail System Internal Data");
  if (! tmp___10) {
    ret___67 = 1;
    goto finish;
  }
  strbuf_addstr(& msg___5, (char const   *)"\n\n");
  strbuf_addbuf(& msg___5, (struct strbuf  const  *)(& mi.log_message));
  strbuf_stripspace(& msg___5, 0);
  assert(! state___1->author_name);
  state___1->author_name = strbuf_detach(& author_name, (size_t *)((void *)0));
  assert(! state___1->author_email);
  state___1->author_email = strbuf_detach(& author_email, (size_t *)((void *)0));
  assert(! state___1->author_date);
  state___1->author_date = strbuf_detach(& author_date, (size_t *)((void *)0));
  assert(! state___1->msg);
  state___1->msg = strbuf_detach(& msg___5, & state___1->msg_len);
  finish:
  strbuf_release(& msg___5);
  strbuf_release(& author_date);
  strbuf_release(& author_email);
  strbuf_release(& author_name);
  strbuf_release(& sb___6);
  clear_mailinfo(& mi);
  return (ret___67);
}
}
static int get_mail_commit_oid(struct object_id *commit_id , char const   *mail )
{
  struct strbuf sb___6 ;
  FILE *fp ;
  FILE *tmp ;
  char const   *x ;
  int ret___67 ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = xfopen(mail, (char const   *)"r");
  fp = tmp;
  ret___67 = 0;
  tmp___0 = strbuf_getline_lf(& sb___6, fp);
  if (tmp___0) {
    ret___67 = -1;
  } else {
    tmp___1 = skip_prefix((char const   *)sb___6.buf, (char const   *)"From ", & x);
    if (tmp___1) {
      tmp___2 = get_oid_hex(x, commit_id);
      if (tmp___2 < 0) {
        ret___67 = -1;
      }
    } else {
      ret___67 = -1;
    }
  }
  strbuf_release(& sb___6);
  fclose(fp);
  return (ret___67);
}
}
static void get_commit_info(struct am_state *state___1 , struct commit *commit )
{
  char const   *buffer___5 ;
  char const   *ident_line ;
  char const   *msg___5 ;
  size_t ident_len ;
  struct ident_split id ;
  char const   *tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  void *tmp___4 ;
  void *tmp___5 ;
  struct date_mode *tmp___6 ;
  char const   *tmp___7 ;
  char *tmp___8 ;
  char *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;

  {
  tmp = get_commit_output_encoding();
  buffer___5 = repo_logmsg_reencode(the_repository, (struct commit  const  *)commit,
                                    (char **)((void *)0), tmp);
  ident_line = find_commit_header(buffer___5, (char const   *)"author", & ident_len);
  if (! ident_line) {
    tmp___0 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    tmp___1 = _((char const   *)"missing author line in commit %s");
    die((char const   *)tmp___1, tmp___0);
  }
  tmp___3 = split_ident_line(& id, ident_line, (int )ident_len);
  if (tmp___3 < 0) {
    tmp___2 = _((char const   *)"invalid ident line: %.*s");
    die((char const   *)tmp___2, (int )ident_len, ident_line);
  }
  assert(! state___1->author_name);
  if (id.name_begin) {
    tmp___4 = xmemdupz((void const   *)id.name_begin, (size_t )(id.name_end - id.name_begin));
    state___1->author_name = (char *)tmp___4;
  } else {
    state___1->author_name = xstrdup((char const   *)"");
  }
  assert(! state___1->author_email);
  if (id.mail_begin) {
    tmp___5 = xmemdupz((void const   *)id.mail_begin, (size_t )(id.mail_end - id.mail_begin));
    state___1->author_email = (char *)tmp___5;
  } else {
    state___1->author_email = xstrdup((char const   *)"");
  }
  assert(! state___1->author_date);
  tmp___6 = date_mode_from_type((enum date_mode_type )0);
  tmp___7 = show_ident_date((struct ident_split  const  *)(& id), (struct date_mode  const  *)tmp___6);
  state___1->author_date = xstrdup(tmp___7);
  assert(! state___1->msg);
  tmp___8 = strstr(buffer___5, (char const   *)"\n\n");
  msg___5 = (char const   *)tmp___8;
  if (! msg___5) {
    tmp___9 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    tmp___10 = _((char const   *)"unable to parse commit %s");
    die((char const   *)tmp___10, tmp___9);
  }
  state___1->msg = xstrdup(msg___5 + 2);
  state___1->msg_len = strlen((char const   *)state___1->msg);
  repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit, (void const   *)buffer___5);
  return;
}
}
static void write_commit_patch(struct am_state  const  *state___1 , struct commit *commit )
{
  struct rev_info rev_info ;
  FILE *fp ;
  char const   *tmp ;

  {
  tmp = am_path(state___1, (char const   *)"patch");
  fp = xfopen(tmp, (char const   *)"w");
  repo_init_revisions(the_repository, & rev_info, (char const   *)((void *)0));
  rev_info.diff = 1U;
  rev_info.abbrev = 0U;
  rev_info.disable_stdin = 1U;
  rev_info.show_root_diff = 1U;
  rev_info.diffopt.output_format = 0x0010;
  rev_info.no_commit_id = 1U;
  rev_info.diffopt.flags.binary = 1U;
  rev_info.diffopt.flags.full_index = 1U;
  rev_info.diffopt.use_color = 0;
  rev_info.diffopt.file = fp;
  rev_info.diffopt.close_file = 1;
  add_pending_object(& rev_info, & commit->object, (char const   *)"");
  diff_setup_done(& rev_info.diffopt);
  log_tree_commit(& rev_info, commit);
  return;
}
}
static void write_index_patch(struct am_state  const  *state___1 )
{
  struct tree *tree ;
  struct object_id head___1 ;
  struct rev_info rev_info ;
  FILE *fp ;
  struct commit *commit ;
  struct commit *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;

  {
  tmp___0 = repo_get_oid(the_repository, (char const   *)"HEAD", & head___1);
  if (tmp___0) {
    tree = lookup_tree(the_repository, (struct object_id  const  *)(the_repository->hash_algo)->empty_tree);
  } else {
    tmp = lookup_commit_or_die((struct object_id  const  *)(& head___1), (char const   *)"HEAD");
    commit = tmp;
    tree = repo_get_commit_tree(the_repository, (struct commit  const  *)commit);
  }
  tmp___1 = am_path(state___1, (char const   *)"patch");
  fp = xfopen(tmp___1, (char const   *)"w");
  repo_init_revisions(the_repository, & rev_info, (char const   *)((void *)0));
  rev_info.diff = 1U;
  rev_info.disable_stdin = 1U;
  rev_info.no_commit_id = 1U;
  rev_info.diffopt.output_format = 0x0010;
  rev_info.diffopt.use_color = 0;
  rev_info.diffopt.file = fp;
  rev_info.diffopt.close_file = 1;
  add_pending_object(& rev_info, & tree->object, (char const   *)"");
  diff_setup_done(& rev_info.diffopt);
  run_diff_index(& rev_info, 1U);
  return;
}
}
static int parse_mail_rebase(struct am_state *state___1 , char const   *mail )
{
  struct commit *commit ;
  struct object_id commit_oid ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  tmp___0 = get_mail_commit_oid(& commit_oid, mail);
  if (tmp___0 < 0) {
    tmp = _((char const   *)"could not parse %s");
    die((char const   *)tmp, mail);
  }
  commit = lookup_commit_or_die((struct object_id  const  *)(& commit_oid), mail);
  get_commit_info(state___1, commit);
  write_commit_patch((struct am_state  const  *)state___1, commit);
  oidcpy(& state___1->orig_commit, (struct object_id  const  *)(& commit_oid));
  tmp___1 = oid_to_hex((struct object_id  const  *)(& commit_oid));
  write_state_text((struct am_state  const  *)state___1, (char const   *)"original-commit",
                   (char const   *)tmp___1);
  update_ref((char const   *)"am", (char const   *)"REBASE_HEAD", (struct object_id  const  *)(& commit_oid),
             (struct object_id  const  *)((void *)0), 1U, (enum action_on_err )1);
  return (0);
}
}
static int run_apply(struct am_state  const  *state___1 , char const   *index_file )
{
  struct strvec apply_paths ;
  struct strvec apply_opts ;
  struct apply_state apply_state ;
  int res ;
  int opts_left ;
  int force_apply ;
  int options ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;

  {
  apply_paths.v = empty_strvec;
  apply_paths.nr = 0UL;
  apply_paths.alloc = 0UL;
  apply_opts.v = empty_strvec;
  apply_opts.nr = 0UL;
  apply_opts.alloc = 0UL;
  force_apply = 0;
  options = 0;
  tmp = init_apply_state(& apply_state, the_repository, (char const   *)((void *)0));
  if (tmp) {
    BUG_fl((char const   *)"builtin/am.c", 1478, (char const   *)"init_apply_state() failed");
  }
  strvec_push(& apply_opts, (char const   *)"apply");
  strvec_pushv(& apply_opts, (char const   **)state___1->git_apply_opts.v);
  opts_left = apply_parse_options((int )apply_opts.nr, apply_opts.v, & apply_state,
                                  & force_apply, & options, (char const   **)((void *)0));
  if (opts_left != 0) {
    die((char const   *)"unknown option passed through to git apply");
  }
  if (index_file) {
    apply_state.index_file = index_file;
    apply_state.cached = 1;
  } else {
    apply_state.check_index = 1;
  }
  if (state___1->threeway) {
    if (! index_file) {
      apply_state.apply_verbosity = (enum apply_verbosity )-1;
    }
  }
  tmp___0 = check_apply_state(& apply_state, force_apply);
  if (tmp___0) {
    BUG_fl((char const   *)"builtin/am.c", 1504, (char const   *)"check_apply_state() failed");
  }
  tmp___1 = am_path(state___1, (char const   *)"patch");
  strvec_push(& apply_paths, tmp___1);
  res = apply_all_patches(& apply_state, (int )apply_paths.nr, apply_paths.v, options);
  strvec_clear(& apply_paths);
  strvec_clear(& apply_opts);
  clear_apply_state(& apply_state);
  if (res) {
    return (res);
  }
  if (index_file) {
    discard_index(& the_index);
    tmp___2 = get_git_dir();
    read_index_from(& the_index, index_file, tmp___2);
  }
  return (0);
}
}
static int build_fake_ancestor___0(struct am_state  const  *state___1 , char const   *index_file )
{
  struct child_process cp ;
  char const   *tmp ;
  int tmp___0 ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  cp.git_cmd = 1U;
  strvec_push(& cp.args, (char const   *)"apply");
  strvec_pushv(& cp.args, (char const   **)state___1->git_apply_opts.v);
  strvec_pushf(& cp.args, (char const   *)"--build-fake-ancestor=%s", index_file);
  tmp = am_path(state___1, (char const   *)"patch");
  strvec_push(& cp.args, tmp);
  tmp___0 = run_command(& cp);
  if (tmp___0) {
    return (-1);
  }
  return (0);
}
}
static int fall_back_threeway(struct am_state  const  *state___1 , char const   *index_path___0 )
{
  struct object_id orig_tree ;
  struct object_id their_tree ;
  struct object_id our_tree ;
  struct object_id  const  *bases[1] ;
  struct merge_options___0 o ;
  struct commit *result___0 ;
  char *their_tree_name ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  struct rev_info rev_info ;
  unsigned int tmp___7 ;
  unsigned int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;

  {
  bases[0] = (struct object_id  const  *)(& orig_tree);
  tmp = repo_get_oid(the_repository, (char const   *)"HEAD", & our_tree);
  if (tmp < 0) {
    oidcpy(& our_tree, (struct object_id  const  *)(the_repository->hash_algo)->empty_tree);
  }
  tmp___1 = build_fake_ancestor___0(state___1, index_path___0);
  if (tmp___1) {
    error((char const   *)"could not build fake ancestor");
    tmp___0 = const_error();
    return (tmp___0);
  }
  discard_index(& the_index);
  tmp___2 = get_git_dir();
  read_index_from(& the_index, index_path___0, tmp___2);
  tmp___5 = write_index_as_tree(& orig_tree, & the_index, index_path___0, 0, (char const   *)((void *)0));
  if (tmp___5) {
    tmp___3 = _((char const   *)"Repository lacks necessary blobs to fall back on 3-way merge.");
    error((char const   *)tmp___3);
    tmp___4 = const_error();
    return (tmp___4);
  }
  tmp___6 = _((char const   *)"Using index info to reconstruct a base tree...");
  say(state___1, stdout, (char const   *)tmp___6);
  if (! state___1->quiet) {
    repo_init_revisions(the_repository, & rev_info, (char const   *)((void *)0));
    rev_info.diffopt.output_format = 0x0200;
    tmp___7 = diff_filter_bit((char )'A');
    rev_info.diffopt.filter |= tmp___7;
    tmp___8 = diff_filter_bit((char )'M');
    rev_info.diffopt.filter |= tmp___8;
    add_pending_oid(& rev_info, (char const   *)"HEAD", (struct object_id  const  *)(& our_tree),
                    0U);
    diff_setup_done(& rev_info.diffopt);
    run_diff_index(& rev_info, 1U);
  }
  tmp___11 = run_apply(state___1, index_path___0);
  if (tmp___11) {
    tmp___9 = _((char const   *)"Did you hand edit your patch?\nIt does not apply to blobs recorded in its index.");
    error((char const   *)tmp___9);
    tmp___10 = const_error();
    return (tmp___10);
  }
  tmp___13 = write_index_as_tree(& their_tree, & the_index, index_path___0, 0, (char const   *)((void *)0));
  if (tmp___13) {
    error((char const   *)"could not write tree");
    tmp___12 = const_error();
    return (tmp___12);
  }
  tmp___14 = _((char const   *)"Falling back to patching base and 3-way merge...");
  say(state___1, stdout, (char const   *)tmp___14);
  discard_index(& the_index);
  repo_read_index(the_repository);
  init_merge_options(& o, the_repository);
  o.branch1 = (char const   *)"HEAD";
  tmp___15 = linelen___0((char const   *)state___1->msg);
  their_tree_name = xstrfmt((char const   *)"%.*s", tmp___15, state___1->msg);
  o.branch2 = (char const   *)their_tree_name;
  o.detect_directory_renames = (enum __anonenum_detect_directory_renames_652368180 )0;
  if (state___1->quiet) {
    o.verbosity = 0;
  }
  tmp___18 = merge_recursive_generic(& o, (struct object_id  const  *)(& our_tree),
                                     (struct object_id  const  *)(& their_tree), 1,
                                     bases, & result___0);
  if (tmp___18) {
    repo_rerere(the_repository, (int )state___1->allow_rerere_autoupdate);
    free((void *)their_tree_name);
    tmp___16 = _((char const   *)"Failed to merge in the changes.");
    error((char const   *)tmp___16);
    tmp___17 = const_error();
    return (tmp___17);
  }
  free((void *)their_tree_name);
  return (0);
}
}
static void do_commit___0(struct am_state  const  *state___1 )
{
  struct object_id tree ;
  struct object_id parent ;
  struct object_id commit ;
  struct object_id  const  *old_oid ;
  struct commit_list *parents ;
  char const   *reflog_msg ;
  char const   *author ;
  char const   *committer ;
  struct strbuf sb___6 ;
  int tmp ;
  int __attribute__((__sentinel__))  tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  struct commit *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  char *tmp___7 ;
  char *tmp___8 ;
  char *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  char *tmp___12 ;
  int tmp___13 ;
  FILE *fp ;
  char const   *tmp___14 ;
  FILE *tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  char *tmp___18 ;
  char *tmp___19 ;

  {
  parents = (struct commit_list *)((void *)0);
  committer = (char const   *)((void *)0);
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp___0 = run_hook_le((char const   **)((void *)0), (char const   *)"pre-applypatch",
                        (void *)0);
  if (tmp___0) {
    tmp = trace2_cmd_exit_fl((char const   *)"builtin/am.c", 1640, 1);
    exit(tmp);
  }
  tmp___2 = write_cache_as_tree(& tree, 0, (char const   *)((void *)0));
  if (tmp___2) {
    tmp___1 = _((char const   *)"git write-tree failed to write a tree");
    die((char const   *)tmp___1);
  }
  tmp___5 = repo_get_oid_commit(the_repository, (char const   *)"HEAD", & parent);
  if (tmp___5) {
    old_oid = (struct object_id  const  *)((void *)0);
    tmp___4 = _((char const   *)"applying to an empty history");
    say(state___1, stderr, (char const   *)tmp___4);
  } else {
    old_oid = (struct object_id  const  *)(& parent);
    tmp___3 = lookup_commit(the_repository, (struct object_id  const  *)(& parent));
    commit_list_insert(tmp___3, & parents);
  }
  if (state___1->ignore_date) {
    tmp___6 = (char *)((void *)0);
  } else {
    tmp___6 = state___1->author_date;
  }
  author = fmt_ident((char const   *)state___1->author_name, (char const   *)state___1->author_email,
                     (enum want_ident )1, (char const   *)tmp___6, 1);
  if (state___1->committer_date_is_author_date) {
    if (state___1->ignore_date) {
      tmp___7 = (char *)((void *)0);
    } else {
      tmp___7 = state___1->author_date;
    }
    tmp___8 = getenv((char const   *)"GIT_COMMITTER_EMAIL");
    tmp___9 = getenv((char const   *)"GIT_COMMITTER_NAME");
    committer = fmt_ident((char const   *)tmp___9, (char const   *)tmp___8, (enum want_ident )2,
                          (char const   *)tmp___7, 1);
  }
  tmp___11 = commit_tree_extended((char const   *)state___1->msg, (size_t )state___1->msg_len,
                                  (struct object_id  const  *)(& tree), parents, & commit,
                                  author, committer, (char const   *)state___1->sign_commit,
                                  (struct commit_extra_header *)((void *)0));
  if (tmp___11) {
    tmp___10 = _((char const   *)"failed to write commit object");
    die((char const   *)tmp___10);
  }
  tmp___12 = getenv((char const   *)"GIT_REFLOG_ACTION");
  reflog_msg = (char const   *)tmp___12;
  if (! reflog_msg) {
    reflog_msg = (char const   *)"am";
  }
  tmp___13 = linelen___0((char const   *)state___1->msg);
  strbuf_addf(& sb___6, (char const   *)"%s: %.*s", reflog_msg, tmp___13, state___1->msg);
  update_ref((char const   *)sb___6.buf, (char const   *)"HEAD", (struct object_id  const  *)(& commit),
             old_oid, 0U, (enum action_on_err )1);
  if (state___1->rebasing) {
    tmp___14 = am_path(state___1, (char const   *)"rewritten");
    tmp___15 = xfopen(tmp___14, (char const   *)"a");
    fp = tmp___15;
    tmp___16 = is_null_oid((struct object_id  const  *)(& state___1->orig_commit));
    if (tmp___16) {
      tmp___17 = 0;
    } else {
      tmp___17 = 1;
    }
    assert(tmp___17);
    tmp___18 = oid_to_hex((struct object_id  const  *)(& state___1->orig_commit));
    fprintf(fp, (char const   *)"%s ", tmp___18);
    tmp___19 = oid_to_hex((struct object_id  const  *)(& commit));
    fprintf(fp, (char const   *)"%s\n", tmp___19);
    fclose(fp);
  }
  run_hook_le((char const   **)((void *)0), (char const   *)"post-applypatch", (void *)0);
  strbuf_release(& sb___6);
  return;
}
}
static void validate_resume_state(struct am_state  const  *state___1 )
{
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  if (! state___1->msg) {
    tmp = am_path(state___1, (char const   *)"final-commit");
    tmp___0 = _((char const   *)"cannot resume: %s does not exist.");
    die((char const   *)tmp___0, tmp);
  }
  if (! state___1->author_name) {
    tmp___1 = am_path(state___1, (char const   *)"author-script");
    tmp___2 = _((char const   *)"cannot resume: %s does not exist.");
    die((char const   *)tmp___2, tmp___1);
  } else
  if (! state___1->author_email) {
    tmp___1 = am_path(state___1, (char const   *)"author-script");
    tmp___2 = _((char const   *)"cannot resume: %s does not exist.");
    die((char const   *)tmp___2, tmp___1);
  } else
  if (! state___1->author_date) {
    tmp___1 = am_path(state___1, (char const   *)"author-script");
    tmp___2 = _((char const   *)"cannot resume: %s does not exist.");
    die((char const   *)tmp___2, tmp___1);
  }
  return;
}
}
static int do_interactive(struct am_state *state___1 )
{
  char reply[64] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char *tmp___1 ;
  struct strbuf msg___5 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  char const   *pager___0 ;
  char const   *tmp___4 ;
  struct child_process cp ;
  char const   *tmp___5 ;

  {
  assert((int )state___1->msg);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = _((char const   *)"Commit Body is:");
    puts((char const   *)tmp);
    puts((char const   *)"--------------------------");
    printf((char const   *)"%s", state___1->msg);
    puts((char const   *)"--------------------------");
    tmp___0 = _((char const   *)"Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: ");
    printf((char const   *)tmp___0);
    tmp___1 = fgets(reply, (int )sizeof(reply), stdin);
    if (! tmp___1) {
      die((char const   *)"unable to read from stdin; aborting");
    }
    if ((int )reply[0] == 121) {
      return (0);
    } else
    if ((int )reply[0] == 89) {
      return (0);
    } else
    if ((int )reply[0] == 97) {
      state___1->interactive = 0;
      return (0);
    } else
    if ((int )reply[0] == 65) {
      state___1->interactive = 0;
      return (0);
    } else
    if ((int )reply[0] == 110) {
      return (1);
    } else
    if ((int )reply[0] == 78) {
      return (1);
    } else
    if ((int )reply[0] == 101) {
      goto _L___0;
    } else
    if ((int )reply[0] == 69) {
      _L___0: /* CIL Label */
      msg___5.alloc = 0UL;
      msg___5.len = 0UL;
      msg___5.buf = strbuf_slopbuf;
      tmp___2 = am_path((struct am_state  const  *)state___1, (char const   *)"final-commit");
      tmp___3 = launch_editor(tmp___2, & msg___5, (char const   **)((void *)0));
      if (! tmp___3) {
        free((void *)state___1->msg);
        state___1->msg = strbuf_detach(& msg___5, & state___1->msg_len);
      }
      strbuf_release(& msg___5);
    } else
    if ((int )reply[0] == 118) {
      goto _L;
    } else
    if ((int )reply[0] == 86) {
      _L: /* CIL Label */
      tmp___4 = git_pager(1);
      pager___0 = tmp___4;
      cp.args.v = empty_strvec;
      cp.args.nr = 0UL;
      cp.args.alloc = 0UL;
      cp.env_array.v = empty_strvec;
      cp.env_array.nr = 0UL;
      cp.env_array.alloc = 0UL;
      cp.pid = 0;
      cp.trace2_child_id = 0;
      cp.trace2_child_us_start = 0UL;
      cp.trace2_child_class = (char const   *)0;
      cp.trace2_hook_name = (char const   *)0;
      cp.in = 0;
      cp.out = 0;
      cp.err = 0;
      cp.dir = (char const   *)0;
      cp.no_stdin = 0U;
      cp.no_stdout = 0U;
      cp.no_stderr = 0U;
      cp.git_cmd = 0U;
      cp.silent_exec_failure = 0U;
      cp.use_shell = 0U;
      cp.close_object_store = 0U;
      cp.stdout_to_stderr = 0U;
      cp.clean_on_exit = 0U;
      cp.wait_after_clean = 0U;
      cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
      cp.clean_on_exit_handler_cbdata = (void *)0;
      if (! pager___0) {
        pager___0 = (char const   *)"cat";
      }
      prepare_pager_args(& cp, pager___0);
      tmp___5 = am_path((struct am_state  const  *)state___1, (char const   *)"patch");
      strvec_push(& cp.args, tmp___5);
      run_command(& cp);
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
static void am_run(struct am_state *state___1 , int resume )
{
  struct strbuf sb___6 ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const   *mail ;
  char const   *tmp___4 ;
  char const   *tmp___5 ;
  int apply_status ;
  int to_keep ;
  int tmp___6 ;
  int skip ;
  int tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const   *tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  struct strbuf sb___7 ;
  char const   *tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  char const   *tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  int tmp___26 ;
  char const   *tmp___27 ;
  int tmp___28 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = am_path((struct am_state  const  *)state___1, (char const   *)"dirtyindex");
  unlink(tmp);
  tmp___1 = repo_refresh_and_write_index(the_repository, (unsigned int )(1 << 2),
                                         0U, 0, (struct pathspec  const  *)((void *)0),
                                         (char *)((void *)0), (char const   *)((void *)0));
  if (tmp___1 < 0) {
    tmp___0 = _((char const   *)"unable to write index file");
    die((char const   *)tmp___0);
  }
  tmp___3 = repo_index_has_changes(the_repository, (struct tree *)((void *)0), & sb___6);
  if (tmp___3) {
    write_state_bool((struct am_state  const  *)state___1, (char const   *)"dirtyindex",
                     1);
    tmp___2 = _((char const   *)"Dirty index: cannot apply patches (dirty: %s)");
    die((char const   *)tmp___2, sb___6.buf);
  }
  strbuf_release(& sb___6);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (state___1->cur <= state___1->last)) {
      goto while_break;
    }
    tmp___4 = msgnum((struct am_state  const  *)state___1);
    tmp___5 = am_path((struct am_state  const  *)state___1, tmp___4);
    mail = tmp___5;
    reset_ident_date();
    tmp___6 = file_exists(mail);
    if (! tmp___6) {
      goto next;
    }
    if (resume) {
      validate_resume_state((struct am_state  const  *)state___1);
    } else {
      if (state___1->rebasing) {
        skip = parse_mail_rebase(state___1, mail);
      } else {
        skip = parse_mail(state___1, mail);
      }
      if (skip) {
        goto next;
      }
      if (state___1->signoff) {
        am_append_signoff(state___1);
      }
      write_author_script___0((struct am_state  const  *)state___1);
      write_commit_msg((struct am_state  const  *)state___1);
    }
    if (state___1->interactive) {
      tmp___7 = do_interactive(state___1);
      if (tmp___7) {
        goto next;
      }
    }
    to_keep = 0;
    tmp___13 = am_path((struct am_state  const  *)state___1, (char const   *)"patch");
    tmp___14 = is_empty_or_missing_file(tmp___13);
    if (tmp___14) {
      {
      if (state___1->empty_type == 1) {
        goto case_1;
      }
      if (state___1->empty_type == 2) {
        goto case_2;
      }
      if (state___1->empty_type == 0) {
        goto case_0;
      }
      goto switch_break;
      case_1: /* CIL Label */
      tmp___8 = linelen___0((char const   *)state___1->msg);
      tmp___9 = _((char const   *)"Skipping: %.*s");
      say((struct am_state  const  *)state___1, stdout, (char const   *)tmp___9, tmp___8,
          state___1->msg);
      goto next;
      goto switch_break;
      case_2: /* CIL Label */
      to_keep = 1;
      tmp___10 = linelen___0((char const   *)state___1->msg);
      tmp___11 = _((char const   *)"Creating an empty commit: %.*s");
      say((struct am_state  const  *)state___1, stdout, (char const   *)tmp___11,
          tmp___10, state___1->msg);
      goto switch_break;
      case_0: /* CIL Label */
      tmp___12 = _((char const   *)"Patch is empty.");
      printf_ln((char const   *)tmp___12);
      die_user_resolve((struct am_state  const  *)state___1);
      goto switch_break;
      switch_break: /* CIL Label */ ;
      }
    }
    tmp___16 = run_applypatch_msg_hook(state___1);
    if (tmp___16) {
      tmp___15 = trace2_cmd_exit_fl((char const   *)"builtin/am.c", 1843, 1);
      exit(tmp___15);
    }
    if (to_keep) {
      goto commit;
    }
    tmp___17 = linelen___0((char const   *)state___1->msg);
    tmp___18 = _((char const   *)"Applying: %.*s");
    say((struct am_state  const  *)state___1, stdout, (char const   *)tmp___18, tmp___17,
        state___1->msg);
    apply_status = run_apply((struct am_state  const  *)state___1, (char const   *)((void *)0));
    if (apply_status) {
      if (state___1->threeway) {
        sb___7.alloc = 0UL;
        sb___7.len = 0UL;
        sb___7.buf = strbuf_slopbuf;
        tmp___19 = am_path((struct am_state  const  *)state___1, (char const   *)"patch-merge-index");
        strbuf_addstr(& sb___7, tmp___19);
        apply_status = fall_back_threeway((struct am_state  const  *)state___1, (char const   *)sb___7.buf);
        strbuf_release(& sb___7);
        if (! apply_status) {
          tmp___21 = repo_index_has_changes(the_repository, (struct tree *)((void *)0),
                                            (struct strbuf *)((void *)0));
          if (! tmp___21) {
            tmp___20 = _((char const   *)"No changes -- Patch already applied.");
            say((struct am_state  const  *)state___1, stdout, (char const   *)tmp___20);
            goto next;
          }
        }
      }
    }
    if (apply_status) {
      tmp___22 = linelen___0((char const   *)state___1->msg);
      tmp___23 = msgnum((struct am_state  const  *)state___1);
      tmp___24 = _((char const   *)"Patch failed at %s %.*s");
      printf_ln((char const   *)tmp___24, tmp___23, tmp___22, state___1->msg);
      tmp___26 = advice_enabled((enum advice_type )3);
      if (tmp___26) {
        tmp___25 = _((char const   *)"Use \'git am --show-current-patch=diff\' to see the failed patch");
        advise((char const   *)tmp___25);
      }
      die_user_resolve((struct am_state  const  *)state___1);
    }
    commit:
    do_commit___0((struct am_state  const  *)state___1);
    next:
    am_next(state___1);
    if (resume) {
      am_load(state___1);
    }
    resume = 0;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___27 = am_path((struct am_state  const  *)state___1, (char const   *)"rewritten");
  tmp___28 = is_empty_or_missing_file(tmp___27);
  if (! tmp___28) {
    assert(state___1->rebasing);
    copy_notes_for_rebase((struct am_state  const  *)state___1);
    run_post_rewrite_hook((struct am_state  const  *)state___1);
  }
  if (! state___1->rebasing) {
    am_destroy((struct am_state  const  *)state___1);
    run_auto_maintenance(state___1->quiet);
  }
  return;
}
}
static void am_resolve(struct am_state *state___1 , int allow_empty___1 )
{
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  validate_resume_state((struct am_state  const  *)state___1);
  tmp = linelen___0((char const   *)state___1->msg);
  tmp___0 = _((char const   *)"Applying: %.*s");
  say((struct am_state  const  *)state___1, stdout, (char const   *)tmp___0, tmp,
      state___1->msg);
  tmp___5 = repo_index_has_changes(the_repository, (struct tree *)((void *)0), (struct strbuf *)((void *)0));
  if (! tmp___5) {
    if (allow_empty___1) {
      tmp___3 = am_path((struct am_state  const  *)state___1, (char const   *)"patch");
      tmp___4 = is_empty_or_missing_file(tmp___3);
      if (tmp___4) {
        tmp___1 = _((char const   *)"No changes - recorded it as an empty commit.");
        printf_ln((char const   *)tmp___1);
      } else {
        tmp___2 = _((char const   *)"No changes - did you forget to use \'git add\'?\nIf there is nothing left to stage, chances are that something else\nalready introduced the same changes; you might want to skip this patch.");
        printf_ln((char const   *)tmp___2);
        die_user_resolve((struct am_state  const  *)state___1);
      }
    } else {
      tmp___2 = _((char const   *)"No changes - did you forget to use \'git add\'?\nIf there is nothing left to stage, chances are that something else\nalready introduced the same changes; you might want to skip this patch.");
      printf_ln((char const   *)tmp___2);
      die_user_resolve((struct am_state  const  *)state___1);
    }
  }
  tmp___7 = unmerged_index((struct index_state  const  *)(& the_index));
  if (tmp___7) {
    tmp___6 = _((char const   *)"You still have unmerged paths in your index.\nYou should \'git add\' each file with resolved conflicts to mark them as such.\nYou might run `git rm` on a file to accept \"deleted by them\" for it.");
    printf_ln((char const   *)tmp___6);
    die_user_resolve((struct am_state  const  *)state___1);
  }
  if (state___1->interactive) {
    write_index_patch((struct am_state  const  *)state___1);
    tmp___8 = do_interactive(state___1);
    if (tmp___8) {
      goto next;
    }
  }
  repo_rerere(the_repository, 0);
  do_commit___0((struct am_state  const  *)state___1);
  next:
  am_next(state___1);
  am_load(state___1);
  am_run(state___1, 0);
  return;
}
}
static int fast_forward_to___0(struct tree *head___1 , struct tree *remote , int reset )
{
  struct lock_file lock_file___0 ;
  struct unpack_trees_options opts___1 ;
  struct tree_desc t[2] ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  lock_file___0.tempfile = (struct tempfile *)0;
  tmp = parse_tree(head___1);
  if (tmp) {
    return (-1);
  } else {
    tmp___0 = parse_tree(remote);
    if (tmp___0) {
      return (-1);
    }
  }
  repo_hold_locked_index(the_repository, & lock_file___0, 1);
  refresh_index(& the_index, (unsigned int )(1 << 2), (struct pathspec  const  *)((void *)0),
                (char *)((void *)0), (char const   *)((void *)0));
  memset((void *)(& opts___1), 0, sizeof(opts___1));
  opts___1.head_idx = 1;
  opts___1.src_index = & the_index;
  opts___1.dst_index = & the_index;
  opts___1.update = 1U;
  opts___1.merge = 1U;
  if (reset) {
    opts___1.reset = (enum unpack_trees_reset_type )2;
  } else {
    opts___1.reset = (enum unpack_trees_reset_type )0;
  }
  opts___1.preserve_ignored = 0U;
  opts___1.fn = & twoway_merge;
  init_tree_desc(& t[0], (void const   *)head___1->buffer, head___1->size);
  init_tree_desc(& t[1], (void const   *)remote->buffer, remote->size);
  tmp___1 = unpack_trees(2U, t, & opts___1);
  if (tmp___1) {
    rollback_lock_file(& lock_file___0);
    return (-1);
  }
  tmp___3 = write_locked_index(& the_index, & lock_file___0, 1U);
  if (tmp___3) {
    tmp___2 = _((char const   *)"unable to write new index file");
    die((char const   *)tmp___2);
  }
  return (0);
}
}
static int merge_tree(struct tree *tree )
{
  struct lock_file lock_file___0 ;
  struct unpack_trees_options opts___1 ;
  struct tree_desc t[1] ;
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  lock_file___0.tempfile = (struct tempfile *)0;
  tmp = parse_tree(tree);
  if (tmp) {
    return (-1);
  }
  repo_hold_locked_index(the_repository, & lock_file___0, 1);
  memset((void *)(& opts___1), 0, sizeof(opts___1));
  opts___1.head_idx = 1;
  opts___1.src_index = & the_index;
  opts___1.dst_index = & the_index;
  opts___1.merge = 1U;
  opts___1.fn = & oneway_merge;
  init_tree_desc(& t[0], (void const   *)tree->buffer, tree->size);
  tmp___0 = unpack_trees(1U, t, & opts___1);
  if (tmp___0) {
    rollback_lock_file(& lock_file___0);
    return (-1);
  }
  tmp___2 = write_locked_index(& the_index, & lock_file___0, 1U);
  if (tmp___2) {
    tmp___1 = _((char const   *)"unable to write new index file");
    die((char const   *)tmp___1);
  }
  return (0);
}
}
static int clean_index(struct object_id  const  *head___1 , struct object_id  const  *remote )
{
  struct tree *head_tree ;
  struct tree *remote_tree ;
  struct tree *index_tree ;
  struct object_id index___2 ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;

  {
  head_tree = parse_tree_indirect(head___1);
  if (! head_tree) {
    tmp = oid_to_hex(head___1);
    tmp___0 = _((char const   *)"Could not parse object \'%s\'.");
    error((char const   *)tmp___0, tmp);
    tmp___1 = const_error();
    return (tmp___1);
  }
  remote_tree = parse_tree_indirect(remote);
  if (! remote_tree) {
    tmp___2 = oid_to_hex(remote);
    tmp___3 = _((char const   *)"Could not parse object \'%s\'.");
    error((char const   *)tmp___3, tmp___2);
    tmp___4 = const_error();
    return (tmp___4);
  }
  repo_read_index_unmerged(the_repository);
  tmp___5 = fast_forward_to___0(head_tree, head_tree, 1);
  if (tmp___5) {
    return (-1);
  }
  tmp___6 = write_cache_as_tree(& index___2, 0, (char const   *)((void *)0));
  if (tmp___6) {
    return (-1);
  }
  index_tree = parse_tree_indirect((struct object_id  const  *)(& index___2));
  if (! index_tree) {
    tmp___7 = oid_to_hex((struct object_id  const  *)(& index___2));
    tmp___8 = _((char const   *)"Could not parse object \'%s\'.");
    error((char const   *)tmp___8, tmp___7);
    tmp___9 = const_error();
    return (tmp___9);
  }
  tmp___10 = fast_forward_to___0(index_tree, remote_tree, 0);
  if (tmp___10) {
    return (-1);
  }
  tmp___11 = merge_tree(remote_tree);
  if (tmp___11) {
    return (-1);
  }
  remove_branch_state(the_repository, 0);
  return (0);
}
}
static void am_rerere_clear(void)
{
  struct string_list merge_rr ;

  {
  merge_rr.items = (struct string_list_item *)0;
  merge_rr.nr = 0U;
  merge_rr.alloc = 0U;
  merge_rr.strdup_strings = 1U;
  merge_rr.cmp = (int (*)(char const   * , char const   * ))0;
  rerere_clear(the_repository, & merge_rr);
  string_list_clear(& merge_rr, 1);
  return;
}
}
static void am_skip(struct am_state *state___1 )
{
  struct object_id head___1 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  FILE *fp ;
  char const   *tmp___2 ;
  FILE *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  char *tmp___7 ;

  {
  am_rerere_clear();
  tmp = repo_get_oid(the_repository, (char const   *)"HEAD", & head___1);
  if (tmp) {
    oidcpy(& head___1, (struct object_id  const  *)(the_repository->hash_algo)->empty_tree);
  }
  tmp___1 = clean_index((struct object_id  const  *)(& head___1), (struct object_id  const  *)(& head___1));
  if (tmp___1) {
    tmp___0 = _((char const   *)"failed to clean index");
    die((char const   *)tmp___0);
  }
  if (state___1->rebasing) {
    tmp___2 = am_path((struct am_state  const  *)state___1, (char const   *)"rewritten");
    tmp___3 = xfopen(tmp___2, (char const   *)"a");
    fp = tmp___3;
    tmp___4 = is_null_oid((struct object_id  const  *)(& state___1->orig_commit));
    if (tmp___4) {
      tmp___5 = 0;
    } else {
      tmp___5 = 1;
    }
    assert(tmp___5);
    tmp___6 = oid_to_hex((struct object_id  const  *)(& state___1->orig_commit));
    fprintf(fp, (char const   *)"%s ", tmp___6);
    tmp___7 = oid_to_hex((struct object_id  const  *)(& head___1));
    fprintf(fp, (char const   *)"%s\n", tmp___7);
    fclose(fp);
  }
  am_next(state___1);
  am_load(state___1);
  am_run(state___1, 0);
  return;
}
}
static int safe_to_abort(struct am_state  const  *state___1 )
{
  struct strbuf sb___6 ;
  struct object_id abort_safety ;
  struct object_id head___1 ;
  char const   *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = am_path(state___1, (char const   *)"dirtyindex");
  tmp___0 = file_exists(tmp);
  if (tmp___0) {
    return (0);
  }
  tmp___4 = read_state_file(& sb___6, state___1, (char const   *)"abort-safety", 1);
  if (tmp___4 > 0) {
    tmp___3 = get_oid_hex((char const   *)sb___6.buf, & abort_safety);
    if (tmp___3) {
      tmp___1 = am_path(state___1, (char const   *)"abort-safety");
      tmp___2 = _((char const   *)"could not parse %s");
      die((char const   *)tmp___2, tmp___1);
    }
  } else {
    oidclr(& abort_safety);
  }
  strbuf_release(& sb___6);
  tmp___5 = repo_get_oid(the_repository, (char const   *)"HEAD", & head___1);
  if (tmp___5) {
    oidclr(& head___1);
  }
  tmp___6 = oideq((struct object_id  const  *)(& head___1), (struct object_id  const  *)(& abort_safety));
  if (tmp___6) {
    return (1);
  }
  tmp___7 = _((char const   *)"You seem to have moved HEAD since the last \'am\' failure.\nNot rewinding to ORIG_HEAD");
  warning((char const   *)tmp___7);
  return (0);
}
}
static void am_abort(struct am_state *state___1 )
{
  struct object_id curr_head ;
  struct object_id orig_head ;
  int has_curr_head ;
  int has_orig_head ;
  char *curr_branch ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  struct object_id *tmp___6 ;

  {
  tmp = safe_to_abort((struct am_state  const  *)state___1);
  if (! tmp) {
    am_destroy((struct am_state  const  *)state___1);
    return;
  }
  am_rerere_clear();
  curr_branch = resolve_refdup((char const   *)"HEAD", 0, & curr_head, (int *)((void *)0));
  if (curr_branch) {
    tmp___0 = is_null_oid((struct object_id  const  *)(& curr_head));
    if (tmp___0) {
      tmp___1 = 0;
    } else {
      tmp___1 = 1;
    }
  } else {
    tmp___1 = 0;
  }
  has_curr_head = tmp___1;
  if (! has_curr_head) {
    oidcpy(& curr_head, (struct object_id  const  *)(the_repository->hash_algo)->empty_tree);
  }
  tmp___2 = repo_get_oid(the_repository, (char const   *)"ORIG_HEAD", & orig_head);
  if (tmp___2) {
    tmp___3 = 0;
  } else {
    tmp___3 = 1;
  }
  has_orig_head = tmp___3;
  if (! has_orig_head) {
    oidcpy(& orig_head, (struct object_id  const  *)(the_repository->hash_algo)->empty_tree);
  }
  tmp___5 = clean_index((struct object_id  const  *)(& curr_head), (struct object_id  const  *)(& orig_head));
  if (tmp___5) {
    tmp___4 = _((char const   *)"failed to clean index");
    die((char const   *)tmp___4);
  }
  if (has_orig_head) {
    if (has_curr_head) {
      tmp___6 = & curr_head;
    } else {
      tmp___6 = (struct object_id *)((void *)0);
    }
    update_ref((char const   *)"am --abort", (char const   *)"HEAD", (struct object_id  const  *)(& orig_head),
               (struct object_id  const  *)tmp___6, 0U, (enum action_on_err )1);
  } else
  if (curr_branch) {
    delete_ref((char const   *)((void *)0), (char const   *)curr_branch, (struct object_id  const  *)((void *)0),
               1U);
  }
  free((void *)curr_branch);
  am_destroy((struct am_state  const  *)state___1);
  return;
}
}
static int show_patch(struct am_state *state___1 , enum show_patch_type sub_mode )
{
  struct strbuf sb___6 ;
  char const   *patch_path ;
  int len___0 ;
  char const   *av[4] ;
  char *new_oid_str ;
  int ret___67 ;
  char *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  ssize_t tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp___0 = is_null_oid((struct object_id  const  *)(& state___1->orig_commit));
  if (! tmp___0) {
    av[0] = (char const   *)"show";
    av[1] = (char const   *)((void *)0);
    av[2] = (char const   *)"--";
    av[3] = (char const   *)((void *)0);
    tmp = oid_to_hex((struct object_id  const  *)(& state___1->orig_commit));
    new_oid_str = xstrdup((char const   *)tmp);
    av[1] = (char const   *)new_oid_str;
    ret___67 = run_command_v_opt(av, 1 << 1);
    free((void *)new_oid_str);
    return (ret___67);
  }
  {
  if ((unsigned int )sub_mode == 0U) {
    goto case_0;
  }
  if ((unsigned int )sub_mode == 1U) {
    goto case_1;
  }
  goto switch_default;
  case_0: /* CIL Label */
  tmp___1 = msgnum((struct am_state  const  *)state___1);
  patch_path = am_path((struct am_state  const  *)state___1, tmp___1);
  goto switch_break;
  case_1: /* CIL Label */
  patch_path = am_path((struct am_state  const  *)state___1, (char const   *)"patch");
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"builtin/am.c", 2204, (char const   *)"invalid mode for --show-current-patch");
  switch_break: /* CIL Label */ ;
  }
  tmp___2 = strbuf_read_file(& sb___6, patch_path, (size_t )0);
  len___0 = (int )tmp___2;
  if (len___0 < 0) {
    tmp___3 = _((char const   *)"failed to read \'%s\'");
    die_errno((char const   *)tmp___3, patch_path);
  }
  setup_pager();
  write_in_full(1, (void const   *)sb___6.buf, sb___6.len);
  strbuf_release(& sb___6);
  return (0);
}
}
static int parse_opt_patchformat(struct option  const  *opt___0 , char const   *arg ,
                                 int unset )
{
  int *opt_value ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  opt_value = (int *)opt___0->value;
  if (unset) {
    *opt_value = 0;
  } else {
    tmp___5 = strcmp(arg, (char const   *)"mbox");
    if (tmp___5) {
      tmp___4 = strcmp(arg, (char const   *)"stgit");
      if (tmp___4) {
        tmp___3 = strcmp(arg, (char const   *)"stgit-series");
        if (tmp___3) {
          tmp___2 = strcmp(arg, (char const   *)"hg");
          if (tmp___2) {
            tmp___1 = strcmp(arg, (char const   *)"mboxrd");
            if (tmp___1) {
              tmp = _((char const   *)"Invalid value for --patch-format: %s");
              error((char const   *)tmp, arg);
              tmp___0 = const_error();
              return (tmp___0);
            } else {
              *opt_value = 5;
            }
          } else {
            *opt_value = 4;
          }
        } else {
          *opt_value = 3;
        }
      } else {
        *opt_value = 2;
      }
    } else {
      *opt_value = 1;
    }
  }
  return (0);
}
}
static int parse_opt_show_current_patch(struct option  const  *opt___0 , char const   *arg ,
                                        int unset )
{
  int *opt_value ;
  struct resume_mode *resume ;
  char const   *valid_modes[2] ;
  int new_value ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  opt_value = (int *)opt___0->value;
  resume = (struct resume_mode *)((char *)opt_value - (unsigned long )(& ((struct resume_mode *)0)->mode));
  valid_modes[0] = (char const   *)"raw";
  valid_modes[1] = (char const   *)"diff";
  new_value = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/am.c", 2277, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (arg) {
    new_value = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned long )new_value < sizeof(valid_modes) / sizeof(valid_modes[0]) + (sizeof(char [1]) - 1UL))) {
        goto while_break___0;
      }
      tmp = strcmp(arg, valid_modes[new_value]);
      if (! tmp) {
        goto while_break___0;
      }
      new_value ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if ((unsigned long )new_value >= sizeof(valid_modes) / sizeof(valid_modes[0]) + (sizeof(char [1]) - 1UL)) {
      tmp___0 = _((char const   *)"Invalid value for --show-current-patch: %s");
      error((char const   *)tmp___0, arg);
      tmp___1 = const_error();
      return (tmp___1);
    }
  }
  if ((unsigned int )resume->mode == 6U) {
    if ((unsigned int )new_value != (unsigned int )resume->sub_mode) {
      tmp___2 = _((char const   *)"options \'%s=%s\' and \'%s=%s\' cannot be used together");
      error((char const   *)tmp___2, "--show-current-patch", "--show-current-patch",
            arg, valid_modes[resume->sub_mode]);
      tmp___3 = const_error();
      return (tmp___3);
    }
  }
  resume->mode = (enum resume_type )6;
  resume->sub_mode = (enum show_patch_type )new_value;
  return (0);
}
}
static int git_am_config(char const   *k , char const   *v , void *cb )
{
  int status ;
  int tmp ;

  {
  status = git_gpg_config(k, v, (void *)0);
  if (status) {
    return (status);
  }
  tmp = git_default_config(k, v, (void *)0);
  return (tmp);
}
}
int cmd_am(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct am_state state___1 ;
  int binary ;
  int keep_cr___0 ;
  int patch_format ;
  struct resume_mode resume ;
  int in_progress ;
  int ret___67 ;
  char const   *usage___2[3] ;
  struct option options[38] ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  struct strvec paths___0 ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const   *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;

  {
  binary = -1;
  keep_cr___0 = -1;
  patch_format = 0;
  resume.mode = (enum resume_type )0;
  resume.sub_mode = 0U;
  ret___67 = 0;
  usage___2[0] = (char const   *)"git am [<options>] [(<mbox> | <Maildir>)...]";
  usage___2[1] = (char const   *)"git am [<options>] (--continue | --skip | --abort)";
  usage___2[2] = (char const   *)((void *)0);
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 'i';
  options[0].long_name = (char const   *)"interactive";
  options[0].value = (void *)(& state___1.interactive);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"run interactively";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 'b';
  options[1].long_name = (char const   *)"binary";
  options[1].value = (void *)(& binary);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"historical option -- no-op";
  options[1].flags = (enum parse_opt_option_flags )10;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = '3';
  options[2].long_name = (char const   *)"3way";
  options[2].value = (void *)(& state___1.threeway);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"allow fall back on 3way merging if needed";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )1;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )7;
  options[3].short_name = 'q';
  options[3].long_name = (char const   *)"quiet";
  options[3].value = (void *)(& state___1.quiet);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"be quiet";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)0;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 's';
  options[4].long_name = (char const   *)"signoff";
  options[4].value = (void *)(& state___1.signoff);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"add a Signed-off-by trailer to the commit message";
  options[4].flags = (enum parse_opt_option_flags )2;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )2;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )8;
  options[5].short_name = 'u';
  options[5].long_name = (char const   *)"utf8";
  options[5].value = (void *)(& state___1.utf8);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"recode into utf8 (default)";
  options[5].flags = (enum parse_opt_option_flags )2;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )1;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )8;
  options[6].short_name = 'k';
  options[6].long_name = (char const   *)"keep";
  options[6].value = (void *)(& state___1.keep);
  options[6].argh = (char const   *)((void *)0);
  options[6].help = (char const   *)"pass -k flag to git-mailinfo";
  options[6].flags = (enum parse_opt_option_flags )2;
  options[6].callback = (parse_opt_cb *)((void *)0);
  options[6].defval = (intptr_t )1;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )8;
  options[7].short_name = 0;
  options[7].long_name = (char const   *)"keep-non-patch";
  options[7].value = (void *)(& state___1.keep);
  options[7].argh = (char const   *)((void *)0);
  options[7].help = (char const   *)"pass -b flag to git-mailinfo";
  options[7].flags = (enum parse_opt_option_flags )2;
  options[7].callback = (parse_opt_cb *)((void *)0);
  options[7].defval = (intptr_t )2;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )8;
  options[8].short_name = 'm';
  options[8].long_name = (char const   *)"message-id";
  options[8].value = (void *)(& state___1.message_id);
  options[8].argh = (char const   *)((void *)0);
  options[8].help = (char const   *)"pass -m flag to git-mailinfo";
  options[8].flags = (enum parse_opt_option_flags )2;
  options[8].callback = (parse_opt_cb *)((void *)0);
  options[8].defval = (intptr_t )1;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  options[9].type = (enum parse_opt_type )8;
  options[9].short_name = 0;
  options[9].long_name = (char const   *)"keep-cr";
  options[9].value = (void *)(& keep_cr___0);
  options[9].argh = (char const   *)((void *)0);
  options[9].help = (char const   *)"pass --keep-cr flag to git-mailsplit for mbox format";
  options[9].flags = (enum parse_opt_option_flags )6;
  options[9].callback = (parse_opt_cb *)((void *)0);
  options[9].defval = (intptr_t )1;
  options[9].ll_callback = (parse_opt_ll_cb *)0;
  options[9].extra = 0L;
  options[10].type = (enum parse_opt_type )8;
  options[10].short_name = 0;
  options[10].long_name = (char const   *)"no-keep-cr";
  options[10].value = (void *)(& keep_cr___0);
  options[10].argh = (char const   *)((void *)0);
  options[10].help = (char const   *)"do not pass --keep-cr flag to git-mailsplit independent of am.keepcr";
  options[10].flags = (enum parse_opt_option_flags )6;
  options[10].callback = (parse_opt_cb *)((void *)0);
  options[10].defval = (intptr_t )0;
  options[10].ll_callback = (parse_opt_ll_cb *)0;
  options[10].extra = 0L;
  options[11].type = (enum parse_opt_type )8;
  options[11].short_name = 'c';
  options[11].long_name = (char const   *)"scissors";
  options[11].value = (void *)(& state___1.scissors);
  options[11].argh = (char const   *)((void *)0);
  options[11].help = (char const   *)"strip everything before a scissors line";
  options[11].flags = (enum parse_opt_option_flags )2;
  options[11].callback = (parse_opt_cb *)((void *)0);
  options[11].defval = (intptr_t )1;
  options[11].ll_callback = (parse_opt_ll_cb *)0;
  options[11].extra = 0L;
  options[12].type = (enum parse_opt_type )12;
  options[12].short_name = 0;
  options[12].long_name = (char const   *)"quoted-cr";
  options[12].value = (void *)(& state___1.quoted_cr);
  options[12].argh = (char const   *)"action";
  options[12].help = (char const   *)"pass it through git-mailinfo";
  options[12].flags = (enum parse_opt_option_flags )4;
  options[12].callback = & am_option_parse_quoted_cr;
  options[12].defval = 0L;
  options[12].ll_callback = (parse_opt_ll_cb *)0;
  options[12].extra = 0L;
  options[13].type = (enum parse_opt_type )12;
  options[13].short_name = 0;
  options[13].long_name = (char const   *)"whitespace";
  options[13].value = (void *)(& state___1.git_apply_opts);
  options[13].argh = (char const   *)"action";
  options[13].help = (char const   *)"pass it through git-apply";
  options[13].flags = (enum parse_opt_option_flags )0;
  options[13].callback = & parse_opt_passthru_argv;
  options[13].defval = 0L;
  options[13].ll_callback = (parse_opt_ll_cb *)0;
  options[13].extra = 0L;
  options[14].type = (enum parse_opt_type )12;
  options[14].short_name = 0;
  options[14].long_name = (char const   *)"ignore-space-change";
  options[14].value = (void *)(& state___1.git_apply_opts);
  options[14].argh = (char const   *)((void *)0);
  options[14].help = (char const   *)"pass it through git-apply";
  options[14].flags = (enum parse_opt_option_flags )2;
  options[14].callback = & parse_opt_passthru_argv;
  options[14].defval = 0L;
  options[14].ll_callback = (parse_opt_ll_cb *)0;
  options[14].extra = 0L;
  options[15].type = (enum parse_opt_type )12;
  options[15].short_name = 0;
  options[15].long_name = (char const   *)"ignore-whitespace";
  options[15].value = (void *)(& state___1.git_apply_opts);
  options[15].argh = (char const   *)((void *)0);
  options[15].help = (char const   *)"pass it through git-apply";
  options[15].flags = (enum parse_opt_option_flags )2;
  options[15].callback = & parse_opt_passthru_argv;
  options[15].defval = 0L;
  options[15].ll_callback = (parse_opt_ll_cb *)0;
  options[15].extra = 0L;
  options[16].type = (enum parse_opt_type )12;
  options[16].short_name = 0;
  options[16].long_name = (char const   *)"directory";
  options[16].value = (void *)(& state___1.git_apply_opts);
  options[16].argh = (char const   *)"root";
  options[16].help = (char const   *)"pass it through git-apply";
  options[16].flags = (enum parse_opt_option_flags )0;
  options[16].callback = & parse_opt_passthru_argv;
  options[16].defval = 0L;
  options[16].ll_callback = (parse_opt_ll_cb *)0;
  options[16].extra = 0L;
  options[17].type = (enum parse_opt_type )12;
  options[17].short_name = 0;
  options[17].long_name = (char const   *)"exclude";
  options[17].value = (void *)(& state___1.git_apply_opts);
  options[17].argh = (char const   *)"path";
  options[17].help = (char const   *)"pass it through git-apply";
  options[17].flags = (enum parse_opt_option_flags )0;
  options[17].callback = & parse_opt_passthru_argv;
  options[17].defval = 0L;
  options[17].ll_callback = (parse_opt_ll_cb *)0;
  options[17].extra = 0L;
  options[18].type = (enum parse_opt_type )12;
  options[18].short_name = 0;
  options[18].long_name = (char const   *)"include";
  options[18].value = (void *)(& state___1.git_apply_opts);
  options[18].argh = (char const   *)"path";
  options[18].help = (char const   *)"pass it through git-apply";
  options[18].flags = (enum parse_opt_option_flags )0;
  options[18].callback = & parse_opt_passthru_argv;
  options[18].defval = 0L;
  options[18].ll_callback = (parse_opt_ll_cb *)0;
  options[18].extra = 0L;
  options[19].type = (enum parse_opt_type )12;
  options[19].short_name = 'C';
  options[19].long_name = (char const   *)((void *)0);
  options[19].value = (void *)(& state___1.git_apply_opts);
  options[19].argh = (char const   *)"n";
  options[19].help = (char const   *)"pass it through git-apply";
  options[19].flags = (enum parse_opt_option_flags )0;
  options[19].callback = & parse_opt_passthru_argv;
  options[19].defval = 0L;
  options[19].ll_callback = (parse_opt_ll_cb *)0;
  options[19].extra = 0L;
  options[20].type = (enum parse_opt_type )12;
  options[20].short_name = 'p';
  options[20].long_name = (char const   *)((void *)0);
  options[20].value = (void *)(& state___1.git_apply_opts);
  options[20].argh = (char const   *)"num";
  options[20].help = (char const   *)"pass it through git-apply";
  options[20].flags = (enum parse_opt_option_flags )0;
  options[20].callback = & parse_opt_passthru_argv;
  options[20].defval = 0L;
  options[20].ll_callback = (parse_opt_ll_cb *)0;
  options[20].extra = 0L;
  options[21].type = (enum parse_opt_type )12;
  options[21].short_name = 0;
  options[21].long_name = (char const   *)"patch-format";
  options[21].value = (void *)(& patch_format);
  options[21].argh = (char const   *)"format";
  options[21].help = (char const   *)"format the patch(es) are in";
  options[21].flags = (enum parse_opt_option_flags )0;
  options[21].callback = & parse_opt_patchformat;
  options[21].defval = 0L;
  options[21].ll_callback = (parse_opt_ll_cb *)0;
  options[21].extra = 0L;
  options[22].type = (enum parse_opt_type )12;
  options[22].short_name = 0;
  options[22].long_name = (char const   *)"reject";
  options[22].value = (void *)(& state___1.git_apply_opts);
  options[22].argh = (char const   *)((void *)0);
  options[22].help = (char const   *)"pass it through git-apply";
  options[22].flags = (enum parse_opt_option_flags )2;
  options[22].callback = & parse_opt_passthru_argv;
  options[22].defval = 0L;
  options[22].ll_callback = (parse_opt_ll_cb *)0;
  options[22].extra = 0L;
  options[23].type = (enum parse_opt_type )9;
  options[23].short_name = 0;
  options[23].long_name = (char const   *)"resolvemsg";
  options[23].value = (void *)(& state___1.resolvemsg);
  options[23].argh = (char const   *)((void *)0);
  options[23].help = (char const   *)"override error message when patch failure occurs";
  options[23].flags = (enum parse_opt_option_flags )0;
  options[23].callback = (parse_opt_cb *)0;
  options[23].defval = 0L;
  options[23].ll_callback = (parse_opt_ll_cb *)0;
  options[23].extra = 0L;
  options[24].type = (enum parse_opt_type )8;
  options[24].short_name = 0;
  options[24].long_name = (char const   *)"continue";
  options[24].value = (void *)(& resume.mode);
  options[24].argh = (char const   *)((void *)0);
  options[24].help = (char const   *)"continue applying patches after resolving a conflict";
  options[24].flags = (enum parse_opt_option_flags )2054;
  options[24].callback = (parse_opt_cb *)((void *)0);
  options[24].defval = (intptr_t )2;
  options[24].ll_callback = (parse_opt_ll_cb *)0;
  options[24].extra = 0L;
  options[25].type = (enum parse_opt_type )8;
  options[25].short_name = 'r';
  options[25].long_name = (char const   *)"resolved";
  options[25].value = (void *)(& resume.mode);
  options[25].argh = (char const   *)((void *)0);
  options[25].help = (char const   *)"synonyms for --continue";
  options[25].flags = (enum parse_opt_option_flags )2054;
  options[25].callback = (parse_opt_cb *)((void *)0);
  options[25].defval = (intptr_t )2;
  options[25].ll_callback = (parse_opt_ll_cb *)0;
  options[25].extra = 0L;
  options[26].type = (enum parse_opt_type )8;
  options[26].short_name = 0;
  options[26].long_name = (char const   *)"skip";
  options[26].value = (void *)(& resume.mode);
  options[26].argh = (char const   *)((void *)0);
  options[26].help = (char const   *)"skip the current patch";
  options[26].flags = (enum parse_opt_option_flags )2054;
  options[26].callback = (parse_opt_cb *)((void *)0);
  options[26].defval = (intptr_t )3;
  options[26].ll_callback = (parse_opt_ll_cb *)0;
  options[26].extra = 0L;
  options[27].type = (enum parse_opt_type )8;
  options[27].short_name = 0;
  options[27].long_name = (char const   *)"abort";
  options[27].value = (void *)(& resume.mode);
  options[27].argh = (char const   *)((void *)0);
  options[27].help = (char const   *)"restore the original branch and abort the patching operation";
  options[27].flags = (enum parse_opt_option_flags )2054;
  options[27].callback = (parse_opt_cb *)((void *)0);
  options[27].defval = (intptr_t )4;
  options[27].ll_callback = (parse_opt_ll_cb *)0;
  options[27].extra = 0L;
  options[28].type = (enum parse_opt_type )8;
  options[28].short_name = 0;
  options[28].long_name = (char const   *)"quit";
  options[28].value = (void *)(& resume.mode);
  options[28].argh = (char const   *)((void *)0);
  options[28].help = (char const   *)"abort the patching operation but keep HEAD where it is";
  options[28].flags = (enum parse_opt_option_flags )2054;
  options[28].callback = (parse_opt_cb *)((void *)0);
  options[28].defval = (intptr_t )5;
  options[28].ll_callback = (parse_opt_ll_cb *)0;
  options[28].extra = 0L;
  options[29].type = (enum parse_opt_type )12;
  options[29].short_name = 0;
  options[29].long_name = (char const   *)"show-current-patch";
  options[29].value = (void *)(& resume.mode);
  options[29].argh = (char const   *)"(diff|raw)";
  options[29].help = (char const   *)"show the patch being applied";
  options[29].flags = (enum parse_opt_option_flags )2117;
  options[29].callback = & parse_opt_show_current_patch;
  options[29].defval = (intptr_t )6;
  options[29].ll_callback = (parse_opt_ll_cb *)0;
  options[29].extra = 0L;
  options[30].type = (enum parse_opt_type )8;
  options[30].short_name = 0;
  options[30].long_name = (char const   *)"allow-empty";
  options[30].value = (void *)(& resume.mode);
  options[30].argh = (char const   *)((void *)0);
  options[30].help = (char const   *)"record the empty patch as an empty commit";
  options[30].flags = (enum parse_opt_option_flags )2054;
  options[30].callback = (parse_opt_cb *)((void *)0);
  options[30].defval = (intptr_t )7;
  options[30].ll_callback = (parse_opt_ll_cb *)0;
  options[30].extra = 0L;
  options[31].type = (enum parse_opt_type )8;
  options[31].short_name = 0;
  options[31].long_name = (char const   *)"committer-date-is-author-date";
  options[31].value = (void *)(& state___1.committer_date_is_author_date);
  options[31].argh = (char const   *)((void *)0);
  options[31].help = (char const   *)"lie about committer date";
  options[31].flags = (enum parse_opt_option_flags )2;
  options[31].callback = (parse_opt_cb *)((void *)0);
  options[31].defval = (intptr_t )1;
  options[31].ll_callback = (parse_opt_ll_cb *)0;
  options[31].extra = 0L;
  options[32].type = (enum parse_opt_type )8;
  options[32].short_name = 0;
  options[32].long_name = (char const   *)"ignore-date";
  options[32].value = (void *)(& state___1.ignore_date);
  options[32].argh = (char const   *)((void *)0);
  options[32].help = (char const   *)"use current timestamp for author date";
  options[32].flags = (enum parse_opt_option_flags )2;
  options[32].callback = (parse_opt_cb *)((void *)0);
  options[32].defval = (intptr_t )1;
  options[32].ll_callback = (parse_opt_ll_cb *)0;
  options[32].extra = 0L;
  options[33].type = (enum parse_opt_type )12;
  options[33].short_name = 0;
  options[33].long_name = (char const   *)"rerere-autoupdate";
  options[33].value = (void *)(& state___1.allow_rerere_autoupdate);
  options[33].argh = (char const   *)((void *)0);
  options[33].help = (char const   *)"update the index with reused conflict resolution if possible";
  options[33].flags = (enum parse_opt_option_flags )2;
  options[33].callback = & parse_opt_tertiary;
  options[33].defval = 0L;
  options[33].ll_callback = (parse_opt_ll_cb *)0;
  options[33].extra = 0L;
  options[34].type = (enum parse_opt_type )9;
  options[34].short_name = 'S';
  options[34].long_name = (char const   *)"gpg-sign";
  options[34].value = (void *)(& state___1.sign_commit);
  options[34].argh = (char const   *)"key-id";
  options[34].help = (char const   *)"GPG-sign commits";
  options[34].flags = (enum parse_opt_option_flags )1;
  options[34].callback = (parse_opt_cb *)((void *)0);
  options[34].defval = (intptr_t )"";
  options[34].ll_callback = (parse_opt_ll_cb *)0;
  options[34].extra = 0L;
  options[35].type = (enum parse_opt_type )12;
  options[35].short_name = 0;
  options[35].long_name = (char const   *)"empty";
  options[35].value = (void *)(& state___1.empty_type);
  options[35].argh = (char const   *)"{stop,drop,keep}";
  options[35].help = (char const   *)"how to handle empty patches";
  options[35].flags = (enum parse_opt_option_flags )4;
  options[35].callback = & am_option_parse_empty;
  options[35].defval = 0L;
  options[35].ll_callback = (parse_opt_ll_cb *)0;
  options[35].extra = 0L;
  options[36].type = (enum parse_opt_type )8;
  options[36].short_name = 0;
  options[36].long_name = (char const   *)"rebasing";
  options[36].value = (void *)(& state___1.rebasing);
  options[36].argh = (char const   *)((void *)0);
  options[36].help = (char const   *)"(internal use for git-rebase)";
  options[36].flags = (enum parse_opt_option_flags )10;
  options[36].callback = (parse_opt_cb *)((void *)0);
  options[36].defval = (intptr_t )1;
  options[36].ll_callback = (parse_opt_ll_cb *)0;
  options[36].extra = 0L;
  options[37].type = (enum parse_opt_type )0;
  options[37].short_name = 0;
  options[37].long_name = (char const   *)0;
  options[37].value = (void *)0;
  options[37].argh = (char const   *)0;
  options[37].help = (char const   *)0;
  options[37].flags = 0U;
  options[37].callback = (parse_opt_cb *)0;
  options[37].defval = 0L;
  options[37].ll_callback = (parse_opt_ll_cb *)0;
  options[37].extra = 0L;
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage_with_options(usage___2, (struct option  const  *)(options));
    }
  }
  git_config(& git_am_config, (void *)0);
  am_state_init(& state___1);
  in_progress = am_in_progress((struct am_state  const  *)(& state___1));
  if (in_progress) {
    am_load(& state___1);
  }
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       usage___2, (enum parse_opt_flags )0);
  if (binary >= 0) {
    tmp___0 = _((char const   *)"The -b/--binary option has been a no-op for long time, and\nit will be removed. Please do not use it anymore.");
    fprintf_ln(stderr, (char const   *)tmp___0);
  }
  git_committer_info(1);
  tmp___2 = repo_read_index_preload(the_repository, (struct pathspec  const  *)((void *)0),
                                    0U);
  if (tmp___2 < 0) {
    tmp___1 = _((char const   *)"failed to read the index");
    die((char const   *)tmp___1);
  }
  if (in_progress) {
    if (argc) {
      tmp___3 = _((char const   *)"previous rebase directory %s still exists but mbox given.");
      die((char const   *)tmp___3, state___1.dir);
    } else
    if ((unsigned int )resume.mode == 0U) {
      tmp___4 = isatty(0);
      if (! tmp___4) {
        tmp___3 = _((char const   *)"previous rebase directory %s still exists but mbox given.");
        die((char const   *)tmp___3, state___1.dir);
      }
    }
    if ((unsigned int )resume.mode == 0U) {
      resume.mode = (enum resume_type )1;
    }
    if (state___1.signoff == 2) {
      am_append_signoff(& state___1);
    }
  } else {
    paths___0.v = empty_strvec;
    paths___0.nr = 0UL;
    paths___0.alloc = 0UL;
    tmp___6 = file_exists((char const   *)state___1.dir);
    if (tmp___6) {
      if (! state___1.rebasing) {
        if ((unsigned int )resume.mode == 4U) {
          am_destroy((struct am_state  const  *)(& state___1));
          am_state_release(& state___1);
          return (0);
        } else
        if ((unsigned int )resume.mode == 5U) {
          am_destroy((struct am_state  const  *)(& state___1));
          am_state_release(& state___1);
          return (0);
        }
        tmp___5 = _((char const   *)"Stray %s directory found.\nUse \"git am --abort\" to remove it.");
        die((char const   *)tmp___5, state___1.dir);
      }
    }
    if (resume.mode) {
      tmp___7 = _((char const   *)"Resolve operation not in progress, we are not resuming.");
      die((char const   *)tmp___7);
    }
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < argc)) {
        goto while_break;
      }
      tmp___9 = is_absolute_path(*(argv___0 + i));
      if (tmp___9) {
        strvec_push(& paths___0, *(argv___0 + i));
      } else
      if (! prefix___1) {
        strvec_push(& paths___0, *(argv___0 + i));
      } else {
        tmp___8 = mkpath((char const   *)"%s/%s", prefix___1, *(argv___0 + i));
        strvec_push(& paths___0, tmp___8);
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (state___1.interactive) {
      if (! paths___0.nr) {
        tmp___10 = _((char const   *)"interactive mode requires patches on the command line");
        die((char const   *)tmp___10);
      }
    }
    am_setup(& state___1, (enum patch_format )patch_format, paths___0.v, keep_cr___0);
    strvec_clear(& paths___0);
  }
  {
  if ((unsigned int )resume.mode == 0U) {
    goto case_0;
  }
  if ((unsigned int )resume.mode == 1U) {
    goto case_1;
  }
  if ((unsigned int )resume.mode == 7U) {
    goto case_7;
  }
  if ((unsigned int )resume.mode == 2U) {
    goto case_7;
  }
  if ((unsigned int )resume.mode == 3U) {
    goto case_3;
  }
  if ((unsigned int )resume.mode == 4U) {
    goto case_4;
  }
  if ((unsigned int )resume.mode == 5U) {
    goto case_5;
  }
  if ((unsigned int )resume.mode == 6U) {
    goto case_6;
  }
  goto switch_default;
  case_0: /* CIL Label */
  am_run(& state___1, 0);
  goto switch_break;
  case_1: /* CIL Label */
  am_run(& state___1, 1);
  goto switch_break;
  case_7: /* CIL Label */
  case_2: /* CIL Label */
  if ((unsigned int )resume.mode == 7U) {
    tmp___11 = 1;
  } else {
    tmp___11 = 0;
  }
  am_resolve(& state___1, tmp___11);
  goto switch_break;
  case_3: /* CIL Label */
  am_skip(& state___1);
  goto switch_break;
  case_4: /* CIL Label */
  am_abort(& state___1);
  goto switch_break;
  case_5: /* CIL Label */
  am_rerere_clear();
  am_destroy((struct am_state  const  *)(& state___1));
  goto switch_break;
  case_6: /* CIL Label */
  ret___67 = show_patch(& state___1, resume.sub_mode);
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"builtin/am.c", 2535, (char const   *)"invalid resume value");
  switch_break: /* CIL Label */ ;
  }
  am_state_release(& state___1);
  return (ret___67);
}
}
int cmd_annotate(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct strvec args___0 ;
  int i ;
  int tmp ;

  {
  args___0.v = empty_strvec;
  args___0.nr = 0UL;
  args___0.alloc = 0UL;
  strvec_pushl(& args___0, "annotate", "-c", (void *)0);
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    strvec_push(& args___0, *(argv___0 + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = cmd_blame((int )args___0.nr, args___0.v, prefix___1);
  return (tmp);
}
}
static char const   *apply_usage[2]  = {      (char const   *)"git apply [<options>] [<patch>...]",      (char const   *)((void *)0)};
int cmd_apply(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int force_apply ;
  int options ;
  int ret___67 ;
  struct apply_state state___1 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  force_apply = 0;
  options = 0;
  tmp___0 = init_apply_state(& state___1, the_repository, prefix___1);
  if (tmp___0) {
    tmp = trace2_cmd_exit_fl((char const   *)"builtin/apply.c", 20, 128);
    exit(tmp);
  }
  argc = apply_parse_options(argc, argv___0, & state___1, & force_apply, & options,
                             apply_usage);
  tmp___2 = check_apply_state(& state___1, force_apply);
  if (tmp___2) {
    tmp___1 = trace2_cmd_exit_fl((char const   *)"builtin/apply.c", 27, 128);
    exit(tmp___1);
  }
  ret___67 = apply_all_patches(& state___1, argc, argv___0, options);
  clear_apply_state(& state___1);
  return (ret___67);
}
}
static void create_output_file(char const   *output_file )
{
  int output_fd___0 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  tmp = xopen(output_file, 577, 0666);
  output_fd___0 = tmp;
  if (output_fd___0 != 1) {
    tmp___1 = dup2(output_fd___0, 1);
    if (tmp___1 < 0) {
      tmp___0 = _((char const   *)"could not redirect output");
      die_errno((char const   *)tmp___0);
    } else {
      close(output_fd___0);
    }
  }
  return;
}
}
static int run_remote_archiver(int argc , char const   **argv___0 , char const   *remote ,
                               char const   *exec , char const   *name_hint )
{
  int fd[2] ;
  int i ;
  int rv ;
  struct transport *transport ;
  struct remote *_remote ;
  struct packet_reader reader ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *format___0 ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  enum packet_read_status tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  enum packet_read_status tmp___8 ;
  int tmp___9 ;

  {
  _remote = remote_get(remote);
  if (! *(_remote->url + 0)) {
    tmp = _((char const   *)"git archive: Remote with no URL");
    die((char const   *)tmp);
  }
  transport = transport_get(_remote, *(_remote->url + 0));
  transport_connect(transport, (char const   *)"git-upload-archive", exec, (int *)(fd));
  if (name_hint) {
    tmp___0 = archive_format_from_filename(name_hint);
    format___0 = tmp___0;
    if (format___0) {
      packet_write_fmt(fd[1], (char const   *)"argument --format=%s\n", format___0);
    }
  }
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    packet_write_fmt(fd[1], (char const   *)"argument %s\n", *(argv___0 + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  packet_flush(fd[1]);
  packet_reader_init(& reader, fd[0], (char *)((void *)0), (size_t )0, (int )((1u << 1) | (1u << 2)));
  tmp___2 = packet_reader_read(& reader);
  if ((unsigned int )tmp___2 != 1U) {
    tmp___1 = _((char const   *)"git archive: expected ACK/NAK, got a flush packet");
    die((char const   *)tmp___1);
  }
  tmp___6 = strcmp(reader.line, (char const   *)"ACK");
  if (tmp___6) {
    tmp___4 = starts_with(reader.line, (char const   *)"NACK ");
    if (tmp___4) {
      tmp___3 = _((char const   *)"git archive: NACK %s");
      die((char const   *)tmp___3, reader.line + 5);
    }
    tmp___5 = _((char const   *)"git archive: protocol error");
    die((char const   *)tmp___5);
  }
  tmp___8 = packet_reader_read(& reader);
  if ((unsigned int )tmp___8 != 2U) {
    tmp___7 = _((char const   *)"git archive: expected a flush");
    die((char const   *)tmp___7);
  }
  rv = recv_sideband((char const   *)"archive", fd[0], 1);
  tmp___9 = transport_disconnect(transport);
  rv |= tmp___9;
  return (! (! rv));
}
}
int cmd_archive(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char const   *exec ;
  char const   *output___4 ;
  char const   *remote ;
  struct option local_opts[4] ;
  int tmp ;
  int tmp___0 ;

  {
  exec = (char const   *)"git-upload-archive";
  output___4 = (char const   *)((void *)0);
  remote = (char const   *)((void *)0);
  local_opts[0].type = (enum parse_opt_type )14;
  local_opts[0].short_name = 'o';
  local_opts[0].long_name = (char const   *)"output";
  local_opts[0].value = (void *)(& output___4);
  local_opts[0].argh = (char const   *)"file";
  local_opts[0].help = (char const   *)"write the archive to this file";
  local_opts[0].flags = 0U;
  local_opts[0].callback = (parse_opt_cb *)0;
  local_opts[0].defval = 0L;
  local_opts[0].ll_callback = (parse_opt_ll_cb *)0;
  local_opts[0].extra = 0L;
  local_opts[1].type = (enum parse_opt_type )9;
  local_opts[1].short_name = 0;
  local_opts[1].long_name = (char const   *)"remote";
  local_opts[1].value = (void *)(& remote);
  local_opts[1].argh = (char const   *)"repo";
  local_opts[1].help = (char const   *)"retrieve the archive from remote repository <repo>";
  local_opts[1].flags = (enum parse_opt_option_flags )0;
  local_opts[1].callback = (parse_opt_cb *)0;
  local_opts[1].defval = 0L;
  local_opts[1].ll_callback = (parse_opt_ll_cb *)0;
  local_opts[1].extra = 0L;
  local_opts[2].type = (enum parse_opt_type )9;
  local_opts[2].short_name = 0;
  local_opts[2].long_name = (char const   *)"exec";
  local_opts[2].value = (void *)(& exec);
  local_opts[2].argh = (char const   *)"command";
  local_opts[2].help = (char const   *)"path to the remote git-upload-archive command";
  local_opts[2].flags = (enum parse_opt_option_flags )0;
  local_opts[2].callback = (parse_opt_cb *)0;
  local_opts[2].defval = 0L;
  local_opts[2].ll_callback = (parse_opt_ll_cb *)0;
  local_opts[2].extra = 0L;
  local_opts[3].type = (enum parse_opt_type )0;
  local_opts[3].short_name = 0;
  local_opts[3].long_name = (char const   *)0;
  local_opts[3].value = (void *)0;
  local_opts[3].argh = (char const   *)0;
  local_opts[3].help = (char const   *)0;
  local_opts[3].flags = 0U;
  local_opts[3].callback = (parse_opt_cb *)0;
  local_opts[3].defval = 0L;
  local_opts[3].ll_callback = (parse_opt_ll_cb *)0;
  local_opts[3].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(local_opts),
                       (char const   **)((void *)0), (enum parse_opt_flags )29);
  init_archivers();
  if (output___4) {
    create_output_file(output___4);
  }
  if (remote) {
    tmp = run_remote_archiver(argc, argv___0, remote, exec, output___4);
    return (tmp);
  }
  setvbuf((FILE * __restrict  )stderr, (char * __restrict  )((void *)0), 1, (size_t )8192);
  tmp___0 = write_archive(argc, argv___0, prefix___1, the_repository, output___4,
                          0);
  return (tmp___0);
}
}
static double const   __ac_HASH_UPPER___105  =    (double const   )0.77;
__inline static void kh_resize_oid_set___105(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___105(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___105 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___105 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___105(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___105(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___105(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___105(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___105(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___105(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___105 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___105 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___105(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___105(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___105(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___105(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___105(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___105(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___105 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___105 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___105(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___105(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___105(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___105(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char *ret___53  ;
static char const   *git_path_bisect_terms___0(void)
{


  {
  if (! ret___53) {
    ret___53 = git_pathdup((char const   *)"BISECT_TERMS");
  }
  return ((char const   *)ret___53);
}
}
static char *ret___54  ;
static char const   *git_path_bisect_expected_rev___0(void)
{


  {
  if (! ret___54) {
    ret___54 = git_pathdup((char const   *)"BISECT_EXPECTED_REV");
  }
  return ((char const   *)ret___54);
}
}
static char *ret___55  ;
static char const   *git_path_bisect_ancestors_ok___0(void)
{


  {
  if (! ret___55) {
    ret___55 = git_pathdup((char const   *)"BISECT_ANCESTORS_OK");
  }
  return ((char const   *)ret___55);
}
}
static char *ret___56  ;
static char const   *git_path_bisect_start___0(void)
{


  {
  if (! ret___56) {
    ret___56 = git_pathdup((char const   *)"BISECT_START");
  }
  return ((char const   *)ret___56);
}
}
static char *ret___57  ;
static char const   *git_path_bisect_log___0(void)
{


  {
  if (! ret___57) {
    ret___57 = git_pathdup((char const   *)"BISECT_LOG");
  }
  return ((char const   *)ret___57);
}
}
static char *ret___58  ;
static char const   *git_path_head_name___0(void)
{


  {
  if (! ret___58) {
    ret___58 = git_pathdup((char const   *)"head-name");
  }
  return ((char const   *)ret___58);
}
}
static char *ret___59  ;
static char const   *git_path_bisect_names___0(void)
{


  {
  if (! ret___59) {
    ret___59 = git_pathdup((char const   *)"BISECT_NAMES");
  }
  return ((char const   *)ret___59);
}
}
static char *ret___60  ;
static char const   *git_path_bisect_first_parent___0(void)
{


  {
  if (! ret___60) {
    ret___60 = git_pathdup((char const   *)"BISECT_FIRST_PARENT");
  }
  return ((char const   *)ret___60);
}
}
static char *ret___61  ;
static char const   *git_path_bisect_run___0(void)
{


  {
  if (! ret___61) {
    ret___61 = git_pathdup((char const   *)"BISECT_RUN");
  }
  return ((char const   *)ret___61);
}
}
static char const   *git_bisect_helper_usage[11]  =
  {      (char const   *)"git bisect--helper --bisect-reset [<commit>]",      (char const   *)"git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad | --term-new]",      (char const   *)"git bisect--helper --bisect-start [--term-{new,bad}=<term> --term-{old,good}=<term>] [--no-checkout] [--first-parent] [<bad> [<good>...]] [--] [<paths>...]",      (char const   *)"git bisect--helper --bisect-next",
        (char const   *)"git bisect--helper --bisect-state (bad|new) [<rev>]",      (char const   *)"git bisect--helper --bisect-state (good|old) [<rev>...]",      (char const   *)"git bisect--helper --bisect-replay <filename>",      (char const   *)"git bisect--helper --bisect-skip [(<rev>|<range>)...]",
        (char const   *)"git bisect--helper --bisect-visualize",      (char const   *)"git bisect--helper --bisect-run <cmd>...",      (char const   *)((void *)0)};
static void free_terms(struct bisect_terms *terms )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)terms->term_good);
    terms->term_good = (char *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)terms->term_bad);
    terms->term_bad = (char *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void set_terms(struct bisect_terms *terms , char const   *bad , char const   *good )
{


  {
  free((void *)terms->term_good);
  terms->term_good = xstrdup(good);
  free((void *)terms->term_bad);
  terms->term_bad = xstrdup(bad);
  return;
}
}
static char const   vocab_bad[8]  =
  {      (char const   )'b',      (char const   )'a',      (char const   )'d',      (char const   )'|',
        (char const   )'n',      (char const   )'e',      (char const   )'w',      (char const   )'\000'};
static char const   vocab_good[9]  =
  {      (char const   )'g',      (char const   )'o',      (char const   )'o',      (char const   )'d',
        (char const   )'|',      (char const   )'o',      (char const   )'l',      (char const   )'d',
        (char const   )'\000'};
static int bisect_autostart(struct bisect_terms *terms ) ;
static int __attribute__((__sentinel__))  one_of(char const   *term___1  , ...)
{
  int res ;
  va_list matches___0 ;
  char const   *match___0 ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;

  {
  res = 0;
  __builtin_va_start(matches___0, term___1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! res) {
      tmp___1 = __builtin_va_arg(matches___0, char const   *);
      match___0 = tmp___1;
      if (! match___0) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = strcmp(term___1, match___0);
    if (tmp) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
    res = tmp___0;
  }
  while_break: /* CIL Label */ ;
  }
  __builtin_va_end(matches___0);
  return ((int __attribute__((__sentinel__))  )res);
}
}
static int is_bisect_success(enum bisect_error res )
{
  int tmp ;

  {
  if (! res) {
    tmp = 1;
  } else
  if ((int )res == -10) {
    tmp = 1;
  } else
  if ((int )res == -11) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static int write_in_file(char const   *path___6 , char const   *mode___1 , char const   *format___0 ,
                         va_list args___0 )
{
  FILE *fp ;
  int res ;
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int saved_errno ;
  int *tmp___3 ;
  int *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  fp = (FILE *)((void *)0);
  res = 0;
  tmp = strcmp(mode___1, (char const   *)"w");
  if (tmp) {
    tmp___0 = strcmp(mode___1, (char const   *)"a");
    if (tmp___0) {
      BUG_fl((char const   *)"builtin/bisect--helper.c", 106, (char const   *)"write-in-file does not support \'%s\' mode",
             mode___1);
    }
  }
  fp = git_fopen(path___6, mode___1);
  if (! fp) {
    tmp___1 = _((char const   *)"cannot open file \'%s\' in mode \'%s\'");
    error_errno((char const   *)tmp___1, path___6, mode___1);
    tmp___2 = const_error();
    return (tmp___2);
  }
  res = vfprintf(fp, format___0, args___0);
  if (res < 0) {
    tmp___3 = __errno_location();
    saved_errno = *tmp___3;
    fclose(fp);
    tmp___4 = __errno_location();
    *tmp___4 = saved_errno;
    tmp___5 = _((char const   *)"could not write to file \'%s\'");
    error_errno((char const   *)tmp___5, path___6);
    tmp___6 = const_error();
    return (tmp___6);
  }
  tmp___7 = fclose(fp);
  return (tmp___7);
}
}
static int ( /* format attribute */  write_to_file)(char const   *path___6 , char const   *format___0
                                                    , ...)
{
  int res ;
  va_list args___0 ;

  {
  __builtin_va_start(args___0, format___0);
  res = write_in_file(path___6, (char const   *)"w", format___0, args___0);
  __builtin_va_end(args___0);
  return (res);
}
}
static int ( /* format attribute */  append_to_file)(char const   *path___6 , char const   *format___0
                                                     , ...)
{
  int res ;
  va_list args___0 ;

  {
  __builtin_va_start(args___0, format___0);
  res = write_in_file(path___6, (char const   *)"a", format___0, args___0);
  __builtin_va_end(args___0);
  return (res);
}
}
static int print_file_to_stdout(char const   *path___6 )
{
  int fd ;
  int tmp ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  tmp = open(path___6, 00);
  fd = tmp;
  ret___67 = 0;
  if (fd < 0) {
    tmp___0 = _((char const   *)"cannot open file \'%s\' for reading");
    error_errno((char const   *)tmp___0, path___6);
    tmp___1 = const_error();
    return (tmp___1);
  }
  tmp___3 = copy_fd(fd, 1);
  if (tmp___3 < 0) {
    tmp___2 = _((char const   *)"failed to read \'%s\'");
    error_errno((char const   *)tmp___2, path___6);
    ret___67 = const_error();
  }
  close(fd);
  return (ret___67);
}
}
static int check_term_format(char const   *term___1 , char const   *orig_term )
{
  int res ;
  char *new_term ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int __attribute__((__sentinel__))  tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int __attribute__((__sentinel__))  tmp___8 ;
  int tmp___9 ;
  int __attribute__((__sentinel__))  tmp___10 ;

  {
  tmp = xstrfmt((char const   *)"refs/bisect/%s", term___1);
  new_term = tmp;
  res = check_refname_format((char const   *)new_term, 0);
  free((void *)new_term);
  if (res) {
    tmp___0 = _((char const   *)"\'%s\' is not a valid term");
    error((char const   *)tmp___0, term___1);
    tmp___1 = const_error();
    return (tmp___1);
  }
  tmp___4 = one_of(term___1, "help", "start", "skip", "next", "reset", "visualize",
                   "view", "replay", "log", "run", "terms", (void *)0);
  if (tmp___4) {
    tmp___2 = _((char const   *)"can\'t use the builtin command \'%s\' as a term");
    error((char const   *)tmp___2, term___1);
    tmp___3 = const_error();
    return (tmp___3);
  }
  tmp___7 = strcmp(orig_term, (char const   *)"bad");
  if (tmp___7) {
    tmp___8 = one_of(term___1, "bad", "new", (void *)0);
    if (tmp___8) {
      tmp___5 = _((char const   *)"can\'t change the meaning of the term \'%s\'");
      error((char const   *)tmp___5, term___1);
      tmp___6 = const_error();
      return (tmp___6);
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp___9 = strcmp(orig_term, (char const   *)"good");
    if (tmp___9) {
      tmp___10 = one_of(term___1, "good", "old", (void *)0);
      if (tmp___10) {
        tmp___5 = _((char const   *)"can\'t change the meaning of the term \'%s\'");
        error((char const   *)tmp___5, term___1);
        tmp___6 = const_error();
        return (tmp___6);
      }
    }
  }
  return (0);
}
}
static int write_terms(char const   *bad , char const   *good )
{
  int res ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const   *tmp___4 ;

  {
  tmp___1 = strcmp(bad, good);
  if (! tmp___1) {
    tmp = _((char const   *)"please use two different terms");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  tmp___2 = check_term_format(bad, (char const   *)"bad");
  if (tmp___2) {
    return (-1);
  } else {
    tmp___3 = check_term_format(good, (char const   *)"good");
    if (tmp___3) {
      return (-1);
    }
  }
  tmp___4 = git_path_bisect_terms___0();
  res = write_to_file(tmp___4, (char const   *)"%s\n%s\n", bad, good);
  return (res);
}
}
static int bisect_reset(char const   *commit )
{
  struct strbuf branch___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *tmp___0 ;
  ssize_t tmp___1 ;
  struct object_id oid ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  struct strvec argv___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  branch___0.alloc = 0UL;
  branch___0.len = 0UL;
  branch___0.buf = strbuf_slopbuf;
  if (! commit) {
    tmp___0 = git_path_bisect_start___0();
    tmp___1 = strbuf_read_file(& branch___0, tmp___0, (size_t )0);
    if (tmp___1 < 1L) {
      tmp = _((char const   *)"We are not bisecting.\n");
      printf((char const   *)tmp);
      return (0);
    }
    strbuf_rtrim(& branch___0);
  } else {
    tmp___4 = repo_get_oid_commit(the_repository, commit, & oid);
    if (tmp___4) {
      tmp___2 = _((char const   *)"\'%s\' is not a valid commit");
      error((char const   *)tmp___2, commit);
      tmp___3 = const_error();
      return (tmp___3);
    }
    strbuf_addstr(& branch___0, commit);
  }
  tmp___7 = ref_exists((char const   *)"BISECT_HEAD");
  if (! tmp___7) {
    argv___0.v = empty_strvec;
    argv___0.nr = 0UL;
    argv___0.alloc = 0UL;
    strvec_pushl(& argv___0, "checkout", branch___0.buf, "--", (void *)0);
    tmp___6 = run_command_v_opt(argv___0.v, 1 << 1);
    if (tmp___6) {
      tmp___5 = _((char const   *)"could not check out original HEAD \'%s\'. Try \'git bisect reset <commit>\'.");
      error((char const   *)tmp___5, branch___0.buf);
      const_error();
      strbuf_release(& branch___0);
      strvec_clear(& argv___0);
      return (-1);
    }
    strvec_clear(& argv___0);
  }
  strbuf_release(& branch___0);
  tmp___8 = bisect_clean_state();
  return (tmp___8);
}
}
static void log_commit(FILE *fp , char *fmt , char const   *state___1 , struct commit *commit )
{
  struct pretty_print_context pp ;
  struct strbuf commit_msg ;
  char *label ;
  char *tmp ;
  char *tmp___0 ;

  {
  pp.fmt = (enum cmit_fmt )0;
  pp.abbrev = 0;
  pp.after_subject = (char const   *)0;
  pp.preserve_subject = 0;
  pp.date_mode.type = 0U;
  pp.date_mode.strftime_fmt = (char const   *)0;
  pp.date_mode.local = 0;
  pp.date_mode_explicit = 0U;
  pp.print_email_subject = 0;
  pp.expand_tabs_in_log = 0;
  pp.need_8bit_cte = 0;
  pp.notes_message = (char *)0;
  pp.reflog_info = (struct reflog_walk_info *)0;
  pp.rev = (struct rev_info *)0;
  pp.output_encoding = (char const   *)0;
  pp.mailmap = (struct string_list *)0;
  pp.color = 0;
  pp.from_ident = (struct ident_split *)0;
  pp.encode_email_headers = 0U;
  pp.describe_status = (struct pretty_print_describe_status *)0;
  pp.in_body_headers.items = (struct string_list_item *)0;
  pp.in_body_headers.nr = 0U;
  pp.in_body_headers.alloc = 0U;
  pp.in_body_headers.strdup_strings = 0U;
  pp.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
  pp.graph_width = 0;
  commit_msg.alloc = 0UL;
  commit_msg.len = 0UL;
  commit_msg.buf = strbuf_slopbuf;
  tmp = xstrfmt((char const   *)fmt, state___1);
  label = tmp;
  repo_format_commit_message(the_repository, (struct commit  const  *)commit, (char const   *)"%s",
                             & commit_msg, (struct pretty_print_context  const  *)(& pp));
  tmp___0 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
  fprintf(fp, (char const   *)"# %s: [%s] %s\n", label, tmp___0, commit_msg.buf);
  strbuf_release(& commit_msg);
  free((void *)label);
  return;
}
}
static int bisect_write(char const   *state___1 , char const   *rev , struct bisect_terms  const  *terms ,
                        int nolog )
{
  struct strbuf tag ;
  struct object_id oid ;
  struct commit *commit ;
  FILE *fp ;
  int res ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int __attribute__((__sentinel__))  tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const   *tmp___5 ;
  char const   *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;

  {
  tag.alloc = 0UL;
  tag.len = 0UL;
  tag.buf = strbuf_slopbuf;
  fp = (FILE *)((void *)0);
  res = 0;
  tmp___1 = strcmp(state___1, (char const   *)terms->term_bad);
  if (tmp___1) {
    tmp___0 = one_of(state___1, terms->term_good, "skip", (void *)0);
    if (tmp___0) {
      strbuf_addf(& tag, (char const   *)"refs/bisect/%s-%s", state___1, rev);
    } else {
      tmp = _((char const   *)"Bad bisect_write argument: %s");
      error((char const   *)tmp, state___1);
      res = const_error();
      goto finish;
    }
  } else {
    strbuf_addf(& tag, (char const   *)"refs/bisect/%s", state___1);
  }
  tmp___3 = repo_get_oid(the_repository, rev, & oid);
  if (tmp___3) {
    tmp___2 = _((char const   *)"couldn\'t get the oid of the rev \'%s\'");
    error((char const   *)tmp___2, rev);
    res = const_error();
    goto finish;
  }
  tmp___4 = update_ref((char const   *)((void *)0), (char const   *)tag.buf, (struct object_id  const  *)(& oid),
                       (struct object_id  const  *)((void *)0), 0U, (enum action_on_err )0);
  if (tmp___4) {
    res = -1;
    goto finish;
  }
  tmp___5 = git_path_bisect_log___0();
  fp = git_fopen(tmp___5, (char const   *)"a");
  if (! fp) {
    tmp___6 = git_path_bisect_log___0();
    tmp___7 = _((char const   *)"couldn\'t open the file \'%s\'");
    error_errno((char const   *)tmp___7, tmp___6);
    res = const_error();
    goto finish;
  }
  commit = lookup_commit_reference(the_repository, (struct object_id  const  *)(& oid));
  log_commit(fp, "%s", state___1, commit);
  if (! nolog) {
    fprintf(fp, (char const   *)"git bisect %s %s\n", state___1, rev);
  }
  finish:
  if (fp) {
    fclose(fp);
  }
  strbuf_release(& tag);
  return (res);
}
}
static int check_and_set_terms(struct bisect_terms *terms , char const   *cmd )
{
  int has_term_file ;
  char const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int __attribute__((__sentinel__))  tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int __attribute__((__sentinel__))  tmp___8 ;
  int tmp___9 ;
  int __attribute__((__sentinel__))  tmp___10 ;

  {
  tmp = git_path_bisect_terms___0();
  tmp___0 = is_empty_or_missing_file(tmp);
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  has_term_file = tmp___1;
  tmp___2 = one_of(cmd, "skip", "start", "terms", (void *)0);
  if (tmp___2) {
    return (0);
  }
  if (has_term_file) {
    tmp___5 = strcmp(cmd, (char const   *)terms->term_bad);
    if (tmp___5) {
      tmp___6 = strcmp(cmd, (char const   *)terms->term_good);
      if (tmp___6) {
        tmp___3 = _((char const   *)"Invalid command: you\'re currently in a %s/%s bisect");
        error((char const   *)tmp___3, terms->term_bad, terms->term_good);
        tmp___4 = const_error();
        return (tmp___4);
      }
    }
  }
  if (! has_term_file) {
    tmp___8 = one_of(cmd, "bad", "good", (void *)0);
    if (tmp___8) {
      set_terms(terms, (char const   *)"bad", (char const   *)"good");
      tmp___7 = write_terms((char const   *)terms->term_bad, (char const   *)terms->term_good);
      return (tmp___7);
    }
    tmp___10 = one_of(cmd, "new", "old", (void *)0);
    if (tmp___10) {
      set_terms(terms, (char const   *)"new", (char const   *)"old");
      tmp___9 = write_terms((char const   *)terms->term_bad, (char const   *)terms->term_good);
      return (tmp___9);
    }
  }
  return (0);
}
}
static int mark_good(char const   *refname , struct object_id  const  *oid , int flag ,
                     void *cb_data )
{
  int *m_good ;

  {
  m_good = (int *)cb_data;
  *m_good = 0;
  return (1);
}
}
static char const   need_bad_and_good_revision_warning[111]  =
  {      (char const   )'Y',      (char const   )'o',      (char const   )'u',      (char const   )' ',
        (char const   )'n',      (char const   )'e',      (char const   )'e',      (char const   )'d',
        (char const   )' ',      (char const   )'t',      (char const   )'o',      (char const   )' ',
        (char const   )'g',      (char const   )'i',      (char const   )'v',      (char const   )'e',
        (char const   )' ',      (char const   )'m',      (char const   )'e',      (char const   )' ',
        (char const   )'a',      (char const   )'t',      (char const   )' ',      (char const   )'l',
        (char const   )'e',      (char const   )'a',      (char const   )'s',      (char const   )'t',
        (char const   )' ',      (char const   )'o',      (char const   )'n',      (char const   )'e',
        (char const   )' ',      (char const   )'%',      (char const   )'s',      (char const   )' ',
        (char const   )'a',      (char const   )'n',      (char const   )'d',      (char const   )' ',
        (char const   )'%',      (char const   )'s',      (char const   )' ',      (char const   )'r',
        (char const   )'e',      (char const   )'v',      (char const   )'i',      (char const   )'s',
        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'.',
        (char const   )'\n',      (char const   )'Y',      (char const   )'o',      (char const   )'u',
        (char const   )' ',      (char const   )'c',      (char const   )'a',      (char const   )'n',
        (char const   )' ',      (char const   )'u',      (char const   )'s',      (char const   )'e',
        (char const   )' ',      (char const   )'\"',      (char const   )'g',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'b',      (char const   )'i',
        (char const   )'s',      (char const   )'e',      (char const   )'c',      (char const   )'t',
        (char const   )' ',      (char const   )'%',      (char const   )'s',      (char const   )'\"',
        (char const   )' ',      (char const   )'a',      (char const   )'n',      (char const   )'d',
        (char const   )' ',      (char const   )'\"',      (char const   )'g',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'b',      (char const   )'i',
        (char const   )'s',      (char const   )'e',      (char const   )'c',      (char const   )'t',
        (char const   )' ',      (char const   )'%',      (char const   )'s',      (char const   )'\"',
        (char const   )' ',      (char const   )'f',      (char const   )'o',      (char const   )'r',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'a',
        (char const   )'t',      (char const   )'.',      (char const   )'\000'};
static char const   need_bisect_start_warning[157]  =
  {      (char const   )'Y',      (char const   )'o',      (char const   )'u',      (char const   )' ',
        (char const   )'n',      (char const   )'e',      (char const   )'e',      (char const   )'d',
        (char const   )' ',      (char const   )'t',      (char const   )'o',      (char const   )' ',
        (char const   )'s',      (char const   )'t',      (char const   )'a',      (char const   )'r',
        (char const   )'t',      (char const   )' ',      (char const   )'b',      (char const   )'y',
        (char const   )' ',      (char const   )'\"',      (char const   )'g',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'b',      (char const   )'i',
        (char const   )'s',      (char const   )'e',      (char const   )'c',      (char const   )'t',
        (char const   )' ',      (char const   )'s',      (char const   )'t',      (char const   )'a',
        (char const   )'r',      (char const   )'t',      (char const   )'\"',      (char const   )'.',
        (char const   )'\n',      (char const   )'Y',      (char const   )'o',      (char const   )'u',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'e',
        (char const   )'n',      (char const   )' ',      (char const   )'n',      (char const   )'e',
        (char const   )'e',      (char const   )'d',      (char const   )' ',      (char const   )'t',
        (char const   )'o',      (char const   )' ',      (char const   )'g',      (char const   )'i',
        (char const   )'v',      (char const   )'e',      (char const   )' ',      (char const   )'m',
        (char const   )'e',      (char const   )' ',      (char const   )'a',      (char const   )'t',
        (char const   )' ',      (char const   )'l',      (char const   )'e',      (char const   )'a',
        (char const   )'s',      (char const   )'t',      (char const   )' ',      (char const   )'o',
        (char const   )'n',      (char const   )'e',      (char const   )' ',      (char const   )'%',
        (char const   )'s',      (char const   )' ',      (char const   )'a',      (char const   )'n',
        (char const   )'d',      (char const   )' ',      (char const   )'%',      (char const   )'s',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'v',
        (char const   )'i',      (char const   )'s',      (char const   )'i',      (char const   )'o',
        (char const   )'n',      (char const   )'.',      (char const   )'\n',      (char const   )'Y',
        (char const   )'o',      (char const   )'u',      (char const   )' ',      (char const   )'c',
        (char const   )'a',      (char const   )'n',      (char const   )' ',      (char const   )'u',
        (char const   )'s',      (char const   )'e',      (char const   )' ',      (char const   )'\"',
        (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'b',      (char const   )'i',      (char const   )'s',      (char const   )'e',
        (char const   )'c',      (char const   )'t',      (char const   )' ',      (char const   )'%',
        (char const   )'s',      (char const   )'\"',      (char const   )' ',      (char const   )'a',
        (char const   )'n',      (char const   )'d',      (char const   )' ',      (char const   )'\"',
        (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'b',      (char const   )'i',      (char const   )'s',      (char const   )'e',
        (char const   )'c',      (char const   )'t',      (char const   )' ',      (char const   )'%',
        (char const   )'s',      (char const   )'\"',      (char const   )' ',      (char const   )'f',
        (char const   )'o',      (char const   )'r',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'a',      (char const   )'t',      (char const   )'.',
        (char const   )'\000'};
static int decide_next(struct bisect_terms  const  *terms , char const   *current_term ,
                       int missing_good , int missing_bad )
{
  char *yesno ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const   *tmp___9 ;
  int tmp___10 ;

  {
  if (! missing_good) {
    if (! missing_bad) {
      return (0);
    }
  }
  if (! current_term) {
    return (-1);
  }
  if (missing_good) {
    if (! missing_bad) {
      tmp___4 = strcmp(current_term, (char const   *)terms->term_good);
      if (! tmp___4) {
        tmp = _((char const   *)"bisecting only with a %s commit");
        warning((char const   *)tmp, terms->term_bad);
        tmp___0 = isatty(0);
        if (! tmp___0) {
          return (0);
        }
        tmp___1 = _((char const   *)"Are you sure [Y/n]? ");
        yesno = git_prompt((char const   *)tmp___1, 1 << 1);
        tmp___2 = starts_with((char const   *)yesno, (char const   *)"N");
        if (tmp___2) {
          return (-1);
        } else {
          tmp___3 = starts_with((char const   *)yesno, (char const   *)"n");
          if (tmp___3) {
            return (-1);
          }
        }
        return (0);
      }
    }
  }
  tmp___9 = git_path_bisect_start___0();
  tmp___10 = is_empty_or_missing_file(tmp___9);
  if (tmp___10) {
    tmp___7 = _(need_bisect_start_warning);
    error((char const   *)tmp___7, vocab_good, vocab_bad, vocab_good, vocab_bad);
    tmp___8 = const_error();
    return (tmp___8);
  } else {
    tmp___5 = _(need_bad_and_good_revision_warning);
    error((char const   *)tmp___5, vocab_bad, vocab_good, vocab_bad, vocab_good);
    tmp___6 = const_error();
    return (tmp___6);
  }
}
}
static int bisect_next_check(struct bisect_terms  const  *terms , char const   *current_term )
{
  int missing_good ;
  int missing_bad ;
  char *bad_ref ;
  char *tmp ;
  char *good_glob ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  missing_good = 1;
  missing_bad = 1;
  tmp = xstrfmt((char const   *)"refs/bisect/%s", terms->term_bad);
  bad_ref = tmp;
  tmp___0 = xstrfmt((char const   *)"%s-*", terms->term_good);
  good_glob = tmp___0;
  tmp___1 = ref_exists((char const   *)bad_ref);
  if (tmp___1) {
    missing_bad = 0;
  }
  for_each_glob_ref_in(& mark_good, (char const   *)good_glob, (char const   *)"refs/bisect/",
                       (void *)(& missing_good));
  free((void *)good_glob);
  free((void *)bad_ref);
  tmp___2 = decide_next(terms, current_term, missing_good, missing_bad);
  return (tmp___2);
}
}
static int get_terms(struct bisect_terms *terms )
{
  struct strbuf str ;
  FILE *fp ;
  int res ;
  char const   *tmp ;

  {
  str.alloc = 0UL;
  str.len = 0UL;
  str.buf = strbuf_slopbuf;
  fp = (FILE *)((void *)0);
  res = 0;
  tmp = git_path_bisect_terms___0();
  fp = git_fopen(tmp, (char const   *)"r");
  if (! fp) {
    res = -1;
    goto finish;
  }
  free_terms(terms);
  strbuf_getline_lf(& str, fp);
  terms->term_bad = strbuf_detach(& str, (size_t *)((void *)0));
  strbuf_getline_lf(& str, fp);
  terms->term_good = strbuf_detach(& str, (size_t *)((void *)0));
  finish:
  if (fp) {
    fclose(fp);
  }
  strbuf_release(& str);
  return (res);
}
}
static int bisect_terms(struct bisect_terms *terms , char const   *option )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int __attribute__((__sentinel__))  tmp___5 ;
  int __attribute__((__sentinel__))  tmp___6 ;

  {
  tmp___1 = get_terms(terms);
  if (tmp___1) {
    tmp = _((char const   *)"no terms defined");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  if ((unsigned long )option == (unsigned long )((void *)0)) {
    tmp___2 = _((char const   *)"Your current terms are %s for the old state\nand %s for the new state.\n");
    printf((char const   *)tmp___2, terms->term_good, terms->term_bad);
    return (0);
  }
  tmp___6 = one_of(option, "--term-good", "--term-old", (void *)0);
  if (tmp___6) {
    printf((char const   *)"%s\n", terms->term_good);
  } else {
    tmp___5 = one_of(option, "--term-bad", "--term-new", (void *)0);
    if (tmp___5) {
      printf((char const   *)"%s\n", terms->term_bad);
    } else {
      tmp___3 = _((char const   *)"invalid argument %s for \'git bisect terms\'.\nSupported options are: --term-good|--term-old and --term-bad|--term-new.");
      error((char const   *)tmp___3, option);
      tmp___4 = const_error();
      return (tmp___4);
    }
  }
  return (0);
}
}
static int bisect_append_log_quoted(char const   **argv___0 )
{
  int res ;
  FILE *fp ;
  char const   *tmp ;
  FILE *tmp___0 ;
  struct strbuf orig_args ;
  int tmp___1 ;
  int tmp___2 ;

  {
  res = 0;
  tmp = git_path_bisect_log___0();
  tmp___0 = git_fopen(tmp, (char const   *)"a");
  fp = tmp___0;
  orig_args.alloc = 0UL;
  orig_args.len = 0UL;
  orig_args.buf = strbuf_slopbuf;
  if (! fp) {
    return (-1);
  }
  tmp___1 = fprintf(fp, (char const   *)"git bisect start");
  if (tmp___1 < 1) {
    res = -1;
    goto finish;
  }
  sq_quote_argv(& orig_args, argv___0);
  tmp___2 = fprintf(fp, (char const   *)"%s\n", orig_args.buf);
  if (tmp___2 < 1) {
    res = -1;
  }
  finish:
  fclose(fp);
  strbuf_release(& orig_args);
  return (res);
}
}
static int add_bisect_ref(char const   *refname , struct object_id  const  *oid ,
                          int flags___0 , void *cb )
{
  struct add_bisect_ref_data *data ;

  {
  data = (struct add_bisect_ref_data *)cb;
  add_pending_oid(data->revs, refname, oid, data->object_flags);
  return (0);
}
}
static int prepare_revs___0(struct bisect_terms *terms , struct rev_info *revs )
{
  int res ;
  struct add_bisect_ref_data cb ;
  char *good ;
  char *tmp ;
  char *bad ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  res = 0;
  cb.revs = revs;
  cb.object_flags = 0U;
  tmp = xstrfmt((char const   *)"%s-*", terms->term_good);
  good = tmp;
  tmp___0 = xstrfmt((char const   *)"%s*", terms->term_bad);
  bad = tmp___0;
  reset_revision_walk();
  repo_init_revisions(the_repository, revs, (char const   *)((void *)0));
  setup_revisions(0, (char const   **)((void *)0), revs, (struct setup_revision_opt *)((void *)0));
  for_each_glob_ref_in(& add_bisect_ref, (char const   *)bad, (char const   *)"refs/bisect/",
                       (void *)(& cb));
  cb.object_flags = 1u << 1;
  for_each_glob_ref_in(& add_bisect_ref, (char const   *)good, (char const   *)"refs/bisect/",
                       (void *)(& cb));
  tmp___2 = prepare_revision_walk(revs);
  if (tmp___2) {
    tmp___1 = _((char const   *)"revision walk setup failed\n");
    error((char const   *)tmp___1);
    res = const_error();
  }
  free((void *)good);
  free((void *)bad);
  return (res);
}
}
static int bisect_skipped_commits(struct bisect_terms *terms )
{
  int res ;
  FILE *fp ;
  struct rev_info revs ;
  struct commit *commit ;
  struct pretty_print_context pp ;
  struct strbuf commit_name ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char *tmp___7 ;

  {
  fp = (FILE *)((void *)0);
  pp.fmt = (enum cmit_fmt )0;
  pp.abbrev = 0;
  pp.after_subject = (char const   *)0;
  pp.preserve_subject = 0;
  pp.date_mode.type = 0U;
  pp.date_mode.strftime_fmt = (char const   *)0;
  pp.date_mode.local = 0;
  pp.date_mode_explicit = 0U;
  pp.print_email_subject = 0;
  pp.expand_tabs_in_log = 0;
  pp.need_8bit_cte = 0;
  pp.notes_message = (char *)0;
  pp.reflog_info = (struct reflog_walk_info *)0;
  pp.rev = (struct rev_info *)0;
  pp.output_encoding = (char const   *)0;
  pp.mailmap = (struct string_list *)0;
  pp.color = 0;
  pp.from_ident = (struct ident_split *)0;
  pp.encode_email_headers = 0U;
  pp.describe_status = (struct pretty_print_describe_status *)0;
  pp.in_body_headers.items = (struct string_list_item *)0;
  pp.in_body_headers.nr = 0U;
  pp.in_body_headers.alloc = 0U;
  pp.in_body_headers.strdup_strings = 0U;
  pp.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
  pp.graph_width = 0;
  commit_name.alloc = 0UL;
  commit_name.len = 0UL;
  commit_name.buf = strbuf_slopbuf;
  res = prepare_revs___0(terms, & revs);
  if (res) {
    return (res);
  }
  tmp = git_path_bisect_log___0();
  fp = git_fopen(tmp, (char const   *)"a");
  if (! fp) {
    tmp___0 = git_path_bisect_log___0();
    tmp___1 = _((char const   *)"could not open \'%s\' for appending");
    error_errno((char const   *)tmp___1, tmp___0);
    tmp___2 = const_error();
    return (tmp___2);
  }
  tmp___6 = fprintf(fp, (char const   *)"# only skipped commits left to test\n");
  if (tmp___6 < 0) {
    tmp___3 = git_path_bisect_log___0();
    tmp___4 = _((char const   *)"failed to write to \'%s\'");
    error_errno((char const   *)tmp___4, tmp___3);
    tmp___5 = const_error();
    return (tmp___5);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    commit = get_revision(& revs);
    if (! ((unsigned long )commit != (unsigned long )((void *)0))) {
      goto while_break;
    }
    strbuf_setlen___33(& commit_name, (size_t )0);
    repo_format_commit_message(the_repository, (struct commit  const  *)commit, (char const   *)"%s",
                               & commit_name, (struct pretty_print_context  const  *)(& pp));
    tmp___7 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    fprintf(fp, (char const   *)"# possible first %s commit: [%s] %s\n", terms->term_bad,
            tmp___7, commit_name.buf);
  }
  while_break: /* CIL Label */ ;
  }
  reset_revision_walk();
  strbuf_release(& commit_name);
  fclose(fp);
  return (0);
}
}
static int bisect_successful(struct bisect_terms *terms )
{
  struct object_id oid ;
  struct commit *commit ;
  struct pretty_print_context pp ;
  struct strbuf commit_name ;
  char *bad_ref ;
  char *tmp ;
  int res ;
  char *tmp___0 ;
  char const   *tmp___1 ;

  {
  pp.fmt = (enum cmit_fmt )0;
  pp.abbrev = 0;
  pp.after_subject = (char const   *)0;
  pp.preserve_subject = 0;
  pp.date_mode.type = 0U;
  pp.date_mode.strftime_fmt = (char const   *)0;
  pp.date_mode.local = 0;
  pp.date_mode_explicit = 0U;
  pp.print_email_subject = 0;
  pp.expand_tabs_in_log = 0;
  pp.need_8bit_cte = 0;
  pp.notes_message = (char *)0;
  pp.reflog_info = (struct reflog_walk_info *)0;
  pp.rev = (struct rev_info *)0;
  pp.output_encoding = (char const   *)0;
  pp.mailmap = (struct string_list *)0;
  pp.color = 0;
  pp.from_ident = (struct ident_split *)0;
  pp.encode_email_headers = 0U;
  pp.describe_status = (struct pretty_print_describe_status *)0;
  pp.in_body_headers.items = (struct string_list_item *)0;
  pp.in_body_headers.nr = 0U;
  pp.in_body_headers.alloc = 0U;
  pp.in_body_headers.strdup_strings = 0U;
  pp.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
  pp.graph_width = 0;
  commit_name.alloc = 0UL;
  commit_name.len = 0UL;
  commit_name.buf = strbuf_slopbuf;
  tmp = xstrfmt((char const   *)"refs/bisect/%s", terms->term_bad);
  bad_ref = tmp;
  read_ref((char const   *)bad_ref, & oid);
  commit = lookup_commit_reference_by_name((char const   *)bad_ref);
  repo_format_commit_message(the_repository, (struct commit  const  *)commit, (char const   *)"%s",
                             & commit_name, (struct pretty_print_context  const  *)(& pp));
  tmp___0 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
  tmp___1 = git_path_bisect_log___0();
  res = append_to_file(tmp___1, (char const   *)"# first %s commit: [%s] %s\n", terms->term_bad,
                       tmp___0, commit_name.buf);
  strbuf_release(& commit_name);
  free((void *)bad_ref);
  return (res);
}
}
static enum bisect_error bisect_next(struct bisect_terms *terms , char const   *prefix___1 )
{
  enum bisect_error res ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp = bisect_autostart(terms);
  if (tmp) {
    return ((enum bisect_error )-1);
  }
  tmp___0 = bisect_next_check((struct bisect_terms  const  *)terms, (char const   *)terms->term_good);
  if (tmp___0) {
    return ((enum bisect_error )-1);
  }
  res = bisect_next_all(the_repository, prefix___1);
  if ((int )res == -10) {
    tmp___1 = bisect_successful(terms);
    res = (enum bisect_error )tmp___1;
    if (res) {
      tmp___2 = (int )res;
    } else {
      tmp___2 = -10;
    }
    return ((enum bisect_error )tmp___2);
  } else
  if ((int )res == -2) {
    tmp___3 = bisect_skipped_commits(terms);
    res = (enum bisect_error )tmp___3;
    if (res) {
      tmp___4 = (int )res;
    } else {
      tmp___4 = -2;
    }
    return ((enum bisect_error )tmp___4);
  }
  return (res);
}
}
static enum bisect_error bisect_auto_next(struct bisect_terms *terms , char const   *prefix___1 )
{
  int tmp ;
  enum bisect_error tmp___0 ;

  {
  tmp = bisect_next_check((struct bisect_terms  const  *)terms, (char const   *)((void *)0));
  if (tmp) {
    return ((enum bisect_error )0);
  }
  tmp___0 = bisect_next(terms, prefix___1);
  return (tmp___0);
}
}
static enum bisect_error bisect_start(struct bisect_terms *terms , char const   **argv___0 ,
                                      int argc )
{
  int no_checkout ;
  int first_parent_only ;
  int i ;
  int has_double_dash ;
  int must_write_terms ;
  int bad_seen ;
  int flags___0 ;
  int pathspec_pos ;
  enum bisect_error res ;
  struct string_list revs ;
  struct string_list states ;
  struct strbuf start_head ;
  struct strbuf bisect_names ;
  struct object_id head_oid___1 ;
  struct object_id oid ;
  char const   *head___1 ;
  int tmp ;
  int tmp___0 ;
  char const   *arg ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  char const   *tmp___25 ;
  struct strvec argv___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;
  char *tmp___29 ;
  char const __attribute__((__format_arg__(1)))  *tmp___30 ;
  int tmp___31 ;
  char const   *tmp___32 ;
  int tmp___33 ;
  char const __attribute__((__format_arg__(1)))  *tmp___34 ;
  int tmp___35 ;
  int tmp___36 ;
  int tmp___37 ;
  int tmp___38 ;
  int tmp___39 ;
  char const   *tmp___40 ;
  int tmp___41 ;
  int tmp___42 ;
  char const   *tmp___43 ;
  char const   *tmp___44 ;
  char const __attribute__((__format_arg__(1)))  *tmp___45 ;
  int tmp___46 ;
  int tmp___47 ;
  int tmp___48 ;
  char const   *tmp___49 ;
  int tmp___50 ;
  int tmp___51 ;
  int tmp___52 ;
  int tmp___53 ;

  {
  no_checkout = 0;
  first_parent_only = 0;
  has_double_dash = 0;
  must_write_terms = 0;
  bad_seen = 0;
  res = (enum bisect_error )0;
  revs.items = (struct string_list_item *)0;
  revs.nr = 0U;
  revs.alloc = 0U;
  revs.strdup_strings = 1U;
  revs.cmp = (int (*)(char const   * , char const   * ))0;
  states.items = (struct string_list_item *)0;
  states.nr = 0U;
  states.alloc = 0U;
  states.strdup_strings = 1U;
  states.cmp = (int (*)(char const   * , char const   * ))0;
  start_head.alloc = 0UL;
  start_head.len = 0UL;
  start_head.buf = strbuf_slopbuf;
  bisect_names.alloc = 0UL;
  bisect_names.len = 0UL;
  bisect_names.buf = strbuf_slopbuf;
  tmp = is_bare_repository();
  if (tmp) {
    no_checkout = 1;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    tmp___0 = strcmp(*(argv___0 + i), (char const   *)"--");
    if (! tmp___0) {
      has_double_dash = 1;
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break___0;
    }
    arg = *(argv___0 + i);
    tmp___21 = strcmp(*(argv___0 + i), (char const   *)"--");
    if (tmp___21) {
      tmp___20 = strcmp(arg, (char const   *)"--no-checkout");
      if (tmp___20) {
        tmp___19 = strcmp(arg, (char const   *)"--first-parent");
        if (tmp___19) {
          tmp___17 = strcmp(arg, (char const   *)"--term-good");
          if (tmp___17) {
            tmp___18 = strcmp(arg, (char const   *)"--term-old");
            if (tmp___18) {
              tmp___15 = skip_prefix(arg, (char const   *)"--term-good=", & arg);
              if (tmp___15) {
                must_write_terms = 1;
                free((void *)terms->term_good);
                terms->term_good = xstrdup(arg);
              } else {
                tmp___16 = skip_prefix(arg, (char const   *)"--term-old=", & arg);
                if (tmp___16) {
                  must_write_terms = 1;
                  free((void *)terms->term_good);
                  terms->term_good = xstrdup(arg);
                } else {
                  tmp___13 = strcmp(arg, (char const   *)"--term-bad");
                  if (tmp___13) {
                    tmp___14 = strcmp(arg, (char const   *)"--term-new");
                    if (tmp___14) {
                      tmp___11 = skip_prefix(arg, (char const   *)"--term-bad=", & arg);
                      if (tmp___11) {
                        must_write_terms = 1;
                        free((void *)terms->term_bad);
                        terms->term_bad = xstrdup(arg);
                      } else {
                        tmp___12 = skip_prefix(arg, (char const   *)"--term-new=",
                                               & arg);
                        if (tmp___12) {
                          must_write_terms = 1;
                          free((void *)terms->term_bad);
                          terms->term_bad = xstrdup(arg);
                        } else {
                          tmp___10 = starts_with(arg, (char const   *)"--");
                          if (tmp___10) {
                            tmp___5 = _((char const   *)"unrecognized option: \'%s\'");
                            error((char const   *)tmp___5, arg);
                            tmp___6 = const_error();
                            return ((enum bisect_error )tmp___6);
                          } else {
                            tmp___9 = get_oidf(& oid, (char const   *)"%s^{commit}",
                                               arg);
                            if (tmp___9) {
                              if (has_double_dash) {
                                tmp___8 = _((char const   *)"\'%s\' does not appear to be a valid revision");
                                die((char const   *)tmp___8, arg);
                              } else {
                                goto while_break___0;
                              }
                            } else {
                              tmp___7 = oid_to_hex((struct object_id  const  *)(& oid));
                              string_list_append(& revs, (char const   *)tmp___7);
                            }
                          }
                        }
                      }
                    } else {
                      _L: /* CIL Label */
                      i ++;
                      if (argc <= i) {
                        tmp___3 = _((char const   *)"\'\' is not a valid term");
                        error((char const   *)tmp___3);
                        tmp___4 = const_error();
                        return ((enum bisect_error )tmp___4);
                      }
                      must_write_terms = 1;
                      free((void *)terms->term_bad);
                      terms->term_bad = xstrdup(*(argv___0 + i));
                    }
                  } else {
                    goto _L;
                  }
                }
              }
            } else {
              _L___0: /* CIL Label */
              i ++;
              if (argc <= i) {
                tmp___1 = _((char const   *)"\'\' is not a valid term");
                error((char const   *)tmp___1);
                tmp___2 = const_error();
                return ((enum bisect_error )tmp___2);
              }
              must_write_terms = 1;
              free((void *)terms->term_good);
              terms->term_good = xstrdup(*(argv___0 + i));
            }
          } else {
            goto _L___0;
          }
        } else {
          first_parent_only = 1;
        }
      } else {
        no_checkout = 1;
      }
    } else {
      goto while_break___0;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  pathspec_pos = i;
  if (revs.nr) {
    must_write_terms = 1;
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned int )i < revs.nr)) {
      goto while_break___1;
    }
    if (bad_seen) {
      string_list_append(& states, (char const   *)terms->term_good);
    } else {
      bad_seen = 1;
      string_list_append(& states, (char const   *)terms->term_bad);
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  head___1 = resolve_ref_unsafe((char const   *)"HEAD", 0, & head_oid___1, & flags___0);
  if (! head___1) {
    tmp___24 = repo_get_oid(the_repository, (char const   *)"HEAD", & head_oid___1);
    if (tmp___24) {
      tmp___22 = _((char const   *)"bad HEAD - I need a HEAD");
      error((char const   *)tmp___22);
      tmp___23 = const_error();
      return ((enum bisect_error )tmp___23);
    }
  }
  tmp___40 = git_path_bisect_start___0();
  tmp___41 = is_empty_or_missing_file(tmp___40);
  if (tmp___41) {
    tmp___38 = repo_get_oid(the_repository, head___1, & head_oid___1);
    if (tmp___38) {
      _L___1: /* CIL Label */
      tmp___36 = repo_get_oid(the_repository, head___1, & head_oid___1);
      if (tmp___36) {
        tmp___34 = _((char const   *)"bad HEAD - strange symbolic ref");
        error((char const   *)tmp___34);
        tmp___35 = const_error();
        return ((enum bisect_error )tmp___35);
      } else {
        tmp___37 = skip_prefix(head___1, (char const   *)"refs/heads/", & head___1);
        if (tmp___37) {
          tmp___32 = git_path_head_name___0();
          tmp___33 = is_empty_or_missing_file(tmp___32);
          if (! tmp___33) {
            tmp___30 = _((char const   *)"won\'t bisect on cg-seek\'ed tree");
            error((char const   *)tmp___30);
            tmp___31 = const_error();
            return ((enum bisect_error )tmp___31);
          }
          strbuf_addstr(& start_head, head___1);
        } else {
          tmp___34 = _((char const   *)"bad HEAD - strange symbolic ref");
          error((char const   *)tmp___34);
          tmp___35 = const_error();
          return ((enum bisect_error )tmp___35);
        }
      }
    } else {
      tmp___39 = starts_with(head___1, (char const   *)"refs/heads/");
      if (tmp___39) {
        goto _L___1;
      } else {
        strbuf_setlen___33(& start_head, (size_t )0);
        tmp___29 = oid_to_hex((struct object_id  const  *)(& head_oid___1));
        strbuf_addstr(& start_head, (char const   *)tmp___29);
      }
    }
  } else {
    tmp___25 = git_path_bisect_start___0();
    strbuf_read_file(& start_head, tmp___25, (size_t )0);
    strbuf_trim(& start_head);
    if (! no_checkout) {
      argv___1.v = empty_strvec;
      argv___1.nr = 0UL;
      argv___1.alloc = 0UL;
      strvec_pushl(& argv___1, "checkout", start_head.buf, "--", (void *)0);
      tmp___28 = run_command_v_opt(argv___1.v, 1 << 1);
      if (tmp___28) {
        tmp___26 = _((char const   *)"checking out \'%s\' failed. Try \'git bisect start <valid-branch>\'.");
        error((char const   *)tmp___26, start_head.buf);
        tmp___27 = const_error();
        res = (enum bisect_error )tmp___27;
        goto finish;
      }
    }
  }
  tmp___42 = bisect_clean_state();
  if (tmp___42) {
    return ((enum bisect_error )-1);
  }
  tmp___43 = git_path_bisect_start___0();
  write_file(tmp___43, (char const   *)"%s\n", start_head.buf);
  if (first_parent_only) {
    tmp___44 = git_path_bisect_first_parent___0();
    write_file(tmp___44, (char const   *)"\n");
  }
  if (no_checkout) {
    tmp___47 = repo_get_oid(the_repository, (char const   *)start_head.buf, & oid);
    if (tmp___47 < 0) {
      tmp___45 = _((char const   *)"invalid ref: \'%s\'");
      error((char const   *)tmp___45, start_head.buf);
      tmp___46 = const_error();
      res = (enum bisect_error )tmp___46;
      goto finish;
    }
    tmp___48 = update_ref((char const   *)((void *)0), (char const   *)"BISECT_HEAD",
                          (struct object_id  const  *)(& oid), (struct object_id  const  *)((void *)0),
                          0U, (enum action_on_err )0);
    if (tmp___48) {
      res = (enum bisect_error )-1;
      goto finish;
    }
  }
  if (pathspec_pos < argc - 1) {
    sq_quote_argv(& bisect_names, argv___0 + pathspec_pos);
  }
  tmp___49 = git_path_bisect_names___0();
  write_file(tmp___49, (char const   *)"%s\n", bisect_names.buf);
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((unsigned int )i < states.nr)) {
      goto while_break___2;
    }
    tmp___50 = bisect_write((char const   *)(states.items + i)->string, (char const   *)(revs.items + i)->string,
                            (struct bisect_terms  const  *)terms, 1);
    if (tmp___50) {
      res = (enum bisect_error )-1;
      goto finish;
    }
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  if (must_write_terms) {
    tmp___51 = write_terms((char const   *)terms->term_bad, (char const   *)terms->term_good);
    if (tmp___51) {
      res = (enum bisect_error )-1;
      goto finish;
    }
  }
  tmp___52 = bisect_append_log_quoted(argv___0);
  res = (enum bisect_error )tmp___52;
  if (res) {
    res = (enum bisect_error )-1;
  }
  finish:
  string_list_clear(& revs, 0);
  string_list_clear(& states, 0);
  strbuf_release(& start_head);
  strbuf_release(& bisect_names);
  if (res) {
    return (res);
  }
  res = bisect_auto_next(terms, (char const   *)((void *)0));
  tmp___53 = is_bisect_success(res);
  if (! tmp___53) {
    bisect_clean_state();
  }
  return (res);
}
}
__inline static int file_is_not_empty(char const   *path___6 )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = is_empty_or_missing_file(path___6);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
static int bisect_autostart(struct bisect_terms *terms )
{
  int res ;
  char const   *yesno ;
  char const   *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;
  enum bisect_error tmp___6 ;
  int tmp___7 ;

  {
  tmp = git_path_bisect_start___0();
  tmp___0 = file_is_not_empty(tmp);
  if (tmp___0) {
    return (0);
  }
  tmp___1 = _((char const   *)"You need to start by \"git bisect start\"\n");
  fprintf_ln(stderr, (char const   *)tmp___1);
  tmp___2 = isatty(0);
  if (! tmp___2) {
    return (-1);
  }
  tmp___3 = _((char const   *)"Do you want me to do it for you [Y/n]? ");
  tmp___4 = git_prompt((char const   *)tmp___3, 1 << 1);
  yesno = (char const   *)tmp___4;
  tmp___7 = sane_case((int )((unsigned char )*yesno), 0x20);
  if (tmp___7 == 110) {
    res = -1;
  } else {
    tmp___6 = bisect_start(terms, empty_strvec, 0);
    res = (int )tmp___6;
  }
  return (res);
}
}
static enum bisect_error bisect_state(struct bisect_terms *terms , char const   **argv___0 ,
                                      int argc )
{
  char const   *state___1 ;
  int i ;
  int verify_expected ;
  struct object_id oid ;
  struct object_id expected ;
  struct strbuf buf___19 ;
  struct oid_array revs ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int __attribute__((__sentinel__))  tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const   *head___1 ;
  enum get_oid_result res_head ;
  int tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  struct commit *commit ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const   *tmp___13 ;
  ssize_t tmp___14 ;
  int tmp___15 ;
  char *tmp___16 ;
  int tmp___17 ;
  char const   *tmp___18 ;
  char const   *tmp___19 ;
  int tmp___20 ;
  enum bisect_error tmp___21 ;

  {
  verify_expected = 1;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  revs.oid = (struct object_id *)0;
  revs.nr = 0UL;
  revs.alloc = 0UL;
  revs.sorted = 0;
  if (! argc) {
    tmp = _((char const   *)"Please call `--bisect-state` with at least one argument");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return ((enum bisect_error )tmp___0);
  }
  tmp___1 = bisect_autostart(terms);
  if (tmp___1) {
    return ((enum bisect_error )-1);
  }
  state___1 = *(argv___0 + 0);
  tmp___2 = check_and_set_terms(terms, state___1);
  if (tmp___2) {
    return ((enum bisect_error )-1);
  } else {
    tmp___3 = one_of(state___1, terms->term_good, terms->term_bad, "skip", (void *)0);
    if (! tmp___3) {
      return ((enum bisect_error )-1);
    }
  }
  argv___0 ++;
  argc --;
  if (argc > 1) {
    tmp___6 = strcmp(state___1, (char const   *)terms->term_bad);
    if (! tmp___6) {
      tmp___4 = _((char const   *)"\'git bisect %s\' can take only one argument.");
      error((char const   *)tmp___4, terms->term_bad);
      tmp___5 = const_error();
      return ((enum bisect_error )tmp___5);
    }
  }
  if (argc == 0) {
    head___1 = (char const   *)"BISECT_HEAD";
    tmp___7 = repo_get_oid(the_repository, head___1, & oid);
    res_head = (enum get_oid_result )tmp___7;
    if ((int )res_head == -1) {
      head___1 = (char const   *)"HEAD";
      tmp___8 = repo_get_oid(the_repository, head___1, & oid);
      res_head = (enum get_oid_result )tmp___8;
    }
    if (res_head) {
      tmp___9 = _((char const   *)"Bad rev input: %s");
      error((char const   *)tmp___9, head___1);
      const_error();
    }
    oid_array_append(& revs, (struct object_id  const  *)(& oid));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! argc) {
      goto while_break;
    }
    tmp___11 = repo_get_oid(the_repository, *argv___0, & oid);
    if (tmp___11) {
      tmp___10 = _((char const   *)"Bad rev input: %s");
      error((char const   *)tmp___10, *argv___0);
      const_error();
      oid_array_clear(& revs);
      return ((enum bisect_error )-1);
    }
    commit = lookup_commit_reference(the_repository, (struct object_id  const  *)(& oid));
    if (! commit) {
      tmp___12 = _((char const   *)"Bad rev input (not a commit): %s");
      die((char const   *)tmp___12, *argv___0);
    }
    oid_array_append(& revs, (struct object_id  const  *)(& commit->object.oid));
    argc --;
    argv___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___13 = git_path_bisect_expected_rev___0();
  tmp___14 = strbuf_read_file(& buf___19, tmp___13, (size_t )0);
  if ((size_t )tmp___14 < (the_repository->hash_algo)->hexsz) {
    verify_expected = 0;
  } else {
    tmp___15 = get_oid_hex((char const   *)buf___19.buf, & expected);
    if (tmp___15 < 0) {
      verify_expected = 0;
    }
  }
  strbuf_release(& buf___19);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((size_t )i < revs.nr)) {
      goto while_break___0;
    }
    tmp___16 = oid_to_hex((struct object_id  const  *)(revs.oid + i));
    tmp___17 = bisect_write(state___1, (char const   *)tmp___16, (struct bisect_terms  const  *)terms,
                            0);
    if (tmp___17) {
      oid_array_clear(& revs);
      return ((enum bisect_error )-1);
    }
    if (verify_expected) {
      tmp___20 = oideq((struct object_id  const  *)(revs.oid + i), (struct object_id  const  *)(& expected));
      if (! tmp___20) {
        tmp___18 = git_path_bisect_ancestors_ok___0();
        unlink_or_warn(tmp___18);
        tmp___19 = git_path_bisect_expected_rev___0();
        unlink_or_warn(tmp___19);
        verify_expected = 0;
      }
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  oid_array_clear(& revs);
  tmp___21 = bisect_auto_next(terms, (char const   *)((void *)0));
  return (tmp___21);
}
}
static enum bisect_error bisect_log(void)
{
  int fd ;
  int status ;
  char const   *filename___0 ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = git_path_bisect_log___0();
  filename___0 = tmp;
  tmp___2 = is_empty_or_missing_file(filename___0);
  if (tmp___2) {
    tmp___0 = _((char const   *)"We are not bisecting.");
    error((char const   *)tmp___0);
    tmp___1 = const_error();
    return ((enum bisect_error )tmp___1);
  }
  fd = open(filename___0, 00);
  if (fd < 0) {
    return ((enum bisect_error )-1);
  }
  status = copy_fd(fd, 1);
  close(fd);
  if (status) {
    tmp___3 = -1;
  } else {
    tmp___3 = 0;
  }
  return ((enum bisect_error )tmp___3);
}
}
static int process_replay_line(struct bisect_terms *terms , struct strbuf *line___0 )
{
  char const   *p___0 ;
  size_t tmp ;
  char *word_end ;
  char *rev ;
  int tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  size_t tmp___4 ;
  int tmp___5 ;
  struct strvec argv___0 ;
  int res ;
  enum bisect_error tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int __attribute__((__sentinel__))  tmp___9 ;
  struct strvec argv___1 ;
  int res___0 ;
  char const   *tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;

  {
  tmp = strspn((char const   *)line___0->buf, (char const   *)" \t");
  p___0 = (char const   *)(line___0->buf + tmp);
  tmp___0 = skip_prefix(p___0, (char const   *)"git bisect", & p___0);
  if (tmp___0) {
    _L: /* CIL Label */
    if (! (((int const   )sane_ctype[(unsigned char )*p___0] & 1) != 0)) {
      return (0);
    }
  } else {
    tmp___1 = skip_prefix(p___0, (char const   *)"git-bisect", & p___0);
    if (tmp___1) {
      goto _L;
    } else {
      return (0);
    }
  }
  tmp___2 = strspn(p___0, (char const   *)" \t");
  p___0 += tmp___2;
  tmp___3 = strcspn(p___0, (char const   *)" \t");
  word_end = (char *)p___0 + tmp___3;
  tmp___4 = strspn((char const   *)word_end, (char const   *)" \t");
  rev = word_end + tmp___4;
  *word_end = (char )'\000';
  get_terms(terms);
  tmp___5 = check_and_set_terms(terms, p___0);
  if (tmp___5) {
    return (-1);
  }
  tmp___7 = strcmp(p___0, (char const   *)"start");
  if (! tmp___7) {
    argv___0.v = empty_strvec;
    argv___0.nr = 0UL;
    argv___0.alloc = 0UL;
    sq_dequote_to_strvec(rev, & argv___0);
    tmp___6 = bisect_start(terms, argv___0.v, (int )argv___0.nr);
    res = (int )tmp___6;
    strvec_clear(& argv___0);
    return (res);
  }
  tmp___9 = one_of(p___0, terms->term_good, terms->term_bad, "skip", (void *)0);
  if (tmp___9) {
    tmp___8 = bisect_write(p___0, (char const   *)rev, (struct bisect_terms  const  *)terms,
                           0);
    return (tmp___8);
  }
  tmp___11 = strcmp(p___0, (char const   *)"terms");
  if (! tmp___11) {
    argv___1.v = empty_strvec;
    argv___1.nr = 0UL;
    argv___1.alloc = 0UL;
    sq_dequote_to_strvec(rev, & argv___1);
    if (argv___1.nr == 1UL) {
      tmp___10 = *(argv___1.v + 0);
    } else {
      tmp___10 = (char const   *)((void *)0);
    }
    res___0 = bisect_terms(terms, tmp___10);
    strvec_clear(& argv___1);
    return (res___0);
  }
  tmp___12 = _((char const   *)"\'%s\'?? what are you talking about?");
  error((char const   *)tmp___12, p___0);
  const_error();
  return (-1);
}
}
static enum bisect_error bisect_replay(struct bisect_terms *terms , char const   *filename___0 )
{
  FILE *fp ;
  enum bisect_error res ;
  struct strbuf line___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  enum bisect_error tmp___5 ;

  {
  fp = (FILE *)((void *)0);
  res = (enum bisect_error )0;
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  tmp___1 = is_empty_or_missing_file(filename___0);
  if (tmp___1) {
    tmp = _((char const   *)"cannot read file \'%s\' for replaying");
    error((char const   *)tmp, filename___0);
    tmp___0 = const_error();
    return ((enum bisect_error )tmp___0);
  }
  tmp___2 = bisect_reset((char const   *)((void *)0));
  if (tmp___2) {
    return ((enum bisect_error )-1);
  }
  fp = git_fopen(filename___0, (char const   *)"r");
  if (! fp) {
    return ((enum bisect_error )-1);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___4 = strbuf_getline(& line___0, fp);
    if (tmp___4 != -1) {
      if (! (! res)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___3 = process_replay_line(terms, & line___0);
    res = (enum bisect_error )tmp___3;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& line___0);
  fclose(fp);
  if (res) {
    return ((enum bisect_error )-1);
  }
  tmp___5 = bisect_auto_next(terms, (char const   *)((void *)0));
  return (tmp___5);
}
}
static enum bisect_error bisect_skip(struct bisect_terms *terms , char const   **argv___0 ,
                                     int argc )
{
  int i ;
  enum bisect_error res ;
  struct strvec argv_state ;
  char const   *dotdot ;
  char *tmp ;
  struct rev_info revs ;
  struct commit *commit ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;

  {
  argv_state.v = empty_strvec;
  argv_state.nr = 0UL;
  argv_state.alloc = 0UL;
  strvec_push(& argv_state, (char const   *)"skip");
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    tmp = strstr(*(argv___0 + i), (char const   *)"..");
    dotdot = (char const   *)tmp;
    if (dotdot) {
      repo_init_revisions(the_repository, & revs, (char const   *)((void *)0));
      setup_revisions(2, (argv___0 + i) - 1, & revs, (struct setup_revision_opt *)((void *)0));
      tmp___1 = prepare_revision_walk(& revs);
      if (tmp___1) {
        tmp___0 = _((char const   *)"revision walk setup failed\n");
        die((char const   *)tmp___0);
      }
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        commit = get_revision(& revs);
        if (! ((unsigned long )commit != (unsigned long )((void *)0))) {
          goto while_break___0;
        }
        tmp___2 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
        strvec_push(& argv_state, (char const   *)tmp___2);
      }
      while_break___0: /* CIL Label */ ;
      }
      reset_revision_walk();
    } else {
      strvec_push(& argv_state, *(argv___0 + i));
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  res = bisect_state(terms, argv_state.v, (int )argv_state.nr);
  strvec_clear(& argv_state);
  return (res);
}
}
static int bisect_visualize(struct bisect_terms *terms , char const   **argv___0 ,
                            int argc )
{
  struct strvec args___0 ;
  int flags___0 ;
  int res ;
  struct strbuf sb___6 ;
  int tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const   *tmp___7 ;

  {
  args___0.v = empty_strvec;
  args___0.nr = 0UL;
  args___0.alloc = 0UL;
  flags___0 = 1;
  res = 0;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = bisect_next_check((struct bisect_terms  const  *)terms, (char const   *)((void *)0));
  if (tmp != 0) {
    return (-1);
  }
  if (! argc) {
    tmp___0 = getenv((char const   *)"DISPLAY");
    if (tmp___0) {
      goto _L;
    } else {
      tmp___1 = getenv((char const   *)"SESSIONNAME");
      if (tmp___1) {
        goto _L;
      } else {
        tmp___2 = getenv((char const   *)"MSYSTEM");
        if (tmp___2) {
          goto _L;
        } else {
          tmp___3 = getenv((char const   *)"SECURITYSESSIONID");
          if (tmp___3) {
            _L: /* CIL Label */
            tmp___4 = exists_in_PATH((char const   *)"gitk");
            if (tmp___4) {
              strvec_push(& args___0, (char const   *)"gitk");
            } else {
              strvec_push(& args___0, (char const   *)"log");
              flags___0 |= 1 << 1;
            }
          } else {
            strvec_push(& args___0, (char const   *)"log");
            flags___0 |= 1 << 1;
          }
        }
      }
    }
  } else {
    if ((int const   )*(*(argv___0 + 0) + 0) == 45) {
      strvec_push(& args___0, (char const   *)"log");
      flags___0 |= 1 << 1;
    } else {
      tmp___5 = strcmp(*(argv___0 + 0), (char const   *)"tig");
      if (tmp___5) {
        tmp___6 = starts_with(*(argv___0 + 0), (char const   *)"git");
        if (! tmp___6) {
          flags___0 |= 1 << 1;
        }
      }
    }
    strvec_pushv(& args___0, argv___0);
  }
  strvec_pushl(& args___0, "--bisect", "--", (void *)0);
  tmp___7 = git_path_bisect_names___0();
  strbuf_read_file(& sb___6, tmp___7, (size_t )0);
  sq_dequote_to_strvec(sb___6.buf, & args___0);
  strbuf_release(& sb___6);
  res = run_command_v_opt(args___0.v, flags___0);
  strvec_clear(& args___0);
  return (res);
}
}
static int bisect_run(struct bisect_terms *terms , char const   **argv___0 , int argc )
{
  int res ;
  struct strbuf command___0 ;
  struct strvec args___0 ;
  struct strvec run_args ;
  char const   *new_state ;
  int temporary_stdout_fd ;
  int saved_stdout ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  enum bisect_error tmp___7 ;
  char const   *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;

  {
  res = 0;
  command___0.alloc = 0UL;
  command___0.len = 0UL;
  command___0.buf = strbuf_slopbuf;
  args___0.v = empty_strvec;
  args___0.nr = 0UL;
  args___0.alloc = 0UL;
  run_args.v = empty_strvec;
  run_args.nr = 0UL;
  run_args.alloc = 0UL;
  tmp = bisect_next_check((struct bisect_terms  const  *)terms, (char const   *)((void *)0));
  if (tmp) {
    return (-1);
  }
  if (argc) {
    sq_quote_argv(& command___0, argv___0);
  } else {
    tmp___0 = _((char const   *)"bisect run failed: no command provided.");
    error((char const   *)tmp___0);
    const_error();
    return (-1);
  }
  strvec_push(& run_args, (char const   *)command___0.buf);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    strvec_clear(& args___0);
    tmp___1 = _((char const   *)"running %s\n");
    printf((char const   *)tmp___1, command___0.buf);
    res = run_command_v_opt(run_args.v, 1 << 4);
    if (res < 0) {
      tmp___2 = _((char const   *)"bisect run failed: exit code %d from \'%s\' is < 0 or >= 128");
      error((char const   *)tmp___2, res, command___0.buf);
      const_error();
      strbuf_release(& command___0);
      return (res);
    } else
    if (128 <= res) {
      tmp___2 = _((char const   *)"bisect run failed: exit code %d from \'%s\' is < 0 or >= 128");
      error((char const   *)tmp___2, res, command___0.buf);
      const_error();
      strbuf_release(& command___0);
      return (res);
    }
    if (res == 125) {
      new_state = (char const   *)"skip";
    } else
    if (! res) {
      new_state = (char const   *)terms->term_good;
    } else {
      new_state = (char const   *)terms->term_bad;
    }
    tmp___3 = git_path_bisect_run___0();
    temporary_stdout_fd = open(tmp___3, 577, 0666);
    if (temporary_stdout_fd < 0) {
      tmp___4 = git_path_bisect_run___0();
      tmp___5 = _((char const   *)"cannot open file \'%s\' for writing");
      error_errno((char const   *)tmp___5, tmp___4);
      tmp___6 = const_error();
      return (tmp___6);
    }
    fflush(stdout);
    saved_stdout = dup(1);
    dup2(temporary_stdout_fd, 1);
    tmp___7 = bisect_state(terms, & new_state, 1);
    res = (int )tmp___7;
    fflush(stdout);
    dup2(saved_stdout, 1);
    close(saved_stdout);
    close(temporary_stdout_fd);
    tmp___8 = git_path_bisect_run___0();
    print_file_to_stdout(tmp___8);
    if (res == -2) {
      tmp___9 = _((char const   *)"bisect run cannot continue any more");
      error((char const   *)tmp___9);
      const_error();
    } else
    if (res == -11) {
      tmp___10 = _((char const   *)"bisect run success");
      printf((char const   *)tmp___10);
      res = 0;
    } else
    if (res == -10) {
      tmp___11 = _((char const   *)"bisect found first bad commit");
      printf((char const   *)tmp___11);
      res = 0;
    } else
    if (res) {
      tmp___12 = _((char const   *)"bisect run failed: \'git bisect--helper --bisect-state %s\' exited with error code %d");
      error((char const   *)tmp___12, *(args___0.v + 0), res);
      const_error();
    } else {
      goto while_continue;
    }
    strbuf_release(& command___0);
    strvec_clear(& args___0);
    strvec_clear(& run_args);
    return (res);
  }
  while_break: /* CIL Label */ ;
  }
}
}
int cmd_bisect__helper(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  enum __anonenum_cmdmode_301081615 cmdmode ;
  int res ;
  int nolog ;
  struct option options[13] ;
  struct bisect_terms terms ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const   *tmp___4 ;
  enum bisect_error tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  enum bisect_error tmp___8 ;
  enum bisect_error tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  enum bisect_error tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;
  enum bisect_error tmp___15 ;
  enum bisect_error tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  int tmp___18 ;

  {
  cmdmode = (enum __anonenum_cmdmode_301081615 )0;
  res = 0;
  nolog = 0;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"bisect-reset";
  options[0].value = (void *)(& cmdmode);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"reset the bisection state";
  options[0].flags = (enum parse_opt_option_flags )2054;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"bisect-next-check";
  options[1].value = (void *)(& cmdmode);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"check whether bad or good terms exist";
  options[1].flags = (enum parse_opt_option_flags )2054;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )2;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"bisect-terms";
  options[2].value = (void *)(& cmdmode);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"print out the bisect terms";
  options[2].flags = (enum parse_opt_option_flags )2054;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )3;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"bisect-start";
  options[3].value = (void *)(& cmdmode);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"start the bisect session";
  options[3].flags = (enum parse_opt_option_flags )2054;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )4;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"bisect-next";
  options[4].value = (void *)(& cmdmode);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"find the next bisection commit";
  options[4].flags = (enum parse_opt_option_flags )2054;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )6;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )8;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)"bisect-state";
  options[5].value = (void *)(& cmdmode);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"mark the state of ref (or refs)";
  options[5].flags = (enum parse_opt_option_flags )2054;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )7;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )8;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)"bisect-log";
  options[6].value = (void *)(& cmdmode);
  options[6].argh = (char const   *)((void *)0);
  options[6].help = (char const   *)"list the bisection steps so far";
  options[6].flags = (enum parse_opt_option_flags )2054;
  options[6].callback = (parse_opt_cb *)((void *)0);
  options[6].defval = (intptr_t )8;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )8;
  options[7].short_name = 0;
  options[7].long_name = (char const   *)"bisect-replay";
  options[7].value = (void *)(& cmdmode);
  options[7].argh = (char const   *)((void *)0);
  options[7].help = (char const   *)"replay the bisection process from the given file";
  options[7].flags = (enum parse_opt_option_flags )2054;
  options[7].callback = (parse_opt_cb *)((void *)0);
  options[7].defval = (intptr_t )9;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )8;
  options[8].short_name = 0;
  options[8].long_name = (char const   *)"bisect-skip";
  options[8].value = (void *)(& cmdmode);
  options[8].argh = (char const   *)((void *)0);
  options[8].help = (char const   *)"skip some commits for checkout";
  options[8].flags = (enum parse_opt_option_flags )2054;
  options[8].callback = (parse_opt_cb *)((void *)0);
  options[8].defval = (intptr_t )10;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  options[9].type = (enum parse_opt_type )8;
  options[9].short_name = 0;
  options[9].long_name = (char const   *)"bisect-visualize";
  options[9].value = (void *)(& cmdmode);
  options[9].argh = (char const   *)((void *)0);
  options[9].help = (char const   *)"visualize the bisection";
  options[9].flags = (enum parse_opt_option_flags )2054;
  options[9].callback = (parse_opt_cb *)((void *)0);
  options[9].defval = (intptr_t )11;
  options[9].ll_callback = (parse_opt_ll_cb *)0;
  options[9].extra = 0L;
  options[10].type = (enum parse_opt_type )8;
  options[10].short_name = 0;
  options[10].long_name = (char const   *)"bisect-run";
  options[10].value = (void *)(& cmdmode);
  options[10].argh = (char const   *)((void *)0);
  options[10].help = (char const   *)"use <cmd>... to automatically bisect.";
  options[10].flags = (enum parse_opt_option_flags )2054;
  options[10].callback = (parse_opt_cb *)((void *)0);
  options[10].defval = (intptr_t )12;
  options[10].ll_callback = (parse_opt_ll_cb *)0;
  options[10].extra = 0L;
  options[11].type = (enum parse_opt_type )8;
  options[11].short_name = 0;
  options[11].long_name = (char const   *)"no-log";
  options[11].value = (void *)(& nolog);
  options[11].argh = (char const   *)((void *)0);
  options[11].help = (char const   *)"no log for BISECT_WRITE";
  options[11].flags = (enum parse_opt_option_flags )2;
  options[11].callback = (parse_opt_cb *)((void *)0);
  options[11].defval = (intptr_t )1;
  options[11].ll_callback = (parse_opt_ll_cb *)0;
  options[11].extra = 0L;
  options[12].type = (enum parse_opt_type )0;
  options[12].short_name = 0;
  options[12].long_name = (char const   *)0;
  options[12].value = (void *)0;
  options[12].argh = (char const   *)0;
  options[12].help = (char const   *)0;
  options[12].flags = 0U;
  options[12].callback = (parse_opt_cb *)0;
  options[12].defval = 0L;
  options[12].ll_callback = (parse_opt_ll_cb *)0;
  options[12].extra = 0L;
  terms.term_good = (char *)((void *)0);
  terms.term_bad = (char *)((void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_bisect_helper_usage, (enum parse_opt_flags )9);
  if (! cmdmode) {
    usage_with_options(git_bisect_helper_usage, (struct option  const  *)(options));
  }
  {
  if ((unsigned int )cmdmode == 1U) {
    goto case_1;
  }
  if ((unsigned int )cmdmode == 3U) {
    goto case_3;
  }
  if ((unsigned int )cmdmode == 4U) {
    goto case_4;
  }
  if ((unsigned int )cmdmode == 6U) {
    goto case_6;
  }
  if ((unsigned int )cmdmode == 7U) {
    goto case_7;
  }
  if ((unsigned int )cmdmode == 8U) {
    goto case_8;
  }
  if ((unsigned int )cmdmode == 9U) {
    goto case_9;
  }
  if ((unsigned int )cmdmode == 10U) {
    goto case_10;
  }
  if ((unsigned int )cmdmode == 11U) {
    goto case_11;
  }
  if ((unsigned int )cmdmode == 12U) {
    goto case_12;
  }
  goto switch_default;
  case_1: /* CIL Label */
  if (argc > 1) {
    tmp = _((char const   *)"--bisect-reset requires either no argument or a commit");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  if (argc) {
    tmp___1 = *(argv___0 + 0);
  } else {
    tmp___1 = (char const   *)((void *)0);
  }
  res = bisect_reset(tmp___1);
  goto switch_break;
  case_3: /* CIL Label */
  if (argc > 1) {
    tmp___2 = _((char const   *)"--bisect-terms requires 0 or 1 argument");
    error((char const   *)tmp___2);
    tmp___3 = const_error();
    return (tmp___3);
  }
  if (argc == 1) {
    tmp___4 = *(argv___0 + 0);
  } else {
    tmp___4 = (char const   *)((void *)0);
  }
  res = bisect_terms(& terms, tmp___4);
  goto switch_break;
  case_4: /* CIL Label */
  set_terms(& terms, (char const   *)"bad", (char const   *)"good");
  tmp___5 = bisect_start(& terms, argv___0, argc);
  res = (int )tmp___5;
  goto switch_break;
  case_6: /* CIL Label */
  if (argc) {
    tmp___6 = _((char const   *)"--bisect-next requires 0 arguments");
    error((char const   *)tmp___6);
    tmp___7 = const_error();
    return (tmp___7);
  }
  get_terms(& terms);
  tmp___8 = bisect_next(& terms, prefix___1);
  res = (int )tmp___8;
  goto switch_break;
  case_7: /* CIL Label */
  set_terms(& terms, (char const   *)"bad", (char const   *)"good");
  get_terms(& terms);
  tmp___9 = bisect_state(& terms, argv___0, argc);
  res = (int )tmp___9;
  goto switch_break;
  case_8: /* CIL Label */
  if (argc) {
    tmp___10 = _((char const   *)"--bisect-log requires 0 arguments");
    error((char const   *)tmp___10);
    tmp___11 = const_error();
    return (tmp___11);
  }
  tmp___12 = bisect_log();
  res = (int )tmp___12;
  goto switch_break;
  case_9: /* CIL Label */
  if (argc != 1) {
    tmp___13 = _((char const   *)"no logfile given");
    error((char const   *)tmp___13);
    tmp___14 = const_error();
    return (tmp___14);
  }
  set_terms(& terms, (char const   *)"bad", (char const   *)"good");
  tmp___15 = bisect_replay(& terms, *(argv___0 + 0));
  res = (int )tmp___15;
  goto switch_break;
  case_10: /* CIL Label */
  set_terms(& terms, (char const   *)"bad", (char const   *)"good");
  get_terms(& terms);
  tmp___16 = bisect_skip(& terms, argv___0, argc);
  res = (int )tmp___16;
  goto switch_break;
  case_11: /* CIL Label */
  get_terms(& terms);
  res = bisect_visualize(& terms, argv___0, argc);
  goto switch_break;
  case_12: /* CIL Label */
  if (! argc) {
    tmp___17 = _((char const   *)"bisect run failed: no command provided.");
    error((char const   *)tmp___17);
    tmp___18 = const_error();
    return (tmp___18);
  }
  get_terms(& terms);
  res = bisect_run(& terms, argv___0, argc);
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"builtin/bisect--helper.c", 1279, (char const   *)"unknown subcommand %d",
         (unsigned int )cmdmode);
  switch_break: /* CIL Label */ ;
  }
  free_terms(& terms);
  if (res == -11) {
    res = 0;
  } else
  if (res == -10) {
    res = 0;
  }
  return (- res);
}
}
static double const   __ac_HASH_UPPER___106  =    (double const   )0.77;
__inline static void kh_resize_oid_set___106(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___106(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___106 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___106 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___106(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___106(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___106(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___106(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___106(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___106(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___106 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___106 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___106(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___106(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___106(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___106(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___106(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___106(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___106 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___106 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___106(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___106(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___106(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___106(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___79(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___79(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___106 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___106 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___79(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___79(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___79(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___79(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char blame_usage[55]  =
  {      (char )'g',      (char )'i',      (char )'t',      (char )' ',
        (char )'b',      (char )'l',      (char )'a',      (char )'m',
        (char )'e',      (char )' ',      (char )'[',      (char )'<',
        (char )'o',      (char )'p',      (char )'t',      (char )'i',
        (char )'o',      (char )'n',      (char )'s',      (char )'>',
        (char )']',      (char )' ',      (char )'[',      (char )'<',
        (char )'r',      (char )'e',      (char )'v',      (char )'-',
        (char )'o',      (char )'p',      (char )'t',      (char )'s',
        (char )'>',      (char )']',      (char )' ',      (char )'[',
        (char )'<',      (char )'r',      (char )'e',      (char )'v',
        (char )'>',      (char )']',      (char )' ',      (char )'[',
        (char )'-',      (char )'-',      (char )']',      (char )' ',
        (char )'<',      (char )'f',      (char )'i',      (char )'l',
        (char )'e',      (char )'>',      (char )'\000'};
static char const   *blame_opt_usage[4]  = {      (char const   *)(blame_usage),      (char const   *)"",      (char const   *)"<rev-opts> are documented in git-rev-list(1)",      (char const   *)((void *)0)};
static int longest_file  ;
static int longest_author  ;
static int max_orig_digits  ;
static int max_digits  ;
static int max_score_digits  ;
static int show_root  ;
static int reverse  ;
static int blank_boundary  ;
static int incremental  ;
static int xdl_opts  ;
static int abbrev  =    -1;
static int no_whole_file_rename  ;
static int show_progress  ;
static char repeated_meta_color[75]  ;
static int coloring_mode  ;
static struct string_list ignore_revs_file_list  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static int mark_unblamable_lines  ;
static int mark_ignored_lines  ;
static struct date_mode blame_date_mode  =    {(enum date_mode_type )4, (char const   *)0, 0};
static size_t blame_date_width  ;
static struct string_list mailmap  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static unsigned int blame_move_score  ;
static unsigned int blame_copy_score  ;
static char const   *nth_line_cb(void *data , long lno )
{
  char const   *tmp ;

  {
  tmp = blame_nth_line((struct blame_scoreboard *)data, lno);
  return (tmp);
}
}
static void get_ac_line(char const   *inbuf , char const   *what , struct strbuf *name___0 ,
                        struct strbuf *mail , timestamp_t *time___0 , struct strbuf *tz )
{
  struct ident_split ident ;
  size_t len___0 ;
  size_t maillen ;
  size_t namelen ;
  char *tmp ;
  char *endp ;
  char const   *namebuf ;
  char const   *mailbuf ;
  size_t tmp___0 ;
  int tmp___1 ;

  {
  tmp = strstr(inbuf, what);
  if (! tmp) {
    goto error_out;
  }
  tmp___0 = strlen(what);
  tmp += tmp___0;
  endp = strchr((char const   *)tmp, '\n');
  if (! endp) {
    len___0 = strlen((char const   *)tmp);
  } else {
    len___0 = (size_t )(endp - tmp);
  }
  tmp___1 = split_ident_line(& ident, (char const   *)tmp, (int )len___0);
  if (tmp___1) {
    error_out:
    tmp = "(unknown)";
    strbuf_addstr(name___0, (char const   *)tmp);
    strbuf_addstr(mail, (char const   *)tmp);
    strbuf_addstr(tz, (char const   *)tmp);
    *time___0 = (timestamp_t )0;
    return;
  }
  namelen = (size_t )(ident.name_end - ident.name_begin);
  namebuf = ident.name_begin;
  maillen = (size_t )(ident.mail_end - ident.mail_begin);
  mailbuf = ident.mail_begin;
  if (ident.date_begin) {
    if (ident.date_end) {
      *time___0 = strtoul((char const   * __restrict  )ident.date_begin, (char ** __restrict  )((void *)0),
                          10);
    } else {
      *time___0 = (timestamp_t )0;
    }
  } else {
    *time___0 = (timestamp_t )0;
  }
  if (ident.tz_begin) {
    if (ident.tz_end) {
      strbuf_add(tz, (void const   *)ident.tz_begin, (size_t )(ident.tz_end - ident.tz_begin));
    } else {
      strbuf_addstr(tz, (char const   *)"(unknown)");
    }
  } else {
    strbuf_addstr(tz, (char const   *)"(unknown)");
  }
  map_user(& mailmap, & mailbuf, & maillen, & namebuf, & namelen);
  strbuf_addf(mail, (char const   *)"<%.*s>", (int )maillen, mailbuf);
  strbuf_add(name___0, (void const   *)namebuf, namelen);
  return;
}
}
static void commit_info_destroy(struct commit_info *ci )
{


  {
  strbuf_release(& ci->author);
  strbuf_release(& ci->author_mail);
  strbuf_release(& ci->author_tz);
  strbuf_release(& ci->committer);
  strbuf_release(& ci->committer_mail);
  strbuf_release(& ci->committer_tz);
  strbuf_release(& ci->summary);
  return;
}
}
static void get_commit_info___0(struct commit *commit , struct commit_info *ret___67 ,
                                int detailed )
{
  int len___0 ;
  char const   *subject ;
  char const   *encoding ;
  char const   *message___0 ;
  char *tmp ;

  {
  encoding = get_log_output_encoding();
  message___0 = repo_logmsg_reencode(the_repository, (struct commit  const  *)commit,
                                     (char **)((void *)0), encoding);
  get_ac_line(message___0, (char const   *)"\nauthor ", & ret___67->author, & ret___67->author_mail,
              & ret___67->author_time, & ret___67->author_tz);
  if (! detailed) {
    repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit, (void const   *)message___0);
    return;
  }
  get_ac_line(message___0, (char const   *)"\ncommitter ", & ret___67->committer,
              & ret___67->committer_mail, & ret___67->committer_time, & ret___67->committer_tz);
  len___0 = find_commit_subject(message___0, & subject);
  if (len___0) {
    strbuf_add(& ret___67->summary, (void const   *)subject, (size_t )len___0);
  } else {
    tmp = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    strbuf_addf(& ret___67->summary, (char const   *)"(%s)", tmp);
  }
  repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit, (void const   *)message___0);
  return;
}
}
static void write_filename_info(struct blame_origin *suspect )
{
  struct blame_origin *prev ;
  char *tmp ;

  {
  if (suspect->previous) {
    prev = suspect->previous;
    tmp = oid_to_hex((struct object_id  const  *)(& (prev->commit)->object.oid));
    printf((char const   *)"previous %s ", tmp);
    write_name_quoted((char const   *)(prev->path), stdout, '\n');
  }
  printf((char const   *)"filename ");
  write_name_quoted((char const   *)(suspect->path), stdout, '\n');
  return;
}
}
static int emit_one_suspect_detail(struct blame_origin *suspect , int repeat )
{
  struct commit_info ci ;

  {
  ci.author.alloc = 0UL;
  ci.author.len = 0UL;
  ci.author.buf = strbuf_slopbuf;
  ci.author_mail.alloc = 0UL;
  ci.author_mail.len = 0UL;
  ci.author_mail.buf = strbuf_slopbuf;
  ci.author_time = 0UL;
  ci.author_tz.alloc = 0UL;
  ci.author_tz.len = 0UL;
  ci.author_tz.buf = strbuf_slopbuf;
  ci.committer.alloc = 0UL;
  ci.committer.len = 0UL;
  ci.committer.buf = strbuf_slopbuf;
  ci.committer_mail.alloc = 0UL;
  ci.committer_mail.len = 0UL;
  ci.committer_mail.buf = strbuf_slopbuf;
  ci.committer_time = 0UL;
  ci.committer_tz.alloc = 0UL;
  ci.committer_tz.len = 0UL;
  ci.committer_tz.buf = strbuf_slopbuf;
  ci.summary.alloc = 0UL;
  ci.summary.len = 0UL;
  ci.summary.buf = strbuf_slopbuf;
  if (! repeat) {
    if ((suspect->commit)->object.flags & (1u << 12)) {
      return (0);
    }
  }
  (suspect->commit)->object.flags |= 1u << 12;
  get_commit_info___0(suspect->commit, & ci, 1);
  printf((char const   *)"author %s\n", ci.author.buf);
  printf((char const   *)"author-mail %s\n", ci.author_mail.buf);
  printf((char const   *)"author-time %lu\n", ci.author_time);
  printf((char const   *)"author-tz %s\n", ci.author_tz.buf);
  printf((char const   *)"committer %s\n", ci.committer.buf);
  printf((char const   *)"committer-mail %s\n", ci.committer_mail.buf);
  printf((char const   *)"committer-time %lu\n", ci.committer_time);
  printf((char const   *)"committer-tz %s\n", ci.committer_tz.buf);
  printf((char const   *)"summary %s\n", ci.summary.buf);
  if ((suspect->commit)->object.flags & (1u << 1)) {
    printf((char const   *)"boundary\n");
  }
  commit_info_destroy(& ci);
  return (1);
}
}
static void found_guilty_entry(struct blame_entry *ent , void *data )
{
  struct progress_info *pi ;
  struct blame_origin *suspect ;
  char *tmp ;

  {
  pi = (struct progress_info *)data;
  if (incremental) {
    suspect = ent->suspect;
    tmp = oid_to_hex((struct object_id  const  *)(& (suspect->commit)->object.oid));
    printf((char const   *)"%s %d %d %d\n", tmp, ent->s_lno + 1, ent->lno + 1, ent->num_lines);
    emit_one_suspect_detail(suspect, 0);
    write_filename_info(suspect);
    maybe_flush_or_die(stdout, (char const   *)"stdout");
  }
  pi->blamed_lines += ent->num_lines;
  display_progress(pi->progress, (uint64_t )pi->blamed_lines);
  return;
}
}
static char const   *format_time(timestamp_t time___0 , char const   *tz_str , int show_raw_time ) ;
static struct strbuf time_buf  =    {0UL, 0UL, strbuf_slopbuf};
static char const   *format_time(timestamp_t time___0 , char const   *tz_str , int show_raw_time )
{
  char const   *time_str ;
  size_t time_width ;
  int tz ;
  int tmp ;

  {
  strbuf_setlen___33(& time_buf, (size_t )0);
  if (show_raw_time) {
    strbuf_addf(& time_buf, (char const   *)"%lu %s", time___0, tz_str);
  } else {
    tz = atoi(tz_str);
    time_str = show_date(time___0, tz, (struct date_mode  const  *)(& blame_date_mode));
    strbuf_addstr(& time_buf, time_str);
    tmp = utf8_strwidth(time_str);
    time_width = (size_t )tmp;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (time_width < blame_date_width)) {
        goto while_break;
      }
      strbuf_addch(& time_buf, ' ');
      time_width ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  return ((char const   *)time_buf.buf);
}
}
static void emit_porcelain_details(struct blame_origin *suspect , int repeat )
{
  int tmp ;

  {
  tmp = emit_one_suspect_detail(suspect, repeat);
  if (tmp) {
    write_filename_info(suspect);
  } else
  if ((suspect->commit)->object.flags & (1u << 13)) {
    write_filename_info(suspect);
  }
  return;
}
}
static void emit_porcelain(struct blame_scoreboard *sb___6 , struct blame_entry *ent ,
                           int opt___0 )
{
  int repeat ;
  int cnt ;
  char const   *cp ;
  struct blame_origin *suspect ;
  char hex___3[65] ;
  char ch___0 ;
  char const   *tmp ;

  {
  repeat = (int )((unsigned int )opt___0 & (1U << 9));
  suspect = ent->suspect;
  oid_to_hex_r(hex___3, (struct object_id  const  *)(& (suspect->commit)->object.oid));
  printf((char const   *)"%s %d %d %d\n", hex___3, ent->s_lno + 1, ent->lno + 1, ent->num_lines);
  emit_porcelain_details(suspect, repeat);
  cp = blame_nth_line(sb___6, (long )ent->lno);
  cnt = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (cnt < ent->num_lines)) {
      goto while_break;
    }
    if (cnt) {
      printf((char const   *)"%s %d %d\n", hex___3, (ent->s_lno + 1) + cnt, (ent->lno + 1) + cnt);
      if (repeat) {
        emit_porcelain_details(suspect, 1);
      }
    }
    putchar('\t');
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp = cp;
      cp ++;
      ch___0 = (char )*tmp;
      putchar((int )ch___0);
      if ((int )ch___0 != 10) {
        if (! ((unsigned long )cp < (unsigned long )(sb___6->final_buf + sb___6->final_buf_size))) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    cnt ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (sb___6->final_buf_size) {
    if ((int const   )*(cp + -1) != 10) {
      putchar('\n');
    }
  }
  return;
}
}
static struct color_field *colorfield  ;
static int colorfield_nr  ;
static int colorfield_alloc  ;
static void parse_color_fields(char const   *s___1 )
{
  struct string_list l ;
  struct string_list_item *item___0 ;
  enum __anonenum_next_815233789 next___2 ;
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  l.items = (struct string_list_item *)0;
  l.nr = 0U;
  l.alloc = 0U;
  l.strdup_strings = 1U;
  l.cmp = (int (*)(char const   * , char const   * ))0;
  next___2 = (enum __anonenum_next_815233789 )1;
  colorfield_nr = 0;
  string_list_split(& l, s___1, ',', -1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (colorfield_nr + 1 > colorfield_alloc) {
      if (((colorfield_alloc + 16) * 3) / 2 < colorfield_nr + 1) {
        colorfield_alloc = colorfield_nr + 1;
      } else {
        colorfield_alloc = ((colorfield_alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*colorfield), (size_t )colorfield_alloc);
      tmp___0 = xrealloc((void *)colorfield, tmp);
      colorfield = (struct color_field *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  item___0 = l.items;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(l.items + l.nr))) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    {
    if ((unsigned int )next___2 == 0U) {
      goto case_0;
    }
    if ((unsigned int )next___2 == 1U) {
      goto case_1;
    }
    goto switch_break;
    case_0: /* CIL Label */
    (colorfield + colorfield_nr)->hop = approxidate_careful((char const   *)item___0->string,
                                                            (int *)((void *)0));
    next___2 = (enum __anonenum_next_815233789 )1;
    colorfield_nr ++;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (colorfield_nr + 1 > colorfield_alloc) {
        if (((colorfield_alloc + 16) * 3) / 2 < colorfield_nr + 1) {
          colorfield_alloc = colorfield_nr + 1;
        } else {
          colorfield_alloc = ((colorfield_alloc + 16) * 3) / 2;
        }
        tmp___1 = st_mult(sizeof(*colorfield), (size_t )colorfield_alloc);
        tmp___2 = xrealloc((void *)colorfield, tmp___1);
        colorfield = (struct color_field *)tmp___2;
      }
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
    goto switch_break;
    case_1: /* CIL Label */
    tmp___4 = color_parse((char const   *)item___0->string, (colorfield + colorfield_nr)->col);
    if (tmp___4) {
      tmp___3 = _((char const   *)"expecting a color: %s");
      die((char const   *)tmp___3, item___0->string);
    }
    next___2 = (enum __anonenum_next_815233789 )0;
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    item___0 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if ((unsigned int )next___2 == 1U) {
    tmp___5 = _((char const   *)"must end with a color");
    die((char const   *)tmp___5);
  }
  (colorfield + colorfield_nr)->hop = 18446744073709551615UL;
  string_list_clear(& l, 0);
  return;
}
}
static void setup_default_color_by_age(void)
{


  {
  parse_color_fields((char const   *)"blue,12 month ago,white,1 month ago,red");
  return;
}
}
static void determine_line_heat(struct commit_info *ci , char const   **dest_color )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i < colorfield_nr) {
      if (! (ci->author_time > (colorfield + i)->hop)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  *dest_color = (char const   *)((colorfield + i)->col);
  return;
}
}
static void emit_other(struct blame_scoreboard *sb___6 , struct blame_entry *ent ,
                       int opt___0 )
{
  int cnt ;
  char const   *cp ;
  struct blame_origin *suspect ;
  struct commit_info ci ;
  char hex___3[65] ;
  int show_raw_time ;
  char const   *default_color ;
  char const   *color___0 ;
  char const   *reset ;
  char ch___0 ;
  int length ;
  size_t tmp ;
  char const   *name___0 ;
  char const   *tmp___0 ;
  char const   *name___1 ;
  int pad___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;

  {
  suspect = ent->suspect;
  ci.author.alloc = 0UL;
  ci.author.len = 0UL;
  ci.author.buf = strbuf_slopbuf;
  ci.author_mail.alloc = 0UL;
  ci.author_mail.len = 0UL;
  ci.author_mail.buf = strbuf_slopbuf;
  ci.author_time = 0UL;
  ci.author_tz.alloc = 0UL;
  ci.author_tz.len = 0UL;
  ci.author_tz.buf = strbuf_slopbuf;
  ci.committer.alloc = 0UL;
  ci.committer.len = 0UL;
  ci.committer.buf = strbuf_slopbuf;
  ci.committer_mail.alloc = 0UL;
  ci.committer_mail.len = 0UL;
  ci.committer_mail.buf = strbuf_slopbuf;
  ci.committer_time = 0UL;
  ci.committer_tz.alloc = 0UL;
  ci.committer_tz.len = 0UL;
  ci.committer_tz.buf = strbuf_slopbuf;
  ci.summary.alloc = 0UL;
  ci.summary.len = 0UL;
  ci.summary.buf = strbuf_slopbuf;
  show_raw_time = ! (! ((unsigned int )opt___0 & (1U << 2)));
  default_color = (char const   *)((void *)0);
  color___0 = (char const   *)((void *)0);
  reset = (char const   *)((void *)0);
  get_commit_info___0(suspect->commit, & ci, 1);
  oid_to_hex_r(hex___3, (struct object_id  const  *)(& (suspect->commit)->object.oid));
  cp = blame_nth_line(sb___6, (long )ent->lno);
  if ((unsigned int )opt___0 & (1U << 11)) {
    determine_line_heat(& ci, & default_color);
    color___0 = default_color;
    reset = (char const   *)"\033[m";
  }
  cnt = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (cnt < ent->num_lines)) {
      goto while_break;
    }
    if ((unsigned int )opt___0 & (1U << 1)) {
      tmp = (the_repository->hash_algo)->hexsz;
    } else {
      tmp = (size_t )abbrev;
    }
    length = (int )tmp;
    if ((unsigned int )opt___0 & (1U << 10)) {
      if (cnt > 0) {
        color___0 = (char const   *)(repeated_meta_color);
        reset = (char const   *)"\033[m";
      } else {
        if (default_color) {
          color___0 = default_color;
        } else {
          color___0 = (char const   *)((void *)0);
        }
        if (default_color) {
          reset = (char const   *)"\033[m";
        } else {
          reset = (char const   *)((void *)0);
        }
      }
    }
    if (color___0) {
      fputs((char const   * __restrict  )color___0, (FILE * __restrict  )stdout);
    }
    if ((suspect->commit)->object.flags & (1u << 1)) {
      if (blank_boundary) {
        memset((void *)(hex___3), ' ', (size_t )length);
      } else
      if (! ((unsigned int )opt___0 & 1U)) {
        length --;
        putchar('^');
      }
    }
    if (mark_unblamable_lines) {
      if (ent->unblamable) {
        length --;
        putchar('*');
      }
    }
    if (mark_ignored_lines) {
      if (ent->ignored) {
        length --;
        putchar('?');
      }
    }
    printf((char const   *)"%.*s", length, hex___3);
    if ((unsigned int )opt___0 & 1U) {
      if ((unsigned int )opt___0 & (1U << 8)) {
        name___0 = (char const   *)ci.author_mail.buf;
      } else {
        name___0 = (char const   *)ci.author.buf;
      }
      tmp___0 = format_time(ci.author_time, (char const   *)ci.author_tz.buf, show_raw_time);
      printf((char const   *)"\t(%10s\t%10s\t%d)", name___0, tmp___0, (ent->lno + 1) + cnt);
    } else {
      if ((unsigned int )opt___0 & (1U << 6)) {
        printf((char const   *)" %*d %02d", max_score_digits, ent->score, (ent->suspect)->refcnt);
      }
      if ((unsigned int )opt___0 & (1U << 4)) {
        printf((char const   *)" %-*.*s", longest_file, longest_file, suspect->path);
      }
      if ((unsigned int )opt___0 & (1U << 5)) {
        printf((char const   *)" %*d", max_orig_digits, (ent->s_lno + 1) + cnt);
      }
      if (! ((unsigned int )opt___0 & (1U << 7))) {
        if ((unsigned int )opt___0 & (1U << 8)) {
          name___1 = (char const   *)ci.author_mail.buf;
        } else {
          name___1 = (char const   *)ci.author.buf;
        }
        tmp___1 = utf8_strwidth(name___1);
        pad___0 = longest_author - tmp___1;
        tmp___2 = format_time(ci.author_time, (char const   *)ci.author_tz.buf, show_raw_time);
        printf((char const   *)" (%s%*s %10s", name___1, pad___0, "", tmp___2);
      }
      printf((char const   *)" %*d) ", max_digits, (ent->lno + 1) + cnt);
    }
    if (reset) {
      fputs((char const   * __restrict  )reset, (FILE * __restrict  )stdout);
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___3 = cp;
      cp ++;
      ch___0 = (char )*tmp___3;
      putchar((int )ch___0);
      if ((int )ch___0 != 10) {
        if (! ((unsigned long )cp < (unsigned long )(sb___6->final_buf + sb___6->final_buf_size))) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    cnt ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (sb___6->final_buf_size) {
    if ((int const   )*(cp + -1) != 10) {
      putchar('\n');
    }
  }
  commit_info_destroy(& ci);
  return;
}
}
static void output___2(struct blame_scoreboard *sb___6 , int option )
{
  struct blame_entry *ent ;
  int count___0 ;
  struct blame_origin *suspect ;
  struct commit *commit ;
  int tmp ;

  {
  if ((unsigned int )option & (1U << 3)) {
    ent = sb___6->ent;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ent) {
        goto while_break;
      }
      count___0 = 0;
      commit = (ent->suspect)->commit;
      if (commit->object.flags & (1u << 13)) {
        goto __Cont;
      }
      suspect = get_blame_suspects(commit);
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! suspect) {
          goto while_break___0;
        }
        if (suspect->guilty) {
          tmp = count___0;
          count___0 ++;
          if (tmp) {
            commit->object.flags |= 1u << 13;
            goto while_break___0;
          }
        }
        suspect = suspect->next;
      }
      while_break___0: /* CIL Label */ ;
      }
      __Cont: /* CIL Label */
      ent = ent->next;
    }
    while_break: /* CIL Label */ ;
    }
  }
  ent = sb___6->ent;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ent) {
      goto while_break___1;
    }
    if ((unsigned int )option & (1U << 3)) {
      emit_porcelain(sb___6, ent, option);
    } else {
      emit_other(sb___6, ent, option);
    }
    ent = ent->next;
  }
  while_break___1: /* CIL Label */ ;
  }
  return;
}
}
static int read_ancestry(char const   *graft_file )
{
  FILE *fp ;
  FILE *tmp ;
  struct strbuf buf___19 ;
  struct commit_graft *graft ;
  struct commit_graft *tmp___0 ;
  int tmp___1 ;

  {
  tmp = fopen_or_warn(graft_file, (char const   *)"r");
  fp = tmp;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (! fp) {
    return (-1);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = strbuf_getwholeline(& buf___19, fp, '\n');
    if (tmp___1) {
      goto while_break;
    }
    tmp___0 = read_graft_line(& buf___19);
    graft = tmp___0;
    if (graft) {
      register_commit_graft(the_repository, graft, 0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  fclose(fp);
  strbuf_release(& buf___19);
  return (0);
}
}
static int update_auto_abbrev(int auto_abbrev , struct blame_origin *suspect )
{
  char const   *uniq___0 ;
  char const   *tmp ;
  int len___0 ;
  size_t tmp___0 ;

  {
  tmp = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& (suspect->commit)->object.oid),
                                auto_abbrev);
  uniq___0 = tmp;
  tmp___0 = strlen(uniq___0);
  len___0 = (int )tmp___0;
  if (auto_abbrev < len___0) {
    return (len___0);
  }
  return (auto_abbrev);
}
}
static void find_alignment(struct blame_scoreboard *sb___6 , int *option )
{
  int longest_src_lines ;
  int longest_dst_lines ;
  unsigned int largest_score ;
  struct blame_entry *e ;
  int compute_auto_abbrev ;
  int auto_abbrev ;
  struct blame_origin *suspect ;
  int num ;
  int tmp ;
  size_t tmp___0 ;
  struct commit_info ci ;
  unsigned int tmp___1 ;

  {
  longest_src_lines = 0;
  longest_dst_lines = 0;
  largest_score = 0U;
  compute_auto_abbrev = abbrev < 0;
  auto_abbrev = default_abbrev;
  e = sb___6->ent;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! e) {
      goto while_break;
    }
    suspect = e->suspect;
    if (compute_auto_abbrev) {
      auto_abbrev = update_auto_abbrev(auto_abbrev, suspect);
    }
    tmp = strcmp((char const   *)(suspect->path), sb___6->path);
    if (tmp) {
      *option = (int )((unsigned int )*option | (1U << 4));
    }
    tmp___0 = strlen((char const   *)(suspect->path));
    num = (int )tmp___0;
    if (longest_file < num) {
      longest_file = num;
    }
    if (! ((suspect->commit)->object.flags & (1u << 12))) {
      ci.author.alloc = 0UL;
      ci.author.len = 0UL;
      ci.author.buf = strbuf_slopbuf;
      ci.author_mail.alloc = 0UL;
      ci.author_mail.len = 0UL;
      ci.author_mail.buf = strbuf_slopbuf;
      ci.author_time = 0UL;
      ci.author_tz.alloc = 0UL;
      ci.author_tz.len = 0UL;
      ci.author_tz.buf = strbuf_slopbuf;
      ci.committer.alloc = 0UL;
      ci.committer.len = 0UL;
      ci.committer.buf = strbuf_slopbuf;
      ci.committer_mail.alloc = 0UL;
      ci.committer_mail.len = 0UL;
      ci.committer_mail.buf = strbuf_slopbuf;
      ci.committer_time = 0UL;
      ci.committer_tz.alloc = 0UL;
      ci.committer_tz.len = 0UL;
      ci.committer_tz.buf = strbuf_slopbuf;
      ci.summary.alloc = 0UL;
      ci.summary.len = 0UL;
      ci.summary.buf = strbuf_slopbuf;
      (suspect->commit)->object.flags |= 1u << 12;
      get_commit_info___0(suspect->commit, & ci, 1);
      if ((unsigned int )*option & (1U << 8)) {
        num = utf8_strwidth((char const   *)ci.author_mail.buf);
      } else {
        num = utf8_strwidth((char const   *)ci.author.buf);
      }
      if (longest_author < num) {
        longest_author = num;
      }
      commit_info_destroy(& ci);
    }
    num = e->s_lno + e->num_lines;
    if (longest_src_lines < num) {
      longest_src_lines = num;
    }
    num = e->lno + e->num_lines;
    if (longest_dst_lines < num) {
      longest_dst_lines = num;
    }
    tmp___1 = blame_entry_score(sb___6, e);
    if (largest_score < tmp___1) {
      largest_score = blame_entry_score(sb___6, e);
    }
    e = e->next;
  }
  while_break: /* CIL Label */ ;
  }
  max_orig_digits = decimal_width((uintmax_t )longest_src_lines);
  max_digits = decimal_width((uintmax_t )longest_dst_lines);
  max_score_digits = decimal_width((uintmax_t )largest_score);
  if (compute_auto_abbrev) {
    abbrev = auto_abbrev + 1;
  }
  return;
}
}
static void sanity_check_on_fail(struct blame_scoreboard *sb___6 , int baa )
{
  int opt___0 ;

  {
  opt___0 = (int )(((1U << 6) | (1U << 5)) | (1U << 4));
  find_alignment(sb___6, & opt___0);
  output___2(sb___6, opt___0);
  die((char const   *)"Baa %d!", baa);
}
}
static unsigned int parse_score(char const   *arg )
{
  char *end ;
  unsigned long score ;
  unsigned long tmp ;

  {
  tmp = strtoul((char const   * __restrict  )arg, (char ** __restrict  )(& end), 10);
  score = tmp;
  if (*end) {
    return (0U);
  }
  return ((unsigned int )score);
}
}
static char const   *add_prefix(char const   *prefix___1 , char const   *path___6 )
{
  size_t tmp ;
  size_t tmp___0 ;
  char *tmp___1 ;

  {
  if (prefix___1) {
    tmp = strlen(prefix___1);
    tmp___0 = tmp;
  } else {
    tmp___0 = (size_t )0;
  }
  tmp___1 = prefix_path(prefix___1, (int )tmp___0, path___6);
  return ((char const   *)tmp___1);
}
}
static int git_blame_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;
  int tmp___0 ;
  int *output_option ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const   *str ;
  int ret___67 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  size_t tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;

  {
  tmp = strcmp(var, (char const   *)"blame.showroot");
  if (! tmp) {
    show_root = git_config_bool(var, value);
    return (0);
  }
  tmp___0 = strcmp(var, (char const   *)"blame.blankboundary");
  if (! tmp___0) {
    blank_boundary = git_config_bool(var, value);
    return (0);
  }
  tmp___2 = strcmp(var, (char const   *)"blame.showemail");
  if (! tmp___2) {
    output_option = (int *)cb;
    tmp___1 = git_config_bool(var, value);
    if (tmp___1) {
      *output_option = (int )((unsigned int )*output_option | (1U << 8));
    } else {
      *output_option = (int )((unsigned int )*output_option & ~ (1U << 8));
    }
    return (0);
  }
  tmp___4 = strcmp(var, (char const   *)"blame.date");
  if (! tmp___4) {
    if (! value) {
      config_error_nonbool(var);
      tmp___3 = const_error();
      return (tmp___3);
    }
    parse_date_format(value, & blame_date_mode);
    return (0);
  }
  tmp___5 = strcmp(var, (char const   *)"blame.ignorerevsfile");
  if (! tmp___5) {
    ret___67 = git_config_pathname(& str, var, value);
    if (ret___67) {
      return (ret___67);
    }
    string_list_insert(& ignore_revs_file_list, str);
    return (0);
  }
  tmp___6 = strcmp(var, (char const   *)"blame.markunblamablelines");
  if (! tmp___6) {
    mark_unblamable_lines = git_config_bool(var, value);
    return (0);
  }
  tmp___7 = strcmp(var, (char const   *)"blame.markignoredlines");
  if (! tmp___7) {
    mark_ignored_lines = git_config_bool(var, value);
    return (0);
  }
  tmp___11 = strcmp(var, (char const   *)"color.blame.repeatedlines");
  if (! tmp___11) {
    tmp___9 = strlen(value);
    tmp___10 = color_parse_mem(value, (int )tmp___9, repeated_meta_color);
    if (tmp___10) {
      tmp___8 = _((char const   *)"invalid color \'%s\' in color.blame.repeatedLines");
      warning((char const   *)tmp___8, value);
    }
    return (0);
  }
  tmp___12 = strcmp(var, (char const   *)"color.blame.highlightrecent");
  if (! tmp___12) {
    parse_color_fields(value);
    return (0);
  }
  tmp___17 = strcmp(var, (char const   *)"blame.coloring");
  if (! tmp___17) {
    tmp___16 = strcmp(value, (char const   *)"repeatedLines");
    if (tmp___16) {
      tmp___15 = strcmp(value, (char const   *)"highlightRecent");
      if (tmp___15) {
        tmp___14 = strcmp(value, (char const   *)"none");
        if (tmp___14) {
          tmp___13 = _((char const   *)"invalid value for blame.coloring");
          warning((char const   *)tmp___13);
          return (0);
        } else {
          coloring_mode = (int )((unsigned int )coloring_mode & ~ ((1U << 10) | (1U << 11)));
        }
      } else {
        coloring_mode = (int )((unsigned int )coloring_mode | (1U << 11));
      }
    } else {
      coloring_mode = (int )((unsigned int )coloring_mode | (1U << 10));
    }
  }
  tmp___18 = git_diff_heuristic_config(var, value, cb);
  if (tmp___18 < 0) {
    return (-1);
  }
  tmp___19 = userdiff_config(var, value);
  if (tmp___19 < 0) {
    return (-1);
  }
  tmp___20 = git_default_config(var, value, cb);
  return (tmp___20);
}
}
static int blame_copy_callback(struct option  const  *option , char const   *arg ,
                               int unset )
{
  int *opt___0 ;

  {
  opt___0 = (int *)option->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/blame.c", 759, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (*opt___0 & 04) {
    *opt___0 |= 010;
  }
  if (*opt___0 & 02) {
    *opt___0 |= 04;
  }
  *opt___0 |= 3;
  if (arg) {
    blame_copy_score = parse_score(arg);
  }
  return (0);
}
}
static int blame_move_callback(struct option  const  *option , char const   *arg ,
                               int unset )
{
  int *opt___0 ;

  {
  opt___0 = (int *)option->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/blame.c", 783, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  *opt___0 |= 01;
  if (arg) {
    blame_move_score = parse_score(arg);
  }
  return (0);
}
}
static int is_a_rev(char const   *name___0 )
{
  struct object_id oid ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = repo_get_oid(the_repository, name___0, & oid);
  if (tmp) {
    return (0);
  }
  tmp___0 = oid_object_info(the_repository, (struct object_id  const  *)(& oid), (unsigned long *)((void *)0));
  return (0 < tmp___0);
}
}
static int peel_to_commit_oid(struct object_id *oid_ret , void *cbdata )
{
  struct repository *r ;
  struct object_id oid ;
  struct object *obj ;
  int kind ;
  int tmp ;
  struct object *tmp___0 ;

  {
  r = ((struct blame_scoreboard *)cbdata)->repo;
  oidcpy(& oid, (struct object_id  const  *)oid_ret);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = oid_object_info(r, (struct object_id  const  *)(& oid), (unsigned long *)((void *)0));
    kind = tmp;
    if (kind == 1) {
      oidcpy(oid_ret, (struct object_id  const  *)(& oid));
      return (0);
    }
    if (kind != 4) {
      return (-1);
    }
    tmp___0 = parse_object(r, (struct object_id  const  *)(& oid));
    obj = deref_tag(r, tmp___0, (char const   *)((void *)0), 0);
    if (! obj) {
      return (-1);
    }
    oidcpy(& oid, (struct object_id  const  *)(& obj->oid));
  }
  while_break: /* CIL Label */ ;
  }
}
}
static void build_ignorelist(struct blame_scoreboard *sb___6 , struct string_list *ignore_revs_file_list___0 ,
                             struct string_list *ignore_rev_list )
{
  struct string_list_item *i ;
  struct object_id oid ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  oidset_init(& sb___6->ignore_list, (size_t )0);
  i = ignore_revs_file_list___0->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i) {
      if (! ((unsigned long )i < (unsigned long )(ignore_revs_file_list___0->items + ignore_revs_file_list___0->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = strcmp((char const   *)i->string, (char const   *)"");
    if (tmp) {
      oidset_parse_file_carefully(& sb___6->ignore_list, (char const   *)i->string,
                                  & peel_to_commit_oid, (void *)sb___6);
    } else {
      oidset_clear(& sb___6->ignore_list);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = ignore_rev_list->items;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (i) {
      if (! ((unsigned long )i < (unsigned long )(ignore_rev_list->items + ignore_rev_list->nr))) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    tmp___1 = repo_get_oid_committish(the_repository, (char const   *)i->string, & oid);
    if (tmp___1) {
      tmp___0 = _((char const   *)"cannot find revision %s to ignore");
      die((char const   *)tmp___0, i->string);
    } else {
      tmp___2 = peel_to_commit_oid(& oid, (void *)sb___6);
      if (tmp___2) {
        tmp___0 = _((char const   *)"cannot find revision %s to ignore");
        die((char const   *)tmp___0, i->string);
      }
    }
    oidset_insert(& sb___6->ignore_list, (struct object_id  const  *)(& oid));
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
int cmd_blame(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct rev_info revs ;
  char const   *path___6 ;
  struct blame_scoreboard sb___6 ;
  struct blame_origin *o ;
  struct blame_entry *ent ;
  long dashdash_pos ;
  long lno ;
  struct progress_info pi ;
  struct string_list range_list ;
  struct string_list ignore_rev_list ;
  int output_option ;
  int opt___0 ;
  int show_stats___2 ;
  char const   *revs_file ;
  char const   *contents_from ;
  struct option options[28] ;
  struct parse_opt_ctx_t ctx___0 ;
  int cmd_is_annotate ;
  int tmp ;
  int tmp___0 ;
  struct range_set ranges ;
  unsigned int range_i ;
  long anchor ;
  int hexsz ;
  enum parse_opt_result tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const   *tmp___9 ;
  size_t tmp___10 ;
  int tmp___11 ;
  char const   *tmp___12 ;
  int tmp___13 ;
  struct commit *head_commit ;
  struct object_id head_oid___1 ;
  char const   *tmp___14 ;
  int tmp___15 ;
  long bottom ;
  long top ;
  int tmp___16 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___17 ;
  struct range  const  *r ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  struct blame_entry *e ;

  {
  ent = (struct blame_entry *)((void *)0);
  pi.progress = (struct progress *)((void *)0);
  pi.blamed_lines = 0;
  range_list.items = (struct string_list_item *)0;
  range_list.nr = 0U;
  range_list.alloc = 0U;
  range_list.strdup_strings = 0U;
  range_list.cmp = (int (*)(char const   * , char const   * ))0;
  ignore_rev_list.items = (struct string_list_item *)0;
  ignore_rev_list.nr = 0U;
  ignore_rev_list.alloc = 0U;
  ignore_rev_list.strdup_strings = 0U;
  ignore_rev_list.cmp = (int (*)(char const   * , char const   * ))0;
  output_option = 0;
  opt___0 = 0;
  show_stats___2 = 0;
  revs_file = (char const   *)((void *)0);
  contents_from = (char const   *)((void *)0);
  options[0].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[0].short_name = (int )0;
  options[0].long_name = (char const   *)((char const   *)"incremental");
  options[0].value = (void *)((void *)(& incremental));
  options[0].argh = (char const   *)((char const   *)((void *)0));
  options[0].help = (char const   *)((char const   *)"show blame entries as we find them, incrementally");
  options[0].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[0].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[0].defval = (intptr_t )((intptr_t )1);
  options[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[0].extra = (intptr_t )0L;
  options[1].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[1].short_name = (int )'b';
  options[1].long_name = (char const   *)((char const   *)((void *)0));
  options[1].value = (void *)((void *)(& blank_boundary));
  options[1].argh = (char const   *)((char const   *)((void *)0));
  options[1].help = (char const   *)((char const   *)"do not show object names of boundary commits (Default: off)");
  options[1].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[1].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[1].defval = (intptr_t )((intptr_t )1);
  options[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[1].extra = (intptr_t )0L;
  options[2].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[2].short_name = (int )0;
  options[2].long_name = (char const   *)((char const   *)"root");
  options[2].value = (void *)((void *)(& show_root));
  options[2].argh = (char const   *)((char const   *)((void *)0));
  options[2].help = (char const   *)((char const   *)"do not treat root commits as boundaries (Default: off)");
  options[2].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[2].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[2].defval = (intptr_t )((intptr_t )1);
  options[2].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[2].extra = (intptr_t )0L;
  options[3].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[3].short_name = (int )0;
  options[3].long_name = (char const   *)((char const   *)"show-stats");
  options[3].value = (void *)((void *)(& show_stats___2));
  options[3].argh = (char const   *)((char const   *)((void *)0));
  options[3].help = (char const   *)((char const   *)"show work cost statistics");
  options[3].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[3].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[3].defval = (intptr_t )((intptr_t )1);
  options[3].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[3].extra = (intptr_t )0L;
  options[4].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[4].short_name = (int )0;
  options[4].long_name = (char const   *)((char const   *)"progress");
  options[4].value = (void *)((void *)(& show_progress));
  options[4].argh = (char const   *)((char const   *)((void *)0));
  options[4].help = (char const   *)((char const   *)"force progress reporting");
  options[4].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[4].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[4].defval = (intptr_t )((intptr_t )1);
  options[4].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[4].extra = (intptr_t )0L;
  options[5].type = (enum parse_opt_type )((enum parse_opt_type )4);
  options[5].short_name = (int )0;
  options[5].long_name = (char const   *)((char const   *)"score-debug");
  options[5].value = (void *)((void *)(& output_option));
  options[5].argh = (char const   *)((char const   *)((void *)0));
  options[5].help = (char const   *)((char const   *)"show output score for blame entries");
  options[5].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[5].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[5].defval = (intptr_t )((intptr_t )(1U << 6));
  options[5].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[5].extra = (intptr_t )0L;
  options[6].type = (enum parse_opt_type )((enum parse_opt_type )4);
  options[6].short_name = (int )'f';
  options[6].long_name = (char const   *)((char const   *)"show-name");
  options[6].value = (void *)((void *)(& output_option));
  options[6].argh = (char const   *)((char const   *)((void *)0));
  options[6].help = (char const   *)((char const   *)"show original filename (Default: auto)");
  options[6].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[6].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[6].defval = (intptr_t )((intptr_t )(1U << 4));
  options[6].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[6].extra = (intptr_t )0L;
  options[7].type = (enum parse_opt_type )((enum parse_opt_type )4);
  options[7].short_name = (int )'n';
  options[7].long_name = (char const   *)((char const   *)"show-number");
  options[7].value = (void *)((void *)(& output_option));
  options[7].argh = (char const   *)((char const   *)((void *)0));
  options[7].help = (char const   *)((char const   *)"show original linenumber (Default: off)");
  options[7].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[7].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[7].defval = (intptr_t )((intptr_t )(1U << 5));
  options[7].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[7].extra = (intptr_t )0L;
  options[8].type = (enum parse_opt_type )((enum parse_opt_type )4);
  options[8].short_name = (int )'p';
  options[8].long_name = (char const   *)((char const   *)"porcelain");
  options[8].value = (void *)((void *)(& output_option));
  options[8].argh = (char const   *)((char const   *)((void *)0));
  options[8].help = (char const   *)((char const   *)"show in a format designed for machine consumption");
  options[8].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[8].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[8].defval = (intptr_t )((intptr_t )(1U << 3));
  options[8].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[8].extra = (intptr_t )0L;
  options[9].type = (enum parse_opt_type )((enum parse_opt_type )4);
  options[9].short_name = (int )0;
  options[9].long_name = (char const   *)((char const   *)"line-porcelain");
  options[9].value = (void *)((void *)(& output_option));
  options[9].argh = (char const   *)((char const   *)((void *)0));
  options[9].help = (char const   *)((char const   *)"show porcelain format with per-line commit information");
  options[9].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[9].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[9].defval = (intptr_t )((intptr_t )((1U << 3) | (1U << 9)));
  options[9].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[9].extra = (intptr_t )0L;
  options[10].type = (enum parse_opt_type )((enum parse_opt_type )4);
  options[10].short_name = (int )'c';
  options[10].long_name = (char const   *)((char const   *)((void *)0));
  options[10].value = (void *)((void *)(& output_option));
  options[10].argh = (char const   *)((char const   *)((void *)0));
  options[10].help = (char const   *)((char const   *)"use the same output mode as git-annotate (Default: off)");
  options[10].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[10].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[10].defval = (intptr_t )((intptr_t )1U);
  options[10].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[10].extra = (intptr_t )0L;
  options[11].type = (enum parse_opt_type )((enum parse_opt_type )4);
  options[11].short_name = (int )'t';
  options[11].long_name = (char const   *)((char const   *)((void *)0));
  options[11].value = (void *)((void *)(& output_option));
  options[11].argh = (char const   *)((char const   *)((void *)0));
  options[11].help = (char const   *)((char const   *)"show raw timestamp (Default: off)");
  options[11].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[11].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[11].defval = (intptr_t )((intptr_t )(1U << 2));
  options[11].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[11].extra = (intptr_t )0L;
  options[12].type = (enum parse_opt_type )((enum parse_opt_type )4);
  options[12].short_name = (int )'l';
  options[12].long_name = (char const   *)((char const   *)((void *)0));
  options[12].value = (void *)((void *)(& output_option));
  options[12].argh = (char const   *)((char const   *)((void *)0));
  options[12].help = (char const   *)((char const   *)"show long commit SHA1 (Default: off)");
  options[12].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[12].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[12].defval = (intptr_t )((intptr_t )(1U << 1));
  options[12].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[12].extra = (intptr_t )0L;
  options[13].type = (enum parse_opt_type )((enum parse_opt_type )4);
  options[13].short_name = (int )'s';
  options[13].long_name = (char const   *)((char const   *)((void *)0));
  options[13].value = (void *)((void *)(& output_option));
  options[13].argh = (char const   *)((char const   *)((void *)0));
  options[13].help = (char const   *)((char const   *)"suppress author name and timestamp (Default: off)");
  options[13].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[13].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[13].defval = (intptr_t )((intptr_t )(1U << 7));
  options[13].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[13].extra = (intptr_t )0L;
  options[14].type = (enum parse_opt_type )((enum parse_opt_type )4);
  options[14].short_name = (int )'e';
  options[14].long_name = (char const   *)((char const   *)"show-email");
  options[14].value = (void *)((void *)(& output_option));
  options[14].argh = (char const   *)((char const   *)((void *)0));
  options[14].help = (char const   *)((char const   *)"show author email instead of name (Default: off)");
  options[14].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[14].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[14].defval = (intptr_t )((intptr_t )(1U << 8));
  options[14].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[14].extra = (intptr_t )0L;
  options[15].type = (enum parse_opt_type )((enum parse_opt_type )4);
  options[15].short_name = (int )'w';
  options[15].long_name = (char const   *)((char const   *)((void *)0));
  options[15].value = (void *)((void *)(& xdl_opts));
  options[15].argh = (char const   *)((char const   *)((void *)0));
  options[15].help = (char const   *)((char const   *)"ignore whitespace differences");
  options[15].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[15].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[15].defval = (intptr_t )((intptr_t )(1 << 1));
  options[15].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[15].extra = (intptr_t )0L;
  options[16].type = (enum parse_opt_type )((enum parse_opt_type )12);
  options[16].short_name = (int )0;
  options[16].long_name = (char const   *)((char const   *)"ignore-rev");
  options[16].value = (void *)((void *)(& ignore_rev_list));
  options[16].argh = (char const   *)((char const   *)"rev");
  options[16].help = (char const   *)((char const   *)"ignore <rev> when blaming");
  options[16].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  options[16].callback = (parse_opt_cb *)(& parse_opt_string_list);
  options[16].defval = (intptr_t )0L;
  options[16].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[16].extra = (intptr_t )0L;
  options[17].type = (enum parse_opt_type )((enum parse_opt_type )12);
  options[17].short_name = (int )0;
  options[17].long_name = (char const   *)((char const   *)"ignore-revs-file");
  options[17].value = (void *)((void *)(& ignore_revs_file_list));
  options[17].argh = (char const   *)((char const   *)"file");
  options[17].help = (char const   *)((char const   *)"ignore revisions from <file>");
  options[17].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  options[17].callback = (parse_opt_cb *)(& parse_opt_string_list);
  options[17].defval = (intptr_t )0L;
  options[17].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[17].extra = (intptr_t )0L;
  options[18].type = (enum parse_opt_type )((enum parse_opt_type )4);
  options[18].short_name = (int )0;
  options[18].long_name = (char const   *)((char const   *)"color-lines");
  options[18].value = (void *)((void *)(& output_option));
  options[18].argh = (char const   *)((char const   *)((void *)0));
  options[18].help = (char const   *)((char const   *)"color redundant metadata from previous line differently");
  options[18].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[18].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[18].defval = (intptr_t )((intptr_t )(1U << 10));
  options[18].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[18].extra = (intptr_t )0L;
  options[19].type = (enum parse_opt_type )((enum parse_opt_type )4);
  options[19].short_name = (int )0;
  options[19].long_name = (char const   *)((char const   *)"color-by-age");
  options[19].value = (void *)((void *)(& output_option));
  options[19].argh = (char const   *)((char const   *)((void *)0));
  options[19].help = (char const   *)((char const   *)"color lines by age");
  options[19].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[19].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[19].defval = (intptr_t )((intptr_t )(1U << 11));
  options[19].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[19].extra = (intptr_t )0L;
  options[20].type = (enum parse_opt_type )((enum parse_opt_type )4);
  options[20].short_name = (int )0;
  options[20].long_name = (char const   *)((char const   *)"minimal");
  options[20].value = (void *)((void *)(& xdl_opts));
  options[20].argh = (char const   *)((char const   *)((void *)0));
  options[20].help = (char const   *)((char const   *)"spend extra cycles to find better match");
  options[20].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[20].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[20].defval = (intptr_t )((intptr_t )1);
  options[20].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[20].extra = (intptr_t )0L;
  options[21].type = (enum parse_opt_type )((enum parse_opt_type )9);
  options[21].short_name = (int )'S';
  options[21].long_name = (char const   *)((char const   *)((void *)0));
  options[21].value = (void *)((void *)(& revs_file));
  options[21].argh = (char const   *)((char const   *)"file");
  options[21].help = (char const   *)((char const   *)"use revisions from <file> instead of calling git-rev-list");
  options[21].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  options[21].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  options[21].defval = (intptr_t )0L;
  options[21].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[21].extra = (intptr_t )0L;
  options[22].type = (enum parse_opt_type )((enum parse_opt_type )9);
  options[22].short_name = (int )0;
  options[22].long_name = (char const   *)((char const   *)"contents");
  options[22].value = (void *)((void *)(& contents_from));
  options[22].argh = (char const   *)((char const   *)"file");
  options[22].help = (char const   *)((char const   *)"use <file>\'s contents as the final image");
  options[22].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  options[22].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  options[22].defval = (intptr_t )0L;
  options[22].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[22].extra = (intptr_t )0L;
  options[23].type = (enum parse_opt_type )((enum parse_opt_type )12);
  options[23].short_name = (int )'C';
  options[23].long_name = (char const   *)((char const   *)((void *)0));
  options[23].value = (void *)((void *)(& opt___0));
  options[23].argh = (char const   *)((char const   *)"score");
  options[23].help = (char const   *)((char const   *)"find line copies within and across files");
  options[23].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )1);
  options[23].callback = (parse_opt_cb *)(& blame_copy_callback);
  options[23].defval = (intptr_t )0L;
  options[23].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[23].extra = (intptr_t )0L;
  options[24].type = (enum parse_opt_type )((enum parse_opt_type )12);
  options[24].short_name = (int )'M';
  options[24].long_name = (char const   *)((char const   *)((void *)0));
  options[24].value = (void *)((void *)(& opt___0));
  options[24].argh = (char const   *)((char const   *)"score");
  options[24].help = (char const   *)((char const   *)"find line movements within and across files");
  options[24].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )1);
  options[24].callback = (parse_opt_cb *)(& blame_move_callback);
  options[24].defval = (intptr_t )0L;
  options[24].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[24].extra = (intptr_t )0L;
  options[25].type = (enum parse_opt_type )((enum parse_opt_type )12);
  options[25].short_name = (int )'L';
  options[25].long_name = (char const   *)((char const   *)((void *)0));
  options[25].value = (void *)((void *)(& range_list));
  options[25].argh = (char const   *)((char const   *)"range");
  options[25].help = (char const   *)((char const   *)"process only line range <start>,<end> or function :<funcname>");
  options[25].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  options[25].callback = (parse_opt_cb *)(& parse_opt_string_list);
  options[25].defval = (intptr_t )0L;
  options[25].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[25].extra = (intptr_t )0L;
  options[26].type = (enum parse_opt_type )((enum parse_opt_type )12);
  options[26].short_name = (int )0;
  options[26].long_name = (char const   *)((char const   *)"abbrev");
  options[26].value = (void *)((void *)(& abbrev));
  options[26].argh = (char const   *)((char const   *)"n");
  options[26].help = (char const   *)((char const   *)"use <n> digits to display object names");
  options[26].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )1);
  options[26].callback = (parse_opt_cb *)(& parse_opt_abbrev_cb);
  options[26].defval = (intptr_t )((intptr_t )0);
  options[26].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[26].extra = (intptr_t )0L;
  options[27].type = (enum parse_opt_type )((enum parse_opt_type )0);
  options[27].short_name = (int )0;
  options[27].long_name = (char const   *)((char const   *)0);
  options[27].value = (void *)((void *)0);
  options[27].argh = (char const   *)((char const   *)0);
  options[27].help = (char const   *)((char const   *)0);
  options[27].flags = (enum parse_opt_option_flags )0U;
  options[27].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  options[27].defval = (intptr_t )0L;
  options[27].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[27].extra = (intptr_t )0L;
  tmp = strcmp(*(argv___0 + 0), (char const   *)"annotate");
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  cmd_is_annotate = tmp___0;
  hexsz = (int )(the_repository->hash_algo)->hexsz;
  setup_default_color_by_age();
  git_config(& git_blame_config, (void *)(& output_option));
  repo_init_revisions(the_repository, & revs, (char const   *)((void *)0));
  revs.date_mode = blame_date_mode;
  revs.diffopt.flags.allow_textconv = 1U;
  revs.diffopt.flags.follow_renames = 1U;
  save_commit_buffer = 0;
  dashdash_pos = 0L;
  show_progress = -1;
  parse_options_start(& ctx___0, argc, argv___0, prefix___1, (struct option  const  *)(options),
                      (enum parse_opt_flags )5);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = parse_options_step(& ctx___0, (struct option  const  *)(options), (char const   **)(blame_opt_usage));
    {
    if ((int )tmp___1 == 2) {
      goto case_2;
    }
    if ((int )tmp___1 == 1) {
      goto case_2;
    }
    if ((int )tmp___1 == -1) {
      goto case_neg_1;
    }
    if ((int )tmp___1 == -2) {
      goto case_neg_1;
    }
    if ((int )tmp___1 == -3) {
      goto case_neg_3;
    }
    if ((int )tmp___1 == 0) {
      goto case_0;
    }
    goto switch_break;
    case_2: /* CIL Label */
    case_1: /* CIL Label */
    goto switch_break;
    case_neg_1: /* CIL Label */
    case_neg_2: /* CIL Label */
    tmp___2 = trace2_cmd_exit_fl((char const   *)"builtin/blame.c", 921, 129);
    exit(tmp___2);
    case_neg_3: /* CIL Label */
    tmp___3 = trace2_cmd_exit_fl((char const   *)"builtin/blame.c", 923, 0);
    exit(tmp___3);
    case_0: /* CIL Label */
    if (*(ctx___0.argv + 0)) {
      dashdash_pos = (long )ctx___0.cpidx;
    }
    goto parse_done;
    switch_break: /* CIL Label */ ;
    }
    tmp___4 = strcmp(*(ctx___0.argv + 0), (char const   *)"--reverse");
    if (! tmp___4) {
      *(ctx___0.argv + 0) = (char const   *)"--children";
      reverse = 1;
    }
    parse_revision_opt(& revs, & ctx___0, (struct option  const  *)(options), (char const   **)(blame_opt_usage));
  }
  while_break: /* CIL Label */ ;
  }
  parse_done:
  no_whole_file_rename = ! revs.diffopt.flags.follow_renames;
  xdl_opts |= revs.diffopt.xdl_opts & (1 << 23);
  revs.diffopt.flags.follow_renames = 0U;
  argc = parse_options_end(& ctx___0);
  prepare_repo_settings(the_repository);
  the_repository->settings.command_requires_full_index = 0;
  if (incremental) {
    goto _L;
  } else
  if ((unsigned int )output_option & (1U << 3)) {
    _L: /* CIL Label */
    if (show_progress > 0) {
      tmp___5 = _((char const   *)"--progress can\'t be used with --incremental or porcelain formats");
      die((char const   *)tmp___5);
    }
    show_progress = 0;
  } else
  if (show_progress < 0) {
    show_progress = isatty(2);
  }
  if (0 < abbrev) {
    if (abbrev < (int )hexsz) {
      abbrev ++;
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  if (! abbrev) {
    abbrev = (int )hexsz;
  }
  if (revs_file) {
    tmp___6 = read_ancestry(revs_file);
    if (tmp___6) {
      die_errno((char const   *)"reading graft file \'%s\' failed", revs_file);
    }
  }
  if (cmd_is_annotate) {
    output_option = (int )((unsigned int )output_option | 1U);
    blame_date_mode.type = (enum date_mode_type )4;
  } else {
    blame_date_mode = revs.date_mode;
  }
  {
  if ((unsigned int )blame_date_mode.type == 6U) {
    goto case_6;
  }
  if ((unsigned int )blame_date_mode.type == 5U) {
    goto case_5;
  }
  if ((unsigned int )blame_date_mode.type == 4U) {
    goto case_4;
  }
  if ((unsigned int )blame_date_mode.type == 8U) {
    goto case_8;
  }
  if ((unsigned int )blame_date_mode.type == 9U) {
    goto case_9;
  }
  if ((unsigned int )blame_date_mode.type == 3U) {
    goto case_3;
  }
  if ((unsigned int )blame_date_mode.type == 2U) {
    goto case_2___0;
  }
  if ((unsigned int )blame_date_mode.type == 1U) {
    goto case_1___0;
  }
  if ((unsigned int )blame_date_mode.type == 0U) {
    goto case_0___0;
  }
  if ((unsigned int )blame_date_mode.type == 7U) {
    goto case_7;
  }
  goto switch_break___0;
  case_6: /* CIL Label */
  blame_date_width = sizeof("Thu, 19 Oct 2006 16:00:04 -0700");
  goto switch_break___0;
  case_5: /* CIL Label */
  blame_date_width = sizeof("2006-10-19T16:00:04-07:00");
  goto switch_break___0;
  case_4: /* CIL Label */
  blame_date_width = sizeof("2006-10-19 16:00:04 -0700");
  goto switch_break___0;
  case_8: /* CIL Label */
  blame_date_width = sizeof("1161298804 -0700");
  goto switch_break___0;
  case_9: /* CIL Label */
  blame_date_width = sizeof("1161298804");
  goto switch_break___0;
  case_3: /* CIL Label */
  blame_date_width = sizeof("2006-10-19");
  goto switch_break___0;
  case_2___0: /* CIL Label */
  tmp___7 = _((char const   *)"4 years, 11 months ago");
  tmp___8 = utf8_strwidth((char const   *)tmp___7);
  blame_date_width = (size_t )(tmp___8 + 1);
  goto switch_break___0;
  case_1___0: /* CIL Label */
  blame_date_width = sizeof("Thu Oct 19 16:00");
  goto switch_break___0;
  case_0___0: /* CIL Label */
  blame_date_width = sizeof("Thu Oct 19 16:00:04 2006 -0700");
  goto switch_break___0;
  case_7: /* CIL Label */
  tmp___9 = show_date((timestamp_t )0, 0, (struct date_mode  const  *)(& blame_date_mode));
  tmp___10 = strlen(tmp___9);
  blame_date_width = tmp___10 + 1UL;
  goto switch_break___0;
  switch_break___0: /* CIL Label */ ;
  }
  blame_date_width --;
  if (revs.diffopt.flags.find_copies_harder) {
    opt___0 |= 7;
  }
  if (dashdash_pos) {
    {
    if (((long )argc - dashdash_pos) - 1L == 2L) {
      goto case_2___1;
    }
    if (((long )argc - dashdash_pos) - 1L == 1L) {
      goto case_1___1;
    }
    goto switch_default;
    case_2___1: /* CIL Label */
    if (argc != 4) {
      usage_with_options((char const   **)(blame_opt_usage), (struct option  const  *)(options));
    }
    *(argv___0 + 1) = *(argv___0 + 3);
    *(argv___0 + 3) = *(argv___0 + 2);
    *(argv___0 + 2) = (char const   *)"--";
    case_1___1: /* CIL Label */
    argc --;
    path___6 = add_prefix(prefix___1, *(argv___0 + argc));
    *(argv___0 + argc) = (char const   *)((void *)0);
    goto switch_break___1;
    switch_default: /* CIL Label */
    usage_with_options((char const   **)(blame_opt_usage), (struct option  const  *)(options));
    switch_break___1: /* CIL Label */ ;
    }
  } else {
    if (argc < 2) {
      usage_with_options((char const   **)(blame_opt_usage), (struct option  const  *)(options));
    }
    if (argc == 3) {
      tmp___13 = is_a_rev(*(argv___0 + (argc - 1)));
      if (tmp___13) {
        path___6 = add_prefix(prefix___1, *(argv___0 + 1));
        *(argv___0 + 1) = *(argv___0 + 2);
      } else {
        goto _L___1;
      }
    } else {
      _L___1: /* CIL Label */
      if (argc == 2) {
        tmp___11 = is_a_rev(*(argv___0 + 1));
        if (tmp___11) {
          tmp___12 = get_git_work_tree();
          if (! tmp___12) {
            die((char const   *)"missing <path> to blame");
          }
        }
      }
      path___6 = add_prefix(prefix___1, *(argv___0 + (argc - 1)));
    }
    *(argv___0 + (argc - 1)) = (char const   *)"--";
  }
  revs.disable_stdin = 1U;
  setup_revisions(argc, argv___0, & revs, (struct setup_revision_opt *)((void *)0));
  if (! revs.pending.nr) {
    tmp___15 = is_bare_repository();
    if (tmp___15) {
      tmp___14 = resolve_ref_unsafe((char const   *)"HEAD", 0x01, & head_oid___1,
                                    (int *)((void *)0));
      if (tmp___14) {
        head_commit = lookup_commit_reference_gently(revs.repo, (struct object_id  const  *)(& head_oid___1),
                                                     1);
        if (! head_commit) {
          die((char const   *)"no such ref: HEAD");
        }
      } else {
        die((char const   *)"no such ref: HEAD");
      }
      add_pending_object(& revs, & head_commit->object, (char const   *)"HEAD");
    }
  }
  init_scoreboard(& sb___6);
  sb___6.revs = & revs;
  sb___6.contents_from = contents_from;
  sb___6.reverse = reverse;
  sb___6.repo = the_repository;
  sb___6.path = path___6;
  build_ignorelist(& sb___6, & ignore_revs_file_list, & ignore_rev_list);
  string_list_clear(& ignore_revs_file_list, 0);
  string_list_clear(& ignore_rev_list, 0);
  setup_scoreboard(& sb___6, & o);
  if (! (opt___0 & 02)) {
    setup_blame_bloom_data(& sb___6);
  }
  lno = (long )sb___6.num_lines;
  if (lno) {
    if (! range_list.nr) {
      string_list_append(& range_list, (char const   *)"1");
    }
  }
  anchor = 1L;
  range_set_init(& ranges, (size_t )range_list.nr);
  range_i = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (range_i < range_list.nr)) {
      goto while_break___0;
    }
    tmp___16 = parse_range_arg((char const   *)(range_list.items + range_i)->string,
                               & nth_line_cb, (void *)(& sb___6), lno, anchor, & bottom,
                               & top, sb___6.path, the_repository->index);
    if (tmp___16) {
      usage((char const   *)(blame_usage));
    }
    if (! lno) {
      if (top) {
        tmp___17 = Q_((char const   *)"file %s has only %lu line", (char const   *)"file %s has only %lu lines",
                      (unsigned long )lno);
        die((char const   *)tmp___17, sb___6.path, lno);
      } else
      if (bottom) {
        tmp___17 = Q_((char const   *)"file %s has only %lu line", (char const   *)"file %s has only %lu lines",
                      (unsigned long )lno);
        die((char const   *)tmp___17, sb___6.path, lno);
      } else {
        goto _L___2;
      }
    } else
    _L___2: /* CIL Label */
    if (lno < bottom) {
      tmp___17 = Q_((char const   *)"file %s has only %lu line", (char const   *)"file %s has only %lu lines",
                    (unsigned long )lno);
      die((char const   *)tmp___17, sb___6.path, lno);
    }
    if (bottom < 1L) {
      bottom = 1L;
    }
    if (top < 1L) {
      top = lno;
    } else
    if (lno < top) {
      top = lno;
    }
    bottom --;
    range_set_append_unsafe(& ranges, bottom, top);
    anchor = top + 1L;
    range_i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  sort_and_merge_range_set(& ranges);
  range_i = ranges.nr;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (range_i > 0U)) {
      goto while_break___1;
    }
    r = (struct range  const  *)(ranges.ranges + (range_i - 1U));
    ent = blame_entry_prepend(ent, (long )r->start, (long )r->end, o);
    range_i --;
  }
  while_break___1: /* CIL Label */ ;
  }
  o->suspects = ent;
  prio_queue_put(& sb___6.commits, (void *)o->commit);
  blame_origin_decref(o);
  range_set_release(& ranges);
  string_list_clear(& range_list, 0);
  sb___6.ent = (struct blame_entry *)((void *)0);
  if (blame_move_score) {
    sb___6.move_score = blame_move_score;
  }
  if (blame_copy_score) {
    sb___6.copy_score = blame_copy_score;
  }
  sb___6.debug = 0;
  sb___6.on_sanity_fail = & sanity_check_on_fail;
  sb___6.show_root = show_root;
  sb___6.xdl_opts = xdl_opts;
  sb___6.no_whole_file_rename = no_whole_file_rename;
  read_mailmap(& mailmap);
  sb___6.found_guilty_entry = & found_guilty_entry;
  sb___6.found_guilty_entry_data = (void *)(& pi);
  if (show_progress) {
    tmp___18 = _((char const   *)"Blaming lines");
    pi.progress = start_delayed_progress((char const   *)tmp___18, (uint64_t )sb___6.num_lines);
  }
  assign_blame(& sb___6, opt___0);
  stop_progress(& pi.progress);
  if (! incremental) {
    setup_pager();
  } else {
    return (0);
  }
  blame_sort_final(& sb___6);
  blame_coalesce(& sb___6);
  if (! ((unsigned int )output_option & ((1U << 10) | (1U << 11)))) {
    output_option |= coloring_mode;
  }
  if (! ((unsigned int )output_option & (1U << 3))) {
    find_alignment(& sb___6, & output_option);
    if (! repeated_meta_color[0]) {
      if ((unsigned int )output_option & (1U << 10)) {
        xsnprintf(repeated_meta_color, sizeof(repeated_meta_color), (char const   *)"%s",
                  "\033[36m");
      }
    }
  }
  if ((unsigned int )output_option & 1U) {
    output_option = (int )((unsigned int )output_option & ~ ((1U << 10) | (1U << 11)));
  }
  output___2(& sb___6, output_option);
  free((void *)sb___6.final_buf);
  ent = sb___6.ent;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ent) {
      goto while_break___2;
    }
    e = ent->next;
    free((void *)ent);
    ent = e;
  }
  while_break___2: /* CIL Label */ ;
  }
  if (show_stats___2) {
    printf((char const   *)"num read blob: %d\n", sb___6.num_read_blob);
    printf((char const   *)"num get patch: %d\n", sb___6.num_get_patch);
    printf((char const   *)"num commits: %d\n", sb___6.num_commits);
  }
  cleanup_scoreboard(& sb___6);
  return (0);
}
}
static double const   __ac_HASH_UPPER___107  =    (double const   )0.77;
__inline static void kh_resize_oid_set___107(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___107(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___107 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___107 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___107(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___107(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___107(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___107(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___107(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___107(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___107 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___107 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___107(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___107(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___107(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___107(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___107(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___107(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___107 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___107 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___107(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___107(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___107(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___107(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_contains_cache_with_stride___17(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___17(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___17(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___17(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___17(s___1, 1U);
  return;
}
}
static void clear_contains_cache___17(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___17(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___17(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___17(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___17(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___17(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___17(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___17(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___17(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___17(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___17(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___17(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___17(s___1, c___0, 0);
  return (tmp);
}
}
static char const   *builtin_branch_usage[8]  =
  {      (char const   *)"git branch [<options>] [-r | -a] [--merged] [--no-merged]",      (char const   *)"git branch [<options>] [-l] [-f] <branch-name> [<start-point>]",      (char const   *)"git branch [<options>] [-r] (-d | -D) <branch-name>...",      (char const   *)"git branch [<options>] (-m | -M) [<old-branch>] <new-branch>",
        (char const   *)"git branch [<options>] (-c | -C) [<old-branch>] <new-branch>",      (char const   *)"git branch [<options>] [-r | -a] [--points-at]",      (char const   *)"git branch [<options>] [-r | -a] [--format]",      (char const   *)((void *)0)};
static char const   *head___0  ;
static struct object_id head_oid  ;
static int branch_use_color  =    -1;
static char branch_colors[7][75]  = { {        (char )'\033',        (char )'[',        (char )'m',        (char )'\000'},
   {        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'3',        (char )'1',
            (char )'m',        (char )'\000'},
   {        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'3',        (char )'2',
            (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'3',        (char )'4',
            (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'3',        (char )'6',
            (char )'m',        (char )'\000'}};
static char const   *color_branch_slots[7]  = {      (char const   *)"reset",      (char const   *)"plain",      (char const   *)"remote",      (char const   *)"local",
        (char const   *)"current",      (char const   *)"upstream",      (char const   *)"worktree"};
static struct string_list output___3  =    {(struct string_list_item *)0, 0U, 0U, 1U, (int (*)(char const   * , char const   * ))0};
static unsigned int colopts  ;
void list_config_color_branch_slots(struct string_list *list___3 , char const   *prefix___1 )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(color_branch_slots) / sizeof(color_branch_slots[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    if (color_branch_slots[i]) {
      list_config_item(list___3, prefix___1, color_branch_slots[i]);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int git_branch_config(char const   *var , char const   *value , void *cb )
{
  char const   *slot_name ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int slot ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  tmp___0 = strcmp(var, (char const   *)"branch.sort");
  if (! tmp___0) {
    if (! value) {
      config_error_nonbool(var);
      tmp = const_error();
      return (tmp);
    }
    string_list_append((struct string_list *)cb, value);
    return (0);
  }
  tmp___2 = starts_with(var, (char const   *)"column.");
  if (tmp___2) {
    tmp___1 = git_column_config(var, value, (char const   *)"branch", & colopts);
    return (tmp___1);
  }
  tmp___3 = strcmp(var, (char const   *)"color.branch");
  if (! tmp___3) {
    branch_use_color = git_config_colorbool(var, value);
    return (0);
  }
  tmp___7 = skip_prefix(var, (char const   *)"color.branch.", & slot_name);
  if (tmp___7) {
    tmp___4 = lookup_config(color_branch_slots, (int )(sizeof(color_branch_slots) / sizeof(color_branch_slots[0]) + (sizeof(char [1]) - 1UL)),
                            slot_name);
    slot = tmp___4;
    if (slot < 0) {
      return (0);
    }
    if (! value) {
      config_error_nonbool(var);
      tmp___5 = const_error();
      return (tmp___5);
    }
    tmp___6 = color_parse(value, branch_colors[slot]);
    return (tmp___6);
  }
  tmp___8 = git_color_default_config(var, value, cb);
  return (tmp___8);
}
}
static char const   *branch_get_color(enum color_branch ix )
{
  int tmp ;

  {
  tmp = want_color_fd(1, branch_use_color);
  if (tmp) {
    return ((char const   *)(branch_colors[ix]));
  }
  return ((char const   *)"");
}
}
static int branch_merged(int kind , char const   *name___0 , struct commit *rev ,
                         struct commit *head_rev )
{
  struct commit *reference_rev ;
  char const   *reference_name ;
  void *reference_name_to_free ;
  int merged ;
  struct branch *branch___0 ;
  struct branch *tmp ;
  char const   *upstream ;
  char const   *tmp___0 ;
  struct object_id oid ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  reference_rev = (struct commit *)((void *)0);
  reference_name = (char const   *)((void *)0);
  reference_name_to_free = (void *)0;
  if (kind == 0x0004) {
    tmp = branch_get(name___0);
    branch___0 = tmp;
    tmp___0 = branch_get_upstream(branch___0, (struct strbuf *)((void *)0));
    upstream = tmp___0;
    if (upstream) {
      tmp___1 = resolve_refdup(upstream, 0x01, & oid, (int *)((void *)0));
      reference_name_to_free = (void *)tmp___1;
      reference_name = (char const   *)reference_name_to_free;
      if ((unsigned long )reference_name != (unsigned long )((void *)0)) {
        reference_rev = lookup_commit_reference(the_repository, (struct object_id  const  *)(& oid));
      }
    }
  }
  if (! reference_rev) {
    reference_rev = head_rev;
  }
  merged = repo_in_merge_bases(the_repository, rev, reference_rev);
  if ((unsigned long )head_rev != (unsigned long )reference_rev) {
    tmp___4 = repo_in_merge_bases(the_repository, rev, head_rev);
    if (tmp___4 != merged) {
      if (merged) {
        tmp___2 = _((char const   *)"deleting branch \'%s\' that has been merged to\n         \'%s\', but not yet merged to HEAD.");
        warning((char const   *)tmp___2, name___0, reference_name);
      } else {
        tmp___3 = _((char const   *)"not deleting branch \'%s\' that is not yet merged to\n         \'%s\', even though it is merged to HEAD.");
        warning((char const   *)tmp___3, name___0, reference_name);
      }
    }
  }
  free(reference_name_to_free);
  return (merged);
}
}
static int check_branch_commit(char const   *branchname , char const   *refname ,
                               struct object_id  const  *oid , struct commit *head_rev ,
                               int kinds , int force___2 )
{
  struct commit *rev ;
  struct commit *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  tmp = lookup_commit_reference(the_repository, oid);
  rev = tmp;
  if (! force___2) {
    if (! rev) {
      tmp___0 = _((char const   *)"Couldn\'t look up commit object for \'%s\'");
      error((char const   *)tmp___0, refname);
      const_error();
      return (-1);
    }
  }
  if (! force___2) {
    tmp___2 = branch_merged(kinds, branchname, rev, head_rev);
    if (! tmp___2) {
      tmp___1 = _((char const   *)"The branch \'%s\' is not fully merged.\nIf you are sure you want to delete it, run \'git branch -D %s\'.");
      error((char const   *)tmp___1, branchname, branchname);
      const_error();
      return (-1);
    }
  }
  return (0);
}
}
static void delete_branch_config(char const   *branchname )
{
  struct strbuf buf___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  strbuf_addf(& buf___19, (char const   *)"branch.%s", branchname);
  tmp___0 = git_config_rename_section((char const   *)buf___19.buf, (char const   *)((void *)0));
  if (tmp___0 < 0) {
    tmp = _((char const   *)"Update of config-file failed");
    warning((char const   *)tmp);
  }
  strbuf_release(& buf___19);
  return;
}
}
static int delete_branches(int argc , char const   **argv___0 , int force___2 , int kinds ,
                           int quiet___7 )
{
  struct worktree **worktrees ;
  struct commit *head_rev ;
  struct object_id oid ;
  char *name___0 ;
  char const   *fmt ;
  int i ;
  int ret___67 ;
  int remote_branch ;
  struct strbuf bname ;
  unsigned int allowed_interpret ;
  struct string_list refs_to_delete ;
  struct string_list_item *item___0 ;
  int branch_name_pos ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  size_t tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char *target ;
  int flags___0 ;
  struct worktree  const  *wt ;
  struct worktree  const  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const   *tmp___8 ;
  char const   *tmp___9 ;
  char const   *tmp___10 ;
  char *tmp___11 ;
  int tmp___12 ;
  char *describe_ref ;
  char *name___1 ;
  char *refname ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;

  {
  head_rev = (struct commit *)((void *)0);
  name___0 = (char *)((void *)0);
  ret___67 = 0;
  remote_branch = 0;
  bname.alloc = 0UL;
  bname.len = 0UL;
  bname.buf = strbuf_slopbuf;
  refs_to_delete.items = (struct string_list_item *)0;
  refs_to_delete.nr = 0U;
  refs_to_delete.alloc = 0U;
  refs_to_delete.strdup_strings = 1U;
  refs_to_delete.cmp = (int (*)(char const   * , char const   * ))0;
  {
  if (kinds == 0x0008) {
    goto case_8;
  }
  if (kinds == 0x0004) {
    goto case_4;
  }
  goto switch_default;
  case_8: /* CIL Label */
  fmt = (char const   *)"refs/remotes/%s";
  remote_branch = 1;
  allowed_interpret = (unsigned int )(1 << 1);
  force___2 = 1;
  goto switch_break;
  case_4: /* CIL Label */
  fmt = (char const   *)"refs/heads/%s";
  allowed_interpret = 1U;
  goto switch_break;
  switch_default: /* CIL Label */
  tmp = _((char const   *)"cannot use -a with -d");
  die((char const   *)tmp);
  switch_break: /* CIL Label */ ;
  }
  tmp___0 = strcspn(fmt, (char const   *)"%");
  branch_name_pos = (int )tmp___0;
  if (! force___2) {
    head_rev = lookup_commit_reference(the_repository, (struct object_id  const  *)(& head_oid));
    if (! head_rev) {
      tmp___1 = _((char const   *)"Couldn\'t look up commit object for HEAD");
      die((char const   *)tmp___1);
    }
  }
  worktrees = get_worktrees();
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    target = (char *)((void *)0);
    flags___0 = 0;
    strbuf_branchname(& bname, *(argv___0 + i), allowed_interpret);
    free((void *)name___0);
    name___0 = mkpathdup(fmt, bname.buf);
    if (kinds == 0x0004) {
      tmp___2 = find_shared_symref(worktrees, (char const   *)"HEAD", (char const   *)name___0);
      wt = tmp___2;
      if (wt) {
        tmp___3 = _((char const   *)"Cannot delete branch \'%s\' checked out at \'%s\'");
        error((char const   *)tmp___3, bname.buf, wt->path);
        const_error();
        ret___67 = 1;
        goto __Cont;
      }
    }
    target = resolve_refdup((char const   *)name___0, 7, & oid, & flags___0);
    if (! target) {
      if (remote_branch) {
        tmp___4 = _((char const   *)"remote-tracking branch \'%s\' not found.");
        tmp___6 = tmp___4;
      } else {
        tmp___5 = _((char const   *)"branch \'%s\' not found.");
        tmp___6 = tmp___5;
      }
      error((char const   *)tmp___6, bname.buf);
      const_error();
      ret___67 = 1;
      goto __Cont;
    }
    if (! (flags___0 & 5)) {
      tmp___7 = check_branch_commit((char const   *)bname.buf, (char const   *)name___0,
                                    (struct object_id  const  *)(& oid), head_rev,
                                    kinds, force___2);
      if (tmp___7) {
        ret___67 = 1;
        goto next;
      }
    }
    item___0 = string_list_append(& refs_to_delete, (char const   *)name___0);
    if (flags___0 & 0x04) {
      tmp___10 = (char const   *)"broken";
    } else {
      if (flags___0 & 0x01) {
        tmp___9 = (char const   *)target;
      } else {
        tmp___8 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& oid),
                                          default_abbrev);
        tmp___9 = tmp___8;
      }
      tmp___10 = tmp___9;
    }
    tmp___11 = xstrdup(tmp___10);
    item___0->util = (void *)tmp___11;
    next:
    free((void *)target);
    __Cont: /* CIL Label */
    i ++;
    strbuf_setlen___33(& bname, (size_t )0);
  }
  while_break: /* CIL Label */ ;
  }
  tmp___12 = delete_refs((char const   *)((void *)0), & refs_to_delete, 1U);
  if (tmp___12) {
    ret___67 = 1;
  }
  item___0 = refs_to_delete.items;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(refs_to_delete.items + refs_to_delete.nr))) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    describe_ref = (char *)item___0->util;
    name___1 = item___0->string;
    tmp___16 = ref_exists((char const   *)name___1);
    if (! tmp___16) {
      refname = name___1 + branch_name_pos;
      if (! quiet___7) {
        if (remote_branch) {
          tmp___13 = _((char const   *)"Deleted remote-tracking branch %s (was %s).\n");
          tmp___15 = tmp___13;
        } else {
          tmp___14 = _((char const   *)"Deleted branch %s (was %s).\n");
          tmp___15 = tmp___14;
        }
        printf((char const   *)tmp___15, name___1 + branch_name_pos, describe_ref);
      }
      delete_branch_config((char const   *)refname);
    }
    free((void *)describe_ref);
    item___0 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  string_list_clear(& refs_to_delete, 0);
  free((void *)name___0);
  strbuf_release(& bname);
  free_worktrees(worktrees);
  return (ret___67);
}
}
static int calc_maxwidth(struct ref_array *refs___0 , int remote_bonus )
{
  int i ;
  int max ;
  struct ref_array_item *it ;
  char const   *desc___0 ;
  int w ;
  char *head_desc ;
  char *tmp ;

  {
  max = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < refs___0->nr)) {
      goto while_break;
    }
    it = *(refs___0->items + i);
    desc___0 = (char const   *)(it->refname);
    skip_prefix((char const   *)(it->refname), (char const   *)"refs/heads/", & desc___0);
    skip_prefix((char const   *)(it->refname), (char const   *)"refs/remotes/", & desc___0);
    if (it->kind == 32U) {
      tmp = get_head_description();
      head_desc = tmp;
      w = utf8_strwidth((char const   *)head_desc);
      free((void *)head_desc);
    } else {
      w = utf8_strwidth(desc___0);
    }
    if (it->kind == 8U) {
      w += remote_bonus;
    }
    if (w > max) {
      max = w;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (max);
}
}
static char const   *quote_literal_for_format(char const   *s___1 ) ;
static struct strbuf buf___15  =    {0UL, 0UL, strbuf_slopbuf};
static char const   *quote_literal_for_format(char const   *s___1 )
{
  char const   *ep ;
  char *tmp ;

  {
  strbuf_setlen___33(& buf___15, (size_t )0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *s___1) {
      goto while_break;
    }
    tmp = strchrnul(s___1, '%');
    ep = (char const   *)tmp;
    if ((unsigned long )s___1 < (unsigned long )ep) {
      strbuf_add(& buf___15, (void const   *)s___1, (size_t )(ep - s___1));
    }
    if ((int const   )*ep == 37) {
      strbuf_addstr(& buf___15, (char const   *)"%%");
      s___1 = ep + 1;
    } else {
      s___1 = ep;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return ((char const   *)buf___15.buf);
}
}
static char *build_format(struct ref_filter *filter___0 , int maxwidth___0 , char const   *remote_prefix )
{
  struct strbuf fmt ;
  struct strbuf local___0 ;
  struct strbuf remote ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  struct strbuf obname ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  char const   *tmp___5 ;
  char const   *tmp___6 ;
  char const   *tmp___7 ;
  char const   *tmp___8 ;
  char const   *tmp___9 ;
  char const   *tmp___10 ;
  char const   *tmp___11 ;
  char const   *tmp___12 ;
  char *tmp___13 ;

  {
  fmt.alloc = 0UL;
  fmt.len = 0UL;
  fmt.buf = strbuf_slopbuf;
  local___0.alloc = 0UL;
  local___0.len = 0UL;
  local___0.buf = strbuf_slopbuf;
  remote.alloc = 0UL;
  remote.len = 0UL;
  remote.buf = strbuf_slopbuf;
  tmp = branch_get_color((enum color_branch )3);
  tmp___0 = branch_get_color((enum color_branch )6);
  tmp___1 = branch_get_color((enum color_branch )4);
  strbuf_addf(& local___0, (char const   *)"%%(if)%%(HEAD)%%(then)* %s%%(else)%%(if)%%(worktreepath)%%(then)+ %s%%(else)  %s%%(end)%%(end)",
              tmp___1, tmp___0, tmp);
  tmp___2 = branch_get_color((enum color_branch )2);
  strbuf_addf(& remote, (char const   *)"  %s", tmp___2);
  if (filter___0->verbose) {
    obname.alloc = 0UL;
    obname.len = 0UL;
    obname.buf = strbuf_slopbuf;
    if (filter___0->abbrev < 0) {
      strbuf_addf(& obname, (char const   *)"%%(objectname:short)");
    } else
    if (! filter___0->abbrev) {
      strbuf_addf(& obname, (char const   *)"%%(objectname)");
    } else {
      strbuf_addf(& obname, (char const   *)"%%(objectname:short=%d)", filter___0->abbrev);
    }
    strbuf_addf(& local___0, (char const   *)"%%(align:%d,left)%%(refname:lstrip=2)%%(end)",
                maxwidth___0);
    tmp___3 = branch_get_color((enum color_branch )0);
    strbuf_addstr(& local___0, tmp___3);
    strbuf_addf(& local___0, (char const   *)" %s ", obname.buf);
    if (filter___0->verbose > 1) {
      tmp___4 = branch_get_color((enum color_branch )0);
      tmp___5 = branch_get_color((enum color_branch )6);
      strbuf_addf(& local___0, (char const   *)"%%(if:notequals=*)%%(HEAD)%%(then)%%(if)%%(worktreepath)%%(then)(%s%%(worktreepath)%s) %%(end)%%(end)",
                  tmp___5, tmp___4);
      tmp___6 = branch_get_color((enum color_branch )0);
      tmp___7 = branch_get_color((enum color_branch )5);
      strbuf_addf(& local___0, (char const   *)"%%(if)%%(upstream)%%(then)[%s%%(upstream:short)%s%%(if)%%(upstream:track)%%(then): %%(upstream:track,nobracket)%%(end)] %%(end)%%(contents:subject)",
                  tmp___7, tmp___6);
    } else {
      strbuf_addf(& local___0, (char const   *)"%%(if)%%(upstream:track)%%(then)%%(upstream:track) %%(end)%%(contents:subject)");
    }
    tmp___8 = branch_get_color((enum color_branch )0);
    tmp___9 = quote_literal_for_format(remote_prefix);
    strbuf_addf(& remote, (char const   *)"%%(align:%d,left)%s%%(refname:lstrip=2)%%(end)%s%%(if)%%(symref)%%(then) -> %%(symref:short)%%(else) %s %%(contents:subject)%%(end)",
                maxwidth___0, tmp___9, tmp___8, obname.buf);
    strbuf_release(& obname);
  } else {
    tmp___10 = branch_get_color((enum color_branch )0);
    strbuf_addf(& local___0, (char const   *)"%%(refname:lstrip=2)%s%%(if)%%(symref)%%(then) -> %%(symref:short)%%(end)",
                tmp___10);
    tmp___11 = branch_get_color((enum color_branch )0);
    tmp___12 = quote_literal_for_format(remote_prefix);
    strbuf_addf(& remote, (char const   *)"%s%%(refname:lstrip=2)%s%%(if)%%(symref)%%(then) -> %%(symref:short)%%(end)",
                tmp___12, tmp___11);
  }
  strbuf_addf(& fmt, (char const   *)"%%(if:notequals=refs/remotes)%%(refname:rstrip=-2)%%(then)%s%%(else)%s%%(end)",
              local___0.buf, remote.buf);
  strbuf_release(& local___0);
  strbuf_release(& remote);
  tmp___13 = strbuf_detach(& fmt, (size_t *)((void *)0));
  return (tmp___13);
}
}
static void print_ref_list(struct ref_filter *filter___0 , struct ref_sorting *sorting___0 ,
                           struct ref_format *format___0 , struct string_list *output___4 )
{
  int i ;
  struct ref_array array ;
  struct strbuf out ;
  struct strbuf err___4 ;
  int maxwidth___0 ;
  char const   *remote_prefix ;
  char *to_free ;
  size_t tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  out.alloc = 0UL;
  out.len = 0UL;
  out.buf = strbuf_slopbuf;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  maxwidth___0 = 0;
  remote_prefix = (char const   *)"";
  to_free = (char *)((void *)0);
  if (filter___0->kind != 8U) {
    remote_prefix = (char const   *)"remotes/";
  }
  memset((void *)(& array), 0, sizeof(array));
  filter_refs(& array, filter___0, filter___0->kind);
  if (filter___0->verbose) {
    tmp = strlen(remote_prefix);
    maxwidth___0 = calc_maxwidth(& array, (int )tmp);
  }
  if (! format___0->format) {
    to_free = build_format(filter___0, maxwidth___0, remote_prefix);
    format___0->format = (char const   *)to_free;
  }
  format___0->use_color = branch_use_color;
  tmp___1 = verify_ref_format(format___0);
  if (tmp___1) {
    tmp___0 = _((char const   *)"unable to parse format string");
    die((char const   *)tmp___0);
  }
  ref_array_sort(sorting___0, & array);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < array.nr)) {
      goto while_break;
    }
    strbuf_setlen___33(& err___4, (size_t )0);
    strbuf_setlen___33(& out, (size_t )0);
    tmp___2 = format_ref_array_item(*(array.items + i), format___0, & out, & err___4);
    if (tmp___2) {
      die((char const   *)"%s", err___4.buf);
    }
    tmp___4 = column_active(colopts);
    if (tmp___4) {
      if (! filter___0->verbose) {
        if ("--column and --verbose are incompatible") {
          tmp___3 = 1;
        } else {
          tmp___3 = 0;
        }
      } else {
        tmp___3 = 0;
      }
      assert(tmp___3);
      string_list_append(output___4, (char const   *)out.buf);
    } else {
      fwrite((void const   * __restrict  )out.buf, (size_t )1, out.len, (FILE * __restrict  )stdout);
      putchar('\n');
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& err___4);
  strbuf_release(& out);
  ref_array_clear(& array);
  free((void *)to_free);
  return;
}
}
static void print_current_branch_name(void)
{
  int flags___0 ;
  char const   *refname ;
  char const   *tmp ;
  char const   *shortname ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  tmp = resolve_ref_unsafe((char const   *)"HEAD", 0, (struct object_id *)((void *)0),
                           & flags___0);
  refname = tmp;
  if (! refname) {
    tmp___0 = _((char const   *)"could not resolve HEAD");
    die((char const   *)tmp___0);
  } else
  if (! (flags___0 & 0x01)) {
    return;
  } else {
    tmp___2 = skip_prefix(refname, (char const   *)"refs/heads/", & shortname);
    if (tmp___2) {
      puts(shortname);
    } else {
      tmp___1 = _((char const   *)"HEAD (%s) points outside of refs/heads/");
      die((char const   *)tmp___1, refname);
    }
  }
  return;
}
}
static void reject_rebase_or_bisect_branch(char const   *target )
{
  struct worktree **worktrees ;
  struct worktree **tmp ;
  int i ;
  struct worktree *wt ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  tmp = get_worktrees();
  worktrees = tmp;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(worktrees + i)) {
      goto while_break;
    }
    wt = *(worktrees + i);
    if (! wt->is_detached) {
      goto __Cont;
    }
    tmp___1 = is_worktree_being_rebased((struct worktree  const  *)wt, target);
    if (tmp___1) {
      tmp___0 = _((char const   *)"Branch %s is being rebased at %s");
      die((char const   *)tmp___0, target, wt->path);
    }
    tmp___3 = is_worktree_being_bisected((struct worktree  const  *)wt, target);
    if (tmp___3) {
      tmp___2 = _((char const   *)"Branch %s is being bisected at %s");
      die((char const   *)tmp___2, target, wt->path);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free_worktrees(worktrees);
  return;
}
}
static void copy_or_rename_branch(char const   *oldname , char const   *newname ,
                                  int copy___0 , int force___2 )
{
  struct strbuf oldref ;
  struct strbuf newref ;
  struct strbuf logmsg ;
  struct strbuf oldsection ;
  struct strbuf newsection ;
  char const   *interpreted_oldname ;
  char const   *interpreted_newname ;
  int recovery ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  int tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;

  {
  oldref.alloc = 0UL;
  oldref.len = 0UL;
  oldref.buf = strbuf_slopbuf;
  newref.alloc = 0UL;
  newref.len = 0UL;
  newref.buf = strbuf_slopbuf;
  logmsg.alloc = 0UL;
  logmsg.len = 0UL;
  logmsg.buf = strbuf_slopbuf;
  oldsection.alloc = 0UL;
  oldsection.len = 0UL;
  oldsection.buf = strbuf_slopbuf;
  newsection.alloc = 0UL;
  newsection.len = 0UL;
  newsection.buf = strbuf_slopbuf;
  interpreted_oldname = (char const   *)((void *)0);
  interpreted_newname = (char const   *)((void *)0);
  recovery = 0;
  if (! oldname) {
    if (copy___0) {
      tmp = _((char const   *)"cannot copy the current branch while not on any.");
      die((char const   *)tmp);
    } else {
      tmp___0 = _((char const   *)"cannot rename the current branch while not on any.");
      die((char const   *)tmp___0);
    }
  }
  tmp___3 = strbuf_check_branch_ref(& oldref, oldname);
  if (tmp___3) {
    tmp___2 = ref_exists((char const   *)oldref.buf);
    if (tmp___2) {
      recovery = 1;
    } else {
      tmp___1 = _((char const   *)"Invalid branch name: \'%s\'");
      die((char const   *)tmp___1, oldname);
    }
  }
  tmp___4 = strcmp(oldname, newname);
  if (tmp___4) {
    validate_new_branchname(newname, & newref, force___2);
  } else {
    validate_branchname(newname, & newref);
  }
  reject_rebase_or_bisect_branch((char const   *)oldref.buf);
  tmp___5 = skip_prefix((char const   *)oldref.buf, (char const   *)"refs/heads/",
                        & interpreted_oldname);
  if (tmp___5) {
    tmp___6 = skip_prefix((char const   *)newref.buf, (char const   *)"refs/heads/",
                          & interpreted_newname);
    if (! tmp___6) {
      BUG_fl((char const   *)"builtin/branch.c", 547, (char const   *)"expected prefix missing for refs");
    }
  } else {
    BUG_fl((char const   *)"builtin/branch.c", 547, (char const   *)"expected prefix missing for refs");
  }
  if (copy___0) {
    strbuf_addf(& logmsg, (char const   *)"Branch: copied %s to %s", oldref.buf, newref.buf);
  } else {
    strbuf_addf(& logmsg, (char const   *)"Branch: renamed %s to %s", oldref.buf,
                newref.buf);
  }
  if (! copy___0) {
    if (! head___0) {
      goto _L;
    } else {
      tmp___8 = strcmp(oldname, head___0);
      if (tmp___8) {
        goto _L;
      } else {
        tmp___9 = is_null_oid((struct object_id  const  *)(& head_oid));
        if (! tmp___9) {
          _L: /* CIL Label */
          tmp___10 = rename_ref((char const   *)oldref.buf, (char const   *)newref.buf,
                                (char const   *)logmsg.buf);
          if (tmp___10) {
            tmp___7 = _((char const   *)"Branch rename failed");
            die((char const   *)tmp___7);
          }
        }
      }
    }
  }
  if (copy___0) {
    tmp___12 = copy_existing_ref((char const   *)oldref.buf, (char const   *)newref.buf,
                                 (char const   *)logmsg.buf);
    if (tmp___12) {
      tmp___11 = _((char const   *)"Branch copy failed");
      die((char const   *)tmp___11);
    }
  }
  if (recovery) {
    if (copy___0) {
      tmp___13 = _((char const   *)"Created a copy of a misnamed branch \'%s\'");
      warning((char const   *)tmp___13, interpreted_oldname);
    } else {
      tmp___14 = _((char const   *)"Renamed a misnamed branch \'%s\' away");
      warning((char const   *)tmp___14, interpreted_oldname);
    }
  }
  if (! copy___0) {
    tmp___16 = replace_each_worktree_head_symref((char const   *)oldref.buf, (char const   *)newref.buf,
                                                 (char const   *)logmsg.buf);
    if (tmp___16) {
      tmp___15 = _((char const   *)"Branch renamed to %s, but HEAD is not updated!");
      die((char const   *)tmp___15, newname);
    }
  }
  strbuf_release(& logmsg);
  strbuf_addf(& oldsection, (char const   *)"branch.%s", interpreted_oldname);
  strbuf_release(& oldref);
  strbuf_addf(& newsection, (char const   *)"branch.%s", interpreted_newname);
  strbuf_release(& newref);
  if (! copy___0) {
    tmp___18 = git_config_rename_section((char const   *)oldsection.buf, (char const   *)newsection.buf);
    if (tmp___18 < 0) {
      tmp___17 = _((char const   *)"Branch is renamed, but update of config-file failed");
      die((char const   *)tmp___17);
    }
  }
  if (copy___0) {
    tmp___20 = strcmp(oldname, newname);
    if (tmp___20) {
      tmp___21 = git_config_copy_section((char const   *)oldsection.buf, (char const   *)newsection.buf);
      if (tmp___21 < 0) {
        tmp___19 = _((char const   *)"Branch is copied, but update of config-file failed");
        die((char const   *)tmp___19);
      }
    }
  }
  strbuf_release(& oldsection);
  strbuf_release(& newsection);
  return;
}
}
static char *ret___62  ;
static char const   *edit_description(void)
{


  {
  if (! ret___62) {
    ret___62 = git_pathdup((char const   *)"EDIT_DESCRIPTION");
  }
  return ((char const   *)ret___62);
}
}
static int edit_branch_description(char const   *branch_name )
{
  struct strbuf buf___19 ;
  struct strbuf name___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  name___0.alloc = 0UL;
  name___0.len = 0UL;
  name___0.buf = strbuf_slopbuf;
  read_branch_desc(& buf___19, branch_name);
  if (! buf___19.len) {
    strbuf_addch(& buf___19, '\n');
  } else
  if ((int )*(buf___19.buf + (buf___19.len - 1UL)) != 10) {
    strbuf_addch(& buf___19, '\n');
  }
  tmp = _((char const   *)"Please edit the description for the branch\n  %s\nLines starting with \'%c\' will be stripped.\n");
  strbuf_commented_addf(& buf___19, (char const   *)tmp, branch_name, (int )comment_line_char);
  tmp___0 = edit_description();
  write_file_buf(tmp___0, (char const   *)buf___19.buf, buf___19.len);
  strbuf_setlen___33(& buf___19, (size_t )0);
  tmp___1 = edit_description();
  tmp___2 = launch_editor(tmp___1, & buf___19, (char const   **)((void *)0));
  if (tmp___2) {
    strbuf_release(& buf___19);
    return (-1);
  }
  strbuf_stripspace(& buf___19, 1);
  strbuf_addf(& name___0, (char const   *)"branch.%s.description", branch_name);
  if (buf___19.len) {
    tmp___3 = buf___19.buf;
  } else {
    tmp___3 = (char *)((void *)0);
  }
  git_config_set((char const   *)name___0.buf, (char const   *)tmp___3);
  strbuf_release(& name___0);
  strbuf_release(& buf___19);
  return (0);
}
}
static struct ref_sorting *sorting  ;
int cmd_branch(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int delete ;
  int rename___0 ;
  int copy___0 ;
  int force___2 ;
  int list___3 ;
  int show_current ;
  int reflog___1 ;
  int edit_description___0 ;
  int quiet___7 ;
  int unset_upstream ;
  char const   *new_upstream ;
  enum branch_track track ;
  struct ref_filter filter___0 ;
  int icase___0 ;
  struct string_list sorting_options ;
  struct ref_format format___0 ;
  struct option options[35] ;
  int tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const   *branch_name ;
  struct strbuf branch_ref ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  struct branch *branch___0 ;
  struct branch *tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  char const __attribute__((__format_arg__(1)))  *tmp___23 ;
  int tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  char const __attribute__((__format_arg__(1)))  *tmp___26 ;
  int tmp___27 ;
  struct branch *branch___1 ;
  struct branch *tmp___28 ;
  struct strbuf buf___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___29 ;
  char const __attribute__((__format_arg__(1)))  *tmp___30 ;
  int tmp___31 ;
  char const __attribute__((__format_arg__(1)))  *tmp___32 ;
  char const __attribute__((__format_arg__(1)))  *tmp___33 ;
  int tmp___34 ;
  char const __attribute__((__format_arg__(1)))  *tmp___35 ;
  char const __attribute__((__format_arg__(1)))  *tmp___36 ;
  char const   *tmp___37 ;

  {
  delete = 0;
  rename___0 = 0;
  copy___0 = 0;
  force___2 = 0;
  list___3 = 0;
  show_current = 0;
  reflog___1 = 0;
  edit_description___0 = 0;
  quiet___7 = 0;
  unset_upstream = 0;
  new_upstream = (char const   *)((void *)0);
  icase___0 = 0;
  sorting_options.items = (struct string_list_item *)0;
  sorting_options.nr = 0U;
  sorting_options.alloc = 0U;
  sorting_options.strdup_strings = 1U;
  sorting_options.cmp = (int (*)(char const   * , char const   * ))0;
  format___0.format = (char const   *)0;
  format___0.rest = (char const   *)0;
  format___0.quote_style = 0;
  format___0.use_rest = 0;
  format___0.use_color = -1;
  format___0.need_color_reset_at_eol = 0;
  options[0].type = (enum parse_opt_type )1;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)((void *)0);
  options[0].value = (void *)0;
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"Generic options";
  options[0].flags = 0U;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )7;
  options[1].short_name = 'v';
  options[1].long_name = (char const   *)"verbose";
  options[1].value = (void *)(& filter___0.verbose);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"show hash and subject, give twice for upstream branch";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )7;
  options[2].short_name = 'q';
  options[2].long_name = (char const   *)"quiet";
  options[2].value = (void *)(& quiet___7);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"suppress informational messages";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )12;
  options[3].short_name = 't';
  options[3].long_name = (char const   *)"track";
  options[3].value = (void *)(& track);
  options[3].argh = (char const   *)"(direct|inherit)";
  options[3].help = (char const   *)"set branch tracking configuration";
  options[3].flags = (enum parse_opt_option_flags )1;
  options[3].callback = & parse_opt_tracking_mode;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"set-upstream";
  options[4].value = (void *)(& track);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"do not use";
  options[4].flags = (enum parse_opt_option_flags )10;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )4;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )9;
  options[5].short_name = 'u';
  options[5].long_name = (char const   *)"set-upstream-to";
  options[5].value = (void *)(& new_upstream);
  options[5].argh = (char const   *)"upstream";
  options[5].help = (char const   *)"change the upstream info";
  options[5].flags = (enum parse_opt_option_flags )0;
  options[5].callback = (parse_opt_cb *)0;
  options[5].defval = 0L;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )8;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)"unset-upstream";
  options[6].value = (void *)(& unset_upstream);
  options[6].argh = (char const   *)((void *)0);
  options[6].help = (char const   *)"unset the upstream info";
  options[6].flags = (enum parse_opt_option_flags )2;
  options[6].callback = (parse_opt_cb *)((void *)0);
  options[6].defval = (intptr_t )1;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )12;
  options[7].short_name = 0;
  options[7].long_name = (char const   *)"color";
  options[7].value = (void *)(& branch_use_color);
  options[7].argh = (char const   *)"when";
  options[7].help = (char const   *)"use colored output";
  options[7].flags = (enum parse_opt_option_flags )1;
  options[7].callback = & parse_opt_color_flag_cb;
  options[7].defval = (intptr_t )"always";
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )8;
  options[8].short_name = 'r';
  options[8].long_name = (char const   *)"remotes";
  options[8].value = (void *)(& filter___0.kind);
  options[8].argh = (char const   *)((void *)0);
  options[8].help = (char const   *)"act on remote-tracking branches";
  options[8].flags = (enum parse_opt_option_flags )2;
  options[8].callback = (parse_opt_cb *)((void *)0);
  options[8].defval = (intptr_t )0x0008;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  options[9].type = (enum parse_opt_type )12;
  options[9].short_name = 0;
  options[9].long_name = (char const   *)"contains";
  options[9].value = (void *)(& filter___0.with_commit);
  options[9].argh = (char const   *)"commit";
  options[9].help = (char const   *)"print only branches that contain the commit";
  options[9].flags = (enum parse_opt_option_flags )20;
  options[9].callback = & parse_opt_commits;
  options[9].defval = (intptr_t )"HEAD";
  options[9].ll_callback = (parse_opt_ll_cb *)0;
  options[9].extra = 0L;
  options[10].type = (enum parse_opt_type )12;
  options[10].short_name = 0;
  options[10].long_name = (char const   *)"no-contains";
  options[10].value = (void *)(& filter___0.no_commit);
  options[10].argh = (char const   *)"commit";
  options[10].help = (char const   *)"print only branches that don\'t contain the commit";
  options[10].flags = (enum parse_opt_option_flags )20;
  options[10].callback = & parse_opt_commits;
  options[10].defval = (intptr_t )"HEAD";
  options[10].ll_callback = (parse_opt_ll_cb *)0;
  options[10].extra = 0L;
  options[11].type = (enum parse_opt_type )12;
  options[11].short_name = 0;
  options[11].long_name = (char const   *)"with";
  options[11].value = (void *)(& filter___0.with_commit);
  options[11].argh = (char const   *)"commit";
  options[11].help = (char const   *)"print only branches that contain the commit";
  options[11].flags = (enum parse_opt_option_flags )28;
  options[11].callback = & parse_opt_commits;
  options[11].defval = (intptr_t )"HEAD";
  options[11].ll_callback = (parse_opt_ll_cb *)0;
  options[11].extra = 0L;
  options[12].type = (enum parse_opt_type )12;
  options[12].short_name = 0;
  options[12].long_name = (char const   *)"without";
  options[12].value = (void *)(& filter___0.no_commit);
  options[12].argh = (char const   *)"commit";
  options[12].help = (char const   *)"print only branches that don\'t contain the commit";
  options[12].flags = (enum parse_opt_option_flags )28;
  options[12].callback = & parse_opt_commits;
  options[12].defval = (intptr_t )"HEAD";
  options[12].ll_callback = (parse_opt_ll_cb *)0;
  options[12].extra = 0L;
  options[13].type = (enum parse_opt_type )12;
  options[13].short_name = 0;
  options[13].long_name = (char const   *)"abbrev";
  options[13].value = (void *)(& filter___0.abbrev);
  options[13].argh = (char const   *)"n";
  options[13].help = (char const   *)"use <n> digits to display object names";
  options[13].flags = (enum parse_opt_option_flags )1;
  options[13].callback = & parse_opt_abbrev_cb;
  options[13].defval = (intptr_t )0;
  options[13].ll_callback = (parse_opt_ll_cb *)0;
  options[13].extra = 0L;
  options[14].type = (enum parse_opt_type )1;
  options[14].short_name = 0;
  options[14].long_name = (char const   *)((void *)0);
  options[14].value = (void *)0;
  options[14].argh = (char const   *)((void *)0);
  options[14].help = (char const   *)"Specific git-branch actions:";
  options[14].flags = 0U;
  options[14].callback = (parse_opt_cb *)0;
  options[14].defval = 0L;
  options[14].ll_callback = (parse_opt_ll_cb *)0;
  options[14].extra = 0L;
  options[15].type = (enum parse_opt_type )8;
  options[15].short_name = 'a';
  options[15].long_name = (char const   *)"all";
  options[15].value = (void *)(& filter___0.kind);
  options[15].argh = (char const   *)((void *)0);
  options[15].help = (char const   *)"list both remote-tracking and local branches";
  options[15].flags = (enum parse_opt_option_flags )2;
  options[15].callback = (parse_opt_cb *)((void *)0);
  options[15].defval = (intptr_t )12;
  options[15].ll_callback = (parse_opt_ll_cb *)0;
  options[15].extra = 0L;
  options[16].type = (enum parse_opt_type )4;
  options[16].short_name = 'd';
  options[16].long_name = (char const   *)"delete";
  options[16].value = (void *)(& delete);
  options[16].argh = (char const   *)((void *)0);
  options[16].help = (char const   *)"delete fully merged branch";
  options[16].flags = (enum parse_opt_option_flags )2;
  options[16].callback = (parse_opt_cb *)((void *)0);
  options[16].defval = (intptr_t )1;
  options[16].ll_callback = (parse_opt_ll_cb *)0;
  options[16].extra = 0L;
  options[17].type = (enum parse_opt_type )4;
  options[17].short_name = 'D';
  options[17].long_name = (char const   *)((void *)0);
  options[17].value = (void *)(& delete);
  options[17].argh = (char const   *)((void *)0);
  options[17].help = (char const   *)"delete branch (even if not merged)";
  options[17].flags = (enum parse_opt_option_flags )2;
  options[17].callback = (parse_opt_cb *)((void *)0);
  options[17].defval = (intptr_t )2;
  options[17].ll_callback = (parse_opt_ll_cb *)0;
  options[17].extra = 0L;
  options[18].type = (enum parse_opt_type )4;
  options[18].short_name = 'm';
  options[18].long_name = (char const   *)"move";
  options[18].value = (void *)(& rename___0);
  options[18].argh = (char const   *)((void *)0);
  options[18].help = (char const   *)"move/rename a branch and its reflog";
  options[18].flags = (enum parse_opt_option_flags )2;
  options[18].callback = (parse_opt_cb *)((void *)0);
  options[18].defval = (intptr_t )1;
  options[18].ll_callback = (parse_opt_ll_cb *)0;
  options[18].extra = 0L;
  options[19].type = (enum parse_opt_type )4;
  options[19].short_name = 'M';
  options[19].long_name = (char const   *)((void *)0);
  options[19].value = (void *)(& rename___0);
  options[19].argh = (char const   *)((void *)0);
  options[19].help = (char const   *)"move/rename a branch, even if target exists";
  options[19].flags = (enum parse_opt_option_flags )2;
  options[19].callback = (parse_opt_cb *)((void *)0);
  options[19].defval = (intptr_t )2;
  options[19].ll_callback = (parse_opt_ll_cb *)0;
  options[19].extra = 0L;
  options[20].type = (enum parse_opt_type )4;
  options[20].short_name = 'c';
  options[20].long_name = (char const   *)"copy";
  options[20].value = (void *)(& copy___0);
  options[20].argh = (char const   *)((void *)0);
  options[20].help = (char const   *)"copy a branch and its reflog";
  options[20].flags = (enum parse_opt_option_flags )2;
  options[20].callback = (parse_opt_cb *)((void *)0);
  options[20].defval = (intptr_t )1;
  options[20].ll_callback = (parse_opt_ll_cb *)0;
  options[20].extra = 0L;
  options[21].type = (enum parse_opt_type )4;
  options[21].short_name = 'C';
  options[21].long_name = (char const   *)((void *)0);
  options[21].value = (void *)(& copy___0);
  options[21].argh = (char const   *)((void *)0);
  options[21].help = (char const   *)"copy a branch, even if target exists";
  options[21].flags = (enum parse_opt_option_flags )2;
  options[21].callback = (parse_opt_cb *)((void *)0);
  options[21].defval = (intptr_t )2;
  options[21].ll_callback = (parse_opt_ll_cb *)0;
  options[21].extra = 0L;
  options[22].type = (enum parse_opt_type )8;
  options[22].short_name = 'l';
  options[22].long_name = (char const   *)"list";
  options[22].value = (void *)(& list___3);
  options[22].argh = (char const   *)((void *)0);
  options[22].help = (char const   *)"list branch names";
  options[22].flags = (enum parse_opt_option_flags )2;
  options[22].callback = (parse_opt_cb *)((void *)0);
  options[22].defval = (intptr_t )1;
  options[22].ll_callback = (parse_opt_ll_cb *)0;
  options[22].extra = 0L;
  options[23].type = (enum parse_opt_type )8;
  options[23].short_name = 0;
  options[23].long_name = (char const   *)"show-current";
  options[23].value = (void *)(& show_current);
  options[23].argh = (char const   *)((void *)0);
  options[23].help = (char const   *)"show current branch name";
  options[23].flags = (enum parse_opt_option_flags )2;
  options[23].callback = (parse_opt_cb *)((void *)0);
  options[23].defval = (intptr_t )1;
  options[23].ll_callback = (parse_opt_ll_cb *)0;
  options[23].extra = 0L;
  options[24].type = (enum parse_opt_type )8;
  options[24].short_name = 0;
  options[24].long_name = (char const   *)"create-reflog";
  options[24].value = (void *)(& reflog___1);
  options[24].argh = (char const   *)((void *)0);
  options[24].help = (char const   *)"create the branch\'s reflog";
  options[24].flags = (enum parse_opt_option_flags )2;
  options[24].callback = (parse_opt_cb *)((void *)0);
  options[24].defval = (intptr_t )1;
  options[24].ll_callback = (parse_opt_ll_cb *)0;
  options[24].extra = 0L;
  options[25].type = (enum parse_opt_type )8;
  options[25].short_name = 0;
  options[25].long_name = (char const   *)"edit-description";
  options[25].value = (void *)(& edit_description___0);
  options[25].argh = (char const   *)((void *)0);
  options[25].help = (char const   *)"edit the description for the branch";
  options[25].flags = (enum parse_opt_option_flags )2;
  options[25].callback = (parse_opt_cb *)((void *)0);
  options[25].defval = (intptr_t )1;
  options[25].ll_callback = (parse_opt_ll_cb *)0;
  options[25].extra = 0L;
  options[26].type = (enum parse_opt_type )7;
  options[26].short_name = 'f';
  options[26].long_name = (char const   *)"force";
  options[26].value = (void *)(& force___2);
  options[26].argh = (char const   *)((void *)0);
  options[26].help = (char const   *)"force creation, move/rename, deletion";
  options[26].flags = (enum parse_opt_option_flags )514;
  options[26].callback = (parse_opt_cb *)0;
  options[26].defval = 0L;
  options[26].ll_callback = (parse_opt_ll_cb *)0;
  options[26].extra = 0L;
  options[27].type = (enum parse_opt_type )12;
  options[27].short_name = 0;
  options[27].long_name = (char const   *)"merged";
  options[27].value = (void *)(& filter___0);
  options[27].argh = (char const   *)"commit";
  options[27].help = (char const   *)"print only branches that are merged";
  options[27].flags = (enum parse_opt_option_flags )20;
  options[27].callback = & parse_opt_merge_filter;
  options[27].defval = (intptr_t )"HEAD";
  options[27].ll_callback = (parse_opt_ll_cb *)0;
  options[27].extra = 0L;
  options[28].type = (enum parse_opt_type )12;
  options[28].short_name = 0;
  options[28].long_name = (char const   *)"no-merged";
  options[28].value = (void *)(& filter___0);
  options[28].argh = (char const   *)"commit";
  options[28].help = (char const   *)"print only branches that are not merged";
  options[28].flags = (enum parse_opt_option_flags )20;
  options[28].callback = & parse_opt_merge_filter;
  options[28].defval = (intptr_t )"HEAD";
  options[28].ll_callback = (parse_opt_ll_cb *)0;
  options[28].extra = 0L;
  options[29].type = (enum parse_opt_type )12;
  options[29].short_name = 0;
  options[29].long_name = (char const   *)"column";
  options[29].value = (void *)(& colopts);
  options[29].argh = (char const   *)"style";
  options[29].help = (char const   *)"list branches in columns";
  options[29].flags = (enum parse_opt_option_flags )1;
  options[29].callback = & parseopt_column_callback;
  options[29].defval = 0L;
  options[29].ll_callback = (parse_opt_ll_cb *)0;
  options[29].extra = 0L;
  options[30].type = (enum parse_opt_type )12;
  options[30].short_name = 0;
  options[30].long_name = (char const   *)"sort";
  options[30].value = (void *)(& sorting_options);
  options[30].argh = (char const   *)"key";
  options[30].help = (char const   *)"field name to sort on";
  options[30].flags = (enum parse_opt_option_flags )0;
  options[30].callback = & parse_opt_string_list;
  options[30].defval = 0L;
  options[30].ll_callback = (parse_opt_ll_cb *)0;
  options[30].extra = 0L;
  options[31].type = (enum parse_opt_type )12;
  options[31].short_name = 0;
  options[31].long_name = (char const   *)"points-at";
  options[31].value = (void *)(& filter___0.points_at);
  options[31].argh = (char const   *)"object";
  options[31].help = (char const   *)"print only branches of the object";
  options[31].flags = (enum parse_opt_option_flags )0;
  options[31].callback = & parse_opt_object_name;
  options[31].defval = 0L;
  options[31].ll_callback = (parse_opt_ll_cb *)0;
  options[31].extra = 0L;
  options[32].type = (enum parse_opt_type )8;
  options[32].short_name = 'i';
  options[32].long_name = (char const   *)"ignore-case";
  options[32].value = (void *)(& icase___0);
  options[32].argh = (char const   *)((void *)0);
  options[32].help = (char const   *)"sorting and filtering are case insensitive";
  options[32].flags = (enum parse_opt_option_flags )2;
  options[32].callback = (parse_opt_cb *)((void *)0);
  options[32].defval = (intptr_t )1;
  options[32].ll_callback = (parse_opt_ll_cb *)0;
  options[32].extra = 0L;
  options[33].type = (enum parse_opt_type )9;
  options[33].short_name = 0;
  options[33].long_name = (char const   *)"format";
  options[33].value = (void *)(& format___0.format);
  options[33].argh = (char const   *)"format";
  options[33].help = (char const   *)"format to use for the output";
  options[33].flags = (enum parse_opt_option_flags )0;
  options[33].callback = (parse_opt_cb *)0;
  options[33].defval = 0L;
  options[33].ll_callback = (parse_opt_ll_cb *)0;
  options[33].extra = 0L;
  options[34].type = (enum parse_opt_type )0;
  options[34].short_name = 0;
  options[34].long_name = (char const   *)0;
  options[34].value = (void *)0;
  options[34].argh = (char const   *)0;
  options[34].help = (char const   *)0;
  options[34].flags = 0U;
  options[34].callback = (parse_opt_cb *)0;
  options[34].defval = 0L;
  options[34].ll_callback = (parse_opt_ll_cb *)0;
  options[34].extra = 0L;
  setup_ref_filter_porcelain_msg();
  memset((void *)(& filter___0), 0, sizeof(filter___0));
  filter___0.kind = 4U;
  filter___0.abbrev = -1;
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage_with_options(builtin_branch_usage, (struct option  const  *)(options));
    }
  }
  git_config(& git_branch_config, (void *)(& sorting_options));
  track = git_branch_track;
  tmp___0 = resolve_refdup((char const   *)"HEAD", 0, & head_oid, (int *)((void *)0));
  head___0 = (char const   *)tmp___0;
  if (! head___0) {
    tmp___1 = _((char const   *)"Failed to resolve HEAD as a valid ref.");
    die((char const   *)tmp___1);
  }
  tmp___4 = strcmp(head___0, (char const   *)"HEAD");
  if (tmp___4) {
    tmp___3 = skip_prefix(head___0, (char const   *)"refs/heads/", & head___0);
    if (! tmp___3) {
      tmp___2 = _((char const   *)"HEAD not found below refs/heads!");
      die((char const   *)tmp___2);
    }
  } else {
    filter___0.detached = 1U;
  }
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       builtin_branch_usage, (enum parse_opt_flags )0);
  if (! delete) {
    if (! rename___0) {
      if (! copy___0) {
        if (! edit_description___0) {
          if (! new_upstream) {
            if (! show_current) {
              if (! unset_upstream) {
                if (argc == 0) {
                  list___3 = 1;
                }
              }
            }
          }
        }
      }
    }
  }
  if (filter___0.with_commit) {
    list___3 = 1;
  } else
  if (filter___0.no_commit) {
    list___3 = 1;
  } else
  if (filter___0.reachable_from) {
    list___3 = 1;
  } else
  if (filter___0.unreachable_from) {
    list___3 = 1;
  } else
  if (filter___0.points_at.nr) {
    list___3 = 1;
  }
  if (((((((! (! delete) + ! (! rename___0)) + ! (! copy___0)) + ! (! new_upstream)) + ! (! show_current)) + list___3) + edit_description___0) + unset_upstream > 1) {
    usage_with_options(builtin_branch_usage, (struct option  const  *)(options));
  }
  if (filter___0.abbrev == -1) {
    filter___0.abbrev = default_abbrev;
  }
  filter___0.ignore_case = (unsigned int )icase___0;
  finalize_colopts(& colopts, -1);
  if (filter___0.verbose) {
    if (colopts & 64U) {
      tmp___6 = column_active(colopts);
      if (tmp___6) {
        tmp___5 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
        die((char const   *)tmp___5, "--column", "--verbose");
      }
    }
    colopts = 0U;
  }
  if (force___2) {
    delete *= 2;
    rename___0 *= 2;
    copy___0 *= 2;
  }
  if (list___3) {
    setup_auto_pager((char const   *)"branch", 1);
  }
  if (delete) {
    if (! argc) {
      tmp___7 = _((char const   *)"branch name required");
      die((char const   *)tmp___7);
    }
    tmp___8 = delete_branches(argc, argv___0, delete > 1, (int )filter___0.kind, quiet___7);
    return (tmp___8);
  } else
  if (show_current) {
    print_current_branch_name();
    return (0);
  } else
  if (list___3) {
    if (filter___0.kind & 4U) {
      if (filter___0.detached) {
        filter___0.kind |= 32U;
      }
    }
    filter___0.name_patterns = argv___0;
    sorting = ref_sorting_options(& sorting_options);
    ref_sorting_set_sort_flags_all(sorting, 2U, icase___0);
    ref_sorting_set_sort_flags_all(sorting, 8U, 1);
    print_ref_list(& filter___0, sorting, & format___0, & output___3);
    print_columns((struct string_list  const  *)(& output___3), colopts, (struct column_options  const  *)((void *)0));
    string_list_clear(& output___3, 0);
    ref_sorting_release(sorting);
    return (0);
  } else
  if (edit_description___0) {
    branch_ref.alloc = 0UL;
    branch_ref.len = 0UL;
    branch_ref.buf = strbuf_slopbuf;
    if (! argc) {
      if (filter___0.detached) {
        tmp___9 = _((char const   *)"Cannot give description to detached HEAD");
        die((char const   *)tmp___9);
      }
      branch_name = head___0;
    } else
    if (argc == 1) {
      branch_name = *(argv___0 + 0);
    } else {
      tmp___10 = _((char const   *)"cannot edit description of more than one branch");
      die((char const   *)tmp___10);
    }
    strbuf_addf(& branch_ref, (char const   *)"refs/heads/%s", branch_name);
    tmp___15 = ref_exists((char const   *)branch_ref.buf);
    if (! tmp___15) {
      strbuf_release(& branch_ref);
      if (! argc) {
        tmp___11 = _((char const   *)"No commit on branch \'%s\' yet.");
        error((char const   *)tmp___11, branch_name);
        tmp___12 = const_error();
        return (tmp___12);
      } else {
        tmp___13 = _((char const   *)"No branch named \'%s\'.");
        error((char const   *)tmp___13, branch_name);
        tmp___14 = const_error();
        return (tmp___14);
      }
    }
    strbuf_release(& branch_ref);
    tmp___16 = edit_branch_description(branch_name);
    if (tmp___16) {
      return (1);
    }
  } else
  if (copy___0) {
    if (! argc) {
      tmp___17 = _((char const   *)"branch name required");
      die((char const   *)tmp___17);
    } else
    if (argc == 1) {
      copy_or_rename_branch(head___0, *(argv___0 + 0), 1, copy___0 > 1);
    } else
    if (argc == 2) {
      copy_or_rename_branch(*(argv___0 + 0), *(argv___0 + 1), 1, copy___0 > 1);
    } else {
      tmp___18 = _((char const   *)"too many branches for a copy operation");
      die((char const   *)tmp___18);
    }
  } else
  if (rename___0) {
    if (! argc) {
      tmp___19 = _((char const   *)"branch name required");
      die((char const   *)tmp___19);
    } else
    if (argc == 1) {
      copy_or_rename_branch(head___0, *(argv___0 + 0), 0, rename___0 > 1);
    } else
    if (argc == 2) {
      copy_or_rename_branch(*(argv___0 + 0), *(argv___0 + 1), 0, rename___0 > 1);
    } else {
      tmp___20 = _((char const   *)"too many arguments for a rename operation");
      die((char const   *)tmp___20);
    }
  } else
  if (new_upstream) {
    tmp___21 = branch_get(*(argv___0 + 0));
    branch___0 = tmp___21;
    if (argc > 1) {
      tmp___22 = _((char const   *)"too many arguments to set new upstream");
      die((char const   *)tmp___22);
    }
    if (! branch___0) {
      if (! argc) {
        tmp___23 = _((char const   *)"could not set upstream of HEAD to %s when it does not point to any branch.");
        die((char const   *)tmp___23, new_upstream);
      } else {
        tmp___24 = strcmp(*(argv___0 + 0), (char const   *)"HEAD");
        if (! tmp___24) {
          tmp___23 = _((char const   *)"could not set upstream of HEAD to %s when it does not point to any branch.");
          die((char const   *)tmp___23, new_upstream);
        }
      }
      tmp___25 = _((char const   *)"no such branch \'%s\'");
      die((char const   *)tmp___25, *(argv___0 + 0));
    }
    tmp___27 = ref_exists(branch___0->refname);
    if (! tmp___27) {
      tmp___26 = _((char const   *)"branch \'%s\' does not exist");
      die((char const   *)tmp___26, branch___0->name);
    }
    create_branch(the_repository, branch___0->name, new_upstream, 0, 0, 0, quiet___7,
                  (enum branch_track )4);
  } else
  if (unset_upstream) {
    tmp___28 = branch_get(*(argv___0 + 0));
    branch___1 = tmp___28;
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    if (argc > 1) {
      tmp___29 = _((char const   *)"too many arguments to unset upstream");
      die((char const   *)tmp___29);
    }
    if (! branch___1) {
      if (! argc) {
        tmp___30 = _((char const   *)"could not unset upstream of HEAD when it does not point to any branch.");
        die((char const   *)tmp___30);
      } else {
        tmp___31 = strcmp(*(argv___0 + 0), (char const   *)"HEAD");
        if (! tmp___31) {
          tmp___30 = _((char const   *)"could not unset upstream of HEAD when it does not point to any branch.");
          die((char const   *)tmp___30);
        }
      }
      tmp___32 = _((char const   *)"no such branch \'%s\'");
      die((char const   *)tmp___32, *(argv___0 + 0));
    }
    tmp___34 = branch_has_merge_config(branch___1);
    if (! tmp___34) {
      tmp___33 = _((char const   *)"Branch \'%s\' has no upstream information");
      die((char const   *)tmp___33, branch___1->name);
    }
    strbuf_addf(& buf___19, (char const   *)"branch.%s.remote", branch___1->name);
    git_config_set_multivar((char const   *)buf___19.buf, (char const   *)((void *)0),
                            (char const   *)((void *)0), 1U);
    strbuf_setlen___33(& buf___19, (size_t )0);
    strbuf_addf(& buf___19, (char const   *)"branch.%s.merge", branch___1->name);
    git_config_set_multivar((char const   *)buf___19.buf, (char const   *)((void *)0),
                            (char const   *)((void *)0), 1U);
    strbuf_release(& buf___19);
  } else
  if (argc > 0) {
    if (argc <= 2) {
      if (filter___0.kind != 4U) {
        tmp___35 = _((char const   *)"The -a, and -r, options to \'git branch\' do not take a branch name.\nDid you mean to use: -a|-r --list <pattern>?");
        die((char const   *)tmp___35);
      }
      if ((int )track == 4) {
        tmp___36 = _((char const   *)"the \'--set-upstream\' option is no longer supported. Please use \'--track\' or \'--set-upstream-to\' instead.");
        die((char const   *)tmp___36);
      }
      if (argc == 2) {
        tmp___37 = *(argv___0 + 1);
      } else {
        tmp___37 = head___0;
      }
      create_branch(the_repository, *(argv___0 + 0), tmp___37, force___2, 0, reflog___1,
                    quiet___7, track);
    } else {
      usage_with_options(builtin_branch_usage, (struct option  const  *)(options));
    }
  } else {
    usage_with_options(builtin_branch_usage, (struct option  const  *)(options));
  }
  return (0);
}
}
extern char const   *( __attribute__((__leaf__)) gnu_get_libc_release)(void)  __attribute__((__nothrow__)) ;
extern char const   *( __attribute__((__leaf__)) gnu_get_libc_version)(void)  __attribute__((__nothrow__)) ;
__inline static void get_compiler_info(struct strbuf *info___0 )
{
  int len___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  len___0 = (int )info___0->len;
  strbuf_addf(info___0, (char const   *)"gnuc: %d.%d\n", 7, 5);
  if ((size_t )len___0 == info___0->len) {
    tmp = _((char const   *)"no compiler information available\n");
    strbuf_addstr(info___0, (char const   *)tmp);
  }
  return;
}
}
__inline static void get_libc_info(struct strbuf *info___0 )
{
  int len___0 ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  len___0 = (int )info___0->len;
  tmp = gnu_get_libc_version();
  strbuf_addf(info___0, (char const   *)"glibc: %s\n", tmp);
  if ((size_t )len___0 == info___0->len) {
    tmp___0 = _((char const   *)"no libc information available\n");
    strbuf_addstr(info___0, (char const   *)tmp___0);
  }
  return;
}
}
static char const   *hook_name_list[29]  =
  {      (char const   *)"applypatch-msg",      (char const   *)"commit-msg",      (char const   *)"fsmonitor-watchman",      (char const   *)"p4-changelist",
        (char const   *)"p4-post-changelist",      (char const   *)"p4-pre-submit",      (char const   *)"p4-prepare-changelist",      (char const   *)"post-applypatch",
        (char const   *)"post-checkout",      (char const   *)"post-commit",      (char const   *)"post-index-change",      (char const   *)"post-merge",
        (char const   *)"post-receive",      (char const   *)"post-rewrite",      (char const   *)"post-update",      (char const   *)"pre-applypatch",
        (char const   *)"pre-auto-gc",      (char const   *)"pre-commit",      (char const   *)"pre-merge-commit",      (char const   *)"pre-push",
        (char const   *)"pre-rebase",      (char const   *)"pre-receive",      (char const   *)"prepare-commit-msg",      (char const   *)"proc-receive",
        (char const   *)"push-to-checkout",      (char const   *)"reference-transaction",      (char const   *)"sendemail-validate",      (char const   *)"update",
        (char const   *)((void *)0)};
static void get_system_info(struct strbuf *sys_info )
{
  struct utsname uname_info ;
  char *shell ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int *tmp___0 ;
  int *tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char *tmp___7 ;

  {
  shell = (char *)((void *)0);
  tmp = _((char const   *)"git version:\n");
  strbuf_addstr(sys_info, (char const   *)tmp);
  get_version_info(sys_info, 1);
  strbuf_addstr(sys_info, (char const   *)"uname: ");
  tmp___4 = uname(& uname_info);
  if (tmp___4) {
    tmp___0 = __errno_location();
    tmp___1 = __errno_location();
    tmp___2 = strerror(*tmp___1);
    tmp___3 = _((char const   *)"uname() failed with error \'%s\' (%d)\n");
    strbuf_addf(sys_info, (char const   *)tmp___3, tmp___2, *tmp___0);
  } else {
    strbuf_addf(sys_info, (char const   *)"%s %s %s %s\n", uname_info.sysname, uname_info.release,
                uname_info.version, uname_info.machine);
  }
  tmp___5 = _((char const   *)"compiler info: ");
  strbuf_addstr(sys_info, (char const   *)tmp___5);
  get_compiler_info(sys_info);
  tmp___6 = _((char const   *)"libc info: ");
  strbuf_addstr(sys_info, (char const   *)tmp___6);
  get_libc_info(sys_info);
  shell = getenv((char const   *)"SHELL");
  if (shell) {
    tmp___7 = shell;
  } else {
    tmp___7 = "<unset>";
  }
  strbuf_addf(sys_info, (char const   *)"$SHELL (typically, interactive shell): %s\n",
              tmp___7);
  return;
}
}
static void get_populated_hooks(struct strbuf *hook_info , int nongit )
{
  char const   **p___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *hook ;
  int tmp___0 ;

  {
  if (nongit) {
    tmp = _((char const   *)"not run from a git repository - no hooks to show\n");
    strbuf_addstr(hook_info, (char const   *)tmp);
    return;
  }
  p___0 = hook_name_list;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    hook = *p___0;
    tmp___0 = hook_exists(hook);
    if (tmp___0) {
      strbuf_addf(hook_info, (char const   *)"%s\n", hook);
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static char const   *bugreport_usage[2]  = {      (char const   *)"git bugreport [-o|--output-directory <file>] [-s|--suffix <format>]",      (char const   *)((void *)0)};
static int get_bug_template(struct strbuf *template___0 )
{
  char template_text[488] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  template_text[0] = (char )'T';
  template_text[1] = (char )'h';
  template_text[2] = (char )'a';
  template_text[3] = (char )'n';
  template_text[4] = (char )'k';
  template_text[5] = (char )' ';
  template_text[6] = (char )'y';
  template_text[7] = (char )'o';
  template_text[8] = (char )'u';
  template_text[9] = (char )' ';
  template_text[10] = (char )'f';
  template_text[11] = (char )'o';
  template_text[12] = (char )'r';
  template_text[13] = (char )' ';
  template_text[14] = (char )'f';
  template_text[15] = (char )'i';
  template_text[16] = (char )'l';
  template_text[17] = (char )'l';
  template_text[18] = (char )'i';
  template_text[19] = (char )'n';
  template_text[20] = (char )'g';
  template_text[21] = (char )' ';
  template_text[22] = (char )'o';
  template_text[23] = (char )'u';
  template_text[24] = (char )'t';
  template_text[25] = (char )' ';
  template_text[26] = (char )'a';
  template_text[27] = (char )' ';
  template_text[28] = (char )'G';
  template_text[29] = (char )'i';
  template_text[30] = (char )'t';
  template_text[31] = (char )' ';
  template_text[32] = (char )'b';
  template_text[33] = (char )'u';
  template_text[34] = (char )'g';
  template_text[35] = (char )' ';
  template_text[36] = (char )'r';
  template_text[37] = (char )'e';
  template_text[38] = (char )'p';
  template_text[39] = (char )'o';
  template_text[40] = (char )'r';
  template_text[41] = (char )'t';
  template_text[42] = (char )'!';
  template_text[43] = (char )'\n';
  template_text[44] = (char )'P';
  template_text[45] = (char )'l';
  template_text[46] = (char )'e';
  template_text[47] = (char )'a';
  template_text[48] = (char )'s';
  template_text[49] = (char )'e';
  template_text[50] = (char )' ';
  template_text[51] = (char )'a';
  template_text[52] = (char )'n';
  template_text[53] = (char )'s';
  template_text[54] = (char )'w';
  template_text[55] = (char )'e';
  template_text[56] = (char )'r';
  template_text[57] = (char )' ';
  template_text[58] = (char )'t';
  template_text[59] = (char )'h';
  template_text[60] = (char )'e';
  template_text[61] = (char )' ';
  template_text[62] = (char )'f';
  template_text[63] = (char )'o';
  template_text[64] = (char )'l';
  template_text[65] = (char )'l';
  template_text[66] = (char )'o';
  template_text[67] = (char )'w';
  template_text[68] = (char )'i';
  template_text[69] = (char )'n';
  template_text[70] = (char )'g';
  template_text[71] = (char )' ';
  template_text[72] = (char )'q';
  template_text[73] = (char )'u';
  template_text[74] = (char )'e';
  template_text[75] = (char )'s';
  template_text[76] = (char )'t';
  template_text[77] = (char )'i';
  template_text[78] = (char )'o';
  template_text[79] = (char )'n';
  template_text[80] = (char )'s';
  template_text[81] = (char )' ';
  template_text[82] = (char )'t';
  template_text[83] = (char )'o';
  template_text[84] = (char )' ';
  template_text[85] = (char )'h';
  template_text[86] = (char )'e';
  template_text[87] = (char )'l';
  template_text[88] = (char )'p';
  template_text[89] = (char )' ';
  template_text[90] = (char )'u';
  template_text[91] = (char )'s';
  template_text[92] = (char )' ';
  template_text[93] = (char )'u';
  template_text[94] = (char )'n';
  template_text[95] = (char )'d';
  template_text[96] = (char )'e';
  template_text[97] = (char )'r';
  template_text[98] = (char )'s';
  template_text[99] = (char )'t';
  template_text[100] = (char )'a';
  template_text[101] = (char )'n';
  template_text[102] = (char )'d';
  template_text[103] = (char )' ';
  template_text[104] = (char )'y';
  template_text[105] = (char )'o';
  template_text[106] = (char )'u';
  template_text[107] = (char )'r';
  template_text[108] = (char )' ';
  template_text[109] = (char )'i';
  template_text[110] = (char )'s';
  template_text[111] = (char )'s';
  template_text[112] = (char )'u';
  template_text[113] = (char )'e';
  template_text[114] = (char )'.';
  template_text[115] = (char )'\n';
  template_text[116] = (char )'\n';
  template_text[117] = (char )'W';
  template_text[118] = (char )'h';
  template_text[119] = (char )'a';
  template_text[120] = (char )'t';
  template_text[121] = (char )' ';
  template_text[122] = (char )'d';
  template_text[123] = (char )'i';
  template_text[124] = (char )'d';
  template_text[125] = (char )' ';
  template_text[126] = (char )'y';
  template_text[127] = (char )'o';
  template_text[128] = (char )'u';
  template_text[129] = (char )' ';
  template_text[130] = (char )'d';
  template_text[131] = (char )'o';
  template_text[132] = (char )' ';
  template_text[133] = (char )'b';
  template_text[134] = (char )'e';
  template_text[135] = (char )'f';
  template_text[136] = (char )'o';
  template_text[137] = (char )'r';
  template_text[138] = (char )'e';
  template_text[139] = (char )' ';
  template_text[140] = (char )'t';
  template_text[141] = (char )'h';
  template_text[142] = (char )'e';
  template_text[143] = (char )' ';
  template_text[144] = (char )'b';
  template_text[145] = (char )'u';
  template_text[146] = (char )'g';
  template_text[147] = (char )' ';
  template_text[148] = (char )'h';
  template_text[149] = (char )'a';
  template_text[150] = (char )'p';
  template_text[151] = (char )'p';
  template_text[152] = (char )'e';
  template_text[153] = (char )'n';
  template_text[154] = (char )'e';
  template_text[155] = (char )'d';
  template_text[156] = (char )'?';
  template_text[157] = (char )' ';
  template_text[158] = (char )'(';
  template_text[159] = (char )'S';
  template_text[160] = (char )'t';
  template_text[161] = (char )'e';
  template_text[162] = (char )'p';
  template_text[163] = (char )'s';
  template_text[164] = (char )' ';
  template_text[165] = (char )'t';
  template_text[166] = (char )'o';
  template_text[167] = (char )' ';
  template_text[168] = (char )'r';
  template_text[169] = (char )'e';
  template_text[170] = (char )'p';
  template_text[171] = (char )'r';
  template_text[172] = (char )'o';
  template_text[173] = (char )'d';
  template_text[174] = (char )'u';
  template_text[175] = (char )'c';
  template_text[176] = (char )'e';
  template_text[177] = (char )' ';
  template_text[178] = (char )'y';
  template_text[179] = (char )'o';
  template_text[180] = (char )'u';
  template_text[181] = (char )'r';
  template_text[182] = (char )' ';
  template_text[183] = (char )'i';
  template_text[184] = (char )'s';
  template_text[185] = (char )'s';
  template_text[186] = (char )'u';
  template_text[187] = (char )'e';
  template_text[188] = (char )')';
  template_text[189] = (char )'\n';
  template_text[190] = (char )'\n';
  template_text[191] = (char )'W';
  template_text[192] = (char )'h';
  template_text[193] = (char )'a';
  template_text[194] = (char )'t';
  template_text[195] = (char )' ';
  template_text[196] = (char )'d';
  template_text[197] = (char )'i';
  template_text[198] = (char )'d';
  template_text[199] = (char )' ';
  template_text[200] = (char )'y';
  template_text[201] = (char )'o';
  template_text[202] = (char )'u';
  template_text[203] = (char )' ';
  template_text[204] = (char )'e';
  template_text[205] = (char )'x';
  template_text[206] = (char )'p';
  template_text[207] = (char )'e';
  template_text[208] = (char )'c';
  template_text[209] = (char )'t';
  template_text[210] = (char )' ';
  template_text[211] = (char )'t';
  template_text[212] = (char )'o';
  template_text[213] = (char )' ';
  template_text[214] = (char )'h';
  template_text[215] = (char )'a';
  template_text[216] = (char )'p';
  template_text[217] = (char )'p';
  template_text[218] = (char )'e';
  template_text[219] = (char )'n';
  template_text[220] = (char )'?';
  template_text[221] = (char )' ';
  template_text[222] = (char )'(';
  template_text[223] = (char )'E';
  template_text[224] = (char )'x';
  template_text[225] = (char )'p';
  template_text[226] = (char )'e';
  template_text[227] = (char )'c';
  template_text[228] = (char )'t';
  template_text[229] = (char )'e';
  template_text[230] = (char )'d';
  template_text[231] = (char )' ';
  template_text[232] = (char )'b';
  template_text[233] = (char )'e';
  template_text[234] = (char )'h';
  template_text[235] = (char )'a';
  template_text[236] = (char )'v';
  template_text[237] = (char )'i';
  template_text[238] = (char )'o';
  template_text[239] = (char )'r';
  template_text[240] = (char )')';
  template_text[241] = (char )'\n';
  template_text[242] = (char )'\n';
  template_text[243] = (char )'W';
  template_text[244] = (char )'h';
  template_text[245] = (char )'a';
  template_text[246] = (char )'t';
  template_text[247] = (char )' ';
  template_text[248] = (char )'h';
  template_text[249] = (char )'a';
  template_text[250] = (char )'p';
  template_text[251] = (char )'p';
  template_text[252] = (char )'e';
  template_text[253] = (char )'n';
  template_text[254] = (char )'e';
  template_text[255] = (char )'d';
  template_text[256] = (char )' ';
  template_text[257] = (char )'i';
  template_text[258] = (char )'n';
  template_text[259] = (char )'s';
  template_text[260] = (char )'t';
  template_text[261] = (char )'e';
  template_text[262] = (char )'a';
  template_text[263] = (char )'d';
  template_text[264] = (char )'?';
  template_text[265] = (char )' ';
  template_text[266] = (char )'(';
  template_text[267] = (char )'A';
  template_text[268] = (char )'c';
  template_text[269] = (char )'t';
  template_text[270] = (char )'u';
  template_text[271] = (char )'a';
  template_text[272] = (char )'l';
  template_text[273] = (char )' ';
  template_text[274] = (char )'b';
  template_text[275] = (char )'e';
  template_text[276] = (char )'h';
  template_text[277] = (char )'a';
  template_text[278] = (char )'v';
  template_text[279] = (char )'i';
  template_text[280] = (char )'o';
  template_text[281] = (char )'r';
  template_text[282] = (char )')';
  template_text[283] = (char )'\n';
  template_text[284] = (char )'\n';
  template_text[285] = (char )'W';
  template_text[286] = (char )'h';
  template_text[287] = (char )'a';
  template_text[288] = (char )'t';
  template_text[289] = (char )'\'';
  template_text[290] = (char )'s';
  template_text[291] = (char )' ';
  template_text[292] = (char )'d';
  template_text[293] = (char )'i';
  template_text[294] = (char )'f';
  template_text[295] = (char )'f';
  template_text[296] = (char )'e';
  template_text[297] = (char )'r';
  template_text[298] = (char )'e';
  template_text[299] = (char )'n';
  template_text[300] = (char )'t';
  template_text[301] = (char )' ';
  template_text[302] = (char )'b';
  template_text[303] = (char )'e';
  template_text[304] = (char )'t';
  template_text[305] = (char )'w';
  template_text[306] = (char )'e';
  template_text[307] = (char )'e';
  template_text[308] = (char )'n';
  template_text[309] = (char )' ';
  template_text[310] = (char )'w';
  template_text[311] = (char )'h';
  template_text[312] = (char )'a';
  template_text[313] = (char )'t';
  template_text[314] = (char )' ';
  template_text[315] = (char )'y';
  template_text[316] = (char )'o';
  template_text[317] = (char )'u';
  template_text[318] = (char )' ';
  template_text[319] = (char )'e';
  template_text[320] = (char )'x';
  template_text[321] = (char )'p';
  template_text[322] = (char )'e';
  template_text[323] = (char )'c';
  template_text[324] = (char )'t';
  template_text[325] = (char )'e';
  template_text[326] = (char )'d';
  template_text[327] = (char )' ';
  template_text[328] = (char )'a';
  template_text[329] = (char )'n';
  template_text[330] = (char )'d';
  template_text[331] = (char )' ';
  template_text[332] = (char )'w';
  template_text[333] = (char )'h';
  template_text[334] = (char )'a';
  template_text[335] = (char )'t';
  template_text[336] = (char )' ';
  template_text[337] = (char )'a';
  template_text[338] = (char )'c';
  template_text[339] = (char )'t';
  template_text[340] = (char )'u';
  template_text[341] = (char )'a';
  template_text[342] = (char )'l';
  template_text[343] = (char )'l';
  template_text[344] = (char )'y';
  template_text[345] = (char )' ';
  template_text[346] = (char )'h';
  template_text[347] = (char )'a';
  template_text[348] = (char )'p';
  template_text[349] = (char )'p';
  template_text[350] = (char )'e';
  template_text[351] = (char )'n';
  template_text[352] = (char )'e';
  template_text[353] = (char )'d';
  template_text[354] = (char )'?';
  template_text[355] = (char )'\n';
  template_text[356] = (char )'\n';
  template_text[357] = (char )'A';
  template_text[358] = (char )'n';
  template_text[359] = (char )'y';
  template_text[360] = (char )'t';
  template_text[361] = (char )'h';
  template_text[362] = (char )'i';
  template_text[363] = (char )'n';
  template_text[364] = (char )'g';
  template_text[365] = (char )' ';
  template_text[366] = (char )'e';
  template_text[367] = (char )'l';
  template_text[368] = (char )'s';
  template_text[369] = (char )'e';
  template_text[370] = (char )' ';
  template_text[371] = (char )'y';
  template_text[372] = (char )'o';
  template_text[373] = (char )'u';
  template_text[374] = (char )' ';
  template_text[375] = (char )'w';
  template_text[376] = (char )'a';
  template_text[377] = (char )'n';
  template_text[378] = (char )'t';
  template_text[379] = (char )' ';
  template_text[380] = (char )'t';
  template_text[381] = (char )'o';
  template_text[382] = (char )' ';
  template_text[383] = (char )'a';
  template_text[384] = (char )'d';
  template_text[385] = (char )'d';
  template_text[386] = (char )':';
  template_text[387] = (char )'\n';
  template_text[388] = (char )'\n';
  template_text[389] = (char )'P';
  template_text[390] = (char )'l';
  template_text[391] = (char )'e';
  template_text[392] = (char )'a';
  template_text[393] = (char )'s';
  template_text[394] = (char )'e';
  template_text[395] = (char )' ';
  template_text[396] = (char )'r';
  template_text[397] = (char )'e';
  template_text[398] = (char )'v';
  template_text[399] = (char )'i';
  template_text[400] = (char )'e';
  template_text[401] = (char )'w';
  template_text[402] = (char )' ';
  template_text[403] = (char )'t';
  template_text[404] = (char )'h';
  template_text[405] = (char )'e';
  template_text[406] = (char )' ';
  template_text[407] = (char )'r';
  template_text[408] = (char )'e';
  template_text[409] = (char )'s';
  template_text[410] = (char )'t';
  template_text[411] = (char )' ';
  template_text[412] = (char )'o';
  template_text[413] = (char )'f';
  template_text[414] = (char )' ';
  template_text[415] = (char )'t';
  template_text[416] = (char )'h';
  template_text[417] = (char )'e';
  template_text[418] = (char )' ';
  template_text[419] = (char )'b';
  template_text[420] = (char )'u';
  template_text[421] = (char )'g';
  template_text[422] = (char )' ';
  template_text[423] = (char )'r';
  template_text[424] = (char )'e';
  template_text[425] = (char )'p';
  template_text[426] = (char )'o';
  template_text[427] = (char )'r';
  template_text[428] = (char )'t';
  template_text[429] = (char )' ';
  template_text[430] = (char )'b';
  template_text[431] = (char )'e';
  template_text[432] = (char )'l';
  template_text[433] = (char )'o';
  template_text[434] = (char )'w';
  template_text[435] = (char )'.';
  template_text[436] = (char )'\n';
  template_text[437] = (char )'Y';
  template_text[438] = (char )'o';
  template_text[439] = (char )'u';
  template_text[440] = (char )' ';
  template_text[441] = (char )'c';
  template_text[442] = (char )'a';
  template_text[443] = (char )'n';
  template_text[444] = (char )' ';
  template_text[445] = (char )'d';
  template_text[446] = (char )'e';
  template_text[447] = (char )'l';
  template_text[448] = (char )'e';
  template_text[449] = (char )'t';
  template_text[450] = (char )'e';
  template_text[451] = (char )' ';
  template_text[452] = (char )'a';
  template_text[453] = (char )'n';
  template_text[454] = (char )'y';
  template_text[455] = (char )' ';
  template_text[456] = (char )'l';
  template_text[457] = (char )'i';
  template_text[458] = (char )'n';
  template_text[459] = (char )'e';
  template_text[460] = (char )'s';
  template_text[461] = (char )' ';
  template_text[462] = (char )'y';
  template_text[463] = (char )'o';
  template_text[464] = (char )'u';
  template_text[465] = (char )' ';
  template_text[466] = (char )'d';
  template_text[467] = (char )'o';
  template_text[468] = (char )'n';
  template_text[469] = (char )'\'';
  template_text[470] = (char )'t';
  template_text[471] = (char )' ';
  template_text[472] = (char )'w';
  template_text[473] = (char )'i';
  template_text[474] = (char )'s';
  template_text[475] = (char )'h';
  template_text[476] = (char )' ';
  template_text[477] = (char )'t';
  template_text[478] = (char )'o';
  template_text[479] = (char )' ';
  template_text[480] = (char )'s';
  template_text[481] = (char )'h';
  template_text[482] = (char )'a';
  template_text[483] = (char )'r';
  template_text[484] = (char )'e';
  template_text[485] = (char )'.';
  template_text[486] = (char )'\n';
  template_text[487] = (char )'\000';
  tmp = _((char const   *)(template_text));
  strbuf_addstr(template___0, (char const   *)tmp);
  return (0);
}
}
static void get_header___0(struct strbuf *buf___19 , char const   *title )
{


  {
  strbuf_addf(buf___19, (char const   *)"\n\n[%s]\n", title);
  return;
}
}
int cmd_bugreport(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct strbuf buffer___5 ;
  struct strbuf report_path ;
  int report___3 ;
  time_t now ;
  time_t tmp ;
  struct tm tm ;
  char *option_output ;
  char *option_suffix ;
  char const   *user_relative_path ;
  char *prefixed_filename ;
  struct option bugreport_options[3] ;
  char *tmp___0 ;
  struct tm *tmp___1 ;
  enum scld_error tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  ssize_t tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;

  {
  buffer___5.alloc = 0UL;
  buffer___5.len = 0UL;
  buffer___5.buf = strbuf_slopbuf;
  report_path.alloc = 0UL;
  report_path.len = 0UL;
  report_path.buf = strbuf_slopbuf;
  report___3 = -1;
  tmp = time((time_t *)((void *)0));
  now = tmp;
  option_output = (char *)((void *)0);
  option_suffix = "%Y-%m-%d-%H%M";
  user_relative_path = (char const   *)((void *)0);
  bugreport_options[0].type = (enum parse_opt_type )((enum parse_opt_type )9);
  bugreport_options[0].short_name = (int )'o';
  bugreport_options[0].long_name = (char const   *)((char const   *)"output-directory");
  bugreport_options[0].value = (void *)((void *)(& option_output));
  bugreport_options[0].argh = (char const   *)((char const   *)"path");
  bugreport_options[0].help = (char const   *)((char const   *)"specify a destination for the bugreport file");
  bugreport_options[0].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  bugreport_options[0].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  bugreport_options[0].defval = (intptr_t )0L;
  bugreport_options[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  bugreport_options[0].extra = (intptr_t )0L;
  bugreport_options[1].type = (enum parse_opt_type )((enum parse_opt_type )9);
  bugreport_options[1].short_name = (int )'s';
  bugreport_options[1].long_name = (char const   *)((char const   *)"suffix");
  bugreport_options[1].value = (void *)((void *)(& option_suffix));
  bugreport_options[1].argh = (char const   *)((char const   *)"format");
  bugreport_options[1].help = (char const   *)((char const   *)"specify a strftime format suffix for the filename");
  bugreport_options[1].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  bugreport_options[1].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  bugreport_options[1].defval = (intptr_t )0L;
  bugreport_options[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  bugreport_options[1].extra = (intptr_t )0L;
  bugreport_options[2].type = (enum parse_opt_type )((enum parse_opt_type )0);
  bugreport_options[2].short_name = (int )0;
  bugreport_options[2].long_name = (char const   *)((char const   *)0);
  bugreport_options[2].value = (void *)((void *)0);
  bugreport_options[2].argh = (char const   *)((char const   *)0);
  bugreport_options[2].help = (char const   *)((char const   *)0);
  bugreport_options[2].flags = (enum parse_opt_option_flags )0U;
  bugreport_options[2].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  bugreport_options[2].defval = (intptr_t )0L;
  bugreport_options[2].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  bugreport_options[2].extra = (intptr_t )0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(bugreport_options),
                       bugreport_usage, (enum parse_opt_flags )0);
  if (option_output) {
    tmp___0 = option_output;
  } else {
    tmp___0 = "";
  }
  prefixed_filename = prefix_filename(prefix___1, (char const   *)tmp___0);
  strbuf_addstr(& report_path, (char const   *)prefixed_filename);
  strbuf_complete(& report_path, (char )'/');
  strbuf_addstr(& report_path, (char const   *)"git-bugreport-");
  tmp___1 = localtime_r((time_t const   * __restrict  )(& now), (struct tm * __restrict  )(& tm));
  strbuf_addftime(& report_path, (char const   *)option_suffix, (struct tm  const  *)tmp___1,
                  0, 0);
  strbuf_addstr(& report_path, (char const   *)".txt");
  tmp___2 = safe_create_leading_directories(report_path.buf);
  {
  if ((int )tmp___2 == -3) {
    goto case_neg_3;
  }
  if ((int )tmp___2 == 0) {
    goto case_neg_3;
  }
  goto switch_default;
  case_neg_3: /* CIL Label */
  case_0: /* CIL Label */
  goto switch_break;
  switch_default: /* CIL Label */
  tmp___3 = _((char const   *)"could not create leading directories for \'%s\'");
  die((char const   *)tmp___3, report_path.buf);
  switch_break: /* CIL Label */ ;
  }
  get_bug_template(& buffer___5);
  tmp___4 = _((char const   *)"System Info");
  get_header___0(& buffer___5, (char const   *)tmp___4);
  get_system_info(& buffer___5);
  tmp___5 = _((char const   *)"Enabled Hooks");
  get_header___0(& buffer___5, (char const   *)tmp___5);
  get_populated_hooks(& buffer___5, ! startup_info->have_repository);
  report___3 = xopen((char const   *)report_path.buf, 193, 0666);
  tmp___7 = write_in_full(report___3, (void const   *)buffer___5.buf, buffer___5.len);
  if (tmp___7 < 0L) {
    tmp___6 = _((char const   *)"unable to write to %s");
    die_errno((char const   *)tmp___6, report_path.buf);
  }
  close(report___3);
  if (prefix___1) {
    tmp___8 = skip_prefix((char const   *)report_path.buf, prefix___1, & user_relative_path);
    if (! tmp___8) {
      user_relative_path = (char const   *)report_path.buf;
    }
  } else {
    user_relative_path = (char const   *)report_path.buf;
  }
  tmp___9 = _((char const   *)"Created new report at \'%s\'.\n");
  fprintf(stderr, (char const   *)tmp___9, user_relative_path);
  free((void *)prefixed_filename);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___10 = launch_editor((char const   *)report_path.buf, (struct strbuf *)((void *)0),
                           (char const   **)((void *)0));
  if (tmp___10) {
    tmp___11 = 1;
  } else {
    tmp___11 = 0;
  }
  return (tmp___11);
}
}
static char const   *builtin_bundle_usage[5]  = {      (char const   *)"git bundle create [<options>] <file> <git-rev-list args>",      (char const   *)"git bundle verify [<options>] <file>",      (char const   *)"git bundle list-heads <file> [<refname>...]",      (char const   *)"git bundle unbundle <file> [<refname>...]",
        (char const   *)((void *)0)};
static char const   *builtin_bundle_create_usage[2]  = {      (char const   *)"git bundle create [<options>] <file> <git-rev-list args>",      (char const   *)((void *)0)};
static char const   *builtin_bundle_verify_usage[2]  = {      (char const   *)"git bundle verify [<options>] <file>",      (char const   *)((void *)0)};
static char const   *builtin_bundle_list_heads_usage[2]  = {      (char const   *)"git bundle list-heads <file> [<refname>...]",      (char const   *)((void *)0)};
static char const   *builtin_bundle_unbundle_usage[2]  = {      (char const   *)"git bundle unbundle <file> [<refname>...]",      (char const   *)((void *)0)};
static int parse_options_cmd_bundle(int argc , char const   **argv___0 , char const   *prefix___1 ,
                                    char const   **usagestr , struct option  const  *options ,
                                    char **bundle_file )
{
  int newargc ;

  {
  newargc = parse_options(argc, argv___0, (char const   *)((void *)0), options, usagestr,
                          (enum parse_opt_flags )2);
  if (argc < 1) {
    usage_with_options(usagestr, options);
  }
  *bundle_file = prefix_filename(prefix___1, *(argv___0 + 0));
  return (newargc);
}
}
static int cmd_bundle_create(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int all_progress_implied ;
  int progress___7 ;
  int tmp ;
  struct strvec pack_opts ;
  int version___0 ;
  int ret___67 ;
  struct option options[6] ;
  char *bundle_file ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  all_progress_implied = 0;
  tmp = isatty(2);
  progress___7 = tmp;
  version___0 = -1;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 'q';
  options[0].long_name = (char const   *)"quiet";
  options[0].value = (void *)(& progress___7);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"do not show progress meter";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )0;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"progress";
  options[1].value = (void *)(& progress___7);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"show progress meter";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"all-progress";
  options[2].value = (void *)(& progress___7);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"show progress meter during object writing phase";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )2;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"all-progress-implied";
  options[3].value = (void *)(& all_progress_implied);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"similar to --all-progress when progress meter is shown";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )1;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )10;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"version";
  options[4].value = (void *)(& version___0);
  options[4].argh = (char const   *)"n";
  options[4].help = (char const   *)"specify bundle format version";
  options[4].flags = (enum parse_opt_option_flags )0;
  options[4].callback = (parse_opt_cb *)0;
  options[4].defval = 0L;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )0;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)0;
  options[5].value = (void *)0;
  options[5].argh = (char const   *)0;
  options[5].help = (char const   *)0;
  options[5].flags = 0U;
  options[5].callback = (parse_opt_cb *)0;
  options[5].defval = 0L;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  argc = parse_options_cmd_bundle(argc, argv___0, prefix___1, builtin_bundle_create_usage,
                                  (struct option  const  *)(options), & bundle_file);
  strvec_init(& pack_opts);
  if (progress___7 == 0) {
    strvec_push(& pack_opts, (char const   *)"--quiet");
  } else
  if (progress___7 == 1) {
    strvec_push(& pack_opts, (char const   *)"--progress");
  } else
  if (progress___7 == 2) {
    strvec_push(& pack_opts, (char const   *)"--all-progress");
  }
  if (progress___7) {
    if (all_progress_implied) {
      strvec_push(& pack_opts, (char const   *)"--all-progress-implied");
    }
  }
  if (! startup_info->have_repository) {
    tmp___0 = _((char const   *)"Need a repository to create a bundle.");
    die((char const   *)tmp___0);
  }
  tmp___1 = create_bundle(the_repository, (char const   *)bundle_file, argc, argv___0,
                          & pack_opts, version___0);
  if (tmp___1) {
    tmp___2 = 1;
  } else {
    tmp___2 = 0;
  }
  ret___67 = tmp___2;
  free((void *)bundle_file);
  return (ret___67);
}
}
static int cmd_bundle_verify(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct bundle_header header___0 ;
  int bundle_fd ;
  int quiet___7 ;
  int ret___67 ;
  struct option options[2] ;
  char *bundle_file ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  header___0.version = 0U;
  header___0.prerequisites.items = (struct string_list_item *)0;
  header___0.prerequisites.nr = 0U;
  header___0.prerequisites.alloc = 0U;
  header___0.prerequisites.strdup_strings = 1U;
  header___0.prerequisites.cmp = (int (*)(char const   * , char const   * ))0;
  header___0.references.items = (struct string_list_item *)0;
  header___0.references.nr = 0U;
  header___0.references.alloc = 0U;
  header___0.references.strdup_strings = 1U;
  header___0.references.cmp = (int (*)(char const   * , char const   * ))0;
  header___0.hash_algo = (struct git_hash_algo  const  *)0;
  bundle_fd = -1;
  quiet___7 = 0;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 'q';
  options[0].long_name = (char const   *)"quiet";
  options[0].value = (void *)(& quiet___7);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"do not show bundle details";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )0;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)0;
  options[1].value = (void *)0;
  options[1].argh = (char const   *)0;
  options[1].help = (char const   *)0;
  options[1].flags = 0U;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  argc = parse_options_cmd_bundle(argc, argv___0, prefix___1, builtin_bundle_verify_usage,
                                  (struct option  const  *)(options), & bundle_file);
  bundle_fd = read_bundle_header((char const   *)bundle_file, & header___0);
  if (bundle_fd < 0) {
    ret___67 = 1;
    goto cleanup;
  }
  close(bundle_fd);
  tmp = verify_bundle(the_repository, & header___0, ! quiet___7);
  if (tmp) {
    ret___67 = 1;
    goto cleanup;
  }
  tmp___0 = _((char const   *)"%s is okay\n");
  fprintf(stderr, (char const   *)tmp___0, bundle_file);
  ret___67 = 0;
  cleanup:
  free((void *)bundle_file);
  bundle_header_release(& header___0);
  return (ret___67);
}
}
static int cmd_bundle_list_heads(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct bundle_header header___0 ;
  int bundle_fd ;
  int ret___67 ;
  struct option options[1] ;
  char *bundle_file ;
  int tmp ;
  int tmp___0 ;

  {
  header___0.version = 0U;
  header___0.prerequisites.items = (struct string_list_item *)0;
  header___0.prerequisites.nr = 0U;
  header___0.prerequisites.alloc = 0U;
  header___0.prerequisites.strdup_strings = 1U;
  header___0.prerequisites.cmp = (int (*)(char const   * , char const   * ))0;
  header___0.references.items = (struct string_list_item *)0;
  header___0.references.nr = 0U;
  header___0.references.alloc = 0U;
  header___0.references.strdup_strings = 1U;
  header___0.references.cmp = (int (*)(char const   * , char const   * ))0;
  header___0.hash_algo = (struct git_hash_algo  const  *)0;
  bundle_fd = -1;
  options[0].type = (enum parse_opt_type )0;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)0;
  options[0].value = (void *)0;
  options[0].argh = (char const   *)0;
  options[0].help = (char const   *)0;
  options[0].flags = 0U;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  argc = parse_options_cmd_bundle(argc, argv___0, prefix___1, builtin_bundle_list_heads_usage,
                                  (struct option  const  *)(options), & bundle_file);
  bundle_fd = read_bundle_header((char const   *)bundle_file, & header___0);
  if (bundle_fd < 0) {
    ret___67 = 1;
    goto cleanup;
  }
  close(bundle_fd);
  tmp = list_bundle_refs(& header___0, argc, argv___0);
  if (tmp) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  ret___67 = tmp___0;
  cleanup:
  free((void *)bundle_file);
  bundle_header_release(& header___0);
  return (ret___67);
}
}
static int cmd_bundle_unbundle(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct bundle_header header___0 ;
  int bundle_fd ;
  int ret___67 ;
  int progress___7 ;
  int tmp ;
  struct option options[2] ;
  char *bundle_file ;
  struct strvec extra_index_pack_args ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  header___0.version = 0U;
  header___0.prerequisites.items = (struct string_list_item *)0;
  header___0.prerequisites.nr = 0U;
  header___0.prerequisites.alloc = 0U;
  header___0.prerequisites.strdup_strings = 1U;
  header___0.prerequisites.cmp = (int (*)(char const   * , char const   * ))0;
  header___0.references.items = (struct string_list_item *)0;
  header___0.references.nr = 0U;
  header___0.references.alloc = 0U;
  header___0.references.strdup_strings = 1U;
  header___0.references.cmp = (int (*)(char const   * , char const   * ))0;
  header___0.hash_algo = (struct git_hash_algo  const  *)0;
  bundle_fd = -1;
  tmp = isatty(2);
  progress___7 = tmp;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"progress";
  options[0].value = (void *)(& progress___7);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"show progress meter";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )0;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)0;
  options[1].value = (void *)0;
  options[1].argh = (char const   *)0;
  options[1].help = (char const   *)0;
  options[1].flags = 0U;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  extra_index_pack_args.v = empty_strvec;
  extra_index_pack_args.nr = 0UL;
  extra_index_pack_args.alloc = 0UL;
  argc = parse_options_cmd_bundle(argc, argv___0, prefix___1, builtin_bundle_unbundle_usage,
                                  (struct option  const  *)(options), & bundle_file);
  bundle_fd = read_bundle_header((char const   *)bundle_file, & header___0);
  if (bundle_fd < 0) {
    ret___67 = 1;
    goto cleanup;
  }
  if (! startup_info->have_repository) {
    tmp___0 = _((char const   *)"Need a repository to unbundle.");
    die((char const   *)tmp___0);
  }
  if (progress___7) {
    tmp___1 = _((char const   *)"Unbundling objects");
    strvec_pushl(& extra_index_pack_args, "-v", "--progress-title", tmp___1, (void *)0);
  }
  tmp___2 = unbundle(the_repository, & header___0, bundle_fd, & extra_index_pack_args);
  if (tmp___2) {
    tmp___4 = 1;
  } else {
    tmp___3 = list_bundle_refs(& header___0, argc, argv___0);
    if (tmp___3) {
      tmp___4 = 1;
    } else {
      tmp___4 = 0;
    }
  }
  ret___67 = tmp___4;
  bundle_header_release(& header___0);
  cleanup:
  free((void *)bundle_file);
  return (ret___67);
}
}
int cmd_bundle(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct option options[1] ;
  int result___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  options[0].type = (enum parse_opt_type )0;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)0;
  options[0].value = (void *)0;
  options[0].argh = (char const   *)0;
  options[0].help = (char const   *)0;
  options[0].flags = 0U;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       builtin_bundle_usage, (enum parse_opt_flags )2);
  packet_trace_identity((char const   *)"bundle");
  if (argc < 2) {
    usage_with_options(builtin_bundle_usage, (struct option  const  *)(options));
  } else {
    tmp___3 = strcmp(*(argv___0 + 0), (char const   *)"create");
    if (tmp___3) {
      tmp___2 = strcmp(*(argv___0 + 0), (char const   *)"verify");
      if (tmp___2) {
        tmp___1 = strcmp(*(argv___0 + 0), (char const   *)"list-heads");
        if (tmp___1) {
          tmp___0 = strcmp(*(argv___0 + 0), (char const   *)"unbundle");
          if (tmp___0) {
            tmp = _((char const   *)"Unknown subcommand: %s");
            error((char const   *)tmp, *(argv___0 + 0));
            const_error();
            usage_with_options(builtin_bundle_usage, (struct option  const  *)(options));
          } else {
            result___0 = cmd_bundle_unbundle(argc, argv___0, prefix___1);
          }
        } else {
          result___0 = cmd_bundle_list_heads(argc, argv___0, prefix___1);
        }
      } else {
        result___0 = cmd_bundle_verify(argc, argv___0, prefix___1);
      }
    } else {
      result___0 = cmd_bundle_create(argc, argv___0, prefix___1);
    }
  }
  if (result___0) {
    tmp___4 = 1;
  } else {
    tmp___4 = 0;
  }
  return (tmp___4);
}
}
static double const   __ac_HASH_UPPER___108  =    (double const   )0.77;
__inline static void kh_resize_oid_set___108(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___108(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___108 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___108 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___108(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___108(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___108(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___108(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___108(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___108(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___108 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___108 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___108(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___108(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___108(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___108(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___108(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___108(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___108 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___108 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___108(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___108(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___108(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___108(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___80(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___80(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___108 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___108 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___80(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___80(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___80(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___80(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *force_path  ;
static int filter_object(char const   *path___6 , unsigned int mode___1 , struct object_id  const  *oid ,
                         char **buf___19 , unsigned long *size )
{
  enum object_type type___0 ;
  void *tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  struct strbuf strbuf ;
  struct checkout_metadata meta ;
  int tmp___3 ;

  {
  tmp = repo_read_object_file(the_repository, oid, & type___0, size);
  *buf___19 = (char *)tmp;
  if (! *buf___19) {
    tmp___0 = oid_to_hex(oid);
    tmp___1 = _((char const   *)"cannot read object %s \'%s\'");
    error((char const   *)tmp___1, tmp___0, path___6);
    tmp___2 = const_error();
    return (tmp___2);
  }
  if ((int )type___0 == 3) {
    if ((mode___1 & 61440U) == 32768U) {
      strbuf.alloc = 0UL;
      strbuf.len = 0UL;
      strbuf.buf = strbuf_slopbuf;
      init_checkout_metadata(& meta, (char const   *)((void *)0), (struct object_id  const  *)((void *)0),
                             oid);
      tmp___3 = convert_to_working_tree(& the_index, path___6, (char const   *)*buf___19,
                                        *size, & strbuf, (struct checkout_metadata  const  *)(& meta));
      if (tmp___3) {
        free((void *)*buf___19);
        *size = strbuf.len;
        *buf___19 = strbuf_detach(& strbuf, (size_t *)((void *)0));
      }
    }
  }
  return (0);
}
}
static int stream_blob(struct object_id  const  *oid )
{
  char *tmp ;
  int tmp___0 ;

  {
  tmp___0 = stream_blob_to_fd(1, oid, (struct stream_filter *)((void *)0), 0);
  if (tmp___0) {
    tmp = oid_to_hex(oid);
    die((char const   *)"unable to stream %s to stdout", tmp);
  }
  return (0);
}
}
static int cat_one_file(int opt___0 , char const   *exp_type , char const   *obj_name ,
                        int unknown_type )
{
  struct object_id oid ;
  enum object_type type___0 ;
  char *buf___19 ;
  unsigned long size ;
  struct object_context obj_context ;
  struct object_info oi___0 ;
  struct strbuf sb___6 ;
  unsigned int flags___0 ;
  char const   *path___6 ;
  enum get_oid_result tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const   *ls_args[3] ;
  unsigned int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  void *tmp___10 ;
  struct object_id blob_oid ;
  char *buffer___5 ;
  void *tmp___11 ;
  char const   *target ;
  char *tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  void *tmp___19 ;

  {
  oi___0.typep = (enum object_type *)0;
  oi___0.sizep = (unsigned long *)0;
  oi___0.disk_sizep = (off_t *)0;
  oi___0.delta_base_oid = (struct object_id *)0;
  oi___0.type_name = (struct strbuf *)0;
  oi___0.contentp = (void **)0;
  oi___0.whence = 0U;
  oi___0.u.packed.pack = (struct packed_git *)0;
  oi___0.u.packed.offset = 0L;
  oi___0.u.packed.is_delta = 0U;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  flags___0 = 1U;
  path___6 = force_path;
  if (unknown_type) {
    flags___0 |= 2U;
  }
  tmp = get_oid_with_context(the_repository, obj_name, 128U, & oid, & obj_context);
  if (tmp) {
    die((char const   *)"Not a valid object name %s", obj_name);
  }
  if (! path___6) {
    path___6 = (char const   *)obj_context.path;
  }
  if ((int )obj_context.mode == 0030000) {
    obj_context.mode = (unsigned short)33188;
  }
  buf___19 = (char *)((void *)0);
  {
  if (opt___0 == 116) {
    goto case_116;
  }
  if (opt___0 == 115) {
    goto case_115;
  }
  if (opt___0 == 101) {
    goto case_101;
  }
  if (opt___0 == 119) {
    goto case_119;
  }
  if (opt___0 == 99) {
    goto case_99;
  }
  if (opt___0 == 112) {
    goto case_112;
  }
  if (opt___0 == 0) {
    goto case_0;
  }
  goto switch_default;
  case_116: /* CIL Label */
  oi___0.type_name = & sb___6;
  tmp___0 = oid_object_info_extended(the_repository, (struct object_id  const  *)(& oid),
                                     & oi___0, flags___0);
  if (tmp___0 < 0) {
    die((char const   *)"git cat-file: could not get object info");
  }
  if (sb___6.len) {
    printf((char const   *)"%s\n", sb___6.buf);
    strbuf_release(& sb___6);
    return (0);
  }
  goto switch_break;
  case_115: /* CIL Label */
  oi___0.sizep = & size;
  tmp___1 = oid_object_info_extended(the_repository, (struct object_id  const  *)(& oid),
                                     & oi___0, flags___0);
  if (tmp___1 < 0) {
    die((char const   *)"git cat-file: could not get object info");
  }
  printf((char const   *)"%lu\n", size);
  return (0);
  case_101: /* CIL Label */
  tmp___2 = repo_has_object_file(the_repository, (struct object_id  const  *)(& oid));
  if (tmp___2) {
    tmp___3 = 0;
  } else {
    tmp___3 = 1;
  }
  return (tmp___3);
  case_119: /* CIL Label */
  if (! path___6) {
    die((char const   *)"git cat-file --filters %s: <object> must be <sha1:path>",
        obj_name);
  }
  tmp___4 = filter_object(path___6, (unsigned int )obj_context.mode, (struct object_id  const  *)(& oid),
                          & buf___19, & size);
  if (tmp___4) {
    return (-1);
  }
  goto switch_break;
  case_99: /* CIL Label */
  if (! path___6) {
    die((char const   *)"git cat-file --textconv %s: <object> must be <sha1:path>",
        obj_name);
  }
  tmp___5 = textconv_object(the_repository, path___6, (unsigned int )obj_context.mode,
                            (struct object_id  const  *)(& oid), 1, & buf___19, & size);
  if (tmp___5) {
    goto switch_break;
  }
  case_112: /* CIL Label */
  tmp___6 = oid_object_info(the_repository, (struct object_id  const  *)(& oid), (unsigned long *)((void *)0));
  type___0 = (enum object_type )tmp___6;
  if ((int )type___0 < 0) {
    die((char const   *)"Not a valid object name %s", obj_name);
  }
  if ((int )type___0 == 2) {
    ls_args[0] = (char const   *)((void *)0);
    tmp___7 = 1U;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (tmp___7 >= 3U) {
        goto while_break;
      }
      ls_args[tmp___7] = (char const   *)0;
      tmp___7 ++;
    }
    while_break: /* CIL Label */ ;
    }
    ls_args[0] = (char const   *)"ls-tree";
    ls_args[1] = obj_name;
    tmp___8 = cmd_ls_tree(2, ls_args, (char const   *)((void *)0));
    return (tmp___8);
  }
  if ((int )type___0 == 3) {
    tmp___9 = stream_blob((struct object_id  const  *)(& oid));
    return (tmp___9);
  }
  tmp___10 = repo_read_object_file(the_repository, (struct object_id  const  *)(& oid),
                                   & type___0, & size);
  buf___19 = (char *)tmp___10;
  if (! buf___19) {
    die((char const   *)"Cannot read object %s", obj_name);
  }
  goto switch_break;
  case_0: /* CIL Label */
  tmp___18 = type_from_string_gently(exp_type, (ssize_t )-1, 0);
  if (tmp___18 == 3) {
    tmp___15 = oid_object_info(the_repository, (struct object_id  const  *)(& oid),
                               (unsigned long *)((void *)0));
    if (tmp___15 == 4) {
      tmp___11 = repo_read_object_file(the_repository, (struct object_id  const  *)(& oid),
                                       & type___0, & size);
      buffer___5 = (char *)tmp___11;
      tmp___13 = skip_prefix((char const   *)buffer___5, (char const   *)"object ",
                             & target);
      if (tmp___13) {
        tmp___14 = get_oid_hex(target, & blob_oid);
        if (tmp___14) {
          tmp___12 = oid_to_hex((struct object_id  const  *)(& oid));
          die((char const   *)"%s not a valid tag", tmp___12);
        }
      } else {
        tmp___12 = oid_to_hex((struct object_id  const  *)(& oid));
        die((char const   *)"%s not a valid tag", tmp___12);
      }
      free((void *)buffer___5);
    } else {
      oidcpy(& blob_oid, (struct object_id  const  *)(& oid));
    }
    tmp___17 = oid_object_info(the_repository, (struct object_id  const  *)(& blob_oid),
                               (unsigned long *)((void *)0));
    if (tmp___17 == 3) {
      tmp___16 = stream_blob((struct object_id  const  *)(& blob_oid));
      return (tmp___16);
    }
  }
  tmp___19 = read_object_with_reference(the_repository, (struct object_id  const  *)(& oid),
                                        exp_type, & size, (struct object_id *)((void *)0));
  buf___19 = (char *)tmp___19;
  goto switch_break;
  switch_default: /* CIL Label */
  die((char const   *)"git cat-file: unknown option: %s", exp_type);
  switch_break: /* CIL Label */ ;
  }
  if (! buf___19) {
    die((char const   *)"git cat-file %s: bad file", obj_name);
  }
  write_or_die(1, (void const   *)buf___19, size);
  free((void *)buf___19);
  free((void *)obj_context.path);
  return (0);
}
}
static int is_atom(char const   *atom , char const   *s___1 , int slen )
{
  int alen ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = strlen(atom);
  alen = (int )tmp;
  if (alen == slen) {
    tmp___0 = memcmp((void const   *)atom, (void const   *)s___1, (size_t )alen);
    if (tmp___0) {
      tmp___1 = 0;
    } else {
      tmp___1 = 1;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static void expand_atom(struct strbuf *sb___6 , char const   *atom , int len___0 ,
                        void *vdata )
{
  struct expand_data___0 *data ;
  char *tmp ;
  char const   *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  data = (struct expand_data___0 *)vdata;
  tmp___7 = is_atom((char const   *)"objectname", atom, len___0);
  if (tmp___7) {
    if (! data->mark_query) {
      tmp = oid_to_hex((struct object_id  const  *)(& data->oid));
      strbuf_addstr(sb___6, (char const   *)tmp);
    }
  } else {
    tmp___6 = is_atom((char const   *)"objecttype", atom, len___0);
    if (tmp___6) {
      if (data->mark_query) {
        data->info.typep = & data->type;
      } else {
        tmp___0 = type_name((unsigned int )data->type);
        strbuf_addstr(sb___6, tmp___0);
      }
    } else {
      tmp___5 = is_atom((char const   *)"objectsize", atom, len___0);
      if (tmp___5) {
        if (data->mark_query) {
          data->info.sizep = & data->size;
        } else {
          strbuf_addf(sb___6, (char const   *)"%lu", data->size);
        }
      } else {
        tmp___4 = is_atom((char const   *)"objectsize:disk", atom, len___0);
        if (tmp___4) {
          if (data->mark_query) {
            data->info.disk_sizep = & data->disk_size;
          } else {
            strbuf_addf(sb___6, (char const   *)"%lu", (uintmax_t )data->disk_size);
          }
        } else {
          tmp___3 = is_atom((char const   *)"rest", atom, len___0);
          if (tmp___3) {
            if (data->mark_query) {
              data->split_on_whitespace = 1;
            } else
            if (data->rest) {
              strbuf_addstr(sb___6, data->rest);
            }
          } else {
            tmp___2 = is_atom((char const   *)"deltabase", atom, len___0);
            if (tmp___2) {
              if (data->mark_query) {
                data->info.delta_base_oid = & data->delta_base_oid;
              } else {
                tmp___1 = oid_to_hex((struct object_id  const  *)(& data->delta_base_oid));
                strbuf_addstr(sb___6, (char const   *)tmp___1);
              }
            } else {
              die((char const   *)"unknown format element: %.*s", len___0, atom);
            }
          }
        }
      }
    }
  }
  return;
}
}
static size_t expand_format(struct strbuf *sb___6 , char const   *start , void *data )
{
  char const   *end ;
  char *tmp ;

  {
  if ((int const   )*start != 40) {
    return ((size_t )0);
  }
  tmp = strchr(start + 1, ')');
  end = (char const   *)tmp;
  if (! end) {
    die((char const   *)"format element \'%s\' does not end in \')\'", start);
  }
  expand_atom(sb___6, start + 1, (int )((end - start) - 1L), data);
  return ((size_t )((end - start) + 1L));
}
}
static void batch_write(struct batch_options *opt___0 , void const   *data , int len___0 )
{
  size_t tmp ;

  {
  if (opt___0->buffer_output) {
    tmp = fwrite((void const   * __restrict  )data, (size_t )1, (size_t )len___0,
                 (FILE * __restrict  )stdout);
    if (tmp != (size_t )len___0) {
      die_errno((char const   *)"unable to write to stdout");
    }
  } else {
    write_or_die(1, data, (size_t )len___0);
  }
  return;
}
}
static void print_object_or_die(struct batch_options *opt___0 , struct expand_data___0 *data )
{
  struct object_id  const  *oid ;
  char *contents ;
  unsigned long size ;
  char *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  enum object_type type___0 ;
  void *tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;
  enum object_type type___1 ;
  unsigned long size___0 ;
  void *contents___0 ;
  char *tmp___5 ;
  char *tmp___6 ;
  char *tmp___7 ;

  {
  oid = (struct object_id  const  *)(& data->oid);
  assert((int )data->info.typep);
  if ((int )data->type == 3) {
    if (opt___0->buffer_output) {
      fflush(stdout);
    }
    if (opt___0->cmdmode) {
      if (! data->rest) {
        tmp = oid_to_hex(oid);
        die((char const   *)"missing path for \'%s\'", tmp);
      }
      if (opt___0->cmdmode == 119) {
        tmp___1 = filter_object(data->rest, 33188U, oid, & contents, & size);
        if (tmp___1) {
          tmp___0 = oid_to_hex(oid);
          die((char const   *)"could not convert \'%s\' %s", tmp___0, data->rest);
        }
      } else
      if (opt___0->cmdmode == 99) {
        tmp___3 = textconv_object(the_repository, data->rest, 33188U, oid, 1, & contents,
                                  & size);
        if (! tmp___3) {
          tmp___2 = repo_read_object_file(the_repository, oid, & type___0, & size);
          contents = (char *)tmp___2;
        }
        if (! contents) {
          tmp___4 = oid_to_hex(oid);
          die((char const   *)"could not convert \'%s\' %s", tmp___4, data->rest);
        }
      } else {
        BUG_fl((char const   *)"builtin/cat-file.c", 333, (char const   *)"invalid cmdmode: %c",
               opt___0->cmdmode);
      }
      batch_write(opt___0, (void const   *)contents, (int )size);
      free((void *)contents);
    } else {
      stream_blob(oid);
    }
  } else {
    contents___0 = repo_read_object_file(the_repository, oid, & type___1, & size___0);
    if (! contents___0) {
      tmp___5 = oid_to_hex(oid);
      die((char const   *)"object %s disappeared", tmp___5);
    }
    if ((int )type___1 != (int )data->type) {
      tmp___6 = oid_to_hex(oid);
      die((char const   *)"object %s changed type!?", tmp___6);
    }
    if (data->info.sizep) {
      if (size___0 != data->size) {
        tmp___7 = oid_to_hex(oid);
        die((char const   *)"object %s changed size!?", tmp___7);
      }
    }
    batch_write(opt___0, (void const   *)contents___0, (int )size___0);
    free(contents___0);
  }
  return;
}
}
static void batch_object_write(char const   *obj_name , struct strbuf *scratch , struct batch_options *opt___0 ,
                               struct expand_data___0 *data , struct packed_git *pack___0 ,
                               off_t offset___2 )
{
  int ret___67 ;
  char *tmp ;
  char const   *tmp___0 ;

  {
  if (! data->skip_object_info) {
    if (pack___0) {
      ret___67 = packed_object_info(the_repository, pack___0, offset___2, & data->info);
    } else {
      ret___67 = oid_object_info_extended(the_repository, (struct object_id  const  *)(& data->oid),
                                          & data->info, 1U);
    }
    if (ret___67 < 0) {
      if (obj_name) {
        tmp___0 = obj_name;
      } else {
        tmp = oid_to_hex((struct object_id  const  *)(& data->oid));
        tmp___0 = (char const   *)tmp;
      }
      printf((char const   *)"%s missing\n", tmp___0);
      fflush(stdout);
      return;
    }
  }
  strbuf_setlen___33(scratch, (size_t )0);
  strbuf_expand(scratch, opt___0->format, & expand_format, (void *)data);
  strbuf_addch(scratch, '\n');
  batch_write(opt___0, (void const   *)scratch->buf, (int )scratch->len);
  if (opt___0->print_contents) {
    print_object_or_die(opt___0, data);
    batch_write(opt___0, (void const   *)"\n", 1);
  }
  return;
}
}
static void batch_one_object(char const   *obj_name , struct strbuf *scratch , struct batch_options *opt___0 ,
                             struct expand_data___0 *data )
{
  struct object_context ctx___0 ;
  int flags___0 ;
  int tmp ;
  enum get_oid_result result___0 ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;

  {
  if (opt___0->follow_symlinks) {
    tmp = 0100;
  } else {
    tmp = 0;
  }
  flags___0 = tmp;
  result___0 = get_oid_with_context(the_repository, obj_name, (unsigned int )flags___0,
                                    & data->oid, & ctx___0);
  if ((int )result___0 != 0) {
    {
    if ((int )result___0 == -1) {
      goto case_neg_1;
    }
    if ((int )result___0 == -2) {
      goto case_neg_2;
    }
    if ((int )result___0 == -4) {
      goto case_neg_4;
    }
    if ((int )result___0 == -5) {
      goto case_neg_5;
    }
    if ((int )result___0 == -6) {
      goto case_neg_6;
    }
    goto switch_default;
    case_neg_1: /* CIL Label */
    printf((char const   *)"%s missing\n", obj_name);
    goto switch_break;
    case_neg_2: /* CIL Label */
    printf((char const   *)"%s ambiguous\n", obj_name);
    goto switch_break;
    case_neg_4: /* CIL Label */
    tmp___0 = strlen(obj_name);
    printf((char const   *)"dangling %lu\n%s\n", tmp___0, obj_name);
    goto switch_break;
    case_neg_5: /* CIL Label */
    tmp___1 = strlen(obj_name);
    printf((char const   *)"loop %lu\n%s\n", tmp___1, obj_name);
    goto switch_break;
    case_neg_6: /* CIL Label */
    tmp___2 = strlen(obj_name);
    printf((char const   *)"notdir %lu\n%s\n", tmp___2, obj_name);
    goto switch_break;
    switch_default: /* CIL Label */
    BUG_fl((char const   *)"builtin/cat-file.c", 432, (char const   *)"unknown get_sha1_with_context result %d\n",
           (int )result___0);
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    fflush(stdout);
    return;
  }
  if ((int )ctx___0.mode == 0) {
    printf((char const   *)"symlink %lu\n%s\n", ctx___0.symlink_path.len, ctx___0.symlink_path.buf);
    fflush(stdout);
    return;
  }
  batch_object_write(obj_name, scratch, opt___0, data, (struct packed_git *)((void *)0),
                     (off_t )0);
  return;
}
}
static int batch_object_cb(struct object_id  const  *oid , void *vdata )
{
  struct object_cb_data *data ;

  {
  data = (struct object_cb_data *)vdata;
  oidcpy(& (data->expand)->oid, oid);
  batch_object_write((char const   *)((void *)0), data->scratch, data->opt, data->expand,
                     (struct packed_git *)((void *)0), (off_t )0);
  return (0);
}
}
static int collect_loose_object(struct object_id  const  *oid , char const   *path___6 ,
                                void *data )
{


  {
  oid_array_append((struct oid_array *)data, oid);
  return (0);
}
}
static int collect_packed_object(struct object_id  const  *oid , struct packed_git *pack___0 ,
                                 uint32_t pos , void *data )
{


  {
  oid_array_append((struct oid_array *)data, oid);
  return (0);
}
}
static int batch_unordered_object(struct object_id  const  *oid , struct packed_git *pack___0 ,
                                  off_t offset___2 , void *vdata )
{
  struct object_cb_data *data ;
  int tmp ;

  {
  data = (struct object_cb_data *)vdata;
  tmp = oidset_insert(data->seen, oid);
  if (tmp) {
    return (0);
  }
  oidcpy(& (data->expand)->oid, oid);
  batch_object_write((char const   *)((void *)0), data->scratch, data->opt, data->expand,
                     pack___0, offset___2);
  return (0);
}
}
static int batch_unordered_loose(struct object_id  const  *oid , char const   *path___6 ,
                                 void *data )
{
  int tmp ;

  {
  tmp = batch_unordered_object(oid, (struct packed_git *)((void *)0), (off_t )0, data);
  return (tmp);
}
}
static int batch_unordered_packed(struct object_id  const  *oid , struct packed_git *pack___0 ,
                                  uint32_t pos , void *data )
{
  off_t tmp ;
  int tmp___0 ;

  {
  tmp = nth_packed_object_offset((struct packed_git  const  *)pack___0, pos);
  tmp___0 = batch_unordered_object(oid, pack___0, tmp, data);
  return (tmp___0);
}
}
static int batch_objects(struct batch_options *opt___0 )
{
  struct strbuf input ;
  struct strbuf output___4 ;
  struct expand_data___0 data ;
  int save_warning ;
  int retval ;
  struct object_cb_data cb ;
  struct object_info empty ;
  int tmp ;
  int tmp___0 ;
  struct oidset seen___0 ;
  struct oid_array sa ;
  char *p___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;

  {
  input.alloc = 0UL;
  input.len = 0UL;
  input.buf = strbuf_slopbuf;
  output___4.alloc = 0UL;
  output___4.len = 0UL;
  output___4.buf = strbuf_slopbuf;
  retval = 0;
  if (! opt___0->format) {
    opt___0->format = (char const   *)"%(objectname) %(objecttype) %(objectsize)";
  }
  memset((void *)(& data), 0, sizeof(data));
  data.mark_query = 1;
  strbuf_expand(& output___4, opt___0->format, & expand_format, (void *)(& data));
  data.mark_query = 0;
  strbuf_release(& output___4);
  if (opt___0->cmdmode) {
    data.split_on_whitespace = 1;
  }
  if (opt___0->print_contents) {
    data.info.typep = & data.type;
  }
  if (opt___0->all_objects) {
    empty.typep = (enum object_type *)0;
    empty.sizep = (unsigned long *)0;
    empty.disk_sizep = (off_t *)0;
    empty.delta_base_oid = (struct object_id *)0;
    empty.type_name = (struct strbuf *)0;
    empty.contentp = (void **)0;
    empty.whence = 0U;
    empty.u.packed.pack = (struct packed_git *)0;
    empty.u.packed.offset = 0L;
    empty.u.packed.is_delta = 0U;
    tmp = memcmp((void const   *)(& data.info), (void const   *)(& empty), sizeof(empty));
    if (! tmp) {
      data.skip_object_info = 1U;
    }
    tmp___0 = has_promisor_remote();
    if (tmp___0) {
      warning((char const   *)"This repository uses promisor remotes. Some objects may not be loaded.");
    }
    read_replace_refs = 0;
    cb.opt = opt___0;
    cb.expand = & data;
    cb.scratch = & output___4;
    if (opt___0->unordered) {
      seen___0.set.n_buckets = (khint_t )0;
      seen___0.set.size = 0U;
      seen___0.set.n_occupied = 0U;
      seen___0.set.upper_bound = 0U;
      seen___0.set.flags = (khint32_t *)0;
      seen___0.set.keys = (struct object_id *)0;
      seen___0.set.vals = (int *)0;
      cb.seen = & seen___0;
      for_each_loose_object(& batch_unordered_loose, (void *)(& cb), (enum for_each_object_flags )0);
      for_each_packed_object(& batch_unordered_packed, (void *)(& cb), (enum for_each_object_flags )4);
      oidset_clear(& seen___0);
    } else {
      sa.oid = (struct object_id *)0;
      sa.nr = 0UL;
      sa.alloc = 0UL;
      sa.sorted = 0;
      for_each_loose_object(& collect_loose_object, (void *)(& sa), (enum for_each_object_flags )0);
      for_each_packed_object(& collect_packed_object, (void *)(& sa), (enum for_each_object_flags )0);
      oid_array_for_each_unique(& sa, & batch_object_cb, (void *)(& cb));
      oid_array_clear(& sa);
    }
    strbuf_release(& output___4);
    return (0);
  }
  save_warning = warn_on_object_refname_ambiguity;
  warn_on_object_refname_ambiguity = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___4 = strbuf_getline(& input, stdin);
    if (! (tmp___4 != -1)) {
      goto while_break;
    }
    if (data.split_on_whitespace) {
      tmp___1 = strpbrk((char const   *)input.buf, (char const   *)" \t");
      p___0 = tmp___1;
      if (p___0) {
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          if (*p___0) {
            tmp___3 = strchr((char const   *)" \t", (int )*p___0);
            if (! tmp___3) {
              goto while_break___0;
            }
          } else {
            goto while_break___0;
          }
          tmp___2 = p___0;
          p___0 ++;
          *tmp___2 = (char )'\000';
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      data.rest = (char const   *)p___0;
    }
    batch_one_object((char const   *)input.buf, & output___4, opt___0, & data);
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& input);
  strbuf_release(& output___4);
  warn_on_object_refname_ambiguity = save_warning;
  return (retval);
}
}
static char const   *cat_file_usage[3]  = {      (char const   *)"git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | <type> | --textconv | --filters) [--path=<path>] <object>",      (char const   *)"git cat-file (--batch[=<format>] | --batch-check[=<format>]) [--follow-symlinks] [--textconv | --filters]",      (char const   *)((void *)0)};
static int git_cat_file_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = userdiff_config(var, value);
  if (tmp < 0) {
    return (-1);
  }
  tmp___0 = git_default_config(var, value, cb);
  return (tmp___0);
}
}
static int batch_option_callback(struct option  const  *opt___0 , char const   *arg ,
                                 int unset )
{
  struct batch_options *bo ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  bo = (struct batch_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/cat-file.c", 641, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (bo->enabled) {
    tmp = _((char const   *)"only one batch option may be specified");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  bo->enabled = 1;
  tmp___1 = strcmp((char const   *)opt___0->long_name, (char const   *)"batch");
  if (tmp___1) {
    tmp___2 = 0;
  } else {
    tmp___2 = 1;
  }
  bo->print_contents = tmp___2;
  bo->format = arg;
  return (0);
}
}
int cmd_cat_file(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int opt___0 ;
  char const   *exp_type ;
  char const   *obj_name ;
  struct batch_options batch ;
  int unknown_type ;
  struct option options[16] ;
  int tmp ;
  int tmp___0 ;

  {
  opt___0 = 0;
  exp_type = (char const   *)((void *)0);
  obj_name = (char const   *)((void *)0);
  batch.enabled = 0;
  batch.follow_symlinks = 0;
  batch.print_contents = 0;
  batch.buffer_output = 0;
  batch.all_objects = 0;
  batch.unordered = 0;
  batch.cmdmode = 0;
  batch.format = (char const   *)0;
  unknown_type = 0;
  options[0].type = (enum parse_opt_type )((enum parse_opt_type )1);
  options[0].short_name = (int )0;
  options[0].long_name = (char const   *)((char const   *)((void *)0));
  options[0].value = (void *)((void *)0);
  options[0].argh = (char const   *)((char const   *)((void *)0));
  options[0].help = (char const   *)((char const   *)"<type> can be one of: blob, tree, commit, tag");
  options[0].flags = (enum parse_opt_option_flags )0U;
  options[0].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  options[0].defval = (intptr_t )0L;
  options[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[0].extra = (intptr_t )0L;
  options[1].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[1].short_name = (int )'t';
  options[1].long_name = (char const   *)((char const   *)((void *)0));
  options[1].value = (void *)((void *)(& opt___0));
  options[1].argh = (char const   *)((char const   *)((void *)0));
  options[1].help = (char const   *)((char const   *)"show object type");
  options[1].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2054);
  options[1].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[1].defval = (intptr_t )((intptr_t )'t');
  options[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[1].extra = (intptr_t )0L;
  options[2].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[2].short_name = (int )'s';
  options[2].long_name = (char const   *)((char const   *)((void *)0));
  options[2].value = (void *)((void *)(& opt___0));
  options[2].argh = (char const   *)((char const   *)((void *)0));
  options[2].help = (char const   *)((char const   *)"show object size");
  options[2].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2054);
  options[2].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[2].defval = (intptr_t )((intptr_t )'s');
  options[2].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[2].extra = (intptr_t )0L;
  options[3].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[3].short_name = (int )'e';
  options[3].long_name = (char const   *)((char const   *)((void *)0));
  options[3].value = (void *)((void *)(& opt___0));
  options[3].argh = (char const   *)((char const   *)((void *)0));
  options[3].help = (char const   *)((char const   *)"exit with zero when there\'s no error");
  options[3].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2054);
  options[3].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[3].defval = (intptr_t )((intptr_t )'e');
  options[3].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[3].extra = (intptr_t )0L;
  options[4].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[4].short_name = (int )'p';
  options[4].long_name = (char const   *)((char const   *)((void *)0));
  options[4].value = (void *)((void *)(& opt___0));
  options[4].argh = (char const   *)((char const   *)((void *)0));
  options[4].help = (char const   *)((char const   *)"pretty-print object\'s content");
  options[4].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2054);
  options[4].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[4].defval = (intptr_t )((intptr_t )'p');
  options[4].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[4].extra = (intptr_t )0L;
  options[5].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[5].short_name = (int )0;
  options[5].long_name = (char const   *)((char const   *)"textconv");
  options[5].value = (void *)((void *)(& opt___0));
  options[5].argh = (char const   *)((char const   *)((void *)0));
  options[5].help = (char const   *)((char const   *)"for blob objects, run textconv on object\'s content");
  options[5].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2054);
  options[5].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[5].defval = (intptr_t )((intptr_t )'c');
  options[5].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[5].extra = (intptr_t )0L;
  options[6].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[6].short_name = (int )0;
  options[6].long_name = (char const   *)((char const   *)"filters");
  options[6].value = (void *)((void *)(& opt___0));
  options[6].argh = (char const   *)((char const   *)((void *)0));
  options[6].help = (char const   *)((char const   *)"for blob objects, run filters on object\'s content");
  options[6].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2054);
  options[6].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[6].defval = (intptr_t )((intptr_t )'w');
  options[6].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[6].extra = (intptr_t )0L;
  options[7].type = (enum parse_opt_type )((enum parse_opt_type )9);
  options[7].short_name = (int )0;
  options[7].long_name = (char const   *)((char const   *)"path");
  options[7].value = (void *)((void *)(& force_path));
  options[7].argh = (char const   *)((char const   *)"blob");
  options[7].help = (char const   *)((char const   *)"use a specific path for --textconv/--filters");
  options[7].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  options[7].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  options[7].defval = (intptr_t )0L;
  options[7].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[7].extra = (intptr_t )0L;
  options[8].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[8].short_name = (int )0;
  options[8].long_name = (char const   *)((char const   *)"allow-unknown-type");
  options[8].value = (void *)((void *)(& unknown_type));
  options[8].argh = (char const   *)((char const   *)((void *)0));
  options[8].help = (char const   *)((char const   *)"allow -s and -t to work with broken/corrupt objects");
  options[8].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[8].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[8].defval = (intptr_t )((intptr_t )1);
  options[8].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[8].extra = (intptr_t )0L;
  options[9].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[9].short_name = (int )0;
  options[9].long_name = (char const   *)((char const   *)"buffer");
  options[9].value = (void *)((void *)(& batch.buffer_output));
  options[9].argh = (char const   *)((char const   *)((void *)0));
  options[9].help = (char const   *)((char const   *)"buffer --batch output");
  options[9].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[9].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[9].defval = (intptr_t )((intptr_t )1);
  options[9].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[9].extra = (intptr_t )0L;
  options[10].type = (enum parse_opt_type )((enum parse_opt_type )12);
  options[10].short_name = (int )0;
  options[10].long_name = (char const   *)((char const   *)"batch");
  options[10].value = (void *)((void *)(& batch));
  options[10].argh = (char const   *)((char const   *)"format");
  options[10].help = (char const   *)((char const   *)"show info and content of objects fed from the standard input");
  options[10].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )5);
  options[10].callback = (parse_opt_cb *)(& batch_option_callback);
  options[10].defval = (intptr_t )0L;
  options[10].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[10].extra = (intptr_t )0L;
  options[11].type = (enum parse_opt_type )((enum parse_opt_type )12);
  options[11].short_name = (int )0;
  options[11].long_name = (char const   *)((char const   *)"batch-check");
  options[11].value = (void *)((void *)(& batch));
  options[11].argh = (char const   *)((char const   *)"format");
  options[11].help = (char const   *)((char const   *)"show info about objects fed from the standard input");
  options[11].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )5);
  options[11].callback = (parse_opt_cb *)(& batch_option_callback);
  options[11].defval = (intptr_t )0L;
  options[11].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[11].extra = (intptr_t )0L;
  options[12].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[12].short_name = (int )0;
  options[12].long_name = (char const   *)((char const   *)"follow-symlinks");
  options[12].value = (void *)((void *)(& batch.follow_symlinks));
  options[12].argh = (char const   *)((char const   *)((void *)0));
  options[12].help = (char const   *)((char const   *)"follow in-tree symlinks (used with --batch or --batch-check)");
  options[12].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[12].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[12].defval = (intptr_t )((intptr_t )1);
  options[12].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[12].extra = (intptr_t )0L;
  options[13].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[13].short_name = (int )0;
  options[13].long_name = (char const   *)((char const   *)"batch-all-objects");
  options[13].value = (void *)((void *)(& batch.all_objects));
  options[13].argh = (char const   *)((char const   *)((void *)0));
  options[13].help = (char const   *)((char const   *)"show all objects with --batch or --batch-check");
  options[13].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[13].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[13].defval = (intptr_t )((intptr_t )1);
  options[13].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[13].extra = (intptr_t )0L;
  options[14].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[14].short_name = (int )0;
  options[14].long_name = (char const   *)((char const   *)"unordered");
  options[14].value = (void *)((void *)(& batch.unordered));
  options[14].argh = (char const   *)((char const   *)((void *)0));
  options[14].help = (char const   *)((char const   *)"do not order --batch-all-objects output");
  options[14].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[14].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[14].defval = (intptr_t )((intptr_t )1);
  options[14].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[14].extra = (intptr_t )0L;
  options[15].type = (enum parse_opt_type )((enum parse_opt_type )0);
  options[15].short_name = (int )0;
  options[15].long_name = (char const   *)((char const   *)0);
  options[15].value = (void *)((void *)0);
  options[15].argh = (char const   *)((char const   *)0);
  options[15].help = (char const   *)((char const   *)0);
  options[15].flags = (enum parse_opt_option_flags )0U;
  options[15].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  options[15].defval = (intptr_t )0L;
  options[15].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[15].extra = (intptr_t )0L;
  git_config(& git_cat_file_config, (void *)0);
  batch.buffer_output = -1;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       cat_file_usage, (enum parse_opt_flags )0);
  if (opt___0) {
    if (batch.enabled) {
      if (opt___0 == 99) {
        batch.cmdmode = opt___0;
      } else
      if (opt___0 == 119) {
        batch.cmdmode = opt___0;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (argc == 1) {
      obj_name = *(argv___0 + 0);
    } else {
      usage_with_options(cat_file_usage, (struct option  const  *)(options));
    }
  }
  if (! opt___0) {
    if (! batch.enabled) {
      if (argc == 2) {
        exp_type = *(argv___0 + 0);
        obj_name = *(argv___0 + 1);
      } else {
        usage_with_options(cat_file_usage, (struct option  const  *)(options));
      }
    }
  }
  if (batch.enabled) {
    if (batch.cmdmode != opt___0) {
      usage_with_options(cat_file_usage, (struct option  const  *)(options));
    } else
    if (argc) {
      usage_with_options(cat_file_usage, (struct option  const  *)(options));
    }
    if (batch.cmdmode) {
      if (batch.all_objects) {
        die((char const   *)"--batch-all-objects cannot be combined with --textconv nor with --filters");
      }
    }
  }
  if (batch.follow_symlinks) {
    goto _L___0;
  } else
  if (batch.all_objects) {
    _L___0: /* CIL Label */
    if (! batch.enabled) {
      usage_with_options(cat_file_usage, (struct option  const  *)(options));
    }
  }
  if (force_path) {
    if (opt___0 != 99) {
      if (opt___0 != 119) {
        error((char const   *)"--path=<path> needs --textconv or --filters");
        const_error();
        usage_with_options(cat_file_usage, (struct option  const  *)(options));
      }
    }
  }
  if (force_path) {
    if (batch.enabled) {
      error((char const   *)"options \'--path=<path>\' and \'--batch\' cannot be used together");
      const_error();
      usage_with_options(cat_file_usage, (struct option  const  *)(options));
    }
  }
  if (batch.buffer_output < 0) {
    batch.buffer_output = batch.all_objects;
  }
  if (batch.enabled) {
    tmp = batch_objects(& batch);
    return (tmp);
  }
  if (unknown_type) {
    if (opt___0 != 116) {
      if (opt___0 != 115) {
        die((char const   *)"git cat-file --allow-unknown-type: use with -s or -t");
      }
    }
  }
  tmp___0 = cat_one_file(opt___0, exp_type, obj_name, unknown_type);
  return (tmp___0);
}
}
static int all_attrs  ;
static int cached_attrs  ;
static int stdin_paths  ;
static char const   *check_attr_usage[3]  = {      (char const   *)"git check-attr [-a | --all | <attr>...] [--] <pathname>...",      (char const   *)"git check-attr --stdin [-z] [-a | --all | <attr>...]",      (char const   *)((void *)0)};
static int nul_term_line  ;
static struct option  const  check_attr_options[5]  = {      {(enum parse_opt_type )8, 'a', (char const   *)"all", (void *)(& all_attrs),
      (char const   *)((void *)0), (char const   *)"report all attributes set on file",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"cached", (void *)(& cached_attrs),
      (char const   *)((void *)0), (char const   *)"use .gitattributes only from the index",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"stdin", (void *)(& stdin_paths),
      (char const   *)((void *)0), (char const   *)"read file names from stdin", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'z', (char const   *)((void *)0), (void *)(& nul_term_line),
      (char const   *)((void *)0), (char const   *)"terminate input and output records by a NUL character",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static void output_attr(struct attr_check *check___4 , char const   *file___0 )
{
  int j ;
  int cnt ;
  char const   *value ;
  char const   *tmp ;
  char const   *tmp___0 ;

  {
  cnt = check___4->nr;
  j = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (j < cnt)) {
      goto while_break;
    }
    value = (check___4->items + j)->value;
    if ((unsigned long )value == (unsigned long )(git_attr__true)) {
      value = (char const   *)"set";
    } else
    if ((unsigned long )value == (unsigned long )(git_attr__false)) {
      value = (char const   *)"unset";
    } else
    if ((unsigned long )value == (unsigned long )((void *)0)) {
      value = (char const   *)"unspecified";
    }
    if (nul_term_line) {
      tmp = git_attr_name((check___4->items + j)->attr);
      printf((char const   *)"%s%c%s%c%s%c", file___0, 0, tmp, 0, value, 0);
    } else {
      quote_c_style(file___0, (struct strbuf *)((void *)0), stdout, 0U);
      tmp___0 = git_attr_name((check___4->items + j)->attr);
      printf((char const   *)": %s: %s\n", tmp___0, value);
    }
    j ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void check_attr(char const   *prefix___1 , struct attr_check *check___4 , int collect_all ,
                       char const   *file___0 )
{
  char *full_path ;
  size_t tmp ;
  size_t tmp___0 ;
  char *tmp___1 ;

  {
  if (prefix___1) {
    tmp = strlen(prefix___1);
    tmp___0 = tmp;
  } else {
    tmp___0 = (size_t )0;
  }
  tmp___1 = prefix_path(prefix___1, (int )tmp___0, file___0);
  full_path = tmp___1;
  if (collect_all) {
    git_all_attrs(& the_index, (char const   *)full_path, check___4);
  } else {
    git_check_attr(& the_index, (char const   *)full_path, check___4);
  }
  output_attr(check___4, file___0);
  free((void *)full_path);
  return;
}
}
static void check_attr_stdin_paths(char const   *prefix___1 , struct attr_check *check___4 ,
                                   int collect_all )
{
  struct strbuf buf___19 ;
  struct strbuf unquoted ;
  int (*getline_fn)(struct strbuf * , FILE * ) ;
  int tmp ;
  int tmp___0 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  unquoted.alloc = 0UL;
  unquoted.len = 0UL;
  unquoted.buf = strbuf_slopbuf;
  if (nul_term_line) {
    getline_fn = & strbuf_getline_nul;
  } else {
    getline_fn = & strbuf_getline_lf;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = (*getline_fn)(& buf___19, stdin);
    if (! (tmp___0 != -1)) {
      goto while_break;
    }
    if (! nul_term_line) {
      if ((int )*(buf___19.buf + 0) == 34) {
        strbuf_setlen___33(& unquoted, (size_t )0);
        tmp = unquote_c_style(& unquoted, (char const   *)buf___19.buf, (char const   **)((void *)0));
        if (tmp) {
          die((char const   *)"line is badly quoted");
        }
        strbuf_swap(& buf___19, & unquoted);
      }
    }
    check_attr(prefix___1, check___4, collect_all, (char const   *)buf___19.buf);
    maybe_flush_or_die(stdout, (char const   *)"attribute to stdout");
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  strbuf_release(& unquoted);
  return;
}
}
static void error_with_usage(char const   *msg___5 )  __attribute__((__noreturn__)) ;
static void error_with_usage(char const   *msg___5 )
{


  {
  error((char const   *)"%s", msg___5);
  const_error();
  usage_with_options(check_attr_usage, check_attr_options);
}
}
int cmd_check_attr(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct attr_check *check___4 ;
  int cnt ;
  int i ;
  int doubledash ;
  int filei ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct git_attr  const  *a ;
  struct git_attr  const  *tmp___2 ;
  int tmp___3 ;

  {
  tmp = is_bare_repository();
  if (! tmp) {
    setup_work_tree();
  }
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, check_attr_options, check_attr_usage,
                       (enum parse_opt_flags )1);
  tmp___0 = repo_read_index(the_repository);
  if (tmp___0 < 0) {
    die((char const   *)"invalid cache");
  }
  if (cached_attrs) {
    git_attr_set_direction((enum git_attr_direction )2);
  }
  doubledash = -1;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (doubledash < 0) {
      if (! (i < argc)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___1 = strcmp(*(argv___0 + i), (char const   *)"--");
    if (! tmp___1) {
      doubledash = i;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (all_attrs) {
    if (doubledash >= 1) {
      error_with_usage((char const   *)"Attributes and --all both specified");
    }
    cnt = 0;
    filei = doubledash + 1;
  } else
  if (doubledash == 0) {
    error_with_usage((char const   *)"No attribute specified");
  } else
  if (doubledash < 0) {
    if (! argc) {
      error_with_usage((char const   *)"No attribute specified");
    }
    if (stdin_paths) {
      cnt = argc;
      filei = argc;
    } else {
      cnt = 1;
      filei = 1;
    }
  } else {
    cnt = doubledash;
    filei = doubledash + 1;
  }
  if (stdin_paths) {
    if (filei < argc) {
      error_with_usage((char const   *)"Can\'t specify files with --stdin");
    }
  } else
  if (filei >= argc) {
    error_with_usage((char const   *)"No file specified");
  }
  check___4 = attr_check_alloc();
  if (! all_attrs) {
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < cnt)) {
        goto while_break___0;
      }
      tmp___2 = git_attr(*(argv___0 + i));
      a = tmp___2;
      if (! a) {
        error((char const   *)"%s: not a valid attribute name", *(argv___0 + i));
        tmp___3 = const_error();
        return (tmp___3);
      }
      attr_check_append(check___4, a);
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  if (stdin_paths) {
    check_attr_stdin_paths(prefix___1, check___4, all_attrs);
  } else {
    i = filei;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < argc)) {
        goto while_break___1;
      }
      check_attr(prefix___1, check___4, all_attrs, *(argv___0 + i));
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    maybe_flush_or_die(stdout, (char const   *)"attribute to stdout");
  }
  attr_check_free(check___4);
  return (0);
}
}
static int quiet  ;
static int verbose___1  ;
static int stdin_paths___0  ;
static int show_non_matching  ;
static int no_index  ;
static char const   *check_ignore_usage[3]  = {      (char const   *)"git check-ignore [<options>] <pathname>...",      (char const   *)"git check-ignore [<options>] --stdin",      (char const   *)((void *)0)};
static int nul_term_line___0  ;
static struct option  const  check_ignore_options[8]  =
  {      {(enum parse_opt_type )7, 'q', (char const   *)"quiet", (void *)(& quiet), (char const   *)((void *)0),
      (char const   *)"suppress progress reporting", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )7, 'v', (char const   *)"verbose", (void *)(& verbose___1),
      (char const   *)((void *)0), (char const   *)"be verbose", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )1, 0, (char const   *)((void *)0), (void *)0, (char const   *)((void *)0),
      (char const   *)"", 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"stdin", (void *)(& stdin_paths___0),
      (char const   *)((void *)0), (char const   *)"read file names from stdin", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'z', (char const   *)((void *)0), (void *)(& nul_term_line___0),
      (char const   *)((void *)0), (char const   *)"terminate input and output records by a NUL character",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'n', (char const   *)"non-matching", (void *)(& show_non_matching),
      (char const   *)((void *)0), (char const   *)"show non-matching input paths",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"no-index", (void *)(& no_index),
      (char const   *)((void *)0), (char const   *)"ignore index when checking", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static void output_pattern(char const   *path___6 , struct path_pattern *pattern___0 )
{
  char *bang ;
  char *tmp ;
  char *slash ;
  char *tmp___0 ;

  {
  if (pattern___0) {
    if (pattern___0->flags & 16U) {
      tmp = "!";
    } else {
      tmp = "";
    }
  } else {
    tmp = "";
  }
  bang = tmp;
  if (pattern___0) {
    if (pattern___0->flags & 8U) {
      tmp___0 = "/";
    } else {
      tmp___0 = "";
    }
  } else {
    tmp___0 = "";
  }
  slash = tmp___0;
  if (! nul_term_line___0) {
    if (! verbose___1) {
      write_name_quoted(path___6, stdout, '\n');
    } else {
      if (pattern___0) {
        quote_c_style((pattern___0->pl)->src, (struct strbuf *)((void *)0), stdout,
                      0U);
        printf((char const   *)":%d:%s%s%s\t", pattern___0->srcpos, bang, pattern___0->pattern,
               slash);
      } else {
        printf((char const   *)"::\t");
      }
      quote_c_style(path___6, (struct strbuf *)((void *)0), stdout, 0U);
      fputc('\n', stdout);
    }
  } else
  if (! verbose___1) {
    printf((char const   *)"%s%c", path___6, '\000');
  } else
  if (pattern___0) {
    printf((char const   *)"%s%c%d%c%s%s%s%c%s%c", (pattern___0->pl)->src, '\000',
           pattern___0->srcpos, '\000', bang, pattern___0->pattern, slash, '\000',
           path___6, '\000');
  } else {
    printf((char const   *)"%c%c%c%s%c", '\000', '\000', '\000', path___6, '\000');
  }
  return;
}
}
static int check_ignore(struct dir_struct *dir , char const   *prefix___1 , int argc ,
                        char const   **argv___0 )
{
  char const   *full_path ;
  char *seen___0 ;
  int num_ignored ;
  int i ;
  struct path_pattern *pattern___0 ;
  struct pathspec pathspec___1 ;
  int dtype ;

  {
  num_ignored = 0;
  if (! argc) {
    if (! quiet) {
      fprintf(stderr, (char const   *)"no pathspec given.\n");
    }
    return (0);
  }
  parse_pathspec(& pathspec___1, (unsigned int )(((((((1 | (1 << 1)) | (1 << 2)) | (1 << 3)) | (1 << 4)) | (1 << 5)) | (1 << 6)) & -2),
                 (unsigned int )((1 << 3) | (1 << 5)), prefix___1, argv___0);
  die_path_inside_submodule(& the_index, (struct pathspec  const  *)(& pathspec___1));
  seen___0 = find_pathspecs_matching_against_index((struct pathspec  const  *)(& pathspec___1),
                                                   & the_index, (enum ps_skip_worktree_action )0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < pathspec___1.nr)) {
      goto while_break;
    }
    full_path = (char const   *)(pathspec___1.items + i)->match;
    pattern___0 = (struct path_pattern *)((void *)0);
    if (! *(seen___0 + i)) {
      dtype = 0;
      pattern___0 = last_matching_pattern(dir, & the_index, full_path, & dtype);
      if (! verbose___1) {
        if (pattern___0) {
          if (pattern___0->flags & 16U) {
            pattern___0 = (struct path_pattern *)((void *)0);
          }
        }
      }
    }
    if (! quiet) {
      if (pattern___0) {
        output_pattern((char const   *)(pathspec___1.items + i)->original, pattern___0);
      } else
      if (show_non_matching) {
        output_pattern((char const   *)(pathspec___1.items + i)->original, pattern___0);
      }
    }
    if (pattern___0) {
      num_ignored ++;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)seen___0);
  clear_pathspec(& pathspec___1);
  return (num_ignored);
}
}
static int check_ignore_stdin_paths(struct dir_struct *dir , char const   *prefix___1 )
{
  struct strbuf buf___19 ;
  struct strbuf unquoted ;
  char *pathspec___1[2] ;
  int (*getline_fn)(struct strbuf * , FILE * ) ;
  int num_ignored ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  unquoted.alloc = 0UL;
  unquoted.len = 0UL;
  unquoted.buf = strbuf_slopbuf;
  pathspec___1[0] = (char *)((void *)0);
  pathspec___1[1] = (char *)((void *)0);
  num_ignored = 0;
  if (nul_term_line___0) {
    getline_fn = & strbuf_getline_nul;
  } else {
    getline_fn = & strbuf_getline_lf;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = (*getline_fn)(& buf___19, stdin);
    if (! (tmp___1 != -1)) {
      goto while_break;
    }
    if (! nul_term_line___0) {
      if ((int )*(buf___19.buf + 0) == 34) {
        strbuf_setlen___33(& unquoted, (size_t )0);
        tmp = unquote_c_style(& unquoted, (char const   *)buf___19.buf, (char const   **)((void *)0));
        if (tmp) {
          die((char const   *)"line is badly quoted");
        }
        strbuf_swap(& buf___19, & unquoted);
      }
    }
    pathspec___1[0] = buf___19.buf;
    tmp___0 = check_ignore(dir, prefix___1, 1, (char const   **)(pathspec___1));
    num_ignored += tmp___0;
    maybe_flush_or_die(stdout, (char const   *)"check-ignore to stdout");
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  strbuf_release(& unquoted);
  return (num_ignored);
}
}
int cmd_check_ignore(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int num_ignored ;
  struct dir_struct dir ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;

  {
  dir.nr = 0;
  dir.alloc = 0;
  dir.ignored_nr = 0;
  dir.ignored_alloc = 0;
  dir.flags = 0U;
  dir.entries = (struct dir_entry **)0;
  dir.ignored = (struct dir_entry **)0;
  dir.exclude_per_dir = (char const   *)0;
  dir.exclude_list_group[0].nr = 0;
  dir.exclude_list_group[0].alloc = 0;
  dir.exclude_list_group[0].pl = (struct pattern_list *)0;
  dir.exclude_list_group[1].nr = 0;
  dir.exclude_list_group[1].alloc = 0;
  dir.exclude_list_group[1].pl = (struct pattern_list *)0;
  dir.exclude_list_group[2].nr = 0;
  dir.exclude_list_group[2].alloc = 0;
  dir.exclude_list_group[2].pl = (struct pattern_list *)0;
  dir.exclude_stack = (struct exclude_stack *)0;
  dir.pattern = (struct path_pattern *)0;
  dir.basebuf.alloc = 0UL;
  dir.basebuf.len = 0UL;
  dir.basebuf.buf = (char *)0;
  dir.untracked = (struct untracked_cache *)0;
  dir.ss_info_exclude.stat.sd_ctime.sec = 0U;
  dir.ss_info_exclude.stat.sd_ctime.nsec = 0U;
  dir.ss_info_exclude.stat.sd_mtime.sec = 0U;
  dir.ss_info_exclude.stat.sd_mtime.nsec = 0U;
  dir.ss_info_exclude.stat.sd_dev = 0U;
  dir.ss_info_exclude.stat.sd_ino = 0U;
  dir.ss_info_exclude.stat.sd_uid = 0U;
  dir.ss_info_exclude.stat.sd_gid = 0U;
  dir.ss_info_exclude.stat.sd_size = 0U;
  dir.ss_info_exclude.oid.hash[0] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[1] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[2] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[3] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[4] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[5] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[6] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[7] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[8] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[9] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[10] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[11] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[12] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[13] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[14] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[15] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[16] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[17] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[18] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[19] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[20] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[21] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[22] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[23] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[24] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[25] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[26] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[27] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[28] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[29] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[30] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[31] = (unsigned char)0;
  dir.ss_info_exclude.oid.algo = 0;
  dir.ss_info_exclude.valid = 0;
  dir.ss_excludes_file.stat.sd_ctime.sec = 0U;
  dir.ss_excludes_file.stat.sd_ctime.nsec = 0U;
  dir.ss_excludes_file.stat.sd_mtime.sec = 0U;
  dir.ss_excludes_file.stat.sd_mtime.nsec = 0U;
  dir.ss_excludes_file.stat.sd_dev = 0U;
  dir.ss_excludes_file.stat.sd_ino = 0U;
  dir.ss_excludes_file.stat.sd_uid = 0U;
  dir.ss_excludes_file.stat.sd_gid = 0U;
  dir.ss_excludes_file.stat.sd_size = 0U;
  dir.ss_excludes_file.oid.hash[0] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[1] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[2] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[3] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[4] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[5] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[6] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[7] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[8] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[9] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[10] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[11] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[12] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[13] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[14] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[15] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[16] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[17] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[18] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[19] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[20] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[21] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[22] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[23] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[24] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[25] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[26] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[27] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[28] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[29] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[30] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[31] = (unsigned char)0;
  dir.ss_excludes_file.oid.algo = 0;
  dir.ss_excludes_file.valid = 0;
  dir.unmanaged_exclude_files = 0U;
  dir.visited_paths = 0U;
  dir.visited_directories = 0U;
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, check_ignore_options, check_ignore_usage,
                       (enum parse_opt_flags )0);
  if (stdin_paths___0) {
    if (argc > 0) {
      tmp = _((char const   *)"cannot specify pathnames with --stdin");
      die((char const   *)tmp);
    }
  } else {
    if (nul_term_line___0) {
      tmp___0 = _((char const   *)"-z only makes sense with --stdin");
      die((char const   *)tmp___0);
    }
    if (argc == 0) {
      tmp___1 = _((char const   *)"no path specified");
      die((char const   *)tmp___1);
    }
  }
  if (quiet) {
    if (argc > 1) {
      tmp___2 = _((char const   *)"--quiet is only valid with a single pathname");
      die((char const   *)tmp___2);
    }
    if (verbose___1) {
      tmp___3 = _((char const   *)"cannot have both --quiet and --verbose");
      die((char const   *)tmp___3);
    }
  }
  if (show_non_matching) {
    if (! verbose___1) {
      tmp___4 = _((char const   *)"--non-matching is only valid with --verbose");
      die((char const   *)tmp___4);
    }
  }
  if (! no_index) {
    tmp___6 = repo_read_index(the_repository);
    if (tmp___6 < 0) {
      tmp___5 = _((char const   *)"index file corrupt");
      die((char const   *)tmp___5);
    }
  }
  setup_standard_excludes(& dir);
  if (stdin_paths___0) {
    num_ignored = check_ignore_stdin_paths(& dir, prefix___1);
  } else {
    num_ignored = check_ignore(& dir, prefix___1, argc, argv___0);
    maybe_flush_or_die(stdout, (char const   *)"ignore to stdout");
  }
  dir_clear(& dir);
  return (! num_ignored);
}
}
static int use_stdin  ;
static char const   *check_mailmap_usage[2]  = {      (char const   *)"git check-mailmap [<options>] <contact>...",      (char const   *)((void *)0)};
static struct option  const  check_mailmap_options[2]  = {      {(enum parse_opt_type )8, 0, (char const   *)"stdin", (void *)(& use_stdin),
      (char const   *)((void *)0), (char const   *)"also read contacts from stdin",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static void check_mailmap(struct string_list *mailmap___0 , char const   *contact )
{
  char const   *name___0 ;
  char const   *mail ;
  size_t namelen ;
  size_t maillen ;
  struct ident_split ident ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  size_t tmp___0 ;
  int tmp___1 ;

  {
  tmp___0 = strlen(contact);
  tmp___1 = split_ident_line(& ident, contact, (int )tmp___0);
  if (tmp___1) {
    tmp = _((char const   *)"unable to parse contact: %s");
    die((char const   *)tmp, contact);
  }
  name___0 = ident.name_begin;
  namelen = (size_t )(ident.name_end - ident.name_begin);
  mail = ident.mail_begin;
  maillen = (size_t )(ident.mail_end - ident.mail_begin);
  map_user(mailmap___0, & mail, & maillen, & name___0, & namelen);
  if (namelen) {
    printf((char const   *)"%.*s ", (int )namelen, name___0);
  }
  printf((char const   *)"<%.*s>\n", (int )maillen, mail);
  return;
}
}
int cmd_check_mailmap(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  struct string_list mailmap___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct strbuf buf___19 ;
  int tmp___0 ;

  {
  mailmap___0.items = (struct string_list_item *)0;
  mailmap___0.nr = 0U;
  mailmap___0.alloc = 0U;
  mailmap___0.strdup_strings = 0U;
  mailmap___0.cmp = (int (*)(char const   * , char const   * ))0;
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, check_mailmap_options, check_mailmap_usage,
                       (enum parse_opt_flags )0);
  if (argc == 0) {
    if (! use_stdin) {
      tmp = _((char const   *)"no contacts specified");
      die((char const   *)tmp);
    }
  }
  read_mailmap(& mailmap___0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    check_mailmap(& mailmap___0, *(argv___0 + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  maybe_flush_or_die(stdout, (char const   *)"stdout");
  if (use_stdin) {
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___0 = strbuf_getline_lf(& buf___19, stdin);
      if (! (tmp___0 != -1)) {
        goto while_break___0;
      }
      check_mailmap(& mailmap___0, (char const   *)buf___19.buf);
      maybe_flush_or_die(stdout, (char const   *)"stdout");
    }
    while_break___0: /* CIL Label */ ;
    }
    strbuf_release(& buf___19);
  }
  clear_mailmap(& mailmap___0);
  return (0);
}
}
static char const   builtin_check_ref_format_usage[117]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'c',      (char const   )'h',      (char const   )'e',      (char const   )'c',
        (char const   )'k',      (char const   )'-',      (char const   )'r',      (char const   )'e',
        (char const   )'f',      (char const   )'-',      (char const   )'f',      (char const   )'o',
        (char const   )'r',      (char const   )'m',      (char const   )'a',      (char const   )'t',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'-',
        (char const   )'n',      (char const   )'o',      (char const   )'r',      (char const   )'m',
        (char const   )'a',      (char const   )'l',      (char const   )'i',      (char const   )'z',
        (char const   )'e',      (char const   )']',      (char const   )' ',      (char const   )'[',
        (char const   )'<',      (char const   )'o',      (char const   )'p',      (char const   )'t',
        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'s',
        (char const   )'>',      (char const   )']',      (char const   )' ',      (char const   )'<',
        (char const   )'r',      (char const   )'e',      (char const   )'f',      (char const   )'n',
        (char const   )'a',      (char const   )'m',      (char const   )'e',      (char const   )'>',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'o',      (char const   )'r',      (char const   )':',      (char const   )' ',
        (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'c',      (char const   )'h',      (char const   )'e',      (char const   )'c',
        (char const   )'k',      (char const   )'-',      (char const   )'r',      (char const   )'e',
        (char const   )'f',      (char const   )'-',      (char const   )'f',      (char const   )'o',
        (char const   )'r',      (char const   )'m',      (char const   )'a',      (char const   )'t',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'b',
        (char const   )'r',      (char const   )'a',      (char const   )'n',      (char const   )'c',
        (char const   )'h',      (char const   )' ',      (char const   )'<',      (char const   )'b',
        (char const   )'r',      (char const   )'a',      (char const   )'n',      (char const   )'c',
        (char const   )'h',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )'-',      (char const   )'s',      (char const   )'h',
        (char const   )'o',      (char const   )'r',      (char const   )'t',      (char const   )'h',
        (char const   )'a',      (char const   )'n',      (char const   )'d',      (char const   )'>',
        (char const   )'\000'};
static char *collapse_slashes(char const   *refname )
{
  char *ret___67 ;
  size_t tmp ;
  void *tmp___0 ;
  char ch___0 ;
  char prev ;
  char *cp ;
  char *tmp___1 ;
  char const   *tmp___2 ;

  {
  tmp = strlen(refname);
  tmp___0 = xmallocz(tmp);
  ret___67 = (char *)tmp___0;
  prev = (char )'/';
  cp = ret___67;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = refname;
    refname ++;
    ch___0 = (char )*tmp___2;
    if (! ((int )ch___0 != 0)) {
      goto while_break;
    }
    if ((int )prev == 47) {
      if ((int )ch___0 == (int )prev) {
        goto while_continue;
      }
    }
    tmp___1 = cp;
    cp ++;
    *tmp___1 = ch___0;
    prev = ch___0;
  }
  while_break: /* CIL Label */ ;
  }
  *cp = (char )'\000';
  return (ret___67);
}
}
static int check_ref_format_branch(char const   *arg )
{
  struct strbuf sb___6 ;
  char const   *name___0 ;
  int nongit ;
  int tmp ;
  int tmp___0 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  setup_git_directory_gently(& nongit);
  tmp = strbuf_check_branch_ref(& sb___6, arg);
  if (tmp) {
    die((char const   *)"\'%s\' is not a valid branch name", arg);
  } else {
    tmp___0 = skip_prefix((char const   *)sb___6.buf, (char const   *)"refs/heads/",
                          & name___0);
    if (! tmp___0) {
      die((char const   *)"\'%s\' is not a valid branch name", arg);
    }
  }
  printf((char const   *)"%s\n", name___0);
  strbuf_release(& sb___6);
  return (0);
}
}
int cmd_check_ref_format(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  int normalize ;
  int flags___0 ;
  char const   *refname ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char *tmp___7 ;
  int tmp___8 ;

  {
  normalize = 0;
  flags___0 = 0;
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage(builtin_check_ref_format_usage);
    }
  }
  if (argc == 3) {
    tmp___1 = strcmp(*(argv___0 + 1), (char const   *)"--branch");
    if (! tmp___1) {
      tmp___0 = check_ref_format_branch(*(argv___0 + 2));
      return (tmp___0);
    }
  }
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i < argc) {
      if (! ((int const   )*(*(argv___0 + i) + 0) == 45)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___5 = strcmp(*(argv___0 + i), (char const   *)"--normalize");
    if (tmp___5) {
      tmp___6 = strcmp(*(argv___0 + i), (char const   *)"--print");
      if (tmp___6) {
        tmp___4 = strcmp(*(argv___0 + i), (char const   *)"--allow-onelevel");
        if (tmp___4) {
          tmp___3 = strcmp(*(argv___0 + i), (char const   *)"--no-allow-onelevel");
          if (tmp___3) {
            tmp___2 = strcmp(*(argv___0 + i), (char const   *)"--refspec-pattern");
            if (tmp___2) {
              usage(builtin_check_ref_format_usage);
            } else {
              flags___0 |= 2;
            }
          } else {
            flags___0 &= -2;
          }
        } else {
          flags___0 |= 1;
        }
      } else {
        normalize = 1;
      }
    } else {
      normalize = 1;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! (i == argc - 1)) {
    usage(builtin_check_ref_format_usage);
  }
  refname = *(argv___0 + i);
  if (normalize) {
    tmp___7 = collapse_slashes(refname);
    refname = (char const   *)tmp___7;
  }
  tmp___8 = check_refname_format(refname, flags___0);
  if (tmp___8) {
    return (1);
  }
  if (normalize) {
    printf((char const   *)"%s\n", refname);
  }
  return (0);
}
}
static void packet_to_pc_item(char const   *buffer___5 , int len___0 , struct parallel_checkout_item *pc_item )
{
  struct pc_item_fixed_portion  const  *fixed_portion ;
  char const   *variant ;
  char *encoding ;
  void *tmp ;

  {
  if ((unsigned long )len___0 < sizeof(struct pc_item_fixed_portion )) {
    BUG_fl((char const   *)"builtin/checkout--worker.c", 17, (char const   *)"checkout worker received too short item (got %dB, exp %dB)",
           len___0, (int )sizeof(struct pc_item_fixed_portion ));
  }
  fixed_portion = (struct pc_item_fixed_portion  const  *)((struct pc_item_fixed_portion *)buffer___5);
  if ((unsigned long )len___0 - sizeof(struct pc_item_fixed_portion ) != (unsigned long )(fixed_portion->name_len + fixed_portion->working_tree_encoding_len)) {
    BUG_fl((char const   *)"builtin/checkout--worker.c", 23, (char const   *)"checkout worker received corrupted item");
  }
  variant = buffer___5 + sizeof(struct pc_item_fixed_portion );
  if (fixed_portion->working_tree_encoding_len) {
    tmp = xmemdupz((void const   *)variant, (size_t )fixed_portion->working_tree_encoding_len);
    encoding = (char *)tmp;
    variant += fixed_portion->working_tree_encoding_len;
  } else {
    encoding = (char *)((void *)0);
  }
  memset((void *)pc_item, 0, sizeof(*pc_item));
  pc_item->ce = make_empty_transient_cache_entry((size_t )fixed_portion->name_len,
                                                 (struct mem_pool *)((void *)0));
  (pc_item->ce)->ce_namelen = (unsigned int )fixed_portion->name_len;
  (pc_item->ce)->ce_mode = (unsigned int )fixed_portion->ce_mode;
  memcpy((void *)((pc_item->ce)->name), (void const   *)variant, (size_t )(pc_item->ce)->ce_namelen);
  oidcpy(& (pc_item->ce)->oid, (struct object_id  const  *)(& fixed_portion->oid));
  pc_item->id = (size_t )fixed_portion->id;
  pc_item->ca.crlf_action = (enum convert_crlf_action )fixed_portion->crlf_action;
  pc_item->ca.ident = (int )fixed_portion->ident;
  pc_item->ca.working_tree_encoding = (char const   *)encoding;
  return;
}
}
static void report_result(struct parallel_checkout_item *pc_item )
{
  struct pc_item_result res ;
  size_t size ;

  {
  res.id = (size_t )0;
  res.status = 0U;
  res.st.st_dev = 0UL;
  res.st.st_ino = 0UL;
  res.st.st_nlink = 0UL;
  res.st.st_mode = 0U;
  res.st.st_uid = 0U;
  res.st.st_gid = 0U;
  res.st.__pad0 = 0;
  res.st.st_rdev = 0UL;
  res.st.st_size = 0L;
  res.st.st_blksize = 0L;
  res.st.st_blocks = 0L;
  res.st.st_atim.tv_sec = 0L;
  res.st.st_atim.tv_nsec = 0L;
  res.st.st_mtim.tv_sec = 0L;
  res.st.st_mtim.tv_nsec = 0L;
  res.st.st_ctim.tv_sec = 0L;
  res.st.st_ctim.tv_nsec = 0L;
  res.st.__glibc_reserved[0] = 0L;
  res.st.__glibc_reserved[1] = 0L;
  res.st.__glibc_reserved[2] = 0L;
  res.id = pc_item->id;
  res.status = pc_item->status;
  if ((unsigned int )pc_item->status == 1U) {
    res.st = pc_item->st;
    size = sizeof(res);
  } else {
    size = (unsigned long )(& ((struct pc_item_result *)0)->st);
  }
  packet_write(1, (char const   *)(& res), size);
  return;
}
}
static void release_pc_item_data(struct parallel_checkout_item *pc_item )
{


  {
  free((void *)((char *)pc_item->ca.working_tree_encoding));
  discard_cache_entry(pc_item->ce);
  return;
}
}
static void worker_loop(struct checkout *state___1 )
{
  struct parallel_checkout_item *items ;
  size_t i ;
  size_t nr___0 ;
  size_t alloc___0 ;
  int len___0 ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  size_t tmp___2 ;
  struct parallel_checkout_item *pc_item ;

  {
  items = (struct parallel_checkout_item *)((void *)0);
  nr___0 = (size_t )0;
  alloc___0 = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = packet_read(0, packet_buffer, (unsigned int )sizeof(packet_buffer), 0);
    len___0 = tmp;
    if (len___0 < 0) {
      BUG_fl((char const   *)"builtin/checkout--worker.c", 89, (char const   *)"packet_read() returned negative value");
    } else
    if (! len___0) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (nr___0 + 1UL > alloc___0) {
        if (((alloc___0 + 16UL) * 3UL) / 2UL < nr___0 + 1UL) {
          alloc___0 = nr___0 + 1UL;
        } else {
          alloc___0 = ((alloc___0 + 16UL) * 3UL) / 2UL;
        }
        tmp___0 = st_mult(sizeof(*items), alloc___0);
        tmp___1 = xrealloc((void *)items, tmp___0);
        items = (struct parallel_checkout_item *)tmp___1;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___2 = nr___0;
    nr___0 ++;
    packet_to_pc_item((char const   *)(packet_buffer), len___0, items + tmp___2);
  }
  while_break: /* CIL Label */ ;
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break___1;
    }
    pc_item = items + i;
    write_pc_item(pc_item, state___1);
    report_result(pc_item);
    release_pc_item_data(pc_item);
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  packet_flush(1);
  free((void *)items);
  return;
}
}
static char const   *checkout_worker_usage[2]  = {      (char const   *)"git checkout--worker [<options>]",      (char const   *)((void *)0)};
int cmd_checkout__worker(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct checkout state___1 ;
  struct option checkout_worker_options[2] ;
  int tmp ;
  size_t tmp___0 ;

  {
  state___1.istate = (struct index_state *)0;
  state___1.base_dir = (char const   *)"";
  state___1.base_dir_len = 0;
  state___1.delayed_checkout = (struct delayed_checkout *)0;
  state___1.meta.refname = (char const   *)0;
  state___1.meta.treeish.hash[0] = (unsigned char)0;
  state___1.meta.treeish.hash[1] = (unsigned char)0;
  state___1.meta.treeish.hash[2] = (unsigned char)0;
  state___1.meta.treeish.hash[3] = (unsigned char)0;
  state___1.meta.treeish.hash[4] = (unsigned char)0;
  state___1.meta.treeish.hash[5] = (unsigned char)0;
  state___1.meta.treeish.hash[6] = (unsigned char)0;
  state___1.meta.treeish.hash[7] = (unsigned char)0;
  state___1.meta.treeish.hash[8] = (unsigned char)0;
  state___1.meta.treeish.hash[9] = (unsigned char)0;
  state___1.meta.treeish.hash[10] = (unsigned char)0;
  state___1.meta.treeish.hash[11] = (unsigned char)0;
  state___1.meta.treeish.hash[12] = (unsigned char)0;
  state___1.meta.treeish.hash[13] = (unsigned char)0;
  state___1.meta.treeish.hash[14] = (unsigned char)0;
  state___1.meta.treeish.hash[15] = (unsigned char)0;
  state___1.meta.treeish.hash[16] = (unsigned char)0;
  state___1.meta.treeish.hash[17] = (unsigned char)0;
  state___1.meta.treeish.hash[18] = (unsigned char)0;
  state___1.meta.treeish.hash[19] = (unsigned char)0;
  state___1.meta.treeish.hash[20] = (unsigned char)0;
  state___1.meta.treeish.hash[21] = (unsigned char)0;
  state___1.meta.treeish.hash[22] = (unsigned char)0;
  state___1.meta.treeish.hash[23] = (unsigned char)0;
  state___1.meta.treeish.hash[24] = (unsigned char)0;
  state___1.meta.treeish.hash[25] = (unsigned char)0;
  state___1.meta.treeish.hash[26] = (unsigned char)0;
  state___1.meta.treeish.hash[27] = (unsigned char)0;
  state___1.meta.treeish.hash[28] = (unsigned char)0;
  state___1.meta.treeish.hash[29] = (unsigned char)0;
  state___1.meta.treeish.hash[30] = (unsigned char)0;
  state___1.meta.treeish.hash[31] = (unsigned char)0;
  state___1.meta.treeish.algo = 0;
  state___1.meta.blob.hash[0] = (unsigned char)0;
  state___1.meta.blob.hash[1] = (unsigned char)0;
  state___1.meta.blob.hash[2] = (unsigned char)0;
  state___1.meta.blob.hash[3] = (unsigned char)0;
  state___1.meta.blob.hash[4] = (unsigned char)0;
  state___1.meta.blob.hash[5] = (unsigned char)0;
  state___1.meta.blob.hash[6] = (unsigned char)0;
  state___1.meta.blob.hash[7] = (unsigned char)0;
  state___1.meta.blob.hash[8] = (unsigned char)0;
  state___1.meta.blob.hash[9] = (unsigned char)0;
  state___1.meta.blob.hash[10] = (unsigned char)0;
  state___1.meta.blob.hash[11] = (unsigned char)0;
  state___1.meta.blob.hash[12] = (unsigned char)0;
  state___1.meta.blob.hash[13] = (unsigned char)0;
  state___1.meta.blob.hash[14] = (unsigned char)0;
  state___1.meta.blob.hash[15] = (unsigned char)0;
  state___1.meta.blob.hash[16] = (unsigned char)0;
  state___1.meta.blob.hash[17] = (unsigned char)0;
  state___1.meta.blob.hash[18] = (unsigned char)0;
  state___1.meta.blob.hash[19] = (unsigned char)0;
  state___1.meta.blob.hash[20] = (unsigned char)0;
  state___1.meta.blob.hash[21] = (unsigned char)0;
  state___1.meta.blob.hash[22] = (unsigned char)0;
  state___1.meta.blob.hash[23] = (unsigned char)0;
  state___1.meta.blob.hash[24] = (unsigned char)0;
  state___1.meta.blob.hash[25] = (unsigned char)0;
  state___1.meta.blob.hash[26] = (unsigned char)0;
  state___1.meta.blob.hash[27] = (unsigned char)0;
  state___1.meta.blob.hash[28] = (unsigned char)0;
  state___1.meta.blob.hash[29] = (unsigned char)0;
  state___1.meta.blob.hash[30] = (unsigned char)0;
  state___1.meta.blob.hash[31] = (unsigned char)0;
  state___1.meta.blob.algo = 0;
  state___1.force = 0U;
  state___1.quiet = 0U;
  state___1.not_new = 0U;
  state___1.clone = 0U;
  state___1.refresh_cache = 0U;
  checkout_worker_options[0].type = (enum parse_opt_type )9;
  checkout_worker_options[0].short_name = 0;
  checkout_worker_options[0].long_name = (char const   *)"prefix";
  checkout_worker_options[0].value = (void *)(& state___1.base_dir);
  checkout_worker_options[0].argh = (char const   *)"string";
  checkout_worker_options[0].help = (char const   *)"when creating files, prepend <string>";
  checkout_worker_options[0].flags = (enum parse_opt_option_flags )0;
  checkout_worker_options[0].callback = (parse_opt_cb *)0;
  checkout_worker_options[0].defval = 0L;
  checkout_worker_options[0].ll_callback = (parse_opt_ll_cb *)0;
  checkout_worker_options[0].extra = 0L;
  checkout_worker_options[1].type = (enum parse_opt_type )0;
  checkout_worker_options[1].short_name = 0;
  checkout_worker_options[1].long_name = (char const   *)0;
  checkout_worker_options[1].value = (void *)0;
  checkout_worker_options[1].argh = (char const   *)0;
  checkout_worker_options[1].help = (char const   *)0;
  checkout_worker_options[1].flags = 0U;
  checkout_worker_options[1].callback = (parse_opt_cb *)0;
  checkout_worker_options[1].defval = 0L;
  checkout_worker_options[1].ll_callback = (parse_opt_ll_cb *)0;
  checkout_worker_options[1].extra = 0L;
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage_with_options(checkout_worker_usage, (struct option  const  *)(checkout_worker_options));
    }
  }
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(checkout_worker_options),
                       checkout_worker_usage, (enum parse_opt_flags )0);
  if (argc > 0) {
    usage_with_options(checkout_worker_usage, (struct option  const  *)(checkout_worker_options));
  }
  if (state___1.base_dir) {
    tmp___0 = strlen(state___1.base_dir);
    state___1.base_dir_len = (int )tmp___0;
  }
  state___1.refresh_cache = 1U;
  worker_loop(& state___1);
  return (0);
}
}
static int nul_term_line___1  ;
static int checkout_stage  ;
static int to_tempfile  ;
static char topath[4][26]  ;
static struct checkout state___0  =
     {(struct index_state *)0, (char const   *)"", 0, (struct delayed_checkout *)0,
    {(char const   *)0, {{(unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
                          (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
                          (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
                          (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
                          (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
                          (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
                          (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
                          (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0},
                         0}, {{(unsigned char)0, (unsigned char)0, (unsigned char)0,
                               (unsigned char)0, (unsigned char)0, (unsigned char)0,
                               (unsigned char)0, (unsigned char)0, (unsigned char)0,
                               (unsigned char)0, (unsigned char)0, (unsigned char)0,
                               (unsigned char)0, (unsigned char)0, (unsigned char)0,
                               (unsigned char)0, (unsigned char)0, (unsigned char)0,
                               (unsigned char)0, (unsigned char)0, (unsigned char)0,
                               (unsigned char)0, (unsigned char)0, (unsigned char)0,
                               (unsigned char)0, (unsigned char)0, (unsigned char)0,
                               (unsigned char)0, (unsigned char)0, (unsigned char)0,
                               (unsigned char)0, (unsigned char)0}, 0}}, 0U, 0U, 0U,
    0U, 0U};
static void write_tempfile_record(char const   *name___0 , char const   *prefix___1 )
{
  int i ;
  int have_tempname ;
  int tmp ;

  {
  have_tempname = 0;
  if (4 == checkout_stage) {
    i = 1;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < 4)) {
        goto while_break;
      }
      if (topath[i][0]) {
        have_tempname = 1;
        goto while_break;
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (have_tempname) {
      i = 1;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (i < 4)) {
          goto while_break___0;
        }
        if (i > 1) {
          putchar(' ');
        }
        if (topath[i][0]) {
          fputs((char const   * __restrict  )(topath[i]), (FILE * __restrict  )stdout);
        } else {
          putchar('.');
        }
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
    }
  } else
  if (topath[checkout_stage][0]) {
    have_tempname = 1;
    fputs((char const   * __restrict  )(topath[checkout_stage]), (FILE * __restrict  )stdout);
  }
  if (have_tempname) {
    putchar('\t');
    if (nul_term_line___1) {
      tmp = '\000';
    } else {
      tmp = '\n';
    }
    write_name_quoted_relative(name___0, prefix___1, stdout, tmp);
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < 4)) {
      goto while_break___1;
    }
    topath[i][0] = (char)0;
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  return;
}
}
static int checkout_file(char const   *name___0 , char const   *prefix___1 )
{
  int namelen ;
  size_t tmp ;
  int pos ;
  int tmp___0 ;
  int has_same_name ;
  int did_checkout ;
  int errs ;
  struct cache_entry *ce ;
  int tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp = strlen(name___0);
  namelen = (int )tmp;
  tmp___0 = index_name_pos(& the_index, name___0, namelen);
  pos = tmp___0;
  has_same_name = 0;
  did_checkout = 0;
  errs = 0;
  if (pos < 0) {
    pos = - pos - 1;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )pos < the_index.cache_nr)) {
      goto while_break;
    }
    ce = *(the_index.cache + pos);
    if (ce->ce_namelen != (unsigned int )namelen) {
      goto while_break;
    } else {
      tmp___1 = memcmp((void const   *)(ce->name), (void const   *)name___0, (size_t )namelen);
      if (tmp___1) {
        goto while_break;
      }
    }
    has_same_name = 1;
    pos ++;
    if ((12288U & ce->ce_flags) >> 12 != (unsigned int )checkout_stage) {
      if (4 != checkout_stage) {
        goto while_continue;
      } else
      if (! ((12288U & ce->ce_flags) >> 12)) {
        goto while_continue;
      }
    }
    did_checkout = 1;
    if (to_tempfile) {
      tmp___2 = topath[(12288U & ce->ce_flags) >> 12];
    } else {
      tmp___2 = (char *)((void *)0);
    }
    tmp___3 = checkout_entry(ce, (struct checkout  const  *)(& state___0), tmp___2,
                             (int *)((void *)0));
    if (tmp___3 < 0) {
      errs ++;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (did_checkout) {
    if (to_tempfile) {
      write_tempfile_record(name___0, prefix___1);
    }
    if (errs > 0) {
      tmp___4 = -1;
    } else {
      tmp___4 = 0;
    }
    return (tmp___4);
  }
  if (has_same_name) {
    if (checkout_stage == 4) {
      return (0);
    }
  }
  if (! state___0.quiet) {
    fprintf(stderr, (char const   *)"git checkout-index: %s ", name___0);
    if (! has_same_name) {
      fprintf(stderr, (char const   *)"is not in the cache");
    } else
    if (checkout_stage) {
      fprintf(stderr, (char const   *)"does not exist at stage %d", checkout_stage);
    } else {
      fprintf(stderr, (char const   *)"is unmerged");
    }
    fputc('\n', stderr);
  }
  return (-1);
}
}
static int checkout_all(char const   *prefix___1 , int prefix_length )
{
  int i ;
  int errs ;
  struct cache_entry *last_ce ;
  struct cache_entry *ce ;
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  errs = 0;
  last_ce = (struct cache_entry *)((void *)0);
  ensure_full_index(& the_index);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < the_index.cache_nr)) {
      goto while_break;
    }
    ce = *(the_index.cache + i);
    if ((12288U & ce->ce_flags) >> 12 != (unsigned int )checkout_stage) {
      if (4 != checkout_stage) {
        goto __Cont;
      } else
      if (! ((12288U & ce->ce_flags) >> 12)) {
        goto __Cont;
      }
    }
    if (prefix___1) {
      if (*prefix___1) {
        if (ce->ce_namelen <= (unsigned int )prefix_length) {
          goto __Cont;
        } else {
          tmp = memcmp((void const   *)prefix___1, (void const   *)(ce->name), (size_t )prefix_length);
          if (tmp) {
            goto __Cont;
          }
        }
      }
    }
    if (last_ce) {
      if (to_tempfile) {
        if (last_ce->ce_namelen != ce->ce_namelen) {
          write_tempfile_record((char const   *)(last_ce->name), prefix___1);
        } else {
          tmp___0 = memcmp((void const   *)(last_ce->name), (void const   *)(ce->name),
                           (size_t )ce->ce_namelen);
          if (tmp___0) {
            write_tempfile_record((char const   *)(last_ce->name), prefix___1);
          }
        }
      }
    }
    if (to_tempfile) {
      tmp___1 = topath[(12288U & ce->ce_flags) >> 12];
    } else {
      tmp___1 = (char *)((void *)0);
    }
    tmp___2 = checkout_entry(ce, (struct checkout  const  *)(& state___0), tmp___1,
                             (int *)((void *)0));
    if (tmp___2 < 0) {
      errs ++;
    }
    last_ce = ce;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (last_ce) {
    if (to_tempfile) {
      write_tempfile_record((char const   *)(last_ce->name), prefix___1);
    }
  }
  return (! (! errs));
}
}
static char const   *builtin_checkout_index_usage[2]  = {      (char const   *)"git checkout-index [<options>] [--] [<file>...]",      (char const   *)((void *)0)};
static int option_parse_stage(struct option  const  *opt___0 , char const   *arg ,
                              int unset )
{
  int ch___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/checkout-index.c", 159, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = strcmp(arg, (char const   *)"all");
  if (tmp___0) {
    ch___0 = (int )*(arg + 0);
    if (49 <= ch___0) {
      if (ch___0 <= 51) {
        checkout_stage = (int )((int const   )*(arg + 0) - 48);
      } else {
        tmp = _((char const   *)"stage should be between 1 and 3 or all");
        die((char const   *)tmp);
      }
    } else {
      tmp = _((char const   *)"stage should be between 1 and 3 or all");
      die((char const   *)tmp);
    }
  } else {
    to_tempfile = 1;
    checkout_stage = 4;
  }
  return (0);
}
}
int cmd_checkout_index(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  struct lock_file lock_file___0 ;
  int all___2 ;
  int read_from_stdin___0 ;
  int prefix_length ;
  int force___2 ;
  int quiet___7 ;
  int not_new ;
  int index_opt ;
  int err___4 ;
  int pc_workers ;
  int pc_threshold ;
  struct option builtin_checkout_index_options[11] ;
  int tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  char const   *arg ;
  char *p___0 ;
  int tmp___3 ;
  struct strbuf buf___19 ;
  struct strbuf unquoted ;
  int (*getline_fn)(struct strbuf * , FILE * ) ;
  char *p___1 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  lock_file___0.tempfile = (struct tempfile *)0;
  all___2 = 0;
  read_from_stdin___0 = 0;
  force___2 = 0;
  quiet___7 = 0;
  not_new = 0;
  index_opt = 0;
  err___4 = 0;
  builtin_checkout_index_options[0].type = (enum parse_opt_type )8;
  builtin_checkout_index_options[0].short_name = 'a';
  builtin_checkout_index_options[0].long_name = (char const   *)"all";
  builtin_checkout_index_options[0].value = (void *)(& all___2);
  builtin_checkout_index_options[0].argh = (char const   *)((void *)0);
  builtin_checkout_index_options[0].help = (char const   *)"check out all files in the index";
  builtin_checkout_index_options[0].flags = (enum parse_opt_option_flags )2;
  builtin_checkout_index_options[0].callback = (parse_opt_cb *)((void *)0);
  builtin_checkout_index_options[0].defval = (intptr_t )1;
  builtin_checkout_index_options[0].ll_callback = (parse_opt_ll_cb *)0;
  builtin_checkout_index_options[0].extra = 0L;
  builtin_checkout_index_options[1].type = (enum parse_opt_type )7;
  builtin_checkout_index_options[1].short_name = 'f';
  builtin_checkout_index_options[1].long_name = (char const   *)"force";
  builtin_checkout_index_options[1].value = (void *)(& force___2);
  builtin_checkout_index_options[1].argh = (char const   *)((void *)0);
  builtin_checkout_index_options[1].help = (char const   *)"force overwrite of existing files";
  builtin_checkout_index_options[1].flags = (enum parse_opt_option_flags )2;
  builtin_checkout_index_options[1].callback = (parse_opt_cb *)0;
  builtin_checkout_index_options[1].defval = 0L;
  builtin_checkout_index_options[1].ll_callback = (parse_opt_ll_cb *)0;
  builtin_checkout_index_options[1].extra = 0L;
  builtin_checkout_index_options[2].type = (enum parse_opt_type )7;
  builtin_checkout_index_options[2].short_name = 'q';
  builtin_checkout_index_options[2].long_name = (char const   *)"quiet";
  builtin_checkout_index_options[2].value = (void *)(& quiet___7);
  builtin_checkout_index_options[2].argh = (char const   *)((void *)0);
  builtin_checkout_index_options[2].help = (char const   *)"no warning for existing files and files not in index";
  builtin_checkout_index_options[2].flags = (enum parse_opt_option_flags )2;
  builtin_checkout_index_options[2].callback = (parse_opt_cb *)0;
  builtin_checkout_index_options[2].defval = 0L;
  builtin_checkout_index_options[2].ll_callback = (parse_opt_ll_cb *)0;
  builtin_checkout_index_options[2].extra = 0L;
  builtin_checkout_index_options[3].type = (enum parse_opt_type )8;
  builtin_checkout_index_options[3].short_name = 'n';
  builtin_checkout_index_options[3].long_name = (char const   *)"no-create";
  builtin_checkout_index_options[3].value = (void *)(& not_new);
  builtin_checkout_index_options[3].argh = (char const   *)((void *)0);
  builtin_checkout_index_options[3].help = (char const   *)"don\'t checkout new files";
  builtin_checkout_index_options[3].flags = (enum parse_opt_option_flags )2;
  builtin_checkout_index_options[3].callback = (parse_opt_cb *)((void *)0);
  builtin_checkout_index_options[3].defval = (intptr_t )1;
  builtin_checkout_index_options[3].ll_callback = (parse_opt_ll_cb *)0;
  builtin_checkout_index_options[3].extra = 0L;
  builtin_checkout_index_options[4].type = (enum parse_opt_type )8;
  builtin_checkout_index_options[4].short_name = 'u';
  builtin_checkout_index_options[4].long_name = (char const   *)"index";
  builtin_checkout_index_options[4].value = (void *)(& index_opt);
  builtin_checkout_index_options[4].argh = (char const   *)((void *)0);
  builtin_checkout_index_options[4].help = (char const   *)"update stat information in the index file";
  builtin_checkout_index_options[4].flags = (enum parse_opt_option_flags )2;
  builtin_checkout_index_options[4].callback = (parse_opt_cb *)((void *)0);
  builtin_checkout_index_options[4].defval = (intptr_t )1;
  builtin_checkout_index_options[4].ll_callback = (parse_opt_ll_cb *)0;
  builtin_checkout_index_options[4].extra = 0L;
  builtin_checkout_index_options[5].type = (enum parse_opt_type )8;
  builtin_checkout_index_options[5].short_name = 'z';
  builtin_checkout_index_options[5].long_name = (char const   *)((void *)0);
  builtin_checkout_index_options[5].value = (void *)(& nul_term_line___1);
  builtin_checkout_index_options[5].argh = (char const   *)((void *)0);
  builtin_checkout_index_options[5].help = (char const   *)"paths are separated with NUL character";
  builtin_checkout_index_options[5].flags = (enum parse_opt_option_flags )2;
  builtin_checkout_index_options[5].callback = (parse_opt_cb *)((void *)0);
  builtin_checkout_index_options[5].defval = (intptr_t )1;
  builtin_checkout_index_options[5].ll_callback = (parse_opt_ll_cb *)0;
  builtin_checkout_index_options[5].extra = 0L;
  builtin_checkout_index_options[6].type = (enum parse_opt_type )8;
  builtin_checkout_index_options[6].short_name = 0;
  builtin_checkout_index_options[6].long_name = (char const   *)"stdin";
  builtin_checkout_index_options[6].value = (void *)(& read_from_stdin___0);
  builtin_checkout_index_options[6].argh = (char const   *)((void *)0);
  builtin_checkout_index_options[6].help = (char const   *)"read list of paths from the standard input";
  builtin_checkout_index_options[6].flags = (enum parse_opt_option_flags )2;
  builtin_checkout_index_options[6].callback = (parse_opt_cb *)((void *)0);
  builtin_checkout_index_options[6].defval = (intptr_t )1;
  builtin_checkout_index_options[6].ll_callback = (parse_opt_ll_cb *)0;
  builtin_checkout_index_options[6].extra = 0L;
  builtin_checkout_index_options[7].type = (enum parse_opt_type )8;
  builtin_checkout_index_options[7].short_name = 0;
  builtin_checkout_index_options[7].long_name = (char const   *)"temp";
  builtin_checkout_index_options[7].value = (void *)(& to_tempfile);
  builtin_checkout_index_options[7].argh = (char const   *)((void *)0);
  builtin_checkout_index_options[7].help = (char const   *)"write the content to temporary files";
  builtin_checkout_index_options[7].flags = (enum parse_opt_option_flags )2;
  builtin_checkout_index_options[7].callback = (parse_opt_cb *)((void *)0);
  builtin_checkout_index_options[7].defval = (intptr_t )1;
  builtin_checkout_index_options[7].ll_callback = (parse_opt_ll_cb *)0;
  builtin_checkout_index_options[7].extra = 0L;
  builtin_checkout_index_options[8].type = (enum parse_opt_type )9;
  builtin_checkout_index_options[8].short_name = 0;
  builtin_checkout_index_options[8].long_name = (char const   *)"prefix";
  builtin_checkout_index_options[8].value = (void *)(& state___0.base_dir);
  builtin_checkout_index_options[8].argh = (char const   *)"string";
  builtin_checkout_index_options[8].help = (char const   *)"when creating files, prepend <string>";
  builtin_checkout_index_options[8].flags = (enum parse_opt_option_flags )0;
  builtin_checkout_index_options[8].callback = (parse_opt_cb *)0;
  builtin_checkout_index_options[8].defval = 0L;
  builtin_checkout_index_options[8].ll_callback = (parse_opt_ll_cb *)0;
  builtin_checkout_index_options[8].extra = 0L;
  builtin_checkout_index_options[9].type = (enum parse_opt_type )12;
  builtin_checkout_index_options[9].short_name = 0;
  builtin_checkout_index_options[9].long_name = (char const   *)"stage";
  builtin_checkout_index_options[9].value = (void *)0;
  builtin_checkout_index_options[9].argh = (char const   *)"(1|2|3|all)";
  builtin_checkout_index_options[9].help = (char const   *)"copy out the files from named stage";
  builtin_checkout_index_options[9].flags = (enum parse_opt_option_flags )4;
  builtin_checkout_index_options[9].callback = & option_parse_stage;
  builtin_checkout_index_options[9].defval = 0L;
  builtin_checkout_index_options[9].ll_callback = (parse_opt_ll_cb *)0;
  builtin_checkout_index_options[9].extra = 0L;
  builtin_checkout_index_options[10].type = (enum parse_opt_type )0;
  builtin_checkout_index_options[10].short_name = 0;
  builtin_checkout_index_options[10].long_name = (char const   *)0;
  builtin_checkout_index_options[10].value = (void *)0;
  builtin_checkout_index_options[10].argh = (char const   *)0;
  builtin_checkout_index_options[10].help = (char const   *)0;
  builtin_checkout_index_options[10].flags = 0U;
  builtin_checkout_index_options[10].callback = (parse_opt_cb *)0;
  builtin_checkout_index_options[10].defval = 0L;
  builtin_checkout_index_options[10].ll_callback = (parse_opt_ll_cb *)0;
  builtin_checkout_index_options[10].extra = 0L;
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage_with_options(builtin_checkout_index_usage, (struct option  const  *)(builtin_checkout_index_options));
    }
  }
  git_config(& git_default_config, (void *)0);
  if (prefix___1) {
    tmp___0 = strlen(prefix___1);
    prefix_length = (int )tmp___0;
  } else {
    prefix_length = 0;
  }
  tmp___1 = repo_read_index(the_repository);
  if (tmp___1 < 0) {
    die((char const   *)"invalid cache");
  }
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(builtin_checkout_index_options),
                       builtin_checkout_index_usage, (enum parse_opt_flags )0);
  state___0.istate = & the_index;
  state___0.force = (unsigned int )force___2;
  state___0.quiet = (unsigned int )quiet___7;
  state___0.not_new = (unsigned int )not_new;
  if (! state___0.base_dir) {
    state___0.base_dir = (char const   *)"";
  }
  tmp___2 = strlen(state___0.base_dir);
  state___0.base_dir_len = (int )tmp___2;
  if (index_opt) {
    if (! state___0.base_dir_len) {
      if (! to_tempfile) {
        state___0.refresh_cache = 1U;
        state___0.istate = & the_index;
        repo_hold_locked_index(the_repository, & lock_file___0, 1);
      }
    }
  }
  get_parallel_checkout_configs(& pc_workers, & pc_threshold);
  if (pc_workers > 1) {
    init_parallel_checkout();
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    arg = *(argv___0 + i);
    if (all___2) {
      die((char const   *)"git checkout-index: don\'t mix \'--all\' and explicit filenames");
    }
    if (read_from_stdin___0) {
      die((char const   *)"git checkout-index: don\'t mix \'--stdin\' and explicit filenames");
    }
    p___0 = prefix_path(prefix___1, prefix_length, arg);
    tmp___3 = checkout_file((char const   *)p___0, prefix___1);
    err___4 |= tmp___3;
    free((void *)p___0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (read_from_stdin___0) {
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    unquoted.alloc = 0UL;
    unquoted.len = 0UL;
    unquoted.buf = strbuf_slopbuf;
    if (all___2) {
      die((char const   *)"git checkout-index: don\'t mix \'--all\' and \'--stdin\'");
    }
    if (nul_term_line___1) {
      getline_fn = & strbuf_getline_nul;
    } else {
      getline_fn = & strbuf_getline_lf;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___6 = (*getline_fn)(& buf___19, stdin);
      if (! (tmp___6 != -1)) {
        goto while_break___0;
      }
      if (! nul_term_line___1) {
        if ((int )*(buf___19.buf + 0) == 34) {
          strbuf_setlen___33(& unquoted, (size_t )0);
          tmp___4 = unquote_c_style(& unquoted, (char const   *)buf___19.buf, (char const   **)((void *)0));
          if (tmp___4) {
            die((char const   *)"line is badly quoted");
          }
          strbuf_swap(& buf___19, & unquoted);
        }
      }
      p___1 = prefix_path(prefix___1, prefix_length, (char const   *)buf___19.buf);
      tmp___5 = checkout_file((char const   *)p___1, prefix___1);
      err___4 |= tmp___5;
      free((void *)p___1);
    }
    while_break___0: /* CIL Label */ ;
    }
    strbuf_release(& unquoted);
    strbuf_release(& buf___19);
  }
  if (all___2) {
    tmp___7 = checkout_all(prefix___1, prefix_length);
    err___4 |= tmp___7;
  }
  if (pc_workers > 1) {
    tmp___8 = run_parallel_checkout(& state___0, pc_workers, pc_threshold, (struct progress *)((void *)0),
                                    (unsigned int *)((void *)0));
    err___4 |= tmp___8;
  }
  if (err___4) {
    return (1);
  }
  tmp___9 = is_lock_file_locked(& lock_file___0);
  if (tmp___9) {
    tmp___10 = write_locked_index(& the_index, & lock_file___0, 1U);
    if (tmp___10) {
      die((char const   *)"Unable to write new index file");
    }
  }
  return (0);
}
}
static double const   __ac_HASH_UPPER___109  =    (double const   )0.77;
__inline static void kh_resize_oid_set___109(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___109(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___109 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___109 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___109(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___109(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___109(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___109(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___109(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___109(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___109 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___109 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___109(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___109(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___109(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___109(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___109(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___109(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___109 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___109 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___109(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___109(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___109(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___109(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___81(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___81(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___109 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___109 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___81(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___81(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___81(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___81(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *checkout_usage[3]  = {      (char const   *)"git checkout [<options>] <branch>",      (char const   *)"git checkout [<options>] [<branch>] -- <file>...",      (char const   *)((void *)0)};
static char const   *switch_branch_usage[2]  = {      (char const   *)"git switch [<options>] [<branch>]",      (char const   *)((void *)0)};
static char const   *restore_usage[2]  = {      (char const   *)"git restore [<options>] [--source=<branch>] <file>...",      (char const   *)((void *)0)};
static void branch_info_release(struct branch_info *info___0 )
{


  {
  free((void *)info___0->name);
  free((void *)info___0->path);
  free((void *)info___0->refname);
  free((void *)info___0->checkout);
  return;
}
}
static int post_checkout_hook(struct commit *old_commit , struct commit *new_commit ,
                              int changed )
{
  char *tmp ;
  struct object_id  const  *tmp___0 ;
  struct object_id  const  *tmp___1 ;
  char *tmp___2 ;
  struct object_id  const  *tmp___3 ;
  struct object_id  const  *tmp___4 ;
  char *tmp___5 ;
  int __attribute__((__sentinel__))  tmp___6 ;

  {
  if (changed) {
    tmp = "1";
  } else {
    tmp = "0";
  }
  if (new_commit) {
    tmp___1 = (struct object_id  const  *)(& new_commit->object.oid);
  } else {
    tmp___0 = null_oid();
    tmp___1 = tmp___0;
  }
  tmp___2 = oid_to_hex(tmp___1);
  if (old_commit) {
    tmp___4 = (struct object_id  const  *)(& old_commit->object.oid);
  } else {
    tmp___3 = null_oid();
    tmp___4 = tmp___3;
  }
  tmp___5 = oid_to_hex(tmp___4);
  tmp___6 = run_hook_le((char const   **)((void *)0), (char const   *)"post-checkout",
                        tmp___5, tmp___2, tmp, (void *)0);
  return ((int )tmp___6);
}
}
static int update_some(struct object_id  const  *oid , struct strbuf *base , char const   *pathname ,
                       unsigned int mode___1 , void *context___0 )
{
  int len___0 ;
  struct cache_entry *ce ;
  int pos ;
  size_t tmp ;
  unsigned int tmp___0 ;
  struct cache_entry *old ;
  int tmp___1 ;

  {
  if ((mode___1 & 61440U) == 16384U) {
    return (1);
  }
  tmp = strlen(pathname);
  len___0 = (int )(base->len + tmp);
  ce = make_empty_cache_entry(& the_index, (size_t )len___0);
  oidcpy(& ce->oid, oid);
  memcpy((void *)(ce->name), (void const   *)base->buf, base->len);
  memcpy((void *)(ce->name + base->len), (void const   *)pathname, (size_t )len___0 - base->len);
  tmp___0 = create_ce_flags(0U);
  ce->ce_flags = tmp___0 | (unsigned int )(1 << 16);
  ce->ce_namelen = (unsigned int )len___0;
  ce->ce_mode = create_ce_mode(mode___1);
  pos = index_name_pos(& the_index, (char const   *)(ce->name), (int )ce->ce_namelen);
  if (pos >= 0) {
    old = *(the_index.cache + pos);
    if (ce->ce_mode == old->ce_mode) {
      if (! (old->ce_flags & (unsigned int )(1 << 29))) {
        tmp___1 = oideq((struct object_id  const  *)(& ce->oid), (struct object_id  const  *)(& old->oid));
        if (tmp___1) {
          old->ce_flags |= (unsigned int )(1 << 16);
          discard_cache_entry(ce);
          return (0);
        }
      }
    }
  }
  add_index_entry(& the_index, ce, 3);
  return (0);
}
}
static int read_tree_some(struct tree *tree , struct pathspec  const  *pathspec___1 )
{


  {
  read_tree(the_repository, tree, pathspec___1, & update_some, (void *)0);
  return (0);
}
}
static int skip_same_name(struct cache_entry  const  *ce , int pos )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    pos ++;
    if ((unsigned int )pos < the_index.cache_nr) {
      tmp = strcmp((char const   *)((*(the_index.cache + pos))->name), (char const   *)(ce->name));
      if (tmp) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (pos);
}
}
static int check_stage(int stage , struct cache_entry  const  *ce , int pos , int overlay_mode )
{
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned int )pos < the_index.cache_nr) {
      tmp = strcmp((char const   *)((*(the_index.cache + pos))->name), (char const   *)(ce->name));
      if (tmp) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if ((12288U & (*(the_index.cache + pos))->ce_flags) >> 12 == (unsigned int )stage) {
      return (0);
    }
    pos ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! overlay_mode) {
    return (0);
  }
  if (stage == 2) {
    tmp___0 = _((char const   *)"path \'%s\' does not have our version");
    error((char const   *)tmp___0, ce->name);
    tmp___1 = const_error();
    return (tmp___1);
  } else {
    tmp___2 = _((char const   *)"path \'%s\' does not have their version");
    error((char const   *)tmp___2, ce->name);
    tmp___3 = const_error();
    return (tmp___3);
  }
}
}
static int check_stages(unsigned int stages , struct cache_entry  const  *ce , int pos )
{
  unsigned int seen___0 ;
  char const   *name___0 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  seen___0 = 0U;
  name___0 = (char const   *)(ce->name);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )pos < the_index.cache_nr)) {
      goto while_break;
    }
    ce = (struct cache_entry  const  *)*(the_index.cache + pos);
    tmp = strcmp(name___0, (char const   *)(ce->name));
    if (tmp) {
      goto while_break;
    }
    seen___0 |= (unsigned int )(1 << ((12288U & ce->ce_flags) >> 12));
    pos ++;
  }
  while_break: /* CIL Label */ ;
  }
  if ((stages & seen___0) != stages) {
    tmp___0 = _((char const   *)"path \'%s\' does not have all necessary versions");
    error((char const   *)tmp___0, name___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  return (0);
}
}
static int checkout_stage___0(int stage , struct cache_entry  const  *ce , int pos ,
                              struct checkout  const  *state___1 , int *nr_checkouts ,
                              int overlay_mode )
{
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned int )pos < the_index.cache_nr) {
      tmp___0 = strcmp((char const   *)((*(the_index.cache + pos))->name), (char const   *)(ce->name));
      if (tmp___0) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if ((12288U & (*(the_index.cache + pos))->ce_flags) >> 12 == (unsigned int )stage) {
      tmp = checkout_entry(*(the_index.cache + pos), state___1, (char *)((void *)0),
                           nr_checkouts);
      return (tmp);
    }
    pos ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! overlay_mode) {
    unlink_entry(ce);
    return (0);
  }
  if (stage == 2) {
    tmp___1 = _((char const   *)"path \'%s\' does not have our version");
    error((char const   *)tmp___1, ce->name);
    tmp___2 = const_error();
    return (tmp___2);
  } else {
    tmp___3 = _((char const   *)"path \'%s\' does not have their version");
    error((char const   *)tmp___3, ce->name);
    tmp___4 = const_error();
    return (tmp___4);
  }
}
}
static int checkout_merged(int pos , struct checkout  const  *state___1 , int *nr_checkouts ,
                           struct mem_pool *ce_mem_pool )
{
  struct cache_entry *ce ;
  char const   *path___6 ;
  mmfile_t ancestor ;
  mmfile_t ours ;
  mmfile_t theirs ;
  int status ;
  struct object_id oid ;
  mmbuffer_t result_buf ;
  struct object_id threeway[3] ;
  unsigned int mode___1 ;
  struct ll_merge_options ll_opts ;
  int renormalize ;
  int stage ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;

  {
  ce = *(the_index.cache + pos);
  path___6 = (char const   *)(ce->name);
  mode___1 = 0U;
  renormalize = 0;
  memset((void *)(threeway), 0, sizeof(threeway));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )pos < the_index.cache_nr)) {
      goto while_break;
    }
    stage = (int )((12288U & ce->ce_flags) >> 12);
    if (! stage) {
      goto while_break;
    } else {
      tmp = strcmp(path___6, (char const   *)(ce->name));
      if (tmp) {
        goto while_break;
      }
    }
    oidcpy(& threeway[stage - 1], (struct object_id  const  *)(& ce->oid));
    if (stage == 2) {
      mode___1 = create_ce_mode(ce->ce_mode);
    }
    pos ++;
    ce = *(the_index.cache + pos);
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = is_null_oid((struct object_id  const  *)(& threeway[1]));
  if (tmp___2) {
    tmp___0 = _((char const   *)"path \'%s\' does not have necessary versions");
    error((char const   *)tmp___0, path___6);
    tmp___1 = const_error();
    return (tmp___1);
  } else {
    tmp___3 = is_null_oid((struct object_id  const  *)(& threeway[2]));
    if (tmp___3) {
      tmp___0 = _((char const   *)"path \'%s\' does not have necessary versions");
      error((char const   *)tmp___0, path___6);
      tmp___1 = const_error();
      return (tmp___1);
    }
  }
  read_mmblob(& ancestor, (struct object_id  const  *)(& threeway[0]));
  read_mmblob(& ours, (struct object_id  const  *)(& threeway[1]));
  read_mmblob(& theirs, (struct object_id  const  *)(& threeway[2]));
  memset((void *)(& ll_opts), 0, sizeof(ll_opts));
  git_config_get_bool((char const   *)"merge.renormalize", & renormalize);
  ll_opts.renormalize = (unsigned int )renormalize;
  status = ll_merge(& result_buf, path___6, & ancestor, (char const   *)"base", & ours,
                    (char const   *)"ours", & theirs, (char const   *)"theirs", (struct index_state *)state___1->istate,
                    (struct ll_merge_options  const  *)(& ll_opts));
  free((void *)ancestor.ptr);
  free((void *)ours.ptr);
  free((void *)theirs.ptr);
  if (status < 0) {
    free((void *)result_buf.ptr);
    tmp___4 = _((char const   *)"path \'%s\': cannot merge");
    error((char const   *)tmp___4, path___6);
    tmp___5 = const_error();
    return (tmp___5);
  } else
  if (! result_buf.ptr) {
    free((void *)result_buf.ptr);
    tmp___4 = _((char const   *)"path \'%s\': cannot merge");
    error((char const   *)tmp___4, path___6);
    tmp___5 = const_error();
    return (tmp___5);
  }
  tmp___7 = write_object_file((void const   *)result_buf.ptr, (unsigned long )result_buf.size,
                              blob_type, & oid);
  if (tmp___7) {
    tmp___6 = _((char const   *)"Unable to add merge result for \'%s\'");
    die((char const   *)tmp___6, path___6);
  }
  free((void *)result_buf.ptr);
  ce = make_transient_cache_entry(mode___1, (struct object_id  const  *)(& oid), path___6,
                                  2, ce_mem_pool);
  if (! ce) {
    tmp___8 = _((char const   *)"make_cache_entry failed for path \'%s\'");
    die((char const   *)tmp___8, path___6);
  }
  status = checkout_entry(ce, state___1, (char *)((void *)0), nr_checkouts);
  return (status);
}
}
static void mark_ce_for_checkout_overlay(struct cache_entry *ce , char *ps_matched___1 ,
                                         struct checkout_opts  const  *opts___1 )
{
  int tmp ;

  {
  ce->ce_flags &= (unsigned int )(~ (1 << 26));
  if (! opts___1->ignore_skipworktree) {
    if (ce->ce_flags & (unsigned int )(1 << 30)) {
      return;
    }
  }
  if (opts___1->source_tree) {
    if (! (ce->ce_flags & (unsigned int )(1 << 16))) {
      return;
    }
  }
  tmp = ce_path_match(& the_index, (struct cache_entry  const  *)ce, (struct pathspec  const  *)(& opts___1->pathspec),
                      ps_matched___1);
  if (tmp) {
    ce->ce_flags |= (unsigned int )(1 << 26);
  }
  return;
}
}
static void mark_ce_for_checkout_no_overlay(struct cache_entry *ce , char *ps_matched___1 ,
                                            struct checkout_opts  const  *opts___1 )
{
  int tmp ;

  {
  ce->ce_flags &= (unsigned int )(~ (1 << 26));
  if (! opts___1->ignore_skipworktree) {
    if (ce->ce_flags & (unsigned int )(1 << 30)) {
      return;
    }
  }
  tmp = ce_path_match(& the_index, (struct cache_entry  const  *)ce, (struct pathspec  const  *)(& opts___1->pathspec),
                      ps_matched___1);
  if (tmp) {
    ce->ce_flags |= (unsigned int )(1 << 26);
    if (opts___1->source_tree) {
      if (! (ce->ce_flags & (unsigned int )(1 << 16))) {
        ce->ce_flags |= (unsigned int )((1 << 17) | (1 << 22));
      }
    }
  }
  return;
}
}
static int checkout_worktree(struct checkout_opts  const  *opts___1 , struct branch_info  const  *info___0 )
{
  struct checkout state___1 ;
  int nr_checkouts ;
  int nr_unmerged ;
  int errs ;
  int pos ;
  int pc_workers ;
  int pc_threshold ;
  struct mem_pool ce_mem_pool ;
  struct object_id *tmp ;
  struct cache_entry *ce ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___7 ;
  char const   *tmp___8 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___10 ;

  {
  state___1.istate = (struct index_state *)0;
  state___1.base_dir = (char const   *)"";
  state___1.base_dir_len = 0;
  state___1.delayed_checkout = (struct delayed_checkout *)0;
  state___1.meta.refname = (char const   *)0;
  state___1.meta.treeish.hash[0] = (unsigned char)0;
  state___1.meta.treeish.hash[1] = (unsigned char)0;
  state___1.meta.treeish.hash[2] = (unsigned char)0;
  state___1.meta.treeish.hash[3] = (unsigned char)0;
  state___1.meta.treeish.hash[4] = (unsigned char)0;
  state___1.meta.treeish.hash[5] = (unsigned char)0;
  state___1.meta.treeish.hash[6] = (unsigned char)0;
  state___1.meta.treeish.hash[7] = (unsigned char)0;
  state___1.meta.treeish.hash[8] = (unsigned char)0;
  state___1.meta.treeish.hash[9] = (unsigned char)0;
  state___1.meta.treeish.hash[10] = (unsigned char)0;
  state___1.meta.treeish.hash[11] = (unsigned char)0;
  state___1.meta.treeish.hash[12] = (unsigned char)0;
  state___1.meta.treeish.hash[13] = (unsigned char)0;
  state___1.meta.treeish.hash[14] = (unsigned char)0;
  state___1.meta.treeish.hash[15] = (unsigned char)0;
  state___1.meta.treeish.hash[16] = (unsigned char)0;
  state___1.meta.treeish.hash[17] = (unsigned char)0;
  state___1.meta.treeish.hash[18] = (unsigned char)0;
  state___1.meta.treeish.hash[19] = (unsigned char)0;
  state___1.meta.treeish.hash[20] = (unsigned char)0;
  state___1.meta.treeish.hash[21] = (unsigned char)0;
  state___1.meta.treeish.hash[22] = (unsigned char)0;
  state___1.meta.treeish.hash[23] = (unsigned char)0;
  state___1.meta.treeish.hash[24] = (unsigned char)0;
  state___1.meta.treeish.hash[25] = (unsigned char)0;
  state___1.meta.treeish.hash[26] = (unsigned char)0;
  state___1.meta.treeish.hash[27] = (unsigned char)0;
  state___1.meta.treeish.hash[28] = (unsigned char)0;
  state___1.meta.treeish.hash[29] = (unsigned char)0;
  state___1.meta.treeish.hash[30] = (unsigned char)0;
  state___1.meta.treeish.hash[31] = (unsigned char)0;
  state___1.meta.treeish.algo = 0;
  state___1.meta.blob.hash[0] = (unsigned char)0;
  state___1.meta.blob.hash[1] = (unsigned char)0;
  state___1.meta.blob.hash[2] = (unsigned char)0;
  state___1.meta.blob.hash[3] = (unsigned char)0;
  state___1.meta.blob.hash[4] = (unsigned char)0;
  state___1.meta.blob.hash[5] = (unsigned char)0;
  state___1.meta.blob.hash[6] = (unsigned char)0;
  state___1.meta.blob.hash[7] = (unsigned char)0;
  state___1.meta.blob.hash[8] = (unsigned char)0;
  state___1.meta.blob.hash[9] = (unsigned char)0;
  state___1.meta.blob.hash[10] = (unsigned char)0;
  state___1.meta.blob.hash[11] = (unsigned char)0;
  state___1.meta.blob.hash[12] = (unsigned char)0;
  state___1.meta.blob.hash[13] = (unsigned char)0;
  state___1.meta.blob.hash[14] = (unsigned char)0;
  state___1.meta.blob.hash[15] = (unsigned char)0;
  state___1.meta.blob.hash[16] = (unsigned char)0;
  state___1.meta.blob.hash[17] = (unsigned char)0;
  state___1.meta.blob.hash[18] = (unsigned char)0;
  state___1.meta.blob.hash[19] = (unsigned char)0;
  state___1.meta.blob.hash[20] = (unsigned char)0;
  state___1.meta.blob.hash[21] = (unsigned char)0;
  state___1.meta.blob.hash[22] = (unsigned char)0;
  state___1.meta.blob.hash[23] = (unsigned char)0;
  state___1.meta.blob.hash[24] = (unsigned char)0;
  state___1.meta.blob.hash[25] = (unsigned char)0;
  state___1.meta.blob.hash[26] = (unsigned char)0;
  state___1.meta.blob.hash[27] = (unsigned char)0;
  state___1.meta.blob.hash[28] = (unsigned char)0;
  state___1.meta.blob.hash[29] = (unsigned char)0;
  state___1.meta.blob.hash[30] = (unsigned char)0;
  state___1.meta.blob.hash[31] = (unsigned char)0;
  state___1.meta.blob.algo = 0;
  state___1.force = 0U;
  state___1.quiet = 0U;
  state___1.not_new = 0U;
  state___1.clone = 0U;
  state___1.refresh_cache = 0U;
  nr_checkouts = 0;
  nr_unmerged = 0;
  errs = 0;
  state___1.force = 1U;
  state___1.refresh_cache = 1U;
  state___1.istate = & the_index;
  mem_pool_init(& ce_mem_pool, (size_t )0);
  get_parallel_checkout_configs(& pc_workers, & pc_threshold);
  if (info___0->commit) {
    tmp = (struct object_id *)(& (info___0->commit)->object.oid);
  } else {
    tmp = & info___0->oid;
  }
  init_checkout_metadata(& state___1.meta, (char const   *)info___0->refname, (struct object_id  const  *)tmp,
                         (struct object_id  const  *)((void *)0));
  enable_delayed_checkout(& state___1);
  if (pc_workers > 1) {
    init_parallel_checkout();
  }
  pos = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )pos < the_index.cache_nr)) {
      goto while_break;
    }
    ce = *(the_index.cache + pos);
    if (ce->ce_flags & (unsigned int )(1 << 26)) {
      if (! ((12288U & ce->ce_flags) >> 12)) {
        tmp___0 = checkout_entry(ce, (struct checkout  const  *)(& state___1), (char *)((void *)0),
                                 & nr_checkouts);
        errs |= tmp___0;
        goto __Cont;
      }
      if (opts___1->writeout_stage) {
        tmp___1 = checkout_stage___0((int )opts___1->writeout_stage, (struct cache_entry  const  *)ce,
                                     pos, (struct checkout  const  *)(& state___1),
                                     & nr_checkouts, (int )opts___1->overlay_mode);
        errs |= tmp___1;
      } else
      if (opts___1->merge) {
        tmp___2 = checkout_merged(pos, (struct checkout  const  *)(& state___1), & nr_unmerged,
                                  & ce_mem_pool);
        errs |= tmp___2;
      }
      tmp___3 = skip_same_name((struct cache_entry  const  *)ce, pos);
      pos = tmp___3 - 1;
    }
    __Cont: /* CIL Label */
    pos ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (pc_workers > 1) {
    tmp___4 = run_parallel_checkout(& state___1, pc_workers, pc_threshold, (struct progress *)((void *)0),
                                    (unsigned int *)((void *)0));
    errs |= tmp___4;
  }
  tmp___5 = should_validate_cache_entries();
  mem_pool_discard(& ce_mem_pool, tmp___5);
  remove_marked_cache_entries(& the_index, 1);
  remove_scheduled_dirs();
  tmp___6 = finish_delayed_checkout(& state___1, & nr_checkouts, (int )opts___1->show_progress);
  errs |= tmp___6;
  if (opts___1->count_checkout_paths) {
    if (nr_unmerged) {
      tmp___7 = Q_((char const   *)"Recreated %d merge conflict", (char const   *)"Recreated %d merge conflicts",
                   (unsigned long )nr_unmerged);
      fprintf_ln(stderr, (char const   *)tmp___7, nr_unmerged);
    }
    if (opts___1->source_tree) {
      tmp___8 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& (opts___1->source_tree)->object.oid),
                                        default_abbrev);
      tmp___9 = Q_((char const   *)"Updated %d path from %s", (char const   *)"Updated %d paths from %s",
                   (unsigned long )nr_checkouts);
      fprintf_ln(stderr, (char const   *)tmp___9, nr_checkouts, tmp___8);
    } else
    if (! nr_unmerged) {
      tmp___10 = Q_((char const   *)"Updated %d path from the index", (char const   *)"Updated %d paths from the index",
                    (unsigned long )nr_checkouts);
      fprintf_ln(stderr, (char const   *)tmp___10, nr_checkouts);
    } else
    if (nr_checkouts) {
      tmp___10 = Q_((char const   *)"Updated %d path from the index", (char const   *)"Updated %d paths from the index",
                    (unsigned long )nr_checkouts);
      fprintf_ln(stderr, (char const   *)tmp___10, nr_checkouts);
    }
  }
  return (errs);
}
}
static char *ps_matched  ;
static int checkout_paths(struct checkout_opts  const  *opts___1 , struct branch_info  const  *new_branch_info )
{
  int pos ;
  struct object_id rev ;
  struct commit *head___1 ;
  int errs ;
  struct lock_file lock_file___0 ;
  int checkout_index ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const   *patch_mode ;
  char const   *rev___0 ;
  char rev_oid[65] ;
  char *tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  void *tmp___17 ;
  int tmp___18 ;
  struct cache_entry  const  *ce ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  int tmp___26 ;
  int tmp___27 ;

  {
  errs = 0;
  lock_file___0.tempfile = (struct tempfile *)0;
  if (opts___1->patch_mode) {
    tmp = "patch";
  } else {
    tmp = "path";
  }
  trace2_cmd_mode_fl((char const   *)"builtin/checkout.c", 451, (char const   *)tmp);
  if ((int )opts___1->track != -1) {
    tmp___0 = _((char const   *)"\'%s\' cannot be used with updating paths");
    die((char const   *)tmp___0, "--track");
  }
  if (opts___1->new_branch_log) {
    tmp___1 = _((char const   *)"\'%s\' cannot be used with updating paths");
    die((char const   *)tmp___1, "-l");
  }
  if (opts___1->ignore_unmerged) {
    if (opts___1->patch_mode) {
      tmp___2 = _((char const   *)"\'%s\' cannot be used with updating paths");
      die((char const   *)tmp___2, opts___1->ignore_unmerged_opt);
    }
  }
  if (opts___1->force_detach) {
    tmp___3 = _((char const   *)"\'%s\' cannot be used with updating paths");
    die((char const   *)tmp___3, "--detach");
  }
  if (opts___1->merge) {
    if (opts___1->patch_mode) {
      tmp___4 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___4, "--merge", "--patch");
    }
  }
  if (opts___1->ignore_unmerged) {
    if (opts___1->merge) {
      tmp___5 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___5, opts___1->ignore_unmerged_opt, "-m");
    }
  }
  if (opts___1->new_branch) {
    tmp___6 = _((char const   *)"Cannot update paths and switch to branch \'%s\' at the same time.");
    die((char const   *)tmp___6, opts___1->new_branch);
  }
  if (! opts___1->checkout_worktree) {
    if (! opts___1->checkout_index) {
      tmp___7 = _((char const   *)"neither \'%s\' or \'%s\' is specified");
      die((char const   *)tmp___7, "--staged", "--worktree");
    }
  }
  if (! opts___1->checkout_worktree) {
    if (! opts___1->from_treeish) {
      tmp___8 = _((char const   *)"\'%s\' must be used when \'%s\' is not specified");
      die((char const   *)tmp___8, "--worktree", "--source");
    }
  }
  if (opts___1->checkout_index) {
    if (! opts___1->checkout_worktree) {
      if (opts___1->writeout_stage) {
        tmp___9 = _((char const   *)"\'%s\' or \'%s\' cannot be used with %s");
        die((char const   *)tmp___9, "--ours", "--theirs", "--staged");
      }
    }
  }
  if (opts___1->checkout_index) {
    if (! opts___1->checkout_worktree) {
      if (opts___1->merge) {
        tmp___10 = _((char const   *)"\'%s\' or \'%s\' cannot be used with %s");
        die((char const   *)tmp___10, "--merge", "--conflict", "--staged");
      }
    }
  }
  if (opts___1->patch_mode) {
    rev___0 = (char const   *)new_branch_info->name;
    if (rev___0) {
      if (new_branch_info->commit) {
        tmp___12 = strcmp(rev___0, (char const   *)"HEAD");
        if (tmp___12) {
          tmp___11 = oid_to_hex_r(rev_oid, (struct object_id  const  *)(& (new_branch_info->commit)->object.oid));
          rev___0 = (char const   *)tmp___11;
        }
      }
    }
    if (opts___1->checkout_index) {
      if (opts___1->checkout_worktree) {
        patch_mode = (char const   *)"--patch=checkout";
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if (opts___1->checkout_index) {
      if (! opts___1->checkout_worktree) {
        patch_mode = (char const   *)"--patch=reset";
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (! opts___1->checkout_index) {
      if (opts___1->checkout_worktree) {
        patch_mode = (char const   *)"--patch=worktree";
      } else {
        BUG_fl((char const   *)"builtin/checkout.c", 521, (char const   *)"either flag must have been set, worktree=%d, index=%d",
               opts___1->checkout_worktree, opts___1->checkout_index);
      }
    } else {
      BUG_fl((char const   *)"builtin/checkout.c", 521, (char const   *)"either flag must have been set, worktree=%d, index=%d",
             opts___1->checkout_worktree, opts___1->checkout_index);
    }
    tmp___13 = run_add_interactive(rev___0, patch_mode, (struct pathspec  const  *)(& opts___1->pathspec));
    return (tmp___13);
  }
  repo_hold_locked_index(the_repository, & lock_file___0, 1);
  tmp___16 = repo_read_index_preload(the_repository, (struct pathspec  const  *)(& opts___1->pathspec),
                                     0U);
  if (tmp___16 < 0) {
    tmp___14 = _((char const   *)"index file corrupt");
    error((char const   *)tmp___14);
    tmp___15 = const_error();
    return (tmp___15);
  }
  if (opts___1->source_tree) {
    read_tree_some((struct tree *)opts___1->source_tree, (struct pathspec  const  *)(& opts___1->pathspec));
  }
  tmp___17 = xcalloc((size_t )opts___1->pathspec.nr, (size_t )1);
  ps_matched = (char *)tmp___17;
  pos = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )pos < the_index.cache_nr)) {
      goto while_break;
    }
    if (opts___1->overlay_mode) {
      mark_ce_for_checkout_overlay(*(the_index.cache + pos), ps_matched, opts___1);
    } else {
      mark_ce_for_checkout_no_overlay(*(the_index.cache + pos), ps_matched, opts___1);
    }
    pos ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___18 = report_path_error((char const   *)ps_matched, (struct pathspec  const  *)(& opts___1->pathspec));
  if (tmp___18) {
    free((void *)ps_matched);
    return (1);
  }
  free((void *)ps_matched);
  if (opts___1->merge) {
    unmerge_marked_index(& the_index);
  }
  pos = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )pos < the_index.cache_nr)) {
      goto while_break___0;
    }
    ce = (struct cache_entry  const  *)*(the_index.cache + pos);
    if (ce->ce_flags & (unsigned int )(1 << 26)) {
      if (! ((12288U & ce->ce_flags) >> 12)) {
        goto __Cont;
      }
      if (opts___1->ignore_unmerged) {
        if (! opts___1->quiet) {
          tmp___19 = _((char const   *)"path \'%s\' is unmerged");
          warning((char const   *)tmp___19, ce->name);
        }
      } else
      if (opts___1->writeout_stage) {
        tmp___20 = check_stage((int )opts___1->writeout_stage, ce, pos, (int )opts___1->overlay_mode);
        errs |= tmp___20;
      } else
      if (opts___1->merge) {
        tmp___21 = check_stages((unsigned int )((1 << 2) | (1 << 3)), ce, pos);
        errs |= tmp___21;
      } else {
        errs = 1;
        tmp___22 = _((char const   *)"path \'%s\' is unmerged");
        error((char const   *)tmp___22, ce->name);
        const_error();
      }
      tmp___23 = skip_same_name(ce, pos);
      pos = tmp___23 - 1;
    }
    __Cont: /* CIL Label */
    pos ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (errs) {
    return (1);
  }
  if (opts___1->checkout_worktree) {
    tmp___24 = checkout_worktree(opts___1, new_branch_info);
    errs |= tmp___24;
  } else {
    remove_marked_cache_entries(& the_index, 1);
  }
  if (opts___1->checkout_worktree) {
    if (! opts___1->checkout_index) {
      if (! opts___1->source_tree) {
        checkout_index = 1;
      } else {
        checkout_index = (int )opts___1->checkout_index;
      }
    } else {
      checkout_index = (int )opts___1->checkout_index;
    }
  } else {
    checkout_index = (int )opts___1->checkout_index;
  }
  if (checkout_index) {
    tmp___26 = write_locked_index(& the_index, & lock_file___0, 1U);
    if (tmp___26) {
      tmp___25 = _((char const   *)"unable to write new index file");
      die((char const   *)tmp___25);
    }
  } else {
    rollback_lock_file(& lock_file___0);
  }
  read_ref_full((char const   *)"HEAD", 0, & rev, (int *)((void *)0));
  head___1 = lookup_commit_reference_gently(the_repository, (struct object_id  const  *)(& rev),
                                            1);
  tmp___27 = post_checkout_hook(head___1, head___1, 0);
  errs |= tmp___27;
  return (errs);
}
}
static void show_local_changes(struct object *head___1 , struct diff_options  const  *opts___1 )
{
  struct rev_info rev ;

  {
  repo_init_revisions(the_repository, & rev, (char const   *)((void *)0));
  rev.diffopt.flags = (struct diff_flags )opts___1->flags;
  rev.diffopt.output_format |= 0x0200;
  diff_setup_done(& rev.diffopt);
  add_pending_object(& rev, head___1, (char const   *)((void *)0));
  run_diff_index(& rev, 0U);
  object_array_clear(& rev.pending);
  return;
}
}
static void describe_detached_head(char const   *msg___5 , struct commit *commit )
{
  struct strbuf sb___6 ;
  int tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = repo_parse_commit(the_repository, commit);
  if (! tmp) {
    pp_commit_easy((enum cmit_fmt )5, (struct commit  const  *)commit, & sb___6);
  }
  tmp___2 = print_sha1_ellipsis();
  if (tmp___2) {
    tmp___0 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& commit->object.oid),
                                      default_abbrev);
    fprintf(stderr, (char const   *)"%s %s... %s\n", msg___5, tmp___0, sb___6.buf);
  } else {
    tmp___1 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& commit->object.oid),
                                      default_abbrev);
    fprintf(stderr, (char const   *)"%s %s %s\n", msg___5, tmp___1, sb___6.buf);
  }
  strbuf_release(& sb___6);
  return;
}
}
static int reset_tree(struct tree *tree , struct checkout_opts  const  *o , int worktree ,
                      int *writeout_error , struct branch_info *info___0 )
{
  struct unpack_trees_options opts___1 ;
  struct tree_desc tree_desc ;
  int tmp ;
  struct object_id  const  *tmp___0 ;
  struct object_id  const  *tmp___1 ;
  int tmp___2 ;

  {
  memset((void *)(& opts___1), 0, sizeof(opts___1));
  opts___1.head_idx = -1;
  opts___1.update = (unsigned int )worktree;
  opts___1.skip_unmerged = (unsigned int )(! worktree);
  if (o->force) {
    opts___1.reset = (enum unpack_trees_reset_type )3;
  } else {
    opts___1.reset = (enum unpack_trees_reset_type )2;
  }
  if (! o->force) {
    if (! o->overwrite_ignore) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  opts___1.preserve_ignored = (unsigned int )tmp;
  opts___1.merge = 1U;
  opts___1.fn = & oneway_merge;
  opts___1.verbose_update = (unsigned int )o->show_progress;
  opts___1.src_index = & the_index;
  opts___1.dst_index = & the_index;
  if (info___0->commit) {
    tmp___1 = (struct object_id  const  *)(& (info___0->commit)->object.oid);
  } else {
    tmp___0 = null_oid();
    tmp___1 = tmp___0;
  }
  init_checkout_metadata(& opts___1.meta, (char const   *)info___0->refname, tmp___1,
                         (struct object_id  const  *)((void *)0));
  parse_tree(tree);
  init_tree_desc(& tree_desc, (void const   *)tree->buffer, tree->size);
  tmp___2 = unpack_trees(1U, & tree_desc, & opts___1);
  {
  if (tmp___2 == -2) {
    goto case_neg_2;
  }
  if (tmp___2 == 0) {
    goto case_0;
  }
  goto switch_default;
  case_neg_2: /* CIL Label */
  *writeout_error = 1;
  case_0: /* CIL Label */
  return (0);
  switch_default: /* CIL Label */
  return (128);
  switch_break: /* CIL Label */ ;
  }
}
}
static void setup_branch_path(struct branch_info *branch___0 )
{
  struct strbuf buf___19 ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = strlen((char const   *)branch___0->name);
  tmp___0 = dwim_ref((char const   *)branch___0->name, (int )tmp, & branch___0->oid,
                     & branch___0->refname, 0);
  if (! tmp___0) {
    repo_get_oid_committish(the_repository, (char const   *)branch___0->name, & branch___0->oid);
  }
  strbuf_branchname(& buf___19, (char const   *)branch___0->name, 1U);
  tmp___1 = strcmp((char const   *)buf___19.buf, (char const   *)branch___0->name);
  if (tmp___1) {
    free((void *)branch___0->name);
    branch___0->name = xstrdup((char const   *)buf___19.buf);
  }
  strbuf_splice(& buf___19, (size_t )0, (size_t )0, (void const   *)"refs/heads/",
                (size_t )11);
  free((void *)branch___0->path);
  branch___0->path = strbuf_detach(& buf___19, (size_t *)((void *)0));
  return;
}
}
static int merge_working_tree(struct checkout_opts  const  *opts___1 , struct branch_info *old_branch_info ,
                              struct branch_info *new_branch_info , int *writeout_error )
{
  int ret___67 ;
  struct lock_file lock_file___0 ;
  struct tree *new_tree___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct tree_desc trees___0[2] ;
  struct tree *tree ;
  struct unpack_trees_options topts ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  struct object_id *tmp___6 ;
  struct object_id  const  *tmp___7 ;
  struct tree *work ;
  struct tree *old_tree___0 ;
  struct merge_options___0 o ;
  struct strbuf sb___6 ;
  struct strbuf old_commit_shortname ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;

  {
  lock_file___0.tempfile = (struct tempfile *)0;
  repo_hold_locked_index(the_repository, & lock_file___0, 1);
  tmp___1 = repo_read_index_preload(the_repository, (struct pathspec  const  *)((void *)0),
                                    0U);
  if (tmp___1 < 0) {
    tmp = _((char const   *)"index file corrupt");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  resolve_undo_clear_index(& the_index);
  if (opts___1->new_orphan_branch) {
    if (opts___1->orphan_from_empty_tree) {
      if (new_branch_info->commit) {
        BUG_fl((char const   *)"builtin/checkout.c", 724, (char const   *)"\'switch --orphan\' should never accept a commit as starting point");
      }
      new_tree___0 = parse_tree_indirect((struct object_id  const  *)(the_repository->hash_algo)->empty_tree);
    } else {
      new_tree___0 = repo_get_commit_tree(the_repository, (struct commit  const  *)new_branch_info->commit);
    }
  } else {
    new_tree___0 = repo_get_commit_tree(the_repository, (struct commit  const  *)new_branch_info->commit);
  }
  if (opts___1->discard_changes) {
    ret___67 = reset_tree(new_tree___0, opts___1, 1, writeout_error, new_branch_info);
    if (ret___67) {
      return (ret___67);
    }
  } else {
    memset((void *)(& topts), 0, sizeof(topts));
    topts.head_idx = -1;
    topts.src_index = & the_index;
    topts.dst_index = & the_index;
    setup_unpack_trees_porcelain(& topts, (char const   *)"checkout");
    refresh_index(& the_index, (unsigned int )(1 << 2), (struct pathspec  const  *)((void *)0),
                  (char *)((void *)0), (char const   *)((void *)0));
    tmp___3 = unmerged_index((struct index_state  const  *)(& the_index));
    if (tmp___3) {
      tmp___2 = _((char const   *)"you need to resolve your current index first");
      error((char const   *)tmp___2);
      const_error();
      return (1);
    }
    tmp___4 = is_index_unborn(& the_index);
    topts.initial_checkout = (unsigned int )tmp___4;
    topts.update = 1U;
    topts.merge = 1U;
    if (opts___1->merge) {
      if (old_branch_info->commit) {
        tmp___5 = 1;
      } else {
        tmp___5 = 0;
      }
    } else {
      tmp___5 = 0;
    }
    topts.quiet = (unsigned int )tmp___5;
    topts.verbose_update = (unsigned int )opts___1->show_progress;
    topts.fn = & twoway_merge;
    if (new_branch_info->commit) {
      tmp___6 = & (new_branch_info->commit)->object.oid;
    } else {
      tmp___6 = & new_branch_info->oid;
    }
    init_checkout_metadata(& topts.meta, (char const   *)new_branch_info->refname,
                           (struct object_id  const  *)tmp___6, (struct object_id  const  *)((void *)0));
    topts.preserve_ignored = (unsigned int )(! opts___1->overwrite_ignore);
    if (old_branch_info->commit) {
      tmp___7 = (struct object_id  const  *)(& (old_branch_info->commit)->object.oid);
    } else {
      tmp___7 = (struct object_id  const  *)(the_repository->hash_algo)->empty_tree;
    }
    tree = parse_tree_indirect(tmp___7);
    init_tree_desc(& trees___0[0], (void const   *)tree->buffer, tree->size);
    parse_tree(new_tree___0);
    tree = new_tree___0;
    init_tree_desc(& trees___0[1], (void const   *)tree->buffer, tree->size);
    ret___67 = unpack_trees(2U, trees___0, & topts);
    clear_unpack_trees_porcelain(& topts);
    if (ret___67 == -1) {
      sb___6.alloc = 0UL;
      sb___6.len = 0UL;
      sb___6.buf = strbuf_slopbuf;
      old_commit_shortname.alloc = 0UL;
      old_commit_shortname.len = 0UL;
      old_commit_shortname.buf = strbuf_slopbuf;
      if (! opts___1->merge) {
        return (1);
      }
      if (! old_branch_info->commit) {
        return (1);
      }
      old_tree___0 = repo_get_commit_tree(the_repository, (struct commit  const  *)old_branch_info->commit);
      tmp___9 = repo_index_has_changes(the_repository, old_tree___0, & sb___6);
      if (tmp___9) {
        tmp___8 = _((char const   *)"cannot continue with staged changes in the following files:\n%s");
        die((char const   *)tmp___8, sb___6.buf);
      }
      strbuf_release(& sb___6);
      add_files_to_cache((char const   *)((void *)0), (struct pathspec  const  *)((void *)0),
                         0);
      init_merge_options(& o, the_repository);
      o.verbosity = 0;
      work = write_in_core_index_as_tree(the_repository);
      ret___67 = reset_tree(new_tree___0, opts___1, 1, writeout_error, new_branch_info);
      if (ret___67) {
        return (ret___67);
      }
      o.ancestor = (char const   *)old_branch_info->name;
      if ((unsigned long )old_branch_info->name == (unsigned long )((void *)0)) {
        strbuf_add_unique_abbrev(& old_commit_shortname, (struct object_id  const  *)(& (old_branch_info->commit)->object.oid),
                                 default_abbrev);
        o.ancestor = (char const   *)old_commit_shortname.buf;
      }
      o.branch1 = (char const   *)new_branch_info->name;
      o.branch2 = (char const   *)"local";
      ret___67 = merge_trees(& o, new_tree___0, work, old_tree___0);
      if (ret___67 < 0) {
        tmp___10 = trace2_cmd_exit_fl((char const   *)"builtin/checkout.c", 838, 128);
        exit(tmp___10);
      }
      ret___67 = reset_tree(new_tree___0, opts___1, 0, writeout_error, new_branch_info);
      strbuf_release(& o.obuf);
      strbuf_release(& old_commit_shortname);
      if (ret___67) {
        return (ret___67);
      }
    }
  }
  tmp___11 = cache_tree_fully_valid(the_index.cache_tree);
  if (! tmp___11) {
    cache_tree_update(& the_index, 24);
  }
  tmp___13 = write_locked_index(& the_index, & lock_file___0, 1U);
  if (tmp___13) {
    tmp___12 = _((char const   *)"unable to write new index file");
    die((char const   *)tmp___12);
  }
  if (! opts___1->discard_changes) {
    if (! opts___1->quiet) {
      if (new_branch_info->commit) {
        show_local_changes(& (new_branch_info->commit)->object, (struct diff_options  const  *)(& opts___1->diff_options));
      }
    }
  }
  return (0);
}
}
static void report_tracking(struct branch_info *new_branch_info )
{
  struct strbuf sb___6 ;
  struct branch *branch___0 ;
  struct branch *tmp ;
  int tmp___0 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = branch_get((char const   *)new_branch_info->name);
  branch___0 = tmp;
  tmp___0 = format_tracking_info(branch___0, & sb___6, (enum ahead_behind_flags )1);
  if (! tmp___0) {
    return;
  }
  fputs((char const   * __restrict  )sb___6.buf, (FILE * __restrict  )stdout);
  strbuf_release(& sb___6);
  return;
}
}
static void update_refs_for_switch(struct checkout_opts  const  *opts___1 , struct branch_info *old_branch_info ,
                                   struct branch_info *new_branch_info )
{
  struct strbuf msg___5 ;
  char const   *old_desc ;
  char const   *reflog_msg ;
  char *refname ;
  int ret___67 ;
  struct strbuf err___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;
  char const   *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;

  {
  msg___5.alloc = 0UL;
  msg___5.len = 0UL;
  msg___5.buf = strbuf_slopbuf;
  if (opts___1->new_branch) {
    if (opts___1->new_orphan_branch) {
      refname = mkpathdup((char const   *)"refs/heads/%s", opts___1->new_orphan_branch);
      if (opts___1->new_branch_log) {
        tmp___0 = should_autocreate_reflog((char const   *)refname);
        if (! tmp___0) {
          err___4.alloc = 0UL;
          err___4.len = 0UL;
          err___4.buf = strbuf_slopbuf;
          ret___67 = safe_create_reflog((char const   *)refname, & err___4);
          if (ret___67) {
            tmp = _((char const   *)"Can not do reflog for \'%s\': %s\n");
            fprintf(stderr, (char const   *)tmp, opts___1->new_orphan_branch, err___4.buf);
            strbuf_release(& err___4);
            free((void *)refname);
            return;
          }
          strbuf_release(& err___4);
        }
      }
      free((void *)refname);
    } else {
      if (opts___1->new_branch_force) {
        tmp___1 = 1;
      } else {
        tmp___1 = 0;
      }
      if (opts___1->new_branch_force) {
        tmp___2 = 1;
      } else {
        tmp___2 = 0;
      }
      create_branch(the_repository, (char const   *)opts___1->new_branch, (char const   *)new_branch_info->name,
                    tmp___2, tmp___1, (int )opts___1->new_branch_log, (int )opts___1->quiet,
                    (enum branch_track )opts___1->track);
    }
    free((void *)new_branch_info->name);
    free((void *)new_branch_info->refname);
    new_branch_info->name = xstrdup((char const   *)opts___1->new_branch);
    setup_branch_path(new_branch_info);
  }
  old_desc = (char const   *)old_branch_info->name;
  if (! old_desc) {
    if (old_branch_info->commit) {
      tmp___3 = oid_to_hex((struct object_id  const  *)(& (old_branch_info->commit)->object.oid));
      old_desc = (char const   *)tmp___3;
    }
  }
  tmp___4 = getenv((char const   *)"GIT_REFLOG_ACTION");
  reflog_msg = (char const   *)tmp___4;
  if (! reflog_msg) {
    if (old_desc) {
      tmp___5 = old_desc;
    } else {
      tmp___5 = (char const   *)"(invalid)";
    }
    strbuf_addf(& msg___5, (char const   *)"checkout: moving from %s to %s", tmp___5,
                new_branch_info->name);
  } else {
    strbuf_insertstr(& msg___5, (size_t )0, reflog_msg);
  }
  tmp___18 = strcmp((char const   *)new_branch_info->name, (char const   *)"HEAD");
  if (tmp___18) {
    _L___2: /* CIL Label */
    _L___1: /* CIL Label */
    if (opts___1->force_detach) {
      goto _L___0;
    } else
    if (! new_branch_info->path) {
      _L___0: /* CIL Label */
      update_ref((char const   *)msg___5.buf, (char const   *)"HEAD", (struct object_id  const  *)(& (new_branch_info->commit)->object.oid),
                 (struct object_id  const  *)((void *)0), 1U, (enum action_on_err )1);
      if (! opts___1->quiet) {
        if (old_branch_info->path) {
          tmp___6 = advice_enabled((enum advice_type )6);
          if (tmp___6) {
            if (! opts___1->force_detach) {
              detach_advice((char const   *)new_branch_info->name);
            }
          }
        }
        tmp___7 = _((char const   *)"HEAD is now at");
        describe_detached_head((char const   *)tmp___7, new_branch_info->commit);
      }
    } else
    if (new_branch_info->path) {
      tmp___9 = create_symref((char const   *)"HEAD", (char const   *)new_branch_info->path,
                              (char const   *)msg___5.buf);
      if (tmp___9 < 0) {
        tmp___8 = _((char const   *)"unable to update HEAD");
        die((char const   *)tmp___8);
      }
      if (! opts___1->quiet) {
        if (old_branch_info->path) {
          tmp___15 = strcmp((char const   *)new_branch_info->path, (char const   *)old_branch_info->path);
          if (tmp___15) {
            goto _L;
          } else
          if (opts___1->new_branch_force) {
            tmp___10 = _((char const   *)"Reset branch \'%s\'\n");
            fprintf(stderr, (char const   *)tmp___10, new_branch_info->name);
          } else {
            tmp___11 = _((char const   *)"Already on \'%s\'\n");
            fprintf(stderr, (char const   *)tmp___11, new_branch_info->name);
          }
        } else
        _L: /* CIL Label */
        if (opts___1->new_branch) {
          if (opts___1->branch_exists) {
            tmp___12 = _((char const   *)"Switched to and reset branch \'%s\'\n");
            fprintf(stderr, (char const   *)tmp___12, new_branch_info->name);
          } else {
            tmp___13 = _((char const   *)"Switched to a new branch \'%s\'\n");
            fprintf(stderr, (char const   *)tmp___13, new_branch_info->name);
          }
        } else {
          tmp___14 = _((char const   *)"Switched to branch \'%s\'\n");
          fprintf(stderr, (char const   *)tmp___14, new_branch_info->name);
        }
      }
      if (old_branch_info->path) {
        if (old_branch_info->name) {
          tmp___16 = ref_exists((char const   *)old_branch_info->path);
          if (! tmp___16) {
            tmp___17 = reflog_exists((char const   *)old_branch_info->path);
            if (tmp___17) {
              delete_reflog((char const   *)old_branch_info->path);
            }
          }
        }
      }
    }
  } else
  if (! new_branch_info->path) {
    if (! (! opts___1->force_detach)) {
      goto _L___2;
    }
  } else {
    goto _L___2;
  }
  remove_branch_state(the_repository, ! opts___1->quiet);
  strbuf_release(& msg___5);
  if (! opts___1->quiet) {
    if (new_branch_info->path) {
      report_tracking(new_branch_info);
    } else
    if (! opts___1->force_detach) {
      tmp___19 = strcmp((char const   *)new_branch_info->name, (char const   *)"HEAD");
      if (! tmp___19) {
        report_tracking(new_branch_info);
      }
    }
  }
  return;
}
}
static int add_pending_uninteresting_ref(char const   *refname , struct object_id  const  *oid ,
                                         int flags___0 , void *cb_data )
{


  {
  add_pending_oid((struct rev_info *)cb_data, refname, oid, 1u << 1);
  return (0);
}
}
static void describe_one_orphan(struct strbuf *sb___6 , struct commit *commit )
{
  int tmp ;

  {
  strbuf_addstr(sb___6, (char const   *)"  ");
  strbuf_add_unique_abbrev(sb___6, (struct object_id  const  *)(& commit->object.oid),
                           default_abbrev);
  strbuf_addch(sb___6, ' ');
  tmp = repo_parse_commit(the_repository, commit);
  if (! tmp) {
    pp_commit_easy((enum cmit_fmt )5, (struct commit  const  *)commit, sb___6);
  }
  strbuf_addch(sb___6, '\n');
  return;
}
}
static void suggest_reattach(struct commit *commit , struct rev_info *revs )
{
  struct commit *c___0 ;
  struct commit *last ;
  struct strbuf sb___6 ;
  int lost ;
  int more ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___0 ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  last = (struct commit *)((void *)0);
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  lost = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    c___0 = get_revision(revs);
    if (! ((unsigned long )c___0 != (unsigned long )((void *)0))) {
      goto while_break;
    }
    if (lost < 4) {
      describe_one_orphan(& sb___6, c___0);
    }
    last = c___0;
    lost ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (4 < lost) {
    more = lost - 4;
    if (more == 1) {
      describe_one_orphan(& sb___6, last);
    } else {
      tmp = _((char const   *)" ... and %d more.\n");
      strbuf_addf(& sb___6, (char const   *)tmp, more);
    }
  }
  tmp___0 = Q_((char const   *)"Warning: you are leaving %d commit behind, not connected to\nany of your branches:\n\n%s\n",
               (char const   *)"Warning: you are leaving %d commits behind, not connected to\nany of your branches:\n\n%s\n",
               (unsigned long )lost);
  fprintf(stderr, (char const   *)tmp___0, lost, sb___6.buf);
  strbuf_release(& sb___6);
  tmp___3 = advice_enabled((enum advice_type )6);
  if (tmp___3) {
    tmp___1 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& commit->object.oid),
                                      default_abbrev);
    tmp___2 = Q_((char const   *)"If you want to keep it by creating a new branch, this may be a good time\nto do so with:\n\n git branch <new-branch-name> %s\n\n",
                 (char const   *)"If you want to keep them by creating a new branch, this may be a good time\nto do so with:\n\n git branch <new-branch-name> %s\n\n",
                 (unsigned long )lost);
    fprintf(stderr, (char const   *)tmp___2, tmp___1);
  }
  return;
}
}
static void orphaned_commit_warning(struct commit *old_commit , struct commit *new_commit )
{
  struct rev_info revs ;
  struct object *object ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  object = & old_commit->object;
  repo_init_revisions(the_repository, & revs, (char const   *)((void *)0));
  setup_revisions(0, (char const   **)((void *)0), & revs, (struct setup_revision_opt *)((void *)0));
  object->flags &= ~ (1u << 1);
  tmp = oid_to_hex((struct object_id  const  *)(& object->oid));
  add_pending_object(& revs, object, (char const   *)tmp);
  for_each_ref(& add_pending_uninteresting_ref, (void *)(& revs));
  if (new_commit) {
    add_pending_oid(& revs, (char const   *)"HEAD", (struct object_id  const  *)(& new_commit->object.oid),
                    1u << 1);
  }
  tmp___1 = prepare_revision_walk(& revs);
  if (tmp___1) {
    tmp___0 = _((char const   *)"internal error in revision walk");
    die((char const   *)tmp___0);
  }
  if (! (old_commit->object.flags & (1u << 1))) {
    suggest_reattach(old_commit, & revs);
  } else {
    tmp___2 = _((char const   *)"Previous HEAD position was");
    describe_detached_head((char const   *)tmp___2, old_commit);
  }
  repo_clear_commit_marks(the_repository, ((((1u << 11) - 1U) | (1u << 25)) | (1u << 26)) | (1u << 15));
  return;
}
}
static int switch_branches(struct checkout_opts  const  *opts___1 , struct branch_info *new_branch_info )
{
  int ret___67 ;
  struct branch_info old_branch_info ;
  struct object_id rev ;
  int flag ;
  int writeout_error ;
  int do_merge___0 ;
  char const   *prefix___1 ;
  char const   *p___0 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  ret___67 = 0;
  old_branch_info.name = (char *)0;
  old_branch_info.path = (char *)0;
  old_branch_info.commit = (struct commit *)0;
  old_branch_info.refname = (char *)0;
  old_branch_info.oid.hash[0] = (unsigned char)0;
  old_branch_info.oid.hash[1] = (unsigned char)0;
  old_branch_info.oid.hash[2] = (unsigned char)0;
  old_branch_info.oid.hash[3] = (unsigned char)0;
  old_branch_info.oid.hash[4] = (unsigned char)0;
  old_branch_info.oid.hash[5] = (unsigned char)0;
  old_branch_info.oid.hash[6] = (unsigned char)0;
  old_branch_info.oid.hash[7] = (unsigned char)0;
  old_branch_info.oid.hash[8] = (unsigned char)0;
  old_branch_info.oid.hash[9] = (unsigned char)0;
  old_branch_info.oid.hash[10] = (unsigned char)0;
  old_branch_info.oid.hash[11] = (unsigned char)0;
  old_branch_info.oid.hash[12] = (unsigned char)0;
  old_branch_info.oid.hash[13] = (unsigned char)0;
  old_branch_info.oid.hash[14] = (unsigned char)0;
  old_branch_info.oid.hash[15] = (unsigned char)0;
  old_branch_info.oid.hash[16] = (unsigned char)0;
  old_branch_info.oid.hash[17] = (unsigned char)0;
  old_branch_info.oid.hash[18] = (unsigned char)0;
  old_branch_info.oid.hash[19] = (unsigned char)0;
  old_branch_info.oid.hash[20] = (unsigned char)0;
  old_branch_info.oid.hash[21] = (unsigned char)0;
  old_branch_info.oid.hash[22] = (unsigned char)0;
  old_branch_info.oid.hash[23] = (unsigned char)0;
  old_branch_info.oid.hash[24] = (unsigned char)0;
  old_branch_info.oid.hash[25] = (unsigned char)0;
  old_branch_info.oid.hash[26] = (unsigned char)0;
  old_branch_info.oid.hash[27] = (unsigned char)0;
  old_branch_info.oid.hash[28] = (unsigned char)0;
  old_branch_info.oid.hash[29] = (unsigned char)0;
  old_branch_info.oid.hash[30] = (unsigned char)0;
  old_branch_info.oid.hash[31] = (unsigned char)0;
  old_branch_info.oid.algo = 0;
  old_branch_info.checkout = (char *)0;
  writeout_error = 0;
  do_merge___0 = 1;
  trace2_cmd_mode_fl((char const   *)"builtin/checkout.c", 1083, (char const   *)"branch");
  memset((void *)(& old_branch_info), 0, sizeof(old_branch_info));
  old_branch_info.path = resolve_refdup((char const   *)"HEAD", 0, & rev, & flag);
  if (old_branch_info.path) {
    old_branch_info.commit = lookup_commit_reference_gently(the_repository, (struct object_id  const  *)(& rev),
                                                            1);
  }
  if (! (flag & 0x01)) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      free((void *)old_branch_info.path);
      old_branch_info.path = (char *)((void *)0);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (old_branch_info.path) {
    prefix___1 = (char const   *)"refs/heads/";
    tmp = skip_prefix((char const   *)old_branch_info.path, (char const   *)prefix___1,
                      & p___0);
    if (tmp) {
      old_branch_info.name = xstrdup(p___0);
    } else {
      BUG_fl((char const   *)"builtin/checkout.c", 1099, (char const   *)"should be able to skip past \'%s\' in \'%s\'!",
             prefix___1, old_branch_info.path);
    }
  }
  if (opts___1->new_orphan_branch) {
    if (opts___1->orphan_from_empty_tree) {
      if (new_branch_info->name) {
        BUG_fl((char const   *)"builtin/checkout.c", 1104, (char const   *)"\'switch --orphan\' should never accept a commit as starting point");
      }
      new_branch_info->commit = (struct commit *)((void *)0);
      new_branch_info->name = xstrdup((char const   *)"(empty)");
      do_merge___0 = 1;
    }
  }
  if (! new_branch_info->name) {
    new_branch_info->name = xstrdup((char const   *)"HEAD");
    new_branch_info->commit = old_branch_info.commit;
    if (! new_branch_info->commit) {
      tmp___0 = _((char const   *)"You are on a branch yet to be born");
      die((char const   *)tmp___0);
    }
    parse_commit_or_die(new_branch_info->commit);
    if (opts___1->only_merge_on_switching_branches) {
      do_merge___0 = 0;
    }
  }
  if (do_merge___0) {
    ret___67 = merge_working_tree(opts___1, & old_branch_info, new_branch_info, & writeout_error);
    if (ret___67) {
      branch_info_release(& old_branch_info);
      return (ret___67);
    }
  }
  if (! opts___1->quiet) {
    if (! old_branch_info.path) {
      if (old_branch_info.commit) {
        if ((unsigned long )new_branch_info->commit != (unsigned long )old_branch_info.commit) {
          orphaned_commit_warning(old_branch_info.commit, new_branch_info->commit);
        }
      }
    }
  }
  update_refs_for_switch(opts___1, & old_branch_info, new_branch_info);
  ret___67 = post_checkout_hook(old_branch_info.commit, new_branch_info->commit, 1);
  branch_info_release(& old_branch_info);
  if (ret___67) {
    tmp___1 = 1;
  } else
  if (writeout_error) {
    tmp___1 = 1;
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static int git_checkout_config(char const   *var , char const   *value , void *cb )
{
  struct checkout_opts *opts___1 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  opts___1 = (struct checkout_opts *)cb;
  tmp = strcmp(var, (char const   *)"diff.ignoresubmodules");
  if (! tmp) {
    handle_ignore_submodules_arg(& opts___1->diff_options, value);
    return (0);
  }
  tmp___0 = strcmp(var, (char const   *)"checkout.guess");
  if (! tmp___0) {
    opts___1->dwim_new_local_branch = git_config_bool(var, value);
    return (0);
  }
  tmp___2 = starts_with(var, (char const   *)"submodule.");
  if (tmp___2) {
    tmp___1 = git_default_submodule_config(var, value, (void *)0);
    return (tmp___1);
  }
  tmp___3 = git_xmerge_config(var, value, (void *)0);
  return (tmp___3);
}
}
static void setup_new_branch_info_and_source_tree(struct branch_info *new_branch_info ,
                                                  struct checkout_opts *opts___1 ,
                                                  struct object_id *rev , char const   *arg )
{
  struct tree **source_tree ;
  struct object_id branch_rev ;
  int tmp ;
  int tmp___0 ;

  {
  source_tree = & opts___1->source_tree;
  new_branch_info->name = xstrdup(arg);
  setup_branch_path(new_branch_info);
  tmp = check_refname_format((char const   *)new_branch_info->path, 0);
  if (tmp) {
    _L: /* CIL Label */
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      free((void *)new_branch_info->path);
      new_branch_info->path = (char *)((void *)0);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
  } else {
    tmp___0 = read_ref((char const   *)new_branch_info->path, & branch_rev);
    if (tmp___0) {
      goto _L;
    } else {
      oidcpy(rev, (struct object_id  const  *)(& branch_rev));
    }
  }
  new_branch_info->commit = lookup_commit_reference_gently(the_repository, (struct object_id  const  *)rev,
                                                           1);
  if (! new_branch_info->commit) {
    *source_tree = parse_tree_indirect((struct object_id  const  *)rev);
  } else {
    parse_commit_or_die(new_branch_info->commit);
    *source_tree = repo_get_commit_tree(the_repository, (struct commit  const  *)new_branch_info->commit);
  }
  return;
}
}
static char const   *parse_remote_branch(char const   *arg , struct object_id *rev ,
                                         int could_be_checkout_paths )
{
  int num_matches ;
  char const   *remote ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  num_matches = 0;
  tmp = unique_tracking_name(arg, rev, & num_matches);
  remote = tmp;
  if (remote) {
    if (could_be_checkout_paths) {
      tmp___0 = _((char const   *)"\'%s\' could be both a local file and a tracking branch.\nPlease use -- (and optionally --no-guess) to disambiguate");
      die((char const   *)tmp___0, arg);
    }
  }
  if (! remote) {
    if (num_matches > 1) {
      tmp___2 = advice_enabled((enum advice_type )4);
      if (tmp___2) {
        tmp___1 = _((char const   *)"If you meant to check out a remote tracking branch on, e.g. \'origin\',\nyou can do so by fully qualifying the name with the --track option:\n\n    git checkout --track origin/<name>\n\nIf you\'d like to always have checkouts of an ambiguous <name> prefer\none remote, e.g. the \'origin\' remote, consider setting\ncheckout.defaultRemote=origin in your config.");
        advise((char const   *)tmp___1);
      }
      tmp___3 = _((char const   *)"\'%s\' matched multiple (%d) remote tracking branches");
      die((char const   *)tmp___3, arg, num_matches);
    }
  }
  return (remote);
}
}
static int parse_branchname_arg(int argc , char const   **argv___0 , int dwim_new_local_branch_ok ,
                                struct branch_info *new_branch_info , struct checkout_opts *opts___1 ,
                                struct object_id *rev )
{
  char const   **new_branch___0 ;
  int argcount ;
  char const   *arg ;
  int dash_dash_pos ;
  int has_dash_dash ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int recover_with_dwim ;
  int could_be_checkout_paths ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const   *remote ;
  char const   *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;

  {
  new_branch___0 = & opts___1->new_branch;
  argcount = 0;
  has_dash_dash = 0;
  if (! argc) {
    return (0);
  }
  if (! opts___1->accept_pathspec) {
    if (argc > 1) {
      tmp = _((char const   *)"only one reference expected");
      die((char const   *)tmp);
    }
    has_dash_dash = 1;
  }
  arg = *(argv___0 + 0);
  dash_dash_pos = -1;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    if (opts___1->accept_pathspec) {
      tmp___0 = strcmp(*(argv___0 + i), (char const   *)"--");
      if (! tmp___0) {
        dash_dash_pos = i;
        goto while_break;
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (dash_dash_pos == 0) {
    return (1);
  } else
  if (dash_dash_pos == 1) {
    has_dash_dash = 1;
  } else
  if (dash_dash_pos >= 2) {
    tmp___1 = _((char const   *)"only one reference expected, %d given.");
    die((char const   *)tmp___1, dash_dash_pos);
  }
  if (! opts___1->quiet) {
    if (! has_dash_dash) {
      tmp___2 = 1;
    } else {
      tmp___2 = 0;
    }
  } else {
    tmp___2 = 0;
  }
  opts___1->count_checkout_paths = tmp___2;
  tmp___3 = strcmp(arg, (char const   *)"-");
  if (! tmp___3) {
    arg = (char const   *)"@{-1}";
  }
  tmp___9 = repo_get_oid_mb(the_repository, arg, rev);
  if (tmp___9) {
    recover_with_dwim = dwim_new_local_branch_ok;
    if (! has_dash_dash) {
      tmp___4 = check_filename(opts___1->prefix, arg);
      if (tmp___4) {
        tmp___5 = 1;
      } else {
        tmp___5 = 0;
      }
    } else {
      tmp___5 = 0;
    }
    could_be_checkout_paths = tmp___5;
    if (! has_dash_dash) {
      tmp___6 = no_wildcard(arg);
      if (! tmp___6) {
        recover_with_dwim = 0;
      }
    }
    if (argc == 1) {
      if (! (! has_dash_dash)) {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if (argc == 2) {
      if (! has_dash_dash) {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (opts___1->accept_pathspec) {
      recover_with_dwim = 0;
    }
    if (recover_with_dwim) {
      tmp___7 = parse_remote_branch(arg, rev, could_be_checkout_paths);
      remote = tmp___7;
      if (remote) {
        *new_branch___0 = arg;
        arg = remote;
      } else {
        recover_with_dwim = 0;
      }
    }
    if (! recover_with_dwim) {
      if (has_dash_dash) {
        tmp___8 = _((char const   *)"invalid reference: %s");
        die((char const   *)tmp___8, arg);
      }
      return (argcount);
    }
  }
  argcount ++;
  argv___0 ++;
  argc --;
  setup_new_branch_info_and_source_tree(new_branch_info, opts___1, rev, arg);
  if (! opts___1->source_tree) {
    tmp___10 = _((char const   *)"reference is not a tree: %s");
    die((char const   *)tmp___10, arg);
  }
  if (! has_dash_dash) {
    if (argc) {
      verify_non_filename(opts___1->prefix, arg);
    }
  } else
  if (opts___1->accept_pathspec) {
    argcount ++;
    argv___0 ++;
    argc --;
  }
  return (argcount);
}
}
static int switch_unborn_to_new_branch(struct checkout_opts  const  *opts___1 )
{
  int status ;
  struct strbuf branch_ref ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  branch_ref.alloc = 0UL;
  branch_ref.len = 0UL;
  branch_ref.buf = strbuf_slopbuf;
  trace2_cmd_mode_fl((char const   *)"builtin/checkout.c", 1380, (char const   *)"unborn");
  if (! opts___1->new_branch) {
    tmp = _((char const   *)"You are on a branch yet to be born");
    die((char const   *)tmp);
  }
  strbuf_addf(& branch_ref, (char const   *)"refs/heads/%s", opts___1->new_branch);
  status = create_symref((char const   *)"HEAD", (char const   *)branch_ref.buf, (char const   *)"checkout -b");
  strbuf_release(& branch_ref);
  if (! opts___1->quiet) {
    tmp___0 = _((char const   *)"Switched to a new branch \'%s\'\n");
    fprintf(stderr, (char const   *)tmp___0, opts___1->new_branch);
  }
  return (status);
}
}
static void die_expecting_a_branch(struct branch_info  const  *branch_info )
{
  struct object_id oid ;
  char *to_free ;
  char const   *ref ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  size_t tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;

  {
  tmp___4 = strlen((char const   *)branch_info->name);
  tmp___5 = dwim_ref((char const   *)branch_info->name, (int )tmp___4, & oid, & to_free,
                     0);
  if (tmp___5 == 1) {
    ref = (char const   *)to_free;
    tmp___0 = skip_prefix(ref, (char const   *)"refs/tags/", & ref);
    if (tmp___0) {
      tmp = _((char const   *)"a branch is expected, got tag \'%s\'");
      die((char const   *)tmp, ref);
    }
    tmp___2 = skip_prefix(ref, (char const   *)"refs/remotes/", & ref);
    if (tmp___2) {
      tmp___1 = _((char const   *)"a branch is expected, got remote branch \'%s\'");
      die((char const   *)tmp___1, ref);
    }
    tmp___3 = _((char const   *)"a branch is expected, got \'%s\'");
    die((char const   *)tmp___3, ref);
  }
  if (branch_info->commit) {
    tmp___6 = _((char const   *)"a branch is expected, got commit \'%s\'");
    die((char const   *)tmp___6, branch_info->name);
  }
  tmp___7 = _((char const   *)"a branch is expected, got \'%s\'");
  die((char const   *)tmp___7, branch_info->name);
}
}
static void die_if_some_operation_in_progress(void)
{
  struct wt_status_state state___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  memset((void *)(& state___1), 0, sizeof(state___1));
  wt_status_get_state(the_repository, & state___1, 0);
  if (state___1.merge_in_progress) {
    tmp = _((char const   *)"cannot switch branch while merging\nConsider \"git merge --quit\" or \"git worktree add\".");
    die((char const   *)tmp);
  }
  if (state___1.am_in_progress) {
    tmp___0 = _((char const   *)"cannot switch branch in the middle of an am session\nConsider \"git am --quit\" or \"git worktree add\".");
    die((char const   *)tmp___0);
  }
  if (state___1.rebase_interactive_in_progress) {
    tmp___1 = _((char const   *)"cannot switch branch while rebasing\nConsider \"git rebase --quit\" or \"git worktree add\".");
    die((char const   *)tmp___1);
  } else
  if (state___1.rebase_in_progress) {
    tmp___1 = _((char const   *)"cannot switch branch while rebasing\nConsider \"git rebase --quit\" or \"git worktree add\".");
    die((char const   *)tmp___1);
  }
  if (state___1.cherry_pick_in_progress) {
    tmp___2 = _((char const   *)"cannot switch branch while cherry-picking\nConsider \"git cherry-pick --quit\" or \"git worktree add\".");
    die((char const   *)tmp___2);
  }
  if (state___1.revert_in_progress) {
    tmp___3 = _((char const   *)"cannot switch branch while reverting\nConsider \"git revert --quit\" or \"git worktree add\".");
    die((char const   *)tmp___3);
  }
  if (state___1.bisect_in_progress) {
    tmp___4 = _((char const   *)"you are switching branch while bisecting");
    warning((char const   *)tmp___4);
  }
  return;
}
}
static int checkout_branch(struct checkout_opts *opts___1 , struct branch_info *new_branch_info )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int flag ;
  char *head_ref___0 ;
  char *tmp___11 ;
  int tmp___12 ;
  struct object_id rev ;
  int flag___0 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;

  {
  if (opts___1->pathspec.nr) {
    tmp = _((char const   *)"paths cannot be used with switching branches");
    die((char const   *)tmp);
  }
  if (opts___1->patch_mode) {
    tmp___0 = _((char const   *)"\'%s\' cannot be used with switching branches");
    die((char const   *)tmp___0, "--patch");
  }
  if (opts___1->overlay_mode != -1) {
    tmp___1 = _((char const   *)"\'%s\' cannot be used with switching branches");
    die((char const   *)tmp___1, "--[no]-overlay");
  }
  if (opts___1->writeout_stage) {
    tmp___2 = _((char const   *)"\'%s\' cannot be used with switching branches");
    die((char const   *)tmp___2, "--ours/--theirs");
  }
  if (opts___1->force) {
    if (opts___1->merge) {
      tmp___3 = _((char const   *)"\'%s\' cannot be used with \'%s\'");
      die((char const   *)tmp___3, "-f", "-m");
    }
  }
  if (opts___1->discard_changes) {
    if (opts___1->merge) {
      tmp___4 = _((char const   *)"\'%s\' cannot be used with \'%s\'");
      die((char const   *)tmp___4, "--discard-changes", "--merge");
    }
  }
  if (opts___1->force_detach) {
    if (opts___1->new_branch) {
      tmp___5 = _((char const   *)"\'%s\' cannot be used with \'%s\'");
      die((char const   *)tmp___5, "--detach", "-b/-B/--orphan");
    }
  }
  if (opts___1->new_orphan_branch) {
    if ((int )opts___1->track != -1) {
      tmp___6 = _((char const   *)"\'%s\' cannot be used with \'%s\'");
      die((char const   *)tmp___6, "--orphan", "-t");
    }
    if (opts___1->orphan_from_empty_tree) {
      if (new_branch_info->name) {
        tmp___7 = _((char const   *)"\'%s\' cannot take <start-point>");
        die((char const   *)tmp___7, "--orphan");
      }
    }
  } else
  if (opts___1->force_detach) {
    if ((int )opts___1->track != -1) {
      tmp___8 = _((char const   *)"\'%s\' cannot be used with \'%s\'");
      die((char const   *)tmp___8, "--detach", "-t");
    }
  } else
  if ((int )opts___1->track == -1) {
    opts___1->track = git_branch_track;
  }
  if (new_branch_info->name) {
    if (! new_branch_info->commit) {
      tmp___9 = _((char const   *)"Cannot switch branch to a non-commit \'%s\'");
      die((char const   *)tmp___9, new_branch_info->name);
    }
  }
  if (! opts___1->switch_branch_doing_nothing_is_ok) {
    if (! new_branch_info->name) {
      if (! opts___1->new_branch) {
        if (! opts___1->force_detach) {
          tmp___10 = _((char const   *)"missing branch or commit argument");
          die((char const   *)tmp___10);
        }
      }
    }
  }
  if (! opts___1->implicit_detach) {
    if (! opts___1->force_detach) {
      if (! opts___1->new_branch) {
        if (! opts___1->new_branch_force) {
          if (new_branch_info->name) {
            if (! new_branch_info->path) {
              die_expecting_a_branch((struct branch_info  const  *)new_branch_info);
            }
          }
        }
      }
    }
  }
  if (! opts___1->can_switch_when_in_progress) {
    die_if_some_operation_in_progress();
  }
  if (new_branch_info->path) {
    if (! opts___1->force_detach) {
      if (! opts___1->new_branch) {
        if (! opts___1->ignore_other_worktrees) {
          tmp___11 = resolve_refdup((char const   *)"HEAD", 0, (struct object_id *)((void *)0),
                                    & flag);
          head_ref___0 = tmp___11;
          if (head_ref___0) {
            if (! (flag & 0x01)) {
              die_if_checked_out((char const   *)new_branch_info->path, 1);
            } else {
              tmp___12 = strcmp((char const   *)head_ref___0, (char const   *)new_branch_info->path);
              if (tmp___12) {
                die_if_checked_out((char const   *)new_branch_info->path, 1);
              }
            }
          }
          free((void *)head_ref___0);
        }
      }
    }
  }
  if (! new_branch_info->commit) {
    if (opts___1->new_branch) {
      tmp___14 = read_ref_full((char const   *)"HEAD", 0, & rev, & flag___0);
      if (! tmp___14) {
        if (flag___0 & 0x01) {
          tmp___15 = is_null_oid((struct object_id  const  *)(& rev));
          if (tmp___15) {
            tmp___13 = switch_unborn_to_new_branch((struct checkout_opts  const  *)opts___1);
            return (tmp___13);
          }
        }
      }
    }
  }
  tmp___16 = switch_branches((struct checkout_opts  const  *)opts___1, new_branch_info);
  return (tmp___16);
}
}
static struct option *add_common_options(struct checkout_opts *opts___1 , struct option *prevopts )
{
  struct option options[6] ;
  struct option *newopts ;
  struct option *tmp ;

  {
  options[0].type = (enum parse_opt_type )7;
  options[0].short_name = 'q';
  options[0].long_name = (char const   *)"quiet";
  options[0].value = (void *)(& opts___1->quiet);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"suppress progress reporting";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )12;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"recurse-submodules";
  options[1].value = (void *)0;
  options[1].argh = (char const   *)"checkout";
  options[1].help = (char const   *)"control recursive updating of submodules";
  options[1].flags = (enum parse_opt_option_flags )1;
  options[1].callback = & option_parse_recurse_submodules_worktree_updater;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"progress";
  options[2].value = (void *)(& opts___1->show_progress);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"force progress reporting";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )1;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 'm';
  options[3].long_name = (char const   *)"merge";
  options[3].value = (void *)(& opts___1->merge);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"perform a 3-way merge with the new branch";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )1;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )9;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"conflict";
  options[4].value = (void *)(& opts___1->conflict_style);
  options[4].argh = (char const   *)"style";
  options[4].help = (char const   *)"conflict style (merge, diff3, or zdiff3)";
  options[4].flags = (enum parse_opt_option_flags )0;
  options[4].callback = (parse_opt_cb *)0;
  options[4].defval = 0L;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )0;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)0;
  options[5].value = (void *)0;
  options[5].argh = (char const   *)0;
  options[5].help = (char const   *)0;
  options[5].flags = 0U;
  options[5].callback = (parse_opt_cb *)0;
  options[5].defval = 0L;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  tmp = parse_options_concat((struct option  const  *)prevopts, (struct option  const  *)(options));
  newopts = tmp;
  free((void *)prevopts);
  return (newopts);
}
}
static struct option *add_common_switch_branch_options(struct checkout_opts *opts___1 ,
                                                       struct option *prevopts )
{
  struct option options[7] ;
  struct option *newopts ;
  struct option *tmp ;

  {
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 'd';
  options[0].long_name = (char const   *)"detach";
  options[0].value = (void *)(& opts___1->force_detach);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"detach HEAD at named commit";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )12;
  options[1].short_name = 't';
  options[1].long_name = (char const   *)"track";
  options[1].value = (void *)(& opts___1->track);
  options[1].argh = (char const   *)"(direct|inherit)";
  options[1].help = (char const   *)"set branch tracking configuration";
  options[1].flags = (enum parse_opt_option_flags )1;
  options[1].callback = & parse_opt_tracking_mode;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )7;
  options[2].short_name = 'f';
  options[2].long_name = (char const   *)"force";
  options[2].value = (void *)(& opts___1->force);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"force checkout (throw away local modifications)";
  options[2].flags = (enum parse_opt_option_flags )514;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )9;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"orphan";
  options[3].value = (void *)(& opts___1->new_orphan_branch);
  options[3].argh = (char const   *)"new-branch";
  options[3].help = (char const   *)"new unparented branch";
  options[3].flags = (enum parse_opt_option_flags )0;
  options[3].callback = (parse_opt_cb *)0;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"overwrite-ignore";
  options[4].value = (void *)(& opts___1->overwrite_ignore);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"update ignored files (default)";
  options[4].flags = (enum parse_opt_option_flags )514;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )1;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )8;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)"ignore-other-worktrees";
  options[5].value = (void *)(& opts___1->ignore_other_worktrees);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"do not check if another worktree is holding the given ref";
  options[5].flags = (enum parse_opt_option_flags )2;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )1;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )0;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)0;
  options[6].value = (void *)0;
  options[6].argh = (char const   *)0;
  options[6].help = (char const   *)0;
  options[6].flags = 0U;
  options[6].callback = (parse_opt_cb *)0;
  options[6].defval = 0L;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  tmp = parse_options_concat((struct option  const  *)prevopts, (struct option  const  *)(options));
  newopts = tmp;
  free((void *)prevopts);
  return (newopts);
}
}
static struct option *add_checkout_path_options(struct checkout_opts *opts___1 , struct option *prevopts )
{
  struct option options[7] ;
  struct option *newopts ;
  struct option *tmp ;

  {
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = '2';
  options[0].long_name = (char const   *)"ours";
  options[0].value = (void *)(& opts___1->writeout_stage);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"checkout our version for unmerged files";
  options[0].flags = (enum parse_opt_option_flags )6;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )2;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = '3';
  options[1].long_name = (char const   *)"theirs";
  options[1].value = (void *)(& opts___1->writeout_stage);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"checkout their version for unmerged files";
  options[1].flags = (enum parse_opt_option_flags )6;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )3;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 'p';
  options[2].long_name = (char const   *)"patch";
  options[2].value = (void *)(& opts___1->patch_mode);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"select hunks interactively";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )1;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"ignore-skip-worktree-bits";
  options[3].value = (void *)(& opts___1->ignore_skipworktree);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"do not limit pathspecs to sparse entries only";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )1;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )14;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"pathspec-from-file";
  options[4].value = (void *)(& opts___1->pathspec_from_file);
  options[4].argh = (char const   *)"file";
  options[4].help = (char const   *)"read pathspec from file";
  options[4].flags = 0U;
  options[4].callback = (parse_opt_cb *)0;
  options[4].defval = 0L;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )8;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)"pathspec-file-nul";
  options[5].value = (void *)(& opts___1->pathspec_file_nul);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"with --pathspec-from-file, pathspec elements are separated with NUL character";
  options[5].flags = (enum parse_opt_option_flags )2;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )1;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )0;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)0;
  options[6].value = (void *)0;
  options[6].argh = (char const   *)0;
  options[6].help = (char const   *)0;
  options[6].flags = 0U;
  options[6].callback = (parse_opt_cb *)0;
  options[6].defval = 0L;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  tmp = parse_options_concat((struct option  const  *)prevopts, (struct option  const  *)(options));
  newopts = tmp;
  free((void *)prevopts);
  return (newopts);
}
}
static char cb_option  =    (char )'b';
static int checkout_main(int argc , char const   **argv___0 , char const   *prefix___1 ,
                         struct checkout_opts *opts___1 , struct option *options ,
                         char const   **usagestr , struct branch_info *new_branch_info )
{
  int parseopt_flags ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const   *argv0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  struct object_id rev ;
  int dwim_ok ;
  int tmp___6 ;
  int n ;
  int tmp___7 ;
  struct object_id rev___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  struct strbuf buf___19 ;
  int tmp___21 ;
  int tmp___22 ;

  {
  parseopt_flags = 0;
  opts___1->overwrite_ignore = 1;
  opts___1->prefix = prefix___1;
  opts___1->show_progress = -1;
  git_config(& git_checkout_config, (void *)opts___1);
  prepare_repo_settings(the_repository);
  the_repository->settings.command_requires_full_index = 0;
  opts___1->track = (enum branch_track )-1;
  if (! opts___1->accept_pathspec) {
    if (! opts___1->accept_ref) {
      BUG_fl((char const   *)"builtin/checkout.c", 1615, (char const   *)"make up your mind, you need to take _something_");
    }
  }
  if (opts___1->accept_pathspec) {
    if (opts___1->accept_ref) {
      parseopt_flags = 1;
    }
  }
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)options,
                       usagestr, (enum parse_opt_flags )parseopt_flags);
  if (opts___1->show_progress < 0) {
    if (opts___1->quiet) {
      opts___1->show_progress = 0;
    } else {
      opts___1->show_progress = isatty(2);
    }
  }
  if (opts___1->conflict_style) {
    opts___1->merge = 1;
    git_xmerge_config((char const   *)"merge.conflictstyle", (char const   *)opts___1->conflict_style,
                      (void *)0);
  }
  if (opts___1->force) {
    opts___1->discard_changes = 1;
    opts___1->ignore_unmerged_opt = (char const   *)"--force";
    opts___1->ignore_unmerged = 1;
  }
  if ((! (! opts___1->new_branch) + ! (! opts___1->new_branch_force)) + ! (! opts___1->new_orphan_branch) > 1) {
    tmp = sane_case((int )((unsigned char )cb_option), 0);
    tmp___0 = _((char const   *)"options \'-%c\', \'-%c\', and \'%s\' cannot be used together");
    die((char const   *)tmp___0, (int )cb_option, tmp, "--orphan");
  }
  if (opts___1->overlay_mode == 1) {
    if (opts___1->patch_mode) {
      tmp___1 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___1, "-p", "--overlay");
    }
  }
  if (opts___1->checkout_index >= 0) {
    goto _L;
  } else
  if (opts___1->checkout_worktree >= 0) {
    _L: /* CIL Label */
    if (opts___1->checkout_index < 0) {
      opts___1->checkout_index = 0;
    }
    if (opts___1->checkout_worktree < 0) {
      opts___1->checkout_worktree = 0;
    }
  } else {
    if (opts___1->checkout_index < 0) {
      opts___1->checkout_index = - opts___1->checkout_index - 1;
    }
    if (opts___1->checkout_worktree < 0) {
      opts___1->checkout_worktree = - opts___1->checkout_worktree - 1;
    }
  }
  if (opts___1->checkout_index < 0) {
    BUG_fl((char const   *)"builtin/checkout.c", 1658, (char const   *)"these flags should be non-negative by now");
  } else
  if (opts___1->checkout_worktree < 0) {
    BUG_fl((char const   *)"builtin/checkout.c", 1658, (char const   *)"these flags should be non-negative by now");
  }
  if (! opts___1->from_treeish) {
    if (opts___1->checkout_index) {
      opts___1->from_treeish = (char const   *)"HEAD";
    }
  }
  if (opts___1->new_branch_force) {
    opts___1->new_branch = opts___1->new_branch_force;
  }
  if (opts___1->new_orphan_branch) {
    opts___1->new_branch = opts___1->new_orphan_branch;
  }
  if ((int )opts___1->track != -1) {
    if (! opts___1->new_branch) {
      argv0 = *(argv___0 + 0);
      if (! argc) {
        tmp___2 = _((char const   *)"--track needs a branch name");
        die((char const   *)tmp___2);
      } else {
        tmp___3 = strcmp(argv0, (char const   *)"--");
        if (! tmp___3) {
          tmp___2 = _((char const   *)"--track needs a branch name");
          die((char const   *)tmp___2);
        }
      }
      skip_prefix(argv0, (char const   *)"refs/", & argv0);
      skip_prefix(argv0, (char const   *)"remotes/", & argv0);
      tmp___4 = strchr(argv0, '/');
      argv0 = (char const   *)tmp___4;
      if (! argv0) {
        tmp___5 = _((char const   *)"missing branch name; try -%c");
        die((char const   *)tmp___5, (int )cb_option);
      } else
      if (! *(argv0 + 1)) {
        tmp___5 = _((char const   *)"missing branch name; try -%c");
        die((char const   *)tmp___5, (int )cb_option);
      }
      opts___1->new_branch = argv0 + 1;
    }
  }
  if (argc) {
    if (opts___1->accept_ref) {
      if (! opts___1->patch_mode) {
        if (opts___1->dwim_new_local_branch) {
          if ((int )opts___1->track == -1) {
            if (! opts___1->new_branch) {
              tmp___6 = 1;
            } else {
              tmp___6 = 0;
            }
          } else {
            tmp___6 = 0;
          }
        } else {
          tmp___6 = 0;
        }
      } else {
        tmp___6 = 0;
      }
      dwim_ok = tmp___6;
      tmp___7 = parse_branchname_arg(argc, argv___0, dwim_ok, new_branch_info, opts___1,
                                     & rev);
      n = tmp___7;
      argv___0 += n;
      argc -= n;
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  if (! opts___1->accept_ref) {
    if (opts___1->from_treeish) {
      tmp___9 = repo_get_oid_mb(the_repository, opts___1->from_treeish, & rev___0);
      if (tmp___9) {
        tmp___8 = _((char const   *)"could not resolve %s");
        die((char const   *)tmp___8, opts___1->from_treeish);
      }
      setup_new_branch_info_and_source_tree(new_branch_info, opts___1, & rev___0,
                                            opts___1->from_treeish);
      if (! opts___1->source_tree) {
        tmp___10 = _((char const   *)"reference is not a tree: %s");
        die((char const   *)tmp___10, opts___1->from_treeish);
      }
    }
  }
  if (argc) {
    if (opts___1->patch_mode) {
      tmp___11 = 1 << 4;
    } else {
      tmp___11 = 0;
    }
    parse_pathspec(& opts___1->pathspec, 0U, (unsigned int )tmp___11, prefix___1,
                   argv___0);
    if (! opts___1->pathspec.nr) {
      tmp___12 = _((char const   *)"invalid path specification");
      die((char const   *)tmp___12);
    }
    if (opts___1->new_branch) {
      if (argc == 1) {
        if (! new_branch_info->commit) {
          tmp___13 = _((char const   *)"\'%s\' is not a commit and a branch \'%s\' cannot be created from it");
          die((char const   *)tmp___13, *(argv___0 + 0), opts___1->new_branch);
        }
      }
    }
    if (opts___1->force_detach) {
      tmp___14 = _((char const   *)"git checkout: --detach does not take a path argument \'%s\'");
      die((char const   *)tmp___14, *(argv___0 + 0));
    }
  }
  if (opts___1->pathspec_from_file) {
    if (opts___1->pathspec.nr) {
      tmp___15 = _((char const   *)"\'%s\' and pathspec arguments cannot be used together");
      die((char const   *)tmp___15, "--pathspec-from-file");
    }
    if (opts___1->force_detach) {
      tmp___16 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___16, "--pathspec-from-file", "--detach");
    }
    if (opts___1->patch_mode) {
      tmp___17 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___17, "--pathspec-from-file", "--patch");
    }
    parse_pathspec_file(& opts___1->pathspec, 0U, 0U, prefix___1, opts___1->pathspec_from_file,
                        opts___1->pathspec_file_nul);
  } else
  if (opts___1->pathspec_file_nul) {
    tmp___18 = _((char const   *)"the option \'%s\' requires \'%s\'");
    die((char const   *)tmp___18, "--pathspec-file-nul", "--pathspec-from-file");
  }
  opts___1->pathspec.recursive = 1U;
  if (opts___1->pathspec.nr) {
    if (1 < (! (! opts___1->writeout_stage) + ! (! opts___1->force)) + ! (! opts___1->merge)) {
      tmp___19 = _((char const   *)"git checkout: --ours/--theirs, --force and --merge are incompatible when\nchecking out of the index.");
      die((char const   *)tmp___19);
    }
  } else
  if (opts___1->accept_pathspec) {
    if (! opts___1->empty_pathspec_ok) {
      if (! opts___1->patch_mode) {
        tmp___20 = _((char const   *)"you must specify path(s) to restore");
        die((char const   *)tmp___20);
      }
    }
  }
  if (opts___1->new_branch) {
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    if (opts___1->new_branch_force) {
      opts___1->branch_exists = validate_branchname(opts___1->new_branch, & buf___19);
    } else {
      opts___1->branch_exists = validate_new_branchname(opts___1->new_branch, & buf___19,
                                                        0);
    }
    strbuf_release(& buf___19);
  }
  if (opts___1->patch_mode) {
    tmp___21 = checkout_paths((struct checkout_opts  const  *)opts___1, (struct branch_info  const  *)new_branch_info);
    return (tmp___21);
  } else
  if (opts___1->pathspec.nr) {
    tmp___21 = checkout_paths((struct checkout_opts  const  *)opts___1, (struct branch_info  const  *)new_branch_info);
    return (tmp___21);
  } else {
    tmp___22 = checkout_branch(opts___1, new_branch_info);
    return (tmp___22);
  }
}
}
int cmd_checkout(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct checkout_opts opts___1 ;
  struct option *options ;
  struct option checkout_options[6] ;
  int ret___67 ;
  struct branch_info new_branch_info ;
  int tmp ;

  {
  checkout_options[0].type = (enum parse_opt_type )9;
  checkout_options[0].short_name = 'b';
  checkout_options[0].long_name = (char const   *)((void *)0);
  checkout_options[0].value = (void *)(& opts___1.new_branch);
  checkout_options[0].argh = (char const   *)"branch";
  checkout_options[0].help = (char const   *)"create and checkout a new branch";
  checkout_options[0].flags = (enum parse_opt_option_flags )0;
  checkout_options[0].callback = (parse_opt_cb *)0;
  checkout_options[0].defval = 0L;
  checkout_options[0].ll_callback = (parse_opt_ll_cb *)0;
  checkout_options[0].extra = 0L;
  checkout_options[1].type = (enum parse_opt_type )9;
  checkout_options[1].short_name = 'B';
  checkout_options[1].long_name = (char const   *)((void *)0);
  checkout_options[1].value = (void *)(& opts___1.new_branch_force);
  checkout_options[1].argh = (char const   *)"branch";
  checkout_options[1].help = (char const   *)"create/reset and checkout a branch";
  checkout_options[1].flags = (enum parse_opt_option_flags )0;
  checkout_options[1].callback = (parse_opt_cb *)0;
  checkout_options[1].defval = 0L;
  checkout_options[1].ll_callback = (parse_opt_ll_cb *)0;
  checkout_options[1].extra = 0L;
  checkout_options[2].type = (enum parse_opt_type )8;
  checkout_options[2].short_name = 'l';
  checkout_options[2].long_name = (char const   *)((void *)0);
  checkout_options[2].value = (void *)(& opts___1.new_branch_log);
  checkout_options[2].argh = (char const   *)((void *)0);
  checkout_options[2].help = (char const   *)"create reflog for new branch";
  checkout_options[2].flags = (enum parse_opt_option_flags )2;
  checkout_options[2].callback = (parse_opt_cb *)((void *)0);
  checkout_options[2].defval = (intptr_t )1;
  checkout_options[2].ll_callback = (parse_opt_ll_cb *)0;
  checkout_options[2].extra = 0L;
  checkout_options[3].type = (enum parse_opt_type )8;
  checkout_options[3].short_name = 0;
  checkout_options[3].long_name = (char const   *)"guess";
  checkout_options[3].value = (void *)(& opts___1.dwim_new_local_branch);
  checkout_options[3].argh = (char const   *)((void *)0);
  checkout_options[3].help = (char const   *)"second guess \'git checkout <no-such-branch>\' (default)";
  checkout_options[3].flags = (enum parse_opt_option_flags )2;
  checkout_options[3].callback = (parse_opt_cb *)((void *)0);
  checkout_options[3].defval = (intptr_t )1;
  checkout_options[3].ll_callback = (parse_opt_ll_cb *)0;
  checkout_options[3].extra = 0L;
  checkout_options[4].type = (enum parse_opt_type )8;
  checkout_options[4].short_name = 0;
  checkout_options[4].long_name = (char const   *)"overlay";
  checkout_options[4].value = (void *)(& opts___1.overlay_mode);
  checkout_options[4].argh = (char const   *)((void *)0);
  checkout_options[4].help = (char const   *)"use overlay mode (default)";
  checkout_options[4].flags = (enum parse_opt_option_flags )2;
  checkout_options[4].callback = (parse_opt_cb *)((void *)0);
  checkout_options[4].defval = (intptr_t )1;
  checkout_options[4].ll_callback = (parse_opt_ll_cb *)0;
  checkout_options[4].extra = 0L;
  checkout_options[5].type = (enum parse_opt_type )0;
  checkout_options[5].short_name = 0;
  checkout_options[5].long_name = (char const   *)0;
  checkout_options[5].value = (void *)0;
  checkout_options[5].argh = (char const   *)0;
  checkout_options[5].help = (char const   *)0;
  checkout_options[5].flags = 0U;
  checkout_options[5].callback = (parse_opt_cb *)0;
  checkout_options[5].defval = 0L;
  checkout_options[5].ll_callback = (parse_opt_ll_cb *)0;
  checkout_options[5].extra = 0L;
  new_branch_info.name = (char *)0;
  new_branch_info.path = (char *)0;
  new_branch_info.commit = (struct commit *)0;
  new_branch_info.refname = (char *)0;
  new_branch_info.oid.hash[0] = (unsigned char)0;
  new_branch_info.oid.hash[1] = (unsigned char)0;
  new_branch_info.oid.hash[2] = (unsigned char)0;
  new_branch_info.oid.hash[3] = (unsigned char)0;
  new_branch_info.oid.hash[4] = (unsigned char)0;
  new_branch_info.oid.hash[5] = (unsigned char)0;
  new_branch_info.oid.hash[6] = (unsigned char)0;
  new_branch_info.oid.hash[7] = (unsigned char)0;
  new_branch_info.oid.hash[8] = (unsigned char)0;
  new_branch_info.oid.hash[9] = (unsigned char)0;
  new_branch_info.oid.hash[10] = (unsigned char)0;
  new_branch_info.oid.hash[11] = (unsigned char)0;
  new_branch_info.oid.hash[12] = (unsigned char)0;
  new_branch_info.oid.hash[13] = (unsigned char)0;
  new_branch_info.oid.hash[14] = (unsigned char)0;
  new_branch_info.oid.hash[15] = (unsigned char)0;
  new_branch_info.oid.hash[16] = (unsigned char)0;
  new_branch_info.oid.hash[17] = (unsigned char)0;
  new_branch_info.oid.hash[18] = (unsigned char)0;
  new_branch_info.oid.hash[19] = (unsigned char)0;
  new_branch_info.oid.hash[20] = (unsigned char)0;
  new_branch_info.oid.hash[21] = (unsigned char)0;
  new_branch_info.oid.hash[22] = (unsigned char)0;
  new_branch_info.oid.hash[23] = (unsigned char)0;
  new_branch_info.oid.hash[24] = (unsigned char)0;
  new_branch_info.oid.hash[25] = (unsigned char)0;
  new_branch_info.oid.hash[26] = (unsigned char)0;
  new_branch_info.oid.hash[27] = (unsigned char)0;
  new_branch_info.oid.hash[28] = (unsigned char)0;
  new_branch_info.oid.hash[29] = (unsigned char)0;
  new_branch_info.oid.hash[30] = (unsigned char)0;
  new_branch_info.oid.hash[31] = (unsigned char)0;
  new_branch_info.oid.algo = 0;
  new_branch_info.checkout = (char *)0;
  memset((void *)(& opts___1), 0, sizeof(opts___1));
  opts___1.dwim_new_local_branch = 1;
  opts___1.switch_branch_doing_nothing_is_ok = 1;
  opts___1.only_merge_on_switching_branches = 0;
  opts___1.accept_ref = 1;
  opts___1.accept_pathspec = 1;
  opts___1.implicit_detach = 1;
  opts___1.can_switch_when_in_progress = 1;
  opts___1.orphan_from_empty_tree = 0;
  opts___1.empty_pathspec_ok = 1;
  opts___1.overlay_mode = -1;
  opts___1.checkout_index = -2;
  opts___1.checkout_worktree = -2;
  if (argc == 3) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-b");
    if (! tmp) {
      opts___1.switch_branch_doing_nothing_is_ok = 0;
      opts___1.only_merge_on_switching_branches = 1;
    }
  }
  options = parse_options_dup((struct option  const  *)(checkout_options));
  options = add_common_options(& opts___1, options);
  options = add_common_switch_branch_options(& opts___1, options);
  options = add_checkout_path_options(& opts___1, options);
  ret___67 = checkout_main(argc, argv___0, prefix___1, & opts___1, options, checkout_usage,
                           & new_branch_info);
  branch_info_release(& new_branch_info);
  clear_pathspec(& opts___1.pathspec);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)options);
    options = (struct option *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
int cmd_switch(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct checkout_opts opts___1 ;
  struct option *options ;
  struct option switch_options[5] ;
  int ret___67 ;
  struct branch_info new_branch_info ;

  {
  options = (struct option *)((void *)0);
  switch_options[0].type = (enum parse_opt_type )9;
  switch_options[0].short_name = 'c';
  switch_options[0].long_name = (char const   *)"create";
  switch_options[0].value = (void *)(& opts___1.new_branch);
  switch_options[0].argh = (char const   *)"branch";
  switch_options[0].help = (char const   *)"create and switch to a new branch";
  switch_options[0].flags = (enum parse_opt_option_flags )0;
  switch_options[0].callback = (parse_opt_cb *)0;
  switch_options[0].defval = 0L;
  switch_options[0].ll_callback = (parse_opt_ll_cb *)0;
  switch_options[0].extra = 0L;
  switch_options[1].type = (enum parse_opt_type )9;
  switch_options[1].short_name = 'C';
  switch_options[1].long_name = (char const   *)"force-create";
  switch_options[1].value = (void *)(& opts___1.new_branch_force);
  switch_options[1].argh = (char const   *)"branch";
  switch_options[1].help = (char const   *)"create/reset and switch to a branch";
  switch_options[1].flags = (enum parse_opt_option_flags )0;
  switch_options[1].callback = (parse_opt_cb *)0;
  switch_options[1].defval = 0L;
  switch_options[1].ll_callback = (parse_opt_ll_cb *)0;
  switch_options[1].extra = 0L;
  switch_options[2].type = (enum parse_opt_type )8;
  switch_options[2].short_name = 0;
  switch_options[2].long_name = (char const   *)"guess";
  switch_options[2].value = (void *)(& opts___1.dwim_new_local_branch);
  switch_options[2].argh = (char const   *)((void *)0);
  switch_options[2].help = (char const   *)"second guess \'git switch <no-such-branch>\'";
  switch_options[2].flags = (enum parse_opt_option_flags )2;
  switch_options[2].callback = (parse_opt_cb *)((void *)0);
  switch_options[2].defval = (intptr_t )1;
  switch_options[2].ll_callback = (parse_opt_ll_cb *)0;
  switch_options[2].extra = 0L;
  switch_options[3].type = (enum parse_opt_type )8;
  switch_options[3].short_name = 0;
  switch_options[3].long_name = (char const   *)"discard-changes";
  switch_options[3].value = (void *)(& opts___1.discard_changes);
  switch_options[3].argh = (char const   *)((void *)0);
  switch_options[3].help = (char const   *)"throw away local modifications";
  switch_options[3].flags = (enum parse_opt_option_flags )2;
  switch_options[3].callback = (parse_opt_cb *)((void *)0);
  switch_options[3].defval = (intptr_t )1;
  switch_options[3].ll_callback = (parse_opt_ll_cb *)0;
  switch_options[3].extra = 0L;
  switch_options[4].type = (enum parse_opt_type )0;
  switch_options[4].short_name = 0;
  switch_options[4].long_name = (char const   *)0;
  switch_options[4].value = (void *)0;
  switch_options[4].argh = (char const   *)0;
  switch_options[4].help = (char const   *)0;
  switch_options[4].flags = 0U;
  switch_options[4].callback = (parse_opt_cb *)0;
  switch_options[4].defval = 0L;
  switch_options[4].ll_callback = (parse_opt_ll_cb *)0;
  switch_options[4].extra = 0L;
  new_branch_info.name = (char *)0;
  new_branch_info.path = (char *)0;
  new_branch_info.commit = (struct commit *)0;
  new_branch_info.refname = (char *)0;
  new_branch_info.oid.hash[0] = (unsigned char)0;
  new_branch_info.oid.hash[1] = (unsigned char)0;
  new_branch_info.oid.hash[2] = (unsigned char)0;
  new_branch_info.oid.hash[3] = (unsigned char)0;
  new_branch_info.oid.hash[4] = (unsigned char)0;
  new_branch_info.oid.hash[5] = (unsigned char)0;
  new_branch_info.oid.hash[6] = (unsigned char)0;
  new_branch_info.oid.hash[7] = (unsigned char)0;
  new_branch_info.oid.hash[8] = (unsigned char)0;
  new_branch_info.oid.hash[9] = (unsigned char)0;
  new_branch_info.oid.hash[10] = (unsigned char)0;
  new_branch_info.oid.hash[11] = (unsigned char)0;
  new_branch_info.oid.hash[12] = (unsigned char)0;
  new_branch_info.oid.hash[13] = (unsigned char)0;
  new_branch_info.oid.hash[14] = (unsigned char)0;
  new_branch_info.oid.hash[15] = (unsigned char)0;
  new_branch_info.oid.hash[16] = (unsigned char)0;
  new_branch_info.oid.hash[17] = (unsigned char)0;
  new_branch_info.oid.hash[18] = (unsigned char)0;
  new_branch_info.oid.hash[19] = (unsigned char)0;
  new_branch_info.oid.hash[20] = (unsigned char)0;
  new_branch_info.oid.hash[21] = (unsigned char)0;
  new_branch_info.oid.hash[22] = (unsigned char)0;
  new_branch_info.oid.hash[23] = (unsigned char)0;
  new_branch_info.oid.hash[24] = (unsigned char)0;
  new_branch_info.oid.hash[25] = (unsigned char)0;
  new_branch_info.oid.hash[26] = (unsigned char)0;
  new_branch_info.oid.hash[27] = (unsigned char)0;
  new_branch_info.oid.hash[28] = (unsigned char)0;
  new_branch_info.oid.hash[29] = (unsigned char)0;
  new_branch_info.oid.hash[30] = (unsigned char)0;
  new_branch_info.oid.hash[31] = (unsigned char)0;
  new_branch_info.oid.algo = 0;
  new_branch_info.checkout = (char *)0;
  memset((void *)(& opts___1), 0, sizeof(opts___1));
  opts___1.dwim_new_local_branch = 1;
  opts___1.accept_ref = 1;
  opts___1.accept_pathspec = 0;
  opts___1.switch_branch_doing_nothing_is_ok = 0;
  opts___1.only_merge_on_switching_branches = 1;
  opts___1.implicit_detach = 0;
  opts___1.can_switch_when_in_progress = 0;
  opts___1.orphan_from_empty_tree = 1;
  opts___1.overlay_mode = -1;
  options = parse_options_dup((struct option  const  *)(switch_options));
  options = add_common_options(& opts___1, options);
  options = add_common_switch_branch_options(& opts___1, options);
  cb_option = (char )'c';
  ret___67 = checkout_main(argc, argv___0, prefix___1, & opts___1, options, switch_branch_usage,
                           & new_branch_info);
  branch_info_release(& new_branch_info);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)options);
    options = (struct option *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
int cmd_restore(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct checkout_opts opts___1 ;
  struct option *options ;
  struct option restore_options[6] ;
  int ret___67 ;
  struct branch_info new_branch_info ;

  {
  restore_options[0].type = (enum parse_opt_type )9;
  restore_options[0].short_name = 's';
  restore_options[0].long_name = (char const   *)"source";
  restore_options[0].value = (void *)(& opts___1.from_treeish);
  restore_options[0].argh = (char const   *)"<tree-ish>";
  restore_options[0].help = (char const   *)"which tree-ish to checkout from";
  restore_options[0].flags = (enum parse_opt_option_flags )0;
  restore_options[0].callback = (parse_opt_cb *)0;
  restore_options[0].defval = 0L;
  restore_options[0].ll_callback = (parse_opt_ll_cb *)0;
  restore_options[0].extra = 0L;
  restore_options[1].type = (enum parse_opt_type )8;
  restore_options[1].short_name = 'S';
  restore_options[1].long_name = (char const   *)"staged";
  restore_options[1].value = (void *)(& opts___1.checkout_index);
  restore_options[1].argh = (char const   *)((void *)0);
  restore_options[1].help = (char const   *)"restore the index";
  restore_options[1].flags = (enum parse_opt_option_flags )2;
  restore_options[1].callback = (parse_opt_cb *)((void *)0);
  restore_options[1].defval = (intptr_t )1;
  restore_options[1].ll_callback = (parse_opt_ll_cb *)0;
  restore_options[1].extra = 0L;
  restore_options[2].type = (enum parse_opt_type )8;
  restore_options[2].short_name = 'W';
  restore_options[2].long_name = (char const   *)"worktree";
  restore_options[2].value = (void *)(& opts___1.checkout_worktree);
  restore_options[2].argh = (char const   *)((void *)0);
  restore_options[2].help = (char const   *)"restore the working tree (default)";
  restore_options[2].flags = (enum parse_opt_option_flags )2;
  restore_options[2].callback = (parse_opt_cb *)((void *)0);
  restore_options[2].defval = (intptr_t )1;
  restore_options[2].ll_callback = (parse_opt_ll_cb *)0;
  restore_options[2].extra = 0L;
  restore_options[3].type = (enum parse_opt_type )8;
  restore_options[3].short_name = 0;
  restore_options[3].long_name = (char const   *)"ignore-unmerged";
  restore_options[3].value = (void *)(& opts___1.ignore_unmerged);
  restore_options[3].argh = (char const   *)((void *)0);
  restore_options[3].help = (char const   *)"ignore unmerged entries";
  restore_options[3].flags = (enum parse_opt_option_flags )2;
  restore_options[3].callback = (parse_opt_cb *)((void *)0);
  restore_options[3].defval = (intptr_t )1;
  restore_options[3].ll_callback = (parse_opt_ll_cb *)0;
  restore_options[3].extra = 0L;
  restore_options[4].type = (enum parse_opt_type )8;
  restore_options[4].short_name = 0;
  restore_options[4].long_name = (char const   *)"overlay";
  restore_options[4].value = (void *)(& opts___1.overlay_mode);
  restore_options[4].argh = (char const   *)((void *)0);
  restore_options[4].help = (char const   *)"use overlay mode";
  restore_options[4].flags = (enum parse_opt_option_flags )2;
  restore_options[4].callback = (parse_opt_cb *)((void *)0);
  restore_options[4].defval = (intptr_t )1;
  restore_options[4].ll_callback = (parse_opt_ll_cb *)0;
  restore_options[4].extra = 0L;
  restore_options[5].type = (enum parse_opt_type )0;
  restore_options[5].short_name = 0;
  restore_options[5].long_name = (char const   *)0;
  restore_options[5].value = (void *)0;
  restore_options[5].argh = (char const   *)0;
  restore_options[5].help = (char const   *)0;
  restore_options[5].flags = 0U;
  restore_options[5].callback = (parse_opt_cb *)0;
  restore_options[5].defval = 0L;
  restore_options[5].ll_callback = (parse_opt_ll_cb *)0;
  restore_options[5].extra = 0L;
  new_branch_info.name = (char *)0;
  new_branch_info.path = (char *)0;
  new_branch_info.commit = (struct commit *)0;
  new_branch_info.refname = (char *)0;
  new_branch_info.oid.hash[0] = (unsigned char)0;
  new_branch_info.oid.hash[1] = (unsigned char)0;
  new_branch_info.oid.hash[2] = (unsigned char)0;
  new_branch_info.oid.hash[3] = (unsigned char)0;
  new_branch_info.oid.hash[4] = (unsigned char)0;
  new_branch_info.oid.hash[5] = (unsigned char)0;
  new_branch_info.oid.hash[6] = (unsigned char)0;
  new_branch_info.oid.hash[7] = (unsigned char)0;
  new_branch_info.oid.hash[8] = (unsigned char)0;
  new_branch_info.oid.hash[9] = (unsigned char)0;
  new_branch_info.oid.hash[10] = (unsigned char)0;
  new_branch_info.oid.hash[11] = (unsigned char)0;
  new_branch_info.oid.hash[12] = (unsigned char)0;
  new_branch_info.oid.hash[13] = (unsigned char)0;
  new_branch_info.oid.hash[14] = (unsigned char)0;
  new_branch_info.oid.hash[15] = (unsigned char)0;
  new_branch_info.oid.hash[16] = (unsigned char)0;
  new_branch_info.oid.hash[17] = (unsigned char)0;
  new_branch_info.oid.hash[18] = (unsigned char)0;
  new_branch_info.oid.hash[19] = (unsigned char)0;
  new_branch_info.oid.hash[20] = (unsigned char)0;
  new_branch_info.oid.hash[21] = (unsigned char)0;
  new_branch_info.oid.hash[22] = (unsigned char)0;
  new_branch_info.oid.hash[23] = (unsigned char)0;
  new_branch_info.oid.hash[24] = (unsigned char)0;
  new_branch_info.oid.hash[25] = (unsigned char)0;
  new_branch_info.oid.hash[26] = (unsigned char)0;
  new_branch_info.oid.hash[27] = (unsigned char)0;
  new_branch_info.oid.hash[28] = (unsigned char)0;
  new_branch_info.oid.hash[29] = (unsigned char)0;
  new_branch_info.oid.hash[30] = (unsigned char)0;
  new_branch_info.oid.hash[31] = (unsigned char)0;
  new_branch_info.oid.algo = 0;
  new_branch_info.checkout = (char *)0;
  memset((void *)(& opts___1), 0, sizeof(opts___1));
  opts___1.accept_ref = 0;
  opts___1.accept_pathspec = 1;
  opts___1.empty_pathspec_ok = 0;
  opts___1.overlay_mode = 0;
  opts___1.checkout_index = -1;
  opts___1.checkout_worktree = -2;
  opts___1.ignore_unmerged_opt = (char const   *)"--ignore-unmerged";
  options = parse_options_dup((struct option  const  *)(restore_options));
  options = add_common_options(& opts___1, options);
  options = add_checkout_path_options(& opts___1, options);
  ret___67 = checkout_main(argc, argv___0, prefix___1, & opts___1, options, restore_usage,
                           & new_branch_info);
  branch_info_release(& new_branch_info);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)options);
    options = (struct option *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static int force  =    -1;
static int interactive  ;
static struct string_list del_list  =    {(struct string_list_item *)0, 0U, 0U, 1U, (int (*)(char const   * , char const   * ))0};
static unsigned int colopts___0  ;
static char const   *builtin_clean_usage[2]  = {      (char const   *)"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>...",      (char const   *)((void *)0)};
static char const   *msg_remove  =    (char const   *)"Removing %s\n";
static char const   *msg_would_remove  =    (char const   *)"Would remove %s\n";
static char const   *msg_skip_git_dir  =    (char const   *)"Skipping repository %s\n";
static char const   *msg_would_skip_git_dir  =    (char const   *)"Would skip repository %s\n";
static char const   *msg_warn_remove_failed  =    (char const   *)"failed to remove %s";
static char const   *msg_warn_lstat_failed  =    (char const   *)"could not lstat %s\n";
static char const   *msg_skip_cwd  =    (char const   *)"Refusing to remove current working directory\n";
static char const   *msg_would_skip_cwd  =    (char const   *)"Would refuse to remove current working directory\n";
static char const   *color_interactive_slots[6]  = {      (char const   *)"reset",      (char const   *)"plain",      (char const   *)"prompt",      (char const   *)"header",
        (char const   *)"help",      (char const   *)"error"};
static int clean_use_color  =    -1;
static char clean_colors[6][75]  = { {        (char )'\033',        (char )'[',        (char )'m',        (char )'\000'},
   {        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'1',        (char )';',
            (char )'3',        (char )'4',        (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'1',        (char )'m',
            (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'1',        (char )';',
            (char )'3',        (char )'1',        (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'1',        (char )';',
            (char )'3',        (char )'1',        (char )'m',        (char )'\000'}};
void list_config_color_interactive_slots(struct string_list *list___3 , char const   *prefix___1 )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(color_interactive_slots) / sizeof(color_interactive_slots[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    if (color_interactive_slots[i]) {
      list_config_item(list___3, prefix___1, color_interactive_slots[i]);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int git_clean_config(char const   *var , char const   *value , void *cb )
{
  char const   *slot_name ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int slot ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  tmp___0 = starts_with(var, (char const   *)"column.");
  if (tmp___0) {
    tmp = git_column_config(var, value, (char const   *)"clean", & colopts___0);
    return (tmp);
  }
  tmp___1 = strcmp(var, (char const   *)"color.interactive");
  if (! tmp___1) {
    clean_use_color = git_config_colorbool(var, value);
    return (0);
  }
  tmp___5 = skip_prefix(var, (char const   *)"color.interactive.", & slot_name);
  if (tmp___5) {
    tmp___2 = lookup_config(color_interactive_slots, (int )(sizeof(color_interactive_slots) / sizeof(color_interactive_slots[0]) + (sizeof(char [1]) - 1UL)),
                            slot_name);
    slot = tmp___2;
    if (slot < 0) {
      return (0);
    }
    if (! value) {
      config_error_nonbool(var);
      tmp___3 = const_error();
      return (tmp___3);
    }
    tmp___4 = color_parse(value, clean_colors[slot]);
    return (tmp___4);
  }
  tmp___8 = strcmp(var, (char const   *)"clean.requireforce");
  if (! tmp___8) {
    tmp___6 = git_config_bool(var, value);
    if (tmp___6) {
      tmp___7 = 0;
    } else {
      tmp___7 = 1;
    }
    force = tmp___7;
    return (0);
  }
  tmp___9 = git_color_default_config(var, value, cb);
  return (tmp___9);
}
}
static char const   *clean_get_color(enum color_clean ix )
{
  int tmp ;

  {
  tmp = want_color_fd(1, clean_use_color);
  if (tmp) {
    return ((char const   *)(clean_colors[ix]));
  }
  return ((char const   *)"");
}
}
static void clean_print_color(enum color_clean ix )
{
  char const   *tmp ;

  {
  tmp = clean_get_color(ix);
  printf((char const   *)"%s", tmp);
  return;
}
}
static int exclude_cb(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct string_list *exclude_list ;

  {
  exclude_list = (struct string_list *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/clean.c", 148, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_append(exclude_list, arg);
  return (0);
}
}
static int remove_dirs(struct strbuf *path___6 , char const   *prefix___1 , int force_flag ,
                       int dry_run___3 , int quiet___7 , int *dir_gone )
{
  DIR *dir ;
  struct strbuf quoted ;
  struct strbuf realpath___1 ;
  struct strbuf real_ocwd ;
  struct dirent *e ;
  int res ;
  int ret___67 ;
  int gone ;
  int original_len ;
  int len___0 ;
  struct string_list dels ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int saved_errno ;
  int *tmp___4 ;
  int *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  struct stat st ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int saved_errno___0 ;
  int *tmp___10 ;
  int *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  int tmp___17 ;
  int saved_errno___1 ;
  int *tmp___18 ;
  int *tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  int tmp___21 ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  char const __attribute__((__format_arg__(1)))  *tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;

  {
  quoted.alloc = 0UL;
  quoted.len = 0UL;
  quoted.buf = strbuf_slopbuf;
  realpath___1.alloc = 0UL;
  realpath___1.len = 0UL;
  realpath___1.buf = strbuf_slopbuf;
  real_ocwd.alloc = 0UL;
  real_ocwd.len = 0UL;
  real_ocwd.buf = strbuf_slopbuf;
  res = 0;
  ret___67 = 0;
  gone = 1;
  original_len = (int )path___6->len;
  dels.items = (struct string_list_item *)0;
  dels.nr = 0U;
  dels.alloc = 0U;
  dels.strdup_strings = 1U;
  dels.cmp = (int (*)(char const   * , char const   * ))0;
  *dir_gone = 1;
  if (force_flag & 02) {
    tmp___2 = is_nonbare_repository_dir(path___6);
    if (tmp___2) {
      if (! quiet___7) {
        quote_path((char const   *)path___6->buf, prefix___1, & quoted, 0U);
        if (dry_run___3) {
          tmp = _(msg_would_skip_git_dir);
          tmp___1 = tmp;
        } else {
          tmp___0 = _(msg_skip_git_dir);
          tmp___1 = tmp___0;
        }
        printf((char const   *)tmp___1, quoted.buf);
      }
      *dir_gone = 0;
      goto out;
    }
  }
  dir = opendir((char const   *)path___6->buf);
  if (! dir) {
    if (dry_run___3) {
      res = 0;
    } else {
      tmp___3 = lstat_cache_aware_rmdir((char const   *)path___6->buf);
      res = tmp___3;
    }
    if (res) {
      tmp___4 = __errno_location();
      saved_errno = *tmp___4;
      quote_path((char const   *)path___6->buf, prefix___1, & quoted, 0U);
      tmp___5 = __errno_location();
      *tmp___5 = saved_errno;
      tmp___6 = _(msg_warn_remove_failed);
      warning_errno((char const   *)tmp___6, quoted.buf);
      *dir_gone = 0;
    }
    ret___67 = res;
    goto out;
  }
  strbuf_complete(path___6, (char )'/');
  len___0 = (int )path___6->len;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    e = readdir_skip_dot_and_dotdot(dir);
    if (! ((unsigned long )e != (unsigned long )((void *)0))) {
      goto while_break;
    }
    strbuf_setlen___33(path___6, (size_t )len___0);
    strbuf_addstr(path___6, (char const   *)(e->d_name));
    tmp___13 = lstat((char const   *)path___6->buf, & st);
    if (tmp___13) {
      tmp___7 = _(msg_warn_lstat_failed);
      warning_errno((char const   *)tmp___7, path___6->buf);
    } else
    if ((st.st_mode & 61440U) == 16384U) {
      tmp___8 = remove_dirs(path___6, prefix___1, force_flag, dry_run___3, quiet___7,
                            & gone);
      if (tmp___8) {
        ret___67 = 1;
      }
      if (gone) {
        quote_path((char const   *)path___6->buf, prefix___1, & quoted, 0U);
        string_list_append(& dels, (char const   *)quoted.buf);
      } else {
        *dir_gone = 0;
      }
      goto while_continue;
    } else {
      if (dry_run___3) {
        res = 0;
      } else {
        tmp___9 = unlink((char const   *)path___6->buf);
        res = tmp___9;
      }
      if (! res) {
        quote_path((char const   *)path___6->buf, prefix___1, & quoted, 0U);
        string_list_append(& dels, (char const   *)quoted.buf);
      } else {
        tmp___10 = __errno_location();
        saved_errno___0 = *tmp___10;
        quote_path((char const   *)path___6->buf, prefix___1, & quoted, 0U);
        tmp___11 = __errno_location();
        *tmp___11 = saved_errno___0;
        tmp___12 = _(msg_warn_remove_failed);
        warning_errno((char const   *)tmp___12, quoted.buf);
        *dir_gone = 0;
        ret___67 = 1;
      }
      goto while_continue;
    }
    *dir_gone = 0;
    ret___67 = 1;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  closedir(dir);
  strbuf_setlen___33(path___6, (size_t )original_len);
  if (*dir_gone) {
    strbuf_realpath(& realpath___1, (char const   *)path___6->buf, 1);
    if (startup_info->original_cwd) {
      strbuf_realpath(& real_ocwd, startup_info->original_cwd, 1);
    }
    tmp___21 = strbuf_cmp((struct strbuf  const  *)(& realpath___1), (struct strbuf  const  *)(& real_ocwd));
    if (tmp___21) {
      if (dry_run___3) {
        res = 0;
      } else {
        tmp___17 = lstat_cache_aware_rmdir((char const   *)path___6->buf);
        res = tmp___17;
      }
      if (! res) {
        *dir_gone = 1;
      } else {
        tmp___18 = __errno_location();
        saved_errno___1 = *tmp___18;
        quote_path((char const   *)path___6->buf, prefix___1, & quoted, 0U);
        tmp___19 = __errno_location();
        *tmp___19 = saved_errno___1;
        tmp___20 = _(msg_warn_remove_failed);
        warning_errno((char const   *)tmp___20, quoted.buf);
        *dir_gone = 0;
        ret___67 = 1;
      }
    } else {
      if (dry_run___3) {
        tmp___14 = _(msg_would_skip_cwd);
        tmp___16 = tmp___14;
      } else {
        tmp___15 = _(msg_skip_cwd);
        tmp___16 = tmp___15;
      }
      printf((char const   *)"%s", tmp___16);
      *dir_gone = 0;
    }
  }
  if (! *dir_gone) {
    if (! quiet___7) {
      i = 0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! ((unsigned int )i < dels.nr)) {
          goto while_break___0;
        }
        if (dry_run___3) {
          tmp___22 = _(msg_would_remove);
          tmp___24 = tmp___22;
        } else {
          tmp___23 = _(msg_remove);
          tmp___24 = tmp___23;
        }
        printf((char const   *)tmp___24, (dels.items + i)->string);
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
    }
  }
  out:
  strbuf_release(& realpath___1);
  strbuf_release(& real_ocwd);
  strbuf_release(& quoted);
  string_list_clear(& dels, 0);
  return (ret___67);
}
}
static void pretty_print_dels(void)
{
  struct string_list list___3 ;
  struct string_list_item *item___0 ;
  struct strbuf buf___19 ;
  char const   *qname ;
  struct column_options copts ;
  char *tmp ;

  {
  list___3.items = (struct string_list_item *)0;
  list___3.nr = 0U;
  list___3.alloc = 0U;
  list___3.strdup_strings = 1U;
  list___3.cmp = (int (*)(char const   * , char const   * ))0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  item___0 = del_list.items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(del_list.items + del_list.nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = quote_path((char const   *)item___0->string, (char const   *)((void *)0),
                     & buf___19, 0U);
    qname = (char const   *)tmp;
    string_list_append(& list___3, qname);
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  colopts___0 = (colopts___0 & 4294967247U) | 16U;
  memset((void *)(& copts), 0, sizeof(copts));
  copts.indent = (char const   *)"  ";
  copts.padding = 2;
  print_columns((struct string_list  const  *)(& list___3), colopts___0, (struct column_options  const  *)(& copts));
  strbuf_release(& buf___19);
  string_list_clear(& list___3, 0);
  return;
}
}
static void pretty_print_menus(struct string_list *menu_list )
{
  unsigned int local_colopts ;
  struct column_options copts ;

  {
  local_colopts = 0U;
  local_colopts = 17U;
  memset((void *)(& copts), 0, sizeof(copts));
  copts.indent = (char const   *)"  ";
  copts.padding = 2;
  print_columns((struct string_list  const  *)menu_list, local_colopts, (struct column_options  const  *)(& copts));
  return;
}
}
static void prompt_help_cmd(int singleton )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  clean_print_color((enum color_clean )4);
  if (singleton) {
    tmp = _((char const   *)"Prompt help:\n1          - select a numbered item\nfoo        - select item based on unique prefix\n           - (empty) select nothing\n");
    tmp___1 = tmp;
  } else {
    tmp___0 = _((char const   *)"Prompt help:\n1          - select a single item\n3-5        - select a range of items\n2-3,6-9    - select multiple ranges\nfoo        - select item based on unique prefix\n-...       - unselect specified items\n*          - choose all items\n           - (empty) finish selecting\n");
    tmp___1 = tmp___0;
  }
  printf((char const   *)tmp___1);
  clean_print_color((enum color_clean )0);
  return;
}
}
static void print_highlight_menu_stuff(struct menu_stuff *stuff , int **chosen )
{
  struct string_list menu_list ;
  struct strbuf menu ;
  struct menu_item *menu_item ;
  struct string_list_item *string_list_item ;
  int i ;
  char const   *p___0 ;
  int highlighted ;
  char *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char *tmp___2 ;

  {
  menu_list.items = (struct string_list_item *)0;
  menu_list.nr = 0U;
  menu_list.alloc = 0U;
  menu_list.strdup_strings = 1U;
  menu_list.cmp = (int (*)(char const   * , char const   * ))0;
  menu.alloc = 0UL;
  menu.len = 0UL;
  menu.buf = strbuf_slopbuf;
  {
  if ((unsigned int )stuff->type == 2U) {
    goto case_2;
  }
  if ((unsigned int )stuff->type == 1U) {
    goto case_1;
  }
  goto switch_default;
  switch_default: /* CIL Label */
  die((char const   *)"Bad type of menu_stuff when print menu");
  case_2: /* CIL Label */
  menu_item = (struct menu_item *)stuff->stuff;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < stuff->nr)) {
      goto while_break;
    }
    highlighted = 0;
    p___0 = menu_item->title;
    if (*(*chosen + i) < 0) {
      if (menu_item->selected) {
        *(*chosen + i) = 1;
      } else {
        *(*chosen + i) = 0;
      }
    }
    if (*(*chosen + i)) {
      tmp = "*";
    } else {
      tmp = " ";
    }
    strbuf_addf(& menu, (char const   *)"%s%2d: ", tmp, i + 1);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! *p___0) {
        goto while_break___0;
      }
      if (! highlighted) {
        if ((int const   )*p___0 == (int const   )menu_item->hotkey) {
          tmp___0 = clean_get_color((enum color_clean )2);
          strbuf_addstr(& menu, tmp___0);
          strbuf_addch(& menu, (int )*p___0);
          tmp___1 = clean_get_color((enum color_clean )0);
          strbuf_addstr(& menu, tmp___1);
          highlighted = 1;
        } else {
          strbuf_addch(& menu, (int )*p___0);
        }
      } else {
        strbuf_addch(& menu, (int )*p___0);
      }
      p___0 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    string_list_append(& menu_list, (char const   *)menu.buf);
    strbuf_setlen___33(& menu, (size_t )0);
    i ++;
    menu_item ++;
  }
  while_break: /* CIL Label */ ;
  }
  goto switch_break;
  case_1: /* CIL Label */
  i = 0;
  string_list_item = ((struct string_list *)stuff->stuff)->items;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (string_list_item) {
      if (! ((unsigned long )string_list_item < (unsigned long )(((struct string_list *)stuff->stuff)->items + ((struct string_list *)stuff->stuff)->nr))) {
        goto while_break___1;
      }
    } else {
      goto while_break___1;
    }
    if (*(*chosen + i) < 0) {
      *(*chosen + i) = 0;
    }
    if (*(*chosen + i)) {
      tmp___2 = "*";
    } else {
      tmp___2 = " ";
    }
    strbuf_addf(& menu, (char const   *)"%s%2d: %s", tmp___2, i + 1, string_list_item->string);
    string_list_append(& menu_list, (char const   *)menu.buf);
    strbuf_setlen___33(& menu, (size_t )0);
    i ++;
    string_list_item ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  pretty_print_menus(& menu_list);
  strbuf_release(& menu);
  string_list_clear(& menu_list, 0);
  return;
}
}
static int find_unique___0(char const   *choice , struct menu_stuff *menu_stuff )
{
  struct menu_item *menu_item ;
  struct string_list_item *string_list_item ;
  int i ;
  int len___0 ;
  int found ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  found = 0;
  tmp = strlen(choice);
  len___0 = (int )tmp;
  {
  if ((unsigned int )menu_stuff->type == 2U) {
    goto case_2;
  }
  if ((unsigned int )menu_stuff->type == 1U) {
    goto case_1;
  }
  goto switch_default;
  switch_default: /* CIL Label */
  die((char const   *)"Bad type of menu_stuff when parse choice");
  case_2: /* CIL Label */
  menu_item = (struct menu_item *)menu_stuff->stuff;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < menu_stuff->nr)) {
      goto while_break;
    }
    if (len___0 == 1) {
      if ((int const   )*choice == (int const   )menu_item->hotkey) {
        found = i + 1;
        goto while_break;
      }
    }
    tmp___0 = strncasecmp(choice, menu_item->title, (size_t )len___0);
    if (! tmp___0) {
      if (found) {
        if (len___0 == 1) {
          found = -1;
        } else {
          found = 0;
          goto while_break;
        }
      } else {
        found = i + 1;
      }
    }
    i ++;
    menu_item ++;
  }
  while_break: /* CIL Label */ ;
  }
  goto switch_break;
  case_1: /* CIL Label */
  string_list_item = ((struct string_list *)menu_stuff->stuff)->items;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < menu_stuff->nr)) {
      goto while_break___0;
    }
    tmp___1 = strncasecmp(choice, (char const   *)string_list_item->string, (size_t )len___0);
    if (! tmp___1) {
      if (found) {
        found = 0;
        goto while_break___0;
      }
      found = i + 1;
    }
    i ++;
    string_list_item ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return (found);
}
}
static int parse_choice(struct menu_stuff *menu_stuff , int is_single , struct strbuf input ,
                        int **chosen )
{
  struct strbuf **choice_list ;
  struct strbuf **ptr ;
  int nr___0 ;
  int i ;
  char *p___0 ;
  char *tmp ;
  char *p___1 ;
  int choose ;
  int bottom ;
  int top ;
  int is_range ;
  int is_number ;
  char *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  nr___0 = 0;
  if (is_single) {
    choice_list = strbuf_split_max((struct strbuf  const  *)(& input), '\n', 0);
  } else {
    p___0 = input.buf;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if ((int )*p___0 == 44) {
        *p___0 = (char )' ';
      }
      tmp = p___0;
      p___0 ++;
      if (! *tmp) {
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    choice_list = strbuf_split_max((struct strbuf  const  *)(& input), ' ', 0);
  }
  ptr = choice_list;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! *ptr) {
      goto while_break___0;
    }
    choose = 1;
    bottom = 0;
    top = 0;
    strbuf_trim(*ptr);
    if (! (*ptr)->len) {
      goto __Cont;
    }
    if ((int )*((*ptr)->buf) == 45) {
      choose = 0;
      strbuf_remove(*ptr, (size_t )0, (size_t )1);
    }
    is_range = 0;
    is_number = 1;
    p___1 = (*ptr)->buf;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! *p___1) {
        goto while_break___1;
      }
      if (45 == (int )*p___1) {
        if (! is_range) {
          is_range = 1;
          is_number = 0;
        } else {
          is_number = 0;
          is_range = 0;
          goto while_break___1;
        }
      } else
      if (! (((int const   )sane_ctype[(unsigned char )*p___1] & 2) != 0)) {
        is_number = 0;
        is_range = 0;
        goto while_break___1;
      }
      p___1 ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (is_number) {
      bottom = atoi((char const   *)(*ptr)->buf);
      top = bottom;
    } else
    if (is_range) {
      bottom = atoi((char const   *)(*ptr)->buf);
      tmp___1 = strchr((char const   *)(*ptr)->buf, '-');
      if (*(tmp___1 + 1)) {
        tmp___0 = strchr((char const   *)(*ptr)->buf, '-');
        top = atoi((char const   *)(tmp___0 + 1));
      } else {
        top = menu_stuff->nr;
      }
    } else {
      tmp___2 = strcmp((char const   *)(*ptr)->buf, (char const   *)"*");
      if (tmp___2) {
        bottom = find_unique___0((char const   *)(*ptr)->buf, menu_stuff);
        top = bottom;
      } else {
        bottom = 1;
        top = menu_stuff->nr;
      }
    }
    if (top <= 0) {
      clean_print_color((enum color_clean )5);
      tmp___3 = _((char const   *)"Huh (%s)?\n");
      printf((char const   *)tmp___3, (*ptr)->buf);
      clean_print_color((enum color_clean )0);
      goto __Cont;
    } else
    if (bottom <= 0) {
      clean_print_color((enum color_clean )5);
      tmp___3 = _((char const   *)"Huh (%s)?\n");
      printf((char const   *)tmp___3, (*ptr)->buf);
      clean_print_color((enum color_clean )0);
      goto __Cont;
    } else
    if (top > menu_stuff->nr) {
      clean_print_color((enum color_clean )5);
      tmp___3 = _((char const   *)"Huh (%s)?\n");
      printf((char const   *)tmp___3, (*ptr)->buf);
      clean_print_color((enum color_clean )0);
      goto __Cont;
    } else
    if (bottom > top) {
      clean_print_color((enum color_clean )5);
      tmp___3 = _((char const   *)"Huh (%s)?\n");
      printf((char const   *)tmp___3, (*ptr)->buf);
      clean_print_color((enum color_clean )0);
      goto __Cont;
    } else
    if (is_single) {
      if (bottom != top) {
        clean_print_color((enum color_clean )5);
        tmp___3 = _((char const   *)"Huh (%s)?\n");
        printf((char const   *)tmp___3, (*ptr)->buf);
        clean_print_color((enum color_clean )0);
        goto __Cont;
      }
    }
    i = bottom;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (i <= top)) {
        goto while_break___2;
      }
      *(*chosen + (i - 1)) = choose;
      i ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    ptr ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_list_free(choice_list);
  i = 0;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! (i < menu_stuff->nr)) {
      goto while_break___3;
    }
    nr___0 += *(*chosen + i);
    i ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  return (nr___0);
}
}
static int *list_and_choose___0(struct menu_opts *opts___1 , struct menu_stuff *stuff )
{
  struct strbuf choice ;
  int *chosen ;
  int *result___0 ;
  int nr___0 ;
  int eof ;
  int i ;
  size_t tmp ;
  void *tmp___0 ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  char *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const   *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  void *tmp___10 ;
  int j ;
  size_t tmp___11 ;
  void *tmp___12 ;
  int tmp___13 ;

  {
  choice.alloc = 0UL;
  choice.len = 0UL;
  choice.buf = strbuf_slopbuf;
  nr___0 = 0;
  eof = 0;
  tmp = st_mult(sizeof(*chosen), (size_t )stuff->nr);
  tmp___0 = xmalloc(tmp);
  chosen = (int *)tmp___0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < stuff->nr)) {
      goto while_break;
    }
    *(chosen + i) = -1;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (opts___1->header) {
      tmp___1 = clean_get_color((enum color_clean )0);
      tmp___2 = _(opts___1->header);
      tmp___3 = clean_get_color((enum color_clean )3);
      printf_ln((char const   *)"%s%s%s", tmp___3, tmp___2, tmp___1);
    }
    print_highlight_menu_stuff(stuff, & chosen);
    if (opts___1->flags & 04) {
      goto while_break___0;
    }
    if (opts___1->prompt) {
      tmp___4 = clean_get_color((enum color_clean )0);
      if (opts___1->flags & 01) {
        tmp___5 = "> ";
      } else {
        tmp___5 = ">> ";
      }
      tmp___6 = _(opts___1->prompt);
      tmp___7 = clean_get_color((enum color_clean )2);
      printf((char const   *)"%s%s%s%s", tmp___7, tmp___6, tmp___5, tmp___4);
    }
    tmp___8 = git_read_line_interactively(& choice);
    if (tmp___8 == -1) {
      eof = 1;
      goto while_break___0;
    }
    tmp___9 = strcmp((char const   *)choice.buf, (char const   *)"?");
    if (! tmp___9) {
      prompt_help_cmd(opts___1->flags & 01);
      goto __Cont;
    }
    if (! (opts___1->flags & 01)) {
      if (! choice.len) {
        goto while_break___0;
      }
    }
    nr___0 = parse_choice(stuff, opts___1->flags & 01, choice, & chosen);
    if (opts___1->flags & 01) {
      if (nr___0) {
        goto while_break___0;
      }
    } else
    if (opts___1->flags & 02) {
      goto while_break___0;
    }
    __Cont: /* CIL Label */ ;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (eof) {
    tmp___10 = xmalloc(sizeof(int ));
    result___0 = (int *)tmp___10;
    *result___0 = -1;
  } else {
    j = 0;
    if (! nr___0) {
      i = 0;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! (i < stuff->nr)) {
          goto while_break___1;
        }
        nr___0 += *(chosen + i);
        i ++;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
    tmp___11 = st_add((size_t )nr___0, (size_t )1);
    tmp___12 = xcalloc(tmp___11, sizeof(*result___0));
    result___0 = (int *)tmp___12;
    i = 0;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (i < stuff->nr) {
        if (! (j < nr___0)) {
          goto while_break___2;
        }
      } else {
        goto while_break___2;
      }
      if (*(chosen + i)) {
        tmp___13 = j;
        j ++;
        *(result___0 + tmp___13) = i;
      }
      i ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    *(result___0 + j) = -1;
  }
  free((void *)chosen);
  strbuf_release(& choice);
  return (result___0);
}
}
static int clean_cmd(void)
{


  {
  return (10);
}
}
static int filter_by_patterns_cmd(void)
{
  struct dir_struct dir ;
  struct strbuf confirm ;
  struct strbuf **ignore_list ;
  struct string_list_item *item___0 ;
  struct pattern_list *pl ;
  int changed ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int dtype ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  dir.nr = 0;
  dir.alloc = 0;
  dir.ignored_nr = 0;
  dir.ignored_alloc = 0;
  dir.flags = 0U;
  dir.entries = (struct dir_entry **)0;
  dir.ignored = (struct dir_entry **)0;
  dir.exclude_per_dir = (char const   *)0;
  dir.exclude_list_group[0].nr = 0;
  dir.exclude_list_group[0].alloc = 0;
  dir.exclude_list_group[0].pl = (struct pattern_list *)0;
  dir.exclude_list_group[1].nr = 0;
  dir.exclude_list_group[1].alloc = 0;
  dir.exclude_list_group[1].pl = (struct pattern_list *)0;
  dir.exclude_list_group[2].nr = 0;
  dir.exclude_list_group[2].alloc = 0;
  dir.exclude_list_group[2].pl = (struct pattern_list *)0;
  dir.exclude_stack = (struct exclude_stack *)0;
  dir.pattern = (struct path_pattern *)0;
  dir.basebuf.alloc = 0UL;
  dir.basebuf.len = 0UL;
  dir.basebuf.buf = (char *)0;
  dir.untracked = (struct untracked_cache *)0;
  dir.ss_info_exclude.stat.sd_ctime.sec = 0U;
  dir.ss_info_exclude.stat.sd_ctime.nsec = 0U;
  dir.ss_info_exclude.stat.sd_mtime.sec = 0U;
  dir.ss_info_exclude.stat.sd_mtime.nsec = 0U;
  dir.ss_info_exclude.stat.sd_dev = 0U;
  dir.ss_info_exclude.stat.sd_ino = 0U;
  dir.ss_info_exclude.stat.sd_uid = 0U;
  dir.ss_info_exclude.stat.sd_gid = 0U;
  dir.ss_info_exclude.stat.sd_size = 0U;
  dir.ss_info_exclude.oid.hash[0] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[1] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[2] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[3] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[4] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[5] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[6] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[7] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[8] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[9] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[10] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[11] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[12] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[13] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[14] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[15] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[16] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[17] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[18] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[19] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[20] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[21] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[22] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[23] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[24] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[25] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[26] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[27] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[28] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[29] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[30] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[31] = (unsigned char)0;
  dir.ss_info_exclude.oid.algo = 0;
  dir.ss_info_exclude.valid = 0;
  dir.ss_excludes_file.stat.sd_ctime.sec = 0U;
  dir.ss_excludes_file.stat.sd_ctime.nsec = 0U;
  dir.ss_excludes_file.stat.sd_mtime.sec = 0U;
  dir.ss_excludes_file.stat.sd_mtime.nsec = 0U;
  dir.ss_excludes_file.stat.sd_dev = 0U;
  dir.ss_excludes_file.stat.sd_ino = 0U;
  dir.ss_excludes_file.stat.sd_uid = 0U;
  dir.ss_excludes_file.stat.sd_gid = 0U;
  dir.ss_excludes_file.stat.sd_size = 0U;
  dir.ss_excludes_file.oid.hash[0] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[1] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[2] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[3] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[4] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[5] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[6] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[7] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[8] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[9] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[10] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[11] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[12] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[13] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[14] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[15] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[16] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[17] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[18] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[19] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[20] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[21] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[22] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[23] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[24] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[25] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[26] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[27] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[28] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[29] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[30] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[31] = (unsigned char)0;
  dir.ss_excludes_file.oid.algo = 0;
  dir.ss_excludes_file.valid = 0;
  dir.unmanaged_exclude_files = 0U;
  dir.visited_paths = 0U;
  dir.visited_directories = 0U;
  confirm.alloc = 0UL;
  confirm.len = 0UL;
  confirm.buf = strbuf_slopbuf;
  changed = -1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! del_list.nr) {
      goto while_break;
    }
    if (changed) {
      pretty_print_dels();
    }
    clean_print_color((enum color_clean )2);
    tmp = _((char const   *)"Input ignore patterns>> ");
    printf((char const   *)tmp);
    clean_print_color((enum color_clean )0);
    tmp___0 = git_read_line_interactively(& confirm);
    if (tmp___0 == -1) {
      putchar('\n');
    }
    if (! confirm.len) {
      goto while_break;
    }
    pl = add_pattern_list(& dir, 0, (char const   *)"manual exclude");
    ignore_list = strbuf_split_max((struct strbuf  const  *)(& confirm), ' ', 0);
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! *(ignore_list + i)) {
        goto while_break___0;
      }
      strbuf_trim(*(ignore_list + i));
      if (! (*(ignore_list + i))->len) {
        goto __Cont;
      }
      add_pattern((char const   *)(*(ignore_list + i))->buf, (char const   *)"", 0,
                  pl, - (i + 1));
      __Cont: /* CIL Label */
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    changed = 0;
    item___0 = del_list.items;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(del_list.items + del_list.nr))) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      dtype = 0;
      tmp___1 = is_excluded(& dir, & the_index, (char const   *)item___0->string,
                            & dtype);
      if (tmp___1) {
        *(item___0->string) = (char )'\000';
        changed ++;
      }
      item___0 ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (changed) {
      string_list_remove_empty_items(& del_list, 0);
    } else {
      clean_print_color((enum color_clean )5);
      tmp___2 = _((char const   *)"WARNING: Cannot find items matched by: %s");
      printf_ln((char const   *)tmp___2, confirm.buf);
      clean_print_color((enum color_clean )0);
    }
    strbuf_list_free(ignore_list);
    dir_clear(& dir);
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& confirm);
  return (0);
}
}
static int select_by_numbers_cmd(void)
{
  struct menu_opts menu_opts ;
  struct menu_stuff menu_stuff ;
  struct string_list_item *items ;
  int *chosen ;
  int i ;
  int j ;

  {
  menu_opts.header = (char const   *)((void *)0);
  menu_opts.prompt = (char const   *)"Select items to delete";
  menu_opts.flags = 0;
  menu_stuff.type = (enum menu_stuff_type )1;
  menu_stuff.stuff = (void *)(& del_list);
  menu_stuff.nr = (int )del_list.nr;
  chosen = list_and_choose___0(& menu_opts, & menu_stuff);
  items = del_list.items;
  i = 0;
  j = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < del_list.nr)) {
      goto while_break;
    }
    if (i < *(chosen + j)) {
      *((items + i)->string) = (char )'\000';
    } else
    if (i == *(chosen + j)) {
      j ++;
      goto __Cont;
    } else {
      *((items + i)->string) = (char )'\000';
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_remove_empty_items(& del_list, 0);
  free((void *)chosen);
  return (0);
}
}
static int ask_each_cmd(void)
{
  struct strbuf confirm ;
  struct strbuf buf___19 ;
  struct string_list_item *item___0 ;
  char const   *qname ;
  int changed ;
  int eof ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  confirm.alloc = 0UL;
  confirm.len = 0UL;
  confirm.buf = strbuf_slopbuf;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  changed = 0;
  eof = 0;
  item___0 = del_list.items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(del_list.items + del_list.nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if (! eof) {
      tmp = quote_path((char const   *)item___0->string, (char const   *)((void *)0),
                       & buf___19, 0U);
      qname = (char const   *)tmp;
      tmp___0 = _((char const   *)"Remove %s [y/N]? ");
      printf((char const   *)tmp___0, qname);
      tmp___1 = git_read_line_interactively(& confirm);
      if (tmp___1 == -1) {
        putchar('\n');
        eof = 1;
      }
    }
    if (! confirm.len) {
      *(item___0->string) = (char )'\000';
      changed ++;
    } else {
      tmp___2 = strncasecmp((char const   *)confirm.buf, (char const   *)"yes", confirm.len);
      if (tmp___2) {
        *(item___0->string) = (char )'\000';
        changed ++;
      }
    }
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (changed) {
    string_list_remove_empty_items(& del_list, 0);
  }
  strbuf_release(& buf___19);
  strbuf_release(& confirm);
  return (10);
}
}
static int quit_cmd(void)
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  string_list_clear(& del_list, 0);
  tmp = _((char const   *)"Bye.\n");
  printf((char const   *)tmp);
  return (10);
}
}
static int help_cmd(void)
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  clean_print_color((enum color_clean )4);
  tmp = _((char const   *)"clean               - start cleaning\nfilter by pattern   - exclude items from deletion\nselect by numbers   - select items to be deleted by numbers\nask each            - confirm each deletion (like \"rm -i\")\nquit                - stop cleaning\nhelp                - this screen\n?                   - help for prompt selection");
  printf_ln((char const   *)tmp);
  clean_print_color((enum color_clean )0);
  return (0);
}
}
static void interactive_main_loop(void)
{
  struct menu_opts menu_opts ;
  struct menu_stuff menu_stuff ;
  struct menu_item menus[6] ;
  int *chosen ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! del_list.nr) {
      goto while_break;
    }
    menus[0].hotkey = (char )'c';
    menus[0].title = (char const   *)"clean";
    menus[0].selected = 0;
    menus[0].fn = & clean_cmd;
    menus[1].hotkey = (char )'f';
    menus[1].title = (char const   *)"filter by pattern";
    menus[1].selected = 0;
    menus[1].fn = & filter_by_patterns_cmd;
    menus[2].hotkey = (char )'s';
    menus[2].title = (char const   *)"select by numbers";
    menus[2].selected = 0;
    menus[2].fn = & select_by_numbers_cmd;
    menus[3].hotkey = (char )'a';
    menus[3].title = (char const   *)"ask each";
    menus[3].selected = 0;
    menus[3].fn = & ask_each_cmd;
    menus[4].hotkey = (char )'q';
    menus[4].title = (char const   *)"quit";
    menus[4].selected = 0;
    menus[4].fn = & quit_cmd;
    menus[5].hotkey = (char )'h';
    menus[5].title = (char const   *)"help";
    menus[5].selected = 0;
    menus[5].fn = & help_cmd;
    menu_opts.header = (char const   *)"*** Commands ***";
    menu_opts.prompt = (char const   *)"What now";
    menu_opts.flags = 01;
    menu_stuff.type = (enum menu_stuff_type )2;
    menu_stuff.stuff = (void *)(menus);
    menu_stuff.nr = (int )(sizeof(menus) / sizeof(struct menu_item ));
    clean_print_color((enum color_clean )3);
    tmp = Q_((char const   *)"Would remove the following item:", (char const   *)"Would remove the following items:",
             (unsigned long )del_list.nr);
    printf_ln((char const   *)tmp);
    clean_print_color((enum color_clean )0);
    pretty_print_dels();
    chosen = list_and_choose___0(& menu_opts, & menu_stuff);
    if (*chosen != -1) {
      ret___67 = (*(menus[*chosen].fn))();
      if (ret___67 != 10) {
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          free((void *)chosen);
          chosen = (int *)((void *)0);
          goto while_break___0;
        }
        while_break___0: /* CIL Label */ ;
        }
        if (! del_list.nr) {
          clean_print_color((enum color_clean )5);
          tmp___0 = _((char const   *)"No more files to clean, exiting.");
          printf_ln((char const   *)tmp___0);
          clean_print_color((enum color_clean )0);
          goto while_break;
        }
        goto while_continue;
      }
    } else {
      quit_cmd();
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      free((void *)chosen);
      chosen = (int *)((void *)0);
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void correct_untracked_entries(struct dir_struct *dir )
{
  int src ;
  int dst ;
  int ign ;
  int tmp ;
  struct dir_entry *ent ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  ign = 0;
  dst = ign;
  src = dst;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (src < dir->nr)) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (ign < dir->ignored_nr) {
        tmp = cmp_dir_entry((void const   *)(dir->entries + src), (void const   *)(dir->ignored + ign));
        if (! (0 <= tmp)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      ign ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (ign < dir->ignored_nr) {
      tmp___4 = check_dir_entry_contains((struct dir_entry  const  *)*(dir->entries + src),
                                         (struct dir_entry  const  *)*(dir->ignored + ign));
      if (tmp___4) {
        free((void *)*(dir->entries + src));
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      tmp___0 = src;
      src ++;
      ent = *(dir->entries + tmp___0);
      tmp___1 = dst;
      dst ++;
      *(dir->entries + tmp___1) = ent;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (src < dir->nr) {
          tmp___3 = check_dir_entry_contains((struct dir_entry  const  *)ent, (struct dir_entry  const  *)*(dir->entries + src));
          if (! tmp___3) {
            goto while_break___1;
          }
        } else {
          goto while_break___1;
        }
        tmp___2 = src;
        src ++;
        free((void *)*(dir->entries + tmp___2));
      }
      while_break___1: /* CIL Label */ ;
      }
      src --;
    }
    src ++;
  }
  while_break: /* CIL Label */ ;
  }
  dir->nr = dst;
  return;
}
}
int cmd_clean(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  int res ;
  int dry_run___3 ;
  int remove_directories ;
  int quiet___7 ;
  int ignored ;
  int ignored_only ;
  int config_set ;
  int errors ;
  int gone ;
  int rm_flags ;
  struct strbuf abs_path ;
  struct dir_struct dir ;
  struct pathspec pathspec___1 ;
  struct strbuf buf___19 ;
  struct string_list exclude_list ;
  struct pattern_list *pl ;
  struct string_list_item *item___0 ;
  char const   *qname ;
  struct option options[9] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  struct dir_entry *ent ;
  struct stat st ;
  char const   *rel ;
  int tmp___4 ;
  int tmp___5 ;
  struct stat st___0 ;
  int tmp___6 ;
  int tmp___7 ;
  char *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  int saved_errno ;
  int *tmp___13 ;
  char *tmp___14 ;
  int *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  char *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;

  {
  dry_run___3 = 0;
  remove_directories = 0;
  quiet___7 = 0;
  ignored = 0;
  ignored_only = 0;
  config_set = 0;
  errors = 0;
  gone = 1;
  rm_flags = 02;
  abs_path.alloc = 0UL;
  abs_path.len = 0UL;
  abs_path.buf = strbuf_slopbuf;
  dir.nr = 0;
  dir.alloc = 0;
  dir.ignored_nr = 0;
  dir.ignored_alloc = 0;
  dir.flags = 0U;
  dir.entries = (struct dir_entry **)0;
  dir.ignored = (struct dir_entry **)0;
  dir.exclude_per_dir = (char const   *)0;
  dir.exclude_list_group[0].nr = 0;
  dir.exclude_list_group[0].alloc = 0;
  dir.exclude_list_group[0].pl = (struct pattern_list *)0;
  dir.exclude_list_group[1].nr = 0;
  dir.exclude_list_group[1].alloc = 0;
  dir.exclude_list_group[1].pl = (struct pattern_list *)0;
  dir.exclude_list_group[2].nr = 0;
  dir.exclude_list_group[2].alloc = 0;
  dir.exclude_list_group[2].pl = (struct pattern_list *)0;
  dir.exclude_stack = (struct exclude_stack *)0;
  dir.pattern = (struct path_pattern *)0;
  dir.basebuf.alloc = 0UL;
  dir.basebuf.len = 0UL;
  dir.basebuf.buf = (char *)0;
  dir.untracked = (struct untracked_cache *)0;
  dir.ss_info_exclude.stat.sd_ctime.sec = 0U;
  dir.ss_info_exclude.stat.sd_ctime.nsec = 0U;
  dir.ss_info_exclude.stat.sd_mtime.sec = 0U;
  dir.ss_info_exclude.stat.sd_mtime.nsec = 0U;
  dir.ss_info_exclude.stat.sd_dev = 0U;
  dir.ss_info_exclude.stat.sd_ino = 0U;
  dir.ss_info_exclude.stat.sd_uid = 0U;
  dir.ss_info_exclude.stat.sd_gid = 0U;
  dir.ss_info_exclude.stat.sd_size = 0U;
  dir.ss_info_exclude.oid.hash[0] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[1] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[2] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[3] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[4] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[5] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[6] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[7] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[8] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[9] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[10] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[11] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[12] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[13] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[14] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[15] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[16] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[17] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[18] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[19] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[20] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[21] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[22] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[23] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[24] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[25] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[26] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[27] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[28] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[29] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[30] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[31] = (unsigned char)0;
  dir.ss_info_exclude.oid.algo = 0;
  dir.ss_info_exclude.valid = 0;
  dir.ss_excludes_file.stat.sd_ctime.sec = 0U;
  dir.ss_excludes_file.stat.sd_ctime.nsec = 0U;
  dir.ss_excludes_file.stat.sd_mtime.sec = 0U;
  dir.ss_excludes_file.stat.sd_mtime.nsec = 0U;
  dir.ss_excludes_file.stat.sd_dev = 0U;
  dir.ss_excludes_file.stat.sd_ino = 0U;
  dir.ss_excludes_file.stat.sd_uid = 0U;
  dir.ss_excludes_file.stat.sd_gid = 0U;
  dir.ss_excludes_file.stat.sd_size = 0U;
  dir.ss_excludes_file.oid.hash[0] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[1] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[2] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[3] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[4] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[5] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[6] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[7] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[8] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[9] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[10] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[11] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[12] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[13] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[14] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[15] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[16] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[17] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[18] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[19] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[20] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[21] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[22] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[23] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[24] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[25] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[26] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[27] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[28] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[29] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[30] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[31] = (unsigned char)0;
  dir.ss_excludes_file.oid.algo = 0;
  dir.ss_excludes_file.valid = 0;
  dir.unmanaged_exclude_files = 0U;
  dir.visited_paths = 0U;
  dir.visited_directories = 0U;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  exclude_list.items = (struct string_list_item *)0;
  exclude_list.nr = 0U;
  exclude_list.alloc = 0U;
  exclude_list.strdup_strings = 0U;
  exclude_list.cmp = (int (*)(char const   * , char const   * ))0;
  options[0].type = (enum parse_opt_type )7;
  options[0].short_name = 'q';
  options[0].long_name = (char const   *)"quiet";
  options[0].value = (void *)(& quiet___7);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"do not print names of files removed";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 'n';
  options[1].long_name = (char const   *)"dry-run";
  options[1].value = (void *)(& dry_run___3);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"dry run";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )7;
  options[2].short_name = 'f';
  options[2].long_name = (char const   *)"force";
  options[2].value = (void *)(& force);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"force";
  options[2].flags = (enum parse_opt_option_flags )514;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 'i';
  options[3].long_name = (char const   *)"interactive";
  options[3].value = (void *)(& interactive);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"interactive cleaning";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )1;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 'd';
  options[4].long_name = (char const   *)((void *)0);
  options[4].value = (void *)(& remove_directories);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"remove whole directories";
  options[4].flags = (enum parse_opt_option_flags )2;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )1;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )12;
  options[5].short_name = 'e';
  options[5].long_name = (char const   *)"exclude";
  options[5].value = (void *)(& exclude_list);
  options[5].argh = (char const   *)"pattern";
  options[5].help = (char const   *)"add <pattern> to ignore rules";
  options[5].flags = (enum parse_opt_option_flags )4;
  options[5].callback = & exclude_cb;
  options[5].defval = 0L;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )8;
  options[6].short_name = 'x';
  options[6].long_name = (char const   *)((void *)0);
  options[6].value = (void *)(& ignored);
  options[6].argh = (char const   *)((void *)0);
  options[6].help = (char const   *)"remove ignored files, too";
  options[6].flags = (enum parse_opt_option_flags )2;
  options[6].callback = (parse_opt_cb *)((void *)0);
  options[6].defval = (intptr_t )1;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )8;
  options[7].short_name = 'X';
  options[7].long_name = (char const   *)((void *)0);
  options[7].value = (void *)(& ignored_only);
  options[7].argh = (char const   *)((void *)0);
  options[7].help = (char const   *)"remove only ignored files";
  options[7].flags = (enum parse_opt_option_flags )2;
  options[7].callback = (parse_opt_cb *)((void *)0);
  options[7].defval = (intptr_t )1;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )0;
  options[8].short_name = 0;
  options[8].long_name = (char const   *)0;
  options[8].value = (void *)0;
  options[8].argh = (char const   *)0;
  options[8].help = (char const   *)0;
  options[8].flags = 0U;
  options[8].callback = (parse_opt_cb *)0;
  options[8].defval = 0L;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  git_config(& git_clean_config, (void *)0);
  if (force < 0) {
    force = 0;
  } else {
    config_set = 1;
  }
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       builtin_clean_usage, (enum parse_opt_flags )0);
  if (! interactive) {
    if (! dry_run___3) {
      if (! force) {
        if (config_set) {
          tmp = _((char const   *)"clean.requireForce set to true and neither -i, -n, nor -f given; refusing to clean");
          die((char const   *)tmp);
        } else {
          tmp___0 = _((char const   *)"clean.requireForce defaults to true and neither -i, -n, nor -f given; refusing to clean");
          die((char const   *)tmp___0);
        }
      }
    }
  }
  if (force > 1) {
    rm_flags = 0;
  } else {
    dir.flags = (enum __anonenum_flags_165983474 )((unsigned int )dir.flags | 512U);
  }
  dir.flags = (enum __anonenum_flags_165983474 )((unsigned int )dir.flags | 2U);
  if (ignored) {
    if (ignored_only) {
      tmp___1 = _((char const   *)"-x and -X cannot be used together");
      die((char const   *)tmp___1);
    }
  }
  if (! ignored) {
    setup_standard_excludes(& dir);
  }
  if (ignored_only) {
    dir.flags = (enum __anonenum_flags_165983474 )((unsigned int )dir.flags | 1U);
  }
  if (argc) {
    remove_directories = 1;
  }
  if (remove_directories) {
    if (! ignored_only) {
      dir.flags = (enum __anonenum_flags_165983474 )((unsigned int )dir.flags | 32U);
      if (! ignored) {
        dir.flags = (enum __anonenum_flags_165983474 )((unsigned int )dir.flags | 256U);
      }
      dir.flags = (enum __anonenum_flags_165983474 )((unsigned int )dir.flags | 128U);
    }
  }
  tmp___3 = repo_read_index(the_repository);
  if (tmp___3 < 0) {
    tmp___2 = _((char const   *)"index file corrupt");
    die((char const   *)tmp___2);
  }
  pl = add_pattern_list(& dir, 0, (char const   *)"--exclude option");
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < exclude_list.nr)) {
      goto while_break;
    }
    add_pattern((char const   *)(exclude_list.items + i)->string, (char const   *)"",
                0, pl, - (i + 1));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  parse_pathspec(& pathspec___1, 0U, 1U, prefix___1, argv___0);
  fill_directory(& dir, & the_index, (struct pathspec  const  *)(& pathspec___1));
  correct_untracked_entries(& dir);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < dir.nr)) {
      goto while_break___0;
    }
    ent = *(dir.entries + i);
    tmp___4 = index_name_is_other(& the_index, (char const   *)(ent->name), (int )ent->len);
    if (! tmp___4) {
      goto __Cont;
    }
    tmp___5 = lstat((char const   *)(ent->name), & st);
    if (tmp___5) {
      die_errno((char const   *)"Cannot lstat \'%s\'", ent->name);
    }
    if ((st.st_mode & 61440U) == 16384U) {
      if (! remove_directories) {
        goto __Cont;
      }
    }
    rel = relative_path((char const   *)(ent->name), prefix___1, & buf___19);
    string_list_append(& del_list, rel);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  dir_clear(& dir);
  if (interactive) {
    if (del_list.nr > 0U) {
      interactive_main_loop();
    }
  }
  item___0 = del_list.items;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(del_list.items + del_list.nr))) {
        goto while_break___1;
      }
    } else {
      goto while_break___1;
    }
    strbuf_setlen___33(& abs_path, (size_t )0);
    if (prefix___1) {
      strbuf_addstr(& abs_path, prefix___1);
    }
    strbuf_addstr(& abs_path, (char const   *)item___0->string);
    tmp___6 = lstat((char const   *)abs_path.buf, & st___0);
    if (tmp___6) {
      goto __Cont___0;
    }
    if ((st___0.st_mode & 61440U) == 16384U) {
      tmp___7 = remove_dirs(& abs_path, prefix___1, rm_flags, dry_run___3, quiet___7,
                            & gone);
      if (tmp___7) {
        errors ++;
      }
      if (gone) {
        if (! quiet___7) {
          tmp___8 = quote_path((char const   *)item___0->string, (char const   *)((void *)0),
                               & buf___19, 0U);
          qname = (char const   *)tmp___8;
          if (dry_run___3) {
            tmp___9 = _(msg_would_remove);
            tmp___11 = tmp___9;
          } else {
            tmp___10 = _(msg_remove);
            tmp___11 = tmp___10;
          }
          printf((char const   *)tmp___11, qname);
        }
      }
    } else {
      if (dry_run___3) {
        res = 0;
      } else {
        tmp___12 = unlink((char const   *)abs_path.buf);
        res = tmp___12;
      }
      if (res) {
        tmp___13 = __errno_location();
        saved_errno = *tmp___13;
        tmp___14 = quote_path((char const   *)item___0->string, (char const   *)((void *)0),
                              & buf___19, 0U);
        qname = (char const   *)tmp___14;
        tmp___15 = __errno_location();
        *tmp___15 = saved_errno;
        tmp___16 = _(msg_warn_remove_failed);
        warning_errno((char const   *)tmp___16, qname);
        errors ++;
      } else
      if (! quiet___7) {
        tmp___17 = quote_path((char const   *)item___0->string, (char const   *)((void *)0),
                              & buf___19, 0U);
        qname = (char const   *)tmp___17;
        if (dry_run___3) {
          tmp___18 = _(msg_would_remove);
          tmp___20 = tmp___18;
        } else {
          tmp___19 = _(msg_remove);
          tmp___20 = tmp___19;
        }
        printf((char const   *)tmp___20, qname);
      }
    }
    __Cont___0: /* CIL Label */
    item___0 ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  strbuf_release(& abs_path);
  strbuf_release(& buf___19);
  string_list_clear(& del_list, 0);
  string_list_clear(& exclude_list, 0);
  return (errors != 0);
}
}
static double const   __ac_HASH_UPPER___110  =    (double const   )0.77;
__inline static void kh_resize_oid_set___110(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___110(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___110 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___110 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___110(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___110(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___110(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___110(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___110(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___110(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___110 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___110 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___110(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___110(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___110(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___110(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___110(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___110(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___110 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___110 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___110(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___110(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___110(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___110(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___82(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___82(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___110 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___110 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___82(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___82(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___82(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___82(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *builtin_clone_usage[2]  = {      (char const   *)"git clone [<options>] [--] <repo> [<dir>]",      (char const   *)((void *)0)};
static int option_no_checkout  ;
static int option_bare  ;
static int option_mirror  ;
static int option_single_branch  =    -1;
static int option_local  =    -1;
static int option_no_hardlinks  ;
static int option_shared  ;
static int option_no_tags  ;
static int option_shallow_submodules  ;
static int option_reject_shallow  =    -1;
static int config_reject_shallow  =    -1;
static int deepen___0  ;
static char *option_template  ;
static char *option_depth  ;
static char *option_since  ;
static char *option_origin  =    (char *)((void *)0);
static char *remote_name  =    (char *)((void *)0);
static char *option_branch  =    (char *)((void *)0);
static struct string_list option_not  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static char const   *real_git_dir  ;
static char *option_upload_pack  =    "git-upload-pack";
static int option_verbosity  ;
static int option_progress  =    -1;
static int option_sparse_checkout  ;
static enum transport_family family  ;
static struct string_list option_config  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static struct string_list option_required_reference  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static struct string_list option_optional_reference  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static int option_dissociate  ;
static int max_jobs  =    -1;
static struct string_list option_recurse_submodules  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static struct list_objects_filter_options filter_options  ;
static struct string_list server_options  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static int option_remote_submodules  ;
static int recurse_submodules_cb(struct option  const  *opt___0 , char const   *arg ,
                                 int unset )
{


  {
  if (unset) {
    string_list_clear((struct string_list *)opt___0->value, 0);
  } else
  if (arg) {
    string_list_append((struct string_list *)opt___0->value, arg);
  } else {
    string_list_append((struct string_list *)opt___0->value, (char const   *)opt___0->defval);
  }
  return (0);
}
}
static struct option builtin_clone_options[36]  =
  {      {(enum parse_opt_type )12, 'v', (char const   *)"verbose", (void *)(& option_verbosity),
      (char const   *)((void *)0), (char const   *)"be more verbose", (enum parse_opt_option_flags )2,
      & parse_opt_verbosity_cb, (intptr_t )0, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 'q', (char const   *)"quiet", (void *)(& option_verbosity),
      (char const   *)((void *)0), (char const   *)"be more quiet", (enum parse_opt_option_flags )2,
      & parse_opt_verbosity_cb, (intptr_t )0, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"progress", (void *)(& option_progress),
      (char const   *)((void *)0), (char const   *)"force progress reporting", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"reject-shallow", (void *)(& option_reject_shallow),
      (char const   *)((void *)0), (char const   *)"don\'t clone shallow repository",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'n', (char const   *)"no-checkout", (void *)(& option_no_checkout),
      (char const   *)((void *)0), (char const   *)"don\'t create a checkout", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"bare", (void *)(& option_bare),
      (char const   *)((void *)0), (char const   *)"create a bare repository", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"naked", (void *)(& option_bare),
      (char const   *)((void *)0), (char const   *)"create a bare repository", (enum parse_opt_option_flags )10,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"mirror", (void *)(& option_mirror),
      (char const   *)((void *)0), (char const   *)"create a mirror repository (implies bare)",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'l', (char const   *)"local", (void *)(& option_local),
      (char const   *)((void *)0), (char const   *)"to clone from a local repository",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"no-hardlinks", (void *)(& option_no_hardlinks),
      (char const   *)((void *)0), (char const   *)"don\'t use local hardlinks, always copy",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 's', (char const   *)"shared", (void *)(& option_shared),
      (char const   *)((void *)0), (char const   *)"setup as shared repository", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"recurse-submodules", (void *)(& option_recurse_submodules),
      (char const   *)"pathspec", (char const   *)"initialize submodules in the clone",
      (enum parse_opt_option_flags )1, & recurse_submodules_cb, (intptr_t )".", (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )3, 0, (char const   *)"recursive", (void *)"recurse-submodules",
      (char const   *)0, (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )10, 'j', (char const   *)"jobs", (void *)(& max_jobs),
      (char const   *)"n", (char const   *)"number of submodules cloned in parallel",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )9, 0, (char const   *)"template", (void *)(& option_template),
      (char const   *)"template-directory", (char const   *)"directory from which templates will be used",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"reference", (void *)(& option_required_reference),
      (char const   *)"repo", (char const   *)"reference repository", (enum parse_opt_option_flags )0,
      & parse_opt_string_list, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"reference-if-able", (void *)(& option_optional_reference),
      (char const   *)"repo", (char const   *)"reference repository", (enum parse_opt_option_flags )0,
      & parse_opt_string_list, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"dissociate", (void *)(& option_dissociate),
      (char const   *)((void *)0), (char const   *)"use --reference only while cloning",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 'o', (char const   *)"origin", (void *)(& option_origin),
      (char const   *)"name", (char const   *)"use <name> instead of \'origin\' to track upstream",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )9, 'b', (char const   *)"branch", (void *)(& option_branch),
      (char const   *)"branch", (char const   *)"checkout <branch> instead of the remote\'s HEAD",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )9, 'u', (char const   *)"upload-pack", (void *)(& option_upload_pack),
      (char const   *)"path", (char const   *)"path to git-upload-pack on the remote",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )9, 0, (char const   *)"depth", (void *)(& option_depth),
      (char const   *)"depth", (char const   *)"create a shallow clone of that depth",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )9, 0, (char const   *)"shallow-since", (void *)(& option_since),
      (char const   *)"time", (char const   *)"create a shallow clone since a specific time",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"shallow-exclude", (void *)(& option_not),
      (char const   *)"revision", (char const   *)"deepen history of shallow clone, excluding rev",
      (enum parse_opt_option_flags )0, & parse_opt_string_list, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )8, 0, (char const   *)"single-branch", (void *)(& option_single_branch),
      (char const   *)((void *)0), (char const   *)"clone only one branch, HEAD or --branch",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"no-tags", (void *)(& option_no_tags),
      (char const   *)((void *)0), (char const   *)"don\'t clone any tags, and make later fetches not to follow them",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"shallow-submodules", (void *)(& option_shallow_submodules),
      (char const   *)((void *)0), (char const   *)"any cloned submodules will be shallow",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 0, (char const   *)"separate-git-dir", (void *)(& real_git_dir),
      (char const   *)"gitdir", (char const   *)"separate git dir from working tree",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 'c', (char const   *)"config", (void *)(& option_config),
      (char const   *)"key=value", (char const   *)"set config inside the new repository",
      (enum parse_opt_option_flags )0, & parse_opt_string_list, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"server-option", (void *)(& server_options),
      (char const   *)"server-specific", (char const   *)"option to transmit", (enum parse_opt_option_flags )0,
      & parse_opt_string_list, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, '4', (char const   *)"ipv4", (void *)(& family), (char const   *)((void *)0),
      (char const   *)"use IPv4 addresses only", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, '6', (char const   *)"ipv6", (void *)(& family), (char const   *)((void *)0),
      (char const   *)"use IPv6 addresses only", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )2, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"filter", (void *)(& filter_options),
      (char const   *)"args", (char const   *)"object filtering", (enum parse_opt_option_flags )0,
      & opt_parse_list_objects_filter, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"remote-submodules", (void *)(& option_remote_submodules),
      (char const   *)((void *)0), (char const   *)"any cloned submodules will use their remote-tracking branch",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"sparse", (void *)(& option_sparse_checkout),
      (char const   *)((void *)0), (char const   *)"initialize sparse-checkout file to include only files at root",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static char const   *get_repo_path_1(struct strbuf *path___6 , int *is_bundle___0 ) ;
static char *suffix___1[4]  = {      "/.git",      "",      ".git/.git",      ".git"};
static char *bundle_suffix[2]  = {      ".bundle",      ""};
static char const   *get_repo_path_1(struct strbuf *path___6 , int *is_bundle___0 )
{
  size_t baselen ;
  struct stat st ;
  int i ;
  int tmp ;
  char signature___0[8] ;
  char const   *dst ;
  int len___0 ;
  int fd ;
  int tmp___0 ;
  ssize_t tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  baselen = path___6->len;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(suffix___1) / sizeof(suffix___1[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    strbuf_setlen___33(path___6, baselen);
    strbuf_addstr(path___6, (char const   *)suffix___1[i]);
    tmp = stat((char const   *)path___6->buf, & st);
    if (tmp) {
      goto __Cont;
    }
    if ((st.st_mode & 61440U) == 16384U) {
      tmp___3 = is_git_directory((char const   *)path___6->buf);
      if (tmp___3) {
        *is_bundle___0 = 0;
        return ((char const   *)path___6->buf);
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if ((st.st_mode & 61440U) == 32768U) {
      if (st.st_size > 8L) {
        tmp___0 = open((char const   *)path___6->buf, 00);
        fd = tmp___0;
        if (fd < 0) {
          goto __Cont;
        }
        tmp___1 = read_in_full(fd, (void *)(signature___0), (size_t )8);
        len___0 = (int )tmp___1;
        close(fd);
        if (len___0 != 8) {
          goto __Cont;
        } else {
          tmp___2 = strncmp((char const   *)(signature___0), (char const   *)"gitdir: ",
                            (size_t )8);
          if (tmp___2) {
            goto __Cont;
          }
        }
        dst = read_gitfile_gently((char const   *)path___6->buf, (int *)((void *)0));
        if (dst) {
          *is_bundle___0 = 0;
          return (dst);
        }
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(bundle_suffix) / sizeof(bundle_suffix[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break___0;
    }
    strbuf_setlen___33(path___6, baselen);
    strbuf_addstr(path___6, (char const   *)bundle_suffix[i]);
    tmp___4 = stat((char const   *)path___6->buf, & st);
    if (! tmp___4) {
      if ((st.st_mode & 61440U) == 32768U) {
        *is_bundle___0 = 1;
        return ((char const   *)path___6->buf);
      }
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return ((char const   *)((void *)0));
}
}
static char *get_repo_path(char const   *repo , int *is_bundle___0 )
{
  struct strbuf path___6 ;
  char const   *raw ;
  char *canon ;
  char *tmp ;

  {
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  strbuf_addstr(& path___6, repo);
  raw = get_repo_path_1(& path___6, is_bundle___0);
  if (raw) {
    tmp = absolute_pathdup(raw);
    canon = tmp;
  } else {
    canon = (char *)((void *)0);
  }
  strbuf_release(& path___6);
  return (canon);
}
}
static int add_one_reference(struct string_list_item *item___0 , void *cb_data )
{
  struct strbuf err___4 ;
  int *required ;
  char *ref_git ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  struct strbuf sb___6 ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  required = (int *)cb_data;
  tmp = compute_alternate_path((char const   *)item___0->string, & err___4);
  ref_git = tmp;
  if (! ref_git) {
    if (*required) {
      die((char const   *)"%s", err___4.buf);
    } else {
      tmp___0 = _((char const   *)"info: Could not add alternate for \'%s\': %s\n");
      fprintf(stderr, (char const   *)tmp___0, item___0->string, err___4.buf);
    }
  } else {
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    strbuf_addf(& sb___6, (char const   *)"%s/objects", ref_git);
    add_to_alternates_file((char const   *)sb___6.buf);
    strbuf_release(& sb___6);
  }
  strbuf_release(& err___4);
  free((void *)ref_git);
  return (0);
}
}
static void setup_reference(void)
{
  int required ;

  {
  required = 1;
  for_each_string_list(& option_required_reference, & add_one_reference, (void *)(& required));
  required = 0;
  for_each_string_list(& option_optional_reference, & add_one_reference, (void *)(& required));
  return;
}
}
static void copy_alternates(struct strbuf *src , char const   *src_repo )
{
  FILE *in ;
  FILE *tmp ;
  struct strbuf line___0 ;
  char *abs_path ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = xfopen((char const   *)src->buf, (char const   *)"r");
  in = tmp;
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = strbuf_getline(& line___0, in);
    if (! (tmp___2 != -1)) {
      goto while_break;
    }
    if (! line___0.len) {
      goto while_continue;
    } else
    if ((int )*(line___0.buf + 0) == 35) {
      goto while_continue;
    }
    tmp___0 = is_absolute_path((char const   *)line___0.buf);
    if (tmp___0) {
      add_to_alternates_file((char const   *)line___0.buf);
      goto while_continue;
    }
    abs_path = mkpathdup((char const   *)"%s/objects/%s", src_repo, line___0.buf);
    tmp___1 = normalize_path_copy(abs_path, (char const   *)abs_path);
    if (tmp___1) {
      warning((char const   *)"skipping invalid relative alternate: %s/%s", src_repo,
              line___0.buf);
    } else {
      add_to_alternates_file((char const   *)abs_path);
    }
    free((void *)abs_path);
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& line___0);
  fclose(in);
  return;
}
}
static void mkdir_if_missing(char const   *pathname , mode_t mode___1 )
{
  struct stat st ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int *tmp___4 ;

  {
  tmp = mkdir(pathname, mode___1);
  if (! tmp) {
    return;
  }
  tmp___4 = __errno_location();
  if (*tmp___4 != 17) {
    tmp___0 = _((char const   *)"failed to create directory \'%s\'");
    die_errno((char const   *)tmp___0, pathname);
  } else {
    tmp___3 = stat(pathname, & st);
    if (tmp___3) {
      tmp___1 = _((char const   *)"failed to stat \'%s\'");
      die_errno((char const   *)tmp___1, pathname);
    } else
    if (! ((st.st_mode & 61440U) == 16384U)) {
      tmp___2 = _((char const   *)"%s exists and is not a directory");
      die((char const   *)tmp___2, pathname);
    }
  }
  return;
}
}
static void copy_or_link_directory(struct strbuf *src , struct strbuf *dest , char const   *src_repo )
{
  int src_len ;
  int dest_len ;
  struct dir_iterator *iter___0 ;
  int iter_status ;
  unsigned int flags___0 ;
  struct strbuf realpath___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;

  {
  realpath___1.alloc = 0UL;
  realpath___1.len = 0UL;
  realpath___1.buf = strbuf_slopbuf;
  mkdir_if_missing((char const   *)dest->buf, (mode_t )0777);
  flags___0 = (unsigned int )(1 | (1 << 1));
  iter___0 = dir_iterator_begin((char const   *)src->buf, flags___0);
  if (! iter___0) {
    tmp = _((char const   *)"failed to start iterator over \'%s\'");
    die_errno((char const   *)tmp, src->buf);
  }
  strbuf_addch(src, '/');
  src_len = (int )src->len;
  strbuf_addch(dest, '/');
  dest_len = (int )dest->len;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    iter_status = dir_iterator_advance(iter___0);
    if (! (iter_status == 0)) {
      goto while_break;
    }
    strbuf_setlen___33(src, (size_t )src_len);
    strbuf_addstr(src, iter___0->relative_path);
    strbuf_setlen___33(dest, (size_t )dest_len);
    strbuf_addstr(dest, iter___0->relative_path);
    if ((iter___0->st.st_mode & 61440U) == 16384U) {
      mkdir_if_missing((char const   *)dest->buf, (mode_t )0777);
      goto while_continue;
    }
    tmp___0 = fspathcmp(iter___0->relative_path, (char const   *)"info/alternates");
    if (! tmp___0) {
      copy_alternates(src, src_repo);
      goto while_continue;
    }
    tmp___2 = unlink((char const   *)dest->buf);
    if (tmp___2) {
      tmp___3 = __errno_location();
      if (*tmp___3 != 2) {
        tmp___1 = _((char const   *)"failed to unlink \'%s\'");
        die_errno((char const   *)tmp___1, dest->buf);
      }
    }
    if (! option_no_hardlinks) {
      strbuf_realpath(& realpath___1, (char const   *)src->buf, 1);
      tmp___4 = link((char const   *)realpath___1.buf, (char const   *)dest->buf);
      if (! tmp___4) {
        goto while_continue;
      }
      if (option_local > 0) {
        tmp___5 = _((char const   *)"failed to create link \'%s\'");
        die_errno((char const   *)tmp___5, dest->buf);
      }
      option_no_hardlinks = 1;
    }
    tmp___7 = copy_file_with_time((char const   *)dest->buf, (char const   *)src->buf,
                                  0666);
    if (tmp___7) {
      tmp___6 = _((char const   *)"failed to copy file to \'%s\'");
      die_errno((char const   *)tmp___6, dest->buf);
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (iter_status != -1) {
    strbuf_setlen___33(src, (size_t )src_len);
    tmp___8 = _((char const   *)"failed to iterate over \'%s\'");
    die((char const   *)tmp___8, src->buf);
  }
  strbuf_release(& realpath___1);
  return;
}
}
static void clone_local(char const   *src_repo , char const   *dest_repo )
{
  struct strbuf alt ;
  struct strbuf src ;
  struct strbuf dest ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if (option_shared) {
    alt.alloc = 0UL;
    alt.len = 0UL;
    alt.buf = strbuf_slopbuf;
    get_common_dir(& alt, src_repo);
    strbuf_addstr(& alt, (char const   *)"/objects");
    add_to_alternates_file((char const   *)alt.buf);
    strbuf_release(& alt);
  } else {
    src.alloc = 0UL;
    src.len = 0UL;
    src.buf = strbuf_slopbuf;
    dest.alloc = 0UL;
    dest.len = 0UL;
    dest.buf = strbuf_slopbuf;
    get_common_dir(& src, src_repo);
    get_common_dir(& dest, dest_repo);
    strbuf_addstr(& src, (char const   *)"/objects");
    strbuf_addstr(& dest, (char const   *)"/objects");
    copy_or_link_directory(& src, & dest, src_repo);
    strbuf_release(& src);
    strbuf_release(& dest);
  }
  if (0 <= option_verbosity) {
    tmp = _((char const   *)"done.\n");
    fprintf(stderr, (char const   *)tmp);
  }
  return;
}
}
static char const   *junk_work_tree  ;
static int junk_work_tree_flags  ;
static char const   *junk_git_dir  ;
static int junk_git_dir_flags  ;
static enum __anonenum_junk_mode_263138370 junk_mode  =    (enum __anonenum_junk_mode_263138370 )0;
static char const   junk_leave_repo_msg[140]  =
  {      (char const   )'C',      (char const   )'l',      (char const   )'o',      (char const   )'n',
        (char const   )'e',      (char const   )' ',      (char const   )'s',      (char const   )'u',
        (char const   )'c',      (char const   )'c',      (char const   )'e',      (char const   )'e',
        (char const   )'d',      (char const   )'e',      (char const   )'d',      (char const   )',',
        (char const   )' ',      (char const   )'b',      (char const   )'u',      (char const   )'t',
        (char const   )' ',      (char const   )'c',      (char const   )'h',      (char const   )'e',
        (char const   )'c',      (char const   )'k',      (char const   )'o',      (char const   )'u',
        (char const   )'t',      (char const   )' ',      (char const   )'f',      (char const   )'a',
        (char const   )'i',      (char const   )'l',      (char const   )'e',      (char const   )'d',
        (char const   )'.',      (char const   )'\n',      (char const   )'Y',      (char const   )'o',
        (char const   )'u',      (char const   )' ',      (char const   )'c',      (char const   )'a',
        (char const   )'n',      (char const   )' ',      (char const   )'i',      (char const   )'n',
        (char const   )'s',      (char const   )'p',      (char const   )'e',      (char const   )'c',
        (char const   )'t',      (char const   )' ',      (char const   )'w',      (char const   )'h',
        (char const   )'a',      (char const   )'t',      (char const   )' ',      (char const   )'w',
        (char const   )'a',      (char const   )'s',      (char const   )' ',      (char const   )'c',
        (char const   )'h',      (char const   )'e',      (char const   )'c',      (char const   )'k',
        (char const   )'e',      (char const   )'d',      (char const   )' ',      (char const   )'o',
        (char const   )'u',      (char const   )'t',      (char const   )' ',      (char const   )'w',
        (char const   )'i',      (char const   )'t',      (char const   )'h',      (char const   )' ',
        (char const   )'\'',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'s',      (char const   )'t',      (char const   )'a',
        (char const   )'t',      (char const   )'u',      (char const   )'s',      (char const   )'\'',
        (char const   )'\n',      (char const   )'a',      (char const   )'n',      (char const   )'d',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'t',
        (char const   )'r',      (char const   )'y',      (char const   )' ',      (char const   )'w',
        (char const   )'i',      (char const   )'t',      (char const   )'h',      (char const   )' ',
        (char const   )'\'',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'s',
        (char const   )'t',      (char const   )'o',      (char const   )'r',      (char const   )'e',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'s',
        (char const   )'o',      (char const   )'u',      (char const   )'r',      (char const   )'c',
        (char const   )'e',      (char const   )'=',      (char const   )'H',      (char const   )'E',
        (char const   )'A',      (char const   )'D',      (char const   )' ',      (char const   )':',
        (char const   )'/',      (char const   )'\'',      (char const   )'\n',      (char const   )'\000'};
static void remove_junk(void)
{
  struct strbuf sb___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  {
  if ((unsigned int )junk_mode == 1U) {
    goto case_1;
  }
  if ((unsigned int )junk_mode == 2U) {
    goto case_2;
  }
  goto switch_default;
  case_1: /* CIL Label */
  tmp = _(junk_leave_repo_msg);
  warning((char const   *)"%s", tmp);
  case_2: /* CIL Label */
  return;
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  if (junk_git_dir) {
    strbuf_addstr(& sb___6, junk_git_dir);
    remove_dir_recursively(& sb___6, junk_git_dir_flags);
    strbuf_setlen___33(& sb___6, (size_t )0);
  }
  if (junk_work_tree) {
    strbuf_addstr(& sb___6, junk_work_tree);
    remove_dir_recursively(& sb___6, junk_work_tree_flags);
  }
  strbuf_release(& sb___6);
  return;
}
}
static void remove_junk_on_signal(int signo )
{


  {
  remove_junk();
  sigchain_pop(signo);
  raise(signo);
  return;
}
}
static struct ref *find_remote_branch(struct ref  const  *refs___0 , char const   *branch___0 )
{
  struct ref *ref ;
  struct strbuf head___1 ;

  {
  head___1.alloc = 0UL;
  head___1.len = 0UL;
  head___1.buf = strbuf_slopbuf;
  strbuf_addstr(& head___1, (char const   *)"refs/heads/");
  strbuf_addstr(& head___1, branch___0);
  ref = find_ref_by_name(refs___0, (char const   *)head___1.buf);
  strbuf_release(& head___1);
  if (ref) {
    return (ref);
  }
  strbuf_addstr(& head___1, (char const   *)"refs/tags/");
  strbuf_addstr(& head___1, branch___0);
  ref = find_ref_by_name(refs___0, (char const   *)head___1.buf);
  strbuf_release(& head___1);
  return (ref);
}
}
static struct ref *wanted_peer_refs(struct ref  const  *refs___0 , struct refspec *refspec )
{
  struct ref *head___1 ;
  struct ref *tmp ;
  struct ref *tmp___0 ;
  struct ref *local_refs ;
  struct ref **tail ;
  struct ref **tmp___1 ;
  struct ref *remote_head ;
  struct ref *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int i ;
  int i___0 ;

  {
  tmp = find_ref_by_name(refs___0, (char const   *)"HEAD");
  tmp___0 = copy_ref((struct ref  const  *)tmp);
  head___1 = tmp___0;
  local_refs = head___1;
  if (head___1) {
    tmp___1 = & head___1->next;
  } else {
    tmp___1 = & local_refs;
  }
  tail = tmp___1;
  if (option_single_branch) {
    remote_head = (struct ref *)((void *)0);
    if (! option_branch) {
      remote_head = guess_remote_head((struct ref  const  *)head___1, refs___0, 0);
    } else {
      local_refs = (struct ref *)((void *)0);
      tail = & local_refs;
      tmp___2 = find_remote_branch(refs___0, (char const   *)option_branch);
      remote_head = copy_ref((struct ref  const  *)tmp___2);
    }
    if (! remote_head) {
      if (option_branch) {
        tmp___3 = _((char const   *)"Could not find remote branch %s to clone.");
        warning((char const   *)tmp___3, option_branch);
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      i = 0;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! (i < refspec->nr)) {
          goto while_break;
        }
        get_fetch_map((struct ref  const  *)remote_head, (struct refspec_item  const  *)(refspec->items + i),
                      & tail, 0);
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
      get_fetch_map((struct ref  const  *)remote_head, tag_refspec, & tail, 0);
    }
  } else {
    i___0 = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i___0 < refspec->nr)) {
        goto while_break___0;
      }
      get_fetch_map(refs___0, (struct refspec_item  const  *)(refspec->items + i___0),
                    & tail, 0);
      i___0 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  if (! option_mirror) {
    if (! option_single_branch) {
      if (! option_no_tags) {
        get_fetch_map(refs___0, tag_refspec, & tail, 0);
      }
    }
  }
  return (local_refs);
}
}
static void write_remote_refs(struct ref  const  *local_refs )
{
  struct ref  const  *r ;
  struct ref_transaction *t ;
  struct strbuf err___4 ;
  int tmp ;
  int tmp___0 ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  t = ref_transaction_begin(& err___4);
  if (! t) {
    die((char const   *)"%s", err___4.buf);
  }
  r = local_refs;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! r) {
      goto while_break;
    }
    if (! r->peer_ref) {
      goto __Cont;
    }
    tmp = ref_transaction_create(t, (char const   *)((r->peer_ref)->name), (struct object_id  const  *)(& r->old_oid),
                                 0U, (char const   *)((void *)0), & err___4);
    if (tmp) {
      die((char const   *)"%s", err___4.buf);
    }
    __Cont: /* CIL Label */
    r = (struct ref  const  *)r->next;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = initial_ref_transaction_commit(t, & err___4);
  if (tmp___0) {
    die((char const   *)"%s", err___4.buf);
  }
  strbuf_release(& err___4);
  ref_transaction_free(t);
  return;
}
}
static void write_followtags(struct ref  const  *refs___0 , char const   *msg___5 )
{
  struct ref  const  *ref ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  ref = refs___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    tmp = starts_with((char const   *)(ref->name), (char const   *)"refs/tags/");
    if (! tmp) {
      goto __Cont;
    }
    tmp___0 = ends_with((char const   *)(ref->name), (char const   *)"^{}");
    if (tmp___0) {
      goto __Cont;
    }
    tmp___1 = repo_has_object_file_with_flags(the_repository, (struct object_id  const  *)(& ref->old_oid),
                                              40);
    if (! tmp___1) {
      goto __Cont;
    }
    update_ref(msg___5, (char const   *)(ref->name), (struct object_id  const  *)(& ref->old_oid),
               (struct object_id  const  *)((void *)0), 0U, (enum action_on_err )1);
    __Cont: /* CIL Label */
    ref = (struct ref  const  *)ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct object_id  const  *iterate_ref_map___0(void *cb_data )
{
  struct ref **rm___0 ;
  struct ref *ref ;

  {
  rm___0 = (struct ref **)cb_data;
  ref = *rm___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (ref) {
      if (! (! ref->peer_ref)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (! ref) {
    return ((struct object_id  const  *)((void *)0));
  }
  *rm___0 = ref->next;
  return ((struct object_id  const  *)(& ref->old_oid));
}
}
static void update_remote_refs(struct ref  const  *refs___0 , struct ref  const  *mapped_refs ,
                               struct ref  const  *remote_head_points_at , char const   *branch_top ,
                               char const   *msg___5 , struct transport *transport ,
                               int check_connectivity___0 )
{
  struct ref  const  *rm___0 ;
  struct check_connected_options opt___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  struct strbuf head_ref___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  rm___0 = mapped_refs;
  if (check_connectivity___0) {
    opt___0.quiet = 0;
    opt___0.shallow_file = (char const   *)0;
    opt___0.transport = (struct transport *)0;
    opt___0.err_fd = 0;
    opt___0.progress = 0;
    opt___0.env = (char const   **)0;
    opt___0.is_deepening_fetch = 0U;
    opt___0.transport = transport;
    opt___0.progress = (int )transport->progress;
    tmp___0 = check_connected(& iterate_ref_map___0, (void *)(& rm___0), & opt___0);
    if (tmp___0) {
      tmp = _((char const   *)"remote did not send all necessary objects");
      die((char const   *)tmp);
    }
  }
  if (refs___0) {
    write_remote_refs(mapped_refs);
    if (option_single_branch) {
      if (! option_no_tags) {
        write_followtags(refs___0, msg___5);
      }
    }
  }
  if (remote_head_points_at) {
    if (! option_bare) {
      head_ref___0.alloc = 0UL;
      head_ref___0.len = 0UL;
      head_ref___0.buf = strbuf_slopbuf;
      strbuf_addstr(& head_ref___0, branch_top);
      strbuf_addstr(& head_ref___0, (char const   *)"HEAD");
      tmp___2 = create_symref((char const   *)head_ref___0.buf, (char const   *)((remote_head_points_at->peer_ref)->name),
                              msg___5);
      if (tmp___2 < 0) {
        tmp___1 = _((char const   *)"unable to update %s");
        die((char const   *)tmp___1, head_ref___0.buf);
      }
      strbuf_release(& head_ref___0);
    }
  }
  return;
}
}
static void update_head(struct ref  const  *our , struct ref  const  *remote , char const   *msg___5 )
{
  char const   *head___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  struct commit *c___0 ;
  struct commit *tmp___1 ;
  int tmp___2 ;

  {
  if (our) {
    tmp___2 = skip_prefix((char const   *)(our->name), (char const   *)"refs/heads/",
                          & head___1);
    if (tmp___2) {
      tmp___0 = create_symref((char const   *)"HEAD", (char const   *)(our->name),
                              (char const   *)((void *)0));
      if (tmp___0 < 0) {
        tmp = _((char const   *)"unable to update HEAD");
        die((char const   *)tmp);
      }
      if (! option_bare) {
        update_ref(msg___5, (char const   *)"HEAD", (struct object_id  const  *)(& our->old_oid),
                   (struct object_id  const  *)((void *)0), 0U, (enum action_on_err )1);
        install_branch_config(0, head___1, (char const   *)remote_name, (char const   *)(our->name));
      }
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (our) {
    tmp___1 = lookup_commit_reference(the_repository, (struct object_id  const  *)(& our->old_oid));
    c___0 = tmp___1;
    update_ref(msg___5, (char const   *)"HEAD", (struct object_id  const  *)(& c___0->object.oid),
               (struct object_id  const  *)((void *)0), 1U, (enum action_on_err )1);
  } else
  if (remote) {
    update_ref(msg___5, (char const   *)"HEAD", (struct object_id  const  *)(& remote->old_oid),
               (struct object_id  const  *)((void *)0), 1U, (enum action_on_err )1);
  }
  return;
}
}
static int git_sparse_checkout_init(char const   *repo )
{
  struct strvec argv___0 ;
  int result___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  argv___0.v = empty_strvec;
  argv___0.nr = 0UL;
  argv___0.alloc = 0UL;
  result___0 = 0;
  strvec_pushl(& argv___0, "-C", repo, "sparse-checkout", "set", (void *)0);
  core_apply_sparse_checkout = 1;
  tmp___0 = run_command_v_opt(argv___0.v, 1 << 1);
  if (tmp___0) {
    tmp = _((char const   *)"failed to initialize sparse-checkout");
    error((char const   *)tmp);
    const_error();
    result___0 = 1;
  }
  strvec_clear(& argv___0);
  return (result___0);
}
}
static int checkout___0(int submodule_progress )
{
  struct object_id oid ;
  char *head___1 ;
  struct lock_file lock_file___0 ;
  struct unpack_trees_options opts___1 ;
  struct tree *tree ;
  struct tree_desc t ;
  int err___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char *tmp___9 ;
  struct object_id  const  *tmp___10 ;
  char *tmp___11 ;
  int __attribute__((__sentinel__))  tmp___12 ;
  struct strvec args___0 ;
  char *tmp___13 ;

  {
  lock_file___0.tempfile = (struct tempfile *)0;
  err___4 = 0;
  if (option_no_checkout) {
    return (0);
  }
  head___1 = resolve_refdup((char const   *)"HEAD", 0x01, & oid, (int *)((void *)0));
  if (! head___1) {
    tmp = _((char const   *)"remote HEAD refers to nonexistent ref, unable to checkout.\n");
    warning((char const   *)tmp);
    return (0);
  }
  tmp___4 = strcmp((char const   *)head___1, (char const   *)"HEAD");
  if (tmp___4) {
    tmp___3 = starts_with((char const   *)head___1, (char const   *)"refs/heads/");
    if (! tmp___3) {
      tmp___2 = _((char const   *)"HEAD not found below refs/heads!");
      die((char const   *)tmp___2);
    }
  } else {
    tmp___1 = advice_enabled((enum advice_type )6);
    if (tmp___1) {
      tmp___0 = oid_to_hex((struct object_id  const  *)(& oid));
      detach_advice((char const   *)tmp___0);
    }
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      free((void *)head___1);
      head___1 = (char *)((void *)0);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
  }
  setup_work_tree();
  repo_hold_locked_index(the_repository, & lock_file___0, 1);
  memset((void *)(& opts___1), 0, sizeof(opts___1));
  opts___1.update = 1U;
  opts___1.merge = 1U;
  opts___1.clone = 1U;
  opts___1.preserve_ignored = 0U;
  opts___1.fn = & oneway_merge;
  opts___1.verbose_update = (unsigned int )(option_verbosity >= 0);
  opts___1.src_index = & the_index;
  opts___1.dst_index = & the_index;
  init_checkout_metadata(& opts___1.meta, (char const   *)head___1, (struct object_id  const  *)(& oid),
                         (struct object_id  const  *)((void *)0));
  tree = parse_tree_indirect((struct object_id  const  *)(& oid));
  parse_tree(tree);
  init_tree_desc(& t, (void const   *)tree->buffer, tree->size);
  tmp___6 = unpack_trees(1U, & t, & opts___1);
  if (tmp___6 < 0) {
    tmp___5 = _((char const   *)"unable to checkout working tree");
    die((char const   *)tmp___5);
  }
  free((void *)head___1);
  tmp___8 = write_locked_index(& the_index, & lock_file___0, 1U);
  if (tmp___8) {
    tmp___7 = _((char const   *)"unable to write new index file");
    die((char const   *)tmp___7);
  }
  tmp___9 = oid_to_hex((struct object_id  const  *)(& oid));
  tmp___10 = null_oid();
  tmp___11 = oid_to_hex(tmp___10);
  tmp___12 = run_hook_le((char const   **)((void *)0), (char const   *)"post-checkout",
                         tmp___11, tmp___9, "1", (void *)0);
  err___4 |= (int )tmp___12;
  if (! err___4) {
    if (option_recurse_submodules.nr > 0U) {
      args___0.v = empty_strvec;
      args___0.nr = 0UL;
      args___0.alloc = 0UL;
      strvec_pushl(& args___0, "submodule", "update", "--require-init", "--recursive",
                   (void *)0);
      if (option_shallow_submodules == 1) {
        strvec_push(& args___0, (char const   *)"--depth=1");
      }
      if (max_jobs != -1) {
        strvec_pushf(& args___0, (char const   *)"--jobs=%d", max_jobs);
      }
      if (submodule_progress) {
        strvec_push(& args___0, (char const   *)"--progress");
      }
      if (option_verbosity < 0) {
        strvec_push(& args___0, (char const   *)"--quiet");
      }
      if (option_remote_submodules) {
        strvec_push(& args___0, (char const   *)"--remote");
        strvec_push(& args___0, (char const   *)"--no-fetch");
      }
      if (option_single_branch >= 0) {
        if (option_single_branch) {
          tmp___13 = "--single-branch";
        } else {
          tmp___13 = "--no-single-branch";
        }
        strvec_push(& args___0, (char const   *)tmp___13);
      }
      err___4 = run_command_v_opt(args___0.v, 1 << 1);
      strvec_clear(& args___0);
    }
  }
  return (err___4);
}
}
static int git_clone_config(char const   *k , char const   *v , void *cb )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = strcmp(k, (char const   *)"clone.defaultremotename");
  if (! tmp) {
    free((void *)remote_name);
    remote_name = xstrdup(v);
  }
  tmp___0 = strcmp(k, (char const   *)"clone.rejectshallow");
  if (! tmp___0) {
    config_reject_shallow = git_config_bool(k, v);
  }
  tmp___1 = git_default_config(k, v, cb);
  return (tmp___1);
}
}
static int write_one_config(char const   *key___1 , char const   *value , void *data )
{
  int apply_failed ;
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  tmp = git_clone_config(key___1, value, data);
  apply_failed = tmp;
  if (apply_failed) {
    return (apply_failed);
  }
  if (value) {
    tmp___0 = value;
  } else {
    tmp___0 = (char const   *)"true";
  }
  tmp___1 = git_config_set_multivar_gently(key___1, tmp___0, (char const   *)((void *)1),
                                           0U);
  return (tmp___1);
}
}
static void write_config(struct string_list *config )
{
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < config->nr)) {
      goto while_break;
    }
    tmp___0 = git_config_parse_parameter((char const   *)(config->items + i)->string,
                                         & write_one_config, (void *)0);
    if (tmp___0 < 0) {
      tmp = _((char const   *)"unable to write parameters to config file");
      die((char const   *)tmp);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void write_refspec_config(char const   *src_ref_prefix , struct ref  const  *our_head_points_at ,
                                 struct ref  const  *remote_head_points_at , struct strbuf *branch_top )
{
  struct strbuf key___1 ;
  struct strbuf value ;
  int tmp ;
  char const   *head___1 ;
  int tmp___0 ;

  {
  key___1.alloc = 0UL;
  key___1.len = 0UL;
  key___1.buf = strbuf_slopbuf;
  value.alloc = 0UL;
  value.len = 0UL;
  value.buf = strbuf_slopbuf;
  if (option_mirror) {
    goto _L;
  } else
  if (! option_bare) {
    _L: /* CIL Label */
    if (option_single_branch) {
      if (! option_mirror) {
        if (option_branch) {
          tmp = starts_with((char const   *)(our_head_points_at->name), (char const   *)"refs/tags/");
          if (tmp) {
            strbuf_addf(& value, (char const   *)"+%s:%s", our_head_points_at->name,
                        our_head_points_at->name);
          } else {
            strbuf_addf(& value, (char const   *)"+%s:%s%s", our_head_points_at->name,
                        branch_top->buf, option_branch);
          }
        } else
        if (remote_head_points_at) {
          head___1 = (char const   *)(remote_head_points_at->name);
          tmp___0 = skip_prefix(head___1, (char const   *)"refs/heads/", & head___1);
          if (! tmp___0) {
            BUG_fl((char const   *)"builtin/clone.c", 803, (char const   *)"remote HEAD points at non-head?");
          }
          strbuf_addf(& value, (char const   *)"+%s:%s%s", remote_head_points_at->name,
                      branch_top->buf, head___1);
        }
      } else {
        strbuf_addf(& value, (char const   *)"+%s*:%s*", src_ref_prefix, branch_top->buf);
      }
    } else {
      strbuf_addf(& value, (char const   *)"+%s*:%s*", src_ref_prefix, branch_top->buf);
    }
    if (value.len) {
      strbuf_addf(& key___1, (char const   *)"remote.%s.fetch", remote_name);
      git_config_set_multivar((char const   *)key___1.buf, (char const   *)value.buf,
                              (char const   *)"^$", 0U);
      strbuf_setlen___33(& key___1, (size_t )0);
      if (option_mirror) {
        strbuf_addf(& key___1, (char const   *)"remote.%s.mirror", remote_name);
        git_config_set((char const   *)key___1.buf, (char const   *)"true");
        strbuf_setlen___33(& key___1, (size_t )0);
      }
    }
  }
  strbuf_release(& key___1);
  strbuf_release(& value);
  return;
}
}
static void dissociate_from_references(void) ;
static char const   *argv[4]  = {      (char const   *)"repack",      (char const   *)"-a",      (char const   *)"-d",      (char const   *)((void *)0)};
static void dissociate_from_references(void)
{
  char *alternates ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int *tmp___4 ;
  int tmp___5 ;

  {
  tmp = git_pathdup((char const   *)"objects/info/alternates");
  alternates = tmp;
  tmp___5 = access((char const   *)alternates, 0);
  if (! tmp___5) {
    tmp___1 = run_command_v_opt(argv, (1 << 1) | 1);
    if (tmp___1) {
      tmp___0 = _((char const   *)"cannot repack to clean up");
      die((char const   *)tmp___0);
    }
    tmp___3 = unlink((char const   *)alternates);
    if (tmp___3) {
      tmp___4 = __errno_location();
      if (*tmp___4 != 2) {
        tmp___2 = _((char const   *)"cannot unlink temporary alternates file");
        die_errno((char const   *)tmp___2);
      }
    }
  }
  free((void *)alternates);
  return;
}
}
static int path_exists___0(char const   *path___6 )
{
  struct stat sb___6 ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = stat(path___6, & sb___6);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
int cmd_clone(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int is_bundle___0 ;
  int is_local ;
  int reject_shallow ;
  char const   *repo_name ;
  char const   *repo ;
  char const   *work_tree ;
  char const   *git_dir ;
  char *path___6 ;
  char *dir ;
  char *display_repo ;
  int dest_exists ;
  int real_dest_exists ;
  struct ref  const  *refs___0 ;
  struct ref  const  *remote_head ;
  struct ref *remote_head_points_at ;
  struct ref  const  *our_head_points_at ;
  struct ref *mapped_refs ;
  struct ref  const  *ref ;
  struct strbuf key___1 ;
  struct strbuf branch_top ;
  struct strbuf reflog_msg ;
  struct transport *transport ;
  char const   *src_ref_prefix ;
  struct remote *remote ;
  int err___4 ;
  int complete_refs_before_fetch ;
  int submodule_progress ;
  struct transport_ls_refs_options transport_ls_refs_options ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  char const   *tmp___12 ;
  char *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  char *tmp___16 ;
  char *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  enum scld_error tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  int tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  enum scld_error tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  struct string_list_item *item___0 ;
  struct strbuf sb___6 ;
  int val ;
  char *tmp___26 ;
  int tmp___27 ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  char const __attribute__((__format_arg__(1)))  *tmp___29 ;
  int tmp___30 ;
  int tmp___31 ;
  int tmp___32 ;
  char const __attribute__((__format_arg__(1)))  *tmp___33 ;
  char const __attribute__((__format_arg__(1)))  *tmp___34 ;
  char const __attribute__((__format_arg__(1)))  *tmp___35 ;
  char const __attribute__((__format_arg__(1)))  *tmp___36 ;
  char const __attribute__((__format_arg__(1)))  *tmp___37 ;
  char const __attribute__((__format_arg__(1)))  *tmp___38 ;
  char const   *tmp___39 ;
  int tmp___40 ;
  char const __attribute__((__format_arg__(1)))  *tmp___41 ;
  char const   *spec ;
  char const   *tmp___42 ;
  int hash_algo ;
  struct git_hash_algo  const  *tmp___43 ;
  int tmp___44 ;
  int tmp___45 ;
  char const __attribute__((__format_arg__(1)))  *tmp___46 ;
  int tmp___47 ;
  struct ref *tmp___48 ;
  struct ref *tmp___49 ;
  char const __attribute__((__format_arg__(1)))  *tmp___50 ;
  char const   *branch___0 ;
  char *ref___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___51 ;
  char const __attribute__((__format_arg__(1)))  *tmp___52 ;
  int tmp___53 ;
  char const __attribute__((__format_arg__(1)))  *tmp___54 ;
  int tmp___55 ;

  {
  is_bundle___0 = 0;
  reject_shallow = 0;
  path___6 = (char *)((void *)0);
  display_repo = (char *)((void *)0);
  real_dest_exists = 0;
  remote_head_points_at = (struct ref *)((void *)0);
  key___1.alloc = 0UL;
  key___1.len = 0UL;
  key___1.buf = strbuf_slopbuf;
  branch_top.alloc = 0UL;
  branch_top.len = 0UL;
  branch_top.buf = strbuf_slopbuf;
  reflog_msg.alloc = 0UL;
  reflog_msg.len = 0UL;
  reflog_msg.buf = strbuf_slopbuf;
  transport = (struct transport *)((void *)0);
  src_ref_prefix = (char const   *)"refs/heads/";
  err___4 = 0;
  complete_refs_before_fetch = 1;
  transport_ls_refs_options.ref_prefixes.v = empty_strvec;
  transport_ls_refs_options.ref_prefixes.nr = 0UL;
  transport_ls_refs_options.ref_prefixes.alloc = 0UL;
  transport_ls_refs_options.unborn_head_target = (char *)0;
  packet_trace_identity((char const   *)"clone");
  git_config(& git_clone_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(builtin_clone_options),
                       builtin_clone_usage, (enum parse_opt_flags )0);
  if (argc > 2) {
    tmp = _((char const   *)"Too many arguments.");
    usage_msg_opt((char const   *)tmp, builtin_clone_usage, (struct option  const  *)(builtin_clone_options));
  }
  if (argc == 0) {
    tmp___0 = _((char const   *)"You must specify a repository to clone.");
    usage_msg_opt((char const   *)tmp___0, builtin_clone_usage, (struct option  const  *)(builtin_clone_options));
  }
  if (option_depth) {
    deepen___0 = 1;
  } else
  if (option_since) {
    deepen___0 = 1;
  } else
  if (option_not.nr) {
    deepen___0 = 1;
  }
  if (option_single_branch == -1) {
    if (deepen___0) {
      option_single_branch = 1;
    } else {
      option_single_branch = 0;
    }
  }
  if (option_mirror) {
    option_bare = 1;
  }
  if (option_bare) {
    if (option_origin) {
      tmp___1 = _((char const   *)"options \'%s\' and \'%s %s\' cannot be used together");
      die((char const   *)tmp___1, "--bare", "--origin", option_origin);
    }
    if (real_git_dir) {
      tmp___2 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___2, "--bare", "--separate-git-dir");
    }
    option_no_checkout = 1;
  }
  repo_name = *(argv___0 + 0);
  path___6 = get_repo_path(repo_name, & is_bundle___0);
  if (path___6) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      free((void *)path___6);
      path___6 = (char *)((void *)0);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    tmp___3 = absolute_pathdup(repo_name);
    repo = (char const   *)tmp___3;
  } else {
    tmp___5 = strchr(repo_name, ':');
    if (tmp___5) {
      repo = repo_name;
      display_repo = transport_anonymize_url(repo);
    } else {
      tmp___4 = _((char const   *)"repository \'%s\' does not exist");
      die((char const   *)tmp___4, repo_name);
    }
  }
  if (option_depth) {
    tmp___7 = atoi((char const   *)option_depth);
    if (tmp___7 < 1) {
      tmp___6 = _((char const   *)"depth %s is not a positive number");
      die((char const   *)tmp___6, option_depth);
    }
  }
  if (argc == 2) {
    dir = xstrdup(*(argv___0 + 1));
  } else {
    dir = git_url_basename(repo_name, is_bundle___0, option_bare);
  }
  strip_dir_trailing_slashes(dir);
  dest_exists = path_exists___0((char const   *)dir);
  if (dest_exists) {
    tmp___9 = is_empty_dir((char const   *)dir);
    if (! tmp___9) {
      tmp___8 = _((char const   *)"destination path \'%s\' already exists and is not an empty directory.");
      die((char const   *)tmp___8, dir);
    }
  }
  if (real_git_dir) {
    real_dest_exists = path_exists___0(real_git_dir);
    if (real_dest_exists) {
      tmp___11 = is_empty_dir(real_git_dir);
      if (! tmp___11) {
        tmp___10 = _((char const   *)"repository path \'%s\' already exists and is not an empty directory.");
        die((char const   *)tmp___10, real_git_dir);
      }
    }
  }
  if (display_repo) {
    tmp___12 = (char const   *)display_repo;
  } else {
    tmp___12 = repo;
  }
  strbuf_addf(& reflog_msg, (char const   *)"clone: from %s", tmp___12);
  free((void *)display_repo);
  if (option_bare) {
    work_tree = (char const   *)((void *)0);
  } else {
    tmp___13 = getenv((char const   *)"GIT_WORK_TREE");
    work_tree = (char const   *)tmp___13;
    if (work_tree) {
      tmp___15 = path_exists___0(work_tree);
      if (tmp___15) {
        tmp___14 = _((char const   *)"working tree \'%s\' already exists.");
        die((char const   *)tmp___14, work_tree);
      }
    }
  }
  if (option_bare) {
    tmp___16 = xstrdup((char const   *)dir);
    git_dir = (char const   *)tmp___16;
  } else
  if (work_tree) {
    tmp___16 = xstrdup((char const   *)dir);
    git_dir = (char const   *)tmp___16;
  } else {
    work_tree = (char const   *)dir;
    tmp___17 = mkpathdup((char const   *)"%s/.git", dir);
    git_dir = (char const   *)tmp___17;
  }
  atexit(& remove_junk);
  sigchain_push_common(& remove_junk_on_signal);
  if (! option_bare) {
    tmp___19 = safe_create_leading_directories_const(work_tree);
    if ((int )tmp___19 < 0) {
      tmp___18 = _((char const   *)"could not create leading directories of \'%s\'");
      die_errno((char const   *)tmp___18, work_tree);
    }
    if (dest_exists) {
      junk_work_tree_flags |= 04;
    } else {
      tmp___21 = mkdir(work_tree, (__mode_t )0777);
      if (tmp___21) {
        tmp___20 = _((char const   *)"could not create work tree dir \'%s\'");
        die_errno((char const   *)tmp___20, work_tree);
      }
    }
    junk_work_tree = work_tree;
    set_git_work_tree(work_tree);
  }
  if (real_git_dir) {
    if (real_dest_exists) {
      junk_git_dir_flags |= 04;
    }
    junk_git_dir = real_git_dir;
  } else {
    if (dest_exists) {
      junk_git_dir_flags |= 04;
    }
    junk_git_dir = git_dir;
  }
  tmp___23 = safe_create_leading_directories_const(git_dir);
  if ((int )tmp___23 < 0) {
    tmp___22 = _((char const   *)"could not create leading directories of \'%s\'");
    die((char const   *)tmp___22, git_dir);
  }
  if (0 <= option_verbosity) {
    if (option_bare) {
      tmp___24 = _((char const   *)"Cloning into bare repository \'%s\'...\n");
      fprintf(stderr, (char const   *)tmp___24, dir);
    } else {
      tmp___25 = _((char const   *)"Cloning into \'%s\'...\n");
      fprintf(stderr, (char const   *)tmp___25, dir);
    }
  }
  if (option_recurse_submodules.nr > 0U) {
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    string_list_sort(& option_recurse_submodules);
    string_list_remove_duplicates(& option_recurse_submodules, 0);
    item___0 = option_recurse_submodules.items;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(option_recurse_submodules.items + option_recurse_submodules.nr))) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      strbuf_addf(& sb___6, (char const   *)"submodule.active=%s", item___0->string);
      tmp___26 = strbuf_detach(& sb___6, (size_t *)((void *)0));
      string_list_append(& option_config, (char const   *)tmp___26);
      item___0 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___27 = git_config_get_bool((char const   *)"submodule.stickyRecursiveClone",
                                   & val);
    if (! tmp___27) {
      if (val) {
        string_list_append(& option_config, (char const   *)"submodule.recurse=true");
      }
    }
    if (option_required_reference.nr) {
      if (option_optional_reference.nr) {
        tmp___28 = _((char const   *)"clone --recursive is not compatible with both --reference and --reference-if-able");
        die((char const   *)tmp___28);
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (option_required_reference.nr) {
      string_list_append(& option_config, (char const   *)"submodule.alternateLocation=superproject");
      string_list_append(& option_config, (char const   *)"submodule.alternateErrorStrategy=die");
    } else
    if (option_optional_reference.nr) {
      string_list_append(& option_config, (char const   *)"submodule.alternateLocation=superproject");
      string_list_append(& option_config, (char const   *)"submodule.alternateErrorStrategy=info");
    }
  }
  init_db(git_dir, real_git_dir, (char const   *)option_template, 0, (char const   *)((void *)0),
          1U);
  if (real_git_dir) {
    free((void *)((char *)git_dir));
    git_dir = real_git_dir;
  }
  write_config(& option_config);
  git_config(& git_clone_config, (void *)0);
  if (config_reject_shallow != -1) {
    reject_shallow = config_reject_shallow;
  }
  if (option_reject_shallow != -1) {
    reject_shallow = option_reject_shallow;
  }
  if ((unsigned long )option_origin != (unsigned long )((void *)0)) {
    remote_name = xstrdup((char const   *)option_origin);
  }
  if ((unsigned long )remote_name == (unsigned long )((void *)0)) {
    remote_name = xstrdup((char const   *)"origin");
  }
  tmp___30 = valid_remote_name((char const   *)remote_name);
  if (! tmp___30) {
    tmp___29 = _((char const   *)"\'%s\' is not a valid remote name");
    die((char const   *)tmp___29, remote_name);
  }
  if (option_bare) {
    if (option_mirror) {
      src_ref_prefix = (char const   *)"refs/";
    }
    strbuf_addstr(& branch_top, src_ref_prefix);
    git_config_set((char const   *)"core.bare", (char const   *)"true");
  } else {
    strbuf_addf(& branch_top, (char const   *)"refs/remotes/%s/", remote_name);
  }
  strbuf_addf(& key___1, (char const   *)"remote.%s.url", remote_name);
  git_config_set((char const   *)key___1.buf, repo);
  strbuf_setlen___33(& key___1, (size_t )0);
  if (option_no_tags) {
    strbuf_addf(& key___1, (char const   *)"remote.%s.tagOpt", remote_name);
    git_config_set((char const   *)key___1.buf, (char const   *)"--no-tags");
    strbuf_setlen___33(& key___1, (size_t )0);
  }
  if (option_required_reference.nr) {
    setup_reference();
  } else
  if (option_optional_reference.nr) {
    setup_reference();
  }
  if (option_sparse_checkout) {
    tmp___31 = git_sparse_checkout_init((char const   *)dir);
    if (tmp___31) {
      return (1);
    }
  }
  remote = remote_get((char const   *)remote_name);
  refspec_appendf(& remote->fetch, (char const   *)"+%s*:%s*", src_ref_prefix, branch_top.buf);
  transport = transport_get(remote, *(remote->url + 0));
  transport_set_verbosity(transport, option_verbosity, option_progress);
  transport->family = family;
  path___6 = get_repo_path(*(remote->url + 0), & is_bundle___0);
  if (option_local != 0) {
    if (path___6) {
      if (! is_bundle___0) {
        tmp___32 = 1;
      } else {
        tmp___32 = 0;
      }
    } else {
      tmp___32 = 0;
    }
  } else {
    tmp___32 = 0;
  }
  is_local = tmp___32;
  if (is_local) {
    if (option_depth) {
      tmp___33 = _((char const   *)"--depth is ignored in local clones; use file:// instead.");
      warning((char const   *)tmp___33);
    }
    if (option_since) {
      tmp___34 = _((char const   *)"--shallow-since is ignored in local clones; use file:// instead.");
      warning((char const   *)tmp___34);
    }
    if (option_not.nr) {
      tmp___35 = _((char const   *)"--shallow-exclude is ignored in local clones; use file:// instead.");
      warning((char const   *)tmp___35);
    }
    if (filter_options.choice) {
      tmp___36 = _((char const   *)"--filter is ignored in local clones; use file:// instead.");
      warning((char const   *)tmp___36);
    }
    tmp___39 = mkpath((char const   *)"%s/shallow", path___6);
    tmp___40 = access(tmp___39, 0);
    if (! tmp___40) {
      if (reject_shallow) {
        tmp___37 = _((char const   *)"source repository is shallow, reject to clone.");
        die((char const   *)tmp___37);
      }
      if (option_local > 0) {
        tmp___38 = _((char const   *)"source repository is shallow, ignoring --local");
        warning((char const   *)tmp___38);
      }
      is_local = 0;
    }
  }
  if (option_local > 0) {
    if (! is_local) {
      tmp___41 = _((char const   *)"--local is ignored");
      warning((char const   *)tmp___41);
    }
  }
  transport->cloning = 1U;
  transport_set_option(transport, (char const   *)"keep", (char const   *)"yes");
  if (reject_shallow) {
    transport_set_option(transport, (char const   *)"rejectshallow", (char const   *)"1");
  }
  if (option_depth) {
    transport_set_option(transport, (char const   *)"depth", (char const   *)option_depth);
  }
  if (option_since) {
    transport_set_option(transport, (char const   *)"deepen-since", (char const   *)option_since);
  }
  if (option_not.nr) {
    transport_set_option(transport, (char const   *)"deepen-not", (char const   *)(& option_not));
  }
  if (option_single_branch) {
    transport_set_option(transport, (char const   *)"followtags", (char const   *)"1");
  }
  if (option_upload_pack) {
    transport_set_option(transport, (char const   *)"uploadpack", (char const   *)option_upload_pack);
  }
  if (server_options.nr) {
    transport->server_options = (struct string_list  const  *)(& server_options);
  }
  if (filter_options.choice) {
    tmp___42 = expand_list_objects_filter_spec(& filter_options);
    spec = tmp___42;
    transport_set_option(transport, (char const   *)"filter", spec);
    transport_set_option(transport, (char const   *)"from-promisor", (char const   *)"1");
  }
  if (transport->smart_options) {
    if (! deepen___0) {
      if (! filter_options.choice) {
        (transport->smart_options)->check_self_contained_and_connected = 1U;
      }
    }
  }
  strvec_push(& transport_ls_refs_options.ref_prefixes, (char const   *)"HEAD");
  refspec_ref_prefixes((struct refspec  const  *)(& remote->fetch), & transport_ls_refs_options.ref_prefixes);
  if (option_branch) {
    expand_ref_prefix(& transport_ls_refs_options.ref_prefixes, (char const   *)option_branch);
  }
  if (! option_no_tags) {
    strvec_push(& transport_ls_refs_options.ref_prefixes, (char const   *)"refs/tags/");
  }
  refs___0 = transport_get_remote_refs(transport, & transport_ls_refs_options);
  if (refs___0) {
    tmp___43 = transport_get_hash_algo(transport);
    tmp___44 = hash_algo_by_ptr(tmp___43);
    hash_algo = tmp___44;
    initialize_repository_version(hash_algo, 1);
    repo_set_hash_algo(the_repository, hash_algo);
    mapped_refs = wanted_peer_refs(refs___0, & remote->fetch);
    ref = refs___0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ref) {
        goto while_break___1;
      }
      tmp___45 = is_null_oid((struct object_id  const  *)(& ref->old_oid));
      if (tmp___45) {
        complete_refs_before_fetch = 0;
        goto while_break___1;
      }
      ref = (struct ref  const  *)ref->next;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (! is_local) {
      if (! complete_refs_before_fetch) {
        tmp___47 = transport_fetch_refs(transport, mapped_refs);
        if (tmp___47) {
          tmp___46 = _((char const   *)"remote transport reported error");
          die((char const   *)tmp___46);
        }
      }
    }
    tmp___48 = find_ref_by_name(refs___0, (char const   *)"HEAD");
    remote_head = (struct ref  const  *)tmp___48;
    remote_head_points_at = guess_remote_head(remote_head, (struct ref  const  *)mapped_refs,
                                              0);
    if (option_branch) {
      tmp___49 = find_remote_branch((struct ref  const  *)mapped_refs, (char const   *)option_branch);
      our_head_points_at = (struct ref  const  *)tmp___49;
      if (! our_head_points_at) {
        tmp___50 = _((char const   *)"Remote branch %s not found in upstream %s");
        die((char const   *)tmp___50, option_branch, remote_name);
      }
    } else {
      our_head_points_at = (struct ref  const  *)remote_head_points_at;
    }
  } else {
    if (option_branch) {
      tmp___51 = _((char const   *)"Remote branch %s not found in upstream %s");
      die((char const   *)tmp___51, option_branch, remote_name);
    }
    tmp___52 = _((char const   *)"You appear to have cloned an empty repository.");
    warning((char const   *)tmp___52);
    mapped_refs = (struct ref *)((void *)0);
    our_head_points_at = (struct ref  const  *)((void *)0);
    remote_head_points_at = (struct ref *)((void *)0);
    remote_head = (struct ref  const  *)((void *)0);
    option_no_checkout = 1;
    if (transport_ls_refs_options.unborn_head_target) {
      tmp___53 = skip_prefix((char const   *)transport_ls_refs_options.unborn_head_target,
                             (char const   *)"refs/heads/", & branch___0);
      if (tmp___53) {
        ref___0 = transport_ls_refs_options.unborn_head_target;
        transport_ls_refs_options.unborn_head_target = (char *)((void *)0);
        create_symref((char const   *)"HEAD", (char const   *)ref___0, (char const   *)reflog_msg.buf);
      } else {
        branch___0 = git_default_branch_name(0);
        ref___0 = xstrfmt((char const   *)"refs/heads/%s", branch___0);
      }
    } else {
      branch___0 = git_default_branch_name(0);
      ref___0 = xstrfmt((char const   *)"refs/heads/%s", branch___0);
    }
    if (! option_bare) {
      install_branch_config(0, branch___0, (char const   *)remote_name, (char const   *)ref___0);
    }
    free((void *)ref___0);
  }
  write_refspec_config(src_ref_prefix, our_head_points_at, (struct ref  const  *)remote_head_points_at,
                       & branch_top);
  if (filter_options.choice) {
    partial_clone_register((char const   *)remote_name, & filter_options);
  }
  if (is_local) {
    clone_local((char const   *)path___6, git_dir);
  } else
  if (refs___0) {
    if (complete_refs_before_fetch) {
      tmp___55 = transport_fetch_refs(transport, mapped_refs);
      if (tmp___55) {
        tmp___54 = _((char const   *)"remote transport reported error");
        die((char const   *)tmp___54);
      }
    }
  }
  update_remote_refs(refs___0, (struct ref  const  *)mapped_refs, (struct ref  const  *)remote_head_points_at,
                     (char const   *)branch_top.buf, (char const   *)reflog_msg.buf,
                     transport, ! is_local);
  update_head(our_head_points_at, remote_head, (char const   *)reflog_msg.buf);
  submodule_progress = (int )transport->progress;
  transport_unlock_pack(transport, 0U);
  transport_disconnect(transport);
  if (option_dissociate) {
    close_object_store(the_repository->objects);
    dissociate_from_references();
  }
  junk_mode = (enum __anonenum_junk_mode_263138370 )1;
  err___4 = checkout___0(submodule_progress);
  free((void *)remote_name);
  strbuf_release(& reflog_msg);
  strbuf_release(& branch_top);
  strbuf_release(& key___1);
  free_refs(mapped_refs);
  free_refs(remote_head_points_at);
  free((void *)dir);
  free((void *)path___6);
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  junk_mode = (enum __anonenum_junk_mode_263138370 )2;
  strvec_clear(& transport_ls_refs_options.ref_prefixes);
  free((void *)transport_ls_refs_options.unborn_head_target);
  return (err___4);
}
}
static char const   *builtin_column_usage[2]  = {      (char const   *)"git column [<options>]",      (char const   *)((void *)0)};
static unsigned int colopts___1  ;
static int column_config___0(char const   *var , char const   *value , void *cb )
{
  int tmp ;

  {
  tmp = git_column_config(var, value, (char const   *)cb, & colopts___1);
  return (tmp);
}
}
int cmd_column(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct string_list list___3 ;
  struct strbuf sb___6 ;
  struct column_options copts ;
  char const   *command___0 ;
  char const   *real_command ;
  struct option options[8] ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  list___3.items = (struct string_list_item *)0;
  list___3.nr = 0U;
  list___3.alloc = 0U;
  list___3.strdup_strings = 1U;
  list___3.cmp = (int (*)(char const   * , char const   * ))0;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  command___0 = (char const   *)((void *)0);
  real_command = (char const   *)((void *)0);
  options[0].type = (enum parse_opt_type )9;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"command";
  options[0].value = (void *)(& real_command);
  options[0].argh = (char const   *)"name";
  options[0].help = (char const   *)"lookup config vars";
  options[0].flags = (enum parse_opt_option_flags )0;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )12;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"mode";
  options[1].value = (void *)(& colopts___1);
  options[1].argh = (char const   *)"style";
  options[1].help = (char const   *)"layout to use";
  options[1].flags = (enum parse_opt_option_flags )1;
  options[1].callback = & parseopt_column_callback;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )10;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"raw-mode";
  options[2].value = (void *)(& colopts___1);
  options[2].argh = (char const   *)"n";
  options[2].help = (char const   *)"layout to use";
  options[2].flags = (enum parse_opt_option_flags )0;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )10;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"width";
  options[3].value = (void *)(& copts.width);
  options[3].argh = (char const   *)"n";
  options[3].help = (char const   *)"maximum width";
  options[3].flags = (enum parse_opt_option_flags )0;
  options[3].callback = (parse_opt_cb *)0;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )9;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"indent";
  options[4].value = (void *)(& copts.indent);
  options[4].argh = (char const   *)"string";
  options[4].help = (char const   *)"padding space on left border";
  options[4].flags = (enum parse_opt_option_flags )0;
  options[4].callback = (parse_opt_cb *)0;
  options[4].defval = 0L;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )9;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)"nl";
  options[5].value = (void *)(& copts.nl);
  options[5].argh = (char const   *)"string";
  options[5].help = (char const   *)"padding space on right border";
  options[5].flags = (enum parse_opt_option_flags )0;
  options[5].callback = (parse_opt_cb *)0;
  options[5].defval = 0L;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )10;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)"padding";
  options[6].value = (void *)(& copts.padding);
  options[6].argh = (char const   *)"n";
  options[6].help = (char const   *)"padding space between columns";
  options[6].flags = (enum parse_opt_option_flags )0;
  options[6].callback = (parse_opt_cb *)0;
  options[6].defval = 0L;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )0;
  options[7].short_name = 0;
  options[7].long_name = (char const   *)0;
  options[7].value = (void *)0;
  options[7].argh = (char const   *)0;
  options[7].help = (char const   *)0;
  options[7].flags = 0U;
  options[7].callback = (parse_opt_cb *)0;
  options[7].defval = 0L;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  if (argc > 1) {
    tmp = starts_with(*(argv___0 + 1), (char const   *)"--command=");
    if (tmp) {
      command___0 = *(argv___0 + 1) + 10;
      git_config(& column_config___0, (void *)command___0);
    } else {
      git_config(& column_config___0, (void *)0);
    }
  } else {
    git_config(& column_config___0, (void *)0);
  }
  memset((void *)(& copts), 0, sizeof(copts));
  copts.padding = 1;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       builtin_column_usage, (enum parse_opt_flags )0);
  if (argc) {
    usage_with_options(builtin_column_usage, (struct option  const  *)(options));
  }
  if (real_command) {
    goto _L;
  } else
  if (command___0) {
    _L: /* CIL Label */
    if (! real_command) {
      tmp___0 = _((char const   *)"--command must be the first argument");
      die((char const   *)tmp___0);
    } else
    if (! command___0) {
      tmp___0 = _((char const   *)"--command must be the first argument");
      die((char const   *)tmp___0);
    } else {
      tmp___1 = strcmp(real_command, command___0);
      if (tmp___1) {
        tmp___0 = _((char const   *)"--command must be the first argument");
        die((char const   *)tmp___0);
      }
    }
  }
  finalize_colopts(& colopts___1, -1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = strbuf_getline(& sb___6, stdin);
    if (tmp___2) {
      goto while_break;
    }
    string_list_append(& list___3, (char const   *)sb___6.buf);
  }
  while_break: /* CIL Label */ ;
  }
  print_columns((struct string_list  const  *)(& list___3), colopts___1, (struct column_options  const  *)(& copts));
  return (0);
}
}
static double const   __ac_HASH_UPPER___111  =    (double const   )0.77;
__inline static void kh_resize_oid_set___111(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___111(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___111 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___111 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___111(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___111(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___111(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___111(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___111(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___111(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___111 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___111 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___111(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___111(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___111(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___111(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___111(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___111(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___111 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___111 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___111(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___111(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___111(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___111(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___83(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___83(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___111 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___111 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___83(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___83(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___83(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___83(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *builtin_commit_graph_verify_usage[2]  = {      (char const   *)"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]",      (char const   *)((void *)0)};
static char const   *builtin_commit_graph_write_usage[2]  = {      (char const   *)"git commit-graph write [--object-dir <objdir>] [--append] [--split[=<strategy>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-paths] [--[no-]max-new-filters <n>] [--[no-]progress] <split options>",      (char const   *)((void *)0)};
static char const   *builtin_commit_graph_usage[3]  = {      (char const   *)"git commit-graph verify [--object-dir <objdir>] [--shallow] [--[no-]progress]",      (char const   *)"git commit-graph write [--object-dir <objdir>] [--append] [--split[=<strategy>]] [--reachable|--stdin-packs|--stdin-commits] [--changed-paths] [--[no-]max-new-filters <n>] [--[no-]progress] <split options>",      (char const   *)((void *)0)};
static struct opts_commit_graph opts  ;
static struct option common_opts[2]  = {      {(enum parse_opt_type )9, 0, (char const   *)"object-dir", (void *)(& opts.obj_dir),
      (char const   *)"dir", (char const   *)"the object directory to store the graph",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static struct option *add_common_options___0(struct option *to )
{
  struct option *tmp ;

  {
  tmp = parse_options_concat((struct option  const  *)(common_opts), (struct option  const  *)to);
  return (tmp);
}
}
static int graph_verify(int argc , char const   **argv___0 ) ;
static struct option builtin_commit_graph_verify_options[3]  = {      {(enum parse_opt_type )8, 0, (char const   *)"shallow", (void *)(& opts.shallow),
      (char const   *)((void *)0), (char const   *)"if the commit-graph is split, only verify the tip file",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"progress", (void *)(& opts.progress),
      (char const   *)((void *)0), (char const   *)"force progress reporting", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static int graph_verify(int argc , char const   **argv___0 )
{
  struct commit_graph *graph ;
  struct object_directory *odb ;
  char *graph_name ;
  int open_ok ;
  int fd ;
  struct stat st ;
  int flags___0 ;
  struct option *options ;
  struct option *tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int *tmp___2 ;
  int tmp___3 ;

  {
  graph = (struct commit_graph *)((void *)0);
  odb = (struct object_directory *)((void *)0);
  flags___0 = 0;
  tmp = add_common_options___0(builtin_commit_graph_verify_options);
  options = tmp;
  trace2_cmd_mode_fl((char const   *)"builtin/commit-graph.c", 80, (char const   *)"verify");
  opts.progress = isatty(2);
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)options,
                       (char const   **)(builtin_commit_graph_verify_usage), (enum parse_opt_flags )0);
  if (argc) {
    usage_with_options((char const   **)(builtin_commit_graph_verify_usage), (struct option  const  *)options);
  }
  if (! opts.obj_dir) {
    tmp___0 = get_object_directory();
    opts.obj_dir = (char const   *)tmp___0;
  }
  if (opts.shallow) {
    flags___0 |= 1;
  }
  if (opts.progress) {
    flags___0 |= 2;
  }
  odb = find_odb(the_repository, opts.obj_dir);
  graph_name = get_commit_graph_filename(odb);
  open_ok = open_commit_graph((char const   *)graph_name, & fd, & st);
  if (! open_ok) {
    tmp___2 = __errno_location();
    if (*tmp___2 != 2) {
      tmp___1 = _((char const   *)"Could not open commit-graph \'%s\'");
      die_errno((char const   *)tmp___1, graph_name);
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)graph_name);
    graph_name = (char *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)options);
    options = (struct option *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (open_ok) {
    graph = load_commit_graph_one_fd_st(the_repository, fd, & st, odb);
  } else {
    graph = read_commit_graph_one(the_repository, odb);
  }
  if (! graph) {
    return (! (! open_ok));
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  tmp___3 = verify_commit_graph(the_repository, graph, flags___0);
  return (tmp___3);
}
}
static struct commit_graph_opts write_opts  ;
static int write_option_parse_split(struct option  const  *opt___0 , char const   *arg ,
                                    int unset )
{
  enum commit_graph_split_flags *flags___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  flags___0 = (enum commit_graph_split_flags *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/commit-graph.c", 126, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  opts.split = 1;
  if (! arg) {
    return (0);
  }
  tmp___1 = strcmp(arg, (char const   *)"no-merge");
  if (tmp___1) {
    tmp___0 = strcmp(arg, (char const   *)"replace");
    if (tmp___0) {
      tmp = _((char const   *)"unrecognized --split argument, %s");
      die((char const   *)tmp, arg);
    } else {
      *flags___0 = (enum commit_graph_split_flags )2;
    }
  } else {
    *flags___0 = (enum commit_graph_split_flags )1;
  }
  return (0);
}
}
static int read_one_commit(struct oidset *commits , struct progress *progress___7 ,
                           char const   *hash___0 )
{
  struct object *result___0 ;
  struct object_id oid ;
  char const   *end ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct object *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  void *tmp___5 ;
  int tmp___6 ;

  {
  tmp___1 = parse_oid_hex(hash___0, & oid, & end);
  if (tmp___1) {
    tmp = _((char const   *)"unexpected non-hex object ID: %s");
    error((char const   *)tmp, hash___0);
    tmp___0 = const_error();
    return (tmp___0);
  }
  tmp___2 = parse_object(the_repository, (struct object_id  const  *)(& oid));
  result___0 = deref_tag(the_repository, tmp___2, (char const   *)((void *)0), 0);
  if (! result___0) {
    tmp___3 = _((char const   *)"invalid object: %s");
    error((char const   *)tmp___3, hash___0);
    tmp___4 = const_error();
    return (tmp___4);
  } else {
    tmp___5 = object_as_type(result___0, (enum object_type )1, 1);
    if (tmp___5) {
      oidset_insert(commits, (struct object_id  const  *)(& result___0->oid));
    }
  }
  tmp___6 = oidset_size((struct oidset  const  *)commits);
  display_progress(progress___7, (uint64_t )tmp___6);
  return (0);
}
}
static int write_option_max_new_filters(struct option  const  *opt___0 , char const   *arg ,
                                        int unset )
{
  int *to ;
  char const   *s___1 ;
  long tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  to = (int *)opt___0->value;
  if (unset) {
    *to = -1;
  } else {
    tmp = strtol((char const   * __restrict  )arg, (char ** __restrict  )((char **)(& s___1)),
                 10);
    *to = (int )tmp;
    if (*s___1) {
      tmp___0 = _((char const   *)"option `%s\' expects a numerical value");
      error((char const   *)tmp___0, "max-new-filters");
      tmp___1 = const_error();
      return (tmp___1);
    }
  }
  return (0);
}
}
static int git_commit_graph_write_config(char const   *var , char const   *value ,
                                         void *cb )
{
  int tmp ;

  {
  tmp = strcmp(var, (char const   *)"commitgraph.maxnewfilters");
  if (! tmp) {
    write_opts.max_new_filters = git_config_int(var, value);
  }
  return (0);
}
}
static int graph_write(int argc , char const   **argv___0 ) ;
static struct option builtin_commit_graph_write_options[12]  =
  {      {(enum parse_opt_type )8, 0, (char const   *)"reachable", (void *)(& opts.reachable),
      (char const   *)((void *)0), (char const   *)"start walk at all refs", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"stdin-packs", (void *)(& opts.stdin_packs),
      (char const   *)((void *)0), (char const   *)"scan pack-indexes listed by stdin for commits",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"stdin-commits", (void *)(& opts.stdin_commits),
      (char const   *)((void *)0), (char const   *)"start walk at commits listed by stdin",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"append", (void *)(& opts.append),
      (char const   *)((void *)0), (char const   *)"include all commits already in the commit-graph file",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"changed-paths", (void *)(& opts.enable_changed_paths),
      (char const   *)((void *)0), (char const   *)"enable computation for changed paths",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"split", (void *)(& write_opts.split_flags),
      (char const   *)((void *)0), (char const   *)"allow writing an incremental commit-graph file",
      (enum parse_opt_option_flags )5, & write_option_parse_split, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )10, 0, (char const   *)"max-commits", (void *)(& write_opts.max_commits),
      (char const   *)"n", (char const   *)"maximum number of commits in a non-base split commit-graph",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )10, 0, (char const   *)"size-multiple", (void *)(& write_opts.size_multiple),
      (char const   *)"n", (char const   *)"maximum ratio between two levels of a split commit-graph",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"expire-time", (void *)(& write_opts.expire_time),
      (char const   *)"expiry-date", (char const   *)"only expire files older than a given date-time",
      (enum parse_opt_option_flags )0, & parse_opt_expiry_date_cb, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"max-new-filters", (void *)(& write_opts.max_new_filters),
      (char const   *)((void *)0), (char const   *)"maximum number of changed-path Bloom filters to compute",
      (enum parse_opt_option_flags )0, & write_option_max_new_filters, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )8, 0, (char const   *)"progress", (void *)(& opts.progress),
      (char const   *)((void *)0), (char const   *)"force progress reporting", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static int graph_write(int argc , char const   **argv___0 )
{
  struct string_list pack_indexes ;
  struct strbuf buf___19 ;
  struct oidset commits ;
  struct object_directory *odb ;
  int result___0 ;
  enum commit_graph_write_flags flags___0 ;
  struct progress *progress___7 ;
  struct option *options ;
  struct option *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  struct oidset *tmp___9 ;
  struct string_list *tmp___10 ;
  int tmp___11 ;

  {
  pack_indexes.items = (struct string_list_item *)0;
  pack_indexes.nr = 0U;
  pack_indexes.alloc = 0U;
  pack_indexes.strdup_strings = 0U;
  pack_indexes.cmp = (int (*)(char const   * , char const   * ))0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  commits.set.n_buckets = (khint_t )0;
  commits.set.size = 0U;
  commits.set.n_occupied = 0U;
  commits.set.upper_bound = 0U;
  commits.set.flags = (khint32_t *)0;
  commits.set.keys = (struct object_id *)0;
  commits.set.vals = (int *)0;
  odb = (struct object_directory *)((void *)0);
  result___0 = 0;
  flags___0 = (enum commit_graph_write_flags )0;
  progress___7 = (struct progress *)((void *)0);
  tmp = add_common_options___0(builtin_commit_graph_write_options);
  options = tmp;
  opts.progress = isatty(2);
  opts.enable_changed_paths = -1;
  write_opts.size_multiple = 2;
  write_opts.max_commits = 0;
  write_opts.expire_time = (timestamp_t )0;
  write_opts.max_new_filters = -1;
  trace2_cmd_mode_fl((char const   *)"builtin/commit-graph.c", 240, (char const   *)"write");
  git_config(& git_commit_graph_write_config, (void *)(& opts));
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)options,
                       (char const   **)(builtin_commit_graph_write_usage), (enum parse_opt_flags )0);
  if (argc) {
    usage_with_options((char const   **)(builtin_commit_graph_write_usage), (struct option  const  *)options);
  }
  if ((opts.reachable + opts.stdin_packs) + opts.stdin_commits > 1) {
    tmp___0 = _((char const   *)"use at most one of --reachable, --stdin-commits, or --stdin-packs");
    die((char const   *)tmp___0);
  }
  if (! opts.obj_dir) {
    tmp___1 = get_object_directory();
    opts.obj_dir = (char const   *)tmp___1;
  }
  if (opts.append) {
    flags___0 = (enum commit_graph_write_flags )((unsigned int )flags___0 | 1U);
  }
  if (opts.split) {
    flags___0 = (enum commit_graph_write_flags )((unsigned int )flags___0 | 4U);
  }
  if (opts.progress) {
    flags___0 = (enum commit_graph_write_flags )((unsigned int )flags___0 | 2U);
  }
  if (! opts.enable_changed_paths) {
    flags___0 = (enum commit_graph_write_flags )((unsigned int )flags___0 | 16U);
  }
  if (opts.enable_changed_paths == 1) {
    flags___0 = (enum commit_graph_write_flags )((unsigned int )flags___0 | 8U);
  } else {
    tmp___2 = git_env_bool((char const   *)"GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS",
                           0);
    if (tmp___2) {
      flags___0 = (enum commit_graph_write_flags )((unsigned int )flags___0 | 8U);
    }
  }
  odb = find_odb(the_repository, opts.obj_dir);
  if (opts.reachable) {
    tmp___3 = write_commit_graph_reachable(odb, flags___0, (struct commit_graph_opts  const  *)(& write_opts));
    if (tmp___3) {
      return (1);
    }
    return (0);
  }
  if (opts.stdin_packs) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___5 = strbuf_getline(& buf___19, stdin);
      if (! (tmp___5 != -1)) {
        goto while_break;
      }
      tmp___4 = strbuf_detach(& buf___19, (size_t *)((void *)0));
      string_list_append(& pack_indexes, (char const   *)tmp___4);
    }
    while_break: /* CIL Label */ ;
    }
  } else
  if (opts.stdin_commits) {
    oidset_init(& commits, (size_t )0);
    if (opts.progress) {
      tmp___6 = _((char const   *)"Collecting commits from input");
      progress___7 = start_delayed_progress((char const   *)tmp___6, (uint64_t )0);
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___8 = strbuf_getline(& buf___19, stdin);
      if (! (tmp___8 != -1)) {
        goto while_break___0;
      }
      tmp___7 = read_one_commit(& commits, progress___7, (char const   *)buf___19.buf);
      if (tmp___7) {
        result___0 = 1;
        goto cleanup;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    stop_progress(& progress___7);
  }
  if (opts.stdin_commits) {
    tmp___9 = & commits;
  } else {
    tmp___9 = (struct oidset *)((void *)0);
  }
  if (opts.stdin_packs) {
    tmp___10 = & pack_indexes;
  } else {
    tmp___10 = (struct string_list *)((void *)0);
  }
  tmp___11 = write_commit_graph(odb, tmp___10, tmp___9, flags___0, (struct commit_graph_opts  const  *)(& write_opts));
  if (tmp___11) {
    result___0 = 1;
  }
  cleanup:
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    free((void *)options);
    options = (struct option *)((void *)0);
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  string_list_clear(& pack_indexes, 0);
  strbuf_release(& buf___19);
  return (result___0);
}
}
int cmd_commit_graph(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct option *builtin_commit_graph_options ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  builtin_commit_graph_options = common_opts;
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)builtin_commit_graph_options,
                       builtin_commit_graph_usage, (enum parse_opt_flags )2);
  if (! argc) {
    goto usage;
  }
  read_replace_refs = 0;
  save_commit_buffer = 0;
  tmp___2 = strcmp(*(argv___0 + 0), (char const   *)"verify");
  if (tmp___2) {
    if (argc) {
      tmp___1 = strcmp(*(argv___0 + 0), (char const   *)"write");
      if (! tmp___1) {
        tmp___0 = graph_write(argc, argv___0);
        return (tmp___0);
      }
    }
  } else {
    tmp = graph_verify(argc, argv___0);
    return (tmp);
  }
  tmp___3 = _((char const   *)"unrecognized subcommand: %s");
  error((char const   *)tmp___3, *(argv___0 + 0));
  const_error();
  usage:
  usage_with_options(builtin_commit_graph_usage, (struct option  const  *)builtin_commit_graph_options);
}
}
static double const   __ac_HASH_UPPER___112  =    (double const   )0.77;
__inline static void kh_resize_oid_set___112(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___112(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___112 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___112 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___112(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___112(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___112(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___112(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___112(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___112(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___112 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___112 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___112(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___112(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___112(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___112(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___112(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___112(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___112 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___112 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___112(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___112(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___112(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___112(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___84(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___84(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___112 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___112 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___84(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___84(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___84(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___84(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *commit_tree_usage[2]  = {      (char const   *)"git commit-tree [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] [(-F <file>)...] <tree>",      (char const   *)((void *)0)};
static char const   *sign_commit  ;
static void new_parent(struct commit *parent , struct commit_list **parents_p )
{
  struct object_id *oid ;
  struct commit_list *parents ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  oid = & parent->object.oid;
  parents = *parents_p;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! parents) {
      goto while_break;
    }
    if ((unsigned long )parents->item == (unsigned long )parent) {
      tmp = oid_to_hex((struct object_id  const  *)oid);
      tmp___0 = _((char const   *)"duplicate parent %s ignored");
      error((char const   *)tmp___0, tmp);
      const_error();
      return;
    }
    parents_p = & parents->next;
    parents = parents->next;
  }
  while_break: /* CIL Label */ ;
  }
  commit_list_insert(parent, parents_p);
  return;
}
}
static int commit_tree_config(char const   *var , char const   *value , void *cb )
{
  int status ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = git_gpg_config(var, value, (void *)0);
  status = tmp;
  if (status) {
    return (status);
  }
  tmp___0 = git_default_config(var, value, cb);
  return (tmp___0);
}
}
static int parse_parent_arg_callback(struct option  const  *opt___0 , char const   *arg ,
                                     int unset )
{
  struct object_id oid ;
  struct commit_list **parents ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  struct commit *tmp___1 ;

  {
  parents = (struct commit_list **)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (unset) {
        BUG_fl((char const   *)"builtin/commit-tree.c", 53, (char const   *)"option callback does not expect negation");
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! arg) {
      BUG_fl((char const   *)"builtin/commit-tree.c", 53, (char const   *)"option callback expects an argument");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = repo_get_oid_commit(the_repository, arg, & oid);
  if (tmp___0) {
    tmp = _((char const   *)"not a valid object name %s");
    die((char const   *)tmp, arg);
  }
  assert_oid_type((struct object_id  const  *)(& oid), (enum object_type )1);
  tmp___1 = lookup_commit(the_repository, (struct object_id  const  *)(& oid));
  new_parent(tmp___1, parents);
  return (0);
}
}
static int parse_message_arg_callback(struct option  const  *opt___0 , char const   *arg ,
                                      int unset )
{
  struct strbuf *buf___19 ;

  {
  buf___19 = (struct strbuf *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (unset) {
        BUG_fl((char const   *)"builtin/commit-tree.c", 68, (char const   *)"option callback does not expect negation");
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! arg) {
      BUG_fl((char const   *)"builtin/commit-tree.c", 68, (char const   *)"option callback expects an argument");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (buf___19->len) {
    strbuf_addch(buf___19, '\n');
  }
  strbuf_addstr(buf___19, arg);
  strbuf_complete_line(buf___19);
  return (0);
}
}
static int parse_file_arg_callback(struct option  const  *opt___0 , char const   *arg ,
                                   int unset )
{
  int fd ;
  struct strbuf *buf___19 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  ssize_t tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  buf___19 = (struct strbuf *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (unset) {
        BUG_fl((char const   *)"builtin/commit-tree.c", 84, (char const   *)"option callback does not expect negation");
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! arg) {
      BUG_fl((char const   *)"builtin/commit-tree.c", 84, (char const   *)"option callback expects an argument");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (buf___19->len) {
    strbuf_addch(buf___19, '\n');
  }
  tmp = strcmp(arg, (char const   *)"-");
  if (tmp) {
    fd = xopen(arg, 00);
  } else {
    fd = 0;
  }
  tmp___1 = strbuf_read(buf___19, fd, (size_t )0);
  if (tmp___1 < 0L) {
    tmp___0 = _((char const   *)"git commit-tree: failed to read \'%s\'");
    die_errno((char const   *)tmp___0, arg);
  }
  if (fd) {
    tmp___3 = close(fd);
    if (tmp___3) {
      tmp___2 = _((char const   *)"git commit-tree: failed to close \'%s\'");
      die_errno((char const   *)tmp___2, arg);
    }
  }
  return (0);
}
}
static struct strbuf buffer___3  =    {0UL, 0UL, strbuf_slopbuf};
int cmd_commit_tree(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct commit_list *parents ;
  struct object_id tree_oid ;
  struct object_id commit_oid ;
  struct option options[5] ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  ssize_t tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;

  {
  parents = (struct commit_list *)((void *)0);
  options[0].type = (enum parse_opt_type )12;
  options[0].short_name = 'p';
  options[0].long_name = (char const   *)((void *)0);
  options[0].value = (void *)(& parents);
  options[0].argh = (char const   *)"parent";
  options[0].help = (char const   *)"id of a parent commit object";
  options[0].flags = (enum parse_opt_option_flags )4;
  options[0].callback = & parse_parent_arg_callback;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )12;
  options[1].short_name = 'm';
  options[1].long_name = (char const   *)((void *)0);
  options[1].value = (void *)(& buffer___3);
  options[1].argh = (char const   *)"message";
  options[1].help = (char const   *)"commit message";
  options[1].flags = (enum parse_opt_option_flags )4;
  options[1].callback = & parse_message_arg_callback;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )12;
  options[2].short_name = 'F';
  options[2].long_name = (char const   *)((void *)0);
  options[2].value = (void *)(& buffer___3);
  options[2].argh = (char const   *)"file";
  options[2].help = (char const   *)"read commit log message from file";
  options[2].flags = (enum parse_opt_option_flags )4;
  options[2].callback = & parse_file_arg_callback;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )9;
  options[3].short_name = 'S';
  options[3].long_name = (char const   *)"gpg-sign";
  options[3].value = (void *)(& sign_commit);
  options[3].argh = (char const   *)"key-id";
  options[3].help = (char const   *)"GPG sign commit";
  options[3].flags = (enum parse_opt_option_flags )1;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )"";
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )0;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)0;
  options[4].value = (void *)0;
  options[4].argh = (char const   *)0;
  options[4].help = (char const   *)0;
  options[4].flags = 0U;
  options[4].callback = (parse_opt_cb *)0;
  options[4].defval = 0L;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  git_config(& commit_tree_config, (void *)0);
  if (argc < 2) {
    usage_with_options(commit_tree_usage, (struct option  const  *)(options));
  } else {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage_with_options(commit_tree_usage, (struct option  const  *)(options));
    }
  }
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       commit_tree_usage, (enum parse_opt_flags )0);
  if (argc != 1) {
    tmp___0 = _((char const   *)"must give exactly one tree");
    die((char const   *)tmp___0);
  }
  tmp___2 = repo_get_oid_tree(the_repository, *(argv___0 + 0), & tree_oid);
  if (tmp___2) {
    tmp___1 = _((char const   *)"not a valid object name %s");
    die((char const   *)tmp___1, *(argv___0 + 0));
  }
  if (! buffer___3.len) {
    tmp___4 = strbuf_read(& buffer___3, 0, (size_t )0);
    if (tmp___4 < 0L) {
      tmp___3 = _((char const   *)"git commit-tree: failed to read");
      die_errno((char const   *)tmp___3);
    }
  }
  tmp___5 = commit_tree((char const   *)buffer___3.buf, buffer___3.len, (struct object_id  const  *)(& tree_oid),
                        parents, & commit_oid, (char const   *)((void *)0), sign_commit);
  if (tmp___5) {
    strbuf_release(& buffer___3);
    return (1);
  }
  tmp___6 = oid_to_hex((struct object_id  const  *)(& commit_oid));
  printf((char const   *)"%s\n", tmp___6);
  strbuf_release(& buffer___3);
  return (0);
}
}
static double const   __ac_HASH_UPPER___113  =    (double const   )0.77;
__inline static void kh_resize_oid_set___113(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___113(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___113 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___113 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___113(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___113(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___113(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___113(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___113(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___113(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___113 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___113 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___113(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___113(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___113(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___113(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___113(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___113(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___113 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___113 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___113(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___113(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___113(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___113(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_contains_cache_with_stride___18(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___18(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___18(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___18(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___18(s___1, 1U);
  return;
}
}
static void clear_contains_cache___18(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___18(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___18(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___18(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___18(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___18(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___18(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___18(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___18(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___18(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___18(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___18(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___18(s___1, c___0, 0);
  return (tmp);
}
}
__inline static void kh_resize_odb_path_map___85(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___85(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___113 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___113 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___85(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___85(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___85(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___85(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *builtin_commit_usage[2]  = {      (char const   *)"git commit [<options>] [--] <pathspec>...",      (char const   *)((void *)0)};
static char const   *builtin_status_usage[2]  = {      (char const   *)"git status [<options>] [--] <pathspec>...",      (char const   *)((void *)0)};
static char const   empty_amend_advice[188]  =
  {      (char const   )'Y',      (char const   )'o',      (char const   )'u',      (char const   )' ',
        (char const   )'a',      (char const   )'s',      (char const   )'k',      (char const   )'e',
        (char const   )'d',      (char const   )' ',      (char const   )'t',      (char const   )'o',
        (char const   )' ',      (char const   )'a',      (char const   )'m',      (char const   )'e',
        (char const   )'n',      (char const   )'d',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'m',
        (char const   )'o',      (char const   )'s',      (char const   )'t',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'c',      (char const   )'e',
        (char const   )'n',      (char const   )'t',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'m',      (char const   )'m',      (char const   )'i',
        (char const   )'t',      (char const   )',',      (char const   )' ',      (char const   )'b',
        (char const   )'u',      (char const   )'t',      (char const   )' ',      (char const   )'d',
        (char const   )'o',      (char const   )'i',      (char const   )'n',      (char const   )'g',
        (char const   )' ',      (char const   )'s',      (char const   )'o',      (char const   )' ',
        (char const   )'w',      (char const   )'o',      (char const   )'u',      (char const   )'l',
        (char const   )'d',      (char const   )' ',      (char const   )'m',      (char const   )'a',
        (char const   )'k',      (char const   )'e',      (char const   )'\n',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'e',      (char const   )'m',
        (char const   )'p',      (char const   )'t',      (char const   )'y',      (char const   )'.',
        (char const   )' ',      (char const   )'Y',      (char const   )'o',      (char const   )'u',
        (char const   )' ',      (char const   )'c',      (char const   )'a',      (char const   )'n',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'p',
        (char const   )'e',      (char const   )'a',      (char const   )'t',      (char const   )' ',
        (char const   )'y',      (char const   )'o',      (char const   )'u',      (char const   )'r',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'m',
        (char const   )'m',      (char const   )'a',      (char const   )'n',      (char const   )'d',
        (char const   )' ',      (char const   )'w',      (char const   )'i',      (char const   )'t',
        (char const   )'h',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'a',      (char const   )'l',      (char const   )'l',      (char const   )'o',
        (char const   )'w',      (char const   )'-',      (char const   )'e',      (char const   )'m',
        (char const   )'p',      (char const   )'t',      (char const   )'y',      (char const   )',',
        (char const   )' ',      (char const   )'o',      (char const   )'r',      (char const   )' ',
        (char const   )'y',      (char const   )'o',      (char const   )'u',      (char const   )' ',
        (char const   )'c',      (char const   )'a',      (char const   )'n',      (char const   )'\n',
        (char const   )'r',      (char const   )'e',      (char const   )'m',      (char const   )'o',
        (char const   )'v',      (char const   )'e',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'m',      (char const   )'m',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'e',      (char const   )'n',
        (char const   )'t',      (char const   )'i',      (char const   )'r',      (char const   )'e',
        (char const   )'l',      (char const   )'y',      (char const   )' ',      (char const   )'w',
        (char const   )'i',      (char const   )'t',      (char const   )'h',      (char const   )' ',
        (char const   )'\"',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'s',
        (char const   )'e',      (char const   )'t',      (char const   )' ',      (char const   )'H',
        (char const   )'E',      (char const   )'A',      (char const   )'D',      (char const   )'^',
        (char const   )'\"',      (char const   )'.',      (char const   )'\n',      (char const   )'\000'};
static char const   empty_cherry_pick_advice[146]  =
  {      (char const   )'T',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'p',      (char const   )'r',      (char const   )'e',      (char const   )'v',
        (char const   )'i',      (char const   )'o',      (char const   )'u',      (char const   )'s',
        (char const   )' ',      (char const   )'c',      (char const   )'h',      (char const   )'e',
        (char const   )'r',      (char const   )'r',      (char const   )'y',      (char const   )'-',
        (char const   )'p',      (char const   )'i',      (char const   )'c',      (char const   )'k',
        (char const   )' ',      (char const   )'i',      (char const   )'s',      (char const   )' ',
        (char const   )'n',      (char const   )'o',      (char const   )'w',      (char const   )' ',
        (char const   )'e',      (char const   )'m',      (char const   )'p',      (char const   )'t',
        (char const   )'y',      (char const   )',',      (char const   )' ',      (char const   )'p',
        (char const   )'o',      (char const   )'s',      (char const   )'s',      (char const   )'i',
        (char const   )'b',      (char const   )'l',      (char const   )'y',      (char const   )' ',
        (char const   )'d',      (char const   )'u',      (char const   )'e',      (char const   )' ',
        (char const   )'t',      (char const   )'o',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'n',      (char const   )'f',      (char const   )'l',
        (char const   )'i',      (char const   )'c',      (char const   )'t',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'s',      (char const   )'o',
        (char const   )'l',      (char const   )'u',      (char const   )'t',      (char const   )'i',
        (char const   )'o',      (char const   )'n',      (char const   )'.',      (char const   )'\n',
        (char const   )'I',      (char const   )'f',      (char const   )' ',      (char const   )'y',
        (char const   )'o',      (char const   )'u',      (char const   )' ',      (char const   )'w',
        (char const   )'i',      (char const   )'s',      (char const   )'h',      (char const   )' ',
        (char const   )'t',      (char const   )'o',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'m',      (char const   )'m',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'a',      (char const   )'n',      (char const   )'y',
        (char const   )'w',      (char const   )'a',      (char const   )'y',      (char const   )',',
        (char const   )' ',      (char const   )'u',      (char const   )'s',      (char const   )'e',
        (char const   )':',      (char const   )'\n',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'g',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'m',      (char const   )'m',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'a',      (char const   )'l',      (char const   )'l',      (char const   )'o',
        (char const   )'w',      (char const   )'-',      (char const   )'e',      (char const   )'m',
        (char const   )'p',      (char const   )'t',      (char const   )'y',      (char const   )'\n',
        (char const   )'\n',      (char const   )'\000'};
static char const   empty_rebase_pick_advice[43]  =
  {      (char const   )'O',      (char const   )'t',      (char const   )'h',      (char const   )'e',
        (char const   )'r',      (char const   )'w',      (char const   )'i',      (char const   )'s',
        (char const   )'e',      (char const   )',',      (char const   )' ',      (char const   )'p',
        (char const   )'l',      (char const   )'e',      (char const   )'a',      (char const   )'s',
        (char const   )'e',      (char const   )' ',      (char const   )'u',      (char const   )'s',
        (char const   )'e',      (char const   )' ',      (char const   )'\'',      (char const   )'g',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'r',
        (char const   )'e',      (char const   )'b',      (char const   )'a',      (char const   )'s',
        (char const   )'e',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'s',      (char const   )'k',      (char const   )'i',      (char const   )'p',
        (char const   )'\'',      (char const   )'\n',      (char const   )'\000'};
static char const   empty_cherry_pick_advice_single[48]  =
  {      (char const   )'O',      (char const   )'t',      (char const   )'h',      (char const   )'e',
        (char const   )'r',      (char const   )'w',      (char const   )'i',      (char const   )'s',
        (char const   )'e',      (char const   )',',      (char const   )' ',      (char const   )'p',
        (char const   )'l',      (char const   )'e',      (char const   )'a',      (char const   )'s',
        (char const   )'e',      (char const   )' ',      (char const   )'u',      (char const   )'s',
        (char const   )'e',      (char const   )' ',      (char const   )'\'',      (char const   )'g',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'c',
        (char const   )'h',      (char const   )'e',      (char const   )'r',      (char const   )'r',
        (char const   )'y',      (char const   )'-',      (char const   )'p',      (char const   )'i',
        (char const   )'c',      (char const   )'k',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'s',      (char const   )'k',      (char const   )'i',
        (char const   )'p',      (char const   )'\'',      (char const   )'\n',      (char const   )'\000'};
static char const   empty_cherry_pick_advice_multi[163]  =
  {      (char const   )'a',      (char const   )'n',      (char const   )'d',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )'n',
        (char const   )' ',      (char const   )'u',      (char const   )'s',      (char const   )'e',
        (char const   )':',      (char const   )'\n',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'g',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'c',
        (char const   )'h',      (char const   )'e',      (char const   )'r',      (char const   )'r',
        (char const   )'y',      (char const   )'-',      (char const   )'p',      (char const   )'i',
        (char const   )'c',      (char const   )'k',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'c',      (char const   )'o',      (char const   )'n',
        (char const   )'t',      (char const   )'i',      (char const   )'n',      (char const   )'u',
        (char const   )'e',      (char const   )'\n',      (char const   )'\n',      (char const   )'t',
        (char const   )'o',      (char const   )' ',      (char const   )'r',      (char const   )'e',
        (char const   )'s',      (char const   )'u',      (char const   )'m',      (char const   )'e',
        (char const   )' ',      (char const   )'c',      (char const   )'h',      (char const   )'e',
        (char const   )'r',      (char const   )'r',      (char const   )'y',      (char const   )'-',
        (char const   )'p',      (char const   )'i',      (char const   )'c',      (char const   )'k',
        (char const   )'i',      (char const   )'n',      (char const   )'g',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'m',      (char const   )'a',
        (char const   )'i',      (char const   )'n',      (char const   )'i',      (char const   )'n',
        (char const   )'g',      (char const   )' ',      (char const   )'c',      (char const   )'o',
        (char const   )'m',      (char const   )'m',      (char const   )'i',      (char const   )'t',
        (char const   )'s',      (char const   )'.',      (char const   )'\n',      (char const   )'I',
        (char const   )'f',      (char const   )' ',      (char const   )'y',      (char const   )'o',
        (char const   )'u',      (char const   )' ',      (char const   )'w',      (char const   )'i',
        (char const   )'s',      (char const   )'h',      (char const   )' ',      (char const   )'t',
        (char const   )'o',      (char const   )' ',      (char const   )'s',      (char const   )'k',
        (char const   )'i',      (char const   )'p',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'i',      (char const   )'s',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'m',
        (char const   )'i',      (char const   )'t',      (char const   )',',      (char const   )' ',
        (char const   )'u',      (char const   )'s',      (char const   )'e',      (char const   )':',
        (char const   )'\n',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'g',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'c',      (char const   )'h',
        (char const   )'e',      (char const   )'r',      (char const   )'r',      (char const   )'y',
        (char const   )'-',      (char const   )'p',      (char const   )'i',      (char const   )'c',
        (char const   )'k',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'s',      (char const   )'k',      (char const   )'i',      (char const   )'p',
        (char const   )'\n',      (char const   )'\n',      (char const   )'\000'};
static char const   *color_status_slots[9]  =
  {      (char const   *)"header",      (char const   *)"updated",      (char const   *)"changed",      (char const   *)"untracked",
        (char const   *)"noBranch",      (char const   *)"unmerged",      (char const   *)"localBranch",      (char const   *)"remoteBranch",
        (char const   *)"branch"};
static char const   *use_message_buffer  ;
static struct lock_file index_lock  ;
static struct lock_file false_lock  ;
static enum __anonenum_commit_style_66131555 commit_style  ;
static char const   *logfile  ;
static char const   *force_author  ;
static char const   *template_file  ;
static char const   *author_message  ;
static char const   *author_message_buffer  ;
static char *edit_message  ;
static char *use_message  ;
static char *fixup_message  ;
static char *fixup_commit  ;
static char *squash_message  ;
static char const   *fixup_prefix  ;
static int all  ;
static int also  ;
static int interactive___0  ;
static int patch_interactive___0  ;
static int only  ;
static int amend  ;
static int signoff  ;
static int edit_flag  =    -1;
static int quiet___0  ;
static int verbose___2  ;
static int no_verify  ;
static int allow_empty___0  ;
static int dry_run  ;
static int renew_authorship  ;
static int config_commit_verbose  =    -1;
static int no_post_rewrite  ;
static int allow_empty_message  ;
static int pathspec_file_nul___0  ;
static char *untracked_files_arg  ;
static char *force_date  ;
static char *ignore_submodule_arg  ;
static char *ignored_arg  ;
static char *sign_commit___0  ;
static char *pathspec_from_file___0  ;
static struct strvec trailer_args  =    {empty_strvec, 0UL, 0UL};
static enum commit_msg_cleanup_mode cleanup_mode  ;
static char const   *cleanup_arg  ;
static enum commit_whence whence  ;
static int use_editor  =    1;
static int include_status  =    1;
static int have_option_m  ;
static struct strbuf message  =    {0UL, 0UL, strbuf_slopbuf};
static enum wt_status_format status_format  =    (enum wt_status_format )5;
static int opt_pass_trailer(struct option  const  *opt___0 , char const   *arg , int unset )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/commit.c", 139, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  strvec_pushl(& trailer_args, "--trailer", arg, (void *)0);
  return (0);
}
}
static int opt_parse_porcelain(struct option  const  *opt___0 , char const   *arg ,
                               int unset )
{
  enum wt_status_format *value ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  value = (enum wt_status_format *)opt___0->value;
  if (unset) {
    *value = (enum wt_status_format )0;
  } else
  if (! arg) {
    *value = (enum wt_status_format )3;
  } else {
    tmp___1 = strcmp(arg, (char const   *)"v1");
    if (tmp___1) {
      tmp___2 = strcmp(arg, (char const   *)"1");
      if (tmp___2) {
        tmp = strcmp(arg, (char const   *)"v2");
        if (tmp) {
          tmp___0 = strcmp(arg, (char const   *)"2");
          if (tmp___0) {
            die((char const   *)"unsupported porcelain version \'%s\'", arg);
          } else {
            *value = (enum wt_status_format )4;
          }
        } else {
          *value = (enum wt_status_format )4;
        }
      } else {
        *value = (enum wt_status_format )3;
      }
    } else {
      *value = (enum wt_status_format )3;
    }
  }
  return (0);
}
}
static int opt_parse_m(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct strbuf *buf___19 ;

  {
  buf___19 = (struct strbuf *)opt___0->value;
  if (unset) {
    have_option_m = 0;
    strbuf_setlen___33(buf___19, (size_t )0);
  } else {
    have_option_m = 1;
    if (buf___19->len) {
      strbuf_addch(buf___19, '\n');
    }
    strbuf_addstr(buf___19, arg);
    strbuf_complete_line(buf___19);
  }
  return (0);
}
}
static int opt_parse_rename_score(struct option  const  *opt___0 , char const   *arg ,
                                  int unset )
{
  char const   **value ;

  {
  value = (char const   **)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/commit.c", 182, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned long )arg != (unsigned long )((void *)0)) {
    if ((int const   )*arg == 61) {
      arg ++;
    }
  }
  *value = arg;
  return (0);
}
}
static void determine_whence(struct wt_status *s___1 )
{
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  tmp___0 = git_path_merge_head(the_repository);
  tmp___1 = file_exists(tmp___0);
  if (tmp___1) {
    whence = (enum commit_whence )1;
  } else {
    tmp = sequencer_determine_whence(the_repository, & whence);
    if (! tmp) {
      whence = (enum commit_whence )0;
    }
  }
  if (s___1) {
    s___1->whence = whence;
  }
  return;
}
}
static void status_init_config(struct wt_status *s___1 , int (*fn)(char const   * ,
                                                                   char const   * ,
                                                                   void * ) )
{


  {
  wt_status_prepare(the_repository, s___1);
  init_diff_ui_defaults();
  git_config(fn, (void *)s___1);
  determine_whence(s___1);
  s___1->hints = advice_enabled((enum advice_type )28);
  return;
}
}
static void rollback_index_files(void)
{


  {
  {
  if ((unsigned int )commit_style == 1U) {
    goto case_1;
  }
  if ((unsigned int )commit_style == 2U) {
    goto case_2;
  }
  if ((unsigned int )commit_style == 3U) {
    goto case_3;
  }
  goto switch_break;
  case_1: /* CIL Label */
  goto switch_break;
  case_2: /* CIL Label */
  rollback_lock_file(& index_lock);
  goto switch_break;
  case_3: /* CIL Label */
  rollback_lock_file(& index_lock);
  rollback_lock_file(& false_lock);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static int commit_index_files(void)
{
  int err___4 ;

  {
  err___4 = 0;
  {
  if ((unsigned int )commit_style == 1U) {
    goto case_1;
  }
  if ((unsigned int )commit_style == 2U) {
    goto case_2;
  }
  if ((unsigned int )commit_style == 3U) {
    goto case_3;
  }
  goto switch_break;
  case_1: /* CIL Label */
  goto switch_break;
  case_2: /* CIL Label */
  err___4 = commit_lock_file(& index_lock);
  goto switch_break;
  case_3: /* CIL Label */
  err___4 = commit_lock_file(& index_lock);
  rollback_lock_file(& false_lock);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return (err___4);
}
}
static int list_paths(struct string_list *list___3 , char const   *with_tree___0 ,
                      struct pathspec  const  *pattern___0 )
{
  int i ;
  int ret___67 ;
  char *m ;
  void *tmp ;
  char *max_prefix ;
  char *tmp___0 ;
  struct cache_entry  const  *ce ;
  struct string_list_item *item___0 ;
  int tmp___1 ;

  {
  if (! pattern___0->nr) {
    return (0);
  }
  tmp = xcalloc((size_t )1, (size_t )pattern___0->nr);
  m = (char *)tmp;
  if (with_tree___0) {
    tmp___0 = common_prefix(pattern___0);
    max_prefix = tmp___0;
    overlay_tree_on_index(& the_index, with_tree___0, (char const   *)max_prefix);
    free((void *)max_prefix);
  }
  ensure_full_index(& the_index);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < the_index.cache_nr)) {
      goto while_break;
    }
    ce = (struct cache_entry  const  *)*(the_index.cache + i);
    if (ce->ce_flags & (unsigned int )(1 << 16)) {
      goto __Cont;
    }
    tmp___1 = ce_path_match(& the_index, ce, pattern___0, m);
    if (! tmp___1) {
      goto __Cont;
    }
    item___0 = string_list_insert(list___3, (char const   *)(ce->name));
    if (ce->ce_flags & (unsigned int )(1 << 30)) {
      item___0->util = (void *)item___0;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  ret___67 = report_path_error((char const   *)m, pattern___0);
  free((void *)m);
  return (ret___67);
}
}
static void add_remove_files(struct string_list *list___3 )
{
  int i ;
  struct stat st ;
  struct string_list_item *p___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < list___3->nr)) {
      goto while_break;
    }
    p___0 = list___3->items + i;
    if (p___0->util) {
      goto __Cont;
    }
    tmp___1 = lstat((char const   *)p___0->string, & st);
    if (tmp___1) {
      remove_file_from_index(& the_index, (char const   *)p___0->string);
    } else {
      tmp___0 = add_to_index(& the_index, (char const   *)p___0->string, & st, 0);
      if (tmp___0) {
        tmp = _((char const   *)"updating files failed");
        die((char const   *)tmp);
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void create_base_index(struct commit  const  *current_head )
{
  struct tree *tree ;
  struct unpack_trees_options opts___1 ;
  struct tree_desc t ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! current_head) {
    discard_index(& the_index);
    return;
  }
  memset((void *)(& opts___1), 0, sizeof(opts___1));
  opts___1.head_idx = 1;
  opts___1.index_only = 1U;
  opts___1.merge = 1U;
  opts___1.src_index = & the_index;
  opts___1.dst_index = & the_index;
  opts___1.fn = & oneway_merge;
  tree = parse_tree_indirect((struct object_id  const  *)(& current_head->object.oid));
  if (! tree) {
    tmp = _((char const   *)"failed to unpack HEAD tree object");
    die((char const   *)tmp);
  }
  parse_tree(tree);
  init_tree_desc(& t, (void const   *)tree->buffer, tree->size);
  tmp___1 = unpack_trees(1U, & t, & opts___1);
  if (tmp___1) {
    tmp___0 = trace2_cmd_exit_fl((char const   *)"builtin/commit.c", 329, 128);
    exit(tmp___0);
  }
  return;
}
}
static void refresh_cache_or_die(int refresh_flags )
{
  int tmp ;

  {
  tmp = refresh_index(& the_index, (unsigned int )(refresh_flags | (1 << 5)), (struct pathspec  const  *)((void *)0),
                      (char *)((void *)0), (char const   *)((void *)0));
  if (tmp) {
    die_resolve_conflict((char const   *)"commit");
  }
  return;
}
}
static char const   *prepare_index(char const   **argv___0 , char const   *prefix___1 ,
                                   struct commit  const  *current_head , int is_status )
{
  struct string_list partial ;
  struct pathspec pathspec___1 ;
  int refresh_flags ;
  char const   *ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char *old_index_env ;
  char *old_repo_index_file ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const   *tmp___9 ;
  char *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  char const   *tmp___13 ;
  char const   *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  int tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  int tmp___20 ;
  char const   *tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  int tmp___26 ;
  char *tmp___27 ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  char const __attribute__((__format_arg__(1)))  *tmp___29 ;
  char const __attribute__((__format_arg__(1)))  *tmp___30 ;
  int tmp___31 ;
  int tmp___32 ;
  int tmp___33 ;
  char *tmp___34 ;
  int tmp___35 ;
  char const __attribute__((__format_arg__(1)))  *tmp___36 ;
  int tmp___37 ;
  char const __attribute__((__format_arg__(1)))  *tmp___38 ;
  int tmp___39 ;
  __pid_t tmp___40 ;
  char const   *tmp___41 ;
  char const __attribute__((__format_arg__(1)))  *tmp___42 ;
  int tmp___43 ;
  char const   *tmp___44 ;

  {
  partial.items = (struct string_list_item *)0;
  partial.nr = 0U;
  partial.alloc = 0U;
  partial.strdup_strings = 1U;
  partial.cmp = (int (*)(char const   * , char const   * ))0;
  refresh_flags = 1 << 2;
  if (is_status) {
    refresh_flags |= 1 << 1;
  }
  parse_pathspec(& pathspec___1, 0U, (unsigned int )(1 << 1), prefix___1, argv___0);
  if (pathspec_from_file___0) {
    if (interactive___0) {
      tmp = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp, "--pathspec-from-file", "--interactive/--patch");
    }
    if (all) {
      tmp___0 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___0, "--pathspec-from-file", "-a");
    }
    if (pathspec___1.nr) {
      tmp___1 = _((char const   *)"\'%s\' and pathspec arguments cannot be used together");
      die((char const   *)tmp___1, "--pathspec-from-file");
    }
    parse_pathspec_file(& pathspec___1, 0U, (unsigned int )(1 << 1), prefix___1, (char const   *)pathspec_from_file___0,
                        pathspec_file_nul___0);
  } else
  if (pathspec_file_nul___0) {
    tmp___2 = _((char const   *)"the option \'%s\' requires \'%s\'");
    die((char const   *)tmp___2, "--pathspec-file-nul", "--pathspec-from-file");
  }
  if (! pathspec___1.nr) {
    if (also) {
      tmp___3 = _((char const   *)"No paths with --include/--only does not make sense.");
      die((char const   *)tmp___3);
    } else
    if (only) {
      if (! allow_empty___0) {
        if (! amend) {
          tmp___3 = _((char const   *)"No paths with --include/--only does not make sense.");
          die((char const   *)tmp___3);
        } else
        if (fixup_message) {
          tmp___4 = strcmp(fixup_prefix, (char const   *)"amend");
          if (tmp___4) {
            tmp___3 = _((char const   *)"No paths with --include/--only does not make sense.");
            die((char const   *)tmp___3);
          }
        }
      }
    }
  }
  tmp___6 = repo_read_index_preload(the_repository, (struct pathspec  const  *)(& pathspec___1),
                                    0U);
  if (tmp___6 < 0) {
    tmp___5 = _((char const   *)"index file corrupt");
    die((char const   *)tmp___5);
  }
  if (interactive___0) {
    old_index_env = (char *)((void *)0);
    repo_hold_locked_index(the_repository, & index_lock, 1);
    refresh_cache_or_die(refresh_flags);
    tmp___8 = write_locked_index(& the_index, & index_lock, 0U);
    if (tmp___8) {
      tmp___7 = _((char const   *)"unable to create temporary index");
      die((char const   *)tmp___7);
    }
    old_repo_index_file = the_repository->index_file;
    tmp___9 = get_lock_file_path(& index_lock);
    the_repository->index_file = (char *)tmp___9;
    tmp___10 = getenv((char const   *)"GIT_INDEX_FILE");
    old_index_env = xstrdup_or_null((char const   *)tmp___10);
    setenv((char const   *)"GIT_INDEX_FILE", (char const   *)the_repository->index_file,
           1);
    tmp___12 = interactive_add(argv___0, prefix___1, patch_interactive___0);
    if (tmp___12 != 0) {
      tmp___11 = _((char const   *)"interactive add failed");
      die((char const   *)tmp___11);
    }
    the_repository->index_file = old_repo_index_file;
    if (old_index_env) {
      if (*old_index_env) {
        setenv((char const   *)"GIT_INDEX_FILE", (char const   *)old_index_env, 1);
      } else {
        unsetenv((char const   *)"GIT_INDEX_FILE");
      }
    } else {
      unsetenv((char const   *)"GIT_INDEX_FILE");
    }
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      free((void *)old_index_env);
      old_index_env = (char *)((void *)0);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    discard_index(& the_index);
    tmp___13 = get_git_dir();
    tmp___14 = get_lock_file_path(& index_lock);
    read_index_from(& the_index, tmp___14, tmp___13);
    tmp___20 = update_main_cache_tree(8);
    if (tmp___20 == 0) {
      tmp___16 = reopen_lock_file(& index_lock);
      if (tmp___16 < 0) {
        tmp___15 = _((char const   *)"unable to write index file");
        die((char const   *)tmp___15);
      }
      tmp___18 = write_locked_index(& the_index, & index_lock, 0U);
      if (tmp___18) {
        tmp___17 = _((char const   *)"unable to update temporary index");
        die((char const   *)tmp___17);
      }
    } else {
      tmp___19 = _((char const   *)"Failed to update main cache tree");
      warning((char const   *)tmp___19);
    }
    commit_style = (enum __anonenum_commit_style_66131555 )2;
    ret___67 = get_lock_file_path(& index_lock);
    goto out;
  }
  if (all) {
    goto _L;
  } else
  if (also) {
    if (pathspec___1.nr) {
      _L: /* CIL Label */
      repo_hold_locked_index(the_repository, & index_lock, 1);
      if (also) {
        tmp___21 = prefix___1;
      } else {
        tmp___21 = (char const   *)((void *)0);
      }
      add_files_to_cache(tmp___21, (struct pathspec  const  *)(& pathspec___1), 0);
      refresh_cache_or_die(refresh_flags);
      update_main_cache_tree(8);
      tmp___23 = write_locked_index(& the_index, & index_lock, 0U);
      if (tmp___23) {
        tmp___22 = _((char const   *)"unable to write new_index file");
        die((char const   *)tmp___22);
      }
      commit_style = (enum __anonenum_commit_style_66131555 )2;
      ret___67 = get_lock_file_path(& index_lock);
      goto out;
    }
  }
  if (! only) {
    if (! pathspec___1.nr) {
      repo_hold_locked_index(the_repository, & index_lock, 1);
      refresh_cache_or_die(refresh_flags);
      if (the_index.cache_changed) {
        update_main_cache_tree(8);
      } else {
        tmp___24 = cache_tree_fully_valid(the_index.cache_tree);
        if (! tmp___24) {
          update_main_cache_tree(8);
        }
      }
      tmp___26 = write_locked_index(& the_index, & index_lock, (unsigned int )(1 | (1 << 1)));
      if (tmp___26) {
        tmp___25 = _((char const   *)"unable to write new_index file");
        die((char const   *)tmp___25);
      }
      commit_style = (enum __anonenum_commit_style_66131555 )1;
      tmp___27 = get_index_file();
      ret___67 = (char const   *)tmp___27;
      goto out;
    }
  }
  commit_style = (enum __anonenum_commit_style_66131555 )3;
  if ((unsigned int )whence != 0U) {
    if ((unsigned int )whence == 1U) {
      tmp___28 = _((char const   *)"cannot do a partial commit during a merge.");
      die((char const   *)tmp___28);
    } else {
      tmp___32 = is_from_cherry_pick(whence);
      if (tmp___32) {
        tmp___29 = _((char const   *)"cannot do a partial commit during a cherry-pick.");
        die((char const   *)tmp___29);
      } else {
        tmp___31 = is_from_rebase(whence);
        if (tmp___31) {
          tmp___30 = _((char const   *)"cannot do a partial commit during a rebase.");
          die((char const   *)tmp___30);
        }
      }
    }
  }
  if (! current_head) {
    tmp___34 = (char *)((void *)0);
  } else {
    tmp___34 = "HEAD";
  }
  tmp___35 = list_paths(& partial, (char const   *)tmp___34, (struct pathspec  const  *)(& pathspec___1));
  if (tmp___35) {
    tmp___33 = trace2_cmd_exit_fl((char const   *)"builtin/commit.c", 498, 1);
    exit(tmp___33);
  }
  discard_index(& the_index);
  tmp___37 = repo_read_index(the_repository);
  if (tmp___37 < 0) {
    tmp___36 = _((char const   *)"cannot read the index");
    die((char const   *)tmp___36);
  }
  repo_hold_locked_index(the_repository, & index_lock, 1);
  add_remove_files(& partial);
  refresh_index(& the_index, (unsigned int )(1 << 2), (struct pathspec  const  *)((void *)0),
                (char *)((void *)0), (char const   *)((void *)0));
  update_main_cache_tree(8);
  tmp___39 = write_locked_index(& the_index, & index_lock, 0U);
  if (tmp___39) {
    tmp___38 = _((char const   *)"unable to write new_index file");
    die((char const   *)tmp___38);
  }
  tmp___40 = getpid();
  tmp___41 = git_path((char const   *)"next-index-%lu", (uintmax_t )tmp___40);
  hold_lock_file_for_update(& false_lock, tmp___41, 1);
  create_base_index(current_head);
  add_remove_files(& partial);
  refresh_index(& the_index, (unsigned int )(1 << 2), (struct pathspec  const  *)((void *)0),
                (char *)((void *)0), (char const   *)((void *)0));
  tmp___43 = write_locked_index(& the_index, & false_lock, 0U);
  if (tmp___43) {
    tmp___42 = _((char const   *)"unable to write temporary index file");
    die((char const   *)tmp___42);
  }
  discard_index(& the_index);
  ret___67 = get_lock_file_path(& false_lock);
  tmp___44 = get_git_dir();
  read_index_from(& the_index, ret___67, tmp___44);
  out:
  string_list_clear(& partial, 0);
  clear_pathspec(& pathspec___1);
  return (ret___67);
}
}
static int run_status___0(FILE *fp , char const   *index_file , char const   *prefix___1 ,
                          int nowarn , struct wt_status *s___1 )
{
  struct object_id oid ;
  int tmp ;
  int tmp___0 ;

  {
  if (s___1->relative_paths) {
    s___1->prefix = prefix___1;
  }
  if (amend) {
    s___1->amend = 1;
    s___1->reference = (char const   *)"HEAD^1";
  }
  s___1->verbose = verbose___2;
  s___1->index_file = index_file;
  s___1->fp = fp;
  s___1->nowarn = nowarn;
  tmp___0 = repo_get_oid(the_repository, s___1->reference, & oid);
  if (tmp___0) {
    s___1->is_initial = 1;
  } else {
    s___1->is_initial = 0;
  }
  if (! s___1->is_initial) {
    oidcpy(& s___1->oid_commit, (struct object_id  const  *)(& oid));
  }
  s___1->status_format = status_format;
  s___1->ignore_submodule_arg = (char const   *)ignore_submodule_arg;
  wt_status_collect(s___1);
  wt_status_print(s___1);
  wt_status_collect_free_buffers(s___1);
  return (s___1->committable);
}
}
static int is_a_merge(struct commit  const  *current_head )
{
  int tmp ;

  {
  if (current_head->parents) {
    if ((current_head->parents)->next) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static void assert_split_ident(struct ident_split *id , struct strbuf  const  *buf___19 )
{
  int tmp ;

  {
  tmp = split_ident_line(id, (char const   *)buf___19->buf, (int )buf___19->len);
  if (tmp) {
    BUG_fl((char const   *)"builtin/commit.c", 569, (char const   *)"unable to parse our own ident: %s",
           buf___19->buf);
  } else
  if (! id->date_begin) {
    BUG_fl((char const   *)"builtin/commit.c", 569, (char const   *)"unable to parse our own ident: %s",
           buf___19->buf);
  }
  return;
}
}
static void export_one(char const   *var , char const   *s___1 , char const   *e ,
                       int hack )
{
  struct strbuf buf___19 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (hack) {
    strbuf_addch(& buf___19, hack);
  }
  strbuf_add(& buf___19, (void const   *)s___1, (size_t )(e - s___1));
  setenv(var, (char const   *)buf___19.buf, 1);
  strbuf_release(& buf___19);
  return;
}
}
static int parse_force_date(char const   *in , struct strbuf *out )
{
  int errors ;
  unsigned long t ;
  timestamp_t tmp ;
  int tmp___0 ;

  {
  strbuf_addch(out, '@');
  tmp___0 = parse_date(in, out);
  if (tmp___0 < 0) {
    errors = 0;
    tmp = approxidate_careful(in, & errors);
    t = tmp;
    if (errors) {
      return (-1);
    }
    strbuf_addf(out, (char const   *)"%lu", t);
  }
  return (0);
}
}
static void set_ident_var(char **buf___19 , char *val )
{


  {
  free((void *)*buf___19);
  *buf___19 = val;
  return;
}
}
static void determine_author_info(struct strbuf *author_ident )
{
  char *name___0 ;
  char *email ;
  char *date ;
  struct ident_split author ;
  char *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  struct ident_split ident ;
  size_t len___0 ;
  char const   *a ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  void *tmp___5 ;
  void *tmp___6 ;
  struct strbuf date_buf ;
  char *tmp___7 ;
  struct ident_split ident___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  size_t tmp___9 ;
  int tmp___10 ;
  void *tmp___11 ;
  void *tmp___12 ;
  struct strbuf date_buf___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;
  char *tmp___15 ;
  char const   *tmp___16 ;

  {
  tmp = getenv((char const   *)"GIT_AUTHOR_NAME");
  name___0 = xstrdup_or_null((char const   *)tmp);
  tmp___0 = getenv((char const   *)"GIT_AUTHOR_EMAIL");
  email = xstrdup_or_null((char const   *)tmp___0);
  tmp___1 = getenv((char const   *)"GIT_AUTHOR_DATE");
  date = xstrdup_or_null((char const   *)tmp___1);
  if (author_message) {
    a = find_commit_header(author_message_buffer, (char const   *)"author", & len___0);
    if (! a) {
      tmp___2 = _((char const   *)"commit \'%s\' lacks author header");
      die((char const   *)tmp___2, author_message);
    }
    tmp___4 = split_ident_line(& ident, a, (int )len___0);
    if (tmp___4 < 0) {
      tmp___3 = _((char const   *)"commit \'%s\' has malformed author line");
      die((char const   *)tmp___3, author_message);
    }
    tmp___5 = xmemdupz((void const   *)ident.name_begin, (size_t )(ident.name_end - ident.name_begin));
    set_ident_var(& name___0, (char *)tmp___5);
    tmp___6 = xmemdupz((void const   *)ident.mail_begin, (size_t )(ident.mail_end - ident.mail_begin));
    set_ident_var(& email, (char *)tmp___6);
    if (ident.date_begin) {
      date_buf.alloc = 0UL;
      date_buf.len = 0UL;
      date_buf.buf = strbuf_slopbuf;
      strbuf_addch(& date_buf, '@');
      strbuf_add(& date_buf, (void const   *)ident.date_begin, (size_t )(ident.date_end - ident.date_begin));
      strbuf_addch(& date_buf, ' ');
      strbuf_add(& date_buf, (void const   *)ident.tz_begin, (size_t )(ident.tz_end - ident.tz_begin));
      tmp___7 = strbuf_detach(& date_buf, (size_t *)((void *)0));
      set_ident_var(& date, tmp___7);
    }
  }
  if (force_author) {
    tmp___9 = strlen(force_author);
    tmp___10 = split_ident_line(& ident___0, force_author, (int )tmp___9);
    if (tmp___10 < 0) {
      tmp___8 = _((char const   *)"malformed --author parameter");
      die((char const   *)tmp___8);
    }
    tmp___11 = xmemdupz((void const   *)ident___0.name_begin, (size_t )(ident___0.name_end - ident___0.name_begin));
    set_ident_var(& name___0, (char *)tmp___11);
    tmp___12 = xmemdupz((void const   *)ident___0.mail_begin, (size_t )(ident___0.mail_end - ident___0.mail_begin));
    set_ident_var(& email, (char *)tmp___12);
  }
  if (force_date) {
    date_buf___0.alloc = 0UL;
    date_buf___0.len = 0UL;
    date_buf___0.buf = strbuf_slopbuf;
    tmp___14 = parse_force_date((char const   *)force_date, & date_buf___0);
    if (tmp___14) {
      tmp___13 = _((char const   *)"invalid date format: %s");
      die((char const   *)tmp___13, force_date);
    }
    tmp___15 = strbuf_detach(& date_buf___0, (size_t *)((void *)0));
    set_ident_var(& date, tmp___15);
  }
  tmp___16 = fmt_ident((char const   *)name___0, (char const   *)email, (enum want_ident )1,
                       (char const   *)date, 1);
  strbuf_addstr(author_ident, tmp___16);
  assert_split_ident(& author, (struct strbuf  const  *)author_ident);
  export_one((char const   *)"GIT_AUTHOR_NAME", author.name_begin, author.name_end,
             0);
  export_one((char const   *)"GIT_AUTHOR_EMAIL", author.mail_begin, author.mail_end,
             0);
  export_one((char const   *)"GIT_AUTHOR_DATE", author.date_begin, author.tz_end,
             '@');
  free((void *)name___0);
  free((void *)email);
  free((void *)date);
  return;
}
}
static int author_date_is_interesting(void)
{
  int tmp ;

  {
  if (author_message) {
    tmp = 1;
  } else
  if (force_date) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static void adjust_comment_line_char(struct strbuf  const  *sb___6 )
{
  char candidates[11] ;
  char *candidate ;
  char const   *p___0 ;
  void *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  candidates[0] = (char )'#';
  candidates[1] = (char )';';
  candidates[2] = (char )'@';
  candidates[3] = (char )'!';
  candidates[4] = (char )'$';
  candidates[5] = (char )'%';
  candidates[6] = (char )'^';
  candidates[7] = (char )'&';
  candidates[8] = (char )'|';
  candidates[9] = (char )':';
  candidates[10] = (char )'\000';
  comment_line_char = candidates[0];
  tmp = memchr((void const   *)sb___6->buf, (int )comment_line_char, (size_t )sb___6->len);
  if (! tmp) {
    return;
  }
  p___0 = (char const   *)sb___6->buf;
  candidate = strchr((char const   *)(candidates), (int )*p___0);
  if (candidate) {
    *candidate = (char )' ';
  }
  p___0 = (char const   *)sb___6->buf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    if ((int const   )*(p___0 + 0) == 10) {
      goto _L;
    } else
    if ((int const   )*(p___0 + 0) == 13) {
      _L: /* CIL Label */
      if (*(p___0 + 1)) {
        candidate = strchr((char const   *)(candidates), (int )*(p___0 + 1));
        if (candidate) {
          *candidate = (char )' ';
        }
      }
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  p___0 = (char const   *)(candidates);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((int const   )*p___0 == 32)) {
      goto while_break___0;
    }
    p___0 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (! *p___0) {
    tmp___0 = _((char const   *)"unable to select a comment character that is not used\nin the current commit message");
    die((char const   *)tmp___0);
  }
  comment_line_char = (char )*p___0;
  return;
}
}
static void prepare_amend_commit(struct commit *commit , struct strbuf *sb___6 , struct pretty_print_context *ctx___0 )
{
  char const   *buffer___5 ;
  char const   *subject ;
  char const   *fmt ;
  void const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = repo_get_commit_buffer(the_repository, (struct commit  const  *)commit, (unsigned long *)((void *)0));
  buffer___5 = (char const   *)tmp;
  find_commit_subject(buffer___5, & subject);
  tmp___1 = starts_with(subject, (char const   *)"amend!");
  if (tmp___1) {
    fmt = (char const   *)"%b";
  } else {
    fmt = (char const   *)"%B";
  }
  repo_format_commit_message(the_repository, (struct commit  const  *)commit, fmt,
                             sb___6, (struct pretty_print_context  const  *)ctx___0);
  repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit, (void const   *)buffer___5);
  return;
}
}
static int prepare_to_commit(char const   *index_file , char const   *prefix___1 ,
                             struct commit *current_head , struct wt_status *s___1 ,
                             struct strbuf *author_ident )
{
  struct stat statbuf ;
  struct strbuf committer_ident ;
  int committable ;
  struct strbuf sb___6 ;
  char const   *hook_arg1 ;
  char const   *hook_arg2 ;
  int clean_message_contents ;
  int old_display_comment_prefix ;
  int merge_contains_scissors ;
  int __attribute__((__sentinel__))  tmp ;
  struct pretty_print_context ctx___0 ;
  struct commit *c___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  ssize_t tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  ssize_t tmp___7 ;
  char *buffer___5 ;
  char const   *tmp___8 ;
  struct pretty_print_context ctx___1 ;
  struct commit *commit ;
  char *fmt ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  size_t merge_msg_start ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const   *tmp___14 ;
  ssize_t tmp___15 ;
  char const   *tmp___16 ;
  int tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  char const   *tmp___19 ;
  ssize_t tmp___20 ;
  size_t tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  char const   *tmp___23 ;
  ssize_t tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  ssize_t tmp___26 ;
  int tmp___27 ;
  char const   *tmp___28 ;
  int tmp___29 ;
  char const   *tmp___30 ;
  int tmp___31 ;
  int tmp___32 ;
  char const   *tmp___33 ;
  char const   *tmp___34 ;
  char const __attribute__((__format_arg__(1)))  *tmp___35 ;
  size_t tmp___36 ;
  char const __attribute__((__format_arg__(1)))  *tmp___37 ;
  size_t tmp___38 ;
  char const   *tmp___39 ;
  int ident_shown ;
  int saved_color_setting ;
  struct ident_split ci ;
  struct ident_split ai ;
  char const   *hint_cleanup_all ;
  char const __attribute__((__format_arg__(1)))  *tmp___40 ;
  char const __attribute__((__format_arg__(1)))  *tmp___41 ;
  char const __attribute__((__format_arg__(1)))  *tmp___42 ;
  char const   *hint_cleanup_space ;
  char const __attribute__((__format_arg__(1)))  *tmp___43 ;
  char const __attribute__((__format_arg__(1)))  *tmp___44 ;
  char const __attribute__((__format_arg__(1)))  *tmp___45 ;
  char const __attribute__((__format_arg__(1)))  *tmp___46 ;
  char const __attribute__((__format_arg__(1)))  *tmp___47 ;
  char const __attribute__((__format_arg__(1)))  *tmp___48 ;
  int tmp___49 ;
  char *tmp___50 ;
  int tmp___51 ;
  char const __attribute__((__format_arg__(1)))  *tmp___52 ;
  int tmp___53 ;
  struct date_mode *tmp___54 ;
  char const   *tmp___55 ;
  int tmp___56 ;
  char *tmp___57 ;
  int tmp___58 ;
  char const __attribute__((__format_arg__(1)))  *tmp___59 ;
  int tmp___60 ;
  int tmp___61 ;
  char *tmp___62 ;
  int tmp___63 ;
  char const __attribute__((__format_arg__(1)))  *tmp___64 ;
  int tmp___65 ;
  struct object_id oid ;
  char const   *parent ;
  char const __attribute__((__format_arg__(1)))  *tmp___66 ;
  int tmp___67 ;
  int i ;
  int ita_nr ;
  struct diff_flags flags___0 ;
  int tmp___68 ;
  int tmp___69 ;
  struct child_process run_trailer ;
  char const   *tmp___70 ;
  char const __attribute__((__format_arg__(1)))  *tmp___71 ;
  int tmp___72 ;
  char const __attribute__((__format_arg__(1)))  *tmp___73 ;
  char const __attribute__((__format_arg__(1)))  *tmp___74 ;
  char const __attribute__((__format_arg__(1)))  *tmp___75 ;
  char const __attribute__((__format_arg__(1)))  *tmp___76 ;
  char const __attribute__((__format_arg__(1)))  *tmp___77 ;
  int tmp___78 ;
  int tmp___79 ;
  int tmp___80 ;
  char const   *tmp___81 ;
  char const __attribute__((__format_arg__(1)))  *tmp___82 ;
  int tmp___83 ;
  char const   *tmp___84 ;
  int __attribute__((__sentinel__))  tmp___85 ;
  struct strvec env ;
  char const __attribute__((__format_arg__(1)))  *tmp___86 ;
  int tmp___87 ;
  char const   *tmp___88 ;
  int tmp___89 ;
  char const   *tmp___90 ;
  int __attribute__((__sentinel__))  tmp___91 ;

  {
  committer_ident.alloc = 0UL;
  committer_ident.len = 0UL;
  committer_ident.buf = strbuf_slopbuf;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  hook_arg1 = (char const   *)((void *)0);
  hook_arg2 = (char const   *)((void *)0);
  clean_message_contents = (unsigned int )cleanup_mode != 1U;
  merge_contains_scissors = 0;
  determine_author_info(author_ident);
  if (! no_verify) {
    tmp = run_commit_hook(use_editor, index_file, (char const   *)"pre-commit", (void *)0);
    if (tmp) {
      return (0);
    }
  }
  if (squash_message) {
    if (use_message) {
      tmp___1 = strcmp((char const   *)use_message, (char const   *)squash_message);
      if (tmp___1) {
        goto _L;
      } else {
        strbuf_addstr(& sb___6, (char const   *)"squash! ");
      }
    } else {
      _L: /* CIL Label */
      ctx___0.fmt = (enum cmit_fmt )0;
      ctx___0.abbrev = 0;
      ctx___0.after_subject = (char const   *)0;
      ctx___0.preserve_subject = 0;
      ctx___0.date_mode.type = 0U;
      ctx___0.date_mode.strftime_fmt = (char const   *)0;
      ctx___0.date_mode.local = 0;
      ctx___0.date_mode_explicit = 0U;
      ctx___0.print_email_subject = 0;
      ctx___0.expand_tabs_in_log = 0;
      ctx___0.need_8bit_cte = 0;
      ctx___0.notes_message = (char *)0;
      ctx___0.reflog_info = (struct reflog_walk_info *)0;
      ctx___0.rev = (struct rev_info *)0;
      ctx___0.output_encoding = (char const   *)0;
      ctx___0.mailmap = (struct string_list *)0;
      ctx___0.color = 0;
      ctx___0.from_ident = (struct ident_split *)0;
      ctx___0.encode_email_headers = 0U;
      ctx___0.describe_status = (struct pretty_print_describe_status *)0;
      ctx___0.in_body_headers.items = (struct string_list_item *)0;
      ctx___0.in_body_headers.nr = 0U;
      ctx___0.in_body_headers.alloc = 0U;
      ctx___0.in_body_headers.strdup_strings = 0U;
      ctx___0.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
      ctx___0.graph_width = 0;
      c___0 = lookup_commit_reference_by_name((char const   *)squash_message);
      if (! c___0) {
        tmp___0 = _((char const   *)"could not lookup commit %s");
        die((char const   *)tmp___0, squash_message);
      }
      ctx___0.output_encoding = get_commit_output_encoding();
      repo_format_commit_message(the_repository, (struct commit  const  *)c___0, (char const   *)"squash! %s\n\n",
                                 & sb___6, (struct pretty_print_context  const  *)(& ctx___0));
    }
  }
  if (have_option_m) {
    if (! fixup_message) {
      strbuf_addbuf(& sb___6, (struct strbuf  const  *)(& message));
      hook_arg1 = (char const   *)"message";
    } else {
      goto _L___1;
    }
  } else
  _L___1: /* CIL Label */
  if (logfile) {
    tmp___32 = strcmp(logfile, (char const   *)"-");
    if (tmp___32) {
      goto _L___0;
    } else {
      tmp___3 = isatty(0);
      if (tmp___3) {
        tmp___2 = _((char const   *)"(reading log message from standard input)\n");
        fprintf(stderr, (char const   *)tmp___2);
      }
      tmp___5 = strbuf_read(& sb___6, 0, (size_t )0);
      if (tmp___5 < 0L) {
        tmp___4 = _((char const   *)"could not read log from standard input");
        die_errno((char const   *)tmp___4);
      }
      hook_arg1 = (char const   *)"message";
    }
  } else
  _L___0: /* CIL Label */
  if (logfile) {
    tmp___7 = strbuf_read_file(& sb___6, logfile, (size_t )0);
    if (tmp___7 < 0L) {
      tmp___6 = _((char const   *)"could not read log file \'%s\'");
      die_errno((char const   *)tmp___6, logfile);
    }
    hook_arg1 = (char const   *)"message";
  } else
  if (use_message) {
    buffer___5 = strstr(use_message_buffer, (char const   *)"\n\n");
    if (buffer___5) {
      tmp___8 = skip_blank_lines((char const   *)(buffer___5 + 2));
      strbuf_addstr(& sb___6, tmp___8);
    }
    hook_arg1 = (char const   *)"commit";
    hook_arg2 = (char const   *)use_message;
  } else
  if (fixup_message) {
    ctx___1.fmt = (enum cmit_fmt )0;
    ctx___1.abbrev = 0;
    ctx___1.after_subject = (char const   *)0;
    ctx___1.preserve_subject = 0;
    ctx___1.date_mode.type = 0U;
    ctx___1.date_mode.strftime_fmt = (char const   *)0;
    ctx___1.date_mode.local = 0;
    ctx___1.date_mode_explicit = 0U;
    ctx___1.print_email_subject = 0;
    ctx___1.expand_tabs_in_log = 0;
    ctx___1.need_8bit_cte = 0;
    ctx___1.notes_message = (char *)0;
    ctx___1.reflog_info = (struct reflog_walk_info *)0;
    ctx___1.rev = (struct rev_info *)0;
    ctx___1.output_encoding = (char const   *)0;
    ctx___1.mailmap = (struct string_list *)0;
    ctx___1.color = 0;
    ctx___1.from_ident = (struct ident_split *)0;
    ctx___1.encode_email_headers = 0U;
    ctx___1.describe_status = (struct pretty_print_describe_status *)0;
    ctx___1.in_body_headers.items = (struct string_list_item *)0;
    ctx___1.in_body_headers.nr = 0U;
    ctx___1.in_body_headers.alloc = 0U;
    ctx___1.in_body_headers.strdup_strings = 0U;
    ctx___1.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
    ctx___1.graph_width = 0;
    commit = lookup_commit_reference_by_name((char const   *)fixup_commit);
    if (! commit) {
      tmp___9 = _((char const   *)"could not lookup commit %s");
      die((char const   *)tmp___9, fixup_commit);
    }
    ctx___1.output_encoding = get_commit_output_encoding();
    fmt = xstrfmt((char const   *)"%s! %%s\n\n", fixup_prefix);
    repo_format_commit_message(the_repository, (struct commit  const  *)commit, (char const   *)fmt,
                               & sb___6, (struct pretty_print_context  const  *)(& ctx___1));
    free((void *)fmt);
    hook_arg1 = (char const   *)"message";
    if (have_option_m) {
      tmp___10 = strcmp(fixup_prefix, (char const   *)"fixup");
      if (! tmp___10) {
        strbuf_addbuf(& sb___6, (struct strbuf  const  *)(& message));
      }
    }
    tmp___12 = strcmp(fixup_prefix, (char const   *)"amend");
    if (! tmp___12) {
      if (have_option_m) {
        tmp___11 = _((char const   *)"options \'%s\' and \'%s:%s\' cannot be used together");
        die((char const   *)tmp___11, "-m", "--fixup", fixup_message);
      }
      prepare_amend_commit(commit, & sb___6, & ctx___1);
    }
  } else {
    tmp___30 = git_path_merge_msg(the_repository);
    tmp___31 = stat(tmp___30, & statbuf);
    if (tmp___31) {
      tmp___28 = git_path_squash_msg(the_repository);
      tmp___29 = stat(tmp___28, & statbuf);
      if (tmp___29) {
        if (template_file) {
          tmp___26 = strbuf_read_file(& sb___6, template_file, (size_t )0);
          if (tmp___26 < 0L) {
            tmp___25 = _((char const   *)"could not read \'%s\'");
            die_errno((char const   *)tmp___25, template_file);
          }
          hook_arg1 = (char const   *)"template";
          clean_message_contents = 0;
        } else
        if ((unsigned int )whence == 1U) {
          hook_arg1 = (char const   *)"merge";
        } else {
          tmp___27 = is_from_cherry_pick(whence);
          if (tmp___27) {
            hook_arg1 = (char const   *)"commit";
            hook_arg2 = (char const   *)"CHERRY_PICK_HEAD";
          } else
          if ((unsigned int )whence == 4U) {
            hook_arg1 = (char const   *)"commit";
            hook_arg2 = (char const   *)"CHERRY_PICK_HEAD";
          }
        }
      } else {
        tmp___23 = git_path_squash_msg(the_repository);
        tmp___24 = strbuf_read_file(& sb___6, tmp___23, (size_t )0);
        if (tmp___24 < 0L) {
          tmp___22 = _((char const   *)"could not read SQUASH_MSG");
          die_errno((char const   *)tmp___22);
        }
        hook_arg1 = (char const   *)"squash";
      }
    } else {
      tmp___16 = git_path_squash_msg(the_repository);
      tmp___17 = stat(tmp___16, & statbuf);
      if (tmp___17) {
        hook_arg1 = (char const   *)"merge";
      } else {
        tmp___14 = git_path_squash_msg(the_repository);
        tmp___15 = strbuf_read_file(& sb___6, tmp___14, (size_t )0);
        if (tmp___15 < 0L) {
          tmp___13 = _((char const   *)"could not read SQUASH_MSG");
          die_errno((char const   *)tmp___13);
        }
        hook_arg1 = (char const   *)"squash";
      }
      merge_msg_start = sb___6.len;
      tmp___19 = git_path_merge_msg(the_repository);
      tmp___20 = strbuf_read_file(& sb___6, tmp___19, (size_t )0);
      if (tmp___20 < 0L) {
        tmp___18 = _((char const   *)"could not read MERGE_MSG");
        die_errno((char const   *)tmp___18);
      }
      if ((unsigned int )cleanup_mode == 2U) {
        tmp___21 = wt_status_locate_end((char const   *)(sb___6.buf + merge_msg_start),
                                        sb___6.len - merge_msg_start);
        if (tmp___21 < sb___6.len - merge_msg_start) {
          merge_contains_scissors = 1;
        }
      }
    }
  }
  if (squash_message) {
    hook_arg1 = (char const   *)"message";
    hook_arg2 = (char const   *)"";
  }
  tmp___33 = git_path_commit_editmsg();
  s___1->fp = fopen_for_writing(tmp___33);
  if ((unsigned long )s___1->fp == (unsigned long )((void *)0)) {
    tmp___34 = git_path_commit_editmsg();
    tmp___35 = _((char const   *)"could not open \'%s\'");
    die_errno((char const   *)tmp___35, tmp___34);
  }
  old_display_comment_prefix = s___1->display_comment_prefix;
  s___1->display_comment_prefix = 1;
  s___1->hints = 0;
  if (clean_message_contents) {
    strbuf_stripspace(& sb___6, 0);
  }
  if (signoff) {
    tmp___36 = ignore_non_trailer((char const   *)sb___6.buf, sb___6.len);
    append_signoff(& sb___6, tmp___36, 0U);
  }
  tmp___38 = fwrite((void const   * __restrict  )sb___6.buf, (size_t )1, sb___6.len,
                    (FILE * __restrict  )s___1->fp);
  if (tmp___38 < sb___6.len) {
    tmp___37 = _((char const   *)"could not write commit template");
    die_errno((char const   *)tmp___37);
  }
  if (auto_comment_line_char) {
    adjust_comment_line_char((struct strbuf  const  *)(& sb___6));
  }
  strbuf_release(& sb___6);
  tmp___39 = git_committer_info(1);
  strbuf_addstr(& committer_ident, tmp___39);
  if (use_editor) {
    if (include_status) {
      ident_shown = 0;
      if (allow_empty_message) {
        tmp___40 = _((char const   *)"Please enter the commit message for your changes. Lines starting\nwith \'%c\' will be ignored.\n");
        tmp___42 = tmp___40;
      } else {
        tmp___41 = _((char const   *)"Please enter the commit message for your changes. Lines starting\nwith \'%c\' will be ignored, and an empty message aborts the commit.\n");
        tmp___42 = tmp___41;
      }
      hint_cleanup_all = (char const   *)tmp___42;
      if (allow_empty_message) {
        tmp___43 = _((char const   *)"Please enter the commit message for your changes. Lines starting\nwith \'%c\' will be kept; you may remove them yourself if you want to.\n");
        tmp___45 = tmp___43;
      } else {
        tmp___44 = _((char const   *)"Please enter the commit message for your changes. Lines starting\nwith \'%c\' will be kept; you may remove them yourself if you want to.\nAn empty message aborts the commit.\n");
        tmp___45 = tmp___44;
      }
      hint_cleanup_space = (char const   *)tmp___45;
      if ((unsigned int )whence != 0U) {
        if ((unsigned int )cleanup_mode == 2U) {
          if (! merge_contains_scissors) {
            wt_status_add_cut_line(s___1->fp);
          }
        }
        if ((unsigned int )whence == 1U) {
          tmp___46 = _((char const   *)"\nIt looks like you may be committing a merge.\nIf this is not correct, please run\n\tgit update-ref -d MERGE_HEAD\nand try again.\n");
          tmp___48 = tmp___46;
        } else {
          tmp___47 = _((char const   *)"\nIt looks like you may be committing a cherry-pick.\nIf this is not correct, please run\n\tgit update-ref -d CHERRY_PICK_HEAD\nand try again.\n");
          tmp___48 = tmp___47;
        }
        status_printf_ln(s___1, (char const   *)"", (char const   *)tmp___48);
      }
      fprintf(s___1->fp, (char const   *)"\n");
      if ((unsigned int )cleanup_mode == 3U) {
        status_printf(s___1, (char const   *)"", hint_cleanup_all, (int )comment_line_char);
      } else
      if ((unsigned int )cleanup_mode == 2U) {
        if ((unsigned int )whence == 0U) {
          if (! merge_contains_scissors) {
            wt_status_add_cut_line(s___1->fp);
          }
        }
      } else {
        status_printf(s___1, (char const   *)"", hint_cleanup_space, (int )comment_line_char);
      }
      assert_split_ident(& ai, (struct strbuf  const  *)author_ident);
      assert_split_ident(& ci, (struct strbuf  const  *)(& committer_ident));
      tmp___53 = ident_cmp((struct ident_split  const  *)(& ai), (struct ident_split  const  *)(& ci));
      if (tmp___53) {
        tmp___51 = ident_shown;
        ident_shown ++;
        if (tmp___51) {
          tmp___50 = "";
        } else {
          tmp___50 = "\n";
        }
        tmp___52 = _((char const   *)"%sAuthor:    %.*s <%.*s>");
        status_printf_ln(s___1, (char const   *)"", (char const   *)tmp___52, tmp___50,
                         (int )(ai.name_end - ai.name_begin), ai.name_begin, (int )(ai.mail_end - ai.mail_begin),
                         ai.mail_begin);
      }
      tmp___60 = author_date_is_interesting();
      if (tmp___60) {
        tmp___54 = date_mode_from_type((enum date_mode_type )0);
        tmp___55 = show_ident_date((struct ident_split  const  *)(& ai), (struct date_mode  const  *)tmp___54);
        tmp___58 = ident_shown;
        ident_shown ++;
        if (tmp___58) {
          tmp___57 = "";
        } else {
          tmp___57 = "\n";
        }
        tmp___59 = _((char const   *)"%sDate:      %s");
        status_printf_ln(s___1, (char const   *)"", (char const   *)tmp___59, tmp___57,
                         tmp___55);
      }
      tmp___65 = committer_ident_sufficiently_given();
      if (! tmp___65) {
        tmp___63 = ident_shown;
        ident_shown ++;
        if (tmp___63) {
          tmp___62 = "";
        } else {
          tmp___62 = "\n";
        }
        tmp___64 = _((char const   *)"%sCommitter: %.*s <%.*s>");
        status_printf_ln(s___1, (char const   *)"", (char const   *)tmp___64, tmp___62,
                         (int )(ci.name_end - ci.name_begin), ci.name_begin, (int )(ci.mail_end - ci.mail_begin),
                         ci.mail_begin);
      }
      status_printf_ln(s___1, (char const   *)"", (char const   *)"%s", "");
      saved_color_setting = s___1->use_color;
      s___1->use_color = 0;
      committable = run_status___0(s___1->fp, index_file, prefix___1, 1, s___1);
      s___1->use_color = saved_color_setting;
      string_list_clear(& s___1->change, 1);
    } else {
      goto _L___2;
    }
  } else {
    _L___2: /* CIL Label */
    parent = (char const   *)"HEAD";
    if (! the_index.cache_nr) {
      tmp___67 = repo_read_index(the_repository);
      if (tmp___67 < 0) {
        tmp___66 = _((char const   *)"Cannot read index");
        die((char const   *)tmp___66);
      }
    }
    if (amend) {
      parent = (char const   *)"HEAD^1";
    }
    tmp___69 = repo_get_oid(the_repository, parent, & oid);
    if (tmp___69) {
      ita_nr = 0;
      ensure_full_index(& the_index);
      i = 0;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! ((unsigned int )i < the_index.cache_nr)) {
          goto while_break;
        }
        if ((*(the_index.cache + i))->ce_flags & (unsigned int )(1 << 29)) {
          ita_nr ++;
        }
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
      committable = the_index.cache_nr - (unsigned int )ita_nr > 0U;
    } else {
      flags___0.recursive = 0U;
      flags___0.tree_in_recursive = 0U;
      flags___0.binary = 0U;
      flags___0.text = 0U;
      flags___0.full_index = 0U;
      flags___0.silent_on_remove = 0U;
      flags___0.find_copies_harder = 0U;
      flags___0.follow_renames = 0U;
      flags___0.rename_empty = 0U;
      flags___0.has_changes = 0U;
      flags___0.quick = 0U;
      flags___0.no_index = 0U;
      flags___0.allow_external = 0U;
      flags___0.exit_with_status = 0U;
      flags___0.reverse_diff = 0U;
      flags___0.check_failed = 0U;
      flags___0.relative_name = 0U;
      flags___0.ignore_submodules = 0U;
      flags___0.dirstat_cumulative = 0U;
      flags___0.dirstat_by_file = 0U;
      flags___0.allow_textconv = 0U;
      flags___0.textconv_set_via_cmdline = 0U;
      flags___0.diff_from_contents = 0U;
      flags___0.dirty_submodules = 0U;
      flags___0.ignore_untracked_in_submodules = 0U;
      flags___0.ignore_submodule_set = 0U;
      flags___0.ignore_dirty_submodules = 0U;
      flags___0.override_submodule_config = 0U;
      flags___0.dirstat_by_line = 0U;
      flags___0.funccontext = 0U;
      flags___0.default_follow_renames = 0U;
      flags___0.stat_with_summary = 0U;
      flags___0.suppress_diff_headers = 0U;
      flags___0.dual_color_diffed_diffs = 0U;
      flags___0.suppress_hunk_header_line_count = 0U;
      flags___0.override_submodule_config = 1U;
      if (ignore_submodule_arg) {
        tmp___68 = strcmp((char const   *)ignore_submodule_arg, (char const   *)"all");
        if (! tmp___68) {
          flags___0.ignore_submodules = 1U;
        }
      }
      committable = index_differs_from(the_repository, parent, (struct diff_flags  const  *)(& flags___0),
                                       1);
    }
  }
  strbuf_release(& committer_ident);
  fclose(s___1->fp);
  if (trailer_args.nr) {
    run_trailer.args.v = empty_strvec;
    run_trailer.args.nr = 0UL;
    run_trailer.args.alloc = 0UL;
    run_trailer.env_array.v = empty_strvec;
    run_trailer.env_array.nr = 0UL;
    run_trailer.env_array.alloc = 0UL;
    run_trailer.pid = 0;
    run_trailer.trace2_child_id = 0;
    run_trailer.trace2_child_us_start = 0UL;
    run_trailer.trace2_child_class = (char const   *)0;
    run_trailer.trace2_hook_name = (char const   *)0;
    run_trailer.in = 0;
    run_trailer.out = 0;
    run_trailer.err = 0;
    run_trailer.dir = (char const   *)0;
    run_trailer.no_stdin = 0U;
    run_trailer.no_stdout = 0U;
    run_trailer.no_stderr = 0U;
    run_trailer.git_cmd = 0U;
    run_trailer.silent_exec_failure = 0U;
    run_trailer.use_shell = 0U;
    run_trailer.close_object_store = 0U;
    run_trailer.stdout_to_stderr = 0U;
    run_trailer.clean_on_exit = 0U;
    run_trailer.wait_after_clean = 0U;
    run_trailer.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    run_trailer.clean_on_exit_handler_cbdata = (void *)0;
    tmp___70 = git_path_commit_editmsg();
    strvec_pushl(& run_trailer.args, "interpret-trailers", "--in-place", tmp___70,
                 (void *)0);
    strvec_pushv(& run_trailer.args, trailer_args.v);
    run_trailer.git_cmd = 1U;
    tmp___72 = run_command(& run_trailer);
    if (tmp___72) {
      tmp___71 = _((char const   *)"unable to pass trailers to --trailers");
      die((char const   *)tmp___71);
    }
    strvec_clear(& trailer_args);
  }
  if (! committable) {
    if ((unsigned int )whence != 1U) {
      if (! allow_empty___0) {
        if (amend) {
          tmp___79 = is_a_merge((struct commit  const  *)current_head);
          if (! tmp___79) {
            goto _L___4;
          }
        } else {
          _L___4: /* CIL Label */
          s___1->hints = advice_enabled((enum advice_type )28);
          s___1->display_comment_prefix = old_display_comment_prefix;
          run_status___0(stdout, index_file, prefix___1, 0, s___1);
          if (amend) {
            tmp___73 = _(empty_amend_advice);
            fputs((char const   * __restrict  )tmp___73, (FILE * __restrict  )stderr);
          } else {
            tmp___78 = is_from_cherry_pick(whence);
            if (tmp___78) {
              goto _L___3;
            } else
            if ((unsigned int )whence == 4U) {
              _L___3: /* CIL Label */
              tmp___74 = _(empty_cherry_pick_advice);
              fputs((char const   * __restrict  )tmp___74, (FILE * __restrict  )stderr);
              if ((unsigned int )whence == 2U) {
                tmp___75 = _(empty_cherry_pick_advice_single);
                fputs((char const   * __restrict  )tmp___75, (FILE * __restrict  )stderr);
              } else
              if ((unsigned int )whence == 3U) {
                tmp___76 = _(empty_cherry_pick_advice_multi);
                fputs((char const   * __restrict  )tmp___76, (FILE * __restrict  )stderr);
              } else {
                tmp___77 = _(empty_rebase_pick_advice);
                fputs((char const   * __restrict  )tmp___77, (FILE * __restrict  )stderr);
              }
            }
          }
          return (0);
        }
      }
    }
  }
  if (! no_verify) {
    tmp___80 = hook_exists((char const   *)"pre-commit");
    if (tmp___80) {
      discard_index(& the_index);
    }
  }
  tmp___81 = get_git_dir();
  read_index_from(& the_index, index_file, tmp___81);
  tmp___83 = update_main_cache_tree(0);
  if (tmp___83) {
    tmp___82 = _((char const   *)"Error building trees");
    error((char const   *)tmp___82);
    const_error();
    return (0);
  }
  tmp___84 = git_path_commit_editmsg();
  tmp___85 = run_commit_hook(use_editor, index_file, (char const   *)"prepare-commit-msg",
                             tmp___84, hook_arg1, hook_arg2, (void *)0);
  if (tmp___85) {
    return (0);
  }
  if (use_editor) {
    env.v = empty_strvec;
    env.nr = 0UL;
    env.alloc = 0UL;
    strvec_pushf(& env, (char const   *)"GIT_INDEX_FILE=%s", index_file);
    tmp___88 = git_path_commit_editmsg();
    tmp___89 = launch_editor(tmp___88, (struct strbuf *)((void *)0), (char const   **)env.v);
    if (tmp___89) {
      tmp___86 = _((char const   *)"Please supply the message using either -m or -F option.\n");
      fprintf(stderr, (char const   *)tmp___86);
      tmp___87 = trace2_cmd_exit_fl((char const   *)"builtin/commit.c", 1081, 1);
      exit(tmp___87);
    }
    strvec_clear(& env);
  }
  if (! no_verify) {
    tmp___90 = git_path_commit_editmsg();
    tmp___91 = run_commit_hook(use_editor, index_file, (char const   *)"commit-msg",
                               tmp___90, (void *)0);
    if (tmp___91) {
      return (0);
    }
  }
  return (1);
}
}
static char const   *find_author_by_nickname(char const   *name___0 )
{
  struct rev_info revs ;
  struct commit *commit ;
  struct strbuf buf___19 ;
  struct string_list mailmap___0 ;
  char const   *av[20] ;
  int ac ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  struct pretty_print_context ctx___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  mailmap___0.items = (struct string_list_item *)0;
  mailmap___0.nr = 0U;
  mailmap___0.alloc = 0U;
  mailmap___0.strdup_strings = 0U;
  mailmap___0.cmp = (int (*)(char const   * , char const   * ))0;
  ac = 0;
  repo_init_revisions(the_repository, & revs, (char const   *)((void *)0));
  strbuf_addf(& buf___19, (char const   *)"--author=%s", name___0);
  ac ++;
  av[ac] = (char const   *)"--all";
  ac ++;
  av[ac] = (char const   *)"-i";
  ac ++;
  av[ac] = (char const   *)buf___19.buf;
  ac ++;
  av[ac] = (char const   *)((void *)0);
  setup_revisions(ac, av, & revs, (struct setup_revision_opt *)((void *)0));
  revs.mailmap = & mailmap___0;
  read_mailmap(revs.mailmap);
  tmp___0 = prepare_revision_walk(& revs);
  if (tmp___0) {
    tmp = _((char const   *)"revision walk setup failed");
    die((char const   *)tmp);
  }
  commit = get_revision(& revs);
  if (commit) {
    ctx___0.fmt = (enum cmit_fmt )0;
    ctx___0.abbrev = 0;
    ctx___0.after_subject = (char const   *)0;
    ctx___0.preserve_subject = 0;
    ctx___0.date_mode.type = 0U;
    ctx___0.date_mode.strftime_fmt = (char const   *)0;
    ctx___0.date_mode.local = 0;
    ctx___0.date_mode_explicit = 0U;
    ctx___0.print_email_subject = 0;
    ctx___0.expand_tabs_in_log = 0;
    ctx___0.need_8bit_cte = 0;
    ctx___0.notes_message = (char *)0;
    ctx___0.reflog_info = (struct reflog_walk_info *)0;
    ctx___0.rev = (struct rev_info *)0;
    ctx___0.output_encoding = (char const   *)0;
    ctx___0.mailmap = (struct string_list *)0;
    ctx___0.color = 0;
    ctx___0.from_ident = (struct ident_split *)0;
    ctx___0.encode_email_headers = 0U;
    ctx___0.describe_status = (struct pretty_print_describe_status *)0;
    ctx___0.in_body_headers.items = (struct string_list_item *)0;
    ctx___0.in_body_headers.nr = 0U;
    ctx___0.in_body_headers.alloc = 0U;
    ctx___0.in_body_headers.strdup_strings = 0U;
    ctx___0.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
    ctx___0.graph_width = 0;
    ctx___0.date_mode.type = (enum date_mode_type )0;
    strbuf_release(& buf___19);
    repo_format_commit_message(the_repository, (struct commit  const  *)commit, (char const   *)"%aN <%aE>",
                               & buf___19, (struct pretty_print_context  const  *)(& ctx___0));
    clear_mailmap(& mailmap___0);
    tmp___1 = strbuf_detach(& buf___19, (size_t *)((void *)0));
    return ((char const   *)tmp___1);
  }
  tmp___2 = _((char const   *)"--author \'%s\' is not \'Name <email>\' and matches no existing author");
  die((char const   *)tmp___2, name___0);
}
}
static void handle_ignored_arg(struct wt_status *s___1 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (! (! ignored_arg)) {
    tmp___2 = strcmp((char const   *)ignored_arg, (char const   *)"traditional");
    if (tmp___2) {
      tmp___1 = strcmp((char const   *)ignored_arg, (char const   *)"no");
      if (tmp___1) {
        tmp___0 = strcmp((char const   *)ignored_arg, (char const   *)"matching");
        if (tmp___0) {
          tmp = _((char const   *)"Invalid ignored mode \'%s\'");
          die((char const   *)tmp, ignored_arg);
        } else {
          s___1->show_ignored_mode = (enum show_ignored_type )2;
        }
      } else {
        s___1->show_ignored_mode = (enum show_ignored_type )0;
      }
    } else {
      s___1->show_ignored_mode = (enum show_ignored_type )1;
    }
  }
  return;
}
}
static void handle_untracked_files_arg(struct wt_status *s___1 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (! (! untracked_files_arg)) {
    tmp___2 = strcmp((char const   *)untracked_files_arg, (char const   *)"no");
    if (tmp___2) {
      tmp___1 = strcmp((char const   *)untracked_files_arg, (char const   *)"normal");
      if (tmp___1) {
        tmp___0 = strcmp((char const   *)untracked_files_arg, (char const   *)"all");
        if (tmp___0) {
          tmp = _((char const   *)"Invalid untracked files mode \'%s\'");
          die((char const   *)tmp, untracked_files_arg);
        } else {
          s___1->show_untracked_files = (enum untracked_status_type )2;
        }
      } else {
        s___1->show_untracked_files = (enum untracked_status_type )1;
      }
    } else {
      s___1->show_untracked_files = (enum untracked_status_type )0;
    }
  }
  return;
}
}
static char const   *read_commit_message(char const   *name___0 )
{
  char const   *out_enc ;
  struct commit *commit ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *tmp___0 ;

  {
  commit = lookup_commit_reference_by_name(name___0);
  if (! commit) {
    tmp = _((char const   *)"could not lookup commit %s");
    die((char const   *)tmp, name___0);
  }
  out_enc = get_commit_output_encoding();
  tmp___0 = repo_logmsg_reencode(the_repository, (struct commit  const  *)commit,
                                 (char **)((void *)0), out_enc);
  return (tmp___0);
}
}
static struct status_deferred_config status_deferred_config  =    {(enum wt_status_format )5, -1, (enum ahead_behind_flags )-1};
static void finalize_deferred_config(struct wt_status *s___1 )
{
  int use_deferred_config ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  if ((unsigned int )status_format != 3U) {
    if ((unsigned int )status_format != 4U) {
      if (! s___1->null_termination) {
        tmp = 1;
      } else {
        tmp = 0;
      }
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  use_deferred_config = tmp;
  if (s___1->null_termination) {
    if ((unsigned int )status_format == 0U) {
      status_format = (enum wt_status_format )3;
    } else
    if ((unsigned int )status_format == 5U) {
      status_format = (enum wt_status_format )3;
    } else
    if ((unsigned int )status_format == 1U) {
      tmp___0 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___0, "--long", "-z");
    }
  }
  if (use_deferred_config) {
    if ((unsigned int )status_format == 5U) {
      status_format = status_deferred_config.status_format;
    }
  }
  if ((unsigned int )status_format == 5U) {
    status_format = (enum wt_status_format )0;
  }
  if (use_deferred_config) {
    if (s___1->show_branch < 0) {
      s___1->show_branch = status_deferred_config.show_branch;
    }
  }
  if (s___1->show_branch < 0) {
    s___1->show_branch = 0;
  }
  if (use_deferred_config) {
    if ((int )s___1->ahead_behind_flags == -1) {
      s___1->ahead_behind_flags = status_deferred_config.ahead_behind;
    }
  }
  if ((int )s___1->ahead_behind_flags == -1) {
    s___1->ahead_behind_flags = (enum ahead_behind_flags )1;
  }
  return;
}
}
static void check_fixup_reword_options(int argc , char const   **argv___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  if ((unsigned int )whence != 0U) {
    if ((unsigned int )whence == 1U) {
      tmp = _((char const   *)"You are in the middle of a merge -- cannot reword.");
      die((char const   *)tmp);
    } else {
      tmp___1 = is_from_cherry_pick(whence);
      if (tmp___1) {
        tmp___0 = _((char const   *)"You are in the middle of a cherry-pick -- cannot reword.");
        die((char const   *)tmp___0);
      }
    }
  }
  if (argc) {
    tmp___2 = _((char const   *)"reword option of \'%s\' and path \'%s\' cannot be used together");
    die((char const   *)tmp___2, "--fixup", *argv___0);
  }
  if (patch_interactive___0) {
    tmp___3 = _((char const   *)"reword option of \'%s\' and \'%s\' cannot be used together");
    die((char const   *)tmp___3, "--fixup", "--patch/--interactive/--all/--include/--only");
  } else
  if (interactive___0) {
    tmp___3 = _((char const   *)"reword option of \'%s\' and \'%s\' cannot be used together");
    die((char const   *)tmp___3, "--fixup", "--patch/--interactive/--all/--include/--only");
  } else
  if (all) {
    tmp___3 = _((char const   *)"reword option of \'%s\' and \'%s\' cannot be used together");
    die((char const   *)tmp___3, "--fixup", "--patch/--interactive/--all/--include/--only");
  } else
  if (also) {
    tmp___3 = _((char const   *)"reword option of \'%s\' and \'%s\' cannot be used together");
    die((char const   *)tmp___3, "--fixup", "--patch/--interactive/--all/--include/--only");
  } else
  if (only) {
    tmp___3 = _((char const   *)"reword option of \'%s\' and \'%s\' cannot be used together");
    die((char const   *)tmp___3, "--fixup", "--patch/--interactive/--all/--include/--only");
  }
  return;
}
}
static int parse_and_validate_options(int argc , char const   **argv___0 , struct option  const  *options ,
                                      char const   **usage___2 , char const   *prefix___1 ,
                                      struct commit *current_head , struct wt_status *s___1 )
{
  int f ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char *p___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;

  {
  f = 0;
  argc = parse_options(argc, argv___0, prefix___1, options, usage___2, (enum parse_opt_flags )0);
  finalize_deferred_config(s___1);
  if (force_author) {
    tmp = strchr(force_author, '>');
    if (! tmp) {
      force_author = find_author_by_nickname(force_author);
    }
  }
  if (force_author) {
    if (renew_authorship) {
      tmp___0 = _((char const   *)"Using both --reset-author and --author does not make sense");
      die((char const   *)tmp___0);
    }
  }
  if (logfile) {
    use_editor = 0;
  } else
  if (have_option_m) {
    use_editor = 0;
  } else
  if (use_message) {
    use_editor = 0;
  }
  if (amend) {
    if (! current_head) {
      tmp___1 = _((char const   *)"You have nothing to amend.");
      die((char const   *)tmp___1);
    }
  }
  if (amend) {
    if ((unsigned int )whence != 0U) {
      if ((unsigned int )whence == 1U) {
        tmp___2 = _((char const   *)"You are in the middle of a merge -- cannot amend.");
        die((char const   *)tmp___2);
      } else {
        tmp___5 = is_from_cherry_pick(whence);
        if (tmp___5) {
          tmp___3 = _((char const   *)"You are in the middle of a cherry-pick -- cannot amend.");
          die((char const   *)tmp___3);
        } else
        if ((unsigned int )whence == 4U) {
          tmp___4 = _((char const   *)"You are in the middle of a rebase -- cannot amend.");
          die((char const   *)tmp___4);
        }
      }
    }
  }
  if (fixup_message) {
    if (squash_message) {
      tmp___6 = _((char const   *)"Options --squash and --fixup cannot be used together");
      die((char const   *)tmp___6);
    }
  }
  if (use_message) {
    f ++;
  }
  if (edit_message) {
    f ++;
  }
  if (fixup_message) {
    f ++;
  }
  if (logfile) {
    f ++;
  }
  if (f > 1) {
    tmp___7 = _((char const   *)"Only one of -c/-C/-F/--fixup can be used.");
    die((char const   *)tmp___7);
  }
  if (have_option_m) {
    if (edit_message) {
      tmp___8 = _((char const   *)"Option -m cannot be combined with -c/-C/-F.");
      die((char const   *)tmp___8);
    } else
    if (use_message) {
      tmp___8 = _((char const   *)"Option -m cannot be combined with -c/-C/-F.");
      die((char const   *)tmp___8);
    } else
    if (logfile) {
      tmp___8 = _((char const   *)"Option -m cannot be combined with -c/-C/-F.");
      die((char const   *)tmp___8);
    }
  }
  if (f) {
    template_file = (char const   *)((void *)0);
  } else
  if (have_option_m) {
    template_file = (char const   *)((void *)0);
  }
  if (edit_message) {
    use_message = edit_message;
  }
  if (amend) {
    if (! use_message) {
      if (! fixup_message) {
        use_message = "HEAD";
      }
    }
  }
  if (! use_message) {
    tmp___10 = is_from_cherry_pick(whence);
    if (! tmp___10) {
      tmp___11 = is_from_rebase(whence);
      if (! tmp___11) {
        if (renew_authorship) {
          tmp___9 = _((char const   *)"--reset-author can be used only with -C, -c or --amend.");
          die((char const   *)tmp___9);
        }
      }
    }
  }
  if (use_message) {
    use_message_buffer = read_commit_message((char const   *)use_message);
    if (! renew_authorship) {
      author_message = (char const   *)use_message;
      author_message_buffer = use_message_buffer;
    }
  }
  tmp___12 = is_from_cherry_pick(whence);
  if (tmp___12) {
    goto _L;
  } else
  if ((unsigned int )whence == 4U) {
    _L: /* CIL Label */
    if (! renew_authorship) {
      author_message = (char const   *)"CHERRY_PICK_HEAD";
      author_message_buffer = read_commit_message(author_message);
    }
  }
  if (patch_interactive___0) {
    interactive___0 = 1;
  }
  if (((also + only) + all) + interactive___0 > 1) {
    tmp___13 = _((char const   *)"Only one of --include/--only/--all/--interactive/--patch can be used.");
    die((char const   *)tmp___13);
  }
  if (fixup_message) {
    p___0 = fixup_message;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (((int const   )sane_ctype[(unsigned char )*p___0] & 4) != 0)) {
        goto while_break;
      }
      p___0 ++;
    }
    while_break: /* CIL Label */ ;
    }
    if ((unsigned long )p___0 > (unsigned long )fixup_message) {
      if ((int )*p___0 == 58) {
        *p___0 = (char )'\000';
        fixup_commit = p___0 + 1;
        tmp___15 = strcmp((char const   *)"amend", (char const   *)fixup_message);
        if (tmp___15) {
          tmp___16 = strcmp((char const   *)"reword", (char const   *)fixup_message);
          if (tmp___16) {
            tmp___14 = _((char const   *)"unknown option: --fixup=%s:%s");
            die((char const   *)tmp___14, fixup_message, fixup_commit);
          } else {
            _L___0: /* CIL Label */
            fixup_prefix = (char const   *)"amend";
            allow_empty___0 = 1;
            if ((int )*fixup_message == 114) {
              check_fixup_reword_options(argc, argv___0);
              only = 1;
            }
          }
        } else {
          goto _L___0;
        }
      } else {
        fixup_commit = fixup_message;
        fixup_prefix = (char const   *)"fixup";
        use_editor = 0;
      }
    } else {
      fixup_commit = fixup_message;
      fixup_prefix = (char const   *)"fixup";
      use_editor = 0;
    }
  }
  if (0 <= edit_flag) {
    use_editor = edit_flag;
  }
  cleanup_mode = get_cleanup_mode(cleanup_arg, use_editor);
  handle_untracked_files_arg(s___1);
  if (all) {
    if (argc > 0) {
      tmp___17 = _((char const   *)"paths \'%s ...\' with -a does not make sense");
      die((char const   *)tmp___17, *(argv___0 + 0));
    }
  }
  if ((unsigned int )status_format != 0U) {
    dry_run = 1;
  }
  return (argc);
}
}
static int dry_run_commit(char const   **argv___0 , char const   *prefix___1 , struct commit  const  *current_head ,
                          struct wt_status *s___1 )
{
  int committable ;
  char const   *index_file ;
  int tmp ;

  {
  index_file = prepare_index(argv___0, prefix___1, current_head, 1);
  committable = run_status___0(stdout, index_file, prefix___1, 0, s___1);
  rollback_index_files();
  if (committable) {
    tmp = 0;
  } else {
    tmp = 1;
  }
  return (tmp);
}
}
static char const   *extra___1[1]  = {      (char const   *)"added"};
void list_config_color_status_slots(struct string_list *list___3 , char const   *prefix___1 )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(extra___1) / sizeof(extra___1[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    list_config_item(list___3, prefix___1, extra___1[i]);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(color_status_slots) / sizeof(color_status_slots[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break___0;
    }
    if (color_status_slots[i]) {
      list_config_item(list___3, prefix___1, color_status_slots[i]);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static int parse_status_slot(char const   *slot )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = strcasecmp(slot, (char const   *)"added");
  if (! tmp) {
    return (1);
  }
  tmp___0 = lookup_config(color_status_slots, (int )(sizeof(color_status_slots) / sizeof(color_status_slots[0]) + (sizeof(char [1]) - 1UL)),
                          slot);
  return (tmp___0);
}
}
static int git_status_config(char const   *k , char const   *v , void *cb )
{
  struct wt_status *s___1 ;
  char const   *slot_name ;
  int tmp ;
  int tmp___0 ;
  int is_bool ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int slot ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;

  {
  s___1 = (struct wt_status *)cb;
  tmp___0 = starts_with(k, (char const   *)"column.");
  if (tmp___0) {
    tmp = git_column_config(k, v, (char const   *)"status", & s___1->colopts);
    return (tmp);
  }
  tmp___1 = strcmp(k, (char const   *)"status.submodulesummary");
  if (! tmp___1) {
    s___1->submodule_summary = git_config_bool_or_int(k, v, & is_bool);
    if (is_bool) {
      if (s___1->submodule_summary) {
        s___1->submodule_summary = -1;
      }
    }
    return (0);
  }
  tmp___3 = strcmp(k, (char const   *)"status.short");
  if (! tmp___3) {
    tmp___2 = git_config_bool(k, v);
    if (tmp___2) {
      status_deferred_config.status_format = (enum wt_status_format )2;
    } else {
      status_deferred_config.status_format = (enum wt_status_format )0;
    }
    return (0);
  }
  tmp___4 = strcmp(k, (char const   *)"status.branch");
  if (! tmp___4) {
    status_deferred_config.show_branch = git_config_bool(k, v);
    return (0);
  }
  tmp___6 = strcmp(k, (char const   *)"status.aheadbehind");
  if (! tmp___6) {
    tmp___5 = git_config_bool(k, v);
    status_deferred_config.ahead_behind = (enum ahead_behind_flags )tmp___5;
    return (0);
  }
  tmp___7 = strcmp(k, (char const   *)"status.showstash");
  if (! tmp___7) {
    s___1->show_stash = git_config_bool(k, v);
    return (0);
  }
  tmp___8 = strcmp(k, (char const   *)"status.color");
  if (tmp___8) {
    tmp___9 = strcmp(k, (char const   *)"color.status");
    if (! tmp___9) {
      s___1->use_color = git_config_colorbool(k, v);
      return (0);
    }
  } else {
    s___1->use_color = git_config_colorbool(k, v);
    return (0);
  }
  tmp___10 = strcmp(k, (char const   *)"status.displaycommentprefix");
  if (! tmp___10) {
    s___1->display_comment_prefix = git_config_bool(k, v);
    return (0);
  }
  tmp___14 = skip_prefix(k, (char const   *)"status.color.", & slot_name);
  if (tmp___14) {
    goto _L;
  } else {
    tmp___15 = skip_prefix(k, (char const   *)"color.status.", & slot_name);
    if (tmp___15) {
      _L: /* CIL Label */
      tmp___11 = parse_status_slot(slot_name);
      slot = tmp___11;
      if (slot < 0) {
        return (0);
      }
      if (! v) {
        config_error_nonbool(k);
        tmp___12 = const_error();
        return (tmp___12);
      }
      tmp___13 = color_parse(v, s___1->color_palette[slot]);
      return (tmp___13);
    }
  }
  tmp___16 = strcmp(k, (char const   *)"status.relativepaths");
  if (! tmp___16) {
    s___1->relative_paths = git_config_bool(k, v);
    return (0);
  }
  tmp___23 = strcmp(k, (char const   *)"status.showuntrackedfiles");
  if (! tmp___23) {
    if (! v) {
      config_error_nonbool(k);
      tmp___17 = const_error();
      return (tmp___17);
    } else {
      tmp___22 = strcmp(v, (char const   *)"no");
      if (tmp___22) {
        tmp___21 = strcmp(v, (char const   *)"normal");
        if (tmp___21) {
          tmp___20 = strcmp(v, (char const   *)"all");
          if (tmp___20) {
            tmp___18 = _((char const   *)"Invalid untracked files mode \'%s\'");
            error((char const   *)tmp___18, v);
            tmp___19 = const_error();
            return (tmp___19);
          } else {
            s___1->show_untracked_files = (enum untracked_status_type )2;
          }
        } else {
          s___1->show_untracked_files = (enum untracked_status_type )1;
        }
      } else {
        s___1->show_untracked_files = (enum untracked_status_type )0;
      }
    }
    return (0);
  }
  tmp___24 = strcmp(k, (char const   *)"diff.renamelimit");
  if (! tmp___24) {
    if (s___1->rename_limit == -1) {
      s___1->rename_limit = git_config_int(k, v);
    }
    return (0);
  }
  tmp___25 = strcmp(k, (char const   *)"status.renamelimit");
  if (! tmp___25) {
    s___1->rename_limit = git_config_int(k, v);
    return (0);
  }
  tmp___26 = strcmp(k, (char const   *)"diff.renames");
  if (! tmp___26) {
    if (s___1->detect_rename == -1) {
      s___1->detect_rename = git_config_rename(k, v);
    }
    return (0);
  }
  tmp___27 = strcmp(k, (char const   *)"status.renames");
  if (! tmp___27) {
    s___1->detect_rename = git_config_rename(k, v);
    return (0);
  }
  tmp___28 = git_diff_ui_config(k, v, (void *)0);
  return (tmp___28);
}
}
static int no_renames  =    -1;
static char const   *rename_score_arg  =    (char const   *)-1;
static struct wt_status s  ;
static struct option builtin_status_options[15]  =
  {      {(enum parse_opt_type )7, 'v', (char const   *)"verbose", (void *)(& verbose___2),
      (char const   *)((void *)0), (char const   *)"be verbose", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 's', (char const   *)"short", (void *)(& status_format),
      (char const   *)((void *)0), (char const   *)"show status concisely", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )2, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'b', (char const   *)"branch", (void *)(& s.show_branch),
      (char const   *)((void *)0), (char const   *)"show branch information", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"show-stash", (void *)(& s.show_stash),
      (char const   *)((void *)0), (char const   *)"show stash information", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"ahead-behind", (void *)(& s.ahead_behind_flags),
      (char const   *)((void *)0), (char const   *)"compute full ahead/behind values",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"porcelain", (void *)(& status_format),
      (char const   *)"version", (char const   *)"machine-readable output", (enum parse_opt_option_flags )1,
      & opt_parse_porcelain, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"long", (void *)(& status_format),
      (char const   *)((void *)0), (char const   *)"show status in long format (default)",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'z', (char const   *)"null", (void *)(& s.null_termination),
      (char const   *)((void *)0), (char const   *)"terminate entries with NUL", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 'u', (char const   *)"untracked-files", (void *)(& untracked_files_arg),
      (char const   *)"mode", (char const   *)"show untracked files, optional modes: all, normal, no. (Default: all)",
      (enum parse_opt_option_flags )1, (parse_opt_cb *)((void *)0), (intptr_t )"all",
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 0, (char const   *)"ignored", (void *)(& ignored_arg),
      (char const   *)"mode", (char const   *)"show ignored files, optional modes: traditional, matching, no. (Default: traditional)",
      (enum parse_opt_option_flags )1, (parse_opt_cb *)((void *)0), (intptr_t )"traditional",
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 0, (char const   *)"ignore-submodules", (void *)(& ignore_submodule_arg),
      (char const   *)"when", (char const   *)"ignore changes to submodules, optional when: all, dirty, untracked. (Default: all)",
      (enum parse_opt_option_flags )1, (parse_opt_cb *)((void *)0), (intptr_t )"all",
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"column", (void *)(& s.colopts),
      (char const   *)"style", (char const   *)"list untracked files in columns",
      (enum parse_opt_option_flags )1, & parseopt_column_callback, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )8, 0, (char const   *)"no-renames", (void *)(& no_renames),
      (char const   *)((void *)0), (char const   *)"do not detect renames", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 'M', (char const   *)"find-renames", (void *)(& rename_score_arg),
      (char const   *)"n", (char const   *)"detect renames, optionally set similarity index",
      (enum parse_opt_option_flags )5, & opt_parse_rename_score, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
int cmd_status(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  unsigned int progress_flag ;
  int fd ;
  struct object_id oid ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  progress_flag = 0U;
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage_with_options(builtin_status_usage, (struct option  const  *)(builtin_status_options));
    }
  }
  prepare_repo_settings(the_repository);
  the_repository->settings.command_requires_full_index = 0;
  status_init_config(& s, & git_status_config);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(builtin_status_options),
                       builtin_status_usage, (enum parse_opt_flags )0);
  finalize_colopts(& s.colopts, -1);
  finalize_deferred_config(& s);
  handle_untracked_files_arg(& s);
  handle_ignored_arg(& s);
  if ((unsigned int )s.show_ignored_mode == 2U) {
    if ((unsigned int )s.show_untracked_files == 0U) {
      tmp___0 = _((char const   *)"Unsupported combination of ignored and untracked-files arguments");
      die((char const   *)tmp___0);
    }
  }
  parse_pathspec(& s.pathspec, 0U, (unsigned int )(1 << 1), prefix___1, argv___0);
  if ((unsigned int )status_format != 3U) {
    if ((unsigned int )status_format != 4U) {
      progress_flag = (unsigned int )(1 << 6);
    }
  }
  repo_read_index(the_repository);
  refresh_index(& the_index, (unsigned int )((1 << 2) | (1 << 1)) | progress_flag,
                (struct pathspec  const  *)(& s.pathspec), (char *)((void *)0), (char const   *)((void *)0));
  tmp___1 = use_optional_locks();
  if (tmp___1) {
    fd = repo_hold_locked_index(the_repository, & index_lock, 0);
  } else {
    fd = -1;
  }
  tmp___3 = repo_get_oid(the_repository, s.reference, & oid);
  if (tmp___3) {
    s.is_initial = 1;
  } else {
    s.is_initial = 0;
  }
  if (! s.is_initial) {
    oidcpy(& s.oid_commit, (struct object_id  const  *)(& oid));
  }
  s.ignore_submodule_arg = (char const   *)ignore_submodule_arg;
  s.status_format = status_format;
  s.verbose = verbose___2;
  if (no_renames != -1) {
    s.detect_rename = ! no_renames;
  }
  if ((intptr_t )rename_score_arg != -1L) {
    if (s.detect_rename < 1) {
      s.detect_rename = 1;
    }
    if (rename_score_arg) {
      s.rename_score = parse_rename_score(& rename_score_arg);
    }
  }
  wt_status_collect(& s);
  if (0 <= fd) {
    repo_update_index_if_able(the_repository, & index_lock);
  }
  if (s.relative_paths) {
    s.prefix = prefix___1;
  }
  wt_status_print(& s);
  wt_status_collect_free_buffers(& s);
  return (0);
}
}
static int git_commit_config(char const   *k , char const   *v , void *cb )
{
  struct wt_status *s___1 ;
  int status ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int is_bool ;
  int tmp___7 ;
  int tmp___8 ;

  {
  s___1 = (struct wt_status *)cb;
  tmp___0 = strcmp(k, (char const   *)"commit.template");
  if (! tmp___0) {
    tmp = git_config_pathname(& template_file, k, v);
    return (tmp);
  }
  tmp___1 = strcmp(k, (char const   *)"commit.status");
  if (! tmp___1) {
    include_status = git_config_bool(k, v);
    return (0);
  }
  tmp___3 = strcmp(k, (char const   *)"commit.cleanup");
  if (! tmp___3) {
    tmp___2 = git_config_string(& cleanup_arg, k, v);
    return (tmp___2);
  }
  tmp___6 = strcmp(k, (char const   *)"commit.gpgsign");
  if (! tmp___6) {
    tmp___5 = git_config_bool(k, v);
    if (tmp___5) {
      sign_commit___0 = "";
    } else {
      sign_commit___0 = (char *)((void *)0);
    }
    return (0);
  }
  tmp___7 = strcmp(k, (char const   *)"commit.verbose");
  if (! tmp___7) {
    config_commit_verbose = git_config_bool_or_int(k, v, & is_bool);
    return (0);
  }
  status = git_gpg_config(k, v, (void *)0);
  if (status) {
    return (status);
  }
  tmp___8 = git_status_config(k, v, (void *)s___1);
  return (tmp___8);
}
}
static struct wt_status s___0  ;
static struct option builtin_commit_options[41]  =
  {      {(enum parse_opt_type )7, 'q', (char const   *)"quiet", (void *)(& quiet___0),
      (char const   *)((void *)0), (char const   *)"suppress summary after successful commit",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )7, 'v', (char const   *)"verbose", (void *)(& verbose___2),
      (char const   *)((void *)0), (char const   *)"show diff in commit message template",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )1, 0, (char const   *)((void *)0), (void *)0, (char const   *)((void *)0),
      (char const   *)"Commit message options", 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )14, 'F', (char const   *)"file", (void *)(& logfile),
      (char const   *)"file", (char const   *)"read message from file", 0U, (parse_opt_cb *)0,
      0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 0, (char const   *)"author", (void *)(& force_author),
      (char const   *)"author", (char const   *)"override author for commit", (enum parse_opt_option_flags )0,
      (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 0, (char const   *)"date", (void *)(& force_date),
      (char const   *)"date", (char const   *)"override date for commit", (enum parse_opt_option_flags )0,
      (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 'm', (char const   *)"message", (void *)(& message),
      (char const   *)"message", (char const   *)"commit message", (enum parse_opt_option_flags )0,
      & opt_parse_m, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 'c', (char const   *)"reedit-message", (void *)(& edit_message),
      (char const   *)"commit", (char const   *)"reuse and edit message from specified commit",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )9, 'C', (char const   *)"reuse-message", (void *)(& use_message),
      (char const   *)"commit", (char const   *)"reuse message from specified commit",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )9, 0, (char const   *)"fixup", (void *)(& fixup_message),
      (char const   *)"[(amend|reword):]commit", (char const   *)"use autosquash formatted message to fixup or amend/reword specified commit",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )9, 0, (char const   *)"squash", (void *)(& squash_message),
      (char const   *)"commit", (char const   *)"use autosquash formatted message to squash specified commit",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )8, 0, (char const   *)"reset-author", (void *)(& renew_authorship),
      (char const   *)((void *)0), (char const   *)"the commit is authored by me now (used with -C/-c/--amend)",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"trailer", (void *)0, (char const   *)"trailer",
      (char const   *)"add custom trailer(s)", (enum parse_opt_option_flags )4, & opt_pass_trailer,
      0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 's', (char const   *)"signoff", (void *)(& signoff),
      (char const   *)((void *)0), (char const   *)"add a Signed-off-by trailer",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )14, 't', (char const   *)"template", (void *)(& template_file),
      (char const   *)"file", (char const   *)"use specified template file", 0U, (parse_opt_cb *)0,
      0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'e', (char const   *)"edit", (void *)(& edit_flag),
      (char const   *)((void *)0), (char const   *)"force edit of commit", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 0, (char const   *)"cleanup", (void *)(& cleanup_arg),
      (char const   *)"mode", (char const   *)"how to strip spaces and #comments from message",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )8, 0, (char const   *)"status", (void *)(& include_status),
      (char const   *)((void *)0), (char const   *)"include status in commit message template",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 'S', (char const   *)"gpg-sign", (void *)(& sign_commit___0),
      (char const   *)"key-id", (char const   *)"GPG sign commit", (enum parse_opt_option_flags )1,
      (parse_opt_cb *)((void *)0), (intptr_t )"", (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )1, 0, (char const   *)((void *)0), (void *)0, (char const   *)((void *)0),
      (char const   *)"Commit contents options", 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )8, 'a', (char const   *)"all", (void *)(& all), (char const   *)((void *)0),
      (char const   *)"commit all changed files", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'i', (char const   *)"include", (void *)(& also), (char const   *)((void *)0),
      (char const   *)"add specified files to index for commit", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"interactive", (void *)(& interactive___0),
      (char const   *)((void *)0), (char const   *)"interactively add files", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'p', (char const   *)"patch", (void *)(& patch_interactive___0),
      (char const   *)((void *)0), (char const   *)"interactively add changes", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'o', (char const   *)"only", (void *)(& only), (char const   *)((void *)0),
      (char const   *)"commit only specified files", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'n', (char const   *)"no-verify", (void *)(& no_verify),
      (char const   *)((void *)0), (char const   *)"bypass pre-commit and commit-msg hooks",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"dry-run", (void *)(& dry_run),
      (char const   *)((void *)0), (char const   *)"show what would be committed",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"short", (void *)(& status_format),
      (char const   *)((void *)0), (char const   *)"show status concisely", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )2, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"branch", (void *)(& s___0.show_branch),
      (char const   *)((void *)0), (char const   *)"show branch information", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"ahead-behind", (void *)(& s___0.ahead_behind_flags),
      (char const   *)((void *)0), (char const   *)"compute full ahead/behind values",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"porcelain", (void *)(& status_format),
      (char const   *)((void *)0), (char const   *)"machine-readable output", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )3, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"long", (void *)(& status_format),
      (char const   *)((void *)0), (char const   *)"show status in long format (default)",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'z', (char const   *)"null", (void *)(& s___0.null_termination),
      (char const   *)((void *)0), (char const   *)"terminate entries with NUL", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"amend", (void *)(& amend), (char const   *)((void *)0),
      (char const   *)"amend previous commit", (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0),
      (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"no-post-rewrite", (void *)(& no_post_rewrite),
      (char const   *)((void *)0), (char const   *)"bypass post-rewrite hook", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 'u', (char const   *)"untracked-files", (void *)(& untracked_files_arg),
      (char const   *)"mode", (char const   *)"show untracked files, optional modes: all, normal, no. (Default: all)",
      (enum parse_opt_option_flags )1, (parse_opt_cb *)((void *)0), (intptr_t )"all",
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )14, 0, (char const   *)"pathspec-from-file", (void *)(& pathspec_from_file___0),
      (char const   *)"file", (char const   *)"read pathspec from file", 0U, (parse_opt_cb *)0,
      0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"pathspec-file-nul", (void *)(& pathspec_file_nul___0),
      (char const   *)((void *)0), (char const   *)"with --pathspec-from-file, pathspec elements are separated with NUL character",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"allow-empty", (void *)(& allow_empty___0),
      (char const   *)((void *)0), (char const   *)"ok to record an empty change",
      (enum parse_opt_option_flags )10, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"allow-empty-message", (void *)(& allow_empty_message),
      (char const   *)((void *)0), (char const   *)"ok to record a change with an empty message",
      (enum parse_opt_option_flags )10, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
int cmd_commit(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct strbuf sb___6 ;
  struct strbuf author_ident ;
  char const   *index_file ;
  char const   *reflog_msg ;
  struct object_id oid ;
  struct commit_list *parents ;
  struct stat statbuf ;
  struct commit *current_head ;
  struct commit_extra_header *extra___2 ;
  struct strbuf err___4 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;
  struct strbuf m ;
  FILE *fp ;
  int allow_fast_forward ;
  struct commit_list **pptr ;
  char const   *tmp___6 ;
  struct commit *parent ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const   *tmp___10 ;
  ssize_t tmp___11 ;
  int tmp___12 ;
  char const   *tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  char *tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int saved_errno ;
  int *tmp___20 ;
  char *tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  char const   *tmp___23 ;
  ssize_t tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  int tmp___26 ;
  int tmp___27 ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  int tmp___29 ;
  int tmp___30 ;
  struct strbuf body ;
  size_t len___0 ;
  size_t tmp___31 ;
  char const __attribute__((__format_arg__(1)))  *tmp___32 ;
  int tmp___33 ;
  int tmp___34 ;
  int tmp___35 ;
  char const   *exclude_gpgsig[3] ;
  struct commit_extra_header **tail ;
  char const __attribute__((__format_arg__(1)))  *tmp___36 ;
  int tmp___37 ;
  int tmp___38 ;
  char const   *tmp___39 ;
  char const   *tmp___40 ;
  char const   *tmp___41 ;
  char const   *tmp___42 ;
  char const __attribute__((__format_arg__(1)))  *tmp___43 ;
  int tmp___44 ;
  char *tmp___45 ;
  unsigned int flags___0 ;
  int tmp___46 ;
  char const   *tmp___47 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  author_ident.alloc = 0UL;
  author_ident.len = 0UL;
  author_ident.buf = strbuf_slopbuf;
  parents = (struct commit_list *)((void *)0);
  current_head = (struct commit *)((void *)0);
  extra___2 = (struct commit_extra_header *)((void *)0);
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage_with_options(builtin_commit_usage, (struct option  const  *)(builtin_commit_options));
    }
  }
  prepare_repo_settings(the_repository);
  the_repository->settings.command_requires_full_index = 0;
  status_init_config(& s___0, & git_commit_config);
  s___0.commit_template = 1;
  status_format = (enum wt_status_format )0;
  s___0.colopts = 0U;
  tmp___2 = repo_get_oid(the_repository, (char const   *)"HEAD", & oid);
  if (tmp___2) {
    current_head = (struct commit *)((void *)0);
  } else {
    current_head = lookup_commit_or_die((struct object_id  const  *)(& oid), (char const   *)"HEAD");
    tmp___1 = repo_parse_commit(the_repository, current_head);
    if (tmp___1) {
      tmp___0 = _((char const   *)"could not parse HEAD commit");
      die((char const   *)tmp___0);
    }
  }
  verbose___2 = -1;
  argc = parse_and_validate_options(argc, argv___0, (struct option  const  *)(builtin_commit_options),
                                    builtin_commit_usage, prefix___1, current_head,
                                    & s___0);
  if (verbose___2 == -1) {
    if (config_commit_verbose < 0) {
      verbose___2 = 0;
    } else {
      verbose___2 = config_commit_verbose;
    }
  }
  if (dry_run) {
    tmp___3 = dry_run_commit(argv___0, prefix___1, (struct commit  const  *)current_head,
                             & s___0);
    return (tmp___3);
  }
  index_file = prepare_index(argv___0, prefix___1, (struct commit  const  *)current_head,
                             0);
  tmp___4 = prepare_to_commit(index_file, prefix___1, current_head, & s___0, & author_ident);
  if (! tmp___4) {
    rollback_index_files();
    return (1);
  }
  tmp___5 = getenv((char const   *)"GIT_REFLOG_ACTION");
  reflog_msg = (char const   *)tmp___5;
  if (! current_head) {
    if (! reflog_msg) {
      reflog_msg = (char const   *)"commit (initial)";
    }
  } else
  if (amend) {
    if (! reflog_msg) {
      reflog_msg = (char const   *)"commit (amend)";
    }
    parents = copy_commit_list(current_head->parents);
  } else
  if ((unsigned int )whence == 1U) {
    m.alloc = 0UL;
    m.len = 0UL;
    m.buf = strbuf_slopbuf;
    allow_fast_forward = 1;
    pptr = & parents;
    if (! reflog_msg) {
      reflog_msg = (char const   *)"commit (merge)";
    }
    pptr = commit_list_append(current_head, pptr);
    tmp___6 = git_path_merge_head(the_repository);
    fp = xfopen(tmp___6, (char const   *)"r");
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___8 = strbuf_getline_lf(& m, fp);
      if (! (tmp___8 != -1)) {
        goto while_break;
      }
      parent = get_merge_parent((char const   *)m.buf);
      if (! parent) {
        tmp___7 = _((char const   *)"Corrupt MERGE_HEAD file (%s)");
        die((char const   *)tmp___7, m.buf);
      }
      pptr = commit_list_append(parent, pptr);
    }
    while_break: /* CIL Label */ ;
    }
    fclose(fp);
    strbuf_release(& m);
    tmp___13 = git_path_merge_mode(the_repository);
    tmp___14 = stat(tmp___13, & statbuf);
    if (! tmp___14) {
      tmp___10 = git_path_merge_mode(the_repository);
      tmp___11 = strbuf_read_file(& sb___6, tmp___10, (size_t )0);
      if (tmp___11 < 0L) {
        tmp___9 = _((char const   *)"could not read MERGE_MODE");
        die_errno((char const   *)tmp___9);
      }
      tmp___12 = strcmp((char const   *)sb___6.buf, (char const   *)"no-ff");
      if (! tmp___12) {
        allow_fast_forward = 0;
      }
    }
    if (allow_fast_forward) {
      reduce_heads_replace(& parents);
    }
  } else {
    if (! reflog_msg) {
      tmp___19 = is_from_cherry_pick(whence);
      if (tmp___19) {
        reflog_msg = (char const   *)"commit (cherry-pick)";
      } else {
        tmp___18 = is_from_rebase(whence);
        if (tmp___18) {
          tmp___17 = "commit (rebase)";
        } else {
          tmp___17 = "commit";
        }
        reflog_msg = (char const   *)tmp___17;
      }
    }
    commit_list_insert(current_head, & parents);
  }
  strbuf_setlen___33(& sb___6, (size_t )0);
  tmp___23 = git_path_commit_editmsg();
  tmp___24 = strbuf_read_file(& sb___6, tmp___23, (size_t )0);
  if (tmp___24 < 0L) {
    tmp___20 = __errno_location();
    saved_errno = *tmp___20;
    rollback_index_files();
    tmp___21 = strerror(saved_errno);
    tmp___22 = _((char const   *)"could not read commit message: %s");
    die((char const   *)tmp___22, tmp___21);
  }
  cleanup_message(& sb___6, cleanup_mode, verbose___2);
  tmp___27 = message_is_empty((struct strbuf  const  *)(& sb___6), cleanup_mode);
  if (tmp___27) {
    if (! allow_empty_message) {
      rollback_index_files();
      tmp___25 = _((char const   *)"Aborting commit due to empty commit message.\n");
      fprintf(stderr, (char const   *)tmp___25);
      tmp___26 = trace2_cmd_exit_fl((char const   *)"builtin/commit.c", 1789, 1);
      exit(tmp___26);
    }
  }
  tmp___30 = template_untouched((struct strbuf  const  *)(& sb___6), template_file,
                                cleanup_mode);
  if (tmp___30) {
    if (! allow_empty_message) {
      rollback_index_files();
      tmp___28 = _((char const   *)"Aborting commit; you did not edit the message.\n");
      fprintf(stderr, (char const   *)tmp___28);
      tmp___29 = trace2_cmd_exit_fl((char const   *)"builtin/commit.c", 1794, 1);
      exit(tmp___29);
    }
  }
  if (fixup_message) {
    tmp___35 = starts_with((char const   *)sb___6.buf, (char const   *)"amend! ");
    if (tmp___35) {
      if (! allow_empty_message) {
        body.alloc = 0UL;
        body.len = 0UL;
        body.buf = strbuf_slopbuf;
        tmp___31 = commit_subject_length((char const   *)sb___6.buf);
        len___0 = tmp___31;
        strbuf_addstr(& body, (char const   *)(sb___6.buf + len___0));
        tmp___34 = message_is_empty((struct strbuf  const  *)(& body), cleanup_mode);
        if (tmp___34) {
          rollback_index_files();
          tmp___32 = _((char const   *)"Aborting commit due to empty commit message body.\n");
          fprintf(stderr, (char const   *)tmp___32);
          tmp___33 = trace2_cmd_exit_fl((char const   *)"builtin/commit.c", 1805,
                                        1);
          exit(tmp___33);
        }
        strbuf_release(& body);
      }
    }
  }
  if (amend) {
    exclude_gpgsig[0] = (char const   *)"gpgsig";
    exclude_gpgsig[1] = (char const   *)"gpgsig-sha256";
    exclude_gpgsig[2] = (char const   *)((void *)0);
    extra___2 = read_commit_extra_headers(current_head, exclude_gpgsig);
  } else {
    tail = & extra___2;
    append_merge_tag_headers(parents, & tail);
  }
  tmp___37 = commit_tree_extended((char const   *)sb___6.buf, sb___6.len, (struct object_id  const  *)(& (the_index.cache_tree)->oid),
                                  parents, & oid, (char const   *)author_ident.buf,
                                  (char const   *)((void *)0), (char const   *)sign_commit___0,
                                  extra___2);
  if (tmp___37) {
    rollback_index_files();
    tmp___36 = _((char const   *)"failed to write commit object");
    die((char const   *)tmp___36);
  }
  strbuf_release(& author_ident);
  free_commit_extra_headers(extra___2);
  tmp___38 = update_head_with_reflog((struct commit  const  *)current_head, (struct object_id  const  *)(& oid),
                                     reflog_msg, (struct strbuf  const  *)(& sb___6),
                                     & err___4);
  if (tmp___38) {
    rollback_index_files();
    die((char const   *)"%s", err___4.buf);
  }
  sequencer_post_commit_cleanup(the_repository, 0);
  tmp___39 = git_path_merge_head(the_repository);
  unlink(tmp___39);
  tmp___40 = git_path_merge_msg(the_repository);
  unlink(tmp___40);
  tmp___41 = git_path_merge_mode(the_repository);
  unlink(tmp___41);
  tmp___42 = git_path_squash_msg(the_repository);
  unlink(tmp___42);
  tmp___44 = commit_index_files();
  if (tmp___44) {
    tmp___43 = _((char const   *)"repository has been updated, but unable to write\nnew_index file. Check that disk is not full and quota is\nnot exceeded, and then \"git restore --staged :/\" to recover.");
    die((char const   *)tmp___43);
  }
  git_test_write_commit_graph_or_die();
  repo_rerere(the_repository, 0);
  run_auto_maintenance(quiet___0);
  tmp___45 = get_index_file();
  run_commit_hook(use_editor, (char const   *)tmp___45, (char const   *)"post-commit",
                  (void *)0);
  if (amend) {
    if (! no_post_rewrite) {
      commit_post_rewrite(the_repository, (struct commit  const  *)current_head, (struct object_id  const  *)(& oid));
    }
  }
  if (! quiet___0) {
    flags___0 = 0U;
    if (! current_head) {
      flags___0 |= 1U;
    }
    tmp___46 = author_date_is_interesting();
    if (tmp___46) {
      flags___0 |= (unsigned int )(1 << 1);
    }
    print_commit_summary(the_repository, prefix___1, (struct object_id  const  *)(& oid),
                         flags___0);
  }
  tmp___47 = git_path_merge_autostash(the_repository);
  apply_autostash(tmp___47);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  return (0);
}
}
static char const   *builtin_config_usage[2]  = {      (char const   *)"git config [<options>]",      (char const   *)((void *)0)};
static char *key  ;
static regex_t *key_regexp  ;
static char const   *value_pattern  ;
static regex_t *regexp  ;
static int show_keys  ;
static int omit_values  ;
static int use_key_regexp  ;
static int do_all  ;
static int do_not_match  ;
static char delim  =    (char )'=';
static char key_delim  =    (char )' ';
static char term___0  =    (char )'\n';
static int use_global_config  ;
static int use_system_config  ;
static int use_local_config  ;
static int use_worktree_config  ;
static struct git_config_source given_config_source  ;
static int actions  ;
static int type  ;
static char *default_value  ;
static int end_nul  ;
static int respect_includes_opt  =    -1;
static struct config_options config_options  ;
static int show_origin  ;
static int show_scope  ;
static int fixed_value  ;
static void usage_builtin_config(void)  __attribute__((__noreturn__)) ;
static int option_parse_type(struct option  const  *opt___0 , char const   *arg ,
                             int unset )
{
  int new_type ;
  int *to_type ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;

  {
  if (unset) {
    *((int *)opt___0->value) = 0;
    return (0);
  }
  new_type = (int )opt___0->defval;
  if (! new_type) {
    tmp___6 = strcmp(arg, (char const   *)"bool");
    if (tmp___6) {
      tmp___5 = strcmp(arg, (char const   *)"int");
      if (tmp___5) {
        tmp___4 = strcmp(arg, (char const   *)"bool-or-int");
        if (tmp___4) {
          tmp___3 = strcmp(arg, (char const   *)"bool-or-str");
          if (tmp___3) {
            tmp___2 = strcmp(arg, (char const   *)"path");
            if (tmp___2) {
              tmp___1 = strcmp(arg, (char const   *)"expiry-date");
              if (tmp___1) {
                tmp___0 = strcmp(arg, (char const   *)"color");
                if (tmp___0) {
                  tmp = _((char const   *)"unrecognized --type argument, %s");
                  die((char const   *)tmp, arg);
                } else {
                  new_type = 6;
                }
              } else {
                new_type = 5;
              }
            } else {
              new_type = 4;
            }
          } else {
            new_type = 7;
          }
        } else {
          new_type = 3;
        }
      } else {
        new_type = 2;
      }
    } else {
      new_type = 1;
    }
  }
  to_type = (int *)opt___0->value;
  if (*to_type) {
    if (*to_type != new_type) {
      tmp___7 = _((char const   *)"only one type at a time");
      error((char const   *)tmp___7);
      const_error();
      usage_builtin_config();
    }
  }
  *to_type = new_type;
  return (0);
}
}
static struct option builtin_config_options[39]  =
  {      {(enum parse_opt_type )1, 0, (char const   *)((void *)0), (void *)0, (char const   *)((void *)0),
      (char const   *)"Config file location", 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )8, 0, (char const   *)"global", (void *)(& use_global_config),
      (char const   *)((void *)0), (char const   *)"use global config file", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"system", (void *)(& use_system_config),
      (char const   *)((void *)0), (char const   *)"use system config file", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"local", (void *)(& use_local_config),
      (char const   *)((void *)0), (char const   *)"use repository config file", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"worktree", (void *)(& use_worktree_config),
      (char const   *)((void *)0), (char const   *)"use per-worktree config file",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 'f', (char const   *)"file", (void *)(& given_config_source.file),
      (char const   *)"file", (char const   *)"use given config file", (enum parse_opt_option_flags )0,
      (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 0, (char const   *)"blob", (void *)(& given_config_source.blob),
      (char const   *)"blob-id", (char const   *)"read config from given blob object",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )1, 0, (char const   *)((void *)0), (void *)0, (char const   *)((void *)0),
      (char const   *)"Action", 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )4,
      0, (char const   *)"get", (void *)(& actions), (char const   *)((void *)0),
      (char const   *)"get value: name [value-pattern]", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )4, 0, (char const   *)"get-all", (void *)(& actions),
      (char const   *)((void *)0), (char const   *)"get all values: key [value-pattern]",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )(1 << 1),
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )4, 0, (char const   *)"get-regexp", (void *)(& actions),
      (char const   *)((void *)0), (char const   *)"get values for regexp: name-regex [value-pattern]",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )(1 << 2),
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )4, 0, (char const   *)"get-urlmatch", (void *)(& actions),
      (char const   *)((void *)0), (char const   *)"get value specific for the URL: section[.var] URL",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )(1 << 15),
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )4, 0, (char const   *)"replace-all", (void *)(& actions),
      (char const   *)((void *)0), (char const   *)"replace all matching variables: name value [value-pattern]",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )(1 << 3),
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )4, 0, (char const   *)"add", (void *)(& actions), (char const   *)((void *)0),
      (char const   *)"add a new variable: name value", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )(1 << 4), (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )4,
      0, (char const   *)"unset", (void *)(& actions), (char const   *)((void *)0),
      (char const   *)"remove a variable: name [value-pattern]", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )(1 << 5), (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )4,
      0, (char const   *)"unset-all", (void *)(& actions), (char const   *)((void *)0),
      (char const   *)"remove all matches: name [value-pattern]", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )(1 << 6), (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )4,
      0, (char const   *)"rename-section", (void *)(& actions), (char const   *)((void *)0),
      (char const   *)"rename section: old-name new-name", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )(1 << 7), (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )4,
      0, (char const   *)"remove-section", (void *)(& actions), (char const   *)((void *)0),
      (char const   *)"remove a section: name", (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0),
      (intptr_t )(1 << 8), (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )4, 'l', (char const   *)"list", (void *)(& actions), (char const   *)((void *)0),
      (char const   *)"list all", (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0),
      (intptr_t )(1 << 9), (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"fixed-value", (void *)(& fixed_value),
      (char const   *)((void *)0), (char const   *)"use string equality when comparing values to \'value-pattern\'",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )4, 'e', (char const   *)"edit", (void *)(& actions), (char const   *)((void *)0),
      (char const   *)"open an editor", (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0),
      (intptr_t )(1 << 10), (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )4, 0, (char const   *)"get-color", (void *)(& actions),
      (char const   *)((void *)0), (char const   *)"find the color configured: slot [default]",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )(1 << 13),
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )4, 0, (char const   *)"get-colorbool", (void *)(& actions),
      (char const   *)((void *)0), (char const   *)"find the color setting: slot [stdout-is-tty]",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )(1 << 14),
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )1, 0, (char const   *)((void *)0), (void *)0, (char const   *)((void *)0),
      (char const   *)"Type", 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12,
      't', (char const   *)"type", (void *)(& type), (char const   *)"", (char const   *)"value is given this type",
      (enum parse_opt_option_flags )0, & option_parse_type, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"bool", (void *)(& type), (char const   *)((void *)0),
      (char const   *)"value is \"true\" or \"false\"", (enum parse_opt_option_flags )6,
      & option_parse_type, (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"int", (void *)(& type), (char const   *)((void *)0),
      (char const   *)"value is decimal number", (enum parse_opt_option_flags )6,
      & option_parse_type, (intptr_t )2, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"bool-or-int", (void *)(& type),
      (char const   *)((void *)0), (char const   *)"value is --bool or --int", (enum parse_opt_option_flags )6,
      & option_parse_type, (intptr_t )3, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"bool-or-str", (void *)(& type),
      (char const   *)((void *)0), (char const   *)"value is --bool or string", (enum parse_opt_option_flags )6,
      & option_parse_type, (intptr_t )7, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"path", (void *)(& type), (char const   *)((void *)0),
      (char const   *)"value is a path (file or directory name)", (enum parse_opt_option_flags )6,
      & option_parse_type, (intptr_t )4, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"expiry-date", (void *)(& type),
      (char const   *)((void *)0), (char const   *)"value is an expiry date", (enum parse_opt_option_flags )6,
      & option_parse_type, (intptr_t )5, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )1, 0, (char const   *)((void *)0), (void *)0, (char const   *)((void *)0),
      (char const   *)"Other", 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8,
      'z', (char const   *)"null", (void *)(& end_nul), (char const   *)((void *)0),
      (char const   *)"terminate values with NUL byte", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"name-only", (void *)(& omit_values),
      (char const   *)((void *)0), (char const   *)"show variable names only", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"includes", (void *)(& respect_includes_opt),
      (char const   *)((void *)0), (char const   *)"respect include directives on lookup",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"show-origin", (void *)(& show_origin),
      (char const   *)((void *)0), (char const   *)"show origin of config (file, standard input, blob, command line)",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"show-scope", (void *)(& show_scope),
      (char const   *)((void *)0), (char const   *)"show scope of config (worktree, local, global, system, command)",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 0, (char const   *)"default", (void *)(& default_value),
      (char const   *)"value", (char const   *)"with --get, use default value when missing entry",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static void usage_builtin_config(void)  __attribute__((__noreturn__)) ;
static void usage_builtin_config(void)
{


  {
  usage_with_options(builtin_config_usage, (struct option  const  *)(builtin_config_options));
}
}
static void check_argc(int argc , int min , int max )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  if (argc >= min) {
    if (argc <= max) {
      return;
    }
  }
  if (min == max) {
    tmp = _((char const   *)"wrong number of arguments, should be %d");
    error((char const   *)tmp, min);
    const_error();
  } else {
    tmp___0 = _((char const   *)"wrong number of arguments, should be from %d to %d");
    error((char const   *)tmp___0, min, max);
    const_error();
  }
  usage_builtin_config();
}
}
static void show_config_origin(struct strbuf *buf___19 )
{
  char term___1 ;
  int tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;

  {
  if (end_nul) {
    tmp = '\000';
  } else {
    tmp = '\t';
  }
  term___1 = (char )tmp;
  tmp___0 = current_config_origin_type();
  strbuf_addstr(buf___19, tmp___0);
  strbuf_addch(buf___19, ':');
  if (end_nul) {
    tmp___1 = current_config_name();
    strbuf_addstr(buf___19, tmp___1);
  } else {
    tmp___2 = current_config_name();
    quote_c_style(tmp___2, buf___19, (FILE *)((void *)0), 0U);
  }
  strbuf_addch(buf___19, (int )term___1);
  return;
}
}
static void show_config_scope(struct strbuf *buf___19 )
{
  char term___1 ;
  int tmp ;
  char const   *scope ;
  enum config_scope tmp___0 ;
  char const   *tmp___1 ;

  {
  if (end_nul) {
    tmp = '\000';
  } else {
    tmp = '\t';
  }
  term___1 = (char )tmp;
  tmp___0 = current_config_scope();
  tmp___1 = config_scope_name(tmp___0);
  scope = tmp___1;
  strbuf_addstr(buf___19, scope);
  strbuf_addch(buf___19, (int )term___1);
  return;
}
}
static int show_all_config(char const   *key_ , char const   *value_ , void *cb )
{
  struct strbuf buf___19 ;

  {
  if (show_origin) {
    goto _L;
  } else
  if (show_scope) {
    _L: /* CIL Label */
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    if (show_scope) {
      show_config_scope(& buf___19);
    }
    if (show_origin) {
      show_config_origin(& buf___19);
    }
    fwrite((void const   * __restrict  )buf___19.buf, (size_t )1, buf___19.len, (FILE * __restrict  )stdout);
    strbuf_release(& buf___19);
  }
  if (! omit_values) {
    if (value_) {
      printf((char const   *)"%s%c%s%c", key_, (int )delim, value_, (int )term___0);
    } else {
      printf((char const   *)"%s%c", key_, (int )term___0);
    }
  } else {
    printf((char const   *)"%s%c", key_, (int )term___0);
  }
  return (0);
}
}
static int format_config(struct strbuf *buf___19 , char const   *key_ , char const   *value_ )
{
  char const   *tmp ;
  int64_t tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  int is_bool ;
  int v ;
  char *tmp___4 ;
  int v___0 ;
  int tmp___5 ;
  char *tmp___6 ;
  char const   *v___1 ;
  int tmp___7 ;
  timestamp_t t ;
  int tmp___8 ;
  char v___2[75] ;
  int tmp___9 ;

  {
  if (show_scope) {
    show_config_scope(buf___19);
  }
  if (show_origin) {
    show_config_origin(buf___19);
  }
  if (show_keys) {
    strbuf_addstr(buf___19, key_);
  }
  if (! omit_values) {
    if (show_keys) {
      strbuf_addch(buf___19, (int )key_delim);
    }
    if (type == 2) {
      if (value_) {
        tmp = value_;
      } else {
        tmp = (char const   *)"";
      }
      tmp___0 = git_config_int64(key_, tmp);
      strbuf_addf(buf___19, (char const   *)"%ld", tmp___0);
    } else
    if (type == 1) {
      tmp___3 = git_config_bool(key_, value_);
      if (tmp___3) {
        tmp___2 = "true";
      } else {
        tmp___2 = "false";
      }
      strbuf_addstr(buf___19, (char const   *)tmp___2);
    } else
    if (type == 3) {
      v = git_config_bool_or_int(key_, value_, & is_bool);
      if (is_bool) {
        if (v) {
          tmp___4 = "true";
        } else {
          tmp___4 = "false";
        }
        strbuf_addstr(buf___19, (char const   *)tmp___4);
      } else {
        strbuf_addf(buf___19, (char const   *)"%d", v);
      }
    } else
    if (type == 7) {
      tmp___5 = git_parse_maybe_bool(value_);
      v___0 = tmp___5;
      if (v___0 < 0) {
        strbuf_addstr(buf___19, value_);
      } else {
        if (v___0) {
          tmp___6 = "true";
        } else {
          tmp___6 = "false";
        }
        strbuf_addstr(buf___19, (char const   *)tmp___6);
      }
    } else
    if (type == 4) {
      tmp___7 = git_config_pathname(& v___1, key_, value_);
      if (tmp___7 < 0) {
        return (-1);
      }
      strbuf_addstr(buf___19, v___1);
      free((void *)((char *)v___1));
    } else
    if (type == 5) {
      tmp___8 = git_config_expiry_date(& t, key_, value_);
      if (tmp___8 < 0) {
        return (-1);
      }
      strbuf_addf(buf___19, (char const   *)"%lu", t);
    } else
    if (type == 6) {
      tmp___9 = git_config_color(v___2, key_, value_);
      if (tmp___9 < 0) {
        return (-1);
      }
      strbuf_addstr(buf___19, (char const   *)(v___2));
    } else
    if (value_) {
      strbuf_addstr(buf___19, value_);
    } else
    if (show_keys) {
      strbuf_setlen___33(buf___19, buf___19->len - 1UL);
    }
  }
  strbuf_addch(buf___19, (int )term___0);
  return (0);
}
}
static int collect_config(char const   *key_ , char const   *value_ , void *cb )
{
  struct strbuf_list *values ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  size_t tmp___6 ;
  void *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  values = (struct strbuf_list *)cb;
  if (! use_key_regexp) {
    tmp = strcmp(key_, (char const   *)key);
    if (tmp) {
      return (0);
    }
  }
  if (use_key_regexp) {
    tmp___0 = regexec((regex_t const   * __restrict  )key_regexp, (char const   * __restrict  )key_,
                      (size_t )0, (regmatch_t * __restrict  )((void *)0), 0);
    if (tmp___0) {
      return (0);
    }
  }
  if (fixed_value) {
    if (value_) {
      tmp___1 = value_;
    } else {
      tmp___1 = (char const   *)"";
    }
    tmp___2 = strcmp(value_pattern, tmp___1);
    if (tmp___2) {
      return (0);
    }
  }
  if ((unsigned long )regexp != (unsigned long )((void *)0)) {
    if (value_) {
      tmp___3 = value_;
    } else {
      tmp___3 = (char const   *)"";
    }
    tmp___4 = regexec((regex_t const   * __restrict  )regexp, (char const   * __restrict  )tmp___3,
                      (size_t )0, (regmatch_t * __restrict  )((void *)0), 0);
    if (tmp___4) {
      tmp___5 = 1;
    } else {
      tmp___5 = 0;
    }
    if (do_not_match ^ tmp___5) {
      return (0);
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (values->nr + 1 > values->alloc) {
      if (((values->alloc + 16) * 3) / 2 < values->nr + 1) {
        values->alloc = values->nr + 1;
      } else {
        values->alloc = ((values->alloc + 16) * 3) / 2;
      }
      tmp___6 = st_mult(sizeof(*(values->items)), (size_t )values->alloc);
      tmp___7 = xrealloc((void *)values->items, tmp___6);
      values->items = (struct strbuf *)tmp___7;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_init(values->items + values->nr, (size_t )0);
  tmp___8 = values->nr;
  (values->nr) ++;
  tmp___9 = format_config(values->items + tmp___8, key_, value_);
  return (tmp___9);
}
}
static int get_value___1(char const   *key_ , char const   *regex_ , unsigned int flags___0 )
{
  int ret___67 ;
  struct strbuf_list values ;
  int i ;
  char *tl ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;
  void *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  void *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  struct strbuf *item___0 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  struct strbuf *buf___19 ;

  {
  ret___67 = 7;
  values.items = (struct strbuf *)((void *)0);
  values.nr = 0;
  values.alloc = 0;
  if (use_key_regexp) {
    key = xstrdup(key_);
    tmp = strlen((char const   *)key);
    tl = (key + tmp) - 1;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if ((unsigned long )tl >= (unsigned long )key) {
        if (! ((int )*tl != 46)) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      tmp___0 = sane_case((int )((unsigned char )*tl), 0x20);
      *tl = (char )tmp___0;
      tl --;
    }
    while_break: /* CIL Label */ ;
    }
    tl = key;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (*tl) {
        if (! ((int )*tl != 46)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      tmp___1 = sane_case((int )((unsigned char )*tl), 0x20);
      *tl = (char )tmp___1;
      tl ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___2 = xmalloc(sizeof(regex_t ));
    key_regexp = (regex_t *)tmp___2;
    tmp___4 = regcomp((regex_t * __restrict  )key_regexp, (char const   * __restrict  )key,
                      1);
    if (tmp___4) {
      tmp___3 = _((char const   *)"invalid key pattern: %s");
      error((char const   *)tmp___3, key_);
      const_error();
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        free((void *)key_regexp);
        key_regexp = (regex_t *)((void *)0);
        goto while_break___1;
      }
      while_break___1: /* CIL Label */ ;
      }
      ret___67 = 6;
      goto free_strings;
    }
  } else {
    tmp___5 = git_config_parse_key(key_, & key, (size_t *)((void *)0));
    if (tmp___5) {
      ret___67 = 1;
      goto free_strings;
    }
  }
  if (regex_) {
    if (flags___0 & (unsigned int )(1 << 1)) {
      value_pattern = regex_;
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (regex_) {
    if ((int const   )*(regex_ + 0) == 33) {
      do_not_match = 1;
      regex_ ++;
    }
    tmp___6 = xmalloc(sizeof(regex_t ));
    regexp = (regex_t *)tmp___6;
    tmp___8 = regcomp((regex_t * __restrict  )regexp, (char const   * __restrict  )regex_,
                      1);
    if (tmp___8) {
      tmp___7 = _((char const   *)"invalid pattern: %s");
      error((char const   *)tmp___7, regex_);
      const_error();
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        free((void *)regexp);
        regexp = (regex_t *)((void *)0);
        goto while_break___2;
      }
      while_break___2: /* CIL Label */ ;
      }
      ret___67 = 6;
      goto free_strings;
    }
  }
  config_with_options(& collect_config, (void *)(& values), & given_config_source,
                      (struct config_options  const  *)(& config_options));
  if (! values.nr) {
    if (default_value) {
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if (values.nr + 1 > values.alloc) {
          if (((values.alloc + 16) * 3) / 2 < values.nr + 1) {
            values.alloc = values.nr + 1;
          } else {
            values.alloc = ((values.alloc + 16) * 3) / 2;
          }
          tmp___9 = st_mult(sizeof(*(values.items)), (size_t )values.alloc);
          tmp___10 = xrealloc((void *)values.items, tmp___9);
          values.items = (struct strbuf *)tmp___10;
        }
        goto while_break___3;
      }
      while_break___3: /* CIL Label */ ;
      }
      tmp___11 = values.nr;
      (values.nr) ++;
      item___0 = values.items + tmp___11;
      strbuf_init(item___0, (size_t )0);
      tmp___13 = format_config(item___0, key_, (char const   *)default_value);
      if (tmp___13 < 0) {
        tmp___12 = _((char const   *)"failed to format default config value: %s");
        die((char const   *)tmp___12, default_value);
      }
    }
  }
  ret___67 = ! values.nr;
  i = 0;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! (i < values.nr)) {
      goto while_break___4;
    }
    buf___19 = values.items + i;
    if (do_all) {
      fwrite((void const   * __restrict  )buf___19->buf, (size_t )1, buf___19->len,
             (FILE * __restrict  )stdout);
    } else
    if (i == values.nr - 1) {
      fwrite((void const   * __restrict  )buf___19->buf, (size_t )1, buf___19->len,
             (FILE * __restrict  )stdout);
    }
    strbuf_release(buf___19);
    i ++;
  }
  while_break___4: /* CIL Label */ ;
  }
  free((void *)values.items);
  free_strings:
  free((void *)key);
  if (key_regexp) {
    regfree(key_regexp);
    free((void *)key_regexp);
  }
  if (regexp) {
    regfree(regexp);
    free((void *)regexp);
  }
  return (ret___67);
}
}
static char *normalize_value(char const   *key___1 , char const   *value )
{
  char *tmp ;
  int64_t tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;
  int is_bool ;
  int v ;
  char *tmp___6 ;
  char *tmp___7 ;
  char *tmp___8 ;
  int v___0 ;
  int tmp___9 ;
  char *tmp___10 ;
  char *tmp___11 ;
  char *tmp___12 ;
  char v___1[75] ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;
  char *tmp___15 ;

  {
  if (! value) {
    return ((char *)((void *)0));
  }
  if (type == 0) {
    tmp = xstrdup(value);
    return (tmp);
  } else
  if (type == 4) {
    tmp = xstrdup(value);
    return (tmp);
  } else
  if (type == 5) {
    tmp = xstrdup(value);
    return (tmp);
  }
  if (type == 2) {
    tmp___0 = git_config_int64(key___1, value);
    tmp___1 = xstrfmt((char const   *)"%ld", tmp___0);
    return (tmp___1);
  }
  if (type == 1) {
    tmp___4 = git_config_bool(key___1, value);
    if (tmp___4) {
      tmp___3 = "true";
    } else {
      tmp___3 = "false";
    }
    tmp___5 = xstrdup((char const   *)tmp___3);
    return (tmp___5);
  }
  if (type == 3) {
    v = git_config_bool_or_int(key___1, value, & is_bool);
    if (! is_bool) {
      tmp___6 = xstrfmt((char const   *)"%d", v);
      return (tmp___6);
    } else {
      if (v) {
        tmp___7 = "true";
      } else {
        tmp___7 = "false";
      }
      tmp___8 = xstrdup((char const   *)tmp___7);
      return (tmp___8);
    }
  }
  if (type == 7) {
    tmp___9 = git_parse_maybe_bool(value);
    v___0 = tmp___9;
    if (v___0 < 0) {
      tmp___10 = xstrdup(value);
      return (tmp___10);
    } else {
      if (v___0) {
        tmp___11 = "true";
      } else {
        tmp___11 = "false";
      }
      tmp___12 = xstrdup((char const   *)tmp___11);
      return (tmp___12);
    }
  }
  if (type == 6) {
    tmp___14 = git_config_color(v___1, key___1, value);
    if (tmp___14) {
      tmp___13 = _((char const   *)"cannot parse color \'%s\'");
      die((char const   *)tmp___13, value);
    }
    tmp___15 = xstrdup(value);
    return (tmp___15);
  }
  BUG_fl((char const   *)"builtin/config.c", 453, (char const   *)"cannot normalize type %d",
         type);
}
}
static int get_color_found  ;
static char const   *get_color_slot  ;
static char const   *get_colorbool_slot  ;
static char parsed_color[75]  ;
static int git_get_color_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp___0 = strcmp(var, get_color_slot);
  if (! tmp___0) {
    if (! value) {
      config_error_nonbool(var);
      const_error();
    }
    tmp = color_parse(value, parsed_color);
    if (tmp < 0) {
      return (-1);
    }
    get_color_found = 1;
  }
  return (0);
}
}
static void get_color(char const   *var , char const   *def_color )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  get_color_slot = var;
  get_color_found = 0;
  parsed_color[0] = (char )'\000';
  config_with_options(& git_get_color_config, (void *)0, & given_config_source, (struct config_options  const  *)(& config_options));
  if (! get_color_found) {
    if (def_color) {
      tmp___0 = color_parse(def_color, parsed_color);
      if (tmp___0 < 0) {
        tmp = _((char const   *)"unable to parse default color value");
        die((char const   *)tmp);
      }
    }
  }
  fputs((char const   * __restrict  )(parsed_color), (FILE * __restrict  )stdout);
  return;
}
}
static int get_colorbool_found  ;
static int get_diff_color_found  ;
static int get_color_ui_found  ;
static int git_get_colorbool_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp___1 = strcmp(var, get_colorbool_slot);
  if (tmp___1) {
    tmp___0 = strcmp(var, (char const   *)"diff.color");
    if (tmp___0) {
      tmp = strcmp(var, (char const   *)"color.ui");
      if (! tmp) {
        get_color_ui_found = git_config_colorbool(var, value);
      }
    } else {
      get_diff_color_found = git_config_colorbool(var, value);
    }
  } else {
    get_colorbool_found = git_config_colorbool(var, value);
  }
  return (0);
}
}
static int get_colorbool(char const   *var , int print )
{
  int tmp ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  get_colorbool_slot = var;
  get_colorbool_found = -1;
  get_diff_color_found = -1;
  get_color_ui_found = -1;
  config_with_options(& git_get_colorbool_config, (void *)0, & given_config_source,
                      (struct config_options  const  *)(& config_options));
  if (get_colorbool_found < 0) {
    tmp = strcmp(get_colorbool_slot, (char const   *)"color.diff");
    if (! tmp) {
      get_colorbool_found = get_diff_color_found;
    }
    if (get_colorbool_found < 0) {
      get_colorbool_found = get_color_ui_found;
    }
  }
  if (get_colorbool_found < 0) {
    get_colorbool_found = 2;
  }
  get_colorbool_found = want_color_fd(1, get_colorbool_found);
  if (print) {
    if (get_colorbool_found) {
      tmp___0 = "true";
    } else {
      tmp___0 = "false";
    }
    printf((char const   *)"%s\n", tmp___0);
    return (0);
  } else {
    if (get_colorbool_found) {
      tmp___1 = 0;
    } else {
      tmp___1 = 1;
    }
    return (tmp___1);
  }
}
}
static void check_write(void)
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  if (! given_config_source.file) {
    if (! startup_info->have_repository) {
      tmp = _((char const   *)"not in a git directory");
      die((char const   *)tmp);
    }
  }
  if (given_config_source.use_stdin) {
    tmp___0 = _((char const   *)"writing to stdin is not supported");
    die((char const   *)tmp___0);
  }
  if (given_config_source.blob) {
    tmp___1 = _((char const   *)"writing config blobs is not supported");
    die((char const   *)tmp___1);
  }
  return;
}
}
static int urlmatch_collect_fn(char const   *var , char const   *value , void *cb )
{
  struct string_list *values ;
  struct string_list_item *item___0 ;
  struct string_list_item *tmp ;
  struct urlmatch_current_candidate_value *matched ;
  void *tmp___0 ;

  {
  values = (struct string_list *)cb;
  tmp = string_list_insert(values, var);
  item___0 = tmp;
  matched = (struct urlmatch_current_candidate_value *)item___0->util;
  if (! matched) {
    tmp___0 = xmalloc(sizeof(*matched));
    matched = (struct urlmatch_current_candidate_value *)tmp___0;
    strbuf_init(& matched->value, (size_t )0);
    item___0->util = (void *)matched;
  } else {
    strbuf_setlen___33(& matched->value, (size_t )0);
  }
  if (value) {
    strbuf_addstr(& matched->value, value);
    matched->value_is_null = (char)0;
  } else {
    matched->value_is_null = (char)1;
  }
  return (0);
}
}
static int get_urlmatch(char const   *var , char const   *url )
{
  int ret___67 ;
  char *section_tail ;
  struct string_list_item *item___0 ;
  struct urlmatch_config config ;
  struct string_list values ;
  char *tmp ;
  char *tmp___0 ;
  struct urlmatch_current_candidate_value *matched ;
  struct strbuf buf___19 ;
  char *tmp___1 ;

  {
  config.vars.items = (struct string_list_item *)0;
  config.vars.nr = 0U;
  config.vars.alloc = 0U;
  config.vars.strdup_strings = 1U;
  config.vars.cmp = (int (*)(char const   * , char const   * ))0;
  config.url.url = (char *)0;
  config.url.err = (char const   *)0;
  config.url.url_len = 0UL;
  config.url.scheme_len = 0UL;
  config.url.user_off = 0UL;
  config.url.user_len = 0UL;
  config.url.passwd_off = 0UL;
  config.url.passwd_len = 0UL;
  config.url.host_off = 0UL;
  config.url.host_len = 0UL;
  config.url.port_off = 0UL;
  config.url.port_len = 0UL;
  config.url.path_off = 0UL;
  config.url.path_len = 0UL;
  config.section = (char const   *)0;
  config.key = (char const   *)0;
  config.cb = (void *)0;
  config.collect_fn = (int (*)(char const   *var , char const   *value , void *cb ))0;
  config.cascade_fn = (int (*)(char const   *var , char const   *value , void *cb ))0;
  config.select_fn = (int (*)(struct urlmatch_item  const  *found , struct urlmatch_item  const  *existing ))0;
  config.fallback_match_fn = (int (*)(char const   *url , void *cb ))0;
  values.items = (struct string_list_item *)0;
  values.nr = 0U;
  values.alloc = 0U;
  values.strdup_strings = 1U;
  values.cmp = (int (*)(char const   * , char const   * ))0;
  config.collect_fn = & urlmatch_collect_fn;
  config.cascade_fn = (int (*)(char const   *var , char const   *value , void *cb ))((void *)0);
  config.cb = (void *)(& values);
  tmp = url_normalize(url, & config.url);
  if (! tmp) {
    die((char const   *)"%s", config.url.err);
  }
  tmp___0 = xstrdup_tolower(var);
  config.section = (char const   *)tmp___0;
  section_tail = strchr(config.section, '.');
  if (section_tail) {
    *section_tail = (char )'\000';
    config.key = (char const   *)(section_tail + 1);
    show_keys = 0;
  } else {
    config.key = (char const   *)((void *)0);
    show_keys = 1;
  }
  config_with_options(& urlmatch_config_entry, (void *)(& config), & given_config_source,
                      (struct config_options  const  *)(& config_options));
  ret___67 = ! values.nr;
  item___0 = values.items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(values.items + values.nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    matched = (struct urlmatch_current_candidate_value *)item___0->util;
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    if (matched->value_is_null) {
      tmp___1 = (char *)((void *)0);
    } else {
      tmp___1 = matched->value.buf;
    }
    format_config(& buf___19, (char const   *)item___0->string, (char const   *)tmp___1);
    fwrite((void const   * __restrict  )buf___19.buf, (size_t )1, buf___19.len, (FILE * __restrict  )stdout);
    strbuf_release(& buf___19);
    strbuf_release(& matched->value);
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_clear(& config.vars, 1);
  string_list_clear(& values, 1);
  free((void *)config.url.url);
  free((void *)config.section);
  return (ret___67);
}
}
static char *default_user_config(void)
{
  struct strbuf buf___19 ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char *tmp___2 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = ident_default_email();
  tmp___0 = ident_default_name();
  tmp___1 = _((char const   *)"# This is Git\'s per-user configuration file.\n[user]\n# Please adapt and uncomment the following lines:\n#\tname = %s\n#\temail = %s\n");
  strbuf_addf(& buf___19, (char const   *)tmp___1, tmp___0, tmp);
  tmp___2 = strbuf_detach(& buf___19, (size_t *)((void *)0));
  return (tmp___2);
}
}
int cmd_config(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int nongit ;
  char *value ;
  int flags___0 ;
  char *tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char *user_config ;
  char *xdg_config ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char *tmp___9 ;
  char *tmp___10 ;
  struct worktree **worktrees ;
  struct worktree **tmp___11 ;
  char *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char *tmp___14 ;
  char *tmp___15 ;
  int tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  char const __attribute__((__format_arg__(1)))  *tmp___21 ;
  int allowed_usage ;
  int tmp___22 ;
  int tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  char const __attribute__((__format_arg__(1)))  *tmp___26 ;
  int tmp___27 ;
  char *config_file ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  char const __attribute__((__format_arg__(1)))  *tmp___29 ;
  char const __attribute__((__format_arg__(1)))  *tmp___30 ;
  char *tmp___31 ;
  char *tmp___32 ;
  int fd ;
  int tmp___33 ;
  char *content ;
  char *tmp___34 ;
  char const __attribute__((__format_arg__(1)))  *tmp___35 ;
  int *tmp___36 ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp___37 ;
  int tmp___38 ;
  int tmp___39 ;
  int tmp___40 ;
  int tmp___41 ;
  int tmp___42 ;
  int tmp___43 ;
  int tmp___44 ;
  int tmp___45 ;
  int tmp___46 ;
  int tmp___47 ;
  int ret___68 ;
  char const __attribute__((__format_arg__(1)))  *tmp___48 ;
  int ret___69 ;
  char const __attribute__((__format_arg__(1)))  *tmp___49 ;
  int tmp___50 ;

  {
  nongit = ! startup_info->have_repository;
  flags___0 = 0;
  tmp = getenv((char const   *)"GIT_CONFIG");
  tmp___0 = xstrdup_or_null((char const   *)tmp);
  given_config_source.file = (char const   *)tmp___0;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(builtin_config_options),
                       builtin_config_usage, (enum parse_opt_flags )2);
  if (((((use_global_config + use_system_config) + use_local_config) + use_worktree_config) + ! (! given_config_source.file)) + ! (! given_config_source.blob) > 1) {
    tmp___1 = _((char const   *)"only one config file at a time");
    error((char const   *)tmp___1);
    const_error();
    usage_builtin_config();
  }
  if (nongit) {
    if (use_local_config) {
      tmp___2 = _((char const   *)"--local can only be used inside a git repository");
      die((char const   *)tmp___2);
    }
    if (given_config_source.blob) {
      tmp___3 = _((char const   *)"--blob can only be used inside a git repository");
      die((char const   *)tmp___3);
    }
    if (use_worktree_config) {
      tmp___4 = _((char const   *)"--worktree can only be used inside a git repository");
      die((char const   *)tmp___4);
    }
  }
  if (given_config_source.file) {
    tmp___5 = strcmp(given_config_source.file, (char const   *)"-");
    if (! tmp___5) {
      given_config_source.file = (char const   *)((void *)0);
      given_config_source.use_stdin = 1U;
      given_config_source.scope = (enum config_scope )5;
    }
  }
  if (use_global_config) {
    git_global_config(& user_config, & xdg_config);
    if (! user_config) {
      tmp___6 = _((char const   *)"$HOME not set");
      die((char const   *)tmp___6);
    }
    given_config_source.scope = (enum config_scope )2;
    tmp___7 = access_or_warn((char const   *)user_config, 4, 0U);
    if (tmp___7) {
      if (xdg_config) {
        tmp___8 = access_or_warn((char const   *)xdg_config, 4, 0U);
        if (tmp___8) {
          given_config_source.file = (char const   *)user_config;
          free((void *)xdg_config);
        } else {
          given_config_source.file = (char const   *)xdg_config;
          free((void *)user_config);
        }
      } else {
        given_config_source.file = (char const   *)user_config;
        free((void *)xdg_config);
      }
    } else {
      given_config_source.file = (char const   *)user_config;
      free((void *)xdg_config);
    }
  } else
  if (use_system_config) {
    tmp___9 = git_system_config();
    given_config_source.file = (char const   *)tmp___9;
    given_config_source.scope = (enum config_scope )1;
  } else
  if (use_local_config) {
    tmp___10 = git_pathdup((char const   *)"config");
    given_config_source.file = (char const   *)tmp___10;
    given_config_source.scope = (enum config_scope )3;
  } else
  if (use_worktree_config) {
    tmp___11 = get_worktrees();
    worktrees = tmp___11;
    if (repository_format_worktree_config) {
      tmp___12 = git_pathdup((char const   *)"config.worktree");
      given_config_source.file = (char const   *)tmp___12;
    } else
    if (*(worktrees + 0)) {
      if (*(worktrees + 1)) {
        tmp___13 = _((char const   *)"--worktree cannot be used with multiple working trees unless the config\nextension worktreeConfig is enabled. Please read \"CONFIGURATION FILE\"\nsection in \"git help worktree\" for details");
        die((char const   *)tmp___13);
      } else {
        tmp___14 = git_pathdup((char const   *)"config");
        given_config_source.file = (char const   *)tmp___14;
      }
    } else {
      tmp___14 = git_pathdup((char const   *)"config");
      given_config_source.file = (char const   *)tmp___14;
    }
    given_config_source.scope = (enum config_scope )3;
    free_worktrees(worktrees);
  } else
  if (given_config_source.file) {
    tmp___16 = is_absolute_path(given_config_source.file);
    if (! tmp___16) {
      if (prefix___1) {
        tmp___15 = prefix_filename(prefix___1, given_config_source.file);
        given_config_source.file = (char const   *)tmp___15;
      }
    }
    given_config_source.scope = (enum config_scope )5;
  } else
  if (given_config_source.blob) {
    given_config_source.scope = (enum config_scope )5;
  }
  if (respect_includes_opt == -1) {
    config_options.respect_includes = (unsigned int )(! given_config_source.file);
  } else {
    config_options.respect_includes = (unsigned int )respect_includes_opt;
  }
  if (! nongit) {
    config_options.commondir = get_git_common_dir();
    config_options.git_dir = get_git_dir();
  }
  if (end_nul) {
    term___0 = (char )'\000';
    delim = (char )'\n';
    key_delim = (char )'\n';
  }
  if (actions & ((1 << 13) | (1 << 14))) {
    if (type) {
      tmp___17 = _((char const   *)"--get-color and variable type are incoherent");
      error((char const   *)tmp___17);
      const_error();
      usage_builtin_config();
    }
  }
  if (actions & (actions - 1)) {
    tmp___18 = _((char const   *)"only one action at a time");
    error((char const   *)tmp___18);
    const_error();
    usage_builtin_config();
  }
  if (actions == 0) {
    {
    if (argc == 1) {
      goto case_1;
    }
    if (argc == 2) {
      goto case_2;
    }
    if (argc == 3) {
      goto case_3;
    }
    goto switch_default;
    case_1: /* CIL Label */
    actions = 1;
    goto switch_break;
    case_2: /* CIL Label */
    actions = 1 << 11;
    goto switch_break;
    case_3: /* CIL Label */
    actions = 1 << 12;
    goto switch_break;
    switch_default: /* CIL Label */
    usage_builtin_config();
    switch_break: /* CIL Label */ ;
    }
  }
  if (omit_values) {
    if (! (actions == 1 << 9)) {
      if (! (actions == 1 << 2)) {
        tmp___19 = _((char const   *)"--name-only is only applicable to --list or --get-regexp");
        error((char const   *)tmp___19);
        const_error();
        usage_builtin_config();
      }
    }
  }
  if (show_origin) {
    if (! (actions & (((1 | (1 << 1)) | (1 << 2)) | (1 << 9)))) {
      tmp___20 = _((char const   *)"--show-origin is only applicable to --get, --get-all, --get-regexp, and --list");
      error((char const   *)tmp___20);
      const_error();
      usage_builtin_config();
    }
  }
  if (default_value) {
    if (! (actions & 1)) {
      tmp___21 = _((char const   *)"--default is only applicable to --get");
      error((char const   *)tmp___21);
      const_error();
      usage_builtin_config();
    }
  }
  if (fixed_value) {
    allowed_usage = 0;
    {
    if (actions == 1 << 6) {
      goto case_exp;
    }
    if (actions == 1 << 5) {
      goto case_exp;
    }
    if (actions == 1 << 2) {
      goto case_exp;
    }
    if (actions == 1 << 1) {
      goto case_exp;
    }
    if (actions == 1) {
      goto case_exp;
    }
    if (actions == 1 << 3) {
      goto case_exp___3;
    }
    if (actions == 1 << 12) {
      goto case_exp___3;
    }
    goto switch_break___0;
    case_exp: /* CIL Label */
    case_exp___0: /* CIL Label */
    case_exp___1: /* CIL Label */
    case_exp___2: /* CIL Label */
    case_1___0: /* CIL Label */
    if (argc > 1) {
      if (! (! *(argv___0 + 1))) {
        tmp___22 = 1;
      } else {
        tmp___22 = 0;
      }
    } else {
      tmp___22 = 0;
    }
    allowed_usage = tmp___22;
    goto switch_break___0;
    case_exp___3: /* CIL Label */
    case_exp___4: /* CIL Label */
    if (argc > 2) {
      if (! (! *(argv___0 + 2))) {
        tmp___23 = 1;
      } else {
        tmp___23 = 0;
      }
    } else {
      tmp___23 = 0;
    }
    allowed_usage = tmp___23;
    goto switch_break___0;
    switch_break___0: /* CIL Label */ ;
    }
    if (! allowed_usage) {
      tmp___24 = _((char const   *)"--fixed-value only applies with \'value-pattern\'");
      error((char const   *)tmp___24);
      const_error();
      usage_builtin_config();
    }
    flags___0 |= 1 << 1;
  }
  if (actions & ((((1 << 9) | (1 << 1)) | (1 << 2)) | (1 << 15))) {
    setup_auto_pager((char const   *)"config", 1);
  }
  if (actions == 1 << 9) {
    check_argc(argc, 0, 0);
    tmp___27 = config_with_options(& show_all_config, (void *)0, & given_config_source,
                                   (struct config_options  const  *)(& config_options));
    if (tmp___27 < 0) {
      if (given_config_source.file) {
        tmp___25 = _((char const   *)"unable to read config file \'%s\'");
        die_errno((char const   *)tmp___25, given_config_source.file);
      } else {
        tmp___26 = _((char const   *)"error processing config file(s)");
        die((char const   *)tmp___26);
      }
    }
  } else
  if (actions == 1 << 10) {
    check_argc(argc, 0, 0);
    if (! given_config_source.file) {
      if (nongit) {
        tmp___28 = _((char const   *)"not in a git directory");
        die((char const   *)tmp___28);
      }
    }
    if (given_config_source.use_stdin) {
      tmp___29 = _((char const   *)"editing stdin is not supported");
      die((char const   *)tmp___29);
    }
    if (given_config_source.blob) {
      tmp___30 = _((char const   *)"editing blobs is not supported");
      die((char const   *)tmp___30);
    }
    git_config(& git_default_config, (void *)0);
    if (given_config_source.file) {
      tmp___31 = xstrdup(given_config_source.file);
      config_file = tmp___31;
    } else {
      tmp___32 = git_pathdup((char const   *)"config");
      config_file = tmp___32;
    }
    if (use_global_config) {
      tmp___33 = open((char const   *)config_file, 193, 0666);
      fd = tmp___33;
      if (fd >= 0) {
        tmp___34 = default_user_config();
        content = tmp___34;
        write_str_in_full(fd, (char const   *)content);
        free((void *)content);
        close(fd);
      } else {
        tmp___36 = __errno_location();
        if (*tmp___36 != 17) {
          tmp___35 = _((char const   *)"cannot create configuration file %s");
          die_errno((char const   *)tmp___35, config_file);
        }
      }
    }
    launch_editor((char const   *)config_file, (struct strbuf *)((void *)0), (char const   **)((void *)0));
    free((void *)config_file);
  } else
  if (actions == 1 << 11) {
    check_write();
    check_argc(argc, 2, 2);
    value = normalize_value(*(argv___0 + 0), *(argv___0 + 1));
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    ret___67 = git_config_set_in_file_gently(given_config_source.file, *(argv___0 + 0),
                                             (char const   *)value);
    if (ret___67 == 5) {
      tmp___37 = _((char const   *)"cannot overwrite multiple values with a single value\n       Use a regexp, --add or --replace-all to change %s.");
      error((char const   *)tmp___37, *(argv___0 + 0));
      const_error();
    }
    return (ret___67);
  } else
  if (actions == 1 << 12) {
    check_write();
    check_argc(argc, 2, 3);
    value = normalize_value(*(argv___0 + 0), *(argv___0 + 1));
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___38 = git_config_set_multivar_in_file_gently(given_config_source.file, *(argv___0 + 0),
                                                      (char const   *)value, *(argv___0 + 2),
                                                      (unsigned int )flags___0);
    return (tmp___38);
  } else
  if (actions == 1 << 4) {
    check_write();
    check_argc(argc, 2, 2);
    value = normalize_value(*(argv___0 + 0), *(argv___0 + 1));
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
    tmp___39 = git_config_set_multivar_in_file_gently(given_config_source.file, *(argv___0 + 0),
                                                      (char const   *)value, (char const   *)((void *)1),
                                                      (unsigned int )flags___0);
    return (tmp___39);
  } else
  if (actions == 1 << 3) {
    check_write();
    check_argc(argc, 2, 3);
    value = normalize_value(*(argv___0 + 0), *(argv___0 + 1));
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      goto while_break___2;
    }
    while_break___2: /* CIL Label */ ;
    }
    tmp___40 = git_config_set_multivar_in_file_gently(given_config_source.file, *(argv___0 + 0),
                                                      (char const   *)value, *(argv___0 + 2),
                                                      (unsigned int )(flags___0 | 1));
    return (tmp___40);
  } else
  if (actions == 1) {
    check_argc(argc, 1, 2);
    tmp___41 = get_value___1(*(argv___0 + 0), *(argv___0 + 1), (unsigned int )flags___0);
    return (tmp___41);
  } else
  if (actions == 1 << 1) {
    do_all = 1;
    check_argc(argc, 1, 2);
    tmp___42 = get_value___1(*(argv___0 + 0), *(argv___0 + 1), (unsigned int )flags___0);
    return (tmp___42);
  } else
  if (actions == 1 << 2) {
    show_keys = 1;
    use_key_regexp = 1;
    do_all = 1;
    check_argc(argc, 1, 2);
    tmp___43 = get_value___1(*(argv___0 + 0), *(argv___0 + 1), (unsigned int )flags___0);
    return (tmp___43);
  } else
  if (actions == 1 << 15) {
    check_argc(argc, 2, 2);
    tmp___44 = get_urlmatch(*(argv___0 + 0), *(argv___0 + 1));
    return (tmp___44);
  } else
  if (actions == 1 << 5) {
    check_write();
    check_argc(argc, 1, 2);
    if (argc == 2) {
      tmp___45 = git_config_set_multivar_in_file_gently(given_config_source.file,
                                                        *(argv___0 + 0), (char const   *)((void *)0),
                                                        *(argv___0 + 1), (unsigned int )flags___0);
      return (tmp___45);
    } else {
      tmp___46 = git_config_set_in_file_gently(given_config_source.file, *(argv___0 + 0),
                                               (char const   *)((void *)0));
      return (tmp___46);
    }
  } else
  if (actions == 1 << 6) {
    check_write();
    check_argc(argc, 1, 2);
    tmp___47 = git_config_set_multivar_in_file_gently(given_config_source.file, *(argv___0 + 0),
                                                      (char const   *)((void *)0),
                                                      *(argv___0 + 1), (unsigned int )(flags___0 | 1));
    return (tmp___47);
  } else
  if (actions == 1 << 7) {
    check_write();
    check_argc(argc, 2, 2);
    ret___68 = git_config_rename_section_in_file(given_config_source.file, *(argv___0 + 0),
                                                 *(argv___0 + 1));
    if (ret___68 < 0) {
      return (ret___68);
    }
    if (ret___68 == 0) {
      tmp___48 = _((char const   *)"no such section: %s");
      die((char const   *)tmp___48, *(argv___0 + 0));
    }
  } else
  if (actions == 1 << 8) {
    check_write();
    check_argc(argc, 1, 1);
    ret___69 = git_config_rename_section_in_file(given_config_source.file, *(argv___0 + 0),
                                                 (char const   *)((void *)0));
    if (ret___69 < 0) {
      return (ret___69);
    }
    if (ret___69 == 0) {
      tmp___49 = _((char const   *)"no such section: %s");
      die((char const   *)tmp___49, *(argv___0 + 0));
    }
  } else
  if (actions == 1 << 13) {
    check_argc(argc, 1, 2);
    get_color(*(argv___0 + 0), *(argv___0 + 1));
  } else
  if (actions == 1 << 14) {
    check_argc(argc, 1, 2);
    if (argc == 2) {
      color_stdout_is_tty = git_config_bool((char const   *)"command line", *(argv___0 + 1));
    }
    tmp___50 = get_colorbool(*(argv___0 + 0), argc == 2);
    return (tmp___50);
  }
  return (0);
}
}
static double const   __ac_HASH_UPPER___114  =    (double const   )0.77;
__inline static void kh_resize_oid_set___114(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___114(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___114 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___114 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___114(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___114(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___114(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___114(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___114(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___114(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___114 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___114 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___114(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___114(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___114(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___114(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___114(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___114(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___114 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___114 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___114(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___114(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___114(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___114(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___86(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___86(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___114 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___114 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___86(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___86(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___86(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___86(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static unsigned long garbage  ;
static off_t size_garbage  ;
static int verbose___3  ;
static unsigned long loose  ;
static unsigned long packed  ;
static unsigned long packed_loose  ;
static off_t loose_size  ;
static char const   *bits_to_msg(unsigned int seen_bits )
{


  {
  {
  if (seen_bits == 0U) {
    goto case_0;
  }
  if (seen_bits == 4U) {
    goto case_4;
  }
  if (seen_bits == 1U) {
    goto case_1;
  }
  if (seen_bits == 2U) {
    goto case_2;
  }
  goto switch_default;
  case_0: /* CIL Label */
  return ((char const   *)"no corresponding .idx or .pack");
  case_4: /* CIL Label */
  return ((char const   *)"garbage found");
  case_1: /* CIL Label */
  return ((char const   *)"no corresponding .idx");
  case_2: /* CIL Label */
  return ((char const   *)"no corresponding .pack");
  switch_default: /* CIL Label */
  case_3: /* CIL Label */
  return ((char const   *)((void *)0));
  switch_break: /* CIL Label */ ;
  }
}
}
static void real_report_garbage(unsigned int seen_bits , char const   *path___6 )
{
  struct stat st ;
  char const   *desc___0 ;
  char const   *tmp ;
  int tmp___0 ;

  {
  tmp = bits_to_msg(seen_bits);
  desc___0 = tmp;
  if (! desc___0) {
    return;
  }
  tmp___0 = stat(path___6, & st);
  if (! tmp___0) {
    size_garbage += st.st_size;
  }
  warning((char const   *)"%s: %s", desc___0, path___6);
  garbage ++;
  return;
}
}
static void loose_garbage(char const   *path___6 )
{


  {
  if (verbose___3) {
    (*report_garbage)(4U, path___6);
  }
  return;
}
}
static int count_loose(struct object_id  const  *oid , char const   *path___6 , void *data )
{
  struct stat st ;
  int tmp ;
  int tmp___0 ;

  {
  tmp___0 = lstat(path___6, & st);
  if (tmp___0) {
    loose_garbage(path___6);
  } else
  if (! ((st.st_mode & 61440U) == 32768U)) {
    loose_garbage(path___6);
  } else {
    loose_size += st.st_blocks * 512L;
    loose ++;
    if (verbose___3) {
      tmp = has_object_pack(oid);
      if (tmp) {
        packed_loose ++;
      }
    }
  }
  return (0);
}
}
static int count_cruft(char const   *__xpg_basename___0 , char const   *path___6 ,
                       void *data )
{


  {
  loose_garbage(path___6);
  return (0);
}
}
static int print_alternate(struct object_directory *odb , void *data )
{


  {
  printf((char const   *)"alternate: ");
  quote_c_style((char const   *)odb->path, (struct strbuf *)((void *)0), stdout, 0U);
  putchar('\n');
  return (0);
}
}
static char const   *count_objects_usage[2]  = {      (char const   *)"git count-objects [-v] [-H | --human-readable]",      (char const   *)((void *)0)};
int cmd_count_objects(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int human_readable ;
  struct option opts___1[3] ;
  char *tmp ;
  struct packed_git *p___0 ;
  unsigned long num_pack___0 ;
  off_t size_pack ;
  struct strbuf loose_buf ;
  struct strbuf pack_buf ;
  struct strbuf garbage_buf ;
  int tmp___0 ;
  struct strbuf buf___19 ;

  {
  human_readable = 0;
  opts___1[0].type = (enum parse_opt_type )7;
  opts___1[0].short_name = 'v';
  opts___1[0].long_name = (char const   *)"verbose";
  opts___1[0].value = (void *)(& verbose___3);
  opts___1[0].argh = (char const   *)((void *)0);
  opts___1[0].help = (char const   *)"be verbose";
  opts___1[0].flags = (enum parse_opt_option_flags )2;
  opts___1[0].callback = (parse_opt_cb *)0;
  opts___1[0].defval = 0L;
  opts___1[0].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[0].extra = 0L;
  opts___1[1].type = (enum parse_opt_type )8;
  opts___1[1].short_name = 'H';
  opts___1[1].long_name = (char const   *)"human-readable";
  opts___1[1].value = (void *)(& human_readable);
  opts___1[1].argh = (char const   *)((void *)0);
  opts___1[1].help = (char const   *)"print sizes in human readable format";
  opts___1[1].flags = (enum parse_opt_option_flags )2;
  opts___1[1].callback = (parse_opt_cb *)((void *)0);
  opts___1[1].defval = (intptr_t )1;
  opts___1[1].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[1].extra = 0L;
  opts___1[2].type = (enum parse_opt_type )0;
  opts___1[2].short_name = 0;
  opts___1[2].long_name = (char const   *)0;
  opts___1[2].value = (void *)0;
  opts___1[2].argh = (char const   *)0;
  opts___1[2].help = (char const   *)0;
  opts___1[2].flags = 0U;
  opts___1[2].callback = (parse_opt_cb *)0;
  opts___1[2].defval = 0L;
  opts___1[2].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[2].extra = 0L;
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(opts___1),
                       count_objects_usage, (enum parse_opt_flags )0);
  if (argc) {
    usage_with_options(count_objects_usage, (struct option  const  *)(opts___1));
  }
  if (verbose___3) {
    report_garbage = & real_report_garbage;
    report_linked_checkout_garbage();
  }
  tmp = get_object_directory();
  for_each_loose_file_in_objdir((char const   *)tmp, & count_loose, & count_cruft,
                                (each_loose_subdir_fn *)((void *)0), (void *)0);
  if (verbose___3) {
    num_pack___0 = 0UL;
    size_pack = (off_t )0;
    loose_buf.alloc = 0UL;
    loose_buf.len = 0UL;
    loose_buf.buf = strbuf_slopbuf;
    pack_buf.alloc = 0UL;
    pack_buf.len = 0UL;
    pack_buf.buf = strbuf_slopbuf;
    garbage_buf.alloc = 0UL;
    garbage_buf.len = 0UL;
    garbage_buf.buf = strbuf_slopbuf;
    p___0 = get_all_packs(the_repository);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! p___0) {
        goto while_break;
      }
      if (! p___0->pack_local) {
        goto __Cont;
      }
      tmp___0 = open_pack_index(p___0);
      if (tmp___0) {
        goto __Cont;
      }
      packed += (unsigned long )p___0->num_objects;
      size_pack = (off_t )((size_t )size_pack + ((size_t )p___0->pack_size + p___0->index_size));
      num_pack___0 ++;
      __Cont: /* CIL Label */
      p___0 = p___0->next;
    }
    while_break: /* CIL Label */ ;
    }
    if (human_readable) {
      strbuf_humanise_bytes(& loose_buf, loose_size);
      strbuf_humanise_bytes(& pack_buf, size_pack);
      strbuf_humanise_bytes(& garbage_buf, size_garbage);
    } else {
      strbuf_addf(& loose_buf, (char const   *)"%lu", (unsigned long )(loose_size / 1024L));
      strbuf_addf(& pack_buf, (char const   *)"%lu", (unsigned long )(size_pack / 1024L));
      strbuf_addf(& garbage_buf, (char const   *)"%lu", (unsigned long )(size_garbage / 1024L));
    }
    printf((char const   *)"count: %lu\n", loose);
    printf((char const   *)"size: %s\n", loose_buf.buf);
    printf((char const   *)"in-pack: %lu\n", packed);
    printf((char const   *)"packs: %lu\n", num_pack___0);
    printf((char const   *)"size-pack: %s\n", pack_buf.buf);
    printf((char const   *)"prune-packable: %lu\n", packed_loose);
    printf((char const   *)"garbage: %lu\n", garbage);
    printf((char const   *)"size-garbage: %s\n", garbage_buf.buf);
    foreach_alt_odb(& print_alternate, (void *)0);
    strbuf_release(& loose_buf);
    strbuf_release(& pack_buf);
    strbuf_release(& garbage_buf);
  } else {
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    if (human_readable) {
      strbuf_humanise_bytes(& buf___19, loose_size);
    } else {
      strbuf_addf(& buf___19, (char const   *)"%lu kilobytes", (unsigned long )(loose_size / 1024L));
    }
    printf((char const   *)"%lu objects, %s\n", loose, buf___19.buf);
    strbuf_release(& buf___19);
  }
  return (0);
}
}
static struct credential_cache_entry *entries  ;
static int entries_nr  ;
static int entries_alloc  ;
static void cache_credential(struct credential *c___0 , int timeout___0 )
{
  struct credential_cache_entry *e ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  time_t tmp___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (entries_nr + 1 > entries_alloc) {
      if (((entries_alloc + 16) * 3) / 2 < entries_nr + 1) {
        entries_alloc = entries_nr + 1;
      } else {
        entries_alloc = ((entries_alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*entries), (size_t )entries_alloc);
      tmp___0 = xrealloc((void *)entries, tmp);
      entries = (struct credential_cache_entry *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = entries_nr;
  entries_nr ++;
  e = entries + tmp___1;
  memcpy((void *)(& e->item), (void const   *)c___0, sizeof(*c___0));
  memset((void *)c___0, 0, sizeof(*c___0));
  tmp___2 = time((time_t *)((void *)0));
  e->expiration = (timestamp_t )(tmp___2 + (time_t )timeout___0);
  return;
}
}
static struct credential_cache_entry *lookup_credential(struct credential  const  *c___0 )
{
  int i ;
  struct credential *e ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < entries_nr)) {
      goto while_break;
    }
    e = & (entries + i)->item;
    tmp = credential_match(c___0, (struct credential  const  *)e);
    if (tmp) {
      return (entries + i);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct credential_cache_entry *)((void *)0));
}
}
static void remove_credential(struct credential  const  *c___0 )
{
  struct credential_cache_entry *e ;

  {
  e = lookup_credential(c___0);
  if (e) {
    e->expiration = (timestamp_t )0;
  }
  return;
}
}
static timestamp_t wait_for_entry_until  ;
static timestamp_t check_expirations(void)
{
  int i ;
  timestamp_t now ;
  time_t tmp ;
  timestamp_t next___2 ;

  {
  i = 0;
  tmp = time((time_t *)((void *)0));
  now = (timestamp_t )tmp;
  next___2 = 18446744073709551615UL;
  if (! wait_for_entry_until) {
    wait_for_entry_until = now + 30UL;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < entries_nr)) {
      goto while_break;
    }
    if ((entries + i)->expiration <= now) {
      entries_nr --;
      credential_clear(& (entries + i)->item);
      if (i != entries_nr) {
        memcpy((void *)(entries + i), (void const   *)(entries + entries_nr), sizeof(*entries));
      }
      wait_for_entry_until = now + 30UL;
    } else {
      if ((entries + i)->expiration < next___2) {
        next___2 = (entries + i)->expiration;
      }
      i ++;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (! entries_nr) {
    if (wait_for_entry_until <= now) {
      return ((timestamp_t )0);
    }
    next___2 = wait_for_entry_until;
  }
  return (next___2 - now);
}
}
static int read_request___0(FILE *fh , struct credential *c___0 , struct strbuf *action ,
                            int *timeout___0 ) ;
static struct strbuf item  =    {0UL, 0UL, strbuf_slopbuf};
static int read_request___0(FILE *fh , struct credential *c___0 , struct strbuf *action ,
                            int *timeout___0 )
{
  char const   *p___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  strbuf_getline_lf(& item, fh);
  tmp___0 = skip_prefix((char const   *)item.buf, (char const   *)"action=", & p___0);
  if (! tmp___0) {
    error((char const   *)"client sent bogus action line: %s", item.buf);
    tmp = const_error();
    return (tmp);
  }
  strbuf_addstr(action, p___0);
  strbuf_getline_lf(& item, fh);
  tmp___2 = skip_prefix((char const   *)item.buf, (char const   *)"timeout=", & p___0);
  if (! tmp___2) {
    error((char const   *)"client sent bogus timeout line: %s", item.buf);
    tmp___1 = const_error();
    return (tmp___1);
  }
  *timeout___0 = atoi(p___0);
  tmp___3 = credential_read(c___0, fh);
  if (tmp___3 < 0) {
    return (-1);
  }
  return (0);
}
}
static void serve_one_client(FILE *in , FILE *out )
{
  struct credential c___0 ;
  struct strbuf action ;
  int timeout___0 ;
  struct credential_cache_entry *e ;
  struct credential_cache_entry *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  c___0.helpers.items = (struct string_list_item *)0;
  c___0.helpers.nr = 0U;
  c___0.helpers.alloc = 0U;
  c___0.helpers.strdup_strings = 1U;
  c___0.helpers.cmp = (int (*)(char const   * , char const   * ))0;
  c___0.approved = 0U;
  c___0.configured = 0U;
  c___0.quit = 0U;
  c___0.use_http_path = 0U;
  c___0.username_from_proto = 0U;
  c___0.username = (char *)0;
  c___0.password = (char *)0;
  c___0.protocol = (char *)0;
  c___0.host = (char *)0;
  c___0.path = (char *)0;
  action.alloc = 0UL;
  action.len = 0UL;
  action.buf = strbuf_slopbuf;
  timeout___0 = -1;
  tmp___5 = read_request___0(in, & c___0, & action, & timeout___0);
  if (! (tmp___5 < 0)) {
    tmp___4 = strcmp((char const   *)action.buf, (char const   *)"get");
    if (tmp___4) {
      tmp___3 = strcmp((char const   *)action.buf, (char const   *)"exit");
      if (tmp___3) {
        tmp___2 = strcmp((char const   *)action.buf, (char const   *)"erase");
        if (tmp___2) {
          tmp___1 = strcmp((char const   *)action.buf, (char const   *)"store");
          if (tmp___1) {
            warning((char const   *)"cache client sent unknown action: %s", action.buf);
          } else
          if (timeout___0 < 0) {
            warning((char const   *)"cache client didn\'t specify a timeout");
          } else
          if (! c___0.username) {
            warning((char const   *)"cache client gave us a partial credential");
          } else
          if (! c___0.password) {
            warning((char const   *)"cache client gave us a partial credential");
          } else {
            remove_credential((struct credential  const  *)(& c___0));
            cache_credential(& c___0, timeout___0);
          }
        } else {
          remove_credential((struct credential  const  *)(& c___0));
        }
      } else {
        tmp___0 = trace2_cmd_exit_fl((char const   *)"builtin/credential-cache--daemon.c",
                                     141, 0);
        exit(tmp___0);
      }
    } else {
      tmp = lookup_credential((struct credential  const  *)(& c___0));
      e = tmp;
      if (e) {
        fprintf(out, (char const   *)"username=%s\n", e->item.username);
        fprintf(out, (char const   *)"password=%s\n", e->item.password);
      }
    }
  }
  credential_clear(& c___0);
  strbuf_release(& action);
  return;
}
}
static int serve_cache_loop(int fd )
{
  struct pollfd pfd ;
  timestamp_t wakeup ;
  int *tmp ;
  int tmp___0 ;
  int client ;
  int client2 ;
  FILE *in ;
  FILE *out ;

  {
  wakeup = check_expirations();
  if (! wakeup) {
    return (0);
  }
  pfd.fd = fd;
  pfd.events = (short)1;
  tmp___0 = poll(& pfd, (nfds_t )1, (int )(1000UL * wakeup));
  if (tmp___0 < 0) {
    tmp = __errno_location();
    if (*tmp != 4) {
      die_errno((char const   *)"poll failed");
    }
    return (1);
  }
  if ((int )pfd.revents & 0x001) {
    client = accept(fd, (struct sockaddr * __restrict  )((void *)0), (socklen_t * __restrict  )((void *)0));
    if (client < 0) {
      warning_errno((char const   *)"accept failed");
      return (1);
    }
    client2 = dup(client);
    if (client2 < 0) {
      warning_errno((char const   *)"dup failed");
      close(client);
      return (1);
    }
    in = xfdopen(client, (char const   *)"r");
    out = xfdopen(client2, (char const   *)"w");
    serve_one_client(in, out);
    fclose(in);
    fclose(out);
  }
  return (1);
}
}
static void serve_cache(char const   *socket_path , int debug___2 )
{
  struct unix_stream_listen_opts opts___1 ;
  int fd ;
  FILE *tmp ;
  int tmp___0 ;

  {
  opts___1.listen_backlog_size = 0;
  opts___1.disallow_chdir = 0U;
  fd = unix_stream_listen(socket_path, (struct unix_stream_listen_opts  const  *)(& opts___1));
  if (fd < 0) {
    die_errno((char const   *)"unable to bind to \'%s\'", socket_path);
  }
  printf((char const   *)"ok\n");
  fclose(stdout);
  if (! debug___2) {
    tmp = freopen((char const   * __restrict  )"/dev/null", (char const   * __restrict  )"w",
                  (FILE * __restrict  )stderr);
    if (! tmp) {
      die_errno((char const   *)"unable to point stderr to /dev/null");
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = serve_cache_loop(fd);
    if (! tmp___0) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  close(fd);
  return;
}
}
static char const   permissions_advice[147]  =
  {      (char const   )'T',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'p',      (char const   )'e',      (char const   )'r',      (char const   )'m',
        (char const   )'i',      (char const   )'s',      (char const   )'s',      (char const   )'i',
        (char const   )'o',      (char const   )'n',      (char const   )'s',      (char const   )' ',
        (char const   )'o',      (char const   )'n',      (char const   )' ',      (char const   )'y',
        (char const   )'o',      (char const   )'u',      (char const   )'r',      (char const   )' ',
        (char const   )'s',      (char const   )'o',      (char const   )'c',      (char const   )'k',
        (char const   )'e',      (char const   )'t',      (char const   )' ',      (char const   )'d',
        (char const   )'i',      (char const   )'r',      (char const   )'e',      (char const   )'c',
        (char const   )'t',      (char const   )'o',      (char const   )'r',      (char const   )'y',
        (char const   )' ',      (char const   )'a',      (char const   )'r',      (char const   )'e',
        (char const   )' ',      (char const   )'t',      (char const   )'o',      (char const   )'o',
        (char const   )' ',      (char const   )'l',      (char const   )'o',      (char const   )'o',
        (char const   )'s',      (char const   )'e',      (char const   )';',      (char const   )' ',
        (char const   )'o',      (char const   )'t',      (char const   )'h',      (char const   )'e',
        (char const   )'r',      (char const   )'\n',      (char const   )'u',      (char const   )'s',
        (char const   )'e',      (char const   )'r',      (char const   )'s',      (char const   )' ',
        (char const   )'m',      (char const   )'a',      (char const   )'y',      (char const   )' ',
        (char const   )'b',      (char const   )'e',      (char const   )' ',      (char const   )'a',
        (char const   )'b',      (char const   )'l',      (char const   )'e',      (char const   )' ',
        (char const   )'t',      (char const   )'o',      (char const   )' ',      (char const   )'r',
        (char const   )'e',      (char const   )'a',      (char const   )'d',      (char const   )' ',
        (char const   )'y',      (char const   )'o',      (char const   )'u',      (char const   )'r',
        (char const   )' ',      (char const   )'c',      (char const   )'a',      (char const   )'c',
        (char const   )'h',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'c',      (char const   )'r',      (char const   )'e',      (char const   )'d',
        (char const   )'e',      (char const   )'n',      (char const   )'t',      (char const   )'i',
        (char const   )'a',      (char const   )'l',      (char const   )'s',      (char const   )'.',
        (char const   )' ',      (char const   )'C',      (char const   )'o',      (char const   )'n',
        (char const   )'s',      (char const   )'i',      (char const   )'d',      (char const   )'e',
        (char const   )'r',      (char const   )' ',      (char const   )'r',      (char const   )'u',
        (char const   )'n',      (char const   )'n',      (char const   )'i',      (char const   )'n',
        (char const   )'g',      (char const   )':',      (char const   )'\n',      (char const   )'\n',
        (char const   )'\t',      (char const   )'c',      (char const   )'h',      (char const   )'m',
        (char const   )'o',      (char const   )'d',      (char const   )' ',      (char const   )'0',
        (char const   )'7',      (char const   )'0',      (char const   )'0',      (char const   )' ',
        (char const   )'%',      (char const   )'s',      (char const   )'\000'};
static void init_socket_directory(char const   *path___6 )
{
  struct stat st ;
  char *path_copy ;
  char *tmp ;
  char *dir ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  enum scld_error tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp = xstrdup(path___6);
  path_copy = tmp;
  tmp___0 = dirname(path_copy);
  dir = tmp___0;
  tmp___4 = stat((char const   *)dir, & st);
  if (tmp___4) {
    tmp___2 = safe_create_leading_directories_const((char const   *)dir);
    if ((int )tmp___2 < 0) {
      die_errno((char const   *)"unable to create directories for \'%s\'", dir);
    }
    tmp___3 = mkdir((char const   *)dir, (__mode_t )0700);
    if (tmp___3 < 0) {
      die_errno((char const   *)"unable to mkdir \'%s\'", dir);
    }
  } else
  if (st.st_mode & 63U) {
    tmp___1 = _(permissions_advice);
    die((char const   *)tmp___1, dir);
  }
  chdir((char const   *)dir);
  free((void *)path_copy);
  return;
}
}
static char const   *usage___0[2]  = {      (char const   *)"git-credential-cache--daemon [opts] <socket_path>",      (char const   *)((void *)0)};
int cmd_credential_cache_daemon(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct tempfile *socket_file ;
  char const   *socket_path ;
  int ignore_sighup ;
  int debug___2 ;
  struct option options[2] ;
  int tmp ;

  {
  ignore_sighup = 0;
  debug___2 = 0;
  options[0].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[0].short_name = (int )0;
  options[0].long_name = (char const   *)((char const   *)"debug");
  options[0].value = (void *)((void *)(& debug___2));
  options[0].argh = (char const   *)((char const   *)((void *)0));
  options[0].help = (char const   *)((char const   *)"print debugging messages to stderr");
  options[0].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[0].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[0].defval = (intptr_t )((intptr_t )1);
  options[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[0].extra = (intptr_t )0L;
  options[1].type = (enum parse_opt_type )((enum parse_opt_type )0);
  options[1].short_name = (int )0;
  options[1].long_name = (char const   *)((char const   *)0);
  options[1].value = (void *)((void *)0);
  options[1].argh = (char const   *)((char const   *)0);
  options[1].help = (char const   *)((char const   *)0);
  options[1].flags = (enum parse_opt_option_flags )0U;
  options[1].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  options[1].defval = (intptr_t )0L;
  options[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[1].extra = (intptr_t )0L;
  git_config_get_bool((char const   *)"credentialcache.ignoresighup", & ignore_sighup);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       (char const   **)(usage___0), (enum parse_opt_flags )0);
  socket_path = *(argv___0 + 0);
  if (! socket_path) {
    usage_with_options((char const   **)(usage___0), (struct option  const  *)(options));
  }
  tmp = is_absolute_path(socket_path);
  if (! tmp) {
    die((char const   *)"socket directory must be an absolute path");
  }
  init_socket_directory(socket_path);
  socket_file = register_tempfile(socket_path);
  if (ignore_sighup) {
    signal(1, (void (*)(int  ))1);
  }
  serve_cache(socket_path, debug___2);
  delete_tempfile(& socket_file);
  return (0);
}
}
static int connection_closed(int error___0 )
{


  {
  return (error___0 == 104);
}
}
static int connection_fatally_broken(int error___0 )
{
  int tmp ;

  {
  if (error___0 != 2) {
    if (error___0 != 111) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static int send_request___0(char const   *socket___0 , struct strbuf  const  *out )
{
  int got_data ;
  int fd ;
  int tmp ;
  ssize_t tmp___0 ;
  char in[1024] ;
  int r ;
  ssize_t tmp___1 ;
  int *tmp___2 ;
  int tmp___3 ;

  {
  got_data = 0;
  tmp = unix_stream_connect(socket___0, 0);
  fd = tmp;
  if (fd < 0) {
    return (-1);
  }
  tmp___0 = write_in_full(fd, (void const   *)out->buf, (size_t )out->len);
  if (tmp___0 < 0L) {
    die_errno((char const   *)"unable to write to cache daemon");
  }
  shutdown(fd, 1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = read_in_full(fd, (void *)(in), sizeof(in));
    r = (int )tmp___1;
    if (r == 0) {
      goto while_break;
    } else
    if (r < 0) {
      tmp___2 = __errno_location();
      tmp___3 = connection_closed(*tmp___2);
      if (tmp___3) {
        goto while_break;
      }
    }
    if (r < 0) {
      die_errno((char const   *)"read error from cache daemon");
    }
    write_or_die(1, (void const   *)(in), (size_t )r);
    got_data = 1;
  }
  while_break: /* CIL Label */ ;
  }
  close(fd);
  return (got_data);
}
}
static void spawn_daemon(char const   *socket___0 )
{
  struct child_process daemon___0 ;
  char buf___19[128] ;
  int r ;
  int tmp ;
  ssize_t tmp___0 ;
  int tmp___1 ;

  {
  daemon___0.args.v = empty_strvec;
  daemon___0.args.nr = 0UL;
  daemon___0.args.alloc = 0UL;
  daemon___0.env_array.v = empty_strvec;
  daemon___0.env_array.nr = 0UL;
  daemon___0.env_array.alloc = 0UL;
  daemon___0.pid = 0;
  daemon___0.trace2_child_id = 0;
  daemon___0.trace2_child_us_start = 0UL;
  daemon___0.trace2_child_class = (char const   *)0;
  daemon___0.trace2_hook_name = (char const   *)0;
  daemon___0.in = 0;
  daemon___0.out = 0;
  daemon___0.err = 0;
  daemon___0.dir = (char const   *)0;
  daemon___0.no_stdin = 0U;
  daemon___0.no_stdout = 0U;
  daemon___0.no_stderr = 0U;
  daemon___0.git_cmd = 0U;
  daemon___0.silent_exec_failure = 0U;
  daemon___0.use_shell = 0U;
  daemon___0.close_object_store = 0U;
  daemon___0.stdout_to_stderr = 0U;
  daemon___0.clean_on_exit = 0U;
  daemon___0.wait_after_clean = 0U;
  daemon___0.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  daemon___0.clean_on_exit_handler_cbdata = (void *)0;
  strvec_pushl(& daemon___0.args, "credential-cache--daemon", socket___0, (void *)0);
  daemon___0.git_cmd = 1U;
  daemon___0.no_stdin = 1U;
  daemon___0.out = -1;
  tmp = start_command(& daemon___0);
  if (tmp) {
    die_errno((char const   *)"unable to start cache daemon");
  }
  tmp___0 = read_in_full(daemon___0.out, (void *)(buf___19), sizeof(buf___19));
  r = (int )tmp___0;
  if (r < 0) {
    die_errno((char const   *)"unable to read result code from cache daemon");
  }
  if (r != 3) {
    die((char const   *)"cache daemon did not start: %.*s", r, buf___19);
  } else {
    tmp___1 = memcmp((void const   *)(buf___19), (void const   *)"ok\n", (size_t )3);
    if (tmp___1) {
      die((char const   *)"cache daemon did not start: %.*s", r, buf___19);
    }
  }
  close(daemon___0.out);
  return;
}
}
static void do_cache(char const   *socket___0 , char const   *action , int timeout___0 ,
                     int flags___0 )
{
  struct strbuf buf___19 ;
  ssize_t tmp ;
  int *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  strbuf_addf(& buf___19, (char const   *)"action=%s\n", action);
  strbuf_addf(& buf___19, (char const   *)"timeout=%d\n", timeout___0);
  if (flags___0 & 0x2) {
    tmp = strbuf_read(& buf___19, 0, (size_t )0);
    if (tmp < 0L) {
      die_errno((char const   *)"unable to relay credential");
    }
  }
  tmp___3 = send_request___0(socket___0, (struct strbuf  const  *)(& buf___19));
  if (tmp___3 < 0) {
    tmp___0 = __errno_location();
    tmp___1 = connection_fatally_broken(*tmp___0);
    if (tmp___1) {
      die_errno((char const   *)"unable to connect to cache daemon");
    }
    if (flags___0 & 0x1) {
      spawn_daemon(socket___0);
      tmp___2 = send_request___0(socket___0, (struct strbuf  const  *)(& buf___19));
      if (tmp___2 < 0) {
        die_errno((char const   *)"unable to connect to cache daemon");
      }
    }
  }
  strbuf_release(& buf___19);
  return;
}
}
static char *get_socket_path(void)
{
  struct stat sb___6 ;
  char *old_dir ;
  char *socket___0 ;
  int tmp ;

  {
  old_dir = interpolate_path((char const   *)"~/.git-credential-cache", 0);
  if (old_dir) {
    tmp = stat((char const   *)old_dir, & sb___6);
    if (tmp) {
      socket___0 = xdg_cache_home((char const   *)"credential/socket");
    } else
    if ((sb___6.st_mode & 61440U) == 16384U) {
      socket___0 = xstrfmt((char const   *)"%s/socket", old_dir);
    } else {
      socket___0 = xdg_cache_home((char const   *)"credential/socket");
    }
  } else {
    socket___0 = xdg_cache_home((char const   *)"credential/socket");
  }
  free((void *)old_dir);
  return (socket___0);
}
}
int cmd_credential_cache(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char *socket_path ;
  int timeout___0 ;
  char const   *op ;
  char const   *usage___2[2] ;
  struct option options[3] ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  socket_path = (char *)((void *)0);
  timeout___0 = 900;
  usage___2[0] = (char const   *)"git credential-cache [<options>] <action>";
  usage___2[1] = (char const   *)((void *)0);
  options[0].type = (enum parse_opt_type )10;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"timeout";
  options[0].value = (void *)(& timeout___0);
  options[0].argh = (char const   *)"n";
  options[0].help = (char const   *)"number of seconds to cache credentials";
  options[0].flags = (enum parse_opt_option_flags )0;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )9;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"socket";
  options[1].value = (void *)(& socket_path);
  options[1].argh = (char const   *)"path";
  options[1].help = (char const   *)"path of cache-daemon socket";
  options[1].flags = (enum parse_opt_option_flags )0;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )0;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)0;
  options[2].value = (void *)0;
  options[2].argh = (char const   *)0;
  options[2].help = (char const   *)0;
  options[2].flags = 0U;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       usage___2, (enum parse_opt_flags )0);
  if (! argc) {
    usage_with_options(usage___2, (struct option  const  *)(options));
  }
  op = *(argv___0 + 0);
  if (! socket_path) {
    socket_path = get_socket_path();
  }
  if (! socket_path) {
    die((char const   *)"unable to find a suitable socket path; use --socket");
  }
  tmp___2 = strcmp(op, (char const   *)"exit");
  if (tmp___2) {
    tmp___0 = strcmp(op, (char const   *)"get");
    if (tmp___0) {
      tmp___1 = strcmp(op, (char const   *)"erase");
      if (tmp___1) {
        tmp = strcmp(op, (char const   *)"store");
        if (! tmp) {
          do_cache((char const   *)socket_path, op, timeout___0, 3);
        }
      } else {
        do_cache((char const   *)socket_path, op, timeout___0, 0x2);
      }
    } else {
      do_cache((char const   *)socket_path, op, timeout___0, 0x2);
    }
  } else {
    do_cache((char const   *)socket_path, op, timeout___0, 0);
  }
  return (0);
}
}
static struct lock_file credential_lock  ;
static int parse_credential_file(char const   *fn , struct credential *c___0 , void (*match_cb)(struct credential * ) ,
                                 void (*other_cb)(struct strbuf * ) )
{
  FILE *fh ;
  struct strbuf line___0 ;
  struct credential entry ;
  int found_credential ;
  int *tmp ;
  int *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  entry.helpers.items = (struct string_list_item *)0;
  entry.helpers.nr = 0U;
  entry.helpers.alloc = 0U;
  entry.helpers.strdup_strings = 1U;
  entry.helpers.cmp = (int (*)(char const   * , char const   * ))0;
  entry.approved = 0U;
  entry.configured = 0U;
  entry.quit = 0U;
  entry.use_http_path = 0U;
  entry.username_from_proto = 0U;
  entry.username = (char *)0;
  entry.password = (char *)0;
  entry.protocol = (char *)0;
  entry.host = (char *)0;
  entry.path = (char *)0;
  found_credential = 0;
  fh = git_fopen(fn, (char const   *)"r");
  if (! fh) {
    tmp = __errno_location();
    if (*tmp != 2) {
      tmp___0 = __errno_location();
      if (*tmp___0 != 13) {
        die_errno((char const   *)"unable to open %s", fn);
      }
    }
    return (found_credential);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = strbuf_getline_lf(& line___0, fh);
    if (! (tmp___3 != -1)) {
      goto while_break;
    }
    tmp___1 = credential_from_url_gently(& entry, (char const   *)line___0.buf, 1);
    if (tmp___1) {
      _L___1: /* CIL Label */
      _L___0: /* CIL Label */
      _L: /* CIL Label */
      if (other_cb) {
        (*other_cb)(& line___0);
      }
    } else
    if (entry.username) {
      if (entry.password) {
        tmp___2 = credential_match((struct credential  const  *)c___0, (struct credential  const  *)(& entry));
        if (tmp___2) {
          found_credential = 1;
          if (match_cb) {
            (*match_cb)(& entry);
            goto while_break;
          }
        } else {
          goto _L___1;
        }
      } else {
        goto _L___1;
      }
    } else {
      goto _L___1;
    }
  }
  while_break: /* CIL Label */ ;
  }
  credential_clear(& entry);
  strbuf_release(& line___0);
  fclose(fh);
  return (found_credential);
}
}
static void print_entry(struct credential *c___0 )
{


  {
  printf((char const   *)"username=%s\n", c___0->username);
  printf((char const   *)"password=%s\n", c___0->password);
  return;
}
}
static void print_line___0(struct strbuf *buf___19 )
{
  int tmp ;

  {
  strbuf_addch(buf___19, '\n');
  tmp = get_lock_file_fd(& credential_lock);
  write_or_die(tmp, (void const   *)buf___19->buf, buf___19->len);
  return;
}
}
static void rewrite_credential_file(char const   *fn , struct credential *c___0 ,
                                    struct strbuf *extra___2 )
{
  int timeout_ms___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  timeout_ms___0 = 1000;
  git_config_get_int((char const   *)"credentialstore.locktimeoutms", & timeout_ms___0);
  tmp___0 = hold_lock_file_for_update_timeout(& credential_lock, fn, 0, (long )timeout_ms___0);
  if (tmp___0 < 0) {
    tmp = _((char const   *)"unable to get credential storage lock in %d ms");
    die_errno((char const   *)tmp, timeout_ms___0);
  }
  if (extra___2) {
    print_line___0(extra___2);
  }
  parse_credential_file(fn, c___0, (void (*)(struct credential * ))((void *)0), & print_line___0);
  tmp___1 = commit_lock_file(& credential_lock);
  if (tmp___1 < 0) {
    die_errno((char const   *)"unable to write credential store");
  }
  return;
}
}
static void store_credential_file(char const   *fn , struct credential *c___0 )
{
  struct strbuf buf___19 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  strbuf_addf(& buf___19, (char const   *)"%s://", c___0->protocol);
  strbuf_addstr_urlencode(& buf___19, (char const   *)c___0->username, & is_rfc3986_unreserved);
  strbuf_addch(& buf___19, ':');
  strbuf_addstr_urlencode(& buf___19, (char const   *)c___0->password, & is_rfc3986_unreserved);
  strbuf_addch(& buf___19, '@');
  if (c___0->host) {
    strbuf_addstr_urlencode(& buf___19, (char const   *)c___0->host, & is_rfc3986_unreserved);
  }
  if (c___0->path) {
    strbuf_addch(& buf___19, '/');
    strbuf_addstr_urlencode(& buf___19, (char const   *)c___0->path, & is_rfc3986_reserved_or_unreserved);
  }
  rewrite_credential_file(fn, c___0, & buf___19);
  strbuf_release(& buf___19);
  return;
}
}
static void store_credential(struct string_list  const  *fns , struct credential *c___0 )
{
  struct string_list_item *fn ;
  int tmp ;

  {
  if (! c___0->protocol) {
    return;
  } else
  if (c___0->host) {
    goto _L;
  } else
  if (c___0->path) {
    _L: /* CIL Label */
    if (! c___0->username) {
      return;
    } else
    if (! c___0->password) {
      return;
    }
  } else {
    return;
  }
  fn = (struct string_list_item *)fns->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (fn) {
      if (! ((unsigned long )fn < (unsigned long )(fns->items + fns->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = access((char const   *)fn->string, 0);
    if (! tmp) {
      store_credential_file((char const   *)fn->string, c___0);
      return;
    }
    fn ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (fns->nr) {
    store_credential_file((char const   *)(fns->items + 0)->string, c___0);
  }
  return;
}
}
static void remove_credential___0(struct string_list  const  *fns , struct credential *c___0 )
{
  struct string_list_item *fn ;
  int tmp ;

  {
  if (! c___0->protocol) {
    if (! c___0->host) {
      if (! c___0->path) {
        if (! c___0->username) {
          return;
        }
      }
    }
  }
  fn = (struct string_list_item *)fns->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (fn) {
      if (! ((unsigned long )fn < (unsigned long )(fns->items + fns->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = access((char const   *)fn->string, 0);
    if (! tmp) {
      rewrite_credential_file((char const   *)fn->string, c___0, (struct strbuf *)((void *)0));
    }
    fn ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void lookup_credential___0(struct string_list  const  *fns , struct credential *c___0 )
{
  struct string_list_item *fn ;
  int tmp ;

  {
  fn = (struct string_list_item *)fns->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (fn) {
      if (! ((unsigned long )fn < (unsigned long )(fns->items + fns->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = parse_credential_file((char const   *)fn->string, c___0, & print_entry,
                                (void (*)(struct strbuf * ))((void *)0));
    if (tmp) {
      return;
    }
    fn ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int cmd_credential_store(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char const   *usage___2[2] ;
  char const   *op ;
  struct credential c___0 ;
  struct string_list fns ;
  char *file___0 ;
  struct option options[2] ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  usage___2[0] = (char const   *)"git credential-store [<options>] <action>";
  usage___2[1] = (char const   *)((void *)0);
  c___0.helpers.items = (struct string_list_item *)0;
  c___0.helpers.nr = 0U;
  c___0.helpers.alloc = 0U;
  c___0.helpers.strdup_strings = 1U;
  c___0.helpers.cmp = (int (*)(char const   * , char const   * ))0;
  c___0.approved = 0U;
  c___0.configured = 0U;
  c___0.quit = 0U;
  c___0.use_http_path = 0U;
  c___0.username_from_proto = 0U;
  c___0.username = (char *)0;
  c___0.password = (char *)0;
  c___0.protocol = (char *)0;
  c___0.host = (char *)0;
  c___0.path = (char *)0;
  fns.items = (struct string_list_item *)0;
  fns.nr = 0U;
  fns.alloc = 0U;
  fns.strdup_strings = 1U;
  fns.cmp = (int (*)(char const   * , char const   * ))0;
  file___0 = (char *)((void *)0);
  options[0].type = (enum parse_opt_type )9;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"file";
  options[0].value = (void *)(& file___0);
  options[0].argh = (char const   *)"path";
  options[0].help = (char const   *)"fetch and store credentials in <path>";
  options[0].flags = (enum parse_opt_option_flags )0;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )0;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)0;
  options[1].value = (void *)0;
  options[1].argh = (char const   *)0;
  options[1].help = (char const   *)0;
  options[1].flags = 0U;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  umask((__mode_t )077);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       usage___2, (enum parse_opt_flags )0);
  if (argc != 1) {
    usage_with_options(usage___2, (struct option  const  *)(options));
  }
  op = *(argv___0 + 0);
  if (file___0) {
    string_list_append(& fns, (char const   *)file___0);
  } else {
    file___0 = interpolate_path((char const   *)"~/.git-credentials", 0);
    if (file___0) {
      string_list_append_nodup(& fns, file___0);
    }
    file___0 = xdg_config_home((char const   *)"credentials");
    if (file___0) {
      string_list_append_nodup(& fns, file___0);
    }
  }
  if (! fns.nr) {
    die((char const   *)"unable to set up default path; use --file");
  }
  tmp = credential_read(& c___0, stdin);
  if (tmp < 0) {
    die((char const   *)"unable to read credential");
  }
  tmp___2 = strcmp(op, (char const   *)"get");
  if (tmp___2) {
    tmp___1 = strcmp(op, (char const   *)"erase");
    if (tmp___1) {
      tmp___0 = strcmp(op, (char const   *)"store");
      if (! tmp___0) {
        store_credential((struct string_list  const  *)(& fns), & c___0);
      }
    } else {
      remove_credential___0((struct string_list  const  *)(& fns), & c___0);
    }
  } else {
    lookup_credential___0((struct string_list  const  *)(& fns), & c___0);
  }
  string_list_clear(& fns, 0);
  return (0);
}
}
static char const   usage_msg[37]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'c',      (char const   )'r',      (char const   )'e',      (char const   )'d',
        (char const   )'e',      (char const   )'n',      (char const   )'t',      (char const   )'i',
        (char const   )'a',      (char const   )'l',      (char const   )' ',      (char const   )'(',
        (char const   )'f',      (char const   )'i',      (char const   )'l',      (char const   )'l',
        (char const   )'|',      (char const   )'a',      (char const   )'p',      (char const   )'p',
        (char const   )'r',      (char const   )'o',      (char const   )'v',      (char const   )'e',
        (char const   )'|',      (char const   )'r',      (char const   )'e',      (char const   )'j',
        (char const   )'e',      (char const   )'c',      (char const   )'t',      (char const   )')',
        (char const   )'\000'};
int cmd_credential(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char const   *op ;
  struct credential c___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  c___0.helpers.items = (struct string_list_item *)0;
  c___0.helpers.nr = 0U;
  c___0.helpers.alloc = 0U;
  c___0.helpers.strdup_strings = 1U;
  c___0.helpers.cmp = (int (*)(char const   * , char const   * ))0;
  c___0.approved = 0U;
  c___0.configured = 0U;
  c___0.quit = 0U;
  c___0.use_http_path = 0U;
  c___0.username_from_proto = 0U;
  c___0.username = (char *)0;
  c___0.password = (char *)0;
  c___0.protocol = (char *)0;
  c___0.host = (char *)0;
  c___0.path = (char *)0;
  git_config(& git_default_config, (void *)0);
  if (argc != 2) {
    usage(usage_msg);
  } else {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage(usage_msg);
    }
  }
  op = *(argv___0 + 1);
  tmp___0 = credential_read(& c___0, stdin);
  if (tmp___0 < 0) {
    die((char const   *)"unable to read credential from stdin");
  }
  tmp___3 = strcmp(op, (char const   *)"fill");
  if (tmp___3) {
    tmp___2 = strcmp(op, (char const   *)"approve");
    if (tmp___2) {
      tmp___1 = strcmp(op, (char const   *)"reject");
      if (tmp___1) {
        usage(usage_msg);
      } else {
        credential_reject(& c___0);
      }
    } else {
      credential_approve(& c___0);
    }
  } else {
    credential_fill(& c___0);
    credential_write((struct credential  const  *)(& c___0), stdout);
  }
  return (0);
}
}
static double const   __ac_HASH_UPPER___115  =    (double const   )0.77;
__inline static void kh_resize_oid_set___115(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___115(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___115 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___115 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___115(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___115(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___115(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___115(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___115(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___115(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___115 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___115 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___115(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___115(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___115(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___115(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___115(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___115(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___115 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___115 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___115(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___115(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___115(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___115(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___87(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___87(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___115 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___115 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___87(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___87(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___87(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___87(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_commit_names_with_stride(struct commit_names *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_commit_names_with_stride(struct commit_names *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(struct commit_name *) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (struct commit_name ***)((void *)0);
  return;
}
}
static void init_commit_names(struct commit_names *s___1 )  __attribute__((__unused__)) ;
static void init_commit_names(struct commit_names *s___1 )
{


  {
  init_commit_names_with_stride(s___1, 1U);
  return;
}
}
static void clear_commit_names(struct commit_names *s___1 )  __attribute__((__unused__)) ;
static void clear_commit_names(struct commit_names *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (struct commit_name ***)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_commit_names(struct commit_names *s___1 , void (*free_fn)(struct commit_name ** ) )  __attribute__((__unused__)) ;
static void deep_clear_commit_names(struct commit_names *s___1 , void (*free_fn)(struct commit_name ** ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_commit_names(s___1);
  return;
}
}
static struct commit_name **commit_names_at_peek(struct commit_names *s___1 , struct commit  const  *c___0 ,
                                                 int add_if_missing )  __attribute__((__unused__)) ;
static struct commit_name **commit_names_at_peek(struct commit_names *s___1 , struct commit  const  *c___0 ,
                                                 int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((struct commit_name **)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (struct commit_name ***)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (struct commit_name **)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((struct commit_name **)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (struct commit_name **)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static struct commit_name **commit_names_at(struct commit_names *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct commit_name **commit_names_at(struct commit_names *s___1 , struct commit  const  *c___0 )
{
  struct commit_name **tmp ;

  {
  tmp = commit_names_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static struct commit_name **commit_names_peek(struct commit_names *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct commit_name **commit_names_peek(struct commit_names *s___1 , struct commit  const  *c___0 )
{
  struct commit_name **tmp ;

  {
  tmp = commit_names_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
static char const   *describe_usage[3]  = {      (char const   *)"git describe [<options>] [<commit-ish>...]",      (char const   *)"git describe [<options>] --dirty",      (char const   *)((void *)0)};
static int debug___1  ;
static int all___0  ;
static int tags  ;
static int longformat  ;
static int first_parent  ;
static int abbrev___0  =    -1;
static int max_candidates  =    10;
static struct hashmap names  ;
static int have_util  ;
static struct string_list patterns  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static struct string_list exclude_patterns  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static int always  ;
static char const   *suffix___2  ;
static char const   *dirty  ;
static char const   *broken  ;
static struct commit_names commit_names  ;
static char const   *diff_index_args[5]  = {      (char const   *)"diff-index",      (char const   *)"--quiet",      (char const   *)"HEAD",      (char const   *)"--",
        (char const   *)((void *)0)};
static char const   *prio_names[3]  = {      (char const   *)"head",      (char const   *)"lightweight",      (char const   *)"annotated"};
static int commit_name_neq(void const   *unused_cmp_data , struct hashmap_entry  const  *eptr ,
                           struct hashmap_entry  const  *entry_or_key , void const   *peeled )
{
  struct commit_name  const  *cn1 ;
  struct commit_name  const  *cn2 ;
  void *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  cn1 = (struct commit_name  const  *)((char *)eptr - (unsigned long )(& ((struct commit_name  const  *)0)->entry));
  cn2 = (struct commit_name  const  *)((char *)entry_or_key - (unsigned long )(& ((struct commit_name  const  *)0)->entry));
  if (peeled) {
    tmp = (void *)peeled;
  } else {
    tmp = (void *)(& cn2->peeled);
  }
  tmp___0 = oideq((struct object_id  const  *)(& cn1->peeled), (struct object_id  const  *)tmp);
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  return (tmp___1);
}
}
__inline static struct commit_name *find_commit_name(struct object_id  const  *peeled )
{
  unsigned int tmp ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;

  {
  tmp = oidhash(peeled);
  tmp___0 = hashmap_get_from_hash((struct hashmap  const  *)(& names), tmp, (void const   *)peeled);
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct commit_name *)0)->entry));
  return ((struct commit_name *)tmp___1);
}
}
static int replace_name(struct commit_name *e , int prio , struct object_id  const  *oid ,
                        struct tag **tag )
{
  struct tag *t ;
  int tmp ;
  int tmp___0 ;

  {
  if (! e) {
    return (1);
  } else
  if (e->prio < (unsigned int )prio) {
    return (1);
  }
  if (e->prio == 2U) {
    if (prio == 2) {
      if (! e->tag) {
        t = lookup_tag(the_repository, (struct object_id  const  *)(& e->oid));
        if (! t) {
          return (1);
        } else {
          tmp = parse_tag(t);
          if (tmp) {
            return (1);
          }
        }
        e->tag = t;
      }
      t = lookup_tag(the_repository, oid);
      if (! t) {
        return (0);
      } else {
        tmp___0 = parse_tag(t);
        if (tmp___0) {
          return (0);
        }
      }
      *tag = t;
      if ((e->tag)->date < t->date) {
        return (1);
      }
    }
  }
  return (0);
}
}
static void add_to_known_names(char const   *path___6 , struct object_id  const  *peeled ,
                               int prio , struct object_id  const  *oid )
{
  struct commit_name *e ;
  struct commit_name *tmp ;
  struct tag *tag ;
  void *tmp___0 ;
  unsigned int tmp___1 ;
  int tmp___2 ;

  {
  tmp = find_commit_name(peeled);
  e = tmp;
  tag = (struct tag *)((void *)0);
  tmp___2 = replace_name(e, prio, oid, & tag);
  if (tmp___2) {
    if (! e) {
      tmp___0 = xmalloc(sizeof(struct commit_name ));
      e = (struct commit_name *)tmp___0;
      oidcpy(& e->peeled, peeled);
      tmp___1 = oidhash(peeled);
      hashmap_entry_init(& e->entry, tmp___1);
      hashmap_add(& names, & e->entry);
      e->path = (char *)((void *)0);
    }
    e->tag = tag;
    e->prio = (unsigned int )prio;
    e->name_checked = 0U;
    e->misnamed = 0U;
    oidcpy(& e->oid, oid);
    free((void *)e->path);
    e->path = xstrdup(path___6);
  }
  return;
}
}
static int get_name(char const   *path___6 , struct object_id  const  *oid , int flag ,
                    void *cb_data )
{
  int is_tag ;
  struct object_id peeled ;
  int is_annotated ;
  int prio ;
  char const   *path_to_match ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct string_list_item *item___0 ;
  int tmp___2 ;
  int found ;
  struct string_list_item *item___1 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const   *tmp___7 ;

  {
  is_tag = 0;
  path_to_match = (char const   *)((void *)0);
  tmp___1 = skip_prefix(path___6, (char const   *)"refs/tags/", & path_to_match);
  if (tmp___1) {
    is_tag = 1;
  } else
  if (all___0) {
    if (exclude_patterns.nr) {
      goto _L;
    } else
    if (patterns.nr) {
      _L: /* CIL Label */
      tmp = skip_prefix(path___6, (char const   *)"refs/heads/", & path_to_match);
      if (! tmp) {
        tmp___0 = skip_prefix(path___6, (char const   *)"refs/remotes/", & path_to_match);
        if (! tmp___0) {
          return (0);
        }
      }
    }
  } else {
    return (0);
  }
  if (exclude_patterns.nr) {
    item___0 = exclude_patterns.items;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(exclude_patterns.items + exclude_patterns.nr))) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      tmp___2 = wildmatch((char const   *)item___0->string, path_to_match, 0U);
      if (! tmp___2) {
        return (0);
      }
      item___0 ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (patterns.nr) {
    found = 0;
    item___1 = patterns.items;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (item___1) {
        if (! ((unsigned long )item___1 < (unsigned long )(patterns.items + patterns.nr))) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      tmp___3 = wildmatch((char const   *)item___1->string, path_to_match, 0U);
      if (! tmp___3) {
        found = 1;
        goto while_break___0;
      }
      item___1 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! found) {
      return (0);
    }
  }
  tmp___6 = peel_iterated_oid(oid, & peeled);
  if (tmp___6) {
    oidcpy(& peeled, oid);
    is_annotated = 0;
  } else {
    tmp___4 = oideq(oid, (struct object_id  const  *)(& peeled));
    if (tmp___4) {
      tmp___5 = 0;
    } else {
      tmp___5 = 1;
    }
    is_annotated = tmp___5;
  }
  if (is_annotated) {
    prio = 2;
  } else
  if (is_tag) {
    prio = 1;
  } else {
    prio = 0;
  }
  if (all___0) {
    tmp___7 = path___6 + 5;
  } else {
    tmp___7 = path___6 + 10;
  }
  add_to_known_names(tmp___7, (struct object_id  const  *)(& peeled), prio, oid);
  return (0);
}
}
static int compare_pt(void const   *a_ , void const   *b_ )
{
  struct possible_tag *a ;
  struct possible_tag *b___0 ;

  {
  a = (struct possible_tag *)a_;
  b___0 = (struct possible_tag *)b_;
  if (a->depth != b___0->depth) {
    return (a->depth - b___0->depth);
  }
  if (a->found_order != b___0->found_order) {
    return (a->found_order - b___0->found_order);
  }
  return (0);
}
}
static unsigned long finish_depth_computation(struct commit_list **list___3 , struct possible_tag *best )
{
  unsigned long seen_commits ;
  struct commit *c___0 ;
  struct commit *tmp ;
  struct commit_list *parents ;
  struct commit_list *a ;
  struct commit *i ;
  struct commit *p___0 ;

  {
  seen_commits = 0UL;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *list___3) {
      goto while_break;
    }
    tmp = pop_commit(list___3);
    c___0 = tmp;
    parents = c___0->parents;
    seen_commits ++;
    if (c___0->object.flags & best->flag_within) {
      a = *list___3;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! a) {
          goto while_break___0;
        }
        i = a->item;
        if (! (i->object.flags & best->flag_within)) {
          goto while_break___0;
        }
        a = a->next;
      }
      while_break___0: /* CIL Label */ ;
      }
      if (! a) {
        goto while_break;
      }
    } else {
      (best->depth) ++;
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! parents) {
        goto while_break___1;
      }
      p___0 = parents->item;
      repo_parse_commit(the_repository, p___0);
      if (! (p___0->object.flags & 1u)) {
        commit_list_insert_by_date(p___0, list___3);
      }
      p___0->object.flags |= c___0->object.flags;
      parents = parents->next;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (seen_commits);
}
}
static void append_name(struct commit_name *n , struct strbuf *dst )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;

  {
  if (n->prio == 2U) {
    if (! n->tag) {
      n->tag = lookup_tag(the_repository, (struct object_id  const  *)(& n->oid));
      if (! n->tag) {
        tmp = _((char const   *)"annotated tag %s not available");
        die((char const   *)tmp, n->path);
      } else {
        tmp___0 = parse_tag(n->tag);
        if (tmp___0) {
          tmp = _((char const   *)"annotated tag %s not available");
          die((char const   *)tmp, n->path);
        }
      }
    }
  }
  if (n->tag) {
    if (! n->name_checked) {
      if (all___0) {
        tmp___2 = n->path + 5;
      } else {
        tmp___2 = n->path;
      }
      tmp___3 = strcmp((char const   *)(n->tag)->tag, (char const   *)tmp___2);
      if (tmp___3) {
        tmp___1 = _((char const   *)"tag \'%s\' is externally known as \'%s\'");
        warning((char const   *)tmp___1, n->path, (n->tag)->tag);
        n->misnamed = 1U;
      }
      n->name_checked = 1U;
    }
  }
  if (n->tag) {
    if (all___0) {
      strbuf_addstr(dst, (char const   *)"tags/");
    }
    strbuf_addstr(dst, (char const   *)(n->tag)->tag);
  } else {
    strbuf_addstr(dst, (char const   *)n->path);
  }
  return;
}
}
static void append_suffix(int depth___1 , struct object_id  const  *oid , struct strbuf *dst )
{
  char const   *tmp ;

  {
  tmp = repo_find_unique_abbrev(the_repository, oid, abbrev___0);
  strbuf_addf(dst, (char const   *)"-%d-g%s", depth___1, tmp);
  return;
}
}
static void describe_commit(struct object_id *oid , struct strbuf *dst ) ;
static int label_width___1  =    -1;
static void describe_commit(struct object_id *oid , struct strbuf *dst )
{
  struct commit *cmit ;
  struct commit *gave_up_on ;
  struct commit_list *list___3 ;
  struct commit_name *n ;
  struct possible_tag all_matches[27] ;
  unsigned int match_cnt ;
  unsigned int annotated_cnt ;
  unsigned int cur_match ;
  unsigned long seen_commits ;
  unsigned int unannotated_cnt ;
  struct object_id *tmp ;
  struct object_id *tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  struct hashmap_iter iter___0 ;
  struct commit *c___0 ;
  struct commit_name *n___0 ;
  struct hashmap_entry *tmp___4 ;
  void *tmp___5 ;
  struct hashmap_entry *tmp___6 ;
  void *tmp___7 ;
  struct commit_name **tmp___8 ;
  struct commit *c___1 ;
  struct commit *tmp___9 ;
  struct commit_list *parents ;
  struct commit_name **slot ;
  struct possible_tag *t ;
  unsigned int tmp___10 ;
  struct possible_tag *t___0 ;
  int best_depth ;
  unsigned int best_within ;
  struct possible_tag *t___1 ;
  char *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  struct commit *p___0 ;
  struct object_id *cmit_oid ;
  char *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  unsigned long tmp___17 ;
  int i ;
  int w ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  size_t tmp___19 ;
  struct possible_tag *t___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  char const __attribute__((__format_arg__(1)))  *tmp___21 ;
  char *tmp___22 ;
  char const __attribute__((__format_arg__(1)))  *tmp___23 ;

  {
  gave_up_on = (struct commit *)((void *)0);
  match_cnt = 0U;
  annotated_cnt = 0U;
  seen_commits = 0UL;
  unannotated_cnt = 0U;
  cmit = lookup_commit_reference(the_repository, (struct object_id  const  *)oid);
  n = find_commit_name((struct object_id  const  *)(& cmit->object.oid));
  if (n) {
    if (tags) {
      goto _L___0;
    } else
    if (all___0) {
      goto _L___0;
    } else
    if (n->prio == 2U) {
      _L___0: /* CIL Label */
      append_name(n, dst);
      if (n->misnamed) {
        goto _L;
      } else
      if (longformat) {
        _L: /* CIL Label */
        if (n->tag) {
          tmp = get_tagged_oid(n->tag);
          tmp___0 = tmp;
        } else {
          tmp___0 = oid;
        }
        append_suffix(0, (struct object_id  const  *)tmp___0, dst);
      }
      if (suffix___2) {
        strbuf_addstr(dst, suffix___2);
      }
      return;
    }
  }
  if (! max_candidates) {
    tmp___1 = oid_to_hex((struct object_id  const  *)(& cmit->object.oid));
    tmp___2 = _((char const   *)"no tag exactly matches \'%s\'");
    die((char const   *)tmp___2, tmp___1);
  }
  if (debug___1) {
    tmp___3 = _((char const   *)"No exact match on refs or tags, searching to describe\n");
    fprintf(stderr, (char const   *)tmp___3);
  }
  if (! have_util) {
    init_commit_names(& commit_names);
    n___0 = (struct commit_name *)((void *)0);
    tmp___4 = hashmap_iter_first(& names, & iter___0);
    tmp___5 = container_of_or_null_offset((void *)tmp___4, (unsigned long )(& ((struct commit_name *)0)->entry));
    n___0 = (struct commit_name *)tmp___5;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! n___0) {
        goto while_break;
      }
      c___0 = lookup_commit_reference_gently(the_repository, (struct object_id  const  *)(& n___0->peeled),
                                             1);
      if (c___0) {
        tmp___8 = commit_names_at(& commit_names, (struct commit  const  *)c___0);
        *tmp___8 = n___0;
      }
      tmp___6 = hashmap_iter_next(& iter___0);
      tmp___7 = container_of_or_null_offset((void *)tmp___6, (unsigned long )(& ((struct commit_name *)0)->entry));
      n___0 = (struct commit_name *)tmp___7;
    }
    while_break: /* CIL Label */ ;
    }
    have_util = 1;
  }
  list___3 = (struct commit_list *)((void *)0);
  cmit->object.flags = 1u;
  commit_list_insert(cmit, & list___3);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! list___3) {
      goto while_break___0;
    }
    tmp___9 = pop_commit(& list___3);
    c___1 = tmp___9;
    parents = c___1->parents;
    seen_commits ++;
    slot = commit_names_peek(& commit_names, (struct commit  const  *)c___1);
    if (slot) {
      n = *slot;
    } else {
      n = (struct commit_name *)((void *)0);
    }
    if (n) {
      if (! tags) {
        if (! all___0) {
          if (n->prio < 2U) {
            unannotated_cnt ++;
          } else {
            goto _L___2;
          }
        } else {
          goto _L___2;
        }
      } else
      _L___2: /* CIL Label */
      _L___1: /* CIL Label */
      if (match_cnt < (unsigned int )max_candidates) {
        tmp___10 = match_cnt;
        match_cnt ++;
        t = & all_matches[tmp___10];
        t->name = n;
        t->depth = (int )(seen_commits - 1UL);
        t->flag_within = 1u << match_cnt;
        t->found_order = (int )match_cnt;
        c___1->object.flags |= t->flag_within;
        if (n->prio == 2U) {
          annotated_cnt ++;
        }
      } else {
        gave_up_on = c___1;
        goto while_break___0;
      }
    }
    cur_match = 0U;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (cur_match < match_cnt)) {
        goto while_break___1;
      }
      t___0 = & all_matches[cur_match];
      if (! (c___1->object.flags & t___0->flag_within)) {
        (t___0->depth) ++;
      }
      cur_match ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (annotated_cnt) {
      if (! list___3) {
        best_depth = 0x7fffffff;
        best_within = 0U;
        cur_match = 0U;
        {
        while (1) {
          while_continue___2: /* CIL Label */ ;
          if (! (cur_match < match_cnt)) {
            goto while_break___2;
          }
          t___1 = & all_matches[cur_match];
          if (t___1->depth < best_depth) {
            best_depth = t___1->depth;
            best_within = t___1->flag_within;
          } else
          if (t___1->depth == best_depth) {
            best_within |= t___1->flag_within;
          }
          cur_match ++;
        }
        while_break___2: /* CIL Label */ ;
        }
        if ((c___1->object.flags & best_within) == best_within) {
          if (debug___1) {
            tmp___11 = oid_to_hex((struct object_id  const  *)(& c___1->object.oid));
            tmp___12 = _((char const   *)"finished search at %s\n");
            fprintf(stderr, (char const   *)tmp___12, tmp___11);
          }
          goto while_break___0;
        }
      }
    }
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! parents) {
        goto while_break___3;
      }
      p___0 = parents->item;
      repo_parse_commit(the_repository, p___0);
      if (! (p___0->object.flags & 1u)) {
        commit_list_insert_by_date(p___0, & list___3);
      }
      p___0->object.flags |= c___1->object.flags;
      parents = parents->next;
      if (first_parent) {
        goto while_break___3;
      }
    }
    while_break___3: /* CIL Label */ ;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  if (! match_cnt) {
    cmit_oid = & cmit->object.oid;
    if (always) {
      strbuf_add_unique_abbrev(dst, (struct object_id  const  *)cmit_oid, abbrev___0);
      if (suffix___2) {
        strbuf_addstr(dst, suffix___2);
      }
      return;
    }
    if (unannotated_cnt) {
      tmp___13 = oid_to_hex((struct object_id  const  *)cmit_oid);
      tmp___14 = _((char const   *)"No annotated tags can describe \'%s\'.\nHowever, there were unannotated tags: try --tags.");
      die((char const   *)tmp___14, tmp___13);
    } else {
      tmp___15 = oid_to_hex((struct object_id  const  *)cmit_oid);
      tmp___16 = _((char const   *)"No tags can describe \'%s\'.\nTry --always, or create some tags.");
      die((char const   *)tmp___16, tmp___15);
    }
  }
  sane_qsort((void *)(all_matches), (size_t )match_cnt, sizeof(all_matches[0]), & compare_pt);
  if (gave_up_on) {
    commit_list_insert_by_date(gave_up_on, & list___3);
    seen_commits --;
  }
  tmp___17 = finish_depth_computation(& list___3, & all_matches[0]);
  seen_commits += tmp___17;
  free_commit_list(list___3);
  if (debug___1) {
    if (label_width___1 < 0) {
      i = 0;
      {
      while (1) {
        while_continue___4: /* CIL Label */ ;
        if (! ((unsigned long )i < sizeof(prio_names) / sizeof(prio_names[0]) + (sizeof(char [1]) - 1UL))) {
          goto while_break___4;
        }
        tmp___18 = _(prio_names[i]);
        tmp___19 = strlen((char const   *)tmp___18);
        w = (int )tmp___19;
        if (label_width___1 < w) {
          label_width___1 = w;
        }
        i ++;
      }
      while_break___4: /* CIL Label */ ;
      }
    }
    cur_match = 0U;
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      if (! (cur_match < match_cnt)) {
        goto while_break___5;
      }
      t___2 = & all_matches[cur_match];
      tmp___20 = _(prio_names[(t___2->name)->prio]);
      fprintf(stderr, (char const   *)" %-*s %8d %s\n", label_width___1, tmp___20,
              t___2->depth, (t___2->name)->path);
      cur_match ++;
    }
    while_break___5: /* CIL Label */ ;
    }
    tmp___21 = _((char const   *)"traversed %lu commits\n");
    fprintf(stderr, (char const   *)tmp___21, seen_commits);
    if (gave_up_on) {
      tmp___22 = oid_to_hex((struct object_id  const  *)(& gave_up_on->object.oid));
      tmp___23 = _((char const   *)"more than %i tags found; listed %i most recent\ngave up search at %s\n");
      fprintf(stderr, (char const   *)tmp___23, max_candidates, max_candidates, tmp___22);
    }
  }
  append_name(all_matches[0].name, dst);
  if ((all_matches[0].name)->misnamed) {
    append_suffix(all_matches[0].depth, (struct object_id  const  *)(& cmit->object.oid),
                  dst);
  } else
  if (abbrev___0) {
    append_suffix(all_matches[0].depth, (struct object_id  const  *)(& cmit->object.oid),
                  dst);
  }
  if (suffix___2) {
    strbuf_addstr(dst, suffix___2);
  }
  return;
}
}
static void process_commit___0(struct commit *commit , void *data )
{
  struct process_commit_data *pcd ;

  {
  pcd = (struct process_commit_data *)data;
  pcd->current_commit = commit->object.oid;
  return;
}
}
static void process_object___0(struct object *obj , char const   *path___6 , void *data )
{
  struct process_commit_data *pcd ;
  int tmp ;

  {
  pcd = (struct process_commit_data *)data;
  tmp = oideq((struct object_id  const  *)(& pcd->looking_for), (struct object_id  const  *)(& obj->oid));
  if (tmp) {
    if (! (pcd->dst)->len) {
      reset_revision_walk();
      describe_commit(& pcd->current_commit, pcd->dst);
      strbuf_addf(pcd->dst, (char const   *)":%s", path___6);
      free_commit_list((pcd->revs)->commits);
      (pcd->revs)->commits = (struct commit_list *)((void *)0);
    }
  }
  return;
}
}
static void describe_blob(struct object_id oid , struct strbuf *dst )
{
  struct rev_info revs ;
  struct strvec args___0 ;
  struct process_commit_data pcd ;
  struct object_id  const  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  args___0.v = empty_strvec;
  args___0.nr = 0UL;
  args___0.alloc = 0UL;
  tmp = null_oid();
  pcd.current_commit = *tmp;
  pcd.looking_for = oid;
  pcd.dst = dst;
  pcd.revs = & revs;
  strvec_pushl(& args___0, "internal: The first arg is not parsed", "--objects", "--in-commit-order",
               "--reverse", "HEAD", (void *)0);
  repo_init_revisions(the_repository, & revs, (char const   *)((void *)0));
  tmp___0 = setup_revisions((int )args___0.nr, args___0.v, & revs, (struct setup_revision_opt *)((void *)0));
  if (tmp___0 > 1) {
    BUG_fl((char const   *)"builtin/describe.c", 513, (char const   *)"setup_revisions could not handle all args?");
  }
  tmp___1 = prepare_revision_walk(& revs);
  if (tmp___1) {
    die((char const   *)"revision walk setup failed");
  }
  traverse_commit_list(& revs, & process_commit___0, & process_object___0, (void *)(& pcd));
  reset_revision_walk();
  return;
}
}
static void describe(char const   *arg , int last_one )
{
  struct object_id oid ;
  struct commit *cmit ;
  struct strbuf sb___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  if (debug___1) {
    tmp = _((char const   *)"describe %s\n");
    fprintf(stderr, (char const   *)tmp, arg);
  }
  tmp___1 = repo_get_oid(the_repository, arg, & oid);
  if (tmp___1) {
    tmp___0 = _((char const   *)"Not a valid object name %s");
    die((char const   *)tmp___0, arg);
  }
  cmit = lookup_commit_reference_gently(the_repository, (struct object_id  const  *)(& oid),
                                        1);
  if (cmit) {
    describe_commit(& oid, & sb___6);
  } else {
    tmp___3 = oid_object_info(the_repository, (struct object_id  const  *)(& oid),
                              (unsigned long *)((void *)0));
    if (tmp___3 == 3) {
      describe_blob(oid, & sb___6);
    } else {
      tmp___2 = _((char const   *)"%s is neither a commit nor blob");
      die((char const   *)tmp___2, arg);
    }
  }
  puts((char const   *)sb___6.buf);
  if (! last_one) {
    clear_commit_marks(cmit, 4294967295U);
  }
  strbuf_release(& sb___6);
  return;
}
}
int cmd_describe(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int contains___0 ;
  struct option options[15] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct string_list_item *item___0 ;
  struct strvec args___0 ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  unsigned int tmp___2 ;
  struct child_process cp ;
  int tmp___3 ;
  struct lock_file index_lock___0 ;
  struct rev_info revs ;
  struct strvec args___1 ;
  int fd ;
  int result___0 ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const   **tmp___8 ;
  int tmp___9 ;

  {
  contains___0 = 0;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"contains";
  options[0].value = (void *)(& contains___0);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"find the tag that comes after the commit";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"debug";
  options[1].value = (void *)(& debug___1);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"debug search strategy on stderr";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"all";
  options[2].value = (void *)(& all___0);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"use any ref";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )1;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"tags";
  options[3].value = (void *)(& tags);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"use any tag, even unannotated";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )1;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"long";
  options[4].value = (void *)(& longformat);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"always use long format";
  options[4].flags = (enum parse_opt_option_flags )2;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )1;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )8;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)"first-parent";
  options[5].value = (void *)(& first_parent);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"only follow first parent";
  options[5].flags = (enum parse_opt_option_flags )2;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )1;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )12;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)"abbrev";
  options[6].value = (void *)(& abbrev___0);
  options[6].argh = (char const   *)"n";
  options[6].help = (char const   *)"use <n> digits to display object names";
  options[6].flags = (enum parse_opt_option_flags )1;
  options[6].callback = & parse_opt_abbrev_cb;
  options[6].defval = (intptr_t )0;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )8;
  options[7].short_name = 0;
  options[7].long_name = (char const   *)"exact-match";
  options[7].value = (void *)(& max_candidates);
  options[7].argh = (char const   *)((void *)0);
  options[7].help = (char const   *)"only output exact matches";
  options[7].flags = (enum parse_opt_option_flags )2;
  options[7].callback = (parse_opt_cb *)((void *)0);
  options[7].defval = (intptr_t )0;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )10;
  options[8].short_name = 0;
  options[8].long_name = (char const   *)"candidates";
  options[8].value = (void *)(& max_candidates);
  options[8].argh = (char const   *)"n";
  options[8].help = (char const   *)"consider <n> most recent tags (default: 10)";
  options[8].flags = (enum parse_opt_option_flags )0;
  options[8].callback = (parse_opt_cb *)0;
  options[8].defval = 0L;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  options[9].type = (enum parse_opt_type )12;
  options[9].short_name = 0;
  options[9].long_name = (char const   *)"match";
  options[9].value = (void *)(& patterns);
  options[9].argh = (char const   *)"pattern";
  options[9].help = (char const   *)"only consider tags matching <pattern>";
  options[9].flags = (enum parse_opt_option_flags )0;
  options[9].callback = & parse_opt_string_list;
  options[9].defval = 0L;
  options[9].ll_callback = (parse_opt_ll_cb *)0;
  options[9].extra = 0L;
  options[10].type = (enum parse_opt_type )12;
  options[10].short_name = 0;
  options[10].long_name = (char const   *)"exclude";
  options[10].value = (void *)(& exclude_patterns);
  options[10].argh = (char const   *)"pattern";
  options[10].help = (char const   *)"do not consider tags matching <pattern>";
  options[10].flags = (enum parse_opt_option_flags )0;
  options[10].callback = & parse_opt_string_list;
  options[10].defval = 0L;
  options[10].ll_callback = (parse_opt_ll_cb *)0;
  options[10].extra = 0L;
  options[11].type = (enum parse_opt_type )8;
  options[11].short_name = 0;
  options[11].long_name = (char const   *)"always";
  options[11].value = (void *)(& always);
  options[11].argh = (char const   *)((void *)0);
  options[11].help = (char const   *)"show abbreviated commit object as fallback";
  options[11].flags = (enum parse_opt_option_flags )2;
  options[11].callback = (parse_opt_cb *)((void *)0);
  options[11].defval = (intptr_t )1;
  options[11].ll_callback = (parse_opt_ll_cb *)0;
  options[11].extra = 0L;
  options[12].type = (enum parse_opt_type )9;
  options[12].short_name = 0;
  options[12].long_name = (char const   *)"dirty";
  options[12].value = (void *)(& dirty);
  options[12].argh = (char const   *)"mark";
  options[12].help = (char const   *)"append <mark> on dirty working tree (default: \"-dirty\")";
  options[12].flags = (enum parse_opt_option_flags )1;
  options[12].callback = (parse_opt_cb *)((void *)0);
  options[12].defval = (intptr_t )"-dirty";
  options[12].ll_callback = (parse_opt_ll_cb *)0;
  options[12].extra = 0L;
  options[13].type = (enum parse_opt_type )9;
  options[13].short_name = 0;
  options[13].long_name = (char const   *)"broken";
  options[13].value = (void *)(& broken);
  options[13].argh = (char const   *)"mark";
  options[13].help = (char const   *)"append <mark> on broken working tree (default: \"-broken\")";
  options[13].flags = (enum parse_opt_option_flags )1;
  options[13].callback = (parse_opt_cb *)((void *)0);
  options[13].defval = (intptr_t )"-broken";
  options[13].ll_callback = (parse_opt_ll_cb *)0;
  options[13].extra = 0L;
  options[14].type = (enum parse_opt_type )0;
  options[14].short_name = 0;
  options[14].long_name = (char const   *)0;
  options[14].value = (void *)0;
  options[14].argh = (char const   *)0;
  options[14].help = (char const   *)0;
  options[14].flags = 0U;
  options[14].callback = (parse_opt_cb *)0;
  options[14].defval = 0L;
  options[14].ll_callback = (parse_opt_ll_cb *)0;
  options[14].extra = 0L;
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       describe_usage, (enum parse_opt_flags )0);
  if (abbrev___0 < 0) {
    abbrev___0 = default_abbrev;
  }
  if (max_candidates < 0) {
    max_candidates = 0;
  } else
  if (max_candidates > 27) {
    max_candidates = 27;
  }
  save_commit_buffer = 0;
  if (longformat) {
    if (abbrev___0 == 0) {
      tmp = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp, "--long", "--abbrev=0");
    }
  }
  if (contains___0) {
    strvec_init(& args___0);
    strvec_pushl(& args___0, "name-rev", "--peel-tag", "--name-only", "--no-undefined",
                 (void *)0);
    if (always) {
      strvec_push(& args___0, (char const   *)"--always");
    }
    if (! all___0) {
      strvec_push(& args___0, (char const   *)"--tags");
      item___0 = patterns.items;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (item___0) {
          if (! ((unsigned long )item___0 < (unsigned long )(patterns.items + patterns.nr))) {
            goto while_break;
          }
        } else {
          goto while_break;
        }
        strvec_pushf(& args___0, (char const   *)"--refs=refs/tags/%s", item___0->string);
        item___0 ++;
      }
      while_break: /* CIL Label */ ;
      }
      item___0 = exclude_patterns.items;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (item___0) {
          if (! ((unsigned long )item___0 < (unsigned long )(exclude_patterns.items + exclude_patterns.nr))) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
        strvec_pushf(& args___0, (char const   *)"--exclude=refs/tags/%s", item___0->string);
        item___0 ++;
      }
      while_break___0: /* CIL Label */ ;
      }
    }
    if (argc) {
      strvec_pushv(& args___0, argv___0);
    } else {
      strvec_push(& args___0, (char const   *)"HEAD");
    }
    tmp___0 = cmd_name_rev((int )args___0.nr, args___0.v, prefix___1);
    return (tmp___0);
  }
  hashmap_init(& names, & commit_name_neq, (void const   *)((void *)0), (size_t )0);
  for_each_rawref(& get_name, (void *)0);
  tmp___2 = hashmap_get_size___33(& names);
  if (! tmp___2) {
    if (! always) {
      tmp___1 = _((char const   *)"No names found, cannot describe anything.");
      die((char const   *)tmp___1);
    }
  }
  if (argc == 0) {
    if (broken) {
      cp.args.v = empty_strvec;
      cp.args.nr = 0UL;
      cp.args.alloc = 0UL;
      cp.env_array.v = empty_strvec;
      cp.env_array.nr = 0UL;
      cp.env_array.alloc = 0UL;
      cp.pid = 0;
      cp.trace2_child_id = 0;
      cp.trace2_child_us_start = 0UL;
      cp.trace2_child_class = (char const   *)0;
      cp.trace2_hook_name = (char const   *)0;
      cp.in = 0;
      cp.out = 0;
      cp.err = 0;
      cp.dir = (char const   *)0;
      cp.no_stdin = 0U;
      cp.no_stdout = 0U;
      cp.no_stderr = 0U;
      cp.git_cmd = 0U;
      cp.silent_exec_failure = 0U;
      cp.use_shell = 0U;
      cp.close_object_store = 0U;
      cp.stdout_to_stderr = 0U;
      cp.clean_on_exit = 0U;
      cp.wait_after_clean = 0U;
      cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
      cp.clean_on_exit_handler_cbdata = (void *)0;
      strvec_pushv(& cp.args, diff_index_args);
      cp.git_cmd = 1U;
      cp.no_stdin = 1U;
      cp.no_stdout = 1U;
      if (! dirty) {
        dirty = (char const   *)"-dirty";
      }
      tmp___3 = run_command(& cp);
      {
      if (tmp___3 == 0) {
        goto case_0;
      }
      if (tmp___3 == 1) {
        goto case_1;
      }
      goto switch_default;
      case_0: /* CIL Label */
      suffix___2 = (char const   *)((void *)0);
      goto switch_break;
      case_1: /* CIL Label */
      suffix___2 = dirty;
      goto switch_break;
      switch_default: /* CIL Label */
      suffix___2 = broken;
      switch_break: /* CIL Label */ ;
      }
    } else
    if (dirty) {
      index_lock___0.tempfile = (struct tempfile *)0;
      args___1.v = empty_strvec;
      args___1.nr = 0UL;
      args___1.alloc = 0UL;
      setup_work_tree();
      repo_read_index(the_repository);
      refresh_index(& the_index, (unsigned int )((1 << 2) | (1 << 1)), (struct pathspec  const  *)((void *)0),
                    (char *)((void *)0), (char const   *)((void *)0));
      fd = repo_hold_locked_index(the_repository, & index_lock___0, 0);
      if (0 <= fd) {
        repo_update_index_if_able(the_repository, & index_lock___0);
      }
      repo_init_revisions(the_repository, & revs, prefix___1);
      strvec_pushv(& args___1, diff_index_args);
      tmp___4 = setup_revisions((int )args___1.nr, args___1.v, & revs, (struct setup_revision_opt *)((void *)0));
      if (tmp___4 != 1) {
        BUG_fl((char const   *)"builtin/describe.c", 663, (char const   *)"malformed internal diff-index command line");
      }
      result___0 = run_diff_index(& revs, 0U);
      tmp___5 = diff_result_code(& revs.diffopt, result___0);
      if (tmp___5) {
        suffix___2 = dirty;
      } else {
        suffix___2 = (char const   *)((void *)0);
      }
    }
    describe((char const   *)"HEAD", 1);
  } else
  if (dirty) {
    tmp___6 = _((char const   *)"option \'%s\' and commit-ishes cannot be used together");
    die((char const   *)tmp___6, "--dirty");
  } else
  if (broken) {
    tmp___7 = _((char const   *)"option \'%s\' and commit-ishes cannot be used together");
    die((char const   *)tmp___7, "--broken");
  } else {
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      tmp___9 = argc;
      argc --;
      if (! (tmp___9 > 0)) {
        goto while_break___1;
      }
      tmp___8 = argv___0;
      argv___0 ++;
      describe(*tmp___8, argc == 0);
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  return (0);
}
}
static double const   __ac_HASH_UPPER___116  =    (double const   )0.77;
__inline static void kh_resize_oid_set___116(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___116(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___116 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___116 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___116(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___116(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___116(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___116(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___116(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___116(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___116 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___116 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___116(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___116(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___116(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___116(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___116(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___116(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___116 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___116 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___116(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___116(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___116(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___116(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   diff_files_usage[1282]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'d',      (char const   )'i',      (char const   )'f',      (char const   )'f',
        (char const   )'-',      (char const   )'f',      (char const   )'i',      (char const   )'l',
        (char const   )'e',      (char const   )'s',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'q',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'0',      (char const   )' ',
        (char const   )'|',      (char const   )' ',      (char const   )'-',      (char const   )'1',
        (char const   )' ',      (char const   )'|',      (char const   )' ',      (char const   )'-',
        (char const   )'2',      (char const   )' ',      (char const   )'|',      (char const   )' ',
        (char const   )'-',      (char const   )'3',      (char const   )' ',      (char const   )'|',
        (char const   )' ',      (char const   )'-',      (char const   )'c',      (char const   )' ',
        (char const   )'|',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'c',      (char const   )'c',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'<',      (char const   )'c',      (char const   )'o',
        (char const   )'m',      (char const   )'m',      (char const   )'o',      (char const   )'n',
        (char const   )'-',      (char const   )'d',      (char const   )'i',      (char const   )'f',
        (char const   )'f',      (char const   )'-',      (char const   )'o',      (char const   )'p',
        (char const   )'t',      (char const   )'i',      (char const   )'o',      (char const   )'n',
        (char const   )'s',      (char const   )'>',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'<',      (char const   )'p',      (char const   )'a',
        (char const   )'t',      (char const   )'h',      (char const   )'>',      (char const   )'.',
        (char const   )'.',      (char const   )'.',      (char const   )']',      (char const   )'\n',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'m',
        (char const   )'o',      (char const   )'n',      (char const   )' ',      (char const   )'d',
        (char const   )'i',      (char const   )'f',      (char const   )'f',      (char const   )' ',
        (char const   )'o',      (char const   )'p',      (char const   )'t',      (char const   )'i',
        (char const   )'o',      (char const   )'n',      (char const   )'s',      (char const   )':',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'z',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'o',      (char const   )'u',      (char const   )'t',
        (char const   )'p',      (char const   )'u',      (char const   )'t',      (char const   )' ',
        (char const   )'d',      (char const   )'i',      (char const   )'f',      (char const   )'f',
        (char const   )'-',      (char const   )'r',      (char const   )'a',      (char const   )'w',
        (char const   )' ',      (char const   )'w',      (char const   )'i',      (char const   )'t',
        (char const   )'h',      (char const   )' ',      (char const   )'l',      (char const   )'i',
        (char const   )'n',      (char const   )'e',      (char const   )'s',      (char const   )' ',
        (char const   )'t',      (char const   )'e',      (char const   )'r',      (char const   )'m',
        (char const   )'i',      (char const   )'n',      (char const   )'a',      (char const   )'t',
        (char const   )'e',      (char const   )'d',      (char const   )' ',      (char const   )'w',
        (char const   )'i',      (char const   )'t',      (char const   )'h',      (char const   )' ',
        (char const   )'N',      (char const   )'U',      (char const   )'L',      (char const   )'.',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'p',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'o',      (char const   )'u',      (char const   )'t',
        (char const   )'p',      (char const   )'u',      (char const   )'t',      (char const   )' ',
        (char const   )'p',      (char const   )'a',      (char const   )'t',      (char const   )'c',
        (char const   )'h',      (char const   )' ',      (char const   )'f',      (char const   )'o',
        (char const   )'r',      (char const   )'m',      (char const   )'a',      (char const   )'t',
        (char const   )'.',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'u',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'s',      (char const   )'y',
        (char const   )'n',      (char const   )'o',      (char const   )'n',      (char const   )'y',
        (char const   )'m',      (char const   )' ',      (char const   )'f',      (char const   )'o',
        (char const   )'r',      (char const   )' ',      (char const   )'-',      (char const   )'p',
        (char const   )'.',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'p',      (char const   )'a',
        (char const   )'t',      (char const   )'c',      (char const   )'h',      (char const   )'-',
        (char const   )'w',      (char const   )'i',      (char const   )'t',      (char const   )'h',
        (char const   )'-',      (char const   )'r',      (char const   )'a',      (char const   )'w',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'o',      (char const   )'u',      (char const   )'t',
        (char const   )'p',      (char const   )'u',      (char const   )'t',      (char const   )' ',
        (char const   )'b',      (char const   )'o',      (char const   )'t',      (char const   )'h',
        (char const   )' ',      (char const   )'a',      (char const   )' ',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'c',      (char const   )'h',
        (char const   )' ',      (char const   )'a',      (char const   )'n',      (char const   )'d',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'e',
        (char const   )' ',      (char const   )'d',      (char const   )'i',      (char const   )'f',
        (char const   )'f',      (char const   )'-',      (char const   )'r',      (char const   )'a',
        (char const   )'w',      (char const   )' ',      (char const   )'f',      (char const   )'o',
        (char const   )'r',      (char const   )'m',      (char const   )'a',      (char const   )'t',
        (char const   )'.',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'s',      (char const   )'t',
        (char const   )'a',      (char const   )'t',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'s',      (char const   )'h',
        (char const   )'o',      (char const   )'w',      (char const   )' ',      (char const   )'d',
        (char const   )'i',      (char const   )'f',      (char const   )'f',      (char const   )'s',
        (char const   )'t',      (char const   )'a',      (char const   )'t',      (char const   )' ',
        (char const   )'i',      (char const   )'n',      (char const   )'s',      (char const   )'t',
        (char const   )'e',      (char const   )'a',      (char const   )'d',      (char const   )' ',
        (char const   )'o',      (char const   )'f',      (char const   )' ',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'c',      (char const   )'h',
        (char const   )'.',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'n',      (char const   )'u',
        (char const   )'m',      (char const   )'s',      (char const   )'t',      (char const   )'a',
        (char const   )'t',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'s',      (char const   )'h',
        (char const   )'o',      (char const   )'w',      (char const   )' ',      (char const   )'n',
        (char const   )'u',      (char const   )'m',      (char const   )'e',      (char const   )'r',
        (char const   )'i',      (char const   )'c',      (char const   )' ',      (char const   )'d',
        (char const   )'i',      (char const   )'f',      (char const   )'f',      (char const   )'s',
        (char const   )'t',      (char const   )'a',      (char const   )'t',      (char const   )' ',
        (char const   )'i',      (char const   )'n',      (char const   )'s',      (char const   )'t',
        (char const   )'e',      (char const   )'a',      (char const   )'d',      (char const   )' ',
        (char const   )'o',      (char const   )'f',      (char const   )' ',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'c',      (char const   )'h',
        (char const   )'.',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'p',      (char const   )'a',
        (char const   )'t',      (char const   )'c',      (char const   )'h',      (char const   )'-',
        (char const   )'w',      (char const   )'i',      (char const   )'t',      (char const   )'h',
        (char const   )'-',      (char const   )'s',      (char const   )'t',      (char const   )'a',
        (char const   )'t',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'o',      (char const   )'u',
        (char const   )'t',      (char const   )'p',      (char const   )'u',      (char const   )'t',
        (char const   )' ',      (char const   )'a',      (char const   )' ',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'c',      (char const   )'h',
        (char const   )' ',      (char const   )'a',      (char const   )'n',      (char const   )'d',
        (char const   )' ',      (char const   )'p',      (char const   )'r',      (char const   )'e',
        (char const   )'p',      (char const   )'e',      (char const   )'n',      (char const   )'d',
        (char const   )' ',      (char const   )'i',      (char const   )'t',      (char const   )'s',
        (char const   )' ',      (char const   )'d',      (char const   )'i',      (char const   )'f',
        (char const   )'f',      (char const   )'s',      (char const   )'t',      (char const   )'a',
        (char const   )'t',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'n',
        (char const   )'a',      (char const   )'m',      (char const   )'e',      (char const   )'-',
        (char const   )'o',      (char const   )'n',      (char const   )'l',      (char const   )'y',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'s',
        (char const   )'h',      (char const   )'o',      (char const   )'w',      (char const   )' ',
        (char const   )'o',      (char const   )'n',      (char const   )'l',      (char const   )'y',
        (char const   )' ',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )'s',      (char const   )' ',      (char const   )'o',
        (char const   )'f',      (char const   )' ',      (char const   )'c',      (char const   )'h',
        (char const   )'a',      (char const   )'n',      (char const   )'g',      (char const   )'e',
        (char const   )'d',      (char const   )' ',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )'s',      (char const   )'.',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )'-',      (char const   )'s',      (char const   )'t',
        (char const   )'a',      (char const   )'t',      (char const   )'u',      (char const   )'s',
        (char const   )' ',      (char const   )'s',      (char const   )'h',      (char const   )'o',
        (char const   )'w',      (char const   )' ',      (char const   )'n',      (char const   )'a',
        (char const   )'m',      (char const   )'e',      (char const   )'s',      (char const   )' ',
        (char const   )'a',      (char const   )'n',      (char const   )'d',      (char const   )' ',
        (char const   )'s',      (char const   )'t',      (char const   )'a',      (char const   )'t',
        (char const   )'u',      (char const   )'s',      (char const   )' ',      (char const   )'o',
        (char const   )'f',      (char const   )' ',      (char const   )'c',      (char const   )'h',
        (char const   )'a',      (char const   )'n',      (char const   )'g',      (char const   )'e',
        (char const   )'d',      (char const   )' ',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )'s',      (char const   )'.',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'f',      (char const   )'u',      (char const   )'l',
        (char const   )'l',      (char const   )'-',      (char const   )'i',      (char const   )'n',
        (char const   )'d',      (char const   )'e',      (char const   )'x',      (char const   )' ',
        (char const   )' ',      (char const   )'s',      (char const   )'h',      (char const   )'o',
        (char const   )'w',      (char const   )' ',      (char const   )'f',      (char const   )'u',
        (char const   )'l',      (char const   )'l',      (char const   )' ',      (char const   )'o',
        (char const   )'b',      (char const   )'j',      (char const   )'e',      (char const   )'c',
        (char const   )'t',      (char const   )' ',      (char const   )'n',      (char const   )'a',
        (char const   )'m',      (char const   )'e',      (char const   )' ',      (char const   )'o',
        (char const   )'n',      (char const   )' ',      (char const   )'i',      (char const   )'n',
        (char const   )'d',      (char const   )'e',      (char const   )'x',      (char const   )' ',
        (char const   )'l',      (char const   )'i',      (char const   )'n',      (char const   )'e',
        (char const   )'s',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'a',
        (char const   )'b',      (char const   )'b',      (char const   )'r',      (char const   )'e',
        (char const   )'v',      (char const   )'=',      (char const   )'<',      (char const   )'n',
        (char const   )'>',      (char const   )' ',      (char const   )' ',      (char const   )'a',
        (char const   )'b',      (char const   )'b',      (char const   )'r',      (char const   )'e',
        (char const   )'v',      (char const   )'i',      (char const   )'a',      (char const   )'t',
        (char const   )'e',      (char const   )' ',      (char const   )'o',      (char const   )'b',
        (char const   )'j',      (char const   )'e',      (char const   )'c',      (char const   )'t',
        (char const   )' ',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )'s',      (char const   )' ',      (char const   )'i',
        (char const   )'n',      (char const   )' ',      (char const   )'d',      (char const   )'i',
        (char const   )'f',      (char const   )'f',      (char const   )'-',      (char const   )'t',
        (char const   )'r',      (char const   )'e',      (char const   )'e',      (char const   )' ',
        (char const   )'h',      (char const   )'e',      (char const   )'a',      (char const   )'d',
        (char const   )'e',      (char const   )'r',      (char const   )' ',      (char const   )'a',
        (char const   )'n',      (char const   )'d',      (char const   )' ',      (char const   )'d',
        (char const   )'i',      (char const   )'f',      (char const   )'f',      (char const   )'-',
        (char const   )'r',      (char const   )'a',      (char const   )'w',      (char const   )'.',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'R',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'s',      (char const   )'w',      (char const   )'a',
        (char const   )'p',      (char const   )' ',      (char const   )'i',      (char const   )'n',
        (char const   )'p',      (char const   )'u',      (char const   )'t',      (char const   )' ',
        (char const   )'f',      (char const   )'i',      (char const   )'l',      (char const   )'e',
        (char const   )' ',      (char const   )'p',      (char const   )'a',      (char const   )'i',
        (char const   )'r',      (char const   )'s',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'B',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'d',      (char const   )'e',      (char const   )'t',      (char const   )'e',
        (char const   )'c',      (char const   )'t',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'m',      (char const   )'p',      (char const   )'l',
        (char const   )'e',      (char const   )'t',      (char const   )'e',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'w',      (char const   )'r',
        (char const   )'i',      (char const   )'t',      (char const   )'e',      (char const   )'s',
        (char const   )'.',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'M',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'d',      (char const   )'e',
        (char const   )'t',      (char const   )'e',      (char const   )'c',      (char const   )'t',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'n',
        (char const   )'a',      (char const   )'m',      (char const   )'e',      (char const   )'s',
        (char const   )'.',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'C',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'d',      (char const   )'e',
        (char const   )'t',      (char const   )'e',      (char const   )'c',      (char const   )'t',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'p',
        (char const   )'i',      (char const   )'e',      (char const   )'s',      (char const   )'.',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'f',      (char const   )'i',      (char const   )'n',
        (char const   )'d',      (char const   )'-',      (char const   )'c',      (char const   )'o',
        (char const   )'p',      (char const   )'i',      (char const   )'e',      (char const   )'s',
        (char const   )'-',      (char const   )'h',      (char const   )'a',      (char const   )'r',
        (char const   )'d',      (char const   )'e',      (char const   )'r',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'t',      (char const   )'r',      (char const   )'y',      (char const   )' ',
        (char const   )'u',      (char const   )'n',      (char const   )'c',      (char const   )'h',
        (char const   )'a',      (char const   )'n',      (char const   )'g',      (char const   )'e',
        (char const   )'d',      (char const   )' ',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )'s',      (char const   )' ',
        (char const   )'a',      (char const   )'s',      (char const   )' ',      (char const   )'c',
        (char const   )'a',      (char const   )'n',      (char const   )'d',      (char const   )'i',
        (char const   )'d',      (char const   )'a',      (char const   )'t',      (char const   )'e',
        (char const   )' ',      (char const   )'f',      (char const   )'o',      (char const   )'r',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'p',
        (char const   )'y',      (char const   )' ',      (char const   )'d',      (char const   )'e',
        (char const   )'t',      (char const   )'e',      (char const   )'c',      (char const   )'t',
        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'.',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'l',      (char const   )'<',      (char const   )'n',      (char const   )'>',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'l',      (char const   )'i',      (char const   )'m',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'r',
        (char const   )'e',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )' ',      (char const   )'a',      (char const   )'t',
        (char const   )'t',      (char const   )'e',      (char const   )'m',      (char const   )'p',
        (char const   )'t',      (char const   )'s',      (char const   )' ',      (char const   )'u',
        (char const   )'p',      (char const   )' ',      (char const   )'t',      (char const   )'o',
        (char const   )' ',      (char const   )'<',      (char const   )'n',      (char const   )'>',
        (char const   )' ',      (char const   )'p',      (char const   )'a',      (char const   )'t',
        (char const   )'h',      (char const   )'s',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'O',
        (char const   )'<',      (char const   )'f',      (char const   )'i',      (char const   )'l',
        (char const   )'e',      (char const   )'>',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'o',      (char const   )'r',
        (char const   )'d',      (char const   )'e',      (char const   )'r',      (char const   )' ',
        (char const   )'d',      (char const   )'i',      (char const   )'f',      (char const   )'f',
        (char const   )'s',      (char const   )' ',      (char const   )'a',      (char const   )'c',
        (char const   )'c',      (char const   )'o',      (char const   )'r',      (char const   )'d',
        (char const   )'i',      (char const   )'n',      (char const   )'g',      (char const   )' ',
        (char const   )'t',      (char const   )'o',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'<',
        (char const   )'f',      (char const   )'i',      (char const   )'l',      (char const   )'e',
        (char const   )'>',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'S',      (char const   )'<',
        (char const   )'s',      (char const   )'t',      (char const   )'r',      (char const   )'i',
        (char const   )'n',      (char const   )'g',      (char const   )'>',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'f',
        (char const   )'i',      (char const   )'n',      (char const   )'d',      (char const   )' ',
        (char const   )'f',      (char const   )'i',      (char const   )'l',      (char const   )'e',
        (char const   )'p',      (char const   )'a',      (char const   )'i',      (char const   )'r',
        (char const   )' ',      (char const   )'w',      (char const   )'h',      (char const   )'o',
        (char const   )'s',      (char const   )'e',      (char const   )' ',      (char const   )'o',
        (char const   )'n',      (char const   )'l',      (char const   )'y',      (char const   )' ',
        (char const   )'o',      (char const   )'n',      (char const   )'e',      (char const   )' ',
        (char const   )'s',      (char const   )'i',      (char const   )'d',      (char const   )'e',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'n',
        (char const   )'t',      (char const   )'a',      (char const   )'i',      (char const   )'n',
        (char const   )'s',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )' ',      (char const   )'s',      (char const   )'t',
        (char const   )'r',      (char const   )'i',      (char const   )'n',      (char const   )'g',
        (char const   )'.',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'p',      (char const   )'i',
        (char const   )'c',      (char const   )'k',      (char const   )'a',      (char const   )'x',
        (char const   )'e',      (char const   )'-',      (char const   )'a',      (char const   )'l',
        (char const   )'l',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'s',      (char const   )'h',
        (char const   )'o',      (char const   )'w',      (char const   )' ',      (char const   )'a',
        (char const   )'l',      (char const   )'l',      (char const   )' ',      (char const   )'f',
        (char const   )'i',      (char const   )'l',      (char const   )'e',      (char const   )'s',
        (char const   )' ',      (char const   )'d',      (char const   )'i',      (char const   )'f',
        (char const   )'f',      (char const   )' ',      (char const   )'w',      (char const   )'h',
        (char const   )'e',      (char const   )'n',      (char const   )' ',      (char const   )'-',
        (char const   )'S',      (char const   )' ',      (char const   )'i',      (char const   )'s',
        (char const   )' ',      (char const   )'u',      (char const   )'s',      (char const   )'e',
        (char const   )'d',      (char const   )' ',      (char const   )'a',      (char const   )'n',
        (char const   )'d',      (char const   )' ',      (char const   )'h',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'i',      (char const   )'s',
        (char const   )' ',      (char const   )'f',      (char const   )'o',      (char const   )'u',
        (char const   )'n',      (char const   )'d',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'a',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'t',      (char const   )'e',      (char const   )'x',      (char const   )'t',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'t',      (char const   )'r',      (char const   )'e',      (char const   )'a',
        (char const   )'t',      (char const   )' ',      (char const   )'a',      (char const   )'l',
        (char const   )'l',      (char const   )' ',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )'s',      (char const   )' ',
        (char const   )'a',      (char const   )'s',      (char const   )' ',      (char const   )'t',
        (char const   )'e',      (char const   )'x',      (char const   )'t',      (char const   )'.',
        (char const   )'\n',      (char const   )'\000'};
int cmd_diff_files(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct rev_info rev ;
  int result___0 ;
  unsigned int options ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  options = 0U;
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage(diff_files_usage);
    }
  }
  git_config(& git_diff_basic_config, (void *)0);
  repo_init_revisions(the_repository, & rev, prefix___1);
  rev.abbrev = 0U;
  rev.diffopt.ita_invisible_in_index = 1;
  prefix___1 = precompose_argv_prefix(argc, argv___0, prefix___1);
  argc = setup_revisions(argc, argv___0, & rev, (struct setup_revision_opt *)((void *)0));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (1 < argc) {
      if (! ((int const   )*(*(argv___0 + 1) + 0) == 45)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___3 = strcmp(*(argv___0 + 1), (char const   *)"--base");
    if (tmp___3) {
      tmp___2 = strcmp(*(argv___0 + 1), (char const   *)"--ours");
      if (tmp___2) {
        tmp___1 = strcmp(*(argv___0 + 1), (char const   *)"--theirs");
        if (tmp___1) {
          tmp___0 = strcmp(*(argv___0 + 1), (char const   *)"-q");
          if (tmp___0) {
            usage(diff_files_usage);
          } else {
            options |= 1U;
          }
        } else {
          rev.max_count = 3;
        }
      } else {
        rev.max_count = 2;
      }
    } else {
      rev.max_count = 1;
    }
    argv___0 ++;
    argc --;
  }
  while_break: /* CIL Label */ ;
  }
  if (! rev.diffopt.output_format) {
    rev.diffopt.output_format = 0x0001;
  }
  rev.diffopt.rotate_to_strict = 1;
  if (rev.pending.nr) {
    usage(diff_files_usage);
  } else
  if (rev.min_age != 18446744073709551615UL) {
    usage(diff_files_usage);
  } else
  if (rev.max_age != 18446744073709551615UL) {
    usage(diff_files_usage);
  } else
  if (3 < rev.max_count) {
    usage(diff_files_usage);
  }
  if (rev.max_count == -1) {
    if (rev.diffopt.output_format & 0x0010) {
      diff_merges_set_dense_combined_if_unset(& rev);
    }
  }
  tmp___4 = repo_read_index_preload(the_repository, (struct pathspec  const  *)(& rev.diffopt.pathspec),
                                    0U);
  if (tmp___4 < 0) {
    perror((char const   *)"read_cache_preload");
    return (-1);
  }
  result___0 = run_diff_files(& rev, options);
  tmp___5 = diff_result_code(& rev.diffopt, result___0);
  return (tmp___5);
}
}
static double const   __ac_HASH_UPPER___117  =    (double const   )0.77;
__inline static void kh_resize_oid_set___117(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___117(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___117 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___117 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___117(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___117(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___117(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___117(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___117(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___117(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___117 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___117 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___117(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___117(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___117(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___117(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___117(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___117(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___117 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___117 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___117(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___117(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___117(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___117(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   diff_cache_usage[1272]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'d',      (char const   )'i',      (char const   )'f',      (char const   )'f',
        (char const   )'-',      (char const   )'i',      (char const   )'n',      (char const   )'d',
        (char const   )'e',      (char const   )'x',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'m',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'-',      (char const   )'c',
        (char const   )'a',      (char const   )'c',      (char const   )'h',      (char const   )'e',
        (char const   )'d',      (char const   )']',      (char const   )' ',      (char const   )'[',
        (char const   )'<',      (char const   )'c',      (char const   )'o',      (char const   )'m',
        (char const   )'m',      (char const   )'o',      (char const   )'n',      (char const   )'-',
        (char const   )'d',      (char const   )'i',      (char const   )'f',      (char const   )'f',
        (char const   )'-',      (char const   )'o',      (char const   )'p',      (char const   )'t',
        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'s',
        (char const   )'>',      (char const   )']',      (char const   )' ',      (char const   )'<',
        (char const   )'t',      (char const   )'r',      (char const   )'e',      (char const   )'e',
        (char const   )'-',      (char const   )'i',      (char const   )'s',      (char const   )'h',
        (char const   )'>',      (char const   )' ',      (char const   )'[',      (char const   )'<',
        (char const   )'p',      (char const   )'a',      (char const   )'t',      (char const   )'h',
        (char const   )'>',      (char const   )'.',      (char const   )'.',      (char const   )'.',
        (char const   )']',      (char const   )'\n',      (char const   )'c',      (char const   )'o',
        (char const   )'m',      (char const   )'m',      (char const   )'o',      (char const   )'n',
        (char const   )' ',      (char const   )'d',      (char const   )'i',      (char const   )'f',
        (char const   )'f',      (char const   )' ',      (char const   )'o',      (char const   )'p',
        (char const   )'t',      (char const   )'i',      (char const   )'o',      (char const   )'n',
        (char const   )'s',      (char const   )':',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'z',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'o',
        (char const   )'u',      (char const   )'t',      (char const   )'p',      (char const   )'u',
        (char const   )'t',      (char const   )' ',      (char const   )'d',      (char const   )'i',
        (char const   )'f',      (char const   )'f',      (char const   )'-',      (char const   )'r',
        (char const   )'a',      (char const   )'w',      (char const   )' ',      (char const   )'w',
        (char const   )'i',      (char const   )'t',      (char const   )'h',      (char const   )' ',
        (char const   )'l',      (char const   )'i',      (char const   )'n',      (char const   )'e',
        (char const   )'s',      (char const   )' ',      (char const   )'t',      (char const   )'e',
        (char const   )'r',      (char const   )'m',      (char const   )'i',      (char const   )'n',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )'d',
        (char const   )' ',      (char const   )'w',      (char const   )'i',      (char const   )'t',
        (char const   )'h',      (char const   )' ',      (char const   )'N',      (char const   )'U',
        (char const   )'L',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'p',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'o',
        (char const   )'u',      (char const   )'t',      (char const   )'p',      (char const   )'u',
        (char const   )'t',      (char const   )' ',      (char const   )'p',      (char const   )'a',
        (char const   )'t',      (char const   )'c',      (char const   )'h',      (char const   )' ',
        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )'m',
        (char const   )'a',      (char const   )'t',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'u',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'s',      (char const   )'y',      (char const   )'n',      (char const   )'o',
        (char const   )'n',      (char const   )'y',      (char const   )'m',      (char const   )' ',
        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )' ',
        (char const   )'-',      (char const   )'p',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'p',      (char const   )'a',      (char const   )'t',      (char const   )'c',
        (char const   )'h',      (char const   )'-',      (char const   )'w',      (char const   )'i',
        (char const   )'t',      (char const   )'h',      (char const   )'-',      (char const   )'r',
        (char const   )'a',      (char const   )'w',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'o',
        (char const   )'u',      (char const   )'t',      (char const   )'p',      (char const   )'u',
        (char const   )'t',      (char const   )' ',      (char const   )'b',      (char const   )'o',
        (char const   )'t',      (char const   )'h',      (char const   )' ',      (char const   )'a',
        (char const   )' ',      (char const   )'p',      (char const   )'a',      (char const   )'t',
        (char const   )'c',      (char const   )'h',      (char const   )' ',      (char const   )'a',
        (char const   )'n',      (char const   )'d',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'d',
        (char const   )'i',      (char const   )'f',      (char const   )'f',      (char const   )'-',
        (char const   )'r',      (char const   )'a',      (char const   )'w',      (char const   )' ',
        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )'m',
        (char const   )'a',      (char const   )'t',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'s',      (char const   )'t',      (char const   )'a',      (char const   )'t',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'s',      (char const   )'h',      (char const   )'o',      (char const   )'w',
        (char const   )' ',      (char const   )'d',      (char const   )'i',      (char const   )'f',
        (char const   )'f',      (char const   )'s',      (char const   )'t',      (char const   )'a',
        (char const   )'t',      (char const   )' ',      (char const   )'i',      (char const   )'n',
        (char const   )'s',      (char const   )'t',      (char const   )'e',      (char const   )'a',
        (char const   )'d',      (char const   )' ',      (char const   )'o',      (char const   )'f',
        (char const   )' ',      (char const   )'p',      (char const   )'a',      (char const   )'t',
        (char const   )'c',      (char const   )'h',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'n',      (char const   )'u',      (char const   )'m',      (char const   )'s',
        (char const   )'t',      (char const   )'a',      (char const   )'t',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'s',      (char const   )'h',      (char const   )'o',      (char const   )'w',
        (char const   )' ',      (char const   )'n',      (char const   )'u',      (char const   )'m',
        (char const   )'e',      (char const   )'r',      (char const   )'i',      (char const   )'c',
        (char const   )' ',      (char const   )'d',      (char const   )'i',      (char const   )'f',
        (char const   )'f',      (char const   )'s',      (char const   )'t',      (char const   )'a',
        (char const   )'t',      (char const   )' ',      (char const   )'i',      (char const   )'n',
        (char const   )'s',      (char const   )'t',      (char const   )'e',      (char const   )'a',
        (char const   )'d',      (char const   )' ',      (char const   )'o',      (char const   )'f',
        (char const   )' ',      (char const   )'p',      (char const   )'a',      (char const   )'t',
        (char const   )'c',      (char const   )'h',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'p',      (char const   )'a',      (char const   )'t',      (char const   )'c',
        (char const   )'h',      (char const   )'-',      (char const   )'w',      (char const   )'i',
        (char const   )'t',      (char const   )'h',      (char const   )'-',      (char const   )'s',
        (char const   )'t',      (char const   )'a',      (char const   )'t',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'o',      (char const   )'u',      (char const   )'t',      (char const   )'p',
        (char const   )'u',      (char const   )'t',      (char const   )' ',      (char const   )'a',
        (char const   )' ',      (char const   )'p',      (char const   )'a',      (char const   )'t',
        (char const   )'c',      (char const   )'h',      (char const   )' ',      (char const   )'a',
        (char const   )'n',      (char const   )'d',      (char const   )' ',      (char const   )'p',
        (char const   )'r',      (char const   )'e',      (char const   )'p',      (char const   )'e',
        (char const   )'n',      (char const   )'d',      (char const   )' ',      (char const   )'i',
        (char const   )'t',      (char const   )'s',      (char const   )' ',      (char const   )'d',
        (char const   )'i',      (char const   )'f',      (char const   )'f',      (char const   )'s',
        (char const   )'t',      (char const   )'a',      (char const   )'t',      (char const   )'.',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )'-',      (char const   )'o',      (char const   )'n',
        (char const   )'l',      (char const   )'y',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'s',      (char const   )'h',      (char const   )'o',
        (char const   )'w',      (char const   )' ',      (char const   )'o',      (char const   )'n',
        (char const   )'l',      (char const   )'y',      (char const   )' ',      (char const   )'n',
        (char const   )'a',      (char const   )'m',      (char const   )'e',      (char const   )'s',
        (char const   )' ',      (char const   )'o',      (char const   )'f',      (char const   )' ',
        (char const   )'c',      (char const   )'h',      (char const   )'a',      (char const   )'n',
        (char const   )'g',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'f',      (char const   )'i',      (char const   )'l',      (char const   )'e',
        (char const   )'s',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'n',
        (char const   )'a',      (char const   )'m',      (char const   )'e',      (char const   )'-',
        (char const   )'s',      (char const   )'t',      (char const   )'a',      (char const   )'t',
        (char const   )'u',      (char const   )'s',      (char const   )' ',      (char const   )'s',
        (char const   )'h',      (char const   )'o',      (char const   )'w',      (char const   )' ',
        (char const   )'n',      (char const   )'a',      (char const   )'m',      (char const   )'e',
        (char const   )'s',      (char const   )' ',      (char const   )'a',      (char const   )'n',
        (char const   )'d',      (char const   )' ',      (char const   )'s',      (char const   )'t',
        (char const   )'a',      (char const   )'t',      (char const   )'u',      (char const   )'s',
        (char const   )' ',      (char const   )'o',      (char const   )'f',      (char const   )' ',
        (char const   )'c',      (char const   )'h',      (char const   )'a',      (char const   )'n',
        (char const   )'g',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'f',      (char const   )'i',      (char const   )'l',      (char const   )'e',
        (char const   )'s',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'f',
        (char const   )'u',      (char const   )'l',      (char const   )'l',      (char const   )'-',
        (char const   )'i',      (char const   )'n',      (char const   )'d',      (char const   )'e',
        (char const   )'x',      (char const   )' ',      (char const   )' ',      (char const   )'s',
        (char const   )'h',      (char const   )'o',      (char const   )'w',      (char const   )' ',
        (char const   )'f',      (char const   )'u',      (char const   )'l',      (char const   )'l',
        (char const   )' ',      (char const   )'o',      (char const   )'b',      (char const   )'j',
        (char const   )'e',      (char const   )'c',      (char const   )'t',      (char const   )' ',
        (char const   )'n',      (char const   )'a',      (char const   )'m',      (char const   )'e',
        (char const   )' ',      (char const   )'o',      (char const   )'n',      (char const   )' ',
        (char const   )'i',      (char const   )'n',      (char const   )'d',      (char const   )'e',
        (char const   )'x',      (char const   )' ',      (char const   )'l',      (char const   )'i',
        (char const   )'n',      (char const   )'e',      (char const   )'s',      (char const   )'.',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'a',      (char const   )'b',      (char const   )'b',
        (char const   )'r',      (char const   )'e',      (char const   )'v',      (char const   )'=',
        (char const   )'<',      (char const   )'n',      (char const   )'>',      (char const   )' ',
        (char const   )' ',      (char const   )'a',      (char const   )'b',      (char const   )'b',
        (char const   )'r',      (char const   )'e',      (char const   )'v',      (char const   )'i',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )' ',
        (char const   )'o',      (char const   )'b',      (char const   )'j',      (char const   )'e',
        (char const   )'c',      (char const   )'t',      (char const   )' ',      (char const   )'n',
        (char const   )'a',      (char const   )'m',      (char const   )'e',      (char const   )'s',
        (char const   )' ',      (char const   )'i',      (char const   )'n',      (char const   )' ',
        (char const   )'d',      (char const   )'i',      (char const   )'f',      (char const   )'f',
        (char const   )'-',      (char const   )'t',      (char const   )'r',      (char const   )'e',
        (char const   )'e',      (char const   )' ',      (char const   )'h',      (char const   )'e',
        (char const   )'a',      (char const   )'d',      (char const   )'e',      (char const   )'r',
        (char const   )' ',      (char const   )'a',      (char const   )'n',      (char const   )'d',
        (char const   )' ',      (char const   )'d',      (char const   )'i',      (char const   )'f',
        (char const   )'f',      (char const   )'-',      (char const   )'r',      (char const   )'a',
        (char const   )'w',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'R',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'s',
        (char const   )'w',      (char const   )'a',      (char const   )'p',      (char const   )' ',
        (char const   )'i',      (char const   )'n',      (char const   )'p',      (char const   )'u',
        (char const   )'t',      (char const   )' ',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )' ',      (char const   )'p',
        (char const   )'a',      (char const   )'i',      (char const   )'r',      (char const   )'s',
        (char const   )'.',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'B',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'d',      (char const   )'e',
        (char const   )'t',      (char const   )'e',      (char const   )'c',      (char const   )'t',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'m',
        (char const   )'p',      (char const   )'l',      (char const   )'e',      (char const   )'t',
        (char const   )'e',      (char const   )' ',      (char const   )'r',      (char const   )'e',
        (char const   )'w',      (char const   )'r',      (char const   )'i',      (char const   )'t',
        (char const   )'e',      (char const   )'s',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'M',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'d',      (char const   )'e',      (char const   )'t',      (char const   )'e',
        (char const   )'c',      (char const   )'t',      (char const   )' ',      (char const   )'r',
        (char const   )'e',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )'s',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'C',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'d',      (char const   )'e',      (char const   )'t',      (char const   )'e',
        (char const   )'c',      (char const   )'t',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'p',      (char const   )'i',      (char const   )'e',
        (char const   )'s',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'f',
        (char const   )'i',      (char const   )'n',      (char const   )'d',      (char const   )'-',
        (char const   )'c',      (char const   )'o',      (char const   )'p',      (char const   )'i',
        (char const   )'e',      (char const   )'s',      (char const   )'-',      (char const   )'h',
        (char const   )'a',      (char const   )'r',      (char const   )'d',      (char const   )'e',
        (char const   )'r',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'t',      (char const   )'r',
        (char const   )'y',      (char const   )' ',      (char const   )'u',      (char const   )'n',
        (char const   )'c',      (char const   )'h',      (char const   )'a',      (char const   )'n',
        (char const   )'g',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'f',      (char const   )'i',      (char const   )'l',      (char const   )'e',
        (char const   )'s',      (char const   )' ',      (char const   )'a',      (char const   )'s',
        (char const   )' ',      (char const   )'c',      (char const   )'a',      (char const   )'n',
        (char const   )'d',      (char const   )'i',      (char const   )'d',      (char const   )'a',
        (char const   )'t',      (char const   )'e',      (char const   )' ',      (char const   )'f',
        (char const   )'o',      (char const   )'r',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'p',      (char const   )'y',      (char const   )' ',
        (char const   )'d',      (char const   )'e',      (char const   )'t',      (char const   )'e',
        (char const   )'c',      (char const   )'t',      (char const   )'i',      (char const   )'o',
        (char const   )'n',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'l',      (char const   )'<',
        (char const   )'n',      (char const   )'>',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'l',
        (char const   )'i',      (char const   )'m',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'n',
        (char const   )'a',      (char const   )'m',      (char const   )'e',      (char const   )' ',
        (char const   )'a',      (char const   )'t',      (char const   )'t',      (char const   )'e',
        (char const   )'m',      (char const   )'p',      (char const   )'t',      (char const   )'s',
        (char const   )' ',      (char const   )'u',      (char const   )'p',      (char const   )' ',
        (char const   )'t',      (char const   )'o',      (char const   )' ',      (char const   )'<',
        (char const   )'n',      (char const   )'>',      (char const   )' ',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'h',      (char const   )'s',
        (char const   )'.',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'O',      (char const   )'<',      (char const   )'f',
        (char const   )'i',      (char const   )'l',      (char const   )'e',      (char const   )'>',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'r',      (char const   )'e',
        (char const   )'o',      (char const   )'r',      (char const   )'d',      (char const   )'e',
        (char const   )'r',      (char const   )' ',      (char const   )'d',      (char const   )'i',
        (char const   )'f',      (char const   )'f',      (char const   )'s',      (char const   )' ',
        (char const   )'a',      (char const   )'c',      (char const   )'c',      (char const   )'o',
        (char const   )'r',      (char const   )'d',      (char const   )'i',      (char const   )'n',
        (char const   )'g',      (char const   )' ',      (char const   )'t',      (char const   )'o',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'e',
        (char const   )' ',      (char const   )'<',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )'>',      (char const   )'.',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'S',      (char const   )'<',      (char const   )'s',      (char const   )'t',
        (char const   )'r',      (char const   )'i',      (char const   )'n',      (char const   )'g',
        (char const   )'>',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'f',      (char const   )'i',      (char const   )'n',
        (char const   )'d',      (char const   )' ',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )'p',      (char const   )'a',
        (char const   )'i',      (char const   )'r',      (char const   )' ',      (char const   )'w',
        (char const   )'h',      (char const   )'o',      (char const   )'s',      (char const   )'e',
        (char const   )' ',      (char const   )'o',      (char const   )'n',      (char const   )'l',
        (char const   )'y',      (char const   )' ',      (char const   )'o',      (char const   )'n',
        (char const   )'e',      (char const   )' ',      (char const   )'s',      (char const   )'i',
        (char const   )'d',      (char const   )'e',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'n',      (char const   )'t',      (char const   )'a',
        (char const   )'i',      (char const   )'n',      (char const   )'s',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'s',      (char const   )'t',      (char const   )'r',      (char const   )'i',
        (char const   )'n',      (char const   )'g',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'p',      (char const   )'i',      (char const   )'c',      (char const   )'k',
        (char const   )'a',      (char const   )'x',      (char const   )'e',      (char const   )'-',
        (char const   )'a',      (char const   )'l',      (char const   )'l',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'s',      (char const   )'h',      (char const   )'o',      (char const   )'w',
        (char const   )' ',      (char const   )'a',      (char const   )'l',      (char const   )'l',
        (char const   )' ',      (char const   )'f',      (char const   )'i',      (char const   )'l',
        (char const   )'e',      (char const   )'s',      (char const   )' ',      (char const   )'d',
        (char const   )'i',      (char const   )'f',      (char const   )'f',      (char const   )' ',
        (char const   )'w',      (char const   )'h',      (char const   )'e',      (char const   )'n',
        (char const   )' ',      (char const   )'-',      (char const   )'S',      (char const   )' ',
        (char const   )'i',      (char const   )'s',      (char const   )' ',      (char const   )'u',
        (char const   )'s',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'a',      (char const   )'n',      (char const   )'d',      (char const   )' ',
        (char const   )'h',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'i',      (char const   )'s',      (char const   )' ',      (char const   )'f',
        (char const   )'o',      (char const   )'u',      (char const   )'n',      (char const   )'d',
        (char const   )'.',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'a',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'t',      (char const   )'e',
        (char const   )'x',      (char const   )'t',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'t',      (char const   )'r',
        (char const   )'e',      (char const   )'a',      (char const   )'t',      (char const   )' ',
        (char const   )'a',      (char const   )'l',      (char const   )'l',      (char const   )' ',
        (char const   )'f',      (char const   )'i',      (char const   )'l',      (char const   )'e',
        (char const   )'s',      (char const   )' ',      (char const   )'a',      (char const   )'s',
        (char const   )' ',      (char const   )'t',      (char const   )'e',      (char const   )'x',
        (char const   )'t',      (char const   )'.',      (char const   )'\n',      (char const   )'\000'};
int cmd_diff_index(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct rev_info rev ;
  unsigned int option ;
  int i ;
  int result___0 ;
  int tmp ;
  char const   *arg ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  option = 0U;
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage(diff_cache_usage);
    }
  }
  git_config(& git_diff_basic_config, (void *)0);
  repo_init_revisions(the_repository, & rev, prefix___1);
  rev.abbrev = 0U;
  prefix___1 = precompose_argv_prefix(argc, argv___0, prefix___1);
  diff_merges_suppress_m_parsing();
  argc = setup_revisions(argc, argv___0, & rev, (struct setup_revision_opt *)((void *)0));
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    arg = *(argv___0 + i);
    tmp___2 = strcmp(arg, (char const   *)"--cached");
    if (tmp___2) {
      tmp___1 = strcmp(arg, (char const   *)"--merge-base");
      if (tmp___1) {
        tmp___0 = strcmp(arg, (char const   *)"-m");
        if (tmp___0) {
          usage(diff_cache_usage);
        } else {
          rev.match_missing = 1U;
        }
      } else {
        option |= 2U;
      }
    } else {
      option |= 1U;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! rev.diffopt.output_format) {
    rev.diffopt.output_format = 0x0001;
  }
  rev.diffopt.rotate_to_strict = 1;
  if (rev.pending.nr != 1U) {
    usage(diff_cache_usage);
  } else
  if (rev.max_count != -1) {
    usage(diff_cache_usage);
  } else
  if (rev.min_age != 18446744073709551615UL) {
    usage(diff_cache_usage);
  } else
  if (rev.max_age != 18446744073709551615UL) {
    usage(diff_cache_usage);
  }
  if (! (option & 1U)) {
    setup_work_tree();
    tmp___3 = repo_read_index_preload(the_repository, (struct pathspec  const  *)(& rev.diffopt.pathspec),
                                      0U);
    if (tmp___3 < 0) {
      perror((char const   *)"read_cache_preload");
      return (-1);
    }
  } else {
    tmp___4 = repo_read_index(the_repository);
    if (tmp___4 < 0) {
      perror((char const   *)"read_cache");
      return (-1);
    }
  }
  result___0 = run_diff_index(& rev, option);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___5 = diff_result_code(& rev.diffopt, result___0);
  return (tmp___5);
}
}
static double const   __ac_HASH_UPPER___118  =    (double const   )0.77;
__inline static void kh_resize_oid_set___118(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___118(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___118 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___118 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___118(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___118(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___118(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___118(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___118(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___118(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___118 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___118 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___118(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___118(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___118(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___118(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___118(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___118(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___118 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___118 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___118(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___118(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___118(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___118(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static struct rev_info log_tree_opt  ;
static int diff_tree_commit_oid(struct object_id  const  *oid )
{
  struct commit *commit ;
  struct commit *tmp ;
  int tmp___0 ;

  {
  tmp = lookup_commit_reference(the_repository, oid);
  commit = tmp;
  if (! commit) {
    return (-1);
  }
  tmp___0 = log_tree_commit(& log_tree_opt, commit);
  return (tmp___0);
}
}
static int stdin_diff_commit(struct commit *commit , char const   *p___0 )
{
  struct object_id oid ;
  struct commit_list **pptr ;
  struct commit *parent ;
  struct commit *tmp ;
  struct commit_list *tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  pptr = (struct commit_list **)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = p___0;
    p___0 ++;
    if (((int const   )sane_ctype[(unsigned char )*tmp___1] & 1) != 0) {
      tmp___2 = parse_oid_hex(p___0, & oid, & p___0);
      if (tmp___2) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = lookup_commit(the_repository, (struct object_id  const  *)(& oid));
    parent = tmp;
    if (! pptr) {
      free_commit_list(commit->parents);
      commit->parents = (struct commit_list *)((void *)0);
      pptr = & commit->parents;
    }
    if (parent) {
      tmp___0 = commit_list_insert(parent, pptr);
      pptr = & tmp___0->next;
    }
  }
  while_break: /* CIL Label */ ;
  }
  tmp___3 = log_tree_commit(& log_tree_opt, commit);
  return (tmp___3);
}
}
static int stdin_diff_trees(struct tree *tree1 , char const   *p___0 )
{
  struct object_id oid ;
  struct tree *tree2 ;
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;

  {
  tmp___0 = p___0;
  p___0 ++;
  if (((int const   )sane_ctype[(unsigned char )*tmp___0] & 1) != 0) {
    tmp___1 = parse_oid_hex(p___0, & oid, & p___0);
    if (tmp___1) {
      error((char const   *)"Need exactly two trees, separated by a space");
      tmp = const_error();
      return (tmp);
    } else
    if (*p___0) {
      error((char const   *)"Need exactly two trees, separated by a space");
      tmp = const_error();
      return (tmp);
    }
  } else {
    error((char const   *)"Need exactly two trees, separated by a space");
    tmp = const_error();
    return (tmp);
  }
  tree2 = lookup_tree(the_repository, (struct object_id  const  *)(& oid));
  if (! tree2) {
    return (-1);
  } else {
    tmp___2 = parse_tree(tree2);
    if (tmp___2) {
      return (-1);
    }
  }
  tmp___3 = oid_to_hex((struct object_id  const  *)(& tree2->object.oid));
  tmp___4 = oid_to_hex((struct object_id  const  *)(& tree1->object.oid));
  printf((char const   *)"%s %s\n", tmp___4, tmp___3);
  diff_tree_oid((struct object_id  const  *)(& tree1->object.oid), (struct object_id  const  *)(& tree2->object.oid),
                (char const   *)"", & log_tree_opt.diffopt);
  log_tree_diff_flush(& log_tree_opt);
  return (0);
}
}
static int diff_tree_stdin(char *line___0 )
{
  int len___0 ;
  size_t tmp ;
  struct object_id oid ;
  struct object *obj ;
  char const   *p___0 ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  char *tmp___4 ;

  {
  tmp = strlen((char const   *)line___0);
  len___0 = (int )tmp;
  if (! len___0) {
    return (-1);
  } else
  if ((int )*(line___0 + (len___0 - 1)) != 10) {
    return (-1);
  }
  *(line___0 + (len___0 - 1)) = (char)0;
  tmp___0 = parse_oid_hex((char const   *)line___0, & oid, & p___0);
  if (tmp___0) {
    return (-1);
  }
  obj = parse_object(the_repository, (struct object_id  const  *)(& oid));
  if (! obj) {
    return (-1);
  }
  if (obj->type == 1U) {
    tmp___1 = stdin_diff_commit((struct commit *)obj, p___0);
    return (tmp___1);
  }
  if (obj->type == 2U) {
    tmp___2 = stdin_diff_trees((struct tree *)obj, p___0);
    return (tmp___2);
  }
  tmp___3 = type_name(obj->type);
  tmp___4 = oid_to_hex((struct object_id  const  *)(& oid));
  error((char const   *)"Object %s is a %s, not a commit or tree", tmp___4, tmp___3);
  const_error();
  return (-1);
}
}
static char const   diff_tree_usage[1664]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'d',      (char const   )'i',      (char const   )'f',      (char const   )'f',
        (char const   )'-',      (char const   )'t',      (char const   )'r',      (char const   )'e',
        (char const   )'e',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'s',      (char const   )'t',      (char const   )'d',
        (char const   )'i',      (char const   )'n',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'m',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'c',
        (char const   )' ',      (char const   )'|',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'c',      (char const   )'c',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'s',
        (char const   )']',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'v',      (char const   )']',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'p',      (char const   )'r',
        (char const   )'e',      (char const   )'t',      (char const   )'t',      (char const   )'y',
        (char const   )']',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'t',      (char const   )']',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'r',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'-',      (char const   )'r',
        (char const   )'o',      (char const   )'o',      (char const   )'t',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'<',      (char const   )'c',
        (char const   )'o',      (char const   )'m',      (char const   )'m',      (char const   )'o',
        (char const   )'n',      (char const   )'-',      (char const   )'d',      (char const   )'i',
        (char const   )'f',      (char const   )'f',      (char const   )'-',      (char const   )'o',
        (char const   )'p',      (char const   )'t',      (char const   )'i',      (char const   )'o',
        (char const   )'n',      (char const   )'s',      (char const   )'>',      (char const   )']',
        (char const   )' ',      (char const   )'<',      (char const   )'t',      (char const   )'r',
        (char const   )'e',      (char const   )'e',      (char const   )'-',      (char const   )'i',
        (char const   )'s',      (char const   )'h',      (char const   )'>',      (char const   )' ',
        (char const   )'[',      (char const   )'<',      (char const   )'t',      (char const   )'r',
        (char const   )'e',      (char const   )'e',      (char const   )'-',      (char const   )'i',
        (char const   )'s',      (char const   )'h',      (char const   )'>',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'<',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'h',      (char const   )'>',
        (char const   )'.',      (char const   )'.',      (char const   )'.',      (char const   )']',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'r',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'d',      (char const   )'i',      (char const   )'f',
        (char const   )'f',      (char const   )' ',      (char const   )'r',      (char const   )'e',
        (char const   )'c',      (char const   )'u',      (char const   )'r',      (char const   )'s',
        (char const   )'i',      (char const   )'v',      (char const   )'e',      (char const   )'l',
        (char const   )'y',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'c',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'s',      (char const   )'h',
        (char const   )'o',      (char const   )'w',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'m',      (char const   )'b',      (char const   )'i',
        (char const   )'n',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'d',      (char const   )'i',      (char const   )'f',      (char const   )'f',
        (char const   )' ',      (char const   )'f',      (char const   )'o',      (char const   )'r',
        (char const   )' ',      (char const   )'m',      (char const   )'e',      (char const   )'r',
        (char const   )'g',      (char const   )'e',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'m',      (char const   )'m',      (char const   )'i',
        (char const   )'t',      (char const   )'s',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'c',
        (char const   )'c',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'s',
        (char const   )'h',      (char const   )'o',      (char const   )'w',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'b',
        (char const   )'i',      (char const   )'n',      (char const   )'e',      (char const   )'d',
        (char const   )' ',      (char const   )'d',      (char const   )'i',      (char const   )'f',
        (char const   )'f',      (char const   )' ',      (char const   )'f',      (char const   )'o',
        (char const   )'r',      (char const   )' ',      (char const   )'m',      (char const   )'e',
        (char const   )'r',      (char const   )'g',      (char const   )'e',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'m',
        (char const   )'i',      (char const   )'t',      (char const   )'s',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'m',      (char const   )'o',
        (char const   )'v',      (char const   )'i',      (char const   )'n',      (char const   )'g',
        (char const   )' ',      (char const   )'u',      (char const   )'n',      (char const   )'i',
        (char const   )'n',      (char const   )'t',      (char const   )'e',      (char const   )'r',
        (char const   )'e',      (char const   )'s',      (char const   )'t',      (char const   )'i',
        (char const   )'n',      (char const   )'g',      (char const   )' ',      (char const   )'h',
        (char const   )'u',      (char const   )'n',      (char const   )'k',      (char const   )'s',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'c',      (char const   )'o',      (char const   )'m',
        (char const   )'b',      (char const   )'i',      (char const   )'n',      (char const   )'e',
        (char const   )'d',      (char const   )'-',      (char const   )'a',      (char const   )'l',
        (char const   )'l',      (char const   )'-',      (char const   )'p',      (char const   )'a',
        (char const   )'t',      (char const   )'h',      (char const   )'s',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'s',      (char const   )'h',      (char const   )'o',      (char const   )'w',
        (char const   )' ',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )' ',      (char const   )'o',      (char const   )'f',
        (char const   )' ',      (char const   )'f',      (char const   )'i',      (char const   )'l',
        (char const   )'e',      (char const   )' ',      (char const   )'i',      (char const   )'n',
        (char const   )' ',      (char const   )'a',      (char const   )'l',      (char const   )'l',
        (char const   )' ',      (char const   )'p',      (char const   )'a',      (char const   )'r',
        (char const   )'e',      (char const   )'n',      (char const   )'t',      (char const   )'s',
        (char const   )' ',      (char const   )'f',      (char const   )'o',      (char const   )'r',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'m',
        (char const   )'b',      (char const   )'i',      (char const   )'n',      (char const   )'e',
        (char const   )'d',      (char const   )' ',      (char const   )'d',      (char const   )'i',
        (char const   )'f',      (char const   )'f',      (char const   )'s',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'r',      (char const   )'o',      (char const   )'o',      (char const   )'t',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'i',      (char const   )'n',      (char const   )'c',      (char const   )'l',
        (char const   )'u',      (char const   )'d',      (char const   )'e',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'i',      (char const   )'n',      (char const   )'i',      (char const   )'t',
        (char const   )'i',      (char const   )'a',      (char const   )'l',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'m',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'a',
        (char const   )'s',      (char const   )' ',      (char const   )'d',      (char const   )'i',
        (char const   )'f',      (char const   )'f',      (char const   )' ',      (char const   )'a',
        (char const   )'g',      (char const   )'a',      (char const   )'i',      (char const   )'n',
        (char const   )'s',      (char const   )'t',      (char const   )' ',      (char const   )'/',
        (char const   )'d',      (char const   )'e',      (char const   )'v',      (char const   )'/',
        (char const   )'n',      (char const   )'u',      (char const   )'l',      (char const   )'l',
        (char const   )'\n',      (char const   )'\n',      (char const   )'c',      (char const   )'o',
        (char const   )'m',      (char const   )'m',      (char const   )'o',      (char const   )'n',
        (char const   )' ',      (char const   )'d',      (char const   )'i',      (char const   )'f',
        (char const   )'f',      (char const   )' ',      (char const   )'o',      (char const   )'p',
        (char const   )'t',      (char const   )'i',      (char const   )'o',      (char const   )'n',
        (char const   )'s',      (char const   )':',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'z',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'o',
        (char const   )'u',      (char const   )'t',      (char const   )'p',      (char const   )'u',
        (char const   )'t',      (char const   )' ',      (char const   )'d',      (char const   )'i',
        (char const   )'f',      (char const   )'f',      (char const   )'-',      (char const   )'r',
        (char const   )'a',      (char const   )'w',      (char const   )' ',      (char const   )'w',
        (char const   )'i',      (char const   )'t',      (char const   )'h',      (char const   )' ',
        (char const   )'l',      (char const   )'i',      (char const   )'n',      (char const   )'e',
        (char const   )'s',      (char const   )' ',      (char const   )'t',      (char const   )'e',
        (char const   )'r',      (char const   )'m',      (char const   )'i',      (char const   )'n',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )'d',
        (char const   )' ',      (char const   )'w',      (char const   )'i',      (char const   )'t',
        (char const   )'h',      (char const   )' ',      (char const   )'N',      (char const   )'U',
        (char const   )'L',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'p',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'o',
        (char const   )'u',      (char const   )'t',      (char const   )'p',      (char const   )'u',
        (char const   )'t',      (char const   )' ',      (char const   )'p',      (char const   )'a',
        (char const   )'t',      (char const   )'c',      (char const   )'h',      (char const   )' ',
        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )'m',
        (char const   )'a',      (char const   )'t',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'u',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'s',      (char const   )'y',      (char const   )'n',      (char const   )'o',
        (char const   )'n',      (char const   )'y',      (char const   )'m',      (char const   )' ',
        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )' ',
        (char const   )'-',      (char const   )'p',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'p',      (char const   )'a',      (char const   )'t',      (char const   )'c',
        (char const   )'h',      (char const   )'-',      (char const   )'w',      (char const   )'i',
        (char const   )'t',      (char const   )'h',      (char const   )'-',      (char const   )'r',
        (char const   )'a',      (char const   )'w',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'o',
        (char const   )'u',      (char const   )'t',      (char const   )'p',      (char const   )'u',
        (char const   )'t',      (char const   )' ',      (char const   )'b',      (char const   )'o',
        (char const   )'t',      (char const   )'h',      (char const   )' ',      (char const   )'a',
        (char const   )' ',      (char const   )'p',      (char const   )'a',      (char const   )'t',
        (char const   )'c',      (char const   )'h',      (char const   )' ',      (char const   )'a',
        (char const   )'n',      (char const   )'d',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'d',
        (char const   )'i',      (char const   )'f',      (char const   )'f',      (char const   )'-',
        (char const   )'r',      (char const   )'a',      (char const   )'w',      (char const   )' ',
        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )'m',
        (char const   )'a',      (char const   )'t',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'s',      (char const   )'t',      (char const   )'a',      (char const   )'t',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'s',      (char const   )'h',      (char const   )'o',      (char const   )'w',
        (char const   )' ',      (char const   )'d',      (char const   )'i',      (char const   )'f',
        (char const   )'f',      (char const   )'s',      (char const   )'t',      (char const   )'a',
        (char const   )'t',      (char const   )' ',      (char const   )'i',      (char const   )'n',
        (char const   )'s',      (char const   )'t',      (char const   )'e',      (char const   )'a',
        (char const   )'d',      (char const   )' ',      (char const   )'o',      (char const   )'f',
        (char const   )' ',      (char const   )'p',      (char const   )'a',      (char const   )'t',
        (char const   )'c',      (char const   )'h',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'n',      (char const   )'u',      (char const   )'m',      (char const   )'s',
        (char const   )'t',      (char const   )'a',      (char const   )'t',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'s',      (char const   )'h',      (char const   )'o',      (char const   )'w',
        (char const   )' ',      (char const   )'n',      (char const   )'u',      (char const   )'m',
        (char const   )'e',      (char const   )'r',      (char const   )'i',      (char const   )'c',
        (char const   )' ',      (char const   )'d',      (char const   )'i',      (char const   )'f',
        (char const   )'f',      (char const   )'s',      (char const   )'t',      (char const   )'a',
        (char const   )'t',      (char const   )' ',      (char const   )'i',      (char const   )'n',
        (char const   )'s',      (char const   )'t',      (char const   )'e',      (char const   )'a',
        (char const   )'d',      (char const   )' ',      (char const   )'o',      (char const   )'f',
        (char const   )' ',      (char const   )'p',      (char const   )'a',      (char const   )'t',
        (char const   )'c',      (char const   )'h',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'p',      (char const   )'a',      (char const   )'t',      (char const   )'c',
        (char const   )'h',      (char const   )'-',      (char const   )'w',      (char const   )'i',
        (char const   )'t',      (char const   )'h',      (char const   )'-',      (char const   )'s',
        (char const   )'t',      (char const   )'a',      (char const   )'t',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'o',      (char const   )'u',      (char const   )'t',      (char const   )'p',
        (char const   )'u',      (char const   )'t',      (char const   )' ',      (char const   )'a',
        (char const   )' ',      (char const   )'p',      (char const   )'a',      (char const   )'t',
        (char const   )'c',      (char const   )'h',      (char const   )' ',      (char const   )'a',
        (char const   )'n',      (char const   )'d',      (char const   )' ',      (char const   )'p',
        (char const   )'r',      (char const   )'e',      (char const   )'p',      (char const   )'e',
        (char const   )'n',      (char const   )'d',      (char const   )' ',      (char const   )'i',
        (char const   )'t',      (char const   )'s',      (char const   )' ',      (char const   )'d',
        (char const   )'i',      (char const   )'f',      (char const   )'f',      (char const   )'s',
        (char const   )'t',      (char const   )'a',      (char const   )'t',      (char const   )'.',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )'-',      (char const   )'o',      (char const   )'n',
        (char const   )'l',      (char const   )'y',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'s',      (char const   )'h',      (char const   )'o',
        (char const   )'w',      (char const   )' ',      (char const   )'o',      (char const   )'n',
        (char const   )'l',      (char const   )'y',      (char const   )' ',      (char const   )'n',
        (char const   )'a',      (char const   )'m',      (char const   )'e',      (char const   )'s',
        (char const   )' ',      (char const   )'o',      (char const   )'f',      (char const   )' ',
        (char const   )'c',      (char const   )'h',      (char const   )'a',      (char const   )'n',
        (char const   )'g',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'f',      (char const   )'i',      (char const   )'l',      (char const   )'e',
        (char const   )'s',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'n',
        (char const   )'a',      (char const   )'m',      (char const   )'e',      (char const   )'-',
        (char const   )'s',      (char const   )'t',      (char const   )'a',      (char const   )'t',
        (char const   )'u',      (char const   )'s',      (char const   )' ',      (char const   )'s',
        (char const   )'h',      (char const   )'o',      (char const   )'w',      (char const   )' ',
        (char const   )'n',      (char const   )'a',      (char const   )'m',      (char const   )'e',
        (char const   )'s',      (char const   )' ',      (char const   )'a',      (char const   )'n',
        (char const   )'d',      (char const   )' ',      (char const   )'s',      (char const   )'t',
        (char const   )'a',      (char const   )'t',      (char const   )'u',      (char const   )'s',
        (char const   )' ',      (char const   )'o',      (char const   )'f',      (char const   )' ',
        (char const   )'c',      (char const   )'h',      (char const   )'a',      (char const   )'n',
        (char const   )'g',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'f',      (char const   )'i',      (char const   )'l',      (char const   )'e',
        (char const   )'s',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'f',
        (char const   )'u',      (char const   )'l',      (char const   )'l',      (char const   )'-',
        (char const   )'i',      (char const   )'n',      (char const   )'d',      (char const   )'e',
        (char const   )'x',      (char const   )' ',      (char const   )' ',      (char const   )'s',
        (char const   )'h',      (char const   )'o',      (char const   )'w',      (char const   )' ',
        (char const   )'f',      (char const   )'u',      (char const   )'l',      (char const   )'l',
        (char const   )' ',      (char const   )'o',      (char const   )'b',      (char const   )'j',
        (char const   )'e',      (char const   )'c',      (char const   )'t',      (char const   )' ',
        (char const   )'n',      (char const   )'a',      (char const   )'m',      (char const   )'e',
        (char const   )' ',      (char const   )'o',      (char const   )'n',      (char const   )' ',
        (char const   )'i',      (char const   )'n',      (char const   )'d',      (char const   )'e',
        (char const   )'x',      (char const   )' ',      (char const   )'l',      (char const   )'i',
        (char const   )'n',      (char const   )'e',      (char const   )'s',      (char const   )'.',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'a',      (char const   )'b',      (char const   )'b',
        (char const   )'r',      (char const   )'e',      (char const   )'v',      (char const   )'=',
        (char const   )'<',      (char const   )'n',      (char const   )'>',      (char const   )' ',
        (char const   )' ',      (char const   )'a',      (char const   )'b',      (char const   )'b',
        (char const   )'r',      (char const   )'e',      (char const   )'v',      (char const   )'i',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )' ',
        (char const   )'o',      (char const   )'b',      (char const   )'j',      (char const   )'e',
        (char const   )'c',      (char const   )'t',      (char const   )' ',      (char const   )'n',
        (char const   )'a',      (char const   )'m',      (char const   )'e',      (char const   )'s',
        (char const   )' ',      (char const   )'i',      (char const   )'n',      (char const   )' ',
        (char const   )'d',      (char const   )'i',      (char const   )'f',      (char const   )'f',
        (char const   )'-',      (char const   )'t',      (char const   )'r',      (char const   )'e',
        (char const   )'e',      (char const   )' ',      (char const   )'h',      (char const   )'e',
        (char const   )'a',      (char const   )'d',      (char const   )'e',      (char const   )'r',
        (char const   )' ',      (char const   )'a',      (char const   )'n',      (char const   )'d',
        (char const   )' ',      (char const   )'d',      (char const   )'i',      (char const   )'f',
        (char const   )'f',      (char const   )'-',      (char const   )'r',      (char const   )'a',
        (char const   )'w',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'R',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'s',
        (char const   )'w',      (char const   )'a',      (char const   )'p',      (char const   )' ',
        (char const   )'i',      (char const   )'n',      (char const   )'p',      (char const   )'u',
        (char const   )'t',      (char const   )' ',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )' ',      (char const   )'p',
        (char const   )'a',      (char const   )'i',      (char const   )'r',      (char const   )'s',
        (char const   )'.',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'B',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'d',      (char const   )'e',
        (char const   )'t',      (char const   )'e',      (char const   )'c',      (char const   )'t',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'m',
        (char const   )'p',      (char const   )'l',      (char const   )'e',      (char const   )'t',
        (char const   )'e',      (char const   )' ',      (char const   )'r',      (char const   )'e',
        (char const   )'w',      (char const   )'r',      (char const   )'i',      (char const   )'t',
        (char const   )'e',      (char const   )'s',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'M',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'d',      (char const   )'e',      (char const   )'t',      (char const   )'e',
        (char const   )'c',      (char const   )'t',      (char const   )' ',      (char const   )'r',
        (char const   )'e',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )'s',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'C',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'d',      (char const   )'e',      (char const   )'t',      (char const   )'e',
        (char const   )'c',      (char const   )'t',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'p',      (char const   )'i',      (char const   )'e',
        (char const   )'s',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'f',
        (char const   )'i',      (char const   )'n',      (char const   )'d',      (char const   )'-',
        (char const   )'c',      (char const   )'o',      (char const   )'p',      (char const   )'i',
        (char const   )'e',      (char const   )'s',      (char const   )'-',      (char const   )'h',
        (char const   )'a',      (char const   )'r',      (char const   )'d',      (char const   )'e',
        (char const   )'r',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'t',      (char const   )'r',
        (char const   )'y',      (char const   )' ',      (char const   )'u',      (char const   )'n',
        (char const   )'c',      (char const   )'h',      (char const   )'a',      (char const   )'n',
        (char const   )'g',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'f',      (char const   )'i',      (char const   )'l',      (char const   )'e',
        (char const   )'s',      (char const   )' ',      (char const   )'a',      (char const   )'s',
        (char const   )' ',      (char const   )'c',      (char const   )'a',      (char const   )'n',
        (char const   )'d',      (char const   )'i',      (char const   )'d',      (char const   )'a',
        (char const   )'t',      (char const   )'e',      (char const   )' ',      (char const   )'f',
        (char const   )'o',      (char const   )'r',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'p',      (char const   )'y',      (char const   )' ',
        (char const   )'d',      (char const   )'e',      (char const   )'t',      (char const   )'e',
        (char const   )'c',      (char const   )'t',      (char const   )'i',      (char const   )'o',
        (char const   )'n',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'l',      (char const   )'<',
        (char const   )'n',      (char const   )'>',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'l',
        (char const   )'i',      (char const   )'m',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'n',
        (char const   )'a',      (char const   )'m',      (char const   )'e',      (char const   )' ',
        (char const   )'a',      (char const   )'t',      (char const   )'t',      (char const   )'e',
        (char const   )'m',      (char const   )'p',      (char const   )'t',      (char const   )'s',
        (char const   )' ',      (char const   )'u',      (char const   )'p',      (char const   )' ',
        (char const   )'t',      (char const   )'o',      (char const   )' ',      (char const   )'<',
        (char const   )'n',      (char const   )'>',      (char const   )' ',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'h',      (char const   )'s',
        (char const   )'.',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'O',      (char const   )'<',      (char const   )'f',
        (char const   )'i',      (char const   )'l',      (char const   )'e',      (char const   )'>',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'r',      (char const   )'e',
        (char const   )'o',      (char const   )'r',      (char const   )'d',      (char const   )'e',
        (char const   )'r',      (char const   )' ',      (char const   )'d',      (char const   )'i',
        (char const   )'f',      (char const   )'f',      (char const   )'s',      (char const   )' ',
        (char const   )'a',      (char const   )'c',      (char const   )'c',      (char const   )'o',
        (char const   )'r',      (char const   )'d',      (char const   )'i',      (char const   )'n',
        (char const   )'g',      (char const   )' ',      (char const   )'t',      (char const   )'o',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'e',
        (char const   )' ',      (char const   )'<',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )'>',      (char const   )'.',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'S',      (char const   )'<',      (char const   )'s',      (char const   )'t',
        (char const   )'r',      (char const   )'i',      (char const   )'n',      (char const   )'g',
        (char const   )'>',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'f',      (char const   )'i',      (char const   )'n',
        (char const   )'d',      (char const   )' ',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )'p',      (char const   )'a',
        (char const   )'i',      (char const   )'r',      (char const   )' ',      (char const   )'w',
        (char const   )'h',      (char const   )'o',      (char const   )'s',      (char const   )'e',
        (char const   )' ',      (char const   )'o',      (char const   )'n',      (char const   )'l',
        (char const   )'y',      (char const   )' ',      (char const   )'o',      (char const   )'n',
        (char const   )'e',      (char const   )' ',      (char const   )'s',      (char const   )'i',
        (char const   )'d',      (char const   )'e',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'n',      (char const   )'t',      (char const   )'a',
        (char const   )'i',      (char const   )'n',      (char const   )'s',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'s',      (char const   )'t',      (char const   )'r',      (char const   )'i',
        (char const   )'n',      (char const   )'g',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'p',      (char const   )'i',      (char const   )'c',      (char const   )'k',
        (char const   )'a',      (char const   )'x',      (char const   )'e',      (char const   )'-',
        (char const   )'a',      (char const   )'l',      (char const   )'l',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'s',      (char const   )'h',      (char const   )'o',      (char const   )'w',
        (char const   )' ',      (char const   )'a',      (char const   )'l',      (char const   )'l',
        (char const   )' ',      (char const   )'f',      (char const   )'i',      (char const   )'l',
        (char const   )'e',      (char const   )'s',      (char const   )' ',      (char const   )'d',
        (char const   )'i',      (char const   )'f',      (char const   )'f',      (char const   )' ',
        (char const   )'w',      (char const   )'h',      (char const   )'e',      (char const   )'n',
        (char const   )' ',      (char const   )'-',      (char const   )'S',      (char const   )' ',
        (char const   )'i',      (char const   )'s',      (char const   )' ',      (char const   )'u',
        (char const   )'s',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'a',      (char const   )'n',      (char const   )'d',      (char const   )' ',
        (char const   )'h',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'i',      (char const   )'s',      (char const   )' ',      (char const   )'f',
        (char const   )'o',      (char const   )'u',      (char const   )'n',      (char const   )'d',
        (char const   )'.',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'a',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'t',      (char const   )'e',
        (char const   )'x',      (char const   )'t',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'t',      (char const   )'r',
        (char const   )'e',      (char const   )'a',      (char const   )'t',      (char const   )' ',
        (char const   )'a',      (char const   )'l',      (char const   )'l',      (char const   )' ',
        (char const   )'f',      (char const   )'i',      (char const   )'l',      (char const   )'e',
        (char const   )'s',      (char const   )' ',      (char const   )'a',      (char const   )'s',
        (char const   )' ',      (char const   )'t',      (char const   )'e',      (char const   )'x',
        (char const   )'t',      (char const   )'.',      (char const   )'\n',      (char const   )'\000'};
static void diff_tree_tweak_rev(struct rev_info *rev , struct setup_revision_opt *opt___0 )
{


  {
  if (! rev->diffopt.output_format) {
    if (rev->dense_combined_merges) {
      rev->diffopt.output_format = 0x0010;
    } else {
      rev->diffopt.output_format = 0x0001;
    }
  }
  return;
}
}
static struct rev_info *opt  =    & log_tree_opt;
int cmd_diff_tree(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char line___0[1000] ;
  struct object *tree1 ;
  struct object *tree2 ;
  struct setup_revision_opt s_r_opt ;
  struct userformat_want w ;
  int read_stdin ;
  int merge_base ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const   *arg ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  struct object_id oid ;
  void *_swap_a_ptr ;
  void *_swap_b_ptr ;
  unsigned char _swap_buffer[sizeof(tree2)] ;
  int saved_nrl ;
  int saved_dcctc ;
  struct object_id oid___0 ;
  int tmp___6 ;
  char *tmp___7 ;
  int tmp___8 ;

  {
  read_stdin = 0;
  merge_base = 0;
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage(diff_tree_usage);
    }
  }
  git_config(& git_diff_basic_config, (void *)0);
  repo_init_revisions(the_repository, opt, prefix___1);
  tmp___1 = repo_read_index(the_repository);
  if (tmp___1 < 0) {
    tmp___0 = _((char const   *)"index file corrupt");
    die((char const   *)tmp___0);
  }
  opt->abbrev = 0U;
  opt->diff = 1U;
  opt->disable_stdin = 1U;
  memset((void *)(& s_r_opt), 0, sizeof(s_r_opt));
  s_r_opt.tweak = & diff_tree_tweak_rev;
  prefix___1 = precompose_argv_prefix(argc, argv___0, prefix___1);
  argc = setup_revisions(argc, argv___0, opt, & s_r_opt);
  memset((void *)(& w), 0, sizeof(w));
  userformat_find_requirements((char const   *)((void *)0), & w);
  if (! opt->show_notes_given) {
    if (w.notes) {
      opt->show_notes = 1;
    }
  }
  if (opt->show_notes) {
    load_display_notes(& opt->notes_opt);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    argc --;
    if (! (argc > 0)) {
      goto while_break;
    }
    argv___0 ++;
    arg = *argv___0;
    tmp___2 = strcmp(arg, (char const   *)"--stdin");
    if (! tmp___2) {
      read_stdin = 1;
      goto while_continue;
    }
    tmp___3 = strcmp(arg, (char const   *)"--merge-base");
    if (! tmp___3) {
      merge_base = 1;
      goto while_continue;
    }
    usage(diff_tree_usage);
  }
  while_break: /* CIL Label */ ;
  }
  if (read_stdin) {
    if (merge_base) {
      tmp___4 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___4, "--stdin", "--merge-base");
    }
  }
  if (merge_base) {
    if (opt->pending.nr != 2U) {
      tmp___5 = _((char const   *)"--merge-base only works with two commits");
      die((char const   *)tmp___5);
    }
  }
  opt->diffopt.rotate_to_strict = 1;
  {
  if (opt->pending.nr == 0U) {
    goto case_0;
  }
  if (opt->pending.nr == 1U) {
    goto case_1;
  }
  if (opt->pending.nr == 2U) {
    goto case_2;
  }
  goto switch_break;
  case_0: /* CIL Label */
  if (! read_stdin) {
    usage(diff_tree_usage);
  }
  goto switch_break;
  case_1: /* CIL Label */
  tree1 = (opt->pending.objects + 0)->item;
  diff_tree_commit_oid((struct object_id  const  *)(& tree1->oid));
  goto switch_break;
  case_2: /* CIL Label */
  tree1 = (opt->pending.objects + 0)->item;
  tree2 = (opt->pending.objects + 1)->item;
  if (merge_base) {
    diff_get_merge_base((struct rev_info  const  *)opt, & oid);
    tree1 = lookup_object(the_repository, (struct object_id  const  *)(& oid));
  } else
  if (tree2->flags & (1u << 1)) {
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      _swap_a_ptr = (void *)(& tree2);
      _swap_b_ptr = (void *)(& tree1);
      memcpy((void *)(_swap_buffer), (void const   *)_swap_a_ptr, sizeof(tree2));
      memcpy(_swap_a_ptr, (void const   *)_swap_b_ptr, sizeof(tree2) + (sizeof(char [1]) - 1UL));
      memcpy(_swap_b_ptr, (void const   *)(_swap_buffer), sizeof(tree2));
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  diff_tree_oid((struct object_id  const  *)(& tree1->oid), (struct object_id  const  *)(& tree2->oid),
                (char const   *)"", & opt->diffopt);
  log_tree_diff_flush(opt);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  if (read_stdin) {
    saved_nrl = 0;
    saved_dcctc = 0;
    opt->diffopt.rotate_to_strict = 0;
    if (opt->diffopt.detect_rename) {
      if (! the_index.cache) {
        repo_read_index(the_repository);
      }
      opt->diffopt.setup |= 4;
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      tmp___7 = fgets(line___0, (int )sizeof(line___0), stdin);
      if (! tmp___7) {
        goto while_break___1;
      }
      tmp___6 = get_oid_hex((char const   *)(line___0), & oid___0);
      if (tmp___6) {
        fputs((char const   * __restrict  )(line___0), (FILE * __restrict  )stdout);
        fflush(stdout);
      } else {
        diff_tree_stdin(line___0);
        if (saved_nrl < opt->diffopt.needed_rename_limit) {
          saved_nrl = opt->diffopt.needed_rename_limit;
        }
        if (opt->diffopt.degraded_cc_to_c) {
          saved_dcctc = 1;
        }
      }
    }
    while_break___1: /* CIL Label */ ;
    }
    opt->diffopt.degraded_cc_to_c = saved_dcctc;
    opt->diffopt.needed_rename_limit = saved_nrl;
  }
  tmp___8 = diff_result_code(& opt->diffopt, 0);
  return (tmp___8);
}
}
static double const   __ac_HASH_UPPER___119  =    (double const   )0.77;
__inline static void kh_resize_oid_set___119(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___119(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___119 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___119 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___119(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___119(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___119(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___119(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___119(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___119(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___119 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___119 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___119(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___119(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___119(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___119(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___119(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___119(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___119 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___119 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___119(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___119(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___119(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___119(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   builtin_diff_usage[1584]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'d',      (char const   )'i',      (char const   )'f',      (char const   )'f',
        (char const   )' ',      (char const   )'[',      (char const   )'<',      (char const   )'o',
        (char const   )'p',      (char const   )'t',      (char const   )'i',      (char const   )'o',
        (char const   )'n',      (char const   )'s',      (char const   )'>',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'<',      (char const   )'c',
        (char const   )'o',      (char const   )'m',      (char const   )'m',      (char const   )'i',
        (char const   )'t',      (char const   )'>',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'-',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'<',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'h',      (char const   )'>',
        (char const   )'.',      (char const   )'.',      (char const   )'.',      (char const   )']',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'o',      (char const   )'r',      (char const   )':',      (char const   )' ',
        (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'d',      (char const   )'i',      (char const   )'f',      (char const   )'f',
        (char const   )' ',      (char const   )'[',      (char const   )'<',      (char const   )'o',
        (char const   )'p',      (char const   )'t',      (char const   )'i',      (char const   )'o',
        (char const   )'n',      (char const   )'s',      (char const   )'>',      (char const   )']',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'c',
        (char const   )'a',      (char const   )'c',      (char const   )'h',      (char const   )'e',
        (char const   )'d',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'m',      (char const   )'e',      (char const   )'r',
        (char const   )'g',      (char const   )'e',      (char const   )'-',      (char const   )'b',
        (char const   )'a',      (char const   )'s',      (char const   )'e',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'<',      (char const   )'c',
        (char const   )'o',      (char const   )'m',      (char const   )'m',      (char const   )'i',
        (char const   )'t',      (char const   )'>',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'-',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'<',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'h',      (char const   )'>',
        (char const   )'.',      (char const   )'.',      (char const   )'.',      (char const   )']',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'o',      (char const   )'r',      (char const   )':',      (char const   )' ',
        (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'d',      (char const   )'i',      (char const   )'f',      (char const   )'f',
        (char const   )' ',      (char const   )'[',      (char const   )'<',      (char const   )'o',
        (char const   )'p',      (char const   )'t',      (char const   )'i',      (char const   )'o',
        (char const   )'n',      (char const   )'s',      (char const   )'>',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'-',
        (char const   )'m',      (char const   )'e',      (char const   )'r',      (char const   )'g',
        (char const   )'e',      (char const   )'-',      (char const   )'b',      (char const   )'a',
        (char const   )'s',      (char const   )'e',      (char const   )']',      (char const   )' ',
        (char const   )'<',      (char const   )'c',      (char const   )'o',      (char const   )'m',
        (char const   )'m',      (char const   )'i',      (char const   )'t',      (char const   )'>',
        (char const   )' ',      (char const   )'[',      (char const   )'<',      (char const   )'c',
        (char const   )'o',      (char const   )'m',      (char const   )'m',      (char const   )'i',
        (char const   )'t',      (char const   )'>',      (char const   )'.',      (char const   )'.',
        (char const   )'.',      (char const   )']',      (char const   )' ',      (char const   )'<',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'m',
        (char const   )'i',      (char const   )'t',      (char const   )'>',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'-',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'<',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'h',      (char const   )'>',
        (char const   )'.',      (char const   )'.',      (char const   )'.',      (char const   )']',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'o',      (char const   )'r',      (char const   )':',      (char const   )' ',
        (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'d',      (char const   )'i',      (char const   )'f',      (char const   )'f',
        (char const   )' ',      (char const   )'[',      (char const   )'<',      (char const   )'o',
        (char const   )'p',      (char const   )'t',      (char const   )'i',      (char const   )'o',
        (char const   )'n',      (char const   )'s',      (char const   )'>',      (char const   )']',
        (char const   )' ',      (char const   )'<',      (char const   )'c',      (char const   )'o',
        (char const   )'m',      (char const   )'m',      (char const   )'i',      (char const   )'t',
        (char const   )'>',      (char const   )'.',      (char const   )'.',      (char const   )'.',
        (char const   )'<',      (char const   )'c',      (char const   )'o',      (char const   )'m',
        (char const   )'m',      (char const   )'i',      (char const   )'t',      (char const   )'>',
        (char const   )']',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )']',      (char const   )' ',      (char const   )'[',
        (char const   )'<',      (char const   )'p',      (char const   )'a',      (char const   )'t',
        (char const   )'h',      (char const   )'>',      (char const   )'.',      (char const   )'.',
        (char const   )'.',      (char const   )']',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'o',      (char const   )'r',
        (char const   )':',      (char const   )' ',      (char const   )'g',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'d',      (char const   )'i',
        (char const   )'f',      (char const   )'f',      (char const   )' ',      (char const   )'[',
        (char const   )'<',      (char const   )'o',      (char const   )'p',      (char const   )'t',
        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'s',
        (char const   )'>',      (char const   )']',      (char const   )' ',      (char const   )'<',
        (char const   )'b',      (char const   )'l',      (char const   )'o',      (char const   )'b',
        (char const   )'>',      (char const   )' ',      (char const   )'<',      (char const   )'b',
        (char const   )'l',      (char const   )'o',      (char const   )'b',      (char const   )'>',
        (char const   )']',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'o',      (char const   )'r',      (char const   )':',
        (char const   )' ',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'d',      (char const   )'i',      (char const   )'f',
        (char const   )'f',      (char const   )' ',      (char const   )'[',      (char const   )'<',
        (char const   )'o',      (char const   )'p',      (char const   )'t',      (char const   )'i',
        (char const   )'o',      (char const   )'n',      (char const   )'s',      (char const   )'>',
        (char const   )']',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'n',      (char const   )'o',      (char const   )'-',      (char const   )'i',
        (char const   )'n',      (char const   )'d',      (char const   )'e',      (char const   )'x',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'-',
        (char const   )']',      (char const   )' ',      (char const   )'<',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'h',      (char const   )'>',
        (char const   )' ',      (char const   )'<',      (char const   )'p',      (char const   )'a',
        (char const   )'t',      (char const   )'h',      (char const   )'>',      (char const   )']',
        (char const   )'\n',      (char const   )'\n',      (char const   )'c',      (char const   )'o',
        (char const   )'m',      (char const   )'m',      (char const   )'o',      (char const   )'n',
        (char const   )' ',      (char const   )'d',      (char const   )'i',      (char const   )'f',
        (char const   )'f',      (char const   )' ',      (char const   )'o',      (char const   )'p',
        (char const   )'t',      (char const   )'i',      (char const   )'o',      (char const   )'n',
        (char const   )'s',      (char const   )':',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'z',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'o',
        (char const   )'u',      (char const   )'t',      (char const   )'p',      (char const   )'u',
        (char const   )'t',      (char const   )' ',      (char const   )'d',      (char const   )'i',
        (char const   )'f',      (char const   )'f',      (char const   )'-',      (char const   )'r',
        (char const   )'a',      (char const   )'w',      (char const   )' ',      (char const   )'w',
        (char const   )'i',      (char const   )'t',      (char const   )'h',      (char const   )' ',
        (char const   )'l',      (char const   )'i',      (char const   )'n',      (char const   )'e',
        (char const   )'s',      (char const   )' ',      (char const   )'t',      (char const   )'e',
        (char const   )'r',      (char const   )'m',      (char const   )'i',      (char const   )'n',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )'d',
        (char const   )' ',      (char const   )'w',      (char const   )'i',      (char const   )'t',
        (char const   )'h',      (char const   )' ',      (char const   )'N',      (char const   )'U',
        (char const   )'L',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'p',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'o',
        (char const   )'u',      (char const   )'t',      (char const   )'p',      (char const   )'u',
        (char const   )'t',      (char const   )' ',      (char const   )'p',      (char const   )'a',
        (char const   )'t',      (char const   )'c',      (char const   )'h',      (char const   )' ',
        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )'m',
        (char const   )'a',      (char const   )'t',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'u',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'s',      (char const   )'y',      (char const   )'n',      (char const   )'o',
        (char const   )'n',      (char const   )'y',      (char const   )'m',      (char const   )' ',
        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )' ',
        (char const   )'-',      (char const   )'p',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'p',      (char const   )'a',      (char const   )'t',      (char const   )'c',
        (char const   )'h',      (char const   )'-',      (char const   )'w',      (char const   )'i',
        (char const   )'t',      (char const   )'h',      (char const   )'-',      (char const   )'r',
        (char const   )'a',      (char const   )'w',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'o',
        (char const   )'u',      (char const   )'t',      (char const   )'p',      (char const   )'u',
        (char const   )'t',      (char const   )' ',      (char const   )'b',      (char const   )'o',
        (char const   )'t',      (char const   )'h',      (char const   )' ',      (char const   )'a',
        (char const   )' ',      (char const   )'p',      (char const   )'a',      (char const   )'t',
        (char const   )'c',      (char const   )'h',      (char const   )' ',      (char const   )'a',
        (char const   )'n',      (char const   )'d',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'d',
        (char const   )'i',      (char const   )'f',      (char const   )'f',      (char const   )'-',
        (char const   )'r',      (char const   )'a',      (char const   )'w',      (char const   )' ',
        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )'m',
        (char const   )'a',      (char const   )'t',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'s',      (char const   )'t',      (char const   )'a',      (char const   )'t',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'s',      (char const   )'h',      (char const   )'o',      (char const   )'w',
        (char const   )' ',      (char const   )'d',      (char const   )'i',      (char const   )'f',
        (char const   )'f',      (char const   )'s',      (char const   )'t',      (char const   )'a',
        (char const   )'t',      (char const   )' ',      (char const   )'i',      (char const   )'n',
        (char const   )'s',      (char const   )'t',      (char const   )'e',      (char const   )'a',
        (char const   )'d',      (char const   )' ',      (char const   )'o',      (char const   )'f',
        (char const   )' ',      (char const   )'p',      (char const   )'a',      (char const   )'t',
        (char const   )'c',      (char const   )'h',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'n',      (char const   )'u',      (char const   )'m',      (char const   )'s',
        (char const   )'t',      (char const   )'a',      (char const   )'t',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'s',      (char const   )'h',      (char const   )'o',      (char const   )'w',
        (char const   )' ',      (char const   )'n',      (char const   )'u',      (char const   )'m',
        (char const   )'e',      (char const   )'r',      (char const   )'i',      (char const   )'c',
        (char const   )' ',      (char const   )'d',      (char const   )'i',      (char const   )'f',
        (char const   )'f',      (char const   )'s',      (char const   )'t',      (char const   )'a',
        (char const   )'t',      (char const   )' ',      (char const   )'i',      (char const   )'n',
        (char const   )'s',      (char const   )'t',      (char const   )'e',      (char const   )'a',
        (char const   )'d',      (char const   )' ',      (char const   )'o',      (char const   )'f',
        (char const   )' ',      (char const   )'p',      (char const   )'a',      (char const   )'t',
        (char const   )'c',      (char const   )'h',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'p',      (char const   )'a',      (char const   )'t',      (char const   )'c',
        (char const   )'h',      (char const   )'-',      (char const   )'w',      (char const   )'i',
        (char const   )'t',      (char const   )'h',      (char const   )'-',      (char const   )'s',
        (char const   )'t',      (char const   )'a',      (char const   )'t',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'o',      (char const   )'u',      (char const   )'t',      (char const   )'p',
        (char const   )'u',      (char const   )'t',      (char const   )' ',      (char const   )'a',
        (char const   )' ',      (char const   )'p',      (char const   )'a',      (char const   )'t',
        (char const   )'c',      (char const   )'h',      (char const   )' ',      (char const   )'a',
        (char const   )'n',      (char const   )'d',      (char const   )' ',      (char const   )'p',
        (char const   )'r',      (char const   )'e',      (char const   )'p',      (char const   )'e',
        (char const   )'n',      (char const   )'d',      (char const   )' ',      (char const   )'i',
        (char const   )'t',      (char const   )'s',      (char const   )' ',      (char const   )'d',
        (char const   )'i',      (char const   )'f',      (char const   )'f',      (char const   )'s',
        (char const   )'t',      (char const   )'a',      (char const   )'t',      (char const   )'.',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )'-',      (char const   )'o',      (char const   )'n',
        (char const   )'l',      (char const   )'y',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'s',      (char const   )'h',      (char const   )'o',
        (char const   )'w',      (char const   )' ',      (char const   )'o',      (char const   )'n',
        (char const   )'l',      (char const   )'y',      (char const   )' ',      (char const   )'n',
        (char const   )'a',      (char const   )'m',      (char const   )'e',      (char const   )'s',
        (char const   )' ',      (char const   )'o',      (char const   )'f',      (char const   )' ',
        (char const   )'c',      (char const   )'h',      (char const   )'a',      (char const   )'n',
        (char const   )'g',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'f',      (char const   )'i',      (char const   )'l',      (char const   )'e',
        (char const   )'s',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'n',
        (char const   )'a',      (char const   )'m',      (char const   )'e',      (char const   )'-',
        (char const   )'s',      (char const   )'t',      (char const   )'a',      (char const   )'t',
        (char const   )'u',      (char const   )'s',      (char const   )' ',      (char const   )'s',
        (char const   )'h',      (char const   )'o',      (char const   )'w',      (char const   )' ',
        (char const   )'n',      (char const   )'a',      (char const   )'m',      (char const   )'e',
        (char const   )'s',      (char const   )' ',      (char const   )'a',      (char const   )'n',
        (char const   )'d',      (char const   )' ',      (char const   )'s',      (char const   )'t',
        (char const   )'a',      (char const   )'t',      (char const   )'u',      (char const   )'s',
        (char const   )' ',      (char const   )'o',      (char const   )'f',      (char const   )' ',
        (char const   )'c',      (char const   )'h',      (char const   )'a',      (char const   )'n',
        (char const   )'g',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'f',      (char const   )'i',      (char const   )'l',      (char const   )'e',
        (char const   )'s',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'f',
        (char const   )'u',      (char const   )'l',      (char const   )'l',      (char const   )'-',
        (char const   )'i',      (char const   )'n',      (char const   )'d',      (char const   )'e',
        (char const   )'x',      (char const   )' ',      (char const   )' ',      (char const   )'s',
        (char const   )'h',      (char const   )'o',      (char const   )'w',      (char const   )' ',
        (char const   )'f',      (char const   )'u',      (char const   )'l',      (char const   )'l',
        (char const   )' ',      (char const   )'o',      (char const   )'b',      (char const   )'j',
        (char const   )'e',      (char const   )'c',      (char const   )'t',      (char const   )' ',
        (char const   )'n',      (char const   )'a',      (char const   )'m',      (char const   )'e',
        (char const   )' ',      (char const   )'o',      (char const   )'n',      (char const   )' ',
        (char const   )'i',      (char const   )'n',      (char const   )'d',      (char const   )'e',
        (char const   )'x',      (char const   )' ',      (char const   )'l',      (char const   )'i',
        (char const   )'n',      (char const   )'e',      (char const   )'s',      (char const   )'.',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'a',      (char const   )'b',      (char const   )'b',
        (char const   )'r',      (char const   )'e',      (char const   )'v',      (char const   )'=',
        (char const   )'<',      (char const   )'n',      (char const   )'>',      (char const   )' ',
        (char const   )' ',      (char const   )'a',      (char const   )'b',      (char const   )'b',
        (char const   )'r',      (char const   )'e',      (char const   )'v',      (char const   )'i',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )' ',
        (char const   )'o',      (char const   )'b',      (char const   )'j',      (char const   )'e',
        (char const   )'c',      (char const   )'t',      (char const   )' ',      (char const   )'n',
        (char const   )'a',      (char const   )'m',      (char const   )'e',      (char const   )'s',
        (char const   )' ',      (char const   )'i',      (char const   )'n',      (char const   )' ',
        (char const   )'d',      (char const   )'i',      (char const   )'f',      (char const   )'f',
        (char const   )'-',      (char const   )'t',      (char const   )'r',      (char const   )'e',
        (char const   )'e',      (char const   )' ',      (char const   )'h',      (char const   )'e',
        (char const   )'a',      (char const   )'d',      (char const   )'e',      (char const   )'r',
        (char const   )' ',      (char const   )'a',      (char const   )'n',      (char const   )'d',
        (char const   )' ',      (char const   )'d',      (char const   )'i',      (char const   )'f',
        (char const   )'f',      (char const   )'-',      (char const   )'r',      (char const   )'a',
        (char const   )'w',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'R',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'s',
        (char const   )'w',      (char const   )'a',      (char const   )'p',      (char const   )' ',
        (char const   )'i',      (char const   )'n',      (char const   )'p',      (char const   )'u',
        (char const   )'t',      (char const   )' ',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )' ',      (char const   )'p',
        (char const   )'a',      (char const   )'i',      (char const   )'r',      (char const   )'s',
        (char const   )'.',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'B',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'d',      (char const   )'e',
        (char const   )'t',      (char const   )'e',      (char const   )'c',      (char const   )'t',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'m',
        (char const   )'p',      (char const   )'l',      (char const   )'e',      (char const   )'t',
        (char const   )'e',      (char const   )' ',      (char const   )'r',      (char const   )'e',
        (char const   )'w',      (char const   )'r',      (char const   )'i',      (char const   )'t',
        (char const   )'e',      (char const   )'s',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'M',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'d',      (char const   )'e',      (char const   )'t',      (char const   )'e',
        (char const   )'c',      (char const   )'t',      (char const   )' ',      (char const   )'r',
        (char const   )'e',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )'s',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'C',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'d',      (char const   )'e',      (char const   )'t',      (char const   )'e',
        (char const   )'c',      (char const   )'t',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'p',      (char const   )'i',      (char const   )'e',
        (char const   )'s',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'f',
        (char const   )'i',      (char const   )'n',      (char const   )'d',      (char const   )'-',
        (char const   )'c',      (char const   )'o',      (char const   )'p',      (char const   )'i',
        (char const   )'e',      (char const   )'s',      (char const   )'-',      (char const   )'h',
        (char const   )'a',      (char const   )'r',      (char const   )'d',      (char const   )'e',
        (char const   )'r',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'t',      (char const   )'r',
        (char const   )'y',      (char const   )' ',      (char const   )'u',      (char const   )'n',
        (char const   )'c',      (char const   )'h',      (char const   )'a',      (char const   )'n',
        (char const   )'g',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'f',      (char const   )'i',      (char const   )'l',      (char const   )'e',
        (char const   )'s',      (char const   )' ',      (char const   )'a',      (char const   )'s',
        (char const   )' ',      (char const   )'c',      (char const   )'a',      (char const   )'n',
        (char const   )'d',      (char const   )'i',      (char const   )'d',      (char const   )'a',
        (char const   )'t',      (char const   )'e',      (char const   )' ',      (char const   )'f',
        (char const   )'o',      (char const   )'r',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'p',      (char const   )'y',      (char const   )' ',
        (char const   )'d',      (char const   )'e',      (char const   )'t',      (char const   )'e',
        (char const   )'c',      (char const   )'t',      (char const   )'i',      (char const   )'o',
        (char const   )'n',      (char const   )'.',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'l',      (char const   )'<',
        (char const   )'n',      (char const   )'>',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'l',
        (char const   )'i',      (char const   )'m',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'n',
        (char const   )'a',      (char const   )'m',      (char const   )'e',      (char const   )' ',
        (char const   )'a',      (char const   )'t',      (char const   )'t',      (char const   )'e',
        (char const   )'m',      (char const   )'p',      (char const   )'t',      (char const   )'s',
        (char const   )' ',      (char const   )'u',      (char const   )'p',      (char const   )' ',
        (char const   )'t',      (char const   )'o',      (char const   )' ',      (char const   )'<',
        (char const   )'n',      (char const   )'>',      (char const   )' ',      (char const   )'p',
        (char const   )'a',      (char const   )'t',      (char const   )'h',      (char const   )'s',
        (char const   )'.',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'O',      (char const   )'<',      (char const   )'f',
        (char const   )'i',      (char const   )'l',      (char const   )'e',      (char const   )'>',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'r',      (char const   )'e',
        (char const   )'o',      (char const   )'r',      (char const   )'d',      (char const   )'e',
        (char const   )'r',      (char const   )' ',      (char const   )'d',      (char const   )'i',
        (char const   )'f',      (char const   )'f',      (char const   )'s',      (char const   )' ',
        (char const   )'a',      (char const   )'c',      (char const   )'c',      (char const   )'o',
        (char const   )'r',      (char const   )'d',      (char const   )'i',      (char const   )'n',
        (char const   )'g',      (char const   )' ',      (char const   )'t',      (char const   )'o',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'e',
        (char const   )' ',      (char const   )'<',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )'>',      (char const   )'.',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'S',      (char const   )'<',      (char const   )'s',      (char const   )'t',
        (char const   )'r',      (char const   )'i',      (char const   )'n',      (char const   )'g',
        (char const   )'>',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'f',      (char const   )'i',      (char const   )'n',
        (char const   )'d',      (char const   )' ',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )'p',      (char const   )'a',
        (char const   )'i',      (char const   )'r',      (char const   )' ',      (char const   )'w',
        (char const   )'h',      (char const   )'o',      (char const   )'s',      (char const   )'e',
        (char const   )' ',      (char const   )'o',      (char const   )'n',      (char const   )'l',
        (char const   )'y',      (char const   )' ',      (char const   )'o',      (char const   )'n',
        (char const   )'e',      (char const   )' ',      (char const   )'s',      (char const   )'i',
        (char const   )'d',      (char const   )'e',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'n',      (char const   )'t',      (char const   )'a',
        (char const   )'i',      (char const   )'n',      (char const   )'s',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'s',      (char const   )'t',      (char const   )'r',      (char const   )'i',
        (char const   )'n',      (char const   )'g',      (char const   )'.',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'p',      (char const   )'i',      (char const   )'c',      (char const   )'k',
        (char const   )'a',      (char const   )'x',      (char const   )'e',      (char const   )'-',
        (char const   )'a',      (char const   )'l',      (char const   )'l',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'s',      (char const   )'h',      (char const   )'o',      (char const   )'w',
        (char const   )' ',      (char const   )'a',      (char const   )'l',      (char const   )'l',
        (char const   )' ',      (char const   )'f',      (char const   )'i',      (char const   )'l',
        (char const   )'e',      (char const   )'s',      (char const   )' ',      (char const   )'d',
        (char const   )'i',      (char const   )'f',      (char const   )'f',      (char const   )' ',
        (char const   )'w',      (char const   )'h',      (char const   )'e',      (char const   )'n',
        (char const   )' ',      (char const   )'-',      (char const   )'S',      (char const   )' ',
        (char const   )'i',      (char const   )'s',      (char const   )' ',      (char const   )'u',
        (char const   )'s',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'a',      (char const   )'n',      (char const   )'d',      (char const   )' ',
        (char const   )'h',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'i',      (char const   )'s',      (char const   )' ',      (char const   )'f',
        (char const   )'o',      (char const   )'u',      (char const   )'n',      (char const   )'d',
        (char const   )'.',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'a',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'t',      (char const   )'e',
        (char const   )'x',      (char const   )'t',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'t',      (char const   )'r',
        (char const   )'e',      (char const   )'a',      (char const   )'t',      (char const   )' ',
        (char const   )'a',      (char const   )'l',      (char const   )'l',      (char const   )' ',
        (char const   )'f',      (char const   )'i',      (char const   )'l',      (char const   )'e',
        (char const   )'s',      (char const   )' ',      (char const   )'a',      (char const   )'s',
        (char const   )' ',      (char const   )'t',      (char const   )'e',      (char const   )'x',
        (char const   )'t',      (char const   )'.',      (char const   )'\n',      (char const   )'\000'};
static char const   *blob_path(struct object_array_entry *entry )
{
  char *tmp ;

  {
  if (entry->path) {
    tmp = entry->path;
  } else {
    tmp = entry->name;
  }
  return ((char const   *)tmp);
}
}
static void stuff_change(struct diff_options *opt___0 , unsigned int old_mode , unsigned int new_mode ,
                         struct object_id  const  *old_oid , struct object_id  const  *new_oid ,
                         int old_oid_valid , int new_oid_valid , char const   *old_path ,
                         char const   *new_path___0 )
{
  struct diff_filespec *one___0 ;
  struct diff_filespec *two___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  void *_swap_a_ptr ;
  void *_swap_b_ptr ;
  unsigned char _swap_buffer[sizeof(old_mode)] ;
  void *_swap_a_ptr___0 ;
  void *_swap_b_ptr___0 ;
  unsigned char _swap_buffer___0[sizeof(old_oid)] ;
  void *_swap_a_ptr___1 ;
  void *_swap_b_ptr___1 ;
  unsigned char _swap_buffer___1[sizeof(old_path)] ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = is_null_oid(old_oid);
  if (! tmp) {
    tmp___0 = is_null_oid(new_oid);
    if (! tmp___0) {
      tmp___1 = oideq(old_oid, new_oid);
      if (tmp___1) {
        if (old_mode == new_mode) {
          return;
        }
      }
    }
  }
  if (opt___0->flags.reverse_diff) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      _swap_a_ptr = (void *)(& old_mode);
      _swap_b_ptr = (void *)(& new_mode);
      memcpy((void *)(_swap_buffer), (void const   *)_swap_a_ptr, sizeof(old_mode));
      memcpy(_swap_a_ptr, (void const   *)_swap_b_ptr, sizeof(old_mode) + (sizeof(char [1]) - 1UL));
      memcpy(_swap_b_ptr, (void const   *)(_swap_buffer), sizeof(old_mode));
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      _swap_a_ptr___0 = (void *)(& old_oid);
      _swap_b_ptr___0 = (void *)(& new_oid);
      memcpy((void *)(_swap_buffer___0), (void const   *)_swap_a_ptr___0, sizeof(old_oid));
      memcpy(_swap_a_ptr___0, (void const   *)_swap_b_ptr___0, sizeof(old_oid) + (sizeof(char [1]) - 1UL));
      memcpy(_swap_b_ptr___0, (void const   *)(_swap_buffer___0), sizeof(old_oid));
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      _swap_a_ptr___1 = (void *)(& old_path);
      _swap_b_ptr___1 = (void *)(& new_path___0);
      memcpy((void *)(_swap_buffer___1), (void const   *)_swap_a_ptr___1, sizeof(old_path));
      memcpy(_swap_a_ptr___1, (void const   *)_swap_b_ptr___1, sizeof(old_path) + (sizeof(char [1]) - 1UL));
      memcpy(_swap_b_ptr___1, (void const   *)(_swap_buffer___1), sizeof(old_path));
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  if (opt___0->prefix) {
    tmp___2 = strncmp(old_path, opt___0->prefix, (size_t )opt___0->prefix_length);
    if (tmp___2) {
      return;
    } else {
      tmp___3 = strncmp(new_path___0, opt___0->prefix, (size_t )opt___0->prefix_length);
      if (tmp___3) {
        return;
      }
    }
  }
  one___0 = alloc_filespec(old_path);
  two___0 = alloc_filespec(new_path___0);
  fill_filespec(one___0, old_oid, old_oid_valid, (unsigned short )old_mode);
  fill_filespec(two___0, new_oid, new_oid_valid, (unsigned short )new_mode);
  diff_queue(& diff_queued_diff, one___0, two___0);
  return;
}
}
static int builtin_diff_b_f(struct rev_info *revs , int argc , char const   **argv___0 ,
                            struct object_array_entry **blob )
{
  struct stat st ;
  char const   *path___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const   *tmp___2 ;
  struct object_id  const  *tmp___3 ;
  unsigned int tmp___4 ;

  {
  if (argc > 1) {
    usage(builtin_diff_usage);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (revs->prune_data.magic & (unsigned int )(~ (1 | (1 << 2)))) {
      BUG_fl((char const   *)"builtin/diff.c", 86, (char const   *)"unsupported magic %x",
             revs->prune_data.magic & (unsigned int )(~ (1 | (1 << 2))));
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  path___6 = (char const   *)(revs->prune_data.items + 0)->match;
  tmp___0 = lstat(path___6, & st);
  if (tmp___0) {
    tmp = _((char const   *)"failed to stat \'%s\'");
    die_errno((char const   *)tmp, path___6);
  }
  if (! ((st.st_mode & 61440U) == 32768U)) {
    if (! ((st.st_mode & 61440U) == 40960U)) {
      tmp___1 = _((char const   *)"\'%s\': not a regular file or symlink");
      die((char const   *)tmp___1, path___6);
    }
  }
  diff_set_mnemonic_prefix(& revs->diffopt, (char const   *)"o/", (char const   *)"w/");
  if ((*(blob + 0))->mode == 12288U) {
    (*(blob + 0))->mode = canon_mode(st.st_mode);
  }
  if ((*(blob + 0))->path) {
    tmp___2 = (char const   *)(*(blob + 0))->path;
  } else {
    tmp___2 = path___6;
  }
  tmp___3 = null_oid();
  tmp___4 = canon_mode(st.st_mode);
  stuff_change(& revs->diffopt, (*(blob + 0))->mode, tmp___4, (struct object_id  const  *)(& ((*(blob + 0))->item)->oid),
               tmp___3, 1, 0, tmp___2, path___6);
  diffcore_std(& revs->diffopt);
  diff_flush(& revs->diffopt);
  return (0);
}
}
static int builtin_diff_blobs(struct rev_info *revs , int argc , char const   **argv___0 ,
                              struct object_array_entry **blob )
{
  unsigned int mode___1 ;
  unsigned int tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;

  {
  tmp = canon_mode(33188U);
  mode___1 = (unsigned int )tmp;
  if (argc > 1) {
    usage(builtin_diff_usage);
  }
  if ((*(blob + 0))->mode == 12288U) {
    (*(blob + 0))->mode = (unsigned int )mode___1;
  }
  if ((*(blob + 1))->mode == 12288U) {
    (*(blob + 1))->mode = (unsigned int )mode___1;
  }
  tmp___0 = blob_path(*(blob + 1));
  tmp___1 = blob_path(*(blob + 0));
  stuff_change(& revs->diffopt, (*(blob + 0))->mode, (*(blob + 1))->mode, (struct object_id  const  *)(& ((*(blob + 0))->item)->oid),
               (struct object_id  const  *)(& ((*(blob + 1))->item)->oid), 1, 1, tmp___1,
               tmp___0);
  diffcore_std(& revs->diffopt);
  diff_flush(& revs->diffopt);
  return (0);
}
}
static int builtin_diff_index(struct rev_info *revs , int argc , char const   **argv___0 )
{
  unsigned int option ;
  char const   *arg ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  option = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (1 < argc)) {
      goto while_break;
    }
    arg = *(argv___0 + 1);
    tmp___0 = strcmp(arg, (char const   *)"--cached");
    if (tmp___0) {
      tmp___1 = strcmp(arg, (char const   *)"--staged");
      if (tmp___1) {
        tmp = strcmp(arg, (char const   *)"--merge-base");
        if (tmp) {
          usage(builtin_diff_usage);
        } else {
          option |= 2U;
        }
      } else {
        option |= 1U;
      }
    } else {
      option |= 1U;
    }
    argv___0 ++;
    argc --;
  }
  while_break: /* CIL Label */ ;
  }
  if (revs->pending.nr != 1U) {
    usage(builtin_diff_usage);
  } else
  if (revs->max_count != -1) {
    usage(builtin_diff_usage);
  } else
  if (revs->min_age != 18446744073709551615UL) {
    usage(builtin_diff_usage);
  } else
  if (revs->max_age != 18446744073709551615UL) {
    usage(builtin_diff_usage);
  }
  if (! (option & 1U)) {
    setup_work_tree();
    tmp___2 = repo_read_index_preload(the_repository, (struct pathspec  const  *)(& revs->diffopt.pathspec),
                                      0U);
    if (tmp___2 < 0) {
      perror((char const   *)"read_cache_preload");
      return (-1);
    }
  } else {
    tmp___3 = repo_read_index(the_repository);
    if (tmp___3 < 0) {
      perror((char const   *)"read_cache");
      return (-1);
    }
  }
  tmp___4 = run_diff_index(revs, option);
  return (tmp___4);
}
}
static int builtin_diff_tree(struct rev_info *revs , int argc , char const   **argv___0 ,
                             struct object_array_entry *ent0 , struct object_array_entry *ent1 )
{
  struct object_id  const  *oid[2] ;
  struct object_id mb_oid ;
  int merge_base ;
  char const   *arg ;
  int tmp ;
  int swap___0 ;

  {
  merge_base = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (1 < argc)) {
      goto while_break;
    }
    arg = *(argv___0 + 1);
    tmp = strcmp(arg, (char const   *)"--merge-base");
    if (tmp) {
      usage(builtin_diff_usage);
    } else {
      merge_base = 1;
    }
    argv___0 ++;
    argc --;
  }
  while_break: /* CIL Label */ ;
  }
  if (merge_base) {
    diff_get_merge_base((struct rev_info  const  *)revs, & mb_oid);
    oid[0] = (struct object_id  const  *)(& mb_oid);
    oid[1] = (struct object_id  const  *)(& ((revs->pending.objects + 1)->item)->oid);
  } else {
    swap___0 = 0;
    if ((ent1->item)->flags & (1u << 1)) {
      swap___0 = 1;
    }
    oid[swap___0] = (struct object_id  const  *)(& (ent0->item)->oid);
    oid[1 - swap___0] = (struct object_id  const  *)(& (ent1->item)->oid);
  }
  diff_tree_oid(oid[0], oid[1], (char const   *)"", & revs->diffopt);
  log_tree_diff_flush(revs);
  return (0);
}
}
static int builtin_diff_combined(struct rev_info *revs , int argc , char const   **argv___0 ,
                                 struct object_array_entry *ent , int ents )
{
  struct oid_array parents ;
  int i ;

  {
  parents.oid = (struct object_id *)0;
  parents.nr = 0UL;
  parents.alloc = 0UL;
  parents.sorted = 0;
  if (argc > 1) {
    usage(builtin_diff_usage);
  }
  diff_merges_set_dense_combined_if_unset(revs);
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < ents)) {
      goto while_break;
    }
    oid_array_append(& parents, (struct object_id  const  *)(& ((ent + i)->item)->oid));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  diff_tree_combined((struct object_id  const  *)(& ((ent + 0)->item)->oid), (struct oid_array  const  *)(& parents),
                     revs);
  oid_array_clear(& parents);
  return (0);
}
}
static void refresh_index_quietly(void)
{
  struct lock_file lock_file___0 ;
  int fd ;

  {
  lock_file___0.tempfile = (struct tempfile *)0;
  fd = repo_hold_locked_index(the_repository, & lock_file___0, 0);
  if (fd < 0) {
    return;
  }
  discard_index(& the_index);
  repo_read_index(the_repository);
  refresh_index(& the_index, (unsigned int )((1 << 2) | (1 << 1)), (struct pathspec  const  *)((void *)0),
                (char *)((void *)0), (char const   *)((void *)0));
  repo_update_index_if_able(the_repository, & lock_file___0);
  return;
}
}
static int builtin_diff_files(struct rev_info *revs , int argc , char const   **argv___0 )
{
  unsigned int options ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  options = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (1 < argc) {
      if (! ((int const   )*(*(argv___0 + 1) + 0) == 45)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___5 = strcmp(*(argv___0 + 1), (char const   *)"--base");
    if (tmp___5) {
      tmp___4 = strcmp(*(argv___0 + 1), (char const   *)"--ours");
      if (tmp___4) {
        tmp___3 = strcmp(*(argv___0 + 1), (char const   *)"--theirs");
        if (tmp___3) {
          tmp___2 = strcmp(*(argv___0 + 1), (char const   *)"-q");
          if (tmp___2) {
            tmp___1 = strcmp(*(argv___0 + 1), (char const   *)"-h");
            if (tmp___1) {
              tmp = _((char const   *)"invalid option: %s");
              error((char const   *)tmp, *(argv___0 + 1));
              tmp___0 = const_error();
              return (tmp___0);
            } else {
              usage(builtin_diff_usage);
            }
          } else {
            options |= 1U;
          }
        } else {
          revs->max_count = 3;
        }
      } else {
        revs->max_count = 2;
      }
    } else {
      revs->max_count = 1;
    }
    argv___0 ++;
    argc --;
  }
  while_break: /* CIL Label */ ;
  }
  if (revs->max_count == -1) {
    if (revs->diffopt.output_format & 0x0010) {
      diff_merges_set_dense_combined_if_unset(revs);
    }
  }
  setup_work_tree();
  tmp___6 = repo_read_index_preload(the_repository, (struct pathspec  const  *)(& revs->diffopt.pathspec),
                                    0U);
  if (tmp___6 < 0) {
    perror((char const   *)"read_cache_preload");
    return (-1);
  }
  tmp___7 = run_diff_files(revs, options);
  return (tmp___7);
}
}
static void symdiff_prepare(struct rev_info *rev , struct symdiff *sym )
{
  int i ;
  int is_symdiff ;
  int basecount ;
  int othercount ;
  int lpos ;
  int rpos ;
  int basepos ;
  struct bitmap *map___0 ;
  struct object *obj ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  is_symdiff = 0;
  basecount = 0;
  othercount = 0;
  lpos = -1;
  rpos = -1;
  basepos = -1;
  map___0 = (struct bitmap *)((void *)0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < rev->cmdline.nr)) {
      goto while_break;
    }
    obj = (rev->pending.objects + i)->item;
    {
    if ((unsigned int )(rev->cmdline.rev + i)->whence == 4U) {
      goto case_4;
    }
    if ((unsigned int )(rev->cmdline.rev + i)->whence == 2U) {
      goto case_2;
    }
    if ((unsigned int )(rev->cmdline.rev + i)->whence == 3U) {
      goto case_3;
    }
    if ((unsigned int )(rev->cmdline.rev + i)->whence == 5U) {
      goto case_5;
    }
    if ((unsigned int )(rev->cmdline.rev + i)->whence == 0U) {
      goto case_5;
    }
    if ((unsigned int )(rev->cmdline.rev + i)->whence == 1U) {
      goto case_5;
    }
    goto switch_break;
    case_4: /* CIL Label */
    if (basepos < 0) {
      basepos = i;
    }
    basecount ++;
    goto switch_break;
    case_2: /* CIL Label */
    if (lpos >= 0) {
      usage(builtin_diff_usage);
    }
    lpos = i;
    if (obj->flags & (1u << 8)) {
      is_symdiff = 1;
      goto switch_break;
    }
    goto __Cont;
    case_3: /* CIL Label */
    if (rpos >= 0) {
      usage(builtin_diff_usage);
    }
    rpos = i;
    goto __Cont;
    case_5: /* CIL Label */
    case_0: /* CIL Label */
    case_1: /* CIL Label */
    othercount ++;
    goto __Cont;
    switch_break: /* CIL Label */ ;
    }
    if ((unsigned long )map___0 == (unsigned long )((void *)0)) {
      map___0 = bitmap_new();
    }
    bitmap_set(map___0, (size_t )i);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (lpos >= 0) {
    if (othercount > 0) {
      usage(builtin_diff_usage);
    }
  }
  if (! is_symdiff) {
    bitmap_free(map___0);
    sym->warn = 0;
    sym->skip = (struct bitmap *)((void *)0);
    return;
  }
  sym->left = (char const   *)(rev->pending.objects + lpos)->name;
  sym->right = (char const   *)(rev->pending.objects + rpos)->name;
  if (basecount == 0) {
    tmp = _((char const   *)"%s...%s: no merge base");
    die((char const   *)tmp, sym->left, sym->right);
  }
  sym->base = (char const   *)(rev->pending.objects + basepos)->name;
  bitmap_unset(map___0, (size_t )basepos);
  sym->warn = basecount > 1;
  sym->skip = map___0;
  return;
}
}
int cmd_diff(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  struct rev_info rev ;
  struct object_array ent ;
  int blobs ;
  int paths___0 ;
  struct object_array_entry *blob[2] ;
  int nongit ;
  int no_index___0 ;
  int result___0 ;
  struct symdiff sdiff ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int i___0 ;
  char const   *arg ;
  struct tree *tree ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  struct object_array_entry *entry ;
  struct object *obj ;
  char const   *name___0 ;
  int flags___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  struct tree *tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;

  {
  ent.nr = 0U;
  ent.alloc = 0U;
  ent.objects = (struct object_array_entry *)0;
  blobs = 0;
  paths___0 = 0;
  nongit = 0;
  no_index___0 = 0;
  result___0 = 0;
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    tmp = strcmp(*(argv___0 + i), (char const   *)"--");
    if (! tmp) {
      i ++;
      goto while_break;
    }
    tmp___0 = strcmp(*(argv___0 + i), (char const   *)"--no-index");
    if (! tmp___0) {
      no_index___0 = 1;
    }
    if ((int const   )*(*(argv___0 + i) + 0) != 45) {
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  prefix___1 = setup_git_directory_gently(& nongit);
  if (! nongit) {
    prepare_repo_settings(the_repository);
    the_repository->settings.command_requires_full_index = 0;
  }
  if (! no_index___0) {
    if (nongit) {
      no_index___0 = 2;
    } else
    if (argc == i + 2) {
      tmp___1 = path_inside_repo(prefix___1, *(argv___0 + i));
      if (tmp___1) {
        tmp___2 = path_inside_repo(prefix___1, *(argv___0 + (i + 1)));
        if (! tmp___2) {
          no_index___0 = 2;
        }
      } else {
        no_index___0 = 2;
      }
    }
  }
  init_diff_ui_defaults();
  git_config(& git_diff_ui_config, (void *)0);
  prefix___1 = precompose_argv_prefix(argc, argv___0, prefix___1);
  repo_init_revisions(the_repository, & rev, prefix___1);
  rev.diffopt.stat_width = -1;
  rev.diffopt.stat_graph_width = -1;
  rev.diffopt.flags.allow_external = 1U;
  rev.diffopt.flags.allow_textconv = 1U;
  if (no_index___0) {
    tmp___3 = diff_no_index(& rev, no_index___0 == 2, argc, argv___0);
    tmp___4 = trace2_cmd_exit_fl((char const   *)"builtin/diff.c", 474, tmp___3);
    exit(tmp___4);
  }
  rev.diffopt.skip_stat_unmatch = ! (! diff_auto_refresh_index);
  rev.diffopt.ita_invisible_in_index = 1;
  if (nongit) {
    tmp___5 = _((char const   *)"Not a git repository");
    die((char const   *)tmp___5);
  }
  argc = setup_revisions(argc, argv___0, & rev, (struct setup_revision_opt *)((void *)0));
  if (! rev.diffopt.output_format) {
    rev.diffopt.output_format = 0x0010;
    diff_setup_done(& rev.diffopt);
  }
  rev.diffopt.flags.recursive = 1U;
  rev.diffopt.rotate_to_strict = 1;
  setup_diff_pager(& rev.diffopt);
  if (! rev.pending.nr) {
    i___0 = 1;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i___0 < argc)) {
        goto while_break___0;
      }
      arg = *(argv___0 + i___0);
      tmp___8 = strcmp(arg, (char const   *)"--");
      if (tmp___8) {
        tmp___6 = strcmp(arg, (char const   *)"--cached");
        if (tmp___6) {
          tmp___7 = strcmp(arg, (char const   *)"--staged");
          if (! tmp___7) {
            _L: /* CIL Label */
            add_head_to_pending(& rev);
            if (! rev.pending.nr) {
              tree = lookup_tree(the_repository, (struct object_id  const  *)(the_repository->hash_algo)->empty_tree);
              add_pending_object(& rev, & tree->object, (char const   *)"HEAD");
            }
            goto while_break___0;
          }
        } else {
          goto _L;
        }
      } else {
        goto while_break___0;
      }
      i___0 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  symdiff_prepare(& rev, & sdiff);
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned int )i < rev.pending.nr)) {
      goto while_break___1;
    }
    entry = rev.pending.objects + i;
    obj = entry->item;
    name___0 = (char const   *)entry->name;
    flags___0 = (int )(obj->flags & (1u << 1));
    if (! obj->parsed) {
      obj = parse_object(the_repository, (struct object_id  const  *)(& obj->oid));
    }
    obj = deref_tag(the_repository, obj, (char const   *)((void *)0), 0);
    if (! obj) {
      tmp___9 = _((char const   *)"invalid object \'%s\' given.");
      die((char const   *)tmp___9, name___0);
    }
    if (obj->type == 1U) {
      tmp___10 = repo_get_commit_tree(the_repository, (struct commit  const  *)((struct commit *)obj));
      obj = & tmp___10->object;
    }
    if (obj->type == 2U) {
      if (sdiff.skip) {
        tmp___11 = bitmap_get(sdiff.skip, (size_t )i);
        if (tmp___11) {
          goto __Cont;
        }
      }
      obj->flags |= (unsigned int )flags___0;
      add_object_array(obj, name___0, & ent);
    } else
    if (obj->type == 3U) {
      if (2 <= blobs) {
        tmp___12 = _((char const   *)"more than two blobs given: \'%s\'");
        die((char const   *)tmp___12, name___0);
      }
      blob[blobs] = entry;
      blobs ++;
    } else {
      tmp___13 = _((char const   *)"unhandled object \'%s\' given.");
      die((char const   *)tmp___13, name___0);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  if (rev.prune_data.nr) {
    paths___0 += rev.prune_data.nr;
  }
  if (! ent.nr) {
    {
    if (blobs == 0) {
      goto case_0;
    }
    if (blobs == 1) {
      goto case_1;
    }
    if (blobs == 2) {
      goto case_2;
    }
    goto switch_default;
    case_0: /* CIL Label */
    result___0 = builtin_diff_files(& rev, argc, argv___0);
    goto switch_break;
    case_1: /* CIL Label */
    if (paths___0 != 1) {
      usage(builtin_diff_usage);
    }
    result___0 = builtin_diff_b_f(& rev, argc, argv___0, blob);
    goto switch_break;
    case_2: /* CIL Label */
    if (paths___0) {
      usage(builtin_diff_usage);
    }
    result___0 = builtin_diff_blobs(& rev, argc, argv___0, blob);
    goto switch_break;
    switch_default: /* CIL Label */
    usage(builtin_diff_usage);
    switch_break: /* CIL Label */ ;
    }
  } else
  if (blobs) {
    usage(builtin_diff_usage);
  } else
  if (ent.nr == 1U) {
    result___0 = builtin_diff_index(& rev, argc, argv___0);
  } else
  if (ent.nr == 2U) {
    if (sdiff.warn) {
      tmp___14 = _((char const   *)"%s...%s: multiple merge bases, using %s");
      warning((char const   *)tmp___14, sdiff.left, sdiff.right, sdiff.base);
    }
    result___0 = builtin_diff_tree(& rev, argc, argv___0, ent.objects + 0, ent.objects + 1);
  } else {
    result___0 = builtin_diff_combined(& rev, argc, argv___0, ent.objects, (int )ent.nr);
  }
  result___0 = diff_result_code(& rev.diffopt, result___0);
  if (1 < rev.diffopt.skip_stat_unmatch) {
    refresh_index_quietly();
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    goto while_break___3;
  }
  while_break___3: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    goto while_break___4;
  }
  while_break___4: /* CIL Label */ ;
  }
  return (result___0);
}
}
static double const   __ac_HASH_UPPER___120  =    (double const   )0.77;
__inline static void kh_resize_oid_set___120(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___120(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___120 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___120 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___120(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___120(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___120(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___120(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___120(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___120(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___120 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___120 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___120(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___120(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___120(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___120(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___120(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___120(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___120 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___120 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___120(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___120(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___120(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___120(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___88(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___88(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___120 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___120 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___88(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___88(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___88(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___88(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int trust_exit_code  ;
static char const   *builtin_difftool_usage[2]  = {      (char const   *)"git difftool [<options>] [<commit> [<commit>]] [--] [<path>...]",      (char const   *)((void *)0)};
static int difftool_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = strcmp(var, (char const   *)"difftool.trustexitcode");
  if (! tmp) {
    trust_exit_code = git_config_bool(var, value);
    return (0);
  }
  tmp___0 = git_default_config(var, value, cb);
  return (tmp___0);
}
}
static int print_tool_help(void)
{
  char const   *argv___0[3] ;
  int tmp ;

  {
  argv___0[0] = (char const   *)"mergetool";
  argv___0[1] = (char const   *)"--tool-help=diff";
  argv___0[2] = (char const   *)((void *)0);
  tmp = run_command_v_opt(argv___0, 1 << 1);
  return (tmp);
}
}
static int parse_index_info(char *p___0 , int *mode1 , int *mode2 , struct object_id *oid1 ,
                            struct object_id *oid2 , char *status )
{
  int tmp ;
  long tmp___0 ;
  int tmp___1 ;
  long tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;

  {
  if ((int )*p___0 != 58) {
    error((char const   *)"expected \':\', got \'%c\'", (int )*p___0);
    tmp = const_error();
    return (tmp);
  }
  tmp___0 = strtol((char const   * __restrict  )(p___0 + 1), (char ** __restrict  )(& p___0),
                   8);
  *mode1 = (int )tmp___0;
  if ((int )*p___0 != 32) {
    error((char const   *)"expected \' \', got \'%c\'", (int )*p___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  tmp___2 = strtol((char const   * __restrict  )(p___0 + 1), (char ** __restrict  )(& p___0),
                   8);
  *mode2 = (int )tmp___2;
  if ((int )*p___0 != 32) {
    error((char const   *)"expected \' \', got \'%c\'", (int )*p___0);
    tmp___3 = const_error();
    return (tmp___3);
  }
  p___0 ++;
  tmp___5 = parse_oid_hex((char const   *)p___0, oid1, (char const   **)(& p___0));
  if (tmp___5) {
    error((char const   *)"expected object ID, got \'%s\'", p___0);
    tmp___4 = const_error();
    return (tmp___4);
  }
  if ((int )*p___0 != 32) {
    error((char const   *)"expected \' \', got \'%c\'", (int )*p___0);
    tmp___6 = const_error();
    return (tmp___6);
  }
  p___0 ++;
  tmp___8 = parse_oid_hex((char const   *)p___0, oid2, (char const   **)(& p___0));
  if (tmp___8) {
    error((char const   *)"expected object ID, got \'%s\'", p___0);
    tmp___7 = const_error();
    return (tmp___7);
  }
  if ((int )*p___0 != 32) {
    error((char const   *)"expected \' \', got \'%c\'", (int )*p___0);
    tmp___9 = const_error();
    return (tmp___9);
  }
  p___0 ++;
  *status = *p___0;
  if (! *status) {
    error((char const   *)"missing status");
    tmp___10 = const_error();
    return (tmp___10);
  }
  if (*(p___0 + 1)) {
    if (! (((int const   )sane_ctype[(unsigned char )*(p___0 + 1)] & 2) != 0)) {
      error((char const   *)"unexpected trailer: \'%s\'", p___0 + 1);
      tmp___11 = const_error();
      return (tmp___11);
    }
  }
  return (0);
}
}
static void add_path___0(struct strbuf *buf___19 , size_t base_len , char const   *path___6 )
{


  {
  strbuf_setlen___33(buf___19, base_len);
  if (buf___19->len) {
    if ((int )*(buf___19->buf + (buf___19->len - 1UL)) != 47) {
      strbuf_addch(buf___19, '/');
    }
  }
  strbuf_addstr(buf___19, path___6);
  return;
}
}
static int use_wt_file(char const   *workdir , char const   *name___0 , struct object_id *oid )
{
  struct strbuf buf___19 ;
  struct stat st ;
  int use___1 ;
  struct object_id wt_oid ;
  int fd ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  use___1 = 0;
  strbuf_addstr(& buf___19, workdir);
  add_path___0(& buf___19, buf___19.len, name___0);
  tmp___3 = lstat((char const   *)buf___19.buf, & st);
  if (! tmp___3) {
    if (! ((st.st_mode & 61440U) == 40960U)) {
      tmp = open((char const   *)buf___19.buf, 00);
      fd = tmp;
      if (fd >= 0) {
        tmp___2 = index_fd(& the_index, & wt_oid, fd, & st, (enum object_type )3,
                           name___0, 0U);
        if (! tmp___2) {
          tmp___1 = is_null_oid((struct object_id  const  *)oid);
          if (tmp___1) {
            oidcpy(oid, (struct object_id  const  *)(& wt_oid));
            use___1 = 1;
          } else {
            tmp___0 = oideq((struct object_id  const  *)oid, (struct object_id  const  *)(& wt_oid));
            if (tmp___0) {
              use___1 = 1;
            }
          }
        }
      }
    }
  }
  strbuf_release(& buf___19);
  return (use___1);
}
}
static int working_tree_entry_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *eptr ,
                                  struct hashmap_entry  const  *entry_or_key , void const   *unused_keydata )
{
  struct working_tree_entry  const  *a ;
  struct working_tree_entry  const  *b___0 ;
  int tmp ;

  {
  a = (struct working_tree_entry  const  *)((char *)eptr - (unsigned long )(& ((struct working_tree_entry  const  *)0)->entry));
  b___0 = (struct working_tree_entry  const  *)((char *)entry_or_key - (unsigned long )(& ((struct working_tree_entry  const  *)0)->entry));
  tmp = strcmp((char const   *)(a->path), (char const   *)(b___0->path));
  return (tmp);
}
}
static int pair_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *eptr ,
                    struct hashmap_entry  const  *entry_or_key , void const   *unused_keydata )
{
  struct pair_entry  const  *a ;
  struct pair_entry  const  *b___0 ;
  int tmp ;

  {
  a = (struct pair_entry  const  *)((char *)eptr - (unsigned long )(& ((struct pair_entry  const  *)0)->entry));
  b___0 = (struct pair_entry  const  *)((char *)entry_or_key - (unsigned long )(& ((struct pair_entry  const  *)0)->entry));
  tmp = strcmp((char const   *)(a->path), (char const   *)(b___0->path));
  return (tmp);
}
}
static void add_left_or_right(struct hashmap *map___0 , char const   *path___6 , char const   *content ,
                              int is_right )
{
  struct pair_entry *e ;
  struct pair_entry *existing ;
  size_t flex_array_len_ ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  unsigned int tmp___3 ;
  struct hashmap_entry *tmp___4 ;
  void *tmp___5 ;
  char tmp___6 ;
  char *tmp___7 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = strlen(path___6);
    flex_array_len_ = tmp;
    tmp___0 = st_add(sizeof(*e), flex_array_len_);
    tmp___1 = st_add(tmp___0, (size_t )1);
    tmp___2 = xcalloc((size_t )1, tmp___1);
    e = (struct pair_entry *)tmp___2;
    memcpy((void *)(e->path), (void const   *)path___6, flex_array_len_);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___3 = strhash(path___6);
  hashmap_entry_init(& e->entry, tmp___3);
  tmp___4 = hashmap_get((struct hashmap  const  *)map___0, (struct hashmap_entry  const  *)(& e->entry),
                        (void const   *)((void *)0));
  tmp___5 = container_of_or_null_offset((void *)tmp___4, (unsigned long )(& ((struct pair_entry *)0)->entry));
  existing = (struct pair_entry *)tmp___5;
  if (existing) {
    free((void *)e);
    e = existing;
  } else {
    tmp___6 = (char )'\000';
    e->right[0] = tmp___6;
    e->left[0] = tmp___6;
    hashmap_add(map___0, & e->entry);
  }
  if (is_right) {
    tmp___7 = e->right;
  } else {
    tmp___7 = e->left;
  }
  gitstrlcpy(tmp___7, content, (size_t )4096);
  return;
}
}
static int path_entry_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *eptr ,
                          struct hashmap_entry  const  *entry_or_key , void const   *key___1 )
{
  struct path_entry  const  *a ;
  struct path_entry  const  *b___0 ;
  void *tmp ;
  int tmp___0 ;

  {
  a = (struct path_entry  const  *)((char *)eptr - (unsigned long )(& ((struct path_entry  const  *)0)->entry));
  b___0 = (struct path_entry  const  *)((char *)entry_or_key - (unsigned long )(& ((struct path_entry  const  *)0)->entry));
  if (key___1) {
    tmp = (void *)key___1;
  } else {
    tmp = (void *)(b___0->path);
  }
  tmp___0 = strcmp((char const   *)(a->path), (char const   *)tmp);
  return (tmp___0);
}
}
static void changed_files(struct hashmap *result___0 , char const   *index_path___0 ,
                          char const   *workdir )
{
  struct child_process update_index___0 ;
  struct child_process diff_files ;
  struct strbuf buf___19 ;
  char const   *git_dir ;
  char const   *tmp ;
  char const   *tmp___0 ;
  FILE *fp ;
  int tmp___1 ;
  struct path_entry *entry ;
  size_t flex_array_len_ ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;
  unsigned int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  update_index___0.args.v = empty_strvec;
  update_index___0.args.nr = 0UL;
  update_index___0.args.alloc = 0UL;
  update_index___0.env_array.v = empty_strvec;
  update_index___0.env_array.nr = 0UL;
  update_index___0.env_array.alloc = 0UL;
  update_index___0.pid = 0;
  update_index___0.trace2_child_id = 0;
  update_index___0.trace2_child_us_start = 0UL;
  update_index___0.trace2_child_class = (char const   *)0;
  update_index___0.trace2_hook_name = (char const   *)0;
  update_index___0.in = 0;
  update_index___0.out = 0;
  update_index___0.err = 0;
  update_index___0.dir = (char const   *)0;
  update_index___0.no_stdin = 0U;
  update_index___0.no_stdout = 0U;
  update_index___0.no_stderr = 0U;
  update_index___0.git_cmd = 0U;
  update_index___0.silent_exec_failure = 0U;
  update_index___0.use_shell = 0U;
  update_index___0.close_object_store = 0U;
  update_index___0.stdout_to_stderr = 0U;
  update_index___0.clean_on_exit = 0U;
  update_index___0.wait_after_clean = 0U;
  update_index___0.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  update_index___0.clean_on_exit_handler_cbdata = (void *)0;
  diff_files.args.v = empty_strvec;
  diff_files.args.nr = 0UL;
  diff_files.args.alloc = 0UL;
  diff_files.env_array.v = empty_strvec;
  diff_files.env_array.nr = 0UL;
  diff_files.env_array.alloc = 0UL;
  diff_files.pid = 0;
  diff_files.trace2_child_id = 0;
  diff_files.trace2_child_us_start = 0UL;
  diff_files.trace2_child_class = (char const   *)0;
  diff_files.trace2_hook_name = (char const   *)0;
  diff_files.in = 0;
  diff_files.out = 0;
  diff_files.err = 0;
  diff_files.dir = (char const   *)0;
  diff_files.no_stdin = 0U;
  diff_files.no_stdout = 0U;
  diff_files.no_stderr = 0U;
  diff_files.git_cmd = 0U;
  diff_files.silent_exec_failure = 0U;
  diff_files.use_shell = 0U;
  diff_files.close_object_store = 0U;
  diff_files.stdout_to_stderr = 0U;
  diff_files.clean_on_exit = 0U;
  diff_files.wait_after_clean = 0U;
  diff_files.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  diff_files.clean_on_exit_handler_cbdata = (void *)0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = get_git_dir();
  tmp___0 = absolute_path(tmp);
  git_dir = tmp___0;
  strvec_pushl(& update_index___0.args, "--git-dir", git_dir, "--work-tree", workdir,
               "update-index", "--really-refresh", "-q", "--unmerged", (void *)0);
  update_index___0.no_stdin = 1U;
  update_index___0.no_stdout = 1U;
  update_index___0.no_stderr = 1U;
  update_index___0.git_cmd = 1U;
  update_index___0.use_shell = 0U;
  update_index___0.clean_on_exit = 1U;
  update_index___0.dir = workdir;
  strvec_pushf(& update_index___0.env_array, (char const   *)"GIT_INDEX_FILE=%s",
               index_path___0);
  run_command(& update_index___0);
  strvec_pushl(& diff_files.args, "--git-dir", git_dir, "--work-tree", workdir, "diff-files",
               "--name-only", "-z", (void *)0);
  diff_files.no_stdin = 1U;
  diff_files.git_cmd = 1U;
  diff_files.use_shell = 0U;
  diff_files.clean_on_exit = 1U;
  diff_files.out = -1;
  diff_files.dir = workdir;
  strvec_pushf(& diff_files.env_array, (char const   *)"GIT_INDEX_FILE=%s", index_path___0);
  tmp___1 = start_command(& diff_files);
  if (tmp___1) {
    die((char const   *)"could not obtain raw diff");
  }
  fp = xfdopen(diff_files.out, (char const   *)"r");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___7 = strbuf_getline_nul(& buf___19, fp);
    if (tmp___7) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___2 = strlen((char const   *)buf___19.buf);
      flex_array_len_ = tmp___2;
      tmp___3 = st_add(sizeof(*entry), flex_array_len_);
      tmp___4 = st_add(tmp___3, (size_t )1);
      tmp___5 = xcalloc((size_t )1, tmp___4);
      entry = (struct path_entry *)tmp___5;
      memcpy((void *)(entry->path), (void const   *)buf___19.buf, flex_array_len_);
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___6 = strhash((char const   *)buf___19.buf);
    hashmap_entry_init(& entry->entry, tmp___6);
    hashmap_add(result___0, & entry->entry);
  }
  while_break: /* CIL Label */ ;
  }
  fclose(fp);
  tmp___8 = finish_command(& diff_files);
  if (tmp___8) {
    die((char const   *)"diff-files did not exit properly");
  }
  strbuf_release(& buf___19);
  return;
}
}
static int ensure_leading_directories(char *path___6 )
{
  enum scld_error tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  tmp = safe_create_leading_directories(path___6);
  {
  if ((int )tmp == -3) {
    goto case_neg_3;
  }
  if ((int )tmp == 0) {
    goto case_neg_3;
  }
  goto switch_default;
  case_neg_3: /* CIL Label */
  case_0: /* CIL Label */
  return (0);
  switch_default: /* CIL Label */
  tmp___0 = _((char const   *)"could not create leading directories of \'%s\'");
  error((char const   *)tmp___0, path___6);
  tmp___1 = const_error();
  return (tmp___1);
  switch_break: /* CIL Label */ ;
  }
}
}
static char *get_symlink(struct object_id  const  *oid , char const   *path___6 )
{
  char *data ;
  struct strbuf link___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  ssize_t tmp___3 ;
  enum object_type type___0 ;
  unsigned long size ;
  void *tmp___4 ;
  char *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;

  {
  tmp___7 = is_null_oid(oid);
  if (tmp___7) {
    link___1.alloc = 0UL;
    link___1.len = 0UL;
    link___1.buf = strbuf_slopbuf;
    if (has_symlinks) {
      tmp___0 = strlen(path___6);
      tmp___1 = strbuf_readlink(& link___1, path___6, tmp___0);
      if (tmp___1) {
        tmp = _((char const   *)"could not read symlink %s");
        die((char const   *)tmp, path___6);
      }
    } else {
      tmp___3 = strbuf_read_file(& link___1, path___6, (size_t )128);
      if (tmp___3) {
        tmp___2 = _((char const   *)"could not read symlink file %s");
        die((char const   *)tmp___2, path___6);
      }
    }
    data = strbuf_detach(& link___1, (size_t *)((void *)0));
  } else {
    tmp___4 = repo_read_object_file(the_repository, oid, & type___0, & size);
    data = (char *)tmp___4;
    if (! data) {
      tmp___5 = oid_to_hex(oid);
      tmp___6 = _((char const   *)"could not read object %s for symlink %s");
      die((char const   *)tmp___6, tmp___5, path___6);
    }
  }
  return (data);
}
}
static int checkout_path(unsigned int mode___1 , struct object_id *oid , char const   *path___6 ,
                         struct checkout  const  *state___1 )
{
  struct cache_entry *ce ;
  int ret___67 ;

  {
  ce = make_transient_cache_entry(mode___1, (struct object_id  const  *)oid, path___6,
                                  0, (struct mem_pool *)((void *)0));
  ret___67 = checkout_entry(ce, state___1, (char *)((void *)0), (int *)((void *)0));
  discard_cache_entry(ce);
  return (ret___67);
}
}
static void write_file_in_directory(struct strbuf *dir , size_t dir_len , char const   *path___6 ,
                                    char const   *content )
{


  {
  add_path___0(dir, dir_len, path___6);
  ensure_leading_directories(dir->buf);
  unlink((char const   *)dir->buf);
  write_file((char const   *)dir->buf, (char const   *)"%s", content);
  return;
}
}
static void write_standin_files(struct pair_entry *entry , struct strbuf *ldir , size_t ldir_len ,
                                struct strbuf *rdir , size_t rdir_len )
{


  {
  if (entry->left[0]) {
    write_file_in_directory(ldir, ldir_len, entry->path, (char const   *)(entry->left));
  }
  if (entry->right[0]) {
    write_file_in_directory(rdir, rdir_len, entry->path, (char const   *)(entry->right));
  }
  return;
}
}
static int run_dir_diff(char const   *extcmd___0 , int symlinks , char const   *prefix___1 ,
                        struct child_process *child )
{
  struct strbuf info___0 ;
  struct strbuf lpath ;
  struct strbuf rpath___0 ;
  struct strbuf buf___19 ;
  struct strbuf ldir ;
  struct strbuf rdir ;
  struct strbuf wtdir ;
  struct strbuf tmpdir ;
  char *lbase_dir ;
  char *rbase_dir ;
  size_t ldir_len ;
  size_t rdir_len ;
  size_t wtdir_len ;
  char const   *workdir ;
  char const   *tmp ;
  int ret___67 ;
  int i ;
  FILE *fp ;
  struct hashmap working_tree_dups ;
  struct hashmap submodules ;
  struct hashmap symlinks2 ;
  struct hashmap_iter iter___0 ;
  struct pair_entry *entry ;
  struct index_state wtindex ;
  struct checkout lstate ;
  struct checkout rstate ;
  int flags___0 ;
  int err___4 ;
  char const   *helper_argv[4] ;
  struct hashmap wt_modified ;
  struct hashmap tmp_modified ;
  int indices_loaded ;
  char *tmp___0 ;
  char const   *tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int lmode ;
  int rmode ;
  struct object_id loid ;
  struct object_id roid ;
  char status ;
  char const   *src_path ;
  char const   *dst_path ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char *tmp___9 ;
  char *tmp___10 ;
  int tmp___11 ;
  char *content ;
  char *tmp___12 ;
  char *content___0 ;
  char *tmp___13 ;
  int tmp___14 ;
  struct working_tree_entry *entry___0 ;
  size_t flex_array_len_ ;
  size_t tmp___15 ;
  size_t tmp___16 ;
  size_t tmp___17 ;
  void *tmp___18 ;
  unsigned int tmp___19 ;
  struct hashmap_entry *tmp___20 ;
  int tmp___21 ;
  struct cache_entry *ce2 ;
  struct cache_entry *tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  struct stat st ;
  int tmp___25 ;
  int tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;
  int tmp___30 ;
  struct hashmap_entry *tmp___31 ;
  void *tmp___32 ;
  struct hashmap_entry *tmp___33 ;
  void *tmp___34 ;
  struct hashmap_entry *tmp___35 ;
  void *tmp___36 ;
  struct hashmap_entry *tmp___37 ;
  void *tmp___38 ;
  struct hashmap_entry dummy___0 ;
  char const   *name___0 ;
  struct stat st___0 ;
  int tmp___39 ;
  struct lock_file lock___0 ;
  int tmp___40 ;
  int tmp___41 ;
  unsigned int tmp___42 ;
  char const __attribute__((__format_arg__(1)))  *tmp___43 ;
  char const __attribute__((__format_arg__(1)))  *tmp___44 ;
  char const __attribute__((__format_arg__(1)))  *tmp___45 ;
  int tmp___46 ;
  int tmp___47 ;
  struct hashmap_entry *tmp___48 ;
  struct hashmap_entry *tmp___49 ;
  char const __attribute__((__format_arg__(1)))  *tmp___50 ;
  char const __attribute__((__format_arg__(1)))  *tmp___51 ;
  char const __attribute__((__format_arg__(1)))  *tmp___52 ;
  int tmp___53 ;

  {
  info___0.alloc = 0UL;
  info___0.len = 0UL;
  info___0.buf = strbuf_slopbuf;
  lpath.alloc = 0UL;
  lpath.len = 0UL;
  lpath.buf = strbuf_slopbuf;
  rpath___0.alloc = 0UL;
  rpath___0.len = 0UL;
  rpath___0.buf = strbuf_slopbuf;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  ldir.alloc = 0UL;
  ldir.len = 0UL;
  ldir.buf = strbuf_slopbuf;
  rdir.alloc = 0UL;
  rdir.len = 0UL;
  rdir.buf = strbuf_slopbuf;
  wtdir.alloc = 0UL;
  wtdir.len = 0UL;
  wtdir.buf = strbuf_slopbuf;
  tmpdir.alloc = 0UL;
  tmpdir.len = 0UL;
  tmpdir.buf = strbuf_slopbuf;
  lbase_dir = (char *)((void *)0);
  rbase_dir = (char *)((void *)0);
  ret___67 = 0;
  fp = (FILE *)((void *)0);
  working_tree_dups.table = (struct hashmap_entry **)0;
  working_tree_dups.cmpfn = & working_tree_entry_cmp;
  working_tree_dups.cmpfn_data = (void const   *)((void *)0);
  working_tree_dups.private_size = 0U;
  working_tree_dups.tablesize = 0U;
  working_tree_dups.grow_at = 0U;
  working_tree_dups.shrink_at = 0U;
  working_tree_dups.do_count_items = 1U;
  submodules.table = (struct hashmap_entry **)0;
  submodules.cmpfn = & pair_cmp;
  submodules.cmpfn_data = (void const   *)((void *)0);
  submodules.private_size = 0U;
  submodules.tablesize = 0U;
  submodules.grow_at = 0U;
  submodules.shrink_at = 0U;
  submodules.do_count_items = 1U;
  symlinks2.table = (struct hashmap_entry **)0;
  symlinks2.cmpfn = & pair_cmp;
  symlinks2.cmpfn_data = (void const   *)((void *)0);
  symlinks2.private_size = 0U;
  symlinks2.tablesize = 0U;
  symlinks2.grow_at = 0U;
  symlinks2.shrink_at = 0U;
  symlinks2.do_count_items = 1U;
  flags___0 = 1 << 1;
  err___4 = 0;
  helper_argv[0] = (char const   *)"difftool--helper";
  helper_argv[1] = (char const   *)((void *)0);
  helper_argv[2] = (char const   *)((void *)0);
  helper_argv[3] = (char const   *)((void *)0);
  indices_loaded = 0;
  workdir = get_git_work_tree();
  tmp___0 = getenv((char const   *)"TMPDIR");
  tmp = (char const   *)tmp___0;
  if (tmp) {
    tmp___1 = tmp;
  } else {
    tmp___1 = (char const   *)"/tmp";
  }
  strbuf_add_absolute_path(& tmpdir, tmp___1);
  strbuf_trim_trailing_dir_sep(& tmpdir);
  strbuf_addstr(& tmpdir, (char const   *)"/git-difftool.XXXXXX");
  tmp___2 = mkdtemp(tmpdir.buf);
  if (! tmp___2) {
    error((char const   *)"could not create \'%s\'", tmpdir.buf);
    ret___67 = const_error();
    goto finish;
  }
  strbuf_addf(& ldir, (char const   *)"%s/left/", tmpdir.buf);
  strbuf_addf(& rdir, (char const   *)"%s/right/", tmpdir.buf);
  strbuf_addstr(& wtdir, workdir);
  if (! wtdir.len) {
    strbuf_addch(& wtdir, '/');
  } else {
    tmp___3 = git_is_dir_sep((int )*(wtdir.buf + (wtdir.len - 1UL)));
    if (! tmp___3) {
      strbuf_addch(& wtdir, '/');
    }
  }
  mkdir((char const   *)ldir.buf, (__mode_t )0700);
  mkdir((char const   *)rdir.buf, (__mode_t )0700);
  memset((void *)(& wtindex), 0, sizeof(wtindex));
  memset((void *)(& lstate), 0, sizeof(lstate));
  lbase_dir = xstrdup((char const   *)ldir.buf);
  lstate.base_dir = (char const   *)lbase_dir;
  lstate.base_dir_len = (int )ldir.len;
  lstate.force = 1U;
  memset((void *)(& rstate), 0, sizeof(rstate));
  rbase_dir = xstrdup((char const   *)rdir.buf);
  rstate.base_dir = (char const   *)rbase_dir;
  rstate.base_dir_len = (int )rdir.len;
  rstate.force = 1U;
  ldir_len = ldir.len;
  rdir_len = rdir.len;
  wtdir_len = wtdir.len;
  child->no_stdin = 1U;
  child->git_cmd = 1U;
  child->use_shell = 0U;
  child->clean_on_exit = 1U;
  child->dir = prefix___1;
  child->out = -1;
  tmp___4 = start_command(child);
  if (tmp___4) {
    die((char const   *)"could not obtain raw diff");
  }
  fp = xfdopen(child->out, (char const   *)"r");
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___29 = strbuf_getline_nul(& info___0, fp);
    if (tmp___29) {
      goto while_break;
    }
    tmp___5 = starts_with((char const   *)info___0.buf, (char const   *)"::");
    if (tmp___5) {
      die((char const   *)"combined diff formats (\'-c\' and \'--cc\') are not supported in\ndirectory diff mode (\'-d\' and \'--dir-diff\').");
    }
    tmp___6 = parse_index_info(info___0.buf, & lmode, & rmode, & loid, & roid, & status);
    if (tmp___6) {
      goto while_break;
    }
    tmp___7 = strbuf_getline_nul(& lpath, fp);
    if (tmp___7) {
      goto while_break;
    }
    src_path = (char const   *)lpath.buf;
    i ++;
    if ((int )status != 67) {
      if ((int )status != 82) {
        dst_path = src_path;
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      tmp___8 = strbuf_getline_nul(& rpath___0, fp);
      if (tmp___8) {
        goto while_break;
      }
      dst_path = (char const   *)rpath___0.buf;
    }
    if ((lmode & 0170000) == 0160000) {
      goto _L___0;
    } else
    if ((rmode & 0170000) == 0160000) {
      _L___0: /* CIL Label */
      strbuf_setlen___33(& buf___19, (size_t )0);
      tmp___9 = oid_to_hex((struct object_id  const  *)(& loid));
      strbuf_addf(& buf___19, (char const   *)"Subproject commit %s", tmp___9);
      add_left_or_right(& submodules, src_path, (char const   *)buf___19.buf, 0);
      strbuf_setlen___33(& buf___19, (size_t )0);
      tmp___10 = oid_to_hex((struct object_id  const  *)(& roid));
      strbuf_addf(& buf___19, (char const   *)"Subproject commit %s", tmp___10);
      tmp___11 = oideq((struct object_id  const  *)(& loid), (struct object_id  const  *)(& roid));
      if (tmp___11) {
        strbuf_addstr(& buf___19, (char const   *)"-dirty");
      }
      add_left_or_right(& submodules, dst_path, (char const   *)buf___19.buf, 1);
      goto while_continue;
    }
    if ((lmode & 0170000) == 0120000) {
      tmp___12 = get_symlink((struct object_id  const  *)(& loid), src_path);
      content = tmp___12;
      add_left_or_right(& symlinks2, src_path, (char const   *)content, 0);
      free((void *)content);
    }
    if ((rmode & 0170000) == 0120000) {
      tmp___13 = get_symlink((struct object_id  const  *)(& roid), dst_path);
      content___0 = tmp___13;
      add_left_or_right(& symlinks2, dst_path, (char const   *)content___0, 1);
      free((void *)content___0);
    }
    if (lmode) {
      if ((int )status != 67) {
        tmp___14 = checkout_path((unsigned int )lmode, & loid, src_path, (struct checkout  const  *)(& lstate));
        if (tmp___14) {
          error((char const   *)"could not write \'%s\'", src_path);
          ret___67 = const_error();
          goto finish;
        }
      }
    }
    if (rmode) {
      if (! ((rmode & 0170000) == 0120000)) {
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          tmp___15 = strlen(dst_path);
          flex_array_len_ = tmp___15;
          tmp___16 = st_add(sizeof(*entry___0), flex_array_len_);
          tmp___17 = st_add(tmp___16, (size_t )1);
          tmp___18 = xcalloc((size_t )1, tmp___17);
          entry___0 = (struct working_tree_entry *)tmp___18;
          memcpy((void *)(entry___0->path), (void const   *)dst_path, flex_array_len_);
          goto while_break___0;
        }
        while_break___0: /* CIL Label */ ;
        }
        tmp___19 = strhash(dst_path);
        hashmap_entry_init(& entry___0->entry, tmp___19);
        tmp___20 = hashmap_get((struct hashmap  const  *)(& working_tree_dups), (struct hashmap_entry  const  *)(& entry___0->entry),
                               (void const   *)((void *)0));
        if (tmp___20) {
          free((void *)entry___0);
          goto while_continue;
        }
        hashmap_add(& working_tree_dups, & entry___0->entry);
        tmp___28 = use_wt_file(workdir, dst_path, & roid);
        if (tmp___28) {
          tmp___27 = is_null_oid((struct object_id  const  *)(& roid));
          if (! tmp___27) {
            tmp___22 = make_cache_entry(& wtindex, (unsigned int )rmode, (struct object_id  const  *)(& roid),
                                        dst_path, 0, 0U);
            ce2 = tmp___22;
            add_index_entry(& wtindex, ce2, 8);
            add_path___0(& rdir, rdir_len, dst_path);
            tmp___23 = ensure_leading_directories(rdir.buf);
            if (tmp___23) {
              error((char const   *)"could not create directory for \'%s\'", dst_path);
              ret___67 = const_error();
              goto finish;
            }
            add_path___0(& wtdir, wtdir_len, dst_path);
            if (symlinks) {
              tmp___24 = symlink((char const   *)wtdir.buf, (char const   *)rdir.buf);
              if (tmp___24) {
                error_errno((char const   *)"could not symlink \'%s\' to \'%s\'",
                            wtdir.buf, rdir.buf);
                ret___67 = const_error();
                goto finish;
              }
            } else {
              tmp___25 = stat((char const   *)wtdir.buf, & st);
              if (tmp___25) {
                st.st_mode = (__mode_t )0644;
              }
              tmp___26 = copy_file((char const   *)rdir.buf, (char const   *)wtdir.buf,
                                   (int )st.st_mode);
              if (tmp___26) {
                error((char const   *)"could not copy \'%s\' to \'%s\'", wtdir.buf,
                      rdir.buf);
                ret___67 = const_error();
                goto finish;
              }
            }
          }
        } else {
          tmp___21 = checkout_path((unsigned int )rmode, & roid, dst_path, (struct checkout  const  *)(& rstate));
          if (tmp___21) {
            error((char const   *)"could not write \'%s\'", dst_path);
            ret___67 = const_error();
            goto finish;
          }
        }
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  fclose(fp);
  fp = (FILE *)((void *)0);
  tmp___30 = finish_command(child);
  if (tmp___30) {
    error((char const   *)"error occurred running diff --raw");
    ret___67 = const_error();
    goto finish;
  }
  if (! i) {
    goto finish;
  }
  entry = (struct pair_entry *)((void *)0);
  tmp___31 = hashmap_iter_first(& submodules, & iter___0);
  tmp___32 = container_of_or_null_offset((void *)tmp___31, (unsigned long )(& ((struct pair_entry *)0)->entry));
  entry = (struct pair_entry *)tmp___32;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! entry) {
      goto while_break___1;
    }
    write_standin_files(entry, & ldir, ldir_len, & rdir, rdir_len);
    tmp___33 = hashmap_iter_next(& iter___0);
    tmp___34 = container_of_or_null_offset((void *)tmp___33, (unsigned long )(& ((struct pair_entry *)0)->entry));
    entry = (struct pair_entry *)tmp___34;
  }
  while_break___1: /* CIL Label */ ;
  }
  entry = (struct pair_entry *)((void *)0);
  tmp___35 = hashmap_iter_first(& symlinks2, & iter___0);
  tmp___36 = container_of_or_null_offset((void *)tmp___35, (unsigned long )(& ((struct pair_entry *)0)->entry));
  entry = (struct pair_entry *)tmp___36;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! entry) {
      goto while_break___2;
    }
    write_standin_files(entry, & ldir, ldir_len, & rdir, rdir_len);
    tmp___37 = hashmap_iter_next(& iter___0);
    tmp___38 = container_of_or_null_offset((void *)tmp___37, (unsigned long )(& ((struct pair_entry *)0)->entry));
    entry = (struct pair_entry *)tmp___38;
  }
  while_break___2: /* CIL Label */ ;
  }
  strbuf_setlen___33(& ldir, ldir_len);
  helper_argv[1] = (char const   *)ldir.buf;
  strbuf_setlen___33(& rdir, rdir_len);
  helper_argv[2] = (char const   *)rdir.buf;
  if (extcmd___0) {
    helper_argv[0] = extcmd___0;
    flags___0 = 0;
  } else {
    setenv((char const   *)"GIT_DIFFTOOL_DIRDIFF", (char const   *)"true", 1);
  }
  ret___67 = run_command_v_opt(helper_argv, flags___0);
  ensure_full_index(& wtindex);
  hashmap_init(& wt_modified, & path_entry_cmp, (void const   *)((void *)0), (size_t )wtindex.cache_nr);
  hashmap_init(& tmp_modified, & path_entry_cmp, (void const   *)((void *)0), (size_t )wtindex.cache_nr);
  i = 0;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! ((unsigned int )i < wtindex.cache_nr)) {
      goto while_break___3;
    }
    name___0 = (char const   *)((*(wtindex.cache + i))->name);
    add_path___0(& rdir, rdir_len, name___0);
    tmp___39 = lstat((char const   *)rdir.buf, & st___0);
    if (tmp___39) {
      goto __Cont;
    }
    if (symlinks) {
      if ((st___0.st_mode & 61440U) == 40960U) {
        goto __Cont;
      } else {
        goto _L___1;
      }
    } else
    _L___1: /* CIL Label */
    if (! ((st___0.st_mode & 61440U) == 32768U)) {
      goto __Cont;
    }
    if (! indices_loaded) {
      lock___0.tempfile = (struct tempfile *)0;
      strbuf_setlen___33(& buf___19, (size_t )0);
      strbuf_addf(& buf___19, (char const   *)"%s/wtindex", tmpdir.buf);
      tmp___40 = hold_lock_file_for_update(& lock___0, (char const   *)buf___19.buf,
                                           0);
      if (tmp___40 < 0) {
        error((char const   *)"could not write %s", buf___19.buf);
        ret___67 = const_error();
        goto finish;
      } else {
        tmp___41 = write_locked_index(& wtindex, & lock___0, 1U);
        if (tmp___41) {
          error((char const   *)"could not write %s", buf___19.buf);
          ret___67 = const_error();
          goto finish;
        }
      }
      changed_files(& wt_modified, (char const   *)buf___19.buf, workdir);
      strbuf_setlen___33(& rdir, rdir_len);
      changed_files(& tmp_modified, (char const   *)buf___19.buf, (char const   *)rdir.buf);
      add_path___0(& rdir, rdir_len, name___0);
      indices_loaded = 1;
    }
    tmp___42 = strhash(name___0);
    hashmap_entry_init(& dummy___0, tmp___42);
    tmp___49 = hashmap_get((struct hashmap  const  *)(& tmp_modified), (struct hashmap_entry  const  *)(& dummy___0),
                           (void const   *)name___0);
    if (tmp___49) {
      add_path___0(& wtdir, wtdir_len, name___0);
      tmp___48 = hashmap_get((struct hashmap  const  *)(& wt_modified), (struct hashmap_entry  const  *)(& dummy___0),
                             (void const   *)name___0);
      if (tmp___48) {
        tmp___43 = _((char const   *)"both files modified: \'%s\' and \'%s\'.");
        warning((char const   *)tmp___43, wtdir.buf, rdir.buf);
        tmp___44 = _((char const   *)"working tree file has been left.");
        warning((char const   *)tmp___44);
        warning((char const   *)"%s", "");
        err___4 = 1;
      } else {
        tmp___46 = unlink((char const   *)wtdir.buf);
        if (tmp___46) {
          tmp___45 = _((char const   *)"could not copy \'%s\' to \'%s\'");
          warning_errno((char const   *)tmp___45, rdir.buf, wtdir.buf);
        } else {
          tmp___47 = copy_file((char const   *)wtdir.buf, (char const   *)rdir.buf,
                               (int )st___0.st_mode);
          if (tmp___47) {
            tmp___45 = _((char const   *)"could not copy \'%s\' to \'%s\'");
            warning_errno((char const   *)tmp___45, rdir.buf, wtdir.buf);
          }
        }
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  if (err___4) {
    tmp___50 = _((char const   *)"temporary files exist in \'%s\'.");
    warning((char const   *)tmp___50, tmpdir.buf);
    tmp___51 = _((char const   *)"you may want to cleanup or recover these.");
    warning((char const   *)tmp___51);
    ret___67 = 1;
  } else {
    remove_dir_recursively(& tmpdir, 0);
    if (ret___67) {
      tmp___52 = _((char const   *)"failed: %d");
      warning((char const   *)tmp___52, ret___67);
    }
  }
  finish:
  if (fp) {
    fclose(fp);
  }
  free((void *)lbase_dir);
  free((void *)rbase_dir);
  strbuf_release(& ldir);
  strbuf_release(& rdir);
  strbuf_release(& wtdir);
  strbuf_release(& buf___19);
  strbuf_release(& tmpdir);
  if (ret___67 < 0) {
    tmp___53 = 1;
  } else {
    tmp___53 = ret___67;
  }
  return (tmp___53);
}
}
static int run_file_diff(int prompt , char const   *prefix___1 , struct child_process *child )
{
  char const   *env[4] ;
  int tmp ;

  {
  env[0] = (char const   *)"GIT_PAGER=";
  env[1] = (char const   *)"GIT_EXTERNAL_DIFF=git-difftool--helper";
  env[2] = (char const   *)((void *)0);
  env[3] = (char const   *)((void *)0);
  if (prompt > 0) {
    env[2] = (char const   *)"GIT_DIFFTOOL_PROMPT=true";
  } else
  if (! prompt) {
    env[2] = (char const   *)"GIT_DIFFTOOL_NO_PROMPT=true";
  }
  child->git_cmd = 1U;
  child->dir = prefix___1;
  strvec_pushv(& child->env_array, env);
  tmp = run_command(child);
  return (tmp);
}
}
static char *difftool_cmd  =    (char *)((void *)0);
static char *extcmd  =    (char *)((void *)0);
int cmd_difftool(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int use_gui_tool ;
  int dir_diff ;
  int prompt ;
  int symlinks ;
  int tool_help ;
  int no_index___0 ;
  struct option builtin_difftool_options[11] ;
  struct child_process child ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;

  {
  use_gui_tool = 0;
  dir_diff = 0;
  prompt = -1;
  symlinks = 0;
  tool_help = 0;
  no_index___0 = 0;
  builtin_difftool_options[0].type = (enum parse_opt_type )8;
  builtin_difftool_options[0].short_name = 'g';
  builtin_difftool_options[0].long_name = (char const   *)"gui";
  builtin_difftool_options[0].value = (void *)(& use_gui_tool);
  builtin_difftool_options[0].argh = (char const   *)((void *)0);
  builtin_difftool_options[0].help = (char const   *)"use `diff.guitool` instead of `diff.tool`";
  builtin_difftool_options[0].flags = (enum parse_opt_option_flags )2;
  builtin_difftool_options[0].callback = (parse_opt_cb *)((void *)0);
  builtin_difftool_options[0].defval = (intptr_t )1;
  builtin_difftool_options[0].ll_callback = (parse_opt_ll_cb *)0;
  builtin_difftool_options[0].extra = 0L;
  builtin_difftool_options[1].type = (enum parse_opt_type )8;
  builtin_difftool_options[1].short_name = 'd';
  builtin_difftool_options[1].long_name = (char const   *)"dir-diff";
  builtin_difftool_options[1].value = (void *)(& dir_diff);
  builtin_difftool_options[1].argh = (char const   *)((void *)0);
  builtin_difftool_options[1].help = (char const   *)"perform a full-directory diff";
  builtin_difftool_options[1].flags = (enum parse_opt_option_flags )2;
  builtin_difftool_options[1].callback = (parse_opt_cb *)((void *)0);
  builtin_difftool_options[1].defval = (intptr_t )1;
  builtin_difftool_options[1].ll_callback = (parse_opt_ll_cb *)0;
  builtin_difftool_options[1].extra = 0L;
  builtin_difftool_options[2].type = (enum parse_opt_type )8;
  builtin_difftool_options[2].short_name = 'y';
  builtin_difftool_options[2].long_name = (char const   *)"no-prompt";
  builtin_difftool_options[2].value = (void *)(& prompt);
  builtin_difftool_options[2].argh = (char const   *)((void *)0);
  builtin_difftool_options[2].help = (char const   *)"do not prompt before launching a diff tool";
  builtin_difftool_options[2].flags = (enum parse_opt_option_flags )6;
  builtin_difftool_options[2].callback = (parse_opt_cb *)((void *)0);
  builtin_difftool_options[2].defval = (intptr_t )0;
  builtin_difftool_options[2].ll_callback = (parse_opt_ll_cb *)0;
  builtin_difftool_options[2].extra = 0L;
  builtin_difftool_options[3].type = (enum parse_opt_type )8;
  builtin_difftool_options[3].short_name = 0;
  builtin_difftool_options[3].long_name = (char const   *)"prompt";
  builtin_difftool_options[3].value = (void *)(& prompt);
  builtin_difftool_options[3].argh = (char const   *)((void *)0);
  builtin_difftool_options[3].help = (char const   *)((void *)0);
  builtin_difftool_options[3].flags = (enum parse_opt_option_flags )14;
  builtin_difftool_options[3].callback = (parse_opt_cb *)((void *)0);
  builtin_difftool_options[3].defval = (intptr_t )1;
  builtin_difftool_options[3].ll_callback = (parse_opt_ll_cb *)0;
  builtin_difftool_options[3].extra = 0L;
  builtin_difftool_options[4].type = (enum parse_opt_type )8;
  builtin_difftool_options[4].short_name = 0;
  builtin_difftool_options[4].long_name = (char const   *)"symlinks";
  builtin_difftool_options[4].value = (void *)(& symlinks);
  builtin_difftool_options[4].argh = (char const   *)((void *)0);
  builtin_difftool_options[4].help = (char const   *)"use symlinks in dir-diff mode";
  builtin_difftool_options[4].flags = (enum parse_opt_option_flags )2;
  builtin_difftool_options[4].callback = (parse_opt_cb *)((void *)0);
  builtin_difftool_options[4].defval = (intptr_t )1;
  builtin_difftool_options[4].ll_callback = (parse_opt_ll_cb *)0;
  builtin_difftool_options[4].extra = 0L;
  builtin_difftool_options[5].type = (enum parse_opt_type )9;
  builtin_difftool_options[5].short_name = 't';
  builtin_difftool_options[5].long_name = (char const   *)"tool";
  builtin_difftool_options[5].value = (void *)(& difftool_cmd);
  builtin_difftool_options[5].argh = (char const   *)"tool";
  builtin_difftool_options[5].help = (char const   *)"use the specified diff tool";
  builtin_difftool_options[5].flags = (enum parse_opt_option_flags )0;
  builtin_difftool_options[5].callback = (parse_opt_cb *)0;
  builtin_difftool_options[5].defval = 0L;
  builtin_difftool_options[5].ll_callback = (parse_opt_ll_cb *)0;
  builtin_difftool_options[5].extra = 0L;
  builtin_difftool_options[6].type = (enum parse_opt_type )8;
  builtin_difftool_options[6].short_name = 0;
  builtin_difftool_options[6].long_name = (char const   *)"tool-help";
  builtin_difftool_options[6].value = (void *)(& tool_help);
  builtin_difftool_options[6].argh = (char const   *)((void *)0);
  builtin_difftool_options[6].help = (char const   *)"print a list of diff tools that may be used with `--tool`";
  builtin_difftool_options[6].flags = (enum parse_opt_option_flags )2;
  builtin_difftool_options[6].callback = (parse_opt_cb *)((void *)0);
  builtin_difftool_options[6].defval = (intptr_t )1;
  builtin_difftool_options[6].ll_callback = (parse_opt_ll_cb *)0;
  builtin_difftool_options[6].extra = 0L;
  builtin_difftool_options[7].type = (enum parse_opt_type )8;
  builtin_difftool_options[7].short_name = 0;
  builtin_difftool_options[7].long_name = (char const   *)"trust-exit-code";
  builtin_difftool_options[7].value = (void *)(& trust_exit_code);
  builtin_difftool_options[7].argh = (char const   *)((void *)0);
  builtin_difftool_options[7].help = (char const   *)"make \'git-difftool\' exit when an invoked diff tool returns a non-zero exit code";
  builtin_difftool_options[7].flags = (enum parse_opt_option_flags )2;
  builtin_difftool_options[7].callback = (parse_opt_cb *)((void *)0);
  builtin_difftool_options[7].defval = (intptr_t )1;
  builtin_difftool_options[7].ll_callback = (parse_opt_ll_cb *)0;
  builtin_difftool_options[7].extra = 0L;
  builtin_difftool_options[8].type = (enum parse_opt_type )9;
  builtin_difftool_options[8].short_name = 'x';
  builtin_difftool_options[8].long_name = (char const   *)"extcmd";
  builtin_difftool_options[8].value = (void *)(& extcmd);
  builtin_difftool_options[8].argh = (char const   *)"command";
  builtin_difftool_options[8].help = (char const   *)"specify a custom command for viewing diffs";
  builtin_difftool_options[8].flags = (enum parse_opt_option_flags )0;
  builtin_difftool_options[8].callback = (parse_opt_cb *)0;
  builtin_difftool_options[8].defval = 0L;
  builtin_difftool_options[8].ll_callback = (parse_opt_ll_cb *)0;
  builtin_difftool_options[8].extra = 0L;
  builtin_difftool_options[9].type = (enum parse_opt_type )8;
  builtin_difftool_options[9].short_name = 0;
  builtin_difftool_options[9].long_name = (char const   *)"no-index";
  builtin_difftool_options[9].value = (void *)(& no_index___0);
  builtin_difftool_options[9].argh = (char const   *)((void *)0);
  builtin_difftool_options[9].help = (char const   *)"passed to `diff`";
  builtin_difftool_options[9].flags = (enum parse_opt_option_flags )2;
  builtin_difftool_options[9].callback = (parse_opt_cb *)((void *)0);
  builtin_difftool_options[9].defval = (intptr_t )1;
  builtin_difftool_options[9].ll_callback = (parse_opt_ll_cb *)0;
  builtin_difftool_options[9].extra = 0L;
  builtin_difftool_options[10].type = (enum parse_opt_type )0;
  builtin_difftool_options[10].short_name = 0;
  builtin_difftool_options[10].long_name = (char const   *)0;
  builtin_difftool_options[10].value = (void *)0;
  builtin_difftool_options[10].argh = (char const   *)0;
  builtin_difftool_options[10].help = (char const   *)0;
  builtin_difftool_options[10].flags = 0U;
  builtin_difftool_options[10].callback = (parse_opt_cb *)0;
  builtin_difftool_options[10].defval = 0L;
  builtin_difftool_options[10].ll_callback = (parse_opt_ll_cb *)0;
  builtin_difftool_options[10].extra = 0L;
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  git_config(& difftool_config, (void *)0);
  symlinks = has_symlinks;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(builtin_difftool_options),
                       builtin_difftool_usage, (enum parse_opt_flags )9);
  if (tool_help) {
    tmp = print_tool_help();
    return (tmp);
  }
  if (! no_index___0) {
    if (! startup_info->have_repository) {
      tmp___0 = _((char const   *)"difftool requires worktree or --no-index");
      die((char const   *)tmp___0);
    }
  }
  if (! no_index___0) {
    setup_work_tree();
    tmp___1 = get_git_dir();
    tmp___2 = absolute_path(tmp___1);
    setenv((char const   *)"GIT_DIR", tmp___2, 1);
    tmp___3 = get_git_work_tree();
    tmp___4 = absolute_path(tmp___3);
    setenv((char const   *)"GIT_WORK_TREE", tmp___4, 1);
  } else
  if (dir_diff) {
    tmp___5 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
    die((char const   *)tmp___5, "--dir-diff", "--no-index");
  }
  if ((use_gui_tool + ! (! difftool_cmd)) + ! (! extcmd) > 1) {
    tmp___6 = _((char const   *)"options \'%s\', \'%s\', and \'%s\' cannot be used together");
    die((char const   *)tmp___6, "--gui", "--tool", "--extcmd");
  }
  if (use_gui_tool) {
    setenv((char const   *)"GIT_MERGETOOL_GUI", (char const   *)"true", 1);
  } else
  if (difftool_cmd) {
    if (*difftool_cmd) {
      setenv((char const   *)"GIT_DIFF_TOOL", (char const   *)difftool_cmd, 1);
    } else {
      tmp___7 = _((char const   *)"no <tool> given for --tool=<tool>");
      die((char const   *)tmp___7);
    }
  }
  if (extcmd) {
    if (*extcmd) {
      setenv((char const   *)"GIT_DIFFTOOL_EXTCMD", (char const   *)extcmd, 1);
    } else {
      tmp___8 = _((char const   *)"no <cmd> given for --extcmd=<cmd>");
      die((char const   *)tmp___8);
    }
  }
  if (trust_exit_code) {
    tmp___9 = "true";
  } else {
    tmp___9 = "false";
  }
  setenv((char const   *)"GIT_DIFFTOOL_TRUST_EXIT_CODE", (char const   *)tmp___9,
         1);
  strvec_push(& child.args, (char const   *)"diff");
  if (no_index___0) {
    strvec_push(& child.args, (char const   *)"--no-index");
  }
  if (dir_diff) {
    strvec_pushl(& child.args, "--raw", "--no-abbrev", "-z", (void *)0);
  }
  strvec_pushv(& child.args, argv___0);
  if (dir_diff) {
    tmp___10 = run_dir_diff((char const   *)extcmd, symlinks, prefix___1, & child);
    return (tmp___10);
  }
  tmp___11 = run_file_diff(prompt, prefix___1, & child);
  return (tmp___11);
}
}
static char const   *env__helper_usage[2]  = {      (char const   *)"git env--helper --type=[bool|ulong] <options> <env-var>",      (char const   *)((void *)0)};
static int option_parse_type___0(struct option  const  *opt___0 , char const   *arg ,
                                 int unset )
{
  enum cmdmode *cmdmode ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  cmdmode = (enum cmdmode *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/env--helper.c", 20, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = strcmp(arg, (char const   *)"bool");
  if (tmp___1) {
    tmp___0 = strcmp(arg, (char const   *)"ulong");
    if (tmp___0) {
      tmp = _((char const   *)"unrecognized --type argument, %s");
      die((char const   *)tmp, arg);
    } else {
      *cmdmode = (enum cmdmode )2;
    }
  } else {
    *cmdmode = (enum cmdmode )1;
  }
  return (0);
}
}
int cmd_env__helper(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int exit_code ;
  char const   *env_variable ;
  char const   *env_default ;
  int ret___67 ;
  int ret_int ;
  int default_int ;
  unsigned long ret_ulong ;
  unsigned long default_ulong ;
  enum cmdmode cmdmode ;
  struct option opts___1[4] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  exit_code = 0;
  env_variable = (char const   *)((void *)0);
  env_default = (char const   *)((void *)0);
  cmdmode = (enum cmdmode )0;
  opts___1[0].type = (enum parse_opt_type )12;
  opts___1[0].short_name = 0;
  opts___1[0].long_name = (char const   *)"type";
  opts___1[0].value = (void *)(& cmdmode);
  opts___1[0].argh = (char const   *)"type";
  opts___1[0].help = (char const   *)"value is given this type";
  opts___1[0].flags = (enum parse_opt_option_flags )4;
  opts___1[0].callback = & option_parse_type___0;
  opts___1[0].defval = 0L;
  opts___1[0].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[0].extra = 0L;
  opts___1[1].type = (enum parse_opt_type )9;
  opts___1[1].short_name = 0;
  opts___1[1].long_name = (char const   *)"default";
  opts___1[1].value = (void *)(& env_default);
  opts___1[1].argh = (char const   *)"value";
  opts___1[1].help = (char const   *)"default for git_env_*(...) to fall back on";
  opts___1[1].flags = (enum parse_opt_option_flags )0;
  opts___1[1].callback = (parse_opt_cb *)0;
  opts___1[1].defval = 0L;
  opts___1[1].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[1].extra = 0L;
  opts___1[2].type = (enum parse_opt_type )8;
  opts___1[2].short_name = 0;
  opts___1[2].long_name = (char const   *)"exit-code";
  opts___1[2].value = (void *)(& exit_code);
  opts___1[2].argh = (char const   *)((void *)0);
  opts___1[2].help = (char const   *)"be quiet only use git_env_*() value as exit code";
  opts___1[2].flags = (enum parse_opt_option_flags )2;
  opts___1[2].callback = (parse_opt_cb *)((void *)0);
  opts___1[2].defval = (intptr_t )1;
  opts___1[2].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[2].extra = 0L;
  opts___1[3].type = (enum parse_opt_type )0;
  opts___1[3].short_name = 0;
  opts___1[3].long_name = (char const   *)0;
  opts___1[3].value = (void *)0;
  opts___1[3].argh = (char const   *)0;
  opts___1[3].help = (char const   *)0;
  opts___1[3].flags = 0U;
  opts___1[3].callback = (parse_opt_cb *)0;
  opts___1[3].defval = 0L;
  opts___1[3].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[3].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(opts___1),
                       env__helper_usage, (enum parse_opt_flags )8);
  if (env_default) {
    if (! *env_default) {
      usage_with_options(env__helper_usage, (struct option  const  *)(opts___1));
    }
  }
  if (! cmdmode) {
    usage_with_options(env__helper_usage, (struct option  const  *)(opts___1));
  }
  if (argc != 1) {
    usage_with_options(env__helper_usage, (struct option  const  *)(opts___1));
  }
  env_variable = *(argv___0 + 0);
  {
  if ((unsigned int )cmdmode == 1U) {
    goto case_1;
  }
  if ((unsigned int )cmdmode == 2U) {
    goto case_2;
  }
  goto switch_default;
  case_1: /* CIL Label */
  if (env_default) {
    default_int = git_parse_maybe_bool(env_default);
    if (default_int == -1) {
      tmp = _((char const   *)"option `--default\' expects a boolean value with `--type=bool`, not `%s`");
      error((char const   *)tmp, env_default);
      const_error();
      usage_with_options(env__helper_usage, (struct option  const  *)(opts___1));
    }
  } else {
    default_int = 0;
  }
  ret_int = git_env_bool(env_variable, default_int);
  if (! exit_code) {
    if (ret_int) {
      tmp___0 = "true";
    } else {
      tmp___0 = "false";
    }
    puts((char const   *)tmp___0);
  }
  ret___67 = ret_int;
  goto switch_break;
  case_2: /* CIL Label */
  if (env_default) {
    tmp___2 = git_parse_ulong(env_default, & default_ulong);
    if (! tmp___2) {
      tmp___1 = _((char const   *)"option `--default\' expects an unsigned long value with `--type=ulong`, not `%s`");
      error((char const   *)tmp___1, env_default);
      const_error();
      usage_with_options(env__helper_usage, (struct option  const  *)(opts___1));
    }
  } else {
    default_ulong = 0UL;
  }
  ret_ulong = git_env_ulong(env_variable, default_ulong);
  if (! exit_code) {
    printf((char const   *)"%lu\n", ret_ulong);
  }
  ret___67 = (int )ret_ulong;
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"builtin/env--helper.c", 95, (char const   *)"unknown <type> value");
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return (! ret___67);
}
}
static double const   __ac_HASH_UPPER___121  =    (double const   )0.77;
__inline static void kh_resize_oid_set___121(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___121(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___121 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___121 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___121(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___121(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___121(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___121(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___121(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___121(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___121 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___121 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___121(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___121(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___121(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___121(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___121(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___121(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___121 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___121 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___121(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___121(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___121(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___121(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___89(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___89(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___121 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___121 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___89(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___89(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___89(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___89(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *fast_export_usage[2]  = {      (char const   *)"git fast-export [rev-list-opts]",      (char const   *)((void *)0)};
static int progress___0  ;
static enum __anonenum_signed_tag_mode_883610529 signed_tag_mode  =    (enum __anonenum_signed_tag_mode_883610529 )0;
static enum __anonenum_tag_of_filtered_mode_701047571 tag_of_filtered_mode  =    (enum __anonenum_tag_of_filtered_mode_701047571 )0;
static enum __anonenum_reencode_mode_163128792 reencode_mode  =    (enum __anonenum_reencode_mode_163128792 )0;
static int fake_missing_tagger  ;
static int use_done_feature  ;
static int no_data  ;
static int full_tree  ;
static int reference_excluded_commits  ;
static int show_original_ids  ;
static int mark_tags  ;
static struct string_list extra_refs  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static struct string_list tag_refs  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static struct refspec refspecs  =    {(struct refspec_item *)0, 0, 0, (char const   **)0, 0, 0, 1};
static int anonymize  ;
static struct hashmap anonymized_seeds  ;
static struct revision_sources revision_sources  ;
static int parse_opt_signed_tag_mode(struct option  const  *opt___0 , char const   *arg ,
                                     int unset )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  if (unset) {
    signed_tag_mode = (enum __anonenum_signed_tag_mode_883610529 )0;
  } else {
    tmp___5 = strcmp(arg, (char const   *)"abort");
    if (tmp___5) {
      tmp___3 = strcmp(arg, (char const   *)"verbatim");
      if (tmp___3) {
        tmp___4 = strcmp(arg, (char const   *)"ignore");
        if (tmp___4) {
          tmp___2 = strcmp(arg, (char const   *)"warn");
          if (tmp___2) {
            tmp___1 = strcmp(arg, (char const   *)"warn-strip");
            if (tmp___1) {
              tmp___0 = strcmp(arg, (char const   *)"strip");
              if (tmp___0) {
                error((char const   *)"Unknown signed-tags mode: %s", arg);
                tmp = const_error();
                return (tmp);
              } else {
                signed_tag_mode = (enum __anonenum_signed_tag_mode_883610529 )4;
              }
            } else {
              signed_tag_mode = (enum __anonenum_signed_tag_mode_883610529 )3;
            }
          } else {
            signed_tag_mode = (enum __anonenum_signed_tag_mode_883610529 )2;
          }
        } else {
          signed_tag_mode = (enum __anonenum_signed_tag_mode_883610529 )1;
        }
      } else {
        signed_tag_mode = (enum __anonenum_signed_tag_mode_883610529 )1;
      }
    } else {
      signed_tag_mode = (enum __anonenum_signed_tag_mode_883610529 )0;
    }
  }
  return (0);
}
}
static int parse_opt_tag_of_filtered_mode(struct option  const  *opt___0 , char const   *arg ,
                                          int unset )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (unset) {
    tag_of_filtered_mode = (enum __anonenum_tag_of_filtered_mode_701047571 )0;
  } else {
    tmp___2 = strcmp(arg, (char const   *)"abort");
    if (tmp___2) {
      tmp___1 = strcmp(arg, (char const   *)"drop");
      if (tmp___1) {
        tmp___0 = strcmp(arg, (char const   *)"rewrite");
        if (tmp___0) {
          error((char const   *)"Unknown tag-of-filtered mode: %s", arg);
          tmp = const_error();
          return (tmp);
        } else {
          tag_of_filtered_mode = (enum __anonenum_tag_of_filtered_mode_701047571 )2;
        }
      } else {
        tag_of_filtered_mode = (enum __anonenum_tag_of_filtered_mode_701047571 )1;
      }
    } else {
      tag_of_filtered_mode = (enum __anonenum_tag_of_filtered_mode_701047571 )0;
    }
  }
  return (0);
}
}
static int parse_opt_reencode_mode(struct option  const  *opt___0 , char const   *arg ,
                                   int unset )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (unset) {
    reencode_mode = (enum __anonenum_reencode_mode_163128792 )0;
    return (0);
  }
  tmp = git_parse_maybe_bool(arg);
  {
  if (tmp == 0) {
    goto case_0;
  }
  if (tmp == 1) {
    goto case_1;
  }
  goto switch_default;
  case_0: /* CIL Label */
  reencode_mode = (enum __anonenum_reencode_mode_163128792 )2;
  goto switch_break;
  case_1: /* CIL Label */
  reencode_mode = (enum __anonenum_reencode_mode_163128792 )1;
  goto switch_break;
  switch_default: /* CIL Label */
  tmp___1 = strcasecmp(arg, (char const   *)"abort");
  if (tmp___1) {
    error((char const   *)"Unknown reencoding mode: %s", arg);
    tmp___0 = const_error();
    return (tmp___0);
  } else {
    reencode_mode = (enum __anonenum_reencode_mode_163128792 )0;
  }
  switch_break: /* CIL Label */ ;
  }
  return (0);
}
}
static struct decoration idnums  ;
static uint32_t last_idnum  ;
static int anonymized_entry_cmp(void const   *unused_cmp_data , struct hashmap_entry  const  *eptr ,
                                struct hashmap_entry  const  *entry_or_key , void const   *keydata )
{
  struct anonymized_entry  const  *a ;
  struct anonymized_entry  const  *b___0 ;
  struct anonymized_entry_key  const  *key___1 ;
  int equal ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  a = (struct anonymized_entry  const  *)((char *)eptr - (unsigned long )(& ((struct anonymized_entry  const  *)0)->hash));
  if (keydata) {
    key___1 = (struct anonymized_entry_key  const  *)keydata;
    tmp = strncmp((char const   *)(a->orig), (char const   *)key___1->orig, (size_t )key___1->orig_len);
    if (tmp) {
      tmp___0 = 0;
    } else
    if (! a->orig[key___1->orig_len]) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
    equal = tmp___0;
    return (! equal);
  }
  b___0 = (struct anonymized_entry  const  *)((char *)entry_or_key - (unsigned long )(& ((struct anonymized_entry  const  *)0)->hash));
  tmp___1 = strcmp((char const   *)(a->orig), (char const   *)(b___0->orig));
  return (tmp___1);
}
}
static char const   *anonymize_str(struct hashmap *map___0 , char *(*generate___0)(void * ) ,
                                   char const   *orig , size_t len___0 , void *data )
{
  struct anonymized_entry_key key___1 ;
  struct anonymized_entry *ret___67 ;
  unsigned int tmp ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;
  struct hashmap_entry *tmp___2 ;
  void *tmp___3 ;
  size_t flex_array_len_ ;
  size_t tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char *tmp___7 ;

  {
  if (! map___0->cmpfn) {
    hashmap_init(map___0, & anonymized_entry_cmp, (void const   *)((void *)0), (size_t )0);
  }
  tmp = memhash((void const   *)orig, len___0);
  hashmap_entry_init(& key___1.hash, tmp);
  key___1.orig = orig;
  key___1.orig_len = len___0;
  if (anonymized_seeds.cmpfn) {
    tmp___0 = hashmap_get((struct hashmap  const  *)(& anonymized_seeds), (struct hashmap_entry  const  *)(& key___1.hash),
                          (void const   *)(& key___1));
    tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct anonymized_entry_key *)0)->hash));
    ret___67 = (struct anonymized_entry *)tmp___1;
  } else {
    ret___67 = (struct anonymized_entry *)((void *)0);
  }
  if (! ret___67) {
    tmp___2 = hashmap_get((struct hashmap  const  *)map___0, (struct hashmap_entry  const  *)(& key___1.hash),
                          (void const   *)(& key___1));
    tmp___3 = container_of_or_null_offset((void *)tmp___2, (unsigned long )(& ((struct anonymized_entry_key *)0)->hash));
    ret___67 = (struct anonymized_entry *)tmp___3;
  }
  if (! ret___67) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      flex_array_len_ = len___0;
      tmp___4 = st_add(sizeof(*ret___67), flex_array_len_);
      tmp___5 = st_add(tmp___4, (size_t )1);
      tmp___6 = xcalloc((size_t )1, tmp___5);
      ret___67 = (struct anonymized_entry *)tmp___6;
      memcpy((void *)(ret___67->orig), (void const   *)orig, flex_array_len_);
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    hashmap_entry_init(& ret___67->hash, key___1.hash.hash);
    tmp___7 = (*generate___0)(data);
    ret___67->anon = (char const   *)tmp___7;
    hashmap_put(map___0, & ret___67->hash);
  }
  return (ret___67->anon);
}
}
static void anonymize_path(struct strbuf *out , char const   *path___6 , struct hashmap *map___0 ,
                           char *(*generate___0)(void * ) )
{
  char const   *end_of_component ;
  char *tmp ;
  size_t len___0 ;
  char const   *c___0 ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *path___6) {
      goto while_break;
    }
    tmp = strchrnul(path___6, '/');
    end_of_component = (char const   *)tmp;
    len___0 = (size_t )(end_of_component - path___6);
    tmp___0 = anonymize_str(map___0, generate___0, path___6, len___0, (void *)0);
    c___0 = tmp___0;
    strbuf_addstr(out, c___0);
    path___6 = end_of_component;
    if (*path___6) {
      tmp___1 = path___6;
      path___6 ++;
      strbuf_addch(out, (int )*tmp___1);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
__inline static void *mark_to_ptr(uint32_t mark )
{


  {
  return ((void *)((uintptr_t )mark));
}
}
__inline static uint32_t ptr_to_mark(void *mark )
{


  {
  return ((uint32_t )((uintptr_t )mark));
}
}
__inline static void mark_object___0(struct object *object , uint32_t mark )
{
  void *tmp ;

  {
  tmp = mark_to_ptr(mark);
  add_decoration(& idnums, (struct object  const  *)object, tmp);
  return;
}
}
__inline static void mark_next_object(struct object *object )
{


  {
  last_idnum ++;
  mark_object___0(object, last_idnum);
  return;
}
}
static int get_object_mark(struct object *object )
{
  void *decoration ;
  void *tmp ;
  uint32_t tmp___0 ;

  {
  tmp = lookup_decoration(& idnums, (struct object  const  *)object);
  decoration = tmp;
  if (! decoration) {
    return (0);
  }
  tmp___0 = ptr_to_mark(decoration);
  return ((int )tmp___0);
}
}
static struct commit *rewrite_commit(struct commit *p___0 )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (p___0->parents) {
      if ((p___0->parents)->next) {
        goto while_break;
      }
    }
    if (p___0->object.flags & (1u << 1)) {
      goto while_break;
    }
    if (! (p___0->object.flags & (1u << 2))) {
      goto while_break;
    }
    if (! p___0->parents) {
      return ((struct commit *)((void *)0));
    }
    p___0 = (p___0->parents)->item;
  }
  while_break: /* CIL Label */ ;
  }
  return (p___0);
}
}
static void show_progress___0(void) ;
static int counter  =    0;
static void show_progress___0(void)
{


  {
  if (! progress___0) {
    return;
  }
  counter ++;
  if (counter % progress___0 == 0) {
    printf((char const   *)"progress %d objects\n", counter);
  }
  return;
}
}
static int counter___0  ;
static char *anonymize_blob(unsigned long *size )
{
  struct strbuf out ;
  int tmp ;
  char *tmp___0 ;

  {
  out.alloc = 0UL;
  out.len = 0UL;
  out.buf = strbuf_slopbuf;
  tmp = counter___0;
  counter___0 ++;
  strbuf_addf(& out, (char const   *)"anonymous blob %d", tmp);
  *size = out.len;
  tmp___0 = strbuf_detach(& out, (size_t *)((void *)0));
  return (tmp___0);
}
}
static void export_blob(struct object_id  const  *oid )
{
  unsigned long size ;
  enum object_type type___0 ;
  char *buf___19 ;
  struct object *object ;
  int eaten ;
  int tmp ;
  struct blob *tmp___0 ;
  void *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  char *tmp___7 ;
  char *tmp___8 ;
  size_t tmp___9 ;

  {
  if (no_data) {
    return;
  }
  tmp = is_null_oid(oid);
  if (tmp) {
    return;
  }
  object = lookup_object(the_repository, oid);
  if (object) {
    if (object->flags & (1u << 3)) {
      return;
    }
  }
  if (anonymize) {
    buf___19 = anonymize_blob(& size);
    tmp___0 = lookup_blob(the_repository, oid);
    object = (struct object *)tmp___0;
    eaten = 0;
  } else {
    tmp___1 = repo_read_object_file(the_repository, oid, & type___0, & size);
    buf___19 = (char *)tmp___1;
    if (! buf___19) {
      tmp___2 = oid_to_hex(oid);
      die((char const   *)"could not read blob %s", tmp___2);
    }
    tmp___4 = type_name((unsigned int )type___0);
    tmp___5 = check_object_signature(the_repository, oid, (void *)buf___19, size,
                                     tmp___4, (struct object_id *)((void *)0));
    if (tmp___5 < 0) {
      tmp___3 = oid_to_hex(oid);
      die((char const   *)"oid mismatch in blob %s", tmp___3);
    }
    object = parse_object_buffer(the_repository, oid, type___0, size, (void *)buf___19,
                                 & eaten);
  }
  if (! object) {
    tmp___6 = oid_to_hex(oid);
    die((char const   *)"Could not read blob %s", tmp___6);
  }
  mark_next_object(object);
  printf((char const   *)"blob\nmark :%u\n", last_idnum);
  if (show_original_ids) {
    tmp___7 = oid_to_hex(oid);
    printf((char const   *)"original-oid %s\n", tmp___7);
  }
  printf((char const   *)"data %lu\n", size);
  if (size) {
    tmp___9 = fwrite((void const   * __restrict  )buf___19, size, (size_t )1, (FILE * __restrict  )stdout);
    if (tmp___9 != 1UL) {
      tmp___8 = oid_to_hex(oid);
      die_errno((char const   *)"could not write blob \'%s\'", tmp___8);
    }
  }
  printf((char const   *)"\n");
  show_progress___0();
  object->flags |= 1u << 3;
  if (! eaten) {
    free((void *)buf___19);
  }
  return;
}
}
static int depth_first(void const   *a_ , void const   *b_ )
{
  struct diff_filepair  const  *a ;
  struct diff_filepair  const  *b___0 ;
  char const   *name_a ;
  char const   *name_b ;
  int len_a ;
  int len_b ;
  int len___0 ;
  int cmp___0 ;
  size_t tmp ;
  size_t tmp___0 ;

  {
  a = *((struct diff_filepair  const  **)a_);
  b___0 = *((struct diff_filepair  const  **)b_);
  if (a->one) {
    name_a = (char const   *)(a->one)->path;
  } else {
    name_a = (char const   *)(a->two)->path;
  }
  if (b___0->one) {
    name_b = (char const   *)(b___0->one)->path;
  } else {
    name_b = (char const   *)(b___0->two)->path;
  }
  tmp = strlen(name_a);
  len_a = (int )tmp;
  tmp___0 = strlen(name_b);
  len_b = (int )tmp___0;
  if (len_a < len_b) {
    len___0 = len_a;
  } else {
    len___0 = len_b;
  }
  cmp___0 = memcmp((void const   *)name_a, (void const   *)name_b, (size_t )len___0);
  if (cmp___0) {
    return (cmp___0);
  }
  cmp___0 = len_b - len_a;
  if (cmp___0) {
    return (cmp___0);
  }
  return (((int )a->status == 82) - ((int )b___0->status == 82));
}
}
static void print_path_1(char const   *path___6 )
{
  int need_quote ;
  size_t tmp ;
  char *tmp___0 ;

  {
  tmp = quote_c_style(path___6, (struct strbuf *)((void *)0), (FILE *)((void *)0),
                      0U);
  need_quote = (int )tmp;
  if (need_quote) {
    quote_c_style(path___6, (struct strbuf *)((void *)0), stdout, 0U);
  } else {
    tmp___0 = strchr(path___6, ' ');
    if (tmp___0) {
      printf((char const   *)"\"%s\"", path___6);
    } else {
      printf((char const   *)"%s", path___6);
    }
  }
  return;
}
}
static int counter___1  ;
static char *anonymize_path_component(void *data )
{
  struct strbuf out ;
  int tmp ;
  char *tmp___0 ;

  {
  out.alloc = 0UL;
  out.len = 0UL;
  out.buf = strbuf_slopbuf;
  tmp = counter___1;
  counter___1 ++;
  strbuf_addf(& out, (char const   *)"path%d", tmp);
  tmp___0 = strbuf_detach(& out, (size_t *)((void *)0));
  return (tmp___0);
}
}
static struct hashmap paths  ;
static void print_path(char const   *path___6 ) ;
static struct strbuf anon  =    {0UL, 0UL, strbuf_slopbuf};
static void print_path(char const   *path___6 )
{


  {
  if (! anonymize) {
    print_path_1(path___6);
  } else {
    anonymize_path(& anon, path___6, & paths, & anonymize_path_component);
    print_path_1((char const   *)anon.buf);
    strbuf_setlen___33(& anon, (size_t )0);
  }
  return;
}
}
static char *generate_fake_oid(void *data ) ;
static uint32_t counter___2  =    (uint32_t )1;
static char *generate_fake_oid(void *data )
{
  unsigned int hashsz ;
  struct object_id oid ;
  char *hex___3 ;
  void *tmp ;
  uint32_t tmp___0 ;
  char *tmp___1 ;

  {
  hashsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  tmp = xmallocz((size_t )64);
  hex___3 = (char *)tmp;
  oidclr(& oid);
  tmp___0 = counter___2;
  counter___2 ++;
  put_be32((void *)((oid.hash + hashsz) - 4), tmp___0);
  tmp___1 = oid_to_hex_r(hex___3, (struct object_id  const  *)(& oid));
  return (tmp___1);
}
}
static struct hashmap objs  ;
static char const   *anonymize_oid(char const   *oid_hex )
{
  size_t len___0 ;
  size_t tmp ;
  char const   *tmp___0 ;

  {
  tmp = strlen(oid_hex);
  len___0 = tmp;
  tmp___0 = anonymize_str(& objs, & generate_fake_oid, oid_hex, len___0, (void *)0);
  return (tmp___0);
}
}
static void show_filemodify(struct diff_queue_struct *q , struct diff_options *options ,
                            void *data )
{
  int i ;
  struct string_list *changed ;
  struct diff_filespec *ospec ;
  struct diff_filespec *spec ;
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  char const   *tmp___2 ;
  char *tmp___3 ;
  char const   *tmp___4 ;
  struct object *object ;
  struct object *tmp___5 ;
  int tmp___6 ;
  char *tmp___7 ;
  char *tmp___8 ;

  {
  changed = (struct string_list *)data;
  sane_qsort((void *)q->queue, (size_t )q->nr, sizeof(*(q->queue)), & depth_first);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break;
    }
    ospec = (*(q->queue + i))->one;
    spec = (*(q->queue + i))->two;
    {
    if ((int )(*(q->queue + i))->status == 68) {
      goto case_68;
    }
    if ((int )(*(q->queue + i))->status == 82) {
      goto case_82;
    }
    if ((int )(*(q->queue + i))->status == 67) {
      goto case_82;
    }
    if ((int )(*(q->queue + i))->status == 65) {
      goto case_65;
    }
    if ((int )(*(q->queue + i))->status == 77) {
      goto case_65;
    }
    if ((int )(*(q->queue + i))->status == 84) {
      goto case_65;
    }
    goto switch_default;
    case_68: /* CIL Label */
    printf((char const   *)"D ");
    print_path((char const   *)spec->path);
    string_list_insert(changed, (char const   *)spec->path);
    putchar('\n');
    goto switch_break;
    case_82: /* CIL Label */
    case_67: /* CIL Label */
    tmp___0 = string_list_has_string((struct string_list  const  *)changed, (char const   *)ospec->path);
    if (! tmp___0) {
      printf((char const   *)"%c ", (int )(*(q->queue + i))->status);
      print_path((char const   *)ospec->path);
      putchar(' ');
      print_path((char const   *)spec->path);
      string_list_insert(changed, (char const   *)spec->path);
      putchar('\n');
      tmp = oideq((struct object_id  const  *)(& ospec->oid), (struct object_id  const  *)(& spec->oid));
      if (tmp) {
        if ((int )ospec->mode == (int )spec->mode) {
          goto switch_break;
        }
      }
    }
    case_65: /* CIL Label */
    case_77: /* CIL Label */
    case_84: /* CIL Label */
    if (no_data) {
      goto _L;
    } else
    if (((int )spec->mode & 0170000) == 0160000) {
      _L: /* CIL Label */
      if (anonymize) {
        tmp___1 = oid_to_hex((struct object_id  const  *)(& spec->oid));
        tmp___2 = anonymize_oid((char const   *)tmp___1);
        tmp___4 = tmp___2;
      } else {
        tmp___3 = oid_to_hex((struct object_id  const  *)(& spec->oid));
        tmp___4 = (char const   *)tmp___3;
      }
      printf((char const   *)"M %06o %s ", (int )spec->mode, tmp___4);
    } else {
      tmp___5 = lookup_object(the_repository, (struct object_id  const  *)(& spec->oid));
      object = tmp___5;
      tmp___6 = get_object_mark(object);
      printf((char const   *)"M %06o :%d ", (int )spec->mode, tmp___6);
    }
    print_path((char const   *)spec->path);
    string_list_insert(changed, (char const   *)spec->path);
    putchar('\n');
    goto switch_break;
    switch_default: /* CIL Label */
    if (spec->path) {
      tmp___7 = spec->path;
    } else {
      tmp___7 = "none";
    }
    if (ospec->path) {
      tmp___8 = ospec->path;
    } else {
      tmp___8 = "none";
    }
    die((char const   *)"Unexpected comparison status \'%c\' for %s, %s", (int )(*(q->queue + i))->status,
        tmp___8, tmp___7);
    switch_break: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static char const   *find_encoding(char const   *begin___0 , char const   *end )
{
  char const   *needle ;
  char *bol ;
  char *eol ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  size_t tmp___3 ;

  {
  needle = (char const   *)"\nencoding ";
  tmp = strlen(needle);
  if (end) {
    tmp___1 = (size_t )(end - begin___0);
  } else {
    tmp___0 = strlen(begin___0);
    tmp___1 = tmp___0;
  }
  tmp___2 = memmem((void const   *)begin___0, tmp___1, (void const   *)needle, tmp);
  bol = (char *)tmp___2;
  if (! bol) {
    return ((char const   *)((void *)0));
  }
  tmp___3 = strlen(needle);
  bol += tmp___3;
  eol = strchrnul((char const   *)bol, '\n');
  *eol = (char )'\000';
  return ((char const   *)bol);
}
}
static int counter___3  ;
static char *anonymize_ref_component(void *data )
{
  struct strbuf out ;
  int tmp ;
  char *tmp___0 ;

  {
  out.alloc = 0UL;
  out.len = 0UL;
  out.buf = strbuf_slopbuf;
  tmp = counter___3;
  counter___3 ++;
  strbuf_addf(& out, (char const   *)"ref%d", tmp);
  tmp___0 = strbuf_detach(& out, (size_t *)((void *)0));
  return (tmp___0);
}
}
static char const   *anonymize_refname(char const   *refname ) ;
static char const   *prefixes[4]  = {      (char const   *)"refs/heads/",      (char const   *)"refs/tags/",      (char const   *)"refs/remotes/",      (char const   *)"refs/"};
static struct hashmap refs  ;
static struct strbuf anon___0  =    {0UL, 0UL, strbuf_slopbuf};
static char const   *anonymize_refname(char const   *refname )
{
  int i ;
  int tmp ;

  {
  strbuf_setlen___33(& anon___0, (size_t )0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(prefixes) / sizeof(prefixes[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp = skip_prefix(refname, prefixes[i], & refname);
    if (tmp) {
      strbuf_addstr(& anon___0, prefixes[i]);
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  anonymize_path(& anon___0, refname, & refs, & anonymize_ref_component);
  return ((char const   *)anon___0.buf);
}
}
static int counter___4  ;
static char *anonymize_commit_message(char const   *old )
{
  int tmp ;
  char *tmp___0 ;

  {
  tmp = counter___4;
  counter___4 ++;
  tmp___0 = xstrfmt((char const   *)"subject %d\n\nbody\n", tmp);
  return (tmp___0);
}
}
static int counter___5  ;
static char *anonymize_ident(void *data )
{
  struct strbuf out ;
  char *tmp ;

  {
  out.alloc = 0UL;
  out.len = 0UL;
  out.buf = strbuf_slopbuf;
  strbuf_addf(& out, (char const   *)"User %d <user%d@example.com>", counter___5,
              counter___5);
  counter___5 ++;
  tmp = strbuf_detach(& out, (size_t *)((void *)0));
  return (tmp);
}
}
static struct hashmap idents  ;
static void anonymize_ident_line(char const   **beg , char const   **end ) ;
static struct strbuf buffers[2]  = {      {0UL, 0UL, strbuf_slopbuf},
        {0UL, 0UL, strbuf_slopbuf}};
static unsigned int which_buffer  ;
static void anonymize_ident_line(char const   **beg , char const   **end )
{
  struct strbuf *out ;
  struct ident_split split ;
  char const   *end_of_header ;
  unsigned int tmp ;
  char *tmp___0 ;
  char const   *ident ;
  size_t len___0 ;
  int tmp___1 ;

  {
  tmp = which_buffer;
  which_buffer ++;
  out = & buffers[tmp];
  which_buffer = (unsigned int )((unsigned long )which_buffer % (sizeof(buffers) / sizeof(buffers[0]) + (sizeof(char [1]) - 1UL)));
  strbuf_setlen___33(out, (size_t )0);
  tmp___0 = strchr(*beg, ' ');
  end_of_header = (char const   *)tmp___0;
  if (! end_of_header) {
    BUG_fl((char const   *)"builtin/fast-export.c", 583, (char const   *)"malformed line fed to anonymize_ident_line: %.*s",
           (int )(*end - *beg), *beg);
  }
  end_of_header ++;
  strbuf_add(out, (void const   *)*beg, (size_t )(end_of_header - *beg));
  tmp___1 = split_ident_line(& split, end_of_header, (int )(*end - end_of_header));
  if (tmp___1) {
    strbuf_addstr(out, (char const   *)"Malformed Ident <malformed@example.com> 0 -0000");
  } else
  if (split.date_begin) {
    len___0 = (size_t )(split.mail_end - split.name_begin);
    ident = anonymize_str(& idents, & anonymize_ident, split.name_begin, len___0,
                          (void *)0);
    strbuf_addstr(out, ident);
    strbuf_addch(out, ' ');
    strbuf_add(out, (void const   *)split.date_begin, (size_t )(split.tz_end - split.date_begin));
  } else {
    strbuf_addstr(out, (char const   *)"Malformed Ident <malformed@example.com> 0 -0000");
  }
  *beg = (char const   *)out->buf;
  *end = (char const   *)(out->buf + out->len);
  return;
}
}
static void handle_commit___0(struct commit *commit , struct rev_info *rev , struct string_list *paths_of_changed_objects )
{
  int saved_output_format ;
  char const   *commit_buffer ;
  char const   *author ;
  char const   *author_end ;
  char const   *committer ;
  char const   *committer_end ;
  char const   *encoding ;
  char const   *message___0 ;
  char *reencoded ;
  struct commit_list *p___0 ;
  char const   *refname ;
  int i ;
  void const   *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;
  char *tmp___5 ;
  char *tmp___6 ;
  struct object_id *tmp___7 ;
  struct object_id *tmp___8 ;
  struct object_id *tmp___9 ;
  int tmp___10 ;
  char **tmp___11 ;
  char *tmp___12 ;
  char *tmp___13 ;
  char const   *tmp___14 ;
  char const   *tmp___15 ;
  size_t tmp___16 ;
  size_t tmp___17 ;
  size_t tmp___18 ;
  size_t tmp___19 ;
  struct object *obj ;
  int mark ;
  int tmp___20 ;
  char *tmp___21 ;
  char const   *tmp___22 ;
  char *tmp___23 ;
  char const   *tmp___24 ;

  {
  saved_output_format = rev->diffopt.output_format;
  reencoded = (char *)((void *)0);
  rev->diffopt.output_format = 0x1000;
  parse_commit_or_die(commit);
  tmp = repo_get_commit_buffer(the_repository, (struct commit  const  *)commit, (unsigned long *)((void *)0));
  commit_buffer = (char const   *)tmp;
  tmp___0 = strstr(commit_buffer, (char const   *)"\nauthor ");
  author = (char const   *)tmp___0;
  if (! author) {
    tmp___1 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    die((char const   *)"could not find author in commit %s", tmp___1);
  }
  author ++;
  tmp___2 = strchrnul(author, '\n');
  author_end = (char const   *)tmp___2;
  tmp___3 = strstr(author_end, (char const   *)"\ncommitter ");
  committer = (char const   *)tmp___3;
  if (! committer) {
    tmp___4 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    die((char const   *)"could not find committer in commit %s", tmp___4);
  }
  committer ++;
  tmp___5 = strchrnul(committer, '\n');
  committer_end = (char const   *)tmp___5;
  tmp___6 = strstr(committer_end, (char const   *)"\n\n");
  message___0 = (char const   *)tmp___6;
  encoding = find_encoding(committer_end, message___0);
  if (message___0) {
    message___0 += 2;
  }
  if (commit->parents) {
    tmp___10 = get_object_mark(& ((commit->parents)->item)->object);
    if (tmp___10 != 0) {
      goto _L;
    } else
    if (reference_excluded_commits) {
      _L: /* CIL Label */
      if (! full_tree) {
        parse_commit_or_die((commit->parents)->item);
        tmp___7 = get_commit_tree_oid((struct commit  const  *)commit);
        tmp___8 = get_commit_tree_oid((struct commit  const  *)(commit->parents)->item);
        diff_tree_oid((struct object_id  const  *)tmp___8, (struct object_id  const  *)tmp___7,
                      (char const   *)"", & rev->diffopt);
      } else {
        tmp___9 = get_commit_tree_oid((struct commit  const  *)commit);
        diff_root_tree_oid((struct object_id  const  *)tmp___9, (char const   *)"",
                           & rev->diffopt);
      }
    } else {
      tmp___9 = get_commit_tree_oid((struct commit  const  *)commit);
      diff_root_tree_oid((struct object_id  const  *)tmp___9, (char const   *)"",
                         & rev->diffopt);
    }
  } else {
    tmp___9 = get_commit_tree_oid((struct commit  const  *)commit);
    diff_root_tree_oid((struct object_id  const  *)tmp___9, (char const   *)"", & rev->diffopt);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < diff_queued_diff.nr)) {
      goto while_break;
    }
    if (! (((int )((*(diff_queued_diff.queue + i))->two)->mode & 0170000) == 0160000)) {
      export_blob((struct object_id  const  *)(& ((*(diff_queued_diff.queue + i))->two)->oid));
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___11 = revision_sources_at(& revision_sources, (struct commit  const  *)commit);
  refname = (char const   *)*tmp___11;
  string_list_remove(& extra_refs, refname, 0);
  if (anonymize) {
    refname = anonymize_refname(refname);
    anonymize_ident_line(& committer, & committer_end);
    anonymize_ident_line(& author, & author_end);
  }
  mark_next_object(& commit->object);
  if (anonymize) {
    reencoded = anonymize_commit_message(message___0);
  } else
  if (encoding) {
    {
    if ((unsigned int )reencode_mode == 1U) {
      goto case_1;
    }
    if ((unsigned int )reencode_mode == 2U) {
      goto case_2;
    }
    if ((unsigned int )reencode_mode == 0U) {
      goto case_0;
    }
    goto switch_break;
    case_1: /* CIL Label */
    reencoded = reencode_string(message___0, (char const   *)"UTF-8", encoding);
    goto switch_break;
    case_2: /* CIL Label */
    goto switch_break;
    case_0: /* CIL Label */
    tmp___12 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    die((char const   *)"Encountered commit-specific encoding %s in commit %s; use --reencode=[yes|no] to handle it",
        encoding, tmp___12);
    switch_break: /* CIL Label */ ;
    }
  }
  if (! commit->parents) {
    printf((char const   *)"reset %s\n", refname);
  }
  printf((char const   *)"commit %s\nmark :%u\n", refname, last_idnum);
  if (show_original_ids) {
    tmp___13 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    printf((char const   *)"original-oid %s\n", tmp___13);
  }
  printf((char const   *)"%.*s\n%.*s\n", (int )(author_end - author), author, (int )(committer_end - committer),
         committer);
  if (! reencoded) {
    if (encoding) {
      printf((char const   *)"encoding %s\n", encoding);
    }
  }
  if (reencoded) {
    tmp___15 = (char const   *)reencoded;
  } else {
    if (message___0) {
      tmp___14 = message___0;
    } else {
      tmp___14 = (char const   *)"";
    }
    tmp___15 = tmp___14;
  }
  if (reencoded) {
    tmp___16 = strlen((char const   *)reencoded);
    tmp___19 = tmp___16;
  } else {
    if (message___0) {
      tmp___17 = strlen(message___0);
      tmp___18 = tmp___17;
    } else {
      tmp___18 = (size_t )0;
    }
    tmp___19 = tmp___18;
  }
  printf((char const   *)"data %u\n%s", (unsigned int )tmp___19, tmp___15);
  free((void *)reencoded);
  repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit, (void const   *)commit_buffer);
  i = 0;
  p___0 = commit->parents;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___0;
    }
    obj = & (p___0->item)->object;
    tmp___20 = get_object_mark(obj);
    mark = tmp___20;
    if (! mark) {
      if (! reference_excluded_commits) {
        goto __Cont;
      }
    }
    if (i == 0) {
      printf((char const   *)"from ");
    } else {
      printf((char const   *)"merge ");
    }
    if (mark) {
      printf((char const   *)":%d\n", mark);
    } else {
      if (anonymize) {
        tmp___21 = oid_to_hex((struct object_id  const  *)(& obj->oid));
        tmp___22 = anonymize_oid((char const   *)tmp___21);
        tmp___24 = tmp___22;
      } else {
        tmp___23 = oid_to_hex((struct object_id  const  *)(& obj->oid));
        tmp___24 = (char const   *)tmp___23;
      }
      printf((char const   *)"%s\n", tmp___24);
    }
    i ++;
    __Cont: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (full_tree) {
    printf((char const   *)"deleteall\n");
  }
  log_tree_diff_flush(rev);
  string_list_clear(paths_of_changed_objects, 0);
  rev->diffopt.output_format = saved_output_format;
  printf((char const   *)"\n");
  show_progress___0();
  return;
}
}
static int counter___6  ;
static char *anonymize_tag(void *data )
{
  struct strbuf out ;
  int tmp ;
  char *tmp___0 ;

  {
  out.alloc = 0UL;
  out.len = 0UL;
  out.buf = strbuf_slopbuf;
  tmp = counter___6;
  counter___6 ++;
  strbuf_addf(& out, (char const   *)"tag message %d", tmp);
  tmp___0 = strbuf_detach(& out, (size_t *)((void *)0));
  return (tmp___0);
}
}
static struct hashmap tags___0  ;
static void handle_tag(char const   *name___0 , struct tag *tag )
{
  unsigned long size ;
  enum object_type type___0 ;
  char *buf___19 ;
  char const   *tagger ;
  char const   *tagger_end ;
  char const   *message___0 ;
  size_t message_size ;
  struct object *tagged ;
  int tagged_mark ;
  struct commit *p___0 ;
  char *tmp ;
  void *tmp___0 ;
  char *tmp___1 ;
  void *tmp___2 ;
  unsigned long tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  char *tmp___6 ;
  char const   *signature___0 ;
  char *tmp___7 ;
  char *tmp___8 ;
  char *tmp___9 ;
  char *tmp___10 ;
  char *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  struct object_id  const  *tmp___13 ;
  char *tmp___14 ;
  struct object_id  const  *tmp___15 ;
  char *tmp___16 ;
  char *tmp___17 ;
  char *tmp___18 ;
  char const   *tmp___19 ;
  char *tmp___20 ;

  {
  message_size = (size_t )0;
  tagged = tag->tagged;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (tagged->type == 4U)) {
      goto while_break;
    }
    tagged = ((struct tag *)tagged)->tagged;
  }
  while_break: /* CIL Label */ ;
  }
  if (tagged->type == 2U) {
    tmp = oid_to_hex((struct object_id  const  *)(& tag->object.oid));
    warning((char const   *)"Omitting tag %s,\nsince tags of trees (or tags of tags of trees, etc.) are not supported.",
            tmp);
    return;
  }
  tmp___0 = repo_read_object_file(the_repository, (struct object_id  const  *)(& tag->object.oid),
                                  & type___0, & size);
  buf___19 = (char *)tmp___0;
  if (! buf___19) {
    tmp___1 = oid_to_hex((struct object_id  const  *)(& tag->object.oid));
    die((char const   *)"could not read tag %s", tmp___1);
  }
  tmp___2 = memmem((void const   *)buf___19, size, (void const   *)"\n\n", (size_t )2);
  message___0 = (char const   *)tmp___2;
  if (message___0) {
    message___0 += 2;
    message_size = strlen(message___0);
  }
  if (message___0) {
    tmp___3 = (unsigned long )(message___0 - (char const   *)buf___19);
  } else {
    tmp___3 = size;
  }
  tmp___4 = memmem((void const   *)buf___19, tmp___3, (void const   *)"\ntagger ",
                   (size_t )8);
  tagger = (char const   *)tmp___4;
  if (! tagger) {
    if (fake_missing_tagger) {
      tagger = (char const   *)"tagger Unspecified Tagger <unspecified-tagger> 0 +0000";
    } else {
      tagger = (char const   *)"";
    }
    tmp___5 = strlen(tagger);
    tagger_end = tagger + tmp___5;
  } else {
    tagger ++;
    tmp___6 = strchrnul(tagger, '\n');
    tagger_end = (char const   *)tmp___6;
    if (anonymize) {
      anonymize_ident_line(& tagger, & tagger_end);
    }
  }
  if (anonymize) {
    name___0 = anonymize_refname(name___0);
    if (message___0) {
      message___0 = anonymize_str(& tags___0, & anonymize_tag, message___0, message_size,
                                  (void *)0);
      message_size = strlen(message___0);
    }
  }
  if (message___0) {
    tmp___7 = strstr(message___0, (char const   *)"\n-----BEGIN PGP SIGNATURE-----\n");
    signature___0 = (char const   *)tmp___7;
    if (signature___0) {
      {
      if ((unsigned int )signed_tag_mode == 0U) {
        goto case_0;
      }
      if ((unsigned int )signed_tag_mode == 2U) {
        goto case_2;
      }
      if ((unsigned int )signed_tag_mode == 1U) {
        goto case_1;
      }
      if ((unsigned int )signed_tag_mode == 3U) {
        goto case_3;
      }
      if ((unsigned int )signed_tag_mode == 4U) {
        goto case_4;
      }
      goto switch_break;
      case_0: /* CIL Label */
      tmp___8 = oid_to_hex((struct object_id  const  *)(& tag->object.oid));
      die((char const   *)"encountered signed tag %s; use --signed-tags=<mode> to handle it",
          tmp___8);
      case_2: /* CIL Label */
      tmp___9 = oid_to_hex((struct object_id  const  *)(& tag->object.oid));
      warning((char const   *)"exporting signed tag %s", tmp___9);
      case_1: /* CIL Label */
      goto switch_break;
      case_3: /* CIL Label */
      tmp___10 = oid_to_hex((struct object_id  const  *)(& tag->object.oid));
      warning((char const   *)"stripping signature from tag %s", tmp___10);
      case_4: /* CIL Label */
      message_size = (size_t )((signature___0 + 1) - message___0);
      goto switch_break;
      switch_break: /* CIL Label */ ;
      }
    }
  }
  tagged = tag->tagged;
  tagged_mark = get_object_mark(tagged);
  if (! tagged_mark) {
    {
    if ((unsigned int )tag_of_filtered_mode == 0U) {
      goto case_0___0;
    }
    if ((unsigned int )tag_of_filtered_mode == 1U) {
      goto case_1___0;
    }
    if ((unsigned int )tag_of_filtered_mode == 2U) {
      goto case_2___0;
    }
    goto switch_break___0;
    case_0___0: /* CIL Label */
    tmp___11 = oid_to_hex((struct object_id  const  *)(& tag->object.oid));
    die((char const   *)"tag %s tags unexported object; use --tag-of-filtered-object=<mode> to handle it",
        tmp___11);
    case_1___0: /* CIL Label */
    free((void *)buf___19);
    return;
    case_2___0: /* CIL Label */
    if (tagged->type == 4U) {
      if (! mark_tags) {
        tmp___12 = _((char const   *)"Error: Cannot export nested tags unless --mark-tags is specified.");
        die((char const   *)tmp___12);
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (tagged->type == 1U) {
      p___0 = rewrite_commit((struct commit *)tagged);
      if (! p___0) {
        tmp___13 = null_oid();
        tmp___14 = oid_to_hex(tmp___13);
        printf((char const   *)"reset %s\nfrom %s\n\n", name___0, tmp___14);
        free((void *)buf___19);
        return;
      }
      tagged_mark = get_object_mark(& p___0->object);
    } else {
      tagged_mark = get_object_mark(tagged);
    }
    switch_break___0: /* CIL Label */ ;
    }
  }
  if (tagged->type == 4U) {
    tmp___15 = null_oid();
    tmp___16 = oid_to_hex(tmp___15);
    printf((char const   *)"reset %s\nfrom %s\n\n", name___0, tmp___16);
  }
  skip_prefix(name___0, (char const   *)"refs/tags/", & name___0);
  printf((char const   *)"tag %s\n", name___0);
  if (mark_tags) {
    mark_next_object(& tag->object);
    printf((char const   *)"mark :%u\n", last_idnum);
  }
  if (tagged_mark) {
    printf((char const   *)"from :%d\n", tagged_mark);
  } else {
    tmp___17 = oid_to_hex((struct object_id  const  *)(& tagged->oid));
    printf((char const   *)"from %s\n", tmp___17);
  }
  if (show_original_ids) {
    tmp___18 = oid_to_hex((struct object_id  const  *)(& tag->object.oid));
    printf((char const   *)"original-oid %s\n", tmp___18);
  }
  if (message___0) {
    tmp___19 = message___0;
  } else {
    tmp___19 = (char const   *)"";
  }
  if ((unsigned long )tagger == (unsigned long )tagger_end) {
    tmp___20 = "";
  } else {
    tmp___20 = "\n";
  }
  printf((char const   *)"%.*s%sdata %d\n%.*s\n", (int )(tagger_end - tagger), tagger,
         tmp___20, (int )message_size, (int )message_size, tmp___19);
  free((void *)buf___19);
  return;
}
}
static struct commit *get_commit(struct rev_cmdline_entry *e , char *full_name )
{
  struct tag *tag ;
  struct string_list_item *tmp ;

  {
  {
  if ((e->item)->type == 1U) {
    goto case_1;
  }
  if ((e->item)->type == 4U) {
    goto case_4;
  }
  goto switch_default;
  case_1: /* CIL Label */
  return ((struct commit *)e->item);
  case_4: /* CIL Label */
  tag = (struct tag *)e->item;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tag) {
      if (! (tag->object.type == 4U)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    parse_object(the_repository, (struct object_id  const  *)(& tag->object.oid));
    tmp = string_list_append(& tag_refs, (char const   *)full_name);
    tmp->util = (void *)tag;
    tag = (struct tag *)tag->tagged;
  }
  while_break: /* CIL Label */ ;
  }
  if (! tag) {
    die((char const   *)"Tag %s points nowhere?", e->name);
  }
  return ((struct commit *)tag);
  switch_default: /* CIL Label */
  return ((struct commit *)((void *)0));
  switch_break: /* CIL Label */ ;
  }
}
}
static void get_tags_and_duplicates(struct rev_cmdline_info *info___0 )
{
  int i ;
  struct rev_cmdline_entry *e ;
  struct object_id oid ;
  struct commit *commit ;
  char *full_name ;
  size_t tmp ;
  int tmp___0 ;
  char *private ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  struct string_list_item *tmp___3 ;
  char **tmp___4 ;
  char **tmp___5 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < info___0->nr)) {
      goto while_break;
    }
    e = info___0->rev + i;
    if (e->flags & (1u << 1)) {
      goto __Cont;
    }
    tmp = strlen(e->name);
    tmp___0 = dwim_ref(e->name, (int )tmp, & oid, & full_name, 0);
    if (tmp___0 != 1) {
      goto __Cont;
    }
    if (refspecs.nr) {
      private = apply_refspecs(& refspecs, (char const   *)full_name);
      if (private) {
        free((void *)full_name);
        full_name = private;
      }
    }
    commit = get_commit(e, full_name);
    if (! commit) {
      tmp___1 = type_name((e->item)->type);
      warning((char const   *)"%s: Unexpected object of type %s, skipping.", e->name,
              tmp___1);
      goto __Cont;
    }
    {
    if (commit->object.type == 1U) {
      goto case_1;
    }
    if (commit->object.type == 3U) {
      goto case_3;
    }
    goto switch_default;
    case_1: /* CIL Label */
    goto switch_break;
    case_3: /* CIL Label */
    export_blob((struct object_id  const  *)(& commit->object.oid));
    goto __Cont;
    switch_default: /* CIL Label */
    tmp___2 = type_name(commit->object.type);
    warning((char const   *)"Tag points to object of unexpected type %s, skipping.",
            tmp___2);
    goto __Cont;
    switch_break: /* CIL Label */ ;
    }
    if ((e->item)->type != 4U) {
      tmp___3 = string_list_append(& extra_refs, (char const   *)full_name);
      tmp___3->util = (void *)commit;
    }
    tmp___5 = revision_sources_at(& revision_sources, (struct commit  const  *)commit);
    if (! *tmp___5) {
      tmp___4 = revision_sources_at(& revision_sources, (struct commit  const  *)commit);
      *tmp___4 = full_name;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_sort(& extra_refs);
  string_list_remove_duplicates(& extra_refs, 0);
  return;
}
}
static void handle_tags_and_duplicates(struct string_list *extras )
{
  struct commit *commit ;
  int i ;
  char const   *name___0 ;
  struct object *object ;
  int mark ;
  struct object_id  const  *tmp ;
  char *tmp___0 ;
  struct object_id  const  *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;

  {
  i = (int )(extras->nr - 1U);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i >= 0)) {
      goto while_break;
    }
    name___0 = (char const   *)(extras->items + i)->string;
    object = (struct object *)(extras->items + i)->util;
    {
    if (object->type == 4U) {
      goto case_4;
    }
    if (object->type == 1U) {
      goto case_1;
    }
    goto switch_break;
    case_4: /* CIL Label */
    handle_tag(name___0, (struct tag *)object);
    goto switch_break;
    case_1: /* CIL Label */
    if (anonymize) {
      name___0 = anonymize_refname(name___0);
    }
    commit = rewrite_commit((struct commit *)object);
    if (! commit) {
      tmp = null_oid();
      tmp___0 = oid_to_hex(tmp);
      printf((char const   *)"reset %s\nfrom %s\n\n", name___0, tmp___0);
      goto __Cont;
    }
    mark = get_object_mark(& commit->object);
    if (! mark) {
      if (! reference_excluded_commits) {
        tmp___1 = null_oid();
        tmp___2 = oid_to_hex(tmp___1);
        printf((char const   *)"reset %s\nfrom %s\n\n", name___0, tmp___2);
        goto __Cont;
      }
      tmp___3 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
      printf((char const   *)"reset %s\nfrom %s\n\n", name___0, tmp___3);
      goto __Cont;
    }
    printf((char const   *)"reset %s\nfrom :%d\n\n", name___0, mark);
    show_progress___0();
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void export_marks(char *file___0 )
{
  unsigned int i ;
  uint32_t mark ;
  struct decoration_entry *deco ;
  FILE *f ;
  int e ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  deco = idnums.entries;
  e = 0;
  f = fopen_for_writing((char const   *)file___0);
  if (! f) {
    die_errno((char const   *)"Unable to open marks file %s for writing.", file___0);
  }
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < idnums.size)) {
      goto while_break;
    }
    if (deco->base) {
      if ((deco->base)->type == 1U) {
        mark = ptr_to_mark(deco->decoration);
        tmp = oid_to_hex((struct object_id  const  *)(& (deco->base)->oid));
        tmp___0 = fprintf(f, (char const   *)":%u %s\n", mark, tmp);
        if (tmp___0 < 0) {
          e = 1;
          goto while_break;
        }
      }
    }
    deco ++;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = ferror(f);
  e |= tmp___1;
  tmp___2 = fclose(f);
  e |= tmp___2;
  if (e) {
    error((char const   *)"Unable to write marks file %s.", file___0);
    const_error();
  }
  return;
}
}
static void import_marks(char *input_file , int check_exists )
{
  char line___0[512] ;
  FILE *f ;
  struct stat sb___6 ;
  int tmp ;
  uint32_t mark ;
  char *line_end ;
  char *mark_end ;
  struct object_id oid ;
  struct object *object ;
  struct commit *commit ;
  enum object_type type___0 ;
  uintmax_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;
  char *tmp___5 ;
  char *tmp___6 ;

  {
  if (check_exists) {
    tmp = stat((char const   *)input_file, & sb___6);
    if (tmp) {
      return;
    }
  }
  f = xfopen((char const   *)input_file, (char const   *)"r");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___6 = fgets(line___0, (int )sizeof(line___0), f);
    if (! tmp___6) {
      goto while_break;
    }
    line_end = strchr((char const   *)(line___0), '\n');
    if ((int )line___0[0] != 58) {
      die((char const   *)"corrupt mark line: %s", line___0);
    } else
    if (! line_end) {
      die((char const   *)"corrupt mark line: %s", line___0);
    }
    *line_end = (char )'\000';
    tmp___0 = strtoumax((char const   *)(line___0 + 1), & mark_end, 10);
    mark = (uint32_t )tmp___0;
    if (! mark) {
      die((char const   *)"corrupt mark line: %s", line___0);
    } else
    if ((unsigned long )mark_end == (unsigned long )(line___0 + 1)) {
      die((char const   *)"corrupt mark line: %s", line___0);
    } else
    if ((int )*mark_end != 32) {
      die((char const   *)"corrupt mark line: %s", line___0);
    } else {
      tmp___1 = get_oid_hex((char const   *)(mark_end + 1), & oid);
      if (tmp___1) {
        die((char const   *)"corrupt mark line: %s", line___0);
      }
    }
    if (last_idnum < mark) {
      last_idnum = mark;
    }
    tmp___2 = oid_object_info(the_repository, (struct object_id  const  *)(& oid),
                              (unsigned long *)((void *)0));
    type___0 = (enum object_type )tmp___2;
    if ((int )type___0 < 0) {
      tmp___3 = oid_to_hex((struct object_id  const  *)(& oid));
      die((char const   *)"object not found: %s", tmp___3);
    }
    if ((int )type___0 != 1) {
      goto while_continue;
    }
    commit = lookup_commit(the_repository, (struct object_id  const  *)(& oid));
    if (! commit) {
      tmp___4 = oid_to_hex((struct object_id  const  *)(& oid));
      die((char const   *)"not a commit? can\'t happen: %s", tmp___4);
    }
    object = & commit->object;
    if (object->flags & (1u << 3)) {
      tmp___5 = oid_to_hex((struct object_id  const  *)(& oid));
      error((char const   *)"Object %s already has a mark", tmp___5);
      const_error();
    }
    mark_object___0(object, mark);
    object->flags |= 1u << 3;
  }
  while_break: /* CIL Label */ ;
  }
  fclose(f);
  return;
}
}
static void handle_deletes(void)
{
  int i ;
  struct refspec_item *refspec ;
  struct object_id  const  *tmp ;
  char *tmp___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < refspecs.nr)) {
      goto while_break;
    }
    refspec = refspecs.items + i;
    if (*(refspec->src)) {
      goto __Cont;
    }
    tmp = null_oid();
    tmp___0 = oid_to_hex(tmp);
    printf((char const   *)"reset %s\nfrom %s\n\n", refspec->dst, tmp___0);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static char *anonymize_seed(void *data )
{
  char *tmp ;

  {
  tmp = xstrdup((char const   *)data);
  return (tmp);
}
}
static int parse_opt_anonymize_map(struct option  const  *opt___0 , char const   *arg ,
                                   int unset )
{
  struct hashmap *map___0 ;
  char const   *delim___0 ;
  char const   *value ;
  size_t keylen ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  map___0 = (struct hashmap *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/fast-export.c", 1140, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = strchr(arg, ':');
  delim___0 = (char const   *)tmp;
  if (delim___0) {
    keylen = (size_t )(delim___0 - arg);
    value = delim___0 + 1;
  } else {
    keylen = strlen(arg);
    value = arg;
  }
  if (! keylen) {
    tmp___0 = _((char const   *)"--anonymize-map token cannot be empty");
    error((char const   *)tmp___0);
    tmp___1 = const_error();
    return (tmp___1);
  } else
  if (! *value) {
    tmp___0 = _((char const   *)"--anonymize-map token cannot be empty");
    error((char const   *)tmp___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  anonymize_str(map___0, & anonymize_seed, arg, keylen, (void *)value);
  return (0);
}
}
int cmd_fast_export(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct rev_info revs ;
  struct commit *commit ;
  char *export_filename ;
  char *import_filename ;
  char *import_filename_if_exists ;
  uint32_t lastimportid ;
  struct string_list refspecs_list ;
  struct string_list paths_of_changed_objects ;
  struct option options[18] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  export_filename = (char *)((void *)0);
  import_filename = (char *)((void *)0);
  import_filename_if_exists = (char *)((void *)0);
  refspecs_list.items = (struct string_list_item *)0;
  refspecs_list.nr = 0U;
  refspecs_list.alloc = 0U;
  refspecs_list.strdup_strings = 0U;
  refspecs_list.cmp = (int (*)(char const   * , char const   * ))0;
  paths_of_changed_objects.items = (struct string_list_item *)0;
  paths_of_changed_objects.nr = 0U;
  paths_of_changed_objects.alloc = 0U;
  paths_of_changed_objects.strdup_strings = 1U;
  paths_of_changed_objects.cmp = (int (*)(char const   * , char const   * ))0;
  options[0].type = (enum parse_opt_type )10;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"progress";
  options[0].value = (void *)(& progress___0);
  options[0].argh = (char const   *)"n";
  options[0].help = (char const   *)"show progress after <n> objects";
  options[0].flags = (enum parse_opt_option_flags )0;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )12;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"signed-tags";
  options[1].value = (void *)(& signed_tag_mode);
  options[1].argh = (char const   *)"mode";
  options[1].help = (char const   *)"select handling of signed tags";
  options[1].flags = (enum parse_opt_option_flags )0;
  options[1].callback = & parse_opt_signed_tag_mode;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )12;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"tag-of-filtered-object";
  options[2].value = (void *)(& tag_of_filtered_mode);
  options[2].argh = (char const   *)"mode";
  options[2].help = (char const   *)"select handling of tags that tag filtered objects";
  options[2].flags = (enum parse_opt_option_flags )0;
  options[2].callback = & parse_opt_tag_of_filtered_mode;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )12;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"reencode";
  options[3].value = (void *)(& reencode_mode);
  options[3].argh = (char const   *)"mode";
  options[3].help = (char const   *)"select handling of commit messages in an alternate encoding";
  options[3].flags = (enum parse_opt_option_flags )0;
  options[3].callback = & parse_opt_reencode_mode;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )9;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"export-marks";
  options[4].value = (void *)(& export_filename);
  options[4].argh = (char const   *)"file";
  options[4].help = (char const   *)"dump marks to this file";
  options[4].flags = (enum parse_opt_option_flags )0;
  options[4].callback = (parse_opt_cb *)0;
  options[4].defval = 0L;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )9;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)"import-marks";
  options[5].value = (void *)(& import_filename);
  options[5].argh = (char const   *)"file";
  options[5].help = (char const   *)"import marks from this file";
  options[5].flags = (enum parse_opt_option_flags )0;
  options[5].callback = (parse_opt_cb *)0;
  options[5].defval = 0L;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )9;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)"import-marks-if-exists";
  options[6].value = (void *)(& import_filename_if_exists);
  options[6].argh = (char const   *)"file";
  options[6].help = (char const   *)"import marks from this file if it exists";
  options[6].flags = (enum parse_opt_option_flags )0;
  options[6].callback = (parse_opt_cb *)0;
  options[6].defval = 0L;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )8;
  options[7].short_name = 0;
  options[7].long_name = (char const   *)"fake-missing-tagger";
  options[7].value = (void *)(& fake_missing_tagger);
  options[7].argh = (char const   *)((void *)0);
  options[7].help = (char const   *)"fake a tagger when tags lack one";
  options[7].flags = (enum parse_opt_option_flags )2;
  options[7].callback = (parse_opt_cb *)((void *)0);
  options[7].defval = (intptr_t )1;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )8;
  options[8].short_name = 0;
  options[8].long_name = (char const   *)"full-tree";
  options[8].value = (void *)(& full_tree);
  options[8].argh = (char const   *)((void *)0);
  options[8].help = (char const   *)"output full tree for each commit";
  options[8].flags = (enum parse_opt_option_flags )2;
  options[8].callback = (parse_opt_cb *)((void *)0);
  options[8].defval = (intptr_t )1;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  options[9].type = (enum parse_opt_type )8;
  options[9].short_name = 0;
  options[9].long_name = (char const   *)"use-done-feature";
  options[9].value = (void *)(& use_done_feature);
  options[9].argh = (char const   *)((void *)0);
  options[9].help = (char const   *)"use the done feature to terminate the stream";
  options[9].flags = (enum parse_opt_option_flags )2;
  options[9].callback = (parse_opt_cb *)((void *)0);
  options[9].defval = (intptr_t )1;
  options[9].ll_callback = (parse_opt_ll_cb *)0;
  options[9].extra = 0L;
  options[10].type = (enum parse_opt_type )8;
  options[10].short_name = 0;
  options[10].long_name = (char const   *)"no-data";
  options[10].value = (void *)(& no_data);
  options[10].argh = (char const   *)((void *)0);
  options[10].help = (char const   *)"skip output of blob data";
  options[10].flags = (enum parse_opt_option_flags )2;
  options[10].callback = (parse_opt_cb *)((void *)0);
  options[10].defval = (intptr_t )1;
  options[10].ll_callback = (parse_opt_ll_cb *)0;
  options[10].extra = 0L;
  options[11].type = (enum parse_opt_type )12;
  options[11].short_name = 0;
  options[11].long_name = (char const   *)"refspec";
  options[11].value = (void *)(& refspecs_list);
  options[11].argh = (char const   *)"refspec";
  options[11].help = (char const   *)"apply refspec to exported refs";
  options[11].flags = (enum parse_opt_option_flags )0;
  options[11].callback = & parse_opt_string_list;
  options[11].defval = 0L;
  options[11].ll_callback = (parse_opt_ll_cb *)0;
  options[11].extra = 0L;
  options[12].type = (enum parse_opt_type )8;
  options[12].short_name = 0;
  options[12].long_name = (char const   *)"anonymize";
  options[12].value = (void *)(& anonymize);
  options[12].argh = (char const   *)((void *)0);
  options[12].help = (char const   *)"anonymize output";
  options[12].flags = (enum parse_opt_option_flags )2;
  options[12].callback = (parse_opt_cb *)((void *)0);
  options[12].defval = (intptr_t )1;
  options[12].ll_callback = (parse_opt_ll_cb *)0;
  options[12].extra = 0L;
  options[13].type = (enum parse_opt_type )12;
  options[13].short_name = 0;
  options[13].long_name = (char const   *)"anonymize-map";
  options[13].value = (void *)(& anonymized_seeds);
  options[13].argh = (char const   *)"from:to";
  options[13].help = (char const   *)"convert <from> to <to> in anonymized output";
  options[13].flags = (enum parse_opt_option_flags )4;
  options[13].callback = & parse_opt_anonymize_map;
  options[13].defval = 0L;
  options[13].ll_callback = (parse_opt_ll_cb *)0;
  options[13].extra = 0L;
  options[14].type = (enum parse_opt_type )8;
  options[14].short_name = 0;
  options[14].long_name = (char const   *)"reference-excluded-parents";
  options[14].value = (void *)(& reference_excluded_commits);
  options[14].argh = (char const   *)((void *)0);
  options[14].help = (char const   *)"reference parents which are not in fast-export stream by object id";
  options[14].flags = (enum parse_opt_option_flags )2;
  options[14].callback = (parse_opt_cb *)((void *)0);
  options[14].defval = (intptr_t )1;
  options[14].ll_callback = (parse_opt_ll_cb *)0;
  options[14].extra = 0L;
  options[15].type = (enum parse_opt_type )8;
  options[15].short_name = 0;
  options[15].long_name = (char const   *)"show-original-ids";
  options[15].value = (void *)(& show_original_ids);
  options[15].argh = (char const   *)((void *)0);
  options[15].help = (char const   *)"show original object ids of blobs/commits";
  options[15].flags = (enum parse_opt_option_flags )2;
  options[15].callback = (parse_opt_cb *)((void *)0);
  options[15].defval = (intptr_t )1;
  options[15].ll_callback = (parse_opt_ll_cb *)0;
  options[15].extra = 0L;
  options[16].type = (enum parse_opt_type )8;
  options[16].short_name = 0;
  options[16].long_name = (char const   *)"mark-tags";
  options[16].value = (void *)(& mark_tags);
  options[16].argh = (char const   *)((void *)0);
  options[16].help = (char const   *)"label tags with mark ids";
  options[16].flags = (enum parse_opt_option_flags )2;
  options[16].callback = (parse_opt_cb *)((void *)0);
  options[16].defval = (intptr_t )1;
  options[16].ll_callback = (parse_opt_ll_cb *)0;
  options[16].extra = 0L;
  options[17].type = (enum parse_opt_type )0;
  options[17].short_name = 0;
  options[17].long_name = (char const   *)0;
  options[17].value = (void *)0;
  options[17].argh = (char const   *)0;
  options[17].help = (char const   *)0;
  options[17].flags = 0U;
  options[17].callback = (parse_opt_cb *)0;
  options[17].defval = 0L;
  options[17].ll_callback = (parse_opt_ll_cb *)0;
  options[17].extra = 0L;
  if (argc == 1) {
    usage_with_options((char const   **)(fast_export_usage), (struct option  const  *)(options));
  }
  git_config(& git_default_config, (void *)0);
  repo_init_revisions(the_repository, & revs, prefix___1);
  init_revision_sources(& revision_sources);
  revs.topo_order = 1U;
  revs.sources = & revision_sources;
  revs.rewrite_parents = 1U;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       (char const   **)(fast_export_usage), (enum parse_opt_flags )12);
  argc = setup_revisions(argc, argv___0, & revs, (struct setup_revision_opt *)((void *)0));
  if (argc > 1) {
    usage_with_options((char const   **)(fast_export_usage), (struct option  const  *)(options));
  }
  if (anonymized_seeds.cmpfn) {
    if (! anonymize) {
      tmp = _((char const   *)"the option \'%s\' requires \'%s\'");
      die((char const   *)tmp, "--anonymize-map", "--anonymize");
    }
  }
  if (refspecs_list.nr) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )i < refspecs_list.nr)) {
        goto while_break;
      }
      refspec_append(& refspecs, (char const   *)(refspecs_list.items + i)->string);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    string_list_clear(& refspecs_list, 1);
  }
  if (use_done_feature) {
    printf((char const   *)"feature done\n");
  }
  if (import_filename) {
    if (import_filename_if_exists) {
      tmp___0 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___0, "--import-marks", "--import-marks-if-exists");
    }
  }
  if (import_filename) {
    import_marks(import_filename, 0);
  } else
  if (import_filename_if_exists) {
    import_marks(import_filename_if_exists, 1);
  }
  lastimportid = last_idnum;
  if (import_filename) {
    if (revs.prune_data.nr) {
      full_tree = 1;
    }
  }
  get_tags_and_duplicates(& revs.cmdline);
  tmp___1 = prepare_revision_walk(& revs);
  if (tmp___1) {
    die((char const   *)"revision walk setup failed");
  }
  revs.reverse = 1U;
  revs.diffopt.format_callback = & show_filemodify;
  revs.diffopt.format_callback_data = (void *)(& paths_of_changed_objects);
  revs.diffopt.flags.recursive = 1U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    commit = get_revision(& revs);
    if (! commit) {
      goto while_break___0;
    }
    handle_commit___0(commit, & revs, & paths_of_changed_objects);
  }
  while_break___0: /* CIL Label */ ;
  }
  handle_tags_and_duplicates(& extra_refs);
  handle_tags_and_duplicates(& tag_refs);
  handle_deletes();
  if (export_filename) {
    if (lastimportid != last_idnum) {
      export_marks(export_filename);
    }
  }
  if (use_done_feature) {
    printf((char const   *)"done\n");
  }
  refspec_clear(& refspecs);
  return (0);
}
}
static double const   __ac_HASH_UPPER___122  =    (double const   )0.77;
__inline static void kh_resize_oid_set___122(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___122(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___122 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___122 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___122(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___122(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___122(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___122(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___122(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___122(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___122 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___122 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___122(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___122(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___122(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___122(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___122(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___122(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___122 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___122 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___122(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___122(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___122(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___122(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___90(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___90(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___122 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___122 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___90(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___90(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___90(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___90(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_contains_cache_with_stride___19(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___19(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___19(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___19(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___19(s___1, 1U);
  return;
}
}
static void clear_contains_cache___19(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___19(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___19(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___19(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___19(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___19(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___19(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___19(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___19(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___19(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___19(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___19(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___19(s___1, c___0, 0);
  return (tmp);
}
}
static int object_entry_hashcmp(void const   *map_data , struct hashmap_entry  const  *eptr ,
                                struct hashmap_entry  const  *entry_or_key , void const   *keydata )
{
  struct object_id  const  *oid ;
  struct object_entry___0  const  *e1 ;
  struct object_entry___0  const  *e2 ;
  int tmp ;
  int tmp___0 ;

  {
  oid = (struct object_id  const  *)keydata;
  e1 = (struct object_entry___0  const  *)((char *)eptr - (unsigned long )(& ((struct object_entry___0  const  *)0)->ent));
  if (oid) {
    tmp = oidcmp((struct object_id  const  *)(& e1->idx.oid), oid);
    return (tmp);
  }
  e2 = (struct object_entry___0  const  *)((char *)entry_or_key - (unsigned long )(& ((struct object_entry___0  const  *)0)->ent));
  tmp___0 = oidcmp((struct object_id  const  *)(& e1->idx.oid), (struct object_id  const  *)(& e2->idx.oid));
  return (tmp___0);
}
}
static unsigned long max_depth  =    50UL;
static off_t max_packsize  ;
static int unpack_limit___0  =    100;
static int force_update  ;
static uintmax_t alloc_count  ;
static uintmax_t marks_set_count  ;
static uintmax_t object_count_by_type[1 << 3]  ;
static uintmax_t duplicate_count_by_type[1 << 3]  ;
static uintmax_t delta_count_by_type[1 << 3]  ;
static uintmax_t delta_count_attempts_by_type[1 << 3]  ;
static unsigned long object_count  ;
static unsigned long branch_count  ;
static unsigned long branch_load_count  ;
static int failure  ;
static FILE *pack_edges  ;
static unsigned int show_stats___1  =    1U;
static int global_argc  ;
static char const   **global_argv  ;
static struct mem_pool fi_mem_pool  =    {(struct mp_block *)((void *)0), 2097152UL - sizeof(struct mp_block ), (size_t )0};
static unsigned int atom_table_sz  =    4451U;
static unsigned int atom_cnt  ;
static struct atom_str **atom_table  ;
static struct pack_idx_option pack_idx_opts  ;
static unsigned int pack_id  ;
static struct hashfile *pack_file  ;
static struct packed_git *pack_data  ;
static struct packed_git **all_packs  ;
static off_t pack_size  ;
static unsigned int object_entry_alloc  =    5000U;
static struct object_entry_pool *blocks  ;
static struct hashmap object_table  ;
static struct mark_set *marks  ;
static char const   *export_marks_file  ;
static char const   *import_marks_file  ;
static int import_marks_file_from_stream  ;
static int import_marks_file_ignore_missing  ;
static int import_marks_file_done  ;
static int relative_marks_paths  ;
static struct last_object last_blob  =    {{0UL, 0UL, strbuf_slopbuf}, (off_t )0, 0U, 0U};
static unsigned int tree_entry_alloc  =    1000U;
static void *avail_tree_entry  ;
static unsigned int avail_tree_table_sz  =    100U;
static struct avail_tree_content **avail_tree_table  ;
static size_t tree_entry_allocd  ;
static struct strbuf old_tree  =    {0UL, 0UL, strbuf_slopbuf};
static struct strbuf new_tree  =    {0UL, 0UL, strbuf_slopbuf};
static unsigned long max_active_branches  =    5UL;
static unsigned long cur_active_branches  ;
static unsigned long branch_table_sz  =    1039UL;
static struct branch___0 **branch_table  ;
static struct branch___0 *active_branches  ;
static struct tag___0 *first_tag  ;
static struct tag___0 *last_tag  ;
static whenspec_type whenspec  =    (whenspec_type )1;
static struct strbuf command_buf  =    {0UL, 0UL, strbuf_slopbuf};
static int unread_command_buf  ;
static struct recent_command cmd_hist  =    {& cmd_hist, & cmd_hist, (char *)((void *)0)};
static struct recent_command *cmd_tail  =    & cmd_hist;
static struct recent_command *rc_free  ;
static unsigned int cmd_save  =    100U;
static uintmax_t next_mark  ;
static struct strbuf new_data  =    {0UL, 0UL, strbuf_slopbuf};
static int seen_data_command  ;
static int require_explicit_termination  ;
static int allow_unsafe_features  ;
static sig_atomic_t volatile   checkpoint_requested  ;
static struct string_list sub_marks_from  =    {(struct string_list_item *)0, 0U, 0U, 1U, (int (*)(char const   * , char const   * ))0};
static struct string_list sub_marks_to  =    {(struct string_list_item *)0, 0U, 0U, 1U, (int (*)(char const   * , char const   * ))0};
static kh_oid_map_t *sub_oid_map  ;
static int cat_blob_fd  =    1;
static void parse_argv(void) ;
static void parse_get_mark(char const   *p___0 ) ;
static void parse_cat_blob(char const   *p___0 ) ;
static void parse_ls(char const   *p___0 , struct branch___0 *b___0 ) ;
static void for_each_mark(struct mark_set *m , uintmax_t base , void (*callback)(uintmax_t mark ,
                                                                                 void *obj ,
                                                                                 void *cbp ) ,
                          void *p___0 )
{
  uintmax_t k ;

  {
  if (m->shift) {
    k = (uintmax_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (k < 1024UL)) {
        goto while_break;
      }
      if (m->data.sets[k]) {
        for_each_mark(m->data.sets[k], base + (k << m->shift), callback, p___0);
      }
      k ++;
    }
    while_break: /* CIL Label */ ;
    }
  } else {
    k = (uintmax_t )0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (k < 1024UL)) {
        goto while_break___0;
      }
      if (m->data.marked[k]) {
        (*callback)(base + k, (void *)m->data.marked[k], p___0);
      }
      k ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  return;
}
}
static void dump_marks_fn(uintmax_t mark , void *object , void *cbp )
{
  struct object_entry___0 *e ;
  FILE *f ;
  char *tmp ;

  {
  e = (struct object_entry___0 *)object;
  f = (FILE *)cbp;
  tmp = oid_to_hex((struct object_id  const  *)(& e->idx.oid));
  fprintf(f, (char const   *)":%lu %s\n", mark, tmp);
  return;
}
}
static void write_branch_report(FILE *rpt , struct branch___0 *b___0 )
{
  int tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  fprintf(rpt, (char const   *)"%s:\n", b___0->name);
  fprintf(rpt, (char const   *)"  status      :");
  if (b___0->active) {
    fputs((char const   * __restrict  )" active", (FILE * __restrict  )rpt);
  }
  if (b___0->branch_tree.tree) {
    fputs((char const   * __restrict  )" loaded", (FILE * __restrict  )rpt);
  }
  tmp = is_null_oid((struct object_id  const  *)(& b___0->branch_tree.versions[1].oid));
  if (tmp) {
    fputs((char const   * __restrict  )" dirty", (FILE * __restrict  )rpt);
  }
  fputc('\n', rpt);
  tmp___0 = oid_to_hex((struct object_id  const  *)(& b___0->oid));
  fprintf(rpt, (char const   *)"  tip commit  : %s\n", tmp___0);
  tmp___1 = oid_to_hex((struct object_id  const  *)(& b___0->branch_tree.versions[0].oid));
  fprintf(rpt, (char const   *)"  old tree    : %s\n", tmp___1);
  tmp___2 = oid_to_hex((struct object_id  const  *)(& b___0->branch_tree.versions[1].oid));
  fprintf(rpt, (char const   *)"  cur tree    : %s\n", tmp___2);
  fprintf(rpt, (char const   *)"  commit clock: %lu\n", b___0->last_commit);
  fputs((char const   * __restrict  )"  last pack   : ", (FILE * __restrict  )rpt);
  if (b___0->pack_id < (unsigned int )((1 << 16) - 1)) {
    fprintf(rpt, (char const   *)"%u", b___0->pack_id);
  }
  fputc('\n', rpt);
  fputc('\n', rpt);
  return;
}
}
static void write_crash_report(char const   *err___4 )
{
  char *loc ;
  __pid_t tmp ;
  char *tmp___0 ;
  FILE *rpt ;
  FILE *tmp___1 ;
  struct branch___0 *b___0 ;
  unsigned long lu ;
  struct recent_command *rc___0 ;
  __pid_t tmp___2 ;
  __pid_t tmp___3 ;
  struct date_mode *tmp___4 ;
  time_t tmp___5 ;
  char const   *tmp___6 ;
  struct tag___0 *tg ;
  char *tmp___7 ;

  {
  tmp = getpid();
  tmp___0 = git_pathdup((char const   *)"fast_import_crash_%lu", (uintmax_t )tmp);
  loc = tmp___0;
  tmp___1 = git_fopen((char const   *)loc, (char const   *)"w");
  rpt = tmp___1;
  if (! rpt) {
    error_errno((char const   *)"can\'t write crash report %s", loc);
    const_error();
    free((void *)loc);
    return;
  }
  fprintf(stderr, (char const   *)"fast-import: dumping crash report to %s\n", loc);
  fprintf(rpt, (char const   *)"fast-import crash report:\n");
  tmp___2 = getpid();
  fprintf(rpt, (char const   *)"    fast-import process: %lu\n", (uintmax_t )tmp___2);
  tmp___3 = getppid();
  fprintf(rpt, (char const   *)"    parent process     : %lu\n", (uintmax_t )tmp___3);
  tmp___4 = date_mode_from_type((enum date_mode_type )4);
  tmp___5 = time((time_t *)((void *)0));
  tmp___6 = show_date((timestamp_t )tmp___5, 0, (struct date_mode  const  *)tmp___4);
  fprintf(rpt, (char const   *)"    at %s\n", tmp___6);
  fputc('\n', rpt);
  fputs((char const   * __restrict  )"fatal: ", (FILE * __restrict  )rpt);
  fputs((char const   * __restrict  )err___4, (FILE * __restrict  )rpt);
  fputc('\n', rpt);
  fputc('\n', rpt);
  fputs((char const   * __restrict  )"Most Recent Commands Before Crash\n", (FILE * __restrict  )rpt);
  fputs((char const   * __restrict  )"---------------------------------\n", (FILE * __restrict  )rpt);
  rc___0 = cmd_hist.next;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )rc___0 != (unsigned long )(& cmd_hist))) {
      goto while_break;
    }
    if ((unsigned long )rc___0->next == (unsigned long )(& cmd_hist)) {
      fputs((char const   * __restrict  )"* ", (FILE * __restrict  )rpt);
    } else {
      fputs((char const   * __restrict  )"  ", (FILE * __restrict  )rpt);
    }
    fputs((char const   * __restrict  )rc___0->buf, (FILE * __restrict  )rpt);
    fputc('\n', rpt);
    rc___0 = rc___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  fputc('\n', rpt);
  fputs((char const   * __restrict  )"Active Branch LRU\n", (FILE * __restrict  )rpt);
  fputs((char const   * __restrict  )"-----------------\n", (FILE * __restrict  )rpt);
  fprintf(rpt, (char const   *)"    active_branches = %lu cur, %lu max\n", cur_active_branches,
          max_active_branches);
  fputc('\n', rpt);
  fputs((char const   * __restrict  )"  pos  clock name\n", (FILE * __restrict  )rpt);
  fputs((char const   * __restrict  )"  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n",
        (FILE * __restrict  )rpt);
  b___0 = active_branches;
  lu = 0UL;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! b___0) {
      goto while_break___0;
    }
    lu ++;
    fprintf(rpt, (char const   *)"  %2lu) %6lu %s\n", lu, b___0->last_commit, b___0->name);
    b___0 = b___0->active_next_branch;
  }
  while_break___0: /* CIL Label */ ;
  }
  fputc('\n', rpt);
  fputs((char const   * __restrict  )"Inactive Branches\n", (FILE * __restrict  )rpt);
  fputs((char const   * __restrict  )"-----------------\n", (FILE * __restrict  )rpt);
  lu = 0UL;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (lu < branch_table_sz)) {
      goto while_break___1;
    }
    b___0 = *(branch_table + lu);
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! b___0) {
        goto while_break___2;
      }
      write_branch_report(rpt, b___0);
      b___0 = b___0->table_next_branch;
    }
    while_break___2: /* CIL Label */ ;
    }
    lu ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  if (first_tag) {
    fputc('\n', rpt);
    fputs((char const   * __restrict  )"Annotated Tags\n", (FILE * __restrict  )rpt);
    fputs((char const   * __restrict  )"--------------\n", (FILE * __restrict  )rpt);
    tg = first_tag;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! tg) {
        goto while_break___3;
      }
      tmp___7 = oid_to_hex((struct object_id  const  *)(& tg->oid));
      fputs((char const   * __restrict  )tmp___7, (FILE * __restrict  )rpt);
      fputc(' ', rpt);
      fputs((char const   * __restrict  )tg->name, (FILE * __restrict  )rpt);
      fputc('\n', rpt);
      tg = tg->next_tag;
    }
    while_break___3: /* CIL Label */ ;
    }
  }
  fputc('\n', rpt);
  fputs((char const   * __restrict  )"Marks\n", (FILE * __restrict  )rpt);
  fputs((char const   * __restrict  )"-----\n", (FILE * __restrict  )rpt);
  if (export_marks_file) {
    fprintf(rpt, (char const   *)"  exported to %s\n", export_marks_file);
  } else {
    for_each_mark(marks, (uintmax_t )0, & dump_marks_fn, (void *)rpt);
  }
  fputc('\n', rpt);
  fputs((char const   * __restrict  )"-------------------\n", (FILE * __restrict  )rpt);
  fputs((char const   * __restrict  )"END OF CRASH REPORT\n", (FILE * __restrict  )rpt);
  fclose(rpt);
  free((void *)loc);
  return;
}
}
static void end_packfile(void) ;
static void unkeep_all_packs(void) ;
static void dump_marks(void) ;
static int zombie  ;
static void die_nicely(char const   *err___4 , va_list params )  __attribute__((__noreturn__)) ;
static void die_nicely(char const   *err___4 , va_list params )
{
  va_list cp ;
  void (*die_message_fn)(char const   * , va_list params ) ;
  report_fn tmp ;
  char message___0[8192] ;
  int tmp___0 ;

  {
  tmp = get_die_message_routine();
  die_message_fn = tmp;
  __builtin_va_copy(cp, params);
  (*die_message_fn)(err___4, params);
  if (! zombie) {
    zombie = 1;
    vsnprintf(message___0, sizeof(message___0), err___4, cp);
    write_crash_report((char const   *)(message___0));
    end_packfile();
    unkeep_all_packs();
    dump_marks();
  }
  tmp___0 = trace2_cmd_exit_fl((char const   *)"builtin/fast-import.c", 421, 128);
  exit(tmp___0);
}
}
static void checkpoint_signal(int signo )
{


  {
  checkpoint_requested = (sig_atomic_t volatile   )1;
  return;
}
}
static void set_checkpoint_signal(void)
{
  struct sigaction sa ;

  {
  memset((void *)(& sa), 0, sizeof(sa));
  sa.__sigaction_handler.sa_handler = & checkpoint_signal;
  sigemptyset(& sa.sa_mask);
  sa.sa_flags = 0x10000000;
  sigaction(10, (struct sigaction  const  * __restrict  )(& sa), (struct sigaction * __restrict  )((void *)0));
  return;
}
}
static void alloc_objects(unsigned int cnt )
{
  struct object_entry_pool *b___0 ;
  void *tmp ;

  {
  tmp = xmalloc(sizeof(struct object_entry_pool ) + (unsigned long )cnt * sizeof(struct object_entry___0 ));
  b___0 = (struct object_entry_pool *)tmp;
  b___0->next_pool = blocks;
  b___0->next_free = b___0->entries;
  b___0->end = b___0->entries + cnt;
  blocks = b___0;
  alloc_count += (uintmax_t )cnt;
  return;
}
}
static struct object_entry___0 *new_object(struct object_id *oid )
{
  struct object_entry___0 *e ;
  struct object_entry___0 *tmp ;

  {
  if ((unsigned long )blocks->next_free == (unsigned long )blocks->end) {
    alloc_objects(object_entry_alloc);
  }
  tmp = blocks->next_free;
  (blocks->next_free) ++;
  e = tmp;
  oidcpy(& e->idx.oid, (struct object_id  const  *)oid);
  return (e);
}
}
static struct object_entry___0 *find_object(struct object_id *oid )
{
  unsigned int tmp ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;

  {
  tmp = oidhash((struct object_id  const  *)oid);
  tmp___0 = hashmap_get_from_hash((struct hashmap  const  *)(& object_table), tmp,
                                  (void const   *)oid);
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct object_entry___0 *)0)->ent));
  return ((struct object_entry___0 *)tmp___1);
}
}
static struct object_entry___0 *insert_object(struct object_id *oid )
{
  struct object_entry___0 *e ;
  unsigned int hash___0 ;
  unsigned int tmp ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;

  {
  tmp = oidhash((struct object_id  const  *)oid);
  hash___0 = tmp;
  tmp___0 = hashmap_get_from_hash((struct hashmap  const  *)(& object_table), hash___0,
                                  (void const   *)oid);
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct object_entry___0 *)0)->ent));
  e = (struct object_entry___0 *)tmp___1;
  if (! e) {
    e = new_object(oid);
    e->idx.offset = (off_t )0;
    hashmap_entry_init(& e->ent, hash___0);
    hashmap_add(& object_table, & e->ent);
  }
  return (e);
}
}
static void invalidate_pack_id(unsigned int id )
{
  unsigned long lu ;
  struct tag___0 *t ;
  struct hashmap_iter iter___0 ;
  struct object_entry___0 *e ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;
  struct branch___0 *b___0 ;

  {
  e = (struct object_entry___0 *)((void *)0);
  tmp = hashmap_iter_first(& object_table, & iter___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct object_entry___0 *)0)->ent));
  e = (struct object_entry___0 *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! e) {
      goto while_break;
    }
    if (e->pack_id == id) {
      e->pack_id = (uint32_t )((1 << 16) - 1);
    }
    tmp___1 = hashmap_iter_next(& iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct object_entry___0 *)0)->ent));
    e = (struct object_entry___0 *)tmp___2;
  }
  while_break: /* CIL Label */ ;
  }
  lu = 0UL;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (lu < branch_table_sz)) {
      goto while_break___0;
    }
    b___0 = *(branch_table + lu);
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! b___0) {
        goto while_break___1;
      }
      if (b___0->pack_id == id) {
        b___0->pack_id = (unsigned int )((1 << 16) - 1);
      }
      b___0 = b___0->table_next_branch;
    }
    while_break___1: /* CIL Label */ ;
    }
    lu ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  t = first_tag;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! t) {
      goto while_break___2;
    }
    if (t->pack_id == id) {
      t->pack_id = (unsigned int )((1 << 16) - 1);
    }
    t = t->next_tag;
  }
  while_break___2: /* CIL Label */ ;
  }
  return;
}
}
static unsigned int hc_str(char const   *s___1 , size_t len___0 )
{
  unsigned int r ;
  char const   *tmp ;
  size_t tmp___0 ;

  {
  r = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = len___0;
    len___0 --;
    if (! (tmp___0 > 0UL)) {
      goto while_break;
    }
    tmp = s___1;
    s___1 ++;
    r = r * 31U + (unsigned int )*tmp;
  }
  while_break: /* CIL Label */ ;
  }
  return (r);
}
}
static void insert_mark(struct mark_set **top , uintmax_t idnum , struct object_entry___0 *oe )
{
  struct mark_set *s___1 ;
  void *tmp ;
  uintmax_t i ;
  void *tmp___0 ;

  {
  s___1 = *top;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (idnum >> s___1->shift >= 1024UL)) {
      goto while_break;
    }
    tmp = mem_pool_calloc(& fi_mem_pool, (size_t )1, sizeof(struct mark_set ));
    s___1 = (struct mark_set *)tmp;
    s___1->shift = (*top)->shift + 10U;
    s___1->data.sets[0] = *top;
    *top = s___1;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! s___1->shift) {
      goto while_break___0;
    }
    i = idnum >> s___1->shift;
    idnum -= i << s___1->shift;
    if (! s___1->data.sets[i]) {
      tmp___0 = mem_pool_calloc(& fi_mem_pool, (size_t )1, sizeof(struct mark_set ));
      s___1->data.sets[i] = (struct mark_set *)tmp___0;
      (s___1->data.sets[i])->shift = s___1->shift - 10U;
    }
    s___1 = s___1->data.sets[i];
  }
  while_break___0: /* CIL Label */ ;
  }
  if (! s___1->data.marked[idnum]) {
    marks_set_count ++;
  }
  s___1->data.marked[idnum] = oe;
  return;
}
}
static void *find_mark(struct mark_set *s___1 , uintmax_t idnum )
{
  uintmax_t orig_idnum ;
  struct object_entry___0 *oe ;
  uintmax_t i ;

  {
  orig_idnum = idnum;
  oe = (struct object_entry___0 *)((void *)0);
  if (idnum >> s___1->shift < 1024UL) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (s___1) {
        if (! s___1->shift) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      i = idnum >> s___1->shift;
      idnum -= i << s___1->shift;
      s___1 = s___1->data.sets[i];
    }
    while_break: /* CIL Label */ ;
    }
    if (s___1) {
      oe = s___1->data.marked[idnum];
    }
  }
  if (! oe) {
    die((char const   *)"mark :%lu not declared", orig_idnum);
  }
  return ((void *)oe);
}
}
static struct atom_str *to_atom(char const   *s___1 , unsigned short len___0 )
{
  unsigned int hc ;
  unsigned int tmp ;
  struct atom_str *c___0 ;
  int tmp___0 ;
  void *tmp___1 ;

  {
  tmp = hc_str(s___1, (size_t )len___0);
  hc = tmp % atom_table_sz;
  c___0 = *(atom_table + hc);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! c___0) {
      goto while_break;
    }
    if ((int )c___0->str_len == (int )len___0) {
      tmp___0 = strncmp(s___1, (char const   *)(c___0->str_dat), (size_t )len___0);
      if (! tmp___0) {
        return (c___0);
      }
    }
    c___0 = c___0->next_atom;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = mem_pool_alloc(& fi_mem_pool, (sizeof(struct atom_str ) + (unsigned long )len___0) + 1UL);
  c___0 = (struct atom_str *)tmp___1;
  c___0->str_len = len___0;
  memcpy((void *)(c___0->str_dat), (void const   *)s___1, (size_t )len___0);
  c___0->str_dat[len___0] = (char)0;
  c___0->next_atom = *(atom_table + hc);
  *(atom_table + hc) = c___0;
  atom_cnt ++;
  return (c___0);
}
}
static struct branch___0 *lookup_branch(char const   *name___0 )
{
  unsigned int hc ;
  size_t tmp ;
  unsigned int tmp___0 ;
  struct branch___0 *b___0 ;
  int tmp___1 ;

  {
  tmp = strlen(name___0);
  tmp___0 = hc_str(name___0, tmp);
  hc = (unsigned int )((unsigned long )tmp___0 % branch_table_sz);
  b___0 = *(branch_table + hc);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! b___0) {
      goto while_break;
    }
    tmp___1 = strcmp(name___0, b___0->name);
    if (! tmp___1) {
      return (b___0);
    }
    b___0 = b___0->table_next_branch;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct branch___0 *)((void *)0));
}
}
static struct branch___0 *new_branch(char const   *name___0 )
{
  unsigned int hc ;
  size_t tmp ;
  unsigned int tmp___0 ;
  struct branch___0 *b___0 ;
  struct branch___0 *tmp___1 ;
  int tmp___2 ;
  void *tmp___3 ;
  char *tmp___4 ;

  {
  tmp = strlen(name___0);
  tmp___0 = hc_str(name___0, tmp);
  hc = (unsigned int )((unsigned long )tmp___0 % branch_table_sz);
  tmp___1 = lookup_branch(name___0);
  b___0 = tmp___1;
  if (b___0) {
    die((char const   *)"Invalid attempt to create duplicate branch: %s", name___0);
  }
  tmp___2 = check_refname_format(name___0, 1);
  if (tmp___2) {
    die((char const   *)"Branch name doesn\'t conform to GIT standards: %s", name___0);
  }
  tmp___3 = mem_pool_calloc(& fi_mem_pool, (size_t )1, sizeof(struct branch___0 ));
  b___0 = (struct branch___0 *)tmp___3;
  tmp___4 = mem_pool_strdup(& fi_mem_pool, name___0);
  b___0->name = (char const   *)tmp___4;
  b___0->table_next_branch = *(branch_table + hc);
  b___0->branch_tree.versions[0].mode = (uint16_t )0040000;
  b___0->branch_tree.versions[1].mode = (uint16_t )0040000;
  b___0->num_notes = (uintmax_t )0;
  b___0->active = 0U;
  b___0->pack_id = (unsigned int )((1 << 16) - 1);
  *(branch_table + hc) = b___0;
  branch_count ++;
  return (b___0);
}
}
static unsigned int hc_entries(unsigned int cnt )
{
  unsigned int tmp ;

  {
  if (cnt & 7U) {
    cnt = cnt / 8U + 1U;
  } else {
    cnt /= 8U;
  }
  if (cnt < avail_tree_table_sz) {
    tmp = cnt;
  } else {
    tmp = avail_tree_table_sz - 1U;
  }
  return (tmp);
}
}
static struct tree_content *new_tree_content(unsigned int cnt )
{
  struct avail_tree_content *f ;
  struct avail_tree_content *l ;
  struct tree_content *t ;
  unsigned int hc ;
  unsigned int tmp ;
  void *tmp___0 ;

  {
  l = (struct avail_tree_content *)((void *)0);
  tmp = hc_entries(cnt);
  hc = tmp;
  f = *(avail_tree_table + hc);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! f) {
      goto while_break;
    }
    if (f->entry_capacity >= cnt) {
      goto while_break;
    }
    l = f;
    f = f->next_avail;
  }
  while_break: /* CIL Label */ ;
  }
  if (f) {
    if (l) {
      l->next_avail = f->next_avail;
    } else {
      *(avail_tree_table + hc) = f->next_avail;
    }
  } else {
    if (cnt & 7U) {
      cnt = (cnt / 8U + 1U) * 8U;
    } else {
      cnt = cnt;
    }
    tmp___0 = mem_pool_alloc(& fi_mem_pool, sizeof(*t) + sizeof(t->entries[0]) * (unsigned long )cnt);
    f = (struct avail_tree_content *)tmp___0;
    f->entry_capacity = cnt;
  }
  t = (struct tree_content *)f;
  t->entry_count = 0U;
  t->delta_depth = 0U;
  return (t);
}
}
static void release_tree_entry(struct tree_entry *e ) ;
static void release_tree_content(struct tree_content *t )
{
  struct avail_tree_content *f ;
  unsigned int hc ;
  unsigned int tmp ;

  {
  f = (struct avail_tree_content *)t;
  tmp = hc_entries(f->entry_capacity);
  hc = tmp;
  f->next_avail = *(avail_tree_table + hc);
  *(avail_tree_table + hc) = f;
  return;
}
}
static void release_tree_content_recursive(struct tree_content *t )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < t->entry_count)) {
      goto while_break;
    }
    release_tree_entry(t->entries[i]);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  release_tree_content(t);
  return;
}
}
static struct tree_content *grow_tree_content(struct tree_content *t , int amt )
{
  struct tree_content *r ;
  struct tree_content *tmp ;

  {
  tmp = new_tree_content(t->entry_count + (unsigned int )amt);
  r = tmp;
  r->entry_count = t->entry_count;
  r->delta_depth = t->delta_depth;
  copy_array((void *)(r->entries), (void const   *)(t->entries), (size_t )t->entry_count,
             sizeof(r->entries[0]) + (sizeof(char [1]) - 1UL));
  release_tree_content(t);
  return (r);
}
}
static struct tree_entry *new_tree_entry(void)
{
  struct tree_entry *e ;
  unsigned int n ;
  size_t tmp ;
  void *tmp___0 ;
  unsigned int tmp___1 ;

  {
  if (! avail_tree_entry) {
    n = tree_entry_alloc;
    tree_entry_allocd += (unsigned long )n * sizeof(struct tree_entry );
    tmp = st_mult(sizeof(*e), (size_t )n);
    tmp___0 = xmalloc(tmp);
    e = (struct tree_entry *)tmp___0;
    avail_tree_entry = (void *)e;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___1 = n;
      n --;
      if (! (tmp___1 > 1U)) {
        goto while_break;
      }
      *((void **)e) = (void *)(e + 1);
      e ++;
    }
    while_break: /* CIL Label */ ;
    }
    *((void **)e) = (void *)0;
  }
  e = (struct tree_entry *)avail_tree_entry;
  avail_tree_entry = *((void **)e);
  return (e);
}
}
static void release_tree_entry(struct tree_entry *e )
{


  {
  if (e->tree) {
    release_tree_content_recursive(e->tree);
  }
  *((void **)e) = avail_tree_entry;
  avail_tree_entry = (void *)e;
  return;
}
}
static struct tree_content *dup_tree_content(struct tree_content *s___1 )
{
  struct tree_content *d ;
  struct tree_entry *a ;
  struct tree_entry *b___0 ;
  unsigned int i ;
  int tmp ;

  {
  if (! s___1) {
    return ((struct tree_content *)((void *)0));
  }
  d = new_tree_content(s___1->entry_count);
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->entry_count)) {
      goto while_break;
    }
    a = s___1->entries[i];
    b___0 = new_tree_entry();
    memcpy((void *)b___0, (void const   *)a, sizeof(*a));
    if (a->tree) {
      tmp = is_null_oid((struct object_id  const  *)(& b___0->versions[1].oid));
      if (tmp) {
        b___0->tree = dup_tree_content(a->tree);
      } else {
        b___0->tree = (struct tree_content *)((void *)0);
      }
    } else {
      b___0->tree = (struct tree_content *)((void *)0);
    }
    d->entries[i] = b___0;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  d->entry_count = s___1->entry_count;
  d->delta_depth = s___1->delta_depth;
  return (d);
}
}
static void start_packfile(void)
{
  struct strbuf tmp_file___0 ;
  struct packed_git *p___0 ;
  int pack_fd ;
  size_t flex_array_len_ ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;

  {
  tmp_file___0.alloc = 0UL;
  tmp_file___0.len = 0UL;
  tmp_file___0.buf = strbuf_slopbuf;
  pack_fd = odb_mkstemp(& tmp_file___0, (char const   *)"pack/tmp_pack_XXXXXX");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = strlen((char const   *)tmp_file___0.buf);
    flex_array_len_ = tmp;
    tmp___0 = st_add(sizeof(*p___0), flex_array_len_);
    tmp___1 = st_add(tmp___0, (size_t )1);
    tmp___2 = xcalloc((size_t )1, tmp___1);
    p___0 = (struct packed_git *)tmp___2;
    memcpy((void *)(p___0->pack_name), (void const   *)tmp_file___0.buf, flex_array_len_);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& tmp_file___0);
  p___0->pack_fd = pack_fd;
  p___0->do_not_close = 1U;
  pack_file = hashfd(pack_fd, (char const   *)(p___0->pack_name));
  pack_data = p___0;
  pack_size = write_pack_header(pack_file, (uint32_t )0);
  object_count = 0UL;
  tmp___3 = st_mult(sizeof(*all_packs), (size_t )(pack_id + 1U));
  tmp___4 = xrealloc((void *)all_packs, tmp___3);
  all_packs = (struct packed_git **)tmp___4;
  *(all_packs + pack_id) = p___0;
  return;
}
}
static char const   *create_index(void)
{
  char const   *tmpfile___0 ;
  struct pack_idx_entry **idx___0 ;
  struct pack_idx_entry **c___0 ;
  struct pack_idx_entry **last ;
  struct object_entry___0 *e ;
  struct object_entry_pool *o ;
  size_t tmp ;
  void *tmp___0 ;
  struct pack_idx_entry **tmp___1 ;
  struct object_entry___0 *tmp___2 ;

  {
  tmp = st_mult(sizeof(*idx___0), object_count);
  tmp___0 = xmalloc(tmp);
  idx___0 = (struct pack_idx_entry **)tmp___0;
  c___0 = idx___0;
  o = blocks;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! o) {
      goto while_break;
    }
    e = o->next_free;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___2 = e;
      e --;
      if (! ((unsigned long )tmp___2 != (unsigned long )(o->entries))) {
        goto while_break___0;
      }
      if (pack_id == e->pack_id) {
        tmp___1 = c___0;
        c___0 ++;
        *tmp___1 = & e->idx;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    o = o->next_pool;
  }
  while_break: /* CIL Label */ ;
  }
  last = idx___0 + object_count;
  if ((unsigned long )c___0 != (unsigned long )last) {
    die((char const   *)"internal consistency error creating the index");
  }
  tmpfile___0 = write_idx_file((char const   *)((void *)0), idx___0, (int )object_count,
                               (struct pack_idx_option  const  *)(& pack_idx_opts),
                               (unsigned char const   *)(pack_data->hash));
  free((void *)idx___0);
  return (tmpfile___0);
}
}
static char *keep_pack(char const   *curr_index_name ) ;
static char const   *keep_msg  =    (char const   *)"fast-import";
static char *keep_pack(char const   *curr_index_name )
{
  struct strbuf name___0 ;
  int keep_fd ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;

  {
  name___0.alloc = 0UL;
  name___0.len = 0UL;
  name___0.buf = strbuf_slopbuf;
  odb_pack_name(& name___0, (unsigned char const   *)(pack_data->hash), (char const   *)"keep");
  keep_fd = odb_pack_keep((char const   *)name___0.buf);
  if (keep_fd < 0) {
    die_errno((char const   *)"cannot create keep file");
  }
  tmp = strlen(keep_msg);
  write_or_die(keep_fd, (void const   *)keep_msg, tmp);
  tmp___0 = close(keep_fd);
  if (tmp___0) {
    die_errno((char const   *)"failed to write keep file");
  }
  odb_pack_name(& name___0, (unsigned char const   *)(pack_data->hash), (char const   *)"pack");
  tmp___1 = finalize_object_file((char const   *)(pack_data->pack_name), (char const   *)name___0.buf);
  if (tmp___1) {
    die((char const   *)"cannot store pack file");
  }
  odb_pack_name(& name___0, (unsigned char const   *)(pack_data->hash), (char const   *)"idx");
  tmp___2 = finalize_object_file(curr_index_name, (char const   *)name___0.buf);
  if (tmp___2) {
    die((char const   *)"cannot store index file");
  }
  free((void *)curr_index_name);
  tmp___3 = strbuf_detach(& name___0, (size_t *)((void *)0));
  return (tmp___3);
}
}
static void unkeep_all_packs(void)
{
  struct strbuf name___0 ;
  int k ;
  struct packed_git *p___0 ;

  {
  name___0.alloc = 0UL;
  name___0.len = 0UL;
  name___0.buf = strbuf_slopbuf;
  k = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )k < pack_id)) {
      goto while_break;
    }
    p___0 = *(all_packs + k);
    odb_pack_name(& name___0, (unsigned char const   *)(p___0->hash), (char const   *)"keep");
    unlink_or_warn((char const   *)name___0.buf);
    k ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& name___0);
  return;
}
}
static int loosen_small_pack(struct packed_git  const  *p___0 )
{
  struct child_process unpack___1 ;
  __off_t tmp ;
  int tmp___0 ;

  {
  unpack___1.args.v = empty_strvec;
  unpack___1.args.nr = 0UL;
  unpack___1.args.alloc = 0UL;
  unpack___1.env_array.v = empty_strvec;
  unpack___1.env_array.nr = 0UL;
  unpack___1.env_array.alloc = 0UL;
  unpack___1.pid = 0;
  unpack___1.trace2_child_id = 0;
  unpack___1.trace2_child_us_start = 0UL;
  unpack___1.trace2_child_class = (char const   *)0;
  unpack___1.trace2_hook_name = (char const   *)0;
  unpack___1.in = 0;
  unpack___1.out = 0;
  unpack___1.err = 0;
  unpack___1.dir = (char const   *)0;
  unpack___1.no_stdin = 0U;
  unpack___1.no_stdout = 0U;
  unpack___1.no_stderr = 0U;
  unpack___1.git_cmd = 0U;
  unpack___1.silent_exec_failure = 0U;
  unpack___1.use_shell = 0U;
  unpack___1.close_object_store = 0U;
  unpack___1.stdout_to_stderr = 0U;
  unpack___1.clean_on_exit = 0U;
  unpack___1.wait_after_clean = 0U;
  unpack___1.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  unpack___1.clean_on_exit_handler_cbdata = (void *)0;
  tmp = lseek((int )p___0->pack_fd, (__off_t )0, 0);
  if (tmp < 0L) {
    die_errno((char const   *)"Failed seeking to start of \'%s\'", p___0->pack_name);
  }
  unpack___1.in = (int )p___0->pack_fd;
  unpack___1.git_cmd = 1U;
  unpack___1.stdout_to_stderr = 1U;
  strvec_push(& unpack___1.args, (char const   *)"unpack-objects");
  if (! show_stats___1) {
    strvec_push(& unpack___1.args, (char const   *)"-q");
  }
  tmp___0 = run_command(& unpack___1);
  return (tmp___0);
}
}
static int running  ;
static void end_packfile(void)
{
  struct packed_git *new_p ;
  struct object_id cur_pack_oid ;
  char *idx_name ;
  int i ;
  struct branch___0 *b___0 ;
  struct tag___0 *t ;
  int tmp ;
  char const   *tmp___0 ;
  size_t tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;

  {
  if (running) {
    return;
  } else
  if (! pack_data) {
    return;
  }
  running = 1;
  clear_delta_base_cache();
  if (object_count) {
    close_pack_windows(pack_data);
    finalize_hashfile(pack_file, cur_pack_oid.hash, 0U);
    fixup_pack_header_footer(pack_data->pack_fd, pack_data->hash, (char const   *)(pack_data->pack_name),
                             (uint32_t )object_count, cur_pack_oid.hash, pack_size);
    if (object_count <= (unsigned long )unpack_limit___0) {
      tmp = loosen_small_pack((struct packed_git  const  *)pack_data);
      if (! tmp) {
        invalidate_pack_id(pack_id);
        goto discard_pack;
      }
    }
    close(pack_data->pack_fd);
    tmp___0 = create_index();
    idx_name = keep_pack(tmp___0);
    tmp___1 = strlen((char const   *)idx_name);
    new_p = add_packed_git((char const   *)idx_name, tmp___1, 1);
    if (! new_p) {
      die((char const   *)"core git rejected index %s", idx_name);
    }
    *(all_packs + pack_id) = new_p;
    install_packed_git(the_repository, new_p);
    free((void *)idx_name);
    if (pack_edges) {
      fprintf(pack_edges, (char const   *)"%s:", new_p->pack_name);
      i = 0;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! ((unsigned long )i < branch_table_sz)) {
          goto while_break;
        }
        b___0 = *(branch_table + i);
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          if (! b___0) {
            goto while_break___0;
          }
          if (b___0->pack_id == pack_id) {
            tmp___2 = oid_to_hex((struct object_id  const  *)(& b___0->oid));
            fprintf(pack_edges, (char const   *)" %s", tmp___2);
          }
          b___0 = b___0->table_next_branch;
        }
        while_break___0: /* CIL Label */ ;
        }
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
      t = first_tag;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! t) {
          goto while_break___1;
        }
        if (t->pack_id == pack_id) {
          tmp___3 = oid_to_hex((struct object_id  const  *)(& t->oid));
          fprintf(pack_edges, (char const   *)" %s", tmp___3);
        }
        t = t->next_tag;
      }
      while_break___1: /* CIL Label */ ;
      }
      fputc('\n', pack_edges);
      fflush(pack_edges);
    }
    pack_id ++;
  } else {
    discard_pack:
    close(pack_data->pack_fd);
    unlink_or_warn((char const   *)(pack_data->pack_name));
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    free((void *)pack_data);
    pack_data = (struct packed_git *)((void *)0);
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  running = 0;
  strbuf_release(& last_blob.data);
  last_blob.offset = (off_t )0;
  last_blob.depth = 0U;
  return;
}
}
static void cycle_packfile(void)
{


  {
  end_packfile();
  start_packfile();
  return;
}
}
static int store_object(enum object_type type___0 , struct strbuf *dat , struct last_object *last ,
                        struct object_id *oidout , uintmax_t mark )
{
  void *out ;
  void *delta ;
  struct object_entry___0 *e ;
  unsigned char hdr[96] ;
  struct object_id oid ;
  unsigned long hdrlen ;
  unsigned long deltalen ;
  git_hash_ctx c___0 ;
  git_zstream s___1 ;
  char const   *tmp ;
  int tmp___0 ;
  struct packed_git *tmp___1 ;
  struct packed_git *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  off_t ofs ;
  unsigned int pos ;
  int tmp___5 ;
  int tmp___6 ;

  {
  tmp = type_name((unsigned int )type___0);
  tmp___0 = xsnprintf((char *)(hdr), sizeof(hdr), (char const   *)"%s %lu", tmp, dat->len);
  hdrlen = (unsigned long )(tmp___0 + 1);
  (*((the_repository->hash_algo)->init_fn))(& c___0);
  (*((the_repository->hash_algo)->update_fn))(& c___0, (void const   *)(hdr), hdrlen);
  (*((the_repository->hash_algo)->update_fn))(& c___0, (void const   *)dat->buf, dat->len);
  (*((the_repository->hash_algo)->final_oid_fn))(& oid, & c___0);
  if (oidout) {
    oidcpy(oidout, (struct object_id  const  *)(& oid));
  }
  e = insert_object(& oid);
  if (mark) {
    insert_mark(& marks, mark, e);
  }
  if (e->idx.offset) {
    (duplicate_count_by_type[type___0]) ++;
    return (1);
  } else {
    tmp___1 = get_all_packs(the_repository);
    tmp___2 = find_sha1_pack((unsigned char const   *)(oid.hash), tmp___1);
    if (tmp___2) {
      e->type = (uint32_t )type___0;
      e->pack_id = (uint32_t )((1 << 16) - 1);
      e->idx.offset = (off_t )1;
      (duplicate_count_by_type[type___0]) ++;
      return (1);
    }
  }
  if (last) {
    if (last->data.len) {
      if (last->data.buf) {
        if ((unsigned long )last->depth < max_depth) {
          if (dat->len > (size_t )(the_repository->hash_algo)->rawsz) {
            (delta_count_attempts_by_type[type___0]) ++;
            delta = diff_delta((void const   *)last->data.buf, last->data.len, (void const   *)dat->buf,
                               dat->len, & deltalen, dat->len - (size_t )(the_repository->hash_algo)->rawsz);
          } else {
            delta = (void *)0;
          }
        } else {
          delta = (void *)0;
        }
      } else {
        delta = (void *)0;
      }
    } else {
      delta = (void *)0;
    }
  } else {
    delta = (void *)0;
  }
  git_deflate_init(& s___1, pack_compression_level);
  if (delta) {
    s___1.next_in = (unsigned char *)delta;
    s___1.avail_in = deltalen;
  } else {
    s___1.next_in = (unsigned char *)((void *)dat->buf);
    s___1.avail_in = dat->len;
  }
  s___1.avail_out = git_deflate_bound(& s___1, s___1.avail_in);
  out = xmalloc(s___1.avail_out);
  s___1.next_out = (unsigned char *)out;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = git_deflate(& s___1, 4);
    if (! (tmp___3 == 0)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  git_deflate_end(& s___1);
  if (max_packsize) {
    if (((size_t )pack_size + (the_repository->hash_algo)->rawsz * 3UL) + (size_t )s___1.total_out > (size_t )max_packsize) {
      goto _L;
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  if (((size_t )pack_size + (the_repository->hash_algo)->rawsz * 3UL) + (size_t )s___1.total_out < (size_t )pack_size) {
    _L: /* CIL Label */
    e->pack_id = pack_id + 1U;
    cycle_packfile();
    if (delta) {
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        free(delta);
        delta = (void *)0;
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
      git_deflate_init(& s___1, pack_compression_level);
      s___1.next_in = (unsigned char *)((void *)dat->buf);
      s___1.avail_in = dat->len;
      s___1.avail_out = git_deflate_bound(& s___1, s___1.avail_in);
      out = xrealloc(out, s___1.avail_out);
      s___1.next_out = (unsigned char *)out;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        tmp___4 = git_deflate(& s___1, 4);
        if (! (tmp___4 == 0)) {
          goto while_break___1;
        }
      }
      while_break___1: /* CIL Label */ ;
      }
      git_deflate_end(& s___1);
    }
  }
  e->type = (uint32_t )type___0;
  e->pack_id = pack_id;
  e->idx.offset = pack_size;
  object_count ++;
  (object_count_by_type[type___0]) ++;
  crc32_begin(pack_file);
  if (delta) {
    ofs = e->idx.offset - last->offset;
    pos = (unsigned int )(sizeof(hdr) - 1UL);
    (delta_count_by_type[type___0]) ++;
    e->depth = last->depth + 1U;
    tmp___5 = encode_in_pack_object_header(hdr, (int )sizeof(hdr), (enum object_type )6,
                                           deltalen);
    hdrlen = (unsigned long )tmp___5;
    hashwrite(pack_file, (void const   *)(hdr), (unsigned int )hdrlen);
    pack_size = (off_t )((unsigned long )pack_size + hdrlen);
    hdr[pos] = (unsigned char )(ofs & 127L);
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      ofs >>= 7;
      if (! ofs) {
        goto while_break___2;
      }
      pos --;
      ofs --;
      hdr[pos] = (unsigned char )(128L | (ofs & 127L));
    }
    while_break___2: /* CIL Label */ ;
    }
    hashwrite(pack_file, (void const   *)(hdr + pos), (unsigned int )(sizeof(hdr) - (unsigned long )pos));
    pack_size = (off_t )((unsigned long )pack_size + (sizeof(hdr) - (unsigned long )pos));
  } else {
    e->depth = (uint32_t )0;
    tmp___6 = encode_in_pack_object_header(hdr, (int )sizeof(hdr), type___0, dat->len);
    hdrlen = (unsigned long )tmp___6;
    hashwrite(pack_file, (void const   *)(hdr), (unsigned int )hdrlen);
    pack_size = (off_t )((unsigned long )pack_size + hdrlen);
  }
  hashwrite(pack_file, (void const   *)out, (unsigned int )s___1.total_out);
  pack_size = (off_t )((unsigned long )pack_size + s___1.total_out);
  e->idx.crc32 = crc32_end(pack_file);
  free(out);
  free(delta);
  if (last) {
    if (last->no_swap) {
      last->data = *dat;
    } else {
      strbuf_swap(& last->data, dat);
    }
    last->offset = e->idx.offset;
    last->depth = e->depth;
  }
  return (0);
}
}
static void truncate_pack(struct hashfile_checkpoint *checkpoint___0 )
{
  int tmp ;

  {
  tmp = hashfile_truncate(pack_file, checkpoint___0);
  if (tmp) {
    die_errno((char const   *)"cannot truncate pack to skip duplicate");
  }
  pack_size = checkpoint___0->offset;
  return;
}
}
static void stream_blob___0(uintmax_t len___0 , struct object_id *oidout , uintmax_t mark )
{
  size_t in_sz ;
  size_t out_sz ;
  unsigned char *in_buf ;
  void *tmp ;
  unsigned char *out_buf ;
  void *tmp___0 ;
  struct object_entry___0 *e ;
  struct object_id oid ;
  unsigned long hdrlen ;
  off_t offset___2 ;
  git_hash_ctx c___0 ;
  git_zstream s___1 ;
  struct hashfile_checkpoint checkpoint___0 ;
  int status ;
  int tmp___1 ;
  int tmp___2 ;
  size_t cnt ;
  size_t tmp___3 ;
  size_t n ;
  size_t tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  size_t n___0 ;
  struct packed_git *tmp___7 ;
  struct packed_git *tmp___8 ;

  {
  in_sz = (size_t )65536;
  out_sz = (size_t )65536;
  tmp = xmalloc(in_sz);
  in_buf = (unsigned char *)tmp;
  tmp___0 = xmalloc(out_sz);
  out_buf = (unsigned char *)tmp___0;
  status = 0;
  if (max_packsize) {
    if (((size_t )pack_size + (the_repository->hash_algo)->rawsz * 3UL) + (size_t )len___0 > (size_t )max_packsize) {
      cycle_packfile();
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (((size_t )pack_size + (the_repository->hash_algo)->rawsz * 3UL) + (size_t )len___0 < (size_t )pack_size) {
    cycle_packfile();
  }
  hashfile_checkpoint(pack_file, & checkpoint___0);
  offset___2 = checkpoint___0.offset;
  tmp___1 = xsnprintf((char *)out_buf, out_sz, (char const   *)"blob %lu", len___0);
  hdrlen = (unsigned long )(tmp___1 + 1);
  (*((the_repository->hash_algo)->init_fn))(& c___0);
  (*((the_repository->hash_algo)->update_fn))(& c___0, (void const   *)out_buf, hdrlen);
  crc32_begin(pack_file);
  git_deflate_init(& s___1, pack_compression_level);
  tmp___2 = encode_in_pack_object_header(out_buf, (int )out_sz, (enum object_type )3,
                                         len___0);
  hdrlen = (unsigned long )tmp___2;
  s___1.next_out = out_buf + hdrlen;
  s___1.avail_out = out_sz - hdrlen;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (status != 1)) {
      goto while_break;
    }
    if (0UL < len___0) {
      if (! s___1.avail_in) {
        if (in_sz < len___0) {
          tmp___3 = in_sz;
        } else {
          tmp___3 = len___0;
        }
        cnt = tmp___3;
        tmp___4 = fread((void *)in_buf, (size_t )1, cnt, stdin);
        n = tmp___4;
        if (! n) {
          tmp___5 = feof(stdin);
          if (tmp___5) {
            die((char const   *)"EOF in data (%lu bytes remaining)", len___0);
          }
        }
        (*((the_repository->hash_algo)->update_fn))(& c___0, (void const   *)in_buf,
                                                    n);
        s___1.next_in = in_buf;
        s___1.avail_in = n;
        len___0 -= n;
      }
    }
    if (len___0) {
      tmp___6 = 0;
    } else {
      tmp___6 = 4;
    }
    status = git_deflate(& s___1, tmp___6);
    if (! s___1.avail_out) {
      n___0 = (size_t )(s___1.next_out - out_buf);
      hashwrite(pack_file, (void const   *)out_buf, (unsigned int )n___0);
      pack_size = (off_t )((size_t )pack_size + n___0);
      s___1.next_out = out_buf;
      s___1.avail_out = out_sz;
    } else
    if (status == 1) {
      n___0 = (size_t )(s___1.next_out - out_buf);
      hashwrite(pack_file, (void const   *)out_buf, (unsigned int )n___0);
      pack_size = (off_t )((size_t )pack_size + n___0);
      s___1.next_out = out_buf;
      s___1.avail_out = out_sz;
    }
    {
    if (status == 1) {
      goto case_1;
    }
    if (status == -5) {
      goto case_1;
    }
    if (status == 0) {
      goto case_1;
    }
    goto switch_default;
    case_1: /* CIL Label */
    case_neg_5: /* CIL Label */
    case_0: /* CIL Label */
    goto while_continue;
    switch_default: /* CIL Label */
    die((char const   *)"unexpected deflate failure: %d", status);
    switch_break: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  git_deflate_end(& s___1);
  (*((the_repository->hash_algo)->final_oid_fn))(& oid, & c___0);
  if (oidout) {
    oidcpy(oidout, (struct object_id  const  *)(& oid));
  }
  e = insert_object(& oid);
  if (mark) {
    insert_mark(& marks, mark, e);
  }
  if (e->idx.offset) {
    (duplicate_count_by_type[3]) ++;
    truncate_pack(& checkpoint___0);
  } else {
    tmp___7 = get_all_packs(the_repository);
    tmp___8 = find_sha1_pack((unsigned char const   *)(oid.hash), tmp___7);
    if (tmp___8) {
      e->type = (uint32_t )3;
      e->pack_id = (uint32_t )((1 << 16) - 1);
      e->idx.offset = (off_t )1;
      (duplicate_count_by_type[3]) ++;
      truncate_pack(& checkpoint___0);
    } else {
      e->depth = (uint32_t )0;
      e->type = (uint32_t )3;
      e->pack_id = pack_id;
      e->idx.offset = offset___2;
      e->idx.crc32 = crc32_end(pack_file);
      object_count ++;
      (object_count_by_type[3]) ++;
    }
  }
  free((void *)in_buf);
  free((void *)out_buf);
  return;
}
}
static void *gfi_unpack_entry(struct object_entry___0 *oe , unsigned long *sizep )
{
  enum object_type type___0 ;
  struct packed_git *p___0 ;
  void *tmp ;

  {
  p___0 = *(all_packs + oe->pack_id);
  if ((unsigned long )p___0 == (unsigned long )pack_data) {
    if ((size_t )p___0->pack_size < (size_t )pack_size + (the_repository->hash_algo)->rawsz) {
      close_pack_windows(p___0);
      hashflush(pack_file);
      p___0->pack_size = (off_t )((size_t )pack_size + (the_repository->hash_algo)->rawsz);
    }
  }
  tmp = unpack_entry(the_repository, p___0, oe->idx.offset, & type___0, sizep);
  return (tmp);
}
}
static char const   *get_mode___1(char const   *str , uint16_t *modep )
{
  unsigned char c___0 ;
  uint16_t mode___1 ;
  char const   *tmp ;

  {
  mode___1 = (uint16_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = str;
    str ++;
    c___0 = (unsigned char )*tmp;
    if (! ((int )c___0 != 32)) {
      goto while_break;
    }
    if ((int )c___0 < 48) {
      return ((char const   *)((void *)0));
    } else
    if ((int )c___0 > 55) {
      return ((char const   *)((void *)0));
    }
    mode___1 = (uint16_t )(((int )mode___1 << 3) + ((int )c___0 - 48));
  }
  while_break: /* CIL Label */ ;
  }
  *modep = mode___1;
  return (str);
}
}
static void load_tree(struct tree_entry *root )
{
  struct object_id *oid ;
  struct object_entry___0 *myoe ;
  struct tree_content *t ;
  unsigned long size ;
  char *buf___19 ;
  char const   *c___0 ;
  int tmp ;
  char *tmp___0 ;
  void *tmp___1 ;
  char *tmp___2 ;
  enum object_type type___0 ;
  void *tmp___3 ;
  char *tmp___4 ;
  struct tree_entry *e ;
  struct tree_entry *tmp___5 ;
  unsigned int tmp___6 ;
  char *tmp___7 ;
  size_t tmp___8 ;

  {
  oid = & root->versions[1].oid;
  t = new_tree_content(8U);
  root->tree = t;
  tmp = is_null_oid((struct object_id  const  *)oid);
  if (tmp) {
    return;
  }
  myoe = find_object(oid);
  if (myoe) {
    if (myoe->pack_id != (uint32_t )((1 << 16) - 1)) {
      if (myoe->type != 2U) {
        tmp___0 = oid_to_hex((struct object_id  const  *)oid);
        die((char const   *)"Not a tree: %s", tmp___0);
      }
      t->delta_depth = myoe->depth;
      tmp___1 = gfi_unpack_entry(myoe, & size);
      buf___19 = (char *)tmp___1;
      if (! buf___19) {
        tmp___2 = oid_to_hex((struct object_id  const  *)oid);
        die((char const   *)"Can\'t load tree %s", tmp___2);
      }
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp___3 = repo_read_object_file(the_repository, (struct object_id  const  *)oid,
                                    & type___0, & size);
    buf___19 = (char *)tmp___3;
    if (! buf___19) {
      tmp___4 = oid_to_hex((struct object_id  const  *)oid);
      die((char const   *)"Can\'t load tree %s", tmp___4);
    } else
    if ((int )type___0 != 2) {
      tmp___4 = oid_to_hex((struct object_id  const  *)oid);
      die((char const   *)"Can\'t load tree %s", tmp___4);
    }
  }
  c___0 = (char const   *)buf___19;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )c___0 != (unsigned long )(buf___19 + size))) {
      goto while_break;
    }
    tmp___5 = new_tree_entry();
    e = tmp___5;
    if (t->entry_count == t->entry_capacity) {
      t = grow_tree_content(t, (int )t->entry_count);
      root->tree = t;
    }
    tmp___6 = t->entry_count;
    (t->entry_count) ++;
    t->entries[tmp___6] = e;
    e->tree = (struct tree_content *)((void *)0);
    c___0 = get_mode___1(c___0, & e->versions[1].mode);
    if (! c___0) {
      tmp___7 = oid_to_hex((struct object_id  const  *)oid);
      die((char const   *)"Corrupt mode in %s", tmp___7);
    }
    e->versions[0].mode = e->versions[1].mode;
    tmp___8 = strlen(c___0);
    e->name = to_atom(c___0, (unsigned short )tmp___8);
    c___0 += (int )(e->name)->str_len + 1;
    oidread(& e->versions[0].oid, (unsigned char const   *)((unsigned char *)c___0));
    oidread(& e->versions[1].oid, (unsigned char const   *)((unsigned char *)c___0));
    c___0 += (the_repository->hash_algo)->rawsz;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)buf___19);
  return;
}
}
static int tecmp0(void const   *_a , void const   *_b )
{
  struct tree_entry *a ;
  struct tree_entry *b___0 ;
  int tmp ;

  {
  a = *((struct tree_entry **)_a);
  b___0 = *((struct tree_entry **)_b);
  tmp = base_name_compare((char const   *)((a->name)->str_dat), (int )(a->name)->str_len,
                          (int )a->versions[0].mode, (char const   *)((b___0->name)->str_dat),
                          (int )(b___0->name)->str_len, (int )b___0->versions[0].mode);
  return (tmp);
}
}
static int tecmp1(void const   *_a , void const   *_b )
{
  struct tree_entry *a ;
  struct tree_entry *b___0 ;
  int tmp ;

  {
  a = *((struct tree_entry **)_a);
  b___0 = *((struct tree_entry **)_b);
  tmp = base_name_compare((char const   *)((a->name)->str_dat), (int )(a->name)->str_len,
                          (int )a->versions[1].mode, (char const   *)((b___0->name)->str_dat),
                          (int )(b___0->name)->str_len, (int )b___0->versions[1].mode);
  return (tmp);
}
}
static void mktree(struct tree_content *t , int v , struct strbuf *b___0 )
{
  size_t maxlen ;
  unsigned int i ;
  struct tree_entry *e ;

  {
  maxlen = (size_t )0;
  if (! v) {
    sane_qsort((void *)(t->entries), (size_t )t->entry_count, sizeof(t->entries[0]),
               & tecmp0);
  } else {
    sane_qsort((void *)(t->entries), (size_t )t->entry_count, sizeof(t->entries[0]),
               & tecmp1);
  }
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < t->entry_count)) {
      goto while_break;
    }
    if ((t->entries[i])->versions[v].mode) {
      maxlen += (size_t )((int )((t->entries[i])->name)->str_len + 34);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_setlen___33(b___0, (size_t )0);
  strbuf_grow(b___0, maxlen);
  i = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < t->entry_count)) {
      goto while_break___0;
    }
    e = t->entries[i];
    if (! e->versions[v].mode) {
      goto __Cont;
    }
    strbuf_addf(b___0, (char const   *)"%o %s%c", (unsigned int )((int )e->versions[v].mode & -2049),
                (e->name)->str_dat, '\000');
    strbuf_add(b___0, (void const   *)(e->versions[v].oid.hash), (size_t )(the_repository->hash_algo)->rawsz);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void store_tree(struct tree_entry *root )
{
  struct tree_content *t ;
  unsigned int i ;
  unsigned int j ;
  unsigned int del ;
  struct last_object lo ;
  struct object_entry___0 *le ;
  int tmp ;
  struct tree_entry *e ;
  unsigned int tmp___0 ;

  {
  lo.data.alloc = 0UL;
  lo.data.len = 0UL;
  lo.data.buf = strbuf_slopbuf;
  lo.offset = (off_t )0;
  lo.depth = 0U;
  lo.no_swap = 1U;
  le = (struct object_entry___0 *)((void *)0);
  tmp = is_null_oid((struct object_id  const  *)(& root->versions[1].oid));
  if (! tmp) {
    return;
  }
  if (! root->tree) {
    load_tree(root);
  }
  t = root->tree;
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < t->entry_count)) {
      goto while_break;
    }
    if ((t->entries[i])->tree) {
      store_tree(t->entries[i]);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! ((int )root->versions[0].mode & 04000)) {
    le = find_object(& root->versions[0].oid);
  }
  if (((int )root->versions[0].mode & 0170000) == 0040000) {
    if (le) {
      if (le->pack_id == pack_id) {
        mktree(t, 0, & old_tree);
        lo.data = old_tree;
        lo.offset = le->idx.offset;
        lo.depth = t->delta_depth;
      }
    }
  }
  mktree(t, 1, & new_tree);
  store_object((enum object_type )2, & new_tree, & lo, & root->versions[1].oid, (uintmax_t )0);
  t->delta_depth = lo.depth;
  i = 0U;
  j = 0U;
  del = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < t->entry_count)) {
      goto while_break___0;
    }
    e = t->entries[i];
    if (e->versions[1].mode) {
      e->versions[0].mode = e->versions[1].mode;
      oidcpy(& e->versions[0].oid, (struct object_id  const  *)(& e->versions[1].oid));
      tmp___0 = j;
      j ++;
      t->entries[tmp___0] = e;
    } else {
      release_tree_entry(e);
      del ++;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  t->entry_count -= del;
  return;
}
}
static void tree_content_replace(struct tree_entry *root , struct object_id  const  *oid ,
                                 uint16_t const   mode___1 , struct tree_content *newtree )
{


  {
  if (! (((int const   )mode___1 & 61440) == 16384)) {
    die((char const   *)"Root cannot be a non-directory");
  }
  oidclr(& root->versions[0].oid);
  oidcpy(& root->versions[1].oid, oid);
  if (root->tree) {
    release_tree_content_recursive(root->tree);
  }
  root->tree = newtree;
  return;
}
}
static int tree_content_set(struct tree_entry *root , char const   *p___0 , struct object_id  const  *oid ,
                            uint16_t const   mode___1 , struct tree_content *subtree )
{
  struct tree_content *t ;
  char const   *slash1 ;
  unsigned int i ;
  unsigned int n ;
  struct tree_entry *e ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  unsigned int tmp___3 ;

  {
  tmp = strchrnul(p___0, '/');
  slash1 = (char const   *)tmp;
  n = (unsigned int )(slash1 - p___0);
  if (! n) {
    die((char const   *)"Empty path component found in input");
  }
  if (! *slash1) {
    if (! (((int const   )mode___1 & 61440) == 16384)) {
      if (subtree) {
        die((char const   *)"Non-directories cannot have subtrees");
      }
    }
  }
  if (! root->tree) {
    load_tree(root);
  }
  t = root->tree;
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < t->entry_count)) {
      goto while_break;
    }
    e = t->entries[i];
    if ((unsigned int )(e->name)->str_len == n) {
      tmp___2 = fspathncmp(p___0, (char const   *)((e->name)->str_dat), (size_t )n);
      if (! tmp___2) {
        if (! *slash1) {
          if (! (((int const   )mode___1 & 61440) == 16384)) {
            if ((int )e->versions[1].mode == (int )mode___1) {
              tmp___0 = oideq((struct object_id  const  *)(& e->versions[1].oid),
                              oid);
              if (tmp___0) {
                return (0);
              }
            }
          }
          e->versions[1].mode = (uint16_t )mode___1;
          oidcpy(& e->versions[1].oid, oid);
          if (e->tree) {
            release_tree_content_recursive(e->tree);
          }
          e->tree = subtree;
          if (((int )e->versions[0].mode & 0170000) == 0040000) {
            e->versions[0].mode = (uint16_t )((int )e->versions[0].mode | 04000);
          }
          oidclr(& root->versions[1].oid);
          return (1);
        }
        if (! (((int )e->versions[1].mode & 0170000) == 0040000)) {
          e->tree = new_tree_content(8U);
          e->versions[1].mode = (uint16_t )0040000;
        }
        if (! e->tree) {
          load_tree(e);
        }
        tmp___1 = tree_content_set(e, slash1 + 1, oid, mode___1, subtree);
        if (tmp___1) {
          oidclr(& root->versions[1].oid);
          return (1);
        }
        return (0);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (t->entry_count == t->entry_capacity) {
    t = grow_tree_content(t, (int )t->entry_count);
    root->tree = t;
  }
  e = new_tree_entry();
  e->name = to_atom(p___0, (unsigned short )n);
  e->versions[0].mode = (uint16_t )0;
  oidclr(& e->versions[0].oid);
  tmp___3 = t->entry_count;
  (t->entry_count) ++;
  t->entries[tmp___3] = e;
  if (*slash1) {
    e->tree = new_tree_content(8U);
    e->versions[1].mode = (uint16_t )0040000;
    tree_content_set(e, slash1 + 1, oid, mode___1, subtree);
  } else {
    e->tree = subtree;
    e->versions[1].mode = (uint16_t )mode___1;
    oidcpy(& e->versions[1].oid, oid);
  }
  oidclr(& root->versions[1].oid);
  return (1);
}
}
static int tree_content_remove(struct tree_entry *root , char const   *p___0 , struct tree_entry *backup_leaf ,
                               int allow_root )
{
  struct tree_content *t ;
  char const   *slash1 ;
  unsigned int i ;
  unsigned int n ;
  struct tree_entry *e ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = strchrnul(p___0, '/');
  slash1 = (char const   *)tmp;
  n = (unsigned int )(slash1 - p___0);
  if (! root->tree) {
    load_tree(root);
  }
  if (! *p___0) {
    if (allow_root) {
      e = root;
      goto del_entry;
    }
  }
  t = root->tree;
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < t->entry_count)) {
      goto while_break;
    }
    e = t->entries[i];
    if ((unsigned int )(e->name)->str_len == n) {
      tmp___1 = fspathncmp(p___0, (char const   *)((e->name)->str_dat), (size_t )n);
      if (! tmp___1) {
        if (*slash1) {
          if (! (((int )e->versions[1].mode & 0170000) == 0040000)) {
            return (1);
          }
        }
        if (! *slash1) {
          goto del_entry;
        } else
        if (! (((int )e->versions[1].mode & 0170000) == 0040000)) {
          goto del_entry;
        }
        if (! e->tree) {
          load_tree(e);
        }
        tmp___0 = tree_content_remove(e, slash1 + 1, backup_leaf, 0);
        if (tmp___0) {
          n = 0U;
          {
          while (1) {
            while_continue___0: /* CIL Label */ ;
            if (! (n < (e->tree)->entry_count)) {
              goto while_break___0;
            }
            if (((e->tree)->entries[n])->versions[1].mode) {
              oidclr(& root->versions[1].oid);
              return (1);
            }
            n ++;
          }
          while_break___0: /* CIL Label */ ;
          }
          backup_leaf = (struct tree_entry *)((void *)0);
          goto del_entry;
        }
        return (0);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
  del_entry:
  if (backup_leaf) {
    memcpy((void *)backup_leaf, (void const   *)e, sizeof(*backup_leaf));
  } else
  if (e->tree) {
    release_tree_content_recursive(e->tree);
  }
  e->tree = (struct tree_content *)((void *)0);
  e->versions[1].mode = (uint16_t )0;
  oidclr(& e->versions[1].oid);
  oidclr(& root->versions[1].oid);
  return (1);
}
}
static int tree_content_get(struct tree_entry *root , char const   *p___0 , struct tree_entry *leaf ,
                            int allow_root )
{
  struct tree_content *t ;
  char const   *slash1 ;
  unsigned int i ;
  unsigned int n ;
  struct tree_entry *e ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = strchrnul(p___0, '/');
  slash1 = (char const   *)tmp;
  n = (unsigned int )(slash1 - p___0);
  if (! n) {
    if (! allow_root) {
      die((char const   *)"Empty path component found in input");
    }
  }
  if (! root->tree) {
    load_tree(root);
  }
  if (! n) {
    e = root;
    goto found_entry;
  }
  t = root->tree;
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < t->entry_count)) {
      goto while_break;
    }
    e = t->entries[i];
    if ((unsigned int )(e->name)->str_len == n) {
      tmp___1 = fspathncmp(p___0, (char const   *)((e->name)->str_dat), (size_t )n);
      if (! tmp___1) {
        if (! *slash1) {
          goto found_entry;
        }
        if (! (((int )e->versions[1].mode & 0170000) == 0040000)) {
          return (0);
        }
        if (! e->tree) {
          load_tree(e);
        }
        tmp___0 = tree_content_get(e, slash1 + 1, leaf, 0);
        return (tmp___0);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
  found_entry:
  memcpy((void *)leaf, (void const   *)e, sizeof(*leaf));
  if (e->tree) {
    tmp___2 = is_null_oid((struct object_id  const  *)(& e->versions[1].oid));
    if (tmp___2) {
      leaf->tree = dup_tree_content(e->tree);
    } else {
      leaf->tree = (struct tree_content *)((void *)0);
    }
  } else {
    leaf->tree = (struct tree_content *)((void *)0);
  }
  return (1);
}
}
static int update_branch(struct branch___0 *b___0 ) ;
static char const   *msg___0  =    (char const   *)"fast-import";
static int update_branch(struct branch___0 *b___0 )
{
  struct ref_transaction *transaction___0 ;
  struct object_id old_oid ;
  struct strbuf err___4 ;
  int tmp ;
  int tmp___0 ;
  struct commit *old_cmit ;
  struct commit *new_cmit ;
  int tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  tmp = is_null_oid((struct object_id  const  *)(& b___0->oid));
  if (tmp) {
    if (b___0->delete) {
      delete_ref((char const   *)((void *)0), b___0->name, (struct object_id  const  *)((void *)0),
                 0U);
    }
    return (0);
  }
  tmp___0 = read_ref(b___0->name, & old_oid);
  if (tmp___0) {
    oidclr(& old_oid);
  }
  if (! force_update) {
    tmp___5 = is_null_oid((struct object_id  const  *)(& old_oid));
    if (! tmp___5) {
      old_cmit = lookup_commit_reference_gently(the_repository, (struct object_id  const  *)(& old_oid),
                                                0);
      new_cmit = lookup_commit_reference_gently(the_repository, (struct object_id  const  *)(& b___0->oid),
                                                0);
      if (! old_cmit) {
        error((char const   *)"Branch %s is missing commits.", b___0->name);
        tmp___1 = const_error();
        return (tmp___1);
      } else
      if (! new_cmit) {
        error((char const   *)"Branch %s is missing commits.", b___0->name);
        tmp___1 = const_error();
        return (tmp___1);
      }
      tmp___4 = repo_in_merge_bases(the_repository, old_cmit, new_cmit);
      if (! tmp___4) {
        tmp___2 = oid_to_hex((struct object_id  const  *)(& old_oid));
        tmp___3 = oid_to_hex((struct object_id  const  *)(& b___0->oid));
        warning((char const   *)"Not updating %s (new tip %s does not contain %s)",
                b___0->name, tmp___3, tmp___2);
        return (-1);
      }
    }
  }
  transaction___0 = ref_transaction_begin(& err___4);
  if (! transaction___0) {
    ref_transaction_free(transaction___0);
    error((char const   *)"%s", err___4.buf);
    const_error();
    strbuf_release(& err___4);
    return (-1);
  } else {
    tmp___6 = ref_transaction_update(transaction___0, b___0->name, (struct object_id  const  *)(& b___0->oid),
                                     (struct object_id  const  *)(& old_oid), 0U,
                                     msg___0, & err___4);
    if (tmp___6) {
      ref_transaction_free(transaction___0);
      error((char const   *)"%s", err___4.buf);
      const_error();
      strbuf_release(& err___4);
      return (-1);
    } else {
      tmp___7 = ref_transaction_commit(transaction___0, & err___4);
      if (tmp___7) {
        ref_transaction_free(transaction___0);
        error((char const   *)"%s", err___4.buf);
        const_error();
        strbuf_release(& err___4);
        return (-1);
      }
    }
  }
  ref_transaction_free(transaction___0);
  strbuf_release(& err___4);
  return (0);
}
}
static void dump_branches(void)
{
  unsigned int i ;
  struct branch___0 *b___0 ;
  int tmp ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < branch_table_sz)) {
      goto while_break;
    }
    b___0 = *(branch_table + i);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! b___0) {
        goto while_break___0;
      }
      tmp = update_branch(b___0);
      failure |= tmp;
      b___0 = b___0->table_next_branch;
    }
    while_break___0: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void dump_tags(void) ;
static char const   *msg___1  =    (char const   *)"fast-import";
static void dump_tags(void)
{
  struct tag___0 *t ;
  struct strbuf ref_name___0 ;
  struct strbuf err___4 ;
  struct ref_transaction *transaction___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  ref_name___0.alloc = 0UL;
  ref_name___0.len = 0UL;
  ref_name___0.buf = strbuf_slopbuf;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  transaction___0 = ref_transaction_begin(& err___4);
  if (! transaction___0) {
    error((char const   *)"%s", err___4.buf);
    tmp = const_error();
    failure |= tmp;
    goto cleanup;
  }
  t = first_tag;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! t) {
      goto while_break;
    }
    strbuf_setlen___33(& ref_name___0, (size_t )0);
    strbuf_addf(& ref_name___0, (char const   *)"refs/tags/%s", t->name);
    tmp___1 = ref_transaction_update(transaction___0, (char const   *)ref_name___0.buf,
                                     (struct object_id  const  *)(& t->oid), (struct object_id  const  *)((void *)0),
                                     0U, msg___1, & err___4);
    if (tmp___1) {
      error((char const   *)"%s", err___4.buf);
      tmp___0 = const_error();
      failure |= tmp___0;
      goto cleanup;
    }
    t = t->next_tag;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___3 = ref_transaction_commit(transaction___0, & err___4);
  if (tmp___3) {
    error((char const   *)"%s", err___4.buf);
    tmp___2 = const_error();
    failure |= tmp___2;
  }
  cleanup:
  ref_transaction_free(transaction___0);
  strbuf_release(& ref_name___0);
  strbuf_release(& err___4);
  return;
}
}
static void dump_marks(void)
{
  struct lock_file mark_lock ;
  FILE *f ;
  int tmp ;
  enum scld_error tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int saved_errno ;
  int *tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  mark_lock.tempfile = (struct tempfile *)0;
  if (! export_marks_file) {
    return;
  } else
  if (import_marks_file) {
    if (! import_marks_file_done) {
      return;
    }
  }
  tmp___0 = safe_create_leading_directories_const(export_marks_file);
  if (tmp___0) {
    error_errno((char const   *)"unable to create leading directories of %s", export_marks_file);
    tmp = const_error();
    failure |= tmp;
    return;
  }
  tmp___2 = hold_lock_file_for_update(& mark_lock, export_marks_file, 0);
  if (tmp___2 < 0) {
    error_errno((char const   *)"Unable to write marks file %s", export_marks_file);
    tmp___1 = const_error();
    failure |= tmp___1;
    return;
  }
  f = fdopen_lock_file(& mark_lock, (char const   *)"w");
  if (! f) {
    tmp___3 = __errno_location();
    saved_errno = *tmp___3;
    rollback_lock_file(& mark_lock);
    tmp___4 = strerror(saved_errno);
    error((char const   *)"Unable to write marks file %s: %s", export_marks_file,
          tmp___4);
    tmp___5 = const_error();
    failure |= tmp___5;
    return;
  }
  for_each_mark(marks, (uintmax_t )0, & dump_marks_fn, (void *)f);
  tmp___7 = commit_lock_file(& mark_lock);
  if (tmp___7) {
    error_errno((char const   *)"Unable to write file %s", export_marks_file);
    tmp___6 = const_error();
    failure |= tmp___6;
    return;
  }
  return;
}
}
static void insert_object_entry(struct mark_set **s___1 , struct object_id *oid ,
                                uintmax_t mark )
{
  struct object_entry___0 *e ;
  enum object_type type___0 ;
  int tmp ;
  char *tmp___0 ;

  {
  e = find_object(oid);
  if (! e) {
    tmp = oid_object_info(the_repository, (struct object_id  const  *)oid, (unsigned long *)((void *)0));
    type___0 = (enum object_type )tmp;
    if ((int )type___0 < 0) {
      tmp___0 = oid_to_hex((struct object_id  const  *)oid);
      die((char const   *)"object not found: %s", tmp___0);
    }
    e = insert_object(oid);
    e->type = (uint32_t )type___0;
    e->pack_id = (uint32_t )((1 << 16) - 1);
    e->idx.offset = (off_t )1;
  }
  insert_mark(s___1, mark, e);
  return;
}
}
static void insert_oid_entry(struct mark_set **s___1 , struct object_id *oid , uintmax_t mark )
{
  void *tmp ;

  {
  tmp = xmemdupz((void const   *)oid, sizeof(*oid));
  insert_mark(s___1, mark, (struct object_entry___0 *)tmp);
  return;
}
}
static void read_mark_file(struct mark_set **s___1 , FILE *f , void (*inserter)(struct mark_set **s ,
                                                                                struct object_id *oid ,
                                                                                uintmax_t mark ) )
{
  char line___0[512] ;
  uintmax_t mark ;
  char *end ;
  struct object_id oid ;
  int tmp ;
  char *tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = fgets(line___0, (int )sizeof(line___0), f);
    if (! tmp___0) {
      goto while_break;
    }
    memset((void *)(oid.hash), 0, sizeof(oid.hash));
    end = strchr((char const   *)(line___0), '\n');
    if ((int )line___0[0] != 58) {
      die((char const   *)"corrupt mark line: %s", line___0);
    } else
    if (! end) {
      die((char const   *)"corrupt mark line: %s", line___0);
    }
    *end = (char)0;
    mark = strtoumax((char const   *)(line___0 + 1), & end, 10);
    if (! mark) {
      die((char const   *)"corrupt mark line: %s", line___0);
    } else
    if ((unsigned long )end == (unsigned long )(line___0 + 1)) {
      die((char const   *)"corrupt mark line: %s", line___0);
    } else
    if ((int )*end != 32) {
      die((char const   *)"corrupt mark line: %s", line___0);
    } else {
      tmp = get_oid_hex_any((char const   *)(end + 1), & oid);
      if (tmp == 0) {
        die((char const   *)"corrupt mark line: %s", line___0);
      }
    }
    (*inserter)(s___1, & oid, mark);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void read_marks(void)
{
  FILE *f ;
  FILE *tmp ;
  int *tmp___0 ;

  {
  tmp = git_fopen(import_marks_file, (char const   *)"r");
  f = tmp;
  if (! f) {
    if (import_marks_file_ignore_missing) {
      tmp___0 = __errno_location();
      if (*tmp___0 == 2) {
        goto done;
      } else {
        die_errno((char const   *)"cannot read \'%s\'", import_marks_file);
      }
    } else {
      die_errno((char const   *)"cannot read \'%s\'", import_marks_file);
    }
  }
  read_mark_file(& marks, f, & insert_object_entry);
  fclose(f);
  done:
  import_marks_file_done = 1;
  return;
}
}
static int read_next_command(void) ;
static int stdin_eof  =    0;
static int read_next_command(void)
{
  struct recent_command *rc___0 ;
  int tmp ;
  int tmp___0 ;

  {
  if (stdin_eof) {
    unread_command_buf = 0;
    return (-1);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unread_command_buf) {
      unread_command_buf = 0;
    } else {
      stdin_eof = strbuf_getline_lf(& command_buf, stdin);
      if (stdin_eof) {
        return (-1);
      }
      if (! seen_data_command) {
        tmp = starts_with((char const   *)command_buf.buf, (char const   *)"feature ");
        if (! tmp) {
          tmp___0 = starts_with((char const   *)command_buf.buf, (char const   *)"option ");
          if (! tmp___0) {
            parse_argv();
          }
        }
      }
      rc___0 = rc_free;
      if (rc___0) {
        rc_free = rc___0->next;
      } else {
        rc___0 = cmd_hist.next;
        cmd_hist.next = rc___0->next;
        (cmd_hist.next)->prev = & cmd_hist;
        free((void *)rc___0->buf);
      }
      rc___0->buf = xstrdup((char const   *)command_buf.buf);
      rc___0->prev = cmd_tail;
      rc___0->next = cmd_hist.prev;
      (rc___0->prev)->next = rc___0;
      cmd_tail = rc___0;
    }
    if ((int )*(command_buf.buf + 0) == 35) {
      goto __Cont;
    }
    return (0);
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
}
}
static void skip_optional_lf(void)
{
  int term_char ;
  int tmp ;

  {
  tmp = fgetc(stdin);
  term_char = tmp;
  if (term_char != 10) {
    if (term_char != -1) {
      ungetc(term_char, stdin);
    }
  }
  return;
}
}
static void parse_mark(void)
{
  char const   *v ;
  int tmp ;

  {
  tmp = skip_prefix((char const   *)command_buf.buf, (char const   *)"mark :", & v);
  if (tmp) {
    next_mark = strtoumax(v, (char **)((void *)0), 10);
    read_next_command();
  } else {
    next_mark = (uintmax_t )0;
  }
  return;
}
}
static void parse_original_identifier(void)
{
  char const   *v ;
  int tmp ;

  {
  tmp = skip_prefix((char const   *)command_buf.buf, (char const   *)"original-oid ",
                    & v);
  if (tmp) {
    read_next_command();
  }
  return;
}
}
static int parse_data(struct strbuf *sb___6 , uintmax_t limit___1 , uintmax_t *len_res )
{
  char const   *data ;
  int tmp ;
  char *term___1 ;
  char *tmp___0 ;
  size_t term_len ;
  int tmp___1 ;
  int tmp___2 ;
  uintmax_t len___0 ;
  uintmax_t tmp___3 ;
  size_t n ;
  size_t length ;
  size_t s___1 ;
  size_t tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  strbuf_setlen___33(sb___6, (size_t )0);
  tmp = skip_prefix((char const   *)command_buf.buf, (char const   *)"data ", & data);
  if (! tmp) {
    die((char const   *)"Expected \'data n\' command, found: %s", command_buf.buf);
  }
  tmp___6 = skip_prefix(data, (char const   *)"<<", & data);
  if (tmp___6) {
    tmp___0 = xstrdup(data);
    term___1 = tmp___0;
    term_len = command_buf.len - (size_t )(data - (char const   *)command_buf.buf);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___1 = strbuf_getline_lf(& command_buf, stdin);
      if (tmp___1 == -1) {
        die((char const   *)"EOF in data (terminator \'%s\' not found)", term___1);
      }
      if (term_len == command_buf.len) {
        tmp___2 = strcmp((char const   *)term___1, (char const   *)command_buf.buf);
        if (! tmp___2) {
          goto while_break;
        }
      }
      strbuf_addbuf(sb___6, (struct strbuf  const  *)(& command_buf));
      strbuf_addch(sb___6, '\n');
    }
    while_break: /* CIL Label */ ;
    }
    free((void *)term___1);
  } else {
    tmp___3 = strtoumax(data, (char **)((void *)0), 10);
    len___0 = tmp___3;
    n = (size_t )0;
    length = len___0;
    if (limit___1) {
      if (limit___1 < len___0) {
        *len_res = len___0;
        return (0);
      }
    }
    if (length < len___0) {
      die((char const   *)"data is too large to use in this context");
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (n < length)) {
        goto while_break___0;
      }
      tmp___4 = strbuf_fread(sb___6, length - n, stdin);
      s___1 = tmp___4;
      if (! s___1) {
        tmp___5 = feof(stdin);
        if (tmp___5) {
          die((char const   *)"EOF in data (%lu bytes remaining)", length - n);
        }
      }
      n += s___1;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  skip_optional_lf();
  return (1);
}
}
static int validate_raw_date(char const   *src , struct strbuf *result___0 , int strict___1 )
{
  char const   *orig_src ;
  char *endp ;
  unsigned long num ;
  int *tmp ;
  int *tmp___0 ;
  int *tmp___1 ;

  {
  orig_src = src;
  tmp = __errno_location();
  *tmp = 0;
  num = strtoul((char const   * __restrict  )src, (char ** __restrict  )(& endp),
                10);
  tmp___0 = __errno_location();
  if (*tmp___0) {
    return (-1);
  } else
  if ((unsigned long )endp == (unsigned long )src) {
    return (-1);
  } else
  if ((int )*endp != 32) {
    return (-1);
  }
  src = (char const   *)(endp + 1);
  if ((int const   )*src != 45) {
    if ((int const   )*src != 43) {
      return (-1);
    }
  }
  num = strtoul((char const   * __restrict  )(src + 1), (char ** __restrict  )(& endp),
                10);
  tmp___1 = __errno_location();
  if (*tmp___1) {
    return (-1);
  } else
  if ((unsigned long )endp == (unsigned long )(src + 1)) {
    return (-1);
  } else
  if (*endp) {
    return (-1);
  } else
  if (strict___1) {
    if (1400UL < num) {
      return (-1);
    }
  }
  strbuf_addstr(result___0, orig_src);
  return (0);
}
}
static char *parse_ident(char const   *buf___19 )
{
  char const   *ltgt ;
  size_t name_len ;
  struct strbuf ident ;
  size_t tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;

  {
  ident.alloc = 0UL;
  ident.len = 0UL;
  ident.buf = strbuf_slopbuf;
  if ((int const   )*buf___19 == 60) {
    buf___19 --;
  }
  tmp = strcspn(buf___19, (char const   *)"<>");
  ltgt = buf___19 + tmp;
  if ((int const   )*ltgt != 60) {
    die((char const   *)"Missing < in ident string: %s", buf___19);
  }
  if ((unsigned long )ltgt != (unsigned long )buf___19) {
    if ((int const   )*(ltgt + -1) != 32) {
      die((char const   *)"Missing space before < in ident string: %s", buf___19);
    }
  }
  tmp___0 = strcspn(ltgt + 1, (char const   *)"<>");
  ltgt = (ltgt + 1) + tmp___0;
  if ((int const   )*ltgt != 62) {
    die((char const   *)"Missing > in ident string: %s", buf___19);
  }
  ltgt ++;
  if ((int const   )*ltgt != 32) {
    die((char const   *)"Missing space after > in ident string: %s", buf___19);
  }
  ltgt ++;
  name_len = (size_t )(ltgt - buf___19);
  strbuf_add(& ident, (void const   *)buf___19, name_len);
  {
  if ((unsigned int )whenspec == 1U) {
    goto case_1;
  }
  if ((unsigned int )whenspec == 2U) {
    goto case_2;
  }
  if ((unsigned int )whenspec == 3U) {
    goto case_3;
  }
  if ((unsigned int )whenspec == 4U) {
    goto case_4;
  }
  goto switch_break;
  case_1: /* CIL Label */
  tmp___1 = validate_raw_date(ltgt, & ident, 1);
  if (tmp___1 < 0) {
    die((char const   *)"Invalid raw date \"%s\" in ident: %s", ltgt, buf___19);
  }
  goto switch_break;
  case_2: /* CIL Label */
  tmp___2 = validate_raw_date(ltgt, & ident, 0);
  if (tmp___2 < 0) {
    die((char const   *)"Invalid raw date \"%s\" in ident: %s", ltgt, buf___19);
  }
  goto switch_break;
  case_3: /* CIL Label */
  tmp___3 = parse_date(ltgt, & ident);
  if (tmp___3 < 0) {
    die((char const   *)"Invalid rfc2822 date \"%s\" in ident: %s", ltgt, buf___19);
  }
  goto switch_break;
  case_4: /* CIL Label */
  tmp___4 = strcmp((char const   *)"now", ltgt);
  if (tmp___4) {
    die((char const   *)"Date in ident must be \'now\': %s", buf___19);
  }
  datestamp(& ident);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  tmp___5 = strbuf_detach(& ident, (size_t *)((void *)0));
  return (tmp___5);
}
}
static void parse_and_store_blob(struct last_object *last , struct object_id *oidout ,
                                 uintmax_t mark ) ;
static struct strbuf buf___16  =    {0UL, 0UL, strbuf_slopbuf};
static void parse_and_store_blob(struct last_object *last , struct object_id *oidout ,
                                 uintmax_t mark )
{
  uintmax_t len___0 ;
  int tmp ;

  {
  tmp = parse_data(& buf___16, big_file_threshold, & len___0);
  if (tmp) {
    store_object((enum object_type )3, & buf___16, last, oidout, mark);
  } else {
    if (last) {
      strbuf_release(& last->data);
      last->offset = (off_t )0;
      last->depth = 0U;
    }
    stream_blob___0(len___0, oidout, mark);
    skip_optional_lf();
  }
  return;
}
}
static void parse_new_blob(void)
{


  {
  read_next_command();
  parse_mark();
  parse_original_identifier();
  parse_and_store_blob(& last_blob, (struct object_id *)((void *)0), next_mark);
  return;
}
}
static void unload_one_branch(void)
{
  uintmax_t min_commit ;
  struct branch___0 *e ;
  struct branch___0 *l ;
  struct branch___0 *p___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (cur_active_branches) {
      if (! (cur_active_branches >= max_active_branches)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    min_commit = 18446744073709551615UL;
    l = (struct branch___0 *)((void *)0);
    p___0 = (struct branch___0 *)((void *)0);
    e = active_branches;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! e) {
        goto while_break___0;
      }
      if (e->last_commit < min_commit) {
        p___0 = l;
        min_commit = e->last_commit;
      }
      l = e;
      e = e->active_next_branch;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (p___0) {
      e = p___0->active_next_branch;
      p___0->active_next_branch = e->active_next_branch;
    } else {
      e = active_branches;
      active_branches = e->active_next_branch;
    }
    e->active = 0U;
    e->active_next_branch = (struct branch___0 *)((void *)0);
    if (e->branch_tree.tree) {
      release_tree_content_recursive(e->branch_tree.tree);
      e->branch_tree.tree = (struct tree_content *)((void *)0);
    }
    cur_active_branches --;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void load_branch(struct branch___0 *b___0 )
{


  {
  load_tree(& b___0->branch_tree);
  if (! b___0->active) {
    b___0->active = 1U;
    b___0->active_next_branch = active_branches;
    active_branches = b___0;
    cur_active_branches ++;
    branch_load_count ++;
  }
  return;
}
}
static unsigned char convert_num_notes_to_fanout(uintmax_t num_notes )
{
  unsigned char fanout ;

  {
  fanout = (unsigned char)0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    num_notes >>= 8;
    if (! num_notes) {
      goto while_break;
    }
    fanout = (unsigned char )((int )fanout + 1);
  }
  while_break: /* CIL Label */ ;
  }
  return (fanout);
}
}
static void construct_path_with_fanout___0(char const   *hex_sha1 , unsigned char fanout ,
                                           char *path___6 )
{
  unsigned int i ;
  unsigned int j ;
  unsigned int tmp ;
  unsigned int tmp___0 ;
  unsigned int tmp___1 ;
  unsigned int tmp___2 ;
  unsigned int tmp___3 ;

  {
  i = 0U;
  j = 0U;
  if ((size_t )fanout >= (the_repository->hash_algo)->rawsz) {
    die((char const   *)"Too large fanout (%u)", (int )fanout);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! fanout) {
      goto while_break;
    }
    tmp = i;
    i ++;
    tmp___0 = j;
    j ++;
    *(path___6 + tmp) = (char )*(hex_sha1 + tmp___0);
    tmp___1 = i;
    i ++;
    tmp___2 = j;
    j ++;
    *(path___6 + tmp___1) = (char )*(hex_sha1 + tmp___2);
    tmp___3 = i;
    i ++;
    *(path___6 + tmp___3) = (char )'/';
    fanout = (unsigned char )((int )fanout - 1);
  }
  while_break: /* CIL Label */ ;
  }
  memcpy((void *)(path___6 + i), (void const   *)(hex_sha1 + j), (size_t )((the_repository->hash_algo)->hexsz - (size_t )j));
  *(path___6 + (((size_t )i + (the_repository->hash_algo)->hexsz) - (size_t )j)) = (char )'\000';
  return;
}
}
static uintmax_t do_change_note_fanout(struct tree_entry *orig_root , struct tree_entry *root ,
                                       char *hex_oid , unsigned int hex_oid_len ,
                                       char *fullpath , unsigned int fullpath_len ,
                                       unsigned char fanout )
{
  struct tree_content *t ;
  struct tree_entry *e ;
  struct tree_entry leaf ;
  unsigned int i ;
  unsigned int tmp_hex_oid_len ;
  unsigned int tmp_fullpath_len ;
  uintmax_t num_notes ;
  struct object_id oid ;
  char realpath___1[96] ;
  unsigned int hexsz ;
  unsigned int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  uintmax_t tmp___2 ;
  int tmp___3 ;

  {
  num_notes = (uintmax_t )0;
  hexsz = (unsigned int )(the_repository->hash_algo)->hexsz;
  if (! root->tree) {
    load_tree(root);
  }
  t = root->tree;
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (t) {
      if (! (i < t->entry_count)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    e = t->entries[i];
    tmp_hex_oid_len = hex_oid_len + (unsigned int )(e->name)->str_len;
    tmp_fullpath_len = fullpath_len;
    if (! e->versions[1].mode) {
      goto __Cont;
    } else
    if (tmp_hex_oid_len > (unsigned int )hexsz) {
      goto __Cont;
    } else
    if ((int )(e->name)->str_len % 2) {
      goto __Cont;
    }
    memcpy((void *)(hex_oid + hex_oid_len), (void const   *)((e->name)->str_dat),
           (size_t )(e->name)->str_len);
    if (tmp_fullpath_len) {
      tmp = tmp_fullpath_len;
      tmp_fullpath_len ++;
      *(fullpath + tmp) = (char )'/';
    }
    memcpy((void *)(fullpath + tmp_fullpath_len), (void const   *)((e->name)->str_dat),
           (size_t )(e->name)->str_len);
    tmp_fullpath_len += (unsigned int )(e->name)->str_len;
    *(fullpath + tmp_fullpath_len) = (char )'\000';
    if (tmp_hex_oid_len == (unsigned int )hexsz) {
      tmp___3 = get_oid_hex((char const   *)hex_oid, & oid);
      if (tmp___3) {
        goto _L;
      } else {
        if ((int )fanout == 0xff) {
          num_notes ++;
          goto __Cont;
        }
        construct_path_with_fanout___0((char const   *)hex_oid, fanout, realpath___1);
        tmp___0 = strcmp((char const   *)fullpath, (char const   *)(realpath___1));
        if (! tmp___0) {
          num_notes ++;
          goto __Cont;
        }
        tmp___1 = tree_content_remove(orig_root, (char const   *)fullpath, & leaf,
                                      0);
        if (! tmp___1) {
          die((char const   *)"Failed to remove path %s", fullpath);
        }
        tree_content_set(orig_root, (char const   *)(realpath___1), (struct object_id  const  *)(& leaf.versions[1].oid),
                         (uint16_t const   )leaf.versions[1].mode, leaf.tree);
      }
    } else
    _L: /* CIL Label */
    if (((int )e->versions[1].mode & 0170000) == 0040000) {
      tmp___2 = do_change_note_fanout(orig_root, e, hex_oid, tmp_hex_oid_len, fullpath,
                                      tmp_fullpath_len, fanout);
      num_notes += tmp___2;
    }
    t = root->tree;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (num_notes);
}
}
static uintmax_t change_note_fanout(struct tree_entry *root , unsigned char fanout )
{
  char hex_oid[64] ;
  char path___6[96] ;
  uintmax_t tmp ;

  {
  tmp = do_change_note_fanout(root, root, hex_oid, 0U, path___6, 0U, fanout);
  return (tmp);
}
}
static int parse_mapped_oid_hex(char const   *hex___3 , struct object_id *oid , char const   **end )
{
  int algo ;
  khiter_t it ;

  {
  memset((void *)(oid->hash), 0, sizeof(oid->hash));
  algo = parse_oid_hex_any(hex___3, oid, end);
  if (algo == 0) {
    return (-1);
  }
  it = kh_get_oid_map((kh_oid_map_t const   *)sub_oid_map, *oid);
  if (it == sub_oid_map->n_buckets) {
    if (hash_algos[algo].format_id == (the_repository->hash_algo)->format_id) {
      return (0);
    }
    return (-1);
  }
  oidcpy(oid, (struct object_id  const  *)*(sub_oid_map->vals + it));
  return (0);
}
}
static uintmax_t parse_mark_ref(char const   *p___0 , char **endptr )
{
  uintmax_t mark ;

  {
  assert((int const   )*p___0 == 58);
  p___0 ++;
  mark = strtoumax(p___0, endptr, 10);
  if ((unsigned long )*endptr == (unsigned long )p___0) {
    die((char const   *)"No value after \':\' in mark: %s", command_buf.buf);
  }
  return (mark);
}
}
static uintmax_t parse_mark_ref_eol(char const   *p___0 )
{
  char *end ;
  uintmax_t mark ;

  {
  mark = parse_mark_ref(p___0, & end);
  if ((int )*end != 0) {
    die((char const   *)"Garbage after mark: %s", command_buf.buf);
  }
  return (mark);
}
}
static uintmax_t parse_mark_ref_space(char const   **p___0 )
{
  uintmax_t mark ;
  char *end ;
  char *tmp ;

  {
  mark = parse_mark_ref(*p___0, & end);
  tmp = end;
  end ++;
  if ((int )*tmp != 32) {
    die((char const   *)"Missing space after mark: %s", command_buf.buf);
  }
  *p___0 = (char const   *)end;
  return (mark);
}
}
static void file_change_m(char const   *p___0 , struct branch___0 *b___0 ) ;
static struct strbuf uq  =    {0UL, 0UL, strbuf_slopbuf};
static void file_change_m(char const   *p___0 , struct branch___0 *b___0 )
{
  char const   *endp ;
  struct object_entry___0 *oe ;
  struct object_id oid ;
  uint16_t mode___1 ;
  uint16_t inline_data ;
  uintmax_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const   *tmp___6 ;
  char const   *v ;
  int tmp___7 ;
  int tmp___8 ;
  enum object_type expected ;
  int tmp___9 ;
  enum object_type type___0 ;
  int tmp___10 ;
  uint32_t tmp___11 ;
  char *tmp___12 ;
  char const   *tmp___13 ;
  char const   *tmp___14 ;

  {
  inline_data = (uint16_t )0;
  p___0 = get_mode___1(p___0, & mode___1);
  if (! p___0) {
    die((char const   *)"Corrupt mode: %s", command_buf.buf);
  }
  {
  if ((int )mode___1 == 0755) {
    goto case_493;
  }
  if ((int )mode___1 == 0644) {
    goto case_493;
  }
  if ((int )mode___1 == 0160000) {
    goto case_57344;
  }
  if ((int )mode___1 == 0040000) {
    goto case_57344;
  }
  if ((int )mode___1 == 0120000) {
    goto case_57344;
  }
  if ((int )mode___1 == 33261) {
    goto case_57344;
  }
  if ((int )mode___1 == 33188) {
    goto case_57344;
  }
  goto switch_default;
  case_493: /* CIL Label */
  case_420: /* CIL Label */
  mode___1 = (uint16_t )((int )mode___1 | 0100000);
  case_57344: /* CIL Label */
  case_16384: /* CIL Label */
  case_40960: /* CIL Label */
  case_33261: /* CIL Label */
  case_33188: /* CIL Label */
  goto switch_break;
  switch_default: /* CIL Label */
  die((char const   *)"Corrupt mode: %s", command_buf.buf);
  switch_break: /* CIL Label */ ;
  }
  if ((int const   )*p___0 == 58) {
    tmp = parse_mark_ref_space(& p___0);
    tmp___0 = find_mark(marks, tmp);
    oe = (struct object_entry___0 *)tmp___0;
    oidcpy(& oid, (struct object_id  const  *)(& oe->idx.oid));
  } else {
    tmp___3 = skip_prefix(p___0, (char const   *)"inline ", & p___0);
    if (tmp___3) {
      inline_data = (uint16_t )1;
      oe = (struct object_entry___0 *)((void *)0);
    } else {
      tmp___1 = parse_mapped_oid_hex(p___0, & oid, & p___0);
      if (tmp___1) {
        die((char const   *)"Invalid dataref: %s", command_buf.buf);
      }
      oe = find_object(& oid);
      tmp___2 = p___0;
      p___0 ++;
      if ((int const   )*tmp___2 != 32) {
        die((char const   *)"Missing space after SHA1: %s", command_buf.buf);
      }
    }
  }
  strbuf_setlen___33(& uq, (size_t )0);
  tmp___4 = unquote_c_style(& uq, p___0, & endp);
  if (! tmp___4) {
    if (*endp) {
      die((char const   *)"Garbage after path in: %s", command_buf.buf);
    }
    p___0 = (char const   *)uq.buf;
  }
  if (((int )mode___1 & 0170000) == 0040000) {
    tmp___5 = is_empty_tree_oid((struct object_id  const  *)(& oid));
    if (tmp___5) {
      if (*p___0) {
        tree_content_remove(& b___0->branch_tree, p___0, (struct tree_entry *)((void *)0),
                            0);
        return;
      }
    }
  }
  if (((int )mode___1 & 0170000) == 0160000) {
    if (inline_data) {
      die((char const   *)"Git links cannot be specified \'inline\': %s", command_buf.buf);
    } else
    if (oe) {
      if (oe->type != 1U) {
        tmp___6 = type_name(oe->type);
        die((char const   *)"Not a commit (actually a %s): %s", tmp___6, command_buf.buf);
      }
    }
  } else
  if (inline_data) {
    if (((int )mode___1 & 0170000) == 0040000) {
      die((char const   *)"Directories cannot be specified \'inline\': %s", command_buf.buf);
    }
    if ((unsigned long )p___0 != (unsigned long )uq.buf) {
      strbuf_addstr(& uq, p___0);
      p___0 = (char const   *)uq.buf;
    }
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___8 = read_next_command();
      if (! (tmp___8 != -1)) {
        goto while_break;
      }
      tmp___7 = skip_prefix((char const   *)command_buf.buf, (char const   *)"cat-blob ",
                            & v);
      if (tmp___7) {
        parse_cat_blob(v);
      } else {
        parse_and_store_blob(& last_blob, & oid, (uintmax_t )0);
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
  } else {
    if (((int )mode___1 & 0170000) == 0040000) {
      tmp___9 = 2;
    } else {
      tmp___9 = 3;
    }
    expected = (enum object_type )tmp___9;
    if (oe) {
      tmp___11 = oe->type;
    } else {
      tmp___10 = oid_object_info(the_repository, (struct object_id  const  *)(& oid),
                                 (unsigned long *)((void *)0));
      tmp___11 = (uint32_t )tmp___10;
    }
    type___0 = (enum object_type )tmp___11;
    if ((int )type___0 < 0) {
      if (((int )mode___1 & 0170000) == 0040000) {
        tmp___12 = "Tree";
      } else {
        tmp___12 = "Blob";
      }
      die((char const   *)"%s not found: %s", tmp___12, command_buf.buf);
    }
    if ((int )type___0 != (int )expected) {
      tmp___13 = type_name((unsigned int )type___0);
      tmp___14 = type_name((unsigned int )expected);
      die((char const   *)"Not a %s (actually a %s): %s", tmp___14, tmp___13, command_buf.buf);
    }
  }
  if (! *p___0) {
    tree_content_replace(& b___0->branch_tree, (struct object_id  const  *)(& oid),
                         (uint16_t const   )mode___1, (struct tree_content *)((void *)0));
    return;
  }
  tree_content_set(& b___0->branch_tree, p___0, (struct object_id  const  *)(& oid),
                   (uint16_t const   )mode___1, (struct tree_content *)((void *)0));
  return;
}
}
static void file_change_d(char const   *p___0 , struct branch___0 *b___0 ) ;
static struct strbuf uq___0  =    {0UL, 0UL, strbuf_slopbuf};
static void file_change_d(char const   *p___0 , struct branch___0 *b___0 )
{
  char const   *endp ;
  int tmp ;

  {
  strbuf_setlen___33(& uq___0, (size_t )0);
  tmp = unquote_c_style(& uq___0, p___0, & endp);
  if (! tmp) {
    if (*endp) {
      die((char const   *)"Garbage after path in: %s", command_buf.buf);
    }
    p___0 = (char const   *)uq___0.buf;
  }
  tree_content_remove(& b___0->branch_tree, p___0, (struct tree_entry *)((void *)0),
                      1);
  return;
}
}
static void file_change_cr(char const   *s___1 , struct branch___0 *b___0 , int rename___0 ) ;
static struct strbuf s_uq  =    {0UL, 0UL, strbuf_slopbuf};
static struct strbuf d_uq  =    {0UL, 0UL, strbuf_slopbuf};
static void file_change_cr(char const   *s___1 , struct branch___0 *b___0 , int rename___0 )
{
  char const   *d ;
  char const   *endp ;
  struct tree_entry leaf ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  strbuf_setlen___33(& s_uq, (size_t )0);
  tmp___0 = unquote_c_style(& s_uq, s___1, & endp);
  if (tmp___0) {
    tmp = strchr(s___1, ' ');
    endp = (char const   *)tmp;
    if (! endp) {
      die((char const   *)"Missing space after source: %s", command_buf.buf);
    }
    strbuf_add(& s_uq, (void const   *)s___1, (size_t )(endp - s___1));
  } else
  if ((int const   )*endp != 32) {
    die((char const   *)"Missing space after source: %s", command_buf.buf);
  }
  s___1 = (char const   *)s_uq.buf;
  endp ++;
  if (! *endp) {
    die((char const   *)"Missing dest: %s", command_buf.buf);
  }
  d = endp;
  strbuf_setlen___33(& d_uq, (size_t )0);
  tmp___1 = unquote_c_style(& d_uq, d, & endp);
  if (! tmp___1) {
    if (*endp) {
      die((char const   *)"Garbage after dest in: %s", command_buf.buf);
    }
    d = (char const   *)d_uq.buf;
  }
  memset((void *)(& leaf), 0, sizeof(leaf));
  if (rename___0) {
    tree_content_remove(& b___0->branch_tree, s___1, & leaf, 1);
  } else {
    tree_content_get(& b___0->branch_tree, s___1, & leaf, 1);
  }
  if (! leaf.versions[1].mode) {
    die((char const   *)"Path %s not in branch", s___1);
  }
  if (! *d) {
    tree_content_replace(& b___0->branch_tree, (struct object_id  const  *)(& leaf.versions[1].oid),
                         (uint16_t const   )leaf.versions[1].mode, leaf.tree);
    return;
  }
  tree_content_set(& b___0->branch_tree, d, (struct object_id  const  *)(& leaf.versions[1].oid),
                   (uint16_t const   )leaf.versions[1].mode, leaf.tree);
  return;
}
}
static void note_change_n(char const   *p___0 , struct branch___0 *b___0 , unsigned char *old_fanout ) ;
static struct strbuf uq___1  =    {0UL, 0UL, strbuf_slopbuf};
static void note_change_n(char const   *p___0 , struct branch___0 *b___0 , unsigned char *old_fanout )
{
  struct object_entry___0 *oe ;
  struct branch___0 *s___1 ;
  struct object_id oid ;
  struct object_id commit_oid ;
  char path___6[96] ;
  uint16_t inline_data ;
  unsigned char new_fanout ;
  uintmax_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  uintmax_t commit_mark ;
  uintmax_t tmp___5 ;
  struct object_entry___0 *commit_oe ;
  void *tmp___6 ;
  unsigned long size ;
  char *buf___19 ;
  void *tmp___7 ;
  int tmp___8 ;
  char const   *tmp___9 ;
  enum object_type type___0 ;
  int tmp___10 ;
  char const   *tmp___11 ;
  int tmp___12 ;
  char *tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  char *tmp___16 ;

  {
  inline_data = (uint16_t )0;
  if (b___0->num_notes == 0UL) {
    if ((int )*old_fanout == 0) {
      b___0->num_notes = change_note_fanout(& b___0->branch_tree, (unsigned char)255);
      *old_fanout = convert_num_notes_to_fanout(b___0->num_notes);
    }
  }
  if ((int const   )*p___0 == 58) {
    tmp = parse_mark_ref_space(& p___0);
    tmp___0 = find_mark(marks, tmp);
    oe = (struct object_entry___0 *)tmp___0;
    oidcpy(& oid, (struct object_id  const  *)(& oe->idx.oid));
  } else {
    tmp___3 = skip_prefix(p___0, (char const   *)"inline ", & p___0);
    if (tmp___3) {
      inline_data = (uint16_t )1;
      oe = (struct object_entry___0 *)((void *)0);
    } else {
      tmp___1 = parse_mapped_oid_hex(p___0, & oid, & p___0);
      if (tmp___1) {
        die((char const   *)"Invalid dataref: %s", command_buf.buf);
      }
      oe = find_object(& oid);
      tmp___2 = p___0;
      p___0 ++;
      if ((int const   )*tmp___2 != 32) {
        die((char const   *)"Missing space after SHA1: %s", command_buf.buf);
      }
    }
  }
  s___1 = lookup_branch(p___0);
  if (s___1) {
    tmp___4 = is_null_oid((struct object_id  const  *)(& s___1->oid));
    if (tmp___4) {
      die((char const   *)"Can\'t add a note on empty branch.");
    }
    oidcpy(& commit_oid, (struct object_id  const  *)(& s___1->oid));
  } else
  if ((int const   )*p___0 == 58) {
    tmp___5 = parse_mark_ref_eol(p___0);
    commit_mark = tmp___5;
    tmp___6 = find_mark(marks, commit_mark);
    commit_oe = (struct object_entry___0 *)tmp___6;
    if (commit_oe->type != 1U) {
      die((char const   *)"Mark :%lu not a commit", commit_mark);
    }
    oidcpy(& commit_oid, (struct object_id  const  *)(& commit_oe->idx.oid));
  } else {
    tmp___8 = repo_get_oid(the_repository, p___0, & commit_oid);
    if (tmp___8) {
      die((char const   *)"Invalid ref name or SHA1 expression: %s", p___0);
    } else {
      tmp___7 = read_object_with_reference(the_repository, (struct object_id  const  *)(& commit_oid),
                                           commit_type, & size, & commit_oid);
      buf___19 = (char *)tmp___7;
      if (! buf___19) {
        die((char const   *)"Not a valid commit: %s", p___0);
      } else
      if (size < (unsigned long )((the_repository->hash_algo)->hexsz + 6UL)) {
        die((char const   *)"Not a valid commit: %s", p___0);
      }
      free((void *)buf___19);
    }
  }
  if (inline_data) {
    if ((unsigned long )p___0 != (unsigned long )uq___1.buf) {
      strbuf_addstr(& uq___1, p___0);
      p___0 = (char const   *)uq___1.buf;
    }
    read_next_command();
    parse_and_store_blob(& last_blob, & oid, (uintmax_t )0);
  } else
  if (oe) {
    if (oe->type != 3U) {
      tmp___9 = type_name(oe->type);
      die((char const   *)"Not a blob (actually a %s): %s", tmp___9, command_buf.buf);
    }
  } else {
    tmp___12 = is_null_oid((struct object_id  const  *)(& oid));
    if (! tmp___12) {
      tmp___10 = oid_object_info(the_repository, (struct object_id  const  *)(& oid),
                                 (unsigned long *)((void *)0));
      type___0 = (enum object_type )tmp___10;
      if ((int )type___0 < 0) {
        die((char const   *)"Blob not found: %s", command_buf.buf);
      }
      if ((int )type___0 != 3) {
        tmp___11 = type_name((unsigned int )type___0);
        die((char const   *)"Not a blob (actually a %s): %s", tmp___11, command_buf.buf);
      }
    }
  }
  tmp___13 = oid_to_hex((struct object_id  const  *)(& commit_oid));
  construct_path_with_fanout___0((char const   *)tmp___13, *old_fanout, path___6);
  tmp___14 = tree_content_remove(& b___0->branch_tree, (char const   *)(path___6),
                                 (struct tree_entry *)((void *)0), 0);
  if (tmp___14) {
    (b___0->num_notes) --;
  }
  tmp___15 = is_null_oid((struct object_id  const  *)(& oid));
  if (tmp___15) {
    return;
  }
  (b___0->num_notes) ++;
  new_fanout = convert_num_notes_to_fanout(b___0->num_notes);
  tmp___16 = oid_to_hex((struct object_id  const  *)(& commit_oid));
  construct_path_with_fanout___0((char const   *)tmp___16, new_fanout, path___6);
  tree_content_set(& b___0->branch_tree, (char const   *)(path___6), (struct object_id  const  *)(& oid),
                   (uint16_t const   )33188, (struct tree_content *)((void *)0));
  return;
}
}
static void file_change_deleteall(struct branch___0 *b___0 )
{


  {
  release_tree_content_recursive(b___0->branch_tree.tree);
  oidclr(& b___0->branch_tree.versions[0].oid);
  oidclr(& b___0->branch_tree.versions[1].oid);
  load_tree(& b___0->branch_tree);
  b___0->num_notes = (uintmax_t )0;
  return;
}
}
static void parse_from_commit(struct branch___0 *b___0 , char *buf___19 , unsigned long size )
{
  char *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (! buf___19) {
    tmp = oid_to_hex((struct object_id  const  *)(& b___0->oid));
    die((char const   *)"Not a valid commit: %s", tmp);
  } else
  if (size < (unsigned long )((the_repository->hash_algo)->hexsz + 6UL)) {
    tmp = oid_to_hex((struct object_id  const  *)(& b___0->oid));
    die((char const   *)"Not a valid commit: %s", tmp);
  }
  tmp___1 = memcmp((void const   *)"tree ", (void const   *)buf___19, (size_t )5);
  if (tmp___1) {
    tmp___0 = oid_to_hex((struct object_id  const  *)(& b___0->oid));
    die((char const   *)"The commit %s is corrupt", tmp___0);
  } else {
    tmp___2 = get_oid_hex((char const   *)(buf___19 + 5), & b___0->branch_tree.versions[1].oid);
    if (tmp___2) {
      tmp___0 = oid_to_hex((struct object_id  const  *)(& b___0->oid));
      die((char const   *)"The commit %s is corrupt", tmp___0);
    }
  }
  oidcpy(& b___0->branch_tree.versions[0].oid, (struct object_id  const  *)(& b___0->branch_tree.versions[1].oid));
  return;
}
}
static void parse_from_existing(struct branch___0 *b___0 )
{
  unsigned long size ;
  char *buf___19 ;
  void *tmp ;
  int tmp___0 ;

  {
  tmp___0 = is_null_oid((struct object_id  const  *)(& b___0->oid));
  if (tmp___0) {
    oidclr(& b___0->branch_tree.versions[0].oid);
    oidclr(& b___0->branch_tree.versions[1].oid);
  } else {
    tmp = read_object_with_reference(the_repository, (struct object_id  const  *)(& b___0->oid),
                                     commit_type, & size, & b___0->oid);
    buf___19 = (char *)tmp;
    parse_from_commit(b___0, buf___19, size);
    free((void *)buf___19);
  }
  return;
}
}
static int parse_objectish(struct branch___0 *b___0 , char const   *objectish )
{
  struct branch___0 *s___1 ;
  struct object_id oid ;
  struct object_id *t ;
  uintmax_t idnum ;
  uintmax_t tmp ;
  struct object_entry___0 *oe ;
  void *tmp___0 ;
  unsigned long size ;
  char *buf___19 ;
  void *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  oidcpy(& oid, (struct object_id  const  *)(& b___0->branch_tree.versions[1].oid));
  s___1 = lookup_branch(objectish);
  if ((unsigned long )b___0 == (unsigned long )s___1) {
    die((char const   *)"Can\'t create a branch from itself: %s", b___0->name);
  } else
  if (s___1) {
    t = & s___1->branch_tree.versions[1].oid;
    oidcpy(& b___0->oid, (struct object_id  const  *)(& s___1->oid));
    oidcpy(& b___0->branch_tree.versions[0].oid, (struct object_id  const  *)t);
    oidcpy(& b___0->branch_tree.versions[1].oid, (struct object_id  const  *)t);
  } else
  if ((int const   )*objectish == 58) {
    tmp = parse_mark_ref_eol(objectish);
    idnum = tmp;
    tmp___0 = find_mark(marks, idnum);
    oe = (struct object_entry___0 *)tmp___0;
    if (oe->type != 1U) {
      die((char const   *)"Mark :%lu not a commit", idnum);
    }
    tmp___2 = oideq((struct object_id  const  *)(& b___0->oid), (struct object_id  const  *)(& oe->idx.oid));
    if (! tmp___2) {
      oidcpy(& b___0->oid, (struct object_id  const  *)(& oe->idx.oid));
      if (oe->pack_id != (uint32_t )((1 << 16) - 1)) {
        tmp___1 = gfi_unpack_entry(oe, & size);
        buf___19 = (char *)tmp___1;
        parse_from_commit(b___0, buf___19, size);
        free((void *)buf___19);
      } else {
        parse_from_existing(b___0);
      }
    }
  } else {
    tmp___4 = repo_get_oid(the_repository, objectish, & b___0->oid);
    if (tmp___4) {
      die((char const   *)"Invalid ref name or SHA1 expression: %s", objectish);
    } else {
      parse_from_existing(b___0);
      tmp___3 = is_null_oid((struct object_id  const  *)(& b___0->oid));
      if (tmp___3) {
        b___0->delete = 1U;
      }
    }
  }
  if (b___0->branch_tree.tree) {
    tmp___5 = oideq((struct object_id  const  *)(& oid), (struct object_id  const  *)(& b___0->branch_tree.versions[1].oid));
    if (! tmp___5) {
      release_tree_content_recursive(b___0->branch_tree.tree);
      b___0->branch_tree.tree = (struct tree_content *)((void *)0);
    }
  }
  read_next_command();
  return (1);
}
}
static int parse_from(struct branch___0 *b___0 )
{
  char const   *from___0 ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = skip_prefix((char const   *)command_buf.buf, (char const   *)"from ", & from___0);
  if (! tmp) {
    return (0);
  }
  tmp___0 = parse_objectish(b___0, from___0);
  return (tmp___0);
}
}
static int parse_objectish_with_prefix(struct branch___0 *b___0 , char const   *prefix___1 )
{
  char const   *base ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = skip_prefix((char const   *)command_buf.buf, prefix___1, & base);
  if (! tmp) {
    return (0);
  }
  tmp___0 = parse_objectish(b___0, base);
  return (tmp___0);
}
}
static struct hash_list *parse_merge(unsigned int *count___0 )
{
  struct hash_list *list___3 ;
  struct hash_list **tail ;
  struct hash_list *n ;
  char const   *from___0 ;
  struct branch___0 *s___1 ;
  void *tmp ;
  uintmax_t idnum ;
  uintmax_t tmp___0 ;
  struct object_entry___0 *oe ;
  void *tmp___1 ;
  unsigned long size ;
  char *buf___19 ;
  void *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  list___3 = (struct hash_list *)((void *)0);
  tail = & list___3;
  *count___0 = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___4 = skip_prefix((char const   *)command_buf.buf, (char const   *)"merge ",
                          & from___0);
    if (! tmp___4) {
      goto while_break;
    }
    tmp = xmalloc(sizeof(*n));
    n = (struct hash_list *)tmp;
    s___1 = lookup_branch(from___0);
    if (s___1) {
      oidcpy(& n->oid, (struct object_id  const  *)(& s___1->oid));
    } else
    if ((int const   )*from___0 == 58) {
      tmp___0 = parse_mark_ref_eol(from___0);
      idnum = tmp___0;
      tmp___1 = find_mark(marks, idnum);
      oe = (struct object_entry___0 *)tmp___1;
      if (oe->type != 1U) {
        die((char const   *)"Mark :%lu not a commit", idnum);
      }
      oidcpy(& n->oid, (struct object_id  const  *)(& oe->idx.oid));
    } else {
      tmp___3 = repo_get_oid(the_repository, from___0, & n->oid);
      if (tmp___3) {
        die((char const   *)"Invalid ref name or SHA1 expression: %s", from___0);
      } else {
        tmp___2 = read_object_with_reference(the_repository, (struct object_id  const  *)(& n->oid),
                                             commit_type, & size, & n->oid);
        buf___19 = (char *)tmp___2;
        if (! buf___19) {
          die((char const   *)"Not a valid commit: %s", from___0);
        } else
        if (size < (unsigned long )((the_repository->hash_algo)->hexsz + 6UL)) {
          die((char const   *)"Not a valid commit: %s", from___0);
        }
        free((void *)buf___19);
      }
    }
    n->next = (struct hash_list *)((void *)0);
    *tail = n;
    tail = & n->next;
    (*count___0) ++;
    read_next_command();
  }
  while_break: /* CIL Label */ ;
  }
  return (list___3);
}
}
static void parse_new_commit(char const   *arg ) ;
static struct strbuf msg___2  =    {0UL, 0UL, strbuf_slopbuf};
static void parse_new_commit(char const   *arg )
{
  struct branch___0 *b___0 ;
  char *author ;
  char *committer ;
  char *encoding ;
  struct hash_list *merge_list ;
  unsigned int merge_count ;
  unsigned char prev_fanout ;
  unsigned char new_fanout ;
  char const   *v ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  char *tmp___11 ;
  char *tmp___12 ;
  int tmp___13 ;
  struct hash_list *next___2 ;
  char *tmp___14 ;
  char *tmp___15 ;
  int tmp___16 ;

  {
  author = (char *)((void *)0);
  committer = (char *)((void *)0);
  encoding = (char *)((void *)0);
  merge_list = (struct hash_list *)((void *)0);
  b___0 = lookup_branch(arg);
  if (! b___0) {
    b___0 = new_branch(arg);
  }
  read_next_command();
  parse_mark();
  parse_original_identifier();
  tmp = skip_prefix((char const   *)command_buf.buf, (char const   *)"author ", & v);
  if (tmp) {
    author = parse_ident(v);
    read_next_command();
  }
  tmp___0 = skip_prefix((char const   *)command_buf.buf, (char const   *)"committer ",
                        & v);
  if (tmp___0) {
    committer = parse_ident(v);
    read_next_command();
  }
  if (! committer) {
    die((char const   *)"Expected committer but didn\'t get one");
  }
  tmp___1 = skip_prefix((char const   *)command_buf.buf, (char const   *)"encoding ",
                        & v);
  if (tmp___1) {
    encoding = xstrdup(v);
    read_next_command();
  }
  parse_data(& msg___2, (uintmax_t )0, (uintmax_t *)((void *)0));
  read_next_command();
  parse_from(b___0);
  merge_list = parse_merge(& merge_count);
  if (! b___0->branch_tree.tree) {
    unload_one_branch();
    load_branch(b___0);
  } else
  if (! max_active_branches) {
    unload_one_branch();
    load_branch(b___0);
  }
  prev_fanout = convert_num_notes_to_fanout(b___0->num_notes);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (command_buf.len > 0UL)) {
      goto while_break;
    }
    tmp___9 = skip_prefix((char const   *)command_buf.buf, (char const   *)"M ", & v);
    if (tmp___9) {
      file_change_m(v, b___0);
    } else {
      tmp___8 = skip_prefix((char const   *)command_buf.buf, (char const   *)"D ",
                            & v);
      if (tmp___8) {
        file_change_d(v, b___0);
      } else {
        tmp___7 = skip_prefix((char const   *)command_buf.buf, (char const   *)"R ",
                              & v);
        if (tmp___7) {
          file_change_cr(v, b___0, 1);
        } else {
          tmp___6 = skip_prefix((char const   *)command_buf.buf, (char const   *)"C ",
                                & v);
          if (tmp___6) {
            file_change_cr(v, b___0, 0);
          } else {
            tmp___5 = skip_prefix((char const   *)command_buf.buf, (char const   *)"N ",
                                  & v);
            if (tmp___5) {
              note_change_n(v, b___0, & prev_fanout);
            } else {
              tmp___4 = strcmp((char const   *)"deleteall", (char const   *)command_buf.buf);
              if (tmp___4) {
                tmp___3 = skip_prefix((char const   *)command_buf.buf, (char const   *)"ls ",
                                      & v);
                if (tmp___3) {
                  parse_ls(v, b___0);
                } else {
                  tmp___2 = skip_prefix((char const   *)command_buf.buf, (char const   *)"cat-blob ",
                                        & v);
                  if (tmp___2) {
                    parse_cat_blob(v);
                  } else {
                    unread_command_buf = 1;
                    goto while_break;
                  }
                }
              } else {
                file_change_deleteall(b___0);
              }
            }
          }
        }
      }
    }
    tmp___10 = read_next_command();
    if (tmp___10 == -1) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  new_fanout = convert_num_notes_to_fanout(b___0->num_notes);
  if ((int )new_fanout != (int )prev_fanout) {
    b___0->num_notes = change_note_fanout(& b___0->branch_tree, new_fanout);
  }
  store_tree(& b___0->branch_tree);
  oidcpy(& b___0->branch_tree.versions[0].oid, (struct object_id  const  *)(& b___0->branch_tree.versions[1].oid));
  strbuf_setlen___33(& new_data, (size_t )0);
  tmp___11 = oid_to_hex((struct object_id  const  *)(& b___0->branch_tree.versions[1].oid));
  strbuf_addf(& new_data, (char const   *)"tree %s\n", tmp___11);
  tmp___13 = is_null_oid((struct object_id  const  *)(& b___0->oid));
  if (! tmp___13) {
    tmp___12 = oid_to_hex((struct object_id  const  *)(& b___0->oid));
    strbuf_addf(& new_data, (char const   *)"parent %s\n", tmp___12);
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! merge_list) {
      goto while_break___0;
    }
    next___2 = merge_list->next;
    tmp___14 = oid_to_hex((struct object_id  const  *)(& merge_list->oid));
    strbuf_addf(& new_data, (char const   *)"parent %s\n", tmp___14);
    free((void *)merge_list);
    merge_list = next___2;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (author) {
    tmp___15 = author;
  } else {
    tmp___15 = committer;
  }
  strbuf_addf(& new_data, (char const   *)"author %s\ncommitter %s\n", tmp___15, committer);
  if (encoding) {
    strbuf_addf(& new_data, (char const   *)"encoding %s\n", encoding);
  }
  strbuf_addch(& new_data, '\n');
  strbuf_addbuf(& new_data, (struct strbuf  const  *)(& msg___2));
  free((void *)author);
  free((void *)committer);
  free((void *)encoding);
  tmp___16 = store_object((enum object_type )1, & new_data, (struct last_object *)((void *)0),
                          & b___0->oid, next_mark);
  if (! tmp___16) {
    b___0->pack_id = pack_id;
  }
  b___0->last_commit = object_count_by_type[1];
  return;
}
}
static void parse_new_tag(char const   *arg ) ;
static struct strbuf msg___3  =    {0UL, 0UL, strbuf_slopbuf};
static void parse_new_tag(char const   *arg )
{
  char const   *from___0 ;
  char *tagger ;
  struct branch___0 *s___1 ;
  struct tag___0 *t ;
  uintmax_t from_mark ;
  struct object_id oid ;
  enum object_type type___0 ;
  char const   *v ;
  void *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  struct object_entry___0 *oe ;
  void *tmp___3 ;
  struct object_entry___0 *oe___0 ;
  struct object_entry___0 *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const   *tmp___8 ;
  char *tmp___9 ;
  int tmp___10 ;

  {
  from_mark = (uintmax_t )0;
  tmp = mem_pool_alloc(& fi_mem_pool, sizeof(struct tag___0 ));
  t = (struct tag___0 *)tmp;
  memset((void *)t, 0, sizeof(struct tag___0 ));
  tmp___0 = mem_pool_strdup(& fi_mem_pool, arg);
  t->name = (char const   *)tmp___0;
  if (last_tag) {
    last_tag->next_tag = t;
  } else {
    first_tag = t;
  }
  last_tag = t;
  read_next_command();
  parse_mark();
  tmp___1 = skip_prefix((char const   *)command_buf.buf, (char const   *)"from ",
                        & from___0);
  if (! tmp___1) {
    die((char const   *)"Expected from command, got %s", command_buf.buf);
  }
  s___1 = lookup_branch(from___0);
  if (s___1) {
    tmp___2 = is_null_oid((struct object_id  const  *)(& s___1->oid));
    if (tmp___2) {
      die((char const   *)"Can\'t tag an empty branch.");
    }
    oidcpy(& oid, (struct object_id  const  *)(& s___1->oid));
    type___0 = (enum object_type )1;
  } else
  if ((int const   )*from___0 == 58) {
    from_mark = parse_mark_ref_eol(from___0);
    tmp___3 = find_mark(marks, from_mark);
    oe = (struct object_entry___0 *)tmp___3;
    type___0 = (enum object_type )oe->type;
    oidcpy(& oid, (struct object_id  const  *)(& oe->idx.oid));
  } else {
    tmp___6 = repo_get_oid(the_repository, from___0, & oid);
    if (tmp___6) {
      die((char const   *)"Invalid ref name or SHA1 expression: %s", from___0);
    } else {
      tmp___4 = find_object(& oid);
      oe___0 = tmp___4;
      if (! oe___0) {
        tmp___5 = oid_object_info(the_repository, (struct object_id  const  *)(& oid),
                                  (unsigned long *)((void *)0));
        type___0 = (enum object_type )tmp___5;
        if ((int )type___0 < 0) {
          die((char const   *)"Not a valid object: %s", from___0);
        }
      } else {
        type___0 = (enum object_type )oe___0->type;
      }
    }
  }
  read_next_command();
  parse_original_identifier();
  tmp___7 = skip_prefix((char const   *)command_buf.buf, (char const   *)"tagger ",
                        & v);
  if (tmp___7) {
    tagger = parse_ident(v);
    read_next_command();
  } else {
    tagger = (char *)((void *)0);
  }
  parse_data(& msg___3, (uintmax_t )0, (uintmax_t *)((void *)0));
  strbuf_setlen___33(& new_data, (size_t )0);
  tmp___8 = type_name((unsigned int )type___0);
  tmp___9 = oid_to_hex((struct object_id  const  *)(& oid));
  strbuf_addf(& new_data, (char const   *)"object %s\ntype %s\ntag %s\n", tmp___9,
              tmp___8, t->name);
  if (tagger) {
    strbuf_addf(& new_data, (char const   *)"tagger %s\n", tagger);
  }
  strbuf_addch(& new_data, '\n');
  strbuf_addbuf(& new_data, (struct strbuf  const  *)(& msg___3));
  free((void *)tagger);
  tmp___10 = store_object((enum object_type )4, & new_data, (struct last_object *)((void *)0),
                          & t->oid, next_mark);
  if (tmp___10) {
    t->pack_id = (unsigned int )((1 << 16) - 1);
  } else {
    t->pack_id = pack_id;
  }
  return;
}
}
static void parse_reset_branch(char const   *arg )
{
  struct branch___0 *b___0 ;
  char const   *tag_name ;
  struct tag___0 *t ;
  struct tag___0 *prev ;
  int tmp ;
  int tmp___0 ;

  {
  b___0 = lookup_branch(arg);
  if (b___0) {
    oidclr(& b___0->oid);
    oidclr(& b___0->branch_tree.versions[0].oid);
    oidclr(& b___0->branch_tree.versions[1].oid);
    if (b___0->branch_tree.tree) {
      release_tree_content_recursive(b___0->branch_tree.tree);
      b___0->branch_tree.tree = (struct tree_content *)((void *)0);
    }
  } else {
    b___0 = new_branch(arg);
  }
  read_next_command();
  parse_from(b___0);
  if (b___0->delete) {
    tmp___0 = skip_prefix(b___0->name, (char const   *)"refs/tags/", & tag_name);
    if (tmp___0) {
      prev = (struct tag___0 *)((void *)0);
      t = first_tag;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! t) {
          goto while_break;
        }
        tmp = strcmp(t->name, tag_name);
        if (! tmp) {
          goto while_break;
        }
        prev = t;
        t = t->next_tag;
      }
      while_break: /* CIL Label */ ;
      }
      if (t) {
        if (prev) {
          prev->next_tag = t->next_tag;
        } else {
          first_tag = t->next_tag;
        }
        if (! t->next_tag) {
          last_tag = prev;
        }
      }
    }
  }
  if (command_buf.len > 0UL) {
    unread_command_buf = 1;
  }
  return;
}
}
static void cat_blob_write(char const   *buf___19 , unsigned long size )
{
  ssize_t tmp ;

  {
  tmp = write_in_full(cat_blob_fd, (void const   *)buf___19, size);
  if (tmp < 0L) {
    die_errno((char const   *)"Write to frontend failed");
  }
  return;
}
}
static void cat_blob(struct object_entry___0 *oe , struct object_id *oid )
{
  struct strbuf line___0 ;
  unsigned long size ;
  enum object_type type___0 ;
  char *buf___19 ;
  void *tmp ;
  void *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  char const   *tmp___3 ;
  char *tmp___4 ;
  char const   *tmp___5 ;
  char *tmp___6 ;

  {
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  type___0 = (enum object_type )0;
  if (! oe) {
    tmp = repo_read_object_file(the_repository, (struct object_id  const  *)oid, & type___0,
                                & size);
    buf___19 = (char *)tmp;
  } else
  if (oe->pack_id == (uint32_t )((1 << 16) - 1)) {
    tmp = repo_read_object_file(the_repository, (struct object_id  const  *)oid, & type___0,
                                & size);
    buf___19 = (char *)tmp;
  } else {
    type___0 = (enum object_type )oe->type;
    tmp___0 = gfi_unpack_entry(oe, & size);
    buf___19 = (char *)tmp___0;
  }
  if ((int )type___0 <= 0) {
    strbuf_setlen___33(& line___0, (size_t )0);
    tmp___1 = oid_to_hex((struct object_id  const  *)oid);
    strbuf_addf(& line___0, (char const   *)"%s missing\n", tmp___1);
    cat_blob_write((char const   *)line___0.buf, line___0.len);
    strbuf_release(& line___0);
    free((void *)buf___19);
    return;
  }
  if (! buf___19) {
    tmp___2 = oid_to_hex((struct object_id  const  *)oid);
    die((char const   *)"Can\'t read object %s", tmp___2);
  }
  if ((int )type___0 != 3) {
    tmp___3 = type_name((unsigned int )type___0);
    tmp___4 = oid_to_hex((struct object_id  const  *)oid);
    die((char const   *)"Object %s is a %s but a blob was expected.", tmp___4, tmp___3);
  }
  strbuf_setlen___33(& line___0, (size_t )0);
  tmp___5 = type_name((unsigned int )type___0);
  tmp___6 = oid_to_hex((struct object_id  const  *)oid);
  strbuf_addf(& line___0, (char const   *)"%s %s %lu\n", tmp___6, tmp___5, size);
  cat_blob_write((char const   *)line___0.buf, line___0.len);
  strbuf_release(& line___0);
  cat_blob_write((char const   *)buf___19, size);
  cat_blob_write((char const   *)"\n", 1UL);
  if (oe) {
    if (oe->pack_id == pack_id) {
      last_blob.offset = oe->idx.offset;
      strbuf_attach(& last_blob.data, (void *)buf___19, size, size);
      last_blob.depth = oe->depth;
    } else {
      free((void *)buf___19);
    }
  } else {
    free((void *)buf___19);
  }
  return;
}
}
static void parse_get_mark(char const   *p___0 )
{
  struct object_entry___0 *oe ;
  char output___4[66] ;
  uintmax_t tmp ;
  void *tmp___0 ;
  char *tmp___1 ;

  {
  if ((int const   )*p___0 != 58) {
    die((char const   *)"Not a mark: %s", p___0);
  }
  tmp = parse_mark_ref_eol(p___0);
  tmp___0 = find_mark(marks, tmp);
  oe = (struct object_entry___0 *)tmp___0;
  if (! oe) {
    die((char const   *)"Unknown mark: %s", command_buf.buf);
  }
  tmp___1 = oid_to_hex((struct object_id  const  *)(& oe->idx.oid));
  xsnprintf(output___4, sizeof(output___4), (char const   *)"%s\n", tmp___1);
  cat_blob_write((char const   *)(output___4), (unsigned long )((the_repository->hash_algo)->hexsz + 1UL));
  return;
}
}
static void parse_cat_blob(char const   *p___0 )
{
  struct object_entry___0 *oe ;
  struct object_id oid ;
  uintmax_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  if ((int const   )*p___0 == 58) {
    tmp = parse_mark_ref_eol(p___0);
    tmp___0 = find_mark(marks, tmp);
    oe = (struct object_entry___0 *)tmp___0;
    if (! oe) {
      die((char const   *)"Unknown mark: %s", command_buf.buf);
    }
    oidcpy(& oid, (struct object_id  const  *)(& oe->idx.oid));
  } else {
    tmp___1 = parse_mapped_oid_hex(p___0, & oid, & p___0);
    if (tmp___1) {
      die((char const   *)"Invalid dataref: %s", command_buf.buf);
    }
    if (*p___0) {
      die((char const   *)"Garbage after SHA1: %s", command_buf.buf);
    }
    oe = find_object(& oid);
  }
  cat_blob(oe, & oid);
  return;
}
}
static struct object_entry___0 *dereference(struct object_entry___0 *oe , struct object_id *oid )
{
  unsigned long size ;
  char *buf___19 ;
  unsigned int hexsz ;
  enum object_type type___0 ;
  int tmp ;
  char *tmp___0 ;
  void *tmp___1 ;
  enum object_type unused ;
  void *tmp___2 ;
  char *tmp___3 ;
  size_t tmp___4 ;
  size_t tmp___5 ;
  int tmp___6 ;
  size_t tmp___7 ;
  size_t tmp___8 ;
  int tmp___9 ;
  struct object_entry___0 *tmp___10 ;

  {
  buf___19 = (char *)((void *)0);
  hexsz = (unsigned int )(the_repository->hash_algo)->hexsz;
  if (! oe) {
    tmp = oid_object_info(the_repository, (struct object_id  const  *)oid, (unsigned long *)((void *)0));
    type___0 = (enum object_type )tmp;
    if ((int )type___0 < 0) {
      tmp___0 = oid_to_hex((struct object_id  const  *)oid);
      die((char const   *)"object not found: %s", tmp___0);
    }
    oe = insert_object(oid);
    oe->type = (uint32_t )type___0;
    oe->pack_id = (uint32_t )((1 << 16) - 1);
    oe->idx.offset = (off_t )1;
  }
  {
  if (oe->type == 2U) {
    goto case_2;
  }
  if (oe->type == 4U) {
    goto case_4;
  }
  if (oe->type == 1U) {
    goto case_4;
  }
  goto switch_default;
  case_2: /* CIL Label */
  return (oe);
  case_4: /* CIL Label */
  case_1: /* CIL Label */
  goto switch_break;
  switch_default: /* CIL Label */
  die((char const   *)"Not a tree-ish: %s", command_buf.buf);
  switch_break: /* CIL Label */ ;
  }
  if (oe->pack_id != (uint32_t )((1 << 16) - 1)) {
    tmp___1 = gfi_unpack_entry(oe, & size);
    buf___19 = (char *)tmp___1;
  } else {
    tmp___2 = repo_read_object_file(the_repository, (struct object_id  const  *)oid,
                                    & unused, & size);
    buf___19 = (char *)tmp___2;
  }
  if (! buf___19) {
    tmp___3 = oid_to_hex((struct object_id  const  *)oid);
    die((char const   *)"Can\'t load object %s", tmp___3);
  }
  {
  if (oe->type == 4U) {
    goto case_4___0;
  }
  if (oe->type == 1U) {
    goto case_1___0;
  }
  goto switch_break___0;
  case_4___0: /* CIL Label */
  tmp___4 = strlen((char const   *)"object ");
  if (size < (size_t )hexsz + tmp___4) {
    die((char const   *)"Invalid SHA1 in tag: %s", command_buf.buf);
  } else {
    tmp___5 = strlen((char const   *)"object ");
    tmp___6 = get_oid_hex((char const   *)(buf___19 + tmp___5), oid);
    if (tmp___6) {
      die((char const   *)"Invalid SHA1 in tag: %s", command_buf.buf);
    }
  }
  goto switch_break___0;
  case_1___0: /* CIL Label */
  tmp___7 = strlen((char const   *)"tree ");
  if (size < (size_t )hexsz + tmp___7) {
    die((char const   *)"Invalid SHA1 in commit: %s", command_buf.buf);
  } else {
    tmp___8 = strlen((char const   *)"tree ");
    tmp___9 = get_oid_hex((char const   *)(buf___19 + tmp___8), oid);
    if (tmp___9) {
      die((char const   *)"Invalid SHA1 in commit: %s", command_buf.buf);
    }
  }
  switch_break___0: /* CIL Label */ ;
  }
  free((void *)buf___19);
  tmp___10 = find_object(oid);
  return (tmp___10);
}
}
static void insert_mapped_mark(uintmax_t mark , void *object , void *cbp )
{
  struct object_id *fromoid ;
  struct object_id *tooid ;
  void *tmp ;
  int ret___67 ;
  khiter_t it ;

  {
  fromoid = (struct object_id *)object;
  tmp = find_mark((struct mark_set *)cbp, mark);
  tooid = (struct object_id *)tmp;
  it = kh_put_oid_map___122(sub_oid_map, *fromoid, & ret___67);
  if (ret___67 == 0) {
    return;
  }
  *(sub_oid_map->vals + it) = (void *)tooid;
  return;
}
}
static void build_mark_map_one(struct mark_set *from___0 , struct mark_set *to )
{


  {
  for_each_mark(from___0, (uintmax_t )0, & insert_mapped_mark, (void *)to);
  return;
}
}
static void build_mark_map(struct string_list *from___0 , struct string_list *to )
{
  struct string_list_item *fromp ;
  struct string_list_item *top ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  sub_oid_map = kh_init_oid_map();
  fromp = from___0->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (fromp) {
      if (! ((unsigned long )fromp < (unsigned long )(from___0->items + from___0->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    top = string_list_lookup(to, (char const   *)fromp->string);
    if (! fromp->util) {
      tmp = _((char const   *)"Missing from marks for submodule \'%s\'");
      die((char const   *)tmp, fromp->string);
    } else
    if (! top) {
      tmp___0 = _((char const   *)"Missing to marks for submodule \'%s\'");
      die((char const   *)tmp___0, fromp->string);
    } else
    if (! top->util) {
      tmp___0 = _((char const   *)"Missing to marks for submodule \'%s\'");
      die((char const   *)tmp___0, fromp->string);
    }
    build_mark_map_one((struct mark_set *)fromp->util, (struct mark_set *)top->util);
    fromp ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct object_entry___0 *parse_treeish_dataref(char const   **p___0 )
{
  struct object_id oid ;
  struct object_entry___0 *e ;
  uintmax_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;

  {
  if ((int const   )*(*p___0) == 58) {
    tmp = parse_mark_ref_space(p___0);
    tmp___0 = find_mark(marks, tmp);
    e = (struct object_entry___0 *)tmp___0;
    if (! e) {
      die((char const   *)"Unknown mark: %s", command_buf.buf);
    }
    oidcpy(& oid, (struct object_id  const  *)(& e->idx.oid));
  } else {
    tmp___1 = parse_mapped_oid_hex(*p___0, & oid, p___0);
    if (tmp___1) {
      die((char const   *)"Invalid dataref: %s", command_buf.buf);
    }
    e = find_object(& oid);
    tmp___2 = *p___0;
    (*p___0) ++;
    if ((int const   )*tmp___2 != 32) {
      die((char const   *)"Missing space after tree-ish: %s", command_buf.buf);
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (! e)) {
      if (! (e->type != 2U)) {
        goto while_break;
      }
    }
    e = dereference(e, & oid);
  }
  while_break: /* CIL Label */ ;
  }
  return (e);
}
}
static void print_ls(int mode___1 , unsigned char const   *hash___0 , char const   *path___6 ) ;
static struct strbuf line  =    {0UL, 0UL, strbuf_slopbuf};
static void print_ls(int mode___1 , unsigned char const   *hash___0 , char const   *path___6 )
{
  char const   *type___0 ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char *tmp___1 ;

  {
  if ((mode___1 & 0170000) == 0160000) {
    tmp___0 = commit_type;
  } else {
    if ((mode___1 & 0170000) == 0040000) {
      tmp = tree_type;
    } else {
      tmp = blob_type;
    }
    tmp___0 = tmp;
  }
  type___0 = tmp___0;
  if (! mode___1) {
    strbuf_setlen___33(& line, (size_t )0);
    strbuf_addstr(& line, (char const   *)"missing ");
    quote_c_style(path___6, & line, (FILE *)((void *)0), 0U);
    strbuf_addch(& line, '\n');
  } else {
    strbuf_setlen___33(& line, (size_t )0);
    tmp___1 = hash_to_hex(hash___0);
    strbuf_addf(& line, (char const   *)"%06o %s %s\t", mode___1 & -2049, type___0,
                tmp___1);
    quote_c_style(path___6, & line, (FILE *)((void *)0), 0U);
    strbuf_addch(& line, '\n');
  }
  cat_blob_write((char const   *)line.buf, line.len);
  return;
}
}
static struct strbuf uq___2  =    {0UL, 0UL, strbuf_slopbuf};
static void parse_ls(char const   *p___0 , struct branch___0 *b___0 )
{
  struct tree_entry *root ;
  struct tree_entry leaf ;
  struct object_entry___0 *e ;
  struct object_entry___0 *tmp ;
  int tmp___0 ;
  char const   *endp ;
  int tmp___1 ;

  {
  root = (struct tree_entry *)((void *)0);
  leaf.tree = (struct tree_content *)((void *)0);
  leaf.name = (struct atom_str *)0;
  leaf.versions[0].mode = (unsigned short)0;
  leaf.versions[0].oid.hash[0] = (unsigned char)0;
  leaf.versions[0].oid.hash[1] = (unsigned char)0;
  leaf.versions[0].oid.hash[2] = (unsigned char)0;
  leaf.versions[0].oid.hash[3] = (unsigned char)0;
  leaf.versions[0].oid.hash[4] = (unsigned char)0;
  leaf.versions[0].oid.hash[5] = (unsigned char)0;
  leaf.versions[0].oid.hash[6] = (unsigned char)0;
  leaf.versions[0].oid.hash[7] = (unsigned char)0;
  leaf.versions[0].oid.hash[8] = (unsigned char)0;
  leaf.versions[0].oid.hash[9] = (unsigned char)0;
  leaf.versions[0].oid.hash[10] = (unsigned char)0;
  leaf.versions[0].oid.hash[11] = (unsigned char)0;
  leaf.versions[0].oid.hash[12] = (unsigned char)0;
  leaf.versions[0].oid.hash[13] = (unsigned char)0;
  leaf.versions[0].oid.hash[14] = (unsigned char)0;
  leaf.versions[0].oid.hash[15] = (unsigned char)0;
  leaf.versions[0].oid.hash[16] = (unsigned char)0;
  leaf.versions[0].oid.hash[17] = (unsigned char)0;
  leaf.versions[0].oid.hash[18] = (unsigned char)0;
  leaf.versions[0].oid.hash[19] = (unsigned char)0;
  leaf.versions[0].oid.hash[20] = (unsigned char)0;
  leaf.versions[0].oid.hash[21] = (unsigned char)0;
  leaf.versions[0].oid.hash[22] = (unsigned char)0;
  leaf.versions[0].oid.hash[23] = (unsigned char)0;
  leaf.versions[0].oid.hash[24] = (unsigned char)0;
  leaf.versions[0].oid.hash[25] = (unsigned char)0;
  leaf.versions[0].oid.hash[26] = (unsigned char)0;
  leaf.versions[0].oid.hash[27] = (unsigned char)0;
  leaf.versions[0].oid.hash[28] = (unsigned char)0;
  leaf.versions[0].oid.hash[29] = (unsigned char)0;
  leaf.versions[0].oid.hash[30] = (unsigned char)0;
  leaf.versions[0].oid.hash[31] = (unsigned char)0;
  leaf.versions[0].oid.algo = 0;
  leaf.versions[1].mode = (unsigned short)0;
  leaf.versions[1].oid.hash[0] = (unsigned char)0;
  leaf.versions[1].oid.hash[1] = (unsigned char)0;
  leaf.versions[1].oid.hash[2] = (unsigned char)0;
  leaf.versions[1].oid.hash[3] = (unsigned char)0;
  leaf.versions[1].oid.hash[4] = (unsigned char)0;
  leaf.versions[1].oid.hash[5] = (unsigned char)0;
  leaf.versions[1].oid.hash[6] = (unsigned char)0;
  leaf.versions[1].oid.hash[7] = (unsigned char)0;
  leaf.versions[1].oid.hash[8] = (unsigned char)0;
  leaf.versions[1].oid.hash[9] = (unsigned char)0;
  leaf.versions[1].oid.hash[10] = (unsigned char)0;
  leaf.versions[1].oid.hash[11] = (unsigned char)0;
  leaf.versions[1].oid.hash[12] = (unsigned char)0;
  leaf.versions[1].oid.hash[13] = (unsigned char)0;
  leaf.versions[1].oid.hash[14] = (unsigned char)0;
  leaf.versions[1].oid.hash[15] = (unsigned char)0;
  leaf.versions[1].oid.hash[16] = (unsigned char)0;
  leaf.versions[1].oid.hash[17] = (unsigned char)0;
  leaf.versions[1].oid.hash[18] = (unsigned char)0;
  leaf.versions[1].oid.hash[19] = (unsigned char)0;
  leaf.versions[1].oid.hash[20] = (unsigned char)0;
  leaf.versions[1].oid.hash[21] = (unsigned char)0;
  leaf.versions[1].oid.hash[22] = (unsigned char)0;
  leaf.versions[1].oid.hash[23] = (unsigned char)0;
  leaf.versions[1].oid.hash[24] = (unsigned char)0;
  leaf.versions[1].oid.hash[25] = (unsigned char)0;
  leaf.versions[1].oid.hash[26] = (unsigned char)0;
  leaf.versions[1].oid.hash[27] = (unsigned char)0;
  leaf.versions[1].oid.hash[28] = (unsigned char)0;
  leaf.versions[1].oid.hash[29] = (unsigned char)0;
  leaf.versions[1].oid.hash[30] = (unsigned char)0;
  leaf.versions[1].oid.hash[31] = (unsigned char)0;
  leaf.versions[1].oid.algo = 0;
  if ((int const   )*p___0 == 34) {
    if (! b___0) {
      die((char const   *)"Not in a commit: %s", command_buf.buf);
    }
    root = & b___0->branch_tree;
  } else {
    tmp = parse_treeish_dataref(& p___0);
    e = tmp;
    root = new_tree_entry();
    oidcpy(& root->versions[1].oid, (struct object_id  const  *)(& e->idx.oid));
    tmp___0 = is_null_oid((struct object_id  const  *)(& root->versions[1].oid));
    if (! tmp___0) {
      root->versions[1].mode = (uint16_t )0040000;
    }
    load_tree(root);
  }
  if ((int const   )*p___0 == 34) {
    strbuf_setlen___33(& uq___2, (size_t )0);
    tmp___1 = unquote_c_style(& uq___2, p___0, & endp);
    if (tmp___1) {
      die((char const   *)"Invalid path: %s", command_buf.buf);
    }
    if (*endp) {
      die((char const   *)"Garbage after path in: %s", command_buf.buf);
    }
    p___0 = (char const   *)uq___2.buf;
  }
  tree_content_get(root, p___0, & leaf, 1);
  if (((int )leaf.versions[1].mode & 0170000) == 0040000) {
    store_tree(& leaf);
  }
  print_ls((int )leaf.versions[1].mode, (unsigned char const   *)(leaf.versions[1].oid.hash),
           p___0);
  if (leaf.tree) {
    release_tree_content_recursive(leaf.tree);
  }
  if (! b___0) {
    release_tree_entry(root);
  } else
  if ((unsigned long )root != (unsigned long )(& b___0->branch_tree)) {
    release_tree_entry(root);
  }
  return;
}
}
static void checkpoint(void)
{


  {
  checkpoint_requested = (sig_atomic_t volatile   )0;
  if (object_count) {
    cycle_packfile();
  }
  dump_branches();
  dump_tags();
  dump_marks();
  return;
}
}
static void parse_checkpoint(void)
{


  {
  checkpoint_requested = (sig_atomic_t volatile   )1;
  skip_optional_lf();
  return;
}
}
static void parse_progress(void)
{


  {
  fwrite((void const   * __restrict  )command_buf.buf, (size_t )1, command_buf.len,
         (FILE * __restrict  )stdout);
  fputc('\n', stdout);
  fflush(stdout);
  skip_optional_lf();
  return;
}
}
static void parse_alias(void)
{
  struct object_entry___0 *e ;
  struct branch___0 b___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  skip_optional_lf();
  read_next_command();
  parse_mark();
  if (! next_mark) {
    tmp = _((char const   *)"Expected \'mark\' command, got %s");
    die((char const   *)tmp, command_buf.buf);
  }
  memset((void *)(& b___0), 0, sizeof(b___0));
  tmp___1 = parse_objectish_with_prefix(& b___0, (char const   *)"to ");
  if (! tmp___1) {
    tmp___0 = _((char const   *)"Expected \'to\' command, got %s");
    die((char const   *)tmp___0, command_buf.buf);
  }
  e = find_object(& b___0.oid);
  assert((int )e);
  insert_mark(& marks, next_mark, e);
  return;
}
}
static char *make_fast_import_path(char const   *path___6 )
{
  char *tmp ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  if (! relative_marks_paths) {
    tmp = xstrdup(path___6);
    return (tmp);
  } else {
    tmp___0 = is_absolute_path(path___6);
    if (tmp___0) {
      tmp = xstrdup(path___6);
      return (tmp);
    }
  }
  tmp___1 = git_pathdup((char const   *)"info/fast-import/%s", path___6);
  return (tmp___1);
}
}
static void option_import_marks(char const   *marks___0 , int from_stream , int ignore_missing___0 )
{
  char *tmp ;

  {
  if (import_marks_file) {
    if (from_stream) {
      die((char const   *)"Only one import-marks command allowed per stream");
    }
    if (! import_marks_file_from_stream) {
      read_marks();
    }
  }
  tmp = make_fast_import_path(marks___0);
  import_marks_file = (char const   *)tmp;
  import_marks_file_from_stream = from_stream;
  import_marks_file_ignore_missing = ignore_missing___0;
  return;
}
}
static void option_date_format(char const   *fmt )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___2 = strcmp(fmt, (char const   *)"raw");
  if (tmp___2) {
    tmp___1 = strcmp(fmt, (char const   *)"raw-permissive");
    if (tmp___1) {
      tmp___0 = strcmp(fmt, (char const   *)"rfc2822");
      if (tmp___0) {
        tmp = strcmp(fmt, (char const   *)"now");
        if (tmp) {
          die((char const   *)"unknown --date-format argument %s", fmt);
        } else {
          whenspec = (whenspec_type )4;
        }
      } else {
        whenspec = (whenspec_type )3;
      }
    } else {
      whenspec = (whenspec_type )2;
    }
  } else {
    whenspec = (whenspec_type )1;
  }
  return;
}
}
static unsigned long ulong_arg(char const   *option , char const   *arg )
{
  char *endptr ;
  unsigned long rv ;
  unsigned long tmp ;
  char *tmp___0 ;

  {
  tmp = strtoul((char const   * __restrict  )arg, (char ** __restrict  )(& endptr),
                0);
  rv = tmp;
  tmp___0 = strchr(arg, '-');
  if (tmp___0) {
    die((char const   *)"%s: argument must be a non-negative integer", option);
  } else
  if ((unsigned long )endptr == (unsigned long )arg) {
    die((char const   *)"%s: argument must be a non-negative integer", option);
  } else
  if (*endptr) {
    die((char const   *)"%s: argument must be a non-negative integer", option);
  }
  return (rv);
}
}
static void option_depth___0(char const   *depth___1 )
{


  {
  max_depth = ulong_arg((char const   *)"--depth", depth___1);
  if (max_depth > (unsigned long )((1 << 13) - 1)) {
    die((char const   *)"--depth cannot exceed %u", (1 << 13) - 1);
  }
  return;
}
}
static void option_active_branches(char const   *branches )
{


  {
  max_active_branches = ulong_arg((char const   *)"--active-branches", branches);
  return;
}
}
static void option_export_marks(char const   *marks___0 )
{
  char *tmp ;

  {
  tmp = make_fast_import_path(marks___0);
  export_marks_file = (char const   *)tmp;
  return;
}
}
static void option_cat_blob_fd(char const   *fd )
{
  unsigned long n ;
  unsigned long tmp ;

  {
  tmp = ulong_arg((char const   *)"--cat-blob-fd", fd);
  n = tmp;
  if (n > 2147483647UL) {
    die((char const   *)"--cat-blob-fd cannot exceed %d", 0x7fffffff);
  }
  cat_blob_fd = (int )n;
  return;
}
}
static void option_export_pack_edges(char const   *edges )
{


  {
  if (pack_edges) {
    fclose(pack_edges);
  }
  pack_edges = xfopen(edges, (char const   *)"a");
  return;
}
}
static void option_rewrite_submodules(char const   *arg , struct string_list *list___3 )
{
  struct mark_set *ms ;
  FILE *fp ;
  char *s___1 ;
  char *tmp ;
  char *f ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  void *tmp___2 ;
  struct string_list_item *tmp___3 ;

  {
  tmp = xstrdup(arg);
  s___1 = tmp;
  tmp___0 = strchr((char const   *)s___1, ':');
  f = tmp___0;
  if (! f) {
    tmp___1 = _((char const   *)"Expected format name:filename for submodule rewrite option");
    die((char const   *)tmp___1);
  }
  *f = (char )'\000';
  f ++;
  tmp___2 = xcalloc((size_t )1, sizeof(*ms));
  ms = (struct mark_set *)tmp___2;
  fp = git_fopen((char const   *)f, (char const   *)"r");
  if (! fp) {
    die_errno((char const   *)"cannot read \'%s\'", f);
  }
  read_mark_file(& ms, fp, & insert_oid_entry);
  fclose(fp);
  tmp___3 = string_list_insert(list___3, (char const   *)s___1);
  tmp___3->util = (void *)ms;
  return;
}
}
static int parse_one_option(char const   *option )
{
  unsigned long v ;
  int tmp ;
  unsigned long v___0 ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  tmp___8 = skip_prefix(option, (char const   *)"max-pack-size=", & option);
  if (tmp___8) {
    tmp = git_parse_ulong(option, & v);
    if (! tmp) {
      return (0);
    }
    if (v < 8192UL) {
      warning((char const   *)"max-pack-size is now in bytes, assuming --max-pack-size=%lum",
              v);
      v *= 1048576UL;
    } else
    if (v < 1048576UL) {
      warning((char const   *)"minimum max-pack-size is 1 MiB");
      v = 1048576UL;
    }
    max_packsize = (off_t )v;
  } else {
    tmp___7 = skip_prefix(option, (char const   *)"big-file-threshold=", & option);
    if (tmp___7) {
      tmp___0 = git_parse_ulong(option, & v___0);
      if (! tmp___0) {
        return (0);
      }
      big_file_threshold = v___0;
    } else {
      tmp___6 = skip_prefix(option, (char const   *)"depth=", & option);
      if (tmp___6) {
        option_depth___0(option);
      } else {
        tmp___5 = skip_prefix(option, (char const   *)"active-branches=", & option);
        if (tmp___5) {
          option_active_branches(option);
        } else {
          tmp___4 = skip_prefix(option, (char const   *)"export-pack-edges=", & option);
          if (tmp___4) {
            option_export_pack_edges(option);
          } else {
            tmp___3 = strcmp(option, (char const   *)"quiet");
            if (tmp___3) {
              tmp___2 = strcmp(option, (char const   *)"stats");
              if (tmp___2) {
                tmp___1 = strcmp(option, (char const   *)"allow-unsafe-features");
                if (tmp___1) {
                  return (0);
                }
              } else {
                show_stats___1 = 1U;
              }
            } else {
              show_stats___1 = 0U;
            }
          }
        }
      }
    }
  }
  return (1);
}
}
static void check_unsafe_feature(char const   *feature , int from_stream )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if (from_stream) {
    if (! allow_unsafe_features) {
      tmp = _((char const   *)"feature \'%s\' forbidden in input without --allow-unsafe-features");
      die((char const   *)tmp, feature);
    }
  }
  return;
}
}
static int parse_one_feature(char const   *feature , int from_stream )
{
  char const   *arg ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;

  {
  tmp___13 = skip_prefix(feature, (char const   *)"date-format=", & arg);
  if (tmp___13) {
    option_date_format(arg);
  } else {
    tmp___12 = skip_prefix(feature, (char const   *)"import-marks=", & arg);
    if (tmp___12) {
      check_unsafe_feature((char const   *)"import-marks", from_stream);
      option_import_marks(arg, from_stream, 0);
    } else {
      tmp___11 = skip_prefix(feature, (char const   *)"import-marks-if-exists=", & arg);
      if (tmp___11) {
        check_unsafe_feature((char const   *)"import-marks-if-exists", from_stream);
        option_import_marks(arg, from_stream, 1);
      } else {
        tmp___10 = skip_prefix(feature, (char const   *)"export-marks=", & arg);
        if (tmp___10) {
          check_unsafe_feature(feature, from_stream);
          option_export_marks(arg);
        } else {
          tmp___9 = strcmp(feature, (char const   *)"alias");
          if (tmp___9) {
            tmp___8 = skip_prefix(feature, (char const   *)"rewrite-submodules-to=",
                                  & arg);
            if (tmp___8) {
              option_rewrite_submodules(arg, & sub_marks_to);
            } else {
              tmp___7 = skip_prefix(feature, (char const   *)"rewrite-submodules-from=",
                                    & arg);
              if (tmp___7) {
                option_rewrite_submodules(arg, & sub_marks_from);
              } else {
                tmp___6 = strcmp(feature, (char const   *)"get-mark");
                if (tmp___6) {
                  tmp___5 = strcmp(feature, (char const   *)"cat-blob");
                  if (tmp___5) {
                    tmp___4 = strcmp(feature, (char const   *)"relative-marks");
                    if (tmp___4) {
                      tmp___3 = strcmp(feature, (char const   *)"no-relative-marks");
                      if (tmp___3) {
                        tmp___2 = strcmp(feature, (char const   *)"done");
                        if (tmp___2) {
                          tmp___1 = strcmp(feature, (char const   *)"force");
                          if (tmp___1) {
                            tmp = strcmp(feature, (char const   *)"notes");
                            if (tmp) {
                              tmp___0 = strcmp(feature, (char const   *)"ls");
                              if (tmp___0) {
                                return (0);
                              }
                            }
                          } else {
                            force_update = 1;
                          }
                        } else {
                          require_explicit_termination = 1;
                        }
                      } else {
                        relative_marks_paths = 0;
                      }
                    } else {
                      relative_marks_paths = 1;
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
  return (1);
}
}
static void parse_feature(char const   *feature )
{
  int tmp ;

  {
  if (seen_data_command) {
    die((char const   *)"Got feature command \'%s\' after data command", feature);
  }
  tmp = parse_one_feature(feature, 1);
  if (tmp) {
    return;
  }
  die((char const   *)"This version of fast-import does not support feature %s.",
      feature);
}
}
static void parse_option___0(char const   *option )
{
  int tmp ;

  {
  if (seen_data_command) {
    die((char const   *)"Got option command \'%s\' after data command", option);
  }
  tmp = parse_one_option(option);
  if (tmp) {
    return;
  }
  die((char const   *)"This version of fast-import does not support option: %s", option);
}
}
static void git_pack_config(void)
{
  int indexversion_value ;
  int limit___1 ;
  unsigned long packsizelimit_value ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = git_config_get_ulong((char const   *)"pack.depth", & max_depth);
  if (! tmp) {
    if (max_depth > (unsigned long )((1 << 13) - 1)) {
      max_depth = (unsigned long )((1 << 13) - 1);
    }
  }
  tmp___0 = git_config_get_int((char const   *)"pack.indexversion", & indexversion_value);
  if (! tmp___0) {
    pack_idx_opts.version = (uint32_t )indexversion_value;
    if (pack_idx_opts.version > 2U) {
      git_die_config((char const   *)"pack.indexversion", (char const   *)"bad pack.indexversion=%u",
                     pack_idx_opts.version);
    }
  }
  tmp___1 = git_config_get_ulong((char const   *)"pack.packsizelimit", & packsizelimit_value);
  if (! tmp___1) {
    max_packsize = (off_t )packsizelimit_value;
  }
  tmp___3 = git_config_get_int((char const   *)"fastimport.unpacklimit", & limit___1);
  if (tmp___3) {
    tmp___2 = git_config_get_int((char const   *)"transfer.unpacklimit", & limit___1);
    if (! tmp___2) {
      unpack_limit___0 = limit___1;
    }
  } else {
    unpack_limit___0 = limit___1;
  }
  git_config(& git_default_config, (void *)0);
  return;
}
}
static char const   fast_import_usage[153]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'f',      (char const   )'a',      (char const   )'s',      (char const   )'t',
        (char const   )'-',      (char const   )'i',      (char const   )'m',      (char const   )'p',
        (char const   )'o',      (char const   )'r',      (char const   )'t',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'-',      (char const   )'d',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )'-',
        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )'m',
        (char const   )'a',      (char const   )'t',      (char const   )'=',      (char const   )'<',
        (char const   )'f',      (char const   )'>',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'-',      (char const   )'m',
        (char const   )'a',      (char const   )'x',      (char const   )'-',      (char const   )'p',
        (char const   )'a',      (char const   )'c',      (char const   )'k',      (char const   )'-',
        (char const   )'s',      (char const   )'i',      (char const   )'z',      (char const   )'e',
        (char const   )'=',      (char const   )'<',      (char const   )'n',      (char const   )'>',
        (char const   )']',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'b',      (char const   )'i',      (char const   )'g',
        (char const   )'-',      (char const   )'f',      (char const   )'i',      (char const   )'l',
        (char const   )'e',      (char const   )'-',      (char const   )'t',      (char const   )'h',
        (char const   )'r',      (char const   )'e',      (char const   )'s',      (char const   )'h',
        (char const   )'o',      (char const   )'l',      (char const   )'d',      (char const   )'=',
        (char const   )'<',      (char const   )'n',      (char const   )'>',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'-',
        (char const   )'d',      (char const   )'e',      (char const   )'p',      (char const   )'t',
        (char const   )'h',      (char const   )'=',      (char const   )'<',      (char const   )'n',
        (char const   )'>',      (char const   )']',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'a',      (char const   )'c',
        (char const   )'t',      (char const   )'i',      (char const   )'v',      (char const   )'e',
        (char const   )'-',      (char const   )'b',      (char const   )'r',      (char const   )'a',
        (char const   )'n',      (char const   )'c',      (char const   )'h',      (char const   )'e',
        (char const   )'s',      (char const   )'=',      (char const   )'<',      (char const   )'n',
        (char const   )'>',      (char const   )']',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'e',      (char const   )'x',
        (char const   )'p',      (char const   )'o',      (char const   )'r',      (char const   )'t',
        (char const   )'-',      (char const   )'m',      (char const   )'a',      (char const   )'r',
        (char const   )'k',      (char const   )'s',      (char const   )'=',      (char const   )'<',
        (char const   )'m',      (char const   )'a',      (char const   )'r',      (char const   )'k',
        (char const   )'s',      (char const   )'.',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )'>',      (char const   )']',
        (char const   )'\000'};
static void parse_argv(void)
{
  unsigned int i ;
  char const   *a ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  i = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (unsigned int )global_argc)) {
      goto while_break;
    }
    a = *(global_argv + i);
    if ((int const   )*a != 45) {
      goto while_break;
    } else {
      tmp = strcmp(a, (char const   *)"--");
      if (! tmp) {
        goto while_break;
      }
    }
    tmp___0 = skip_prefix(a, (char const   *)"--", & a);
    if (! tmp___0) {
      die((char const   *)"unknown option %s", a);
    }
    tmp___1 = parse_one_option(a);
    if (tmp___1) {
      goto __Cont;
    }
    tmp___2 = parse_one_feature(a, 0);
    if (tmp___2) {
      goto __Cont;
    }
    tmp___3 = skip_prefix(a, (char const   *)"cat-blob-fd=", & a);
    if (tmp___3) {
      option_cat_blob_fd(a);
      goto __Cont;
    }
    die((char const   *)"unknown option --%s", a);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (i != (unsigned int )global_argc) {
    usage(fast_import_usage);
  }
  seen_data_command = 1;
  if (import_marks_file) {
    read_marks();
  }
  build_mark_map(& sub_marks_from, & sub_marks_to);
  return;
}
}
int cmd_fast_import(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  unsigned int i ;
  int tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;
  void *tmp___3 ;
  char const   *arg ;
  int tmp___4 ;
  int tmp___5 ;
  void *tmp___6 ;
  char const   *v ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  uintmax_t total_count ;
  uintmax_t duplicate_count ;
  int tmp___23 ;

  {
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage(fast_import_usage);
    }
  }
  reset_pack_idx_option(& pack_idx_opts);
  git_pack_config();
  alloc_objects(object_entry_alloc);
  strbuf_init(& command_buf, (size_t )0);
  tmp___0 = xcalloc((size_t )atom_table_sz, sizeof(*atom_table));
  atom_table = (struct atom_str **)tmp___0;
  tmp___1 = xcalloc(branch_table_sz, sizeof(*branch_table));
  branch_table = (struct branch___0 **)tmp___1;
  tmp___2 = xcalloc((size_t )avail_tree_table_sz, sizeof(*avail_tree_table));
  avail_tree_table = (struct avail_tree_content **)tmp___2;
  tmp___3 = mem_pool_calloc(& fi_mem_pool, (size_t )1, sizeof(struct mark_set ));
  marks = (struct mark_set *)tmp___3;
  hashmap_init(& object_table, & object_entry_hashcmp, (void const   *)((void *)0),
               (size_t )0);
  i = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (unsigned int )argc)) {
      goto while_break;
    }
    arg = *(argv___0 + i);
    if ((int const   )*arg != 45) {
      goto while_break;
    } else {
      tmp___4 = strcmp(arg, (char const   *)"--");
      if (! tmp___4) {
        goto while_break;
      }
    }
    tmp___5 = strcmp(arg, (char const   *)"--allow-unsafe-features");
    if (! tmp___5) {
      allow_unsafe_features = 1;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  global_argc = argc;
  global_argv = argv___0;
  tmp___6 = mem_pool_alloc(& fi_mem_pool, (unsigned long )cmd_save * sizeof(*rc_free));
  rc_free = (struct recent_command *)tmp___6;
  i = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < cmd_save - 1U)) {
      goto while_break___0;
    }
    (rc_free + i)->next = rc_free + (i + 1U);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  (rc_free + (cmd_save - 1U))->next = (struct recent_command *)((void *)0);
  start_packfile();
  set_die_routine(& die_nicely);
  set_checkpoint_signal();
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    tmp___21 = read_next_command();
    if (! (tmp___21 != -1)) {
      goto while_break___1;
    }
    tmp___20 = strcmp((char const   *)"blob", (char const   *)command_buf.buf);
    if (tmp___20) {
      tmp___19 = skip_prefix((char const   *)command_buf.buf, (char const   *)"commit ",
                             & v);
      if (tmp___19) {
        parse_new_commit(v);
      } else {
        tmp___18 = skip_prefix((char const   *)command_buf.buf, (char const   *)"tag ",
                               & v);
        if (tmp___18) {
          parse_new_tag(v);
        } else {
          tmp___17 = skip_prefix((char const   *)command_buf.buf, (char const   *)"reset ",
                                 & v);
          if (tmp___17) {
            parse_reset_branch(v);
          } else {
            tmp___16 = skip_prefix((char const   *)command_buf.buf, (char const   *)"ls ",
                                   & v);
            if (tmp___16) {
              parse_ls(v, (struct branch___0 *)((void *)0));
            } else {
              tmp___15 = skip_prefix((char const   *)command_buf.buf, (char const   *)"cat-blob ",
                                     & v);
              if (tmp___15) {
                parse_cat_blob(v);
              } else {
                tmp___14 = skip_prefix((char const   *)command_buf.buf, (char const   *)"get-mark ",
                                       & v);
                if (tmp___14) {
                  parse_get_mark(v);
                } else {
                  tmp___13 = strcmp((char const   *)"checkpoint", (char const   *)command_buf.buf);
                  if (tmp___13) {
                    tmp___12 = strcmp((char const   *)"done", (char const   *)command_buf.buf);
                    if (tmp___12) {
                      tmp___11 = strcmp((char const   *)"alias", (char const   *)command_buf.buf);
                      if (tmp___11) {
                        tmp___10 = starts_with((char const   *)command_buf.buf, (char const   *)"progress ");
                        if (tmp___10) {
                          parse_progress();
                        } else {
                          tmp___9 = skip_prefix((char const   *)command_buf.buf, (char const   *)"feature ",
                                                & v);
                          if (tmp___9) {
                            parse_feature(v);
                          } else {
                            tmp___8 = skip_prefix((char const   *)command_buf.buf,
                                                  (char const   *)"option git ", & v);
                            if (tmp___8) {
                              parse_option___0(v);
                            } else {
                              tmp___7 = starts_with((char const   *)command_buf.buf,
                                                    (char const   *)"option ");
                              if (! tmp___7) {
                                die((char const   *)"Unsupported command: %s", command_buf.buf);
                              }
                            }
                          }
                        }
                      } else {
                        parse_alias();
                      }
                    } else {
                      goto while_break___1;
                    }
                  } else {
                    parse_checkpoint();
                  }
                }
              }
            }
          }
        }
      }
    } else {
      parse_new_blob();
    }
    if (checkpoint_requested) {
      checkpoint();
    }
  }
  while_break___1: /* CIL Label */ ;
  }
  if (! seen_data_command) {
    parse_argv();
  }
  if (require_explicit_termination) {
    tmp___22 = feof(stdin);
    if (tmp___22) {
      die((char const   *)"stream ends early");
    }
  }
  end_packfile();
  dump_branches();
  dump_tags();
  unkeep_all_packs();
  dump_marks();
  if (pack_edges) {
    fclose(pack_edges);
  }
  if (show_stats___1) {
    total_count = (uintmax_t )0;
    duplicate_count = (uintmax_t )0;
    i = 0U;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! ((unsigned long )i < sizeof(object_count_by_type) / sizeof(object_count_by_type[0]) + (sizeof(char [1]) - 1UL))) {
        goto while_break___2;
      }
      total_count += object_count_by_type[i];
      i ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    i = 0U;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! ((unsigned long )i < sizeof(duplicate_count_by_type) / sizeof(duplicate_count_by_type[0]) + (sizeof(char [1]) - 1UL))) {
        goto while_break___3;
      }
      duplicate_count += duplicate_count_by_type[i];
      i ++;
    }
    while_break___3: /* CIL Label */ ;
    }
    fprintf(stderr, (char const   *)"%s statistics:\n", *(argv___0 + 0));
    fprintf(stderr, (char const   *)"---------------------------------------------------------------------\n");
    fprintf(stderr, (char const   *)"Alloc\'d objects: %10lu\n", alloc_count);
    fprintf(stderr, (char const   *)"Total objects:   %10lu (%10lu duplicates                  )\n",
            total_count, duplicate_count);
    fprintf(stderr, (char const   *)"      blobs  :   %10lu (%10lu duplicates %10lu deltas of %10lu attempts)\n",
            object_count_by_type[3], duplicate_count_by_type[3], delta_count_by_type[3],
            delta_count_attempts_by_type[3]);
    fprintf(stderr, (char const   *)"      trees  :   %10lu (%10lu duplicates %10lu deltas of %10lu attempts)\n",
            object_count_by_type[2], duplicate_count_by_type[2], delta_count_by_type[2],
            delta_count_attempts_by_type[2]);
    fprintf(stderr, (char const   *)"      commits:   %10lu (%10lu duplicates %10lu deltas of %10lu attempts)\n",
            object_count_by_type[1], duplicate_count_by_type[1], delta_count_by_type[1],
            delta_count_attempts_by_type[1]);
    fprintf(stderr, (char const   *)"      tags   :   %10lu (%10lu duplicates %10lu deltas of %10lu attempts)\n",
            object_count_by_type[4], duplicate_count_by_type[4], delta_count_by_type[4],
            delta_count_attempts_by_type[4]);
    fprintf(stderr, (char const   *)"Total branches:  %10lu (%10lu loads     )\n",
            branch_count, branch_load_count);
    fprintf(stderr, (char const   *)"      marks:     %10lu (%10lu unique    )\n",
            (1UL << marks->shift) * 1024UL, marks_set_count);
    fprintf(stderr, (char const   *)"      atoms:     %10u\n", atom_cnt);
    fprintf(stderr, (char const   *)"Memory total:    %10lu KiB\n", ((tree_entry_allocd + fi_mem_pool.pool_alloc) + alloc_count * sizeof(struct object_entry___0 )) / 1024UL);
    fprintf(stderr, (char const   *)"       pools:    %10lu KiB\n", (tree_entry_allocd + fi_mem_pool.pool_alloc) / 1024UL);
    fprintf(stderr, (char const   *)"     objects:    %10lu KiB\n", (alloc_count * sizeof(struct object_entry___0 )) / 1024UL);
    fprintf(stderr, (char const   *)"---------------------------------------------------------------------\n");
    pack_report();
    fprintf(stderr, (char const   *)"---------------------------------------------------------------------\n");
    fprintf(stderr, (char const   *)"\n");
  }
  if (failure) {
    tmp___23 = 1;
  } else {
    tmp___23 = 0;
  }
  return (tmp___23);
}
}
static double const   __ac_HASH_UPPER___123  =    (double const   )0.77;
__inline static void kh_resize_oid_set___123(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___123(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___123 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___123 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___123(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___123(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___123(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___123(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___123(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___123(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___123 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___123 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___123(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___123(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___123(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___123(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___123(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___123(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___123 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___123 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___123(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___123(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___123(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___123(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   fetch_pack_usage[202]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'f',      (char const   )'e',      (char const   )'t',      (char const   )'c',
        (char const   )'h',      (char const   )'-',      (char const   )'p',      (char const   )'a',
        (char const   )'c',      (char const   )'k',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'a',      (char const   )'l',
        (char const   )'l',      (char const   )']',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'s',      (char const   )'t',
        (char const   )'d',      (char const   )'i',      (char const   )'n',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'-',
        (char const   )'q',      (char const   )'u',      (char const   )'i',      (char const   )'e',
        (char const   )'t',      (char const   )' ',      (char const   )'|',      (char const   )' ',
        (char const   )'-',      (char const   )'q',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'-',      (char const   )'k',
        (char const   )'e',      (char const   )'e',      (char const   )'p',      (char const   )' ',
        (char const   )'|',      (char const   )' ',      (char const   )'-',      (char const   )'k',
        (char const   )']',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'t',      (char const   )'h',      (char const   )'i',
        (char const   )'n',      (char const   )']',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'i',      (char const   )'n',
        (char const   )'c',      (char const   )'l',      (char const   )'u',      (char const   )'d',
        (char const   )'e',      (char const   )'-',      (char const   )'t',      (char const   )'a',
        (char const   )'g',      (char const   )']',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'u',      (char const   )'p',
        (char const   )'l',      (char const   )'o',      (char const   )'a',      (char const   )'d',
        (char const   )'-',      (char const   )'p',      (char const   )'a',      (char const   )'c',
        (char const   )'k',      (char const   )'=',      (char const   )'<',      (char const   )'g',
        (char const   )'i',      (char const   )'t',      (char const   )'-',      (char const   )'u',
        (char const   )'p',      (char const   )'l',      (char const   )'o',      (char const   )'a',
        (char const   )'d',      (char const   )'-',      (char const   )'p',      (char const   )'a',
        (char const   )'c',      (char const   )'k',      (char const   )'>',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'-',
        (char const   )'d',      (char const   )'e',      (char const   )'p',      (char const   )'t',
        (char const   )'h',      (char const   )'=',      (char const   )'<',      (char const   )'n',
        (char const   )'>',      (char const   )']',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'n',      (char const   )'o',
        (char const   )'-',      (char const   )'p',      (char const   )'r',      (char const   )'o',
        (char const   )'g',      (char const   )'r',      (char const   )'e',      (char const   )'s',
        (char const   )'s',      (char const   )']',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'d',      (char const   )'i',
        (char const   )'a',      (char const   )'g',      (char const   )'-',      (char const   )'u',
        (char const   )'r',      (char const   )'l',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'v',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'<',      (char const   )'h',
        (char const   )'o',      (char const   )'s',      (char const   )'t',      (char const   )'>',
        (char const   )':',      (char const   )']',      (char const   )'<',      (char const   )'d',
        (char const   )'i',      (char const   )'r',      (char const   )'e',      (char const   )'c',
        (char const   )'t',      (char const   )'o',      (char const   )'r',      (char const   )'y',
        (char const   )'>',      (char const   )' ',      (char const   )'[',      (char const   )'<',
        (char const   )'r',      (char const   )'e',      (char const   )'f',      (char const   )'s',
        (char const   )'>',      (char const   )'.',      (char const   )'.',      (char const   )'.',
        (char const   )']',      (char const   )'\000'};
static void add_sought_entry(struct ref ***sought , int *nr___0 , int *alloc___0 ,
                             char const   *name___0 )
{
  struct ref *ref ;
  struct object_id oid ;
  char const   *p___0 ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  tmp = parse_oid_hex(name___0, & oid, & p___0);
  if (tmp) {
    oidclr(& oid);
  } else
  if ((int const   )*p___0 == 32) {
    name___0 = p___0 + 1;
  } else
  if (! ((int const   )*p___0 == 0)) {
    oidclr(& oid);
  }
  ref = alloc_ref(name___0);
  oidcpy(& ref->old_oid, (struct object_id  const  *)(& oid));
  (*nr___0) ++;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*nr___0 > *alloc___0) {
      if (((*alloc___0 + 16) * 3) / 2 < *nr___0) {
        *alloc___0 = *nr___0;
      } else {
        *alloc___0 = ((*alloc___0 + 16) * 3) / 2;
      }
      tmp___0 = st_mult(sizeof(*(*sought)), (size_t )*alloc___0);
      tmp___1 = xrealloc((void *)*sought, tmp___0);
      *sought = (struct ref **)tmp___1;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  *(*sought + (*nr___0 - 1)) = ref;
  return;
}
}
int cmd_fetch_pack(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  int ret___67 ;
  struct ref *ref ;
  char const   *dest ;
  struct ref **sought ;
  int nr_sought ;
  int alloc_sought ;
  int fd[2] ;
  struct string_list pack_lockfiles ;
  struct string_list *pack_lockfiles_ptr ;
  struct child_process *conn ;
  struct fetch_pack_args args___0 ;
  struct oid_array shallow ;
  struct string_list deepen_not___0 ;
  struct packet_reader reader ;
  enum protocol_version version___0 ;
  char const   *arg ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  long tmp___11 ;
  int tmp___12 ;
  char *tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;
  char *line___0 ;
  char *tmp___27 ;
  struct strbuf line___1 ;
  int tmp___28 ;
  int flags___0 ;
  unsigned int tmp___29 ;
  int tmp___30 ;
  int i___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___31 ;
  int tmp___32 ;
  int tmp___33 ;
  char *tmp___34 ;

  {
  ref = (struct ref *)((void *)0);
  dest = (char const   *)((void *)0);
  sought = (struct ref **)((void *)0);
  nr_sought = 0;
  alloc_sought = 0;
  pack_lockfiles.items = (struct string_list_item *)0;
  pack_lockfiles.nr = 0U;
  pack_lockfiles.alloc = 0U;
  pack_lockfiles.strdup_strings = 1U;
  pack_lockfiles.cmp = (int (*)(char const   * , char const   * ))0;
  pack_lockfiles_ptr = (struct string_list *)((void *)0);
  shallow.oid = (struct object_id *)0;
  shallow.nr = 0UL;
  shallow.alloc = 0UL;
  shallow.sorted = 0;
  deepen_not___0.items = (struct string_list_item *)0;
  deepen_not___0.nr = 0U;
  deepen_not___0.alloc = 0U;
  deepen_not___0.strdup_strings = 1U;
  deepen_not___0.cmp = (int (*)(char const   * , char const   * ))0;
  fetch_if_missing = 0;
  packet_trace_identity((char const   *)"fetch-pack");
  memset((void *)(& args___0), 0, sizeof(args___0));
  args___0.uploadpack = (char const   *)"git-upload-pack";
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i < argc) {
      if (! ((int const   )*(*(argv___0 + i)) == 45)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    arg = *(argv___0 + i);
    tmp = skip_prefix(arg, (char const   *)"--upload-pack=", & arg);
    if (tmp) {
      args___0.uploadpack = arg;
      goto __Cont;
    }
    tmp___0 = skip_prefix(arg, (char const   *)"--exec=", & arg);
    if (tmp___0) {
      args___0.uploadpack = arg;
      goto __Cont;
    }
    tmp___1 = strcmp((char const   *)"--quiet", arg);
    if (tmp___1) {
      tmp___2 = strcmp((char const   *)"-q", arg);
      if (! tmp___2) {
        args___0.quiet = 1U;
        goto __Cont;
      }
    } else {
      args___0.quiet = 1U;
      goto __Cont;
    }
    tmp___3 = strcmp((char const   *)"--keep", arg);
    if (tmp___3) {
      tmp___4 = strcmp((char const   *)"-k", arg);
      if (! tmp___4) {
        args___0.lock_pack = args___0.keep_pack;
        args___0.keep_pack = 1U;
        goto __Cont;
      }
    } else {
      args___0.lock_pack = args___0.keep_pack;
      args___0.keep_pack = 1U;
      goto __Cont;
    }
    tmp___5 = strcmp((char const   *)"--thin", arg);
    if (! tmp___5) {
      args___0.use_thin_pack = 1U;
      goto __Cont;
    }
    tmp___6 = strcmp((char const   *)"--include-tag", arg);
    if (! tmp___6) {
      args___0.include_tag = 1U;
      goto __Cont;
    }
    tmp___7 = strcmp((char const   *)"--all", arg);
    if (! tmp___7) {
      args___0.fetch_all = 1U;
      goto __Cont;
    }
    tmp___8 = strcmp((char const   *)"--stdin", arg);
    if (! tmp___8) {
      args___0.stdin_refs = 1U;
      goto __Cont;
    }
    tmp___9 = strcmp((char const   *)"--diag-url", arg);
    if (! tmp___9) {
      args___0.diag_url = 1U;
      goto __Cont;
    }
    tmp___10 = strcmp((char const   *)"-v", arg);
    if (! tmp___10) {
      args___0.verbose = 1U;
      goto __Cont;
    }
    tmp___12 = skip_prefix(arg, (char const   *)"--depth=", & arg);
    if (tmp___12) {
      tmp___11 = strtol((char const   * __restrict  )arg, (char ** __restrict  )((void *)0),
                        0);
      args___0.depth = (int )tmp___11;
      goto __Cont;
    }
    tmp___14 = skip_prefix(arg, (char const   *)"--shallow-since=", & arg);
    if (tmp___14) {
      tmp___13 = xstrdup(arg);
      args___0.deepen_since = (char const   *)tmp___13;
      goto __Cont;
    }
    tmp___15 = skip_prefix(arg, (char const   *)"--shallow-exclude=", & arg);
    if (tmp___15) {
      string_list_append(& deepen_not___0, arg);
      goto __Cont;
    }
    tmp___16 = strcmp(arg, (char const   *)"--deepen-relative");
    if (! tmp___16) {
      args___0.deepen_relative = 1U;
      goto __Cont;
    }
    tmp___17 = strcmp((char const   *)"--no-progress", arg);
    if (! tmp___17) {
      args___0.no_progress = 1U;
      goto __Cont;
    }
    tmp___18 = strcmp((char const   *)"--stateless-rpc", arg);
    if (! tmp___18) {
      args___0.stateless_rpc = 1U;
      goto __Cont;
    }
    tmp___19 = strcmp((char const   *)"--lock-pack", arg);
    if (! tmp___19) {
      args___0.lock_pack = 1U;
      pack_lockfiles_ptr = & pack_lockfiles;
      goto __Cont;
    }
    tmp___20 = strcmp((char const   *)"--check-self-contained-and-connected", arg);
    if (! tmp___20) {
      args___0.check_self_contained_and_connected = 1U;
      goto __Cont;
    }
    tmp___21 = strcmp((char const   *)"--cloning", arg);
    if (! tmp___21) {
      args___0.cloning = 1U;
      goto __Cont;
    }
    tmp___22 = strcmp((char const   *)"--update-shallow", arg);
    if (! tmp___22) {
      args___0.update_shallow = 1U;
      goto __Cont;
    }
    tmp___23 = strcmp((char const   *)"--from-promisor", arg);
    if (! tmp___23) {
      args___0.from_promisor = 1U;
      goto __Cont;
    }
    tmp___24 = skip_prefix(arg, (char const   *)"--filter=", & arg);
    if (tmp___24) {
      parse_list_objects_filter(& args___0.filter_options, arg);
      goto __Cont;
    }
    tmp___25 = strcmp(arg, (char const   *)"--no-filter");
    if (! tmp___25) {
      list_objects_filter_set_no_filter(& args___0.filter_options);
      goto __Cont;
    }
    usage(fetch_pack_usage);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (deepen_not___0.nr) {
    args___0.deepen_not = (struct string_list  const  *)(& deepen_not___0);
  }
  if (i < argc) {
    tmp___26 = i;
    i ++;
    dest = *(argv___0 + tmp___26);
  } else {
    usage(fetch_pack_usage);
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break___0;
    }
    add_sought_entry(& sought, & nr_sought, & alloc_sought, *(argv___0 + i));
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (args___0.stdin_refs) {
    if (args___0.stateless_rpc) {
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        tmp___27 = packet_read_line(0, (int *)((void *)0));
        line___0 = tmp___27;
        if (! line___0) {
          goto while_break___1;
        }
        add_sought_entry(& sought, & nr_sought, & alloc_sought, (char const   *)line___0);
      }
      while_break___1: /* CIL Label */ ;
      }
    } else {
      line___1.alloc = 0UL;
      line___1.len = 0UL;
      line___1.buf = strbuf_slopbuf;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        tmp___28 = strbuf_getline_lf(& line___1, stdin);
        if (! (tmp___28 != -1)) {
          goto while_break___2;
        }
        add_sought_entry(& sought, & nr_sought, & alloc_sought, (char const   *)line___1.buf);
      }
      while_break___2: /* CIL Label */ ;
      }
      strbuf_release(& line___1);
    }
  }
  if (args___0.stateless_rpc) {
    conn = (struct child_process *)((void *)0);
    fd[0] = 0;
    fd[1] = 1;
  } else {
    if (args___0.verbose) {
      tmp___29 = 1u;
    } else {
      tmp___29 = 0U;
    }
    flags___0 = (int )tmp___29;
    if (args___0.diag_url) {
      flags___0 = (int )((unsigned int )flags___0 | (1u << 1));
    }
    conn = git_connect((int *)(fd), dest, args___0.uploadpack, flags___0);
    if (! conn) {
      if (args___0.diag_url) {
        tmp___30 = 0;
      } else {
        tmp___30 = 1;
      }
      return (tmp___30);
    }
  }
  packet_reader_init(& reader, fd[0], (char *)((void *)0), (size_t )0, (int )(((1u << 1) | 1u) | (1u << 2)));
  version___0 = discover_version(& reader);
  {
  if ((int )version___0 == 2) {
    goto case_2;
  }
  if ((int )version___0 == 0) {
    goto case_0;
  }
  if ((int )version___0 == 1) {
    goto case_0;
  }
  if ((int )version___0 == -1) {
    goto case_neg_1;
  }
  goto switch_break;
  case_2: /* CIL Label */
  get_remote_refs(fd[1], & reader, & ref, 0, (struct transport_ls_refs_options *)((void *)0),
                  (struct string_list  const  *)((void *)0), (int )args___0.stateless_rpc);
  goto switch_break;
  case_0: /* CIL Label */
  case_1: /* CIL Label */
  get_remote_heads(& reader, & ref, 0U, (struct oid_array *)((void *)0), & shallow);
  goto switch_break;
  case_neg_1: /* CIL Label */
  BUG_fl((char const   *)"builtin/fetch-pack.c", 231, (char const   *)"unknown protocol version");
  switch_break: /* CIL Label */ ;
  }
  ref = fetch_pack(& args___0, fd, (struct ref  const  *)ref, sought, nr_sought, & shallow,
                   pack_lockfiles_ptr, version___0);
  if (pack_lockfiles.nr) {
    printf((char const   *)"lock %s\n", (pack_lockfiles.items + 0)->string);
    fflush(stdout);
    i___0 = 1;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! ((unsigned int )i___0 < pack_lockfiles.nr)) {
        goto while_break___3;
      }
      tmp___31 = _((char const   *)"Lockfile created but not reported: %s");
      warning((char const   *)tmp___31, (pack_lockfiles.items + i___0)->string);
      i___0 ++;
    }
    while_break___3: /* CIL Label */ ;
    }
  }
  if (args___0.check_self_contained_and_connected) {
    if (args___0.self_contained_and_connected) {
      printf((char const   *)"connectivity-ok\n");
      fflush(stdout);
    }
  }
  close(fd[0]);
  close(fd[1]);
  tmp___32 = finish_connect(conn);
  if (tmp___32) {
    return (1);
  }
  ret___67 = ! ref;
  tmp___33 = report_unmatched_refs(sought, nr_sought);
  ret___67 |= tmp___33;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! ref) {
      goto while_break___4;
    }
    tmp___34 = oid_to_hex((struct object_id  const  *)(& ref->old_oid));
    printf((char const   *)"%s %s\n", tmp___34, ref->name);
    ref = ref->next;
  }
  while_break___4: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static double const   __ac_HASH_UPPER___124  =    (double const   )0.77;
__inline static void kh_resize_oid_set___124(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___124(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___124 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___124 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___124(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___124(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___124(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___124(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___124(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___124(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___124 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___124 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___124(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___124(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___124(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___124(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___124(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___124(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___124 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___124 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___124(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___124(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___124(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___124(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___91(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___91(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___124 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___124 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___91(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___91(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___91(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___91(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_contains_cache_with_stride___20(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___20(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___20(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___20(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___20(s___1, 1U);
  return;
}
}
static void clear_contains_cache___20(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___20(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___20(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___20(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___20(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___20(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___20(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___20(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___20(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___20(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___20(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___20(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___20(s___1, c___0, 0);
  return (tmp);
}
}
static char const   *builtin_fetch_usage[5]  = {      (char const   *)"git fetch [<options>] [<repository> [<refspec>...]]",      (char const   *)"git fetch [<options>] <group>",      (char const   *)"git fetch --multiple [<options>] [(<repository> | <group>)...]",      (char const   *)"git fetch --all [<options>]",
        (char const   *)((void *)0)};
static int fetch_prune_config  =    -1;
static int fetch_show_forced_updates  =    1;
static uint64_t forced_updates_ms  =    (uint64_t )0;
static int prefetch  =    0;
static int prune  =    -1;
static int fetch_prune_tags_config  =    -1;
static int prune_tags  =    -1;
static int all___1  ;
static int append  ;
static int dry_run___0  ;
static int force___0  ;
static int keep  ;
static int multiple  ;
static int update_head_ok  ;
static int write_fetch_head  =    1;
static int verbosity___0  ;
static int deepen_relative  ;
static int set_upstream  ;
static int progress___1  =    -1;
static int enable_auto_gc  =    1;
static int tags___1  =    1;
static int unshallow  ;
static int update_shallow___0  ;
static int deepen___1  ;
static int max_jobs___0  =    -1;
static int submodule_fetch_jobs_config  =    -1;
static int fetch_parallel_config  =    1;
static int atomic_fetch  ;
static enum transport_family family___0  ;
static char const   *depth  ;
static char const   *deepen_since  ;
static char const   *upload_pack___1  ;
static struct string_list deepen_not  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static struct strbuf default_rla  =    {0UL, 0UL, strbuf_slopbuf};
static struct transport *gtransport  ;
static struct transport *gsecondary  ;
static char const   *submodule_prefix  =    (char const   *)"";
static int recurse_submodules  =    1;
static int recurse_submodules_default  =    -1;
static int shown_url  =    0;
static struct refspec refmap  =    {(struct refspec_item *)0, 0, 0, (char const   **)0, 0, 0, 1};
static struct list_objects_filter_options filter_options___0  ;
static struct string_list server_options___0  =    {(struct string_list_item *)0, 0U, 0U, 1U, (int (*)(char const   * , char const   * ))0};
static struct string_list negotiation_tip  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static int fetch_write_commit_graph  =    -1;
static int stdin_refspecs  =    0;
static int negotiate_only  ;
static int git_fetch_config(char const   *k , char const   *v , void *cb )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int r ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  tmp = strcmp(k, (char const   *)"fetch.prune");
  if (! tmp) {
    fetch_prune_config = git_config_bool(k, v);
    return (0);
  }
  tmp___0 = strcmp(k, (char const   *)"fetch.prunetags");
  if (! tmp___0) {
    fetch_prune_tags_config = git_config_bool(k, v);
    return (0);
  }
  tmp___1 = strcmp(k, (char const   *)"fetch.showforcedupdates");
  if (! tmp___1) {
    fetch_show_forced_updates = git_config_bool(k, v);
    return (0);
  }
  tmp___5 = strcmp(k, (char const   *)"submodule.recurse");
  if (! tmp___5) {
    tmp___4 = git_config_bool(k, v);
    if (tmp___4) {
      tmp___3 = 2;
    } else {
      tmp___3 = 0;
    }
    r = tmp___3;
    recurse_submodules = r;
  }
  tmp___7 = strcmp(k, (char const   *)"submodule.fetchjobs");
  if (tmp___7) {
    tmp___6 = strcmp(k, (char const   *)"fetch.recursesubmodules");
    if (! tmp___6) {
      recurse_submodules = parse_fetch_recurse_submodules_arg(k, v);
      return (0);
    }
  } else {
    submodule_fetch_jobs_config = parse_submodule_fetchjobs(k, v);
    return (0);
  }
  tmp___9 = strcmp(k, (char const   *)"fetch.parallel");
  if (! tmp___9) {
    fetch_parallel_config = git_config_int(k, v);
    if (fetch_parallel_config < 0) {
      tmp___8 = _((char const   *)"fetch.parallel cannot be negative");
      die((char const   *)tmp___8);
    }
    return (0);
  }
  tmp___10 = git_default_config(k, v, cb);
  return (tmp___10);
}
}
static int parse_refmap_arg(struct option  const  *opt___0 , char const   *arg , int unset )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/fetch.c", 132, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  refspec_append(& refmap, arg);
  return (0);
}
}
static struct option builtin_fetch_options[42]  =
  {      {(enum parse_opt_type )12, 'v', (char const   *)"verbose", (void *)(& verbosity___0),
      (char const   *)((void *)0), (char const   *)"be more verbose", (enum parse_opt_option_flags )2,
      & parse_opt_verbosity_cb, (intptr_t )0, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 'q', (char const   *)"quiet", (void *)(& verbosity___0),
      (char const   *)((void *)0), (char const   *)"be more quiet", (enum parse_opt_option_flags )2,
      & parse_opt_verbosity_cb, (intptr_t )0, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"all", (void *)(& all___1), (char const   *)((void *)0),
      (char const   *)"fetch from all remotes", (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0),
      (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"set-upstream", (void *)(& set_upstream),
      (char const   *)((void *)0), (char const   *)"set upstream for git pull/fetch",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'a', (char const   *)"append", (void *)(& append),
      (char const   *)((void *)0), (char const   *)"append to .git/FETCH_HEAD instead of overwriting",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"atomic", (void *)(& atomic_fetch),
      (char const   *)((void *)0), (char const   *)"use atomic transaction to update references",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 0, (char const   *)"upload-pack", (void *)(& upload_pack___1),
      (char const   *)"path", (char const   *)"path to upload pack on remote end",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )7, 'f', (char const   *)"force", (void *)(& force___0),
      (char const   *)((void *)0), (char const   *)"force overwrite of local reference",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )8, 'm', (char const   *)"multiple", (void *)(& multiple),
      (char const   *)((void *)0), (char const   *)"fetch from multiple remotes",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 't', (char const   *)"tags", (void *)(& tags___1),
      (char const   *)((void *)0), (char const   *)"fetch all tags and associated objects",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )2,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'n', (char const   *)((void *)0), (void *)(& tags___1),
      (char const   *)((void *)0), (char const   *)"do not fetch all tags (--no-tags)",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )0,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )10, 'j', (char const   *)"jobs", (void *)(& max_jobs___0),
      (char const   *)"n", (char const   *)"number of submodules fetched in parallel",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )8, 0, (char const   *)"prefetch", (void *)(& prefetch),
      (char const   *)((void *)0), (char const   *)"modify the refspec to place all refs within refs/prefetch/",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'p', (char const   *)"prune", (void *)(& prune), (char const   *)((void *)0),
      (char const   *)"prune remote-tracking branches no longer on remote", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'P', (char const   *)"prune-tags", (void *)(& prune_tags),
      (char const   *)((void *)0), (char const   *)"prune local tags no longer on remote and clobber changed tags",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"recurse-submodules", (void *)(& recurse_submodules),
      (char const   *)"on-demand", (char const   *)"control recursive fetching of submodules",
      (enum parse_opt_option_flags )1, & option_fetch_parse_recurse_submodules, 0L,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"dry-run", (void *)(& dry_run___0),
      (char const   *)((void *)0), (char const   *)"dry run", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"write-fetch-head", (void *)(& write_fetch_head),
      (char const   *)((void *)0), (char const   *)"write fetched references to the FETCH_HEAD file",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'k', (char const   *)"keep", (void *)(& keep), (char const   *)((void *)0),
      (char const   *)"keep downloaded pack", (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0),
      (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'u', (char const   *)"update-head-ok", (void *)(& update_head_ok),
      (char const   *)((void *)0), (char const   *)"allow updating of HEAD ref", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"progress", (void *)(& progress___1),
      (char const   *)((void *)0), (char const   *)"force progress reporting", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 0, (char const   *)"depth", (void *)(& depth), (char const   *)"depth",
      (char const   *)"deepen history of shallow clone", (enum parse_opt_option_flags )0,
      (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 0, (char const   *)"shallow-since", (void *)(& deepen_since),
      (char const   *)"time", (char const   *)"deepen history of shallow repository based on time",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"shallow-exclude", (void *)(& deepen_not),
      (char const   *)"revision", (char const   *)"deepen history of shallow clone, excluding rev",
      (enum parse_opt_option_flags )0, & parse_opt_string_list, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )10, 0, (char const   *)"deepen", (void *)(& deepen_relative),
      (char const   *)"n", (char const   *)"deepen history of shallow clone", (enum parse_opt_option_flags )0,
      (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"unshallow", (void *)(& unshallow),
      (char const   *)((void *)0), (char const   *)"convert to a complete repository",
      (enum parse_opt_option_flags )6, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 0, (char const   *)"submodule-prefix", (void *)(& submodule_prefix),
      (char const   *)"dir", (char const   *)"prepend this to submodule path output",
      (enum parse_opt_option_flags )8, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"recurse-submodules-default", (void *)(& recurse_submodules_default),
      (char const   *)"on-demand", (char const   *)"default for recursive fetching of submodules (lower priority than config files)",
      (enum parse_opt_option_flags )8, & option_fetch_parse_recurse_submodules, 0L,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"update-shallow", (void *)(& update_shallow___0),
      (char const   *)((void *)0), (char const   *)"accept refs that update .git/shallow",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"refmap", (void *)0, (char const   *)"refmap",
      (char const   *)"specify fetch refmap", (enum parse_opt_option_flags )4, & parse_refmap_arg,
      0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 'o', (char const   *)"server-option", (void *)(& server_options___0),
      (char const   *)"server-specific", (char const   *)"option to transmit", (enum parse_opt_option_flags )0,
      & parse_opt_string_list, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, '4', (char const   *)"ipv4", (void *)(& family___0),
      (char const   *)((void *)0), (char const   *)"use IPv4 addresses only", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, '6', (char const   *)"ipv6", (void *)(& family___0),
      (char const   *)((void *)0), (char const   *)"use IPv6 addresses only", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )2, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"negotiation-tip", (void *)(& negotiation_tip),
      (char const   *)"revision", (char const   *)"report that we have only objects reachable from this object",
      (enum parse_opt_option_flags )0, & parse_opt_string_list, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )8, 0, (char const   *)"negotiate-only", (void *)(& negotiate_only),
      (char const   *)((void *)0), (char const   *)"do not fetch a packfile; instead, print ancestors of negotiation tips",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"filter", (void *)(& filter_options___0),
      (char const   *)"args", (char const   *)"object filtering", (enum parse_opt_option_flags )0,
      & opt_parse_list_objects_filter, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"auto-maintenance", (void *)(& enable_auto_gc),
      (char const   *)((void *)0), (char const   *)"run \'maintenance --auto\' after fetching",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"auto-gc", (void *)(& enable_auto_gc),
      (char const   *)((void *)0), (char const   *)"run \'maintenance --auto\' after fetching",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"show-forced-updates", (void *)(& fetch_show_forced_updates),
      (char const   *)((void *)0), (char const   *)"check for forced-updates on all updated branches",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"write-commit-graph", (void *)(& fetch_write_commit_graph),
      (char const   *)((void *)0), (char const   *)"write the commit-graph after fetching",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"stdin", (void *)(& stdin_refspecs),
      (char const   *)((void *)0), (char const   *)"accept refspecs from stdin", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static void unlock_pack(unsigned int flags___0 )
{


  {
  if (gtransport) {
    transport_unlock_pack(gtransport, flags___0);
  }
  if (gsecondary) {
    transport_unlock_pack(gsecondary, flags___0);
  }
  return;
}
}
static void unlock_pack_atexit(void)
{


  {
  unlock_pack(0U);
  return;
}
}
static void unlock_pack_on_signal(int signo )
{


  {
  unlock_pack(1U);
  sigchain_pop(signo);
  raise(signo);
  return;
}
}
static void add_merge_config(struct ref **head___1 , struct ref  const  *remote_refs ,
                             struct branch *branch___0 , struct ref ***tail )
{
  int i ;
  struct ref *rm___0 ;
  struct ref **old_tail ;
  struct refspec_item refspec ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < branch___0->merge_nr)) {
      goto while_break;
    }
    old_tail = *tail;
    rm___0 = *head___1;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! rm___0) {
        goto while_break___0;
      }
      tmp = branch_merge_matches(branch___0, i, (char const   *)(rm___0->name));
      if (tmp) {
        rm___0->fetch_head_status = (enum fetch_head_status )-1;
        goto while_break___0;
      }
      rm___0 = rm___0->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (rm___0) {
      goto __Cont;
    }
    memset((void *)(& refspec), 0, sizeof(refspec));
    refspec.src = (*(branch___0->merge + i))->src;
    get_fetch_map(remote_refs, (struct refspec_item  const  *)(& refspec), tail, 1);
    rm___0 = *old_tail;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! rm___0) {
        goto while_break___1;
      }
      rm___0->fetch_head_status = (enum fetch_head_status )-1;
      rm___0 = rm___0->next;
    }
    while_break___1: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void create_fetch_oidset(struct ref **head___1 , struct oidset *out )
{
  struct ref *rm___0 ;

  {
  rm___0 = *head___1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! rm___0) {
      goto while_break;
    }
    oidset_insert(out, (struct object_id  const  *)(& rm___0->old_oid));
    rm___0 = rm___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int refname_hash_entry_cmp(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *eptr ,
                                  struct hashmap_entry  const  *entry_or_key , void const   *keydata )
{
  struct refname_hash_entry  const  *e1 ;
  struct refname_hash_entry  const  *e2 ;
  void *tmp ;
  int tmp___0 ;

  {
  e1 = (struct refname_hash_entry  const  *)((char *)eptr - (unsigned long )(& ((struct refname_hash_entry  const  *)0)->ent));
  e2 = (struct refname_hash_entry  const  *)((char *)entry_or_key - (unsigned long )(& ((struct refname_hash_entry  const  *)0)->ent));
  if (keydata) {
    tmp = (void *)keydata;
  } else {
    tmp = (void *)(e2->refname);
  }
  tmp___0 = strcmp((char const   *)(e1->refname), (char const   *)tmp);
  return (tmp___0);
}
}
static struct refname_hash_entry *refname_hash_add(struct hashmap *map___0 , char const   *refname ,
                                                   struct object_id  const  *oid )
{
  struct refname_hash_entry *ent ;
  size_t len___0 ;
  size_t tmp ;
  size_t flex_array_len_ ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  unsigned int tmp___3 ;

  {
  tmp = strlen(refname);
  len___0 = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    flex_array_len_ = len___0;
    tmp___0 = st_add(sizeof(*ent), flex_array_len_);
    tmp___1 = st_add(tmp___0, (size_t )1);
    tmp___2 = xcalloc((size_t )1, tmp___1);
    ent = (struct refname_hash_entry *)tmp___2;
    memcpy((void *)(ent->refname), (void const   *)refname, flex_array_len_);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___3 = strhash(refname);
  hashmap_entry_init(& ent->ent, tmp___3);
  oidcpy(& ent->oid, oid);
  hashmap_add(map___0, & ent->ent);
  return (ent);
}
}
static int add_one_refname(char const   *refname , struct object_id  const  *oid ,
                           int flag , void *cbdata )
{
  struct hashmap *refname_map ;

  {
  refname_map = (struct hashmap *)cbdata;
  refname_hash_add(refname_map, refname, oid);
  return (0);
}
}
static void refname_hash_init(struct hashmap *map___0 )
{


  {
  hashmap_init(map___0, & refname_hash_entry_cmp, (void const   *)((void *)0), (size_t )0);
  return;
}
}
static int refname_hash_exists(struct hashmap *map___0 , char const   *refname )
{
  unsigned int tmp ;
  struct hashmap_entry *tmp___0 ;
  int tmp___1 ;

  {
  tmp = strhash(refname);
  tmp___0 = hashmap_get_from_hash((struct hashmap  const  *)map___0, tmp, (void const   *)refname);
  if (tmp___0) {
    tmp___1 = 1;
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static void clear_item(struct refname_hash_entry *item___0 )
{


  {
  item___0->ignore = 1;
  return;
}
}
static void find_non_local_tags(struct ref  const  *refs___0 , struct ref **head___1 ,
                                struct ref ***tail )
{
  struct hashmap existing_refs___0 ;
  struct hashmap remote_refs ;
  struct oidset fetch_oids ;
  struct string_list remote_refs_list ;
  struct string_list_item *remote_ref_item ;
  struct ref  const  *ref ;
  struct refname_hash_entry *item___0 ;
  int quick_flags ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  char const   *refname ;
  struct ref *rm___0 ;
  unsigned int hash___0 ;
  unsigned int tmp___11 ;
  struct hashmap_entry *tmp___12 ;
  void *tmp___13 ;

  {
  fetch_oids.set.n_buckets = (khint_t )0;
  fetch_oids.set.size = 0U;
  fetch_oids.set.n_occupied = 0U;
  fetch_oids.set.upper_bound = 0U;
  fetch_oids.set.flags = (khint32_t *)0;
  fetch_oids.set.keys = (struct object_id *)0;
  fetch_oids.set.vals = (int *)0;
  remote_refs_list.items = (struct string_list_item *)0;
  remote_refs_list.nr = 0U;
  remote_refs_list.alloc = 0U;
  remote_refs_list.strdup_strings = 0U;
  remote_refs_list.cmp = (int (*)(char const   * , char const   * ))0;
  item___0 = (struct refname_hash_entry *)((void *)0);
  quick_flags = (int )40;
  refname_hash_init(& existing_refs___0);
  refname_hash_init(& remote_refs);
  create_fetch_oidset(head___1, & fetch_oids);
  for_each_ref(& add_one_refname, (void *)(& existing_refs___0));
  ref = refs___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    tmp = starts_with((char const   *)(ref->name), (char const   *)"refs/tags/");
    if (! tmp) {
      goto __Cont;
    }
    tmp___4 = ends_with((char const   *)(ref->name), (char const   *)"^{}");
    if (tmp___4) {
      if (item___0) {
        tmp___0 = repo_has_object_file_with_flags(the_repository, (struct object_id  const  *)(& ref->old_oid),
                                                  (int )quick_flags);
        if (! tmp___0) {
          tmp___1 = oidset_contains((struct oidset  const  *)(& fetch_oids), (struct object_id  const  *)(& ref->old_oid));
          if (! tmp___1) {
            tmp___2 = repo_has_object_file_with_flags(the_repository, (struct object_id  const  *)(& item___0->oid),
                                                      (int )quick_flags);
            if (! tmp___2) {
              tmp___3 = oidset_contains((struct oidset  const  *)(& fetch_oids), (struct object_id  const  *)(& item___0->oid));
              if (! tmp___3) {
                clear_item(item___0);
              }
            }
          }
        }
      }
      item___0 = (struct refname_hash_entry *)((void *)0);
      goto __Cont;
    }
    if (item___0) {
      tmp___5 = repo_has_object_file_with_flags(the_repository, (struct object_id  const  *)(& item___0->oid),
                                                (int )quick_flags);
      if (! tmp___5) {
        tmp___6 = oidset_contains((struct oidset  const  *)(& fetch_oids), (struct object_id  const  *)(& item___0->oid));
        if (! tmp___6) {
          clear_item(item___0);
        }
      }
    }
    item___0 = (struct refname_hash_entry *)((void *)0);
    tmp___7 = refname_hash_exists(& remote_refs, (char const   *)(ref->name));
    if (tmp___7) {
      goto __Cont;
    } else {
      tmp___8 = refname_hash_exists(& existing_refs___0, (char const   *)(ref->name));
      if (tmp___8) {
        goto __Cont;
      }
    }
    item___0 = refname_hash_add(& remote_refs, (char const   *)(ref->name), (struct object_id  const  *)(& ref->old_oid));
    string_list_insert(& remote_refs_list, (char const   *)(ref->name));
    __Cont: /* CIL Label */
    ref = (struct ref  const  *)ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  hashmap_clear_(& existing_refs___0, (ssize_t )((unsigned long )(& ((struct refname_hash_entry *)0)->ent)));
  if (item___0) {
    tmp___9 = repo_has_object_file_with_flags(the_repository, (struct object_id  const  *)(& item___0->oid),
                                              (int )quick_flags);
    if (! tmp___9) {
      tmp___10 = oidset_contains((struct oidset  const  *)(& fetch_oids), (struct object_id  const  *)(& item___0->oid));
      if (! tmp___10) {
        clear_item(item___0);
      }
    }
  }
  remote_ref_item = remote_refs_list.items;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (remote_ref_item) {
      if (! ((unsigned long )remote_ref_item < (unsigned long )(remote_refs_list.items + remote_refs_list.nr))) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    refname = (char const   *)remote_ref_item->string;
    tmp___11 = strhash(refname);
    hash___0 = tmp___11;
    tmp___12 = hashmap_get_from_hash((struct hashmap  const  *)(& remote_refs), hash___0,
                                     (void const   *)refname);
    tmp___13 = container_of_or_null_offset((void *)tmp___12, (unsigned long )(& ((struct refname_hash_entry *)0)->ent));
    item___0 = (struct refname_hash_entry *)tmp___13;
    if (! item___0) {
      BUG_fl((char const   *)"builtin/fetch.c", 434, (char const   *)"unseen remote ref?");
    }
    if (item___0->ignore) {
      goto __Cont___0;
    }
    rm___0 = alloc_ref((char const   *)(item___0->refname));
    rm___0->peer_ref = alloc_ref((char const   *)(item___0->refname));
    oidcpy(& rm___0->old_oid, (struct object_id  const  *)(& item___0->oid));
    *(*tail) = rm___0;
    *tail = & rm___0->next;
    __Cont___0: /* CIL Label */
    remote_ref_item ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  hashmap_clear_(& remote_refs, (ssize_t )((unsigned long )(& ((struct refname_hash_entry *)0)->ent)));
  string_list_clear(& remote_refs_list, 0);
  oidset_clear(& fetch_oids);
  return;
}
}
static void filter_prefetch_refspec(struct refspec *rs___0 )
{
  int i ;
  struct strbuf new_dst ;
  char *old_dst ;
  char const   *sub ;
  int j ;
  int tmp ;
  int tmp___0 ;

  {
  if (! prefetch) {
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < rs___0->nr)) {
      goto while_break;
    }
    new_dst.alloc = 0UL;
    new_dst.len = 0UL;
    new_dst.buf = strbuf_slopbuf;
    sub = (char const   *)((void *)0);
    if ((rs___0->items + i)->negative) {
      goto __Cont;
    }
    if (! (rs___0->items + i)->dst) {
      goto _L;
    } else
    if ((rs___0->items + i)->src) {
      tmp = strncmp((char const   *)(rs___0->items + i)->src, (char const   *)"refs/tags/",
                    (size_t )10);
      if (! tmp) {
        _L: /* CIL Label */
        free((void *)(rs___0->items + i)->src);
        free((void *)(rs___0->items + i)->dst);
        j = i + 1;
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          if (! (j < rs___0->nr)) {
            goto while_break___0;
          }
          *(rs___0->items + (j - 1)) = *(rs___0->items + j);
          *(rs___0->raw + (j - 1)) = *(rs___0->raw + j);
          j ++;
        }
        while_break___0: /* CIL Label */ ;
        }
        (rs___0->nr) --;
        i --;
        goto __Cont;
      }
    }
    old_dst = (rs___0->items + i)->dst;
    strbuf_addstr(& new_dst, (char const   *)"refs/prefetch/");
    tmp___0 = skip_prefix((char const   *)old_dst, (char const   *)"refs/", & sub);
    if (! tmp___0) {
      sub = (char const   *)old_dst;
    }
    strbuf_addstr(& new_dst, sub);
    (rs___0->items + i)->dst = strbuf_detach(& new_dst, (size_t *)((void *)0));
    (rs___0->items + i)->force = 1U;
    free((void *)old_dst);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct ref *get_ref_map(struct remote *remote , struct ref  const  *remote_refs ,
                               struct refspec *rs___0 , int tags___2 , int *autotags )
{
  int i ;
  struct ref *rm___0 ;
  struct ref *ref_map ;
  struct ref **tail ;
  struct ref *orefs ;
  struct ref **oref_tail ;
  struct hashmap existing_refs___0 ;
  int existing_refs_populated ;
  struct refspec *fetch_refspec ;
  struct branch *branch___0 ;
  struct branch *tmp ;
  int has_merge ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const   *refname ;
  struct refname_hash_entry *peer_item ;
  unsigned int hash___0 ;
  unsigned int tmp___4 ;
  struct hashmap_entry *tmp___5 ;
  void *tmp___6 ;
  struct object_id *old_oid ;

  {
  ref_map = (struct ref *)((void *)0);
  tail = & ref_map;
  orefs = (struct ref *)((void *)0);
  oref_tail = & orefs;
  existing_refs_populated = 0;
  filter_prefetch_refspec(rs___0);
  if (remote) {
    filter_prefetch_refspec(& remote->fetch);
  }
  if (rs___0->nr) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < rs___0->nr)) {
        goto while_break;
      }
      get_fetch_map(remote_refs, (struct refspec_item  const  *)(rs___0->items + i),
                    & tail, 0);
      if ((rs___0->items + i)->dst) {
        if (*((rs___0->items + i)->dst + 0)) {
          *autotags = 1;
        }
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    rm___0 = ref_map;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! rm___0) {
        goto while_break___0;
      }
      rm___0->fetch_head_status = (enum fetch_head_status )-1;
      rm___0 = rm___0->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (refmap.nr) {
      fetch_refspec = & refmap;
    } else {
      fetch_refspec = & remote->fetch;
    }
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < fetch_refspec->nr)) {
        goto while_break___1;
      }
      get_fetch_map((struct ref  const  *)ref_map, (struct refspec_item  const  *)(fetch_refspec->items + i),
                    & oref_tail, 1);
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
  } else
  if (refmap.nr) {
    die((char const   *)"--refmap option is only meaningful with command-line refspec(s)");
  } else {
    tmp = branch_get((char const   *)((void *)0));
    branch___0 = tmp;
    tmp___0 = branch_has_merge_config(branch___0);
    has_merge = tmp___0;
    if (remote) {
      if (remote->fetch.nr) {
        goto _L___0;
      } else
      if (has_merge) {
        tmp___3 = strcmp(branch___0->remote_name, remote->name);
        if (tmp___3) {
          goto _L;
        } else {
          _L___0: /* CIL Label */
          i = 0;
          {
          while (1) {
            while_continue___2: /* CIL Label */ ;
            if (! (i < remote->fetch.nr)) {
              goto while_break___2;
            }
            get_fetch_map(remote_refs, (struct refspec_item  const  *)(remote->fetch.items + i),
                          & tail, 0);
            if ((remote->fetch.items + i)->dst) {
              if (*((remote->fetch.items + i)->dst + 0)) {
                *autotags = 1;
              }
            }
            if (! i) {
              if (! has_merge) {
                if (ref_map) {
                  if (! (remote->fetch.items + 0)->pattern) {
                    ref_map->fetch_head_status = (enum fetch_head_status )-1;
                  }
                }
              }
            }
            i ++;
          }
          while_break___2: /* CIL Label */ ;
          }
          if (has_merge) {
            tmp___1 = strcmp(branch___0->remote_name, remote->name);
            if (! tmp___1) {
              add_merge_config(& ref_map, remote_refs, branch___0, & tail);
            }
          }
        }
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (! prefetch) {
      ref_map = get_remote_ref(remote_refs, (char const   *)"HEAD");
      if (! ref_map) {
        tmp___2 = _((char const   *)"couldn\'t find remote ref HEAD");
        die((char const   *)tmp___2);
      }
      ref_map->fetch_head_status = (enum fetch_head_status )-1;
      tail = & ref_map->next;
    }
  }
  if (tags___2 == 2) {
    get_fetch_map(remote_refs, tag_refspec, & tail, 0);
  } else
  if (tags___2 == 1) {
    if (*autotags) {
      find_non_local_tags(remote_refs, & ref_map, & tail);
    }
  }
  *tail = orefs;
  rm___0 = orefs;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! rm___0) {
      goto while_break___3;
    }
    rm___0->fetch_head_status = (enum fetch_head_status )1;
    tail = & rm___0->next;
    rm___0 = rm___0->next;
  }
  while_break___3: /* CIL Label */ ;
  }
  if (rs___0->nr) {
    ref_map = apply_negative_refspecs(ref_map, rs___0);
  } else {
    ref_map = apply_negative_refspecs(ref_map, & remote->fetch);
  }
  ref_map = ref_remove_duplicates(ref_map);
  rm___0 = ref_map;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! rm___0) {
      goto while_break___4;
    }
    if (rm___0->peer_ref) {
      refname = (char const   *)((rm___0->peer_ref)->name);
      tmp___4 = strhash(refname);
      hash___0 = tmp___4;
      if (! existing_refs_populated) {
        refname_hash_init(& existing_refs___0);
        for_each_ref(& add_one_refname, (void *)(& existing_refs___0));
        existing_refs_populated = 1;
      }
      tmp___5 = hashmap_get_from_hash((struct hashmap  const  *)(& existing_refs___0),
                                      hash___0, (void const   *)refname);
      tmp___6 = container_of_or_null_offset((void *)tmp___5, (unsigned long )(& ((struct refname_hash_entry *)0)->ent));
      peer_item = (struct refname_hash_entry *)tmp___6;
      if (peer_item) {
        old_oid = & peer_item->oid;
        oidcpy(& (rm___0->peer_ref)->old_oid, (struct object_id  const  *)old_oid);
      }
    }
    rm___0 = rm___0->next;
  }
  while_break___4: /* CIL Label */ ;
  }
  if (existing_refs_populated) {
    hashmap_clear_(& existing_refs___0, (ssize_t )((unsigned long )(& ((struct refname_hash_entry *)0)->ent)));
  }
  return (ref_map);
}
}
static int s_update_ref(char const   *action , struct ref *ref , struct ref_transaction *transaction___0 ,
                        int check_old )
{
  char *msg___5 ;
  char *rla ;
  char *tmp ;
  struct ref_transaction *our_transaction ;
  struct strbuf err___4 ;
  int ret___67 ;
  struct object_id *tmp___0 ;
  int tmp___1 ;

  {
  tmp = getenv((char const   *)"GIT_REFLOG_ACTION");
  rla = tmp;
  our_transaction = (struct ref_transaction *)((void *)0);
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  if (dry_run___0) {
    return (0);
  }
  if (! rla) {
    rla = default_rla.buf;
  }
  msg___5 = xstrfmt((char const   *)"%s: %s", rla, action);
  if (! transaction___0) {
    our_transaction = ref_transaction_begin(& err___4);
    transaction___0 = our_transaction;
    if (! transaction___0) {
      ret___67 = 1;
      goto out;
    }
  }
  if (check_old) {
    tmp___0 = & ref->old_oid;
  } else {
    tmp___0 = (struct object_id *)((void *)0);
  }
  ret___67 = ref_transaction_update(transaction___0, (char const   *)(ref->name),
                                    (struct object_id  const  *)(& ref->new_oid),
                                    (struct object_id  const  *)tmp___0, 0U, (char const   *)msg___5,
                                    & err___4);
  if (ret___67) {
    ret___67 = 1;
    goto out;
  }
  if (our_transaction) {
    tmp___1 = ref_transaction_commit(our_transaction, & err___4);
    {
    if (tmp___1 == 0) {
      goto case_0;
    }
    if (tmp___1 == -1) {
      goto case_neg_1;
    }
    goto switch_default;
    case_0: /* CIL Label */
    goto switch_break;
    case_neg_1: /* CIL Label */
    ret___67 = 2;
    goto out;
    switch_default: /* CIL Label */
    ret___67 = 1;
    goto out;
    switch_break: /* CIL Label */ ;
    }
  }
  out:
  ref_transaction_free(our_transaction);
  if (ret___67) {
    error((char const   *)"%s", err___4.buf);
    const_error();
  }
  strbuf_release(& err___4);
  free((void *)msg___5);
  return (ret___67);
}
}
static int refcol_width  =    10;
static int compact_format  ;
static void adjust_refcol_width(struct ref  const  *ref )
{
  int max ;
  int rlen ;
  int llen ;
  int len___0 ;
  int tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;

  {
  if (verbosity___0 <= 0) {
    tmp = oideq((struct object_id  const  *)(& (ref->peer_ref)->old_oid), (struct object_id  const  *)(& ref->old_oid));
    if (tmp) {
      return;
    }
  }
  max = term_columns();
  tmp___0 = prettify_refname((char const   *)(ref->name));
  rlen = utf8_strwidth(tmp___0);
  tmp___1 = prettify_refname((char const   *)((ref->peer_ref)->name));
  llen = utf8_strwidth(tmp___1);
  if (compact_format) {
    llen = 0;
    max = (max * 2) / 3;
  }
  len___0 = ((21 + rlen) + 4) + llen;
  if (len___0 >= max) {
    return;
  }
  if (refcol_width < rlen) {
    refcol_width = rlen;
  }
  return;
}
}
static void prepare_format_display(struct ref *ref_map )
{
  struct ref *rm___0 ;
  char const   *format___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  format___0 = (char const   *)"full";
  if (verbosity___0 < 0) {
    return;
  }
  git_config_get_string_tmp((char const   *)"fetch.output", & format___0);
  tmp___1 = strcasecmp(format___0, (char const   *)"full");
  if (tmp___1) {
    tmp___0 = strcasecmp(format___0, (char const   *)"compact");
    if (tmp___0) {
      tmp = _((char const   *)"configuration fetch.output contains invalid value %s");
      die((char const   *)tmp, format___0);
    } else {
      compact_format = 1;
    }
  } else {
    compact_format = 0;
  }
  rm___0 = ref_map;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! rm___0) {
      goto while_break;
    }
    if ((unsigned int )rm___0->status == 8U) {
      goto __Cont;
    } else
    if (! rm___0->peer_ref) {
      goto __Cont;
    } else {
      tmp___2 = strcmp((char const   *)(rm___0->name), (char const   *)"HEAD");
      if (! tmp___2) {
        goto __Cont;
      }
    }
    adjust_refcol_width((struct ref  const  *)rm___0);
    __Cont: /* CIL Label */
    rm___0 = rm___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void print_remote_to_local(struct strbuf *display___0 , char const   *remote ,
                                  char const   *local___0 )
{


  {
  strbuf_addf(display___0, (char const   *)"%-*s -> %s", refcol_width, remote, local___0);
  return;
}
}
static int find_and_replace(struct strbuf *haystack , char const   *needle , char const   *placeholder )
{
  char const   *p___0 ;
  int plen ;
  int nlen ;
  size_t tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  size_t tmp___3 ;

  {
  p___0 = (char const   *)((void *)0);
  tmp = strlen(needle);
  nlen = (int )tmp;
  tmp___1 = ends_with((char const   *)haystack->buf, needle);
  if (tmp___1) {
    p___0 = (char const   *)((haystack->buf + haystack->len) - nlen);
  } else {
    tmp___0 = strstr((char const   *)haystack->buf, needle);
    p___0 = (char const   *)tmp___0;
  }
  if (! p___0) {
    return (0);
  }
  if ((unsigned long )p___0 > (unsigned long )haystack->buf) {
    if ((int const   )*(p___0 + -1) != 47) {
      return (0);
    }
  }
  tmp___2 = strlen(p___0);
  plen = (int )tmp___2;
  if (plen > nlen) {
    if ((int const   )*(p___0 + nlen) != 47) {
      return (0);
    }
  }
  tmp___3 = strlen(placeholder);
  strbuf_splice(haystack, (size_t )(p___0 - (char const   *)haystack->buf), (size_t )nlen,
                (void const   *)placeholder, tmp___3);
  return (1);
}
}
static void print_compact(struct strbuf *display___0 , char const   *remote , char const   *local___0 )
{
  struct strbuf r ;
  struct strbuf l ;
  int tmp ;
  int tmp___0 ;

  {
  r.alloc = 0UL;
  r.len = 0UL;
  r.buf = strbuf_slopbuf;
  l.alloc = 0UL;
  l.len = 0UL;
  l.buf = strbuf_slopbuf;
  tmp = strcmp(remote, local___0);
  if (! tmp) {
    strbuf_addf(display___0, (char const   *)"%-*s -> *", refcol_width, remote);
    return;
  }
  strbuf_addstr(& r, remote);
  strbuf_addstr(& l, local___0);
  tmp___0 = find_and_replace(& r, local___0, (char const   *)"*");
  if (! tmp___0) {
    find_and_replace(& l, remote, (char const   *)"*");
  }
  print_remote_to_local(display___0, (char const   *)r.buf, (char const   *)l.buf);
  strbuf_release(& r);
  strbuf_release(& l);
  return;
}
}
static void format_display(struct strbuf *display___0 , char code , char const   *summary ,
                           char const   *error___0 , char const   *remote , char const   *local___0 ,
                           int summary_width )
{
  int width ;
  size_t tmp ;
  int tmp___0 ;

  {
  if (verbosity___0 < 0) {
    return;
  }
  tmp = strlen(summary);
  tmp___0 = gettext_width(summary);
  width = (int )(((size_t )summary_width + tmp) - (size_t )tmp___0);
  strbuf_addf(display___0, (char const   *)"%c %-*s ", (int )code, width, summary);
  if (! compact_format) {
    print_remote_to_local(display___0, remote, local___0);
  } else {
    print_compact(display___0, remote, local___0);
  }
  if (error___0) {
    strbuf_addf(display___0, (char const   *)"  (%s)", error___0);
  }
  return;
}
}
static int update_local_ref(struct ref *ref , struct ref_transaction *transaction___0 ,
                            char const   *remote , struct ref  const  *remote_ref ,
                            struct strbuf *display___0 , int summary_width , struct worktree **worktrees )
{
  struct commit *current ;
  struct commit *updated ;
  struct worktree  const  *wt ;
  char const   *pretty_ref ;
  char const   *tmp ;
  int fast_forward___0 ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int r ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  char const   *msg___5 ;
  char const   *what ;
  int r___0 ;
  char const   *name___0 ;
  char *tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  char const __attribute__((__format_arg__(1)))  *tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  int tmp___26 ;
  uint64_t t_before ;
  uint64_t tmp___27 ;
  uint64_t tmp___28 ;
  struct strbuf quickref ;
  int r___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___29 ;
  char const __attribute__((__format_arg__(1)))  *tmp___30 ;
  int tmp___31 ;
  struct strbuf quickref___0 ;
  int r___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___32 ;
  char const __attribute__((__format_arg__(1)))  *tmp___33 ;
  char const __attribute__((__format_arg__(1)))  *tmp___34 ;
  int tmp___35 ;
  char const __attribute__((__format_arg__(1)))  *tmp___36 ;
  char const __attribute__((__format_arg__(1)))  *tmp___37 ;

  {
  current = (struct commit *)((void *)0);
  tmp = prettify_refname((char const   *)(ref->name));
  pretty_ref = tmp;
  fast_forward___0 = 0;
  tmp___2 = repo_has_object_file(the_repository, (struct object_id  const  *)(& ref->new_oid));
  if (! tmp___2) {
    tmp___0 = oid_to_hex((struct object_id  const  *)(& ref->new_oid));
    tmp___1 = _((char const   *)"object %s not found");
    die((char const   *)tmp___1, tmp___0);
  }
  tmp___4 = oideq((struct object_id  const  *)(& ref->old_oid), (struct object_id  const  *)(& ref->new_oid));
  if (tmp___4) {
    if (verbosity___0 > 0) {
      tmp___3 = _((char const   *)"[up to date]");
      format_display(display___0, (char )'=', (char const   *)tmp___3, (char const   *)((void *)0),
                     remote, pretty_ref, summary_width);
    }
    return (0);
  }
  if (! update_head_ok) {
    wt = find_shared_symref(worktrees, (char const   *)"HEAD", (char const   *)(ref->name));
    if (wt) {
      if (! wt->is_bare) {
        tmp___9 = is_null_oid((struct object_id  const  *)(& ref->old_oid));
        if (! tmp___9) {
          if (wt->is_current) {
            tmp___5 = _((char const   *)"can\'t fetch in current branch");
            tmp___7 = tmp___5;
          } else {
            tmp___6 = _((char const   *)"checked out in another worktree");
            tmp___7 = tmp___6;
          }
          tmp___8 = _((char const   *)"[rejected]");
          format_display(display___0, (char )'!', (char const   *)tmp___8, (char const   *)tmp___7,
                         remote, pretty_ref, summary_width);
          return (1);
        }
      }
    }
  }
  tmp___16 = is_null_oid((struct object_id  const  *)(& ref->old_oid));
  if (! tmp___16) {
    tmp___17 = starts_with((char const   *)(ref->name), (char const   *)"refs/tags/");
    if (tmp___17) {
      if (force___0) {
        goto _L;
      } else
      if (ref->force) {
        _L: /* CIL Label */
        r = s_update_ref((char const   *)"updating tag", ref, transaction___0, 0);
        if (r) {
          tmp___10 = _((char const   *)"unable to update local ref");
          tmp___11 = tmp___10;
        } else {
          tmp___11 = (char const __attribute__((__format_arg__(1)))  *)((void *)0);
        }
        tmp___12 = _((char const   *)"[tag update]");
        if (r) {
          tmp___13 = '!';
        } else {
          tmp___13 = 't';
        }
        format_display(display___0, (char )tmp___13, (char const   *)tmp___12, (char const   *)tmp___11,
                       remote, pretty_ref, summary_width);
        return (r);
      } else {
        tmp___14 = _((char const   *)"would clobber existing tag");
        tmp___15 = _((char const   *)"[rejected]");
        format_display(display___0, (char )'!', (char const   *)tmp___15, (char const   *)tmp___14,
                       remote, pretty_ref, summary_width);
        return (1);
      }
    }
  }
  current = lookup_commit_reference_gently(the_repository, (struct object_id  const  *)(& ref->old_oid),
                                           1);
  updated = lookup_commit_reference_gently(the_repository, (struct object_id  const  *)(& ref->new_oid),
                                           1);
  if (! current) {
    goto _L___0;
  } else
  if (! updated) {
    _L___0: /* CIL Label */
    if (remote_ref) {
      tmp___18 = (char *)(remote_ref->name);
    } else {
      tmp___18 = "";
    }
    name___0 = (char const   *)tmp___18;
    tmp___23 = starts_with(name___0, (char const   *)"refs/tags/");
    if (tmp___23) {
      msg___5 = (char const   *)"storing tag";
      tmp___19 = _((char const   *)"[new tag]");
      what = (char const   *)tmp___19;
    } else {
      tmp___22 = starts_with(name___0, (char const   *)"refs/heads/");
      if (tmp___22) {
        msg___5 = (char const   *)"storing head";
        tmp___20 = _((char const   *)"[new branch]");
        what = (char const   *)tmp___20;
      } else {
        msg___5 = (char const   *)"storing ref";
        tmp___21 = _((char const   *)"[new ref]");
        what = (char const   *)tmp___21;
      }
    }
    r___0 = s_update_ref(msg___5, ref, transaction___0, 0);
    if (r___0) {
      tmp___24 = _((char const   *)"unable to update local ref");
      tmp___25 = tmp___24;
    } else {
      tmp___25 = (char const __attribute__((__format_arg__(1)))  *)((void *)0);
    }
    if (r___0) {
      tmp___26 = '!';
    } else {
      tmp___26 = '*';
    }
    format_display(display___0, (char )tmp___26, what, (char const   *)tmp___25, remote,
                   pretty_ref, summary_width);
    return (r___0);
  }
  if (fetch_show_forced_updates) {
    tmp___27 = getnanotime();
    t_before = tmp___27;
    fast_forward___0 = repo_in_merge_bases(the_repository, current, updated);
    tmp___28 = getnanotime();
    forced_updates_ms += (tmp___28 - t_before) / 1000000UL;
  } else {
    fast_forward___0 = 1;
  }
  if (fast_forward___0) {
    quickref.alloc = 0UL;
    quickref.len = 0UL;
    quickref.buf = strbuf_slopbuf;
    strbuf_add_unique_abbrev(& quickref, (struct object_id  const  *)(& current->object.oid),
                             default_abbrev);
    strbuf_addstr(& quickref, (char const   *)"..");
    strbuf_add_unique_abbrev(& quickref, (struct object_id  const  *)(& ref->new_oid),
                             default_abbrev);
    r___1 = s_update_ref((char const   *)"fast-forward", ref, transaction___0, 1);
    if (r___1) {
      tmp___29 = _((char const   *)"unable to update local ref");
      tmp___30 = tmp___29;
    } else {
      tmp___30 = (char const __attribute__((__format_arg__(1)))  *)((void *)0);
    }
    if (r___1) {
      tmp___31 = '!';
    } else {
      tmp___31 = ' ';
    }
    format_display(display___0, (char )tmp___31, (char const   *)quickref.buf, (char const   *)tmp___30,
                   remote, pretty_ref, summary_width);
    strbuf_release(& quickref);
    return (r___1);
  } else
  if (force___0) {
    goto _L___1;
  } else
  if (ref->force) {
    _L___1: /* CIL Label */
    quickref___0.alloc = 0UL;
    quickref___0.len = 0UL;
    quickref___0.buf = strbuf_slopbuf;
    strbuf_add_unique_abbrev(& quickref___0, (struct object_id  const  *)(& current->object.oid),
                             default_abbrev);
    strbuf_addstr(& quickref___0, (char const   *)"...");
    strbuf_add_unique_abbrev(& quickref___0, (struct object_id  const  *)(& ref->new_oid),
                             default_abbrev);
    r___2 = s_update_ref((char const   *)"forced-update", ref, transaction___0, 1);
    if (r___2) {
      tmp___32 = _((char const   *)"unable to update local ref");
      tmp___34 = tmp___32;
    } else {
      tmp___33 = _((char const   *)"forced update");
      tmp___34 = tmp___33;
    }
    if (r___2) {
      tmp___35 = '!';
    } else {
      tmp___35 = '+';
    }
    format_display(display___0, (char )tmp___35, (char const   *)quickref___0.buf,
                   (char const   *)tmp___34, remote, pretty_ref, summary_width);
    strbuf_release(& quickref___0);
    return (r___2);
  } else {
    tmp___36 = _((char const   *)"non-fast-forward");
    tmp___37 = _((char const   *)"[rejected]");
    format_display(display___0, (char )'!', (char const   *)tmp___37, (char const   *)tmp___36,
                   remote, pretty_ref, summary_width);
    return (1);
  }
}
}
static struct object_id  const  *iterate_ref_map___1(void *cb_data )
{
  struct ref **rm___0 ;
  struct ref *ref ;

  {
  rm___0 = (struct ref **)cb_data;
  ref = *rm___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (ref) {
      if (! ((unsigned int )ref->status == 8U)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (! ref) {
    return ((struct object_id  const  *)((void *)0));
  }
  *rm___0 = ref->next;
  return ((struct object_id  const  *)(& ref->old_oid));
}
}
static int open_fetch_head(struct fetch_head *fetch_head )
{
  char const   *filename___0 ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  tmp = git_path_fetch_head(the_repository);
  filename___0 = tmp;
  if (write_fetch_head) {
    fetch_head->fp = git_fopen(filename___0, (char const   *)"a");
    if (! fetch_head->fp) {
      tmp___0 = _((char const   *)"cannot open \'%s\'");
      error_errno((char const   *)tmp___0, filename___0);
      tmp___1 = const_error();
      return (tmp___1);
    }
    strbuf_init(& fetch_head->buf, (size_t )0);
  } else {
    fetch_head->fp = (FILE *)((void *)0);
  }
  return (0);
}
}
static void append_fetch_head(struct fetch_head *fetch_head , struct object_id  const  *old_oid ,
                              enum fetch_head_status fetch_head_status , char const   *note ,
                              char const   *url , size_t url_len )
{
  char old_oid_hex[65] ;
  char const   *merge_status_marker ;
  size_t i ;
  char *tmp ;

  {
  if (! fetch_head->fp) {
    return;
  }
  {
  if ((int )fetch_head_status == 0) {
    goto case_0;
  }
  if ((int )fetch_head_status == -1) {
    goto case_neg_1;
  }
  goto switch_default;
  case_0: /* CIL Label */
  merge_status_marker = (char const   *)"not-for-merge";
  goto switch_break;
  case_neg_1: /* CIL Label */
  merge_status_marker = (char const   *)"";
  goto switch_break;
  switch_default: /* CIL Label */
  return;
  switch_break: /* CIL Label */ ;
  }
  tmp = oid_to_hex_r(old_oid_hex, old_oid);
  strbuf_addf(& fetch_head->buf, (char const   *)"%s\t%s\t%s", tmp, merge_status_marker,
              note);
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < url_len)) {
      goto while_break;
    }
    if (10 == (int )*(url + i)) {
      strbuf_addstr(& fetch_head->buf, (char const   *)"\\n");
    } else {
      strbuf_addch(& fetch_head->buf, (int )*(url + i));
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addch(& fetch_head->buf, '\n');
  if (! atomic_fetch) {
    strbuf_write(& fetch_head->buf, fetch_head->fp);
    strbuf_setlen___33(& fetch_head->buf, (size_t )0);
  }
  return;
}
}
static void commit_fetch_head(struct fetch_head *fetch_head )
{


  {
  if (! fetch_head->fp) {
    return;
  } else
  if (! atomic_fetch) {
    return;
  }
  strbuf_write(& fetch_head->buf, fetch_head->fp);
  return;
}
}
static void close_fetch_head(struct fetch_head *fetch_head )
{


  {
  if (! fetch_head->fp) {
    return;
  }
  fclose(fetch_head->fp);
  strbuf_release(& fetch_head->buf);
  return;
}
}
static char const   warn_show_forced_updates[191]  =
  {      (char const   )'f',      (char const   )'e',      (char const   )'t',      (char const   )'c',
        (char const   )'h',      (char const   )' ',      (char const   )'n',      (char const   )'o',
        (char const   )'r',      (char const   )'m',      (char const   )'a',      (char const   )'l',
        (char const   )'l',      (char const   )'y',      (char const   )' ',      (char const   )'i',
        (char const   )'n',      (char const   )'d',      (char const   )'i',      (char const   )'c',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )'s',
        (char const   )' ',      (char const   )'w',      (char const   )'h',      (char const   )'i',
        (char const   )'c',      (char const   )'h',      (char const   )' ',      (char const   )'b',
        (char const   )'r',      (char const   )'a',      (char const   )'n',      (char const   )'c',
        (char const   )'h',      (char const   )'e',      (char const   )'s',      (char const   )' ',
        (char const   )'h',      (char const   )'a',      (char const   )'d',      (char const   )' ',
        (char const   )'a',      (char const   )' ',      (char const   )'f',      (char const   )'o',
        (char const   )'r',      (char const   )'c',      (char const   )'e',      (char const   )'d',
        (char const   )' ',      (char const   )'u',      (char const   )'p',      (char const   )'d',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )',',
        (char const   )'\n',      (char const   )'b',      (char const   )'u',      (char const   )'t',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'a',
        (char const   )'t',      (char const   )' ',      (char const   )'c',      (char const   )'h',
        (char const   )'e',      (char const   )'c',      (char const   )'k',      (char const   )' ',
        (char const   )'h',      (char const   )'a',      (char const   )'s',      (char const   )' ',
        (char const   )'b',      (char const   )'e',      (char const   )'e',      (char const   )'n',
        (char const   )' ',      (char const   )'d',      (char const   )'i',      (char const   )'s',
        (char const   )'a',      (char const   )'b',      (char const   )'l',      (char const   )'e',
        (char const   )'d',      (char const   )';',      (char const   )' ',      (char const   )'t',
        (char const   )'o',      (char const   )' ',      (char const   )'r',      (char const   )'e',
        (char const   )'-',      (char const   )'e',      (char const   )'n',      (char const   )'a',
        (char const   )'b',      (char const   )'l',      (char const   )'e',      (char const   )',',
        (char const   )' ',      (char const   )'u',      (char const   )'s',      (char const   )'e',
        (char const   )' ',      (char const   )'\'',      (char const   )'-',      (char const   )'-',
        (char const   )'s',      (char const   )'h',      (char const   )'o',      (char const   )'w',
        (char const   )'-',      (char const   )'f',      (char const   )'o',      (char const   )'r',
        (char const   )'c',      (char const   )'e',      (char const   )'d',      (char const   )'-',
        (char const   )'u',      (char const   )'p',      (char const   )'d',      (char const   )'a',
        (char const   )'t',      (char const   )'e',      (char const   )'s',      (char const   )'\'',
        (char const   )'\n',      (char const   )'f',      (char const   )'l',      (char const   )'a',
        (char const   )'g',      (char const   )' ',      (char const   )'o',      (char const   )'r',
        (char const   )' ',      (char const   )'r',      (char const   )'u',      (char const   )'n',
        (char const   )' ',      (char const   )'\'',      (char const   )'g',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'c',      (char const   )'o',
        (char const   )'n',      (char const   )'f',      (char const   )'i',      (char const   )'g',
        (char const   )' ',      (char const   )'f',      (char const   )'e',      (char const   )'t',
        (char const   )'c',      (char const   )'h',      (char const   )'.',      (char const   )'s',
        (char const   )'h',      (char const   )'o',      (char const   )'w',      (char const   )'F',
        (char const   )'o',      (char const   )'r',      (char const   )'c',      (char const   )'e',
        (char const   )'d',      (char const   )'U',      (char const   )'p',      (char const   )'d',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )'s',
        (char const   )' ',      (char const   )'t',      (char const   )'r',      (char const   )'u',
        (char const   )'e',      (char const   )'\'',      (char const   )'\000'};
static char const   warn_time_show_forced_updates[156]  =
  {      (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'t',
        (char const   )'o',      (char const   )'o',      (char const   )'k',      (char const   )' ',
        (char const   )'%',      (char const   )'.',      (char const   )'2',      (char const   )'f',
        (char const   )' ',      (char const   )'s',      (char const   )'e',      (char const   )'c',
        (char const   )'o',      (char const   )'n',      (char const   )'d',      (char const   )'s',
        (char const   )' ',      (char const   )'t',      (char const   )'o',      (char const   )' ',
        (char const   )'c',      (char const   )'h',      (char const   )'e',      (char const   )'c',
        (char const   )'k',      (char const   )' ',      (char const   )'f',      (char const   )'o',
        (char const   )'r',      (char const   )'c',      (char const   )'e',      (char const   )'d',
        (char const   )' ',      (char const   )'u',      (char const   )'p',      (char const   )'d',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )'s',
        (char const   )';',      (char const   )' ',      (char const   )'y',      (char const   )'o',
        (char const   )'u',      (char const   )' ',      (char const   )'c',      (char const   )'a',
        (char const   )'n',      (char const   )' ',      (char const   )'u',      (char const   )'s',
        (char const   )'e',      (char const   )'\n',      (char const   )'\'',      (char const   )'-',
        (char const   )'-',      (char const   )'n',      (char const   )'o',      (char const   )'-',
        (char const   )'s',      (char const   )'h',      (char const   )'o',      (char const   )'w',
        (char const   )'-',      (char const   )'f',      (char const   )'o',      (char const   )'r',
        (char const   )'c',      (char const   )'e',      (char const   )'d',      (char const   )'-',
        (char const   )'u',      (char const   )'p',      (char const   )'d',      (char const   )'a',
        (char const   )'t',      (char const   )'e',      (char const   )'s',      (char const   )'\'',
        (char const   )' ',      (char const   )'o',      (char const   )'r',      (char const   )' ',
        (char const   )'r',      (char const   )'u',      (char const   )'n',      (char const   )' ',
        (char const   )'\'',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'n',
        (char const   )'f',      (char const   )'i',      (char const   )'g',      (char const   )' ',
        (char const   )'f',      (char const   )'e',      (char const   )'t',      (char const   )'c',
        (char const   )'h',      (char const   )'.',      (char const   )'s',      (char const   )'h',
        (char const   )'o',      (char const   )'w',      (char const   )'F',      (char const   )'o',
        (char const   )'r',      (char const   )'c',      (char const   )'e',      (char const   )'d',
        (char const   )'U',      (char const   )'p',      (char const   )'d',      (char const   )'a',
        (char const   )'t',      (char const   )'e',      (char const   )'s',      (char const   )' ',
        (char const   )'f',      (char const   )'a',      (char const   )'l',      (char const   )'s',
        (char const   )'e',      (char const   )'\'',      (char const   )'\n',      (char const   )'t',
        (char const   )'o',      (char const   )' ',      (char const   )'a',      (char const   )'v',
        (char const   )'o',      (char const   )'i',      (char const   )'d',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'i',      (char const   )'s',
        (char const   )' ',      (char const   )'c',      (char const   )'h',      (char const   )'e',
        (char const   )'c',      (char const   )'k',      (char const   )'\n',      (char const   )'\000'};
static int store_updated_refs(char const   *raw_url , char const   *remote_name___0 ,
                              int connectivity_checked , struct ref *ref_map , struct worktree **worktrees )
{
  struct fetch_head fetch_head ;
  int url_len ;
  int i ;
  int rc___0 ;
  struct strbuf note ;
  struct strbuf err___4 ;
  struct ref_transaction *transaction___0 ;
  char const   *what ;
  char const   *kind ;
  struct ref *rm___0 ;
  char *url ;
  int want_status ;
  int summary_width ;
  int tmp ;
  struct check_connected_options opt___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  struct commit *commit ;
  struct ref *ref ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  size_t tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  char const   *tmp___13 ;
  char const   *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  int tmp___19 ;

  {
  rc___0 = 0;
  note.alloc = 0UL;
  note.len = 0UL;
  note.buf = strbuf_slopbuf;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  transaction___0 = (struct ref_transaction *)((void *)0);
  tmp = transport_summary_width((struct ref  const  *)ref_map);
  summary_width = tmp;
  rc___0 = open_fetch_head(& fetch_head);
  if (rc___0) {
    return (-1);
  }
  if (raw_url) {
    url = transport_anonymize_url(raw_url);
  } else {
    url = xstrdup((char const   *)"foreign");
  }
  if (! connectivity_checked) {
    opt___0.quiet = 0;
    opt___0.shallow_file = (char const   *)0;
    opt___0.transport = (struct transport *)0;
    opt___0.err_fd = 0;
    opt___0.progress = 0;
    opt___0.env = (char const   **)0;
    opt___0.is_deepening_fetch = 0U;
    rm___0 = ref_map;
    tmp___1 = check_connected(& iterate_ref_map___1, (void *)(& rm___0), & opt___0);
    if (tmp___1) {
      tmp___0 = _((char const   *)"%s did not send all necessary objects\n");
      error((char const   *)tmp___0, url);
      rc___0 = const_error();
      goto abort;
    }
  }
  if (atomic_fetch) {
    transaction___0 = ref_transaction_begin(& err___4);
    if (! transaction___0) {
      error((char const   *)"%s", err___4.buf);
      const_error();
      goto abort;
    }
  }
  prepare_format_display(ref_map);
  want_status = -1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (want_status <= 1)) {
      goto while_break;
    }
    rm___0 = ref_map;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! rm___0) {
        goto while_break___0;
      }
      commit = (struct commit *)((void *)0);
      ref = (struct ref *)((void *)0);
      if ((unsigned int )rm___0->status == 8U) {
        if (want_status == -1) {
          if (rm___0->peer_ref) {
            tmp___2 = (rm___0->peer_ref)->name;
          } else {
            tmp___2 = rm___0->name;
          }
          tmp___3 = _((char const   *)"rejected %s because shallow roots are not allowed to be updated");
          warning((char const   *)tmp___3, tmp___2);
        }
        goto __Cont;
      }
      tmp___4 = starts_with((char const   *)(rm___0->name), (char const   *)"refs/tags/");
      if (! tmp___4) {
        commit = lookup_commit_in_graph(the_repository, (struct object_id  const  *)(& rm___0->old_oid));
      }
      if (! commit) {
        commit = lookup_commit_reference_gently(the_repository, (struct object_id  const  *)(& rm___0->old_oid),
                                                1);
        if (! commit) {
          rm___0->fetch_head_status = (enum fetch_head_status )0;
        }
      }
      if ((int )rm___0->fetch_head_status != want_status) {
        goto __Cont;
      }
      if (rm___0->peer_ref) {
        ref = alloc_ref((char const   *)((rm___0->peer_ref)->name));
        oidcpy(& ref->old_oid, (struct object_id  const  *)(& (rm___0->peer_ref)->old_oid));
        oidcpy(& ref->new_oid, (struct object_id  const  *)(& rm___0->old_oid));
        ref->force = (rm___0->peer_ref)->force;
      }
      if (recurse_submodules != 0) {
        if (! rm___0->peer_ref) {
          check_for_new_submodule_commits(& rm___0->old_oid);
        } else {
          tmp___5 = oideq((struct object_id  const  *)(& ref->old_oid), (struct object_id  const  *)(& ref->new_oid));
          if (! tmp___5) {
            check_for_new_submodule_commits(& rm___0->old_oid);
          }
        }
      }
      tmp___9 = strcmp((char const   *)(rm___0->name), (char const   *)"HEAD");
      if (tmp___9) {
        tmp___8 = skip_prefix((char const   *)(rm___0->name), (char const   *)"refs/heads/",
                              & what);
        if (tmp___8) {
          kind = (char const   *)"branch";
        } else {
          tmp___7 = skip_prefix((char const   *)(rm___0->name), (char const   *)"refs/tags/",
                                & what);
          if (tmp___7) {
            kind = (char const   *)"tag";
          } else {
            tmp___6 = skip_prefix((char const   *)(rm___0->name), (char const   *)"refs/remotes/",
                                  & what);
            if (tmp___6) {
              kind = (char const   *)"remote-tracking branch";
            } else {
              kind = (char const   *)"";
              what = (char const   *)(rm___0->name);
            }
          }
        }
      } else {
        kind = (char const   *)"";
        what = (char const   *)"";
      }
      tmp___10 = strlen((char const   *)url);
      url_len = (int )tmp___10;
      i = url_len - 1;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if ((int )*(url + i) == 47) {
          if (! (0 <= i)) {
            goto while_break___1;
          }
        } else {
          goto while_break___1;
        }
        i --;
      }
      while_break___1: /* CIL Label */ ;
      }
      url_len = i + 1;
      if (4 < i) {
        tmp___11 = strncmp((char const   *)".git", (char const   *)((url + i) - 3),
                           (size_t )4);
        if (! tmp___11) {
          url_len = i - 3;
        }
      }
      strbuf_setlen___33(& note, (size_t )0);
      if (*what) {
        if (*kind) {
          strbuf_addf(& note, (char const   *)"%s ", kind);
        }
        strbuf_addf(& note, (char const   *)"\'%s\' of ", what);
      }
      append_fetch_head(& fetch_head, (struct object_id  const  *)(& rm___0->old_oid),
                        rm___0->fetch_head_status, (char const   *)note.buf, (char const   *)url,
                        (size_t )url_len);
      strbuf_setlen___33(& note, (size_t )0);
      if (ref) {
        tmp___12 = update_local_ref(ref, transaction___0, what, (struct ref  const  *)rm___0,
                                    & note, summary_width, worktrees);
        rc___0 |= tmp___12;
        free((void *)ref);
      } else
      if (write_fetch_head) {
        goto _L;
      } else
      if (dry_run___0) {
        _L: /* CIL Label */
        if (*what) {
          tmp___13 = what;
        } else {
          tmp___13 = (char const   *)"HEAD";
        }
        if (*kind) {
          tmp___14 = kind;
        } else {
          tmp___14 = (char const   *)"branch";
        }
        format_display(& note, (char )'*', tmp___14, (char const   *)((void *)0),
                       tmp___13, (char const   *)"FETCH_HEAD", summary_width);
      }
      if (note.len) {
        if (! shown_url) {
          tmp___15 = _((char const   *)"From %.*s\n");
          fprintf(stderr, (char const   *)tmp___15, url_len, url);
          shown_url = 1;
        }
        fprintf(stderr, (char const   *)" %s\n", note.buf);
      }
      __Cont: /* CIL Label */
      rm___0 = rm___0->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    want_status ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! rc___0) {
    if (transaction___0) {
      rc___0 = ref_transaction_commit(transaction___0, & err___4);
      if (rc___0) {
        error((char const   *)"%s", err___4.buf);
        const_error();
        goto abort;
      }
    }
  }
  if (! rc___0) {
    commit_fetch_head(& fetch_head);
  }
  if (rc___0 & 2) {
    tmp___16 = _((char const   *)"some local refs could not be updated; try running\n \'git remote prune %s\' to remove any old, conflicting branches");
    error((char const   *)tmp___16, remote_name___0);
    const_error();
  }
  tmp___19 = advice_enabled((enum advice_type )7);
  if (tmp___19) {
    if (! fetch_show_forced_updates) {
      tmp___17 = _(warn_show_forced_updates);
      warning((char const   *)tmp___17);
    } else
    if (forced_updates_ms > 10000UL) {
      tmp___18 = _(warn_time_show_forced_updates);
      warning((char const   *)tmp___18, (double )forced_updates_ms / 1000.0);
    }
  }
  abort:
  strbuf_release(& note);
  strbuf_release(& err___4);
  ref_transaction_free(transaction___0);
  free((void *)url);
  close_fetch_head(& fetch_head);
  return (rc___0);
}
}
static int check_exist_and_connected(struct ref *ref_map )
{
  struct ref *rm___0 ;
  struct check_connected_options opt___0 ;
  struct ref *r ;
  int tmp ;
  int tmp___0 ;

  {
  rm___0 = ref_map;
  opt___0.quiet = 0;
  opt___0.shallow_file = (char const   *)0;
  opt___0.transport = (struct transport *)0;
  opt___0.err_fd = 0;
  opt___0.progress = 0;
  opt___0.env = (char const   **)0;
  opt___0.is_deepening_fetch = 0U;
  if (deepen___1) {
    return (-1);
  }
  r = rm___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! r) {
      goto while_break;
    }
    tmp = repo_has_object_file_with_flags(the_repository, (struct object_id  const  *)(& r->old_oid),
                                          32);
    if (! tmp) {
      return (-1);
    }
    r = r->next;
  }
  while_break: /* CIL Label */ ;
  }
  opt___0.quiet = 1;
  tmp___0 = check_connected(& iterate_ref_map___1, (void *)(& rm___0), & opt___0);
  return (tmp___0);
}
}
static int fetch_and_consume_refs(struct transport *transport , struct ref *ref_map ,
                                  struct worktree **worktrees )
{
  int connectivity_checked ;
  int ret___67 ;

  {
  connectivity_checked = 1;
  ret___67 = check_exist_and_connected(ref_map);
  if (ret___67) {
    trace2_region_enter_fl((char const   *)"builtin/fetch.c", 1322, (char const   *)"fetch",
                           (char const   *)"fetch_refs", (struct repository  const  *)the_repository);
    ret___67 = transport_fetch_refs(transport, ref_map);
    trace2_region_leave_fl((char const   *)"builtin/fetch.c", 1324, (char const   *)"fetch",
                           (char const   *)"fetch_refs", (struct repository  const  *)the_repository);
    if (ret___67) {
      goto out;
    }
    if (transport->smart_options) {
      connectivity_checked = (int )(transport->smart_options)->connectivity_checked;
    } else {
      connectivity_checked = 0;
    }
  }
  trace2_region_enter_fl((char const   *)"builtin/fetch.c", 1331, (char const   *)"fetch",
                         (char const   *)"consume_refs", (struct repository  const  *)the_repository);
  ret___67 = store_updated_refs(transport->url, (transport->remote)->name, connectivity_checked,
                                ref_map, worktrees);
  trace2_region_leave_fl((char const   *)"builtin/fetch.c", 1334, (char const   *)"fetch",
                         (char const   *)"consume_refs", (struct repository  const  *)the_repository);
  out:
  transport_unlock_pack(transport, 0U);
  return (ret___67);
}
}
static int prune_refs___0(struct refspec *rs___0 , struct ref *ref_map , char const   *raw_url )
{
  int url_len ;
  int i ;
  int result___0 ;
  struct ref *ref ;
  struct ref *stale_refs ;
  struct ref *tmp ;
  char *url ;
  int summary_width ;
  int tmp___0 ;
  char const   *dangling_msg ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  size_t tmp___4 ;
  int tmp___5 ;
  struct string_list refnames ;
  struct strbuf sb___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const   *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;

  {
  result___0 = 0;
  tmp = get_stale_heads(rs___0, ref_map);
  stale_refs = tmp;
  tmp___0 = transport_summary_width((struct ref  const  *)stale_refs);
  summary_width = tmp___0;
  if (dry_run___0) {
    tmp___1 = _((char const   *)"   (%s will become dangling)");
    tmp___3 = tmp___1;
  } else {
    tmp___2 = _((char const   *)"   (%s has become dangling)");
    tmp___3 = tmp___2;
  }
  dangling_msg = (char const   *)tmp___3;
  if (raw_url) {
    url = transport_anonymize_url(raw_url);
  } else {
    url = xstrdup((char const   *)"foreign");
  }
  tmp___4 = strlen((char const   *)url);
  url_len = (int )tmp___4;
  i = url_len - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((int )*(url + i) == 47) {
      if (! (0 <= i)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  url_len = i + 1;
  if (4 < i) {
    tmp___5 = strncmp((char const   *)".git", (char const   *)((url + i) - 3), (size_t )4);
    if (! tmp___5) {
      url_len = i - 3;
    }
  }
  if (! dry_run___0) {
    refnames.items = (struct string_list_item *)0;
    refnames.nr = 0U;
    refnames.alloc = 0U;
    refnames.strdup_strings = 0U;
    refnames.cmp = (int (*)(char const   * , char const   * ))0;
    ref = stale_refs;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ref) {
        goto while_break___0;
      }
      string_list_append(& refnames, (char const   *)(ref->name));
      ref = ref->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    result___0 = delete_refs((char const   *)"fetch: prune", & refnames, 0U);
    string_list_clear(& refnames, 0);
  }
  if (verbosity___0 >= 0) {
    ref = stale_refs;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ref) {
        goto while_break___1;
      }
      sb___6.alloc = 0UL;
      sb___6.len = 0UL;
      sb___6.buf = strbuf_slopbuf;
      if (! shown_url) {
        tmp___6 = _((char const   *)"From %.*s\n");
        fprintf(stderr, (char const   *)tmp___6, url_len, url);
        shown_url = 1;
      }
      tmp___7 = prettify_refname((char const   *)(ref->name));
      tmp___8 = _((char const   *)"(none)");
      tmp___9 = _((char const   *)"[deleted]");
      format_display(& sb___6, (char )'-', (char const   *)tmp___9, (char const   *)((void *)0),
                     (char const   *)tmp___8, tmp___7, summary_width);
      fprintf(stderr, (char const   *)" %s\n", sb___6.buf);
      strbuf_release(& sb___6);
      warn_dangling_symref(stderr, dangling_msg, (char const   *)(ref->name));
      ref = ref->next;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  free((void *)url);
  free_refs(stale_refs);
  return (result___0);
}
}
static void check_not_current_branch(struct ref *ref_map , struct worktree **worktrees )
{
  struct worktree  const  *wt ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref_map) {
      goto while_break;
    }
    if (ref_map->peer_ref) {
      wt = find_shared_symref(worktrees, (char const   *)"HEAD", (char const   *)((ref_map->peer_ref)->name));
      if (wt) {
        if (! wt->is_bare) {
          tmp = _((char const   *)"refusing to fetch into branch \'%s\' checked out at \'%s\'");
          die((char const   *)tmp, (ref_map->peer_ref)->name, wt->path);
        }
      }
    }
    ref_map = ref_map->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int truncate_fetch_head(void)
{
  char const   *filename___0 ;
  char const   *tmp ;
  FILE *fp ;
  FILE *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  tmp = git_path_fetch_head(the_repository);
  filename___0 = tmp;
  tmp___0 = fopen_for_writing(filename___0);
  fp = tmp___0;
  if (! fp) {
    tmp___1 = _((char const   *)"cannot open \'%s\'");
    error_errno((char const   *)tmp___1, filename___0);
    tmp___2 = const_error();
    return (tmp___2);
  }
  fclose(fp);
  return (0);
}
}
static void set_option(struct transport *transport , char const   *name___0 , char const   *value )
{
  int r ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  tmp = transport_set_option(transport, name___0, value);
  r = tmp;
  if (r < 0) {
    tmp___0 = _((char const   *)"option \"%s\" value \"%s\" is not valid for %s");
    die((char const   *)tmp___0, name___0, value, transport->url);
  }
  if (r > 0) {
    tmp___1 = _((char const   *)"option \"%s\" is ignored for %s\n");
    warning((char const   *)tmp___1, name___0, transport->url);
  }
  return;
}
}
static int add_oid(char const   *refname , struct object_id  const  *oid , int flags___0 ,
                   void *cb_data )
{
  struct oid_array *oids ;

  {
  oids = (struct oid_array *)cb_data;
  oid_array_append(oids, oid);
  return (0);
}
}
static void add_negotiation_tips(struct git_transport_options *smart_options )
{
  struct oid_array *oids ;
  void *tmp ;
  int i ;
  char const   *s___1 ;
  int old_nr ;
  struct object_id oid ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const   *tmp___4 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*oids));
  oids = (struct oid_array *)tmp;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < negotiation_tip.nr)) {
      goto while_break;
    }
    s___1 = (char const   *)(negotiation_tip.items + i)->string;
    tmp___4 = has_glob_specials(s___1);
    if (! tmp___4) {
      tmp___1 = repo_get_oid(the_repository, s___1, & oid);
      if (tmp___1) {
        tmp___0 = _((char const   *)"%s is not a valid object");
        die((char const   *)tmp___0, s___1);
      }
      tmp___3 = has_object(the_repository, (struct object_id  const  *)(& oid), 0U);
      if (! tmp___3) {
        tmp___2 = _((char const   *)"the object %s does not exist");
        die((char const   *)tmp___2, s___1);
      }
      oid_array_append(oids, (struct object_id  const  *)(& oid));
      goto __Cont;
    }
    old_nr = (int )oids->nr;
    for_each_glob_ref(& add_oid, s___1, (void *)oids);
    if ((size_t )old_nr == oids->nr) {
      warning((char const   *)"ignoring --negotiation-tip=%s because it does not match any refs",
              s___1);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  smart_options->negotiation_tips = oids;
  return;
}
}
static struct transport *prepare_transport(struct remote *remote , int deepen___2 )
{
  struct transport *transport ;
  char const   *spec ;
  char const   *tmp ;

  {
  transport = transport_get(remote, (char const   *)((void *)0));
  transport_set_verbosity(transport, verbosity___0, progress___1);
  transport->family = family___0;
  if (upload_pack___1) {
    set_option(transport, (char const   *)"uploadpack", upload_pack___1);
  }
  if (keep) {
    set_option(transport, (char const   *)"keep", (char const   *)"yes");
  }
  if (depth) {
    set_option(transport, (char const   *)"depth", depth);
  }
  if (deepen___2) {
    if (deepen_since) {
      set_option(transport, (char const   *)"deepen-since", deepen_since);
    }
  }
  if (deepen___2) {
    if (deepen_not.nr) {
      set_option(transport, (char const   *)"deepen-not", (char const   *)(& deepen_not));
    }
  }
  if (deepen_relative) {
    set_option(transport, (char const   *)"deepen-relative", (char const   *)"yes");
  }
  if (update_shallow___0) {
    set_option(transport, (char const   *)"updateshallow", (char const   *)"yes");
  }
  if (filter_options___0.choice) {
    tmp = expand_list_objects_filter_spec(& filter_options___0);
    spec = tmp;
    set_option(transport, (char const   *)"filter", spec);
    set_option(transport, (char const   *)"from-promisor", (char const   *)"1");
  }
  if (negotiation_tip.nr) {
    if (transport->smart_options) {
      add_negotiation_tips(transport->smart_options);
    } else {
      warning((char const   *)"ignoring --negotiation-tip because the protocol does not support it");
    }
  }
  return (transport);
}
}
static void backfill_tags(struct transport *transport , struct ref *ref_map , struct worktree **worktrees )
{
  int cannot_reuse ;
  int tmp ;

  {
  if (transport->cannot_reuse) {
    tmp = 1;
  } else
  if (deepen_since) {
    tmp = 1;
  } else
  if (deepen_not.nr) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  cannot_reuse = tmp;
  if (cannot_reuse) {
    gsecondary = prepare_transport(transport->remote, 0);
    transport = gsecondary;
  }
  transport_set_option(transport, (char const   *)"followtags", (char const   *)((void *)0));
  transport_set_option(transport, (char const   *)"depth", (char const   *)"0");
  transport_set_option(transport, (char const   *)"deepen-relative", (char const   *)((void *)0));
  fetch_and_consume_refs(transport, ref_map, worktrees);
  if (gsecondary) {
    transport_disconnect(gsecondary);
    gsecondary = (struct transport *)((void *)0);
  }
  return;
}
}
static int do_fetch(struct transport *transport , struct refspec *rs___0 )
{
  struct ref *ref_map ;
  int autotags ;
  int retcode ;
  struct ref  const  *remote_refs ;
  struct transport_ls_refs_options transport_ls_refs_options ;
  int must_list_refs ;
  struct worktree **worktrees ;
  struct worktree **tmp ;
  int i ;
  int tmp___0 ;
  struct branch *branch___0 ;
  struct branch *tmp___1 ;
  struct ref *rm___0 ;
  struct ref *source_ref ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const   *shortname ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  struct ref **tail ;

  {
  autotags = (transport->remote)->fetch_tags == 1;
  retcode = 0;
  transport_ls_refs_options.ref_prefixes.v = empty_strvec;
  transport_ls_refs_options.ref_prefixes.nr = 0UL;
  transport_ls_refs_options.ref_prefixes.alloc = 0UL;
  transport_ls_refs_options.unborn_head_target = (char *)0;
  must_list_refs = 1;
  tmp = get_worktrees();
  worktrees = tmp;
  if (tags___1 == 1) {
    if ((transport->remote)->fetch_tags == 2) {
      tags___1 = 2;
    }
    if ((transport->remote)->fetch_tags == -1) {
      tags___1 = 0;
    }
  }
  if (! append) {
    if (write_fetch_head) {
      retcode = truncate_fetch_head();
      if (retcode) {
        goto cleanup;
      }
    }
  }
  if (rs___0->nr) {
    refspec_ref_prefixes((struct refspec  const  *)rs___0, & transport_ls_refs_options.ref_prefixes);
    must_list_refs = 0;
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < rs___0->nr)) {
        goto while_break;
      }
      if (! (rs___0->items + i)->exact_sha1) {
        must_list_refs = 1;
        goto while_break;
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  } else
  if (transport->remote) {
    if ((transport->remote)->fetch.nr) {
      refspec_ref_prefixes((struct refspec  const  *)(& (transport->remote)->fetch),
                           & transport_ls_refs_options.ref_prefixes);
    }
  }
  if (tags___1 == 2) {
    goto _L;
  } else
  if (tags___1 == 1) {
    _L: /* CIL Label */
    must_list_refs = 1;
    if (transport_ls_refs_options.ref_prefixes.nr) {
      strvec_push(& transport_ls_refs_options.ref_prefixes, (char const   *)"refs/tags/");
    }
  }
  if (must_list_refs) {
    trace2_region_enter_fl((char const   *)"builtin/fetch.c", 1589, (char const   *)"fetch",
                           (char const   *)"remote_refs", (struct repository  const  *)the_repository);
    remote_refs = transport_get_remote_refs(transport, & transport_ls_refs_options);
    trace2_region_leave_fl((char const   *)"builtin/fetch.c", 1592, (char const   *)"fetch",
                           (char const   *)"remote_refs", (struct repository  const  *)the_repository);
  } else {
    remote_refs = (struct ref  const  *)((void *)0);
  }
  strvec_clear(& transport_ls_refs_options.ref_prefixes);
  ref_map = get_ref_map(transport->remote, remote_refs, rs___0, tags___1, & autotags);
  if (! update_head_ok) {
    check_not_current_branch(ref_map, worktrees);
  }
  if (tags___1 == 1) {
    if (autotags) {
      transport_set_option(transport, (char const   *)"followtags", (char const   *)"1");
    }
  }
  if (prune) {
    if (rs___0->nr) {
      prune_refs___0(rs___0, ref_map, transport->url);
    } else {
      prune_refs___0(& (transport->remote)->fetch, ref_map, transport->url);
    }
  }
  tmp___0 = fetch_and_consume_refs(transport, ref_map, worktrees);
  if (tmp___0) {
    free_refs(ref_map);
    retcode = 1;
    goto cleanup;
  }
  if (set_upstream) {
    tmp___1 = branch_get((char const   *)"HEAD");
    branch___0 = tmp___1;
    source_ref = (struct ref *)((void *)0);
    rm___0 = ref_map;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! rm___0) {
        goto while_break___0;
      }
      if (! rm___0->peer_ref) {
        if (source_ref) {
          tmp___2 = _((char const   *)"multiple branches detected, incompatible with --set-upstream");
          warning((char const   *)tmp___2);
          goto skip;
        } else {
          source_ref = rm___0;
        }
      }
      rm___0 = rm___0->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (source_ref) {
      if (! branch___0) {
        shortname = (char const   *)(source_ref->name);
        skip_prefix(shortname, (char const   *)"refs/heads/", & shortname);
        tmp___3 = _((char const   *)"could not set upstream of HEAD to \'%s\' from \'%s\' when it does not point to any branch.");
        warning((char const   *)tmp___3, shortname, (transport->remote)->name);
        goto skip;
      }
      tmp___9 = strcmp((char const   *)(source_ref->name), (char const   *)"HEAD");
      if (tmp___9) {
        tmp___10 = starts_with((char const   *)(source_ref->name), (char const   *)"refs/heads/");
        if (tmp___10) {
          install_branch_config(0, branch___0->name, (transport->remote)->name, (char const   *)(source_ref->name));
        } else {
          tmp___8 = starts_with((char const   *)(source_ref->name), (char const   *)"refs/remotes/");
          if (tmp___8) {
            tmp___4 = _((char const   *)"not setting upstream for a remote remote-tracking branch");
            warning((char const   *)tmp___4);
          } else {
            tmp___7 = starts_with((char const   *)(source_ref->name), (char const   *)"refs/tags/");
            if (tmp___7) {
              tmp___5 = _((char const   *)"not setting upstream for a remote tag");
              warning((char const   *)tmp___5);
            } else {
              tmp___6 = _((char const   *)"unknown branch type");
              warning((char const   *)tmp___6);
            }
          }
        }
      } else {
        install_branch_config(0, branch___0->name, (transport->remote)->name, (char const   *)(source_ref->name));
      }
    } else {
      tmp___11 = _((char const   *)"no source branch found;\nyou need to specify exactly one branch with the --set-upstream option");
      warning((char const   *)tmp___11);
    }
  }
  skip:
  free_refs(ref_map);
  if (tags___1 == 1) {
    if (autotags) {
      tail = & ref_map;
      ref_map = (struct ref *)((void *)0);
      find_non_local_tags(remote_refs, & ref_map, & tail);
      if (ref_map) {
        backfill_tags(transport, ref_map, worktrees);
      }
      free_refs(ref_map);
    }
  }
  cleanup:
  free_worktrees(worktrees);
  return (retcode);
}
}
static int get_one_remote_for_fetch(struct remote *remote , void *priv )
{
  struct string_list *list___3 ;

  {
  list___3 = (struct string_list *)priv;
  if (! remote->skip_default_update) {
    string_list_append(list___3, remote->name);
  }
  return (0);
}
}
static int get_remote_group(char const   *key___1 , char const   *value , void *priv )
{
  struct remote_group_data *g ;
  size_t wordlen ;
  size_t tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  g = (struct remote_group_data *)priv;
  tmp___1 = skip_prefix(key___1, (char const   *)"remotes.", & key___1);
  if (tmp___1) {
    tmp___2 = strcmp(key___1, g->name);
    if (! tmp___2) {
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! *value) {
          goto while_break;
        }
        tmp = strcspn(value, (char const   *)" \t\n");
        wordlen = tmp;
        if (wordlen >= 1UL) {
          tmp___0 = xstrndup(value, wordlen);
          string_list_append_nodup(g->list, tmp___0);
        }
        value += wordlen + (size_t )((int const   )*(value + wordlen) != 0);
      }
      while_break: /* CIL Label */ ;
      }
    }
  }
  return (0);
}
}
static int add_remote_or_group(char const   *name___0 , struct string_list *list___3 )
{
  int prev_nr ;
  struct remote_group_data g ;
  struct remote *remote ;
  struct remote *tmp ;
  int tmp___0 ;

  {
  prev_nr = (int )list___3->nr;
  g.name = name___0;
  g.list = list___3;
  git_config(& get_remote_group, (void *)(& g));
  if (list___3->nr == (unsigned int )prev_nr) {
    tmp = remote_get(name___0);
    remote = tmp;
    tmp___0 = remote_is_configured(remote, 0);
    if (! tmp___0) {
      return (0);
    }
    string_list_append(list___3, remote->name);
  }
  return (1);
}
}
static void add_options_to_argv(struct strvec *argv___0 )
{
  char *tmp ;
  char *tmp___0 ;

  {
  if (dry_run___0) {
    strvec_push(argv___0, (char const   *)"--dry-run");
  }
  if (prune != -1) {
    if (prune) {
      tmp = "--prune";
    } else {
      tmp = "--no-prune";
    }
    strvec_push(argv___0, (char const   *)tmp);
  }
  if (prune_tags != -1) {
    if (prune_tags) {
      tmp___0 = "--prune-tags";
    } else {
      tmp___0 = "--no-prune-tags";
    }
    strvec_push(argv___0, (char const   *)tmp___0);
  }
  if (update_head_ok) {
    strvec_push(argv___0, (char const   *)"--update-head-ok");
  }
  if (force___0) {
    strvec_push(argv___0, (char const   *)"--force");
  }
  if (keep) {
    strvec_push(argv___0, (char const   *)"--keep");
  }
  if (recurse_submodules == 2) {
    strvec_push(argv___0, (char const   *)"--recurse-submodules");
  } else
  if (recurse_submodules == -1) {
    strvec_push(argv___0, (char const   *)"--recurse-submodules=on-demand");
  }
  if (tags___1 == 2) {
    strvec_push(argv___0, (char const   *)"--tags");
  } else
  if (tags___1 == 0) {
    strvec_push(argv___0, (char const   *)"--no-tags");
  }
  if (verbosity___0 >= 2) {
    strvec_push(argv___0, (char const   *)"-v");
  }
  if (verbosity___0 >= 1) {
    strvec_push(argv___0, (char const   *)"-v");
  } else
  if (verbosity___0 < 0) {
    strvec_push(argv___0, (char const   *)"-q");
  }
  if ((unsigned int )family___0 == 1U) {
    strvec_push(argv___0, (char const   *)"--ipv4");
  } else
  if ((unsigned int )family___0 == 2U) {
    strvec_push(argv___0, (char const   *)"--ipv6");
  }
  return;
}
}
static int fetch_next_remote(struct child_process *cp , struct strbuf *out , void *cb ,
                             void **task_cb )
{
  struct parallel_fetch_state *state___1 ;
  char *remote ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  state___1 = (struct parallel_fetch_state *)cb;
  if (state___1->next < 0) {
    return (0);
  } else
  if ((unsigned int )state___1->next >= (state___1->remotes)->nr) {
    return (0);
  }
  tmp = state___1->next;
  (state___1->next) ++;
  remote = ((state___1->remotes)->items + tmp)->string;
  *task_cb = (void *)remote;
  strvec_pushv(& cp->args, state___1->argv);
  strvec_push(& cp->args, (char const   *)remote);
  cp->git_cmd = 1U;
  if (verbosity___0 >= 0) {
    tmp___0 = _((char const   *)"Fetching %s\n");
    printf((char const   *)tmp___0, remote);
  }
  return (1);
}
}
static int fetch_failed_to_start(struct strbuf *out , void *cb , void *task_cb )
{
  struct parallel_fetch_state *state___1 ;
  char const   *remote ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  state___1 = (struct parallel_fetch_state *)cb;
  remote = (char const   *)task_cb;
  tmp = _((char const   *)"could not fetch %s");
  error((char const   *)tmp, remote);
  state___1->result = const_error();
  return (0);
}
}
static int fetch_finished(int result___0 , struct strbuf *out , void *cb , void *task_cb )
{
  struct parallel_fetch_state *state___1 ;
  char const   *remote ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  state___1 = (struct parallel_fetch_state *)cb;
  remote = (char const   *)task_cb;
  if (result___0) {
    tmp = _((char const   *)"could not fetch \'%s\' (exit code: %d)\n");
    strbuf_addf(out, (char const   *)tmp, remote, result___0);
    state___1->result = -1;
  }
  return (0);
}
}
static int fetch_multiple(struct string_list *list___3 , int max_children___0 )
{
  int i ;
  int result___0 ;
  struct strvec argv___0 ;
  int errcode ;
  int tmp ;
  struct parallel_fetch_state state___1 ;
  char const   *name___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  result___0 = 0;
  argv___0.v = empty_strvec;
  argv___0.nr = 0UL;
  argv___0.alloc = 0UL;
  if (! append) {
    if (write_fetch_head) {
      tmp = truncate_fetch_head();
      errcode = tmp;
      if (errcode) {
        return (errcode);
      }
    }
  }
  strvec_pushl(& argv___0, "fetch", "--append", "--no-auto-gc", "--no-write-commit-graph",
               (void *)0);
  add_options_to_argv(& argv___0);
  if (max_children___0 != 1) {
    if (list___3->nr != 1U) {
      state___1.argv = argv___0.v;
      state___1.remotes = list___3;
      state___1.next = 0;
      state___1.result = 0;
      strvec_push(& argv___0, (char const   *)"--end-of-options");
      result___0 = run_processes_parallel_tr2(max_children___0, & fetch_next_remote,
                                              & fetch_failed_to_start, & fetch_finished,
                                              (void *)(& state___1), (char const   *)"fetch",
                                              (char const   *)"parallel/fetch");
      if (! result___0) {
        result___0 = state___1.result;
      }
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )i < list___3->nr)) {
        goto while_break;
      }
      name___0 = (char const   *)(list___3->items + i)->string;
      strvec_push(& argv___0, name___0);
      if (verbosity___0 >= 0) {
        tmp___0 = _((char const   *)"Fetching %s\n");
        printf((char const   *)tmp___0, name___0);
      }
      tmp___2 = run_command_v_opt(argv___0.v, 1 << 1);
      if (tmp___2) {
        tmp___1 = _((char const   *)"could not fetch %s");
        error((char const   *)tmp___1, name___0);
        const_error();
        result___0 = 1;
      }
      strvec_pop(& argv___0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  strvec_clear(& argv___0);
  return (! (! result___0));
}
}
__inline static void fetch_one_setup_partial(struct remote *remote )
{
  int tmp ;

  {
  if (filter_options___0.no_filter) {
    return;
  }
  tmp = has_promisor_remote();
  if (! tmp) {
    if (! filter_options___0.choice) {
      return;
    }
  }
  if (filter_options___0.choice) {
    partial_clone_register(remote->name, & filter_options___0);
    return;
  }
  if (! filter_options___0.choice) {
    partial_clone_get_default_filter_spec(& filter_options___0, remote->name);
  }
  return;
}
}
static int fetch_one(struct remote *remote , int argc , char const   **argv___0 ,
                     int prune_tags_ok , int use_stdin_refspecs )
{
  struct refspec rs___0 ;
  int i ;
  int exit_code ;
  int maybe_prune_tags ;
  int remote_via_config ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  struct strbuf line___0 ;
  int tmp___4 ;

  {
  rs___0.items = (struct refspec_item *)0;
  rs___0.alloc = 0;
  rs___0.nr = 0;
  rs___0.raw = (char const   **)0;
  rs___0.raw_alloc = 0;
  rs___0.raw_nr = 0;
  rs___0.fetch = 1;
  tmp = remote_is_configured(remote, 0);
  remote_via_config = tmp;
  if (! remote) {
    tmp___0 = _((char const   *)"no remote repository specified; please specify either a URL or a\nremote name from which new revisions should be fetched");
    die((char const   *)tmp___0);
  }
  gtransport = prepare_transport(remote, 1);
  if (prune < 0) {
    if (0 <= remote->prune) {
      prune = remote->prune;
    } else
    if (0 <= fetch_prune_config) {
      prune = fetch_prune_config;
    } else {
      prune = 0;
    }
  }
  if (prune_tags < 0) {
    if (0 <= remote->prune_tags) {
      prune_tags = remote->prune_tags;
    } else
    if (0 <= fetch_prune_tags_config) {
      prune_tags = fetch_prune_tags_config;
    } else {
      prune_tags = 0;
    }
  }
  if (prune_tags_ok) {
    if (prune_tags) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  maybe_prune_tags = tmp___1;
  if (maybe_prune_tags) {
    if (remote_via_config) {
      refspec_append(& remote->fetch, (char const   *)"refs/tags/*:refs/tags/*");
    }
  }
  if (maybe_prune_tags) {
    if (argc) {
      refspec_append(& rs___0, (char const   *)"refs/tags/*:refs/tags/*");
    } else
    if (! remote_via_config) {
      refspec_append(& rs___0, (char const   *)"refs/tags/*:refs/tags/*");
    }
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    tmp___3 = strcmp(*(argv___0 + i), (char const   *)"tag");
    if (tmp___3) {
      refspec_append(& rs___0, *(argv___0 + i));
    } else {
      i ++;
      if (i >= argc) {
        tmp___2 = _((char const   *)"you need to specify a tag name");
        die((char const   *)tmp___2);
      }
      refspec_appendf(& rs___0, (char const   *)"refs/tags/%s:refs/tags/%s", *(argv___0 + i),
                      *(argv___0 + i));
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (use_stdin_refspecs) {
    line___0.alloc = 0UL;
    line___0.len = 0UL;
    line___0.buf = strbuf_slopbuf;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___4 = strbuf_getline_lf(& line___0, stdin);
      if (! (tmp___4 != -1)) {
        goto while_break___0;
      }
      refspec_append(& rs___0, (char const   *)line___0.buf);
    }
    while_break___0: /* CIL Label */ ;
    }
    strbuf_release(& line___0);
  }
  if (server_options___0.nr) {
    gtransport->server_options = (struct string_list  const  *)(& server_options___0);
  }
  sigchain_push_common(& unlock_pack_on_signal);
  atexit(& unlock_pack_atexit);
  sigchain_push(13, (void (*)(int  ))1);
  exit_code = do_fetch(gtransport, & rs___0);
  sigchain_pop(13);
  refspec_clear(& rs___0);
  transport_disconnect(gtransport);
  gtransport = (struct transport *)((void *)0);
  return (exit_code);
}
}
int cmd_fetch(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  struct string_list list___3 ;
  struct remote *remote ;
  int result___0 ;
  int prune_tags_ok ;
  char *anon___1 ;
  char *tmp ;
  int *sfjc ;
  int *tmp___0 ;
  int *rs___0 ;
  int *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  struct oidset acked_commits ;
  struct oidset_iter iter___0 ;
  struct object_id  const  *oid ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  char *tmp___19 ;
  struct object_id *tmp___20 ;
  int tmp___21 ;
  int max_children___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  char const __attribute__((__format_arg__(1)))  *tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;
  struct strvec options ;
  int max_children___1 ;
  int commit_graph_flags ;

  {
  list___3.items = (struct string_list_item *)0;
  list___3.nr = 0U;
  list___3.alloc = 0U;
  list___3.strdup_strings = 1U;
  list___3.cmp = (int (*)(char const   * , char const   * ))0;
  remote = (struct remote *)((void *)0);
  result___0 = 0;
  prune_tags_ok = 1;
  packet_trace_identity((char const   *)"fetch");
  strbuf_addstr(& default_rla, (char const   *)"fetch");
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    tmp = transport_anonymize_url(*(argv___0 + i));
    anon___1 = tmp;
    strbuf_addf(& default_rla, (char const   *)" %s", anon___1);
    free((void *)anon___1);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  git_config(& git_fetch_config, (void *)0);
  prepare_repo_settings(the_repository);
  the_repository->settings.command_requires_full_index = 0;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(builtin_fetch_options),
                       builtin_fetch_usage, (enum parse_opt_flags )0);
  if (recurse_submodules != 0) {
    if (submodule_fetch_jobs_config == -1) {
      tmp___0 = & submodule_fetch_jobs_config;
    } else {
      tmp___0 = (int *)((void *)0);
    }
    sfjc = tmp___0;
    if (recurse_submodules == 1) {
      tmp___1 = & recurse_submodules;
    } else {
      tmp___1 = (int *)((void *)0);
    }
    rs___0 = tmp___1;
    fetch_config_from_gitmodules(sfjc, rs___0);
  }
  if (negotiate_only) {
    if (! negotiation_tip.nr) {
      tmp___2 = _((char const   *)"--negotiate-only needs one or more --negotiate-tip=*");
      die((char const   *)tmp___2);
    }
  }
  if (deepen_relative) {
    if (deepen_relative < 0) {
      tmp___3 = _((char const   *)"negative depth in --deepen is not supported");
      die((char const   *)tmp___3);
    }
    if (depth) {
      tmp___4 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___4, "--deepen", "--depth");
    }
    tmp___5 = xstrfmt((char const   *)"%d", deepen_relative);
    depth = (char const   *)tmp___5;
  }
  if (unshallow) {
    if (depth) {
      tmp___6 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___6, "--depth", "--unshallow");
    } else {
      tmp___9 = is_repository_shallow(the_repository);
      if (tmp___9) {
        tmp___8 = xstrfmt((char const   *)"%d", 0x7fffffff);
        depth = (char const   *)tmp___8;
      } else {
        tmp___7 = _((char const   *)"--unshallow on a complete repository does not make sense");
        die((char const   *)tmp___7);
      }
    }
  }
  if (depth) {
    tmp___11 = atoi(depth);
    if (tmp___11 < 1) {
      tmp___10 = _((char const   *)"depth %s is not a positive number");
      die((char const   *)tmp___10, depth);
    }
  }
  if (depth) {
    deepen___1 = 1;
  } else
  if (deepen_since) {
    deepen___1 = 1;
  } else
  if (deepen_not.nr) {
    deepen___1 = 1;
  }
  if (dry_run___0) {
    write_fetch_head = 0;
  }
  if (all___1) {
    if (argc == 1) {
      tmp___12 = _((char const   *)"fetch --all does not take a repository argument");
      die((char const   *)tmp___12);
    } else
    if (argc > 1) {
      tmp___13 = _((char const   *)"fetch --all does not make sense with refspecs");
      die((char const   *)tmp___13);
    }
    for_each_remote(& get_one_remote_for_fetch, (void *)(& list___3));
  } else
  if (argc == 0) {
    remote = remote_get((char const   *)((void *)0));
  } else
  if (multiple) {
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < argc)) {
        goto while_break___0;
      }
      tmp___15 = add_remote_or_group(*(argv___0 + i), & list___3);
      if (! tmp___15) {
        tmp___14 = _((char const   *)"no such remote or remote group: %s");
        die((char const   *)tmp___14, *(argv___0 + i));
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  } else {
    add_remote_or_group(*(argv___0 + 0), & list___3);
    if (list___3.nr > 1U) {
      if (argc > 1) {
        tmp___16 = _((char const   *)"fetching a group and specifying refspecs does not make sense");
        die((char const   *)tmp___16);
      }
    } else {
      remote = remote_get(*(argv___0 + 0));
      prune_tags_ok = argc == 1;
      argc --;
      argv___0 ++;
    }
  }
  if (negotiate_only) {
    acked_commits.set.n_buckets = (khint_t )0;
    acked_commits.set.size = 0U;
    acked_commits.set.n_occupied = 0U;
    acked_commits.set.upper_bound = 0U;
    acked_commits.set.flags = (khint32_t *)0;
    acked_commits.set.keys = (struct object_id *)0;
    acked_commits.set.vals = (int *)0;
    if (! remote) {
      tmp___17 = _((char const   *)"must supply remote when using --negotiate-only");
      die((char const   *)tmp___17);
    }
    gtransport = prepare_transport(remote, 1);
    if (gtransport->smart_options) {
      (gtransport->smart_options)->acked_commits = & acked_commits;
    } else {
      tmp___18 = _((char const   *)"protocol does not support --negotiate-only, exiting");
      warning((char const   *)tmp___18);
      return (1);
    }
    if (server_options___0.nr) {
      gtransport->server_options = (struct string_list  const  *)(& server_options___0);
    }
    result___0 = transport_fetch_refs(gtransport, (struct ref *)((void *)0));
    oidset_iter_init(& acked_commits, & iter___0);
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      tmp___20 = oidset_iter_next(& iter___0);
      oid = (struct object_id  const  *)tmp___20;
      if (! oid) {
        goto while_break___1;
      }
      tmp___19 = oid_to_hex(oid);
      printf((char const   *)"%s\n", tmp___19);
    }
    while_break___1: /* CIL Label */ ;
    }
    oidset_clear(& acked_commits);
  } else
  if (remote) {
    if (filter_options___0.choice) {
      fetch_one_setup_partial(remote);
    } else {
      tmp___21 = has_promisor_remote();
      if (tmp___21) {
        fetch_one_setup_partial(remote);
      }
    }
    result___0 = fetch_one(remote, argc, argv___0, prune_tags_ok, stdin_refspecs);
  } else {
    max_children___0 = max_jobs___0;
    if (filter_options___0.choice) {
      tmp___22 = _((char const   *)"--filter can only be used with the remote configured in extensions.partialclone");
      die((char const   *)tmp___22);
    }
    if (atomic_fetch) {
      tmp___23 = _((char const   *)"--atomic can only be used when fetching from one remote");
      die((char const   *)tmp___23);
    }
    if (stdin_refspecs) {
      tmp___24 = _((char const   *)"--stdin can only be used when fetching from one remote");
      die((char const   *)tmp___24);
    }
    if (max_children___0 < 0) {
      max_children___0 = fetch_parallel_config;
    }
    result___0 = fetch_multiple(& list___3, max_children___0);
  }
  if (! result___0) {
    if (recurse_submodules != 0) {
      options.v = empty_strvec;
      options.nr = 0UL;
      options.alloc = 0UL;
      max_children___1 = max_jobs___0;
      if (max_children___1 < 0) {
        max_children___1 = submodule_fetch_jobs_config;
      }
      if (max_children___1 < 0) {
        max_children___1 = fetch_parallel_config;
      }
      add_options_to_argv(& options);
      result___0 = fetch_populated_submodules(the_repository, (struct strvec  const  *)(& options),
                                              submodule_prefix, recurse_submodules,
                                              recurse_submodules_default, verbosity___0 < 0,
                                              max_children___1);
      strvec_clear(& options);
    }
  }
  string_list_clear(& list___3, 0);
  prepare_repo_settings(the_repository);
  if (fetch_write_commit_graph > 0) {
    goto _L;
  } else
  if (fetch_write_commit_graph < 0) {
    if (the_repository->settings.fetch_write_commit_graph) {
      _L: /* CIL Label */
      commit_graph_flags = 4;
      if (progress___1) {
        commit_graph_flags |= 2;
      }
      write_commit_graph_reachable((the_repository->objects)->odb, (enum commit_graph_write_flags )commit_graph_flags,
                                   (struct commit_graph_opts  const  *)((void *)0));
    }
  }
  if (enable_auto_gc) {
    run_auto_maintenance(verbosity___0 < 0);
  }
  return (result___0);
}
}
static char const   *fmt_merge_msg_usage[2]  = {      (char const   *)"git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]",      (char const   *)((void *)0)};
int cmd_fmt_merge_msg(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char const   *inpath ;
  char const   *message___0 ;
  char *into_name___0 ;
  int shortlog_len___0 ;
  struct option options[6] ;
  FILE *in ;
  struct strbuf input ;
  struct strbuf output___4 ;
  int ret___67 ;
  struct fmt_merge_msg_opts opts___1 ;
  int tmp ;
  int tmp___0 ;
  ssize_t tmp___1 ;

  {
  inpath = (char const   *)((void *)0);
  message___0 = (char const   *)((void *)0);
  into_name___0 = (char *)((void *)0);
  shortlog_len___0 = -1;
  options[0].type = (enum parse_opt_type )10;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"log";
  options[0].value = (void *)(& shortlog_len___0);
  options[0].argh = (char const   *)"n";
  options[0].help = (char const   *)"populate log with at most <n> entries from shortlog";
  options[0].flags = (enum parse_opt_option_flags )1;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )20;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )10;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"summary";
  options[1].value = (void *)(& shortlog_len___0);
  options[1].argh = (char const   *)"n";
  options[1].help = (char const   *)"alias for --log (deprecated)";
  options[1].flags = (enum parse_opt_option_flags )9;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )20;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )9;
  options[2].short_name = 'm';
  options[2].long_name = (char const   *)"message";
  options[2].value = (void *)(& message___0);
  options[2].argh = (char const   *)"text";
  options[2].help = (char const   *)"use <text> as start of message";
  options[2].flags = (enum parse_opt_option_flags )0;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )9;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"into-name";
  options[3].value = (void *)(& into_name___0);
  options[3].argh = (char const   *)"name";
  options[3].help = (char const   *)"use <name> instead of the real target branch";
  options[3].flags = (enum parse_opt_option_flags )0;
  options[3].callback = (parse_opt_cb *)0;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )14;
  options[4].short_name = 'F';
  options[4].long_name = (char const   *)"file";
  options[4].value = (void *)(& inpath);
  options[4].argh = (char const   *)"file";
  options[4].help = (char const   *)"file to read from";
  options[4].flags = 0U;
  options[4].callback = (parse_opt_cb *)0;
  options[4].defval = 0L;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )0;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)0;
  options[5].value = (void *)0;
  options[5].argh = (char const   *)0;
  options[5].help = (char const   *)0;
  options[5].flags = 0U;
  options[5].callback = (parse_opt_cb *)0;
  options[5].defval = 0L;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  in = stdin;
  input.alloc = 0UL;
  input.len = 0UL;
  input.buf = strbuf_slopbuf;
  output___4.alloc = 0UL;
  output___4.len = 0UL;
  output___4.buf = strbuf_slopbuf;
  git_config(& fmt_merge_msg_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       fmt_merge_msg_usage, (enum parse_opt_flags )0);
  if (argc > 0) {
    usage_with_options(fmt_merge_msg_usage, (struct option  const  *)(options));
  }
  if (shortlog_len___0 < 0) {
    if (merge_log_config > 0) {
      shortlog_len___0 = merge_log_config;
    } else {
      shortlog_len___0 = 0;
    }
  }
  if (inpath) {
    tmp = strcmp(inpath, (char const   *)"-");
    if (tmp) {
      in = git_fopen(inpath, (char const   *)"r");
      if (! in) {
        die_errno((char const   *)"cannot open \'%s\'", inpath);
      }
    }
  }
  tmp___0 = fileno(in);
  tmp___1 = strbuf_read(& input, tmp___0, (size_t )0);
  if (tmp___1 < 0L) {
    die_errno((char const   *)"could not read input file");
  }
  if (message___0) {
    strbuf_addstr(& output___4, message___0);
  }
  memset((void *)(& opts___1), 0, sizeof(opts___1));
  opts___1.add_title = (unsigned int )(! message___0);
  opts___1.credit_people = 1U;
  opts___1.shortlog_len = shortlog_len___0;
  opts___1.into_name = (char const   *)into_name___0;
  ret___67 = fmt_merge_msg(& input, & output___4, & opts___1);
  if (ret___67) {
    return (ret___67);
  }
  write_in_full(1, (void const   *)output___4.buf, output___4.len);
  return (0);
}
}
static char const   *for_each_ref_usage[5]  = {      (char const   *)"git for-each-ref [<options>] [<pattern>]",      (char const   *)"git for-each-ref [--points-at <object>]",      (char const   *)"git for-each-ref [--merged [<commit>]] [--no-merged [<commit>]]",      (char const   *)"git for-each-ref [--contains [<commit>]] [--no-contains [<commit>]]",
        (char const   *)((void *)0)};
int cmd_for_each_ref(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  struct ref_sorting *sorting___0 ;
  struct string_list sorting_options ;
  int maxcount ;
  int icase___0 ;
  struct ref_array array ;
  struct ref_filter filter___0 ;
  struct ref_format format___0 ;
  struct strbuf output___4 ;
  struct strbuf err___4 ;
  struct option opts___1[16] ;
  int tmp ;
  int tmp___0 ;

  {
  sorting_options.items = (struct string_list_item *)0;
  sorting_options.nr = 0U;
  sorting_options.alloc = 0U;
  sorting_options.strdup_strings = 1U;
  sorting_options.cmp = (int (*)(char const   * , char const   * ))0;
  maxcount = 0;
  icase___0 = 0;
  format___0.format = (char const   *)0;
  format___0.rest = (char const   *)0;
  format___0.quote_style = 0;
  format___0.use_rest = 0;
  format___0.use_color = -1;
  format___0.need_color_reset_at_eol = 0;
  output___4.alloc = 0UL;
  output___4.len = 0UL;
  output___4.buf = strbuf_slopbuf;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  opts___1[0].type = (enum parse_opt_type )4;
  opts___1[0].short_name = 's';
  opts___1[0].long_name = (char const   *)"shell";
  opts___1[0].value = (void *)(& format___0.quote_style);
  opts___1[0].argh = (char const   *)((void *)0);
  opts___1[0].help = (char const   *)"quote placeholders suitably for shells";
  opts___1[0].flags = (enum parse_opt_option_flags )2;
  opts___1[0].callback = (parse_opt_cb *)((void *)0);
  opts___1[0].defval = (intptr_t )1;
  opts___1[0].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[0].extra = 0L;
  opts___1[1].type = (enum parse_opt_type )4;
  opts___1[1].short_name = 'p';
  opts___1[1].long_name = (char const   *)"perl";
  opts___1[1].value = (void *)(& format___0.quote_style);
  opts___1[1].argh = (char const   *)((void *)0);
  opts___1[1].help = (char const   *)"quote placeholders suitably for perl";
  opts___1[1].flags = (enum parse_opt_option_flags )2;
  opts___1[1].callback = (parse_opt_cb *)((void *)0);
  opts___1[1].defval = (intptr_t )2;
  opts___1[1].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[1].extra = 0L;
  opts___1[2].type = (enum parse_opt_type )4;
  opts___1[2].short_name = 0;
  opts___1[2].long_name = (char const   *)"python";
  opts___1[2].value = (void *)(& format___0.quote_style);
  opts___1[2].argh = (char const   *)((void *)0);
  opts___1[2].help = (char const   *)"quote placeholders suitably for python";
  opts___1[2].flags = (enum parse_opt_option_flags )2;
  opts___1[2].callback = (parse_opt_cb *)((void *)0);
  opts___1[2].defval = (intptr_t )4;
  opts___1[2].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[2].extra = 0L;
  opts___1[3].type = (enum parse_opt_type )4;
  opts___1[3].short_name = 0;
  opts___1[3].long_name = (char const   *)"tcl";
  opts___1[3].value = (void *)(& format___0.quote_style);
  opts___1[3].argh = (char const   *)((void *)0);
  opts___1[3].help = (char const   *)"quote placeholders suitably for Tcl";
  opts___1[3].flags = (enum parse_opt_option_flags )2;
  opts___1[3].callback = (parse_opt_cb *)((void *)0);
  opts___1[3].defval = (intptr_t )8;
  opts___1[3].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[3].extra = 0L;
  opts___1[4].type = (enum parse_opt_type )1;
  opts___1[4].short_name = 0;
  opts___1[4].long_name = (char const   *)((void *)0);
  opts___1[4].value = (void *)0;
  opts___1[4].argh = (char const   *)((void *)0);
  opts___1[4].help = (char const   *)"";
  opts___1[4].flags = 0U;
  opts___1[4].callback = (parse_opt_cb *)0;
  opts___1[4].defval = 0L;
  opts___1[4].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[4].extra = 0L;
  opts___1[5].type = (enum parse_opt_type )10;
  opts___1[5].short_name = 0;
  opts___1[5].long_name = (char const   *)"count";
  opts___1[5].value = (void *)(& maxcount);
  opts___1[5].argh = (char const   *)"n";
  opts___1[5].help = (char const   *)"show only <n> matched refs";
  opts___1[5].flags = (enum parse_opt_option_flags )0;
  opts___1[5].callback = (parse_opt_cb *)0;
  opts___1[5].defval = 0L;
  opts___1[5].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[5].extra = 0L;
  opts___1[6].type = (enum parse_opt_type )9;
  opts___1[6].short_name = 0;
  opts___1[6].long_name = (char const   *)"format";
  opts___1[6].value = (void *)(& format___0.format);
  opts___1[6].argh = (char const   *)"format";
  opts___1[6].help = (char const   *)"format to use for the output";
  opts___1[6].flags = (enum parse_opt_option_flags )0;
  opts___1[6].callback = (parse_opt_cb *)0;
  opts___1[6].defval = 0L;
  opts___1[6].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[6].extra = 0L;
  opts___1[7].type = (enum parse_opt_type )12;
  opts___1[7].short_name = 0;
  opts___1[7].long_name = (char const   *)"color";
  opts___1[7].value = (void *)(& format___0.use_color);
  opts___1[7].argh = (char const   *)"when";
  opts___1[7].help = (char const   *)"respect format colors";
  opts___1[7].flags = (enum parse_opt_option_flags )1;
  opts___1[7].callback = & parse_opt_color_flag_cb;
  opts___1[7].defval = (intptr_t )"always";
  opts___1[7].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[7].extra = 0L;
  opts___1[8].type = (enum parse_opt_type )12;
  opts___1[8].short_name = 0;
  opts___1[8].long_name = (char const   *)"sort";
  opts___1[8].value = (void *)(& sorting_options);
  opts___1[8].argh = (char const   *)"key";
  opts___1[8].help = (char const   *)"field name to sort on";
  opts___1[8].flags = (enum parse_opt_option_flags )0;
  opts___1[8].callback = & parse_opt_string_list;
  opts___1[8].defval = 0L;
  opts___1[8].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[8].extra = 0L;
  opts___1[9].type = (enum parse_opt_type )12;
  opts___1[9].short_name = 0;
  opts___1[9].long_name = (char const   *)"points-at";
  opts___1[9].value = (void *)(& filter___0.points_at);
  opts___1[9].argh = (char const   *)"object";
  opts___1[9].help = (char const   *)"print only refs which points at the given object";
  opts___1[9].flags = (enum parse_opt_option_flags )0;
  opts___1[9].callback = & parse_opt_object_name;
  opts___1[9].defval = 0L;
  opts___1[9].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[9].extra = 0L;
  opts___1[10].type = (enum parse_opt_type )12;
  opts___1[10].short_name = 0;
  opts___1[10].long_name = (char const   *)"merged";
  opts___1[10].value = (void *)(& filter___0);
  opts___1[10].argh = (char const   *)"commit";
  opts___1[10].help = (char const   *)"print only refs that are merged";
  opts___1[10].flags = (enum parse_opt_option_flags )20;
  opts___1[10].callback = & parse_opt_merge_filter;
  opts___1[10].defval = (intptr_t )"HEAD";
  opts___1[10].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[10].extra = 0L;
  opts___1[11].type = (enum parse_opt_type )12;
  opts___1[11].short_name = 0;
  opts___1[11].long_name = (char const   *)"no-merged";
  opts___1[11].value = (void *)(& filter___0);
  opts___1[11].argh = (char const   *)"commit";
  opts___1[11].help = (char const   *)"print only refs that are not merged";
  opts___1[11].flags = (enum parse_opt_option_flags )20;
  opts___1[11].callback = & parse_opt_merge_filter;
  opts___1[11].defval = (intptr_t )"HEAD";
  opts___1[11].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[11].extra = 0L;
  opts___1[12].type = (enum parse_opt_type )12;
  opts___1[12].short_name = 0;
  opts___1[12].long_name = (char const   *)"contains";
  opts___1[12].value = (void *)(& filter___0.with_commit);
  opts___1[12].argh = (char const   *)"commit";
  opts___1[12].help = (char const   *)"print only refs which contain the commit";
  opts___1[12].flags = (enum parse_opt_option_flags )20;
  opts___1[12].callback = & parse_opt_commits;
  opts___1[12].defval = (intptr_t )"HEAD";
  opts___1[12].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[12].extra = 0L;
  opts___1[13].type = (enum parse_opt_type )12;
  opts___1[13].short_name = 0;
  opts___1[13].long_name = (char const   *)"no-contains";
  opts___1[13].value = (void *)(& filter___0.no_commit);
  opts___1[13].argh = (char const   *)"commit";
  opts___1[13].help = (char const   *)"print only refs which don\'t contain the commit";
  opts___1[13].flags = (enum parse_opt_option_flags )20;
  opts___1[13].callback = & parse_opt_commits;
  opts___1[13].defval = (intptr_t )"HEAD";
  opts___1[13].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[13].extra = 0L;
  opts___1[14].type = (enum parse_opt_type )8;
  opts___1[14].short_name = 0;
  opts___1[14].long_name = (char const   *)"ignore-case";
  opts___1[14].value = (void *)(& icase___0);
  opts___1[14].argh = (char const   *)((void *)0);
  opts___1[14].help = (char const   *)"sorting and filtering are case insensitive";
  opts___1[14].flags = (enum parse_opt_option_flags )2;
  opts___1[14].callback = (parse_opt_cb *)((void *)0);
  opts___1[14].defval = (intptr_t )1;
  opts___1[14].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[14].extra = 0L;
  opts___1[15].type = (enum parse_opt_type )0;
  opts___1[15].short_name = 0;
  opts___1[15].long_name = (char const   *)0;
  opts___1[15].value = (void *)0;
  opts___1[15].argh = (char const   *)0;
  opts___1[15].help = (char const   *)0;
  opts___1[15].flags = 0U;
  opts___1[15].callback = (parse_opt_cb *)0;
  opts___1[15].defval = 0L;
  opts___1[15].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[15].extra = 0L;
  memset((void *)(& array), 0, sizeof(array));
  memset((void *)(& filter___0), 0, sizeof(filter___0));
  format___0.format = (char const   *)"%(objectname) %(objecttype)\t%(refname)";
  git_config(& git_default_config, (void *)0);
  parse_options(argc, argv___0, prefix___1, (struct option  const  *)(opts___1), for_each_ref_usage,
                (enum parse_opt_flags )0);
  if (maxcount < 0) {
    error((char const   *)"invalid --count argument: `%d\'", maxcount);
    const_error();
    usage_with_options(for_each_ref_usage, (struct option  const  *)(opts___1));
  }
  if (format___0.quote_style & (format___0.quote_style - 1)) {
    error((char const   *)"more than one quoting style?");
    const_error();
    usage_with_options(for_each_ref_usage, (struct option  const  *)(opts___1));
  }
  tmp = verify_ref_format(& format___0);
  if (tmp) {
    usage_with_options(for_each_ref_usage, (struct option  const  *)(opts___1));
  }
  sorting___0 = ref_sorting_options(& sorting_options);
  ref_sorting_set_sort_flags_all(sorting___0, 2U, icase___0);
  filter___0.ignore_case = (unsigned int )icase___0;
  filter___0.name_patterns = argv___0;
  filter___0.match_as_path = 1U;
  filter_refs(& array, & filter___0, 30U);
  ref_array_sort(sorting___0, & array);
  if (! maxcount) {
    maxcount = array.nr;
  } else
  if (array.nr < maxcount) {
    maxcount = array.nr;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < maxcount)) {
      goto while_break;
    }
    strbuf_setlen___33(& err___4, (size_t )0);
    strbuf_setlen___33(& output___4, (size_t )0);
    tmp___0 = format_ref_array_item(*(array.items + i), & format___0, & output___4,
                                    & err___4);
    if (tmp___0) {
      die((char const   *)"%s", err___4.buf);
    }
    fwrite((void const   * __restrict  )output___4.buf, (size_t )1, output___4.len,
           (FILE * __restrict  )stdout);
    putchar('\n');
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& err___4);
  strbuf_release(& output___4);
  ref_array_clear(& array);
  free_commit_list(filter___0.with_commit);
  free_commit_list(filter___0.no_commit);
  ref_sorting_release(sorting___0);
  return (0);
}
}
static char const   *for_each_repo_usage[2]  = {      (char const   *)"git for-each-repo --config=<config> <command-args>",      (char const   *)((void *)0)};
static int run_command_on_repo(char const   *path___6 , int argc , char const   **argv___0 )
{
  int i ;
  struct child_process child ;
  int tmp ;

  {
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  child.git_cmd = 1U;
  strvec_pushl(& child.args, "-C", path___6, (void *)0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    strvec_push(& child.args, *(argv___0 + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = run_command(& child);
  return (tmp);
}
}
static char const   *config_key  =    (char const   *)((void *)0);
int cmd_for_each_repo(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  int result___0 ;
  struct string_list  const  *values ;
  struct option options[2] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  result___0 = 0;
  options[0].type = (enum parse_opt_type )((enum parse_opt_type )9);
  options[0].short_name = (int )0;
  options[0].long_name = (char const   *)((char const   *)"config");
  options[0].value = (void *)((void *)(& config_key));
  options[0].argh = (char const   *)((char const   *)"config");
  options[0].help = (char const   *)((char const   *)"config key storing a list of repository paths");
  options[0].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  options[0].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  options[0].defval = (intptr_t )0L;
  options[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[0].extra = (intptr_t )0L;
  options[1].type = (enum parse_opt_type )((enum parse_opt_type )0);
  options[1].short_name = (int )0;
  options[1].long_name = (char const   *)((char const   *)0);
  options[1].value = (void *)((void *)0);
  options[1].argh = (char const   *)((char const   *)0);
  options[1].help = (char const   *)((char const   *)0);
  options[1].flags = (enum parse_opt_option_flags )0U;
  options[1].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  options[1].defval = (intptr_t )0L;
  options[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[1].extra = (intptr_t )0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       for_each_repo_usage, (enum parse_opt_flags )2);
  if (! config_key) {
    tmp = _((char const   *)"missing --config=<config>");
    die((char const   *)tmp);
  }
  values = repo_config_get_value_multi(the_repository, config_key);
  if (! values) {
    return (0);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! result___0) {
      if (! ((unsigned int )i < values->nr)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    result___0 = run_command_on_repo((char const   *)(values->items + i)->string,
                                     argc, argv___0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (result___0);
}
}
static double const   __ac_HASH_UPPER___125  =    (double const   )0.77;
__inline static void kh_resize_oid_set___125(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___125(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___125 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___125 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___125(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___125(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___125(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___125(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___125(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___125(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___125 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___125 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___125(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___125(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___125(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___125(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___125(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___125(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___125 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___125 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___125(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___125(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___125(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___125(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___92(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___92(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___125 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___125 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___92(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___92(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___92(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___92(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int show_root___0  ;
static int show_tags  ;
static int show_unreachable  ;
static int include_reflogs  =    1;
static int check_full  =    1;
static int connectivity_only  ;
static int check_strict  ;
static int keep_cache_objects  ;
static struct fsck_options fsck_walk_options  =
     {(int (*)(struct object *obj , enum object_type object_type , void *data , struct fsck_options *options ))0,
    & fsck_error_function, 0U, (enum fsck_msg_type *)0, {{(khint_t )0, 0U, 0U, 0U,
                                                          (khint32_t *)0, (struct object_id *)0,
                                                          (int *)0}}, {{(khint_t )0,
                                                                        0U, 0U, 0U,
                                                                        (khint32_t *)0,
                                                                        (struct object_id *)0,
                                                                        (int *)0}},
    {{(khint_t )0, 0U, 0U, 0U, (khint32_t *)0, (struct object_id *)0, (int *)0}},
    (kh_oid_map_t *)0};
static struct fsck_options fsck_obj_options  =
     {(int (*)(struct object *obj , enum object_type object_type , void *data , struct fsck_options *options ))0,
    & fsck_error_function, 0U, (enum fsck_msg_type *)0, {{(khint_t )0, 0U, 0U, 0U,
                                                          (khint32_t *)0, (struct object_id *)0,
                                                          (int *)0}}, {{(khint_t )0,
                                                                        0U, 0U, 0U,
                                                                        (khint32_t *)0,
                                                                        (struct object_id *)0,
                                                                        (int *)0}},
    {{(khint_t )0, 0U, 0U, 0U, (khint32_t *)0, (struct object_id *)0, (int *)0}},
    (kh_oid_map_t *)0};
static int errors_found  ;
static int write_lost_and_found  ;
static int verbose___4  ;
static int show_progress___1  =    -1;
static int show_dangling  =    1;
static int name_objects  ;
static char const   *describe_object(struct object_id  const  *oid )
{
  char const   *tmp ;

  {
  tmp = fsck_describe_object(& fsck_walk_options, oid);
  return (tmp);
}
}
static char const   *printable_type(struct object_id  const  *oid , enum object_type type___0 )
{
  char const   *ret___67 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  if ((int )type___0 == 0) {
    tmp = oid_object_info(the_repository, oid, (unsigned long *)((void *)0));
    type___0 = (enum object_type )tmp;
  }
  ret___67 = type_name((unsigned int )type___0);
  if (! ret___67) {
    tmp___0 = _((char const   *)"unknown");
    ret___67 = (char const   *)tmp___0;
  }
  return (ret___67);
}
}
static int objerror(struct object *obj , char const   *err___4 )
{
  char const   *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  errors_found |= 01;
  tmp = describe_object((struct object_id  const  *)(& obj->oid));
  tmp___0 = printable_type((struct object_id  const  *)(& obj->oid), (enum object_type )obj->type);
  tmp___1 = _((char const   *)"error in %s %s: %s");
  fprintf_ln(stderr, (char const   *)tmp___1, tmp___0, tmp, err___4);
  return (-1);
}
}
static int fsck_error_func(struct fsck_options *o , struct object_id  const  *oid ,
                           enum object_type object_type___0 , enum fsck_msg_type msg_type ,
                           enum fsck_msg_id msg_id , char const   *message___0 )
{
  char const   *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  {
  if ((unsigned int )msg_type == 4U) {
    goto case_4;
  }
  if ((unsigned int )msg_type == 3U) {
    goto case_3;
  }
  goto switch_default;
  case_4: /* CIL Label */
  tmp = describe_object(oid);
  tmp___0 = printable_type(oid, object_type___0);
  tmp___1 = _((char const   *)"warning in %s %s: %s");
  fprintf_ln(stderr, (char const   *)tmp___1, tmp___0, tmp, message___0);
  return (0);
  case_3: /* CIL Label */
  tmp___2 = describe_object(oid);
  tmp___3 = printable_type(oid, object_type___0);
  tmp___4 = _((char const   *)"error in %s %s: %s");
  fprintf_ln(stderr, (char const   *)tmp___4, tmp___3, tmp___2, message___0);
  return (1);
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"builtin/fsck.c", 106, (char const   *)"%d (FSCK_IGNORE?) should never trigger this callback",
         (unsigned int )msg_type);
  switch_break: /* CIL Label */ ;
  }
}
}
static struct object_array pending  ;
static int mark_object___1(struct object *obj , enum object_type type___0 , void *data ,
                           struct fsck_options *options )
{
  struct object *parent ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const   *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const   *tmp___9 ;
  char const   *tmp___10 ;
  char const   *tmp___11 ;
  char const   *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;

  {
  parent = (struct object *)data;
  if (! obj) {
    tmp = describe_object((struct object_id  const  *)(& parent->oid));
    tmp___0 = printable_type((struct object_id  const  *)(& parent->oid), (enum object_type )parent->type);
    tmp___1 = _((char const   *)"broken link from %7s %s");
    printf_ln((char const   *)tmp___1, tmp___0, tmp);
    tmp___2 = _((char const   *)"unknown");
    if ((int )type___0 == 8) {
      tmp___3 = _((char const   *)"unknown");
      tmp___5 = tmp___3;
    } else {
      tmp___4 = type_name((unsigned int )type___0);
      tmp___5 = (char const __attribute__((__format_arg__(1)))  *)tmp___4;
    }
    tmp___6 = _((char const   *)"broken link from %7s %s");
    printf_ln((char const   *)tmp___6, tmp___5, tmp___2);
    errors_found |= 02;
    return (1);
  }
  if ((int )type___0 != 8) {
    if (obj->type != (unsigned int )type___0) {
      tmp___7 = _((char const   *)"wrong object type in link");
      objerror(parent, (char const   *)tmp___7);
    }
  }
  if (obj->flags & 1U) {
    return (0);
  }
  obj->flags |= 1U;
  tmp___8 = is_promisor_object((struct object_id  const  *)(& obj->oid));
  if (tmp___8) {
    return (0);
  }
  if (! (obj->flags & 4U)) {
    if (parent) {
      tmp___14 = has_object(the_repository, (struct object_id  const  *)(& obj->oid),
                            1U);
      if (! tmp___14) {
        tmp___9 = describe_object((struct object_id  const  *)(& obj->oid));
        tmp___10 = printable_type((struct object_id  const  *)(& obj->oid), (enum object_type )obj->type);
        tmp___11 = describe_object((struct object_id  const  *)(& parent->oid));
        tmp___12 = printable_type((struct object_id  const  *)(& parent->oid), (enum object_type )parent->type);
        tmp___13 = _((char const   *)"broken link from %7s %s\n              to %7s %s");
        printf_ln((char const   *)tmp___13, tmp___12, tmp___11, tmp___10, tmp___9);
        errors_found |= 02;
      }
    }
    return (1);
  }
  add_object_array(obj, (char const   *)((void *)0), & pending);
  return (0);
}
}
static void mark_object_reachable(struct object *obj )
{


  {
  mark_object___1(obj, (enum object_type )8, (void *)0, (struct fsck_options *)((void *)0));
  return;
}
}
static int traverse_one_object(struct object *obj )
{
  int result___0 ;
  int tmp ;
  struct tree *tree ;

  {
  tmp = fsck_walk(obj, (void *)obj, & fsck_walk_options);
  result___0 = tmp;
  if (obj->type == 2U) {
    tree = (struct tree *)obj;
    free_tree_buffer(tree);
  }
  return (result___0);
}
}
static int traverse_reachable(void)
{
  struct progress *progress___7 ;
  unsigned int nr___0 ;
  int result___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct object *tmp___0 ;
  int tmp___1 ;

  {
  progress___7 = (struct progress *)((void *)0);
  nr___0 = 0U;
  result___0 = 0;
  if (show_progress___1) {
    tmp = _((char const   *)"Checking connectivity");
    progress___7 = start_delayed_progress((char const   *)tmp, (uint64_t )0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! pending.nr) {
      goto while_break;
    }
    tmp___0 = object_array_pop(& pending);
    tmp___1 = traverse_one_object(tmp___0);
    result___0 |= tmp___1;
    nr___0 ++;
    display_progress(progress___7, (uint64_t )nr___0);
  }
  while_break: /* CIL Label */ ;
  }
  stop_progress(& progress___7);
  return (! (! result___0));
}
}
static int mark_used(struct object *obj , enum object_type object_type___0 , void *data ,
                     struct fsck_options *options )
{


  {
  if (! obj) {
    return (1);
  }
  obj->flags |= 8U;
  return (0);
}
}
static void mark_unreachable_referents(struct object_id  const  *oid )
{
  struct fsck_options options ;
  struct object *obj ;
  struct object *tmp ;
  enum object_type type___0 ;
  int tmp___0 ;

  {
  options.walk = (int (*)(struct object *obj , enum object_type object_type , void *data ,
                          struct fsck_options *options ))0;
  options.error_func = & fsck_error_function;
  options.strict = 0U;
  options.msg_type = (enum fsck_msg_type *)0;
  options.skiplist.set.n_buckets = (khint_t )0;
  options.skiplist.set.size = 0U;
  options.skiplist.set.n_occupied = 0U;
  options.skiplist.set.upper_bound = 0U;
  options.skiplist.set.flags = (khint32_t *)0;
  options.skiplist.set.keys = (struct object_id *)0;
  options.skiplist.set.vals = (int *)0;
  options.gitmodules_found.set.n_buckets = (khint_t )0;
  options.gitmodules_found.set.size = 0U;
  options.gitmodules_found.set.n_occupied = 0U;
  options.gitmodules_found.set.upper_bound = 0U;
  options.gitmodules_found.set.flags = (khint32_t *)0;
  options.gitmodules_found.set.keys = (struct object_id *)0;
  options.gitmodules_found.set.vals = (int *)0;
  options.gitmodules_done.set.n_buckets = (khint_t )0;
  options.gitmodules_done.set.size = 0U;
  options.gitmodules_done.set.n_occupied = 0U;
  options.gitmodules_done.set.upper_bound = 0U;
  options.gitmodules_done.set.flags = (khint32_t *)0;
  options.gitmodules_done.set.keys = (struct object_id *)0;
  options.gitmodules_done.set.vals = (int *)0;
  options.object_names = (kh_oid_map_t *)0;
  tmp = lookup_object(the_repository, oid);
  obj = tmp;
  if (! obj) {
    return;
  } else
  if (! (obj->flags & 4U)) {
    return;
  }
  if (obj->flags & 1U) {
    return;
  }
  if (obj->type == 0U) {
    tmp___0 = oid_object_info(the_repository, (struct object_id  const  *)(& obj->oid),
                              (unsigned long *)((void *)0));
    type___0 = (enum object_type )tmp___0;
    if ((int )type___0 > 0) {
      object_as_type(obj, type___0, 0);
    }
  }
  options.walk = & mark_used;
  fsck_walk(obj, (void *)0, & options);
  return;
}
}
static int mark_loose_unreachable_referents(struct object_id  const  *oid , char const   *path___6 ,
                                            void *data )
{


  {
  mark_unreachable_referents(oid);
  return (0);
}
}
static int mark_packed_unreachable_referents(struct object_id  const  *oid , struct packed_git *pack___0 ,
                                             uint32_t pos , void *data )
{


  {
  mark_unreachable_referents(oid);
  return (0);
}
}
static void check_reachable_object(struct object *obj )
{
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  if (! (obj->flags & 4U)) {
    tmp = is_promisor_object((struct object_id  const  *)(& obj->oid));
    if (tmp) {
      return;
    }
    tmp___0 = has_object_pack((struct object_id  const  *)(& obj->oid));
    if (tmp___0) {
      return;
    }
    tmp___1 = describe_object((struct object_id  const  *)(& obj->oid));
    tmp___2 = printable_type((struct object_id  const  *)(& obj->oid), (enum object_type )obj->type);
    tmp___3 = _((char const   *)"missing %s %s");
    printf_ln((char const   *)tmp___3, tmp___2, tmp___1);
    errors_found |= 02;
    return;
  }
  return;
}
}
static void check_unreachable_object(struct object *obj )
{
  char const   *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char *filename___0 ;
  char const   *tmp___5 ;
  char *tmp___6 ;
  char *tmp___7 ;
  FILE *f ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  enum scld_error tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  char const   *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;

  {
  if (! (obj->flags & 4U)) {
    return;
  }
  if (show_unreachable) {
    tmp = describe_object((struct object_id  const  *)(& obj->oid));
    tmp___0 = printable_type((struct object_id  const  *)(& obj->oid), (enum object_type )obj->type);
    tmp___1 = _((char const   *)"unreachable %s %s");
    printf_ln((char const   *)tmp___1, tmp___0, tmp);
    return;
  }
  if (! (obj->flags & 8U)) {
    if (show_dangling) {
      tmp___2 = describe_object((struct object_id  const  *)(& obj->oid));
      tmp___3 = printable_type((struct object_id  const  *)(& obj->oid), (enum object_type )obj->type);
      tmp___4 = _((char const   *)"dangling %s %s");
      printf_ln((char const   *)tmp___4, tmp___3, tmp___2);
    }
    if (write_lost_and_found) {
      tmp___5 = describe_object((struct object_id  const  *)(& obj->oid));
      if (obj->type == 1U) {
        tmp___6 = "commit";
      } else {
        tmp___6 = "other";
      }
      tmp___7 = git_pathdup((char const   *)"lost-found/%s/%s", tmp___6, tmp___5);
      filename___0 = tmp___7;
      tmp___9 = safe_create_leading_directories_const((char const   *)filename___0);
      if (tmp___9) {
        tmp___8 = _((char const   *)"could not create lost-found");
        error((char const   *)tmp___8);
        const_error();
        free((void *)filename___0);
        return;
      }
      f = xfopen((char const   *)filename___0, (char const   *)"w");
      if (obj->type == 3U) {
        tmp___11 = fileno(f);
        tmp___12 = stream_blob_to_fd(tmp___11, (struct object_id  const  *)(& obj->oid),
                                     (struct stream_filter *)((void *)0), 1);
        if (tmp___12) {
          tmp___10 = _((char const   *)"could not write \'%s\'");
          die_errno((char const   *)tmp___10, filename___0);
        }
      } else {
        tmp___13 = describe_object((struct object_id  const  *)(& obj->oid));
        fprintf(f, (char const   *)"%s\n", tmp___13);
      }
      tmp___15 = fclose(f);
      if (tmp___15) {
        tmp___14 = _((char const   *)"could not finish \'%s\'");
        die_errno((char const   *)tmp___14, filename___0);
      }
      free((void *)filename___0);
    }
    return;
  }
  return;
}
}
static void check_object(struct object *obj )
{
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  if (verbose___4) {
    tmp = describe_object((struct object_id  const  *)(& obj->oid));
    tmp___0 = _((char const   *)"Checking %s");
    fprintf_ln(stderr, (char const   *)tmp___0, tmp);
  }
  if (obj->flags & 1U) {
    check_reachable_object(obj);
  } else {
    check_unreachable_object(obj);
  }
  return;
}
}
static void check_connectivity(void)
{
  int i ;
  int max ;
  unsigned int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  struct object *obj ;
  struct object *tmp___1 ;

  {
  traverse_reachable();
  if (connectivity_only) {
    if (show_dangling) {
      for_each_loose_object(& mark_loose_unreachable_referents, (void *)0, (enum for_each_object_flags )0);
      for_each_packed_object(& mark_packed_unreachable_referents, (void *)0, (enum for_each_object_flags )0);
    } else
    if (write_lost_and_found) {
      for_each_loose_object(& mark_loose_unreachable_referents, (void *)0, (enum for_each_object_flags )0);
      for_each_packed_object(& mark_packed_unreachable_referents, (void *)0, (enum for_each_object_flags )0);
    }
  }
  tmp = get_max_object_index();
  max = (int )tmp;
  if (verbose___4) {
    tmp___0 = _((char const   *)"Checking connectivity (%d objects)");
    fprintf_ln(stderr, (char const   *)tmp___0, max);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < max)) {
      goto while_break;
    }
    tmp___1 = get_indexed_object((unsigned int )i);
    obj = tmp___1;
    if (obj) {
      check_object(obj);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int fsck_obj(struct object *obj , void *buffer___5 , unsigned long size )
{
  int err___4 ;
  char const   *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  struct commit *commit ;
  char const   *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  struct tag *tag ;
  char const   *tmp___6 ;
  char const   *tmp___7 ;
  char const   *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;

  {
  if (obj->flags & 2U) {
    return (0);
  }
  obj->flags |= 2U;
  if (verbose___4) {
    tmp = describe_object((struct object_id  const  *)(& obj->oid));
    tmp___0 = printable_type((struct object_id  const  *)(& obj->oid), (enum object_type )obj->type);
    tmp___1 = _((char const   *)"Checking %s %s");
    fprintf_ln(stderr, (char const   *)tmp___1, tmp___0, tmp);
  }
  tmp___3 = fsck_walk(obj, (void *)0, & fsck_obj_options);
  if (tmp___3) {
    tmp___2 = _((char const   *)"broken links");
    objerror(obj, (char const   *)tmp___2);
  }
  err___4 = fsck_object(obj, buffer___5, size, & fsck_obj_options);
  if (err___4) {
    goto out;
  }
  if (obj->type == 1U) {
    commit = (struct commit *)obj;
    if (! commit->parents) {
      if (show_root___0) {
        tmp___4 = describe_object((struct object_id  const  *)(& commit->object.oid));
        tmp___5 = _((char const   *)"root %s");
        printf_ln((char const   *)tmp___5, tmp___4);
      }
    }
  }
  if (obj->type == 4U) {
    tag = (struct tag *)obj;
    if (show_tags) {
      if (tag->tagged) {
        tmp___6 = describe_object((struct object_id  const  *)(& tag->object.oid));
        tmp___7 = describe_object((struct object_id  const  *)(& (tag->tagged)->oid));
        tmp___8 = printable_type((struct object_id  const  *)(& (tag->tagged)->oid),
                                 (enum object_type )(tag->tagged)->type);
        tmp___9 = _((char const   *)"tagged %s %s (%s) in %s");
        printf_ln((char const   *)tmp___9, tmp___8, tmp___7, tag->tag, tmp___6);
      }
    }
  }
  out:
  if (obj->type == 2U) {
    free_tree_buffer((struct tree *)obj);
  }
  if (obj->type == 1U) {
    free_commit_buffer(the_repository->parsed_objects, (struct commit *)obj);
  }
  return (err___4);
}
}
static int fsck_obj_buffer(struct object_id  const  *oid , enum object_type type___0 ,
                           unsigned long size , void *buffer___5 , int *eaten )
{
  struct object *obj ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  obj = parse_object_buffer(the_repository, oid, type___0, size, buffer___5, eaten);
  if (! obj) {
    errors_found |= 01;
    tmp = oid_to_hex(oid);
    tmp___0 = _((char const   *)"%s: object corrupt or missing");
    error((char const   *)tmp___0, tmp);
    tmp___1 = const_error();
    return (tmp___1);
  }
  obj->flags &= 4294967292U;
  obj->flags |= 4U;
  tmp___2 = fsck_obj(obj, buffer___5, size);
  return (tmp___2);
}
}
static int default_refs  ;
static void fsck_handle_reflog_oid(char const   *refname , struct object_id *oid ,
                                   timestamp_t timestamp___0 )
{
  struct object *obj ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___2 = is_null_oid((struct object_id  const  *)oid);
  if (! tmp___2) {
    obj = lookup_object(the_repository, (struct object_id  const  *)oid);
    if (obj) {
      if (obj->flags & 4U) {
        if (timestamp___0) {
          fsck_put_object_name(& fsck_walk_options, (struct object_id  const  *)oid,
                               (char const   *)"%s@{%lu}", refname, timestamp___0);
        }
        obj->flags |= 8U;
        mark_object_reachable(obj);
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      tmp___1 = is_promisor_object((struct object_id  const  *)oid);
      if (! tmp___1) {
        tmp = oid_to_hex((struct object_id  const  *)oid);
        tmp___0 = _((char const   *)"%s: invalid reflog entry %s");
        error((char const   *)tmp___0, refname, tmp);
        const_error();
        errors_found |= 02;
      }
    }
  }
  return;
}
}
static int fsck_handle_reflog_ent(struct object_id *ooid , struct object_id *noid ,
                                  char const   *email , timestamp_t timestamp___0 ,
                                  int tz , char const   *message___0 , void *cb_data )
{
  char const   *refname ;
  char *tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  refname = (char const   *)cb_data;
  if (verbose___4) {
    tmp = oid_to_hex((struct object_id  const  *)noid);
    tmp___0 = oid_to_hex((struct object_id  const  *)ooid);
    tmp___1 = _((char const   *)"Checking reflog %s->%s");
    fprintf_ln(stderr, (char const   *)tmp___1, tmp___0, tmp);
  }
  fsck_handle_reflog_oid(refname, ooid, (timestamp_t )0);
  fsck_handle_reflog_oid(refname, noid, timestamp___0);
  return (0);
}
}
static int fsck_handle_reflog(char const   *logname , struct object_id  const  *oid ,
                              int flag , void *cb_data )
{
  struct strbuf refname ;

  {
  refname.alloc = 0UL;
  refname.len = 0UL;
  refname.buf = strbuf_slopbuf;
  strbuf_worktree_ref((struct worktree  const  *)cb_data, & refname, logname);
  for_each_reflog_ent((char const   *)refname.buf, & fsck_handle_reflog_ent, (void *)refname.buf);
  strbuf_release(& refname);
  return (0);
}
}
static int fsck_handle_ref(char const   *refname , struct object_id  const  *oid ,
                           int flag , void *cb_data )
{
  struct object *obj ;
  int tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  obj = parse_object(the_repository, oid);
  if (! obj) {
    tmp = is_promisor_object(oid);
    if (tmp) {
      default_refs ++;
      return (0);
    }
    tmp___0 = oid_to_hex(oid);
    tmp___1 = _((char const   *)"%s: invalid sha1 pointer %s");
    error((char const   *)tmp___1, refname, tmp___0);
    const_error();
    errors_found |= 02;
    return (0);
  }
  if (obj->type != 1U) {
    tmp___3 = is_branch(refname);
    if (tmp___3) {
      tmp___2 = _((char const   *)"%s: not a commit");
      error((char const   *)tmp___2, refname);
      const_error();
      errors_found |= 010;
    }
  }
  default_refs ++;
  obj->flags |= 8U;
  fsck_put_object_name(& fsck_walk_options, oid, (char const   *)"%s", refname);
  mark_object_reachable(obj);
  return (0);
}
}
static int fsck_head_link(char const   *head_ref_name , char const   **head_points_at ,
                          struct object_id *head_oid___1 ) ;
static void get_default_heads(void)
{
  struct worktree **worktrees ;
  struct worktree **p___0 ;
  char const   *head_points_at ;
  struct object_id head_oid___1 ;
  struct worktree *wt ;
  struct strbuf ref ;
  int tmp ;
  struct ref_store *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  for_each_rawref(& fsck_handle_ref, (void *)0);
  worktrees = get_worktrees();
  p___0 = worktrees;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    wt = *p___0;
    ref.alloc = 0UL;
    ref.len = 0UL;
    ref.buf = strbuf_slopbuf;
    strbuf_worktree_ref((struct worktree  const  *)wt, & ref, (char const   *)"HEAD");
    fsck_head_link((char const   *)ref.buf, & head_points_at, & head_oid___1);
    if (head_points_at) {
      tmp = is_null_oid((struct object_id  const  *)(& head_oid___1));
      if (! tmp) {
        fsck_handle_ref((char const   *)ref.buf, (struct object_id  const  *)(& head_oid___1),
                        0, (void *)0);
      }
    }
    strbuf_release(& ref);
    if (include_reflogs) {
      tmp___0 = get_worktree_ref_store((struct worktree  const  *)wt);
      refs_for_each_reflog(tmp___0, & fsck_handle_reflog, (void *)wt);
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  free_worktrees(worktrees);
  if (! default_refs) {
    tmp___1 = _((char const   *)"notice: No default references");
    fprintf_ln(stderr, (char const   *)tmp___1);
    show_unreachable = 0;
  }
  return;
}
}
static int fsck_loose(struct object_id  const  *oid , char const   *path___6 , void *data )
{
  struct for_each_loose_cb *cb_data ;
  struct object *obj ;
  enum object_type type___0 ;
  unsigned long size ;
  void *contents ;
  int eaten ;
  struct object_info oi___0 ;
  struct object_id real_oid ;
  struct object_id  const  *tmp ;
  int err___4 ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;

  {
  cb_data = (struct for_each_loose_cb *)data;
  type___0 = (enum object_type )0;
  contents = (void *)0;
  oi___0.typep = (enum object_type *)0;
  oi___0.sizep = (unsigned long *)0;
  oi___0.disk_sizep = (off_t *)0;
  oi___0.delta_base_oid = (struct object_id *)0;
  oi___0.type_name = (struct strbuf *)0;
  oi___0.contentp = (void **)0;
  oi___0.whence = 0U;
  oi___0.u.packed.pack = (struct packed_git *)0;
  oi___0.u.packed.offset = 0L;
  oi___0.u.packed.is_delta = 0U;
  tmp = null_oid();
  real_oid = *tmp;
  err___4 = 0;
  strbuf_setlen___33(& cb_data->obj_type, (size_t )0);
  oi___0.type_name = & cb_data->obj_type;
  oi___0.sizep = & size;
  oi___0.typep = & type___0;
  tmp___5 = read_loose_object(path___6, oid, & real_oid, & contents, & oi___0);
  if (tmp___5 < 0) {
    if (contents) {
      tmp___4 = oideq((struct object_id  const  *)(& real_oid), oid);
      if (tmp___4) {
        tmp___2 = oid_to_hex(oid);
        tmp___3 = _((char const   *)"%s: object corrupt or missing: %s");
        error((char const   *)tmp___3, tmp___2, path___6);
        err___4 = const_error();
      } else {
        tmp___0 = oid_to_hex((struct object_id  const  *)(& real_oid));
        tmp___1 = _((char const   *)"%s: hash-path mismatch, found at: %s");
        error((char const   *)tmp___1, tmp___0, path___6);
        err___4 = const_error();
      }
    } else {
      tmp___2 = oid_to_hex(oid);
      tmp___3 = _((char const   *)"%s: object corrupt or missing: %s");
      error((char const   *)tmp___3, tmp___2, path___6);
      err___4 = const_error();
    }
  }
  if ((int )type___0 != 0) {
    if ((int )type___0 < 0) {
      tmp___6 = oid_to_hex((struct object_id  const  *)(& real_oid));
      tmp___7 = _((char const   *)"%s: object is of unknown type \'%s\': %s");
      error((char const   *)tmp___7, tmp___6, cb_data->obj_type.buf, path___6);
      err___4 = const_error();
    }
  }
  if (err___4 < 0) {
    errors_found |= 01;
    free(contents);
    return (0);
  }
  if (! contents) {
    if ((int )type___0 != 3) {
      BUG_fl((char const   *)"builtin/fsck.c", 638, (char const   *)"read_loose_object streamed a non-blob");
    }
  }
  obj = parse_object_buffer(the_repository, oid, type___0, size, contents, & eaten);
  if (! obj) {
    errors_found |= 01;
    tmp___8 = oid_to_hex(oid);
    tmp___9 = _((char const   *)"%s: object could not be parsed: %s");
    error((char const   *)tmp___9, tmp___8, path___6);
    const_error();
    if (! eaten) {
      free(contents);
    }
    return (0);
  }
  obj->flags &= 4294967292U;
  obj->flags |= 4U;
  tmp___10 = fsck_obj(obj, contents, size);
  if (tmp___10) {
    errors_found |= 01;
  }
  if (! eaten) {
    free(contents);
  }
  return (0);
}
}
static int fsck_cruft(char const   *__xpg_basename___0 , char const   *path___6 ,
                      void *data )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  tmp___0 = starts_with(__xpg_basename___0, (char const   *)"tmp_obj_");
  if (! tmp___0) {
    tmp = _((char const   *)"bad sha1 file: %s");
    fprintf_ln(stderr, (char const   *)tmp, path___6);
  }
  return (0);
}
}
static int fsck_subdir(unsigned int nr___0 , char const   *path___6 , void *data )
{
  struct for_each_loose_cb *cb_data ;
  struct progress *progress___7 ;

  {
  cb_data = (struct for_each_loose_cb *)data;
  progress___7 = cb_data->progress;
  display_progress(progress___7, (uint64_t )(nr___0 + 1U));
  return (0);
}
}
static void fsck_object_dir(char const   *path___6 )
{
  struct progress *progress___7 ;
  struct for_each_loose_cb cb_data ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  progress___7 = (struct progress *)((void *)0);
  cb_data.progress = progress___7;
  cb_data.obj_type.alloc = 0UL;
  cb_data.obj_type.len = 0UL;
  cb_data.obj_type.buf = strbuf_slopbuf;
  if (verbose___4) {
    tmp = _((char const   *)"Checking object directory");
    fprintf_ln(stderr, (char const   *)tmp);
  }
  if (show_progress___1) {
    tmp___0 = _((char const   *)"Checking object directories");
    progress___7 = start_progress((char const   *)tmp___0, (uint64_t )256);
  }
  for_each_loose_file_in_objdir(path___6, & fsck_loose, & fsck_cruft, & fsck_subdir,
                                (void *)(& cb_data));
  display_progress(progress___7, (uint64_t )256);
  stop_progress(& progress___7);
  strbuf_release(& cb_data.obj_type);
  return;
}
}
static int fsck_head_link(char const   *head_ref_name , char const   **head_points_at ,
                          struct object_id *head_oid___1 )
{
  int null_is_error ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;

  {
  null_is_error = 0;
  if (verbose___4) {
    tmp = _((char const   *)"Checking %s link");
    fprintf_ln(stderr, (char const   *)tmp, head_ref_name);
  }
  *head_points_at = resolve_ref_unsafe(head_ref_name, 0, head_oid___1, (int *)((void *)0));
  if (! *head_points_at) {
    errors_found |= 010;
    tmp___0 = _((char const   *)"invalid %s");
    error((char const   *)tmp___0, head_ref_name);
    tmp___1 = const_error();
    return (tmp___1);
  }
  tmp___5 = strcmp(*head_points_at, head_ref_name);
  if (tmp___5) {
    tmp___4 = starts_with(*head_points_at, (char const   *)"refs/heads/");
    if (! tmp___4) {
      errors_found |= 010;
      tmp___2 = _((char const   *)"%s points to something strange (%s)");
      error((char const   *)tmp___2, head_ref_name, *head_points_at);
      tmp___3 = const_error();
      return (tmp___3);
    }
  } else {
    null_is_error = 1;
  }
  tmp___9 = is_null_oid((struct object_id  const  *)head_oid___1);
  if (tmp___9) {
    if (null_is_error) {
      errors_found |= 010;
      tmp___6 = _((char const   *)"%s: detached HEAD points at nothing");
      error((char const   *)tmp___6, head_ref_name);
      tmp___7 = const_error();
      return (tmp___7);
    }
    tmp___8 = _((char const   *)"notice: %s points to an unborn branch (%s)");
    fprintf_ln(stderr, (char const   *)tmp___8, head_ref_name, *head_points_at + 11);
  }
  return (0);
}
}
static int fsck_cache_tree(struct cache_tree *it )
{
  int i ;
  int err___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct object *obj ;
  struct object *tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  err___4 = 0;
  if (verbose___4) {
    tmp = _((char const   *)"Checking cache tree");
    fprintf_ln(stderr, (char const   *)tmp);
  }
  if (0 <= it->entry_count) {
    tmp___0 = parse_object(the_repository, (struct object_id  const  *)(& it->oid));
    obj = tmp___0;
    if (! obj) {
      tmp___1 = oid_to_hex((struct object_id  const  *)(& it->oid));
      tmp___2 = _((char const   *)"%s: invalid sha1 pointer in cache-tree");
      error((char const   *)tmp___2, tmp___1);
      const_error();
      errors_found |= 010;
      return (1);
    }
    obj->flags |= 8U;
    fsck_put_object_name(& fsck_walk_options, (struct object_id  const  *)(& it->oid),
                         (char const   *)":");
    mark_object_reachable(obj);
    if (obj->type != 2U) {
      tmp___3 = _((char const   *)"non-tree in cache-tree");
      tmp___4 = objerror(obj, (char const   *)tmp___3);
      err___4 |= tmp___4;
    }
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < it->subtree_nr)) {
      goto while_break;
    }
    tmp___5 = fsck_cache_tree((*(it->down + i))->cache_tree);
    err___4 |= tmp___5;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (err___4);
}
}
static void mark_object_for_connectivity(struct object_id  const  *oid )
{
  struct object *obj ;
  struct object *tmp ;

  {
  tmp = lookup_unknown_object(the_repository, oid);
  obj = tmp;
  obj->flags |= 4U;
  return;
}
}
static int mark_loose_for_connectivity(struct object_id  const  *oid , char const   *path___6 ,
                                       void *data )
{


  {
  mark_object_for_connectivity(oid);
  return (0);
}
}
static int mark_packed_for_connectivity(struct object_id  const  *oid , struct packed_git *pack___0 ,
                                        uint32_t pos , void *data )
{


  {
  mark_object_for_connectivity(oid);
  return (0);
}
}
static char const   *fsck_usage[2]  = {      (char const   *)"git fsck [<options>] [<object>...]",      (char const   *)((void *)0)};
static struct option fsck_opts[14]  =
  {      {(enum parse_opt_type )7, 'v', (char const   *)"verbose", (void *)(& verbose___4),
      (char const   *)((void *)0), (char const   *)"be verbose", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"unreachable", (void *)(& show_unreachable),
      (char const   *)((void *)0), (char const   *)"show unreachable objects", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"dangling", (void *)(& show_dangling),
      (char const   *)((void *)0), (char const   *)"show dangling objects", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"tags", (void *)(& show_tags), (char const   *)((void *)0),
      (char const   *)"report tags", (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0),
      (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"root", (void *)(& show_root___0),
      (char const   *)((void *)0), (char const   *)"report root nodes", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"cache", (void *)(& keep_cache_objects),
      (char const   *)((void *)0), (char const   *)"make index objects head nodes",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"reflogs", (void *)(& include_reflogs),
      (char const   *)((void *)0), (char const   *)"make reflogs head nodes (default)",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"full", (void *)(& check_full),
      (char const   *)((void *)0), (char const   *)"also consider packs and alternate objects",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"connectivity-only", (void *)(& connectivity_only),
      (char const   *)((void *)0), (char const   *)"check only connectivity", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"strict", (void *)(& check_strict),
      (char const   *)((void *)0), (char const   *)"enable more strict checking",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"lost-found", (void *)(& write_lost_and_found),
      (char const   *)((void *)0), (char const   *)"write dangling objects in .git/lost-found",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"progress", (void *)(& show_progress___1),
      (char const   *)((void *)0), (char const   *)"show progress", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"name-objects", (void *)(& name_objects),
      (char const   *)((void *)0), (char const   *)"show verbose names for reachable objects",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
int cmd_fsck(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  struct object_directory *odb ;
  struct packed_git *p___0 ;
  uint32_t total ;
  uint32_t count___0 ;
  struct progress *progress___7 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const   *arg ;
  struct object_id oid ;
  struct object *obj ;
  struct object *tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  unsigned int mode___1 ;
  struct blob *blob ;
  struct object *obj___0 ;
  struct child_process commit_graph_verify ;
  int tmp___9 ;
  struct child_process midx_verify ;
  int tmp___10 ;

  {
  fetch_if_missing = 0;
  errors_found = 0;
  read_replace_refs = 0;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(fsck_opts),
                       fsck_usage, (enum parse_opt_flags )0);
  fsck_walk_options.walk = & mark_object___1;
  fsck_obj_options.walk = & mark_used;
  fsck_obj_options.error_func = & fsck_error_func;
  if (check_strict) {
    fsck_obj_options.strict = 1U;
  }
  if (show_progress___1 == -1) {
    show_progress___1 = isatty(2);
  }
  if (verbose___4) {
    show_progress___1 = 0;
  }
  if (write_lost_and_found) {
    check_full = 1;
    include_reflogs = 0;
  }
  if (name_objects) {
    fsck_enable_object_names(& fsck_walk_options);
  }
  git_config(& git_fsck_config, (void *)(& fsck_obj_options));
  prepare_repo_settings(the_repository);
  if (connectivity_only) {
    for_each_loose_object(& mark_loose_for_connectivity, (void *)0, (enum for_each_object_flags )0);
    for_each_packed_object(& mark_packed_for_connectivity, (void *)0, (enum for_each_object_flags )0);
  } else {
    prepare_alt_odb(the_repository);
    odb = (the_repository->objects)->odb;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! odb) {
        goto while_break;
      }
      fsck_object_dir((char const   *)odb->path);
      odb = odb->next;
    }
    while_break: /* CIL Label */ ;
    }
    if (check_full) {
      total = (uint32_t )0;
      count___0 = (uint32_t )0;
      progress___7 = (struct progress *)((void *)0);
      if (show_progress___1) {
        p___0 = get_all_packs(the_repository);
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          if (! p___0) {
            goto while_break___0;
          }
          tmp = open_pack_index(p___0);
          if (tmp) {
            goto __Cont;
          }
          total += p___0->num_objects;
          __Cont: /* CIL Label */
          p___0 = p___0->next;
        }
        while_break___0: /* CIL Label */ ;
        }
        tmp___0 = _((char const   *)"Checking objects");
        progress___7 = start_progress((char const   *)tmp___0, (uint64_t )total);
      }
      p___0 = get_all_packs(the_repository);
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! p___0) {
          goto while_break___1;
        }
        tmp___1 = verify_pack(the_repository, p___0, & fsck_obj_buffer, progress___7,
                              count___0);
        if (tmp___1) {
          errors_found |= 04;
        }
        count___0 += p___0->num_objects;
        p___0 = p___0->next;
      }
      while_break___1: /* CIL Label */ ;
      }
      stop_progress(& progress___7);
    }
    tmp___2 = fsck_finish(& fsck_obj_options);
    if (tmp___2) {
      errors_found |= 01;
    }
  }
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break___2;
    }
    arg = *(argv___0 + i);
    tmp___7 = repo_get_oid(the_repository, arg, & oid);
    if (! tmp___7) {
      tmp___3 = lookup_object(the_repository, (struct object_id  const  *)(& oid));
      obj = tmp___3;
      if (! obj) {
        goto _L;
      } else
      if (! (obj->flags & 4U)) {
        _L: /* CIL Label */
        tmp___4 = is_promisor_object((struct object_id  const  *)(& oid));
        if (tmp___4) {
          goto __Cont___0;
        }
        tmp___5 = oid_to_hex((struct object_id  const  *)(& oid));
        tmp___6 = _((char const   *)"%s: object missing");
        error((char const   *)tmp___6, tmp___5);
        const_error();
        errors_found |= 01;
        goto __Cont___0;
      }
      obj->flags |= 8U;
      fsck_put_object_name(& fsck_walk_options, (struct object_id  const  *)(& oid),
                           (char const   *)"%s", arg);
      mark_object_reachable(obj);
      goto __Cont___0;
    }
    tmp___8 = _((char const   *)"invalid parameter: expected sha1, got \'%s\'");
    error((char const   *)tmp___8, arg);
    const_error();
    errors_found |= 01;
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  if (! argc) {
    get_default_heads();
    keep_cache_objects = 1;
  }
  if (keep_cache_objects) {
    verify_index_checksum = 1;
    verify_ce_order = 1;
    repo_read_index(the_repository);
    ensure_full_index(& the_index);
    i = 0;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! ((unsigned int )i < the_index.cache_nr)) {
        goto while_break___3;
      }
      mode___1 = (*(the_index.cache + i))->ce_mode;
      if ((mode___1 & 61440U) == 57344U) {
        goto __Cont___1;
      }
      blob = lookup_blob(the_repository, (struct object_id  const  *)(& (*(the_index.cache + i))->oid));
      if (! blob) {
        goto __Cont___1;
      }
      obj___0 = & blob->object;
      obj___0->flags |= 8U;
      fsck_put_object_name(& fsck_walk_options, (struct object_id  const  *)(& obj___0->oid),
                           (char const   *)":%s", (*(the_index.cache + i))->name);
      mark_object_reachable(obj___0);
      __Cont___1: /* CIL Label */
      i ++;
    }
    while_break___3: /* CIL Label */ ;
    }
    if (the_index.cache_tree) {
      fsck_cache_tree(the_index.cache_tree);
    }
  }
  check_connectivity();
  if (the_repository->settings.core_commit_graph) {
    commit_graph_verify.args.v = empty_strvec;
    commit_graph_verify.args.nr = 0UL;
    commit_graph_verify.args.alloc = 0UL;
    commit_graph_verify.env_array.v = empty_strvec;
    commit_graph_verify.env_array.nr = 0UL;
    commit_graph_verify.env_array.alloc = 0UL;
    commit_graph_verify.pid = 0;
    commit_graph_verify.trace2_child_id = 0;
    commit_graph_verify.trace2_child_us_start = 0UL;
    commit_graph_verify.trace2_child_class = (char const   *)0;
    commit_graph_verify.trace2_hook_name = (char const   *)0;
    commit_graph_verify.in = 0;
    commit_graph_verify.out = 0;
    commit_graph_verify.err = 0;
    commit_graph_verify.dir = (char const   *)0;
    commit_graph_verify.no_stdin = 0U;
    commit_graph_verify.no_stdout = 0U;
    commit_graph_verify.no_stderr = 0U;
    commit_graph_verify.git_cmd = 0U;
    commit_graph_verify.silent_exec_failure = 0U;
    commit_graph_verify.use_shell = 0U;
    commit_graph_verify.close_object_store = 0U;
    commit_graph_verify.stdout_to_stderr = 0U;
    commit_graph_verify.clean_on_exit = 0U;
    commit_graph_verify.wait_after_clean = 0U;
    commit_graph_verify.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    commit_graph_verify.clean_on_exit_handler_cbdata = (void *)0;
    prepare_alt_odb(the_repository);
    odb = (the_repository->objects)->odb;
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (! odb) {
        goto while_break___4;
      }
      child_process_init(& commit_graph_verify);
      commit_graph_verify.git_cmd = 1U;
      strvec_pushl(& commit_graph_verify.args, "commit-graph", "verify", "--object-dir",
                   odb->path, (void *)0);
      tmp___9 = run_command(& commit_graph_verify);
      if (tmp___9) {
        errors_found |= 020;
      }
      odb = odb->next;
    }
    while_break___4: /* CIL Label */ ;
    }
  }
  if (the_repository->settings.core_multi_pack_index) {
    midx_verify.args.v = empty_strvec;
    midx_verify.args.nr = 0UL;
    midx_verify.args.alloc = 0UL;
    midx_verify.env_array.v = empty_strvec;
    midx_verify.env_array.nr = 0UL;
    midx_verify.env_array.alloc = 0UL;
    midx_verify.pid = 0;
    midx_verify.trace2_child_id = 0;
    midx_verify.trace2_child_us_start = 0UL;
    midx_verify.trace2_child_class = (char const   *)0;
    midx_verify.trace2_hook_name = (char const   *)0;
    midx_verify.in = 0;
    midx_verify.out = 0;
    midx_verify.err = 0;
    midx_verify.dir = (char const   *)0;
    midx_verify.no_stdin = 0U;
    midx_verify.no_stdout = 0U;
    midx_verify.no_stderr = 0U;
    midx_verify.git_cmd = 0U;
    midx_verify.silent_exec_failure = 0U;
    midx_verify.use_shell = 0U;
    midx_verify.close_object_store = 0U;
    midx_verify.stdout_to_stderr = 0U;
    midx_verify.clean_on_exit = 0U;
    midx_verify.wait_after_clean = 0U;
    midx_verify.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    midx_verify.clean_on_exit_handler_cbdata = (void *)0;
    prepare_alt_odb(the_repository);
    odb = (the_repository->objects)->odb;
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      if (! odb) {
        goto while_break___5;
      }
      child_process_init(& midx_verify);
      midx_verify.git_cmd = 1U;
      strvec_pushl(& midx_verify.args, "multi-pack-index", "verify", "--object-dir",
                   odb->path, (void *)0);
      tmp___10 = run_command(& midx_verify);
      if (tmp___10) {
        errors_found |= 040;
      }
      odb = odb->next;
    }
    while_break___5: /* CIL Label */ ;
    }
  }
  return (errors_found);
}
}
static double const   __ac_HASH_UPPER___126  =    (double const   )0.77;
__inline static void kh_resize_oid_set___126(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___126(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___126 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___126 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___126(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___126(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___126(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___126(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___126(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___126(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___126 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___126 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___126(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___126(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___126(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___126(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___126(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___126(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___126 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___126 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___126(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___126(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___126(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___126(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___93(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___93(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___126 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___126 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___93(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___93(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___93(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___93(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void oe_set_type___5(struct object_entry *e , enum object_type type___0 )
{


  {
  if ((int )type___0 >= 8) {
    BUG_fl((char const   *)"./pack-objects.h", 220, (char const   *)"OBJ_ANY cannot be set in pack-objects code");
  }
  e->type_valid = (unsigned int )((int )type___0 >= 0);
  e->type_ = (unsigned int )type___0;
  return;
}
}
static char const   *builtin_gc_usage[2]  = {      (char const   *)"git gc [<options>]",      (char const   *)((void *)0)};
static int pack_refs  =    1;
static int prune_reflogs  =    1;
static int aggressive_depth  =    50;
static int aggressive_window  =    250;
static int gc_auto_threshold  =    6700;
static int gc_auto_pack_limit  =    50;
static int detach_auto  =    1;
static timestamp_t gc_log_expire_time  ;
static char const   *gc_log_expire  =    (char const   *)"1.day.ago";
static char const   *prune_expire  =    (char const   *)"2.weeks.ago";
static char const   *prune_worktrees_expire  =    (char const   *)"3.months.ago";
static unsigned long big_pack_threshold  ;
static unsigned long max_delta_cache_size  =    268435456UL;
static struct strvec reflog  =    {empty_strvec, 0UL, 0UL};
static struct strvec repack  =    {empty_strvec, 0UL, 0UL};
static struct strvec prune___0  =    {empty_strvec, 0UL, 0UL};
static struct strvec prune_worktrees  =    {empty_strvec, 0UL, 0UL};
static struct strvec rerere  =    {empty_strvec, 0UL, 0UL};
static struct tempfile *pidfile  ;
static struct lock_file log_lock  ;
static struct string_list pack_garbage  =    {(struct string_list_item *)0, 0U, 0U, 1U, (int (*)(char const   * , char const   * ))0};
static void clean_pack_garbage(void)
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < pack_garbage.nr)) {
      goto while_break;
    }
    unlink_or_warn((char const   *)(pack_garbage.items + i)->string);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_clear(& pack_garbage, 0);
  return;
}
}
static void report_pack_garbage___0(unsigned int seen_bits , char const   *path___6 )
{


  {
  if (seen_bits == 2U) {
    string_list_append(& pack_garbage, path___6);
  }
  return;
}
}
static void process_log_file(void)
{
  struct stat st ;
  int saved_errno ;
  int *tmp ;
  char *tmp___0 ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int *tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  tmp___5 = get_lock_file_fd(& log_lock);
  tmp___6 = fstat(tmp___5, & st);
  if (tmp___6) {
    tmp = __errno_location();
    saved_errno = *tmp;
    tmp___0 = strerror(saved_errno);
    tmp___1 = get_lock_file_path(& log_lock);
    tmp___2 = _((char const   *)"Failed to fstat %s: %s");
    fprintf(stderr, (char const   *)tmp___2, tmp___1, tmp___0);
    fflush(stderr);
    commit_lock_file(& log_lock);
    tmp___3 = __errno_location();
    *tmp___3 = saved_errno;
  } else
  if (st.st_size) {
    commit_lock_file(& log_lock);
  } else {
    tmp___4 = git_path((char const   *)"gc.log");
    unlink(tmp___4);
    rollback_lock_file(& log_lock);
  }
  return;
}
}
static void process_log_file_at_exit(void)
{


  {
  fflush(stderr);
  process_log_file();
  return;
}
}
static void process_log_file_on_signal(int signo )
{


  {
  process_log_file();
  sigchain_pop(signo);
  raise(signo);
  return;
}
}
static int gc_config_is_timestamp_never(char const   *var )
{
  char const   *value ;
  timestamp_t expire___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp___1 = git_config_get_value(var, & value);
  if (! tmp___1) {
    if (value) {
      tmp___0 = parse_expiry_date(value, & expire___1);
      if (tmp___0) {
        tmp = _((char const   *)"failed to parse \'%s\' value \'%s\'");
        die((char const   *)tmp, var, value);
      }
      return (expire___1 == 0UL);
    }
  }
  return (0);
}
}
static void gc_config(void)
{
  char const   *value ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___0 = git_config_get_value((char const   *)"gc.packrefs", & value);
  if (! tmp___0) {
    if (value) {
      tmp = strcmp(value, (char const   *)"notbare");
      if (tmp) {
        pack_refs = git_config_bool((char const   *)"gc.packrefs", value);
      } else {
        pack_refs = -1;
      }
    } else {
      pack_refs = git_config_bool((char const   *)"gc.packrefs", value);
    }
  }
  tmp___1 = gc_config_is_timestamp_never((char const   *)"gc.reflogexpire");
  if (tmp___1) {
    tmp___2 = gc_config_is_timestamp_never((char const   *)"gc.reflogexpireunreachable");
    if (tmp___2) {
      prune_reflogs = 0;
    }
  }
  git_config_get_int((char const   *)"gc.aggressivewindow", & aggressive_window);
  git_config_get_int((char const   *)"gc.aggressivedepth", & aggressive_depth);
  git_config_get_int((char const   *)"gc.auto", & gc_auto_threshold);
  git_config_get_int((char const   *)"gc.autopacklimit", & gc_auto_pack_limit);
  git_config_get_bool((char const   *)"gc.autodetach", & detach_auto);
  git_config_get_expiry((char const   *)"gc.pruneexpire", & prune_expire);
  git_config_get_expiry((char const   *)"gc.worktreepruneexpire", & prune_worktrees_expire);
  git_config_get_expiry((char const   *)"gc.logexpiry", & gc_log_expire);
  git_config_get_ulong((char const   *)"gc.bigpackthreshold", & big_pack_threshold);
  git_config_get_ulong((char const   *)"pack.deltacachesize", & max_delta_cache_size);
  git_config(& git_default_config, (void *)0);
  return;
}
}
static int maintenance_task_pack_refs(struct maintenance_run_opts *opts___1  __attribute__((__unused__)) )
{
  struct strvec pack_refs_cmd ;
  int tmp ;

  {
  pack_refs_cmd.v = empty_strvec;
  pack_refs_cmd.nr = 0UL;
  pack_refs_cmd.alloc = 0UL;
  strvec_pushl(& pack_refs_cmd, "pack-refs", "--all", "--prune", (void *)0);
  tmp = run_command_v_opt(pack_refs_cmd.v, 1 << 1);
  return (tmp);
}
}
static int too_many_loose_objects(void)
{
  DIR *dir ;
  struct dirent *ent ;
  int auto_threshold ;
  int num_loose ;
  int needed ;
  unsigned int hexsz_loose ;
  char const   *tmp ;
  size_t tmp___0 ;

  {
  num_loose = 0;
  needed = 0;
  hexsz_loose = (unsigned int )((the_repository->hash_algo)->hexsz - 2UL);
  tmp = git_path((char const   *)"objects/17");
  dir = opendir(tmp);
  if (! dir) {
    return (0);
  }
  auto_threshold = ((gc_auto_threshold + 256) - 1) / 256;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    ent = readdir(dir);
    if (! ((unsigned long )ent != (unsigned long )((void *)0))) {
      goto while_break;
    }
    tmp___0 = strspn((char const   *)(ent->d_name), (char const   *)"0123456789abcdef");
    if (tmp___0 != (size_t )hexsz_loose) {
      goto while_continue;
    } else
    if ((int )ent->d_name[hexsz_loose] != 0) {
      goto while_continue;
    }
    num_loose ++;
    if (num_loose > auto_threshold) {
      needed = 1;
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  closedir(dir);
  return (needed);
}
}
static struct packed_git *find_base_packs(struct string_list *packs , unsigned long limit___1 )
{
  struct packed_git *p___0 ;
  struct packed_git *base ;

  {
  base = (struct packed_git *)((void *)0);
  p___0 = get_all_packs(the_repository);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if (! p___0->pack_local) {
      goto __Cont;
    }
    if (limit___1) {
      if ((unsigned long )p___0->pack_size >= limit___1) {
        string_list_append(packs, (char const   *)(p___0->pack_name));
      }
    } else
    if (! base) {
      base = p___0;
    } else
    if (base->pack_size < p___0->pack_size) {
      base = p___0;
    }
    __Cont: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (base) {
    string_list_append(packs, (char const   *)(base->pack_name));
  }
  return (base);
}
}
static int too_many_packs(void)
{
  struct packed_git *p___0 ;
  int cnt ;

  {
  if (gc_auto_pack_limit <= 0) {
    return (0);
  }
  cnt = 0;
  p___0 = get_all_packs(the_repository);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if (! p___0->pack_local) {
      goto __Cont;
    }
    if (p___0->pack_keep) {
      goto __Cont;
    }
    cnt ++;
    __Cont: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (gc_auto_pack_limit < cnt);
}
}
static uint64_t total_ram(void)
{
  struct sysinfo si ;
  int tmp ;

  {
  tmp = sysinfo(& si);
  if (! tmp) {
    return (si.totalram);
  }
  return ((uint64_t )0);
}
}
static uint64_t estimate_repack_memory(struct packed_git *pack___0 )
{
  unsigned long nr_objects___1 ;
  unsigned long tmp ;
  size_t os_cache ;
  size_t heap ;

  {
  tmp = repo_approximate_object_count(the_repository);
  nr_objects___1 = tmp;
  if (! pack___0) {
    return ((uint64_t )0);
  } else
  if (! nr_objects___1) {
    return ((uint64_t )0);
  }
  os_cache = (size_t )pack___0->pack_size + pack___0->index_size;
  heap = sizeof(struct object_entry ) * nr_objects___1;
  heap += (sizeof(struct blob ) * nr_objects___1) / 2UL;
  heap += (sizeof(struct tree ) * nr_objects___1) / 2UL;
  heap += sizeof(struct object *) * nr_objects___1;
  heap += (sizeof(off_t ) + sizeof(uint32_t )) * nr_objects___1;
  heap += delta_base_cache_limit;
  heap += max_delta_cache_size;
  return (os_cache + heap);
}
}
static int keep_one_pack(struct string_list_item *item___0 , void *data )
{
  char *tmp ;

  {
  tmp = __xpg_basename(item___0->string);
  strvec_pushf(& repack, (char const   *)"--keep-pack=%s", tmp);
  return (0);
}
}
static void add_repack_all_option(struct string_list *keep_pack___0 )
{
  int tmp ;

  {
  if (prune_expire) {
    tmp = strcmp(prune_expire, (char const   *)"now");
    if (tmp) {
      goto _L;
    } else {
      strvec_push(& repack, (char const   *)"-a");
    }
  } else {
    _L: /* CIL Label */
    strvec_push(& repack, (char const   *)"-A");
    if (prune_expire) {
      strvec_pushf(& repack, (char const   *)"--unpack-unreachable=%s", prune_expire);
    }
  }
  if (keep_pack___0) {
    for_each_string_list(keep_pack___0, & keep_one_pack, (void *)0);
  }
  return;
}
}
static void add_repack_incremental_option(void)
{


  {
  strvec_push(& repack, (char const   *)"--no-write-bitmap-index");
  return;
}
}
static int need_to_gc(void)
{
  struct string_list keep_pack___0 ;
  struct packed_git *p___0 ;
  struct packed_git *tmp ;
  uint64_t mem_have ;
  uint64_t mem_want ;
  int tmp___0 ;
  int tmp___1 ;
  int __attribute__((__sentinel__))  tmp___2 ;

  {
  if (gc_auto_threshold <= 0) {
    return (0);
  }
  tmp___1 = too_many_packs();
  if (tmp___1) {
    keep_pack___0.items = (struct string_list_item *)0;
    keep_pack___0.nr = 0U;
    keep_pack___0.alloc = 0U;
    keep_pack___0.strdup_strings = 0U;
    keep_pack___0.cmp = (int (*)(char const   * , char const   * ))0;
    if (big_pack_threshold) {
      find_base_packs(& keep_pack___0, big_pack_threshold);
      if (keep_pack___0.nr >= (unsigned int )gc_auto_pack_limit) {
        big_pack_threshold = 0UL;
        string_list_clear(& keep_pack___0, 0);
        find_base_packs(& keep_pack___0, 0UL);
      }
    } else {
      tmp = find_base_packs(& keep_pack___0, 0UL);
      p___0 = tmp;
      mem_have = total_ram();
      mem_want = estimate_repack_memory(p___0);
      if (! mem_have) {
        string_list_clear(& keep_pack___0, 0);
      } else
      if (mem_want < mem_have / 2UL) {
        string_list_clear(& keep_pack___0, 0);
      }
    }
    add_repack_all_option(& keep_pack___0);
    string_list_clear(& keep_pack___0, 0);
  } else {
    tmp___0 = too_many_loose_objects();
    if (tmp___0) {
      add_repack_incremental_option();
    } else {
      return (0);
    }
  }
  tmp___2 = run_hook_le((char const   **)((void *)0), (char const   *)"pre-auto-gc",
                        (void *)0);
  if (tmp___2) {
    return (0);
  }
  return (1);
}
}
static char locking_host[65]  ;
static char *scan_fmt  ;
static char const   *lock_repo_for_gc(int force___2 , pid_t *ret_pid )
{
  struct lock_file lock___0 ;
  char my_host[65] ;
  struct strbuf sb___6 ;
  struct stat st ;
  uintmax_t pid ;
  FILE *fp ;
  int fd ;
  char *pidfile_path ;
  int tmp ;
  int tmp___0 ;
  int should_exit ;
  int tmp___1 ;
  int tmp___2 ;
  time_t tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int *tmp___7 ;
  int tmp___8 ;
  __pid_t tmp___9 ;

  {
  lock___0.tempfile = (struct tempfile *)0;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = is_tempfile_active(pidfile);
  if (tmp) {
    return ((char const   *)((void *)0));
  }
  tmp___0 = xgethostname(my_host, sizeof(my_host));
  if (tmp___0) {
    xsnprintf(my_host, sizeof(my_host), (char const   *)"unknown");
  }
  pidfile_path = git_pathdup((char const   *)"gc.pid");
  fd = hold_lock_file_for_update(& lock___0, (char const   *)pidfile_path, 1);
  if (! force___2) {
    if (! scan_fmt) {
      scan_fmt = xstrfmt((char const   *)"%s %%%ds", "%lu", 64);
    }
    fp = git_fopen((char const   *)pidfile_path, (char const   *)"r");
    memset((void *)(locking_host), 0, sizeof(locking_host));
    if ((unsigned long )fp != (unsigned long )((void *)0)) {
      tmp___1 = fileno(fp);
      tmp___2 = fstat(tmp___1, & st);
      if (tmp___2) {
        tmp___8 = 0;
      } else {
        tmp___3 = time((time_t *)((void *)0));
        if (tmp___3 - st.st_mtim.tv_sec <= 43200L) {
          tmp___4 = fscanf((FILE * __restrict  )fp, (char const   * __restrict  )scan_fmt,
                           & pid, locking_host);
          if (tmp___4 == 2) {
            tmp___5 = strcmp((char const   *)(locking_host), (char const   *)(my_host));
            if (tmp___5) {
              tmp___8 = 1;
            } else {
              tmp___6 = kill((__pid_t )pid, 0);
              if (tmp___6) {
                tmp___7 = __errno_location();
                if (*tmp___7 == 1) {
                  tmp___8 = 1;
                } else {
                  tmp___8 = 0;
                }
              } else {
                tmp___8 = 1;
              }
            }
          } else {
            tmp___8 = 0;
          }
        } else {
          tmp___8 = 0;
        }
      }
    } else {
      tmp___8 = 0;
    }
    should_exit = tmp___8;
    if ((unsigned long )fp != (unsigned long )((void *)0)) {
      fclose(fp);
    }
    if (should_exit) {
      if (fd >= 0) {
        rollback_lock_file(& lock___0);
      }
      *ret_pid = (pid_t )pid;
      free((void *)pidfile_path);
      return ((char const   *)(locking_host));
    }
  }
  tmp___9 = getpid();
  strbuf_addf(& sb___6, (char const   *)"%lu %s", (uintmax_t )tmp___9, my_host);
  write_in_full(fd, (void const   *)sb___6.buf, sb___6.len);
  strbuf_release(& sb___6);
  commit_lock_file(& lock___0);
  pidfile = register_tempfile((char const   *)pidfile_path);
  free((void *)pidfile_path);
  return ((char const   *)((void *)0));
}
}
static int report_last_gc_error(void)
{
  struct strbuf sb___6 ;
  int ret___67 ;
  ssize_t len___0 ;
  struct stat st ;
  char *gc_log_path ;
  char *tmp ;
  int *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  ret___67 = 0;
  tmp = git_pathdup((char const   *)"gc.log");
  gc_log_path = tmp;
  tmp___2 = stat((char const   *)gc_log_path, & st);
  if (tmp___2) {
    tmp___0 = __errno_location();
    if (*tmp___0 == 2) {
      goto done;
    }
    tmp___1 = _((char const   *)"cannot stat \'%s\'");
    ret___67 = die_message_errno((char const   *)tmp___1, gc_log_path);
    goto done;
  }
  if ((timestamp_t )st.st_mtim.tv_sec < gc_log_expire_time) {
    goto done;
  }
  len___0 = strbuf_read_file(& sb___6, (char const   *)gc_log_path, (size_t )0);
  if (len___0 < 0L) {
    tmp___3 = _((char const   *)"cannot read \'%s\'");
    ret___67 = die_message_errno((char const   *)tmp___3, gc_log_path);
  } else
  if (len___0 > 0L) {
    tmp___4 = _((char const   *)"The last gc run reported the following. Please correct the root cause\nand remove %s\nAutomatic cleanup will not be performed until the file is removed.\n\n%s");
    warning((char const   *)tmp___4, gc_log_path, sb___6.buf);
    ret___67 = 1;
  }
  strbuf_release(& sb___6);
  done:
  free((void *)gc_log_path);
  return (ret___67);
}
}
static void gc_before_repack(void) ;
static int done  =    0;
static void gc_before_repack(void)
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = done;
  done ++;
  if (tmp) {
    return;
  }
  if (pack_refs) {
    tmp___0 = maintenance_task_pack_refs((struct maintenance_run_opts *)((void *)0));
    if (tmp___0) {
      die((char const   *)"failed to run %s", "pack-refs");
    }
  }
  if (prune_reflogs) {
    tmp___1 = run_command_v_opt(reflog.v, 1 << 1);
    if (tmp___1) {
      die((char const   *)"failed to run %s", *(reflog.v + 0));
    }
  }
  return;
}
}
int cmd_gc(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int aggressive ;
  int auto_gc___0 ;
  int quiet___7 ;
  int force___2 ;
  char const   *name___0 ;
  pid_t pid ;
  int daemonized ;
  int keep_largest_pack ;
  timestamp_t dummy___0 ;
  struct option builtin_gc_options[7] ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int ret___67 ;
  int tmp___10 ;
  char const   *tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  struct string_list keep_pack___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const   *tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  char const __attribute__((__format_arg__(1)))  *tmp___23 ;
  int tmp___24 ;
  char const   *tmp___25 ;

  {
  aggressive = 0;
  auto_gc___0 = 0;
  quiet___7 = 0;
  force___2 = 0;
  daemonized = 0;
  keep_largest_pack = -1;
  builtin_gc_options[0].type = (enum parse_opt_type )7;
  builtin_gc_options[0].short_name = 'q';
  builtin_gc_options[0].long_name = (char const   *)"quiet";
  builtin_gc_options[0].value = (void *)(& quiet___7);
  builtin_gc_options[0].argh = (char const   *)((void *)0);
  builtin_gc_options[0].help = (char const   *)"suppress progress reporting";
  builtin_gc_options[0].flags = (enum parse_opt_option_flags )2;
  builtin_gc_options[0].callback = (parse_opt_cb *)0;
  builtin_gc_options[0].defval = 0L;
  builtin_gc_options[0].ll_callback = (parse_opt_ll_cb *)0;
  builtin_gc_options[0].extra = 0L;
  builtin_gc_options[1].type = (enum parse_opt_type )9;
  builtin_gc_options[1].short_name = 0;
  builtin_gc_options[1].long_name = (char const   *)"prune";
  builtin_gc_options[1].value = (void *)(& prune_expire);
  builtin_gc_options[1].argh = (char const   *)"date";
  builtin_gc_options[1].help = (char const   *)"prune unreferenced objects";
  builtin_gc_options[1].flags = (enum parse_opt_option_flags )1;
  builtin_gc_options[1].callback = (parse_opt_cb *)((void *)0);
  builtin_gc_options[1].defval = (intptr_t )prune_expire;
  builtin_gc_options[1].ll_callback = (parse_opt_ll_cb *)0;
  builtin_gc_options[1].extra = 0L;
  builtin_gc_options[2].type = (enum parse_opt_type )8;
  builtin_gc_options[2].short_name = 0;
  builtin_gc_options[2].long_name = (char const   *)"aggressive";
  builtin_gc_options[2].value = (void *)(& aggressive);
  builtin_gc_options[2].argh = (char const   *)((void *)0);
  builtin_gc_options[2].help = (char const   *)"be more thorough (increased runtime)";
  builtin_gc_options[2].flags = (enum parse_opt_option_flags )2;
  builtin_gc_options[2].callback = (parse_opt_cb *)((void *)0);
  builtin_gc_options[2].defval = (intptr_t )1;
  builtin_gc_options[2].ll_callback = (parse_opt_ll_cb *)0;
  builtin_gc_options[2].extra = 0L;
  builtin_gc_options[3].type = (enum parse_opt_type )8;
  builtin_gc_options[3].short_name = 0;
  builtin_gc_options[3].long_name = (char const   *)"auto";
  builtin_gc_options[3].value = (void *)(& auto_gc___0);
  builtin_gc_options[3].argh = (char const   *)((void *)0);
  builtin_gc_options[3].help = (char const   *)"enable auto-gc mode";
  builtin_gc_options[3].flags = (enum parse_opt_option_flags )514;
  builtin_gc_options[3].callback = (parse_opt_cb *)((void *)0);
  builtin_gc_options[3].defval = (intptr_t )1;
  builtin_gc_options[3].ll_callback = (parse_opt_ll_cb *)0;
  builtin_gc_options[3].extra = 0L;
  builtin_gc_options[4].type = (enum parse_opt_type )8;
  builtin_gc_options[4].short_name = 0;
  builtin_gc_options[4].long_name = (char const   *)"force";
  builtin_gc_options[4].value = (void *)(& force___2);
  builtin_gc_options[4].argh = (char const   *)((void *)0);
  builtin_gc_options[4].help = (char const   *)"force running gc even if there may be another gc running";
  builtin_gc_options[4].flags = (enum parse_opt_option_flags )514;
  builtin_gc_options[4].callback = (parse_opt_cb *)((void *)0);
  builtin_gc_options[4].defval = (intptr_t )1;
  builtin_gc_options[4].ll_callback = (parse_opt_ll_cb *)0;
  builtin_gc_options[4].extra = 0L;
  builtin_gc_options[5].type = (enum parse_opt_type )8;
  builtin_gc_options[5].short_name = 0;
  builtin_gc_options[5].long_name = (char const   *)"keep-largest-pack";
  builtin_gc_options[5].value = (void *)(& keep_largest_pack);
  builtin_gc_options[5].argh = (char const   *)((void *)0);
  builtin_gc_options[5].help = (char const   *)"repack all other packs except the largest pack";
  builtin_gc_options[5].flags = (enum parse_opt_option_flags )2;
  builtin_gc_options[5].callback = (parse_opt_cb *)((void *)0);
  builtin_gc_options[5].defval = (intptr_t )1;
  builtin_gc_options[5].ll_callback = (parse_opt_ll_cb *)0;
  builtin_gc_options[5].extra = 0L;
  builtin_gc_options[6].type = (enum parse_opt_type )0;
  builtin_gc_options[6].short_name = 0;
  builtin_gc_options[6].long_name = (char const   *)0;
  builtin_gc_options[6].value = (void *)0;
  builtin_gc_options[6].argh = (char const   *)0;
  builtin_gc_options[6].help = (char const   *)0;
  builtin_gc_options[6].flags = 0U;
  builtin_gc_options[6].callback = (parse_opt_cb *)0;
  builtin_gc_options[6].defval = 0L;
  builtin_gc_options[6].ll_callback = (parse_opt_ll_cb *)0;
  builtin_gc_options[6].extra = 0L;
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage_with_options(builtin_gc_usage, (struct option  const  *)(builtin_gc_options));
    }
  }
  strvec_pushl(& reflog, "reflog", "expire", "--all", (void *)0);
  strvec_pushl(& repack, "repack", "-d", "-l", (void *)0);
  strvec_pushl(& prune___0, "prune", "--expire", (void *)0);
  strvec_pushl(& prune_worktrees, "worktree", "prune", "--expire", (void *)0);
  strvec_pushl(& rerere, "rerere", "gc", (void *)0);
  gc_config();
  tmp___1 = parse_expiry_date(gc_log_expire, & gc_log_expire_time);
  if (tmp___1) {
    tmp___0 = _((char const   *)"failed to parse gc.logexpiry value %s");
    die((char const   *)tmp___0, gc_log_expire);
  }
  if (pack_refs < 0) {
    tmp___2 = is_bare_repository();
    if (tmp___2) {
      tmp___3 = 0;
    } else {
      tmp___3 = 1;
    }
    pack_refs = tmp___3;
  }
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(builtin_gc_options),
                       builtin_gc_usage, (enum parse_opt_flags )0);
  if (argc > 0) {
    usage_with_options(builtin_gc_usage, (struct option  const  *)(builtin_gc_options));
  }
  if (prune_expire) {
    tmp___5 = parse_expiry_date(prune_expire, & dummy___0);
    if (tmp___5) {
      tmp___4 = _((char const   *)"failed to parse prune expiry value %s");
      die((char const   *)tmp___4, prune_expire);
    }
  }
  if (aggressive) {
    strvec_push(& repack, (char const   *)"-f");
    if (aggressive_depth > 0) {
      strvec_pushf(& repack, (char const   *)"--depth=%d", aggressive_depth);
    }
    if (aggressive_window > 0) {
      strvec_pushf(& repack, (char const   *)"--window=%d", aggressive_window);
    }
  }
  if (quiet___7) {
    strvec_push(& repack, (char const   *)"-q");
  }
  if (auto_gc___0) {
    tmp___6 = need_to_gc();
    if (! tmp___6) {
      return (0);
    }
    if (! quiet___7) {
      if (detach_auto) {
        tmp___7 = _((char const   *)"Auto packing the repository in background for optimum performance.\n");
        fprintf(stderr, (char const   *)tmp___7);
      } else {
        tmp___8 = _((char const   *)"Auto packing the repository for optimum performance.\n");
        fprintf(stderr, (char const   *)tmp___8);
      }
      tmp___9 = _((char const   *)"See \"git help gc\" for manual housekeeping.\n");
      fprintf(stderr, (char const   *)tmp___9);
    }
    if (detach_auto) {
      tmp___10 = report_last_gc_error();
      ret___67 = tmp___10;
      if (ret___67 == 1) {
        return (0);
      } else
      if (ret___67) {
        return (ret___67);
      }
      tmp___11 = lock_repo_for_gc(force___2, & pid);
      if (tmp___11) {
        return (0);
      }
      gc_before_repack();
      delete_tempfile(& pidfile);
      tmp___12 = daemonize();
      if (tmp___12) {
        tmp___13 = 0;
      } else {
        tmp___13 = 1;
      }
      daemonized = tmp___13;
    }
  } else {
    keep_pack___0.items = (struct string_list_item *)0;
    keep_pack___0.nr = 0U;
    keep_pack___0.alloc = 0U;
    keep_pack___0.strdup_strings = 0U;
    keep_pack___0.cmp = (int (*)(char const   * , char const   * ))0;
    if (keep_largest_pack != -1) {
      if (keep_largest_pack) {
        find_base_packs(& keep_pack___0, 0UL);
      }
    } else
    if (big_pack_threshold) {
      find_base_packs(& keep_pack___0, big_pack_threshold);
    }
    add_repack_all_option(& keep_pack___0);
    string_list_clear(& keep_pack___0, 0);
  }
  name___0 = lock_repo_for_gc(force___2, & pid);
  if (name___0) {
    if (auto_gc___0) {
      return (0);
    }
    tmp___14 = _((char const   *)"gc is already running on machine \'%s\' pid %lu (use --force if not)");
    die((char const   *)tmp___14, name___0, (uintmax_t )pid);
  }
  if (daemonized) {
    tmp___15 = git_path((char const   *)"gc.log");
    hold_lock_file_for_update(& log_lock, tmp___15, 1);
    tmp___16 = get_lock_file_fd(& log_lock);
    dup2(tmp___16, 2);
    sigchain_push_common(& process_log_file_on_signal);
    atexit(& process_log_file_at_exit);
  }
  gc_before_repack();
  if (! repository_format_precious_objects) {
    tmp___17 = run_command_v_opt(repack.v, (1 << 1) | (1 << 7));
    if (tmp___17) {
      die((char const   *)"failed to run %s", *(repack.v + 0));
    }
    if (prune_expire) {
      strvec_push(& prune___0, prune_expire);
      if (quiet___7) {
        strvec_push(& prune___0, (char const   *)"--no-progress");
      }
      tmp___18 = has_promisor_remote();
      if (tmp___18) {
        strvec_push(& prune___0, (char const   *)"--exclude-promisor-objects");
      }
      tmp___19 = run_command_v_opt(prune___0.v, 1 << 1);
      if (tmp___19) {
        die((char const   *)"failed to run %s", *(prune___0.v + 0));
      }
    }
  }
  if (prune_worktrees_expire) {
    strvec_push(& prune_worktrees, prune_worktrees_expire);
    tmp___20 = run_command_v_opt(prune_worktrees.v, 1 << 1);
    if (tmp___20) {
      die((char const   *)"failed to run %s", *(prune_worktrees.v + 0));
    }
  }
  tmp___21 = run_command_v_opt(rerere.v, 1 << 1);
  if (tmp___21) {
    die((char const   *)"failed to run %s", *(rerere.v + 0));
  }
  report_garbage = & report_pack_garbage___0;
  reprepare_packed_git(the_repository);
  if (pack_garbage.nr > 0U) {
    close_object_store(the_repository->objects);
    clean_pack_garbage();
  }
  prepare_repo_settings(the_repository);
  if (the_repository->settings.gc_write_commit_graph == 1) {
    if (! quiet___7) {
      if (! daemonized) {
        tmp___22 = 2;
      } else {
        tmp___22 = 0;
      }
    } else {
      tmp___22 = 0;
    }
    write_commit_graph_reachable((the_repository->objects)->odb, (enum commit_graph_write_flags )tmp___22,
                                 (struct commit_graph_opts  const  *)((void *)0));
  }
  if (auto_gc___0) {
    tmp___24 = too_many_loose_objects();
    if (tmp___24) {
      tmp___23 = _((char const   *)"There are too many unreachable loose objects; run \'git prune\' to remove them.");
      warning((char const   *)tmp___23);
    }
  }
  if (! daemonized) {
    tmp___25 = git_path((char const   *)"gc.log");
    unlink(tmp___25);
  }
  return (0);
}
}
static char const   *builtin_maintenance_run_usage[2]  = {      (char const   *)"git maintenance run [--auto] [--[no-]quiet] [--task=<task>] [--schedule]",      (char const   *)((void *)0)};
static enum schedule_priority parse_schedule(char const   *value )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! value) {
    return ((enum schedule_priority )0);
  }
  tmp = strcasecmp(value, (char const   *)"hourly");
  if (! tmp) {
    return ((enum schedule_priority )3);
  }
  tmp___0 = strcasecmp(value, (char const   *)"daily");
  if (! tmp___0) {
    return ((enum schedule_priority )2);
  }
  tmp___1 = strcasecmp(value, (char const   *)"weekly");
  if (! tmp___1) {
    return ((enum schedule_priority )1);
  }
  return ((enum schedule_priority )0);
}
}
static int maintenance_opt_schedule(struct option  const  *opt___0 , char const   *arg ,
                                    int unset )
{
  enum schedule_priority *priority ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  priority = (enum schedule_priority *)opt___0->value;
  if (unset) {
    tmp = _((char const   *)"--no-schedule is not allowed");
    die((char const   *)tmp);
  }
  *priority = parse_schedule(arg);
  if (! *priority) {
    tmp___0 = _((char const   *)"unrecognized --schedule argument \'%s\'");
    die((char const   *)tmp___0, arg);
  }
  return (0);
}
}
static int dfs_on_ref(char const   *refname , struct object_id  const  *oid , int flags___0 ,
                      void *cb_data )
{
  struct cg_auto_data *data ;
  int result___0 ;
  struct object_id peeled ;
  struct commit_list *stack ;
  struct commit *commit ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  uint32_t tmp___2 ;
  struct commit_list *parent ;
  int tmp___3 ;
  uint32_t tmp___4 ;

  {
  data = (struct cg_auto_data *)cb_data;
  result___0 = 0;
  stack = (struct commit_list *)((void *)0);
  tmp = peel_iterated_oid(oid, & peeled);
  if (! tmp) {
    oid = (struct object_id  const  *)(& peeled);
  }
  tmp___0 = oid_object_info(the_repository, oid, (unsigned long *)((void *)0));
  if (tmp___0 != 1) {
    return (0);
  }
  commit = lookup_commit(the_repository, oid);
  if (! commit) {
    return (0);
  }
  tmp___1 = repo_parse_commit(the_repository, commit);
  if (tmp___1) {
    return (0);
  } else {
    tmp___2 = commit_graph_position((struct commit  const  *)commit);
    if (tmp___2 != 0xFFFFFFFF) {
      return (0);
    }
  }
  (data->num_not_in_graph) ++;
  if (data->num_not_in_graph >= data->limit) {
    return (1);
  }
  commit_list_append(commit, & stack);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! result___0) {
      if (! stack) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    commit = pop_commit(& stack);
    parent = commit->parents;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! parent) {
        goto while_break___0;
      }
      tmp___3 = repo_parse_commit(the_repository, parent->item);
      if (tmp___3) {
        goto __Cont;
      } else {
        tmp___4 = commit_graph_position((struct commit  const  *)parent->item);
        if (tmp___4 != 0xFFFFFFFF) {
          goto __Cont;
        } else
        if ((parent->item)->object.flags & 1u) {
          goto __Cont;
        }
      }
      (parent->item)->object.flags |= 1u;
      (data->num_not_in_graph) ++;
      if (data->num_not_in_graph >= data->limit) {
        result___0 = 1;
        goto while_break___0;
      }
      commit_list_append(parent->item, & stack);
      __Cont: /* CIL Label */
      parent = parent->next;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  free_commit_list(stack);
  return (result___0);
}
}
static int should_write_commit_graph(void)
{
  int result___0 ;
  struct cg_auto_data data ;

  {
  data.num_not_in_graph = 0;
  data.limit = 100;
  git_config_get_int((char const   *)"maintenance.commit-graph.auto", & data.limit);
  if (! data.limit) {
    return (0);
  }
  if (data.limit < 0) {
    return (1);
  }
  result___0 = for_each_ref(& dfs_on_ref, (void *)(& data));
  repo_clear_commit_marks(the_repository, 1u);
  return (result___0);
}
}
static int run_write_commit_graph(struct maintenance_run_opts *opts___1 )
{
  struct child_process child ;
  int tmp ;
  int tmp___0 ;

  {
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  child.close_object_store = 1U;
  child.git_cmd = child.close_object_store;
  strvec_pushl(& child.args, "commit-graph", "write", "--split", "--reachable", (void *)0);
  if (opts___1->quiet) {
    strvec_push(& child.args, (char const   *)"--no-progress");
  }
  tmp = run_command(& child);
  if (tmp) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static int maintenance_task_commit_graph(struct maintenance_run_opts *opts___1 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  prepare_repo_settings(the_repository);
  if (! the_repository->settings.core_commit_graph) {
    return (0);
  }
  tmp___0 = run_write_commit_graph(opts___1);
  if (tmp___0) {
    tmp = _((char const   *)"failed to write commit-graph");
    error((char const   *)tmp);
    const_error();
    return (1);
  }
  return (0);
}
}
static int fetch_remote(struct remote *remote , void *cbdata )
{
  struct maintenance_run_opts *opts___1 ;
  struct child_process child ;
  int tmp ;
  int tmp___0 ;

  {
  opts___1 = (struct maintenance_run_opts *)cbdata;
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  if (remote->skip_default_update) {
    return (0);
  }
  child.git_cmd = 1U;
  strvec_pushl(& child.args, "fetch", remote->name, "--prefetch", "--prune", "--no-tags",
               "--no-write-fetch-head", "--recurse-submodules=no", (void *)0);
  if (opts___1->quiet) {
    strvec_push(& child.args, (char const   *)"--quiet");
  }
  tmp = run_command(& child);
  if (tmp) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static int maintenance_task_prefetch(struct maintenance_run_opts *opts___1 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  git_config_set_multivar_gently((char const   *)"log.excludedecoration", (char const   *)"refs/prefetch/",
                                 (char const   *)"refs/prefetch/", (unsigned int )((1 << 1) | 1));
  tmp___0 = for_each_remote(& fetch_remote, (void *)opts___1);
  if (tmp___0) {
    tmp = _((char const   *)"failed to prefetch remotes");
    error((char const   *)tmp);
    const_error();
    return (1);
  }
  return (0);
}
}
static int maintenance_task_gc(struct maintenance_run_opts *opts___1 )
{
  struct child_process child ;
  int tmp ;

  {
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  child.close_object_store = 1U;
  child.git_cmd = child.close_object_store;
  strvec_push(& child.args, (char const   *)"gc");
  if (opts___1->auto_flag) {
    strvec_push(& child.args, (char const   *)"--auto");
  }
  if (opts___1->quiet) {
    strvec_push(& child.args, (char const   *)"--quiet");
  } else {
    strvec_push(& child.args, (char const   *)"--no-quiet");
  }
  tmp = run_command(& child);
  return (tmp);
}
}
static int prune_packed(struct maintenance_run_opts *opts___1 )
{
  struct child_process child ;
  int tmp ;
  int tmp___0 ;

  {
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  child.git_cmd = 1U;
  strvec_push(& child.args, (char const   *)"prune-packed");
  if (opts___1->quiet) {
    strvec_push(& child.args, (char const   *)"--quiet");
  }
  tmp = run_command(& child);
  if (tmp) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static int loose_object_auto_limit  =    100;
static int loose_object_count(struct object_id  const  *oid , char const   *path___6 ,
                              void *data )
{
  int *count___0 ;

  {
  count___0 = (int *)data;
  (*count___0) ++;
  if (*count___0 >= loose_object_auto_limit) {
    return (1);
  }
  return (0);
}
}
static int loose_object_auto_condition(void)
{
  int count___0 ;
  int tmp ;

  {
  count___0 = 0;
  git_config_get_int((char const   *)"maintenance.loose-objects.auto", & loose_object_auto_limit);
  if (! loose_object_auto_limit) {
    return (0);
  }
  if (loose_object_auto_limit < 0) {
    return (1);
  }
  tmp = for_each_loose_file_in_objdir((char const   *)((the_repository->objects)->odb)->path,
                                      & loose_object_count, (each_loose_cruft_fn *)((void *)0),
                                      (each_loose_subdir_fn *)((void *)0), (void *)(& count___0));
  return (tmp);
}
}
static int bail_on_loose(struct object_id  const  *oid , char const   *path___6 ,
                         void *data )
{


  {
  return (1);
}
}
static int write_loose_object_to_stdin(struct object_id  const  *oid , char const   *path___6 ,
                                       void *data )
{
  struct write_loose_object_data *d ;
  char *tmp ;

  {
  d = (struct write_loose_object_data *)data;
  tmp = oid_to_hex(oid);
  fprintf(d->in, (char const   *)"%s\n", tmp);
  (d->count) ++;
  return (d->count > d->batch_size);
}
}
static int pack_loose(struct maintenance_run_opts *opts___1 )
{
  struct repository *r ;
  int result___0 ;
  struct write_loose_object_data data ;
  struct child_process pack_proc ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  r = the_repository;
  result___0 = 0;
  pack_proc.args.v = empty_strvec;
  pack_proc.args.nr = 0UL;
  pack_proc.args.alloc = 0UL;
  pack_proc.env_array.v = empty_strvec;
  pack_proc.env_array.nr = 0UL;
  pack_proc.env_array.alloc = 0UL;
  pack_proc.pid = 0;
  pack_proc.trace2_child_id = 0;
  pack_proc.trace2_child_us_start = 0UL;
  pack_proc.trace2_child_class = (char const   *)0;
  pack_proc.trace2_hook_name = (char const   *)0;
  pack_proc.in = 0;
  pack_proc.out = 0;
  pack_proc.err = 0;
  pack_proc.dir = (char const   *)0;
  pack_proc.no_stdin = 0U;
  pack_proc.no_stdout = 0U;
  pack_proc.no_stderr = 0U;
  pack_proc.git_cmd = 0U;
  pack_proc.silent_exec_failure = 0U;
  pack_proc.use_shell = 0U;
  pack_proc.close_object_store = 0U;
  pack_proc.stdout_to_stderr = 0U;
  pack_proc.clean_on_exit = 0U;
  pack_proc.wait_after_clean = 0U;
  pack_proc.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  pack_proc.clean_on_exit_handler_cbdata = (void *)0;
  tmp = for_each_loose_file_in_objdir((char const   *)((r->objects)->odb)->path, & bail_on_loose,
                                      (each_loose_cruft_fn *)((void *)0), (each_loose_subdir_fn *)((void *)0),
                                      (void *)0);
  if (! tmp) {
    return (0);
  }
  pack_proc.git_cmd = 1U;
  strvec_push(& pack_proc.args, (char const   *)"pack-objects");
  if (opts___1->quiet) {
    strvec_push(& pack_proc.args, (char const   *)"--quiet");
  }
  strvec_pushf(& pack_proc.args, (char const   *)"%s/pack/loose", ((r->objects)->odb)->path);
  pack_proc.in = -1;
  tmp___1 = start_command(& pack_proc);
  if (tmp___1) {
    tmp___0 = _((char const   *)"failed to start \'git pack-objects\' process");
    error((char const   *)tmp___0);
    const_error();
    return (1);
  }
  data.in = xfdopen(pack_proc.in, (char const   *)"w");
  data.count = 0;
  data.batch_size = 50000;
  for_each_loose_file_in_objdir((char const   *)((r->objects)->odb)->path, & write_loose_object_to_stdin,
                                (each_loose_cruft_fn *)((void *)0), (each_loose_subdir_fn *)((void *)0),
                                (void *)(& data));
  fclose(data.in);
  tmp___3 = finish_command(& pack_proc);
  if (tmp___3) {
    tmp___2 = _((char const   *)"failed to finish \'git pack-objects\' process");
    error((char const   *)tmp___2);
    const_error();
    result___0 = 1;
  }
  return (result___0);
}
}
static int maintenance_task_loose_objects(struct maintenance_run_opts *opts___1 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = prune_packed(opts___1);
  if (tmp) {
    tmp___1 = 1;
  } else {
    tmp___0 = pack_loose(opts___1);
    if (tmp___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  }
  return (tmp___1);
}
}
static int incremental_repack_auto_condition(void)
{
  struct packed_git *p___0 ;
  int incremental_repack_auto_limit ;
  int count___0 ;

  {
  incremental_repack_auto_limit = 10;
  count___0 = 0;
  prepare_repo_settings(the_repository);
  if (! the_repository->settings.core_multi_pack_index) {
    return (0);
  }
  git_config_get_int((char const   *)"maintenance.incremental-repack.auto", & incremental_repack_auto_limit);
  if (! incremental_repack_auto_limit) {
    return (0);
  }
  if (incremental_repack_auto_limit < 0) {
    return (1);
  }
  p___0 = get_packed_git(the_repository);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (count___0 < incremental_repack_auto_limit) {
      if (! p___0) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if (! p___0->multi_pack_index) {
      count___0 ++;
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (count___0 >= incremental_repack_auto_limit);
}
}
static int multi_pack_index_write(struct maintenance_run_opts *opts___1 )
{
  struct child_process child ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  child.git_cmd = 1U;
  strvec_pushl(& child.args, "multi-pack-index", "write", (void *)0);
  if (opts___1->quiet) {
    strvec_push(& child.args, (char const   *)"--no-progress");
  }
  tmp___1 = run_command(& child);
  if (tmp___1) {
    tmp = _((char const   *)"failed to write multi-pack-index");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  return (0);
}
}
static int multi_pack_index_expire(struct maintenance_run_opts *opts___1 )
{
  struct child_process child ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  child.close_object_store = 1U;
  child.git_cmd = child.close_object_store;
  strvec_pushl(& child.args, "multi-pack-index", "expire", (void *)0);
  if (opts___1->quiet) {
    strvec_push(& child.args, (char const   *)"--no-progress");
  }
  tmp___1 = run_command(& child);
  if (tmp___1) {
    tmp = _((char const   *)"\'git multi-pack-index expire\' failed");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  return (0);
}
}
static off_t get_auto_pack_size(void)
{
  off_t max_size___0 ;
  off_t second_largest_size ;
  off_t result_size ;
  struct packed_git *p___0 ;
  struct repository *r ;

  {
  max_size___0 = (off_t )0;
  second_largest_size = (off_t )0;
  r = the_repository;
  reprepare_packed_git(r);
  p___0 = get_all_packs(r);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if (p___0->pack_size > max_size___0) {
      second_largest_size = max_size___0;
      max_size___0 = p___0->pack_size;
    } else
    if (p___0->pack_size > second_largest_size) {
      second_largest_size = p___0->pack_size;
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  result_size = second_largest_size + 1L;
  if (result_size > 2147483647L) {
    result_size = (off_t )2147483647;
  }
  return (result_size);
}
}
static int multi_pack_index_repack(struct maintenance_run_opts *opts___1 )
{
  struct child_process child ;
  off_t tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  child.close_object_store = 1U;
  child.git_cmd = child.close_object_store;
  strvec_pushl(& child.args, "multi-pack-index", "repack", (void *)0);
  if (opts___1->quiet) {
    strvec_push(& child.args, (char const   *)"--no-progress");
  }
  tmp = get_auto_pack_size();
  strvec_pushf(& child.args, (char const   *)"--batch-size=%lu", (uintmax_t )tmp);
  tmp___2 = run_command(& child);
  if (tmp___2) {
    tmp___0 = _((char const   *)"\'git multi-pack-index repack\' failed");
    error((char const   *)tmp___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  return (0);
}
}
static int maintenance_task_incremental_repack(struct maintenance_run_opts *opts___1 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  prepare_repo_settings(the_repository);
  if (! the_repository->settings.core_multi_pack_index) {
    tmp = _((char const   *)"skipping incremental-repack task because core.multiPackIndex is disabled");
    warning((char const   *)tmp);
    return (0);
  }
  tmp___0 = multi_pack_index_write(opts___1);
  if (tmp___0) {
    return (1);
  }
  tmp___1 = multi_pack_index_expire(opts___1);
  if (tmp___1) {
    return (1);
  }
  tmp___2 = multi_pack_index_repack(opts___1);
  if (tmp___2) {
    return (1);
  }
  return (0);
}
}
static struct maintenance_task tasks[6]  = {      {(char const   *)"prefetch", & maintenance_task_prefetch, (maintenance_auto_fn *)0,
      0U, 0U, 0},
        {(char const   *)"loose-objects", & maintenance_task_loose_objects, & loose_object_auto_condition,
      0U, 0U, 0},
        {(char const   *)"incremental-repack", & maintenance_task_incremental_repack,
      & incremental_repack_auto_condition, 0U, 0U, 0},
        {(char const   *)"gc", & maintenance_task_gc, & need_to_gc, 1U, 0U, 0},
        {(char const   *)"commit-graph", & maintenance_task_commit_graph, & should_write_commit_graph,
      0U, 0U, 0},
        {(char const   *)"pack-refs", & maintenance_task_pack_refs, (maintenance_auto_fn *)((void *)0),
      0U, 0U, 0}};
static int compare_tasks_by_selection(void const   *a_ , void const   *b_ )
{
  struct maintenance_task  const  *a ;
  struct maintenance_task  const  *b___0 ;

  {
  a = (struct maintenance_task  const  *)a_;
  b___0 = (struct maintenance_task  const  *)b_;
  return ((int )(b___0->selected_order - a->selected_order));
}
}
static int maintenance_run_tasks(struct maintenance_run_opts *opts___1 )
{
  int i ;
  int found_selected ;
  int result___0 ;
  struct lock_file lk ;
  struct repository *r ;
  char *lock_path ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  found_selected = 0;
  result___0 = 0;
  r = the_repository;
  tmp = xstrfmt((char const   *)"%s/maintenance", ((r->objects)->odb)->path);
  lock_path = tmp;
  tmp___1 = hold_lock_file_for_update(& lk, (char const   *)lock_path, 2);
  if (tmp___1 < 0) {
    if (! opts___1->auto_flag) {
      if (! opts___1->quiet) {
        tmp___0 = _((char const   *)"lock file \'%s\' exists, skipping maintenance");
        warning((char const   *)tmp___0, lock_path);
      }
    }
    free((void *)lock_path);
    return (0);
  }
  free((void *)lock_path);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! found_selected) {
      if (! (i < 6)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    found_selected = tasks[i].selected_order >= 0;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (found_selected) {
    sane_qsort((void *)(tasks), (size_t )6, sizeof(tasks[0]), & compare_tasks_by_selection);
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < 6)) {
      goto while_break___0;
    }
    if (found_selected) {
      if (tasks[i].selected_order < 0) {
        goto __Cont;
      }
    }
    if (! found_selected) {
      if (! tasks[i].enabled) {
        goto __Cont;
      }
    }
    if (opts___1->auto_flag) {
      if (! tasks[i].auto_condition) {
        goto __Cont;
      } else {
        tmp___2 = (*(tasks[i].auto_condition))();
        if (! tmp___2) {
          goto __Cont;
        }
      }
    }
    if (opts___1->schedule) {
      if ((unsigned int )tasks[i].schedule < (unsigned int )opts___1->schedule) {
        goto __Cont;
      }
    }
    trace2_region_enter_fl((char const   *)"builtin/gc.c", 1306, (char const   *)"maintenance",
                           tasks[i].name, (struct repository  const  *)r);
    tmp___4 = (*(tasks[i].fn))(opts___1);
    if (tmp___4) {
      tmp___3 = _((char const   *)"task \'%s\' failed");
      error((char const   *)tmp___3, tasks[i].name);
      const_error();
      result___0 = 1;
    }
    trace2_region_leave_fl((char const   *)"builtin/gc.c", 1311, (char const   *)"maintenance",
                           tasks[i].name, (struct repository  const  *)r);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  rollback_lock_file(& lk);
  return (result___0);
}
}
static void initialize_maintenance_strategy(void)
{
  char *config_str ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = git_config_get_string((char const   *)"maintenance.strategy", & config_str);
  if (tmp) {
    return;
  }
  tmp___0 = strcasecmp((char const   *)config_str, (char const   *)"incremental");
  if (! tmp___0) {
    tasks[3].schedule = (enum schedule_priority )0;
    tasks[4].enabled = 1U;
    tasks[4].schedule = (enum schedule_priority )3;
    tasks[0].enabled = 1U;
    tasks[0].schedule = (enum schedule_priority )3;
    tasks[2].enabled = 1U;
    tasks[2].schedule = (enum schedule_priority )2;
    tasks[1].enabled = 1U;
    tasks[1].schedule = (enum schedule_priority )2;
    tasks[5].enabled = 1U;
    tasks[5].schedule = (enum schedule_priority )1;
  }
  return;
}
}
static void initialize_task_config(int schedule )
{
  int i ;
  struct strbuf config_name ;
  int config_value ;
  char *config_str ;
  int tmp ;
  int tmp___0 ;

  {
  config_name.alloc = 0UL;
  config_name.len = 0UL;
  config_name.buf = strbuf_slopbuf;
  gc_config();
  if (schedule) {
    initialize_maintenance_strategy();
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 6)) {
      goto while_break;
    }
    strbuf_setlen___33(& config_name, (size_t )0);
    strbuf_addf(& config_name, (char const   *)"maintenance.%s.enabled", tasks[i].name);
    tmp = git_config_get_bool((char const   *)config_name.buf, & config_value);
    if (! tmp) {
      tasks[i].enabled = (unsigned int )config_value;
    }
    strbuf_setlen___33(& config_name, (size_t )0);
    strbuf_addf(& config_name, (char const   *)"maintenance.%s.schedule", tasks[i].name);
    tmp___0 = git_config_get_string((char const   *)config_name.buf, & config_str);
    if (! tmp___0) {
      tasks[i].schedule = parse_schedule((char const   *)config_str);
      free((void *)config_str);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& config_name);
  return;
}
}
static int task_option_parse(struct option  const  *opt___0 , char const   *arg ,
                             int unset )
{
  int i ;
  int num_selected ;
  struct maintenance_task *task ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  num_selected = 0;
  task = (struct maintenance_task *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/gc.c", 1379, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < 6)) {
      goto while_break___0;
    }
    if (tasks[i].selected_order >= 0) {
      num_selected ++;
    }
    tmp = strcasecmp(tasks[i].name, arg);
    if (! tmp) {
      task = & tasks[i];
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (! task) {
    tmp___0 = _((char const   *)"\'%s\' is not a valid task");
    error((char const   *)tmp___0, arg);
    const_error();
    return (1);
  }
  if (task->selected_order >= 0) {
    tmp___1 = _((char const   *)"task \'%s\' cannot be selected multiple times");
    error((char const   *)tmp___1, arg);
    const_error();
    return (1);
  }
  task->selected_order = num_selected + 1;
  return (0);
}
}
static int maintenance_run(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  struct maintenance_run_opts opts___1 ;
  struct option builtin_maintenance_run_options[5] ;
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  builtin_maintenance_run_options[0].type = (enum parse_opt_type )8;
  builtin_maintenance_run_options[0].short_name = 0;
  builtin_maintenance_run_options[0].long_name = (char const   *)"auto";
  builtin_maintenance_run_options[0].value = (void *)(& opts___1.auto_flag);
  builtin_maintenance_run_options[0].argh = (char const   *)((void *)0);
  builtin_maintenance_run_options[0].help = (char const   *)"run tasks based on the state of the repository";
  builtin_maintenance_run_options[0].flags = (enum parse_opt_option_flags )2;
  builtin_maintenance_run_options[0].callback = (parse_opt_cb *)((void *)0);
  builtin_maintenance_run_options[0].defval = (intptr_t )1;
  builtin_maintenance_run_options[0].ll_callback = (parse_opt_ll_cb *)0;
  builtin_maintenance_run_options[0].extra = 0L;
  builtin_maintenance_run_options[1].type = (enum parse_opt_type )12;
  builtin_maintenance_run_options[1].short_name = 0;
  builtin_maintenance_run_options[1].long_name = (char const   *)"schedule";
  builtin_maintenance_run_options[1].value = (void *)(& opts___1.schedule);
  builtin_maintenance_run_options[1].argh = (char const   *)"frequency";
  builtin_maintenance_run_options[1].help = (char const   *)"run tasks based on frequency";
  builtin_maintenance_run_options[1].flags = (enum parse_opt_option_flags )0;
  builtin_maintenance_run_options[1].callback = & maintenance_opt_schedule;
  builtin_maintenance_run_options[1].defval = 0L;
  builtin_maintenance_run_options[1].ll_callback = (parse_opt_ll_cb *)0;
  builtin_maintenance_run_options[1].extra = 0L;
  builtin_maintenance_run_options[2].type = (enum parse_opt_type )8;
  builtin_maintenance_run_options[2].short_name = 0;
  builtin_maintenance_run_options[2].long_name = (char const   *)"quiet";
  builtin_maintenance_run_options[2].value = (void *)(& opts___1.quiet);
  builtin_maintenance_run_options[2].argh = (char const   *)((void *)0);
  builtin_maintenance_run_options[2].help = (char const   *)"do not report progress or other information over stderr";
  builtin_maintenance_run_options[2].flags = (enum parse_opt_option_flags )2;
  builtin_maintenance_run_options[2].callback = (parse_opt_cb *)((void *)0);
  builtin_maintenance_run_options[2].defval = (intptr_t )1;
  builtin_maintenance_run_options[2].ll_callback = (parse_opt_ll_cb *)0;
  builtin_maintenance_run_options[2].extra = 0L;
  builtin_maintenance_run_options[3].type = (enum parse_opt_type )12;
  builtin_maintenance_run_options[3].short_name = 0;
  builtin_maintenance_run_options[3].long_name = (char const   *)"task";
  builtin_maintenance_run_options[3].value = (void *)0;
  builtin_maintenance_run_options[3].argh = (char const   *)"task";
  builtin_maintenance_run_options[3].help = (char const   *)"run a specific task";
  builtin_maintenance_run_options[3].flags = (enum parse_opt_option_flags )4;
  builtin_maintenance_run_options[3].callback = & task_option_parse;
  builtin_maintenance_run_options[3].defval = 0L;
  builtin_maintenance_run_options[3].ll_callback = (parse_opt_ll_cb *)0;
  builtin_maintenance_run_options[3].extra = 0L;
  builtin_maintenance_run_options[4].type = (enum parse_opt_type )0;
  builtin_maintenance_run_options[4].short_name = 0;
  builtin_maintenance_run_options[4].long_name = (char const   *)0;
  builtin_maintenance_run_options[4].value = (void *)0;
  builtin_maintenance_run_options[4].argh = (char const   *)0;
  builtin_maintenance_run_options[4].help = (char const   *)0;
  builtin_maintenance_run_options[4].flags = 0U;
  builtin_maintenance_run_options[4].callback = (parse_opt_cb *)0;
  builtin_maintenance_run_options[4].defval = 0L;
  builtin_maintenance_run_options[4].ll_callback = (parse_opt_ll_cb *)0;
  builtin_maintenance_run_options[4].extra = 0L;
  memset((void *)(& opts___1), 0, sizeof(opts___1));
  tmp = isatty(2);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  opts___1.quiet = tmp___0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 6)) {
      goto while_break;
    }
    tasks[i].selected_order = -1;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(builtin_maintenance_run_options),
                       builtin_maintenance_run_usage, (enum parse_opt_flags )2);
  if (opts___1.auto_flag) {
    if (opts___1.schedule) {
      tmp___1 = _((char const   *)"use at most one of --auto and --schedule=<frequency>");
      die((char const   *)tmp___1);
    }
  }
  initialize_task_config((int )opts___1.schedule);
  if (argc != 0) {
    usage_with_options(builtin_maintenance_run_usage, (struct option  const  *)(builtin_maintenance_run_options));
  }
  tmp___2 = maintenance_run_tasks(& opts___1);
  return (tmp___2);
}
}
static char *get_maintpath(void)
{
  struct strbuf sb___6 ;
  char const   *p___0 ;
  char *tmp ;
  char *tmp___0 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  if (the_repository->worktree) {
    tmp = the_repository->worktree;
  } else {
    tmp = the_repository->gitdir;
  }
  p___0 = (char const   *)tmp;
  strbuf_realpath(& sb___6, p___0, 1);
  tmp___0 = strbuf_detach(& sb___6, (size_t *)((void *)0));
  return (tmp___0);
}
}
static int maintenance_register(void)
{
  int rc___0 ;
  char *config_value ;
  struct child_process config_set ;
  struct child_process config_get ;
  char *maintpath ;
  char *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  config_set.args.v = empty_strvec;
  config_set.args.nr = 0UL;
  config_set.args.alloc = 0UL;
  config_set.env_array.v = empty_strvec;
  config_set.env_array.nr = 0UL;
  config_set.env_array.alloc = 0UL;
  config_set.pid = 0;
  config_set.trace2_child_id = 0;
  config_set.trace2_child_us_start = 0UL;
  config_set.trace2_child_class = (char const   *)0;
  config_set.trace2_hook_name = (char const   *)0;
  config_set.in = 0;
  config_set.out = 0;
  config_set.err = 0;
  config_set.dir = (char const   *)0;
  config_set.no_stdin = 0U;
  config_set.no_stdout = 0U;
  config_set.no_stderr = 0U;
  config_set.git_cmd = 0U;
  config_set.silent_exec_failure = 0U;
  config_set.use_shell = 0U;
  config_set.close_object_store = 0U;
  config_set.stdout_to_stderr = 0U;
  config_set.clean_on_exit = 0U;
  config_set.wait_after_clean = 0U;
  config_set.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  config_set.clean_on_exit_handler_cbdata = (void *)0;
  config_get.args.v = empty_strvec;
  config_get.args.nr = 0UL;
  config_get.args.alloc = 0UL;
  config_get.env_array.v = empty_strvec;
  config_get.env_array.nr = 0UL;
  config_get.env_array.alloc = 0UL;
  config_get.pid = 0;
  config_get.trace2_child_id = 0;
  config_get.trace2_child_us_start = 0UL;
  config_get.trace2_child_class = (char const   *)0;
  config_get.trace2_hook_name = (char const   *)0;
  config_get.in = 0;
  config_get.out = 0;
  config_get.err = 0;
  config_get.dir = (char const   *)0;
  config_get.no_stdin = 0U;
  config_get.no_stdout = 0U;
  config_get.no_stderr = 0U;
  config_get.git_cmd = 0U;
  config_get.silent_exec_failure = 0U;
  config_get.use_shell = 0U;
  config_get.close_object_store = 0U;
  config_get.stdout_to_stderr = 0U;
  config_get.clean_on_exit = 0U;
  config_get.wait_after_clean = 0U;
  config_get.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  config_get.clean_on_exit_handler_cbdata = (void *)0;
  tmp = get_maintpath();
  maintpath = tmp;
  git_config_set((char const   *)"maintenance.auto", (char const   *)"false");
  tmp___0 = git_config_get_string((char const   *)"maintenance.strategy", & config_value);
  if (tmp___0) {
    git_config_set((char const   *)"maintenance.strategy", (char const   *)"incremental");
  } else {
    free((void *)config_value);
  }
  config_get.git_cmd = 1U;
  strvec_pushl(& config_get.args, "config", "--global", "--get", "--fixed-value",
               "maintenance.repo", maintpath, (void *)0);
  config_get.out = -1;
  tmp___2 = start_command(& config_get);
  if (tmp___2) {
    tmp___1 = _((char const   *)"failed to run \'git config\'");
    error((char const   *)tmp___1);
    rc___0 = const_error();
    goto done;
  }
  tmp___3 = finish_command(& config_get);
  if (! tmp___3) {
    rc___0 = 0;
    goto done;
  }
  config_set.git_cmd = 1U;
  strvec_pushl(& config_set.args, "config", "--add", "--global", "maintenance.repo",
               maintpath, (void *)0);
  rc___0 = run_command(& config_set);
  done:
  free((void *)maintpath);
  return (rc___0);
}
}
static int maintenance_unregister(void)
{
  int rc___0 ;
  struct child_process config_unset ;
  char *maintpath ;
  char *tmp ;

  {
  config_unset.args.v = empty_strvec;
  config_unset.args.nr = 0UL;
  config_unset.args.alloc = 0UL;
  config_unset.env_array.v = empty_strvec;
  config_unset.env_array.nr = 0UL;
  config_unset.env_array.alloc = 0UL;
  config_unset.pid = 0;
  config_unset.trace2_child_id = 0;
  config_unset.trace2_child_us_start = 0UL;
  config_unset.trace2_child_class = (char const   *)0;
  config_unset.trace2_hook_name = (char const   *)0;
  config_unset.in = 0;
  config_unset.out = 0;
  config_unset.err = 0;
  config_unset.dir = (char const   *)0;
  config_unset.no_stdin = 0U;
  config_unset.no_stdout = 0U;
  config_unset.no_stderr = 0U;
  config_unset.git_cmd = 0U;
  config_unset.silent_exec_failure = 0U;
  config_unset.use_shell = 0U;
  config_unset.close_object_store = 0U;
  config_unset.stdout_to_stderr = 0U;
  config_unset.clean_on_exit = 0U;
  config_unset.wait_after_clean = 0U;
  config_unset.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  config_unset.clean_on_exit_handler_cbdata = (void *)0;
  tmp = get_maintpath();
  maintpath = tmp;
  config_unset.git_cmd = 1U;
  strvec_pushl(& config_unset.args, "config", "--global", "--unset", "--fixed-value",
               "maintenance.repo", maintpath, (void *)0);
  rc___0 = run_command(& config_unset);
  free((void *)maintpath);
  return (rc___0);
}
}
static char const   *get_frequency(enum schedule_priority schedule )
{


  {
  {
  if ((unsigned int )schedule == 3U) {
    goto case_3;
  }
  if ((unsigned int )schedule == 2U) {
    goto case_2;
  }
  if ((unsigned int )schedule == 1U) {
    goto case_1;
  }
  goto switch_default;
  case_3: /* CIL Label */
  return ((char const   *)"hourly");
  case_2: /* CIL Label */
  return ((char const   *)"daily");
  case_1: /* CIL Label */
  return ((char const   *)"weekly");
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"builtin/gc.c", 1523, (char const   *)"invalid schedule %d",
         (unsigned int )schedule);
  switch_break: /* CIL Label */ ;
  }
}
}
static int get_schedule_cmd(char const   **cmd , int *is_available )
{
  char *testing ;
  char *tmp ;
  char *tmp___0 ;
  struct string_list_item *item___0 ;
  struct string_list list___3 ;
  struct string_list pair ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = getenv((char const   *)"GIT_TEST_MAINT_SCHEDULER");
  tmp___0 = xstrdup_or_null((char const   *)tmp);
  testing = tmp___0;
  list___3.items = (struct string_list_item *)0;
  list___3.nr = 0U;
  list___3.alloc = 0U;
  list___3.strdup_strings = 0U;
  list___3.cmp = (int (*)(char const   * , char const   * ))0;
  if (! testing) {
    return (0);
  }
  if (is_available) {
    *is_available = 0;
  }
  string_list_split_in_place(& list___3, testing, ',', -1);
  item___0 = list___3.items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(list___3.items + list___3.nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    pair.items = (struct string_list_item *)0;
    pair.nr = 0U;
    pair.alloc = 0U;
    pair.strdup_strings = 0U;
    pair.cmp = (int (*)(char const   * , char const   * ))0;
    tmp___1 = string_list_split_in_place(& pair, item___0->string, ':', 2);
    if (tmp___1 != 2) {
      goto __Cont;
    }
    tmp___2 = strcmp(*cmd, (char const   *)(pair.items + 0)->string);
    if (! tmp___2) {
      *cmd = (char const   *)(pair.items + 1)->string;
      if (is_available) {
        *is_available = 1;
      }
      string_list_clear(& list___3, 0);
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
      return (1);
    }
    __Cont: /* CIL Label */
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_clear(& list___3, 0);
  free((void *)testing);
  return (1);
}
}
static int is_launchctl_available(void)
{
  char const   *cmd ;
  int is_available ;
  int tmp ;

  {
  cmd = (char const   *)"launchctl";
  tmp = get_schedule_cmd(& cmd, & is_available);
  if (tmp) {
    return (is_available);
  }
  return (0);
}
}
static char *launchctl_service_name(char const   *frequency )
{
  struct strbuf label ;
  char *tmp ;

  {
  label.alloc = 0UL;
  label.len = 0UL;
  label.buf = strbuf_slopbuf;
  strbuf_addf(& label, (char const   *)"org.git-scm.git.%s", frequency);
  tmp = strbuf_detach(& label, (size_t *)((void *)0));
  return (tmp);
}
}
static char *launchctl_service_filename(char const   *name___0 )
{
  char *expanded ;
  struct strbuf filename___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  filename___0.alloc = 0UL;
  filename___0.len = 0UL;
  filename___0.buf = strbuf_slopbuf;
  strbuf_addf(& filename___0, (char const   *)"~/Library/LaunchAgents/%s.plist", name___0);
  expanded = interpolate_path((char const   *)filename___0.buf, 1);
  if (! expanded) {
    tmp = _((char const   *)"failed to expand path \'%s\'");
    die((char const   *)tmp, filename___0.buf);
  }
  strbuf_release(& filename___0);
  return (expanded);
}
}
static char *launchctl_get_uid(void)
{
  __uid_t tmp ;
  char *tmp___0 ;

  {
  tmp = getuid();
  tmp___0 = xstrfmt((char const   *)"gui/%d", tmp);
  return (tmp___0);
}
}
static int launchctl_boot_plist(int enable , char const   *filename___0 )
{
  char const   *cmd ;
  int result___0 ;
  struct child_process child ;
  char *uid ;
  char *tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  cmd = (char const   *)"launchctl";
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  tmp = launchctl_get_uid();
  uid = tmp;
  get_schedule_cmd(& cmd, (int *)((void *)0));
  strvec_split(& child.args, cmd);
  if (enable) {
    tmp___0 = "bootstrap";
  } else {
    tmp___0 = "bootout";
  }
  strvec_pushl(& child.args, tmp___0, uid, filename___0, (void *)0);
  child.no_stderr = 1U;
  child.no_stdout = 1U;
  tmp___2 = start_command(& child);
  if (tmp___2) {
    tmp___1 = _((char const   *)"failed to start launchctl");
    die((char const   *)tmp___1);
  }
  result___0 = finish_command(& child);
  free((void *)uid);
  return (result___0);
}
}
static int launchctl_remove_plist(enum schedule_priority schedule )
{
  char const   *frequency ;
  char const   *tmp ;
  char *name___0 ;
  char *tmp___0 ;
  char *filename___0 ;
  char *tmp___1 ;
  int result___0 ;
  int tmp___2 ;

  {
  tmp = get_frequency(schedule);
  frequency = tmp;
  tmp___0 = launchctl_service_name(frequency);
  name___0 = tmp___0;
  tmp___1 = launchctl_service_filename((char const   *)name___0);
  filename___0 = tmp___1;
  tmp___2 = launchctl_boot_plist(0, (char const   *)filename___0);
  result___0 = tmp___2;
  unlink((char const   *)filename___0);
  free((void *)filename___0);
  free((void *)name___0);
  return (result___0);
}
}
static int launchctl_remove_plists(void)
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = launchctl_remove_plist((enum schedule_priority )3);
  if (tmp) {
    tmp___2 = 1;
  } else {
    tmp___0 = launchctl_remove_plist((enum schedule_priority )2);
    if (tmp___0) {
      tmp___2 = 1;
    } else {
      tmp___1 = launchctl_remove_plist((enum schedule_priority )1);
      if (tmp___1) {
        tmp___2 = 1;
      } else {
        tmp___2 = 0;
      }
    }
  }
  return (tmp___2);
}
}
static int launchctl_list_contains_plist(char const   *name___0 , char const   *cmd )
{
  struct child_process child ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  strvec_split(& child.args, cmd);
  strvec_pushl(& child.args, "list", name___0, (void *)0);
  child.no_stderr = 1U;
  child.no_stdout = 1U;
  tmp___0 = start_command(& child);
  if (tmp___0) {
    tmp = _((char const   *)"failed to start launchctl");
    die((char const   *)tmp);
  }
  tmp___1 = finish_command(& child);
  if (tmp___1) {
    tmp___2 = 0;
  } else {
    tmp___2 = 1;
  }
  return (tmp___2);
}
}
static int launchctl_schedule_plist(char const   *exec_path , enum schedule_priority schedule ) ;
static unsigned long lock_file_timeout_ms  =    18446744073709551615UL;
static int launchctl_schedule_plist(char const   *exec_path , enum schedule_priority schedule )
{
  int i ;
  int fd ;
  char const   *preamble ;
  char const   *repeat ;
  char const   *frequency ;
  char const   *tmp ;
  char *name___0 ;
  char *tmp___0 ;
  char *filename___0 ;
  char *tmp___1 ;
  struct lock_file lk ;
  struct strbuf plist ;
  struct strbuf plist2 ;
  struct stat st ;
  char const   *cmd ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  enum scld_error tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  ssize_t tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  ssize_t tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;

  {
  tmp = get_frequency(schedule);
  frequency = tmp;
  tmp___0 = launchctl_service_name(frequency);
  name___0 = tmp___0;
  tmp___1 = launchctl_service_filename((char const   *)name___0);
  filename___0 = tmp___1;
  lk.tempfile = (struct tempfile *)0;
  plist.alloc = 0UL;
  plist.len = 0UL;
  plist.buf = strbuf_slopbuf;
  plist2.alloc = 0UL;
  plist2.len = 0UL;
  plist2.buf = strbuf_slopbuf;
  cmd = (char const   *)"launchctl";
  get_schedule_cmd(& cmd, (int *)((void *)0));
  preamble = (char const   *)"<?xml version=\"1.0\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\"><dict>\n<key>Label</key><string>%s</string>\n<key>ProgramArguments</key>\n<array>\n<string>%s/git</string>\n<string>--exec-path=%s</string>\n<string>for-each-repo</string>\n<string>--config=maintenance.repo</string>\n<string>maintenance</string>\n<string>run</string>\n<string>--schedule=%s</string>\n</array>\n<key>StartCalendarInterval</key>\n<array>\n";
  strbuf_addf(& plist, preamble, name___0, exec_path, exec_path, frequency);
  {
  if ((unsigned int )schedule == 3U) {
    goto case_3;
  }
  if ((unsigned int )schedule == 2U) {
    goto case_2;
  }
  if ((unsigned int )schedule == 1U) {
    goto case_1;
  }
  goto switch_default;
  case_3: /* CIL Label */
  repeat = (char const   *)"<dict>\n<key>Hour</key><integer>%d</integer>\n<key>Minute</key><integer>0</integer>\n</dict>\n";
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i <= 23)) {
      goto while_break;
    }
    strbuf_addf(& plist, repeat, i);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  goto switch_break;
  case_2: /* CIL Label */
  repeat = (char const   *)"<dict>\n<key>Day</key><integer>%d</integer>\n<key>Hour</key><integer>0</integer>\n<key>Minute</key><integer>0</integer>\n</dict>\n";
  i = 1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i <= 6)) {
      goto while_break___0;
    }
    strbuf_addf(& plist, repeat, i);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  goto switch_break;
  case_1: /* CIL Label */
  strbuf_addstr(& plist, (char const   *)"<dict>\n<key>Day</key><integer>0</integer>\n<key>Hour</key><integer>0</integer>\n<key>Minute</key><integer>0</integer>\n</dict>\n");
  goto switch_break;
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  strbuf_addstr(& plist, (char const   *)"</array>\n</dict>\n</plist>\n");
  tmp___3 = safe_create_leading_directories(filename___0);
  if (tmp___3) {
    tmp___2 = _((char const   *)"failed to create directories for \'%s\'");
    die((char const   *)tmp___2, filename___0);
  }
  if ((long )lock_file_timeout_ms < 0L) {
    tmp___4 = git_config_get_ulong((char const   *)"gc.launchctlplistlocktimeoutms",
                                   & lock_file_timeout_ms);
    if (tmp___4) {
      lock_file_timeout_ms = 150UL;
    }
  }
  fd = hold_lock_file_for_update_timeout(& lk, (char const   *)filename___0, 1, (long )lock_file_timeout_ms);
  tmp___10 = stat((char const   *)filename___0, & st);
  if (tmp___10) {
    _L___2: /* CIL Label */
    _L___1: /* CIL Label */
    _L___0: /* CIL Label */
    _L: /* CIL Label */
    tmp___6 = write_in_full(fd, (void const   *)plist.buf, plist.len);
    if (tmp___6 < 0L) {
      tmp___5 = _((char const   *)"could not write \'%s\'");
      die_errno((char const   *)tmp___5, filename___0);
    } else {
      tmp___7 = commit_lock_file(& lk);
      if (tmp___7) {
        tmp___5 = _((char const   *)"could not write \'%s\'");
        die_errno((char const   *)tmp___5, filename___0);
      }
    }
    launchctl_boot_plist(0, (char const   *)filename___0);
    tmp___9 = launchctl_boot_plist(1, (char const   *)filename___0);
    if (tmp___9) {
      tmp___8 = _((char const   *)"failed to bootstrap service %s");
      die((char const   *)tmp___8, filename___0);
    }
  } else
  if ((size_t )st.st_size == plist.len) {
    tmp___11 = strbuf_read_file(& plist2, (char const   *)filename___0, plist.len);
    if ((size_t )tmp___11 == plist.len) {
      tmp___12 = strbuf_cmp((struct strbuf  const  *)(& plist), (struct strbuf  const  *)(& plist2));
      if (tmp___12) {
        goto _L___2;
      } else {
        tmp___13 = launchctl_list_contains_plist((char const   *)name___0, cmd);
        if (tmp___13) {
          rollback_lock_file(& lk);
        } else {
          goto _L___2;
        }
      }
    } else {
      goto _L___2;
    }
  } else {
    goto _L___2;
  }
  free((void *)filename___0);
  free((void *)name___0);
  strbuf_release(& plist);
  strbuf_release(& plist2);
  return (0);
}
}
static int launchctl_add_plists(void)
{
  char const   *exec_path ;
  char const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = git_exec_path();
  exec_path = tmp;
  tmp___0 = launchctl_schedule_plist(exec_path, (enum schedule_priority )3);
  if (tmp___0) {
    tmp___3 = 1;
  } else {
    tmp___1 = launchctl_schedule_plist(exec_path, (enum schedule_priority )2);
    if (tmp___1) {
      tmp___3 = 1;
    } else {
      tmp___2 = launchctl_schedule_plist(exec_path, (enum schedule_priority )1);
      if (tmp___2) {
        tmp___3 = 1;
      } else {
        tmp___3 = 0;
      }
    }
  }
  return (tmp___3);
}
}
static int launchctl_update_schedule(int run_maintenance , int fd )
{
  int tmp ;
  int tmp___0 ;

  {
  if (run_maintenance) {
    tmp = launchctl_add_plists();
    return (tmp);
  } else {
    tmp___0 = launchctl_remove_plists();
    return (tmp___0);
  }
}
}
static int is_schtasks_available(void)
{
  char const   *cmd ;
  int is_available ;
  int tmp ;

  {
  cmd = (char const   *)"schtasks";
  tmp = get_schedule_cmd(& cmd, & is_available);
  if (tmp) {
    return (is_available);
  }
  return (0);
}
}
static char *schtasks_task_name(char const   *frequency )
{
  struct strbuf label ;
  char *tmp ;

  {
  label.alloc = 0UL;
  label.len = 0UL;
  label.buf = strbuf_slopbuf;
  strbuf_addf(& label, (char const   *)"Git Maintenance (%s)", frequency);
  tmp = strbuf_detach(& label, (size_t *)((void *)0));
  return (tmp);
}
}
static int schtasks_remove_task(enum schedule_priority schedule )
{
  char const   *cmd ;
  int result___0 ;
  struct strvec args___0 ;
  char const   *frequency ;
  char const   *tmp ;
  char *name___0 ;
  char *tmp___0 ;

  {
  cmd = (char const   *)"schtasks";
  args___0.v = empty_strvec;
  args___0.nr = 0UL;
  args___0.alloc = 0UL;
  tmp = get_frequency(schedule);
  frequency = tmp;
  tmp___0 = schtasks_task_name(frequency);
  name___0 = tmp___0;
  get_schedule_cmd(& cmd, (int *)((void *)0));
  strvec_split(& args___0, cmd);
  strvec_pushl(& args___0, "/delete", "/tn", name___0, "/f", (void *)0);
  result___0 = run_command_v_opt(args___0.v, 0);
  strvec_clear(& args___0);
  free((void *)name___0);
  return (result___0);
}
}
static int schtasks_remove_tasks(void)
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = schtasks_remove_task((enum schedule_priority )3);
  if (tmp) {
    tmp___2 = 1;
  } else {
    tmp___0 = schtasks_remove_task((enum schedule_priority )2);
    if (tmp___0) {
      tmp___2 = 1;
    } else {
      tmp___1 = schtasks_remove_task((enum schedule_priority )1);
      if (tmp___1) {
        tmp___2 = 1;
      } else {
        tmp___2 = 0;
      }
    }
  }
  return (tmp___2);
}
}
static int schtasks_schedule_task(char const   *exec_path , enum schedule_priority schedule )
{
  char const   *cmd ;
  int result___0 ;
  struct child_process child ;
  char const   *xml ;
  struct tempfile *tfile ;
  char const   *frequency ;
  char const   *tmp ;
  char *name___0 ;
  char *tmp___0 ;
  struct strbuf tfilename ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  FILE *tmp___3 ;
  char const   *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;

  {
  cmd = (char const   *)"schtasks";
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  tmp = get_frequency(schedule);
  frequency = tmp;
  tmp___0 = schtasks_task_name(frequency);
  name___0 = tmp___0;
  tfilename.alloc = 0UL;
  tfilename.len = 0UL;
  tfilename.buf = strbuf_slopbuf;
  get_schedule_cmd(& cmd, (int *)((void *)0));
  tmp___1 = get_git_common_dir();
  strbuf_addf(& tfilename, (char const   *)"%s/schedule_%s_XXXXXX", tmp___1, frequency);
  tfile = xmks_tempfile((char const   *)tfilename.buf);
  strbuf_release(& tfilename);
  tmp___3 = fdopen_tempfile(tfile, (char const   *)"w");
  if (! tmp___3) {
    tmp___2 = _((char const   *)"failed to create temp xml file");
    die((char const   *)tmp___2);
  }
  xml = (char const   *)"<?xml version=\"1.0\" ?>\n<Task version=\"1.4\" xmlns=\"http://schemas.microsoft.com/windows/2004/02/mit/task\">\n<Triggers>\n<CalendarTrigger>\n";
  fputs((char const   * __restrict  )xml, (FILE * __restrict  )tfile->fp);
  {
  if ((unsigned int )schedule == 3U) {
    goto case_3;
  }
  if ((unsigned int )schedule == 2U) {
    goto case_2;
  }
  if ((unsigned int )schedule == 1U) {
    goto case_1;
  }
  goto switch_default;
  case_3: /* CIL Label */
  fprintf((FILE *)tfile->fp, (char const   *)"<StartBoundary>2020-01-01T01:00:00</StartBoundary>\n<Enabled>true</Enabled>\n<ScheduleByDay>\n<DaysInterval>1</DaysInterval>\n</ScheduleByDay>\n<Repetition>\n<Interval>PT1H</Interval>\n<Duration>PT23H</Duration>\n<StopAtDurationEnd>false</StopAtDurationEnd>\n</Repetition>\n");
  goto switch_break;
  case_2: /* CIL Label */
  fprintf((FILE *)tfile->fp, (char const   *)"<StartBoundary>2020-01-01T00:00:00</StartBoundary>\n<Enabled>true</Enabled>\n<ScheduleByWeek>\n<DaysOfWeek>\n<Monday />\n<Tuesday />\n<Wednesday />\n<Thursday />\n<Friday />\n<Saturday />\n</DaysOfWeek>\n<WeeksInterval>1</WeeksInterval>\n</ScheduleByWeek>\n");
  goto switch_break;
  case_1: /* CIL Label */
  fprintf((FILE *)tfile->fp, (char const   *)"<StartBoundary>2020-01-01T00:00:00</StartBoundary>\n<Enabled>true</Enabled>\n<ScheduleByWeek>\n<DaysOfWeek>\n<Sunday />\n</DaysOfWeek>\n<WeeksInterval>1</WeeksInterval>\n</ScheduleByWeek>\n");
  goto switch_break;
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  xml = (char const   *)"</CalendarTrigger>\n</Triggers>\n<Principals>\n<Principal id=\"Author\">\n<LogonType>InteractiveToken</LogonType>\n<RunLevel>LeastPrivilege</RunLevel>\n</Principal>\n</Principals>\n<Settings>\n<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>\n<Enabled>true</Enabled>\n<Hidden>true</Hidden>\n<UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>\n<WakeToRun>false</WakeToRun>\n<ExecutionTimeLimit>PT72H</ExecutionTimeLimit>\n<Priority>7</Priority>\n</Settings>\n<Actions Context=\"Author\">\n<Exec>\n<Command>\"%s\\git.exe\"</Command>\n<Arguments>--exec-path=\"%s\" for-each-repo --config=maintenance.repo maintenance run --schedule=%s</Arguments>\n</Exec>\n</Actions>\n</Task>\n";
  fprintf((FILE *)tfile->fp, xml, exec_path, exec_path, frequency);
  strvec_split(& child.args, cmd);
  tmp___4 = get_tempfile_path(tfile);
  strvec_pushl(& child.args, "/create", "/tn", name___0, "/f", "/xml", tmp___4, (void *)0);
  close_tempfile_gently(tfile);
  child.no_stdout = 1U;
  child.no_stderr = 1U;
  tmp___6 = start_command(& child);
  if (tmp___6) {
    tmp___5 = _((char const   *)"failed to start schtasks");
    die((char const   *)tmp___5);
  }
  result___0 = finish_command(& child);
  delete_tempfile(& tfile);
  free((void *)name___0);
  return (result___0);
}
}
static int schtasks_schedule_tasks(void)
{
  char const   *exec_path ;
  char const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = git_exec_path();
  exec_path = tmp;
  tmp___0 = schtasks_schedule_task(exec_path, (enum schedule_priority )3);
  if (tmp___0) {
    tmp___3 = 1;
  } else {
    tmp___1 = schtasks_schedule_task(exec_path, (enum schedule_priority )2);
    if (tmp___1) {
      tmp___3 = 1;
    } else {
      tmp___2 = schtasks_schedule_task(exec_path, (enum schedule_priority )1);
      if (tmp___2) {
        tmp___3 = 1;
      } else {
        tmp___3 = 0;
      }
    }
  }
  return (tmp___3);
}
}
static int schtasks_update_schedule(int run_maintenance , int fd )
{
  int tmp ;
  int tmp___0 ;

  {
  if (run_maintenance) {
    tmp = schtasks_schedule_tasks();
    return (tmp);
  } else {
    tmp___0 = schtasks_remove_tasks();
    return (tmp___0);
  }
}
}
static int check_crontab_process(char const   *cmd )  __attribute__((__unused__)) ;
static int check_crontab_process(char const   *cmd )
{
  struct child_process child ;
  int tmp ;

  {
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  strvec_split(& child.args, cmd);
  strvec_push(& child.args, (char const   *)"-l");
  child.no_stdin = 1U;
  child.no_stdout = 1U;
  child.no_stderr = 1U;
  child.silent_exec_failure = 1U;
  tmp = start_command(& child);
  if (tmp) {
    return (0);
  }
  finish_command(& child);
  return (1);
}
}
static int is_crontab_available(void)
{
  char const   *cmd ;
  int is_available ;
  int tmp ;
  int tmp___0 ;

  {
  cmd = (char const   *)"crontab";
  tmp = get_schedule_cmd(& cmd, & is_available);
  if (tmp) {
    return (is_available);
  }
  tmp___0 = check_crontab_process(cmd);
  return (tmp___0);
}
}
static int crontab_update_schedule(int run_maintenance , int fd )
{
  char const   *cmd ;
  int result___0 ;
  int in_old_region ;
  struct child_process crontab_list ;
  struct child_process crontab_edit ;
  FILE *cron_list ;
  FILE *cron_in ;
  struct strbuf line___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  struct strbuf line_format ;
  char const   *exec_path ;
  char const   *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;

  {
  cmd = (char const   *)"crontab";
  result___0 = 0;
  in_old_region = 0;
  crontab_list.args.v = empty_strvec;
  crontab_list.args.nr = 0UL;
  crontab_list.args.alloc = 0UL;
  crontab_list.env_array.v = empty_strvec;
  crontab_list.env_array.nr = 0UL;
  crontab_list.env_array.alloc = 0UL;
  crontab_list.pid = 0;
  crontab_list.trace2_child_id = 0;
  crontab_list.trace2_child_us_start = 0UL;
  crontab_list.trace2_child_class = (char const   *)0;
  crontab_list.trace2_hook_name = (char const   *)0;
  crontab_list.in = 0;
  crontab_list.out = 0;
  crontab_list.err = 0;
  crontab_list.dir = (char const   *)0;
  crontab_list.no_stdin = 0U;
  crontab_list.no_stdout = 0U;
  crontab_list.no_stderr = 0U;
  crontab_list.git_cmd = 0U;
  crontab_list.silent_exec_failure = 0U;
  crontab_list.use_shell = 0U;
  crontab_list.close_object_store = 0U;
  crontab_list.stdout_to_stderr = 0U;
  crontab_list.clean_on_exit = 0U;
  crontab_list.wait_after_clean = 0U;
  crontab_list.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  crontab_list.clean_on_exit_handler_cbdata = (void *)0;
  crontab_edit.args.v = empty_strvec;
  crontab_edit.args.nr = 0UL;
  crontab_edit.args.alloc = 0UL;
  crontab_edit.env_array.v = empty_strvec;
  crontab_edit.env_array.nr = 0UL;
  crontab_edit.env_array.alloc = 0UL;
  crontab_edit.pid = 0;
  crontab_edit.trace2_child_id = 0;
  crontab_edit.trace2_child_us_start = 0UL;
  crontab_edit.trace2_child_class = (char const   *)0;
  crontab_edit.trace2_hook_name = (char const   *)0;
  crontab_edit.in = 0;
  crontab_edit.out = 0;
  crontab_edit.err = 0;
  crontab_edit.dir = (char const   *)0;
  crontab_edit.no_stdin = 0U;
  crontab_edit.no_stdout = 0U;
  crontab_edit.no_stderr = 0U;
  crontab_edit.git_cmd = 0U;
  crontab_edit.silent_exec_failure = 0U;
  crontab_edit.use_shell = 0U;
  crontab_edit.close_object_store = 0U;
  crontab_edit.stdout_to_stderr = 0U;
  crontab_edit.clean_on_exit = 0U;
  crontab_edit.wait_after_clean = 0U;
  crontab_edit.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  crontab_edit.clean_on_exit_handler_cbdata = (void *)0;
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  get_schedule_cmd(& cmd, (int *)((void *)0));
  strvec_split(& crontab_list.args, cmd);
  strvec_push(& crontab_list.args, (char const   *)"-l");
  crontab_list.in = -1;
  crontab_list.out = dup(fd);
  crontab_list.git_cmd = 0U;
  tmp___1 = start_command(& crontab_list);
  if (tmp___1) {
    tmp = _((char const   *)"failed to run \'crontab -l\'; your system might not support \'cron\'");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  finish_command(& crontab_list);
  cron_list = fdopen(fd, (char const   *)"r");
  rewind(cron_list);
  strvec_split(& crontab_edit.args, cmd);
  crontab_edit.in = -1;
  crontab_edit.git_cmd = 0U;
  tmp___4 = start_command(& crontab_edit);
  if (tmp___4) {
    tmp___2 = _((char const   *)"failed to run \'crontab\'; your system might not support \'cron\'");
    error((char const   *)tmp___2);
    tmp___3 = const_error();
    return (tmp___3);
  }
  cron_in = fdopen(crontab_edit.in, (char const   *)"w");
  if (! cron_in) {
    tmp___5 = _((char const   *)"failed to open stdin of \'crontab\'");
    error((char const   *)tmp___5);
    result___0 = const_error();
    goto done_editing;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___8 = strbuf_getline_lf(& line___0, cron_list);
    if (tmp___8) {
      goto while_break;
    }
    if (! in_old_region) {
      tmp___7 = strcmp((char const   *)line___0.buf, (char const   *)"# BEGIN GIT MAINTENANCE SCHEDULE");
      if (tmp___7) {
        goto _L___0;
      } else {
        in_old_region = 1;
      }
    } else
    _L___0: /* CIL Label */
    if (in_old_region) {
      tmp___6 = strcmp((char const   *)line___0.buf, (char const   *)"# END GIT MAINTENANCE SCHEDULE");
      if (tmp___6) {
        goto _L;
      } else {
        in_old_region = 0;
      }
    } else
    _L: /* CIL Label */
    if (! in_old_region) {
      fprintf(cron_in, (char const   *)"%s\n", line___0.buf);
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& line___0);
  if (run_maintenance) {
    line_format.alloc = 0UL;
    line_format.len = 0UL;
    line_format.buf = strbuf_slopbuf;
    tmp___9 = git_exec_path();
    exec_path = tmp___9;
    fprintf(cron_in, (char const   *)"%s\n", "# BEGIN GIT MAINTENANCE SCHEDULE");
    fprintf(cron_in, (char const   *)"# The following schedule was created by Git\n");
    fprintf(cron_in, (char const   *)"# Any edits made in this region might be\n");
    fprintf(cron_in, (char const   *)"# replaced in the future by a Git command.\n\n");
    strbuf_addf(& line_format, (char const   *)"%%s %%s * * %%s \"%s/git\" --exec-path=\"%s\" for-each-repo --config=maintenance.repo maintenance run --schedule=%%s\n",
                exec_path, exec_path);
    fprintf(cron_in, (char const   *)line_format.buf, "0", "1-23", "*", "hourly");
    fprintf(cron_in, (char const   *)line_format.buf, "0", "0", "1-6", "daily");
    fprintf(cron_in, (char const   *)line_format.buf, "0", "0", "0", "weekly");
    strbuf_release(& line_format);
    fprintf(cron_in, (char const   *)"\n%s\n", "# END GIT MAINTENANCE SCHEDULE");
  }
  fflush(cron_in);
  fclose(cron_in);
  close(crontab_edit.in);
  done_editing:
  tmp___11 = finish_command(& crontab_edit);
  if (tmp___11) {
    tmp___10 = _((char const   *)"\'crontab\' died");
    error((char const   *)tmp___10);
    result___0 = const_error();
  } else {
    fclose(cron_list);
  }
  return (result___0);
}
}
static int real_is_systemd_timer_available(void)
{
  struct child_process child ;
  int tmp ;
  int tmp___0 ;

  {
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  strvec_pushl(& child.args, "systemctl", "--user", "list-timers", (void *)0);
  child.no_stdin = 1U;
  child.no_stdout = 1U;
  child.no_stderr = 1U;
  child.silent_exec_failure = 1U;
  tmp = start_command(& child);
  if (tmp) {
    return (0);
  }
  tmp___0 = finish_command(& child);
  if (tmp___0) {
    return (0);
  }
  return (1);
}
}
static int is_systemd_timer_available(void)
{
  char const   *cmd ;
  int is_available ;
  int tmp ;
  int tmp___0 ;

  {
  cmd = (char const   *)"systemctl";
  tmp = get_schedule_cmd(& cmd, & is_available);
  if (tmp) {
    return (is_available);
  }
  tmp___0 = real_is_systemd_timer_available();
  return (tmp___0);
}
}
static char *xdg_config_home_systemd(char const   *filename___0 )
{
  char *tmp ;

  {
  tmp = xdg_config_home_for((char const   *)"systemd/user", filename___0);
  return (tmp);
}
}
static int systemd_timer_enable_unit(int enable , enum schedule_priority schedule )
{
  char const   *cmd ;
  struct child_process child ;
  char const   *frequency ;
  char const   *tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  cmd = (char const   *)"systemctl";
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  tmp = get_frequency(schedule);
  frequency = tmp;
  if (! enable) {
    child.no_stderr = 1U;
  }
  get_schedule_cmd(& cmd, (int *)((void *)0));
  strvec_split(& child.args, cmd);
  if (enable) {
    tmp___0 = "enable";
  } else {
    tmp___0 = "disable";
  }
  strvec_pushl(& child.args, "--user", tmp___0, "--now", (void *)0);
  strvec_pushf(& child.args, (char const   *)"git-maintenance@%s.timer", frequency);
  tmp___3 = start_command(& child);
  if (tmp___3) {
    tmp___1 = _((char const   *)"failed to start systemctl");
    error((char const   *)tmp___1);
    tmp___2 = const_error();
    return (tmp___2);
  }
  tmp___6 = finish_command(& child);
  if (tmp___6) {
    if (enable) {
      tmp___4 = _((char const   *)"failed to run systemctl");
      error((char const   *)tmp___4);
      tmp___5 = const_error();
      return (tmp___5);
    }
  }
  return (0);
}
}
static int systemd_timer_delete_unit_templates(void)
{
  int ret___67 ;
  char *filename___0 ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int *tmp___6 ;
  int tmp___7 ;

  {
  ret___67 = 0;
  tmp = xdg_config_home_systemd((char const   *)"git-maintenance@.timer");
  filename___0 = tmp;
  tmp___1 = unlink((char const   *)filename___0);
  if (tmp___1) {
    tmp___2 = __errno_location();
    tmp___3 = is_missing_file_error(*tmp___2);
    if (! tmp___3) {
      tmp___0 = _((char const   *)"failed to delete \'%s\'");
      error_errno((char const   *)tmp___0, filename___0);
      ret___67 = const_error();
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)filename___0);
    filename___0 = (char *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  filename___0 = xdg_config_home_systemd((char const   *)"git-maintenance@.service");
  tmp___5 = unlink((char const   *)filename___0);
  if (tmp___5) {
    tmp___6 = __errno_location();
    tmp___7 = is_missing_file_error(*tmp___6);
    if (! tmp___7) {
      tmp___4 = _((char const   *)"failed to delete \'%s\'");
      error_errno((char const   *)tmp___4, filename___0);
      ret___67 = const_error();
    }
  }
  free((void *)filename___0);
  return (ret___67);
}
}
static int systemd_timer_delete_units(void)
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = systemd_timer_enable_unit(0, (enum schedule_priority )3);
  if (tmp) {
    tmp___3 = 1;
  } else {
    tmp___0 = systemd_timer_enable_unit(0, (enum schedule_priority )2);
    if (tmp___0) {
      tmp___3 = 1;
    } else {
      tmp___1 = systemd_timer_enable_unit(0, (enum schedule_priority )1);
      if (tmp___1) {
        tmp___3 = 1;
      } else {
        tmp___2 = systemd_timer_delete_unit_templates();
        if (tmp___2) {
          tmp___3 = 1;
        } else {
          tmp___3 = 0;
        }
      }
    }
  }
  return (tmp___3);
}
}
static int systemd_timer_write_unit_templates(char const   *exec_path )
{
  char *filename___0 ;
  FILE *file___0 ;
  char const   *unit ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  enum scld_error tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;

  {
  filename___0 = xdg_config_home_systemd((char const   *)"git-maintenance@.timer");
  tmp___0 = safe_create_leading_directories(filename___0);
  if (tmp___0) {
    tmp = _((char const   *)"failed to create directories for \'%s\'");
    error((char const   *)tmp, filename___0);
    const_error();
    goto error;
  }
  file___0 = fopen_or_warn((char const   *)filename___0, (char const   *)"w");
  if ((unsigned long )file___0 == (unsigned long )((void *)0)) {
    goto error;
  }
  unit = (char const   *)"# This file was created and is maintained by Git.\n# Any edits made in this file might be replaced in the future\n# by a Git command.\n\n[Unit]\nDescription=Optimize Git repositories data\n\n[Timer]\nOnCalendar=%i\nPersistent=true\n\n[Install]\nWantedBy=timers.target\n";
  tmp___2 = fputs((char const   * __restrict  )unit, (FILE * __restrict  )file___0);
  if (tmp___2 == -1) {
    tmp___1 = _((char const   *)"failed to write to \'%s\'");
    error((char const   *)tmp___1, filename___0);
    const_error();
    fclose(file___0);
    goto error;
  }
  tmp___4 = fclose(file___0);
  if (tmp___4 == -1) {
    tmp___3 = _((char const   *)"failed to flush \'%s\'");
    error_errno((char const   *)tmp___3, filename___0);
    const_error();
    goto error;
  }
  free((void *)filename___0);
  filename___0 = xdg_config_home_systemd((char const   *)"git-maintenance@.service");
  file___0 = fopen_or_warn((char const   *)filename___0, (char const   *)"w");
  if ((unsigned long )file___0 == (unsigned long )((void *)0)) {
    goto error;
  }
  unit = (char const   *)"# This file was created and is maintained by Git.\n# Any edits made in this file might be replaced in the future\n# by a Git command.\n\n[Unit]\nDescription=Optimize Git repositories data\n\n[Service]\nType=oneshot\nExecStart=\"%s/git\" --exec-path=\"%s\" for-each-repo --config=maintenance.repo maintenance run --schedule=%%i\nLockPersonality=yes\nMemoryDenyWriteExecute=yes\nNoNewPrivileges=yes\nRestrictAddressFamilies=AF_UNIX AF_INET AF_INET6\nRestrictNamespaces=yes\nRestrictRealtime=yes\nRestrictSUIDSGID=yes\nSystemCallArchitectures=native\nSystemCallFilter=@system-service\n";
  tmp___6 = fprintf(file___0, unit, exec_path, exec_path);
  if (tmp___6 < 0) {
    tmp___5 = _((char const   *)"failed to write to \'%s\'");
    error((char const   *)tmp___5, filename___0);
    const_error();
    fclose(file___0);
    goto error;
  }
  tmp___8 = fclose(file___0);
  if (tmp___8 == -1) {
    tmp___7 = _((char const   *)"failed to flush \'%s\'");
    error_errno((char const   *)tmp___7, filename___0);
    const_error();
    goto error;
  }
  free((void *)filename___0);
  return (0);
  error:
  free((void *)filename___0);
  systemd_timer_delete_unit_templates();
  return (-1);
}
}
static int systemd_timer_setup_units(void)
{
  char const   *exec_path ;
  char const   *tmp ;
  int ret___67 ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp = git_exec_path();
  exec_path = tmp;
  tmp___0 = systemd_timer_write_unit_templates(exec_path);
  if (tmp___0) {
    tmp___4 = 1;
  } else {
    tmp___1 = systemd_timer_enable_unit(1, (enum schedule_priority )3);
    if (tmp___1) {
      tmp___4 = 1;
    } else {
      tmp___2 = systemd_timer_enable_unit(1, (enum schedule_priority )2);
      if (tmp___2) {
        tmp___4 = 1;
      } else {
        tmp___3 = systemd_timer_enable_unit(1, (enum schedule_priority )1);
        if (tmp___3) {
          tmp___4 = 1;
        } else {
          tmp___4 = 0;
        }
      }
    }
  }
  ret___67 = tmp___4;
  if (ret___67) {
    systemd_timer_delete_units();
  }
  return (ret___67);
}
}
static int systemd_timer_update_schedule(int run_maintenance , int fd )
{
  int tmp ;
  int tmp___0 ;

  {
  if (run_maintenance) {
    tmp = systemd_timer_setup_units();
    return (tmp);
  } else {
    tmp___0 = systemd_timer_delete_units();
    return (tmp___0);
  }
}
}
static struct __anonstruct_scheduler_fn_37437826  const  scheduler_fn[5]  = {      {(char const   *)0, (int (*)(void))0, (int (*)(int run_maintenance , int fd ))0},
        {(char const   *)"crontab",
      & is_crontab_available, & crontab_update_schedule},
        {(char const   *)"systemctl", & is_systemd_timer_available, & systemd_timer_update_schedule},
        {(char const   *)"launchctl",
      & is_launchctl_available, & launchctl_update_schedule},
        {(char const   *)"schtasks", & is_schtasks_available, & schtasks_update_schedule}};
static enum scheduler parse_scheduler(char const   *value )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  if (! value) {
    return ((enum scheduler )-1);
  } else {
    tmp___5 = strcasecmp(value, (char const   *)"auto");
    if (tmp___5) {
      tmp___3 = strcasecmp(value, (char const   *)"cron");
      if (tmp___3) {
        tmp___4 = strcasecmp(value, (char const   *)"crontab");
        if (tmp___4) {
          tmp___1 = strcasecmp(value, (char const   *)"systemd");
          if (tmp___1) {
            tmp___2 = strcasecmp(value, (char const   *)"systemd-timer");
            if (tmp___2) {
              tmp___0 = strcasecmp(value, (char const   *)"launchctl");
              if (tmp___0) {
                tmp = strcasecmp(value, (char const   *)"schtasks");
                if (tmp) {
                  return ((enum scheduler )-1);
                } else {
                  return ((enum scheduler )4);
                }
              } else {
                return ((enum scheduler )3);
              }
            } else {
              return ((enum scheduler )2);
            }
          } else {
            return ((enum scheduler )2);
          }
        } else {
          return ((enum scheduler )1);
        }
      } else {
        return ((enum scheduler )1);
      }
    } else {
      return ((enum scheduler )0);
    }
  }
}
}
static int maintenance_opt_scheduler(struct option  const  *opt___0 , char const   *arg ,
                                     int unset )
{
  enum scheduler *scheduler ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  scheduler = (enum scheduler *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/gc.c", 2391, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  *scheduler = parse_scheduler(arg);
  if ((int )*scheduler == -1) {
    tmp = _((char const   *)"unrecognized --scheduler argument \'%s\'");
    error((char const   *)tmp, arg);
    tmp___0 = const_error();
    return (tmp___0);
  }
  return (0);
}
}
static enum scheduler resolve_scheduler(enum scheduler scheduler )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if ((int )scheduler != 0) {
    return (scheduler);
  }
  tmp___1 = is_systemd_timer_available();
  if (tmp___1) {
    return ((enum scheduler )2);
  } else {
    tmp___0 = is_crontab_available();
    if (tmp___0) {
      return ((enum scheduler )1);
    } else {
      tmp = _((char const   *)"neither systemd timers nor crontab are available");
      die((char const   *)tmp);
    }
  }
}
}
static void validate_scheduler(enum scheduler scheduler )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  if ((int )scheduler == -1) {
    BUG_fl((char const   *)"builtin/gc.c", 2430, (char const   *)"invalid scheduler");
  }
  if ((int )scheduler == 0) {
    BUG_fl((char const   *)"builtin/gc.c", 2432, (char const   *)"resolve_scheduler should have been called before");
  }
  tmp___0 = (*(scheduler_fn[scheduler].is_available))();
  if (! tmp___0) {
    tmp = _((char const   *)"%s scheduler is not available");
    die((char const   *)tmp, scheduler_fn[scheduler].name);
  }
  return;
}
}
static int update_background_schedule(struct maintenance_start_opts  const  *opts___1 ,
                                      int enable )
{
  unsigned int i ;
  int result___0 ;
  struct lock_file lk ;
  char *lock_path ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  result___0 = 0;
  tmp = xstrfmt((char const   *)"%s/schedule", ((the_repository->objects)->odb)->path);
  lock_path = tmp;
  tmp___2 = hold_lock_file_for_update(& lk, (char const   *)lock_path, 2);
  if (tmp___2 < 0) {
    free((void *)lock_path);
    tmp___0 = _((char const   *)"another process is scheduling background maintenance");
    error((char const   *)tmp___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  i = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(scheduler_fn) / sizeof(scheduler_fn[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    if (enable) {
      if ((unsigned int )opts___1->scheduler == i) {
        goto __Cont;
      }
    }
    tmp___3 = (*(scheduler_fn[i].is_available))();
    if (! tmp___3) {
      goto __Cont;
    }
    tmp___4 = get_lock_file_fd(& lk);
    (*(scheduler_fn[i].update_schedule))(0, tmp___4);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (enable) {
    tmp___5 = get_lock_file_fd(& lk);
    result___0 = (*(scheduler_fn[opts___1->scheduler].update_schedule))(1, tmp___5);
  }
  rollback_lock_file(& lk);
  free((void *)lock_path);
  return (result___0);
}
}
static char const   *builtin_maintenance_start_usage[2]  = {      (char const   *)"git maintenance start [--scheduler=<scheduler>]",      (char const   *)((void *)0)};
static int maintenance_start(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct maintenance_start_opts opts___1 ;
  struct option options[2] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  opts___1.scheduler = (enum scheduler )0;
  options[0].type = (enum parse_opt_type )12;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"scheduler";
  options[0].value = (void *)(& opts___1.scheduler);
  options[0].argh = (char const   *)"scheduler";
  options[0].help = (char const   *)"scheduler to trigger git maintenance run";
  options[0].flags = (enum parse_opt_option_flags )4;
  options[0].callback = & maintenance_opt_scheduler;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )0;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)0;
  options[1].value = (void *)0;
  options[1].argh = (char const   *)0;
  options[1].help = (char const   *)0;
  options[1].flags = 0U;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       builtin_maintenance_start_usage, (enum parse_opt_flags )0);
  if (argc) {
    usage_with_options(builtin_maintenance_start_usage, (struct option  const  *)(options));
  }
  opts___1.scheduler = resolve_scheduler(opts___1.scheduler);
  validate_scheduler(opts___1.scheduler);
  tmp___0 = maintenance_register();
  if (tmp___0) {
    tmp = _((char const   *)"failed to add repo to global config");
    warning((char const   *)tmp);
  }
  tmp___1 = update_background_schedule((struct maintenance_start_opts  const  *)(& opts___1),
                                       1);
  return (tmp___1);
}
}
static int maintenance_stop(void)
{
  int tmp ;

  {
  tmp = update_background_schedule((struct maintenance_start_opts  const  *)((void *)0),
                                   0);
  return (tmp);
}
}
static char const   builtin_maintenance_usage[41]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'m',      (char const   )'a',      (char const   )'i',      (char const   )'n',
        (char const   )'t',      (char const   )'e',      (char const   )'n',      (char const   )'a',
        (char const   )'n',      (char const   )'c',      (char const   )'e',      (char const   )' ',
        (char const   )'<',      (char const   )'s',      (char const   )'u',      (char const   )'b',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'m',
        (char const   )'a',      (char const   )'n',      (char const   )'d',      (char const   )'>',
        (char const   )' ',      (char const   )'[',      (char const   )'<',      (char const   )'o',
        (char const   )'p',      (char const   )'t',      (char const   )'i',      (char const   )'o',
        (char const   )'n',      (char const   )'s',      (char const   )'>',      (char const   )']',
        (char const   )'\000'};
int cmd_maintenance(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;

  {
  if (argc < 2) {
    usage(builtin_maintenance_usage);
  } else
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage(builtin_maintenance_usage);
    }
  }
  tmp___1 = strcmp(*(argv___0 + 1), (char const   *)"run");
  if (! tmp___1) {
    tmp___0 = maintenance_run(argc - 1, argv___0 + 1, prefix___1);
    return (tmp___0);
  }
  tmp___3 = strcmp(*(argv___0 + 1), (char const   *)"start");
  if (! tmp___3) {
    tmp___2 = maintenance_start(argc - 1, argv___0 + 1, prefix___1);
    return (tmp___2);
  }
  tmp___5 = strcmp(*(argv___0 + 1), (char const   *)"stop");
  if (! tmp___5) {
    tmp___4 = maintenance_stop();
    return (tmp___4);
  }
  tmp___7 = strcmp(*(argv___0 + 1), (char const   *)"register");
  if (! tmp___7) {
    tmp___6 = maintenance_register();
    return (tmp___6);
  }
  tmp___9 = strcmp(*(argv___0 + 1), (char const   *)"unregister");
  if (! tmp___9) {
    tmp___8 = maintenance_unregister();
    return (tmp___8);
  }
  tmp___10 = _((char const   *)"invalid subcommand: %s");
  die((char const   *)tmp___10, *(argv___0 + 1));
}
}
static char const   builtin_get_tar_commit_id_usage[22]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'g',      (char const   )'e',      (char const   )'t',      (char const   )'-',
        (char const   )'t',      (char const   )'a',      (char const   )'r',      (char const   )'-',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'m',
        (char const   )'i',      (char const   )'t',      (char const   )'-',      (char const   )'i',
        (char const   )'d',      (char const   )'\000'};
int cmd_get_tar_commit_id(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char buffer___5[1024] ;
  struct ustar_header *header___0 ;
  char *content ;
  char const   *comment ;
  ssize_t n ;
  long len___0 ;
  char *end ;
  int *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  ssize_t tmp___2 ;

  {
  header___0 = (struct ustar_header *)(buffer___5);
  content = buffer___5 + 512;
  if (argc != 1) {
    usage(builtin_get_tar_commit_id_usage);
  }
  n = read_in_full(0, (void *)(buffer___5), (size_t )1024);
  if (n < 0L) {
    die_errno((char const   *)"git get-tar-commit-id: read error");
  }
  if (n != 1024L) {
    die_errno((char const   *)"git get-tar-commit-id: EOF before reading tar header");
  }
  if ((int )header___0->typeflag[0] != 103) {
    return (1);
  }
  len___0 = strtol((char const   * __restrict  )content, (char ** __restrict  )(& end),
                   10);
  tmp = __errno_location();
  if (*tmp == 34) {
    return (1);
  } else
  if ((unsigned long )end == (unsigned long )content) {
    return (1);
  } else
  if (len___0 < 0L) {
    return (1);
  }
  tmp___0 = skip_prefix((char const   *)end, (char const   *)" comment=", & comment);
  if (! tmp___0) {
    return (1);
  }
  len___0 -= comment - (char const   *)content;
  if (len___0 < 1L) {
    return (1);
  } else
  if (! (len___0 % 2L)) {
    return (1);
  } else {
    tmp___1 = hash_algo_by_length((int )((len___0 - 1L) / 2L));
    if (tmp___1 == 0) {
      return (1);
    }
  }
  tmp___2 = write_in_full(1, (void const   *)comment, (size_t )len___0);
  if (tmp___2 < 0L) {
    die_errno((char const   *)"git get-tar-commit-id: write error");
  }
  return (0);
}
}
static double const   __ac_HASH_UPPER___127  =    (double const   )0.77;
__inline static void kh_resize_oid_set___127(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___127(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___127 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___127 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___127(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___127(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___127(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___127(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___127(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___127(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___127 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___127 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___127(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___127(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___127(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___127(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___127(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___127(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___127 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___127 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___127(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___127(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___127(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___127(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___94(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___94(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___127 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___127 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___94(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___94(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___94(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___94(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *grep_usage[2]  = {      (char const   *)"git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]",      (char const   *)((void *)0)};
static int recurse_submodules___0  ;
static int num_threads  ;
static pthread_t *threads  ;
static struct work_item todo[128]  ;
static int todo_start  ;
static int todo_end  ;
static int todo_done  ;
static int all_work_added  ;
static struct repository **repos_to_free  ;
static size_t repos_to_free_nr  ;
static size_t repos_to_free_alloc  ;
static pthread_mutex_t grep_mutex  ;
__inline static void grep_lock(void)
{


  {
  pthread_mutex_lock(& grep_mutex);
  return;
}
}
__inline static void grep_unlock(void)
{


  {
  pthread_mutex_unlock(& grep_mutex);
  return;
}
}
static pthread_cond_t cond_add  ;
static pthread_cond_t cond_write  ;
static pthread_cond_t cond_result  ;
static int skip_first_line  ;
static void add_work(struct grep_opt *opt___0 , struct grep_source *gs )
{


  {
  if (opt___0->binary != 2) {
    grep_source_load_driver(gs, (opt___0->repo)->index);
  }
  grep_lock();
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )(todo_end + 1) % (sizeof(todo) / sizeof(todo[0]) + (sizeof(char [1]) - 1UL)) == (unsigned long )todo_done)) {
      goto while_break;
    }
    pthread_cond_wait((pthread_cond_t * __restrict  )(& cond_write), (pthread_mutex_t * __restrict  )(& grep_mutex));
  }
  while_break: /* CIL Label */ ;
  }
  todo[todo_end].source = *gs;
  todo[todo_end].done = (char)0;
  strbuf_setlen___33(& todo[todo_end].out, (size_t )0);
  todo_end = (int )((unsigned long )(todo_end + 1) % (sizeof(todo) / sizeof(todo[0]) + (sizeof(char [1]) - 1UL)));
  pthread_cond_signal(& cond_add);
  grep_unlock();
  return;
}
}
static struct work_item *get_work(void)
{
  struct work_item *ret___67 ;

  {
  grep_lock();
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (todo_start == todo_end) {
      if (! (! all_work_added)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    pthread_cond_wait((pthread_cond_t * __restrict  )(& cond_add), (pthread_mutex_t * __restrict  )(& grep_mutex));
  }
  while_break: /* CIL Label */ ;
  }
  if (todo_start == todo_end) {
    if (all_work_added) {
      ret___67 = (struct work_item *)((void *)0);
    } else {
      ret___67 = & todo[todo_start];
      todo_start = (int )((unsigned long )(todo_start + 1) % (sizeof(todo) / sizeof(todo[0]) + (sizeof(char [1]) - 1UL)));
    }
  } else {
    ret___67 = & todo[todo_start];
    todo_start = (int )((unsigned long )(todo_start + 1) % (sizeof(todo) / sizeof(todo[0]) + (sizeof(char [1]) - 1UL)));
  }
  grep_unlock();
  return (ret___67);
}
}
static void work_done(struct work_item *w )
{
  int old_done ;
  char const   *p___0 ;
  size_t len___0 ;
  char const   *tmp ;

  {
  grep_lock();
  w->done = (char)1;
  old_done = todo_done;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (todo[todo_done].done) {
      if (! (todo_done != todo_start)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    w = & todo[todo_done];
    if (w->out.len) {
      p___0 = (char const   *)w->out.buf;
      len___0 = w->out.len;
      if (skip_first_line) {
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          if (! len___0) {
            goto while_break___0;
          }
          len___0 --;
          tmp = p___0;
          p___0 ++;
          if ((int const   )*tmp == 10) {
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
        skip_first_line = 0;
      }
      write_or_die(1, (void const   *)p___0, len___0);
    }
    grep_source_clear(& w->source);
    todo_done = (int )((unsigned long )(todo_done + 1) % (sizeof(todo) / sizeof(todo[0]) + (sizeof(char [1]) - 1UL)));
  }
  while_break: /* CIL Label */ ;
  }
  if (old_done != todo_done) {
    pthread_cond_signal(& cond_write);
  }
  if (all_work_added) {
    if (todo_done == todo_end) {
      pthread_cond_signal(& cond_result);
    }
  }
  grep_unlock();
  return;
}
}
static void free_repos(void)
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < repos_to_free_nr)) {
      goto while_break;
    }
    repo_clear(*(repos_to_free + i));
    free((void *)*(repos_to_free + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)repos_to_free);
    repos_to_free = (struct repository **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  repos_to_free_nr = (size_t )0;
  repos_to_free_alloc = (size_t )0;
  return;
}
}
static void *run(void *arg )
{
  int hit ;
  struct grep_opt *opt___0 ;
  struct work_item *w ;
  struct work_item *tmp ;
  int tmp___0 ;

  {
  hit = 0;
  opt___0 = (struct grep_opt *)arg;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = get_work();
    w = tmp;
    if (! w) {
      goto while_break;
    }
    opt___0->output_priv = (void *)w;
    tmp___0 = grep_source(opt___0, & w->source);
    hit |= tmp___0;
    grep_source_clear_data(& w->source);
    work_done(w);
  }
  while_break: /* CIL Label */ ;
  }
  free_grep_patterns(opt___0);
  free((void *)opt___0);
  return ((void *)((intptr_t )hit));
}
}
static void strbuf_out(struct grep_opt *opt___0 , void const   *buf___19 , size_t size )
{
  struct work_item *w ;

  {
  w = (struct work_item *)opt___0->output_priv;
  strbuf_add(& w->out, buf___19, size);
  return;
}
}
static void start_threads(struct grep_opt *opt___0 )
{
  int i ;
  void *tmp ;
  int err___4 ;
  struct grep_opt *o ;
  struct grep_opt *tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  pthread_mutex_init(& grep_mutex, (pthread_mutexattr_t const   *)((void *)0));
  pthread_mutex_init(& grep_attr_mutex, (pthread_mutexattr_t const   *)((void *)0));
  pthread_cond_init((pthread_cond_t * __restrict  )(& cond_add), (pthread_condattr_t const   * __restrict  )((void *)0));
  pthread_cond_init((pthread_cond_t * __restrict  )(& cond_write), (pthread_condattr_t const   * __restrict  )((void *)0));
  pthread_cond_init((pthread_cond_t * __restrict  )(& cond_result), (pthread_condattr_t const   * __restrict  )((void *)0));
  grep_use_locks = 1;
  enable_obj_read_lock();
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(todo) / sizeof(todo[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    strbuf_init(& todo[i].out, (size_t )0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = xcalloc((size_t )num_threads, sizeof(*threads));
  threads = (pthread_t *)tmp;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < num_threads)) {
      goto while_break___0;
    }
    tmp___0 = grep_opt_dup((struct grep_opt  const  *)opt___0);
    o = tmp___0;
    o->output = & strbuf_out;
    compile_grep_patterns(o);
    err___4 = pthread_create((pthread_t * __restrict  )(threads + i), (pthread_attr_t const   * __restrict  )((void *)0),
                             & run, (void * __restrict  )o);
    if (err___4) {
      tmp___1 = strerror(err___4);
      tmp___2 = _((char const   *)"grep: failed to create thread: %s");
      die((char const   *)tmp___2, tmp___1);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static int wait_all(void)
{
  int hit ;
  int i ;
  void *h ;

  {
  hit = 0;
  grep_lock();
  all_work_added = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (todo_done != todo_end)) {
      goto while_break;
    }
    pthread_cond_wait((pthread_cond_t * __restrict  )(& cond_result), (pthread_mutex_t * __restrict  )(& grep_mutex));
  }
  while_break: /* CIL Label */ ;
  }
  pthread_cond_broadcast(& cond_add);
  grep_unlock();
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < num_threads)) {
      goto while_break___0;
    }
    pthread_join(*(threads + i), & h);
    hit |= (int )((intptr_t )h);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)threads);
  pthread_mutex_destroy(& grep_mutex);
  pthread_mutex_destroy(& grep_attr_mutex);
  pthread_cond_destroy(& cond_add);
  pthread_cond_destroy(& cond_write);
  pthread_cond_destroy(& cond_result);
  grep_use_locks = 0;
  disable_obj_read_lock();
  return (hit);
}
}
static int grep_cmd_config(char const   *var , char const   *value , void *cb )
{
  int st ;
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp = grep_config(var, value, cb);
  st = tmp;
  tmp___0 = git_color_default_config(var, value, cb);
  if (tmp___0 < 0) {
    st = -1;
  }
  tmp___3 = strcmp(var, (char const   *)"grep.threads");
  if (! tmp___3) {
    num_threads = git_config_int(var, value);
    if (num_threads < 0) {
      tmp___1 = _((char const   *)"invalid number of threads specified (%d) for %s");
      die((char const   *)tmp___1, num_threads, var);
    }
  }
  tmp___4 = strcmp(var, (char const   *)"submodule.recurse");
  if (! tmp___4) {
    recurse_submodules___0 = git_config_bool(var, value);
  }
  return (st);
}
}
static void grep_source_name(struct grep_opt *opt___0 , char const   *filename___0 ,
                             int tree_name_len , struct strbuf *out )
{
  struct strbuf rel_buf ;
  char const   *rel_name ;
  char const   *tmp ;

  {
  strbuf_setlen___33(out, (size_t )0);
  if (opt___0->null_following_name) {
    if (opt___0->relative) {
      if (opt___0->prefix_length) {
        rel_buf.alloc = 0UL;
        rel_buf.len = 0UL;
        rel_buf.buf = strbuf_slopbuf;
        tmp = relative_path(filename___0 + tree_name_len, opt___0->prefix, & rel_buf);
        rel_name = tmp;
        if (tree_name_len) {
          strbuf_add(out, (void const   *)filename___0, (size_t )tree_name_len);
        }
        strbuf_addstr(out, rel_name);
        strbuf_release(& rel_buf);
      } else {
        strbuf_addstr(out, filename___0);
      }
    } else {
      strbuf_addstr(out, filename___0);
    }
    return;
  }
  if (opt___0->relative) {
    if (opt___0->prefix_length) {
      quote_path(filename___0 + tree_name_len, opt___0->prefix, out, 0U);
    } else {
      quote_c_style(filename___0 + tree_name_len, out, (FILE *)((void *)0), 0U);
    }
  } else {
    quote_c_style(filename___0 + tree_name_len, out, (FILE *)((void *)0), 0U);
  }
  if (tree_name_len) {
    strbuf_insert(out, (size_t )0, (void const   *)filename___0, (size_t )tree_name_len);
  }
  return;
}
}
static int grep_oid(struct grep_opt *opt___0 , struct object_id  const  *oid , char const   *filename___0 ,
                    int tree_name_len , char const   *path___6 )
{
  struct strbuf pathbuf ;
  struct grep_source gs ;
  int hit ;

  {
  pathbuf.alloc = 0UL;
  pathbuf.len = 0UL;
  pathbuf.buf = strbuf_slopbuf;
  grep_source_name(opt___0, filename___0, tree_name_len, & pathbuf);
  grep_source_init_oid(& gs, (char const   *)pathbuf.buf, path___6, oid, opt___0->repo);
  strbuf_release(& pathbuf);
  if (num_threads > 1) {
    add_work(opt___0, & gs);
    return (0);
  } else {
    hit = grep_source(opt___0, & gs);
    grep_source_clear(& gs);
    return (hit);
  }
}
}
static int grep_file(struct grep_opt *opt___0 , char const   *filename___0 )
{
  struct strbuf buf___19 ;
  struct grep_source gs ;
  int hit ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  grep_source_name(opt___0, filename___0, 0, & buf___19);
  grep_source_init_file(& gs, (char const   *)buf___19.buf, filename___0);
  strbuf_release(& buf___19);
  if (num_threads > 1) {
    add_work(opt___0, & gs);
    return (0);
  } else {
    hit = grep_source(opt___0, & gs);
    grep_source_clear(& gs);
    return (hit);
  }
}
}
static void append_path(struct grep_opt *opt___0 , void const   *data , size_t len___0 )
{
  struct string_list *path_list ;
  char *tmp ;

  {
  path_list = (struct string_list *)opt___0->output_priv;
  if (len___0 == 1UL) {
    if ((int const   )*((char const   *)data) == 0) {
      return;
    }
  }
  tmp = xstrndup((char const   *)data, len___0);
  string_list_append_nodup(path_list, tmp);
  return;
}
}
static void run_pager(struct grep_opt *opt___0 , char const   *prefix___1 )
{
  struct string_list *path_list ;
  struct child_process child ;
  int i ;
  int status ;
  int tmp ;

  {
  path_list = (struct string_list *)opt___0->output_priv;
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < path_list->nr)) {
      goto while_break;
    }
    strvec_push(& child.args, (char const   *)(path_list->items + i)->string);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  child.dir = prefix___1;
  child.use_shell = 1U;
  status = run_command(& child);
  if (status) {
    tmp = trace2_cmd_exit_fl((char const   *)"builtin/grep.c", 420, status);
    exit(tmp);
  }
  return;
}
}
static int grep_cache(struct grep_opt *opt___0 , struct pathspec  const  *pathspec___1 ,
                      int cached ) ;
static int grep_tree(struct grep_opt *opt___0 , struct pathspec  const  *pathspec___1 ,
                     struct tree_desc *tree , struct strbuf *base , int tn_len , int check_attr___0 ) ;
static int grep_submodule(struct grep_opt *opt___0 , struct pathspec  const  *pathspec___1 ,
                          struct object_id  const  *oid , char const   *filename___0 ,
                          char const   *path___6 , int cached )
{
  struct repository *subrepo ;
  struct repository *superproject ;
  struct grep_opt subopt ;
  int hit ;
  int tmp ;
  void *tmp___0 ;
  struct object_id  const  *tmp___1 ;
  int tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  enum object_type object_type___0 ;
  struct tree_desc tree ;
  void *data ;
  unsigned long size ;
  struct strbuf base ;
  int tmp___6 ;
  char *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;

  {
  superproject = opt___0->repo;
  hit = 0;
  tmp = is_submodule_active(superproject, path___6);
  if (! tmp) {
    return (0);
  }
  tmp___0 = xmalloc(sizeof(*subrepo));
  subrepo = (struct repository *)tmp___0;
  tmp___1 = null_oid();
  tmp___2 = repo_submodule_init(subrepo, superproject, path___6, tmp___1);
  if (tmp___2) {
    free((void *)subrepo);
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (repos_to_free_nr + 1UL > repos_to_free_alloc) {
      if (((repos_to_free_alloc + 16UL) * 3UL) / 2UL < repos_to_free_nr + 1UL) {
        repos_to_free_alloc = repos_to_free_nr + 1UL;
      } else {
        repos_to_free_alloc = ((repos_to_free_alloc + 16UL) * 3UL) / 2UL;
      }
      tmp___3 = st_mult(sizeof(*repos_to_free), repos_to_free_alloc);
      tmp___4 = xrealloc((void *)repos_to_free, tmp___3);
      repos_to_free = (struct repository **)tmp___4;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___5 = repos_to_free_nr;
  repos_to_free_nr ++;
  *(repos_to_free + tmp___5) = subrepo;
  obj_read_lock();
  repo_read_gitmodules(subrepo, 0);
  add_submodule_odb_by_path((char const   *)((subrepo->objects)->odb)->path);
  obj_read_unlock();
  memcpy((void *)(& subopt), (void const   *)opt___0, sizeof(subopt));
  subopt.repo = subrepo;
  if (oid) {
    base.alloc = 0UL;
    base.len = 0UL;
    base.buf = strbuf_slopbuf;
    obj_read_lock();
    tmp___6 = oid_object_info(subrepo, oid, (unsigned long *)((void *)0));
    object_type___0 = (enum object_type )tmp___6;
    obj_read_unlock();
    data = read_object_with_reference(subrepo, oid, tree_type, & size, (struct object_id *)((void *)0));
    if (! data) {
      tmp___7 = oid_to_hex(oid);
      tmp___8 = _((char const   *)"unable to read tree (%s)");
      die((char const   *)tmp___8, tmp___7);
    }
    strbuf_addstr(& base, filename___0);
    strbuf_addch(& base, '/');
    init_tree_desc(& tree, (void const   *)data, size);
    hit = grep_tree(& subopt, pathspec___1, & tree, & base, (int )base.len, (int )object_type___0 == 1);
    strbuf_release(& base);
    free(data);
  } else {
    hit = grep_cache(& subopt, pathspec___1, cached);
  }
  return (hit);
}
}
static int grep_cache(struct grep_opt *opt___0 , struct pathspec  const  *pathspec___1 ,
                      int cached )
{
  struct repository *repo ;
  int hit ;
  int nr___0 ;
  struct strbuf name___0 ;
  int name_base_len ;
  size_t tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  struct cache_entry  const  *ce ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  repo = opt___0->repo;
  hit = 0;
  name___0.alloc = 0UL;
  name___0.len = 0UL;
  name___0.buf = strbuf_slopbuf;
  name_base_len = 0;
  if (repo->submodule_prefix) {
    tmp = strlen((char const   *)repo->submodule_prefix);
    name_base_len = (int )tmp;
    strbuf_addstr(& name___0, (char const   *)repo->submodule_prefix);
  }
  tmp___1 = repo_read_index(repo);
  if (tmp___1 < 0) {
    tmp___0 = _((char const   *)"index file corrupt");
    die((char const   *)tmp___0);
  }
  ensure_full_index(repo->index);
  nr___0 = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )nr___0 < (repo->index)->cache_nr)) {
      goto while_break;
    }
    ce = (struct cache_entry  const  *)*((repo->index)->cache + nr___0);
    if (! cached) {
      if (ce->ce_flags & (unsigned int )(1 << 30)) {
        goto __Cont;
      }
    }
    strbuf_setlen___33(& name___0, (size_t )name_base_len);
    strbuf_addstr(& name___0, (char const   *)(ce->name));
    if ((ce->ce_mode & 61440U) == 32768U) {
      if ((ce->ce_mode & 61440U) == 16384U) {
        tmp___6 = 1;
      } else
      if ((ce->ce_mode & 61440U) == 57344U) {
        tmp___6 = 1;
      } else {
        tmp___6 = 0;
      }
      tmp___7 = match_pathspec(repo->index, pathspec___1, (char const   *)name___0.buf,
                               (int )name___0.len, 0, (char *)((void *)0), tmp___6);
      if (tmp___7) {
        if (cached) {
          goto _L;
        } else
        if (ce->ce_flags & 32768U) {
          _L: /* CIL Label */
          if ((12288U & ce->ce_flags) >> 12) {
            goto __Cont;
          } else
          if (ce->ce_flags & (unsigned int )(1 << 29)) {
            goto __Cont;
          }
          tmp___2 = grep_oid(opt___0, (struct object_id  const  *)(& ce->oid), (char const   *)name___0.buf,
                             0, (char const   *)name___0.buf);
          hit |= tmp___2;
        } else {
          tmp___3 = grep_file(opt___0, (char const   *)name___0.buf);
          hit |= tmp___3;
        }
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if (recurse_submodules___0) {
      if ((ce->ce_mode & 61440U) == 57344U) {
        tmp___5 = submodule_path_match(repo->index, pathspec___1, (char const   *)name___0.buf,
                                       (char *)((void *)0));
        if (tmp___5) {
          tmp___4 = grep_submodule(opt___0, pathspec___1, (struct object_id  const  *)((void *)0),
                                   (char const   *)(ce->name), (char const   *)(ce->name),
                                   cached);
          hit |= tmp___4;
        } else {
          goto __Cont;
        }
      } else {
        goto __Cont;
      }
    } else {
      goto __Cont;
    }
    if ((12288U & ce->ce_flags) >> 12) {
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        nr___0 ++;
        if ((unsigned int )nr___0 < (repo->index)->cache_nr) {
          tmp___8 = strcmp((char const   *)(ce->name), (char const   *)((*((repo->index)->cache + nr___0))->name));
          if (tmp___8) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
      }
      while_break___0: /* CIL Label */ ;
      }
      nr___0 --;
    }
    if (hit) {
      if (opt___0->status_only) {
        goto while_break;
      }
    }
    __Cont: /* CIL Label */
    nr___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& name___0);
  return (hit);
}
}
static int grep_tree(struct grep_opt *opt___0 , struct pathspec  const  *pathspec___1 ,
                     struct tree_desc *tree , struct strbuf *base , int tn_len , int check_attr___0 )
{
  struct repository *repo ;
  int hit ;
  enum interesting match___0 ;
  struct name_entry entry ;
  int old_baselen ;
  struct strbuf name___0 ;
  int name_base_len ;
  int te_len ;
  int tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  enum object_type type___0 ;
  struct tree_desc sub ;
  void *data ;
  unsigned long size ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  repo = opt___0->repo;
  hit = 0;
  match___0 = (enum interesting )0;
  old_baselen = (int )base->len;
  name___0.alloc = 0UL;
  name___0.len = 0UL;
  name___0.buf = strbuf_slopbuf;
  name_base_len = 0;
  if (repo->submodule_prefix) {
    strbuf_addstr(& name___0, (char const   *)repo->submodule_prefix);
    name_base_len = (int )name___0.len;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___6 = tree_entry(tree, & entry);
    if (! tmp___6) {
      goto while_break;
    }
    tmp = tree_entry_len((struct name_entry  const  *)(& entry));
    te_len = tmp;
    if ((int )match___0 != 2) {
      strbuf_addstr(& name___0, (char const   *)(base->buf + tn_len));
      match___0 = tree_entry_interesting(repo->index, (struct name_entry  const  *)(& entry),
                                         & name___0, 0, pathspec___1);
      strbuf_setlen___33(& name___0, (size_t )name_base_len);
      if ((int )match___0 == -1) {
        goto while_break;
      }
      if ((int )match___0 == 0) {
        goto while_continue;
      }
    }
    strbuf_add(base, (void const   *)entry.path, (size_t )te_len);
    if ((entry.mode & 61440U) == 32768U) {
      if (check_attr___0) {
        tmp___0 = base->buf + tn_len;
      } else {
        tmp___0 = (char *)((void *)0);
      }
      tmp___1 = grep_oid(opt___0, (struct object_id  const  *)(& entry.oid), (char const   *)base->buf,
                         tn_len, (char const   *)tmp___0);
      hit |= tmp___1;
    } else
    if ((entry.mode & 61440U) == 16384U) {
      data = repo_read_object_file(the_repository, (struct object_id  const  *)(& entry.oid),
                                   & type___0, & size);
      if (! data) {
        tmp___2 = oid_to_hex((struct object_id  const  *)(& entry.oid));
        tmp___3 = _((char const   *)"unable to read tree (%s)");
        die((char const   *)tmp___3, tmp___2);
      }
      strbuf_addch(base, '/');
      init_tree_desc(& sub, (void const   *)data, size);
      tmp___4 = grep_tree(opt___0, pathspec___1, & sub, base, tn_len, check_attr___0);
      hit |= tmp___4;
      free(data);
    } else
    if (recurse_submodules___0) {
      if ((entry.mode & 61440U) == 57344U) {
        tmp___5 = grep_submodule(opt___0, pathspec___1, (struct object_id  const  *)(& entry.oid),
                                 (char const   *)base->buf, (char const   *)(base->buf + tn_len),
                                 1);
        hit |= tmp___5;
      }
    }
    strbuf_setlen___33(base, (size_t )old_baselen);
    if (hit) {
      if (opt___0->status_only) {
        goto while_break;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& name___0);
  return (hit);
}
}
static int grep_object(struct grep_opt *opt___0 , struct pathspec  const  *pathspec___1 ,
                       struct object *obj , char const   *name___0 , char const   *path___6 )
{
  int tmp ;
  struct tree_desc tree ;
  void *data ;
  unsigned long size ;
  struct strbuf base ;
  int hit ;
  int len___0 ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  size_t tmp___2 ;
  char const   *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  if (obj->type == 3U) {
    tmp = grep_oid(opt___0, (struct object_id  const  *)(& obj->oid), name___0, 0,
                   path___6);
    return (tmp);
  }
  if (obj->type == 1U) {
    goto _L;
  } else
  if (obj->type == 2U) {
    _L: /* CIL Label */
    data = read_object_with_reference(opt___0->repo, (struct object_id  const  *)(& obj->oid),
                                      tree_type, & size, (struct object_id *)((void *)0));
    if (! data) {
      tmp___0 = oid_to_hex((struct object_id  const  *)(& obj->oid));
      tmp___1 = _((char const   *)"unable to read tree (%s)");
      die((char const   *)tmp___1, tmp___0);
    }
    if (name___0) {
      tmp___2 = strlen(name___0);
      len___0 = (int )tmp___2;
    } else {
      len___0 = 0;
    }
    strbuf_init(& base, (size_t )((4096 + len___0) + 1));
    if (len___0) {
      strbuf_add(& base, (void const   *)name___0, (size_t )len___0);
      strbuf_addch(& base, ':');
    }
    init_tree_desc(& tree, (void const   *)data, size);
    hit = grep_tree(opt___0, pathspec___1, & tree, & base, (int )base.len, obj->type == 1U);
    strbuf_release(& base);
    free(data);
    return (hit);
  }
  tmp___3 = type_name(obj->type);
  tmp___4 = _((char const   *)"unable to grep from object of type %s");
  die((char const   *)tmp___4, tmp___3);
}
}
static int grep_objects(struct grep_opt *opt___0 , struct pathspec  const  *pathspec___1 ,
                        struct object_array  const  *list___3 )
{
  unsigned int i ;
  int hit ;
  unsigned int nr___0 ;
  struct object *real_obj ;
  char hex___3[65] ;
  char const   *name___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  hit = 0;
  nr___0 = list___3->nr;
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (unsigned int )nr___0)) {
      goto while_break;
    }
    obj_read_lock();
    real_obj = deref_tag(opt___0->repo, (list___3->objects + i)->item, (char const   *)((void *)0),
                         0);
    obj_read_unlock();
    if (! real_obj) {
      name___0 = (char const   *)(list___3->objects + i)->name;
      if (! name___0) {
        oid_to_hex_r(hex___3, (struct object_id  const  *)(& ((list___3->objects + i)->item)->oid));
        name___0 = (char const   *)(hex___3);
      }
      tmp = _((char const   *)"invalid object \'%s\' given.");
      die((char const   *)tmp, name___0);
    }
    if (recurse_submodules___0) {
      submodule_free(opt___0->repo);
      obj_read_lock();
      gitmodules_config_oid((struct object_id  const  *)(& real_obj->oid));
      obj_read_unlock();
    }
    tmp___0 = grep_object(opt___0, pathspec___1, real_obj, (char const   *)(list___3->objects + i)->name,
                          (char const   *)(list___3->objects + i)->path);
    if (tmp___0) {
      hit = 1;
      if (opt___0->status_only) {
        goto while_break;
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (hit);
}
}
static int grep_directory(struct grep_opt *opt___0 , struct pathspec  const  *pathspec___1 ,
                          int exc_std , int use_index )
{
  struct dir_struct dir ;
  int i ;
  int hit ;
  int tmp ;

  {
  dir.nr = 0;
  dir.alloc = 0;
  dir.ignored_nr = 0;
  dir.ignored_alloc = 0;
  dir.flags = 0U;
  dir.entries = (struct dir_entry **)0;
  dir.ignored = (struct dir_entry **)0;
  dir.exclude_per_dir = (char const   *)0;
  dir.exclude_list_group[0].nr = 0;
  dir.exclude_list_group[0].alloc = 0;
  dir.exclude_list_group[0].pl = (struct pattern_list *)0;
  dir.exclude_list_group[1].nr = 0;
  dir.exclude_list_group[1].alloc = 0;
  dir.exclude_list_group[1].pl = (struct pattern_list *)0;
  dir.exclude_list_group[2].nr = 0;
  dir.exclude_list_group[2].alloc = 0;
  dir.exclude_list_group[2].pl = (struct pattern_list *)0;
  dir.exclude_stack = (struct exclude_stack *)0;
  dir.pattern = (struct path_pattern *)0;
  dir.basebuf.alloc = 0UL;
  dir.basebuf.len = 0UL;
  dir.basebuf.buf = (char *)0;
  dir.untracked = (struct untracked_cache *)0;
  dir.ss_info_exclude.stat.sd_ctime.sec = 0U;
  dir.ss_info_exclude.stat.sd_ctime.nsec = 0U;
  dir.ss_info_exclude.stat.sd_mtime.sec = 0U;
  dir.ss_info_exclude.stat.sd_mtime.nsec = 0U;
  dir.ss_info_exclude.stat.sd_dev = 0U;
  dir.ss_info_exclude.stat.sd_ino = 0U;
  dir.ss_info_exclude.stat.sd_uid = 0U;
  dir.ss_info_exclude.stat.sd_gid = 0U;
  dir.ss_info_exclude.stat.sd_size = 0U;
  dir.ss_info_exclude.oid.hash[0] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[1] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[2] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[3] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[4] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[5] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[6] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[7] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[8] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[9] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[10] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[11] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[12] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[13] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[14] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[15] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[16] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[17] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[18] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[19] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[20] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[21] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[22] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[23] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[24] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[25] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[26] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[27] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[28] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[29] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[30] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[31] = (unsigned char)0;
  dir.ss_info_exclude.oid.algo = 0;
  dir.ss_info_exclude.valid = 0;
  dir.ss_excludes_file.stat.sd_ctime.sec = 0U;
  dir.ss_excludes_file.stat.sd_ctime.nsec = 0U;
  dir.ss_excludes_file.stat.sd_mtime.sec = 0U;
  dir.ss_excludes_file.stat.sd_mtime.nsec = 0U;
  dir.ss_excludes_file.stat.sd_dev = 0U;
  dir.ss_excludes_file.stat.sd_ino = 0U;
  dir.ss_excludes_file.stat.sd_uid = 0U;
  dir.ss_excludes_file.stat.sd_gid = 0U;
  dir.ss_excludes_file.stat.sd_size = 0U;
  dir.ss_excludes_file.oid.hash[0] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[1] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[2] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[3] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[4] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[5] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[6] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[7] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[8] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[9] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[10] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[11] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[12] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[13] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[14] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[15] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[16] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[17] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[18] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[19] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[20] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[21] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[22] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[23] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[24] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[25] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[26] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[27] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[28] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[29] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[30] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[31] = (unsigned char)0;
  dir.ss_excludes_file.oid.algo = 0;
  dir.ss_excludes_file.valid = 0;
  dir.unmanaged_exclude_files = 0U;
  dir.visited_paths = 0U;
  dir.visited_directories = 0U;
  hit = 0;
  if (! use_index) {
    dir.flags = (enum __anonenum_flags_165983474 )((unsigned int )dir.flags | 8U);
  }
  if (exc_std) {
    setup_standard_excludes(& dir);
  }
  fill_directory(& dir, (opt___0->repo)->index, pathspec___1);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < dir.nr)) {
      goto while_break;
    }
    tmp = grep_file(opt___0, (char const   *)((*(dir.entries + i))->name));
    hit |= tmp;
    if (hit) {
      if (opt___0->status_only) {
        goto while_break;
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  dir_clear(& dir);
  return (hit);
}
}
static int context_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct grep_opt *grep_opt ;
  int value ;
  char const   *endp ;
  unsigned int tmp ;
  long tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  unsigned int tmp___3 ;

  {
  grep_opt = (struct grep_opt *)opt___0->value;
  if (unset) {
    tmp = 0U;
    grep_opt->post_context = tmp;
    grep_opt->pre_context = tmp;
    return (0);
  }
  tmp___0 = strtol((char const   * __restrict  )arg, (char ** __restrict  )((char **)(& endp)),
                   10);
  value = (int )tmp___0;
  if (*endp) {
    tmp___1 = _((char const   *)"switch `%c\' expects a numerical value");
    error((char const   *)tmp___1, opt___0->short_name);
    tmp___2 = const_error();
    return (tmp___2);
  }
  tmp___3 = (unsigned int )value;
  grep_opt->post_context = tmp___3;
  grep_opt->pre_context = tmp___3;
  return (0);
}
}
static int file_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct grep_opt *grep_opt ;
  int from_stdin___0 ;
  FILE *patterns___0 ;
  int lno ;
  struct strbuf sb___6 ;
  int tmp ;
  int tmp___0 ;
  FILE *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  grep_opt = (struct grep_opt *)opt___0->value;
  lno = 0;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/grep.c", 767, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = strcmp(arg, (char const   *)"-");
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  from_stdin___0 = tmp___0;
  if (from_stdin___0) {
    patterns___0 = stdin;
  } else {
    tmp___1 = git_fopen(arg, (char const   *)"r");
    patterns___0 = tmp___1;
  }
  if (! patterns___0) {
    tmp___2 = _((char const   *)"cannot open \'%s\'");
    die_errno((char const   *)tmp___2, arg);
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___3 = strbuf_getline(& sb___6, patterns___0);
    if (! (tmp___3 == 0)) {
      goto while_break___0;
    }
    if (sb___6.len == 0UL) {
      goto while_continue___0;
    }
    lno ++;
    append_grep_pat(grep_opt, (char const   *)sb___6.buf, sb___6.len, arg, lno, (enum grep_pat_token )0);
  }
  while_break___0: /* CIL Label */ ;
  }
  if (! from_stdin___0) {
    fclose(patterns___0);
  }
  strbuf_release(& sb___6);
  return (0);
}
}
static int not_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct grep_opt *grep_opt ;

  {
  grep_opt = (struct grep_opt *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/grep.c", 790, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/grep.c", 791, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  append_grep_pattern(grep_opt, (char const   *)"--not", (char const   *)"command line",
                      0, (enum grep_pat_token )6);
  return (0);
}
}
static int and_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct grep_opt *grep_opt ;

  {
  grep_opt = (struct grep_opt *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/grep.c", 799, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/grep.c", 800, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  append_grep_pattern(grep_opt, (char const   *)"--and", (char const   *)"command line",
                      0, (enum grep_pat_token )3);
  return (0);
}
}
static int open_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct grep_opt *grep_opt ;

  {
  grep_opt = (struct grep_opt *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/grep.c", 808, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/grep.c", 809, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  append_grep_pattern(grep_opt, (char const   *)"(", (char const   *)"command line",
                      0, (enum grep_pat_token )4);
  return (0);
}
}
static int close_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct grep_opt *grep_opt ;

  {
  grep_opt = (struct grep_opt *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/grep.c", 817, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/grep.c", 818, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  append_grep_pattern(grep_opt, (char const   *)")", (char const   *)"command line",
                      0, (enum grep_pat_token )5);
  return (0);
}
}
static int pattern_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct grep_opt *grep_opt ;

  {
  grep_opt = (struct grep_opt *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/grep.c", 827, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  append_grep_pattern(grep_opt, arg, (char const   *)"-e option", 0, (enum grep_pat_token )0);
  return (0);
}
}
int cmd_grep(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int hit ;
  int cached ;
  int untracked ;
  int opt_exclude ;
  int seen_dashdash ;
  int external_grep_allowed__ignored ;
  char const   *show_in_pager ;
  char const   *default_pager ;
  struct grep_opt opt___0 ;
  struct object_array list___3 ;
  struct pathspec pathspec___1 ;
  struct string_list path_list ;
  int i ;
  int dummy___0 ;
  int use_index ;
  int pattern_type_arg ;
  int allow_revs ;
  struct option options[56] ;
  int fallback___0 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const   *arg ;
  struct object_id oid ;
  struct object_context oc ;
  struct object *object ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  enum get_oid_result tmp___6 ;
  int j ;
  int tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const   *pager___0 ;
  int len___0 ;
  size_t tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  struct strbuf buf___19 ;
  int tmp___18 ;
  char *tmp___19 ;
  int tmp___20 ;
  char *tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  int use_exclude ;
  int tmp___26 ;
  char const __attribute__((__format_arg__(1)))  *tmp___27 ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  int tmp___29 ;

  {
  hit = 0;
  cached = 0;
  untracked = 0;
  opt_exclude = -1;
  seen_dashdash = 0;
  show_in_pager = (char const   *)((void *)0);
  default_pager = (char const   *)"dummy";
  list___3.nr = 0U;
  list___3.alloc = 0U;
  list___3.objects = (struct object_array_entry *)0;
  path_list.items = (struct string_list_item *)0;
  path_list.nr = 0U;
  path_list.alloc = 0U;
  path_list.strdup_strings = 1U;
  path_list.cmp = (int (*)(char const   * , char const   * ))0;
  use_index = 1;
  pattern_type_arg = 0;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"cached";
  options[0].value = (void *)(& cached);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"search in index instead of in the work tree";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )5;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"no-index";
  options[1].value = (void *)(& use_index);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"find in contents not managed by git";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"untracked";
  options[2].value = (void *)(& untracked);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"search in both tracked and untracked files";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )1;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"exclude-standard";
  options[3].value = (void *)(& opt_exclude);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"ignore files specified via \'.gitignore\'";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )1;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"recurse-submodules";
  options[4].value = (void *)(& recurse_submodules___0);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"recursively search in each submodule";
  options[4].flags = (enum parse_opt_option_flags )2;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )1;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )1;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)((void *)0);
  options[5].value = (void *)0;
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"";
  options[5].flags = 0U;
  options[5].callback = (parse_opt_cb *)0;
  options[5].defval = 0L;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )8;
  options[6].short_name = 'v';
  options[6].long_name = (char const   *)"invert-match";
  options[6].value = (void *)(& opt___0.invert);
  options[6].argh = (char const   *)((void *)0);
  options[6].help = (char const   *)"show non-matching lines";
  options[6].flags = (enum parse_opt_option_flags )2;
  options[6].callback = (parse_opt_cb *)((void *)0);
  options[6].defval = (intptr_t )1;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )8;
  options[7].short_name = 'i';
  options[7].long_name = (char const   *)"ignore-case";
  options[7].value = (void *)(& opt___0.ignore_case);
  options[7].argh = (char const   *)((void *)0);
  options[7].help = (char const   *)"case insensitive matching";
  options[7].flags = (enum parse_opt_option_flags )2;
  options[7].callback = (parse_opt_cb *)((void *)0);
  options[7].defval = (intptr_t )1;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )8;
  options[8].short_name = 'w';
  options[8].long_name = (char const   *)"word-regexp";
  options[8].value = (void *)(& opt___0.word_regexp);
  options[8].argh = (char const   *)((void *)0);
  options[8].help = (char const   *)"match patterns only at word boundaries";
  options[8].flags = (enum parse_opt_option_flags )2;
  options[8].callback = (parse_opt_cb *)((void *)0);
  options[8].defval = (intptr_t )1;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  options[9].type = (enum parse_opt_type )8;
  options[9].short_name = 'a';
  options[9].long_name = (char const   *)"text";
  options[9].value = (void *)(& opt___0.binary);
  options[9].argh = (char const   *)((void *)0);
  options[9].help = (char const   *)"process binary files as text";
  options[9].flags = (enum parse_opt_option_flags )2;
  options[9].callback = (parse_opt_cb *)((void *)0);
  options[9].defval = (intptr_t )2;
  options[9].ll_callback = (parse_opt_ll_cb *)0;
  options[9].extra = 0L;
  options[10].type = (enum parse_opt_type )8;
  options[10].short_name = 'I';
  options[10].long_name = (char const   *)((void *)0);
  options[10].value = (void *)(& opt___0.binary);
  options[10].argh = (char const   *)((void *)0);
  options[10].help = (char const   *)"don\'t match patterns in binary files";
  options[10].flags = (enum parse_opt_option_flags )2;
  options[10].callback = (parse_opt_cb *)((void *)0);
  options[10].defval = (intptr_t )1;
  options[10].ll_callback = (parse_opt_ll_cb *)0;
  options[10].extra = 0L;
  options[11].type = (enum parse_opt_type )8;
  options[11].short_name = 0;
  options[11].long_name = (char const   *)"textconv";
  options[11].value = (void *)(& opt___0.allow_textconv);
  options[11].argh = (char const   *)((void *)0);
  options[11].help = (char const   *)"process binary files with textconv filters";
  options[11].flags = (enum parse_opt_option_flags )2;
  options[11].callback = (parse_opt_cb *)((void *)0);
  options[11].defval = (intptr_t )1;
  options[11].ll_callback = (parse_opt_ll_cb *)0;
  options[11].extra = 0L;
  options[12].type = (enum parse_opt_type )8;
  options[12].short_name = 'r';
  options[12].long_name = (char const   *)"recursive";
  options[12].value = (void *)(& opt___0.max_depth);
  options[12].argh = (char const   *)((void *)0);
  options[12].help = (char const   *)"search in subdirectories (default)";
  options[12].flags = (enum parse_opt_option_flags )2;
  options[12].callback = (parse_opt_cb *)((void *)0);
  options[12].defval = (intptr_t )-1;
  options[12].ll_callback = (parse_opt_ll_cb *)0;
  options[12].extra = 0L;
  options[13].type = (enum parse_opt_type )10;
  options[13].short_name = 0;
  options[13].long_name = (char const   *)"max-depth";
  options[13].value = (void *)(& opt___0.max_depth);
  options[13].argh = (char const   *)"depth";
  options[13].help = (char const   *)"descend at most <depth> levels";
  options[13].flags = (enum parse_opt_option_flags )4;
  options[13].callback = (parse_opt_cb *)((void *)0);
  options[13].defval = (intptr_t )1;
  options[13].ll_callback = (parse_opt_ll_cb *)0;
  options[13].extra = 0L;
  options[14].type = (enum parse_opt_type )1;
  options[14].short_name = 0;
  options[14].long_name = (char const   *)((void *)0);
  options[14].value = (void *)0;
  options[14].argh = (char const   *)((void *)0);
  options[14].help = (char const   *)"";
  options[14].flags = 0U;
  options[14].callback = (parse_opt_cb *)0;
  options[14].defval = 0L;
  options[14].ll_callback = (parse_opt_ll_cb *)0;
  options[14].extra = 0L;
  options[15].type = (enum parse_opt_type )8;
  options[15].short_name = 'E';
  options[15].long_name = (char const   *)"extended-regexp";
  options[15].value = (void *)(& pattern_type_arg);
  options[15].argh = (char const   *)((void *)0);
  options[15].help = (char const   *)"use extended POSIX regular expressions";
  options[15].flags = (enum parse_opt_option_flags )2;
  options[15].callback = (parse_opt_cb *)((void *)0);
  options[15].defval = (intptr_t )2;
  options[15].ll_callback = (parse_opt_ll_cb *)0;
  options[15].extra = 0L;
  options[16].type = (enum parse_opt_type )8;
  options[16].short_name = 'G';
  options[16].long_name = (char const   *)"basic-regexp";
  options[16].value = (void *)(& pattern_type_arg);
  options[16].argh = (char const   *)((void *)0);
  options[16].help = (char const   *)"use basic POSIX regular expressions (default)";
  options[16].flags = (enum parse_opt_option_flags )2;
  options[16].callback = (parse_opt_cb *)((void *)0);
  options[16].defval = (intptr_t )1;
  options[16].ll_callback = (parse_opt_ll_cb *)0;
  options[16].extra = 0L;
  options[17].type = (enum parse_opt_type )8;
  options[17].short_name = 'F';
  options[17].long_name = (char const   *)"fixed-strings";
  options[17].value = (void *)(& pattern_type_arg);
  options[17].argh = (char const   *)((void *)0);
  options[17].help = (char const   *)"interpret patterns as fixed strings";
  options[17].flags = (enum parse_opt_option_flags )2;
  options[17].callback = (parse_opt_cb *)((void *)0);
  options[17].defval = (intptr_t )3;
  options[17].ll_callback = (parse_opt_ll_cb *)0;
  options[17].extra = 0L;
  options[18].type = (enum parse_opt_type )8;
  options[18].short_name = 'P';
  options[18].long_name = (char const   *)"perl-regexp";
  options[18].value = (void *)(& pattern_type_arg);
  options[18].argh = (char const   *)((void *)0);
  options[18].help = (char const   *)"use Perl-compatible regular expressions";
  options[18].flags = (enum parse_opt_option_flags )2;
  options[18].callback = (parse_opt_cb *)((void *)0);
  options[18].defval = (intptr_t )4;
  options[18].ll_callback = (parse_opt_ll_cb *)0;
  options[18].extra = 0L;
  options[19].type = (enum parse_opt_type )1;
  options[19].short_name = 0;
  options[19].long_name = (char const   *)((void *)0);
  options[19].value = (void *)0;
  options[19].argh = (char const   *)((void *)0);
  options[19].help = (char const   *)"";
  options[19].flags = 0U;
  options[19].callback = (parse_opt_cb *)0;
  options[19].defval = 0L;
  options[19].ll_callback = (parse_opt_ll_cb *)0;
  options[19].extra = 0L;
  options[20].type = (enum parse_opt_type )8;
  options[20].short_name = 'n';
  options[20].long_name = (char const   *)"line-number";
  options[20].value = (void *)(& opt___0.linenum);
  options[20].argh = (char const   *)((void *)0);
  options[20].help = (char const   *)"show line numbers";
  options[20].flags = (enum parse_opt_option_flags )2;
  options[20].callback = (parse_opt_cb *)((void *)0);
  options[20].defval = (intptr_t )1;
  options[20].ll_callback = (parse_opt_ll_cb *)0;
  options[20].extra = 0L;
  options[21].type = (enum parse_opt_type )8;
  options[21].short_name = 0;
  options[21].long_name = (char const   *)"column";
  options[21].value = (void *)(& opt___0.columnnum);
  options[21].argh = (char const   *)((void *)0);
  options[21].help = (char const   *)"show column number of first match";
  options[21].flags = (enum parse_opt_option_flags )2;
  options[21].callback = (parse_opt_cb *)((void *)0);
  options[21].defval = (intptr_t )1;
  options[21].ll_callback = (parse_opt_ll_cb *)0;
  options[21].extra = 0L;
  options[22].type = (enum parse_opt_type )5;
  options[22].short_name = 'h';
  options[22].long_name = (char const   *)((void *)0);
  options[22].value = (void *)(& opt___0.pathname);
  options[22].argh = (char const   *)((void *)0);
  options[22].help = (char const   *)"don\'t show filenames";
  options[22].flags = (enum parse_opt_option_flags )2;
  options[22].callback = (parse_opt_cb *)((void *)0);
  options[22].defval = (intptr_t )1;
  options[22].ll_callback = (parse_opt_ll_cb *)0;
  options[22].extra = 0L;
  options[23].type = (enum parse_opt_type )4;
  options[23].short_name = 'H';
  options[23].long_name = (char const   *)((void *)0);
  options[23].value = (void *)(& opt___0.pathname);
  options[23].argh = (char const   *)((void *)0);
  options[23].help = (char const   *)"show filenames";
  options[23].flags = (enum parse_opt_option_flags )2;
  options[23].callback = (parse_opt_cb *)((void *)0);
  options[23].defval = (intptr_t )1;
  options[23].ll_callback = (parse_opt_ll_cb *)0;
  options[23].extra = 0L;
  options[24].type = (enum parse_opt_type )5;
  options[24].short_name = 0;
  options[24].long_name = (char const   *)"full-name";
  options[24].value = (void *)(& opt___0.relative);
  options[24].argh = (char const   *)((void *)0);
  options[24].help = (char const   *)"show filenames relative to top directory";
  options[24].flags = (enum parse_opt_option_flags )2;
  options[24].callback = (parse_opt_cb *)((void *)0);
  options[24].defval = (intptr_t )1;
  options[24].ll_callback = (parse_opt_ll_cb *)0;
  options[24].extra = 0L;
  options[25].type = (enum parse_opt_type )8;
  options[25].short_name = 'l';
  options[25].long_name = (char const   *)"files-with-matches";
  options[25].value = (void *)(& opt___0.name_only);
  options[25].argh = (char const   *)((void *)0);
  options[25].help = (char const   *)"show only filenames instead of matching lines";
  options[25].flags = (enum parse_opt_option_flags )2;
  options[25].callback = (parse_opt_cb *)((void *)0);
  options[25].defval = (intptr_t )1;
  options[25].ll_callback = (parse_opt_ll_cb *)0;
  options[25].extra = 0L;
  options[26].type = (enum parse_opt_type )8;
  options[26].short_name = 0;
  options[26].long_name = (char const   *)"name-only";
  options[26].value = (void *)(& opt___0.name_only);
  options[26].argh = (char const   *)((void *)0);
  options[26].help = (char const   *)"synonym for --files-with-matches";
  options[26].flags = (enum parse_opt_option_flags )2;
  options[26].callback = (parse_opt_cb *)((void *)0);
  options[26].defval = (intptr_t )1;
  options[26].ll_callback = (parse_opt_ll_cb *)0;
  options[26].extra = 0L;
  options[27].type = (enum parse_opt_type )8;
  options[27].short_name = 'L';
  options[27].long_name = (char const   *)"files-without-match";
  options[27].value = (void *)(& opt___0.unmatch_name_only);
  options[27].argh = (char const   *)((void *)0);
  options[27].help = (char const   *)"show only the names of files without match";
  options[27].flags = (enum parse_opt_option_flags )2;
  options[27].callback = (parse_opt_cb *)((void *)0);
  options[27].defval = (intptr_t )1;
  options[27].ll_callback = (parse_opt_ll_cb *)0;
  options[27].extra = 0L;
  options[28].type = (enum parse_opt_type )8;
  options[28].short_name = 'z';
  options[28].long_name = (char const   *)"null";
  options[28].value = (void *)(& opt___0.null_following_name);
  options[28].argh = (char const   *)((void *)0);
  options[28].help = (char const   *)"print NUL after filenames";
  options[28].flags = (enum parse_opt_option_flags )514;
  options[28].callback = (parse_opt_cb *)((void *)0);
  options[28].defval = (intptr_t )1;
  options[28].ll_callback = (parse_opt_ll_cb *)0;
  options[28].extra = 0L;
  options[29].type = (enum parse_opt_type )8;
  options[29].short_name = 'o';
  options[29].long_name = (char const   *)"only-matching";
  options[29].value = (void *)(& opt___0.only_matching);
  options[29].argh = (char const   *)((void *)0);
  options[29].help = (char const   *)"show only matching parts of a line";
  options[29].flags = (enum parse_opt_option_flags )2;
  options[29].callback = (parse_opt_cb *)((void *)0);
  options[29].defval = (intptr_t )1;
  options[29].ll_callback = (parse_opt_ll_cb *)0;
  options[29].extra = 0L;
  options[30].type = (enum parse_opt_type )8;
  options[30].short_name = 'c';
  options[30].long_name = (char const   *)"count";
  options[30].value = (void *)(& opt___0.count);
  options[30].argh = (char const   *)((void *)0);
  options[30].help = (char const   *)"show the number of matches instead of matching lines";
  options[30].flags = (enum parse_opt_option_flags )2;
  options[30].callback = (parse_opt_cb *)((void *)0);
  options[30].defval = (intptr_t )1;
  options[30].ll_callback = (parse_opt_ll_cb *)0;
  options[30].extra = 0L;
  options[31].type = (enum parse_opt_type )12;
  options[31].short_name = 0;
  options[31].long_name = (char const   *)"color";
  options[31].value = (void *)(& opt___0.color);
  options[31].argh = (char const   *)"when";
  options[31].help = (char const   *)"highlight matches";
  options[31].flags = (enum parse_opt_option_flags )1;
  options[31].callback = & parse_opt_color_flag_cb;
  options[31].defval = (intptr_t )"always";
  options[31].ll_callback = (parse_opt_ll_cb *)0;
  options[31].extra = 0L;
  options[32].type = (enum parse_opt_type )8;
  options[32].short_name = 0;
  options[32].long_name = (char const   *)"break";
  options[32].value = (void *)(& opt___0.file_break);
  options[32].argh = (char const   *)((void *)0);
  options[32].help = (char const   *)"print empty line between matches from different files";
  options[32].flags = (enum parse_opt_option_flags )2;
  options[32].callback = (parse_opt_cb *)((void *)0);
  options[32].defval = (intptr_t )1;
  options[32].ll_callback = (parse_opt_ll_cb *)0;
  options[32].extra = 0L;
  options[33].type = (enum parse_opt_type )8;
  options[33].short_name = 0;
  options[33].long_name = (char const   *)"heading";
  options[33].value = (void *)(& opt___0.heading);
  options[33].argh = (char const   *)((void *)0);
  options[33].help = (char const   *)"show filename only once above matches from same file";
  options[33].flags = (enum parse_opt_option_flags )2;
  options[33].callback = (parse_opt_cb *)((void *)0);
  options[33].defval = (intptr_t )1;
  options[33].ll_callback = (parse_opt_ll_cb *)0;
  options[33].extra = 0L;
  options[34].type = (enum parse_opt_type )1;
  options[34].short_name = 0;
  options[34].long_name = (char const   *)((void *)0);
  options[34].value = (void *)0;
  options[34].argh = (char const   *)((void *)0);
  options[34].help = (char const   *)"";
  options[34].flags = 0U;
  options[34].callback = (parse_opt_cb *)0;
  options[34].defval = 0L;
  options[34].ll_callback = (parse_opt_ll_cb *)0;
  options[34].extra = 0L;
  options[35].type = (enum parse_opt_type )12;
  options[35].short_name = 'C';
  options[35].long_name = (char const   *)"context";
  options[35].value = (void *)(& opt___0);
  options[35].argh = (char const   *)"n";
  options[35].help = (char const   *)"show <n> context lines before and after matches";
  options[35].flags = (enum parse_opt_option_flags )0;
  options[35].callback = & context_callback;
  options[35].defval = 0L;
  options[35].ll_callback = (parse_opt_ll_cb *)0;
  options[35].extra = 0L;
  options[36].type = (enum parse_opt_type )10;
  options[36].short_name = 'B';
  options[36].long_name = (char const   *)"before-context";
  options[36].value = (void *)(& opt___0.pre_context);
  options[36].argh = (char const   *)"n";
  options[36].help = (char const   *)"show <n> context lines before matches";
  options[36].flags = (enum parse_opt_option_flags )0;
  options[36].callback = (parse_opt_cb *)0;
  options[36].defval = 0L;
  options[36].ll_callback = (parse_opt_ll_cb *)0;
  options[36].extra = 0L;
  options[37].type = (enum parse_opt_type )10;
  options[37].short_name = 'A';
  options[37].long_name = (char const   *)"after-context";
  options[37].value = (void *)(& opt___0.post_context);
  options[37].argh = (char const   *)"n";
  options[37].help = (char const   *)"show <n> context lines after matches";
  options[37].flags = (enum parse_opt_option_flags )0;
  options[37].callback = (parse_opt_cb *)0;
  options[37].defval = 0L;
  options[37].ll_callback = (parse_opt_ll_cb *)0;
  options[37].extra = 0L;
  options[38].type = (enum parse_opt_type )10;
  options[38].short_name = 0;
  options[38].long_name = (char const   *)"threads";
  options[38].value = (void *)(& num_threads);
  options[38].argh = (char const   *)"n";
  options[38].help = (char const   *)"use <n> worker threads";
  options[38].flags = (enum parse_opt_option_flags )0;
  options[38].callback = (parse_opt_cb *)0;
  options[38].defval = 0L;
  options[38].ll_callback = (parse_opt_ll_cb *)0;
  options[38].extra = 0L;
  options[39].type = (enum parse_opt_type )2;
  options[39].short_name = 0;
  options[39].long_name = (char const   *)((void *)0);
  options[39].value = (void *)(& opt___0);
  options[39].argh = (char const   *)((void *)0);
  options[39].help = (char const   *)"shortcut for -C NUM";
  options[39].flags = (enum parse_opt_option_flags )6;
  options[39].callback = & context_callback;
  options[39].defval = 0L;
  options[39].ll_callback = (parse_opt_ll_cb *)0;
  options[39].extra = 0L;
  options[40].type = (enum parse_opt_type )8;
  options[40].short_name = 'p';
  options[40].long_name = (char const   *)"show-function";
  options[40].value = (void *)(& opt___0.funcname);
  options[40].argh = (char const   *)((void *)0);
  options[40].help = (char const   *)"show a line with the function name before matches";
  options[40].flags = (enum parse_opt_option_flags )2;
  options[40].callback = (parse_opt_cb *)((void *)0);
  options[40].defval = (intptr_t )1;
  options[40].ll_callback = (parse_opt_ll_cb *)0;
  options[40].extra = 0L;
  options[41].type = (enum parse_opt_type )8;
  options[41].short_name = 'W';
  options[41].long_name = (char const   *)"function-context";
  options[41].value = (void *)(& opt___0.funcbody);
  options[41].argh = (char const   *)((void *)0);
  options[41].help = (char const   *)"show the surrounding function";
  options[41].flags = (enum parse_opt_option_flags )2;
  options[41].callback = (parse_opt_cb *)((void *)0);
  options[41].defval = (intptr_t )1;
  options[41].ll_callback = (parse_opt_ll_cb *)0;
  options[41].extra = 0L;
  options[42].type = (enum parse_opt_type )1;
  options[42].short_name = 0;
  options[42].long_name = (char const   *)((void *)0);
  options[42].value = (void *)0;
  options[42].argh = (char const   *)((void *)0);
  options[42].help = (char const   *)"";
  options[42].flags = 0U;
  options[42].callback = (parse_opt_cb *)0;
  options[42].defval = 0L;
  options[42].ll_callback = (parse_opt_ll_cb *)0;
  options[42].extra = 0L;
  options[43].type = (enum parse_opt_type )12;
  options[43].short_name = 'f';
  options[43].long_name = (char const   *)((void *)0);
  options[43].value = (void *)(& opt___0);
  options[43].argh = (char const   *)"file";
  options[43].help = (char const   *)"read patterns from file";
  options[43].flags = (enum parse_opt_option_flags )0;
  options[43].callback = & file_callback;
  options[43].defval = 0L;
  options[43].ll_callback = (parse_opt_ll_cb *)0;
  options[43].extra = 0L;
  options[44].type = (enum parse_opt_type )12;
  options[44].short_name = 'e';
  options[44].long_name = (char const   *)((void *)0);
  options[44].value = (void *)(& opt___0);
  options[44].argh = (char const   *)"pattern";
  options[44].help = (char const   *)"match <pattern>";
  options[44].flags = (enum parse_opt_option_flags )4;
  options[44].callback = & pattern_callback;
  options[44].defval = 0L;
  options[44].ll_callback = (parse_opt_ll_cb *)0;
  options[44].extra = 0L;
  options[45].type = (enum parse_opt_type )12;
  options[45].short_name = 0;
  options[45].long_name = (char const   *)"and";
  options[45].value = (void *)(& opt___0);
  options[45].argh = (char const   *)((void *)0);
  options[45].help = (char const   *)"combine patterns specified with -e";
  options[45].flags = (enum parse_opt_option_flags )6;
  options[45].callback = & and_callback;
  options[45].defval = 0L;
  options[45].ll_callback = (parse_opt_ll_cb *)0;
  options[45].extra = 0L;
  options[46].type = (enum parse_opt_type )8;
  options[46].short_name = 0;
  options[46].long_name = (char const   *)"or";
  options[46].value = (void *)(& dummy___0);
  options[46].argh = (char const   *)((void *)0);
  options[46].help = (char const   *)"";
  options[46].flags = (enum parse_opt_option_flags )2;
  options[46].callback = (parse_opt_cb *)((void *)0);
  options[46].defval = (intptr_t )1;
  options[46].ll_callback = (parse_opt_ll_cb *)0;
  options[46].extra = 0L;
  options[47].type = (enum parse_opt_type )12;
  options[47].short_name = 0;
  options[47].long_name = (char const   *)"not";
  options[47].value = (void *)(& opt___0);
  options[47].argh = (char const   *)((void *)0);
  options[47].help = (char const   *)"";
  options[47].flags = (enum parse_opt_option_flags )6;
  options[47].callback = & not_callback;
  options[47].defval = 0L;
  options[47].ll_callback = (parse_opt_ll_cb *)0;
  options[47].extra = 0L;
  options[48].type = (enum parse_opt_type )12;
  options[48].short_name = '(';
  options[48].long_name = (char const   *)((void *)0);
  options[48].value = (void *)(& opt___0);
  options[48].argh = (char const   *)((void *)0);
  options[48].help = (char const   *)"";
  options[48].flags = (enum parse_opt_option_flags )38;
  options[48].callback = & open_callback;
  options[48].defval = 0L;
  options[48].ll_callback = (parse_opt_ll_cb *)0;
  options[48].extra = 0L;
  options[49].type = (enum parse_opt_type )12;
  options[49].short_name = ')';
  options[49].long_name = (char const   *)((void *)0);
  options[49].value = (void *)(& opt___0);
  options[49].argh = (char const   *)((void *)0);
  options[49].help = (char const   *)"";
  options[49].flags = (enum parse_opt_option_flags )38;
  options[49].callback = & close_callback;
  options[49].defval = 0L;
  options[49].ll_callback = (parse_opt_ll_cb *)0;
  options[49].extra = 0L;
  options[50].type = (enum parse_opt_type )7;
  options[50].short_name = 'q';
  options[50].long_name = (char const   *)"quiet";
  options[50].value = (void *)(& opt___0.status_only);
  options[50].argh = (char const   *)((void *)0);
  options[50].help = (char const   *)"indicate hit with exit status without output";
  options[50].flags = (enum parse_opt_option_flags )2;
  options[50].callback = (parse_opt_cb *)0;
  options[50].defval = 0L;
  options[50].ll_callback = (parse_opt_ll_cb *)0;
  options[50].extra = 0L;
  options[51].type = (enum parse_opt_type )8;
  options[51].short_name = 0;
  options[51].long_name = (char const   *)"all-match";
  options[51].value = (void *)(& opt___0.all_match);
  options[51].argh = (char const   *)((void *)0);
  options[51].help = (char const   *)"show only matches from files that match all patterns";
  options[51].flags = (enum parse_opt_option_flags )2;
  options[51].callback = (parse_opt_cb *)((void *)0);
  options[51].defval = (intptr_t )1;
  options[51].ll_callback = (parse_opt_ll_cb *)0;
  options[51].extra = 0L;
  options[52].type = (enum parse_opt_type )1;
  options[52].short_name = 0;
  options[52].long_name = (char const   *)((void *)0);
  options[52].value = (void *)0;
  options[52].argh = (char const   *)((void *)0);
  options[52].help = (char const   *)"";
  options[52].flags = 0U;
  options[52].callback = (parse_opt_cb *)0;
  options[52].defval = 0L;
  options[52].ll_callback = (parse_opt_ll_cb *)0;
  options[52].extra = 0L;
  options[53].type = (enum parse_opt_type )9;
  options[53].short_name = 'O';
  options[53].long_name = (char const   *)"open-files-in-pager";
  options[53].value = (void *)(& show_in_pager);
  options[53].argh = (char const   *)"pager";
  options[53].help = (char const   *)"show matching files in the pager";
  options[53].flags = (enum parse_opt_option_flags )513;
  options[53].callback = (parse_opt_cb *)((void *)0);
  options[53].defval = (intptr_t )default_pager;
  options[53].ll_callback = (parse_opt_ll_cb *)0;
  options[53].extra = 0L;
  options[54].type = (enum parse_opt_type )8;
  options[54].short_name = 0;
  options[54].long_name = (char const   *)"ext-grep";
  options[54].value = (void *)(& external_grep_allowed__ignored);
  options[54].argh = (char const   *)((void *)0);
  options[54].help = (char const   *)"allow calling of grep(1) (ignored by this build)";
  options[54].flags = (enum parse_opt_option_flags )514;
  options[54].callback = (parse_opt_cb *)((void *)0);
  options[54].defval = (intptr_t )1;
  options[54].ll_callback = (parse_opt_ll_cb *)0;
  options[54].extra = 0L;
  options[55].type = (enum parse_opt_type )0;
  options[55].short_name = 0;
  options[55].long_name = (char const   *)0;
  options[55].value = (void *)0;
  options[55].argh = (char const   *)0;
  options[55].help = (char const   *)0;
  options[55].flags = 0U;
  options[55].callback = (parse_opt_cb *)0;
  options[55].defval = 0L;
  options[55].ll_callback = (parse_opt_ll_cb *)0;
  options[55].extra = 0L;
  git_config(& grep_cmd_config, (void *)0);
  grep_init(& opt___0, the_repository, prefix___1);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       grep_usage, (enum parse_opt_flags )3);
  grep_commit_pattern_type((enum grep_pattern_type )pattern_type_arg, & opt___0);
  if (use_index) {
    if (! startup_info->have_repository) {
      fallback___0 = 0;
      git_config_get_bool((char const   *)"grep.fallbacktonoindex", & fallback___0);
      if (fallback___0) {
        use_index = 0;
      } else {
        setup_git_directory();
      }
    }
  }
  if (! use_index) {
    recurse_submodules___0 = 0;
  }
  if (argc > 0) {
    if (! opt___0.pattern_list) {
      tmp = strcmp(*(argv___0 + 0), (char const   *)"--");
      if (! tmp) {
        argv___0 ++;
        argc --;
      }
    }
  }
  if (argc > 0) {
    if (! opt___0.pattern_list) {
      append_grep_pattern(& opt___0, *(argv___0 + 0), (char const   *)"command line",
                          0, (enum grep_pat_token )0);
      argv___0 ++;
      argc --;
    }
  }
  if ((unsigned long )show_in_pager == (unsigned long )default_pager) {
    show_in_pager = git_pager(1);
  }
  if (show_in_pager) {
    opt___0.color = 0;
    opt___0.name_only = 1;
    opt___0.null_following_name = 1;
    opt___0.output_priv = (void *)(& path_list);
    opt___0.output = & append_path;
    string_list_append(& path_list, show_in_pager);
  }
  if (! opt___0.pattern_list) {
    tmp___0 = _((char const   *)"no pattern given");
    die((char const   *)tmp___0);
  }
  if (opt___0.invert) {
    opt___0.only_matching = 0;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    tmp___1 = strcmp(*(argv___0 + i), (char const   *)"--");
    if (! tmp___1) {
      seen_dashdash = 1;
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (use_index) {
    if (! untracked) {
      tmp___2 = 1;
    } else {
      tmp___2 = 0;
    }
  } else {
    tmp___2 = 0;
  }
  allow_revs = tmp___2;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break___0;
    }
    arg = *(argv___0 + i);
    tmp___3 = strcmp(arg, (char const   *)"--");
    if (! tmp___3) {
      i ++;
      goto while_break___0;
    }
    if (! allow_revs) {
      if (seen_dashdash) {
        tmp___4 = _((char const   *)"--no-index or --untracked cannot be used with revs");
        die((char const   *)tmp___4);
      }
      goto while_break___0;
    }
    tmp___6 = get_oid_with_context(the_repository, arg, 128U, & oid, & oc);
    if (tmp___6) {
      if (seen_dashdash) {
        tmp___5 = _((char const   *)"unable to resolve revision: %s");
        die((char const   *)tmp___5, arg);
      }
      goto while_break___0;
    }
    object = parse_object_or_die((struct object_id  const  *)(& oid), arg);
    if (! seen_dashdash) {
      verify_non_filename(prefix___1, arg);
    }
    add_object_array_with_path(object, arg, & list___3, (unsigned int )oc.mode, (char const   *)oc.path);
    free((void *)oc.path);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (! seen_dashdash) {
    j = i;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (j < argc)) {
        goto while_break___1;
      }
      if (j == i) {
        if (allow_revs) {
          tmp___7 = 1;
        } else {
          tmp___7 = 0;
        }
      } else {
        tmp___7 = 0;
      }
      verify_filename(prefix___1, *(argv___0 + j), tmp___7);
      j ++;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  if (opt___0.max_depth != -1) {
    tmp___8 = 1 << 2;
  } else {
    tmp___8 = 0;
  }
  parse_pathspec(& pathspec___1, 0U, (unsigned int )(1 | tmp___8), prefix___1, argv___0 + i);
  pathspec___1.max_depth = opt___0.max_depth;
  pathspec___1.recursive = 1U;
  pathspec___1.recurse_submodules = (unsigned int )(! (! recurse_submodules___0));
  if (recurse_submodules___0) {
    if (untracked) {
      tmp___9 = _((char const   *)"--untracked not supported with --recurse-submodules");
      die((char const   *)tmp___9);
    }
  }
  if (show_in_pager) {
    if (num_threads > 1) {
      tmp___10 = _((char const   *)"invalid option combination, ignoring --threads");
      warning((char const   *)tmp___10);
    }
    num_threads = 1;
  } else
  if (num_threads < 0) {
    tmp___12 = _((char const   *)"invalid number of threads specified (%d)");
    die((char const   *)tmp___12, num_threads);
  } else
  if (num_threads == 0) {
    tmp___13 = online_cpus();
    num_threads = tmp___13;
  }
  if (num_threads > 1) {
    if (! opt___0.name_only) {
      if (! opt___0.unmatch_name_only) {
        if (! opt___0.count) {
          if (opt___0.pre_context) {
            skip_first_line = 1;
          } else
          if (opt___0.post_context) {
            skip_first_line = 1;
          } else
          if (opt___0.file_break) {
            skip_first_line = 1;
          } else
          if (opt___0.funcbody) {
            skip_first_line = 1;
          }
        }
      }
    }
    if (recurse_submodules___0) {
      repo_read_gitmodules(the_repository, 1);
    }
    if (startup_info->have_repository) {
      get_packed_git(the_repository);
    }
    start_threads(& opt___0);
  } else {
    compile_grep_patterns(& opt___0);
  }
  if (show_in_pager) {
    if (cached) {
      tmp___14 = _((char const   *)"--open-files-in-pager only works on the worktree");
      die((char const   *)tmp___14);
    } else
    if (list___3.nr) {
      tmp___14 = _((char const   *)"--open-files-in-pager only works on the worktree");
      die((char const   *)tmp___14);
    }
  }
  if (show_in_pager) {
    if (opt___0.pattern_list) {
      if (! (opt___0.pattern_list)->next) {
        pager___0 = (char const   *)(path_list.items + 0)->string;
        tmp___15 = strlen(pager___0);
        len___0 = (int )tmp___15;
        if (len___0 > 4) {
          tmp___16 = git_is_dir_sep((int )*(pager___0 + (len___0 - 5)));
          if (tmp___16) {
            pager___0 += len___0 - 4;
          }
        }
        if (opt___0.ignore_case) {
          tmp___17 = strcmp((char const   *)"less", pager___0);
          if (! tmp___17) {
            string_list_append(& path_list, (char const   *)"-I");
          }
        }
        tmp___22 = strcmp((char const   *)"less", pager___0);
        if (tmp___22) {
          tmp___23 = strcmp((char const   *)"vi", pager___0);
          if (! tmp___23) {
            _L: /* CIL Label */
            buf___19.alloc = 0UL;
            buf___19.len = 0UL;
            buf___19.buf = strbuf_slopbuf;
            tmp___20 = strcmp((char const   *)"less", pager___0);
            if (tmp___20) {
              tmp___19 = "";
            } else {
              tmp___19 = "*";
            }
            strbuf_addf(& buf___19, (char const   *)"+/%s%s", tmp___19, (opt___0.pattern_list)->pattern);
            tmp___21 = strbuf_detach(& buf___19, (size_t *)((void *)0));
            string_list_append_nodup(& path_list, tmp___21);
          }
        } else {
          goto _L;
        }
      }
    }
  }
  if (! show_in_pager) {
    if (! opt___0.status_only) {
      setup_pager();
    }
  }
  if (! use_index) {
    if (untracked) {
      tmp___24 = _((char const   *)"--cached or --untracked cannot be used with --no-index");
      die((char const   *)tmp___24);
    } else
    if (cached) {
      tmp___24 = _((char const   *)"--cached or --untracked cannot be used with --no-index");
      die((char const   *)tmp___24);
    }
  }
  if (untracked) {
    if (cached) {
      tmp___25 = _((char const   *)"--untracked cannot be used with --cached");
      die((char const   *)tmp___25);
    }
  }
  if (! use_index) {
    goto _L___0;
  } else
  if (untracked) {
    _L___0: /* CIL Label */
    if (opt_exclude < 0) {
      tmp___26 = use_index;
    } else {
      tmp___26 = ! (! opt_exclude);
    }
    use_exclude = tmp___26;
    hit = grep_directory(& opt___0, (struct pathspec  const  *)(& pathspec___1), use_exclude,
                         use_index);
  } else
  if (0 <= opt_exclude) {
    tmp___27 = _((char const   *)"--[no-]exclude-standard cannot be used for tracked contents");
    die((char const   *)tmp___27);
  } else
  if (! list___3.nr) {
    if (! cached) {
      setup_work_tree();
    }
    hit = grep_cache(& opt___0, (struct pathspec  const  *)(& pathspec___1), cached);
  } else {
    if (cached) {
      tmp___28 = _((char const   *)"both --cached and trees are given");
      die((char const   *)tmp___28);
    }
    hit = grep_objects(& opt___0, (struct pathspec  const  *)(& pathspec___1), (struct object_array  const  *)(& list___3));
  }
  if (num_threads > 1) {
    tmp___29 = wait_all();
    hit |= tmp___29;
  }
  if (hit) {
    if (show_in_pager) {
      run_pager(& opt___0, prefix___1);
    }
  }
  clear_pathspec(& pathspec___1);
  string_list_clear(& path_list, 0);
  free_grep_patterns(& opt___0);
  object_array_clear(& list___3);
  free_repos();
  return (! hit);
}
}
static double const   __ac_HASH_UPPER___128  =    (double const   )0.77;
__inline static void kh_resize_oid_set___128(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___128(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___128 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___128 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___128(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___128(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___128(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___128(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___128(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___128(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___128 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___128 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___128(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___128(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___128(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___128(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___128(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___128(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___128 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___128 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___128(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___128(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___128(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___128(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___95(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___95(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___128 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___128 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___95(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___95(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___95(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___95(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int hash_literally(struct object_id *oid , int fd , char const   *type___0 ,
                          unsigned int flags___0 )
{
  struct strbuf buf___19 ;
  int ret___67 ;
  ssize_t tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = strbuf_read(& buf___19, fd, (size_t )4096);
  if (tmp < 0L) {
    ret___67 = -1;
  } else {
    ret___67 = hash_object_file_literally((void const   *)buf___19.buf, buf___19.len,
                                          type___0, oid, flags___0);
  }
  strbuf_release(& buf___19);
  return (ret___67);
}
}
static void hash_fd(int fd , char const   *type___0 , char const   *path___6 , unsigned int flags___0 ,
                    int literally )
{
  struct stat st ;
  struct object_id oid ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;

  {
  tmp___0 = fstat(fd, & st);
  if (tmp___0 < 0) {
    goto _L;
  } else {
    if (literally) {
      tmp___1 = hash_literally(& oid, fd, type___0, flags___0);
      tmp___4 = tmp___1;
    } else {
      tmp___2 = type_from_string_gently(type___0, (ssize_t )-1, 0);
      tmp___3 = index_fd(the_repository->index, & oid, fd, & st, (enum object_type )tmp___2,
                         path___6, flags___0);
      tmp___4 = tmp___3;
    }
    if (tmp___4) {
      _L: /* CIL Label */
      if (flags___0 & 1U) {
        tmp = "Unable to add %s to database";
      } else {
        tmp = "Unable to hash %s";
      }
      die((char const   *)tmp, path___6);
    }
  }
  tmp___5 = oid_to_hex((struct object_id  const  *)(& oid));
  printf((char const   *)"%s\n", tmp___5);
  maybe_flush_or_die(stdout, (char const   *)"hash to stdout");
  return;
}
}
static void hash_object(char const   *path___6 , char const   *type___0 , char const   *vpath ,
                        unsigned int flags___0 , int literally )
{
  int fd ;

  {
  fd = xopen(path___6, 00);
  hash_fd(fd, type___0, vpath, flags___0, literally);
  return;
}
}
static void hash_stdin_paths(char const   *type___0 , int no_filters , unsigned int flags___0 ,
                             int literally )
{
  struct strbuf buf___19 ;
  struct strbuf unquoted ;
  int tmp ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  unquoted.alloc = 0UL;
  unquoted.len = 0UL;
  unquoted.buf = strbuf_slopbuf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = strbuf_getline(& buf___19, stdin);
    if (! (tmp___1 != -1)) {
      goto while_break;
    }
    if ((int )*(buf___19.buf + 0) == 34) {
      strbuf_setlen___33(& unquoted, (size_t )0);
      tmp = unquote_c_style(& unquoted, (char const   *)buf___19.buf, (char const   **)((void *)0));
      if (tmp) {
        die((char const   *)"line is badly quoted");
      }
      strbuf_swap(& buf___19, & unquoted);
    }
    if (no_filters) {
      tmp___0 = (char *)((void *)0);
    } else {
      tmp___0 = buf___19.buf;
    }
    hash_object((char const   *)buf___19.buf, type___0, (char const   *)tmp___0, flags___0,
                literally);
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  strbuf_release(& unquoted);
  return;
}
}
static char const   *hash_object_usage[3]  = {      (char const   *)"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] [--] <file>...",      (char const   *)"git hash-object  --stdin-paths",      (char const   *)((void *)0)};
int cmd_hash_object(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char const   *type___0 ;
  int hashstdin ;
  int stdin_paths___1 ;
  int no_filters ;
  int literally ;
  int nongit ;
  unsigned int flags___0 ;
  char const   *vpath ;
  struct option hash_object_options[8] ;
  int i ;
  char const   *errstr ;
  char *tmp ;
  char const   *arg ;
  char *to_free ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;

  {
  type___0 = blob_type;
  hashstdin = 0;
  stdin_paths___1 = 0;
  no_filters = 0;
  literally = 0;
  nongit = 0;
  flags___0 = 2U;
  vpath = (char const   *)((void *)0);
  hash_object_options[0].type = (enum parse_opt_type )((enum parse_opt_type )9);
  hash_object_options[0].short_name = (int )'t';
  hash_object_options[0].long_name = (char const   *)((char const   *)((void *)0));
  hash_object_options[0].value = (void *)((void *)(& type___0));
  hash_object_options[0].argh = (char const   *)((char const   *)"type");
  hash_object_options[0].help = (char const   *)((char const   *)"object type");
  hash_object_options[0].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  hash_object_options[0].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  hash_object_options[0].defval = (intptr_t )0L;
  hash_object_options[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  hash_object_options[0].extra = (intptr_t )0L;
  hash_object_options[1].type = (enum parse_opt_type )((enum parse_opt_type )4);
  hash_object_options[1].short_name = (int )'w';
  hash_object_options[1].long_name = (char const   *)((char const   *)((void *)0));
  hash_object_options[1].value = (void *)((void *)(& flags___0));
  hash_object_options[1].argh = (char const   *)((char const   *)((void *)0));
  hash_object_options[1].help = (char const   *)((char const   *)"write the object into the object database");
  hash_object_options[1].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  hash_object_options[1].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  hash_object_options[1].defval = (intptr_t )((intptr_t )1);
  hash_object_options[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  hash_object_options[1].extra = (intptr_t )0L;
  hash_object_options[2].type = (enum parse_opt_type )((enum parse_opt_type )7);
  hash_object_options[2].short_name = (int )0;
  hash_object_options[2].long_name = (char const   *)((char const   *)"stdin");
  hash_object_options[2].value = (void *)((void *)(& hashstdin));
  hash_object_options[2].argh = (char const   *)((char const   *)((void *)0));
  hash_object_options[2].help = (char const   *)((char const   *)"read the object from stdin");
  hash_object_options[2].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  hash_object_options[2].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  hash_object_options[2].defval = (intptr_t )0L;
  hash_object_options[2].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  hash_object_options[2].extra = (intptr_t )0L;
  hash_object_options[3].type = (enum parse_opt_type )((enum parse_opt_type )8);
  hash_object_options[3].short_name = (int )0;
  hash_object_options[3].long_name = (char const   *)((char const   *)"stdin-paths");
  hash_object_options[3].value = (void *)((void *)(& stdin_paths___1));
  hash_object_options[3].argh = (char const   *)((char const   *)((void *)0));
  hash_object_options[3].help = (char const   *)((char const   *)"read file names from stdin");
  hash_object_options[3].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  hash_object_options[3].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  hash_object_options[3].defval = (intptr_t )((intptr_t )1);
  hash_object_options[3].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  hash_object_options[3].extra = (intptr_t )0L;
  hash_object_options[4].type = (enum parse_opt_type )((enum parse_opt_type )8);
  hash_object_options[4].short_name = (int )0;
  hash_object_options[4].long_name = (char const   *)((char const   *)"no-filters");
  hash_object_options[4].value = (void *)((void *)(& no_filters));
  hash_object_options[4].argh = (char const   *)((char const   *)((void *)0));
  hash_object_options[4].help = (char const   *)((char const   *)"store file as is without filters");
  hash_object_options[4].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  hash_object_options[4].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  hash_object_options[4].defval = (intptr_t )((intptr_t )1);
  hash_object_options[4].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  hash_object_options[4].extra = (intptr_t )0L;
  hash_object_options[5].type = (enum parse_opt_type )((enum parse_opt_type )8);
  hash_object_options[5].short_name = (int )0;
  hash_object_options[5].long_name = (char const   *)((char const   *)"literally");
  hash_object_options[5].value = (void *)((void *)(& literally));
  hash_object_options[5].argh = (char const   *)((char const   *)((void *)0));
  hash_object_options[5].help = (char const   *)((char const   *)"just hash any random garbage to create corrupt objects for debugging Git");
  hash_object_options[5].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  hash_object_options[5].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  hash_object_options[5].defval = (intptr_t )((intptr_t )1);
  hash_object_options[5].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  hash_object_options[5].extra = (intptr_t )0L;
  hash_object_options[6].type = (enum parse_opt_type )((enum parse_opt_type )9);
  hash_object_options[6].short_name = (int )0;
  hash_object_options[6].long_name = (char const   *)((char const   *)"path");
  hash_object_options[6].value = (void *)((void *)(& vpath));
  hash_object_options[6].argh = (char const   *)((char const   *)"file");
  hash_object_options[6].help = (char const   *)((char const   *)"process file as it were from this path");
  hash_object_options[6].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  hash_object_options[6].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  hash_object_options[6].defval = (intptr_t )0L;
  hash_object_options[6].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  hash_object_options[6].extra = (intptr_t )0L;
  hash_object_options[7].type = (enum parse_opt_type )((enum parse_opt_type )0);
  hash_object_options[7].short_name = (int )0;
  hash_object_options[7].long_name = (char const   *)((char const   *)0);
  hash_object_options[7].value = (void *)((void *)0);
  hash_object_options[7].argh = (char const   *)((char const   *)0);
  hash_object_options[7].help = (char const   *)((char const   *)0);
  hash_object_options[7].flags = (enum parse_opt_option_flags )0U;
  hash_object_options[7].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  hash_object_options[7].defval = (intptr_t )0L;
  hash_object_options[7].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  hash_object_options[7].extra = (intptr_t )0L;
  errstr = (char const   *)((void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(hash_object_options),
                       hash_object_usage, (enum parse_opt_flags )0);
  if (flags___0 & 1U) {
    prefix___1 = setup_git_directory();
  } else {
    prefix___1 = setup_git_directory_gently(& nongit);
  }
  if (vpath) {
    if (prefix___1) {
      tmp = prefix_filename(prefix___1, vpath);
      vpath = (char const   *)tmp;
    }
  }
  git_config(& git_default_config, (void *)0);
  if (stdin_paths___1) {
    if (hashstdin) {
      errstr = (char const   *)"Can\'t use --stdin-paths with --stdin";
    } else
    if (argc) {
      errstr = (char const   *)"Can\'t specify files with --stdin-paths";
    } else
    if (vpath) {
      errstr = (char const   *)"Can\'t use --stdin-paths with --path";
    }
  } else {
    if (hashstdin > 1) {
      errstr = (char const   *)"Multiple --stdin arguments are not supported";
    }
    if (vpath) {
      if (no_filters) {
        errstr = (char const   *)"Can\'t use --path with --no-filters";
      }
    }
  }
  if (errstr) {
    error((char const   *)"%s", errstr);
    const_error();
    usage_with_options(hash_object_usage, (struct option  const  *)(hash_object_options));
  }
  if (hashstdin) {
    hash_fd(0, type___0, vpath, flags___0, literally);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    arg = *(argv___0 + i);
    to_free = (char *)((void *)0);
    if (prefix___1) {
      to_free = prefix_filename(prefix___1, arg);
      arg = (char const   *)to_free;
    }
    if (no_filters) {
      tmp___1 = (char const   *)((void *)0);
    } else {
      if (vpath) {
        tmp___0 = vpath;
      } else {
        tmp___0 = arg;
      }
      tmp___1 = tmp___0;
    }
    hash_object(arg, type___0, tmp___1, flags___0, literally);
    free((void *)to_free);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (stdin_paths___1) {
    hash_stdin_paths(type___0, no_filters, flags___0, literally);
  }
  return (0);
}
}
static char const   *config_name_list[602]  =
  {      (char const   *)"add.ignoreErrors",      (char const   *)"add.interactive.useBuiltin",      (char const   *)"advice.*",      (char const   *)"alias.*",
        (char const   *)"am.keepcr",      (char const   *)"am.threeWay",      (char const   *)"apply.ignoreWhitespace",      (char const   *)"apply.whitespace",
        (char const   *)"author.email",      (char const   *)"author.name",      (char const   *)"blame.blankBoundary",      (char const   *)"blame.coloring",
        (char const   *)"blame.date",      (char const   *)"blame.ignoreRevsFile",      (char const   *)"blame.markIgnoredLines",      (char const   *)"blame.markUnblamableLines",
        (char const   *)"blame.showEmail",      (char const   *)"blame.showRoot",      (char const   *)"branch.autoSetupMerge",      (char const   *)"branch.autoSetupRebase",
        (char const   *)"branch.<name>.description",      (char const   *)"branch.<name>.merge",      (char const   *)"branch.<name>.mergeOptions",      (char const   *)"branch.<name>.pushRemote",
        (char const   *)"branch.<name>.rebase",      (char const   *)"branch.<name>.remote",      (char const   *)"branch.sort",      (char const   *)"browser.<tool>.cmd",
        (char const   *)"browser.<tool>.path",      (char const   *)"checkout.defaultRemote",      (char const   *)"checkout.guess",      (char const   *)"checkout.thresholdForParallelism",
        (char const   *)"checkout.workers",      (char const   *)"clean.requireForce",      (char const   *)"clone.defaultRemoteName",      (char const   *)"clone.rejectShallow",
        (char const   *)"color.advice",      (char const   *)"color.advice.hint",      (char const   *)"color.blame.highlightRecent",      (char const   *)"color.blame.repeatedLines",
        (char const   *)"color.branch",      (char const   *)"color.branch.<slot>",      (char const   *)"color.decorate.<slot>",      (char const   *)"color.diff",
        (char const   *)"color.diff.<slot>",      (char const   *)"color.grep",      (char const   *)"color.grep.<slot>",      (char const   *)"color.interactive",
        (char const   *)"color.interactive.<slot>",      (char const   *)"color.pager",      (char const   *)"color.push",      (char const   *)"color.push.error",
        (char const   *)"color.remote",      (char const   *)"color.remote.<slot>",      (char const   *)"color.showBranch",      (char const   *)"color.status",
        (char const   *)"color.status.<slot>",      (char const   *)"color.transport",      (char const   *)"color.transport.rejected",      (char const   *)"color.ui",
        (char const   *)"column.branch",      (char const   *)"column.clean",      (char const   *)"column.status",      (char const   *)"column.tag",
        (char const   *)"column.ui",      (char const   *)"commit.cleanup",      (char const   *)"commit.gpgSign",      (char const   *)"commitGraph.generationVersion",
        (char const   *)"commitGraph.maxNewFilters",      (char const   *)"commitGraph.readChangedPaths",      (char const   *)"commit.status",      (char const   *)"commit.template",
        (char const   *)"committer.email",      (char const   *)"committer.name",      (char const   *)"commit.verbose",      (char const   *)"completion.commands",
        (char const   *)"core.abbrev",      (char const   *)"core.alternateRefsCommand",      (char const   *)"core.alternateRefsPrefixes",      (char const   *)"core.askPass",
        (char const   *)"core.attributesFile",      (char const   *)"core.autocrlf",      (char const   *)"core.bare",      (char const   *)"core.bigFileThreshold",
        (char const   *)"core.checkRoundtripEncoding",      (char const   *)"core.checkStat",      (char const   *)"core.commentChar",      (char const   *)"core.commitGraph",
        (char const   *)"core.compression",      (char const   *)"core.createObject",      (char const   *)"core.deltaBaseCacheLimit",      (char const   *)"core.editor",
        (char const   *)"core.eol",      (char const   *)"core.excludesFile",      (char const   *)"core.fileMode",      (char const   *)"core.filesRefLockTimeout",
        (char const   *)"core.fsmonitor",      (char const   *)"core.fsmonitorHookVersion",      (char const   *)"core.fsyncObjectFiles",      (char const   *)"core.gitProxy",
        (char const   *)"core.hideDotFiles",      (char const   *)"core.hooksPath",      (char const   *)"core.ignoreCase",      (char const   *)"core.ignoreStat",
        (char const   *)"core.logAllRefUpdates",      (char const   *)"core.looseCompression",      (char const   *)"core.multiPackIndex",      (char const   *)"core.notesRef",
        (char const   *)"core.packedGitLimit",      (char const   *)"core.packedGitWindowSize",      (char const   *)"core.packedRefsTimeout",      (char const   *)"core.pager",
        (char const   *)"core.precomposeUnicode",      (char const   *)"core.preferSymlinkRefs",      (char const   *)"core.preloadIndex",      (char const   *)"core.protectHFS",
        (char const   *)"core.protectNTFS",      (char const   *)"core.quotePath",      (char const   *)"core.repositoryFormatVersion",      (char const   *)"core.restrictinheritedhandles",
        (char const   *)"core.safecrlf",      (char const   *)"core.sharedRepository",      (char const   *)"core.sparseCheckout",      (char const   *)"core.sparseCheckoutCone",
        (char const   *)"core.splitIndex",      (char const   *)"core.sshCommand",      (char const   *)"core.symlinks",      (char const   *)"core.trustctime",
        (char const   *)"core.unsetenvvars",      (char const   *)"core.untrackedCache",      (char const   *)"core.useReplaceRefs",      (char const   *)"core.warnAmbiguousRefs",
        (char const   *)"core.whitespace",      (char const   *)"core.worktree",      (char const   *)"credentialCache.ignoreSIGHUP",      (char const   *)"credential.helper",
        (char const   *)"credentialStore.lockTimeoutMS",      (char const   *)"credential.<url>.*",      (char const   *)"credential.useHttpPath",      (char const   *)"credential.username",
        (char const   *)"diff.algorithm",      (char const   *)"diff.autoRefreshIndex",      (char const   *)"diff.colorMoved",      (char const   *)"diff.colorMovedWS",
        (char const   *)"diff.context",      (char const   *)"diff.dirstat",      (char const   *)"diff.<driver>.binary",      (char const   *)"diff.<driver>.cachetextconv",
        (char const   *)"diff.<driver>.command",      (char const   *)"diff.<driver>.textconv",      (char const   *)"diff.<driver>.wordRegex",      (char const   *)"diff.<driver>.xfuncname",
        (char const   *)"diff.external",      (char const   *)"diff.guitool",      (char const   *)"diff.ignoreSubmodules",      (char const   *)"diff.indentHeuristic",
        (char const   *)"diff.interHunkContext",      (char const   *)"diff.mnemonicPrefix",      (char const   *)"diff.noprefix",      (char const   *)"diff.orderFile",
        (char const   *)"diff.relative",      (char const   *)"diff.renameLimit",      (char const   *)"diff.renames",      (char const   *)"diff.statGraphWidth",
        (char const   *)"diff.submodule",      (char const   *)"diff.suppressBlankEmpty",      (char const   *)"diff.tool",      (char const   *)"difftool.prompt",
        (char const   *)"difftool.<tool>.cmd",      (char const   *)"difftool.<tool>.path",      (char const   *)"diff.wordRegex",      (char const   *)"diff.wsErrorHighlight",
        (char const   *)"extensions.objectFormat",      (char const   *)"fastimport.unpackLimit",      (char const   *)"feature.*",      (char const   *)"feature.experimental",
        (char const   *)"feature.manyFiles",      (char const   *)"fetch.fsck.<msg-id>",      (char const   *)"fetch.fsckObjects",      (char const   *)"fetch.fsck.skipList",
        (char const   *)"fetch.negotiationAlgorithm",      (char const   *)"fetch.output",      (char const   *)"fetch.parallel",      (char const   *)"fetch.prune",
        (char const   *)"fetch.pruneTags",      (char const   *)"fetch.recurseSubmodules",      (char const   *)"fetch.showForcedUpdates",      (char const   *)"fetch.unpackLimit",
        (char const   *)"fetch.writeCommitGraph",      (char const   *)"filter.<driver>.clean",      (char const   *)"filter.<driver>.smudge",      (char const   *)"format.attach",
        (char const   *)"format.cc",      (char const   *)"format.coverFromDescription",      (char const   *)"format.coverLetter",      (char const   *)"format.encodeEmailHeaders",
        (char const   *)"format.filenameMaxLength",      (char const   *)"format.from",      (char const   *)"format.headers",      (char const   *)"format.notes",
        (char const   *)"format.numbered",      (char const   *)"format.outputDirectory",      (char const   *)"format.pretty",      (char const   *)"format.signature",
        (char const   *)"format.signatureFile",      (char const   *)"format.signOff",      (char const   *)"format.subjectPrefix",      (char const   *)"format.suffix",
        (char const   *)"format.thread",      (char const   *)"format.to",      (char const   *)"format.useAutoBase",      (char const   *)"fsck.<msg-id>",
        (char const   *)"fsck.skipList",      (char const   *)"gc.aggressiveDepth",      (char const   *)"gc.aggressiveWindow",      (char const   *)"gc.auto",
        (char const   *)"gc.autoDetach",      (char const   *)"gc.autoPackLimit",      (char const   *)"gc.bigPackThreshold",      (char const   *)"gc.logExpiry",
        (char const   *)"gc.packRefs",      (char const   *)"gc.<pattern>.reflogExpire",      (char const   *)"gc.<pattern>.reflogExpireUnreachable",      (char const   *)"gc.pruneExpire",
        (char const   *)"gc.reflogExpire",      (char const   *)"gc.reflogExpireUnreachable",      (char const   *)"gc.rerereResolved",      (char const   *)"gc.rerereUnresolved",
        (char const   *)"gc.worktreePruneExpire",      (char const   *)"gc.writeCommitGraph",      (char const   *)"gitcvs.allBinary",      (char const   *)"gitcvs.commitMsgAnnotation",
        (char const   *)"gitcvs.dbDriver",      (char const   *)"gitcvs.dbName",      (char const   *)"gitcvs.dbPass",      (char const   *)"gitcvs.dbTableNamePrefix",
        (char const   *)"gitcvs.dbUser",      (char const   *)"gitcvs.enabled",      (char const   *)"gitcvs.logFile",      (char const   *)"gitcvs.usecrlfattr",
        (char const   *)"gitweb.avatar",      (char const   *)"gitweb.blame",      (char const   *)"gitweb.category",      (char const   *)"gitweb.description",
        (char const   *)"gitweb.grep",      (char const   *)"gitweb.highlight",      (char const   *)"gitweb.owner",      (char const   *)"gitweb.patches",
        (char const   *)"gitweb.pickaxe",      (char const   *)"gitweb.remote_heads",      (char const   *)"gitweb.showSizes",      (char const   *)"gitweb.snapshot",
        (char const   *)"gitweb.url",      (char const   *)"gpg.format",      (char const   *)"gpg.<format>.program",      (char const   *)"gpg.minTrustLevel",
        (char const   *)"gpg.program",      (char const   *)"gpg.ssh.allowedSignersFile",      (char const   *)"gpg.ssh.defaultKeyCommand",      (char const   *)"gpg.ssh.revocationFile",
        (char const   *)"grep.column",      (char const   *)"grep.extendedRegexp",      (char const   *)"grep.fallbackToNoIndex",      (char const   *)"grep.lineNumber",
        (char const   *)"grep.patternType",      (char const   *)"grep.threads",      (char const   *)"gui.blamehistoryctx",      (char const   *)"gui.commitMsgWidth",
        (char const   *)"gui.copyBlameThreshold",      (char const   *)"gui.diffContext",      (char const   *)"gui.displayUntracked",      (char const   *)"gui.encoding",
        (char const   *)"gui.fastCopyBlame",      (char const   *)"gui.matchTrackingBranch",      (char const   *)"gui.newBranchTemplate",      (char const   *)"gui.pruneDuringFetch",
        (char const   *)"gui.spellingDictionary",      (char const   *)"guitool.<name>.argPrompt",      (char const   *)"guitool.<name>.cmd",      (char const   *)"guitool.<name>.confirm",
        (char const   *)"guitool.<name>.needsFile",      (char const   *)"guitool.<name>.noConsole",      (char const   *)"guitool.<name>.noRescan",      (char const   *)"guitool.<name>.prompt",
        (char const   *)"guitool.<name>.revPrompt",      (char const   *)"guitool.<name>.revUnmerged",      (char const   *)"guitool.<name>.title",      (char const   *)"gui.trustmtime",
        (char const   *)"help.autoCorrect",      (char const   *)"help.browser",      (char const   *)"help.format",      (char const   *)"help.htmlPath",
        (char const   *)"http.cookieFile",      (char const   *)"http.delegation",      (char const   *)"http.emptyAuth",      (char const   *)"http.extraHeader",
        (char const   *)"http.followRedirects",      (char const   *)"http.lowSpeedLimit",      (char const   *)"http.lowSpeedTime",      (char const   *)"http.maxRequests",
        (char const   *)"http.minSessions",      (char const   *)"http.noEPSV",      (char const   *)"http.pinnedpubkey",      (char const   *)"http.postBuffer",
        (char const   *)"http.proxy",      (char const   *)"http.proxyAuthMethod",      (char const   *)"http.proxySSLCAInfo",      (char const   *)"http.proxySSLCert",
        (char const   *)"http.proxySSLCertPasswordProtected",      (char const   *)"http.proxySSLKey",      (char const   *)"http.saveCookies",      (char const   *)"http.schannelCheckRevoke",
        (char const   *)"http.schannelUseSSLCAInfo",      (char const   *)"http.sslBackend",      (char const   *)"http.sslCAInfo",      (char const   *)"http.sslCAPath",
        (char const   *)"http.sslCert",      (char const   *)"http.sslCertPasswordProtected",      (char const   *)"http.sslCipherList",      (char const   *)"http.sslKey",
        (char const   *)"http.sslTry",      (char const   *)"http.sslVerify",      (char const   *)"http.sslVersion",      (char const   *)"http.<url>.*",
        (char const   *)"http.userAgent",      (char const   *)"http.version",      (char const   *)"i18n.commitEncoding",      (char const   *)"i18n.logOutputEncoding",
        (char const   *)"imap.authMethod",      (char const   *)"imap.folder",      (char const   *)"imap.host",      (char const   *)"imap.pass",
        (char const   *)"imap.port",      (char const   *)"imap.preformattedHTML",      (char const   *)"imap.sslverify",      (char const   *)"imap.tunnel",
        (char const   *)"imap.user",      (char const   *)"index.recordEndOfIndexEntries",      (char const   *)"index.recordOffsetTable",      (char const   *)"index.sparse",
        (char const   *)"index.threads",      (char const   *)"index.version",      (char const   *)"init.defaultBranch",      (char const   *)"init.templateDir",
        (char const   *)"instaweb.browser",      (char const   *)"instaweb.httpd",      (char const   *)"instaweb.local",      (char const   *)"instaweb.modulePath",
        (char const   *)"instaweb.port",      (char const   *)"interactive.diffFilter",      (char const   *)"interactive.singleKey",      (char const   *)"log.abbrevCommit",
        (char const   *)"log.date",      (char const   *)"log.decorate",      (char const   *)"log.diffMerges",      (char const   *)"log.excludeDecoration",
        (char const   *)"log.follow",      (char const   *)"log.graphColors",      (char const   *)"log.mailmap",      (char const   *)"log.showRoot",
        (char const   *)"log.showSignature",      (char const   *)"lsrefs.unborn",      (char const   *)"mailinfo.scissors",      (char const   *)"mailmap.blob",
        (char const   *)"mailmap.file",      (char const   *)"maintenance.auto",      (char const   *)"maintenance.commit-graph.auto",      (char const   *)"maintenance.incremental-repack.auto",
        (char const   *)"maintenance.loose-objects.auto",      (char const   *)"maintenance.strategy",      (char const   *)"maintenance.<task>.enabled",      (char const   *)"maintenance.<task>.schedule",
        (char const   *)"man.<tool>.cmd",      (char const   *)"man.<tool>.path",      (char const   *)"man.viewer",      (char const   *)"merge.autoStash",
        (char const   *)"merge.branchdesc",      (char const   *)"merge.conflictStyle",      (char const   *)"merge.defaultToUpstream",      (char const   *)"merge.directoryRenames",
        (char const   *)"merge.<driver>.driver",      (char const   *)"merge.<driver>.name",      (char const   *)"merge.<driver>.recursive",      (char const   *)"merge.ff",
        (char const   *)"merge.guitool",      (char const   *)"merge.log",      (char const   *)"merge.renameLimit",      (char const   *)"merge.renames",
        (char const   *)"merge.renormalize",      (char const   *)"merge.stat",      (char const   *)"merge.suppressDest",      (char const   *)"merge.tool",
        (char const   *)"mergetool.hideResolved",      (char const   *)"mergetool.keepBackup",      (char const   *)"mergetool.keepTemporaries",      (char const   *)"mergetool.meld.hasOutput",
        (char const   *)"mergetool.meld.useAutoMerge",      (char const   *)"mergetool.prompt",      (char const   *)"mergetool.<tool>.cmd",      (char const   *)"mergetool.<tool>.hideResolved",
        (char const   *)"mergetool.<tool>.path",      (char const   *)"mergetool.<tool>.trustExitCode",      (char const   *)"mergetool.writeToTemp",      (char const   *)"merge.verbosity",
        (char const   *)"merge.verifySignatures",      (char const   *)"notes.displayRef",      (char const   *)"notes.mergeStrategy",      (char const   *)"notes.<name>.mergeStrategy",
        (char const   *)"notes.rewrite.<command>",      (char const   *)"notes.rewriteMode",      (char const   *)"notes.rewriteRef",      (char const   *)"pack.allowPackReuse",
        (char const   *)"pack.compression",      (char const   *)"pack.deltaCacheLimit",      (char const   *)"pack.deltaCacheSize",      (char const   *)"pack.depth",
        (char const   *)"pack.indexVersion",      (char const   *)"pack.island",      (char const   *)"pack.islandCore",      (char const   *)"pack.packSizeLimit",
        (char const   *)"pack.preferBitmapTips",      (char const   *)"pack.threads",      (char const   *)"pack.useBitmaps",      (char const   *)"pack.useSparse",
        (char const   *)"pack.window",      (char const   *)"pack.windowMemory",      (char const   *)"pack.writeBitmapHashCache",      (char const   *)"pack.writeReverseIndex",
        (char const   *)"pager.<cmd>",      (char const   *)"pretty.<name>",      (char const   *)"protocol.allow",      (char const   *)"protocol.<name>.allow",
        (char const   *)"protocol.version",      (char const   *)"pull.ff",      (char const   *)"pull.octopus",      (char const   *)"pull.rebase",
        (char const   *)"pull.twohead",      (char const   *)"push.default",      (char const   *)"push.followTags",      (char const   *)"push.gpgSign",
        (char const   *)"push.negotiate",      (char const   *)"push.pushOption",      (char const   *)"push.recurseSubmodules",      (char const   *)"push.useForceIfIncludes",
        (char const   *)"rebase.abbreviateCommands",      (char const   *)"rebase.autoSquash",      (char const   *)"rebase.autoStash",      (char const   *)"rebase.backend",
        (char const   *)"rebase.forkPoint",      (char const   *)"rebase.instructionFormat",      (char const   *)"rebase.missingCommitsCheck",      (char const   *)"rebase.rescheduleFailedExec",
        (char const   *)"rebase.stat",      (char const   *)"receive.advertiseAtomic",      (char const   *)"receive.advertisePushOptions",      (char const   *)"receive.autogc",
        (char const   *)"receive.certNonceSeed",      (char const   *)"receive.certNonceSlop",      (char const   *)"receive.denyCurrentBranch",      (char const   *)"receive.denyDeleteCurrent",
        (char const   *)"receive.denyDeletes",      (char const   *)"receive.denyNonFastForwards",      (char const   *)"receive.fsck.<msg-id>",      (char const   *)"receive.fsckObjects",
        (char const   *)"receive.fsck.skipList",      (char const   *)"receive.hideRefs",      (char const   *)"receive.keepAlive",      (char const   *)"receive.maxInputSize",
        (char const   *)"receive.procReceiveRefs",      (char const   *)"receive.shallowUpdate",      (char const   *)"receive.unpackLimit",      (char const   *)"receive.updateServerInfo",
        (char const   *)"remote.<name>.fetch",      (char const   *)"remote.<name>.mirror",      (char const   *)"remote.<name>.partialclonefilter",      (char const   *)"remote.<name>.promisor",
        (char const   *)"remote.<name>.proxy",      (char const   *)"remote.<name>.proxyAuthMethod",      (char const   *)"remote.<name>.prune",      (char const   *)"remote.<name>.pruneTags",
        (char const   *)"remote.<name>.push",      (char const   *)"remote.<name>.pushurl",      (char const   *)"remote.<name>.receivepack",      (char const   *)"remote.<name>.skipDefaultUpdate",
        (char const   *)"remote.<name>.skipFetchAll",      (char const   *)"remote.<name>.tagOpt",      (char const   *)"remote.<name>.uploadpack",      (char const   *)"remote.<name>.url",
        (char const   *)"remote.<name>.vcs",      (char const   *)"remote.pushDefault",      (char const   *)"remotes.<group>",      (char const   *)"repack.packKeptObjects",
        (char const   *)"repack.useDeltaBaseOffset",      (char const   *)"repack.useDeltaIslands",      (char const   *)"repack.writeBitmaps",      (char const   *)"rerere.autoUpdate",
        (char const   *)"rerere.enabled",      (char const   *)"reset.quiet",      (char const   *)"sendemail.aliasesFile",      (char const   *)"sendemail.aliasFileType",
        (char const   *)"sendemail.annotate",      (char const   *)"sendemail.bcc",      (char const   *)"sendemail.cc",      (char const   *)"sendemail.ccCmd",
        (char const   *)"sendemail.chainReplyTo",      (char const   *)"sendemail.confirm",      (char const   *)"sendemail.envelopeSender",      (char const   *)"sendemail.forbidSendmailVariables",
        (char const   *)"sendemail.from",      (char const   *)"sendemail.identity",      (char const   *)"sendemail.<identity>.*",      (char const   *)"sendemail.multiEdit",
        (char const   *)"sendemail.signedoffbycc",      (char const   *)"sendemail.smtpBatchSize",      (char const   *)"sendemail.smtpDomain",      (char const   *)"sendemail.smtpEncryption",
        (char const   *)"sendemail.smtpPass",      (char const   *)"sendemail.smtpReloginDelay",      (char const   *)"sendemail.smtpServer",      (char const   *)"sendemail.smtpServerOption",
        (char const   *)"sendemail.smtpServerPort",      (char const   *)"sendemail.smtpsslcertpath",      (char const   *)"sendemail.smtpUser",      (char const   *)"sendemail.suppresscc",
        (char const   *)"sendemail.suppressFrom",      (char const   *)"sendemail.thread",      (char const   *)"sendemail.to",      (char const   *)"sendemail.tocmd",
        (char const   *)"sendemail.transferEncoding",      (char const   *)"sendemail.validate",      (char const   *)"sendemail.xmailer",      (char const   *)"sequence.editor",
        (char const   *)"showBranch.default",      (char const   *)"splitIndex.maxPercentChange",      (char const   *)"splitIndex.sharedIndexExpire",      (char const   *)"ssh.variant",
        (char const   *)"stash.showIncludeUntracked",      (char const   *)"stash.showPatch",      (char const   *)"stash.showStat",      (char const   *)"stash.useBuiltin",
        (char const   *)"status.aheadBehind",      (char const   *)"status.branch",      (char const   *)"status.displayCommentPrefix",      (char const   *)"status.relativePaths",
        (char const   *)"status.renameLimit",      (char const   *)"status.renames",      (char const   *)"status.short",      (char const   *)"status.showStash",
        (char const   *)"status.showUntrackedFiles",      (char const   *)"status.submoduleSummary",      (char const   *)"submodule.active",      (char const   *)"submodule.alternateErrorStrategy",
        (char const   *)"submodule.alternateLocation",      (char const   *)"submodule.fetchJobs",      (char const   *)"submodule.<name>.active",      (char const   *)"submodule.<name>.branch",
        (char const   *)"submodule.<name>.fetchRecurseSubmodules",      (char const   *)"submodule.<name>.ignore",      (char const   *)"submodule.<name>.update",      (char const   *)"submodule.<name>.url",
        (char const   *)"submodule.recurse",      (char const   *)"tag.forceSignAnnotated",      (char const   *)"tag.gpgSign",      (char const   *)"tag.sort",
        (char const   *)"tar.umask",      (char const   *)"trace2.configParams",      (char const   *)"trace2.destinationDebug",      (char const   *)"trace2.envVars",
        (char const   *)"trace2.eventBrief",      (char const   *)"trace2.eventNesting",      (char const   *)"trace2.eventTarget",      (char const   *)"trace2.maxFiles",
        (char const   *)"trace2.normalBrief",      (char const   *)"trace2.normalTarget",      (char const   *)"trace2.perfBrief",      (char const   *)"trace2.perfTarget",
        (char const   *)"transfer.advertiseSID",      (char const   *)"transfer.fsckObjects",      (char const   *)"transfer.hideRefs",      (char const   *)"transfer.unpackLimit",
        (char const   *)"uploadarchive.allowUnreachable",      (char const   *)"uploadpack.allowAnySHA1InWant",      (char const   *)"uploadpack.allowFilter",      (char const   *)"uploadpack.allowReachableSHA1InWant",
        (char const   *)"uploadpack.allowRefInWant",      (char const   *)"uploadpack.allowTipSHA1InWant",      (char const   *)"uploadpackfilter.allow",      (char const   *)"uploadpackfilter.<filter>.allow",
        (char const   *)"uploadpackfilter.tree.maxDepth",      (char const   *)"uploadpack.hideRefs",      (char const   *)"uploadpack.keepAlive",      (char const   *)"uploadpack.packObjectsHook",
        (char const   *)"url.<base>.insteadOf",      (char const   *)"url.<base>.pushInsteadOf",      (char const   *)"user.email",      (char const   *)"user.name",
        (char const   *)"user.signingKey",      (char const   *)"user.useConfigOnly",      (char const   *)"versionsort.suffix",      (char const   *)"web.browser",
        (char const   *)"worktree.guessRemote",      (char const   *)((void *)0)};
static struct man_viewer_list *man_viewer_list  ;
static struct man_viewer_info_list *man_viewer_info_list  ;
static enum help_action cmd_mode  ;
static char const   *html_path  ;
static int verbose___5  =    1;
static enum help_format help_format  =    (enum help_format )0;
static int exclude_guides  ;
static struct option builtin_help_options[11]  =
  {      {(enum parse_opt_type )8, 'a', (char const   *)"all", (void *)(& cmd_mode), (char const   *)((void *)0),
      (char const   *)"print all available commands", (enum parse_opt_option_flags )2054,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"exclude-guides", (void *)(& exclude_guides),
      (char const   *)((void *)0), (char const   *)"exclude guides", (enum parse_opt_option_flags )10,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'm', (char const   *)"man", (void *)(& help_format),
      (char const   *)((void *)0), (char const   *)"show man page", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'w', (char const   *)"web", (void *)(& help_format),
      (char const   *)((void *)0), (char const   *)"show manual in web browser", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )3, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'i', (char const   *)"info", (void *)(& help_format),
      (char const   *)((void *)0), (char const   *)"show info page", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )2, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )7, 'v', (char const   *)"verbose", (void *)(& verbose___5),
      (char const   *)((void *)0), (char const   *)"print command description", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'g', (char const   *)"guides", (void *)(& cmd_mode),
      (char const   *)((void *)0), (char const   *)"print list of useful guides",
      (enum parse_opt_option_flags )2054, (parse_opt_cb *)((void *)0), (intptr_t )2,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'c', (char const   *)"config", (void *)(& cmd_mode),
      (char const   *)((void *)0), (char const   *)"print all configuration variable names",
      (enum parse_opt_option_flags )2054, (parse_opt_cb *)((void *)0), (intptr_t )3,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"config-for-completion", (void *)(& cmd_mode),
      (char const   *)((void *)0), (char const   *)"", (enum parse_opt_option_flags )2062,
      (parse_opt_cb *)((void *)0), (intptr_t )4, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"config-sections-for-completion",
      (void *)(& cmd_mode), (char const   *)((void *)0), (char const   *)"", (enum parse_opt_option_flags )2062,
      (parse_opt_cb *)((void *)0), (intptr_t )5, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static char const   *builtin_help_usage[4]  = {      (char const   *)"git help [-a|--all] [--[no-]verbose]]\n         [[-i|--info] [-m|--man] [-w|--web]] [<command>]",      (char const   *)"git help [-g|--guides]",      (char const   *)"git help [-c|--config]",      (char const   *)((void *)0)};
static void list_config_help(enum show_config_type type___0 )
{
  struct slot_expansion slot_expansions[11] ;
  char const   **p___0 ;
  struct slot_expansion *e ;
  struct string_list keys ;
  struct string_list keys_uniq ;
  struct string_list_item *item___0 ;
  int i ;
  char const   *var ;
  struct strbuf sb___6 ;
  int tmp ;
  char const   *var___0 ;
  char const   *wildcard ;
  char const   *tag ;
  char const   *cut ;
  char const   *dot ;
  struct strbuf sb___7 ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  slot_expansions[0].prefix = (char const   *)"advice";
  slot_expansions[0].placeholder = (char const   *)"*";
  slot_expansions[0].fn = & list_config_advices;
  slot_expansions[0].found = 0;
  slot_expansions[1].prefix = (char const   *)"color.branch";
  slot_expansions[1].placeholder = (char const   *)"<slot>";
  slot_expansions[1].fn = & list_config_color_branch_slots;
  slot_expansions[1].found = 0;
  slot_expansions[2].prefix = (char const   *)"color.decorate";
  slot_expansions[2].placeholder = (char const   *)"<slot>";
  slot_expansions[2].fn = & list_config_color_decorate_slots;
  slot_expansions[2].found = 0;
  slot_expansions[3].prefix = (char const   *)"color.diff";
  slot_expansions[3].placeholder = (char const   *)"<slot>";
  slot_expansions[3].fn = & list_config_color_diff_slots;
  slot_expansions[3].found = 0;
  slot_expansions[4].prefix = (char const   *)"color.grep";
  slot_expansions[4].placeholder = (char const   *)"<slot>";
  slot_expansions[4].fn = & list_config_color_grep_slots;
  slot_expansions[4].found = 0;
  slot_expansions[5].prefix = (char const   *)"color.interactive";
  slot_expansions[5].placeholder = (char const   *)"<slot>";
  slot_expansions[5].fn = & list_config_color_interactive_slots;
  slot_expansions[5].found = 0;
  slot_expansions[6].prefix = (char const   *)"color.remote";
  slot_expansions[6].placeholder = (char const   *)"<slot>";
  slot_expansions[6].fn = & list_config_color_sideband_slots;
  slot_expansions[6].found = 0;
  slot_expansions[7].prefix = (char const   *)"color.status";
  slot_expansions[7].placeholder = (char const   *)"<slot>";
  slot_expansions[7].fn = & list_config_color_status_slots;
  slot_expansions[7].found = 0;
  slot_expansions[8].prefix = (char const   *)"fsck";
  slot_expansions[8].placeholder = (char const   *)"<msg-id>";
  slot_expansions[8].fn = & list_config_fsck_msg_ids;
  slot_expansions[8].found = 0;
  slot_expansions[9].prefix = (char const   *)"receive.fsck";
  slot_expansions[9].placeholder = (char const   *)"<msg-id>";
  slot_expansions[9].fn = & list_config_fsck_msg_ids;
  slot_expansions[9].found = 0;
  slot_expansions[10].prefix = (char const   *)((void *)0);
  slot_expansions[10].placeholder = (char const   *)((void *)0);
  slot_expansions[10].fn = (void (*)(struct string_list *list , char const   *prefix ))((void *)0);
  slot_expansions[10].found = 0;
  keys.items = (struct string_list_item *)0;
  keys.nr = 0U;
  keys.alloc = 0U;
  keys.strdup_strings = 1U;
  keys.cmp = (int (*)(char const   * , char const   * ))0;
  keys_uniq.items = (struct string_list_item *)0;
  keys_uniq.nr = 0U;
  keys_uniq.alloc = 0U;
  keys_uniq.strdup_strings = 1U;
  keys_uniq.cmp = (int (*)(char const   * , char const   * ))0;
  p___0 = config_name_list;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    var = *p___0;
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    e = slot_expansions;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! e->prefix) {
        goto while_break___0;
      }
      strbuf_setlen___33(& sb___6, (size_t )0);
      strbuf_addf(& sb___6, (char const   *)"%s.%s", e->prefix, e->placeholder);
      tmp = strcasecmp(var, (char const   *)sb___6.buf);
      if (! tmp) {
        (*(e->fn))(& keys, e->prefix);
        (e->found) ++;
        goto while_break___0;
      }
      e ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    strbuf_release(& sb___6);
    if (! e->prefix) {
      string_list_append(& keys, var);
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  e = slot_expansions;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! e->prefix) {
      goto while_break___1;
    }
    if (! e->found) {
      BUG_fl((char const   *)"builtin/help.c", 136, (char const   *)"slot_expansion %s.%s is not used",
             e->prefix, e->placeholder);
    }
    e ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  string_list_sort(& keys);
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((unsigned int )i < keys.nr)) {
      goto while_break___2;
    }
    var___0 = (char const   *)(keys.items + i)->string;
    dot = (char const   *)((void *)0);
    sb___7.alloc = 0UL;
    sb___7.len = 0UL;
    sb___7.buf = strbuf_slopbuf;
    {
    if ((unsigned int )type___0 == 0U) {
      goto case_0;
    }
    if ((unsigned int )type___0 == 2U) {
      goto case_2;
    }
    if ((unsigned int )type___0 == 1U) {
      goto case_1;
    }
    goto switch_break;
    case_0: /* CIL Label */
    puts(var___0);
    goto __Cont;
    case_2: /* CIL Label */
    tmp___0 = strchr(var___0, '.');
    dot = (char const   *)tmp___0;
    goto switch_break;
    case_1: /* CIL Label */
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    tmp___1 = strchr(var___0, '*');
    wildcard = (char const   *)tmp___1;
    tmp___2 = strchr(var___0, '<');
    tag = (char const   *)tmp___2;
    if (! dot) {
      if (! wildcard) {
        if (! tag) {
          string_list_append(& keys_uniq, var___0);
          goto __Cont;
        }
      }
    }
    if (dot) {
      cut = dot;
    } else
    if (wildcard) {
      if (! tag) {
        cut = wildcard;
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if (! wildcard) {
      if (tag) {
        cut = tag;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if ((unsigned long )wildcard < (unsigned long )tag) {
      cut = wildcard;
    } else {
      cut = tag;
    }
    strbuf_add(& sb___7, (void const   *)var___0, (size_t )(cut - var___0));
    string_list_append(& keys_uniq, (char const   *)sb___7.buf);
    strbuf_release(& sb___7);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  string_list_clear(& keys, 0);
  string_list_remove_duplicates(& keys_uniq, 0);
  item___0 = keys_uniq.items;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(keys_uniq.items + keys_uniq.nr))) {
        goto while_break___3;
      }
    } else {
      goto while_break___3;
    }
    puts((char const   *)item___0->string);
    item___0 ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  string_list_clear(& keys_uniq, 0);
  return;
}
}
static enum help_format parse_help_format(char const   *format___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  tmp = strcmp(format___0, (char const   *)"man");
  if (! tmp) {
    return ((enum help_format )1);
  }
  tmp___0 = strcmp(format___0, (char const   *)"info");
  if (! tmp___0) {
    return ((enum help_format )2);
  }
  tmp___1 = strcmp(format___0, (char const   *)"web");
  if (tmp___1) {
    tmp___2 = strcmp(format___0, (char const   *)"html");
    if (! tmp___2) {
      return ((enum help_format )3);
    }
  } else {
    return ((enum help_format )3);
  }
  tmp___3 = _((char const   *)"unrecognized help format \'%s\'");
  die((char const   *)tmp___3, format___0);
}
}
static char const   *get_man_viewer_info(char const   *name___0 )
{
  struct man_viewer_info_list *viewer ;
  int tmp ;

  {
  viewer = man_viewer_info_list;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! viewer) {
      goto while_break;
    }
    tmp = strcasecmp(name___0, (char const   *)(viewer->name));
    if (! tmp) {
      return (viewer->info);
    }
    viewer = viewer->next;
  }
  while_break: /* CIL Label */ ;
  }
  return ((char const   *)((void *)0));
}
}
static int check_emacsclient_version(void)
{
  struct strbuf buffer___5 ;
  struct child_process ec_process ;
  int version___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  size_t tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;

  {
  buffer___5.alloc = 0UL;
  buffer___5.len = 0UL;
  buffer___5.buf = strbuf_slopbuf;
  ec_process.args.v = empty_strvec;
  ec_process.args.nr = 0UL;
  ec_process.args.alloc = 0UL;
  ec_process.env_array.v = empty_strvec;
  ec_process.env_array.nr = 0UL;
  ec_process.env_array.alloc = 0UL;
  ec_process.pid = 0;
  ec_process.trace2_child_id = 0;
  ec_process.trace2_child_us_start = 0UL;
  ec_process.trace2_child_class = (char const   *)0;
  ec_process.trace2_hook_name = (char const   *)0;
  ec_process.in = 0;
  ec_process.out = 0;
  ec_process.err = 0;
  ec_process.dir = (char const   *)0;
  ec_process.no_stdin = 0U;
  ec_process.no_stdout = 0U;
  ec_process.no_stderr = 0U;
  ec_process.git_cmd = 0U;
  ec_process.silent_exec_failure = 0U;
  ec_process.use_shell = 0U;
  ec_process.close_object_store = 0U;
  ec_process.stdout_to_stderr = 0U;
  ec_process.clean_on_exit = 0U;
  ec_process.wait_after_clean = 0U;
  ec_process.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  ec_process.clean_on_exit_handler_cbdata = (void *)0;
  strvec_pushl(& ec_process.args, "emacsclient", "--version", (void *)0);
  ec_process.err = -1;
  ec_process.stdout_to_stderr = 1U;
  tmp___1 = start_command(& ec_process);
  if (tmp___1) {
    tmp = _((char const   *)"Failed to start emacsclient.");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  strbuf_read(& buffer___5, ec_process.err, (size_t )20);
  close(ec_process.err);
  finish_command(& ec_process);
  tmp___4 = starts_with((char const   *)buffer___5.buf, (char const   *)"emacsclient");
  if (! tmp___4) {
    strbuf_release(& buffer___5);
    tmp___2 = _((char const   *)"Failed to parse emacsclient version.");
    error((char const   *)tmp___2);
    tmp___3 = const_error();
    return (tmp___3);
  }
  tmp___5 = strlen((char const   *)"emacsclient");
  strbuf_remove(& buffer___5, (size_t )0, tmp___5);
  version___0 = atoi((char const   *)buffer___5.buf);
  if (version___0 < 22) {
    strbuf_release(& buffer___5);
    tmp___6 = _((char const   *)"emacsclient version \'%d\' too old (< 22).");
    error((char const   *)tmp___6, version___0);
    tmp___7 = const_error();
    return (tmp___7);
  }
  strbuf_release(& buffer___5);
  return (0);
}
}
static void exec_woman_emacs(char const   *path___6 , char const   *page )
{
  struct strbuf man_page ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  tmp___0 = check_emacsclient_version();
  if (! tmp___0) {
    man_page.alloc = 0UL;
    man_page.len = 0UL;
    man_page.buf = strbuf_slopbuf;
    if (! path___6) {
      path___6 = (char const   *)"emacsclient";
    }
    strbuf_addf(& man_page, (char const   *)"(woman \"%s\")", page);
    execlp(path___6, (char const   *)"emacsclient", "-e", man_page.buf, (char *)((void *)0));
    tmp = _((char const   *)"failed to exec \'%s\'");
    warning_errno((char const   *)tmp, path___6);
    strbuf_release(& man_page);
  }
  return;
}
}
static void exec_man_konqueror(char const   *path___6 , char const   *page )
{
  char const   *display___0 ;
  char *tmp ;
  struct strbuf man_page ;
  char const   *filename___0 ;
  size_t len___0 ;
  char *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  tmp = getenv((char const   *)"DISPLAY");
  display___0 = (char const   *)tmp;
  if (display___0) {
    if (*display___0) {
      man_page.alloc = 0UL;
      man_page.len = 0UL;
      man_page.buf = strbuf_slopbuf;
      filename___0 = (char const   *)"kfmclient";
      if (path___6) {
        tmp___1 = strip_suffix(path___6, (char const   *)"/konqueror", & len___0);
        if (tmp___1) {
          tmp___0 = xstrfmt((char const   *)"%.*s/kfmclient", (int )len___0, path___6);
          path___6 = (char const   *)tmp___0;
        }
        tmp___2 = __xpg_basename((char *)path___6);
        filename___0 = (char const   *)tmp___2;
      } else {
        path___6 = (char const   *)"kfmclient";
      }
      strbuf_addf(& man_page, (char const   *)"man:%s(1)", page);
      execlp(path___6, filename___0, "newTab", man_page.buf, (char *)((void *)0));
      tmp___3 = _((char const   *)"failed to exec \'%s\'");
      warning_errno((char const   *)tmp___3, path___6);
      strbuf_release(& man_page);
    }
  }
  return;
}
}
static void exec_man_man(char const   *path___6 , char const   *page )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if (! path___6) {
    path___6 = (char const   *)"man";
  }
  execlp(path___6, (char const   *)"man", page, (char *)((void *)0));
  tmp = _((char const   *)"failed to exec \'%s\'");
  warning_errno((char const   *)tmp, path___6);
  return;
}
}
static void exec_man_cmd(char const   *cmd , char const   *page )
{
  struct strbuf shell_cmd ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  shell_cmd.alloc = 0UL;
  shell_cmd.len = 0UL;
  shell_cmd.buf = strbuf_slopbuf;
  strbuf_addf(& shell_cmd, (char const   *)"%s %s", cmd, page);
  execl((char const   *)"/bin/sh", (char const   *)"/bin/sh", "-c", shell_cmd.buf,
        (char *)((void *)0));
  tmp = _((char const   *)"failed to exec \'%s\'");
  warning((char const   *)tmp, cmd);
  strbuf_release(& shell_cmd);
  return;
}
}
static void add_man_viewer(char const   *name___0 )
{
  struct man_viewer_list **p___0 ;
  size_t flex_array_len_ ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;

  {
  p___0 = & man_viewer_list;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    p___0 = & (*p___0)->next;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp = strlen(name___0);
    flex_array_len_ = tmp;
    tmp___0 = st_add(sizeof(*(*p___0)), flex_array_len_);
    tmp___1 = st_add(tmp___0, (size_t )1);
    tmp___2 = xcalloc((size_t )1, tmp___1);
    *p___0 = (struct man_viewer_list *)tmp___2;
    memcpy((void *)((*p___0)->name), (void const   *)name___0, flex_array_len_);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static int supported_man_viewer(char const   *name___0 , size_t len___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = strncasecmp((char const   *)"man", name___0, len___0);
  if (tmp) {
    tmp___0 = strncasecmp((char const   *)"woman", name___0, len___0);
    if (tmp___0) {
      tmp___1 = strncasecmp((char const   *)"konqueror", name___0, len___0);
      if (tmp___1) {
        tmp___2 = 0;
      } else {
        tmp___2 = 1;
      }
    } else {
      tmp___2 = 1;
    }
  } else {
    tmp___2 = 1;
  }
  return (tmp___2);
}
}
static void do_add_man_viewer_info(char const   *name___0 , size_t len___0 , char const   *value )
{
  struct man_viewer_info_list *new_man_viewer ;
  size_t flex_array_len_ ;
  size_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  char *tmp___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    flex_array_len_ = len___0;
    tmp = st_add(sizeof(*new_man_viewer), flex_array_len_);
    tmp___0 = st_add(tmp, (size_t )1);
    tmp___1 = xcalloc((size_t )1, tmp___0);
    new_man_viewer = (struct man_viewer_info_list *)tmp___1;
    memcpy((void *)(new_man_viewer->name), (void const   *)name___0, flex_array_len_);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = xstrdup(value);
  new_man_viewer->info = (char const   *)tmp___2;
  new_man_viewer->next = man_viewer_info_list;
  man_viewer_info_list = new_man_viewer;
  return;
}
}
static int add_man_viewer_path(char const   *name___0 , size_t len___0 , char const   *value )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  tmp___0 = supported_man_viewer(name___0, len___0);
  if (tmp___0) {
    do_add_man_viewer_info(name___0, len___0, value);
  } else {
    tmp = _((char const   *)"\'%s\': path for unsupported man viewer.\nPlease consider using \'man.<tool>.cmd\' instead.");
    warning((char const   *)tmp, name___0);
  }
  return (0);
}
}
static int add_man_viewer_cmd(char const   *name___0 , size_t len___0 , char const   *value )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  tmp___0 = supported_man_viewer(name___0, len___0);
  if (tmp___0) {
    tmp = _((char const   *)"\'%s\': cmd for supported man viewer.\nPlease consider using \'man.<tool>.path\' instead.");
    warning((char const   *)tmp, name___0);
  } else {
    do_add_man_viewer_info(name___0, len___0, value);
  }
  return (0);
}
}
static int add_man_viewer_info(char const   *var , char const   *value )
{
  char const   *name___0 ;
  char const   *subkey ;
  size_t namelen ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = parse_config_key(var, (char const   *)"man", & name___0, & namelen, & subkey);
  if (tmp < 0) {
    return (0);
  } else
  if (! name___0) {
    return (0);
  }
  tmp___2 = strcmp(subkey, (char const   *)"path");
  if (! tmp___2) {
    if (! value) {
      config_error_nonbool(var);
      tmp___0 = const_error();
      return (tmp___0);
    }
    tmp___1 = add_man_viewer_path(name___0, namelen, value);
    return (tmp___1);
  }
  tmp___5 = strcmp(subkey, (char const   *)"cmd");
  if (! tmp___5) {
    if (! value) {
      config_error_nonbool(var);
      tmp___3 = const_error();
      return (tmp___3);
    }
    tmp___4 = add_man_viewer_cmd(name___0, namelen, value);
    return (tmp___4);
  }
  return (0);
}
}
static int git_help_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  tmp___0 = strcmp(var, (char const   *)"help.format");
  if (! tmp___0) {
    if (! value) {
      config_error_nonbool(var);
      tmp = const_error();
      return (tmp);
    }
    help_format = parse_help_format(value);
    return (0);
  }
  tmp___3 = strcmp(var, (char const   *)"help.htmlpath");
  if (! tmp___3) {
    if (! value) {
      config_error_nonbool(var);
      tmp___1 = const_error();
      return (tmp___1);
    }
    tmp___2 = xstrdup(value);
    html_path = (char const   *)tmp___2;
    return (0);
  }
  tmp___5 = strcmp(var, (char const   *)"man.viewer");
  if (! tmp___5) {
    if (! value) {
      config_error_nonbool(var);
      tmp___4 = const_error();
      return (tmp___4);
    }
    add_man_viewer(value);
    return (0);
  }
  tmp___7 = starts_with(var, (char const   *)"man.");
  if (tmp___7) {
    tmp___6 = add_man_viewer_info(var, value);
    return (tmp___6);
  }
  tmp___8 = git_default_config(var, value, cb);
  return (tmp___8);
}
}
static struct cmdnames main_cmds  ;
static struct cmdnames other_cmds  ;
static int is_git_command(char const   *s___1 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = is_builtin(s___1);
  if (tmp) {
    return (1);
  }
  load_command_list((char const   *)"git-", & main_cmds, & other_cmds);
  tmp___0 = is_in_cmdlist(& main_cmds, s___1);
  if (tmp___0) {
    tmp___2 = 1;
  } else {
    tmp___1 = is_in_cmdlist(& other_cmds, s___1);
    if (tmp___1) {
      tmp___2 = 1;
    } else {
      tmp___2 = 0;
    }
  }
  return (tmp___2);
}
}
static char const   *cmd_to_page(char const   *git_cmd )
{
  char *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (! git_cmd) {
    return ((char const   *)"git");
  } else {
    tmp___2 = starts_with(git_cmd, (char const   *)"git");
    if (tmp___2) {
      return (git_cmd);
    } else {
      tmp___1 = is_git_command(git_cmd);
      if (tmp___1) {
        tmp = xstrfmt((char const   *)"git-%s", git_cmd);
        return ((char const   *)tmp);
      } else {
        tmp___0 = xstrfmt((char const   *)"git%s", git_cmd);
        return ((char const   *)tmp___0);
      }
    }
  }
}
}
static void setup_man_path(void)
{
  struct strbuf new_path___0 ;
  char const   *old_path ;
  char *tmp ;
  char *git_man_path ;
  char *tmp___0 ;

  {
  new_path___0.alloc = 0UL;
  new_path___0.len = 0UL;
  new_path___0.buf = strbuf_slopbuf;
  tmp = getenv((char const   *)"MANPATH");
  old_path = (char const   *)tmp;
  tmp___0 = system_path((char const   *)"share/man");
  git_man_path = tmp___0;
  strbuf_addstr(& new_path___0, (char const   *)git_man_path);
  strbuf_addch(& new_path___0, ':');
  if (old_path) {
    strbuf_addstr(& new_path___0, old_path);
  }
  free((void *)git_man_path);
  setenv((char const   *)"MANPATH", (char const   *)new_path___0.buf, 1);
  strbuf_release(& new_path___0);
  return;
}
}
static void exec_viewer(char const   *name___0 , char const   *page )
{
  char const   *info___0 ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = get_man_viewer_info(name___0);
  info___0 = tmp;
  tmp___3 = strcasecmp(name___0, (char const   *)"man");
  if (tmp___3) {
    tmp___2 = strcasecmp(name___0, (char const   *)"woman");
    if (tmp___2) {
      tmp___1 = strcasecmp(name___0, (char const   *)"konqueror");
      if (tmp___1) {
        if (info___0) {
          exec_man_cmd(info___0, page);
        } else {
          tmp___0 = _((char const   *)"\'%s\': unknown man viewer.");
          warning((char const   *)tmp___0, name___0);
        }
      } else {
        exec_man_konqueror(info___0, page);
      }
    } else {
      exec_woman_emacs(info___0, page);
    }
  } else {
    exec_man_man(info___0, page);
  }
  return;
}
}
static void show_man_page(char const   *page )
{
  struct man_viewer_list *viewer ;
  char const   *fallback___0 ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  tmp = getenv((char const   *)"GIT_MAN_VIEWER");
  fallback___0 = (char const   *)tmp;
  setup_man_path();
  viewer = man_viewer_list;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! viewer) {
      goto while_break;
    }
    exec_viewer((char const   *)(viewer->name), page);
    viewer = viewer->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (fallback___0) {
    exec_viewer(fallback___0, page);
  }
  exec_viewer((char const   *)"man", page);
  tmp___0 = _((char const   *)"no man viewer handled the request");
  die((char const   *)tmp___0);
}
}
static void show_info_page(char const   *page )
{
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  tmp = system_path((char const   *)"share/info");
  setenv((char const   *)"INFOPATH", (char const   *)tmp, 1);
  execlp((char const   *)"info", (char const   *)"info", "gitman", page, (char *)((void *)0));
  tmp___0 = _((char const   *)"no info viewer handled the request");
  die((char const   *)tmp___0);
}
}
static void get_html_page_path(struct strbuf *page_path , char const   *page )
{
  struct stat st ;
  char *to_free ;
  char const   *tmp ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  to_free = (char *)((void *)0);
  if (! html_path) {
    to_free = system_path((char const   *)"share/doc/git");
    html_path = (char const   *)to_free;
  }
  tmp___1 = strstr(html_path, (char const   *)"://");
  if (! tmp___1) {
    tmp = mkpath((char const   *)"%s/%s.html", html_path, page);
    tmp___0 = stat(tmp, & st);
    if (tmp___0) {
      die((char const   *)"\'%s/%s.html\': documentation file not found.", html_path,
          page);
    } else
    if (! ((st.st_mode & 61440U) == 32768U)) {
      die((char const   *)"\'%s/%s.html\': documentation file not found.", html_path,
          page);
    }
  }
  strbuf_init(page_path, (size_t )0);
  strbuf_addf(page_path, (char const   *)"%s/%s.html", html_path, page);
  free((void *)to_free);
  return;
}
}
static void open_html(char const   *path___6 )
{


  {
  execl_git_cmd((char const   *)"web--browse", "-c", "help.browser", path___6, (char *)((void *)0));
  return;
}
}
static void show_html_page(char const   *page )
{
  struct strbuf page_path ;

  {
  get_html_page_path(& page_path, page);
  open_html((char const   *)page_path.buf);
  return;
}
}
static char const   *check_git_cmd(char const   *cmd )
{
  char *alias ;
  int tmp ;
  char const   **argv___0 ;
  int count___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const   *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const   *tmp___5 ;

  {
  tmp = is_git_command(cmd);
  if (tmp) {
    return (cmd);
  }
  alias = alias_lookup(cmd);
  if (alias) {
    if (! exclude_guides) {
      tmp___0 = _((char const   *)"\'%s\' is aliased to \'%s\'");
      printf_ln((char const   *)tmp___0, cmd, alias);
      free((void *)alias);
      tmp___1 = trace2_cmd_exit_fl((char const   *)"builtin/help.c", 552, 0);
      exit(tmp___1);
    } else
    if ((int )*(alias + 0) == 33) {
      tmp___0 = _((char const   *)"\'%s\' is aliased to \'%s\'");
      printf_ln((char const   *)tmp___0, cmd, alias);
      free((void *)alias);
      tmp___1 = trace2_cmd_exit_fl((char const   *)"builtin/help.c", 552, 0);
      exit(tmp___1);
    }
    tmp___2 = _((char const   *)"\'%s\' is aliased to \'%s\'");
    fprintf_ln(stderr, (char const   *)tmp___2, cmd, alias);
    count___0 = split_cmdline(alias, & argv___0);
    if (count___0 < 0) {
      tmp___3 = split_cmdline_strerror(count___0);
      tmp___4 = _((char const   *)"bad alias.%s string: %s");
      die((char const   *)tmp___4, cmd, tmp___3);
    }
    free((void *)argv___0);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    return ((char const   *)alias);
  }
  if (exclude_guides) {
    tmp___5 = help_unknown_cmd(cmd);
    return (tmp___5);
  }
  return (cmd);
}
}
static void no_extra_argc(int argc )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if (argc) {
    tmp = _((char const   *)"this option doesn\'t take any other arguments");
    usage_msg_opt((char const   *)tmp, builtin_help_usage, (struct option  const  *)(builtin_help_options));
  }
  return;
}
}
int cmd_help(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int nongit ;
  enum help_format parsed_help_format ;
  char const   *page ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;

  {
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(builtin_help_options),
                       builtin_help_usage, (enum parse_opt_flags )0);
  parsed_help_format = help_format;
  {
  if ((unsigned int )cmd_mode == 1U) {
    goto case_1;
  }
  if ((unsigned int )cmd_mode == 2U) {
    goto case_2;
  }
  if ((unsigned int )cmd_mode == 4U) {
    goto case_4;
  }
  if ((unsigned int )cmd_mode == 5U) {
    goto case_5;
  }
  if ((unsigned int )cmd_mode == 3U) {
    goto case_3;
  }
  goto switch_break;
  case_1: /* CIL Label */
  if (verbose___5) {
    setup_pager();
    list_all_cmds_help();
    return (0);
  }
  tmp = _(git_usage_string);
  tmp___0 = _((char const   *)"usage: %s%s");
  printf((char const   *)tmp___0, tmp, "\n\n");
  load_command_list((char const   *)"git-", & main_cmds, & other_cmds);
  list_commands(& main_cmds, & other_cmds);
  tmp___1 = _(git_more_info_string);
  printf((char const   *)"%s\n", tmp___1);
  goto switch_break;
  case_2: /* CIL Label */
  no_extra_argc(argc);
  list_guides_help();
  tmp___2 = _(git_more_info_string);
  printf((char const   *)"%s\n", tmp___2);
  return (0);
  case_4: /* CIL Label */
  no_extra_argc(argc);
  list_config_help((enum show_config_type )1);
  return (0);
  case_5: /* CIL Label */
  no_extra_argc(argc);
  list_config_help((enum show_config_type )2);
  return (0);
  case_3: /* CIL Label */
  no_extra_argc(argc);
  setup_pager();
  list_config_help((enum show_config_type )0);
  tmp___3 = _((char const   *)"\'git help config\' for more information");
  printf((char const   *)"\n%s\n", tmp___3);
  return (0);
  switch_break: /* CIL Label */ ;
  }
  if (! *(argv___0 + 0)) {
    tmp___4 = _(git_usage_string);
    tmp___5 = _((char const   *)"usage: %s%s");
    printf((char const   *)tmp___5, tmp___4, "\n\n");
    list_common_cmds_help();
    tmp___6 = _(git_more_info_string);
    printf((char const   *)"\n%s\n", tmp___6);
    return (0);
  }
  setup_git_directory_gently(& nongit);
  git_config(& git_help_config, (void *)0);
  if ((unsigned int )parsed_help_format != 0U) {
    help_format = parsed_help_format;
  }
  if ((unsigned int )help_format == 0U) {
    help_format = parse_help_format((char const   *)"man");
  }
  *(argv___0 + 0) = check_git_cmd(*(argv___0 + 0));
  page = cmd_to_page(*(argv___0 + 0));
  {
  if ((unsigned int )help_format == 1U) {
    goto case_1___0;
  }
  if ((unsigned int )help_format == 0U) {
    goto case_1___0;
  }
  if ((unsigned int )help_format == 2U) {
    goto case_2___0;
  }
  if ((unsigned int )help_format == 3U) {
    goto case_3___0;
  }
  goto switch_break___0;
  case_1___0: /* CIL Label */
  case_0: /* CIL Label */
  show_man_page(page);
  goto switch_break___0;
  case_2___0: /* CIL Label */
  show_info_page(page);
  goto switch_break___0;
  case_3___0: /* CIL Label */
  show_html_page(page);
  goto switch_break___0;
  switch_break___0: /* CIL Label */ ;
  }
  return (0);
}
}
static double const   __ac_HASH_UPPER___129  =    (double const   )0.77;
__inline static void kh_resize_oid_set___129(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___129(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___129 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___129 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___129(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___129(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___129(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___129(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___129(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___129(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___129 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___129 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___129(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___129(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___129(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___129(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___129(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___129(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___129 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___129 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___129(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___129(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___129(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___129(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___96(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___96(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___129 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___129 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___96(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___96(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___96(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___96(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   index_pack_usage[154]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'i',      (char const   )'n',      (char const   )'d',      (char const   )'e',
        (char const   )'x',      (char const   )'-',      (char const   )'p',      (char const   )'a',
        (char const   )'c',      (char const   )'k',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'v',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'o',      (char const   )' ',
        (char const   )'<',      (char const   )'i',      (char const   )'n',      (char const   )'d',
        (char const   )'e',      (char const   )'x',      (char const   )'-',      (char const   )'f',
        (char const   )'i',      (char const   )'l',      (char const   )'e',      (char const   )'>',
        (char const   )']',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'k',      (char const   )'e',      (char const   )'e',
        (char const   )'p',      (char const   )' ',      (char const   )'|',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'k',      (char const   )'e',
        (char const   )'e',      (char const   )'p',      (char const   )'=',      (char const   )'<',
        (char const   )'m',      (char const   )'s',      (char const   )'g',      (char const   )'>',
        (char const   )']',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'[',      (char const   )'n',      (char const   )'o',
        (char const   )'-',      (char const   )']',      (char const   )'r',      (char const   )'e',
        (char const   )'v',      (char const   )'-',      (char const   )'i',      (char const   )'n',
        (char const   )'d',      (char const   )'e',      (char const   )'x',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'-',
        (char const   )'v',      (char const   )'e',      (char const   )'r',      (char const   )'i',
        (char const   )'f',      (char const   )'y',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'-',      (char const   )'s',
        (char const   )'t',      (char const   )'r',      (char const   )'i',      (char const   )'c',
        (char const   )'t',      (char const   )']',      (char const   )' ',      (char const   )'(',
        (char const   )'<',      (char const   )'p',      (char const   )'a',      (char const   )'c',
        (char const   )'k',      (char const   )'-',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )'>',      (char const   )' ',
        (char const   )'|',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'s',      (char const   )'t',      (char const   )'d',      (char const   )'i',
        (char const   )'n',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'f',      (char const   )'i',      (char const   )'x',
        (char const   )'-',      (char const   )'t',      (char const   )'h',      (char const   )'i',
        (char const   )'n',      (char const   )']',      (char const   )' ',      (char const   )'[',
        (char const   )'<',      (char const   )'p',      (char const   )'a',      (char const   )'c',
        (char const   )'k',      (char const   )'-',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )'>',      (char const   )']',
        (char const   )')',      (char const   )'\000'};
static struct list_head work_head  =    {& work_head, & work_head};
static struct list_head done_head  =    {& done_head, & done_head};
static size_t base_cache_used  ;
static size_t base_cache_limit  ;
static struct object_entry___1 *objects  ;
static struct object_stat *obj_stat  ;
static struct ofs_delta_entry *ofs_deltas  ;
static struct ref_delta_entry *ref_deltas  ;
static struct thread_local nothread_data  ;
static int nr_objects  ;
static int nr_ofs_deltas  ;
static int nr_ref_deltas  ;
static int ref_deltas_alloc  ;
static int nr_resolved_deltas  ;
static int nr_threads  ;
static int from_stdin  ;
static int strict  ;
static int do_fsck_object  ;
static struct fsck_options fsck_options___0  =
     {(int (*)(struct object *obj , enum object_type object_type , void *data , struct fsck_options *options ))0,
    & fsck_error_cb_print_missing_gitmodules, 1U, (enum fsck_msg_type *)0, {{0U, 0U,
                                                                             0U, 0U,
                                                                             (khint32_t *)0,
                                                                             (struct object_id *)0,
                                                                             (int *)0}},
    {{(khint_t )0, 0U, 0U, 0U, (khint32_t *)0, (struct object_id *)0, (int *)0}},
    {{(khint_t )0, 0U, 0U, 0U, (khint32_t *)0, (struct object_id *)0, (int *)0}},
    (kh_oid_map_t *)0};
static int verbose___6  ;
static char const   *progress_title  ;
static int show_resolving_progress  ;
static int show_stat  ;
static int check_self_contained_and_connected  ;
static struct progress *progress___2  ;
static unsigned char input_buffer[4096]  ;
static unsigned int input_offset  ;
static unsigned int input_len  ;
static off_t consumed_bytes  ;
static off_t max_input_size  ;
static unsigned int deepest_delta  ;
static git_hash_ctx input_ctx  ;
static uint32_t input_crc32  ;
static int input_fd  ;
static int output_fd  ;
static char const   *curr_pack  ;
static struct thread_local *thread_data  ;
static int nr_dispatched  ;
static int threads_active  ;
static pthread_mutex_t read_mutex  ;
static pthread_mutex_t counter_mutex  ;
static pthread_mutex_t work_mutex  ;
static pthread_mutex_t deepest_delta_mutex  ;
static pthread_key_t key___0  ;
__inline static void lock_mutex(pthread_mutex_t *mutex )
{


  {
  if (threads_active) {
    pthread_mutex_lock(mutex);
  }
  return;
}
}
__inline static void unlock_mutex(pthread_mutex_t *mutex )
{


  {
  if (threads_active) {
    pthread_mutex_unlock(mutex);
  }
  return;
}
}
static void init_thread(void)
{
  int i ;
  void *tmp ;

  {
  init_recursive_mutex(& read_mutex);
  pthread_mutex_init(& counter_mutex, (pthread_mutexattr_t const   *)((void *)0));
  pthread_mutex_init(& work_mutex, (pthread_mutexattr_t const   *)((void *)0));
  if (show_stat) {
    pthread_mutex_init(& deepest_delta_mutex, (pthread_mutexattr_t const   *)((void *)0));
  }
  pthread_key_create(& key___0, (void (*)(void * ))((void *)0));
  tmp = xcalloc((size_t )nr_threads, sizeof(*thread_data));
  thread_data = (struct thread_local *)tmp;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_threads)) {
      goto while_break;
    }
    (thread_data + i)->pack_fd = xopen(curr_pack, 00);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  threads_active = 1;
  return;
}
}
static void cleanup_thread(void)
{
  int i ;

  {
  if (! threads_active) {
    return;
  }
  threads_active = 0;
  pthread_mutex_destroy(& read_mutex);
  pthread_mutex_destroy(& counter_mutex);
  pthread_mutex_destroy(& work_mutex);
  if (show_stat) {
    pthread_mutex_destroy(& deepest_delta_mutex);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_threads)) {
      goto while_break;
    }
    close((thread_data + i)->pack_fd);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  pthread_key_delete(key___0);
  free((void *)thread_data);
  return;
}
}
static int mark_link(struct object *obj , enum object_type type___0 , void *data ,
                     struct fsck_options *options )
{
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  if (! obj) {
    return (-1);
  }
  if ((int )type___0 != 8) {
    if (obj->type != (unsigned int )type___0) {
      tmp = oid_to_hex((struct object_id  const  *)(& obj->oid));
      tmp___0 = _((char const   *)"object type mismatch at %s");
      die((char const   *)tmp___0, tmp);
    }
  }
  obj->flags |= 1u << 20;
  return (0);
}
}
static unsigned int check_object___0(struct object *obj )
{
  unsigned long size ;
  int type___0 ;
  int tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  if (! obj) {
    return (0U);
  }
  if (! (obj->flags & (1u << 20))) {
    return (0U);
  }
  if (! (obj->flags & (1u << 21))) {
    tmp = oid_object_info(the_repository, (struct object_id  const  *)(& obj->oid),
                          & size);
    type___0 = tmp;
    if (type___0 <= 0) {
      tmp___0 = oid_to_hex((struct object_id  const  *)(& obj->oid));
      tmp___1 = _((char const   *)"did not receive expected object %s");
      die((char const   *)tmp___1, tmp___0);
    }
    if ((unsigned int )type___0 != obj->type) {
      tmp___2 = type_name((unsigned int )type___0);
      tmp___3 = type_name(obj->type);
      tmp___4 = oid_to_hex((struct object_id  const  *)(& obj->oid));
      tmp___5 = _((char const   *)"object %s: expected type %s, found %s");
      die((char const   *)tmp___5, tmp___4, tmp___3, tmp___2);
    }
    obj->flags |= 1u << 21;
    return (1U);
  }
  return (0U);
}
}
static unsigned int check_objects(void)
{
  unsigned int i ;
  unsigned int max ;
  unsigned int foreign_nr ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct object *tmp___0 ;
  unsigned int tmp___1 ;

  {
  foreign_nr = 0U;
  max = get_max_object_index();
  if (verbose___6) {
    tmp = _((char const   *)"Checking objects");
    progress___2 = start_delayed_progress((char const   *)tmp, (uint64_t )max);
  }
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < max)) {
      goto while_break;
    }
    tmp___0 = get_indexed_object(i);
    tmp___1 = check_object___0(tmp___0);
    foreign_nr += tmp___1;
    display_progress(progress___2, (uint64_t )(i + 1U));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  stop_progress(& progress___2);
  return (foreign_nr);
}
}
static void flush___0(void)
{


  {
  if (input_offset) {
    if (output_fd >= 0) {
      write_or_die(output_fd, (void const   *)(input_buffer), (size_t )input_offset);
    }
    (*((the_repository->hash_algo)->update_fn))(& input_ctx, (void const   *)(input_buffer),
                                                (size_t )input_offset);
    memmove((void *)(input_buffer), (void const   *)(input_buffer + input_offset),
            (size_t )input_len);
    input_offset = 0U;
  }
  return;
}
}
static void *fill___0(int min )
{
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp ;
  ssize_t ret___67 ;
  ssize_t tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  if ((unsigned int )min <= input_len) {
    return ((void *)(input_buffer + input_offset));
  }
  if ((unsigned long )min > sizeof(input_buffer)) {
    tmp = Q_((char const   *)"cannot fill %d byte", (char const   *)"cannot fill %d bytes",
             (unsigned long )min);
    die((char const   *)tmp, min);
  }
  flush___0();
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = xread(input_fd, (void *)(input_buffer + input_len), sizeof(input_buffer) - (unsigned long )input_len);
    ret___67 = tmp___0;
    if (ret___67 <= 0L) {
      if (! ret___67) {
        tmp___1 = _((char const   *)"early EOF");
        die((char const   *)tmp___1);
      }
      tmp___2 = _((char const   *)"read error on input");
      die_errno((char const   *)tmp___2);
    }
    input_len = (unsigned int )((ssize_t )input_len + ret___67);
    if (from_stdin) {
      display_throughput(progress___2, (uint64_t )(consumed_bytes + (off_t )input_len));
    }
    if (! (input_len < (unsigned int )min)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return ((void *)(input_buffer));
}
}
static void use(int bytes )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  uLong tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  if ((unsigned int )bytes > input_len) {
    tmp = _((char const   *)"used more bytes than were available");
    die((char const   *)tmp);
  }
  tmp___0 = crc32((uLong )input_crc32, (Bytef const   *)(input_buffer + input_offset),
                  (uInt )bytes);
  input_crc32 = (uint32_t )tmp___0;
  input_len -= (unsigned int )bytes;
  input_offset += (unsigned int )bytes;
  if ((long )bytes > (9223372036854775807L >> (8UL * sizeof(intmax_t ) - 8UL * sizeof(consumed_bytes))) - consumed_bytes) {
    tmp___1 = _((char const   *)"pack too large for current definition of off_t");
    die((char const   *)tmp___1);
  }
  consumed_bytes += (off_t )bytes;
  if (max_input_size) {
    if (consumed_bytes > max_input_size) {
      tmp___2 = _((char const   *)"pack exceeds maximum allowed size");
      die((char const   *)tmp___2);
    }
  }
  return;
}
}
static char const   *open_pack_file(char const   *pack_name )
{
  struct strbuf tmp_file___0 ;
  char *tmp ;

  {
  if (from_stdin) {
    input_fd = 0;
    if (! pack_name) {
      tmp_file___0.alloc = 0UL;
      tmp_file___0.len = 0UL;
      tmp_file___0.buf = strbuf_slopbuf;
      output_fd = odb_mkstemp(& tmp_file___0, (char const   *)"pack/tmp_pack_XXXXXX");
      tmp = strbuf_detach(& tmp_file___0, (size_t *)((void *)0));
      pack_name = (char const   *)tmp;
    } else {
      output_fd = xopen(pack_name, 194, 0600);
    }
    nothread_data.pack_fd = output_fd;
  } else {
    input_fd = xopen(pack_name, 00);
    output_fd = -1;
    nothread_data.pack_fd = input_fd;
  }
  (*((the_repository->hash_algo)->init_fn))(& input_ctx);
  return (pack_name);
}
}
static void parse_pack_header(void)
{
  struct pack_header *hdr ;
  void *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  uint32_t tmp___1 ;
  uint32_t tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  uint32_t tmp___4 ;
  uint32_t tmp___5 ;
  uint32_t tmp___6 ;

  {
  tmp = fill___0((int )sizeof(struct pack_header ));
  hdr = (struct pack_header *)tmp;
  tmp___1 = git_bswap32((uint32_t )0x5041434b);
  if (hdr->hdr_signature != tmp___1) {
    tmp___0 = _((char const   *)"pack signature mismatch");
    die((char const   *)tmp___0);
  }
  tmp___4 = git_bswap32((uint32_t )2);
  if (! (hdr->hdr_version == tmp___4)) {
    tmp___5 = git_bswap32((uint32_t )3);
    if (! (hdr->hdr_version == tmp___5)) {
      tmp___2 = git_bswap32(hdr->hdr_version);
      tmp___3 = _((char const   *)"pack version %u unsupported");
      die((char const   *)tmp___3, tmp___2);
    }
  }
  tmp___6 = git_bswap32(hdr->hdr_entries);
  nr_objects = (int )tmp___6;
  use((int )sizeof(struct pack_header ));
  return;
}
}
static void ( /* format attribute */  bad_object)(off_t offset___2 , char const   *format___0
                                                  , ...)  __attribute__((__noreturn__)) ;
static void ( /* format attribute */  bad_object)(off_t offset___2 , char const   *format___0
                                                  , ...)
{
  va_list params ;
  char buf___19[1024] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  __builtin_va_start(params, format___0);
  vsnprintf(buf___19, sizeof(buf___19), format___0, params);
  __builtin_va_end(params);
  tmp = _((char const   *)"pack has bad object at offset %lu: %s");
  die((char const   *)tmp, (uintmax_t )offset___2, buf___19);
}
}
__inline static struct thread_local *get_thread_data(void)
{
  void *tmp ;
  int tmp___0 ;

  {
  if (threads_active) {
    tmp = pthread_getspecific(key___0);
    return ((struct thread_local *)tmp);
  }
  if (! threads_active) {
    if ("This should only be reached when all threads are gone") {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  assert(tmp___0);
  return (& nothread_data);
}
}
static void set_thread_data(struct thread_local *data )
{


  {
  if (threads_active) {
    pthread_setspecific(key___0, (void const   *)data);
  }
  return;
}
}
static void free_base_data(struct base_data *c___0 )
{


  {
  if (c___0->data) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      free(c___0->data);
      c___0->data = (void *)0;
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    base_cache_used -= c___0->size;
  }
  return;
}
}
static void prune_base_data(struct base_data *retain )
{
  struct list_head *pos ;
  struct base_data *b___0 ;
  struct base_data *b___1 ;

  {
  if (base_cache_used <= base_cache_limit) {
    return;
  }
  pos = done_head.prev;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )pos != (unsigned long )(& done_head))) {
      goto while_break;
    }
    b___0 = (struct base_data *)((char *)pos - (unsigned long )(& ((struct base_data *)0)->list));
    if (b___0->retain_data) {
      goto __Cont;
    } else
    if ((unsigned long )b___0 == (unsigned long )retain) {
      goto __Cont;
    }
    if (b___0->data) {
      free_base_data(b___0);
      if (base_cache_used <= base_cache_limit) {
        return;
      }
    }
    __Cont: /* CIL Label */
    pos = pos->prev;
  }
  while_break: /* CIL Label */ ;
  }
  pos = work_head.prev;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )pos != (unsigned long )(& work_head))) {
      goto while_break___0;
    }
    b___1 = (struct base_data *)((char *)pos - (unsigned long )(& ((struct base_data *)0)->list));
    if (b___1->retain_data) {
      goto __Cont___0;
    } else
    if ((unsigned long )b___1 == (unsigned long )retain) {
      goto __Cont___0;
    }
    if (b___1->data) {
      free_base_data(b___1);
      if (base_cache_used <= base_cache_limit) {
        return;
      }
    }
    __Cont___0: /* CIL Label */
    pos = pos->prev;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static int is_delta_type(enum object_type type___0 )
{
  int tmp ;

  {
  if ((int )type___0 == 7) {
    tmp = 1;
  } else
  if ((int )type___0 == 6) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static char fixed_buf[8192]  ;
static void *unpack_entry_data(off_t offset___2 , unsigned long size , enum object_type type___0 ,
                               struct object_id *oid )
{
  int status ;
  git_zstream stream ;
  void *buf___19 ;
  git_hash_ctx c___0 ;
  char hdr[32] ;
  int hdrlen ;
  char const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  unsigned char *last_out ;
  void *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  void *tmp___4 ;

  {
  tmp___1 = is_delta_type(type___0);
  if (tmp___1) {
    oid = (struct object_id *)((void *)0);
  } else {
    tmp = type_name((unsigned int )type___0);
    tmp___0 = xsnprintf(hdr, sizeof(hdr), (char const   *)"%s %lu", tmp, size);
    hdrlen = tmp___0 + 1;
    (*((the_repository->hash_algo)->init_fn))(& c___0);
    (*((the_repository->hash_algo)->update_fn))(& c___0, (void const   *)(hdr), (size_t )hdrlen);
  }
  if ((int )type___0 == 3) {
    if (size > big_file_threshold) {
      buf___19 = (void *)(fixed_buf);
    } else {
      buf___19 = xmallocz(size);
    }
  } else {
    buf___19 = xmallocz(size);
  }
  memset((void *)(& stream), 0, sizeof(stream));
  git_inflate_init(& stream);
  stream.next_out = (unsigned char *)buf___19;
  if ((unsigned long )buf___19 == (unsigned long )(fixed_buf)) {
    stream.avail_out = sizeof(fixed_buf);
  } else {
    stream.avail_out = size;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    last_out = stream.next_out;
    tmp___2 = fill___0(1);
    stream.next_in = (unsigned char *)tmp___2;
    stream.avail_in = (unsigned long )input_len;
    status = git_inflate(& stream, 0);
    use((int )((unsigned long )input_len - stream.avail_in));
    if (oid) {
      (*((the_repository->hash_algo)->update_fn))(& c___0, (void const   *)last_out,
                                                  (size_t )(stream.next_out - last_out));
    }
    if ((unsigned long )buf___19 == (unsigned long )(fixed_buf)) {
      stream.next_out = (unsigned char *)buf___19;
      stream.avail_out = sizeof(fixed_buf);
    }
    if (! (status == 0)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (stream.total_out != size) {
    tmp___3 = _((char const   *)"inflate returned %d");
    bad_object(offset___2, (char const   *)tmp___3, status);
  } else
  if (status != 1) {
    tmp___3 = _((char const   *)"inflate returned %d");
    bad_object(offset___2, (char const   *)tmp___3, status);
  }
  git_inflate_end(& stream);
  if (oid) {
    (*((the_repository->hash_algo)->final_oid_fn))(oid, & c___0);
  }
  if ((unsigned long )buf___19 == (unsigned long )(fixed_buf)) {
    tmp___4 = (void *)0;
  } else {
    tmp___4 = buf___19;
  }
  return (tmp___4);
}
}
static void *unpack_raw_entry(struct object_entry___1 *obj , off_t *ofs_offset , struct object_id *ref_oid ,
                              struct object_id *oid )
{
  unsigned char *p___0 ;
  unsigned long size ;
  unsigned long c___0 ;
  off_t base_offset ;
  unsigned int shift ;
  void *data ;
  uLong tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;
  void *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  void *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;

  {
  obj->idx.offset = consumed_bytes;
  tmp = crc32((uLong )0, (Bytef const   *)((void *)0), (uInt )0);
  input_crc32 = (uint32_t )tmp;
  tmp___0 = fill___0(1);
  p___0 = (unsigned char *)tmp___0;
  c___0 = (unsigned long )*p___0;
  use(1);
  obj->type = (signed char )((c___0 >> 4) & 7UL);
  size = c___0 & 15UL;
  shift = 4U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (c___0 & 128UL)) {
      goto while_break;
    }
    tmp___1 = fill___0(1);
    p___0 = (unsigned char *)tmp___1;
    c___0 = (unsigned long )*p___0;
    use(1);
    size += (c___0 & 127UL) << shift;
    shift += 7U;
  }
  while_break: /* CIL Label */ ;
  }
  obj->size = size;
  {
  if ((int )obj->type == 7) {
    goto case_7;
  }
  if ((int )obj->type == 6) {
    goto case_6;
  }
  if ((int )obj->type == 4) {
    goto case_4;
  }
  if ((int )obj->type == 3) {
    goto case_4;
  }
  if ((int )obj->type == 2) {
    goto case_4;
  }
  if ((int )obj->type == 1) {
    goto case_4;
  }
  goto switch_default;
  case_7: /* CIL Label */
  tmp___2 = fill___0((int )(the_repository->hash_algo)->rawsz);
  oidread(ref_oid, (unsigned char const   *)tmp___2);
  use((int )(the_repository->hash_algo)->rawsz);
  goto switch_break;
  case_6: /* CIL Label */
  tmp___3 = fill___0(1);
  p___0 = (unsigned char *)tmp___3;
  c___0 = (unsigned long )*p___0;
  use(1);
  base_offset = (off_t )(c___0 & 127UL);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (c___0 & 128UL)) {
      goto while_break___0;
    }
    base_offset ++;
    if (! base_offset) {
      tmp___4 = _((char const   *)"offset value overflow for delta base object");
      bad_object(obj->idx.offset, (char const   *)tmp___4);
    } else
    if (base_offset & (off_t )(18446744073709551615ULL << (8UL * sizeof(base_offset) - 7UL))) {
      tmp___4 = _((char const   *)"offset value overflow for delta base object");
      bad_object(obj->idx.offset, (char const   *)tmp___4);
    }
    tmp___5 = fill___0(1);
    p___0 = (unsigned char *)tmp___5;
    c___0 = (unsigned long )*p___0;
    use(1);
    base_offset = (off_t )((unsigned long )(base_offset << 7) + (c___0 & 127UL));
  }
  while_break___0: /* CIL Label */ ;
  }
  *ofs_offset = obj->idx.offset - base_offset;
  if (*ofs_offset <= 0L) {
    tmp___6 = _((char const   *)"delta base offset is out of bound");
    bad_object(obj->idx.offset, (char const   *)tmp___6);
  } else
  if (*ofs_offset >= obj->idx.offset) {
    tmp___6 = _((char const   *)"delta base offset is out of bound");
    bad_object(obj->idx.offset, (char const   *)tmp___6);
  }
  goto switch_break;
  case_4: /* CIL Label */
  case_3: /* CIL Label */
  case_2: /* CIL Label */
  case_1: /* CIL Label */
  goto switch_break;
  switch_default: /* CIL Label */
  tmp___7 = _((char const   *)"unknown object type %d");
  bad_object(obj->idx.offset, (char const   *)tmp___7, (int )obj->type);
  switch_break: /* CIL Label */ ;
  }
  obj->hdr_size = (unsigned char )(consumed_bytes - obj->idx.offset);
  data = unpack_entry_data(obj->idx.offset, obj->size, (enum object_type )obj->type,
                           oid);
  obj->idx.crc32 = input_crc32;
  return (data);
}
}
static void *unpack_data(struct object_entry___1 *obj , int (*consume)(unsigned char const   * ,
                                                                       unsigned long  ,
                                                                       void * ) ,
                         void *cb_data )
{
  off_t from___0 ;
  off_t len___0 ;
  unsigned char *data ;
  unsigned char *inbuf ;
  git_zstream stream ;
  int status ;
  unsigned long tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  void *tmp___2 ;
  ssize_t n ;
  ssize_t tmp___3 ;
  struct thread_local *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;

  {
  from___0 = (obj + 0)->idx.offset + (off_t )(obj + 0)->hdr_size;
  len___0 = (obj + 1)->idx.offset - from___0;
  if (consume) {
    tmp = 65536UL;
  } else {
    tmp = obj->size;
  }
  tmp___0 = xmallocz(tmp);
  data = (unsigned char *)tmp___0;
  if (len___0 < 65536L) {
    tmp___1 = (int )len___0;
  } else {
    tmp___1 = 65536;
  }
  tmp___2 = xmalloc((size_t )tmp___1);
  inbuf = (unsigned char *)tmp___2;
  memset((void *)(& stream), 0, sizeof(stream));
  git_inflate_init(& stream);
  stream.next_out = data;
  if (consume) {
    stream.avail_out = 65536UL;
  } else {
    stream.avail_out = obj->size;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (len___0 < 65536L) {
      tmp___3 = len___0;
    } else {
      tmp___3 = (ssize_t )65536;
    }
    n = tmp___3;
    tmp___4 = get_thread_data();
    n = xpread(tmp___4->pack_fd, (void *)inbuf, (size_t )n, from___0);
    if (n < 0L) {
      tmp___5 = _((char const   *)"cannot pread pack file");
      die_errno((char const   *)tmp___5);
    }
    if (! n) {
      tmp___6 = Q_((char const   *)"premature end of pack file, %lu byte missing",
                   (char const   *)"premature end of pack file, %lu bytes missing",
                   (unsigned long )((unsigned int )len___0));
      die((char const   *)tmp___6, (uintmax_t )len___0);
    }
    from___0 += n;
    len___0 -= n;
    stream.next_in = inbuf;
    stream.avail_in = (unsigned long )n;
    if (! consume) {
      status = git_inflate(& stream, 0);
    } else {
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        status = git_inflate(& stream, 0);
        tmp___7 = (*consume)((unsigned char const   *)data, (unsigned long )(stream.next_out - data),
                             cb_data);
        if (tmp___7) {
          free((void *)inbuf);
          free((void *)data);
          return ((void *)0);
        }
        stream.next_out = data;
        stream.avail_out = 65536UL;
        if (status == 0) {
          if (! stream.avail_in) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
      }
      while_break___0: /* CIL Label */ ;
      }
    }
    if (len___0) {
      if (status == 0) {
        if (! (! stream.avail_in)) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
    } else {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (status != 1) {
    tmp___8 = _((char const   *)"serious inflate inconsistency");
    die((char const   *)tmp___8);
  } else
  if (stream.total_out != obj->size) {
    tmp___8 = _((char const   *)"serious inflate inconsistency");
    die((char const   *)tmp___8);
  }
  git_inflate_end(& stream);
  free((void *)inbuf);
  if (consume) {
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      free((void *)data);
      data = (unsigned char *)((void *)0);
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  return ((void *)data);
}
}
static void *get_data_from_pack(struct object_entry___1 *obj )
{
  void *tmp ;

  {
  tmp = unpack_data(obj, (int (*)(unsigned char const   * , unsigned long  , void * ))((void *)0),
                    (void *)0);
  return (tmp);
}
}
static int compare_ofs_delta_bases(off_t offset1 , off_t offset2 , enum object_type type1 ,
                                   enum object_type type2 )
{
  int cmp___0 ;
  int tmp ;
  int tmp___0 ;

  {
  cmp___0 = (int )type1 - (int )type2;
  if (cmp___0) {
    return (cmp___0);
  }
  if (offset1 < offset2) {
    tmp___0 = -1;
  } else {
    if (offset1 > offset2) {
      tmp = 1;
    } else {
      tmp = 0;
    }
    tmp___0 = tmp;
  }
  return (tmp___0);
}
}
static int find_ofs_delta(off_t const   offset___2 )
{
  int first ;
  int last ;
  int next___2 ;
  struct ofs_delta_entry *delta ;
  int cmp___0 ;

  {
  first = 0;
  last = nr_ofs_deltas;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (first < last)) {
      goto while_break;
    }
    next___2 = first + (last - first) / 2;
    delta = ofs_deltas + next___2;
    cmp___0 = compare_ofs_delta_bases((off_t )offset___2, delta->offset, (enum object_type )6,
                                      (enum object_type )(objects + delta->obj_no)->type);
    if (! cmp___0) {
      return (next___2);
    }
    if (cmp___0 < 0) {
      last = next___2;
      goto while_continue;
    }
    first = next___2 + 1;
  }
  while_break: /* CIL Label */ ;
  }
  return (- first - 1);
}
}
static void find_ofs_delta_children(off_t offset___2 , int *first_index , int *last_index___0 )
{
  int first ;
  int tmp ;
  int last ;
  int end ;

  {
  tmp = find_ofs_delta((off_t const   )offset___2);
  first = tmp;
  last = first;
  end = nr_ofs_deltas - 1;
  if (first < 0) {
    *first_index = 0;
    *last_index___0 = -1;
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (first > 0) {
      if (! ((ofs_deltas + (first - 1))->offset == offset___2)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    first --;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (last < end) {
      if (! ((ofs_deltas + (last + 1))->offset == offset___2)) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    last ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  *first_index = first;
  *last_index___0 = last;
  return;
}
}
static int compare_ref_delta_bases(struct object_id  const  *oid1 , struct object_id  const  *oid2 ,
                                   enum object_type type1 , enum object_type type2 )
{
  int cmp___0 ;
  int tmp ;

  {
  cmp___0 = (int )type1 - (int )type2;
  if (cmp___0) {
    return (cmp___0);
  }
  tmp = oidcmp(oid1, oid2);
  return (tmp);
}
}
static int find_ref_delta(struct object_id  const  *oid )
{
  int first ;
  int last ;
  int next___2 ;
  struct ref_delta_entry *delta ;
  int cmp___0 ;

  {
  first = 0;
  last = nr_ref_deltas;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (first < last)) {
      goto while_break;
    }
    next___2 = first + (last - first) / 2;
    delta = ref_deltas + next___2;
    cmp___0 = compare_ref_delta_bases(oid, (struct object_id  const  *)(& delta->oid),
                                      (enum object_type )7, (enum object_type )(objects + delta->obj_no)->type);
    if (! cmp___0) {
      return (next___2);
    }
    if (cmp___0 < 0) {
      last = next___2;
      goto while_continue;
    }
    first = next___2 + 1;
  }
  while_break: /* CIL Label */ ;
  }
  return (- first - 1);
}
}
static void find_ref_delta_children(struct object_id  const  *oid , int *first_index ,
                                    int *last_index___0 )
{
  int first ;
  int tmp ;
  int last ;
  int end ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = find_ref_delta(oid);
  first = tmp;
  last = first;
  end = nr_ref_deltas - 1;
  if (first < 0) {
    *first_index = 0;
    *last_index___0 = -1;
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (first > 0) {
      tmp___0 = oideq((struct object_id  const  *)(& (ref_deltas + (first - 1))->oid),
                      oid);
      if (! tmp___0) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    first --;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (last < end) {
      tmp___1 = oideq((struct object_id  const  *)(& (ref_deltas + (last + 1))->oid),
                      oid);
      if (! tmp___1) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    last ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  *first_index = first;
  *last_index___0 = last;
  return;
}
}
static int compare_objects(unsigned char const   *buf___19 , unsigned long size ,
                           void *cb_data )
{
  struct compare_data *data ;
  void *tmp ;
  ssize_t len___0 ;
  ssize_t tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;

  {
  data = (struct compare_data *)cb_data;
  if (data->buf_size < size) {
    free((void *)data->buf);
    tmp = xmalloc(size);
    data->buf = (unsigned char *)tmp;
    data->buf_size = size;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! size) {
      goto while_break;
    }
    tmp___0 = read_istream(data->st, (void *)data->buf, size);
    len___0 = tmp___0;
    if (len___0 == 0L) {
      tmp___1 = oid_to_hex((struct object_id  const  *)(& (data->entry)->idx.oid));
      tmp___2 = _((char const   *)"SHA1 COLLISION FOUND WITH %s !");
      die((char const   *)tmp___2, tmp___1);
    }
    if (len___0 < 0L) {
      tmp___3 = oid_to_hex((struct object_id  const  *)(& (data->entry)->idx.oid));
      tmp___4 = _((char const   *)"unable to read %s");
      die((char const   *)tmp___4, tmp___3);
    }
    tmp___7 = memcmp((void const   *)buf___19, (void const   *)data->buf, (size_t )len___0);
    if (tmp___7) {
      tmp___5 = oid_to_hex((struct object_id  const  *)(& (data->entry)->idx.oid));
      tmp___6 = _((char const   *)"SHA1 COLLISION FOUND WITH %s !");
      die((char const   *)tmp___6, tmp___5);
    }
    size -= (unsigned long )len___0;
    buf___19 += len___0;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int check_collison(struct object_entry___1 *entry )
{
  struct compare_data data ;
  enum object_type type___0 ;
  unsigned long size ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  if (entry->size <= big_file_threshold) {
    return (-1);
  } else
  if ((int )entry->type != 3) {
    return (-1);
  }
  memset((void *)(& data), 0, sizeof(data));
  data.entry = entry;
  data.st = open_istream(the_repository, (struct object_id  const  *)(& entry->idx.oid),
                         & type___0, & size, (struct stream_filter *)((void *)0));
  if (! data.st) {
    return (-1);
  }
  if (size != entry->size) {
    tmp = oid_to_hex((struct object_id  const  *)(& entry->idx.oid));
    tmp___0 = _((char const   *)"SHA1 COLLISION FOUND WITH %s !");
    die((char const   *)tmp___0, tmp);
  } else
  if ((int )type___0 != (int )entry->type) {
    tmp = oid_to_hex((struct object_id  const  *)(& entry->idx.oid));
    tmp___0 = _((char const   *)"SHA1 COLLISION FOUND WITH %s !");
    die((char const   *)tmp___0, tmp);
  }
  unpack_data(entry, & compare_objects, (void *)(& data));
  close_istream(data.st);
  free((void *)data.buf);
  return (0);
}
}
static void sha1_object(void const   *data , struct object_entry___1 *obj_entry ,
                        unsigned long size , enum object_type type___0 , struct object_id  const  *oid )
{
  void *new_data___0 ;
  int collision_test_needed ;
  int tmp ;
  int tmp___0 ;
  void *has_data ;
  enum object_type has_type ;
  unsigned long has_size ;
  int tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  struct blob *blob ;
  struct blob *tmp___11 ;
  char *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  struct object *obj ;
  int eaten ;
  void *buf___19 ;
  int tmp___16 ;
  char const   *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  int tmp___20 ;
  char *tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  int tmp___23 ;
  struct tree *item___0 ;
  struct commit *commit ;
  void const   *tmp___24 ;

  {
  new_data___0 = (void *)0;
  collision_test_needed = 0;
  if (data) {
    tmp = 1;
  } else
  if (obj_entry) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  assert(tmp);
  if (startup_info->have_repository) {
    lock_mutex(& read_mutex);
    collision_test_needed = repo_has_object_file_with_flags(the_repository, oid, 8);
    unlock_mutex(& read_mutex);
  }
  if (collision_test_needed) {
    if (! data) {
      lock_mutex(& read_mutex);
      tmp___0 = check_collison(obj_entry);
      if (! tmp___0) {
        collision_test_needed = 0;
      }
      unlock_mutex(& read_mutex);
    }
  }
  if (collision_test_needed) {
    lock_mutex(& read_mutex);
    tmp___1 = oid_object_info(the_repository, oid, & has_size);
    has_type = (enum object_type )tmp___1;
    if ((int )has_type < 0) {
      tmp___2 = oid_to_hex(oid);
      tmp___3 = _((char const   *)"cannot read existing object info %s");
      die((char const   *)tmp___3, tmp___2);
    }
    if ((int )has_type != (int )type___0) {
      tmp___4 = oid_to_hex(oid);
      tmp___5 = _((char const   *)"SHA1 COLLISION FOUND WITH %s !");
      die((char const   *)tmp___5, tmp___4);
    } else
    if (has_size != size) {
      tmp___4 = oid_to_hex(oid);
      tmp___5 = _((char const   *)"SHA1 COLLISION FOUND WITH %s !");
      die((char const   *)tmp___5, tmp___4);
    }
    has_data = repo_read_object_file(the_repository, oid, & has_type, & has_size);
    unlock_mutex(& read_mutex);
    if (! data) {
      new_data___0 = get_data_from_pack(obj_entry);
      data = (void const   *)new_data___0;
    }
    if (! has_data) {
      tmp___6 = oid_to_hex(oid);
      tmp___7 = _((char const   *)"cannot read existing object %s");
      die((char const   *)tmp___7, tmp___6);
    }
    if (size != has_size) {
      tmp___8 = oid_to_hex(oid);
      tmp___9 = _((char const   *)"SHA1 COLLISION FOUND WITH %s !");
      die((char const   *)tmp___9, tmp___8);
    } else
    if ((int )type___0 != (int )has_type) {
      tmp___8 = oid_to_hex(oid);
      tmp___9 = _((char const   *)"SHA1 COLLISION FOUND WITH %s !");
      die((char const   *)tmp___9, tmp___8);
    } else {
      tmp___10 = memcmp(data, (void const   *)has_data, size);
      if (tmp___10 != 0) {
        tmp___8 = oid_to_hex(oid);
        tmp___9 = _((char const   *)"SHA1 COLLISION FOUND WITH %s !");
        die((char const   *)tmp___9, tmp___8);
      }
    }
    free(has_data);
  }
  if (strict) {
    goto _L;
  } else
  if (do_fsck_object) {
    _L: /* CIL Label */
    lock_mutex(& read_mutex);
    if ((int )type___0 == 3) {
      tmp___11 = lookup_blob(the_repository, oid);
      blob = tmp___11;
      if (blob) {
        blob->object.flags |= 1u << 21;
      } else {
        tmp___12 = oid_to_hex(oid);
        tmp___13 = _((char const   *)"invalid blob object %s");
        die((char const   *)tmp___13, tmp___12);
      }
      if (do_fsck_object) {
        tmp___15 = fsck_object(& blob->object, (void *)data, size, & fsck_options___0);
        if (tmp___15) {
          tmp___14 = _((char const   *)"fsck error in packed object");
          die((char const   *)tmp___14);
        }
      }
    } else {
      buf___19 = (void *)data;
      if (data) {
        if ("data can only be NULL for large _blobs_") {
          tmp___16 = 1;
        } else {
          tmp___16 = 0;
        }
      } else {
        tmp___16 = 0;
      }
      assert(tmp___16);
      obj = parse_object_buffer(the_repository, oid, type___0, size, buf___19, & eaten);
      if (! obj) {
        tmp___17 = type_name((unsigned int )type___0);
        tmp___18 = _((char const   *)"invalid %s");
        die((char const   *)tmp___18, tmp___17);
      }
      if (do_fsck_object) {
        tmp___20 = fsck_object(obj, buf___19, size, & fsck_options___0);
        if (tmp___20) {
          tmp___19 = _((char const   *)"fsck error in packed object");
          die((char const   *)tmp___19);
        }
      }
      if (strict) {
        tmp___23 = fsck_walk(obj, (void *)0, & fsck_options___0);
        if (tmp___23) {
          tmp___21 = oid_to_hex((struct object_id  const  *)(& obj->oid));
          tmp___22 = _((char const   *)"Not all child objects of %s are reachable");
          die((char const   *)tmp___22, tmp___21);
        }
      }
      if (obj->type == 2U) {
        item___0 = (struct tree *)obj;
        item___0->buffer = (void *)0;
        obj->parsed = 0U;
      }
      if (obj->type == 1U) {
        commit = (struct commit *)obj;
        tmp___24 = detach_commit_buffer(commit, (unsigned long *)((void *)0));
        if ((unsigned long )tmp___24 != (unsigned long )data) {
          BUG_fl((char const   *)"builtin/index-pack.c", 874, (char const   *)"parse_object_buffer transmogrified our buffer");
        }
      }
      obj->flags |= 1u << 21;
    }
    unlock_mutex(& read_mutex);
  }
  free(new_data___0);
  return;
}
}
static void *get_base_data(struct base_data *c___0 )
{
  struct object_entry___1 *obj ;
  struct base_data **delta ;
  int delta_nr ;
  int delta_alloc ;
  size_t tmp ;
  void *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  void *base ;
  void *raw ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  if (! c___0->data) {
    obj = c___0->obj;
    delta = (struct base_data **)((void *)0);
    delta_nr = 0;
    delta_alloc = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___2 = is_delta_type((enum object_type )(c___0->obj)->type);
      if (tmp___2) {
        if (! (! c___0->data)) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (delta_nr + 1 > delta_alloc) {
          if (((delta_alloc + 16) * 3) / 2 < delta_nr + 1) {
            delta_alloc = delta_nr + 1;
          } else {
            delta_alloc = ((delta_alloc + 16) * 3) / 2;
          }
          tmp = st_mult(sizeof(*delta), (size_t )delta_alloc);
          tmp___0 = xrealloc((void *)delta, tmp);
          delta = (struct base_data **)tmp___0;
        }
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
      tmp___1 = delta_nr;
      delta_nr ++;
      *(delta + tmp___1) = c___0;
      c___0 = c___0->base;
    }
    while_break: /* CIL Label */ ;
    }
    if (! delta_nr) {
      c___0->data = get_data_from_pack(obj);
      c___0->size = obj->size;
      base_cache_used += c___0->size;
      prune_base_data(c___0);
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (delta_nr > 0)) {
        goto while_break___1;
      }
      c___0 = *(delta + (delta_nr - 1));
      obj = c___0->obj;
      base = get_base_data(c___0->base);
      raw = get_data_from_pack(obj);
      c___0->data = patch_delta((void const   *)base, (c___0->base)->size, (void const   *)raw,
                                obj->size, & c___0->size);
      free(raw);
      if (! c___0->data) {
        tmp___3 = _((char const   *)"failed to apply delta");
        bad_object(obj->idx.offset, (char const   *)tmp___3);
      }
      base_cache_used += c___0->size;
      prune_base_data(c___0);
      delta_nr --;
    }
    while_break___1: /* CIL Label */ ;
    }
    free((void *)delta);
  }
  return (c___0->data);
}
}
static struct base_data *make_base(struct object_entry___1 *obj , struct base_data *parent )
{
  struct base_data *base ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(struct base_data ));
  base = (struct base_data *)tmp;
  base->base = parent;
  base->obj = obj;
  find_ref_delta_children((struct object_id  const  *)(& obj->idx.oid), & base->ref_first,
                          & base->ref_last);
  find_ofs_delta_children(obj->idx.offset, & base->ofs_first, & base->ofs_last);
  base->children_remaining = (((base->ref_last - base->ref_first) + base->ofs_last) - base->ofs_first) + 2;
  return (base);
}
}
static struct base_data *resolve_delta(struct object_entry___1 *delta_obj , struct base_data *base )
{
  void *delta_data ;
  void *result_data ;
  struct base_data *result___0 ;
  unsigned long result_size ;
  int i ;
  int j ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *tmp___0 ;

  {
  if (show_stat) {
    i = (int )(delta_obj - objects);
    j = (int )(base->obj - objects);
    (obj_stat + i)->delta_depth = (obj_stat + j)->delta_depth + 1U;
    lock_mutex(& deepest_delta_mutex);
    if (deepest_delta < (obj_stat + i)->delta_depth) {
      deepest_delta = (obj_stat + i)->delta_depth;
    }
    unlock_mutex(& deepest_delta_mutex);
    (obj_stat + i)->base_object_no = j;
  }
  delta_data = get_data_from_pack(delta_obj);
  assert((int )base->data);
  result_data = patch_delta((void const   *)base->data, base->size, (void const   *)delta_data,
                            delta_obj->size, & result_size);
  free(delta_data);
  if (! result_data) {
    tmp = _((char const   *)"failed to apply delta");
    bad_object(delta_obj->idx.offset, (char const   *)tmp);
  }
  tmp___0 = type_name((unsigned int )delta_obj->real_type);
  hash_object_file(the_repository->hash_algo, (void const   *)result_data, result_size,
                   tmp___0, & delta_obj->idx.oid);
  sha1_object((void const   *)result_data, (struct object_entry___1 *)((void *)0),
              result_size, (enum object_type )delta_obj->real_type, (struct object_id  const  *)(& delta_obj->idx.oid));
  result___0 = make_base(delta_obj, base);
  result___0->data = result_data;
  result___0->size = result_size;
  lock_mutex(& counter_mutex);
  nr_resolved_deltas ++;
  unlock_mutex(& counter_mutex);
  return (result___0);
}
}
static int compare_ofs_delta_entry(void const   *a , void const   *b___0 )
{
  struct ofs_delta_entry  const  *delta_a ;
  struct ofs_delta_entry  const  *delta_b ;
  int tmp ;
  int tmp___0 ;

  {
  delta_a = (struct ofs_delta_entry  const  *)a;
  delta_b = (struct ofs_delta_entry  const  *)b___0;
  if (delta_a->offset < delta_b->offset) {
    tmp___0 = -1;
  } else {
    if (delta_a->offset > delta_b->offset) {
      tmp = 1;
    } else {
      tmp = 0;
    }
    tmp___0 = tmp;
  }
  return (tmp___0);
}
}
static int compare_ref_delta_entry(void const   *a , void const   *b___0 )
{
  struct ref_delta_entry  const  *delta_a ;
  struct ref_delta_entry  const  *delta_b ;
  int tmp ;

  {
  delta_a = (struct ref_delta_entry  const  *)a;
  delta_b = (struct ref_delta_entry  const  *)b___0;
  tmp = oidcmp((struct object_id  const  *)(& delta_a->oid), (struct object_id  const  *)(& delta_b->oid));
  return (tmp);
}
}
static void *threaded_second_pass(void *data )
{
  struct base_data *parent ;
  struct object_entry___1 *child_obj ;
  struct base_data *child ;
  int tmp ;
  int tmp___0 ;
  int offset___2 ;
  int tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  struct base_data *p___0 ;
  struct base_data *next_p ;

  {
  if (data) {
    set_thread_data((struct thread_local *)data);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    parent = (struct base_data *)((void *)0);
    lock_mutex(& counter_mutex);
    display_progress(progress___2, (uint64_t )nr_resolved_deltas);
    unlock_mutex(& counter_mutex);
    lock_mutex(& work_mutex);
    tmp___4 = list_empty(& work_head);
    if (tmp___4) {
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (nr_dispatched < nr_objects) {
          tmp = is_delta_type((enum object_type )(objects + nr_dispatched)->type);
          if (! tmp) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
        nr_dispatched ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      if (nr_dispatched >= nr_objects) {
        unlock_mutex(& work_mutex);
        goto while_break;
      }
      tmp___0 = nr_dispatched;
      nr_dispatched ++;
      child_obj = objects + tmp___0;
    } else {
      parent = (struct base_data *)((char *)work_head.next - (unsigned long )(& ((struct base_data *)0)->list));
      if (parent->ref_first <= parent->ref_last) {
        tmp___1 = parent->ref_first;
        (parent->ref_first) ++;
        offset___2 = (ref_deltas + tmp___1)->obj_no;
        child_obj = objects + offset___2;
        if ((int )child_obj->real_type != 7) {
          tmp___2 = oid_to_hex((struct object_id  const  *)(& (parent->obj)->idx.oid));
          die((char const   *)"REF_DELTA at offset %lu already resolved (duplicate base %s?)",
              (uintmax_t )child_obj->idx.offset, tmp___2);
        }
        child_obj->real_type = (parent->obj)->real_type;
      } else {
        tmp___3 = parent->ofs_first;
        (parent->ofs_first) ++;
        child_obj = objects + (ofs_deltas + tmp___3)->obj_no;
        assert((int )child_obj->real_type == 6);
        child_obj->real_type = (parent->obj)->real_type;
      }
      if (parent->ref_first > parent->ref_last) {
        if (parent->ofs_first > parent->ofs_last) {
          list_del(& parent->list);
          list_add(& parent->list, & done_head);
        }
      }
      get_base_data(parent);
      (parent->retain_data) ++;
    }
    unlock_mutex(& work_mutex);
    if (parent) {
      child = resolve_delta(child_obj, parent);
      if (! child->children_remaining) {
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          free(child->data);
          child->data = (void *)0;
          goto while_break___1;
        }
        while_break___1: /* CIL Label */ ;
        }
      }
    } else {
      child = make_base(child_obj, (struct base_data *)((void *)0));
      if (child->children_remaining) {
        child->data = get_data_from_pack(child_obj);
        child->size = child_obj->size;
      }
    }
    lock_mutex(& work_mutex);
    if (parent) {
      (parent->retain_data) --;
    }
    if (child->data) {
      list_add(& child->list, & work_head);
      base_cache_used += child->size;
      prune_base_data((struct base_data *)((void *)0));
    } else {
      p___0 = parent;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (! p___0) {
          goto while_break___2;
        }
        (p___0->children_remaining) --;
        if (p___0->children_remaining) {
          goto while_break___2;
        }
        next_p = p___0->base;
        free_base_data(p___0);
        list_del(& p___0->list);
        free((void *)p___0);
        p___0 = next_p;
      }
      while_break___2: /* CIL Label */ ;
      }
    }
    unlock_mutex(& work_mutex);
  }
  while_break: /* CIL Label */ ;
  }
  return ((void *)0);
}
}
static void parse_pack_objects(unsigned char *hash___0 )
{
  int i ;
  int nr_delays ;
  struct ofs_delta_entry *ofs_delta ;
  struct object_id ref_delta_oid ;
  struct stat st ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  struct object_entry___1 *obj ;
  void *data ;
  void *tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  void *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  __off_t tmp___12 ;
  struct object_entry___1 *obj___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;

  {
  nr_delays = 0;
  ofs_delta = ofs_deltas;
  if (verbose___6) {
    if (progress_title) {
      tmp___2 = (char const __attribute__((__format_arg__(1)))  *)progress_title;
    } else {
      if (from_stdin) {
        tmp = _((char const   *)"Receiving objects");
        tmp___1 = tmp;
      } else {
        tmp___0 = _((char const   *)"Indexing objects");
        tmp___1 = tmp___0;
      }
      tmp___2 = tmp___1;
    }
    progress___2 = start_progress((char const   *)tmp___2, (uint64_t )nr_objects);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_objects)) {
      goto while_break;
    }
    obj = objects + i;
    tmp___3 = unpack_raw_entry(obj, & ofs_delta->offset, & ref_delta_oid, & obj->idx.oid);
    data = tmp___3;
    obj->real_type = obj->type;
    if ((int )obj->type == 6) {
      nr_ofs_deltas ++;
      ofs_delta->obj_no = i;
      ofs_delta ++;
    } else
    if ((int )obj->type == 7) {
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (nr_ref_deltas + 1 > ref_deltas_alloc) {
          if (((ref_deltas_alloc + 16) * 3) / 2 < nr_ref_deltas + 1) {
            ref_deltas_alloc = nr_ref_deltas + 1;
          } else {
            ref_deltas_alloc = ((ref_deltas_alloc + 16) * 3) / 2;
          }
          tmp___4 = st_mult(sizeof(*ref_deltas), (size_t )ref_deltas_alloc);
          tmp___5 = xrealloc((void *)ref_deltas, tmp___4);
          ref_deltas = (struct ref_delta_entry *)tmp___5;
        }
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
      oidcpy(& (ref_deltas + nr_ref_deltas)->oid, (struct object_id  const  *)(& ref_delta_oid));
      (ref_deltas + nr_ref_deltas)->obj_no = i;
      nr_ref_deltas ++;
    } else
    if (! data) {
      obj->real_type = (signed char)-1;
      nr_delays ++;
    } else {
      sha1_object((void const   *)data, (struct object_entry___1 *)((void *)0), obj->size,
                  (enum object_type )obj->type, (struct object_id  const  *)(& obj->idx.oid));
    }
    free(data);
    display_progress(progress___2, (uint64_t )(i + 1));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  (objects + i)->idx.offset = consumed_bytes;
  stop_progress(& progress___2);
  flush___0();
  (*((the_repository->hash_algo)->final_fn))(hash___0, & input_ctx);
  tmp___7 = fill___0((int )(the_repository->hash_algo)->rawsz);
  tmp___8 = hasheq((unsigned char const   *)tmp___7, (unsigned char const   *)hash___0);
  if (! tmp___8) {
    tmp___6 = _((char const   *)"pack is corrupted (SHA1 mismatch)");
    die((char const   *)tmp___6);
  }
  use((int )(the_repository->hash_algo)->rawsz);
  tmp___10 = fstat(input_fd, & st);
  if (tmp___10) {
    tmp___9 = _((char const   *)"cannot fstat packfile");
    die_errno((char const   *)tmp___9);
  }
  if ((st.st_mode & 61440U) == 32768U) {
    tmp___12 = lseek(input_fd, (__off_t )0, 1);
    if (tmp___12 - (__off_t )input_len != st.st_size) {
      tmp___11 = _((char const   *)"pack has junk at the end");
      die((char const   *)tmp___11);
    }
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < nr_objects)) {
      goto while_break___1;
    }
    obj___0 = objects + i;
    if ((int )obj___0->real_type != -1) {
      goto __Cont;
    }
    obj___0->real_type = obj___0->type;
    sha1_object((void const   *)((void *)0), obj___0, obj___0->size, (enum object_type )obj___0->type,
                (struct object_id  const  *)(& obj___0->idx.oid));
    nr_delays --;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  if (nr_delays) {
    tmp___13 = _((char const   *)"confusion beyond insanity in parse_pack_objects()");
    die((char const   *)tmp___13);
  }
  return;
}
}
static void resolve_deltas(void)
{
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int ret___67 ;
  int tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char *tmp___3 ;

  {
  if (! nr_ofs_deltas) {
    if (! nr_ref_deltas) {
      return;
    }
  }
  sane_qsort((void *)ofs_deltas, (size_t )nr_ofs_deltas, sizeof(*ofs_deltas), & compare_ofs_delta_entry);
  sane_qsort((void *)ref_deltas, (size_t )nr_ref_deltas, sizeof(*ref_deltas), & compare_ref_delta_entry);
  if (verbose___6) {
    tmp = _((char const   *)"Resolving deltas");
    progress___2 = start_progress((char const   *)tmp, (uint64_t )(nr_ref_deltas + nr_ofs_deltas));
  } else
  if (show_resolving_progress) {
    tmp = _((char const   *)"Resolving deltas");
    progress___2 = start_progress((char const   *)tmp, (uint64_t )(nr_ref_deltas + nr_ofs_deltas));
  }
  nr_dispatched = 0;
  base_cache_limit = delta_base_cache_limit * (size_t )nr_threads;
  if (nr_threads > 1) {
    goto _L;
  } else {
    tmp___3 = getenv((char const   *)"GIT_FORCE_THREADS");
    if (tmp___3) {
      _L: /* CIL Label */
      init_thread();
      i = 0;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! (i < nr_threads)) {
          goto while_break;
        }
        tmp___0 = pthread_create((pthread_t * __restrict  )(& (thread_data + i)->thread),
                                 (pthread_attr_t const   * __restrict  )((void *)0),
                                 & threaded_second_pass, (void * __restrict  )(thread_data + i));
        ret___67 = tmp___0;
        if (ret___67) {
          tmp___1 = strerror(ret___67);
          tmp___2 = _((char const   *)"unable to create thread: %s");
          die((char const   *)tmp___2, tmp___1);
        }
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
      i = 0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (i < nr_threads)) {
          goto while_break___0;
        }
        pthread_join((thread_data + i)->thread, (void **)((void *)0));
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      cleanup_thread();
      return;
    }
  }
  threaded_second_pass((void *)(& nothread_data));
  return;
}
}
static void fix_unresolved_deltas(struct hashfile *f ) ;
static void conclude_pack(int fix_thin_pack , char const   *curr_pack___0 , unsigned char *pack_hash )
{
  struct hashfile *f ;
  unsigned char read_hash[32] ;
  unsigned char tail_hash[32] ;
  struct strbuf msg___5 ;
  int nr_unresolved ;
  int nr_objects_initial ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___5 ;

  {
  if (nr_ref_deltas + nr_ofs_deltas == nr_resolved_deltas) {
    stop_progress(& progress___2);
    flush___0();
    return;
  }
  if (fix_thin_pack) {
    msg___5.alloc = 0UL;
    msg___5.len = 0UL;
    msg___5.buf = strbuf_slopbuf;
    nr_unresolved = (nr_ofs_deltas + nr_ref_deltas) - nr_resolved_deltas;
    nr_objects_initial = nr_objects;
    if (nr_unresolved <= 0) {
      tmp = _((char const   *)"confusion beyond insanity");
      die((char const   *)tmp);
    }
    tmp___0 = st_mult(sizeof(*objects), (size_t )((nr_objects + nr_unresolved) + 1));
    tmp___1 = xrealloc((void *)objects, tmp___0);
    objects = (struct object_entry___1 *)tmp___1;
    memset((void *)((objects + nr_objects) + 1), 0, (unsigned long )nr_unresolved * sizeof(*objects));
    f = hashfd(output_fd, curr_pack___0);
    fix_unresolved_deltas(f);
    tmp___2 = Q_((char const   *)"completed with %d local object", (char const   *)"completed with %d local objects",
                 (unsigned long )(nr_objects - nr_objects_initial));
    strbuf_addf(& msg___5, (char const   *)tmp___2, nr_objects - nr_objects_initial);
    stop_progress_msg(& progress___2, (char const   *)msg___5.buf);
    strbuf_release(& msg___5);
    finalize_hashfile(f, tail_hash, 0U);
    hashcpy(read_hash, (unsigned char const   *)pack_hash);
    fixup_pack_header_footer(output_fd, pack_hash, curr_pack___0, (uint32_t )nr_objects,
                             read_hash, (off_t )((size_t )consumed_bytes - (the_repository->hash_algo)->rawsz));
    tmp___4 = hasheq((unsigned char const   *)(read_hash), (unsigned char const   *)(tail_hash));
    if (! tmp___4) {
      tmp___3 = _((char const   *)"Unexpected tail checksum for %s (disk corruption?)");
      die((char const   *)tmp___3, curr_pack___0);
    }
  }
  if (nr_ofs_deltas + nr_ref_deltas != nr_resolved_deltas) {
    tmp___5 = Q_((char const   *)"pack has %d unresolved delta", (char const   *)"pack has %d unresolved deltas",
                 (unsigned long )((nr_ofs_deltas + nr_ref_deltas) - nr_resolved_deltas));
    die((char const   *)tmp___5, (nr_ofs_deltas + nr_ref_deltas) - nr_resolved_deltas);
  }
  return;
}
}
static int write_compressed(struct hashfile *f , void *in , unsigned int size )
{
  git_zstream stream ;
  int status ;
  unsigned char outbuf[4096] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  git_deflate_init(& stream, zlib_compression_level);
  stream.next_in = (unsigned char *)in;
  stream.avail_in = (unsigned long )size;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    stream.next_out = outbuf;
    stream.avail_out = sizeof(outbuf);
    status = git_deflate(& stream, 4);
    hashwrite(f, (void const   *)(outbuf), (unsigned int )(sizeof(outbuf) - stream.avail_out));
    if (! (status == 0)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (status != 1) {
    tmp = _((char const   *)"unable to deflate appended object (%d)");
    die((char const   *)tmp, status);
  }
  size = (unsigned int )stream.total_out;
  git_deflate_end(& stream);
  return ((int )size);
}
}
static struct object_entry___1 *append_obj_to_pack(struct hashfile *f , unsigned char const   *sha1 ,
                                                   void *buf___19 , unsigned long size ,
                                                   enum object_type type___0 )
{
  struct object_entry___1 *obj ;
  int tmp ;
  unsigned char header___0[10] ;
  unsigned long s___1 ;
  int n ;
  unsigned char c___0 ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = nr_objects;
  nr_objects ++;
  obj = objects + tmp;
  s___1 = size;
  n = 0;
  c___0 = (unsigned char )((unsigned long )((int )type___0 << 4) | (s___1 & 15UL));
  s___1 >>= 4;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! s___1) {
      goto while_break;
    }
    tmp___0 = n;
    n ++;
    header___0[tmp___0] = (unsigned char )((int )c___0 | 0x80);
    c___0 = (unsigned char )(s___1 & 127UL);
    s___1 >>= 7;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = n;
  n ++;
  header___0[tmp___1] = c___0;
  crc32_begin(f);
  hashwrite(f, (void const   *)(header___0), (unsigned int )n);
  (obj + 0)->size = size;
  (obj + 0)->hdr_size = (unsigned char )n;
  (obj + 0)->type = (signed char )type___0;
  (obj + 0)->real_type = (signed char )type___0;
  (obj + 1)->idx.offset = (obj + 0)->idx.offset + (off_t )n;
  tmp___2 = write_compressed(f, buf___19, (unsigned int )size);
  (obj + 1)->idx.offset += (off_t )tmp___2;
  (obj + 0)->idx.crc32 = crc32_end(f);
  hashflush(f);
  oidread(& obj->idx.oid, sha1);
  return (obj);
}
}
static int delta_pos_compare(void const   *_a , void const   *_b )
{
  struct ref_delta_entry *a ;
  struct ref_delta_entry *b___0 ;

  {
  a = *((struct ref_delta_entry **)_a);
  b___0 = *((struct ref_delta_entry **)_b);
  return (a->obj_no - b___0->obj_no);
}
}
static void fix_unresolved_deltas(struct hashfile *f )
{
  struct ref_delta_entry **sorted_by_pos ;
  int i ;
  size_t tmp ;
  void *tmp___0 ;
  struct oid_array to_fetch ;
  struct ref_delta_entry *d ;
  int tmp___1 ;
  int tmp___2 ;
  struct ref_delta_entry *d___0 ;
  enum object_type type___0 ;
  void *data ;
  unsigned long size ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const   *tmp___5 ;
  int tmp___6 ;

  {
  tmp = st_mult(sizeof(*sorted_by_pos), (size_t )nr_ref_deltas);
  tmp___0 = xmalloc(tmp);
  sorted_by_pos = (struct ref_delta_entry **)tmp___0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_ref_deltas)) {
      goto while_break;
    }
    *(sorted_by_pos + i) = ref_deltas + i;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  sane_qsort((void *)sorted_by_pos, (size_t )nr_ref_deltas, sizeof(*sorted_by_pos),
             & delta_pos_compare);
  tmp___2 = has_promisor_remote();
  if (tmp___2) {
    to_fetch.oid = (struct object_id *)0;
    to_fetch.nr = 0UL;
    to_fetch.alloc = 0UL;
    to_fetch.sorted = 0;
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < nr_ref_deltas)) {
        goto while_break___0;
      }
      d = *(sorted_by_pos + i);
      tmp___1 = oid_object_info_extended(the_repository, (struct object_id  const  *)(& d->oid),
                                         (struct object_info *)((void *)0), 40U);
      if (! tmp___1) {
        goto __Cont;
      }
      oid_array_append(& to_fetch, (struct object_id  const  *)(& d->oid));
      __Cont: /* CIL Label */
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    promisor_remote_get_direct(the_repository, (struct object_id  const  *)to_fetch.oid,
                               (int )to_fetch.nr);
    oid_array_clear(& to_fetch);
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < nr_ref_deltas)) {
      goto while_break___1;
    }
    d___0 = *(sorted_by_pos + i);
    if ((int )(objects + d___0->obj_no)->real_type != 7) {
      goto __Cont___0;
    }
    data = repo_read_object_file(the_repository, (struct object_id  const  *)(& d___0->oid),
                                 & type___0, & size);
    if (! data) {
      goto __Cont___0;
    }
    tmp___5 = type_name((unsigned int )type___0);
    tmp___6 = check_object_signature(the_repository, (struct object_id  const  *)(& d___0->oid),
                                     data, size, tmp___5, (struct object_id *)((void *)0));
    if (tmp___6) {
      tmp___3 = oid_to_hex((struct object_id  const  *)(& d___0->oid));
      tmp___4 = _((char const   *)"local object %s is corrupt");
      die((char const   *)tmp___4, tmp___3);
    }
    append_obj_to_pack(f, (unsigned char const   *)(d___0->oid.hash), data, size,
                       type___0);
    threaded_second_pass((void *)0);
    display_progress(progress___2, (uint64_t )nr_resolved_deltas);
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  free((void *)sorted_by_pos);
  return;
}
}
static char const   *derive_filename(char const   *pack_name , char const   *strip ,
                                     char const   *suffix___3 , struct strbuf *buf___19 )
{
  size_t len___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  tmp___0 = strip_suffix(pack_name, strip, & len___0);
  if (tmp___0) {
    if (! len___0) {
      tmp = _((char const   *)"packfile name \'%s\' does not end with \'.%s\'");
      die((char const   *)tmp, pack_name, strip);
    } else
    if ((int const   )*(pack_name + (len___0 - 1UL)) != 46) {
      tmp = _((char const   *)"packfile name \'%s\' does not end with \'.%s\'");
      die((char const   *)tmp, pack_name, strip);
    }
  } else {
    tmp = _((char const   *)"packfile name \'%s\' does not end with \'.%s\'");
    die((char const   *)tmp, pack_name, strip);
  }
  strbuf_add(buf___19, (void const   *)pack_name, len___0);
  strbuf_addstr(buf___19, suffix___3);
  return ((char const   *)buf___19->buf);
}
}
static void write_special_file(char const   *suffix___3 , char const   *msg___5 ,
                               char const   *pack_name , unsigned char const   *hash___0 ,
                               char const   **report___3 )
{
  struct strbuf name_buf ;
  char const   *filename___0 ;
  int fd ;
  int msg_len ;
  size_t tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  name_buf.alloc = 0UL;
  name_buf.len = 0UL;
  name_buf.buf = strbuf_slopbuf;
  tmp = strlen(msg___5);
  msg_len = (int )tmp;
  if (pack_name) {
    filename___0 = derive_filename(pack_name, (char const   *)"pack", suffix___3,
                                   & name_buf);
  } else {
    tmp___0 = odb_pack_name(& name_buf, hash___0, suffix___3);
    filename___0 = (char const   *)tmp___0;
  }
  fd = odb_pack_keep(filename___0);
  if (fd < 0) {
    tmp___2 = __errno_location();
    if (*tmp___2 != 17) {
      tmp___1 = _((char const   *)"cannot write %s file \'%s\'");
      die_errno((char const   *)tmp___1, suffix___3, filename___0);
    }
  } else {
    if (msg_len > 0) {
      write_or_die(fd, (void const   *)msg___5, (size_t )msg_len);
      write_or_die(fd, (void const   *)"\n", (size_t )1);
    }
    tmp___4 = close(fd);
    if (tmp___4 != 0) {
      tmp___3 = _((char const   *)"cannot close written %s file \'%s\'");
      die_errno((char const   *)tmp___3, suffix___3, filename___0);
    }
    if (report___3) {
      *report___3 = suffix___3;
    }
  }
  strbuf_release(& name_buf);
  return;
}
}
static void rename_tmp_packfile___0(char const   **final_name , char const   *curr_name ,
                                    struct strbuf *name___0 , unsigned char *hash___0 ,
                                    char const   *ext , int make_read_only_if_same )
{
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  if ((unsigned long )*final_name != (unsigned long )curr_name) {
    if (! *final_name) {
      tmp = odb_pack_name(name___0, (unsigned char const   *)hash___0, ext);
      *final_name = (char const   *)tmp;
    }
    tmp___1 = finalize_object_file(curr_name, *final_name);
    if (tmp___1) {
      tmp___0 = _((char const   *)"unable to rename temporary \'*.%s\' file to \'%s\'");
      die((char const   *)tmp___0, ext, *final_name);
    }
  } else
  if (make_read_only_if_same) {
    chmod(*final_name, (__mode_t )0444);
  }
  return;
}
}
static void final(char const   *final_pack_name , char const   *curr_pack_name , char const   *final_index_name ,
                  char const   *curr_index_name , char const   *final_rev_index_name ,
                  char const   *curr_rev_index_name , char const   *keep_msg___0 ,
                  char const   *promisor_msg , unsigned char *hash___0 )
{
  char const   *report___3 ;
  struct strbuf pack_name ;
  struct strbuf index_name ;
  struct strbuf rev_index_name ;
  int err___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct packed_git *p___0 ;
  size_t tmp___0 ;
  char *tmp___1 ;
  struct strbuf buf___19 ;
  char *tmp___2 ;
  ssize_t tmp___3 ;

  {
  report___3 = (char const   *)"pack";
  pack_name.alloc = 0UL;
  pack_name.len = 0UL;
  pack_name.buf = strbuf_slopbuf;
  index_name.alloc = 0UL;
  index_name.len = 0UL;
  index_name.buf = strbuf_slopbuf;
  rev_index_name.alloc = 0UL;
  rev_index_name.len = 0UL;
  rev_index_name.buf = strbuf_slopbuf;
  if (! from_stdin) {
    close(input_fd);
  } else {
    fsync_or_die(output_fd, curr_pack_name);
    err___4 = close(output_fd);
    if (err___4) {
      tmp = _((char const   *)"error while closing pack file");
      die_errno((char const   *)tmp);
    }
  }
  if (keep_msg___0) {
    write_special_file((char const   *)"keep", keep_msg___0, final_pack_name, (unsigned char const   *)hash___0,
                       & report___3);
  }
  if (promisor_msg) {
    write_special_file((char const   *)"promisor", promisor_msg, final_pack_name,
                       (unsigned char const   *)hash___0, (char const   **)((void *)0));
  }
  rename_tmp_packfile___0(& final_pack_name, curr_pack_name, & pack_name, hash___0,
                          (char const   *)"pack", from_stdin);
  if (curr_rev_index_name) {
    rename_tmp_packfile___0(& final_rev_index_name, curr_rev_index_name, & rev_index_name,
                            hash___0, (char const   *)"rev", 1);
  }
  rename_tmp_packfile___0(& final_index_name, curr_index_name, & index_name, hash___0,
                          (char const   *)"idx", 1);
  if (do_fsck_object) {
    tmp___0 = strlen(final_index_name);
    p___0 = add_packed_git(final_index_name, tmp___0, 0);
    if (p___0) {
      install_packed_git(the_repository, p___0);
    }
  }
  if (! from_stdin) {
    tmp___1 = hash_to_hex((unsigned char const   *)hash___0);
    printf((char const   *)"%s\n", tmp___1);
  } else {
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    tmp___2 = hash_to_hex((unsigned char const   *)hash___0);
    strbuf_addf(& buf___19, (char const   *)"%s\t%s\n", report___3, tmp___2);
    write_or_die(1, (void const   *)buf___19.buf, buf___19.len);
    strbuf_release(& buf___19);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! input_len) {
        goto while_break;
      }
      tmp___3 = xwrite(1, (void const   *)(input_buffer + input_offset), (size_t )input_len);
      err___4 = (int )tmp___3;
      if (err___4 <= 0) {
        goto while_break;
      }
      input_len -= (unsigned int )err___4;
      input_offset += (unsigned int )err___4;
    }
    while_break: /* CIL Label */ ;
    }
  }
  strbuf_release(& rev_index_name);
  strbuf_release(& index_name);
  strbuf_release(& pack_name);
  return;
}
}
static int git_index_pack_config(char const   *k , char const   *v , void *cb )
{
  struct pack_idx_option *opts___1 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  opts___1 = (struct pack_idx_option *)cb;
  tmp___1 = strcmp(k, (char const   *)"pack.indexversion");
  if (! tmp___1) {
    tmp = git_config_int(k, v);
    opts___1->version = (uint32_t )tmp;
    if (opts___1->version > 2U) {
      tmp___0 = _((char const   *)"bad pack.indexversion=%u");
      die((char const   *)tmp___0, opts___1->version);
    }
    return (0);
  }
  tmp___4 = strcmp(k, (char const   *)"pack.threads");
  if (! tmp___4) {
    nr_threads = git_config_int(k, v);
    if (nr_threads < 0) {
      tmp___2 = _((char const   *)"invalid number of threads specified (%d)");
      die((char const   *)tmp___2, nr_threads);
    }
    return (0);
  }
  tmp___6 = strcmp(k, (char const   *)"pack.writereverseindex");
  if (! tmp___6) {
    tmp___5 = git_config_bool(k, v);
    if (tmp___5) {
      opts___1->flags |= 4U;
    } else {
      opts___1->flags &= 4294967291U;
    }
  }
  tmp___7 = git_default_config(k, v, cb);
  return (tmp___7);
}
}
static int cmp_uint32___0(void const   *a_ , void const   *b_ )
{
  uint32_t a ;
  uint32_t b___0 ;
  int tmp ;

  {
  a = *((uint32_t *)a_);
  b___0 = *((uint32_t *)b_);
  if (a < b___0) {
    tmp = -1;
  } else {
    tmp = a != b___0;
  }
  return (tmp);
}
}
static void read_v2_anomalous_offsets(struct packed_git *p___0 , struct pack_idx_option *opts___1 )
{
  uint32_t const   *idx1 ;
  uint32_t const   *idx2 ;
  uint32_t i ;
  uint32_t off ;
  uint32_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;

  {
  idx1 = (uint32_t const   *)((uint8_t const   *)p___0->index_data + p___0->crc_offset) + (size_t )p___0->num_objects;
  idx2 = idx1 + p___0->num_objects;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < p___0->num_objects)) {
      goto while_break;
    }
    tmp = git_bswap32((uint32_t )*(idx1 + i));
    off = tmp;
    if (! (off & 0x80000000)) {
      goto __Cont;
    }
    off &= 2147483647U;
    check_pack_index_ptr((struct packed_git  const  *)p___0, (void const   *)(idx2 + off * 2U));
    if (*(idx2 + off * 2U)) {
      goto __Cont;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (opts___1->anomaly_nr + 1 > opts___1->anomaly_alloc) {
        if (((opts___1->anomaly_alloc + 16) * 3) / 2 < opts___1->anomaly_nr + 1) {
          opts___1->anomaly_alloc = opts___1->anomaly_nr + 1;
        } else {
          opts___1->anomaly_alloc = ((opts___1->anomaly_alloc + 16) * 3) / 2;
        }
        tmp___0 = st_mult(sizeof(*(opts___1->anomaly)), (size_t )opts___1->anomaly_alloc);
        tmp___1 = xrealloc((void *)opts___1->anomaly, tmp___0);
        opts___1->anomaly = (uint32_t *)tmp___1;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___2 = opts___1->anomaly_nr;
    (opts___1->anomaly_nr) ++;
    *(opts___1->anomaly + tmp___2) = git_bswap32((uint32_t )*(idx2 + (off * 2U + 1U)));
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  sane_qsort((void *)opts___1->anomaly, (size_t )opts___1->anomaly_nr, sizeof(*(opts___1->anomaly)),
             & cmp_uint32___0);
  return;
}
}
static void read_idx_option(struct pack_idx_option *opts___1 , char const   *pack_name )
{
  struct packed_git *p___0 ;
  size_t tmp ;
  struct packed_git *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  tmp = strlen(pack_name);
  tmp___0 = add_packed_git(pack_name, tmp, 1);
  p___0 = tmp___0;
  if (! p___0) {
    tmp___1 = _((char const   *)"Cannot open existing pack file \'%s\'");
    die((char const   *)tmp___1, pack_name);
  }
  tmp___3 = open_pack_index(p___0);
  if (tmp___3) {
    tmp___2 = _((char const   *)"Cannot open existing pack idx file for \'%s\'");
    die((char const   *)tmp___2, pack_name);
  }
  opts___1->version = (uint32_t )p___0->index_version;
  if (opts___1->version == 2U) {
    read_v2_anomalous_offsets(p___0, opts___1);
  }
  close_pack_index(p___0);
  free((void *)p___0);
  return;
}
}
static void show_pack_info(int stat_only )
{
  int i ;
  int baseobjects ;
  unsigned long *chain_histogram ;
  void *tmp ;
  struct object_entry___1 *obj ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char *tmp___2 ;
  struct object_entry___1 *bobj ;
  char *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___6 ;

  {
  baseobjects = (nr_objects - nr_ref_deltas) - nr_ofs_deltas;
  chain_histogram = (unsigned long *)((void *)0);
  if (deepest_delta) {
    tmp = xcalloc((size_t )deepest_delta, sizeof(*chain_histogram));
    chain_histogram = (unsigned long *)tmp;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_objects)) {
      goto while_break;
    }
    obj = objects + i;
    tmp___0 = is_delta_type((enum object_type )obj->type);
    if (tmp___0) {
      (*(chain_histogram + ((obj_stat + i)->delta_depth - 1U))) ++;
    }
    if (stat_only) {
      goto __Cont;
    }
    tmp___1 = type_name((unsigned int )obj->real_type);
    tmp___2 = oid_to_hex((struct object_id  const  *)(& obj->idx.oid));
    printf((char const   *)"%s %-6s %lu %lu %lu", tmp___2, tmp___1, obj->size, (uintmax_t )((obj + 1)->idx.offset - obj->idx.offset),
           (uintmax_t )obj->idx.offset);
    tmp___4 = is_delta_type((enum object_type )obj->type);
    if (tmp___4) {
      bobj = objects + (obj_stat + i)->base_object_no;
      tmp___3 = oid_to_hex((struct object_id  const  *)(& bobj->idx.oid));
      printf((char const   *)" %u %s", (obj_stat + i)->delta_depth, tmp___3);
    }
    putchar('\n');
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (baseobjects) {
    tmp___5 = Q_((char const   *)"non delta: %d object", (char const   *)"non delta: %d objects",
                 (unsigned long )baseobjects);
    printf_ln((char const   *)tmp___5, baseobjects);
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < deepest_delta)) {
      goto while_break___0;
    }
    if (! *(chain_histogram + i)) {
      goto __Cont___0;
    }
    tmp___6 = Q_((char const   *)"chain length = %d: %lu object", (char const   *)"chain length = %d: %lu objects",
                 *(chain_histogram + i));
    printf_ln((char const   *)tmp___6, i + 1, *(chain_histogram + i));
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
int cmd_index_pack(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  int fix_thin_pack ;
  int verify___0 ;
  int stat_only ;
  int rev_index ;
  char const   *curr_index ;
  char const   *curr_rev_index ;
  char const   *index_name ;
  char const   *pack_name ;
  char const   *rev_index_name ;
  char const   *keep_msg___0 ;
  char const   *promisor_msg ;
  struct strbuf index_name_buf ;
  struct strbuf rev_index_name_buf ;
  struct pack_idx_entry **idx_objects ;
  struct pack_idx_option opts___1 ;
  unsigned char pack_hash[32] ;
  unsigned int foreign_nr ;
  int report_end_of_input ;
  int hash_algo ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const   *arg ;
  char *end ;
  unsigned long tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  struct pack_header *hdr ;
  char *c___0 ;
  unsigned long tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  unsigned long tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char *c___1 ;
  unsigned long tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  unsigned long tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  uintmax_t tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;
  int tmp___30 ;
  int tmp___31 ;
  int tmp___32 ;
  int tmp___33 ;
  int tmp___34 ;
  int tmp___35 ;
  int tmp___36 ;
  char const __attribute__((__format_arg__(1)))  *tmp___37 ;
  char const __attribute__((__format_arg__(1)))  *tmp___38 ;
  char const __attribute__((__format_arg__(1)))  *tmp___39 ;
  int tmp___40 ;
  char const __attribute__((__format_arg__(1)))  *tmp___41 ;
  size_t tmp___42 ;
  void *tmp___43 ;
  size_t tmp___44 ;
  void *tmp___45 ;
  void *tmp___46 ;
  size_t tmp___47 ;
  void *tmp___48 ;
  char const __attribute__((__format_arg__(1)))  *tmp___49 ;
  int tmp___50 ;

  {
  fix_thin_pack = 0;
  verify___0 = 0;
  stat_only = 0;
  curr_rev_index = (char const   *)((void *)0);
  index_name = (char const   *)((void *)0);
  pack_name = (char const   *)((void *)0);
  rev_index_name = (char const   *)((void *)0);
  keep_msg___0 = (char const   *)((void *)0);
  promisor_msg = (char const   *)((void *)0);
  index_name_buf.alloc = 0UL;
  index_name_buf.len = 0UL;
  index_name_buf.buf = strbuf_slopbuf;
  rev_index_name_buf.alloc = 0UL;
  rev_index_name_buf.len = 0UL;
  rev_index_name_buf.buf = strbuf_slopbuf;
  foreign_nr = 1U;
  report_end_of_input = 0;
  hash_algo = 0;
  fetch_if_missing = 0;
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage(index_pack_usage);
    }
  }
  read_replace_refs = 0;
  fsck_options___0.walk = & mark_link;
  reset_pack_idx_option(& opts___1);
  git_config(& git_index_pack_config, (void *)(& opts___1));
  if (prefix___1) {
    tmp___1 = chdir(prefix___1);
    if (tmp___1) {
      tmp___0 = _((char const   *)"Cannot come back to cwd");
      die((char const   *)tmp___0);
    }
  }
  tmp___2 = git_env_bool((char const   *)"GIT_TEST_WRITE_REV_INDEX", 0);
  if (tmp___2) {
    rev_index = 1;
  } else {
    rev_index = ! (! (opts___1.flags & 12U));
  }
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    arg = *(argv___0 + i);
    if ((int const   )*arg == 45) {
      tmp___36 = strcmp(arg, (char const   *)"--stdin");
      if (tmp___36) {
        tmp___35 = strcmp(arg, (char const   *)"--fix-thin");
        if (tmp___35) {
          tmp___34 = skip_to_optional_arg(arg, (char const   *)"--strict", & arg);
          if (tmp___34) {
            strict = 1;
            do_fsck_object = 1;
            fsck_set_msg_types(& fsck_options___0, arg);
          } else {
            tmp___33 = strcmp(arg, (char const   *)"--check-self-contained-and-connected");
            if (tmp___33) {
              tmp___32 = strcmp(arg, (char const   *)"--fsck-objects");
              if (tmp___32) {
                tmp___31 = strcmp(arg, (char const   *)"--verify");
                if (tmp___31) {
                  tmp___30 = strcmp(arg, (char const   *)"--verify-stat");
                  if (tmp___30) {
                    tmp___29 = strcmp(arg, (char const   *)"--verify-stat-only");
                    if (tmp___29) {
                      tmp___28 = skip_to_optional_arg(arg, (char const   *)"--keep",
                                                      & keep_msg___0);
                      if (! tmp___28) {
                        tmp___27 = skip_to_optional_arg(arg, (char const   *)"--promisor",
                                                        & promisor_msg);
                        if (! tmp___27) {
                          tmp___26 = starts_with(arg, (char const   *)"--threads=");
                          if (tmp___26) {
                            tmp___3 = strtoul((char const   * __restrict  )(arg + 10),
                                              (char ** __restrict  )(& end), 0);
                            nr_threads = (int )tmp___3;
                            if (! *(arg + 10)) {
                              usage(index_pack_usage);
                            } else
                            if (*end) {
                              usage(index_pack_usage);
                            } else
                            if (nr_threads < 0) {
                              usage(index_pack_usage);
                            }
                          } else {
                            tmp___25 = starts_with(arg, (char const   *)"--pack_header=");
                            if (tmp___25) {
                              hdr = (struct pack_header *)(input_buffer);
                              hdr->hdr_signature = git_bswap32((uint32_t )0x5041434b);
                              tmp___5 = strtoul((char const   * __restrict  )(arg + 14),
                                                (char ** __restrict  )(& c___0), 10);
                              hdr->hdr_version = git_bswap32((uint32_t )tmp___5);
                              if ((int )*c___0 != 44) {
                                tmp___6 = _((char const   *)"bad %s");
                                die((char const   *)tmp___6, arg);
                              }
                              tmp___7 = strtoul((char const   * __restrict  )(c___0 + 1),
                                                (char ** __restrict  )(& c___0), 10);
                              hdr->hdr_entries = git_bswap32((uint32_t )tmp___7);
                              if (*c___0) {
                                tmp___8 = _((char const   *)"bad %s");
                                die((char const   *)tmp___8, arg);
                              }
                              input_len = (unsigned int )sizeof(*hdr);
                            } else {
                              tmp___24 = strcmp(arg, (char const   *)"-v");
                              if (tmp___24) {
                                tmp___23 = strcmp(arg, (char const   *)"--progress-title");
                                if (tmp___23) {
                                  tmp___22 = strcmp(arg, (char const   *)"--show-resolving-progress");
                                  if (tmp___22) {
                                    tmp___21 = strcmp(arg, (char const   *)"--report-end-of-input");
                                    if (tmp___21) {
                                      tmp___20 = strcmp(arg, (char const   *)"-o");
                                      if (tmp___20) {
                                        tmp___19 = starts_with(arg, (char const   *)"--index-version=");
                                        if (tmp___19) {
                                          tmp___9 = strtoul((char const   * __restrict  )(arg + 16),
                                                            (char ** __restrict  )(& c___1),
                                                            10);
                                          opts___1.version = (uint32_t )tmp___9;
                                          if (opts___1.version > 2U) {
                                            tmp___10 = _((char const   *)"bad %s");
                                            die((char const   *)tmp___10, arg);
                                          }
                                          if ((int )*c___1 == 44) {
                                            tmp___11 = strtoul((char const   * __restrict  )(c___1 + 1),
                                                               (char ** __restrict  )(& c___1),
                                                               0);
                                            opts___1.off32_limit = (uint32_t )tmp___11;
                                          }
                                          if (*c___1) {
                                            tmp___12 = _((char const   *)"bad %s");
                                            die((char const   *)tmp___12, arg);
                                          } else
                                          if (opts___1.off32_limit & 0x80000000) {
                                            tmp___12 = _((char const   *)"bad %s");
                                            die((char const   *)tmp___12, arg);
                                          }
                                        } else {
                                          tmp___18 = skip_prefix(arg, (char const   *)"--max-input-size=",
                                                                 & arg);
                                          if (tmp___18) {
                                            tmp___13 = strtoumax(arg, (char **)((void *)0),
                                                                 10);
                                            max_input_size = (off_t )tmp___13;
                                          } else {
                                            tmp___17 = skip_prefix(arg, (char const   *)"--object-format=",
                                                                   & arg);
                                            if (tmp___17) {
                                              hash_algo = hash_algo_by_name(arg);
                                              if (hash_algo == 0) {
                                                tmp___14 = _((char const   *)"unknown hash algorithm \'%s\'");
                                                die((char const   *)tmp___14, arg);
                                              }
                                              repo_set_hash_algo(the_repository, hash_algo);
                                            } else {
                                              tmp___16 = strcmp(arg, (char const   *)"--rev-index");
                                              if (tmp___16) {
                                                tmp___15 = strcmp(arg, (char const   *)"--no-rev-index");
                                                if (tmp___15) {
                                                  usage(index_pack_usage);
                                                } else {
                                                  rev_index = 0;
                                                }
                                              } else {
                                                rev_index = 1;
                                              }
                                            }
                                          }
                                        }
                                      } else {
                                        if (index_name) {
                                          usage(index_pack_usage);
                                        } else
                                        if (i + 1 >= argc) {
                                          usage(index_pack_usage);
                                        }
                                        i ++;
                                        index_name = *(argv___0 + i);
                                      }
                                    } else {
                                      report_end_of_input = 1;
                                    }
                                  } else {
                                    show_resolving_progress = 1;
                                  }
                                } else {
                                  if (progress_title) {
                                    usage(index_pack_usage);
                                  } else
                                  if (i + 1 >= argc) {
                                    usage(index_pack_usage);
                                  }
                                  i ++;
                                  progress_title = *(argv___0 + i);
                                }
                              } else {
                                verbose___6 = 1;
                              }
                            }
                          }
                        }
                      }
                    } else {
                      verify___0 = 1;
                      show_stat = 1;
                      stat_only = 1;
                    }
                  } else {
                    verify___0 = 1;
                    show_stat = 1;
                  }
                } else {
                  verify___0 = 1;
                }
              } else {
                do_fsck_object = 1;
              }
            } else {
              strict = 1;
              check_self_contained_and_connected = 1;
            }
          }
        } else {
          fix_thin_pack = 1;
        }
      } else {
        from_stdin = 1;
      }
      goto __Cont;
    }
    if (pack_name) {
      usage(index_pack_usage);
    }
    pack_name = arg;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! pack_name) {
    if (! from_stdin) {
      usage(index_pack_usage);
    }
  }
  if (fix_thin_pack) {
    if (! from_stdin) {
      tmp___37 = _((char const   *)"the option \'%s\' requires \'%s\'");
      die((char const   *)tmp___37, "--fix-thin", "--stdin");
    }
  }
  if (from_stdin) {
    if (! startup_info->have_repository) {
      tmp___38 = _((char const   *)"--stdin requires a git repository");
      die((char const   *)tmp___38);
    }
  }
  if (from_stdin) {
    if (hash_algo) {
      tmp___39 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___39, "--object-format", "--stdin");
    }
  }
  if (! index_name) {
    if (pack_name) {
      index_name = derive_filename(pack_name, (char const   *)"pack", (char const   *)"idx",
                                   & index_name_buf);
    }
  }
  opts___1.flags &= 4294967283U;
  if (rev_index) {
    if (verify___0) {
      tmp___40 = 010;
    } else {
      tmp___40 = 04;
    }
    opts___1.flags |= (unsigned int )tmp___40;
    if (index_name) {
      rev_index_name = derive_filename(index_name, (char const   *)"idx", (char const   *)"rev",
                                       & rev_index_name_buf);
    }
  }
  if (verify___0) {
    if (! index_name) {
      tmp___41 = _((char const   *)"--verify with no packfile name given");
      die((char const   *)tmp___41);
    }
    read_idx_option(& opts___1, index_name);
    opts___1.flags |= 3U;
  }
  if (strict) {
    opts___1.flags |= 2U;
  }
  if (! nr_threads) {
    nr_threads = online_cpus();
    if (! (nr_threads < 4)) {
      if (nr_threads < 6) {
        nr_threads = 3;
      } else
      if (nr_threads < 40) {
        nr_threads /= 2;
      } else {
        nr_threads = 20;
      }
    }
  }
  curr_pack = open_pack_file(pack_name);
  parse_pack_header();
  tmp___42 = st_add((size_t )nr_objects, (size_t )1);
  tmp___43 = xcalloc(tmp___42, sizeof(*objects));
  objects = (struct object_entry___1 *)tmp___43;
  if (show_stat) {
    tmp___44 = st_add((size_t )nr_objects, (size_t )1);
    tmp___45 = xcalloc(tmp___44, sizeof(*obj_stat));
    obj_stat = (struct object_stat *)tmp___45;
  }
  tmp___46 = xcalloc((size_t )nr_objects, sizeof(*ofs_deltas));
  ofs_deltas = (struct ofs_delta_entry *)tmp___46;
  parse_pack_objects(pack_hash);
  if (report_end_of_input) {
    write_in_full(2, (void const   *)"\000", (size_t )1);
  }
  resolve_deltas();
  conclude_pack(fix_thin_pack, curr_pack, pack_hash);
  free((void *)ofs_deltas);
  free((void *)ref_deltas);
  if (strict) {
    foreign_nr = check_objects();
  }
  if (show_stat) {
    show_pack_info(stat_only);
  }
  tmp___47 = st_mult(sizeof(*idx_objects), (size_t )nr_objects);
  tmp___48 = xmalloc(tmp___47);
  idx_objects = (struct pack_idx_entry **)tmp___48;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < nr_objects)) {
      goto while_break___0;
    }
    *(idx_objects + i) = & (objects + i)->idx;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  curr_index = write_idx_file(index_name, idx_objects, nr_objects, (struct pack_idx_option  const  *)(& opts___1),
                              (unsigned char const   *)(pack_hash));
  if (rev_index) {
    curr_rev_index = write_rev_file(rev_index_name, idx_objects, (uint32_t )nr_objects,
                                    (unsigned char const   *)(pack_hash), opts___1.flags);
  }
  free((void *)idx_objects);
  if (! verify___0) {
    final(pack_name, curr_pack, index_name, curr_index, rev_index_name, curr_rev_index,
          keep_msg___0, promisor_msg, pack_hash);
  } else {
    close(input_fd);
  }
  if (do_fsck_object) {
    tmp___50 = fsck_finish(& fsck_options___0);
    if (tmp___50) {
      tmp___49 = _((char const   *)"fsck error in pack objects");
      die((char const   *)tmp___49);
    }
  }
  free((void *)objects);
  strbuf_release(& index_name_buf);
  strbuf_release(& rev_index_name_buf);
  if ((unsigned long )pack_name == (unsigned long )((void *)0)) {
    free((void *)curr_pack);
  }
  if ((unsigned long )index_name == (unsigned long )((void *)0)) {
    free((void *)curr_index);
  }
  if ((unsigned long )rev_index_name == (unsigned long )((void *)0)) {
    free((void *)curr_rev_index);
  }
  if (check_self_contained_and_connected) {
    if (foreign_nr) {
      return (1);
    }
  }
  return (0);
}
}
static int init_is_bare_repository  =    0;
static int init_shared_repository  =    -1;
static void copy_templates_1(struct strbuf *path___6 , struct strbuf *template_path ,
                             DIR *dir )
{
  size_t path_baselen ;
  size_t template_baselen ;
  struct dirent *de ;
  struct stat st_git ;
  struct stat st_template ;
  int exists ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  DIR *subdir ;
  DIR *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  struct strbuf lnk ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;

  {
  path_baselen = path___6->len;
  template_baselen = template_path->len;
  safe_create_dir((char const   *)path___6->buf, 1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    de = readdir(dir);
    if (! ((unsigned long )de != (unsigned long )((void *)0))) {
      goto while_break;
    }
    exists = 0;
    strbuf_setlen___33(path___6, path_baselen);
    strbuf_setlen___33(template_path, template_baselen);
    if ((int )de->d_name[0] == 46) {
      goto while_continue;
    }
    strbuf_addstr(path___6, (char const   *)(de->d_name));
    strbuf_addstr(template_path, (char const   *)(de->d_name));
    tmp___1 = lstat((char const   *)path___6->buf, & st_git);
    if (tmp___1) {
      tmp___0 = __errno_location();
      if (*tmp___0 != 2) {
        tmp = _((char const   *)"cannot stat \'%s\'");
        die_errno((char const   *)tmp, path___6->buf);
      }
    } else {
      exists = 1;
    }
    tmp___3 = lstat((char const   *)template_path->buf, & st_template);
    if (tmp___3) {
      tmp___2 = _((char const   *)"cannot stat template \'%s\'");
      die_errno((char const   *)tmp___2, template_path->buf);
    }
    if ((st_template.st_mode & 61440U) == 16384U) {
      tmp___4 = opendir((char const   *)template_path->buf);
      subdir = tmp___4;
      if (! subdir) {
        tmp___5 = _((char const   *)"cannot opendir \'%s\'");
        die_errno((char const   *)tmp___5, template_path->buf);
      }
      strbuf_addch(path___6, '/');
      strbuf_addch(template_path, '/');
      copy_templates_1(path___6, template_path, subdir);
      closedir(subdir);
    } else
    if (exists) {
      goto while_continue;
    } else
    if ((st_template.st_mode & 61440U) == 40960U) {
      lnk.alloc = 0UL;
      lnk.len = 0UL;
      lnk.buf = strbuf_slopbuf;
      tmp___7 = strbuf_readlink(& lnk, (char const   *)template_path->buf, (size_t )st_template.st_size);
      if (tmp___7 < 0) {
        tmp___6 = _((char const   *)"cannot readlink \'%s\'");
        die_errno((char const   *)tmp___6, template_path->buf);
      }
      tmp___9 = symlink((char const   *)lnk.buf, (char const   *)path___6->buf);
      if (tmp___9) {
        tmp___8 = _((char const   *)"cannot symlink \'%s\' \'%s\'");
        die_errno((char const   *)tmp___8, lnk.buf, path___6->buf);
      }
      strbuf_release(& lnk);
    } else
    if ((st_template.st_mode & 61440U) == 32768U) {
      tmp___11 = copy_file((char const   *)path___6->buf, (char const   *)template_path->buf,
                           (int )st_template.st_mode);
      if (tmp___11) {
        tmp___10 = _((char const   *)"cannot copy \'%s\' to \'%s\'");
        die_errno((char const   *)tmp___10, template_path->buf, path___6->buf);
      }
    } else {
      tmp___12 = _((char const   *)"ignoring template %s");
      error((char const   *)tmp___12, template_path->buf);
      const_error();
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void copy_templates(char const   *template_dir , char const   *init_template_dir )
{
  struct strbuf path___6 ;
  struct strbuf template_path ;
  size_t template_len ;
  struct repository_format template_format ;
  struct strbuf err___4 ;
  DIR *dir ;
  char *to_free ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;

  {
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  template_path.alloc = 0UL;
  template_path.len = 0UL;
  template_path.buf = strbuf_slopbuf;
  template_format.version = -1;
  template_format.precious_objects = 0;
  template_format.partial_clone = (char *)0;
  template_format.worktree_config = 0;
  template_format.is_bare = -1;
  template_format.hash_algo = 1;
  template_format.sparse_index = 0;
  template_format.work_tree = (char *)0;
  template_format.unknown_extensions.items = (struct string_list_item *)0;
  template_format.unknown_extensions.nr = 0U;
  template_format.unknown_extensions.alloc = 0U;
  template_format.unknown_extensions.strdup_strings = 1U;
  template_format.unknown_extensions.cmp = (int (*)(char const   * , char const   * ))0;
  template_format.v1_only_extensions.items = (struct string_list_item *)0;
  template_format.v1_only_extensions.nr = 0U;
  template_format.v1_only_extensions.alloc = 0U;
  template_format.v1_only_extensions.strdup_strings = 1U;
  template_format.v1_only_extensions.cmp = (int (*)(char const   * , char const   * ))0;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  to_free = (char *)((void *)0);
  if (! template_dir) {
    tmp = getenv((char const   *)"GIT_TEMPLATE_DIR");
    template_dir = (char const   *)tmp;
  }
  if (! template_dir) {
    template_dir = init_template_dir;
  }
  if (! template_dir) {
    to_free = system_path((char const   *)"/usr/local/share/git-core/templates");
    template_dir = (char const   *)to_free;
  }
  if (! *(template_dir + 0)) {
    free((void *)to_free);
    return;
  }
  strbuf_addstr(& template_path, template_dir);
  strbuf_complete(& template_path, (char )'/');
  template_len = template_path.len;
  dir = opendir((char const   *)template_path.buf);
  if (! dir) {
    tmp___0 = _((char const   *)"templates not found in %s");
    warning((char const   *)tmp___0, template_dir);
    goto free_return;
  }
  strbuf_addstr(& template_path, (char const   *)"config");
  read_repository_format(& template_format, (char const   *)template_path.buf);
  strbuf_setlen___33(& template_path, template_len);
  if (template_format.version >= 0) {
    tmp___2 = verify_repository_format((struct repository_format  const  *)(& template_format),
                                       & err___4);
    if (tmp___2 < 0) {
      tmp___1 = _((char const   *)"not copying templates from \'%s\': %s");
      warning((char const   *)tmp___1, template_dir, err___4.buf);
      strbuf_release(& err___4);
      goto close_free_return;
    }
  }
  tmp___3 = get_git_common_dir();
  strbuf_addstr(& path___6, tmp___3);
  strbuf_complete(& path___6, (char )'/');
  copy_templates_1(& path___6, & template_path, dir);
  close_free_return:
  closedir(dir);
  free_return:
  free((void *)to_free);
  strbuf_release(& path___6);
  strbuf_release(& template_path);
  clear_repository_format(& template_format);
  return;
}
}
static int needs_work_tree_config(char const   *git_dir , char const   *work_tree )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = strcmp(work_tree, (char const   *)"/");
  if (! tmp) {
    tmp___0 = strcmp(git_dir, (char const   *)"/.git");
    if (! tmp___0) {
      return (0);
    }
  }
  tmp___1 = skip_prefix(git_dir, work_tree, & git_dir);
  if (tmp___1) {
    tmp___2 = strcmp(git_dir, (char const   *)"/.git");
    if (! tmp___2) {
      return (0);
    }
  }
  return (1);
}
}
void initialize_repository_version(int hash_algo , int reinit )
{
  char repo_version_string[10] ;
  int repo_version ;

  {
  repo_version = 0;
  if (hash_algo != 1) {
    repo_version = 1;
  }
  xsnprintf(repo_version_string, sizeof(repo_version_string), (char const   *)"%d",
            repo_version);
  git_config_set((char const   *)"core.repositoryformatversion", (char const   *)(repo_version_string));
  if (hash_algo != 1) {
    git_config_set((char const   *)"extensions.objectformat", (char const   *)hash_algos[hash_algo].name);
  } else
  if (reinit) {
    git_config_set_gently((char const   *)"extensions.objectformat", (char const   *)((void *)0));
  }
  return;
}
}
static int create_default_files(char const   *template_path , char const   *original_git_dir ,
                                char const   *initial_branch , struct repository_format  const  *fmt ,
                                int quiet___7 )
{
  struct stat st1 ;
  struct strbuf buf___19 ;
  char *path___6 ;
  char junk[2] ;
  int reinit ;
  int filemode ;
  struct strbuf err___4 ;
  char const   *init_template_dir ;
  char const   *work_tree ;
  char const   *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  ssize_t tmp___7 ;
  int tmp___8 ;
  char *ref ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  struct stat st2 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  char *tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  init_template_dir = (char const   *)((void *)0);
  tmp = get_git_work_tree();
  work_tree = tmp;
  git_config_get_pathname((char const   *)"init.templatedir", & init_template_dir);
  copy_templates(template_path, init_template_dir);
  free((void *)((char *)init_template_dir));
  git_config_clear();
  reset_shared_repository();
  git_config(& git_default_config, (void *)0);
  if (init_is_bare_repository) {
    tmp___0 = 1;
  } else
  if (! work_tree) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  is_bare_repository_cfg = tmp___0;
  if (init_shared_repository != -1) {
    set_shared_repository(init_shared_repository);
  }
  tmp___2 = get_shared_repository();
  if (tmp___2) {
    tmp___1 = get_git_dir();
    adjust_shared_perm(tmp___1);
  }
  tmp___3 = git_path((char const   *)"refs");
  safe_create_dir(tmp___3, 1);
  tmp___4 = git_path((char const   *)"refs");
  adjust_shared_perm(tmp___4);
  tmp___5 = refs_init_db(& err___4);
  if (tmp___5) {
    die((char const   *)"failed to set up refs db: %s", err___4.buf);
  }
  path___6 = git_path_buf(& buf___19, (char const   *)"HEAD");
  tmp___6 = access((char const   *)path___6, 4);
  if (tmp___6) {
    tmp___7 = readlink((char const   *)path___6, junk, sizeof(junk) - 1UL);
    if (tmp___7 != -1L) {
      tmp___8 = 1;
    } else {
      tmp___8 = 0;
    }
  } else {
    tmp___8 = 1;
  }
  reinit = tmp___8;
  if (! reinit) {
    if (! initial_branch) {
      initial_branch = git_default_branch_name(quiet___7);
    }
    ref = xstrfmt((char const   *)"refs/heads/%s", initial_branch);
    tmp___10 = check_refname_format((char const   *)ref, 0);
    if (tmp___10 < 0) {
      tmp___9 = _((char const   *)"invalid initial branch name: \'%s\'");
      die((char const   *)tmp___9, initial_branch);
    }
    tmp___12 = create_symref((char const   *)"HEAD", (char const   *)ref, (char const   *)((void *)0));
    if (tmp___12 < 0) {
      tmp___11 = trace2_cmd_exit_fl((char const   *)"builtin/init-db.c", 267, 1);
      exit(tmp___11);
    }
    free((void *)ref);
  }
  initialize_repository_version((int )fmt->hash_algo, 0);
  path___6 = git_path_buf(& buf___19, (char const   *)"config");
  filemode = 1;
  tmp___17 = lstat((char const   *)path___6, & st1);
  if (! tmp___17) {
    tmp___13 = chmod((char const   *)path___6, st1.st_mode ^ 64U);
    if (tmp___13) {
      tmp___16 = 0;
    } else {
      tmp___14 = lstat((char const   *)path___6, & st2);
      if (tmp___14) {
        tmp___16 = 0;
      } else
      if (st1.st_mode != st2.st_mode) {
        tmp___15 = chmod((char const   *)path___6, st1.st_mode);
        if (tmp___15) {
          tmp___16 = 0;
        } else {
          tmp___16 = 1;
        }
      } else {
        tmp___16 = 0;
      }
    }
    filemode = tmp___16;
    if (filemode) {
      if (! reinit) {
        if (st1.st_mode & 64U) {
          filemode = 0;
        }
      }
    }
  }
  if (filemode) {
    tmp___18 = "true";
  } else {
    tmp___18 = "false";
  }
  git_config_set((char const   *)"core.filemode", (char const   *)tmp___18);
  tmp___20 = is_bare_repository();
  if (tmp___20) {
    git_config_set((char const   *)"core.bare", (char const   *)"true");
  } else {
    git_config_set((char const   *)"core.bare", (char const   *)"false");
    if ((int )log_all_ref_updates == -1) {
      git_config_set((char const   *)"core.logallrefupdates", (char const   *)"true");
    }
    tmp___19 = needs_work_tree_config(original_git_dir, work_tree);
    if (tmp___19) {
      git_config_set((char const   *)"core.worktree", work_tree);
    }
  }
  if (! reinit) {
    path___6 = git_path_buf(& buf___19, (char const   *)"tXXXXXX");
    tmp___21 = xmkstemp(path___6);
    tmp___22 = close(tmp___21);
    if (tmp___22) {
      git_config_set((char const   *)"core.symlinks", (char const   *)"false");
    } else {
      tmp___23 = unlink((char const   *)path___6);
      if (tmp___23) {
        git_config_set((char const   *)"core.symlinks", (char const   *)"false");
      } else {
        tmp___24 = symlink((char const   *)"testing", (char const   *)path___6);
        if (tmp___24) {
          git_config_set((char const   *)"core.symlinks", (char const   *)"false");
        } else {
          tmp___25 = lstat((char const   *)path___6, & st1);
          if (tmp___25) {
            git_config_set((char const   *)"core.symlinks", (char const   *)"false");
          } else
          if ((st1.st_mode & 61440U) == 40960U) {
            unlink((char const   *)path___6);
          } else {
            git_config_set((char const   *)"core.symlinks", (char const   *)"false");
          }
        }
      }
    }
    path___6 = git_path_buf(& buf___19, (char const   *)"CoNfIg");
    tmp___26 = access((char const   *)path___6, 0);
    if (! tmp___26) {
      git_config_set((char const   *)"core.ignorecase", (char const   *)"true");
    }
  }
  strbuf_release(& buf___19);
  return (reinit);
}
}
static void create_object_directory(void)
{
  struct strbuf path___6 ;
  size_t baselen ;
  char *tmp ;

  {
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  tmp = get_object_directory();
  strbuf_addstr(& path___6, (char const   *)tmp);
  baselen = path___6.len;
  safe_create_dir((char const   *)path___6.buf, 1);
  strbuf_setlen___33(& path___6, baselen);
  strbuf_addstr(& path___6, (char const   *)"/pack");
  safe_create_dir((char const   *)path___6.buf, 1);
  strbuf_setlen___33(& path___6, baselen);
  strbuf_addstr(& path___6, (char const   *)"/info");
  safe_create_dir((char const   *)path___6.buf, 1);
  strbuf_release(& path___6);
  return;
}
}
static void separate_git_dir(char const   *git_dir , char const   *git_link )
{
  struct stat st ;
  char const   *src ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___2 = stat(git_link, & st);
  if (! tmp___2) {
    if ((st.st_mode & 61440U) == 32768U) {
      src = read_gitfile_gently(git_link, (int *)((void *)0));
    } else
    if ((st.st_mode & 61440U) == 16384U) {
      src = git_link;
    } else {
      tmp = _((char const   *)"unable to handle file type %d");
      die((char const   *)tmp, (int )st.st_mode);
    }
    tmp___1 = rename(src, git_dir);
    if (tmp___1) {
      tmp___0 = _((char const   *)"unable to move %s to %s");
      die_errno((char const   *)tmp___0, src, git_dir);
    }
    repair_worktrees((void (*)(int iserr , char const   *path , char const   *msg ,
                               void *cb_data ))((void *)0), (void *)0);
  }
  write_file(git_link, (char const   *)"gitdir: %s", git_dir);
  return;
}
}
static void validate_hash_algorithm(struct repository_format *repo_fmt , int hash___0 )
{
  char const   *env ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int env_algo ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  tmp = getenv((char const   *)"GIT_DEFAULT_HASH");
  env = (char const   *)tmp;
  if (repo_fmt->version >= 0) {
    if (hash___0 != 0) {
      if (hash___0 != repo_fmt->hash_algo) {
        tmp___0 = _((char const   *)"attempt to reinitialize repository with different hash");
        die((char const   *)tmp___0);
      } else {
        goto _L___0;
      }
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  _L: /* CIL Label */
  if (hash___0 != 0) {
    repo_fmt->hash_algo = hash___0;
  } else
  if (env) {
    tmp___1 = hash_algo_by_name(env);
    env_algo = tmp___1;
    if (env_algo == 0) {
      tmp___2 = _((char const   *)"unknown hash algorithm \'%s\'");
      die((char const   *)tmp___2, env);
    }
    repo_fmt->hash_algo = env_algo;
  }
  return;
}
}
int init_db(char const   *git_dir , char const   *real_git_dir___0 , char const   *template_dir ,
            int hash___0 , char const   *initial_branch , unsigned int flags___0 )
{
  int reinit ;
  int exist_ok ;
  char *original_git_dir ;
  char *tmp ;
  struct repository_format repo_fmt ;
  struct stat st ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char buf___19[10] ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int len___0 ;
  size_t tmp___10 ;
  char *tmp___11 ;
  int tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;
  char *tmp___17 ;
  int tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  char const __attribute__((__format_arg__(1)))  *tmp___21 ;
  int tmp___22 ;

  {
  exist_ok = (int )(flags___0 & 2U);
  tmp = real_pathdup(git_dir, 1);
  original_git_dir = tmp;
  repo_fmt.version = -1;
  repo_fmt.precious_objects = 0;
  repo_fmt.partial_clone = (char *)0;
  repo_fmt.worktree_config = 0;
  repo_fmt.is_bare = -1;
  repo_fmt.hash_algo = 1;
  repo_fmt.sparse_index = 0;
  repo_fmt.work_tree = (char *)0;
  repo_fmt.unknown_extensions.items = (struct string_list_item *)0;
  repo_fmt.unknown_extensions.nr = 0U;
  repo_fmt.unknown_extensions.alloc = 0U;
  repo_fmt.unknown_extensions.strdup_strings = 1U;
  repo_fmt.unknown_extensions.cmp = (int (*)(char const   * , char const   * ))0;
  repo_fmt.v1_only_extensions.items = (struct string_list_item *)0;
  repo_fmt.v1_only_extensions.nr = 0U;
  repo_fmt.v1_only_extensions.alloc = 0U;
  repo_fmt.v1_only_extensions.strdup_strings = 1U;
  repo_fmt.v1_only_extensions.cmp = (int (*)(char const   * , char const   * ))0;
  if (real_git_dir___0) {
    if (! exist_ok) {
      tmp___1 = stat(git_dir, & st);
      if (! tmp___1) {
        tmp___0 = _((char const   *)"%s already exists");
        die((char const   *)tmp___0, git_dir);
      }
    }
    if (! exist_ok) {
      tmp___3 = stat(real_git_dir___0, & st);
      if (! tmp___3) {
        tmp___2 = _((char const   *)"%s already exists");
        die((char const   *)tmp___2, real_git_dir___0);
      }
    }
    set_git_dir(real_git_dir___0, 1);
    git_dir = get_git_dir();
    separate_git_dir(git_dir, (char const   *)original_git_dir);
  } else {
    set_git_dir(git_dir, 1);
    git_dir = get_git_dir();
  }
  startup_info->have_repository = 1;
  git_config(& noop_core_config, (void *)0);
  safe_create_dir(git_dir, 0);
  init_is_bare_repository = is_bare_repository();
  check_repository_format(& repo_fmt);
  validate_hash_algorithm(& repo_fmt, hash___0);
  reinit = create_default_files(template_dir, (char const   *)original_git_dir, initial_branch,
                                (struct repository_format  const  *)(& repo_fmt),
                                (int )(flags___0 & 1U));
  if (reinit) {
    if (initial_branch) {
      tmp___4 = _((char const   *)"re-init: ignored --initial-branch=%s");
      warning((char const   *)tmp___4, initial_branch);
    }
  }
  create_object_directory();
  tmp___9 = get_shared_repository();
  if (tmp___9) {
    tmp___8 = get_shared_repository();
    if (tmp___8 < 0) {
      tmp___5 = get_shared_repository();
      xsnprintf(buf___19, sizeof(buf___19), (char const   *)"0%o", - tmp___5);
    } else {
      tmp___7 = get_shared_repository();
      if (tmp___7 == 432) {
        xsnprintf(buf___19, sizeof(buf___19), (char const   *)"%d", 1);
      } else {
        tmp___6 = get_shared_repository();
        if (tmp___6 == 436) {
          xsnprintf(buf___19, sizeof(buf___19), (char const   *)"%d", 2);
        } else {
          BUG_fl((char const   *)"builtin/init-db.c", 453, (char const   *)"invalid value for shared_repository");
        }
      }
    }
    git_config_set((char const   *)"core.sharedrepository", (char const   *)(buf___19));
    git_config_set((char const   *)"receive.denyNonFastforwards", (char const   *)"true");
  }
  if (! (flags___0 & 1U)) {
    tmp___10 = strlen(git_dir);
    len___0 = (int )tmp___10;
    if (reinit) {
      if (len___0) {
        if ((int const   )*(git_dir + (len___0 - 1)) != 47) {
          tmp___11 = "/";
        } else {
          tmp___11 = "";
        }
      } else {
        tmp___11 = "";
      }
      tmp___16 = get_shared_repository();
      if (tmp___16) {
        tmp___13 = _((char const   *)"Reinitialized existing shared Git repository in %s%s\n");
        tmp___15 = tmp___13;
      } else {
        tmp___14 = _((char const   *)"Reinitialized existing Git repository in %s%s\n");
        tmp___15 = tmp___14;
      }
      printf((char const   *)tmp___15, git_dir, tmp___11);
    } else {
      if (len___0) {
        if ((int const   )*(git_dir + (len___0 - 1)) != 47) {
          tmp___17 = "/";
        } else {
          tmp___17 = "";
        }
      } else {
        tmp___17 = "";
      }
      tmp___22 = get_shared_repository();
      if (tmp___22) {
        tmp___19 = _((char const   *)"Initialized empty shared Git repository in %s%s\n");
        tmp___21 = tmp___19;
      } else {
        tmp___20 = _((char const   *)"Initialized empty Git repository in %s%s\n");
        tmp___21 = tmp___20;
      }
      printf((char const   *)tmp___21, git_dir, tmp___17);
    }
  }
  free((void *)original_git_dir);
  return (0);
}
}
static int guess_repository_type(char const   *git_dir )
{
  char const   *slash ;
  char *cwd___0 ;
  int cwd_is_git_dir ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;

  {
  tmp = strcmp((char const   *)".", git_dir);
  if (! tmp) {
    return (1);
  }
  cwd___0 = xgetcwd();
  tmp___0 = strcmp(git_dir, (char const   *)cwd___0);
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  cwd_is_git_dir = tmp___1;
  free((void *)cwd___0);
  if (cwd_is_git_dir) {
    return (1);
  }
  tmp___2 = strcmp(git_dir, (char const   *)".git");
  if (! tmp___2) {
    return (0);
  }
  tmp___3 = strrchr(git_dir, '/');
  slash = (char const   *)tmp___3;
  if (slash) {
    tmp___4 = strcmp(slash, (char const   *)"/.git");
    if (! tmp___4) {
      return (0);
    }
  }
  return (1);
}
}
static int shared_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/init-db.c", 512, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (arg) {
    tmp = git_config_perm((char const   *)"arg", arg);
    *((int *)opt___0->value) = tmp;
  } else {
    *((int *)opt___0->value) = 432;
  }
  return (0);
}
}
static char const   *init_db_usage[2]  = {      (char const   *)"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--shared[=<permissions>]] [<directory>]",      (char const   *)((void *)0)};
int cmd_init_db(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char const   *git_dir ;
  char const   *real_git_dir___0 ;
  char const   *work_tree ;
  char const   *template_dir ;
  unsigned int flags___0 ;
  char const   *object_format ;
  char const   *initial_branch ;
  int hash_algo ;
  struct option init_db_options[8] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  int mkdir_tried ;
  int saved ;
  enum scld_error tmp___4 ;
  int *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  char *cwd___0 ;
  char *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char *tmp___13 ;
  char *tmp___14 ;
  char *tmp___15 ;
  char *tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  int err___4 ;
  char const   *p___0 ;
  struct strbuf sb___6 ;
  struct strbuf mainwt ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  int tmp___19 ;
  char *tmp___20 ;
  int tmp___21 ;
  char const   *git_dir_parent ;
  char *tmp___22 ;
  char *rel ;
  char *tmp___23 ;
  char const   *tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  char const   *tmp___26 ;
  int tmp___27 ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  int tmp___29 ;

  {
  real_git_dir___0 = (char const   *)((void *)0);
  template_dir = (char const   *)((void *)0);
  flags___0 = 0U;
  object_format = (char const   *)((void *)0);
  initial_branch = (char const   *)((void *)0);
  hash_algo = 0;
  init_db_options[0].type = (enum parse_opt_type )((enum parse_opt_type )9);
  init_db_options[0].short_name = (int )0;
  init_db_options[0].long_name = (char const   *)((char const   *)"template");
  init_db_options[0].value = (void *)((void *)(& template_dir));
  init_db_options[0].argh = (char const   *)((char const   *)"template-directory");
  init_db_options[0].help = (char const   *)((char const   *)"directory from which templates will be used");
  init_db_options[0].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  init_db_options[0].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  init_db_options[0].defval = (intptr_t )0L;
  init_db_options[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  init_db_options[0].extra = (intptr_t )0L;
  init_db_options[1].type = (enum parse_opt_type )((enum parse_opt_type )8);
  init_db_options[1].short_name = (int )0;
  init_db_options[1].long_name = (char const   *)((char const   *)"bare");
  init_db_options[1].value = (void *)((void *)(& is_bare_repository_cfg));
  init_db_options[1].argh = (char const   *)((char const   *)((void *)0));
  init_db_options[1].help = (char const   *)((char const   *)"create a bare repository");
  init_db_options[1].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  init_db_options[1].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  init_db_options[1].defval = (intptr_t )((intptr_t )1);
  init_db_options[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  init_db_options[1].extra = (intptr_t )0L;
  init_db_options[2].type = (enum parse_opt_type )((enum parse_opt_type )12);
  init_db_options[2].short_name = (int )0;
  init_db_options[2].long_name = (char const   *)((char const   *)"shared");
  init_db_options[2].value = (void *)((void *)(& init_shared_repository));
  init_db_options[2].argh = (char const   *)((char const   *)"permissions");
  init_db_options[2].help = (char const   *)((char const   *)"specify that the git repository is to be shared amongst several users");
  init_db_options[2].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )5);
  init_db_options[2].callback = (parse_opt_cb *)(& shared_callback);
  init_db_options[2].defval = (intptr_t )((intptr_t )0);
  init_db_options[2].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  init_db_options[2].extra = (intptr_t )0L;
  init_db_options[3].type = (enum parse_opt_type )((enum parse_opt_type )4);
  init_db_options[3].short_name = (int )'q';
  init_db_options[3].long_name = (char const   *)((char const   *)"quiet");
  init_db_options[3].value = (void *)((void *)(& flags___0));
  init_db_options[3].argh = (char const   *)((char const   *)((void *)0));
  init_db_options[3].help = (char const   *)((char const   *)"be quiet");
  init_db_options[3].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  init_db_options[3].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  init_db_options[3].defval = (intptr_t )((intptr_t )0x0001);
  init_db_options[3].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  init_db_options[3].extra = (intptr_t )0L;
  init_db_options[4].type = (enum parse_opt_type )((enum parse_opt_type )9);
  init_db_options[4].short_name = (int )0;
  init_db_options[4].long_name = (char const   *)((char const   *)"separate-git-dir");
  init_db_options[4].value = (void *)((void *)(& real_git_dir___0));
  init_db_options[4].argh = (char const   *)((char const   *)"gitdir");
  init_db_options[4].help = (char const   *)((char const   *)"separate git dir from working tree");
  init_db_options[4].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  init_db_options[4].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  init_db_options[4].defval = (intptr_t )0L;
  init_db_options[4].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  init_db_options[4].extra = (intptr_t )0L;
  init_db_options[5].type = (enum parse_opt_type )((enum parse_opt_type )9);
  init_db_options[5].short_name = (int )'b';
  init_db_options[5].long_name = (char const   *)((char const   *)"initial-branch");
  init_db_options[5].value = (void *)((void *)(& initial_branch));
  init_db_options[5].argh = (char const   *)((char const   *)"name");
  init_db_options[5].help = (char const   *)((char const   *)"override the name of the initial branch");
  init_db_options[5].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  init_db_options[5].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  init_db_options[5].defval = (intptr_t )0L;
  init_db_options[5].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  init_db_options[5].extra = (intptr_t )0L;
  init_db_options[6].type = (enum parse_opt_type )((enum parse_opt_type )9);
  init_db_options[6].short_name = (int )0;
  init_db_options[6].long_name = (char const   *)((char const   *)"object-format");
  init_db_options[6].value = (void *)((void *)(& object_format));
  init_db_options[6].argh = (char const   *)((char const   *)"hash");
  init_db_options[6].help = (char const   *)((char const   *)"specify the hash algorithm to use");
  init_db_options[6].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  init_db_options[6].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  init_db_options[6].defval = (intptr_t )0L;
  init_db_options[6].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  init_db_options[6].extra = (intptr_t )0L;
  init_db_options[7].type = (enum parse_opt_type )((enum parse_opt_type )0);
  init_db_options[7].short_name = (int )0;
  init_db_options[7].long_name = (char const   *)((char const   *)0);
  init_db_options[7].value = (void *)((void *)0);
  init_db_options[7].argh = (char const   *)((char const   *)0);
  init_db_options[7].help = (char const   *)((char const   *)0);
  init_db_options[7].flags = (enum parse_opt_option_flags )0U;
  init_db_options[7].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  init_db_options[7].defval = (intptr_t )0L;
  init_db_options[7].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  init_db_options[7].extra = (intptr_t )0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(init_db_options),
                       init_db_usage, (enum parse_opt_flags )0);
  if (real_git_dir___0) {
    if (is_bare_repository_cfg == 1) {
      tmp = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp, "--separate-git-dir", "--bare");
    }
  }
  if (real_git_dir___0) {
    tmp___1 = is_absolute_path(real_git_dir___0);
    if (! tmp___1) {
      tmp___0 = real_pathdup(real_git_dir___0, 1);
      real_git_dir___0 = (char const   *)tmp___0;
    }
  }
  if (template_dir) {
    if (*template_dir) {
      tmp___3 = is_absolute_path(template_dir);
      if (! tmp___3) {
        tmp___2 = absolute_pathdup(template_dir);
        template_dir = (char const   *)tmp___2;
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          goto while_break;
        }
        while_break: /* CIL Label */ ;
        }
      }
    }
  }
  if (argc == 1) {
    mkdir_tried = 0;
    retry:
    tmp___10 = chdir(*(argv___0 + 0));
    if (tmp___10 < 0) {
      if (! mkdir_tried) {
        saved = get_shared_repository();
        set_shared_repository(0);
        tmp___4 = safe_create_leading_directories_const(*(argv___0 + 0));
        {
        if ((int )tmp___4 == -2) {
          goto case_neg_2;
        }
        if ((int )tmp___4 == 0) {
          goto case_neg_2;
        }
        if ((int )tmp___4 == -3) {
          goto case_neg_3;
        }
        goto switch_default;
        case_neg_2: /* CIL Label */
        case_0: /* CIL Label */
        goto switch_break;
        case_neg_3: /* CIL Label */
        tmp___5 = __errno_location();
        *tmp___5 = 17;
        switch_default: /* CIL Label */
        tmp___6 = _((char const   *)"cannot mkdir %s");
        die_errno((char const   *)tmp___6, *(argv___0 + 0));
        goto switch_break;
        switch_break: /* CIL Label */ ;
        }
        set_shared_repository(saved);
        tmp___8 = mkdir(*(argv___0 + 0), (__mode_t )0777);
        if (tmp___8 < 0) {
          tmp___7 = _((char const   *)"cannot mkdir %s");
          die_errno((char const   *)tmp___7, *(argv___0 + 0));
        }
        mkdir_tried = 1;
        goto retry;
      }
      tmp___9 = _((char const   *)"cannot chdir to %s");
      die_errno((char const   *)tmp___9, *(argv___0 + 0));
    }
  } else
  if (0 < argc) {
    usage((char const   *)init_db_usage[0]);
  }
  if (is_bare_repository_cfg == 1) {
    tmp___11 = xgetcwd();
    cwd___0 = tmp___11;
    setenv((char const   *)"GIT_DIR", (char const   *)cwd___0, argc > 0);
    free((void *)cwd___0);
  }
  if (object_format) {
    hash_algo = hash_algo_by_name(object_format);
    if (hash_algo == 0) {
      tmp___12 = _((char const   *)"unknown hash algorithm \'%s\'");
      die((char const   *)tmp___12, object_format);
    }
  }
  if (init_shared_repository != -1) {
    set_shared_repository(init_shared_repository);
  }
  tmp___13 = getenv((char const   *)"GIT_DIR");
  tmp___14 = xstrdup_or_null((char const   *)tmp___13);
  git_dir = (char const   *)tmp___14;
  tmp___15 = getenv((char const   *)"GIT_WORK_TREE");
  tmp___16 = xstrdup_or_null((char const   *)tmp___15);
  work_tree = (char const   *)tmp___16;
  if (! git_dir) {
    goto _L;
  } else
  if (is_bare_repository_cfg == 1) {
    _L: /* CIL Label */
    if (work_tree) {
      tmp___17 = _((char const   *)"%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-dir=<directory>)");
      die((char const   *)tmp___17, "GIT_WORK_TREE", "GIT_DIR");
    }
  }
  if (! git_dir) {
    git_dir = (char const   *)".git";
  }
  if (real_git_dir___0) {
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    p___0 = read_gitfile_gently(git_dir, & err___4);
    if (p___0) {
      tmp___21 = get_common_dir(& sb___6, p___0);
      if (tmp___21) {
        mainwt.alloc = 0UL;
        mainwt.len = 0UL;
        mainwt.buf = strbuf_slopbuf;
        strbuf_addbuf(& mainwt, (struct strbuf  const  *)(& sb___6));
        strbuf_strip_suffix___33(& mainwt, (char const   *)"/.git");
        tmp___19 = chdir((char const   *)mainwt.buf);
        if (tmp___19 < 0) {
          tmp___18 = _((char const   *)"cannot chdir to %s");
          die_errno((char const   *)tmp___18, mainwt.buf);
        }
        strbuf_release(& mainwt);
        tmp___20 = strbuf_detach(& sb___6, (size_t *)((void *)0));
        git_dir = (char const   *)tmp___20;
      }
    }
    strbuf_release(& sb___6);
  }
  if (is_bare_repository_cfg < 0) {
    is_bare_repository_cfg = guess_repository_type(git_dir);
  }
  if (! is_bare_repository_cfg) {
    tmp___22 = strrchr(git_dir, '/');
    git_dir_parent = (char const   *)tmp___22;
    if (git_dir_parent) {
      tmp___23 = xstrndup(git_dir, (size_t )(git_dir_parent - git_dir));
      rel = tmp___23;
      git_work_tree_cfg = real_pathdup((char const   *)rel, 1);
      free((void *)rel);
    }
    if (! git_work_tree_cfg) {
      git_work_tree_cfg = xgetcwd();
    }
    if (work_tree) {
      set_git_work_tree(work_tree);
    } else {
      set_git_work_tree((char const   *)git_work_tree_cfg);
    }
    tmp___26 = get_git_work_tree();
    tmp___27 = access(tmp___26, 1);
    if (tmp___27) {
      tmp___24 = get_git_work_tree();
      tmp___25 = _((char const   *)"Cannot access work tree \'%s\'");
      die_errno((char const   *)tmp___25, tmp___24);
    }
  } else {
    if (real_git_dir___0) {
      tmp___28 = _((char const   *)"--separate-git-dir incompatible with bare repository");
      die((char const   *)tmp___28);
    }
    if (work_tree) {
      set_git_work_tree(work_tree);
    }
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  flags___0 |= 2U;
  tmp___29 = init_db(git_dir, real_git_dir___0, template_dir, hash_algo, initial_branch,
                     flags___0);
  return (tmp___29);
}
}
static char const   *git_interpret_trailers_usage[2]  = {      (char const   *)"git interpret-trailers [--in-place] [--trim-empty] [(--trailer <token>[(=|:)<value>])...] [<file>...]",      (char const   *)((void *)0)};
static enum trailer_where where  ;
static enum trailer_if_exists if_exists  ;
static enum trailer_if_missing if_missing  ;
static int option_parse_where(struct option  const  *opt___0 , char const   *arg ,
                              int unset )
{
  int tmp ;

  {
  tmp = trailer_set_where(& where, arg);
  return (tmp);
}
}
static int option_parse_if_exists(struct option  const  *opt___0 , char const   *arg ,
                                  int unset )
{
  int tmp ;

  {
  tmp = trailer_set_if_exists(& if_exists, arg);
  return (tmp);
}
}
static int option_parse_if_missing(struct option  const  *opt___0 , char const   *arg ,
                                   int unset )
{
  int tmp ;

  {
  tmp = trailer_set_if_missing(& if_missing, arg);
  return (tmp);
}
}
static void new_trailers_clear(struct list_head *trailers )
{
  struct list_head *pos ;
  struct list_head *tmp ;
  struct new_trailer_item *item___0 ;

  {
  pos = trailers->next;
  tmp = pos->next;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )pos != (unsigned long )trailers)) {
      goto while_break;
    }
    item___0 = (struct new_trailer_item *)((char *)pos - (unsigned long )(& ((struct new_trailer_item *)0)->list));
    list_del(pos);
    free((void *)item___0);
    pos = tmp;
    tmp = pos->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int option_parse_trailer(struct option  const  *opt___0 , char const   *arg ,
                                int unset )
{
  struct list_head *trailers ;
  struct new_trailer_item *item___0 ;
  void *tmp ;

  {
  trailers = (struct list_head *)opt___0->value;
  if (unset) {
    new_trailers_clear(trailers);
    return (0);
  }
  if (! arg) {
    return (-1);
  }
  tmp = xmalloc(sizeof(*item___0));
  item___0 = (struct new_trailer_item *)tmp;
  item___0->text = arg;
  item___0->where = where;
  item___0->if_exists = if_exists;
  item___0->if_missing = if_missing;
  list_add_tail(& item___0->list, trailers);
  return (0);
}
}
static int parse_opt_parse(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct process_trailer_options *v ;

  {
  v = (struct process_trailer_options *)opt___0->value;
  v->only_trailers = 1;
  v->only_input = 1;
  v->unfold = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/interpret-trailers.c", 84, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/interpret-trailers.c", 85, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (0);
}
}
int cmd_interpret_trailers(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct process_trailer_options opts___1 ;
  struct list_head trailers ;
  struct option options[12] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  opts___1.in_place = 0;
  opts___1.trim_empty = 0;
  opts___1.only_trailers = 0;
  opts___1.only_input = 0;
  opts___1.unfold = 0;
  opts___1.no_divider = 0;
  opts___1.key_only = 0;
  opts___1.value_only = 0;
  opts___1.separator = (struct strbuf  const  *)0;
  opts___1.key_value_separator = (struct strbuf  const  *)0;
  opts___1.filter = (int (*)(struct strbuf  const  * , void * ))0;
  opts___1.filter_data = (void *)0;
  trailers.next = & trailers;
  trailers.prev = & trailers;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"in-place";
  options[0].value = (void *)(& opts___1.in_place);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"edit files in place";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"trim-empty";
  options[1].value = (void *)(& opts___1.trim_empty);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"trim empty trailers";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )12;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"where";
  options[2].value = (void *)0;
  options[2].argh = (char const   *)"action";
  options[2].help = (char const   *)"where to place the new trailer";
  options[2].flags = (enum parse_opt_option_flags )0;
  options[2].callback = & option_parse_where;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )12;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"if-exists";
  options[3].value = (void *)0;
  options[3].argh = (char const   *)"action";
  options[3].help = (char const   *)"action if trailer already exists";
  options[3].flags = (enum parse_opt_option_flags )0;
  options[3].callback = & option_parse_if_exists;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )12;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"if-missing";
  options[4].value = (void *)0;
  options[4].argh = (char const   *)"action";
  options[4].help = (char const   *)"action if trailer is missing";
  options[4].flags = (enum parse_opt_option_flags )0;
  options[4].callback = & option_parse_if_missing;
  options[4].defval = 0L;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )8;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)"only-trailers";
  options[5].value = (void *)(& opts___1.only_trailers);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"output only the trailers";
  options[5].flags = (enum parse_opt_option_flags )2;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )1;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )8;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)"only-input";
  options[6].value = (void *)(& opts___1.only_input);
  options[6].argh = (char const   *)((void *)0);
  options[6].help = (char const   *)"do not apply config rules";
  options[6].flags = (enum parse_opt_option_flags )2;
  options[6].callback = (parse_opt_cb *)((void *)0);
  options[6].defval = (intptr_t )1;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )8;
  options[7].short_name = 0;
  options[7].long_name = (char const   *)"unfold";
  options[7].value = (void *)(& opts___1.unfold);
  options[7].argh = (char const   *)((void *)0);
  options[7].help = (char const   *)"join whitespace-continued values";
  options[7].flags = (enum parse_opt_option_flags )2;
  options[7].callback = (parse_opt_cb *)((void *)0);
  options[7].defval = (intptr_t )1;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )12;
  options[8].short_name = 0;
  options[8].long_name = (char const   *)"parse";
  options[8].value = (void *)(& opts___1);
  options[8].argh = (char const   *)((void *)0);
  options[8].help = (char const   *)"set parsing options";
  options[8].flags = (enum parse_opt_option_flags )6;
  options[8].callback = & parse_opt_parse;
  options[8].defval = 0L;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  options[9].type = (enum parse_opt_type )8;
  options[9].short_name = 0;
  options[9].long_name = (char const   *)"no-divider";
  options[9].value = (void *)(& opts___1.no_divider);
  options[9].argh = (char const   *)((void *)0);
  options[9].help = (char const   *)"do not treat --- specially";
  options[9].flags = (enum parse_opt_option_flags )2;
  options[9].callback = (parse_opt_cb *)((void *)0);
  options[9].defval = (intptr_t )1;
  options[9].ll_callback = (parse_opt_ll_cb *)0;
  options[9].extra = 0L;
  options[10].type = (enum parse_opt_type )12;
  options[10].short_name = 0;
  options[10].long_name = (char const   *)"trailer";
  options[10].value = (void *)(& trailers);
  options[10].argh = (char const   *)"trailer";
  options[10].help = (char const   *)"trailer(s) to add";
  options[10].flags = (enum parse_opt_option_flags )0;
  options[10].callback = & option_parse_trailer;
  options[10].defval = 0L;
  options[10].ll_callback = (parse_opt_ll_cb *)0;
  options[10].extra = 0L;
  options[11].type = (enum parse_opt_type )0;
  options[11].short_name = 0;
  options[11].long_name = (char const   *)0;
  options[11].value = (void *)0;
  options[11].argh = (char const   *)0;
  options[11].help = (char const   *)0;
  options[11].flags = 0U;
  options[11].callback = (parse_opt_cb *)0;
  options[11].defval = 0L;
  options[11].ll_callback = (parse_opt_ll_cb *)0;
  options[11].extra = 0L;
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_interpret_trailers_usage, (enum parse_opt_flags )0);
  if (opts___1.only_input) {
    tmp___0 = list_empty(& trailers);
    if (! tmp___0) {
      tmp = _((char const   *)"--trailer with --only-input does not make sense");
      usage_msg_opt((char const   *)tmp, git_interpret_trailers_usage, (struct option  const  *)(options));
    }
  }
  if (argc) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < argc)) {
        goto while_break;
      }
      process_trailers(*(argv___0 + i), (struct process_trailer_options  const  *)(& opts___1),
                       & trailers);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  } else {
    if (opts___1.in_place) {
      tmp___1 = _((char const   *)"no input file given for in-place editing");
      die((char const   *)tmp___1);
    }
    process_trailers((char const   *)((void *)0), (struct process_trailer_options  const  *)(& opts___1),
                     & trailers);
  }
  new_trailers_clear(& trailers);
  return (0);
}
}
static double const   __ac_HASH_UPPER___130  =    (double const   )0.77;
__inline static void kh_resize_oid_set___130(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___130(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___130 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___130 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___130(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___130(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___130(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___130(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___130(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___130(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___130 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___130 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___130(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___130(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___130(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___130(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___130(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___130(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___130 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___130 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___130(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___130(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___130(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___130(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___97(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___97(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___130 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___130 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___97(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___97(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___97(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___97(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
void shortlog_init(struct shortlog *log ) ;
void shortlog_add_commit(struct shortlog *log , struct commit *commit ) ;
void shortlog_output(struct shortlog *log ) ;
static void init_contains_cache_with_stride___21(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___21(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___21(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___21(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___21(s___1, 1U);
  return;
}
}
static void clear_contains_cache___21(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___21(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___21(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___21(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___21(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___21(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___21(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___21(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___21(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___21(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___21(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___21(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___21(s___1, c___0, 0);
  return (tmp);
}
}
static char const   *default_date_mode  =    (char const   *)((void *)0);
static int default_abbrev_commit  ;
static int default_show_root  =    1;
static int default_follow  ;
static int default_show_signature  ;
static int default_encode_email_headers  =    1;
static int decoration_style  ;
static int decoration_given  ;
static int use_mailmap_config  =    1;
static char const   *fmt_patch_subject_prefix  =    (char const   *)"PATCH";
static int fmt_patch_name_max  =    64;
static char const   *fmt_pretty  ;
static char const   *builtin_log_usage[3]  = {      (char const   *)"git log [<options>] [<revision-range>] [[--] <path>...]",      (char const   *)"git show [<options>] <object>...",      (char const   *)((void *)0)};
static int session_is_interactive(void)
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = isatty(1);
  if (tmp) {
    tmp___1 = 1;
  } else {
    tmp___0 = pager_in_use();
    if (tmp___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  }
  return (tmp___1);
}
}
static int auto_decoration_style(void)
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp___1 = session_is_interactive();
  if (tmp___1) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static int parse_decoration_style(char const   *value )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp = git_parse_maybe_bool(value);
  {
  if (tmp == 1) {
    goto case_1;
  }
  if (tmp == 0) {
    goto case_0;
  }
  goto switch_default;
  case_1: /* CIL Label */
  return (1);
  case_0: /* CIL Label */
  return (0);
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  tmp___3 = strcmp(value, (char const   *)"full");
  if (tmp___3) {
    tmp___2 = strcmp(value, (char const   *)"short");
    if (tmp___2) {
      tmp___1 = strcmp(value, (char const   *)"auto");
      if (! tmp___1) {
        tmp___0 = auto_decoration_style();
        return (tmp___0);
      }
    } else {
      return (1);
    }
  } else {
    return (2);
  }
  return (-1);
}
}
static int decorate_callback(struct option  const  *opt___0 , char const   *arg ,
                             int unset )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if (unset) {
    decoration_style = 0;
  } else
  if (arg) {
    decoration_style = parse_decoration_style(arg);
  } else {
    decoration_style = 1;
  }
  if (decoration_style < 0) {
    tmp = _((char const   *)"invalid --decorate option: %s");
    die((char const   *)tmp, arg);
  }
  decoration_given = 1;
  return (0);
}
}
static int log_line_range_callback(struct option  const  *option , char const   *arg ,
                                   int unset )
{
  struct line_opt_callback_data *data ;

  {
  data = (struct line_opt_callback_data *)option->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/log.c", 124, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (! arg) {
    return (-1);
  }
  (data->rev)->line_level_traverse = 1U;
  string_list_append(& data->args, arg);
  return (0);
}
}
static void init_log_defaults(void)
{


  {
  init_diff_ui_defaults();
  decoration_style = auto_decoration_style();
  return;
}
}
static void cmd_log_init_defaults(struct rev_info *rev )
{


  {
  if (fmt_pretty) {
    get_commit_format(fmt_pretty, rev);
  }
  if (default_follow) {
    rev->diffopt.flags.default_follow_renames = 1U;
  }
  rev->verbose_header = 1U;
  rev->diffopt.flags.recursive = 1U;
  rev->diffopt.stat_width = -1;
  rev->diffopt.stat_graph_width = -1;
  rev->abbrev_commit = (unsigned int )default_abbrev_commit;
  rev->show_root_diff = (unsigned int )default_show_root;
  rev->subject_prefix = fmt_patch_subject_prefix;
  rev->patch_name_max = fmt_patch_name_max;
  rev->show_signature = (unsigned int )default_show_signature;
  rev->encode_email_headers = (unsigned int )default_encode_email_headers;
  rev->diffopt.flags.allow_textconv = 1U;
  if (default_date_mode) {
    parse_date_format(default_date_mode, & rev->date_mode);
  }
  return;
}
}
static void cmd_log_init_finish(int argc , char const   **argv___0 , char const   *prefix___1 ,
                                struct rev_info *rev , struct setup_revision_opt *opt___0 ) ;
static struct line_opt_callback_data line_cb  =    {(struct rev_info *)((void *)0), (char const   *)((void *)0), {(struct string_list_item *)0,
                                                                  0U, 0U, 1U, (int (*)(char const   * ,
                                                                                       char const   * ))0}};
static struct string_list decorate_refs_exclude  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static struct string_list decorate_refs_exclude_config  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static struct string_list decorate_refs_include  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static struct revision_sources revision_sources___0  ;
static void cmd_log_init_finish(int argc , char const   **argv___0 , char const   *prefix___1 ,
                                struct rev_info *rev , struct setup_revision_opt *opt___0 )
{
  struct userformat_want w ;
  int quiet___7 ;
  int source ;
  int mailmap___0 ;
  struct decoration_filter decoration_filter ;
  struct option builtin_log_options[9] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  void *tmp___1 ;
  struct string_list  const  *config_exclude ;
  struct string_list  const  *tmp___2 ;
  struct string_list_item *item___0 ;

  {
  quiet___7 = 0;
  source = 0;
  decoration_filter.include_ref_pattern = & decorate_refs_include;
  decoration_filter.exclude_ref_pattern = & decorate_refs_exclude;
  decoration_filter.exclude_ref_config_pattern = & decorate_refs_exclude_config;
  builtin_log_options[0].type = (enum parse_opt_type )((enum parse_opt_type )7);
  builtin_log_options[0].short_name = (int )'q';
  builtin_log_options[0].long_name = (char const   *)((char const   *)"quiet");
  builtin_log_options[0].value = (void *)((void *)(& quiet___7));
  builtin_log_options[0].argh = (char const   *)((char const   *)((void *)0));
  builtin_log_options[0].help = (char const   *)((char const   *)"suppress diff output");
  builtin_log_options[0].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  builtin_log_options[0].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  builtin_log_options[0].defval = (intptr_t )0L;
  builtin_log_options[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_log_options[0].extra = (intptr_t )0L;
  builtin_log_options[1].type = (enum parse_opt_type )((enum parse_opt_type )8);
  builtin_log_options[1].short_name = (int )0;
  builtin_log_options[1].long_name = (char const   *)((char const   *)"source");
  builtin_log_options[1].value = (void *)((void *)(& source));
  builtin_log_options[1].argh = (char const   *)((char const   *)((void *)0));
  builtin_log_options[1].help = (char const   *)((char const   *)"show source");
  builtin_log_options[1].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  builtin_log_options[1].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  builtin_log_options[1].defval = (intptr_t )((intptr_t )1);
  builtin_log_options[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_log_options[1].extra = (intptr_t )0L;
  builtin_log_options[2].type = (enum parse_opt_type )((enum parse_opt_type )8);
  builtin_log_options[2].short_name = (int )0;
  builtin_log_options[2].long_name = (char const   *)((char const   *)"use-mailmap");
  builtin_log_options[2].value = (void *)((void *)(& mailmap___0));
  builtin_log_options[2].argh = (char const   *)((char const   *)((void *)0));
  builtin_log_options[2].help = (char const   *)((char const   *)"use mail map file");
  builtin_log_options[2].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  builtin_log_options[2].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  builtin_log_options[2].defval = (intptr_t )((intptr_t )1);
  builtin_log_options[2].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_log_options[2].extra = (intptr_t )0L;
  builtin_log_options[3].type = (enum parse_opt_type )((enum parse_opt_type )3);
  builtin_log_options[3].short_name = (int )0;
  builtin_log_options[3].long_name = (char const   *)((char const   *)"mailmap");
  builtin_log_options[3].value = (void *)((void *)"use-mailmap");
  builtin_log_options[3].argh = (char const   *)((char const   *)0);
  builtin_log_options[3].help = (char const   *)((char const   *)0);
  builtin_log_options[3].flags = (enum parse_opt_option_flags )0U;
  builtin_log_options[3].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  builtin_log_options[3].defval = (intptr_t )0L;
  builtin_log_options[3].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_log_options[3].extra = (intptr_t )0L;
  builtin_log_options[4].type = (enum parse_opt_type )((enum parse_opt_type )12);
  builtin_log_options[4].short_name = (int )0;
  builtin_log_options[4].long_name = (char const   *)((char const   *)"decorate-refs");
  builtin_log_options[4].value = (void *)((void *)(& decorate_refs_include));
  builtin_log_options[4].argh = (char const   *)((char const   *)"pattern");
  builtin_log_options[4].help = (char const   *)((char const   *)"only decorate refs that match <pattern>");
  builtin_log_options[4].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  builtin_log_options[4].callback = (parse_opt_cb *)(& parse_opt_string_list);
  builtin_log_options[4].defval = (intptr_t )0L;
  builtin_log_options[4].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_log_options[4].extra = (intptr_t )0L;
  builtin_log_options[5].type = (enum parse_opt_type )((enum parse_opt_type )12);
  builtin_log_options[5].short_name = (int )0;
  builtin_log_options[5].long_name = (char const   *)((char const   *)"decorate-refs-exclude");
  builtin_log_options[5].value = (void *)((void *)(& decorate_refs_exclude));
  builtin_log_options[5].argh = (char const   *)((char const   *)"pattern");
  builtin_log_options[5].help = (char const   *)((char const   *)"do not decorate refs that match <pattern>");
  builtin_log_options[5].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  builtin_log_options[5].callback = (parse_opt_cb *)(& parse_opt_string_list);
  builtin_log_options[5].defval = (intptr_t )0L;
  builtin_log_options[5].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_log_options[5].extra = (intptr_t )0L;
  builtin_log_options[6].type = (enum parse_opt_type )((enum parse_opt_type )12);
  builtin_log_options[6].short_name = (int )0;
  builtin_log_options[6].long_name = (char const   *)((char const   *)"decorate");
  builtin_log_options[6].value = (void *)((void *)0);
  builtin_log_options[6].argh = (char const   *)((char const   *)((void *)0));
  builtin_log_options[6].help = (char const   *)((char const   *)"decorate options");
  builtin_log_options[6].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )1);
  builtin_log_options[6].callback = (parse_opt_cb *)(& decorate_callback);
  builtin_log_options[6].defval = (intptr_t )0L;
  builtin_log_options[6].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_log_options[6].extra = (intptr_t )0L;
  builtin_log_options[7].type = (enum parse_opt_type )((enum parse_opt_type )12);
  builtin_log_options[7].short_name = (int )'L';
  builtin_log_options[7].long_name = (char const   *)((char const   *)((void *)0));
  builtin_log_options[7].value = (void *)((void *)(& line_cb));
  builtin_log_options[7].argh = (char const   *)((char const   *)"range:file");
  builtin_log_options[7].help = (char const   *)((char const   *)"trace the evolution of line range <start>,<end> or function :<funcname> in <file>");
  builtin_log_options[7].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  builtin_log_options[7].callback = (parse_opt_cb *)(& log_line_range_callback);
  builtin_log_options[7].defval = (intptr_t )0L;
  builtin_log_options[7].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_log_options[7].extra = (intptr_t )0L;
  builtin_log_options[8].type = (enum parse_opt_type )((enum parse_opt_type )0);
  builtin_log_options[8].short_name = (int )0;
  builtin_log_options[8].long_name = (char const   *)((char const   *)0);
  builtin_log_options[8].value = (void *)((void *)0);
  builtin_log_options[8].argh = (char const   *)((char const   *)0);
  builtin_log_options[8].help = (char const   *)((char const   *)0);
  builtin_log_options[8].flags = (enum parse_opt_option_flags )0U;
  builtin_log_options[8].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  builtin_log_options[8].defval = (intptr_t )0L;
  builtin_log_options[8].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_log_options[8].extra = (intptr_t )0L;
  line_cb.rev = rev;
  line_cb.prefix = prefix___1;
  mailmap___0 = use_mailmap_config;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(builtin_log_options),
                       builtin_log_usage, (enum parse_opt_flags )13);
  if (quiet___7) {
    rev->diffopt.output_format |= 0x0800;
  }
  argc = setup_revisions(argc, argv___0, rev, opt___0);
  if (argc > 1) {
    tmp = _((char const   *)"unrecognized argument: %s");
    die((char const   *)tmp, *(argv___0 + 1));
  }
  if (rev->line_level_traverse) {
    if (rev->prune_data.nr) {
      tmp___0 = _((char const   *)"-L<range>:<file> cannot be used with pathspec");
      die((char const   *)tmp___0);
    }
  }
  memset((void *)(& w), 0, sizeof(w));
  userformat_find_requirements((char const   *)((void *)0), & w);
  if (! rev->show_notes_given) {
    if (! rev->pretty_given) {
      rev->show_notes = 1;
    } else
    if (w.notes) {
      rev->show_notes = 1;
    }
  }
  if (rev->show_notes) {
    load_display_notes(& rev->notes_opt);
  }
  if (rev->diffopt.pickaxe_opts & 28U) {
    rev->always_show_header = 0U;
  } else
  if (rev->diffopt.filter) {
    rev->always_show_header = 0U;
  } else
  if (rev->diffopt.flags.follow_renames) {
    rev->always_show_header = 0U;
  }
  if (source) {
    init_revision_sources(& revision_sources___0);
    rev->sources = & revision_sources___0;
  } else
  if (w.source) {
    init_revision_sources(& revision_sources___0);
    rev->sources = & revision_sources___0;
  }
  if (mailmap___0) {
    tmp___1 = xcalloc((size_t )1, sizeof(struct string_list ));
    rev->mailmap = (struct string_list *)tmp___1;
    read_mailmap(rev->mailmap);
  }
  if (rev->pretty_given) {
    if ((unsigned int )rev->commit_format == 0U) {
      if (! decoration_given) {
        decoration_style = 0;
      }
      if (! rev->abbrev_commit_given) {
        rev->abbrev_commit = 0U;
      }
    }
  }
  if ((unsigned int )rev->commit_format == 8U) {
    if (! w.decorate) {
      decoration_style = 0;
    } else
    if (! decoration_style) {
      decoration_style = 1;
    }
  }
  if (decoration_style) {
    goto _L;
  } else
  if (rev->simplify_by_decoration) {
    _L: /* CIL Label */
    tmp___2 = repo_config_get_value_multi(the_repository, (char const   *)"log.excludeDecoration");
    config_exclude = tmp___2;
    if (config_exclude) {
      item___0 = (struct string_list_item *)config_exclude->items;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (item___0) {
          if (! ((unsigned long )item___0 < (unsigned long )(config_exclude->items + config_exclude->nr))) {
            goto while_break;
          }
        } else {
          goto while_break;
        }
        string_list_append(& decorate_refs_exclude_config, (char const   *)item___0->string);
        item___0 ++;
      }
      while_break: /* CIL Label */ ;
      }
    }
    if (decoration_style) {
      rev->show_decorations = 1U;
    }
    load_ref_decorations(& decoration_filter, decoration_style);
  }
  if (rev->line_level_traverse) {
    line_log_init(rev, line_cb.prefix, & line_cb.args);
  }
  setup_pager();
  return;
}
}
static void cmd_log_init(int argc , char const   **argv___0 , char const   *prefix___1 ,
                         struct rev_info *rev , struct setup_revision_opt *opt___0 )
{


  {
  cmd_log_init_defaults(rev);
  cmd_log_init_finish(argc, argv___0, prefix___1, rev, opt___0);
  return;
}
}
static int estimate_commit_count(struct commit_list *list___3 )
{
  int n ;
  struct commit *commit ;
  unsigned int flags___0 ;

  {
  n = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    commit = list___3->item;
    flags___0 = commit->object.flags;
    list___3 = list___3->next;
    if (! (flags___0 & ((1u << 2) | (1u << 1)))) {
      n ++;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (n);
}
}
static void show_early_header(struct rev_info *rev , char const   *stage , int nr___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if (rev->shown_one) {
    rev->shown_one = 0U;
    if ((unsigned int )rev->commit_format != 5U) {
      putchar(rev->diffopt.line_termination);
    }
  }
  tmp = _((char const   *)"Final output: %d %s\n");
  fprintf(rev->diffopt.file, (char const   *)tmp, nr___0, stage);
  return;
}
}
static struct itimerval early_output_timer  ;
static void log_show_early(struct rev_info *revs , struct commit_list *list___3 )
{
  int i ;
  int show_header ;
  int no_free ;
  struct commit *commit ;
  enum commit_action tmp ;
  int n ;
  int tmp___0 ;

  {
  i = (int )revs->early_output;
  show_header = 1;
  no_free = revs->diffopt.no_free;
  revs->diffopt.no_free = 0;
  sort_in_topological_order(& list___3, revs->sort_order);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (list___3) {
      if (! i) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    commit = list___3->item;
    tmp = simplify_commit(revs, commit);
    {
    if ((unsigned int )tmp == 1U) {
      goto case_1;
    }
    if ((unsigned int )tmp == 0U) {
      goto case_0;
    }
    if ((unsigned int )tmp == 2U) {
      goto case_2;
    }
    goto switch_break;
    case_1: /* CIL Label */
    if (show_header) {
      tmp___0 = estimate_commit_count(list___3);
      n = tmp___0;
      show_early_header(revs, (char const   *)"incomplete", n);
      show_header = 0;
    }
    log_tree_commit(revs, commit);
    i --;
    goto switch_break;
    case_0: /* CIL Label */
    goto switch_break;
    case_2: /* CIL Label */
    revs->diffopt.no_free = no_free;
    diff_free(& revs->diffopt);
    return;
    switch_break: /* CIL Label */ ;
    }
    list___3 = list___3->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (! i) {
    revs->diffopt.no_free = 0;
    diff_free(& revs->diffopt);
    return;
  }
  early_output_timer.it_value.tv_sec = (__time_t )0;
  early_output_timer.it_value.tv_usec = (__suseconds_t )500000;
  setitimer((__itimer_which_t )0, (struct itimerval  const  * __restrict  )(& early_output_timer),
            (struct itimerval * __restrict  )((void *)0));
  return;
}
}
static void early_output(int signal___0 )
{


  {
  show_early_output = (void (* volatile  )(struct rev_info * , struct commit_list * ))(& log_show_early);
  return;
}
}
static void setup_early_output(void)
{
  struct sigaction sa ;

  {
  memset((void *)(& sa), 0, sizeof(sa));
  sa.__sigaction_handler.sa_handler = & early_output;
  sigemptyset(& sa.sa_mask);
  sa.sa_flags = 0x10000000;
  sigaction(14, (struct sigaction  const  * __restrict  )(& sa), (struct sigaction * __restrict  )((void *)0));
  early_output_timer.it_value.tv_sec = (__time_t )0;
  early_output_timer.it_value.tv_usec = (__suseconds_t )100000;
  setitimer((__itimer_which_t )0, (struct itimerval  const  * __restrict  )(& early_output_timer),
            (struct itimerval * __restrict  )((void *)0));
  return;
}
}
static void finish_early_output(struct rev_info *rev )
{
  int n ;
  int tmp ;

  {
  tmp = estimate_commit_count(rev->commits);
  n = tmp;
  signal(14, (void (*)(int  ))1);
  show_early_header(rev, (char const   *)"done", n);
  return;
}
}
static int cmd_log_walk(struct rev_info *rev )
{
  struct commit *commit ;
  int saved_nrl ;
  int saved_dcctc ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  saved_nrl = 0;
  saved_dcctc = 0;
  if (rev->early_output) {
    setup_early_output();
  }
  tmp___0 = prepare_revision_walk(rev);
  if (tmp___0) {
    tmp = _((char const   *)"revision walk setup failed");
    die((char const   *)tmp);
  }
  if (rev->early_output) {
    finish_early_output(rev);
  }
  rev->diffopt.no_free = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    commit = get_revision(rev);
    if (! ((unsigned long )commit != (unsigned long )((void *)0))) {
      goto while_break;
    }
    tmp___1 = log_tree_commit(rev, commit);
    if (! tmp___1) {
      if (rev->max_count >= 0) {
        (rev->max_count) ++;
      }
    }
    if (! rev->reflog_info) {
      free_commit_buffer(the_repository->parsed_objects, commit);
      free_commit_list(commit->parents);
      commit->parents = (struct commit_list *)((void *)0);
    }
    if (saved_nrl < rev->diffopt.needed_rename_limit) {
      saved_nrl = rev->diffopt.needed_rename_limit;
    }
    if (rev->diffopt.degraded_cc_to_c) {
      saved_dcctc = 1;
    }
  }
  while_break: /* CIL Label */ ;
  }
  rev->diffopt.degraded_cc_to_c = saved_dcctc;
  rev->diffopt.needed_rename_limit = saved_nrl;
  rev->diffopt.no_free = 0;
  diff_free(& rev->diffopt);
  if (rev->diffopt.output_format & 0x0400) {
    if (rev->diffopt.flags.check_failed) {
      return (02);
    }
  }
  tmp___2 = diff_result_code(& rev->diffopt, 0);
  return (tmp___2);
}
}
static int git_log_config(char const   *var , char const   *value , void *cb )
{
  char const   *slot_name ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;

  {
  tmp___0 = strcmp(var, (char const   *)"format.pretty");
  if (! tmp___0) {
    tmp = git_config_string(& fmt_pretty, var, value);
    return (tmp);
  }
  tmp___2 = strcmp(var, (char const   *)"format.subjectprefix");
  if (! tmp___2) {
    tmp___1 = git_config_string(& fmt_patch_subject_prefix, var, value);
    return (tmp___1);
  }
  tmp___3 = strcmp(var, (char const   *)"format.filenamemaxlength");
  if (! tmp___3) {
    fmt_patch_name_max = git_config_int(var, value);
    return (0);
  }
  tmp___4 = strcmp(var, (char const   *)"format.encodeemailheaders");
  if (! tmp___4) {
    default_encode_email_headers = git_config_bool(var, value);
    return (0);
  }
  tmp___5 = strcmp(var, (char const   *)"log.abbrevcommit");
  if (! tmp___5) {
    default_abbrev_commit = git_config_bool(var, value);
    return (0);
  }
  tmp___7 = strcmp(var, (char const   *)"log.date");
  if (! tmp___7) {
    tmp___6 = git_config_string(& default_date_mode, var, value);
    return (tmp___6);
  }
  tmp___8 = strcmp(var, (char const   *)"log.decorate");
  if (! tmp___8) {
    decoration_style = parse_decoration_style(value);
    if (decoration_style < 0) {
      decoration_style = 0;
    }
    return (0);
  }
  tmp___10 = strcmp(var, (char const   *)"log.diffmerges");
  if (! tmp___10) {
    tmp___9 = diff_merges_config(value);
    return (tmp___9);
  }
  tmp___11 = strcmp(var, (char const   *)"log.showroot");
  if (! tmp___11) {
    default_show_root = git_config_bool(var, value);
    return (0);
  }
  tmp___12 = strcmp(var, (char const   *)"log.follow");
  if (! tmp___12) {
    default_follow = git_config_bool(var, value);
    return (0);
  }
  tmp___14 = skip_prefix(var, (char const   *)"color.decorate.", & slot_name);
  if (tmp___14) {
    tmp___13 = parse_decorate_color_config(var, slot_name, value);
    return (tmp___13);
  }
  tmp___15 = strcmp(var, (char const   *)"log.mailmap");
  if (! tmp___15) {
    use_mailmap_config = git_config_bool(var, value);
    return (0);
  }
  tmp___16 = strcmp(var, (char const   *)"log.showsignature");
  if (! tmp___16) {
    default_show_signature = git_config_bool(var, value);
    return (0);
  }
  tmp___17 = grep_config(var, value, cb);
  if (tmp___17 < 0) {
    return (-1);
  }
  tmp___18 = git_gpg_config(var, value, cb);
  if (tmp___18 < 0) {
    return (-1);
  }
  tmp___19 = git_diff_ui_config(var, value, cb);
  return (tmp___19);
}
}
int cmd_whatchanged(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct rev_info rev ;
  struct setup_revision_opt opt___0 ;
  int tmp ;

  {
  init_log_defaults();
  git_config(& git_log_config, (void *)0);
  repo_init_revisions(the_repository, & rev, prefix___1);
  rev.diff = 1U;
  rev.simplify_history = 0U;
  memset((void *)(& opt___0), 0, sizeof(opt___0));
  opt___0.def = (char const   *)"HEAD";
  opt___0.revarg_opt = 2U;
  cmd_log_init(argc, argv___0, prefix___1, & rev, & opt___0);
  if (! rev.diffopt.output_format) {
    rev.diffopt.output_format = 0x0001;
  }
  tmp = cmd_log_walk(& rev);
  return (tmp);
}
}
static void show_tagger(char const   *buf___19 , struct rev_info *rev )
{
  struct strbuf out ;
  struct pretty_print_context pp ;
  char const   *tmp ;

  {
  out.alloc = 0UL;
  out.len = 0UL;
  out.buf = strbuf_slopbuf;
  pp.fmt = (enum cmit_fmt )0;
  pp.abbrev = 0;
  pp.after_subject = (char const   *)0;
  pp.preserve_subject = 0;
  pp.date_mode.type = 0U;
  pp.date_mode.strftime_fmt = (char const   *)0;
  pp.date_mode.local = 0;
  pp.date_mode_explicit = 0U;
  pp.print_email_subject = 0;
  pp.expand_tabs_in_log = 0;
  pp.need_8bit_cte = 0;
  pp.notes_message = (char *)0;
  pp.reflog_info = (struct reflog_walk_info *)0;
  pp.rev = (struct rev_info *)0;
  pp.output_encoding = (char const   *)0;
  pp.mailmap = (struct string_list *)0;
  pp.color = 0;
  pp.from_ident = (struct ident_split *)0;
  pp.encode_email_headers = 0U;
  pp.describe_status = (struct pretty_print_describe_status *)0;
  pp.in_body_headers.items = (struct string_list_item *)0;
  pp.in_body_headers.nr = 0U;
  pp.in_body_headers.alloc = 0U;
  pp.in_body_headers.strdup_strings = 0U;
  pp.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
  pp.graph_width = 0;
  pp.fmt = rev->commit_format;
  pp.date_mode = rev->date_mode;
  tmp = get_log_output_encoding();
  pp_user_info(& pp, (char const   *)"Tagger", & out, buf___19, tmp);
  fprintf(rev->diffopt.file, (char const   *)"%s", out.buf);
  strbuf_release(& out);
  return;
}
}
static int show_blob_object(struct object_id  const  *oid , struct rev_info *rev ,
                            char const   *obj_name )
{
  struct object_id oidc ;
  struct object_context obj_context ;
  char *buf___19 ;
  unsigned long size ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  enum get_oid_result tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  fflush(rev->diffopt.file);
  if (! rev->diffopt.flags.textconv_set_via_cmdline) {
    tmp = stream_blob_to_fd(1, oid, (struct stream_filter *)((void *)0), 0);
    return (tmp);
  } else
  if (! rev->diffopt.flags.allow_textconv) {
    tmp = stream_blob_to_fd(1, oid, (struct stream_filter *)((void *)0), 0);
    return (tmp);
  }
  tmp___1 = get_oid_with_context(the_repository, obj_name, 128U, & oidc, & obj_context);
  if (tmp___1) {
    tmp___0 = _((char const   *)"not a valid object name %s");
    die((char const   *)tmp___0, obj_name);
  }
  if (! obj_context.path) {
    free((void *)obj_context.path);
    tmp___2 = stream_blob_to_fd(1, oid, (struct stream_filter *)((void *)0), 0);
    return (tmp___2);
  } else {
    tmp___3 = textconv_object(the_repository, (char const   *)obj_context.path, (unsigned int )obj_context.mode,
                              (struct object_id  const  *)(& oidc), 1, & buf___19,
                              & size);
    if (! tmp___3) {
      free((void *)obj_context.path);
      tmp___2 = stream_blob_to_fd(1, oid, (struct stream_filter *)((void *)0), 0);
      return (tmp___2);
    }
  }
  if (! buf___19) {
    tmp___4 = _((char const   *)"git show %s: bad file");
    die((char const   *)tmp___4, obj_name);
  }
  write_or_die(1, (void const   *)buf___19, size);
  free((void *)obj_context.path);
  return (0);
}
}
static int show_tag_object(struct object_id  const  *oid , struct rev_info *rev )
{
  unsigned long size ;
  enum object_type type___0 ;
  char *buf___19 ;
  void *tmp ;
  int offset___2 ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int new_offset ;
  char const   *ident ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp = repo_read_object_file(the_repository, oid, & type___0, & size);
  buf___19 = (char *)tmp;
  offset___2 = 0;
  if (! buf___19) {
    tmp___0 = oid_to_hex(oid);
    tmp___1 = _((char const   *)"could not read object %s");
    error((char const   *)tmp___1, tmp___0);
    tmp___2 = const_error();
    return (tmp___2);
  }
  assert((int )type___0 == 4);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )offset___2 < size) {
      if (! ((int )*(buf___19 + offset___2) != 10)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    new_offset = offset___2 + 1;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if ((unsigned long )new_offset < size) {
        tmp___3 = new_offset;
        new_offset ++;
        if (! ((int )*(buf___19 + tmp___3) != 10)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___4 = skip_prefix((char const   *)(buf___19 + offset___2), (char const   *)"tagger ",
                          & ident);
    if (tmp___4) {
      show_tagger(ident, rev);
    }
    offset___2 = new_offset;
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned long )offset___2 < size) {
    fwrite((void const   * __restrict  )(buf___19 + offset___2), size - (unsigned long )offset___2,
           (size_t )1, (FILE * __restrict  )rev->diffopt.file);
  }
  free((void *)buf___19);
  return (0);
}
}
static int show_tree_object(struct object_id  const  *oid , struct strbuf *base ,
                            char const   *pathname , unsigned int mode___1 , void *context___0 )
{
  FILE *file___0 ;
  char *tmp ;

  {
  file___0 = (FILE *)context___0;
  if ((mode___1 & 61440U) == 16384U) {
    tmp = "/";
  } else {
    tmp = "";
  }
  fprintf(file___0, (char const   *)"%s%s\n", pathname, tmp);
  return (0);
}
}
static void show_setup_revisions_tweak(struct rev_info *rev , struct setup_revision_opt *opt___0 )
{


  {
  if (rev->first_parent_only) {
    diff_merges_default_to_first_parent(rev);
  } else {
    diff_merges_default_to_dense_combined(rev);
  }
  if (! rev->diffopt.output_format) {
    rev->diffopt.output_format = 0x0010;
  }
  return;
}
}
int cmd_show(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct rev_info rev ;
  struct object_array_entry *objects___0 ;
  struct setup_revision_opt opt___0 ;
  struct pathspec match_all ;
  int i ;
  int count___0 ;
  int ret___67 ;
  int tmp ;
  struct object *o ;
  char const   *name___0 ;
  struct tag *t ;
  struct object_id *oid ;
  struct object_id *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const   *tmp___5 ;
  char const   *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;

  {
  ret___67 = 0;
  init_log_defaults();
  git_config(& git_log_config, (void *)0);
  memset((void *)(& match_all), 0, sizeof(match_all));
  repo_init_revisions(the_repository, & rev, prefix___1);
  rev.diff = 1U;
  rev.always_show_header = 1U;
  rev.no_walk = 1U;
  rev.diffopt.stat_width = -1;
  memset((void *)(& opt___0), 0, sizeof(opt___0));
  opt___0.def = (char const   *)"HEAD";
  opt___0.tweak = & show_setup_revisions_tweak;
  cmd_log_init(argc, argv___0, prefix___1, & rev, & opt___0);
  if (! rev.no_walk) {
    tmp = cmd_log_walk(& rev);
    return (tmp);
  }
  count___0 = (int )rev.pending.nr;
  objects___0 = rev.pending.objects;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (i < count___0) {
      if (! (! ret___67)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    o = (objects___0 + i)->item;
    name___0 = (char const   *)(objects___0 + i)->name;
    {
    if (o->type == 3U) {
      goto case_3;
    }
    if (o->type == 4U) {
      goto case_4;
    }
    if (o->type == 2U) {
      goto case_2;
    }
    if (o->type == 1U) {
      goto case_1;
    }
    goto switch_default;
    case_3: /* CIL Label */
    ret___67 = show_blob_object((struct object_id  const  *)(& o->oid), & rev, name___0);
    goto switch_break;
    case_4: /* CIL Label */
    t = (struct tag *)o;
    tmp___0 = get_tagged_oid(t);
    oid = tmp___0;
    if (rev.shown_one) {
      putchar('\n');
    }
    tmp___1 = diff_get_color(rev.diffopt.use_color, (enum color_diff )0);
    tmp___2 = diff_get_color(rev.diffopt.use_color, (enum color_diff )6);
    fprintf(rev.diffopt.file, (char const   *)"%stag %s%s\n", tmp___2, t->tag, tmp___1);
    ret___67 = show_tag_object((struct object_id  const  *)(& o->oid), & rev);
    rev.shown_one = 1U;
    if (ret___67) {
      goto switch_break;
    }
    o = parse_object(the_repository, (struct object_id  const  *)oid);
    if (! o) {
      tmp___3 = oid_to_hex((struct object_id  const  *)oid);
      tmp___4 = _((char const   *)"could not read object %s");
      error((char const   *)tmp___4, tmp___3);
      ret___67 = const_error();
    }
    (objects___0 + i)->item = o;
    i --;
    goto switch_break;
    case_2: /* CIL Label */
    if (rev.shown_one) {
      putchar('\n');
    }
    tmp___5 = diff_get_color(rev.diffopt.use_color, (enum color_diff )0);
    tmp___6 = diff_get_color(rev.diffopt.use_color, (enum color_diff )6);
    fprintf(rev.diffopt.file, (char const   *)"%stree %s%s\n\n", tmp___6, name___0,
            tmp___5);
    read_tree(the_repository, (struct tree *)o, (struct pathspec  const  *)(& match_all),
              & show_tree_object, (void *)rev.diffopt.file);
    rev.shown_one = 1U;
    goto switch_break;
    case_1: /* CIL Label */
    rev.pending.alloc = 0U;
    rev.pending.nr = rev.pending.alloc;
    rev.pending.objects = (struct object_array_entry *)((void *)0);
    add_object_array(o, name___0, & rev.pending);
    ret___67 = cmd_log_walk(& rev);
    goto switch_break;
    switch_default: /* CIL Label */
    tmp___7 = _((char const   *)"unknown type: %d");
    error((char const   *)tmp___7, o->type);
    ret___67 = const_error();
    switch_break: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)objects___0);
  return (ret___67);
}
}
int cmd_log_reflog(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct rev_info rev ;
  struct setup_revision_opt opt___0 ;
  int tmp ;

  {
  init_log_defaults();
  git_config(& git_log_config, (void *)0);
  repo_init_revisions(the_repository, & rev, prefix___1);
  init_reflog_walk(& rev.reflog_info);
  rev.verbose_header = 1U;
  memset((void *)(& opt___0), 0, sizeof(opt___0));
  opt___0.def = (char const   *)"HEAD";
  cmd_log_init_defaults(& rev);
  rev.abbrev_commit = 1U;
  rev.commit_format = (enum cmit_fmt )5;
  rev.use_terminator = 1U;
  rev.always_show_header = 1U;
  cmd_log_init_finish(argc, argv___0, prefix___1, & rev, & opt___0);
  tmp = cmd_log_walk(& rev);
  return (tmp);
}
}
static void log_setup_revisions_tweak(struct rev_info *rev , struct setup_revision_opt *opt___0 )
{


  {
  if (rev->diffopt.flags.default_follow_renames) {
    if (rev->prune_data.nr == 1) {
      rev->diffopt.flags.follow_renames = 1U;
    }
  }
  if (rev->first_parent_only) {
    diff_merges_default_to_first_parent(rev);
  }
  return;
}
}
int cmd_log(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct rev_info rev ;
  struct setup_revision_opt opt___0 ;
  int tmp ;

  {
  init_log_defaults();
  git_config(& git_log_config, (void *)0);
  repo_init_revisions(the_repository, & rev, prefix___1);
  rev.always_show_header = 1U;
  memset((void *)(& opt___0), 0, sizeof(opt___0));
  opt___0.def = (char const   *)"HEAD";
  opt___0.revarg_opt = 2U;
  opt___0.tweak = & log_setup_revisions_tweak;
  cmd_log_init(argc, argv___0, prefix___1, & rev, & opt___0);
  tmp = cmd_log_walk(& rev);
  return (tmp);
}
}
static char const   *fmt_patch_suffix  =    (char const   *)".patch";
static int numbered  =    0;
static int auto_number  =    1;
static char *default_attach  =    (char *)((void *)0);
static struct string_list extra_hdr  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static struct string_list extra_to  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static struct string_list extra_cc  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static void add_header(char const   *value )
{
  struct string_list_item *item___0 ;
  int len___0 ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = strlen(value);
  len___0 = (int )tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (len___0) {
      if (! ((int const   )*(value + (len___0 - 1)) == 10)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    len___0 --;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = strncasecmp(value, (char const   *)"to: ", (size_t )4);
  if (tmp___1) {
    tmp___0 = strncasecmp(value, (char const   *)"cc: ", (size_t )4);
    if (tmp___0) {
      item___0 = string_list_append(& extra_hdr, value);
    } else {
      item___0 = string_list_append(& extra_cc, value + 4);
      len___0 -= 4;
    }
  } else {
    item___0 = string_list_append(& extra_to, value + 4);
    len___0 -= 4;
  }
  *(item___0->string + len___0) = (char )'\000';
  return;
}
}
static enum thread_level thread  ;
static int do_signoff  ;
static enum auto_base_setting auto_base  ;
static char *from  ;
static char const   *signature  =    git_version_string;
static char const   *signature_file  ;
static enum cover_setting config_cover_letter  ;
static char const   *config_output_directory  ;
static enum cover_from_description cover_from_description_mode  =    (enum cover_from_description )1;
static int show_notes  ;
static struct display_notes_opt notes_opt  ;
static enum cover_from_description parse_cover_from_description(char const   *arg )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  if (! arg) {
    return ((enum cover_from_description )1);
  } else {
    tmp___4 = strcmp(arg, (char const   *)"default");
    if (tmp___4) {
      tmp___3 = strcmp(arg, (char const   *)"none");
      if (tmp___3) {
        tmp___2 = strcmp(arg, (char const   *)"message");
        if (tmp___2) {
          tmp___1 = strcmp(arg, (char const   *)"subject");
          if (tmp___1) {
            tmp___0 = strcmp(arg, (char const   *)"auto");
            if (tmp___0) {
              tmp = _((char const   *)"%s: invalid cover from description mode");
              die((char const   *)tmp, arg);
            } else {
              return ((enum cover_from_description )3);
            }
          } else {
            return ((enum cover_from_description )2);
          }
        } else {
          return ((enum cover_from_description )1);
        }
      } else {
        return ((enum cover_from_description )0);
      }
    } else {
      return ((enum cover_from_description )1);
    }
  }
}
}
static int git_format_config(char const   *var , char const   *value , void *cb )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;
  int tmp___30 ;
  int tmp___31 ;
  int tmp___32 ;
  int tmp___33 ;
  int tmp___34 ;
  int b___0 ;
  int tmp___35 ;
  char const   *tmp___36 ;
  int tmp___37 ;
  int b___1 ;
  int tmp___38 ;
  int tmp___39 ;
  int tmp___40 ;
  int tmp___41 ;

  {
  tmp___0 = strcmp(var, (char const   *)"format.headers");
  if (! tmp___0) {
    if (! value) {
      tmp = _((char const   *)"format.headers without value");
      die((char const   *)tmp);
    }
    add_header(value);
    return (0);
  }
  tmp___2 = strcmp(var, (char const   *)"format.suffix");
  if (! tmp___2) {
    tmp___1 = git_config_string(& fmt_patch_suffix, var, value);
    return (tmp___1);
  }
  tmp___4 = strcmp(var, (char const   *)"format.to");
  if (! tmp___4) {
    if (! value) {
      config_error_nonbool(var);
      tmp___3 = const_error();
      return (tmp___3);
    }
    string_list_append(& extra_to, value);
    return (0);
  }
  tmp___6 = strcmp(var, (char const   *)"format.cc");
  if (! tmp___6) {
    if (! value) {
      config_error_nonbool(var);
      tmp___5 = const_error();
      return (tmp___5);
    }
    string_list_append(& extra_cc, value);
    return (0);
  }
  tmp___7 = strcmp(var, (char const   *)"diff.color");
  if (tmp___7) {
    tmp___8 = strcmp(var, (char const   *)"color.diff");
    if (tmp___8) {
      tmp___9 = strcmp(var, (char const   *)"color.ui");
      if (tmp___9) {
        tmp___10 = strcmp(var, (char const   *)"diff.submodule");
        if (! tmp___10) {
          return (0);
        }
      } else {
        return (0);
      }
    } else {
      return (0);
    }
  } else {
    return (0);
  }
  tmp___13 = strcmp(var, (char const   *)"format.numbered");
  if (! tmp___13) {
    if (value) {
      tmp___11 = strcasecmp(value, (char const   *)"auto");
      if (! tmp___11) {
        auto_number = 1;
        return (0);
      }
    }
    numbered = git_config_bool(var, value);
    if (auto_number) {
      if (numbered) {
        tmp___12 = 1;
      } else {
        tmp___12 = 0;
      }
    } else {
      tmp___12 = 0;
    }
    auto_number = tmp___12;
    return (0);
  }
  tmp___14 = strcmp(var, (char const   *)"format.attach");
  if (! tmp___14) {
    if (value) {
      if (*value) {
        default_attach = xstrdup(value);
      } else {
        default_attach = xstrdup(git_version_string);
      }
    } else {
      default_attach = xstrdup(git_version_string);
    }
    return (0);
  }
  tmp___19 = strcmp(var, (char const   *)"format.thread");
  if (! tmp___19) {
    if (value) {
      tmp___15 = strcasecmp(value, (char const   *)"deep");
      if (! tmp___15) {
        thread = (enum thread_level )2;
        return (0);
      }
    }
    if (value) {
      tmp___16 = strcasecmp(value, (char const   *)"shallow");
      if (! tmp___16) {
        thread = (enum thread_level )1;
        return (0);
      }
    }
    tmp___18 = git_config_bool(var, value);
    if (tmp___18) {
      thread = (enum thread_level )1;
    } else {
      thread = (enum thread_level )0;
    }
    return (0);
  }
  tmp___20 = strcmp(var, (char const   *)"format.signoff");
  if (! tmp___20) {
    do_signoff = git_config_bool(var, value);
    return (0);
  }
  tmp___22 = strcmp(var, (char const   *)"format.signature");
  if (! tmp___22) {
    tmp___21 = git_config_string(& signature, var, value);
    return (tmp___21);
  }
  tmp___24 = strcmp(var, (char const   *)"format.signaturefile");
  if (! tmp___24) {
    tmp___23 = git_config_pathname(& signature_file, var, value);
    return (tmp___23);
  }
  tmp___28 = strcmp(var, (char const   *)"format.coverletter");
  if (! tmp___28) {
    if (value) {
      tmp___25 = strcasecmp(value, (char const   *)"auto");
      if (! tmp___25) {
        config_cover_letter = (enum cover_setting )3;
        return (0);
      }
    }
    tmp___27 = git_config_bool(var, value);
    if (tmp___27) {
      config_cover_letter = (enum cover_setting )2;
    } else {
      config_cover_letter = (enum cover_setting )1;
    }
    return (0);
  }
  tmp___30 = strcmp(var, (char const   *)"format.outputdirectory");
  if (! tmp___30) {
    tmp___29 = git_config_string(& config_output_directory, var, value);
    return (tmp___29);
  }
  tmp___34 = strcmp(var, (char const   *)"format.useautobase");
  if (! tmp___34) {
    if (value) {
      tmp___31 = strcasecmp(value, (char const   *)"whenAble");
      if (! tmp___31) {
        auto_base = (enum auto_base_setting )2;
        return (0);
      }
    }
    tmp___33 = git_config_bool(var, value);
    if (tmp___33) {
      auto_base = (enum auto_base_setting )1;
    } else {
      auto_base = (enum auto_base_setting )0;
    }
    return (0);
  }
  tmp___37 = strcmp(var, (char const   *)"format.from");
  if (! tmp___37) {
    tmp___35 = git_parse_maybe_bool(value);
    b___0 = tmp___35;
    free((void *)from);
    if (b___0 < 0) {
      from = xstrdup(value);
    } else
    if (b___0) {
      tmp___36 = git_committer_info(2);
      from = xstrdup(tmp___36);
    } else {
      from = (char *)((void *)0);
    }
    return (0);
  }
  tmp___39 = strcmp(var, (char const   *)"format.notes");
  if (! tmp___39) {
    tmp___38 = git_parse_maybe_bool(value);
    b___1 = tmp___38;
    if (b___1 < 0) {
      enable_ref_display_notes(& notes_opt, & show_notes, value);
    } else
    if (b___1) {
      enable_default_display_notes(& notes_opt, & show_notes);
    } else {
      disable_display_notes(& notes_opt, & show_notes);
    }
    return (0);
  }
  tmp___40 = strcmp(var, (char const   *)"format.coverfromdescription");
  if (! tmp___40) {
    cover_from_description_mode = parse_cover_from_description(value);
    return (0);
  }
  tmp___41 = git_log_config(var, value, cb);
  return (tmp___41);
}
}
static char const   *output_directory  =    (char const   *)((void *)0);
static int outdir_offset  ;
static int open_next_file(struct commit *commit , char const   *subject , struct rev_info *rev ,
                          int quiet___7 )
{
  struct strbuf filename___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  FILE *tmp___0 ;

  {
  filename___0.alloc = 0UL;
  filename___0.len = 0UL;
  filename___0.buf = strbuf_slopbuf;
  if (output_directory) {
    strbuf_addstr(& filename___0, output_directory);
    strbuf_complete(& filename___0, (char )'/');
  }
  if (rev->numbered_files) {
    strbuf_addf(& filename___0, (char const   *)"%d", rev->nr);
  } else
  if (commit) {
    fmt_output_commit(& filename___0, commit, rev);
  } else {
    fmt_output_subject(& filename___0, subject, rev);
  }
  if (! quiet___7) {
    printf((char const   *)"%s\n", filename___0.buf + outdir_offset);
  }
  tmp___0 = git_fopen((char const   *)filename___0.buf, (char const   *)"w");
  rev->diffopt.file = tmp___0;
  if ((unsigned long )tmp___0 == (unsigned long )((void *)0)) {
    tmp = _((char const   *)"cannot open patch file %s");
    error_errno((char const   *)tmp, filename___0.buf);
    const_error();
    strbuf_release(& filename___0);
    return (-1);
  }
  strbuf_release(& filename___0);
  return (0);
}
}
static void get_patch_ids(struct rev_info *rev , struct patch_ids *ids )
{
  struct rev_info check_rev ;
  struct commit *commit ;
  struct commit *c1 ;
  struct commit *c2 ;
  struct object *o1 ;
  struct object *o2 ;
  unsigned int flags1 ;
  unsigned int flags2 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  if (rev->pending.nr != 2U) {
    tmp = _((char const   *)"need exactly one range");
    die((char const   *)tmp);
  }
  o1 = (rev->pending.objects + 0)->item;
  o2 = (rev->pending.objects + 1)->item;
  flags1 = o1->flags;
  flags2 = o2->flags;
  c1 = lookup_commit_reference(the_repository, (struct object_id  const  *)(& o1->oid));
  c2 = lookup_commit_reference(the_repository, (struct object_id  const  *)(& o2->oid));
  if ((flags1 & (1u << 1)) == (flags2 & (1u << 1))) {
    tmp___0 = _((char const   *)"not a range");
    die((char const   *)tmp___0);
  }
  init_patch_ids(the_repository, ids);
  repo_init_revisions(the_repository, & check_rev, rev->prefix);
  check_rev.max_parents = 1;
  o1->flags ^= 1u << 1;
  o2->flags ^= 1u << 1;
  add_pending_object(& check_rev, o1, (char const   *)"o1");
  add_pending_object(& check_rev, o2, (char const   *)"o2");
  tmp___2 = prepare_revision_walk(& check_rev);
  if (tmp___2) {
    tmp___1 = _((char const   *)"revision walk setup failed");
    die((char const   *)tmp___1);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    commit = get_revision(& check_rev);
    if (! ((unsigned long )commit != (unsigned long )((void *)0))) {
      goto while_break;
    }
    add_commit_patch_id(commit, ids);
  }
  while_break: /* CIL Label */ ;
  }
  clear_commit_marks(c1, ((1u | (1u << 1)) | (1u << 3)) | (1u << 7));
  clear_commit_marks(c2, ((1u | (1u << 1)) | (1u << 3)) | (1u << 7));
  o1->flags = flags1;
  o2->flags = flags2;
  return;
}
}
static void gen_message_id(struct rev_info *info___0 , char *base )
{
  struct strbuf buf___19 ;
  char const   *tmp ;
  time_t tmp___0 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = git_committer_info(7);
  tmp___0 = time((time_t *)((void *)0));
  strbuf_addf(& buf___19, (char const   *)"%s.%lu.git.%s", base, (timestamp_t )tmp___0,
              tmp);
  info___0->message_id = strbuf_detach(& buf___19, (size_t *)((void *)0));
  return;
}
}
static void print_signature(FILE *file___0 )
{
  size_t tmp ;

  {
  if (! signature) {
    return;
  } else
  if (! *signature) {
    return;
  }
  fprintf(file___0, (char const   *)"-- \n%s", signature);
  tmp = strlen(signature);
  if ((int const   )*(signature + (tmp - 1UL)) != 10) {
    _IO_putc('\n', file___0);
  }
  _IO_putc('\n', file___0);
  return;
}
}
static char *find_branch_name(struct rev_info *rev )
{
  int i ;
  int positive ;
  struct object_id branch_oid ;
  struct object_id  const  *tip_oid ;
  char const   *ref ;
  char const   *v ;
  char *full_ref ;
  char *branch___0 ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  positive = -1;
  branch___0 = (char *)((void *)0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < rev->cmdline.nr)) {
      goto while_break;
    }
    if ((rev->cmdline.rev + i)->flags & (1u << 1)) {
      goto __Cont;
    }
    if (positive < 0) {
      positive = i;
    } else {
      return ((char *)((void *)0));
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (positive < 0) {
    return ((char *)((void *)0));
  }
  ref = (rev->cmdline.rev + positive)->name;
  tip_oid = (struct object_id  const  *)(& ((rev->cmdline.rev + positive)->item)->oid);
  tmp = strlen(ref);
  tmp___0 = dwim_ref(ref, (int )tmp, & branch_oid, & full_ref, 0);
  if (tmp___0) {
    tmp___1 = skip_prefix((char const   *)full_ref, (char const   *)"refs/heads/",
                          & v);
    if (tmp___1) {
      tmp___2 = oideq(tip_oid, (struct object_id  const  *)(& branch_oid));
      if (tmp___2) {
        branch___0 = xstrdup(v);
      }
    }
  }
  free((void *)full_ref);
  return (branch___0);
}
}
static void show_diffstat(struct rev_info *rev , struct commit *origin___0 , struct commit *head___1 )
{
  struct diff_options opts___1 ;
  struct object_id *tmp ;
  struct object_id *tmp___0 ;

  {
  memcpy((void *)(& opts___1), (void const   *)(& rev->diffopt), sizeof(opts___1));
  opts___1.output_format = 10;
  diff_setup_done(& opts___1);
  tmp = get_commit_tree_oid((struct commit  const  *)head___1);
  tmp___0 = get_commit_tree_oid((struct commit  const  *)origin___0);
  diff_tree_oid((struct object_id  const  *)tmp___0, (struct object_id  const  *)tmp,
                (char const   *)"", & opts___1);
  diffcore_std(& opts___1);
  diff_flush(& opts___1);
  fprintf(rev->diffopt.file, (char const   *)"\n");
  return;
}
}
static void prepare_cover_text(struct pretty_print_context *pp , char const   *branch_name ,
                               struct strbuf *sb___6 , char const   *encoding , int need_8bit_cte )
{
  char const   *subject ;
  char const   *body ;
  struct strbuf description_sb ;
  struct strbuf subject_sb ;

  {
  subject = (char const   *)"*** SUBJECT HERE ***";
  body = (char const   *)"*** BLURB HERE ***";
  description_sb.alloc = 0UL;
  description_sb.len = 0UL;
  description_sb.buf = strbuf_slopbuf;
  subject_sb.alloc = 0UL;
  subject_sb.len = 0UL;
  subject_sb.buf = strbuf_slopbuf;
  if ((unsigned int )cover_from_description_mode == 0U) {
    goto do_pp;
  }
  if (branch_name) {
    if (*branch_name) {
      read_branch_desc(& description_sb, branch_name);
    }
  }
  if (! description_sb.len) {
    goto do_pp;
  }
  if ((unsigned int )cover_from_description_mode == 2U) {
    body = format_subject(& subject_sb, (char const   *)description_sb.buf, (char const   *)" ");
  } else
  if ((unsigned int )cover_from_description_mode == 3U) {
    body = format_subject(& subject_sb, (char const   *)description_sb.buf, (char const   *)" ");
  }
  if ((unsigned int )cover_from_description_mode == 1U) {
    body = (char const   *)description_sb.buf;
  } else
  if ((unsigned int )cover_from_description_mode == 3U) {
    if (subject_sb.len > 100UL) {
      body = (char const   *)description_sb.buf;
    } else {
      subject = (char const   *)subject_sb.buf;
    }
  } else {
    subject = (char const   *)subject_sb.buf;
  }
  do_pp:
  pp_title_line(pp, & subject, sb___6, encoding, need_8bit_cte);
  pp_remainder(pp, & body, sb___6, 0);
  strbuf_release(& description_sb);
  strbuf_release(& subject_sb);
  return;
}
}
static int get_notes_refs(struct string_list_item *item___0 , void *arg )
{


  {
  strvec_pushf((struct strvec *)arg, (char const   *)"--notes=%s", item___0->string);
  return (0);
}
}
static void get_notes_args(struct strvec *arg , struct rev_info *rev )
{


  {
  if (! rev->show_notes) {
    strvec_push(arg, (char const   *)"--no-notes");
  } else
  if (rev->notes_opt.use_default_notes > 0) {
    strvec_push(arg, (char const   *)"--notes");
  } else
  if (rev->notes_opt.use_default_notes == -1) {
    if (! rev->notes_opt.extra_notes_refs.nr) {
      strvec_push(arg, (char const   *)"--notes");
    } else {
      for_each_string_list(& rev->notes_opt.extra_notes_refs, & get_notes_refs, (void *)arg);
    }
  } else {
    for_each_string_list(& rev->notes_opt.extra_notes_refs, & get_notes_refs, (void *)arg);
  }
  return;
}
}
static void make_cover_letter(struct rev_info *rev , int use_separate_file , struct commit *origin___0 ,
                              int nr___0 , struct commit **list___3 , char const   *branch_name ,
                              int quiet___7 )
{
  char const   *committer ;
  struct shortlog log ;
  struct strbuf sb___6 ;
  int i ;
  char const   *encoding ;
  int need_8bit_cte ;
  struct pretty_print_context pp ;
  struct commit *head___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  char const   *buf___19 ;
  void const   *tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  struct diff_options opts___1 ;
  struct strvec other_arg ;
  struct range_diff_options range_diff_opts ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  encoding = (char const   *)"UTF-8";
  need_8bit_cte = 0;
  pp.fmt = (enum cmit_fmt )0;
  pp.abbrev = 0;
  pp.after_subject = (char const   *)0;
  pp.preserve_subject = 0;
  pp.date_mode.type = 0U;
  pp.date_mode.strftime_fmt = (char const   *)0;
  pp.date_mode.local = 0;
  pp.date_mode_explicit = 0U;
  pp.print_email_subject = 0;
  pp.expand_tabs_in_log = 0;
  pp.need_8bit_cte = 0;
  pp.notes_message = (char *)0;
  pp.reflog_info = (struct reflog_walk_info *)0;
  pp.rev = (struct rev_info *)0;
  pp.output_encoding = (char const   *)0;
  pp.mailmap = (struct string_list *)0;
  pp.color = 0;
  pp.from_ident = (struct ident_split *)0;
  pp.encode_email_headers = 0U;
  pp.describe_status = (struct pretty_print_describe_status *)0;
  pp.in_body_headers.items = (struct string_list_item *)0;
  pp.in_body_headers.nr = 0U;
  pp.in_body_headers.alloc = 0U;
  pp.in_body_headers.strdup_strings = 0U;
  pp.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
  pp.graph_width = 0;
  head___1 = *(list___3 + 0);
  tmp___0 = cmit_fmt_is_mail(rev->commit_format);
  if (! tmp___0) {
    tmp = _((char const   *)"cover letter needs email format");
    die((char const   *)tmp);
  }
  committer = git_committer_info(0);
  if (use_separate_file) {
    if (rev->numbered_files) {
      tmp___2 = (char *)((void *)0);
    } else {
      tmp___2 = "cover-letter";
    }
    tmp___3 = open_next_file((struct commit *)((void *)0), (char const   *)tmp___2,
                             rev, quiet___7);
    if (tmp___3) {
      tmp___1 = _((char const   *)"failed to create cover-letter file");
      die((char const   *)tmp___1);
    }
  }
  log_write_email_headers(rev, head___1, & pp.after_subject, & need_8bit_cte, 0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! need_8bit_cte) {
      if (! (i < nr___0)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___4 = repo_get_commit_buffer(the_repository, (struct commit  const  *)*(list___3 + i),
                                     (unsigned long *)((void *)0));
    buf___19 = (char const   *)tmp___4;
    tmp___5 = has_non_ascii(buf___19);
    if (tmp___5) {
      need_8bit_cte = 1;
    }
    repo_unuse_commit_buffer(the_repository, (struct commit  const  *)*(list___3 + i),
                             (void const   *)buf___19);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! branch_name) {
    tmp___6 = find_branch_name(rev);
    branch_name = (char const   *)tmp___6;
  }
  pp.fmt = (enum cmit_fmt )6;
  pp.date_mode.type = (enum date_mode_type )6;
  pp.rev = rev;
  pp.print_email_subject = 1;
  pp_user_info(& pp, (char const   *)((void *)0), & sb___6, committer, encoding);
  prepare_cover_text(& pp, branch_name, & sb___6, encoding, need_8bit_cte);
  fprintf(rev->diffopt.file, (char const   *)"%s\n", sb___6.buf);
  strbuf_release(& sb___6);
  shortlog_init(& log);
  log.wrap_lines = 1;
  log.wrap = 72;
  log.in1 = 2;
  log.in2 = 4;
  log.file = rev->diffopt.file;
  log.groups = (enum __anonenum_groups_87157389 )1;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break___0;
    }
    shortlog_add_commit(& log, *(list___3 + i));
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  shortlog_output(& log);
  if (origin___0) {
    show_diffstat(rev, origin___0, head___1);
  }
  if (rev->idiff_oid1) {
    fprintf_ln(rev->diffopt.file, (char const   *)"%s", rev->idiff_title);
    show_interdiff(rev->idiff_oid1, rev->idiff_oid2, 0, & rev->diffopt);
  }
  if (rev->rdiff1) {
    other_arg.v = empty_strvec;
    other_arg.nr = 0UL;
    other_arg.alloc = 0UL;
    range_diff_opts.creation_factor = rev->creation_factor;
    range_diff_opts.dual_color = 1U;
    range_diff_opts.left_only = 0U;
    range_diff_opts.right_only = 0U;
    range_diff_opts.diffopt = (struct diff_options  const  *)(& opts___1);
    range_diff_opts.other_arg = (struct strvec  const  *)(& other_arg);
    repo_diff_setup(the_repository, & opts___1);
    opts___1.file = rev->diffopt.file;
    opts___1.use_color = rev->diffopt.use_color;
    diff_setup_done(& opts___1);
    fprintf_ln(rev->diffopt.file, (char const   *)"%s", rev->rdiff_title);
    get_notes_args(& other_arg, rev);
    show_range_diff(rev->rdiff1, rev->rdiff2, & range_diff_opts);
    strvec_clear(& other_arg);
  }
  return;
}
}
static char const   *clean_message_id(char const   *msg_id )
{
  char ch___0 ;
  char const   *a ;
  char const   *z ;
  char const   *m ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  void *tmp___0 ;

  {
  m = msg_id;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    ch___0 = (char )*m;
    if (ch___0) {
      if (! (((int const   )sane_ctype[(unsigned char )ch___0] & 1) != 0)) {
        if (! ((int )ch___0 == 60)) {
          goto while_break;
        }
      }
    } else {
      goto while_break;
    }
    m ++;
  }
  while_break: /* CIL Label */ ;
  }
  a = m;
  z = (char const   *)((void *)0);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    ch___0 = (char )*m;
    if (! ch___0) {
      goto while_break___0;
    }
    if (! (((int const   )sane_ctype[(unsigned char )ch___0] & 1) != 0)) {
      if ((int )ch___0 != 62) {
        z = m;
      }
    }
    m ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (! z) {
    tmp = _((char const   *)"insane in-reply-to: %s");
    die((char const   *)tmp, msg_id);
  }
  z ++;
  if ((unsigned long )z == (unsigned long )m) {
    return (a);
  }
  tmp___0 = xmemdupz((void const   *)a, (size_t )(z - a));
  return ((char const   *)tmp___0);
}
}
static char const   *set_outdir(char const   *prefix___1 , char const   *output_directory___0 )
{
  int tmp ;
  size_t tmp___0 ;
  char *tmp___1 ;

  {
  if (output_directory___0) {
    tmp = is_absolute_path(output_directory___0);
    if (tmp) {
      return (output_directory___0);
    }
  }
  if (! prefix___1) {
    goto _L;
  } else
  if (! *prefix___1) {
    _L: /* CIL Label */
    if (output_directory___0) {
      return (output_directory___0);
    }
    outdir_offset = 2;
    return ((char const   *)"./");
  }
  tmp___0 = strlen(prefix___1);
  outdir_offset = (int )tmp___0;
  if (! output_directory___0) {
    return (prefix___1);
  }
  tmp___1 = prefix_filename(prefix___1, output_directory___0);
  return ((char const   *)tmp___1);
}
}
static char const   *builtin_format_patch_usage[2]  = {      (char const   *)"git format-patch [<options>] [<since> | <revision-range>]",      (char const   *)((void *)0)};
static int keep_subject  =    0;
static int keep_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/log.c", 1316, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/log.c", 1317, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  ((struct rev_info *)opt___0->value)->total = -1;
  keep_subject = 1;
  return (0);
}
}
static int subject_prefix  =    0;
static int subject_prefix_callback(struct option  const  *opt___0 , char const   *arg ,
                                   int unset )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/log.c", 1328, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  subject_prefix = 1;
  ((struct rev_info *)opt___0->value)->subject_prefix = arg;
  return (0);
}
}
static int rfc_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/log.c", 1336, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/log.c", 1337, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp = subject_prefix_callback(opt___0, (char const   *)"RFC PATCH", unset);
  return (tmp);
}
}
static int numbered_cmdline_opt  =    0;
static int numbered_callback(struct option  const  *opt___0 , char const   *arg ,
                             int unset )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/log.c", 1346, (char const   *)"option callback does not expect an argument");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (unset) {
    numbered_cmdline_opt = 0;
  } else {
    numbered_cmdline_opt = 1;
  }
  *((int *)opt___0->value) = numbered_cmdline_opt;
  if (unset) {
    auto_number = 0;
  }
  return (0);
}
}
static int no_numbered_callback(struct option  const  *opt___0 , char const   *arg ,
                                int unset )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/log.c", 1356, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = numbered_callback(opt___0, arg, 1);
  return (tmp);
}
}
static int output_directory_callback(struct option  const  *opt___0 , char const   *arg ,
                                     int unset )
{
  char const   **dir ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  dir = (char const   **)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/log.c", 1364, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (*dir) {
    tmp = _((char const   *)"two output directories?");
    die((char const   *)tmp);
  }
  *dir = arg;
  return (0);
}
}
static int thread_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{
  enum thread_level *thread___0 ;
  int tmp ;
  int tmp___0 ;

  {
  thread___0 = (enum thread_level *)opt___0->value;
  if (unset) {
    *thread___0 = (enum thread_level )0;
  } else
  if (! arg) {
    *thread___0 = (enum thread_level )1;
  } else {
    tmp___0 = strcmp(arg, (char const   *)"shallow");
    if (tmp___0) {
      tmp = strcmp(arg, (char const   *)"deep");
      if (tmp) {
        return (1);
      } else {
        *thread___0 = (enum thread_level )2;
      }
    } else {
      *thread___0 = (enum thread_level )1;
    }
  }
  return (0);
}
}
static int attach_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct rev_info *rev ;

  {
  rev = (struct rev_info *)opt___0->value;
  if (unset) {
    rev->mime_boundary = (char const   *)((void *)0);
  } else
  if (arg) {
    rev->mime_boundary = arg;
  } else {
    rev->mime_boundary = git_version_string;
  }
  if (unset) {
    rev->no_inline = 0;
  } else {
    rev->no_inline = 1;
  }
  return (0);
}
}
static int inline_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct rev_info *rev ;

  {
  rev = (struct rev_info *)opt___0->value;
  if (unset) {
    rev->mime_boundary = (char const   *)((void *)0);
  } else
  if (arg) {
    rev->mime_boundary = arg;
  } else {
    rev->mime_boundary = git_version_string;
  }
  rev->no_inline = 0;
  return (0);
}
}
static int header_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{


  {
  if (unset) {
    string_list_clear(& extra_hdr, 0);
    string_list_clear(& extra_to, 0);
    string_list_clear(& extra_cc, 0);
  } else {
    add_header(arg);
  }
  return (0);
}
}
static int to_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{


  {
  if (unset) {
    string_list_clear(& extra_to, 0);
  } else {
    string_list_append(& extra_to, arg);
  }
  return (0);
}
}
static int cc_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{


  {
  if (unset) {
    string_list_clear(& extra_cc, 0);
  } else {
    string_list_append(& extra_cc, arg);
  }
  return (0);
}
}
static int from_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{
  char **from___0 ;
  char const   *tmp ;

  {
  from___0 = (char **)opt___0->value;
  free((void *)*from___0);
  if (unset) {
    *from___0 = (char *)((void *)0);
  } else
  if (arg) {
    *from___0 = xstrdup(arg);
  } else {
    tmp = git_committer_info(2);
    *from___0 = xstrdup(tmp);
  }
  return (0);
}
}
static int base_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{
  char const   **base_commit ;
  int tmp ;

  {
  base_commit = (char const   **)opt___0->value;
  if (unset) {
    auto_base = (enum auto_base_setting )0;
    *base_commit = (char const   *)((void *)0);
  } else {
    tmp = strcmp(arg, (char const   *)"auto");
    if (tmp) {
      auto_base = (enum auto_base_setting )0;
      *base_commit = arg;
    } else {
      auto_base = (enum auto_base_setting )1;
      *base_commit = (char const   *)((void *)0);
    }
  }
  return (0);
}
}
static struct commit *get_base_commit(char const   *base_commit , struct commit **list___3 ,
                                      int total )
{
  struct commit *base ;
  struct commit **rev ;
  int i ;
  int rev_nr ;
  int auto_select ;
  int die_on_failure ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct branch *curr_branch ;
  struct branch *tmp___0 ;
  char const   *upstream ;
  char const   *tmp___1 ;
  struct commit_list *base_list ;
  struct commit *commit ;
  struct object_id oid ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  size_t tmp___6 ;
  void *tmp___7 ;
  struct commit_list *merge_base ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;

  {
  base = (struct commit *)((void *)0);
  i = 0;
  rev_nr = 0;
  {
  if ((unsigned int )auto_base == 0U) {
    goto case_0;
  }
  if ((unsigned int )auto_base == 2U) {
    goto case_2;
  }
  if ((unsigned int )auto_base == 1U) {
    goto case_2;
  }
  goto switch_default;
  case_0: /* CIL Label */
  if (base_commit) {
    auto_select = 0;
    die_on_failure = 1;
  } else {
    return ((struct commit *)((void *)0));
  }
  goto switch_break;
  case_2: /* CIL Label */
  case_1: /* CIL Label */
  if (base_commit) {
    BUG_fl((char const   *)"builtin/log.c", 1504, (char const   *)"requested automatic base selection but a commit was provided");
  } else {
    auto_select = 1;
    die_on_failure = (unsigned int )auto_base == 1U;
  }
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"builtin/log.c", 1511, (char const   *)"unexpected automatic base selection method");
  switch_break: /* CIL Label */ ;
  }
  if (! auto_select) {
    base = lookup_commit_reference_by_name(base_commit);
    if (! base) {
      tmp = _((char const   *)"unknown commit %s");
      die((char const   *)tmp, base_commit);
    }
  } else {
    tmp___0 = branch_get((char const   *)((void *)0));
    curr_branch = tmp___0;
    tmp___1 = branch_get_upstream(curr_branch, (struct strbuf *)((void *)0));
    upstream = tmp___1;
    if (upstream) {
      tmp___3 = repo_get_oid(the_repository, upstream, & oid);
      if (tmp___3) {
        if (die_on_failure) {
          tmp___2 = _((char const   *)"failed to resolve \'%s\' as a valid ref");
          die((char const   *)tmp___2, upstream);
        } else {
          return ((struct commit *)((void *)0));
        }
      }
      commit = lookup_commit_or_die((struct object_id  const  *)(& oid), (char const   *)"upstream base");
      base_list = repo_get_merge_bases_many(the_repository, commit, total, list___3);
      if (! base_list) {
        goto _L;
      } else
      if (base_list->next) {
        _L: /* CIL Label */
        if (die_on_failure) {
          tmp___4 = _((char const   *)"could not find exact merge base");
          die((char const   *)tmp___4);
        } else {
          free_commit_list(base_list);
          return ((struct commit *)((void *)0));
        }
      }
      base = base_list->item;
      free_commit_list(base_list);
    } else
    if (die_on_failure) {
      tmp___5 = _((char const   *)"failed to get upstream, if you want to record base commit automatically,\nplease use git branch --set-upstream-to to track a remote branch.\nOr you could specify base commit by --base=<base-commit-id> manually");
      die((char const   *)tmp___5);
    } else {
      return ((struct commit *)((void *)0));
    }
  }
  tmp___6 = st_mult(sizeof(*rev), (size_t )total);
  tmp___7 = xmalloc(tmp___6);
  rev = (struct commit **)tmp___7;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < total)) {
      goto while_break;
    }
    *(rev + i) = *(list___3 + i);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  rev_nr = total;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (rev_nr > 1)) {
      goto while_break___0;
    }
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < rev_nr / 2)) {
        goto while_break___1;
      }
      merge_base = repo_get_merge_bases(the_repository, *(rev + 2 * i), *(rev + (2 * i + 1)));
      if (! merge_base) {
        goto _L___0;
      } else
      if (merge_base->next) {
        _L___0: /* CIL Label */
        if (die_on_failure) {
          tmp___8 = _((char const   *)"failed to find exact merge base");
          die((char const   *)tmp___8);
        } else {
          free((void *)rev);
          return ((struct commit *)((void *)0));
        }
      }
      *(rev + i) = merge_base->item;
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (rev_nr % 2) {
      *(rev + i) = *(rev + 2 * i);
    }
    rev_nr = ((rev_nr + 2) - 1) / 2;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___10 = repo_in_merge_bases(the_repository, base, *(rev + 0));
  if (! tmp___10) {
    if (die_on_failure) {
      tmp___9 = _((char const   *)"base commit should be the ancestor of revision list");
      die((char const   *)tmp___9);
    } else {
      free((void *)rev);
      return ((struct commit *)((void *)0));
    }
  }
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < total)) {
      goto while_break___2;
    }
    if ((unsigned long )base == (unsigned long )*(list___3 + i)) {
      if (die_on_failure) {
        tmp___11 = _((char const   *)"base commit shouldn\'t be in revision list");
        die((char const   *)tmp___11);
      } else {
        free((void *)rev);
        return ((struct commit *)((void *)0));
      }
    }
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  free((void *)rev);
  return (base);
}
}
static void init_commit_base_with_stride(struct commit_base *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_commit_base_with_stride(struct commit_base *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(int ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (int **)((void *)0);
  return;
}
}
static void init_commit_base(struct commit_base *s___1 )  __attribute__((__unused__)) ;
static void init_commit_base(struct commit_base *s___1 )
{


  {
  init_commit_base_with_stride(s___1, 1U);
  return;
}
}
static void clear_commit_base(struct commit_base *s___1 )  __attribute__((__unused__)) ;
static void clear_commit_base(struct commit_base *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (int **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_commit_base(struct commit_base *s___1 , void (*free_fn)(int * ) )  __attribute__((__unused__)) ;
static void deep_clear_commit_base(struct commit_base *s___1 , void (*free_fn)(int * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_commit_base(s___1);
  return;
}
}
static int *commit_base_at_peek(struct commit_base *s___1 , struct commit  const  *c___0 ,
                                int add_if_missing )  __attribute__((__unused__)) ;
static int *commit_base_at_peek(struct commit_base *s___1 , struct commit  const  *c___0 ,
                                int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((int *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (int **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (int *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((int *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (int *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static int *commit_base_at(struct commit_base *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static int *commit_base_at(struct commit_base *s___1 , struct commit  const  *c___0 )
{
  int *tmp ;

  {
  tmp = commit_base_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static int *commit_base_peek(struct commit_base *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static int *commit_base_peek(struct commit_base *s___1 , struct commit  const  *c___0 )
{
  int *tmp ;

  {
  tmp = commit_base_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
static void prepare_bases(struct base_tree_info *bases , struct commit *base , struct commit **list___3 ,
                          int total )
{
  struct commit *commit ;
  struct rev_info revs ;
  struct diff_options diffopt ;
  struct commit_base commit_base ;
  int i ;
  int *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  struct object_id oid ;
  struct object_id *patch_id ;
  int *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;

  {
  if (! base) {
    return;
  }
  init_commit_base(& commit_base);
  repo_diff_setup(the_repository, & diffopt);
  diffopt.flags.recursive = 1U;
  diff_setup_done(& diffopt);
  oidcpy(& bases->base_commit, (struct object_id  const  *)(& base->object.oid));
  repo_init_revisions(the_repository, & revs, (char const   *)((void *)0));
  revs.max_parents = 1;
  revs.topo_order = 1U;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < total)) {
      goto while_break;
    }
    (*(list___3 + i))->object.flags &= ~ (1u << 1);
    add_pending_object(& revs, & (*(list___3 + i))->object, (char const   *)"rev_list");
    tmp = commit_base_at(& commit_base, (struct commit  const  *)*(list___3 + i));
    *tmp = 1;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  base->object.flags |= 1u << 1;
  add_pending_object(& revs, & base->object, (char const   *)"base");
  tmp___1 = prepare_revision_walk(& revs);
  if (tmp___1) {
    tmp___0 = _((char const   *)"revision walk setup failed");
    die((char const   *)tmp___0);
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    commit = get_revision(& revs);
    if (! ((unsigned long )commit != (unsigned long )((void *)0))) {
      goto while_break___0;
    }
    tmp___2 = commit_base_at(& commit_base, (struct commit  const  *)commit);
    if (*tmp___2) {
      goto while_continue___0;
    }
    tmp___4 = commit_patch_id(commit, & diffopt, & oid, 0, 1);
    if (tmp___4) {
      tmp___3 = _((char const   *)"cannot get patch id");
      die((char const   *)tmp___3);
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (bases->nr_patch_id + 1 > bases->alloc_patch_id) {
        if (((bases->alloc_patch_id + 16) * 3) / 2 < bases->nr_patch_id + 1) {
          bases->alloc_patch_id = bases->nr_patch_id + 1;
        } else {
          bases->alloc_patch_id = ((bases->alloc_patch_id + 16) * 3) / 2;
        }
        tmp___5 = st_mult(sizeof(*(bases->patch_id)), (size_t )bases->alloc_patch_id);
        tmp___6 = xrealloc((void *)bases->patch_id, tmp___5);
        bases->patch_id = (struct object_id *)tmp___6;
      }
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
    patch_id = bases->patch_id + bases->nr_patch_id;
    oidcpy(patch_id, (struct object_id  const  *)(& oid));
    (bases->nr_patch_id) ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  clear_commit_base(& commit_base);
  return;
}
}
static void print_bases(struct base_tree_info *bases , FILE *file___0 )
{
  int i ;
  int tmp ;
  char *tmp___0 ;
  char *tmp___1 ;

  {
  tmp = is_null_oid((struct object_id  const  *)(& bases->base_commit));
  if (tmp) {
    return;
  }
  tmp___0 = oid_to_hex((struct object_id  const  *)(& bases->base_commit));
  fprintf(file___0, (char const   *)"\nbase-commit: %s\n", tmp___0);
  i = bases->nr_patch_id - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i >= 0)) {
      goto while_break;
    }
    tmp___1 = oid_to_hex((struct object_id  const  *)(bases->patch_id + i));
    fprintf(file___0, (char const   *)"prerequisite-patch-id: %s\n", tmp___1);
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)bases->patch_id);
  bases->nr_patch_id = 0;
  bases->alloc_patch_id = 0;
  oidclr(& bases->base_commit);
  return;
}
}
static char const   *diff_title(struct strbuf *sb___6 , char const   *reroll_count ,
                                char const   *generic , char const   *rerolled )
{
  int v ;
  int tmp ;

  {
  if (reroll_count) {
    tmp = strtol_i(reroll_count, 10, & v);
    if (tmp) {
      strbuf_addstr(sb___6, generic);
    } else
    if (v >= 1) {
      strbuf_addf(sb___6, rerolled, v - 1);
    } else {
      strbuf_addstr(sb___6, generic);
    }
  } else {
    strbuf_addstr(sb___6, generic);
  }
  return ((char const   *)sb___6->buf);
}
}
static void infer_range_diff_ranges(struct strbuf *r1 , struct strbuf *r2 , char const   *prev ,
                                    struct commit *origin___0 , struct commit *head___1 )
{
  char const   *head_oid___1 ;
  char *tmp ;
  int prev_is_range ;
  int tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  tmp = oid_to_hex((struct object_id  const  *)(& head___1->object.oid));
  head_oid___1 = (char const   *)tmp;
  tmp___0 = is_range_diff_range(prev);
  prev_is_range = tmp___0;
  if (prev_is_range) {
    strbuf_addstr(r1, prev);
  } else {
    strbuf_addf(r1, (char const   *)"%s..%s", head_oid___1, prev);
  }
  if (origin___0) {
    tmp___1 = oid_to_hex((struct object_id  const  *)(& origin___0->object.oid));
    strbuf_addf(r2, (char const   *)"%s..%s", tmp___1, head_oid___1);
  } else
  if (prev_is_range) {
    tmp___2 = _((char const   *)"failed to infer range-diff origin of current series");
    die((char const   *)tmp___2);
  } else {
    tmp___3 = _((char const   *)"using \'%s\' as range-diff origin of current series");
    warning((char const   *)tmp___3, prev);
    strbuf_addf(r2, (char const   *)"%s..%s", prev, head_oid___1);
  }
  return;
}
}
int cmd_format_patch(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct commit *commit ;
  struct commit **list___3 ;
  struct rev_info rev ;
  struct setup_revision_opt s_r_opt ;
  int nr___0 ;
  int total ;
  int i ;
  int use_stdout ;
  int start_number ;
  int just_numbers ;
  int ignore_if_in_upstream ;
  int cover_letter ;
  int boundary_count ;
  int no_binary_diff ;
  int zero_commit ;
  struct commit *origin___0 ;
  char const   *in_reply_to ;
  struct patch_ids ids ;
  struct strbuf buf___19 ;
  int use_patch_format ;
  int quiet___7 ;
  char const   *reroll_count ;
  char *cover_from_description_arg ;
  char *branch_name ;
  char *base_commit ;
  struct base_tree_info bases ;
  struct commit *base ;
  int show_progress___4 ;
  struct progress *progress___7 ;
  struct oid_array idiff_prev ;
  struct strbuf idiff_title ;
  char const   *rdiff_prev ;
  struct strbuf rdiff1 ;
  struct strbuf rdiff2 ;
  struct strbuf rdiff_title ;
  int creation_factor ;
  struct option builtin_format_patch_options[37] ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  struct strbuf sprefix ;
  char *tmp___3 ;
  char *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  size_t tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int saved ;
  enum scld_error tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  int tmp___18 ;
  int *tmp___19 ;
  int check_head ;
  int tmp___20 ;
  char const   *ref ;
  char const   *v ;
  int tmp___21 ;
  struct object_array_entry *o ;
  int tmp___22 ;
  char const __attribute__((__format_arg__(1)))  *tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  size_t tmp___26 ;
  void *tmp___27 ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  struct object_id *tmp___29 ;
  char const __attribute__((__format_arg__(1)))  *tmp___30 ;
  char const __attribute__((__format_arg__(1)))  *tmp___31 ;
  char const __attribute__((__format_arg__(1)))  *tmp___32 ;
  char const __attribute__((__format_arg__(1)))  *tmp___33 ;
  char const __attribute__((__format_arg__(1)))  *tmp___34 ;
  char const __attribute__((__format_arg__(1)))  *tmp___35 ;
  struct strbuf buf___20 ;
  char const __attribute__((__format_arg__(1)))  *tmp___36 ;
  ssize_t tmp___37 ;
  char *tmp___38 ;
  void *tmp___39 ;
  char const   *msgid ;
  char const   *tmp___40 ;
  char const __attribute__((__format_arg__(1)))  *tmp___41 ;
  int shown ;
  char *tmp___42 ;
  char const __attribute__((__format_arg__(1)))  *tmp___43 ;
  struct commit *tmp___44 ;
  int tmp___45 ;

  {
  list___3 = (struct commit **)((void *)0);
  nr___0 = 0;
  use_stdout = 0;
  start_number = -1;
  just_numbers = 0;
  ignore_if_in_upstream = 0;
  cover_letter = -1;
  boundary_count = 0;
  no_binary_diff = 0;
  zero_commit = 0;
  origin___0 = (struct commit *)((void *)0);
  in_reply_to = (char const   *)((void *)0);
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  use_patch_format = 0;
  quiet___7 = 0;
  reroll_count = (char const   *)((void *)0);
  cover_from_description_arg = (char *)((void *)0);
  branch_name = (char *)((void *)0);
  base_commit = (char *)((void *)0);
  show_progress___4 = 0;
  progress___7 = (struct progress *)((void *)0);
  idiff_prev.oid = (struct object_id *)0;
  idiff_prev.nr = 0UL;
  idiff_prev.alloc = 0UL;
  idiff_prev.sorted = 0;
  idiff_title.alloc = 0UL;
  idiff_title.len = 0UL;
  idiff_title.buf = strbuf_slopbuf;
  rdiff_prev = (char const   *)((void *)0);
  rdiff1.alloc = 0UL;
  rdiff1.len = 0UL;
  rdiff1.buf = strbuf_slopbuf;
  rdiff2.alloc = 0UL;
  rdiff2.len = 0UL;
  rdiff2.buf = strbuf_slopbuf;
  rdiff_title.alloc = 0UL;
  rdiff_title.len = 0UL;
  rdiff_title.buf = strbuf_slopbuf;
  creation_factor = -1;
  builtin_format_patch_options[0].type = (enum parse_opt_type )((enum parse_opt_type )12);
  builtin_format_patch_options[0].short_name = (int )'n';
  builtin_format_patch_options[0].long_name = (char const   *)((char const   *)"numbered");
  builtin_format_patch_options[0].value = (void *)((void *)(& numbered));
  builtin_format_patch_options[0].argh = (char const   *)((char const   *)((void *)0));
  builtin_format_patch_options[0].help = (char const   *)((char const   *)"use [PATCH n/m] even with a single patch");
  builtin_format_patch_options[0].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  builtin_format_patch_options[0].callback = (parse_opt_cb *)(& numbered_callback);
  builtin_format_patch_options[0].defval = (intptr_t )0L;
  builtin_format_patch_options[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[0].extra = (intptr_t )0L;
  builtin_format_patch_options[1].type = (enum parse_opt_type )((enum parse_opt_type )12);
  builtin_format_patch_options[1].short_name = (int )'N';
  builtin_format_patch_options[1].long_name = (char const   *)((char const   *)"no-numbered");
  builtin_format_patch_options[1].value = (void *)((void *)(& numbered));
  builtin_format_patch_options[1].argh = (char const   *)((char const   *)((void *)0));
  builtin_format_patch_options[1].help = (char const   *)((char const   *)"use [PATCH] even with multiple patches");
  builtin_format_patch_options[1].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )6);
  builtin_format_patch_options[1].callback = (parse_opt_cb *)(& no_numbered_callback);
  builtin_format_patch_options[1].defval = (intptr_t )0L;
  builtin_format_patch_options[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[1].extra = (intptr_t )0L;
  builtin_format_patch_options[2].type = (enum parse_opt_type )((enum parse_opt_type )8);
  builtin_format_patch_options[2].short_name = (int )'s';
  builtin_format_patch_options[2].long_name = (char const   *)((char const   *)"signoff");
  builtin_format_patch_options[2].value = (void *)((void *)(& do_signoff));
  builtin_format_patch_options[2].argh = (char const   *)((char const   *)((void *)0));
  builtin_format_patch_options[2].help = (char const   *)((char const   *)"add a Signed-off-by trailer");
  builtin_format_patch_options[2].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  builtin_format_patch_options[2].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  builtin_format_patch_options[2].defval = (intptr_t )((intptr_t )1);
  builtin_format_patch_options[2].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[2].extra = (intptr_t )0L;
  builtin_format_patch_options[3].type = (enum parse_opt_type )((enum parse_opt_type )8);
  builtin_format_patch_options[3].short_name = (int )0;
  builtin_format_patch_options[3].long_name = (char const   *)((char const   *)"stdout");
  builtin_format_patch_options[3].value = (void *)((void *)(& use_stdout));
  builtin_format_patch_options[3].argh = (char const   *)((char const   *)((void *)0));
  builtin_format_patch_options[3].help = (char const   *)((char const   *)"print patches to standard out");
  builtin_format_patch_options[3].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  builtin_format_patch_options[3].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  builtin_format_patch_options[3].defval = (intptr_t )((intptr_t )1);
  builtin_format_patch_options[3].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[3].extra = (intptr_t )0L;
  builtin_format_patch_options[4].type = (enum parse_opt_type )((enum parse_opt_type )8);
  builtin_format_patch_options[4].short_name = (int )0;
  builtin_format_patch_options[4].long_name = (char const   *)((char const   *)"cover-letter");
  builtin_format_patch_options[4].value = (void *)((void *)(& cover_letter));
  builtin_format_patch_options[4].argh = (char const   *)((char const   *)((void *)0));
  builtin_format_patch_options[4].help = (char const   *)((char const   *)"generate a cover letter");
  builtin_format_patch_options[4].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  builtin_format_patch_options[4].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  builtin_format_patch_options[4].defval = (intptr_t )((intptr_t )1);
  builtin_format_patch_options[4].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[4].extra = (intptr_t )0L;
  builtin_format_patch_options[5].type = (enum parse_opt_type )((enum parse_opt_type )8);
  builtin_format_patch_options[5].short_name = (int )0;
  builtin_format_patch_options[5].long_name = (char const   *)((char const   *)"numbered-files");
  builtin_format_patch_options[5].value = (void *)((void *)(& just_numbers));
  builtin_format_patch_options[5].argh = (char const   *)((char const   *)((void *)0));
  builtin_format_patch_options[5].help = (char const   *)((char const   *)"use simple number sequence for output file names");
  builtin_format_patch_options[5].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  builtin_format_patch_options[5].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  builtin_format_patch_options[5].defval = (intptr_t )((intptr_t )1);
  builtin_format_patch_options[5].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[5].extra = (intptr_t )0L;
  builtin_format_patch_options[6].type = (enum parse_opt_type )((enum parse_opt_type )9);
  builtin_format_patch_options[6].short_name = (int )0;
  builtin_format_patch_options[6].long_name = (char const   *)((char const   *)"suffix");
  builtin_format_patch_options[6].value = (void *)((void *)(& fmt_patch_suffix));
  builtin_format_patch_options[6].argh = (char const   *)((char const   *)"sfx");
  builtin_format_patch_options[6].help = (char const   *)((char const   *)"use <sfx> instead of \'.patch\'");
  builtin_format_patch_options[6].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  builtin_format_patch_options[6].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  builtin_format_patch_options[6].defval = (intptr_t )0L;
  builtin_format_patch_options[6].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[6].extra = (intptr_t )0L;
  builtin_format_patch_options[7].type = (enum parse_opt_type )((enum parse_opt_type )10);
  builtin_format_patch_options[7].short_name = (int )0;
  builtin_format_patch_options[7].long_name = (char const   *)((char const   *)"start-number");
  builtin_format_patch_options[7].value = (void *)((void *)(& start_number));
  builtin_format_patch_options[7].argh = (char const   *)((char const   *)"n");
  builtin_format_patch_options[7].help = (char const   *)((char const   *)"start numbering patches at <n> instead of 1");
  builtin_format_patch_options[7].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  builtin_format_patch_options[7].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  builtin_format_patch_options[7].defval = (intptr_t )0L;
  builtin_format_patch_options[7].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[7].extra = (intptr_t )0L;
  builtin_format_patch_options[8].type = (enum parse_opt_type )((enum parse_opt_type )9);
  builtin_format_patch_options[8].short_name = (int )'v';
  builtin_format_patch_options[8].long_name = (char const   *)((char const   *)"reroll-count");
  builtin_format_patch_options[8].value = (void *)((void *)(& reroll_count));
  builtin_format_patch_options[8].argh = (char const   *)((char const   *)"reroll-count");
  builtin_format_patch_options[8].help = (char const   *)((char const   *)"mark the series as Nth re-roll");
  builtin_format_patch_options[8].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  builtin_format_patch_options[8].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  builtin_format_patch_options[8].defval = (intptr_t )0L;
  builtin_format_patch_options[8].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[8].extra = (intptr_t )0L;
  builtin_format_patch_options[9].type = (enum parse_opt_type )((enum parse_opt_type )10);
  builtin_format_patch_options[9].short_name = (int )0;
  builtin_format_patch_options[9].long_name = (char const   *)((char const   *)"filename-max-length");
  builtin_format_patch_options[9].value = (void *)((void *)(& fmt_patch_name_max));
  builtin_format_patch_options[9].argh = (char const   *)((char const   *)"n");
  builtin_format_patch_options[9].help = (char const   *)((char const   *)"max length of output filename");
  builtin_format_patch_options[9].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  builtin_format_patch_options[9].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  builtin_format_patch_options[9].defval = (intptr_t )0L;
  builtin_format_patch_options[9].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[9].extra = (intptr_t )0L;
  builtin_format_patch_options[10].type = (enum parse_opt_type )((enum parse_opt_type )12);
  builtin_format_patch_options[10].short_name = (int )0;
  builtin_format_patch_options[10].long_name = (char const   *)((char const   *)"rfc");
  builtin_format_patch_options[10].value = (void *)((void *)(& rev));
  builtin_format_patch_options[10].argh = (char const   *)((char const   *)((void *)0));
  builtin_format_patch_options[10].help = (char const   *)((char const   *)"use [RFC PATCH] instead of [PATCH]");
  builtin_format_patch_options[10].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )6);
  builtin_format_patch_options[10].callback = (parse_opt_cb *)(& rfc_callback);
  builtin_format_patch_options[10].defval = (intptr_t )0L;
  builtin_format_patch_options[10].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[10].extra = (intptr_t )0L;
  builtin_format_patch_options[11].type = (enum parse_opt_type )((enum parse_opt_type )9);
  builtin_format_patch_options[11].short_name = (int )0;
  builtin_format_patch_options[11].long_name = (char const   *)((char const   *)"cover-from-description");
  builtin_format_patch_options[11].value = (void *)((void *)(& cover_from_description_arg));
  builtin_format_patch_options[11].argh = (char const   *)((char const   *)"cover-from-description-mode");
  builtin_format_patch_options[11].help = (char const   *)((char const   *)"generate parts of a cover letter based on a branch\'s description");
  builtin_format_patch_options[11].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  builtin_format_patch_options[11].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  builtin_format_patch_options[11].defval = (intptr_t )0L;
  builtin_format_patch_options[11].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[11].extra = (intptr_t )0L;
  builtin_format_patch_options[12].type = (enum parse_opt_type )((enum parse_opt_type )12);
  builtin_format_patch_options[12].short_name = (int )0;
  builtin_format_patch_options[12].long_name = (char const   *)((char const   *)"subject-prefix");
  builtin_format_patch_options[12].value = (void *)((void *)(& rev));
  builtin_format_patch_options[12].argh = (char const   *)((char const   *)"prefix");
  builtin_format_patch_options[12].help = (char const   *)((char const   *)"use [<prefix>] instead of [PATCH]");
  builtin_format_patch_options[12].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )4);
  builtin_format_patch_options[12].callback = (parse_opt_cb *)(& subject_prefix_callback);
  builtin_format_patch_options[12].defval = (intptr_t )0L;
  builtin_format_patch_options[12].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[12].extra = (intptr_t )0L;
  builtin_format_patch_options[13].type = (enum parse_opt_type )((enum parse_opt_type )12);
  builtin_format_patch_options[13].short_name = (int )'o';
  builtin_format_patch_options[13].long_name = (char const   *)((char const   *)"output-directory");
  builtin_format_patch_options[13].value = (void *)((void *)(& output_directory));
  builtin_format_patch_options[13].argh = (char const   *)((char const   *)"dir");
  builtin_format_patch_options[13].help = (char const   *)((char const   *)"store resulting files in <dir>");
  builtin_format_patch_options[13].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )4);
  builtin_format_patch_options[13].callback = (parse_opt_cb *)(& output_directory_callback);
  builtin_format_patch_options[13].defval = (intptr_t )0L;
  builtin_format_patch_options[13].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[13].extra = (intptr_t )0L;
  builtin_format_patch_options[14].type = (enum parse_opt_type )((enum parse_opt_type )12);
  builtin_format_patch_options[14].short_name = (int )'k';
  builtin_format_patch_options[14].long_name = (char const   *)((char const   *)"keep-subject");
  builtin_format_patch_options[14].value = (void *)((void *)(& rev));
  builtin_format_patch_options[14].argh = (char const   *)((char const   *)((void *)0));
  builtin_format_patch_options[14].help = (char const   *)((char const   *)"don\'t strip/add [PATCH]");
  builtin_format_patch_options[14].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )6);
  builtin_format_patch_options[14].callback = (parse_opt_cb *)(& keep_callback);
  builtin_format_patch_options[14].defval = (intptr_t )0L;
  builtin_format_patch_options[14].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[14].extra = (intptr_t )0L;
  builtin_format_patch_options[15].type = (enum parse_opt_type )((enum parse_opt_type )8);
  builtin_format_patch_options[15].short_name = (int )0;
  builtin_format_patch_options[15].long_name = (char const   *)((char const   *)"no-binary");
  builtin_format_patch_options[15].value = (void *)((void *)(& no_binary_diff));
  builtin_format_patch_options[15].argh = (char const   *)((char const   *)((void *)0));
  builtin_format_patch_options[15].help = (char const   *)((char const   *)"don\'t output binary diffs");
  builtin_format_patch_options[15].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  builtin_format_patch_options[15].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  builtin_format_patch_options[15].defval = (intptr_t )((intptr_t )1);
  builtin_format_patch_options[15].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[15].extra = (intptr_t )0L;
  builtin_format_patch_options[16].type = (enum parse_opt_type )((enum parse_opt_type )8);
  builtin_format_patch_options[16].short_name = (int )0;
  builtin_format_patch_options[16].long_name = (char const   *)((char const   *)"zero-commit");
  builtin_format_patch_options[16].value = (void *)((void *)(& zero_commit));
  builtin_format_patch_options[16].argh = (char const   *)((char const   *)((void *)0));
  builtin_format_patch_options[16].help = (char const   *)((char const   *)"output all-zero hash in From header");
  builtin_format_patch_options[16].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  builtin_format_patch_options[16].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  builtin_format_patch_options[16].defval = (intptr_t )((intptr_t )1);
  builtin_format_patch_options[16].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[16].extra = (intptr_t )0L;
  builtin_format_patch_options[17].type = (enum parse_opt_type )((enum parse_opt_type )8);
  builtin_format_patch_options[17].short_name = (int )0;
  builtin_format_patch_options[17].long_name = (char const   *)((char const   *)"ignore-if-in-upstream");
  builtin_format_patch_options[17].value = (void *)((void *)(& ignore_if_in_upstream));
  builtin_format_patch_options[17].argh = (char const   *)((char const   *)((void *)0));
  builtin_format_patch_options[17].help = (char const   *)((char const   *)"don\'t include a patch matching a commit upstream");
  builtin_format_patch_options[17].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  builtin_format_patch_options[17].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  builtin_format_patch_options[17].defval = (intptr_t )((intptr_t )1);
  builtin_format_patch_options[17].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[17].extra = (intptr_t )0L;
  builtin_format_patch_options[18].type = (enum parse_opt_type )((enum parse_opt_type )8);
  builtin_format_patch_options[18].short_name = (int )'p';
  builtin_format_patch_options[18].long_name = (char const   *)((char const   *)"no-stat");
  builtin_format_patch_options[18].value = (void *)((void *)(& use_patch_format));
  builtin_format_patch_options[18].argh = (char const   *)((char const   *)((void *)0));
  builtin_format_patch_options[18].help = (char const   *)((char const   *)"show patch format instead of default (patch + stat)");
  builtin_format_patch_options[18].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )6);
  builtin_format_patch_options[18].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  builtin_format_patch_options[18].defval = (intptr_t )((intptr_t )1);
  builtin_format_patch_options[18].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[18].extra = (intptr_t )0L;
  builtin_format_patch_options[19].type = (enum parse_opt_type )((enum parse_opt_type )1);
  builtin_format_patch_options[19].short_name = (int )0;
  builtin_format_patch_options[19].long_name = (char const   *)((char const   *)((void *)0));
  builtin_format_patch_options[19].value = (void *)((void *)0);
  builtin_format_patch_options[19].argh = (char const   *)((char const   *)((void *)0));
  builtin_format_patch_options[19].help = (char const   *)((char const   *)"Messaging");
  builtin_format_patch_options[19].flags = (enum parse_opt_option_flags )0U;
  builtin_format_patch_options[19].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  builtin_format_patch_options[19].defval = (intptr_t )0L;
  builtin_format_patch_options[19].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[19].extra = (intptr_t )0L;
  builtin_format_patch_options[20].type = (enum parse_opt_type )((enum parse_opt_type )12);
  builtin_format_patch_options[20].short_name = (int )0;
  builtin_format_patch_options[20].long_name = (char const   *)((char const   *)"add-header");
  builtin_format_patch_options[20].value = (void *)((void *)0);
  builtin_format_patch_options[20].argh = (char const   *)((char const   *)"header");
  builtin_format_patch_options[20].help = (char const   *)((char const   *)"add email header");
  builtin_format_patch_options[20].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  builtin_format_patch_options[20].callback = (parse_opt_cb *)(& header_callback);
  builtin_format_patch_options[20].defval = (intptr_t )0L;
  builtin_format_patch_options[20].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[20].extra = (intptr_t )0L;
  builtin_format_patch_options[21].type = (enum parse_opt_type )((enum parse_opt_type )12);
  builtin_format_patch_options[21].short_name = (int )0;
  builtin_format_patch_options[21].long_name = (char const   *)((char const   *)"to");
  builtin_format_patch_options[21].value = (void *)((void *)0);
  builtin_format_patch_options[21].argh = (char const   *)((char const   *)"email");
  builtin_format_patch_options[21].help = (char const   *)((char const   *)"add To: header");
  builtin_format_patch_options[21].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  builtin_format_patch_options[21].callback = (parse_opt_cb *)(& to_callback);
  builtin_format_patch_options[21].defval = (intptr_t )0L;
  builtin_format_patch_options[21].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[21].extra = (intptr_t )0L;
  builtin_format_patch_options[22].type = (enum parse_opt_type )((enum parse_opt_type )12);
  builtin_format_patch_options[22].short_name = (int )0;
  builtin_format_patch_options[22].long_name = (char const   *)((char const   *)"cc");
  builtin_format_patch_options[22].value = (void *)((void *)0);
  builtin_format_patch_options[22].argh = (char const   *)((char const   *)"email");
  builtin_format_patch_options[22].help = (char const   *)((char const   *)"add Cc: header");
  builtin_format_patch_options[22].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  builtin_format_patch_options[22].callback = (parse_opt_cb *)(& cc_callback);
  builtin_format_patch_options[22].defval = (intptr_t )0L;
  builtin_format_patch_options[22].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[22].extra = (intptr_t )0L;
  builtin_format_patch_options[23].type = (enum parse_opt_type )((enum parse_opt_type )12);
  builtin_format_patch_options[23].short_name = (int )0;
  builtin_format_patch_options[23].long_name = (char const   *)((char const   *)"from");
  builtin_format_patch_options[23].value = (void *)((void *)(& from));
  builtin_format_patch_options[23].argh = (char const   *)((char const   *)"ident");
  builtin_format_patch_options[23].help = (char const   *)((char const   *)"set From address to <ident> (or committer ident if absent)");
  builtin_format_patch_options[23].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )1);
  builtin_format_patch_options[23].callback = (parse_opt_cb *)(& from_callback);
  builtin_format_patch_options[23].defval = (intptr_t )0L;
  builtin_format_patch_options[23].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[23].extra = (intptr_t )0L;
  builtin_format_patch_options[24].type = (enum parse_opt_type )((enum parse_opt_type )9);
  builtin_format_patch_options[24].short_name = (int )0;
  builtin_format_patch_options[24].long_name = (char const   *)((char const   *)"in-reply-to");
  builtin_format_patch_options[24].value = (void *)((void *)(& in_reply_to));
  builtin_format_patch_options[24].argh = (char const   *)((char const   *)"message-id");
  builtin_format_patch_options[24].help = (char const   *)((char const   *)"make first mail a reply to <message-id>");
  builtin_format_patch_options[24].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  builtin_format_patch_options[24].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  builtin_format_patch_options[24].defval = (intptr_t )0L;
  builtin_format_patch_options[24].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[24].extra = (intptr_t )0L;
  builtin_format_patch_options[25].type = (enum parse_opt_type )((enum parse_opt_type )12);
  builtin_format_patch_options[25].short_name = (int )0;
  builtin_format_patch_options[25].long_name = (char const   *)((char const   *)"attach");
  builtin_format_patch_options[25].value = (void *)((void *)(& rev));
  builtin_format_patch_options[25].argh = (char const   *)((char const   *)"boundary");
  builtin_format_patch_options[25].help = (char const   *)((char const   *)"attach the patch");
  builtin_format_patch_options[25].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )1);
  builtin_format_patch_options[25].callback = (parse_opt_cb *)(& attach_callback);
  builtin_format_patch_options[25].defval = (intptr_t )0L;
  builtin_format_patch_options[25].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[25].extra = (intptr_t )0L;
  builtin_format_patch_options[26].type = (enum parse_opt_type )((enum parse_opt_type )12);
  builtin_format_patch_options[26].short_name = (int )0;
  builtin_format_patch_options[26].long_name = (char const   *)((char const   *)"inline");
  builtin_format_patch_options[26].value = (void *)((void *)(& rev));
  builtin_format_patch_options[26].argh = (char const   *)((char const   *)"boundary");
  builtin_format_patch_options[26].help = (char const   *)((char const   *)"inline the patch");
  builtin_format_patch_options[26].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )5);
  builtin_format_patch_options[26].callback = (parse_opt_cb *)(& inline_callback);
  builtin_format_patch_options[26].defval = (intptr_t )0L;
  builtin_format_patch_options[26].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[26].extra = (intptr_t )0L;
  builtin_format_patch_options[27].type = (enum parse_opt_type )((enum parse_opt_type )12);
  builtin_format_patch_options[27].short_name = (int )0;
  builtin_format_patch_options[27].long_name = (char const   *)((char const   *)"thread");
  builtin_format_patch_options[27].value = (void *)((void *)(& thread));
  builtin_format_patch_options[27].argh = (char const   *)((char const   *)"style");
  builtin_format_patch_options[27].help = (char const   *)((char const   *)"enable message threading, styles: shallow, deep");
  builtin_format_patch_options[27].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )1);
  builtin_format_patch_options[27].callback = (parse_opt_cb *)(& thread_callback);
  builtin_format_patch_options[27].defval = (intptr_t )0L;
  builtin_format_patch_options[27].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[27].extra = (intptr_t )0L;
  builtin_format_patch_options[28].type = (enum parse_opt_type )((enum parse_opt_type )9);
  builtin_format_patch_options[28].short_name = (int )0;
  builtin_format_patch_options[28].long_name = (char const   *)((char const   *)"signature");
  builtin_format_patch_options[28].value = (void *)((void *)(& signature));
  builtin_format_patch_options[28].argh = (char const   *)((char const   *)"signature");
  builtin_format_patch_options[28].help = (char const   *)((char const   *)"add a signature");
  builtin_format_patch_options[28].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  builtin_format_patch_options[28].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  builtin_format_patch_options[28].defval = (intptr_t )0L;
  builtin_format_patch_options[28].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[28].extra = (intptr_t )0L;
  builtin_format_patch_options[29].type = (enum parse_opt_type )((enum parse_opt_type )12);
  builtin_format_patch_options[29].short_name = (int )0;
  builtin_format_patch_options[29].long_name = (char const   *)((char const   *)"base");
  builtin_format_patch_options[29].value = (void *)((void *)(& base_commit));
  builtin_format_patch_options[29].argh = (char const   *)((char const   *)"base-commit");
  builtin_format_patch_options[29].help = (char const   *)((char const   *)"add prerequisite tree info to the patch series");
  builtin_format_patch_options[29].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  builtin_format_patch_options[29].callback = (parse_opt_cb *)(& base_callback);
  builtin_format_patch_options[29].defval = (intptr_t )0L;
  builtin_format_patch_options[29].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[29].extra = (intptr_t )0L;
  builtin_format_patch_options[30].type = (enum parse_opt_type )((enum parse_opt_type )14);
  builtin_format_patch_options[30].short_name = (int )0;
  builtin_format_patch_options[30].long_name = (char const   *)((char const   *)"signature-file");
  builtin_format_patch_options[30].value = (void *)((void *)(& signature_file));
  builtin_format_patch_options[30].argh = (char const   *)((char const   *)"file");
  builtin_format_patch_options[30].help = (char const   *)((char const   *)"add a signature from a file");
  builtin_format_patch_options[30].flags = (enum parse_opt_option_flags )0U;
  builtin_format_patch_options[30].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  builtin_format_patch_options[30].defval = (intptr_t )0L;
  builtin_format_patch_options[30].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[30].extra = (intptr_t )0L;
  builtin_format_patch_options[31].type = (enum parse_opt_type )((enum parse_opt_type )7);
  builtin_format_patch_options[31].short_name = (int )'q';
  builtin_format_patch_options[31].long_name = (char const   *)((char const   *)"quiet");
  builtin_format_patch_options[31].value = (void *)((void *)(& quiet___7));
  builtin_format_patch_options[31].argh = (char const   *)((char const   *)((void *)0));
  builtin_format_patch_options[31].help = (char const   *)((char const   *)"don\'t print the patch filenames");
  builtin_format_patch_options[31].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  builtin_format_patch_options[31].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  builtin_format_patch_options[31].defval = (intptr_t )0L;
  builtin_format_patch_options[31].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[31].extra = (intptr_t )0L;
  builtin_format_patch_options[32].type = (enum parse_opt_type )((enum parse_opt_type )8);
  builtin_format_patch_options[32].short_name = (int )0;
  builtin_format_patch_options[32].long_name = (char const   *)((char const   *)"progress");
  builtin_format_patch_options[32].value = (void *)((void *)(& show_progress___4));
  builtin_format_patch_options[32].argh = (char const   *)((char const   *)((void *)0));
  builtin_format_patch_options[32].help = (char const   *)((char const   *)"show progress while generating patches");
  builtin_format_patch_options[32].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  builtin_format_patch_options[32].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  builtin_format_patch_options[32].defval = (intptr_t )((intptr_t )1);
  builtin_format_patch_options[32].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[32].extra = (intptr_t )0L;
  builtin_format_patch_options[33].type = (enum parse_opt_type )((enum parse_opt_type )12);
  builtin_format_patch_options[33].short_name = (int )0;
  builtin_format_patch_options[33].long_name = (char const   *)((char const   *)"interdiff");
  builtin_format_patch_options[33].value = (void *)((void *)(& idiff_prev));
  builtin_format_patch_options[33].argh = (char const   *)((char const   *)"rev");
  builtin_format_patch_options[33].help = (char const   *)((char const   *)"show changes against <rev> in cover letter or single patch");
  builtin_format_patch_options[33].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  builtin_format_patch_options[33].callback = (parse_opt_cb *)(& parse_opt_object_name);
  builtin_format_patch_options[33].defval = (intptr_t )0L;
  builtin_format_patch_options[33].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[33].extra = (intptr_t )0L;
  builtin_format_patch_options[34].type = (enum parse_opt_type )((enum parse_opt_type )9);
  builtin_format_patch_options[34].short_name = (int )0;
  builtin_format_patch_options[34].long_name = (char const   *)((char const   *)"range-diff");
  builtin_format_patch_options[34].value = (void *)((void *)(& rdiff_prev));
  builtin_format_patch_options[34].argh = (char const   *)((char const   *)"refspec");
  builtin_format_patch_options[34].help = (char const   *)((char const   *)"show changes against <refspec> in cover letter or single patch");
  builtin_format_patch_options[34].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  builtin_format_patch_options[34].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  builtin_format_patch_options[34].defval = (intptr_t )0L;
  builtin_format_patch_options[34].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[34].extra = (intptr_t )0L;
  builtin_format_patch_options[35].type = (enum parse_opt_type )((enum parse_opt_type )10);
  builtin_format_patch_options[35].short_name = (int )0;
  builtin_format_patch_options[35].long_name = (char const   *)((char const   *)"creation-factor");
  builtin_format_patch_options[35].value = (void *)((void *)(& creation_factor));
  builtin_format_patch_options[35].argh = (char const   *)((char const   *)"n");
  builtin_format_patch_options[35].help = (char const   *)((char const   *)"percentage by which creation is weighted");
  builtin_format_patch_options[35].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  builtin_format_patch_options[35].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  builtin_format_patch_options[35].defval = (intptr_t )0L;
  builtin_format_patch_options[35].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[35].extra = (intptr_t )0L;
  builtin_format_patch_options[36].type = (enum parse_opt_type )((enum parse_opt_type )0);
  builtin_format_patch_options[36].short_name = (int )0;
  builtin_format_patch_options[36].long_name = (char const   *)((char const   *)0);
  builtin_format_patch_options[36].value = (void *)((void *)0);
  builtin_format_patch_options[36].argh = (char const   *)((char const   *)0);
  builtin_format_patch_options[36].help = (char const   *)((char const   *)0);
  builtin_format_patch_options[36].flags = (enum parse_opt_option_flags )0U;
  builtin_format_patch_options[36].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  builtin_format_patch_options[36].defval = (intptr_t )0L;
  builtin_format_patch_options[36].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  builtin_format_patch_options[36].extra = (intptr_t )0L;
  extra_hdr.strdup_strings = 1U;
  extra_to.strdup_strings = 1U;
  extra_cc.strdup_strings = 1U;
  init_log_defaults();
  init_display_notes(& notes_opt);
  git_config(& git_format_config, (void *)0);
  repo_init_revisions(the_repository, & rev, prefix___1);
  rev.show_notes = show_notes;
  memcpy((void *)(& rev.notes_opt), (void const   *)(& notes_opt), sizeof(notes_opt));
  rev.commit_format = (enum cmit_fmt )6;
  rev.encode_email_headers = (unsigned int )default_encode_email_headers;
  rev.expand_tabs_in_log_default = 0;
  rev.verbose_header = 1U;
  rev.diff = 1U;
  rev.max_parents = 1;
  rev.diffopt.flags.recursive = 1U;
  rev.subject_prefix = fmt_patch_subject_prefix;
  memset((void *)(& s_r_opt), 0, sizeof(s_r_opt));
  s_r_opt.def = (char const   *)"HEAD";
  s_r_opt.revarg_opt = 2U;
  if (default_attach) {
    rev.mime_boundary = (char const   *)default_attach;
    rev.no_inline = 1;
  }
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(builtin_format_patch_options),
                       builtin_format_patch_usage, (enum parse_opt_flags )13);
  tmp___1 = strlen((char const   *)"0000-");
  tmp___2 = strlen(fmt_patch_suffix);
  if ((size_t )fmt_patch_name_max <= tmp___1 + tmp___2) {
    tmp = strlen((char const   *)"0000-");
    tmp___0 = strlen(fmt_patch_suffix);
    fmt_patch_name_max = (int )(tmp + tmp___0);
  }
  if (cover_from_description_arg) {
    cover_from_description_mode = parse_cover_from_description((char const   *)cover_from_description_arg);
  }
  if (reroll_count) {
    sprefix.alloc = 0UL;
    sprefix.len = 0UL;
    sprefix.buf = strbuf_slopbuf;
    strbuf_addf(& sprefix, (char const   *)"%s v%s", rev.subject_prefix, reroll_count);
    rev.reroll_count = reroll_count;
    tmp___3 = strbuf_detach(& sprefix, (size_t *)((void *)0));
    rev.subject_prefix = (char const   *)tmp___3;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < extra_hdr.nr)) {
      goto while_break;
    }
    strbuf_addstr(& buf___19, (char const   *)(extra_hdr.items + i)->string);
    strbuf_addch(& buf___19, '\n');
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (extra_to.nr) {
    strbuf_addstr(& buf___19, (char const   *)"To: ");
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < extra_to.nr)) {
      goto while_break___0;
    }
    if (i) {
      strbuf_addstr(& buf___19, (char const   *)"    ");
    }
    strbuf_addstr(& buf___19, (char const   *)(extra_to.items + i)->string);
    if ((unsigned int )(i + 1) < extra_to.nr) {
      strbuf_addch(& buf___19, ',');
    }
    strbuf_addch(& buf___19, '\n');
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (extra_cc.nr) {
    strbuf_addstr(& buf___19, (char const   *)"Cc: ");
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned int )i < extra_cc.nr)) {
      goto while_break___1;
    }
    if (i) {
      strbuf_addstr(& buf___19, (char const   *)"    ");
    }
    strbuf_addstr(& buf___19, (char const   *)(extra_cc.items + i)->string);
    if ((unsigned int )(i + 1) < extra_cc.nr) {
      strbuf_addch(& buf___19, ',');
    }
    strbuf_addch(& buf___19, '\n');
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  tmp___4 = strbuf_detach(& buf___19, (size_t *)((void *)0));
  rev.extra_headers = (char const   *)tmp___4;
  if (from) {
    tmp___6 = strlen((char const   *)from);
    tmp___7 = split_ident_line(& rev.from_ident, (char const   *)from, (int )tmp___6);
    if (tmp___7) {
      tmp___5 = _((char const   *)"invalid ident line: %s");
      die((char const   *)tmp___5, from);
    }
  }
  if (start_number < 0) {
    start_number = 1;
  }
  if (numbered) {
    if (keep_subject) {
      if (! numbered_cmdline_opt) {
        numbered = 0;
      }
    }
  }
  if (numbered) {
    if (keep_subject) {
      tmp___8 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___8, "-n", "-k");
    }
  }
  if (keep_subject) {
    if (subject_prefix) {
      tmp___9 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___9, "--subject-prefix/--rfc", "-k");
    }
  }
  rev.preserve_subject = (unsigned int )keep_subject;
  argc = setup_revisions(argc, argv___0, & rev, & s_r_opt);
  if (argc > 1) {
    tmp___10 = _((char const   *)"unrecognized argument: %s");
    die((char const   *)tmp___10, *(argv___0 + 1));
  }
  if (rev.diffopt.output_format & 0x0100) {
    tmp___11 = _((char const   *)"--name-only does not make sense");
    die((char const   *)tmp___11);
  }
  if (rev.diffopt.output_format & 0x0200) {
    tmp___12 = _((char const   *)"--name-status does not make sense");
    die((char const   *)tmp___12);
  }
  if (rev.diffopt.output_format & 0x0400) {
    tmp___13 = _((char const   *)"--check does not make sense");
    die((char const   *)tmp___13);
  }
  if (! use_patch_format) {
    if (! rev.diffopt.output_format) {
      rev.diffopt.output_format = 10;
    } else
    if (rev.diffopt.output_format == 0x0010) {
      rev.diffopt.output_format = 10;
    }
  }
  if (! rev.diffopt.stat_width) {
    rev.diffopt.stat_width = 72;
  }
  rev.diffopt.output_format |= 0x0010;
  rev.zero_commit = (unsigned int )zero_commit;
  rev.patch_name_max = fmt_patch_name_max;
  if (! rev.diffopt.flags.text) {
    if (! no_binary_diff) {
      rev.diffopt.flags.binary = 1U;
    }
  }
  if (rev.show_notes) {
    load_display_notes(& rev.notes_opt);
  }
  if ((use_stdout + rev.diffopt.close_file) + ! (! output_directory) > 1) {
    tmp___14 = _((char const   *)"options \'%s\', \'%s\', and \'%s\' cannot be used together");
    die((char const   *)tmp___14, "--stdout", "--output", "--output-directory");
  }
  if (use_stdout) {
    setup_pager();
  } else
  if (rev.diffopt.close_file) {
    rev.diffopt.no_free = 1;
  } else {
    if (! output_directory) {
      output_directory = config_output_directory;
    }
    output_directory = set_outdir(prefix___1, output_directory);
    if (rev.diffopt.use_color != 1) {
      rev.diffopt.use_color = 0;
    }
    saved = get_shared_repository();
    set_shared_repository(0);
    tmp___15 = safe_create_leading_directories_const(output_directory);
    {
    if ((int )tmp___15 == -3) {
      goto case_neg_3;
    }
    if ((int )tmp___15 == 0) {
      goto case_neg_3;
    }
    goto switch_default;
    case_neg_3: /* CIL Label */
    case_0: /* CIL Label */
    goto switch_break;
    switch_default: /* CIL Label */
    tmp___16 = _((char const   *)"could not create leading directories of \'%s\'");
    die((char const   *)tmp___16, output_directory);
    switch_break: /* CIL Label */ ;
    }
    set_shared_repository(saved);
    tmp___18 = mkdir(output_directory, (__mode_t )0777);
    if (tmp___18 < 0) {
      tmp___19 = __errno_location();
      if (*tmp___19 != 17) {
        tmp___17 = _((char const   *)"could not create directory \'%s\'");
        die_errno((char const   *)tmp___17, output_directory);
      }
    }
  }
  if (rev.pending.nr == 1U) {
    check_head = 0;
    if (rev.max_count < 0) {
      if (! rev.show_root_diff) {
        ((rev.pending.objects + 0)->item)->flags |= 1u << 1;
        add_head_to_pending(& rev);
        check_head = 1;
      }
    }
    tmp___20 = strcmp((char const   *)(rev.pending.objects + 0)->name, (char const   *)"HEAD");
    if (! tmp___20) {
      check_head = 1;
    }
    if (check_head) {
      ref = resolve_ref_unsafe((char const   *)"HEAD", 0x01, (struct object_id *)((void *)0),
                               (int *)((void *)0));
      if (ref) {
        tmp___21 = skip_prefix(ref, (char const   *)"refs/heads/", & v);
        if (tmp___21) {
          branch_name = xstrdup(v);
        } else {
          branch_name = xstrdup((char const   *)"");
        }
      } else {
        branch_name = xstrdup((char const   *)"");
      }
    }
  }
  rev.show_root_diff = 1U;
  if (ignore_if_in_upstream) {
    if (rev.pending.nr == 2U) {
      o = rev.pending.objects;
      tmp___22 = oideq((struct object_id  const  *)(& ((o + 0)->item)->oid), (struct object_id  const  *)(& ((o + 1)->item)->oid));
      if (tmp___22) {
        goto done;
      }
    }
    get_patch_ids(& rev, & ids);
  }
  tmp___24 = prepare_revision_walk(& rev);
  if (tmp___24) {
    tmp___23 = _((char const   *)"revision walk setup failed");
    die((char const   *)tmp___23);
  }
  rev.boundary = 1U;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    commit = get_revision(& rev);
    if (! ((unsigned long )commit != (unsigned long )((void *)0))) {
      goto while_break___2;
    }
    if (commit->object.flags & (1u << 5)) {
      boundary_count ++;
      if (boundary_count == 1) {
        origin___0 = commit;
      } else {
        origin___0 = (struct commit *)((void *)0);
      }
      goto while_continue___2;
    }
    if (ignore_if_in_upstream) {
      tmp___25 = has_commit_patch_id(commit, & ids);
      if (tmp___25) {
        goto while_continue___2;
      }
    }
    nr___0 ++;
    tmp___26 = st_mult(sizeof(*list___3), (size_t )nr___0);
    tmp___27 = xrealloc((void *)list___3, tmp___26);
    list___3 = (struct commit **)tmp___27;
    *(list___3 + (nr___0 - 1)) = commit;
  }
  while_break___2: /* CIL Label */ ;
  }
  if (nr___0 == 0) {
    goto done;
  }
  total = nr___0;
  if (cover_letter == -1) {
    if ((unsigned int )config_cover_letter == 3U) {
      cover_letter = total > 1;
    } else {
      cover_letter = (unsigned int )config_cover_letter == 2U;
    }
  }
  if (! keep_subject) {
    if (auto_number) {
      if (total > 1) {
        numbered = 1;
      } else
      if (cover_letter) {
        numbered = 1;
      }
    }
  }
  if (numbered) {
    rev.total = (total + start_number) - 1;
  }
  if (idiff_prev.nr) {
    if (! cover_letter) {
      if (total != 1) {
        tmp___28 = _((char const   *)"--interdiff requires --cover-letter or single patch");
        die((char const   *)tmp___28);
      }
    }
    rev.idiff_oid1 = (struct object_id  const  *)(idiff_prev.oid + (idiff_prev.nr - 1UL));
    tmp___29 = get_commit_tree_oid((struct commit  const  *)*(list___3 + 0));
    rev.idiff_oid2 = (struct object_id  const  *)tmp___29;
    tmp___30 = _((char const   *)"Interdiff against v%d:");
    tmp___31 = _((char const   *)"Interdiff:");
    rev.idiff_title = diff_title(& idiff_title, reroll_count, (char const   *)tmp___31,
                                 (char const   *)tmp___30);
  }
  if (creation_factor < 0) {
    creation_factor = 60;
  } else
  if (! rdiff_prev) {
    tmp___32 = _((char const   *)"the option \'%s\' requires \'%s\'");
    die((char const   *)tmp___32, "--creation-factor", "--range-diff");
  }
  if (rdiff_prev) {
    if (! cover_letter) {
      if (total != 1) {
        tmp___33 = _((char const   *)"--range-diff requires --cover-letter or single patch");
        die((char const   *)tmp___33);
      }
    }
    infer_range_diff_ranges(& rdiff1, & rdiff2, rdiff_prev, origin___0, *(list___3 + 0));
    rev.rdiff1 = (char const   *)rdiff1.buf;
    rev.rdiff2 = (char const   *)rdiff2.buf;
    rev.creation_factor = creation_factor;
    tmp___34 = _((char const   *)"Range-diff against v%d:");
    tmp___35 = _((char const   *)"Range-diff:");
    rev.rdiff_title = diff_title(& rdiff_title, reroll_count, (char const   *)tmp___35,
                                 (char const   *)tmp___34);
  }
  if (! (! signature)) {
    if (signature) {
      if (! ((unsigned long )signature != (unsigned long )(git_version_string))) {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (signature_file) {
      buf___20.alloc = 0UL;
      buf___20.len = 0UL;
      buf___20.buf = strbuf_slopbuf;
      tmp___37 = strbuf_read_file(& buf___20, signature_file, (size_t )128);
      if (tmp___37 < 0L) {
        tmp___36 = _((char const   *)"unable to read signature file \'%s\'");
        die_errno((char const   *)tmp___36, signature_file);
      }
      tmp___38 = strbuf_detach(& buf___20, (size_t *)((void *)0));
      signature = (char const   *)tmp___38;
    }
  }
  memset((void *)(& bases), 0, sizeof(bases));
  base = get_base_commit((char const   *)base_commit, list___3, nr___0);
  if (base) {
    reset_revision_walk();
    clear_object_flags(1u << 1);
    prepare_bases(& bases, base, list___3, nr___0);
  }
  if (in_reply_to) {
    tmp___39 = xcalloc((size_t )1, sizeof(struct string_list ));
    rev.ref_message_ids = (struct string_list *)tmp___39;
  } else
  if (thread) {
    tmp___39 = xcalloc((size_t )1, sizeof(struct string_list ));
    rev.ref_message_ids = (struct string_list *)tmp___39;
  } else
  if (cover_letter) {
    tmp___39 = xcalloc((size_t )1, sizeof(struct string_list ));
    rev.ref_message_ids = (struct string_list *)tmp___39;
  }
  if (in_reply_to) {
    tmp___40 = clean_message_id(in_reply_to);
    msgid = tmp___40;
    string_list_append(rev.ref_message_ids, msgid);
  }
  rev.numbered_files = just_numbers;
  rev.patch_suffix = fmt_patch_suffix;
  if (cover_letter) {
    if (thread) {
      gen_message_id(& rev, "cover");
    }
    make_cover_letter(& rev, ! (! output_directory), origin___0, nr___0, list___3,
                      (char const   *)branch_name, quiet___7);
    print_bases(& bases, rev.diffopt.file);
    print_signature(rev.diffopt.file);
    total ++;
    start_number --;
    rev.idiff_oid1 = (struct object_id  const  *)((void *)0);
    rev.rdiff1 = (char const   *)((void *)0);
  }
  rev.add_signoff = do_signoff;
  if (show_progress___4) {
    tmp___41 = _((char const   *)"Generating patches");
    progress___7 = start_delayed_progress((char const   *)tmp___41, (uint64_t )total);
  }
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    nr___0 --;
    if (! (0 <= nr___0)) {
      goto while_break___3;
    }
    display_progress(progress___7, (uint64_t )(total - nr___0));
    commit = *(list___3 + nr___0);
    rev.nr = (total - nr___0) + (start_number - 1);
    if (thread) {
      if (rev.message_id) {
        if ((unsigned int )thread == 1U) {
          if ((rev.ref_message_ids)->nr > 0U) {
            if (! cover_letter) {
              free((void *)rev.message_id);
            } else
            if (rev.nr > 1) {
              free((void *)rev.message_id);
            } else {
              string_list_append(rev.ref_message_ids, (char const   *)rev.message_id);
            }
          } else {
            string_list_append(rev.ref_message_ids, (char const   *)rev.message_id);
          }
        } else {
          string_list_append(rev.ref_message_ids, (char const   *)rev.message_id);
        }
      }
      tmp___42 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
      gen_message_id(& rev, tmp___42);
    }
    if (output_directory) {
      if (rev.numbered_files) {
        tmp___44 = (struct commit *)((void *)0);
      } else {
        tmp___44 = commit;
      }
      tmp___45 = open_next_file(tmp___44, (char const   *)((void *)0), & rev, quiet___7);
      if (tmp___45) {
        tmp___43 = _((char const   *)"failed to create output files");
        die((char const   *)tmp___43);
      }
    }
    shown = log_tree_commit(& rev, commit);
    free_commit_buffer(the_repository->parsed_objects, commit);
    if (output_directory) {
      rev.shown_one = 0U;
    }
    if (shown) {
      print_bases(& bases, rev.diffopt.file);
      if (rev.mime_boundary) {
        fprintf(rev.diffopt.file, (char const   *)"\n--%s%s--\n\n\n", mime_boundary_leader,
                rev.mime_boundary);
      } else {
        print_signature(rev.diffopt.file);
      }
    }
    if (output_directory) {
      fclose(rev.diffopt.file);
    }
  }
  while_break___3: /* CIL Label */ ;
  }
  stop_progress(& progress___7);
  free((void *)list___3);
  free((void *)branch_name);
  string_list_clear(& extra_to, 0);
  string_list_clear(& extra_cc, 0);
  string_list_clear(& extra_hdr, 0);
  if (ignore_if_in_upstream) {
    free_patch_ids(& ids);
  }
  done:
  oid_array_clear(& idiff_prev);
  strbuf_release(& idiff_title);
  strbuf_release(& rdiff1);
  strbuf_release(& rdiff2);
  strbuf_release(& rdiff_title);
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    goto while_break___4;
  }
  while_break___4: /* CIL Label */ ;
  }
  return (0);
}
}
static int add_pending_commit(char const   *arg , struct rev_info *revs , int flags___0 )
{
  struct object_id oid ;
  struct commit *commit ;
  struct commit *tmp ;
  int tmp___0 ;

  {
  tmp___0 = repo_get_oid(the_repository, arg, & oid);
  if (tmp___0 == 0) {
    tmp = lookup_commit_reference(the_repository, (struct object_id  const  *)(& oid));
    commit = tmp;
    if (commit) {
      commit->object.flags |= (unsigned int )flags___0;
      add_pending_object(revs, & commit->object, arg);
      return (0);
    }
  }
  return (-1);
}
}
static char const   *cherry_usage[2]  = {      (char const   *)"git cherry [-v] [<upstream> [<head> [<limit>]]]",      (char const   *)((void *)0)};
static void print_commit___0(char sign , struct commit *commit , int verbose___15 ,
                             int abbrev___6 , FILE *file___0 )
{
  char const   *tmp ;
  struct strbuf buf___19 ;
  char const   *tmp___0 ;

  {
  if (! verbose___15) {
    tmp = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& commit->object.oid),
                                  abbrev___6);
    fprintf(file___0, (char const   *)"%c %s\n", (int )sign, tmp);
  } else {
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    pp_commit_easy((enum cmit_fmt )5, (struct commit  const  *)commit, & buf___19);
    tmp___0 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& commit->object.oid),
                                      abbrev___6);
    fprintf(file___0, (char const   *)"%c %s %s\n", (int )sign, tmp___0, buf___19.buf);
    strbuf_release(& buf___19);
  }
  return;
}
}
int cmd_cherry(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct rev_info revs ;
  struct patch_ids ids ;
  struct commit *commit ;
  struct commit_list *list___3 ;
  struct branch *current_branch ;
  char const   *upstream ;
  char const   *head___1 ;
  char const   *limit___1 ;
  int verbose___15 ;
  int abbrev___6 ;
  struct option options[3] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  struct object_array_entry *o ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char sign ;
  int tmp___9 ;

  {
  list___3 = (struct commit_list *)((void *)0);
  head___1 = (char const   *)"HEAD";
  limit___1 = (char const   *)((void *)0);
  verbose___15 = 0;
  abbrev___6 = 0;
  options[0].type = (enum parse_opt_type )12;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"abbrev";
  options[0].value = (void *)(& abbrev___6);
  options[0].argh = (char const   *)"n";
  options[0].help = (char const   *)"use <n> digits to display object names";
  options[0].flags = (enum parse_opt_option_flags )1;
  options[0].callback = & parse_opt_abbrev_cb;
  options[0].defval = (intptr_t )0;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )7;
  options[1].short_name = 'v';
  options[1].long_name = (char const   *)"verbose";
  options[1].value = (void *)(& verbose___15);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"be verbose";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )0;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)0;
  options[2].value = (void *)0;
  options[2].argh = (char const   *)0;
  options[2].help = (char const   *)0;
  options[2].flags = 0U;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       cherry_usage, (enum parse_opt_flags )0);
  {
  if (argc == 3) {
    goto case_3;
  }
  if (argc == 2) {
    goto case_2;
  }
  if (argc == 1) {
    goto case_1;
  }
  goto switch_default;
  case_3: /* CIL Label */
  limit___1 = *(argv___0 + 2);
  case_2: /* CIL Label */
  head___1 = *(argv___0 + 1);
  case_1: /* CIL Label */
  upstream = *(argv___0 + 0);
  goto switch_break;
  switch_default: /* CIL Label */
  current_branch = branch_get((char const   *)((void *)0));
  upstream = branch_get_upstream(current_branch, (struct strbuf *)((void *)0));
  if (! upstream) {
    tmp = _((char const   *)"Could not find a tracked remote branch, please specify <upstream> manually.\n");
    fprintf(stderr, (char const   *)tmp);
    usage_with_options(cherry_usage, (struct option  const  *)(options));
  }
  switch_break: /* CIL Label */ ;
  }
  repo_init_revisions(the_repository, & revs, prefix___1);
  revs.max_parents = 1;
  tmp___1 = add_pending_commit(head___1, & revs, 0);
  if (tmp___1) {
    tmp___0 = _((char const   *)"unknown commit %s");
    die((char const   *)tmp___0, head___1);
  }
  tmp___3 = add_pending_commit(upstream, & revs, (int )(1u << 1));
  if (tmp___3) {
    tmp___2 = _((char const   *)"unknown commit %s");
    die((char const   *)tmp___2, upstream);
  }
  if (revs.pending.nr == 2U) {
    o = revs.pending.objects;
    tmp___4 = oideq((struct object_id  const  *)(& ((o + 0)->item)->oid), (struct object_id  const  *)(& ((o + 1)->item)->oid));
    if (tmp___4) {
      return (0);
    }
  }
  get_patch_ids(& revs, & ids);
  if (limit___1) {
    tmp___6 = add_pending_commit(limit___1, & revs, (int )(1u << 1));
    if (tmp___6) {
      tmp___5 = _((char const   *)"unknown commit %s");
      die((char const   *)tmp___5, limit___1);
    }
  }
  tmp___8 = prepare_revision_walk(& revs);
  if (tmp___8) {
    tmp___7 = _((char const   *)"revision walk setup failed");
    die((char const   *)tmp___7);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    commit = get_revision(& revs);
    if (! ((unsigned long )commit != (unsigned long )((void *)0))) {
      goto while_break;
    }
    commit_list_insert(commit, & list___3);
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! list___3) {
      goto while_break___0;
    }
    sign = (char )'+';
    commit = list___3->item;
    tmp___9 = has_commit_patch_id(commit, & ids);
    if (tmp___9) {
      sign = (char )'-';
    }
    print_commit___0(sign, commit, verbose___15, abbrev___6, revs.diffopt.file);
    list___3 = list___3->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  free_patch_ids(& ids);
  return (0);
}
}
static int abbrev___1  ;
static int show_deleted  ;
static int show_cached  ;
static int show_others  ;
static int show_stage  ;
static int show_unmerged  ;
static int show_resolve_undo  ;
static int show_modified___0  ;
static int show_killed  ;
static int show_valid_bit  ;
static int show_fsmonitor_bit  ;
static int line_terminator  =    '\n';
static int debug_mode  ;
static int show_eol  ;
static int recurse_submodules___1  ;
static int skipping_duplicates  ;
static int show_sparse_dirs  ;
static char const   *prefix___0  ;
static int max_prefix_len  ;
static int prefix_len  ;
static struct pathspec pathspec  ;
static int error_unmatch  ;
static char *ps_matched___0  ;
static char const   *with_tree  ;
static int exc_given  ;
static int exclude_args  ;
static char const   *tag_cached  =    (char const   *)"";
static char const   *tag_unmerged  =    (char const   *)"";
static char const   *tag_removed  =    (char const   *)"";
static char const   *tag_other  =    (char const   *)"";
static char const   *tag_killed  =    (char const   *)"";
static char const   *tag_modified  =    (char const   *)"";
static char const   *tag_skip_worktree  =    (char const   *)"";
static char const   *tag_resolve_undo  =    (char const   *)"";
static void write_eolinfo(struct index_state *istate , struct cache_entry  const  *ce ,
                          char const   *path___6 )
{
  struct stat st ;
  char const   *i_txt ;
  char const   *w_txt ;
  char const   *a_txt ;
  char const   *tmp ;
  int tmp___0 ;

  {
  if (show_eol) {
    i_txt = (char const   *)"";
    w_txt = (char const   *)"";
    tmp = get_convert_attr_ascii(istate, path___6);
    a_txt = tmp;
    if (ce) {
      if ((ce->ce_mode & 61440U) == 32768U) {
        i_txt = get_cached_convert_stats_ascii(istate, (char const   *)(ce->name));
      }
    }
    tmp___0 = lstat(path___6, & st);
    if (! tmp___0) {
      if ((st.st_mode & 61440U) == 32768U) {
        w_txt = get_wt_convert_stats_ascii(path___6);
      }
    }
    printf((char const   *)"i/%-5s w/%-5s attr/%-17s\t", i_txt, w_txt, a_txt);
  }
  return;
}
}
static void write_name(char const   *name___0 )
{
  char const   *tmp ;

  {
  if (prefix_len) {
    tmp = prefix___0;
  } else {
    tmp = (char const   *)((void *)0);
  }
  write_name_quoted_relative(name___0, tmp, stdout, line_terminator);
  return;
}
}
static char alttag[4]  ;
static char const   *get_tag(struct cache_entry  const  *ce , char const   *tag )
{
  int tmp ;

  {
  if (tag) {
    if (*tag) {
      if (show_valid_bit) {
        if (ce->ce_flags & 32768U) {
          goto _L;
        } else {
          goto _L___0;
        }
      } else
      _L___0: /* CIL Label */
      if (show_fsmonitor_bit) {
        if (ce->ce_flags & (unsigned int )(1 << 21)) {
          _L: /* CIL Label */
          memcpy((void *)(alttag), (void const   *)tag, (size_t )3);
          if (((int const   )sane_ctype[(unsigned char )*(tag + 0)] & 4) != 0) {
            tmp = sane_case((int )((unsigned char )*(tag + 0)), 0x20);
            alttag[0] = (char )tmp;
          } else
          if ((int const   )*(tag + 0) == 63) {
            alttag[0] = (char )'!';
          } else {
            alttag[0] = (char )'v';
            alttag[1] = (char )*(tag + 0);
            alttag[2] = (char )' ';
            alttag[3] = (char)0;
          }
          tag = (char const   *)(alttag);
        }
      }
    }
  }
  return (tag);
}
}
static void print_debug(struct cache_entry  const  *ce )
{
  struct stat_data  const  *sd ;

  {
  if (debug_mode) {
    sd = (struct stat_data  const  *)(& ce->ce_stat_data);
    printf((char const   *)"  ctime: %u:%u\n", sd->sd_ctime.sec, sd->sd_ctime.nsec);
    printf((char const   *)"  mtime: %u:%u\n", sd->sd_mtime.sec, sd->sd_mtime.nsec);
    printf((char const   *)"  dev: %u\tino: %u\n", sd->sd_dev, sd->sd_ino);
    printf((char const   *)"  uid: %u\tgid: %u\n", sd->sd_uid, sd->sd_gid);
    printf((char const   *)"  size: %u\tflags: %x\n", sd->sd_size, ce->ce_flags);
  }
  return;
}
}
static void show_dir_entry(struct index_state *istate , char const   *tag , struct dir_entry *ent )
{
  int len___0 ;

  {
  len___0 = max_prefix_len;
  if ((unsigned int )len___0 > ent->len) {
    die((char const   *)"git ls-files: internal error - directory entry not superset of prefix");
  }
  if (ps_matched___0) {
    dir_path_match(istate, (struct dir_entry  const  *)ent, (struct pathspec  const  *)(& pathspec),
                   len___0, ps_matched___0);
  }
  fputs((char const   * __restrict  )tag, (FILE * __restrict  )stdout);
  write_eolinfo(istate, (struct cache_entry  const  *)((void *)0), (char const   *)(ent->name));
  write_name((char const   *)(ent->name));
  return;
}
}
static void show_other_files(struct index_state *istate , struct dir_struct  const  *dir )
{
  int i ;
  struct dir_entry *ent ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (int )dir->nr)) {
      goto while_break;
    }
    ent = *(dir->entries + i);
    tmp = index_name_is_other(istate, (char const   *)(ent->name), (int )ent->len);
    if (! tmp) {
      goto __Cont;
    }
    show_dir_entry(istate, tag_other, ent);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void show_killed_files(struct index_state *istate , struct dir_struct  const  *dir )
{
  int i ;
  struct dir_entry *ent ;
  char *cp ;
  char *sp ;
  int pos ;
  int len___0 ;
  int killed ;
  int tmp ;
  int tmp___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (int )dir->nr)) {
      goto while_break;
    }
    ent = *(dir->entries + i);
    killed = 0;
    cp = ent->name;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (cp - ent->name < (long )ent->len)) {
        goto while_break___0;
      }
      sp = strchr((char const   *)cp, '/');
      if (! sp) {
        pos = index_name_pos(istate, (char const   *)(ent->name), (int )ent->len);
        if (0 <= pos) {
          BUG_fl((char const   *)"builtin/ls-files.c", 174, (char const   *)"killed-file %.*s not found",
                 ent->len, ent->name);
        }
        pos = - pos - 1;
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          if ((unsigned int )pos < istate->cache_nr) {
            if (! ((12288U & (*(istate->cache + pos))->ce_flags) >> 12)) {
              goto while_break___1;
            }
          } else {
            goto while_break___1;
          }
          pos ++;
        }
        while_break___1: /* CIL Label */ ;
        }
        if (istate->cache_nr <= (unsigned int )pos) {
          goto while_break___0;
        }
        len___0 = (int )(*(istate->cache + pos))->ce_namelen;
        if (ent->len < (unsigned int )len___0) {
          tmp = strncmp((char const   *)((*(istate->cache + pos))->name), (char const   *)(ent->name),
                        (size_t )ent->len);
          if (! tmp) {
            if ((int )(*(istate->cache + pos))->name[ent->len] == 47) {
              killed = 1;
            }
          }
        }
        goto while_break___0;
      }
      tmp___0 = index_name_pos(istate, (char const   *)(ent->name), (int )(sp - ent->name));
      if (0 <= tmp___0) {
        killed = 1;
        goto while_break___0;
      }
      cp = sp + 1;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (killed) {
      show_dir_entry(istate, tag_killed, *(dir->entries + i));
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void show_files(struct repository *repo , struct dir_struct *dir ) ;
static void show_submodule(struct repository *superproject , struct dir_struct *dir ,
                           char const   *path___6 )
{
  struct repository subrepo ;
  struct object_id  const  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = null_oid();
  tmp___0 = repo_submodule_init(& subrepo, superproject, path___6, tmp);
  if (tmp___0) {
    return;
  }
  tmp___1 = repo_read_index(& subrepo);
  if (tmp___1 < 0) {
    die((char const   *)"index file corrupt");
  }
  show_files(& subrepo, dir);
  repo_clear(& subrepo);
  return;
}
}
static void show_ce(struct repository *repo , struct dir_struct *dir , struct cache_entry  const  *ce ,
                    char const   *fullname , char const   *tag )
{
  size_t tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp = strlen(fullname);
  if ((size_t )max_prefix_len > tmp) {
    die((char const   *)"git ls-files: internal error - cache entry not superset of prefix");
  }
  if (recurse_submodules___1) {
    if ((ce->ce_mode & 61440U) == 57344U) {
      tmp___4 = is_submodule_active(repo, (char const   *)(ce->name));
      if (tmp___4) {
        show_submodule(repo, dir, (char const   *)(ce->name));
      } else {
        goto _L___0;
      }
    } else {
      goto _L___0;
    }
  } else {
    _L___0: /* CIL Label */
    _L: /* CIL Label */
    if ((ce->ce_mode & 61440U) == 16384U) {
      tmp___1 = 1;
    } else
    if ((ce->ce_mode & 61440U) == 57344U) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
    tmp___2 = strlen(fullname);
    tmp___3 = match_pathspec(repo->index, (struct pathspec  const  *)(& pathspec),
                             fullname, (int )tmp___2, max_prefix_len, ps_matched___0,
                             tmp___1);
    if (tmp___3) {
      tag = get_tag(ce, tag);
      if (! show_stage) {
        fputs((char const   * __restrict  )tag, (FILE * __restrict  )stdout);
      } else {
        tmp___0 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& ce->oid),
                                          abbrev___1);
        printf((char const   *)"%s%06o %s %d\t", tag, ce->ce_mode, tmp___0, (12288U & ce->ce_flags) >> 12);
      }
      write_eolinfo(repo->index, ce, fullname);
      write_name(fullname);
      print_debug(ce);
    }
  }
  return;
}
}
static void show_ru_info(struct index_state *istate )
{
  struct string_list_item *item___0 ;
  char const   *path___6 ;
  struct resolve_undo_info *ui ;
  int i ;
  int len___0 ;
  size_t tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;

  {
  if (! istate->resolve_undo) {
    return;
  }
  item___0 = (istate->resolve_undo)->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )((istate->resolve_undo)->items + (istate->resolve_undo)->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    path___6 = (char const   *)item___0->string;
    ui = (struct resolve_undo_info *)item___0->util;
    tmp = strlen(path___6);
    len___0 = (int )tmp;
    if (len___0 < max_prefix_len) {
      goto __Cont;
    }
    tmp___0 = match_pathspec(istate, (struct pathspec  const  *)(& pathspec), path___6,
                             len___0, max_prefix_len, ps_matched___0, 0);
    if (! tmp___0) {
      goto __Cont;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < 3)) {
        goto while_break___0;
      }
      if (! ui->mode[i]) {
        goto __Cont___0;
      }
      tmp___1 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& ui->oid[i]),
                                        abbrev___1);
      printf((char const   *)"%s%06o %s %d\t", tag_resolve_undo, ui->mode[i], tmp___1,
             i + 1);
      write_name(path___6);
      __Cont___0: /* CIL Label */
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int ce_excluded(struct dir_struct *dir , struct index_state *istate , char const   *fullname ,
                       struct cache_entry  const  *ce )
{
  int dtype ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = ce_to_dtype(ce);
  dtype = tmp;
  tmp___0 = is_excluded(dir, istate, fullname, & dtype);
  return (tmp___0);
}
}
static void construct_fullname(struct strbuf *out , struct repository  const  *repo ,
                               struct cache_entry  const  *ce )
{


  {
  strbuf_setlen___33(out, (size_t )0);
  if (repo->submodule_prefix) {
    strbuf_addstr(out, (char const   *)repo->submodule_prefix);
  }
  strbuf_addstr(out, (char const   *)(ce->name));
  return;
}
}
static void show_files(struct repository *repo , struct dir_struct *dir )
{
  int i ;
  struct strbuf fullname ;
  struct cache_entry  const  *ce ;
  struct stat st ;
  int stat_err ;
  int tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  int *tmp___2 ;
  int *tmp___3 ;
  int tmp___4 ;
  int j ;
  struct cache_entry **cache___0 ;
  int tmp___5 ;

  {
  fullname.alloc = 0UL;
  fullname.len = 0UL;
  fullname.buf = strbuf_slopbuf;
  if (show_others) {
    goto _L;
  } else
  if (show_killed) {
    _L: /* CIL Label */
    if (! show_others) {
      dir->flags = (enum __anonenum_flags_165983474 )((unsigned int )dir->flags | 64U);
    }
    fill_directory(dir, repo->index, (struct pathspec  const  *)(& pathspec));
    if (show_others) {
      show_other_files(repo->index, (struct dir_struct  const  *)dir);
    }
    if (show_killed) {
      show_killed_files(repo->index, (struct dir_struct  const  *)dir);
    }
  }
  if (! show_cached) {
    if (! show_stage) {
      if (! show_deleted) {
        if (! show_modified___0) {
          return;
        }
      }
    }
  }
  if (! show_sparse_dirs) {
    ensure_full_index(repo->index);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < (repo->index)->cache_nr)) {
      goto while_break;
    }
    ce = (struct cache_entry  const  *)*((repo->index)->cache + i);
    construct_fullname(& fullname, (struct repository  const  *)repo, ce);
    if ((unsigned int )dir->flags & 1U) {
      tmp = ce_excluded(dir, repo->index, (char const   *)fullname.buf, ce);
      if (! tmp) {
        goto __Cont;
      }
    }
    if (ce->ce_flags & (unsigned int )(1 << 16)) {
      goto __Cont;
    }
    if (show_cached) {
      goto _L___1;
    } else
    if (show_stage) {
      _L___1: /* CIL Label */
      if (! show_unmerged) {
        goto _L___0;
      } else
      if ((12288U & ce->ce_flags) >> 12) {
        _L___0: /* CIL Label */
        if ((12288U & ce->ce_flags) >> 12) {
          tmp___1 = tag_unmerged;
        } else {
          if (ce->ce_flags & (unsigned int )(1 << 30)) {
            tmp___0 = tag_skip_worktree;
          } else {
            tmp___0 = tag_cached;
          }
          tmp___1 = tmp___0;
        }
        show_ce(repo, dir, ce, (char const   *)fullname.buf, tmp___1);
        if (skipping_duplicates) {
          goto skip_to_next_name;
        }
      }
    }
    if (! show_deleted) {
      if (! show_modified___0) {
        goto __Cont;
      }
    }
    if (ce->ce_flags & (unsigned int )(1 << 30)) {
      goto __Cont;
    }
    stat_err = lstat((char const   *)fullname.buf, & st);
    if (stat_err) {
      tmp___2 = __errno_location();
      if (*tmp___2 != 2) {
        tmp___3 = __errno_location();
        if (*tmp___3 != 20) {
          error_errno((char const   *)"cannot lstat \'%s\'", fullname.buf);
          const_error();
        }
      }
    }
    if (stat_err) {
      if (show_deleted) {
        show_ce(repo, dir, ce, (char const   *)fullname.buf, tag_removed);
        if (skipping_duplicates) {
          goto skip_to_next_name;
        }
      }
    }
    if (show_modified___0) {
      if (stat_err) {
        goto _L___2;
      } else {
        tmp___4 = ie_modified(repo->index, ce, & st, 0U);
        if (tmp___4) {
          _L___2: /* CIL Label */
          show_ce(repo, dir, ce, (char const   *)fullname.buf, tag_modified);
          if (skipping_duplicates) {
            goto skip_to_next_name;
          }
        }
      }
    }
    goto __Cont;
    skip_to_next_name:
    cache___0 = (repo->index)->cache;
    j = i + 1;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned int )j < (repo->index)->cache_nr)) {
        goto while_break___0;
      }
      tmp___5 = strcmp((char const   *)(ce->name), (char const   *)((*(cache___0 + j))->name));
      if (tmp___5) {
        goto while_break___0;
      }
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    i = j - 1;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& fullname);
  return;
}
}
static void prune_index(struct index_state *istate , char const   *prefix___1 , size_t prefixlen )
{
  int pos ;
  unsigned int first ;
  unsigned int last ;
  int next___2 ;
  struct cache_entry  const  *ce ;
  int tmp ;

  {
  if (! prefix___1) {
    return;
  } else
  if (! istate->cache_nr) {
    return;
  }
  pos = index_name_pos(istate, prefix___1, (int )prefixlen);
  if (pos < 0) {
    pos = - pos - 1;
  }
  first = (unsigned int )pos;
  last = istate->cache_nr;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (last > first)) {
      goto while_break;
    }
    next___2 = (int )(first + ((last - first) >> 1));
    ce = (struct cache_entry  const  *)*(istate->cache + next___2);
    tmp = strncmp((char const   *)(ce->name), prefix___1, prefixlen);
    if (! tmp) {
      first = (unsigned int )(next___2 + 1);
      goto while_continue;
    }
    last = (unsigned int )next___2;
  }
  while_break: /* CIL Label */ ;
  }
  move_array((void *)istate->cache, (void const   *)(istate->cache + pos), (size_t )(last - (unsigned int )pos),
             sizeof(*(istate->cache)) + (sizeof(char [1]) - 1UL));
  istate->cache_nr = last - (unsigned int )pos;
  return;
}
}
static int get_common_prefix_len(char const   *common_prefix___0 )
{
  int common_prefix_len___0 ;
  size_t tmp ;

  {
  if (! common_prefix___0) {
    return (0);
  }
  tmp = strlen(common_prefix___0);
  common_prefix_len___0 = (int )tmp;
  if ((int const   )*(common_prefix___0 + (common_prefix_len___0 - 1)) == 47) {
    common_prefix_len___0 --;
  }
  return (common_prefix_len___0);
}
}
static int read_one_entry_opt(struct index_state *istate , struct object_id  const  *oid ,
                              struct strbuf *base , char const   *pathname , unsigned int mode___1 ,
                              int opt___0 )
{
  int len___0 ;
  struct cache_entry *ce ;
  size_t tmp ;
  int tmp___0 ;

  {
  if ((mode___1 & 61440U) == 16384U) {
    return (1);
  }
  tmp = strlen(pathname);
  len___0 = (int )tmp;
  ce = make_empty_cache_entry(istate, base->len + (size_t )len___0);
  ce->ce_mode = create_ce_mode(mode___1);
  ce->ce_flags = create_ce_flags(1U);
  ce->ce_namelen = (unsigned int )(base->len + (size_t )len___0);
  memcpy((void *)(ce->name), (void const   *)base->buf, base->len);
  memcpy((void *)(ce->name + base->len), (void const   *)pathname, (size_t )(len___0 + 1));
  oidcpy(& ce->oid, oid);
  tmp___0 = add_index_entry(istate, ce, opt___0);
  return (tmp___0);
}
}
static int read_one_entry(struct object_id  const  *oid , struct strbuf *base , char const   *pathname ,
                          unsigned int mode___1 , void *context___0 )
{
  struct index_state *istate ;
  int tmp ;

  {
  istate = (struct index_state *)context___0;
  tmp = read_one_entry_opt(istate, oid, base, pathname, mode___1, 5);
  return (tmp);
}
}
static int read_one_entry_quick(struct object_id  const  *oid , struct strbuf *base ,
                                char const   *pathname , unsigned int mode___1 , void *context___0 )
{
  struct index_state *istate ;
  int tmp ;

  {
  istate = (struct index_state *)context___0;
  tmp = read_one_entry_opt(istate, oid, base, pathname, mode___1, 8);
  return (tmp);
}
}
static char const   *matchbuf[1]  ;
void overlay_tree_on_index(struct index_state *istate , char const   *tree_name ,
                           char const   *prefix___1 )
{
  struct tree *tree ;
  struct object_id oid ;
  struct pathspec pathspec___1 ;
  struct cache_entry *last_stage0 ;
  int i ;
  int (*fn)(struct object_id  const  * , struct strbuf * , char const   * , unsigned int  ,
            void * ) ;
  int err___4 ;
  int tmp ;
  struct cache_entry *ce ;
  struct cache_entry  const  *ce___0 ;
  struct cache_entry *ce___1 ;
  int tmp___0 ;

  {
  last_stage0 = (struct cache_entry *)((void *)0);
  fn = (int (*)(struct object_id  const  * , struct strbuf * , char const   * , unsigned int  ,
                void * ))((void *)0);
  tmp = repo_get_oid(the_repository, tree_name, & oid);
  if (tmp) {
    die((char const   *)"tree-ish %s not found.", tree_name);
  }
  tree = parse_tree_indirect((struct object_id  const  *)(& oid));
  if (! tree) {
    die((char const   *)"bad tree-ish %s", tree_name);
  }
  ensure_full_index(istate);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    ce = *(istate->cache + i);
    if (! ((12288U & ce->ce_flags) >> 12)) {
      goto __Cont;
    }
    ce->ce_flags |= 12288U;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (prefix___1) {
    matchbuf[0] = (char const   *)((void *)0);
    parse_pathspec(& pathspec___1, (unsigned int )((((((1 | (1 << 1)) | (1 << 2)) | (1 << 3)) | (1 << 4)) | (1 << 5)) | (1 << 6)),
                   1U, prefix___1, matchbuf);
  } else {
    memset((void *)(& pathspec___1), 0, sizeof(pathspec___1));
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! fn) {
      if (! ((unsigned int )i < istate->cache_nr)) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    ce___0 = (struct cache_entry  const  *)*(istate->cache + i);
    if ((12288U & ce___0->ce_flags) >> 12 == 1U) {
      fn = & read_one_entry;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (! fn) {
    fn = & read_one_entry_quick;
  }
  err___4 = read_tree(the_repository, tree, (struct pathspec  const  *)(& pathspec___1),
                      fn, (void *)istate);
  if (err___4) {
    die((char const   *)"unable to read tree entries %s", tree_name);
  }
  if ((unsigned long )fn == (unsigned long )(& read_one_entry_quick)) {
    cache_tree_free(& istate->cache_tree);
    sane_qsort((void *)istate->cache, (size_t )istate->cache_nr, sizeof(*(istate->cache)),
               & cmp_cache_name_compare);
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break___1;
    }
    ce___1 = *(istate->cache + i);
    {
    if ((12288U & ce___1->ce_flags) >> 12 == 0U) {
      goto case_0;
    }
    if ((12288U & ce___1->ce_flags) >> 12 == 1U) {
      goto case_1;
    }
    goto switch_default;
    case_0: /* CIL Label */
    last_stage0 = ce___1;
    switch_default: /* CIL Label */
    goto __Cont___0;
    case_1: /* CIL Label */
    if (last_stage0) {
      tmp___0 = strcmp((char const   *)(last_stage0->name), (char const   *)(ce___1->name));
      if (! tmp___0) {
        ce___1->ce_flags |= (unsigned int )(1 << 16);
      }
    }
    switch_break: /* CIL Label */ ;
    }
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  return;
}
}
static char const   *ls_files_usage[2]  = {      (char const   *)"git ls-files [<options>] [<file>...]",      (char const   *)((void *)0)};
static int option_parse_exclude(struct option  const  *opt___0 , char const   *arg ,
                                int unset )
{
  struct string_list *exclude_list ;

  {
  exclude_list = (struct string_list *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/ls-files.c", 573, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  exc_given = 1;
  string_list_append(exclude_list, arg);
  return (0);
}
}
static int option_parse_exclude_from(struct option  const  *opt___0 , char const   *arg ,
                                     int unset )
{
  struct dir_struct *dir ;

  {
  dir = (struct dir_struct *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/ls-files.c", 586, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  exc_given = 1;
  add_patterns_from_file(dir, arg);
  return (0);
}
}
static int option_parse_exclude_standard(struct option  const  *opt___0 , char const   *arg ,
                                         int unset )
{
  struct dir_struct *dir ;

  {
  dir = (struct dir_struct *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/ls-files.c", 599, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/ls-files.c", 600, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  exc_given = 1;
  setup_standard_excludes(dir);
  return (0);
}
}
int cmd_ls_files(int argc , char const   **argv___0 , char const   *cmd_prefix )
{
  int require_work_tree ;
  int show_tag ;
  int i ;
  char *max_prefix ;
  struct dir_struct dir ;
  struct pattern_list *pl ;
  struct string_list exclude_list ;
  struct option builtin_ls_files_options[29] ;
  int ret___67 ;
  int tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  void *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;

  {
  require_work_tree = 0;
  show_tag = 0;
  dir.nr = 0;
  dir.alloc = 0;
  dir.ignored_nr = 0;
  dir.ignored_alloc = 0;
  dir.flags = 0U;
  dir.entries = (struct dir_entry **)0;
  dir.ignored = (struct dir_entry **)0;
  dir.exclude_per_dir = (char const   *)0;
  dir.exclude_list_group[0].nr = 0;
  dir.exclude_list_group[0].alloc = 0;
  dir.exclude_list_group[0].pl = (struct pattern_list *)0;
  dir.exclude_list_group[1].nr = 0;
  dir.exclude_list_group[1].alloc = 0;
  dir.exclude_list_group[1].pl = (struct pattern_list *)0;
  dir.exclude_list_group[2].nr = 0;
  dir.exclude_list_group[2].alloc = 0;
  dir.exclude_list_group[2].pl = (struct pattern_list *)0;
  dir.exclude_stack = (struct exclude_stack *)0;
  dir.pattern = (struct path_pattern *)0;
  dir.basebuf.alloc = 0UL;
  dir.basebuf.len = 0UL;
  dir.basebuf.buf = (char *)0;
  dir.untracked = (struct untracked_cache *)0;
  dir.ss_info_exclude.stat.sd_ctime.sec = 0U;
  dir.ss_info_exclude.stat.sd_ctime.nsec = 0U;
  dir.ss_info_exclude.stat.sd_mtime.sec = 0U;
  dir.ss_info_exclude.stat.sd_mtime.nsec = 0U;
  dir.ss_info_exclude.stat.sd_dev = 0U;
  dir.ss_info_exclude.stat.sd_ino = 0U;
  dir.ss_info_exclude.stat.sd_uid = 0U;
  dir.ss_info_exclude.stat.sd_gid = 0U;
  dir.ss_info_exclude.stat.sd_size = 0U;
  dir.ss_info_exclude.oid.hash[0] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[1] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[2] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[3] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[4] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[5] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[6] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[7] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[8] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[9] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[10] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[11] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[12] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[13] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[14] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[15] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[16] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[17] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[18] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[19] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[20] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[21] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[22] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[23] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[24] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[25] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[26] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[27] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[28] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[29] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[30] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[31] = (unsigned char)0;
  dir.ss_info_exclude.oid.algo = 0;
  dir.ss_info_exclude.valid = 0;
  dir.ss_excludes_file.stat.sd_ctime.sec = 0U;
  dir.ss_excludes_file.stat.sd_ctime.nsec = 0U;
  dir.ss_excludes_file.stat.sd_mtime.sec = 0U;
  dir.ss_excludes_file.stat.sd_mtime.nsec = 0U;
  dir.ss_excludes_file.stat.sd_dev = 0U;
  dir.ss_excludes_file.stat.sd_ino = 0U;
  dir.ss_excludes_file.stat.sd_uid = 0U;
  dir.ss_excludes_file.stat.sd_gid = 0U;
  dir.ss_excludes_file.stat.sd_size = 0U;
  dir.ss_excludes_file.oid.hash[0] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[1] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[2] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[3] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[4] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[5] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[6] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[7] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[8] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[9] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[10] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[11] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[12] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[13] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[14] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[15] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[16] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[17] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[18] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[19] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[20] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[21] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[22] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[23] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[24] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[25] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[26] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[27] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[28] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[29] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[30] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[31] = (unsigned char)0;
  dir.ss_excludes_file.oid.algo = 0;
  dir.ss_excludes_file.valid = 0;
  dir.unmanaged_exclude_files = 0U;
  dir.visited_paths = 0U;
  dir.visited_directories = 0U;
  exclude_list.items = (struct string_list_item *)0;
  exclude_list.nr = 0U;
  exclude_list.alloc = 0U;
  exclude_list.strdup_strings = 0U;
  exclude_list.cmp = (int (*)(char const   * , char const   * ))0;
  builtin_ls_files_options[0].type = (enum parse_opt_type )8;
  builtin_ls_files_options[0].short_name = 'z';
  builtin_ls_files_options[0].long_name = (char const   *)((void *)0);
  builtin_ls_files_options[0].value = (void *)(& line_terminator);
  builtin_ls_files_options[0].argh = (char const   *)((void *)0);
  builtin_ls_files_options[0].help = (char const   *)"separate paths with the NUL character";
  builtin_ls_files_options[0].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[0].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[0].defval = (intptr_t )'\000';
  builtin_ls_files_options[0].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[0].extra = 0L;
  builtin_ls_files_options[1].type = (enum parse_opt_type )8;
  builtin_ls_files_options[1].short_name = 't';
  builtin_ls_files_options[1].long_name = (char const   *)((void *)0);
  builtin_ls_files_options[1].value = (void *)(& show_tag);
  builtin_ls_files_options[1].argh = (char const   *)((void *)0);
  builtin_ls_files_options[1].help = (char const   *)"identify the file status with tags";
  builtin_ls_files_options[1].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[1].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[1].defval = (intptr_t )1;
  builtin_ls_files_options[1].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[1].extra = 0L;
  builtin_ls_files_options[2].type = (enum parse_opt_type )8;
  builtin_ls_files_options[2].short_name = 'v';
  builtin_ls_files_options[2].long_name = (char const   *)((void *)0);
  builtin_ls_files_options[2].value = (void *)(& show_valid_bit);
  builtin_ls_files_options[2].argh = (char const   *)((void *)0);
  builtin_ls_files_options[2].help = (char const   *)"use lowercase letters for \'assume unchanged\' files";
  builtin_ls_files_options[2].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[2].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[2].defval = (intptr_t )1;
  builtin_ls_files_options[2].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[2].extra = 0L;
  builtin_ls_files_options[3].type = (enum parse_opt_type )8;
  builtin_ls_files_options[3].short_name = 'f';
  builtin_ls_files_options[3].long_name = (char const   *)((void *)0);
  builtin_ls_files_options[3].value = (void *)(& show_fsmonitor_bit);
  builtin_ls_files_options[3].argh = (char const   *)((void *)0);
  builtin_ls_files_options[3].help = (char const   *)"use lowercase letters for \'fsmonitor clean\' files";
  builtin_ls_files_options[3].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[3].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[3].defval = (intptr_t )1;
  builtin_ls_files_options[3].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[3].extra = 0L;
  builtin_ls_files_options[4].type = (enum parse_opt_type )8;
  builtin_ls_files_options[4].short_name = 'c';
  builtin_ls_files_options[4].long_name = (char const   *)"cached";
  builtin_ls_files_options[4].value = (void *)(& show_cached);
  builtin_ls_files_options[4].argh = (char const   *)((void *)0);
  builtin_ls_files_options[4].help = (char const   *)"show cached files in the output (default)";
  builtin_ls_files_options[4].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[4].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[4].defval = (intptr_t )1;
  builtin_ls_files_options[4].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[4].extra = 0L;
  builtin_ls_files_options[5].type = (enum parse_opt_type )8;
  builtin_ls_files_options[5].short_name = 'd';
  builtin_ls_files_options[5].long_name = (char const   *)"deleted";
  builtin_ls_files_options[5].value = (void *)(& show_deleted);
  builtin_ls_files_options[5].argh = (char const   *)((void *)0);
  builtin_ls_files_options[5].help = (char const   *)"show deleted files in the output";
  builtin_ls_files_options[5].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[5].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[5].defval = (intptr_t )1;
  builtin_ls_files_options[5].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[5].extra = 0L;
  builtin_ls_files_options[6].type = (enum parse_opt_type )8;
  builtin_ls_files_options[6].short_name = 'm';
  builtin_ls_files_options[6].long_name = (char const   *)"modified";
  builtin_ls_files_options[6].value = (void *)(& show_modified___0);
  builtin_ls_files_options[6].argh = (char const   *)((void *)0);
  builtin_ls_files_options[6].help = (char const   *)"show modified files in the output";
  builtin_ls_files_options[6].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[6].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[6].defval = (intptr_t )1;
  builtin_ls_files_options[6].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[6].extra = 0L;
  builtin_ls_files_options[7].type = (enum parse_opt_type )8;
  builtin_ls_files_options[7].short_name = 'o';
  builtin_ls_files_options[7].long_name = (char const   *)"others";
  builtin_ls_files_options[7].value = (void *)(& show_others);
  builtin_ls_files_options[7].argh = (char const   *)((void *)0);
  builtin_ls_files_options[7].help = (char const   *)"show other files in the output";
  builtin_ls_files_options[7].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[7].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[7].defval = (intptr_t )1;
  builtin_ls_files_options[7].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[7].extra = 0L;
  builtin_ls_files_options[8].type = (enum parse_opt_type )4;
  builtin_ls_files_options[8].short_name = 'i';
  builtin_ls_files_options[8].long_name = (char const   *)"ignored";
  builtin_ls_files_options[8].value = (void *)(& dir.flags);
  builtin_ls_files_options[8].argh = (char const   *)((void *)0);
  builtin_ls_files_options[8].help = (char const   *)"show ignored files in the output";
  builtin_ls_files_options[8].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[8].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[8].defval = (intptr_t )1;
  builtin_ls_files_options[8].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[8].extra = 0L;
  builtin_ls_files_options[9].type = (enum parse_opt_type )8;
  builtin_ls_files_options[9].short_name = 's';
  builtin_ls_files_options[9].long_name = (char const   *)"stage";
  builtin_ls_files_options[9].value = (void *)(& show_stage);
  builtin_ls_files_options[9].argh = (char const   *)((void *)0);
  builtin_ls_files_options[9].help = (char const   *)"show staged contents\' object name in the output";
  builtin_ls_files_options[9].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[9].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[9].defval = (intptr_t )1;
  builtin_ls_files_options[9].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[9].extra = 0L;
  builtin_ls_files_options[10].type = (enum parse_opt_type )8;
  builtin_ls_files_options[10].short_name = 'k';
  builtin_ls_files_options[10].long_name = (char const   *)"killed";
  builtin_ls_files_options[10].value = (void *)(& show_killed);
  builtin_ls_files_options[10].argh = (char const   *)((void *)0);
  builtin_ls_files_options[10].help = (char const   *)"show files on the filesystem that need to be removed";
  builtin_ls_files_options[10].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[10].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[10].defval = (intptr_t )1;
  builtin_ls_files_options[10].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[10].extra = 0L;
  builtin_ls_files_options[11].type = (enum parse_opt_type )4;
  builtin_ls_files_options[11].short_name = 0;
  builtin_ls_files_options[11].long_name = (char const   *)"directory";
  builtin_ls_files_options[11].value = (void *)(& dir.flags);
  builtin_ls_files_options[11].argh = (char const   *)((void *)0);
  builtin_ls_files_options[11].help = (char const   *)"show \'other\' directories\' names only";
  builtin_ls_files_options[11].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[11].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[11].defval = (intptr_t )2;
  builtin_ls_files_options[11].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[11].extra = 0L;
  builtin_ls_files_options[12].type = (enum parse_opt_type )8;
  builtin_ls_files_options[12].short_name = 0;
  builtin_ls_files_options[12].long_name = (char const   *)"eol";
  builtin_ls_files_options[12].value = (void *)(& show_eol);
  builtin_ls_files_options[12].argh = (char const   *)((void *)0);
  builtin_ls_files_options[12].help = (char const   *)"show line endings of files";
  builtin_ls_files_options[12].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[12].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[12].defval = (intptr_t )1;
  builtin_ls_files_options[12].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[12].extra = 0L;
  builtin_ls_files_options[13].type = (enum parse_opt_type )5;
  builtin_ls_files_options[13].short_name = 0;
  builtin_ls_files_options[13].long_name = (char const   *)"empty-directory";
  builtin_ls_files_options[13].value = (void *)(& dir.flags);
  builtin_ls_files_options[13].argh = (char const   *)((void *)0);
  builtin_ls_files_options[13].help = (char const   *)"don\'t show empty directories";
  builtin_ls_files_options[13].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[13].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[13].defval = (intptr_t )4;
  builtin_ls_files_options[13].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[13].extra = 0L;
  builtin_ls_files_options[14].type = (enum parse_opt_type )8;
  builtin_ls_files_options[14].short_name = 'u';
  builtin_ls_files_options[14].long_name = (char const   *)"unmerged";
  builtin_ls_files_options[14].value = (void *)(& show_unmerged);
  builtin_ls_files_options[14].argh = (char const   *)((void *)0);
  builtin_ls_files_options[14].help = (char const   *)"show unmerged files in the output";
  builtin_ls_files_options[14].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[14].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[14].defval = (intptr_t )1;
  builtin_ls_files_options[14].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[14].extra = 0L;
  builtin_ls_files_options[15].type = (enum parse_opt_type )8;
  builtin_ls_files_options[15].short_name = 0;
  builtin_ls_files_options[15].long_name = (char const   *)"resolve-undo";
  builtin_ls_files_options[15].value = (void *)(& show_resolve_undo);
  builtin_ls_files_options[15].argh = (char const   *)((void *)0);
  builtin_ls_files_options[15].help = (char const   *)"show resolve-undo information";
  builtin_ls_files_options[15].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[15].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[15].defval = (intptr_t )1;
  builtin_ls_files_options[15].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[15].extra = 0L;
  builtin_ls_files_options[16].type = (enum parse_opt_type )12;
  builtin_ls_files_options[16].short_name = 'x';
  builtin_ls_files_options[16].long_name = (char const   *)"exclude";
  builtin_ls_files_options[16].value = (void *)(& exclude_list);
  builtin_ls_files_options[16].argh = (char const   *)"pattern";
  builtin_ls_files_options[16].help = (char const   *)"skip files matching pattern";
  builtin_ls_files_options[16].flags = (enum parse_opt_option_flags )4;
  builtin_ls_files_options[16].callback = & option_parse_exclude;
  builtin_ls_files_options[16].defval = 0L;
  builtin_ls_files_options[16].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[16].extra = 0L;
  builtin_ls_files_options[17].type = (enum parse_opt_type )12;
  builtin_ls_files_options[17].short_name = 'X';
  builtin_ls_files_options[17].long_name = (char const   *)"exclude-from";
  builtin_ls_files_options[17].value = (void *)(& dir);
  builtin_ls_files_options[17].argh = (char const   *)"file";
  builtin_ls_files_options[17].help = (char const   *)"read exclude patterns from <file>";
  builtin_ls_files_options[17].flags = (enum parse_opt_option_flags )4;
  builtin_ls_files_options[17].callback = & option_parse_exclude_from;
  builtin_ls_files_options[17].defval = 0L;
  builtin_ls_files_options[17].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[17].extra = 0L;
  builtin_ls_files_options[18].type = (enum parse_opt_type )9;
  builtin_ls_files_options[18].short_name = 0;
  builtin_ls_files_options[18].long_name = (char const   *)"exclude-per-directory";
  builtin_ls_files_options[18].value = (void *)(& dir.exclude_per_dir);
  builtin_ls_files_options[18].argh = (char const   *)"file";
  builtin_ls_files_options[18].help = (char const   *)"read additional per-directory exclude patterns in <file>";
  builtin_ls_files_options[18].flags = (enum parse_opt_option_flags )0;
  builtin_ls_files_options[18].callback = (parse_opt_cb *)0;
  builtin_ls_files_options[18].defval = 0L;
  builtin_ls_files_options[18].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[18].extra = 0L;
  builtin_ls_files_options[19].type = (enum parse_opt_type )12;
  builtin_ls_files_options[19].short_name = 0;
  builtin_ls_files_options[19].long_name = (char const   *)"exclude-standard";
  builtin_ls_files_options[19].value = (void *)(& dir);
  builtin_ls_files_options[19].argh = (char const   *)((void *)0);
  builtin_ls_files_options[19].help = (char const   *)"add the standard git exclusions";
  builtin_ls_files_options[19].flags = (enum parse_opt_option_flags )6;
  builtin_ls_files_options[19].callback = & option_parse_exclude_standard;
  builtin_ls_files_options[19].defval = 0L;
  builtin_ls_files_options[19].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[19].extra = 0L;
  builtin_ls_files_options[20].type = (enum parse_opt_type )8;
  builtin_ls_files_options[20].short_name = 0;
  builtin_ls_files_options[20].long_name = (char const   *)"full-name";
  builtin_ls_files_options[20].value = (void *)(& prefix_len);
  builtin_ls_files_options[20].argh = (char const   *)((void *)0);
  builtin_ls_files_options[20].help = (char const   *)"make the output relative to the project top directory";
  builtin_ls_files_options[20].flags = (enum parse_opt_option_flags )6;
  builtin_ls_files_options[20].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[20].defval = (intptr_t )0;
  builtin_ls_files_options[20].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[20].extra = 0L;
  builtin_ls_files_options[21].type = (enum parse_opt_type )8;
  builtin_ls_files_options[21].short_name = 0;
  builtin_ls_files_options[21].long_name = (char const   *)"recurse-submodules";
  builtin_ls_files_options[21].value = (void *)(& recurse_submodules___1);
  builtin_ls_files_options[21].argh = (char const   *)((void *)0);
  builtin_ls_files_options[21].help = (char const   *)"recurse through submodules";
  builtin_ls_files_options[21].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[21].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[21].defval = (intptr_t )1;
  builtin_ls_files_options[21].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[21].extra = 0L;
  builtin_ls_files_options[22].type = (enum parse_opt_type )8;
  builtin_ls_files_options[22].short_name = 0;
  builtin_ls_files_options[22].long_name = (char const   *)"error-unmatch";
  builtin_ls_files_options[22].value = (void *)(& error_unmatch);
  builtin_ls_files_options[22].argh = (char const   *)((void *)0);
  builtin_ls_files_options[22].help = (char const   *)"if any <file> is not in the index, treat this as an error";
  builtin_ls_files_options[22].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[22].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[22].defval = (intptr_t )1;
  builtin_ls_files_options[22].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[22].extra = 0L;
  builtin_ls_files_options[23].type = (enum parse_opt_type )9;
  builtin_ls_files_options[23].short_name = 0;
  builtin_ls_files_options[23].long_name = (char const   *)"with-tree";
  builtin_ls_files_options[23].value = (void *)(& with_tree);
  builtin_ls_files_options[23].argh = (char const   *)"tree-ish";
  builtin_ls_files_options[23].help = (char const   *)"pretend that paths removed since <tree-ish> are still present";
  builtin_ls_files_options[23].flags = (enum parse_opt_option_flags )0;
  builtin_ls_files_options[23].callback = (parse_opt_cb *)0;
  builtin_ls_files_options[23].defval = 0L;
  builtin_ls_files_options[23].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[23].extra = 0L;
  builtin_ls_files_options[24].type = (enum parse_opt_type )12;
  builtin_ls_files_options[24].short_name = 0;
  builtin_ls_files_options[24].long_name = (char const   *)"abbrev";
  builtin_ls_files_options[24].value = (void *)(& abbrev___1);
  builtin_ls_files_options[24].argh = (char const   *)"n";
  builtin_ls_files_options[24].help = (char const   *)"use <n> digits to display object names";
  builtin_ls_files_options[24].flags = (enum parse_opt_option_flags )1;
  builtin_ls_files_options[24].callback = & parse_opt_abbrev_cb;
  builtin_ls_files_options[24].defval = (intptr_t )0;
  builtin_ls_files_options[24].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[24].extra = 0L;
  builtin_ls_files_options[25].type = (enum parse_opt_type )8;
  builtin_ls_files_options[25].short_name = 0;
  builtin_ls_files_options[25].long_name = (char const   *)"debug";
  builtin_ls_files_options[25].value = (void *)(& debug_mode);
  builtin_ls_files_options[25].argh = (char const   *)((void *)0);
  builtin_ls_files_options[25].help = (char const   *)"show debugging data";
  builtin_ls_files_options[25].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[25].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[25].defval = (intptr_t )1;
  builtin_ls_files_options[25].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[25].extra = 0L;
  builtin_ls_files_options[26].type = (enum parse_opt_type )8;
  builtin_ls_files_options[26].short_name = 0;
  builtin_ls_files_options[26].long_name = (char const   *)"deduplicate";
  builtin_ls_files_options[26].value = (void *)(& skipping_duplicates);
  builtin_ls_files_options[26].argh = (char const   *)((void *)0);
  builtin_ls_files_options[26].help = (char const   *)"suppress duplicate entries";
  builtin_ls_files_options[26].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[26].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[26].defval = (intptr_t )1;
  builtin_ls_files_options[26].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[26].extra = 0L;
  builtin_ls_files_options[27].type = (enum parse_opt_type )8;
  builtin_ls_files_options[27].short_name = 0;
  builtin_ls_files_options[27].long_name = (char const   *)"sparse";
  builtin_ls_files_options[27].value = (void *)(& show_sparse_dirs);
  builtin_ls_files_options[27].argh = (char const   *)((void *)0);
  builtin_ls_files_options[27].help = (char const   *)"show sparse directories in the presence of a sparse index";
  builtin_ls_files_options[27].flags = (enum parse_opt_option_flags )2;
  builtin_ls_files_options[27].callback = (parse_opt_cb *)((void *)0);
  builtin_ls_files_options[27].defval = (intptr_t )1;
  builtin_ls_files_options[27].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[27].extra = 0L;
  builtin_ls_files_options[28].type = (enum parse_opt_type )0;
  builtin_ls_files_options[28].short_name = 0;
  builtin_ls_files_options[28].long_name = (char const   *)0;
  builtin_ls_files_options[28].value = (void *)0;
  builtin_ls_files_options[28].argh = (char const   *)0;
  builtin_ls_files_options[28].help = (char const   *)0;
  builtin_ls_files_options[28].flags = 0U;
  builtin_ls_files_options[28].callback = (parse_opt_cb *)0;
  builtin_ls_files_options[28].defval = 0L;
  builtin_ls_files_options[28].ll_callback = (parse_opt_ll_cb *)0;
  builtin_ls_files_options[28].extra = 0L;
  ret___67 = 0;
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage_with_options(ls_files_usage, (struct option  const  *)(builtin_ls_files_options));
    }
  }
  prepare_repo_settings(the_repository);
  the_repository->settings.command_requires_full_index = 0;
  prefix___0 = cmd_prefix;
  if (prefix___0) {
    tmp___0 = strlen(prefix___0);
    prefix_len = (int )tmp___0;
  }
  git_config(& git_default_config, (void *)0);
  tmp___1 = repo_read_index(the_repository);
  if (tmp___1 < 0) {
    die((char const   *)"index file corrupt");
  }
  argc = parse_options(argc, argv___0, prefix___0, (struct option  const  *)(builtin_ls_files_options),
                       ls_files_usage, (enum parse_opt_flags )0);
  pl = add_pattern_list(& dir, 0, (char const   *)"--exclude option");
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < exclude_list.nr)) {
      goto while_break;
    }
    exclude_args --;
    add_pattern((char const   *)(exclude_list.items + i)->string, (char const   *)"",
                0, pl, exclude_args);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (show_tag) {
    goto _L;
  } else
  if (show_valid_bit) {
    goto _L;
  } else
  if (show_fsmonitor_bit) {
    _L: /* CIL Label */
    tag_cached = (char const   *)"H ";
    tag_unmerged = (char const   *)"M ";
    tag_removed = (char const   *)"R ";
    tag_modified = (char const   *)"C ";
    tag_other = (char const   *)"? ";
    tag_killed = (char const   *)"K ";
    tag_skip_worktree = (char const   *)"S ";
    tag_resolve_undo = (char const   *)"U ";
  }
  if (show_modified___0) {
    require_work_tree = 1;
  } else
  if (show_others) {
    require_work_tree = 1;
  } else
  if (show_deleted) {
    require_work_tree = 1;
  } else
  if ((unsigned int )dir.flags & 1U) {
    require_work_tree = 1;
  } else
  if (show_killed) {
    require_work_tree = 1;
  }
  if (show_unmerged) {
    show_stage = 1;
  }
  if (show_tag) {
    skipping_duplicates = 0;
  } else
  if (show_stage) {
    skipping_duplicates = 0;
  }
  if (dir.exclude_per_dir) {
    exc_given = 1;
  }
  if (require_work_tree) {
    tmp___2 = is_inside_work_tree();
    if (! tmp___2) {
      setup_work_tree();
    }
  }
  if (recurse_submodules___1) {
    if (show_stage) {
      die((char const   *)"ls-files --recurse-submodules unsupported mode");
    } else
    if (show_deleted) {
      die((char const   *)"ls-files --recurse-submodules unsupported mode");
    } else
    if (show_others) {
      die((char const   *)"ls-files --recurse-submodules unsupported mode");
    } else
    if (show_unmerged) {
      die((char const   *)"ls-files --recurse-submodules unsupported mode");
    } else
    if (show_killed) {
      die((char const   *)"ls-files --recurse-submodules unsupported mode");
    } else
    if (show_modified___0) {
      die((char const   *)"ls-files --recurse-submodules unsupported mode");
    } else
    if (show_resolve_undo) {
      die((char const   *)"ls-files --recurse-submodules unsupported mode");
    } else
    if (with_tree) {
      die((char const   *)"ls-files --recurse-submodules unsupported mode");
    }
  }
  if (recurse_submodules___1) {
    if (error_unmatch) {
      die((char const   *)"ls-files --recurse-submodules does not support --error-unmatch");
    }
  }
  parse_pathspec(& pathspec, 0U, 1U, prefix___0, argv___0);
  if (recurse_submodules___1) {
    max_prefix = (char *)((void *)0);
  } else {
    max_prefix = common_prefix((struct pathspec  const  *)(& pathspec));
  }
  max_prefix_len = get_common_prefix_len((char const   *)max_prefix);
  prune_index(the_repository->index, (char const   *)max_prefix, (size_t )max_prefix_len);
  if (pathspec.nr) {
    if (error_unmatch) {
      tmp___3 = xcalloc((size_t )pathspec.nr, (size_t )1);
      ps_matched___0 = (char *)tmp___3;
    }
  }
  if ((unsigned int )dir.flags & 1U) {
    if (! show_others) {
      if (! show_cached) {
        die((char const   *)"ls-files -i must be used with either -o or -c");
      }
    }
  }
  if ((unsigned int )dir.flags & 1U) {
    if (! exc_given) {
      die((char const   *)"ls-files --ignored needs some exclude pattern");
    }
  }
  if (! show_stage) {
    if (! show_deleted) {
      if (! show_others) {
        if (! show_unmerged) {
          if (! show_killed) {
            if (! show_modified___0) {
              if (! show_resolve_undo) {
                show_cached = 1;
              }
            }
          }
        }
      }
    }
  }
  if (with_tree) {
    if (show_stage) {
      tmp___4 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___4, "ls-files --with-tree", "-s/-u");
    } else
    if (show_unmerged) {
      tmp___4 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___4, "ls-files --with-tree", "-s/-u");
    }
    overlay_tree_on_index(the_repository->index, with_tree, (char const   *)max_prefix);
  }
  show_files(the_repository, & dir);
  if (show_resolve_undo) {
    show_ru_info(the_repository->index);
  }
  if (ps_matched___0) {
    tmp___5 = report_path_error((char const   *)ps_matched___0, (struct pathspec  const  *)(& pathspec));
    if (tmp___5) {
      fprintf(stderr, (char const   *)"Did you forget to \'git add\'?\n");
      ret___67 = 1;
    }
  }
  string_list_clear(& exclude_list, 0);
  dir_clear(& dir);
  free((void *)max_prefix);
  return (ret___67);
}
}
static char const   *ls_remote_usage[2]  = {      (char const   *)"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n              [-q | --quiet] [--exit-code] [--get-url]\n              [--symref] [<repository> [<refs>...]]",      (char const   *)((void *)0)};
static int tail_match(char const   **pattern___0 , char const   *path___6 )
{
  char const   *p___0 ;
  char *pathbuf ;
  int tmp ;
  char const   **tmp___0 ;

  {
  if (! pattern___0) {
    return (1);
  }
  pathbuf = xstrfmt((char const   *)"/%s", path___6);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = pattern___0;
    pattern___0 ++;
    p___0 = *tmp___0;
    if (! ((unsigned long )p___0 != (unsigned long )((void *)0))) {
      goto while_break;
    }
    tmp = wildmatch(p___0, (char const   *)pathbuf, 0U);
    if (! tmp) {
      free((void *)pathbuf);
      return (1);
    }
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)pathbuf);
  return (0);
}
}
int cmd_ls_remote(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char const   *dest ;
  unsigned int flags___0 ;
  int get_url___0 ;
  int quiet___7 ;
  int status ;
  int show_symref_target ;
  char const   *uploadpack ;
  char const   **pattern___0 ;
  struct transport_ls_refs_options transport_options ;
  int i ;
  struct string_list server_options___1 ;
  struct remote *remote ;
  struct transport *transport ;
  struct ref  const  *ref ;
  struct ref_array ref_array ;
  struct string_list sorting_options ;
  struct option options[12] ;
  int i___0 ;
  void *tmp ;
  char *tmp___0 ;
  int hash_algo ;
  struct git_hash_algo  const  *tmp___1 ;
  int tmp___2 ;
  struct ref_array_item *item___0 ;
  int tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;
  struct ref_sorting *sorting___0 ;
  struct ref_array_item  const  *ref___0 ;
  char *tmp___6 ;
  int tmp___7 ;

  {
  dest = (char const   *)((void *)0);
  flags___0 = 0U;
  get_url___0 = 0;
  quiet___7 = 0;
  status = 0;
  show_symref_target = 0;
  uploadpack = (char const   *)((void *)0);
  pattern___0 = (char const   **)((void *)0);
  transport_options.ref_prefixes.v = empty_strvec;
  transport_options.ref_prefixes.nr = 0UL;
  transport_options.ref_prefixes.alloc = 0UL;
  transport_options.unborn_head_target = (char *)0;
  server_options___1.items = (struct string_list_item *)0;
  server_options___1.nr = 0U;
  server_options___1.alloc = 0U;
  server_options___1.strdup_strings = 1U;
  server_options___1.cmp = (int (*)(char const   * , char const   * ))0;
  sorting_options.items = (struct string_list_item *)0;
  sorting_options.nr = 0U;
  sorting_options.alloc = 0U;
  sorting_options.strdup_strings = 1U;
  sorting_options.cmp = (int (*)(char const   * , char const   * ))0;
  options[0].type = (enum parse_opt_type )7;
  options[0].short_name = 'q';
  options[0].long_name = (char const   *)"quiet";
  options[0].value = (void *)(& quiet___7);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"do not print remote URL";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )9;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"upload-pack";
  options[1].value = (void *)(& uploadpack);
  options[1].argh = (char const   *)"exec";
  options[1].help = (char const   *)"path of git-upload-pack on the remote host";
  options[1].flags = (enum parse_opt_option_flags )0;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )9;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"exec";
  options[2].value = (void *)(& uploadpack);
  options[2].argh = (char const   *)"exec";
  options[2].help = (char const   *)"path of git-upload-pack on the remote host";
  options[2].flags = (enum parse_opt_option_flags )8;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )4;
  options[3].short_name = 't';
  options[3].long_name = (char const   *)"tags";
  options[3].value = (void *)(& flags___0);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"limit to tags";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )(1u << 2);
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )4;
  options[4].short_name = 'h';
  options[4].long_name = (char const   *)"heads";
  options[4].value = (void *)(& flags___0);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"limit to heads";
  options[4].flags = (enum parse_opt_option_flags )2;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )(1u << 1);
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )4;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)"refs";
  options[5].value = (void *)(& flags___0);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"do not show peeled tags";
  options[5].flags = (enum parse_opt_option_flags )2;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )1u;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )8;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)"get-url";
  options[6].value = (void *)(& get_url___0);
  options[6].argh = (char const   *)((void *)0);
  options[6].help = (char const   *)"take url.<base>.insteadOf into account";
  options[6].flags = (enum parse_opt_option_flags )2;
  options[6].callback = (parse_opt_cb *)((void *)0);
  options[6].defval = (intptr_t )1;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )12;
  options[7].short_name = 0;
  options[7].long_name = (char const   *)"sort";
  options[7].value = (void *)(& sorting_options);
  options[7].argh = (char const   *)"key";
  options[7].help = (char const   *)"field name to sort on";
  options[7].flags = (enum parse_opt_option_flags )0;
  options[7].callback = & parse_opt_string_list;
  options[7].defval = 0L;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )8;
  options[8].short_name = 0;
  options[8].long_name = (char const   *)"exit-code";
  options[8].value = (void *)(& status);
  options[8].argh = (char const   *)((void *)0);
  options[8].help = (char const   *)"exit with exit code 2 if no matching refs are found";
  options[8].flags = (enum parse_opt_option_flags )514;
  options[8].callback = (parse_opt_cb *)((void *)0);
  options[8].defval = (intptr_t )2;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  options[9].type = (enum parse_opt_type )8;
  options[9].short_name = 0;
  options[9].long_name = (char const   *)"symref";
  options[9].value = (void *)(& show_symref_target);
  options[9].argh = (char const   *)((void *)0);
  options[9].help = (char const   *)"show underlying ref in addition to the object pointed by it";
  options[9].flags = (enum parse_opt_option_flags )2;
  options[9].callback = (parse_opt_cb *)((void *)0);
  options[9].defval = (intptr_t )1;
  options[9].ll_callback = (parse_opt_ll_cb *)0;
  options[9].extra = 0L;
  options[10].type = (enum parse_opt_type )12;
  options[10].short_name = 'o';
  options[10].long_name = (char const   *)"server-option";
  options[10].value = (void *)(& server_options___1);
  options[10].argh = (char const   *)"server-specific";
  options[10].help = (char const   *)"option to transmit";
  options[10].flags = (enum parse_opt_option_flags )0;
  options[10].callback = & parse_opt_string_list;
  options[10].defval = 0L;
  options[10].ll_callback = (parse_opt_ll_cb *)0;
  options[10].extra = 0L;
  options[11].type = (enum parse_opt_type )0;
  options[11].short_name = 0;
  options[11].long_name = (char const   *)0;
  options[11].value = (void *)0;
  options[11].argh = (char const   *)0;
  options[11].help = (char const   *)0;
  options[11].flags = 0U;
  options[11].callback = (parse_opt_cb *)0;
  options[11].defval = 0L;
  options[11].ll_callback = (parse_opt_ll_cb *)0;
  options[11].extra = 0L;
  memset((void *)(& ref_array), 0, sizeof(ref_array));
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       ls_remote_usage, (enum parse_opt_flags )2);
  dest = *(argv___0 + 0);
  packet_trace_identity((char const   *)"ls-remote");
  if (argc > 1) {
    tmp = xcalloc((size_t )argc, sizeof(*pattern___0));
    pattern___0 = (char const   **)tmp;
    i___0 = 1;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i___0 < argc)) {
        goto while_break;
      }
      tmp___0 = xstrfmt((char const   *)"*/%s", *(argv___0 + i___0));
      *(pattern___0 + (i___0 - 1)) = (char const   *)tmp___0;
      i___0 ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (flags___0 & (1u << 2)) {
    strvec_push(& transport_options.ref_prefixes, (char const   *)"refs/tags/");
  }
  if (flags___0 & (1u << 1)) {
    strvec_push(& transport_options.ref_prefixes, (char const   *)"refs/heads/");
  }
  remote = remote_get(dest);
  if (! remote) {
    if (dest) {
      die((char const   *)"bad repository \'%s\'", dest);
    }
    die((char const   *)"No remote configured to list refs from.");
  }
  if (! remote->url_nr) {
    die((char const   *)"remote %s has no configured URL", dest);
  }
  if (get_url___0) {
    printf((char const   *)"%s\n", *(remote->url));
    return (0);
  }
  transport = transport_get(remote, (char const   *)((void *)0));
  if ((unsigned long )uploadpack != (unsigned long )((void *)0)) {
    transport_set_option(transport, (char const   *)"uploadpack", uploadpack);
  }
  if (server_options___1.nr) {
    transport->server_options = (struct string_list  const  *)(& server_options___1);
  }
  ref = transport_get_remote_refs(transport, & transport_options);
  if (ref) {
    tmp___1 = transport_get_hash_algo(transport);
    tmp___2 = hash_algo_by_ptr(tmp___1);
    hash_algo = tmp___2;
    repo_set_hash_algo(the_repository, hash_algo);
  }
  if (! dest) {
    if (! quiet___7) {
      fprintf(stderr, (char const   *)"From %s\n", *(remote->url));
    }
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ref) {
      goto while_break___0;
    }
    tmp___3 = check_ref_type(ref, (int )flags___0);
    if (! tmp___3) {
      goto __Cont;
    }
    tmp___4 = tail_match(pattern___0, (char const   *)(ref->name));
    if (! tmp___4) {
      goto __Cont;
    }
    item___0 = ref_array_push(& ref_array, (char const   *)(ref->name), (struct object_id  const  *)(& ref->old_oid));
    tmp___5 = xstrdup_or_null((char const   *)ref->symref);
    item___0->symref = (char const   *)tmp___5;
    __Cont: /* CIL Label */
    ref = (struct ref  const  *)ref->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (sorting_options.nr) {
    sorting___0 = ref_sorting_options(& sorting_options);
    ref_array_sort(sorting___0, & ref_array);
    ref_sorting_release(sorting___0);
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < ref_array.nr)) {
      goto while_break___1;
    }
    ref___0 = (struct ref_array_item  const  *)*(ref_array.items + i);
    if (show_symref_target) {
      if (ref___0->symref) {
        printf((char const   *)"ref: %s\t%s\n", ref___0->symref, ref___0->refname);
      }
    }
    tmp___6 = oid_to_hex((struct object_id  const  *)(& ref___0->objectname));
    printf((char const   *)"%s\t%s\n", tmp___6, ref___0->refname);
    status = 0;
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  ref_array_clear(& ref_array);
  tmp___7 = transport_disconnect(transport);
  if (tmp___7) {
    return (1);
  }
  return (status);
}
}
static double const   __ac_HASH_UPPER___131  =    (double const   )0.77;
__inline static void kh_resize_oid_set___131(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___131(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___131 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___131 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___131(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___131(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___131(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___131(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___131(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___131(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___131 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___131 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___131(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___131(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___131(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___131(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___131(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___131(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___131 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___131 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___131(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___131(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___131(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___131(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___98(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___98(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___131 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___131 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___98(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___98(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___98(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___98(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int line_termination  =    '\n';
static int abbrev___2  ;
static int ls_options  ;
static struct pathspec pathspec___0  ;
static int chomp_prefix  ;
static char const   *ls_tree_prefix  ;
static char const   *ls_tree_usage[2]  = {      (char const   *)"git ls-tree [<options>] <tree-ish> [<path>...]",      (char const   *)((void *)0)};
static int show_recursive(char const   *base , int baselen , char const   *pathname )
{
  int i ;
  char const   *spec ;
  int len___0 ;
  int speclen ;
  int tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  int tmp___2 ;

  {
  if (ls_options & 1) {
    return (1);
  }
  if (! pathspec___0.nr) {
    return (0);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < pathspec___0.nr)) {
      goto while_break;
    }
    spec = (char const   *)(pathspec___0.items + i)->match;
    tmp = strncmp(base, spec, (size_t )baselen);
    if (tmp) {
      goto __Cont;
    }
    tmp___0 = strlen(pathname);
    len___0 = (int )tmp___0;
    spec += baselen;
    tmp___1 = strlen(spec);
    speclen = (int )tmp___1;
    if (speclen <= len___0) {
      goto __Cont;
    }
    if (*(spec + len___0)) {
      if ((int const   )*(spec + len___0) != 47) {
        goto __Cont;
      }
    }
    tmp___2 = memcmp((void const   *)pathname, (void const   *)spec, (size_t )len___0);
    if (tmp___2) {
      goto __Cont;
    }
    return (1);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int show_tree(struct object_id  const  *oid , struct strbuf *base , char const   *pathname ,
                     unsigned int mode___1 , void *context___0 )
{
  int retval ;
  int baselen ;
  char const   *type___0 ;
  int tmp ;
  char size_text[24] ;
  unsigned long size ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;

  {
  retval = 0;
  type___0 = blob_type;
  if ((mode___1 & 61440U) == 57344U) {
    type___0 = commit_type;
  } else
  if ((mode___1 & 61440U) == 16384U) {
    tmp = show_recursive((char const   *)base->buf, (int )base->len, pathname);
    if (tmp) {
      retval = 1;
      if (! (ls_options & 4)) {
        return (retval);
      }
    }
    type___0 = tree_type;
  } else
  if (ls_options & 2) {
    return (0);
  }
  if (! (ls_options & 8)) {
    if (ls_options & 16) {
      tmp___1 = strcmp(type___0, blob_type);
      if (tmp___1) {
        xsnprintf(size_text, sizeof(size_text), (char const   *)"-");
      } else {
        tmp___0 = oid_object_info(the_repository, oid, & size);
        if (tmp___0 == -1) {
          xsnprintf(size_text, sizeof(size_text), (char const   *)"BAD");
        } else {
          xsnprintf(size_text, sizeof(size_text), (char const   *)"%lu", size);
        }
      }
      tmp___2 = repo_find_unique_abbrev(the_repository, oid, abbrev___2);
      printf((char const   *)"%06o %s %s %7s\t", mode___1, type___0, tmp___2, size_text);
    } else {
      tmp___3 = repo_find_unique_abbrev(the_repository, oid, abbrev___2);
      printf((char const   *)"%06o %s %s\t", mode___1, type___0, tmp___3);
    }
  }
  baselen = (int )base->len;
  strbuf_addstr(base, pathname);
  if (chomp_prefix) {
    tmp___4 = ls_tree_prefix;
  } else {
    tmp___4 = (char const   *)((void *)0);
  }
  write_name_quoted_relative((char const   *)base->buf, tmp___4, stdout, line_termination);
  strbuf_setlen___33(base, (size_t )baselen);
  return (retval);
}
}
int cmd_ls_tree(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct object_id oid ;
  struct tree *tree ;
  int i ;
  int full_tree___0 ;
  struct option ls_tree_options[11] ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  full_tree___0 = 0;
  ls_tree_options[0].type = (enum parse_opt_type )((enum parse_opt_type )4);
  ls_tree_options[0].short_name = (int )'d';
  ls_tree_options[0].long_name = (char const   *)((char const   *)((void *)0));
  ls_tree_options[0].value = (void *)((void *)(& ls_options));
  ls_tree_options[0].argh = (char const   *)((char const   *)((void *)0));
  ls_tree_options[0].help = (char const   *)((char const   *)"only show trees");
  ls_tree_options[0].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  ls_tree_options[0].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  ls_tree_options[0].defval = (intptr_t )((intptr_t )2);
  ls_tree_options[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  ls_tree_options[0].extra = (intptr_t )0L;
  ls_tree_options[1].type = (enum parse_opt_type )((enum parse_opt_type )4);
  ls_tree_options[1].short_name = (int )'r';
  ls_tree_options[1].long_name = (char const   *)((char const   *)((void *)0));
  ls_tree_options[1].value = (void *)((void *)(& ls_options));
  ls_tree_options[1].argh = (char const   *)((char const   *)((void *)0));
  ls_tree_options[1].help = (char const   *)((char const   *)"recurse into subtrees");
  ls_tree_options[1].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  ls_tree_options[1].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  ls_tree_options[1].defval = (intptr_t )((intptr_t )1);
  ls_tree_options[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  ls_tree_options[1].extra = (intptr_t )0L;
  ls_tree_options[2].type = (enum parse_opt_type )((enum parse_opt_type )4);
  ls_tree_options[2].short_name = (int )'t';
  ls_tree_options[2].long_name = (char const   *)((char const   *)((void *)0));
  ls_tree_options[2].value = (void *)((void *)(& ls_options));
  ls_tree_options[2].argh = (char const   *)((char const   *)((void *)0));
  ls_tree_options[2].help = (char const   *)((char const   *)"show trees when recursing");
  ls_tree_options[2].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  ls_tree_options[2].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  ls_tree_options[2].defval = (intptr_t )((intptr_t )4);
  ls_tree_options[2].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  ls_tree_options[2].extra = (intptr_t )0L;
  ls_tree_options[3].type = (enum parse_opt_type )((enum parse_opt_type )8);
  ls_tree_options[3].short_name = (int )'z';
  ls_tree_options[3].long_name = (char const   *)((char const   *)((void *)0));
  ls_tree_options[3].value = (void *)((void *)(& line_termination));
  ls_tree_options[3].argh = (char const   *)((char const   *)((void *)0));
  ls_tree_options[3].help = (char const   *)((char const   *)"terminate entries with NUL byte");
  ls_tree_options[3].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  ls_tree_options[3].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  ls_tree_options[3].defval = (intptr_t )((intptr_t )0);
  ls_tree_options[3].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  ls_tree_options[3].extra = (intptr_t )0L;
  ls_tree_options[4].type = (enum parse_opt_type )((enum parse_opt_type )4);
  ls_tree_options[4].short_name = (int )'l';
  ls_tree_options[4].long_name = (char const   *)((char const   *)"long");
  ls_tree_options[4].value = (void *)((void *)(& ls_options));
  ls_tree_options[4].argh = (char const   *)((char const   *)((void *)0));
  ls_tree_options[4].help = (char const   *)((char const   *)"include object size");
  ls_tree_options[4].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  ls_tree_options[4].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  ls_tree_options[4].defval = (intptr_t )((intptr_t )16);
  ls_tree_options[4].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  ls_tree_options[4].extra = (intptr_t )0L;
  ls_tree_options[5].type = (enum parse_opt_type )((enum parse_opt_type )4);
  ls_tree_options[5].short_name = (int )0;
  ls_tree_options[5].long_name = (char const   *)((char const   *)"name-only");
  ls_tree_options[5].value = (void *)((void *)(& ls_options));
  ls_tree_options[5].argh = (char const   *)((char const   *)((void *)0));
  ls_tree_options[5].help = (char const   *)((char const   *)"list only filenames");
  ls_tree_options[5].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  ls_tree_options[5].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  ls_tree_options[5].defval = (intptr_t )((intptr_t )8);
  ls_tree_options[5].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  ls_tree_options[5].extra = (intptr_t )0L;
  ls_tree_options[6].type = (enum parse_opt_type )((enum parse_opt_type )4);
  ls_tree_options[6].short_name = (int )0;
  ls_tree_options[6].long_name = (char const   *)((char const   *)"name-status");
  ls_tree_options[6].value = (void *)((void *)(& ls_options));
  ls_tree_options[6].argh = (char const   *)((char const   *)((void *)0));
  ls_tree_options[6].help = (char const   *)((char const   *)"list only filenames");
  ls_tree_options[6].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  ls_tree_options[6].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  ls_tree_options[6].defval = (intptr_t )((intptr_t )8);
  ls_tree_options[6].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  ls_tree_options[6].extra = (intptr_t )0L;
  ls_tree_options[7].type = (enum parse_opt_type )((enum parse_opt_type )8);
  ls_tree_options[7].short_name = (int )0;
  ls_tree_options[7].long_name = (char const   *)((char const   *)"full-name");
  ls_tree_options[7].value = (void *)((void *)(& chomp_prefix));
  ls_tree_options[7].argh = (char const   *)((char const   *)((void *)0));
  ls_tree_options[7].help = (char const   *)((char const   *)"use full path names");
  ls_tree_options[7].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  ls_tree_options[7].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  ls_tree_options[7].defval = (intptr_t )((intptr_t )0);
  ls_tree_options[7].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  ls_tree_options[7].extra = (intptr_t )0L;
  ls_tree_options[8].type = (enum parse_opt_type )((enum parse_opt_type )8);
  ls_tree_options[8].short_name = (int )0;
  ls_tree_options[8].long_name = (char const   *)((char const   *)"full-tree");
  ls_tree_options[8].value = (void *)((void *)(& full_tree___0));
  ls_tree_options[8].argh = (char const   *)((char const   *)((void *)0));
  ls_tree_options[8].help = (char const   *)((char const   *)"list entire tree; not just current directory (implies --full-name)");
  ls_tree_options[8].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  ls_tree_options[8].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  ls_tree_options[8].defval = (intptr_t )((intptr_t )1);
  ls_tree_options[8].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  ls_tree_options[8].extra = (intptr_t )0L;
  ls_tree_options[9].type = (enum parse_opt_type )((enum parse_opt_type )12);
  ls_tree_options[9].short_name = (int )0;
  ls_tree_options[9].long_name = (char const   *)((char const   *)"abbrev");
  ls_tree_options[9].value = (void *)((void *)(& abbrev___2));
  ls_tree_options[9].argh = (char const   *)((char const   *)"n");
  ls_tree_options[9].help = (char const   *)((char const   *)"use <n> digits to display object names");
  ls_tree_options[9].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )1);
  ls_tree_options[9].callback = (parse_opt_cb *)(& parse_opt_abbrev_cb);
  ls_tree_options[9].defval = (intptr_t )((intptr_t )0);
  ls_tree_options[9].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  ls_tree_options[9].extra = (intptr_t )0L;
  ls_tree_options[10].type = (enum parse_opt_type )((enum parse_opt_type )0);
  ls_tree_options[10].short_name = (int )0;
  ls_tree_options[10].long_name = (char const   *)((char const   *)0);
  ls_tree_options[10].value = (void *)((void *)0);
  ls_tree_options[10].argh = (char const   *)((char const   *)0);
  ls_tree_options[10].help = (char const   *)((char const   *)0);
  ls_tree_options[10].flags = (enum parse_opt_option_flags )0U;
  ls_tree_options[10].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  ls_tree_options[10].defval = (intptr_t )0L;
  ls_tree_options[10].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  ls_tree_options[10].extra = (intptr_t )0L;
  git_config(& git_default_config, (void *)0);
  ls_tree_prefix = prefix___1;
  if (prefix___1) {
    if (*prefix___1) {
      tmp = strlen(prefix___1);
      chomp_prefix = (int )tmp;
    }
  }
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(ls_tree_options),
                       ls_tree_usage, (enum parse_opt_flags )0);
  if (full_tree___0) {
    prefix___1 = (char const   *)((void *)0);
    ls_tree_prefix = prefix___1;
    chomp_prefix = 0;
  }
  if (3 == (3 & ls_options)) {
    ls_options |= 4;
  }
  if (argc < 1) {
    usage_with_options(ls_tree_usage, (struct option  const  *)(ls_tree_options));
  }
  tmp___0 = repo_get_oid(the_repository, *(argv___0 + 0), & oid);
  if (tmp___0) {
    die((char const   *)"Not a valid object name %s", *(argv___0 + 0));
  }
  parse_pathspec(& pathspec___0, (unsigned int )(((((((1 | (1 << 1)) | (1 << 2)) | (1 << 3)) | (1 << 4)) | (1 << 5)) | (1 << 6)) & ~ (1 | (1 << 2))),
                 1U, prefix___1, argv___0 + 1);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < pathspec___0.nr)) {
      goto while_break;
    }
    (pathspec___0.items + i)->nowildcard_len = (pathspec___0.items + i)->len;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  pathspec___0.has_wildcard = 0U;
  tree = parse_tree_indirect((struct object_id  const  *)(& oid));
  if (! tree) {
    die((char const   *)"not a tree object");
  }
  tmp___1 = read_tree(the_repository, tree, (struct pathspec  const  *)(& pathspec___0),
                      & show_tree, (void *)0);
  if (tmp___1) {
    tmp___2 = 1;
  } else {
    tmp___2 = 0;
  }
  return (tmp___2);
}
}
static char const   *mailinfo_usage[2]  = {      (char const   *)"git mailinfo [<options>] <msg> <patch> < mail >info",      (char const   *)((void *)0)};
static int parse_opt_explicit_encoding(struct option  const  *opt___0 , char const   *arg ,
                                       int unset )
{
  struct metainfo_charset *meta_charset ;

  {
  meta_charset = (struct metainfo_charset *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/mailinfo.c", 33, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  meta_charset->policy = (enum __anonenum_policy_109145473 )2;
  meta_charset->charset = arg;
  return (0);
}
}
static int parse_opt_quoted_cr(struct option  const  *opt___0 , char const   *arg ,
                               int unset )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/mailinfo.c", 43, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = mailinfo_parse_quoted_cr_action(arg, (int *)opt___0->value);
  if (tmp___1 != 0) {
    tmp = _((char const   *)"bad action \'%s\' for \'%s\'");
    error((char const   *)tmp, arg, "--quoted-cr");
    tmp___0 = const_error();
    return (tmp___0);
  }
  return (0);
}
}
int cmd_mailinfo(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct metainfo_charset meta_charset ;
  struct mailinfo mi ;
  int status ;
  char *msgfile ;
  char *patchfile ;
  struct option options[10] ;
  int tmp ;
  int tmp___0 ;

  {
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 'k';
  options[0].long_name = (char const   *)((void *)0);
  options[0].value = (void *)(& mi.keep_subject);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"keep subject";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 'b';
  options[1].long_name = (char const   *)((void *)0);
  options[1].value = (void *)(& mi.keep_non_patch_brackets_in_subject);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"keep non patch brackets in subject";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 'm';
  options[2].long_name = (char const   *)"message-id";
  options[2].value = (void *)(& mi.add_message_id);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"copy Message-ID to the end of commit message";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )1;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 'u';
  options[3].long_name = (char const   *)((void *)0);
  options[3].value = (void *)(& meta_charset.policy);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"re-code metadata to i18n.commitEncoding";
  options[3].flags = (enum parse_opt_option_flags )6;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )0;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 'n';
  options[4].long_name = (char const   *)((void *)0);
  options[4].value = (void *)(& meta_charset.policy);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"disable charset re-coding of metadata";
  options[4].flags = (enum parse_opt_option_flags )6;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )1;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )12;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)"encoding";
  options[5].value = (void *)(& meta_charset);
  options[5].argh = (char const   *)"encoding";
  options[5].help = (char const   *)"re-code metadata to this encoding";
  options[5].flags = (enum parse_opt_option_flags )4;
  options[5].callback = & parse_opt_explicit_encoding;
  options[5].defval = 0L;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )8;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)"scissors";
  options[6].value = (void *)(& mi.use_scissors);
  options[6].argh = (char const   *)((void *)0);
  options[6].help = (char const   *)"use scissors";
  options[6].flags = (enum parse_opt_option_flags )2;
  options[6].callback = (parse_opt_cb *)((void *)0);
  options[6].defval = (intptr_t )1;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )12;
  options[7].short_name = 0;
  options[7].long_name = (char const   *)"quoted-cr";
  options[7].value = (void *)(& mi.quoted_cr);
  options[7].argh = (char const   *)"<action>";
  options[7].help = (char const   *)"action when quoted CR is found";
  options[7].flags = (enum parse_opt_option_flags )4;
  options[7].callback = & parse_opt_quoted_cr;
  options[7].defval = 0L;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )8;
  options[8].short_name = 0;
  options[8].long_name = (char const   *)"inbody-headers";
  options[8].value = (void *)(& mi.use_inbody_headers);
  options[8].argh = (char const   *)((void *)0);
  options[8].help = (char const   *)"use headers in message\'s body";
  options[8].flags = (enum parse_opt_option_flags )10;
  options[8].callback = (parse_opt_cb *)((void *)0);
  options[8].defval = (intptr_t )1;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  options[9].type = (enum parse_opt_type )0;
  options[9].short_name = 0;
  options[9].long_name = (char const   *)0;
  options[9].value = (void *)0;
  options[9].argh = (char const   *)0;
  options[9].help = (char const   *)0;
  options[9].flags = 0U;
  options[9].callback = (parse_opt_cb *)0;
  options[9].defval = 0L;
  options[9].ll_callback = (parse_opt_ll_cb *)0;
  options[9].extra = 0L;
  setup_mailinfo(& mi);
  meta_charset.policy = (enum __anonenum_policy_109145473 )0;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       mailinfo_usage, (enum parse_opt_flags )0);
  if (argc != 2) {
    usage_with_options(mailinfo_usage, (struct option  const  *)(options));
  }
  {
  if ((unsigned int )meta_charset.policy == 0U) {
    goto case_0;
  }
  if ((unsigned int )meta_charset.policy == 1U) {
    goto case_1;
  }
  if ((unsigned int )meta_charset.policy == 2U) {
    goto case_2;
  }
  goto switch_default;
  case_0: /* CIL Label */
  mi.metainfo_charset = get_commit_output_encoding();
  goto switch_break;
  case_1: /* CIL Label */
  mi.metainfo_charset = (char const   *)((void *)0);
  goto switch_break;
  case_2: /* CIL Label */
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"builtin/mailinfo.c", 99, (char const   *)"invalid meta_charset.policy");
  switch_break: /* CIL Label */ ;
  }
  mi.input = stdin;
  mi.output = stdout;
  msgfile = prefix_filename(prefix___1, *(argv___0 + 0));
  patchfile = prefix_filename(prefix___1, *(argv___0 + 1));
  tmp = mailinfo(& mi, (char const   *)msgfile, (char const   *)patchfile);
  if (tmp) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  status = tmp___0;
  clear_mailinfo(& mi);
  free((void *)msgfile);
  free((void *)patchfile);
  return (status);
}
}
static char const   git_mailsplit_usage[88]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'m',      (char const   )'a',      (char const   )'i',      (char const   )'l',
        (char const   )'s',      (char const   )'p',      (char const   )'l',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'d',      (char const   )'<',      (char const   )'p',      (char const   )'r',
        (char const   )'e',      (char const   )'c',      (char const   )'>',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'f',
        (char const   )'<',      (char const   )'n',      (char const   )'>',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'b',
        (char const   )']',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'k',      (char const   )'e',      (char const   )'e',
        (char const   )'p',      (char const   )'-',      (char const   )'c',      (char const   )'r',
        (char const   )']',      (char const   )' ',      (char const   )'-',      (char const   )'o',
        (char const   )'<',      (char const   )'d',      (char const   )'i',      (char const   )'r',
        (char const   )'e',      (char const   )'c',      (char const   )'t',      (char const   )'o',
        (char const   )'r',      (char const   )'y',      (char const   )'>',      (char const   )' ',
        (char const   )'[',      (char const   )'(',      (char const   )'<',      (char const   )'m',
        (char const   )'b',      (char const   )'o',      (char const   )'x',      (char const   )'>',
        (char const   )'|',      (char const   )'<',      (char const   )'M',      (char const   )'a',
        (char const   )'i',      (char const   )'l',      (char const   )'d',      (char const   )'i',
        (char const   )'r',      (char const   )'>',      (char const   )')',      (char const   )'.',
        (char const   )'.',      (char const   )'.',      (char const   )']',      (char const   )'\000'};
static int is_from_line(char const   *line___0 , int len___0 )
{
  char const   *colon ;
  int tmp ;
  long tmp___0 ;

  {
  if (len___0 < 20) {
    return (0);
  } else {
    tmp = memcmp((void const   *)"From ", (void const   *)line___0, (size_t )5);
    if (tmp) {
      return (0);
    }
  }
  colon = (line___0 + len___0) - 2;
  line___0 += 5;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )colon < (unsigned long )line___0) {
      return (0);
    }
    colon --;
    if ((int const   )*colon == 58) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (! (((int const   )sane_ctype[(unsigned char )*(colon + -4)] & 2) != 0)) {
    return (0);
  } else
  if (! (((int const   )sane_ctype[(unsigned char )*(colon + -2)] & 2) != 0)) {
    return (0);
  } else
  if (! (((int const   )sane_ctype[(unsigned char )*(colon + -1)] & 2) != 0)) {
    return (0);
  } else
  if (! (((int const   )sane_ctype[(unsigned char )*(colon + 1)] & 2) != 0)) {
    return (0);
  } else
  if (! (((int const   )sane_ctype[(unsigned char )*(colon + 2)] & 2) != 0)) {
    return (0);
  }
  tmp___0 = strtol((char const   * __restrict  )(colon + 3), (char ** __restrict  )((void *)0),
                   10);
  if (tmp___0 <= 90L) {
    return (0);
  }
  return (1);
}
}
static struct strbuf buf___17  =    {0UL, 0UL, strbuf_slopbuf};
static int keep_cr  ;
static int mboxrd  ;
static int is_gtfrom(struct strbuf  const  *buf___19 )
{
  size_t min ;
  size_t tmp ;
  size_t ngt ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = strlen((char const   *)">From ");
  min = tmp;
  if (buf___19->len < (size_t )min) {
    return (0);
  }
  ngt = strspn((char const   *)buf___19->buf, (char const   *)">");
  if (ngt) {
    tmp___0 = starts_with((char const   *)(buf___19->buf + ngt), (char const   *)"From ");
    if (tmp___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static int split_one(FILE *mbox , char const   *name___0 , int allow_bare )
{
  FILE *output___4 ;
  int fd ;
  int status ;
  int is_bare ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  size_t tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  status = 0;
  tmp = is_from_line((char const   *)buf___17.buf, (int )buf___17.len);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  is_bare = tmp___0;
  if (is_bare) {
    if (! allow_bare) {
      fprintf(stderr, (char const   *)"corrupt mailbox\n");
      tmp___1 = trace2_cmd_exit_fl((char const   *)"builtin/mailsplit.c", 76, 1);
      exit(tmp___1);
    }
  }
  fd = xopen(name___0, 193, 0666);
  output___4 = xfdopen(fd, (char const   *)"w");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! keep_cr) {
      if (buf___17.len > 1UL) {
        if ((int )*(buf___17.buf + (buf___17.len - 1UL)) == 10) {
          if ((int )*(buf___17.buf + (buf___17.len - 2UL)) == 13) {
            strbuf_setlen___33(& buf___17, buf___17.len - 2UL);
            strbuf_addch(& buf___17, '\n');
          }
        }
      }
    }
    if (mboxrd) {
      tmp___2 = is_gtfrom((struct strbuf  const  *)(& buf___17));
      if (tmp___2) {
        strbuf_remove(& buf___17, (size_t )0, (size_t )1);
      }
    }
    tmp___3 = fwrite((void const   * __restrict  )buf___17.buf, (size_t )1, buf___17.len,
                     (FILE * __restrict  )output___4);
    if (tmp___3 != buf___17.len) {
      die_errno((char const   *)"cannot write output");
    }
    tmp___5 = strbuf_getwholeline(& buf___17, mbox, '\n');
    if (tmp___5) {
      tmp___4 = feof(mbox);
      if (tmp___4) {
        status = 1;
        goto while_break;
      }
      die_errno((char const   *)"cannot read mbox");
    }
    if (! is_bare) {
      tmp___6 = is_from_line((char const   *)buf___17.buf, (int )buf___17.len);
      if (tmp___6) {
        goto while_break;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  fclose(output___4);
  return (status);
}
}
static int populate_maildir_list(struct string_list *list___3 , char const   *path___6 )
{
  DIR *dir ;
  struct dirent *dent ;
  char *name___0 ;
  char *subs[3] ;
  char **sub ;
  int ret___67 ;
  int *tmp ;

  {
  name___0 = (char *)((void *)0);
  subs[0] = "cur";
  subs[1] = "new";
  subs[2] = (char *)((void *)0);
  ret___67 = -1;
  sub = subs;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *sub) {
      goto while_break;
    }
    free((void *)name___0);
    name___0 = xstrfmt((char const   *)"%s/%s", path___6, *sub);
    dir = opendir((char const   *)name___0);
    if ((unsigned long )dir == (unsigned long )((void *)0)) {
      tmp = __errno_location();
      if (*tmp == 2) {
        goto __Cont;
      }
      error_errno((char const   *)"cannot opendir %s", name___0);
      const_error();
      goto out;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      dent = readdir(dir);
      if (! ((unsigned long )dent != (unsigned long )((void *)0))) {
        goto while_break___0;
      }
      if ((int )dent->d_name[0] == 46) {
        goto while_continue___0;
      }
      free((void *)name___0);
      name___0 = xstrfmt((char const   *)"%s/%s", *sub, dent->d_name);
      string_list_insert(list___3, (char const   *)name___0);
    }
    while_break___0: /* CIL Label */ ;
    }
    closedir(dir);
    __Cont: /* CIL Label */
    sub ++;
  }
  while_break: /* CIL Label */ ;
  }
  ret___67 = 0;
  out:
  free((void *)name___0);
  return (ret___67);
}
}
static int maildir_filename_cmp(char const   *a , char const   *b___0 )
{
  long na ;
  long nb ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*a) {
      if (! *b___0) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if (((int const   )sane_ctype[(unsigned char )*a] & 2) != 0) {
      if (((int const   )sane_ctype[(unsigned char )*b___0] & 2) != 0) {
        na = strtol((char const   * __restrict  )a, (char ** __restrict  )((char **)(& a)),
                    10);
        nb = strtol((char const   * __restrict  )b___0, (char ** __restrict  )((char **)(& b___0)),
                    10);
        if (na != nb) {
          return ((int )(na - nb));
        }
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      if ((int const   )*a != (int const   )*b___0) {
        return ((int )((unsigned char )*a) - (int )((unsigned char )*b___0));
      }
      a ++;
      b___0 ++;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return ((int )((unsigned char )*a) - (int )((unsigned char )*b___0));
}
}
static int split_maildir(char const   *maildir , char const   *dir , int nr_prec ,
                         int skip )
{
  char *file___0 ;
  FILE *f ;
  int ret___67 ;
  int i ;
  struct string_list list___3 ;
  int tmp ;
  char *name___0 ;
  int tmp___0 ;

  {
  file___0 = (char *)((void *)0);
  f = (FILE *)((void *)0);
  ret___67 = -1;
  list___3.items = (struct string_list_item *)0;
  list___3.nr = 0U;
  list___3.alloc = 0U;
  list___3.strdup_strings = 1U;
  list___3.cmp = (int (*)(char const   * , char const   * ))0;
  list___3.cmp = & maildir_filename_cmp;
  tmp = populate_maildir_list(& list___3, maildir);
  if (tmp < 0) {
    goto out;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < list___3.nr)) {
      goto while_break;
    }
    free((void *)file___0);
    file___0 = xstrfmt((char const   *)"%s/%s", maildir, (list___3.items + i)->string);
    f = git_fopen((char const   *)file___0, (char const   *)"r");
    if (! f) {
      error_errno((char const   *)"cannot open mail %s", file___0);
      const_error();
      goto out;
    }
    tmp___0 = strbuf_getwholeline(& buf___17, f, '\n');
    if (tmp___0) {
      error_errno((char const   *)"cannot read mail %s", file___0);
      const_error();
      goto out;
    }
    skip ++;
    name___0 = xstrfmt((char const   *)"%s/%0*d", dir, nr_prec, skip);
    split_one(f, (char const   *)name___0, 1);
    free((void *)name___0);
    fclose(f);
    f = (FILE *)((void *)0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  ret___67 = skip;
  out:
  if (f) {
    fclose(f);
  }
  free((void *)file___0);
  string_list_clear(& list___3, 1);
  return (ret___67);
}
}
static int split_mbox(char const   *file___0 , char const   *dir , int allow_bare ,
                      int nr_prec , int skip )
{
  int ret___67 ;
  int peek ;
  FILE *f ;
  int tmp ;
  FILE *tmp___0 ;
  struct _IO_FILE *tmp___1 ;
  int tmp___2 ;
  int file_done ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char *name___0 ;
  char *tmp___5 ;

  {
  ret___67 = -1;
  tmp___2 = strcmp(file___0, (char const   *)"-");
  if (tmp___2) {
    tmp___0 = git_fopen(file___0, (char const   *)"r");
    tmp___1 = tmp___0;
  } else {
    tmp___1 = stdin;
  }
  f = tmp___1;
  file_done = 0;
  if (! f) {
    error_errno((char const   *)"cannot open mbox %s", file___0);
    const_error();
    goto out;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    peek = fgetc(f);
    if (peek == -1) {
      if ((unsigned long )f == (unsigned long )stdin) {
        ret___67 = skip;
      } else {
        fclose(f);
        tmp___3 = _((char const   *)"empty mbox: \'%s\'");
        error((char const   *)tmp___3, file___0);
        const_error();
      }
      goto out;
    }
    if (! (((int const   )sane_ctype[(unsigned char )peek] & 1) != 0)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  ungetc(peek, f);
  tmp___4 = strbuf_getwholeline(& buf___17, f, '\n');
  if (tmp___4) {
    if ((unsigned long )f != (unsigned long )stdin) {
      error((char const   *)"cannot read mbox %s", file___0);
      const_error();
      goto out;
    }
    file_done = 1;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (! file_done)) {
      goto while_break___0;
    }
    skip ++;
    tmp___5 = xstrfmt((char const   *)"%s/%0*d", dir, nr_prec, skip);
    name___0 = tmp___5;
    file_done = split_one(f, (char const   *)name___0, allow_bare);
    free((void *)name___0);
  }
  while_break___0: /* CIL Label */ ;
  }
  if ((unsigned long )f != (unsigned long )stdin) {
    fclose(f);
  }
  ret___67 = skip;
  out:
  return (ret___67);
}
}
static char const   *stdin_only___0[2]  = {      (char const   *)"-",      (char const   *)((void *)0)};
int cmd_mailsplit(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int nr___0 ;
  int nr_prec ;
  int num ;
  int allow_bare ;
  char const   *dir ;
  char const   **argp ;
  char const   *arg ;
  long tmp ;
  long tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const   *arg___0 ;
  char const   **tmp___3 ;
  struct stat argstat ;
  int ret___67 ;
  int tmp___4 ;

  {
  nr___0 = 0;
  nr_prec = 4;
  num = 0;
  allow_bare = 0;
  dir = (char const   *)((void *)0);
  argp = argv___0 + 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *argp) {
      goto while_break;
    }
    arg = *argp;
    if ((int const   )*(arg + 0) != 45) {
      goto while_break;
    }
    if ((int const   )*(arg + 1) == 100) {
      tmp = strtol((char const   * __restrict  )(arg + 2), (char ** __restrict  )((void *)0),
                   10);
      nr_prec = (int )tmp;
      if (nr_prec < 3) {
        usage(git_mailsplit_usage);
      } else
      if (10 <= nr_prec) {
        usage(git_mailsplit_usage);
      }
      goto __Cont;
    } else
    if ((int const   )*(arg + 1) == 102) {
      tmp___0 = strtol((char const   * __restrict  )(arg + 2), (char ** __restrict  )((void *)0),
                       10);
      nr___0 = (int )tmp___0;
    } else
    if ((int const   )*(arg + 1) == 104) {
      usage(git_mailsplit_usage);
    } else
    if ((int const   )*(arg + 1) == 98) {
      if (! *(arg + 2)) {
        allow_bare = 1;
      } else {
        goto _L___0;
      }
    } else {
      _L___0: /* CIL Label */
      tmp___2 = strcmp(arg, (char const   *)"--keep-cr");
      if (tmp___2) {
        if ((int const   )*(arg + 1) == 111) {
          if (*(arg + 2)) {
            dir = arg + 2;
          } else {
            goto _L;
          }
        } else {
          _L: /* CIL Label */
          tmp___1 = strcmp(arg, (char const   *)"--mboxrd");
          if (tmp___1) {
            if ((int const   )*(arg + 1) == 45) {
              if (! *(arg + 2)) {
                argp ++;
                goto while_break;
              } else {
                die((char const   *)"unknown option: %s", arg);
              }
            } else {
              die((char const   *)"unknown option: %s", arg);
            }
          } else {
            mboxrd = 1;
          }
        }
      } else {
        keep_cr = 1;
      }
    }
    __Cont: /* CIL Label */
    argp ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! dir) {
    {
    if ((long )argc - (argp - argv___0) == 1L) {
      goto case_1;
    }
    if ((long )argc - (argp - argv___0) == 2L) {
      goto case_2;
    }
    goto switch_default;
    case_1: /* CIL Label */
    dir = *(argp + 0);
    argp = stdin_only___0;
    goto switch_break;
    case_2: /* CIL Label */
    stdin_only___0[0] = *(argp + 0);
    dir = *(argp + 1);
    argp = stdin_only___0;
    goto switch_break;
    switch_default: /* CIL Label */
    usage(git_mailsplit_usage);
    switch_break: /* CIL Label */ ;
    }
  } else
  if (! *argp) {
    argp = stdin_only___0;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! *argp) {
      goto while_break___0;
    }
    tmp___3 = argp;
    argp ++;
    arg___0 = *tmp___3;
    ret___67 = 0;
    if ((int const   )*(arg___0 + 0) == 45) {
      if ((int const   )*(arg___0 + 1) == 0) {
        ret___67 = split_mbox(arg___0, dir, allow_bare, nr_prec, nr___0);
        if (ret___67 < 0) {
          error((char const   *)"cannot split patches from stdin");
          const_error();
          return (1);
        }
        num += ret___67 - nr___0;
        nr___0 = ret___67;
        goto while_continue___0;
      }
    }
    tmp___4 = stat(arg___0, & argstat);
    if (tmp___4 == -1) {
      error_errno((char const   *)"cannot stat %s", arg___0);
      const_error();
      return (1);
    }
    if ((argstat.st_mode & 61440U) == 16384U) {
      ret___67 = split_maildir(arg___0, dir, nr_prec, nr___0);
    } else {
      ret___67 = split_mbox(arg___0, dir, allow_bare, nr_prec, nr___0);
    }
    if (ret___67 < 0) {
      error((char const   *)"cannot split patches from %s", arg___0);
      const_error();
      return (1);
    }
    num += ret___67 - nr___0;
    nr___0 = ret___67;
  }
  while_break___0: /* CIL Label */ ;
  }
  printf((char const   *)"%d\n", num);
  return (0);
}
}
static double const   __ac_HASH_UPPER___132  =    (double const   )0.77;
__inline static void kh_resize_oid_set___132(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___132(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___132 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___132 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___132(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___132(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___132(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___132(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___132(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___132(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___132 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___132 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___132(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___132(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___132(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___132(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___132(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___132(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___132 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___132 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___132(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___132(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___132(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___132(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_contains_cache_with_stride___22(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___22(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___22(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___22(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___22(s___1, 1U);
  return;
}
}
static void clear_contains_cache___22(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___22(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___22(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___22(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___22(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___22(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___22(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___22(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___22(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___22(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___22(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___22(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___22(s___1, c___0, 0);
  return (tmp);
}
}
static int show_merge_base(struct commit **rev , int rev_nr , int show_all___0 )
{
  struct commit_list *result___0 ;
  struct commit_list *r ;
  char *tmp ;

  {
  result___0 = repo_get_merge_bases_many_dirty(the_repository, *(rev + 0), rev_nr - 1,
                                               rev + 1);
  if (! result___0) {
    return (1);
  }
  r = result___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! r) {
      goto while_break;
    }
    tmp = oid_to_hex((struct object_id  const  *)(& (r->item)->object.oid));
    printf((char const   *)"%s\n", tmp);
    if (! show_all___0) {
      goto while_break;
    }
    r = r->next;
  }
  while_break: /* CIL Label */ ;
  }
  free_commit_list(result___0);
  return (0);
}
}
static char const   *merge_base_usage[6]  = {      (char const   *)"git merge-base [-a | --all] <commit> <commit>...",      (char const   *)"git merge-base [-a | --all] --octopus <commit>...",      (char const   *)"git merge-base --independent <commit>...",      (char const   *)"git merge-base --is-ancestor <commit> <commit>",
        (char const   *)"git merge-base --fork-point <ref> [<commit>]",      (char const   *)((void *)0)};
static struct commit *get_commit_reference___0(char const   *arg )
{
  struct object_id revkey ;
  struct commit *r ;
  int tmp ;

  {
  tmp = repo_get_oid(the_repository, arg, & revkey);
  if (tmp) {
    die((char const   *)"Not a valid object name %s", arg);
  }
  r = lookup_commit_reference(the_repository, (struct object_id  const  *)(& revkey));
  if (! r) {
    die((char const   *)"Not a valid commit name %s", arg);
  }
  return (r);
}
}
static int handle_independent(int count___0 , char const   **args___0 )
{
  struct commit_list *revs ;
  struct commit_list *rev ;
  int i ;
  struct commit *tmp ;
  char *tmp___0 ;

  {
  revs = (struct commit_list *)((void *)0);
  i = count___0 - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i >= 0)) {
      goto while_break;
    }
    tmp = get_commit_reference___0(*(args___0 + i));
    commit_list_insert(tmp, & revs);
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  reduce_heads_replace(& revs);
  if (! revs) {
    return (1);
  }
  rev = revs;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! rev) {
      goto while_break___0;
    }
    tmp___0 = oid_to_hex((struct object_id  const  *)(& (rev->item)->object.oid));
    printf((char const   *)"%s\n", tmp___0);
    rev = rev->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  free_commit_list(revs);
  return (0);
}
}
static int handle_octopus(int count___0 , char const   **args___0 , int show_all___0 )
{
  struct commit_list *revs ;
  struct commit_list *result___0 ;
  struct commit_list *rev ;
  int i ;
  struct commit *tmp ;
  char *tmp___0 ;

  {
  revs = (struct commit_list *)((void *)0);
  i = count___0 - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i >= 0)) {
      goto while_break;
    }
    tmp = get_commit_reference___0(*(args___0 + i));
    commit_list_insert(tmp, & revs);
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  result___0 = get_octopus_merge_bases(revs);
  free_commit_list(revs);
  reduce_heads_replace(& result___0);
  if (! result___0) {
    return (1);
  }
  rev = result___0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! rev) {
      goto while_break___0;
    }
    tmp___0 = oid_to_hex((struct object_id  const  *)(& (rev->item)->object.oid));
    printf((char const   *)"%s\n", tmp___0);
    if (! show_all___0) {
      goto while_break___0;
    }
    rev = rev->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  free_commit_list(result___0);
  return (0);
}
}
static int handle_is_ancestor(int argc , char const   **argv___0 )
{
  struct commit *one___0 ;
  struct commit *two___0 ;
  int tmp ;

  {
  if (argc != 2) {
    die((char const   *)"--is-ancestor takes exactly two commits");
  }
  one___0 = get_commit_reference___0(*(argv___0 + 0));
  two___0 = get_commit_reference___0(*(argv___0 + 1));
  tmp = repo_in_merge_bases(the_repository, one___0, two___0);
  if (tmp) {
    return (0);
  } else {
    return (1);
  }
}
}
static int handle_fork_point(int argc , char const   **argv___0 )
{
  struct object_id oid ;
  struct commit *derived ;
  struct commit *fork_point ;
  char const   *commitname ;
  int tmp ;
  char *tmp___0 ;

  {
  if (argc == 2) {
    commitname = *(argv___0 + 1);
  } else {
    commitname = (char const   *)"HEAD";
  }
  tmp = repo_get_oid(the_repository, commitname, & oid);
  if (tmp) {
    die((char const   *)"Not a valid object name: \'%s\'", commitname);
  }
  derived = lookup_commit_reference(the_repository, (struct object_id  const  *)(& oid));
  fork_point = get_fork_point(*(argv___0 + 0), derived);
  if (! fork_point) {
    return (1);
  }
  tmp___0 = oid_to_hex((struct object_id  const  *)(& fork_point->object.oid));
  printf((char const   *)"%s\n", tmp___0);
  return (0);
}
}
int cmd_merge_base(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct commit **rev ;
  int rev_nr ;
  int show_all___0 ;
  int cmdmode ;
  struct option options[6] ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  int tmp___5 ;
  char const   **tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  rev_nr = 0;
  show_all___0 = 0;
  cmdmode = 0;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 'a';
  options[0].long_name = (char const   *)"all";
  options[0].value = (void *)(& show_all___0);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"output all common ancestors";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"octopus";
  options[1].value = (void *)(& cmdmode);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"find ancestors for a single n-way merge";
  options[1].flags = (enum parse_opt_option_flags )2054;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )'o';
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"independent";
  options[2].value = (void *)(& cmdmode);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"list revs not reachable from others";
  options[2].flags = (enum parse_opt_option_flags )2054;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )'r';
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"is-ancestor";
  options[3].value = (void *)(& cmdmode);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"is the first one ancestor of the other?";
  options[3].flags = (enum parse_opt_option_flags )2054;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )'a';
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"fork-point";
  options[4].value = (void *)(& cmdmode);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"find where <commit> forked from reflog of <ref>";
  options[4].flags = (enum parse_opt_option_flags )2054;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )'f';
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )0;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)0;
  options[5].value = (void *)0;
  options[5].argh = (char const   *)0;
  options[5].help = (char const   *)0;
  options[5].flags = 0U;
  options[5].callback = (parse_opt_cb *)0;
  options[5].defval = 0L;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       merge_base_usage, (enum parse_opt_flags )0);
  if (cmdmode == 97) {
    if (argc < 2) {
      usage_with_options(merge_base_usage, (struct option  const  *)(options));
    }
    if (show_all___0) {
      die((char const   *)"--is-ancestor cannot be used with --all");
    }
    tmp = handle_is_ancestor(argc, argv___0);
    return (tmp);
  }
  if (cmdmode == 114) {
    if (show_all___0) {
      die((char const   *)"--independent cannot be used with --all");
    }
  }
  if (cmdmode == 111) {
    tmp___0 = handle_octopus(argc, argv___0, show_all___0);
    return (tmp___0);
  }
  if (cmdmode == 114) {
    tmp___1 = handle_independent(argc, argv___0);
    return (tmp___1);
  }
  if (cmdmode == 102) {
    if (argc < 1) {
      usage_with_options(merge_base_usage, (struct option  const  *)(options));
    } else
    if (2 < argc) {
      usage_with_options(merge_base_usage, (struct option  const  *)(options));
    }
    tmp___2 = handle_fork_point(argc, argv___0);
    return (tmp___2);
  }
  if (argc < 2) {
    usage_with_options(merge_base_usage, (struct option  const  *)(options));
  }
  tmp___3 = st_mult(sizeof(*rev), (size_t )argc);
  tmp___4 = xmalloc(tmp___3);
  rev = (struct commit **)tmp___4;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___7 = argc;
    argc --;
    if (! (tmp___7 > 0)) {
      goto while_break;
    }
    tmp___5 = rev_nr;
    rev_nr ++;
    tmp___6 = argv___0;
    argv___0 ++;
    *(rev + tmp___5) = get_commit_reference___0(*tmp___6);
  }
  while_break: /* CIL Label */ ;
  }
  tmp___8 = show_merge_base(rev, rev_nr, show_all___0);
  return (tmp___8);
}
}
static char const   *merge_file_usage[2]  = {      (char const   *)"git merge-file [<options>] [-L <name1> [-L <orig> [-L <name2>]]] <file1> <orig-file> <file2>",      (char const   *)((void *)0)};
static int label_cb(struct option  const  *opt___0 , char const   *arg , int unset ) ;
static int label_count  =    0;
static int label_cb(struct option  const  *opt___0 , char const   *arg , int unset )
{
  char const   **names___0 ;
  int tmp ;
  int tmp___0 ;

  {
  names___0 = (char const   **)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/merge-file.c", 18, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (label_count >= 3) {
    error((char const   *)"too many labels on the command line");
    tmp = const_error();
    return (tmp);
  }
  tmp___0 = label_count;
  label_count ++;
  *(names___0 + tmp___0) = arg;
  return (0);
}
}
int cmd_merge_file(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char const   *names___0[3] ;
  mmfile_t mmfs[3] ;
  mmbuffer_t result___0 ;
  xmparam_t xmp ;
  int ret___67 ;
  int i ;
  int to_stdout ;
  int quiet___7 ;
  struct option options[10] ;
  int tmp ;
  FILE *tmp___0 ;
  char *fname ;
  int ret___68 ;
  int tmp___1 ;
  int tmp___2 ;
  char const   *filename___0 ;
  char *fpath ;
  char *tmp___3 ;
  FILE *f ;
  FILE *tmp___4 ;
  struct _IO_FILE *tmp___5 ;
  int tmp___6 ;
  size_t tmp___7 ;

  {
  names___0[0] = (char const   *)((void *)0);
  names___0[1] = (char const   *)((void *)0);
  names___0[2] = (char const   *)((void *)0);
  result___0.ptr = (char *)((void *)0);
  result___0.size = 0L;
  xmp.xpp.flags = 0UL;
  xmp.xpp.ignore_regex = (regex_t **)0;
  xmp.xpp.ignore_regex_nr = 0UL;
  xmp.xpp.anchors = (char **)0;
  xmp.xpp.anchors_nr = 0UL;
  xmp.marker_size = 0;
  xmp.level = 0;
  xmp.favor = 0;
  xmp.style = 0;
  xmp.ancestor = (char const   *)0;
  xmp.file1 = (char const   *)0;
  xmp.file2 = (char const   *)0;
  ret___67 = 0;
  i = 0;
  to_stdout = 0;
  quiet___7 = 0;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 'p';
  options[0].long_name = (char const   *)"stdout";
  options[0].value = (void *)(& to_stdout);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"send results to standard output";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"diff3";
  options[1].value = (void *)(& xmp.style);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"use a diff3 based merge";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"zdiff3";
  options[2].value = (void *)(& xmp.style);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"use a zealous diff3 based merge";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )2;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"ours";
  options[3].value = (void *)(& xmp.favor);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"for conflicts, use our version";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )1;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"theirs";
  options[4].value = (void *)(& xmp.favor);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"for conflicts, use their version";
  options[4].flags = (enum parse_opt_option_flags )2;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )2;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )8;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)"union";
  options[5].value = (void *)(& xmp.favor);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"for conflicts, use a union version";
  options[5].flags = (enum parse_opt_option_flags )2;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )3;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )10;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)"marker-size";
  options[6].value = (void *)(& xmp.marker_size);
  options[6].argh = (char const   *)"n";
  options[6].help = (char const   *)"for conflicts, use this marker size";
  options[6].flags = (enum parse_opt_option_flags )0;
  options[6].callback = (parse_opt_cb *)0;
  options[6].defval = 0L;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )7;
  options[7].short_name = 'q';
  options[7].long_name = (char const   *)"quiet";
  options[7].value = (void *)(& quiet___7);
  options[7].argh = (char const   *)((void *)0);
  options[7].help = (char const   *)"do not warn about conflicts";
  options[7].flags = (enum parse_opt_option_flags )2;
  options[7].callback = (parse_opt_cb *)0;
  options[7].defval = 0L;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )12;
  options[8].short_name = 'L';
  options[8].long_name = (char const   *)((void *)0);
  options[8].value = (void *)(names___0);
  options[8].argh = (char const   *)"name";
  options[8].help = (char const   *)"set labels for file1/orig-file/file2";
  options[8].flags = (enum parse_opt_option_flags )0;
  options[8].callback = & label_cb;
  options[8].defval = 0L;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  options[9].type = (enum parse_opt_type )0;
  options[9].short_name = 0;
  options[9].long_name = (char const   *)0;
  options[9].value = (void *)0;
  options[9].argh = (char const   *)0;
  options[9].help = (char const   *)0;
  options[9].flags = 0U;
  options[9].callback = (parse_opt_cb *)0;
  options[9].defval = 0L;
  options[9].ll_callback = (parse_opt_ll_cb *)0;
  options[9].extra = 0L;
  xmp.level = 3;
  xmp.style = 0;
  xmp.favor = 0;
  if (startup_info->have_repository) {
    git_config(& git_xmerge_config, (void *)0);
    if (0 <= git_xmerge_style) {
      xmp.style = git_xmerge_style;
    }
  }
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       merge_file_usage, (enum parse_opt_flags )0);
  if (argc != 3) {
    usage_with_options(merge_file_usage, (struct option  const  *)(options));
  }
  if (quiet___7) {
    tmp___0 = freopen((char const   * __restrict  )"/dev/null", (char const   * __restrict  )"w",
                      (FILE * __restrict  )stderr);
    if (! tmp___0) {
      error_errno((char const   *)"failed to redirect stderr to /dev/null");
      tmp = const_error();
      return (tmp);
    }
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 3)) {
      goto while_break;
    }
    if (! names___0[i]) {
      names___0[i] = *(argv___0 + i);
    }
    fname = prefix_filename(prefix___1, *(argv___0 + i));
    ret___68 = read_mmfile(mmfs + i, (char const   *)fname);
    free((void *)fname);
    if (ret___68) {
      return (-1);
    }
    if ((unsigned long )mmfs[i].size > 1072693248UL) {
      error((char const   *)"Cannot merge binary files: %s", *(argv___0 + i));
      tmp___1 = const_error();
      return (tmp___1);
    } else {
      tmp___2 = buffer_is_binary((char const   *)mmfs[i].ptr, (unsigned long )mmfs[i].size);
      if (tmp___2) {
        error((char const   *)"Cannot merge binary files: %s", *(argv___0 + i));
        tmp___1 = const_error();
        return (tmp___1);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  xmp.ancestor = names___0[1];
  xmp.file1 = names___0[0];
  xmp.file2 = names___0[2];
  ret___67 = xdl_merge(mmfs + 1, mmfs + 0, mmfs + 2, (xmparam_t const   *)(& xmp),
                       & result___0);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < 3)) {
      goto while_break___0;
    }
    free((void *)mmfs[i].ptr);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (ret___67 >= 0) {
    filename___0 = *(argv___0 + 0);
    tmp___3 = prefix_filename(prefix___1, *(argv___0 + 0));
    fpath = tmp___3;
    if (to_stdout) {
      tmp___5 = stdout;
    } else {
      tmp___4 = git_fopen((char const   *)fpath, (char const   *)"wb");
      tmp___5 = tmp___4;
    }
    f = tmp___5;
    if (! f) {
      error_errno((char const   *)"Could not open %s for writing", filename___0);
      ret___67 = const_error();
    } else
    if (result___0.size) {
      tmp___7 = fwrite((void const   * __restrict  )result___0.ptr, (size_t )result___0.size,
                       (size_t )1, (FILE * __restrict  )f);
      if (tmp___7 != 1UL) {
        error_errno((char const   *)"Could not write to %s", filename___0);
        ret___67 = const_error();
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      tmp___6 = fclose(f);
      if (tmp___6) {
        error_errno((char const   *)"Could not close %s", filename___0);
        ret___67 = const_error();
      }
    }
    free((void *)result___0.ptr);
    free((void *)fpath);
  }
  if (ret___67 > 127) {
    ret___67 = 127;
  }
  return (ret___67);
}
}
static char const   *pgm  ;
static int one_shot  ;
static int quiet___1  ;
static int err___3  ;
static int merge_entry(int pos , char const   *path___6 )
{
  int found ;
  char const   *arguments[9] ;
  char hexbuf[4][65] ;
  char ownbuf[4][60] ;
  struct cache_entry  const  *ce ;
  int stage ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  arguments[0] = pgm;
  arguments[1] = (char const   *)"";
  arguments[2] = (char const   *)"";
  arguments[3] = (char const   *)"";
  arguments[4] = path___6;
  arguments[5] = (char const   *)"";
  arguments[6] = (char const   *)"";
  arguments[7] = (char const   *)"";
  arguments[8] = (char const   *)((void *)0);
  if ((unsigned int )pos >= the_index.cache_nr) {
    die((char const   *)"git merge-index: %s not in the cache", path___6);
  }
  found = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    ce = (struct cache_entry  const  *)*(the_index.cache + pos);
    stage = (int )((12288U & ce->ce_flags) >> 12);
    tmp = strcmp((char const   *)(ce->name), path___6);
    if (tmp) {
      goto while_break;
    }
    found ++;
    oid_to_hex_r(hexbuf[stage], (struct object_id  const  *)(& ce->oid));
    xsnprintf(ownbuf[stage], sizeof(ownbuf[stage]), (char const   *)"%o", ce->ce_mode);
    arguments[stage] = (char const   *)(hexbuf[stage]);
    arguments[stage + 4] = (char const   *)(ownbuf[stage]);
    pos ++;
    if (! ((unsigned int )pos < the_index.cache_nr)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (! found) {
    die((char const   *)"git merge-index: %s not in the cache", path___6);
  }
  tmp___1 = run_command_v_opt(arguments, 0);
  if (tmp___1) {
    if (one_shot) {
      err___3 ++;
    } else {
      if (! quiet___1) {
        die((char const   *)"merge program failed");
      }
      tmp___0 = trace2_cmd_exit_fl((char const   *)"builtin/merge-index.c", 40, 1);
      exit(tmp___0);
    }
  }
  return (found);
}
}
static void merge_one_path(char const   *path___6 )
{
  int pos ;
  size_t tmp ;
  int tmp___0 ;

  {
  tmp = strlen(path___6);
  tmp___0 = index_name_pos(& the_index, path___6, (int )tmp);
  pos = tmp___0;
  if (pos < 0) {
    merge_entry(- pos - 1, path___6);
  }
  return;
}
}
static void merge_all(void)
{
  int i ;
  struct cache_entry  const  *ce ;
  int tmp ;

  {
  ensure_full_index(& the_index);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < the_index.cache_nr)) {
      goto while_break;
    }
    ce = (struct cache_entry  const  *)*(the_index.cache + i);
    if (! ((12288U & ce->ce_flags) >> 12)) {
      goto __Cont;
    }
    tmp = merge_entry(i, (char const   *)(ce->name));
    i += tmp - 1;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int cmd_merge_index(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  int force_file ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *arg ;
  int tmp___2 ;
  int tmp___3 ;

  {
  force_file = 0;
  signal(17, (void (*)(int  ))0);
  if (argc < 3) {
    usage((char const   *)"git merge-index [-o] [-q] <merge-program> (-a | [--] [<filename>...])");
  }
  repo_read_index(the_repository);
  ensure_full_index(& the_index);
  i = 1;
  tmp = strcmp(*(argv___0 + i), (char const   *)"-o");
  if (! tmp) {
    one_shot = 1;
    i ++;
  }
  tmp___0 = strcmp(*(argv___0 + i), (char const   *)"-q");
  if (! tmp___0) {
    quiet___1 = 1;
    i ++;
  }
  tmp___1 = i;
  i ++;
  pgm = *(argv___0 + tmp___1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    arg = *(argv___0 + i);
    if (! force_file) {
      if ((int const   )*arg == 45) {
        tmp___2 = strcmp(arg, (char const   *)"--");
        if (! tmp___2) {
          force_file = 1;
          goto __Cont;
        }
        tmp___3 = strcmp(arg, (char const   *)"-a");
        if (! tmp___3) {
          merge_all();
          goto __Cont;
        }
        die((char const   *)"git merge-index: unknown option %s", arg);
      }
    }
    merge_one_path(arg);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (err___3) {
    if (! quiet___1) {
      die((char const   *)"merge program failed");
    }
  }
  return (err___3);
}
}
static double const   __ac_HASH_UPPER___133  =    (double const   )0.77;
__inline static void kh_resize_oid_set___133(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___133(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___133 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___133 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___133(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___133(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___133(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___133(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___133(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___133(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___133 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___133 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___133(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___133(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___133(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___133(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___133(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___133(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___133 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___133 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___133(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___133(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___133(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___133(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   builtin_merge_ours_usage[45]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'m',      (char const   )'e',      (char const   )'r',      (char const   )'g',
        (char const   )'e',      (char const   )'-',      (char const   )'o',      (char const   )'u',
        (char const   )'r',      (char const   )'s',      (char const   )' ',      (char const   )'<',
        (char const   )'b',      (char const   )'a',      (char const   )'s',      (char const   )'e',
        (char const   )'>',      (char const   )'.',      (char const   )'.',      (char const   )'.',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )' ',
        (char const   )'H',      (char const   )'E',      (char const   )'A',      (char const   )'D',
        (char const   )' ',      (char const   )'<',      (char const   )'r',      (char const   )'e',
        (char const   )'m',      (char const   )'o',      (char const   )'t',      (char const   )'e',
        (char const   )'>',      (char const   )'.',      (char const   )'.',      (char const   )'.',
        (char const   )'\000'};
int cmd_merge_ours(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage(builtin_merge_ours_usage);
    }
  }
  tmp___0 = repo_read_index(the_repository);
  if (tmp___0 < 0) {
    die_errno((char const   *)"read_cache failed");
  }
  tmp___1 = index_differs_from(the_repository, (char const   *)"HEAD", (struct diff_flags  const  *)((void *)0),
                               0);
  if (tmp___1) {
    return (2);
  }
  return (0);
}
}
static char const   builtin_merge_recursive_usage[40]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'%',      (char const   )'s',      (char const   )' ',      (char const   )'<',
        (char const   )'b',      (char const   )'a',      (char const   )'s',      (char const   )'e',
        (char const   )'>',      (char const   )'.',      (char const   )'.',      (char const   )'.',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )' ',
        (char const   )'<',      (char const   )'h',      (char const   )'e',      (char const   )'a',
        (char const   )'d',      (char const   )'>',      (char const   )' ',      (char const   )'<',
        (char const   )'r',      (char const   )'e',      (char const   )'m',      (char const   )'o',
        (char const   )'t',      (char const   )'e',      (char const   )'>',      (char const   )' ',
        (char const   )'.',      (char const   )'.',      (char const   )'.',      (char const   )'\000'};
static char githead_env[73]  ;
static char *better_branch_name(char const   *branch___0 )
{
  char *name___0 ;
  char *tmp ;
  size_t tmp___0 ;
  char const   *tmp___1 ;
  char *tmp___2 ;

  {
  tmp___0 = strlen(branch___0);
  if (tmp___0 != (size_t )(the_repository->hash_algo)->hexsz) {
    tmp = xstrdup(branch___0);
    return (tmp);
  }
  xsnprintf(githead_env, sizeof(githead_env), (char const   *)"GITHEAD_%s", branch___0);
  name___0 = getenv((char const   *)(githead_env));
  if (name___0) {
    tmp___1 = (char const   *)name___0;
  } else {
    tmp___1 = branch___0;
  }
  tmp___2 = xstrdup(tmp___1);
  return (tmp___2);
}
}
int cmd_merge_recursive(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct object_id  const  *bases[21] ;
  unsigned int bases_count ;
  int i ;
  int failed ;
  struct object_id h1 ;
  struct object_id h2 ;
  struct merge_options___0 o ;
  char *better1 ;
  char *better2 ;
  struct commit *result___0 ;
  int tmp ;
  char const   *arg ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  struct object_id *oid ;
  void *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  unsigned int tmp___6 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;

  {
  bases_count = 0U;
  init_merge_options(& o, the_repository);
  if (*(argv___0 + 0)) {
    tmp = ends_with(*(argv___0 + 0), (char const   *)"-subtree");
    if (tmp) {
      o.subtree_shift = (char const   *)"";
    }
  }
  if (argc < 4) {
    usagef(builtin_merge_recursive_usage, *(argv___0 + 0));
  }
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    arg = *(argv___0 + i);
    tmp___2 = starts_with(arg, (char const   *)"--");
    if (tmp___2) {
      if (! *(arg + 2)) {
        goto while_break;
      }
      tmp___1 = parse_merge_opt(& o, arg + 2);
      if (tmp___1) {
        tmp___0 = _((char const   *)"unknown option %s");
        die((char const   *)tmp___0, arg);
      }
      goto __Cont;
    }
    if ((unsigned long )bases_count < (sizeof(bases) / sizeof(bases[0]) + (sizeof(char [1]) - 1UL)) - 1UL) {
      tmp___3 = xmalloc(sizeof(struct object_id ));
      oid = (struct object_id *)tmp___3;
      tmp___5 = repo_get_oid(the_repository, *(argv___0 + i), oid);
      if (tmp___5) {
        tmp___4 = _((char const   *)"could not parse object \'%s\'");
        die((char const   *)tmp___4, *(argv___0 + i));
      }
      tmp___6 = bases_count;
      bases_count ++;
      bases[tmp___6] = (struct object_id  const  *)oid;
    } else {
      tmp___7 = Q_((char const   *)"cannot handle more than %d base. Ignoring %s.",
                   (char const   *)"cannot handle more than %d bases. Ignoring %s.",
                   (unsigned long )((int )(sizeof(bases) / sizeof(bases[0]) + (sizeof(char [1]) - 1UL)) - 1));
      warning((char const   *)tmp___7, (int )(sizeof(bases) / sizeof(bases[0]) + (sizeof(char [1]) - 1UL)) - 1,
              *(argv___0 + i));
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (argc - i != 3) {
    tmp___8 = _((char const   *)"not handling anything other than two heads merge.");
    die((char const   *)tmp___8);
  }
  tmp___9 = repo_read_index_unmerged(the_repository);
  if (tmp___9) {
    die_resolve_conflict((char const   *)"merge");
  }
  i ++;
  o.branch1 = *(argv___0 + i);
  i ++;
  o.branch2 = *(argv___0 + i);
  tmp___11 = repo_get_oid(the_repository, o.branch1, & h1);
  if (tmp___11) {
    tmp___10 = _((char const   *)"could not resolve ref \'%s\'");
    die((char const   *)tmp___10, o.branch1);
  }
  tmp___13 = repo_get_oid(the_repository, o.branch2, & h2);
  if (tmp___13) {
    tmp___12 = _((char const   *)"could not resolve ref \'%s\'");
    die((char const   *)tmp___12, o.branch2);
  }
  better1 = better_branch_name(o.branch1);
  o.branch1 = (char const   *)better1;
  better2 = better_branch_name(o.branch2);
  o.branch2 = (char const   *)better2;
  if (o.verbosity >= 3) {
    tmp___14 = _((char const   *)"Merging %s with %s\n");
    printf((char const   *)tmp___14, o.branch1, o.branch2);
  }
  failed = merge_recursive_generic(& o, (struct object_id  const  *)(& h1), (struct object_id  const  *)(& h2),
                                   (int )bases_count, bases, & result___0);
  free((void *)better1);
  free((void *)better2);
  if (failed < 0) {
    return (128);
  }
  return (failed);
}
}
static double const   __ac_HASH_UPPER___134  =    (double const   )0.77;
__inline static void kh_resize_oid_set___134(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___134(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___134 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___134 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___134(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___134(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___134(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___134(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___134(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___134(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___134 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___134 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___134(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___134(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___134(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___134(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___134(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___134(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___134 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___134 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___134(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___134(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___134(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___134(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___99(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___99(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___134 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___134 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___99(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___99(kh_odb_path_map_t *h , char const   *key___1 ,
                                                 int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___99(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___99(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   merge_tree_usage[47]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'m',      (char const   )'e',      (char const   )'r',      (char const   )'g',
        (char const   )'e',      (char const   )'-',      (char const   )'t',      (char const   )'r',
        (char const   )'e',      (char const   )'e',      (char const   )' ',      (char const   )'<',
        (char const   )'b',      (char const   )'a',      (char const   )'s',      (char const   )'e',
        (char const   )'-',      (char const   )'t',      (char const   )'r',      (char const   )'e',
        (char const   )'e',      (char const   )'>',      (char const   )' ',      (char const   )'<',
        (char const   )'b',      (char const   )'r',      (char const   )'a',      (char const   )'n',
        (char const   )'c',      (char const   )'h',      (char const   )'1',      (char const   )'>',
        (char const   )' ',      (char const   )'<',      (char const   )'b',      (char const   )'r',
        (char const   )'a',      (char const   )'n',      (char const   )'c',      (char const   )'h',
        (char const   )'2',      (char const   )'>',      (char const   )'\000'};
static struct merge_list *merge_result  ;
static struct merge_list **merge_result_end  =    & merge_result;
static void add_merge_entry(struct merge_list *entry )
{


  {
  *merge_result_end = entry;
  merge_result_end = & entry->next;
  return;
}
}
static void merge_trees___0(struct tree_desc *t , char const   *base ) ;
static char const   *explanation(struct merge_list *entry )
{


  {
  {
  if (entry->stage == 0U) {
    goto case_0;
  }
  if (entry->stage == 3U) {
    goto case_3;
  }
  if (entry->stage == 2U) {
    goto case_2;
  }
  goto switch_break;
  case_0: /* CIL Label */
  return ((char const   *)"merged");
  case_3: /* CIL Label */
  return ((char const   *)"added in remote");
  case_2: /* CIL Label */
  if (entry->link) {
    return ((char const   *)"added in both");
  }
  return ((char const   *)"added in local");
  switch_break: /* CIL Label */ ;
  }
  entry = entry->link;
  if (! entry) {
    return ((char const   *)"removed in both");
  }
  if (entry->link) {
    return ((char const   *)"changed in both");
  }
  if (entry->stage == 3U) {
    return ((char const   *)"removed in local");
  }
  return ((char const   *)"removed in remote");
}
}
static void *result(struct merge_list *entry , unsigned long *size )
{
  enum object_type type___0 ;
  struct blob *base ;
  struct blob *our ;
  struct blob *their ;
  char const   *path___6 ;
  void *tmp ;
  void *tmp___0 ;

  {
  path___6 = entry->path;
  if (! entry->stage) {
    tmp = repo_read_object_file(the_repository, (struct object_id  const  *)(& (entry->blob)->object.oid),
                                & type___0, size);
    return (tmp);
  }
  base = (struct blob *)((void *)0);
  if (entry->stage == 1U) {
    base = entry->blob;
    entry = entry->link;
  }
  our = (struct blob *)((void *)0);
  if (entry) {
    if (entry->stage == 2U) {
      our = entry->blob;
      entry = entry->link;
    }
  }
  their = (struct blob *)((void *)0);
  if (entry) {
    their = entry->blob;
  }
  tmp___0 = merge_blobs(the_repository->index, path___6, base, our, their, size);
  return (tmp___0);
}
}
static void *origin(struct merge_list *entry , unsigned long *size )
{
  enum object_type type___0 ;
  void *tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! entry) {
      goto while_break;
    }
    if (entry->stage == 2U) {
      tmp = repo_read_object_file(the_repository, (struct object_id  const  *)(& (entry->blob)->object.oid),
                                  & type___0, size);
      return (tmp);
    }
    entry = entry->link;
  }
  while_break: /* CIL Label */ ;
  }
  return ((void *)0);
}
}
static int show_outf(void *priv_ , mmbuffer_t *mb , int nbuf )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nbuf)) {
      goto while_break;
    }
    printf((char const   *)"%.*s", (int )(mb + i)->size, (mb + i)->ptr);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void show_diff(struct merge_list *entry )
{
  unsigned long size ;
  mmfile_t src ;
  mmfile_t dst ;
  xpparam_t xpp ;
  xdemitconf_t xecfg ;
  xdemitcb_t ecb ;
  void *tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  ecb.priv = (void *)0;
  ecb.out_hunk = (int (*)(void * , long old_begin , long old_nr , long new_begin ,
                          long new_nr , char const   *func , long funclen ))0;
  ecb.out_line = & show_outf;
  memset((void *)(& xpp), 0, sizeof(xpp));
  xpp.flags = 0UL;
  memset((void *)(& xecfg), 0, sizeof(xecfg));
  xecfg.ctxlen = 3L;
  tmp = origin(entry, & size);
  src.ptr = (char *)tmp;
  if (! src.ptr) {
    size = 0UL;
  }
  src.size = (long )size;
  tmp___0 = result(entry, & size);
  dst.ptr = (char *)tmp___0;
  if (! dst.ptr) {
    size = 0UL;
  }
  dst.size = (long )size;
  tmp___1 = xdi_diff(& src, & dst, (xpparam_t const   *)(& xpp), (xdemitconf_t const   *)(& xecfg),
                     & ecb);
  if (tmp___1) {
    die((char const   *)"unable to generate diff");
  }
  free((void *)src.ptr);
  free((void *)dst.ptr);
  return;
}
}
static void show_result_list(struct merge_list *entry ) ;
static char const   *desc[4]  = {      (char const   *)"result",      (char const   *)"base",      (char const   *)"our",      (char const   *)"their"};
static void show_result_list(struct merge_list *entry )
{
  char const   *tmp ;
  struct merge_list *link___1 ;
  char *tmp___0 ;

  {
  tmp = explanation(entry);
  printf((char const   *)"%s\n", tmp);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    link___1 = entry->link;
    tmp___0 = oid_to_hex((struct object_id  const  *)(& (entry->blob)->object.oid));
    printf((char const   *)"  %-6s %o %s %s\n", desc[entry->stage], entry->mode, tmp___0,
           entry->path);
    entry = link___1;
    if (! entry) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void show_result(void)
{
  struct merge_list *walk ;

  {
  walk = merge_result;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! walk) {
      goto while_break;
    }
    show_result_list(walk);
    show_diff(walk);
    walk = walk->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int same_entry(struct name_entry *a , struct name_entry *b___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = is_null_oid((struct object_id  const  *)(& a->oid));
  if (tmp) {
    tmp___2 = 0;
  } else {
    tmp___0 = is_null_oid((struct object_id  const  *)(& b___0->oid));
    if (tmp___0) {
      tmp___2 = 0;
    } else {
      tmp___1 = oideq((struct object_id  const  *)(& a->oid), (struct object_id  const  *)(& b___0->oid));
      if (tmp___1) {
        if (a->mode == b___0->mode) {
          tmp___2 = 1;
        } else {
          tmp___2 = 0;
        }
      } else {
        tmp___2 = 0;
      }
    }
  }
  return (tmp___2);
}
}
static int both_empty(struct name_entry *a , struct name_entry *b___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = is_null_oid((struct object_id  const  *)(& a->oid));
  if (tmp) {
    tmp___0 = is_null_oid((struct object_id  const  *)(& b___0->oid));
    if (tmp___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static struct merge_list *create_entry___0(unsigned int stage , unsigned int mode___1 ,
                                           struct object_id  const  *oid , char const   *path___6 )
{
  struct merge_list *res ;
  void *tmp ;

  {
  tmp = xcalloc((size_t )1, sizeof(*res));
  res = (struct merge_list *)tmp;
  res->stage = stage;
  res->path = path___6;
  res->mode = mode___1;
  res->blob = lookup_blob(the_repository, oid);
  return (res);
}
}
static char *traverse_path(struct traverse_info  const  *info___0 , struct name_entry  const  *n )
{
  struct strbuf buf___19 ;
  char *tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  strbuf_make_traverse_path(& buf___19, info___0, (char const   *)n->path, (size_t )n->pathlen);
  tmp = strbuf_detach(& buf___19, (size_t *)((void *)0));
  return (tmp);
}
}
static void resolve(struct traverse_info  const  *info___0 , struct name_entry *ours ,
                    struct name_entry *result___0 )
{
  struct merge_list *orig ;
  struct merge_list *final___0 ;
  char const   *path___6 ;
  char *tmp ;

  {
  if (! ours) {
    return;
  }
  tmp = traverse_path(info___0, (struct name_entry  const  *)result___0);
  path___6 = (char const   *)tmp;
  orig = create_entry___0(2U, ours->mode, (struct object_id  const  *)(& ours->oid),
                          path___6);
  final___0 = create_entry___0(0U, result___0->mode, (struct object_id  const  *)(& result___0->oid),
                               path___6);
  final___0->link = orig;
  add_merge_entry(final___0);
  return;
}
}
static void unresolved_directory(struct traverse_info  const  *info___0 , struct name_entry *n )
{
  struct repository *r ;
  char *newbase ;
  struct name_entry *p___0 ;
  struct tree_desc t[3] ;
  void *buf0 ;
  void *buf1 ;
  void *buf2 ;
  struct object_id *tmp ;
  struct object_id *tmp___0 ;
  struct object_id *tmp___1 ;

  {
  r = the_repository;
  p___0 = (struct name_entry *)n;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )p___0 < (unsigned long )(n + 3))) {
      goto while_break;
    }
    if (p___0->mode) {
      if ((p___0->mode & 61440U) == 16384U) {
        goto while_break;
      }
    }
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned long )(n + 3) <= (unsigned long )p___0) {
    return;
  }
  newbase = traverse_path(info___0, (struct name_entry  const  *)p___0);
  if ((n + 0)->mode) {
    if (((n + 0)->mode & 61440U) == 16384U) {
      tmp = & (n + 0)->oid;
    } else {
      tmp = (struct object_id *)((void *)0);
    }
  } else {
    tmp = (struct object_id *)((void *)0);
  }
  buf0 = fill_tree_descriptor(r, t + 0, (struct object_id  const  *)tmp);
  if ((n + 1)->mode) {
    if (((n + 1)->mode & 61440U) == 16384U) {
      tmp___0 = & (n + 1)->oid;
    } else {
      tmp___0 = (struct object_id *)((void *)0);
    }
  } else {
    tmp___0 = (struct object_id *)((void *)0);
  }
  buf1 = fill_tree_descriptor(r, t + 1, (struct object_id  const  *)tmp___0);
  if ((n + 2)->mode) {
    if (((n + 2)->mode & 61440U) == 16384U) {
      tmp___1 = & (n + 2)->oid;
    } else {
      tmp___1 = (struct object_id *)((void *)0);
    }
  } else {
    tmp___1 = (struct object_id *)((void *)0);
  }
  buf2 = fill_tree_descriptor(r, t + 2, (struct object_id  const  *)tmp___1);
  merge_trees___0((struct tree_desc *)(t), (char const   *)newbase);
  free(buf0);
  free(buf1);
  free(buf2);
  free((void *)newbase);
  return;
}
}
static struct merge_list *link_entry(unsigned int stage , struct traverse_info  const  *info___0 ,
                                     struct name_entry *n , struct merge_list *entry )
{
  char const   *path___6 ;
  struct merge_list *link___1 ;
  char *tmp ;

  {
  if (! n->mode) {
    return (entry);
  }
  if (entry) {
    path___6 = entry->path;
  } else {
    tmp = traverse_path(info___0, (struct name_entry  const  *)n);
    path___6 = (char const   *)tmp;
  }
  link___1 = create_entry___0(stage, n->mode, (struct object_id  const  *)(& n->oid),
                              path___6);
  link___1->link = entry;
  return (link___1);
}
}
static void unresolved(struct traverse_info  const  *info___0 , struct name_entry *n )
{
  struct merge_list *entry ;
  int i ;
  unsigned int dirmask ;
  unsigned int mask ;

  {
  entry = (struct merge_list *)((void *)0);
  dirmask = 0U;
  mask = 0U;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 3)) {
      goto while_break;
    }
    mask |= (unsigned int )(1 << i);
    if (! (n + i)->mode) {
      dirmask |= (unsigned int )(1 << i);
    } else
    if (((n + i)->mode & 61440U) == 16384U) {
      dirmask |= (unsigned int )(1 << i);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  unresolved_directory(info___0, n);
  if (dirmask == mask) {
    return;
  }
  if ((n + 2)->mode) {
    if (! (((n + 2)->mode & 61440U) == 16384U)) {
      entry = link_entry(3U, info___0, (struct name_entry *)(n + 2), entry);
    }
  }
  if ((n + 1)->mode) {
    if (! (((n + 1)->mode & 61440U) == 16384U)) {
      entry = link_entry(2U, info___0, (struct name_entry *)(n + 1), entry);
    }
  }
  if ((n + 0)->mode) {
    if (! (((n + 0)->mode & 61440U) == 16384U)) {
      entry = link_entry(1U, info___0, (struct name_entry *)(n + 0), entry);
    }
  }
  add_merge_entry(entry);
  return;
}
}
static int threeway_callback(int n , unsigned long mask , unsigned long dirmask ,
                             struct name_entry *entry , struct traverse_info *info___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp = same_entry(entry + 1, entry + 2);
  if (tmp) {
    resolve((struct traverse_info  const  *)info___0, (struct name_entry *)((void *)0),
            entry + 1);
    return ((int )mask);
  } else {
    tmp___0 = both_empty(entry + 1, entry + 2);
    if (tmp___0) {
      resolve((struct traverse_info  const  *)info___0, (struct name_entry *)((void *)0),
              entry + 1);
      return ((int )mask);
    }
  }
  tmp___2 = same_entry(entry + 0, entry + 1);
  if (tmp___2) {
    tmp___1 = is_null_oid((struct object_id  const  *)(& (entry + 2)->oid));
    if (! tmp___1) {
      if (! (((entry + 2)->mode & 61440U) == 16384U)) {
        resolve((struct traverse_info  const  *)info___0, entry + 1, entry + 2);
        return ((int )mask);
      }
    }
  }
  tmp___3 = same_entry(entry + 0, entry + 2);
  if (tmp___3) {
    resolve((struct traverse_info  const  *)info___0, (struct name_entry *)((void *)0),
            entry + 1);
    return ((int )mask);
  } else {
    tmp___4 = both_empty(entry + 0, entry + 2);
    if (tmp___4) {
      resolve((struct traverse_info  const  *)info___0, (struct name_entry *)((void *)0),
              entry + 1);
      return ((int )mask);
    }
  }
  unresolved((struct traverse_info  const  *)info___0, (struct name_entry *)entry);
  return ((int )mask);
}
}
static void merge_trees___0(struct tree_desc *t , char const   *base )
{
  struct traverse_info info___0 ;

  {
  setup_traverse_info(& info___0, base);
  info___0.fn = & threeway_callback;
  traverse_trees(& the_index, 3, (struct tree_desc *)t, & info___0);
  return;
}
}
static void *get_tree_descriptor(struct repository *r , struct tree_desc *desc___0 ,
                                 char const   *rev )
{
  struct object_id oid ;
  void *buf___19 ;
  int tmp ;

  {
  tmp = repo_get_oid(r, rev, & oid);
  if (tmp) {
    die((char const   *)"unknown rev %s", rev);
  }
  buf___19 = fill_tree_descriptor(r, desc___0, (struct object_id  const  *)(& oid));
  if (! buf___19) {
    die((char const   *)"%s is not a tree", rev);
  }
  return (buf___19);
}
}
int cmd_merge_tree(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct repository *r ;
  struct tree_desc t[3] ;
  void *buf1 ;
  void *buf2 ;
  void *buf3 ;

  {
  r = the_repository;
  if (argc != 4) {
    usage(merge_tree_usage);
  }
  buf1 = get_tree_descriptor(r, t + 0, *(argv___0 + 1));
  buf2 = get_tree_descriptor(r, t + 1, *(argv___0 + 2));
  buf3 = get_tree_descriptor(r, t + 2, *(argv___0 + 3));
  merge_trees___0((struct tree_desc *)(t), (char const   *)"");
  free(buf1);
  free(buf2);
  free(buf3);
  show_result();
  return (0);
}
}
static double const   __ac_HASH_UPPER___135  =    (double const   )0.77;
__inline static void kh_resize_oid_set___135(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___135(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___135 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___135 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___135(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___135(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___135(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___135(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___135(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___135(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___135 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___135 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___135(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___135(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___135(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___135(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___135(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___135(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___135 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___135 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___135(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___135(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___135(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___135(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_contains_cache_with_stride___23(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___23(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___23(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___23(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___23(s___1, 1U);
  return;
}
}
static void clear_contains_cache___23(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___23(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___23(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___23(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___23(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___23(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___23(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___23(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___23(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___23(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___23(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___23(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___23(s___1, c___0, 0);
  return (tmp);
}
}
__inline static void kh_resize_odb_path_map___100(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___100(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___135 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___135 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___100(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___100(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___100(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___100(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *builtin_merge_usage[4]  = {      (char const   *)"git merge [<options>] [<commit>...]",      (char const   *)"git merge --abort",      (char const   *)"git merge --continue",      (char const   *)((void *)0)};
static int show_diffstat___0  =    1;
static int shortlog_len  =    -1;
static int squash  ;
static int option_commit  =    -1;
static int option_edit  =    -1;
static int allow_trivial  =    1;
static int have_message  ;
static int verify_signatures  ;
static int check_trust_level  =    1;
static int overwrite_ignore  =    1;
static struct strbuf merge_msg  =    {0UL, 0UL, strbuf_slopbuf};
static struct strategy **use_strategies  ;
static size_t use_strategies_nr  ;
static size_t use_strategies_alloc  ;
static char const   **xopts  ;
static size_t xopts_nr  ;
static size_t xopts_alloc  ;
static char const   *branch  ;
static char *branch_mergeoptions  ;
static int verbosity___1  ;
static int allow_rerere_auto  ;
static int abort_current_merge  ;
static int quit_current_merge  ;
static int continue_current_merge  ;
static int allow_unrelated_histories  ;
static int show_progress___2  =    -1;
static int default_to_upstream  =    1;
static int signoff___0  ;
static char const   *sign_commit___1  ;
static int autostash  ;
static int no_verify___0  ;
static char *into_name  ;
static struct strategy all_strategy[6]  = {      {(char const   *)"recursive", (unsigned int )(1 << 3)},
        {(char const   *)"octopus", (unsigned int )(1 << 1)},
        {(char const   *)"ort", (unsigned int )(1 | (1 << 3))},
        {(char const   *)"resolve", 0U},
        {(char const   *)"ours", (unsigned int )((1 << 2) | (1 << 3))},
        {(char const   *)"subtree", (unsigned int )((1 << 2) | (1 << 3))}};
static char const   *pull_twohead  ;
static char const   *pull_octopus  ;
static enum ff_type fast_forward  =    (enum ff_type )1;
static char const   *cleanup_arg___0  ;
static enum commit_msg_cleanup_mode cleanup_mode___0  ;
static int option_parse_message(struct option  const  *opt___0 , char const   *arg ,
                                int unset )
{
  struct strbuf *buf___19 ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  buf___19 = (struct strbuf *)opt___0->value;
  if (unset) {
    strbuf_setlen___33(buf___19, (size_t )0);
  } else
  if (arg) {
    if (buf___19->len) {
      tmp = "\n\n";
    } else {
      tmp = "";
    }
    strbuf_addf(buf___19, (char const   *)"%s%s", tmp, arg);
    have_message = 1;
  } else {
    tmp___0 = _((char const   *)"switch `m\' requires a value");
    error((char const   *)tmp___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  return (0);
}
}
static enum parse_opt_result option_read_message(struct parse_opt_ctx_t *ctx___0 ,
                                                 struct option  const  *opt___0 ,
                                                 char const   *arg_not_used , int unset )
{
  struct strbuf *buf___19 ;
  char const   *arg ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  ssize_t tmp___5 ;

  {
  buf___19 = (struct strbuf *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (arg_not_used) {
      BUG_fl((char const   *)"builtin/merge.c", 137, (char const   *)"option callback does not expect an argument");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (unset) {
    BUG_fl((char const   *)"builtin/merge.c", 139, (char const   *)"-F cannot be negated");
  }
  if (ctx___0->opt) {
    arg = ctx___0->opt;
    ctx___0->opt = (char const   *)((void *)0);
  } else
  if (ctx___0->argc > 1) {
    (ctx___0->argc) --;
    (ctx___0->argv) ++;
    arg = *(ctx___0->argv);
  } else {
    tmp = _((char const   *)"option `%s\' requires a value");
    error((char const   *)tmp, opt___0->long_name);
    tmp___0 = const_error();
    return ((enum parse_opt_result )tmp___0);
  }
  if (buf___19->len) {
    strbuf_addch(buf___19, '\n');
  }
  if (ctx___0->prefix) {
    tmp___2 = is_absolute_path(arg);
    if (! tmp___2) {
      tmp___1 = prefix_filename(ctx___0->prefix, arg);
      arg = (char const   *)tmp___1;
    }
  }
  tmp___5 = strbuf_read_file(buf___19, arg, (size_t )0);
  if (tmp___5 < 0L) {
    tmp___3 = _((char const   *)"could not read file \'%s\'");
    error((char const   *)tmp___3, arg);
    tmp___4 = const_error();
    return ((enum parse_opt_result )tmp___4);
  }
  have_message = 1;
  return ((enum parse_opt_result )0);
}
}
static struct cmdnames main_cmds___0  ;
static struct cmdnames other_cmds___0  ;
static int loaded  ;
static struct strategy *get_strategy(char const   *name___0 )
{
  int i ;
  struct strategy *ret___67 ;
  char *default_strategy ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  struct cmdnames not_strategies ;
  int j ;
  int found ;
  struct cmdname *ent ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  void *tmp___10 ;
  char *tmp___11 ;

  {
  tmp = getenv((char const   *)"GIT_TEST_MERGE_ALGORITHM");
  default_strategy = tmp;
  if (! name___0) {
    return ((struct strategy *)((void *)0));
  }
  if (default_strategy) {
    tmp___0 = strcmp((char const   *)default_strategy, (char const   *)"ort");
    if (! tmp___0) {
      tmp___1 = strcmp(name___0, (char const   *)"recursive");
      if (! tmp___1) {
        name___0 = (char const   *)"ort";
      }
    }
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(all_strategy) / sizeof(all_strategy[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp___2 = strcmp(name___0, all_strategy[i].name);
    if (! tmp___2) {
      return (& all_strategy[i]);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! loaded) {
    loaded = 1;
    memset((void *)(& not_strategies), 0, sizeof(struct cmdnames ));
    load_command_list((char const   *)"git-merge-", & main_cmds___0, & other_cmds___0);
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < main_cmds___0.cnt)) {
        goto while_break___0;
      }
      found = 0;
      ent = *(main_cmds___0.names + i);
      j = 0;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! ((unsigned long )j < sizeof(all_strategy) / sizeof(all_strategy[0]) + (sizeof(char [1]) - 1UL))) {
          goto while_break___1;
        }
        tmp___3 = strncmp((char const   *)(ent->name), all_strategy[j].name, ent->len);
        if (! tmp___3) {
          if (! *(all_strategy[j].name + ent->len)) {
            found = 1;
          }
        }
        j ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      if (! found) {
        add_cmdname(& not_strategies, (char const   *)(ent->name), (int )ent->len);
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    exclude_cmds(& main_cmds___0, & not_strategies);
  }
  tmp___8 = is_in_cmdlist(& main_cmds___0, name___0);
  if (! tmp___8) {
    tmp___9 = is_in_cmdlist(& other_cmds___0, name___0);
    if (! tmp___9) {
      tmp___4 = _((char const   *)"Could not find merge strategy \'%s\'.\n");
      fprintf(stderr, (char const   *)tmp___4, name___0);
      tmp___5 = _((char const   *)"Available strategies are:");
      fprintf(stderr, (char const   *)tmp___5);
      i = 0;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (! (i < main_cmds___0.cnt)) {
          goto while_break___2;
        }
        fprintf(stderr, (char const   *)" %s", (*(main_cmds___0.names + i))->name);
        i ++;
      }
      while_break___2: /* CIL Label */ ;
      }
      fprintf(stderr, (char const   *)".\n");
      if (other_cmds___0.cnt) {
        tmp___6 = _((char const   *)"Available custom strategies are:");
        fprintf(stderr, (char const   *)tmp___6);
        i = 0;
        {
        while (1) {
          while_continue___3: /* CIL Label */ ;
          if (! (i < other_cmds___0.cnt)) {
            goto while_break___3;
          }
          fprintf(stderr, (char const   *)" %s", (*(other_cmds___0.names + i))->name);
          i ++;
        }
        while_break___3: /* CIL Label */ ;
        }
        fprintf(stderr, (char const   *)".\n");
      }
      tmp___7 = trace2_cmd_exit_fl((char const   *)"builtin/merge.c", 212, 1);
      exit(tmp___7);
    }
  }
  tmp___10 = xcalloc((size_t )1, sizeof(*ret___67));
  ret___67 = (struct strategy *)tmp___10;
  tmp___11 = xstrdup(name___0);
  ret___67->name = (char const   *)tmp___11;
  ret___67->attr = (unsigned int )(1 << 3);
  return (ret___67);
}
}
static void append_strategy(struct strategy *s___1 )
{
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (use_strategies_nr + 1UL > use_strategies_alloc) {
      if (((use_strategies_alloc + 16UL) * 3UL) / 2UL < use_strategies_nr + 1UL) {
        use_strategies_alloc = use_strategies_nr + 1UL;
      } else {
        use_strategies_alloc = ((use_strategies_alloc + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*use_strategies), use_strategies_alloc);
      tmp___0 = xrealloc((void *)use_strategies, tmp);
      use_strategies = (struct strategy **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = use_strategies_nr;
  use_strategies_nr ++;
  *(use_strategies + tmp___1) = s___1;
  return;
}
}
static int option_parse_strategy(struct option  const  *opt___0 , char const   *name___0 ,
                                 int unset )
{
  struct strategy *tmp ;

  {
  if (unset) {
    return (0);
  }
  tmp = get_strategy(name___0);
  append_strategy(tmp);
  return (0);
}
}
static int option_parse_x(struct option  const  *opt___0 , char const   *arg , int unset )
{
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  char *tmp___2 ;

  {
  if (unset) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (xopts_nr + 1UL > xopts_alloc) {
      if (((xopts_alloc + 16UL) * 3UL) / 2UL < xopts_nr + 1UL) {
        xopts_alloc = xopts_nr + 1UL;
      } else {
        xopts_alloc = ((xopts_alloc + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*xopts), xopts_alloc);
      tmp___0 = xrealloc((void *)xopts, tmp);
      xopts = (char const   **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = xopts_nr;
  xopts_nr ++;
  tmp___2 = xstrdup(arg);
  *(xopts + tmp___1) = (char const   *)tmp___2;
  return (0);
}
}
static int option_parse_n(struct option  const  *opt___0 , char const   *arg , int unset )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/merge.c", 251, (char const   *)"option callback does not expect an argument");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  show_diffstat___0 = unset;
  return (0);
}
}
static struct option builtin_merge_options[30]  =
  {      {(enum parse_opt_type )12, 'n', (char const   *)((void *)0), (void *)0, (char const   *)((void *)0),
      (char const   *)"do not show a diffstat at the end of the merge", (enum parse_opt_option_flags )2,
      & option_parse_n, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"stat", (void *)(& show_diffstat___0),
      (char const   *)((void *)0), (char const   *)"show a diffstat at the end of the merge",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"summary", (void *)(& show_diffstat___0),
      (char const   *)((void *)0), (char const   *)"(synonym to --stat)", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )10, 0, (char const   *)"log", (void *)(& shortlog_len),
      (char const   *)"n", (char const   *)"add (at most <n>) entries from shortlog to merge commit message",
      (enum parse_opt_option_flags )1, (parse_opt_cb *)((void *)0), (intptr_t )20,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"squash", (void *)(& squash), (char const   *)((void *)0),
      (char const   *)"create a single commit instead of doing a merge", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"commit", (void *)(& option_commit),
      (char const   *)((void *)0), (char const   *)"perform a commit if the merge succeeds (default)",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'e', (char const   *)"edit", (void *)(& option_edit),
      (char const   *)((void *)0), (char const   *)"edit message before committing",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 0, (char const   *)"cleanup", (void *)(& cleanup_arg___0),
      (char const   *)"mode", (char const   *)"how to strip spaces and #comments from message",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )8, 0, (char const   *)"ff", (void *)(& fast_forward),
      (char const   *)((void *)0), (char const   *)"allow fast-forward (default)",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"ff-only", (void *)(& fast_forward),
      (char const   *)((void *)0), (char const   *)"abort if fast-forward is not possible",
      (enum parse_opt_option_flags )6, (parse_opt_cb *)((void *)0), (intptr_t )2,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"rerere-autoupdate", (void *)(& allow_rerere_auto),
      (char const   *)((void *)0), (char const   *)"update the index with reused conflict resolution if possible",
      (enum parse_opt_option_flags )2, & parse_opt_tertiary, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )8, 0, (char const   *)"verify-signatures", (void *)(& verify_signatures),
      (char const   *)((void *)0), (char const   *)"verify that the named commit has a valid GPG signature",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 's', (char const   *)"strategy", (void *)(& use_strategies),
      (char const   *)"strategy", (char const   *)"merge strategy to use", (enum parse_opt_option_flags )0,
      & option_parse_strategy, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 'X', (char const   *)"strategy-option", (void *)(& xopts),
      (char const   *)"option=value", (char const   *)"option for selected merge strategy",
      (enum parse_opt_option_flags )0, & option_parse_x, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 'm', (char const   *)"message", (void *)(& merge_msg),
      (char const   *)"message", (char const   *)"merge commit message (for a non-fast-forward merge)",
      (enum parse_opt_option_flags )0, & option_parse_message, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )13, 'F', (char const   *)"file", (void *)(& merge_msg),
      (char const   *)"path", (char const   *)"read message from file", (enum parse_opt_option_flags )4,
      (parse_opt_cb *)((void *)0), (intptr_t )0, & option_read_message, 0L},
        {(enum parse_opt_type )9, 0, (char const   *)"into-name", (void *)(& into_name),
      (char const   *)"name", (char const   *)"use <name> instead of the real target",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 'v', (char const   *)"verbose", (void *)(& verbosity___1),
      (char const   *)((void *)0), (char const   *)"be more verbose", (enum parse_opt_option_flags )2,
      & parse_opt_verbosity_cb, (intptr_t )0, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 'q', (char const   *)"quiet", (void *)(& verbosity___1),
      (char const   *)((void *)0), (char const   *)"be more quiet", (enum parse_opt_option_flags )2,
      & parse_opt_verbosity_cb, (intptr_t )0, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"abort", (void *)(& abort_current_merge),
      (char const   *)((void *)0), (char const   *)"abort the current in-progress merge",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"quit", (void *)(& quit_current_merge),
      (char const   *)((void *)0), (char const   *)"--abort but leave index and working tree alone",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"continue", (void *)(& continue_current_merge),
      (char const   *)((void *)0), (char const   *)"continue the current in-progress merge",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"allow-unrelated-histories", (void *)(& allow_unrelated_histories),
      (char const   *)((void *)0), (char const   *)"allow merging unrelated histories",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"progress", (void *)(& show_progress___2),
      (char const   *)((void *)0), (char const   *)"force progress reporting", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 'S', (char const   *)"gpg-sign", (void *)(& sign_commit___1),
      (char const   *)"key-id", (char const   *)"GPG sign commit", (enum parse_opt_option_flags )1,
      (parse_opt_cb *)((void *)0), (intptr_t )"", (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"autostash", (void *)(& autostash),
      (char const   *)((void *)0), (char const   *)"automatically stash/stash pop before and after",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"overwrite-ignore", (void *)(& overwrite_ignore),
      (char const   *)((void *)0), (char const   *)"update ignored files (default)",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"signoff", (void *)(& signoff___0),
      (char const   *)((void *)0), (char const   *)"add a Signed-off-by trailer",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"no-verify", (void *)(& no_verify___0),
      (char const   *)((void *)0), (char const   *)"bypass pre-merge-commit and commit-msg hooks",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static int save_state(struct object_id *stash )
{
  int len___0 ;
  struct child_process cp ;
  struct strbuf buffer___5 ;
  int rc___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  ssize_t tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  buffer___5.alloc = 0UL;
  buffer___5.len = 0UL;
  buffer___5.buf = strbuf_slopbuf;
  rc___0 = -1;
  strvec_pushl(& cp.args, "stash", "create", (void *)0);
  cp.out = -1;
  cp.git_cmd = 1U;
  tmp___0 = start_command(& cp);
  if (tmp___0) {
    tmp = _((char const   *)"could not run stash.");
    die((char const   *)tmp);
  }
  tmp___1 = strbuf_read(& buffer___5, cp.out, (size_t )1024);
  len___0 = (int )tmp___1;
  close(cp.out);
  tmp___3 = finish_command(& cp);
  if (tmp___3) {
    tmp___2 = _((char const   *)"stash failed");
    die((char const   *)tmp___2);
  } else
  if (len___0 < 0) {
    tmp___2 = _((char const   *)"stash failed");
    die((char const   *)tmp___2);
  } else
  if (! len___0) {
    goto out;
  }
  strbuf_setlen___33(& buffer___5, buffer___5.len - 1UL);
  tmp___5 = repo_get_oid(the_repository, (char const   *)buffer___5.buf, stash);
  if (tmp___5) {
    tmp___4 = _((char const   *)"not a valid object: %s");
    die((char const   *)tmp___4, buffer___5.buf);
  }
  rc___0 = 0;
  out:
  strbuf_release(& buffer___5);
  return (rc___0);
}
}
static void read_empty(struct object_id  const  *oid , int verbose___15 )
{
  int i ;
  char const   *args___0[7] ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;

  {
  i = 0;
  tmp = i;
  i ++;
  args___0[tmp] = (char const   *)"read-tree";
  if (verbose___15) {
    tmp___0 = i;
    i ++;
    args___0[tmp___0] = (char const   *)"-v";
  }
  tmp___1 = i;
  i ++;
  args___0[tmp___1] = (char const   *)"-m";
  tmp___2 = i;
  i ++;
  args___0[tmp___2] = (char const   *)"-u";
  tmp___3 = i;
  i ++;
  args___0[tmp___3] = empty_tree_oid_hex();
  tmp___4 = i;
  i ++;
  tmp___5 = oid_to_hex(oid);
  args___0[tmp___4] = (char const   *)tmp___5;
  args___0[i] = (char const   *)((void *)0);
  tmp___7 = run_command_v_opt(args___0, 1 << 1);
  if (tmp___7) {
    tmp___6 = _((char const   *)"read-tree failed");
    die((char const   *)tmp___6);
  }
  return;
}
}
static void reset_hard(struct object_id  const  *oid , int verbose___15 )
{
  int i ;
  char const   *args___0[6] ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;

  {
  i = 0;
  tmp = i;
  i ++;
  args___0[tmp] = (char const   *)"read-tree";
  if (verbose___15) {
    tmp___0 = i;
    i ++;
    args___0[tmp___0] = (char const   *)"-v";
  }
  tmp___1 = i;
  i ++;
  args___0[tmp___1] = (char const   *)"--reset";
  tmp___2 = i;
  i ++;
  args___0[tmp___2] = (char const   *)"-u";
  tmp___3 = i;
  i ++;
  tmp___4 = oid_to_hex(oid);
  args___0[tmp___3] = (char const   *)tmp___4;
  args___0[i] = (char const   *)((void *)0);
  tmp___6 = run_command_v_opt(args___0, 1 << 1);
  if (tmp___6) {
    tmp___5 = _((char const   *)"read-tree failed");
    die((char const   *)tmp___5);
  }
  return;
}
}
static void restore_state(struct object_id  const  *head___1 , struct object_id  const  *stash )
{
  struct strbuf sb___6 ;
  char const   *args___0[4] ;
  int tmp ;
  char *tmp___0 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  args___0[0] = (char const   *)"stash";
  args___0[1] = (char const   *)"apply";
  args___0[2] = (char const   *)((void *)0);
  args___0[3] = (char const   *)((void *)0);
  tmp = is_null_oid(stash);
  if (tmp) {
    return;
  }
  reset_hard(head___1, 1);
  tmp___0 = oid_to_hex(stash);
  args___0[2] = (char const   *)tmp___0;
  run_command_v_opt(args___0, 1 << 1);
  strbuf_release(& sb___6);
  refresh_index(& the_index, (unsigned int )(1 << 2), (struct pathspec  const  *)((void *)0),
                (char *)((void *)0), (char const   *)((void *)0));
  return;
}
}
static void finish_up_to_date(void)
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  if (verbosity___1 >= 0) {
    if (squash) {
      tmp = _((char const   *)"Already up to date. (nothing to squash)");
      puts((char const   *)tmp);
    } else {
      tmp___0 = _((char const   *)"Already up to date.");
      puts((char const   *)tmp___0);
    }
  }
  remove_merge_branch_state(the_repository);
  return;
}
}
static void squash_message___0(struct commit *commit , struct commit_list *remoteheads )
{
  struct rev_info rev ;
  struct strbuf out ;
  struct commit_list *j ;
  struct pretty_print_context ctx___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  char const   *tmp___3 ;

  {
  out.alloc = 0UL;
  out.len = 0UL;
  out.buf = strbuf_slopbuf;
  ctx___0.fmt = (enum cmit_fmt )0;
  ctx___0.abbrev = 0;
  ctx___0.after_subject = (char const   *)0;
  ctx___0.preserve_subject = 0;
  ctx___0.date_mode.type = 0U;
  ctx___0.date_mode.strftime_fmt = (char const   *)0;
  ctx___0.date_mode.local = 0;
  ctx___0.date_mode_explicit = 0U;
  ctx___0.print_email_subject = 0;
  ctx___0.expand_tabs_in_log = 0;
  ctx___0.need_8bit_cte = 0;
  ctx___0.notes_message = (char *)0;
  ctx___0.reflog_info = (struct reflog_walk_info *)0;
  ctx___0.rev = (struct rev_info *)0;
  ctx___0.output_encoding = (char const   *)0;
  ctx___0.mailmap = (struct string_list *)0;
  ctx___0.color = 0;
  ctx___0.from_ident = (struct ident_split *)0;
  ctx___0.encode_email_headers = 0U;
  ctx___0.describe_status = (struct pretty_print_describe_status *)0;
  ctx___0.in_body_headers.items = (struct string_list_item *)0;
  ctx___0.in_body_headers.nr = 0U;
  ctx___0.in_body_headers.alloc = 0U;
  ctx___0.in_body_headers.strdup_strings = 0U;
  ctx___0.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
  ctx___0.graph_width = 0;
  tmp = _((char const   *)"Squash commit -- not updating HEAD\n");
  printf((char const   *)tmp);
  repo_init_revisions(the_repository, & rev, (char const   *)((void *)0));
  diff_merges_suppress(& rev);
  rev.commit_format = (enum cmit_fmt )1;
  commit->object.flags |= 1u << 1;
  add_pending_object(& rev, & commit->object, (char const   *)((void *)0));
  j = remoteheads;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! j) {
      goto while_break;
    }
    add_pending_object(& rev, & (j->item)->object, (char const   *)((void *)0));
    j = j->next;
  }
  while_break: /* CIL Label */ ;
  }
  setup_revisions(0, (char const   **)((void *)0), & rev, (struct setup_revision_opt *)((void *)0));
  tmp___1 = prepare_revision_walk(& rev);
  if (tmp___1) {
    tmp___0 = _((char const   *)"revision walk setup failed");
    die((char const   *)tmp___0);
  }
  ctx___0.abbrev = (int )rev.abbrev;
  ctx___0.date_mode = rev.date_mode;
  ctx___0.fmt = rev.commit_format;
  strbuf_addstr(& out, (char const   *)"Squashed commit of the following:\n");
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    commit = get_revision(& rev);
    if (! ((unsigned long )commit != (unsigned long )((void *)0))) {
      goto while_break___0;
    }
    strbuf_addch(& out, '\n');
    tmp___2 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    strbuf_addf(& out, (char const   *)"commit %s\n", tmp___2);
    pretty_print_commit(& ctx___0, (struct commit  const  *)commit, & out);
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___3 = git_path_squash_msg(the_repository);
  write_file_buf(tmp___3, (char const   *)out.buf, out.len);
  strbuf_release(& out);
  return;
}
}
static void finish(struct commit *head_commit , struct commit_list *remoteheads ,
                   struct object_id  const  *new_head , char const   *msg___5 )
{
  struct strbuf reflog_message___0 ;
  struct object_id  const  *head___1 ;
  char *tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  struct diff_options opts___1 ;
  char *tmp___2 ;
  char const   *tmp___3 ;

  {
  reflog_message___0.alloc = 0UL;
  reflog_message___0.len = 0UL;
  reflog_message___0.buf = strbuf_slopbuf;
  head___1 = (struct object_id  const  *)(& head_commit->object.oid);
  if (! msg___5) {
    tmp = getenv((char const   *)"GIT_REFLOG_ACTION");
    strbuf_addstr(& reflog_message___0, (char const   *)tmp);
  } else {
    if (verbosity___1 >= 0) {
      printf((char const   *)"%s\n", msg___5);
    }
    tmp___0 = getenv((char const   *)"GIT_REFLOG_ACTION");
    strbuf_addf(& reflog_message___0, (char const   *)"%s: %s", tmp___0, msg___5);
  }
  if (squash) {
    squash_message___0(head_commit, remoteheads);
  } else
  if (verbosity___1 >= 0) {
    if (! merge_msg.len) {
      tmp___1 = _((char const   *)"No merge message -- not updating HEAD\n");
      printf((char const   *)tmp___1);
    } else {
      update_ref((char const   *)reflog_message___0.buf, (char const   *)"HEAD", new_head,
                 head___1, 0U, (enum action_on_err )1);
      run_auto_maintenance(verbosity___1 < 0);
    }
  } else {
    update_ref((char const   *)reflog_message___0.buf, (char const   *)"HEAD", new_head,
               head___1, 0U, (enum action_on_err )1);
    run_auto_maintenance(verbosity___1 < 0);
  }
  if (new_head) {
    if (show_diffstat___0) {
      repo_diff_setup(the_repository, & opts___1);
      opts___1.stat_width = -1;
      opts___1.stat_graph_width = -1;
      opts___1.output_format |= 10;
      opts___1.detect_rename = 1;
      diff_setup_done(& opts___1);
      diff_tree_oid(head___1, new_head, (char const   *)"", & opts___1);
      diffcore_std(& opts___1);
      diff_flush(& opts___1);
    }
  }
  if (squash) {
    tmp___2 = "1";
  } else {
    tmp___2 = "0";
  }
  run_hook_le((char const   **)((void *)0), (char const   *)"post-merge", tmp___2,
              (void *)0);
  tmp___3 = git_path_merge_autostash(the_repository);
  apply_autostash(tmp___3);
  strbuf_release(& reflog_message___0);
  return;
}
}
static void merge_name(char const   *remote , struct strbuf *msg___5 )
{
  struct commit *remote_head ;
  struct object_id branch_head ;
  struct strbuf buf___19 ;
  struct strbuf bname ;
  struct merge_remote_desc *desc___0 ;
  char const   *ptr ;
  char *found_ref ;
  int len___0 ;
  int early ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;
  size_t tmp___6 ;
  int tmp___7 ;
  size_t tmp___8 ;
  char *tmp___9 ;
  int seen_nonzero ;
  struct strbuf truname ;
  char *tmp___10 ;
  char *tmp___11 ;
  int tmp___12 ;
  char const   *tmp___13 ;
  char *tmp___14 ;
  char *tmp___15 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  bname.alloc = 0UL;
  bname.len = 0UL;
  bname.buf = strbuf_slopbuf;
  found_ref = (char *)((void *)0);
  strbuf_branchname(& bname, remote, 0U);
  remote = (char const   *)bname.buf;
  oidclr(& branch_head);
  remote_head = get_merge_parent(remote);
  if (! remote_head) {
    tmp = _((char const   *)"\'%s\' does not point to a commit");
    die((char const   *)tmp, remote);
  }
  tmp___6 = strlen(remote);
  tmp___7 = dwim_ref(remote, (int )tmp___6, & branch_head, & found_ref, 0);
  if (tmp___7 > 0) {
    tmp___1 = starts_with((char const   *)found_ref, (char const   *)"refs/heads/");
    if (tmp___1) {
      tmp___0 = oid_to_hex((struct object_id  const  *)(& branch_head));
      strbuf_addf(msg___5, (char const   *)"%s\t\tbranch \'%s\' of .\n", tmp___0,
                  remote);
      goto cleanup;
    }
    tmp___3 = starts_with((char const   *)found_ref, (char const   *)"refs/tags/");
    if (tmp___3) {
      tmp___2 = oid_to_hex((struct object_id  const  *)(& branch_head));
      strbuf_addf(msg___5, (char const   *)"%s\t\ttag \'%s\' of .\n", tmp___2, remote);
      goto cleanup;
    }
    tmp___5 = starts_with((char const   *)found_ref, (char const   *)"refs/remotes/");
    if (tmp___5) {
      tmp___4 = oid_to_hex((struct object_id  const  *)(& branch_head));
      strbuf_addf(msg___5, (char const   *)"%s\t\tremote-tracking branch \'%s\' of .\n",
                  tmp___4, remote);
      goto cleanup;
    }
  }
  len___0 = 0;
  tmp___8 = strlen(remote);
  ptr = remote + tmp___8;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned long )remote < (unsigned long )ptr) {
      if (! ((int const   )*(ptr + -1) == 94)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    len___0 ++;
    ptr --;
  }
  while_break: /* CIL Label */ ;
  }
  if (len___0) {
    early = 1;
  } else {
    early = 0;
    tmp___9 = strrchr(remote, '~');
    ptr = (char const   *)tmp___9;
    if (ptr) {
      seen_nonzero = 0;
      len___0 ++;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        ptr ++;
        if (*ptr) {
          if (! (((int const   )sane_ctype[(unsigned char )*ptr] & 2) != 0)) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
        seen_nonzero |= (int const   )*ptr != 48;
        len___0 ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      if (*ptr) {
        len___0 = 0;
      } else
      if (seen_nonzero) {
        early = 1;
      } else
      if (len___0 == 1) {
        early = 1;
      }
    }
  }
  if (len___0) {
    truname.alloc = 0UL;
    truname.len = 0UL;
    truname.buf = strbuf_slopbuf;
    strbuf_addf(& truname, (char const   *)"refs/heads/%s", remote);
    strbuf_setlen___33(& truname, truname.len - (size_t )len___0);
    tmp___12 = ref_exists((char const   *)truname.buf);
    if (tmp___12) {
      if (early) {
        tmp___10 = " (early part)";
      } else {
        tmp___10 = "";
      }
      tmp___11 = oid_to_hex((struct object_id  const  *)(& remote_head->object.oid));
      strbuf_addf(msg___5, (char const   *)"%s\t\tbranch \'%s\'%s of .\n", tmp___11,
                  truname.buf + 11, tmp___10);
      strbuf_release(& truname);
      goto cleanup;
    }
    strbuf_release(& truname);
  }
  desc___0 = merge_remote_util(remote_head);
  if (desc___0) {
    if (desc___0->obj) {
      if ((desc___0->obj)->type == 4U) {
        tmp___13 = type_name((desc___0->obj)->type);
        tmp___14 = oid_to_hex((struct object_id  const  *)(& (desc___0->obj)->oid));
        strbuf_addf(msg___5, (char const   *)"%s\t\t%s \'%s\'\n", tmp___14, tmp___13,
                    remote);
        goto cleanup;
      }
    }
  }
  tmp___15 = oid_to_hex((struct object_id  const  *)(& remote_head->object.oid));
  strbuf_addf(msg___5, (char const   *)"%s\t\tcommit \'%s\'\n", tmp___15, remote);
  cleanup:
  free((void *)found_ref);
  strbuf_release(& buf___19);
  strbuf_release(& bname);
  return;
}
}
static void parse_branch_merge_options(char *bmo )
{
  char const   **argv___0 ;
  int argc ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;

  {
  if (! bmo) {
    return;
  }
  argc = split_cmdline(bmo, & argv___0);
  if (argc < 0) {
    tmp = split_cmdline_strerror(argc);
    tmp___0 = _(tmp);
    tmp___1 = _((char const   *)"Bad branch.%s.mergeoptions string: %s");
    die((char const   *)tmp___1, branch, tmp___0);
  }
  tmp___2 = st_mult(sizeof(*argv___0), (size_t )(argc + 2));
  tmp___3 = xrealloc((void *)argv___0, tmp___2);
  argv___0 = (char const   **)tmp___3;
  move_array((void *)(argv___0 + 1), (void const   *)argv___0, (size_t )(argc + 1),
             sizeof(*(argv___0 + 1)) + (sizeof(char [1]) - 1UL));
  argc ++;
  *(argv___0 + 0) = (char const   *)"branch.*.mergeoptions";
  parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)(builtin_merge_options),
                builtin_merge_usage, (enum parse_opt_flags )0);
  free((void *)argv___0);
  return;
}
}
static int git_merge_config(char const   *k , char const   *v , void *cb )
{
  int status ;
  char const   *str ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int boolval ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;

  {
  if (branch) {
    tmp = skip_prefix(k, (char const   *)"branch.", & str);
    if (tmp) {
      tmp___0 = skip_prefix(str, branch, & str);
      if (tmp___0) {
        tmp___1 = strcmp(str, (char const   *)".mergeoptions");
        if (! tmp___1) {
          free((void *)branch_mergeoptions);
          branch_mergeoptions = xstrdup(v);
          return (0);
        }
      }
    }
  }
  tmp___18 = strcmp(k, (char const   *)"merge.diffstat");
  if (tmp___18) {
    tmp___19 = strcmp(k, (char const   *)"merge.stat");
    if (tmp___19) {
      tmp___17 = strcmp(k, (char const   *)"merge.verifysignatures");
      if (tmp___17) {
        tmp___16 = strcmp(k, (char const   *)"pull.twohead");
        if (tmp___16) {
          tmp___15 = strcmp(k, (char const   *)"pull.octopus");
          if (tmp___15) {
            tmp___14 = strcmp(k, (char const   *)"commit.cleanup");
            if (tmp___14) {
              tmp___13 = strcmp(k, (char const   *)"merge.ff");
              if (tmp___13) {
                tmp___12 = strcmp(k, (char const   *)"merge.defaulttoupstream");
                if (tmp___12) {
                  tmp___11 = strcmp(k, (char const   *)"commit.gpgsign");
                  if (tmp___11) {
                    tmp___10 = strcmp(k, (char const   *)"gpg.mintrustlevel");
                    if (tmp___10) {
                      tmp___9 = strcmp(k, (char const   *)"merge.autostash");
                      if (! tmp___9) {
                        autostash = git_config_bool(k, v);
                        return (0);
                      }
                    } else {
                      check_trust_level = 0;
                    }
                  } else {
                    tmp___8 = git_config_bool(k, v);
                    if (tmp___8) {
                      sign_commit___1 = (char const   *)"";
                    } else {
                      sign_commit___1 = (char const   *)((void *)0);
                    }
                    return (0);
                  }
                } else {
                  default_to_upstream = git_config_bool(k, v);
                  return (0);
                }
              } else {
                tmp___5 = git_parse_maybe_bool(v);
                boolval = tmp___5;
                if (0 <= boolval) {
                  if (boolval) {
                    fast_forward = (enum ff_type )1;
                  } else {
                    fast_forward = (enum ff_type )0;
                  }
                } else
                if (v) {
                  tmp___6 = strcmp(v, (char const   *)"only");
                  if (! tmp___6) {
                    fast_forward = (enum ff_type )2;
                  }
                }
                return (0);
              }
            } else {
              tmp___4 = git_config_string(& cleanup_arg___0, k, v);
              return (tmp___4);
            }
          } else {
            tmp___3 = git_config_string(& pull_octopus, k, v);
            return (tmp___3);
          }
        } else {
          tmp___2 = git_config_string(& pull_twohead, k, v);
          return (tmp___2);
        }
      } else {
        verify_signatures = git_config_bool(k, v);
      }
    } else {
      show_diffstat___0 = git_config_bool(k, v);
    }
  } else {
    show_diffstat___0 = git_config_bool(k, v);
  }
  status = fmt_merge_msg_config(k, v, cb);
  if (status) {
    return (status);
  }
  status = git_gpg_config(k, v, (void *)0);
  if (status) {
    return (status);
  }
  tmp___20 = git_diff_ui_config(k, v, cb);
  return (tmp___20);
}
}
static int read_tree_trivial(struct object_id *common , struct object_id *head___1 ,
                             struct object_id *one___0 )
{
  int i ;
  int nr_trees___0 ;
  struct tree *trees___0[8] ;
  struct tree_desc t[8] ;
  struct unpack_trees_options opts___1 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  nr_trees___0 = 0;
  memset((void *)(& opts___1), 0, sizeof(opts___1));
  opts___1.head_idx = 2;
  opts___1.src_index = & the_index;
  opts___1.dst_index = & the_index;
  opts___1.update = 1U;
  opts___1.verbose_update = 1U;
  opts___1.trivial_merges_only = 1U;
  opts___1.merge = 1U;
  opts___1.preserve_ignored = 0U;
  trees___0[nr_trees___0] = parse_tree_indirect((struct object_id  const  *)common);
  tmp = nr_trees___0;
  nr_trees___0 ++;
  if (! trees___0[tmp]) {
    return (-1);
  }
  trees___0[nr_trees___0] = parse_tree_indirect((struct object_id  const  *)head___1);
  tmp___0 = nr_trees___0;
  nr_trees___0 ++;
  if (! trees___0[tmp___0]) {
    return (-1);
  }
  trees___0[nr_trees___0] = parse_tree_indirect((struct object_id  const  *)one___0);
  tmp___1 = nr_trees___0;
  nr_trees___0 ++;
  if (! trees___0[tmp___1]) {
    return (-1);
  }
  opts___1.fn = & threeway_merge;
  cache_tree_free(& the_index.cache_tree);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_trees___0)) {
      goto while_break;
    }
    parse_tree(trees___0[i]);
    init_tree_desc(t + i, (void const   *)(trees___0[i])->buffer, (trees___0[i])->size);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___2 = unpack_trees((unsigned int )nr_trees___0, t, & opts___1);
  if (tmp___2) {
    return (-1);
  }
  return (0);
}
}
static void write_tree_trivial(struct object_id *oid )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  tmp___0 = write_cache_as_tree(oid, 0, (char const   *)((void *)0));
  if (tmp___0) {
    tmp = _((char const   *)"git write-tree failed to write a tree");
    die((char const   *)tmp);
  }
  return;
}
}
static int try_merge_strategy(char const   *strategy , struct commit_list *common ,
                              struct commit_list *remoteheads , struct commit *head___1 )
{
  char const   *head_arg ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct lock_file lock___0 ;
  int clean ;
  int x ;
  struct commit *result___0 ;
  struct commit_list *reversed ;
  struct merge_options___0 o ;
  struct commit_list *j ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  struct merge_remote_desc *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  char *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;

  {
  head_arg = (char const   *)"HEAD";
  tmp___1 = repo_refresh_and_write_index(the_repository, (unsigned int )(1 << 2),
                                         (unsigned int )(1 << 1), 0, (struct pathspec  const  *)((void *)0),
                                         (char *)((void *)0), (char const   *)((void *)0));
  if (tmp___1 < 0) {
    tmp = _((char const   *)"Unable to write index.");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  tmp___15 = strcmp(strategy, (char const   *)"recursive");
  if (tmp___15) {
    tmp___16 = strcmp(strategy, (char const   *)"subtree");
    if (tmp___16) {
      tmp___17 = strcmp(strategy, (char const   *)"ort");
      if (tmp___17) {
        tmp___14 = try_merge_command(the_repository, strategy, xopts_nr, xopts, common,
                                     head_arg, remoteheads);
        return (tmp___14);
      } else {
        _L: /* CIL Label */
        lock___0.tempfile = (struct tempfile *)0;
        reversed = (struct commit_list *)((void *)0);
        if (remoteheads->next) {
          tmp___2 = _((char const   *)"Not handling anything other than two heads merge.");
          error((char const   *)tmp___2);
          const_error();
          return (2);
        }
        init_merge_options(& o, the_repository);
        tmp___3 = strcmp(strategy, (char const   *)"subtree");
        if (! tmp___3) {
          o.subtree_shift = (char const   *)"";
        }
        if (show_progress___2 == -1) {
          tmp___4 = isatty(2);
          o.show_rename_progress = tmp___4;
        } else {
          o.show_rename_progress = show_progress___2;
        }
        x = 0;
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          if (! ((size_t )x < xopts_nr)) {
            goto while_break;
          }
          tmp___6 = parse_merge_opt(& o, *(xopts + x));
          if (tmp___6) {
            tmp___5 = _((char const   *)"unknown strategy option: -X%s");
            die((char const   *)tmp___5, *(xopts + x));
          }
          x ++;
        }
        while_break: /* CIL Label */ ;
        }
        o.branch1 = head_arg;
        tmp___7 = merge_remote_util(remoteheads->item);
        o.branch2 = (char const   *)(tmp___7->name);
        j = common;
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          if (! j) {
            goto while_break___0;
          }
          commit_list_insert(j->item, & reversed);
          j = j->next;
        }
        while_break___0: /* CIL Label */ ;
        }
        repo_hold_locked_index(the_repository, & lock___0, 1);
        tmp___8 = strcmp(strategy, (char const   *)"ort");
        if (tmp___8) {
          clean = merge_recursive(& o, head___1, remoteheads->item, reversed, & result___0);
        } else {
          clean = merge_ort_recursive(& o, head___1, remoteheads->item, reversed,
                                      & result___0);
        }
        if (clean < 0) {
          tmp___9 = trace2_cmd_exit_fl((char const   *)"builtin/merge.c", 761, 128);
          exit(tmp___9);
        }
        tmp___12 = write_locked_index(& the_index, & lock___0, (unsigned int )(1 | (1 << 1)));
        if (tmp___12) {
          tmp___10 = get_index_file();
          tmp___11 = _((char const   *)"unable to write %s");
          die((char const   *)tmp___11, tmp___10);
        }
        if (clean) {
          tmp___13 = 0;
        } else {
          tmp___13 = 1;
        }
        return (tmp___13);
      }
    } else {
      goto _L;
    }
  } else {
    goto _L;
  }
}
}
static void count_diff_files(struct diff_queue_struct *q , struct diff_options *opt___0 ,
                             void *data )
{
  int *count___0 ;

  {
  count___0 = (int *)data;
  *count___0 += q->nr;
  return;
}
}
static int count_unmerged_entries(void)
{
  int i ;
  int ret___67 ;

  {
  ret___67 = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < the_index.cache_nr)) {
      goto while_break;
    }
    if ((12288U & (*(the_index.cache + i))->ce_flags) >> 12) {
      ret___67 ++;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static void add_strategies(char const   *string___0 , unsigned int attr )
{
  int i ;
  struct string_list list___3 ;
  struct string_list_item *item___0 ;
  struct strategy *tmp ;

  {
  if (string___0) {
    list___3.items = (struct string_list_item *)0;
    list___3.nr = 0U;
    list___3.alloc = 0U;
    list___3.strdup_strings = 1U;
    list___3.cmp = (int (*)(char const   * , char const   * ))0;
    string_list_split(& list___3, string___0, ' ', -1);
    item___0 = list___3.items;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(list___3.items + list___3.nr))) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      tmp = get_strategy((char const   *)item___0->string);
      append_strategy(tmp);
      item___0 ++;
    }
    while_break: /* CIL Label */ ;
    }
    string_list_clear(& list___3, 0);
    return;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(all_strategy) / sizeof(all_strategy[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break___0;
    }
    if (all_strategy[i].attr & attr) {
      append_strategy(& all_strategy[i]);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void read_merge_msg(struct strbuf *msg___5 )
{
  char const   *filename___0 ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  ssize_t tmp___1 ;

  {
  tmp = git_path_merge_msg(the_repository);
  filename___0 = tmp;
  strbuf_setlen___33(msg___5, (size_t )0);
  tmp___1 = strbuf_read_file(msg___5, filename___0, (size_t )0);
  if (tmp___1 < 0L) {
    tmp___0 = _((char const   *)"Could not read from \'%s\'");
    die_errno((char const   *)tmp___0, filename___0);
  }
  return;
}
}
static void write_merge_state(struct commit_list *remoteheads ) ;
static void abort_commit(struct commit_list *remoteheads , char const   *err_msg )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  if (err_msg) {
    error((char const   *)"%s", err_msg);
    const_error();
  }
  tmp = _((char const   *)"Not committing merge; use \'git commit\' to complete the merge.\n");
  fprintf(stderr, (char const   *)tmp);
  write_merge_state(remoteheads);
  tmp___0 = trace2_cmd_exit_fl((char const   *)"builtin/merge.c", 827, 1);
  exit(tmp___0);
}
}
static char const   merge_editor_comment[137]  =
  {      (char const   )'P',      (char const   )'l',      (char const   )'e',      (char const   )'a',
        (char const   )'s',      (char const   )'e',      (char const   )' ',      (char const   )'e',
        (char const   )'n',      (char const   )'t',      (char const   )'e',      (char const   )'r',
        (char const   )' ',      (char const   )'a',      (char const   )' ',      (char const   )'c',
        (char const   )'o',      (char const   )'m',      (char const   )'m',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'m',      (char const   )'e',
        (char const   )'s',      (char const   )'s',      (char const   )'a',      (char const   )'g',
        (char const   )'e',      (char const   )' ',      (char const   )'t',      (char const   )'o',
        (char const   )' ',      (char const   )'e',      (char const   )'x',      (char const   )'p',
        (char const   )'l',      (char const   )'a',      (char const   )'i',      (char const   )'n',
        (char const   )' ',      (char const   )'w',      (char const   )'h',      (char const   )'y',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'i',
        (char const   )'s',      (char const   )' ',      (char const   )'m',      (char const   )'e',
        (char const   )'r',      (char const   )'g',      (char const   )'e',      (char const   )' ',
        (char const   )'i',      (char const   )'s',      (char const   )' ',      (char const   )'n',
        (char const   )'e',      (char const   )'c',      (char const   )'e',      (char const   )'s',
        (char const   )'s',      (char const   )'a',      (char const   )'r',      (char const   )'y',
        (char const   )',',      (char const   )'\n',      (char const   )'e',      (char const   )'s',
        (char const   )'p',      (char const   )'e',      (char const   )'c',      (char const   )'i',
        (char const   )'a',      (char const   )'l',      (char const   )'l',      (char const   )'y',
        (char const   )' ',      (char const   )'i',      (char const   )'f',      (char const   )' ',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'m',
        (char const   )'e',      (char const   )'r',      (char const   )'g',      (char const   )'e',
        (char const   )'s',      (char const   )' ',      (char const   )'a',      (char const   )'n',
        (char const   )' ',      (char const   )'u',      (char const   )'p',      (char const   )'d',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )'d',
        (char const   )' ',      (char const   )'u',      (char const   )'p',      (char const   )'s',
        (char const   )'t',      (char const   )'r',      (char const   )'e',      (char const   )'a',
        (char const   )'m',      (char const   )' ',      (char const   )'i',      (char const   )'n',
        (char const   )'t',      (char const   )'o',      (char const   )' ',      (char const   )'a',
        (char const   )' ',      (char const   )'t',      (char const   )'o',      (char const   )'p',
        (char const   )'i',      (char const   )'c',      (char const   )' ',      (char const   )'b',
        (char const   )'r',      (char const   )'a',      (char const   )'n',      (char const   )'c',
        (char const   )'h',      (char const   )'.',      (char const   )'\n',      (char const   )'\n',
        (char const   )'\000'};
static char const   scissors_editor_comment[37]  =
  {      (char const   )'A',      (char const   )'n',      (char const   )' ',      (char const   )'e',
        (char const   )'m',      (char const   )'p',      (char const   )'t',      (char const   )'y',
        (char const   )' ',      (char const   )'m',      (char const   )'e',      (char const   )'s',
        (char const   )'s',      (char const   )'a',      (char const   )'g',      (char const   )'e',
        (char const   )' ',      (char const   )'a',      (char const   )'b',      (char const   )'o',
        (char const   )'r',      (char const   )'t',      (char const   )'s',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'m',
        (char const   )'i',      (char const   )'t',      (char const   )'.',      (char const   )'\n',
        (char const   )'\000'};
static char const   no_scissors_editor_comment[83]  =
  {      (char const   )'L',      (char const   )'i',      (char const   )'n',      (char const   )'e',
        (char const   )'s',      (char const   )' ',      (char const   )'s',      (char const   )'t',
        (char const   )'a',      (char const   )'r',      (char const   )'t',      (char const   )'i',
        (char const   )'n',      (char const   )'g',      (char const   )' ',      (char const   )'w',
        (char const   )'i',      (char const   )'t',      (char const   )'h',      (char const   )' ',
        (char const   )'\'',      (char const   )'%',      (char const   )'c',      (char const   )'\'',
        (char const   )' ',      (char const   )'w',      (char const   )'i',      (char const   )'l',
        (char const   )'l',      (char const   )' ',      (char const   )'b',      (char const   )'e',
        (char const   )' ',      (char const   )'i',      (char const   )'g',      (char const   )'n',
        (char const   )'o',      (char const   )'r',      (char const   )'e',      (char const   )'d',
        (char const   )',',      (char const   )' ',      (char const   )'a',      (char const   )'n',
        (char const   )'d',      (char const   )' ',      (char const   )'a',      (char const   )'n',
        (char const   )' ',      (char const   )'e',      (char const   )'m',      (char const   )'p',
        (char const   )'t',      (char const   )'y',      (char const   )' ',      (char const   )'m',
        (char const   )'e',      (char const   )'s',      (char const   )'s',      (char const   )'a',
        (char const   )'g',      (char const   )'e',      (char const   )' ',      (char const   )'a',
        (char const   )'b',      (char const   )'o',      (char const   )'r',      (char const   )'t',
        (char const   )'s',      (char const   )'\n',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )' ',      (char const   )'c',      (char const   )'o',
        (char const   )'m',      (char const   )'m',      (char const   )'i',      (char const   )'t',
        (char const   )'.',      (char const   )'\n',      (char const   )'\000'};
static void write_merge_heads(struct commit_list *remoteheads ) ;
static void prepare_to_commit___0(struct commit_list *remoteheads )
{
  struct strbuf msg___5 ;
  char const   *index_file ;
  char *tmp ;
  int __attribute__((__sentinel__))  tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  size_t tmp___6 ;
  char const   *tmp___7 ;
  char const   *tmp___8 ;
  char *tmp___9 ;
  int __attribute__((__sentinel__))  tmp___10 ;
  char const   *tmp___11 ;
  int tmp___12 ;
  char const   *tmp___13 ;
  char *tmp___14 ;
  int __attribute__((__sentinel__))  tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;

  {
  msg___5.alloc = 0UL;
  msg___5.len = 0UL;
  msg___5.buf = strbuf_slopbuf;
  tmp = get_index_file();
  index_file = (char const   *)tmp;
  if (! no_verify___0) {
    tmp___0 = run_commit_hook(0 < option_edit, index_file, (char const   *)"pre-merge-commit",
                              (void *)0);
    if (tmp___0) {
      abort_commit(remoteheads, (char const   *)((void *)0));
    }
  }
  tmp___1 = hook_exists((char const   *)"pre-merge-commit");
  if (tmp___1) {
    discard_index(& the_index);
  }
  tmp___2 = get_git_dir();
  read_index_from(& the_index, index_file, tmp___2);
  strbuf_addbuf(& msg___5, (struct strbuf  const  *)(& merge_msg));
  if (squash) {
    BUG_fl((char const   *)"builtin/merge.c", 860, (char const   *)"the control must not reach here under --squash");
  }
  if (0 < option_edit) {
    strbuf_addch(& msg___5, '\n');
    if ((unsigned int )cleanup_mode___0 == 2U) {
      wt_status_append_cut_line(& msg___5);
      strbuf_commented_addf(& msg___5, (char const   *)"\n");
    }
    tmp___3 = _(merge_editor_comment);
    strbuf_commented_addf(& msg___5, (char const   *)tmp___3);
    if ((unsigned int )cleanup_mode___0 == 2U) {
      tmp___4 = _(scissors_editor_comment);
      strbuf_commented_addf(& msg___5, (char const   *)tmp___4);
    } else {
      tmp___5 = _(no_scissors_editor_comment);
      strbuf_commented_addf(& msg___5, (char const   *)tmp___5, (int )comment_line_char);
    }
  }
  if (signoff___0) {
    tmp___6 = ignore_non_trailer((char const   *)msg___5.buf, msg___5.len);
    append_signoff(& msg___5, tmp___6, 0U);
  }
  write_merge_heads(remoteheads);
  tmp___7 = git_path_merge_msg(the_repository);
  write_file_buf(tmp___7, (char const   *)msg___5.buf, msg___5.len);
  tmp___8 = git_path_merge_msg(the_repository);
  tmp___9 = get_index_file();
  tmp___10 = run_commit_hook(0 < option_edit, (char const   *)tmp___9, (char const   *)"prepare-commit-msg",
                             tmp___8, "merge", (void *)0);
  if (tmp___10) {
    abort_commit(remoteheads, (char const   *)((void *)0));
  }
  if (0 < option_edit) {
    tmp___11 = git_path_merge_msg(the_repository);
    tmp___12 = launch_editor(tmp___11, (struct strbuf *)((void *)0), (char const   **)((void *)0));
    if (tmp___12) {
      abort_commit(remoteheads, (char const   *)((void *)0));
    }
  }
  if (! no_verify___0) {
    tmp___13 = git_path_merge_msg(the_repository);
    tmp___14 = get_index_file();
    tmp___15 = run_commit_hook(0 < option_edit, (char const   *)tmp___14, (char const   *)"commit-msg",
                               tmp___13, (void *)0);
    if (tmp___15) {
      abort_commit(remoteheads, (char const   *)((void *)0));
    }
  }
  read_merge_msg(& msg___5);
  cleanup_message(& msg___5, cleanup_mode___0, 0);
  if (! msg___5.len) {
    tmp___16 = _((char const   *)"Empty commit message.");
    abort_commit(remoteheads, (char const   *)tmp___16);
  }
  strbuf_release(& merge_msg);
  strbuf_addbuf(& merge_msg, (struct strbuf  const  *)(& msg___5));
  strbuf_release(& msg___5);
  return;
}
}
static int merge_trivial(struct commit *head___1 , struct commit_list *remoteheads )
{
  struct object_id result_tree ;
  struct object_id result_commit ;
  struct commit_list *parents ;
  struct commit_list **pptr ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  pptr = & parents;
  tmp___1 = repo_refresh_and_write_index(the_repository, (unsigned int )(1 << 2),
                                         (unsigned int )(1 << 1), 0, (struct pathspec  const  *)((void *)0),
                                         (char *)((void *)0), (char const   *)((void *)0));
  if (tmp___1 < 0) {
    tmp = _((char const   *)"Unable to write index.");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  write_tree_trivial(& result_tree);
  tmp___2 = _((char const   *)"Wonderful.\n");
  printf((char const   *)tmp___2);
  pptr = commit_list_append(head___1, pptr);
  pptr = commit_list_append(remoteheads->item, pptr);
  prepare_to_commit___0(remoteheads);
  tmp___4 = commit_tree((char const   *)merge_msg.buf, merge_msg.len, (struct object_id  const  *)(& result_tree),
                        parents, & result_commit, (char const   *)((void *)0), sign_commit___1);
  if (tmp___4) {
    tmp___3 = _((char const   *)"failed to write commit object");
    die((char const   *)tmp___3);
  }
  finish(head___1, remoteheads, (struct object_id  const  *)(& result_commit), (char const   *)"In-index merge");
  remove_merge_branch_state(the_repository);
  return (0);
}
}
static int finish_automerge(struct commit *head___1 , int head_subsumed , struct commit_list *common ,
                            struct commit_list *remoteheads , struct object_id *result_tree ,
                            char const   *wt_strategy )
{
  struct commit_list *parents ;
  struct strbuf buf___19 ;
  struct object_id result_commit ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  parents = (struct commit_list *)((void *)0);
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  write_tree_trivial(result_tree);
  free_commit_list(common);
  parents = remoteheads;
  if (! head_subsumed) {
    commit_list_insert(head___1, & parents);
  } else
  if ((unsigned int )fast_forward == 0U) {
    commit_list_insert(head___1, & parents);
  }
  prepare_to_commit___0(remoteheads);
  tmp___0 = commit_tree((char const   *)merge_msg.buf, merge_msg.len, (struct object_id  const  *)result_tree,
                        parents, & result_commit, (char const   *)((void *)0), sign_commit___1);
  if (tmp___0) {
    tmp = _((char const   *)"failed to write commit object");
    die((char const   *)tmp);
  }
  strbuf_addf(& buf___19, (char const   *)"Merge made by the \'%s\' strategy.", wt_strategy);
  finish(head___1, remoteheads, (struct object_id  const  *)(& result_commit), (char const   *)buf___19.buf);
  strbuf_release(& buf___19);
  remove_merge_branch_state(the_repository);
  return (0);
}
}
static int suggest_conflicts(void)
{
  char const   *filename___0 ;
  FILE *fp ;
  struct strbuf msgbuf___0 ;
  enum commit_msg_cleanup_mode tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  msgbuf___0.alloc = 0UL;
  msgbuf___0.len = 0UL;
  msgbuf___0.buf = strbuf_slopbuf;
  filename___0 = git_path_merge_msg(the_repository);
  fp = xfopen(filename___0, (char const   *)"a");
  tmp = get_cleanup_mode(cleanup_arg___0, 1);
  append_conflicts_hint(& the_index, & msgbuf___0, tmp);
  fputs((char const   * __restrict  )msgbuf___0.buf, (FILE * __restrict  )fp);
  strbuf_release(& msgbuf___0);
  fclose(fp);
  repo_rerere(the_repository, allow_rerere_auto);
  tmp___0 = _((char const   *)"Automatic merge failed; fix conflicts and then commit the result.\n");
  printf((char const   *)tmp___0);
  return (1);
}
}
static int evaluate_result(void)
{
  int cnt ;
  struct rev_info rev ;
  int tmp ;

  {
  cnt = 0;
  repo_init_revisions(the_repository, & rev, (char const   *)"");
  setup_revisions(0, (char const   **)((void *)0), & rev, (struct setup_revision_opt *)((void *)0));
  rev.diffopt.output_format |= 0x1000;
  rev.diffopt.format_callback = & count_diff_files;
  rev.diffopt.format_callback_data = (void *)(& cnt);
  run_diff_files(& rev, 0U);
  tmp = count_unmerged_entries();
  cnt += tmp;
  return (cnt);
}
}
static int setup_with_upstream(char const   ***argv___0 )
{
  struct branch *branch___0 ;
  struct branch *tmp ;
  int i ;
  char const   **args___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  tmp = branch_get((char const   *)((void *)0));
  branch___0 = tmp;
  if (! branch___0) {
    tmp___0 = _((char const   *)"No current branch.");
    die((char const   *)tmp___0);
  }
  if (! branch___0->remote_name) {
    tmp___1 = _((char const   *)"No remote for the current branch.");
    die((char const   *)tmp___1);
  }
  if (! branch___0->merge_nr) {
    tmp___2 = _((char const   *)"No default upstream defined for the current branch.");
    die((char const   *)tmp___2);
  }
  tmp___3 = st_add((size_t )branch___0->merge_nr, (size_t )1);
  tmp___4 = xcalloc(tmp___3, sizeof(char *));
  args___0 = (char const   **)tmp___4;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < branch___0->merge_nr)) {
      goto while_break;
    }
    if (! (*(branch___0->merge + i))->dst) {
      tmp___5 = _((char const   *)"No remote-tracking branch for %s from %s");
      die((char const   *)tmp___5, (*(branch___0->merge + i))->src, branch___0->remote_name);
    }
    *(args___0 + i) = (char const   *)(*(branch___0->merge + i))->dst;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  *(args___0 + i) = (char const   *)((void *)0);
  *argv___0 = args___0;
  return (i);
}
}
static void write_merge_heads(struct commit_list *remoteheads )
{
  struct commit_list *j ;
  struct strbuf buf___19 ;
  struct object_id *oid ;
  struct commit *c___0 ;
  struct merge_remote_desc *desc___0 ;
  char *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  j = remoteheads;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! j) {
      goto while_break;
    }
    c___0 = j->item;
    desc___0 = merge_remote_util(c___0);
    if (desc___0) {
      if (desc___0->obj) {
        oid = & (desc___0->obj)->oid;
      } else {
        oid = & c___0->object.oid;
      }
    } else {
      oid = & c___0->object.oid;
    }
    tmp = oid_to_hex((struct object_id  const  *)oid);
    strbuf_addf(& buf___19, (char const   *)"%s\n", tmp);
    j = j->next;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = git_path_merge_head(the_repository);
  write_file_buf(tmp___0, (char const   *)buf___19.buf, buf___19.len);
  strbuf_setlen___33(& buf___19, (size_t )0);
  if ((unsigned int )fast_forward == 0U) {
    strbuf_addstr(& buf___19, (char const   *)"no-ff");
  }
  tmp___1 = git_path_merge_mode(the_repository);
  write_file_buf(tmp___1, (char const   *)buf___19.buf, buf___19.len);
  strbuf_release(& buf___19);
  return;
}
}
static void write_merge_state(struct commit_list *remoteheads )
{
  char const   *tmp ;

  {
  write_merge_heads(remoteheads);
  strbuf_addch(& merge_msg, '\n');
  tmp = git_path_merge_msg(the_repository);
  write_file_buf(tmp, (char const   *)merge_msg.buf, merge_msg.len);
  return;
}
}
static int default_edit_option(void) ;
static char const   name[19]  =
  {      (char const   )'G',      (char const   )'I',      (char const   )'T',      (char const   )'_',
        (char const   )'M',      (char const   )'E',      (char const   )'R',      (char const   )'G',
        (char const   )'E',      (char const   )'_',      (char const   )'A',      (char const   )'U',
        (char const   )'T',      (char const   )'O',      (char const   )'E',      (char const   )'D',
        (char const   )'I',      (char const   )'T',      (char const   )'\000'};
static int default_edit_option(void)
{
  char const   *e ;
  char *tmp ;
  struct stat st_stdin ;
  struct stat st_stdout ;
  int v ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  tmp = getenv(name);
  e = (char const   *)tmp;
  if (have_message) {
    return (0);
  }
  if (e) {
    tmp___0 = git_parse_maybe_bool(e);
    v = tmp___0;
    if (v < 0) {
      tmp___1 = _((char const   *)"Bad value \'%s\' in environment \'%s\'");
      die((char const   *)tmp___1, e, name);
    }
    return (v);
  }
  tmp___2 = fstat(0, & st_stdin);
  if (tmp___2) {
    tmp___6 = 0;
  } else {
    tmp___3 = fstat(1, & st_stdout);
    if (tmp___3) {
      tmp___6 = 0;
    } else {
      tmp___4 = isatty(0);
      if (tmp___4) {
        tmp___5 = isatty(1);
        if (tmp___5) {
          if (st_stdin.st_dev == st_stdout.st_dev) {
            if (st_stdin.st_ino == st_stdout.st_ino) {
              if (st_stdin.st_mode == st_stdout.st_mode) {
                tmp___6 = 1;
              } else {
                tmp___6 = 0;
              }
            } else {
              tmp___6 = 0;
            }
          } else {
            tmp___6 = 0;
          }
        } else {
          tmp___6 = 0;
        }
      } else {
        tmp___6 = 0;
      }
    }
  }
  return (tmp___6);
}
}
static struct commit_list *reduce_parents(struct commit *head_commit , int *head_subsumed ,
                                          struct commit_list *remoteheads )
{
  struct commit_list *parents ;
  struct commit_list **remotes ;
  struct commit *commit ;
  struct commit *tmp ;
  struct commit_list *tmp___0 ;

  {
  *head_subsumed = 1;
  parents = reduce_heads(remoteheads);
  free_commit_list(remoteheads);
  remoteheads = (struct commit_list *)((void *)0);
  remotes = & remoteheads;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! parents) {
      goto while_break;
    }
    tmp = pop_commit(& parents);
    commit = tmp;
    if ((unsigned long )commit == (unsigned long )head_commit) {
      *head_subsumed = 0;
    } else {
      tmp___0 = commit_list_insert(commit, remotes);
      remotes = & tmp___0->next;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (remoteheads);
}
}
static void prepare_merge_message(struct strbuf *merge_names , struct strbuf *merge_msg___0 )
{
  struct fmt_merge_msg_opts opts___1 ;

  {
  memset((void *)(& opts___1), 0, sizeof(opts___1));
  opts___1.add_title = (unsigned int )(! have_message);
  opts___1.shortlog_len = shortlog_len;
  opts___1.credit_people = (unsigned int )(0 < option_edit);
  opts___1.into_name = (char const   *)into_name;
  fmt_merge_msg(merge_names, merge_msg___0, & opts___1);
  if (merge_msg___0->len) {
    strbuf_setlen___33(merge_msg___0, merge_msg___0->len - 1UL);
  }
  return;
}
}
static void handle_fetch_head(struct commit_list **remotes , struct strbuf *merge_names )
{
  char const   *filename___0 ;
  int fd ;
  int pos ;
  int npos ;
  struct strbuf fetch_head_file ;
  unsigned int hexsz ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  ssize_t tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  struct object_id oid ;
  char *ptr ;
  struct commit *commit ;
  char saved ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  struct commit_list *tmp___6 ;

  {
  fetch_head_file.alloc = 0UL;
  fetch_head_file.len = 0UL;
  fetch_head_file.buf = strbuf_slopbuf;
  hexsz = (unsigned int )(the_repository->hash_algo)->hexsz;
  if (! merge_names) {
    merge_names = & fetch_head_file;
  }
  filename___0 = git_path_fetch_head(the_repository);
  fd = xopen(filename___0, 00);
  tmp___0 = strbuf_read(merge_names, fd, (size_t )0);
  if (tmp___0 < 0L) {
    tmp = _((char const   *)"could not read \'%s\'");
    die_errno((char const   *)tmp, filename___0);
  }
  tmp___2 = close(fd);
  if (tmp___2 < 0) {
    tmp___1 = _((char const   *)"could not close \'%s\'");
    die_errno((char const   *)tmp___1, filename___0);
  }
  pos = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )pos < merge_names->len)) {
      goto while_break;
    }
    ptr = strchr((char const   *)(merge_names->buf + pos), '\n');
    if (ptr) {
      npos = (int )((ptr - merge_names->buf) + 1L);
    } else {
      npos = (int )merge_names->len;
    }
    if ((unsigned int )(npos - pos) < hexsz + 2U) {
      commit = (struct commit *)((void *)0);
    } else {
      tmp___4 = get_oid_hex((char const   *)(merge_names->buf + pos), & oid);
      if (tmp___4) {
        commit = (struct commit *)((void *)0);
      } else {
        tmp___3 = memcmp((void const   *)((merge_names->buf + pos) + hexsz), (void const   *)"\t\t",
                         (size_t )2);
        if (tmp___3) {
          goto __Cont;
        } else {
          saved = *(merge_names->buf + ((unsigned int )pos + hexsz));
          *(merge_names->buf + ((unsigned int )pos + hexsz)) = (char )'\000';
          commit = get_merge_parent((char const   *)(merge_names->buf + pos));
          *(merge_names->buf + ((unsigned int )pos + hexsz)) = saved;
        }
      }
    }
    if (! commit) {
      if (ptr) {
        *ptr = (char )'\000';
      }
      tmp___5 = _((char const   *)"not something we can merge in %s: %s");
      die((char const   *)tmp___5, filename___0, merge_names->buf + pos);
    }
    tmp___6 = commit_list_insert(commit, remotes);
    remotes = & tmp___6->next;
    __Cont: /* CIL Label */
    pos = npos;
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned long )merge_names == (unsigned long )(& fetch_head_file)) {
    strbuf_release(& fetch_head_file);
  }
  return;
}
}
static struct commit_list *collect_parents(struct commit *head_commit , int *head_subsumed ,
                                           int argc , char const   **argv___0 , struct strbuf *merge_msg___0 )
{
  int i ;
  struct commit_list *remoteheads ;
  struct commit_list **remotes ;
  struct strbuf merge_names ;
  struct strbuf *autogen ;
  struct commit_list *tmp ;
  struct commit *commit ;
  struct commit *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  struct commit_list *tmp___2 ;
  struct commit_list *p___0 ;
  struct merge_remote_desc *tmp___3 ;
  int tmp___4 ;

  {
  remoteheads = (struct commit_list *)((void *)0);
  remotes = & remoteheads;
  merge_names.alloc = 0UL;
  merge_names.len = 0UL;
  merge_names.buf = strbuf_slopbuf;
  autogen = (struct strbuf *)((void *)0);
  if (merge_msg___0) {
    if (! have_message) {
      autogen = & merge_names;
    } else
    if (shortlog_len) {
      autogen = & merge_names;
    }
  }
  if (head_commit) {
    tmp = commit_list_insert(head_commit, remotes);
    remotes = & tmp->next;
  }
  if (argc == 1) {
    tmp___4 = strcmp(*(argv___0 + 0), (char const   *)"FETCH_HEAD");
    if (tmp___4) {
      goto _L;
    } else {
      handle_fetch_head(remotes, autogen);
      remoteheads = reduce_parents(head_commit, head_subsumed, remoteheads);
    }
  } else {
    _L: /* CIL Label */
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < argc)) {
        goto while_break;
      }
      tmp___0 = get_merge_parent(*(argv___0 + i));
      commit = tmp___0;
      if (! commit) {
        tmp___1 = _((char const   *)"not something we can merge");
        help_unknown_ref(*(argv___0 + i), (char const   *)"merge", (char const   *)tmp___1);
      }
      tmp___2 = commit_list_insert(commit, remotes);
      remotes = & tmp___2->next;
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    remoteheads = reduce_parents(head_commit, head_subsumed, remoteheads);
    if (autogen) {
      p___0 = remoteheads;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! p___0) {
          goto while_break___0;
        }
        tmp___3 = merge_remote_util(p___0->item);
        merge_name((char const   *)(tmp___3->name), autogen);
        p___0 = p___0->next;
      }
      while_break___0: /* CIL Label */ ;
      }
    }
  }
  if (autogen) {
    prepare_merge_message(autogen, merge_msg___0);
    strbuf_release(autogen);
  }
  return (remoteheads);
}
}
static int merging_a_throwaway_tag(struct commit *commit )
{
  char *tag_ref ;
  struct object_id oid ;
  int is_throwaway_tag ;
  struct merge_remote_desc *tmp ;
  struct merge_remote_desc *tmp___0 ;
  struct merge_remote_desc *tmp___1 ;
  struct merge_remote_desc *tmp___2 ;
  int tmp___3 ;
  struct merge_remote_desc *tmp___4 ;
  int tmp___5 ;

  {
  is_throwaway_tag = 0;
  tmp = merge_remote_util(commit);
  if (tmp) {
    tmp___0 = merge_remote_util(commit);
    if (tmp___0->obj) {
      tmp___1 = merge_remote_util(commit);
      if ((tmp___1->obj)->type != 4U) {
        return (is_throwaway_tag);
      }
    } else {
      return (is_throwaway_tag);
    }
  } else {
    return (is_throwaway_tag);
  }
  tmp___2 = merge_remote_util(commit);
  tag_ref = xstrfmt((char const   *)"refs/tags/%s", ((struct tag *)tmp___2->obj)->tag);
  tmp___3 = read_ref((char const   *)tag_ref, & oid);
  if (tmp___3) {
    is_throwaway_tag = 1;
  } else {
    tmp___4 = merge_remote_util(commit);
    tmp___5 = oideq((struct object_id  const  *)(& oid), (struct object_id  const  *)(& (tmp___4->obj)->oid));
    if (tmp___5) {
      is_throwaway_tag = 0;
    } else {
      is_throwaway_tag = 1;
    }
  }
  free((void *)tag_ref);
  return (is_throwaway_tag);
}
}
int cmd_merge(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct object_id result_tree ;
  struct object_id stash ;
  struct object_id head_oid___1 ;
  struct commit *head_commit ;
  struct strbuf buf___19 ;
  int i ;
  int ret___67 ;
  int head_subsumed ;
  int best_cnt ;
  int merge_was_ok ;
  int automerge_was_ok ;
  struct commit_list *common ;
  char const   *best_strategy ;
  char const   *wt_strategy ;
  struct commit_list *remoteheads ;
  struct commit_list *p___0 ;
  void *branch_to_free ;
  int orig_argc ;
  int tmp ;
  char *tmp___0 ;
  char *default_strategy ;
  char *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int nargc ;
  char const   *nargv[3] ;
  struct strbuf stash_oid ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const   *tmp___6 ;
  int tmp___7 ;
  char const   *tmp___8 ;
  char const   *tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int nargc___0 ;
  char const   *nargv___0[2] ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const   *tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  int tmp___19 ;
  char const   *tmp___20 ;
  int tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  char const __attribute__((__format_arg__(1)))  *tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  char const __attribute__((__format_arg__(1)))  *tmp___26 ;
  char const __attribute__((__format_arg__(1)))  *tmp___27 ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  int tmp___29 ;
  struct object_id *remote_head_oid ;
  char const __attribute__((__format_arg__(1)))  *tmp___30 ;
  char const __attribute__((__format_arg__(1)))  *tmp___31 ;
  char const __attribute__((__format_arg__(1)))  *tmp___32 ;
  char const __attribute__((__format_arg__(1)))  *tmp___33 ;
  struct merge_remote_desc *tmp___34 ;
  struct commit *commit ;
  char *tmp___35 ;
  struct merge_remote_desc *tmp___36 ;
  int tmp___37 ;
  char *default_strategy___0 ;
  char *tmp___38 ;
  struct strategy *tmp___39 ;
  struct commit_list *list___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___40 ;
  struct strbuf msg___5 ;
  struct commit *commit___0 ;
  char const   *tmp___41 ;
  char const   *tmp___42 ;
  char const __attribute__((__format_arg__(1)))  *tmp___43 ;
  char const   *tmp___44 ;
  char const   *tmp___45 ;
  int tmp___46 ;
  char const __attribute__((__format_arg__(1)))  *tmp___47 ;
  int tmp___48 ;
  char const __attribute__((__format_arg__(1)))  *tmp___49 ;
  int up_to_date ;
  struct commit_list *j ;
  struct commit_list *common_one ;
  int tmp___50 ;
  int tmp___51 ;
  char const   *tmp___52 ;
  int tmp___53 ;
  int ret___68 ;
  int cnt ;
  char const __attribute__((__format_arg__(1)))  *tmp___54 ;
  char const __attribute__((__format_arg__(1)))  *tmp___55 ;
  int tmp___56 ;
  char const __attribute__((__format_arg__(1)))  *tmp___57 ;
  char const __attribute__((__format_arg__(1)))  *tmp___58 ;
  char const   *tmp___59 ;
  char const __attribute__((__format_arg__(1)))  *tmp___60 ;
  char const __attribute__((__format_arg__(1)))  *tmp___61 ;
  char const __attribute__((__format_arg__(1)))  *tmp___62 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  ret___67 = 0;
  best_cnt = -1;
  merge_was_ok = 0;
  automerge_was_ok = 0;
  common = (struct commit_list *)((void *)0);
  best_strategy = (char const   *)((void *)0);
  wt_strategy = (char const   *)((void *)0);
  orig_argc = argc;
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage_with_options(builtin_merge_usage, (struct option  const  *)(builtin_merge_options));
    }
  }
  prepare_repo_settings(the_repository);
  the_repository->settings.command_requires_full_index = 0;
  tmp___0 = resolve_refdup((char const   *)"HEAD", 0, & head_oid___1, (int *)((void *)0));
  branch_to_free = (void *)tmp___0;
  branch = (char const   *)branch_to_free;
  if (branch) {
    skip_prefix(branch, (char const   *)"refs/heads/", & branch);
  }
  if (! pull_twohead) {
    tmp___1 = getenv((char const   *)"GIT_TEST_MERGE_ALGORITHM");
    default_strategy = tmp___1;
    if (default_strategy) {
      tmp___2 = strcmp((char const   *)default_strategy, (char const   *)"ort");
      if (! tmp___2) {
        pull_twohead = (char const   *)"ort";
      }
    }
  }
  init_diff_ui_defaults();
  git_config(& git_merge_config, (void *)0);
  if (! branch) {
    head_commit = (struct commit *)((void *)0);
  } else {
    tmp___3 = is_null_oid((struct object_id  const  *)(& head_oid___1));
    if (tmp___3) {
      head_commit = (struct commit *)((void *)0);
    } else {
      head_commit = lookup_commit_or_die((struct object_id  const  *)(& head_oid___1),
                                         (char const   *)"HEAD");
    }
  }
  if (branch_mergeoptions) {
    parse_branch_merge_options(branch_mergeoptions);
  }
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(builtin_merge_options),
                       builtin_merge_usage, (enum parse_opt_flags )0);
  if (shortlog_len < 0) {
    if (merge_log_config > 0) {
      shortlog_len = merge_log_config;
    } else {
      shortlog_len = 0;
    }
  }
  if (verbosity___1 < 0) {
    if (show_progress___2 == -1) {
      show_progress___2 = 0;
    }
  }
  if (abort_current_merge) {
    nargc = 2;
    nargv[0] = (char const   *)"reset";
    nargv[1] = (char const   *)"--merge";
    nargv[2] = (char const   *)((void *)0);
    stash_oid.alloc = 0UL;
    stash_oid.len = 0UL;
    stash_oid.buf = strbuf_slopbuf;
    if (orig_argc != 2) {
      tmp___4 = _((char const   *)"--abort expects no arguments");
      usage_msg_opt((char const   *)tmp___4, builtin_merge_usage, (struct option  const  *)(builtin_merge_options));
    }
    tmp___6 = git_path_merge_head(the_repository);
    tmp___7 = file_exists(tmp___6);
    if (! tmp___7) {
      tmp___5 = _((char const   *)"There is no merge to abort (MERGE_HEAD missing).");
      die((char const   *)tmp___5);
    }
    tmp___9 = git_path_merge_autostash(the_repository);
    tmp___10 = read_oneliner(& stash_oid, tmp___9, 1U);
    if (tmp___10) {
      tmp___8 = git_path_merge_autostash(the_repository);
      unlink(tmp___8);
    }
    ret___67 = cmd_reset(nargc, nargv, prefix___1);
    if (stash_oid.len) {
      apply_autostash_oid((char const   *)stash_oid.buf);
    }
    strbuf_release(& stash_oid);
    goto done;
  }
  if (quit_current_merge) {
    if (orig_argc != 2) {
      tmp___11 = _((char const   *)"--quit expects no arguments");
      usage_msg_opt((char const   *)tmp___11, builtin_merge_usage, (struct option  const  *)(builtin_merge_options));
    }
    remove_merge_branch_state(the_repository);
    goto done;
  }
  if (continue_current_merge) {
    nargc___0 = 1;
    nargv___0[0] = (char const   *)"commit";
    nargv___0[1] = (char const   *)((void *)0);
    if (orig_argc != 2) {
      tmp___12 = _((char const   *)"--continue expects no arguments");
      usage_msg_opt((char const   *)tmp___12, builtin_merge_usage, (struct option  const  *)(builtin_merge_options));
    }
    tmp___14 = git_path_merge_head(the_repository);
    tmp___15 = file_exists(tmp___14);
    if (! tmp___15) {
      tmp___13 = _((char const   *)"There is no merge in progress (MERGE_HEAD missing).");
      die((char const   *)tmp___13);
    }
    ret___67 = cmd_commit(nargc___0, nargv___0, prefix___1);
    goto done;
  }
  tmp___16 = repo_read_index_unmerged(the_repository);
  if (tmp___16) {
    die_resolve_conflict((char const   *)"merge");
  }
  tmp___20 = git_path_merge_head(the_repository);
  tmp___21 = file_exists(tmp___20);
  if (tmp___21) {
    tmp___19 = advice_enabled((enum advice_type )23);
    if (tmp___19) {
      tmp___17 = _((char const   *)"You have not concluded your merge (MERGE_HEAD exists).\nPlease, commit your changes before you merge.");
      die((char const   *)tmp___17);
    } else {
      tmp___18 = _((char const   *)"You have not concluded your merge (MERGE_HEAD exists).");
      die((char const   *)tmp___18);
    }
  }
  tmp___25 = ref_exists((char const   *)"CHERRY_PICK_HEAD");
  if (tmp___25) {
    tmp___24 = advice_enabled((enum advice_type )23);
    if (tmp___24) {
      tmp___22 = _((char const   *)"You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\nPlease, commit your changes before you merge.");
      die((char const   *)tmp___22);
    } else {
      tmp___23 = _((char const   *)"You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).");
      die((char const   *)tmp___23);
    }
  }
  resolve_undo_clear_index(& the_index);
  if (option_edit < 0) {
    option_edit = default_edit_option();
  }
  cleanup_mode___0 = get_cleanup_mode(cleanup_arg___0, 0 < option_edit);
  if (verbosity___1 < 0) {
    show_diffstat___0 = 0;
  }
  if (squash) {
    if ((unsigned int )fast_forward == 0U) {
      tmp___26 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___26, "--squash", "--no-ff.");
    }
    if (option_commit > 0) {
      tmp___27 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___27, "--squash", "--commit.");
    }
    option_commit = 0;
  }
  if (option_commit < 0) {
    option_commit = 1;
  }
  if (! argc) {
    if (default_to_upstream) {
      argc = setup_with_upstream(& argv___0);
    } else {
      tmp___28 = _((char const   *)"No commit specified and merge.defaultToUpstream not set.");
      die((char const   *)tmp___28);
    }
  } else
  if (argc == 1) {
    tmp___29 = strcmp(*(argv___0 + 0), (char const   *)"-");
    if (! tmp___29) {
      *(argv___0 + 0) = (char const   *)"@{-1}";
    }
  }
  if (! argc) {
    usage_with_options(builtin_merge_usage, (struct option  const  *)(builtin_merge_options));
  }
  if (! head_commit) {
    if (squash) {
      tmp___30 = _((char const   *)"Squash commit into empty head not supported yet");
      die((char const   *)tmp___30);
    }
    if ((unsigned int )fast_forward == 0U) {
      tmp___31 = _((char const   *)"Non-fast-forward commit does not make sense into an empty head");
      die((char const   *)tmp___31);
    }
    remoteheads = collect_parents(head_commit, & head_subsumed, argc, argv___0, (struct strbuf *)((void *)0));
    if (! remoteheads) {
      tmp___32 = _((char const   *)"%s - not something we can merge");
      die((char const   *)tmp___32, *(argv___0 + 0));
    }
    if (remoteheads->next) {
      tmp___33 = _((char const   *)"Can merge only exactly one commit into empty head");
      die((char const   *)tmp___33);
    }
    if (verify_signatures) {
      verify_merge_signature(remoteheads->item, verbosity___1, check_trust_level);
    }
    remote_head_oid = & (remoteheads->item)->object.oid;
    read_empty((struct object_id  const  *)remote_head_oid, 0);
    update_ref((char const   *)"initial pull", (char const   *)"HEAD", (struct object_id  const  *)remote_head_oid,
               (struct object_id  const  *)((void *)0), 0U, (enum action_on_err )1);
    goto done;
  }
  remoteheads = collect_parents(head_commit, & head_subsumed, argc, argv___0, & merge_msg);
  if (! head_commit) {
    usage_with_options(builtin_merge_usage, (struct option  const  *)(builtin_merge_options));
  } else
  if (! argc) {
    usage_with_options(builtin_merge_usage, (struct option  const  *)(builtin_merge_options));
  }
  if (verify_signatures) {
    p___0 = remoteheads;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! p___0) {
        goto while_break;
      }
      verify_merge_signature(p___0->item, verbosity___1, check_trust_level);
      p___0 = p___0->next;
    }
    while_break: /* CIL Label */ ;
    }
  }
  strbuf_addstr(& buf___19, (char const   *)"merge");
  p___0 = remoteheads;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___0;
    }
    tmp___34 = merge_remote_util(p___0->item);
    strbuf_addf(& buf___19, (char const   *)" %s", tmp___34->name);
    p___0 = p___0->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  setenv((char const   *)"GIT_REFLOG_ACTION", (char const   *)buf___19.buf, 0);
  strbuf_setlen___33(& buf___19, (size_t )0);
  p___0 = remoteheads;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___1;
    }
    commit = p___0->item;
    tmp___35 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    strbuf_addf(& buf___19, (char const   *)"GITHEAD_%s", tmp___35);
    tmp___36 = merge_remote_util(commit);
    setenv((char const   *)buf___19.buf, (char const   *)(tmp___36->name), 1);
    strbuf_setlen___33(& buf___19, (size_t )0);
    if ((unsigned int )fast_forward != 2U) {
      tmp___37 = merging_a_throwaway_tag(commit);
      if (tmp___37) {
        fast_forward = (enum ff_type )0;
      }
    }
    p___0 = p___0->next;
  }
  while_break___1: /* CIL Label */ ;
  }
  if (! use_strategies) {
    if (! pull_twohead) {
      if (remoteheads) {
        if (! remoteheads->next) {
          tmp___38 = getenv((char const   *)"GIT_TEST_MERGE_ALGORITHM");
          default_strategy___0 = tmp___38;
          if (default_strategy___0) {
            tmp___39 = get_strategy((char const   *)default_strategy___0);
            append_strategy(tmp___39);
          }
        }
      }
    }
  }
  if (! use_strategies) {
    if (! (! remoteheads)) {
      if (! remoteheads->next) {
        add_strategies(pull_twohead, 1U);
      } else {
        add_strategies(pull_octopus, (unsigned int )(1 << 1));
      }
    }
  }
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((size_t )i < use_strategies_nr)) {
      goto while_break___2;
    }
    if ((*(use_strategies + i))->attr & (unsigned int )(1 << 2)) {
      fast_forward = (enum ff_type )0;
    }
    if ((*(use_strategies + i))->attr & (unsigned int )(1 << 3)) {
      allow_trivial = 0;
    }
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  if (! (! remoteheads)) {
    if (! remoteheads->next) {
      common = repo_get_merge_bases(the_repository, head_commit, remoteheads->item);
    } else {
      list___3 = remoteheads;
      commit_list_insert(head_commit, & list___3);
      common = get_octopus_merge_bases(list___3);
      free((void *)list___3);
    }
  }
  update_ref((char const   *)"updating ORIG_HEAD", (char const   *)"ORIG_HEAD", (struct object_id  const  *)(& head_commit->object.oid),
             (struct object_id  const  *)((void *)0), 0U, (enum action_on_err )1);
  if (remoteheads) {
    if (! common) {
      if (! allow_unrelated_histories) {
        tmp___40 = _((char const   *)"refusing to merge unrelated histories");
        die((char const   *)tmp___40);
      }
    } else {
      goto _L___7;
    }
  } else
  _L___7: /* CIL Label */
  if (! remoteheads) {
    finish_up_to_date();
    goto done;
  } else
  if (! remoteheads->next) {
    if (! common->next) {
      if ((unsigned long )common->item == (unsigned long )remoteheads->item) {
        finish_up_to_date();
        goto done;
      } else {
        goto _L___6;
      }
    } else {
      goto _L___6;
    }
  } else
  _L___6: /* CIL Label */
  _L___5: /* CIL Label */
  if ((unsigned int )fast_forward != 0U) {
    if (! remoteheads->next) {
      if (! common->next) {
        tmp___51 = oideq((struct object_id  const  *)(& (common->item)->object.oid),
                         (struct object_id  const  *)(& head_commit->object.oid));
        if (tmp___51) {
          msg___5.alloc = 0UL;
          msg___5.len = 0UL;
          msg___5.buf = strbuf_slopbuf;
          if (verbosity___1 >= 0) {
            tmp___41 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& (remoteheads->item)->object.oid),
                                               default_abbrev);
            tmp___42 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& head_commit->object.oid),
                                               default_abbrev);
            tmp___43 = _((char const   *)"Updating %s..%s\n");
            printf((char const   *)tmp___43, tmp___42, tmp___41);
          }
          strbuf_addstr(& msg___5, (char const   *)"Fast-forward");
          if (have_message) {
            strbuf_addstr(& msg___5, (char const   *)" (no commit created; -m option ignored)");
          }
          commit___0 = remoteheads->item;
          if (! commit___0) {
            ret___67 = 1;
            goto done;
          }
          if (autostash) {
            tmp___44 = git_path_merge_autostash(the_repository);
            create_autostash(the_repository, tmp___44, (char const   *)"merge");
          }
          tmp___46 = checkout_fast_forward(the_repository, (struct object_id  const  *)(& head_commit->object.oid),
                                           (struct object_id  const  *)(& commit___0->object.oid),
                                           overwrite_ignore);
          if (tmp___46) {
            tmp___45 = git_path_merge_autostash(the_repository);
            apply_autostash(tmp___45);
            ret___67 = 1;
            goto done;
          }
          finish(head_commit, remoteheads, (struct object_id  const  *)(& commit___0->object.oid),
                 (char const   *)msg___5.buf);
          remove_merge_branch_state(the_repository);
          strbuf_release(& msg___5);
          goto done;
        } else {
          goto _L___4;
        }
      } else {
        goto _L___4;
      }
    } else {
      goto _L___4;
    }
  } else
  _L___4: /* CIL Label */
  _L___3: /* CIL Label */
  _L___2: /* CIL Label */
  if (! remoteheads->next) {
    if (! common->next) {
      goto _L___1;
    }
  } else
  _L___1: /* CIL Label */
  if (! remoteheads->next) {
    if (! common->next) {
      if (option_commit) {
        refresh_index(& the_index, (unsigned int )(1 << 2), (struct pathspec  const  *)((void *)0),
                      (char *)((void *)0), (char const   *)((void *)0));
        if (allow_trivial) {
          if ((unsigned int )fast_forward != 2U) {
            git_committer_info(1);
            tmp___47 = _((char const   *)"Trying really trivial in-index merge...\n");
            printf((char const   *)tmp___47);
            tmp___48 = read_tree_trivial(& (common->item)->object.oid, & head_commit->object.oid,
                                         & (remoteheads->item)->object.oid);
            if (! tmp___48) {
              ret___67 = merge_trivial(head_commit, remoteheads);
              goto done;
            }
            tmp___49 = _((char const   *)"Nope.\n");
            printf((char const   *)tmp___49);
          }
        }
      } else {
        goto _L___0;
      }
    } else {
      goto _L___0;
    }
  } else {
    _L___0: /* CIL Label */
    _L: /* CIL Label */
    up_to_date = 1;
    j = remoteheads;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! j) {
        goto while_break___3;
      }
      common_one = repo_get_merge_bases(the_repository, head_commit, j->item);
      tmp___50 = oideq((struct object_id  const  *)(& (common_one->item)->object.oid),
                       (struct object_id  const  *)(& (j->item)->object.oid));
      if (! tmp___50) {
        up_to_date = 0;
        goto while_break___3;
      }
      j = j->next;
    }
    while_break___3: /* CIL Label */ ;
    }
    if (up_to_date) {
      finish_up_to_date();
      goto done;
    }
  }
  if ((unsigned int )fast_forward == 2U) {
    die_ff_impossible();
  }
  if (autostash) {
    tmp___52 = git_path_merge_autostash(the_repository);
    create_autostash(the_repository, tmp___52, (char const   *)"merge");
  }
  git_committer_info(1);
  if (use_strategies_nr == 1UL) {
    oidclr(& stash);
  } else {
    tmp___53 = save_state(& stash);
    if (tmp___53) {
      oidclr(& stash);
    }
  }
  i = 0;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! merge_was_ok) {
      if (! ((size_t )i < use_strategies_nr)) {
        goto while_break___4;
      }
    } else {
      goto while_break___4;
    }
    if (i) {
      tmp___54 = _((char const   *)"Rewinding the tree to pristine...\n");
      printf((char const   *)tmp___54);
      restore_state((struct object_id  const  *)(& head_commit->object.oid), (struct object_id  const  *)(& stash));
    }
    if (use_strategies_nr != 1UL) {
      tmp___55 = _((char const   *)"Trying merge strategy %s...\n");
      printf((char const   *)tmp___55, (*(use_strategies + i))->name);
    }
    wt_strategy = (*(use_strategies + i))->name;
    ret___68 = try_merge_strategy((*(use_strategies + i))->name, common, remoteheads,
                                  head_commit);
    if (ret___68 < 2) {
      if (! ret___68) {
        if (option_commit) {
          automerge_was_ok = 1;
          goto while_break___4;
        }
        merge_was_ok = 1;
      }
      if (use_strategies_nr > 1UL) {
        tmp___56 = evaluate_result();
        cnt = tmp___56;
      } else {
        cnt = 0;
      }
      if (best_cnt <= 0) {
        best_strategy = (*(use_strategies + i))->name;
        best_cnt = cnt;
      } else
      if (cnt <= best_cnt) {
        best_strategy = (*(use_strategies + i))->name;
        best_cnt = cnt;
      }
    }
    i ++;
  }
  while_break___4: /* CIL Label */ ;
  }
  if (automerge_was_ok) {
    ret___67 = finish_automerge(head_commit, head_subsumed, common, remoteheads, & result_tree,
                                wt_strategy);
    goto done;
  }
  if (! best_strategy) {
    restore_state((struct object_id  const  *)(& head_commit->object.oid), (struct object_id  const  *)(& stash));
    if (use_strategies_nr > 1UL) {
      tmp___57 = _((char const   *)"No merge strategy handled the merge.\n");
      fprintf(stderr, (char const   *)tmp___57);
    } else {
      tmp___58 = _((char const   *)"Merge with strategy %s failed.\n");
      fprintf(stderr, (char const   *)tmp___58, (*(use_strategies + 0))->name);
    }
    tmp___59 = git_path_merge_autostash(the_repository);
    apply_autostash(tmp___59);
    ret___67 = 2;
    goto done;
  } else
  if (! ((unsigned long )best_strategy == (unsigned long )wt_strategy)) {
    tmp___60 = _((char const   *)"Rewinding the tree to pristine...\n");
    printf((char const   *)tmp___60);
    restore_state((struct object_id  const  *)(& head_commit->object.oid), (struct object_id  const  *)(& stash));
    tmp___61 = _((char const   *)"Using the %s strategy to prepare resolving by hand.\n");
    printf((char const   *)tmp___61, best_strategy);
    try_merge_strategy(best_strategy, common, remoteheads, head_commit);
  }
  if (squash) {
    finish(head_commit, remoteheads, (struct object_id  const  *)((void *)0), (char const   *)((void *)0));
    git_test_write_commit_graph_or_die();
  } else {
    write_merge_state(remoteheads);
  }
  if (merge_was_ok) {
    tmp___62 = _((char const   *)"Automatic merge went well; stopped before committing as requested\n");
    fprintf(stderr, (char const   *)tmp___62);
  } else {
    ret___67 = suggest_conflicts();
  }
  done:
  strbuf_release(& buf___19);
  free(branch_to_free);
  return (ret___67);
}
}
static double const   __ac_HASH_UPPER___136  =    (double const   )0.77;
__inline static void kh_resize_oid_set___136(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___136(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___136 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___136 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___136(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___136(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___136(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___136(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___136(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___136(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___136 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___136 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___136(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___136(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___136(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___136(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___136(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___136(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___136 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___136 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___136(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___136(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___136(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___136(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___101(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___101(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___136 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___136 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___101(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___101(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___101(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___101(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *builtin_mktag_usage[2]  = {      (char const   *)"git mktag",      (char const   *)((void *)0)};
static int option_strict  =    1;
static struct fsck_options fsck_options___1  =
     {(int (*)(struct object *obj , enum object_type object_type , void *data , struct fsck_options *options ))0,
    & fsck_error_function, 1U, (enum fsck_msg_type *)0, {{0U, 0U, 0U, 0U, (khint32_t *)0,
                                                          (struct object_id *)0, (int *)0}},
    {{(khint_t )0, 0U, 0U, 0U, (khint32_t *)0, (struct object_id *)0, (int *)0}},
    {{(khint_t )0, 0U, 0U, 0U, (khint32_t *)0, (struct object_id *)0, (int *)0}},
    (kh_oid_map_t *)0};
static int mktag_fsck_error_func(struct fsck_options *o , struct object_id  const  *oid ,
                                 enum object_type object_type___0 , enum fsck_msg_type msg_type ,
                                 enum fsck_msg_id msg_id , char const   *message___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  {
  if ((unsigned int )msg_type == 4U) {
    goto case_4;
  }
  if ((unsigned int )msg_type == 3U) {
    goto case_3;
  }
  goto switch_default;
  case_4: /* CIL Label */
  if (! option_strict) {
    tmp = _((char const   *)"warning: tag input does not pass fsck: %s");
    fprintf_ln(stderr, (char const   *)tmp, message___0);
    return (0);
  }
  case_3: /* CIL Label */
  tmp___0 = _((char const   *)"error: tag input does not pass fsck: %s");
  fprintf_ln(stderr, (char const   *)tmp___0, message___0);
  return (1);
  switch_default: /* CIL Label */
  tmp___1 = _((char const   *)"%d (FSCK_IGNORE?) should never trigger this callback");
  BUG_fl((char const   *)"builtin/mktag.c", 42, (char const   *)tmp___1, (unsigned int )msg_type);
  switch_break: /* CIL Label */ ;
  }
}
}
static int verify_object_in_tag(struct object_id *tagged_oid , int *tagged_type )
{
  int ret___67 ;
  enum object_type type___0 ;
  unsigned long size ;
  void *buffer___5 ;
  struct object_id  const  *repl ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const   *tmp___5 ;

  {
  buffer___5 = repo_read_object_file(the_repository, (struct object_id  const  *)tagged_oid,
                                     & type___0, & size);
  if (! buffer___5) {
    tmp = oid_to_hex((struct object_id  const  *)tagged_oid);
    tmp___0 = _((char const   *)"could not read tagged object \'%s\'");
    die((char const   *)tmp___0, tmp);
  }
  if ((int )type___0 != *tagged_type) {
    tmp___1 = type_name((unsigned int )type___0);
    tmp___2 = type_name((unsigned int )*tagged_type);
    tmp___3 = oid_to_hex((struct object_id  const  *)tagged_oid);
    tmp___4 = _((char const   *)"object \'%s\' tagged as \'%s\', but is a \'%s\' type");
    die((char const   *)tmp___4, tmp___3, tmp___2, tmp___1);
  }
  repl = lookup_replace_object(the_repository, (struct object_id  const  *)tagged_oid);
  tmp___5 = type_name((unsigned int )*tagged_type);
  ret___67 = check_object_signature(the_repository, repl, buffer___5, size, tmp___5,
                                    (struct object_id *)((void *)0));
  free(buffer___5);
  return (ret___67);
}
}
static struct option builtin_mktag_options[2]  = {      {(enum parse_opt_type )8, 0, (char const   *)"strict", (void *)(& option_strict),
      (char const   *)((void *)0), (char const   *)"enable more strict checking",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
int cmd_mktag(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct strbuf buf___19 ;
  struct object_id tagged_oid ;
  int tagged_type ;
  struct object_id result___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  ssize_t tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char *tmp___7 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)(builtin_mktag_options),
                       builtin_mktag_usage, (enum parse_opt_flags )0);
  tmp___0 = strbuf_read(& buf___19, 0, (size_t )0);
  if (tmp___0 < 0L) {
    tmp = _((char const   *)"could not read from stdin");
    die_errno((char const   *)tmp);
  }
  fsck_options___1.error_func = & mktag_fsck_error_func;
  fsck_set_msg_type_from_ids(& fsck_options___1, (enum fsck_msg_id )54, (enum fsck_msg_type )4);
  git_config(& git_fsck_config, (void *)(& fsck_options___1));
  tmp___2 = fsck_tag_standalone((struct object_id  const  *)((void *)0), (char const   *)buf___19.buf,
                                buf___19.len, & fsck_options___1, & tagged_oid, & tagged_type);
  if (tmp___2) {
    tmp___1 = _((char const   *)"tag on stdin did not pass our strict fsck check");
    die((char const   *)tmp___1);
  }
  tmp___4 = verify_object_in_tag(& tagged_oid, & tagged_type);
  if (tmp___4) {
    tmp___3 = _((char const   *)"tag on stdin did not refer to a valid object");
    die((char const   *)tmp___3);
  }
  tmp___6 = write_object_file((void const   *)buf___19.buf, buf___19.len, tag_type,
                              & result___0);
  if (tmp___6 < 0) {
    tmp___5 = _((char const   *)"unable to write tag file");
    die((char const   *)tmp___5);
  }
  strbuf_release(& buf___19);
  tmp___7 = oid_to_hex((struct object_id  const  *)(& result___0));
  puts((char const   *)tmp___7);
  return (0);
}
}
static double const   __ac_HASH_UPPER___137  =    (double const   )0.77;
__inline static void kh_resize_oid_set___137(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___137(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___137 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___137 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___137(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___137(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___137(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___137(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___137(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___137(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___137 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___137 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___137(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___137(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___137(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___137(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___137(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___137(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___137 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___137 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___137(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___137(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___137(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___137(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___102(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___102(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___137 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___137 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___102(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___102(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___102(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___102(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static struct treeent **entries___0  ;
static int alloc  ;
static int used  ;
static void append_to_tree(unsigned int mode___1 , struct object_id *oid , char *path___6 )
{
  struct treeent *ent ;
  size_t len___0 ;
  size_t tmp ;
  char *tmp___0 ;
  size_t flex_array_len_ ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;
  int tmp___6 ;

  {
  tmp = strlen((char const   *)path___6);
  len___0 = tmp;
  tmp___0 = strchr((char const   *)path___6, '/');
  if (tmp___0) {
    die((char const   *)"path %s contains slash", path___6);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    flex_array_len_ = len___0;
    tmp___1 = st_add(sizeof(*ent), flex_array_len_);
    tmp___2 = st_add(tmp___1, (size_t )1);
    tmp___3 = xcalloc((size_t )1, tmp___2);
    ent = (struct treeent *)tmp___3;
    memcpy((void *)(ent->name), (void const   *)path___6, flex_array_len_);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  ent->mode = mode___1;
  ent->len = (int )len___0;
  oidcpy(& ent->oid, (struct object_id  const  *)oid);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (used + 1 > alloc) {
      if (((alloc + 16) * 3) / 2 < used + 1) {
        alloc = used + 1;
      } else {
        alloc = ((alloc + 16) * 3) / 2;
      }
      tmp___4 = st_mult(sizeof(*entries___0), (size_t )alloc);
      tmp___5 = xrealloc((void *)entries___0, tmp___4);
      entries___0 = (struct treeent **)tmp___5;
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___6 = used;
  used ++;
  *(entries___0 + tmp___6) = ent;
  return;
}
}
static int ent_compare(void const   *a_ , void const   *b_ )
{
  struct treeent *a ;
  struct treeent *b___0 ;
  int tmp ;

  {
  a = *((struct treeent **)a_);
  b___0 = *((struct treeent **)b_);
  tmp = base_name_compare((char const   *)(a->name), a->len, (int )a->mode, (char const   *)(b___0->name),
                          b___0->len, (int )b___0->mode);
  return (tmp);
}
}
static void write_tree___0(struct object_id *oid )
{
  struct strbuf buf___19 ;
  size_t size ;
  int i ;
  struct treeent *ent ;

  {
  sane_qsort((void *)entries___0, (size_t )used, sizeof(*entries___0), & ent_compare);
  i = 0;
  size = (size_t )i;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < used)) {
      goto while_break;
    }
    size += (size_t )(32 + (*(entries___0 + i))->len);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_init(& buf___19, size);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < used)) {
      goto while_break___0;
    }
    ent = *(entries___0 + i);
    strbuf_addf(& buf___19, (char const   *)"%o %s%c", ent->mode, ent->name, '\000');
    strbuf_add(& buf___19, (void const   *)(ent->oid.hash), (size_t )(the_repository->hash_algo)->rawsz);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  write_object_file((void const   *)buf___19.buf, buf___19.len, tree_type, oid);
  strbuf_release(& buf___19);
  return;
}
}
static char const   *mktree_usage[2]  = {      (char const   *)"git mktree [-z] [--missing] [--batch]",      (char const   *)((void *)0)};
static void mktree_line(char *buf___19 , int nul_term_line___2 , int allow_missing )
{
  char *ptr ;
  char *ntr ;
  char const   *p___0 ;
  unsigned int mode___1 ;
  enum object_type mode_type ;
  enum object_type obj_type ;
  char *path___6 ;
  char *to_free ;
  struct object_id oid ;
  unsigned long tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  struct strbuf p_uq ;
  int tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  char const   *tmp___7 ;
  char const   *tmp___8 ;
  char *tmp___9 ;

  {
  to_free = (char *)((void *)0);
  ptr = buf___19;
  tmp = strtoul((char const   * __restrict  )ptr, (char ** __restrict  )(& ntr), 8);
  mode___1 = (unsigned int )tmp;
  if ((unsigned long )ptr == (unsigned long )ntr) {
    die((char const   *)"input format error: %s", buf___19);
  } else
  if (! ntr) {
    die((char const   *)"input format error: %s", buf___19);
  } else
  if ((int )*ntr != 32) {
    die((char const   *)"input format error: %s", buf___19);
  }
  ptr = ntr + 1;
  ntr = strchr((char const   *)ptr, ' ');
  if (! ntr) {
    die((char const   *)"input format error: %s", buf___19);
  } else {
    tmp___0 = parse_oid_hex((char const   *)(ntr + 1), & oid, & p___0);
    if (tmp___0) {
      die((char const   *)"input format error: %s", buf___19);
    } else
    if ((int const   )*p___0 != 9) {
      die((char const   *)"input format error: %s", buf___19);
    }
  }
  if ((mode___1 & 61440U) == 57344U) {
    allow_missing = 1;
  }
  tmp___1 = ntr;
  ntr ++;
  *tmp___1 = (char)0;
  path___6 = (char *)p___0 + 1;
  if (! nul_term_line___2) {
    if ((int )*(path___6 + 0) == 34) {
      p_uq.alloc = 0UL;
      p_uq.len = 0UL;
      p_uq.buf = strbuf_slopbuf;
      tmp___2 = unquote_c_style(& p_uq, (char const   *)path___6, (char const   **)((void *)0));
      if (tmp___2) {
        die((char const   *)"invalid quoting");
      }
      to_free = strbuf_detach(& p_uq, (size_t *)((void *)0));
      path___6 = to_free;
    }
  }
  mode_type = object_type(mode___1);
  tmp___4 = type_from_string_gently((char const   *)ptr, (ssize_t )-1, 0);
  if ((int )mode_type != tmp___4) {
    tmp___3 = type_name((unsigned int )mode_type);
    die((char const   *)"entry \'%s\' object type (%s) doesn\'t match mode type (%s)",
        path___6, ptr, tmp___3);
  }
  tmp___5 = oid_object_info(the_repository, (struct object_id  const  *)(& oid), (unsigned long *)((void *)0));
  obj_type = (enum object_type )tmp___5;
  if ((int )obj_type < 0) {
    if (! allow_missing) {
      tmp___6 = oid_to_hex((struct object_id  const  *)(& oid));
      die((char const   *)"entry \'%s\' object %s is unavailable", path___6, tmp___6);
    }
  } else
  if ((int )obj_type != (int )mode_type) {
    tmp___7 = type_name((unsigned int )mode_type);
    tmp___8 = type_name((unsigned int )obj_type);
    tmp___9 = oid_to_hex((struct object_id  const  *)(& oid));
    die((char const   *)"entry \'%s\' object %s is a %s but specified type was (%s)",
        path___6, tmp___9, tmp___8, tmp___7);
  }
  append_to_tree(mode___1, & oid, path___6);
  free((void *)to_free);
  return;
}
}
int cmd_mktree(int ac , char const   **av , char const   *prefix___1 )
{
  struct strbuf sb___6 ;
  struct object_id oid ;
  int nul_term_line___2 ;
  int allow_missing ;
  int is_batch_mode ;
  int got_eof ;
  int (*getline_fn)(struct strbuf * , FILE * ) ;
  struct option option[4] ;
  int tmp ;
  char *tmp___0 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  nul_term_line___2 = 0;
  allow_missing = 0;
  is_batch_mode = 0;
  got_eof = 0;
  option[0].type = (enum parse_opt_type )((enum parse_opt_type )8);
  option[0].short_name = (int )'z';
  option[0].long_name = (char const   *)((char const   *)((void *)0));
  option[0].value = (void *)((void *)(& nul_term_line___2));
  option[0].argh = (char const   *)((char const   *)((void *)0));
  option[0].help = (char const   *)((char const   *)"input is NUL terminated");
  option[0].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  option[0].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  option[0].defval = (intptr_t )((intptr_t )1);
  option[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  option[0].extra = (intptr_t )0L;
  option[1].type = (enum parse_opt_type )((enum parse_opt_type )8);
  option[1].short_name = (int )0;
  option[1].long_name = (char const   *)((char const   *)"missing");
  option[1].value = (void *)((void *)(& allow_missing));
  option[1].argh = (char const   *)((char const   *)((void *)0));
  option[1].help = (char const   *)((char const   *)"allow missing objects");
  option[1].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  option[1].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  option[1].defval = (intptr_t )((intptr_t )1);
  option[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  option[1].extra = (intptr_t )0L;
  option[2].type = (enum parse_opt_type )((enum parse_opt_type )8);
  option[2].short_name = (int )0;
  option[2].long_name = (char const   *)((char const   *)"batch");
  option[2].value = (void *)((void *)(& is_batch_mode));
  option[2].argh = (char const   *)((char const   *)((void *)0));
  option[2].help = (char const   *)((char const   *)"allow creation of more than one tree");
  option[2].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  option[2].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  option[2].defval = (intptr_t )((intptr_t )1);
  option[2].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  option[2].extra = (intptr_t )0L;
  option[3].type = (enum parse_opt_type )((enum parse_opt_type )0);
  option[3].short_name = (int )0;
  option[3].long_name = (char const   *)((char const   *)0);
  option[3].value = (void *)((void *)0);
  option[3].argh = (char const   *)((char const   *)0);
  option[3].help = (char const   *)((char const   *)0);
  option[3].flags = (enum parse_opt_option_flags )0U;
  option[3].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  option[3].defval = (intptr_t )0L;
  option[3].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  option[3].extra = (intptr_t )0L;
  ac = parse_options(ac, av, prefix___1, (struct option  const  *)(option), (char const   **)(mktree_usage),
                     (enum parse_opt_flags )0);
  if (nul_term_line___2) {
    getline_fn = & strbuf_getline_nul;
  } else {
    getline_fn = & strbuf_getline_lf;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (! got_eof)) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp = (*getline_fn)(& sb___6, stdin);
      if (tmp == -1) {
        got_eof = 1;
        goto while_break___0;
      }
      if ((int )*(sb___6.buf + 0) == 0) {
        if (is_batch_mode) {
          goto while_break___0;
        }
        die((char const   *)"input format error: (blank line only valid in batch mode)");
      }
      mktree_line(sb___6.buf, nul_term_line___2, allow_missing);
    }
    while_break___0: /* CIL Label */ ;
    }
    if (is_batch_mode) {
      if (got_eof) {
        if (! (used < 1)) {
          write_tree___0(& oid);
          tmp___0 = oid_to_hex((struct object_id  const  *)(& oid));
          puts((char const   *)tmp___0);
          fflush(stdout);
        }
      } else {
        write_tree___0(& oid);
        tmp___0 = oid_to_hex((struct object_id  const  *)(& oid));
        puts((char const   *)tmp___0);
        fflush(stdout);
      }
    } else {
      write_tree___0(& oid);
      tmp___0 = oid_to_hex((struct object_id  const  *)(& oid));
      puts((char const   *)tmp___0);
      fflush(stdout);
    }
    used = 0;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& sb___6);
  return (0);
}
}
static double const   __ac_HASH_UPPER___138  =    (double const   )0.77;
__inline static void kh_resize_oid_set___138(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___138(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___138 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___138 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___138(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___138(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___138(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___138(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___138(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___138(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___138 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___138 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___138(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___138(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___138(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___138(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___138(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___138(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___138 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___138 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___138(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___138(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___138(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___138(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___103(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___103(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___138 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___138 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___103(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___103(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___103(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___103(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *builtin_multi_pack_index_write_usage[2]  = {      (char const   *)"git multi-pack-index [<options>] write [--preferred-pack=<pack>][--refs-snapshot=<path>]",      (char const   *)((void *)0)};
static char const   *builtin_multi_pack_index_verify_usage[2]  = {      (char const   *)"git multi-pack-index [<options>] verify",      (char const   *)((void *)0)};
static char const   *builtin_multi_pack_index_expire_usage[2]  = {      (char const   *)"git multi-pack-index [<options>] expire",      (char const   *)((void *)0)};
static char const   *builtin_multi_pack_index_repack_usage[2]  = {      (char const   *)"git multi-pack-index [<options>] repack [--batch-size=<size>]",      (char const   *)((void *)0)};
static char const   *builtin_multi_pack_index_usage[5]  = {      (char const   *)"git multi-pack-index [<options>] write [--preferred-pack=<pack>][--refs-snapshot=<path>]",      (char const   *)"git multi-pack-index [<options>] verify",      (char const   *)"git multi-pack-index [<options>] expire",      (char const   *)"git multi-pack-index [<options>] repack [--batch-size=<size>]",
        (char const   *)((void *)0)};
static struct opts_multi_pack_index opts___0  ;
static struct option common_opts___0[2]  = {      {(enum parse_opt_type )14, 0, (char const   *)"object-dir", (void *)(& opts___0.object_dir),
      (char const   *)"file", (char const   *)"object directory containing set of packfile and pack-index pairs",
      0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static struct option *add_common_options___1(struct option *prev )
{
  struct option *tmp ;

  {
  tmp = parse_options_concat((struct option  const  *)(common_opts___0), (struct option  const  *)prev);
  return (tmp);
}
}
static int git_multi_pack_index_write_config(char const   *var , char const   *value ,
                                             void *cb )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp___0 = strcmp(var, (char const   *)"pack.writebitmaphashcache");
  if (! tmp___0) {
    tmp = git_config_bool(var, value);
    if (tmp) {
      opts___0.flags |= (unsigned int )(1 << 3);
    } else {
      opts___0.flags &= (unsigned int )(~ (1 << 3));
    }
  }
  return (0);
}
}
static void read_packs_from_stdin(struct string_list *to )
{
  struct strbuf buf___19 ;
  int tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = strbuf_getline(& buf___19, stdin);
    if (! (tmp != -1)) {
      goto while_break;
    }
    string_list_append(to, (char const   *)buf___19.buf);
  }
  while_break: /* CIL Label */ ;
  }
  string_list_sort(to);
  strbuf_release(& buf___19);
  return;
}
}
static int cmd_multi_pack_index_write(int argc , char const   **argv___0 ) ;
static struct option builtin_multi_pack_index_write_options[6]  = {      {(enum parse_opt_type )9, 0, (char const   *)"preferred-pack", (void *)(& opts___0.preferred_pack),
      (char const   *)"preferred-pack", (char const   *)"pack for reuse when computing a multi-pack bitmap",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )4, 0, (char const   *)"bitmap", (void *)(& opts___0.flags),
      (char const   *)((void *)0), (char const   *)"write multi-pack bitmap", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )((1 << 2) | (1 << 1)), (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )4, 0, (char const   *)"progress", (void *)(& opts___0.flags),
      (char const   *)((void *)0), (char const   *)"force progress reporting", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"stdin-packs", (void *)(& opts___0.stdin_packs),
      (char const   *)((void *)0), (char const   *)"write multi-pack index containing only given indexes",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )14, 0, (char const   *)"refs-snapshot", (void *)(& opts___0.refs_snapshot),
      (char const   *)"file", (char const   *)"refs snapshot for selecting bitmap commits",
      0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static int cmd_multi_pack_index_write(int argc , char const   **argv___0 )
{
  struct option *options ;
  int tmp ;
  struct string_list packs ;
  int ret___67 ;
  int tmp___0 ;

  {
  opts___0.flags |= (unsigned int )(1 << 3);
  git_config(& git_multi_pack_index_write_config, (void *)0);
  options = add_common_options___1(builtin_multi_pack_index_write_options);
  trace2_cmd_mode_fl((char const   *)"builtin/multi-pack-index.c", 117, *(argv___0 + 0));
  tmp = isatty(2);
  if (tmp) {
    opts___0.flags |= 1U;
  }
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)options,
                       builtin_multi_pack_index_write_usage, (enum parse_opt_flags )8);
  if (argc) {
    usage_with_options(builtin_multi_pack_index_write_usage, (struct option  const  *)options);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)options);
    options = (struct option *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (opts___0.stdin_packs) {
    packs.items = (struct string_list_item *)0;
    packs.nr = 0U;
    packs.alloc = 0U;
    packs.strdup_strings = 1U;
    packs.cmp = (int (*)(char const   * , char const   * ))0;
    read_packs_from_stdin(& packs);
    ret___67 = write_midx_file_only(opts___0.object_dir, & packs, opts___0.preferred_pack,
                                    opts___0.refs_snapshot, opts___0.flags);
    string_list_clear(& packs, 0);
    return (ret___67);
  }
  tmp___0 = write_midx_file(opts___0.object_dir, opts___0.preferred_pack, opts___0.refs_snapshot,
                            opts___0.flags);
  return (tmp___0);
}
}
static int cmd_multi_pack_index_verify(int argc , char const   **argv___0 ) ;
static struct option builtin_multi_pack_index_verify_options[2]  = {      {(enum parse_opt_type )4, 0, (char const   *)"progress", (void *)(& opts___0.flags),
      (char const   *)((void *)0), (char const   *)"force progress reporting", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static int cmd_multi_pack_index_verify(int argc , char const   **argv___0 )
{
  struct option *options ;
  int tmp ;
  int tmp___0 ;

  {
  options = add_common_options___1(builtin_multi_pack_index_verify_options);
  trace2_cmd_mode_fl((char const   *)"builtin/multi-pack-index.c", 159, *(argv___0 + 0));
  tmp = isatty(2);
  if (tmp) {
    opts___0.flags |= 1U;
  }
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)options,
                       builtin_multi_pack_index_verify_usage, (enum parse_opt_flags )8);
  if (argc) {
    usage_with_options(builtin_multi_pack_index_verify_usage, (struct option  const  *)options);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)options);
    options = (struct option *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = verify_midx_file(the_repository, opts___0.object_dir, opts___0.flags);
  return (tmp___0);
}
}
static int cmd_multi_pack_index_expire(int argc , char const   **argv___0 ) ;
static struct option builtin_multi_pack_index_expire_options[2]  = {      {(enum parse_opt_type )4, 0, (char const   *)"progress", (void *)(& opts___0.flags),
      (char const   *)((void *)0), (char const   *)"force progress reporting", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static int cmd_multi_pack_index_expire(int argc , char const   **argv___0 )
{
  struct option *options ;
  int tmp ;
  int tmp___0 ;

  {
  options = add_common_options___1(builtin_multi_pack_index_expire_options);
  trace2_cmd_mode_fl((char const   *)"builtin/multi-pack-index.c", 185, *(argv___0 + 0));
  tmp = isatty(2);
  if (tmp) {
    opts___0.flags |= 1U;
  }
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)options,
                       builtin_multi_pack_index_expire_usage, (enum parse_opt_flags )8);
  if (argc) {
    usage_with_options(builtin_multi_pack_index_expire_usage, (struct option  const  *)options);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)options);
    options = (struct option *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = expire_midx_packs(the_repository, opts___0.object_dir, opts___0.flags);
  return (tmp___0);
}
}
static int cmd_multi_pack_index_repack(int argc , char const   **argv___0 ) ;
static struct option builtin_multi_pack_index_repack_options[3]  = {      {(enum parse_opt_type )11, 0, (char const   *)"batch-size", (void *)(& opts___0.batch_size),
      (char const   *)"n", (char const   *)"during repack, collect pack-files of smaller size into a batch that is larger than this size",
      (enum parse_opt_option_flags )4, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )4, 0, (char const   *)"progress", (void *)(& opts___0.flags),
      (char const   *)((void *)0), (char const   *)"force progress reporting", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static int cmd_multi_pack_index_repack(int argc , char const   **argv___0 )
{
  struct option *options ;
  int tmp ;
  int tmp___0 ;

  {
  options = add_common_options___1(builtin_multi_pack_index_repack_options);
  trace2_cmd_mode_fl((char const   *)"builtin/multi-pack-index.c", 214, *(argv___0 + 0));
  tmp = isatty(2);
  if (tmp) {
    opts___0.flags |= 1U;
  }
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)options,
                       builtin_multi_pack_index_repack_usage, (enum parse_opt_flags )8);
  if (argc) {
    usage_with_options(builtin_multi_pack_index_repack_usage, (struct option  const  *)options);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)options);
    options = (struct option *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = midx_repack(the_repository, opts___0.object_dir, opts___0.batch_size,
                        opts___0.flags);
  return (tmp___0);
}
}
int cmd_multi_pack_index(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct option *builtin_multi_pack_index_options ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;

  {
  builtin_multi_pack_index_options = common_opts___0;
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)builtin_multi_pack_index_options,
                       builtin_multi_pack_index_usage, (enum parse_opt_flags )2);
  if (! opts___0.object_dir) {
    tmp = get_object_directory();
    opts___0.object_dir = (char const   *)tmp;
  }
  if (! argc) {
    goto usage;
  }
  tmp___7 = strcmp(*(argv___0 + 0), (char const   *)"repack");
  if (tmp___7) {
    tmp___6 = strcmp(*(argv___0 + 0), (char const   *)"write");
    if (tmp___6) {
      tmp___5 = strcmp(*(argv___0 + 0), (char const   *)"verify");
      if (tmp___5) {
        tmp___4 = strcmp(*(argv___0 + 0), (char const   *)"expire");
        if (! tmp___4) {
          tmp___3 = cmd_multi_pack_index_expire(argc, argv___0);
          return (tmp___3);
        }
      } else {
        tmp___2 = cmd_multi_pack_index_verify(argc, argv___0);
        return (tmp___2);
      }
    } else {
      tmp___1 = cmd_multi_pack_index_write(argc, argv___0);
      return (tmp___1);
    }
  } else {
    tmp___0 = cmd_multi_pack_index_repack(argc, argv___0);
    return (tmp___0);
  }
  tmp___8 = _((char const   *)"unrecognized subcommand: %s");
  error((char const   *)tmp___8, *(argv___0 + 0));
  const_error();
  usage:
  usage_with_options(builtin_multi_pack_index_usage, (struct option  const  *)builtin_multi_pack_index_options);
}
}
static char const   *builtin_mv_usage[2]  = {      (char const   *)"git mv [<options>] <source>... <destination>",      (char const   *)((void *)0)};
static char const   **internal_prefix_pathspec(char const   *prefix___1 , char const   **pathspec___1 ,
                                               int count___0 , unsigned int flags___0 )
{
  int i ;
  char const   **result___0 ;
  int prefixlen ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  int length ;
  size_t tmp___3 ;
  int to_copy ;
  char *it ;
  int tmp___4 ;
  void *tmp___5 ;
  char *tmp___6 ;
  char *tmp___7 ;
  char const   *match___0 ;
  char *tmp___8 ;

  {
  if (prefix___1) {
    tmp = strlen(prefix___1);
    tmp___0 = tmp;
  } else {
    tmp___0 = (size_t )0;
  }
  prefixlen = (int )tmp___0;
  tmp___1 = st_mult(sizeof(*result___0), (size_t )(count___0 + 1));
  tmp___2 = xmalloc(tmp___1);
  result___0 = (char const   **)tmp___2;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < count___0)) {
      goto while_break;
    }
    tmp___3 = strlen(*(pathspec___1 + i));
    length = (int )tmp___3;
    to_copy = length;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (flags___0 & 2U)) {
        if (to_copy > 0) {
          tmp___4 = git_is_dir_sep((int )*(*(pathspec___1 + i) + (to_copy - 1)));
          if (! tmp___4) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      to_copy --;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___5 = xmemdupz((void const   *)*(pathspec___1 + i), (size_t )to_copy);
    it = (char *)tmp___5;
    if (flags___0 & 1U) {
      tmp___6 = __xpg_basename(it);
      tmp___7 = xstrdup((char const   *)tmp___6);
      *(result___0 + i) = (char const   *)tmp___7;
      free((void *)it);
    } else {
      *(result___0 + i) = (char const   *)it;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  *(result___0 + count___0) = (char const   *)((void *)0);
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < count___0)) {
      goto while_break___1;
    }
    tmp___8 = prefix_path(prefix___1, prefixlen, *(result___0 + i));
    match___0 = (char const   *)tmp___8;
    free((void *)((char *)*(result___0 + i)));
    *(result___0 + i) = match___0;
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  return (result___0);
}
}
static char const   *add_slash(char const   *path___6 )
{
  size_t len___0 ;
  size_t tmp ;
  char *with_slash ;
  size_t tmp___0 ;
  void *tmp___1 ;
  size_t tmp___2 ;

  {
  tmp = strlen(path___6);
  len___0 = tmp;
  if ((int const   )*(path___6 + (len___0 - 1UL)) != 47) {
    tmp___0 = st_add(len___0, (size_t )2);
    tmp___1 = xmalloc(tmp___0);
    with_slash = (char *)tmp___1;
    memcpy((void *)with_slash, (void const   *)path___6, len___0);
    tmp___2 = len___0;
    len___0 ++;
    *(with_slash + tmp___2) = (char )'/';
    *(with_slash + len___0) = (char)0;
    return ((char const   *)with_slash);
  }
  return (path___6);
}
}
static void prepare_move_submodule(char const   *src , int first , char const   **submodule_gitfile )
{
  struct strbuf submodule_dotgit ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;

  {
  submodule_dotgit.alloc = 0UL;
  submodule_dotgit.len = 0UL;
  submodule_dotgit.buf = strbuf_slopbuf;
  if (! (((*(the_index.cache + first))->ce_mode & 61440U) == 57344U)) {
    tmp = _((char const   *)"Directory %s is in index and no submodule?");
    die((char const   *)tmp, src);
  }
  tmp___1 = is_staging_gitmodules_ok(& the_index);
  if (! tmp___1) {
    tmp___0 = _((char const   *)"Please stage your changes to .gitmodules or stash them to proceed");
    die((char const   *)tmp___0);
  }
  strbuf_addf(& submodule_dotgit, (char const   *)"%s/.git", src);
  *submodule_gitfile = read_gitfile_gently((char const   *)submodule_dotgit.buf, (int *)((void *)0));
  if (*submodule_gitfile) {
    tmp___2 = xstrdup(*submodule_gitfile);
    *submodule_gitfile = (char const   *)tmp___2;
  } else {
    *submodule_gitfile = (char const   *)1;
  }
  strbuf_release(& submodule_dotgit);
  return;
}
}
static int index_range_of_same_dir(char const   *src , int length , int *first_p ,
                                   int *last_p )
{
  char const   *src_w_slash ;
  char const   *tmp ;
  int first ;
  int last ;
  int len_w_slash ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const   *path___6 ;
  int tmp___1 ;

  {
  tmp = add_slash(src);
  src_w_slash = tmp;
  len_w_slash = length + 1;
  first = index_name_pos(& the_index, src_w_slash, len_w_slash);
  if (first >= 0) {
    tmp___0 = _((char const   *)"%.*s is in index");
    die((char const   *)tmp___0, len_w_slash, src_w_slash);
  }
  first = -1 - first;
  last = first;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )last < the_index.cache_nr)) {
      goto while_break;
    }
    path___6 = (char const   *)((*(the_index.cache + last))->name);
    tmp___1 = strncmp(path___6, src_w_slash, (size_t )len_w_slash);
    if (tmp___1) {
      goto while_break;
    }
    last ++;
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned long )src_w_slash != (unsigned long )src) {
    free((void *)((char *)src_w_slash));
  }
  *first_p = first;
  *last_p = last;
  return (last - first);
}
}
int cmd_mv(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  int flags___0 ;
  int gitmodules_modified ;
  int verbose___15 ;
  int show_only___3 ;
  int force___2 ;
  int ignore_errors ;
  int ignore_sparse ;
  struct option builtin_mv_options[6] ;
  char const   **source ;
  char const   **destination ;
  char const   **dest_path ;
  char const   **submodule_gitfile ;
  enum update_mode *modes___0 ;
  struct stat st ;
  struct string_list src_for_dst ;
  struct lock_file lock_file___0 ;
  struct cache_entry *ce ;
  struct string_list only_match_skip_worktree ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  void *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const   *src ;
  char const   *dst ;
  int length ;
  int src_is_dir ;
  char const   *bad ;
  int skip_sparse ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  size_t tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int first ;
  int tmp___12 ;
  int last ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int j ;
  int dst_len ;
  int n ;
  size_t tmp___14 ;
  void *tmp___15 ;
  size_t tmp___16 ;
  void *tmp___17 ;
  size_t tmp___18 ;
  void *tmp___19 ;
  size_t tmp___20 ;
  void *tmp___21 ;
  size_t tmp___22 ;
  struct cache_entry  const  *ce___0 ;
  char const   *path___6 ;
  char *tmp___23 ;
  int tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  char const __attribute__((__format_arg__(1)))  *tmp___26 ;
  char const __attribute__((__format_arg__(1)))  *tmp___27 ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  char const __attribute__((__format_arg__(1)))  *tmp___29 ;
  char const __attribute__((__format_arg__(1)))  *tmp___30 ;
  char const __attribute__((__format_arg__(1)))  *tmp___31 ;
  int tmp___32 ;
  int tmp___33 ;
  size_t tmp___34 ;
  int tmp___35 ;
  int tmp___36 ;
  int tmp___37 ;
  int tmp___38 ;
  int tmp___39 ;
  int tmp___40 ;
  int tmp___41 ;
  char const __attribute__((__format_arg__(1)))  *tmp___42 ;
  int n___0 ;
  char const   *src___0 ;
  char const   *dst___0 ;
  enum update_mode mode___1 ;
  int pos ;
  char const __attribute__((__format_arg__(1)))  *tmp___43 ;
  char const __attribute__((__format_arg__(1)))  *tmp___44 ;
  int tmp___45 ;
  int tmp___46 ;
  size_t tmp___47 ;
  char const __attribute__((__format_arg__(1)))  *tmp___48 ;
  int tmp___49 ;

  {
  gitmodules_modified = 0;
  verbose___15 = 0;
  show_only___3 = 0;
  force___2 = 0;
  ignore_errors = 0;
  ignore_sparse = 0;
  builtin_mv_options[0].type = (enum parse_opt_type )7;
  builtin_mv_options[0].short_name = 'v';
  builtin_mv_options[0].long_name = (char const   *)"verbose";
  builtin_mv_options[0].value = (void *)(& verbose___15);
  builtin_mv_options[0].argh = (char const   *)((void *)0);
  builtin_mv_options[0].help = (char const   *)"be verbose";
  builtin_mv_options[0].flags = (enum parse_opt_option_flags )2;
  builtin_mv_options[0].callback = (parse_opt_cb *)0;
  builtin_mv_options[0].defval = 0L;
  builtin_mv_options[0].ll_callback = (parse_opt_ll_cb *)0;
  builtin_mv_options[0].extra = 0L;
  builtin_mv_options[1].type = (enum parse_opt_type )8;
  builtin_mv_options[1].short_name = 'n';
  builtin_mv_options[1].long_name = (char const   *)"dry-run";
  builtin_mv_options[1].value = (void *)(& show_only___3);
  builtin_mv_options[1].argh = (char const   *)((void *)0);
  builtin_mv_options[1].help = (char const   *)"dry run";
  builtin_mv_options[1].flags = (enum parse_opt_option_flags )2;
  builtin_mv_options[1].callback = (parse_opt_cb *)((void *)0);
  builtin_mv_options[1].defval = (intptr_t )1;
  builtin_mv_options[1].ll_callback = (parse_opt_ll_cb *)0;
  builtin_mv_options[1].extra = 0L;
  builtin_mv_options[2].type = (enum parse_opt_type )7;
  builtin_mv_options[2].short_name = 'f';
  builtin_mv_options[2].long_name = (char const   *)"force";
  builtin_mv_options[2].value = (void *)(& force___2);
  builtin_mv_options[2].argh = (char const   *)((void *)0);
  builtin_mv_options[2].help = (char const   *)"force move/rename even if target exists";
  builtin_mv_options[2].flags = (enum parse_opt_option_flags )514;
  builtin_mv_options[2].callback = (parse_opt_cb *)0;
  builtin_mv_options[2].defval = 0L;
  builtin_mv_options[2].ll_callback = (parse_opt_ll_cb *)0;
  builtin_mv_options[2].extra = 0L;
  builtin_mv_options[3].type = (enum parse_opt_type )8;
  builtin_mv_options[3].short_name = 'k';
  builtin_mv_options[3].long_name = (char const   *)((void *)0);
  builtin_mv_options[3].value = (void *)(& ignore_errors);
  builtin_mv_options[3].argh = (char const   *)((void *)0);
  builtin_mv_options[3].help = (char const   *)"skip move/rename errors";
  builtin_mv_options[3].flags = (enum parse_opt_option_flags )2;
  builtin_mv_options[3].callback = (parse_opt_cb *)((void *)0);
  builtin_mv_options[3].defval = (intptr_t )1;
  builtin_mv_options[3].ll_callback = (parse_opt_ll_cb *)0;
  builtin_mv_options[3].extra = 0L;
  builtin_mv_options[4].type = (enum parse_opt_type )8;
  builtin_mv_options[4].short_name = 0;
  builtin_mv_options[4].long_name = (char const   *)"sparse";
  builtin_mv_options[4].value = (void *)(& ignore_sparse);
  builtin_mv_options[4].argh = (char const   *)((void *)0);
  builtin_mv_options[4].help = (char const   *)"allow updating entries outside of the sparse-checkout cone";
  builtin_mv_options[4].flags = (enum parse_opt_option_flags )2;
  builtin_mv_options[4].callback = (parse_opt_cb *)((void *)0);
  builtin_mv_options[4].defval = (intptr_t )1;
  builtin_mv_options[4].ll_callback = (parse_opt_ll_cb *)0;
  builtin_mv_options[4].extra = 0L;
  builtin_mv_options[5].type = (enum parse_opt_type )0;
  builtin_mv_options[5].short_name = 0;
  builtin_mv_options[5].long_name = (char const   *)0;
  builtin_mv_options[5].value = (void *)0;
  builtin_mv_options[5].argh = (char const   *)0;
  builtin_mv_options[5].help = (char const   *)0;
  builtin_mv_options[5].flags = 0U;
  builtin_mv_options[5].callback = (parse_opt_cb *)0;
  builtin_mv_options[5].defval = 0L;
  builtin_mv_options[5].ll_callback = (parse_opt_ll_cb *)0;
  builtin_mv_options[5].extra = 0L;
  src_for_dst.items = (struct string_list_item *)0;
  src_for_dst.nr = 0U;
  src_for_dst.alloc = 0U;
  src_for_dst.strdup_strings = 0U;
  src_for_dst.cmp = (int (*)(char const   * , char const   * ))0;
  lock_file___0.tempfile = (struct tempfile *)0;
  only_match_skip_worktree.items = (struct string_list_item *)0;
  only_match_skip_worktree.nr = 0U;
  only_match_skip_worktree.alloc = 0U;
  only_match_skip_worktree.strdup_strings = 0U;
  only_match_skip_worktree.cmp = (int (*)(char const   * , char const   * ))0;
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(builtin_mv_options),
                       builtin_mv_usage, (enum parse_opt_flags )0);
  argc --;
  if (argc < 1) {
    usage_with_options(builtin_mv_usage, (struct option  const  *)(builtin_mv_options));
  }
  repo_hold_locked_index(the_repository, & lock_file___0, 1);
  tmp___0 = repo_read_index(the_repository);
  if (tmp___0 < 0) {
    tmp = _((char const   *)"index file corrupt");
    die((char const   *)tmp);
  }
  source = internal_prefix_pathspec(prefix___1, argv___0, argc, 0U);
  tmp___1 = xcalloc((size_t )argc, sizeof(enum update_mode ));
  modes___0 = (enum update_mode *)tmp___1;
  flags___0 = 2;
  if (argc == 1) {
    tmp___2 = is_directory(*(argv___0 + 0));
    if (tmp___2) {
      tmp___3 = is_directory(*(argv___0 + 1));
      if (! tmp___3) {
        flags___0 = 0;
      }
    }
  }
  dest_path = internal_prefix_pathspec(prefix___1, argv___0 + argc, 1, (unsigned int )flags___0);
  tmp___4 = xcalloc((size_t )argc, sizeof(char *));
  submodule_gitfile = (char const   **)tmp___4;
  if ((int const   )*(*(dest_path + 0) + 0) == 0) {
    destination = internal_prefix_pathspec(*(dest_path + 0), argv___0, argc, 1U);
  } else {
    tmp___6 = lstat(*(dest_path + 0), & st);
    if (tmp___6) {
      _L: /* CIL Label */
      if (argc != 1) {
        tmp___5 = _((char const   *)"destination \'%s\' is not a directory");
        die((char const   *)tmp___5, *(dest_path + 0));
      }
      destination = dest_path;
    } else
    if ((st.st_mode & 61440U) == 16384U) {
      *(dest_path + 0) = add_slash(*(dest_path + 0));
      destination = internal_prefix_pathspec(*(dest_path + 0), argv___0, argc, 1U);
    } else {
      goto _L;
    }
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    src = *(source + i);
    dst = *(destination + i);
    bad = (char const   *)((void *)0);
    skip_sparse = 0;
    if (show_only___3) {
      tmp___7 = _((char const   *)"Checking rename of \'%s\' to \'%s\'\n");
      printf((char const   *)tmp___7, src, dst);
    }
    tmp___8 = strlen(src);
    length = (int )tmp___8;
    tmp___41 = lstat(src, & st);
    if (tmp___41 < 0) {
      if ((unsigned int )*(modes___0 + i) != 3U) {
        tmp___9 = _((char const   *)"bad source");
        bad = (char const   *)tmp___9;
      }
    } else {
      tmp___40 = strncmp(src, dst, (size_t )length);
      if (tmp___40) {
        _L___4: /* CIL Label */
        src_is_dir = (st.st_mode & 61440U) == 16384U;
        if (src_is_dir) {
          tmp___39 = lstat(dst, & st);
          if (tmp___39 == 0) {
            tmp___11 = _((char const   *)"cannot move directory over file");
            bad = (char const   *)tmp___11;
          } else {
            goto _L___3;
          }
        } else
        _L___3: /* CIL Label */
        if (src_is_dir) {
          tmp___12 = index_name_pos(& the_index, src, length);
          first = tmp___12;
          if (first >= 0) {
            prepare_move_submodule(src, first, submodule_gitfile + i);
          } else {
            tmp___24 = index_range_of_same_dir(src, length, & first, & last);
            if (tmp___24 < 1) {
              tmp___13 = _((char const   *)"source directory is empty");
              bad = (char const   *)tmp___13;
            } else {
              *(modes___0 + i) = (enum update_mode )1;
              n = (argc + last) - first;
              tmp___14 = st_mult(sizeof(*source), (size_t )n);
              tmp___15 = xrealloc((void *)source, tmp___14);
              source = (char const   **)tmp___15;
              tmp___16 = st_mult(sizeof(*destination), (size_t )n);
              tmp___17 = xrealloc((void *)destination, tmp___16);
              destination = (char const   **)tmp___17;
              tmp___18 = st_mult(sizeof(*modes___0), (size_t )n);
              tmp___19 = xrealloc((void *)modes___0, tmp___18);
              modes___0 = (enum update_mode *)tmp___19;
              tmp___20 = st_mult(sizeof(*submodule_gitfile), (size_t )n);
              tmp___21 = xrealloc((void *)submodule_gitfile, tmp___20);
              submodule_gitfile = (char const   **)tmp___21;
              dst = add_slash(dst);
              tmp___22 = strlen(dst);
              dst_len = (int )tmp___22;
              j = 0;
              {
              while (1) {
                while_continue___0: /* CIL Label */ ;
                if (! (j < last - first)) {
                  goto while_break___0;
                }
                ce___0 = (struct cache_entry  const  *)*(the_index.cache + (first + j));
                path___6 = (char const   *)(ce___0->name);
                *(source + (argc + j)) = path___6;
                tmp___23 = prefix_path(dst, dst_len, (path___6 + length) + 1);
                *(destination + (argc + j)) = (char const   *)tmp___23;
                if (ce___0->ce_flags & (unsigned int )(1 << 30)) {
                  *(modes___0 + (argc + j)) = (enum update_mode )3;
                } else {
                  *(modes___0 + (argc + j)) = (enum update_mode )2;
                }
                *(submodule_gitfile + (argc + j)) = (char const   *)((void *)0);
                j ++;
              }
              while_break___0: /* CIL Label */ ;
              }
              argc += last - first;
            }
          }
        } else {
          ce = index_file_exists(& the_index, src, length, 0);
          if (ce) {
            if ((12288U & ce->ce_flags) >> 12) {
              tmp___26 = _((char const   *)"conflicted");
              bad = (char const   *)tmp___26;
            } else {
              tmp___37 = lstat(dst, & st);
              if (tmp___37 == 0) {
                if (! ignore_case) {
                  goto _L___2;
                } else {
                  tmp___38 = strcasecmp(src, dst);
                  if (tmp___38) {
                    _L___2: /* CIL Label */
                    tmp___27 = _((char const   *)"destination exists");
                    bad = (char const   *)tmp___27;
                    if (force___2) {
                      if ((st.st_mode & 61440U) == 32768U) {
                        goto _L___0;
                      } else
                      if ((st.st_mode & 61440U) == 40960U) {
                        _L___0: /* CIL Label */
                        if (verbose___15) {
                          tmp___28 = _((char const   *)"overwriting \'%s\'");
                          warning((char const   *)tmp___28, dst);
                        }
                        bad = (char const   *)((void *)0);
                      } else {
                        tmp___29 = _((char const   *)"Cannot overwrite");
                        bad = (char const   *)tmp___29;
                      }
                    }
                  } else {
                    goto _L___1;
                  }
                }
              } else {
                _L___1: /* CIL Label */
                tmp___36 = string_list_has_string((struct string_list  const  *)(& src_for_dst),
                                                  dst);
                if (tmp___36) {
                  tmp___30 = _((char const   *)"multiple sources for the same target");
                  bad = (char const   *)tmp___30;
                } else {
                  tmp___34 = strlen(dst);
                  tmp___35 = git_is_dir_sep((int )*(dst + (tmp___34 - 1UL)));
                  if (tmp___35) {
                    tmp___31 = _((char const   *)"destination directory does not exist");
                    bad = (char const   *)tmp___31;
                  } else {
                    if (! ignore_sparse) {
                      tmp___32 = path_in_sparse_checkout(src, & the_index);
                      if (! tmp___32) {
                        string_list_append(& only_match_skip_worktree, src);
                        skip_sparse = 1;
                      }
                    }
                    if (! ignore_sparse) {
                      tmp___33 = path_in_sparse_checkout(dst, & the_index);
                      if (! tmp___33) {
                        string_list_append(& only_match_skip_worktree, dst);
                        skip_sparse = 1;
                      }
                    }
                    if (skip_sparse) {
                      goto remove_entry;
                    }
                    string_list_insert(& src_for_dst, dst);
                  }
                }
              }
            }
          } else {
            tmp___25 = _((char const   *)"not under version control");
            bad = (char const   *)tmp___25;
          }
        }
      } else
      if ((int const   )*(dst + length) == 0) {
        tmp___10 = _((char const   *)"can not move directory into itself");
        bad = (char const   *)tmp___10;
      } else
      if ((int const   )*(dst + length) == 47) {
        tmp___10 = _((char const   *)"can not move directory into itself");
        bad = (char const   *)tmp___10;
      } else {
        goto _L___4;
      }
    }
    if (! bad) {
      goto __Cont;
    }
    if (! ignore_errors) {
      tmp___42 = _((char const   *)"%s, source=%s, destination=%s");
      die((char const   *)tmp___42, bad, src, dst);
    }
    remove_entry:
    argc --;
    if (argc > 0) {
      n___0 = argc - i;
      memmove((void *)(source + i), (void const   *)((source + i) + 1), (unsigned long )n___0 * sizeof(char *));
      memmove((void *)(destination + i), (void const   *)((destination + i) + 1),
              (unsigned long )n___0 * sizeof(char *));
      memmove((void *)(modes___0 + i), (void const   *)((modes___0 + i) + 1), (unsigned long )n___0 * sizeof(enum update_mode ));
      memmove((void *)(submodule_gitfile + i), (void const   *)((submodule_gitfile + i) + 1),
              (unsigned long )n___0 * sizeof(char *));
      i --;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (only_match_skip_worktree.nr) {
    advise_on_updating_sparse_paths(& only_match_skip_worktree);
    if (! ignore_errors) {
      return (1);
    }
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break___1;
    }
    src___0 = *(source + i);
    dst___0 = *(destination + i);
    mode___1 = *(modes___0 + i);
    if (show_only___3) {
      tmp___43 = _((char const   *)"Renaming %s to %s\n");
      printf((char const   *)tmp___43, src___0, dst___0);
    } else
    if (verbose___15) {
      tmp___43 = _((char const   *)"Renaming %s to %s\n");
      printf((char const   *)tmp___43, src___0, dst___0);
    }
    if (show_only___3) {
      goto __Cont___0;
    }
    if ((unsigned int )mode___1 != 2U) {
      if ((unsigned int )mode___1 != 3U) {
        tmp___45 = rename(src___0, dst___0);
        if (tmp___45 < 0) {
          if (ignore_errors) {
            goto __Cont___0;
          }
          tmp___44 = _((char const   *)"renaming \'%s\' failed");
          die_errno((char const   *)tmp___44, src___0);
        }
      }
    }
    if (*(submodule_gitfile + i)) {
      tmp___46 = update_path_in_gitmodules(src___0, dst___0);
      if (! tmp___46) {
        gitmodules_modified = 1;
      }
      if ((unsigned long )*(submodule_gitfile + i) != (unsigned long )((char const   *)1)) {
        connect_work_tree_and_git_dir(dst___0, *(submodule_gitfile + i), 1);
      }
    }
    if ((unsigned int )mode___1 == 1U) {
      goto __Cont___0;
    }
    tmp___47 = strlen(src___0);
    pos = index_name_pos(& the_index, src___0, (int )tmp___47);
    assert(pos >= 0);
    rename_index_entry_at(& the_index, pos, dst___0);
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  if (gitmodules_modified) {
    stage_updated_gitmodules(& the_index);
  }
  tmp___49 = write_locked_index(& the_index, & lock_file___0, (unsigned int )(1 | (1 << 1)));
  if (tmp___49) {
    tmp___48 = _((char const   *)"Unable to write new index file");
    die((char const   *)tmp___48);
  }
  string_list_clear(& src_for_dst, 0);
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    goto while_break___3;
  }
  while_break___3: /* CIL Label */ ;
  }
  free((void *)submodule_gitfile);
  free((void *)modes___0);
  return (0);
}
}
static void init_commit_rev_name_with_stride(struct commit_rev_name *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_commit_rev_name_with_stride(struct commit_rev_name *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(struct rev_name ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (struct rev_name **)((void *)0);
  return;
}
}
static void init_commit_rev_name(struct commit_rev_name *s___1 )  __attribute__((__unused__)) ;
static void init_commit_rev_name(struct commit_rev_name *s___1 )
{


  {
  init_commit_rev_name_with_stride(s___1, 1U);
  return;
}
}
static void clear_commit_rev_name(struct commit_rev_name *s___1 )  __attribute__((__unused__)) ;
static void clear_commit_rev_name(struct commit_rev_name *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (struct rev_name **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_commit_rev_name(struct commit_rev_name *s___1 , void (*free_fn)(struct rev_name * ) )  __attribute__((__unused__)) ;
static void deep_clear_commit_rev_name(struct commit_rev_name *s___1 , void (*free_fn)(struct rev_name * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_commit_rev_name(s___1);
  return;
}
}
static struct rev_name *commit_rev_name_at_peek(struct commit_rev_name *s___1 , struct commit  const  *c___0 ,
                                                int add_if_missing )  __attribute__((__unused__)) ;
static struct rev_name *commit_rev_name_at_peek(struct commit_rev_name *s___1 , struct commit  const  *c___0 ,
                                                int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((struct rev_name *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (struct rev_name **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (struct rev_name *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((struct rev_name *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (struct rev_name *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static struct rev_name *commit_rev_name_at(struct commit_rev_name *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct rev_name *commit_rev_name_at(struct commit_rev_name *s___1 , struct commit  const  *c___0 )
{
  struct rev_name *tmp ;

  {
  tmp = commit_rev_name_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static struct rev_name *commit_rev_name_peek(struct commit_rev_name *s___1 , struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct rev_name *commit_rev_name_peek(struct commit_rev_name *s___1 , struct commit  const  *c___0 )
{
  struct rev_name *tmp ;

  {
  tmp = commit_rev_name_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
static timestamp_t cutoff  =    18446744073709551615UL;
static struct commit_rev_name rev_names  ;
static int is_valid_rev_name(struct rev_name  const  *name___0 )
{
  int tmp ;

  {
  if (name___0) {
    if (name___0->generation) {
      tmp = 1;
    } else
    if (name___0->tip_name) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static struct rev_name *get_commit_rev_name(struct commit  const  *commit )
{
  struct rev_name *name___0 ;
  struct rev_name *tmp ;
  int tmp___0 ;
  struct rev_name *tmp___1 ;
  int tmp___2 ;

  {
  tmp = commit_rev_name_peek(& rev_names, commit);
  name___0 = tmp;
  tmp___2 = is_valid_rev_name((struct rev_name  const  *)name___0);
  if (tmp___2) {
    tmp___1 = name___0;
  } else {
    tmp___1 = (struct rev_name *)((void *)0);
  }
  return (tmp___1);
}
}
static int effective_distance(int distance , int generation )
{
  int tmp ;

  {
  if (generation > 0) {
    tmp = 65535;
  } else {
    tmp = 0;
  }
  return (distance + tmp);
}
}
static int is_better_name(struct rev_name *name___0 , timestamp_t taggerdate , int generation ,
                          int distance , int from_tag )
{
  int name_distance ;
  int tmp ;
  int new_distance ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = effective_distance(name___0->distance, name___0->generation);
  name_distance = tmp;
  tmp___0 = effective_distance(distance, generation);
  new_distance = tmp___0;
  if (from_tag) {
    if (name___0->from_tag) {
      if (name___0->taggerdate > taggerdate) {
        tmp___1 = 1;
      } else
      if (name___0->taggerdate == taggerdate) {
        if (name_distance > new_distance) {
          tmp___1 = 1;
        } else {
          tmp___1 = 0;
        }
      } else {
        tmp___1 = 0;
      }
      return (tmp___1);
    }
  }
  if (name___0->from_tag != from_tag) {
    return (from_tag);
  }
  if (name_distance != new_distance) {
    return (name_distance > new_distance);
  }
  if (name___0->taggerdate != taggerdate) {
    return (name___0->taggerdate > taggerdate);
  }
  return (0);
}
}
static struct rev_name *create_or_update_name(struct commit *commit , timestamp_t taggerdate ,
                                              int generation , int distance , int from_tag )
{
  struct rev_name *name___0 ;
  struct rev_name *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = commit_rev_name_at(& rev_names, (struct commit  const  *)commit);
  name___0 = tmp;
  tmp___1 = is_valid_rev_name((struct rev_name  const  *)name___0);
  if (tmp___1) {
    tmp___0 = is_better_name(name___0, taggerdate, generation, distance, from_tag);
    if (! tmp___0) {
      return ((struct rev_name *)((void *)0));
    }
    if (! name___0->generation) {
      free((void *)name___0->tip_name);
    }
  }
  name___0->taggerdate = taggerdate;
  name___0->generation = generation;
  name___0->distance = distance;
  name___0->from_tag = from_tag;
  return (name___0);
}
}
static char *get_parent_name(struct rev_name  const  *name___0 , int parent_number )
{
  struct strbuf sb___6 ;
  size_t len___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  strip_suffix((char const   *)name___0->tip_name, (char const   *)"^0", & len___0);
  if (name___0->generation > 0) {
    tmp = decimal_width((uintmax_t )name___0->generation);
    tmp___0 = decimal_width((uintmax_t )parent_number);
    strbuf_grow(& sb___6, (((len___0 + 1UL) + (size_t )tmp) + 1UL) + (size_t )tmp___0);
    strbuf_addf(& sb___6, (char const   *)"%.*s~%d^%d", (int )len___0, name___0->tip_name,
                name___0->generation, parent_number);
  } else {
    tmp___1 = decimal_width((uintmax_t )parent_number);
    strbuf_grow(& sb___6, (len___0 + 1UL) + (size_t )tmp___1);
    strbuf_addf(& sb___6, (char const   *)"%.*s^%d", (int )len___0, name___0->tip_name,
                parent_number);
  }
  tmp___2 = strbuf_detach(& sb___6, (size_t *)((void *)0));
  return (tmp___2);
}
}
static void name_rev(struct commit *start_commit , char const   *tip_name , timestamp_t taggerdate ,
                     int from_tag , int deref )
{
  struct prio_queue queue ;
  struct commit *commit ;
  struct commit **parents_to_queue ;
  size_t parents_to_queue_nr ;
  size_t parents_to_queue_alloc ;
  struct rev_name *start_name ;
  struct rev_name *name___0 ;
  struct rev_name *tmp ;
  struct commit_list *parents ;
  int parent_number ;
  struct commit *parent ;
  struct rev_name *parent_name ;
  int generation ;
  int distance ;
  size_t tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;

  {
  parents_to_queue = (struct commit **)((void *)0);
  parents_to_queue_alloc = (size_t )0;
  repo_parse_commit(the_repository, start_commit);
  if (start_commit->date < cutoff) {
    return;
  }
  start_name = create_or_update_name(start_commit, taggerdate, 0, 0, from_tag);
  if (! start_name) {
    return;
  }
  if (deref) {
    start_name->tip_name = xstrfmt((char const   *)"%s^0", tip_name);
  } else {
    start_name->tip_name = xstrdup(tip_name);
  }
  memset((void *)(& queue), 0, sizeof(queue));
  prio_queue_put(& queue, (void *)start_commit);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = prio_queue_get(& queue);
    commit = (struct commit *)tmp___2;
    if (! commit) {
      goto while_break;
    }
    tmp = get_commit_rev_name((struct commit  const  *)commit);
    name___0 = tmp;
    parent_number = 1;
    parents_to_queue_nr = (size_t )0;
    parents = commit->parents;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! parents) {
        goto while_break___0;
      }
      parent = parents->item;
      repo_parse_commit(the_repository, parent);
      if (parent->date < cutoff) {
        goto __Cont;
      }
      if (parent_number > 1) {
        generation = 0;
        distance = name___0->distance + 65535;
      } else {
        generation = name___0->generation + 1;
        distance = name___0->distance + 1;
      }
      parent_name = create_or_update_name(parent, taggerdate, generation, distance,
                                          from_tag);
      if (parent_name) {
        if (parent_number > 1) {
          parent_name->tip_name = get_parent_name((struct rev_name  const  *)name___0,
                                                  parent_number);
        } else {
          parent_name->tip_name = name___0->tip_name;
        }
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          if (parents_to_queue_nr + 1UL > parents_to_queue_alloc) {
            if (((parents_to_queue_alloc + 16UL) * 3UL) / 2UL < parents_to_queue_nr + 1UL) {
              parents_to_queue_alloc = parents_to_queue_nr + 1UL;
            } else {
              parents_to_queue_alloc = ((parents_to_queue_alloc + 16UL) * 3UL) / 2UL;
            }
            tmp___0 = st_mult(sizeof(*parents_to_queue), parents_to_queue_alloc);
            tmp___1 = xrealloc((void *)parents_to_queue, tmp___0);
            parents_to_queue = (struct commit **)tmp___1;
          }
          goto while_break___1;
        }
        while_break___1: /* CIL Label */ ;
        }
        *(parents_to_queue + parents_to_queue_nr) = parent;
        parents_to_queue_nr ++;
      }
      __Cont: /* CIL Label */
      parents = parents->next;
      parent_number ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! parents_to_queue_nr) {
        goto while_break___2;
      }
      parents_to_queue_nr --;
      prio_queue_put(& queue, (void *)*(parents_to_queue + parents_to_queue_nr));
    }
    while_break___2: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  clear_prio_queue(& queue);
  free((void *)parents_to_queue);
  return;
}
}
static int subpath_matches(char const   *path___6 , char const   *filter___0 )
{
  char const   *subpath ;
  int tmp ;
  char *tmp___0 ;

  {
  subpath = path___6;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! subpath) {
      goto while_break;
    }
    tmp = wildmatch(filter___0, subpath, 0U);
    if (! tmp) {
      return ((int )(subpath - path___6));
    }
    tmp___0 = strchr(subpath, '/');
    subpath = (char const   *)tmp___0;
    if (subpath) {
      subpath ++;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (-1);
}
}
static char const   *name_ref_abbrev(char const   *refname , int shorten_unambiguous )
{
  char *tmp ;
  int tmp___0 ;

  {
  if (shorten_unambiguous) {
    tmp = shorten_unambiguous_ref(refname, 0);
    refname = (char const   *)tmp;
  } else {
    tmp___0 = skip_prefix(refname, (char const   *)"refs/heads/", & refname);
    if (! tmp___0) {
      skip_prefix(refname, (char const   *)"refs/", & refname);
    }
  }
  return (refname);
}
}
static struct tip_table tip_table  ;
static void add_to_tip_table(struct object_id  const  *oid , char const   *refname ,
                             int shorten_unambiguous , struct commit *commit , timestamp_t taggerdate ,
                             int from_tag , int deref )
{
  size_t tmp ;
  void *tmp___0 ;
  char *tmp___1 ;

  {
  refname = name_ref_abbrev(refname, shorten_unambiguous);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tip_table.nr + 1 > tip_table.alloc) {
      if (((tip_table.alloc + 16) * 3) / 2 < tip_table.nr + 1) {
        tip_table.alloc = tip_table.nr + 1;
      } else {
        tip_table.alloc = ((tip_table.alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*(tip_table.table)), (size_t )tip_table.alloc);
      tmp___0 = xrealloc((void *)tip_table.table, tmp);
      tip_table.table = (struct tip_table_entry *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  oidcpy(& (tip_table.table + tip_table.nr)->oid, oid);
  tmp___1 = xstrdup(refname);
  (tip_table.table + tip_table.nr)->refname = (char const   *)tmp___1;
  (tip_table.table + tip_table.nr)->commit = commit;
  (tip_table.table + tip_table.nr)->taggerdate = taggerdate;
  (tip_table.table + tip_table.nr)->from_tag = (unsigned int )from_tag;
  (tip_table.table + tip_table.nr)->deref = (unsigned int )deref;
  (tip_table.nr) ++;
  tip_table.sorted = 0;
  return;
}
}
static int tipcmp(void const   *a_ , void const   *b_ )
{
  struct tip_table_entry  const  *a ;
  struct tip_table_entry  const  *b___0 ;
  int tmp ;

  {
  a = (struct tip_table_entry  const  *)a_;
  b___0 = (struct tip_table_entry  const  *)b_;
  tmp = oidcmp((struct object_id  const  *)(& a->oid), (struct object_id  const  *)(& b___0->oid));
  return (tmp);
}
}
static int cmp_by_tag_and_age(void const   *a_ , void const   *b_ )
{
  struct tip_table_entry  const  *a ;
  struct tip_table_entry  const  *b___0 ;
  int cmp___0 ;

  {
  a = (struct tip_table_entry  const  *)a_;
  b___0 = (struct tip_table_entry  const  *)b_;
  cmp___0 = (int )(b___0->from_tag - a->from_tag);
  if (cmp___0) {
    return (cmp___0);
  }
  if (a->taggerdate < b___0->taggerdate) {
    return (-1);
  }
  return (a->taggerdate != b___0->taggerdate);
}
}
static int name_ref(char const   *path___6 , struct object_id  const  *oid , int flags___0 ,
                    void *cb_data )
{
  struct object *o ;
  struct object *tmp ;
  struct name_ref_data *data ;
  int can_abbreviate_output ;
  int tmp___0 ;
  int deref ;
  int from_tag ;
  struct commit *commit ;
  timestamp_t taggerdate ;
  int tmp___1 ;
  struct string_list_item *item___0 ;
  int tmp___2 ;
  struct string_list_item *item___1 ;
  int matched ;
  int tmp___3 ;
  struct tag *t ;

  {
  tmp = parse_object(the_repository, oid);
  o = tmp;
  data = (struct name_ref_data *)cb_data;
  if (data->tags_only) {
    if (data->name_only) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  can_abbreviate_output = tmp___0;
  deref = 0;
  from_tag = 0;
  commit = (struct commit *)((void *)0);
  taggerdate = 18446744073709551615UL;
  if (data->tags_only) {
    tmp___1 = starts_with(path___6, (char const   *)"refs/tags/");
    if (! tmp___1) {
      return (0);
    }
  }
  if (data->exclude_filters.nr) {
    item___0 = data->exclude_filters.items;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(data->exclude_filters.items + data->exclude_filters.nr))) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      tmp___2 = subpath_matches(path___6, (char const   *)item___0->string);
      if (tmp___2 >= 0) {
        return (0);
      }
      item___0 ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (data->ref_filters.nr) {
    matched = 0;
    item___1 = data->ref_filters.items;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (item___1) {
        if (! ((unsigned long )item___1 < (unsigned long )(data->ref_filters.items + data->ref_filters.nr))) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      tmp___3 = subpath_matches(path___6, (char const   *)item___1->string);
      {
      if (tmp___3 == -1) {
        goto case_neg_1;
      }
      if (tmp___3 == 0) {
        goto case_0;
      }
      goto switch_default;
      case_neg_1: /* CIL Label */
      goto switch_break;
      case_0: /* CIL Label */
      matched = 1;
      goto switch_break;
      switch_default: /* CIL Label */
      matched = 1;
      can_abbreviate_output = 1;
      goto switch_break;
      switch_break: /* CIL Label */ ;
      }
      item___1 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! matched) {
      return (0);
    }
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (o) {
      if (! (o->type == 4U)) {
        goto while_break___1;
      }
    } else {
      goto while_break___1;
    }
    t = (struct tag *)o;
    if (! t->tagged) {
      goto while_break___1;
    }
    o = parse_object(the_repository, (struct object_id  const  *)(& (t->tagged)->oid));
    deref = 1;
    taggerdate = t->date;
  }
  while_break___1: /* CIL Label */ ;
  }
  if (o) {
    if (o->type == 1U) {
      commit = (struct commit *)o;
      from_tag = starts_with(path___6, (char const   *)"refs/tags/");
      if (taggerdate == 18446744073709551615UL) {
        taggerdate = commit->date;
      }
    }
  }
  add_to_tip_table(oid, path___6, can_abbreviate_output, commit, taggerdate, from_tag,
                   deref);
  return (0);
}
}
static void name_tips(void)
{
  int i ;
  struct tip_table_entry *e ;

  {
  sane_qsort((void *)tip_table.table, (size_t )tip_table.nr, sizeof(*(tip_table.table)),
             & cmp_by_tag_and_age);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < tip_table.nr)) {
      goto while_break;
    }
    e = tip_table.table + i;
    if (e->commit) {
      name_rev(e->commit, e->refname, e->taggerdate, (int )e->from_tag, (int )e->deref);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct object_id  const  *nth_tip_table_ent(size_t ix , void const   *table_ )
{
  struct tip_table_entry  const  *table ;

  {
  table = (struct tip_table_entry  const  *)table_;
  return ((struct object_id  const  *)(& (table + ix)->oid));
}
}
static char const   *get_exact_ref_match(struct object  const  *o )
{
  int found ;

  {
  if (! tip_table.table) {
    return ((char const   *)((void *)0));
  } else
  if (! tip_table.nr) {
    return ((char const   *)((void *)0));
  }
  if (! tip_table.sorted) {
    sane_qsort((void *)tip_table.table, (size_t )tip_table.nr, sizeof(*(tip_table.table)),
               & tipcmp);
    tip_table.sorted = 1;
  }
  found = oid_pos((struct object_id  const  *)(& o->oid), (void const   *)tip_table.table,
                  (size_t )tip_table.nr, & nth_tip_table_ent);
  if (0 <= found) {
    return ((tip_table.table + found)->refname);
  }
  return ((char const   *)((void *)0));
}
}
static char const   *get_rev_name(struct object  const  *o , struct strbuf *buf___19 )
{
  struct rev_name *n ;
  struct commit  const  *c___0 ;
  char const   *tmp ;

  {
  if (o->type != 1U) {
    tmp = get_exact_ref_match(o);
    return (tmp);
  }
  c___0 = (struct commit  const  *)o;
  n = get_commit_rev_name(c___0);
  if (! n) {
    return ((char const   *)((void *)0));
  }
  if (! n->generation) {
    return ((char const   *)n->tip_name);
  } else {
    strbuf_setlen___33(buf___19, (size_t )0);
    strbuf_addstr(buf___19, (char const   *)n->tip_name);
    strbuf_strip_suffix___33(buf___19, (char const   *)"^0");
    strbuf_addf(buf___19, (char const   *)"~%d", n->generation);
    return ((char const   *)buf___19->buf);
  }
}
}
static void show_name___1(struct object  const  *obj , char const   *caller_name ,
                          int always___0 , int allow_undefined , int name_only )
{
  char const   *name___0 ;
  struct object_id  const  *oid ;
  struct strbuf buf___19 ;
  char *tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char *tmp___2 ;

  {
  oid = (struct object_id  const  *)(& obj->oid);
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (! name_only) {
    if (caller_name) {
      tmp___0 = caller_name;
    } else {
      tmp = oid_to_hex(oid);
      tmp___0 = (char const   *)tmp;
    }
    printf((char const   *)"%s ", tmp___0);
  }
  name___0 = get_rev_name(obj, & buf___19);
  if (name___0) {
    printf((char const   *)"%s\n", name___0);
  } else
  if (allow_undefined) {
    printf((char const   *)"undefined\n");
  } else
  if (always___0) {
    tmp___1 = repo_find_unique_abbrev(the_repository, oid, default_abbrev);
    printf((char const   *)"%s\n", tmp___1);
  } else {
    tmp___2 = oid_to_hex(oid);
    die((char const   *)"cannot describe \'%s\'", tmp___2);
  }
  strbuf_release(& buf___19);
  return;
}
}
static char const   *name_rev_usage[4]  = {      (char const   *)"git name-rev [<options>] <commit>...",      (char const   *)"git name-rev [<options>] --all",      (char const   *)"git name-rev [<options>] --stdin",      (char const   *)((void *)0)};
static void name_rev_line(char *p___0 , struct name_ref_data *data )
{
  struct strbuf buf___19 ;
  int counter___7 ;
  char *p_start ;
  unsigned int hexsz ;
  struct object_id oid ;
  char const   *name___0 ;
  char c___0 ;
  int p_len ;
  struct object *o ;
  struct object *tmp ;
  int tmp___0 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  counter___7 = 0;
  hexsz = (unsigned int )(the_repository->hash_algo)->hexsz;
  p_start = p___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    if (((int const   )sane_ctype[(unsigned char )*p___0] & 2) != 0) {
      goto _L___0;
    } else
    if ((int )*p___0 >= 97) {
      if ((int )*p___0 <= 102) {
        _L___0: /* CIL Label */
        counter___7 ++;
        if ((unsigned int )counter___7 == hexsz) {
          if (! (((int const   )sane_ctype[(unsigned char )*(p___0 + 1)] & 2) != 0)) {
            if ((int )*(p___0 + 1) >= 97) {
              if (! ((int )*(p___0 + 1) <= 102)) {
                goto _L;
              }
            } else {
              _L: /* CIL Label */
              name___0 = (char const   *)((void *)0);
              c___0 = *(p___0 + 1);
              p_len = (int )((p___0 - p_start) + 1L);
              counter___7 = 0;
              *(p___0 + 1) = (char)0;
              tmp___0 = repo_get_oid(the_repository, (char const   *)(p___0 - (hexsz - 1U)),
                                     & oid);
              if (! tmp___0) {
                tmp = lookup_object(the_repository, (struct object_id  const  *)(& oid));
                o = tmp;
                if (o) {
                  name___0 = get_rev_name((struct object  const  *)o, & buf___19);
                }
              }
              *(p___0 + 1) = c___0;
              if (! name___0) {
                goto __Cont;
              }
              if (data->name_only) {
                printf((char const   *)"%.*s%s", (unsigned int )p_len - hexsz, p_start,
                       name___0);
              } else {
                printf((char const   *)"%.*s (%s)", p_len, p_start, name___0);
              }
              p_start = p___0 + 1;
            }
          }
        }
      } else {
        counter___7 = 0;
      }
    } else {
      counter___7 = 0;
    }
    __Cont: /* CIL Label */
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned long )p_start != (unsigned long )p___0) {
    fwrite((void const   * __restrict  )p_start, (size_t )(p___0 - p_start), (size_t )1,
           (FILE * __restrict  )stdout);
  }
  strbuf_release(& buf___19);
  return;
}
}
int cmd_name_rev(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct object_array revs ;
  int all___2 ;
  int transform_stdin ;
  int allow_undefined ;
  int always___0 ;
  int peel_tag ;
  struct name_ref_data data ;
  struct option opts___1[11] ;
  struct object_id oid ;
  struct object *object ;
  struct commit *commit ;
  int tmp ;
  struct object *peeled ;
  struct object *tmp___0 ;
  char buffer___5[2048] ;
  char *p___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  int i ;
  int max ;
  unsigned int tmp___3 ;
  struct object *obj ;
  struct object *tmp___4 ;
  int i___0 ;

  {
  revs.nr = 0U;
  revs.alloc = 0U;
  revs.objects = (struct object_array_entry *)0;
  all___2 = 0;
  transform_stdin = 0;
  allow_undefined = 1;
  always___0 = 0;
  peel_tag = 0;
  data.tags_only = 0;
  data.name_only = 0;
  data.ref_filters.items = (struct string_list_item *)0;
  data.ref_filters.nr = 0U;
  data.ref_filters.alloc = 0U;
  data.ref_filters.strdup_strings = 0U;
  data.ref_filters.cmp = (int (*)(char const   * , char const   * ))0;
  data.exclude_filters.items = (struct string_list_item *)0;
  data.exclude_filters.nr = 0U;
  data.exclude_filters.alloc = 0U;
  data.exclude_filters.strdup_strings = 0U;
  data.exclude_filters.cmp = (int (*)(char const   * , char const   * ))0;
  opts___1[0].type = (enum parse_opt_type )8;
  opts___1[0].short_name = 0;
  opts___1[0].long_name = (char const   *)"name-only";
  opts___1[0].value = (void *)(& data.name_only);
  opts___1[0].argh = (char const   *)((void *)0);
  opts___1[0].help = (char const   *)"print only ref-based names (no object names)";
  opts___1[0].flags = (enum parse_opt_option_flags )2;
  opts___1[0].callback = (parse_opt_cb *)((void *)0);
  opts___1[0].defval = (intptr_t )1;
  opts___1[0].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[0].extra = 0L;
  opts___1[1].type = (enum parse_opt_type )8;
  opts___1[1].short_name = 0;
  opts___1[1].long_name = (char const   *)"tags";
  opts___1[1].value = (void *)(& data.tags_only);
  opts___1[1].argh = (char const   *)((void *)0);
  opts___1[1].help = (char const   *)"only use tags to name the commits";
  opts___1[1].flags = (enum parse_opt_option_flags )2;
  opts___1[1].callback = (parse_opt_cb *)((void *)0);
  opts___1[1].defval = (intptr_t )1;
  opts___1[1].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[1].extra = 0L;
  opts___1[2].type = (enum parse_opt_type )12;
  opts___1[2].short_name = 0;
  opts___1[2].long_name = (char const   *)"refs";
  opts___1[2].value = (void *)(& data.ref_filters);
  opts___1[2].argh = (char const   *)"pattern";
  opts___1[2].help = (char const   *)"only use refs matching <pattern>";
  opts___1[2].flags = (enum parse_opt_option_flags )0;
  opts___1[2].callback = & parse_opt_string_list;
  opts___1[2].defval = 0L;
  opts___1[2].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[2].extra = 0L;
  opts___1[3].type = (enum parse_opt_type )12;
  opts___1[3].short_name = 0;
  opts___1[3].long_name = (char const   *)"exclude";
  opts___1[3].value = (void *)(& data.exclude_filters);
  opts___1[3].argh = (char const   *)"pattern";
  opts___1[3].help = (char const   *)"ignore refs matching <pattern>";
  opts___1[3].flags = (enum parse_opt_option_flags )0;
  opts___1[3].callback = & parse_opt_string_list;
  opts___1[3].defval = 0L;
  opts___1[3].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[3].extra = 0L;
  opts___1[4].type = (enum parse_opt_type )1;
  opts___1[4].short_name = 0;
  opts___1[4].long_name = (char const   *)((void *)0);
  opts___1[4].value = (void *)0;
  opts___1[4].argh = (char const   *)((void *)0);
  opts___1[4].help = (char const   *)"";
  opts___1[4].flags = 0U;
  opts___1[4].callback = (parse_opt_cb *)0;
  opts___1[4].defval = 0L;
  opts___1[4].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[4].extra = 0L;
  opts___1[5].type = (enum parse_opt_type )8;
  opts___1[5].short_name = 0;
  opts___1[5].long_name = (char const   *)"all";
  opts___1[5].value = (void *)(& all___2);
  opts___1[5].argh = (char const   *)((void *)0);
  opts___1[5].help = (char const   *)"list all commits reachable from all refs";
  opts___1[5].flags = (enum parse_opt_option_flags )2;
  opts___1[5].callback = (parse_opt_cb *)((void *)0);
  opts___1[5].defval = (intptr_t )1;
  opts___1[5].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[5].extra = 0L;
  opts___1[6].type = (enum parse_opt_type )8;
  opts___1[6].short_name = 0;
  opts___1[6].long_name = (char const   *)"stdin";
  opts___1[6].value = (void *)(& transform_stdin);
  opts___1[6].argh = (char const   *)((void *)0);
  opts___1[6].help = (char const   *)"read from stdin";
  opts___1[6].flags = (enum parse_opt_option_flags )2;
  opts___1[6].callback = (parse_opt_cb *)((void *)0);
  opts___1[6].defval = (intptr_t )1;
  opts___1[6].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[6].extra = 0L;
  opts___1[7].type = (enum parse_opt_type )8;
  opts___1[7].short_name = 0;
  opts___1[7].long_name = (char const   *)"undefined";
  opts___1[7].value = (void *)(& allow_undefined);
  opts___1[7].argh = (char const   *)((void *)0);
  opts___1[7].help = (char const   *)"allow to print `undefined` names (default)";
  opts___1[7].flags = (enum parse_opt_option_flags )2;
  opts___1[7].callback = (parse_opt_cb *)((void *)0);
  opts___1[7].defval = (intptr_t )1;
  opts___1[7].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[7].extra = 0L;
  opts___1[8].type = (enum parse_opt_type )8;
  opts___1[8].short_name = 0;
  opts___1[8].long_name = (char const   *)"always";
  opts___1[8].value = (void *)(& always___0);
  opts___1[8].argh = (char const   *)((void *)0);
  opts___1[8].help = (char const   *)"show abbreviated commit object as fallback";
  opts___1[8].flags = (enum parse_opt_option_flags )2;
  opts___1[8].callback = (parse_opt_cb *)((void *)0);
  opts___1[8].defval = (intptr_t )1;
  opts___1[8].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[8].extra = 0L;
  opts___1[9].type = (enum parse_opt_type )8;
  opts___1[9].short_name = 0;
  opts___1[9].long_name = (char const   *)"peel-tag";
  opts___1[9].value = (void *)(& peel_tag);
  opts___1[9].argh = (char const   *)((void *)0);
  opts___1[9].help = (char const   *)"dereference tags in the input (internal use)";
  opts___1[9].flags = (enum parse_opt_option_flags )10;
  opts___1[9].callback = (parse_opt_cb *)((void *)0);
  opts___1[9].defval = (intptr_t )1;
  opts___1[9].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[9].extra = 0L;
  opts___1[10].type = (enum parse_opt_type )0;
  opts___1[10].short_name = 0;
  opts___1[10].long_name = (char const   *)0;
  opts___1[10].value = (void *)0;
  opts___1[10].argh = (char const   *)0;
  opts___1[10].help = (char const   *)0;
  opts___1[10].flags = 0U;
  opts___1[10].callback = (parse_opt_cb *)0;
  opts___1[10].defval = 0L;
  opts___1[10].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[10].extra = 0L;
  init_commit_rev_name(& rev_names);
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(opts___1),
                       name_rev_usage, (enum parse_opt_flags )0);
  if ((all___2 + transform_stdin) + ! (! argc) > 1) {
    error((char const   *)"Specify either a list, or --all, not both!");
    const_error();
    usage_with_options(name_rev_usage, (struct option  const  *)(opts___1));
  }
  if (all___2) {
    cutoff = (timestamp_t )0;
  } else
  if (transform_stdin) {
    cutoff = (timestamp_t )0;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! argc) {
      goto while_break;
    }
    tmp = repo_get_oid(the_repository, *argv___0, & oid);
    if (tmp) {
      fprintf(stderr, (char const   *)"Could not get sha1 for %s. Skipping.\n", *argv___0);
      goto __Cont;
    }
    commit = (struct commit *)((void *)0);
    object = parse_object(the_repository, (struct object_id  const  *)(& oid));
    if (object) {
      tmp___0 = deref_tag(the_repository, object, *argv___0, 0);
      peeled = tmp___0;
      if (peeled) {
        if (peeled->type == 1U) {
          commit = (struct commit *)peeled;
        }
      }
    }
    if (! object) {
      fprintf(stderr, (char const   *)"Could not get object for %s. Skipping.\n",
              *argv___0);
      goto __Cont;
    }
    if (commit) {
      if (cutoff > commit->date) {
        cutoff = commit->date;
      }
    }
    if (peel_tag) {
      if (! commit) {
        fprintf(stderr, (char const   *)"Could not get commit for %s. Skipping.\n",
                *argv___0);
        goto __Cont;
      }
      object = (struct object *)commit;
    }
    add_object_array(object, *argv___0, & revs);
    __Cont: /* CIL Label */
    argc --;
    argv___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (cutoff) {
    if (cutoff > 86400UL) {
      cutoff -= 86400UL;
    } else {
      cutoff = (timestamp_t )0;
    }
  }
  for_each_ref(& name_ref, (void *)(& data));
  name_tips();
  if (transform_stdin) {
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___2 = feof(stdin);
      if (tmp___2) {
        goto while_break___0;
      }
      tmp___1 = fgets(buffer___5, (int )sizeof(buffer___5), stdin);
      p___0 = tmp___1;
      if (! p___0) {
        goto while_break___0;
      }
      name_rev_line(p___0, & data);
    }
    while_break___0: /* CIL Label */ ;
    }
  } else
  if (all___2) {
    tmp___3 = get_max_object_index();
    max = (int )tmp___3;
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < max)) {
        goto while_break___1;
      }
      tmp___4 = get_indexed_object((unsigned int )i);
      obj = tmp___4;
      if (! obj) {
        goto __Cont___0;
      } else
      if (obj->type != 1U) {
        goto __Cont___0;
      }
      show_name___1((struct object  const  *)obj, (char const   *)((void *)0), always___0,
                    allow_undefined, data.name_only);
      __Cont___0: /* CIL Label */
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
  } else {
    i___0 = 0;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! ((unsigned int )i___0 < revs.nr)) {
        goto while_break___2;
      }
      show_name___1((struct object  const  *)(revs.objects + i___0)->item, (char const   *)(revs.objects + i___0)->name,
                    always___0, allow_undefined, data.name_only);
      i___0 ++;
    }
    while_break___2: /* CIL Label */ ;
    }
  }
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    goto while_break___3;
  }
  while_break___3: /* CIL Label */ ;
  }
  return (0);
}
}
static double const   __ac_HASH_UPPER___139  =    (double const   )0.77;
__inline static void kh_resize_oid_set___139(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___139(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___139 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___139 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___139(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___139(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___139(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___139(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___139(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___139(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___139 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___139 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___139(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___139(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___139(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___139(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___139(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___139(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___139 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___139 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___139(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___139(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___139(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___139(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___104(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___104(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___139 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___139 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___104(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___104(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___104(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___104(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *git_notes_usage[13]  =
  {      (char const   *)"git notes [--ref <notes-ref>] [list [<object>]]",      (char const   *)"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [-m <msg> | -F <file> | (-c | -C) <object>] [<object>]",      (char const   *)"git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>",      (char const   *)"git notes [--ref <notes-ref>] append [--allow-empty] [-m <msg> | -F <file> | (-c | -C) <object>] [<object>]",
        (char const   *)"git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]",      (char const   *)"git notes [--ref <notes-ref>] show [<object>]",      (char const   *)"git notes [--ref <notes-ref>] merge [-v | -q] [-s <strategy>] <notes-ref>",      (char const   *)"git notes merge --commit [-v | -q]",
        (char const   *)"git notes merge --abort [-v | -q]",      (char const   *)"git notes [--ref <notes-ref>] remove [<object>...]",      (char const   *)"git notes [--ref <notes-ref>] prune [-n] [-v]",      (char const   *)"git notes [--ref <notes-ref>] get-ref",
        (char const   *)((void *)0)};
static char const   *git_notes_list_usage[2]  = {      (char const   *)"git notes [list [<object>]]",      (char const   *)((void *)0)};
static char const   *git_notes_add_usage[2]  = {      (char const   *)"git notes add [<options>] [<object>]",      (char const   *)((void *)0)};
static char const   *git_notes_copy_usage[3]  = {      (char const   *)"git notes copy [<options>] <from-object> <to-object>",      (char const   *)"git notes copy --stdin [<from-object> <to-object>]...",      (char const   *)((void *)0)};
static char const   *git_notes_append_usage[2]  = {      (char const   *)"git notes append [<options>] [<object>]",      (char const   *)((void *)0)};
static char const   *git_notes_edit_usage[2]  = {      (char const   *)"git notes edit [<object>]",      (char const   *)((void *)0)};
static char const   *git_notes_show_usage[2]  = {      (char const   *)"git notes show [<object>]",      (char const   *)((void *)0)};
static char const   *git_notes_merge_usage[4]  = {      (char const   *)"git notes merge [<options>] <notes-ref>",      (char const   *)"git notes merge --commit [<options>]",      (char const   *)"git notes merge --abort [<options>]",      (char const   *)((void *)0)};
static char const   *git_notes_remove_usage[2]  = {      (char const   *)"git notes remove [<object>]",      (char const   *)((void *)0)};
static char const   *git_notes_prune_usage[2]  = {      (char const   *)"git notes prune [<options>]",      (char const   *)((void *)0)};
static char const   *git_notes_get_ref_usage[2]  = {      (char const   *)"git notes get-ref",      (char const   *)((void *)0)};
static char const   note_template[47]  =
  {      (char const   )'W',      (char const   )'r',      (char const   )'i',      (char const   )'t',
        (char const   )'e',      (char const   )'/',      (char const   )'e',      (char const   )'d',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'n',
        (char const   )'o',      (char const   )'t',      (char const   )'e',      (char const   )'s',
        (char const   )' ',      (char const   )'f',      (char const   )'o',      (char const   )'r',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'e',
        (char const   )' ',      (char const   )'f',      (char const   )'o',      (char const   )'l',
        (char const   )'l',      (char const   )'o',      (char const   )'w',      (char const   )'i',
        (char const   )'n',      (char const   )'g',      (char const   )' ',      (char const   )'o',
        (char const   )'b',      (char const   )'j',      (char const   )'e',      (char const   )'c',
        (char const   )'t',      (char const   )':',      (char const   )'\000'};
static void free_note_data(struct note_data *d )
{


  {
  if (d->edit_path) {
    unlink_or_warn((char const   *)d->edit_path);
    free((void *)d->edit_path);
  }
  strbuf_release(& d->buf);
  return;
}
}
static int list_each_note(struct object_id  const  *object_oid , struct object_id  const  *note_oid ,
                          char *note_path , void *cb_data )
{
  char *tmp ;
  char *tmp___0 ;

  {
  tmp = oid_to_hex(object_oid);
  tmp___0 = oid_to_hex(note_oid);
  printf((char const   *)"%s %s\n", tmp___0, tmp);
  return (0);
}
}
static void copy_obj_to_fd(int fd , struct object_id  const  *oid )
{
  unsigned long size ;
  enum object_type type___0 ;
  char *buf___19 ;
  void *tmp ;

  {
  tmp = repo_read_object_file(the_repository, oid, & type___0, & size);
  buf___19 = (char *)tmp;
  if (buf___19) {
    if (size) {
      write_or_die(fd, (void const   *)buf___19, size);
    }
    free((void *)buf___19);
  }
  return;
}
}
static void write_commented_object(int fd , struct object_id  const  *object )
{
  struct child_process show___5 ;
  struct strbuf buf___19 ;
  struct strbuf cbuf ;
  char *tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  ssize_t tmp___4 ;
  char *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;

  {
  show___5.args.v = empty_strvec;
  show___5.args.nr = 0UL;
  show___5.args.alloc = 0UL;
  show___5.env_array.v = empty_strvec;
  show___5.env_array.nr = 0UL;
  show___5.env_array.alloc = 0UL;
  show___5.pid = 0;
  show___5.trace2_child_id = 0;
  show___5.trace2_child_us_start = 0UL;
  show___5.trace2_child_class = (char const   *)0;
  show___5.trace2_hook_name = (char const   *)0;
  show___5.in = 0;
  show___5.out = 0;
  show___5.err = 0;
  show___5.dir = (char const   *)0;
  show___5.no_stdin = 0U;
  show___5.no_stdout = 0U;
  show___5.no_stderr = 0U;
  show___5.git_cmd = 0U;
  show___5.silent_exec_failure = 0U;
  show___5.use_shell = 0U;
  show___5.close_object_store = 0U;
  show___5.stdout_to_stderr = 0U;
  show___5.clean_on_exit = 0U;
  show___5.wait_after_clean = 0U;
  show___5.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  show___5.clean_on_exit_handler_cbdata = (void *)0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  cbuf.alloc = 0UL;
  cbuf.len = 0UL;
  cbuf.buf = strbuf_slopbuf;
  tmp = oid_to_hex(object);
  strvec_pushl(& show___5.args, "show", "--stat", "--no-notes", tmp, (void *)0);
  show___5.no_stdin = 1U;
  show___5.out = -1;
  show___5.err = 0;
  show___5.git_cmd = 1U;
  tmp___2 = start_command(& show___5);
  if (tmp___2) {
    tmp___0 = oid_to_hex(object);
    tmp___1 = _((char const   *)"unable to start \'show\' for object \'%s\'");
    die((char const   *)tmp___1, tmp___0);
  }
  tmp___4 = strbuf_read(& buf___19, show___5.out, (size_t )0);
  if (tmp___4 < 0L) {
    tmp___3 = _((char const   *)"could not read \'show\' output");
    die_errno((char const   *)tmp___3);
  }
  strbuf_add_commented_lines(& cbuf, (char const   *)buf___19.buf, buf___19.len);
  write_or_die(fd, (void const   *)cbuf.buf, cbuf.len);
  strbuf_release(& cbuf);
  strbuf_release(& buf___19);
  tmp___7 = finish_command(& show___5);
  if (tmp___7) {
    tmp___5 = oid_to_hex(object);
    tmp___6 = _((char const   *)"failed to finish \'show\' for object \'%s\'");
    die((char const   *)tmp___6, tmp___5);
  }
  return;
}
}
static void prepare_note_data(struct object_id  const  *object , struct note_data *d ,
                              struct object_id  const  *old_note )
{
  int fd ;
  struct strbuf buf___19 ;
  size_t tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  size_t tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  if (d->use_editor) {
    goto _L;
  } else
  if (! d->given) {
    _L: /* CIL Label */
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    d->edit_path = git_pathdup((char const   *)"NOTES_EDITMSG");
    fd = xopen((char const   *)d->edit_path, 577, 0600);
    if (d->given) {
      write_or_die(fd, (void const   *)d->buf.buf, d->buf.len);
    } else
    if (old_note) {
      copy_obj_to_fd(fd, old_note);
    }
    strbuf_addch(& buf___19, '\n');
    tmp = strlen((char const   *)"\n");
    strbuf_add_commented_lines(& buf___19, (char const   *)"\n", tmp);
    tmp___0 = _(note_template);
    tmp___1 = strlen((char const   *)tmp___0);
    tmp___2 = _(note_template);
    strbuf_add_commented_lines(& buf___19, (char const   *)tmp___2, tmp___1);
    strbuf_addch(& buf___19, '\n');
    write_or_die(fd, (void const   *)buf___19.buf, buf___19.len);
    write_commented_object(fd, object);
    close(fd);
    strbuf_release(& buf___19);
    strbuf_setlen___33(& d->buf, (size_t )0);
    tmp___4 = launch_editor((char const   *)d->edit_path, & d->buf, (char const   **)((void *)0));
    if (tmp___4) {
      tmp___3 = _((char const   *)"please supply the note contents using either -m or -F option");
      die((char const   *)tmp___3);
    }
    strbuf_stripspace(& d->buf, 1);
  }
  return;
}
}
static void write_note_data(struct note_data *d , struct object_id *oid )
{
  int status ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp___3 = write_object_file((void const   *)d->buf.buf, d->buf.len, blob_type, oid);
  if (tmp___3) {
    tmp = _((char const   *)"unable to write note object");
    tmp___0 = die_message((char const   *)tmp);
    status = tmp___0;
    if (d->edit_path) {
      tmp___1 = _((char const   *)"the note contents have been left in %s");
      die_message((char const   *)tmp___1, d->edit_path);
    }
    tmp___2 = trace2_cmd_exit_fl((char const   *)"builtin/notes.c", 208, status);
    exit(tmp___2);
  }
  return;
}
}
static int parse_msg_arg(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct note_data *d ;
  size_t tmp ;

  {
  d = (struct note_data *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/notes.c", 216, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = strlen(arg);
  strbuf_grow(& d->buf, tmp + 2UL);
  if (d->buf.len) {
    strbuf_addch(& d->buf, '\n');
  }
  strbuf_addstr(& d->buf, arg);
  strbuf_stripspace(& d->buf, 0);
  d->given = 1;
  return (0);
}
}
static int parse_file_arg(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct note_data *d ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  ssize_t tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  ssize_t tmp___2 ;
  int tmp___3 ;

  {
  d = (struct note_data *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/notes.c", 232, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (d->buf.len) {
    strbuf_addch(& d->buf, '\n');
  }
  tmp___3 = strcmp(arg, (char const   *)"-");
  if (tmp___3) {
    tmp___2 = strbuf_read_file(& d->buf, arg, (size_t )1024);
    if (tmp___2 < 0L) {
      tmp___1 = _((char const   *)"could not open or read \'%s\'");
      die_errno((char const   *)tmp___1, arg);
    }
  } else {
    tmp___0 = strbuf_read(& d->buf, 0, (size_t )1024);
    if (tmp___0 < 0L) {
      tmp = _((char const   *)"cannot read \'%s\'");
      die_errno((char const   *)tmp, arg);
    }
  }
  strbuf_stripspace(& d->buf, 0);
  d->given = 1;
  return (0);
}
}
static int parse_reuse_arg(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct note_data *d ;
  char *buf___19 ;
  struct object_id object ;
  enum object_type type___0 ;
  unsigned long len___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  void *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  d = (struct note_data *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/notes.c", 255, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (d->buf.len) {
    strbuf_addch(& d->buf, '\n');
  }
  tmp___0 = repo_get_oid(the_repository, arg, & object);
  if (tmp___0) {
    tmp = _((char const   *)"failed to resolve \'%s\' as a valid ref.");
    die((char const   *)tmp, arg);
  }
  tmp___2 = repo_read_object_file(the_repository, (struct object_id  const  *)(& object),
                                  & type___0, & len___0);
  buf___19 = (char *)tmp___2;
  if (! buf___19) {
    tmp___1 = _((char const   *)"failed to read object \'%s\'.");
    die((char const   *)tmp___1, arg);
  }
  if ((int )type___0 != 3) {
    free((void *)buf___19);
    tmp___3 = _((char const   *)"cannot read note data from non-blob object \'%s\'.");
    die((char const   *)tmp___3, arg);
  }
  strbuf_add(& d->buf, (void const   *)buf___19, len___0);
  free((void *)buf___19);
  d->given = 1;
  return (0);
}
}
static int parse_reedit_arg(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct note_data *d ;
  int tmp ;

  {
  d = (struct note_data *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/notes.c", 278, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  d->use_editor = 1;
  tmp = parse_reuse_arg(opt___0, arg, unset);
  return (tmp);
}
}
static int notes_copy_from_stdin(int force___2 , char const   *rewrite_cmd )
{
  struct strbuf buf___19 ;
  struct notes_rewrite_cfg *c___0 ;
  struct notes_tree *t ;
  int ret___67 ;
  char const   *msg___5 ;
  struct object_id from_obj ;
  struct object_id to_obj ;
  struct strbuf **split ;
  int err___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  c___0 = (struct notes_rewrite_cfg *)((void *)0);
  t = (struct notes_tree *)((void *)0);
  ret___67 = 0;
  msg___5 = (char const   *)"Notes added by \'git notes copy\'";
  if (rewrite_cmd) {
    c___0 = init_copy_notes_for_rewrite(rewrite_cmd);
    if (! c___0) {
      return (0);
    }
  } else {
    init_notes((struct notes_tree *)((void *)0), (char const   *)((void *)0), (int (*)(struct object_id *cur_oid ,
                                                                                       struct object_id  const  *new_oid ))((void *)0),
               2);
    t = & default_notes_tree;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___5 = strbuf_getline_lf(& buf___19, stdin);
    if (! (tmp___5 != -1)) {
      goto while_break;
    }
    split = strbuf_split((struct strbuf  const  *)(& buf___19), ' ');
    if (! *(split + 0)) {
      tmp = _((char const   *)"malformed input line: \'%s\'.");
      die((char const   *)tmp, buf___19.buf);
    } else
    if (! *(split + 1)) {
      tmp = _((char const   *)"malformed input line: \'%s\'.");
      die((char const   *)tmp, buf___19.buf);
    }
    strbuf_rtrim(*(split + 0));
    strbuf_rtrim(*(split + 1));
    tmp___1 = repo_get_oid(the_repository, (char const   *)(*(split + 0))->buf, & from_obj);
    if (tmp___1) {
      tmp___0 = _((char const   *)"failed to resolve \'%s\' as a valid ref.");
      die((char const   *)tmp___0, (*(split + 0))->buf);
    }
    tmp___3 = repo_get_oid(the_repository, (char const   *)(*(split + 1))->buf, & to_obj);
    if (tmp___3) {
      tmp___2 = _((char const   *)"failed to resolve \'%s\' as a valid ref.");
      die((char const   *)tmp___2, (*(split + 1))->buf);
    }
    if (rewrite_cmd) {
      err___4 = copy_note_for_rewrite(c___0, (struct object_id  const  *)(& from_obj),
                                      (struct object_id  const  *)(& to_obj));
    } else {
      err___4 = copy_note(t, (struct object_id  const  *)(& from_obj), (struct object_id  const  *)(& to_obj),
                          force___2, & combine_notes_overwrite);
    }
    if (err___4) {
      tmp___4 = _((char const   *)"failed to copy notes from \'%s\' to \'%s\'");
      error((char const   *)tmp___4, (*(split + 0))->buf, (*(split + 1))->buf);
      const_error();
      ret___67 = 1;
    }
    strbuf_list_free(split);
  }
  while_break: /* CIL Label */ ;
  }
  if (! rewrite_cmd) {
    commit_notes(the_repository, t, msg___5);
    free_notes(t);
  } else {
    finish_copy_notes_for_rewrite(the_repository, c___0, msg___5);
  }
  strbuf_release(& buf___19);
  return (ret___67);
}
}
static struct notes_tree *init_notes_check(char const   *subcommand , int flags___0 )
{
  struct notes_tree *t ;
  char const   *ref ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  init_notes((struct notes_tree *)((void *)0), (char const   *)((void *)0), (int (*)(struct object_id *cur_oid ,
                                                                                     struct object_id  const  *new_oid ))((void *)0),
             flags___0);
  t = & default_notes_tree;
  if (flags___0 & 2) {
    ref = (char const   *)t->update_ref;
  } else {
    ref = (char const   *)t->ref;
  }
  tmp___0 = starts_with(ref, (char const   *)"refs/notes/");
  if (! tmp___0) {
    tmp = _((char const   *)"refusing to %s notes in %s (outside of refs/notes/)");
    die((char const   *)tmp, subcommand, ref);
  }
  return (t);
}
}
static int list___0(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct notes_tree *t ;
  struct object_id object ;
  struct object_id  const  *note ;
  int retval ;
  struct option options[1] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  retval = -1;
  options[0].type = (enum parse_opt_type )0;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)0;
  options[0].value = (void *)0;
  options[0].argh = (char const   *)0;
  options[0].help = (char const   *)0;
  options[0].flags = 0U;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  if (argc) {
    argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                         git_notes_list_usage, (enum parse_opt_flags )0);
  }
  if (1 < argc) {
    tmp = _((char const   *)"too many arguments");
    error((char const   *)tmp);
    const_error();
    usage_with_options(git_notes_list_usage, (struct option  const  *)(options));
  }
  t = init_notes_check((char const   *)"list", 0);
  if (argc) {
    tmp___1 = repo_get_oid(the_repository, *(argv___0 + 0), & object);
    if (tmp___1) {
      tmp___0 = _((char const   *)"failed to resolve \'%s\' as a valid ref.");
      die((char const   *)tmp___0, *(argv___0 + 0));
    }
    note = get_note(t, (struct object_id  const  *)(& object));
    if (note) {
      tmp___2 = oid_to_hex(note);
      puts((char const   *)tmp___2);
      retval = 0;
    } else {
      tmp___3 = oid_to_hex((struct object_id  const  *)(& object));
      tmp___4 = _((char const   *)"no note found for object %s.");
      error((char const   *)tmp___4, tmp___3);
      retval = const_error();
    }
  } else {
    retval = for_each_note(t, 0, & list_each_note, (void *)0);
  }
  free_notes(t);
  return (retval);
}
}
static int append_edit(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
static int add(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int force___2 ;
  int allow_empty___1 ;
  char const   *object_ref ;
  struct notes_tree *t ;
  struct object_id object ;
  struct object_id new_note ;
  struct object_id  const  *note ;
  struct note_data d ;
  struct option options[7] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;

  {
  force___2 = 0;
  allow_empty___1 = 0;
  d.given = 0;
  d.use_editor = 0;
  d.edit_path = (char *)((void *)0);
  d.buf.alloc = 0UL;
  d.buf.len = 0UL;
  d.buf.buf = strbuf_slopbuf;
  options[0].type = (enum parse_opt_type )12;
  options[0].short_name = 'm';
  options[0].long_name = (char const   *)"message";
  options[0].value = (void *)(& d);
  options[0].argh = (char const   *)"message";
  options[0].help = (char const   *)"note contents as a string";
  options[0].flags = (enum parse_opt_option_flags )4;
  options[0].callback = & parse_msg_arg;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )12;
  options[1].short_name = 'F';
  options[1].long_name = (char const   *)"file";
  options[1].value = (void *)(& d);
  options[1].argh = (char const   *)"file";
  options[1].help = (char const   *)"note contents in a file";
  options[1].flags = (enum parse_opt_option_flags )4;
  options[1].callback = & parse_file_arg;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )12;
  options[2].short_name = 'c';
  options[2].long_name = (char const   *)"reedit-message";
  options[2].value = (void *)(& d);
  options[2].argh = (char const   *)"object";
  options[2].help = (char const   *)"reuse and edit specified note object";
  options[2].flags = (enum parse_opt_option_flags )4;
  options[2].callback = & parse_reedit_arg;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )12;
  options[3].short_name = 'C';
  options[3].long_name = (char const   *)"reuse-message";
  options[3].value = (void *)(& d);
  options[3].argh = (char const   *)"object";
  options[3].help = (char const   *)"reuse specified note object";
  options[3].flags = (enum parse_opt_option_flags )4;
  options[3].callback = & parse_reuse_arg;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"allow-empty";
  options[4].value = (void *)(& allow_empty___1);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"allow storing empty note";
  options[4].flags = (enum parse_opt_option_flags )2;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )1;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )7;
  options[5].short_name = 'f';
  options[5].long_name = (char const   *)"force";
  options[5].value = (void *)(& force___2);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"replace existing notes";
  options[5].flags = (enum parse_opt_option_flags )514;
  options[5].callback = (parse_opt_cb *)0;
  options[5].defval = 0L;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )0;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)0;
  options[6].value = (void *)0;
  options[6].argh = (char const   *)0;
  options[6].help = (char const   *)0;
  options[6].flags = 0U;
  options[6].callback = (parse_opt_cb *)0;
  options[6].defval = 0L;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_notes_add_usage, (enum parse_opt_flags )4);
  if (2 < argc) {
    tmp = _((char const   *)"too many arguments");
    error((char const   *)tmp);
    const_error();
    usage_with_options(git_notes_add_usage, (struct option  const  *)(options));
  }
  if (argc > 1) {
    object_ref = *(argv___0 + 1);
  } else {
    object_ref = (char const   *)"HEAD";
  }
  tmp___1 = repo_get_oid(the_repository, object_ref, & object);
  if (tmp___1) {
    tmp___0 = _((char const   *)"failed to resolve \'%s\' as a valid ref.");
    die((char const   *)tmp___0, object_ref);
  }
  t = init_notes_check((char const   *)"add", 2);
  note = get_note(t, (struct object_id  const  *)(& object));
  if (note) {
    if (! force___2) {
      free_notes(t);
      if (d.given) {
        free_note_data(& d);
        tmp___2 = oid_to_hex((struct object_id  const  *)(& object));
        tmp___3 = _((char const   *)"Cannot add notes. Found existing notes for object %s. Use \'-f\' to overwrite existing notes");
        error((char const   *)tmp___3, tmp___2);
        tmp___4 = const_error();
        return (tmp___4);
      }
      *(argv___0 + 0) = (char const   *)"edit";
      tmp___5 = append_edit(argc, argv___0, prefix___1);
      return (tmp___5);
    }
    tmp___6 = oid_to_hex((struct object_id  const  *)(& object));
    tmp___7 = _((char const   *)"Overwriting existing notes for object %s\n");
    fprintf(stderr, (char const   *)tmp___7, tmp___6);
  }
  prepare_note_data((struct object_id  const  *)(& object), & d, note);
  if (d.buf.len) {
    goto _L;
  } else
  if (allow_empty___1) {
    _L: /* CIL Label */
    write_note_data(& d, & new_note);
    tmp___8 = add_note(t, (struct object_id  const  *)(& object), (struct object_id  const  *)(& new_note),
                       & combine_notes_overwrite);
    if (tmp___8) {
      BUG_fl((char const   *)"builtin/notes.c", 469, (char const   *)"combine_notes_overwrite failed");
    }
    commit_notes(the_repository, t, (char const   *)"Notes added by \'git notes add\'");
  } else {
    tmp___9 = oid_to_hex((struct object_id  const  *)(& object));
    tmp___10 = _((char const   *)"Removing note for object %s\n");
    fprintf(stderr, (char const   *)tmp___10, tmp___9);
    remove_note(t, (unsigned char const   *)(object.hash));
    commit_notes(the_repository, t, (char const   *)"Notes removed by \'git notes add\'");
  }
  free_note_data(& d);
  free_notes(t);
  return (0);
}
}
static int copy(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int retval ;
  int force___2 ;
  int from_stdin___0 ;
  struct object_id  const  *from_note ;
  struct object_id  const  *note ;
  char const   *object_ref ;
  struct object_id object ;
  struct object_id from_obj ;
  struct notes_tree *t ;
  char const   *rewrite_cmd ;
  struct option options[4] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;

  {
  retval = 0;
  force___2 = 0;
  from_stdin___0 = 0;
  rewrite_cmd = (char const   *)((void *)0);
  options[0].type = (enum parse_opt_type )7;
  options[0].short_name = 'f';
  options[0].long_name = (char const   *)"force";
  options[0].value = (void *)(& force___2);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"replace existing notes";
  options[0].flags = (enum parse_opt_option_flags )514;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"stdin";
  options[1].value = (void *)(& from_stdin___0);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"read objects from stdin";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )9;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"for-rewrite";
  options[2].value = (void *)(& rewrite_cmd);
  options[2].argh = (char const   *)"command";
  options[2].help = (char const   *)"load rewriting config for <command> (implies --stdin)";
  options[2].flags = (enum parse_opt_option_flags )0;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )0;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)0;
  options[3].value = (void *)0;
  options[3].argh = (char const   *)0;
  options[3].help = (char const   *)0;
  options[3].flags = 0U;
  options[3].callback = (parse_opt_cb *)0;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_notes_copy_usage, (enum parse_opt_flags )0);
  if (from_stdin___0) {
    goto _L;
  } else
  if (rewrite_cmd) {
    _L: /* CIL Label */
    if (argc) {
      tmp = _((char const   *)"too many arguments");
      error((char const   *)tmp);
      const_error();
      usage_with_options(git_notes_copy_usage, (struct option  const  *)(options));
    } else {
      tmp___0 = notes_copy_from_stdin(force___2, rewrite_cmd);
      return (tmp___0);
    }
  }
  if (argc < 1) {
    tmp___1 = _((char const   *)"too few arguments");
    error((char const   *)tmp___1);
    const_error();
    usage_with_options(git_notes_copy_usage, (struct option  const  *)(options));
  }
  if (2 < argc) {
    tmp___2 = _((char const   *)"too many arguments");
    error((char const   *)tmp___2);
    const_error();
    usage_with_options(git_notes_copy_usage, (struct option  const  *)(options));
  }
  tmp___4 = repo_get_oid(the_repository, *(argv___0 + 0), & from_obj);
  if (tmp___4) {
    tmp___3 = _((char const   *)"failed to resolve \'%s\' as a valid ref.");
    die((char const   *)tmp___3, *(argv___0 + 0));
  }
  if (1 < argc) {
    object_ref = *(argv___0 + 1);
  } else {
    object_ref = (char const   *)"HEAD";
  }
  tmp___6 = repo_get_oid(the_repository, object_ref, & object);
  if (tmp___6) {
    tmp___5 = _((char const   *)"failed to resolve \'%s\' as a valid ref.");
    die((char const   *)tmp___5, object_ref);
  }
  t = init_notes_check((char const   *)"copy", 2);
  note = get_note(t, (struct object_id  const  *)(& object));
  if (note) {
    if (! force___2) {
      tmp___7 = oid_to_hex((struct object_id  const  *)(& object));
      tmp___8 = _((char const   *)"Cannot copy notes. Found existing notes for object %s. Use \'-f\' to overwrite existing notes");
      error((char const   *)tmp___8, tmp___7);
      retval = const_error();
      goto out;
    }
    tmp___9 = oid_to_hex((struct object_id  const  *)(& object));
    tmp___10 = _((char const   *)"Overwriting existing notes for object %s\n");
    fprintf(stderr, (char const   *)tmp___10, tmp___9);
  }
  from_note = get_note(t, (struct object_id  const  *)(& from_obj));
  if (! from_note) {
    tmp___11 = oid_to_hex((struct object_id  const  *)(& from_obj));
    tmp___12 = _((char const   *)"missing notes on source object %s. Cannot copy.");
    error((char const   *)tmp___12, tmp___11);
    retval = const_error();
    goto out;
  }
  tmp___13 = add_note(t, (struct object_id  const  *)(& object), from_note, & combine_notes_overwrite);
  if (tmp___13) {
    BUG_fl((char const   *)"builtin/notes.c", 554, (char const   *)"combine_notes_overwrite failed");
  }
  commit_notes(the_repository, t, (char const   *)"Notes added by \'git notes copy\'");
  out:
  free_notes(t);
  return (retval);
}
}
static int append_edit(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int allow_empty___1 ;
  char const   *object_ref ;
  struct notes_tree *t ;
  struct object_id object ;
  struct object_id new_note ;
  struct object_id  const  *note ;
  char *logmsg ;
  char const   **usage___2 ;
  struct note_data d ;
  struct option options[6] ;
  int edit ;
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  struct object_id  const  *tmp___5 ;
  unsigned long size ;
  enum object_type type___0 ;
  char *prev_buf ;
  void *tmp___6 ;
  int tmp___7 ;
  char *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;

  {
  allow_empty___1 = 0;
  d.given = 0;
  d.use_editor = 0;
  d.edit_path = (char *)((void *)0);
  d.buf.alloc = 0UL;
  d.buf.len = 0UL;
  d.buf.buf = strbuf_slopbuf;
  options[0].type = (enum parse_opt_type )12;
  options[0].short_name = 'm';
  options[0].long_name = (char const   *)"message";
  options[0].value = (void *)(& d);
  options[0].argh = (char const   *)"message";
  options[0].help = (char const   *)"note contents as a string";
  options[0].flags = (enum parse_opt_option_flags )4;
  options[0].callback = & parse_msg_arg;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )12;
  options[1].short_name = 'F';
  options[1].long_name = (char const   *)"file";
  options[1].value = (void *)(& d);
  options[1].argh = (char const   *)"file";
  options[1].help = (char const   *)"note contents in a file";
  options[1].flags = (enum parse_opt_option_flags )4;
  options[1].callback = & parse_file_arg;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )12;
  options[2].short_name = 'c';
  options[2].long_name = (char const   *)"reedit-message";
  options[2].value = (void *)(& d);
  options[2].argh = (char const   *)"object";
  options[2].help = (char const   *)"reuse and edit specified note object";
  options[2].flags = (enum parse_opt_option_flags )4;
  options[2].callback = & parse_reedit_arg;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )12;
  options[3].short_name = 'C';
  options[3].long_name = (char const   *)"reuse-message";
  options[3].value = (void *)(& d);
  options[3].argh = (char const   *)"object";
  options[3].help = (char const   *)"reuse specified note object";
  options[3].flags = (enum parse_opt_option_flags )4;
  options[3].callback = & parse_reuse_arg;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"allow-empty";
  options[4].value = (void *)(& allow_empty___1);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"allow storing empty note";
  options[4].flags = (enum parse_opt_option_flags )2;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )1;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )0;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)0;
  options[5].value = (void *)0;
  options[5].argh = (char const   *)0;
  options[5].help = (char const   *)0;
  options[5].flags = 0U;
  options[5].callback = (parse_opt_cb *)0;
  options[5].defval = 0L;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  tmp = strcmp(*(argv___0 + 0), (char const   *)"edit");
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  edit = tmp___0;
  if (edit) {
    usage___2 = git_notes_edit_usage;
  } else {
    usage___2 = git_notes_append_usage;
  }
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       usage___2, (enum parse_opt_flags )4);
  if (2 < argc) {
    tmp___1 = _((char const   *)"too many arguments");
    error((char const   *)tmp___1);
    const_error();
    usage_with_options(usage___2, (struct option  const  *)(options));
  }
  if (d.given) {
    if (edit) {
      tmp___2 = _((char const   *)"The -m/-F/-c/-C options have been deprecated for the \'edit\' subcommand.\nPlease use \'git notes add -f -m/-F/-c/-C\' instead.\n");
      fprintf(stderr, (char const   *)tmp___2);
    }
  }
  if (1 < argc) {
    object_ref = *(argv___0 + 1);
  } else {
    object_ref = (char const   *)"HEAD";
  }
  tmp___4 = repo_get_oid(the_repository, object_ref, & object);
  if (tmp___4) {
    tmp___3 = _((char const   *)"failed to resolve \'%s\' as a valid ref.");
    die((char const   *)tmp___3, object_ref);
  }
  t = init_notes_check(*(argv___0 + 0), 2);
  note = get_note(t, (struct object_id  const  *)(& object));
  if (edit) {
    if (note) {
      tmp___5 = note;
    } else {
      tmp___5 = (struct object_id  const  *)((void *)0);
    }
  } else {
    tmp___5 = (struct object_id  const  *)((void *)0);
  }
  prepare_note_data((struct object_id  const  *)(& object), & d, tmp___5);
  if (note) {
    if (! edit) {
      tmp___6 = repo_read_object_file(the_repository, note, & type___0, & size);
      prev_buf = (char *)tmp___6;
      strbuf_grow(& d.buf, size + 1UL);
      if (d.buf.len) {
        if (prev_buf) {
          if (size) {
            strbuf_insertstr(& d.buf, (size_t )0, (char const   *)"\n");
          }
        }
      }
      if (prev_buf) {
        if (size) {
          strbuf_insert(& d.buf, (size_t )0, (void const   *)prev_buf, size);
        }
      }
      free((void *)prev_buf);
    }
  }
  if (d.buf.len) {
    goto _L;
  } else
  if (allow_empty___1) {
    _L: /* CIL Label */
    write_note_data(& d, & new_note);
    tmp___7 = add_note(t, (struct object_id  const  *)(& object), (struct object_id  const  *)(& new_note),
                       & combine_notes_overwrite);
    if (tmp___7) {
      BUG_fl((char const   *)"builtin/notes.c", 632, (char const   *)"combine_notes_overwrite failed");
    }
    logmsg = xstrfmt((char const   *)"Notes added by \'git notes %s\'", *(argv___0 + 0));
  } else {
    tmp___8 = oid_to_hex((struct object_id  const  *)(& object));
    tmp___9 = _((char const   *)"Removing note for object %s\n");
    fprintf(stderr, (char const   *)tmp___9, tmp___8);
    remove_note(t, (unsigned char const   *)(object.hash));
    logmsg = xstrfmt((char const   *)"Notes removed by \'git notes %s\'", *(argv___0 + 0));
  }
  commit_notes(the_repository, t, (char const   *)logmsg);
  free((void *)logmsg);
  free_note_data(& d);
  free_notes(t);
  return (0);
}
}
static int show___0(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char const   *object_ref ;
  struct notes_tree *t ;
  struct object_id object ;
  struct object_id  const  *note ;
  int retval ;
  struct option options[1] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const   *show_args[3] ;
  char *tmp___4 ;

  {
  options[0].type = (enum parse_opt_type )0;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)0;
  options[0].value = (void *)0;
  options[0].argh = (char const   *)0;
  options[0].help = (char const   *)0;
  options[0].flags = 0U;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_notes_show_usage, (enum parse_opt_flags )0);
  if (1 < argc) {
    tmp = _((char const   *)"too many arguments");
    error((char const   *)tmp);
    const_error();
    usage_with_options(git_notes_show_usage, (struct option  const  *)(options));
  }
  if (argc) {
    object_ref = *(argv___0 + 0);
  } else {
    object_ref = (char const   *)"HEAD";
  }
  tmp___1 = repo_get_oid(the_repository, object_ref, & object);
  if (tmp___1) {
    tmp___0 = _((char const   *)"failed to resolve \'%s\' as a valid ref.");
    die((char const   *)tmp___0, object_ref);
  }
  t = init_notes_check((char const   *)"show", 0);
  note = get_note(t, (struct object_id  const  *)(& object));
  if (! note) {
    tmp___2 = oid_to_hex((struct object_id  const  *)(& object));
    tmp___3 = _((char const   *)"no note found for object %s.");
    error((char const   *)tmp___3, tmp___2);
    retval = const_error();
  } else {
    tmp___4 = oid_to_hex(note);
    show_args[0] = (char const   *)"show";
    show_args[1] = (char const   *)tmp___4;
    show_args[2] = (char const   *)((void *)0);
    retval = execv_git_cmd(show_args);
  }
  free_notes(t);
  return (retval);
}
}
static int merge_abort(struct notes_merge_options *o )
{
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  ret___67 = 0;
  tmp___1 = delete_ref((char const   *)((void *)0), (char const   *)"NOTES_MERGE_PARTIAL",
                       (struct object_id  const  *)((void *)0), 0U);
  if (tmp___1) {
    tmp = _((char const   *)"failed to delete ref NOTES_MERGE_PARTIAL");
    error((char const   *)tmp);
    tmp___0 = const_error();
    ret___67 += tmp___0;
  }
  tmp___4 = delete_ref((char const   *)((void *)0), (char const   *)"NOTES_MERGE_REF",
                       (struct object_id  const  *)((void *)0), 1U);
  if (tmp___4) {
    tmp___2 = _((char const   *)"failed to delete ref NOTES_MERGE_REF");
    error((char const   *)tmp___2);
    tmp___3 = const_error();
    ret___67 += tmp___3;
  }
  tmp___7 = notes_merge_abort(o);
  if (tmp___7) {
    tmp___5 = _((char const   *)"failed to remove \'git notes merge\' worktree");
    error((char const   *)tmp___5);
    tmp___6 = const_error();
    ret___67 += tmp___6;
  }
  return (ret___67);
}
}
static int merge_commit(struct notes_merge_options *o )
{
  struct strbuf msg___5 ;
  struct object_id oid ;
  struct object_id parent_oid ;
  struct notes_tree *t ;
  struct commit *partial ;
  struct pretty_print_context pretty_ctx ;
  void *local_ref_to_free ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  void *tmp___4 ;
  char *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  struct object_id *tmp___10 ;
  int tmp___11 ;

  {
  msg___5.alloc = 0UL;
  msg___5.len = 0UL;
  msg___5.buf = strbuf_slopbuf;
  tmp___3 = repo_get_oid(the_repository, (char const   *)"NOTES_MERGE_PARTIAL", & oid);
  if (tmp___3) {
    tmp = _((char const   *)"failed to read ref NOTES_MERGE_PARTIAL");
    die((char const   *)tmp);
  } else {
    partial = lookup_commit_reference(the_repository, (struct object_id  const  *)(& oid));
    if (partial) {
      tmp___2 = repo_parse_commit(the_repository, partial);
      if (tmp___2) {
        tmp___1 = _((char const   *)"could not parse commit from NOTES_MERGE_PARTIAL.");
        die((char const   *)tmp___1);
      }
    } else {
      tmp___0 = _((char const   *)"could not find commit from NOTES_MERGE_PARTIAL.");
      die((char const   *)tmp___0);
    }
  }
  if (partial->parents) {
    oidcpy(& parent_oid, (struct object_id  const  *)(& ((partial->parents)->item)->object.oid));
  } else {
    oidclr(& parent_oid);
  }
  tmp___4 = xcalloc((size_t )1, sizeof(*t));
  t = (struct notes_tree *)tmp___4;
  init_notes(t, (char const   *)"NOTES_MERGE_PARTIAL", & combine_notes_overwrite,
             0);
  tmp___5 = resolve_refdup((char const   *)"NOTES_MERGE_REF", 0, & oid, (int *)((void *)0));
  local_ref_to_free = (void *)tmp___5;
  o->local_ref = (char const   *)local_ref_to_free;
  if (! o->local_ref) {
    tmp___6 = _((char const   *)"failed to resolve NOTES_MERGE_REF");
    die((char const   *)tmp___6);
  }
  tmp___8 = notes_merge_commit(o, t, partial, & oid);
  if (tmp___8) {
    tmp___7 = _((char const   *)"failed to finalize notes merge");
    die((char const   *)tmp___7);
  }
  memset((void *)(& pretty_ctx), 0, sizeof(pretty_ctx));
  repo_format_commit_message(the_repository, (struct commit  const  *)partial, (char const   *)"%s",
                             & msg___5, (struct pretty_print_context  const  *)(& pretty_ctx));
  strbuf_trim(& msg___5);
  strbuf_insertstr(& msg___5, (size_t )0, (char const   *)"notes: ");
  tmp___11 = is_null_oid((struct object_id  const  *)(& parent_oid));
  if (tmp___11) {
    tmp___10 = (struct object_id *)((void *)0);
  } else {
    tmp___10 = & parent_oid;
  }
  update_ref((char const   *)msg___5.buf, o->local_ref, (struct object_id  const  *)(& oid),
             (struct object_id  const  *)tmp___10, 0U, (enum action_on_err )1);
  free_notes(t);
  strbuf_release(& msg___5);
  ret___67 = merge_abort(o);
  free(local_ref_to_free);
  return (ret___67);
}
}
static int git_config_get_notes_strategy(char const   *key___1 , enum notes_merge_strategy *strategy )
{
  char *value ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  tmp = git_config_get_string(key___1, & value);
  if (tmp) {
    return (1);
  }
  tmp___1 = parse_notes_merge_strategy((char const   *)value, strategy);
  if (tmp___1) {
    tmp___0 = _((char const   *)"unknown notes merge strategy %s");
    git_die_config(key___1, (char const   *)tmp___0, value);
  }
  free((void *)value);
  return (0);
}
}
static int merge___0(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct strbuf remote_ref ;
  struct strbuf msg___5 ;
  struct object_id result_oid ;
  struct notes_tree *t ;
  struct notes_merge_options o ;
  int do_merge___0 ;
  int do_commit___1 ;
  int do_abort ;
  int verbosity___3 ;
  int result___0 ;
  char const   *strategy ;
  struct option options[10] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  struct strbuf merge_key ;
  char const   *short_ref ;
  int tmp___6 ;
  int tmp___7 ;
  char const   *tmp___8 ;
  char const   *tmp___9 ;
  struct worktree **worktrees ;
  struct worktree  const  *wt ;
  char const   *tmp___10 ;
  char const   *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const   *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const   *tmp___15 ;
  int tmp___16 ;
  char const   *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;

  {
  remote_ref.alloc = 0UL;
  remote_ref.len = 0UL;
  remote_ref.buf = strbuf_slopbuf;
  msg___5.alloc = 0UL;
  msg___5.len = 0UL;
  msg___5.buf = strbuf_slopbuf;
  do_merge___0 = 0;
  do_commit___1 = 0;
  do_abort = 0;
  verbosity___3 = 0;
  strategy = (char const   *)((void *)0);
  options[0].type = (enum parse_opt_type )1;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)((void *)0);
  options[0].value = (void *)0;
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"General options";
  options[0].flags = 0U;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )12;
  options[1].short_name = 'v';
  options[1].long_name = (char const   *)"verbose";
  options[1].value = (void *)(& verbosity___3);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"be more verbose";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = & parse_opt_verbosity_cb;
  options[1].defval = (intptr_t )0;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )12;
  options[2].short_name = 'q';
  options[2].long_name = (char const   *)"quiet";
  options[2].value = (void *)(& verbosity___3);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"be more quiet";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = & parse_opt_verbosity_cb;
  options[2].defval = (intptr_t )0;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )1;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)((void *)0);
  options[3].value = (void *)0;
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"Merge options";
  options[3].flags = 0U;
  options[3].callback = (parse_opt_cb *)0;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )9;
  options[4].short_name = 's';
  options[4].long_name = (char const   *)"strategy";
  options[4].value = (void *)(& strategy);
  options[4].argh = (char const   *)"strategy";
  options[4].help = (char const   *)"resolve notes conflicts using the given strategy (manual/ours/theirs/union/cat_sort_uniq)";
  options[4].flags = (enum parse_opt_option_flags )0;
  options[4].callback = (parse_opt_cb *)0;
  options[4].defval = 0L;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )1;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)((void *)0);
  options[5].value = (void *)0;
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"Committing unmerged notes";
  options[5].flags = 0U;
  options[5].callback = (parse_opt_cb *)0;
  options[5].defval = 0L;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )8;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)"commit";
  options[6].value = (void *)(& do_commit___1);
  options[6].argh = (char const   *)((void *)0);
  options[6].help = (char const   *)"finalize notes merge by committing unmerged notes";
  options[6].flags = (enum parse_opt_option_flags )6;
  options[6].callback = (parse_opt_cb *)((void *)0);
  options[6].defval = (intptr_t )1;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )1;
  options[7].short_name = 0;
  options[7].long_name = (char const   *)((void *)0);
  options[7].value = (void *)0;
  options[7].argh = (char const   *)((void *)0);
  options[7].help = (char const   *)"Aborting notes merge resolution";
  options[7].flags = 0U;
  options[7].callback = (parse_opt_cb *)0;
  options[7].defval = 0L;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )8;
  options[8].short_name = 0;
  options[8].long_name = (char const   *)"abort";
  options[8].value = (void *)(& do_abort);
  options[8].argh = (char const   *)((void *)0);
  options[8].help = (char const   *)"abort notes merge";
  options[8].flags = (enum parse_opt_option_flags )6;
  options[8].callback = (parse_opt_cb *)((void *)0);
  options[8].defval = (intptr_t )1;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  options[9].type = (enum parse_opt_type )0;
  options[9].short_name = 0;
  options[9].long_name = (char const   *)0;
  options[9].value = (void *)0;
  options[9].argh = (char const   *)0;
  options[9].help = (char const   *)0;
  options[9].flags = 0U;
  options[9].callback = (parse_opt_cb *)0;
  options[9].defval = 0L;
  options[9].ll_callback = (parse_opt_ll_cb *)0;
  options[9].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_notes_merge_usage, (enum parse_opt_flags )0);
  if (strategy) {
    do_merge___0 = 1;
  } else
  if (do_commit___1 + do_abort == 0) {
    do_merge___0 = 1;
  }
  if ((do_merge___0 + do_commit___1) + do_abort != 1) {
    tmp = _((char const   *)"cannot mix --commit, --abort or -s/--strategy");
    error((char const   *)tmp);
    const_error();
    usage_with_options(git_notes_merge_usage, (struct option  const  *)(options));
  }
  if (do_merge___0) {
    if (argc != 1) {
      tmp___0 = _((char const   *)"must specify a notes ref to merge");
      error((char const   *)tmp___0);
      const_error();
      usage_with_options(git_notes_merge_usage, (struct option  const  *)(options));
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (! do_merge___0) {
    if (argc) {
      tmp___1 = _((char const   *)"too many arguments");
      error((char const   *)tmp___1);
      const_error();
      usage_with_options(git_notes_merge_usage, (struct option  const  *)(options));
    }
  }
  init_notes_merge_options(the_repository, & o);
  o.verbosity = verbosity___3 + 2;
  if (do_abort) {
    tmp___2 = merge_abort(& o);
    return (tmp___2);
  }
  if (do_commit___1) {
    tmp___3 = merge_commit(& o);
    return (tmp___3);
  }
  o.local_ref = default_notes_ref();
  strbuf_addstr(& remote_ref, *(argv___0 + 0));
  expand_loose_notes_ref(& remote_ref);
  o.remote_ref = (char const   *)remote_ref.buf;
  t = init_notes_check((char const   *)"merge", 2);
  if (strategy) {
    tmp___5 = parse_notes_merge_strategy(strategy, & o.strategy);
    if (tmp___5) {
      tmp___4 = _((char const   *)"unknown -s/--strategy: %s");
      error((char const   *)tmp___4, strategy);
      const_error();
      usage_with_options(git_notes_merge_usage, (struct option  const  *)(options));
    }
  } else {
    merge_key.alloc = 0UL;
    merge_key.len = 0UL;
    merge_key.buf = strbuf_slopbuf;
    short_ref = (char const   *)((void *)0);
    tmp___6 = skip_prefix(o.local_ref, (char const   *)"refs/notes/", & short_ref);
    if (! tmp___6) {
      BUG_fl((char const   *)"builtin/notes.c", 843, (char const   *)"local ref %s is outside of refs/notes/",
             o.local_ref);
    }
    strbuf_addf(& merge_key, (char const   *)"notes.%s.mergeStrategy", short_ref);
    tmp___7 = git_config_get_notes_strategy((char const   *)merge_key.buf, & o.strategy);
    if (tmp___7) {
      git_config_get_notes_strategy((char const   *)"notes.mergeStrategy", & o.strategy);
    }
    strbuf_release(& merge_key);
  }
  tmp___8 = default_notes_ref();
  strbuf_addf(& msg___5, (char const   *)"notes: Merged notes from %s into %s", remote_ref.buf,
              tmp___8);
  strbuf_add(& o.commit_msg, (void const   *)(msg___5.buf + 7), msg___5.len - 7UL);
  result___0 = notes_merge(& o, t, & result_oid);
  if (result___0 >= 0) {
    tmp___9 = default_notes_ref();
    update_ref((char const   *)msg___5.buf, tmp___9, (struct object_id  const  *)(& result_oid),
               (struct object_id  const  *)((void *)0), 0U, (enum action_on_err )1);
  } else {
    update_ref((char const   *)msg___5.buf, (char const   *)"NOTES_MERGE_PARTIAL",
               (struct object_id  const  *)(& result_oid), (struct object_id  const  *)((void *)0),
               0U, (enum action_on_err )1);
    worktrees = get_worktrees();
    tmp___10 = default_notes_ref();
    wt = find_shared_symref(worktrees, (char const   *)"NOTES_MERGE_REF", tmp___10);
    if (wt) {
      tmp___11 = default_notes_ref();
      tmp___12 = _((char const   *)"a notes merge into %s is already in-progress at %s");
      die((char const   *)tmp___12, tmp___11, wt->path);
    }
    free_worktrees(worktrees);
    tmp___15 = default_notes_ref();
    tmp___16 = create_symref((char const   *)"NOTES_MERGE_REF", tmp___15, (char const   *)((void *)0));
    if (tmp___16) {
      tmp___13 = default_notes_ref();
      tmp___14 = _((char const   *)"failed to store link to current notes ref (%s)");
      die((char const   *)tmp___14, tmp___13);
    }
    tmp___17 = git_path((char const   *)"NOTES_MERGE_WORKTREE");
    tmp___18 = _((char const   *)"Automatic notes merge failed. Fix conflicts in %s and commit the result with \'git notes merge --commit\', or abort the merge with \'git notes merge --abort\'.\n");
    fprintf(stderr, (char const   *)tmp___18, tmp___17);
  }
  free_notes(t);
  strbuf_release(& remote_ref);
  strbuf_release(& msg___5);
  return (result___0 < 0);
}
}
static int remove_one_note(struct notes_tree *t , char const   *name___0 , unsigned int flag )
{
  int status ;
  struct object_id oid ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  tmp___1 = repo_get_oid(the_repository, name___0, & oid);
  if (tmp___1) {
    tmp = _((char const   *)"Failed to resolve \'%s\' as a valid ref.");
    error((char const   *)tmp, name___0);
    tmp___0 = const_error();
    return (tmp___0);
  }
  status = remove_note(t, (unsigned char const   *)(oid.hash));
  if (status) {
    tmp___2 = _((char const   *)"Object %s has no note\n");
    fprintf(stderr, (char const   *)tmp___2, name___0);
  } else {
    tmp___3 = _((char const   *)"Removing note for object %s\n");
    fprintf(stderr, (char const   *)tmp___3, name___0);
  }
  if (flag & 1U) {
    tmp___4 = 0;
  } else {
    tmp___4 = status;
  }
  return (tmp___4);
}
}
static int remove_cmd(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  unsigned int flag ;
  int from_stdin___0 ;
  struct option options[3] ;
  struct notes_tree *t ;
  int retval ;
  int tmp ;
  struct strbuf sb___6 ;
  int tmp___0 ;
  int tmp___1 ;

  {
  flag = 0U;
  from_stdin___0 = 0;
  options[0].type = (enum parse_opt_type )4;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"ignore-missing";
  options[0].value = (void *)(& flag);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"attempt to remove non-existent note is not an error";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"stdin";
  options[1].value = (void *)(& from_stdin___0);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"read object names from the standard input";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )0;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)0;
  options[2].value = (void *)0;
  options[2].argh = (char const   *)0;
  options[2].help = (char const   *)0;
  options[2].flags = 0U;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  retval = 0;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_notes_remove_usage, (enum parse_opt_flags )0);
  t = init_notes_check((char const   *)"remove", 2);
  if (! argc) {
    if (! from_stdin___0) {
      retval = remove_one_note(t, (char const   *)"HEAD", flag);
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! *argv___0) {
        goto while_break;
      }
      tmp = remove_one_note(t, *argv___0, flag);
      retval |= tmp;
      argv___0 ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (from_stdin___0) {
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___1 = strbuf_getwholeline(& sb___6, stdin, '\n');
      if (! (tmp___1 != -1)) {
        goto while_break___0;
      }
      strbuf_rtrim(& sb___6);
      tmp___0 = remove_one_note(t, (char const   *)sb___6.buf, flag);
      retval |= tmp___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    strbuf_release(& sb___6);
  }
  if (! retval) {
    commit_notes(the_repository, t, (char const   *)"Notes removed by \'git notes remove\'");
  }
  free_notes(t);
  return (retval);
}
}
static int prune___1(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct notes_tree *t ;
  int show_only___3 ;
  int verbose___15 ;
  struct option options[3] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  show_only___3 = 0;
  verbose___15 = 0;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 'n';
  options[0].long_name = (char const   *)"dry-run";
  options[0].value = (void *)(& show_only___3);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"do not remove, show only";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )7;
  options[1].short_name = 'v';
  options[1].long_name = (char const   *)"verbose";
  options[1].value = (void *)(& verbose___15);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"report pruned notes";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )0;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)0;
  options[2].value = (void *)0;
  options[2].argh = (char const   *)0;
  options[2].help = (char const   *)0;
  options[2].flags = 0U;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_notes_prune_usage, (enum parse_opt_flags )0);
  if (argc) {
    tmp = _((char const   *)"too many arguments");
    error((char const   *)tmp);
    const_error();
    usage_with_options(git_notes_prune_usage, (struct option  const  *)(options));
  }
  t = init_notes_check((char const   *)"prune", 2);
  if (verbose___15) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  if (show_only___3) {
    tmp___1 = 3;
  } else {
    tmp___1 = 0;
  }
  prune_notes(t, tmp___0 | tmp___1);
  if (! show_only___3) {
    commit_notes(the_repository, t, (char const   *)"Notes removed by \'git notes prune\'");
  }
  free_notes(t);
  return (0);
}
}
static int get_ref___0(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct option options[1] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *tmp___0 ;

  {
  options[0].type = (enum parse_opt_type )0;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)0;
  options[0].value = (void *)0;
  options[0].argh = (char const   *)0;
  options[0].help = (char const   *)0;
  options[0].flags = 0U;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_notes_get_ref_usage, (enum parse_opt_flags )0);
  if (argc) {
    tmp = _((char const   *)"too many arguments");
    error((char const   *)tmp);
    const_error();
    usage_with_options(git_notes_get_ref_usage, (struct option  const  *)(options));
  }
  tmp___0 = default_notes_ref();
  puts(tmp___0);
  return (0);
}
}
int cmd_notes(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int result___0 ;
  char const   *override_notes_ref ;
  struct option options[2] ;
  struct strbuf sb___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  override_notes_ref = (char const   *)((void *)0);
  options[0].type = (enum parse_opt_type )9;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"ref";
  options[0].value = (void *)(& override_notes_ref);
  options[0].argh = (char const   *)"notes-ref";
  options[0].help = (char const   *)"use notes from <notes-ref>";
  options[0].flags = (enum parse_opt_option_flags )0;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )0;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)0;
  options[1].value = (void *)0;
  options[1].argh = (char const   *)0;
  options[1].help = (char const   *)0;
  options[1].flags = 0U;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_notes_usage, (enum parse_opt_flags )2);
  if (override_notes_ref) {
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    strbuf_addstr(& sb___6, override_notes_ref);
    expand_notes_ref(& sb___6);
    setenv((char const   *)"GIT_NOTES_REF", (char const   *)sb___6.buf, 1);
    strbuf_release(& sb___6);
  }
  if (argc < 1) {
    result___0 = list___0(argc, argv___0, prefix___1);
  } else {
    tmp___9 = strcmp(*(argv___0 + 0), (char const   *)"list");
    if (tmp___9) {
      tmp___8 = strcmp(*(argv___0 + 0), (char const   *)"add");
      if (tmp___8) {
        tmp___7 = strcmp(*(argv___0 + 0), (char const   *)"copy");
        if (tmp___7) {
          tmp___5 = strcmp(*(argv___0 + 0), (char const   *)"append");
          if (tmp___5) {
            tmp___6 = strcmp(*(argv___0 + 0), (char const   *)"edit");
            if (tmp___6) {
              tmp___4 = strcmp(*(argv___0 + 0), (char const   *)"show");
              if (tmp___4) {
                tmp___3 = strcmp(*(argv___0 + 0), (char const   *)"merge");
                if (tmp___3) {
                  tmp___2 = strcmp(*(argv___0 + 0), (char const   *)"remove");
                  if (tmp___2) {
                    tmp___1 = strcmp(*(argv___0 + 0), (char const   *)"prune");
                    if (tmp___1) {
                      tmp___0 = strcmp(*(argv___0 + 0), (char const   *)"get-ref");
                      if (tmp___0) {
                        tmp = _((char const   *)"unknown subcommand: %s");
                        error((char const   *)tmp, *(argv___0 + 0));
                        result___0 = const_error();
                        usage_with_options(git_notes_usage, (struct option  const  *)(options));
                      } else {
                        result___0 = get_ref___0(argc, argv___0, prefix___1);
                      }
                    } else {
                      result___0 = prune___1(argc, argv___0, prefix___1);
                    }
                  } else {
                    result___0 = remove_cmd(argc, argv___0, prefix___1);
                  }
                } else {
                  result___0 = merge___0(argc, argv___0, prefix___1);
                }
              } else {
                result___0 = show___0(argc, argv___0, prefix___1);
              }
            } else {
              result___0 = append_edit(argc, argv___0, prefix___1);
            }
          } else {
            result___0 = append_edit(argc, argv___0, prefix___1);
          }
        } else {
          result___0 = copy(argc, argv___0, prefix___1);
        }
      } else {
        result___0 = add(argc, argv___0, prefix___1);
      }
    } else {
      result___0 = list___0(argc, argv___0, prefix___1);
    }
  }
  if (result___0) {
    tmp___10 = 1;
  } else {
    tmp___10 = 0;
  }
  return (tmp___10);
}
}
static char const   BITMAP_IDX_SIGNATURE___4[4] ;
static double const   __ac_HASH_UPPER___140  =    (double const   )0.77;
__inline static void kh_resize_oid_set___140(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___140(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___140 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___140 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___140(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___140(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___140(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___140(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___140(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___140(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___140 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___140 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___140(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___140(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___140(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___140(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___140(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___140(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___140 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___140 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___140(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___140(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___140(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___140(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___105(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___105(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___140 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___140 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___105(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___105(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___105(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___105(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   BITMAP_IDX_SIGNATURE___4[4]  = {      (char const   )'B',      (char const   )'I',      (char const   )'T',      (char const   )'M'};
static struct packing_data to_pack  ;
__inline static struct object_entry *oe_delta(struct packing_data  const  *pack___0 ,
                                              struct object_entry  const  *e )
{


  {
  if (! e->delta_idx) {
    return ((struct object_entry *)((void *)0));
  }
  if (e->ext_base) {
    return (pack___0->ext_bases + (e->delta_idx - 1U));
  } else {
    return (pack___0->objects + (e->delta_idx - 1U));
  }
}
}
__inline static unsigned long oe_delta_size(struct packing_data *pack___0 , struct object_entry  const  *e )
{


  {
  if (e->delta_size_valid) {
    return ((unsigned long )e->delta_size_);
  }
  return (*(pack___0->delta_size + (e - (struct object_entry  const  *)pack___0->objects)));
}
}
unsigned long oe_get_size_slow(struct packing_data *pack___0 , struct object_entry  const  *e ) ;
__inline static unsigned long oe_size(struct packing_data *pack___0 , struct object_entry  const  *e )
{
  unsigned long tmp ;

  {
  if (e->size_valid) {
    return ((unsigned long )e->size_);
  }
  tmp = oe_get_size_slow(pack___0, e);
  return (tmp);
}
}
__inline static void oe_set_delta(struct packing_data *pack___0 , struct object_entry *e ,
                                  struct object_entry *delta )
{


  {
  if (delta) {
    e->delta_idx = (uint32_t )((delta - pack___0->objects) + 1L);
  } else {
    e->delta_idx = (uint32_t )0;
  }
  return;
}
}
__inline static struct object_entry *oe_delta_sibling(struct packing_data  const  *pack___0 ,
                                                      struct object_entry  const  *e )
{


  {
  if (e->delta_sibling_idx) {
    return (pack___0->objects + (e->delta_sibling_idx - 1U));
  }
  return ((struct object_entry *)((void *)0));
}
}
__inline static struct object_entry *oe_delta_child(struct packing_data  const  *pack___0 ,
                                                    struct object_entry  const  *e )
{


  {
  if (e->delta_child_idx) {
    return (pack___0->objects + (e->delta_child_idx - 1U));
  }
  return ((struct object_entry *)((void *)0));
}
}
__inline static void oe_set_delta_child(struct packing_data *pack___0 , struct object_entry *e ,
                                        struct object_entry *delta )
{


  {
  if (delta) {
    e->delta_child_idx = (uint32_t )((delta - pack___0->objects) + 1L);
  } else {
    e->delta_child_idx = (uint32_t )0;
  }
  return;
}
}
__inline static void oe_set_delta_sibling(struct packing_data *pack___0 , struct object_entry *e ,
                                          struct object_entry *delta )
{


  {
  if (delta) {
    e->delta_sibling_idx = (uint32_t )((delta - pack___0->objects) + 1L);
  } else {
    e->delta_sibling_idx = (uint32_t )0;
  }
  return;
}
}
__inline static void oe_set_size(struct packing_data *pack___0 , struct object_entry *e ,
                                 unsigned long size )
{
  unsigned long tmp ;

  {
  if (size < pack___0->oe_size_limit) {
    e->size_ = (unsigned int )size;
    e->size_valid = 1U;
  } else {
    e->size_valid = 0U;
    tmp = oe_get_size_slow(pack___0, (struct object_entry  const  *)e);
    if (tmp != size) {
      BUG_fl((char const   *)"builtin/pack-objects.c", 146, (char const   *)"\'size\' is supposed to be the object size!");
    }
  }
  return;
}
}
__inline static void oe_set_delta_size(struct packing_data *pack___0 , struct object_entry *e ,
                                       unsigned long size )
{
  size_t tmp ;
  void *tmp___0 ;

  {
  if (size < pack___0->oe_delta_size_limit) {
    e->delta_size_ = (unsigned int )size;
    e->delta_size_valid = 1U;
  } else {
    packing_data_lock(pack___0);
    if (! pack___0->delta_size) {
      tmp = st_mult(sizeof(*(pack___0->delta_size)), (size_t )pack___0->nr_alloc);
      tmp___0 = xmalloc(tmp);
      pack___0->delta_size = (unsigned long *)tmp___0;
    }
    packing_data_unlock(pack___0);
    *(pack___0->delta_size + (e - pack___0->objects)) = size;
    e->delta_size_valid = 0U;
  }
  return;
}
}
static char const   *pack_usage[3]  = {      (char const   *)"git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]",      (char const   *)"git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]",      (char const   *)((void *)0)};
static struct pack_idx_entry **written_list  ;
static uint32_t nr_result  ;
static uint32_t nr_written  ;
static uint32_t nr_seen  ;
static struct bitmap_index *bitmap_git  ;
static uint32_t write_layer  ;
static int non_empty  ;
static int reuse_delta  =    1;
static int reuse_object  =    1;
static int keep_unreachable  ;
static int unpack_unreachable  ;
static int include_tag  ;
static timestamp_t unpack_unreachable_expiration  ;
static int pack_loose_unreachable  ;
static int local  ;
static int have_non_local_packs  ;
static int incremental___0  ;
static int ignore_packed_keep_on_disk  ;
static int ignore_packed_keep_in_core  ;
static int allow_ofs_delta  ;
static struct pack_idx_option pack_idx_opts___0  ;
static char const   *base_name  ;
static int progress___3  =    1;
static int window  =    10;
static unsigned long pack_size_limit  ;
static int depth___0  =    50;
static int delta_search_threads  ;
static int pack_to_stdout  ;
static int sparse  ;
static int thin  ;
static int num_preferred_base  ;
static struct progress *progress_state  ;
static struct packed_git *reuse_packfile  ;
static uint32_t reuse_packfile_objects  ;
static struct bitmap *reuse_packfile_bitmap  ;
static int use_bitmap_index_default  =    1;
static int use_bitmap_index  =    -1;
static int allow_pack_reuse  =    1;
static enum __anonenum_write_bitmap_index_529642322 write_bitmap_index  ;
static uint16_t write_bitmap_options  =    (uint16_t )4;
static int exclude_promisor_objects  ;
static int use_delta_islands  ;
static unsigned long delta_cache_size  =    0UL;
static unsigned long max_delta_cache_size___0  =    268435456UL;
static unsigned long cache_max_small_delta_size  =    1000UL;
static unsigned long window_memory_limit  =    0UL;
static struct list_objects_filter_options filter_options___1  ;
static struct string_list uri_protocols___0  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static int arg_missing_action  ;
static void (*fn_show_object)(struct object * , char const   * , void * )  ;
static struct oidmap configured_exclusions  ;
static struct oidset excluded_by_config  ;
static uint32_t written  ;
static uint32_t written_delta  ;
static uint32_t reused  ;
static uint32_t reused_delta  ;
static struct commit **indexed_commits  ;
static unsigned int indexed_commits_nr  ;
static unsigned int indexed_commits_alloc  ;
static void index_commit_for_bitmap(struct commit *commit )
{
  size_t tmp ;
  void *tmp___0 ;
  unsigned int tmp___1 ;

  {
  if (indexed_commits_nr >= indexed_commits_alloc) {
    indexed_commits_alloc = (indexed_commits_alloc + 32U) * 2U;
    tmp = st_mult(sizeof(*indexed_commits), (size_t )indexed_commits_alloc);
    tmp___0 = xrealloc((void *)indexed_commits, tmp);
    indexed_commits = (struct commit **)tmp___0;
  }
  tmp___1 = indexed_commits_nr;
  indexed_commits_nr ++;
  *(indexed_commits + tmp___1) = commit;
  return;
}
}
static void *get_delta(struct object_entry *entry )
{
  unsigned long size ;
  unsigned long base_size ;
  unsigned long delta_size ;
  void *buf___19 ;
  void *base_buf ;
  void *delta_buf ;
  enum object_type type___0 ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  struct object_entry *tmp___1 ;
  struct object_entry *tmp___2 ;
  char *tmp___3 ;
  unsigned long tmp___4 ;

  {
  buf___19 = repo_read_object_file(the_repository, (struct object_id  const  *)(& entry->idx.oid),
                                   & type___0, & size);
  if (! buf___19) {
    tmp = oid_to_hex((struct object_id  const  *)(& entry->idx.oid));
    tmp___0 = _((char const   *)"unable to read %s");
    die((char const   *)tmp___0, tmp);
  }
  tmp___1 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
  base_buf = repo_read_object_file(the_repository, (struct object_id  const  *)(& tmp___1->idx.oid),
                                   & type___0, & base_size);
  if (! base_buf) {
    tmp___2 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
    tmp___3 = oid_to_hex((struct object_id  const  *)(& tmp___2->idx.oid));
    die((char const   *)"unable to read %s", tmp___3);
  }
  delta_buf = diff_delta((void const   *)base_buf, base_size, (void const   *)buf___19,
                         size, & delta_size, 0UL);
  if (! delta_buf) {
    BUG_fl((char const   *)"builtin/pack-objects.c", 306, (char const   *)"delta size changed");
  } else {
    tmp___4 = oe_delta_size(& to_pack, (struct object_entry  const  *)entry);
    if (delta_size != tmp___4) {
      BUG_fl((char const   *)"builtin/pack-objects.c", 306, (char const   *)"delta size changed");
    }
  }
  free(buf___19);
  free(base_buf);
  return (delta_buf);
}
}
static unsigned long do_compress(void **pptr , unsigned long size )
{
  git_zstream stream ;
  void *in ;
  void *out ;
  unsigned long maxsize ;
  int tmp ;

  {
  git_deflate_init(& stream, pack_compression_level);
  maxsize = git_deflate_bound(& stream, size);
  in = *pptr;
  out = xmalloc(maxsize);
  *pptr = out;
  stream.next_in = (unsigned char *)in;
  stream.avail_in = size;
  stream.next_out = (unsigned char *)out;
  stream.avail_out = maxsize;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = git_deflate(& stream, 4);
    if (! (tmp == 0)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  git_deflate_end(& stream);
  free(in);
  return (stream.total_out);
}
}
static unsigned long write_large_blob_data(struct git_istream *st , struct hashfile *f ,
                                           struct object_id  const  *oid )
{
  git_zstream stream ;
  unsigned char ibuf[16384] ;
  unsigned char obuf[16384] ;
  unsigned long olen ;
  ssize_t readlen ;
  int zret ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  olen = 0UL;
  git_deflate_init(& stream, pack_compression_level);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    zret = 0;
    readlen = read_istream(st, (void *)(ibuf), sizeof(ibuf));
    if (readlen == -1L) {
      tmp = oid_to_hex(oid);
      tmp___0 = _((char const   *)"unable to read %s");
      die((char const   *)tmp___0, tmp);
    }
    stream.next_in = ibuf;
    stream.avail_in = (unsigned long )readlen;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (stream.avail_in) {
        goto _L;
      } else
      if (readlen == 0L) {
        _L: /* CIL Label */
        if (! (zret == 0)) {
          if (! (zret == -5)) {
            goto while_break___0;
          }
        }
      } else {
        goto while_break___0;
      }
      stream.next_out = obuf;
      stream.avail_out = sizeof(obuf);
      if (readlen) {
        tmp___1 = 0;
      } else {
        tmp___1 = 4;
      }
      zret = git_deflate(& stream, tmp___1);
      hashwrite(f, (void const   *)(obuf), (unsigned int )(stream.next_out - obuf));
      olen += (unsigned long )(stream.next_out - obuf);
    }
    while_break___0: /* CIL Label */ ;
    }
    if (stream.avail_in) {
      tmp___2 = _((char const   *)"deflate error (%d)");
      die((char const   *)tmp___2, zret);
    }
    if (readlen == 0L) {
      if (zret != 1) {
        tmp___3 = _((char const   *)"deflate error (%d)");
        die((char const   *)tmp___3, zret);
      }
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  git_deflate_end(& stream);
  return (olen);
}
}
static int check_pack_inflate(struct packed_git *p___0 , struct pack_window **w_curs ,
                              off_t offset___2 , off_t len___0 , unsigned long expect )
{
  git_zstream stream ;
  unsigned char fakebuf[4096] ;
  unsigned char *in ;
  int st ;
  int tmp ;

  {
  memset((void *)(& stream), 0, sizeof(stream));
  git_inflate_init(& stream);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    in = use_pack(p___0, w_curs, offset___2, & stream.avail_in);
    stream.next_in = in;
    stream.next_out = fakebuf;
    stream.avail_out = sizeof(fakebuf);
    st = git_inflate(& stream, 4);
    offset___2 += stream.next_in - in;
    if (! (st == 0)) {
      if (! (st == -5)) {
        goto while_break;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  git_inflate_end(& stream);
  if (st == 1) {
    if (stream.total_out == expect) {
      if (stream.total_in == (unsigned long )len___0) {
        tmp = 0;
      } else {
        tmp = -1;
      }
    } else {
      tmp = -1;
    }
  } else {
    tmp = -1;
  }
  return (tmp);
}
}
static void copy_pack_data(struct hashfile *f , struct packed_git *p___0 , struct pack_window **w_curs ,
                           off_t offset___2 , off_t len___0 )
{
  unsigned char *in ;
  unsigned long avail ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! len___0) {
      goto while_break;
    }
    in = use_pack(p___0, w_curs, offset___2, & avail);
    if (avail > (unsigned long )len___0) {
      avail = (unsigned long )len___0;
    }
    hashwrite(f, (void const   *)in, (unsigned int )avail);
    offset___2 = (off_t )((unsigned long )offset___2 + avail);
    len___0 = (off_t )((unsigned long )len___0 - avail);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
__inline static int oe_size_greater_than(struct packing_data *pack___0 , struct object_entry  const  *lhs ,
                                         unsigned long rhs )
{
  unsigned long tmp ;

  {
  if (lhs->size_valid) {
    return ((unsigned long )lhs->size_ > rhs);
  }
  if (rhs < pack___0->oe_size_limit) {
    return (1);
  }
  tmp = oe_get_size_slow(pack___0, lhs);
  return (tmp > rhs);
}
}
static unsigned long write_no_reuse_object(struct hashfile *f , struct object_entry *entry ,
                                           unsigned long limit___1 , int usable_delta )
{
  unsigned long size ;
  unsigned long datalen ;
  unsigned char header___0[10] ;
  unsigned char dheader[10] ;
  unsigned int hdrlen ;
  enum object_type type___0 ;
  void *buf___19 ;
  struct git_istream *st ;
  unsigned int hashsz ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  enum object_type tmp___1 ;
  int tmp___2 ;
  struct object_entry *tmp___3 ;
  struct object_entry *tmp___4 ;
  struct object_entry *tmp___5 ;
  struct object_entry *tmp___6 ;
  int tmp___7 ;
  off_t ofs ;
  struct object_entry *tmp___8 ;
  unsigned int pos ;
  struct object_entry *tmp___9 ;

  {
  st = (struct git_istream *)((void *)0);
  hashsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  if (! usable_delta) {
    tmp___1 = oe_type((struct object_entry  const  *)entry);
    if ((int )tmp___1 == 3) {
      tmp___2 = oe_size_greater_than(& to_pack, (struct object_entry  const  *)entry,
                                     big_file_threshold);
      if (tmp___2) {
        st = open_istream(the_repository, (struct object_id  const  *)(& entry->idx.oid),
                          & type___0, & size, (struct stream_filter *)((void *)0));
        if ((unsigned long )st != (unsigned long )((void *)0)) {
          buf___19 = (void *)0;
        } else {
          goto _L___0;
        }
      } else {
        goto _L___0;
      }
    } else {
      _L___0: /* CIL Label */
      _L: /* CIL Label */
      buf___19 = repo_read_object_file(the_repository, (struct object_id  const  *)(& entry->idx.oid),
                                       & type___0, & size);
      if (! buf___19) {
        tmp = oid_to_hex((struct object_id  const  *)(& entry->idx.oid));
        tmp___0 = _((char const   *)"unable to read %s");
        die((char const   *)tmp___0, tmp);
      }
    }
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      free(entry->delta_data);
      entry->delta_data = (void *)0;
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    entry->z_delta_size = 0U;
  } else
  if (entry->delta_data) {
    size = oe_delta_size(& to_pack, (struct object_entry  const  *)entry);
    buf___19 = entry->delta_data;
    entry->delta_data = (void *)0;
    if (allow_ofs_delta) {
      tmp___4 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
      if (tmp___4->idx.offset) {
        type___0 = (enum object_type )6;
      } else {
        type___0 = (enum object_type )7;
      }
    } else {
      type___0 = (enum object_type )7;
    }
  } else {
    buf___19 = get_delta(entry);
    size = oe_delta_size(& to_pack, (struct object_entry  const  *)entry);
    if (allow_ofs_delta) {
      tmp___6 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
      if (tmp___6->idx.offset) {
        type___0 = (enum object_type )6;
      } else {
        type___0 = (enum object_type )7;
      }
    } else {
      type___0 = (enum object_type )7;
    }
  }
  if (st) {
    datalen = size;
  } else
  if (entry->z_delta_size) {
    datalen = (unsigned long )entry->z_delta_size;
  } else {
    datalen = do_compress(& buf___19, size);
  }
  tmp___7 = encode_in_pack_object_header(header___0, (int )sizeof(header___0), type___0,
                                         size);
  hdrlen = (unsigned int )tmp___7;
  if ((int )type___0 == 6) {
    tmp___8 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
    ofs = entry->idx.offset - tmp___8->idx.offset;
    pos = (unsigned int )(sizeof(dheader) - 1UL);
    dheader[pos] = (unsigned char )(ofs & 127L);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      ofs >>= 7;
      if (! ofs) {
        goto while_break___0;
      }
      pos --;
      ofs --;
      dheader[pos] = (unsigned char )(128L | (ofs & 127L));
    }
    while_break___0: /* CIL Label */ ;
    }
    if (limit___1) {
      if (((((unsigned long )hdrlen + sizeof(dheader)) - (unsigned long )pos) + datalen) + (unsigned long )hashsz >= limit___1) {
        if (st) {
          close_istream(st);
        }
        free(buf___19);
        return (0UL);
      }
    }
    hashwrite(f, (void const   *)(header___0), hdrlen);
    hashwrite(f, (void const   *)(dheader + pos), (unsigned int )(sizeof(dheader) - (unsigned long )pos));
    hdrlen = (unsigned int )((unsigned long )hdrlen + (sizeof(dheader) - (unsigned long )pos));
  } else
  if ((int )type___0 == 7) {
    if (limit___1) {
      if (((unsigned long )(hdrlen + (unsigned int )hashsz) + datalen) + (unsigned long )hashsz >= limit___1) {
        if (st) {
          close_istream(st);
        }
        free(buf___19);
        return (0UL);
      }
    }
    hashwrite(f, (void const   *)(header___0), hdrlen);
    tmp___9 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
    hashwrite(f, (void const   *)(tmp___9->idx.oid.hash), (unsigned int )hashsz);
    hdrlen += (unsigned int )hashsz;
  } else {
    if (limit___1) {
      if (((unsigned long )hdrlen + datalen) + (unsigned long )hashsz >= limit___1) {
        if (st) {
          close_istream(st);
        }
        free(buf___19);
        return (0UL);
      }
    }
    hashwrite(f, (void const   *)(header___0), hdrlen);
  }
  if (st) {
    datalen = write_large_blob_data(st, f, (struct object_id  const  *)(& entry->idx.oid));
    close_istream(st);
  } else {
    hashwrite(f, (void const   *)buf___19, (unsigned int )datalen);
    free(buf___19);
  }
  return ((unsigned long )hdrlen + datalen);
}
}
static off_t write_reuse_object(struct hashfile *f , struct object_entry *entry ,
                                unsigned long limit___1 , int usable_delta )
{
  struct packed_git *p___0 ;
  struct packed_git *tmp ;
  struct pack_window *w_curs ;
  uint32_t pos ;
  off_t offset___2 ;
  enum object_type type___0 ;
  enum object_type tmp___0 ;
  off_t datalen ;
  unsigned char header___0[10] ;
  unsigned char dheader[10] ;
  unsigned int hdrlen ;
  unsigned int hashsz ;
  unsigned long entry_size ;
  unsigned long tmp___1 ;
  struct object_entry *tmp___2 ;
  struct object_entry *tmp___3 ;
  struct object_entry *tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  off_t tmp___9 ;
  char *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  unsigned long tmp___12 ;
  uint32_t tmp___13 ;
  int tmp___14 ;
  char *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  unsigned long tmp___17 ;
  int tmp___18 ;
  off_t ofs ;
  struct object_entry *tmp___19 ;
  unsigned int pos___0 ;
  struct object_entry *tmp___20 ;

  {
  tmp = oe_in_pack((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
  p___0 = tmp;
  w_curs = (struct pack_window *)((void *)0);
  tmp___0 = oe_type((struct object_entry  const  *)entry);
  type___0 = tmp___0;
  hashsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  tmp___1 = oe_size(& to_pack, (struct object_entry  const  *)entry);
  entry_size = tmp___1;
  tmp___4 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
  if (tmp___4) {
    if (allow_ofs_delta) {
      tmp___3 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
      if (tmp___3->idx.offset) {
        type___0 = (enum object_type )6;
      } else {
        type___0 = (enum object_type )7;
      }
    } else {
      type___0 = (enum object_type )7;
    }
  }
  tmp___5 = encode_in_pack_object_header(header___0, (int )sizeof(header___0), type___0,
                                         entry_size);
  hdrlen = (unsigned int )tmp___5;
  offset___2 = entry->in_pack_offset;
  tmp___8 = offset_to_pack_pos(p___0, offset___2, & pos);
  if (tmp___8 < 0) {
    tmp___6 = oid_to_hex((struct object_id  const  *)(& entry->idx.oid));
    tmp___7 = _((char const   *)"write_reuse_object: could not locate %s, expected at offset %lu in pack %s");
    die((char const   *)tmp___7, tmp___6, (uintmax_t )offset___2, p___0->pack_name);
  }
  tmp___9 = pack_pos_to_offset(p___0, pos + 1U);
  datalen = tmp___9 - offset___2;
  if (! pack_to_stdout) {
    if (p___0->index_version > 1) {
      tmp___13 = pack_pos_to_index(p___0, pos);
      tmp___14 = check_pack_crc(p___0, & w_curs, offset___2, datalen, tmp___13);
      if (tmp___14) {
        tmp___10 = oid_to_hex((struct object_id  const  *)(& entry->idx.oid));
        tmp___11 = _((char const   *)"bad packed object CRC for %s");
        error((char const   *)tmp___11, tmp___10);
        const_error();
        unuse_pack(& w_curs);
        tmp___12 = write_no_reuse_object(f, entry, limit___1, usable_delta);
        return ((off_t )tmp___12);
      }
    }
  }
  offset___2 += (off_t )entry->in_pack_header_size;
  datalen -= (off_t )entry->in_pack_header_size;
  if (! pack_to_stdout) {
    if (p___0->index_version == 1) {
      tmp___18 = check_pack_inflate(p___0, & w_curs, offset___2, datalen, entry_size);
      if (tmp___18) {
        tmp___15 = oid_to_hex((struct object_id  const  *)(& entry->idx.oid));
        tmp___16 = _((char const   *)"corrupt packed object for %s");
        error((char const   *)tmp___16, tmp___15);
        const_error();
        unuse_pack(& w_curs);
        tmp___17 = write_no_reuse_object(f, entry, limit___1, usable_delta);
        return ((off_t )tmp___17);
      }
    }
  }
  if ((int )type___0 == 6) {
    tmp___19 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
    ofs = entry->idx.offset - tmp___19->idx.offset;
    pos___0 = (unsigned int )(sizeof(dheader) - 1UL);
    dheader[pos___0] = (unsigned char )(ofs & 127L);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      ofs >>= 7;
      if (! ofs) {
        goto while_break;
      }
      pos___0 --;
      ofs --;
      dheader[pos___0] = (unsigned char )(128L | (ofs & 127L));
    }
    while_break: /* CIL Label */ ;
    }
    if (limit___1) {
      if (((((unsigned long )hdrlen + sizeof(dheader)) - (unsigned long )pos___0) + (unsigned long )datalen) + (unsigned long )hashsz >= limit___1) {
        unuse_pack(& w_curs);
        return ((off_t )0);
      }
    }
    hashwrite(f, (void const   *)(header___0), hdrlen);
    hashwrite(f, (void const   *)(dheader + pos___0), (unsigned int )(sizeof(dheader) - (unsigned long )pos___0));
    hdrlen = (unsigned int )((unsigned long )hdrlen + (sizeof(dheader) - (unsigned long )pos___0));
    reused_delta ++;
  } else
  if ((int )type___0 == 7) {
    if (limit___1) {
      if ((unsigned long )(((off_t )(hdrlen + (unsigned int )hashsz) + datalen) + (off_t )hashsz) >= limit___1) {
        unuse_pack(& w_curs);
        return ((off_t )0);
      }
    }
    hashwrite(f, (void const   *)(header___0), hdrlen);
    tmp___20 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
    hashwrite(f, (void const   *)(tmp___20->idx.oid.hash), (unsigned int )hashsz);
    hdrlen += (unsigned int )hashsz;
    reused_delta ++;
  } else {
    if (limit___1) {
      if ((unsigned long )(((off_t )hdrlen + datalen) + (off_t )hashsz) >= limit___1) {
        unuse_pack(& w_curs);
        return ((off_t )0);
      }
    }
    hashwrite(f, (void const   *)(header___0), hdrlen);
  }
  copy_pack_data(f, p___0, & w_curs, offset___2, datalen);
  unuse_pack(& w_curs);
  reused ++;
  return ((off_t )hdrlen + datalen);
}
}
static off_t write_object(struct hashfile *f , struct object_entry *entry , off_t write_offset )
{
  unsigned long limit___1 ;
  off_t len___0 ;
  int usable_delta ;
  int to_reuse ;
  struct object_entry *tmp ;
  struct object_entry *tmp___0 ;
  struct object_entry *tmp___1 ;
  struct object_entry *tmp___2 ;
  enum object_type tmp___3 ;
  enum object_type tmp___4 ;
  enum object_type tmp___5 ;
  struct packed_git *tmp___6 ;
  unsigned long tmp___7 ;

  {
  if (! pack_to_stdout) {
    crc32_begin(f);
  }
  if (! pack_size_limit) {
    limit___1 = 0UL;
  } else
  if (! nr_written) {
    limit___1 = 0UL;
  } else
  if (pack_size_limit <= (unsigned long )write_offset) {
    limit___1 = 1UL;
  } else {
    limit___1 = pack_size_limit - (unsigned long )write_offset;
  }
  tmp___1 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
  if (tmp___1) {
    if (! pack_size_limit) {
      usable_delta = 1;
    } else {
      tmp___0 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
      if (tmp___0->idx.offset == -1L) {
        usable_delta = 0;
      } else {
        tmp = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
        if (tmp->idx.offset) {
          usable_delta = 1;
        } else {
          usable_delta = 0;
        }
      }
    }
  } else {
    usable_delta = 0;
  }
  if (! reuse_object) {
    to_reuse = 0;
  } else {
    tmp___6 = oe_in_pack((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
    if (tmp___6) {
      tmp___4 = oe_type((struct object_entry  const  *)entry);
      if ((int )tmp___4 == 7) {
        to_reuse = usable_delta;
      } else {
        tmp___5 = oe_type((struct object_entry  const  *)entry);
        if ((int )tmp___5 == 6) {
          to_reuse = usable_delta;
        } else {
          tmp___3 = oe_type((struct object_entry  const  *)entry);
          if ((unsigned int )tmp___3 != entry->in_pack_type) {
            to_reuse = 0;
          } else {
            tmp___2 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
            if (tmp___2) {
              to_reuse = 0;
            } else {
              to_reuse = 1;
            }
          }
        }
      }
    } else {
      to_reuse = 0;
    }
  }
  if (! to_reuse) {
    tmp___7 = write_no_reuse_object(f, entry, limit___1, usable_delta);
    len___0 = (off_t )tmp___7;
  } else {
    len___0 = write_reuse_object(f, entry, limit___1, usable_delta);
  }
  if (! len___0) {
    return ((off_t )0);
  }
  if (usable_delta) {
    written_delta ++;
  }
  written ++;
  if (! pack_to_stdout) {
    entry->idx.crc32 = crc32_end(f);
  }
  return (len___0);
}
}
static enum write_one_status write_one___0(struct hashfile *f , struct object_entry *e ,
                                           off_t *offset___2 )
{
  off_t size ;
  int recursing ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  struct object_entry *tmp___1 ;
  enum write_one_status tmp___2 ;
  struct object_entry *tmp___3 ;
  uint32_t tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  recursing = e->idx.offset == 1L;
  if (recursing) {
    tmp = oid_to_hex((struct object_id  const  *)(& e->idx.oid));
    tmp___0 = _((char const   *)"recursive delta detected for object %s");
    warning((char const   *)tmp___0, tmp);
    return ((enum write_one_status )2);
  } else
  if (e->idx.offset) {
    return ((enum write_one_status )-1);
  } else
  if (e->preferred_base) {
    return ((enum write_one_status )-1);
  }
  tmp___3 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)e);
  if (tmp___3) {
    e->idx.offset = (off_t )1;
    tmp___1 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)e);
    tmp___2 = write_one___0(f, tmp___1, offset___2);
    {
    if ((int )tmp___2 == 2) {
      goto case_2;
    }
    if ((int )tmp___2 == 0) {
      goto case_0;
    }
    goto switch_default;
    case_2: /* CIL Label */
    oe_set_delta(& to_pack, e, (struct object_entry *)((void *)0));
    goto switch_break;
    switch_default: /* CIL Label */
    goto switch_break;
    case_0: /* CIL Label */
    e->idx.offset = (off_t )recursing;
    return ((enum write_one_status )0);
    switch_break: /* CIL Label */ ;
    }
  }
  e->idx.offset = *offset___2;
  size = write_object(f, e, *offset___2);
  if (! size) {
    e->idx.offset = (off_t )recursing;
    return ((enum write_one_status )0);
  }
  tmp___4 = nr_written;
  nr_written ++;
  *(written_list + tmp___4) = & e->idx;
  if (size > (9223372036854775807L >> (8UL * sizeof(intmax_t ) - 8UL * sizeof(*offset___2))) - *offset___2) {
    tmp___5 = _((char const   *)"pack too large for current definition of off_t");
    die((char const   *)tmp___5);
  }
  *offset___2 += size;
  return ((enum write_one_status )1);
}
}
static int mark_tagged(char const   *path___6 , struct object_id  const  *oid , int flag ,
                       void *cb_data )
{
  struct object_id peeled ;
  struct object_entry *entry ;
  struct object_entry *tmp ;
  int tmp___0 ;

  {
  tmp = packlist_find(& to_pack, oid);
  entry = tmp;
  if (entry) {
    entry->tagged = 1U;
  }
  tmp___0 = peel_iterated_oid(oid, & peeled);
  if (! tmp___0) {
    entry = packlist_find(& to_pack, (struct object_id  const  *)(& peeled));
    if (entry) {
      entry->tagged = 1U;
    }
  }
  return (0);
}
}
__inline static unsigned char oe_layer(struct packing_data *pack___0 , struct object_entry *e )
{


  {
  if (! pack___0->layer) {
    return ((unsigned char)0);
  }
  return (*(pack___0->layer + (e - pack___0->objects)));
}
}
__inline static void add_to_write_order(struct object_entry **wo , unsigned int *endp ,
                                        struct object_entry *e )
{
  unsigned char tmp ;
  unsigned int tmp___0 ;

  {
  if (e->filled) {
    return;
  } else {
    tmp = oe_layer(& to_pack, e);
    if ((uint32_t )tmp != write_layer) {
      return;
    }
  }
  tmp___0 = *endp;
  (*endp) ++;
  *(wo + tmp___0) = e;
  e->filled = 1U;
  return;
}
}
static void add_descendants_to_write_order(struct object_entry **wo , unsigned int *endp ,
                                           struct object_entry *e )
{
  int add_to_order ;
  struct object_entry *s___1 ;
  struct object_entry *tmp ;
  struct object_entry *tmp___0 ;
  struct object_entry *tmp___1 ;

  {
  add_to_order = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! e) {
      goto while_break;
    }
    if (add_to_order) {
      add_to_write_order(wo, endp, e);
      s___1 = oe_delta_sibling((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)e);
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! s___1) {
          goto while_break___0;
        }
        add_to_write_order(wo, endp, s___1);
        s___1 = oe_delta_sibling((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)s___1);
      }
      while_break___0: /* CIL Label */ ;
      }
    }
    tmp___1 = oe_delta_child((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)e);
    if (tmp___1) {
      add_to_order = 1;
      e = oe_delta_child((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)e);
    } else {
      add_to_order = 0;
      tmp = oe_delta_sibling((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)e);
      if (tmp) {
        e = oe_delta_sibling((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)e);
        goto while_continue;
      }
      e = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)e);
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (e) {
          tmp___0 = oe_delta_sibling((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)e);
          if (tmp___0) {
            goto while_break___1;
          }
        } else {
          goto while_break___1;
        }
        e = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)e);
      }
      while_break___1: /* CIL Label */ ;
      }
      if (! e) {
        return;
      }
      e = oe_delta_sibling((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)e);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void add_family_to_write_order(struct object_entry **wo , unsigned int *endp ,
                                      struct object_entry *e )
{
  struct object_entry *root ;
  struct object_entry *tmp ;

  {
  root = e;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)root);
    if (! tmp) {
      goto while_break;
    }
    root = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)root);
  }
  while_break: /* CIL Label */ ;
  }
  add_descendants_to_write_order(wo, endp, root);
  return;
}
}
static void compute_layer_order(struct object_entry **wo , unsigned int *wo_end )
{
  unsigned int i ;
  unsigned int last_untagged ;
  struct object_entry *objects___0 ;
  enum object_type tmp ;
  enum object_type tmp___0 ;
  enum object_type tmp___1 ;
  unsigned char tmp___2 ;

  {
  objects___0 = to_pack.objects;
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < to_pack.nr_objects)) {
      goto while_break;
    }
    if ((objects___0 + i)->tagged) {
      goto while_break;
    }
    add_to_write_order(wo, wo_end, objects___0 + i);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  last_untagged = i;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < to_pack.nr_objects)) {
      goto while_break___0;
    }
    if ((objects___0 + i)->tagged) {
      add_to_write_order(wo, wo_end, objects___0 + i);
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = last_untagged;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < to_pack.nr_objects)) {
      goto while_break___1;
    }
    tmp = oe_type((struct object_entry  const  *)(objects___0 + i));
    if ((int )tmp != 1) {
      tmp___0 = oe_type((struct object_entry  const  *)(objects___0 + i));
      if ((int )tmp___0 != 4) {
        goto __Cont;
      }
    }
    add_to_write_order(wo, wo_end, objects___0 + i);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  i = last_untagged;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < to_pack.nr_objects)) {
      goto while_break___2;
    }
    tmp___1 = oe_type((struct object_entry  const  *)(objects___0 + i));
    if ((int )tmp___1 != 2) {
      goto __Cont___0;
    }
    add_to_write_order(wo, wo_end, objects___0 + i);
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  i = last_untagged;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! (i < to_pack.nr_objects)) {
      goto while_break___3;
    }
    if (! (objects___0 + i)->filled) {
      tmp___2 = oe_layer(& to_pack, objects___0 + i);
      if ((uint32_t )tmp___2 == write_layer) {
        add_family_to_write_order(wo, wo_end, objects___0 + i);
      }
    }
    i ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  return;
}
}
static struct object_entry **compute_write_order(void)
{
  uint32_t max_layers ;
  unsigned int i ;
  unsigned int wo_end ;
  struct object_entry **wo ;
  struct object_entry *objects___0 ;
  struct object_entry *e ;
  struct object_entry *tmp ;
  struct object_entry *tmp___0 ;
  struct object_entry *tmp___1 ;
  int tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  max_layers = (uint32_t )1;
  objects___0 = to_pack.objects;
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < to_pack.nr_objects)) {
      goto while_break;
    }
    (objects___0 + i)->tagged = 0U;
    (objects___0 + i)->filled = 0U;
    oe_set_delta_child(& to_pack, objects___0 + i, (struct object_entry *)((void *)0));
    oe_set_delta_sibling(& to_pack, objects___0 + i, (struct object_entry *)((void *)0));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = to_pack.nr_objects;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i > 0U)) {
      goto while_break___0;
    }
    i --;
    e = objects___0 + i;
    tmp = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)e);
    if (! tmp) {
      goto __Cont;
    }
    tmp___0 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)e);
    e->delta_sibling_idx = tmp___0->delta_child_idx;
    tmp___1 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)e);
    oe_set_delta_child(& to_pack, tmp___1, e);
    __Cont: /* CIL Label */ ;
  }
  while_break___0: /* CIL Label */ ;
  }
  for_each_tag_ref(& mark_tagged, (void *)0);
  if (use_delta_islands) {
    tmp___2 = compute_pack_layers(& to_pack);
    max_layers = (uint32_t )tmp___2;
  }
  tmp___3 = st_mult(sizeof(*wo), (size_t )to_pack.nr_objects);
  tmp___4 = xmalloc(tmp___3);
  wo = (struct object_entry **)tmp___4;
  wo_end = 0U;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (write_layer < max_layers)) {
      goto while_break___1;
    }
    compute_layer_order(wo, & wo_end);
    write_layer ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  if (wo_end != to_pack.nr_objects) {
    tmp___5 = _((char const   *)"ordered %u objects, expected %u");
    die((char const   *)tmp___5, wo_end, to_pack.nr_objects);
  }
  return (wo);
}
}
static struct reused_chunk *reused_chunks  ;
static int reused_chunks_nr  ;
static int reused_chunks_alloc  ;
static void record_reused_object(off_t where___0 , off_t offset___2 )
{
  size_t tmp ;
  void *tmp___0 ;

  {
  if (reused_chunks_nr) {
    if ((reused_chunks + (reused_chunks_nr - 1))->difference == offset___2) {
      return;
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (reused_chunks_nr + 1 > reused_chunks_alloc) {
      if (((reused_chunks_alloc + 16) * 3) / 2 < reused_chunks_nr + 1) {
        reused_chunks_alloc = reused_chunks_nr + 1;
      } else {
        reused_chunks_alloc = ((reused_chunks_alloc + 16) * 3) / 2;
      }
      tmp = st_mult(sizeof(*reused_chunks), (size_t )reused_chunks_alloc);
      tmp___0 = xrealloc((void *)reused_chunks, tmp);
      reused_chunks = (struct reused_chunk *)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  (reused_chunks + reused_chunks_nr)->original = where___0;
  (reused_chunks + reused_chunks_nr)->difference = offset___2;
  reused_chunks_nr ++;
  return;
}
}
static off_t find_reused_offset(off_t where___0 )
{
  int lo ;
  int hi ;
  int mi ;

  {
  lo = 0;
  hi = reused_chunks_nr;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (lo < hi)) {
      goto while_break;
    }
    mi = lo + (hi - lo) / 2;
    if (where___0 == (reused_chunks + mi)->original) {
      return ((reused_chunks + mi)->difference);
    }
    if (where___0 < (reused_chunks + mi)->original) {
      hi = mi;
    } else {
      lo = mi + 1;
    }
  }
  while_break: /* CIL Label */ ;
  }
  assert(lo);
  return ((reused_chunks + (lo - 1))->difference);
}
}
static void write_reused_pack_one(size_t pos , struct hashfile *out , struct pack_window **w_curs )
{
  off_t offset___2 ;
  off_t next___2 ;
  off_t cur ;
  enum object_type type___0 ;
  unsigned long size ;
  off_t tmp ;
  int tmp___0 ;
  off_t base_offset ;
  off_t fixup ;
  unsigned char header___0[10] ;
  unsigned int len___0 ;
  uint32_t base_pos ;
  struct object_id base_oid ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  uint32_t tmp___3 ;
  int tmp___4 ;
  off_t tmp___5 ;
  off_t tmp___6 ;
  unsigned char ofs_header[10] ;
  unsigned int i ;
  unsigned int ofs_len ;
  off_t ofs ;
  int tmp___7 ;

  {
  offset___2 = pack_pos_to_offset(reuse_packfile, (uint32_t )pos);
  next___2 = pack_pos_to_offset(reuse_packfile, (uint32_t )(pos + 1UL));
  tmp = hashfile_total(out);
  record_reused_object(offset___2, offset___2 - tmp);
  cur = offset___2;
  tmp___0 = unpack_object_header(reuse_packfile, w_curs, & cur, & size);
  type___0 = (enum object_type )tmp___0;
  assert((int )type___0 >= 0);
  if ((int )type___0 == 6) {
    base_offset = get_delta_base(reuse_packfile, w_curs, & cur, type___0, offset___2);
    assert(base_offset != 0L);
    if (! allow_ofs_delta) {
      tmp___2 = offset_to_pack_pos(reuse_packfile, base_offset, & base_pos);
      if (tmp___2 < 0) {
        tmp___1 = _((char const   *)"expected object at offset %lu in pack %s");
        die((char const   *)tmp___1, (uintmax_t )base_offset, reuse_packfile->pack_name);
      }
      tmp___3 = pack_pos_to_index(reuse_packfile, base_pos);
      nth_packed_object_id(& base_oid, reuse_packfile, tmp___3);
      tmp___4 = encode_in_pack_object_header(header___0, (int )sizeof(header___0),
                                             (enum object_type )7, size);
      len___0 = (unsigned int )tmp___4;
      hashwrite(out, (void const   *)(header___0), len___0);
      hashwrite(out, (void const   *)(base_oid.hash), (unsigned int )(the_repository->hash_algo)->rawsz);
      copy_pack_data(out, reuse_packfile, w_curs, cur, next___2 - cur);
      return;
    }
    tmp___5 = find_reused_offset(offset___2);
    tmp___6 = find_reused_offset(base_offset);
    fixup = tmp___5 - tmp___6;
    if (fixup) {
      ofs = (offset___2 - base_offset) - fixup;
      tmp___7 = encode_in_pack_object_header(header___0, (int )sizeof(header___0),
                                             (enum object_type )6, size);
      len___0 = (unsigned int )tmp___7;
      i = (unsigned int )(sizeof(ofs_header) - 1UL);
      ofs_header[i] = (unsigned char )(ofs & 127L);
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        ofs >>= 7;
        if (! ofs) {
          goto while_break;
        }
        i --;
        ofs --;
        ofs_header[i] = (unsigned char )(128L | (ofs & 127L));
      }
      while_break: /* CIL Label */ ;
      }
      ofs_len = (unsigned int )(sizeof(ofs_header) - (unsigned long )i);
      hashwrite(out, (void const   *)(header___0), len___0);
      hashwrite(out, (void const   *)((ofs_header + sizeof(ofs_header)) - ofs_len),
                ofs_len);
      copy_pack_data(out, reuse_packfile, w_curs, cur, next___2 - cur);
      return;
    }
  }
  copy_pack_data(out, reuse_packfile, w_curs, offset___2, next___2 - offset___2);
  return;
}
}
static size_t write_reused_pack_verbatim(struct hashfile *out , struct pack_window **w_curs )
{
  size_t pos ;
  off_t to_write ;
  off_t tmp ;

  {
  pos = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (pos < reuse_packfile_bitmap->word_alloc) {
      if (! (*(reuse_packfile_bitmap->words + pos) == 18446744073709551615UL)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    pos ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (pos) {
    written = (uint32_t )(pos * (sizeof(eword_t ) * 8UL));
    tmp = pack_pos_to_offset(reuse_packfile, written);
    to_write = (off_t )((unsigned long )tmp - sizeof(struct pack_header ));
    record_reused_object((off_t )sizeof(struct pack_header ), (off_t )0);
    hashflush(out);
    copy_pack_data(out, reuse_packfile, w_curs, (off_t )sizeof(struct pack_header ),
                   to_write);
    display_progress(progress_state, (uint64_t )written);
  }
  return (pos);
}
}
static void write_reused_pack(struct hashfile *f )
{
  size_t i ;
  uint32_t offset___2 ;
  struct pack_window *w_curs ;
  eword_t word ;
  size_t pos ;
  int tmp ;

  {
  i = (size_t )0;
  w_curs = (struct pack_window *)((void *)0);
  if (allow_ofs_delta) {
    i = write_reused_pack_verbatim(f, & w_curs);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < reuse_packfile_bitmap->word_alloc)) {
      goto while_break;
    }
    word = *(reuse_packfile_bitmap->words + i);
    pos = i * (sizeof(eword_t ) * 8UL);
    offset___2 = (uint32_t )0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned long )offset___2 < sizeof(eword_t ) * 8UL)) {
        goto while_break___0;
      }
      if (word >> offset___2 == 0UL) {
        goto while_break___0;
      }
      tmp = __builtin_ctzll((unsigned long long )(word >> offset___2));
      offset___2 += (uint32_t )tmp;
      write_reused_pack_one(pos + (size_t )offset___2, f, & w_curs);
      written ++;
      display_progress(progress_state, (uint64_t )written);
      offset___2 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  unuse_pack(& w_curs);
  return;
}
}
static void write_excluded_by_configs(void)
{
  struct oidset_iter iter___0 ;
  struct object_id  const  *oid ;
  struct configured_exclusion *ex ;
  void *tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  struct object_id *tmp___2 ;

  {
  oidset_iter_init(& excluded_by_config, & iter___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = oidset_iter_next(& iter___0);
    oid = (struct object_id  const  *)tmp___2;
    if (! oid) {
      goto while_break;
    }
    tmp = oidmap_get((struct oidmap  const  *)(& configured_exclusions), oid);
    ex = (struct configured_exclusion *)tmp;
    if (! ex) {
      BUG_fl((char const   *)"builtin/pack-objects.c", 1151, (char const   *)"configured exclusion wasn\'t configured");
    }
    tmp___0 = strlen((char const   *)ex->pack_hash_hex);
    write_in_full(1, (void const   *)ex->pack_hash_hex, tmp___0);
    write_in_full(1, (void const   *)" ", (size_t )1);
    tmp___1 = strlen((char const   *)ex->uri);
    write_in_full(1, (void const   *)ex->uri, tmp___1);
    write_in_full(1, (void const   *)"\n", (size_t )1);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static char const   no_split_warning[68]  =
  {      (char const   )'d',      (char const   )'i',      (char const   )'s',      (char const   )'a',
        (char const   )'b',      (char const   )'l',      (char const   )'i',      (char const   )'n',
        (char const   )'g',      (char const   )' ',      (char const   )'b',      (char const   )'i',
        (char const   )'t',      (char const   )'m',      (char const   )'a',      (char const   )'p',
        (char const   )' ',      (char const   )'w',      (char const   )'r',      (char const   )'i',
        (char const   )'t',      (char const   )'i',      (char const   )'n',      (char const   )'g',
        (char const   )',',      (char const   )' ',      (char const   )'p',      (char const   )'a',
        (char const   )'c',      (char const   )'k',      (char const   )'s',      (char const   )' ',
        (char const   )'a',      (char const   )'r',      (char const   )'e',      (char const   )' ',
        (char const   )'s',      (char const   )'p',      (char const   )'l',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'d',      (char const   )'u',
        (char const   )'e',      (char const   )' ',      (char const   )'t',      (char const   )'o',
        (char const   )' ',      (char const   )'p',      (char const   )'a',      (char const   )'c',
        (char const   )'k',      (char const   )'.',      (char const   )'p',      (char const   )'a',
        (char const   )'c',      (char const   )'k',      (char const   )'S',      (char const   )'i',
        (char const   )'z',      (char const   )'e',      (char const   )'L',      (char const   )'i',
        (char const   )'m',      (char const   )'i',      (char const   )'t',      (char const   )'\000'};
static void write_pack_file(void)
{
  uint32_t i ;
  uint32_t j ;
  struct hashfile *f ;
  off_t offset___2 ;
  uint32_t nr_remaining ;
  time_t last_mtime ;
  struct object_entry **write_order ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  unsigned char hash___0[32] ;
  char *pack_tmp_name ;
  struct object_entry *e ;
  enum write_one_status tmp___2 ;
  int fd ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  struct stat st ;
  struct strbuf tmpname ;
  char *idx_tmp_name ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  struct utimbuf utb ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char *tmp___9 ;
  size_t tmpname_len ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  char *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;

  {
  i = (uint32_t )0;
  nr_remaining = nr_result;
  last_mtime = (time_t )0;
  if (progress___3 > pack_to_stdout) {
    tmp = _((char const   *)"Writing objects");
    progress_state = start_progress((char const   *)tmp, (uint64_t )nr_result);
  }
  tmp___0 = st_mult(sizeof(*written_list), (size_t )to_pack.nr_objects);
  tmp___1 = xmalloc(tmp___0);
  written_list = (struct pack_idx_entry **)tmp___1;
  write_order = compute_write_order();
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    pack_tmp_name = (char *)((void *)0);
    if (pack_to_stdout) {
      f = hashfd_throughput(1, (char const   *)"<stdout>", progress_state);
    } else {
      f = create_tmp_packfile(& pack_tmp_name);
    }
    offset___2 = write_pack_header(f, nr_remaining);
    if (reuse_packfile) {
      assert(pack_to_stdout);
      write_reused_pack(f);
      offset___2 = hashfile_total(f);
    }
    nr_written = (uint32_t )0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < to_pack.nr_objects)) {
        goto while_break___0;
      }
      e = *(write_order + i);
      tmp___2 = write_one___0(f, e, & offset___2);
      if ((int )tmp___2 == 0) {
        goto while_break___0;
      }
      display_progress(progress_state, (uint64_t )written);
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (pack_to_stdout) {
      finalize_hashfile(f, hash___0, 5U);
    } else
    if (nr_written == nr_remaining) {
      finalize_hashfile(f, hash___0, 7U);
    } else {
      tmp___3 = finalize_hashfile(f, hash___0, 0U);
      fd = tmp___3;
      fixup_pack_header_footer(fd, hash___0, (char const   *)pack_tmp_name, nr_written,
                               hash___0, offset___2);
      close(fd);
      if (write_bitmap_index) {
        if ((unsigned int )write_bitmap_index != 1U) {
          tmp___4 = _(no_split_warning);
          warning((char const   *)tmp___4);
        }
        write_bitmap_index = (enum __anonenum_write_bitmap_index_529642322 )0;
      }
    }
    if (! pack_to_stdout) {
      tmpname.alloc = 0UL;
      tmpname.len = 0UL;
      tmpname.buf = strbuf_slopbuf;
      idx_tmp_name = (char *)((void *)0);
      tmp___8 = stat((char const   *)pack_tmp_name, & st);
      if (tmp___8 < 0) {
        tmp___5 = _((char const   *)"failed to stat %s");
        warning_errno((char const   *)tmp___5, pack_tmp_name);
      } else
      if (! last_mtime) {
        last_mtime = st.st_mtim.tv_sec;
      } else {
        utb.actime = st.st_atim.tv_sec;
        last_mtime --;
        utb.modtime = last_mtime;
        tmp___7 = utime((char const   *)pack_tmp_name, (struct utimbuf  const  *)(& utb));
        if (tmp___7 < 0) {
          tmp___6 = _((char const   *)"failed utime() on %s");
          warning_errno((char const   *)tmp___6, pack_tmp_name);
        }
      }
      tmp___9 = hash_to_hex((unsigned char const   *)(hash___0));
      strbuf_addf(& tmpname, (char const   *)"%s-%s.", base_name, tmp___9);
      if (write_bitmap_index) {
        bitmap_writer_set_checksum(hash___0);
        bitmap_writer_build_type_index(& to_pack, written_list, nr_written);
      }
      stage_tmp_packfiles(& tmpname, (char const   *)pack_tmp_name, written_list,
                          nr_written, & pack_idx_opts___0, hash___0, & idx_tmp_name);
      if (write_bitmap_index) {
        tmpname_len = tmpname.len;
        strbuf_addstr(& tmpname, (char const   *)"bitmap");
        stop_progress(& progress_state);
        bitmap_writer_show_progress(progress___3);
        bitmap_writer_select_commits(indexed_commits, indexed_commits_nr, -1);
        tmp___11 = bitmap_writer_build(& to_pack);
        if (tmp___11 < 0) {
          tmp___10 = _((char const   *)"failed to write bitmap index");
          die((char const   *)tmp___10);
        }
        bitmap_writer_finish(written_list, nr_written, (char const   *)tmpname.buf,
                             write_bitmap_options);
        write_bitmap_index = (enum __anonenum_write_bitmap_index_529642322 )0;
        strbuf_setlen___33(& tmpname, tmpname_len);
      }
      rename_tmp_packfile_idx(& tmpname, & idx_tmp_name);
      free((void *)idx_tmp_name);
      strbuf_release(& tmpname);
      free((void *)pack_tmp_name);
      tmp___12 = hash_to_hex((unsigned char const   *)(hash___0));
      puts((char const   *)tmp___12);
    }
    j = (uint32_t )0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (j < nr_written)) {
        goto while_break___1;
      }
      (*(written_list + j))->offset = (off_t )-1;
      j ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    nr_remaining -= nr_written;
    if (nr_remaining) {
      if (! (i < to_pack.nr_objects)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)written_list);
  free((void *)write_order);
  stop_progress(& progress_state);
  if (written != nr_result) {
    tmp___13 = _((char const   *)"wrote %u objects while expecting %u");
    die((char const   *)tmp___13, written, nr_result);
  }
  trace2_data_intmax_fl((char const   *)"builtin/pack-objects.c", 1297, (char const   *)"pack-objects",
                        (struct repository  const  *)the_repository, (char const   *)"write_pack_file/wrote",
                        (intmax_t )nr_result);
  return;
}
}
static struct attr_check *check___3  ;
static int no_try_delta(char const   *path___6 )
{


  {
  if (! check___3) {
    check___3 = attr_check_initl((char const   *)"delta", (void *)0);
  }
  git_check_attr(the_repository->index, path___6, check___3);
  if ((unsigned long )(check___3->items + 0)->value == (unsigned long )(git_attr__false)) {
    return (1);
  }
  return (0);
}
}
static int have_duplicate_entry(struct object_id  const  *oid , int exclude )
{
  struct object_entry *entry ;
  int tmp ;

  {
  if (reuse_packfile_bitmap) {
    tmp = bitmap_walk_contains(bitmap_git, reuse_packfile_bitmap, oid);
    if (tmp) {
      return (1);
    }
  }
  entry = packlist_find(& to_pack, oid);
  if (! entry) {
    return (0);
  }
  if (exclude) {
    if (! entry->preferred_base) {
      nr_result --;
    }
    entry->preferred_base = 1U;
  }
  return (1);
}
}
static int want_found_object(struct object_id  const  *oid , int exclude , struct packed_git *p___0 )
{
  unsigned int flags___0 ;
  int tmp ;

  {
  if (exclude) {
    return (1);
  }
  if (incremental___0) {
    return (0);
  }
  if (local) {
    if (! p___0->pack_local) {
      return (0);
    }
  }
  if (ignore_packed_keep_on_disk) {
    goto _L;
  } else
  if (ignore_packed_keep_in_core) {
    _L: /* CIL Label */
    flags___0 = 0U;
    if (ignore_packed_keep_on_disk) {
      flags___0 |= 1U;
    }
    if (ignore_packed_keep_in_core) {
      flags___0 |= 2U;
    }
    if (ignore_packed_keep_on_disk) {
      if (p___0->pack_keep) {
        return (0);
      }
    }
    if (ignore_packed_keep_in_core) {
      if (p___0->pack_keep_in_core) {
        return (0);
      }
    }
    tmp = has_object_kept_pack(oid, flags___0);
    if (tmp) {
      return (0);
    }
  }
  if (! local) {
    return (1);
  } else
  if (! have_non_local_packs) {
    return (1);
  }
  return (-1);
}
}
static int want_object_in_pack_one(struct packed_git *p___0 , struct object_id  const  *oid ,
                                   int exclude , struct packed_git **found_pack ,
                                   off_t *found_offset )
{
  off_t offset___2 ;
  int tmp ;
  int tmp___0 ;

  {
  if ((unsigned long )p___0 == (unsigned long )*found_pack) {
    offset___2 = *found_offset;
  } else {
    offset___2 = find_pack_entry_one((unsigned char const   *)(oid->hash), p___0);
  }
  if (offset___2) {
    if (! *found_pack) {
      tmp = is_pack_valid(p___0);
      if (! tmp) {
        return (-1);
      }
      *found_offset = offset___2;
      *found_pack = p___0;
    }
    tmp___0 = want_found_object(oid, exclude, p___0);
    return (tmp___0);
  }
  return (-1);
}
}
static int want_object_in_pack(struct object_id  const  *oid , int exclude , struct packed_git **found_pack ,
                               off_t *found_offset )
{
  int want ;
  struct list_head *pos ;
  struct multi_pack_index *m ;
  int tmp ;
  struct pack_entry e ;
  int tmp___0 ;
  struct list_head *tmp___1 ;
  struct packed_git *p___0 ;
  struct list_head *tmp___2 ;
  struct list_head *tmp___3 ;
  struct configured_exclusion *ex ;
  void *tmp___4 ;
  int i ;
  char const   *p___1 ;
  int tmp___5 ;

  {
  if (! exclude) {
    if (local) {
      tmp = has_loose_object_nonlocal(oid);
      if (tmp) {
        return (0);
      }
    }
  }
  if (*found_pack) {
    want = want_found_object(oid, exclude, *found_pack);
    if (want != -1) {
      return (want);
    }
  }
  m = get_multi_pack_index(the_repository);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! m) {
      goto while_break;
    }
    tmp___0 = fill_midx_entry(the_repository, oid, & e, m);
    if (tmp___0) {
      want = want_object_in_pack_one(e.p, oid, exclude, found_pack, found_offset);
      if (want != -1) {
        return (want);
      }
    }
    m = m->next;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = get_packed_git_mru(the_repository);
  pos = tmp___1->next;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___3 = get_packed_git_mru(the_repository);
    if (! ((unsigned long )pos != (unsigned long )tmp___3)) {
      goto while_break___0;
    }
    p___0 = (struct packed_git *)((char *)pos - (unsigned long )(& ((struct packed_git *)0)->mru));
    want = want_object_in_pack_one(p___0, oid, exclude, found_pack, found_offset);
    if (! exclude) {
      if (want > 0) {
        tmp___2 = get_packed_git_mru(the_repository);
        list_move(& p___0->mru, tmp___2);
      }
    }
    if (want != -1) {
      return (want);
    }
    pos = pos->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (uri_protocols___0.nr) {
    tmp___4 = oidmap_get((struct oidmap  const  *)(& configured_exclusions), oid);
    ex = (struct configured_exclusion *)tmp___4;
    if (ex) {
      i = 0;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! ((unsigned int )i < uri_protocols___0.nr)) {
          goto while_break___1;
        }
        tmp___5 = skip_prefix((char const   *)ex->uri, (char const   *)(uri_protocols___0.items + i)->string,
                              & p___1);
        if (tmp___5) {
          if ((int const   )*p___1 == 58) {
            oidset_insert(& excluded_by_config, oid);
            return (0);
          }
        }
        i ++;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
  }
  return (1);
}
}
static void create_object_entry(struct object_id  const  *oid , enum object_type type___0 ,
                                uint32_t hash___0 , int exclude , int no_try_delta___0 ,
                                struct packed_git *found_pack , off_t found_offset )
{
  struct object_entry *entry ;

  {
  entry = packlist_alloc(& to_pack, oid);
  entry->hash = hash___0;
  oe_set_type___5(entry, type___0);
  if (exclude) {
    entry->preferred_base = 1U;
  } else {
    nr_result ++;
  }
  if (found_pack) {
    oe_set_in_pack(& to_pack, entry, found_pack);
    entry->in_pack_offset = found_offset;
  }
  entry->no_try_delta = (unsigned int )no_try_delta___0;
  return;
}
}
static char const   no_closure_warning[63]  =
  {      (char const   )'d',      (char const   )'i',      (char const   )'s',      (char const   )'a',
        (char const   )'b',      (char const   )'l',      (char const   )'i',      (char const   )'n',
        (char const   )'g',      (char const   )' ',      (char const   )'b',      (char const   )'i',
        (char const   )'t',      (char const   )'m',      (char const   )'a',      (char const   )'p',
        (char const   )' ',      (char const   )'w',      (char const   )'r',      (char const   )'i',
        (char const   )'t',      (char const   )'i',      (char const   )'n',      (char const   )'g',
        (char const   )',',      (char const   )' ',      (char const   )'a',      (char const   )'s',
        (char const   )' ',      (char const   )'s',      (char const   )'o',      (char const   )'m',
        (char const   )'e',      (char const   )' ',      (char const   )'o',      (char const   )'b',
        (char const   )'j',      (char const   )'e',      (char const   )'c',      (char const   )'t',
        (char const   )'s',      (char const   )' ',      (char const   )'a',      (char const   )'r',
        (char const   )'e',      (char const   )' ',      (char const   )'n',      (char const   )'o',
        (char const   )'t',      (char const   )' ',      (char const   )'b',      (char const   )'e',
        (char const   )'i',      (char const   )'n',      (char const   )'g',      (char const   )' ',
        (char const   )'p',      (char const   )'a',      (char const   )'c',      (char const   )'k',
        (char const   )'e',      (char const   )'d',      (char const   )'\000'};
static int add_object_entry(struct object_id  const  *oid , enum object_type type___0 ,
                            char const   *name___0 , int exclude )
{
  struct packed_git *found_pack ;
  off_t found_offset ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  uint32_t tmp___4 ;

  {
  found_pack = (struct packed_git *)((void *)0);
  found_offset = (off_t )0;
  nr_seen ++;
  display_progress(progress_state, (uint64_t )nr_seen);
  tmp = have_duplicate_entry(oid, exclude);
  if (tmp) {
    return (0);
  }
  tmp___1 = want_object_in_pack(oid, exclude, & found_pack, & found_offset);
  if (! tmp___1) {
    if (write_bitmap_index) {
      if ((unsigned int )write_bitmap_index != 1U) {
        tmp___0 = _(no_closure_warning);
        warning((char const   *)tmp___0);
      }
      write_bitmap_index = (enum __anonenum_write_bitmap_index_529642322 )0;
    }
    return (0);
  }
  if (name___0) {
    tmp___2 = no_try_delta(name___0);
    if (tmp___2) {
      tmp___3 = 1;
    } else {
      tmp___3 = 0;
    }
  } else {
    tmp___3 = 0;
  }
  tmp___4 = pack_name_hash(name___0);
  create_object_entry(oid, type___0, tmp___4, exclude, tmp___3, found_pack, found_offset);
  return (1);
}
}
static int add_object_entry_from_bitmap(struct object_id  const  *oid , enum object_type type___0 ,
                                        int flags___0 , uint32_t name_hash , struct packed_git *pack___0 ,
                                        off_t offset___2 )
{
  int tmp ;
  int tmp___0 ;

  {
  nr_seen ++;
  display_progress(progress_state, (uint64_t )nr_seen);
  tmp = have_duplicate_entry(oid, 0);
  if (tmp) {
    return (0);
  }
  tmp___0 = want_object_in_pack(oid, 0, & pack___0, & offset___2);
  if (! tmp___0) {
    return (0);
  }
  create_object_entry(oid, type___0, name_hash, 0, 0, pack___0, offset___2);
  return (1);
}
}
static struct pbase_tree_cache *pbase_tree_cache[256]  ;
static int pbase_tree_cache_ix(struct object_id  const  *oid )
{


  {
  return ((int )((unsigned long )oid->hash[0] % (sizeof(pbase_tree_cache) / sizeof(pbase_tree_cache[0]) + (sizeof(char [1]) - 1UL))));
}
}
static int pbase_tree_cache_ix_incr(int ix )
{


  {
  return ((int )((unsigned long )(ix + 1) % (sizeof(pbase_tree_cache) / sizeof(pbase_tree_cache[0]) + (sizeof(char [1]) - 1UL))));
}
}
static struct pbase_tree *pbase_tree  ;
static struct pbase_tree_cache *pbase_tree_get(struct object_id  const  *oid )
{
  struct pbase_tree_cache *ent ;
  struct pbase_tree_cache *nent ;
  void *data ;
  unsigned long size ;
  enum object_type type___0 ;
  int neigh ;
  int my_ix ;
  int tmp ;
  int available_ix ;
  int tmp___0 ;
  void *tmp___1 ;

  {
  tmp = pbase_tree_cache_ix(oid);
  my_ix = tmp;
  available_ix = -1;
  neigh = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (neigh < 8)) {
      goto while_break;
    }
    ent = pbase_tree_cache[my_ix];
    if (ent) {
      tmp___0 = oideq((struct object_id  const  *)(& ent->oid), oid);
      if (tmp___0) {
        (ent->ref) ++;
        return (ent);
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if (available_ix < 0) {
      if (! ent) {
        available_ix = my_ix;
      } else
      if (! ent->ref) {
        available_ix = my_ix;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (0 <= available_ix) {
      if (! ent) {
        if (pbase_tree_cache[available_ix]) {
          available_ix = my_ix;
        }
      }
    }
    if (! ent) {
      goto while_break;
    }
    my_ix = pbase_tree_cache_ix_incr(my_ix);
    neigh ++;
  }
  while_break: /* CIL Label */ ;
  }
  data = repo_read_object_file(the_repository, oid, & type___0, & size);
  if (! data) {
    return ((struct pbase_tree_cache *)((void *)0));
  }
  if ((int )type___0 != 2) {
    free(data);
    return ((struct pbase_tree_cache *)((void *)0));
  }
  if (available_ix < 0) {
    ent = (struct pbase_tree_cache *)((void *)0);
  } else {
    ent = pbase_tree_cache[available_ix];
    my_ix = available_ix;
  }
  if (! ent) {
    tmp___1 = xmalloc(sizeof(*nent));
    nent = (struct pbase_tree_cache *)tmp___1;
    nent->temporary = available_ix < 0;
  } else {
    free(ent->tree_data);
    nent = ent;
  }
  oidcpy(& nent->oid, oid);
  nent->tree_data = data;
  nent->tree_size = size;
  nent->ref = 1;
  if (! nent->temporary) {
    pbase_tree_cache[my_ix] = nent;
  }
  return (nent);
}
}
static void pbase_tree_put(struct pbase_tree_cache *cache___0 )
{


  {
  if (! cache___0->temporary) {
    (cache___0->ref) --;
    return;
  }
  free(cache___0->tree_data);
  free((void *)cache___0);
  return;
}
}
static int name_cmp_len(char const   *name___0 )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*(name___0 + i)) {
      if ((int const   )*(name___0 + i) != 10) {
        if (! ((int const   )*(name___0 + i) != 47)) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (i);
}
}
static void add_pbase_object(struct tree_desc *tree , char const   *name___0 , int cmplen ,
                             char const   *fullname )
{
  struct name_entry entry ;
  int cmp___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  enum object_type tmp___2 ;
  struct tree_desc sub ;
  struct pbase_tree_cache *tree___0 ;
  char const   *down ;
  int downlen ;
  int tmp___3 ;
  int tmp___4 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___4 = tree_entry(tree, & entry);
    if (! tmp___4) {
      goto while_break;
    }
    if ((entry.mode & 61440U) == 57344U) {
      goto while_continue;
    }
    tmp___1 = tree_entry_len((struct name_entry  const  *)(& entry));
    if (tmp___1 != cmplen) {
      cmp___0 = 1;
    } else {
      tmp___0 = memcmp((void const   *)name___0, (void const   *)entry.path, (size_t )cmplen);
      cmp___0 = tmp___0;
    }
    if (cmp___0 > 0) {
      goto while_continue;
    }
    if (cmp___0 < 0) {
      return;
    }
    if ((int const   )*(name___0 + cmplen) != 47) {
      tmp___2 = object_type(entry.mode);
      add_object_entry((struct object_id  const  *)(& entry.oid), tmp___2, fullname,
                       1);
      return;
    }
    if ((entry.mode & 61440U) == 16384U) {
      down = (name___0 + cmplen) + 1;
      tmp___3 = name_cmp_len(down);
      downlen = tmp___3;
      tree___0 = pbase_tree_get((struct object_id  const  *)(& entry.oid));
      if (! tree___0) {
        return;
      }
      init_tree_desc(& sub, (void const   *)tree___0->tree_data, tree___0->tree_size);
      add_pbase_object(& sub, down, downlen, fullname);
      pbase_tree_put(tree___0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static unsigned int *done_pbase_paths  ;
static int done_pbase_paths_num  ;
static int done_pbase_paths_alloc  ;
static int done_pbase_path_pos(unsigned int hash___0 )
{
  int lo ;
  int hi ;
  int mi ;

  {
  lo = 0;
  hi = done_pbase_paths_num;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (lo < hi)) {
      goto while_break;
    }
    mi = lo + (hi - lo) / 2;
    if (*(done_pbase_paths + mi) == hash___0) {
      return (mi);
    }
    if (*(done_pbase_paths + mi) < hash___0) {
      hi = mi;
    } else {
      lo = mi + 1;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (- lo - 1);
}
}
static int check_pbase_path(unsigned int hash___0 )
{
  int pos ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  tmp = done_pbase_path_pos(hash___0);
  pos = tmp;
  if (0 <= pos) {
    return (1);
  }
  pos = - pos - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (done_pbase_paths_num + 1 > done_pbase_paths_alloc) {
      if (((done_pbase_paths_alloc + 16) * 3) / 2 < done_pbase_paths_num + 1) {
        done_pbase_paths_alloc = done_pbase_paths_num + 1;
      } else {
        done_pbase_paths_alloc = ((done_pbase_paths_alloc + 16) * 3) / 2;
      }
      tmp___0 = st_mult(sizeof(*done_pbase_paths), (size_t )done_pbase_paths_alloc);
      tmp___1 = xrealloc((void *)done_pbase_paths, tmp___0);
      done_pbase_paths = (unsigned int *)tmp___1;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  done_pbase_paths_num ++;
  if (pos < done_pbase_paths_num) {
    move_array((void *)((done_pbase_paths + pos) + 1), (void const   *)(done_pbase_paths + pos),
               (size_t )((done_pbase_paths_num - pos) - 1), sizeof(*((done_pbase_paths + pos) + 1)) + (sizeof(char [1]) - 1UL));
  }
  *(done_pbase_paths + pos) = hash___0;
  return (0);
}
}
static void add_preferred_base_object(char const   *name___0 )
{
  struct pbase_tree *it ;
  int cmplen ;
  unsigned int hash___0 ;
  uint32_t tmp ;
  int tmp___0 ;
  struct tree_desc tree ;

  {
  tmp = pack_name_hash(name___0);
  hash___0 = tmp;
  if (! num_preferred_base) {
    return;
  } else {
    tmp___0 = check_pbase_path(hash___0);
    if (tmp___0) {
      return;
    }
  }
  cmplen = name_cmp_len(name___0);
  it = pbase_tree;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! it) {
      goto while_break;
    }
    if (cmplen == 0) {
      add_object_entry((struct object_id  const  *)(& it->pcache.oid), (enum object_type )2,
                       (char const   *)((void *)0), 1);
    } else {
      init_tree_desc(& tree, (void const   *)it->pcache.tree_data, it->pcache.tree_size);
      add_pbase_object(& tree, name___0, cmplen, name___0);
    }
    it = it->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void add_preferred_base(struct object_id *oid )
{
  struct pbase_tree *it ;
  void *data ;
  unsigned long size ;
  struct object_id tree_oid ;
  int tmp ;
  int tmp___0 ;
  void *tmp___1 ;

  {
  tmp = num_preferred_base;
  num_preferred_base ++;
  if (window <= tmp) {
    return;
  }
  data = read_object_with_reference(the_repository, (struct object_id  const  *)oid,
                                    tree_type, & size, & tree_oid);
  if (! data) {
    return;
  }
  it = pbase_tree;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! it) {
      goto while_break;
    }
    tmp___0 = oideq((struct object_id  const  *)(& it->pcache.oid), (struct object_id  const  *)(& tree_oid));
    if (tmp___0) {
      free(data);
      return;
    }
    it = it->next;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = xcalloc((size_t )1, sizeof(*it));
  it = (struct pbase_tree *)tmp___1;
  it->next = pbase_tree;
  pbase_tree = it;
  oidcpy(& it->pcache.oid, (struct object_id  const  *)(& tree_oid));
  it->pcache.tree_data = data;
  it->pcache.tree_size = size;
  return;
}
}
static void cleanup_preferred_base(void)
{
  struct pbase_tree *it ;
  unsigned int i ;
  struct pbase_tree *tmp ;

  {
  it = pbase_tree;
  pbase_tree = (struct pbase_tree *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! it) {
      goto while_break;
    }
    tmp = it;
    it = tmp->next;
    free(tmp->pcache.tree_data);
    free((void *)tmp);
  }
  while_break: /* CIL Label */ ;
  }
  i = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(pbase_tree_cache) / sizeof(pbase_tree_cache[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break___0;
    }
    if (! pbase_tree_cache[i]) {
      goto __Cont;
    }
    free((pbase_tree_cache[i])->tree_data);
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      free((void *)pbase_tree_cache[i]);
      pbase_tree_cache[i] = (struct pbase_tree_cache *)((void *)0);
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    free((void *)done_pbase_paths);
    done_pbase_paths = (unsigned int *)((void *)0);
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  done_pbase_paths_alloc = 0;
  done_pbase_paths_num = done_pbase_paths_alloc;
  return;
}
}
static int can_reuse_delta(struct object_id  const  *base_oid , struct object_entry *delta ,
                           struct object_entry **base_out )
{
  struct object_entry *base ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  base = packlist_find(& to_pack, base_oid);
  if (base) {
    tmp = in_same_island((struct object_id  const  *)(& delta->idx.oid), (struct object_id  const  *)(& base->idx.oid));
    if (! tmp) {
      return (0);
    }
    *base_out = base;
    return (1);
  }
  if (thin) {
    tmp___1 = bitmap_has_oid_in_uninteresting(bitmap_git, base_oid);
    if (tmp___1) {
      if (use_delta_islands) {
        tmp___0 = in_same_island((struct object_id  const  *)(& delta->idx.oid), base_oid);
        if (! tmp___0) {
          return (0);
        }
      }
      *base_out = (struct object_entry *)((void *)0);
      return (1);
    }
  }
  return (0);
}
}
static void prefetch_to_pack(uint32_t object_index_start )
{
  struct oid_array to_fetch ;
  uint32_t i ;
  struct object_entry *entry ;
  int tmp ;

  {
  to_fetch.oid = (struct object_id *)0;
  to_fetch.nr = 0UL;
  to_fetch.alloc = 0UL;
  to_fetch.sorted = 0;
  i = object_index_start;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < to_pack.nr_objects)) {
      goto while_break;
    }
    entry = to_pack.objects + i;
    tmp = oid_object_info_extended(the_repository, (struct object_id  const  *)(& entry->idx.oid),
                                   (struct object_info *)((void *)0), 40U);
    if (! tmp) {
      goto __Cont;
    }
    oid_array_append(& to_fetch, (struct object_id  const  *)(& entry->idx.oid));
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  promisor_remote_get_direct(the_repository, (struct object_id  const  *)to_fetch.oid,
                             (int )to_fetch.nr);
  oid_array_clear(& to_fetch);
  return;
}
}
static void check_object___1(struct object_entry *entry , uint32_t object_index )
{
  unsigned long canonical_size ;
  enum object_type type___0 ;
  struct object_info oi___0 ;
  struct packed_git *p___0 ;
  struct packed_git *tmp ;
  struct pack_window *w_curs ;
  int have_base ;
  struct object_id base_ref ;
  struct object_entry *base_entry ;
  unsigned long used___0 ;
  unsigned long used_0 ;
  unsigned long avail ;
  off_t ofs ;
  unsigned char *buf___19 ;
  unsigned char c___0 ;
  enum object_type type___1 ;
  unsigned long in_pack_size ;
  enum object_type tmp___0 ;
  enum object_type tmp___1 ;
  unsigned char *tmp___2 ;
  unsigned long tmp___3 ;
  char *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  unsigned long tmp___6 ;
  char *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  uint32_t pos ;
  int tmp___9 ;
  uint32_t tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  off_t delta_pos ;
  enum object_type tmp___13 ;
  struct packed_git *tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;

  {
  oi___0.typep = & type___0;
  oi___0.sizep = & canonical_size;
  oi___0.disk_sizep = (off_t *)0;
  oi___0.delta_base_oid = (struct object_id *)0;
  oi___0.type_name = (struct strbuf *)0;
  oi___0.contentp = (void **)0;
  oi___0.whence = 0U;
  oi___0.u.packed.pack = (struct packed_git *)0;
  oi___0.u.packed.offset = 0L;
  oi___0.u.packed.is_delta = 0U;
  tmp___14 = oe_in_pack((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
  if (tmp___14) {
    tmp = oe_in_pack((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
    p___0 = tmp;
    w_curs = (struct pack_window *)((void *)0);
    have_base = 0;
    buf___19 = use_pack(p___0, & w_curs, entry->in_pack_offset, & avail);
    used___0 = unpack_object_header_buffer((unsigned char const   *)buf___19, avail,
                                           & type___1, & in_pack_size);
    if (used___0 == 0UL) {
      goto give_up;
    }
    if ((int )type___1 < 0) {
      BUG_fl((char const   *)"builtin/pack-objects.c", 1947, (char const   *)"invalid type %d",
             (int )type___1);
    }
    entry->in_pack_type = (unsigned int )type___1;
    {
    if (entry->in_pack_type == 7U) {
      goto case_7;
    }
    if (entry->in_pack_type == 6U) {
      goto case_6;
    }
    goto switch_default;
    switch_default: /* CIL Label */
    oe_set_type___5(entry, (enum object_type )entry->in_pack_type);
    oe_set_size(& to_pack, entry, in_pack_size);
    entry->in_pack_header_size = (unsigned char )used___0;
    tmp___0 = oe_type((struct object_entry  const  *)entry);
    if ((int )tmp___0 < 1) {
      goto give_up;
    } else {
      tmp___1 = oe_type((struct object_entry  const  *)entry);
      if ((int )tmp___1 > 3) {
        goto give_up;
      }
    }
    unuse_pack(& w_curs);
    return;
    case_7: /* CIL Label */
    if (reuse_delta) {
      if (! entry->preferred_base) {
        tmp___2 = use_pack(p___0, & w_curs, (off_t )((unsigned long )entry->in_pack_offset + used___0),
                           (unsigned long *)((void *)0));
        oidread(& base_ref, (unsigned char const   *)tmp___2);
        have_base = 1;
      }
    }
    entry->in_pack_header_size = (unsigned char )(used___0 + (unsigned long )(the_repository->hash_algo)->rawsz);
    goto switch_break;
    case_6: /* CIL Label */
    buf___19 = use_pack(p___0, & w_curs, (off_t )((unsigned long )entry->in_pack_offset + used___0),
                        (unsigned long *)((void *)0));
    used_0 = 0UL;
    tmp___3 = used_0;
    used_0 ++;
    c___0 = *(buf___19 + tmp___3);
    ofs = (off_t )((int )c___0 & 127);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((int )c___0 & 128)) {
        goto while_break;
      }
      ofs ++;
      if (! ofs) {
        tmp___4 = oid_to_hex((struct object_id  const  *)(& entry->idx.oid));
        tmp___5 = _((char const   *)"delta base offset overflow in pack for %s");
        error((char const   *)tmp___5, tmp___4);
        const_error();
        goto give_up;
      } else
      if (ofs & (off_t )(18446744073709551615ULL << (8UL * sizeof(ofs) - 7UL))) {
        tmp___4 = oid_to_hex((struct object_id  const  *)(& entry->idx.oid));
        tmp___5 = _((char const   *)"delta base offset overflow in pack for %s");
        error((char const   *)tmp___5, tmp___4);
        const_error();
        goto give_up;
      }
      tmp___6 = used_0;
      used_0 ++;
      c___0 = *(buf___19 + tmp___6);
      ofs = (ofs << 7) + (off_t )((int )c___0 & 127);
    }
    while_break: /* CIL Label */ ;
    }
    ofs = entry->in_pack_offset - ofs;
    if (ofs <= 0L) {
      tmp___7 = oid_to_hex((struct object_id  const  *)(& entry->idx.oid));
      tmp___8 = _((char const   *)"delta base offset out of bound for %s");
      error((char const   *)tmp___8, tmp___7);
      const_error();
      goto give_up;
    } else
    if (ofs >= entry->in_pack_offset) {
      tmp___7 = oid_to_hex((struct object_id  const  *)(& entry->idx.oid));
      tmp___8 = _((char const   *)"delta base offset out of bound for %s");
      error((char const   *)tmp___8, tmp___7);
      const_error();
      goto give_up;
    }
    if (reuse_delta) {
      if (! entry->preferred_base) {
        tmp___9 = offset_to_pack_pos(p___0, ofs, & pos);
        if (tmp___9 < 0) {
          goto give_up;
        }
        tmp___10 = pack_pos_to_index(p___0, pos);
        tmp___11 = nth_packed_object_id(& base_ref, p___0, tmp___10);
        if (! tmp___11) {
          have_base = 1;
        }
      }
    }
    entry->in_pack_header_size = (unsigned char )(used___0 + used_0);
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    if (have_base) {
      tmp___12 = can_reuse_delta((struct object_id  const  *)(& base_ref), entry,
                                 & base_entry);
      if (tmp___12) {
        oe_set_type___5(entry, (enum object_type )entry->in_pack_type);
        oe_set_size(& to_pack, entry, in_pack_size);
        oe_set_delta_size(& to_pack, entry, in_pack_size);
        if (base_entry) {
          oe_set_delta(& to_pack, entry, base_entry);
          entry->delta_sibling_idx = base_entry->delta_child_idx;
          oe_set_delta_child(& to_pack, base_entry, entry);
        } else {
          oe_set_delta_ext(& to_pack, entry, (struct object_id  const  *)(& base_ref));
        }
        unuse_pack(& w_curs);
        return;
      }
    }
    tmp___13 = oe_type((struct object_entry  const  *)entry);
    if (tmp___13) {
      delta_pos = entry->in_pack_offset + (off_t )entry->in_pack_header_size;
      canonical_size = get_size_from_delta(p___0, & w_curs, delta_pos);
      if (canonical_size == 0UL) {
        goto give_up;
      }
      oe_set_size(& to_pack, entry, canonical_size);
      unuse_pack(& w_curs);
      return;
    }
    give_up:
    unuse_pack(& w_curs);
  }
  tmp___17 = oid_object_info_extended(the_repository, (struct object_id  const  *)(& entry->idx.oid),
                                      & oi___0, 33U);
  if (tmp___17 < 0) {
    tmp___16 = has_promisor_remote();
    if (tmp___16) {
      prefetch_to_pack(object_index);
      tmp___15 = oid_object_info_extended(the_repository, (struct object_id  const  *)(& entry->idx.oid),
                                          & oi___0, 33U);
      if (tmp___15 < 0) {
        type___0 = (enum object_type )-1;
      }
    } else {
      type___0 = (enum object_type )-1;
    }
  }
  oe_set_type___5(entry, type___0);
  if (entry->type_valid) {
    oe_set_size(& to_pack, entry, canonical_size);
  }
  return;
}
}
static int pack_offset_sort(void const   *_a , void const   *_b )
{
  struct object_entry  const  *a ;
  struct object_entry  const  *b___0 ;
  struct packed_git  const  *a_in_pack ;
  struct packed_git *tmp ;
  struct packed_git  const  *b_in_pack ;
  struct packed_git *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  a = (struct object_entry  const  *)*((struct object_entry **)_a);
  b___0 = (struct object_entry  const  *)*((struct object_entry **)_b);
  tmp = oe_in_pack((struct packing_data  const  *)(& to_pack), a);
  a_in_pack = (struct packed_git  const  *)tmp;
  tmp___0 = oe_in_pack((struct packing_data  const  *)(& to_pack), b___0);
  b_in_pack = (struct packed_git  const  *)tmp___0;
  if (! a_in_pack) {
    if (! b_in_pack) {
      tmp___1 = oidcmp((struct object_id  const  *)(& a->idx.oid), (struct object_id  const  *)(& b___0->idx.oid));
      return (tmp___1);
    }
  }
  if ((unsigned long )a_in_pack < (unsigned long )b_in_pack) {
    return (-1);
  }
  if ((unsigned long )a_in_pack > (unsigned long )b_in_pack) {
    return (1);
  }
  if (a->in_pack_offset < b___0->in_pack_offset) {
    tmp___2 = -1;
  } else {
    tmp___2 = a->in_pack_offset > b___0->in_pack_offset;
  }
  return (tmp___2);
}
}
static void drop_reused_delta(struct object_entry *entry )
{
  unsigned int *idx___0 ;
  struct object_info oi___0 ;
  enum object_type type___0 ;
  unsigned long size ;
  struct object_entry *oe ;
  int tmp ;
  struct packed_git *tmp___0 ;
  int tmp___1 ;

  {
  idx___0 = & (to_pack.objects + (entry->delta_idx - 1U))->delta_child_idx;
  oi___0.typep = (enum object_type *)0;
  oi___0.sizep = (unsigned long *)0;
  oi___0.disk_sizep = (off_t *)0;
  oi___0.delta_base_oid = (struct object_id *)0;
  oi___0.type_name = (struct strbuf *)0;
  oi___0.contentp = (void **)0;
  oi___0.whence = 0U;
  oi___0.u.packed.pack = (struct packed_git *)0;
  oi___0.u.packed.offset = 0L;
  oi___0.u.packed.is_delta = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *idx___0) {
      goto while_break;
    }
    oe = to_pack.objects + (*idx___0 - 1U);
    if ((unsigned long )oe == (unsigned long )entry) {
      *idx___0 = oe->delta_sibling_idx;
    } else {
      idx___0 = & oe->delta_sibling_idx;
    }
  }
  while_break: /* CIL Label */ ;
  }
  oe_set_delta(& to_pack, entry, (struct object_entry *)((void *)0));
  entry->depth = 0U;
  oi___0.sizep = & size;
  oi___0.typep = & type___0;
  tmp___0 = oe_in_pack((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
  tmp___1 = packed_object_info(the_repository, tmp___0, entry->in_pack_offset, & oi___0);
  if (tmp___1 < 0) {
    tmp = oid_object_info(the_repository, (struct object_id  const  *)(& entry->idx.oid),
                          & size);
    oe_set_type___5(entry, (enum object_type )tmp);
  } else {
    oe_set_type___5(entry, type___0);
  }
  oe_set_size(& to_pack, entry, size);
  return;
}
}
static void break_delta_chains(struct object_entry *entry )
{
  uint32_t total_depth ;
  struct object_entry *cur ;
  struct object_entry *next___2 ;
  struct object_entry *tmp ;
  struct object_entry *tmp___0 ;
  uint32_t tmp___1 ;

  {
  cur = entry;
  total_depth = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! cur) {
      goto while_break;
    }
    if (cur->dfs_state == 2U) {
      total_depth += cur->depth;
      goto while_break;
    }
    if (cur->dfs_state != 0U) {
      BUG_fl((char const   *)"builtin/pack-objects.c", 2183, (char const   *)"confusing delta dfs state in first pass: %d",
             cur->dfs_state);
    }
    tmp = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)cur);
    if (! tmp) {
      cur->dfs_state = 2U;
      goto while_break;
    }
    cur->dfs_state = 1U;
    tmp___0 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)cur);
    if (tmp___0->dfs_state == 1U) {
      drop_reused_delta(cur);
      cur->dfs_state = 2U;
      goto while_break;
    }
    cur = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)cur);
    total_depth ++;
  }
  while_break: /* CIL Label */ ;
  }
  cur = entry;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! cur) {
      goto while_break___0;
    }
    next___2 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)cur);
    if (cur->dfs_state == 2U) {
      goto while_break___0;
    } else
    if (cur->dfs_state != 1U) {
      BUG_fl((char const   *)"builtin/pack-objects.c", 2240, (char const   *)"confusing delta dfs state in second pass: %d",
             cur->dfs_state);
    }
    tmp___1 = total_depth;
    total_depth --;
    cur->depth = tmp___1 % (unsigned int )(depth___0 + 1);
    if (! cur->depth) {
      drop_reused_delta(cur);
    }
    cur->dfs_state = 2U;
    cur = next___2;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void get_object_details(void)
{
  uint32_t i ;
  struct object_entry **sorted_by_offset ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  void *tmp___0 ;
  struct object_entry *entry ;
  int tmp___1 ;

  {
  if (progress___3) {
    tmp = _((char const   *)"Counting objects");
    progress_state = start_progress((char const   *)tmp, (uint64_t )to_pack.nr_objects);
  }
  tmp___0 = xcalloc((size_t )to_pack.nr_objects, sizeof(*sorted_by_offset));
  sorted_by_offset = (struct object_entry **)tmp___0;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < to_pack.nr_objects)) {
      goto while_break;
    }
    *(sorted_by_offset + i) = to_pack.objects + i;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  sane_qsort((void *)sorted_by_offset, (size_t )to_pack.nr_objects, sizeof(*sorted_by_offset),
             & pack_offset_sort);
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < to_pack.nr_objects)) {
      goto while_break___0;
    }
    entry = *(sorted_by_offset + i);
    check_object___1(entry, i);
    if (entry->type_valid) {
      tmp___1 = oe_size_greater_than(& to_pack, (struct object_entry  const  *)entry,
                                     big_file_threshold);
      if (tmp___1) {
        entry->no_try_delta = 1U;
      }
    }
    display_progress(progress_state, (uint64_t )(i + 1U));
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  stop_progress(& progress_state);
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < to_pack.nr_objects)) {
      goto while_break___1;
    }
    break_delta_chains(to_pack.objects + i);
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  free((void *)sorted_by_offset);
  return;
}
}
static int type_size_sort(void const   *_a , void const   *_b )
{
  struct object_entry  const  *a ;
  struct object_entry  const  *b___0 ;
  enum object_type a_type ;
  enum object_type tmp ;
  enum object_type b_type ;
  enum object_type tmp___0 ;
  unsigned long a_size ;
  unsigned long tmp___1 ;
  unsigned long b_size ;
  unsigned long tmp___2 ;
  int island_cmp ;
  int tmp___3 ;
  int tmp___4 ;

  {
  a = (struct object_entry  const  *)*((struct object_entry **)_a);
  b___0 = (struct object_entry  const  *)*((struct object_entry **)_b);
  tmp = oe_type(a);
  a_type = (enum object_type )tmp;
  tmp___0 = oe_type(b___0);
  b_type = (enum object_type )tmp___0;
  tmp___1 = oe_size(& to_pack, a);
  a_size = (unsigned long )tmp___1;
  tmp___2 = oe_size(& to_pack, b___0);
  b_size = (unsigned long )tmp___2;
  if ((int )a_type > (int )b_type) {
    return (-1);
  }
  if ((int )a_type < (int )b_type) {
    return (1);
  }
  if (a->hash > b___0->hash) {
    return (-1);
  }
  if (a->hash < b___0->hash) {
    return (1);
  }
  if (a->preferred_base > b___0->preferred_base) {
    return (-1);
  }
  if (a->preferred_base < b___0->preferred_base) {
    return (1);
  }
  if (use_delta_islands) {
    tmp___3 = island_delta_cmp((struct object_id  const  *)(& a->idx.oid), (struct object_id  const  *)(& b___0->idx.oid));
    island_cmp = (int )tmp___3;
    if (island_cmp) {
      return ((int )island_cmp);
    }
  }
  if (a_size > b_size) {
    return (-1);
  }
  if (a_size < b_size) {
    return (1);
  }
  if ((unsigned long )a < (unsigned long )b___0) {
    tmp___4 = -1;
  } else {
    tmp___4 = (unsigned long )a > (unsigned long )b___0;
  }
  return (tmp___4);
}
}
static int delta_cacheable(unsigned long src_size , unsigned long trg_size , unsigned long delta_size )
{


  {
  if (max_delta_cache_size___0) {
    if (delta_cache_size + delta_size > max_delta_cache_size___0) {
      return (0);
    }
  }
  if (delta_size < cache_max_small_delta_size) {
    return (1);
  }
  if ((src_size >> 20) + (trg_size >> 21) > delta_size >> 10) {
    return (1);
  }
  return (0);
}
}
static pthread_mutex_t cache_mutex  ;
static pthread_mutex_t progress_mutex  ;
__inline static int oe_size_less_than(struct packing_data *pack___0 , struct object_entry  const  *lhs ,
                                      unsigned long rhs )
{
  unsigned long tmp ;

  {
  if (lhs->size_valid) {
    return ((unsigned long )lhs->size_ < rhs);
  }
  if (rhs < pack___0->oe_size_limit) {
    return (0);
  }
  tmp = oe_get_size_slow(pack___0, lhs);
  return (tmp < rhs);
}
}
__inline static void oe_set_tree_depth(struct packing_data *pack___0 , struct object_entry *e ,
                                       unsigned int tree_depth )
{
  void *tmp ;

  {
  if (! pack___0->tree_depth) {
    tmp = xcalloc((size_t )pack___0->nr_alloc, sizeof(*(pack___0->tree_depth)));
    pack___0->tree_depth = (unsigned int *)tmp;
  }
  *(pack___0->tree_depth + (e - pack___0->objects)) = tree_depth;
  return;
}
}
unsigned long oe_get_size_slow(struct packing_data *pack___0 , struct object_entry  const  *e )
{
  struct packed_git *p___0 ;
  struct pack_window *w_curs ;
  unsigned char *buf___19 ;
  enum object_type type___0 ;
  unsigned long used___0 ;
  unsigned long avail ;
  unsigned long size ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  if (e->type_ != 6U) {
    if (e->type_ != 7U) {
      packing_data_lock(& to_pack);
      tmp___1 = oid_object_info(the_repository, (struct object_id  const  *)(& e->idx.oid),
                                & size);
      if (tmp___1 < 0) {
        tmp = oid_to_hex((struct object_id  const  *)(& e->idx.oid));
        tmp___0 = _((char const   *)"unable to get size of %s");
        die((char const   *)tmp___0, tmp);
      }
      packing_data_unlock(& to_pack);
      return (size);
    }
  }
  p___0 = oe_in_pack((struct packing_data  const  *)pack___0, e);
  if (! p___0) {
    BUG_fl((char const   *)"builtin/pack-objects.c", 2432, (char const   *)"when e->type is a delta, it must belong to a pack");
  }
  packing_data_lock(& to_pack);
  w_curs = (struct pack_window *)((void *)0);
  buf___19 = use_pack(p___0, & w_curs, (off_t )e->in_pack_offset, & avail);
  used___0 = unpack_object_header_buffer((unsigned char const   *)buf___19, avail,
                                         & type___0, & size);
  if (used___0 == 0UL) {
    tmp___2 = oid_to_hex((struct object_id  const  *)(& e->idx.oid));
    tmp___3 = _((char const   *)"unable to parse object header of %s");
    die((char const   *)tmp___3, tmp___2);
  }
  unuse_pack(& w_curs);
  packing_data_unlock(& to_pack);
  return (size);
}
}
static int try_delta(struct unpacked *trg , struct unpacked *src , unsigned int max_depth___0 ,
                     unsigned long *mem_usage ) ;
static int warned  =    0;
static int warned___0  =    0;
static int try_delta(struct unpacked *trg , struct unpacked *src , unsigned int max_depth___0 ,
                     unsigned long *mem_usage )
{
  struct object_entry *trg_entry ;
  struct object_entry *src_entry ;
  unsigned long trg_size ;
  unsigned long src_size ;
  unsigned long delta_size ;
  unsigned long sizediff ;
  unsigned long max_size___0 ;
  unsigned long sz ;
  unsigned int ref_depth ;
  enum object_type type___0 ;
  void *delta_buf ;
  enum object_type tmp ;
  enum object_type tmp___0 ;
  struct packed_git *tmp___1 ;
  struct packed_git *tmp___2 ;
  struct packed_git *tmp___3 ;
  struct object_entry *tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  char *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  int tmp___18 ;
  unsigned long tmp___19 ;
  unsigned long tmp___20 ;
  struct object_entry *tmp___21 ;
  unsigned long tmp___22 ;
  int tmp___23 ;

  {
  trg_entry = trg->entry;
  src_entry = src->entry;
  tmp = oe_type((struct object_entry  const  *)trg_entry);
  tmp___0 = oe_type((struct object_entry  const  *)src_entry);
  if ((int )tmp != (int )tmp___0) {
    return (-1);
  }
  if (reuse_delta) {
    tmp___1 = oe_in_pack((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)trg_entry);
    if (tmp___1) {
      tmp___2 = oe_in_pack((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)trg_entry);
      tmp___3 = oe_in_pack((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)src_entry);
      if ((unsigned long )tmp___2 == (unsigned long )tmp___3) {
        if (! src_entry->preferred_base) {
          if (trg_entry->in_pack_type != 7U) {
            if (trg_entry->in_pack_type != 6U) {
              return (0);
            }
          }
        }
      }
    }
  }
  if (src->depth >= max_depth___0) {
    return (0);
  }
  trg_size = oe_size(& to_pack, (struct object_entry  const  *)trg_entry);
  tmp___4 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)trg_entry);
  if (tmp___4) {
    max_size___0 = oe_delta_size(& to_pack, (struct object_entry  const  *)trg_entry);
    ref_depth = trg->depth;
  } else {
    max_size___0 = trg_size / 2UL - (unsigned long )(the_repository->hash_algo)->rawsz;
    ref_depth = 1U;
  }
  max_size___0 = (max_size___0 * (uint64_t )(max_depth___0 - src->depth)) / (uint64_t )((max_depth___0 - ref_depth) + 1U);
  if (max_size___0 == 0UL) {
    return (0);
  }
  src_size = oe_size(& to_pack, (struct object_entry  const  *)src_entry);
  if (src_size < trg_size) {
    sizediff = trg_size - src_size;
  } else {
    sizediff = 0UL;
  }
  if (sizediff >= max_size___0) {
    return (0);
  }
  if (trg_size < src_size / 32UL) {
    return (0);
  }
  tmp___5 = in_same_island((struct object_id  const  *)(& (trg->entry)->idx.oid),
                           (struct object_id  const  *)(& (src->entry)->idx.oid));
  if (! tmp___5) {
    return (0);
  }
  if (! trg->data) {
    packing_data_lock(& to_pack);
    trg->data = repo_read_object_file(the_repository, (struct object_id  const  *)(& trg_entry->idx.oid),
                                      & type___0, & sz);
    packing_data_unlock(& to_pack);
    if (! trg->data) {
      tmp___6 = oid_to_hex((struct object_id  const  *)(& trg_entry->idx.oid));
      tmp___7 = _((char const   *)"object %s cannot be read");
      die((char const   *)tmp___7, tmp___6);
    }
    if (sz != trg_size) {
      tmp___8 = oid_to_hex((struct object_id  const  *)(& trg_entry->idx.oid));
      tmp___9 = _((char const   *)"object %s inconsistent object length (%lu vs %lu)");
      die((char const   *)tmp___9, tmp___8, sz, trg_size);
    }
    *mem_usage += sz;
  }
  if (! src->data) {
    packing_data_lock(& to_pack);
    src->data = repo_read_object_file(the_repository, (struct object_id  const  *)(& src_entry->idx.oid),
                                      & type___0, & sz);
    packing_data_unlock(& to_pack);
    if (! src->data) {
      if (src_entry->preferred_base) {
        tmp___12 = warned;
        warned ++;
        if (! tmp___12) {
          tmp___10 = oid_to_hex((struct object_id  const  *)(& src_entry->idx.oid));
          tmp___11 = _((char const   *)"object %s cannot be read");
          warning((char const   *)tmp___11, tmp___10);
        }
        return (0);
      }
      tmp___13 = oid_to_hex((struct object_id  const  *)(& src_entry->idx.oid));
      tmp___14 = _((char const   *)"object %s cannot be read");
      die((char const   *)tmp___14, tmp___13);
    }
    if (sz != src_size) {
      tmp___15 = oid_to_hex((struct object_id  const  *)(& src_entry->idx.oid));
      tmp___16 = _((char const   *)"object %s inconsistent object length (%lu vs %lu)");
      die((char const   *)tmp___16, tmp___15, sz, src_size);
    }
    *mem_usage += sz;
  }
  if (! src->index) {
    src->index = create_delta_index((void const   *)src->data, src_size);
    if (! src->index) {
      tmp___18 = warned___0;
      warned___0 ++;
      if (! tmp___18) {
        tmp___17 = _((char const   *)"suboptimal pack - out of memory");
        warning((char const   *)tmp___17);
      }
      return (0);
    }
    tmp___19 = sizeof_delta_index(src->index);
    *mem_usage += tmp___19;
  }
  delta_buf = create_delta((struct delta_index  const  *)src->index, (void const   *)trg->data,
                           trg_size, & delta_size, max_size___0);
  if (! delta_buf) {
    return (0);
  }
  tmp___21 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)trg_entry);
  if (tmp___21) {
    tmp___20 = oe_delta_size(& to_pack, (struct object_entry  const  *)trg_entry);
    if (delta_size == tmp___20) {
      if (src->depth + 1U >= trg->depth) {
        free(delta_buf);
        return (0);
      }
    }
  }
  free(trg_entry->delta_data);
  pthread_mutex_lock(& cache_mutex);
  if (trg_entry->delta_data) {
    tmp___22 = oe_delta_size(& to_pack, (struct object_entry  const  *)trg_entry);
    delta_cache_size -= tmp___22;
    trg_entry->delta_data = (void *)0;
  }
  tmp___23 = delta_cacheable(src_size, trg_size, delta_size);
  if (tmp___23) {
    delta_cache_size += delta_size;
    pthread_mutex_unlock(& cache_mutex);
    trg_entry->delta_data = xrealloc(delta_buf, delta_size);
  } else {
    pthread_mutex_unlock(& cache_mutex);
    free(delta_buf);
  }
  oe_set_delta(& to_pack, trg_entry, src_entry);
  oe_set_delta_size(& to_pack, trg_entry, delta_size);
  trg->depth = src->depth + 1U;
  return (1);
}
}
static unsigned int check_delta_limit(struct object_entry *me , unsigned int n )
{
  struct object_entry *child ;
  struct object_entry *tmp ;
  unsigned int m ;
  unsigned int c___0 ;
  unsigned int tmp___0 ;

  {
  tmp = oe_delta_child((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)me);
  child = tmp;
  m = n;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! child) {
      goto while_break;
    }
    tmp___0 = check_delta_limit(child, n + 1U);
    c___0 = (unsigned int )tmp___0;
    if (m < (unsigned int )c___0) {
      m = (unsigned int )c___0;
    }
    child = oe_delta_sibling((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)child);
  }
  while_break: /* CIL Label */ ;
  }
  return (m);
}
}
static unsigned long free_unpacked(struct unpacked *n )
{
  unsigned long freed_mem ;
  unsigned long tmp ;
  unsigned long tmp___0 ;

  {
  tmp = sizeof_delta_index(n->index);
  freed_mem = tmp;
  free_delta_index(n->index);
  n->index = (struct delta_index *)((void *)0);
  if (n->data) {
    tmp___0 = oe_size(& to_pack, (struct object_entry  const  *)n->entry);
    freed_mem += tmp___0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      free(n->data);
      n->data = (void *)0;
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
  }
  n->entry = (struct object_entry *)((void *)0);
  n->depth = 0U;
  return (freed_mem);
}
}
static void find_deltas(struct object_entry **list___3 , unsigned int *list_size ,
                        int window___0 , int depth___1 , unsigned int *processed )
{
  uint32_t i ;
  uint32_t idx___0 ;
  uint32_t count___0 ;
  struct unpacked *array ;
  unsigned long mem_usage ;
  void *tmp ;
  struct object_entry *entry ;
  struct unpacked *n ;
  int j ;
  int max_depth___0 ;
  int best_base ;
  struct object_entry **tmp___0 ;
  unsigned long tmp___1 ;
  uint32_t tail ;
  unsigned long tmp___2 ;
  unsigned int tmp___3 ;
  struct object_entry *tmp___4 ;
  int ret___67 ;
  uint32_t other_idx ;
  struct unpacked *m ;
  unsigned long size ;
  unsigned long tmp___5 ;
  unsigned long tmp___6 ;
  struct object_entry *tmp___7 ;
  struct unpacked swap___0 ;
  int dist___0 ;
  int dst ;
  int src ;
  int tmp___8 ;
  struct object_entry *tmp___9 ;

  {
  idx___0 = (uint32_t )0;
  count___0 = (uint32_t )0;
  mem_usage = 0UL;
  tmp = xcalloc((size_t )window___0, sizeof(*array));
  array = (struct unpacked *)tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    n = array + idx___0;
    best_base = -1;
    pthread_mutex_lock(& progress_mutex);
    if (! *list_size) {
      pthread_mutex_unlock(& progress_mutex);
      goto while_break;
    }
    tmp___0 = list___3;
    list___3 ++;
    entry = *tmp___0;
    (*list_size) --;
    if (! entry->preferred_base) {
      (*processed) ++;
      display_progress(progress_state, (uint64_t )*processed);
    }
    pthread_mutex_unlock(& progress_mutex);
    tmp___1 = free_unpacked(n);
    mem_usage -= tmp___1;
    n->entry = entry;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (window_memory_limit) {
        if (mem_usage > window_memory_limit) {
          if (! (count___0 > 1U)) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      tail = (uint32_t )(((idx___0 + (uint32_t )window___0) - count___0) % (unsigned int )window___0);
      tmp___2 = free_unpacked(array + tail);
      mem_usage -= tmp___2;
      count___0 --;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (entry->preferred_base) {
      goto next;
    }
    max_depth___0 = depth___1;
    tmp___4 = oe_delta_child((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
    if (tmp___4) {
      tmp___3 = check_delta_limit(entry, 0U);
      max_depth___0 = (int )((unsigned int )max_depth___0 - tmp___3);
      if (max_depth___0 <= 0) {
        goto next;
      }
    }
    j = window___0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      j --;
      if (! (j > 0)) {
        goto while_break___1;
      }
      other_idx = idx___0 + (uint32_t )j;
      if (other_idx >= (uint32_t )window___0) {
        other_idx -= (uint32_t )window___0;
      }
      m = array + other_idx;
      if (! m->entry) {
        goto while_break___1;
      }
      ret___67 = try_delta(n, m, (unsigned int )max_depth___0, & mem_usage);
      if (ret___67 < 0) {
        goto while_break___1;
      } else
      if (ret___67 > 0) {
        best_base = (int )other_idx;
      }
    }
    while_break___1: /* CIL Label */ ;
    }
    if (entry->delta_data) {
      if (! pack_to_stdout) {
        tmp___5 = oe_delta_size(& to_pack, (struct object_entry  const  *)entry);
        size = do_compress(& entry->delta_data, tmp___5);
        if (size < (unsigned long )(1U << 20)) {
          entry->z_delta_size = (unsigned int )size;
          pthread_mutex_lock(& cache_mutex);
          tmp___6 = oe_delta_size(& to_pack, (struct object_entry  const  *)entry);
          delta_cache_size -= tmp___6;
          delta_cache_size += (unsigned long )entry->z_delta_size;
          pthread_mutex_unlock(& cache_mutex);
        } else {
          {
          while (1) {
            while_continue___2: /* CIL Label */ ;
            free(entry->delta_data);
            entry->delta_data = (void *)0;
            goto while_break___2;
          }
          while_break___2: /* CIL Label */ ;
          }
          entry->z_delta_size = 0U;
        }
      }
    }
    tmp___7 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
    if (tmp___7) {
      if ((unsigned int )max_depth___0 <= n->depth) {
        goto __Cont;
      }
    }
    tmp___9 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
    if (tmp___9) {
      swap___0 = *(array + best_base);
      dist___0 = (int )((((uint32_t )window___0 + idx___0) - (uint32_t )best_base) % (unsigned int )window___0);
      dst = best_base;
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        tmp___8 = dist___0;
        dist___0 --;
        if (! tmp___8) {
          goto while_break___3;
        }
        src = (dst + 1) % window___0;
        *(array + dst) = *(array + src);
        dst = src;
      }
      while_break___3: /* CIL Label */ ;
      }
      *(array + dst) = swap___0;
    }
    next:
    idx___0 ++;
    if (count___0 + 1U < (uint32_t )window___0) {
      count___0 ++;
    }
    if (idx___0 >= (uint32_t )window___0) {
      idx___0 = (uint32_t )0;
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! (i < (uint32_t )window___0)) {
      goto while_break___4;
    }
    free_delta_index((array + i)->index);
    free((array + i)->data);
    i ++;
  }
  while_break___4: /* CIL Label */ ;
  }
  free((void *)array);
  return;
}
}
static pthread_cond_t progress_cond  ;
static void init_threaded_search(void)
{


  {
  pthread_mutex_init(& cache_mutex, (pthread_mutexattr_t const   *)((void *)0));
  pthread_mutex_init(& progress_mutex, (pthread_mutexattr_t const   *)((void *)0));
  pthread_cond_init((pthread_cond_t * __restrict  )(& progress_cond), (pthread_condattr_t const   * __restrict  )((void *)0));
  return;
}
}
static void cleanup_threaded_search(void)
{


  {
  pthread_cond_destroy(& progress_cond);
  pthread_mutex_destroy(& cache_mutex);
  pthread_mutex_destroy(& progress_mutex);
  return;
}
}
static void *threaded_find_deltas(void *arg )
{
  struct thread_params *me ;

  {
  me = (struct thread_params *)arg;
  pthread_mutex_lock(& progress_mutex);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! me->remaining) {
      goto while_break;
    }
    pthread_mutex_unlock(& progress_mutex);
    find_deltas(me->list, & me->remaining, me->window, me->depth, me->processed);
    pthread_mutex_lock(& progress_mutex);
    me->working = 0;
    pthread_cond_signal(& progress_cond);
    pthread_mutex_unlock(& progress_mutex);
    pthread_mutex_lock(& me->mutex);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (! me->data_ready)) {
        goto while_break___0;
      }
      pthread_cond_wait((pthread_cond_t * __restrict  )(& me->cond), (pthread_mutex_t * __restrict  )(& me->mutex));
    }
    while_break___0: /* CIL Label */ ;
    }
    me->data_ready = 0;
    pthread_mutex_unlock(& me->mutex);
    pthread_mutex_lock(& progress_mutex);
  }
  while_break: /* CIL Label */ ;
  }
  pthread_mutex_unlock(& progress_mutex);
  return ((void *)0);
}
}
static void ll_find_deltas(struct object_entry **list___3 , unsigned int list_size ,
                           int window___0 , int depth___1 , unsigned int *processed )
{
  struct thread_params *p___0 ;
  int i ;
  int ret___67 ;
  int active_threads ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  void *tmp___0 ;
  unsigned int sub_size ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  struct thread_params *target ;
  struct thread_params *victim ;
  unsigned int sub_size___0 ;

  {
  active_threads = 0;
  init_threaded_search();
  if (delta_search_threads <= 1) {
    find_deltas(list___3, & list_size, window___0, depth___1, processed);
    cleanup_threaded_search();
    return;
  }
  if (progress___3 > pack_to_stdout) {
    tmp = _((char const   *)"Delta compression using up to %d threads");
    fprintf_ln(stderr, (char const   *)tmp, delta_search_threads);
  }
  tmp___0 = xcalloc((size_t )delta_search_threads, sizeof(*p___0));
  p___0 = (struct thread_params *)tmp___0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < delta_search_threads)) {
      goto while_break;
    }
    sub_size = list_size / (unsigned int )(delta_search_threads - i);
    if (sub_size < (unsigned int )(2 * window___0)) {
      if (i + 1 < delta_search_threads) {
        sub_size = 0U;
      }
    }
    (p___0 + i)->window = window___0;
    (p___0 + i)->depth = depth___1;
    (p___0 + i)->processed = processed;
    (p___0 + i)->working = 1;
    (p___0 + i)->data_ready = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (sub_size) {
        if (sub_size < list_size) {
          if ((*(list___3 + sub_size))->hash) {
            if (! ((*(list___3 + sub_size))->hash == (*(list___3 + (sub_size - 1U)))->hash)) {
              goto while_break___0;
            }
          } else {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      sub_size ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    (p___0 + i)->list = list___3;
    (p___0 + i)->list_size = sub_size;
    (p___0 + i)->remaining = sub_size;
    list___3 += sub_size;
    list_size -= sub_size;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < delta_search_threads)) {
      goto while_break___1;
    }
    if (! (p___0 + i)->list_size) {
      goto __Cont;
    }
    pthread_mutex_init(& (p___0 + i)->mutex, (pthread_mutexattr_t const   *)((void *)0));
    pthread_cond_init((pthread_cond_t * __restrict  )(& (p___0 + i)->cond), (pthread_condattr_t const   * __restrict  )((void *)0));
    ret___67 = pthread_create((pthread_t * __restrict  )(& (p___0 + i)->thread), (pthread_attr_t const   * __restrict  )((void *)0),
                              & threaded_find_deltas, (void * __restrict  )(p___0 + i));
    if (ret___67) {
      tmp___1 = strerror(ret___67);
      tmp___2 = _((char const   *)"unable to create thread: %s");
      die((char const   *)tmp___2, tmp___1);
    }
    active_threads ++;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! active_threads) {
      goto while_break___2;
    }
    target = (struct thread_params *)((void *)0);
    victim = (struct thread_params *)((void *)0);
    sub_size___0 = 0U;
    pthread_mutex_lock(& progress_mutex);
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      i = 0;
      {
      while (1) {
        while_continue___4: /* CIL Label */ ;
        if (! target) {
          if (! (i < delta_search_threads)) {
            goto while_break___4;
          }
        } else {
          goto while_break___4;
        }
        if (! (p___0 + i)->working) {
          target = p___0 + i;
        }
        i ++;
      }
      while_break___4: /* CIL Label */ ;
      }
      if (target) {
        goto while_break___3;
      }
      pthread_cond_wait((pthread_cond_t * __restrict  )(& progress_cond), (pthread_mutex_t * __restrict  )(& progress_mutex));
    }
    while_break___3: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      if (! (i < delta_search_threads)) {
        goto while_break___5;
      }
      if ((p___0 + i)->remaining > (unsigned int )(2 * window___0)) {
        if (! victim) {
          victim = p___0 + i;
        } else
        if (victim->remaining < (p___0 + i)->remaining) {
          victim = p___0 + i;
        }
      }
      i ++;
    }
    while_break___5: /* CIL Label */ ;
    }
    if (victim) {
      sub_size___0 = victim->remaining / 2U;
      list___3 = (victim->list + victim->list_size) - sub_size___0;
      {
      while (1) {
        while_continue___6: /* CIL Label */ ;
        if (sub_size___0) {
          if ((*(list___3 + 0))->hash) {
            if (! ((*(list___3 + 0))->hash == (*(list___3 + -1))->hash)) {
              goto while_break___6;
            }
          } else {
            goto while_break___6;
          }
        } else {
          goto while_break___6;
        }
        list___3 ++;
        sub_size___0 --;
      }
      while_break___6: /* CIL Label */ ;
      }
      if (! sub_size___0) {
        sub_size___0 = victim->remaining / 2U;
        list___3 -= sub_size___0;
      }
      target->list = list___3;
      victim->list_size -= sub_size___0;
      victim->remaining -= sub_size___0;
    }
    target->list_size = sub_size___0;
    target->remaining = sub_size___0;
    target->working = 1;
    pthread_mutex_unlock(& progress_mutex);
    pthread_mutex_lock(& target->mutex);
    target->data_ready = 1;
    pthread_cond_signal(& target->cond);
    pthread_mutex_unlock(& target->mutex);
    if (! sub_size___0) {
      pthread_join(target->thread, (void **)((void *)0));
      pthread_cond_destroy(& target->cond);
      pthread_mutex_destroy(& target->mutex);
      active_threads --;
    }
  }
  while_break___2: /* CIL Label */ ;
  }
  cleanup_threaded_search();
  free((void *)p___0);
  return;
}
}
static int obj_is_packed(struct object_id  const  *oid )
{
  struct object_entry *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = packlist_find(& to_pack, oid);
  if (tmp) {
    tmp___1 = 1;
  } else
  if (reuse_packfile_bitmap) {
    tmp___0 = bitmap_walk_contains(bitmap_git, reuse_packfile_bitmap, oid);
    if (tmp___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  return (tmp___1);
}
}
static void add_tag_chain(struct object_id  const  *oid )
{
  struct tag *tag ;
  int tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  tmp = obj_is_packed(oid);
  if (tmp) {
    return;
  }
  tag = lookup_tag(the_repository, oid);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! tag) {
      tmp___0 = oid_to_hex(oid);
      tmp___1 = _((char const   *)"unable to pack objects reachable from tag %s");
      die((char const   *)tmp___1, tmp___0);
    } else {
      tmp___2 = parse_tag(tag);
      if (tmp___2) {
        tmp___0 = oid_to_hex(oid);
        tmp___1 = _((char const   *)"unable to pack objects reachable from tag %s");
        die((char const   *)tmp___1, tmp___0);
      } else
      if (! tag->tagged) {
        tmp___0 = oid_to_hex(oid);
        tmp___1 = _((char const   *)"unable to pack objects reachable from tag %s");
        die((char const   *)tmp___1, tmp___0);
      }
    }
    add_object_entry((struct object_id  const  *)(& tag->object.oid), (enum object_type )4,
                     (char const   *)((void *)0), 0);
    if ((tag->tagged)->type != 4U) {
      return;
    }
    tag = (struct tag *)tag->tagged;
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int add_ref_tag(char const   *tag , struct object_id  const  *oid , int flag ,
                       void *cb_data )
{
  struct object_id peeled ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = peel_iterated_oid(oid, & peeled);
  if (! tmp) {
    tmp___0 = obj_is_packed((struct object_id  const  *)(& peeled));
    if (tmp___0) {
      add_tag_chain(oid);
    }
  }
  return (0);
}
}
static void prepare_pack___0(int window___0 , int depth___1 )
{
  struct object_entry **delta_list___0 ;
  uint32_t i ;
  uint32_t nr_deltas ;
  unsigned int n ;
  size_t tmp ;
  void *tmp___0 ;
  struct object_entry *entry ;
  struct object_entry *tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  enum object_type tmp___5 ;
  enum object_type tmp___6 ;
  unsigned int tmp___7 ;
  unsigned int nr_done ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;

  {
  if (use_delta_islands) {
    resolve_tree_islands(the_repository, progress___3, & to_pack);
  }
  get_object_details();
  if (! pack_to_stdout) {
    do_check_packed_object_crc = 1;
  }
  if (! to_pack.nr_objects) {
    return;
  } else
  if (! window___0) {
    return;
  } else
  if (! depth___1) {
    return;
  }
  tmp = st_mult(sizeof(*delta_list___0), (size_t )to_pack.nr_objects);
  tmp___0 = xmalloc(tmp);
  delta_list___0 = (struct object_entry **)tmp___0;
  n = 0U;
  nr_deltas = n;
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < to_pack.nr_objects)) {
      goto while_break;
    }
    entry = to_pack.objects + i;
    tmp___1 = oe_delta((struct packing_data  const  *)(& to_pack), (struct object_entry  const  *)entry);
    if (tmp___1) {
      goto __Cont;
    }
    if (! entry->type_valid) {
      goto __Cont;
    } else {
      tmp___2 = oe_size_less_than(& to_pack, (struct object_entry  const  *)entry,
                                  50UL);
      if (tmp___2) {
        goto __Cont;
      }
    }
    if (entry->no_try_delta) {
      goto __Cont;
    }
    if (! entry->preferred_base) {
      nr_deltas ++;
      tmp___5 = oe_type((struct object_entry  const  *)entry);
      if ((int )tmp___5 < 0) {
        tmp___3 = oid_to_hex((struct object_id  const  *)(& entry->idx.oid));
        tmp___4 = _((char const   *)"unable to get type of object %s");
        die((char const   *)tmp___4, tmp___3);
      }
    } else {
      tmp___6 = oe_type((struct object_entry  const  *)entry);
      if ((int )tmp___6 < 0) {
        goto __Cont;
      }
    }
    tmp___7 = n;
    n ++;
    *(delta_list___0 + tmp___7) = entry;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (nr_deltas) {
    if (n > 1U) {
      nr_done = 0U;
      if (progress___3) {
        tmp___8 = _((char const   *)"Compressing objects");
        progress_state = start_progress((char const   *)tmp___8, (uint64_t )nr_deltas);
      }
      sane_qsort((void *)delta_list___0, (size_t )n, sizeof(*delta_list___0), & type_size_sort);
      ll_find_deltas(delta_list___0, n, window___0 + 1, depth___1, & nr_done);
      stop_progress(& progress_state);
      if (nr_done != nr_deltas) {
        tmp___9 = _((char const   *)"inconsistency with delta count");
        die((char const   *)tmp___9);
      }
    }
  }
  free((void *)delta_list___0);
  return;
}
}
static int git_pack_config___0(char const   *k , char const   *v , void *cb )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  struct configured_exclusion *ex ;
  void *tmp___18 ;
  char const   *oid_end ;
  char const   *pack_end ;
  struct object_id pack_hash ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  void *tmp___23 ;
  void *tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;

  {
  tmp = strcmp(k, (char const   *)"pack.window");
  if (! tmp) {
    window = git_config_int(k, v);
    return (0);
  }
  tmp___0 = strcmp(k, (char const   *)"pack.windowmemory");
  if (! tmp___0) {
    window_memory_limit = git_config_ulong(k, v);
    return (0);
  }
  tmp___1 = strcmp(k, (char const   *)"pack.depth");
  if (! tmp___1) {
    depth___0 = git_config_int(k, v);
    return (0);
  }
  tmp___3 = strcmp(k, (char const   *)"pack.deltacachesize");
  if (! tmp___3) {
    tmp___2 = git_config_int(k, v);
    max_delta_cache_size___0 = (unsigned long )tmp___2;
    return (0);
  }
  tmp___5 = strcmp(k, (char const   *)"pack.deltacachelimit");
  if (! tmp___5) {
    tmp___4 = git_config_int(k, v);
    cache_max_small_delta_size = (unsigned long )tmp___4;
    return (0);
  }
  tmp___7 = strcmp(k, (char const   *)"pack.writebitmaphashcache");
  if (! tmp___7) {
    tmp___6 = git_config_bool(k, v);
    if (tmp___6) {
      write_bitmap_options = (uint16_t )((int )write_bitmap_options | 4);
    } else {
      write_bitmap_options = (uint16_t )((int )write_bitmap_options & -5);
    }
  }
  tmp___8 = strcmp(k, (char const   *)"pack.usebitmaps");
  if (! tmp___8) {
    use_bitmap_index_default = git_config_bool(k, v);
    return (0);
  }
  tmp___9 = strcmp(k, (char const   *)"pack.allowpackreuse");
  if (! tmp___9) {
    allow_pack_reuse = git_config_bool(k, v);
    return (0);
  }
  tmp___12 = strcmp(k, (char const   *)"pack.threads");
  if (! tmp___12) {
    delta_search_threads = git_config_int(k, v);
    if (delta_search_threads < 0) {
      tmp___10 = _((char const   *)"invalid number of threads specified (%d)");
      die((char const   *)tmp___10, delta_search_threads);
    }
    return (0);
  }
  tmp___15 = strcmp(k, (char const   *)"pack.indexversion");
  if (! tmp___15) {
    tmp___13 = git_config_int(k, v);
    pack_idx_opts___0.version = (uint32_t )tmp___13;
    if (pack_idx_opts___0.version > 2U) {
      tmp___14 = _((char const   *)"bad pack.indexversion=%u");
      die((char const   *)tmp___14, pack_idx_opts___0.version);
    }
    return (0);
  }
  tmp___17 = strcmp(k, (char const   *)"pack.writereverseindex");
  if (! tmp___17) {
    tmp___16 = git_config_bool(k, v);
    if (tmp___16) {
      pack_idx_opts___0.flags |= 4U;
    } else {
      pack_idx_opts___0.flags &= 4294967291U;
    }
    return (0);
  }
  tmp___25 = strcmp(k, (char const   *)"uploadpack.blobpackfileuri");
  if (! tmp___25) {
    tmp___18 = xmalloc(sizeof(*ex));
    ex = (struct configured_exclusion *)tmp___18;
    tmp___20 = parse_oid_hex(v, & ex->e.oid, & oid_end);
    if (tmp___20) {
      tmp___19 = _((char const   *)"value of uploadpack.blobpackfileuri must be of the form \'<object-hash> <pack-hash> <uri>\' (got \'%s\')");
      die((char const   *)tmp___19, v);
    } else
    if ((int const   )*oid_end != 32) {
      tmp___19 = _((char const   *)"value of uploadpack.blobpackfileuri must be of the form \'<object-hash> <pack-hash> <uri>\' (got \'%s\')");
      die((char const   *)tmp___19, v);
    } else {
      tmp___21 = parse_oid_hex(oid_end + 1, & pack_hash, & pack_end);
      if (tmp___21) {
        tmp___19 = _((char const   *)"value of uploadpack.blobpackfileuri must be of the form \'<object-hash> <pack-hash> <uri>\' (got \'%s\')");
        die((char const   *)tmp___19, v);
      } else
      if ((int const   )*pack_end != 32) {
        tmp___19 = _((char const   *)"value of uploadpack.blobpackfileuri must be of the form \'<object-hash> <pack-hash> <uri>\' (got \'%s\')");
        die((char const   *)tmp___19, v);
      }
    }
    tmp___23 = oidmap_get((struct oidmap  const  *)(& configured_exclusions), (struct object_id  const  *)(& ex->e.oid));
    if (tmp___23) {
      tmp___22 = _((char const   *)"object already configured in another uploadpack.blobpackfileuri (got \'%s\')");
      die((char const   *)tmp___22, v);
    }
    tmp___24 = xcalloc((size_t )1, (size_t )(pack_end - oid_end));
    ex->pack_hash_hex = (char *)tmp___24;
    memcpy((void *)ex->pack_hash_hex, (void const   *)(oid_end + 1), (size_t )((pack_end - oid_end) - 1L));
    ex->uri = xstrdup(pack_end + 1);
    oidmap_put(& configured_exclusions, (void *)ex);
  }
  tmp___26 = git_default_config(k, v, cb);
  return (tmp___26);
}
}
static int stdin_packs_found_nr  ;
static int stdin_packs_hints_nr  ;
static int add_object_entry_from_pack(struct object_id  const  *oid , struct packed_git *p___0 ,
                                      uint32_t pos , void *_data )
{
  struct rev_info *revs ;
  struct object_info oi___0 ;
  off_t ofs ;
  enum object_type type___0 ;
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  revs = (struct rev_info *)_data;
  oi___0.typep = (enum object_type *)0;
  oi___0.sizep = (unsigned long *)0;
  oi___0.disk_sizep = (off_t *)0;
  oi___0.delta_base_oid = (struct object_id *)0;
  oi___0.type_name = (struct strbuf *)0;
  oi___0.contentp = (void **)0;
  oi___0.whence = 0U;
  oi___0.u.packed.pack = (struct packed_git *)0;
  oi___0.u.packed.offset = 0L;
  oi___0.u.packed.is_delta = 0U;
  nr_seen ++;
  display_progress(progress_state, (uint64_t )nr_seen);
  tmp = have_duplicate_entry(oid, 0);
  if (tmp) {
    return (0);
  }
  ofs = nth_packed_object_offset((struct packed_git  const  *)p___0, pos);
  tmp___0 = want_object_in_pack(oid, 0, & p___0, & ofs);
  if (! tmp___0) {
    return (0);
  }
  oi___0.typep = & type___0;
  tmp___3 = packed_object_info(the_repository, p___0, ofs, & oi___0);
  if (tmp___3 < 0) {
    tmp___1 = oid_to_hex(oid);
    tmp___2 = _((char const   *)"could not get type of object %s in pack %s");
    die((char const   *)tmp___2, tmp___1, p___0->pack_name);
  } else
  if ((int )type___0 == 1) {
    add_pending_oid(revs, (char const   *)((void *)0), oid, 0U);
  }
  stdin_packs_found_nr ++;
  create_object_entry(oid, type___0, (uint32_t )0, 0, 0, p___0, ofs);
  return (0);
}
}
static void show_commit_pack_hint(struct commit *commit , void *_data )
{


  {
  return;
}
}
static void show_object_pack_hint(struct object *object , char const   *name___0 ,
                                  void *_data )
{
  struct object_entry *oe ;
  struct object_entry *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = packlist_find(& to_pack, (struct object_id  const  *)(& object->oid));
  oe = tmp;
  if (! oe) {
    return;
  }
  oe->hash = pack_name_hash(name___0);
  if (name___0) {
    tmp___0 = no_try_delta(name___0);
    if (tmp___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
  } else {
    tmp___1 = 0;
  }
  oe->no_try_delta = (unsigned int )tmp___1;
  stdin_packs_hints_nr ++;
  return;
}
}
static int pack_mtime_cmp(void const   *_a , void const   *_b )
{
  struct packed_git *a ;
  struct packed_git *b___0 ;

  {
  a = (struct packed_git *)((struct string_list_item  const  *)_a)->util;
  b___0 = (struct packed_git *)((struct string_list_item  const  *)_b)->util;
  if (a->mtime < b___0->mtime) {
    return (1);
  } else
  if (b___0->mtime < a->mtime) {
    return (-1);
  } else {
    return (0);
  }
}
}
static void read_packs_list_from_stdin(void)
{
  struct strbuf buf___19 ;
  struct string_list include_packs ;
  struct string_list exclude_packs ;
  struct string_list_item *item___0 ;
  struct packed_git *p___0 ;
  struct rev_info revs ;
  int tmp ;
  char const   *pack_name ;
  char const   *tmp___0 ;
  struct packed_git *p___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  struct packed_git *p___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  struct packed_git *p___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  include_packs.items = (struct string_list_item *)0;
  include_packs.nr = 0U;
  include_packs.alloc = 0U;
  include_packs.strdup_strings = 1U;
  include_packs.cmp = (int (*)(char const   * , char const   * ))0;
  exclude_packs.items = (struct string_list_item *)0;
  exclude_packs.nr = 0U;
  exclude_packs.alloc = 0U;
  exclude_packs.strdup_strings = 1U;
  exclude_packs.cmp = (int (*)(char const   * , char const   * ))0;
  item___0 = (struct string_list_item *)((void *)0);
  repo_init_revisions(the_repository, & revs, (char const   *)((void *)0));
  revs.no_kept_objects = 1U;
  revs.keep_pack_cache_flags |= 2U;
  revs.blob_objects = 1U;
  revs.tree_objects = 1U;
  revs.tag_objects = 1U;
  revs.ignore_missing_links = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = strbuf_getline(& buf___19, stdin);
    if (! (tmp != -1)) {
      goto while_break;
    }
    if (! buf___19.len) {
      goto while_continue;
    }
    if ((int )*(buf___19.buf) == 94) {
      string_list_append(& exclude_packs, (char const   *)(buf___19.buf + 1));
    } else {
      string_list_append(& include_packs, (char const   *)buf___19.buf);
    }
    strbuf_setlen___33(& buf___19, (size_t )0);
  }
  while_break: /* CIL Label */ ;
  }
  string_list_sort(& include_packs);
  string_list_sort(& exclude_packs);
  p___0 = get_all_packs(the_repository);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! p___0) {
      goto while_break___0;
    }
    tmp___0 = pack_basename(p___0);
    pack_name = tmp___0;
    item___0 = string_list_lookup(& include_packs, pack_name);
    if (! item___0) {
      item___0 = string_list_lookup(& exclude_packs, pack_name);
    }
    if (item___0) {
      item___0->util = (void *)p___0;
    }
    p___0 = p___0->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  item___0 = include_packs.items;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(include_packs.items + include_packs.nr))) {
        goto while_break___1;
      }
    } else {
      goto while_break___1;
    }
    p___1 = (struct packed_git *)item___0->util;
    if (! p___1) {
      tmp___1 = _((char const   *)"could not find pack \'%s\'");
      die((char const   *)tmp___1, item___0->string);
    }
    item___0 ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  item___0 = exclude_packs.items;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(exclude_packs.items + exclude_packs.nr))) {
        goto while_break___2;
      }
    } else {
      goto while_break___2;
    }
    p___2 = (struct packed_git *)item___0->util;
    if (! p___2) {
      tmp___2 = _((char const   *)"could not find pack \'%s\'");
      die((char const   *)tmp___2, item___0->string);
    }
    p___2->pack_keep_in_core = 1U;
    item___0 ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  sane_qsort((void *)include_packs.items, (size_t )include_packs.nr, sizeof(*(include_packs.items)),
             & pack_mtime_cmp);
  item___0 = include_packs.items;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(include_packs.items + include_packs.nr))) {
        goto while_break___3;
      }
    } else {
      goto while_break___3;
    }
    p___3 = (struct packed_git *)item___0->util;
    if (! p___3) {
      tmp___3 = _((char const   *)"could not find pack \'%s\'");
      die((char const   *)tmp___3, item___0->string);
    }
    for_each_object_in_pack(p___3, & add_object_entry_from_pack, (void *)(& revs),
                            (enum for_each_object_flags )4);
    item___0 ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  tmp___5 = prepare_revision_walk(& revs);
  if (tmp___5) {
    tmp___4 = _((char const   *)"revision walk setup failed");
    die((char const   *)tmp___4);
  }
  traverse_commit_list(& revs, & show_commit_pack_hint, & show_object_pack_hint, (void *)0);
  trace2_data_intmax_fl((char const   *)"builtin/pack-objects.c", 3380, (char const   *)"pack-objects",
                        (struct repository  const  *)the_repository, (char const   *)"stdin_packs_found",
                        (intmax_t )stdin_packs_found_nr);
  trace2_data_intmax_fl((char const   *)"builtin/pack-objects.c", 3382, (char const   *)"pack-objects",
                        (struct repository  const  *)the_repository, (char const   *)"stdin_packs_hints",
                        (intmax_t )stdin_packs_hints_nr);
  strbuf_release(& buf___19);
  string_list_clear(& include_packs, 0);
  string_list_clear(& exclude_packs, 0);
  return;
}
}
static void read_object_list_from_stdin(void)
{
  char line___0[4163] ;
  struct object_id oid ;
  char const   *p___0 ;
  int tmp ;
  int tmp___0 ;
  int *tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = fgets(line___0, (int )sizeof(line___0), stdin);
    if (! tmp___2) {
      tmp = feof(stdin);
      if (tmp) {
        goto while_break;
      }
      tmp___0 = ferror(stdin);
      if (! tmp___0) {
        BUG_fl((char const   *)"builtin/pack-objects.c", 3400, (char const   *)"fgets returned NULL, not EOF, not error!");
      }
      tmp___1 = __errno_location();
      if (*tmp___1 != 4) {
        die_errno((char const   *)"fgets");
      }
      clearerr(stdin);
      goto __Cont;
    }
    if ((int )line___0[0] == 45) {
      tmp___4 = get_oid_hex((char const   *)(line___0 + 1), & oid);
      if (tmp___4) {
        tmp___3 = _((char const   *)"expected edge object ID, got garbage:\n %s");
        die((char const   *)tmp___3, line___0);
      }
      add_preferred_base(& oid);
      goto __Cont;
    }
    tmp___6 = parse_oid_hex((char const   *)(line___0), & oid, & p___0);
    if (tmp___6) {
      tmp___5 = _((char const   *)"expected object ID, got garbage:\n %s");
      die((char const   *)tmp___5, line___0);
    }
    add_preferred_base_object(p___0 + 1);
    add_object_entry((struct object_id  const  *)(& oid), (enum object_type )0, p___0 + 1,
                     0);
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void show_commit___1(struct commit *commit , void *data )
{


  {
  add_object_entry((struct object_id  const  *)(& commit->object.oid), (enum object_type )1,
                   (char const   *)((void *)0), 0);
  if (write_bitmap_index) {
    index_commit_for_bitmap(commit);
  }
  if (use_delta_islands) {
    propagate_island_marks(commit);
  }
  return;
}
}
static void show_object___0(struct object *obj , char const   *name___0 , void *data )
{
  char const   *p___0 ;
  unsigned int depth___1 ;
  struct object_entry *ent ;
  char *tmp ;
  char *tmp___0 ;
  unsigned int tmp___1 ;

  {
  add_preferred_base_object(name___0);
  add_object_entry((struct object_id  const  *)(& obj->oid), (enum object_type )obj->type,
                   name___0, 0);
  if (use_delta_islands) {
    if (*name___0) {
      depth___1 = 1U;
    } else {
      depth___1 = 0U;
    }
    tmp = strchr(name___0, '/');
    p___0 = (char const   *)tmp;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! p___0) {
        goto while_break;
      }
      depth___1 ++;
      tmp___0 = strchr(p___0 + 1, '/');
      p___0 = (char const   *)tmp___0;
    }
    while_break: /* CIL Label */ ;
    }
    ent = packlist_find(& to_pack, (struct object_id  const  *)(& obj->oid));
    if (ent) {
      tmp___1 = oe_tree_depth(& to_pack, ent);
      if (depth___1 > tmp___1) {
        oe_set_tree_depth(& to_pack, ent, depth___1);
      }
    }
  }
  return;
}
}
static void show_object__ma_allow_any(struct object *obj , char const   *name___0 ,
                                      void *data )
{
  int tmp ;

  {
  assert((unsigned int )arg_missing_action == 1U);
  tmp = has_object(the_repository, (struct object_id  const  *)(& obj->oid), 0U);
  if (! tmp) {
    return;
  }
  show_object___0(obj, name___0, data);
  return;
}
}
static void show_object__ma_allow_promisor(struct object *obj , char const   *name___0 ,
                                           void *data )
{
  int tmp ;
  int tmp___0 ;

  {
  assert((unsigned int )arg_missing_action == 2U);
  tmp = has_object(the_repository, (struct object_id  const  *)(& obj->oid), 0U);
  if (! tmp) {
    tmp___0 = is_promisor_object((struct object_id  const  *)(& obj->oid));
    if (tmp___0) {
      return;
    }
  }
  show_object___0(obj, name___0, data);
  return;
}
}
static int option_parse_missing_action(struct option  const  *opt___0 , char const   *arg ,
                                       int unset )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  assert((int )arg);
  assert(! unset);
  tmp = strcmp(arg, (char const   *)"error");
  if (! tmp) {
    arg_missing_action = (int )0;
    fn_show_object = & show_object___0;
    return (0);
  }
  tmp___0 = strcmp(arg, (char const   *)"allow-any");
  if (! tmp___0) {
    arg_missing_action = (int )1;
    fetch_if_missing = 0;
    fn_show_object = & show_object__ma_allow_any;
    return (0);
  }
  tmp___1 = strcmp(arg, (char const   *)"allow-promisor");
  if (! tmp___1) {
    arg_missing_action = (int )2;
    fetch_if_missing = 0;
    fn_show_object = & show_object__ma_allow_promisor;
    return (0);
  }
  tmp___2 = _((char const   *)"invalid value for --missing");
  die((char const   *)tmp___2);
  return (0);
}
}
static void show_edge(struct commit *commit )
{


  {
  add_preferred_base(& commit->object.oid);
  return;
}
}
static int add_object_in_unpacked_pack(struct object_id  const  *oid , struct packed_git *pack___0 ,
                                       uint32_t pos , void *_data )
{


  {
  add_object_entry(oid, (enum object_type )0, (char const   *)"", 0);
  return (0);
}
}
static void add_objects_in_unpacked_packs(void)
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  tmp___0 = for_each_packed_object(& add_object_in_unpacked_pack, (void *)0, (enum for_each_object_flags )29);
  if (tmp___0) {
    tmp = _((char const   *)"cannot open pack index");
    die((char const   *)tmp);
  }
  return;
}
}
static int add_loose_object(struct object_id  const  *oid , char const   *path___6 ,
                            void *data )
{
  enum object_type type___0 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  tmp = oid_object_info(the_repository, oid, (unsigned long *)((void *)0));
  type___0 = (enum object_type )tmp;
  if ((int )type___0 < 0) {
    tmp___0 = _((char const   *)"loose object at %s could not be examined");
    warning((char const   *)tmp___0, path___6);
    return (0);
  }
  add_object_entry(oid, type___0, (char const   *)"", 0);
  return (0);
}
}
static void add_unreachable_loose_objects(void)
{
  char *tmp ;

  {
  tmp = get_object_directory();
  for_each_loose_file_in_objdir((char const   *)tmp, & add_loose_object, (each_loose_cruft_fn *)((void *)0),
                                (each_loose_subdir_fn *)((void *)0), (void *)0);
  return;
}
}
static int has_sha1_pack_kept_or_nonlocal(struct object_id  const  *oid ) ;
static struct packed_git *last_found  =    (struct packed_git *)((void *)1);
static int has_sha1_pack_kept_or_nonlocal(struct object_id  const  *oid )
{
  struct packed_git *p___0 ;
  struct packed_git *tmp ;
  off_t tmp___0 ;

  {
  if ((unsigned long )last_found != (unsigned long )((void *)1)) {
    p___0 = last_found;
  } else {
    tmp = get_all_packs(the_repository);
    p___0 = tmp;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if (! p___0->pack_local) {
      goto _L;
    } else
    if (p___0->pack_keep) {
      goto _L;
    } else
    if (p___0->pack_keep_in_core) {
      _L: /* CIL Label */
      tmp___0 = find_pack_entry_one((unsigned char const   *)(oid->hash), p___0);
      if (tmp___0) {
        last_found = p___0;
        return (1);
      }
    }
    if ((unsigned long )p___0 == (unsigned long )last_found) {
      p___0 = get_all_packs(the_repository);
    } else {
      p___0 = p___0->next;
    }
    if ((unsigned long )p___0 == (unsigned long )last_found) {
      p___0 = p___0->next;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static struct oid_array recent_objects  ;
static int loosened_object_can_be_discarded(struct object_id  const  *oid , timestamp_t mtime )
{
  int tmp ;

  {
  if (! unpack_unreachable_expiration) {
    return (0);
  }
  if (mtime > unpack_unreachable_expiration) {
    return (0);
  }
  tmp = oid_array_lookup(& recent_objects, oid);
  if (tmp >= 0) {
    return (0);
  }
  return (1);
}
}
static void loosen_unused_packed_objects(void)
{
  struct packed_git *p___0 ;
  uint32_t i ;
  uint32_t loosened_objects_nr ;
  struct object_id oid ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  struct object_entry *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  loosened_objects_nr = (uint32_t )0;
  p___0 = get_all_packs(the_repository);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if (! p___0->pack_local) {
      goto __Cont;
    } else
    if (p___0->pack_keep) {
      goto __Cont;
    } else
    if (p___0->pack_keep_in_core) {
      goto __Cont;
    }
    tmp___0 = open_pack_index(p___0);
    if (tmp___0) {
      tmp = _((char const   *)"cannot open pack index");
      die((char const   *)tmp);
    }
    i = (uint32_t )0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < p___0->num_objects)) {
        goto while_break___0;
      }
      nth_packed_object_id(& oid, p___0, i);
      tmp___3 = packlist_find(& to_pack, (struct object_id  const  *)(& oid));
      if (! tmp___3) {
        tmp___4 = has_sha1_pack_kept_or_nonlocal((struct object_id  const  *)(& oid));
        if (! tmp___4) {
          tmp___5 = loosened_object_can_be_discarded((struct object_id  const  *)(& oid),
                                                     (timestamp_t )p___0->mtime);
          if (! tmp___5) {
            tmp___2 = force_object_loose((struct object_id  const  *)(& oid), p___0->mtime);
            if (tmp___2) {
              tmp___1 = _((char const   *)"unable to force loose object");
              die((char const   *)tmp___1);
            }
            loosened_objects_nr ++;
          }
        }
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  trace2_data_intmax_fl((char const   *)"builtin/pack-objects.c", 3634, (char const   *)"pack-objects",
                        (struct repository  const  *)the_repository, (char const   *)"loosen_unused_packed_objects/loosened",
                        (intmax_t )loosened_objects_nr);
  return;
}
}
static int pack_options_allow_reuse(void)
{
  int tmp ;

  {
  if (allow_pack_reuse) {
    if (pack_to_stdout) {
      if (! ignore_packed_keep_on_disk) {
        if (! ignore_packed_keep_in_core) {
          if (! local) {
            goto _L;
          } else
          if (! have_non_local_packs) {
            _L: /* CIL Label */
            if (! incremental___0) {
              tmp = 1;
            } else {
              tmp = 0;
            }
          } else {
            tmp = 0;
          }
        } else {
          tmp = 0;
        }
      } else {
        tmp = 0;
      }
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static int get_object_list_from_bitmap(struct rev_info *revs )
{
  int tmp ;
  int tmp___0 ;

  {
  bitmap_git = prepare_bitmap_walk(revs, & filter_options___1, 0);
  if (! bitmap_git) {
    return (-1);
  }
  tmp = pack_options_allow_reuse();
  if (tmp) {
    tmp___0 = reuse_partial_packfile_from_bitmap(bitmap_git, & reuse_packfile, & reuse_packfile_objects,
                                                 & reuse_packfile_bitmap);
    if (! tmp___0) {
      assert((int )reuse_packfile_objects);
      nr_result += reuse_packfile_objects;
      nr_seen += reuse_packfile_objects;
      display_progress(progress_state, (uint64_t )nr_seen);
    }
  }
  traverse_bitmap_commit_list(bitmap_git, revs, & add_object_entry_from_bitmap);
  return (0);
}
}
static void record_recent_object(struct object *obj , char const   *name___0 , void *data )
{


  {
  oid_array_append(& recent_objects, (struct object_id  const  *)(& obj->oid));
  return;
}
}
static void record_recent_commit(struct commit *commit , void *data )
{


  {
  oid_array_append(& recent_objects, (struct object_id  const  *)(& commit->object.oid));
  return;
}
}
static int mark_bitmap_preferred_tip(char const   *refname , struct object_id  const  *oid ,
                                     int flags___0 , void *_data )
{
  struct object_id peeled ;
  struct object *object ;
  int tmp ;

  {
  tmp = peel_iterated_oid(oid, & peeled);
  if (! tmp) {
    oid = (struct object_id  const  *)(& peeled);
  }
  object = parse_object_or_die(oid, refname);
  if (object->type == 1U) {
    object->flags |= 1u << 22;
  }
  return (0);
}
}
static void mark_bitmap_preferred_tips(void)
{
  struct string_list_item *item___0 ;
  struct string_list  const  *preferred_tips ;

  {
  preferred_tips = bitmap_preferred_tips(the_repository);
  if (! preferred_tips) {
    return;
  }
  item___0 = (struct string_list_item *)preferred_tips->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(preferred_tips->items + preferred_tips->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    for_each_ref_in((char const   *)item___0->string, & mark_bitmap_preferred_tip,
                    (void *)0);
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void get_object_list(int ac , char const   **av )
{
  struct rev_info revs ;
  struct setup_revision_opt s_r_opt ;
  char line___0[1000] ;
  int flags___0 ;
  int save_warning ;
  int len___0 ;
  size_t tmp ;
  int tmp___0 ;
  struct object_id oid ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;

  {
  s_r_opt.def = (char const   *)0;
  s_r_opt.tweak = (void (*)(struct rev_info * , struct setup_revision_opt * ))0;
  s_r_opt.assume_dashdash = 0U;
  s_r_opt.allow_exclude_promisor_objects = 1U;
  s_r_opt.revarg_opt = 0U;
  flags___0 = 0;
  repo_init_revisions(the_repository, & revs, (char const   *)((void *)0));
  save_commit_buffer = 0;
  setup_revisions(ac, av, & revs, & s_r_opt);
  is_repository_shallow(the_repository);
  save_warning = warn_on_object_refname_ambiguity;
  warn_on_object_refname_ambiguity = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___6 = fgets(line___0, (int )sizeof(line___0), stdin);
    if (! ((unsigned long )tmp___6 != (unsigned long )((void *)0))) {
      goto while_break;
    }
    tmp = strlen((char const   *)(line___0));
    len___0 = (int )tmp;
    if (len___0) {
      if ((int )line___0[len___0 - 1] == 10) {
        len___0 --;
        line___0[len___0] = (char)0;
      }
    }
    if (! len___0) {
      goto while_break;
    }
    if ((int )line___0[0] == 45) {
      tmp___0 = strcmp((char const   *)(line___0), (char const   *)"--not");
      if (! tmp___0) {
        flags___0 = (int )((unsigned int )flags___0 ^ (1u << 1));
        write_bitmap_index = (enum __anonenum_write_bitmap_index_529642322 )0;
        goto while_continue;
      }
      tmp___2 = starts_with((char const   *)(line___0), (char const   *)"--shallow ");
      if (tmp___2) {
        tmp___1 = get_oid_hex((char const   *)(line___0 + 10), & oid);
        if (tmp___1) {
          die((char const   *)"not an object name \'%s\'", line___0 + 10);
        }
        register_shallow(the_repository, (struct object_id  const  *)(& oid));
        use_bitmap_index = 0;
        goto while_continue;
      }
      tmp___3 = _((char const   *)"not a rev \'%s\'");
      die((char const   *)tmp___3, line___0);
    }
    tmp___5 = handle_revision_arg((char const   *)(line___0), & revs, flags___0, 1U);
    if (tmp___5) {
      tmp___4 = _((char const   *)"bad revision \'%s\'");
      die((char const   *)tmp___4, line___0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  warn_on_object_refname_ambiguity = save_warning;
  if (use_bitmap_index) {
    tmp___7 = get_object_list_from_bitmap(& revs);
    if (! tmp___7) {
      return;
    }
  }
  if (use_delta_islands) {
    load_delta_islands(the_repository, progress___3);
  }
  if (write_bitmap_index) {
    mark_bitmap_preferred_tips();
  }
  tmp___9 = prepare_revision_walk(& revs);
  if (tmp___9) {
    tmp___8 = _((char const   *)"revision walk setup failed");
    die((char const   *)tmp___8);
  }
  mark_edges_uninteresting(& revs, & show_edge, sparse);
  if (! fn_show_object) {
    fn_show_object = & show_object___0;
  }
  traverse_commit_list_filtered(& filter_options___1, & revs, & show_commit___1, fn_show_object,
                                (void *)0, (struct oidset *)((void *)0));
  if (unpack_unreachable_expiration) {
    revs.ignore_missing_links = 1U;
    tmp___11 = add_unseen_recent_objects_to_traversal(& revs, unpack_unreachable_expiration);
    if (tmp___11) {
      tmp___10 = _((char const   *)"unable to add recent objects");
      die((char const   *)tmp___10);
    }
    tmp___13 = prepare_revision_walk(& revs);
    if (tmp___13) {
      tmp___12 = _((char const   *)"revision walk setup failed");
      die((char const   *)tmp___12);
    }
    traverse_commit_list(& revs, & record_recent_commit, & record_recent_object, (void *)0);
  }
  if (keep_unreachable) {
    add_objects_in_unpacked_packs();
  }
  if (pack_loose_unreachable) {
    add_unreachable_loose_objects();
  }
  if (unpack_unreachable) {
    loosen_unused_packed_objects();
  }
  oid_array_clear(& recent_objects);
  return;
}
}
static void add_extra_kept_packs(struct string_list  const  *names___0 )
{
  struct packed_git *p___0 ;
  char const   *name___0 ;
  char *tmp ;
  int i ;
  int tmp___0 ;

  {
  if (! names___0->nr) {
    return;
  }
  p___0 = get_all_packs(the_repository);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    tmp = __xpg_basename(p___0->pack_name);
    name___0 = (char const   *)tmp;
    if (! p___0->pack_local) {
      goto __Cont;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned int )i < names___0->nr)) {
        goto while_break___0;
      }
      tmp___0 = fspathcmp(name___0, (char const   *)(names___0->items + i)->string);
      if (! tmp___0) {
        goto while_break___0;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if ((unsigned int )i < names___0->nr) {
      p___0->pack_keep_in_core = 1U;
      ignore_packed_keep_in_core = 1;
      goto __Cont;
    }
    __Cont: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int option_parse_index_version(struct option  const  *opt___0 , char const   *arg ,
                                      int unset )
{
  char *c___0 ;
  char const   *val ;
  unsigned long tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  unsigned long tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  val = arg;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/pack-objects.c", 3837, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = strtoul((char const   * __restrict  )val, (char ** __restrict  )(& c___0),
                10);
  pack_idx_opts___0.version = (uint32_t )tmp;
  if (pack_idx_opts___0.version > 2U) {
    tmp___0 = _((char const   *)"unsupported index version %s");
    die((char const   *)tmp___0, val);
  }
  if ((int )*c___0 == 44) {
    if (*(c___0 + 1)) {
      tmp___1 = strtoul((char const   * __restrict  )(c___0 + 1), (char ** __restrict  )(& c___0),
                        0);
      pack_idx_opts___0.off32_limit = (uint32_t )tmp___1;
    }
  }
  if (*c___0) {
    tmp___2 = _((char const   *)"bad index version \'%s\'");
    die((char const   *)tmp___2, val);
  } else
  if (pack_idx_opts___0.off32_limit & 0x80000000) {
    tmp___2 = _((char const   *)"bad index version \'%s\'");
    die((char const   *)tmp___2, val);
  }
  return (0);
}
}
static int option_parse_unpack_unreachable(struct option  const  *opt___0 , char const   *arg ,
                                           int unset )
{


  {
  if (unset) {
    unpack_unreachable = 0;
    unpack_unreachable_expiration = (timestamp_t )0;
  } else {
    unpack_unreachable = 1;
    if (arg) {
      unpack_unreachable_expiration = approxidate_careful(arg, (int *)((void *)0));
    }
  }
  return (0);
}
}
int cmd_pack_objects(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int use_internal_rev_list ;
  int shallow ;
  int all_progress_implied ;
  struct strvec rp ;
  int rev_list_unpacked ;
  int rev_list_all ;
  int rev_list_reflog ;
  int rev_list_index ;
  int stdin_packs ;
  struct string_list keep_pack_list ;
  struct option pack_objects_options[43] ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  struct packed_git *p___0 ;
  struct packed_git *p___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;

  {
  use_internal_rev_list = 0;
  shallow = 0;
  all_progress_implied = 0;
  rp.v = empty_strvec;
  rp.nr = 0UL;
  rp.alloc = 0UL;
  rev_list_unpacked = 0;
  rev_list_all = 0;
  rev_list_reflog = 0;
  rev_list_index = 0;
  stdin_packs = 0;
  keep_pack_list.items = (struct string_list_item *)0;
  keep_pack_list.nr = 0U;
  keep_pack_list.alloc = 0U;
  keep_pack_list.strdup_strings = 0U;
  keep_pack_list.cmp = (int (*)(char const   * , char const   * ))0;
  pack_objects_options[0].type = (enum parse_opt_type )8;
  pack_objects_options[0].short_name = 'q';
  pack_objects_options[0].long_name = (char const   *)"quiet";
  pack_objects_options[0].value = (void *)(& progress___3);
  pack_objects_options[0].argh = (char const   *)((void *)0);
  pack_objects_options[0].help = (char const   *)"do not show progress meter";
  pack_objects_options[0].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[0].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[0].defval = (intptr_t )0;
  pack_objects_options[0].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[0].extra = 0L;
  pack_objects_options[1].type = (enum parse_opt_type )8;
  pack_objects_options[1].short_name = 0;
  pack_objects_options[1].long_name = (char const   *)"progress";
  pack_objects_options[1].value = (void *)(& progress___3);
  pack_objects_options[1].argh = (char const   *)((void *)0);
  pack_objects_options[1].help = (char const   *)"show progress meter";
  pack_objects_options[1].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[1].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[1].defval = (intptr_t )1;
  pack_objects_options[1].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[1].extra = 0L;
  pack_objects_options[2].type = (enum parse_opt_type )8;
  pack_objects_options[2].short_name = 0;
  pack_objects_options[2].long_name = (char const   *)"all-progress";
  pack_objects_options[2].value = (void *)(& progress___3);
  pack_objects_options[2].argh = (char const   *)((void *)0);
  pack_objects_options[2].help = (char const   *)"show progress meter during object writing phase";
  pack_objects_options[2].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[2].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[2].defval = (intptr_t )2;
  pack_objects_options[2].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[2].extra = 0L;
  pack_objects_options[3].type = (enum parse_opt_type )8;
  pack_objects_options[3].short_name = 0;
  pack_objects_options[3].long_name = (char const   *)"all-progress-implied";
  pack_objects_options[3].value = (void *)(& all_progress_implied);
  pack_objects_options[3].argh = (char const   *)((void *)0);
  pack_objects_options[3].help = (char const   *)"similar to --all-progress when progress meter is shown";
  pack_objects_options[3].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[3].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[3].defval = (intptr_t )1;
  pack_objects_options[3].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[3].extra = 0L;
  pack_objects_options[4].type = (enum parse_opt_type )12;
  pack_objects_options[4].short_name = 0;
  pack_objects_options[4].long_name = (char const   *)"index-version";
  pack_objects_options[4].value = (void *)0;
  pack_objects_options[4].argh = (char const   *)"<version>[,<offset>]";
  pack_objects_options[4].help = (char const   *)"write the pack index file in the specified idx format version";
  pack_objects_options[4].flags = (enum parse_opt_option_flags )4;
  pack_objects_options[4].callback = & option_parse_index_version;
  pack_objects_options[4].defval = 0L;
  pack_objects_options[4].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[4].extra = 0L;
  pack_objects_options[5].type = (enum parse_opt_type )11;
  pack_objects_options[5].short_name = 0;
  pack_objects_options[5].long_name = (char const   *)"max-pack-size";
  pack_objects_options[5].value = (void *)(& pack_size_limit);
  pack_objects_options[5].argh = (char const   *)"n";
  pack_objects_options[5].help = (char const   *)"maximum size of each output pack file";
  pack_objects_options[5].flags = (enum parse_opt_option_flags )4;
  pack_objects_options[5].callback = (parse_opt_cb *)0;
  pack_objects_options[5].defval = 0L;
  pack_objects_options[5].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[5].extra = 0L;
  pack_objects_options[6].type = (enum parse_opt_type )8;
  pack_objects_options[6].short_name = 0;
  pack_objects_options[6].long_name = (char const   *)"local";
  pack_objects_options[6].value = (void *)(& local);
  pack_objects_options[6].argh = (char const   *)((void *)0);
  pack_objects_options[6].help = (char const   *)"ignore borrowed objects from alternate object store";
  pack_objects_options[6].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[6].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[6].defval = (intptr_t )1;
  pack_objects_options[6].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[6].extra = 0L;
  pack_objects_options[7].type = (enum parse_opt_type )8;
  pack_objects_options[7].short_name = 0;
  pack_objects_options[7].long_name = (char const   *)"incremental";
  pack_objects_options[7].value = (void *)(& incremental___0);
  pack_objects_options[7].argh = (char const   *)((void *)0);
  pack_objects_options[7].help = (char const   *)"ignore packed objects";
  pack_objects_options[7].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[7].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[7].defval = (intptr_t )1;
  pack_objects_options[7].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[7].extra = 0L;
  pack_objects_options[8].type = (enum parse_opt_type )10;
  pack_objects_options[8].short_name = 0;
  pack_objects_options[8].long_name = (char const   *)"window";
  pack_objects_options[8].value = (void *)(& window);
  pack_objects_options[8].argh = (char const   *)"n";
  pack_objects_options[8].help = (char const   *)"limit pack window by objects";
  pack_objects_options[8].flags = (enum parse_opt_option_flags )0;
  pack_objects_options[8].callback = (parse_opt_cb *)0;
  pack_objects_options[8].defval = 0L;
  pack_objects_options[8].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[8].extra = 0L;
  pack_objects_options[9].type = (enum parse_opt_type )11;
  pack_objects_options[9].short_name = 0;
  pack_objects_options[9].long_name = (char const   *)"window-memory";
  pack_objects_options[9].value = (void *)(& window_memory_limit);
  pack_objects_options[9].argh = (char const   *)"n";
  pack_objects_options[9].help = (char const   *)"limit pack window by memory in addition to object limit";
  pack_objects_options[9].flags = (enum parse_opt_option_flags )4;
  pack_objects_options[9].callback = (parse_opt_cb *)0;
  pack_objects_options[9].defval = 0L;
  pack_objects_options[9].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[9].extra = 0L;
  pack_objects_options[10].type = (enum parse_opt_type )10;
  pack_objects_options[10].short_name = 0;
  pack_objects_options[10].long_name = (char const   *)"depth";
  pack_objects_options[10].value = (void *)(& depth___0);
  pack_objects_options[10].argh = (char const   *)"n";
  pack_objects_options[10].help = (char const   *)"maximum length of delta chain allowed in the resulting pack";
  pack_objects_options[10].flags = (enum parse_opt_option_flags )0;
  pack_objects_options[10].callback = (parse_opt_cb *)0;
  pack_objects_options[10].defval = 0L;
  pack_objects_options[10].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[10].extra = 0L;
  pack_objects_options[11].type = (enum parse_opt_type )8;
  pack_objects_options[11].short_name = 0;
  pack_objects_options[11].long_name = (char const   *)"reuse-delta";
  pack_objects_options[11].value = (void *)(& reuse_delta);
  pack_objects_options[11].argh = (char const   *)((void *)0);
  pack_objects_options[11].help = (char const   *)"reuse existing deltas";
  pack_objects_options[11].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[11].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[11].defval = (intptr_t )1;
  pack_objects_options[11].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[11].extra = 0L;
  pack_objects_options[12].type = (enum parse_opt_type )8;
  pack_objects_options[12].short_name = 0;
  pack_objects_options[12].long_name = (char const   *)"reuse-object";
  pack_objects_options[12].value = (void *)(& reuse_object);
  pack_objects_options[12].argh = (char const   *)((void *)0);
  pack_objects_options[12].help = (char const   *)"reuse existing objects";
  pack_objects_options[12].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[12].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[12].defval = (intptr_t )1;
  pack_objects_options[12].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[12].extra = 0L;
  pack_objects_options[13].type = (enum parse_opt_type )8;
  pack_objects_options[13].short_name = 0;
  pack_objects_options[13].long_name = (char const   *)"delta-base-offset";
  pack_objects_options[13].value = (void *)(& allow_ofs_delta);
  pack_objects_options[13].argh = (char const   *)((void *)0);
  pack_objects_options[13].help = (char const   *)"use OFS_DELTA objects";
  pack_objects_options[13].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[13].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[13].defval = (intptr_t )1;
  pack_objects_options[13].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[13].extra = 0L;
  pack_objects_options[14].type = (enum parse_opt_type )10;
  pack_objects_options[14].short_name = 0;
  pack_objects_options[14].long_name = (char const   *)"threads";
  pack_objects_options[14].value = (void *)(& delta_search_threads);
  pack_objects_options[14].argh = (char const   *)"n";
  pack_objects_options[14].help = (char const   *)"use threads when searching for best delta matches";
  pack_objects_options[14].flags = (enum parse_opt_option_flags )0;
  pack_objects_options[14].callback = (parse_opt_cb *)0;
  pack_objects_options[14].defval = 0L;
  pack_objects_options[14].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[14].extra = 0L;
  pack_objects_options[15].type = (enum parse_opt_type )8;
  pack_objects_options[15].short_name = 0;
  pack_objects_options[15].long_name = (char const   *)"non-empty";
  pack_objects_options[15].value = (void *)(& non_empty);
  pack_objects_options[15].argh = (char const   *)((void *)0);
  pack_objects_options[15].help = (char const   *)"do not create an empty pack output";
  pack_objects_options[15].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[15].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[15].defval = (intptr_t )1;
  pack_objects_options[15].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[15].extra = 0L;
  pack_objects_options[16].type = (enum parse_opt_type )8;
  pack_objects_options[16].short_name = 0;
  pack_objects_options[16].long_name = (char const   *)"revs";
  pack_objects_options[16].value = (void *)(& use_internal_rev_list);
  pack_objects_options[16].argh = (char const   *)((void *)0);
  pack_objects_options[16].help = (char const   *)"read revision arguments from standard input";
  pack_objects_options[16].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[16].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[16].defval = (intptr_t )1;
  pack_objects_options[16].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[16].extra = 0L;
  pack_objects_options[17].type = (enum parse_opt_type )8;
  pack_objects_options[17].short_name = 0;
  pack_objects_options[17].long_name = (char const   *)"unpacked";
  pack_objects_options[17].value = (void *)(& rev_list_unpacked);
  pack_objects_options[17].argh = (char const   *)((void *)0);
  pack_objects_options[17].help = (char const   *)"limit the objects to those that are not yet packed";
  pack_objects_options[17].flags = (enum parse_opt_option_flags )6;
  pack_objects_options[17].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[17].defval = (intptr_t )1;
  pack_objects_options[17].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[17].extra = 0L;
  pack_objects_options[18].type = (enum parse_opt_type )8;
  pack_objects_options[18].short_name = 0;
  pack_objects_options[18].long_name = (char const   *)"all";
  pack_objects_options[18].value = (void *)(& rev_list_all);
  pack_objects_options[18].argh = (char const   *)((void *)0);
  pack_objects_options[18].help = (char const   *)"include objects reachable from any reference";
  pack_objects_options[18].flags = (enum parse_opt_option_flags )6;
  pack_objects_options[18].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[18].defval = (intptr_t )1;
  pack_objects_options[18].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[18].extra = 0L;
  pack_objects_options[19].type = (enum parse_opt_type )8;
  pack_objects_options[19].short_name = 0;
  pack_objects_options[19].long_name = (char const   *)"reflog";
  pack_objects_options[19].value = (void *)(& rev_list_reflog);
  pack_objects_options[19].argh = (char const   *)((void *)0);
  pack_objects_options[19].help = (char const   *)"include objects referred by reflog entries";
  pack_objects_options[19].flags = (enum parse_opt_option_flags )6;
  pack_objects_options[19].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[19].defval = (intptr_t )1;
  pack_objects_options[19].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[19].extra = 0L;
  pack_objects_options[20].type = (enum parse_opt_type )8;
  pack_objects_options[20].short_name = 0;
  pack_objects_options[20].long_name = (char const   *)"indexed-objects";
  pack_objects_options[20].value = (void *)(& rev_list_index);
  pack_objects_options[20].argh = (char const   *)((void *)0);
  pack_objects_options[20].help = (char const   *)"include objects referred to by the index";
  pack_objects_options[20].flags = (enum parse_opt_option_flags )6;
  pack_objects_options[20].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[20].defval = (intptr_t )1;
  pack_objects_options[20].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[20].extra = 0L;
  pack_objects_options[21].type = (enum parse_opt_type )8;
  pack_objects_options[21].short_name = 0;
  pack_objects_options[21].long_name = (char const   *)"stdin-packs";
  pack_objects_options[21].value = (void *)(& stdin_packs);
  pack_objects_options[21].argh = (char const   *)((void *)0);
  pack_objects_options[21].help = (char const   *)"read packs from stdin";
  pack_objects_options[21].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[21].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[21].defval = (intptr_t )1;
  pack_objects_options[21].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[21].extra = 0L;
  pack_objects_options[22].type = (enum parse_opt_type )8;
  pack_objects_options[22].short_name = 0;
  pack_objects_options[22].long_name = (char const   *)"stdout";
  pack_objects_options[22].value = (void *)(& pack_to_stdout);
  pack_objects_options[22].argh = (char const   *)((void *)0);
  pack_objects_options[22].help = (char const   *)"output pack to stdout";
  pack_objects_options[22].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[22].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[22].defval = (intptr_t )1;
  pack_objects_options[22].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[22].extra = 0L;
  pack_objects_options[23].type = (enum parse_opt_type )8;
  pack_objects_options[23].short_name = 0;
  pack_objects_options[23].long_name = (char const   *)"include-tag";
  pack_objects_options[23].value = (void *)(& include_tag);
  pack_objects_options[23].argh = (char const   *)((void *)0);
  pack_objects_options[23].help = (char const   *)"include tag objects that refer to objects to be packed";
  pack_objects_options[23].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[23].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[23].defval = (intptr_t )1;
  pack_objects_options[23].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[23].extra = 0L;
  pack_objects_options[24].type = (enum parse_opt_type )8;
  pack_objects_options[24].short_name = 0;
  pack_objects_options[24].long_name = (char const   *)"keep-unreachable";
  pack_objects_options[24].value = (void *)(& keep_unreachable);
  pack_objects_options[24].argh = (char const   *)((void *)0);
  pack_objects_options[24].help = (char const   *)"keep unreachable objects";
  pack_objects_options[24].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[24].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[24].defval = (intptr_t )1;
  pack_objects_options[24].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[24].extra = 0L;
  pack_objects_options[25].type = (enum parse_opt_type )8;
  pack_objects_options[25].short_name = 0;
  pack_objects_options[25].long_name = (char const   *)"pack-loose-unreachable";
  pack_objects_options[25].value = (void *)(& pack_loose_unreachable);
  pack_objects_options[25].argh = (char const   *)((void *)0);
  pack_objects_options[25].help = (char const   *)"pack loose unreachable objects";
  pack_objects_options[25].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[25].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[25].defval = (intptr_t )1;
  pack_objects_options[25].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[25].extra = 0L;
  pack_objects_options[26].type = (enum parse_opt_type )12;
  pack_objects_options[26].short_name = 0;
  pack_objects_options[26].long_name = (char const   *)"unpack-unreachable";
  pack_objects_options[26].value = (void *)0;
  pack_objects_options[26].argh = (char const   *)"time";
  pack_objects_options[26].help = (char const   *)"unpack unreachable objects newer than <time>";
  pack_objects_options[26].flags = (enum parse_opt_option_flags )1;
  pack_objects_options[26].callback = & option_parse_unpack_unreachable;
  pack_objects_options[26].defval = 0L;
  pack_objects_options[26].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[26].extra = 0L;
  pack_objects_options[27].type = (enum parse_opt_type )8;
  pack_objects_options[27].short_name = 0;
  pack_objects_options[27].long_name = (char const   *)"sparse";
  pack_objects_options[27].value = (void *)(& sparse);
  pack_objects_options[27].argh = (char const   *)((void *)0);
  pack_objects_options[27].help = (char const   *)"use the sparse reachability algorithm";
  pack_objects_options[27].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[27].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[27].defval = (intptr_t )1;
  pack_objects_options[27].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[27].extra = 0L;
  pack_objects_options[28].type = (enum parse_opt_type )8;
  pack_objects_options[28].short_name = 0;
  pack_objects_options[28].long_name = (char const   *)"thin";
  pack_objects_options[28].value = (void *)(& thin);
  pack_objects_options[28].argh = (char const   *)((void *)0);
  pack_objects_options[28].help = (char const   *)"create thin packs";
  pack_objects_options[28].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[28].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[28].defval = (intptr_t )1;
  pack_objects_options[28].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[28].extra = 0L;
  pack_objects_options[29].type = (enum parse_opt_type )8;
  pack_objects_options[29].short_name = 0;
  pack_objects_options[29].long_name = (char const   *)"shallow";
  pack_objects_options[29].value = (void *)(& shallow);
  pack_objects_options[29].argh = (char const   *)((void *)0);
  pack_objects_options[29].help = (char const   *)"create packs suitable for shallow fetches";
  pack_objects_options[29].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[29].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[29].defval = (intptr_t )1;
  pack_objects_options[29].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[29].extra = 0L;
  pack_objects_options[30].type = (enum parse_opt_type )8;
  pack_objects_options[30].short_name = 0;
  pack_objects_options[30].long_name = (char const   *)"honor-pack-keep";
  pack_objects_options[30].value = (void *)(& ignore_packed_keep_on_disk);
  pack_objects_options[30].argh = (char const   *)((void *)0);
  pack_objects_options[30].help = (char const   *)"ignore packs that have companion .keep file";
  pack_objects_options[30].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[30].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[30].defval = (intptr_t )1;
  pack_objects_options[30].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[30].extra = 0L;
  pack_objects_options[31].type = (enum parse_opt_type )12;
  pack_objects_options[31].short_name = 0;
  pack_objects_options[31].long_name = (char const   *)"keep-pack";
  pack_objects_options[31].value = (void *)(& keep_pack_list);
  pack_objects_options[31].argh = (char const   *)"name";
  pack_objects_options[31].help = (char const   *)"ignore this pack";
  pack_objects_options[31].flags = (enum parse_opt_option_flags )0;
  pack_objects_options[31].callback = & parse_opt_string_list;
  pack_objects_options[31].defval = 0L;
  pack_objects_options[31].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[31].extra = 0L;
  pack_objects_options[32].type = (enum parse_opt_type )10;
  pack_objects_options[32].short_name = 0;
  pack_objects_options[32].long_name = (char const   *)"compression";
  pack_objects_options[32].value = (void *)(& pack_compression_level);
  pack_objects_options[32].argh = (char const   *)"n";
  pack_objects_options[32].help = (char const   *)"pack compression level";
  pack_objects_options[32].flags = (enum parse_opt_option_flags )0;
  pack_objects_options[32].callback = (parse_opt_cb *)0;
  pack_objects_options[32].defval = 0L;
  pack_objects_options[32].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[32].extra = 0L;
  pack_objects_options[33].type = (enum parse_opt_type )8;
  pack_objects_options[33].short_name = 0;
  pack_objects_options[33].long_name = (char const   *)"keep-true-parents";
  pack_objects_options[33].value = (void *)(& grafts_replace_parents);
  pack_objects_options[33].argh = (char const   *)((void *)0);
  pack_objects_options[33].help = (char const   *)"do not hide commits by grafts";
  pack_objects_options[33].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[33].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[33].defval = (intptr_t )0;
  pack_objects_options[33].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[33].extra = 0L;
  pack_objects_options[34].type = (enum parse_opt_type )8;
  pack_objects_options[34].short_name = 0;
  pack_objects_options[34].long_name = (char const   *)"use-bitmap-index";
  pack_objects_options[34].value = (void *)(& use_bitmap_index);
  pack_objects_options[34].argh = (char const   *)((void *)0);
  pack_objects_options[34].help = (char const   *)"use a bitmap index if available to speed up counting objects";
  pack_objects_options[34].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[34].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[34].defval = (intptr_t )1;
  pack_objects_options[34].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[34].extra = 0L;
  pack_objects_options[35].type = (enum parse_opt_type )8;
  pack_objects_options[35].short_name = 0;
  pack_objects_options[35].long_name = (char const   *)"write-bitmap-index";
  pack_objects_options[35].value = (void *)(& write_bitmap_index);
  pack_objects_options[35].argh = (char const   *)((void *)0);
  pack_objects_options[35].help = (char const   *)"write a bitmap index together with the pack index";
  pack_objects_options[35].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[35].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[35].defval = (intptr_t )2;
  pack_objects_options[35].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[35].extra = 0L;
  pack_objects_options[36].type = (enum parse_opt_type )8;
  pack_objects_options[36].short_name = 0;
  pack_objects_options[36].long_name = (char const   *)"write-bitmap-index-quiet";
  pack_objects_options[36].value = (void *)(& write_bitmap_index);
  pack_objects_options[36].argh = (char const   *)((void *)0);
  pack_objects_options[36].help = (char const   *)"write a bitmap index if possible";
  pack_objects_options[36].flags = (enum parse_opt_option_flags )10;
  pack_objects_options[36].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[36].defval = (intptr_t )1;
  pack_objects_options[36].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[36].extra = 0L;
  pack_objects_options[37].type = (enum parse_opt_type )12;
  pack_objects_options[37].short_name = 0;
  pack_objects_options[37].long_name = (char const   *)"filter";
  pack_objects_options[37].value = (void *)(& filter_options___1);
  pack_objects_options[37].argh = (char const   *)"args";
  pack_objects_options[37].help = (char const   *)"object filtering";
  pack_objects_options[37].flags = (enum parse_opt_option_flags )0;
  pack_objects_options[37].callback = & opt_parse_list_objects_filter;
  pack_objects_options[37].defval = 0L;
  pack_objects_options[37].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[37].extra = 0L;
  pack_objects_options[38].type = (enum parse_opt_type )12;
  pack_objects_options[38].short_name = 0;
  pack_objects_options[38].long_name = (char const   *)"missing";
  pack_objects_options[38].value = (void *)0;
  pack_objects_options[38].argh = (char const   *)"action";
  pack_objects_options[38].help = (char const   *)"handling for missing objects";
  pack_objects_options[38].flags = (enum parse_opt_option_flags )4;
  pack_objects_options[38].callback = & option_parse_missing_action;
  pack_objects_options[38].defval = 0L;
  pack_objects_options[38].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[38].extra = 0L;
  pack_objects_options[39].type = (enum parse_opt_type )8;
  pack_objects_options[39].short_name = 0;
  pack_objects_options[39].long_name = (char const   *)"exclude-promisor-objects";
  pack_objects_options[39].value = (void *)(& exclude_promisor_objects);
  pack_objects_options[39].argh = (char const   *)((void *)0);
  pack_objects_options[39].help = (char const   *)"do not pack objects in promisor packfiles";
  pack_objects_options[39].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[39].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[39].defval = (intptr_t )1;
  pack_objects_options[39].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[39].extra = 0L;
  pack_objects_options[40].type = (enum parse_opt_type )8;
  pack_objects_options[40].short_name = 0;
  pack_objects_options[40].long_name = (char const   *)"delta-islands";
  pack_objects_options[40].value = (void *)(& use_delta_islands);
  pack_objects_options[40].argh = (char const   *)((void *)0);
  pack_objects_options[40].help = (char const   *)"respect islands during delta compression";
  pack_objects_options[40].flags = (enum parse_opt_option_flags )2;
  pack_objects_options[40].callback = (parse_opt_cb *)((void *)0);
  pack_objects_options[40].defval = (intptr_t )1;
  pack_objects_options[40].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[40].extra = 0L;
  pack_objects_options[41].type = (enum parse_opt_type )12;
  pack_objects_options[41].short_name = 0;
  pack_objects_options[41].long_name = (char const   *)"uri-protocol";
  pack_objects_options[41].value = (void *)(& uri_protocols___0);
  pack_objects_options[41].argh = (char const   *)"protocol";
  pack_objects_options[41].help = (char const   *)"exclude any configured uploadpack.blobpackfileuri with this protocol";
  pack_objects_options[41].flags = (enum parse_opt_option_flags )0;
  pack_objects_options[41].callback = & parse_opt_string_list;
  pack_objects_options[41].defval = 0L;
  pack_objects_options[41].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[41].extra = 0L;
  pack_objects_options[42].type = (enum parse_opt_type )0;
  pack_objects_options[42].short_name = 0;
  pack_objects_options[42].long_name = (char const   *)0;
  pack_objects_options[42].value = (void *)0;
  pack_objects_options[42].argh = (char const   *)0;
  pack_objects_options[42].help = (char const   *)0;
  pack_objects_options[42].flags = 0U;
  pack_objects_options[42].callback = (parse_opt_cb *)0;
  pack_objects_options[42].defval = 0L;
  pack_objects_options[42].ll_callback = (parse_opt_ll_cb *)0;
  pack_objects_options[42].extra = 0L;
  if (3 > 1 << 2) {
    BUG_fl((char const   *)"builtin/pack-objects.c", 3974, (char const   *)"too many dfs states, increase OE_DFS_STATE_BITS");
  }
  read_replace_refs = 0;
  sparse = git_env_bool((char const   *)"GIT_TEST_PACK_SPARSE", -1);
  prepare_repo_settings(the_repository);
  if (sparse < 0) {
    sparse = the_repository->settings.pack_use_sparse;
  }
  reset_pack_idx_option(& pack_idx_opts___0);
  git_config(& git_pack_config___0, (void *)0);
  tmp = git_env_bool((char const   *)"GIT_TEST_WRITE_REV_INDEX", 0);
  if (tmp) {
    pack_idx_opts___0.flags |= 4U;
  }
  progress___3 = isatty(2);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(pack_objects_options),
                       (char const   **)(pack_usage), (enum parse_opt_flags )0);
  if (argc) {
    base_name = *(argv___0 + 0);
    argc --;
  }
  if (pack_to_stdout != ! base_name) {
    usage_with_options((char const   **)(pack_usage), (struct option  const  *)(pack_objects_options));
  } else
  if (argc) {
    usage_with_options((char const   **)(pack_usage), (struct option  const  *)(pack_objects_options));
  }
  if (depth___0 < 0) {
    depth___0 = 0;
  }
  if (depth___0 >= 1 << 12) {
    tmp___0 = _((char const   *)"delta chain depth %d is too deep, forcing %d");
    warning((char const   *)tmp___0, depth___0, (1 << 12) - 1);
    depth___0 = (1 << 12) - 1;
  }
  if (cache_max_small_delta_size >= (unsigned long )(1U << 20)) {
    tmp___1 = _((char const   *)"pack.deltaCacheLimit is too high, forcing %d");
    warning((char const   *)tmp___1, (1U << 20) - 1U);
    cache_max_small_delta_size = (unsigned long )((1U << 20) - 1U);
  }
  if (window < 0) {
    window = 0;
  }
  strvec_push(& rp, (char const   *)"pack-objects");
  if (thin) {
    use_internal_rev_list = 1;
    if (shallow) {
      tmp___2 = "--objects-edge-aggressive";
    } else {
      tmp___2 = "--objects-edge";
    }
    strvec_push(& rp, (char const   *)tmp___2);
  } else {
    strvec_push(& rp, (char const   *)"--objects");
  }
  if (rev_list_all) {
    use_internal_rev_list = 1;
    strvec_push(& rp, (char const   *)"--all");
  }
  if (rev_list_reflog) {
    use_internal_rev_list = 1;
    strvec_push(& rp, (char const   *)"--reflog");
  }
  if (rev_list_index) {
    use_internal_rev_list = 1;
    strvec_push(& rp, (char const   *)"--indexed-objects");
  }
  if (rev_list_unpacked) {
    if (! stdin_packs) {
      use_internal_rev_list = 1;
      strvec_push(& rp, (char const   *)"--unpacked");
    }
  }
  if (exclude_promisor_objects) {
    use_internal_rev_list = 1;
    fetch_if_missing = 0;
    strvec_push(& rp, (char const   *)"--exclude-promisor-objects");
  }
  if (unpack_unreachable) {
    use_internal_rev_list = 1;
  } else
  if (keep_unreachable) {
    use_internal_rev_list = 1;
  } else
  if (pack_loose_unreachable) {
    use_internal_rev_list = 1;
  }
  if (! reuse_object) {
    reuse_delta = 0;
  }
  if (pack_compression_level == -1) {
    pack_compression_level = -1;
  } else
  if (pack_compression_level < 0) {
    tmp___3 = _((char const   *)"bad pack compression level %d");
    die((char const   *)tmp___3, pack_compression_level);
  } else
  if (pack_compression_level > 9) {
    tmp___3 = _((char const   *)"bad pack compression level %d");
    die((char const   *)tmp___3, pack_compression_level);
  }
  if (! delta_search_threads) {
    delta_search_threads = online_cpus();
  }
  if (! pack_to_stdout) {
    if (! pack_size_limit) {
      pack_size_limit = pack_size_limit_cfg;
    }
  }
  if (pack_to_stdout) {
    if (pack_size_limit) {
      tmp___5 = _((char const   *)"--max-pack-size cannot be used to build a pack for transfer");
      die((char const   *)tmp___5);
    }
  }
  if (pack_size_limit) {
    if (pack_size_limit < 1048576UL) {
      tmp___6 = _((char const   *)"minimum pack size limit is 1 MiB");
      warning((char const   *)tmp___6);
      pack_size_limit = 1048576UL;
    }
  }
  if (! pack_to_stdout) {
    if (thin) {
      tmp___7 = _((char const   *)"--thin cannot be used to build an indexable pack");
      die((char const   *)tmp___7);
    }
  }
  if (keep_unreachable) {
    if (unpack_unreachable) {
      tmp___8 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___8, "--keep-unreachable", "--unpack-unreachable");
    }
  }
  if (! rev_list_all) {
    unpack_unreachable_expiration = (timestamp_t )0;
  } else
  if (! rev_list_reflog) {
    unpack_unreachable_expiration = (timestamp_t )0;
  } else
  if (! rev_list_index) {
    unpack_unreachable_expiration = (timestamp_t )0;
  }
  if (filter_options___1.choice) {
    if (! pack_to_stdout) {
      tmp___9 = _((char const   *)"cannot use --filter without --stdout");
      die((char const   *)tmp___9);
    }
    if (stdin_packs) {
      tmp___10 = _((char const   *)"cannot use --filter with --stdin-packs");
      die((char const   *)tmp___10);
    }
  }
  if (stdin_packs) {
    if (use_internal_rev_list) {
      tmp___11 = _((char const   *)"cannot use internal rev list with --stdin-packs");
      die((char const   *)tmp___11);
    }
  }
  if (! pack_to_stdout) {
    use_bitmap_index_default = 0;
  }
  if (use_bitmap_index < 0) {
    use_bitmap_index = use_bitmap_index_default;
  }
  if (! use_internal_rev_list) {
    use_bitmap_index = 0;
  } else
  if (! pack_to_stdout) {
    if (write_bitmap_index) {
      use_bitmap_index = 0;
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp___12 = is_repository_shallow(the_repository);
    if (tmp___12) {
      use_bitmap_index = 0;
    }
  }
  if (pack_to_stdout) {
    write_bitmap_index = (enum __anonenum_write_bitmap_index_529642322 )0;
  } else
  if (! rev_list_all) {
    write_bitmap_index = (enum __anonenum_write_bitmap_index_529642322 )0;
  }
  if (use_delta_islands) {
    strvec_push(& rp, (char const   *)"--topo-order");
  }
  if (progress___3) {
    if (all_progress_implied) {
      progress___3 = 2;
    }
  }
  add_extra_kept_packs((struct string_list  const  *)(& keep_pack_list));
  if (ignore_packed_keep_on_disk) {
    p___0 = get_all_packs(the_repository);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! p___0) {
        goto while_break;
      }
      if (p___0->pack_local) {
        if (p___0->pack_keep) {
          goto while_break;
        }
      }
      p___0 = p___0->next;
    }
    while_break: /* CIL Label */ ;
    }
    if (! p___0) {
      ignore_packed_keep_on_disk = 0;
    }
  }
  if (local) {
    p___1 = get_all_packs(the_repository);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! p___1) {
        goto while_break___0;
      }
      if (! p___1->pack_local) {
        have_non_local_packs = 1;
        goto while_break___0;
      }
      p___1 = p___1->next;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  trace2_region_enter_fl((char const   *)"builtin/pack-objects.c", 4140, (char const   *)"pack-objects",
                         (char const   *)"enumerate-objects", (struct repository  const  *)the_repository);
  prepare_packing_data(the_repository, & to_pack);
  if (progress___3) {
    tmp___13 = _((char const   *)"Enumerating objects");
    progress_state = start_progress((char const   *)tmp___13, (uint64_t )0);
  }
  if (stdin_packs) {
    ignore_packed_keep_in_core = 1;
    read_packs_list_from_stdin();
    if (rev_list_unpacked) {
      add_unreachable_loose_objects();
    }
  } else
  if (! use_internal_rev_list) {
    read_object_list_from_stdin();
  } else {
    get_object_list((int )rp.nr, rp.v);
  }
  cleanup_preferred_base();
  if (include_tag) {
    if (nr_result) {
      for_each_tag_ref(& add_ref_tag, (void *)0);
    }
  }
  stop_progress(& progress_state);
  trace2_region_leave_fl((char const   *)"builtin/pack-objects.c", 4161, (char const   *)"pack-objects",
                         (char const   *)"enumerate-objects", (struct repository  const  *)the_repository);
  if (non_empty) {
    if (! nr_result) {
      goto cleanup;
    }
  }
  if (nr_result) {
    trace2_region_enter_fl((char const   *)"builtin/pack-objects.c", 4167, (char const   *)"pack-objects",
                           (char const   *)"prepare-pack", (struct repository  const  *)the_repository);
    prepare_pack___0(window, depth___0);
    trace2_region_leave_fl((char const   *)"builtin/pack-objects.c", 4170, (char const   *)"pack-objects",
                           (char const   *)"prepare-pack", (struct repository  const  *)the_repository);
  }
  trace2_region_enter_fl((char const   *)"builtin/pack-objects.c", 4173, (char const   *)"pack-objects",
                         (char const   *)"write-pack-file", (struct repository  const  *)the_repository);
  write_excluded_by_configs();
  write_pack_file();
  trace2_region_leave_fl((char const   *)"builtin/pack-objects.c", 4176, (char const   *)"pack-objects",
                         (char const   *)"write-pack-file", (struct repository  const  *)the_repository);
  if (progress___3) {
    tmp___14 = _((char const   *)"Total %u (delta %u), reused %u (delta %u), pack-reused %u");
    fprintf_ln(stderr, (char const   *)tmp___14, written, written_delta, reused, reused_delta,
               reuse_packfile_objects);
  }
  cleanup:
  strvec_clear(& rp);
  return (0);
}
}
static double const   __ac_HASH_UPPER___141  =    (double const   )0.77;
__inline static void kh_resize_oid_set___141(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___141(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___141 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___141 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___141(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___141(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___141(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___141(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___141(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___141(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___141 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___141 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___141(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___141(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___141(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___141(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___141(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___141(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___141 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___141 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___141(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___141(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___141(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___141(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___106(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___106(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___141 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___141 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___106(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___106(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___106(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___106(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   pack_redundant_usage[72]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'p',      (char const   )'a',      (char const   )'c',      (char const   )'k',
        (char const   )'-',      (char const   )'r',      (char const   )'e',      (char const   )'d',
        (char const   )'u',      (char const   )'n',      (char const   )'d',      (char const   )'a',
        (char const   )'n',      (char const   )'t',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'v',      (char const   )'e',
        (char const   )'r',      (char const   )'b',      (char const   )'o',      (char const   )'s',
        (char const   )'e',      (char const   )']',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'a',      (char const   )'l',
        (char const   )'t',      (char const   )'-',      (char const   )'o',      (char const   )'d',
        (char const   )'b',      (char const   )']',      (char const   )' ',      (char const   )'(',
        (char const   )'-',      (char const   )'-',      (char const   )'a',      (char const   )'l',
        (char const   )'l',      (char const   )' ',      (char const   )'|',      (char const   )' ',
        (char const   )'<',      (char const   )'f',      (char const   )'i',      (char const   )'l',
        (char const   )'e',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )'.',      (char const   )'p',      (char const   )'a',
        (char const   )'c',      (char const   )'k',      (char const   )'>',      (char const   )'.',
        (char const   )'.',      (char const   )'.',      (char const   )')',      (char const   )'\000'};
static int load_all_packs  ;
static int verbose___7  ;
static int alt_odb  ;
static struct llist *all_objects  ;
static struct pack_list *local_packs  =    (struct pack_list *)((void *)0);
static struct pack_list *altodb_packs  =    (struct pack_list *)((void *)0);
static struct llist_item *free_nodes  ;
__inline static void llist_item_put(struct llist_item *item___0 )
{


  {
  item___0->next = free_nodes;
  free_nodes = item___0;
  return;
}
}
__inline static struct llist_item *llist_item_get(void)
{
  struct llist_item *new_item ;
  int i ;
  size_t tmp ;
  void *tmp___0 ;

  {
  if (free_nodes) {
    new_item = free_nodes;
    free_nodes = free_nodes->next;
  } else {
    i = 1;
    tmp = st_mult(sizeof(*new_item), (size_t )512);
    tmp___0 = xmalloc(tmp);
    new_item = (struct llist_item *)tmp___0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < 512)) {
        goto while_break;
      }
      llist_item_put(new_item + i);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  return (new_item);
}
}
__inline static void llist_init(struct llist **list___3 )
{
  void *tmp ;
  struct llist_item *tmp___0 ;

  {
  tmp = xmalloc(sizeof(struct llist ));
  *list___3 = (struct llist *)tmp;
  tmp___0 = (struct llist_item *)((void *)0);
  (*list___3)->back = tmp___0;
  (*list___3)->front = tmp___0;
  (*list___3)->size = (size_t )0;
  return;
}
}
static struct llist *llist_copy(struct llist *list___3 )
{
  struct llist *ret___67 ;
  struct llist_item *new_item ;
  struct llist_item *old_item ;
  struct llist_item *prev ;
  size_t tmp ;
  struct llist_item *tmp___0 ;

  {
  llist_init(& ret___67);
  tmp = list___3->size;
  ret___67->size = tmp;
  if (tmp == 0UL) {
    return (ret___67);
  }
  tmp___0 = llist_item_get();
  ret___67->front = tmp___0;
  new_item = tmp___0;
  new_item->oid = (list___3->front)->oid;
  old_item = (list___3->front)->next;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! old_item) {
      goto while_break;
    }
    prev = new_item;
    new_item = llist_item_get();
    prev->next = new_item;
    new_item->oid = old_item->oid;
    old_item = old_item->next;
  }
  while_break: /* CIL Label */ ;
  }
  new_item->next = (struct llist_item *)((void *)0);
  ret___67->back = new_item;
  return (ret___67);
}
}
__inline static struct llist_item *llist_insert(struct llist *list___3 , struct llist_item *after ,
                                                unsigned char const   *oid )
{
  struct llist_item *new_item ;
  struct llist_item *tmp ;

  {
  tmp = llist_item_get();
  new_item = tmp;
  oidread(& new_item->oid, oid);
  new_item->next = (struct llist_item *)((void *)0);
  if ((unsigned long )after != (unsigned long )((void *)0)) {
    new_item->next = after->next;
    after->next = new_item;
    if ((unsigned long )after == (unsigned long )list___3->back) {
      list___3->back = new_item;
    }
  } else {
    if (list___3->size == 0UL) {
      list___3->back = new_item;
    } else {
      new_item->next = list___3->front;
    }
    list___3->front = new_item;
  }
  (list___3->size) ++;
  return (new_item);
}
}
__inline static struct llist_item *llist_insert_back(struct llist *list___3 , unsigned char const   *oid )
{
  struct llist_item *tmp ;

  {
  tmp = llist_insert(list___3, list___3->back, oid);
  return (tmp);
}
}
__inline static struct llist_item *llist_insert_sorted_unique(struct llist *list___3 ,
                                                              struct object_id  const  *oid ,
                                                              struct llist_item *hint )
{
  struct llist_item *prev ;
  struct llist_item *l ;
  int cmp___0 ;
  int tmp ;
  struct llist_item *tmp___0 ;
  struct llist_item *tmp___1 ;

  {
  prev = (struct llist_item *)((void *)0);
  if ((unsigned long )hint == (unsigned long )((void *)0)) {
    l = list___3->front;
  } else {
    l = hint;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! l) {
      goto while_break;
    }
    tmp = oidcmp((struct object_id  const  *)(& l->oid), oid);
    cmp___0 = tmp;
    if (cmp___0 > 0) {
      tmp___0 = llist_insert(list___3, prev, (unsigned char const   *)(oid->hash));
      return (tmp___0);
    }
    if (! cmp___0) {
      return (l);
    }
    prev = l;
    l = l->next;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = llist_insert_back(list___3, (unsigned char const   *)(oid->hash));
  return (tmp___1);
}
}
__inline static struct llist_item *llist_sorted_remove(struct llist *list___3 , unsigned char const   *oid ,
                                                       struct llist_item *hint )
{
  struct llist_item *prev ;
  struct llist_item *l ;
  int cmp___0 ;
  int tmp ;

  {
  redo_from_start:
  if ((unsigned long )hint == (unsigned long )((void *)0)) {
    l = list___3->front;
  } else {
    l = hint;
  }
  prev = (struct llist_item *)((void *)0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! l) {
      goto while_break;
    }
    tmp = hashcmp((unsigned char const   *)(l->oid.hash), oid);
    cmp___0 = (int )tmp;
    if (cmp___0 > 0) {
      return (prev);
    }
    if (! cmp___0) {
      if ((unsigned long )prev == (unsigned long )((void *)0)) {
        if ((unsigned long )hint != (unsigned long )((void *)0)) {
          if ((unsigned long )hint != (unsigned long )list___3->front) {
            hint = (struct llist_item *)((void *)0);
            goto redo_from_start;
          }
        }
        list___3->front = l->next;
      } else {
        prev->next = l->next;
      }
      if ((unsigned long )l == (unsigned long )list___3->back) {
        list___3->back = prev;
      }
      llist_item_put(l);
      (list___3->size) --;
      return (prev);
    }
    prev = l;
    l = l->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (prev);
}
}
static void llist_sorted_difference_inplace(struct llist *A , struct llist *B )
{
  struct llist_item *hint ;
  struct llist_item *b___0 ;

  {
  hint = (struct llist_item *)((void *)0);
  b___0 = B->front;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! b___0) {
      goto while_break;
    }
    hint = llist_sorted_remove(A, (unsigned char const   *)(b___0->oid.hash), hint);
    b___0 = b___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
__inline static struct pack_list *pack_list_insert(struct pack_list **pl , struct pack_list *entry )
{
  struct pack_list *p___0 ;
  void *tmp ;

  {
  tmp = xmalloc(sizeof(struct pack_list ));
  p___0 = (struct pack_list *)tmp;
  memcpy((void *)p___0, (void const   *)entry, sizeof(struct pack_list ));
  p___0->next = *pl;
  *pl = p___0;
  return (p___0);
}
}
__inline static size_t pack_list_size(struct pack_list *pl )
{
  size_t ret___67 ;

  {
  ret___67 = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! pl) {
      goto while_break;
    }
    ret___67 ++;
    pl = pl->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static struct pack_list *pack_list_difference(struct pack_list  const  *A , struct pack_list  const  *B )
{
  struct pack_list *ret___67 ;
  struct pack_list  const  *pl ;
  struct pack_list *tmp ;
  void *tmp___0 ;

  {
  if ((unsigned long )A == (unsigned long )((void *)0)) {
    return ((struct pack_list *)((void *)0));
  }
  pl = B;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )pl != (unsigned long )((void *)0))) {
      goto while_break;
    }
    if ((unsigned long )A->pack == (unsigned long )pl->pack) {
      tmp = pack_list_difference((struct pack_list  const  *)A->next, B);
      return (tmp);
    }
    pl = (struct pack_list  const  *)pl->next;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = xmalloc(sizeof(struct pack_list ));
  ret___67 = (struct pack_list *)tmp___0;
  memcpy((void *)ret___67, (void const   *)A, sizeof(struct pack_list ));
  ret___67->next = pack_list_difference((struct pack_list  const  *)A->next, B);
  return (ret___67);
}
}
static void cmp_two_packs(struct pack_list *p1 , struct pack_list *p2 )
{
  size_t p1_off ;
  size_t p2_off ;
  size_t p1_step ;
  size_t p2_step ;
  unsigned char const   *p1_base ;
  unsigned char const   *p2_base ;
  struct llist_item *p1_hint ;
  struct llist_item *p2_hint ;
  unsigned int hashsz ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int cmp___0 ;
  int tmp___3 ;

  {
  p1_off = (size_t )0;
  p2_off = (size_t )0;
  p1_hint = (struct llist_item *)((void *)0);
  p2_hint = (struct llist_item *)((void *)0);
  hashsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  if (! p1->unique_objects) {
    p1->unique_objects = llist_copy(p1->remaining_objects);
  }
  if (! p2->unique_objects) {
    p2->unique_objects = llist_copy(p2->remaining_objects);
  }
  p1_base = (unsigned char const   *)(p1->pack)->index_data;
  p2_base = (unsigned char const   *)(p2->pack)->index_data;
  if ((p1->pack)->index_version < 2) {
    tmp = 4;
  } else {
    tmp = 8;
  }
  p1_base += 1024 + tmp;
  if ((p2->pack)->index_version < 2) {
    tmp___0 = 4;
  } else {
    tmp___0 = 8;
  }
  p2_base += 1024 + tmp___0;
  if ((p1->pack)->index_version < 2) {
    tmp___1 = 4;
  } else {
    tmp___1 = 0;
  }
  p1_step = (size_t )(hashsz + (unsigned int )tmp___1);
  if ((p2->pack)->index_version < 2) {
    tmp___2 = 4;
  } else {
    tmp___2 = 0;
  }
  p2_step = (size_t )(hashsz + (unsigned int )tmp___2);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (p1_off < (size_t )(p1->pack)->num_objects * p1_step) {
      if (! (p2_off < (size_t )(p2->pack)->num_objects * p2_step)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___3 = hashcmp(p1_base + p1_off, p2_base + p2_off);
    cmp___0 = (int )tmp___3;
    if (cmp___0 == 0) {
      p1_hint = llist_sorted_remove(p1->unique_objects, p1_base + p1_off, p1_hint);
      p2_hint = llist_sorted_remove(p2->unique_objects, p1_base + p1_off, p2_hint);
      p1_off += p1_step;
      p2_off += p2_step;
      goto while_continue;
    }
    if (cmp___0 < 0) {
      p1_off += p1_step;
    } else {
      p2_off += p2_step;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static size_t sizeof_union(struct packed_git *p1 , struct packed_git *p2 )
{
  size_t ret___67 ;
  size_t p1_off ;
  size_t p2_off ;
  size_t p1_step ;
  size_t p2_step ;
  unsigned char const   *p1_base ;
  unsigned char const   *p2_base ;
  unsigned int hashsz ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int cmp___0 ;
  int tmp___3 ;

  {
  ret___67 = (size_t )0;
  p1_off = (size_t )0;
  p2_off = (size_t )0;
  hashsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  p1_base = (unsigned char const   *)p1->index_data;
  p2_base = (unsigned char const   *)p2->index_data;
  if (p1->index_version < 2) {
    tmp = 4;
  } else {
    tmp = 8;
  }
  p1_base += 1024 + tmp;
  if (p2->index_version < 2) {
    tmp___0 = 4;
  } else {
    tmp___0 = 8;
  }
  p2_base += 1024 + tmp___0;
  if (p1->index_version < 2) {
    tmp___1 = 4;
  } else {
    tmp___1 = 0;
  }
  p1_step = (size_t )(hashsz + (unsigned int )tmp___1);
  if (p2->index_version < 2) {
    tmp___2 = 4;
  } else {
    tmp___2 = 0;
  }
  p2_step = (size_t )(hashsz + (unsigned int )tmp___2);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (p1_off < (size_t )p1->num_objects * p1_step) {
      if (! (p2_off < (size_t )p2->num_objects * p2_step)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___3 = hashcmp(p1_base + p1_off, p2_base + p2_off);
    cmp___0 = tmp___3;
    if (cmp___0 == 0) {
      ret___67 ++;
      p1_off += p1_step;
      p2_off += p2_step;
      goto while_continue;
    }
    if (cmp___0 < 0) {
      p1_off += p1_step;
    } else {
      p2_off += p2_step;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static size_t get_pack_redundancy(struct pack_list *pl )
{
  struct pack_list *subset ;
  size_t ret___67 ;
  size_t tmp ;

  {
  ret___67 = (size_t )0;
  if ((unsigned long )pl == (unsigned long )((void *)0)) {
    return ((size_t )0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    subset = pl->next;
    if (! subset) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! subset) {
        goto while_break___0;
      }
      tmp = sizeof_union(pl->pack, subset->pack);
      ret___67 += tmp;
      subset = subset->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    pl = pl->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
__inline static off_t pack_set_bytecount(struct pack_list *pl )
{
  off_t ret___67 ;

  {
  ret___67 = (off_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! pl) {
      goto while_break;
    }
    ret___67 += (pl->pack)->pack_size;
    ret___67 = (off_t )((size_t )ret___67 + (pl->pack)->index_size);
    pl = pl->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static int cmp_remaining_objects(void const   *a , void const   *b___0 )
{
  struct pack_list *pl_a ;
  struct pack_list *pl_b ;

  {
  pl_a = *((struct pack_list **)a);
  pl_b = *((struct pack_list **)b___0);
  if ((pl_a->remaining_objects)->size == (pl_b->remaining_objects)->size) {
    if (pl_a->all_objects_size == pl_b->all_objects_size) {
      return (0);
    } else
    if (pl_a->all_objects_size < pl_b->all_objects_size) {
      return (1);
    } else {
      return (-1);
    }
  } else
  if ((pl_a->remaining_objects)->size < (pl_b->remaining_objects)->size) {
    return (1);
  } else {
    return (-1);
  }
}
}
static void sort_pack_list(struct pack_list **pl )
{
  struct pack_list **ary ;
  struct pack_list *p___0 ;
  int i ;
  size_t n ;
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;

  {
  tmp = pack_list_size(*pl);
  n = tmp;
  if (n < 2UL) {
    return;
  }
  tmp___0 = xcalloc(n, sizeof(*ary));
  ary = (struct pack_list **)tmp___0;
  n = (size_t )0;
  p___0 = *pl;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    tmp___1 = n;
    n ++;
    *(ary + tmp___1) = p___0;
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  sane_qsort((void *)ary, n, sizeof(*ary), & cmp_remaining_objects);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((size_t )i < n - 1UL)) {
      goto while_break___0;
    }
    (*(ary + i))->next = *(ary + (i + 1));
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  (*(ary + (n - 1UL)))->next = (struct pack_list *)((void *)0);
  *pl = *(ary + 0);
  free((void *)ary);
  return;
}
}
static void minimize(struct pack_list **min )
{
  struct pack_list *pl ;
  struct pack_list *unique ;
  struct pack_list *non_unique ;
  struct llist *missing ;
  struct llist *unique_pack_objects ;

  {
  unique = (struct pack_list *)((void *)0);
  non_unique = (struct pack_list *)((void *)0);
  pl = local_packs;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! pl) {
      goto while_break;
    }
    if ((pl->unique_objects)->size) {
      pack_list_insert(& unique, pl);
    } else {
      pack_list_insert(& non_unique, pl);
    }
    pl = pl->next;
  }
  while_break: /* CIL Label */ ;
  }
  missing = llist_copy(all_objects);
  pl = unique;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! pl) {
      goto while_break___0;
    }
    llist_sorted_difference_inplace(missing, pl->remaining_objects);
    pl = pl->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  *min = unique;
  if (missing->size == 0UL) {
    free((void *)missing);
    return;
  }
  unique_pack_objects = llist_copy(all_objects);
  llist_sorted_difference_inplace(unique_pack_objects, missing);
  pl = non_unique;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! pl) {
      goto while_break___1;
    }
    llist_sorted_difference_inplace(pl->remaining_objects, unique_pack_objects);
    pl = pl->next;
  }
  while_break___1: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! non_unique) {
      goto while_break___2;
    }
    sort_pack_list(& non_unique);
    if ((non_unique->remaining_objects)->size == 0UL) {
      goto while_break___2;
    }
    pack_list_insert(min, non_unique);
    pl = non_unique->next;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (pl) {
        if (! ((pl->remaining_objects)->size > 0UL)) {
          goto while_break___3;
        }
      } else {
        goto while_break___3;
      }
      llist_sorted_difference_inplace(pl->remaining_objects, non_unique->remaining_objects);
      pl = pl->next;
    }
    while_break___3: /* CIL Label */ ;
    }
    non_unique = non_unique->next;
  }
  while_break___2: /* CIL Label */ ;
  }
  return;
}
}
static void load_all_objects(void)
{
  struct pack_list *pl ;
  struct llist_item *hint ;
  struct llist_item *l ;

  {
  pl = local_packs;
  llist_init(& all_objects);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! pl) {
      goto while_break;
    }
    hint = (struct llist_item *)((void *)0);
    l = (pl->remaining_objects)->front;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! l) {
        goto while_break___0;
      }
      hint = llist_insert_sorted_unique(all_objects, (struct object_id  const  *)(& l->oid),
                                        hint);
      l = l->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    pl = pl->next;
  }
  while_break: /* CIL Label */ ;
  }
  pl = altodb_packs;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! pl) {
      goto while_break___1;
    }
    llist_sorted_difference_inplace(all_objects, pl->remaining_objects);
    pl = pl->next;
  }
  while_break___1: /* CIL Label */ ;
  }
  return;
}
}
static void cmp_local_packs(void)
{
  struct pack_list *subset ;
  struct pack_list *pl ;

  {
  pl = local_packs;
  if (! pl->next) {
    llist_init(& pl->unique_objects);
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    subset = pl;
    if (! subset) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      subset = subset->next;
      if (! subset) {
        goto while_break___0;
      }
      cmp_two_packs(pl, subset);
    }
    while_break___0: /* CIL Label */ ;
    }
    pl = pl->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void scan_alt_odb_packs(void)
{
  struct pack_list *local___0 ;
  struct pack_list *alt ;

  {
  alt = altodb_packs;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! alt) {
      goto while_break;
    }
    local___0 = local_packs;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! local___0) {
        goto while_break___0;
      }
      llist_sorted_difference_inplace(local___0->remaining_objects, alt->remaining_objects);
      local___0 = local___0->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    alt = alt->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct pack_list *add_pack(struct packed_git *p___0 )
{
  struct pack_list l ;
  size_t off ;
  size_t step ;
  unsigned char const   *base ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct pack_list *tmp___2 ;
  struct pack_list *tmp___3 ;

  {
  off = (size_t )0;
  if (! p___0->pack_local) {
    if (! alt_odb) {
      if (! verbose___7) {
        return ((struct pack_list *)((void *)0));
      }
    }
  }
  l.pack = p___0;
  llist_init(& l.remaining_objects);
  tmp = open_pack_index(p___0);
  if (tmp) {
    return ((struct pack_list *)((void *)0));
  }
  base = (unsigned char const   *)p___0->index_data;
  if (p___0->index_version < 2) {
    tmp___0 = 4;
  } else {
    tmp___0 = 8;
  }
  base += 1024 + tmp___0;
  if (p___0->index_version < 2) {
    tmp___1 = 4;
  } else {
    tmp___1 = 0;
  }
  step = (size_t )((the_repository->hash_algo)->rawsz + (size_t )tmp___1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (off < (size_t )p___0->num_objects * step)) {
      goto while_break;
    }
    llist_insert_back(l.remaining_objects, base + off);
    off += step;
  }
  while_break: /* CIL Label */ ;
  }
  l.all_objects_size = (l.remaining_objects)->size;
  l.unique_objects = (struct llist *)((void *)0);
  if (p___0->pack_local) {
    tmp___2 = pack_list_insert(& local_packs, & l);
    return (tmp___2);
  } else {
    tmp___3 = pack_list_insert(& altodb_packs, & l);
    return (tmp___3);
  }
}
}
static struct pack_list *add_pack_file(char const   *filename___0 )
{
  struct packed_git *p___0 ;
  struct packed_git *tmp ;
  size_t tmp___0 ;
  struct pack_list *tmp___1 ;
  char *tmp___2 ;

  {
  tmp = get_all_packs(the_repository);
  p___0 = tmp;
  tmp___0 = strlen(filename___0);
  if (tmp___0 < 40UL) {
    die((char const   *)"Bad pack filename: %s", filename___0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    tmp___2 = strstr((char const   *)(p___0->pack_name), filename___0);
    if (tmp___2) {
      tmp___1 = add_pack(p___0);
      return (tmp___1);
    }
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  die((char const   *)"Filename %s not found in packed_git", filename___0);
}
}
static void load_all(void)
{
  struct packed_git *p___0 ;
  struct packed_git *tmp ;

  {
  tmp = get_all_packs(the_repository);
  p___0 = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    add_pack(p___0);
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int cmd_pack_redundant(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  int i_still_use_this ;
  struct pack_list *min ;
  struct pack_list *red ;
  struct pack_list *pl ;
  struct llist *ignore ;
  struct object_id *oid ;
  char buf___19[66] ;
  int tmp ;
  char const   *arg ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  void *tmp___7 ;
  int tmp___8 ;
  char *tmp___9 ;
  int tmp___10 ;
  size_t tmp___11 ;
  off_t tmp___12 ;
  size_t tmp___13 ;
  char *tmp___14 ;
  off_t tmp___15 ;

  {
  i_still_use_this = 0;
  min = (struct pack_list *)((void *)0);
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage(pack_redundant_usage);
    }
  }
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    arg = *(argv___0 + i);
    tmp___0 = strcmp(arg, (char const   *)"--");
    if (! tmp___0) {
      i ++;
      goto while_break;
    }
    tmp___1 = strcmp(arg, (char const   *)"--all");
    if (! tmp___1) {
      load_all_packs = 1;
      goto __Cont;
    }
    tmp___2 = strcmp(arg, (char const   *)"--verbose");
    if (! tmp___2) {
      verbose___7 = 1;
      goto __Cont;
    }
    tmp___3 = strcmp(arg, (char const   *)"--alt-odb");
    if (! tmp___3) {
      alt_odb = 1;
      goto __Cont;
    }
    tmp___4 = strcmp(arg, (char const   *)"--i-still-use-this");
    if (! tmp___4) {
      i_still_use_this = 1;
      goto __Cont;
    }
    if ((int const   )*arg == 45) {
      usage(pack_redundant_usage);
    } else {
      goto while_break;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! i_still_use_this) {
    tmp___5 = _((char const   *)"\'git pack-redundant\' is nominated for removal.\nIf you still use this command, please add an extra\noption, \'--i-still-use-this\', on the command line\nand let us know you still use it by sending an e-mail\nto <git@vger.kernel.org>.  Thanks.\n");
    fputs((char const   * __restrict  )tmp___5, (FILE * __restrict  )stderr);
  }
  if (load_all_packs) {
    load_all();
  } else {
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned long )*(argv___0 + i) != (unsigned long )((void *)0))) {
        goto while_break___0;
      }
      tmp___6 = i;
      i ++;
      add_pack_file(*(argv___0 + tmp___6));
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  if ((unsigned long )local_packs == (unsigned long )((void *)0)) {
    die((char const   *)"Zero packs found!");
  }
  load_all_objects();
  if (alt_odb) {
    scan_alt_odb_packs();
  }
  llist_init(& ignore);
  tmp___10 = isatty(0);
  if (! tmp___10) {
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      tmp___9 = fgets(buf___19, (int )sizeof(buf___19), stdin);
      if (! tmp___9) {
        goto while_break___1;
      }
      tmp___7 = xmalloc(sizeof(*oid));
      oid = (struct object_id *)tmp___7;
      tmp___8 = get_oid_hex((char const   *)(buf___19), oid);
      if (tmp___8) {
        die((char const   *)"Bad object ID on stdin: %s", buf___19);
      }
      llist_insert_sorted_unique(ignore, (struct object_id  const  *)oid, (struct llist_item *)((void *)0));
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  llist_sorted_difference_inplace(all_objects, ignore);
  pl = local_packs;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! pl) {
      goto while_break___2;
    }
    llist_sorted_difference_inplace(pl->remaining_objects, ignore);
    pl = pl->next;
  }
  while_break___2: /* CIL Label */ ;
  }
  cmp_local_packs();
  minimize(& min);
  if (verbose___7) {
    tmp___11 = pack_list_size(altodb_packs);
    fprintf(stderr, (char const   *)"There are %lu packs available in alt-odbs.\n",
            tmp___11);
    fprintf(stderr, (char const   *)"The smallest (bytewise) set of packs is:\n");
    pl = min;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! pl) {
        goto while_break___3;
      }
      fprintf(stderr, (char const   *)"\t%s\n", (pl->pack)->pack_name);
      pl = pl->next;
    }
    while_break___3: /* CIL Label */ ;
    }
    tmp___12 = pack_set_bytecount(min);
    tmp___13 = get_pack_redundancy(min);
    fprintf(stderr, (char const   *)"containing %lu duplicate objects with a total size of %lukb.\n",
            tmp___13, (unsigned long )tmp___12 / 1024UL);
    fprintf(stderr, (char const   *)"A total of %lu unique objects were considered.\n",
            all_objects->size);
    fprintf(stderr, (char const   *)"Redundant packs (with indexes):\n");
  }
  red = pack_list_difference((struct pack_list  const  *)local_packs, (struct pack_list  const  *)min);
  pl = red;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! pl) {
      goto while_break___4;
    }
    tmp___14 = sha1_pack_index_name((unsigned char const   *)((pl->pack)->hash));
    printf((char const   *)"%s\n%s\n", tmp___14, (pl->pack)->pack_name);
    pl = pl->next;
  }
  while_break___4: /* CIL Label */ ;
  }
  if (verbose___7) {
    tmp___15 = pack_set_bytecount(red);
    fprintf(stderr, (char const   *)"%luMB of redundant packs in total.\n", (unsigned long )tmp___15 / 1048576UL);
  }
  return (0);
}
}
static char const   *pack_refs_usage[2]  = {      (char const   *)"git pack-refs [<options>]",      (char const   *)((void *)0)};
int cmd_pack_refs(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  unsigned int flags___0 ;
  struct option opts___1[3] ;
  int tmp ;
  struct ref_store *tmp___0 ;
  int tmp___1 ;

  {
  flags___0 = 1U;
  opts___1[0].type = (enum parse_opt_type )4;
  opts___1[0].short_name = 0;
  opts___1[0].long_name = (char const   *)"all";
  opts___1[0].value = (void *)(& flags___0);
  opts___1[0].argh = (char const   *)((void *)0);
  opts___1[0].help = (char const   *)"pack everything";
  opts___1[0].flags = (enum parse_opt_option_flags )2;
  opts___1[0].callback = (parse_opt_cb *)((void *)0);
  opts___1[0].defval = (intptr_t )0x0002;
  opts___1[0].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[0].extra = 0L;
  opts___1[1].type = (enum parse_opt_type )4;
  opts___1[1].short_name = 0;
  opts___1[1].long_name = (char const   *)"prune";
  opts___1[1].value = (void *)(& flags___0);
  opts___1[1].argh = (char const   *)((void *)0);
  opts___1[1].help = (char const   *)"prune loose refs (default)";
  opts___1[1].flags = (enum parse_opt_option_flags )2;
  opts___1[1].callback = (parse_opt_cb *)((void *)0);
  opts___1[1].defval = (intptr_t )0x0001;
  opts___1[1].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[1].extra = 0L;
  opts___1[2].type = (enum parse_opt_type )0;
  opts___1[2].short_name = 0;
  opts___1[2].long_name = (char const   *)0;
  opts___1[2].value = (void *)0;
  opts___1[2].argh = (char const   *)0;
  opts___1[2].help = (char const   *)0;
  opts___1[2].flags = 0U;
  opts___1[2].callback = (parse_opt_cb *)0;
  opts___1[2].defval = 0L;
  opts___1[2].ll_callback = (parse_opt_ll_cb *)0;
  opts___1[2].extra = 0L;
  git_config(& git_default_config, (void *)0);
  tmp = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(opts___1),
                      pack_refs_usage, (enum parse_opt_flags )0);
  if (tmp) {
    usage_with_options(pack_refs_usage, (struct option  const  *)(opts___1));
  }
  tmp___0 = get_main_ref_store(the_repository);
  tmp___1 = refs_pack_refs(tmp___0, flags___0);
  return (tmp___1);
}
}
static double const   __ac_HASH_UPPER___142  =    (double const   )0.77;
__inline static void kh_resize_oid_set___142(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___142(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___142 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___142 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___142(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___142(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___142(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___142(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___142(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___142(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___142 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___142 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___142(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___142(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___142(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___142(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___142(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___142(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___142 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___142 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___142(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___142(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___142(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___142(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void flush_current_id(int patchlen , struct object_id *id , struct object_id *result___0 )
{
  char *tmp ;
  char *tmp___0 ;

  {
  if (patchlen) {
    tmp = oid_to_hex((struct object_id  const  *)id);
    tmp___0 = oid_to_hex((struct object_id  const  *)result___0);
    printf((char const   *)"%s %s\n", tmp___0, tmp);
  }
  return;
}
}
static int remove_space___0(char *line___0 )
{
  char *src ;
  char *dst ;
  unsigned char c___0 ;
  char *tmp ;
  char *tmp___0 ;

  {
  src = line___0;
  dst = line___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = src;
    src ++;
    c___0 = (unsigned char )*tmp___0;
    if (! ((int )c___0 != 0)) {
      goto while_break;
    }
    if (! (((int const   )sane_ctype[c___0] & 1) != 0)) {
      tmp = dst;
      dst ++;
      *tmp = (char )c___0;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return ((int )(dst - line___0));
}
}
static int scan_hunk_header(char const   *p___0 , int *p_before , int *p_after ) ;
static char const   digits[11]  =
  {      (char const   )'0',      (char const   )'1',      (char const   )'2',      (char const   )'3',
        (char const   )'4',      (char const   )'5',      (char const   )'6',      (char const   )'7',
        (char const   )'8',      (char const   )'9',      (char const   )'\000'};
static int scan_hunk_header(char const   *p___0 , int *p_before , int *p_after )
{
  char const   *q ;
  char const   *r ;
  int n ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;

  {
  q = p___0 + 4;
  tmp = strspn(q, digits);
  n = (int )tmp;
  if ((int const   )*(q + n) == 44) {
    q += n + 1;
    tmp___0 = strspn(q, digits);
    n = (int )tmp___0;
  }
  if (n == 0) {
    return (0);
  } else
  if ((int const   )*(q + n) != 32) {
    return (0);
  } else
  if ((int const   )*(q + (n + 1)) != 43) {
    return (0);
  }
  r = (q + n) + 2;
  tmp___1 = strspn(r, digits);
  n = (int )tmp___1;
  if ((int const   )*(r + n) == 44) {
    r += n + 1;
    tmp___2 = strspn(r, digits);
    n = (int )tmp___2;
  }
  if (n == 0) {
    return (0);
  }
  *p_before = atoi(q);
  *p_after = atoi(r);
  return (1);
}
}
static int get_one_patchid(struct object_id *next_oid , struct object_id *result___0 ,
                           struct strbuf *line_buf , int stable )
{
  int patchlen ;
  int found_next ;
  int before ;
  int after ;
  git_hash_ctx ctx___0 ;
  char *line___0 ;
  char const   *p___0 ;
  int len___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  size_t tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  patchlen = 0;
  found_next = 0;
  before = -1;
  after = -1;
  (*((the_repository->hash_algo)->init_fn))(& ctx___0);
  oidclr(result___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___10 = strbuf_getwholeline(line_buf, stdin, '\n');
    if (! (tmp___10 != -1)) {
      goto while_break;
    }
    line___0 = line_buf->buf;
    p___0 = (char const   *)line___0;
    tmp = skip_prefix((char const   *)line___0, (char const   *)"diff-tree ", & p___0);
    if (! tmp) {
      tmp___0 = skip_prefix((char const   *)line___0, (char const   *)"commit ", & p___0);
      if (! tmp___0) {
        tmp___1 = skip_prefix((char const   *)line___0, (char const   *)"From ", & p___0);
        if (! tmp___1) {
          tmp___2 = starts_with((char const   *)line___0, (char const   *)"\\ ");
          if (tmp___2) {
            tmp___3 = strlen((char const   *)line___0);
            if (12UL < tmp___3) {
              goto while_continue;
            }
          }
        }
      }
    }
    tmp___4 = get_oid_hex(p___0, next_oid);
    if (! tmp___4) {
      found_next = 1;
      goto while_break;
    }
    if (! patchlen) {
      tmp___5 = starts_with((char const   *)line___0, (char const   *)"diff ");
      if (! tmp___5) {
        goto while_continue;
      }
    }
    if (before == -1) {
      tmp___7 = starts_with((char const   *)line___0, (char const   *)"index ");
      if (tmp___7) {
        goto while_continue;
      } else {
        tmp___6 = starts_with((char const   *)line___0, (char const   *)"--- ");
        if (tmp___6) {
          after = 1;
          before = after;
        } else
        if (! (((int const   )sane_ctype[(unsigned char )*(line___0 + 0)] & 4) != 0)) {
          goto while_break;
        }
      }
    }
    if (before == 0) {
      if (after == 0) {
        tmp___8 = starts_with((char const   *)line___0, (char const   *)"@@ -");
        if (tmp___8) {
          scan_hunk_header((char const   *)line___0, & before, & after);
          goto while_continue;
        }
        tmp___9 = starts_with((char const   *)line___0, (char const   *)"diff ");
        if (! tmp___9) {
          goto while_break;
        }
        if (stable) {
          flush_one_hunk(result___0, & ctx___0);
        }
        after = -1;
        before = after;
      }
    }
    if ((int )*(line___0 + 0) == 45) {
      before --;
    } else
    if ((int )*(line___0 + 0) == 32) {
      before --;
    }
    if ((int )*(line___0 + 0) == 43) {
      after --;
    } else
    if ((int )*(line___0 + 0) == 32) {
      after --;
    }
    len___0 = remove_space___0(line___0);
    patchlen += len___0;
    (*((the_repository->hash_algo)->update_fn))(& ctx___0, (void const   *)line___0,
                                                (size_t )len___0);
  }
  while_break: /* CIL Label */ ;
  }
  if (! found_next) {
    oidclr(next_oid);
  }
  flush_one_hunk(result___0, & ctx___0);
  return (patchlen);
}
}
static void generate_id_list(int stable )
{
  struct object_id oid ;
  struct object_id n ;
  struct object_id result___0 ;
  int patchlen ;
  struct strbuf line_buf ;
  int tmp ;

  {
  line_buf.alloc = 0UL;
  line_buf.len = 0UL;
  line_buf.buf = strbuf_slopbuf;
  oidclr(& oid);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = feof(stdin);
    if (tmp) {
      goto while_break;
    }
    patchlen = get_one_patchid(& n, & result___0, & line_buf, stable);
    flush_current_id(patchlen, & oid, & result___0);
    oidcpy(& oid, (struct object_id  const  *)(& n));
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& line_buf);
  return;
}
}
static char const   patch_id_usage[37]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'p',      (char const   )'a',      (char const   )'t',      (char const   )'c',
        (char const   )'h',      (char const   )'-',      (char const   )'i',      (char const   )'d',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'-',
        (char const   )'s',      (char const   )'t',      (char const   )'a',      (char const   )'b',
        (char const   )'l',      (char const   )'e',      (char const   )' ',      (char const   )'|',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'u',
        (char const   )'n',      (char const   )'s',      (char const   )'t',      (char const   )'a',
        (char const   )'b',      (char const   )'l',      (char const   )'e',      (char const   )']',
        (char const   )'\000'};
static int git_patch_id_config(char const   *var , char const   *value , void *cb )
{
  int *stable ;
  int tmp ;
  int tmp___0 ;

  {
  stable = (int *)cb;
  tmp = strcmp(var, (char const   *)"patchid.stable");
  if (! tmp) {
    *stable = git_config_bool(var, value);
    return (0);
  }
  tmp___0 = git_default_config(var, value, cb);
  return (tmp___0);
}
}
int cmd_patch_id(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int stable ;
  int tmp ;
  int tmp___0 ;

  {
  stable = -1;
  git_config(& git_patch_id_config, (void *)(& stable));
  if (stable < 0) {
    stable = 0;
  }
  if (argc == 2) {
    tmp___0 = strcmp(*(argv___0 + 1), (char const   *)"--stable");
    if (tmp___0) {
      goto _L___0;
    } else {
      stable = 1;
    }
  } else
  _L___0: /* CIL Label */
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"--unstable");
    if (tmp) {
      goto _L;
    } else {
      stable = 0;
    }
  } else
  _L: /* CIL Label */
  if (argc != 1) {
    usage(patch_id_usage);
  }
  generate_id_list(stable);
  return (0);
}
}
static char const   *prune_packed_usage[2]  = {      (char const   *)"git prune-packed [-n | --dry-run] [-q | --quiet]",      (char const   *)((void *)0)};
int cmd_prune_packed(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int opts___1 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct option prune_packed_options[3] ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  tmp___1 = isatty(2);
  if (tmp___1) {
    tmp___0 = 02;
  } else {
    tmp___0 = 0;
  }
  opts___1 = tmp___0;
  prune_packed_options[0].type = (enum parse_opt_type )((enum parse_opt_type )4);
  prune_packed_options[0].short_name = (int )'n';
  prune_packed_options[0].long_name = (char const   *)((char const   *)"dry-run");
  prune_packed_options[0].value = (void *)((void *)(& opts___1));
  prune_packed_options[0].argh = (char const   *)((char const   *)((void *)0));
  prune_packed_options[0].help = (char const   *)((char const   *)"dry run");
  prune_packed_options[0].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  prune_packed_options[0].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  prune_packed_options[0].defval = (intptr_t )((intptr_t )01);
  prune_packed_options[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  prune_packed_options[0].extra = (intptr_t )0L;
  prune_packed_options[1].type = (enum parse_opt_type )((enum parse_opt_type )5);
  prune_packed_options[1].short_name = (int )'q';
  prune_packed_options[1].long_name = (char const   *)((char const   *)"quiet");
  prune_packed_options[1].value = (void *)((void *)(& opts___1));
  prune_packed_options[1].argh = (char const   *)((char const   *)((void *)0));
  prune_packed_options[1].help = (char const   *)((char const   *)"be quiet");
  prune_packed_options[1].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  prune_packed_options[1].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  prune_packed_options[1].defval = (intptr_t )((intptr_t )02);
  prune_packed_options[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  prune_packed_options[1].extra = (intptr_t )0L;
  prune_packed_options[2].type = (enum parse_opt_type )((enum parse_opt_type )0);
  prune_packed_options[2].short_name = (int )0;
  prune_packed_options[2].long_name = (char const   *)((char const   *)0);
  prune_packed_options[2].value = (void *)((void *)0);
  prune_packed_options[2].argh = (char const   *)((char const   *)0);
  prune_packed_options[2].help = (char const   *)((char const   *)0);
  prune_packed_options[2].flags = (enum parse_opt_option_flags )0U;
  prune_packed_options[2].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  prune_packed_options[2].defval = (intptr_t )0L;
  prune_packed_options[2].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  prune_packed_options[2].extra = (intptr_t )0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(prune_packed_options),
                       prune_packed_usage, (enum parse_opt_flags )0);
  if (argc > 0) {
    tmp___2 = _((char const   *)"too many arguments");
    usage_msg_opt((char const   *)tmp___2, prune_packed_usage, (struct option  const  *)(prune_packed_options));
  }
  prune_packed_objects(opts___1);
  return (0);
}
}
static double const   __ac_HASH_UPPER___143  =    (double const   )0.77;
__inline static void kh_resize_oid_set___143(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___143(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___143 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___143 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___143(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___143(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___143(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___143(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___143(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___143(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___143 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___143 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___143(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___143(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___143(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___143(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___143(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___143(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___143 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___143 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___143(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___143(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___143(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___143(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___107(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___107(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___143 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___143 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___107(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___107(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___107(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___107(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *prune_usage[2]  = {      (char const   *)"git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]",      (char const   *)((void *)0)};
static int show_only___0  ;
static int verbose___8  ;
static timestamp_t expire  ;
static int show_progress___3  =    -1;
static int prune_tmp_file(char const   *fullpath )
{
  struct stat st ;
  int tmp ;
  int tmp___0 ;
  struct strbuf remove_dir_buf ;

  {
  tmp___0 = lstat(fullpath, & st);
  if (tmp___0) {
    error((char const   *)"Could not stat \'%s\'", fullpath);
    tmp = const_error();
    return (tmp);
  }
  if ((timestamp_t )st.st_mtim.tv_sec > expire) {
    return (0);
  }
  if ((st.st_mode & 61440U) == 16384U) {
    if (show_only___0) {
      printf((char const   *)"Removing stale temporary directory %s\n", fullpath);
    } else
    if (verbose___8) {
      printf((char const   *)"Removing stale temporary directory %s\n", fullpath);
    }
    if (! show_only___0) {
      remove_dir_buf.alloc = 0UL;
      remove_dir_buf.len = 0UL;
      remove_dir_buf.buf = strbuf_slopbuf;
      strbuf_addstr(& remove_dir_buf, fullpath);
      remove_dir_recursively(& remove_dir_buf, 0);
      strbuf_release(& remove_dir_buf);
    }
  } else {
    if (show_only___0) {
      printf((char const   *)"Removing stale temporary file %s\n", fullpath);
    } else
    if (verbose___8) {
      printf((char const   *)"Removing stale temporary file %s\n", fullpath);
    }
    if (! show_only___0) {
      unlink_or_warn(fullpath);
    }
  }
  return (0);
}
}
static int initialized___6  ;
static void perform_reachability_traversal(struct rev_info *revs )
{
  struct progress *progress___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  progress___7 = (struct progress *)((void *)0);
  if (initialized___6) {
    return;
  }
  if (show_progress___3) {
    tmp = _((char const   *)"Checking connectivity");
    progress___7 = start_delayed_progress((char const   *)tmp, (uint64_t )0);
  }
  mark_reachable_objects(revs, 1, expire, progress___7);
  stop_progress(& progress___7);
  initialized___6 = 1;
  return;
}
}
static int is_object_reachable(struct object_id  const  *oid , struct rev_info *revs )
{
  struct object *obj ;
  int tmp ;

  {
  perform_reachability_traversal(revs);
  obj = lookup_object(the_repository, oid);
  if (obj) {
    if (obj->flags & 1u) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static int prune_object___0(struct object_id  const  *oid , char const   *fullpath ,
                            void *data )
{
  struct rev_info *revs ;
  struct stat st ;
  int tmp ;
  int tmp___0 ;
  enum object_type type___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char *tmp___4 ;

  {
  revs = (struct rev_info *)data;
  tmp = is_object_reachable(oid, revs);
  if (tmp) {
    return (0);
  }
  tmp___0 = lstat(fullpath, & st);
  if (tmp___0) {
    error((char const   *)"Could not stat \'%s\'", fullpath);
    const_error();
    return (0);
  }
  if ((timestamp_t )st.st_mtim.tv_sec > expire) {
    return (0);
  }
  if (show_only___0) {
    goto _L;
  } else
  if (verbose___8) {
    _L: /* CIL Label */
    tmp___1 = oid_object_info(the_repository, oid, (unsigned long *)((void *)0));
    type___0 = (enum object_type )tmp___1;
    if ((int )type___0 > 0) {
      tmp___2 = type_name((unsigned int )type___0);
      tmp___3 = tmp___2;
    } else {
      tmp___3 = (char const   *)"unknown";
    }
    tmp___4 = oid_to_hex(oid);
    printf((char const   *)"%s %s\n", tmp___4, tmp___3);
  }
  if (! show_only___0) {
    unlink_or_warn(fullpath);
  }
  return (0);
}
}
static int prune_cruft(char const   *__xpg_basename___0 , char const   *path___6 ,
                       void *data )
{
  int tmp ;

  {
  tmp = starts_with(__xpg_basename___0, (char const   *)"tmp_obj_");
  if (tmp) {
    prune_tmp_file(path___6);
  } else {
    fprintf(stderr, (char const   *)"bad sha1 file: %s\n", path___6);
  }
  return (0);
}
}
static int prune_subdir___0(unsigned int nr___0 , char const   *path___6 , void *data )
{


  {
  if (! show_only___0) {
    lstat_cache_aware_rmdir(path___6);
  }
  return (0);
}
}
static void remove_temporary_files(char const   *path___6 )
{
  DIR *dir ;
  struct dirent *de ;
  char const   *tmp ;
  int tmp___0 ;

  {
  dir = opendir(path___6);
  if (! dir) {
    fprintf(stderr, (char const   *)"Unable to open directory %s\n", path___6);
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    de = readdir(dir);
    if (! ((unsigned long )de != (unsigned long )((void *)0))) {
      goto while_break;
    }
    tmp___0 = starts_with((char const   *)(de->d_name), (char const   *)"tmp_");
    if (tmp___0) {
      tmp = mkpath((char const   *)"%s/%s", path___6, de->d_name);
      prune_tmp_file(tmp);
    }
  }
  while_break: /* CIL Label */ ;
  }
  closedir(dir);
  return;
}
}
int cmd_prune(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct rev_info revs ;
  int exclude_promisor_objects___0 ;
  struct option options[6] ;
  char *s___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct object_id oid ;
  char const   *name___0 ;
  char const   **tmp___0 ;
  struct object *object ;
  struct object *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  char *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  exclude_promisor_objects___0 = 0;
  options[0].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[0].short_name = (int )'n';
  options[0].long_name = (char const   *)((char const   *)"dry-run");
  options[0].value = (void *)((void *)(& show_only___0));
  options[0].argh = (char const   *)((char const   *)((void *)0));
  options[0].help = (char const   *)((char const   *)"do not remove, show only");
  options[0].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[0].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[0].defval = (intptr_t )((intptr_t )1);
  options[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[0].extra = (intptr_t )0L;
  options[1].type = (enum parse_opt_type )((enum parse_opt_type )7);
  options[1].short_name = (int )'v';
  options[1].long_name = (char const   *)((char const   *)"verbose");
  options[1].value = (void *)((void *)(& verbose___8));
  options[1].argh = (char const   *)((char const   *)((void *)0));
  options[1].help = (char const   *)((char const   *)"report pruned objects");
  options[1].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[1].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  options[1].defval = (intptr_t )0L;
  options[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[1].extra = (intptr_t )0L;
  options[2].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[2].short_name = (int )0;
  options[2].long_name = (char const   *)((char const   *)"progress");
  options[2].value = (void *)((void *)(& show_progress___3));
  options[2].argh = (char const   *)((char const   *)((void *)0));
  options[2].help = (char const   *)((char const   *)"show progress");
  options[2].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[2].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[2].defval = (intptr_t )((intptr_t )1);
  options[2].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[2].extra = (intptr_t )0L;
  options[3].type = (enum parse_opt_type )((enum parse_opt_type )12);
  options[3].short_name = (int )0;
  options[3].long_name = (char const   *)((char const   *)"expire");
  options[3].value = (void *)((void *)(& expire));
  options[3].argh = (char const   *)((char const   *)"expiry-date");
  options[3].help = (char const   *)((char const   *)"expire objects older than <time>");
  options[3].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  options[3].callback = (parse_opt_cb *)(& parse_opt_expiry_date_cb);
  options[3].defval = (intptr_t )0L;
  options[3].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[3].extra = (intptr_t )0L;
  options[4].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[4].short_name = (int )0;
  options[4].long_name = (char const   *)((char const   *)"exclude-promisor-objects");
  options[4].value = (void *)((void *)(& exclude_promisor_objects___0));
  options[4].argh = (char const   *)((char const   *)((void *)0));
  options[4].help = (char const   *)((char const   *)"limit traversal to objects outside promisor packfiles");
  options[4].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[4].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[4].defval = (intptr_t )((intptr_t )1);
  options[4].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[4].extra = (intptr_t )0L;
  options[5].type = (enum parse_opt_type )((enum parse_opt_type )0);
  options[5].short_name = (int )0;
  options[5].long_name = (char const   *)((char const   *)0);
  options[5].value = (void *)((void *)0);
  options[5].argh = (char const   *)((char const   *)0);
  options[5].help = (char const   *)((char const   *)0);
  options[5].flags = (enum parse_opt_option_flags )0U;
  options[5].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  options[5].defval = (intptr_t )0L;
  options[5].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[5].extra = (intptr_t )0L;
  expire = 18446744073709551615UL;
  save_commit_buffer = 0;
  read_replace_refs = 0;
  repo_init_revisions(the_repository, & revs, prefix___1);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       prune_usage, (enum parse_opt_flags )0);
  if (repository_format_precious_objects) {
    tmp = _((char const   *)"cannot prune in a precious-objects repo");
    die((char const   *)tmp);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = argc;
    argc --;
    if (! tmp___3) {
      goto while_break;
    }
    tmp___0 = argv___0;
    argv___0 ++;
    name___0 = *tmp___0;
    tmp___2 = repo_get_oid(the_repository, name___0, & oid);
    if (tmp___2) {
      die((char const   *)"unrecognized argument: %s", name___0);
    } else {
      tmp___1 = parse_object_or_die((struct object_id  const  *)(& oid), name___0);
      object = tmp___1;
      add_pending_object(& revs, object, (char const   *)"");
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (show_progress___3 == -1) {
    show_progress___3 = isatty(2);
  }
  if (exclude_promisor_objects___0) {
    fetch_if_missing = 0;
    revs.exclude_promisor_objects = 1U;
  }
  tmp___4 = get_object_directory();
  for_each_loose_file_in_objdir((char const   *)tmp___4, & prune_object___0, & prune_cruft,
                                & prune_subdir___0, (void *)(& revs));
  if (show_only___0) {
    tmp___5 = 01;
  } else {
    tmp___5 = 0;
  }
  prune_packed_objects(tmp___5);
  tmp___6 = get_object_directory();
  remove_temporary_files((char const   *)tmp___6);
  tmp___7 = get_object_directory();
  s___1 = mkpathdup((char const   *)"%s/pack", tmp___7);
  remove_temporary_files((char const   *)s___1);
  free((void *)s___1);
  tmp___9 = is_repository_shallow(the_repository);
  if (tmp___9) {
    perform_reachability_traversal(& revs);
    if (show_only___0) {
      tmp___8 = 1;
    } else {
      tmp___8 = 0;
    }
    prune_shallow((unsigned int )tmp___8);
  }
  return (0);
}
}
static double const   __ac_HASH_UPPER___144  =    (double const   )0.77;
__inline static void kh_resize_oid_set___144(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___144(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___144 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___144 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___144(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___144(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___144(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___144(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___144(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___144(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___144 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___144 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___144(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___144(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___144(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___144(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___144(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___144(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___144 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___144 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___144(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___144(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___144(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___144(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_contains_cache_with_stride___24(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___24(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___24(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___24(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___24(s___1, 1U);
  return;
}
}
static void clear_contains_cache___24(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___24(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___24(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___24(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___24(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___24(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___24(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___24(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___24(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___24(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___24(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___24(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___24(s___1, c___0, 0);
  return (tmp);
}
}
static int parse_config_rebase(char const   *key___1 , char const   *value , int fatal )
{
  int v ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  tmp = rebase_parse_value(value);
  v = tmp;
  if ((int )v != -1) {
    return (v);
  }
  if (fatal) {
    tmp___0 = _((char const   *)"Invalid value for %s: %s");
    die((char const   *)tmp___0, key___1, value);
  } else {
    tmp___1 = _((char const   *)"Invalid value for %s: %s");
    error((char const   *)tmp___1, key___1, value);
    const_error();
  }
  return ((int )-1);
}
}
static int parse_opt_rebase(struct option  const  *opt___0 , char const   *arg , int unset )
{
  int *value ;
  int tmp ;

  {
  value = (int *)opt___0->value;
  if (arg) {
    *value = parse_config_rebase((char const   *)"--rebase", arg, 0);
  } else
  if (unset) {
    *value = (int )0;
  } else {
    *value = (int )1;
  }
  if ((int )*value == -1) {
    tmp = -1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static char const   *pull_usage[2]  = {      (char const   *)"git pull [<options>] [<repository> [<refspec>...]]",      (char const   *)((void *)0)};
static int opt_verbosity  ;
static char *opt_progress  ;
static int recurse_submodules___2  =    1;
static int opt_rebase  =    (int )-1;
static char *opt_diffstat  ;
static char *opt_log  ;
static char *opt_signoff  ;
static char *opt_squash  ;
static char *opt_commit  ;
static char *opt_edit  ;
static char *cleanup_arg___1  ;
static char *opt_ff  ;
static char *opt_verify_signatures  ;
static char *opt_verify  ;
static int opt_autostash  =    -1;
static int config_autostash  ;
static int check_trust_level___0  =    1;
static struct strvec opt_strategies  =    {empty_strvec, 0UL, 0UL};
static struct strvec opt_strategy_opts  =    {empty_strvec, 0UL, 0UL};
static char *opt_gpg_sign  ;
static int opt_allow_unrelated_histories  ;
static char *opt_all  ;
static char *opt_append  ;
static char *opt_upload_pack  ;
static int opt_force  ;
static char *opt_tags  ;
static char *opt_prune  ;
static char *max_children  ;
static int opt_dry_run  ;
static char *opt_keep  ;
static char *opt_depth  ;
static char *opt_unshallow  ;
static char *opt_update_shallow  ;
static char *opt_refmap  ;
static char *opt_ipv4  ;
static char *opt_ipv6  ;
static int opt_show_forced_updates  =    -1;
static char *set_upstream___0  ;
static struct strvec opt_fetch  =    {empty_strvec, 0UL, 0UL};
static struct option pull_options[48]  =
  {      {(enum parse_opt_type )12, 'v', (char const   *)"verbose", (void *)(& opt_verbosity),
      (char const   *)((void *)0), (char const   *)"be more verbose", (enum parse_opt_option_flags )2,
      & parse_opt_verbosity_cb, (intptr_t )0, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 'q', (char const   *)"quiet", (void *)(& opt_verbosity),
      (char const   *)((void *)0), (char const   *)"be more quiet", (enum parse_opt_option_flags )2,
      & parse_opt_verbosity_cb, (intptr_t )0, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"progress", (void *)(& opt_progress),
      (char const   *)((void *)0), (char const   *)"force progress reporting", (enum parse_opt_option_flags )2,
      & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"recurse-submodules", (void *)(& recurse_submodules___2),
      (char const   *)"on-demand", (char const   *)"control for recursive fetching of submodules",
      (enum parse_opt_option_flags )1, & option_fetch_parse_recurse_submodules, 0L,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )1, 0, (char const   *)((void *)0), (void *)0, (char const   *)((void *)0),
      (char const   *)"Options related to merging", 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 'r', (char const   *)"rebase", (void *)(& opt_rebase),
      (char const   *)"(false|true|merges|interactive)", (char const   *)"incorporate changes by rebasing rather than merging",
      (enum parse_opt_option_flags )1, & parse_opt_rebase, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 'n', (char const   *)((void *)0), (void *)(& opt_diffstat),
      (char const   *)((void *)0), (char const   *)"do not show a diffstat at the end of the merge",
      (enum parse_opt_option_flags )6, & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"stat", (void *)(& opt_diffstat),
      (char const   *)((void *)0), (char const   *)"show a diffstat at the end of the merge",
      (enum parse_opt_option_flags )2, & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"summary", (void *)(& opt_diffstat),
      (char const   *)((void *)0), (char const   *)"(synonym to --stat)", (enum parse_opt_option_flags )10,
      & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"log", (void *)(& opt_log), (char const   *)"n",
      (char const   *)"add (at most <n>) entries from shortlog to merge commit message",
      (enum parse_opt_option_flags )1, & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"signoff", (void *)(& opt_signoff),
      (char const   *)((void *)0), (char const   *)"add a Signed-off-by trailer",
      (enum parse_opt_option_flags )1, & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"squash", (void *)(& opt_squash),
      (char const   *)((void *)0), (char const   *)"create a single commit instead of doing a merge",
      (enum parse_opt_option_flags )2, & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"commit", (void *)(& opt_commit),
      (char const   *)((void *)0), (char const   *)"perform a commit if the merge succeeds (default)",
      (enum parse_opt_option_flags )2, & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"edit", (void *)(& opt_edit), (char const   *)((void *)0),
      (char const   *)"edit message before committing", (enum parse_opt_option_flags )2,
      & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )9, 0, (char const   *)"cleanup", (void *)(& cleanup_arg___1),
      (char const   *)"mode", (char const   *)"how to strip spaces and #comments from message",
      (enum parse_opt_option_flags )0, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"ff", (void *)(& opt_ff), (char const   *)((void *)0),
      (char const   *)"allow fast-forward", (enum parse_opt_option_flags )2, & parse_opt_passthru,
      0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"ff-only", (void *)(& opt_ff),
      (char const   *)((void *)0), (char const   *)"abort if fast-forward is not possible",
      (enum parse_opt_option_flags )6, & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"verify", (void *)(& opt_verify),
      (char const   *)((void *)0), (char const   *)"control use of pre-merge-commit and commit-msg hooks",
      (enum parse_opt_option_flags )2, & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"verify-signatures", (void *)(& opt_verify_signatures),
      (char const   *)((void *)0), (char const   *)"verify that the named commit has a valid GPG signature",
      (enum parse_opt_option_flags )2, & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )8, 0, (char const   *)"autostash", (void *)(& opt_autostash),
      (char const   *)((void *)0), (char const   *)"automatically stash/stash pop before and after",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 's', (char const   *)"strategy", (void *)(& opt_strategies),
      (char const   *)"strategy", (char const   *)"merge strategy to use", (enum parse_opt_option_flags )0,
      & parse_opt_passthru_argv, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 'X', (char const   *)"strategy-option", (void *)(& opt_strategy_opts),
      (char const   *)"option=value", (char const   *)"option for selected merge strategy",
      (enum parse_opt_option_flags )0, & parse_opt_passthru_argv, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 'S', (char const   *)"gpg-sign", (void *)(& opt_gpg_sign),
      (char const   *)"key-id", (char const   *)"GPG sign commit", (enum parse_opt_option_flags )1,
      & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"allow-unrelated-histories", (void *)(& opt_allow_unrelated_histories),
      (char const   *)((void *)0), (char const   *)"allow merging unrelated histories",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )1, 0, (char const   *)((void *)0), (void *)0, (char const   *)((void *)0),
      (char const   *)"Options related to fetching", 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"all", (void *)(& opt_all), (char const   *)((void *)0),
      (char const   *)"fetch from all remotes", (enum parse_opt_option_flags )2, & parse_opt_passthru,
      0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 'a', (char const   *)"append", (void *)(& opt_append),
      (char const   *)((void *)0), (char const   *)"append to .git/FETCH_HEAD instead of overwriting",
      (enum parse_opt_option_flags )2, & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"upload-pack", (void *)(& opt_upload_pack),
      (char const   *)"path", (char const   *)"path to upload pack on remote end",
      (enum parse_opt_option_flags )0, & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )7, 'f', (char const   *)"force", (void *)(& opt_force),
      (char const   *)((void *)0), (char const   *)"force overwrite of local branch",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 't', (char const   *)"tags", (void *)(& opt_tags),
      (char const   *)((void *)0), (char const   *)"fetch all tags and associated objects",
      (enum parse_opt_option_flags )2, & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 'p', (char const   *)"prune", (void *)(& opt_prune),
      (char const   *)((void *)0), (char const   *)"prune remote-tracking branches no longer on remote",
      (enum parse_opt_option_flags )2, & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 'j', (char const   *)"jobs", (void *)(& max_children),
      (char const   *)"n", (char const   *)"number of submodules pulled in parallel",
      (enum parse_opt_option_flags )1, & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )8, 0, (char const   *)"dry-run", (void *)(& opt_dry_run),
      (char const   *)((void *)0), (char const   *)"dry run", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 'k', (char const   *)"keep", (void *)(& opt_keep),
      (char const   *)((void *)0), (char const   *)"keep downloaded pack", (enum parse_opt_option_flags )2,
      & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"depth", (void *)(& opt_depth),
      (char const   *)"depth", (char const   *)"deepen history of shallow clone",
      (enum parse_opt_option_flags )0, & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"shallow-since", (void *)(& opt_fetch),
      (char const   *)"time", (char const   *)"deepen history of shallow repository based on time",
      (enum parse_opt_option_flags )0, & parse_opt_passthru_argv, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"shallow-exclude", (void *)(& opt_fetch),
      (char const   *)"revision", (char const   *)"deepen history of shallow clone, excluding rev",
      (enum parse_opt_option_flags )0, & parse_opt_passthru_argv, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"deepen", (void *)(& opt_fetch),
      (char const   *)"n", (char const   *)"deepen history of shallow clone", (enum parse_opt_option_flags )0,
      & parse_opt_passthru_argv, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"unshallow", (void *)(& opt_unshallow),
      (char const   *)((void *)0), (char const   *)"convert to a complete repository",
      (enum parse_opt_option_flags )6, & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"update-shallow", (void *)(& opt_update_shallow),
      (char const   *)((void *)0), (char const   *)"accept refs that update .git/shallow",
      (enum parse_opt_option_flags )2, & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"refmap", (void *)(& opt_refmap),
      (char const   *)"refmap", (char const   *)"specify fetch refmap", (enum parse_opt_option_flags )4,
      & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 'o', (char const   *)"server-option", (void *)(& opt_fetch),
      (char const   *)"server-specific", (char const   *)"option to transmit", (enum parse_opt_option_flags )0,
      & parse_opt_passthru_argv, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, '4', (char const   *)"ipv4", (void *)(& opt_ipv4),
      (char const   *)((void *)0), (char const   *)"use IPv4 addresses only", (enum parse_opt_option_flags )2,
      & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, '6', (char const   *)"ipv6", (void *)(& opt_ipv6),
      (char const   *)((void *)0), (char const   *)"use IPv6 addresses only", (enum parse_opt_option_flags )2,
      & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"negotiation-tip", (void *)(& opt_fetch),
      (char const   *)"revision", (char const   *)"report that we have only objects reachable from this object",
      (enum parse_opt_option_flags )0, & parse_opt_passthru_argv, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )8, 0, (char const   *)"show-forced-updates", (void *)(& opt_show_forced_updates),
      (char const   *)((void *)0), (char const   *)"check for forced-updates on all updated branches",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 0, (char const   *)"set-upstream", (void *)(& set_upstream___0),
      (char const   *)((void *)0), (char const   *)"set upstream for git pull/fetch",
      (enum parse_opt_option_flags )2, & parse_opt_passthru, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static void argv_push_verbosity(struct strvec *arr )
{
  int verbosity___3 ;

  {
  verbosity___3 = opt_verbosity;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (verbosity___3 > 0)) {
      goto while_break;
    }
    strvec_push(arr, (char const   *)"-v");
    verbosity___3 --;
  }
  while_break: /* CIL Label */ ;
  }
  verbosity___3 = opt_verbosity;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (verbosity___3 < 0)) {
      goto while_break___0;
    }
    strvec_push(arr, (char const   *)"-q");
    verbosity___3 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void argv_push_force(struct strvec *arr )
{
  int force___2 ;
  int tmp ;

  {
  force___2 = opt_force;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = force___2;
    force___2 --;
    if (! (tmp > 0)) {
      goto while_break;
    }
    strvec_push(arr, (char const   *)"-f");
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void set_reflog_message(int argc , char const   **argv___0 )
{
  int i ;
  struct strbuf msg___5 ;

  {
  msg___5.alloc = 0UL;
  msg___5.len = 0UL;
  msg___5.buf = strbuf_slopbuf;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    if (i) {
      strbuf_addch(& msg___5, ' ');
    }
    strbuf_addstr(& msg___5, *(argv___0 + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  setenv((char const   *)"GIT_REFLOG_ACTION", (char const   *)msg___5.buf, 0);
  strbuf_release(& msg___5);
  return;
}
}
static char const   *config_get_ff(void)
{
  char const   *value ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  tmp = git_config_get_value((char const   *)"pull.ff", & value);
  if (tmp) {
    return ((char const   *)((void *)0));
  }
  tmp___0 = git_parse_maybe_bool(value);
  {
  if (tmp___0 == 0) {
    goto case_0;
  }
  if (tmp___0 == 1) {
    goto case_1;
  }
  goto switch_break;
  case_0: /* CIL Label */
  return ((char const   *)"--no-ff");
  case_1: /* CIL Label */
  return ((char const   *)"--ff");
  switch_break: /* CIL Label */ ;
  }
  tmp___1 = strcmp(value, (char const   *)"only");
  if (! tmp___1) {
    return ((char const   *)"--ff-only");
  }
  tmp___2 = _((char const   *)"Invalid value for pull.ff: %s");
  die((char const   *)tmp___2, value);
}
}
static int config_get_rebase(int *rebase_unspecified )
{
  struct branch *curr_branch ;
  struct branch *tmp ;
  char const   *value ;
  char *key___1 ;
  char *tmp___0 ;
  int ret___67 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp = branch_get((char const   *)"HEAD");
  curr_branch = tmp;
  if (curr_branch) {
    tmp___0 = xstrfmt((char const   *)"branch.%s.rebase", curr_branch->name);
    key___1 = tmp___0;
    tmp___2 = git_config_get_value((char const   *)key___1, & value);
    if (! tmp___2) {
      tmp___1 = parse_config_rebase((char const   *)key___1, value, 1);
      ret___67 = tmp___1;
      free((void *)key___1);
      return (ret___67);
    }
    free((void *)key___1);
  }
  tmp___4 = git_config_get_value((char const   *)"pull.rebase", & value);
  if (! tmp___4) {
    tmp___3 = parse_config_rebase((char const   *)"pull.rebase", value, 1);
    return (tmp___3);
  }
  *rebase_unspecified = 1;
  return ((int )0);
}
}
static int git_pull_config(char const   *var , char const   *value , void *cb )
{
  int status ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp___3 = strcmp(var, (char const   *)"rebase.autostash");
  if (tmp___3) {
    tmp___2 = strcmp(var, (char const   *)"submodule.recurse");
    if (tmp___2) {
      tmp___1 = strcmp(var, (char const   *)"gpg.mintrustlevel");
      if (! tmp___1) {
        check_trust_level___0 = 0;
      }
    } else {
      tmp___0 = git_config_bool(var, value);
      if (tmp___0) {
        recurse_submodules___2 = 2;
      } else {
        recurse_submodules___2 = 0;
      }
      return (0);
    }
  } else {
    config_autostash = git_config_bool(var, value);
    return (0);
  }
  status = git_gpg_config(var, value, cb);
  if (status) {
    return (status);
  }
  tmp___4 = git_default_config(var, value, cb);
  return (tmp___4);
}
}
static void get_merge_heads(struct oid_array *merge_heads )
{
  char const   *filename___0 ;
  char const   *tmp ;
  FILE *fp ;
  struct strbuf sb___6 ;
  struct object_id oid ;
  char const   *p___0 ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = git_path_fetch_head(the_repository);
  filename___0 = tmp;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  fp = xfopen(filename___0, (char const   *)"r");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = strbuf_getline_lf(& sb___6, fp);
    if (! (tmp___2 != -1)) {
      goto while_break;
    }
    tmp___0 = parse_oid_hex((char const   *)sb___6.buf, & oid, & p___0);
    if (tmp___0) {
      goto while_continue;
    }
    tmp___1 = starts_with(p___0, (char const   *)"\tnot-for-merge\t");
    if (tmp___1) {
      goto while_continue;
    }
    oid_array_append(merge_heads, (struct object_id  const  *)(& oid));
  }
  while_break: /* CIL Label */ ;
  }
  fclose(fp);
  strbuf_release(& sb___6);
  return;
}
}
static int get_only_remote(struct remote *remote , void *cb_data )
{
  char const   **remote_name___0 ;

  {
  remote_name___0 = (char const   **)cb_data;
  if (*remote_name___0) {
    return (-1);
  }
  *remote_name___0 = remote->name;
  return (0);
}
}
static void die_no_merge_candidates(char const   *repo , char const   **refspecs___0 )  __attribute__((__noreturn__)) ;
static void die_no_merge_candidates(char const   *repo , char const   **refspecs___0 )
{
  struct branch *curr_branch ;
  struct branch *tmp ;
  char const   *remote ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const   *remote_name___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  char const __attribute__((__format_arg__(1)))  *tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;

  {
  tmp = branch_get((char const   *)"HEAD");
  curr_branch = tmp;
  if (curr_branch) {
    tmp___0 = curr_branch->remote_name;
  } else {
    tmp___0 = (char const   *)((void *)0);
  }
  remote = tmp___0;
  if (*refspecs___0) {
    if (opt_rebase) {
      tmp___1 = _((char const   *)"There is no candidate for rebasing against among the refs that you just fetched.");
      fprintf_ln(stderr, (char const   *)tmp___1);
    } else {
      tmp___2 = _((char const   *)"There are no candidates for merging among the refs that you just fetched.");
      fprintf_ln(stderr, (char const   *)tmp___2);
    }
    tmp___3 = _((char const   *)"Generally this means that you provided a wildcard refspec which had no\nmatches on the remote end.");
    fprintf_ln(stderr, (char const   *)tmp___3);
  } else
  if (repo) {
    if (curr_branch) {
      if (! remote) {
        tmp___4 = _((char const   *)"You asked to pull from the remote \'%s\', but did not specify\na branch. Because this is not the default configured remote\nfor your current branch, you must specify a branch on the command line.");
        fprintf_ln(stderr, (char const   *)tmp___4, repo);
      } else {
        tmp___22 = strcmp(repo, remote);
        if (tmp___22) {
          tmp___4 = _((char const   *)"You asked to pull from the remote \'%s\', but did not specify\na branch. Because this is not the default configured remote\nfor your current branch, you must specify a branch on the command line.");
          fprintf_ln(stderr, (char const   *)tmp___4, repo);
        } else {
          goto _L___0;
        }
      }
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  _L: /* CIL Label */
  if (! curr_branch) {
    tmp___5 = _((char const   *)"You are not currently on a branch.");
    fprintf_ln(stderr, (char const   *)tmp___5);
    if (opt_rebase) {
      tmp___6 = _((char const   *)"Please specify which branch you want to rebase against.");
      fprintf_ln(stderr, (char const   *)tmp___6);
    } else {
      tmp___7 = _((char const   *)"Please specify which branch you want to merge with.");
      fprintf_ln(stderr, (char const   *)tmp___7);
    }
    tmp___8 = _((char const   *)"See git-pull(1) for details.");
    fprintf_ln(stderr, (char const   *)tmp___8);
    fprintf(stderr, (char const   *)"\n");
    tmp___9 = _((char const   *)"<branch>");
    tmp___10 = _((char const   *)"<remote>");
    fprintf_ln(stderr, (char const   *)"    git pull %s %s", tmp___10, tmp___9);
    fprintf(stderr, (char const   *)"\n");
  } else
  if (! curr_branch->merge_nr) {
    remote_name___0 = (char const   *)((void *)0);
    tmp___12 = for_each_remote(& get_only_remote, (void *)(& remote_name___0));
    if (tmp___12) {
      tmp___11 = _((char const   *)"<remote>");
      remote_name___0 = (char const   *)tmp___11;
    } else
    if (! remote_name___0) {
      tmp___11 = _((char const   *)"<remote>");
      remote_name___0 = (char const   *)tmp___11;
    }
    tmp___13 = _((char const   *)"There is no tracking information for the current branch.");
    fprintf_ln(stderr, (char const   *)tmp___13);
    if (opt_rebase) {
      tmp___14 = _((char const   *)"Please specify which branch you want to rebase against.");
      fprintf_ln(stderr, (char const   *)tmp___14);
    } else {
      tmp___15 = _((char const   *)"Please specify which branch you want to merge with.");
      fprintf_ln(stderr, (char const   *)tmp___15);
    }
    tmp___16 = _((char const   *)"See git-pull(1) for details.");
    fprintf_ln(stderr, (char const   *)tmp___16);
    fprintf(stderr, (char const   *)"\n");
    tmp___17 = _((char const   *)"<branch>");
    tmp___18 = _((char const   *)"<remote>");
    fprintf_ln(stderr, (char const   *)"    git pull %s %s", tmp___18, tmp___17);
    fprintf(stderr, (char const   *)"\n");
    tmp___19 = _((char const   *)"If you wish to set tracking information for this branch you can do so with:");
    fprintf_ln(stderr, (char const   *)tmp___19);
    fprintf(stderr, (char const   *)"\n");
    tmp___20 = _((char const   *)"<branch>");
    fprintf_ln(stderr, (char const   *)"    git branch --set-upstream-to=%s/%s %s\n",
               remote_name___0, tmp___20, curr_branch->name);
  } else {
    tmp___21 = _((char const   *)"Your configuration specifies to merge with the ref \'%s\'\nfrom the remote, but no such ref was fetched.");
    fprintf_ln(stderr, (char const   *)tmp___21, *(curr_branch->merge_name));
  }
  tmp___23 = trace2_cmd_exit_fl((char const   *)"builtin/pull.c", 492, 1);
  exit(tmp___23);
}
}
static void parse_repo_refspecs(int argc , char const   **argv___0 , char const   **repo ,
                                char const   ***refspecs___0 )
{
  char const   **tmp ;

  {
  if (argc > 0) {
    tmp = argv___0;
    argv___0 ++;
    *repo = *tmp;
    argc --;
  } else {
    *repo = (char const   *)((void *)0);
  }
  *refspecs___0 = argv___0;
  return;
}
}
static int run_fetch(char const   *repo , char const   **refspecs___0 )
{
  struct strvec args___0 ;
  int ret___67 ;

  {
  args___0.v = empty_strvec;
  args___0.nr = 0UL;
  args___0.alloc = 0UL;
  strvec_pushl(& args___0, "fetch", "--update-head-ok", (void *)0);
  argv_push_verbosity(& args___0);
  if (opt_progress) {
    strvec_push(& args___0, (char const   *)opt_progress);
  }
  if (opt_all) {
    strvec_push(& args___0, (char const   *)opt_all);
  }
  if (opt_append) {
    strvec_push(& args___0, (char const   *)opt_append);
  }
  if (opt_upload_pack) {
    strvec_push(& args___0, (char const   *)opt_upload_pack);
  }
  argv_push_force(& args___0);
  if (opt_tags) {
    strvec_push(& args___0, (char const   *)opt_tags);
  }
  if (opt_prune) {
    strvec_push(& args___0, (char const   *)opt_prune);
  }
  if (recurse_submodules___2 != 1) {
    {
    if (recurse_submodules___2 == 2) {
      goto case_2;
    }
    if (recurse_submodules___2 == 0) {
      goto case_0;
    }
    if (recurse_submodules___2 == -1) {
      goto case_neg_1;
    }
    goto switch_default;
    case_2: /* CIL Label */
    strvec_push(& args___0, (char const   *)"--recurse-submodules=on");
    goto switch_break;
    case_0: /* CIL Label */
    strvec_push(& args___0, (char const   *)"--recurse-submodules=no");
    goto switch_break;
    case_neg_1: /* CIL Label */
    strvec_push(& args___0, (char const   *)"--recurse-submodules=on-demand");
    goto switch_break;
    switch_default: /* CIL Label */
    BUG_fl((char const   *)"builtin/pull.c", 551, (char const   *)"submodule recursion option not understood");
    switch_break: /* CIL Label */ ;
    }
  }
  if (max_children) {
    strvec_push(& args___0, (char const   *)max_children);
  }
  if (opt_dry_run) {
    strvec_push(& args___0, (char const   *)"--dry-run");
  }
  if (opt_keep) {
    strvec_push(& args___0, (char const   *)opt_keep);
  }
  if (opt_depth) {
    strvec_push(& args___0, (char const   *)opt_depth);
  }
  if (opt_unshallow) {
    strvec_push(& args___0, (char const   *)opt_unshallow);
  }
  if (opt_update_shallow) {
    strvec_push(& args___0, (char const   *)opt_update_shallow);
  }
  if (opt_refmap) {
    strvec_push(& args___0, (char const   *)opt_refmap);
  }
  if (opt_ipv4) {
    strvec_push(& args___0, (char const   *)opt_ipv4);
  }
  if (opt_ipv6) {
    strvec_push(& args___0, (char const   *)opt_ipv6);
  }
  if (opt_show_forced_updates > 0) {
    strvec_push(& args___0, (char const   *)"--show-forced-updates");
  } else
  if (opt_show_forced_updates == 0) {
    strvec_push(& args___0, (char const   *)"--no-show-forced-updates");
  }
  if (set_upstream___0) {
    strvec_push(& args___0, (char const   *)set_upstream___0);
  }
  strvec_pushv(& args___0, opt_fetch.v);
  if (repo) {
    strvec_push(& args___0, repo);
    strvec_pushv(& args___0, refspecs___0);
  } else
  if (*refspecs___0) {
    BUG_fl((char const   *)"builtin/pull.c", 583, (char const   *)"refspecs without repo?");
  }
  ret___67 = run_command_v_opt(args___0.v, (1 << 1) | (1 << 7));
  strvec_clear(& args___0);
  return (ret___67);
}
}
static int pull_into_void(struct object_id  const  *merge_head , struct object_id  const  *curr_head )
{
  struct commit *commit ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (opt_verify_signatures) {
    commit = lookup_commit(the_repository, merge_head);
    if (! commit) {
      tmp = oid_to_hex(merge_head);
      tmp___0 = _((char const   *)"unable to access commit %s");
      die((char const   *)tmp___0, tmp);
    }
    verify_merge_signature(commit, opt_verbosity, check_trust_level___0);
  }
  tmp___1 = checkout_fast_forward(the_repository, (struct object_id  const  *)(the_repository->hash_algo)->empty_tree,
                                  merge_head, 0);
  if (tmp___1) {
    return (1);
  }
  tmp___2 = update_ref((char const   *)"initial pull", (char const   *)"HEAD", merge_head,
                       curr_head, 0U, (enum action_on_err )1);
  if (tmp___2) {
    return (1);
  }
  return (0);
}
}
static int rebase_submodules(void)
{
  struct child_process cp ;
  int tmp ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  cp.git_cmd = 1U;
  cp.no_stdin = 1U;
  strvec_pushl(& cp.args, "submodule", "update", "--recursive", "--rebase", (void *)0);
  argv_push_verbosity(& cp.args);
  tmp = run_command(& cp);
  return (tmp);
}
}
static int update_submodules(void)
{
  struct child_process cp ;
  int tmp ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  cp.git_cmd = 1U;
  cp.no_stdin = 1U;
  strvec_pushl(& cp.args, "submodule", "update", "--recursive", "--checkout", (void *)0);
  argv_push_verbosity(& cp.args);
  tmp = run_command(& cp);
  return (tmp);
}
}
static int run_merge(void)
{
  int ret___67 ;
  struct strvec args___0 ;

  {
  args___0.v = empty_strvec;
  args___0.nr = 0UL;
  args___0.alloc = 0UL;
  strvec_pushl(& args___0, "merge", (void *)0);
  argv_push_verbosity(& args___0);
  if (opt_progress) {
    strvec_push(& args___0, (char const   *)opt_progress);
  }
  if (opt_diffstat) {
    strvec_push(& args___0, (char const   *)opt_diffstat);
  }
  if (opt_log) {
    strvec_push(& args___0, (char const   *)opt_log);
  }
  if (opt_signoff) {
    strvec_push(& args___0, (char const   *)opt_signoff);
  }
  if (opt_squash) {
    strvec_push(& args___0, (char const   *)opt_squash);
  }
  if (opt_commit) {
    strvec_push(& args___0, (char const   *)opt_commit);
  }
  if (opt_edit) {
    strvec_push(& args___0, (char const   *)opt_edit);
  }
  if (cleanup_arg___1) {
    strvec_pushf(& args___0, (char const   *)"--cleanup=%s", cleanup_arg___1);
  }
  if (opt_ff) {
    strvec_push(& args___0, (char const   *)opt_ff);
  }
  if (opt_verify) {
    strvec_push(& args___0, (char const   *)opt_verify);
  }
  if (opt_verify_signatures) {
    strvec_push(& args___0, (char const   *)opt_verify_signatures);
  }
  strvec_pushv(& args___0, opt_strategies.v);
  strvec_pushv(& args___0, opt_strategy_opts.v);
  if (opt_gpg_sign) {
    strvec_push(& args___0, (char const   *)opt_gpg_sign);
  }
  if (opt_autostash == 0) {
    strvec_push(& args___0, (char const   *)"--no-autostash");
  } else
  if (opt_autostash == 1) {
    strvec_push(& args___0, (char const   *)"--autostash");
  }
  if (opt_allow_unrelated_histories > 0) {
    strvec_push(& args___0, (char const   *)"--allow-unrelated-histories");
  }
  strvec_push(& args___0, (char const   *)"FETCH_HEAD");
  ret___67 = run_command_v_opt(args___0.v, 1 << 1);
  strvec_clear(& args___0);
  return (ret___67);
}
}
static char const   *get_upstream_branch(char const   *remote )
{
  struct remote *rm___0 ;
  struct branch *curr_branch ;
  char const   *curr_branch_remote ;
  int tmp ;
  char const   *tmp___0 ;

  {
  rm___0 = remote_get(remote);
  if (! rm___0) {
    return ((char const   *)((void *)0));
  }
  curr_branch = branch_get((char const   *)"HEAD");
  if (! curr_branch) {
    return ((char const   *)((void *)0));
  }
  curr_branch_remote = remote_for_branch(curr_branch, (int *)((void *)0));
  assert((int )curr_branch_remote);
  tmp = strcmp(curr_branch_remote, rm___0->name);
  if (tmp) {
    return ((char const   *)((void *)0));
  }
  tmp___0 = branch_get_upstream(curr_branch, (struct strbuf *)((void *)0));
  return (tmp___0);
}
}
static char const   *get_tracking_branch(char const   *remote , char const   *refspec )
{
  struct refspec_item spec ;
  char const   *spec_src ;
  char const   *merge_branch ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  refspec_item_init_or_die(& spec, refspec, 1);
  spec_src = (char const   *)spec.src;
  if (! *spec_src) {
    spec_src = (char const   *)"HEAD";
  } else {
    tmp___4 = strcmp(spec_src, (char const   *)"HEAD");
    if (tmp___4) {
      tmp___3 = skip_prefix(spec_src, (char const   *)"heads/", & spec_src);
      if (! tmp___3) {
        tmp___2 = skip_prefix(spec_src, (char const   *)"refs/heads/", & spec_src);
        if (! tmp___2) {
          tmp = starts_with(spec_src, (char const   *)"refs/");
          if (tmp) {
            spec_src = (char const   *)"";
          } else {
            tmp___0 = starts_with(spec_src, (char const   *)"tags/");
            if (tmp___0) {
              spec_src = (char const   *)"";
            } else {
              tmp___1 = starts_with(spec_src, (char const   *)"remotes/");
              if (tmp___1) {
                spec_src = (char const   *)"";
              }
            }
          }
        }
      }
    } else {
      spec_src = (char const   *)"HEAD";
    }
  }
  if (*spec_src) {
    tmp___5 = strcmp(remote, (char const   *)".");
    if (tmp___5) {
      merge_branch = mkpath((char const   *)"refs/remotes/%s/%s", remote, spec_src);
    } else {
      merge_branch = mkpath((char const   *)"refs/heads/%s", spec_src);
    }
  } else {
    merge_branch = (char const   *)((void *)0);
  }
  refspec_item_clear(& spec);
  return (merge_branch);
}
}
static int get_rebase_fork_point(struct object_id *fork_point , char const   *repo ,
                                 char const   *refspec )
{
  int ret___67 ;
  struct branch *curr_branch ;
  char const   *remote_branch ;
  struct child_process cp ;
  struct strbuf sb___6 ;
  int tmp ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  curr_branch = branch_get((char const   *)"HEAD");
  if (! curr_branch) {
    return (-1);
  }
  if (refspec) {
    remote_branch = get_tracking_branch(repo, refspec);
  } else {
    remote_branch = get_upstream_branch(repo);
  }
  if (! remote_branch) {
    return (-1);
  }
  strvec_pushl(& cp.args, "merge-base", "--fork-point", remote_branch, curr_branch->name,
               (void *)0);
  cp.no_stdin = 1U;
  cp.no_stderr = 1U;
  cp.git_cmd = 1U;
  ret___67 = capture_command(& cp, & sb___6, (size_t )64);
  if (ret___67) {
    goto cleanup;
  }
  ret___67 = get_oid_hex((char const   *)sb___6.buf, fork_point);
  if (ret___67) {
    goto cleanup;
  }
  cleanup:
  strbuf_release(& sb___6);
  if (ret___67) {
    tmp = -1;
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static int get_octopus_merge_base(struct object_id *merge_base , struct object_id  const  *curr_head ,
                                  struct object_id  const  *merge_head , struct object_id  const  *fork_point )
{
  struct commit_list *revs ;
  struct commit_list *result___0 ;
  struct commit *tmp ;
  struct commit *tmp___0 ;
  struct commit *tmp___1 ;
  int tmp___2 ;

  {
  revs = (struct commit_list *)((void *)0);
  tmp = lookup_commit_reference(the_repository, curr_head);
  commit_list_insert(tmp, & revs);
  tmp___0 = lookup_commit_reference(the_repository, merge_head);
  commit_list_insert(tmp___0, & revs);
  tmp___2 = is_null_oid(fork_point);
  if (! tmp___2) {
    tmp___1 = lookup_commit_reference(the_repository, fork_point);
    commit_list_insert(tmp___1, & revs);
  }
  result___0 = get_octopus_merge_bases(revs);
  free_commit_list(revs);
  reduce_heads_replace(& result___0);
  if (! result___0) {
    return (1);
  }
  oidcpy(merge_base, (struct object_id  const  *)(& (result___0->item)->object.oid));
  free_commit_list(result___0);
  return (0);
}
}
static int get_rebase_newbase_and_upstream(struct object_id *newbase , struct object_id *upstream ,
                                           struct object_id  const  *curr_head , struct object_id  const  *merge_head ,
                                           struct object_id  const  *fork_point )
{
  struct object_id oct_merge_base ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___1 = get_octopus_merge_base(& oct_merge_base, curr_head, merge_head, fork_point);
  if (! tmp___1) {
    tmp = is_null_oid(fork_point);
    if (! tmp) {
      tmp___0 = oideq((struct object_id  const  *)(& oct_merge_base), fork_point);
      if (tmp___0) {
        fork_point = (struct object_id  const  *)((void *)0);
      }
    }
  }
  if (fork_point) {
    tmp___2 = is_null_oid(fork_point);
    if (tmp___2) {
      oidcpy(upstream, merge_head);
    } else {
      oidcpy(upstream, fork_point);
    }
  } else {
    oidcpy(upstream, merge_head);
  }
  oidcpy(newbase, merge_head);
  return (0);
}
}
static int run_rebase(struct object_id  const  *newbase , struct object_id  const  *upstream )
{
  int ret___67 ;
  struct strvec args___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  args___0.v = empty_strvec;
  args___0.nr = 0UL;
  args___0.alloc = 0UL;
  strvec_push(& args___0, (char const   *)"rebase");
  argv_push_verbosity(& args___0);
  if ((int )opt_rebase == 2) {
    strvec_push(& args___0, (char const   *)"--rebase-merges");
  } else
  if ((int )opt_rebase == 3) {
    strvec_push(& args___0, (char const   *)"--interactive");
  }
  if (opt_diffstat) {
    strvec_push(& args___0, (char const   *)opt_diffstat);
  }
  strvec_pushv(& args___0, opt_strategies.v);
  strvec_pushv(& args___0, opt_strategy_opts.v);
  if (opt_gpg_sign) {
    strvec_push(& args___0, (char const   *)opt_gpg_sign);
  }
  if (opt_signoff) {
    strvec_push(& args___0, (char const   *)opt_signoff);
  }
  if (opt_autostash == 0) {
    strvec_push(& args___0, (char const   *)"--no-autostash");
  } else
  if (opt_autostash == 1) {
    strvec_push(& args___0, (char const   *)"--autostash");
  }
  if (opt_verify_signatures) {
    tmp___0 = strcmp((char const   *)opt_verify_signatures, (char const   *)"--verify-signatures");
    if (! tmp___0) {
      tmp = _((char const   *)"ignoring --verify-signatures for rebase");
      warning((char const   *)tmp);
    }
  }
  strvec_push(& args___0, (char const   *)"--onto");
  tmp___1 = oid_to_hex(newbase);
  strvec_push(& args___0, (char const   *)tmp___1);
  tmp___2 = oid_to_hex(upstream);
  strvec_push(& args___0, (char const   *)tmp___2);
  ret___67 = run_command_v_opt(args___0.v, 1 << 1);
  strvec_clear(& args___0);
  return (ret___67);
}
}
static int get_can_ff(struct object_id *orig_head , struct oid_array *merge_heads )
{
  int ret___67 ;
  struct commit_list *list___3 ;
  struct commit *merge_head ;
  struct commit *head___1 ;
  struct object_id *orig_merge_head ;

  {
  list___3 = (struct commit_list *)((void *)0);
  if (merge_heads->nr > 1UL) {
    return (0);
  }
  orig_merge_head = merge_heads->oid + 0;
  head___1 = lookup_commit_reference(the_repository, (struct object_id  const  *)orig_head);
  commit_list_insert(head___1, & list___3);
  merge_head = lookup_commit_reference(the_repository, (struct object_id  const  *)orig_merge_head);
  ret___67 = repo_is_descendant_of(the_repository, merge_head, list___3);
  free_commit_list(list___3);
  return (ret___67);
}
}
static int already_up_to_date(struct object_id *orig_head , struct oid_array *merge_heads )
{
  int i ;
  struct commit *ours ;
  struct commit_list *list___3 ;
  struct commit *theirs ;
  int ok ;

  {
  ours = lookup_commit_reference(the_repository, (struct object_id  const  *)orig_head);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < merge_heads->nr)) {
      goto while_break;
    }
    list___3 = (struct commit_list *)((void *)0);
    theirs = lookup_commit_reference(the_repository, (struct object_id  const  *)(merge_heads->oid + i));
    commit_list_insert(theirs, & list___3);
    ok = repo_is_descendant_of(the_repository, ours, list___3);
    free_commit_list(list___3);
    if (! ok) {
      return (0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static void show_advice_pull_non_ff(void)
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  tmp = _((char const   *)"You have divergent branches and need to specify how to reconcile them.\nYou can do so by running one of the following commands sometime before\nyour next pull:\n\n  git config pull.rebase false  # merge\n  git config pull.rebase true   # rebase\n  git config pull.ff only       # fast-forward only\n\nYou can replace \"git config\" with \"git config --global\" to set a default\npreference for all repositories. You can also pass --rebase, --no-rebase,\nor --ff-only on the command line to override the configured default per\ninvocation.\n");
  advise((char const   *)tmp);
  return;
}
}
int cmd_pull(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char const   *repo ;
  char const   **refspecs___0 ;
  struct oid_array merge_heads ;
  struct object_id orig_head ;
  struct object_id curr_head ;
  struct object_id rebase_fork_point ;
  int rebase_unspecified ;
  int can_ff ;
  int divergent ;
  char *tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int autostash___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  char *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  char const __attribute__((__format_arg__(1)))  *tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  int tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;
  char const __attribute__((__format_arg__(1)))  *tmp___30 ;
  int ret___67 ;
  struct object_id newbase ;
  struct object_id upstream ;
  char const __attribute__((__format_arg__(1)))  *tmp___31 ;
  int tmp___32 ;
  int ret___68 ;
  int tmp___33 ;

  {
  merge_heads.oid = (struct object_id *)0;
  merge_heads.nr = 0UL;
  merge_heads.alloc = 0UL;
  merge_heads.sorted = 0;
  rebase_unspecified = 0;
  tmp = getenv((char const   *)"GIT_REFLOG_ACTION");
  if (! tmp) {
    set_reflog_message(argc, argv___0);
  }
  git_config(& git_pull_config, (void *)0);
  prepare_repo_settings(the_repository);
  the_repository->settings.command_requires_full_index = 0;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(pull_options),
                       pull_usage, (enum parse_opt_flags )0);
  if (cleanup_arg___1) {
    get_cleanup_mode((char const   *)cleanup_arg___1, 0);
  }
  parse_repo_refspecs(argc, argv___0, & repo, & refspecs___0);
  if (! opt_ff) {
    tmp___0 = config_get_ff();
    opt_ff = xstrdup_or_null(tmp___0);
    if ((int )opt_rebase >= 0) {
      if (opt_ff) {
        tmp___1 = strcmp((char const   *)opt_ff, (char const   *)"--ff-only");
        if (! tmp___1) {
          opt_ff = "--ff";
        }
      }
    }
  }
  if ((int )opt_rebase < 0) {
    opt_rebase = config_get_rebase(& rebase_unspecified);
  }
  tmp___2 = repo_read_index_unmerged(the_repository);
  if (tmp___2) {
    die_resolve_conflict((char const   *)"pull");
  }
  tmp___3 = git_path_merge_head(the_repository);
  tmp___4 = file_exists(tmp___3);
  if (tmp___4) {
    die_conclude_merge();
  }
  tmp___5 = repo_get_oid(the_repository, (char const   *)"HEAD", & orig_head);
  if (tmp___5) {
    oidclr(& orig_head);
  }
  if (opt_rebase) {
    autostash___0 = config_autostash;
    if (opt_autostash != -1) {
      autostash___0 = opt_autostash;
    }
    tmp___7 = is_null_oid((struct object_id  const  *)(& orig_head));
    if (tmp___7) {
      tmp___8 = is_index_unborn(& the_index);
      if (! tmp___8) {
        tmp___6 = _((char const   *)"Updating an unborn branch with changes added to the index.");
        die((char const   *)tmp___6);
      }
    }
    if (! autostash___0) {
      tmp___9 = _((char const   *)"please commit or stash them.");
      require_clean_work_tree(the_repository, (char const   *)"pull with rebase",
                              (char const   *)tmp___9, 1, 0);
    }
    tmp___10 = get_rebase_fork_point(& rebase_fork_point, repo, *refspecs___0);
    if (tmp___10) {
      oidclr(& rebase_fork_point);
    }
  }
  tmp___11 = run_fetch(repo, refspecs___0);
  if (tmp___11) {
    return (1);
  }
  if (opt_dry_run) {
    return (0);
  }
  tmp___12 = repo_get_oid(the_repository, (char const   *)"HEAD", & curr_head);
  if (tmp___12) {
    oidclr(& curr_head);
  }
  tmp___18 = is_null_oid((struct object_id  const  *)(& orig_head));
  if (! tmp___18) {
    tmp___19 = is_null_oid((struct object_id  const  *)(& curr_head));
    if (! tmp___19) {
      tmp___20 = oideq((struct object_id  const  *)(& orig_head), (struct object_id  const  *)(& curr_head));
      if (! tmp___20) {
        tmp___13 = oid_to_hex((struct object_id  const  *)(& orig_head));
        tmp___14 = _((char const   *)"fetch updated the current branch head.\nfast-forwarding your working tree from\ncommit %s.");
        warning((char const   *)tmp___14, tmp___13);
        tmp___17 = checkout_fast_forward(the_repository, (struct object_id  const  *)(& orig_head),
                                         (struct object_id  const  *)(& curr_head),
                                         0);
        if (tmp___17) {
          tmp___15 = oid_to_hex((struct object_id  const  *)(& orig_head));
          tmp___16 = _((char const   *)"Cannot fast-forward your working tree.\nAfter making sure that you saved anything precious from\n$ git diff %s\noutput, run\n$ git reset --hard\nto recover.");
          die((char const   *)tmp___16, tmp___15);
        }
      }
    }
  }
  get_merge_heads(& merge_heads);
  if (! merge_heads.nr) {
    die_no_merge_candidates(repo, refspecs___0);
  }
  tmp___23 = is_null_oid((struct object_id  const  *)(& orig_head));
  if (tmp___23) {
    if (merge_heads.nr > 1UL) {
      tmp___21 = _((char const   *)"Cannot merge multiple branches into empty head.");
      die((char const   *)tmp___21);
    }
    tmp___22 = pull_into_void((struct object_id  const  *)merge_heads.oid, (struct object_id  const  *)(& curr_head));
    return (tmp___22);
  }
  if (merge_heads.nr > 1UL) {
    if (opt_rebase) {
      tmp___24 = _((char const   *)"Cannot rebase onto multiple branches.");
      die((char const   *)tmp___24);
    }
    if (opt_ff) {
      tmp___26 = strcmp((char const   *)opt_ff, (char const   *)"--ff-only");
      if (! tmp___26) {
        tmp___25 = _((char const   *)"Cannot fast-forward to multiple branches.");
        die((char const   *)tmp___25);
      }
    }
  }
  can_ff = get_can_ff(& orig_head, & merge_heads);
  if (! can_ff) {
    tmp___27 = already_up_to_date(& orig_head, & merge_heads);
    if (tmp___27) {
      tmp___28 = 0;
    } else {
      tmp___28 = 1;
    }
  } else {
    tmp___28 = 0;
  }
  divergent = tmp___28;
  if (opt_ff) {
    tmp___29 = strcmp((char const   *)opt_ff, (char const   *)"--ff-only");
    if (! tmp___29) {
      if (divergent) {
        die_ff_impossible();
      }
      opt_rebase = (int )0;
    }
  }
  if (! opt_ff) {
    if (rebase_unspecified) {
      if (divergent) {
        show_advice_pull_non_ff();
        tmp___30 = _((char const   *)"Need to specify how to reconcile divergent branches.");
        die((char const   *)tmp___30);
      }
    }
  }
  if (opt_rebase) {
    ret___67 = 0;
    get_rebase_newbase_and_upstream(& newbase, & upstream, (struct object_id  const  *)(& curr_head),
                                    (struct object_id  const  *)merge_heads.oid, (struct object_id  const  *)(& rebase_fork_point));
    if (recurse_submodules___2 == 2) {
      goto _L;
    } else
    if (recurse_submodules___2 == -1) {
      _L: /* CIL Label */
      tmp___32 = submodule_touches_in_range(the_repository, & upstream, & curr_head);
      if (tmp___32) {
        tmp___31 = _((char const   *)"cannot rebase with locally recorded submodule modifications");
        die((char const   *)tmp___31);
      }
    }
    if (can_ff) {
      opt_ff = "--ff-only";
      ret___67 = run_merge();
    } else {
      ret___67 = run_rebase((struct object_id  const  *)(& newbase), (struct object_id  const  *)(& upstream));
    }
    if (! ret___67) {
      if (recurse_submodules___2 == 2) {
        ret___67 = rebase_submodules();
      } else
      if (recurse_submodules___2 == -1) {
        ret___67 = rebase_submodules();
      }
    }
    return (ret___67);
  } else {
    tmp___33 = run_merge();
    ret___68 = tmp___33;
    if (! ret___68) {
      if (recurse_submodules___2 == 2) {
        ret___68 = update_submodules();
      } else
      if (recurse_submodules___2 == -1) {
        ret___68 = update_submodules();
      }
    }
    return (ret___68);
  }
}
}
static char const   *push_usage[2]  = {      (char const   *)"git push [<options>] [<repository> [<refspec>...]]",      (char const   *)((void *)0)};
static int push_use_color  =    -1;
static char push_colors[2][75]  = { {        (char )'\033',        (char )'[',        (char )'m',        (char )'\000'},
   {        (char )'\033',        (char )'[',        (char )'3',        (char )'1',
            (char )'m',        (char )'\000'}};
static int parse_push_color_slot(char const   *slot )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = strcasecmp(slot, (char const   *)"reset");
  if (! tmp) {
    return (0);
  }
  tmp___0 = strcasecmp(slot, (char const   *)"error");
  if (! tmp___0) {
    return (1);
  }
  return (-1);
}
}
static char const   *push_get_color(enum color_push ix )
{
  int tmp ;

  {
  tmp = want_color_fd(2, push_use_color);
  if (tmp) {
    return ((char const   *)(push_colors[ix]));
  }
  return ((char const   *)"");
}
}
static int thin___0  =    1;
static int deleterefs  ;
static char const   *receivepack  ;
static int verbosity___2  ;
static int progress___4  =    -1;
static int recurse_submodules___3  =    1;
static enum transport_family family___1  ;
static struct push_cas_option cas  ;
static struct refspec rs  =    {(struct refspec_item *)0, 0, 0, (char const   **)0, 0, 0, 0};
static struct string_list push_options_config  =    {(struct string_list_item *)0, 0U, 0U, 1U, (int (*)(char const   * , char const   * ))0};
static void refspec_append_mapped(struct refspec *refspec , char const   *ref , struct remote *remote ,
                                  struct ref *local_refs )
{
  char const   *branch_name ;
  struct ref *matched ;
  int tmp ;
  struct refspec_item query ;
  char *tmp___0 ;
  int tmp___1 ;
  struct branch *branch___0 ;
  struct branch *tmp___2 ;
  int tmp___3 ;

  {
  matched = (struct ref *)((void *)0);
  tmp = count_refspec_match(ref, local_refs, & matched);
  if (tmp != 1) {
    refspec_append(refspec, ref);
    return;
  }
  if (remote->push.nr) {
    memset((void *)(& query), 0, sizeof(struct refspec_item ));
    query.src = matched->name;
    tmp___1 = query_refspecs(& remote->push, & query);
    if (! tmp___1) {
      if (query.dst) {
        if (query.force) {
          tmp___0 = "+";
        } else {
          tmp___0 = "";
        }
        refspec_appendf(refspec, (char const   *)"%s%s:%s", tmp___0, query.src, query.dst);
        return;
      }
    }
  }
  if ((unsigned int )push_default == 3U) {
    tmp___3 = skip_prefix((char const   *)(matched->name), (char const   *)"refs/heads/",
                          & branch_name);
    if (tmp___3) {
      tmp___2 = branch_get(branch_name);
      branch___0 = tmp___2;
      if (branch___0->merge_nr == 1) {
        if ((*(branch___0->merge + 0))->src) {
          refspec_appendf(refspec, (char const   *)"%s:%s", ref, (*(branch___0->merge + 0))->src);
          return;
        }
      }
    }
  }
  refspec_append(refspec, ref);
  return;
}
}
static void set_refspecs(char const   **refs___0 , int nr___0 , char const   *repo )
{
  struct remote *remote ;
  struct ref *local_refs ;
  int i ;
  char const   *ref ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;

  {
  remote = (struct remote *)((void *)0);
  local_refs = (struct ref *)((void *)0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break;
    }
    ref = *(refs___0 + i);
    tmp___3 = strcmp((char const   *)"tag", ref);
    if (tmp___3) {
      if (deleterefs) {
        tmp___1 = strchr(ref, ':');
        if (tmp___1) {
          tmp___0 = _((char const   *)"--delete only accepts plain target ref names");
          die((char const   *)tmp___0);
        } else
        if (! *ref) {
          tmp___0 = _((char const   *)"--delete only accepts plain target ref names");
          die((char const   *)tmp___0);
        }
        refspec_appendf(& rs, (char const   *)":%s", ref);
      } else {
        tmp___2 = strchr(ref, ':');
        if (tmp___2) {
          refspec_append(& rs, ref);
        } else {
          if (! remote) {
            remote = remote_get(repo);
            local_refs = get_local_heads();
          }
          refspec_append_mapped(& rs, ref, remote, local_refs);
        }
      }
    } else {
      i ++;
      if (nr___0 <= i) {
        tmp = _((char const   *)"tag shorthand without <tag>");
        die((char const   *)tmp);
      }
      ref = *(refs___0 + i);
      if (deleterefs) {
        refspec_appendf(& rs, (char const   *)":refs/tags/%s", ref);
      } else {
        refspec_appendf(& rs, (char const   *)"refs/tags/%s", ref);
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int push_url_of_remote(struct remote *remote , char const   ***url_p )
{


  {
  if (remote->pushurl_nr) {
    *url_p = remote->pushurl;
    return (remote->pushurl_nr);
  }
  *url_p = remote->url;
  return (remote->url_nr);
}
}
static void die_push_simple(struct branch *branch___0 , struct remote *remote )  __attribute__((__noreturn__)) ;
static void die_push_simple(struct branch *branch___0 , struct remote *remote )
{
  char const   *advice_maybe ;
  char const   *short_upstream ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  advice_maybe = (char const   *)"";
  short_upstream = (char const   *)(*(branch___0->merge + 0))->src;
  skip_prefix(short_upstream, (char const   *)"refs/heads/", & short_upstream);
  if ((unsigned int )push_default == 5U) {
    tmp = _((char const   *)"\nTo choose either option permanently, see push.default in \'git help config\'.");
    advice_maybe = (char const   *)tmp;
  }
  tmp___0 = _((char const   *)"The upstream branch of your current branch does not match\nthe name of your current branch.  To push to the upstream branch\non the remote, use\n\n    git push %s HEAD:%s\n\nTo push to the branch of the same name on the remote, use\n\n    git push %s HEAD\n%s");
  die((char const   *)tmp___0, remote->name, short_upstream, remote->name, advice_maybe);
}
}
static char const   message_detached_head_die[156]  =
  {      (char const   )'Y',      (char const   )'o',      (char const   )'u',      (char const   )' ',
        (char const   )'a',      (char const   )'r',      (char const   )'e',      (char const   )' ',
        (char const   )'n',      (char const   )'o',      (char const   )'t',      (char const   )' ',
        (char const   )'c',      (char const   )'u',      (char const   )'r',      (char const   )'r',
        (char const   )'e',      (char const   )'n',      (char const   )'t',      (char const   )'l',
        (char const   )'y',      (char const   )' ',      (char const   )'o',      (char const   )'n',
        (char const   )' ',      (char const   )'a',      (char const   )' ',      (char const   )'b',
        (char const   )'r',      (char const   )'a',      (char const   )'n',      (char const   )'c',
        (char const   )'h',      (char const   )'.',      (char const   )'\n',      (char const   )'T',
        (char const   )'o',      (char const   )' ',      (char const   )'p',      (char const   )'u',
        (char const   )'s',      (char const   )'h',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'h',
        (char const   )'i',      (char const   )'s',      (char const   )'t',      (char const   )'o',
        (char const   )'r',      (char const   )'y',      (char const   )' ',      (char const   )'l',
        (char const   )'e',      (char const   )'a',      (char const   )'d',      (char const   )'i',
        (char const   )'n',      (char const   )'g',      (char const   )' ',      (char const   )'t',
        (char const   )'o',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )' ',      (char const   )'c',      (char const   )'u',
        (char const   )'r',      (char const   )'r',      (char const   )'e',      (char const   )'n',
        (char const   )'t',      (char const   )' ',      (char const   )'(',      (char const   )'d',
        (char const   )'e',      (char const   )'t',      (char const   )'a',      (char const   )'c',
        (char const   )'h',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'H',      (char const   )'E',      (char const   )'A',      (char const   )'D',
        (char const   )')',      (char const   )'\n',      (char const   )'s',      (char const   )'t',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )' ',
        (char const   )'n',      (char const   )'o',      (char const   )'w',      (char const   )',',
        (char const   )' ',      (char const   )'u',      (char const   )'s',      (char const   )'e',
        (char const   )'\n',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'g',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'p',      (char const   )'u',
        (char const   )'s',      (char const   )'h',      (char const   )' ',      (char const   )'%',
        (char const   )'s',      (char const   )' ',      (char const   )'H',      (char const   )'E',
        (char const   )'A',      (char const   )'D',      (char const   )':',      (char const   )'<',
        (char const   )'n',      (char const   )'a',      (char const   )'m',      (char const   )'e',
        (char const   )'-',      (char const   )'o',      (char const   )'f',      (char const   )'-',
        (char const   )'r',      (char const   )'e',      (char const   )'m',      (char const   )'o',
        (char const   )'t',      (char const   )'e',      (char const   )'-',      (char const   )'b',
        (char const   )'r',      (char const   )'a',      (char const   )'n',      (char const   )'c',
        (char const   )'h',      (char const   )'>',      (char const   )'\n',      (char const   )'\000'};
static char const   *get_upstream_ref(struct branch *branch___0 , char const   *remote_name___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  if (! branch___0->merge_nr) {
    tmp = _((char const   *)"The current branch %s has no upstream branch.\nTo push the current branch and set the remote as upstream, use\n\n    git push --set-upstream %s %s\n");
    die((char const   *)tmp, branch___0->name, remote_name___0, branch___0->name);
  } else
  if (! branch___0->merge) {
    tmp = _((char const   *)"The current branch %s has no upstream branch.\nTo push the current branch and set the remote as upstream, use\n\n    git push --set-upstream %s %s\n");
    die((char const   *)tmp, branch___0->name, remote_name___0, branch___0->name);
  } else
  if (! branch___0->remote_name) {
    tmp = _((char const   *)"The current branch %s has no upstream branch.\nTo push the current branch and set the remote as upstream, use\n\n    git push --set-upstream %s %s\n");
    die((char const   *)tmp, branch___0->name, remote_name___0, branch___0->name);
  }
  if (branch___0->merge_nr != 1) {
    tmp___0 = _((char const   *)"The current branch %s has multiple upstream branches, refusing to push.");
    die((char const   *)tmp___0, branch___0->name);
  }
  return ((char const   *)(*(branch___0->merge + 0))->src);
}
}
static void setup_default_push_refspecs(struct remote *remote )
{
  struct branch *branch___0 ;
  char const   *dst ;
  int same_remote ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;

  {
  {
  if ((unsigned int )push_default == 1U) {
    goto case_1;
  }
  if ((unsigned int )push_default == 0U) {
    goto case_0;
  }
  goto switch_default;
  case_1: /* CIL Label */
  refspec_append(& rs, (char const   *)":");
  return;
  case_0: /* CIL Label */
  tmp = _((char const   *)"You didn\'t specify any refspecs to push, and push.default is \"nothing\".");
  die((char const   *)tmp);
  return;
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  branch___0 = branch_get((char const   *)((void *)0));
  if (! branch___0) {
    tmp___0 = _(message_detached_head_die);
    die((char const   *)tmp___0, remote->name);
  }
  dst = branch___0->refname;
  tmp___1 = remote_for_branch(branch___0, (int *)((void *)0));
  tmp___2 = strcmp(remote->name, tmp___1);
  if (tmp___2) {
    tmp___3 = 0;
  } else {
    tmp___3 = 1;
  }
  same_remote = tmp___3;
  {
  if ((unsigned int )push_default == 3U) {
    goto case_3;
  }
  if ((unsigned int )push_default == 4U) {
    goto case_4;
  }
  goto case_2;
  case_2: /* CIL Label */
  case_5: /* CIL Label */
  switch_default___0: /* CIL Label */
  if (! same_remote) {
    goto switch_break___0;
  }
  tmp___4 = get_upstream_ref(branch___0, remote->name);
  tmp___5 = strcmp(branch___0->refname, tmp___4);
  if (tmp___5) {
    die_push_simple(branch___0, remote);
  }
  goto switch_break___0;
  case_3: /* CIL Label */
  if (! same_remote) {
    tmp___6 = _((char const   *)"You are pushing to remote \'%s\', which is not the upstream of\nyour current branch \'%s\', without telling me what to push\nto update which remote branch.");
    die((char const   *)tmp___6, remote->name, branch___0->name);
  }
  dst = get_upstream_ref(branch___0, remote->name);
  goto switch_break___0;
  case_4: /* CIL Label */
  goto switch_break___0;
  switch_break___0: /* CIL Label */ ;
  }
  refspec_appendf(& rs, (char const   *)"%s:%s", branch___0->refname, dst);
  return;
}
}
static char const   message_advice_pull_before_push[237]  =
  {      (char const   )'U',      (char const   )'p',      (char const   )'d',      (char const   )'a',
        (char const   )'t',      (char const   )'e',      (char const   )'s',      (char const   )' ',
        (char const   )'w',      (char const   )'e',      (char const   )'r',      (char const   )'e',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'j',
        (char const   )'e',      (char const   )'c',      (char const   )'t',      (char const   )'e',
        (char const   )'d',      (char const   )' ',      (char const   )'b',      (char const   )'e',
        (char const   )'c',      (char const   )'a',      (char const   )'u',      (char const   )'s',
        (char const   )'e',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )' ',      (char const   )'t',      (char const   )'i',
        (char const   )'p',      (char const   )' ',      (char const   )'o',      (char const   )'f',
        (char const   )' ',      (char const   )'y',      (char const   )'o',      (char const   )'u',
        (char const   )'r',      (char const   )' ',      (char const   )'c',      (char const   )'u',
        (char const   )'r',      (char const   )'r',      (char const   )'e',      (char const   )'n',
        (char const   )'t',      (char const   )' ',      (char const   )'b',      (char const   )'r',
        (char const   )'a',      (char const   )'n',      (char const   )'c',      (char const   )'h',
        (char const   )' ',      (char const   )'i',      (char const   )'s',      (char const   )' ',
        (char const   )'b',      (char const   )'e',      (char const   )'h',      (char const   )'i',
        (char const   )'n',      (char const   )'d',      (char const   )'\n',      (char const   )'i',
        (char const   )'t',      (char const   )'s',      (char const   )' ',      (char const   )'r',
        (char const   )'e',      (char const   )'m',      (char const   )'o',      (char const   )'t',
        (char const   )'e',      (char const   )' ',      (char const   )'c',      (char const   )'o',
        (char const   )'u',      (char const   )'n',      (char const   )'t',      (char const   )'e',
        (char const   )'r',      (char const   )'p',      (char const   )'a',      (char const   )'r',
        (char const   )'t',      (char const   )'.',      (char const   )' ',      (char const   )'I',
        (char const   )'n',      (char const   )'t',      (char const   )'e',      (char const   )'g',
        (char const   )'r',      (char const   )'a',      (char const   )'t',      (char const   )'e',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'e',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'m',
        (char const   )'o',      (char const   )'t',      (char const   )'e',      (char const   )' ',
        (char const   )'c',      (char const   )'h',      (char const   )'a',      (char const   )'n',
        (char const   )'g',      (char const   )'e',      (char const   )'s',      (char const   )' ',
        (char const   )'(',      (char const   )'e',      (char const   )'.',      (char const   )'g',
        (char const   )'.',      (char const   )'\n',      (char const   )'\'',      (char const   )'g',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'p',
        (char const   )'u',      (char const   )'l',      (char const   )'l',      (char const   )' ',
        (char const   )'.',      (char const   )'.',      (char const   )'.',      (char const   )'\'',
        (char const   )')',      (char const   )' ',      (char const   )'b',      (char const   )'e',
        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )'e',
        (char const   )' ',      (char const   )'p',      (char const   )'u',      (char const   )'s',
        (char const   )'h',      (char const   )'i',      (char const   )'n',      (char const   )'g',
        (char const   )' ',      (char const   )'a',      (char const   )'g',      (char const   )'a',
        (char const   )'i',      (char const   )'n',      (char const   )'.',      (char const   )'\n',
        (char const   )'S',      (char const   )'e',      (char const   )'e',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'\'',      (char const   )'N',      (char const   )'o',      (char const   )'t',
        (char const   )'e',      (char const   )' ',      (char const   )'a',      (char const   )'b',
        (char const   )'o',      (char const   )'u',      (char const   )'t',      (char const   )' ',
        (char const   )'f',      (char const   )'a',      (char const   )'s',      (char const   )'t',
        (char const   )'-',      (char const   )'f',      (char const   )'o',      (char const   )'r',
        (char const   )'w',      (char const   )'a',      (char const   )'r',      (char const   )'d',
        (char const   )'s',      (char const   )'\'',      (char const   )' ',      (char const   )'i',
        (char const   )'n',      (char const   )' ',      (char const   )'\'',      (char const   )'g',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'p',
        (char const   )'u',      (char const   )'s',      (char const   )'h',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'h',      (char const   )'e',
        (char const   )'l',      (char const   )'p',      (char const   )'\'',      (char const   )' ',
        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )' ',
        (char const   )'d',      (char const   )'e',      (char const   )'t',      (char const   )'a',
        (char const   )'i',      (char const   )'l',      (char const   )'s',      (char const   )'.',
        (char const   )'\000'};
static char const   message_advice_checkout_pull_push[252]  =
  {      (char const   )'U',      (char const   )'p',      (char const   )'d',      (char const   )'a',
        (char const   )'t',      (char const   )'e',      (char const   )'s',      (char const   )' ',
        (char const   )'w',      (char const   )'e',      (char const   )'r',      (char const   )'e',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'j',
        (char const   )'e',      (char const   )'c',      (char const   )'t',      (char const   )'e',
        (char const   )'d',      (char const   )' ',      (char const   )'b',      (char const   )'e',
        (char const   )'c',      (char const   )'a',      (char const   )'u',      (char const   )'s',
        (char const   )'e',      (char const   )' ',      (char const   )'a',      (char const   )' ',
        (char const   )'p',      (char const   )'u',      (char const   )'s',      (char const   )'h',
        (char const   )'e',      (char const   )'d',      (char const   )' ',      (char const   )'b',
        (char const   )'r',      (char const   )'a',      (char const   )'n',      (char const   )'c',
        (char const   )'h',      (char const   )' ',      (char const   )'t',      (char const   )'i',
        (char const   )'p',      (char const   )' ',      (char const   )'i',      (char const   )'s',
        (char const   )' ',      (char const   )'b',      (char const   )'e',      (char const   )'h',
        (char const   )'i',      (char const   )'n',      (char const   )'d',      (char const   )' ',
        (char const   )'i',      (char const   )'t',      (char const   )'s',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'m',      (char const   )'o',
        (char const   )'t',      (char const   )'e',      (char const   )'\n',      (char const   )'c',
        (char const   )'o',      (char const   )'u',      (char const   )'n',      (char const   )'t',
        (char const   )'e',      (char const   )'r',      (char const   )'p',      (char const   )'a',
        (char const   )'r',      (char const   )'t',      (char const   )'.',      (char const   )' ',
        (char const   )'C',      (char const   )'h',      (char const   )'e',      (char const   )'c',
        (char const   )'k',      (char const   )' ',      (char const   )'o',      (char const   )'u',
        (char const   )'t',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'i',      (char const   )'s',      (char const   )' ',      (char const   )'b',
        (char const   )'r',      (char const   )'a',      (char const   )'n',      (char const   )'c',
        (char const   )'h',      (char const   )' ',      (char const   )'a',      (char const   )'n',
        (char const   )'d',      (char const   )' ',      (char const   )'i',      (char const   )'n',
        (char const   )'t',      (char const   )'e',      (char const   )'g',      (char const   )'r',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'m',      (char const   )'o',
        (char const   )'t',      (char const   )'e',      (char const   )' ',      (char const   )'c',
        (char const   )'h',      (char const   )'a',      (char const   )'n',      (char const   )'g',
        (char const   )'e',      (char const   )'s',      (char const   )'\n',      (char const   )'(',
        (char const   )'e',      (char const   )'.',      (char const   )'g',      (char const   )'.',
        (char const   )' ',      (char const   )'\'',      (char const   )'g',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'p',      (char const   )'u',
        (char const   )'l',      (char const   )'l',      (char const   )' ',      (char const   )'.',
        (char const   )'.',      (char const   )'.',      (char const   )'\'',      (char const   )')',
        (char const   )' ',      (char const   )'b',      (char const   )'e',      (char const   )'f',
        (char const   )'o',      (char const   )'r',      (char const   )'e',      (char const   )' ',
        (char const   )'p',      (char const   )'u',      (char const   )'s',      (char const   )'h',
        (char const   )'i',      (char const   )'n',      (char const   )'g',      (char const   )' ',
        (char const   )'a',      (char const   )'g',      (char const   )'a',      (char const   )'i',
        (char const   )'n',      (char const   )'.',      (char const   )'\n',      (char const   )'S',
        (char const   )'e',      (char const   )'e',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'\'',
        (char const   )'N',      (char const   )'o',      (char const   )'t',      (char const   )'e',
        (char const   )' ',      (char const   )'a',      (char const   )'b',      (char const   )'o',
        (char const   )'u',      (char const   )'t',      (char const   )' ',      (char const   )'f',
        (char const   )'a',      (char const   )'s',      (char const   )'t',      (char const   )'-',
        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )'w',
        (char const   )'a',      (char const   )'r',      (char const   )'d',      (char const   )'s',
        (char const   )'\'',      (char const   )' ',      (char const   )'i',      (char const   )'n',
        (char const   )' ',      (char const   )'\'',      (char const   )'g',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'p',      (char const   )'u',
        (char const   )'s',      (char const   )'h',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'h',      (char const   )'e',      (char const   )'l',
        (char const   )'p',      (char const   )'\'',      (char const   )' ',      (char const   )'f',
        (char const   )'o',      (char const   )'r',      (char const   )' ',      (char const   )'d',
        (char const   )'e',      (char const   )'t',      (char const   )'a',      (char const   )'i',
        (char const   )'l',      (char const   )'s',      (char const   )'.',      (char const   )'\000'};
static char const   message_advice_ref_fetch_first[320]  =
  {      (char const   )'U',      (char const   )'p',      (char const   )'d',      (char const   )'a',
        (char const   )'t',      (char const   )'e',      (char const   )'s',      (char const   )' ',
        (char const   )'w',      (char const   )'e',      (char const   )'r',      (char const   )'e',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'j',
        (char const   )'e',      (char const   )'c',      (char const   )'t',      (char const   )'e',
        (char const   )'d',      (char const   )' ',      (char const   )'b',      (char const   )'e',
        (char const   )'c',      (char const   )'a',      (char const   )'u',      (char const   )'s',
        (char const   )'e',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )' ',      (char const   )'r',      (char const   )'e',
        (char const   )'m',      (char const   )'o',      (char const   )'t',      (char const   )'e',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'n',
        (char const   )'t',      (char const   )'a',      (char const   )'i',      (char const   )'n',
        (char const   )'s',      (char const   )' ',      (char const   )'w',      (char const   )'o',
        (char const   )'r',      (char const   )'k',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'a',      (char const   )'t',      (char const   )' ',
        (char const   )'y',      (char const   )'o',      (char const   )'u',      (char const   )' ',
        (char const   )'d',      (char const   )'o',      (char const   )'\n',      (char const   )'n',
        (char const   )'o',      (char const   )'t',      (char const   )' ',      (char const   )'h',
        (char const   )'a',      (char const   )'v',      (char const   )'e',      (char const   )' ',
        (char const   )'l',      (char const   )'o',      (char const   )'c',      (char const   )'a',
        (char const   )'l',      (char const   )'l',      (char const   )'y',      (char const   )'.',
        (char const   )' ',      (char const   )'T',      (char const   )'h',      (char const   )'i',
        (char const   )'s',      (char const   )' ',      (char const   )'i',      (char const   )'s',
        (char const   )' ',      (char const   )'u',      (char const   )'s',      (char const   )'u',
        (char const   )'a',      (char const   )'l',      (char const   )'l',      (char const   )'y',
        (char const   )' ',      (char const   )'c',      (char const   )'a',      (char const   )'u',
        (char const   )'s',      (char const   )'e',      (char const   )'d',      (char const   )' ',
        (char const   )'b',      (char const   )'y',      (char const   )' ',      (char const   )'a',
        (char const   )'n',      (char const   )'o',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )'r',      (char const   )' ',      (char const   )'r',
        (char const   )'e',      (char const   )'p',      (char const   )'o',      (char const   )'s',
        (char const   )'i',      (char const   )'t',      (char const   )'o',      (char const   )'r',
        (char const   )'y',      (char const   )' ',      (char const   )'p',      (char const   )'u',
        (char const   )'s',      (char const   )'h',      (char const   )'i',      (char const   )'n',
        (char const   )'g',      (char const   )'\n',      (char const   )'t',      (char const   )'o',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'e',
        (char const   )' ',      (char const   )'s',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )' ',      (char const   )'r',      (char const   )'e',
        (char const   )'f',      (char const   )'.',      (char const   )' ',      (char const   )'Y',
        (char const   )'o',      (char const   )'u',      (char const   )' ',      (char const   )'m',
        (char const   )'a',      (char const   )'y',      (char const   )' ',      (char const   )'w',
        (char const   )'a',      (char const   )'n',      (char const   )'t',      (char const   )' ',
        (char const   )'t',      (char const   )'o',      (char const   )' ',      (char const   )'f',
        (char const   )'i',      (char const   )'r',      (char const   )'s',      (char const   )'t',
        (char const   )' ',      (char const   )'i',      (char const   )'n',      (char const   )'t',
        (char const   )'e',      (char const   )'g',      (char const   )'r',      (char const   )'a',
        (char const   )'t',      (char const   )'e',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'r',
        (char const   )'e',      (char const   )'m',      (char const   )'o',      (char const   )'t',
        (char const   )'e',      (char const   )' ',      (char const   )'c',      (char const   )'h',
        (char const   )'a',      (char const   )'n',      (char const   )'g',      (char const   )'e',
        (char const   )'s',      (char const   )'\n',      (char const   )'(',      (char const   )'e',
        (char const   )'.',      (char const   )'g',      (char const   )'.',      (char const   )',',
        (char const   )' ',      (char const   )'\'',      (char const   )'g',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'p',      (char const   )'u',
        (char const   )'l',      (char const   )'l',      (char const   )' ',      (char const   )'.',
        (char const   )'.',      (char const   )'.',      (char const   )'\'',      (char const   )')',
        (char const   )' ',      (char const   )'b',      (char const   )'e',      (char const   )'f',
        (char const   )'o',      (char const   )'r',      (char const   )'e',      (char const   )' ',
        (char const   )'p',      (char const   )'u',      (char const   )'s',      (char const   )'h',
        (char const   )'i',      (char const   )'n',      (char const   )'g',      (char const   )' ',
        (char const   )'a',      (char const   )'g',      (char const   )'a',      (char const   )'i',
        (char const   )'n',      (char const   )'.',      (char const   )'\n',      (char const   )'S',
        (char const   )'e',      (char const   )'e',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'\'',
        (char const   )'N',      (char const   )'o',      (char const   )'t',      (char const   )'e',
        (char const   )' ',      (char const   )'a',      (char const   )'b',      (char const   )'o',
        (char const   )'u',      (char const   )'t',      (char const   )' ',      (char const   )'f',
        (char const   )'a',      (char const   )'s',      (char const   )'t',      (char const   )'-',
        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )'w',
        (char const   )'a',      (char const   )'r',      (char const   )'d',      (char const   )'s',
        (char const   )'\'',      (char const   )' ',      (char const   )'i',      (char const   )'n',
        (char const   )' ',      (char const   )'\'',      (char const   )'g',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'p',      (char const   )'u',
        (char const   )'s',      (char const   )'h',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'h',      (char const   )'e',      (char const   )'l',
        (char const   )'p',      (char const   )'\'',      (char const   )' ',      (char const   )'f',
        (char const   )'o',      (char const   )'r',      (char const   )' ',      (char const   )'d',
        (char const   )'e',      (char const   )'t',      (char const   )'a',      (char const   )'i',
        (char const   )'l',      (char const   )'s',      (char const   )'.',      (char const   )'\000'};
static char const   message_advice_ref_already_exists[68]  =
  {      (char const   )'U',      (char const   )'p',      (char const   )'d',      (char const   )'a',
        (char const   )'t',      (char const   )'e',      (char const   )'s',      (char const   )' ',
        (char const   )'w',      (char const   )'e',      (char const   )'r',      (char const   )'e',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'j',
        (char const   )'e',      (char const   )'c',      (char const   )'t',      (char const   )'e',
        (char const   )'d',      (char const   )' ',      (char const   )'b',      (char const   )'e',
        (char const   )'c',      (char const   )'a',      (char const   )'u',      (char const   )'s',
        (char const   )'e',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )' ',      (char const   )'t',      (char const   )'a',
        (char const   )'g',      (char const   )' ',      (char const   )'a',      (char const   )'l',
        (char const   )'r',      (char const   )'e',      (char const   )'a',      (char const   )'d',
        (char const   )'y',      (char const   )' ',      (char const   )'e',      (char const   )'x',
        (char const   )'i',      (char const   )'s',      (char const   )'t',      (char const   )'s',
        (char const   )' ',      (char const   )'i',      (char const   )'n',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'m',      (char const   )'o',
        (char const   )'t',      (char const   )'e',      (char const   )'.',      (char const   )'\000'};
static char const   message_advice_ref_needs_force[168]  =
  {      (char const   )'Y',      (char const   )'o',      (char const   )'u',      (char const   )' ',
        (char const   )'c',      (char const   )'a',      (char const   )'n',      (char const   )'n',
        (char const   )'o',      (char const   )'t',      (char const   )' ',      (char const   )'u',
        (char const   )'p',      (char const   )'d',      (char const   )'a',      (char const   )'t',
        (char const   )'e',      (char const   )' ',      (char const   )'a',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'m',      (char const   )'o',
        (char const   )'t',      (char const   )'e',      (char const   )' ',      (char const   )'r',
        (char const   )'e',      (char const   )'f',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'a',      (char const   )'t',      (char const   )' ',
        (char const   )'p',      (char const   )'o',      (char const   )'i',      (char const   )'n',
        (char const   )'t',      (char const   )'s',      (char const   )' ',      (char const   )'a',
        (char const   )'t',      (char const   )' ',      (char const   )'a',      (char const   )' ',
        (char const   )'n',      (char const   )'o',      (char const   )'n',      (char const   )'-',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'m',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'o',
        (char const   )'b',      (char const   )'j',      (char const   )'e',      (char const   )'c',
        (char const   )'t',      (char const   )',',      (char const   )'\n',      (char const   )'o',
        (char const   )'r',      (char const   )' ',      (char const   )'u',      (char const   )'p',
        (char const   )'d',      (char const   )'a',      (char const   )'t',      (char const   )'e',
        (char const   )' ',      (char const   )'a',      (char const   )' ',      (char const   )'r',
        (char const   )'e',      (char const   )'m',      (char const   )'o',      (char const   )'t',
        (char const   )'e',      (char const   )' ',      (char const   )'r',      (char const   )'e',
        (char const   )'f',      (char const   )' ',      (char const   )'t',      (char const   )'o',
        (char const   )' ',      (char const   )'m',      (char const   )'a',      (char const   )'k',
        (char const   )'e',      (char const   )' ',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'p',      (char const   )'o',      (char const   )'i',
        (char const   )'n',      (char const   )'t',      (char const   )' ',      (char const   )'a',
        (char const   )'t',      (char const   )' ',      (char const   )'a',      (char const   )' ',
        (char const   )'n',      (char const   )'o',      (char const   )'n',      (char const   )'-',
        (char const   )'c',      (char const   )'o',      (char const   )'m',      (char const   )'m',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'o',
        (char const   )'b',      (char const   )'j',      (char const   )'e',      (char const   )'c',
        (char const   )'t',      (char const   )',',      (char const   )'\n',      (char const   )'w',
        (char const   )'i',      (char const   )'t',      (char const   )'h',      (char const   )'o',
        (char const   )'u',      (char const   )'t',      (char const   )' ',      (char const   )'u',
        (char const   )'s',      (char const   )'i',      (char const   )'n',      (char const   )'g',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'e',
        (char const   )' ',      (char const   )'\'',      (char const   )'-',      (char const   )'-',
        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )'c',
        (char const   )'e',      (char const   )'\'',      (char const   )' ',      (char const   )'o',
        (char const   )'p',      (char const   )'t',      (char const   )'i',      (char const   )'o',
        (char const   )'n',      (char const   )'.',      (char const   )'\n',      (char const   )'\000'};
static char const   message_advice_ref_needs_update[208]  =
  {      (char const   )'U',      (char const   )'p',      (char const   )'d',      (char const   )'a',
        (char const   )'t',      (char const   )'e',      (char const   )'s',      (char const   )' ',
        (char const   )'w',      (char const   )'e',      (char const   )'r',      (char const   )'e',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'j',
        (char const   )'e',      (char const   )'c',      (char const   )'t',      (char const   )'e',
        (char const   )'d',      (char const   )' ',      (char const   )'b',      (char const   )'e',
        (char const   )'c',      (char const   )'a',      (char const   )'u',      (char const   )'s',
        (char const   )'e',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )' ',      (char const   )'t',      (char const   )'i',
        (char const   )'p',      (char const   )' ',      (char const   )'o',      (char const   )'f',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'e',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'m',
        (char const   )'o',      (char const   )'t',      (char const   )'e',      (char const   )'-',
        (char const   )'t',      (char const   )'r',      (char const   )'a',      (char const   )'c',
        (char const   )'k',      (char const   )'i',      (char const   )'n',      (char const   )'g',
        (char const   )'\n',      (char const   )'b',      (char const   )'r',      (char const   )'a',
        (char const   )'n',      (char const   )'c',      (char const   )'h',      (char const   )' ',
        (char const   )'h',      (char const   )'a',      (char const   )'s',      (char const   )' ',
        (char const   )'b',      (char const   )'e',      (char const   )'e',      (char const   )'n',
        (char const   )' ',      (char const   )'u',      (char const   )'p',      (char const   )'d',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )'d',
        (char const   )' ',      (char const   )'s',      (char const   )'i',      (char const   )'n',
        (char const   )'c',      (char const   )'e',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'l',
        (char const   )'a',      (char const   )'s',      (char const   )'t',      (char const   )' ',
        (char const   )'c',      (char const   )'h',      (char const   )'e',      (char const   )'c',
        (char const   )'k',      (char const   )'o',      (char const   )'u',      (char const   )'t',
        (char const   )'.',      (char const   )' ',      (char const   )'Y',      (char const   )'o',
        (char const   )'u',      (char const   )' ',      (char const   )'m',      (char const   )'a',
        (char const   )'y',      (char const   )' ',      (char const   )'w',      (char const   )'a',
        (char const   )'n',      (char const   )'t',      (char const   )'\n',      (char const   )'t',
        (char const   )'o',      (char const   )' ',      (char const   )'i',      (char const   )'n',
        (char const   )'t',      (char const   )'e',      (char const   )'g',      (char const   )'r',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'o',      (char const   )'s',
        (char const   )'e',      (char const   )' ',      (char const   )'c',      (char const   )'h',
        (char const   )'a',      (char const   )'n',      (char const   )'g',      (char const   )'e',
        (char const   )'s',      (char const   )' ',      (char const   )'l',      (char const   )'o',
        (char const   )'c',      (char const   )'a',      (char const   )'l',      (char const   )'l',
        (char const   )'y',      (char const   )' ',      (char const   )'(',      (char const   )'e',
        (char const   )'.',      (char const   )'g',      (char const   )'.',      (char const   )',',
        (char const   )' ',      (char const   )'\'',      (char const   )'g',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'p',      (char const   )'u',
        (char const   )'l',      (char const   )'l',      (char const   )' ',      (char const   )'.',
        (char const   )'.',      (char const   )'.',      (char const   )'\'',      (char const   )')',
        (char const   )'\n',      (char const   )'b',      (char const   )'e',      (char const   )'f',
        (char const   )'o',      (char const   )'r',      (char const   )'e',      (char const   )' ',
        (char const   )'f',      (char const   )'o',      (char const   )'r',      (char const   )'c',
        (char const   )'i',      (char const   )'n',      (char const   )'g',      (char const   )' ',
        (char const   )'a',      (char const   )'n',      (char const   )' ',      (char const   )'u',
        (char const   )'p',      (char const   )'d',      (char const   )'a',      (char const   )'t',
        (char const   )'e',      (char const   )'.',      (char const   )'\n',      (char const   )'\000'};
static void advise_pull_before_push(void)
{
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  tmp = advice_enabled((enum advice_type )16);
  if (tmp) {
    tmp___0 = advice_enabled((enum advice_type )20);
    if (! tmp___0) {
      return;
    }
  } else {
    return;
  }
  tmp___1 = _(message_advice_pull_before_push);
  advise((char const   *)tmp___1);
  return;
}
}
static void advise_checkout_pull_push(void)
{
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  tmp = advice_enabled((enum advice_type )17);
  if (tmp) {
    tmp___0 = advice_enabled((enum advice_type )20);
    if (! tmp___0) {
      return;
    }
  } else {
    return;
  }
  tmp___1 = _(message_advice_checkout_pull_push);
  advise((char const   *)tmp___1);
  return;
}
}
static void advise_ref_already_exists(void)
{
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  tmp = advice_enabled((enum advice_type )13);
  if (tmp) {
    tmp___0 = advice_enabled((enum advice_type )20);
    if (! tmp___0) {
      return;
    }
  } else {
    return;
  }
  tmp___1 = _(message_advice_ref_already_exists);
  advise((char const   *)tmp___1);
  return;
}
}
static void advise_ref_fetch_first(void)
{
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  tmp = advice_enabled((enum advice_type )14);
  if (tmp) {
    tmp___0 = advice_enabled((enum advice_type )20);
    if (! tmp___0) {
      return;
    }
  } else {
    return;
  }
  tmp___1 = _(message_advice_ref_fetch_first);
  advise((char const   *)tmp___1);
  return;
}
}
static void advise_ref_needs_force(void)
{
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  tmp = advice_enabled((enum advice_type )15);
  if (tmp) {
    tmp___0 = advice_enabled((enum advice_type )20);
    if (! tmp___0) {
      return;
    }
  } else {
    return;
  }
  tmp___1 = _(message_advice_ref_needs_force);
  advise((char const   *)tmp___1);
  return;
}
}
static void advise_ref_needs_update(void)
{
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  tmp = advice_enabled((enum advice_type )21);
  if (tmp) {
    tmp___0 = advice_enabled((enum advice_type )20);
    if (! tmp___0) {
      return;
    }
  } else {
    return;
  }
  tmp___1 = _(message_advice_ref_needs_update);
  advise((char const   *)tmp___1);
  return;
}
}
static int push_with_options(struct transport *transport , struct refspec *rs___0 ,
                             int flags___0 )
{
  int err___4 ;
  unsigned int reject_reasons ;
  char *anon_url ;
  char *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const   *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const   *tmp___5 ;
  int tmp___6 ;

  {
  tmp = transport_anonymize_url(transport->url);
  anon_url = tmp;
  transport_set_verbosity(transport, verbosity___2, progress___4);
  transport->family = family___1;
  if (receivepack) {
    transport_set_option(transport, (char const   *)"receivepack", receivepack);
  }
  if (thin___0) {
    tmp___0 = "yes";
  } else {
    tmp___0 = (char *)((void *)0);
  }
  transport_set_option(transport, (char const   *)"thin", (char const   *)tmp___0);
  tmp___1 = is_empty_cas((struct push_cas_option  const  *)(& cas));
  if (! tmp___1) {
    if (! transport->smart_options) {
      die((char const   *)"underlying transport does not support --%s option", "force-with-lease");
    }
    (transport->smart_options)->cas = & cas;
  }
  if (verbosity___2 > 0) {
    tmp___2 = _((char const   *)"Pushing to %s\n");
    fprintf(stderr, (char const   *)tmp___2, anon_url);
  }
  trace2_region_enter_fl((char const   *)"builtin/push.c", 356, (char const   *)"push",
                         (char const   *)"transport_push", (struct repository  const  *)the_repository);
  err___4 = transport_push(the_repository, transport, rs___0, flags___0, & reject_reasons);
  trace2_region_leave_fl((char const   *)"builtin/push.c", 359, (char const   *)"push",
                         (char const   *)"transport_push", (struct repository  const  *)the_repository);
  if (err___4 != 0) {
    tmp___3 = push_get_color((enum color_push )1);
    fprintf(stderr, (char const   *)"%s", tmp___3);
    tmp___4 = _((char const   *)"failed to push some refs to \'%s\'");
    error((char const   *)tmp___4, anon_url);
    const_error();
    tmp___5 = push_get_color((enum color_push )0);
    fprintf(stderr, (char const   *)"%s", tmp___5);
  }
  tmp___6 = transport_disconnect(transport);
  err___4 |= tmp___6;
  free((void *)anon_url);
  if (! err___4) {
    return (0);
  }
  if (reject_reasons & 1U) {
    advise_pull_before_push();
  } else
  if (reject_reasons & 2U) {
    advise_checkout_pull_push();
  } else
  if (reject_reasons & 4U) {
    advise_ref_already_exists();
  } else
  if (reject_reasons & 8U) {
    advise_ref_fetch_first();
  } else
  if (reject_reasons & 16U) {
    advise_ref_needs_force();
  } else
  if (reject_reasons & 32U) {
    advise_ref_needs_update();
  }
  return (1);
}
}
static int do_push(int flags___0 , struct string_list  const  *push_options , struct remote *remote )
{
  int i ;
  int errs ;
  char const   **url ;
  int url_nr ;
  struct refspec *push_refspec ;
  struct transport *transport ;
  struct transport *tmp ;
  int tmp___0 ;
  struct transport *transport___0 ;
  struct transport *tmp___1 ;
  int tmp___2 ;

  {
  push_refspec = & rs;
  if (push_options->nr) {
    flags___0 |= 1 << 14;
  }
  if (! push_refspec->nr) {
    if (! (flags___0 & 1)) {
      if (remote->push.nr) {
        push_refspec = & remote->push;
      } else
      if (! (flags___0 & (1 << 3))) {
        setup_default_push_refspecs(remote);
      }
    }
  }
  errs = 0;
  url_nr = push_url_of_remote(remote, & url);
  if (url_nr) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < url_nr)) {
        goto while_break;
      }
      tmp = transport_get(remote, *(url + i));
      transport = tmp;
      if (flags___0 & (1 << 14)) {
        transport->push_options = push_options;
      }
      tmp___0 = push_with_options(transport, push_refspec, flags___0);
      if (tmp___0) {
        errs ++;
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  } else {
    tmp___1 = transport_get(remote, (char const   *)((void *)0));
    transport___0 = tmp___1;
    if (flags___0 & (1 << 14)) {
      transport___0->push_options = push_options;
    }
    tmp___2 = push_with_options(transport___0, push_refspec, flags___0);
    if (tmp___2) {
      errs ++;
    }
  }
  return (! (! errs));
}
}
static int option_parse_recurse_submodules(struct option  const  *opt___0 , char const   *arg ,
                                           int unset )
{
  int *recurse_submodules___4 ;

  {
  recurse_submodules___4 = (int *)opt___0->value;
  if (unset) {
    *recurse_submodules___4 = 0;
  } else {
    *recurse_submodules___4 = parse_push_recurse_submodules_arg((char const   *)opt___0->long_name,
                                                                arg);
  }
  return (0);
}
}
static void set_push_cert_flags(int *flags___0 , int v )
{


  {
  {
  if (v == 0) {
    goto case_0;
  }
  if (v == 2) {
    goto case_2;
  }
  if (v == 1) {
    goto case_1;
  }
  goto switch_break;
  case_0: /* CIL Label */
  *flags___0 &= ~ ((1 << 11) | (1 << 12));
  goto switch_break;
  case_2: /* CIL Label */
  *flags___0 |= 1 << 11;
  *flags___0 &= ~ (1 << 12);
  goto switch_break;
  case_1: /* CIL Label */
  *flags___0 |= 1 << 12;
  *flags___0 &= ~ (1 << 11);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static int git_push_config(char const   *k , char const   *v , void *cb )
{
  char const   *slot_name ;
  int *flags___0 ;
  int status ;
  int tmp ;
  char const   *value ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const   *value___0 ;
  int tmp___4 ;
  int val ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int slot ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;

  {
  flags___0 = (int *)cb;
  status = git_gpg_config(k, v, (void *)0);
  if (status) {
    return (status);
  }
  tmp___20 = strcmp(k, (char const   *)"push.followtags");
  if (tmp___20) {
    tmp___19 = strcmp(k, (char const   *)"push.gpgsign");
    if (tmp___19) {
      tmp___18 = strcmp(k, (char const   *)"push.recursesubmodules");
      if (tmp___18) {
        tmp___17 = strcmp(k, (char const   *)"submodule.recurse");
        if (tmp___17) {
          tmp___16 = strcmp(k, (char const   *)"push.pushoption");
          if (tmp___16) {
            tmp___15 = strcmp(k, (char const   *)"color.push");
            if (tmp___15) {
              tmp___14 = skip_prefix(k, (char const   *)"color.push.", & slot_name);
              if (tmp___14) {
                tmp___9 = parse_push_color_slot(slot_name);
                slot = tmp___9;
                if (slot < 0) {
                  return (0);
                }
                if (! v) {
                  config_error_nonbool(k);
                  tmp___10 = const_error();
                  return (tmp___10);
                }
                tmp___11 = color_parse(v, push_colors[slot]);
                return (tmp___11);
              } else {
                tmp___13 = strcmp(k, (char const   *)"push.useforceifincludes");
                if (! tmp___13) {
                  tmp___12 = git_config_bool(k, v);
                  if (tmp___12) {
                    *flags___0 |= 1 << 16;
                  } else {
                    *flags___0 &= ~ (1 << 16);
                  }
                  return (0);
                }
              }
            } else {
              push_use_color = git_config_colorbool(k, v);
              return (0);
            }
          } else {
            if (! v) {
              config_error_nonbool(k);
              tmp___8 = const_error();
              return (tmp___8);
            } else
            if (! *v) {
              string_list_clear(& push_options_config, 0);
            } else {
              string_list_append(& push_options_config, v);
            }
            return (0);
          }
        } else {
          tmp___7 = git_config_bool(k, v);
          if (tmp___7) {
            tmp___6 = -1;
          } else {
            tmp___6 = 0;
          }
          val = tmp___6;
          recurse_submodules___3 = val;
        }
      } else {
        tmp___4 = git_config_get_value((char const   *)"push.recursesubmodules", & value___0);
        if (! tmp___4) {
          recurse_submodules___3 = parse_push_recurse_submodules_arg(k, value___0);
        }
      }
    } else {
      tmp___3 = git_config_get_value((char const   *)"push.gpgsign", & value);
      if (! tmp___3) {
        tmp___0 = git_parse_maybe_bool(value);
        {
        if (tmp___0 == 0) {
          goto case_0;
        }
        if (tmp___0 == 1) {
          goto case_1;
        }
        goto switch_default;
        case_0: /* CIL Label */
        set_push_cert_flags(flags___0, 0);
        goto switch_break;
        case_1: /* CIL Label */
        set_push_cert_flags(flags___0, 2);
        goto switch_break;
        switch_default: /* CIL Label */
        if (value) {
          tmp___2 = strcasecmp(value, (char const   *)"if-asked");
          if (tmp___2) {
            error((char const   *)"Invalid value for \'%s\'", k);
            tmp___1 = const_error();
            return (tmp___1);
          } else {
            set_push_cert_flags(flags___0, 1);
          }
        } else {
          error((char const   *)"Invalid value for \'%s\'", k);
          tmp___1 = const_error();
          return (tmp___1);
        }
        switch_break: /* CIL Label */ ;
        }
      }
    }
  } else {
    tmp = git_config_bool(k, v);
    if (tmp) {
      *flags___0 |= 1 << 10;
    } else {
      *flags___0 &= ~ (1 << 10);
    }
    return (0);
  }
  tmp___21 = git_default_config(k, v, (void *)0);
  return (tmp___21);
}
}
int cmd_push(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int flags___0 ;
  int tags___2 ;
  int push_cert___0 ;
  int rc___0 ;
  char const   *repo ;
  struct string_list push_options_cmdline ;
  struct string_list *push_options ;
  struct string_list_item  const  *item___0 ;
  struct remote *remote ;
  struct option options[27] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char *tmp___10 ;

  {
  flags___0 = 0;
  tags___2 = 0;
  push_cert___0 = -1;
  repo = (char const   *)((void *)0);
  push_options_cmdline.items = (struct string_list_item *)0;
  push_options_cmdline.nr = 0U;
  push_options_cmdline.alloc = 0U;
  push_options_cmdline.strdup_strings = 1U;
  push_options_cmdline.cmp = (int (*)(char const   * , char const   * ))0;
  options[0].type = (enum parse_opt_type )12;
  options[0].short_name = 'v';
  options[0].long_name = (char const   *)"verbose";
  options[0].value = (void *)(& verbosity___2);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"be more verbose";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = & parse_opt_verbosity_cb;
  options[0].defval = (intptr_t )0;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )12;
  options[1].short_name = 'q';
  options[1].long_name = (char const   *)"quiet";
  options[1].value = (void *)(& verbosity___2);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"be more quiet";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = & parse_opt_verbosity_cb;
  options[1].defval = (intptr_t )0;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )9;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"repo";
  options[2].value = (void *)(& repo);
  options[2].argh = (char const   *)"repository";
  options[2].help = (char const   *)"repository";
  options[2].flags = (enum parse_opt_option_flags )0;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )4;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"all";
  options[3].value = (void *)(& flags___0);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"push all refs";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )1;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )4;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"mirror";
  options[4].value = (void *)(& flags___0);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"mirror all refs";
  options[4].flags = (enum parse_opt_option_flags )2;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )((1 << 3) | (1 << 1));
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )8;
  options[5].short_name = 'd';
  options[5].long_name = (char const   *)"delete";
  options[5].value = (void *)(& deleterefs);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"delete refs";
  options[5].flags = (enum parse_opt_option_flags )2;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )1;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )8;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)"tags";
  options[6].value = (void *)(& tags___2);
  options[6].argh = (char const   *)((void *)0);
  options[6].help = (char const   *)"push tags (can\'t be used with --all or --mirror)";
  options[6].flags = (enum parse_opt_option_flags )2;
  options[6].callback = (parse_opt_cb *)((void *)0);
  options[6].defval = (intptr_t )1;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )4;
  options[7].short_name = 'n';
  options[7].long_name = (char const   *)"dry-run";
  options[7].value = (void *)(& flags___0);
  options[7].argh = (char const   *)((void *)0);
  options[7].help = (char const   *)"dry run";
  options[7].flags = (enum parse_opt_option_flags )2;
  options[7].callback = (parse_opt_cb *)((void *)0);
  options[7].defval = (intptr_t )(1 << 2);
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )4;
  options[8].short_name = 0;
  options[8].long_name = (char const   *)"porcelain";
  options[8].value = (void *)(& flags___0);
  options[8].argh = (char const   *)((void *)0);
  options[8].help = (char const   *)"machine-readable output";
  options[8].flags = (enum parse_opt_option_flags )2;
  options[8].callback = (parse_opt_cb *)((void *)0);
  options[8].defval = (intptr_t )(1 << 4);
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  options[9].type = (enum parse_opt_type )4;
  options[9].short_name = 'f';
  options[9].long_name = (char const   *)"force";
  options[9].value = (void *)(& flags___0);
  options[9].argh = (char const   *)((void *)0);
  options[9].help = (char const   *)"force updates";
  options[9].flags = (enum parse_opt_option_flags )2;
  options[9].callback = (parse_opt_cb *)((void *)0);
  options[9].defval = (intptr_t )(1 << 1);
  options[9].ll_callback = (parse_opt_ll_cb *)0;
  options[9].extra = 0L;
  options[10].type = (enum parse_opt_type )12;
  options[10].short_name = 0;
  options[10].long_name = (char const   *)"force-with-lease";
  options[10].value = (void *)(& cas);
  options[10].argh = (char const   *)"<refname>:<expect>";
  options[10].help = (char const   *)"require old value of ref to be at this value";
  options[10].flags = (enum parse_opt_option_flags )65;
  options[10].callback = & parseopt_push_cas_option;
  options[10].defval = 0L;
  options[10].ll_callback = (parse_opt_ll_cb *)0;
  options[10].extra = 0L;
  options[11].type = (enum parse_opt_type )4;
  options[11].short_name = 0;
  options[11].long_name = (char const   *)"force-if-includes";
  options[11].value = (void *)(& flags___0);
  options[11].argh = (char const   *)((void *)0);
  options[11].help = (char const   *)"require remote updates to be integrated locally";
  options[11].flags = (enum parse_opt_option_flags )2;
  options[11].callback = (parse_opt_cb *)((void *)0);
  options[11].defval = (intptr_t )(1 << 16);
  options[11].ll_callback = (parse_opt_ll_cb *)0;
  options[11].extra = 0L;
  options[12].type = (enum parse_opt_type )12;
  options[12].short_name = 0;
  options[12].long_name = (char const   *)"recurse-submodules";
  options[12].value = (void *)(& recurse_submodules___3);
  options[12].argh = (char const   *)"(check|on-demand|no)";
  options[12].help = (char const   *)"control recursive pushing of submodules";
  options[12].flags = (enum parse_opt_option_flags )0;
  options[12].callback = & option_parse_recurse_submodules;
  options[12].defval = 0L;
  options[12].ll_callback = (parse_opt_ll_cb *)0;
  options[12].extra = 0L;
  options[13].type = (enum parse_opt_type )8;
  options[13].short_name = 0;
  options[13].long_name = (char const   *)"thin";
  options[13].value = (void *)(& thin___0);
  options[13].argh = (char const   *)((void *)0);
  options[13].help = (char const   *)"use thin pack";
  options[13].flags = (enum parse_opt_option_flags )514;
  options[13].callback = (parse_opt_cb *)((void *)0);
  options[13].defval = (intptr_t )1;
  options[13].ll_callback = (parse_opt_ll_cb *)0;
  options[13].extra = 0L;
  options[14].type = (enum parse_opt_type )9;
  options[14].short_name = 0;
  options[14].long_name = (char const   *)"receive-pack";
  options[14].value = (void *)(& receivepack);
  options[14].argh = (char const   *)"receive-pack";
  options[14].help = (char const   *)"receive pack program";
  options[14].flags = (enum parse_opt_option_flags )0;
  options[14].callback = (parse_opt_cb *)0;
  options[14].defval = 0L;
  options[14].ll_callback = (parse_opt_ll_cb *)0;
  options[14].extra = 0L;
  options[15].type = (enum parse_opt_type )9;
  options[15].short_name = 0;
  options[15].long_name = (char const   *)"exec";
  options[15].value = (void *)(& receivepack);
  options[15].argh = (char const   *)"receive-pack";
  options[15].help = (char const   *)"receive pack program";
  options[15].flags = (enum parse_opt_option_flags )0;
  options[15].callback = (parse_opt_cb *)0;
  options[15].defval = 0L;
  options[15].ll_callback = (parse_opt_ll_cb *)0;
  options[15].extra = 0L;
  options[16].type = (enum parse_opt_type )4;
  options[16].short_name = 'u';
  options[16].long_name = (char const   *)"set-upstream";
  options[16].value = (void *)(& flags___0);
  options[16].argh = (char const   *)((void *)0);
  options[16].help = (char const   *)"set upstream for git pull/status";
  options[16].flags = (enum parse_opt_option_flags )2;
  options[16].callback = (parse_opt_cb *)((void *)0);
  options[16].defval = (intptr_t )(1 << 5);
  options[16].ll_callback = (parse_opt_ll_cb *)0;
  options[16].extra = 0L;
  options[17].type = (enum parse_opt_type )8;
  options[17].short_name = 0;
  options[17].long_name = (char const   *)"progress";
  options[17].value = (void *)(& progress___4);
  options[17].argh = (char const   *)((void *)0);
  options[17].help = (char const   *)"force progress reporting";
  options[17].flags = (enum parse_opt_option_flags )2;
  options[17].callback = (parse_opt_cb *)((void *)0);
  options[17].defval = (intptr_t )1;
  options[17].ll_callback = (parse_opt_ll_cb *)0;
  options[17].extra = 0L;
  options[18].type = (enum parse_opt_type )4;
  options[18].short_name = 0;
  options[18].long_name = (char const   *)"prune";
  options[18].value = (void *)(& flags___0);
  options[18].argh = (char const   *)((void *)0);
  options[18].help = (char const   *)"prune locally removed refs";
  options[18].flags = (enum parse_opt_option_flags )2;
  options[18].callback = (parse_opt_cb *)((void *)0);
  options[18].defval = (intptr_t )(1 << 7);
  options[18].ll_callback = (parse_opt_ll_cb *)0;
  options[18].extra = 0L;
  options[19].type = (enum parse_opt_type )4;
  options[19].short_name = 0;
  options[19].long_name = (char const   *)"no-verify";
  options[19].value = (void *)(& flags___0);
  options[19].argh = (char const   *)((void *)0);
  options[19].help = (char const   *)"bypass pre-push hook";
  options[19].flags = (enum parse_opt_option_flags )2;
  options[19].callback = (parse_opt_cb *)((void *)0);
  options[19].defval = (intptr_t )(1 << 9);
  options[19].ll_callback = (parse_opt_ll_cb *)0;
  options[19].extra = 0L;
  options[20].type = (enum parse_opt_type )4;
  options[20].short_name = 0;
  options[20].long_name = (char const   *)"follow-tags";
  options[20].value = (void *)(& flags___0);
  options[20].argh = (char const   *)((void *)0);
  options[20].help = (char const   *)"push missing but relevant tags";
  options[20].flags = (enum parse_opt_option_flags )2;
  options[20].callback = (parse_opt_cb *)((void *)0);
  options[20].defval = (intptr_t )(1 << 10);
  options[20].ll_callback = (parse_opt_ll_cb *)0;
  options[20].extra = 0L;
  options[21].type = (enum parse_opt_type )12;
  options[21].short_name = 0;
  options[21].long_name = (char const   *)"signed";
  options[21].value = (void *)(& push_cert___0);
  options[21].argh = (char const   *)"(yes|no|if-asked)";
  options[21].help = (char const   *)"GPG sign the push";
  options[21].flags = (enum parse_opt_option_flags )1;
  options[21].callback = & option_parse_push_signed;
  options[21].defval = 0L;
  options[21].ll_callback = (parse_opt_ll_cb *)0;
  options[21].extra = 0L;
  options[22].type = (enum parse_opt_type )4;
  options[22].short_name = 0;
  options[22].long_name = (char const   *)"atomic";
  options[22].value = (void *)(& flags___0);
  options[22].argh = (char const   *)((void *)0);
  options[22].help = (char const   *)"request atomic transaction on remote side";
  options[22].flags = (enum parse_opt_option_flags )2;
  options[22].callback = (parse_opt_cb *)((void *)0);
  options[22].defval = (intptr_t )(1 << 13);
  options[22].ll_callback = (parse_opt_ll_cb *)0;
  options[22].extra = 0L;
  options[23].type = (enum parse_opt_type )12;
  options[23].short_name = 'o';
  options[23].long_name = (char const   *)"push-option";
  options[23].value = (void *)(& push_options_cmdline);
  options[23].argh = (char const   *)"server-specific";
  options[23].help = (char const   *)"option to transmit";
  options[23].flags = (enum parse_opt_option_flags )0;
  options[23].callback = & parse_opt_string_list;
  options[23].defval = 0L;
  options[23].ll_callback = (parse_opt_ll_cb *)0;
  options[23].extra = 0L;
  options[24].type = (enum parse_opt_type )8;
  options[24].short_name = '4';
  options[24].long_name = (char const   *)"ipv4";
  options[24].value = (void *)(& family___1);
  options[24].argh = (char const   *)((void *)0);
  options[24].help = (char const   *)"use IPv4 addresses only";
  options[24].flags = (enum parse_opt_option_flags )2;
  options[24].callback = (parse_opt_cb *)((void *)0);
  options[24].defval = (intptr_t )1;
  options[24].ll_callback = (parse_opt_ll_cb *)0;
  options[24].extra = 0L;
  options[25].type = (enum parse_opt_type )8;
  options[25].short_name = '6';
  options[25].long_name = (char const   *)"ipv6";
  options[25].value = (void *)(& family___1);
  options[25].argh = (char const   *)((void *)0);
  options[25].help = (char const   *)"use IPv6 addresses only";
  options[25].flags = (enum parse_opt_option_flags )2;
  options[25].callback = (parse_opt_cb *)((void *)0);
  options[25].defval = (intptr_t )2;
  options[25].ll_callback = (parse_opt_ll_cb *)0;
  options[25].extra = 0L;
  options[26].type = (enum parse_opt_type )0;
  options[26].short_name = 0;
  options[26].long_name = (char const   *)0;
  options[26].value = (void *)0;
  options[26].argh = (char const   *)0;
  options[26].help = (char const   *)0;
  options[26].flags = 0U;
  options[26].callback = (parse_opt_cb *)0;
  options[26].defval = 0L;
  options[26].ll_callback = (parse_opt_ll_cb *)0;
  options[26].extra = 0L;
  packet_trace_identity((char const   *)"push");
  git_config(& git_push_config, (void *)(& flags___0));
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       push_usage, (enum parse_opt_flags )0);
  if (push_options_cmdline.nr) {
    push_options = & push_options_cmdline;
  } else {
    push_options = & push_options_config;
  }
  set_push_cert_flags(& flags___0, push_cert___0);
  if (deleterefs) {
    if (tags___2) {
      tmp = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp, "--delete", "--all/--mirror/--tags");
    } else
    if (flags___0 & (1 | (1 << 3))) {
      tmp = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp, "--delete", "--all/--mirror/--tags");
    }
  }
  if (deleterefs) {
    if (argc < 2) {
      tmp___0 = _((char const   *)"--delete doesn\'t make sense without any refs");
      die((char const   *)tmp___0);
    }
  }
  if (recurse_submodules___3 == -4) {
    flags___0 |= 1 << 6;
  } else
  if (recurse_submodules___3 == -1) {
    flags___0 |= 1 << 8;
  } else
  if (recurse_submodules___3 == -5) {
    flags___0 |= 1 << 15;
  }
  if (tags___2) {
    refspec_append(& rs, (char const   *)"refs/tags/*");
  }
  if (argc > 0) {
    repo = *(argv___0 + 0);
    set_refspecs(argv___0 + 1, argc - 1, repo);
  }
  remote = pushremote_get(repo);
  if (! remote) {
    if (repo) {
      tmp___1 = _((char const   *)"bad repository \'%s\'");
      die((char const   *)tmp___1, repo);
    }
    tmp___2 = _((char const   *)"No configured push destination.\nEither specify the URL from the command-line or configure a remote repository using\n\n    git remote add <name> <url>\n\nand then push using the remote name\n\n    git push <name>\n");
    die((char const   *)tmp___2);
  }
  if (remote->mirror) {
    flags___0 |= (1 << 3) | (1 << 1);
  }
  if (flags___0 & 1) {
    if (tags___2) {
      tmp___3 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___3, "--all", "--tags");
    }
    if (argc >= 2) {
      tmp___4 = _((char const   *)"--all can\'t be combined with refspecs");
      die((char const   *)tmp___4);
    }
  }
  if (flags___0 & (1 << 3)) {
    if (tags___2) {
      tmp___5 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___5, "--mirror", "--tags");
    }
    if (argc >= 2) {
      tmp___6 = _((char const   *)"--mirror can\'t be combined with refspecs");
      die((char const   *)tmp___6);
    }
  }
  if (flags___0 & 1) {
    if (flags___0 & (1 << 3)) {
      tmp___7 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___7, "--all", "--mirror");
    }
  }
  tmp___8 = is_empty_cas((struct push_cas_option  const  *)(& cas));
  if (! tmp___8) {
    if (flags___0 & (1 << 16)) {
      cas.use_force_if_includes = 1U;
    }
  }
  item___0 = (struct string_list_item  const  *)push_options->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(push_options->items + push_options->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___10 = strchr((char const   *)item___0->string, '\n');
    if (tmp___10) {
      tmp___9 = _((char const   *)"push options must not have new line characters");
      die((char const   *)tmp___9);
    }
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  rc___0 = do_push(flags___0, (struct string_list  const  *)push_options, remote);
  string_list_clear(& push_options_cmdline, 0);
  string_list_clear(& push_options_config, 0);
  if (rc___0 == -1) {
    usage_with_options(push_usage, (struct option  const  *)(options));
  } else {
    return (rc___0);
  }
}
}
static double const   __ac_HASH_UPPER___145  =    (double const   )0.77;
__inline static void kh_resize_oid_set___145(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___145(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___145 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___145 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___145(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___145(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___145(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___145(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___145(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___145(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___145 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___145 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___145(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___145(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___145(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___145(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___145(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___145(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___145 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___145 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___145(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___145(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___145(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___145(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *builtin_range_diff_usage[4]  = {      (char const   *)"git range-diff [<options>] <old-base>..<old-tip> <new-base>..<new-tip>",      (char const   *)"git range-diff [<options>] <old-tip>...<new-tip>",      (char const   *)"git range-diff [<options>] <base> <old-tip> <new-tip>",      (char const   *)((void *)0)};
int cmd_range_diff(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct diff_options diffopt ;
  struct strvec other_arg ;
  struct range_diff_options range_diff_opts ;
  int simple_color ;
  int left_only ;
  int right_only ;
  struct option range_diff_options[6] ;
  struct option *options ;
  int res ;
  struct strbuf range1 ;
  struct strbuf range2 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const   *b___0 ;
  char *tmp___3 ;
  char const   *a ;
  int a_len ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  size_t tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;

  {
  diffopt.orderfile = (char const   *)((void *)0);
  diffopt.rotate_to = (char const   *)0;
  diffopt.skip_instead_of_rotate = 0;
  diffopt.rotate_to_strict = 0;
  diffopt.pickaxe = (char const   *)0;
  diffopt.pickaxe_opts = 0U;
  diffopt.ignore_regex = (regex_t **)0;
  diffopt.ignore_regex_nr = 0UL;
  diffopt.ignore_regex_alloc = 0UL;
  diffopt.single_follow = (char const   *)0;
  diffopt.a_prefix = (char const   *)0;
  diffopt.b_prefix = (char const   *)0;
  diffopt.line_prefix = (char const   *)0;
  diffopt.line_prefix_length = 0UL;
  diffopt.flags.recursive = 0U;
  diffopt.flags.tree_in_recursive = 0U;
  diffopt.flags.binary = 0U;
  diffopt.flags.text = 0U;
  diffopt.flags.full_index = 0U;
  diffopt.flags.silent_on_remove = 0U;
  diffopt.flags.find_copies_harder = 0U;
  diffopt.flags.follow_renames = 0U;
  diffopt.flags.rename_empty = 0U;
  diffopt.flags.has_changes = 0U;
  diffopt.flags.quick = 0U;
  diffopt.flags.no_index = 0U;
  diffopt.flags.allow_external = 0U;
  diffopt.flags.exit_with_status = 0U;
  diffopt.flags.reverse_diff = 0U;
  diffopt.flags.check_failed = 0U;
  diffopt.flags.relative_name = 0U;
  diffopt.flags.ignore_submodules = 0U;
  diffopt.flags.dirstat_cumulative = 0U;
  diffopt.flags.dirstat_by_file = 0U;
  diffopt.flags.allow_textconv = 0U;
  diffopt.flags.textconv_set_via_cmdline = 0U;
  diffopt.flags.diff_from_contents = 0U;
  diffopt.flags.dirty_submodules = 0U;
  diffopt.flags.ignore_untracked_in_submodules = 0U;
  diffopt.flags.ignore_submodule_set = 0U;
  diffopt.flags.ignore_dirty_submodules = 0U;
  diffopt.flags.override_submodule_config = 0U;
  diffopt.flags.dirstat_by_line = 0U;
  diffopt.flags.funccontext = 0U;
  diffopt.flags.default_follow_renames = 0U;
  diffopt.flags.stat_with_summary = 0U;
  diffopt.flags.suppress_diff_headers = 0U;
  diffopt.flags.dual_color_diffed_diffs = 0U;
  diffopt.flags.suppress_hunk_header_line_count = 0U;
  diffopt.filter = 0U;
  diffopt.use_color = 0;
  diffopt.context = 0;
  diffopt.interhunkcontext = 0;
  diffopt.break_opt = 0;
  diffopt.detect_rename = 0;
  diffopt.irreversible_delete = 0;
  diffopt.skip_stat_unmatch = 0;
  diffopt.line_termination = 0;
  diffopt.output_format = 0;
  diffopt.rename_score = 0;
  diffopt.rename_limit = 0;
  diffopt.needed_rename_limit = 0;
  diffopt.degraded_cc_to_c = 0;
  diffopt.show_rename_progress = 0;
  diffopt.dirstat_permille = 0;
  diffopt.setup = 0;
  diffopt.abbrev = 0;
  diffopt.max_changes = 0;
  diffopt.ita_invisible_in_index = 0;
  diffopt.ws_error_highlight = 0U;
  diffopt.prefix = (char const   *)0;
  diffopt.prefix_length = 0;
  diffopt.stat_sep = (char const   *)0;
  diffopt.xdl_opts = 0;
  diffopt.anchors = (char **)0;
  diffopt.anchors_nr = 0UL;
  diffopt.anchors_alloc = 0UL;
  diffopt.stat_width = 0;
  diffopt.stat_name_width = 0;
  diffopt.stat_graph_width = 0;
  diffopt.stat_count = 0;
  diffopt.word_regex = (char const   *)0;
  diffopt.word_diff = 0U;
  diffopt.submodule_format = 0U;
  diffopt.objfind = (struct oidset *)0;
  diffopt.found_changes = 0;
  diffopt.found_follow = 0;
  diffopt.set_default = (void (*)(struct diff_options * ))0;
  diffopt.file = (FILE *)0;
  diffopt.close_file = 0;
  diffopt.output_indicators[0] = (char)0;
  diffopt.output_indicators[1] = (char)0;
  diffopt.output_indicators[2] = (char)0;
  diffopt.pathspec.nr = 0;
  diffopt.pathspec.has_wildcard = 0U;
  diffopt.pathspec.recursive = 0U;
  diffopt.pathspec.recurse_submodules = 0U;
  diffopt.pathspec.magic = 0U;
  diffopt.pathspec.max_depth = 0;
  diffopt.pathspec.items = (struct pathspec_item *)0;
  diffopt.pathchange = (int (*)(struct diff_options *options , struct combine_diff_path *path ))0;
  diffopt.change = (void (*)(struct diff_options *options , unsigned int old_mode ,
                             unsigned int new_mode , struct object_id  const  *old_oid ,
                             struct object_id  const  *new_oid , int old_oid_valid ,
                             int new_oid_valid , char const   *fullpath , unsigned int old_dirty_submodule ,
                             unsigned int new_dirty_submodule ))0;
  diffopt.add_remove = (void (*)(struct diff_options *options , int addremove , unsigned int mode ,
                                 struct object_id  const  *oid , int oid_valid , char const   *fullpath ,
                                 unsigned int dirty_submodule ))0;
  diffopt.change_fn_data = (void *)0;
  diffopt.format_callback = (void (*)(struct diff_queue_struct *q , struct diff_options *options ,
                                      void *data ))0;
  diffopt.format_callback_data = (void *)0;
  diffopt.output_prefix = (struct strbuf *(*)(struct diff_options *opt , void *data ))0;
  diffopt.output_prefix_data = (void *)0;
  diffopt.diff_path_counter = 0;
  diffopt.emitted_symbols = (struct emitted_diff_symbols *)0;
  diffopt.color_moved = 0U;
  diffopt.color_moved_ws_handling = 0U;
  diffopt.repo = (struct repository *)0;
  diffopt.parseopts = (struct option *)0;
  diffopt.no_free = 0;
  other_arg.v = empty_strvec;
  other_arg.nr = 0UL;
  other_arg.alloc = 0UL;
  range_diff_opts.creation_factor = 60;
  range_diff_opts.dual_color = 0U;
  range_diff_opts.left_only = 0U;
  range_diff_opts.right_only = 0U;
  range_diff_opts.diffopt = (struct diff_options  const  *)(& diffopt);
  range_diff_opts.other_arg = (struct strvec  const  *)(& other_arg);
  simple_color = -1;
  left_only = 0;
  right_only = 0;
  range_diff_options[0].type = (enum parse_opt_type )10;
  range_diff_options[0].short_name = 0;
  range_diff_options[0].long_name = (char const   *)"creation-factor";
  range_diff_options[0].value = (void *)(& range_diff_opts.creation_factor);
  range_diff_options[0].argh = (char const   *)"n";
  range_diff_options[0].help = (char const   *)"percentage by which creation is weighted";
  range_diff_options[0].flags = (enum parse_opt_option_flags )0;
  range_diff_options[0].callback = (parse_opt_cb *)0;
  range_diff_options[0].defval = 0L;
  range_diff_options[0].ll_callback = (parse_opt_ll_cb *)0;
  range_diff_options[0].extra = 0L;
  range_diff_options[1].type = (enum parse_opt_type )8;
  range_diff_options[1].short_name = 0;
  range_diff_options[1].long_name = (char const   *)"no-dual-color";
  range_diff_options[1].value = (void *)(& simple_color);
  range_diff_options[1].argh = (char const   *)((void *)0);
  range_diff_options[1].help = (char const   *)"use simple diff colors";
  range_diff_options[1].flags = (enum parse_opt_option_flags )2;
  range_diff_options[1].callback = (parse_opt_cb *)((void *)0);
  range_diff_options[1].defval = (intptr_t )1;
  range_diff_options[1].ll_callback = (parse_opt_ll_cb *)0;
  range_diff_options[1].extra = 0L;
  range_diff_options[2].type = (enum parse_opt_type )12;
  range_diff_options[2].short_name = 0;
  range_diff_options[2].long_name = (char const   *)"notes";
  range_diff_options[2].value = (void *)(& other_arg);
  range_diff_options[2].argh = (char const   *)"notes";
  range_diff_options[2].help = (char const   *)"passed to \'git log\'";
  range_diff_options[2].flags = (enum parse_opt_option_flags )1;
  range_diff_options[2].callback = & parse_opt_passthru_argv;
  range_diff_options[2].defval = 0L;
  range_diff_options[2].ll_callback = (parse_opt_ll_cb *)0;
  range_diff_options[2].extra = 0L;
  range_diff_options[3].type = (enum parse_opt_type )8;
  range_diff_options[3].short_name = 0;
  range_diff_options[3].long_name = (char const   *)"left-only";
  range_diff_options[3].value = (void *)(& left_only);
  range_diff_options[3].argh = (char const   *)((void *)0);
  range_diff_options[3].help = (char const   *)"only emit output related to the first range";
  range_diff_options[3].flags = (enum parse_opt_option_flags )2;
  range_diff_options[3].callback = (parse_opt_cb *)((void *)0);
  range_diff_options[3].defval = (intptr_t )1;
  range_diff_options[3].ll_callback = (parse_opt_ll_cb *)0;
  range_diff_options[3].extra = 0L;
  range_diff_options[4].type = (enum parse_opt_type )8;
  range_diff_options[4].short_name = 0;
  range_diff_options[4].long_name = (char const   *)"right-only";
  range_diff_options[4].value = (void *)(& right_only);
  range_diff_options[4].argh = (char const   *)((void *)0);
  range_diff_options[4].help = (char const   *)"only emit output related to the second range";
  range_diff_options[4].flags = (enum parse_opt_option_flags )2;
  range_diff_options[4].callback = (parse_opt_cb *)((void *)0);
  range_diff_options[4].defval = (intptr_t )1;
  range_diff_options[4].ll_callback = (parse_opt_ll_cb *)0;
  range_diff_options[4].extra = 0L;
  range_diff_options[5].type = (enum parse_opt_type )0;
  range_diff_options[5].short_name = 0;
  range_diff_options[5].long_name = (char const   *)0;
  range_diff_options[5].value = (void *)0;
  range_diff_options[5].argh = (char const   *)0;
  range_diff_options[5].help = (char const   *)0;
  range_diff_options[5].flags = 0U;
  range_diff_options[5].callback = (parse_opt_cb *)0;
  range_diff_options[5].defval = 0L;
  range_diff_options[5].ll_callback = (parse_opt_ll_cb *)0;
  range_diff_options[5].extra = 0L;
  res = 0;
  range1.alloc = 0UL;
  range1.len = 0UL;
  range1.buf = strbuf_slopbuf;
  range2.alloc = 0UL;
  range2.len = 0UL;
  range2.buf = strbuf_slopbuf;
  git_config(& git_diff_ui_config, (void *)0);
  repo_diff_setup(the_repository, & diffopt);
  options = parse_options_concat((struct option  const  *)(range_diff_options), (struct option  const  *)diffopt.parseopts);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)options,
                       builtin_range_diff_usage, (enum parse_opt_flags )0);
  diff_setup_done(& diffopt);
  if (! simple_color) {
    diffopt.use_color = 1;
  }
  if (argc == 2) {
    tmp___0 = is_range_diff_range(*(argv___0 + 0));
    if (! tmp___0) {
      tmp = _((char const   *)"not a commit range: \'%s\'");
      die((char const   *)tmp, *(argv___0 + 0));
    }
    strbuf_addstr(& range1, *(argv___0 + 0));
    tmp___2 = is_range_diff_range(*(argv___0 + 1));
    if (! tmp___2) {
      tmp___1 = _((char const   *)"not a commit range: \'%s\'");
      die((char const   *)tmp___1, *(argv___0 + 1));
    }
    strbuf_addstr(& range2, *(argv___0 + 1));
  } else
  if (argc == 3) {
    strbuf_addf(& range1, (char const   *)"%s..%s", *(argv___0 + 0), *(argv___0 + 1));
    strbuf_addf(& range2, (char const   *)"%s..%s", *(argv___0 + 0), *(argv___0 + 2));
  } else
  if (argc == 1) {
    tmp___3 = strstr(*(argv___0 + 0), (char const   *)"...");
    b___0 = (char const   *)tmp___3;
    a = *(argv___0 + 0);
    if (! b___0) {
      tmp___4 = _((char const   *)"single arg format must be symmetric range");
      error((char const   *)tmp___4);
      const_error();
      usage_with_options(builtin_range_diff_usage, (struct option  const  *)options);
    }
    a_len = (int )(b___0 - a);
    if (! a_len) {
      a = (char const   *)"HEAD";
      tmp___5 = strlen(a);
      a_len = (int )tmp___5;
    }
    b___0 += 3;
    if (! *b___0) {
      b___0 = (char const   *)"HEAD";
    }
    strbuf_addf(& range1, (char const   *)"%s..%.*s", b___0, a_len, a);
    strbuf_addf(& range2, (char const   *)"%.*s..%s", a_len, a, b___0);
  } else {
    tmp___6 = _((char const   *)"need two commit ranges");
    error((char const   *)tmp___6);
    const_error();
    usage_with_options(builtin_range_diff_usage, (struct option  const  *)options);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)options);
    options = (struct option *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  range_diff_opts.dual_color = (unsigned int )(simple_color < 1);
  range_diff_opts.left_only = (unsigned int )left_only;
  range_diff_opts.right_only = (unsigned int )right_only;
  res = show_range_diff((char const   *)range1.buf, (char const   *)range2.buf, & range_diff_opts);
  strvec_clear(& other_arg);
  strbuf_release(& range1);
  strbuf_release(& range2);
  return (res);
}
}
static int nr_trees  ;
static int read_empty___0  ;
static struct tree *trees[8]  ;
static int list_tree(struct object_id *oid )
{
  struct tree *tree ;
  int tmp ;

  {
  if (nr_trees >= 8) {
    die((char const   *)"I cannot read more than %d trees", 8);
  }
  tree = parse_tree_indirect((struct object_id  const  *)oid);
  if (! tree) {
    return (-1);
  }
  tmp = nr_trees;
  nr_trees ++;
  trees[tmp] = tree;
  return (0);
}
}
static char const   *read_tree_usage[2]  = {      (char const   *)"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) [-u | -i]] [--no-sparse-checkout] [--index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])",      (char const   *)((void *)0)};
static int index_output_cb(struct option  const  *opt___0 , char const   *arg , int unset )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/read-tree.c", 48, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  set_alternate_index_output(arg);
  return (0);
}
}
static int exclude_per_directory_cb(struct option  const  *opt___0 , char const   *arg ,
                                    int unset )
{
  struct unpack_trees_options *opts___1 ;
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/read-tree.c", 58, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  opts___1 = (struct unpack_trees_options *)opt___0->value;
  if (! opts___1->update) {
    die((char const   *)"--exclude-per-directory is meaningless unless -u");
  }
  tmp = strcmp(arg, (char const   *)".gitignore");
  if (tmp) {
    die((char const   *)"--exclude-per-directory argument must be .gitignore");
  }
  return (0);
}
}
static void debug_stage(char const   *label , struct cache_entry  const  *ce , struct unpack_trees_options *o )
{
  char *tmp ;

  {
  printf((char const   *)"%s ", label);
  if (! ce) {
    printf((char const   *)"(missing)\n");
  } else
  if ((unsigned long )ce == (unsigned long )o->df_conflict_entry) {
    printf((char const   *)"(conflict)\n");
  } else {
    tmp = oid_to_hex((struct object_id  const  *)(& ce->oid));
    printf((char const   *)"%06o #%d %s %.8s\n", ce->ce_mode, (12288U & ce->ce_flags) >> 12,
           ce->name, tmp);
  }
  return;
}
}
static int debug_merge(struct cache_entry  const  **stages , struct unpack_trees_options *o )
{
  int i ;
  char buf___19[24] ;

  {
  printf((char const   *)"* %d-way merge\n", o->merge_size);
  debug_stage((char const   *)"index", (struct cache_entry  const  *)*(stages + 0),
              o);
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i <= o->merge_size)) {
      goto while_break;
    }
    xsnprintf(buf___19, sizeof(buf___19), (char const   *)"ent#%d", i);
    debug_stage((char const   *)(buf___19), (struct cache_entry  const  *)*(stages + i),
                o);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int git_read_tree_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp___0 = strcmp(var, (char const   *)"submodule.recurse");
  if (! tmp___0) {
    tmp = git_default_submodule_config(var, value, cb);
    return (tmp);
  }
  tmp___1 = git_default_config(var, value, cb);
  return (tmp___1);
}
}
int cmd_read_tree(int argc , char const   **argv___0 , char const   *cmd_prefix )
{
  int i ;
  int stage ;
  struct object_id oid ;
  struct tree_desc t[8] ;
  struct unpack_trees_options opts___1 ;
  int prefix_set ;
  struct lock_file lock_file___0 ;
  struct option read_tree_options[18] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const   *arg ;
  int tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  struct tree *tree ;
  int tmp___5 ;
  int tmp___6 ;

  {
  stage = 0;
  prefix_set = 0;
  lock_file___0.tempfile = (struct tempfile *)0;
  read_tree_options[0].type = (enum parse_opt_type )((enum parse_opt_type )12);
  read_tree_options[0].short_name = (int )0;
  read_tree_options[0].long_name = (char const   *)((char const   *)"index-output");
  read_tree_options[0].value = (void *)((void *)0);
  read_tree_options[0].argh = (char const   *)((char const   *)"file");
  read_tree_options[0].help = (char const   *)((char const   *)"write resulting index to <file>");
  read_tree_options[0].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )4);
  read_tree_options[0].callback = (parse_opt_cb *)(& index_output_cb);
  read_tree_options[0].defval = (intptr_t )0L;
  read_tree_options[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  read_tree_options[0].extra = (intptr_t )0L;
  read_tree_options[1].type = (enum parse_opt_type )((enum parse_opt_type )8);
  read_tree_options[1].short_name = (int )0;
  read_tree_options[1].long_name = (char const   *)((char const   *)"empty");
  read_tree_options[1].value = (void *)((void *)(& read_empty___0));
  read_tree_options[1].argh = (char const   *)((char const   *)((void *)0));
  read_tree_options[1].help = (char const   *)((char const   *)"only empty the index");
  read_tree_options[1].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  read_tree_options[1].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  read_tree_options[1].defval = (intptr_t )((intptr_t )1);
  read_tree_options[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  read_tree_options[1].extra = (intptr_t )0L;
  read_tree_options[2].type = (enum parse_opt_type )((enum parse_opt_type )7);
  read_tree_options[2].short_name = (int )'v';
  read_tree_options[2].long_name = (char const   *)((char const   *)"verbose");
  read_tree_options[2].value = (void *)((void *)(& opts___1.verbose_update));
  read_tree_options[2].argh = (char const   *)((char const   *)((void *)0));
  read_tree_options[2].help = (char const   *)((char const   *)"be verbose");
  read_tree_options[2].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  read_tree_options[2].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  read_tree_options[2].defval = (intptr_t )0L;
  read_tree_options[2].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  read_tree_options[2].extra = (intptr_t )0L;
  read_tree_options[3].type = (enum parse_opt_type )((enum parse_opt_type )1);
  read_tree_options[3].short_name = (int )0;
  read_tree_options[3].long_name = (char const   *)((char const   *)((void *)0));
  read_tree_options[3].value = (void *)((void *)0);
  read_tree_options[3].argh = (char const   *)((char const   *)((void *)0));
  read_tree_options[3].help = (char const   *)((char const   *)"Merging");
  read_tree_options[3].flags = (enum parse_opt_option_flags )0U;
  read_tree_options[3].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  read_tree_options[3].defval = (intptr_t )0L;
  read_tree_options[3].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  read_tree_options[3].extra = (intptr_t )0L;
  read_tree_options[4].type = (enum parse_opt_type )((enum parse_opt_type )8);
  read_tree_options[4].short_name = (int )'m';
  read_tree_options[4].long_name = (char const   *)((char const   *)((void *)0));
  read_tree_options[4].value = (void *)((void *)(& opts___1.merge));
  read_tree_options[4].argh = (char const   *)((char const   *)((void *)0));
  read_tree_options[4].help = (char const   *)((char const   *)"perform a merge in addition to a read");
  read_tree_options[4].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  read_tree_options[4].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  read_tree_options[4].defval = (intptr_t )((intptr_t )1);
  read_tree_options[4].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  read_tree_options[4].extra = (intptr_t )0L;
  read_tree_options[5].type = (enum parse_opt_type )((enum parse_opt_type )8);
  read_tree_options[5].short_name = (int )0;
  read_tree_options[5].long_name = (char const   *)((char const   *)"trivial");
  read_tree_options[5].value = (void *)((void *)(& opts___1.trivial_merges_only));
  read_tree_options[5].argh = (char const   *)((char const   *)((void *)0));
  read_tree_options[5].help = (char const   *)((char const   *)"3-way merge if no file level merging required");
  read_tree_options[5].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  read_tree_options[5].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  read_tree_options[5].defval = (intptr_t )((intptr_t )1);
  read_tree_options[5].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  read_tree_options[5].extra = (intptr_t )0L;
  read_tree_options[6].type = (enum parse_opt_type )((enum parse_opt_type )8);
  read_tree_options[6].short_name = (int )0;
  read_tree_options[6].long_name = (char const   *)((char const   *)"aggressive");
  read_tree_options[6].value = (void *)((void *)(& opts___1.aggressive));
  read_tree_options[6].argh = (char const   *)((char const   *)((void *)0));
  read_tree_options[6].help = (char const   *)((char const   *)"3-way merge in presence of adds and removes");
  read_tree_options[6].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  read_tree_options[6].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  read_tree_options[6].defval = (intptr_t )((intptr_t )1);
  read_tree_options[6].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  read_tree_options[6].extra = (intptr_t )0L;
  read_tree_options[7].type = (enum parse_opt_type )((enum parse_opt_type )8);
  read_tree_options[7].short_name = (int )0;
  read_tree_options[7].long_name = (char const   *)((char const   *)"reset");
  read_tree_options[7].value = (void *)((void *)(& opts___1.reset));
  read_tree_options[7].argh = (char const   *)((char const   *)((void *)0));
  read_tree_options[7].help = (char const   *)((char const   *)"same as -m, but discard unmerged entries");
  read_tree_options[7].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  read_tree_options[7].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  read_tree_options[7].defval = (intptr_t )((intptr_t )1);
  read_tree_options[7].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  read_tree_options[7].extra = (intptr_t )0L;
  read_tree_options[8].type = (enum parse_opt_type )((enum parse_opt_type )9);
  read_tree_options[8].short_name = (int )0;
  read_tree_options[8].long_name = (char const   *)((char const   *)"prefix");
  read_tree_options[8].value = (void *)((void *)(& opts___1.prefix));
  read_tree_options[8].argh = (char const   *)((char const   *)"<subdirectory>/");
  read_tree_options[8].help = (char const   *)((char const   *)"read the tree into the index under <subdirectory>/");
  read_tree_options[8].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )4);
  read_tree_options[8].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  read_tree_options[8].defval = (intptr_t )0L;
  read_tree_options[8].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  read_tree_options[8].extra = (intptr_t )0L;
  read_tree_options[9].type = (enum parse_opt_type )((enum parse_opt_type )8);
  read_tree_options[9].short_name = (int )'u';
  read_tree_options[9].long_name = (char const   *)((char const   *)((void *)0));
  read_tree_options[9].value = (void *)((void *)(& opts___1.update));
  read_tree_options[9].argh = (char const   *)((char const   *)((void *)0));
  read_tree_options[9].help = (char const   *)((char const   *)"update working tree with merge result");
  read_tree_options[9].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  read_tree_options[9].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  read_tree_options[9].defval = (intptr_t )((intptr_t )1);
  read_tree_options[9].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  read_tree_options[9].extra = (intptr_t )0L;
  read_tree_options[10].type = (enum parse_opt_type )((enum parse_opt_type )12);
  read_tree_options[10].short_name = (int )0;
  read_tree_options[10].long_name = (char const   *)((char const   *)"exclude-per-directory");
  read_tree_options[10].value = (void *)((void *)(& opts___1));
  read_tree_options[10].argh = (char const   *)((char const   *)"gitignore");
  read_tree_options[10].help = (char const   *)((char const   *)"allow explicitly ignored files to be overwritten");
  read_tree_options[10].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )4);
  read_tree_options[10].callback = (parse_opt_cb *)(& exclude_per_directory_cb);
  read_tree_options[10].defval = (intptr_t )0L;
  read_tree_options[10].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  read_tree_options[10].extra = (intptr_t )0L;
  read_tree_options[11].type = (enum parse_opt_type )((enum parse_opt_type )8);
  read_tree_options[11].short_name = (int )'i';
  read_tree_options[11].long_name = (char const   *)((char const   *)((void *)0));
  read_tree_options[11].value = (void *)((void *)(& opts___1.index_only));
  read_tree_options[11].argh = (char const   *)((char const   *)((void *)0));
  read_tree_options[11].help = (char const   *)((char const   *)"don\'t check the working tree after merging");
  read_tree_options[11].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  read_tree_options[11].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  read_tree_options[11].defval = (intptr_t )((intptr_t )1);
  read_tree_options[11].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  read_tree_options[11].extra = (intptr_t )0L;
  read_tree_options[12].type = (enum parse_opt_type )((enum parse_opt_type )8);
  read_tree_options[12].short_name = (int )'n';
  read_tree_options[12].long_name = (char const   *)((char const   *)"dry-run");
  read_tree_options[12].value = (void *)((void *)(& opts___1.dry_run));
  read_tree_options[12].argh = (char const   *)((char const   *)((void *)0));
  read_tree_options[12].help = (char const   *)((char const   *)"don\'t update the index or the work tree");
  read_tree_options[12].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  read_tree_options[12].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  read_tree_options[12].defval = (intptr_t )((intptr_t )1);
  read_tree_options[12].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  read_tree_options[12].extra = (intptr_t )0L;
  read_tree_options[13].type = (enum parse_opt_type )((enum parse_opt_type )8);
  read_tree_options[13].short_name = (int )0;
  read_tree_options[13].long_name = (char const   *)((char const   *)"no-sparse-checkout");
  read_tree_options[13].value = (void *)((void *)(& opts___1.skip_sparse_checkout));
  read_tree_options[13].argh = (char const   *)((char const   *)((void *)0));
  read_tree_options[13].help = (char const   *)((char const   *)"skip applying sparse checkout filter");
  read_tree_options[13].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  read_tree_options[13].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  read_tree_options[13].defval = (intptr_t )((intptr_t )1);
  read_tree_options[13].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  read_tree_options[13].extra = (intptr_t )0L;
  read_tree_options[14].type = (enum parse_opt_type )((enum parse_opt_type )8);
  read_tree_options[14].short_name = (int )0;
  read_tree_options[14].long_name = (char const   *)((char const   *)"debug-unpack");
  read_tree_options[14].value = (void *)((void *)(& opts___1.debug_unpack));
  read_tree_options[14].argh = (char const   *)((char const   *)((void *)0));
  read_tree_options[14].help = (char const   *)((char const   *)"debug unpack-trees");
  read_tree_options[14].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  read_tree_options[14].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  read_tree_options[14].defval = (intptr_t )((intptr_t )1);
  read_tree_options[14].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  read_tree_options[14].extra = (intptr_t )0L;
  read_tree_options[15].type = (enum parse_opt_type )((enum parse_opt_type )12);
  read_tree_options[15].short_name = (int )0;
  read_tree_options[15].long_name = (char const   *)((char const   *)"recurse-submodules");
  read_tree_options[15].value = (void *)((void *)0);
  read_tree_options[15].argh = (char const   *)((char const   *)"checkout");
  read_tree_options[15].help = (char const   *)((char const   *)"control recursive updating of submodules");
  read_tree_options[15].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )1);
  read_tree_options[15].callback = (parse_opt_cb *)(& option_parse_recurse_submodules_worktree_updater);
  read_tree_options[15].defval = (intptr_t )0L;
  read_tree_options[15].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  read_tree_options[15].extra = (intptr_t )0L;
  read_tree_options[16].type = (enum parse_opt_type )((enum parse_opt_type )7);
  read_tree_options[16].short_name = (int )'q';
  read_tree_options[16].long_name = (char const   *)((char const   *)"quiet");
  read_tree_options[16].value = (void *)((void *)(& opts___1.quiet));
  read_tree_options[16].argh = (char const   *)((char const   *)((void *)0));
  read_tree_options[16].help = (char const   *)((char const   *)"suppress feedback messages");
  read_tree_options[16].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  read_tree_options[16].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  read_tree_options[16].defval = (intptr_t )0L;
  read_tree_options[16].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  read_tree_options[16].extra = (intptr_t )0L;
  read_tree_options[17].type = (enum parse_opt_type )((enum parse_opt_type )0);
  read_tree_options[17].short_name = (int )0;
  read_tree_options[17].long_name = (char const   *)((char const   *)0);
  read_tree_options[17].value = (void *)((void *)0);
  read_tree_options[17].argh = (char const   *)((char const   *)0);
  read_tree_options[17].help = (char const   *)((char const   *)0);
  read_tree_options[17].flags = (enum parse_opt_option_flags )0U;
  read_tree_options[17].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  read_tree_options[17].defval = (intptr_t )0L;
  read_tree_options[17].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  read_tree_options[17].extra = (intptr_t )0L;
  memset((void *)(& opts___1), 0, sizeof(opts___1));
  opts___1.head_idx = -1;
  opts___1.src_index = & the_index;
  opts___1.dst_index = & the_index;
  git_config(& git_read_tree_config, (void *)0);
  argc = parse_options(argc, argv___0, cmd_prefix, (struct option  const  *)(read_tree_options),
                       read_tree_usage, (enum parse_opt_flags )0);
  repo_hold_locked_index(the_repository, & lock_file___0, 1);
  if (opts___1.prefix) {
    prefix_set = 1;
  } else {
    prefix_set = 0;
  }
  if (1U < (opts___1.merge + (unsigned int )opts___1.reset) + (unsigned int )prefix_set) {
    die((char const   *)"Which one? -m, --reset, or --prefix?");
  }
  if (opts___1.reset) {
    opts___1.reset = (enum unpack_trees_reset_type )3;
  }
  if (opts___1.reset) {
    goto _L;
  } else
  if (opts___1.merge) {
    goto _L;
  } else
  if (opts___1.prefix) {
    _L: /* CIL Label */
    tmp___0 = repo_read_index_unmerged(the_repository);
    if (tmp___0) {
      if (opts___1.prefix) {
        tmp = _((char const   *)"You need to resolve your current index first");
        die((char const   *)tmp);
      } else
      if (opts___1.merge) {
        tmp = _((char const   *)"You need to resolve your current index first");
        die((char const   *)tmp);
      }
    }
    opts___1.merge = 1U;
    stage = (int )opts___1.merge;
  }
  resolve_undo_clear_index(& the_index);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    arg = *(argv___0 + i);
    tmp___1 = repo_get_oid(the_repository, arg, & oid);
    if (tmp___1) {
      die((char const   *)"Not a valid object name %s", arg);
    }
    tmp___2 = list_tree(& oid);
    if (tmp___2 < 0) {
      die((char const   *)"failed to unpack tree object %s", arg);
    }
    stage ++;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! nr_trees) {
    if (! read_empty___0) {
      if (! opts___1.merge) {
        warning((char const   *)"read-tree: emptying the index with no arguments is deprecated; use --empty");
      } else {
        goto _L___1;
      }
    } else {
      goto _L___1;
    }
  } else
  _L___1: /* CIL Label */
  _L___0: /* CIL Label */
  if (nr_trees > 0) {
    if (read_empty___0) {
      die((char const   *)"passing trees as arguments contradicts --empty");
    }
  }
  if (1U < opts___1.index_only + opts___1.update) {
    die((char const   *)"-u and -i at the same time makes no sense");
  }
  if (opts___1.update) {
    goto _L___2;
  } else
  if (opts___1.index_only) {
    _L___2: /* CIL Label */
    if (! opts___1.merge) {
      if (opts___1.update) {
        tmp___3 = "-u";
      } else {
        tmp___3 = "-i";
      }
      die((char const   *)"%s is meaningless without -m, --reset, or --prefix", tmp___3);
    }
  }
  if (opts___1.update) {
    if (! opts___1.reset) {
      opts___1.preserve_ignored = 0U;
    }
  }
  if (opts___1.merge) {
    if (! opts___1.index_only) {
      setup_work_tree();
    }
  }
  if (opts___1.merge) {
    {
    if (stage - 1 == 0) {
      goto case_0;
    }
    if (stage - 1 == 1) {
      goto case_1;
    }
    if (stage - 1 == 2) {
      goto case_2;
    }
    goto switch_default;
    case_0: /* CIL Label */
    die((char const   *)"you must specify at least one tree to merge");
    goto switch_break;
    case_1: /* CIL Label */
    if (opts___1.prefix) {
      opts___1.fn = & bind_merge;
    } else {
      opts___1.fn = & oneway_merge;
    }
    goto switch_break;
    case_2: /* CIL Label */
    opts___1.fn = & twoway_merge;
    tmp___4 = is_index_unborn(& the_index);
    opts___1.initial_checkout = (unsigned int )tmp___4;
    goto switch_break;
    switch_default: /* CIL Label */
    case_3: /* CIL Label */
    opts___1.fn = & threeway_merge;
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    if (stage - 1 >= 3) {
      opts___1.head_idx = stage - 2;
    } else {
      opts___1.head_idx = 1;
    }
  }
  if (opts___1.debug_unpack) {
    opts___1.fn = & debug_merge;
  }
  cache_tree_free(& the_index.cache_tree);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < nr_trees)) {
      goto while_break___0;
    }
    tree = trees[i];
    parse_tree(tree);
    init_tree_desc(t + i, (void const   *)tree->buffer, tree->size);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___5 = unpack_trees((unsigned int )nr_trees, t, & opts___1);
  if (tmp___5) {
    return (128);
  }
  if (opts___1.debug_unpack) {
    return (0);
  } else
  if (opts___1.dry_run) {
    return (0);
  }
  if (nr_trees == 1) {
    if (! opts___1.prefix) {
      prime_cache_tree(the_repository, the_repository->index, trees[0]);
    }
  }
  tmp___6 = write_locked_index(& the_index, & lock_file___0, 1U);
  if (tmp___6) {
    die((char const   *)"unable to write new index file");
  }
  return (0);
}
}
static double const   __ac_HASH_UPPER___146  =    (double const   )0.77;
__inline static void kh_resize_oid_set___146(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___146(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___146 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___146 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___146(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___146(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___146(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___146(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___146(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___146(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___146 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___146 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___146(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___146(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___146(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___146(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___146(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___146(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___146 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___146 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___146(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___146(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___146(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___146(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_contains_cache_with_stride___25(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___25(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___25(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___25(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___25(s___1, 1U);
  return;
}
}
static void clear_contains_cache___25(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___25(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___25(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___25(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___25(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___25(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___25(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___25(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___25(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___25(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___25(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___25(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___25(s___1, c___0, 0);
  return (tmp);
}
}
static char const   *builtin_rebase_usage[4]  = {      (char const   *)"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] [<upstream> [<branch>]]",      (char const   *)"git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]",      (char const   *)"git rebase --continue | --abort | --skip | --edit-todo",      (char const   *)((void *)0)};
static char *ret___63  ;
static char const   *path_squash_onto(void)
{


  {
  if (! ret___63) {
    ret___63 = git_pathdup((char const   *)"rebase-merge/squash-onto");
  }
  return ((char const   *)ret___63);
}
}
static char *ret___64  ;
static char const   *path_interactive(void)
{


  {
  if (! ret___64) {
    ret___64 = git_pathdup((char const   *)"rebase-merge/interactive");
  }
  return ((char const   *)ret___64);
}
}
static char *ret___65  ;
static char const   *apply_dir(void)
{


  {
  if (! ret___65) {
    ret___65 = git_pathdup((char const   *)"rebase-apply");
  }
  return ((char const   *)ret___65);
}
}
static char *ret___66  ;
static char const   *merge_dir(void)
{


  {
  if (! ret___66) {
    ret___66 = git_pathdup((char const   *)"rebase-merge");
  }
  return ((char const   *)ret___66);
}
}
static struct replay_opts get_replay_opts(struct rebase_options  const  *opts___1 )
{
  struct replay_opts replay ;

  {
  replay.action = (enum replay_action )-1;
  replay.edit = -1;
  replay.record_origin = 0;
  replay.no_commit = 0;
  replay.signoff = 0;
  replay.allow_ff = 0;
  replay.allow_rerere_auto = 0;
  replay.allow_empty = 0;
  replay.allow_empty_message = 0;
  replay.drop_redundant_commits = 0;
  replay.keep_redundant_commits = 0;
  replay.verbose = 0;
  replay.quiet = 0;
  replay.reschedule_failed_exec = 0;
  replay.committer_date_is_author_date = 0;
  replay.ignore_date = 0;
  replay.mainline = 0;
  replay.gpg_sign = (char *)0;
  replay.default_msg_cleanup = 0U;
  replay.explicit_cleanup = 0;
  replay.default_strategy = (char *)0;
  replay.strategy = (char *)0;
  replay.xopts = (char **)0;
  replay.xopts_nr = 0UL;
  replay.xopts_alloc = 0UL;
  replay.current_fixups.alloc = 0UL;
  replay.current_fixups.len = 0UL;
  replay.current_fixups.buf = strbuf_slopbuf;
  replay.current_fixup_count = 0;
  replay.squash_onto.hash[0] = (unsigned char)0;
  replay.squash_onto.hash[1] = (unsigned char)0;
  replay.squash_onto.hash[2] = (unsigned char)0;
  replay.squash_onto.hash[3] = (unsigned char)0;
  replay.squash_onto.hash[4] = (unsigned char)0;
  replay.squash_onto.hash[5] = (unsigned char)0;
  replay.squash_onto.hash[6] = (unsigned char)0;
  replay.squash_onto.hash[7] = (unsigned char)0;
  replay.squash_onto.hash[8] = (unsigned char)0;
  replay.squash_onto.hash[9] = (unsigned char)0;
  replay.squash_onto.hash[10] = (unsigned char)0;
  replay.squash_onto.hash[11] = (unsigned char)0;
  replay.squash_onto.hash[12] = (unsigned char)0;
  replay.squash_onto.hash[13] = (unsigned char)0;
  replay.squash_onto.hash[14] = (unsigned char)0;
  replay.squash_onto.hash[15] = (unsigned char)0;
  replay.squash_onto.hash[16] = (unsigned char)0;
  replay.squash_onto.hash[17] = (unsigned char)0;
  replay.squash_onto.hash[18] = (unsigned char)0;
  replay.squash_onto.hash[19] = (unsigned char)0;
  replay.squash_onto.hash[20] = (unsigned char)0;
  replay.squash_onto.hash[21] = (unsigned char)0;
  replay.squash_onto.hash[22] = (unsigned char)0;
  replay.squash_onto.hash[23] = (unsigned char)0;
  replay.squash_onto.hash[24] = (unsigned char)0;
  replay.squash_onto.hash[25] = (unsigned char)0;
  replay.squash_onto.hash[26] = (unsigned char)0;
  replay.squash_onto.hash[27] = (unsigned char)0;
  replay.squash_onto.hash[28] = (unsigned char)0;
  replay.squash_onto.hash[29] = (unsigned char)0;
  replay.squash_onto.hash[30] = (unsigned char)0;
  replay.squash_onto.hash[31] = (unsigned char)0;
  replay.squash_onto.algo = 0;
  replay.have_squash_onto = 0;
  replay.revs = (struct rev_info *)0;
  replay.action = (enum replay_action )2;
  replay.strategy = (char *)((void *)0);
  sequencer_init_config(& replay);
  replay.signoff = (int )opts___1->signoff;
  replay.allow_ff = ! ((unsigned int )opts___1->flags & 8U);
  if (opts___1->allow_rerere_autoupdate) {
    replay.allow_rerere_auto = (int )opts___1->allow_rerere_autoupdate;
  }
  replay.allow_empty = 1;
  replay.allow_empty_message = (int )opts___1->allow_empty_message;
  replay.drop_redundant_commits = (int )opts___1->empty == 0;
  replay.keep_redundant_commits = (int )opts___1->empty == 1;
  replay.quiet = ! ((unsigned int )opts___1->flags & 1U);
  replay.verbose = (int )((unsigned int )opts___1->flags & 2U);
  replay.reschedule_failed_exec = (int )opts___1->reschedule_failed_exec;
  replay.committer_date_is_author_date = (int )opts___1->committer_date_is_author_date;
  replay.ignore_date = (int )opts___1->ignore_date;
  replay.gpg_sign = xstrdup_or_null((char const   *)opts___1->gpg_sign_opt);
  if (opts___1->strategy) {
    replay.strategy = xstrdup_or_null((char const   *)opts___1->strategy);
  } else
  if (! replay.strategy) {
    if (replay.default_strategy) {
      replay.strategy = replay.default_strategy;
      replay.default_strategy = (char *)((void *)0);
    }
  }
  if (opts___1->strategy_opts) {
    parse_strategy_opts(& replay, (char *)opts___1->strategy_opts);
  }
  if (opts___1->squash_onto) {
    oidcpy(& replay.squash_onto, (struct object_id  const  *)opts___1->squash_onto);
    replay.have_squash_onto = 1;
  }
  return (replay);
}
}
static char const   *action_names[7]  = {      (char const   *)"undefined",      (char const   *)"continue",      (char const   *)"skip",      (char const   *)"abort",
        (char const   *)"quit",      (char const   *)"edit_todo",      (char const   *)"show_current_patch"};
static int edit_todo_file(unsigned int flags___0 )
{
  char const   *todo_file ;
  char const   *tmp ;
  struct todo_list todo_list ;
  struct todo_list new_todo ;
  int res ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  ssize_t tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  tmp = rebase_path_todo();
  todo_file = tmp;
  todo_list.buf.alloc = 0UL;
  todo_list.buf.len = 0UL;
  todo_list.buf.buf = strbuf_slopbuf;
  todo_list.items = (struct todo_item *)0;
  todo_list.nr = 0;
  todo_list.alloc = 0;
  todo_list.current = 0;
  todo_list.done_nr = 0;
  todo_list.total_nr = 0;
  new_todo.buf.alloc = 0UL;
  new_todo.buf.len = 0UL;
  new_todo.buf.buf = strbuf_slopbuf;
  new_todo.items = (struct todo_item *)0;
  new_todo.nr = 0;
  new_todo.alloc = 0;
  new_todo.current = 0;
  new_todo.done_nr = 0;
  new_todo.total_nr = 0;
  res = 0;
  tmp___2 = strbuf_read_file(& todo_list.buf, todo_file, (size_t )0);
  if (tmp___2 < 0L) {
    tmp___0 = _((char const   *)"could not read \'%s\'.");
    error_errno((char const   *)tmp___0, todo_file);
    tmp___1 = const_error();
    return (tmp___1);
  }
  strbuf_stripspace(& todo_list.buf, 1);
  res = edit_todo_list(the_repository, & todo_list, & new_todo, (char const   *)((void *)0),
                       (char const   *)((void *)0), flags___0);
  if (! res) {
    tmp___4 = todo_list_write_to_file(the_repository, & new_todo, todo_file, (char const   *)((void *)0),
                                      (char const   *)((void *)0), -1, flags___0 & ~ (1U << 1));
    if (tmp___4) {
      tmp___3 = _((char const   *)"could not write \'%s\'");
      error_errno((char const   *)tmp___3, todo_file);
      res = const_error();
    }
  }
  todo_list_release(& todo_list);
  todo_list_release(& new_todo);
  return (res);
}
}
static int get_revision_ranges(struct commit *upstream , struct commit *onto , struct object_id *orig_head ,
                               char **revisions , char **shortrevisions )
{
  struct commit *base_rev ;
  struct commit *tmp ;
  char const   *shorthead ;
  char *tmp___0 ;
  char *tmp___1 ;
  char const   *shortrev ;

  {
  if (upstream) {
    tmp = upstream;
  } else {
    tmp = onto;
  }
  base_rev = tmp;
  tmp___0 = oid_to_hex((struct object_id  const  *)orig_head);
  tmp___1 = oid_to_hex((struct object_id  const  *)(& base_rev->object.oid));
  *revisions = xstrfmt((char const   *)"%s...%s", tmp___1, tmp___0);
  shorthead = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)orig_head,
                                      default_abbrev);
  if (upstream) {
    shortrev = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& base_rev->object.oid),
                                       default_abbrev);
    *shortrevisions = xstrfmt((char const   *)"%s..%s", shortrev, shorthead);
  } else {
    *shortrevisions = xstrdup(shorthead);
  }
  return (0);
}
}
static int init_basic_state(struct replay_opts *opts___1 , char const   *head_name___0 ,
                            struct commit *onto , struct object_id  const  *orig_head )
{
  FILE *interactive___1 ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  char const   *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  tmp___2 = merge_dir();
  tmp___3 = is_directory(tmp___2);
  if (! tmp___3) {
    tmp___4 = merge_dir();
    tmp___5 = mkdir_in_gitdir(tmp___4);
    if (tmp___5) {
      tmp = merge_dir();
      tmp___0 = _((char const   *)"could not create temporary %s");
      error_errno((char const   *)tmp___0, tmp);
      tmp___1 = const_error();
      return (tmp___1);
    }
  }
  delete_reflog((char const   *)"REBASE_HEAD");
  tmp___6 = path_interactive();
  interactive___1 = git_fopen(tmp___6, (char const   *)"w");
  if (! interactive___1) {
    tmp___7 = _((char const   *)"could not mark as interactive");
    error_errno((char const   *)tmp___7);
    tmp___8 = const_error();
    return (tmp___8);
  }
  fclose(interactive___1);
  tmp___9 = write_basic_state(opts___1, head_name___0, onto, orig_head);
  return (tmp___9);
}
}
static void split_exec_commands(char const   *cmd , struct string_list *commands___2 )
{


  {
  if (cmd) {
    if (*cmd) {
      string_list_split(commands___2, cmd, '\n', -1);
      string_list_remove_empty_items(commands___2, 0);
    }
  }
  return;
}
}
static int do_interactive_rebase(struct rebase_options *opts___1 , unsigned int flags___0 )
{
  int ret___67 ;
  char *revisions ;
  char *shortrevisions ;
  struct strvec make_script_args ;
  struct todo_list todo_list ;
  struct replay_opts replay ;
  struct replay_opts tmp ;
  struct string_list commands___2 ;
  int tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  char const   *tmp___4 ;
  char *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;

  {
  revisions = (char *)((void *)0);
  shortrevisions = (char *)((void *)0);
  make_script_args.v = empty_strvec;
  make_script_args.nr = 0UL;
  make_script_args.alloc = 0UL;
  todo_list.buf.alloc = 0UL;
  todo_list.buf.len = 0UL;
  todo_list.buf.buf = strbuf_slopbuf;
  todo_list.items = (struct todo_item *)0;
  todo_list.nr = 0;
  todo_list.alloc = 0;
  todo_list.current = 0;
  todo_list.done_nr = 0;
  todo_list.total_nr = 0;
  tmp = get_replay_opts((struct rebase_options  const  *)opts___1);
  replay = tmp;
  commands___2.items = (struct string_list_item *)0;
  commands___2.nr = 0U;
  commands___2.alloc = 0U;
  commands___2.strdup_strings = 1U;
  commands___2.cmp = (int (*)(char const   * , char const   * ))0;
  tmp___0 = get_revision_ranges(opts___1->upstream, opts___1->onto, & opts___1->orig_head,
                                & revisions, & shortrevisions);
  if (tmp___0) {
    return (-1);
  }
  if (opts___1->head_name) {
    tmp___1 = opts___1->head_name;
  } else {
    tmp___1 = "detached HEAD";
  }
  tmp___2 = init_basic_state(& replay, (char const   *)tmp___1, opts___1->onto, (struct object_id  const  *)(& opts___1->orig_head));
  if (tmp___2) {
    free((void *)revisions);
    free((void *)shortrevisions);
    return (-1);
  }
  if (! opts___1->upstream) {
    if (opts___1->squash_onto) {
      tmp___3 = oid_to_hex((struct object_id  const  *)opts___1->squash_onto);
      tmp___4 = path_squash_onto();
      write_file(tmp___4, (char const   *)"%s\n", tmp___3);
    }
  }
  strvec_pushl(& make_script_args, "", revisions, (void *)0);
  if (opts___1->restrict_revision) {
    tmp___5 = oid_to_hex((struct object_id  const  *)(& (opts___1->restrict_revision)->object.oid));
    strvec_pushf(& make_script_args, (char const   *)"^%s", tmp___5);
  }
  ret___67 = sequencer_make_script(the_repository, & todo_list.buf, (int )make_script_args.nr,
                                   make_script_args.v, flags___0);
  if (ret___67) {
    tmp___6 = _((char const   *)"could not generate todo list");
    error((char const   *)tmp___6);
    const_error();
  } else {
    discard_index(& the_index);
    tmp___7 = todo_list_parse_insn_buffer(the_repository, todo_list.buf.buf, & todo_list);
    if (tmp___7) {
      BUG_fl((char const   *)"builtin/rebase.c", 294, (char const   *)"unusable todo list");
    }
    split_exec_commands((char const   *)opts___1->cmd, & commands___2);
    ret___67 = complete_action(the_repository, & replay, flags___0, (char const   *)shortrevisions,
                               opts___1->onto_name, opts___1->onto, (struct object_id  const  *)(& opts___1->orig_head),
                               & commands___2, (unsigned int )opts___1->autosquash,
                               & todo_list);
  }
  string_list_clear(& commands___2, 0);
  free((void *)revisions);
  free((void *)shortrevisions);
  todo_list_release(& todo_list);
  strvec_clear(& make_script_args);
  return (ret___67);
}
}
static int run_sequencer_rebase(struct rebase_options *opts___1 , enum action command___0 )
{
  unsigned int flags___0 ;
  int abbreviate_commands ;
  int ret___67 ;
  unsigned int tmp ;
  unsigned int tmp___0 ;
  unsigned int tmp___1 ;
  unsigned int tmp___2 ;
  unsigned int tmp___3 ;
  unsigned int tmp___4 ;
  unsigned int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  struct string_list merge_rr ;
  struct replay_opts replay_opts ;
  struct replay_opts tmp___7 ;
  struct child_process cmd ;

  {
  flags___0 = 0U;
  abbreviate_commands = 0;
  ret___67 = 0;
  git_config_get_bool((char const   *)"rebase.abbreviatecommands", & abbreviate_commands);
  if (opts___1->keep_empty) {
    tmp = 1U;
  } else {
    tmp = 0U;
  }
  flags___0 |= tmp;
  if (abbreviate_commands) {
    tmp___0 = 1U << 2;
  } else {
    tmp___0 = 0U;
  }
  flags___0 |= tmp___0;
  if (opts___1->rebase_merges) {
    tmp___1 = 1U << 3;
  } else {
    tmp___1 = 0U;
  }
  flags___0 |= tmp___1;
  if (opts___1->rebase_cousins > 0) {
    tmp___2 = 1U << 4;
  } else {
    tmp___2 = 0U;
  }
  flags___0 |= tmp___2;
  if (opts___1->root_with_onto) {
    tmp___3 = 1U << 6;
  } else {
    tmp___3 = 0U;
  }
  flags___0 |= tmp___3;
  if (opts___1->reapply_cherry_picks) {
    tmp___4 = 1U << 7;
  } else {
    tmp___4 = 0U;
  }
  flags___0 |= tmp___4;
  if ((unsigned int )opts___1->flags & 1U) {
    tmp___5 = 1U << 8;
  } else {
    tmp___5 = 0U;
  }
  flags___0 |= tmp___5;
  {
  if ((unsigned int )command___0 == 0U) {
    goto case_0;
  }
  if ((unsigned int )command___0 == 2U) {
    goto case_2;
  }
  if ((unsigned int )command___0 == 1U) {
    goto case_1;
  }
  if ((unsigned int )command___0 == 5U) {
    goto case_5;
  }
  if ((unsigned int )command___0 == 6U) {
    goto case_6;
  }
  goto switch_default;
  case_0: /* CIL Label */
  if (! opts___1->onto) {
    if (! opts___1->upstream) {
      tmp___6 = _((char const   *)"a base commit must be provided with --upstream or --onto");
      die((char const   *)tmp___6);
    }
  }
  ret___67 = do_interactive_rebase(opts___1, flags___0);
  goto switch_break;
  case_2: /* CIL Label */
  merge_rr.items = (struct string_list_item *)0;
  merge_rr.nr = 0U;
  merge_rr.alloc = 0U;
  merge_rr.strdup_strings = 1U;
  merge_rr.cmp = (int (*)(char const   * , char const   * ))0;
  rerere_clear(the_repository, & merge_rr);
  case_1: /* CIL Label */
  tmp___7 = get_replay_opts((struct rebase_options  const  *)opts___1);
  replay_opts = tmp___7;
  ret___67 = sequencer_continue(the_repository, & replay_opts);
  goto switch_break;
  case_5: /* CIL Label */
  ret___67 = edit_todo_file(flags___0);
  goto switch_break;
  case_6: /* CIL Label */
  cmd.args.v = empty_strvec;
  cmd.args.nr = 0UL;
  cmd.args.alloc = 0UL;
  cmd.env_array.v = empty_strvec;
  cmd.env_array.nr = 0UL;
  cmd.env_array.alloc = 0UL;
  cmd.pid = 0;
  cmd.trace2_child_id = 0;
  cmd.trace2_child_us_start = 0UL;
  cmd.trace2_child_class = (char const   *)0;
  cmd.trace2_hook_name = (char const   *)0;
  cmd.in = 0;
  cmd.out = 0;
  cmd.err = 0;
  cmd.dir = (char const   *)0;
  cmd.no_stdin = 0U;
  cmd.no_stdout = 0U;
  cmd.no_stderr = 0U;
  cmd.git_cmd = 0U;
  cmd.silent_exec_failure = 0U;
  cmd.use_shell = 0U;
  cmd.close_object_store = 0U;
  cmd.stdout_to_stderr = 0U;
  cmd.clean_on_exit = 0U;
  cmd.wait_after_clean = 0U;
  cmd.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cmd.clean_on_exit_handler_cbdata = (void *)0;
  cmd.git_cmd = 1U;
  strvec_pushl(& cmd.args, "show", "REBASE_HEAD", "--", (void *)0);
  ret___67 = run_command(& cmd);
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"builtin/rebase.c", 361, (char const   *)"invalid command \'%d\'",
         (unsigned int )command___0);
  switch_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static void imply_merge(struct rebase_options *opts___1 , char const   *option ) ;
static int parse_opt_keep_empty(struct option  const  *opt___0 , char const   *arg ,
                                int unset )
{
  struct rebase_options *opts___1 ;
  char *tmp ;

  {
  opts___1 = (struct rebase_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/rebase.c", 373, (char const   *)"option callback does not expect an argument");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (unset) {
    tmp = "--no-keep-empty";
  } else {
    tmp = "--keep-empty";
  }
  imply_merge(opts___1, (char const   *)tmp);
  opts___1->keep_empty = ! unset;
  opts___1->type = (int )1;
  return (0);
}
}
static int is_merge(struct rebase_options *opts___1 )
{


  {
  return ((int )opts___1->type == 1);
}
}
static void imply_merge(struct rebase_options *opts___1 , char const   *option )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  {
  if ((int )opts___1->type == 0) {
    goto case_0;
  }
  if ((int )opts___1->type == 1) {
    goto case_1;
  }
  goto switch_default;
  case_0: /* CIL Label */
  tmp = _((char const   *)"%s requires the merge backend");
  die((char const   *)tmp, option);
  goto switch_break;
  case_1: /* CIL Label */
  goto switch_break;
  switch_default: /* CIL Label */
  opts___1->type = (int )1;
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static char const   *state_dir_path(char const   *filename___0 , struct rebase_options *opts___1 ) ;
static struct strbuf path___4  =    {0UL, 0UL, strbuf_slopbuf};
static size_t prefix_len___0  ;
static char const   *state_dir_path(char const   *filename___0 , struct rebase_options *opts___1 )
{


  {
  if (! prefix_len___0) {
    strbuf_addf(& path___4, (char const   *)"%s/", opts___1->state_dir);
    prefix_len___0 = path___4.len;
  }
  strbuf_setlen___33(& path___4, prefix_len___0);
  strbuf_addstr(& path___4, filename___0);
  return ((char const   *)path___4.buf);
}
}
static int read_basic_state(struct rebase_options *opts___1 )
{
  struct strbuf head_name___0 ;
  struct strbuf buf___19 ;
  struct object_id oid ;
  char const   *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const   *tmp___9 ;
  int tmp___10 ;
  char const   *tmp___11 ;
  int tmp___12 ;
  char const   *tmp___13 ;
  int tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  char const   *tmp___18 ;
  int tmp___19 ;
  char const   *tmp___20 ;
  int tmp___21 ;
  char const   *tmp___22 ;
  int tmp___23 ;
  char const   *tmp___24 ;
  int tmp___25 ;
  char const __attribute__((__format_arg__(1)))  *tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;
  char const   *tmp___29 ;
  int tmp___30 ;
  char const   *tmp___31 ;
  int tmp___32 ;
  char const   *tmp___33 ;
  int tmp___34 ;
  char const   *tmp___35 ;
  int tmp___36 ;
  char const   *tmp___37 ;
  int tmp___38 ;
  char const   *tmp___39 ;
  int tmp___40 ;
  char const   *tmp___41 ;
  int tmp___42 ;

  {
  head_name___0.alloc = 0UL;
  head_name___0.len = 0UL;
  head_name___0.buf = strbuf_slopbuf;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = state_dir_path((char const   *)"head-name", opts___1);
  tmp___0 = read_oneliner(& head_name___0, tmp, (unsigned int )(1 << 1));
  if (tmp___0) {
    tmp___1 = state_dir_path((char const   *)"onto", opts___1);
    tmp___2 = read_oneliner(& buf___19, tmp___1, (unsigned int )(1 << 1));
    if (! tmp___2) {
      return (-1);
    }
  } else {
    return (-1);
  }
  tmp___5 = starts_with((char const   *)head_name___0.buf, (char const   *)"refs/");
  if (tmp___5) {
    tmp___4 = xstrdup((char const   *)head_name___0.buf);
    opts___1->head_name = tmp___4;
  } else {
    opts___1->head_name = (char *)((void *)0);
  }
  strbuf_release(& head_name___0);
  tmp___8 = repo_get_oid(the_repository, (char const   *)buf___19.buf, & oid);
  if (tmp___8) {
    tmp___6 = _((char const   *)"could not get \'onto\': \'%s\'");
    error((char const   *)tmp___6, buf___19.buf);
    tmp___7 = const_error();
    return (tmp___7);
  }
  opts___1->onto = lookup_commit_or_die((struct object_id  const  *)(& oid), (char const   *)buf___19.buf);
  strbuf_setlen___33(& buf___19, (size_t )0);
  tmp___13 = state_dir_path((char const   *)"orig-head", opts___1);
  tmp___14 = file_exists(tmp___13);
  if (tmp___14) {
    tmp___9 = state_dir_path((char const   *)"orig-head", opts___1);
    tmp___10 = read_oneliner(& buf___19, tmp___9, (unsigned int )(1 << 1));
    if (! tmp___10) {
      return (-1);
    }
  } else {
    tmp___11 = state_dir_path((char const   *)"head", opts___1);
    tmp___12 = read_oneliner(& buf___19, tmp___11, (unsigned int )(1 << 1));
    if (! tmp___12) {
      return (-1);
    }
  }
  tmp___17 = repo_get_oid(the_repository, (char const   *)buf___19.buf, & opts___1->orig_head);
  if (tmp___17) {
    tmp___15 = _((char const   *)"invalid orig-head: \'%s\'");
    error((char const   *)tmp___15, buf___19.buf);
    tmp___16 = const_error();
    return (tmp___16);
  }
  tmp___18 = state_dir_path((char const   *)"quiet", opts___1);
  tmp___19 = file_exists(tmp___18);
  if (tmp___19) {
    opts___1->flags = (enum __anonenum_flags_10977374 )((unsigned int )opts___1->flags & 4294967294U);
  } else {
    opts___1->flags = (enum __anonenum_flags_10977374 )((unsigned int )opts___1->flags | 1U);
  }
  tmp___20 = state_dir_path((char const   *)"verbose", opts___1);
  tmp___21 = file_exists(tmp___20);
  if (tmp___21) {
    opts___1->flags = (enum __anonenum_flags_10977374 )((unsigned int )opts___1->flags | 2U);
  }
  tmp___22 = state_dir_path((char const   *)"signoff", opts___1);
  tmp___23 = file_exists(tmp___22);
  if (tmp___23) {
    opts___1->signoff = 1;
    opts___1->flags = (enum __anonenum_flags_10977374 )((unsigned int )opts___1->flags | 8U);
  }
  tmp___29 = state_dir_path((char const   *)"allow_rerere_autoupdate", opts___1);
  tmp___30 = file_exists(tmp___29);
  if (tmp___30) {
    strbuf_setlen___33(& buf___19, (size_t )0);
    tmp___24 = state_dir_path((char const   *)"allow_rerere_autoupdate", opts___1);
    tmp___25 = read_oneliner(& buf___19, tmp___24, (unsigned int )(1 << 1));
    if (! tmp___25) {
      return (-1);
    }
    tmp___28 = strcmp((char const   *)buf___19.buf, (char const   *)"--rerere-autoupdate");
    if (tmp___28) {
      tmp___27 = strcmp((char const   *)buf___19.buf, (char const   *)"--no-rerere-autoupdate");
      if (tmp___27) {
        tmp___26 = _((char const   *)"ignoring invalid allow_rerere_autoupdate: \'%s\'");
        warning((char const   *)tmp___26, buf___19.buf);
      } else {
        opts___1->allow_rerere_autoupdate = 02;
      }
    } else {
      opts___1->allow_rerere_autoupdate = 01;
    }
  }
  tmp___33 = state_dir_path((char const   *)"gpg_sign_opt", opts___1);
  tmp___34 = file_exists(tmp___33);
  if (tmp___34) {
    strbuf_setlen___33(& buf___19, (size_t )0);
    tmp___31 = state_dir_path((char const   *)"gpg_sign_opt", opts___1);
    tmp___32 = read_oneliner(& buf___19, tmp___31, (unsigned int )(1 << 1));
    if (! tmp___32) {
      return (-1);
    }
    free((void *)opts___1->gpg_sign_opt);
    opts___1->gpg_sign_opt = xstrdup((char const   *)buf___19.buf);
  }
  tmp___37 = state_dir_path((char const   *)"strategy", opts___1);
  tmp___38 = file_exists(tmp___37);
  if (tmp___38) {
    strbuf_setlen___33(& buf___19, (size_t )0);
    tmp___35 = state_dir_path((char const   *)"strategy", opts___1);
    tmp___36 = read_oneliner(& buf___19, tmp___35, (unsigned int )(1 << 1));
    if (! tmp___36) {
      return (-1);
    }
    free((void *)opts___1->strategy);
    opts___1->strategy = xstrdup((char const   *)buf___19.buf);
  }
  tmp___41 = state_dir_path((char const   *)"strategy_opts", opts___1);
  tmp___42 = file_exists(tmp___41);
  if (tmp___42) {
    strbuf_setlen___33(& buf___19, (size_t )0);
    tmp___39 = state_dir_path((char const   *)"strategy_opts", opts___1);
    tmp___40 = read_oneliner(& buf___19, tmp___39, (unsigned int )(1 << 1));
    if (! tmp___40) {
      return (-1);
    }
    free((void *)opts___1->strategy_opts);
    opts___1->strategy_opts = xstrdup((char const   *)buf___19.buf);
  }
  strbuf_release(& buf___19);
  return (0);
}
}
static int rebase_write_basic_state(struct rebase_options *opts___1 )
{
  char *tmp ;
  char const   *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  char const   *tmp___3 ;
  char *tmp___4 ;
  char const   *tmp___5 ;
  char const   *tmp___6 ;
  char const   *tmp___7 ;
  char const   *tmp___8 ;
  char const   *tmp___9 ;
  char *tmp___10 ;
  char const   *tmp___11 ;
  char const   *tmp___12 ;
  char const   *tmp___13 ;

  {
  if (opts___1->head_name) {
    tmp = opts___1->head_name;
  } else {
    tmp = "detached HEAD";
  }
  tmp___0 = state_dir_path((char const   *)"head-name", opts___1);
  write_file(tmp___0, (char const   *)"%s", tmp);
  if (opts___1->onto) {
    tmp___1 = oid_to_hex((struct object_id  const  *)(& (opts___1->onto)->object.oid));
    tmp___2 = tmp___1;
  } else {
    tmp___2 = "";
  }
  tmp___3 = state_dir_path((char const   *)"onto", opts___1);
  write_file(tmp___3, (char const   *)"%s", tmp___2);
  tmp___4 = oid_to_hex((struct object_id  const  *)(& opts___1->orig_head));
  tmp___5 = state_dir_path((char const   *)"orig-head", opts___1);
  write_file(tmp___5, (char const   *)"%s", tmp___4);
  if (! ((unsigned int )opts___1->flags & 1U)) {
    tmp___6 = state_dir_path((char const   *)"quiet", opts___1);
    write_file(tmp___6, (char const   *)"%s", "");
  }
  if ((unsigned int )opts___1->flags & 2U) {
    tmp___7 = state_dir_path((char const   *)"verbose", opts___1);
    write_file(tmp___7, (char const   *)"%s", "");
  }
  if (opts___1->strategy) {
    tmp___8 = state_dir_path((char const   *)"strategy", opts___1);
    write_file(tmp___8, (char const   *)"%s", opts___1->strategy);
  }
  if (opts___1->strategy_opts) {
    tmp___9 = state_dir_path((char const   *)"strategy_opts", opts___1);
    write_file(tmp___9, (char const   *)"%s", opts___1->strategy_opts);
  }
  if (opts___1->allow_rerere_autoupdate > 0) {
    if (opts___1->allow_rerere_autoupdate == 01) {
      tmp___10 = "";
    } else {
      tmp___10 = "-no";
    }
    tmp___11 = state_dir_path((char const   *)"allow_rerere_autoupdate", opts___1);
    write_file(tmp___11, (char const   *)"-%s-rerere-autoupdate", tmp___10);
  }
  if (opts___1->gpg_sign_opt) {
    tmp___12 = state_dir_path((char const   *)"gpg_sign_opt", opts___1);
    write_file(tmp___12, (char const   *)"%s", opts___1->gpg_sign_opt);
  }
  if (opts___1->signoff) {
    tmp___13 = state_dir_path((char const   *)"signoff", opts___1);
    write_file(tmp___13, (char const   *)"--signoff");
  }
  return (0);
}
}
static int finish_rebase(struct rebase_options *opts___1 )
{
  struct strbuf dir ;
  int ret___67 ;
  char const   *tmp ;
  char const   *tmp___0 ;
  struct replay_opts replay ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  dir.alloc = 0UL;
  dir.len = 0UL;
  dir.buf = strbuf_slopbuf;
  ret___67 = 0;
  delete_ref((char const   *)((void *)0), (char const   *)"REBASE_HEAD", (struct object_id  const  *)((void *)0),
             1U);
  tmp = git_path_auto_merge(the_repository);
  unlink(tmp);
  tmp___0 = state_dir_path((char const   *)"autostash", opts___1);
  apply_autostash(tmp___0);
  run_auto_maintenance(! ((unsigned int )opts___1->flags & 3U));
  if ((int )opts___1->type == 1) {
    replay.action = (enum replay_action )-1;
    replay.edit = -1;
    replay.record_origin = 0;
    replay.no_commit = 0;
    replay.signoff = 0;
    replay.allow_ff = 0;
    replay.allow_rerere_auto = 0;
    replay.allow_empty = 0;
    replay.allow_empty_message = 0;
    replay.drop_redundant_commits = 0;
    replay.keep_redundant_commits = 0;
    replay.verbose = 0;
    replay.quiet = 0;
    replay.reschedule_failed_exec = 0;
    replay.committer_date_is_author_date = 0;
    replay.ignore_date = 0;
    replay.mainline = 0;
    replay.gpg_sign = (char *)0;
    replay.default_msg_cleanup = 0U;
    replay.explicit_cleanup = 0;
    replay.default_strategy = (char *)0;
    replay.strategy = (char *)0;
    replay.xopts = (char **)0;
    replay.xopts_nr = 0UL;
    replay.xopts_alloc = 0UL;
    replay.current_fixups.alloc = 0UL;
    replay.current_fixups.len = 0UL;
    replay.current_fixups.buf = strbuf_slopbuf;
    replay.current_fixup_count = 0;
    replay.squash_onto.hash[0] = (unsigned char)0;
    replay.squash_onto.hash[1] = (unsigned char)0;
    replay.squash_onto.hash[2] = (unsigned char)0;
    replay.squash_onto.hash[3] = (unsigned char)0;
    replay.squash_onto.hash[4] = (unsigned char)0;
    replay.squash_onto.hash[5] = (unsigned char)0;
    replay.squash_onto.hash[6] = (unsigned char)0;
    replay.squash_onto.hash[7] = (unsigned char)0;
    replay.squash_onto.hash[8] = (unsigned char)0;
    replay.squash_onto.hash[9] = (unsigned char)0;
    replay.squash_onto.hash[10] = (unsigned char)0;
    replay.squash_onto.hash[11] = (unsigned char)0;
    replay.squash_onto.hash[12] = (unsigned char)0;
    replay.squash_onto.hash[13] = (unsigned char)0;
    replay.squash_onto.hash[14] = (unsigned char)0;
    replay.squash_onto.hash[15] = (unsigned char)0;
    replay.squash_onto.hash[16] = (unsigned char)0;
    replay.squash_onto.hash[17] = (unsigned char)0;
    replay.squash_onto.hash[18] = (unsigned char)0;
    replay.squash_onto.hash[19] = (unsigned char)0;
    replay.squash_onto.hash[20] = (unsigned char)0;
    replay.squash_onto.hash[21] = (unsigned char)0;
    replay.squash_onto.hash[22] = (unsigned char)0;
    replay.squash_onto.hash[23] = (unsigned char)0;
    replay.squash_onto.hash[24] = (unsigned char)0;
    replay.squash_onto.hash[25] = (unsigned char)0;
    replay.squash_onto.hash[26] = (unsigned char)0;
    replay.squash_onto.hash[27] = (unsigned char)0;
    replay.squash_onto.hash[28] = (unsigned char)0;
    replay.squash_onto.hash[29] = (unsigned char)0;
    replay.squash_onto.hash[30] = (unsigned char)0;
    replay.squash_onto.hash[31] = (unsigned char)0;
    replay.squash_onto.algo = 0;
    replay.have_squash_onto = 0;
    replay.revs = (struct rev_info *)0;
    replay.action = (enum replay_action )2;
    ret___67 = sequencer_remove_state(& replay);
  } else {
    strbuf_addstr(& dir, opts___1->state_dir);
    tmp___2 = remove_dir_recursively(& dir, 0);
    if (tmp___2) {
      tmp___1 = _((char const   *)"could not remove \'%s\'");
      error((char const   *)tmp___1, opts___1->state_dir);
      ret___67 = const_error();
    }
    strbuf_release(& dir);
  }
  return (ret___67);
}
}
static int move_to_original_branch(struct rebase_options *opts___1 )
{
  struct strbuf orig_head_reflog ;
  struct strbuf head_reflog ;
  int ret___67 ;
  char *tmp ;

  {
  orig_head_reflog.alloc = 0UL;
  orig_head_reflog.len = 0UL;
  orig_head_reflog.buf = strbuf_slopbuf;
  head_reflog.alloc = 0UL;
  head_reflog.len = 0UL;
  head_reflog.buf = strbuf_slopbuf;
  if (! opts___1->head_name) {
    return (0);
  }
  if (! opts___1->onto) {
    BUG_fl((char const   *)"builtin/rebase.c", 580, (char const   *)"move_to_original_branch without onto");
  }
  tmp = oid_to_hex((struct object_id  const  *)(& (opts___1->onto)->object.oid));
  strbuf_addf(& orig_head_reflog, (char const   *)"rebase finished: %s onto %s", opts___1->head_name,
              tmp);
  strbuf_addf(& head_reflog, (char const   *)"rebase finished: returning to %s", opts___1->head_name);
  ret___67 = reset_head(the_repository, (struct object_id *)((void *)0), (char const   *)"",
                        (char const   *)opts___1->head_name, (unsigned int )(1 << 3),
                        (char const   *)orig_head_reflog.buf, (char const   *)head_reflog.buf,
                        (char const   *)"rebase");
  strbuf_release(& orig_head_reflog);
  strbuf_release(& head_reflog);
  return (ret___67);
}
}
static char const   *resolvemsg  =    (char const   *)"Resolve all conflicts manually, mark them as resolved with\n\"git add/rm <conflicted_files>\", then run \"git rebase --continue\".\nYou can instead skip this commit: run \"git rebase --skip\".\nTo abort and get back to the state before \"git rebase\", run \"git rebase --abort\".";
static int run_am(struct rebase_options *opts___1 )
{
  struct child_process am ;
  struct child_process format_patch ;
  struct strbuf revisions ;
  int status ;
  char *rebased_patches ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;
  struct object_id *tmp___6 ;
  char *tmp___7 ;
  char const   *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;

  {
  am.args.v = empty_strvec;
  am.args.nr = 0UL;
  am.args.alloc = 0UL;
  am.env_array.v = empty_strvec;
  am.env_array.nr = 0UL;
  am.env_array.alloc = 0UL;
  am.pid = 0;
  am.trace2_child_id = 0;
  am.trace2_child_us_start = 0UL;
  am.trace2_child_class = (char const   *)0;
  am.trace2_hook_name = (char const   *)0;
  am.in = 0;
  am.out = 0;
  am.err = 0;
  am.dir = (char const   *)0;
  am.no_stdin = 0U;
  am.no_stdout = 0U;
  am.no_stderr = 0U;
  am.git_cmd = 0U;
  am.silent_exec_failure = 0U;
  am.use_shell = 0U;
  am.close_object_store = 0U;
  am.stdout_to_stderr = 0U;
  am.clean_on_exit = 0U;
  am.wait_after_clean = 0U;
  am.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  am.clean_on_exit_handler_cbdata = (void *)0;
  format_patch.args.v = empty_strvec;
  format_patch.args.nr = 0UL;
  format_patch.args.alloc = 0UL;
  format_patch.env_array.v = empty_strvec;
  format_patch.env_array.nr = 0UL;
  format_patch.env_array.alloc = 0UL;
  format_patch.pid = 0;
  format_patch.trace2_child_id = 0;
  format_patch.trace2_child_us_start = 0UL;
  format_patch.trace2_child_class = (char const   *)0;
  format_patch.trace2_hook_name = (char const   *)0;
  format_patch.in = 0;
  format_patch.out = 0;
  format_patch.err = 0;
  format_patch.dir = (char const   *)0;
  format_patch.no_stdin = 0U;
  format_patch.no_stdout = 0U;
  format_patch.no_stderr = 0U;
  format_patch.git_cmd = 0U;
  format_patch.silent_exec_failure = 0U;
  format_patch.use_shell = 0U;
  format_patch.close_object_store = 0U;
  format_patch.stdout_to_stderr = 0U;
  format_patch.clean_on_exit = 0U;
  format_patch.wait_after_clean = 0U;
  format_patch.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  format_patch.clean_on_exit_handler_cbdata = (void *)0;
  revisions.alloc = 0UL;
  revisions.len = 0UL;
  revisions.buf = strbuf_slopbuf;
  am.git_cmd = 1U;
  strvec_push(& am.args, (char const   *)"am");
  if (opts___1->action) {
    tmp___0 = strcmp((char const   *)"continue", opts___1->action);
    if (! tmp___0) {
      strvec_push(& am.args, (char const   *)"--resolved");
      strvec_pushf(& am.args, (char const   *)"--resolvemsg=%s", resolvemsg);
      if (opts___1->gpg_sign_opt) {
        strvec_push(& am.args, (char const   *)opts___1->gpg_sign_opt);
      }
      status = run_command(& am);
      if (status) {
        return (status);
      }
      tmp = move_to_original_branch(opts___1);
      return (tmp);
    }
  }
  if (opts___1->action) {
    tmp___2 = strcmp((char const   *)"skip", opts___1->action);
    if (! tmp___2) {
      strvec_push(& am.args, (char const   *)"--skip");
      strvec_pushf(& am.args, (char const   *)"--resolvemsg=%s", resolvemsg);
      status = run_command(& am);
      if (status) {
        return (status);
      }
      tmp___1 = move_to_original_branch(opts___1);
      return (tmp___1);
    }
  }
  if (opts___1->action) {
    tmp___4 = strcmp((char const   *)"show-current-patch", opts___1->action);
    if (! tmp___4) {
      strvec_push(& am.args, (char const   *)"--show-current-patch");
      tmp___3 = run_command(& am);
      return (tmp___3);
    }
  }
  tmp___5 = oid_to_hex((struct object_id  const  *)(& opts___1->orig_head));
  if (opts___1->root) {
    tmp___6 = & (opts___1->onto)->object.oid;
  } else {
    tmp___6 = & (opts___1->upstream)->object.oid;
  }
  tmp___7 = oid_to_hex((struct object_id  const  *)tmp___6);
  strbuf_addf(& revisions, (char const   *)"%s...%s", tmp___7, tmp___5);
  tmp___8 = git_path((char const   *)"rebased-patches");
  rebased_patches = xstrdup(tmp___8);
  format_patch.out = open((char const   *)rebased_patches, 577, 0666);
  if (format_patch.out < 0) {
    tmp___9 = _((char const   *)"could not open \'%s\' for writing");
    error_errno((char const   *)tmp___9, rebased_patches);
    status = const_error();
    free((void *)rebased_patches);
    strvec_clear(& am.args);
    return (status);
  }
  format_patch.git_cmd = 1U;
  strvec_pushl(& format_patch.args, "format-patch", "-k", "--stdout", "--full-index",
               "--cherry-pick", "--right-only", "--src-prefix=a/", "--dst-prefix=b/",
               "--no-renames", "--no-cover-letter", "--pretty=mboxrd", "--topo-order",
               "--no-base", (void *)0);
  if (opts___1->git_format_patch_opt.len) {
    strvec_split(& format_patch.args, (char const   *)opts___1->git_format_patch_opt.buf);
  }
  strvec_push(& format_patch.args, (char const   *)revisions.buf);
  if (opts___1->restrict_revision) {
    tmp___10 = oid_to_hex((struct object_id  const  *)(& (opts___1->restrict_revision)->object.oid));
    strvec_pushf(& format_patch.args, (char const   *)"^%s", tmp___10);
  }
  status = run_command(& format_patch);
  if (status) {
    unlink((char const   *)rebased_patches);
    free((void *)rebased_patches);
    strvec_clear(& am.args);
    reset_head(the_repository, & opts___1->orig_head, (char const   *)"checkout",
               (char const   *)opts___1->head_name, 0U, (char const   *)"HEAD", (char const   *)((void *)0),
               (char const   *)"rebase");
    tmp___11 = _((char const   *)"\ngit encountered an error while preparing the patches to replay\nthese revisions:\n\n    %s\n\nAs a result, git cannot rebase them.");
    error((char const   *)tmp___11, opts___1->revisions);
    const_error();
    strbuf_release(& revisions);
    return (status);
  }
  strbuf_release(& revisions);
  am.in = open((char const   *)rebased_patches, 00);
  if (am.in < 0) {
    tmp___12 = _((char const   *)"could not open \'%s\' for reading");
    error_errno((char const   *)tmp___12, rebased_patches);
    status = const_error();
    free((void *)rebased_patches);
    strvec_clear(& am.args);
    return (status);
  }
  strvec_pushv(& am.args, opts___1->git_am_opts.v);
  strvec_push(& am.args, (char const   *)"--rebasing");
  strvec_pushf(& am.args, (char const   *)"--resolvemsg=%s", resolvemsg);
  strvec_push(& am.args, (char const   *)"--patch-format=mboxrd");
  if (opts___1->allow_rerere_autoupdate == 01) {
    strvec_push(& am.args, (char const   *)"--rerere-autoupdate");
  } else
  if (opts___1->allow_rerere_autoupdate == 02) {
    strvec_push(& am.args, (char const   *)"--no-rerere-autoupdate");
  }
  if (opts___1->gpg_sign_opt) {
    strvec_push(& am.args, (char const   *)opts___1->gpg_sign_opt);
  }
  status = run_command(& am);
  unlink((char const   *)rebased_patches);
  free((void *)rebased_patches);
  if (! status) {
    tmp___13 = move_to_original_branch(opts___1);
    return (tmp___13);
  }
  tmp___14 = is_directory(opts___1->state_dir);
  if (tmp___14) {
    rebase_write_basic_state(opts___1);
  }
  return (status);
}
}
static int run_specific_rebase(struct rebase_options *opts___1 , enum action action )
{
  int status ;
  char *tmp ;
  char *tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  struct strbuf dir ;
  char const   *tmp___3 ;
  int tmp___4 ;

  {
  if ((int )opts___1->type == 1) {
    setenv((char const   *)"GIT_CHERRY_PICK_HELP", resolvemsg, 1);
    if (! ((unsigned int )opts___1->flags & 16U)) {
      setenv((char const   *)"GIT_SEQUENCE_EDITOR", (char const   *)":", 1);
      opts___1->autosquash = 0;
    }
    if (opts___1->gpg_sign_opt) {
      tmp___0 = xstrdup((char const   *)(opts___1->gpg_sign_opt + 2));
      tmp = tmp___0;
      free((void *)opts___1->gpg_sign_opt);
      opts___1->gpg_sign_opt = tmp;
    }
    status = run_sequencer_rebase(opts___1, action);
  } else
  if ((int )opts___1->type == 0) {
    status = run_am(opts___1);
  } else {
    BUG_fl((char const   *)"builtin/rebase.c", 747, (char const   *)"Unhandled rebase type %d",
           (int )opts___1->type);
  }
  if (! opts___1->dont_finish_rebase) {
    if (! ((int )opts___1->type == 1)) {
      if (status == 0) {
        tmp___1 = state_dir_path((char const   *)"stopped-sha", opts___1);
        tmp___2 = file_exists(tmp___1);
        if (! tmp___2) {
          finish_rebase(opts___1);
        }
      } else
      if (status == 2) {
        dir.alloc = 0UL;
        dir.len = 0UL;
        dir.buf = strbuf_slopbuf;
        tmp___3 = state_dir_path((char const   *)"autostash", opts___1);
        apply_autostash(tmp___3);
        strbuf_addstr(& dir, opts___1->state_dir);
        remove_dir_recursively(& dir, 0);
        strbuf_release(& dir);
        die((char const   *)"Nothing to do");
      }
    }
  }
  if (status) {
    tmp___4 = -1;
  } else {
    tmp___4 = 0;
  }
  return (tmp___4);
}
}
static int rebase_config(char const   *var , char const   *value , void *data )
{
  struct rebase_options *opts___1 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;

  {
  opts___1 = (struct rebase_options *)data;
  tmp___0 = strcmp(var, (char const   *)"rebase.stat");
  if (! tmp___0) {
    tmp = git_config_bool(var, value);
    if (tmp) {
      opts___1->flags = (enum __anonenum_flags_10977374 )((unsigned int )opts___1->flags | 4U);
    } else {
      opts___1->flags = (enum __anonenum_flags_10977374 )((unsigned int )opts___1->flags & 4294967291U);
    }
    return (0);
  }
  tmp___1 = strcmp(var, (char const   *)"rebase.autosquash");
  if (! tmp___1) {
    opts___1->autosquash = git_config_bool(var, value);
    return (0);
  }
  tmp___5 = strcmp(var, (char const   *)"commit.gpgsign");
  if (! tmp___5) {
    free((void *)opts___1->gpg_sign_opt);
    tmp___4 = git_config_bool(var, value);
    if (tmp___4) {
      tmp___3 = xstrdup((char const   *)"-S");
      opts___1->gpg_sign_opt = tmp___3;
    } else {
      opts___1->gpg_sign_opt = (char *)((void *)0);
    }
    return (0);
  }
  tmp___6 = strcmp(var, (char const   *)"rebase.autostash");
  if (! tmp___6) {
    opts___1->autostash = git_config_bool(var, value);
    return (0);
  }
  tmp___7 = strcmp(var, (char const   *)"rebase.reschedulefailedexec");
  if (! tmp___7) {
    opts___1->reschedule_failed_exec = git_config_bool(var, value);
    return (0);
  }
  tmp___10 = strcmp(var, (char const   *)"rebase.forkpoint");
  if (! tmp___10) {
    tmp___9 = git_config_bool(var, value);
    if (tmp___9) {
      opts___1->fork_point = -1;
    } else {
      opts___1->fork_point = 0;
    }
    return (0);
  }
  tmp___12 = strcmp(var, (char const   *)"rebase.backend");
  if (! tmp___12) {
    tmp___11 = git_config_string(& opts___1->default_backend, var, value);
    return (tmp___11);
  }
  tmp___13 = git_default_config(var, value, data);
  return (tmp___13);
}
}
static int is_linear_history(struct commit *from___0 , struct commit *to )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (to) {
      if (! ((unsigned long )to != (unsigned long )from___0)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    repo_parse_commit(the_repository, to);
    if (! to->parents) {
      return (1);
    }
    if ((to->parents)->next) {
      return (0);
    }
    to = (to->parents)->item;
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
static int can_fast_forward(struct commit *onto , struct commit *upstream , struct commit *restrict_revision ,
                            struct object_id *head_oid___1 , struct object_id *merge_base )
{
  struct commit *head___1 ;
  struct commit *tmp ;
  struct commit_list *merge_bases ;
  int res ;
  struct object_id  const  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = lookup_commit(the_repository, (struct object_id  const  *)head_oid___1);
  head___1 = tmp;
  merge_bases = (struct commit_list *)((void *)0);
  res = 0;
  if (! head___1) {
    goto done;
  }
  merge_bases = repo_get_merge_bases(the_repository, onto, head___1);
  if (! merge_bases) {
    tmp___0 = null_oid();
    oidcpy(merge_base, tmp___0);
    goto done;
  } else
  if (merge_bases->next) {
    tmp___0 = null_oid();
    oidcpy(merge_base, tmp___0);
    goto done;
  }
  oidcpy(merge_base, (struct object_id  const  *)(& (merge_bases->item)->object.oid));
  tmp___1 = oideq((struct object_id  const  *)merge_base, (struct object_id  const  *)(& onto->object.oid));
  if (! tmp___1) {
    goto done;
  }
  if (restrict_revision) {
    tmp___2 = oideq((struct object_id  const  *)(& restrict_revision->object.oid),
                    (struct object_id  const  *)merge_base);
    if (! tmp___2) {
      goto done;
    }
  }
  if (! upstream) {
    goto done;
  }
  free_commit_list(merge_bases);
  merge_bases = repo_get_merge_bases(the_repository, upstream, head___1);
  if (! merge_bases) {
    goto done;
  } else
  if (merge_bases->next) {
    goto done;
  }
  tmp___3 = oideq((struct object_id  const  *)(& onto->object.oid), (struct object_id  const  *)(& (merge_bases->item)->object.oid));
  if (! tmp___3) {
    goto done;
  }
  res = 1;
  done:
  free_commit_list(merge_bases);
  if (res) {
    tmp___4 = is_linear_history(onto, head___1);
    if (tmp___4) {
      tmp___5 = 1;
    } else {
      tmp___5 = 0;
    }
  } else {
    tmp___5 = 0;
  }
  return (tmp___5);
}
}
static int parse_opt_am(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct rebase_options *opts___1 ;

  {
  opts___1 = (struct rebase_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/rebase.c", 879, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/rebase.c", 880, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  opts___1->type = (int )0;
  return (0);
}
}
static int parse_opt_merge(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct rebase_options *opts___1 ;
  int tmp ;

  {
  opts___1 = (struct rebase_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/rebase.c", 892, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/rebase.c", 893, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp = is_merge(opts___1);
  if (! tmp) {
    opts___1->type = (int )1;
  }
  return (0);
}
}
static int parse_opt_interactive(struct option  const  *opt___0 , char const   *arg ,
                                 int unset )
{
  struct rebase_options *opts___1 ;

  {
  opts___1 = (struct rebase_options *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/rebase.c", 907, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/rebase.c", 908, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  opts___1->type = (int )1;
  opts___1->flags = (enum __anonenum_flags_10977374 )((unsigned int )opts___1->flags | 16U);
  return (0);
}
}
static enum empty_type parse_empty_value(char const   *value )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  tmp___1 = strcasecmp(value, (char const   *)"drop");
  if (tmp___1) {
    tmp___0 = strcasecmp(value, (char const   *)"keep");
    if (tmp___0) {
      tmp = strcasecmp(value, (char const   *)"ask");
      if (! tmp) {
        return ((enum empty_type )2);
      }
    } else {
      return ((enum empty_type )1);
    }
  } else {
    return ((enum empty_type )0);
  }
  tmp___2 = _((char const   *)"unrecognized empty type \'%s\'; valid values are \"drop\", \"keep\", and \"ask\".");
  die((char const   *)tmp___2, value);
}
}
static int parse_opt_empty(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct rebase_options *options ;
  enum empty_type value ;
  enum empty_type tmp ;

  {
  options = (struct rebase_options *)opt___0->value;
  tmp = parse_empty_value(arg);
  value = tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/rebase.c", 933, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  options->empty = value;
  return (0);
}
}
static void error_on_missing_default_upstream(void)  __attribute__((__noreturn__)) ;
static void error_on_missing_default_upstream(void)
{
  struct branch *current_branch ;
  struct branch *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const   *remote ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;

  {
  tmp = branch_get((char const   *)((void *)0));
  current_branch = tmp;
  if (current_branch) {
    tmp___0 = _((char const   *)"There is no tracking information for the current branch.");
    tmp___2 = tmp___0;
  } else {
    tmp___1 = _((char const   *)"You are not currently on a branch.");
    tmp___2 = tmp___1;
  }
  tmp___3 = _((char const   *)"%s\nPlease specify which branch you want to rebase against.\nSee git-rebase(1) for details.\n\n    git rebase \'<branch>\'\n\n");
  printf((char const   *)tmp___3, tmp___2);
  if (current_branch) {
    remote = current_branch->remote_name;
    if (! remote) {
      tmp___4 = _((char const   *)"<remote>");
      remote = (char const   *)tmp___4;
    }
    tmp___5 = _((char const   *)"If you wish to set tracking information for this branch you can do so with:\n\n    git branch --set-upstream-to=%s/<branch> %s\n\n");
    printf((char const   *)tmp___5, remote, current_branch->name);
  }
  tmp___6 = trace2_cmd_exit_fl((char const   *)"builtin/rebase.c", 966, 1);
  exit(tmp___6);
}
}
static void set_reflog_action(struct rebase_options *options )
{
  char const   *env ;
  struct strbuf buf___19 ;
  int tmp ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = is_merge(options);
  if (! tmp) {
    return;
  }
  tmp___0 = getenv((char const   *)"GIT_REFLOG_ACTION");
  env = (char const   *)tmp___0;
  if (env) {
    tmp___1 = strcmp((char const   *)"rebase", env);
    if (tmp___1) {
      return;
    }
  }
  strbuf_addf(& buf___19, (char const   *)"rebase (%s)", options->action);
  setenv((char const   *)"GIT_REFLOG_ACTION", (char const   *)buf___19.buf, 1);
  strbuf_release(& buf___19);
  return;
}
}
static int check_exec_cmd(char const   *cmd )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  size_t tmp___4 ;

  {
  tmp___1 = strchr(cmd, '\n');
  if (tmp___1) {
    tmp = _((char const   *)"exec commands cannot contain newlines");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  tmp___4 = strspn(cmd, (char const   *)" \t\r\f\v");
  if (! *(cmd + tmp___4)) {
    tmp___2 = _((char const   *)"empty exec command");
    error((char const   *)tmp___2);
    tmp___3 = const_error();
    return (tmp___3);
  }
  return (0);
}
}
int cmd_rebase(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct rebase_options options ;
  char const   *branch_name ;
  int ret___67 ;
  int flags___0 ;
  int total_argc ;
  int in_progress ;
  int keep_base ;
  int ok_to_skip_pre_rebase ;
  struct strbuf msg___5 ;
  struct strbuf revisions ;
  struct strbuf buf___19 ;
  struct object_id merge_base ;
  int ignore_whitespace ;
  enum action action ;
  char const   *gpg_sign ;
  struct string_list exec ;
  char const   *rebase_merges ;
  struct string_list strategy_options ;
  struct object_id squash_onto ;
  char *squash_onto_name ;
  int reschedule_failed_exec ;
  int allow_preemptive_ff ;
  int preserve_merges_selected ;
  struct option builtin_rebase_options[41] ;
  int i ;
  int tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const   *tmp___7 ;
  int tmp___8 ;
  char const   *tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  struct object_id head___1 ;
  struct lock_file lock_file___0 ;
  int fd ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  int tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  int tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;
  struct string_list merge_rr ;
  char const __attribute__((__format_arg__(1)))  *tmp___29 ;
  int tmp___30 ;
  int tmp___31 ;
  int tmp___32 ;
  struct string_list merge_rr___0 ;
  int tmp___33 ;
  int tmp___34 ;
  char *tmp___35 ;
  char const __attribute__((__format_arg__(1)))  *tmp___36 ;
  int tmp___37 ;
  char const   *tmp___38 ;
  struct replay_opts replay ;
  char const __attribute__((__format_arg__(1)))  *tmp___39 ;
  char const   *last_slash ;
  char *tmp___40 ;
  char const   *state_dir_base ;
  char const   *tmp___41 ;
  char const   *cmd_live_rebase ;
  char const __attribute__((__format_arg__(1)))  *tmp___42 ;
  char const   *option ;
  char const   *p___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___43 ;
  char const   *tmp___44 ;
  int tmp___45 ;
  int tmp___46 ;
  int tmp___47 ;
  int tmp___48 ;
  int tmp___49 ;
  int tmp___50 ;
  int tmp___51 ;
  int tmp___52 ;
  int tmp___53 ;
  int tmp___54 ;
  int i___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___55 ;
  int tmp___56 ;
  int tmp___57 ;
  int i___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___58 ;
  int tmp___59 ;
  int tmp___60 ;
  char const __attribute__((__format_arg__(1)))  *tmp___61 ;
  int tmp___62 ;
  char const __attribute__((__format_arg__(1)))  *tmp___63 ;
  int tmp___64 ;
  int tmp___65 ;
  char *tmp___66 ;
  char *tmp___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp___68 ;
  int tmp___69 ;
  struct branch *branch___0 ;
  int tmp___70 ;
  char const __attribute__((__format_arg__(1)))  *tmp___71 ;
  char const __attribute__((__format_arg__(1)))  *tmp___72 ;
  int tmp___73 ;
  char *tmp___74 ;
  char *tmp___75 ;
  char const __attribute__((__format_arg__(1)))  *tmp___76 ;
  char const __attribute__((__format_arg__(1)))  *tmp___77 ;
  int tmp___78 ;
  char const __attribute__((__format_arg__(1)))  *tmp___79 ;
  char *tmp___80 ;
  struct commit *commit ;
  struct commit *tmp___81 ;
  char const __attribute__((__format_arg__(1)))  *tmp___82 ;
  int tmp___83 ;
  char const   *tmp___84 ;
  char const __attribute__((__format_arg__(1)))  *tmp___85 ;
  int tmp___86 ;
  char const __attribute__((__format_arg__(1)))  *tmp___87 ;
  int tmp___88 ;
  struct commit *head___2 ;
  struct commit *tmp___89 ;
  char const __attribute__((__format_arg__(1)))  *tmp___90 ;
  int tmp___91 ;
  char const   *tmp___92 ;
  char const __attribute__((__format_arg__(1)))  *tmp___93 ;
  int tmp___94 ;
  int flag ;
  char *tmp___95 ;
  char const __attribute__((__format_arg__(1)))  *tmp___96 ;
  int tmp___97 ;
  char const __attribute__((__format_arg__(1)))  *tmp___98 ;
  char const __attribute__((__format_arg__(1)))  *tmp___99 ;
  int tmp___100 ;
  char const   *tmp___101 ;
  char const __attribute__((__format_arg__(1)))  *tmp___102 ;
  char const __attribute__((__format_arg__(1)))  *tmp___103 ;
  int tmp___104 ;
  char const   *tmp___105 ;
  int tmp___106 ;
  char const __attribute__((__format_arg__(1)))  *tmp___107 ;
  char const   *tmp___108 ;
  int __attribute__((__sentinel__))  tmp___109 ;
  struct diff_options opts___1 ;
  char *tmp___110 ;
  char const __attribute__((__format_arg__(1)))  *tmp___111 ;
  char *tmp___112 ;
  char *tmp___113 ;
  char const __attribute__((__format_arg__(1)))  *tmp___114 ;
  int tmp___115 ;
  int tmp___116 ;
  struct object_id  const  *tmp___117 ;
  int tmp___118 ;
  int tmp___119 ;
  char const __attribute__((__format_arg__(1)))  *tmp___120 ;
  char *tmp___121 ;
  char const __attribute__((__format_arg__(1)))  *tmp___122 ;
  int tmp___123 ;
  char const __attribute__((__format_arg__(1)))  *tmp___124 ;
  char *tmp___125 ;
  char *tmp___126 ;
  int tmp___127 ;
  char *tmp___128 ;
  char *tmp___129 ;
  char *tmp___130 ;
  char *tmp___131 ;
  char *tmp___132 ;
  char *tmp___133 ;

  {
  options.type = (int )-1;
  options.empty = (enum empty_type )-1;
  options.default_backend = (char const   *)"merge";
  options.state_dir = (char const   *)0;
  options.upstream = (struct commit *)0;
  options.upstream_name = (char const   *)0;
  options.upstream_arg = (char const   *)0;
  options.head_name = (char *)0;
  options.orig_head.hash[0] = (unsigned char)0;
  options.orig_head.hash[1] = (unsigned char)0;
  options.orig_head.hash[2] = (unsigned char)0;
  options.orig_head.hash[3] = (unsigned char)0;
  options.orig_head.hash[4] = (unsigned char)0;
  options.orig_head.hash[5] = (unsigned char)0;
  options.orig_head.hash[6] = (unsigned char)0;
  options.orig_head.hash[7] = (unsigned char)0;
  options.orig_head.hash[8] = (unsigned char)0;
  options.orig_head.hash[9] = (unsigned char)0;
  options.orig_head.hash[10] = (unsigned char)0;
  options.orig_head.hash[11] = (unsigned char)0;
  options.orig_head.hash[12] = (unsigned char)0;
  options.orig_head.hash[13] = (unsigned char)0;
  options.orig_head.hash[14] = (unsigned char)0;
  options.orig_head.hash[15] = (unsigned char)0;
  options.orig_head.hash[16] = (unsigned char)0;
  options.orig_head.hash[17] = (unsigned char)0;
  options.orig_head.hash[18] = (unsigned char)0;
  options.orig_head.hash[19] = (unsigned char)0;
  options.orig_head.hash[20] = (unsigned char)0;
  options.orig_head.hash[21] = (unsigned char)0;
  options.orig_head.hash[22] = (unsigned char)0;
  options.orig_head.hash[23] = (unsigned char)0;
  options.orig_head.hash[24] = (unsigned char)0;
  options.orig_head.hash[25] = (unsigned char)0;
  options.orig_head.hash[26] = (unsigned char)0;
  options.orig_head.hash[27] = (unsigned char)0;
  options.orig_head.hash[28] = (unsigned char)0;
  options.orig_head.hash[29] = (unsigned char)0;
  options.orig_head.hash[30] = (unsigned char)0;
  options.orig_head.hash[31] = (unsigned char)0;
  options.orig_head.algo = 0;
  options.onto = (struct commit *)0;
  options.onto_name = (char const   *)0;
  options.revisions = (char const   *)0;
  options.switch_to = (char const   *)0;
  options.root = 0;
  options.root_with_onto = 0;
  options.squash_onto = (struct object_id *)0;
  options.restrict_revision = (struct commit *)0;
  options.dont_finish_rebase = 0;
  options.flags = (enum __anonenum_flags_10977374 )1;
  options.git_am_opts.v = empty_strvec;
  options.git_am_opts.nr = 0UL;
  options.git_am_opts.alloc = 0UL;
  options.action = (char const   *)0;
  options.signoff = 0;
  options.allow_rerere_autoupdate = 0;
  options.keep_empty = 1;
  options.autosquash = 0;
  options.gpg_sign_opt = (char *)0;
  options.autostash = 0;
  options.committer_date_is_author_date = 0;
  options.ignore_date = 0;
  options.cmd = (char *)0;
  options.allow_empty_message = 0;
  options.rebase_merges = 0;
  options.rebase_cousins = 0;
  options.strategy = (char *)0;
  options.strategy_opts = (char *)0;
  options.git_format_patch_opt.alloc = 0UL;
  options.git_format_patch_opt.len = 0UL;
  options.git_format_patch_opt.buf = strbuf_slopbuf;
  options.reschedule_failed_exec = 0;
  options.reapply_cherry_picks = 0;
  options.fork_point = -1;
  in_progress = 0;
  keep_base = 0;
  ok_to_skip_pre_rebase = 0;
  msg___5.alloc = 0UL;
  msg___5.len = 0UL;
  msg___5.buf = strbuf_slopbuf;
  revisions.alloc = 0UL;
  revisions.len = 0UL;
  revisions.buf = strbuf_slopbuf;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  ignore_whitespace = 0;
  action = (enum action )0;
  gpg_sign = (char const   *)((void *)0);
  exec.items = (struct string_list_item *)0;
  exec.nr = 0U;
  exec.alloc = 0U;
  exec.strdup_strings = 0U;
  exec.cmp = (int (*)(char const   * , char const   * ))0;
  rebase_merges = (char const   *)((void *)0);
  strategy_options.items = (struct string_list_item *)0;
  strategy_options.nr = 0U;
  strategy_options.alloc = 0U;
  strategy_options.strdup_strings = 0U;
  strategy_options.cmp = (int (*)(char const   * , char const   * ))0;
  squash_onto_name = (char *)((void *)0);
  reschedule_failed_exec = -1;
  allow_preemptive_ff = 1;
  preserve_merges_selected = 0;
  builtin_rebase_options[0].type = (enum parse_opt_type )9;
  builtin_rebase_options[0].short_name = 0;
  builtin_rebase_options[0].long_name = (char const   *)"onto";
  builtin_rebase_options[0].value = (void *)(& options.onto_name);
  builtin_rebase_options[0].argh = (char const   *)"revision";
  builtin_rebase_options[0].help = (char const   *)"rebase onto given branch instead of upstream";
  builtin_rebase_options[0].flags = (enum parse_opt_option_flags )0;
  builtin_rebase_options[0].callback = (parse_opt_cb *)0;
  builtin_rebase_options[0].defval = 0L;
  builtin_rebase_options[0].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[0].extra = 0L;
  builtin_rebase_options[1].type = (enum parse_opt_type )8;
  builtin_rebase_options[1].short_name = 0;
  builtin_rebase_options[1].long_name = (char const   *)"keep-base";
  builtin_rebase_options[1].value = (void *)(& keep_base);
  builtin_rebase_options[1].argh = (char const   *)((void *)0);
  builtin_rebase_options[1].help = (char const   *)"use the merge-base of upstream and branch as the current base";
  builtin_rebase_options[1].flags = (enum parse_opt_option_flags )2;
  builtin_rebase_options[1].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[1].defval = (intptr_t )1;
  builtin_rebase_options[1].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[1].extra = 0L;
  builtin_rebase_options[2].type = (enum parse_opt_type )8;
  builtin_rebase_options[2].short_name = 0;
  builtin_rebase_options[2].long_name = (char const   *)"no-verify";
  builtin_rebase_options[2].value = (void *)(& ok_to_skip_pre_rebase);
  builtin_rebase_options[2].argh = (char const   *)((void *)0);
  builtin_rebase_options[2].help = (char const   *)"allow pre-rebase hook to run";
  builtin_rebase_options[2].flags = (enum parse_opt_option_flags )2;
  builtin_rebase_options[2].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[2].defval = (intptr_t )1;
  builtin_rebase_options[2].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[2].extra = 0L;
  builtin_rebase_options[3].type = (enum parse_opt_type )5;
  builtin_rebase_options[3].short_name = 'q';
  builtin_rebase_options[3].long_name = (char const   *)"quiet";
  builtin_rebase_options[3].value = (void *)(& options.flags);
  builtin_rebase_options[3].argh = (char const   *)((void *)0);
  builtin_rebase_options[3].help = (char const   *)"be quiet. implies --no-stat";
  builtin_rebase_options[3].flags = (enum parse_opt_option_flags )2;
  builtin_rebase_options[3].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[3].defval = (intptr_t )7;
  builtin_rebase_options[3].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[3].extra = 0L;
  builtin_rebase_options[4].type = (enum parse_opt_type )4;
  builtin_rebase_options[4].short_name = 'v';
  builtin_rebase_options[4].long_name = (char const   *)"verbose";
  builtin_rebase_options[4].value = (void *)(& options.flags);
  builtin_rebase_options[4].argh = (char const   *)((void *)0);
  builtin_rebase_options[4].help = (char const   *)"display a diffstat of what changed upstream";
  builtin_rebase_options[4].flags = (enum parse_opt_option_flags )2;
  builtin_rebase_options[4].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[4].defval = (intptr_t )7;
  builtin_rebase_options[4].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[4].extra = 0L;
  builtin_rebase_options[5].type = (enum parse_opt_type )5;
  builtin_rebase_options[5].short_name = 'n';
  builtin_rebase_options[5].long_name = (char const   *)"no-stat";
  builtin_rebase_options[5].value = (void *)(& options.flags);
  builtin_rebase_options[5].argh = (char const   *)((void *)0);
  builtin_rebase_options[5].help = (char const   *)"do not show diffstat of what changed upstream";
  builtin_rebase_options[5].flags = (enum parse_opt_option_flags )2;
  builtin_rebase_options[5].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[5].defval = (intptr_t )4;
  builtin_rebase_options[5].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[5].extra = 0L;
  builtin_rebase_options[6].type = (enum parse_opt_type )8;
  builtin_rebase_options[6].short_name = 0;
  builtin_rebase_options[6].long_name = (char const   *)"signoff";
  builtin_rebase_options[6].value = (void *)(& options.signoff);
  builtin_rebase_options[6].argh = (char const   *)((void *)0);
  builtin_rebase_options[6].help = (char const   *)"add a Signed-off-by trailer to each commit";
  builtin_rebase_options[6].flags = (enum parse_opt_option_flags )2;
  builtin_rebase_options[6].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[6].defval = (intptr_t )1;
  builtin_rebase_options[6].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[6].extra = 0L;
  builtin_rebase_options[7].type = (enum parse_opt_type )8;
  builtin_rebase_options[7].short_name = 0;
  builtin_rebase_options[7].long_name = (char const   *)"committer-date-is-author-date";
  builtin_rebase_options[7].value = (void *)(& options.committer_date_is_author_date);
  builtin_rebase_options[7].argh = (char const   *)((void *)0);
  builtin_rebase_options[7].help = (char const   *)"make committer date match author date";
  builtin_rebase_options[7].flags = (enum parse_opt_option_flags )2;
  builtin_rebase_options[7].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[7].defval = (intptr_t )1;
  builtin_rebase_options[7].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[7].extra = 0L;
  builtin_rebase_options[8].type = (enum parse_opt_type )8;
  builtin_rebase_options[8].short_name = 0;
  builtin_rebase_options[8].long_name = (char const   *)"reset-author-date";
  builtin_rebase_options[8].value = (void *)(& options.ignore_date);
  builtin_rebase_options[8].argh = (char const   *)((void *)0);
  builtin_rebase_options[8].help = (char const   *)"ignore author date and use current date";
  builtin_rebase_options[8].flags = (enum parse_opt_option_flags )2;
  builtin_rebase_options[8].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[8].defval = (intptr_t )1;
  builtin_rebase_options[8].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[8].extra = 0L;
  builtin_rebase_options[9].type = (enum parse_opt_type )8;
  builtin_rebase_options[9].short_name = 0;
  builtin_rebase_options[9].long_name = (char const   *)"ignore-date";
  builtin_rebase_options[9].value = (void *)(& options.ignore_date);
  builtin_rebase_options[9].argh = (char const   *)((void *)0);
  builtin_rebase_options[9].help = (char const   *)"synonym of --reset-author-date";
  builtin_rebase_options[9].flags = (enum parse_opt_option_flags )10;
  builtin_rebase_options[9].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[9].defval = (intptr_t )1;
  builtin_rebase_options[9].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[9].extra = 0L;
  builtin_rebase_options[10].type = (enum parse_opt_type )12;
  builtin_rebase_options[10].short_name = 'C';
  builtin_rebase_options[10].long_name = (char const   *)((void *)0);
  builtin_rebase_options[10].value = (void *)(& options.git_am_opts);
  builtin_rebase_options[10].argh = (char const   *)"n";
  builtin_rebase_options[10].help = (char const   *)"passed to \'git apply\'";
  builtin_rebase_options[10].flags = (enum parse_opt_option_flags )0;
  builtin_rebase_options[10].callback = & parse_opt_passthru_argv;
  builtin_rebase_options[10].defval = 0L;
  builtin_rebase_options[10].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[10].extra = 0L;
  builtin_rebase_options[11].type = (enum parse_opt_type )8;
  builtin_rebase_options[11].short_name = 0;
  builtin_rebase_options[11].long_name = (char const   *)"ignore-whitespace";
  builtin_rebase_options[11].value = (void *)(& ignore_whitespace);
  builtin_rebase_options[11].argh = (char const   *)((void *)0);
  builtin_rebase_options[11].help = (char const   *)"ignore changes in whitespace";
  builtin_rebase_options[11].flags = (enum parse_opt_option_flags )2;
  builtin_rebase_options[11].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[11].defval = (intptr_t )1;
  builtin_rebase_options[11].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[11].extra = 0L;
  builtin_rebase_options[12].type = (enum parse_opt_type )12;
  builtin_rebase_options[12].short_name = 0;
  builtin_rebase_options[12].long_name = (char const   *)"whitespace";
  builtin_rebase_options[12].value = (void *)(& options.git_am_opts);
  builtin_rebase_options[12].argh = (char const   *)"action";
  builtin_rebase_options[12].help = (char const   *)"passed to \'git apply\'";
  builtin_rebase_options[12].flags = (enum parse_opt_option_flags )0;
  builtin_rebase_options[12].callback = & parse_opt_passthru_argv;
  builtin_rebase_options[12].defval = 0L;
  builtin_rebase_options[12].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[12].extra = 0L;
  builtin_rebase_options[13].type = (enum parse_opt_type )4;
  builtin_rebase_options[13].short_name = 'f';
  builtin_rebase_options[13].long_name = (char const   *)"force-rebase";
  builtin_rebase_options[13].value = (void *)(& options.flags);
  builtin_rebase_options[13].argh = (char const   *)((void *)0);
  builtin_rebase_options[13].help = (char const   *)"cherry-pick all commits, even if unchanged";
  builtin_rebase_options[13].flags = (enum parse_opt_option_flags )2;
  builtin_rebase_options[13].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[13].defval = (intptr_t )8;
  builtin_rebase_options[13].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[13].extra = 0L;
  builtin_rebase_options[14].type = (enum parse_opt_type )4;
  builtin_rebase_options[14].short_name = 0;
  builtin_rebase_options[14].long_name = (char const   *)"no-ff";
  builtin_rebase_options[14].value = (void *)(& options.flags);
  builtin_rebase_options[14].argh = (char const   *)((void *)0);
  builtin_rebase_options[14].help = (char const   *)"cherry-pick all commits, even if unchanged";
  builtin_rebase_options[14].flags = (enum parse_opt_option_flags )2;
  builtin_rebase_options[14].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[14].defval = (intptr_t )8;
  builtin_rebase_options[14].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[14].extra = 0L;
  builtin_rebase_options[15].type = (enum parse_opt_type )8;
  builtin_rebase_options[15].short_name = 0;
  builtin_rebase_options[15].long_name = (char const   *)"continue";
  builtin_rebase_options[15].value = (void *)(& action);
  builtin_rebase_options[15].argh = (char const   *)((void *)0);
  builtin_rebase_options[15].help = (char const   *)"continue";
  builtin_rebase_options[15].flags = (enum parse_opt_option_flags )2054;
  builtin_rebase_options[15].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[15].defval = (intptr_t )1;
  builtin_rebase_options[15].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[15].extra = 0L;
  builtin_rebase_options[16].type = (enum parse_opt_type )8;
  builtin_rebase_options[16].short_name = 0;
  builtin_rebase_options[16].long_name = (char const   *)"skip";
  builtin_rebase_options[16].value = (void *)(& action);
  builtin_rebase_options[16].argh = (char const   *)((void *)0);
  builtin_rebase_options[16].help = (char const   *)"skip current patch and continue";
  builtin_rebase_options[16].flags = (enum parse_opt_option_flags )2054;
  builtin_rebase_options[16].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[16].defval = (intptr_t )2;
  builtin_rebase_options[16].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[16].extra = 0L;
  builtin_rebase_options[17].type = (enum parse_opt_type )8;
  builtin_rebase_options[17].short_name = 0;
  builtin_rebase_options[17].long_name = (char const   *)"abort";
  builtin_rebase_options[17].value = (void *)(& action);
  builtin_rebase_options[17].argh = (char const   *)((void *)0);
  builtin_rebase_options[17].help = (char const   *)"abort and check out the original branch";
  builtin_rebase_options[17].flags = (enum parse_opt_option_flags )2054;
  builtin_rebase_options[17].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[17].defval = (intptr_t )3;
  builtin_rebase_options[17].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[17].extra = 0L;
  builtin_rebase_options[18].type = (enum parse_opt_type )8;
  builtin_rebase_options[18].short_name = 0;
  builtin_rebase_options[18].long_name = (char const   *)"quit";
  builtin_rebase_options[18].value = (void *)(& action);
  builtin_rebase_options[18].argh = (char const   *)((void *)0);
  builtin_rebase_options[18].help = (char const   *)"abort but keep HEAD where it is";
  builtin_rebase_options[18].flags = (enum parse_opt_option_flags )2054;
  builtin_rebase_options[18].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[18].defval = (intptr_t )4;
  builtin_rebase_options[18].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[18].extra = 0L;
  builtin_rebase_options[19].type = (enum parse_opt_type )8;
  builtin_rebase_options[19].short_name = 0;
  builtin_rebase_options[19].long_name = (char const   *)"edit-todo";
  builtin_rebase_options[19].value = (void *)(& action);
  builtin_rebase_options[19].argh = (char const   *)((void *)0);
  builtin_rebase_options[19].help = (char const   *)"edit the todo list during an interactive rebase";
  builtin_rebase_options[19].flags = (enum parse_opt_option_flags )2054;
  builtin_rebase_options[19].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[19].defval = (intptr_t )5;
  builtin_rebase_options[19].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[19].extra = 0L;
  builtin_rebase_options[20].type = (enum parse_opt_type )8;
  builtin_rebase_options[20].short_name = 0;
  builtin_rebase_options[20].long_name = (char const   *)"show-current-patch";
  builtin_rebase_options[20].value = (void *)(& action);
  builtin_rebase_options[20].argh = (char const   *)((void *)0);
  builtin_rebase_options[20].help = (char const   *)"show the patch file being applied or merged";
  builtin_rebase_options[20].flags = (enum parse_opt_option_flags )2054;
  builtin_rebase_options[20].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[20].defval = (intptr_t )6;
  builtin_rebase_options[20].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[20].extra = 0L;
  builtin_rebase_options[21].type = (enum parse_opt_type )12;
  builtin_rebase_options[21].short_name = 0;
  builtin_rebase_options[21].long_name = (char const   *)"apply";
  builtin_rebase_options[21].value = (void *)(& options);
  builtin_rebase_options[21].argh = (char const   *)((void *)0);
  builtin_rebase_options[21].help = (char const   *)"use apply strategies to rebase";
  builtin_rebase_options[21].flags = (enum parse_opt_option_flags )6;
  builtin_rebase_options[21].callback = & parse_opt_am;
  builtin_rebase_options[21].defval = 0L;
  builtin_rebase_options[21].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[21].extra = 0L;
  builtin_rebase_options[22].type = (enum parse_opt_type )12;
  builtin_rebase_options[22].short_name = 'm';
  builtin_rebase_options[22].long_name = (char const   *)"merge";
  builtin_rebase_options[22].value = (void *)(& options);
  builtin_rebase_options[22].argh = (char const   *)((void *)0);
  builtin_rebase_options[22].help = (char const   *)"use merging strategies to rebase";
  builtin_rebase_options[22].flags = (enum parse_opt_option_flags )6;
  builtin_rebase_options[22].callback = & parse_opt_merge;
  builtin_rebase_options[22].defval = 0L;
  builtin_rebase_options[22].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[22].extra = 0L;
  builtin_rebase_options[23].type = (enum parse_opt_type )12;
  builtin_rebase_options[23].short_name = 'i';
  builtin_rebase_options[23].long_name = (char const   *)"interactive";
  builtin_rebase_options[23].value = (void *)(& options);
  builtin_rebase_options[23].argh = (char const   *)((void *)0);
  builtin_rebase_options[23].help = (char const   *)"let the user edit the list of commits to rebase";
  builtin_rebase_options[23].flags = (enum parse_opt_option_flags )6;
  builtin_rebase_options[23].callback = & parse_opt_interactive;
  builtin_rebase_options[23].defval = 0L;
  builtin_rebase_options[23].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[23].extra = 0L;
  builtin_rebase_options[24].type = (enum parse_opt_type )8;
  builtin_rebase_options[24].short_name = 'p';
  builtin_rebase_options[24].long_name = (char const   *)"preserve-merges";
  builtin_rebase_options[24].value = (void *)(& preserve_merges_selected);
  builtin_rebase_options[24].argh = (char const   *)((void *)0);
  builtin_rebase_options[24].help = (char const   *)"(DEPRECATED) try to recreate merges instead of ignoring them";
  builtin_rebase_options[24].flags = (enum parse_opt_option_flags )10;
  builtin_rebase_options[24].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[24].defval = (intptr_t )1;
  builtin_rebase_options[24].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[24].extra = 0L;
  builtin_rebase_options[25].type = (enum parse_opt_type )12;
  builtin_rebase_options[25].short_name = 0;
  builtin_rebase_options[25].long_name = (char const   *)"rerere-autoupdate";
  builtin_rebase_options[25].value = (void *)(& options.allow_rerere_autoupdate);
  builtin_rebase_options[25].argh = (char const   *)((void *)0);
  builtin_rebase_options[25].help = (char const   *)"update the index with reused conflict resolution if possible";
  builtin_rebase_options[25].flags = (enum parse_opt_option_flags )2;
  builtin_rebase_options[25].callback = & parse_opt_tertiary;
  builtin_rebase_options[25].defval = 0L;
  builtin_rebase_options[25].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[25].extra = 0L;
  builtin_rebase_options[26].type = (enum parse_opt_type )12;
  builtin_rebase_options[26].short_name = 0;
  builtin_rebase_options[26].long_name = (char const   *)"empty";
  builtin_rebase_options[26].value = (void *)(& options);
  builtin_rebase_options[26].argh = (char const   *)"{drop,keep,ask}";
  builtin_rebase_options[26].help = (char const   *)"how to handle commits that become empty";
  builtin_rebase_options[26].flags = (enum parse_opt_option_flags )4;
  builtin_rebase_options[26].callback = & parse_opt_empty;
  builtin_rebase_options[26].defval = 0L;
  builtin_rebase_options[26].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[26].extra = 0L;
  builtin_rebase_options[27].type = (enum parse_opt_type )12;
  builtin_rebase_options[27].short_name = 'k';
  builtin_rebase_options[27].long_name = (char const   *)"keep-empty";
  builtin_rebase_options[27].value = (void *)(& options);
  builtin_rebase_options[27].argh = (char const   *)((void *)0);
  builtin_rebase_options[27].help = (char const   *)"keep commits which start empty";
  builtin_rebase_options[27].flags = (enum parse_opt_option_flags )10;
  builtin_rebase_options[27].callback = & parse_opt_keep_empty;
  builtin_rebase_options[27].defval = 0L;
  builtin_rebase_options[27].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[27].extra = 0L;
  builtin_rebase_options[28].type = (enum parse_opt_type )8;
  builtin_rebase_options[28].short_name = 0;
  builtin_rebase_options[28].long_name = (char const   *)"autosquash";
  builtin_rebase_options[28].value = (void *)(& options.autosquash);
  builtin_rebase_options[28].argh = (char const   *)((void *)0);
  builtin_rebase_options[28].help = (char const   *)"move commits that begin with squash!/fixup! under -i";
  builtin_rebase_options[28].flags = (enum parse_opt_option_flags )2;
  builtin_rebase_options[28].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[28].defval = (intptr_t )1;
  builtin_rebase_options[28].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[28].extra = 0L;
  builtin_rebase_options[29].type = (enum parse_opt_type )9;
  builtin_rebase_options[29].short_name = 'S';
  builtin_rebase_options[29].long_name = (char const   *)"gpg-sign";
  builtin_rebase_options[29].value = (void *)(& gpg_sign);
  builtin_rebase_options[29].argh = (char const   *)"key-id";
  builtin_rebase_options[29].help = (char const   *)"GPG-sign commits";
  builtin_rebase_options[29].flags = (enum parse_opt_option_flags )1;
  builtin_rebase_options[29].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[29].defval = (intptr_t )"";
  builtin_rebase_options[29].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[29].extra = 0L;
  builtin_rebase_options[30].type = (enum parse_opt_type )8;
  builtin_rebase_options[30].short_name = 0;
  builtin_rebase_options[30].long_name = (char const   *)"autostash";
  builtin_rebase_options[30].value = (void *)(& options.autostash);
  builtin_rebase_options[30].argh = (char const   *)((void *)0);
  builtin_rebase_options[30].help = (char const   *)"automatically stash/stash pop before and after";
  builtin_rebase_options[30].flags = (enum parse_opt_option_flags )2;
  builtin_rebase_options[30].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[30].defval = (intptr_t )1;
  builtin_rebase_options[30].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[30].extra = 0L;
  builtin_rebase_options[31].type = (enum parse_opt_type )12;
  builtin_rebase_options[31].short_name = 'x';
  builtin_rebase_options[31].long_name = (char const   *)"exec";
  builtin_rebase_options[31].value = (void *)(& exec);
  builtin_rebase_options[31].argh = (char const   *)"exec";
  builtin_rebase_options[31].help = (char const   *)"add exec lines after each commit of the editable list";
  builtin_rebase_options[31].flags = (enum parse_opt_option_flags )0;
  builtin_rebase_options[31].callback = & parse_opt_string_list;
  builtin_rebase_options[31].defval = 0L;
  builtin_rebase_options[31].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[31].extra = 0L;
  builtin_rebase_options[32].type = (enum parse_opt_type )8;
  builtin_rebase_options[32].short_name = 0;
  builtin_rebase_options[32].long_name = (char const   *)"allow-empty-message";
  builtin_rebase_options[32].value = (void *)(& options.allow_empty_message);
  builtin_rebase_options[32].argh = (char const   *)((void *)0);
  builtin_rebase_options[32].help = (char const   *)"allow rebasing commits with empty messages";
  builtin_rebase_options[32].flags = (enum parse_opt_option_flags )10;
  builtin_rebase_options[32].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[32].defval = (intptr_t )1;
  builtin_rebase_options[32].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[32].extra = 0L;
  builtin_rebase_options[33].type = (enum parse_opt_type )9;
  builtin_rebase_options[33].short_name = 'r';
  builtin_rebase_options[33].long_name = (char const   *)"rebase-merges";
  builtin_rebase_options[33].value = (void *)(& rebase_merges);
  builtin_rebase_options[33].argh = (char const   *)"mode";
  builtin_rebase_options[33].help = (char const   *)"try to rebase merges instead of skipping them";
  builtin_rebase_options[33].flags = (enum parse_opt_option_flags )1;
  builtin_rebase_options[33].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[33].defval = (intptr_t )"";
  builtin_rebase_options[33].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[33].extra = 0L;
  builtin_rebase_options[34].type = (enum parse_opt_type )8;
  builtin_rebase_options[34].short_name = 0;
  builtin_rebase_options[34].long_name = (char const   *)"fork-point";
  builtin_rebase_options[34].value = (void *)(& options.fork_point);
  builtin_rebase_options[34].argh = (char const   *)((void *)0);
  builtin_rebase_options[34].help = (char const   *)"use \'merge-base --fork-point\' to refine upstream";
  builtin_rebase_options[34].flags = (enum parse_opt_option_flags )2;
  builtin_rebase_options[34].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[34].defval = (intptr_t )1;
  builtin_rebase_options[34].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[34].extra = 0L;
  builtin_rebase_options[35].type = (enum parse_opt_type )9;
  builtin_rebase_options[35].short_name = 's';
  builtin_rebase_options[35].long_name = (char const   *)"strategy";
  builtin_rebase_options[35].value = (void *)(& options.strategy);
  builtin_rebase_options[35].argh = (char const   *)"strategy";
  builtin_rebase_options[35].help = (char const   *)"use the given merge strategy";
  builtin_rebase_options[35].flags = (enum parse_opt_option_flags )0;
  builtin_rebase_options[35].callback = (parse_opt_cb *)0;
  builtin_rebase_options[35].defval = 0L;
  builtin_rebase_options[35].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[35].extra = 0L;
  builtin_rebase_options[36].type = (enum parse_opt_type )12;
  builtin_rebase_options[36].short_name = 'X';
  builtin_rebase_options[36].long_name = (char const   *)"strategy-option";
  builtin_rebase_options[36].value = (void *)(& strategy_options);
  builtin_rebase_options[36].argh = (char const   *)"option";
  builtin_rebase_options[36].help = (char const   *)"pass the argument through to the merge strategy";
  builtin_rebase_options[36].flags = (enum parse_opt_option_flags )0;
  builtin_rebase_options[36].callback = & parse_opt_string_list;
  builtin_rebase_options[36].defval = 0L;
  builtin_rebase_options[36].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[36].extra = 0L;
  builtin_rebase_options[37].type = (enum parse_opt_type )8;
  builtin_rebase_options[37].short_name = 0;
  builtin_rebase_options[37].long_name = (char const   *)"root";
  builtin_rebase_options[37].value = (void *)(& options.root);
  builtin_rebase_options[37].argh = (char const   *)((void *)0);
  builtin_rebase_options[37].help = (char const   *)"rebase all reachable commits up to the root(s)";
  builtin_rebase_options[37].flags = (enum parse_opt_option_flags )2;
  builtin_rebase_options[37].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[37].defval = (intptr_t )1;
  builtin_rebase_options[37].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[37].extra = 0L;
  builtin_rebase_options[38].type = (enum parse_opt_type )8;
  builtin_rebase_options[38].short_name = 0;
  builtin_rebase_options[38].long_name = (char const   *)"reschedule-failed-exec";
  builtin_rebase_options[38].value = (void *)(& reschedule_failed_exec);
  builtin_rebase_options[38].argh = (char const   *)((void *)0);
  builtin_rebase_options[38].help = (char const   *)"automatically re-schedule any `exec` that fails";
  builtin_rebase_options[38].flags = (enum parse_opt_option_flags )2;
  builtin_rebase_options[38].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[38].defval = (intptr_t )1;
  builtin_rebase_options[38].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[38].extra = 0L;
  builtin_rebase_options[39].type = (enum parse_opt_type )8;
  builtin_rebase_options[39].short_name = 0;
  builtin_rebase_options[39].long_name = (char const   *)"reapply-cherry-picks";
  builtin_rebase_options[39].value = (void *)(& options.reapply_cherry_picks);
  builtin_rebase_options[39].argh = (char const   *)((void *)0);
  builtin_rebase_options[39].help = (char const   *)"apply all changes, even those already present upstream";
  builtin_rebase_options[39].flags = (enum parse_opt_option_flags )2;
  builtin_rebase_options[39].callback = (parse_opt_cb *)((void *)0);
  builtin_rebase_options[39].defval = (intptr_t )1;
  builtin_rebase_options[39].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[39].extra = 0L;
  builtin_rebase_options[40].type = (enum parse_opt_type )0;
  builtin_rebase_options[40].short_name = 0;
  builtin_rebase_options[40].long_name = (char const   *)0;
  builtin_rebase_options[40].value = (void *)0;
  builtin_rebase_options[40].argh = (char const   *)0;
  builtin_rebase_options[40].help = (char const   *)0;
  builtin_rebase_options[40].flags = 0U;
  builtin_rebase_options[40].callback = (parse_opt_cb *)0;
  builtin_rebase_options[40].defval = 0L;
  builtin_rebase_options[40].ll_callback = (parse_opt_ll_cb *)0;
  builtin_rebase_options[40].extra = 0L;
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage_with_options(builtin_rebase_usage, (struct option  const  *)(builtin_rebase_options));
    }
  }
  prepare_repo_settings(the_repository);
  the_repository->settings.command_requires_full_index = 0;
  options.allow_empty_message = 1;
  git_config(& rebase_config, (void *)(& options));
  if (options.gpg_sign_opt) {
    gpg_sign = (char const   *)"";
  } else {
    gpg_sign = (char const   *)((void *)0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)options.gpg_sign_opt);
    options.gpg_sign_opt = (char *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_setlen___33(& buf___19, (size_t )0);
  tmp___0 = apply_dir();
  strbuf_addf(& buf___19, (char const   *)"%s/applying", tmp___0);
  tmp___2 = file_exists((char const   *)buf___19.buf);
  if (tmp___2) {
    tmp___1 = _((char const   *)"It looks like \'git am\' is in progress. Cannot rebase.");
    die((char const   *)tmp___1);
  }
  tmp___9 = apply_dir();
  tmp___10 = is_directory(tmp___9);
  if (tmp___10) {
    options.type = (int )0;
    options.state_dir = apply_dir();
  } else {
    tmp___7 = merge_dir();
    tmp___8 = is_directory(tmp___7);
    if (tmp___8) {
      strbuf_setlen___33(& buf___19, (size_t )0);
      tmp___3 = merge_dir();
      strbuf_addf(& buf___19, (char const   *)"%s/rewritten", tmp___3);
      tmp___6 = is_directory((char const   *)buf___19.buf);
      if (tmp___6) {
        die((char const   *)"`rebase -p` is no longer supported");
      } else {
        strbuf_setlen___33(& buf___19, (size_t )0);
        tmp___4 = merge_dir();
        strbuf_addf(& buf___19, (char const   *)"%s/interactive", tmp___4);
        tmp___5 = file_exists((char const   *)buf___19.buf);
        if (tmp___5) {
          options.type = (int )1;
          options.flags = (enum __anonenum_flags_10977374 )((unsigned int )options.flags | 16U);
        } else {
          options.type = (int )1;
        }
      }
      options.state_dir = merge_dir();
    }
  }
  if ((int )options.type != -1) {
    in_progress = 1;
  }
  total_argc = argc;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(builtin_rebase_options),
                       builtin_rebase_usage, (enum parse_opt_flags )0);
  if (preserve_merges_selected) {
    tmp___11 = _((char const   *)"--preserve-merges was replaced by --rebase-merges");
    die((char const   *)tmp___11);
  }
  if ((unsigned int )action != 0U) {
    if (total_argc != 2) {
      usage_with_options(builtin_rebase_usage, (struct option  const  *)(builtin_rebase_options));
    }
  }
  if (argc > 2) {
    usage_with_options(builtin_rebase_usage, (struct option  const  *)(builtin_rebase_options));
  }
  if (keep_base) {
    if (options.onto_name) {
      tmp___12 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___12, "--keep-base", "--onto");
    }
    if (options.root) {
      tmp___13 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___13, "--keep-base", "--root");
    }
  }
  if (options.root) {
    if (options.fork_point > 0) {
      tmp___14 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___14, "--root", "--fork-point");
    }
  }
  if ((unsigned int )action != 0U) {
    if (! in_progress) {
      tmp___15 = _((char const   *)"No rebase in progress?");
      die((char const   *)tmp___15);
    }
  }
  setenv((char const   *)"GIT_REFLOG_ACTION", (char const   *)"rebase", 0);
  if ((unsigned int )action == 5U) {
    tmp___17 = is_merge(& options);
    if (! tmp___17) {
      tmp___16 = _((char const   *)"The --edit-todo action can only be used during interactive rebase.");
      die((char const   *)tmp___16);
    }
  }
  tmp___19 = trace2_is_enabled();
  if (tmp___19) {
    tmp___18 = is_merge(& options);
    if (tmp___18) {
      trace2_cmd_mode_fl((char const   *)"builtin/rebase.c", 1211, (char const   *)"interactive");
    } else
    if (exec.nr) {
      trace2_cmd_mode_fl((char const   *)"builtin/rebase.c", 1213, (char const   *)"interactive-exec");
    } else {
      trace2_cmd_mode_fl((char const   *)"builtin/rebase.c", 1215, action_names[action]);
    }
  }
  {
  if ((unsigned int )action == 1U) {
    goto case_1;
  }
  if ((unsigned int )action == 2U) {
    goto case_2;
  }
  if ((unsigned int )action == 3U) {
    goto case_3;
  }
  if ((unsigned int )action == 4U) {
    goto case_4;
  }
  if ((unsigned int )action == 5U) {
    goto case_5;
  }
  if ((unsigned int )action == 6U) {
    goto case_6;
  }
  if ((unsigned int )action == 0U) {
    goto case_0;
  }
  goto switch_default;
  case_1: /* CIL Label */
  lock_file___0.tempfile = (struct tempfile *)0;
  options.action = (char const   *)"continue";
  set_reflog_action(& options);
  tmp___21 = repo_get_oid(the_repository, (char const   *)"HEAD", & head___1);
  if (tmp___21) {
    tmp___20 = _((char const   *)"Cannot read HEAD");
    die((char const   *)tmp___20);
  }
  fd = repo_hold_locked_index(the_repository, & lock_file___0, 0);
  tmp___23 = repo_read_index(the_repository);
  if (tmp___23 < 0) {
    tmp___22 = _((char const   *)"could not read index");
    die((char const   *)tmp___22);
  }
  refresh_index(the_repository->index, (unsigned int )(1 << 2), (struct pathspec  const  *)((void *)0),
                (char *)((void *)0), (char const   *)((void *)0));
  if (0 <= fd) {
    repo_update_index_if_able(the_repository, & lock_file___0);
  }
  rollback_lock_file(& lock_file___0);
  tmp___26 = has_unstaged_changes(the_repository, 1);
  if (tmp___26) {
    tmp___24 = _((char const   *)"You must edit all merge conflicts and then\nmark them as resolved using git add");
    puts((char const   *)tmp___24);
    tmp___25 = trace2_cmd_exit_fl((char const   *)"builtin/rebase.c", 1243, 1);
    exit(tmp___25);
  }
  tmp___28 = read_basic_state(& options);
  if (tmp___28) {
    tmp___27 = trace2_cmd_exit_fl((char const   *)"builtin/rebase.c", 1246, 1);
    exit(tmp___27);
  }
  goto run_rebase;
  case_2: /* CIL Label */
  merge_rr.items = (struct string_list_item *)0;
  merge_rr.nr = 0U;
  merge_rr.alloc = 0U;
  merge_rr.strdup_strings = 1U;
  merge_rr.cmp = (int (*)(char const   * , char const   * ))0;
  options.action = (char const   *)"skip";
  set_reflog_action(& options);
  rerere_clear(the_repository, & merge_rr);
  string_list_clear(& merge_rr, 1);
  tmp___30 = reset_head(the_repository, (struct object_id *)((void *)0), (char const   *)"reset",
                        (char const   *)((void *)0), (unsigned int )(1 << 1), (char const   *)((void *)0),
                        (char const   *)((void *)0), (char const   *)"rebase");
  if (tmp___30 < 0) {
    tmp___29 = _((char const   *)"could not discard worktree changes");
    die((char const   *)tmp___29);
  }
  remove_branch_state(the_repository, 0);
  tmp___32 = read_basic_state(& options);
  if (tmp___32) {
    tmp___31 = trace2_cmd_exit_fl((char const   *)"builtin/rebase.c", 1263, 1);
    exit(tmp___31);
  }
  goto run_rebase;
  case_3: /* CIL Label */
  merge_rr___0.items = (struct string_list_item *)0;
  merge_rr___0.nr = 0U;
  merge_rr___0.alloc = 0U;
  merge_rr___0.strdup_strings = 1U;
  merge_rr___0.cmp = (int (*)(char const   * , char const   * ))0;
  options.action = (char const   *)"abort";
  set_reflog_action(& options);
  rerere_clear(the_repository, & merge_rr___0);
  string_list_clear(& merge_rr___0, 1);
  tmp___34 = read_basic_state(& options);
  if (tmp___34) {
    tmp___33 = trace2_cmd_exit_fl((char const   *)"builtin/rebase.c", 1275, 1);
    exit(tmp___33);
  }
  tmp___37 = reset_head(the_repository, & options.orig_head, (char const   *)"reset",
                        (char const   *)options.head_name, (unsigned int )(1 << 1),
                        (char const   *)((void *)0), (char const   *)((void *)0),
                        (char const   *)"rebase");
  if (tmp___37 < 0) {
    tmp___35 = oid_to_hex((struct object_id  const  *)(& options.orig_head));
    tmp___36 = _((char const   *)"could not move back to %s");
    die((char const   *)tmp___36, tmp___35);
  }
  remove_branch_state(the_repository, 0);
  ret___67 = finish_rebase(& options);
  goto cleanup;
  case_4: /* CIL Label */
  tmp___38 = state_dir_path((char const   *)"autostash", & options);
  save_autostash(tmp___38);
  if ((int )options.type == 1) {
    replay.action = (enum replay_action )-1;
    replay.edit = -1;
    replay.record_origin = 0;
    replay.no_commit = 0;
    replay.signoff = 0;
    replay.allow_ff = 0;
    replay.allow_rerere_auto = 0;
    replay.allow_empty = 0;
    replay.allow_empty_message = 0;
    replay.drop_redundant_commits = 0;
    replay.keep_redundant_commits = 0;
    replay.verbose = 0;
    replay.quiet = 0;
    replay.reschedule_failed_exec = 0;
    replay.committer_date_is_author_date = 0;
    replay.ignore_date = 0;
    replay.mainline = 0;
    replay.gpg_sign = (char *)0;
    replay.default_msg_cleanup = 0U;
    replay.explicit_cleanup = 0;
    replay.default_strategy = (char *)0;
    replay.strategy = (char *)0;
    replay.xopts = (char **)0;
    replay.xopts_nr = 0UL;
    replay.xopts_alloc = 0UL;
    replay.current_fixups.alloc = 0UL;
    replay.current_fixups.len = 0UL;
    replay.current_fixups.buf = strbuf_slopbuf;
    replay.current_fixup_count = 0;
    replay.squash_onto.hash[0] = (unsigned char)0;
    replay.squash_onto.hash[1] = (unsigned char)0;
    replay.squash_onto.hash[2] = (unsigned char)0;
    replay.squash_onto.hash[3] = (unsigned char)0;
    replay.squash_onto.hash[4] = (unsigned char)0;
    replay.squash_onto.hash[5] = (unsigned char)0;
    replay.squash_onto.hash[6] = (unsigned char)0;
    replay.squash_onto.hash[7] = (unsigned char)0;
    replay.squash_onto.hash[8] = (unsigned char)0;
    replay.squash_onto.hash[9] = (unsigned char)0;
    replay.squash_onto.hash[10] = (unsigned char)0;
    replay.squash_onto.hash[11] = (unsigned char)0;
    replay.squash_onto.hash[12] = (unsigned char)0;
    replay.squash_onto.hash[13] = (unsigned char)0;
    replay.squash_onto.hash[14] = (unsigned char)0;
    replay.squash_onto.hash[15] = (unsigned char)0;
    replay.squash_onto.hash[16] = (unsigned char)0;
    replay.squash_onto.hash[17] = (unsigned char)0;
    replay.squash_onto.hash[18] = (unsigned char)0;
    replay.squash_onto.hash[19] = (unsigned char)0;
    replay.squash_onto.hash[20] = (unsigned char)0;
    replay.squash_onto.hash[21] = (unsigned char)0;
    replay.squash_onto.hash[22] = (unsigned char)0;
    replay.squash_onto.hash[23] = (unsigned char)0;
    replay.squash_onto.hash[24] = (unsigned char)0;
    replay.squash_onto.hash[25] = (unsigned char)0;
    replay.squash_onto.hash[26] = (unsigned char)0;
    replay.squash_onto.hash[27] = (unsigned char)0;
    replay.squash_onto.hash[28] = (unsigned char)0;
    replay.squash_onto.hash[29] = (unsigned char)0;
    replay.squash_onto.hash[30] = (unsigned char)0;
    replay.squash_onto.hash[31] = (unsigned char)0;
    replay.squash_onto.algo = 0;
    replay.have_squash_onto = 0;
    replay.revs = (struct rev_info *)0;
    replay.action = (enum replay_action )2;
    ret___67 = sequencer_remove_state(& replay);
  } else {
    strbuf_setlen___33(& buf___19, (size_t )0);
    strbuf_addstr(& buf___19, options.state_dir);
    ret___67 = remove_dir_recursively(& buf___19, 0);
    if (ret___67) {
      tmp___39 = _((char const   *)"could not remove \'%s\'");
      error((char const   *)tmp___39, options.state_dir);
      const_error();
    }
  }
  goto cleanup;
  case_5: /* CIL Label */
  options.action = (char const   *)"edit-todo";
  options.dont_finish_rebase = 1;
  goto run_rebase;
  case_6: /* CIL Label */
  options.action = (char const   *)"show-current-patch";
  options.dont_finish_rebase = 1;
  goto run_rebase;
  case_0: /* CIL Label */
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"builtin/rebase.c", 1313, (char const   *)"action: %d", (unsigned int )action);
  switch_break: /* CIL Label */ ;
  }
  if (in_progress) {
    tmp___40 = strrchr(options.state_dir, '/');
    last_slash = (char const   *)tmp___40;
    if (last_slash) {
      tmp___41 = last_slash + 1;
    } else {
      tmp___41 = options.state_dir;
    }
    state_dir_base = tmp___41;
    cmd_live_rebase = (char const   *)"git rebase (--continue | --abort | --skip)";
    strbuf_setlen___33(& buf___19, (size_t )0);
    strbuf_addf(& buf___19, (char const   *)"rm -fr \"%s\"", options.state_dir);
    tmp___42 = _((char const   *)"It seems that there is already a %s directory, and\nI wonder if you are in the middle of another rebase.  If that is the\ncase, please try\n\t%s\nIf that is not the case, please\n\t%s\nand run me again.  I am stopping in case you still have something\nvaluable there.\n");
    die((char const   *)tmp___42, state_dir_base, cmd_live_rebase, buf___19.buf);
  }
  if ((unsigned int )options.flags & 16U) {
    allow_preemptive_ff = 0;
  } else
  if ((unsigned int )action != 0U) {
    allow_preemptive_ff = 0;
  } else
  if (exec.nr > 0U) {
    allow_preemptive_ff = 0;
  } else
  if (options.autosquash) {
    allow_preemptive_ff = 0;
  }
  if (options.committer_date_is_author_date) {
    options.flags = (enum __anonenum_flags_10977374 )((unsigned int )options.flags | 8U);
  } else
  if (options.ignore_date) {
    options.flags = (enum __anonenum_flags_10977374 )((unsigned int )options.flags | 8U);
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((size_t )i < options.git_am_opts.nr)) {
      goto while_break___0;
    }
    option = *(options.git_am_opts.v + i);
    tmp___51 = strcmp(option, (char const   *)"--whitespace=fix");
    if (tmp___51) {
      tmp___52 = strcmp(option, (char const   *)"--whitespace=strip");
      if (tmp___52) {
        tmp___50 = skip_prefix(option, (char const   *)"-C", & p___0);
        if (tmp___50) {
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! *p___0) {
              goto while_break___1;
            }
            tmp___44 = p___0;
            p___0 ++;
            if (! (((int const   )sane_ctype[(unsigned char )*tmp___44] & 2) != 0)) {
              tmp___43 = _((char const   *)"switch `C\' expects a numerical value");
              die((char const   *)tmp___43);
            }
          }
          while_break___1: /* CIL Label */ ;
          }
        } else {
          tmp___49 = skip_prefix(option, (char const   *)"--whitespace=", & p___0);
          if (tmp___49) {
            if (*p___0) {
              tmp___45 = strcmp(p___0, (char const   *)"warn");
              if (tmp___45) {
                tmp___46 = strcmp(p___0, (char const   *)"nowarn");
                if (tmp___46) {
                  tmp___47 = strcmp(p___0, (char const   *)"error");
                  if (tmp___47) {
                    tmp___48 = strcmp(p___0, (char const   *)"error-all");
                    if (tmp___48) {
                      die((char const   *)"Invalid whitespace option: \'%s\'", p___0);
                    }
                  }
                }
              }
            }
          }
        }
      } else {
        allow_preemptive_ff = 0;
      }
    } else {
      allow_preemptive_ff = 0;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((unsigned int )i < exec.nr)) {
      goto while_break___2;
    }
    tmp___54 = check_exec_cmd((char const   *)(exec.items + i)->string);
    if (tmp___54) {
      tmp___53 = trace2_cmd_exit_fl((char const   *)"builtin/rebase.c", 1364, 1);
      exit(tmp___53);
    }
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  if (! ((unsigned int )options.flags & 1U)) {
    strvec_push(& options.git_am_opts, (char const   *)"-q");
  }
  if ((int )options.empty != -1) {
    imply_merge(& options, (char const   *)"--empty");
  }
  if (options.reapply_cherry_picks) {
    imply_merge(& options, (char const   *)"--reapply-cherry-picks");
  }
  if (gpg_sign) {
    options.gpg_sign_opt = xstrfmt((char const   *)"-S%s", gpg_sign);
  }
  if (exec.nr) {
    imply_merge(& options, (char const   *)"--exec");
    strbuf_setlen___33(& buf___19, (size_t )0);
    i___0 = 0;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! ((unsigned int )i___0 < exec.nr)) {
        goto while_break___3;
      }
      strbuf_addf(& buf___19, (char const   *)"exec %s\n", (exec.items + i___0)->string);
      i___0 ++;
    }
    while_break___3: /* CIL Label */ ;
    }
    options.cmd = xstrdup((char const   *)buf___19.buf);
  }
  if (rebase_merges) {
    if (! (! *rebase_merges)) {
      tmp___57 = strcmp((char const   *)"rebase-cousins", rebase_merges);
      if (tmp___57) {
        tmp___56 = strcmp((char const   *)"no-rebase-cousins", rebase_merges);
        if (tmp___56) {
          tmp___55 = _((char const   *)"Unknown mode: %s");
          die((char const   *)tmp___55, rebase_merges);
        }
      } else {
        options.rebase_cousins = 1;
      }
    }
    options.rebase_merges = 1;
    imply_merge(& options, (char const   *)"--rebase-merges");
  }
  if ((int )options.type == 0) {
    if (ignore_whitespace) {
      strvec_push(& options.git_am_opts, (char const   *)"--ignore-whitespace");
    }
    if (options.committer_date_is_author_date) {
      strvec_push(& options.git_am_opts, (char const   *)"--committer-date-is-author-date");
    }
    if (options.ignore_date) {
      strvec_push(& options.git_am_opts, (char const   *)"--ignore-date");
    }
  } else
  if (ignore_whitespace) {
    string_list_append(& strategy_options, (char const   *)"ignore-space-change");
  }
  if (strategy_options.nr) {
    if (! options.strategy) {
      options.strategy = "ort";
    }
    strbuf_setlen___33(& buf___19, (size_t )0);
    i___1 = 0;
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (! ((unsigned int )i___1 < strategy_options.nr)) {
        goto while_break___4;
      }
      strbuf_addf(& buf___19, (char const   *)" --%s", (strategy_options.items + i___1)->string);
      i___1 ++;
    }
    while_break___4: /* CIL Label */ ;
    }
    options.strategy_opts = xstrdup((char const   *)buf___19.buf);
  }
  if (options.strategy) {
    options.strategy = xstrdup((char const   *)options.strategy);
    {
    if ((int )options.type == 0) {
      goto case_0___0;
    }
    if ((int )options.type == 1) {
      goto case_1___0;
    }
    if ((int )options.type == -1) {
      goto case_neg_1;
    }
    goto switch_default___0;
    case_0___0: /* CIL Label */
    tmp___58 = _((char const   *)"--strategy requires --merge or --interactive");
    die((char const   *)tmp___58);
    case_1___0: /* CIL Label */
    goto switch_break___0;
    case_neg_1: /* CIL Label */
    options.type = (int )1;
    goto switch_break___0;
    switch_default___0: /* CIL Label */
    BUG_fl((char const   *)"builtin/rebase.c", 1442, (char const   *)"unhandled rebase type (%d)",
           (int )options.type);
    switch_break___0: /* CIL Label */ ;
    }
  }
  if ((int )options.type == 1) {
    imply_merge(& options, (char const   *)"--merge");
  }
  if (options.root) {
    if (! options.onto_name) {
      imply_merge(& options, (char const   *)"--root without --onto");
    }
  }
  tmp___59 = isatty(2);
  if (tmp___59) {
    if ((unsigned int )options.flags & 1U) {
      strbuf_addstr(& options.git_format_patch_opt, (char const   *)" --progress");
    }
  }
  if (options.git_am_opts.nr) {
    goto _L;
  } else
  if ((int )options.type == 0) {
    _L: /* CIL Label */
    i = (int )(options.git_am_opts.nr - 1UL);
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      if (! (i >= 0)) {
        goto while_break___5;
      }
      tmp___60 = strcmp(*(options.git_am_opts.v + i), (char const   *)"-q");
      if (tmp___60) {
        goto while_break___5;
      }
      i --;
    }
    while_break___5: /* CIL Label */ ;
    }
    if (i >= 0) {
      tmp___62 = is_merge(& options);
      if (tmp___62) {
        tmp___61 = _((char const   *)"apply options and merge options cannot be used together");
        die((char const   *)tmp___61);
      } else {
        options.type = (int )0;
      }
    }
  }
  if ((int )options.type == -1) {
    tmp___65 = strcmp(options.default_backend, (char const   *)"merge");
    if (tmp___65) {
      tmp___64 = strcmp(options.default_backend, (char const   *)"apply");
      if (tmp___64) {
        tmp___63 = _((char const   *)"Unknown rebase backend: %s");
        die((char const   *)tmp___63, options.default_backend);
      } else {
        options.type = (int )0;
      }
    } else {
      imply_merge(& options, (char const   *)"--merge");
    }
  }
  if ((int )options.type == 1) {
    if (! options.strategy) {
      tmp___67 = getenv((char const   *)"GIT_TEST_MERGE_ALGORITHM");
      if (tmp___67) {
        tmp___66 = getenv((char const   *)"GIT_TEST_MERGE_ALGORITHM");
        options.strategy = xstrdup((char const   *)tmp___66);
      }
    }
  }
  {
  if ((int )options.type == 1) {
    goto case_1___1;
  }
  if ((int )options.type == 0) {
    goto case_0___1;
  }
  goto switch_default___1;
  case_1___1: /* CIL Label */
  options.state_dir = merge_dir();
  goto switch_break___1;
  case_0___1: /* CIL Label */
  options.state_dir = apply_dir();
  goto switch_break___1;
  switch_default___1: /* CIL Label */
  BUG_fl((char const   *)"builtin/rebase.c", 1493, (char const   *)"options.type was just set above; should be unreachable.");
  switch_break___1: /* CIL Label */ ;
  }
  if ((int )options.empty == -1) {
    if ((unsigned int )options.flags & 16U) {
      options.empty = (enum empty_type )2;
    } else
    if (exec.nr > 0U) {
      options.empty = (enum empty_type )1;
    } else {
      options.empty = (enum empty_type )0;
    }
  }
  if (reschedule_failed_exec > 0) {
    tmp___69 = is_merge(& options);
    if (! tmp___69) {
      tmp___68 = _((char const   *)"--reschedule-failed-exec requires --exec or --interactive");
      die((char const   *)tmp___68);
    }
  }
  if (reschedule_failed_exec >= 0) {
    options.reschedule_failed_exec = reschedule_failed_exec;
  }
  if (options.signoff) {
    strvec_push(& options.git_am_opts, (char const   *)"--signoff");
    options.flags = (enum __anonenum_flags_10977374 )((unsigned int )options.flags | 8U);
  }
  if (! options.root) {
    if (argc < 1) {
      branch___0 = branch_get((char const   *)((void *)0));
      options.upstream_name = branch_get_upstream(branch___0, (struct strbuf *)((void *)0));
      if (! options.upstream_name) {
        error_on_missing_default_upstream();
      }
      if (options.fork_point < 0) {
        options.fork_point = 1;
      }
    } else {
      options.upstream_name = *(argv___0 + 0);
      argc --;
      argv___0 ++;
      tmp___70 = strcmp(options.upstream_name, (char const   *)"-");
      if (! tmp___70) {
        options.upstream_name = (char const   *)"@{-1}";
      }
    }
    options.upstream = lookup_commit_reference_by_name(options.upstream_name);
    if (! options.upstream) {
      tmp___71 = _((char const   *)"invalid upstream \'%s\'");
      die((char const   *)tmp___71, options.upstream_name);
    }
    options.upstream_arg = options.upstream_name;
  } else {
    if (! options.onto_name) {
      tmp___73 = commit_tree((char const   *)"", (size_t )0, (struct object_id  const  *)(the_repository->hash_algo)->empty_tree,
                             (struct commit_list *)((void *)0), & squash_onto, (char const   *)((void *)0),
                             (char const   *)((void *)0));
      if (tmp___73 < 0) {
        tmp___72 = _((char const   *)"Could not create new root commit");
        die((char const   *)tmp___72);
      }
      options.squash_onto = & squash_onto;
      tmp___74 = oid_to_hex((struct object_id  const  *)(& squash_onto));
      squash_onto_name = xstrdup((char const   *)tmp___74);
      options.onto_name = (char const   *)squash_onto_name;
    } else {
      options.root_with_onto = 1;
    }
    options.upstream_name = (char const   *)((void *)0);
    options.upstream = (struct commit *)((void *)0);
    if (argc > 1) {
      usage_with_options(builtin_rebase_usage, (struct option  const  *)(builtin_rebase_options));
    }
    options.upstream_arg = (char const   *)"--root";
  }
  if (keep_base) {
    strbuf_setlen___33(& buf___19, (size_t )0);
    strbuf_addstr(& buf___19, options.upstream_name);
    strbuf_addstr(& buf___19, (char const   *)"...");
    tmp___75 = xstrdup((char const   *)buf___19.buf);
    options.onto_name = (char const   *)tmp___75;
  } else
  if (! options.onto_name) {
    options.onto_name = options.upstream_name;
  }
  tmp___80 = strstr(options.onto_name, (char const   *)"...");
  if (tmp___80) {
    tmp___78 = repo_get_oid_mb(the_repository, options.onto_name, & merge_base);
    if (tmp___78 < 0) {
      if (keep_base) {
        tmp___76 = _((char const   *)"\'%s\': need exactly one merge base with branch");
        die((char const   *)tmp___76, options.upstream_name);
      } else {
        tmp___77 = _((char const   *)"\'%s\': need exactly one merge base");
        die((char const   *)tmp___77, options.onto_name);
      }
    }
    options.onto = lookup_commit_or_die((struct object_id  const  *)(& merge_base),
                                        options.onto_name);
  } else {
    options.onto = lookup_commit_reference_by_name(options.onto_name);
    if (! options.onto) {
      tmp___79 = _((char const   *)"Does not point to a valid commit \'%s\'");
      die((char const   *)tmp___79, options.onto_name);
    }
  }
  if (argc == 1) {
    branch_name = *(argv___0 + 0);
    options.switch_to = *(argv___0 + 0);
    strbuf_setlen___33(& buf___19, (size_t )0);
    strbuf_addf(& buf___19, (char const   *)"refs/heads/%s", branch_name);
    tmp___83 = read_ref((char const   *)buf___19.buf, & options.orig_head);
    if (tmp___83) {
      tmp___81 = lookup_commit_reference_by_name(branch_name);
      commit = tmp___81;
      if (! commit) {
        tmp___82 = _((char const   *)"no such branch/commit \'%s\'");
        die((char const   *)tmp___82, branch_name);
      }
      oidcpy(& options.orig_head, (struct object_id  const  *)(& commit->object.oid));
      options.head_name = (char *)((void *)0);
    } else {
      die_if_checked_out((char const   *)buf___19.buf, 1);
      options.head_name = xstrdup((char const   *)buf___19.buf);
    }
  } else
  if (argc == 0) {
    tmp___84 = resolve_ref_unsafe((char const   *)"HEAD", 0, (struct object_id *)((void *)0),
                                  & flags___0);
    options.head_name = xstrdup_or_null(tmp___84);
    if (! options.head_name) {
      tmp___85 = _((char const   *)"No such ref: %s");
      die((char const   *)tmp___85, "HEAD");
    }
    if (flags___0 & 0x01) {
      tmp___86 = skip_prefix((char const   *)options.head_name, (char const   *)"refs/heads/",
                             & branch_name);
      if (! tmp___86) {
        branch_name = (char const   *)options.head_name;
      }
    } else {
      {
      while (1) {
        while_continue___6: /* CIL Label */ ;
        free((void *)options.head_name);
        options.head_name = (char *)((void *)0);
        goto while_break___6;
      }
      while_break___6: /* CIL Label */ ;
      }
      branch_name = (char const   *)"HEAD";
    }
    tmp___88 = repo_get_oid(the_repository, (char const   *)"HEAD", & options.orig_head);
    if (tmp___88) {
      tmp___87 = _((char const   *)"Could not resolve HEAD to a revision");
      die((char const   *)tmp___87);
    }
  } else {
    BUG_fl((char const   *)"builtin/rebase.c", 1631, (char const   *)"unexpected number of arguments left to parse");
  }
  if (options.fork_point > 0) {
    tmp___89 = lookup_commit_reference(the_repository, (struct object_id  const  *)(& options.orig_head));
    head___2 = tmp___89;
    options.restrict_revision = get_fork_point(options.upstream_name, head___2);
  }
  tmp___91 = repo_read_index(the_repository);
  if (tmp___91 < 0) {
    tmp___90 = _((char const   *)"could not read index");
    die((char const   *)tmp___90);
  }
  if (options.autostash) {
    tmp___92 = state_dir_path((char const   *)"autostash", & options);
    create_autostash(the_repository, tmp___92, (char const   *)"rebase");
  }
  tmp___93 = _((char const   *)"Please commit or stash them.");
  tmp___94 = require_clean_work_tree(the_repository, (char const   *)"rebase", (char const   *)tmp___93,
                                     1, 1);
  if (tmp___94) {
    ret___67 = -1;
    goto cleanup;
  }
  tmp___106 = can_fast_forward(options.onto, options.upstream, options.restrict_revision,
                               & options.orig_head, & merge_base);
  if (tmp___106) {
    if (allow_preemptive_ff) {
      if (! ((unsigned int )options.flags & 8U)) {
        if (options.switch_to) {
          strbuf_setlen___33(& buf___19, (size_t )0);
          tmp___95 = getenv((char const   *)"GIT_REFLOG_ACTION");
          strbuf_addf(& buf___19, (char const   *)"%s: checkout %s", tmp___95, options.switch_to);
          tmp___97 = reset_head(the_repository, & options.orig_head, (char const   *)"checkout",
                                (char const   *)options.head_name, (unsigned int )(1 << 2),
                                (char const   *)((void *)0), (char const   *)buf___19.buf,
                                (char const   *)"rebase");
          if (tmp___97 < 0) {
            tmp___96 = _((char const   *)"could not switch to %s");
            error((char const   *)tmp___96, options.switch_to);
            ret___67 = const_error();
            goto cleanup;
          }
        }
        if (! (! ((unsigned int )options.flags & 1U))) {
          tmp___100 = strcmp(branch_name, (char const   *)"HEAD");
          if (tmp___100) {
            tmp___99 = _((char const   *)"Current branch %s is up to date.\n");
            printf((char const   *)tmp___99, branch_name);
          } else {
            tmp___101 = resolve_ref_unsafe((char const   *)"HEAD", 0, (struct object_id *)((void *)0),
                                           & flag);
            if (tmp___101) {
              tmp___98 = _((char const   *)"HEAD is up to date.");
              puts((char const   *)tmp___98);
            } else {
              tmp___99 = _((char const   *)"Current branch %s is up to date.\n");
              printf((char const   *)tmp___99, branch_name);
            }
          }
        }
        ret___67 = finish_rebase(& options);
        goto cleanup;
      } else
      if (! (! ((unsigned int )options.flags & 1U))) {
        tmp___104 = strcmp(branch_name, (char const   *)"HEAD");
        if (tmp___104) {
          tmp___103 = _((char const   *)"Current branch %s is up to date, rebase forced.\n");
          printf((char const   *)tmp___103, branch_name);
        } else {
          tmp___105 = resolve_ref_unsafe((char const   *)"HEAD", 0, (struct object_id *)((void *)0),
                                         & flag);
          if (tmp___105) {
            tmp___102 = _((char const   *)"HEAD is up to date, rebase forced.");
            puts((char const   *)tmp___102);
          } else {
            tmp___103 = _((char const   *)"Current branch %s is up to date, rebase forced.\n");
            printf((char const   *)tmp___103, branch_name);
          }
        }
      }
    }
  }
  if (! ok_to_skip_pre_rebase) {
    if (argc) {
      tmp___108 = *(argv___0 + 0);
    } else {
      tmp___108 = (char const   *)((void *)0);
    }
    tmp___109 = run_hook_le((char const   **)((void *)0), (char const   *)"pre-rebase",
                            options.upstream_arg, tmp___108, (void *)0);
    if (tmp___109) {
      tmp___107 = _((char const   *)"The pre-rebase hook refused to rebase.");
      die((char const   *)tmp___107);
    }
  }
  if ((unsigned int )options.flags & 4U) {
    if ((unsigned int )options.flags & 2U) {
      tmp___115 = is_null_oid((struct object_id  const  *)(& merge_base));
      if (tmp___115) {
        tmp___110 = oid_to_hex((struct object_id  const  *)(& (options.onto)->object.oid));
        tmp___111 = _((char const   *)"Changes to %s:\n");
        printf((char const   *)tmp___111, tmp___110);
      } else {
        tmp___112 = oid_to_hex((struct object_id  const  *)(& (options.onto)->object.oid));
        tmp___113 = oid_to_hex((struct object_id  const  *)(& merge_base));
        tmp___114 = _((char const   *)"Changes from %s to %s:\n");
        printf((char const   *)tmp___114, tmp___113, tmp___112);
      }
    }
    repo_diff_setup(the_repository, & opts___1);
    opts___1.stat_width = -1;
    opts___1.stat_graph_width = -1;
    opts___1.output_format |= 10;
    opts___1.detect_rename = 1;
    diff_setup_done(& opts___1);
    tmp___118 = is_null_oid((struct object_id  const  *)(& merge_base));
    if (tmp___118) {
      tmp___117 = (struct object_id  const  *)(the_repository->hash_algo)->empty_tree;
    } else {
      tmp___117 = (struct object_id  const  *)(& merge_base);
    }
    diff_tree_oid(tmp___117, (struct object_id  const  *)(& (options.onto)->object.oid),
                  (char const   *)"", & opts___1);
    diffcore_std(& opts___1);
    diff_flush(& opts___1);
  }
  tmp___119 = is_merge(& options);
  if (tmp___119) {
    goto run_rebase;
  }
  if ((unsigned int )options.flags & 1U) {
    tmp___120 = _((char const   *)"First, rewinding head to replay your work on top of it...\n");
    printf((char const   *)tmp___120);
  }
  tmp___121 = getenv((char const   *)"GIT_REFLOG_ACTION");
  strbuf_addf(& msg___5, (char const   *)"%s: checkout %s", tmp___121, options.onto_name);
  tmp___123 = reset_head(the_repository, & (options.onto)->object.oid, (char const   *)"checkout",
                         (char const   *)((void *)0), (unsigned int )((1 | (1 << 4)) | (1 << 2)),
                         (char const   *)((void *)0), (char const   *)msg___5.buf,
                         (char const   *)"rebase");
  if (tmp___123) {
    tmp___122 = _((char const   *)"Could not detach HEAD");
    die((char const   *)tmp___122);
  }
  strbuf_release(& msg___5);
  strbuf_setlen___33(& msg___5, (size_t )0);
  tmp___127 = oideq((struct object_id  const  *)(& merge_base), (struct object_id  const  *)(& options.orig_head));
  if (tmp___127) {
    tmp___124 = _((char const   *)"Fast-forwarded %s to %s.\n");
    printf((char const   *)tmp___124, branch_name, options.onto_name);
    tmp___125 = oid_to_hex((struct object_id  const  *)(& (options.onto)->object.oid));
    if (options.head_name) {
      tmp___126 = options.head_name;
    } else {
      tmp___126 = "detached HEAD";
    }
    strbuf_addf(& msg___5, (char const   *)"rebase finished: %s onto %s", tmp___126,
                tmp___125);
    reset_head(the_repository, (struct object_id *)((void *)0), (char const   *)"Fast-forwarded",
               (char const   *)options.head_name, (unsigned int )(1 << 3), (char const   *)"HEAD",
               (char const   *)msg___5.buf, (char const   *)"rebase");
    strbuf_release(& msg___5);
    ret___67 = finish_rebase(& options);
    goto cleanup;
  }
  tmp___128 = oid_to_hex((struct object_id  const  *)(& options.orig_head));
  if (options.root) {
    tmp___129 = oid_to_hex((struct object_id  const  *)(& (options.onto)->object.oid));
    tmp___133 = tmp___129;
  } else {
    if (options.restrict_revision) {
      tmp___130 = oid_to_hex((struct object_id  const  *)(& (options.restrict_revision)->object.oid));
      tmp___132 = tmp___130;
    } else {
      tmp___131 = oid_to_hex((struct object_id  const  *)(& (options.upstream)->object.oid));
      tmp___132 = tmp___131;
    }
    tmp___133 = tmp___132;
  }
  strbuf_addf(& revisions, (char const   *)"%s..%s", tmp___133, tmp___128);
  options.revisions = (char const   *)revisions.buf;
  run_rebase:
  ret___67 = run_specific_rebase(& options, action);
  cleanup:
  strbuf_release(& buf___19);
  strbuf_release(& revisions);
  free((void *)options.head_name);
  free((void *)options.gpg_sign_opt);
  free((void *)options.cmd);
  free((void *)options.strategy);
  strbuf_release(& options.git_format_patch_opt);
  free((void *)squash_onto_name);
  return (! (! ret___67));
}
}
static double const   __ac_HASH_UPPER___147  =    (double const   )0.77;
__inline static void kh_resize_oid_set___147(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___147(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___147 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___147 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___147(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___147(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___147(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___147(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___147(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___147(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___147 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___147 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___147(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___147(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___147(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___147(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___147(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___147(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___147 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___147 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___147(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___147(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___147(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___147(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___108(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___108(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___147 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___147 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___108(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___108(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___108(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___108(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_contains_cache_with_stride___26(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___26(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___26(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___26(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___26(s___1, 1U);
  return;
}
}
static void clear_contains_cache___26(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___26(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___26(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___26(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___26(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___26(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___26(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___26(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___26(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___26(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___26(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___26(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___26(s___1, c___0, 0);
  return (tmp);
}
}
static char const   *receive_pack_usage[2]  = {      (char const   *)"git receive-pack <git-dir>",      (char const   *)((void *)0)};
static int deny_deletes  ;
static int deny_non_fast_forwards  ;
static enum deny_action deny_current_branch  =    (enum deny_action )0;
static enum deny_action deny_delete_current  =    (enum deny_action )0;
static int receive_fsck_objects  =    -1;
static int transfer_fsck_objects___0  =    -1;
static struct strbuf fsck_msg_types___0  =    {0UL, 0UL, strbuf_slopbuf};
static int receive_unpack_limit  =    -1;
static int transfer_unpack_limit___0  =    -1;
static int advertise_atomic_push  =    1;
static int advertise_push_options  ;
static int advertise_sid___1  ;
static int unpack_limit___1  =    100;
static off_t max_input_size___0  ;
static int report_status  ;
static int report_status_v2  ;
static int use_sideband___0  ;
static int use_atomic  ;
static int use_push_options  ;
static int quiet___2  ;
static int prefer_ofs_delta___0  =    1;
static int auto_update_server_info  ;
static int auto_gc  =    1;
static int reject_thin  ;
static int stateless_rpc  ;
static char const   *service_dir  ;
static char const   *head_name  ;
static void *head_name_to_free  ;
static int sent_capabilities  ;
static int shallow_update  ;
static char const   *alt_shallow_file  ;
static struct strbuf push_cert  =    {0UL, 0UL, strbuf_slopbuf};
static struct object_id push_cert_oid  ;
static struct signature_check sigcheck  ;
static char const   *push_cert_nonce  ;
static char const   *cert_nonce_seed  ;
static char const   *NONCE_UNSOLICITED  =    (char const   *)"UNSOLICITED";
static char const   *NONCE_BAD  =    (char const   *)"BAD";
static char const   *NONCE_MISSING  =    (char const   *)"MISSING";
static char const   *NONCE_OK  =    (char const   *)"OK";
static char const   *NONCE_SLOP  =    (char const   *)"SLOP";
static char const   *nonce_status  ;
static long nonce_stamp_slop  ;
static timestamp_t nonce_stamp_slop_limit  ;
static struct ref_transaction *transaction  ;
static enum __anonenum_use_keepalive_966299638 use_keepalive  ;
static int keepalive_in_sec  =    5;
static struct tmp_objdir *tmp_objdir  ;
static struct proc_receive_ref *proc_receive_ref  ;
static void proc_receive_ref_append(char const   *prefix___1 ) ;
static enum deny_action parse_deny_action(char const   *var , char const   *value )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  if (value) {
    tmp = strcasecmp(value, (char const   *)"ignore");
    if (! tmp) {
      return ((enum deny_action )1);
    }
    tmp___0 = strcasecmp(value, (char const   *)"warn");
    if (! tmp___0) {
      return ((enum deny_action )2);
    }
    tmp___1 = strcasecmp(value, (char const   *)"refuse");
    if (! tmp___1) {
      return ((enum deny_action )3);
    }
    tmp___2 = strcasecmp(value, (char const   *)"updateinstead");
    if (! tmp___2) {
      return ((enum deny_action )4);
    }
  }
  tmp___3 = git_config_bool(var, value);
  if (tmp___3) {
    return ((enum deny_action )3);
  }
  return ((enum deny_action )1);
}
}
static int receive_pack_config(char const   *var , char const   *value , void *cb )
{
  int status ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const   *path___6 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;

  {
  tmp = parse_hide_refs_config(var, value, (char const   *)"receive");
  status = tmp;
  if (status) {
    return (status);
  }
  status = git_gpg_config(var, value, (void *)0);
  if (status) {
    return (status);
  }
  tmp___0 = strcmp(var, (char const   *)"receive.denydeletes");
  if (tmp___0 == 0) {
    deny_deletes = git_config_bool(var, value);
    return (0);
  }
  tmp___1 = strcmp(var, (char const   *)"receive.denynonfastforwards");
  if (tmp___1 == 0) {
    deny_non_fast_forwards = git_config_bool(var, value);
    return (0);
  }
  tmp___2 = strcmp(var, (char const   *)"receive.unpacklimit");
  if (tmp___2 == 0) {
    receive_unpack_limit = git_config_int(var, value);
    return (0);
  }
  tmp___3 = strcmp(var, (char const   *)"transfer.unpacklimit");
  if (tmp___3 == 0) {
    transfer_unpack_limit___0 = git_config_int(var, value);
    return (0);
  }
  tmp___6 = strcmp(var, (char const   *)"receive.fsck.skiplist");
  if (tmp___6 == 0) {
    tmp___4 = git_config_pathname(& path___6, var, value);
    if (tmp___4) {
      return (1);
    }
    if (fsck_msg_types___0.len) {
      tmp___5 = ',';
    } else {
      tmp___5 = '=';
    }
    strbuf_addf(& fsck_msg_types___0, (char const   *)"%cskiplist=%s", tmp___5, path___6);
    free((void *)((char *)path___6));
    return (0);
  }
  tmp___9 = skip_prefix(var, (char const   *)"receive.fsck.", & var);
  if (tmp___9) {
    tmp___8 = is_valid_msg_type(var, value);
    if (tmp___8) {
      if (fsck_msg_types___0.len) {
        tmp___7 = ',';
      } else {
        tmp___7 = '=';
      }
      strbuf_addf(& fsck_msg_types___0, (char const   *)"%c%s=%s", tmp___7, var, value);
    } else {
      warning((char const   *)"skipping unknown msg id \'%s\'", var);
    }
    return (0);
  }
  tmp___10 = strcmp(var, (char const   *)"receive.fsckobjects");
  if (tmp___10 == 0) {
    receive_fsck_objects = git_config_bool(var, value);
    return (0);
  }
  tmp___11 = strcmp(var, (char const   *)"transfer.fsckobjects");
  if (tmp___11 == 0) {
    transfer_fsck_objects___0 = git_config_bool(var, value);
    return (0);
  }
  tmp___12 = strcmp(var, (char const   *)"receive.denycurrentbranch");
  if (! tmp___12) {
    deny_current_branch = parse_deny_action(var, value);
    return (0);
  }
  tmp___13 = strcmp(var, (char const   *)"receive.denydeletecurrent");
  if (tmp___13 == 0) {
    deny_delete_current = parse_deny_action(var, value);
    return (0);
  }
  tmp___14 = strcmp(var, (char const   *)"repack.usedeltabaseoffset");
  if (tmp___14 == 0) {
    prefer_ofs_delta___0 = git_config_bool(var, value);
    return (0);
  }
  tmp___15 = strcmp(var, (char const   *)"receive.updateserverinfo");
  if (tmp___15 == 0) {
    auto_update_server_info = git_config_bool(var, value);
    return (0);
  }
  tmp___16 = strcmp(var, (char const   *)"receive.autogc");
  if (tmp___16 == 0) {
    auto_gc = git_config_bool(var, value);
    return (0);
  }
  tmp___17 = strcmp(var, (char const   *)"receive.shallowupdate");
  if (tmp___17 == 0) {
    shallow_update = git_config_bool(var, value);
    return (0);
  }
  tmp___19 = strcmp(var, (char const   *)"receive.certnonceseed");
  if (tmp___19 == 0) {
    tmp___18 = git_config_string(& cert_nonce_seed, var, value);
    return (tmp___18);
  }
  tmp___20 = strcmp(var, (char const   *)"receive.certnonceslop");
  if (tmp___20 == 0) {
    nonce_stamp_slop_limit = git_config_ulong(var, value);
    return (0);
  }
  tmp___21 = strcmp(var, (char const   *)"receive.advertiseatomic");
  if (tmp___21 == 0) {
    advertise_atomic_push = git_config_bool(var, value);
    return (0);
  }
  tmp___22 = strcmp(var, (char const   *)"receive.advertisepushoptions");
  if (tmp___22 == 0) {
    advertise_push_options = git_config_bool(var, value);
    return (0);
  }
  tmp___23 = strcmp(var, (char const   *)"receive.keepalive");
  if (tmp___23 == 0) {
    keepalive_in_sec = git_config_int(var, value);
    return (0);
  }
  tmp___24 = strcmp(var, (char const   *)"receive.maxinputsize");
  if (tmp___24 == 0) {
    max_input_size___0 = git_config_int64(var, value);
    return (0);
  }
  tmp___26 = strcmp(var, (char const   *)"receive.procreceiverefs");
  if (tmp___26 == 0) {
    if (! value) {
      config_error_nonbool(var);
      tmp___25 = const_error();
      return (tmp___25);
    }
    proc_receive_ref_append(value);
    return (0);
  }
  tmp___27 = strcmp(var, (char const   *)"transfer.advertisesid");
  if (tmp___27 == 0) {
    advertise_sid___1 = git_config_bool(var, value);
    return (0);
  }
  tmp___28 = git_default_config(var, value, cb);
  return (tmp___28);
}
}
static void show_ref___0(char const   *path___6 , struct object_id  const  *oid )
{
  char *tmp ;
  struct strbuf cap ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char *tmp___2 ;

  {
  if (sent_capabilities) {
    tmp = oid_to_hex(oid);
    packet_write_fmt(1, (char const   *)"%s %s\n", tmp, path___6);
  } else {
    cap.alloc = 0UL;
    cap.len = 0UL;
    cap.buf = strbuf_slopbuf;
    strbuf_addstr(& cap, (char const   *)"report-status report-status-v2 delete-refs side-band-64k quiet");
    if (advertise_atomic_push) {
      strbuf_addstr(& cap, (char const   *)" atomic");
    }
    if (prefer_ofs_delta___0) {
      strbuf_addstr(& cap, (char const   *)" ofs-delta");
    }
    if (push_cert_nonce) {
      strbuf_addf(& cap, (char const   *)" push-cert=%s", push_cert_nonce);
    }
    if (advertise_push_options) {
      strbuf_addstr(& cap, (char const   *)" push-options");
    }
    if (advertise_sid___1) {
      tmp___0 = trace2_session_id();
      strbuf_addf(& cap, (char const   *)" session-id=%s", tmp___0);
    }
    strbuf_addf(& cap, (char const   *)" object-format=%s", (the_repository->hash_algo)->name);
    tmp___1 = git_user_agent_sanitized();
    strbuf_addf(& cap, (char const   *)" agent=%s", tmp___1);
    tmp___2 = oid_to_hex(oid);
    packet_write_fmt(1, (char const   *)"%s %s%c%s\n", tmp___2, path___6, 0, cap.buf);
    strbuf_release(& cap);
    sent_capabilities = 1;
  }
  return;
}
}
static int show_ref_cb(char const   *path_full , struct object_id  const  *oid , int flag ,
                       void *data )
{
  struct oidset *seen___0 ;
  char const   *path___6 ;
  char const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  seen___0 = (struct oidset *)data;
  tmp = strip_namespace(path_full);
  path___6 = tmp;
  tmp___0 = ref_is_hidden(path___6, path_full);
  if (tmp___0) {
    return (0);
  }
  if (! path___6) {
    tmp___1 = oidset_insert(seen___0, oid);
    if (tmp___1) {
      return (0);
    }
    path___6 = (char const   *)".have";
  } else {
    oidset_insert(seen___0, oid);
  }
  show_ref___0(path___6, oid);
  return (0);
}
}
static void show_one_alternate_ref(struct object_id  const  *oid , void *data )
{
  struct oidset *seen___0 ;
  int tmp ;

  {
  seen___0 = (struct oidset *)data;
  tmp = oidset_insert(seen___0, oid);
  if (tmp) {
    return;
  }
  show_ref___0((char const   *)".have", oid);
  return;
}
}
static void write_head_info(void) ;
static struct oidset seen  =    {{(khint_t )0, 0U, 0U, 0U, (khint32_t *)0, (struct object_id *)0, (int *)0}};
static void write_head_info(void)
{
  struct object_id  const  *tmp ;

  {
  for_each_ref(& show_ref_cb, (void *)(& seen));
  for_each_alternate_ref(& show_one_alternate_ref, (void *)(& seen));
  oidset_clear(& seen);
  if (! sent_capabilities) {
    tmp = null_oid();
    show_ref___0((char const   *)"capabilities^{}", tmp);
  }
  advertise_shallow_grafts(1);
  packet_flush(1);
  return;
}
}
static void proc_receive_ref_append(char const   *prefix___1 )
{
  struct proc_receive_ref *ref_pattern ;
  char *p___0 ;
  int len___0 ;
  void *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  struct proc_receive_ref *end ;

  {
  tmp = xcalloc((size_t )1, sizeof(*ref_pattern));
  ref_pattern = (struct proc_receive_ref *)tmp;
  p___0 = strchr(prefix___1, ':');
  if (p___0) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned long )prefix___1 < (unsigned long )p___0)) {
        goto while_break;
      }
      if ((int const   )*prefix___1 == 97) {
        ref_pattern->want_add = 1U;
      } else
      if ((int const   )*prefix___1 == 100) {
        ref_pattern->want_delete = 1U;
      } else
      if ((int const   )*prefix___1 == 109) {
        ref_pattern->want_modify = 1U;
      } else
      if ((int const   )*prefix___1 == 33) {
        ref_pattern->negative_ref = 1U;
      }
      prefix___1 ++;
    }
    while_break: /* CIL Label */ ;
    }
    prefix___1 ++;
  } else {
    ref_pattern->want_add = 1U;
    ref_pattern->want_delete = 1U;
    ref_pattern->want_modify = 1U;
  }
  tmp___0 = strlen(prefix___1);
  len___0 = (int )tmp___0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (len___0) {
      if (! ((int const   )*(prefix___1 + (len___0 - 1)) == 47)) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    len___0 --;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___1 = xmemdupz((void const   *)prefix___1, (size_t )len___0);
  ref_pattern->ref_prefix = (char *)tmp___1;
  if (! proc_receive_ref) {
    proc_receive_ref = ref_pattern;
  } else {
    end = proc_receive_ref;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! end->next) {
        goto while_break___1;
      }
      end = end->next;
    }
    while_break___1: /* CIL Label */ ;
    }
    end->next = ref_pattern;
  }
  return;
}
}
static int proc_receive_ref_matches(struct command *cmd )
{
  struct proc_receive_ref *p___0 ;
  char const   *match___0 ;
  char const   *remains ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  if (! proc_receive_ref) {
    return (0);
  }
  p___0 = proc_receive_ref;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    match___0 = (char const   *)p___0->ref_prefix;
    if (! p___0->want_add) {
      tmp___2 = is_null_oid((struct object_id  const  *)(& cmd->old_oid));
      if (tmp___2) {
        goto __Cont;
      } else {
        goto _L___0;
      }
    } else
    _L___0: /* CIL Label */
    if (! p___0->want_delete) {
      tmp___1 = is_null_oid((struct object_id  const  *)(& cmd->new_oid));
      if (tmp___1) {
        goto __Cont;
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (! p___0->want_modify) {
      tmp = is_null_oid((struct object_id  const  *)(& cmd->old_oid));
      if (! tmp) {
        tmp___0 = is_null_oid((struct object_id  const  *)(& cmd->new_oid));
        if (! tmp___0) {
          goto __Cont;
        }
      }
    }
    tmp___3 = skip_prefix((char const   *)(cmd->ref_name), match___0, & remains);
    if (tmp___3) {
      if (! *remains) {
        goto _L___2;
      } else
      if ((int const   )*remains == 47) {
        _L___2: /* CIL Label */
        if (! p___0->negative_ref) {
          return (1);
        }
      } else {
        goto _L___1;
      }
    } else
    _L___1: /* CIL Label */
    if (p___0->negative_ref) {
      return (1);
    }
    __Cont: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void report_message(char const   *prefix___1 , char const   *err___4 , va_list params )
{
  int sz ;
  char msg___5[4096] ;
  int tmp ;
  int tmp___0 ;

  {
  sz = xsnprintf(msg___5, sizeof(msg___5), (char const   *)"%s", prefix___1);
  tmp = vsnprintf(msg___5 + sz, sizeof(msg___5) - (unsigned long )sz, err___4, params);
  sz += tmp;
  if ((unsigned long )sz > sizeof(msg___5) - 1UL) {
    sz = (int )(sizeof(msg___5) - 1UL);
  }
  tmp___0 = sz;
  sz ++;
  msg___5[tmp___0] = (char )'\n';
  if (use_sideband___0) {
    send_sideband(1, 2, (char const   *)(msg___5), (ssize_t )sz, use_sideband___0);
  } else {
    xwrite(2, (void const   *)(msg___5), (size_t )sz);
  }
  return;
}
}
static void ( /* format attribute */  rp_warning)(char const   *err___4  , ...)
{
  va_list params ;

  {
  __builtin_va_start(params, err___4);
  report_message((char const   *)"warning: ", err___4, params);
  __builtin_va_end(params);
  return;
}
}
static void ( /* format attribute */  rp_error)(char const   *err___4  , ...)
{
  va_list params ;

  {
  __builtin_va_start(params, err___4);
  report_message((char const   *)"error: ", err___4, params);
  __builtin_va_end(params);
  return;
}
}
static int copy_to_sideband(int in , int out , void *arg ) ;
static char const   buf___18[6]  = {      (char const   )'0',      (char const   )'0',      (char const   )'0',      (char const   )'5',
        (char const   )'\001',      (char const   )'\000'};
static int copy_to_sideband(int in , int out , void *arg )
{
  char data[128] ;
  int keepalive_active ;
  ssize_t sz ;
  struct pollfd pfd ;
  int ret___67 ;
  int *tmp ;
  char const   *p___0 ;
  void *tmp___0 ;

  {
  keepalive_active = 0;
  if (keepalive_in_sec <= 0) {
    use_keepalive = (enum __anonenum_use_keepalive_966299638 )0;
  }
  if ((unsigned int )use_keepalive == 2U) {
    keepalive_active = 1;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (keepalive_active) {
      pfd.fd = in;
      pfd.events = (short)1;
      ret___67 = poll(& pfd, (nfds_t )1, 1000 * keepalive_in_sec);
      if (ret___67 < 0) {
        tmp = __errno_location();
        if (*tmp == 4) {
          goto while_continue;
        } else {
          goto while_break;
        }
      } else
      if (ret___67 == 0) {
        write_or_die(1, (void const   *)(buf___18), sizeof(buf___18) - 1UL);
        goto while_continue;
      }
    }
    sz = xread(in, (void *)(data), sizeof(data));
    if (sz <= 0L) {
      goto while_break;
    }
    if ((unsigned int )use_keepalive == 1U) {
      if (! keepalive_active) {
        tmp___0 = memchr((void const   *)(data), '\000', (size_t )sz);
        p___0 = (char const   *)tmp___0;
        if (p___0) {
          keepalive_active = 1;
          send_sideband(1, 2, (char const   *)(data), p___0 - (char const   *)(data),
                        use_sideband___0);
          send_sideband(1, 2, p___0 + 1, sz - ((p___0 - (char const   *)(data)) + 1L),
                        use_sideband___0);
          goto while_continue;
        }
      }
    }
    send_sideband(1, 2, (char const   *)(data), sz, use_sideband___0);
  }
  while_break: /* CIL Label */ ;
  }
  close(in);
  return (0);
}
}
static void hmac_hash(unsigned char *out , char const   *key_in , size_t key_len ,
                      char const   *text , size_t text_len )
{
  unsigned char key___1[64] ;
  unsigned char k_ipad[64] ;
  unsigned char k_opad[64] ;
  int i ;
  git_hash_ctx ctx___0 ;

  {
  memset((void *)(key___1), '\000', (size_t )64);
  if ((the_repository->hash_algo)->blksz < (size_t )key_len) {
    (*((the_repository->hash_algo)->init_fn))(& ctx___0);
    (*((the_repository->hash_algo)->update_fn))(& ctx___0, (void const   *)key_in,
                                                key_len);
    (*((the_repository->hash_algo)->final_fn))(key___1, & ctx___0);
  } else {
    memcpy((void *)(key___1), (void const   *)key_in, key_len);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(key___1))) {
      goto while_break;
    }
    k_ipad[i] = (unsigned char )((int )key___1[i] ^ 0x36);
    k_opad[i] = (unsigned char )((int )key___1[i] ^ 0x5c);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  (*((the_repository->hash_algo)->init_fn))(& ctx___0);
  (*((the_repository->hash_algo)->update_fn))(& ctx___0, (void const   *)(k_ipad),
                                              sizeof(k_ipad));
  (*((the_repository->hash_algo)->update_fn))(& ctx___0, (void const   *)text, text_len);
  (*((the_repository->hash_algo)->final_fn))(out, & ctx___0);
  (*((the_repository->hash_algo)->init_fn))(& ctx___0);
  (*((the_repository->hash_algo)->update_fn))(& ctx___0, (void const   *)(k_opad),
                                              sizeof(k_opad));
  (*((the_repository->hash_algo)->update_fn))(& ctx___0, (void const   *)out, (size_t )(the_repository->hash_algo)->rawsz);
  (*((the_repository->hash_algo)->final_fn))(out, & ctx___0);
  return;
}
}
static char *prepare_push_cert_nonce(char const   *path___6 , timestamp_t stamp___0 )
{
  struct strbuf buf___19 ;
  unsigned char hash___0[32] ;
  size_t tmp ;
  char *tmp___0 ;
  char *tmp___1 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  strbuf_addf(& buf___19, (char const   *)"%s:%lu", path___6, stamp___0);
  tmp = strlen(cert_nonce_seed);
  hmac_hash(hash___0, (char const   *)buf___19.buf, buf___19.len, cert_nonce_seed,
            tmp);
  strbuf_release(& buf___19);
  tmp___0 = hash_to_hex((unsigned char const   *)(hash___0));
  strbuf_addf(& buf___19, (char const   *)"%lu-%.*s", stamp___0, (int )(the_repository->hash_algo)->hexsz,
              tmp___0);
  tmp___1 = strbuf_detach(& buf___19, (size_t *)((void *)0));
  return (tmp___1);
}
}
static char *find_header___0(char const   *msg___5 , size_t len___0 , char const   *key___1 ,
                             char const   **next_line___1 )
{
  int key_len ;
  size_t tmp ;
  char const   *line___0 ;
  char const   *eol ;
  char *tmp___0 ;
  int offset___2 ;
  void *tmp___1 ;
  int tmp___2 ;

  {
  tmp = strlen(key___1);
  key_len = (int )tmp;
  line___0 = msg___5;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (line___0) {
      if (! ((unsigned long )line___0 < (unsigned long )(msg___5 + len___0))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___0 = strchrnul(line___0, '\n');
    eol = (char const   *)tmp___0;
    if ((unsigned long )(msg___5 + len___0) <= (unsigned long )eol) {
      return ((char *)((void *)0));
    } else
    if ((unsigned long )line___0 == (unsigned long )eol) {
      return ((char *)((void *)0));
    }
    if ((unsigned long )(line___0 + key_len) < (unsigned long )eol) {
      tmp___2 = memcmp((void const   *)line___0, (void const   *)key___1, (size_t )key_len);
      if (! tmp___2) {
        if ((int const   )*(line___0 + key_len) == 32) {
          offset___2 = key_len + 1;
          if (next_line___1) {
            if (*eol) {
              *next_line___1 = eol + 1;
            } else {
              *next_line___1 = eol;
            }
          }
          tmp___1 = xmemdupz((void const   *)(line___0 + offset___2), (size_t )((eol - line___0) - (long )offset___2));
          return ((char *)tmp___1);
        }
      }
    }
    if (*eol) {
      line___0 = eol + 1;
    } else {
      line___0 = (char const   *)((void *)0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return ((char *)((void *)0));
}
}
static int constant_memequal(char const   *a , char const   *b___0 , size_t n )
{
  int res ;
  size_t i ;

  {
  res = 0;
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    res |= (int )((int const   )*(a + i) ^ (int const   )*(b___0 + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (res);
}
}
static char const   *check_nonce(char const   *buf___19 , size_t len___0 )
{
  char *nonce ;
  char *tmp ;
  timestamp_t stamp___0 ;
  timestamp_t ostamp ;
  char *bohmac ;
  char *expect ;
  char const   *retval ;
  size_t noncelen ;
  int tmp___0 ;
  size_t tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  long tmp___4 ;

  {
  tmp = find_header___0(buf___19, len___0, (char const   *)"nonce", (char const   **)((void *)0));
  nonce = tmp;
  expect = (char *)((void *)0);
  retval = NONCE_BAD;
  if (! nonce) {
    retval = NONCE_MISSING;
    goto leave;
  } else
  if (! push_cert_nonce) {
    retval = NONCE_UNSOLICITED;
    goto leave;
  } else {
    tmp___0 = strcmp(push_cert_nonce, (char const   *)nonce);
    if (! tmp___0) {
      retval = NONCE_OK;
      goto leave;
    }
  }
  if (! stateless_rpc) {
    retval = NONCE_BAD;
    goto leave;
  }
  if ((int )*nonce <= 48) {
    retval = NONCE_BAD;
    goto leave;
  } else
  if (57 < (int )*nonce) {
    retval = NONCE_BAD;
    goto leave;
  }
  stamp___0 = strtoumax((char const   *)nonce, & bohmac, 10);
  if ((unsigned long )bohmac == (unsigned long )nonce) {
    retval = NONCE_BAD;
    goto leave;
  } else
  if ((int )*(bohmac + 0) != 45) {
    retval = NONCE_BAD;
    goto leave;
  }
  noncelen = strlen((char const   *)nonce);
  expect = prepare_push_cert_nonce(service_dir, stamp___0);
  tmp___1 = strlen((char const   *)expect);
  if (noncelen != tmp___1) {
    retval = NONCE_BAD;
    goto leave;
  }
  tmp___2 = constant_memequal((char const   *)expect, (char const   *)nonce, noncelen);
  if (tmp___2) {
    retval = NONCE_BAD;
    goto leave;
  }
  ostamp = strtoumax(push_cert_nonce, (char **)((void *)0), 10);
  nonce_stamp_slop = (long )ostamp - (long )stamp___0;
  if (nonce_stamp_slop_limit) {
    tmp___4 = labs(nonce_stamp_slop);
    if ((timestamp_t )tmp___4 <= nonce_stamp_slop_limit) {
      free((void *)push_cert_nonce);
      tmp___3 = xstrdup((char const   *)nonce);
      push_cert_nonce = (char const   *)tmp___3;
      retval = NONCE_OK;
    } else {
      retval = NONCE_SLOP;
    }
  } else {
    retval = NONCE_SLOP;
  }
  leave:
  free((void *)nonce);
  free((void *)expect);
  return (retval);
}
}
static int check_cert_push_options(struct string_list  const  *push_options )
{
  char const   *buf___19 ;
  int len___0 ;
  char *option ;
  char const   *next_line___1 ;
  int options_seen ;
  int retval ;
  int tmp ;

  {
  buf___19 = (char const   *)push_cert.buf;
  len___0 = (int )push_cert.len;
  options_seen = 0;
  retval = 1;
  if (! len___0) {
    return (1);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    option = find_header___0(buf___19, (size_t )len___0, (char const   *)"push-option",
                             & next_line___1);
    if (! option) {
      goto while_break;
    }
    len___0 = (int )((long )len___0 - (next_line___1 - buf___19));
    buf___19 = next_line___1;
    options_seen ++;
    if ((unsigned int )options_seen > push_options->nr) {
      retval = 0;
      goto leave;
    } else {
      tmp = strcmp((char const   *)option, (char const   *)(push_options->items + (options_seen - 1))->string);
      if (tmp) {
        retval = 0;
        goto leave;
      }
    }
    free((void *)option);
  }
  while_break: /* CIL Label */ ;
  }
  if ((unsigned int )options_seen != push_options->nr) {
    retval = 0;
  }
  leave:
  free((void *)option);
  return (retval);
}
}
static int already_done  ;
static void prepare_push_cert_sha1(struct child_process *proc )
{
  int bogs ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;

  {
  if (! push_cert.len) {
    return;
  }
  if (! already_done) {
    already_done = 1;
    tmp = write_object_file((void const   *)push_cert.buf, push_cert.len, (char const   *)"blob",
                            & push_cert_oid);
    if (tmp) {
      oidclr(& push_cert_oid);
    }
    memset((void *)(& sigcheck), '\000', sizeof(sigcheck));
    tmp___0 = parse_signed_buffer((char const   *)push_cert.buf, push_cert.len);
    bogs = (int )tmp___0;
    tmp___1 = xmemdupz((void const   *)push_cert.buf, (size_t )bogs);
    sigcheck.payload = (char *)tmp___1;
    sigcheck.payload_len = (size_t )bogs;
    check_signature(& sigcheck, (char const   *)(push_cert.buf + bogs), push_cert.len - (size_t )bogs);
    nonce_status = check_nonce((char const   *)push_cert.buf, (size_t )bogs);
  }
  tmp___5 = is_null_oid((struct object_id  const  *)(& push_cert_oid));
  if (! tmp___5) {
    tmp___2 = oid_to_hex((struct object_id  const  *)(& push_cert_oid));
    strvec_pushf(& proc->env_array, (char const   *)"GIT_PUSH_CERT=%s", tmp___2);
    if (sigcheck.signer) {
      tmp___3 = sigcheck.signer;
    } else {
      tmp___3 = "";
    }
    strvec_pushf(& proc->env_array, (char const   *)"GIT_PUSH_CERT_SIGNER=%s", tmp___3);
    if (sigcheck.key) {
      tmp___4 = sigcheck.key;
    } else {
      tmp___4 = "";
    }
    strvec_pushf(& proc->env_array, (char const   *)"GIT_PUSH_CERT_KEY=%s", tmp___4);
    strvec_pushf(& proc->env_array, (char const   *)"GIT_PUSH_CERT_STATUS=%c", (int )sigcheck.result);
    if (push_cert_nonce) {
      strvec_pushf(& proc->env_array, (char const   *)"GIT_PUSH_CERT_NONCE=%s", push_cert_nonce);
      strvec_pushf(& proc->env_array, (char const   *)"GIT_PUSH_CERT_NONCE_STATUS=%s",
                   nonce_status);
      if ((unsigned long )nonce_status == (unsigned long )NONCE_SLOP) {
        strvec_pushf(& proc->env_array, (char const   *)"GIT_PUSH_CERT_NONCE_SLOP=%ld",
                     nonce_stamp_slop);
      }
    }
  }
  return;
}
}
static int run_and_feed_hook(char const   *hook_name , int (*feed)(void * , char const   ** ,
                                                                   size_t * ) , struct receive_hook_feed_state *feed_state )
{
  struct child_process proc ;
  struct async muxer ;
  int code ;
  char const   *hook_path ;
  char const   *tmp ;
  int i ;
  char const   **tmp___0 ;
  char const   *buf___19 ;
  size_t n ;
  int tmp___1 ;
  ssize_t tmp___2 ;
  int tmp___3 ;

  {
  proc.args.v = empty_strvec;
  proc.args.nr = 0UL;
  proc.args.alloc = 0UL;
  proc.env_array.v = empty_strvec;
  proc.env_array.nr = 0UL;
  proc.env_array.alloc = 0UL;
  proc.pid = 0;
  proc.trace2_child_id = 0;
  proc.trace2_child_us_start = 0UL;
  proc.trace2_child_class = (char const   *)0;
  proc.trace2_hook_name = (char const   *)0;
  proc.in = 0;
  proc.out = 0;
  proc.err = 0;
  proc.dir = (char const   *)0;
  proc.no_stdin = 0U;
  proc.no_stdout = 0U;
  proc.no_stderr = 0U;
  proc.git_cmd = 0U;
  proc.silent_exec_failure = 0U;
  proc.use_shell = 0U;
  proc.close_object_store = 0U;
  proc.stdout_to_stderr = 0U;
  proc.clean_on_exit = 0U;
  proc.wait_after_clean = 0U;
  proc.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  proc.clean_on_exit_handler_cbdata = (void *)0;
  tmp = find_hook(hook_name);
  hook_path = tmp;
  if (! hook_path) {
    return (0);
  }
  strvec_push(& proc.args, hook_path);
  proc.in = -1;
  proc.stdout_to_stderr = 1U;
  proc.trace2_hook_name = hook_name;
  if (feed_state->push_options) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )i < (feed_state->push_options)->nr)) {
        goto while_break;
      }
      strvec_pushf(& proc.env_array, (char const   *)"GIT_PUSH_OPTION_%d=%s", i, ((feed_state->push_options)->items + i)->string);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    strvec_pushf(& proc.env_array, (char const   *)"GIT_PUSH_OPTION_COUNT=%d", (feed_state->push_options)->nr);
  } else {
    strvec_pushf(& proc.env_array, (char const   *)"GIT_PUSH_OPTION_COUNT");
  }
  if (tmp_objdir) {
    tmp___0 = tmp_objdir_env((struct tmp_objdir  const  *)tmp_objdir);
    strvec_pushv(& proc.env_array, tmp___0);
  }
  if (use_sideband___0) {
    memset((void *)(& muxer), 0, sizeof(muxer));
    muxer.proc = & copy_to_sideband;
    muxer.in = -1;
    code = start_async(& muxer);
    if (code) {
      return (code);
    }
    proc.err = muxer.in;
  }
  prepare_push_cert_sha1(& proc);
  code = start_command(& proc);
  if (code) {
    if (use_sideband___0) {
      finish_async(& muxer);
    }
    return (code);
  }
  sigchain_push(13, (void (*)(int  ))1);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___1 = (*feed)((void *)feed_state, & buf___19, & n);
    if (tmp___1) {
      goto while_break___0;
    }
    tmp___2 = write_in_full(proc.in, (void const   *)buf___19, n);
    if (tmp___2 < 0L) {
      goto while_break___0;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  close(proc.in);
  if (use_sideband___0) {
    finish_async(& muxer);
  }
  sigchain_pop(13);
  tmp___3 = finish_command(& proc);
  return (tmp___3);
}
}
static int feed_receive_hook(void *state_ , char const   **bufp , size_t *sizep )
{
  struct receive_hook_feed_state *state___1 ;
  struct command *cmd ;
  struct object_id *old_oid ;
  struct object_id *new_oid ;
  char const   *ref_name___0 ;
  char *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  state___1 = (struct receive_hook_feed_state *)state_;
  cmd = state___1->cmd;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (cmd) {
      if (state___1->skip_broken) {
        if (! cmd->error_string) {
          if (! cmd->did_not_exist) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    cmd = cmd->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (! cmd) {
    return (-1);
  }
  if (! bufp) {
    return (0);
  }
  strbuf_setlen___33(& state___1->buf, (size_t )0);
  if (! state___1->report) {
    state___1->report = cmd->report;
  }
  if (state___1->report) {
    if ((state___1->report)->old_oid) {
      old_oid = (state___1->report)->old_oid;
    } else {
      old_oid = & cmd->old_oid;
    }
    if ((state___1->report)->new_oid) {
      new_oid = (state___1->report)->new_oid;
    } else {
      new_oid = & cmd->new_oid;
    }
    if ((state___1->report)->ref_name) {
      ref_name___0 = (state___1->report)->ref_name;
    } else {
      ref_name___0 = (char const   *)(cmd->ref_name);
    }
    tmp = oid_to_hex((struct object_id  const  *)new_oid);
    tmp___0 = oid_to_hex((struct object_id  const  *)old_oid);
    strbuf_addf(& state___1->buf, (char const   *)"%s %s %s\n", tmp___0, tmp, ref_name___0);
    state___1->report = (state___1->report)->next;
    if (! state___1->report) {
      state___1->cmd = cmd->next;
    }
  } else {
    tmp___1 = oid_to_hex((struct object_id  const  *)(& cmd->new_oid));
    tmp___2 = oid_to_hex((struct object_id  const  *)(& cmd->old_oid));
    strbuf_addf(& state___1->buf, (char const   *)"%s %s %s\n", tmp___2, tmp___1,
                cmd->ref_name);
    state___1->cmd = cmd->next;
  }
  if (bufp) {
    *bufp = (char const   *)state___1->buf.buf;
    *sizep = state___1->buf.len;
  }
  return (0);
}
}
static int run_receive_hook(struct command *commands___2 , char const   *hook_name ,
                            int skip_broken , struct string_list  const  *push_options )
{
  struct receive_hook_feed_state state___1 ;
  int status ;
  int tmp ;

  {
  strbuf_init(& state___1.buf, (size_t )0);
  state___1.cmd = commands___2;
  state___1.skip_broken = skip_broken;
  state___1.report = (struct ref_push_report *)((void *)0);
  tmp = feed_receive_hook((void *)(& state___1), (char const   **)((void *)0), (size_t *)((void *)0));
  if (tmp) {
    return (0);
  }
  state___1.cmd = commands___2;
  state___1.push_options = push_options;
  status = run_and_feed_hook(hook_name, & feed_receive_hook, & state___1);
  strbuf_release(& state___1.buf);
  return (status);
}
}
static int run_update_hook(struct command *cmd )
{
  struct child_process proc ;
  int code ;
  char const   *hook_path ;
  char const   *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  proc.args.v = empty_strvec;
  proc.args.nr = 0UL;
  proc.args.alloc = 0UL;
  proc.env_array.v = empty_strvec;
  proc.env_array.nr = 0UL;
  proc.env_array.alloc = 0UL;
  proc.pid = 0;
  proc.trace2_child_id = 0;
  proc.trace2_child_us_start = 0UL;
  proc.trace2_child_class = (char const   *)0;
  proc.trace2_hook_name = (char const   *)0;
  proc.in = 0;
  proc.out = 0;
  proc.err = 0;
  proc.dir = (char const   *)0;
  proc.no_stdin = 0U;
  proc.no_stdout = 0U;
  proc.no_stderr = 0U;
  proc.git_cmd = 0U;
  proc.silent_exec_failure = 0U;
  proc.use_shell = 0U;
  proc.close_object_store = 0U;
  proc.stdout_to_stderr = 0U;
  proc.clean_on_exit = 0U;
  proc.wait_after_clean = 0U;
  proc.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  proc.clean_on_exit_handler_cbdata = (void *)0;
  tmp = find_hook((char const   *)"update");
  hook_path = tmp;
  if (! hook_path) {
    return (0);
  }
  strvec_push(& proc.args, hook_path);
  strvec_push(& proc.args, (char const   *)(cmd->ref_name));
  tmp___0 = oid_to_hex((struct object_id  const  *)(& cmd->old_oid));
  strvec_push(& proc.args, (char const   *)tmp___0);
  tmp___1 = oid_to_hex((struct object_id  const  *)(& cmd->new_oid));
  strvec_push(& proc.args, (char const   *)tmp___1);
  proc.no_stdin = 1U;
  proc.stdout_to_stderr = 1U;
  if (use_sideband___0) {
    proc.err = -1;
  } else {
    proc.err = 0;
  }
  proc.trace2_hook_name = (char const   *)"update";
  code = start_command(& proc);
  if (code) {
    return (code);
  }
  if (use_sideband___0) {
    copy_to_sideband(proc.err, -1, (void *)0);
  }
  tmp___2 = finish_command(& proc);
  return (tmp___2);
}
}
static struct command *find_command_by_refname(struct command *list___3 , char const   *refname )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    tmp = strcmp((char const   *)(list___3->ref_name), refname);
    if (! tmp) {
      return (list___3);
    }
    list___3 = list___3->next;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct command *)((void *)0));
}
}
static int read_proc_receive_report(struct packet_reader *reader , struct command *commands___2 ,
                                    struct strbuf *errmsg )
{
  struct command *cmd ;
  struct command *hint ;
  struct ref_push_report *report___3 ;
  int new_report ;
  int code ;
  int once ;
  int response ;
  struct object_id old_oid ;
  struct object_id new_oid ;
  char const   *head___1 ;
  char const   *refname ;
  char *p___0 ;
  enum packet_read_status status ;
  char *tmp ;
  char const   *key___1 ;
  char const   *val ;
  int tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  char *tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  char *tmp___16 ;
  int tmp___17 ;

  {
  hint = (struct command *)((void *)0);
  report___3 = (struct ref_push_report *)((void *)0);
  new_report = 0;
  code = 0;
  once = 0;
  response = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    status = packet_reader_read(reader);
    if ((unsigned int )status != 1U) {
      if ((unsigned int )status == 0U) {
        if (! response) {
          strbuf_addstr(errmsg, (char const   *)"proc-receive exited abnormally");
          return (-1);
        }
      }
      goto while_break;
    }
    response ++;
    head___1 = reader->line;
    p___0 = strchr(head___1, ' ');
    if (! p___0) {
      strbuf_addf(errmsg, (char const   *)"proc-receive reported incomplete status line: \'%s\'\n",
                  head___1);
      code = -1;
      goto __Cont;
    }
    tmp = p___0;
    p___0 ++;
    *tmp = (char )'\000';
    tmp___12 = strcmp(head___1, (char const   *)"option");
    if (! tmp___12) {
      if (! hint) {
        goto _L;
      } else
      if (! report___3) {
        if (! new_report) {
          _L: /* CIL Label */
          tmp___0 = once;
          once ++;
          if (! tmp___0) {
            strbuf_addstr(errmsg, (char const   *)"proc-receive reported \'option\' without a matching \'ok/ng\' directive\n");
          }
          code = -1;
          goto __Cont;
        }
      }
      if (new_report) {
        if (! hint->report) {
          tmp___1 = xcalloc((size_t )1, sizeof(*(hint->report)));
          hint->report = (struct ref_push_report *)tmp___1;
          report___3 = hint->report;
        } else {
          report___3 = hint->report;
          {
          while (1) {
            while_continue___0: /* CIL Label */ ;
            if (! report___3->next) {
              goto while_break___0;
            }
            report___3 = report___3->next;
          }
          while_break___0: /* CIL Label */ ;
          }
          tmp___2 = xcalloc((size_t )1, sizeof(struct ref_push_report ));
          report___3->next = (struct ref_push_report *)tmp___2;
          report___3 = report___3->next;
        }
        new_report = 0;
      }
      key___1 = (char const   *)p___0;
      p___0 = strchr(key___1, ' ');
      if (p___0) {
        tmp___3 = p___0;
        p___0 ++;
        *tmp___3 = (char )'\000';
      }
      val = (char const   *)p___0;
      tmp___11 = strcmp(key___1, (char const   *)"refname");
      if (tmp___11) {
        tmp___9 = strcmp(key___1, (char const   *)"old-oid");
        if (tmp___9) {
          _L___3: /* CIL Label */
          _L___2: /* CIL Label */
          tmp___7 = strcmp(key___1, (char const   *)"new-oid");
          if (tmp___7) {
            _L___1: /* CIL Label */
            _L___0: /* CIL Label */
            tmp___6 = strcmp(key___1, (char const   *)"forced-update");
            if (tmp___6) {
              tmp___5 = strcmp(key___1, (char const   *)"fall-through");
              if (! tmp___5) {
                hint->run_proc_receive = 0U;
              }
            } else {
              report___3->forced_update = 1U;
            }
          } else
          if (val) {
            tmp___8 = parse_oid_hex(val, & new_oid, & val);
            if (tmp___8) {
              goto _L___1;
            } else {
              report___3->new_oid = oiddup((struct object_id  const  *)(& new_oid));
            }
          } else {
            goto _L___1;
          }
        } else
        if (val) {
          tmp___10 = parse_oid_hex(val, & old_oid, & val);
          if (tmp___10) {
            goto _L___3;
          } else {
            report___3->old_oid = oiddup((struct object_id  const  *)(& old_oid));
          }
        } else {
          goto _L___3;
        }
      } else {
        tmp___4 = xstrdup_or_null(val);
        report___3->ref_name = (char const   *)tmp___4;
      }
      goto __Cont;
    }
    report___3 = (struct ref_push_report *)((void *)0);
    new_report = 0;
    refname = (char const   *)p___0;
    p___0 = strchr(refname, ' ');
    if (p___0) {
      tmp___13 = p___0;
      p___0 ++;
      *tmp___13 = (char )'\000';
    }
    tmp___14 = strcmp(head___1, (char const   *)"ok");
    if (tmp___14) {
      tmp___15 = strcmp(head___1, (char const   *)"ng");
      if (tmp___15) {
        strbuf_addf(errmsg, (char const   *)"proc-receive reported bad status \'%s\' on ref \'%s\'\n",
                    head___1, refname);
        code = -1;
        goto __Cont;
      }
    }
    if (hint) {
      hint = find_command_by_refname(hint, refname);
    }
    if (! hint) {
      hint = find_command_by_refname(commands___2, refname);
    }
    if (! hint) {
      strbuf_addf(errmsg, (char const   *)"proc-receive reported status on unknown ref: %s\n",
                  refname);
      code = -1;
      goto __Cont;
    }
    if (! hint->run_proc_receive) {
      strbuf_addf(errmsg, (char const   *)"proc-receive reported status on unexpected ref: %s\n",
                  refname);
      code = -1;
      goto __Cont;
    }
    hint->run_proc_receive |= 2U;
    tmp___17 = strcmp(head___1, (char const   *)"ng");
    if (! tmp___17) {
      if (p___0) {
        tmp___16 = xstrdup((char const   *)p___0);
        hint->error_string = (char const   *)tmp___16;
      } else {
        hint->error_string = (char const   *)"failed";
      }
      code = -1;
      goto __Cont;
    }
    new_report = 1;
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  cmd = commands___2;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! cmd) {
      goto while_break___1;
    }
    if (cmd->run_proc_receive) {
      if (! cmd->error_string) {
        if (! (cmd->run_proc_receive & 2U)) {
          cmd->error_string = (char const   *)"proc-receive failed to report status";
          code = -1;
        }
      }
    }
    cmd = cmd->next;
  }
  while_break___1: /* CIL Label */ ;
  }
  return (code);
}
}
static int run_proc_receive_hook(struct command *commands___2 , struct string_list  const  *push_options )
{
  struct child_process proc ;
  struct async muxer ;
  struct command *cmd ;
  struct packet_reader reader ;
  struct strbuf cap ;
  struct strbuf errmsg ;
  int hook_use_push_options ;
  int version___0 ;
  int code ;
  char const   *hook_path ;
  char const   *tmp ;
  int linelen___1 ;
  enum packet_read_status status ;
  size_t tmp___0 ;
  char const   *feature_list ;
  int tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;
  struct string_list_item *item___0 ;
  int tmp___5 ;
  char *p___0 ;

  {
  proc.args.v = empty_strvec;
  proc.args.nr = 0UL;
  proc.args.alloc = 0UL;
  proc.env_array.v = empty_strvec;
  proc.env_array.nr = 0UL;
  proc.env_array.alloc = 0UL;
  proc.pid = 0;
  proc.trace2_child_id = 0;
  proc.trace2_child_us_start = 0UL;
  proc.trace2_child_class = (char const   *)0;
  proc.trace2_hook_name = (char const   *)0;
  proc.in = 0;
  proc.out = 0;
  proc.err = 0;
  proc.dir = (char const   *)0;
  proc.no_stdin = 0U;
  proc.no_stdout = 0U;
  proc.no_stderr = 0U;
  proc.git_cmd = 0U;
  proc.silent_exec_failure = 0U;
  proc.use_shell = 0U;
  proc.close_object_store = 0U;
  proc.stdout_to_stderr = 0U;
  proc.clean_on_exit = 0U;
  proc.wait_after_clean = 0U;
  proc.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  proc.clean_on_exit_handler_cbdata = (void *)0;
  cap.alloc = 0UL;
  cap.len = 0UL;
  cap.buf = strbuf_slopbuf;
  errmsg.alloc = 0UL;
  errmsg.len = 0UL;
  errmsg.buf = strbuf_slopbuf;
  hook_use_push_options = 0;
  version___0 = 0;
  tmp = find_hook((char const   *)"proc-receive");
  hook_path = tmp;
  if (! hook_path) {
    rp_error((char const   *)"cannot find hook \'proc-receive\'");
    return (-1);
  }
  strvec_push(& proc.args, hook_path);
  proc.in = -1;
  proc.out = -1;
  proc.trace2_hook_name = (char const   *)"proc-receive";
  if (use_sideband___0) {
    memset((void *)(& muxer), 0, sizeof(muxer));
    muxer.proc = & copy_to_sideband;
    muxer.in = -1;
    code = start_async(& muxer);
    if (code) {
      return (code);
    }
    proc.err = muxer.in;
  } else {
    proc.err = 0;
  }
  code = start_command(& proc);
  if (code) {
    if (use_sideband___0) {
      finish_async(& muxer);
    }
    return (code);
  }
  sigchain_push(13, (void (*)(int  ))1);
  packet_reader_init(& reader, proc.out, (char *)((void *)0), (size_t )0, (int )((1u << 1) | 1u));
  if (use_atomic) {
    strbuf_addstr(& cap, (char const   *)" atomic");
  }
  if (use_push_options) {
    strbuf_addstr(& cap, (char const   *)" push-options");
  }
  if (cap.len) {
    code = packet_write_fmt_gently(proc.in, (char const   *)"version=1%c%s\n", '\000',
                                   cap.buf + 1);
    strbuf_release(& cap);
  } else {
    code = packet_write_fmt_gently(proc.in, (char const   *)"version=1\n");
  }
  if (! code) {
    code = packet_flush_gently(proc.in);
  }
  if (! code) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      status = packet_reader_read(& reader);
      if ((unsigned int )status != 1U) {
        if ((unsigned int )status == 0U) {
          code = -1;
        }
        goto while_break;
      }
      if (reader.pktlen > 8) {
        tmp___2 = starts_with(reader.line, (char const   *)"version=");
        if (tmp___2) {
          version___0 = atoi(reader.line + 8);
          tmp___0 = strlen(reader.line);
          linelen___1 = (int )tmp___0;
          if (linelen___1 < reader.pktlen) {
            feature_list = (reader.line + linelen___1) + 1;
            tmp___1 = parse_feature_request(feature_list, (char const   *)"push-options");
            if (tmp___1) {
              hook_use_push_options = 1;
            }
          }
        }
      }
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (code) {
    strbuf_addstr(& errmsg, (char const   *)"fail to negotiate version with proc-receive hook");
    goto cleanup;
  }
  {
  if (version___0 == 1) {
    goto case_1;
  }
  if (version___0 == 0) {
    goto case_1;
  }
  goto switch_default;
  case_1: /* CIL Label */
  case_0: /* CIL Label */
  goto switch_break;
  switch_default: /* CIL Label */
  strbuf_addf(& errmsg, (char const   *)"proc-receive version \'%d\' is not supported",
              version___0);
  code = -1;
  goto cleanup;
  switch_break: /* CIL Label */ ;
  }
  cmd = commands___2;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! cmd) {
      goto while_break___0;
    }
    if (! cmd->run_proc_receive) {
      goto __Cont;
    } else
    if (cmd->skip_update) {
      goto __Cont;
    } else
    if (cmd->error_string) {
      goto __Cont;
    }
    tmp___3 = oid_to_hex((struct object_id  const  *)(& cmd->new_oid));
    tmp___4 = oid_to_hex((struct object_id  const  *)(& cmd->old_oid));
    code = packet_write_fmt_gently(proc.in, (char const   *)"%s %s %s", tmp___4, tmp___3,
                                   cmd->ref_name);
    if (code) {
      goto while_break___0;
    }
    __Cont: /* CIL Label */
    cmd = cmd->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (! code) {
    code = packet_flush_gently(proc.in);
  }
  if (code) {
    strbuf_addstr(& errmsg, (char const   *)"fail to write commands to proc-receive hook");
    goto cleanup;
  }
  if (hook_use_push_options) {
    item___0 = (struct string_list_item *)push_options->items;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(push_options->items + push_options->nr))) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      code = packet_write_fmt_gently(proc.in, (char const   *)"%s", item___0->string);
      if (code) {
        goto while_break___1;
      }
      item___0 ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (! code) {
      code = packet_flush_gently(proc.in);
    }
    if (code) {
      strbuf_addstr(& errmsg, (char const   *)"fail to write push-options to proc-receive hook");
      goto cleanup;
    }
  }
  code = read_proc_receive_report(& reader, commands___2, & errmsg);
  cleanup:
  close(proc.in);
  close(proc.out);
  if (use_sideband___0) {
    finish_async(& muxer);
  }
  tmp___5 = finish_command(& proc);
  if (tmp___5) {
    code = -1;
  }
  if (errmsg.len > 0UL) {
    p___0 = errmsg.buf;
    p___0 += errmsg.len - 1UL;
    if ((int )*p___0 == 10) {
      *p___0 = (char )'\000';
    }
    rp_error((char const   *)"%s", errmsg.buf);
    strbuf_release(& errmsg);
  }
  sigchain_pop(13);
  return (code);
}
}
static char *refuse_unconfigured_deny_msg  =    "By default, updating the current branch in a non-bare repository\nis denied, because it will make the index and work tree inconsistent\nwith what you pushed, and will require \'git reset --hard\' to match\nthe work tree to HEAD.\n\nYou can set the \'receive.denyCurrentBranch\' configuration variable\nto \'ignore\' or \'warn\' in the remote repository to allow pushing into\nits current branch; however, this is not recommended unless you\narranged to update its work tree to match what you pushed in some\nother way.\n\nTo squelch this message and still keep the default behaviour, set\n\'receive.denyCurrentBranch\' configuration variable to \'refuse\'.";
static void refuse_unconfigured_deny(void)
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  tmp = _((char const   *)refuse_unconfigured_deny_msg);
  rp_error((char const   *)"%s", tmp);
  return;
}
}
static char *refuse_unconfigured_deny_delete_current_msg  =    "By default, deleting the current branch is denied, because the next\n\'git clone\' won\'t result in any file checked out, causing confusion.\n\nYou can set \'receive.denyDeleteCurrent\' configuration variable to\n\'warn\' or \'ignore\' in the remote repository to allow deleting the\ncurrent branch, with or without a warning message.\n\nTo squelch this message, you can set it to \'refuse\'.";
static void refuse_unconfigured_deny_delete_current(void)
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  tmp = _((char const   *)refuse_unconfigured_deny_delete_current_msg);
  rp_error((char const   *)"%s", tmp);
  return;
}
}
static struct object_id  const  *command_singleton_iterator(void *cb_data ) ;
static int update_shallow_ref(struct command *cmd , struct shallow_info *si )
{
  struct shallow_lock shallow_lock___0 ;
  struct oid_array extra___2 ;
  struct check_connected_options opt___0 ;
  uint32_t mask ;
  int i ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  shallow_lock___0.lock.tempfile = (struct tempfile *)0;
  extra___2.oid = (struct object_id *)0;
  extra___2.nr = 0UL;
  extra___2.alloc = 0UL;
  extra___2.sorted = 0;
  opt___0.quiet = 0;
  opt___0.shallow_file = (char const   *)0;
  opt___0.transport = (struct transport *)0;
  opt___0.err_fd = 0;
  opt___0.progress = 0;
  opt___0.env = (char const   **)0;
  opt___0.is_deepening_fetch = 0U;
  mask = (uint32_t )(1 << cmd->index % 32);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = trace_pass_fl(& trace_shallow);
    if (tmp) {
      trace_printf_key_fl((char const   *)"builtin/receive-pack.c", 1319, & trace_shallow,
                          (char const   *)"shallow: update_shallow_ref %s\n", cmd->ref_name);
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((size_t )i < (si->shallow)->nr)) {
      goto while_break___0;
    }
    if (*(si->used_shallow + i)) {
      if (*(*(si->used_shallow + i) + cmd->index / 32) & mask) {
        tmp___0 = delayed_reachability_test(si, i);
        if (! tmp___0) {
          oid_array_append(& extra___2, (struct object_id  const  *)((si->shallow)->oid + i));
        }
      }
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  opt___0.env = tmp_objdir_env((struct tmp_objdir  const  *)tmp_objdir);
  setup_alternate_shallow(& shallow_lock___0, & opt___0.shallow_file, (struct oid_array  const  *)(& extra___2));
  tmp___1 = check_connected(& command_singleton_iterator, (void *)cmd, & opt___0);
  if (tmp___1) {
    rollback_shallow_file(the_repository, & shallow_lock___0);
    oid_array_clear(& extra___2);
    return (-1);
  }
  commit_shallow_file(the_repository, & shallow_lock___0);
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((size_t )i < extra___2.nr)) {
      goto while_break___1;
    }
    register_shallow(the_repository, (struct object_id  const  *)(extra___2.oid + i));
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  *(si->shallow_ref + cmd->index) = 0;
  oid_array_clear(& extra___2);
  return (0);
}
}
static int head_has_history(void)
{
  struct object_id oid ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = repo_get_oid(the_repository, (char const   *)"HEAD", & oid);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
static char const   *push_to_deploy(unsigned char *sha1 , struct strvec *env , char const   *work_tree )
{
  struct child_process child ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;

  {
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  strvec_pushl(& child.args, "update-index", "-q", "--ignore-submodules", "--refresh",
               (void *)0);
  strvec_pushv(& child.env_array, env->v);
  child.dir = work_tree;
  child.no_stdin = 1U;
  child.stdout_to_stderr = 1U;
  child.git_cmd = 1U;
  tmp = run_command(& child);
  if (tmp) {
    return ((char const   *)"Up-to-date check failed");
  }
  child_process_init(& child);
  strvec_pushl(& child.args, "diff-files", "--quiet", "--ignore-submodules", "--",
               (void *)0);
  strvec_pushv(& child.env_array, env->v);
  child.dir = work_tree;
  child.no_stdin = 1U;
  child.stdout_to_stderr = 1U;
  child.git_cmd = 1U;
  tmp___0 = run_command(& child);
  if (tmp___0) {
    return ((char const   *)"Working directory has unstaged changes");
  }
  child_process_init(& child);
  tmp___4 = head_has_history();
  if (tmp___4) {
    tmp___3 = (char const   *)"HEAD";
  } else {
    tmp___2 = empty_tree_oid_hex();
    tmp___3 = tmp___2;
  }
  strvec_pushl(& child.args, "diff-index", "--quiet", "--cached", "--ignore-submodules",
               tmp___3, "--", (void *)0);
  strvec_pushv(& child.env_array, env->v);
  child.no_stdin = 1U;
  child.no_stdout = 1U;
  child.stdout_to_stderr = 0U;
  child.git_cmd = 1U;
  tmp___5 = run_command(& child);
  if (tmp___5) {
    return ((char const   *)"Working directory has staged changes");
  }
  child_process_init(& child);
  tmp___6 = hash_to_hex((unsigned char const   *)sha1);
  strvec_pushl(& child.args, "read-tree", "-u", "-m", tmp___6, (void *)0);
  strvec_pushv(& child.env_array, env->v);
  child.dir = work_tree;
  child.no_stdin = 1U;
  child.no_stdout = 1U;
  child.stdout_to_stderr = 0U;
  child.git_cmd = 1U;
  tmp___7 = run_command(& child);
  if (tmp___7) {
    return ((char const   *)"Could not update working tree to new HEAD");
  }
  return ((char const   *)((void *)0));
}
}
static char const   *push_to_checkout_hook  =    (char const   *)"push-to-checkout";
static char const   *push_to_checkout(unsigned char *hash___0 , struct strvec *env ,
                                      char const   *work_tree )
{
  char const   *tmp ;
  char *tmp___0 ;
  int __attribute__((__sentinel__))  tmp___1 ;

  {
  tmp = absolute_path(work_tree);
  strvec_pushf(env, (char const   *)"GIT_WORK_TREE=%s", tmp);
  tmp___0 = hash_to_hex((unsigned char const   *)hash___0);
  tmp___1 = run_hook_le((char const   **)env->v, push_to_checkout_hook, tmp___0, (void *)0);
  if (tmp___1) {
    return ((char const   *)"push-to-checkout hook declined");
  } else {
    return ((char const   *)((void *)0));
  }
}
}
static char const   *update_worktree(unsigned char *sha1 , struct worktree  const  *worktree )
{
  char const   *retval ;
  char const   *git_dir ;
  struct strvec env ;
  char const   *tmp ;
  int tmp___0 ;

  {
  env.v = empty_strvec;
  env.nr = 0UL;
  env.alloc = 0UL;
  if (! worktree) {
    BUG_fl((char const   *)"builtin/receive-pack.c", 1441, (char const   *)"worktree->path must be non-NULL");
  } else
  if (! worktree->path) {
    BUG_fl((char const   *)"builtin/receive-pack.c", 1441, (char const   *)"worktree->path must be non-NULL");
  }
  if (worktree->is_bare) {
    return ((char const   *)"denyCurrentBranch = updateInstead needs a worktree");
  }
  git_dir = get_worktree_git_dir(worktree);
  tmp = absolute_path(git_dir);
  strvec_pushf(& env, (char const   *)"GIT_DIR=%s", tmp);
  tmp___0 = hook_exists(push_to_checkout_hook);
  if (tmp___0) {
    retval = push_to_checkout(sha1, & env, (char const   *)worktree->path);
  } else {
    retval = push_to_deploy(sha1, & env, (char const   *)worktree->path);
  }
  strvec_clear(& env);
  return (retval);
}
}
static char *namespaced_name  ;
static char const   *update(struct command *cmd , struct shallow_info *si )
{
  char const   *name___0 ;
  struct strbuf namespaced_name_buf ;
  char const   *ret___67 ;
  struct object_id *old_oid ;
  struct object_id *new_oid ;
  int do_update_worktree ;
  struct worktree **worktrees ;
  struct worktree **tmp ;
  struct worktree  const  *worktree ;
  struct worktree  const  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  struct object *old_object ;
  struct object *new_object___0 ;
  struct commit *old_commit ;
  struct commit *new_commit ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  struct strbuf err___4 ;
  int tmp___16 ;
  struct object *tmp___17 ;
  int tmp___18 ;
  struct strbuf err___5 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;

  {
  name___0 = (char const   *)(cmd->ref_name);
  namespaced_name_buf.alloc = 0UL;
  namespaced_name_buf.len = 0UL;
  namespaced_name_buf.buf = strbuf_slopbuf;
  old_oid = & cmd->old_oid;
  new_oid = & cmd->new_oid;
  do_update_worktree = 0;
  tmp = get_worktrees();
  worktrees = tmp;
  tmp___0 = find_shared_symref(worktrees, (char const   *)"HEAD", name___0);
  worktree = tmp___0;
  tmp___1 = starts_with(name___0, (char const   *)"refs/");
  if (tmp___1) {
    tmp___2 = check_refname_format(name___0 + 5, 0);
    if (tmp___2) {
      rp_error((char const   *)"refusing to create funny ref \'%s\' remotely", name___0);
      ret___67 = (char const   *)"funny refname";
      goto out;
    }
  } else {
    rp_error((char const   *)"refusing to create funny ref \'%s\' remotely", name___0);
    ret___67 = (char const   *)"funny refname";
    goto out;
  }
  tmp___3 = get_git_namespace();
  strbuf_addf(& namespaced_name_buf, (char const   *)"%s%s", tmp___3, name___0);
  free((void *)namespaced_name);
  namespaced_name = strbuf_detach(& namespaced_name_buf, (size_t *)((void *)0));
  if (worktree) {
    if (! worktree->is_bare) {
      {
      if ((unsigned int )deny_current_branch == 1U) {
        goto case_1;
      }
      if ((unsigned int )deny_current_branch == 2U) {
        goto case_2;
      }
      if ((unsigned int )deny_current_branch == 0U) {
        goto case_0;
      }
      if ((unsigned int )deny_current_branch == 3U) {
        goto case_0;
      }
      if ((unsigned int )deny_current_branch == 4U) {
        goto case_4;
      }
      goto switch_break;
      case_1: /* CIL Label */
      goto switch_break;
      case_2: /* CIL Label */
      rp_warning((char const   *)"updating the current branch");
      goto switch_break;
      case_0: /* CIL Label */
      case_3: /* CIL Label */
      rp_error((char const   *)"refusing to update checked out branch: %s", name___0);
      if ((unsigned int )deny_current_branch == 0U) {
        refuse_unconfigured_deny();
      }
      ret___67 = (char const   *)"branch is currently checked out";
      goto out;
      case_4: /* CIL Label */
      do_update_worktree = 1;
      goto switch_break;
      switch_break: /* CIL Label */ ;
      }
    }
  }
  tmp___5 = is_null_oid((struct object_id  const  *)new_oid);
  if (! tmp___5) {
    tmp___6 = repo_has_object_file(the_repository, (struct object_id  const  *)new_oid);
    if (! tmp___6) {
      tmp___4 = oid_to_hex((struct object_id  const  *)new_oid);
      error((char const   *)"unpack should have generated %s, but I can\'t find it!",
            tmp___4);
      const_error();
      ret___67 = (char const   *)"bad pack";
      goto out;
    }
  }
  tmp___9 = is_null_oid((struct object_id  const  *)old_oid);
  if (! tmp___9) {
    tmp___10 = is_null_oid((struct object_id  const  *)new_oid);
    if (tmp___10) {
      if (deny_deletes) {
        tmp___7 = starts_with(name___0, (char const   *)"refs/heads/");
        if (tmp___7) {
          rp_error((char const   *)"denying ref deletion for %s", name___0);
          ret___67 = (char const   *)"deletion prohibited";
          goto out;
        }
      }
      if (worktree) {
        goto _L;
      } else
      if (head_name) {
        tmp___8 = strcmp((char const   *)namespaced_name, head_name);
        if (! tmp___8) {
          _L: /* CIL Label */
          {
          if ((unsigned int )deny_delete_current == 1U) {
            goto case_1___0;
          }
          if ((unsigned int )deny_delete_current == 2U) {
            goto case_2___0;
          }
          if ((unsigned int )deny_delete_current == 4U) {
            goto case_4___0;
          }
          if ((unsigned int )deny_delete_current == 0U) {
            goto case_4___0;
          }
          if ((unsigned int )deny_delete_current == 3U) {
            goto case_4___0;
          }
          goto switch_default;
          case_1___0: /* CIL Label */
          goto switch_break___0;
          case_2___0: /* CIL Label */
          rp_warning((char const   *)"deleting the current branch");
          goto switch_break___0;
          case_4___0: /* CIL Label */
          case_0___0: /* CIL Label */
          case_3___0: /* CIL Label */
          if ((unsigned int )deny_delete_current == 0U) {
            refuse_unconfigured_deny_delete_current();
          }
          rp_error((char const   *)"refusing to delete the current branch: %s", name___0);
          ret___67 = (char const   *)"deletion of the current branch prohibited";
          goto out;
          switch_default: /* CIL Label */
          ret___67 = (char const   *)"Invalid denyDeleteCurrent setting";
          goto out;
          switch_break___0: /* CIL Label */ ;
          }
        }
      }
    }
  }
  if (deny_non_fast_forwards) {
    tmp___12 = is_null_oid((struct object_id  const  *)new_oid);
    if (! tmp___12) {
      tmp___13 = is_null_oid((struct object_id  const  *)old_oid);
      if (! tmp___13) {
        tmp___14 = starts_with(name___0, (char const   *)"refs/heads/");
        if (tmp___14) {
          old_object = parse_object(the_repository, (struct object_id  const  *)old_oid);
          new_object___0 = parse_object(the_repository, (struct object_id  const  *)new_oid);
          if (! old_object) {
            error((char const   *)"bad sha1 objects for %s", name___0);
            const_error();
            ret___67 = (char const   *)"bad ref";
            goto out;
          } else
          if (! new_object___0) {
            error((char const   *)"bad sha1 objects for %s", name___0);
            const_error();
            ret___67 = (char const   *)"bad ref";
            goto out;
          } else
          if (old_object->type != 1U) {
            error((char const   *)"bad sha1 objects for %s", name___0);
            const_error();
            ret___67 = (char const   *)"bad ref";
            goto out;
          } else
          if (new_object___0->type != 1U) {
            error((char const   *)"bad sha1 objects for %s", name___0);
            const_error();
            ret___67 = (char const   *)"bad ref";
            goto out;
          }
          old_commit = (struct commit *)old_object;
          new_commit = (struct commit *)new_object___0;
          tmp___11 = repo_in_merge_bases(the_repository, old_commit, new_commit);
          if (! tmp___11) {
            rp_error((char const   *)"denying non-fast-forward %s (you should pull first)",
                     name___0);
            ret___67 = (char const   *)"non-fast-forward";
            goto out;
          }
        }
      }
    }
  }
  tmp___15 = run_update_hook(cmd);
  if (tmp___15) {
    rp_error((char const   *)"hook declined to update %s", name___0);
    ret___67 = (char const   *)"hook declined";
    goto out;
  }
  if (do_update_worktree) {
    ret___67 = update_worktree(new_oid->hash, worktree);
    if (ret___67) {
      goto out;
    }
  }
  tmp___21 = is_null_oid((struct object_id  const  *)new_oid);
  if (tmp___21) {
    err___4.alloc = 0UL;
    err___4.len = 0UL;
    err___4.buf = strbuf_slopbuf;
    tmp___17 = parse_object(the_repository, (struct object_id  const  *)old_oid);
    if (! tmp___17) {
      old_oid = (struct object_id *)((void *)0);
      tmp___16 = ref_exists(name___0);
      if (tmp___16) {
        rp_warning((char const   *)"allowing deletion of corrupt ref");
      } else {
        rp_warning((char const   *)"deleting a non-existent ref");
        cmd->did_not_exist = 1U;
      }
    }
    tmp___18 = ref_transaction_delete(transaction, (char const   *)namespaced_name,
                                      (struct object_id  const  *)old_oid, 0U, (char const   *)"push",
                                      & err___4);
    if (tmp___18) {
      rp_error((char const   *)"%s", err___4.buf);
      ret___67 = (char const   *)"failed to delete";
    } else {
      ret___67 = (char const   *)((void *)0);
    }
    strbuf_release(& err___4);
  } else {
    err___5.alloc = 0UL;
    err___5.len = 0UL;
    err___5.buf = strbuf_slopbuf;
    if (shallow_update) {
      if (*(si->shallow_ref + cmd->index)) {
        tmp___19 = update_shallow_ref(cmd, si);
        if (tmp___19) {
          ret___67 = (char const   *)"shallow error";
          goto out;
        }
      }
    }
    tmp___20 = ref_transaction_update(transaction, (char const   *)namespaced_name,
                                      (struct object_id  const  *)new_oid, (struct object_id  const  *)old_oid,
                                      0U, (char const   *)"push", & err___5);
    if (tmp___20) {
      rp_error((char const   *)"%s", err___5.buf);
      ret___67 = (char const   *)"failed to update ref";
    } else {
      ret___67 = (char const   *)((void *)0);
    }
    strbuf_release(& err___5);
  }
  out:
  free_worktrees(worktrees);
  return (ret___67);
}
}
static void run_update_post_hook(struct command *commands___2 )
{
  struct command *cmd ;
  struct child_process proc ;
  char const   *hook ;
  int tmp ;

  {
  proc.args.v = empty_strvec;
  proc.args.nr = 0UL;
  proc.args.alloc = 0UL;
  proc.env_array.v = empty_strvec;
  proc.env_array.nr = 0UL;
  proc.env_array.alloc = 0UL;
  proc.pid = 0;
  proc.trace2_child_id = 0;
  proc.trace2_child_us_start = 0UL;
  proc.trace2_child_class = (char const   *)0;
  proc.trace2_hook_name = (char const   *)0;
  proc.in = 0;
  proc.out = 0;
  proc.err = 0;
  proc.dir = (char const   *)0;
  proc.no_stdin = 0U;
  proc.no_stdout = 0U;
  proc.no_stderr = 0U;
  proc.git_cmd = 0U;
  proc.silent_exec_failure = 0U;
  proc.use_shell = 0U;
  proc.close_object_store = 0U;
  proc.stdout_to_stderr = 0U;
  proc.clean_on_exit = 0U;
  proc.wait_after_clean = 0U;
  proc.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  proc.clean_on_exit_handler_cbdata = (void *)0;
  hook = find_hook((char const   *)"post-update");
  if (! hook) {
    return;
  }
  cmd = commands___2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! cmd) {
      goto while_break;
    }
    if (cmd->error_string) {
      goto __Cont;
    } else
    if (cmd->did_not_exist) {
      goto __Cont;
    }
    if (! proc.args.nr) {
      strvec_push(& proc.args, hook);
    }
    strvec_push(& proc.args, (char const   *)(cmd->ref_name));
    __Cont: /* CIL Label */
    cmd = cmd->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (! proc.args.nr) {
    return;
  }
  proc.no_stdin = 1U;
  proc.stdout_to_stderr = 1U;
  if (use_sideband___0) {
    proc.err = -1;
  } else {
    proc.err = 0;
  }
  proc.trace2_hook_name = (char const   *)"post-update";
  tmp = start_command(& proc);
  if (! tmp) {
    if (use_sideband___0) {
      copy_to_sideband(proc.err, -1, (void *)0);
    }
    finish_command(& proc);
  }
  return;
}
}
static void check_aliased_update_internal(struct command *cmd , struct string_list *list___3 ,
                                          char const   *dst_name , int flag )
{
  struct string_list_item *item___0 ;
  struct command *dst_cmd ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  char const   *tmp___5 ;

  {
  if (! (flag & 0x01)) {
    return;
  }
  if (! dst_name) {
    rp_error((char const   *)"refusing update to broken symref \'%s\'", cmd->ref_name);
    cmd->skip_update = 1U;
    cmd->error_string = (char const   *)"broken symref";
    return;
  }
  dst_name = strip_namespace(dst_name);
  item___0 = string_list_lookup(list___3, dst_name);
  if ((unsigned long )item___0 == (unsigned long )((void *)0)) {
    return;
  }
  cmd->skip_update = 1U;
  dst_cmd = (struct command *)item___0->util;
  tmp = oideq((struct object_id  const  *)(& cmd->old_oid), (struct object_id  const  *)(& dst_cmd->old_oid));
  if (tmp) {
    tmp___0 = oideq((struct object_id  const  *)(& cmd->new_oid), (struct object_id  const  *)(& dst_cmd->new_oid));
    if (tmp___0) {
      return;
    }
  }
  dst_cmd->skip_update = 1U;
  tmp___1 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& dst_cmd->new_oid),
                                    default_abbrev);
  tmp___2 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& dst_cmd->old_oid),
                                    default_abbrev);
  tmp___3 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& cmd->new_oid),
                                    default_abbrev);
  tmp___4 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& cmd->old_oid),
                                    default_abbrev);
  rp_error((char const   *)"refusing inconsistent update between symref \'%s\' (%s..%s) and its target \'%s\' (%s..%s)",
           cmd->ref_name, tmp___4, tmp___3, dst_cmd->ref_name, tmp___2, tmp___1);
  tmp___5 = (char const   *)"inconsistent aliased update";
  dst_cmd->error_string = tmp___5;
  cmd->error_string = tmp___5;
  return;
}
}
static void check_aliased_update(struct command *cmd , struct string_list *list___3 )
{
  struct strbuf buf___19 ;
  char const   *dst_name ;
  int flag ;
  char const   *tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = get_git_namespace();
  strbuf_addf(& buf___19, (char const   *)"%s%s", tmp, cmd->ref_name);
  dst_name = resolve_ref_unsafe((char const   *)buf___19.buf, 0, (struct object_id *)((void *)0),
                                & flag);
  check_aliased_update_internal(cmd, list___3, dst_name, flag);
  strbuf_release(& buf___19);
  return;
}
}
static void check_aliased_updates(struct command *commands___2 )
{
  struct command *cmd ;
  struct string_list ref_list ;
  struct string_list_item *item___0 ;
  struct string_list_item *tmp ;

  {
  ref_list.items = (struct string_list_item *)0;
  ref_list.nr = 0U;
  ref_list.alloc = 0U;
  ref_list.strdup_strings = 0U;
  ref_list.cmp = (int (*)(char const   * , char const   * ))0;
  cmd = commands___2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! cmd) {
      goto while_break;
    }
    tmp = string_list_append(& ref_list, (char const   *)(cmd->ref_name));
    item___0 = tmp;
    item___0->util = (void *)cmd;
    cmd = cmd->next;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_sort(& ref_list);
  cmd = commands___2;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! cmd) {
      goto while_break___0;
    }
    if (! cmd->error_string) {
      check_aliased_update(cmd, & ref_list);
    }
    cmd = cmd->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  string_list_clear(& ref_list, 0);
  return;
}
}
static struct object_id  const  *command_singleton_iterator(void *cb_data )
{
  struct command **cmd_list___0 ;
  struct command *cmd ;
  int tmp ;

  {
  cmd_list___0 = (struct command **)cb_data;
  cmd = *cmd_list___0;
  if (! cmd) {
    return ((struct object_id  const  *)((void *)0));
  } else {
    tmp = is_null_oid((struct object_id  const  *)(& cmd->new_oid));
    if (tmp) {
      return ((struct object_id  const  *)((void *)0));
    }
  }
  *cmd_list___0 = (struct command *)((void *)0);
  return ((struct object_id  const  *)(& cmd->new_oid));
}
}
static void set_connectivity_errors(struct command *commands___2 , struct shallow_info *si )
{
  struct command *cmd ;
  struct command *singleton ;
  struct check_connected_options opt___0 ;
  int tmp ;

  {
  cmd = commands___2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! cmd) {
      goto while_break;
    }
    singleton = cmd;
    opt___0.quiet = 0;
    opt___0.shallow_file = (char const   *)0;
    opt___0.transport = (struct transport *)0;
    opt___0.err_fd = 0;
    opt___0.progress = 0;
    opt___0.env = (char const   **)0;
    opt___0.is_deepening_fetch = 0U;
    if (shallow_update) {
      if (*(si->shallow_ref + cmd->index)) {
        goto __Cont;
      }
    }
    opt___0.env = tmp_objdir_env((struct tmp_objdir  const  *)tmp_objdir);
    tmp = check_connected(& command_singleton_iterator, (void *)(& singleton), & opt___0);
    if (! tmp) {
      goto __Cont;
    }
    cmd->error_string = (char const   *)"missing necessary objects";
    __Cont: /* CIL Label */
    cmd = cmd->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct object_id  const  *iterate_receive_command_list(void *cb_data )
{
  struct iterate_data *data ;
  struct command **cmd_list___0 ;
  struct command *cmd ;
  int tmp ;

  {
  data = (struct iterate_data *)cb_data;
  cmd_list___0 = & data->cmds;
  cmd = *cmd_list___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! cmd) {
      goto while_break;
    }
    if (shallow_update) {
      if (*((data->si)->shallow_ref + cmd->index)) {
        goto __Cont;
      }
    }
    tmp = is_null_oid((struct object_id  const  *)(& cmd->new_oid));
    if (! tmp) {
      if (! cmd->skip_update) {
        *cmd_list___0 = cmd->next;
        return ((struct object_id  const  *)(& cmd->new_oid));
      }
    }
    __Cont: /* CIL Label */
    cmd = cmd->next;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct object_id  const  *)((void *)0));
}
}
static void reject_updates_to_hidden(struct command *commands___2 )
{
  struct strbuf refname_full ;
  size_t prefix_len___1 ;
  struct command *cmd ;
  char const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  refname_full.alloc = 0UL;
  refname_full.len = 0UL;
  refname_full.buf = strbuf_slopbuf;
  tmp = get_git_namespace();
  strbuf_addstr(& refname_full, tmp);
  prefix_len___1 = refname_full.len;
  cmd = commands___2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! cmd) {
      goto while_break;
    }
    if (cmd->error_string) {
      goto __Cont;
    }
    strbuf_setlen___33(& refname_full, prefix_len___1);
    strbuf_addstr(& refname_full, (char const   *)(cmd->ref_name));
    tmp___0 = ref_is_hidden((char const   *)(cmd->ref_name), (char const   *)refname_full.buf);
    if (! tmp___0) {
      goto __Cont;
    }
    tmp___1 = is_null_oid((struct object_id  const  *)(& cmd->new_oid));
    if (tmp___1) {
      cmd->error_string = (char const   *)"deny deleting a hidden ref";
    } else {
      cmd->error_string = (char const   *)"deny updating a hidden ref";
    }
    __Cont: /* CIL Label */
    cmd = cmd->next;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& refname_full);
  return;
}
}
static int should_process_cmd(struct command *cmd )
{
  int tmp ;

  {
  if (! cmd->error_string) {
    if (! cmd->skip_update) {
      tmp = 1;
    } else {
      tmp = 0;
    }
  } else {
    tmp = 0;
  }
  return (tmp);
}
}
static void warn_if_skipped_connectivity_check(struct command *commands___2 , struct shallow_info *si )
{
  struct command *cmd ;
  int checked_connectivity ;
  int tmp ;

  {
  checked_connectivity = 1;
  cmd = commands___2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! cmd) {
      goto while_break;
    }
    tmp = should_process_cmd(cmd);
    if (tmp) {
      if (*(si->shallow_ref + cmd->index)) {
        error((char const   *)"BUG: connectivity check has not been run on ref %s",
              cmd->ref_name);
        const_error();
        checked_connectivity = 0;
      }
    }
    cmd = cmd->next;
  }
  while_break: /* CIL Label */ ;
  }
  if (! checked_connectivity) {
    BUG_fl((char const   *)"builtin/receive-pack.c", 1834, (char const   *)"connectivity check skipped???");
  }
  return;
}
}
static void execute_commands_non_atomic(struct command *commands___2 , struct shallow_info *si )
{
  struct command *cmd ;
  struct strbuf err___4 ;
  int tmp ;
  int tmp___0 ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  cmd = commands___2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! cmd) {
      goto while_break;
    }
    tmp = should_process_cmd(cmd);
    if (tmp) {
      if (cmd->run_proc_receive) {
        goto __Cont;
      }
    } else {
      goto __Cont;
    }
    transaction = ref_transaction_begin(& err___4);
    if (! transaction) {
      rp_error((char const   *)"%s", err___4.buf);
      strbuf_setlen___33(& err___4, (size_t )0);
      cmd->error_string = (char const   *)"transaction failed to start";
      goto __Cont;
    }
    cmd->error_string = update(cmd, si);
    if (! cmd->error_string) {
      tmp___0 = ref_transaction_commit(transaction, & err___4);
      if (tmp___0) {
        rp_error((char const   *)"%s", err___4.buf);
        strbuf_setlen___33(& err___4, (size_t )0);
        cmd->error_string = (char const   *)"failed to update ref";
      }
    }
    ref_transaction_free(transaction);
    __Cont: /* CIL Label */
    cmd = cmd->next;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& err___4);
  return;
}
}
static void execute_commands_atomic(struct command *commands___2 , struct shallow_info *si )
{
  struct command *cmd ;
  struct strbuf err___4 ;
  char const   *reported_error ;
  int tmp ;
  int tmp___0 ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  reported_error = (char const   *)"atomic push failure";
  transaction = ref_transaction_begin(& err___4);
  if (! transaction) {
    rp_error((char const   *)"%s", err___4.buf);
    strbuf_setlen___33(& err___4, (size_t )0);
    reported_error = (char const   *)"transaction failed to start";
    goto failure;
  }
  cmd = commands___2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! cmd) {
      goto while_break;
    }
    tmp = should_process_cmd(cmd);
    if (tmp) {
      if (cmd->run_proc_receive) {
        goto __Cont;
      }
    } else {
      goto __Cont;
    }
    cmd->error_string = update(cmd, si);
    if (cmd->error_string) {
      goto failure;
    }
    __Cont: /* CIL Label */
    cmd = cmd->next;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = ref_transaction_commit(transaction, & err___4);
  if (tmp___0) {
    rp_error((char const   *)"%s", err___4.buf);
    reported_error = (char const   *)"atomic transaction failed";
    goto failure;
  }
  goto cleanup;
  failure:
  cmd = commands___2;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! cmd) {
      goto while_break___0;
    }
    if (! cmd->error_string) {
      cmd->error_string = reported_error;
    }
    cmd = cmd->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  cleanup:
  ref_transaction_free(transaction);
  strbuf_release(& err___4);
  return;
}
}
static void execute_commands(struct command *commands___2 , char const   *unpacker_error ,
                             struct shallow_info *si , struct string_list  const  *push_options )
{
  struct check_connected_options opt___0 ;
  struct command *cmd ;
  struct iterate_data data ;
  struct async muxer ;
  int err_fd ;
  int run_proc_receive ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;

  {
  opt___0.quiet = 0;
  opt___0.shallow_file = (char const   *)0;
  opt___0.transport = (struct transport *)0;
  opt___0.err_fd = 0;
  opt___0.progress = 0;
  opt___0.env = (char const   **)0;
  opt___0.is_deepening_fetch = 0U;
  err_fd = 0;
  run_proc_receive = 0;
  if (unpacker_error) {
    cmd = commands___2;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! cmd) {
        goto while_break;
      }
      cmd->error_string = (char const   *)"unpacker error";
      cmd = cmd->next;
    }
    while_break: /* CIL Label */ ;
    }
    return;
  }
  if (use_sideband___0) {
    memset((void *)(& muxer), 0, sizeof(muxer));
    muxer.proc = & copy_to_sideband;
    muxer.in = -1;
    tmp = start_async(& muxer);
    if (! tmp) {
      err_fd = muxer.in;
    }
  }
  data.cmds = commands___2;
  data.si = si;
  opt___0.err_fd = err_fd;
  if (err_fd) {
    if (! quiet___2) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  opt___0.progress = tmp___0;
  opt___0.env = tmp_objdir_env((struct tmp_objdir  const  *)tmp_objdir);
  tmp___1 = check_connected(& iterate_receive_command_list, (void *)(& data), & opt___0);
  if (tmp___1) {
    set_connectivity_errors(commands___2, si);
  }
  if (use_sideband___0) {
    finish_async(& muxer);
  }
  reject_updates_to_hidden(commands___2);
  if (proc_receive_ref) {
    cmd = commands___2;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! cmd) {
        goto while_break___0;
      }
      tmp___2 = should_process_cmd(cmd);
      if (! tmp___2) {
        goto __Cont;
      }
      tmp___3 = proc_receive_ref_matches(cmd);
      if (tmp___3) {
        cmd->run_proc_receive = 1U;
        run_proc_receive = 1;
      }
      __Cont: /* CIL Label */
      cmd = cmd->next;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  tmp___4 = run_receive_hook(commands___2, (char const   *)"pre-receive", 0, push_options);
  if (tmp___4) {
    cmd = commands___2;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! cmd) {
        goto while_break___1;
      }
      if (! cmd->error_string) {
        cmd->error_string = (char const   *)"pre-receive hook declined";
      }
      cmd = cmd->next;
    }
    while_break___1: /* CIL Label */ ;
    }
    return;
  }
  tmp___5 = tmp_objdir_migrate(tmp_objdir);
  if (tmp___5 < 0) {
    cmd = commands___2;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! cmd) {
        goto while_break___2;
      }
      if (! cmd->error_string) {
        cmd->error_string = (char const   *)"unable to migrate objects to permanent storage";
      }
      cmd = cmd->next;
    }
    while_break___2: /* CIL Label */ ;
    }
    return;
  }
  tmp_objdir = (struct tmp_objdir *)((void *)0);
  check_aliased_updates(commands___2);
  free(head_name_to_free);
  tmp___6 = resolve_refdup((char const   *)"HEAD", 0, (struct object_id *)((void *)0),
                           (int *)((void *)0));
  head_name_to_free = (void *)tmp___6;
  head_name = (char const   *)head_name_to_free;
  if (run_proc_receive) {
    tmp___7 = run_proc_receive_hook(commands___2, push_options);
    if (tmp___7) {
      cmd = commands___2;
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if (! cmd) {
          goto while_break___3;
        }
        if (! cmd->error_string) {
          if (! (cmd->run_proc_receive & 2U)) {
            if (cmd->run_proc_receive) {
              cmd->error_string = (char const   *)"fail to run proc-receive hook";
            } else
            if (use_atomic) {
              cmd->error_string = (char const   *)"fail to run proc-receive hook";
            }
          }
        }
        cmd = cmd->next;
      }
      while_break___3: /* CIL Label */ ;
      }
    }
  }
  if (use_atomic) {
    execute_commands_atomic(commands___2, si);
  } else {
    execute_commands_non_atomic(commands___2, si);
  }
  if (shallow_update) {
    warn_if_skipped_connectivity_check(commands___2, si);
  }
  return;
}
}
static struct command **queue_command(struct command **tail , char const   *line___0 ,
                                      int linelen___1 )
{
  struct object_id old_oid ;
  struct object_id new_oid ;
  struct command *cmd ;
  char const   *refname ;
  int reflen ;
  char const   *p___0 ;
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  size_t flex_array_len_ ;
  size_t tmp___3 ;
  size_t tmp___4 ;
  void *tmp___5 ;

  {
  tmp = parse_oid_hex(line___0, & old_oid, & p___0);
  if (tmp) {
    die((char const   *)"protocol error: expected old/new/ref, got \'%s\'", line___0);
  } else {
    tmp___0 = p___0;
    p___0 ++;
    if ((int const   )*tmp___0 != 32) {
      die((char const   *)"protocol error: expected old/new/ref, got \'%s\'", line___0);
    } else {
      tmp___1 = parse_oid_hex(p___0, & new_oid, & p___0);
      if (tmp___1) {
        die((char const   *)"protocol error: expected old/new/ref, got \'%s\'", line___0);
      } else {
        tmp___2 = p___0;
        p___0 ++;
        if ((int const   )*tmp___2 != 32) {
          die((char const   *)"protocol error: expected old/new/ref, got \'%s\'",
              line___0);
        }
      }
    }
  }
  refname = p___0;
  reflen = (int )((long )linelen___1 - (p___0 - line___0));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    flex_array_len_ = (size_t )reflen;
    tmp___3 = st_add(sizeof(*cmd), flex_array_len_);
    tmp___4 = st_add(tmp___3, (size_t )1);
    tmp___5 = xcalloc((size_t )1, tmp___4);
    cmd = (struct command *)tmp___5;
    memcpy((void *)(cmd->ref_name), (void const   *)refname, flex_array_len_);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  oidcpy(& cmd->old_oid, (struct object_id  const  *)(& old_oid));
  oidcpy(& cmd->new_oid, (struct object_id  const  *)(& new_oid));
  *tail = cmd;
  return (& cmd->next);
}
}
static void queue_commands_from_cert(struct command **tail , struct strbuf *push_cert___0 )
{
  char const   *boc ;
  char const   *eoc ;
  char *tmp ;
  size_t tmp___0 ;
  char const   *eol ;
  void *tmp___1 ;
  long tmp___2 ;

  {
  if (*tail) {
    die((char const   *)"protocol error: got both push certificate and unsigned commands");
  }
  tmp = strstr((char const   *)push_cert___0->buf, (char const   *)"\n\n");
  boc = (char const   *)tmp;
  if (! boc) {
    die((char const   *)"malformed push certificate %.*s", 100, push_cert___0->buf);
  } else {
    boc += 2;
  }
  tmp___0 = parse_signed_buffer((char const   *)push_cert___0->buf, push_cert___0->len);
  eoc = (char const   *)(push_cert___0->buf + tmp___0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )boc < (unsigned long )eoc)) {
      goto while_break;
    }
    tmp___1 = memchr((void const   *)boc, '\n', (size_t )(eoc - boc));
    eol = (char const   *)tmp___1;
    if (eol) {
      tmp___2 = eol - boc;
    } else {
      tmp___2 = eoc - boc;
    }
    tail = queue_command(tail, boc, (int )tmp___2);
    if (eol) {
      boc = eol + 1;
    } else {
      boc = eoc;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct command *read_head_info(struct packet_reader *reader , struct oid_array *shallow )
{
  struct command *commands___2 ;
  struct command **p___0 ;
  int linelen___1 ;
  enum packet_read_status tmp ;
  struct object_id oid ;
  int tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  char const   *feature_list ;
  char const   *hash___0 ;
  char const   *client_sid ;
  int len___0 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  int tmp___10 ;
  char *sid ;
  char *tmp___11 ;
  int true_flush ;
  int saved_options ;
  int tmp___12 ;
  int tmp___13 ;

  {
  commands___2 = (struct command *)((void *)0);
  p___0 = & commands___2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = packet_reader_read(reader);
    if ((unsigned int )tmp != 1U) {
      goto while_break;
    }
    if (reader->pktlen > 8) {
      tmp___1 = starts_with(reader->line, (char const   *)"shallow ");
      if (tmp___1) {
        tmp___0 = get_oid_hex(reader->line + 8, & oid);
        if (tmp___0) {
          die((char const   *)"protocol error: expected shallow sha, got \'%s\'",
              reader->line + 8);
        }
        oid_array_append(shallow, (struct object_id  const  *)(& oid));
        goto __Cont;
      }
    }
    tmp___2 = strlen(reader->line);
    linelen___1 = (int )tmp___2;
    if (linelen___1 < reader->pktlen) {
      feature_list = (reader->line + linelen___1) + 1;
      hash___0 = (char const   *)((void *)0);
      len___0 = 0;
      tmp___3 = parse_feature_request(feature_list, (char const   *)"report-status");
      if (tmp___3) {
        report_status = 1;
      }
      tmp___4 = parse_feature_request(feature_list, (char const   *)"report-status-v2");
      if (tmp___4) {
        report_status_v2 = 1;
      }
      tmp___5 = parse_feature_request(feature_list, (char const   *)"side-band-64k");
      if (tmp___5) {
        use_sideband___0 = 65520;
      }
      tmp___6 = parse_feature_request(feature_list, (char const   *)"quiet");
      if (tmp___6) {
        quiet___2 = 1;
      }
      if (advertise_atomic_push) {
        tmp___7 = parse_feature_request(feature_list, (char const   *)"atomic");
        if (tmp___7) {
          use_atomic = 1;
        }
      }
      if (advertise_push_options) {
        tmp___8 = parse_feature_request(feature_list, (char const   *)"push-options");
        if (tmp___8) {
          use_push_options = 1;
        }
      }
      hash___0 = parse_feature_value(feature_list, (char const   *)"object-format",
                                     & len___0, (int *)((void *)0));
      if (! hash___0) {
        hash___0 = (char const   *)hash_algos[1].name;
        tmp___9 = strlen(hash___0);
        len___0 = (int )tmp___9;
      }
      tmp___10 = xstrncmpz((char const   *)(the_repository->hash_algo)->name, hash___0,
                           (size_t )len___0);
      if (tmp___10) {
        die((char const   *)"error: unsupported object format \'%s\'", hash___0);
      }
      client_sid = parse_feature_value(feature_list, (char const   *)"session-id",
                                       & len___0, (int *)((void *)0));
      if (client_sid) {
        tmp___11 = xstrndup(client_sid, (size_t )len___0);
        sid = tmp___11;
        trace2_data_string_fl((char const   *)"builtin/receive-pack.c", 2106, (char const   *)"transfer",
                              (struct repository  const  *)((void *)0), (char const   *)"client-sid",
                              client_sid);
        free((void *)sid);
      }
    }
    tmp___13 = strcmp(reader->line, (char const   *)"push-cert");
    if (! tmp___13) {
      true_flush = 0;
      saved_options = reader->options;
      reader->options = (int )((unsigned int )reader->options & ~ (1u << 1));
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        packet_reader_read(reader);
        if ((unsigned int )reader->status == 2U) {
          true_flush = 1;
          goto while_break___0;
        }
        if ((unsigned int )reader->status != 1U) {
          die((char const   *)"protocol error: got an unexpected packet");
        }
        tmp___12 = strcmp(reader->line, (char const   *)"push-cert-end\n");
        if (! tmp___12) {
          goto while_break___0;
        }
        strbuf_addstr(& push_cert, reader->line);
      }
      while_break___0: /* CIL Label */ ;
      }
      reader->options = saved_options;
      if (true_flush) {
        goto while_break;
      }
      goto __Cont;
    }
    p___0 = queue_command(p___0, reader->line, linelen___1);
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  if (push_cert.len) {
    queue_commands_from_cert(p___0, & push_cert);
  }
  return (commands___2);
}
}
static void read_push_options(struct packet_reader *reader , struct string_list *options )
{
  enum packet_read_status tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = packet_reader_read(reader);
    if ((unsigned int )tmp != 1U) {
      goto while_break;
    }
    string_list_append(options, reader->line);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static char const   *parse_pack_header___0(struct pack_header *hdr )
{
  int tmp ;

  {
  tmp = read_pack_header(0, hdr);
  {
  if (tmp == -1) {
    goto case_neg_1;
  }
  if (tmp == -2) {
    goto case_neg_2;
  }
  if (tmp == -3) {
    goto case_neg_3;
  }
  if (tmp == 0) {
    goto case_0;
  }
  goto switch_default;
  case_neg_1: /* CIL Label */
  return ((char const   *)"eof before pack header was fully read");
  case_neg_2: /* CIL Label */
  return ((char const   *)"protocol error (pack signature mismatch detected)");
  case_neg_3: /* CIL Label */
  return ((char const   *)"protocol error (pack version unsupported)");
  switch_default: /* CIL Label */
  return ((char const   *)"unknown error in parse_pack_header");
  case_0: /* CIL Label */
  return ((char const   *)((void *)0));
  switch_break: /* CIL Label */ ;
  }
}
}
static char const   *pack_lockfile  ;
static void push_header_arg(struct strvec *args___0 , struct pack_header *hdr )
{
  uint32_t tmp ;
  uint32_t tmp___0 ;

  {
  tmp = git_bswap32(hdr->hdr_entries);
  tmp___0 = git_bswap32(hdr->hdr_version);
  strvec_pushf(args___0, (char const   *)"--pack_header=%u,%u", tmp___0, tmp);
  return;
}
}
static char const   *unpack(int err_fd , struct shallow_info *si )
{
  struct pack_header hdr ;
  char const   *hdr_err ;
  int status ;
  struct child_process child ;
  int fsck_objects ;
  int tmp ;
  int tmp___0 ;
  char const   **tmp___1 ;
  char hostname[65] ;
  int tmp___2 ;
  __pid_t tmp___3 ;
  char *tmp___4 ;
  uint32_t tmp___5 ;

  {
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  if (receive_fsck_objects >= 0) {
    tmp___0 = receive_fsck_objects;
  } else {
    if (transfer_fsck_objects___0 >= 0) {
      tmp = transfer_fsck_objects___0;
    } else {
      tmp = 0;
    }
    tmp___0 = tmp;
  }
  fsck_objects = tmp___0;
  hdr_err = parse_pack_header___0(& hdr);
  if (hdr_err) {
    if (err_fd > 0) {
      close(err_fd);
    }
    return (hdr_err);
  }
  if (si->nr_ours) {
    alt_shallow_file = setup_temporary_shallow((struct oid_array  const  *)si->shallow);
    strvec_push(& child.args, (char const   *)"--shallow-file");
    strvec_push(& child.args, alt_shallow_file);
  } else
  if (si->nr_theirs) {
    alt_shallow_file = setup_temporary_shallow((struct oid_array  const  *)si->shallow);
    strvec_push(& child.args, (char const   *)"--shallow-file");
    strvec_push(& child.args, alt_shallow_file);
  }
  tmp_objdir = tmp_objdir_create((char const   *)"incoming");
  if (! tmp_objdir) {
    if (err_fd > 0) {
      close(err_fd);
    }
    return ((char const   *)"unable to create temporary object directory");
  }
  if (tmp_objdir) {
    tmp___1 = tmp_objdir_env((struct tmp_objdir  const  *)tmp_objdir);
    strvec_pushv(& child.env_array, tmp___1);
  }
  tmp_objdir_add_as_alternate((struct tmp_objdir  const  *)tmp_objdir);
  tmp___5 = git_bswap32(hdr.hdr_entries);
  if (tmp___5 < (uint32_t )unpack_limit___1) {
    strvec_push(& child.args, (char const   *)"unpack-objects");
    push_header_arg(& child.args, & hdr);
    if (quiet___2) {
      strvec_push(& child.args, (char const   *)"-q");
    }
    if (fsck_objects) {
      strvec_pushf(& child.args, (char const   *)"--strict%s", fsck_msg_types___0.buf);
    }
    if (max_input_size___0) {
      strvec_pushf(& child.args, (char const   *)"--max-input-size=%lu", (uintmax_t )max_input_size___0);
    }
    child.no_stdout = 1U;
    child.err = err_fd;
    child.git_cmd = 1U;
    status = run_command(& child);
    if (status) {
      return ((char const   *)"unpack-objects abnormal exit");
    }
  } else {
    strvec_pushl(& child.args, "index-pack", "--stdin", (void *)0);
    push_header_arg(& child.args, & hdr);
    tmp___2 = xgethostname(hostname, sizeof(hostname));
    if (tmp___2) {
      xsnprintf(hostname, sizeof(hostname), (char const   *)"localhost");
    }
    tmp___3 = getpid();
    strvec_pushf(& child.args, (char const   *)"--keep=receive-pack %lu on %s", (uintmax_t )tmp___3,
                 hostname);
    if (! quiet___2) {
      if (err_fd) {
        strvec_push(& child.args, (char const   *)"--show-resolving-progress");
      }
    }
    if (use_sideband___0) {
      strvec_push(& child.args, (char const   *)"--report-end-of-input");
    }
    if (fsck_objects) {
      strvec_pushf(& child.args, (char const   *)"--strict%s", fsck_msg_types___0.buf);
    }
    if (! reject_thin) {
      strvec_push(& child.args, (char const   *)"--fix-thin");
    }
    if (max_input_size___0) {
      strvec_pushf(& child.args, (char const   *)"--max-input-size=%lu", (uintmax_t )max_input_size___0);
    }
    child.out = -1;
    child.err = err_fd;
    child.git_cmd = 1U;
    status = start_command(& child);
    if (status) {
      return ((char const   *)"index-pack fork failed");
    }
    tmp___4 = index_pack_lockfile(child.out, (int *)((void *)0));
    pack_lockfile = (char const   *)tmp___4;
    close(child.out);
    status = finish_command(& child);
    if (status) {
      return ((char const   *)"index-pack abnormal exit");
    }
    reprepare_packed_git(the_repository);
  }
  return ((char const   *)((void *)0));
}
}
static char const   *unpack_with_sideband(struct shallow_info *si )
{
  struct async muxer ;
  char const   *ret___67 ;
  char const   *tmp ;
  int tmp___0 ;

  {
  if (! use_sideband___0) {
    tmp = unpack(0, si);
    return (tmp);
  }
  use_keepalive = (enum __anonenum_use_keepalive_966299638 )1;
  memset((void *)(& muxer), 0, sizeof(muxer));
  muxer.proc = & copy_to_sideband;
  muxer.in = -1;
  tmp___0 = start_async(& muxer);
  if (tmp___0) {
    return ((char const   *)((void *)0));
  }
  ret___67 = unpack(muxer.in, si);
  finish_async(& muxer);
  return (ret___67);
}
}
static void prepare_shallow_update(struct shallow_info *si )
{
  int i ;
  int j ;
  int k ;
  int bitmap_size ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;
  void *tmp___3 ;

  {
  bitmap_size = (int )((((si->ref)->nr + 32UL) - 1UL) / 32UL);
  tmp = st_mult(sizeof(*(si->used_shallow)), (si->shallow)->nr);
  tmp___0 = xmalloc(tmp);
  si->used_shallow = (uint32_t **)tmp___0;
  assign_shallow_commits_to_refs(si, si->used_shallow, (int *)((void *)0));
  tmp___1 = xcalloc((si->shallow)->nr, sizeof(*(si->need_reachability_test)));
  si->need_reachability_test = (int *)tmp___1;
  tmp___2 = xcalloc((si->shallow)->nr, sizeof(*(si->reachable)));
  si->reachable = (int *)tmp___2;
  tmp___3 = xcalloc((si->ref)->nr, sizeof(*(si->shallow_ref)));
  si->shallow_ref = (int *)tmp___3;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < si->nr_ours)) {
      goto while_break;
    }
    *(si->need_reachability_test + *(si->ours + i)) = 1;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((size_t )i < (si->shallow)->nr)) {
      goto while_break___0;
    }
    if (! *(si->used_shallow + i)) {
      goto __Cont;
    }
    j = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (j < bitmap_size)) {
        goto while_break___1;
      }
      if (! *(*(si->used_shallow + i) + j)) {
        goto __Cont___0;
      }
      (*(si->need_reachability_test + i)) ++;
      k = 0;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (! (k < 32)) {
          goto while_break___2;
        }
        if (*(*(si->used_shallow + i) + j) & (1U << k)) {
          (*(si->shallow_ref + (j * 32 + k))) ++;
        }
        k ++;
      }
      while_break___2: /* CIL Label */ ;
      }
      __Cont___0: /* CIL Label */
      j ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    *(si->need_reachability_test + i) = *(si->need_reachability_test + i) > 1;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  setenv((char const   *)"GIT_SHALLOW_FILE", alt_shallow_file, 1);
  return;
}
}
static void update_shallow_info(struct command *commands___2 , struct shallow_info *si ,
                                struct oid_array *ref )
{
  struct command *cmd ;
  int *ref_status ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;

  {
  remove_nonexistent_theirs_shallow(si);
  if (! si->nr_ours) {
    if (! si->nr_theirs) {
      shallow_update = 0;
      return;
    }
  }
  cmd = commands___2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! cmd) {
      goto while_break;
    }
    tmp = is_null_oid((struct object_id  const  *)(& cmd->new_oid));
    if (tmp) {
      goto __Cont;
    }
    oid_array_append(ref, (struct object_id  const  *)(& cmd->new_oid));
    cmd->index = (int )(ref->nr - 1UL);
    __Cont: /* CIL Label */
    cmd = cmd->next;
  }
  while_break: /* CIL Label */ ;
  }
  si->ref = ref;
  if (shallow_update) {
    prepare_shallow_update(si);
    return;
  }
  tmp___0 = st_mult(sizeof(*ref_status), ref->nr);
  tmp___1 = xmalloc(tmp___0);
  ref_status = (int *)tmp___1;
  assign_shallow_commits_to_refs(si, (uint32_t **)((void *)0), ref_status);
  cmd = commands___2;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! cmd) {
      goto while_break___0;
    }
    tmp___2 = is_null_oid((struct object_id  const  *)(& cmd->new_oid));
    if (tmp___2) {
      goto __Cont___0;
    }
    if (*(ref_status + cmd->index)) {
      cmd->error_string = (char const   *)"shallow update not allowed";
      cmd->skip_update = 1U;
    }
    __Cont___0: /* CIL Label */
    cmd = cmd->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  free((void *)ref_status);
  return;
}
}
static void report___1(struct command *commands___2 , char const   *unpack_status )
{
  struct command *cmd ;
  struct strbuf buf___19 ;
  char const   *tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (unpack_status) {
    tmp = unpack_status;
  } else {
    tmp = (char const   *)"ok";
  }
  packet_buf_write(& buf___19, (char const   *)"unpack %s\n", tmp);
  cmd = commands___2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! cmd) {
      goto while_break;
    }
    if (! cmd->error_string) {
      packet_buf_write(& buf___19, (char const   *)"ok %s\n", cmd->ref_name);
    } else {
      packet_buf_write(& buf___19, (char const   *)"ng %s %s\n", cmd->ref_name, cmd->error_string);
    }
    cmd = cmd->next;
  }
  while_break: /* CIL Label */ ;
  }
  packet_buf_flush(& buf___19);
  if (use_sideband___0) {
    send_sideband(1, 1, (char const   *)buf___19.buf, (ssize_t )buf___19.len, use_sideband___0);
  } else {
    write_or_die(1, (void const   *)buf___19.buf, buf___19.len);
  }
  strbuf_release(& buf___19);
  return;
}
}
static void report_v2(struct command *commands___2 , char const   *unpack_status )
{
  struct command *cmd ;
  struct strbuf buf___19 ;
  struct ref_push_report *report___3 ;
  char const   *tmp ;
  int count___0 ;
  int tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (unpack_status) {
    tmp = unpack_status;
  } else {
    tmp = (char const   *)"ok";
  }
  packet_buf_write(& buf___19, (char const   *)"unpack %s\n", tmp);
  cmd = commands___2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! cmd) {
      goto while_break;
    }
    count___0 = 0;
    if (cmd->error_string) {
      packet_buf_write(& buf___19, (char const   *)"ng %s %s\n", cmd->ref_name, cmd->error_string);
      goto __Cont;
    }
    packet_buf_write(& buf___19, (char const   *)"ok %s\n", cmd->ref_name);
    report___3 = cmd->report;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! report___3) {
        goto while_break___0;
      }
      tmp___0 = count___0;
      count___0 ++;
      if (tmp___0 > 0) {
        packet_buf_write(& buf___19, (char const   *)"ok %s\n", cmd->ref_name);
      }
      if (report___3->ref_name) {
        packet_buf_write(& buf___19, (char const   *)"option refname %s\n", report___3->ref_name);
      }
      if (report___3->old_oid) {
        tmp___1 = oid_to_hex((struct object_id  const  *)report___3->old_oid);
        packet_buf_write(& buf___19, (char const   *)"option old-oid %s\n", tmp___1);
      }
      if (report___3->new_oid) {
        tmp___2 = oid_to_hex((struct object_id  const  *)report___3->new_oid);
        packet_buf_write(& buf___19, (char const   *)"option new-oid %s\n", tmp___2);
      }
      if (report___3->forced_update) {
        packet_buf_write(& buf___19, (char const   *)"option forced-update\n");
      }
      report___3 = report___3->next;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    cmd = cmd->next;
  }
  while_break: /* CIL Label */ ;
  }
  packet_buf_flush(& buf___19);
  if (use_sideband___0) {
    send_sideband(1, 1, (char const   *)buf___19.buf, (ssize_t )buf___19.len, use_sideband___0);
  } else {
    write_or_die(1, (void const   *)buf___19.buf, buf___19.len);
  }
  strbuf_release(& buf___19);
  return;
}
}
static int delete_only(struct command *commands___2 )
{
  struct command *cmd ;
  int tmp ;

  {
  cmd = commands___2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! cmd) {
      goto while_break;
    }
    tmp = is_null_oid((struct object_id  const  *)(& cmd->new_oid));
    if (! tmp) {
      return (0);
    }
    cmd = cmd->next;
  }
  while_break: /* CIL Label */ ;
  }
  return (1);
}
}
int cmd_receive_pack(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int advertise_refs ;
  struct command *commands___2 ;
  struct oid_array shallow ;
  struct oid_array ref ;
  struct shallow_info si ;
  struct packet_reader reader ;
  struct option options[6] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const   *tmp___1 ;
  time_t tmp___2 ;
  char *tmp___3 ;
  enum protocol_version tmp___4 ;
  char const   *unpack_status ;
  struct string_list push_options ;
  struct command *cmd ;
  int tmp___5 ;
  int tmp___6 ;
  struct child_process proc ;
  int tmp___7 ;

  {
  advertise_refs = 0;
  shallow.oid = (struct object_id *)0;
  shallow.nr = 0UL;
  shallow.alloc = 0UL;
  shallow.sorted = 0;
  ref.oid = (struct object_id *)0;
  ref.nr = 0UL;
  ref.alloc = 0UL;
  ref.sorted = 0;
  options[0].type = (enum parse_opt_type )7;
  options[0].short_name = 'q';
  options[0].long_name = (char const   *)"quiet";
  options[0].value = (void *)(& quiet___2);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"quiet";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"stateless-rpc";
  options[1].value = (void *)(& stateless_rpc);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)((void *)0);
  options[1].flags = (enum parse_opt_option_flags )10;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"http-backend-info-refs";
  options[2].value = (void *)(& advertise_refs);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)((void *)0);
  options[2].flags = (enum parse_opt_option_flags )10;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )1;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )3;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"advertise-refs";
  options[3].value = (void *)"http-backend-info-refs";
  options[3].argh = (char const   *)0;
  options[3].help = (char const   *)0;
  options[3].flags = 0U;
  options[3].callback = (parse_opt_cb *)0;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"reject-thin-pack-for-testing";
  options[4].value = (void *)(& reject_thin);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)((void *)0);
  options[4].flags = (enum parse_opt_option_flags )10;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )1;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )0;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)0;
  options[5].value = (void *)0;
  options[5].argh = (char const   *)0;
  options[5].help = (char const   *)0;
  options[5].flags = 0U;
  options[5].callback = (parse_opt_cb *)0;
  options[5].defval = 0L;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  packet_trace_identity((char const   *)"receive-pack");
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       receive_pack_usage, (enum parse_opt_flags )0);
  if (argc > 1) {
    tmp = _((char const   *)"too many arguments");
    usage_msg_opt((char const   *)tmp, receive_pack_usage, (struct option  const  *)(options));
  }
  if (argc == 0) {
    tmp___0 = _((char const   *)"you must specify a directory");
    usage_msg_opt((char const   *)tmp___0, receive_pack_usage, (struct option  const  *)(options));
  }
  service_dir = *(argv___0 + 0);
  setup_path();
  tmp___1 = enter_repo(service_dir, 0);
  if (! tmp___1) {
    die((char const   *)"\'%s\' does not appear to be a git repository", service_dir);
  }
  git_config(& receive_pack_config, (void *)0);
  if (cert_nonce_seed) {
    tmp___2 = time((time_t *)((void *)0));
    tmp___3 = prepare_push_cert_nonce(service_dir, (timestamp_t )tmp___2);
    push_cert_nonce = (char const   *)tmp___3;
  }
  if (0 <= transfer_unpack_limit___0) {
    unpack_limit___1 = transfer_unpack_limit___0;
  } else
  if (0 <= receive_unpack_limit) {
    unpack_limit___1 = receive_unpack_limit;
  }
  tmp___4 = determine_protocol_version_server();
  {
  if ((int )tmp___4 == 2) {
    goto case_2;
  }
  if ((int )tmp___4 == 1) {
    goto case_1;
  }
  if ((int )tmp___4 == 0) {
    goto case_0;
  }
  if ((int )tmp___4 == -1) {
    goto case_neg_1;
  }
  goto switch_break;
  case_2: /* CIL Label */
  goto switch_break;
  case_1: /* CIL Label */
  if (advertise_refs) {
    packet_write_fmt(1, (char const   *)"version 1\n");
  } else
  if (! stateless_rpc) {
    packet_write_fmt(1, (char const   *)"version 1\n");
  }
  case_0: /* CIL Label */
  goto switch_break;
  case_neg_1: /* CIL Label */
  BUG_fl((char const   *)"builtin/receive-pack.c", 2526, (char const   *)"unknown protocol version");
  switch_break: /* CIL Label */ ;
  }
  if (advertise_refs) {
    write_head_info();
  } else
  if (! stateless_rpc) {
    write_head_info();
  }
  if (advertise_refs) {
    return (0);
  }
  packet_reader_init(& reader, 0, (char *)((void *)0), (size_t )0, (int )((1u << 1) | (1u << 2)));
  commands___2 = read_head_info(& reader, & shallow);
  if ((unsigned long )commands___2 != (unsigned long )((void *)0)) {
    unpack_status = (char const   *)((void *)0);
    push_options.items = (struct string_list_item *)0;
    push_options.nr = 0U;
    push_options.alloc = 0U;
    push_options.strdup_strings = 1U;
    push_options.cmp = (int (*)(char const   * , char const   * ))0;
    if (use_push_options) {
      read_push_options(& reader, & push_options);
    }
    tmp___5 = check_cert_push_options((struct string_list  const  *)(& push_options));
    if (! tmp___5) {
      cmd = commands___2;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! cmd) {
          goto while_break;
        }
        cmd->error_string = (char const   *)"inconsistent push options";
        cmd = cmd->next;
      }
      while_break: /* CIL Label */ ;
      }
    }
    prepare_shallow_info(& si, & shallow);
    if (! si.nr_ours) {
      if (! si.nr_theirs) {
        shallow_update = 0;
      }
    }
    tmp___6 = delete_only(commands___2);
    if (! tmp___6) {
      unpack_status = unpack_with_sideband(& si);
      update_shallow_info(commands___2, & si, & ref);
    }
    use_keepalive = (enum __anonenum_use_keepalive_966299638 )2;
    execute_commands(commands___2, unpack_status, & si, (struct string_list  const  *)(& push_options));
    if (pack_lockfile) {
      unlink_or_warn(pack_lockfile);
    }
    sigchain_push(13, (void (*)(int  ))1);
    if (report_status_v2) {
      report_v2(commands___2, unpack_status);
    } else
    if (report_status) {
      report___1(commands___2, unpack_status);
    }
    sigchain_pop(13);
    run_receive_hook(commands___2, (char const   *)"post-receive", 1, (struct string_list  const  *)(& push_options));
    run_update_post_hook(commands___2);
    string_list_clear(& push_options, 0);
    if (auto_gc) {
      proc.args.v = empty_strvec;
      proc.args.nr = 0UL;
      proc.args.alloc = 0UL;
      proc.env_array.v = empty_strvec;
      proc.env_array.nr = 0UL;
      proc.env_array.alloc = 0UL;
      proc.pid = 0;
      proc.trace2_child_id = 0;
      proc.trace2_child_us_start = 0UL;
      proc.trace2_child_class = (char const   *)0;
      proc.trace2_hook_name = (char const   *)0;
      proc.in = 0;
      proc.out = 0;
      proc.err = 0;
      proc.dir = (char const   *)0;
      proc.no_stdin = 0U;
      proc.no_stdout = 0U;
      proc.no_stderr = 0U;
      proc.git_cmd = 0U;
      proc.silent_exec_failure = 0U;
      proc.use_shell = 0U;
      proc.close_object_store = 0U;
      proc.stdout_to_stderr = 0U;
      proc.clean_on_exit = 0U;
      proc.wait_after_clean = 0U;
      proc.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
      proc.clean_on_exit_handler_cbdata = (void *)0;
      proc.no_stdin = 1U;
      proc.stdout_to_stderr = 1U;
      if (use_sideband___0) {
        proc.err = -1;
      } else {
        proc.err = 0;
      }
      proc.close_object_store = 1U;
      proc.git_cmd = proc.close_object_store;
      strvec_pushl(& proc.args, "gc", "--auto", "--quiet", (void *)0);
      tmp___7 = start_command(& proc);
      if (! tmp___7) {
        if (use_sideband___0) {
          copy_to_sideband(proc.err, -1, (void *)0);
        }
        finish_command(& proc);
      }
    }
    if (auto_update_server_info) {
      update_server_info(0);
    }
    clear_shallow_info(& si);
  }
  if (use_sideband___0) {
    packet_flush(1);
  }
  oid_array_clear(& shallow);
  oid_array_clear(& ref);
  free((void *)push_cert_nonce);
  return (0);
}
}
static double const   __ac_HASH_UPPER___148  =    (double const   )0.77;
__inline static void kh_resize_oid_set___148(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___148(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___148 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___148 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___148(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___148(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___148(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___148(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___148(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___148(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___148 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___148 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___148(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___148(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___148(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___148(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___148(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___148(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___148 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___148 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___148(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___148(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___148(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___148(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___109(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___109(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___148 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___148 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___109(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___109(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___109(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___109(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   reflog_expire_usage[153]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'f',      (char const   )'l',
        (char const   )'o',      (char const   )'g',      (char const   )' ',      (char const   )'e',
        (char const   )'x',      (char const   )'p',      (char const   )'i',      (char const   )'r',
        (char const   )'e',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'e',      (char const   )'x',      (char const   )'p',
        (char const   )'i',      (char const   )'r',      (char const   )'e',      (char const   )'=',
        (char const   )'<',      (char const   )'t',      (char const   )'i',      (char const   )'m',
        (char const   )'e',      (char const   )'>',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'-',      (char const   )'e',
        (char const   )'x',      (char const   )'p',      (char const   )'i',      (char const   )'r',
        (char const   )'e',      (char const   )'-',      (char const   )'u',      (char const   )'n',
        (char const   )'r',      (char const   )'e',      (char const   )'a',      (char const   )'c',
        (char const   )'h',      (char const   )'a',      (char const   )'b',      (char const   )'l',
        (char const   )'e',      (char const   )'=',      (char const   )'<',      (char const   )'t',
        (char const   )'i',      (char const   )'m',      (char const   )'e',      (char const   )'>',
        (char const   )']',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'r',      (char const   )'e',      (char const   )'w',
        (char const   )'r',      (char const   )'i',      (char const   )'t',      (char const   )'e',
        (char const   )']',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'u',      (char const   )'p',      (char const   )'d',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )'r',
        (char const   )'e',      (char const   )'f',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'-',      (char const   )'s',
        (char const   )'t',      (char const   )'a',      (char const   )'l',      (char const   )'e',
        (char const   )'-',      (char const   )'f',      (char const   )'i',      (char const   )'x',
        (char const   )']',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'d',      (char const   )'r',      (char const   )'y',
        (char const   )'-',      (char const   )'r',      (char const   )'u',      (char const   )'n',
        (char const   )' ',      (char const   )'|',      (char const   )' ',      (char const   )'-',
        (char const   )'n',      (char const   )']',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'v',      (char const   )'e',
        (char const   )'r',      (char const   )'b',      (char const   )'o',      (char const   )'s',
        (char const   )'e',      (char const   )']',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'-',      (char const   )'a',      (char const   )'l',
        (char const   )'l',      (char const   )']',      (char const   )' ',      (char const   )'<',
        (char const   )'r',      (char const   )'e',      (char const   )'f',      (char const   )'s',
        (char const   )'>',      (char const   )'.',      (char const   )'.',      (char const   )'.',
        (char const   )'\000'};
static char const   reflog_delete_usage[83]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'f',      (char const   )'l',
        (char const   )'o',      (char const   )'g',      (char const   )' ',      (char const   )'d',
        (char const   )'e',      (char const   )'l',      (char const   )'e',      (char const   )'t',
        (char const   )'e',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'r',      (char const   )'e',      (char const   )'w',
        (char const   )'r',      (char const   )'i',      (char const   )'t',      (char const   )'e',
        (char const   )']',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'u',      (char const   )'p',      (char const   )'d',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )'r',
        (char const   )'e',      (char const   )'f',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'-',      (char const   )'d',
        (char const   )'r',      (char const   )'y',      (char const   )'-',      (char const   )'r',
        (char const   )'u',      (char const   )'n',      (char const   )' ',      (char const   )'|',
        (char const   )' ',      (char const   )'-',      (char const   )'n',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'-',
        (char const   )'v',      (char const   )'e',      (char const   )'r',      (char const   )'b',
        (char const   )'o',      (char const   )'s',      (char const   )'e',      (char const   )']',
        (char const   )' ',      (char const   )'<',      (char const   )'r',      (char const   )'e',
        (char const   )'f',      (char const   )'s',      (char const   )'>',      (char const   )'.',
        (char const   )'.',      (char const   )'.',      (char const   )'\000'};
static char const   reflog_exists_usage[24]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'f',      (char const   )'l',
        (char const   )'o',      (char const   )'g',      (char const   )' ',      (char const   )'e',
        (char const   )'x',      (char const   )'i',      (char const   )'s',      (char const   )'t',
        (char const   )'s',      (char const   )' ',      (char const   )'<',      (char const   )'r',
        (char const   )'e',      (char const   )'f',      (char const   )'>',      (char const   )'\000'};
static timestamp_t default_reflog_expire  ;
static timestamp_t default_reflog_expire_unreachable  ;
static int tree_is_complete(struct object_id  const  *oid )
{
  struct tree_desc desc___0 ;
  struct name_entry entry ;
  int complete___1 ;
  struct tree *tree ;
  enum object_type type___0 ;
  unsigned long size ;
  void *data ;
  void *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tree = lookup_tree(the_repository, oid);
  if (! tree) {
    return (0);
  }
  if (tree->object.flags & 1u) {
    return (1);
  }
  if (tree->object.flags & (1u << 10)) {
    return (0);
  }
  if (! tree->buffer) {
    tmp = repo_read_object_file(the_repository, oid, & type___0, & size);
    data = tmp;
    if (! data) {
      tree->object.flags |= 1u << 10;
      return (0);
    }
    tree->buffer = data;
    tree->size = size;
  }
  init_tree_desc(& desc___0, (void const   *)tree->buffer, tree->size);
  complete___1 = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = tree_entry(& desc___0, & entry);
    if (! tmp___2) {
      goto while_break;
    }
    tmp___0 = repo_has_object_file(the_repository, (struct object_id  const  *)(& entry.oid));
    if (tmp___0) {
      if ((entry.mode & 61440U) == 16384U) {
        tmp___1 = tree_is_complete((struct object_id  const  *)(& entry.oid));
        if (! tmp___1) {
          tree->object.flags |= 1u << 10;
          complete___1 = 0;
        }
      }
    } else {
      tree->object.flags |= 1u << 10;
      complete___1 = 0;
    }
  }
  while_break: /* CIL Label */ ;
  }
  free_tree_buffer(tree);
  if (complete___1) {
    tree->object.flags |= 1u;
  }
  return (complete___1);
}
}
static int commit_is_complete(struct commit *commit )
{
  struct object_array study ;
  struct object_array found ;
  int is_incomplete ;
  int i ;
  struct commit *c___0 ;
  struct commit_list *parent ;
  struct object *tmp ;
  struct object *tmp___0 ;
  struct commit *p___0 ;
  struct commit *c___1 ;
  struct object_id *tmp___1 ;
  int tmp___2 ;

  {
  is_incomplete = 0;
  if (commit->object.flags & 1u) {
    return (1);
  }
  if (commit->object.flags & (1u << 10)) {
    return (0);
  }
  memset((void *)(& study), 0, sizeof(study));
  memset((void *)(& found), 0, sizeof(found));
  add_object_array(& commit->object, (char const   *)((void *)0), & study);
  add_object_array(& commit->object, (char const   *)((void *)0), & found);
  commit->object.flags |= 1u << 11;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! study.nr) {
      goto while_break;
    }
    tmp = object_array_pop(& study);
    c___0 = (struct commit *)tmp;
    if (! c___0->object.parsed) {
      tmp___0 = parse_object(the_repository, (struct object_id  const  *)(& c___0->object.oid));
      if (! tmp___0) {
        c___0->object.flags |= 1u << 10;
      }
    }
    if (c___0->object.flags & (1u << 10)) {
      is_incomplete = 1;
      goto while_break;
    } else
    if (c___0->object.flags & 1u) {
      goto while_continue;
    }
    parent = c___0->parents;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! parent) {
        goto while_break___0;
      }
      p___0 = parent->item;
      if (p___0->object.flags & (1u << 11)) {
        goto __Cont;
      }
      p___0->object.flags |= 1u << 11;
      add_object_array(& p___0->object, (char const   *)((void *)0), & study);
      add_object_array(& p___0->object, (char const   *)((void *)0), & found);
      __Cont: /* CIL Label */
      parent = parent->next;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (! is_incomplete) {
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((unsigned int )i < found.nr)) {
        goto while_break___1;
      }
      c___1 = (struct commit *)(found.objects + i)->item;
      tmp___1 = get_commit_tree_oid((struct commit  const  *)c___1);
      tmp___2 = tree_is_complete((struct object_id  const  *)tmp___1);
      if (! tmp___2) {
        is_incomplete = 1;
        c___1->object.flags |= 1u << 10;
      }
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (! is_incomplete) {
      i = 0;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (! ((unsigned int )i < found.nr)) {
          goto while_break___2;
        }
        ((found.objects + i)->item)->flags |= 1u;
        i ++;
      }
      while_break___2: /* CIL Label */ ;
      }
    }
  }
  i = 0;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! ((unsigned int )i < found.nr)) {
      goto while_break___3;
    }
    ((found.objects + i)->item)->flags &= ~ (1u << 11);
    i ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  if (is_incomplete) {
    commit->object.flags |= 1u << 10;
  } else {
    i = 0;
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (! ((unsigned int )i < found.nr)) {
        goto while_break___4;
      }
      ((found.objects + i)->item)->flags |= 1u;
      i ++;
    }
    while_break___4: /* CIL Label */ ;
    }
  }
  object_array_clear(& study);
  object_array_clear(& found);
  return (! is_incomplete);
}
}
static int keep_entry___0(struct commit **it , struct object_id *oid )
{
  struct commit *commit ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = is_null_oid((struct object_id  const  *)oid);
  if (tmp) {
    return (1);
  }
  commit = lookup_commit_reference_gently(the_repository, (struct object_id  const  *)oid,
                                          1);
  if (! commit) {
    return (0);
  }
  tmp___0 = commit_is_complete(commit);
  if (! tmp___0) {
    return (0);
  }
  *it = commit;
  return (1);
}
}
static void mark_reachable(struct expire_reflog_policy_cb *cb )
{
  struct commit_list *pending___0 ;
  timestamp_t expire_limit ;
  struct commit_list *leftover ;
  struct commit_list *parent ;
  struct commit *commit ;
  struct commit *tmp ;
  int tmp___0 ;

  {
  expire_limit = cb->mark_limit;
  leftover = (struct commit_list *)((void *)0);
  pending___0 = cb->mark_list;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! pending___0) {
      goto while_break;
    }
    (pending___0->item)->object.flags &= ~ (1u << 12);
    pending___0 = pending___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  pending___0 = cb->mark_list;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! pending___0) {
      goto while_break___0;
    }
    tmp = pop_commit(& pending___0);
    commit = tmp;
    if (commit->object.flags & (1u << 12)) {
      goto while_continue___0;
    }
    tmp___0 = repo_parse_commit(the_repository, commit);
    if (tmp___0) {
      goto while_continue___0;
    }
    commit->object.flags |= 1u << 12;
    if (commit->date < expire_limit) {
      commit_list_insert(commit, & leftover);
      goto while_continue___0;
    }
    commit->object.flags |= 1u << 12;
    parent = commit->parents;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! parent) {
        goto while_break___1;
      }
      commit = parent->item;
      parent = parent->next;
      if (commit->object.flags & (1u << 12)) {
        goto while_continue___1;
      }
      commit_list_insert(commit, & pending___0);
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  cb->mark_list = leftover;
  return;
}
}
static int unreachable(struct expire_reflog_policy_cb *cb , struct commit *commit ,
                       struct object_id *oid )
{
  int tmp ;

  {
  if (! commit) {
    tmp = is_null_oid((struct object_id  const  *)oid);
    if (tmp) {
      return (0);
    }
    commit = lookup_commit_reference_gently(the_repository, (struct object_id  const  *)oid,
                                            1);
    if (! commit) {
      return (0);
    }
  }
  if (commit->object.flags & (1u << 12)) {
    return (0);
  }
  if (cb->mark_list) {
    if (cb->mark_limit) {
      cb->mark_limit = 0UL;
      mark_reachable(cb);
    }
  }
  return (! (commit->object.flags & (1u << 12)));
}
}
static int should_expire_reflog_ent(struct object_id *ooid , struct object_id *noid ,
                                    char const   *email , timestamp_t timestamp___0 ,
                                    int tz , char const   *message___0 , void *cb_data )
{
  struct expire_reflog_policy_cb *cb ;
  struct commit *old_commit ;
  struct commit *new_commit ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  cb = (struct expire_reflog_policy_cb *)cb_data;
  if (timestamp___0 < cb->cmd.expire_total) {
    return (1);
  }
  new_commit = (struct commit *)((void *)0);
  old_commit = new_commit;
  if (cb->cmd.stalefix) {
    tmp = keep_entry___0(& old_commit, ooid);
    if (tmp) {
      tmp___0 = keep_entry___0(& new_commit, noid);
      if (! tmp___0) {
        return (1);
      }
    } else {
      return (1);
    }
  }
  if (timestamp___0 < cb->cmd.expire_unreachable) {
    {
    if ((unsigned int )cb->unreachable_expire_kind == 1U) {
      goto case_1;
    }
    if ((unsigned int )cb->unreachable_expire_kind == 2U) {
      goto case_2;
    }
    if ((unsigned int )cb->unreachable_expire_kind == 0U) {
      goto case_2;
    }
    goto switch_break;
    case_1: /* CIL Label */
    return (1);
    case_2: /* CIL Label */
    case_0: /* CIL Label */
    tmp___1 = unreachable(cb, old_commit, ooid);
    if (tmp___1) {
      return (1);
    } else {
      tmp___2 = unreachable(cb, new_commit, noid);
      if (tmp___2) {
        return (1);
      }
    }
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
  }
  if (cb->cmd.recno) {
    (cb->cmd.recno) --;
    if (cb->cmd.recno == 0) {
      return (1);
    }
  }
  return (0);
}
}
static int should_expire_reflog_ent_verbose(struct object_id *ooid , struct object_id *noid ,
                                            char const   *email , timestamp_t timestamp___0 ,
                                            int tz , char const   *message___0 , void *cb_data )
{
  struct expire_reflog_policy_cb *cb ;
  int expire___1 ;

  {
  cb = (struct expire_reflog_policy_cb *)cb_data;
  expire___1 = should_expire_reflog_ent(ooid, noid, email, timestamp___0, tz, message___0,
                                        (void *)cb);
  if (! expire___1) {
    printf((char const   *)"keep %s", message___0);
  } else
  if (cb->dry_run) {
    printf((char const   *)"would prune %s", message___0);
  } else {
    printf((char const   *)"prune %s", message___0);
  }
  return (expire___1);
}
}
static int push_tip_to_list(char const   *refname , struct object_id  const  *oid ,
                            int flags___0 , void *cb_data )
{
  struct commit_list **list___3 ;
  struct commit *tip_commit ;

  {
  list___3 = (struct commit_list **)cb_data;
  if (flags___0 & 0x01) {
    return (0);
  }
  tip_commit = lookup_commit_reference_gently(the_repository, oid, 1);
  if (! tip_commit) {
    return (0);
  }
  commit_list_insert(tip_commit, list___3);
  return (0);
}
}
static int is_head(char const   *refname )
{
  enum ref_type tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = ref_type(refname);
  {
  if ((unsigned int )tmp == 2U) {
    goto case_2;
  }
  if ((unsigned int )tmp == 3U) {
    goto case_2;
  }
  goto switch_default;
  case_2: /* CIL Label */
  case_3: /* CIL Label */
  tmp___0 = parse_worktree_ref(refname, (char const   **)((void *)0), (int *)((void *)0),
                               & refname);
  if (tmp___0) {
    BUG_fl((char const   *)"builtin/reflog.c", 365, (char const   *)"not a worktree ref: %s",
           refname);
  }
  goto switch_break;
  switch_default: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  tmp___1 = strcmp(refname, (char const   *)"HEAD");
  if (tmp___1) {
    tmp___2 = 0;
  } else {
    tmp___2 = 1;
  }
  return (tmp___2);
}
}
static void reflog_expiry_prepare(char const   *refname , struct object_id  const  *oid ,
                                  void *cb_data )
{
  struct expire_reflog_policy_cb *cb ;
  struct commit_list *elem ;
  struct commit *commit ;
  int tmp ;

  {
  cb = (struct expire_reflog_policy_cb *)cb_data;
  commit = (struct commit *)((void *)0);
  if (! cb->cmd.expire_unreachable) {
    cb->unreachable_expire_kind = (enum __anonenum_unreachable_expire_kind_773851274 )2;
  } else {
    tmp = is_head(refname);
    if (tmp) {
      cb->unreachable_expire_kind = (enum __anonenum_unreachable_expire_kind_773851274 )2;
    } else {
      commit = lookup_commit(the_repository, oid);
      if (commit) {
        cb->unreachable_expire_kind = (enum __anonenum_unreachable_expire_kind_773851274 )0;
      } else {
        cb->unreachable_expire_kind = (enum __anonenum_unreachable_expire_kind_773851274 )1;
      }
    }
  }
  if (cb->cmd.expire_unreachable <= cb->cmd.expire_total) {
    cb->unreachable_expire_kind = (enum __anonenum_unreachable_expire_kind_773851274 )1;
  }
  {
  if ((unsigned int )cb->unreachable_expire_kind == 1U) {
    goto case_1;
  }
  if ((unsigned int )cb->unreachable_expire_kind == 2U) {
    goto case_2;
  }
  if ((unsigned int )cb->unreachable_expire_kind == 0U) {
    goto case_0;
  }
  goto switch_break;
  case_1: /* CIL Label */
  return;
  case_2: /* CIL Label */
  for_each_ref(& push_tip_to_list, (void *)(& cb->tips));
  elem = cb->tips;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! elem) {
      goto while_break;
    }
    commit_list_insert(elem->item, & cb->mark_list);
    elem = elem->next;
  }
  while_break: /* CIL Label */ ;
  }
  goto switch_break;
  case_0: /* CIL Label */
  commit_list_insert(commit, & cb->mark_list);
  cb->tip_commit = commit;
  switch_break: /* CIL Label */ ;
  }
  cb->mark_limit = cb->cmd.expire_total;
  mark_reachable(cb);
  return;
}
}
static void reflog_expiry_cleanup(void *cb_data )
{
  struct expire_reflog_policy_cb *cb ;
  struct commit_list *elem ;

  {
  cb = (struct expire_reflog_policy_cb *)cb_data;
  {
  if ((unsigned int )cb->unreachable_expire_kind == 1U) {
    goto case_1;
  }
  if ((unsigned int )cb->unreachable_expire_kind == 2U) {
    goto case_2;
  }
  if ((unsigned int )cb->unreachable_expire_kind == 0U) {
    goto case_0;
  }
  goto switch_break;
  case_1: /* CIL Label */
  return;
  case_2: /* CIL Label */
  elem = cb->tips;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! elem) {
      goto while_break;
    }
    clear_commit_marks(elem->item, 1u << 12);
    elem = elem->next;
  }
  while_break: /* CIL Label */ ;
  }
  free_commit_list(cb->tips);
  goto switch_break;
  case_0: /* CIL Label */
  clear_commit_marks(cb->tip_commit, 1u << 12);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return;
}
}
static int collect_reflog(char const   *ref , struct object_id  const  *oid , int unused ,
                          void *cb_data )
{
  struct worktree_reflogs *cb ;
  struct worktree *worktree ;
  struct strbuf newref ;
  enum ref_type tmp ;
  char *tmp___0 ;

  {
  cb = (struct worktree_reflogs *)cb_data;
  worktree = cb->worktree;
  newref.alloc = 0UL;
  newref.len = 0UL;
  newref.buf = strbuf_slopbuf;
  if (! worktree->is_current) {
    tmp = ref_type(ref);
    if ((unsigned int )tmp == 4U) {
      return (0);
    }
  }
  strbuf_worktree_ref((struct worktree  const  *)worktree, & newref, ref);
  tmp___0 = strbuf_detach(& newref, (size_t *)((void *)0));
  string_list_append_nodup(& cb->reflogs, tmp___0);
  return (0);
}
}
static struct reflog_expire_cfg *reflog_expire_cfg  ;
static struct reflog_expire_cfg **reflog_expire_cfg_tail  ;
static struct reflog_expire_cfg *find_cfg_ent(char const   *pattern___0 , size_t len___0 )
{
  struct reflog_expire_cfg *ent ;
  int tmp ;
  size_t flex_array_len_ ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;

  {
  if (! reflog_expire_cfg_tail) {
    reflog_expire_cfg_tail = & reflog_expire_cfg;
  }
  ent = reflog_expire_cfg;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ent) {
      goto while_break;
    }
    tmp = strncmp((char const   *)(ent->pattern), pattern___0, len___0);
    if (! tmp) {
      if ((int )ent->pattern[len___0] == 0) {
        return (ent);
      }
    }
    ent = ent->next;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    flex_array_len_ = len___0;
    tmp___0 = st_add(sizeof(*ent), flex_array_len_);
    tmp___1 = st_add(tmp___0, (size_t )1);
    tmp___2 = xcalloc((size_t )1, tmp___1);
    ent = (struct reflog_expire_cfg *)tmp___2;
    memcpy((void *)(ent->pattern), (void const   *)pattern___0, flex_array_len_);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  *reflog_expire_cfg_tail = ent;
  reflog_expire_cfg_tail = & ent->next;
  return (ent);
}
}
static int reflog_expire_config(char const   *var , char const   *value , void *cb )
{
  char const   *pattern___0 ;
  char const   *key___1 ;
  size_t pattern_len ;
  timestamp_t expire___1 ;
  int slot ;
  struct reflog_expire_cfg *ent ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp___0 = parse_config_key(var, (char const   *)"gc", & pattern___0, & pattern_len,
                             & key___1);
  if (tmp___0 < 0) {
    tmp = git_default_config(var, value, cb);
    return (tmp);
  }
  tmp___5 = strcmp(key___1, (char const   *)"reflogexpire");
  if (tmp___5) {
    tmp___4 = strcmp(key___1, (char const   *)"reflogexpireunreachable");
    if (tmp___4) {
      tmp___3 = git_default_config(var, value, cb);
      return (tmp___3);
    } else {
      slot = 02;
      tmp___2 = git_config_expiry_date(& expire___1, var, value);
      if (tmp___2) {
        return (-1);
      }
    }
  } else {
    slot = 01;
    tmp___1 = git_config_expiry_date(& expire___1, var, value);
    if (tmp___1) {
      return (-1);
    }
  }
  if (! pattern___0) {
    {
    if (slot == 01) {
      goto case_1;
    }
    if (slot == 02) {
      goto case_2;
    }
    goto switch_break;
    case_1: /* CIL Label */
    default_reflog_expire = expire___1;
    goto switch_break;
    case_2: /* CIL Label */
    default_reflog_expire_unreachable = expire___1;
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    return (0);
  }
  ent = find_cfg_ent(pattern___0, pattern_len);
  if (! ent) {
    return (-1);
  }
  {
  if (slot == 01) {
    goto case_1___0;
  }
  if (slot == 02) {
    goto case_2___0;
  }
  goto switch_break___0;
  case_1___0: /* CIL Label */
  ent->expire_total = expire___1;
  goto switch_break___0;
  case_2___0: /* CIL Label */
  ent->expire_unreachable = expire___1;
  goto switch_break___0;
  switch_break___0: /* CIL Label */ ;
  }
  return (0);
}
}
static void set_reflog_expiry_param(struct cmd_reflog_expire_cb *cb , int slot , char const   *ref )
{
  struct reflog_expire_cfg *ent ;
  int tmp ;
  int tmp___0 ;

  {
  if (slot == 3) {
    return;
  }
  ent = reflog_expire_cfg;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ent) {
      goto while_break;
    }
    tmp = wildmatch((char const   *)(ent->pattern), ref, 0U);
    if (! tmp) {
      if (! (slot & 01)) {
        cb->expire_total = ent->expire_total;
      }
      if (! (slot & 02)) {
        cb->expire_unreachable = ent->expire_unreachable;
      }
      return;
    }
    ent = ent->next;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = strcmp(ref, (char const   *)"refs/stash");
  if (! tmp___0) {
    if (! (slot & 01)) {
      cb->expire_total = (timestamp_t )0;
    }
    if (! (slot & 02)) {
      cb->expire_unreachable = (timestamp_t )0;
    }
    return;
  }
  if (! (slot & 01)) {
    cb->expire_total = default_reflog_expire;
  }
  if (! (slot & 02)) {
    cb->expire_unreachable = default_reflog_expire_unreachable;
  }
  return;
}
}
static int cmd_reflog_expire(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct cmd_reflog_expire_cb cmd ;
  timestamp_t now ;
  time_t tmp ;
  int i ;
  int status ;
  int do_all___0 ;
  int all_worktrees ;
  int explicit_expiry ;
  unsigned int flags___0 ;
  int verbose___15 ;
  reflog_expiry_should_prune_fn *should_prune_fn ;
  char const   *arg ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  struct rev_info revs ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  struct worktree_reflogs collected ;
  struct string_list_item *item___0 ;
  struct worktree **worktrees ;
  struct worktree **p___0 ;
  struct ref_store *tmp___17 ;
  struct expire_reflog_policy_cb cb ;
  int tmp___18 ;
  char *ref ;
  struct expire_reflog_policy_cb cb___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  int tmp___20 ;
  size_t tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;

  {
  cmd.stalefix = 0;
  cmd.expire_total = 0UL;
  cmd.expire_unreachable = 0UL;
  cmd.recno = 0;
  tmp = time((time_t *)((void *)0));
  now = (timestamp_t )tmp;
  all_worktrees = 1;
  explicit_expiry = 0;
  flags___0 = 0U;
  verbose___15 = 0;
  should_prune_fn = & should_expire_reflog_ent;
  default_reflog_expire_unreachable = now - 2592000UL;
  default_reflog_expire = now - 7776000UL;
  git_config(& reflog_expire_config, (void *)0);
  save_commit_buffer = 0;
  status = 0;
  do_all___0 = status;
  cmd.expire_total = default_reflog_expire;
  cmd.expire_unreachable = default_reflog_expire_unreachable;
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    arg = *(argv___0 + i);
    tmp___14 = strcmp(arg, (char const   *)"--dry-run");
    if (tmp___14) {
      tmp___15 = strcmp(arg, (char const   *)"-n");
      if (tmp___15) {
        tmp___13 = skip_prefix(arg, (char const   *)"--expire=", & arg);
        if (tmp___13) {
          tmp___1 = parse_expiry_date(arg, & cmd.expire_total);
          if (tmp___1) {
            tmp___0 = _((char const   *)"\'%s\' is not a valid timestamp");
            die((char const   *)tmp___0, arg);
          }
          explicit_expiry |= 01;
        } else {
          tmp___12 = skip_prefix(arg, (char const   *)"--expire-unreachable=", & arg);
          if (tmp___12) {
            tmp___3 = parse_expiry_date(arg, & cmd.expire_unreachable);
            if (tmp___3) {
              tmp___2 = _((char const   *)"\'%s\' is not a valid timestamp");
              die((char const   *)tmp___2, arg);
            }
            explicit_expiry |= 02;
          } else {
            tmp___11 = strcmp(arg, (char const   *)"--stale-fix");
            if (tmp___11) {
              tmp___10 = strcmp(arg, (char const   *)"--rewrite");
              if (tmp___10) {
                tmp___9 = strcmp(arg, (char const   *)"--updateref");
                if (tmp___9) {
                  tmp___8 = strcmp(arg, (char const   *)"--all");
                  if (tmp___8) {
                    tmp___7 = strcmp(arg, (char const   *)"--single-worktree");
                    if (tmp___7) {
                      tmp___6 = strcmp(arg, (char const   *)"--verbose");
                      if (tmp___6) {
                        tmp___5 = strcmp(arg, (char const   *)"--");
                        if (tmp___5) {
                          if ((int const   )*(arg + 0) == 45) {
                            tmp___4 = _(reflog_expire_usage);
                            usage((char const   *)tmp___4);
                          } else {
                            goto while_break;
                          }
                        } else {
                          i ++;
                          goto while_break;
                        }
                      } else {
                        verbose___15 = 1;
                      }
                    } else {
                      all_worktrees = 0;
                    }
                  } else {
                    do_all___0 = 1;
                  }
                } else {
                  flags___0 |= 2U;
                }
              } else {
                flags___0 |= 4U;
              }
            } else {
              cmd.stalefix = 1;
            }
          }
        }
      } else {
        flags___0 |= 1U;
      }
    } else {
      flags___0 |= 1U;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (verbose___15) {
    should_prune_fn = & should_expire_reflog_ent_verbose;
  }
  if (cmd.stalefix) {
    repo_init_revisions(the_repository, & revs, prefix___1);
    revs.do_not_die_on_missing_tree = 1U;
    revs.ignore_missing = 1U;
    revs.ignore_missing_links = 1U;
    if (verbose___15) {
      tmp___16 = _((char const   *)"Marking reachable objects...");
      printf((char const   *)tmp___16);
    }
    mark_reachable_objects(& revs, 0, (timestamp_t )0, (struct progress *)((void *)0));
    if (verbose___15) {
      putchar('\n');
    }
  }
  if (do_all___0) {
    collected.worktree = (struct worktree *)0;
    collected.reflogs.items = (struct string_list_item *)0;
    collected.reflogs.nr = 0U;
    collected.reflogs.alloc = 0U;
    collected.reflogs.strdup_strings = 1U;
    collected.reflogs.cmp = (int (*)(char const   * , char const   * ))0;
    worktrees = get_worktrees();
    p___0 = worktrees;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! *p___0) {
        goto while_break___0;
      }
      if (! all_worktrees) {
        if (! (*p___0)->is_current) {
          goto __Cont;
        }
      }
      collected.worktree = *p___0;
      tmp___17 = get_worktree_ref_store((struct worktree  const  *)*p___0);
      refs_for_each_reflog(tmp___17, & collect_reflog, (void *)(& collected));
      __Cont: /* CIL Label */
      p___0 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    free_worktrees(worktrees);
    item___0 = collected.reflogs.items;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(collected.reflogs.items + collected.reflogs.nr))) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      cb.unreachable_expire_kind = 0U;
      cb.mark_list = (struct commit_list *)0;
      cb.mark_limit = 0UL;
      cb.cmd = cmd;
      cb.tip_commit = (struct commit *)0;
      cb.tips = (struct commit_list *)0;
      cb.dry_run = (unsigned int )(! (! (flags___0 & 1U)));
      set_reflog_expiry_param(& cb.cmd, explicit_expiry, (char const   *)item___0->string);
      tmp___18 = reflog_expire((char const   *)item___0->string, flags___0, & reflog_expiry_prepare,
                               should_prune_fn, & reflog_expiry_cleanup, (void *)(& cb));
      status |= tmp___18;
      item___0 ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    string_list_clear(& collected.reflogs, 0);
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break___2;
    }
    cb___0.unreachable_expire_kind = 0U;
    cb___0.mark_list = (struct commit_list *)0;
    cb___0.mark_limit = 0UL;
    cb___0.cmd = cmd;
    cb___0.tip_commit = (struct commit *)0;
    cb___0.tips = (struct commit_list *)0;
    cb___0.dry_run = 0U;
    tmp___21 = strlen(*(argv___0 + i));
    tmp___22 = dwim_log(*(argv___0 + i), (int )tmp___21, (struct object_id *)((void *)0),
                        & ref);
    if (! tmp___22) {
      tmp___19 = _((char const   *)"%s points nowhere!");
      error((char const   *)tmp___19, *(argv___0 + i));
      tmp___20 = const_error();
      status |= tmp___20;
      goto __Cont___0;
    }
    set_reflog_expiry_param(& cb___0.cmd, explicit_expiry, (char const   *)ref);
    tmp___23 = reflog_expire((char const   *)ref, flags___0, & reflog_expiry_prepare,
                             should_prune_fn, & reflog_expiry_cleanup, (void *)(& cb___0));
    status |= tmp___23;
    free((void *)ref);
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  return (status);
}
}
static int count_reflog_ent(struct object_id *ooid , struct object_id *noid , char const   *email ,
                            timestamp_t timestamp___0 , int tz , char const   *message___0 ,
                            void *cb_data )
{
  struct cmd_reflog_expire_cb *cb ;

  {
  cb = (struct cmd_reflog_expire_cb *)cb_data;
  if (! cb->expire_total) {
    (cb->recno) ++;
  } else
  if (timestamp___0 < cb->expire_total) {
    (cb->recno) ++;
  }
  return (0);
}
}
static int cmd_reflog_delete(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct cmd_reflog_expire_cb cmd ;
  int i ;
  int status ;
  unsigned int flags___0 ;
  int verbose___15 ;
  reflog_expiry_should_prune_fn *should_prune_fn ;
  char const   *arg ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const   *spec ;
  char *tmp___8 ;
  char *ep ;
  char *ref ;
  int recno ;
  struct expire_reflog_policy_cb cb ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  unsigned long tmp___14 ;
  int tmp___15 ;

  {
  cmd.stalefix = 0;
  cmd.expire_total = 0UL;
  cmd.expire_unreachable = 0UL;
  cmd.recno = 0;
  status = 0;
  flags___0 = 0U;
  verbose___15 = 0;
  should_prune_fn = & should_expire_reflog_ent;
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    arg = *(argv___0 + i);
    tmp___4 = strcmp(arg, (char const   *)"--dry-run");
    if (tmp___4) {
      tmp___5 = strcmp(arg, (char const   *)"-n");
      if (tmp___5) {
        tmp___3 = strcmp(arg, (char const   *)"--rewrite");
        if (tmp___3) {
          tmp___2 = strcmp(arg, (char const   *)"--updateref");
          if (tmp___2) {
            tmp___1 = strcmp(arg, (char const   *)"--verbose");
            if (tmp___1) {
              tmp___0 = strcmp(arg, (char const   *)"--");
              if (tmp___0) {
                if ((int const   )*(arg + 0) == 45) {
                  tmp = _(reflog_delete_usage);
                  usage((char const   *)tmp);
                } else {
                  goto while_break;
                }
              } else {
                i ++;
                goto while_break;
              }
            } else {
              verbose___15 = 1;
            }
          } else {
            flags___0 |= 2U;
          }
        } else {
          flags___0 |= 4U;
        }
      } else {
        flags___0 |= 1U;
      }
    } else {
      flags___0 |= 1U;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (verbose___15) {
    should_prune_fn = & should_expire_reflog_ent_verbose;
  }
  if (argc - i < 1) {
    tmp___6 = _((char const   *)"no reflog specified to delete");
    error((char const   *)tmp___6);
    tmp___7 = const_error();
    return (tmp___7);
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break___0;
    }
    tmp___8 = strstr(*(argv___0 + i), (char const   *)"@{");
    spec = (char const   *)tmp___8;
    cb.unreachable_expire_kind = 0U;
    cb.mark_list = (struct commit_list *)0;
    cb.mark_limit = 0UL;
    cb.cmd.stalefix = 0;
    cb.cmd.expire_total = 0UL;
    cb.cmd.expire_unreachable = 0UL;
    cb.cmd.recno = 0;
    cb.tip_commit = (struct commit *)0;
    cb.tips = (struct commit_list *)0;
    cb.dry_run = (unsigned int )(! (! (flags___0 & 1U)));
    if (! spec) {
      tmp___9 = _((char const   *)"not a reflog: %s");
      error((char const   *)tmp___9, *(argv___0 + i));
      tmp___10 = const_error();
      status |= tmp___10;
      goto __Cont;
    }
    tmp___13 = dwim_log(*(argv___0 + i), (int )(spec - *(argv___0 + i)), (struct object_id *)((void *)0),
                        & ref);
    if (! tmp___13) {
      tmp___11 = _((char const   *)"no reflog for \'%s\'");
      error((char const   *)tmp___11, *(argv___0 + i));
      tmp___12 = const_error();
      status |= tmp___12;
      goto __Cont;
    }
    tmp___14 = strtoul((char const   * __restrict  )(spec + 2), (char ** __restrict  )(& ep),
                       10);
    recno = (int )tmp___14;
    if ((int )*ep == 125) {
      cmd.recno = - recno;
      for_each_reflog_ent((char const   *)ref, & count_reflog_ent, (void *)(& cmd));
    } else {
      cmd.expire_total = approxidate_careful(spec + 2, (int *)((void *)0));
      for_each_reflog_ent((char const   *)ref, & count_reflog_ent, (void *)(& cmd));
      cmd.expire_total = (timestamp_t )0;
    }
    cb.cmd = cmd;
    tmp___15 = reflog_expire((char const   *)ref, flags___0, & reflog_expiry_prepare,
                             should_prune_fn, & reflog_expiry_cleanup, (void *)(& cb));
    status |= tmp___15;
    free((void *)ref);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (status);
}
}
static int cmd_reflog_exists(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  int start ;
  char const   *arg ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  start = 0;
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    arg = *(argv___0 + i);
    tmp___0 = strcmp(arg, (char const   *)"--");
    if (tmp___0) {
      if ((int const   )*(arg + 0) == 45) {
        tmp = _(reflog_exists_usage);
        usage((char const   *)tmp);
      } else {
        goto while_break;
      }
    } else {
      i ++;
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  start = i;
  if (argc - start != 1) {
    tmp___1 = _(reflog_exists_usage);
    usage((char const   *)tmp___1);
  }
  tmp___3 = check_refname_format(*(argv___0 + start), 1);
  if (tmp___3) {
    tmp___2 = _((char const   *)"invalid ref format: %s");
    die((char const   *)tmp___2, *(argv___0 + start));
  }
  tmp___4 = reflog_exists(*(argv___0 + start));
  if (tmp___4) {
    tmp___5 = 0;
  } else {
    tmp___5 = 1;
  }
  return (tmp___5);
}
}
static char const   reflog_usage[47]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'f',      (char const   )'l',
        (char const   )'o',      (char const   )'g',      (char const   )' ',      (char const   )'[',
        (char const   )' ',      (char const   )'s',      (char const   )'h',      (char const   )'o',
        (char const   )'w',      (char const   )' ',      (char const   )'|',      (char const   )' ',
        (char const   )'e',      (char const   )'x',      (char const   )'p',      (char const   )'i',
        (char const   )'r',      (char const   )'e',      (char const   )' ',      (char const   )'|',
        (char const   )' ',      (char const   )'d',      (char const   )'e',      (char const   )'l',
        (char const   )'e',      (char const   )'t',      (char const   )'e',      (char const   )' ',
        (char const   )'|',      (char const   )' ',      (char const   )'e',      (char const   )'x',
        (char const   )'i',      (char const   )'s',      (char const   )'t',      (char const   )'s',
        (char const   )' ',      (char const   )']',      (char const   )'\000'};
int cmd_reflog(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  if (argc > 1) {
    tmp___0 = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp___0) {
      tmp = _(reflog_usage);
      usage((char const   *)tmp);
    }
  }
  if (argc < 2) {
    tmp___1 = cmd_log_reflog(argc, argv___0, prefix___1);
    return (tmp___1);
  } else
  if ((int const   )*(*(argv___0 + 1)) == 45) {
    tmp___1 = cmd_log_reflog(argc, argv___0, prefix___1);
    return (tmp___1);
  }
  tmp___3 = strcmp(*(argv___0 + 1), (char const   *)"show");
  if (! tmp___3) {
    tmp___2 = cmd_log_reflog(argc - 1, argv___0 + 1, prefix___1);
    return (tmp___2);
  }
  tmp___5 = strcmp(*(argv___0 + 1), (char const   *)"expire");
  if (! tmp___5) {
    tmp___4 = cmd_reflog_expire(argc - 1, argv___0 + 1, prefix___1);
    return (tmp___4);
  }
  tmp___7 = strcmp(*(argv___0 + 1), (char const   *)"delete");
  if (! tmp___7) {
    tmp___6 = cmd_reflog_delete(argc - 1, argv___0 + 1, prefix___1);
    return (tmp___6);
  }
  tmp___9 = strcmp(*(argv___0 + 1), (char const   *)"exists");
  if (! tmp___9) {
    tmp___8 = cmd_reflog_exists(argc - 1, argv___0 + 1, prefix___1);
    return (tmp___8);
  }
  tmp___10 = cmd_log_reflog(argc, argv___0, prefix___1);
  return (tmp___10);
}
}
static char const   usage_msg___0[30]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'m',      (char const   )'o',
        (char const   )'t',      (char const   )'e',      (char const   )'-',      (char const   )'e',
        (char const   )'x',      (char const   )'t',      (char const   )' ',      (char const   )'<',
        (char const   )'r',      (char const   )'e',      (char const   )'m',      (char const   )'o',
        (char const   )'t',      (char const   )'e',      (char const   )'>',      (char const   )' ',
        (char const   )'<',      (char const   )'u',      (char const   )'r',      (char const   )'l',
        (char const   )'>',      (char const   )'\000'};
static char *git_req  ;
static char *git_req_vhost  ;
static char *strip_escapes(char const   *str , char const   *service , char const   **next___2 )
{
  size_t rpos ;
  int escape ;
  char special___0 ;
  char const   *service_noprefix ;
  struct strbuf ret___67 ;
  char *tmp ;

  {
  rpos = (size_t )0;
  escape = 0;
  special___0 = (char)0;
  service_noprefix = service;
  ret___67.alloc = 0UL;
  ret___67.len = 0UL;
  ret___67.buf = strbuf_slopbuf;
  skip_prefix(service_noprefix, (char const   *)"git-", & service_noprefix);
  setenv((char const   *)"GIT_EXT_SERVICE", service, 1);
  setenv((char const   *)"GIT_EXT_SERVICE_NOPREFIX", service_noprefix, 1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*(str + rpos)) {
      if (! escape) {
        if (! ((int const   )*(str + rpos) != 32)) {
          goto while_break;
        }
      }
    } else {
      goto while_break;
    }
    if (escape) {
      {
      if ((int const   )*(str + rpos) == 83) {
        goto case_83;
      }
      if ((int const   )*(str + rpos) == 115) {
        goto case_83;
      }
      if ((int const   )*(str + rpos) == 37) {
        goto case_83;
      }
      if ((int const   )*(str + rpos) == 32) {
        goto case_83;
      }
      if ((int const   )*(str + rpos) == 86) {
        goto case_86;
      }
      if ((int const   )*(str + rpos) == 71) {
        goto case_86;
      }
      goto switch_default;
      case_83: /* CIL Label */
      case_115: /* CIL Label */
      case_37: /* CIL Label */
      case_32: /* CIL Label */
      goto switch_break;
      case_86: /* CIL Label */
      case_71: /* CIL Label */
      special___0 = (char )*(str + rpos);
      if (rpos == 1UL) {
        goto switch_break;
      }
      switch_default: /* CIL Label */
      die((char const   *)"Bad remote-ext placeholder \'%%%c\'.", (int const   )*(str + rpos));
      switch_break: /* CIL Label */ ;
      }
      escape = 0;
    } else {
      escape = (int const   )*(str + rpos) == 37;
    }
    rpos ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (escape) {
    if (! *(str + rpos)) {
      die((char const   *)"remote-ext command has incomplete placeholder");
    }
  }
  *next___2 = str + rpos;
  if ((int const   )*(*next___2) == 32) {
    (*next___2) ++;
  }
  if (special___0) {
    rpos = (size_t )2;
  } else {
    rpos = (size_t )0;
  }
  escape = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (*(str + rpos)) {
      if (! escape) {
        if (! ((int const   )*(str + rpos) != 32)) {
          goto while_break___0;
        }
      }
    } else {
      goto while_break___0;
    }
    if (escape) {
      {
      if ((int const   )*(str + rpos) == 37) {
        goto case_37___0;
      }
      if ((int const   )*(str + rpos) == 32) {
        goto case_37___0;
      }
      if ((int const   )*(str + rpos) == 115) {
        goto case_115___0;
      }
      if ((int const   )*(str + rpos) == 83) {
        goto case_83___0;
      }
      goto switch_break___0;
      case_37___0: /* CIL Label */
      case_32___0: /* CIL Label */
      strbuf_addch(& ret___67, (int )*(str + rpos));
      goto switch_break___0;
      case_115___0: /* CIL Label */
      strbuf_addstr(& ret___67, service_noprefix);
      goto switch_break___0;
      case_83___0: /* CIL Label */
      strbuf_addstr(& ret___67, service);
      goto switch_break___0;
      switch_break___0: /* CIL Label */ ;
      }
      escape = 0;
    } else {
      {
      if ((int const   )*(str + rpos) == 37) {
        goto case_37___1;
      }
      goto switch_default___0;
      case_37___1: /* CIL Label */
      escape = 1;
      goto switch_break___1;
      switch_default___0: /* CIL Label */
      strbuf_addch(& ret___67, (int )*(str + rpos));
      goto switch_break___1;
      switch_break___1: /* CIL Label */ ;
      }
    }
    rpos ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  if ((int )special___0 == 71) {
    goto case_71___0;
  }
  if ((int )special___0 == 86) {
    goto case_86___0;
  }
  goto switch_default___1;
  case_71___0: /* CIL Label */
  git_req = strbuf_detach(& ret___67, (size_t *)((void *)0));
  return ((char *)((void *)0));
  case_86___0: /* CIL Label */
  git_req_vhost = strbuf_detach(& ret___67, (size_t *)((void *)0));
  return ((char *)((void *)0));
  switch_default___1: /* CIL Label */
  tmp = strbuf_detach(& ret___67, (size_t *)((void *)0));
  return (tmp);
  switch_break___2: /* CIL Label */ ;
  }
}
}
static void parse_argv___0(struct strvec *out , char const   *arg , char const   *service )
{
  char *expanded ;
  char *tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *arg) {
      goto while_break;
    }
    tmp = strip_escapes(arg, service, & arg);
    expanded = tmp;
    if (expanded) {
      strvec_push(out, (char const   *)expanded);
    }
    free((void *)expanded);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void send_git_request(int stdin_fd , char const   *serv , char const   *repo ,
                             char const   *vhost )
{


  {
  if (! vhost) {
    packet_write_fmt(stdin_fd, (char const   *)"%s %s%c", serv, repo, 0);
  } else {
    packet_write_fmt(stdin_fd, (char const   *)"%s %s%chost=%s%c", serv, repo, 0,
                     vhost, 0);
  }
  return;
}
}
static int run_child(char const   *arg , char const   *service )
{
  int r ;
  struct child_process child ;
  int tmp ;

  {
  child.args.v = empty_strvec;
  child.args.nr = 0UL;
  child.args.alloc = 0UL;
  child.env_array.v = empty_strvec;
  child.env_array.nr = 0UL;
  child.env_array.alloc = 0UL;
  child.pid = 0;
  child.trace2_child_id = 0;
  child.trace2_child_us_start = 0UL;
  child.trace2_child_class = (char const   *)0;
  child.trace2_hook_name = (char const   *)0;
  child.in = 0;
  child.out = 0;
  child.err = 0;
  child.dir = (char const   *)0;
  child.no_stdin = 0U;
  child.no_stdout = 0U;
  child.no_stderr = 0U;
  child.git_cmd = 0U;
  child.silent_exec_failure = 0U;
  child.use_shell = 0U;
  child.close_object_store = 0U;
  child.stdout_to_stderr = 0U;
  child.clean_on_exit = 0U;
  child.wait_after_clean = 0U;
  child.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  child.clean_on_exit_handler_cbdata = (void *)0;
  child.in = -1;
  child.out = -1;
  child.err = 0;
  parse_argv___0(& child.args, arg, service);
  tmp = start_command(& child);
  if (tmp < 0) {
    die((char const   *)"Can\'t run specified command");
  }
  if (git_req) {
    send_git_request(child.in, service, (char const   *)git_req, (char const   *)git_req_vhost);
  }
  r = bidirectional_transfer_loop(child.out, child.in);
  if (! r) {
    r = finish_command(& child);
  } else {
    finish_command(& child);
  }
  return (r);
}
}
static int command_loop(char const   *child )
{
  char buffer___5[4096] ;
  size_t i ;
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = fgets(buffer___5, 4095, stdin);
    if (! tmp___1) {
      tmp = ferror(stdin);
      if (tmp) {
        die((char const   *)"Command input error");
      }
      tmp___0 = trace2_cmd_exit_fl((char const   *)"builtin/remote-ext.c", 175, 0);
      exit(tmp___0);
    }
    i = strlen((char const   *)(buffer___5));
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (i > 0UL) {
        if (! (((int const   )sane_ctype[(unsigned char )buffer___5[i - 1UL]] & 1) != 0)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      i --;
      buffer___5[i] = (char)0;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___4 = strcmp((char const   *)(buffer___5), (char const   *)"capabilities");
    if (tmp___4) {
      tmp___3 = strncmp((char const   *)(buffer___5), (char const   *)"connect ",
                        (size_t )8);
      if (tmp___3) {
        fprintf(stderr, (char const   *)"Bad command");
        return (1);
      } else {
        printf((char const   *)"\n");
        fflush(stdout);
        tmp___2 = run_child(child, (char const   *)(buffer___5 + 8));
        return (tmp___2);
      }
    } else {
      printf((char const   *)"*connect\n\n");
      fflush(stdout);
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
int cmd_remote_ext(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int tmp ;

  {
  if (argc != 3) {
    usage(usage_msg___0);
  }
  tmp = command_loop(*(argv___0 + 2));
  return (tmp);
}
}
static char const   usage_msg___1[29]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'m',      (char const   )'o',
        (char const   )'t',      (char const   )'e',      (char const   )'-',      (char const   )'f',
        (char const   )'d',      (char const   )' ',      (char const   )'<',      (char const   )'r',
        (char const   )'e',      (char const   )'m',      (char const   )'o',      (char const   )'t',
        (char const   )'e',      (char const   )'>',      (char const   )' ',      (char const   )'<',
        (char const   )'u',      (char const   )'r',      (char const   )'l',      (char const   )'>',
        (char const   )'\000'};
static void command_loop___0(int input_fd___0 , int output_fd___0 )
{
  char buffer___5[4096] ;
  size_t i ;
  int tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = fgets(buffer___5, 4095, stdin);
    if (! tmp___0) {
      tmp = ferror(stdin);
      if (tmp) {
        die((char const   *)"Input error");
      }
      return;
    }
    i = strlen((char const   *)(buffer___5));
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (i > 0UL) {
        if (! (((int const   )sane_ctype[(unsigned char )buffer___5[i - 1UL]] & 1) != 0)) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      i --;
      buffer___5[i] = (char)0;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___3 = strcmp((char const   *)(buffer___5), (char const   *)"capabilities");
    if (tmp___3) {
      tmp___2 = strncmp((char const   *)(buffer___5), (char const   *)"connect ",
                        (size_t )8);
      if (tmp___2) {
        die((char const   *)"Bad command: %s", buffer___5);
      } else {
        printf((char const   *)"\n");
        fflush(stdout);
        tmp___1 = bidirectional_transfer_loop(input_fd___0, output_fd___0);
        if (tmp___1) {
          die((char const   *)"Copying data between file descriptors failed");
        }
        return;
      }
    } else {
      printf((char const   *)"*connect\n\n");
      fflush(stdout);
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
int cmd_remote_fd(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int input_fd___0 ;
  int output_fd___0 ;
  char *end ;
  unsigned long tmp ;
  char *end2 ;
  unsigned long tmp___0 ;

  {
  input_fd___0 = -1;
  output_fd___0 = -1;
  if (argc != 3) {
    usage(usage_msg___1);
  }
  tmp = strtoul((char const   * __restrict  )*(argv___0 + 2), (char ** __restrict  )(& end),
                10);
  input_fd___0 = (int )tmp;
  if ((unsigned long )end == (unsigned long )*(argv___0 + 2)) {
    die((char const   *)"Bad URL syntax");
  } else
  if ((int )*end != 44) {
    if ((int )*end != 47) {
      if (*end) {
        die((char const   *)"Bad URL syntax");
      }
    }
  }
  if ((int )*end == 47) {
    output_fd___0 = input_fd___0;
  } else
  if (! *end) {
    output_fd___0 = input_fd___0;
  } else {
    tmp___0 = strtoul((char const   * __restrict  )(end + 1), (char ** __restrict  )(& end2),
                      10);
    output_fd___0 = (int )tmp___0;
    if ((unsigned long )end2 == (unsigned long )(end + 1)) {
      die((char const   *)"Bad URL syntax");
    } else
    if ((int )*end2 != 47) {
      if (*end2) {
        die((char const   *)"Bad URL syntax");
      }
    }
  }
  command_loop___0(input_fd___0, output_fd___0);
  return (0);
}
}
static double const   __ac_HASH_UPPER___149  =    (double const   )0.77;
__inline static void kh_resize_oid_set___149(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___149(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___149 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___149 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___149(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___149(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___149(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___149(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___149(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___149(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___149 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___149 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___149(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___149(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___149(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___149(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___149(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___149(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___149 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___149 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___149(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___149(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___149(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___149(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___110(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___110(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___149 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___149 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___110(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___110(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___110(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___110(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_contains_cache_with_stride___27(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___27(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___27(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___27(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___27(s___1, 1U);
  return;
}
}
static void clear_contains_cache___27(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___27(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___27(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___27(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___27(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___27(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___27(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___27(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___27(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___27(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___27(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___27(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___27(s___1, c___0, 0);
  return (tmp);
}
}
static char const   *builtin_remote_usage[14]  =
  {      (char const   *)"git remote [-v | --verbose]",      (char const   *)"git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--mirror=<fetch|push>] <name> <url>",      (char const   *)"git remote rename <old> <new>",      (char const   *)"git remote remove <name>",
        (char const   *)"git remote set-head <name> (-a | --auto | -d | --delete | <branch>)",      (char const   *)"git remote [-v | --verbose] show [-n] <name>",      (char const   *)"git remote prune [-n | --dry-run] <name>",      (char const   *)"git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]",
        (char const   *)"git remote set-branches [--add] <name> <branch>...",      (char const   *)"git remote get-url [--push] [--all] <name>",      (char const   *)"git remote set-url [--push] <name> <newurl> [<oldurl>]",      (char const   *)"git remote set-url --add <name> <newurl>",
        (char const   *)"git remote set-url --delete <name> <url>",      (char const   *)((void *)0)};
static char const   *builtin_remote_add_usage[2]  = {      (char const   *)"git remote add [<options>] <name> <url>",      (char const   *)((void *)0)};
static char const   *builtin_remote_rename_usage[2]  = {      (char const   *)"git remote rename <old> <new>",      (char const   *)((void *)0)};
static char const   *builtin_remote_rm_usage[2]  = {      (char const   *)"git remote remove <name>",      (char const   *)((void *)0)};
static char const   *builtin_remote_sethead_usage[2]  = {      (char const   *)"git remote set-head <name> (-a | --auto | -d | --delete | <branch>)",      (char const   *)((void *)0)};
static char const   *builtin_remote_setbranches_usage[3]  = {      (char const   *)"git remote set-branches <name> <branch>...",      (char const   *)"git remote set-branches --add <name> <branch>...",      (char const   *)((void *)0)};
static char const   *builtin_remote_show_usage[2]  = {      (char const   *)"git remote show [<options>] <name>",      (char const   *)((void *)0)};
static char const   *builtin_remote_prune_usage[2]  = {      (char const   *)"git remote prune [<options>] <name>",      (char const   *)((void *)0)};
static char const   *builtin_remote_update_usage[2]  = {      (char const   *)"git remote update [<options>] [<group> | <remote>]...",      (char const   *)((void *)0)};
static char const   *builtin_remote_geturl_usage[2]  = {      (char const   *)"git remote get-url [--push] [--all] <name>",      (char const   *)((void *)0)};
static char const   *builtin_remote_seturl_usage[4]  = {      (char const   *)"git remote set-url [--push] <name> <newurl> [<oldurl>]",      (char const   *)"git remote set-url --add <name> <newurl>",      (char const   *)"git remote set-url --delete <name> <url>",      (char const   *)((void *)0)};
static int verbose___9  ;
static int fetch_remote___0(char const   *name___0 )
{
  char const   *argv___0[4] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  argv___0[0] = (char const   *)"fetch";
  argv___0[1] = name___0;
  argv___0[2] = (char const   *)((void *)0);
  argv___0[3] = (char const   *)((void *)0);
  if (verbose___9) {
    argv___0[1] = (char const   *)"-v";
    argv___0[2] = name___0;
  }
  tmp = _((char const   *)"Updating %s");
  printf_ln((char const   *)tmp, name___0);
  tmp___2 = run_command_v_opt(argv___0, 1 << 1);
  if (tmp___2) {
    tmp___0 = _((char const   *)"Could not fetch %s");
    error((char const   *)tmp___0, name___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  return (0);
}
}
static void add_branch(char const   *key___1 , char const   *branchname , char const   *remotename ,
                       int mirror , struct strbuf *tmp )
{


  {
  strbuf_setlen___33(tmp, (size_t )0);
  strbuf_addch(tmp, '+');
  if (mirror) {
    strbuf_addf(tmp, (char const   *)"refs/%s:refs/%s", branchname, branchname);
  } else {
    strbuf_addf(tmp, (char const   *)"refs/heads/%s:refs/remotes/%s/%s", branchname,
                remotename, branchname);
  }
  git_config_set_multivar(key___1, (char const   *)tmp->buf, (char const   *)"^$",
                          0U);
  return;
}
}
static char const   mirror_advice[91]  =
  {      (char const   )'-',      (char const   )'-',      (char const   )'m',      (char const   )'i',
        (char const   )'r',      (char const   )'r',      (char const   )'o',      (char const   )'r',
        (char const   )' ',      (char const   )'i',      (char const   )'s',      (char const   )' ',
        (char const   )'d',      (char const   )'a',      (char const   )'n',      (char const   )'g',
        (char const   )'e',      (char const   )'r',      (char const   )'o',      (char const   )'u',
        (char const   )'s',      (char const   )' ',      (char const   )'a',      (char const   )'n',
        (char const   )'d',      (char const   )' ',      (char const   )'d',      (char const   )'e',
        (char const   )'p',      (char const   )'r',      (char const   )'e',      (char const   )'c',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )'d',
        (char const   )';',      (char const   )' ',      (char const   )'p',      (char const   )'l',
        (char const   )'e',      (char const   )'a',      (char const   )'s',      (char const   )'e',
        (char const   )'\n',      (char const   )'\t',      (char const   )' ',      (char const   )'u',
        (char const   )'s',      (char const   )'e',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'m',      (char const   )'i',      (char const   )'r',
        (char const   )'r',      (char const   )'o',      (char const   )'r',      (char const   )'=',
        (char const   )'f',      (char const   )'e',      (char const   )'t',      (char const   )'c',
        (char const   )'h',      (char const   )' ',      (char const   )'o',      (char const   )'r',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'m',
        (char const   )'i',      (char const   )'r',      (char const   )'r',      (char const   )'o',
        (char const   )'r',      (char const   )'=',      (char const   )'p',      (char const   )'u',
        (char const   )'s',      (char const   )'h',      (char const   )' ',      (char const   )'i',
        (char const   )'n',      (char const   )'s',      (char const   )'t',      (char const   )'e',
        (char const   )'a',      (char const   )'d',      (char const   )'\000'};
static int parse_mirror_opt(struct option  const  *opt___0 , char const   *arg , int not )
{
  unsigned int *mirror ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  mirror = (unsigned int *)opt___0->value;
  if (not) {
    *mirror = 0U;
  } else
  if (! arg) {
    tmp = _(mirror_advice);
    warning((char const   *)"%s", tmp);
    *mirror = 3U;
  } else {
    tmp___3 = strcmp(arg, (char const   *)"fetch");
    if (tmp___3) {
      tmp___2 = strcmp(arg, (char const   *)"push");
      if (tmp___2) {
        tmp___0 = _((char const   *)"unknown mirror argument: %s");
        error((char const   *)tmp___0, arg);
        tmp___1 = const_error();
        return (tmp___1);
      } else {
        *mirror = 2U;
      }
    } else {
      *mirror = 1U;
    }
  }
  return (0);
}
}
static int add___0(int argc , char const   **argv___0 )
{
  int fetch ;
  int fetch_tags ;
  unsigned int mirror ;
  struct string_list track ;
  char const   *master ;
  struct remote *remote ;
  struct strbuf buf___19 ;
  struct strbuf buf2 ;
  char const   *name___0 ;
  char const   *url ;
  int i ;
  struct option options[7] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  fetch = 0;
  fetch_tags = 1;
  mirror = 0U;
  track.items = (struct string_list_item *)0;
  track.nr = 0U;
  track.alloc = 0U;
  track.strdup_strings = 0U;
  track.cmp = (int (*)(char const   * , char const   * ))0;
  master = (char const   *)((void *)0);
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  buf2.alloc = 0UL;
  buf2.len = 0UL;
  buf2.buf = strbuf_slopbuf;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 'f';
  options[0].long_name = (char const   *)"fetch";
  options[0].value = (void *)(& fetch);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"fetch the remote branches";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"tags";
  options[1].value = (void *)(& fetch_tags);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"import all tags and associated objects when fetching";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )2;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)((void *)0);
  options[2].value = (void *)(& fetch_tags);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"or do not fetch any tag at all (--no-tags)";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )0;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )12;
  options[3].short_name = 't';
  options[3].long_name = (char const   *)"track";
  options[3].value = (void *)(& track);
  options[3].argh = (char const   *)"branch";
  options[3].help = (char const   *)"branch(es) to track";
  options[3].flags = (enum parse_opt_option_flags )0;
  options[3].callback = & parse_opt_string_list;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )9;
  options[4].short_name = 'm';
  options[4].long_name = (char const   *)"master";
  options[4].value = (void *)(& master);
  options[4].argh = (char const   *)"branch";
  options[4].help = (char const   *)"master branch";
  options[4].flags = (enum parse_opt_option_flags )0;
  options[4].callback = (parse_opt_cb *)0;
  options[4].defval = 0L;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )12;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)"mirror";
  options[5].value = (void *)(& mirror);
  options[5].argh = (char const   *)"(push|fetch)";
  options[5].help = (char const   *)"set up remote as a mirror to push to or fetch from";
  options[5].flags = (enum parse_opt_option_flags )1025;
  options[5].callback = & parse_mirror_opt;
  options[5].defval = 0L;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )0;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)0;
  options[6].value = (void *)0;
  options[6].argh = (char const   *)0;
  options[6].help = (char const   *)0;
  options[6].flags = 0U;
  options[6].callback = (parse_opt_cb *)0;
  options[6].defval = 0L;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)(options),
                       builtin_remote_add_usage, (enum parse_opt_flags )0);
  if (argc != 2) {
    usage_with_options(builtin_remote_add_usage, (struct option  const  *)(options));
  }
  if (mirror) {
    if (master) {
      tmp = _((char const   *)"specifying a master branch makes no sense with --mirror");
      die((char const   *)tmp);
    }
  }
  if (mirror) {
    if (! (mirror & 1U)) {
      if (track.nr) {
        tmp___0 = _((char const   *)"specifying branches to track makes sense only with fetch mirrors");
        die((char const   *)tmp___0);
      }
    }
  }
  name___0 = *(argv___0 + 0);
  url = *(argv___0 + 1);
  remote = remote_get(name___0);
  tmp___3 = remote_is_configured(remote, 1);
  if (tmp___3) {
    tmp___1 = _((char const   *)"remote %s already exists.");
    error((char const   *)tmp___1, name___0);
    const_error();
    tmp___2 = trace2_cmd_exit_fl((char const   *)"builtin/remote.c", 196, 3);
    exit(tmp___2);
  }
  tmp___5 = valid_remote_name(name___0);
  if (! tmp___5) {
    tmp___4 = _((char const   *)"\'%s\' is not a valid remote name");
    die((char const   *)tmp___4, name___0);
  }
  strbuf_addf(& buf___19, (char const   *)"remote.%s.url", name___0);
  git_config_set((char const   *)buf___19.buf, url);
  if (! mirror) {
    goto _L;
  } else
  if (mirror & 1U) {
    _L: /* CIL Label */
    strbuf_setlen___33(& buf___19, (size_t )0);
    strbuf_addf(& buf___19, (char const   *)"remote.%s.fetch", name___0);
    if (track.nr == 0U) {
      string_list_append(& track, (char const   *)"*");
    }
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )i < track.nr)) {
        goto while_break;
      }
      add_branch((char const   *)buf___19.buf, (char const   *)(track.items + i)->string,
                 name___0, (int )mirror, & buf2);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (mirror & 2U) {
    strbuf_setlen___33(& buf___19, (size_t )0);
    strbuf_addf(& buf___19, (char const   *)"remote.%s.mirror", name___0);
    git_config_set((char const   *)buf___19.buf, (char const   *)"true");
  }
  if (fetch_tags != 1) {
    strbuf_setlen___33(& buf___19, (size_t )0);
    strbuf_addf(& buf___19, (char const   *)"remote.%s.tagOpt", name___0);
    if (fetch_tags == 2) {
      tmp___6 = "--tags";
    } else {
      tmp___6 = "--no-tags";
    }
    git_config_set((char const   *)buf___19.buf, (char const   *)tmp___6);
  }
  if (fetch) {
    tmp___7 = fetch_remote___0(name___0);
    if (tmp___7) {
      return (1);
    }
  }
  if (master) {
    strbuf_setlen___33(& buf___19, (size_t )0);
    strbuf_addf(& buf___19, (char const   *)"refs/remotes/%s/HEAD", name___0);
    strbuf_setlen___33(& buf2, (size_t )0);
    strbuf_addf(& buf2, (char const   *)"refs/remotes/%s/%s", name___0, master);
    tmp___10 = create_symref((char const   *)buf___19.buf, (char const   *)buf2.buf,
                             (char const   *)"remote add");
    if (tmp___10) {
      tmp___8 = _((char const   *)"Could not setup master \'%s\'");
      error((char const   *)tmp___8, master);
      tmp___9 = const_error();
      return (tmp___9);
    }
  }
  strbuf_release(& buf___19);
  strbuf_release(& buf2);
  string_list_clear(& track, 0);
  return (0);
}
}
static struct string_list branch_list  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static char const   *abbrev_ref(char const   *name___0 , char const   *prefix___1 )
{


  {
  skip_prefix(name___0, prefix___1, & name___0);
  return (name___0);
}
}
static int config_read_branches(char const   *key___1 , char const   *value , void *cb )
{
  char const   *orig_key ;
  char *name___0 ;
  struct string_list_item *item___0 ;
  struct branch_info___0 *info___0 ;
  enum __anonenum_type_1009049786 type___0 ;
  size_t key_len ;
  int tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  void *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char *space___0 ;
  char *tmp___7 ;
  char *merge___1 ;
  char *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;

  {
  orig_key = key___1;
  tmp = starts_with(key___1, (char const   *)"branch.");
  if (! tmp) {
    return (0);
  }
  tmp___0 = strlen((char const   *)"branch.");
  key___1 += tmp___0;
  tmp___4 = strip_suffix(key___1, (char const   *)".remote", & key_len);
  if (tmp___4) {
    type___0 = (enum __anonenum_type_1009049786 )0;
  } else {
    tmp___3 = strip_suffix(key___1, (char const   *)".merge", & key_len);
    if (tmp___3) {
      type___0 = (enum __anonenum_type_1009049786 )1;
    } else {
      tmp___2 = strip_suffix(key___1, (char const   *)".rebase", & key_len);
      if (tmp___2) {
        type___0 = (enum __anonenum_type_1009049786 )2;
      } else {
        tmp___1 = strip_suffix(key___1, (char const   *)".pushremote", & key_len);
        if (tmp___1) {
          type___0 = (enum __anonenum_type_1009049786 )3;
        } else {
          return (0);
        }
      }
    }
  }
  tmp___5 = xmemdupz((void const   *)key___1, key_len);
  name___0 = (char *)tmp___5;
  item___0 = string_list_insert(& branch_list, (char const   *)name___0);
  if (! item___0->util) {
    item___0->util = xcalloc((size_t )1, sizeof(struct branch_info___0 ));
  }
  info___0 = (struct branch_info___0 *)item___0->util;
  {
  if ((unsigned int )type___0 == 0U) {
    goto case_0;
  }
  if ((unsigned int )type___0 == 1U) {
    goto case_1;
  }
  if ((unsigned int )type___0 == 2U) {
    goto case_2;
  }
  if ((unsigned int )type___0 == 3U) {
    goto case_3;
  }
  goto switch_default;
  case_0: /* CIL Label */
  if (info___0->remote_name) {
    tmp___6 = _((char const   *)"more than one %s");
    warning((char const   *)tmp___6, orig_key);
  }
  info___0->remote_name = xstrdup(value);
  goto switch_break;
  case_1: /* CIL Label */
  tmp___7 = strchr(value, ' ');
  space___0 = tmp___7;
  value = abbrev_ref(value, (char const   *)"refs/heads/");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! space___0) {
      goto while_break;
    }
    merge___1 = xstrndup(value, (size_t )(space___0 - (char *)value));
    string_list_append(& info___0->merge, (char const   *)merge___1);
    value = abbrev_ref((char const   *)(space___0 + 1), (char const   *)"refs/heads/");
    space___0 = strchr(value, ' ');
  }
  while_break: /* CIL Label */ ;
  }
  tmp___8 = xstrdup(value);
  string_list_append(& info___0->merge, (char const   *)tmp___8);
  goto switch_break;
  case_2: /* CIL Label */
  info___0->rebase = rebase_parse_value(value);
  if ((int )info___0->rebase == -1) {
    tmp___9 = _((char const   *)"unhandled branch.%s.rebase=%s; assuming \'true\'");
    warning((char const   *)tmp___9, name___0, value);
  }
  goto switch_break;
  case_3: /* CIL Label */
  if (info___0->push_remote_name) {
    tmp___10 = _((char const   *)"more than one %s");
    warning((char const   *)tmp___10, orig_key);
  }
  info___0->push_remote_name = xstrdup(value);
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"builtin/remote.c", 331, (char const   *)"unexpected type=%d",
         (unsigned int )type___0);
  switch_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void read_branches(void)
{


  {
  if (branch_list.nr) {
    return;
  }
  git_config(& config_read_branches, (void *)0);
  return;
}
}
static int get_ref_states(struct ref  const  *remote_refs , struct ref_states *states )
{
  struct ref *fetch_map ;
  struct ref **tail ;
  struct ref *ref ;
  struct ref *stale_refs ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  struct string_list_item *item___0 ;
  char const   *tmp___4 ;
  struct string_list_item *tmp___5 ;
  char *tmp___6 ;

  {
  fetch_map = (struct ref *)((void *)0);
  tail = & fetch_map;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (states->remote)->fetch.nr)) {
      goto while_break;
    }
    tmp___0 = get_fetch_map(remote_refs, (struct refspec_item  const  *)((states->remote)->fetch.items + i),
                            & tail, 1);
    if (tmp___0) {
      tmp = _((char const   *)"Could not get fetch map for refspec %s");
      die((char const   *)tmp, *((states->remote)->fetch.raw + i));
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  ref = fetch_map;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ref) {
      goto while_break___0;
    }
    if (! ref->peer_ref) {
      tmp___1 = abbrev_ref((char const   *)(ref->name), (char const   *)"refs/heads/");
      string_list_append(& states->new_refs, tmp___1);
    } else {
      tmp___3 = ref_exists((char const   *)((ref->peer_ref)->name));
      if (tmp___3) {
        tmp___2 = abbrev_ref((char const   *)(ref->name), (char const   *)"refs/heads/");
        string_list_append(& states->tracked, tmp___2);
      } else {
        tmp___1 = abbrev_ref((char const   *)(ref->name), (char const   *)"refs/heads/");
        string_list_append(& states->new_refs, tmp___1);
      }
    }
    ref = ref->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  stale_refs = get_stale_heads(& (states->remote)->fetch, fetch_map);
  ref = stale_refs;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ref) {
      goto while_break___1;
    }
    tmp___4 = abbrev_ref((char const   *)(ref->name), (char const   *)"refs/heads/");
    tmp___5 = string_list_append(& states->stale, tmp___4);
    item___0 = tmp___5;
    tmp___6 = xstrdup((char const   *)(ref->name));
    item___0->util = (void *)tmp___6;
    ref = ref->next;
  }
  while_break___1: /* CIL Label */ ;
  }
  free_refs(stale_refs);
  free_refs(fetch_map);
  string_list_sort(& states->new_refs);
  string_list_sort(& states->tracked);
  string_list_sort(& states->stale);
  return (0);
}
}
static int get_push_ref_states(struct ref  const  *remote_refs , struct ref_states *states )
{
  struct remote *remote ;
  struct ref *ref ;
  struct ref *local_refs ;
  struct ref *push_map ;
  struct string_list_item *item___0 ;
  struct push_info *info___0 ;
  char const   *tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  remote = states->remote;
  if (remote->mirror) {
    return (0);
  }
  local_refs = get_local_heads();
  push_map = copy_ref_list(remote_refs);
  match_push_refs(local_refs, & push_map, & remote->push, 0);
  ref = push_map;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    if (! ref->peer_ref) {
      goto __Cont;
    }
    oidcpy(& ref->new_oid, (struct object_id  const  *)(& (ref->peer_ref)->new_oid));
    tmp = abbrev_ref((char const   *)((ref->peer_ref)->name), (char const   *)"refs/heads/");
    item___0 = string_list_append(& states->push, tmp);
    item___0->util = xcalloc((size_t )1, sizeof(struct push_info ));
    info___0 = (struct push_info *)item___0->util;
    info___0->forced = (int )ref->force;
    tmp___0 = abbrev_ref((char const   *)(ref->name), (char const   *)"refs/heads/");
    info___0->dest = xstrdup(tmp___0);
    tmp___5 = is_null_oid((struct object_id  const  *)(& ref->new_oid));
    if (tmp___5) {
      info___0->status = (enum __anonenum_status_621525484 )1;
    } else {
      tmp___4 = oideq((struct object_id  const  *)(& ref->old_oid), (struct object_id  const  *)(& ref->new_oid));
      if (tmp___4) {
        info___0->status = (enum __anonenum_status_621525484 )2;
      } else {
        tmp___3 = is_null_oid((struct object_id  const  *)(& ref->old_oid));
        if (tmp___3) {
          info___0->status = (enum __anonenum_status_621525484 )0;
        } else {
          tmp___1 = repo_has_object_file(the_repository, (struct object_id  const  *)(& ref->old_oid));
          if (tmp___1) {
            tmp___2 = ref_newer((struct object_id  const  *)(& ref->new_oid), (struct object_id  const  *)(& ref->old_oid));
            if (tmp___2) {
              info___0->status = (enum __anonenum_status_621525484 )3;
            } else {
              info___0->status = (enum __anonenum_status_621525484 )4;
            }
          } else {
            info___0->status = (enum __anonenum_status_621525484 )4;
          }
        }
      }
    }
    __Cont: /* CIL Label */
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  free_refs(local_refs);
  free_refs(push_map);
  return (0);
}
}
static int get_push_ref_states_noquery(struct ref_states *states )
{
  int i ;
  struct remote *remote ;
  struct string_list_item *item___0 ;
  struct push_info *info___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  void *tmp___0 ;
  struct refspec_item  const  *spec ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  char *tmp___5 ;

  {
  remote = states->remote;
  if (remote->mirror) {
    return (0);
  }
  if (! remote->push.nr) {
    tmp = _((char const   *)"(matching)");
    item___0 = string_list_append(& states->push, (char const   *)tmp);
    tmp___0 = xcalloc((size_t )1, sizeof(struct push_info ));
    item___0->util = tmp___0;
    info___0 = (struct push_info *)tmp___0;
    info___0->status = (enum __anonenum_status_621525484 )5;
    info___0->dest = xstrdup((char const   *)item___0->string);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < remote->push.nr)) {
      goto while_break;
    }
    spec = (struct refspec_item  const  *)(remote->push.items + i);
    if (spec->matching) {
      tmp___1 = _((char const   *)"(matching)");
      item___0 = string_list_append(& states->push, (char const   *)tmp___1);
    } else {
      tmp___3 = strlen((char const   *)spec->src);
      if (tmp___3) {
        item___0 = string_list_append(& states->push, (char const   *)spec->src);
      } else {
        tmp___2 = _((char const   *)"(delete)");
        item___0 = string_list_append(& states->push, (char const   *)tmp___2);
      }
    }
    tmp___4 = xcalloc((size_t )1, sizeof(struct push_info ));
    item___0->util = tmp___4;
    info___0 = (struct push_info *)tmp___4;
    info___0->forced = (int )spec->force;
    info___0->status = (enum __anonenum_status_621525484 )5;
    if (spec->dst) {
      tmp___5 = (char *)spec->dst;
    } else {
      tmp___5 = item___0->string;
    }
    info___0->dest = xstrdup((char const   *)tmp___5);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int get_head_names(struct ref  const  *remote_refs , struct ref_states *states )
{
  struct ref *ref ;
  struct ref *matches___0 ;
  struct ref *fetch_map ;
  struct ref **fetch_map_tail ;
  struct refspec_item refspec ;
  struct ref *tmp ;
  char const   *tmp___0 ;

  {
  fetch_map = (struct ref *)((void *)0);
  fetch_map_tail = & fetch_map;
  memset((void *)(& refspec), 0, sizeof(refspec));
  refspec.force = 0U;
  refspec.pattern = 1U;
  refspec.dst = "refs/heads/*";
  refspec.src = refspec.dst;
  get_fetch_map(remote_refs, (struct refspec_item  const  *)(& refspec), & fetch_map_tail,
                0);
  tmp = find_ref_by_name(remote_refs, (char const   *)"HEAD");
  matches___0 = guess_remote_head((struct ref  const  *)tmp, (struct ref  const  *)fetch_map,
                                  1);
  ref = matches___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    tmp___0 = abbrev_ref((char const   *)(ref->name), (char const   *)"refs/heads/");
    string_list_append(& states->heads, tmp___0);
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  free_refs(fetch_map);
  free_refs(matches___0);
  return (0);
}
}
static int add_known_remote(struct remote *remote , void *cb_data )
{
  struct known_remotes *all___2 ;
  struct known_remote *r ;
  int tmp ;
  void *tmp___0 ;

  {
  all___2 = (struct known_remotes *)cb_data;
  tmp = strcmp((all___2->to_delete)->name, remote->name);
  if (! tmp) {
    return (0);
  }
  tmp___0 = xmalloc(sizeof(*r));
  r = (struct known_remote *)tmp___0;
  r->remote = remote;
  r->next = all___2->list;
  all___2->list = r;
  return (0);
}
}
static int add_branch_for_removal(char const   *refname , struct object_id  const  *oid ,
                                  int flags___0 , void *cb_data )
{
  struct branches_for_remote *branches ;
  struct refspec_item refspec ;
  struct known_remote *kr ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  branches = (struct branches_for_remote *)cb_data;
  memset((void *)(& refspec), 0, sizeof(refspec));
  refspec.dst = (char *)refname;
  tmp = remote_find_tracking(branches->remote, & refspec);
  if (tmp) {
    return (0);
  }
  kr = (branches->keep)->list;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! kr) {
      goto while_break;
    }
    memset((void *)(& refspec), 0, sizeof(refspec));
    refspec.dst = (char *)refname;
    tmp___0 = remote_find_tracking(kr->remote, & refspec);
    if (! tmp___0) {
      return (0);
    }
    kr = kr->next;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___3 = starts_with(refname, (char const   *)"refs/remotes/");
  if (! tmp___3) {
    tmp___2 = starts_with(refname, (char const   *)"refs/heads/");
    if (tmp___2) {
      tmp___1 = abbrev_ref(refname, (char const   *)"refs/heads/");
      string_list_append(branches->skipped, tmp___1);
    }
    return (0);
  }
  string_list_append(branches->branches, refname);
  return (0);
}
}
static int read_remote_branches(char const   *refname , struct object_id  const  *oid ,
                                int flags___0 , void *cb_data )
{
  struct rename_info___1 *rename___0 ;
  struct strbuf buf___19 ;
  struct string_list_item *item___0 ;
  int flag ;
  char const   *symref ;
  char *tmp ;
  int tmp___0 ;

  {
  rename___0 = (struct rename_info___1 *)cb_data;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  strbuf_addf(& buf___19, (char const   *)"refs/remotes/%s/", rename___0->old_name);
  tmp___0 = starts_with(refname, (char const   *)buf___19.buf);
  if (tmp___0) {
    item___0 = string_list_append(rename___0->remote_branches, refname);
    symref = resolve_ref_unsafe(refname, 0x01, (struct object_id *)((void *)0), & flag);
    if (symref) {
      if (flag & 0x01) {
        tmp = xstrdup(symref);
        item___0->util = (void *)tmp;
      } else {
        item___0->util = (void *)0;
      }
    } else {
      item___0->util = (void *)0;
    }
  }
  strbuf_release(& buf___19);
  return (0);
}
}
static int migrate_file(struct remote *remote )
{
  struct strbuf buf___19 ;
  int i ;
  char const   *tmp ;
  char const   *tmp___0 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  strbuf_addf(& buf___19, (char const   *)"remote.%s.url", remote->name);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < remote->url_nr)) {
      goto while_break;
    }
    git_config_set_multivar((char const   *)buf___19.buf, *(remote->url + i), (char const   *)"^$",
                            0U);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_setlen___33(& buf___19, (size_t )0);
  strbuf_addf(& buf___19, (char const   *)"remote.%s.push", remote->name);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < remote->push.raw_nr)) {
      goto while_break___0;
    }
    git_config_set_multivar((char const   *)buf___19.buf, *(remote->push.raw + i),
                            (char const   *)"^$", 0U);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_setlen___33(& buf___19, (size_t )0);
  strbuf_addf(& buf___19, (char const   *)"remote.%s.fetch", remote->name);
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < remote->fetch.raw_nr)) {
      goto while_break___1;
    }
    git_config_set_multivar((char const   *)buf___19.buf, *(remote->fetch.raw + i),
                            (char const   *)"^$", 0U);
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  if (remote->origin == 2) {
    tmp = git_path((char const   *)"remotes/%s", remote->name);
    unlink_or_warn(tmp);
  } else
  if (remote->origin == 3) {
    tmp___0 = git_path((char const   *)"branches/%s", remote->name);
    unlink_or_warn(tmp___0);
  }
  strbuf_release(& buf___19);
  return (0);
}
}
static int config_read_push_default(char const   *key___1 , char const   *value ,
                                    void *cb )
{
  struct push_default_info *info___0 ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;

  {
  info___0 = (struct push_default_info *)cb;
  tmp = strcmp(key___1, (char const   *)"remote.pushdefault");
  if (tmp) {
    return (0);
  } else
  if (! value) {
    return (0);
  } else {
    tmp___0 = strcmp(value, info___0->old_name);
    if (tmp___0) {
      return (0);
    }
  }
  info___0->scope = current_config_scope();
  strbuf_setlen___33(& info___0->origin, (size_t )0);
  tmp___1 = current_config_name();
  strbuf_addstr(& info___0->origin, tmp___1);
  info___0->linenr = current_config_line();
  return (0);
}
}
static void handle_push_default(char const   *old_name , char const   *new_name )
{
  struct push_default_info push_default___0 ;
  int result___0 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  push_default___0.old_name = old_name;
  push_default___0.scope = (enum config_scope )0;
  push_default___0.origin.alloc = 0UL;
  push_default___0.origin.len = 0UL;
  push_default___0.origin.buf = strbuf_slopbuf;
  push_default___0.linenr = -1;
  git_config(& config_read_push_default, (void *)(& push_default___0));
  if (! ((unsigned int )push_default___0.scope >= 5U)) {
    if ((unsigned int )push_default___0.scope >= 3U) {
      tmp = git_config_set_gently((char const   *)"remote.pushDefault", new_name);
      result___0 = tmp;
      if (new_name) {
        if (result___0) {
          if (result___0 != 5) {
            tmp___0 = _((char const   *)"could not set \'%s\'");
            die((char const   *)tmp___0, "remote.pushDefault");
          } else {
            goto _L___0;
          }
        } else {
          goto _L___0;
        }
      } else
      _L___0: /* CIL Label */
      _L: /* CIL Label */
      if (! new_name) {
        if (result___0) {
          if (result___0 != 5) {
            tmp___1 = _((char const   *)"could not unset \'%s\'");
            die((char const   *)tmp___1, "remote.pushDefault");
          }
        }
      }
    } else
    if ((unsigned int )push_default___0.scope >= 1U) {
      tmp___2 = config_scope_name(push_default___0.scope);
      tmp___3 = _((char const   *)"The %s configuration remote.pushDefault in:\n\t%s:%d\nnow names the non-existent remote \'%s\'");
      warning((char const   *)tmp___3, tmp___2, push_default___0.origin.buf, push_default___0.linenr,
              old_name);
    }
  }
  return;
}
}
static int mv(int argc , char const   **argv___0 )
{
  struct option options[1] ;
  struct remote *oldremote ;
  struct remote *newremote ;
  struct strbuf buf___19 ;
  struct strbuf buf2 ;
  struct strbuf buf3 ;
  struct strbuf old_remote_context ;
  struct string_list remote_branches ;
  struct rename_info___1 rename___0 ;
  int i ;
  int refspec_updated ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  char *ptr ;
  size_t tmp___12 ;
  size_t tmp___13 ;
  size_t tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  struct string_list_item *item___0 ;
  struct branch_info___0 *info___0 ;
  int tmp___16 ;
  int tmp___17 ;
  struct string_list_item *item___1 ;
  int flag ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  int tmp___19 ;
  struct string_list_item *item___2 ;
  size_t tmp___20 ;
  size_t tmp___21 ;
  size_t tmp___22 ;
  char const __attribute__((__format_arg__(1)))  *tmp___23 ;
  int tmp___24 ;
  struct string_list_item *item___3 ;
  size_t tmp___25 ;
  size_t tmp___26 ;
  size_t tmp___27 ;
  size_t tmp___28 ;
  size_t tmp___29 ;
  size_t tmp___30 ;
  char const __attribute__((__format_arg__(1)))  *tmp___31 ;
  int tmp___32 ;

  {
  options[0].type = (enum parse_opt_type )0;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)0;
  options[0].value = (void *)0;
  options[0].argh = (char const   *)0;
  options[0].help = (char const   *)0;
  options[0].flags = 0U;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  buf2.alloc = 0UL;
  buf2.len = 0UL;
  buf2.buf = strbuf_slopbuf;
  buf3.alloc = 0UL;
  buf3.len = 0UL;
  buf3.buf = strbuf_slopbuf;
  old_remote_context.alloc = 0UL;
  old_remote_context.len = 0UL;
  old_remote_context.buf = strbuf_slopbuf;
  remote_branches.items = (struct string_list_item *)0;
  remote_branches.nr = 0U;
  remote_branches.alloc = 0U;
  remote_branches.strdup_strings = 1U;
  remote_branches.cmp = (int (*)(char const   * , char const   * ))0;
  refspec_updated = 0;
  if (argc != 3) {
    usage_with_options(builtin_remote_rename_usage, (struct option  const  *)(options));
  }
  rename___0.old_name = *(argv___0 + 1);
  rename___0.new_name = *(argv___0 + 2);
  rename___0.remote_branches = & remote_branches;
  oldremote = remote_get(rename___0.old_name);
  tmp___1 = remote_is_configured(oldremote, 1);
  if (! tmp___1) {
    tmp = _((char const   *)"No such remote: \'%s\'");
    error((char const   *)tmp, rename___0.old_name);
    const_error();
    tmp___0 = trace2_cmd_exit_fl((char const   *)"builtin/remote.c", 697, 2);
    exit(tmp___0);
  }
  tmp___3 = strcmp(rename___0.old_name, rename___0.new_name);
  if (! tmp___3) {
    if (oldremote->origin != 1) {
      tmp___2 = migrate_file(oldremote);
      return (tmp___2);
    }
  }
  newremote = remote_get(rename___0.new_name);
  tmp___6 = remote_is_configured(newremote, 1);
  if (tmp___6) {
    tmp___4 = _((char const   *)"remote %s already exists.");
    error((char const   *)tmp___4, rename___0.new_name);
    const_error();
    tmp___5 = trace2_cmd_exit_fl((char const   *)"builtin/remote.c", 706, 3);
    exit(tmp___5);
  }
  tmp___8 = valid_remote_name(rename___0.new_name);
  if (! tmp___8) {
    tmp___7 = _((char const   *)"\'%s\' is not a valid remote name");
    die((char const   *)tmp___7, rename___0.new_name);
  }
  strbuf_addf(& buf___19, (char const   *)"remote.%s", rename___0.old_name);
  strbuf_addf(& buf2, (char const   *)"remote.%s", rename___0.new_name);
  tmp___11 = git_config_rename_section((char const   *)buf___19.buf, (char const   *)buf2.buf);
  if (tmp___11 < 1) {
    tmp___9 = _((char const   *)"Could not rename config section \'%s\' to \'%s\'");
    error((char const   *)tmp___9, buf___19.buf, buf2.buf);
    tmp___10 = const_error();
    return (tmp___10);
  }
  strbuf_setlen___33(& buf___19, (size_t )0);
  strbuf_addf(& buf___19, (char const   *)"remote.%s.fetch", rename___0.new_name);
  git_config_set_multivar((char const   *)buf___19.buf, (char const   *)((void *)0),
                          (char const   *)((void *)0), 1U);
  strbuf_addf(& old_remote_context, (char const   *)":refs/remotes/%s/", rename___0.old_name);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < oldremote->fetch.raw_nr)) {
      goto while_break;
    }
    strbuf_setlen___33(& buf2, (size_t )0);
    strbuf_addstr(& buf2, *(oldremote->fetch.raw + i));
    ptr = strstr((char const   *)buf2.buf, (char const   *)old_remote_context.buf);
    if (ptr) {
      refspec_updated = 1;
      tmp___12 = strlen(rename___0.new_name);
      tmp___13 = strlen(rename___0.old_name);
      tmp___14 = strlen((char const   *)":refs/remotes/");
      strbuf_splice(& buf2, (size_t )(ptr - buf2.buf) + tmp___14, tmp___13, (void const   *)rename___0.new_name,
                    tmp___12);
    } else {
      tmp___15 = _((char const   *)"Not updating non-default fetch refspec\n\t%s\n\tPlease update the configuration manually if necessary.");
      warning((char const   *)tmp___15, buf2.buf);
    }
    git_config_set_multivar((char const   *)buf___19.buf, (char const   *)buf2.buf,
                            (char const   *)"^$", 0U);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  read_branches();
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < branch_list.nr)) {
      goto while_break___0;
    }
    item___0 = branch_list.items + i;
    info___0 = (struct branch_info___0 *)item___0->util;
    if (info___0->remote_name) {
      tmp___16 = strcmp((char const   *)info___0->remote_name, rename___0.old_name);
      if (! tmp___16) {
        strbuf_setlen___33(& buf___19, (size_t )0);
        strbuf_addf(& buf___19, (char const   *)"branch.%s.remote", item___0->string);
        git_config_set((char const   *)buf___19.buf, rename___0.new_name);
      }
    }
    if (info___0->push_remote_name) {
      tmp___17 = strcmp((char const   *)info___0->push_remote_name, rename___0.old_name);
      if (! tmp___17) {
        strbuf_setlen___33(& buf___19, (size_t )0);
        strbuf_addf(& buf___19, (char const   *)"branch.%s.pushRemote", item___0->string);
        git_config_set((char const   *)buf___19.buf, rename___0.new_name);
      }
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (! refspec_updated) {
    return (0);
  }
  for_each_ref(& read_remote_branches, (void *)(& rename___0));
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! ((unsigned int )i < remote_branches.nr)) {
      goto while_break___1;
    }
    item___1 = remote_branches.items + i;
    flag = 0;
    read_ref_full((char const   *)item___1->string, 0x01, (struct object_id *)((void *)0),
                  & flag);
    if (! (flag & 0x01)) {
      goto __Cont;
    }
    tmp___19 = delete_ref((char const   *)((void *)0), (char const   *)item___1->string,
                          (struct object_id  const  *)((void *)0), 1U);
    if (tmp___19) {
      tmp___18 = _((char const   *)"deleting \'%s\' failed");
      die((char const   *)tmp___18, item___1->string);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((unsigned int )i < remote_branches.nr)) {
      goto while_break___2;
    }
    item___2 = remote_branches.items + i;
    if (item___2->util) {
      goto __Cont___0;
    }
    strbuf_setlen___33(& buf___19, (size_t )0);
    strbuf_addstr(& buf___19, (char const   *)item___2->string);
    tmp___20 = strlen(rename___0.new_name);
    tmp___21 = strlen(rename___0.old_name);
    tmp___22 = strlen((char const   *)"refs/remotes/");
    strbuf_splice(& buf___19, tmp___22, tmp___21, (void const   *)rename___0.new_name,
                  tmp___20);
    strbuf_setlen___33(& buf2, (size_t )0);
    strbuf_addf(& buf2, (char const   *)"remote: renamed %s to %s", item___2->string,
                buf___19.buf);
    tmp___24 = rename_ref((char const   *)item___2->string, (char const   *)buf___19.buf,
                          (char const   *)buf2.buf);
    if (tmp___24) {
      tmp___23 = _((char const   *)"renaming \'%s\' failed");
      die((char const   *)tmp___23, item___2->string);
    }
    __Cont___0: /* CIL Label */
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! ((unsigned int )i < remote_branches.nr)) {
      goto while_break___3;
    }
    item___3 = remote_branches.items + i;
    if (! item___3->util) {
      goto __Cont___1;
    }
    strbuf_setlen___33(& buf___19, (size_t )0);
    strbuf_addstr(& buf___19, (char const   *)item___3->string);
    tmp___25 = strlen(rename___0.new_name);
    tmp___26 = strlen(rename___0.old_name);
    tmp___27 = strlen((char const   *)"refs/remotes/");
    strbuf_splice(& buf___19, tmp___27, tmp___26, (void const   *)rename___0.new_name,
                  tmp___25);
    strbuf_setlen___33(& buf2, (size_t )0);
    strbuf_addstr(& buf2, (char const   *)item___3->util);
    tmp___28 = strlen(rename___0.new_name);
    tmp___29 = strlen(rename___0.old_name);
    tmp___30 = strlen((char const   *)"refs/remotes/");
    strbuf_splice(& buf2, tmp___30, tmp___29, (void const   *)rename___0.new_name,
                  tmp___28);
    strbuf_setlen___33(& buf3, (size_t )0);
    strbuf_addf(& buf3, (char const   *)"remote: renamed %s to %s", item___3->string,
                buf___19.buf);
    tmp___32 = create_symref((char const   *)buf___19.buf, (char const   *)buf2.buf,
                             (char const   *)buf3.buf);
    if (tmp___32) {
      tmp___31 = _((char const   *)"creating \'%s\' failed");
      die((char const   *)tmp___31, buf___19.buf);
    }
    __Cont___1: /* CIL Label */
    i ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  string_list_clear(& remote_branches, 1);
  handle_push_default(rename___0.old_name, rename___0.new_name);
  return (0);
}
}
static int rm(int argc , char const   **argv___0 )
{
  struct option options[1] ;
  struct remote *remote ;
  struct strbuf buf___19 ;
  struct known_remotes known_remotes ;
  struct string_list branches ;
  struct string_list skipped ;
  struct branches_for_remote cb_data ;
  int i ;
  int result___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct string_list_item *item___0 ;
  struct branch_info___0 *info___0 ;
  char const   *keys[3] ;
  char const   **k ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  options[0].type = (enum parse_opt_type )0;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)0;
  options[0].value = (void *)0;
  options[0].argh = (char const   *)0;
  options[0].help = (char const   *)0;
  options[0].flags = 0U;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  known_remotes.to_delete = (struct remote *)((void *)0);
  known_remotes.list = (struct known_remote *)((void *)0);
  branches.items = (struct string_list_item *)0;
  branches.nr = 0U;
  branches.alloc = 0U;
  branches.strdup_strings = 1U;
  branches.cmp = (int (*)(char const   * , char const   * ))0;
  skipped.items = (struct string_list_item *)0;
  skipped.nr = 0U;
  skipped.alloc = 0U;
  skipped.strdup_strings = 1U;
  skipped.cmp = (int (*)(char const   * , char const   * ))0;
  memset((void *)(& cb_data), 0, sizeof(cb_data));
  cb_data.branches = & branches;
  cb_data.skipped = & skipped;
  cb_data.keep = & known_remotes;
  if (argc != 2) {
    usage_with_options(builtin_remote_rm_usage, (struct option  const  *)(options));
  }
  remote = remote_get(*(argv___0 + 1));
  tmp___1 = remote_is_configured(remote, 1);
  if (! tmp___1) {
    tmp = _((char const   *)"No such remote: \'%s\'");
    error((char const   *)tmp, *(argv___0 + 1));
    const_error();
    tmp___0 = trace2_cmd_exit_fl((char const   *)"builtin/remote.c", 842, 2);
    exit(tmp___0);
  }
  known_remotes.to_delete = remote;
  for_each_remote(& add_known_remote, (void *)(& known_remotes));
  read_branches();
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < branch_list.nr)) {
      goto while_break;
    }
    item___0 = branch_list.items + i;
    info___0 = (struct branch_info___0 *)item___0->util;
    if (info___0->remote_name) {
      tmp___3 = strcmp((char const   *)info___0->remote_name, remote->name);
      if (! tmp___3) {
        keys[0] = (char const   *)"remote";
        keys[1] = (char const   *)"merge";
        keys[2] = (char const   *)((void *)0);
        k = keys;
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          if (! *k) {
            goto while_break___0;
          }
          strbuf_setlen___33(& buf___19, (size_t )0);
          strbuf_addf(& buf___19, (char const   *)"branch.%s.%s", item___0->string,
                      *k);
          result___0 = git_config_set_gently((char const   *)buf___19.buf, (char const   *)((void *)0));
          if (result___0) {
            if (result___0 != 5) {
              tmp___2 = _((char const   *)"could not unset \'%s\'");
              die((char const   *)tmp___2, buf___19.buf);
            }
          }
          k ++;
        }
        while_break___0: /* CIL Label */ ;
        }
      }
    }
    if (info___0->push_remote_name) {
      tmp___5 = strcmp((char const   *)info___0->push_remote_name, remote->name);
      if (! tmp___5) {
        strbuf_setlen___33(& buf___19, (size_t )0);
        strbuf_addf(& buf___19, (char const   *)"branch.%s.pushremote", item___0->string);
        result___0 = git_config_set_gently((char const   *)buf___19.buf, (char const   *)((void *)0));
        if (result___0) {
          if (result___0 != 5) {
            tmp___4 = _((char const   *)"could not unset \'%s\'");
            die((char const   *)tmp___4, buf___19.buf);
          }
        }
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  cb_data.remote = remote;
  result___0 = for_each_ref(& add_branch_for_removal, (void *)(& cb_data));
  strbuf_release(& buf___19);
  if (! result___0) {
    result___0 = delete_refs((char const   *)"remote: remove", & branches, 1U);
  }
  string_list_clear(& branches, 0);
  if (skipped.nr) {
    tmp___6 = Q_((char const   *)"Note: A branch outside the refs/remotes/ hierarchy was not removed;\nto delete it, use:",
                 (char const   *)"Note: Some branches outside the refs/remotes/ hierarchy were not removed;\nto delete them, use:",
                 (unsigned long )skipped.nr);
    fprintf_ln(stderr, (char const   *)tmp___6);
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((unsigned int )i < skipped.nr)) {
        goto while_break___1;
      }
      fprintf(stderr, (char const   *)"  git branch -d %s\n", (skipped.items + i)->string);
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  string_list_clear(& skipped, 0);
  if (! result___0) {
    strbuf_addf(& buf___19, (char const   *)"remote.%s", remote->name);
    tmp___9 = git_config_rename_section((char const   *)buf___19.buf, (char const   *)((void *)0));
    if (tmp___9 < 1) {
      tmp___7 = _((char const   *)"Could not remove config section \'%s\'");
      error((char const   *)tmp___7, buf___19.buf);
      tmp___8 = const_error();
      return (tmp___8);
    }
    handle_push_default(remote->name, (char const   *)((void *)0));
  }
  return (result___0);
}
}
static void clear_push_info(void *util , char const   *string___0 )
{
  struct push_info *info___0 ;

  {
  info___0 = (struct push_info *)util;
  free((void *)info___0->dest);
  free((void *)info___0);
  return;
}
}
static void free_remote_ref_states(struct ref_states *states )
{


  {
  string_list_clear(& states->new_refs, 0);
  string_list_clear(& states->stale, 1);
  string_list_clear(& states->tracked, 0);
  string_list_clear(& states->heads, 0);
  string_list_clear_func(& states->push, & clear_push_info);
  return;
}
}
static int append_ref_to_tracked_list(char const   *refname , struct object_id  const  *oid ,
                                      int flags___0 , void *cb_data )
{
  struct ref_states *states ;
  struct refspec_item refspec ;
  char const   *tmp ;
  int tmp___0 ;

  {
  states = (struct ref_states *)cb_data;
  if (flags___0 & 0x01) {
    return (0);
  }
  memset((void *)(& refspec), 0, sizeof(refspec));
  refspec.dst = (char *)refname;
  tmp___0 = remote_find_tracking(states->remote, & refspec);
  if (! tmp___0) {
    tmp = abbrev_ref((char const   *)refspec.src, (char const   *)"refs/heads/");
    string_list_append(& states->tracked, tmp);
  }
  return (0);
}
}
static int get_remote_ref_states(char const   *name___0 , struct ref_states *states ,
                                 int query )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  struct transport *transport ;
  struct ref  const  *remote_refs ;
  char const   *tmp___1 ;

  {
  states->remote = remote_get(name___0);
  if (! states->remote) {
    tmp = _((char const   *)"No such remote: \'%s\'");
    error((char const   *)tmp, name___0);
    tmp___0 = const_error();
    return (tmp___0);
  }
  read_branches();
  if (query) {
    if ((states->remote)->url_nr > 0) {
      tmp___1 = *((states->remote)->url + 0);
    } else {
      tmp___1 = (char const   *)((void *)0);
    }
    transport = transport_get(states->remote, tmp___1);
    remote_refs = transport_get_remote_refs(transport, (struct transport_ls_refs_options *)((void *)0));
    states->queried = 1;
    if (query & 1) {
      get_ref_states(remote_refs, states);
    }
    if (query & (1 << 1)) {
      get_head_names(remote_refs, states);
    }
    if (query & (1 << 2)) {
      get_push_ref_states(remote_refs, states);
    }
    transport_disconnect(transport);
  } else {
    for_each_ref(& append_ref_to_tracked_list, (void *)states);
    string_list_sort(& states->tracked);
    get_push_ref_states_noquery(states);
  }
  return (0);
}
}
static int add_remote_to_show_info(struct string_list_item *item___0 , void *cb_data )
{
  struct show_info *info___0 ;
  int n ;
  size_t tmp ;

  {
  info___0 = (struct show_info *)cb_data;
  tmp = strlen((char const   *)item___0->string);
  n = (int )tmp;
  if (n > info___0->width) {
    info___0->width = n;
  }
  string_list_insert(& info___0->list, (char const   *)item___0->string);
  return (0);
}
}
static int show_remote_info_item(struct string_list_item *item___0 , void *cb_data )
{
  struct show_info *info___0 ;
  struct ref_states *states ;
  char const   *name___0 ;
  char const   *fmt ;
  char const   *arg ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  info___0 = (struct show_info *)cb_data;
  states = & info___0->states;
  name___0 = (char const   *)item___0->string;
  if (states->queried) {
    fmt = (char const   *)"%s";
    arg = (char const   *)"";
    tmp___5 = string_list_has_string((struct string_list  const  *)(& states->new_refs),
                                     name___0);
    if (tmp___5) {
      tmp = _((char const   *)" new (next fetch will store in remotes/%s)");
      fmt = (char const   *)tmp;
      arg = (states->remote)->name;
    } else {
      tmp___4 = string_list_has_string((struct string_list  const  *)(& states->tracked),
                                       name___0);
      if (tmp___4) {
        tmp___0 = _((char const   *)" tracked");
        arg = (char const   *)tmp___0;
      } else {
        tmp___3 = string_list_has_string((struct string_list  const  *)(& states->stale),
                                         name___0);
        if (tmp___3) {
          tmp___1 = _((char const   *)" stale (use \'git remote prune\' to remove)");
          arg = (char const   *)tmp___1;
        } else {
          tmp___2 = _((char const   *)" ???");
          arg = (char const   *)tmp___2;
        }
      }
    }
    printf((char const   *)"    %-*s", info___0->width, name___0);
    printf(fmt, arg);
    printf((char const   *)"\n");
  } else {
    printf((char const   *)"    %s\n", name___0);
  }
  return (0);
}
}
static int add_local_to_show_info(struct string_list_item *branch_item , void *cb_data )
{
  struct show_info *show_info ;
  struct ref_states *states ;
  struct branch_info___0 *branch_info ;
  struct string_list_item *item___0 ;
  int n ;
  int tmp ;
  size_t tmp___0 ;

  {
  show_info = (struct show_info *)cb_data;
  states = & show_info->states;
  branch_info = (struct branch_info___0 *)branch_item->util;
  if (! branch_info->merge.nr) {
    return (0);
  } else
  if (! branch_info->remote_name) {
    return (0);
  } else {
    tmp = strcmp((states->remote)->name, (char const   *)branch_info->remote_name);
    if (tmp) {
      return (0);
    }
  }
  tmp___0 = strlen((char const   *)branch_item->string);
  n = (int )tmp___0;
  if (n > show_info->width) {
    show_info->width = n;
  }
  if ((int )branch_info->rebase >= 1) {
    show_info->any_rebase = 1;
  }
  item___0 = string_list_insert(& show_info->list, (char const   *)branch_item->string);
  item___0->util = (void *)branch_info;
  return (0);
}
}
static int show_local_info_item(struct string_list_item *item___0 , void *cb_data )
{
  struct show_info *show_info ;
  struct branch_info___0 *branch_info ;
  struct string_list *merge___1 ;
  int width ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const   *msg___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  show_info = (struct show_info *)cb_data;
  branch_info = (struct branch_info___0 *)item___0->util;
  merge___1 = & branch_info->merge;
  width = show_info->width + 4;
  if ((int )branch_info->rebase >= 1) {
    if (branch_info->merge.nr > 1U) {
      tmp = _((char const   *)"invalid branch.%s.merge; cannot rebase onto > 1 branch");
      error((char const   *)tmp, item___0->string);
      const_error();
      return (0);
    }
  }
  printf((char const   *)"    %-*s ", show_info->width, item___0->string);
  if ((int )branch_info->rebase >= 1) {
    if ((int )branch_info->rebase == 3) {
      tmp___0 = _((char const   *)"rebases interactively onto remote %s");
      msg___5 = (char const   *)tmp___0;
    } else
    if ((int )branch_info->rebase == 2) {
      tmp___1 = _((char const   *)"rebases interactively (with merges) onto remote %s");
      msg___5 = (char const   *)tmp___1;
    } else {
      tmp___2 = _((char const   *)"rebases onto remote %s");
      msg___5 = (char const   *)tmp___2;
    }
    printf_ln(msg___5, (merge___1->items + 0)->string);
    return (0);
  } else
  if (show_info->any_rebase) {
    tmp___3 = _((char const   *)" merges with remote %s");
    printf_ln((char const   *)tmp___3, (merge___1->items + 0)->string);
    width ++;
  } else {
    tmp___4 = _((char const   *)"merges with remote %s");
    printf_ln((char const   *)tmp___4, (merge___1->items + 0)->string);
  }
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < merge___1->nr)) {
      goto while_break;
    }
    tmp___5 = _((char const   *)"%-*s    and with remote %s\n");
    printf((char const   *)tmp___5, width, "", (merge___1->items + i)->string);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int add_push_to_show_info(struct string_list_item *push_item , void *cb_data )
{
  struct show_info *show_info ;
  struct push_info *push_info ;
  struct string_list_item *item___0 ;
  int n ;
  size_t tmp ;
  size_t tmp___0 ;

  {
  show_info = (struct show_info *)cb_data;
  push_info = (struct push_info *)push_item->util;
  tmp = strlen((char const   *)push_item->string);
  n = (int )tmp;
  if (n > show_info->width) {
    show_info->width = n;
  }
  tmp___0 = strlen((char const   *)push_info->dest);
  n = (int )tmp___0;
  if (n > show_info->width2) {
    show_info->width2 = n;
  }
  item___0 = string_list_append(& show_info->list, (char const   *)push_item->string);
  item___0->util = push_item->util;
  return (0);
}
}
static int cmp_string_with_push(void const   *va , void const   *vb )
{
  struct string_list_item  const  *a ;
  struct string_list_item  const  *b___0 ;
  struct push_info  const  *a_push ;
  struct push_info  const  *b_push ;
  int cmp___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  a = (struct string_list_item  const  *)va;
  b___0 = (struct string_list_item  const  *)vb;
  a_push = (struct push_info  const  *)a->util;
  b_push = (struct push_info  const  *)b___0->util;
  tmp = strcmp((char const   *)a->string, (char const   *)b___0->string);
  cmp___0 = tmp;
  if (cmp___0) {
    tmp___1 = cmp___0;
  } else {
    tmp___0 = strcmp((char const   *)a_push->dest, (char const   *)b_push->dest);
    tmp___1 = tmp___0;
  }
  return (tmp___1);
}
}
static int show_push_info_item(struct string_list_item *item___0 , void *cb_data )
{
  struct show_info *show_info ;
  struct push_info *push_info ;
  char const   *src ;
  char const   *status ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;

  {
  show_info = (struct show_info *)cb_data;
  push_info = (struct push_info *)item___0->util;
  src = (char const   *)item___0->string;
  status = (char const   *)((void *)0);
  {
  if ((unsigned int )push_info->status == 0U) {
    goto case_0;
  }
  if ((unsigned int )push_info->status == 1U) {
    goto case_1;
  }
  if ((unsigned int )push_info->status == 2U) {
    goto case_2;
  }
  if ((unsigned int )push_info->status == 3U) {
    goto case_3;
  }
  if ((unsigned int )push_info->status == 4U) {
    goto case_4;
  }
  if ((unsigned int )push_info->status == 5U) {
    goto case_5;
  }
  goto switch_break;
  case_0: /* CIL Label */
  tmp = _((char const   *)"create");
  status = (char const   *)tmp;
  goto switch_break;
  case_1: /* CIL Label */
  tmp___0 = _((char const   *)"delete");
  status = (char const   *)tmp___0;
  tmp___1 = _((char const   *)"(none)");
  src = (char const   *)tmp___1;
  goto switch_break;
  case_2: /* CIL Label */
  tmp___2 = _((char const   *)"up to date");
  status = (char const   *)tmp___2;
  goto switch_break;
  case_3: /* CIL Label */
  tmp___3 = _((char const   *)"fast-forwardable");
  status = (char const   *)tmp___3;
  goto switch_break;
  case_4: /* CIL Label */
  tmp___4 = _((char const   *)"local out of date");
  status = (char const   *)tmp___4;
  goto switch_break;
  case_5: /* CIL Label */
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  if (status) {
    if (push_info->forced) {
      tmp___5 = _((char const   *)"    %-*s forces to %-*s (%s)");
      printf_ln((char const   *)tmp___5, show_info->width, src, show_info->width2,
                push_info->dest, status);
    } else {
      tmp___6 = _((char const   *)"    %-*s pushes to %-*s (%s)");
      printf_ln((char const   *)tmp___6, show_info->width, src, show_info->width2,
                push_info->dest, status);
    }
  } else
  if (push_info->forced) {
    tmp___7 = _((char const   *)"    %-*s forces to %s");
    printf_ln((char const   *)tmp___7, show_info->width, src, push_info->dest);
  } else {
    tmp___8 = _((char const   *)"    %-*s pushes to %s");
    printf_ln((char const   *)tmp___8, show_info->width, src, push_info->dest);
  }
  return (0);
}
}
static int get_one_entry(struct remote *remote , void *priv )
{
  struct string_list *list___3 ;
  struct strbuf url_buf ;
  char const   **url ;
  int i ;
  int url_nr ;
  struct string_list_item *tmp ;
  char *tmp___0 ;
  struct string_list_item *tmp___1 ;
  struct string_list_item *tmp___2 ;
  char *tmp___3 ;

  {
  list___3 = (struct string_list *)priv;
  url_buf.alloc = 0UL;
  url_buf.len = 0UL;
  url_buf.buf = strbuf_slopbuf;
  if (remote->url_nr > 0) {
    strbuf_addf(& url_buf, (char const   *)"%s (fetch)", *(remote->url + 0));
    tmp = string_list_append(list___3, remote->name);
    tmp___0 = strbuf_detach(& url_buf, (size_t *)((void *)0));
    tmp->util = (void *)tmp___0;
  } else {
    tmp___1 = string_list_append(list___3, remote->name);
    tmp___1->util = (void *)0;
  }
  if (remote->pushurl_nr) {
    url = remote->pushurl;
    url_nr = remote->pushurl_nr;
  } else {
    url = remote->url;
    url_nr = remote->url_nr;
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < url_nr)) {
      goto while_break;
    }
    strbuf_addf(& url_buf, (char const   *)"%s (push)", *(url + i));
    tmp___2 = string_list_append(list___3, remote->name);
    tmp___3 = strbuf_detach(& url_buf, (size_t *)((void *)0));
    tmp___2->util = (void *)tmp___3;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int show_all(void)
{
  struct string_list list___3 ;
  int result___0 ;
  int i ;
  struct string_list_item *item___0 ;
  char const   *tmp ;
  int tmp___0 ;

  {
  list___3.items = (struct string_list_item *)0;
  list___3.nr = 0U;
  list___3.alloc = 0U;
  list___3.strdup_strings = 0U;
  list___3.cmp = (int (*)(char const   * , char const   * ))0;
  list___3.strdup_strings = 1U;
  result___0 = for_each_remote(& get_one_entry, (void *)(& list___3));
  if (! result___0) {
    string_list_sort(& list___3);
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )i < list___3.nr)) {
        goto while_break;
      }
      item___0 = list___3.items + i;
      if (verbose___9) {
        if (item___0->util) {
          tmp = (char const   *)item___0->util;
        } else {
          tmp = (char const   *)"";
        }
        printf((char const   *)"%s\t%s\n", item___0->string, tmp);
      } else {
        if (i) {
          tmp___0 = strcmp((char const   *)(item___0 - 1)->string, (char const   *)item___0->string);
          if (! tmp___0) {
            goto __Cont;
          }
        }
        printf((char const   *)"%s\n", item___0->string);
      }
      __Cont: /* CIL Label */
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  string_list_clear(& list___3, 1);
  return (result___0);
}
}
static int show___1(int argc , char const   **argv___0 )
{
  int no_query ;
  int result___0 ;
  int query_flag ;
  struct option options[2] ;
  struct show_info info___0 ;
  int tmp ;
  int i ;
  char const   **url ;
  int url_nr ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___15 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___20 ;

  {
  no_query = 0;
  result___0 = 0;
  query_flag = 0;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 'n';
  options[0].long_name = (char const   *)((void *)0);
  options[0].value = (void *)(& no_query);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"do not query remotes";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )0;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)0;
  options[1].value = (void *)0;
  options[1].argh = (char const   *)0;
  options[1].help = (char const   *)0;
  options[1].flags = 0U;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  info___0.list.items = (struct string_list_item *)0;
  info___0.list.nr = 0U;
  info___0.list.alloc = 0U;
  info___0.list.strdup_strings = 1U;
  info___0.list.cmp = (int (*)(char const   * , char const   * ))0;
  info___0.states.remote = (struct remote *)0;
  info___0.states.new_refs.items = (struct string_list_item *)0;
  info___0.states.new_refs.nr = 0U;
  info___0.states.new_refs.alloc = 0U;
  info___0.states.new_refs.strdup_strings = 1U;
  info___0.states.new_refs.cmp = (int (*)(char const   * , char const   * ))0;
  info___0.states.stale.items = (struct string_list_item *)0;
  info___0.states.stale.nr = 0U;
  info___0.states.stale.alloc = 0U;
  info___0.states.stale.strdup_strings = 1U;
  info___0.states.stale.cmp = (int (*)(char const   * , char const   * ))0;
  info___0.states.tracked.items = (struct string_list_item *)0;
  info___0.states.tracked.nr = 0U;
  info___0.states.tracked.alloc = 0U;
  info___0.states.tracked.strdup_strings = 1U;
  info___0.states.tracked.cmp = (int (*)(char const   * , char const   * ))0;
  info___0.states.heads.items = (struct string_list_item *)0;
  info___0.states.heads.nr = 0U;
  info___0.states.heads.alloc = 0U;
  info___0.states.heads.strdup_strings = 1U;
  info___0.states.heads.cmp = (int (*)(char const   * , char const   * ))0;
  info___0.states.push.items = (struct string_list_item *)0;
  info___0.states.push.nr = 0U;
  info___0.states.push.alloc = 0U;
  info___0.states.push.strdup_strings = 1U;
  info___0.states.push.cmp = (int (*)(char const   * , char const   * ))0;
  info___0.states.queried = 0;
  info___0.width = 0;
  info___0.width2 = 0;
  info___0.any_rebase = 0;
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)(options),
                       builtin_remote_show_usage, (enum parse_opt_flags )0);
  if (argc < 1) {
    tmp = show_all();
    return (tmp);
  }
  if (! no_query) {
    query_flag = (1 | (1 << 1)) | (1 << 2);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! argc) {
      goto while_break;
    }
    get_remote_ref_states(*argv___0, & info___0.states, query_flag);
    tmp___0 = _((char const   *)"* remote %s");
    printf_ln((char const   *)tmp___0, *argv___0);
    if ((info___0.states.remote)->url_nr > 0) {
      tmp___2 = (char const __attribute__((__format_arg__(1)))  *)*((info___0.states.remote)->url + 0);
    } else {
      tmp___1 = _((char const   *)"(no URL)");
      tmp___2 = tmp___1;
    }
    tmp___3 = _((char const   *)"  Fetch URL: %s");
    printf_ln((char const   *)tmp___3, tmp___2);
    if ((info___0.states.remote)->pushurl_nr) {
      url = (info___0.states.remote)->pushurl;
      url_nr = (info___0.states.remote)->pushurl_nr;
    } else {
      url = (info___0.states.remote)->url;
      url_nr = (info___0.states.remote)->url_nr;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < url_nr)) {
        goto while_break___0;
      }
      tmp___4 = _((char const   *)"  Push  URL: %s");
      printf_ln((char const   *)tmp___4, *(url + i));
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! i) {
      tmp___5 = _((char const   *)"(no URL)");
      tmp___6 = _((char const   *)"  Push  URL: %s");
      printf_ln((char const   *)tmp___6, tmp___5);
    }
    if (no_query) {
      tmp___7 = _((char const   *)"(not queried)");
      tmp___8 = _((char const   *)"  HEAD branch: %s");
      printf_ln((char const   *)tmp___8, tmp___7);
    } else
    if (! info___0.states.heads.nr) {
      tmp___9 = _((char const   *)"(unknown)");
      tmp___10 = _((char const   *)"  HEAD branch: %s");
      printf_ln((char const   *)tmp___10, tmp___9);
    } else
    if (info___0.states.heads.nr == 1U) {
      tmp___11 = _((char const   *)"  HEAD branch: %s");
      printf_ln((char const   *)tmp___11, (info___0.states.heads.items + 0)->string);
    } else {
      tmp___12 = _((char const   *)"  HEAD branch (remote HEAD is ambiguous, may be one of the following):\n");
      printf((char const   *)tmp___12);
      i = 0;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! ((unsigned int )i < info___0.states.heads.nr)) {
          goto while_break___1;
        }
        printf((char const   *)"    %s\n", (info___0.states.heads.items + i)->string);
        i ++;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
    info___0.width = 0;
    for_each_string_list(& info___0.states.new_refs, & add_remote_to_show_info, (void *)(& info___0));
    for_each_string_list(& info___0.states.tracked, & add_remote_to_show_info, (void *)(& info___0));
    for_each_string_list(& info___0.states.stale, & add_remote_to_show_info, (void *)(& info___0));
    if (info___0.list.nr) {
      if (no_query) {
        tmp___13 = _((char const   *)" (status not queried)");
        tmp___14 = tmp___13;
      } else {
        tmp___14 = (char const __attribute__((__format_arg__(1)))  *)"";
      }
      tmp___15 = Q_((char const   *)"  Remote branch:%s", (char const   *)"  Remote branches:%s",
                    (unsigned long )info___0.list.nr);
      printf_ln((char const   *)tmp___15, tmp___14);
    }
    for_each_string_list(& info___0.list, & show_remote_info_item, (void *)(& info___0));
    string_list_clear(& info___0.list, 0);
    info___0.width = 0;
    info___0.any_rebase = 0;
    for_each_string_list(& branch_list, & add_local_to_show_info, (void *)(& info___0));
    if (info___0.list.nr) {
      tmp___16 = Q_((char const   *)"  Local branch configured for \'git pull\':",
                    (char const   *)"  Local branches configured for \'git pull\':",
                    (unsigned long )info___0.list.nr);
      printf_ln((char const   *)tmp___16);
    }
    for_each_string_list(& info___0.list, & show_local_info_item, (void *)(& info___0));
    string_list_clear(& info___0.list, 0);
    if ((info___0.states.remote)->mirror) {
      tmp___17 = _((char const   *)"  Local refs will be mirrored by \'git push\'");
      printf_ln((char const   *)tmp___17);
    }
    info___0.width2 = 0;
    info___0.width = info___0.width2;
    for_each_string_list(& info___0.states.push, & add_push_to_show_info, (void *)(& info___0));
    sane_qsort((void *)info___0.list.items, (size_t )info___0.list.nr, sizeof(*(info___0.list.items)),
               & cmp_string_with_push);
    if (info___0.list.nr) {
      if (no_query) {
        tmp___18 = _((char const   *)" (status not queried)");
        tmp___19 = tmp___18;
      } else {
        tmp___19 = (char const __attribute__((__format_arg__(1)))  *)"";
      }
      tmp___20 = Q_((char const   *)"  Local ref configured for \'git push\'%s:",
                    (char const   *)"  Local refs configured for \'git push\'%s:",
                    (unsigned long )info___0.list.nr);
      printf_ln((char const   *)tmp___20, tmp___19);
    }
    for_each_string_list(& info___0.list, & show_push_info_item, (void *)(& info___0));
    string_list_clear(& info___0.list, 0);
    free_remote_ref_states(& info___0.states);
    argc --;
    argv___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (result___0);
}
}
static int set_head(int argc , char const   **argv___0 )
{
  int i ;
  int opt_a ;
  int opt_d ;
  int result___0 ;
  struct strbuf buf___19 ;
  struct strbuf buf2 ;
  char *head_name___0 ;
  struct option options[3] ;
  struct ref_states states ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;

  {
  opt_a = 0;
  opt_d = 0;
  result___0 = 0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  buf2.alloc = 0UL;
  buf2.len = 0UL;
  buf2.buf = strbuf_slopbuf;
  head_name___0 = (char *)((void *)0);
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 'a';
  options[0].long_name = (char const   *)"auto";
  options[0].value = (void *)(& opt_a);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"set refs/remotes/<name>/HEAD according to remote";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 'd';
  options[1].long_name = (char const   *)"delete";
  options[1].value = (void *)(& opt_d);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"delete refs/remotes/<name>/HEAD";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )0;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)0;
  options[2].value = (void *)0;
  options[2].argh = (char const   *)0;
  options[2].help = (char const   *)0;
  options[2].flags = 0U;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)(options),
                       builtin_remote_sethead_usage, (enum parse_opt_flags )0);
  if (argc) {
    strbuf_addf(& buf___19, (char const   *)"refs/remotes/%s/HEAD", *(argv___0 + 0));
  }
  if (! opt_a) {
    if (! opt_d) {
      if (argc == 2) {
        head_name___0 = xstrdup(*(argv___0 + 1));
      } else {
        goto _L___2;
      }
    } else {
      goto _L___2;
    }
  } else
  _L___2: /* CIL Label */
  _L___1: /* CIL Label */
  if (opt_a) {
    if (! opt_d) {
      if (argc == 1) {
        states.remote = (struct remote *)0;
        states.new_refs.items = (struct string_list_item *)0;
        states.new_refs.nr = 0U;
        states.new_refs.alloc = 0U;
        states.new_refs.strdup_strings = 1U;
        states.new_refs.cmp = (int (*)(char const   * , char const   * ))0;
        states.stale.items = (struct string_list_item *)0;
        states.stale.nr = 0U;
        states.stale.alloc = 0U;
        states.stale.strdup_strings = 1U;
        states.stale.cmp = (int (*)(char const   * , char const   * ))0;
        states.tracked.items = (struct string_list_item *)0;
        states.tracked.nr = 0U;
        states.tracked.alloc = 0U;
        states.tracked.strdup_strings = 1U;
        states.tracked.cmp = (int (*)(char const   * , char const   * ))0;
        states.heads.items = (struct string_list_item *)0;
        states.heads.nr = 0U;
        states.heads.alloc = 0U;
        states.heads.strdup_strings = 1U;
        states.heads.cmp = (int (*)(char const   * , char const   * ))0;
        states.push.items = (struct string_list_item *)0;
        states.push.nr = 0U;
        states.push.alloc = 0U;
        states.push.strdup_strings = 1U;
        states.push.cmp = (int (*)(char const   * , char const   * ))0;
        states.queried = 0;
        get_remote_ref_states(*(argv___0 + 0), & states, 1 << 1);
        if (! states.heads.nr) {
          tmp = _((char const   *)"Cannot determine remote HEAD");
          error((char const   *)tmp);
          tmp___0 = const_error();
          result___0 |= tmp___0;
        } else
        if (states.heads.nr > 1U) {
          tmp___1 = _((char const   *)"Multiple remote HEAD branches. Please choose one explicitly with:");
          error((char const   *)tmp___1);
          tmp___2 = const_error();
          result___0 |= tmp___2;
          i = 0;
          {
          while (1) {
            while_continue: /* CIL Label */ ;
            if (! ((unsigned int )i < states.heads.nr)) {
              goto while_break;
            }
            fprintf(stderr, (char const   *)"  git remote set-head %s %s\n", *(argv___0 + 0),
                    (states.heads.items + i)->string);
            i ++;
          }
          while_break: /* CIL Label */ ;
          }
        } else {
          head_name___0 = xstrdup((char const   *)(states.heads.items + 0)->string);
        }
        free_remote_ref_states(& states);
      } else {
        goto _L___0;
      }
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  _L: /* CIL Label */
  if (opt_d) {
    if (! opt_a) {
      if (argc == 1) {
        tmp___5 = delete_ref((char const   *)((void *)0), (char const   *)buf___19.buf,
                             (struct object_id  const  *)((void *)0), 1U);
        if (tmp___5) {
          tmp___3 = _((char const   *)"Could not delete %s");
          error((char const   *)tmp___3, buf___19.buf);
          tmp___4 = const_error();
          result___0 |= tmp___4;
        }
      } else {
        usage_with_options(builtin_remote_sethead_usage, (struct option  const  *)(options));
      }
    } else {
      usage_with_options(builtin_remote_sethead_usage, (struct option  const  *)(options));
    }
  } else {
    usage_with_options(builtin_remote_sethead_usage, (struct option  const  *)(options));
  }
  if (head_name___0) {
    strbuf_addf(& buf2, (char const   *)"refs/remotes/%s/%s", *(argv___0 + 0), head_name___0);
    tmp___11 = ref_exists((char const   *)buf2.buf);
    if (tmp___11) {
      tmp___10 = create_symref((char const   *)buf___19.buf, (char const   *)buf2.buf,
                               (char const   *)"remote set-head");
      if (tmp___10) {
        tmp___8 = _((char const   *)"Could not setup %s");
        error((char const   *)tmp___8, buf___19.buf);
        tmp___9 = const_error();
        result___0 |= tmp___9;
      } else
      if (opt_a) {
        printf((char const   *)"%s/HEAD set to %s\n", *(argv___0 + 0), head_name___0);
      }
    } else {
      tmp___6 = _((char const   *)"Not a valid ref: %s");
      error((char const   *)tmp___6, buf2.buf);
      tmp___7 = const_error();
      result___0 |= tmp___7;
    }
    free((void *)head_name___0);
  }
  strbuf_release(& buf___19);
  strbuf_release(& buf2);
  return (result___0);
}
}
static int prune_remote(char const   *remote , int dry_run___3 )
{
  int result___0 ;
  struct ref_states states ;
  struct string_list refs_to_prune ;
  struct string_list_item *item___0 ;
  char const   *dangling_msg ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const   *refname ;
  char const   *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const   *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;

  {
  result___0 = 0;
  states.remote = (struct remote *)0;
  states.new_refs.items = (struct string_list_item *)0;
  states.new_refs.nr = 0U;
  states.new_refs.alloc = 0U;
  states.new_refs.strdup_strings = 1U;
  states.new_refs.cmp = (int (*)(char const   * , char const   * ))0;
  states.stale.items = (struct string_list_item *)0;
  states.stale.nr = 0U;
  states.stale.alloc = 0U;
  states.stale.strdup_strings = 1U;
  states.stale.cmp = (int (*)(char const   * , char const   * ))0;
  states.tracked.items = (struct string_list_item *)0;
  states.tracked.nr = 0U;
  states.tracked.alloc = 0U;
  states.tracked.strdup_strings = 1U;
  states.tracked.cmp = (int (*)(char const   * , char const   * ))0;
  states.heads.items = (struct string_list_item *)0;
  states.heads.nr = 0U;
  states.heads.alloc = 0U;
  states.heads.strdup_strings = 1U;
  states.heads.cmp = (int (*)(char const   * , char const   * ))0;
  states.push.items = (struct string_list_item *)0;
  states.push.nr = 0U;
  states.push.alloc = 0U;
  states.push.strdup_strings = 1U;
  states.push.cmp = (int (*)(char const   * , char const   * ))0;
  states.queried = 0;
  refs_to_prune.items = (struct string_list_item *)0;
  refs_to_prune.nr = 0U;
  refs_to_prune.alloc = 0U;
  refs_to_prune.strdup_strings = 0U;
  refs_to_prune.cmp = (int (*)(char const   * , char const   * ))0;
  if (dry_run___3) {
    tmp = _((char const   *)" %s will become dangling!");
    tmp___1 = tmp;
  } else {
    tmp___0 = _((char const   *)" %s has become dangling!");
    tmp___1 = tmp___0;
  }
  dangling_msg = (char const   *)tmp___1;
  get_remote_ref_states(remote, & states, 1);
  if (! states.stale.nr) {
    free_remote_ref_states(& states);
    return (0);
  }
  tmp___2 = _((char const   *)"Pruning %s");
  printf_ln((char const   *)tmp___2, remote);
  if ((states.remote)->url_nr) {
    tmp___4 = (char const __attribute__((__format_arg__(1)))  *)*((states.remote)->url + 0);
  } else {
    tmp___3 = _((char const   *)"(no URL)");
    tmp___4 = tmp___3;
  }
  tmp___5 = _((char const   *)"URL: %s");
  printf_ln((char const   *)tmp___5, tmp___4);
  item___0 = states.stale.items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(states.stale.items + states.stale.nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    string_list_append(& refs_to_prune, (char const   *)item___0->util);
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_sort(& refs_to_prune);
  if (! dry_run___3) {
    tmp___6 = delete_refs((char const   *)"remote: prune", & refs_to_prune, 0U);
    result___0 |= tmp___6;
  }
  item___0 = states.stale.items;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(states.stale.items + states.stale.nr))) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    refname = (char const   *)item___0->util;
    if (dry_run___3) {
      tmp___7 = abbrev_ref(refname, (char const   *)"refs/remotes/");
      tmp___8 = _((char const   *)" * [would prune] %s");
      printf_ln((char const   *)tmp___8, tmp___7);
    } else {
      tmp___9 = abbrev_ref(refname, (char const   *)"refs/remotes/");
      tmp___10 = _((char const   *)" * [pruned] %s");
      printf_ln((char const   *)tmp___10, tmp___9);
    }
    item___0 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  warn_dangling_symrefs(stdout, dangling_msg, (struct string_list  const  *)(& refs_to_prune));
  string_list_clear(& refs_to_prune, 0);
  free_remote_ref_states(& states);
  return (result___0);
}
}
static int prune___2(int argc , char const   **argv___0 )
{
  int dry_run___3 ;
  int result___0 ;
  struct option options[2] ;
  int tmp ;

  {
  dry_run___3 = 0;
  result___0 = 0;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 'n';
  options[0].long_name = (char const   *)"dry-run";
  options[0].value = (void *)(& dry_run___3);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"dry run";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )0;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)0;
  options[1].value = (void *)0;
  options[1].argh = (char const   *)0;
  options[1].help = (char const   *)0;
  options[1].flags = 0U;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)(options),
                       builtin_remote_prune_usage, (enum parse_opt_flags )0);
  if (argc < 1) {
    usage_with_options(builtin_remote_prune_usage, (struct option  const  *)(options));
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! argc) {
      goto while_break;
    }
    tmp = prune_remote(*argv___0, dry_run___3);
    result___0 |= tmp;
    argc --;
    argv___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (result___0);
}
}
static int get_remote_default(char const   *key___1 , char const   *value , void *priv )
{
  int *found ;
  int tmp ;

  {
  tmp = strcmp(key___1, (char const   *)"remotes.default");
  if (tmp == 0) {
    found = (int *)priv;
    *found = 1;
  }
  return (0);
}
}
static int update___0(int argc , char const   **argv___0 )
{
  int i ;
  int prune___4 ;
  struct option options[2] ;
  struct strvec fetch_argv ;
  int default_defined ;
  int retval ;
  char *tmp ;
  int tmp___0 ;

  {
  prune___4 = -1;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 'p';
  options[0].long_name = (char const   *)"prune";
  options[0].value = (void *)(& prune___4);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"prune remotes after fetching";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )0;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)0;
  options[1].value = (void *)0;
  options[1].argh = (char const   *)0;
  options[1].help = (char const   *)0;
  options[1].flags = 0U;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  fetch_argv.v = empty_strvec;
  fetch_argv.nr = 0UL;
  fetch_argv.alloc = 0UL;
  default_defined = 0;
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)(options),
                       builtin_remote_update_usage, (enum parse_opt_flags )4);
  strvec_push(& fetch_argv, (char const   *)"fetch");
  if (prune___4 != -1) {
    if (prune___4) {
      tmp = "--prune";
    } else {
      tmp = "--no-prune";
    }
    strvec_push(& fetch_argv, (char const   *)tmp);
  }
  if (verbose___9) {
    strvec_push(& fetch_argv, (char const   *)"-v");
  }
  strvec_push(& fetch_argv, (char const   *)"--multiple");
  if (argc < 2) {
    strvec_push(& fetch_argv, (char const   *)"default");
  }
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    strvec_push(& fetch_argv, *(argv___0 + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___0 = strcmp(*(fetch_argv.v + (fetch_argv.nr - 1UL)), (char const   *)"default");
  if (tmp___0 == 0) {
    git_config(& get_remote_default, (void *)(& default_defined));
    if (! default_defined) {
      strvec_pop(& fetch_argv);
      strvec_push(& fetch_argv, (char const   *)"--all");
    }
  }
  retval = run_command_v_opt(fetch_argv.v, 1 << 1);
  strvec_clear(& fetch_argv);
  return (retval);
}
}
static int remove_all_fetch_refspecs(char const   *key___1 )
{
  int tmp ;

  {
  tmp = git_config_set_multivar_gently(key___1, (char const   *)((void *)0), (char const   *)((void *)0),
                                       1U);
  return (tmp);
}
}
static void add_branches(struct remote *remote , char const   **branches , char const   *key___1 )
{
  char const   *remotename ;
  int mirror ;
  struct strbuf refspec ;

  {
  remotename = remote->name;
  mirror = remote->mirror;
  refspec.alloc = 0UL;
  refspec.len = 0UL;
  refspec.buf = strbuf_slopbuf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *branches) {
      goto while_break;
    }
    add_branch(key___1, *branches, remotename, mirror, & refspec);
    branches ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& refspec);
  return;
}
}
static int set_remote_branches(char const   *remotename , char const   **branches ,
                               int add_mode )
{
  struct strbuf key___1 ;
  struct remote *remote ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  key___1.alloc = 0UL;
  key___1.len = 0UL;
  key___1.buf = strbuf_slopbuf;
  strbuf_addf(& key___1, (char const   *)"remote.%s.fetch", remotename);
  remote = remote_get(remotename);
  tmp___1 = remote_is_configured(remote, 1);
  if (! tmp___1) {
    tmp = _((char const   *)"No such remote \'%s\'");
    error((char const   *)tmp, remotename);
    const_error();
    tmp___0 = trace2_cmd_exit_fl((char const   *)"builtin/remote.c", 1524, 2);
    exit(tmp___0);
  }
  if (! add_mode) {
    tmp___2 = remove_all_fetch_refspecs((char const   *)key___1.buf);
    if (tmp___2) {
      strbuf_release(& key___1);
      return (1);
    }
  }
  add_branches(remote, branches, (char const   *)key___1.buf);
  strbuf_release(& key___1);
  return (0);
}
}
static int set_branches(int argc , char const   **argv___0 )
{
  int add_mode ;
  struct option options[2] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  add_mode = 0;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = '\000';
  options[0].long_name = (char const   *)"add";
  options[0].value = (void *)(& add_mode);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"add branch";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )0;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)0;
  options[1].value = (void *)0;
  options[1].argh = (char const   *)0;
  options[1].help = (char const   *)0;
  options[1].flags = 0U;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)(options),
                       builtin_remote_setbranches_usage, (enum parse_opt_flags )0);
  if (argc == 0) {
    tmp = _((char const   *)"no remote specified");
    error((char const   *)tmp);
    const_error();
    usage_with_options(builtin_remote_setbranches_usage, (struct option  const  *)(options));
  }
  *(argv___0 + argc) = (char const   *)((void *)0);
  tmp___0 = set_remote_branches(*(argv___0 + 0), argv___0 + 1, add_mode);
  return (tmp___0);
}
}
static int get_url(int argc , char const   **argv___0 )
{
  int i ;
  int push_mode ;
  int all_mode ;
  char const   *remotename ;
  struct remote *remote ;
  char const   **url ;
  int url_nr ;
  struct option options[3] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  push_mode = 0;
  all_mode = 0;
  remotename = (char const   *)((void *)0);
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = '\000';
  options[0].long_name = (char const   *)"push";
  options[0].value = (void *)(& push_mode);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"query push URLs rather than fetch URLs";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = '\000';
  options[1].long_name = (char const   *)"all";
  options[1].value = (void *)(& all_mode);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"return all URLs";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )0;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)0;
  options[2].value = (void *)0;
  options[2].argh = (char const   *)0;
  options[2].help = (char const   *)0;
  options[2].flags = 0U;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)(options),
                       builtin_remote_geturl_usage, (enum parse_opt_flags )0);
  if (argc != 1) {
    usage_with_options(builtin_remote_geturl_usage, (struct option  const  *)(options));
  }
  remotename = *(argv___0 + 0);
  remote = remote_get(remotename);
  tmp___1 = remote_is_configured(remote, 1);
  if (! tmp___1) {
    tmp = _((char const   *)"No such remote \'%s\'");
    error((char const   *)tmp, remotename);
    const_error();
    tmp___0 = trace2_cmd_exit_fl((char const   *)"builtin/remote.c", 1580, 2);
    exit(tmp___0);
  }
  url_nr = 0;
  if (push_mode) {
    url = remote->pushurl;
    url_nr = remote->pushurl_nr;
  }
  if (! url_nr) {
    url = remote->url;
    url_nr = remote->url_nr;
  }
  if (! url_nr) {
    tmp___2 = _((char const   *)"no URLs configured for remote \'%s\'");
    die((char const   *)tmp___2, remotename);
  }
  if (all_mode) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < url_nr)) {
        goto while_break;
      }
      printf_ln((char const   *)"%s", *(url + i));
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  } else {
    printf_ln((char const   *)"%s", *url);
  }
  return (0);
}
}
static int set_url(int argc , char const   **argv___0 )
{
  int i ;
  int push_mode ;
  int add_mode ;
  int delete_mode ;
  int matches___0 ;
  int negative_matches ;
  char const   *remotename ;
  char const   *newurl ;
  char const   *oldurl ;
  struct remote *remote ;
  regex_t old_regex ;
  char const   **urlset ;
  int urlset_nr ;
  struct strbuf name_buf ;
  struct option options[4] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;

  {
  push_mode = 0;
  add_mode = 0;
  delete_mode = 0;
  matches___0 = 0;
  negative_matches = 0;
  remotename = (char const   *)((void *)0);
  newurl = (char const   *)((void *)0);
  oldurl = (char const   *)((void *)0);
  name_buf.alloc = 0UL;
  name_buf.len = 0UL;
  name_buf.buf = strbuf_slopbuf;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = '\000';
  options[0].long_name = (char const   *)"push";
  options[0].value = (void *)(& push_mode);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"manipulate push URLs";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = '\000';
  options[1].long_name = (char const   *)"add";
  options[1].value = (void *)(& add_mode);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"add URL";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = '\000';
  options[2].long_name = (char const   *)"delete";
  options[2].value = (void *)(& delete_mode);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"delete URLs";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )1;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )0;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)0;
  options[3].value = (void *)0;
  options[3].argh = (char const   *)0;
  options[3].help = (char const   *)0;
  options[3].flags = 0U;
  options[3].callback = (parse_opt_cb *)0;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)(options),
                       builtin_remote_seturl_usage, (enum parse_opt_flags )4);
  if (add_mode) {
    if (delete_mode) {
      tmp = _((char const   *)"--add --delete doesn\'t make sense");
      die((char const   *)tmp);
    }
  }
  if (argc < 3) {
    usage_with_options(builtin_remote_seturl_usage, (struct option  const  *)(options));
  } else
  if (argc > 4) {
    usage_with_options(builtin_remote_seturl_usage, (struct option  const  *)(options));
  } else
  if (add_mode) {
    goto _L;
  } else
  if (delete_mode) {
    _L: /* CIL Label */
    if (argc != 3) {
      usage_with_options(builtin_remote_seturl_usage, (struct option  const  *)(options));
    }
  }
  remotename = *(argv___0 + 1);
  newurl = *(argv___0 + 2);
  if (argc > 3) {
    oldurl = *(argv___0 + 3);
  }
  if (delete_mode) {
    oldurl = newurl;
  }
  remote = remote_get(remotename);
  tmp___2 = remote_is_configured(remote, 1);
  if (! tmp___2) {
    tmp___0 = _((char const   *)"No such remote \'%s\'");
    error((char const   *)tmp___0, remotename);
    const_error();
    tmp___1 = trace2_cmd_exit_fl((char const   *)"builtin/remote.c", 1650, 2);
    exit(tmp___1);
  }
  if (push_mode) {
    strbuf_addf(& name_buf, (char const   *)"remote.%s.pushurl", remotename);
    urlset = remote->pushurl;
    urlset_nr = remote->pushurl_nr;
  } else {
    strbuf_addf(& name_buf, (char const   *)"remote.%s.url", remotename);
    urlset = remote->url;
    urlset_nr = remote->url_nr;
  }
  if (! oldurl) {
    if (! delete_mode) {
      goto _L___0;
    } else {
      goto _L___1;
    }
  } else
  _L___1: /* CIL Label */
  if (add_mode) {
    _L___0: /* CIL Label */
    if (add_mode) {
      git_config_set_multivar((char const   *)name_buf.buf, newurl, (char const   *)"^$",
                              0U);
    } else {
      git_config_set((char const   *)name_buf.buf, newurl);
    }
    goto out;
  }
  tmp___4 = regcomp((regex_t * __restrict  )(& old_regex), (char const   * __restrict  )oldurl,
                    1);
  if (tmp___4) {
    tmp___3 = _((char const   *)"Invalid old URL pattern: %s");
    die((char const   *)tmp___3, oldurl);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < urlset_nr)) {
      goto while_break;
    }
    tmp___5 = regexec((regex_t const   * __restrict  )(& old_regex), (char const   * __restrict  )*(urlset + i),
                      (size_t )0, (regmatch_t * __restrict  )((void *)0), 0);
    if (tmp___5) {
      negative_matches ++;
    } else {
      matches___0 ++;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (! delete_mode) {
    if (! matches___0) {
      tmp___6 = _((char const   *)"No such URL found: %s");
      die((char const   *)tmp___6, oldurl);
    }
  }
  if (delete_mode) {
    if (! negative_matches) {
      if (! push_mode) {
        tmp___7 = _((char const   *)"Will not delete all non-push URLs");
        die((char const   *)tmp___7);
      }
    }
  }
  regfree(& old_regex);
  if (! delete_mode) {
    git_config_set_multivar((char const   *)name_buf.buf, newurl, oldurl, 0U);
  } else {
    git_config_set_multivar((char const   *)name_buf.buf, (char const   *)((void *)0),
                            oldurl, 1U);
  }
  out:
  strbuf_release(& name_buf);
  return (0);
}
}
int cmd_remote(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct option options[2] ;
  int result___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;

  {
  options[0].type = (enum parse_opt_type )7;
  options[0].short_name = 'v';
  options[0].long_name = (char const   *)"verbose";
  options[0].value = (void *)(& verbose___9);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"be verbose; must be placed before a subcommand";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )0;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)0;
  options[1].value = (void *)0;
  options[1].argh = (char const   *)0;
  options[1].help = (char const   *)0;
  options[1].flags = 0U;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       builtin_remote_usage, (enum parse_opt_flags )2);
  if (argc < 1) {
    result___0 = show_all();
  } else {
    tmp___10 = strcmp(*(argv___0 + 0), (char const   *)"add");
    if (tmp___10) {
      tmp___9 = strcmp(*(argv___0 + 0), (char const   *)"rename");
      if (tmp___9) {
        tmp___7 = strcmp(*(argv___0 + 0), (char const   *)"rm");
        if (tmp___7) {
          tmp___8 = strcmp(*(argv___0 + 0), (char const   *)"remove");
          if (tmp___8) {
            tmp___6 = strcmp(*(argv___0 + 0), (char const   *)"set-head");
            if (tmp___6) {
              tmp___5 = strcmp(*(argv___0 + 0), (char const   *)"set-branches");
              if (tmp___5) {
                tmp___4 = strcmp(*(argv___0 + 0), (char const   *)"get-url");
                if (tmp___4) {
                  tmp___3 = strcmp(*(argv___0 + 0), (char const   *)"set-url");
                  if (tmp___3) {
                    tmp___2 = strcmp(*(argv___0 + 0), (char const   *)"show");
                    if (tmp___2) {
                      tmp___1 = strcmp(*(argv___0 + 0), (char const   *)"prune");
                      if (tmp___1) {
                        tmp___0 = strcmp(*(argv___0 + 0), (char const   *)"update");
                        if (tmp___0) {
                          tmp = _((char const   *)"Unknown subcommand: %s");
                          error((char const   *)tmp, *(argv___0 + 0));
                          const_error();
                          usage_with_options(builtin_remote_usage, (struct option  const  *)(options));
                        } else {
                          result___0 = update___0(argc, argv___0);
                        }
                      } else {
                        result___0 = prune___2(argc, argv___0);
                      }
                    } else {
                      result___0 = show___1(argc, argv___0);
                    }
                  } else {
                    result___0 = set_url(argc, argv___0);
                  }
                } else {
                  result___0 = get_url(argc, argv___0);
                }
              } else {
                result___0 = set_branches(argc, argv___0);
              }
            } else {
              result___0 = set_head(argc, argv___0);
            }
          } else {
            result___0 = rm(argc, argv___0);
          }
        } else {
          result___0 = rm(argc, argv___0);
        }
      } else {
        result___0 = mv(argc, argv___0);
      }
    } else {
      result___0 = add___0(argc, argv___0);
    }
  }
  if (result___0) {
    tmp___11 = 1;
  } else {
    tmp___11 = 0;
  }
  return (tmp___11);
}
}
static char const   BITMAP_IDX_SIGNATURE___5[4] ;
static double const   __ac_HASH_UPPER___150  =    (double const   )0.77;
__inline static void kh_resize_oid_set___150(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___150(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___150 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___150 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___150(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___150(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___150(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___150(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___150(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___150(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___150 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___150 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___150(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___150(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___150(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___150(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___150(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___150(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___150 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___150 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___150(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___150(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___150(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___150(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___111(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___111(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___150 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___150 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___111(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___111(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___111(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___111(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   BITMAP_IDX_SIGNATURE___5[4]  = {      (char const   )'B',      (char const   )'I',      (char const   )'T',      (char const   )'M'};
static int delta_base_offset  =    1;
static int pack_kept_objects  =    -1;
static int write_bitmaps  =    -1;
static int use_delta_islands___0  ;
static char *packdir  ;
static char *packtmp_name  ;
static char *packtmp  ;
static char const   *git_repack_usage[2]  = {      (char const   *)"git repack [<options>]",      (char const   *)((void *)0)};
static char const   incremental_bitmap_conflict_error[135]  =
  {      (char const   )'I',      (char const   )'n',      (char const   )'c',      (char const   )'r',
        (char const   )'e',      (char const   )'m',      (char const   )'e',      (char const   )'n',
        (char const   )'t',      (char const   )'a',      (char const   )'l',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'p',      (char const   )'a',
        (char const   )'c',      (char const   )'k',      (char const   )'s',      (char const   )' ',
        (char const   )'a',      (char const   )'r',      (char const   )'e',      (char const   )' ',
        (char const   )'i',      (char const   )'n',      (char const   )'c',      (char const   )'o',
        (char const   )'m',      (char const   )'p',      (char const   )'a',      (char const   )'t',
        (char const   )'i',      (char const   )'b',      (char const   )'l',      (char const   )'e',
        (char const   )' ',      (char const   )'w',      (char const   )'i',      (char const   )'t',
        (char const   )'h',      (char const   )' ',      (char const   )'b',      (char const   )'i',
        (char const   )'t',      (char const   )'m',      (char const   )'a',      (char const   )'p',
        (char const   )' ',      (char const   )'i',      (char const   )'n',      (char const   )'d',
        (char const   )'e',      (char const   )'x',      (char const   )'e',      (char const   )'s',
        (char const   )'.',      (char const   )' ',      (char const   )' ',      (char const   )'U',
        (char const   )'s',      (char const   )'e',      (char const   )'\n',      (char const   )'-',
        (char const   )'-',      (char const   )'n',      (char const   )'o',      (char const   )'-',
        (char const   )'w',      (char const   )'r',      (char const   )'i',      (char const   )'t',
        (char const   )'e',      (char const   )'-',      (char const   )'b',      (char const   )'i',
        (char const   )'t',      (char const   )'m',      (char const   )'a',      (char const   )'p',
        (char const   )'-',      (char const   )'i',      (char const   )'n',      (char const   )'d',
        (char const   )'e',      (char const   )'x',      (char const   )' ',      (char const   )'o',
        (char const   )'r',      (char const   )' ',      (char const   )'d',      (char const   )'i',
        (char const   )'s',      (char const   )'a',      (char const   )'b',      (char const   )'l',
        (char const   )'e',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )' ',      (char const   )'p',      (char const   )'a',
        (char const   )'c',      (char const   )'k',      (char const   )'.',      (char const   )'w',
        (char const   )'r',      (char const   )'i',      (char const   )'t',      (char const   )'e',
        (char const   )'b',      (char const   )'i',      (char const   )'t',      (char const   )'m',
        (char const   )'a',      (char const   )'p',      (char const   )'s',      (char const   )' ',
        (char const   )'c',      (char const   )'o',      (char const   )'n',      (char const   )'f',
        (char const   )'i',      (char const   )'g',      (char const   )'u',      (char const   )'r',
        (char const   )'a',      (char const   )'t',      (char const   )'i',      (char const   )'o',
        (char const   )'n',      (char const   )'.',      (char const   )'\000'};
static int repack_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp = strcmp(var, (char const   *)"repack.usedeltabaseoffset");
  if (! tmp) {
    delta_base_offset = git_config_bool(var, value);
    return (0);
  }
  tmp___0 = strcmp(var, (char const   *)"repack.packkeptobjects");
  if (! tmp___0) {
    pack_kept_objects = git_config_bool(var, value);
    return (0);
  }
  tmp___1 = strcmp(var, (char const   *)"repack.writebitmaps");
  if (tmp___1) {
    tmp___2 = strcmp(var, (char const   *)"pack.writebitmaps");
    if (! tmp___2) {
      write_bitmaps = git_config_bool(var, value);
      return (0);
    }
  } else {
    write_bitmaps = git_config_bool(var, value);
    return (0);
  }
  tmp___3 = strcmp(var, (char const   *)"repack.usedeltaislands");
  if (! tmp___3) {
    use_delta_islands___0 = git_config_bool(var, value);
    return (0);
  }
  tmp___4 = git_default_config(var, value, cb);
  return (tmp___4);
}
}
static void remove_temporary_files___0(void)
{
  struct strbuf buf___19 ;
  size_t dirlen ;
  size_t prefixlen ;
  DIR *dir ;
  struct dirent *e ;
  size_t tmp ;
  int tmp___0 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  dir = opendir((char const   *)packdir);
  if (! dir) {
    return;
  }
  tmp = strlen((char const   *)packdir);
  dirlen = tmp + 1UL;
  strbuf_addstr(& buf___19, (char const   *)packtmp);
  prefixlen = buf___19.len - dirlen;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    e = readdir(dir);
    if (! e) {
      goto while_break;
    }
    tmp___0 = strncmp((char const   *)(e->d_name), (char const   *)(buf___19.buf + dirlen),
                      prefixlen);
    if (tmp___0) {
      goto while_continue;
    }
    strbuf_setlen___33(& buf___19, dirlen);
    strbuf_addstr(& buf___19, (char const   *)(e->d_name));
    unlink((char const   *)buf___19.buf);
  }
  while_break: /* CIL Label */ ;
  }
  closedir(dir);
  strbuf_release(& buf___19);
  return;
}
}
static void remove_pack_on_signal(int signo )
{


  {
  remove_temporary_files___0();
  sigchain_pop(signo);
  raise(signo);
  return;
}
}
static void collect_pack_filenames(struct string_list *fname_nonkept_list , struct string_list *fname_kept_list ,
                                   struct string_list  const  *extra_keep )
{
  DIR *dir ;
  struct dirent *e ;
  char *fname ;
  size_t len___0 ;
  int i ;
  int tmp ;
  int tmp___0 ;
  void *tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;

  {
  dir = opendir((char const   *)packdir);
  if (! dir) {
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    e = readdir(dir);
    if (! ((unsigned long )e != (unsigned long )((void *)0))) {
      goto while_break;
    }
    tmp = strip_suffix((char const   *)(e->d_name), (char const   *)".pack", & len___0);
    if (! tmp) {
      goto while_continue;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned int )i < extra_keep->nr)) {
        goto while_break___0;
      }
      tmp___0 = fspathcmp((char const   *)(e->d_name), (char const   *)(extra_keep->items + i)->string);
      if (! tmp___0) {
        goto while_break___0;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___1 = xmemdupz((void const   *)(e->d_name), len___0);
    fname = (char *)tmp___1;
    if (extra_keep->nr > 0U) {
      if ((unsigned int )i < extra_keep->nr) {
        string_list_append_nodup(fname_kept_list, fname);
      } else {
        goto _L;
      }
    } else {
      _L: /* CIL Label */
      tmp___2 = mkpath((char const   *)"%s/%s.keep", packdir, fname);
      tmp___3 = file_exists(tmp___2);
      if (tmp___3) {
        string_list_append_nodup(fname_kept_list, fname);
      } else {
        string_list_append_nodup(fname_nonkept_list, fname);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  closedir(dir);
  return;
}
}
static void remove_redundant_pack(char const   *dir_name , char const   *base_name___0 )
{
  struct strbuf buf___19 ;
  struct multi_pack_index *m ;
  struct multi_pack_index *tmp ;
  int tmp___0 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = get_local_multi_pack_index(the_repository);
  m = tmp;
  strbuf_addf(& buf___19, (char const   *)"%s.pack", base_name___0);
  if (m) {
    tmp___0 = midx_contains_pack(m, (char const   *)buf___19.buf);
    if (tmp___0) {
      clear_midx_file(the_repository);
    }
  }
  strbuf_insertf(& buf___19, (size_t )0, (char const   *)"%s/", dir_name);
  unlink_pack_path((char const   *)buf___19.buf, 1);
  strbuf_release(& buf___19);
  return;
}
}
static void prepare_pack_objects(struct child_process *cmd , struct pack_objects_args  const  *args___0 )
{


  {
  strvec_push(& cmd->args, (char const   *)"pack-objects");
  if (args___0->window) {
    strvec_pushf(& cmd->args, (char const   *)"--window=%s", args___0->window);
  }
  if (args___0->window_memory) {
    strvec_pushf(& cmd->args, (char const   *)"--window-memory=%s", args___0->window_memory);
  }
  if (args___0->depth) {
    strvec_pushf(& cmd->args, (char const   *)"--depth=%s", args___0->depth);
  }
  if (args___0->threads) {
    strvec_pushf(& cmd->args, (char const   *)"--threads=%s", args___0->threads);
  }
  if (args___0->max_pack_size) {
    strvec_pushf(& cmd->args, (char const   *)"--max-pack-size=%s", args___0->max_pack_size);
  }
  if (args___0->no_reuse_delta) {
    strvec_pushf(& cmd->args, (char const   *)"--no-reuse-delta");
  }
  if (args___0->no_reuse_object) {
    strvec_pushf(& cmd->args, (char const   *)"--no-reuse-object");
  }
  if (args___0->local) {
    strvec_push(& cmd->args, (char const   *)"--local");
  }
  if (args___0->quiet) {
    strvec_push(& cmd->args, (char const   *)"--quiet");
  }
  if (delta_base_offset) {
    strvec_push(& cmd->args, (char const   *)"--delta-base-offset");
  }
  strvec_push(& cmd->args, (char const   *)packtmp);
  cmd->git_cmd = 1U;
  cmd->out = -1;
  return;
}
}
static int write_oid(struct object_id  const  *oid , struct packed_git *pack___0 ,
                     uint32_t pos , void *data )
{
  struct child_process *cmd ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  cmd = (struct child_process *)data;
  if (cmd->in == -1) {
    tmp___0 = start_command(cmd);
    if (tmp___0) {
      tmp = _((char const   *)"could not start pack-objects to repack promisor objects");
      die((char const   *)tmp);
    }
  }
  tmp___1 = oid_to_hex(oid);
  xwrite(cmd->in, (void const   *)tmp___1, (size_t )(the_repository->hash_algo)->hexsz);
  xwrite(cmd->in, (void const   *)"\n", (size_t )1);
  return (0);
}
}
static struct __anonstruct_exts_1028234011 exts___0[5]  = {      {(char const   *)".pack", 0U},
        {(char const   *)".rev", 1U},
        {(char const   *)".bitmap", 1U},
        {(char const   *)".promisor", 1U},
        {(char const   *)".idx", 0U}};
static unsigned int populate_pack_exts(char *name___0 )
{
  struct stat statbuf ;
  struct strbuf path___6 ;
  unsigned int ret___67 ;
  int i ;
  int tmp ;

  {
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  ret___67 = 0U;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(exts___0) / sizeof(exts___0[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    strbuf_setlen___33(& path___6, (size_t )0);
    strbuf_addf(& path___6, (char const   *)"%s-%s%s", packtmp, name___0, exts___0[i].name);
    tmp = stat((char const   *)path___6.buf, & statbuf);
    if (tmp) {
      goto __Cont;
    }
    ret___67 |= (unsigned int )(1 << i);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& path___6);
  return (ret___67);
}
}
static void repack_promisor_objects(struct pack_objects_args  const  *args___0 , struct string_list *names___0 )
{
  struct child_process cmd ;
  FILE *out ;
  struct strbuf line___0 ;
  struct string_list_item *item___0 ;
  char *promisor_name ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  unsigned int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;

  {
  cmd.args.v = empty_strvec;
  cmd.args.nr = 0UL;
  cmd.args.alloc = 0UL;
  cmd.env_array.v = empty_strvec;
  cmd.env_array.nr = 0UL;
  cmd.env_array.alloc = 0UL;
  cmd.pid = 0;
  cmd.trace2_child_id = 0;
  cmd.trace2_child_us_start = 0UL;
  cmd.trace2_child_class = (char const   *)0;
  cmd.trace2_hook_name = (char const   *)0;
  cmd.in = 0;
  cmd.out = 0;
  cmd.err = 0;
  cmd.dir = (char const   *)0;
  cmd.no_stdin = 0U;
  cmd.no_stdout = 0U;
  cmd.no_stderr = 0U;
  cmd.git_cmd = 0U;
  cmd.silent_exec_failure = 0U;
  cmd.use_shell = 0U;
  cmd.close_object_store = 0U;
  cmd.stdout_to_stderr = 0U;
  cmd.clean_on_exit = 0U;
  cmd.wait_after_clean = 0U;
  cmd.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cmd.clean_on_exit_handler_cbdata = (void *)0;
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  prepare_pack_objects(& cmd, args___0);
  cmd.in = -1;
  for_each_packed_object(& write_oid, (void *)(& cmd), (enum for_each_object_flags )2);
  if (cmd.in == -1) {
    child_process_clear(& cmd);
    return;
  }
  close(cmd.in);
  out = xfdopen(cmd.out, (char const   *)"r");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = strbuf_getline_lf(& line___0, out);
    if (! (tmp___1 != -1)) {
      goto while_break;
    }
    if (line___0.len != (size_t )(the_repository->hash_algo)->hexsz) {
      tmp = _((char const   *)"repack: Expecting full hex object ID lines only from pack-objects.");
      die((char const   *)tmp);
    }
    item___0 = string_list_append(names___0, (char const   *)line___0.buf);
    promisor_name = mkpathdup((char const   *)"%s-%s.promisor", packtmp, line___0.buf);
    write_promisor_file((char const   *)promisor_name, (struct ref **)((void *)0),
                        0);
    tmp___0 = populate_pack_exts(item___0->string);
    item___0->util = (void *)((uintptr_t )tmp___0);
    free((void *)promisor_name);
  }
  while_break: /* CIL Label */ ;
  }
  fclose(out);
  tmp___3 = finish_command(& cmd);
  if (tmp___3) {
    tmp___2 = _((char const   *)"could not finish pack-objects to repack promisor objects");
    die((char const   *)tmp___2);
  }
  return;
}
}
static uint32_t geometry_pack_weight(struct packed_git *p___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  tmp___0 = open_pack_index(p___0);
  if (tmp___0) {
    tmp = _((char const   *)"cannot open index for %s");
    die((char const   *)tmp, p___0->pack_name);
  }
  return (p___0->num_objects);
}
}
static int geometry_cmp(void const   *va , void const   *vb )
{
  uint32_t aw ;
  uint32_t tmp ;
  uint32_t bw ;
  uint32_t tmp___0 ;

  {
  tmp = geometry_pack_weight(*((struct packed_git **)va));
  aw = tmp;
  tmp___0 = geometry_pack_weight(*((struct packed_git **)vb));
  bw = tmp___0;
  if (aw < bw) {
    return (-1);
  }
  if (aw > bw) {
    return (1);
  }
  return (0);
}
}
static void init_pack_geometry(struct pack_geometry **geometry_p )
{
  struct packed_git *p___0 ;
  struct pack_geometry *geometry ;
  void *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  tmp = xcalloc((size_t )1, sizeof(struct pack_geometry ));
  *geometry_p = (struct pack_geometry *)tmp;
  geometry = *geometry_p;
  p___0 = get_all_packs(the_repository);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! p___0) {
      goto while_break;
    }
    if (! pack_kept_objects) {
      if (p___0->pack_keep) {
        goto __Cont;
      }
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (geometry->pack_nr + 1U > geometry->pack_alloc) {
        if (((geometry->pack_alloc + 16U) * 3U) / 2U < geometry->pack_nr + 1U) {
          geometry->pack_alloc = geometry->pack_nr + 1U;
        } else {
          geometry->pack_alloc = ((geometry->pack_alloc + 16U) * 3U) / 2U;
        }
        tmp___0 = st_mult(sizeof(*(geometry->pack)), (size_t )geometry->pack_alloc);
        tmp___1 = xrealloc((void *)geometry->pack, tmp___0);
        geometry->pack = (struct packed_git **)tmp___1;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    *(geometry->pack + geometry->pack_nr) = p___0;
    (geometry->pack_nr) ++;
    __Cont: /* CIL Label */
    p___0 = p___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  sane_qsort((void *)geometry->pack, (size_t )geometry->pack_nr, sizeof(*(geometry->pack)),
             & geometry_cmp);
  return;
}
}
static void split_pack_geometry(struct pack_geometry *geometry , int factor )
{
  uint32_t i ;
  uint32_t split ;
  off_t total_size ;
  struct packed_git *ours ;
  struct packed_git *prev ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  uint32_t tmp___0 ;
  uint32_t tmp___1 ;
  uint32_t tmp___2 ;
  struct packed_git *p___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  uint32_t tmp___4 ;
  uint32_t tmp___5 ;
  struct packed_git *ours___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  uint32_t tmp___8 ;
  uint32_t tmp___9 ;
  uint32_t tmp___10 ;

  {
  total_size = (off_t )0;
  if (! geometry->pack_nr) {
    geometry->split = geometry->pack_nr;
    return;
  }
  i = geometry->pack_nr - 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i > 0U)) {
      goto while_break;
    }
    ours = *(geometry->pack + i);
    prev = *(geometry->pack + (i - 1U));
    if (factor) {
      tmp___0 = geometry_pack_weight(prev);
      if ((unsigned long )tmp___0 > (18446744073709551615UL >> (8UL * sizeof(uintmax_t ) - 8UL * sizeof(factor))) / (unsigned long )factor) {
        tmp = _((char const   *)"pack %s too large to consider in geometric progression");
        die((char const   *)tmp, prev->pack_name);
      }
    }
    tmp___1 = geometry_pack_weight(ours);
    tmp___2 = geometry_pack_weight(prev);
    if (tmp___1 < (uint32_t )factor * tmp___2) {
      goto while_break;
    }
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  split = i;
  if (split) {
    split ++;
  }
  i = (uint32_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < split)) {
      goto while_break___0;
    }
    p___0 = *(geometry->pack + i);
    tmp___4 = geometry_pack_weight(p___0);
    if ((unsigned long )tmp___4 > (18446744073709551615UL >> (8UL * sizeof(uintmax_t ) - 8UL * sizeof(total_size))) - (unsigned long )total_size) {
      tmp___3 = _((char const   *)"pack %s too large to roll up");
      die((char const   *)tmp___3, p___0->pack_name);
    }
    tmp___5 = geometry_pack_weight(p___0);
    total_size += (off_t )tmp___5;
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = split;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < geometry->pack_nr)) {
      goto while_break___1;
    }
    ours___0 = *(geometry->pack + i);
    if (factor) {
      if ((unsigned long )total_size > (18446744073709551615UL >> (8UL * sizeof(uintmax_t ) - 8UL * sizeof(factor))) / (unsigned long )factor) {
        tmp___6 = _((char const   *)"pack %s too large to roll up");
        die((char const   *)tmp___6, ours___0->pack_name);
      }
    }
    tmp___10 = geometry_pack_weight(ours___0);
    if ((off_t )tmp___10 < (off_t )factor * total_size) {
      tmp___8 = geometry_pack_weight(ours___0);
      if ((unsigned long )tmp___8 > (18446744073709551615UL >> (8UL * sizeof(uintmax_t ) - 8UL * sizeof(total_size))) - (unsigned long )total_size) {
        tmp___7 = _((char const   *)"pack %s too large to roll up");
        die((char const   *)tmp___7, ours___0->pack_name);
      }
      split ++;
      tmp___9 = geometry_pack_weight(ours___0);
      total_size += (off_t )tmp___9;
    } else {
      goto while_break___1;
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  geometry->split = split;
  return;
}
}
static struct packed_git *get_largest_active_pack(struct pack_geometry *geometry )
{


  {
  if (! geometry) {
    return ((struct packed_git *)((void *)0));
  }
  if (geometry->split == geometry->pack_nr) {
    return ((struct packed_git *)((void *)0));
  }
  return (*(geometry->pack + (geometry->pack_nr - 1U)));
}
}
static void clear_pack_geometry(struct pack_geometry *geometry )
{


  {
  if (! geometry) {
    return;
  }
  free((void *)geometry->pack);
  geometry->pack_nr = (uint32_t )0;
  geometry->pack_alloc = (uint32_t )0;
  geometry->split = (uint32_t )0;
  return;
}
}
static int midx_snapshot_ref_one(char const   *refname , struct object_id  const  *oid ,
                                 int flag , void *_data )
{
  struct midx_snapshot_ref_data *data ;
  struct object_id peeled ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;

  {
  data = (struct midx_snapshot_ref_data *)_data;
  tmp = peel_iterated_oid(oid, & peeled);
  if (! tmp) {
    oid = (struct object_id  const  *)(& peeled);
  }
  tmp___0 = oidset_insert(& data->seen, oid);
  if (tmp___0) {
    return (0);
  }
  tmp___1 = oid_object_info(the_repository, oid, (unsigned long *)((void *)0));
  if (tmp___1 != 1) {
    return (0);
  }
  tmp___2 = oid_to_hex(oid);
  if (data->preferred) {
    tmp___3 = "+";
  } else {
    tmp___3 = "";
  }
  fprintf((FILE *)(data->f)->fp, (char const   *)"%s%s\n", tmp___3, tmp___2);
  return (0);
}
}
static void midx_snapshot_refs(struct tempfile *f )
{
  struct midx_snapshot_ref_data data ;
  struct string_list  const  *preferred ;
  struct string_list  const  *tmp ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  FILE *tmp___2 ;
  struct string_list_item *item___0 ;
  int save_errno ;
  int *tmp___3 ;
  int *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;

  {
  tmp = bitmap_preferred_tips(the_repository);
  preferred = tmp;
  data.f = f;
  data.preferred = 0;
  oidset_init(& data.seen, (size_t )0);
  tmp___2 = fdopen_tempfile(f, (char const   *)"w");
  if (! tmp___2) {
    tmp___0 = get_tempfile_path(f);
    tmp___1 = _((char const   *)"could not open tempfile %s for writing");
    die((char const   *)tmp___1, tmp___0);
  }
  if (preferred) {
    data.preferred = 1;
    item___0 = (struct string_list_item *)preferred->items;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(preferred->items + preferred->nr))) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      for_each_ref_in((char const   *)item___0->string, & midx_snapshot_ref_one, (void *)(& data));
      item___0 ++;
    }
    while_break: /* CIL Label */ ;
    }
    data.preferred = 0;
  }
  for_each_ref(& midx_snapshot_ref_one, (void *)(& data));
  tmp___6 = close_tempfile_gently(f);
  if (tmp___6) {
    tmp___3 = __errno_location();
    save_errno = *tmp___3;
    delete_tempfile(& f);
    tmp___4 = __errno_location();
    *tmp___4 = save_errno;
    tmp___5 = _((char const   *)"could not close refs snapshot tempfile");
    die_errno((char const   *)tmp___5);
  }
  oidset_clear(& data.seen);
  return;
}
}
static void midx_included_packs(struct string_list *include , struct string_list *existing_nonkept_packs ,
                                struct string_list *existing_kept_packs , struct string_list *names___0 ,
                                struct pack_geometry *geometry )
{
  struct string_list_item *item___0 ;
  char *tmp ;
  char *tmp___0 ;
  struct strbuf buf___19 ;
  uint32_t i ;
  struct packed_git *p___0 ;
  char const   *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;

  {
  item___0 = existing_kept_packs->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(existing_kept_packs->items + existing_kept_packs->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = xstrfmt((char const   *)"%s.idx", item___0->string);
    string_list_insert(include, (char const   *)tmp);
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  item___0 = names___0->items;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(names___0->items + names___0->nr))) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    tmp___0 = xstrfmt((char const   *)"pack-%s.idx", item___0->string);
    string_list_insert(include, (char const   *)tmp___0);
    item___0 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (geometry) {
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    i = geometry->split;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < geometry->pack_nr)) {
        goto while_break___1;
      }
      p___0 = *(geometry->pack + i);
      tmp___1 = pack_basename(p___0);
      strbuf_addstr(& buf___19, tmp___1);
      strbuf_strip_suffix___33(& buf___19, (char const   *)".pack");
      strbuf_addstr(& buf___19, (char const   *)".idx");
      tmp___2 = strbuf_detach(& buf___19, (size_t *)((void *)0));
      string_list_insert(include, (char const   *)tmp___2);
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
  } else {
    item___0 = existing_nonkept_packs->items;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(existing_nonkept_packs->items + existing_nonkept_packs->nr))) {
          goto while_break___2;
        }
      } else {
        goto while_break___2;
      }
      if (item___0->util) {
        goto __Cont;
      }
      tmp___3 = xstrfmt((char const   *)"%s.idx", item___0->string);
      string_list_insert(include, (char const   *)tmp___3);
      __Cont: /* CIL Label */
      item___0 ++;
    }
    while_break___2: /* CIL Label */ ;
    }
  }
  return;
}
}
static int write_midx_included_packs(struct string_list *include , struct pack_geometry *geometry ,
                                     char const   *refs_snapshot , int show_progress___4 ,
                                     int write_bitmaps___0 )
{
  struct child_process cmd ;
  struct string_list_item *item___0 ;
  struct packed_git *largest ;
  struct packed_git *tmp ;
  FILE *in ;
  int ret___67 ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  cmd.args.v = empty_strvec;
  cmd.args.nr = 0UL;
  cmd.args.alloc = 0UL;
  cmd.env_array.v = empty_strvec;
  cmd.env_array.nr = 0UL;
  cmd.env_array.alloc = 0UL;
  cmd.pid = 0;
  cmd.trace2_child_id = 0;
  cmd.trace2_child_us_start = 0UL;
  cmd.trace2_child_class = (char const   *)0;
  cmd.trace2_hook_name = (char const   *)0;
  cmd.in = 0;
  cmd.out = 0;
  cmd.err = 0;
  cmd.dir = (char const   *)0;
  cmd.no_stdin = 0U;
  cmd.no_stdout = 0U;
  cmd.no_stderr = 0U;
  cmd.git_cmd = 0U;
  cmd.silent_exec_failure = 0U;
  cmd.use_shell = 0U;
  cmd.close_object_store = 0U;
  cmd.stdout_to_stderr = 0U;
  cmd.clean_on_exit = 0U;
  cmd.wait_after_clean = 0U;
  cmd.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cmd.clean_on_exit_handler_cbdata = (void *)0;
  tmp = get_largest_active_pack(geometry);
  largest = tmp;
  if (! include->nr) {
    return (0);
  }
  cmd.in = -1;
  cmd.git_cmd = 1U;
  strvec_push(& cmd.args, (char const   *)"multi-pack-index");
  strvec_pushl(& cmd.args, "write", "--stdin-packs", (void *)0);
  if (show_progress___4) {
    strvec_push(& cmd.args, (char const   *)"--progress");
  } else {
    strvec_push(& cmd.args, (char const   *)"--no-progress");
  }
  if (write_bitmaps___0) {
    strvec_push(& cmd.args, (char const   *)"--bitmap");
  }
  if (largest) {
    tmp___0 = pack_basename(largest);
    strvec_pushf(& cmd.args, (char const   *)"--preferred-pack=%s", tmp___0);
  }
  if (refs_snapshot) {
    strvec_pushf(& cmd.args, (char const   *)"--refs-snapshot=%s", refs_snapshot);
  }
  ret___67 = start_command(& cmd);
  if (ret___67) {
    return (ret___67);
  }
  in = xfdopen(cmd.in, (char const   *)"w");
  item___0 = include->items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(include->items + include->nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    fprintf(in, (char const   *)"%s\n", item___0->string);
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  fclose(in);
  tmp___1 = finish_command(& cmd);
  return (tmp___1);
}
}
int cmd_repack(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct child_process cmd ;
  struct string_list_item *item___0 ;
  struct string_list names___0 ;
  struct string_list rollback ;
  struct string_list existing_nonkept_packs ;
  struct string_list existing_kept_packs ;
  struct pack_geometry *geometry ;
  struct strbuf line___0 ;
  struct tempfile *refs_snapshot ;
  int i ;
  int ext ;
  int ret___67 ;
  FILE *out ;
  int show_progress___4 ;
  int pack_everything ;
  int delete_redundant ;
  char const   *unpack_unreachable___0 ;
  int keep_unreachable___0 ;
  struct string_list keep_pack_list ;
  int no_update_server_info ;
  struct pack_objects_args po_args ;
  int geometric_factor ;
  int write_midx ;
  struct option builtin_repack_options[22] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  struct strbuf path___6 ;
  char *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char *tmp___8 ;
  __pid_t tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  FILE *in ;
  FILE *tmp___13 ;
  char const   *tmp___14 ;
  char const   *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  int tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  unsigned int tmp___19 ;
  char *fname ;
  char *fname_old ;
  struct stat statbuffer ;
  int tmp___20 ;
  char const __attribute__((__format_arg__(1)))  *tmp___21 ;
  int tmp___22 ;
  char const __attribute__((__format_arg__(1)))  *tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;
  int tmp___25 ;
  int *tmp___26 ;
  int hexsz ;
  char *sha1 ;
  size_t len___0 ;
  size_t tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;
  struct string_list include ;
  char const   *tmp___30 ;
  char const   *tmp___31 ;
  int opts___1 ;
  struct strbuf buf___19 ;
  uint32_t i___0 ;
  struct packed_git *p___0 ;
  char *tmp___32 ;
  int tmp___33 ;
  char const   *tmp___34 ;
  int tmp___35 ;
  unsigned int flags___0 ;
  int tmp___36 ;
  char *tmp___37 ;
  int tmp___38 ;

  {
  cmd.args.v = empty_strvec;
  cmd.args.nr = 0UL;
  cmd.args.alloc = 0UL;
  cmd.env_array.v = empty_strvec;
  cmd.env_array.nr = 0UL;
  cmd.env_array.alloc = 0UL;
  cmd.pid = 0;
  cmd.trace2_child_id = 0;
  cmd.trace2_child_us_start = 0UL;
  cmd.trace2_child_class = (char const   *)0;
  cmd.trace2_hook_name = (char const   *)0;
  cmd.in = 0;
  cmd.out = 0;
  cmd.err = 0;
  cmd.dir = (char const   *)0;
  cmd.no_stdin = 0U;
  cmd.no_stdout = 0U;
  cmd.no_stderr = 0U;
  cmd.git_cmd = 0U;
  cmd.silent_exec_failure = 0U;
  cmd.use_shell = 0U;
  cmd.close_object_store = 0U;
  cmd.stdout_to_stderr = 0U;
  cmd.clean_on_exit = 0U;
  cmd.wait_after_clean = 0U;
  cmd.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cmd.clean_on_exit_handler_cbdata = (void *)0;
  names___0.items = (struct string_list_item *)0;
  names___0.nr = 0U;
  names___0.alloc = 0U;
  names___0.strdup_strings = 1U;
  names___0.cmp = (int (*)(char const   * , char const   * ))0;
  rollback.items = (struct string_list_item *)0;
  rollback.nr = 0U;
  rollback.alloc = 0U;
  rollback.strdup_strings = 0U;
  rollback.cmp = (int (*)(char const   * , char const   * ))0;
  existing_nonkept_packs.items = (struct string_list_item *)0;
  existing_nonkept_packs.nr = 0U;
  existing_nonkept_packs.alloc = 0U;
  existing_nonkept_packs.strdup_strings = 1U;
  existing_nonkept_packs.cmp = (int (*)(char const   * , char const   * ))0;
  existing_kept_packs.items = (struct string_list_item *)0;
  existing_kept_packs.nr = 0U;
  existing_kept_packs.alloc = 0U;
  existing_kept_packs.strdup_strings = 1U;
  existing_kept_packs.cmp = (int (*)(char const   * , char const   * ))0;
  geometry = (struct pack_geometry *)((void *)0);
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  refs_snapshot = (struct tempfile *)((void *)0);
  pack_everything = 0;
  delete_redundant = 0;
  unpack_unreachable___0 = (char const   *)((void *)0);
  keep_unreachable___0 = 0;
  keep_pack_list.items = (struct string_list_item *)0;
  keep_pack_list.nr = 0U;
  keep_pack_list.alloc = 0U;
  keep_pack_list.strdup_strings = 0U;
  keep_pack_list.cmp = (int (*)(char const   * , char const   * ))0;
  no_update_server_info = 0;
  po_args.window = (char const   *)((void *)0);
  po_args.window_memory = (char const   *)0;
  po_args.depth = (char const   *)0;
  po_args.threads = (char const   *)0;
  po_args.max_pack_size = (char const   *)0;
  po_args.no_reuse_delta = 0;
  po_args.no_reuse_object = 0;
  po_args.quiet = 0;
  po_args.local = 0;
  geometric_factor = 0;
  write_midx = 0;
  builtin_repack_options[0].type = (enum parse_opt_type )4;
  builtin_repack_options[0].short_name = 'a';
  builtin_repack_options[0].long_name = (char const   *)((void *)0);
  builtin_repack_options[0].value = (void *)(& pack_everything);
  builtin_repack_options[0].argh = (char const   *)((void *)0);
  builtin_repack_options[0].help = (char const   *)"pack everything in a single pack";
  builtin_repack_options[0].flags = (enum parse_opt_option_flags )2;
  builtin_repack_options[0].callback = (parse_opt_cb *)((void *)0);
  builtin_repack_options[0].defval = (intptr_t )1;
  builtin_repack_options[0].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[0].extra = 0L;
  builtin_repack_options[1].type = (enum parse_opt_type )4;
  builtin_repack_options[1].short_name = 'A';
  builtin_repack_options[1].long_name = (char const   *)((void *)0);
  builtin_repack_options[1].value = (void *)(& pack_everything);
  builtin_repack_options[1].argh = (char const   *)((void *)0);
  builtin_repack_options[1].help = (char const   *)"same as -a, and turn unreachable objects loose";
  builtin_repack_options[1].flags = (enum parse_opt_option_flags )2;
  builtin_repack_options[1].callback = (parse_opt_cb *)((void *)0);
  builtin_repack_options[1].defval = (intptr_t )3;
  builtin_repack_options[1].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[1].extra = 0L;
  builtin_repack_options[2].type = (enum parse_opt_type )8;
  builtin_repack_options[2].short_name = 'd';
  builtin_repack_options[2].long_name = (char const   *)((void *)0);
  builtin_repack_options[2].value = (void *)(& delete_redundant);
  builtin_repack_options[2].argh = (char const   *)((void *)0);
  builtin_repack_options[2].help = (char const   *)"remove redundant packs, and run git-prune-packed";
  builtin_repack_options[2].flags = (enum parse_opt_option_flags )2;
  builtin_repack_options[2].callback = (parse_opt_cb *)((void *)0);
  builtin_repack_options[2].defval = (intptr_t )1;
  builtin_repack_options[2].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[2].extra = 0L;
  builtin_repack_options[3].type = (enum parse_opt_type )8;
  builtin_repack_options[3].short_name = 'f';
  builtin_repack_options[3].long_name = (char const   *)((void *)0);
  builtin_repack_options[3].value = (void *)(& po_args.no_reuse_delta);
  builtin_repack_options[3].argh = (char const   *)((void *)0);
  builtin_repack_options[3].help = (char const   *)"pass --no-reuse-delta to git-pack-objects";
  builtin_repack_options[3].flags = (enum parse_opt_option_flags )2;
  builtin_repack_options[3].callback = (parse_opt_cb *)((void *)0);
  builtin_repack_options[3].defval = (intptr_t )1;
  builtin_repack_options[3].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[3].extra = 0L;
  builtin_repack_options[4].type = (enum parse_opt_type )8;
  builtin_repack_options[4].short_name = 'F';
  builtin_repack_options[4].long_name = (char const   *)((void *)0);
  builtin_repack_options[4].value = (void *)(& po_args.no_reuse_object);
  builtin_repack_options[4].argh = (char const   *)((void *)0);
  builtin_repack_options[4].help = (char const   *)"pass --no-reuse-object to git-pack-objects";
  builtin_repack_options[4].flags = (enum parse_opt_option_flags )2;
  builtin_repack_options[4].callback = (parse_opt_cb *)((void *)0);
  builtin_repack_options[4].defval = (intptr_t )1;
  builtin_repack_options[4].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[4].extra = 0L;
  builtin_repack_options[5].type = (enum parse_opt_type )8;
  builtin_repack_options[5].short_name = 'n';
  builtin_repack_options[5].long_name = (char const   *)((void *)0);
  builtin_repack_options[5].value = (void *)(& no_update_server_info);
  builtin_repack_options[5].argh = (char const   *)((void *)0);
  builtin_repack_options[5].help = (char const   *)"do not run git-update-server-info";
  builtin_repack_options[5].flags = (enum parse_opt_option_flags )2;
  builtin_repack_options[5].callback = (parse_opt_cb *)((void *)0);
  builtin_repack_options[5].defval = (intptr_t )1;
  builtin_repack_options[5].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[5].extra = 0L;
  builtin_repack_options[6].type = (enum parse_opt_type )7;
  builtin_repack_options[6].short_name = 'q';
  builtin_repack_options[6].long_name = (char const   *)"quiet";
  builtin_repack_options[6].value = (void *)(& po_args.quiet);
  builtin_repack_options[6].argh = (char const   *)((void *)0);
  builtin_repack_options[6].help = (char const   *)"be quiet";
  builtin_repack_options[6].flags = (enum parse_opt_option_flags )2;
  builtin_repack_options[6].callback = (parse_opt_cb *)0;
  builtin_repack_options[6].defval = 0L;
  builtin_repack_options[6].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[6].extra = 0L;
  builtin_repack_options[7].type = (enum parse_opt_type )8;
  builtin_repack_options[7].short_name = 'l';
  builtin_repack_options[7].long_name = (char const   *)"local";
  builtin_repack_options[7].value = (void *)(& po_args.local);
  builtin_repack_options[7].argh = (char const   *)((void *)0);
  builtin_repack_options[7].help = (char const   *)"pass --local to git-pack-objects";
  builtin_repack_options[7].flags = (enum parse_opt_option_flags )2;
  builtin_repack_options[7].callback = (parse_opt_cb *)((void *)0);
  builtin_repack_options[7].defval = (intptr_t )1;
  builtin_repack_options[7].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[7].extra = 0L;
  builtin_repack_options[8].type = (enum parse_opt_type )8;
  builtin_repack_options[8].short_name = 'b';
  builtin_repack_options[8].long_name = (char const   *)"write-bitmap-index";
  builtin_repack_options[8].value = (void *)(& write_bitmaps);
  builtin_repack_options[8].argh = (char const   *)((void *)0);
  builtin_repack_options[8].help = (char const   *)"write bitmap index";
  builtin_repack_options[8].flags = (enum parse_opt_option_flags )2;
  builtin_repack_options[8].callback = (parse_opt_cb *)((void *)0);
  builtin_repack_options[8].defval = (intptr_t )1;
  builtin_repack_options[8].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[8].extra = 0L;
  builtin_repack_options[9].type = (enum parse_opt_type )8;
  builtin_repack_options[9].short_name = 'i';
  builtin_repack_options[9].long_name = (char const   *)"delta-islands";
  builtin_repack_options[9].value = (void *)(& use_delta_islands___0);
  builtin_repack_options[9].argh = (char const   *)((void *)0);
  builtin_repack_options[9].help = (char const   *)"pass --delta-islands to git-pack-objects";
  builtin_repack_options[9].flags = (enum parse_opt_option_flags )2;
  builtin_repack_options[9].callback = (parse_opt_cb *)((void *)0);
  builtin_repack_options[9].defval = (intptr_t )1;
  builtin_repack_options[9].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[9].extra = 0L;
  builtin_repack_options[10].type = (enum parse_opt_type )9;
  builtin_repack_options[10].short_name = 0;
  builtin_repack_options[10].long_name = (char const   *)"unpack-unreachable";
  builtin_repack_options[10].value = (void *)(& unpack_unreachable___0);
  builtin_repack_options[10].argh = (char const   *)"approxidate";
  builtin_repack_options[10].help = (char const   *)"with -A, do not loosen objects older than this";
  builtin_repack_options[10].flags = (enum parse_opt_option_flags )0;
  builtin_repack_options[10].callback = (parse_opt_cb *)0;
  builtin_repack_options[10].defval = 0L;
  builtin_repack_options[10].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[10].extra = 0L;
  builtin_repack_options[11].type = (enum parse_opt_type )8;
  builtin_repack_options[11].short_name = 'k';
  builtin_repack_options[11].long_name = (char const   *)"keep-unreachable";
  builtin_repack_options[11].value = (void *)(& keep_unreachable___0);
  builtin_repack_options[11].argh = (char const   *)((void *)0);
  builtin_repack_options[11].help = (char const   *)"with -a, repack unreachable objects";
  builtin_repack_options[11].flags = (enum parse_opt_option_flags )2;
  builtin_repack_options[11].callback = (parse_opt_cb *)((void *)0);
  builtin_repack_options[11].defval = (intptr_t )1;
  builtin_repack_options[11].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[11].extra = 0L;
  builtin_repack_options[12].type = (enum parse_opt_type )9;
  builtin_repack_options[12].short_name = 0;
  builtin_repack_options[12].long_name = (char const   *)"window";
  builtin_repack_options[12].value = (void *)(& po_args.window);
  builtin_repack_options[12].argh = (char const   *)"n";
  builtin_repack_options[12].help = (char const   *)"size of the window used for delta compression";
  builtin_repack_options[12].flags = (enum parse_opt_option_flags )0;
  builtin_repack_options[12].callback = (parse_opt_cb *)0;
  builtin_repack_options[12].defval = 0L;
  builtin_repack_options[12].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[12].extra = 0L;
  builtin_repack_options[13].type = (enum parse_opt_type )9;
  builtin_repack_options[13].short_name = 0;
  builtin_repack_options[13].long_name = (char const   *)"window-memory";
  builtin_repack_options[13].value = (void *)(& po_args.window_memory);
  builtin_repack_options[13].argh = (char const   *)"bytes";
  builtin_repack_options[13].help = (char const   *)"same as the above, but limit memory size instead of entries count";
  builtin_repack_options[13].flags = (enum parse_opt_option_flags )0;
  builtin_repack_options[13].callback = (parse_opt_cb *)0;
  builtin_repack_options[13].defval = 0L;
  builtin_repack_options[13].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[13].extra = 0L;
  builtin_repack_options[14].type = (enum parse_opt_type )9;
  builtin_repack_options[14].short_name = 0;
  builtin_repack_options[14].long_name = (char const   *)"depth";
  builtin_repack_options[14].value = (void *)(& po_args.depth);
  builtin_repack_options[14].argh = (char const   *)"n";
  builtin_repack_options[14].help = (char const   *)"limits the maximum delta depth";
  builtin_repack_options[14].flags = (enum parse_opt_option_flags )0;
  builtin_repack_options[14].callback = (parse_opt_cb *)0;
  builtin_repack_options[14].defval = 0L;
  builtin_repack_options[14].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[14].extra = 0L;
  builtin_repack_options[15].type = (enum parse_opt_type )9;
  builtin_repack_options[15].short_name = 0;
  builtin_repack_options[15].long_name = (char const   *)"threads";
  builtin_repack_options[15].value = (void *)(& po_args.threads);
  builtin_repack_options[15].argh = (char const   *)"n";
  builtin_repack_options[15].help = (char const   *)"limits the maximum number of threads";
  builtin_repack_options[15].flags = (enum parse_opt_option_flags )0;
  builtin_repack_options[15].callback = (parse_opt_cb *)0;
  builtin_repack_options[15].defval = 0L;
  builtin_repack_options[15].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[15].extra = 0L;
  builtin_repack_options[16].type = (enum parse_opt_type )9;
  builtin_repack_options[16].short_name = 0;
  builtin_repack_options[16].long_name = (char const   *)"max-pack-size";
  builtin_repack_options[16].value = (void *)(& po_args.max_pack_size);
  builtin_repack_options[16].argh = (char const   *)"bytes";
  builtin_repack_options[16].help = (char const   *)"maximum size of each packfile";
  builtin_repack_options[16].flags = (enum parse_opt_option_flags )0;
  builtin_repack_options[16].callback = (parse_opt_cb *)0;
  builtin_repack_options[16].defval = 0L;
  builtin_repack_options[16].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[16].extra = 0L;
  builtin_repack_options[17].type = (enum parse_opt_type )8;
  builtin_repack_options[17].short_name = 0;
  builtin_repack_options[17].long_name = (char const   *)"pack-kept-objects";
  builtin_repack_options[17].value = (void *)(& pack_kept_objects);
  builtin_repack_options[17].argh = (char const   *)((void *)0);
  builtin_repack_options[17].help = (char const   *)"repack objects in packs marked with .keep";
  builtin_repack_options[17].flags = (enum parse_opt_option_flags )2;
  builtin_repack_options[17].callback = (parse_opt_cb *)((void *)0);
  builtin_repack_options[17].defval = (intptr_t )1;
  builtin_repack_options[17].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[17].extra = 0L;
  builtin_repack_options[18].type = (enum parse_opt_type )12;
  builtin_repack_options[18].short_name = 0;
  builtin_repack_options[18].long_name = (char const   *)"keep-pack";
  builtin_repack_options[18].value = (void *)(& keep_pack_list);
  builtin_repack_options[18].argh = (char const   *)"name";
  builtin_repack_options[18].help = (char const   *)"do not repack this pack";
  builtin_repack_options[18].flags = (enum parse_opt_option_flags )0;
  builtin_repack_options[18].callback = & parse_opt_string_list;
  builtin_repack_options[18].defval = 0L;
  builtin_repack_options[18].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[18].extra = 0L;
  builtin_repack_options[19].type = (enum parse_opt_type )10;
  builtin_repack_options[19].short_name = 'g';
  builtin_repack_options[19].long_name = (char const   *)"geometric";
  builtin_repack_options[19].value = (void *)(& geometric_factor);
  builtin_repack_options[19].argh = (char const   *)"n";
  builtin_repack_options[19].help = (char const   *)"find a geometric progression with factor <N>";
  builtin_repack_options[19].flags = (enum parse_opt_option_flags )0;
  builtin_repack_options[19].callback = (parse_opt_cb *)0;
  builtin_repack_options[19].defval = 0L;
  builtin_repack_options[19].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[19].extra = 0L;
  builtin_repack_options[20].type = (enum parse_opt_type )8;
  builtin_repack_options[20].short_name = 'm';
  builtin_repack_options[20].long_name = (char const   *)"write-midx";
  builtin_repack_options[20].value = (void *)(& write_midx);
  builtin_repack_options[20].argh = (char const   *)((void *)0);
  builtin_repack_options[20].help = (char const   *)"write a multi-pack index of the resulting packs";
  builtin_repack_options[20].flags = (enum parse_opt_option_flags )2;
  builtin_repack_options[20].callback = (parse_opt_cb *)((void *)0);
  builtin_repack_options[20].defval = (intptr_t )1;
  builtin_repack_options[20].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[20].extra = 0L;
  builtin_repack_options[21].type = (enum parse_opt_type )0;
  builtin_repack_options[21].short_name = 0;
  builtin_repack_options[21].long_name = (char const   *)0;
  builtin_repack_options[21].value = (void *)0;
  builtin_repack_options[21].argh = (char const   *)0;
  builtin_repack_options[21].help = (char const   *)0;
  builtin_repack_options[21].flags = 0U;
  builtin_repack_options[21].callback = (parse_opt_cb *)0;
  builtin_repack_options[21].defval = 0L;
  builtin_repack_options[21].ll_callback = (parse_opt_ll_cb *)0;
  builtin_repack_options[21].extra = 0L;
  git_config(& repack_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(builtin_repack_options),
                       git_repack_usage, (enum parse_opt_flags )0);
  if (delete_redundant) {
    if (repository_format_precious_objects) {
      tmp = _((char const   *)"cannot delete packs in a precious-objects repo");
      die((char const   *)tmp);
    }
  }
  if (keep_unreachable___0) {
    if (unpack_unreachable___0) {
      tmp___0 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___0, "--keep-unreachable", "-A");
    } else
    if (pack_everything & 2) {
      tmp___0 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___0, "--keep-unreachable", "-A");
    }
  }
  if (write_bitmaps < 0) {
    if (! write_midx) {
      if (! (pack_everything & 1)) {
        write_bitmaps = 0;
      } else {
        tmp___1 = is_bare_repository();
        if (! tmp___1) {
          write_bitmaps = 0;
        }
      }
    }
  } else
  if (write_bitmaps) {
    tmp___2 = git_env_bool((char const   *)"GIT_TEST_MULTI_PACK_INDEX", 0);
    if (tmp___2) {
      tmp___3 = git_env_bool((char const   *)"GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP",
                             0);
      if (tmp___3) {
        write_bitmaps = 0;
      }
    }
  }
  if (pack_kept_objects < 0) {
    if (write_bitmaps > 0) {
      if (! write_midx) {
        tmp___4 = 1;
      } else {
        tmp___4 = 0;
      }
    } else {
      tmp___4 = 0;
    }
    pack_kept_objects = tmp___4;
  }
  if (write_bitmaps) {
    if (! (pack_everything & 1)) {
      if (! write_midx) {
        tmp___5 = _(incremental_bitmap_conflict_error);
        die((char const   *)tmp___5);
      }
    }
  }
  if (write_midx) {
    if (write_bitmaps) {
      path___6.alloc = 0UL;
      path___6.len = 0UL;
      path___6.buf = strbuf_slopbuf;
      tmp___6 = get_object_directory();
      strbuf_addf(& path___6, (char const   *)"%s/%s_XXXXXX", tmp___6, "bitmap-ref-tips");
      refs_snapshot = xmks_tempfile((char const   *)path___6.buf);
      midx_snapshot_refs(refs_snapshot);
      strbuf_release(& path___6);
    }
  }
  if (geometric_factor) {
    if (pack_everything) {
      tmp___7 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___7, "--geometric", "-A/-a");
    }
    init_pack_geometry(& geometry);
    split_pack_geometry(geometry, geometric_factor);
  }
  tmp___8 = get_object_directory();
  packdir = mkpathdup((char const   *)"%s/pack", tmp___8);
  tmp___9 = getpid();
  packtmp_name = xstrfmt((char const   *)".tmp-%d-pack", tmp___9);
  packtmp = mkpathdup((char const   *)"%s/%s", packdir, packtmp_name);
  sigchain_push_common(& remove_pack_on_signal);
  prepare_pack_objects(& cmd, (struct pack_objects_args  const  *)(& po_args));
  if (! po_args.quiet) {
    tmp___10 = isatty(2);
    if (tmp___10) {
      tmp___11 = 1;
    } else {
      tmp___11 = 0;
    }
  } else {
    tmp___11 = 0;
  }
  show_progress___4 = tmp___11;
  strvec_push(& cmd.args, (char const   *)"--keep-true-parents");
  if (! pack_kept_objects) {
    strvec_push(& cmd.args, (char const   *)"--honor-pack-keep");
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < keep_pack_list.nr)) {
      goto while_break;
    }
    strvec_pushf(& cmd.args, (char const   *)"--keep-pack=%s", (keep_pack_list.items + i)->string);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strvec_push(& cmd.args, (char const   *)"--non-empty");
  if (! geometry) {
    strvec_push(& cmd.args, (char const   *)"--all");
    strvec_push(& cmd.args, (char const   *)"--reflog");
    strvec_push(& cmd.args, (char const   *)"--indexed-objects");
  }
  tmp___12 = has_promisor_remote();
  if (tmp___12) {
    strvec_push(& cmd.args, (char const   *)"--exclude-promisor-objects");
  }
  if (! write_midx) {
    if (write_bitmaps > 0) {
      strvec_push(& cmd.args, (char const   *)"--write-bitmap-index");
    } else
    if (write_bitmaps < 0) {
      strvec_push(& cmd.args, (char const   *)"--write-bitmap-index-quiet");
    }
  }
  if (use_delta_islands___0) {
    strvec_push(& cmd.args, (char const   *)"--delta-islands");
  }
  collect_pack_filenames(& existing_nonkept_packs, & existing_kept_packs, (struct string_list  const  *)(& keep_pack_list));
  if (pack_everything & 1) {
    repack_promisor_objects((struct pack_objects_args  const  *)(& po_args), & names___0);
    if (existing_nonkept_packs.nr) {
      if (delete_redundant) {
        item___0 = names___0.items;
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          if (item___0) {
            if (! ((unsigned long )item___0 < (unsigned long )(names___0.items + names___0.nr))) {
              goto while_break___0;
            }
          } else {
            goto while_break___0;
          }
          strvec_pushf(& cmd.args, (char const   *)"--keep-pack=%s-%s.pack", packtmp_name,
                       item___0->string);
          item___0 ++;
        }
        while_break___0: /* CIL Label */ ;
        }
        if (unpack_unreachable___0) {
          strvec_pushf(& cmd.args, (char const   *)"--unpack-unreachable=%s", unpack_unreachable___0);
        } else
        if (pack_everything & 2) {
          strvec_push(& cmd.args, (char const   *)"--unpack-unreachable");
        } else
        if (keep_unreachable___0) {
          strvec_push(& cmd.args, (char const   *)"--keep-unreachable");
          strvec_push(& cmd.args, (char const   *)"--pack-loose-unreachable");
        }
      }
    }
  } else
  if (geometry) {
    strvec_push(& cmd.args, (char const   *)"--stdin-packs");
    strvec_push(& cmd.args, (char const   *)"--unpacked");
  } else {
    strvec_push(& cmd.args, (char const   *)"--unpacked");
    strvec_push(& cmd.args, (char const   *)"--incremental");
  }
  if (geometry) {
    cmd.in = -1;
  } else {
    cmd.no_stdin = 1U;
  }
  ret___67 = start_command(& cmd);
  if (ret___67) {
    return (ret___67);
  }
  if (geometry) {
    tmp___13 = xfdopen(cmd.in, (char const   *)"w");
    in = tmp___13;
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((uint32_t )i < geometry->split)) {
        goto while_break___1;
      }
      tmp___14 = pack_basename(*(geometry->pack + i));
      fprintf(in, (char const   *)"%s\n", tmp___14);
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    i = (int )geometry->split;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! ((uint32_t )i < geometry->pack_nr)) {
        goto while_break___2;
      }
      tmp___15 = pack_basename(*(geometry->pack + i));
      fprintf(in, (char const   *)"^%s\n", tmp___15);
      i ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    fclose(in);
  }
  out = xfdopen(cmd.out, (char const   *)"r");
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    tmp___17 = strbuf_getline_lf(& line___0, out);
    if (! (tmp___17 != -1)) {
      goto while_break___3;
    }
    if (line___0.len != (size_t )(the_repository->hash_algo)->hexsz) {
      tmp___16 = _((char const   *)"repack: Expecting full hex object ID lines only from pack-objects.");
      die((char const   *)tmp___16);
    }
    string_list_append(& names___0, (char const   *)line___0.buf);
  }
  while_break___3: /* CIL Label */ ;
  }
  fclose(out);
  ret___67 = finish_command(& cmd);
  if (ret___67) {
    return (ret___67);
  }
  if (! names___0.nr) {
    if (! po_args.quiet) {
      tmp___18 = _((char const   *)"Nothing new to pack.");
      printf_ln((char const   *)tmp___18);
    }
  }
  item___0 = names___0.items;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(names___0.items + names___0.nr))) {
        goto while_break___4;
      }
    } else {
      goto while_break___4;
    }
    tmp___19 = populate_pack_exts(item___0->string);
    item___0->util = (void *)((uintptr_t )tmp___19);
    item___0 ++;
  }
  while_break___4: /* CIL Label */ ;
  }
  close_object_store(the_repository->objects);
  item___0 = names___0.items;
  {
  while (1) {
    while_continue___5: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(names___0.items + names___0.nr))) {
        goto while_break___5;
      }
    } else {
      goto while_break___5;
    }
    ext = 0;
    {
    while (1) {
      while_continue___6: /* CIL Label */ ;
      if (! ((unsigned long )ext < sizeof(exts___0) / sizeof(exts___0[0]) + (sizeof(char [1]) - 1UL))) {
        goto while_break___6;
      }
      fname = mkpathdup((char const   *)"%s/pack-%s%s", packdir, item___0->string,
                        exts___0[ext].name);
      fname_old = mkpathdup((char const   *)"%s-%s%s", packtmp, item___0->string,
                            exts___0[ext].name);
      if ((uintptr_t )item___0->util & (1UL << ext)) {
        tmp___20 = stat((char const   *)fname_old, & statbuffer);
        if (! tmp___20) {
          statbuffer.st_mode &= (unsigned int )(~ ((0200 | (0200 >> 3)) | ((0200 >> 3) >> 3)));
          chmod((char const   *)fname_old, statbuffer.st_mode);
        }
        tmp___22 = rename((char const   *)fname_old, (char const   *)fname);
        if (tmp___22) {
          tmp___21 = _((char const   *)"renaming \'%s\' failed");
          die_errno((char const   *)tmp___21, fname_old);
        }
      } else
      if (! exts___0[ext].optional) {
        tmp___23 = _((char const   *)"missing required file: %s");
        die((char const   *)tmp___23, fname_old);
      } else {
        tmp___25 = unlink((char const   *)fname);
        if (tmp___25 < 0) {
          tmp___26 = __errno_location();
          if (*tmp___26 != 2) {
            tmp___24 = _((char const   *)"could not unlink: %s");
            die_errno((char const   *)tmp___24, fname);
          }
        }
      }
      free((void *)fname);
      free((void *)fname_old);
      ext ++;
    }
    while_break___6: /* CIL Label */ ;
    }
    item___0 ++;
  }
  while_break___5: /* CIL Label */ ;
  }
  if (delete_redundant) {
    if (pack_everything & 1) {
      hexsz = (int )(the_repository->hash_algo)->hexsz;
      string_list_sort(& names___0);
      item___0 = existing_nonkept_packs.items;
      {
      while (1) {
        while_continue___7: /* CIL Label */ ;
        if (item___0) {
          if (! ((unsigned long )item___0 < (unsigned long )(existing_nonkept_packs.items + existing_nonkept_packs.nr))) {
            goto while_break___7;
          }
        } else {
          goto while_break___7;
        }
        tmp___27 = strlen((char const   *)item___0->string);
        len___0 = tmp___27;
        if (len___0 < (size_t )hexsz) {
          goto __Cont;
        }
        sha1 = (item___0->string + len___0) - hexsz;
        tmp___28 = string_list_has_string((struct string_list  const  *)(& names___0),
                                          (char const   *)sha1);
        if (tmp___28) {
          tmp___29 = 0;
        } else {
          tmp___29 = 1;
        }
        item___0->util = (void *)((intptr_t )tmp___29);
        __Cont: /* CIL Label */
        item___0 ++;
      }
      while_break___7: /* CIL Label */ ;
      }
    }
  }
  if (write_midx) {
    include.items = (struct string_list_item *)0;
    include.nr = 0U;
    include.alloc = 0U;
    include.strdup_strings = 0U;
    include.cmp = (int (*)(char const   * , char const   * ))0;
    midx_included_packs(& include, & existing_nonkept_packs, & existing_kept_packs,
                        & names___0, geometry);
    if (refs_snapshot) {
      tmp___30 = get_tempfile_path(refs_snapshot);
      tmp___31 = tmp___30;
    } else {
      tmp___31 = (char const   *)((void *)0);
    }
    ret___67 = write_midx_included_packs(& include, geometry, tmp___31, show_progress___4,
                                         write_bitmaps > 0);
    string_list_clear(& include, 0);
    if (ret___67) {
      return (ret___67);
    }
  }
  reprepare_packed_git(the_repository);
  if (delete_redundant) {
    opts___1 = 0;
    item___0 = existing_nonkept_packs.items;
    {
    while (1) {
      while_continue___8: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(existing_nonkept_packs.items + existing_nonkept_packs.nr))) {
          goto while_break___8;
        }
      } else {
        goto while_break___8;
      }
      if (! item___0->util) {
        goto __Cont___0;
      }
      remove_redundant_pack((char const   *)packdir, (char const   *)item___0->string);
      __Cont___0: /* CIL Label */
      item___0 ++;
    }
    while_break___8: /* CIL Label */ ;
    }
    if (geometry) {
      buf___19.alloc = 0UL;
      buf___19.len = 0UL;
      buf___19.buf = strbuf_slopbuf;
      i___0 = (uint32_t )0;
      {
      while (1) {
        while_continue___9: /* CIL Label */ ;
        if (! (i___0 < geometry->split)) {
          goto while_break___9;
        }
        p___0 = *(geometry->pack + i___0);
        tmp___32 = hash_to_hex((unsigned char const   *)(p___0->hash));
        tmp___33 = string_list_has_string((struct string_list  const  *)(& names___0),
                                          (char const   *)tmp___32);
        if (tmp___33) {
          goto __Cont___1;
        }
        strbuf_setlen___33(& buf___19, (size_t )0);
        tmp___34 = pack_basename(p___0);
        strbuf_addstr(& buf___19, tmp___34);
        strbuf_strip_suffix___33(& buf___19, (char const   *)".pack");
        remove_redundant_pack((char const   *)packdir, (char const   *)buf___19.buf);
        __Cont___1: /* CIL Label */
        i___0 ++;
      }
      while_break___9: /* CIL Label */ ;
      }
      strbuf_release(& buf___19);
    }
    if (show_progress___4) {
      opts___1 |= 02;
    }
    prune_packed_objects(opts___1);
    if (! keep_unreachable___0) {
      if (! (pack_everything & 2)) {
        goto _L;
      } else
      if (unpack_unreachable___0) {
        _L: /* CIL Label */
        tmp___35 = is_repository_shallow(the_repository);
        if (tmp___35) {
          prune_shallow(2U);
        }
      }
    }
  }
  if (! no_update_server_info) {
    update_server_info(0);
  }
  remove_temporary_files___0();
  tmp___38 = git_env_bool((char const   *)"GIT_TEST_MULTI_PACK_INDEX", 0);
  if (tmp___38) {
    flags___0 = 0U;
    tmp___36 = git_env_bool((char const   *)"GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP",
                            0);
    if (tmp___36) {
      flags___0 |= (unsigned int )((1 << 2) | (1 << 1));
    }
    tmp___37 = get_object_directory();
    write_midx_file((char const   *)tmp___37, (char const   *)((void *)0), (char const   *)((void *)0),
                    flags___0);
  }
  string_list_clear(& names___0, 0);
  string_list_clear(& rollback, 0);
  string_list_clear(& existing_nonkept_packs, 0);
  string_list_clear(& existing_kept_packs, 0);
  clear_pack_geometry(geometry);
  strbuf_release(& line___0);
  return (0);
}
}
static double const   __ac_HASH_UPPER___151  =    (double const   )0.77;
__inline static void kh_resize_oid_set___151(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___151(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___151 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___151 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___151(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___151(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___151(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___151(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___151(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___151(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___151 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___151 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___151(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___151(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___151(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___151(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___151(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___151(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___151 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___151 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___151(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___151(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___151(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___151(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___112(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___112(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___151 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___151 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___112(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___112(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___112(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___112(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *git_replace_usage[7]  = {      (char const   *)"git replace [-f] <object> <replacement>",      (char const   *)"git replace [-f] --edit <object>",      (char const   *)"git replace [-f] --graft <commit> [<parent>...]",      (char const   *)"git replace [-f] --convert-graft-file",
        (char const   *)"git replace -d <object>...",      (char const   *)"git replace [--format=<format>] [-l [<pattern>]]",      (char const   *)((void *)0)};
static int show_reference(struct repository *r , char const   *refname , struct object_id  const  *oid ,
                          int flag , void *cb_data )
{
  struct show_data *data ;
  char *tmp ;
  struct object_id object ;
  enum object_type obj_type ;
  enum object_type repl_type ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const   *tmp___5 ;
  char *tmp___6 ;
  char const   *tmp___7 ;
  int tmp___8 ;

  {
  data = (struct show_data *)cb_data;
  tmp___8 = wildmatch(data->pattern, refname, 0U);
  if (! tmp___8) {
    if ((unsigned int )data->format == 0U) {
      printf((char const   *)"%s\n", refname);
    } else
    if ((unsigned int )data->format == 1U) {
      tmp = oid_to_hex(oid);
      printf((char const   *)"%s -> %s\n", refname, tmp);
    } else {
      tmp___2 = repo_get_oid(the_repository, refname, & object);
      if (tmp___2) {
        tmp___0 = _((char const   *)"failed to resolve \'%s\' as a valid ref");
        error((char const   *)tmp___0, refname);
        tmp___1 = const_error();
        return (tmp___1);
      }
      tmp___3 = oid_object_info(r, (struct object_id  const  *)(& object), (unsigned long *)((void *)0));
      obj_type = (enum object_type )tmp___3;
      tmp___4 = oid_object_info(r, oid, (unsigned long *)((void *)0));
      repl_type = (enum object_type )tmp___4;
      tmp___5 = type_name((unsigned int )repl_type);
      tmp___6 = oid_to_hex(oid);
      tmp___7 = type_name((unsigned int )obj_type);
      printf((char const   *)"%s (%s) -> %s (%s)\n", refname, tmp___7, tmp___6, tmp___5);
    }
  }
  return (0);
}
}
static int list_replace_refs(char const   *pattern___0 , char const   *format___0 )
{
  struct show_data data ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  if ((unsigned long )pattern___0 == (unsigned long )((void *)0)) {
    pattern___0 = (char const   *)"*";
  }
  data.pattern = pattern___0;
  if ((unsigned long )format___0 == (unsigned long )((void *)0)) {
    data.format = (enum replace_format )0;
  } else
  if ((int const   )*format___0 == 0) {
    data.format = (enum replace_format )0;
  } else {
    tmp___3 = strcmp(format___0, (char const   *)"short");
    if (tmp___3) {
      tmp___2 = strcmp(format___0, (char const   *)"medium");
      if (tmp___2) {
        tmp___1 = strcmp(format___0, (char const   *)"long");
        if (tmp___1) {
          tmp = _((char const   *)"invalid replace format \'%s\'\nvalid formats are \'short\', \'medium\' and \'long\'");
          error((char const   *)tmp, format___0);
          tmp___0 = const_error();
          return (tmp___0);
        } else {
          data.format = (enum replace_format )2;
        }
      } else {
        data.format = (enum replace_format )1;
      }
    } else {
      data.format = (enum replace_format )0;
    }
  }
  for_each_replace_ref(the_repository, & show_reference, (void *)(& data));
  return (0);
}
}
static int for_each_replace_name(char const   **argv___0 , int (*fn)(char const   *name ,
                                                                     char const   *ref ,
                                                                     struct object_id  const  *oid ) )
{
  char const   **p___0 ;
  char const   *full_hex ;
  struct strbuf ref ;
  size_t base_len ;
  int had_error ;
  struct object_id oid ;
  int tmp ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  ref.alloc = 0UL;
  ref.len = 0UL;
  ref.buf = strbuf_slopbuf;
  had_error = 0;
  strbuf_addstr(& ref, (char const   *)git_replace_ref_base);
  base_len = ref.len;
  p___0 = argv___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    tmp = repo_get_oid(the_repository, *p___0, & oid);
    if (tmp) {
      error((char const   *)"failed to resolve \'%s\' as a valid ref", *p___0);
      const_error();
      had_error = 1;
      goto __Cont;
    }
    strbuf_setlen___33(& ref, base_len);
    tmp___0 = oid_to_hex((struct object_id  const  *)(& oid));
    strbuf_addstr(& ref, (char const   *)tmp___0);
    full_hex = (char const   *)(ref.buf + base_len);
    tmp___2 = read_ref((char const   *)ref.buf, & oid);
    if (tmp___2) {
      tmp___1 = _((char const   *)"replace ref \'%s\' not found");
      error((char const   *)tmp___1, full_hex);
      const_error();
      had_error = 1;
      goto __Cont;
    }
    tmp___3 = (*fn)(full_hex, (char const   *)ref.buf, (struct object_id  const  *)(& oid));
    if (tmp___3) {
      had_error = 1;
    }
    __Cont: /* CIL Label */
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& ref);
  return (had_error);
}
}
static int delete_replace_ref(char const   *name___0 , char const   *ref , struct object_id  const  *oid )
{
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  tmp = delete_ref((char const   *)((void *)0), ref, oid, 0U);
  if (tmp) {
    return (1);
  }
  tmp___0 = _((char const   *)"Deleted replace ref \'%s\'");
  printf_ln((char const   *)tmp___0, name___0);
  return (0);
}
}
static int check_ref_valid(struct object_id *object , struct object_id *prev , struct strbuf *ref ,
                           int force___2 )
{
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  strbuf_setlen___33(ref, (size_t )0);
  tmp = oid_to_hex((struct object_id  const  *)object);
  strbuf_addf(ref, (char const   *)"%s%s", git_replace_ref_base, tmp);
  tmp___2 = check_refname_format((char const   *)ref->buf, 0);
  if (tmp___2) {
    tmp___0 = _((char const   *)"\'%s\' is not a valid ref name");
    error((char const   *)tmp___0, ref->buf);
    tmp___1 = const_error();
    return (tmp___1);
  }
  tmp___5 = read_ref((char const   *)ref->buf, prev);
  if (tmp___5) {
    oidclr(prev);
  } else
  if (! force___2) {
    tmp___3 = _((char const   *)"replace ref \'%s\' already exists");
    error((char const   *)tmp___3, ref->buf);
    tmp___4 = const_error();
    return (tmp___4);
  }
  return (0);
}
}
static int replace_object_oid(char const   *object_ref , struct object_id *object ,
                              char const   *replace_ref , struct object_id *repl ,
                              int force___2 )
{
  struct object_id prev ;
  enum object_type obj_type ;
  enum object_type repl_type ;
  struct strbuf ref ;
  struct ref_transaction *transaction___0 ;
  struct strbuf err___4 ;
  int res ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  ref.alloc = 0UL;
  ref.len = 0UL;
  ref.buf = strbuf_slopbuf;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  res = 0;
  tmp = oid_object_info(the_repository, (struct object_id  const  *)object, (unsigned long *)((void *)0));
  obj_type = (enum object_type )tmp;
  tmp___0 = oid_object_info(the_repository, (struct object_id  const  *)repl, (unsigned long *)((void *)0));
  repl_type = (enum object_type )tmp___0;
  if (! force___2) {
    if ((int )obj_type != (int )repl_type) {
      tmp___1 = type_name((unsigned int )repl_type);
      tmp___2 = type_name((unsigned int )obj_type);
      tmp___3 = _((char const   *)"Objects must be of the same type.\n\'%s\' points to a replaced object of type \'%s\'\nwhile \'%s\' points to a replacement object of type \'%s\'.");
      error((char const   *)tmp___3, object_ref, tmp___2, replace_ref, tmp___1);
      tmp___4 = const_error();
      return (tmp___4);
    }
  }
  tmp___5 = check_ref_valid(object, & prev, & ref, force___2);
  if (tmp___5) {
    strbuf_release(& ref);
    return (-1);
  }
  transaction___0 = ref_transaction_begin(& err___4);
  if (! transaction___0) {
    error((char const   *)"%s", err___4.buf);
    res = const_error();
  } else {
    tmp___6 = ref_transaction_update(transaction___0, (char const   *)ref.buf, (struct object_id  const  *)repl,
                                     (struct object_id  const  *)(& prev), 0U, (char const   *)((void *)0),
                                     & err___4);
    if (tmp___6) {
      error((char const   *)"%s", err___4.buf);
      res = const_error();
    } else {
      tmp___7 = ref_transaction_commit(transaction___0, & err___4);
      if (tmp___7) {
        error((char const   *)"%s", err___4.buf);
        res = const_error();
      }
    }
  }
  ref_transaction_free(transaction___0);
  strbuf_release(& ref);
  return (res);
}
}
static int replace_object(char const   *object_ref , char const   *replace_ref , int force___2 )
{
  struct object_id object ;
  struct object_id repl ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp___1 = repo_get_oid(the_repository, object_ref, & object);
  if (tmp___1) {
    tmp = _((char const   *)"failed to resolve \'%s\' as a valid ref");
    error((char const   *)tmp, object_ref);
    tmp___0 = const_error();
    return (tmp___0);
  }
  tmp___4 = repo_get_oid(the_repository, replace_ref, & repl);
  if (tmp___4) {
    tmp___2 = _((char const   *)"failed to resolve \'%s\' as a valid ref");
    error((char const   *)tmp___2, replace_ref);
    tmp___3 = const_error();
    return (tmp___3);
  }
  tmp___5 = replace_object_oid(object_ref, & object, replace_ref, & repl, force___2);
  return (tmp___5);
}
}
static int export_object(struct object_id  const  *oid , enum object_type type___0 ,
                         int raw , char const   *filename___0 )
{
  struct child_process cmd ;
  int fd ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  cmd.args.v = empty_strvec;
  cmd.args.nr = 0UL;
  cmd.args.alloc = 0UL;
  cmd.env_array.v = empty_strvec;
  cmd.env_array.nr = 0UL;
  cmd.env_array.alloc = 0UL;
  cmd.pid = 0;
  cmd.trace2_child_id = 0;
  cmd.trace2_child_us_start = 0UL;
  cmd.trace2_child_class = (char const   *)0;
  cmd.trace2_hook_name = (char const   *)0;
  cmd.in = 0;
  cmd.out = 0;
  cmd.err = 0;
  cmd.dir = (char const   *)0;
  cmd.no_stdin = 0U;
  cmd.no_stdout = 0U;
  cmd.no_stderr = 0U;
  cmd.git_cmd = 0U;
  cmd.silent_exec_failure = 0U;
  cmd.use_shell = 0U;
  cmd.close_object_store = 0U;
  cmd.stdout_to_stderr = 0U;
  cmd.clean_on_exit = 0U;
  cmd.wait_after_clean = 0U;
  cmd.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cmd.clean_on_exit_handler_cbdata = (void *)0;
  fd = open(filename___0, 577, 0666);
  if (fd < 0) {
    tmp = _((char const   *)"unable to open %s for writing");
    error_errno((char const   *)tmp, filename___0);
    tmp___0 = const_error();
    return (tmp___0);
  }
  strvec_push(& cmd.args, (char const   *)"--no-replace-objects");
  strvec_push(& cmd.args, (char const   *)"cat-file");
  if (raw) {
    tmp___1 = type_name((unsigned int )type___0);
    strvec_push(& cmd.args, tmp___1);
  } else {
    strvec_push(& cmd.args, (char const   *)"-p");
  }
  tmp___2 = oid_to_hex(oid);
  strvec_push(& cmd.args, (char const   *)tmp___2);
  cmd.git_cmd = 1U;
  cmd.out = fd;
  tmp___5 = run_command(& cmd);
  if (tmp___5) {
    tmp___3 = _((char const   *)"cat-file reported failure");
    error((char const   *)tmp___3);
    tmp___4 = const_error();
    return (tmp___4);
  }
  return (0);
}
}
static int import_object(struct object_id *oid , enum object_type type___0 , int raw ,
                         char const   *filename___0 )
{
  int fd ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  struct child_process cmd ;
  struct strbuf result___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  ssize_t tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  struct stat st ;
  int flags___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;

  {
  fd = open(filename___0, 00);
  if (fd < 0) {
    tmp = _((char const   *)"unable to open %s for reading");
    error_errno((char const   *)tmp, filename___0);
    tmp___0 = const_error();
    return (tmp___0);
  }
  if (! raw) {
    if ((int )type___0 == 2) {
      cmd.args.v = empty_strvec;
      cmd.args.nr = 0UL;
      cmd.args.alloc = 0UL;
      cmd.env_array.v = empty_strvec;
      cmd.env_array.nr = 0UL;
      cmd.env_array.alloc = 0UL;
      cmd.pid = 0;
      cmd.trace2_child_id = 0;
      cmd.trace2_child_us_start = 0UL;
      cmd.trace2_child_class = (char const   *)0;
      cmd.trace2_hook_name = (char const   *)0;
      cmd.in = 0;
      cmd.out = 0;
      cmd.err = 0;
      cmd.dir = (char const   *)0;
      cmd.no_stdin = 0U;
      cmd.no_stdout = 0U;
      cmd.no_stderr = 0U;
      cmd.git_cmd = 0U;
      cmd.silent_exec_failure = 0U;
      cmd.use_shell = 0U;
      cmd.close_object_store = 0U;
      cmd.stdout_to_stderr = 0U;
      cmd.clean_on_exit = 0U;
      cmd.wait_after_clean = 0U;
      cmd.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
      cmd.clean_on_exit_handler_cbdata = (void *)0;
      result___0.alloc = 0UL;
      result___0.len = 0UL;
      result___0.buf = strbuf_slopbuf;
      strvec_push(& cmd.args, (char const   *)"mktree");
      cmd.git_cmd = 1U;
      cmd.in = fd;
      cmd.out = -1;
      tmp___3 = start_command(& cmd);
      if (tmp___3) {
        close(fd);
        tmp___1 = _((char const   *)"unable to spawn mktree");
        error((char const   *)tmp___1);
        tmp___2 = const_error();
        return (tmp___2);
      }
      tmp___5 = strbuf_read(& result___0, cmd.out, (size_t )((the_repository->hash_algo)->hexsz + 1UL));
      if (tmp___5 < 0L) {
        tmp___4 = _((char const   *)"unable to read from mktree");
        error_errno((char const   *)tmp___4);
        const_error();
        close(fd);
        close(cmd.out);
        return (-1);
      }
      close(cmd.out);
      tmp___8 = finish_command(& cmd);
      if (tmp___8) {
        strbuf_release(& result___0);
        tmp___6 = _((char const   *)"mktree reported failure");
        error((char const   *)tmp___6);
        tmp___7 = const_error();
        return (tmp___7);
      }
      tmp___11 = get_oid_hex((char const   *)result___0.buf, oid);
      if (tmp___11 < 0) {
        strbuf_release(& result___0);
        tmp___9 = _((char const   *)"mktree did not return an object name");
        error((char const   *)tmp___9);
        tmp___10 = const_error();
        return (tmp___10);
      }
      strbuf_release(& result___0);
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    flags___0 = 3;
    tmp___13 = fstat(fd, & st);
    if (tmp___13 < 0) {
      tmp___12 = _((char const   *)"unable to fstat %s");
      error_errno((char const   *)tmp___12, filename___0);
      const_error();
      close(fd);
      return (-1);
    }
    tmp___16 = index_fd(the_repository->index, oid, fd, & st, type___0, (char const   *)((void *)0),
                        (unsigned int )flags___0);
    if (tmp___16 < 0) {
      tmp___14 = _((char const   *)"unable to write object to database");
      error((char const   *)tmp___14);
      tmp___15 = const_error();
      return (tmp___15);
    }
  }
  return (0);
}
}
static int edit_and_replace(char const   *object_ref , int force___2 , int raw )
{
  char *tmpfile___0 ;
  enum object_type type___0 ;
  struct object_id old_oid ;
  struct object_id new_oid ;
  struct object_id prev ;
  struct strbuf ref ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  char *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;

  {
  ref.alloc = 0UL;
  ref.len = 0UL;
  ref.buf = strbuf_slopbuf;
  tmp___1 = repo_get_oid(the_repository, object_ref, & old_oid);
  if (tmp___1 < 0) {
    tmp = _((char const   *)"not a valid object name: \'%s\'");
    error((char const   *)tmp, object_ref);
    tmp___0 = const_error();
    return (tmp___0);
  }
  tmp___2 = oid_object_info(the_repository, (struct object_id  const  *)(& old_oid),
                            (unsigned long *)((void *)0));
  type___0 = (enum object_type )tmp___2;
  if ((int )type___0 < 0) {
    tmp___3 = oid_to_hex((struct object_id  const  *)(& old_oid));
    tmp___4 = _((char const   *)"unable to get object type for %s");
    error((char const   *)tmp___4, tmp___3);
    tmp___5 = const_error();
    return (tmp___5);
  }
  tmp___6 = check_ref_valid(& old_oid, & prev, & ref, force___2);
  if (tmp___6) {
    strbuf_release(& ref);
    return (-1);
  }
  strbuf_release(& ref);
  tmpfile___0 = git_pathdup((char const   *)"REPLACE_EDITOBJ");
  tmp___7 = export_object((struct object_id  const  *)(& old_oid), type___0, raw,
                          (char const   *)tmpfile___0);
  if (tmp___7) {
    free((void *)tmpfile___0);
    return (-1);
  }
  tmp___10 = launch_editor((char const   *)tmpfile___0, (struct strbuf *)((void *)0),
                           (char const   **)((void *)0));
  if (tmp___10 < 0) {
    free((void *)tmpfile___0);
    tmp___8 = _((char const   *)"editing object file failed");
    error((char const   *)tmp___8);
    tmp___9 = const_error();
    return (tmp___9);
  }
  tmp___11 = import_object(& new_oid, type___0, raw, (char const   *)tmpfile___0);
  if (tmp___11) {
    free((void *)tmpfile___0);
    return (-1);
  }
  free((void *)tmpfile___0);
  tmp___15 = oideq((struct object_id  const  *)(& old_oid), (struct object_id  const  *)(& new_oid));
  if (tmp___15) {
    tmp___12 = oid_to_hex((struct object_id  const  *)(& old_oid));
    tmp___13 = _((char const   *)"new object is the same as the old one: \'%s\'");
    error((char const   *)tmp___13, tmp___12);
    tmp___14 = const_error();
    return (tmp___14);
  }
  tmp___16 = replace_object_oid(object_ref, & old_oid, (char const   *)"replacement",
                                & new_oid, force___2);
  return (tmp___16);
}
}
static int replace_parents(struct strbuf *buf___19 , int argc , char const   **argv___0 )
{
  struct strbuf new_parents ;
  char const   *parent_start ;
  char const   *parent_end ;
  int i ;
  unsigned int hexsz ;
  int tmp ;
  struct object_id oid ;
  struct commit *commit ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;

  {
  new_parents.alloc = 0UL;
  new_parents.len = 0UL;
  new_parents.buf = strbuf_slopbuf;
  hexsz = (unsigned int )(the_repository->hash_algo)->hexsz;
  parent_start = (char const   *)buf___19->buf;
  parent_start += hexsz + 6U;
  parent_end = parent_start;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = starts_with(parent_end, (char const   *)"parent ");
    if (! tmp) {
      goto while_break;
    }
    parent_end += hexsz + 8U;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break___0;
    }
    tmp___2 = repo_get_oid(the_repository, *(argv___0 + i), & oid);
    if (tmp___2 < 0) {
      strbuf_release(& new_parents);
      tmp___0 = _((char const   *)"not a valid object name: \'%s\'");
      error((char const   *)tmp___0, *(argv___0 + i));
      tmp___1 = const_error();
      return (tmp___1);
    }
    commit = lookup_commit_reference(the_repository, (struct object_id  const  *)(& oid));
    if (! commit) {
      strbuf_release(& new_parents);
      tmp___3 = _((char const   *)"could not parse %s as a commit");
      error((char const   *)tmp___3, *(argv___0 + i));
      tmp___4 = const_error();
      return (tmp___4);
    }
    tmp___5 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    strbuf_addf(& new_parents, (char const   *)"parent %s\n", tmp___5);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_splice(buf___19, (size_t )(parent_start - (char const   *)buf___19->buf),
                (size_t )(parent_end - parent_start), (void const   *)new_parents.buf,
                new_parents.len);
  strbuf_release(& new_parents);
  return (0);
}
}
static int check_one_mergetag(struct commit *commit , struct commit_extra_header *extra___2 ,
                              void *data )
{
  struct check_mergetag_data *mergetag_data ;
  char const   *ref ;
  struct object_id tag_oid ;
  struct tag *tag ;
  int i ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  struct object_id oid ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  struct object_id *tmp___8 ;
  int tmp___9 ;
  char *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;

  {
  mergetag_data = (struct check_mergetag_data *)data;
  ref = *(mergetag_data->argv + 0);
  tmp = type_name(4U);
  hash_object_file(the_repository->hash_algo, (void const   *)extra___2->value, extra___2->len,
                   tmp, & tag_oid);
  tag = lookup_tag(the_repository, (struct object_id  const  *)(& tag_oid));
  if (! tag) {
    tmp___0 = _((char const   *)"bad mergetag in commit \'%s\'");
    error((char const   *)tmp___0, ref);
    tmp___1 = const_error();
    return (tmp___1);
  }
  tmp___4 = parse_tag_buffer(the_repository, tag, (void const   *)extra___2->value,
                             extra___2->len);
  if (tmp___4) {
    tmp___2 = _((char const   *)"malformed mergetag in commit \'%s\'");
    error((char const   *)tmp___2, ref);
    tmp___3 = const_error();
    return (tmp___3);
  }
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < mergetag_data->argc)) {
      goto while_break;
    }
    tmp___7 = repo_get_oid(the_repository, *(mergetag_data->argv + i), & oid);
    if (tmp___7 < 0) {
      tmp___5 = _((char const   *)"not a valid object name: \'%s\'");
      error((char const   *)tmp___5, *(mergetag_data->argv + i));
      tmp___6 = const_error();
      return (tmp___6);
    }
    tmp___8 = get_tagged_oid(tag);
    tmp___9 = oideq((struct object_id  const  *)tmp___8, (struct object_id  const  *)(& oid));
    if (tmp___9) {
      return (0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___10 = oid_to_hex((struct object_id  const  *)(& tag_oid));
  tmp___11 = _((char const   *)"original commit \'%s\' contains mergetag \'%s\' that is discarded; use --edit instead of --graft");
  error((char const   *)tmp___11, ref, tmp___10);
  tmp___12 = const_error();
  return (tmp___12);
}
}
static int check_mergetags(struct commit *commit , int argc , char const   **argv___0 )
{
  struct check_mergetag_data mergetag_data ;
  int tmp ;

  {
  mergetag_data.argc = argc;
  mergetag_data.argv = argv___0;
  tmp = for_each_mergetag(& check_one_mergetag, commit, (void *)(& mergetag_data));
  return (tmp);
}
}
static int create_graft(int argc , char const   **argv___0 , int force___2 , int gentle )
{
  struct object_id old_oid ;
  struct object_id new_oid ;
  char const   *old_ref ;
  struct commit *commit ;
  struct strbuf buf___19 ;
  char const   *buffer___5 ;
  unsigned long size ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  void const   *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  char *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;

  {
  old_ref = *(argv___0 + 0);
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp___1 = repo_get_oid(the_repository, old_ref, & old_oid);
  if (tmp___1 < 0) {
    tmp = _((char const   *)"not a valid object name: \'%s\'");
    error((char const   *)tmp, old_ref);
    tmp___0 = const_error();
    return (tmp___0);
  }
  commit = lookup_commit_reference(the_repository, (struct object_id  const  *)(& old_oid));
  if (! commit) {
    tmp___2 = _((char const   *)"could not parse %s");
    error((char const   *)tmp___2, old_ref);
    tmp___3 = const_error();
    return (tmp___3);
  }
  tmp___4 = repo_get_commit_buffer(the_repository, (struct commit  const  *)commit,
                                   & size);
  buffer___5 = (char const   *)tmp___4;
  strbuf_add(& buf___19, (void const   *)buffer___5, size);
  repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit, (void const   *)buffer___5);
  tmp___5 = replace_parents(& buf___19, argc - 1, argv___0 + 1);
  if (tmp___5 < 0) {
    strbuf_release(& buf___19);
    return (-1);
  }
  tmp___8 = remove_signature(& buf___19);
  if (tmp___8) {
    tmp___6 = _((char const   *)"the original commit \'%s\' has a gpg signature");
    warning((char const   *)tmp___6, old_ref);
    tmp___7 = _((char const   *)"the signature will be removed in the replacement commit!");
    warning((char const   *)tmp___7);
  }
  tmp___9 = check_mergetags(commit, argc, argv___0);
  if (tmp___9) {
    strbuf_release(& buf___19);
    return (-1);
  }
  tmp___12 = write_object_file((void const   *)buf___19.buf, buf___19.len, commit_type,
                               & new_oid);
  if (tmp___12) {
    strbuf_release(& buf___19);
    tmp___10 = _((char const   *)"could not write replacement commit for: \'%s\'");
    error((char const   *)tmp___10, old_ref);
    tmp___11 = const_error();
    return (tmp___11);
  }
  strbuf_release(& buf___19);
  tmp___18 = oideq((struct object_id  const  *)(& commit->object.oid), (struct object_id  const  *)(& new_oid));
  if (tmp___18) {
    if (gentle) {
      tmp___13 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
      tmp___14 = _((char const   *)"graft for \'%s\' unnecessary");
      warning((char const   *)tmp___14, tmp___13);
      return (0);
    }
    tmp___15 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    tmp___16 = _((char const   *)"new commit is the same as the old one: \'%s\'");
    error((char const   *)tmp___16, tmp___15);
    tmp___17 = const_error();
    return (tmp___17);
  }
  tmp___19 = replace_object_oid(old_ref, & commit->object.oid, (char const   *)"replacement",
                                & new_oid, force___2);
  return (tmp___19);
}
}
static int convert_graft_file(int force___2 )
{
  char const   *graft_file ;
  char *tmp ;
  FILE *fp ;
  FILE *tmp___0 ;
  struct strbuf buf___19 ;
  struct strbuf err___4 ;
  struct strvec args___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  tmp = get_graft_file(the_repository);
  graft_file = (char const   *)tmp;
  tmp___0 = fopen_or_warn(graft_file, (char const   *)"r");
  fp = tmp___0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  args___0.v = empty_strvec;
  args___0.nr = 0UL;
  args___0.alloc = 0UL;
  if (! fp) {
    return (-1);
  }
  no_graft_file_deprecated_advice = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___2 = strbuf_getline(& buf___19, fp);
    if (! (tmp___2 != -1)) {
      goto while_break;
    }
    if ((int )*(buf___19.buf) == 35) {
      goto while_continue;
    }
    strvec_split(& args___0, (char const   *)buf___19.buf);
    if (args___0.nr) {
      tmp___1 = create_graft((int )args___0.nr, args___0.v, force___2, 1);
      if (tmp___1) {
        strbuf_addf(& err___4, (char const   *)"\n\t%s", buf___19.buf);
      }
    }
    strvec_clear(& args___0);
  }
  while_break: /* CIL Label */ ;
  }
  fclose(fp);
  strbuf_release(& buf___19);
  if (! err___4.len) {
    tmp___3 = unlink_or_warn(graft_file);
    return (tmp___3);
  }
  tmp___4 = _((char const   *)"could not convert the following graft(s):\n%s");
  warning((char const   *)tmp___4, err___4.buf);
  strbuf_release(& err___4);
  return (-1);
}
}
int cmd_replace(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int force___2 ;
  int raw ;
  char const   *format___0 ;
  enum __anonenum_cmdmode_716459681 cmdmode ;
  struct option options[9] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;

  {
  force___2 = 0;
  raw = 0;
  format___0 = (char const   *)((void *)0);
  cmdmode = (enum __anonenum_cmdmode_716459681 )0;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 'l';
  options[0].long_name = (char const   *)"list";
  options[0].value = (void *)(& cmdmode);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"list replace refs";
  options[0].flags = (enum parse_opt_option_flags )2054;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 'd';
  options[1].long_name = (char const   *)"delete";
  options[1].value = (void *)(& cmdmode);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"delete replace refs";
  options[1].flags = (enum parse_opt_option_flags )2054;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )2;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 'e';
  options[2].long_name = (char const   *)"edit";
  options[2].value = (void *)(& cmdmode);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"edit existing object";
  options[2].flags = (enum parse_opt_option_flags )2054;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )3;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 'g';
  options[3].long_name = (char const   *)"graft";
  options[3].value = (void *)(& cmdmode);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"change a commit\'s parents";
  options[3].flags = (enum parse_opt_option_flags )2054;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )4;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"convert-graft-file";
  options[4].value = (void *)(& cmdmode);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"convert existing graft file";
  options[4].flags = (enum parse_opt_option_flags )2054;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )5;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )8;
  options[5].short_name = 'f';
  options[5].long_name = (char const   *)"force";
  options[5].value = (void *)(& force___2);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"replace the ref if it exists";
  options[5].flags = (enum parse_opt_option_flags )514;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )1;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )8;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)"raw";
  options[6].value = (void *)(& raw);
  options[6].argh = (char const   *)((void *)0);
  options[6].help = (char const   *)"do not pretty-print contents for --edit";
  options[6].flags = (enum parse_opt_option_flags )2;
  options[6].callback = (parse_opt_cb *)((void *)0);
  options[6].defval = (intptr_t )1;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )9;
  options[7].short_name = 0;
  options[7].long_name = (char const   *)"format";
  options[7].value = (void *)(& format___0);
  options[7].argh = (char const   *)"format";
  options[7].help = (char const   *)"use this format";
  options[7].flags = (enum parse_opt_option_flags )0;
  options[7].callback = (parse_opt_cb *)0;
  options[7].defval = 0L;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )0;
  options[8].short_name = 0;
  options[8].long_name = (char const   *)0;
  options[8].value = (void *)0;
  options[8].argh = (char const   *)0;
  options[8].help = (char const   *)0;
  options[8].flags = 0U;
  options[8].callback = (parse_opt_cb *)0;
  options[8].defval = 0L;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  read_replace_refs = 0;
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_replace_usage, (enum parse_opt_flags )0);
  if (! cmdmode) {
    if (argc) {
      cmdmode = (enum __anonenum_cmdmode_716459681 )6;
    } else {
      cmdmode = (enum __anonenum_cmdmode_716459681 )1;
    }
  }
  if (format___0) {
    if ((unsigned int )cmdmode != 1U) {
      tmp = _((char const   *)"--format cannot be used when not listing");
      usage_msg_opt((char const   *)tmp, git_replace_usage, (struct option  const  *)(options));
    }
  }
  if (force___2) {
    if ((unsigned int )cmdmode != 6U) {
      if ((unsigned int )cmdmode != 3U) {
        if ((unsigned int )cmdmode != 4U) {
          if ((unsigned int )cmdmode != 5U) {
            tmp___0 = _((char const   *)"-f only makes sense when writing a replacement");
            usage_msg_opt((char const   *)tmp___0, git_replace_usage, (struct option  const  *)(options));
          }
        }
      }
    }
  }
  if (raw) {
    if ((unsigned int )cmdmode != 3U) {
      tmp___1 = _((char const   *)"--raw only makes sense with --edit");
      usage_msg_opt((char const   *)tmp___1, git_replace_usage, (struct option  const  *)(options));
    }
  }
  {
  if ((unsigned int )cmdmode == 2U) {
    goto case_2;
  }
  if ((unsigned int )cmdmode == 6U) {
    goto case_6;
  }
  if ((unsigned int )cmdmode == 3U) {
    goto case_3;
  }
  if ((unsigned int )cmdmode == 4U) {
    goto case_4;
  }
  if ((unsigned int )cmdmode == 5U) {
    goto case_5;
  }
  if ((unsigned int )cmdmode == 1U) {
    goto case_1;
  }
  goto switch_default;
  case_2: /* CIL Label */
  if (argc < 1) {
    tmp___2 = _((char const   *)"-d needs at least one argument");
    usage_msg_opt((char const   *)tmp___2, git_replace_usage, (struct option  const  *)(options));
  }
  tmp___3 = for_each_replace_name(argv___0, & delete_replace_ref);
  return (tmp___3);
  case_6: /* CIL Label */
  if (argc != 2) {
    tmp___4 = _((char const   *)"bad number of arguments");
    usage_msg_opt((char const   *)tmp___4, git_replace_usage, (struct option  const  *)(options));
  }
  tmp___5 = replace_object(*(argv___0 + 0), *(argv___0 + 1), force___2);
  return (tmp___5);
  case_3: /* CIL Label */
  if (argc != 1) {
    tmp___6 = _((char const   *)"-e needs exactly one argument");
    usage_msg_opt((char const   *)tmp___6, git_replace_usage, (struct option  const  *)(options));
  }
  tmp___7 = edit_and_replace(*(argv___0 + 0), force___2, raw);
  return (tmp___7);
  case_4: /* CIL Label */
  if (argc < 1) {
    tmp___8 = _((char const   *)"-g needs at least one argument");
    usage_msg_opt((char const   *)tmp___8, git_replace_usage, (struct option  const  *)(options));
  }
  tmp___9 = create_graft(argc, argv___0, force___2, 0);
  return (tmp___9);
  case_5: /* CIL Label */
  if (argc != 0) {
    tmp___10 = _((char const   *)"--convert-graft-file takes no argument");
    usage_msg_opt((char const   *)tmp___10, git_replace_usage, (struct option  const  *)(options));
  }
  tmp___11 = convert_graft_file(force___2);
  if (tmp___11) {
    tmp___12 = 1;
  } else {
    tmp___12 = 0;
  }
  return (tmp___12);
  case_1: /* CIL Label */
  if (argc > 1) {
    tmp___13 = _((char const   *)"only one pattern can be given with -l");
    usage_msg_opt((char const   *)tmp___13, git_replace_usage, (struct option  const  *)(options));
  }
  tmp___14 = list_replace_refs(*(argv___0 + 0), format___0);
  return (tmp___14);
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"builtin/replace.c", 621, (char const   *)"invalid cmdmode %d",
         (int )cmdmode);
  switch_break: /* CIL Label */ ;
  }
}
}
static char const   *rerere_usage[2]  = {      (char const   *)"git rerere [clear | forget <path>... | status | remaining | diff | gc]",      (char const   *)((void *)0)};
static int outf(void *dummy___0 , mmbuffer_t *ptr , int nbuf )
{
  int i ;
  ssize_t tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nbuf)) {
      goto while_break;
    }
    tmp = write_in_full(1, (void const   *)(ptr + i)->ptr, (size_t )(ptr + i)->size);
    if (tmp < 0L) {
      return (-1);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int diff_two(char const   *file1 , char const   *label1 , char const   *file2 ,
                    char const   *label2 )
{
  xpparam_t xpp ;
  xdemitconf_t xecfg ;
  xdemitcb_t ecb ;
  mmfile_t minus ;
  mmfile_t plus ;
  int ret___67 ;
  int tmp ;
  int tmp___0 ;

  {
  ecb.priv = (void *)0;
  ecb.out_hunk = (int (*)(void * , long old_begin , long old_nr , long new_begin ,
                          long new_nr , char const   *func , long funclen ))0;
  ecb.out_line = & outf;
  tmp = read_mmfile(& minus, file1);
  if (tmp) {
    return (-1);
  } else {
    tmp___0 = read_mmfile(& plus, file2);
    if (tmp___0) {
      return (-1);
    }
  }
  printf((char const   *)"--- a/%s\n+++ b/%s\n", label1, label2);
  fflush(stdout);
  memset((void *)(& xpp), 0, sizeof(xpp));
  xpp.flags = 0UL;
  memset((void *)(& xecfg), 0, sizeof(xecfg));
  xecfg.ctxlen = 3L;
  ret___67 = xdi_diff(& minus, & plus, (xpparam_t const   *)(& xpp), (xdemitconf_t const   *)(& xecfg),
                      & ecb);
  free((void *)minus.ptr);
  free((void *)plus.ptr);
  return (ret___67);
}
}
int cmd_rerere(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct string_list merge_rr ;
  int i ;
  int autoupdate ;
  int flags___0 ;
  struct option options[2] ;
  int tmp ;
  struct pathspec pathspec___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const   *path___6 ;
  struct rerere_id  const  *id ;
  char const   *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const   *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;

  {
  merge_rr.items = (struct string_list_item *)0;
  merge_rr.nr = 0U;
  merge_rr.alloc = 0U;
  merge_rr.strdup_strings = 1U;
  merge_rr.cmp = (int (*)(char const   * , char const   * ))0;
  autoupdate = -1;
  flags___0 = 0;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"rerere-autoupdate";
  options[0].value = (void *)(& autoupdate);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"register clean resolutions in index";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )0;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)0;
  options[1].value = (void *)0;
  options[1].argh = (char const   *)0;
  options[1].help = (char const   *)0;
  options[1].flags = 0U;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       rerere_usage, (enum parse_opt_flags )0);
  git_config(& git_xmerge_config, (void *)0);
  if (autoupdate == 1) {
    flags___0 = 01;
  }
  if (autoupdate == 0) {
    flags___0 = 02;
  }
  if (argc < 1) {
    tmp = repo_rerere(the_repository, flags___0);
    return (tmp);
  }
  tmp___2 = strcmp(*(argv___0 + 0), (char const   *)"forget");
  if (! tmp___2) {
    if (argc < 2) {
      tmp___0 = _((char const   *)"\'git rerere forget\' without paths is deprecated");
      warning((char const   *)tmp___0);
    }
    parse_pathspec(& pathspec___1, 0U, 1U, prefix___1, argv___0 + 1);
    tmp___1 = rerere_forget(the_repository, & pathspec___1);
    return (tmp___1);
  }
  tmp___13 = strcmp(*(argv___0 + 0), (char const   *)"clear");
  if (tmp___13) {
    tmp___12 = strcmp(*(argv___0 + 0), (char const   *)"gc");
    if (tmp___12) {
      tmp___11 = strcmp(*(argv___0 + 0), (char const   *)"status");
      if (tmp___11) {
        tmp___10 = strcmp(*(argv___0 + 0), (char const   *)"remaining");
        if (tmp___10) {
          tmp___9 = strcmp(*(argv___0 + 0), (char const   *)"diff");
          if (tmp___9) {
            usage_with_options(rerere_usage, (struct option  const  *)(options));
          } else {
            tmp___4 = setup_rerere(the_repository, & merge_rr, flags___0 | 04);
            if (tmp___4 < 0) {
              return (0);
            }
            i = 0;
            {
            while (1) {
              while_continue: /* CIL Label */ ;
              if (! ((unsigned int )i < merge_rr.nr)) {
                goto while_break;
              }
              path___6 = (char const   *)(merge_rr.items + i)->string;
              id = (struct rerere_id  const  *)(merge_rr.items + i)->util;
              tmp___7 = rerere_path(id, (char const   *)"preimage");
              tmp___8 = diff_two(tmp___7, path___6, path___6, path___6);
              if (tmp___8) {
                tmp___5 = rerere_path(id, (char const   *)((void *)0));
                tmp___6 = _((char const   *)"unable to generate diff for \'%s\'");
                die((char const   *)tmp___6, tmp___5);
              }
              i ++;
            }
            while_break: /* CIL Label */ ;
            }
          }
        } else {
          rerere_remaining(the_repository, & merge_rr);
          i = 0;
          {
          while (1) {
            while_continue___0: /* CIL Label */ ;
            if (! ((unsigned int )i < merge_rr.nr)) {
              goto while_break___0;
            }
            if ((unsigned long )(merge_rr.items + i)->util != (unsigned long )RERERE_RESOLVED) {
              printf((char const   *)"%s\n", (merge_rr.items + i)->string);
            } else {
              (merge_rr.items + i)->util = (void *)0;
            }
            i ++;
          }
          while_break___0: /* CIL Label */ ;
          }
        }
      } else {
        tmp___3 = setup_rerere(the_repository, & merge_rr, flags___0 | 04);
        if (tmp___3 < 0) {
          return (0);
        }
        i = 0;
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          if (! ((unsigned int )i < merge_rr.nr)) {
            goto while_break___1;
          }
          printf((char const   *)"%s\n", (merge_rr.items + i)->string);
          i ++;
        }
        while_break___1: /* CIL Label */ ;
        }
      }
    } else {
      rerere_gc(the_repository, & merge_rr);
    }
  } else {
    rerere_clear(the_repository, & merge_rr);
  }
  string_list_clear(& merge_rr, 1);
  return (0);
}
}
static double const   __ac_HASH_UPPER___152  =    (double const   )0.77;
__inline static void kh_resize_oid_set___152(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___152(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___152 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___152 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___152(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___152(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___152(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___152(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___152(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___152(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___152 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___152 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___152(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___152(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___152(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___152(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___152(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___152(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___152 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___152 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___152(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___152(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___152(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___152(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *git_reset_usage[5]  = {      (char const   *)"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]",      (char const   *)"git reset [-q] [<tree-ish>] [--] <pathspec>...",      (char const   *)"git reset [-q] [--pathspec-from-file [--pathspec-file-nul]] [<tree-ish>]",      (char const   *)"git reset --patch [<tree-ish>] [--] [<pathspec>...]",
        (char const   *)((void *)0)};
static char const   *reset_type_names[6]  = {      (char const   *)"mixed",      (char const   *)"soft",      (char const   *)"hard",      (char const   *)"merge",
        (char const   *)"keep",      (char const   *)((void *)0)};
__inline static int is_merge___0(void)
{
  char const   *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = git_path_merge_head(the_repository);
  tmp___0 = access(tmp, 0);
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  return (tmp___1);
}
}
static int reset_index(char const   *ref , struct object_id  const  *oid , int reset_type ,
                       int quiet___7 )
{
  int i ;
  int nr___0 ;
  struct tree_desc desc___0[2] ;
  struct tree *tree ;
  struct unpack_trees_options opts___1 ;
  int ret___67 ;
  struct object_id head_oid___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  void *tmp___4 ;
  char *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  void *tmp___7 ;
  int tmp___8 ;

  {
  nr___0 = 0;
  ret___67 = -1;
  memset((void *)(& opts___1), 0, sizeof(opts___1));
  opts___1.head_idx = 1;
  opts___1.src_index = & the_index;
  opts___1.dst_index = & the_index;
  opts___1.fn = & oneway_merge;
  opts___1.merge = 1U;
  init_checkout_metadata(& opts___1.meta, ref, oid, (struct object_id  const  *)((void *)0));
  if (! quiet___7) {
    opts___1.verbose_update = 1U;
  }
  {
  if (reset_type == 3) {
    goto case_3;
  }
  if (reset_type == 4) {
    goto case_3;
  }
  if (reset_type == 2) {
    goto case_2;
  }
  if (reset_type == 0) {
    goto case_0;
  }
  goto switch_default;
  case_3: /* CIL Label */
  case_4: /* CIL Label */
  opts___1.update = 1U;
  opts___1.preserve_ignored = 0U;
  goto switch_break;
  case_2: /* CIL Label */
  opts___1.update = 1U;
  opts___1.reset = (enum unpack_trees_reset_type )3;
  goto switch_break;
  case_0: /* CIL Label */
  opts___1.reset = (enum unpack_trees_reset_type )2;
  goto switch_break;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"builtin/reset.c", 82, (char const   *)"invalid reset_type passed to reset_index");
  switch_break: /* CIL Label */ ;
  }
  repo_read_index_unmerged(the_repository);
  if (reset_type == 4) {
    tmp___1 = repo_get_oid(the_repository, (char const   *)"HEAD", & head_oid___1);
    if (tmp___1) {
      tmp = _((char const   *)"You do not have a valid HEAD.");
      error((char const   *)tmp);
      tmp___0 = const_error();
      return (tmp___0);
    }
    tmp___4 = fill_tree_descriptor(the_repository, desc___0 + nr___0, (struct object_id  const  *)(& head_oid___1));
    if (! tmp___4) {
      tmp___2 = _((char const   *)"Failed to find tree of HEAD.");
      error((char const   *)tmp___2);
      tmp___3 = const_error();
      return (tmp___3);
    }
    nr___0 ++;
    opts___1.fn = & twoway_merge;
  }
  tmp___7 = fill_tree_descriptor(the_repository, desc___0 + nr___0, oid);
  if (! tmp___7) {
    tmp___5 = oid_to_hex(oid);
    tmp___6 = _((char const   *)"Failed to find tree of %s.");
    error((char const   *)tmp___6, tmp___5);
    const_error();
    goto out;
  }
  nr___0 ++;
  tmp___8 = unpack_trees((unsigned int )nr___0, desc___0, & opts___1);
  if (tmp___8) {
    goto out;
  }
  if (reset_type == 0) {
    tree = parse_tree_indirect(oid);
    prime_cache_tree(the_repository, the_repository->index, tree);
  } else
  if (reset_type == 2) {
    tree = parse_tree_indirect(oid);
    prime_cache_tree(the_repository, the_repository->index, tree);
  }
  ret___67 = 0;
  out:
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break;
    }
    free((void *)desc___0[i].buffer);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static void print_new_head_line(struct commit *commit )
{
  struct strbuf buf___19 ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& commit->object.oid),
                                default_abbrev);
  tmp___0 = _((char const   *)"HEAD is now at %s");
  printf((char const   *)tmp___0, tmp);
  pp_commit_easy((enum cmit_fmt )5, (struct commit  const  *)commit, & buf___19);
  if (buf___19.len > 0UL) {
    printf((char const   *)" %s", buf___19.buf);
  }
  putchar('\n');
  strbuf_release(& buf___19);
  return;
}
}
static void update_index_from_diff(struct diff_queue_struct *q , struct diff_options *opt___0 ,
                                   void *data )
{
  int i ;
  int intent_to_add___0 ;
  int pos ;
  struct diff_filespec *one___0 ;
  int is_in_reset_tree ;
  int tmp ;
  int tmp___0 ;
  struct cache_entry *ce ;
  size_t tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  intent_to_add___0 = *((int *)data);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break;
    }
    one___0 = (*(q->queue + i))->one;
    if (one___0->mode) {
      tmp = is_null_oid((struct object_id  const  *)(& one___0->oid));
      if (tmp) {
        tmp___0 = 0;
      } else {
        tmp___0 = 1;
      }
    } else {
      tmp___0 = 0;
    }
    is_in_reset_tree = tmp___0;
    if (! is_in_reset_tree) {
      if (! intent_to_add___0) {
        remove_file_from_index(& the_index, (char const   *)one___0->path);
        goto __Cont;
      }
    }
    ce = make_cache_entry(& the_index, (unsigned int )one___0->mode, (struct object_id  const  *)(& one___0->oid),
                          (char const   *)one___0->path, 0, 0U);
    tmp___1 = strlen((char const   *)one___0->path);
    pos = index_name_pos(& the_index, (char const   *)one___0->path, (int )tmp___1);
    if (pos >= 0) {
      if ((*(the_index.cache + pos))->ce_flags & (unsigned int )(1 << 30)) {
        ce->ce_flags |= (unsigned int )(1 << 30);
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (pos < 0) {
      tmp___2 = path_in_sparse_checkout((char const   *)one___0->path, & the_index);
      if (! tmp___2) {
        ce->ce_flags |= (unsigned int )(1 << 30);
      }
    }
    if (! ce) {
      tmp___3 = _((char const   *)"make_cache_entry failed for path \'%s\'");
      die((char const   *)tmp___3, one___0->path);
    }
    if (! is_in_reset_tree) {
      ce->ce_flags |= (unsigned int )(1 << 29);
      set_object_name_for_intent_to_add_entry(ce);
    }
    add_index_entry(& the_index, ce, 3);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int pathspec_needs_expanded_index(struct pathspec  const  *pathspec___1 )
{
  unsigned int i ;
  unsigned int pos ;
  int res ;
  char *skip_worktree_seen ;
  struct pathspec_item item___0 ;
  int tmp ;
  size_t tmp___0 ;
  struct cache_entry *ce ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  res = 0;
  skip_worktree_seen = (char *)((void *)0);
  if (pathspec___1->magic) {
    return (1);
  }
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (unsigned int )pathspec___1->nr)) {
      goto while_break;
    }
    item___0 = *(pathspec___1->items + i);
    if (item___0.nowildcard_len < item___0.len) {
      tmp = path_in_cone_mode_sparse_checkout((char const   *)item___0.original, & the_index);
      if (tmp) {
        tmp___0 = strspn((char const   *)(item___0.original + item___0.nowildcard_len),
                         (char const   *)"*");
        if (tmp___0 == (size_t )(item___0.len - item___0.nowildcard_len)) {
          goto __Cont;
        }
      }
      pos = 0U;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (pos < the_index.cache_nr)) {
          goto while_break___0;
        }
        ce = *(the_index.cache + pos);
        if (! (ce->ce_mode == 16384U)) {
          goto __Cont___0;
        }
        if ((unsigned int )item___0.nowildcard_len > ce->ce_namelen) {
          tmp___1 = strncmp((char const   *)item___0.original, (char const   *)(ce->name),
                            (size_t )ce->ce_namelen);
          if (! tmp___1) {
            res = 1;
            goto while_break___0;
          }
        }
        tmp___2 = strncmp((char const   *)item___0.original, (char const   *)(ce->name),
                          (size_t )item___0.nowildcard_len);
        if (! tmp___2) {
          tmp___3 = wildmatch((char const   *)item___0.original, (char const   *)(ce->name),
                              0U);
          if (tmp___3) {
            res = 1;
            goto while_break___0;
          }
        }
        __Cont___0: /* CIL Label */
        pos ++;
      }
      while_break___0: /* CIL Label */ ;
      }
    } else {
      tmp___4 = path_in_cone_mode_sparse_checkout((char const   *)item___0.original,
                                                  & the_index);
      if (! tmp___4) {
        tmp___5 = matches_skip_worktree(pathspec___1, (int )i, & skip_worktree_seen);
        if (! tmp___5) {
          res = 1;
        }
      }
    }
    if (res > 0) {
      goto while_break;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)skip_worktree_seen);
  return (res);
}
}
static int read_from_tree(struct pathspec  const  *pathspec___1 , struct object_id *tree_oid ,
                          int intent_to_add___0 )
{
  struct diff_options opt___0 ;
  int tmp ;
  int tmp___0 ;

  {
  memset((void *)(& opt___0), 0, sizeof(opt___0));
  copy_pathspec(& opt___0.pathspec, pathspec___1);
  opt___0.output_format = 0x1000;
  opt___0.format_callback = & update_index_from_diff;
  opt___0.format_callback_data = (void *)(& intent_to_add___0);
  opt___0.flags.override_submodule_config = 1U;
  opt___0.flags.recursive = 1U;
  opt___0.repo = the_repository;
  opt___0.change = & diff_change;
  opt___0.add_remove = & diff_addremove;
  if (pathspec___1->nr) {
    if (the_index.sparse_index) {
      tmp = pathspec_needs_expanded_index(pathspec___1);
      if (tmp) {
        ensure_full_index(& the_index);
      }
    }
  }
  tmp___0 = do_diff_cache((struct object_id  const  *)tree_oid, & opt___0);
  if (tmp___0) {
    return (1);
  }
  diffcore_std(& opt___0);
  diff_flush(& opt___0);
  clear_pathspec(& opt___0.pathspec);
  return (0);
}
}
static void set_reflog_message___0(struct strbuf *sb___6 , char const   *action ,
                                   char const   *rev )
{
  char const   *rla ;
  char *tmp ;

  {
  tmp = getenv((char const   *)"GIT_REFLOG_ACTION");
  rla = (char const   *)tmp;
  strbuf_setlen___33(sb___6, (size_t )0);
  if (rla) {
    strbuf_addf(sb___6, (char const   *)"%s: %s", rla, action);
  } else
  if (rev) {
    strbuf_addf(sb___6, (char const   *)"reset: moving to %s", rev);
  } else {
    strbuf_addf(sb___6, (char const   *)"reset: %s", action);
  }
  return;
}
}
static void die_if_unmerged_cache(int reset_type )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___1 = is_merge___0();
  if (tmp___1) {
    tmp = _(reset_type_names[reset_type]);
    tmp___0 = _((char const   *)"Cannot do a %s reset in the middle of a merge.");
    die((char const   *)tmp___0, tmp);
  } else {
    tmp___2 = unmerged_index((struct index_state  const  *)(& the_index));
    if (tmp___2) {
      tmp = _(reset_type_names[reset_type]);
      tmp___0 = _((char const   *)"Cannot do a %s reset in the middle of a merge.");
      die((char const   *)tmp___0, tmp);
    }
  }
  return;
}
}
static void parse_args(struct pathspec *pathspec___1 , char const   **argv___0 , char const   *prefix___1 ,
                       int patch_mode , char const   **rev_ret )
{
  char const   *rev ;
  struct object_id unused ;
  char const   **tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  rev = (char const   *)"HEAD";
  if (*(argv___0 + 0)) {
    tmp___3 = strcmp(*(argv___0 + 0), (char const   *)"--");
    if (tmp___3) {
      if (*(argv___0 + 1)) {
        tmp___2 = strcmp(*(argv___0 + 1), (char const   *)"--");
        if (tmp___2) {
          goto _L___0;
        } else {
          rev = *(argv___0 + 0);
          argv___0 += 2;
        }
      } else
      _L___0: /* CIL Label */
      if (! *(argv___0 + 1)) {
        tmp___0 = repo_get_oid_committish(the_repository, *(argv___0 + 0), & unused);
        if (tmp___0) {
          goto _L;
        } else {
          verify_non_filename(prefix___1, *(argv___0 + 0));
          tmp = argv___0;
          argv___0 ++;
          rev = *tmp;
        }
      } else
      _L: /* CIL Label */
      if (*(argv___0 + 1)) {
        tmp___1 = repo_get_oid_treeish(the_repository, *(argv___0 + 0), & unused);
        if (tmp___1) {
          verify_filename(prefix___1, *(argv___0 + 0), 1);
        } else {
          verify_non_filename(prefix___1, *(argv___0 + 0));
          tmp = argv___0;
          argv___0 ++;
          rev = *tmp;
        }
      } else {
        verify_filename(prefix___1, *(argv___0 + 0), 1);
      }
    } else {
      argv___0 ++;
    }
  }
  *rev_ret = rev;
  if (patch_mode) {
    tmp___4 = 1 << 4;
  } else {
    tmp___4 = 0;
  }
  parse_pathspec(pathspec___1, 0U, (unsigned int )((1 << 1) | tmp___4), prefix___1,
                 argv___0);
  return;
}
}
static int reset_refs(char const   *rev , struct object_id  const  *oid )
{
  int update_ref_status ;
  struct strbuf msg___5 ;
  struct object_id *orig ;
  struct object_id oid_orig ;
  struct object_id *old_orig ;
  struct object_id oid_old_orig ;
  int tmp ;
  int tmp___0 ;

  {
  msg___5.alloc = 0UL;
  msg___5.len = 0UL;
  msg___5.buf = strbuf_slopbuf;
  orig = (struct object_id *)((void *)0);
  old_orig = (struct object_id *)((void *)0);
  tmp = repo_get_oid(the_repository, (char const   *)"ORIG_HEAD", & oid_old_orig);
  if (! tmp) {
    old_orig = & oid_old_orig;
  }
  tmp___0 = repo_get_oid(the_repository, (char const   *)"HEAD", & oid_orig);
  if (tmp___0) {
    if (old_orig) {
      delete_ref((char const   *)((void *)0), (char const   *)"ORIG_HEAD", (struct object_id  const  *)old_orig,
                 0U);
    }
  } else {
    orig = & oid_orig;
    set_reflog_message___0(& msg___5, (char const   *)"updating ORIG_HEAD", (char const   *)((void *)0));
    update_ref((char const   *)msg___5.buf, (char const   *)"ORIG_HEAD", (struct object_id  const  *)orig,
               (struct object_id  const  *)old_orig, 0U, (enum action_on_err )0);
  }
  set_reflog_message___0(& msg___5, (char const   *)"updating HEAD", rev);
  update_ref_status = update_ref((char const   *)msg___5.buf, (char const   *)"HEAD",
                                 oid, (struct object_id  const  *)orig, 0U, (enum action_on_err )0);
  strbuf_release(& msg___5);
  return (update_ref_status);
}
}
static int git_reset_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp___0 = strcmp(var, (char const   *)"submodule.recurse");
  if (! tmp___0) {
    tmp = git_default_submodule_config(var, value, cb);
    return (tmp);
  }
  tmp___1 = git_default_config(var, value, cb);
  return (tmp___1);
}
}
int cmd_reset(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int reset_type ;
  int update_ref_status ;
  int quiet___7 ;
  int patch_mode ;
  int pathspec_file_nul___2 ;
  int unborn ;
  char const   *rev ;
  char const   *pathspec_from_file___2 ;
  struct object_id oid ;
  struct pathspec pathspec___1 ;
  int intent_to_add___0 ;
  struct option options[12] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  struct commit *commit ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  struct tree *tree ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  char const   *tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  int tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  char const __attribute__((__format_arg__(1)))  *tmp___21 ;
  int tmp___22 ;
  struct lock_file lock___0 ;
  int flags___0 ;
  int tmp___23 ;
  int tmp___24 ;
  uint64_t t_begin ;
  uint64_t t_delta_in_ms ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  uint64_t tmp___26 ;
  char const __attribute__((__format_arg__(1)))  *tmp___27 ;
  int tmp___28 ;
  char const   *tmp___29 ;
  struct object_id dummy___0 ;
  char *ref ;
  int err___4 ;
  size_t tmp___30 ;
  int tmp___31 ;
  char const __attribute__((__format_arg__(1)))  *tmp___32 ;
  char const __attribute__((__format_arg__(1)))  *tmp___33 ;
  int tmp___34 ;
  struct commit *tmp___35 ;

  {
  reset_type = 5;
  update_ref_status = 0;
  quiet___7 = 0;
  patch_mode = 0;
  pathspec_file_nul___2 = 0;
  pathspec_from_file___2 = (char const   *)((void *)0);
  intent_to_add___0 = 0;
  options[0].type = (enum parse_opt_type )((enum parse_opt_type )7);
  options[0].short_name = (int )'q';
  options[0].long_name = (char const   *)((char const   *)"quiet");
  options[0].value = (void *)((void *)(& quiet___7));
  options[0].argh = (char const   *)((char const   *)((void *)0));
  options[0].help = (char const   *)((char const   *)"be quiet, only report errors");
  options[0].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[0].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  options[0].defval = (intptr_t )0L;
  options[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[0].extra = (intptr_t )0L;
  options[1].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[1].short_name = (int )0;
  options[1].long_name = (char const   *)((char const   *)"mixed");
  options[1].value = (void *)((void *)(& reset_type));
  options[1].argh = (char const   *)((char const   *)((void *)0));
  options[1].help = (char const   *)((char const   *)"reset HEAD and index");
  options[1].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[1].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[1].defval = (intptr_t )((intptr_t )0);
  options[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[1].extra = (intptr_t )0L;
  options[2].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[2].short_name = (int )0;
  options[2].long_name = (char const   *)((char const   *)"soft");
  options[2].value = (void *)((void *)(& reset_type));
  options[2].argh = (char const   *)((char const   *)((void *)0));
  options[2].help = (char const   *)((char const   *)"reset only HEAD");
  options[2].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[2].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[2].defval = (intptr_t )((intptr_t )1);
  options[2].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[2].extra = (intptr_t )0L;
  options[3].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[3].short_name = (int )0;
  options[3].long_name = (char const   *)((char const   *)"hard");
  options[3].value = (void *)((void *)(& reset_type));
  options[3].argh = (char const   *)((char const   *)((void *)0));
  options[3].help = (char const   *)((char const   *)"reset HEAD, index and working tree");
  options[3].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[3].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[3].defval = (intptr_t )((intptr_t )2);
  options[3].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[3].extra = (intptr_t )0L;
  options[4].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[4].short_name = (int )0;
  options[4].long_name = (char const   *)((char const   *)"merge");
  options[4].value = (void *)((void *)(& reset_type));
  options[4].argh = (char const   *)((char const   *)((void *)0));
  options[4].help = (char const   *)((char const   *)"reset HEAD, index and working tree");
  options[4].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[4].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[4].defval = (intptr_t )((intptr_t )3);
  options[4].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[4].extra = (intptr_t )0L;
  options[5].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[5].short_name = (int )0;
  options[5].long_name = (char const   *)((char const   *)"keep");
  options[5].value = (void *)((void *)(& reset_type));
  options[5].argh = (char const   *)((char const   *)((void *)0));
  options[5].help = (char const   *)((char const   *)"reset HEAD but keep local changes");
  options[5].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[5].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[5].defval = (intptr_t )((intptr_t )4);
  options[5].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[5].extra = (intptr_t )0L;
  options[6].type = (enum parse_opt_type )((enum parse_opt_type )12);
  options[6].short_name = (int )0;
  options[6].long_name = (char const   *)((char const   *)"recurse-submodules");
  options[6].value = (void *)((void *)0);
  options[6].argh = (char const   *)((char const   *)"reset");
  options[6].help = (char const   *)((char const   *)"control recursive updating of submodules");
  options[6].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )1);
  options[6].callback = (parse_opt_cb *)(& option_parse_recurse_submodules_worktree_updater);
  options[6].defval = (intptr_t )0L;
  options[6].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[6].extra = (intptr_t )0L;
  options[7].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[7].short_name = (int )'p';
  options[7].long_name = (char const   *)((char const   *)"patch");
  options[7].value = (void *)((void *)(& patch_mode));
  options[7].argh = (char const   *)((char const   *)((void *)0));
  options[7].help = (char const   *)((char const   *)"select hunks interactively");
  options[7].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[7].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[7].defval = (intptr_t )((intptr_t )1);
  options[7].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[7].extra = (intptr_t )0L;
  options[8].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[8].short_name = (int )'N';
  options[8].long_name = (char const   *)((char const   *)"intent-to-add");
  options[8].value = (void *)((void *)(& intent_to_add___0));
  options[8].argh = (char const   *)((char const   *)((void *)0));
  options[8].help = (char const   *)((char const   *)"record only the fact that removed paths will be added later");
  options[8].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[8].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[8].defval = (intptr_t )((intptr_t )1);
  options[8].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[8].extra = (intptr_t )0L;
  options[9].type = (enum parse_opt_type )((enum parse_opt_type )14);
  options[9].short_name = (int )0;
  options[9].long_name = (char const   *)((char const   *)"pathspec-from-file");
  options[9].value = (void *)((void *)(& pathspec_from_file___2));
  options[9].argh = (char const   *)((char const   *)"file");
  options[9].help = (char const   *)((char const   *)"read pathspec from file");
  options[9].flags = (enum parse_opt_option_flags )0U;
  options[9].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  options[9].defval = (intptr_t )0L;
  options[9].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[9].extra = (intptr_t )0L;
  options[10].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[10].short_name = (int )0;
  options[10].long_name = (char const   *)((char const   *)"pathspec-file-nul");
  options[10].value = (void *)((void *)(& pathspec_file_nul___2));
  options[10].argh = (char const   *)((char const   *)((void *)0));
  options[10].help = (char const   *)((char const   *)"with --pathspec-from-file, pathspec elements are separated with NUL character");
  options[10].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[10].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[10].defval = (intptr_t )((intptr_t )1);
  options[10].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[10].extra = (intptr_t )0L;
  options[11].type = (enum parse_opt_type )((enum parse_opt_type )0);
  options[11].short_name = (int )0;
  options[11].long_name = (char const   *)((char const   *)0);
  options[11].value = (void *)((void *)0);
  options[11].argh = (char const   *)((char const   *)0);
  options[11].help = (char const   *)((char const   *)0);
  options[11].flags = (enum parse_opt_option_flags )0U;
  options[11].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  options[11].defval = (intptr_t )0L;
  options[11].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[11].extra = (intptr_t )0L;
  git_config(& git_reset_config, (void *)0);
  git_config_get_bool((char const   *)"reset.quiet", & quiet___7);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_reset_usage, (enum parse_opt_flags )1);
  parse_args(& pathspec___1, argv___0, prefix___1, patch_mode, & rev);
  if (pathspec_from_file___2) {
    if (patch_mode) {
      tmp = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp, "--pathspec-from-file", "--patch");
    }
    if (pathspec___1.nr) {
      tmp___0 = _((char const   *)"\'%s\' and pathspec arguments cannot be used together");
      die((char const   *)tmp___0, "--pathspec-from-file");
    }
    parse_pathspec_file(& pathspec___1, 0U, (unsigned int )(1 << 1), prefix___1, pathspec_from_file___2,
                        pathspec_file_nul___2);
  } else
  if (pathspec_file_nul___2) {
    tmp___1 = _((char const   *)"the option \'%s\' requires \'%s\'");
    die((char const   *)tmp___1, "--pathspec-file-nul", "--pathspec-from-file");
  }
  tmp___2 = strcmp(rev, (char const   *)"HEAD");
  if (tmp___2) {
    tmp___4 = 0;
  } else {
    tmp___3 = repo_get_oid(the_repository, (char const   *)"HEAD", & oid);
    if (tmp___3) {
      tmp___4 = 1;
    } else {
      tmp___4 = 0;
    }
  }
  unborn = tmp___4;
  if (unborn) {
    oidcpy(& oid, (struct object_id  const  *)(the_repository->hash_algo)->empty_tree);
  } else
  if (! pathspec___1.nr) {
    if (! patch_mode) {
      tmp___6 = repo_get_oid_committish(the_repository, rev, & oid);
      if (tmp___6) {
        tmp___5 = _((char const   *)"Failed to resolve \'%s\' as a valid revision.");
        die((char const   *)tmp___5, rev);
      }
      commit = lookup_commit_reference(the_repository, (struct object_id  const  *)(& oid));
      if (! commit) {
        tmp___7 = _((char const   *)"Could not parse object \'%s\'.");
        die((char const   *)tmp___7, rev);
      }
      oidcpy(& oid, (struct object_id  const  *)(& commit->object.oid));
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp___9 = repo_get_oid_treeish(the_repository, rev, & oid);
    if (tmp___9) {
      tmp___8 = _((char const   *)"Failed to resolve \'%s\' as a valid tree.");
      die((char const   *)tmp___8, rev);
    }
    tree = parse_tree_indirect((struct object_id  const  *)(& oid));
    if (! tree) {
      tmp___10 = _((char const   *)"Could not parse object \'%s\'.");
      die((char const   *)tmp___10, rev);
    }
    oidcpy(& oid, (struct object_id  const  *)(& tree->object.oid));
  }
  if (patch_mode) {
    if (reset_type != 5) {
      tmp___11 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___11, "--patch", "--{hard,mixed,soft}");
    }
    trace2_cmd_mode_fl((char const   *)"builtin/reset.c", 463, (char const   *)"patch-interactive");
    tmp___12 = run_add_interactive(rev, (char const   *)"--patch=reset", (struct pathspec  const  *)(& pathspec___1));
    return (tmp___12);
  }
  if (pathspec___1.nr) {
    if (reset_type == 0) {
      tmp___13 = _((char const   *)"--mixed with paths is deprecated; use \'git reset -- <paths>\' instead.");
      warning((char const   *)tmp___13);
    } else
    if (reset_type != 5) {
      tmp___14 = _(reset_type_names[reset_type]);
      tmp___15 = _((char const   *)"Cannot do %s reset with paths.");
      die((char const   *)tmp___15, tmp___14);
    }
  }
  if (reset_type == 5) {
    reset_type = 0;
  }
  if (pathspec___1.nr) {
    trace2_cmd_mode_fl((char const   *)"builtin/reset.c", 481, (char const   *)"path");
  } else {
    trace2_cmd_mode_fl((char const   *)"builtin/reset.c", 483, reset_type_names[reset_type]);
  }
  if (reset_type != 1) {
    if (reset_type != 0) {
      setup_work_tree();
    } else {
      tmp___16 = get_git_work_tree();
      if (tmp___16) {
        setup_work_tree();
      }
    }
  }
  if (reset_type == 0) {
    tmp___19 = is_bare_repository();
    if (tmp___19) {
      tmp___17 = _(reset_type_names[reset_type]);
      tmp___18 = _((char const   *)"%s reset is not allowed in a bare repository");
      die((char const   *)tmp___18, tmp___17);
    }
  }
  if (intent_to_add___0) {
    if (reset_type != 0) {
      tmp___20 = _((char const   *)"the option \'%s\' requires \'%s\'");
      die((char const   *)tmp___20, "-N", "--mixed");
    }
  }
  prepare_repo_settings(the_repository);
  the_repository->settings.command_requires_full_index = 0;
  tmp___22 = repo_read_index(the_repository);
  if (tmp___22 < 0) {
    tmp___21 = _((char const   *)"index file corrupt");
    die((char const   *)tmp___21);
  }
  if (reset_type == 1) {
    die_if_unmerged_cache(reset_type);
  } else
  if (reset_type == 4) {
    die_if_unmerged_cache(reset_type);
  }
  if (reset_type != 1) {
    lock___0.tempfile = (struct tempfile *)0;
    repo_hold_locked_index(the_repository, & lock___0, 1);
    if (reset_type == 0) {
      if (quiet___7) {
        tmp___23 = 1 << 2;
      } else {
        tmp___23 = 1 << 5;
      }
      flags___0 = tmp___23;
      tmp___24 = read_from_tree((struct pathspec  const  *)(& pathspec___1), & oid,
                                intent_to_add___0);
      if (tmp___24) {
        return (1);
      }
      the_index.updated_skipworktree = 1U;
      if (! quiet___7) {
        tmp___29 = get_git_work_tree();
        if (tmp___29) {
          t_begin = getnanotime();
          tmp___25 = _((char const   *)"Unstaged changes after reset:");
          refresh_index(& the_index, (unsigned int )flags___0, (struct pathspec  const  *)((void *)0),
                        (char *)((void *)0), (char const   *)tmp___25);
          tmp___26 = getnanotime();
          t_delta_in_ms = (tmp___26 - t_begin) / 1000000UL;
          tmp___28 = advice_enabled((enum advice_type )22);
          if (tmp___28) {
            if (t_delta_in_ms > 2000UL) {
              tmp___27 = _((char const   *)"\nIt took %.2f seconds to enumerate unstaged changes after reset.  You can\nuse \'--quiet\' to avoid this.  Set the config setting reset.quiet to true\nto make this the default.\n");
              printf((char const   *)tmp___27, (double )t_delta_in_ms / 1000.0);
            }
          }
        }
      }
    } else {
      ref = (char *)((void *)0);
      tmp___30 = strlen(rev);
      dwim_ref(rev, (int )tmp___30, & dummy___0, & ref, 0);
      if (ref) {
        tmp___31 = starts_with((char const   *)ref, (char const   *)"refs/");
        if (! tmp___31) {
          {
          while (1) {
            while_continue: /* CIL Label */ ;
            free((void *)ref);
            ref = (char *)((void *)0);
            goto while_break;
          }
          while_break: /* CIL Label */ ;
          }
        }
      }
      err___4 = reset_index((char const   *)ref, (struct object_id  const  *)(& oid),
                            reset_type, quiet___7);
      if (reset_type == 4) {
        if (! err___4) {
          err___4 = reset_index((char const   *)ref, (struct object_id  const  *)(& oid),
                                0, quiet___7);
        }
      }
      if (err___4) {
        tmp___32 = _((char const   *)"Could not reset index file to revision \'%s\'.");
        die((char const   *)tmp___32, rev);
      }
      free((void *)ref);
    }
    tmp___34 = write_locked_index(& the_index, & lock___0, 1U);
    if (tmp___34) {
      tmp___33 = _((char const   *)"Could not write new index file.");
      die((char const   *)tmp___33);
    }
  }
  if (! pathspec___1.nr) {
    if (! unborn) {
      update_ref_status = reset_refs(rev, (struct object_id  const  *)(& oid));
      if (reset_type == 2) {
        if (! update_ref_status) {
          if (! quiet___7) {
            tmp___35 = lookup_commit_reference(the_repository, (struct object_id  const  *)(& oid));
            print_new_head_line(tmp___35);
          }
        }
      }
    }
  }
  if (! pathspec___1.nr) {
    remove_branch_state(the_repository, 0);
  }
  return (update_ref_status);
}
}
static char const   BITMAP_IDX_SIGNATURE___6[4] ;
static double const   __ac_HASH_UPPER___153  =    (double const   )0.77;
__inline static void kh_resize_oid_set___153(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___153(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___153 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___153 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___153(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___153(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___153(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___153(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___153(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___153(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___153 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___153 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___153(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___153(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___153(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___153(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___153(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___153(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___153 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___153 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___153(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___153(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___153(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___153(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___113(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___113(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___153 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___153 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___113(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___113(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___113(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___113(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   BITMAP_IDX_SIGNATURE___6[4]  = {      (char const   )'B',      (char const   )'I',      (char const   )'T',      (char const   )'M'};
static char const   rev_list_usage[702]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'v',      (char const   )'-',
        (char const   )'l',      (char const   )'i',      (char const   )'s',      (char const   )'t',
        (char const   )' ',      (char const   )'[',      (char const   )'O',      (char const   )'P',
        (char const   )'T',      (char const   )'I',      (char const   )'O',      (char const   )'N',
        (char const   )']',      (char const   )' ',      (char const   )'<',      (char const   )'c',
        (char const   )'o',      (char const   )'m',      (char const   )'m',      (char const   )'i',
        (char const   )'t',      (char const   )'-',      (char const   )'i',      (char const   )'d',
        (char const   )'>',      (char const   )'.',      (char const   )'.',      (char const   )'.',
        (char const   )' ',      (char const   )'[',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )' ',      (char const   )'p',      (char const   )'a',
        (char const   )'t',      (char const   )'h',      (char const   )'s',      (char const   )'.',
        (char const   )'.',      (char const   )'.',      (char const   )' ',      (char const   )']',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )'l',
        (char const   )'i',      (char const   )'m',      (char const   )'i',      (char const   )'t',
        (char const   )'i',      (char const   )'n',      (char const   )'g',      (char const   )' ',
        (char const   )'o',      (char const   )'u',      (char const   )'t',      (char const   )'p',
        (char const   )'u',      (char const   )'t',      (char const   )':',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'m',      (char const   )'a',
        (char const   )'x',      (char const   )'-',      (char const   )'c',      (char const   )'o',
        (char const   )'u',      (char const   )'n',      (char const   )'t',      (char const   )'=',
        (char const   )'<',      (char const   )'n',      (char const   )'>',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'m',      (char const   )'a',
        (char const   )'x',      (char const   )'-',      (char const   )'a',      (char const   )'g',
        (char const   )'e',      (char const   )'=',      (char const   )'<',      (char const   )'e',
        (char const   )'p',      (char const   )'o',      (char const   )'c',      (char const   )'h',
        (char const   )'>',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'m',      (char const   )'i',      (char const   )'n',      (char const   )'-',
        (char const   )'a',      (char const   )'g',      (char const   )'e',      (char const   )'=',
        (char const   )'<',      (char const   )'e',      (char const   )'p',      (char const   )'o',
        (char const   )'c',      (char const   )'h',      (char const   )'>',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'s',      (char const   )'p',
        (char const   )'a',      (char const   )'r',      (char const   )'s',      (char const   )'e',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'n',
        (char const   )'o',      (char const   )'-',      (char const   )'m',      (char const   )'e',
        (char const   )'r',      (char const   )'g',      (char const   )'e',      (char const   )'s',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'m',
        (char const   )'i',      (char const   )'n',      (char const   )'-',      (char const   )'p',
        (char const   )'a',      (char const   )'r',      (char const   )'e',      (char const   )'n',
        (char const   )'t',      (char const   )'s',      (char const   )'=',      (char const   )'<',
        (char const   )'n',      (char const   )'>',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'n',      (char const   )'o',      (char const   )'-',
        (char const   )'m',      (char const   )'i',      (char const   )'n',      (char const   )'-',
        (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'e',
        (char const   )'n',      (char const   )'t',      (char const   )'s',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'m',      (char const   )'a',
        (char const   )'x',      (char const   )'-',      (char const   )'p',      (char const   )'a',
        (char const   )'r',      (char const   )'e',      (char const   )'n',      (char const   )'t',
        (char const   )'s',      (char const   )'=',      (char const   )'<',      (char const   )'n',
        (char const   )'>',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'n',      (char const   )'o',      (char const   )'-',      (char const   )'m',
        (char const   )'a',      (char const   )'x',      (char const   )'-',      (char const   )'p',
        (char const   )'a',      (char const   )'r',      (char const   )'e',      (char const   )'n',
        (char const   )'t',      (char const   )'s',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'r',      (char const   )'e',      (char const   )'m',
        (char const   )'o',      (char const   )'v',      (char const   )'e',      (char const   )'-',
        (char const   )'e',      (char const   )'m',      (char const   )'p',      (char const   )'t',
        (char const   )'y',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'a',      (char const   )'l',      (char const   )'l',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'b',      (char const   )'r',
        (char const   )'a',      (char const   )'n',      (char const   )'c',      (char const   )'h',
        (char const   )'e',      (char const   )'s',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'t',      (char const   )'a',      (char const   )'g',
        (char const   )'s',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'r',      (char const   )'e',      (char const   )'m',      (char const   )'o',
        (char const   )'t',      (char const   )'e',      (char const   )'s',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'s',      (char const   )'t',
        (char const   )'d',      (char const   )'i',      (char const   )'n',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'q',      (char const   )'u',
        (char const   )'i',      (char const   )'e',      (char const   )'t',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )'o',      (char const   )'r',
        (char const   )'d',      (char const   )'e',      (char const   )'r',      (char const   )'i',
        (char const   )'n',      (char const   )'g',      (char const   )' ',      (char const   )'o',
        (char const   )'u',      (char const   )'t',      (char const   )'p',      (char const   )'u',
        (char const   )'t',      (char const   )':',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'t',      (char const   )'o',      (char const   )'p',
        (char const   )'o',      (char const   )'-',      (char const   )'o',      (char const   )'r',
        (char const   )'d',      (char const   )'e',      (char const   )'r',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'d',      (char const   )'a',
        (char const   )'t',      (char const   )'e',      (char const   )'-',      (char const   )'o',
        (char const   )'r',      (char const   )'d',      (char const   )'e',      (char const   )'r',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'r',
        (char const   )'e',      (char const   )'v',      (char const   )'e',      (char const   )'r',
        (char const   )'s',      (char const   )'e',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'f',      (char const   )'o',      (char const   )'r',
        (char const   )'m',      (char const   )'a',      (char const   )'t',      (char const   )'t',
        (char const   )'i',      (char const   )'n',      (char const   )'g',      (char const   )' ',
        (char const   )'o',      (char const   )'u',      (char const   )'t',      (char const   )'p',
        (char const   )'u',      (char const   )'t',      (char const   )':',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'p',      (char const   )'a',
        (char const   )'r',      (char const   )'e',      (char const   )'n',      (char const   )'t',
        (char const   )'s',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'c',      (char const   )'h',      (char const   )'i',      (char const   )'l',
        (char const   )'d',      (char const   )'r',      (char const   )'e',      (char const   )'n',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'o',
        (char const   )'b',      (char const   )'j',      (char const   )'e',      (char const   )'c',
        (char const   )'t',      (char const   )'s',      (char const   )' ',      (char const   )'|',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'o',
        (char const   )'b',      (char const   )'j',      (char const   )'e',      (char const   )'c',
        (char const   )'t',      (char const   )'s',      (char const   )'-',      (char const   )'e',
        (char const   )'d',      (char const   )'g',      (char const   )'e',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )'-',      (char const   )'-',      (char const   )'u',      (char const   )'n',
        (char const   )'p',      (char const   )'a',      (char const   )'c',      (char const   )'k',
        (char const   )'e',      (char const   )'d',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'h',      (char const   )'e',      (char const   )'a',
        (char const   )'d',      (char const   )'e',      (char const   )'r',      (char const   )' ',
        (char const   )'|',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'p',      (char const   )'r',      (char const   )'e',      (char const   )'t',
        (char const   )'t',      (char const   )'y',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'[',      (char const   )'n',      (char const   )'o',
        (char const   )'-',      (char const   )']',      (char const   )'o',      (char const   )'b',
        (char const   )'j',      (char const   )'e',      (char const   )'c',      (char const   )'t',
        (char const   )'-',      (char const   )'n',      (char const   )'a',      (char const   )'m',
        (char const   )'e',      (char const   )'s',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'a',      (char const   )'b',      (char const   )'b',
        (char const   )'r',      (char const   )'e',      (char const   )'v',      (char const   )'=',
        (char const   )'<',      (char const   )'n',      (char const   )'>',      (char const   )' ',
        (char const   )'|',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'n',      (char const   )'o',      (char const   )'-',      (char const   )'a',
        (char const   )'b',      (char const   )'b',      (char const   )'r',      (char const   )'e',
        (char const   )'v',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'a',      (char const   )'b',      (char const   )'b',      (char const   )'r',
        (char const   )'e',      (char const   )'v',      (char const   )'-',      (char const   )'c',
        (char const   )'o',      (char const   )'m',      (char const   )'m',      (char const   )'i',
        (char const   )'t',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'l',      (char const   )'e',      (char const   )'f',      (char const   )'t',
        (char const   )'-',      (char const   )'r',      (char const   )'i',      (char const   )'g',
        (char const   )'h',      (char const   )'t',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'c',      (char const   )'o',      (char const   )'u',
        (char const   )'n',      (char const   )'t',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )'s',      (char const   )'p',      (char const   )'e',
        (char const   )'c',      (char const   )'i',      (char const   )'a',      (char const   )'l',
        (char const   )' ',      (char const   )'p',      (char const   )'u',      (char const   )'r',
        (char const   )'p',      (char const   )'o',      (char const   )'s',      (char const   )'e',
        (char const   )':',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'b',      (char const   )'i',      (char const   )'s',      (char const   )'e',
        (char const   )'c',      (char const   )'t',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'b',      (char const   )'i',      (char const   )'s',
        (char const   )'e',      (char const   )'c',      (char const   )'t',      (char const   )'-',
        (char const   )'v',      (char const   )'a',      (char const   )'r',      (char const   )'s',
        (char const   )'\n',      (char const   )' ',      (char const   )' ',      (char const   )' ',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'b',
        (char const   )'i',      (char const   )'s',      (char const   )'e',      (char const   )'c',
        (char const   )'t',      (char const   )'-',      (char const   )'a',      (char const   )'l',
        (char const   )'l',      (char const   )'\000'};
static struct progress *progress___5  ;
static unsigned int progress_counter  ;
static struct list_objects_filter_options filter_options___2  ;
static struct oidset omitted_objects  ;
static int arg_print_omitted  ;
static struct oidset missing_objects  ;
static int arg_missing_action___0  ;
static int arg_show_object_names  =    1;
static int show_disk_usage  ;
static off_t total_disk_usage  ;
static off_t get_object_disk_usage(struct object *obj )
{
  off_t size ;
  struct object_info oi___0 ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  oi___0.typep = (enum object_type *)0;
  oi___0.sizep = (unsigned long *)0;
  oi___0.disk_sizep = (off_t *)0;
  oi___0.delta_base_oid = (struct object_id *)0;
  oi___0.type_name = (struct strbuf *)0;
  oi___0.contentp = (void **)0;
  oi___0.whence = 0U;
  oi___0.u.packed.pack = (struct packed_git *)0;
  oi___0.u.packed.offset = 0L;
  oi___0.u.packed.is_delta = 0U;
  oi___0.disk_sizep = & size;
  tmp___1 = oid_object_info_extended(the_repository, (struct object_id  const  *)(& obj->oid),
                                     & oi___0, 0U);
  if (tmp___1 < 0) {
    tmp = oid_to_hex((struct object_id  const  *)(& obj->oid));
    tmp___0 = _((char const   *)"unable to get disk usage of %s");
    die((char const   *)tmp___0, tmp);
  }
  return (size);
}
}
static void finish_commit(struct commit *commit ) ;
static void show_commit___2(struct commit *commit , void *data )
{
  struct rev_list_info *info___0 ;
  struct rev_info *revs ;
  off_t tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char *tmp___2 ;
  struct commit_list *parents ;
  char *tmp___3 ;
  struct commit_list *children ;
  void *tmp___4 ;
  char *tmp___5 ;
  struct strbuf buf___19 ;
  struct pretty_print_context ctx___0 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  info___0 = (struct rev_list_info *)data;
  revs = info___0->revs;
  progress_counter ++;
  display_progress(progress___5, (uint64_t )progress_counter);
  if (show_disk_usage) {
    tmp = get_object_disk_usage(& commit->object);
    total_disk_usage += tmp;
  }
  if (info___0->flags & (1 << 1)) {
    finish_commit(commit);
    return;
  }
  graph_show_commit(revs->graph);
  if (revs->count) {
    if (commit->object.flags & (1u << 9)) {
      (revs->count_same) ++;
    } else
    if (commit->object.flags & (1u << 8)) {
      (revs->count_left) ++;
    } else {
      (revs->count_right) ++;
    }
    finish_commit(commit);
    return;
  }
  if (info___0->show_timestamp) {
    printf((char const   *)"%lu ", commit->date);
  }
  if (info___0->header_prefix) {
    fputs((char const   * __restrict  )info___0->header_prefix, (FILE * __restrict  )stdout);
  }
  if (revs->include_header) {
    if (! revs->graph) {
      tmp___0 = get_revision_mark((struct rev_info  const  *)revs, (struct commit  const  *)commit);
      fputs((char const   * __restrict  )tmp___0, (FILE * __restrict  )stdout);
    }
    if (revs->abbrev_commit) {
      if (revs->abbrev) {
        tmp___1 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& commit->object.oid),
                                          (int )revs->abbrev);
        fputs((char const   * __restrict  )tmp___1, (FILE * __restrict  )stdout);
      } else {
        tmp___2 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
        fputs((char const   * __restrict  )tmp___2, (FILE * __restrict  )stdout);
      }
    } else {
      tmp___2 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
      fputs((char const   * __restrict  )tmp___2, (FILE * __restrict  )stdout);
    }
  }
  if (revs->print_parents) {
    parents = commit->parents;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! parents) {
        goto while_break;
      }
      tmp___3 = oid_to_hex((struct object_id  const  *)(& (parents->item)->object.oid));
      printf((char const   *)" %s", tmp___3);
      parents = parents->next;
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (revs->children.name) {
    tmp___4 = lookup_decoration(& revs->children, (struct object  const  *)(& commit->object));
    children = (struct commit_list *)tmp___4;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! children) {
        goto while_break___0;
      }
      tmp___5 = oid_to_hex((struct object_id  const  *)(& (children->item)->object.oid));
      printf((char const   *)" %s", tmp___5);
      children = children->next;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  show_decorations(revs, commit);
  if ((unsigned int )revs->commit_format == 5U) {
    putchar(' ');
  } else
  if (revs->include_header) {
    putchar('\n');
  }
  if (revs->verbose_header) {
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    ctx___0.fmt = (enum cmit_fmt )0;
    ctx___0.abbrev = 0;
    ctx___0.after_subject = (char const   *)0;
    ctx___0.preserve_subject = 0;
    ctx___0.date_mode.type = 0U;
    ctx___0.date_mode.strftime_fmt = (char const   *)0;
    ctx___0.date_mode.local = 0;
    ctx___0.date_mode_explicit = 0U;
    ctx___0.print_email_subject = 0;
    ctx___0.expand_tabs_in_log = 0;
    ctx___0.need_8bit_cte = 0;
    ctx___0.notes_message = (char *)0;
    ctx___0.reflog_info = (struct reflog_walk_info *)0;
    ctx___0.rev = (struct rev_info *)0;
    ctx___0.output_encoding = (char const   *)0;
    ctx___0.mailmap = (struct string_list *)0;
    ctx___0.color = 0;
    ctx___0.from_ident = (struct ident_split *)0;
    ctx___0.encode_email_headers = 0U;
    ctx___0.describe_status = (struct pretty_print_describe_status *)0;
    ctx___0.in_body_headers.items = (struct string_list_item *)0;
    ctx___0.in_body_headers.nr = 0U;
    ctx___0.in_body_headers.alloc = 0U;
    ctx___0.in_body_headers.strdup_strings = 0U;
    ctx___0.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
    ctx___0.graph_width = 0;
    ctx___0.abbrev = (int )revs->abbrev;
    ctx___0.date_mode = revs->date_mode;
    ctx___0.date_mode_explicit = revs->date_mode_explicit;
    ctx___0.fmt = revs->commit_format;
    ctx___0.output_encoding = get_log_output_encoding();
    ctx___0.color = revs->diffopt.use_color;
    pretty_print_commit(& ctx___0, (struct commit  const  *)commit, & buf___19);
    if (buf___19.len) {
      if ((unsigned int )revs->commit_format != 5U) {
        graph_show_oneline(revs->graph);
      }
      graph_show_commit_msg(revs->graph, stdout, (struct strbuf  const  *)(& buf___19));
      if (buf___19.len) {
        if ((int )*(buf___19.buf + (buf___19.len - 1UL)) == 10) {
          graph_show_padding(revs->graph);
        }
      }
      putchar(info___0->hdr_termination);
    } else {
      tmp___6 = graph_show_remainder(revs->graph);
      if (tmp___6) {
        putchar('\n');
      }
      if ((unsigned int )revs->commit_format == 5U) {
        putchar('\n');
      }
    }
    strbuf_release(& buf___19);
  } else {
    tmp___7 = graph_show_remainder(revs->graph);
    if (tmp___7) {
      putchar('\n');
    }
  }
  maybe_flush_or_die(stdout, (char const   *)"stdout");
  finish_commit(commit);
  return;
}
}
static void finish_commit(struct commit *commit )
{


  {
  if (commit->parents) {
    free_commit_list(commit->parents);
    commit->parents = (struct commit_list *)((void *)0);
  }
  free_commit_buffer(the_repository->parsed_objects, commit);
  return;
}
}
__inline static void finish_object__ma(struct object *obj )
{
  char *tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  char const   *tmp___3 ;

  {
  {
  if ((unsigned int )arg_missing_action___0 == 0U) {
    goto case_0;
  }
  if ((unsigned int )arg_missing_action___0 == 1U) {
    goto case_1;
  }
  if ((unsigned int )arg_missing_action___0 == 2U) {
    goto case_2;
  }
  if ((unsigned int )arg_missing_action___0 == 3U) {
    goto case_3;
  }
  goto switch_default;
  case_0: /* CIL Label */
  tmp = oid_to_hex((struct object_id  const  *)(& obj->oid));
  tmp___0 = type_name(obj->type);
  die((char const   *)"missing %s object \'%s\'", tmp___0, tmp);
  return;
  case_1: /* CIL Label */
  return;
  case_2: /* CIL Label */
  oidset_insert(& missing_objects, (struct object_id  const  *)(& obj->oid));
  return;
  case_3: /* CIL Label */
  tmp___1 = is_promisor_object((struct object_id  const  *)(& obj->oid));
  if (tmp___1) {
    return;
  }
  tmp___2 = oid_to_hex((struct object_id  const  *)(& obj->oid));
  tmp___3 = type_name(obj->type);
  die((char const   *)"unexpected missing %s object \'%s\'", tmp___3, tmp___2);
  return;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"builtin/rev-list.c", 254, (char const   *)"unhandled missing_action");
  return;
  switch_break: /* CIL Label */ ;
  }
}
}
static int finish_object(struct object *obj , char const   *name___0 , void *cb_data )
{
  struct rev_list_info *info___0 ;
  int tmp ;

  {
  info___0 = (struct rev_list_info *)cb_data;
  tmp = oid_object_info_extended(the_repository, (struct object_id  const  *)(& obj->oid),
                                 (struct object_info *)((void *)0), 0U);
  if (tmp < 0) {
    finish_object__ma(obj);
    return (1);
  }
  if ((info___0->revs)->verify_objects) {
    if (! obj->parsed) {
      if (obj->type != 1U) {
        parse_object(the_repository, (struct object_id  const  *)(& obj->oid));
      }
    }
  }
  return (0);
}
}
static void show_object___1(struct object *obj , char const   *name___0 , void *cb_data )
{
  struct rev_list_info *info___0 ;
  struct rev_info *revs ;
  int tmp ;
  off_t tmp___0 ;
  char *tmp___1 ;

  {
  info___0 = (struct rev_list_info *)cb_data;
  revs = info___0->revs;
  tmp = finish_object(obj, name___0, cb_data);
  if (tmp) {
    return;
  }
  progress_counter ++;
  display_progress(progress___5, (uint64_t )progress_counter);
  if (show_disk_usage) {
    tmp___0 = get_object_disk_usage(obj);
    total_disk_usage += tmp___0;
  }
  if (info___0->flags & (1 << 1)) {
    return;
  }
  if (revs->count) {
    (revs->count_right) ++;
    return;
  }
  if (arg_show_object_names) {
    show_object_with_name(stdout, obj, name___0);
  } else {
    tmp___1 = oid_to_hex((struct object_id  const  *)(& obj->oid));
    printf((char const   *)"%s\n", tmp___1);
  }
  return;
}
}
static void show_edge___0(struct commit *commit )
{
  char *tmp ;

  {
  tmp = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
  printf((char const   *)"-%s\n", tmp);
  return;
}
}
static void print_var_str(char const   *var , char const   *val )
{


  {
  printf((char const   *)"%s=\'%s\'\n", var, val);
  return;
}
}
static void print_var_int(char const   *var , int val )
{


  {
  printf((char const   *)"%s=%d\n", var, val);
  return;
}
}
static int show_bisect_vars(struct rev_list_info *info___0 , int reaches , int all___2 )
{
  int cnt ;
  int flags___0 ;
  char hex___3[65] ;
  unsigned int tmp ;
  struct commit_list *tried ;
  struct rev_info *revs ;
  int tmp___0 ;

  {
  flags___0 = info___0->flags;
  hex___3[0] = (char )'\000';
  tmp = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 65U) {
      goto while_break;
    }
    hex___3[tmp] = (char)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  revs = info___0->revs;
  if (! revs->commits) {
    return (1);
  }
  revs->commits = filter_skipped(revs->commits, & tried, flags___0 & 1, (int *)((void *)0),
                                 (int *)((void *)0));
  cnt = all___2 - reaches;
  if (cnt < reaches) {
    cnt = reaches;
  }
  if (revs->commits) {
    oid_to_hex_r(hex___3, (struct object_id  const  *)(& ((revs->commits)->item)->object.oid));
  }
  if (flags___0 & 1) {
    traverse_commit_list(revs, & show_commit___2, & show_object___1, (void *)info___0);
    printf((char const   *)"------\n");
  }
  print_var_str((char const   *)"bisect_rev", (char const   *)(hex___3));
  print_var_int((char const   *)"bisect_nr", cnt - 1);
  print_var_int((char const   *)"bisect_good", (all___2 - reaches) - 1);
  print_var_int((char const   *)"bisect_bad", reaches - 1);
  print_var_int((char const   *)"bisect_all", all___2);
  tmp___0 = estimate_bisect_steps(all___2);
  print_var_int((char const   *)"bisect_steps", tmp___0);
  return (0);
}
}
static int show_object_fast(struct object_id  const  *oid , enum object_type type___0 ,
                            int exclude , uint32_t name_hash , struct packed_git *found_pack ,
                            off_t found_offset )
{
  char *tmp ;

  {
  tmp = oid_to_hex(oid);
  fprintf(stdout, (char const   *)"%s\n", tmp);
  return (1);
}
}
__inline static int parse_missing_action_value(char const   *value )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = strcmp(value, (char const   *)"error");
  if (! tmp) {
    arg_missing_action___0 = (int )0;
    return (1);
  }
  tmp___0 = strcmp(value, (char const   *)"allow-any");
  if (! tmp___0) {
    arg_missing_action___0 = (int )1;
    fetch_if_missing = 0;
    return (1);
  }
  tmp___1 = strcmp(value, (char const   *)"print");
  if (! tmp___1) {
    arg_missing_action___0 = (int )2;
    fetch_if_missing = 0;
    return (1);
  }
  tmp___2 = strcmp(value, (char const   *)"allow-promisor");
  if (! tmp___2) {
    arg_missing_action___0 = (int )3;
    fetch_if_missing = 0;
    return (1);
  }
  return (0);
}
}
static int try_bitmap_count(struct rev_info *revs , struct list_objects_filter_options *filter___0 ,
                            int filter_provided_objects )
{
  uint32_t commit_count ;
  uint32_t tag_count ;
  uint32_t tree_count ;
  uint32_t blob_count ;
  int max_count ;
  struct bitmap_index *bitmap_git___0 ;
  uint32_t *tmp ;
  uint32_t *tmp___0 ;
  uint32_t *tmp___1 ;

  {
  commit_count = (uint32_t )0;
  tag_count = (uint32_t )0;
  tree_count = (uint32_t )0;
  blob_count = (uint32_t )0;
  if (! revs->count) {
    return (-1);
  }
  if (revs->left_right) {
    return (-1);
  } else
  if (revs->cherry_mark) {
    return (-1);
  }
  if (revs->max_count >= 0) {
    if (revs->tag_objects) {
      return (-1);
    } else
    if (revs->tree_objects) {
      return (-1);
    } else
    if (revs->blob_objects) {
      return (-1);
    }
  }
  max_count = revs->max_count;
  bitmap_git___0 = prepare_bitmap_walk(revs, filter___0, filter_provided_objects);
  if (! bitmap_git___0) {
    return (-1);
  }
  if (revs->tag_objects) {
    tmp = & tag_count;
  } else {
    tmp = (uint32_t *)((void *)0);
  }
  if (revs->blob_objects) {
    tmp___0 = & blob_count;
  } else {
    tmp___0 = (uint32_t *)((void *)0);
  }
  if (revs->tree_objects) {
    tmp___1 = & tree_count;
  } else {
    tmp___1 = (uint32_t *)((void *)0);
  }
  count_bitmap_commit_list(bitmap_git___0, & commit_count, tmp___1, tmp___0, tmp);
  if (max_count >= 0) {
    if ((uint32_t )max_count < commit_count) {
      commit_count = (uint32_t )max_count;
    }
  }
  printf((char const   *)"%d\n", ((commit_count + tree_count) + blob_count) + tag_count);
  free_bitmap_index(bitmap_git___0);
  return (0);
}
}
static int try_bitmap_traversal(struct rev_info *revs , struct list_objects_filter_options *filter___0 ,
                                int filter_provided_objects )
{
  struct bitmap_index *bitmap_git___0 ;

  {
  if (revs->max_count >= 0) {
    return (-1);
  }
  bitmap_git___0 = prepare_bitmap_walk(revs, filter___0, filter_provided_objects);
  if (! bitmap_git___0) {
    return (-1);
  }
  traverse_bitmap_commit_list(bitmap_git___0, revs, & show_object_fast);
  free_bitmap_index(bitmap_git___0);
  return (0);
}
}
static int try_bitmap_disk_usage(struct rev_info *revs , struct list_objects_filter_options *filter___0 ,
                                 int filter_provided_objects )
{
  struct bitmap_index *bitmap_git___0 ;
  off_t tmp ;

  {
  if (! show_disk_usage) {
    return (-1);
  }
  bitmap_git___0 = prepare_bitmap_walk(revs, filter___0, filter_provided_objects);
  if (! bitmap_git___0) {
    return (-1);
  }
  tmp = get_disk_usage_from_bitmap(bitmap_git___0, revs);
  printf((char const   *)"%lu\n", (uintmax_t )tmp);
  return (0);
}
}
int cmd_rev_list(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct rev_info revs ;
  struct rev_list_info info___0 ;
  struct setup_revision_opt s_r_opt ;
  int i ;
  int bisect_list ;
  int bisect_show_vars ;
  int bisect_find_all ;
  int use_bitmap_index___0 ;
  int filter_provided_objects ;
  char const   *show_progress___4 ;
  int tmp ;
  char const   *arg ;
  int tmp___0 ;
  char const   *arg___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const   *arg___1 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  char const __attribute__((__format_arg__(1)))  *tmp___25 ;
  char const __attribute__((__format_arg__(1)))  *tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;
  int tmp___30 ;
  int tmp___31 ;
  int reaches ;
  int all___2 ;
  unsigned int bisect_flags ;
  int tmp___32 ;
  struct commit_list *c___0 ;
  struct object_array_entry *pending___0 ;
  struct oidset *tmp___33 ;
  struct oidset_iter iter___0 ;
  struct object_id *oid ;
  char *tmp___34 ;
  struct oidset_iter iter___1 ;
  struct object_id *oid___0 ;
  char *tmp___35 ;

  {
  s_r_opt.def = (char const   *)0;
  s_r_opt.tweak = (void (*)(struct rev_info * , struct setup_revision_opt * ))0;
  s_r_opt.assume_dashdash = 0U;
  s_r_opt.allow_exclude_promisor_objects = 1U;
  s_r_opt.revarg_opt = 0U;
  bisect_list = 0;
  bisect_show_vars = 0;
  bisect_find_all = 0;
  use_bitmap_index___0 = 0;
  filter_provided_objects = 0;
  show_progress___4 = (char const   *)((void *)0);
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage(rev_list_usage);
    }
  }
  git_config(& git_default_config, (void *)0);
  repo_init_revisions(the_repository, & revs, prefix___1);
  revs.abbrev = (unsigned int )default_abbrev;
  revs.commit_format = (enum cmit_fmt )9;
  revs.include_header = 1U;
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    arg = *(argv___0 + i);
    tmp___0 = strcmp(arg, (char const   *)"--exclude-promisor-objects");
    if (! tmp___0) {
      fetch_if_missing = 0;
      revs.exclude_promisor_objects = 1U;
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break___0;
    }
    arg___0 = *(argv___0 + i);
    tmp___3 = skip_prefix(arg___0, (char const   *)"--missing=", & arg___0);
    if (tmp___3) {
      if (revs.exclude_promisor_objects) {
        tmp___1 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
        die((char const   *)tmp___1, "--exclude-promisor-objects", "--missing");
      }
      tmp___2 = parse_missing_action_value(arg___0);
      if (tmp___2) {
        goto while_break___0;
      }
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (arg_missing_action___0) {
    revs.do_not_die_on_missing_tree = 1U;
  }
  argc = setup_revisions(argc, argv___0, & revs, & s_r_opt);
  memset((void *)(& info___0), 0, sizeof(info___0));
  info___0.revs = & revs;
  if (revs.bisect) {
    bisect_list = 1;
  }
  if (revs.diffopt.flags.quick) {
    info___0.flags |= 1 << 1;
  }
  i = 1;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break___1;
    }
    arg___1 = *(argv___0 + i);
    tmp___4 = strcmp(arg___1, (char const   *)"--header");
    if (! tmp___4) {
      revs.verbose_header = 1U;
      goto __Cont;
    }
    tmp___5 = strcmp(arg___1, (char const   *)"--timestamp");
    if (! tmp___5) {
      info___0.show_timestamp = 1;
      goto __Cont;
    }
    tmp___6 = strcmp(arg___1, (char const   *)"--bisect");
    if (! tmp___6) {
      bisect_list = 1;
      goto __Cont;
    }
    tmp___7 = strcmp(arg___1, (char const   *)"--bisect-all");
    if (! tmp___7) {
      bisect_list = 1;
      bisect_find_all = 1;
      info___0.flags |= 1;
      revs.show_decorations = 1U;
      goto __Cont;
    }
    tmp___8 = strcmp(arg___1, (char const   *)"--bisect-vars");
    if (! tmp___8) {
      bisect_list = 1;
      bisect_show_vars = 1;
      goto __Cont;
    }
    tmp___9 = strcmp(arg___1, (char const   *)"--use-bitmap-index");
    if (! tmp___9) {
      use_bitmap_index___0 = 1;
      goto __Cont;
    }
    tmp___10 = strcmp(arg___1, (char const   *)"--test-bitmap");
    if (! tmp___10) {
      test_bitmap_walk(& revs);
      return (0);
    }
    tmp___11 = skip_prefix(arg___1, (char const   *)"--progress=", & arg___1);
    if (tmp___11) {
      show_progress___4 = arg___1;
      goto __Cont;
    }
    tmp___13 = skip_prefix(arg___1, (char const   *)"--filter=", & arg___1);
    if (tmp___13) {
      parse_list_objects_filter(& filter_options___2, arg___1);
      if (filter_options___2.choice) {
        if (! revs.blob_objects) {
          tmp___12 = _((char const   *)"object filtering requires --objects");
          die((char const   *)tmp___12);
        }
      }
      goto __Cont;
    }
    tmp___14 = strcmp(arg___1, (char const   *)"--no-filter");
    if (! tmp___14) {
      list_objects_filter_set_no_filter(& filter_options___2);
      goto __Cont;
    }
    tmp___15 = strcmp(arg___1, (char const   *)"--filter-provided-objects");
    if (! tmp___15) {
      filter_provided_objects = 1;
      goto __Cont;
    }
    tmp___16 = strcmp(arg___1, (char const   *)"--filter-print-omitted");
    if (! tmp___16) {
      arg_print_omitted = 1;
      goto __Cont;
    }
    tmp___17 = strcmp(arg___1, (char const   *)"--exclude-promisor-objects");
    if (! tmp___17) {
      goto __Cont;
    }
    tmp___18 = skip_prefix(arg___1, (char const   *)"--missing=", & arg___1);
    if (tmp___18) {
      goto __Cont;
    }
    tmp___19 = strcmp(arg___1, (char const   *)"--no-object-names");
    if (! tmp___19) {
      arg_show_object_names = 0;
      goto __Cont;
    }
    tmp___20 = strcmp(arg___1, (char const   *)"--object-names");
    if (! tmp___20) {
      arg_show_object_names = 1;
      goto __Cont;
    }
    tmp___21 = strcmp(arg___1, (char const   *)"--commit-header");
    if (! tmp___21) {
      revs.include_header = 1U;
      goto __Cont;
    }
    tmp___22 = strcmp(arg___1, (char const   *)"--no-commit-header");
    if (! tmp___22) {
      revs.include_header = 0U;
      goto __Cont;
    }
    tmp___23 = strcmp(arg___1, (char const   *)"--disk-usage");
    if (! tmp___23) {
      show_disk_usage = 1;
      info___0.flags |= 1 << 1;
      goto __Cont;
    }
    usage(rev_list_usage);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  if ((unsigned int )revs.commit_format != 8U) {
    revs.include_header = 1U;
  }
  if ((unsigned int )revs.commit_format != 9U) {
    info___0.hdr_termination = '\n';
    if ((unsigned int )revs.commit_format == 5U) {
      info___0.header_prefix = (char const   *)"";
    } else
    if (! revs.include_header) {
      info___0.header_prefix = (char const   *)"";
    } else {
      info___0.header_prefix = (char const   *)"commit ";
    }
  } else
  if (revs.verbose_header) {
    revs.commit_format = (enum cmit_fmt )0;
  }
  if (! revs.commits) {
    tmp___24 = reflog_walk_empty(revs.reflog_info);
    if (tmp___24) {
      if (revs.tag_objects) {
        goto _L___2;
      } else
      if (revs.tree_objects) {
        goto _L___2;
      } else
      if (revs.blob_objects) {
        goto _L___2;
      } else
      if (! revs.pending.nr) {
        if (! revs.rev_input_given) {
          if (! revs.read_from_stdin) {
            usage(rev_list_usage);
          } else {
            goto _L___2;
          }
        } else {
          goto _L___2;
        }
      } else {
        goto _L___2;
      }
    } else {
      goto _L___2;
    }
  } else
  _L___2: /* CIL Label */
  _L___1: /* CIL Label */
  _L___0: /* CIL Label */
  _L: /* CIL Label */
  if (revs.diff) {
    usage(rev_list_usage);
  }
  if (revs.show_notes) {
    tmp___25 = _((char const   *)"rev-list does not support display of notes");
    die((char const   *)tmp___25);
  }
  if (revs.count) {
    if (revs.tag_objects) {
      goto _L___3;
    } else
    if (revs.tree_objects) {
      goto _L___3;
    } else
    if (revs.blob_objects) {
      _L___3: /* CIL Label */
      if (revs.left_right) {
        tmp___26 = _((char const   *)"marked counting and \'%s\' cannot be used together");
        die((char const   *)tmp___26, "--objects");
      } else
      if (revs.cherry_mark) {
        tmp___26 = _((char const   *)"marked counting and \'%s\' cannot be used together");
        die((char const   *)tmp___26, "--objects");
      }
    }
  }
  if (revs.verbose_header) {
    tmp___27 = 1;
  } else
  if (revs.grep_filter.pattern_list) {
    tmp___27 = 1;
  } else
  if (revs.grep_filter.header_list) {
    tmp___27 = 1;
  } else {
    tmp___27 = 0;
  }
  save_commit_buffer = tmp___27;
  if (bisect_list) {
    revs.limited = 1U;
  }
  if (show_progress___4) {
    progress___5 = start_delayed_progress(show_progress___4, (uint64_t )0);
  }
  if (use_bitmap_index___0) {
    tmp___28 = try_bitmap_count(& revs, & filter_options___2, filter_provided_objects);
    if (! tmp___28) {
      return (0);
    }
    tmp___29 = try_bitmap_disk_usage(& revs, & filter_options___2, filter_provided_objects);
    if (! tmp___29) {
      return (0);
    }
    tmp___30 = try_bitmap_traversal(& revs, & filter_options___2, filter_provided_objects);
    if (! tmp___30) {
      return (0);
    }
  }
  tmp___31 = prepare_revision_walk(& revs);
  if (tmp___31) {
    die((char const   *)"revision walk setup failed");
  }
  if (revs.tree_objects) {
    mark_edges_uninteresting(& revs, & show_edge___0, 0);
  }
  if (bisect_list) {
    bisect_flags = 0U;
    if (bisect_find_all) {
      bisect_flags |= 1u;
    }
    if (revs.first_parent_only) {
      bisect_flags |= 1u << 1;
    }
    find_bisection(& revs.commits, & reaches, & all___2, bisect_flags);
    if (bisect_show_vars) {
      tmp___32 = show_bisect_vars(& info___0, reaches, all___2);
      return (tmp___32);
    }
  }
  if (filter_provided_objects) {
    i = 0;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! ((unsigned int )i < revs.pending.nr)) {
        goto while_break___2;
      }
      pending___0 = revs.pending.objects + i;
      (pending___0->item)->flags |= 1u << 25;
      i ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    c___0 = revs.commits;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! c___0) {
        goto while_break___3;
      }
      (c___0->item)->object.flags |= 1u << 25;
      c___0 = c___0->next;
    }
    while_break___3: /* CIL Label */ ;
    }
  }
  if (arg_print_omitted) {
    oidset_init(& omitted_objects, (size_t )16384);
  }
  if ((unsigned int )arg_missing_action___0 == 2U) {
    oidset_init(& missing_objects, (size_t )16384);
  }
  if (arg_print_omitted) {
    tmp___33 = & omitted_objects;
  } else {
    tmp___33 = (struct oidset *)((void *)0);
  }
  traverse_commit_list_filtered(& filter_options___2, & revs, & show_commit___2, & show_object___1,
                                (void *)(& info___0), tmp___33);
  if (arg_print_omitted) {
    oidset_iter_init(& omitted_objects, & iter___0);
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      oid = oidset_iter_next(& iter___0);
      if (! oid) {
        goto while_break___4;
      }
      tmp___34 = oid_to_hex((struct object_id  const  *)oid);
      printf((char const   *)"~%s\n", tmp___34);
    }
    while_break___4: /* CIL Label */ ;
    }
    oidset_clear(& omitted_objects);
  }
  if ((unsigned int )arg_missing_action___0 == 2U) {
    oidset_iter_init(& missing_objects, & iter___1);
    {
    while (1) {
      while_continue___5: /* CIL Label */ ;
      oid___0 = oidset_iter_next(& iter___1);
      if (! oid___0) {
        goto while_break___5;
      }
      tmp___35 = oid_to_hex((struct object_id  const  *)oid___0);
      printf((char const   *)"?%s\n", tmp___35);
    }
    while_break___5: /* CIL Label */ ;
    }
    oidset_clear(& missing_objects);
  }
  stop_progress(& progress___5);
  if (revs.count) {
    if (revs.left_right) {
      if (revs.cherry_mark) {
        printf((char const   *)"%d\t%d\t%d\n", revs.count_left, revs.count_right,
               revs.count_same);
      } else {
        goto _L___4;
      }
    } else
    _L___4: /* CIL Label */
    if (revs.left_right) {
      printf((char const   *)"%d\t%d\n", revs.count_left, revs.count_right);
    } else
    if (revs.cherry_mark) {
      printf((char const   *)"%d\t%d\n", revs.count_left + revs.count_right, revs.count_same);
    } else {
      printf((char const   *)"%d\n", revs.count_left + revs.count_right);
    }
  }
  if (show_disk_usage) {
    printf((char const   *)"%lu\n", (uintmax_t )total_disk_usage);
  }
  return (0);
}
}
static double const   __ac_HASH_UPPER___154  =    (double const   )0.77;
__inline static void kh_resize_oid_set___154(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___154(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___154 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___154 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___154(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___154(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___154(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___154(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___154(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___154(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___154 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___154 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___154(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___154(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___154(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___154(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___154(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___154(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___154 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___154 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___154(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___154(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___154(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___154(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void init_contains_cache_with_stride___28(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___28(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___28(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___28(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___28(s___1, 1U);
  return;
}
}
static void clear_contains_cache___28(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___28(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___28(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___28(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___28(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___28(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___28(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___28(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___28(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___28(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___28(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___28(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___28(s___1, c___0, 0);
  return (tmp);
}
}
static int filter  =    ~ 0;
static char const   *def  ;
static int show_type  =    0;
static int symbolic  ;
static int abbrev___3  ;
static int abbrev_ref___0  ;
static int abbrev_ref_strict  ;
static int output_sq  ;
static int stuck_long  ;
static struct string_list *ref_excludes  ;
static int is_rev_argument(char const   *arg ) ;
static char const   *rev_args[29]  =
  {      (char const   *)"--all",      (char const   *)"--bisect",      (char const   *)"--dense",      (char const   *)"--branches=",
        (char const   *)"--branches",      (char const   *)"--header",      (char const   *)"--ignore-missing",      (char const   *)"--max-age=",
        (char const   *)"--max-count=",      (char const   *)"--min-age=",      (char const   *)"--no-merges",      (char const   *)"--min-parents=",
        (char const   *)"--no-min-parents",      (char const   *)"--max-parents=",      (char const   *)"--no-max-parents",      (char const   *)"--objects",
        (char const   *)"--objects-edge",      (char const   *)"--parents",      (char const   *)"--pretty",      (char const   *)"--remotes=",
        (char const   *)"--remotes",      (char const   *)"--glob=",      (char const   *)"--sparse",      (char const   *)"--tags=",
        (char const   *)"--tags",      (char const   *)"--topo-order",      (char const   *)"--date-order",      (char const   *)"--unpacked",
        (char const   *)((void *)0)};
static int is_rev_argument(char const   *arg )
{
  char const   **p___0 ;
  char const   *str ;
  char const   **tmp ;
  int len___0 ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  p___0 = rev_args;
  if ((int const   )*arg == 45) {
    if (((int const   )sane_ctype[(unsigned char )*(arg + 1)] & 2) != 0) {
      return (1);
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = p___0;
    p___0 ++;
    str = *tmp;
    if (! str) {
      return (0);
    }
    tmp___0 = strlen(str);
    len___0 = (int )tmp___0;
    tmp___1 = strcmp(arg, str);
    if (tmp___1) {
      if ((int const   )*(str + (len___0 - 1)) == 61) {
        tmp___2 = strncmp(arg, str, (size_t )len___0);
        if (! tmp___2) {
          return (1);
        }
      }
    } else {
      return (1);
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
static void show___2(char const   *arg )
{
  int sq ;
  int ch___0 ;
  char const   *tmp ;

  {
  if (output_sq) {
    sq = '\'';
    putchar(sq);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp = arg;
      arg ++;
      ch___0 = (int )*tmp;
      if (! ch___0) {
        goto while_break;
      }
      if (ch___0 == sq) {
        fputs((char const   * __restrict  )"\'\\\'", (FILE * __restrict  )stdout);
      }
      putchar(ch___0);
    }
    while_break: /* CIL Label */ ;
    }
    putchar(sq);
    putchar(' ');
  } else {
    puts(arg);
  }
  return;
}
}
static void show_with_type(int type___0 , char const   *arg )
{


  {
  if (type___0 != show_type) {
    putchar('^');
  }
  show___2(arg);
  return;
}
}
static void show_rev(int type___0 , struct object_id  const  *oid , char const   *name___0 )
{
  struct object_id discard ;
  char *full ;
  size_t tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char *tmp___2 ;

  {
  if (! (filter & 1)) {
    return;
  }
  def = (char const   *)((void *)0);
  if (symbolic) {
    goto _L___1;
  } else
  if (abbrev_ref___0) {
    _L___1: /* CIL Label */
    if (name___0) {
      if (symbolic == 2) {
        goto _L;
      } else
      if (abbrev_ref___0) {
        _L: /* CIL Label */
        tmp = strlen(name___0);
        tmp___0 = dwim_ref(name___0, (int )tmp, & discard, & full, 0);
        {
        if (tmp___0 == 0) {
          goto case_0;
        }
        if (tmp___0 == 1) {
          goto case_1;
        }
        goto switch_default;
        case_0: /* CIL Label */
        goto switch_break;
        case_1: /* CIL Label */
        if (abbrev_ref___0) {
          full = shorten_unambiguous_ref((char const   *)full, abbrev_ref_strict);
        }
        show_with_type(type___0, (char const   *)full);
        goto switch_break;
        switch_default: /* CIL Label */
        error((char const   *)"refname \'%s\' is ambiguous", name___0);
        const_error();
        goto switch_break;
        switch_break: /* CIL Label */ ;
        }
        free((void *)full);
      } else {
        show_with_type(type___0, name___0);
      }
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  if (abbrev___3) {
    tmp___1 = repo_find_unique_abbrev(the_repository, oid, abbrev___3);
    show_with_type(type___0, tmp___1);
  } else {
    tmp___2 = oid_to_hex(oid);
    show_with_type(type___0, (char const   *)tmp___2);
  }
  return;
}
}
static int show_flag(char const   *arg )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! (filter & 4)) {
    return (0);
  }
  tmp___1 = is_rev_argument(arg);
  if (tmp___1) {
    tmp___0 = 1;
  } else {
    tmp___0 = 2;
  }
  if (filter & tmp___0) {
    show___2(arg);
    return (1);
  }
  return (0);
}
}
static int show_default(void)
{
  char const   *s___1 ;
  struct object_id oid ;
  int tmp ;

  {
  s___1 = def;
  if (s___1) {
    def = (char const   *)((void *)0);
    tmp = repo_get_oid(the_repository, s___1, & oid);
    if (! tmp) {
      show_rev(0, (struct object_id  const  *)(& oid), s___1);
      return (1);
    }
  }
  return (0);
}
}
static int show_reference___0(char const   *refname , struct object_id  const  *oid ,
                              int flag , void *cb_data )
{
  int tmp ;

  {
  tmp = ref_excluded(ref_excludes, refname);
  if (tmp) {
    return (0);
  }
  show_rev(0, oid, refname);
  return (0);
}
}
static int anti_reference(char const   *refname , struct object_id  const  *oid ,
                          int flag , void *cb_data )
{


  {
  show_rev(1, oid, refname);
  return (0);
}
}
static int show_abbrev(struct object_id  const  *oid , void *cb_data )
{


  {
  show_rev(0, oid, (char const   *)((void *)0));
  return (0);
}
}
static void show_datestring(char const   *flag , char const   *datestr )
{
  char *buffer___5 ;
  timestamp_t tmp ;

  {
  if ((filter & 5) != 5) {
    return;
  }
  tmp = approxidate_careful(datestr, (int *)((void *)0));
  buffer___5 = xstrfmt((char const   *)"%s%lu", flag, tmp);
  show___2((char const   *)buffer___5);
  free((void *)buffer___5);
  return;
}
}
static int show_file___0(char const   *arg , int output_prefix___0 )
{
  char const   *prefix___1 ;
  char *fname ;
  char *tmp ;

  {
  show_default();
  if ((filter & 10) == 10) {
    if (output_prefix___0) {
      prefix___1 = startup_info->prefix;
      tmp = prefix_filename(prefix___1, arg);
      fname = tmp;
      show___2((char const   *)fname);
      free((void *)fname);
    } else {
      show___2(arg);
    }
    return (1);
  }
  return (0);
}
}
static int try_difference(char const   *arg ) ;
static char const   head_by_default[5]  = {      (char const   )'H',      (char const   )'E',      (char const   )'A',      (char const   )'D',
        (char const   )'\000'};
static int try_difference(char const   *arg )
{
  char *dotdot ;
  struct object_id start_oid ;
  struct object_id end_oid ;
  char const   *end ;
  char const   *start ;
  int symmetric ;
  int tmp ;
  struct commit_list *exclude ;
  struct commit *a ;
  struct commit *b___0 ;
  struct commit *commit ;
  struct commit *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  dotdot = strstr(arg, (char const   *)"..");
  if (! dotdot) {
    return (0);
  }
  end = (char const   *)(dotdot + 2);
  start = arg;
  symmetric = (int const   )*end == 46;
  *dotdot = (char)0;
  end += symmetric;
  if (! *end) {
    end = head_by_default;
  }
  if ((unsigned long )dotdot == (unsigned long )arg) {
    start = head_by_default;
  }
  if ((unsigned long )start == (unsigned long )(head_by_default)) {
    if ((unsigned long )end == (unsigned long )(head_by_default)) {
      if (! symmetric) {
        *dotdot = (char )'.';
        return (0);
      }
    }
  }
  tmp___1 = repo_get_oid_committish(the_repository, start, & start_oid);
  if (! tmp___1) {
    tmp___2 = repo_get_oid_committish(the_repository, end, & end_oid);
    if (! tmp___2) {
      show_rev(0, (struct object_id  const  *)(& end_oid), end);
      if (symmetric) {
        tmp = 0;
      } else {
        tmp = 1;
      }
      show_rev(tmp, (struct object_id  const  *)(& start_oid), start);
      if (symmetric) {
        a = lookup_commit_reference(the_repository, (struct object_id  const  *)(& start_oid));
        b___0 = lookup_commit_reference(the_repository, (struct object_id  const  *)(& end_oid));
        if (! a) {
          *dotdot = (char )'.';
          return (0);
        } else
        if (! b___0) {
          *dotdot = (char )'.';
          return (0);
        }
        exclude = repo_get_merge_bases(the_repository, a, b___0);
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          if (! exclude) {
            goto while_break;
          }
          tmp___0 = pop_commit(& exclude);
          commit = tmp___0;
          show_rev(1, (struct object_id  const  *)(& commit->object.oid), (char const   *)((void *)0));
        }
        while_break: /* CIL Label */ ;
        }
      }
      *dotdot = (char )'.';
      return (1);
    }
  }
  *dotdot = (char )'.';
  return (0);
}
}
static int try_parent_shorthands(char const   *arg )
{
  char *dotdot ;
  struct object_id oid ;
  struct commit *commit ;
  struct commit_list *parents ;
  int parent_number ;
  int include_rev ;
  int include_parents ;
  int exclude_parent ;
  char *end ;
  unsigned long tmp ;
  int tmp___0 ;
  unsigned int tmp___1 ;
  char *name___0 ;
  int tmp___2 ;

  {
  include_rev = 0;
  include_parents = 0;
  exclude_parent = 0;
  dotdot = strstr(arg, (char const   *)"^!");
  if (dotdot) {
    include_rev = 1;
    if (*(dotdot + 2)) {
      return (0);
    }
  } else {
    dotdot = strstr(arg, (char const   *)"^@");
    if (dotdot) {
      include_parents = 1;
      if (*(dotdot + 2)) {
        return (0);
      }
    } else {
      dotdot = strstr(arg, (char const   *)"^-");
      if (dotdot) {
        include_rev = 1;
        exclude_parent = 1;
        if (*(dotdot + 2)) {
          tmp = strtoul((char const   * __restrict  )(dotdot + 2), (char ** __restrict  )(& end),
                        10);
          exclude_parent = (int )tmp;
          if ((int )*end != 0) {
            return (0);
          } else
          if (! exclude_parent) {
            return (0);
          }
        }
      } else {
        return (0);
      }
    }
  }
  *dotdot = (char)0;
  tmp___0 = repo_get_oid_committish(the_repository, arg, & oid);
  if (tmp___0) {
    *dotdot = (char )'^';
    return (0);
  } else {
    commit = lookup_commit_reference(the_repository, (struct object_id  const  *)(& oid));
    if (! commit) {
      *dotdot = (char )'^';
      return (0);
    }
  }
  if (exclude_parent) {
    tmp___1 = commit_list_count((struct commit_list  const  *)commit->parents);
    if ((unsigned int )exclude_parent > tmp___1) {
      *dotdot = (char )'^';
      return (0);
    }
  }
  if (include_rev) {
    show_rev(0, (struct object_id  const  *)(& oid), arg);
  }
  parents = commit->parents;
  parent_number = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! parents) {
      goto while_break;
    }
    name___0 = (char *)((void *)0);
    if (exclude_parent) {
      if (parent_number != exclude_parent) {
        goto __Cont;
      }
    }
    if (symbolic) {
      name___0 = xstrfmt((char const   *)"%s^%d", arg, parent_number);
    }
    if (include_parents) {
      tmp___2 = 0;
    } else {
      tmp___2 = 1;
    }
    show_rev(tmp___2, (struct object_id  const  *)(& (parents->item)->object.oid),
             (char const   *)name___0);
    free((void *)name___0);
    __Cont: /* CIL Label */
    parents = parents->next;
    parent_number ++;
  }
  while_break: /* CIL Label */ ;
  }
  *dotdot = (char )'^';
  return (1);
}
}
static int parseopt_dump(struct option  const  *o , char const   *arg , int unset )
{
  struct strbuf *parsed ;

  {
  parsed = (struct strbuf *)o->value;
  if (unset) {
    strbuf_addf(parsed, (char const   *)" --no-%s", o->long_name);
  } else
  if (o->short_name) {
    if ((unsigned long )o->long_name == (unsigned long )((void *)0)) {
      strbuf_addf(parsed, (char const   *)" -%c", o->short_name);
    } else
    if (! stuck_long) {
      strbuf_addf(parsed, (char const   *)" -%c", o->short_name);
    } else {
      strbuf_addf(parsed, (char const   *)" --%s", o->long_name);
    }
  } else {
    strbuf_addf(parsed, (char const   *)" --%s", o->long_name);
  }
  if (arg) {
    if (! stuck_long) {
      strbuf_addch(parsed, ' ');
    } else
    if (o->long_name) {
      strbuf_addch(parsed, '=');
    }
    sq_quote_buf(parsed, arg);
  }
  return (0);
}
}
static char const   *skipspaces(char const   *s___1 )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (((int const   )sane_ctype[(unsigned char )*s___1] & 1) != 0)) {
      goto while_break;
    }
    s___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (s___1);
}
}
static char *findspace(char const   *s___1 )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *s___1) {
      goto while_break;
    }
    if (((int const   )sane_ctype[(unsigned char )*s___1] & 1) != 0) {
      return ((char *)s___1);
    }
    s___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((char *)((void *)0));
}
}
static int cmd_parseopt(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
static int keep_dashdash  =    0;
static int stop_at_non_option  =    0;
static char const   *parseopt_usage[2]  = {      (char const   *)"git rev-parse --parseopt [<options>] -- [<args>...]",      (char const   *)((void *)0)};
static struct option parseopt_opts[4]  = {      {(enum parse_opt_type )8, 0, (char const   *)"keep-dashdash", (void *)(& keep_dashdash),
      (char const   *)((void *)0), (char const   *)"keep the `--` passed as an arg",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"stop-at-non-option", (void *)(& stop_at_non_option),
      (char const   *)((void *)0), (char const   *)"stop parsing after the first non-option argument",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"stuck-long", (void *)(& stuck_long),
      (char const   *)((void *)0), (char const   *)"output in stuck long form", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static char const   *flag_chars  =    (char const   *)"*=?!";
static int cmd_parseopt(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct strbuf sb___6 ;
  struct strbuf parsed ;
  char const   **usage___2 ;
  struct option *opts___1 ;
  int onb ;
  int osz ;
  int unb ;
  int usz ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char *tmp___7 ;
  char const   *s___1 ;
  char *help ;
  struct option *o ;
  size_t tmp___8 ;
  void *tmp___9 ;
  int tmp___10 ;
  char const   *tmp___11 ;
  char *tmp___12 ;
  char const   *tmp___13 ;
  char *tmp___14 ;
  char *tmp___15 ;
  void *tmp___16 ;
  void *tmp___17 ;
  char const   *tmp___18 ;
  void *tmp___19 ;
  int tmp___20 ;
  size_t tmp___21 ;
  void *tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  parsed.alloc = 0UL;
  parsed.len = 0UL;
  parsed.buf = strbuf_slopbuf;
  usage___2 = (char const   **)((void *)0);
  opts___1 = (struct option *)((void *)0);
  onb = 0;
  osz = 0;
  unb = 0;
  usz = 0;
  strbuf_addstr(& parsed, (char const   *)"set --");
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(parseopt_opts),
                       parseopt_usage, (enum parse_opt_flags )1);
  if (argc < 1) {
    usage_with_options(parseopt_usage, (struct option  const  *)(parseopt_opts));
  } else {
    tmp = strcmp(*(argv___0 + 0), (char const   *)"--");
    if (tmp) {
      usage_with_options(parseopt_usage, (struct option  const  *)(parseopt_opts));
    }
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = strbuf_getline(& sb___6, stdin);
    if (tmp___1 == -1) {
      tmp___0 = _((char const   *)"premature end of input");
      die((char const   *)tmp___0);
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (unb + 1 > usz) {
        if (((usz + 16) * 3) / 2 < unb + 1) {
          usz = unb + 1;
        } else {
          usz = ((usz + 16) * 3) / 2;
        }
        tmp___2 = st_mult(sizeof(*usage___2), (size_t )usz);
        tmp___3 = xrealloc((void *)usage___2, tmp___2);
        usage___2 = (char const   **)tmp___3;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___5 = strcmp((char const   *)"--", (char const   *)sb___6.buf);
    if (! tmp___5) {
      if (unb < 1) {
        tmp___4 = _((char const   *)"no usage string given before the `--\' separator");
        die((char const   *)tmp___4);
      }
      *(usage___2 + unb) = (char const   *)((void *)0);
      goto while_break;
    }
    tmp___6 = unb;
    unb ++;
    tmp___7 = strbuf_detach(& sb___6, (size_t *)((void *)0));
    *(usage___2 + tmp___6) = (char const   *)tmp___7;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    tmp___20 = strbuf_getline(& sb___6, stdin);
    if (! (tmp___20 != -1)) {
      goto while_break___1;
    }
    if (! sb___6.len) {
      goto while_continue___1;
    }
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (onb + 1 > osz) {
        if (((osz + 16) * 3) / 2 < onb + 1) {
          osz = onb + 1;
        } else {
          osz = ((osz + 16) * 3) / 2;
        }
        tmp___8 = st_mult(sizeof(*opts___1), (size_t )osz);
        tmp___9 = xrealloc((void *)opts___1, tmp___8);
        opts___1 = (struct option *)tmp___9;
      }
      goto while_break___2;
    }
    while_break___2: /* CIL Label */ ;
    }
    memset((void *)(opts___1 + onb), 0, sizeof(*(opts___1 + onb)));
    tmp___10 = onb;
    onb ++;
    o = opts___1 + tmp___10;
    help = findspace((char const   *)sb___6.buf);
    if (! help) {
      o->type = (enum parse_opt_type )1;
      tmp___11 = skipspaces((char const   *)sb___6.buf);
      tmp___12 = xstrdup(tmp___11);
      o->help = (char const   *)tmp___12;
      goto while_continue___1;
    } else
    if ((unsigned long )sb___6.buf == (unsigned long )help) {
      o->type = (enum parse_opt_type )1;
      tmp___11 = skipspaces((char const   *)sb___6.buf);
      tmp___12 = xstrdup(tmp___11);
      o->help = (char const   *)tmp___12;
      goto while_continue___1;
    }
    *help = (char )'\000';
    o->type = (enum parse_opt_type )12;
    tmp___13 = skipspaces((char const   *)(help + 1));
    tmp___14 = xstrdup(tmp___13);
    o->help = (char const   *)tmp___14;
    o->value = (void *)(& parsed);
    o->flags = (enum parse_opt_option_flags )2;
    o->callback = & parseopt_dump;
    tmp___15 = strpbrk((char const   *)sb___6.buf, (char const   *)flag_chars);
    s___1 = (char const   *)tmp___15;
    if ((unsigned long )s___1 == (unsigned long )((void *)0)) {
      s___1 = (char const   *)help;
    }
    if (s___1 - (char const   *)sb___6.buf == 1L) {
      o->short_name = (int )*(sb___6.buf);
    } else
    if ((int )*(sb___6.buf + 1) != 44) {
      tmp___16 = xmemdupz((void const   *)sb___6.buf, (size_t )(s___1 - (char const   *)sb___6.buf));
      o->long_name = (char const   *)tmp___16;
    } else {
      o->short_name = (int )*(sb___6.buf);
      tmp___17 = xmemdupz((void const   *)(sb___6.buf + 2), (size_t )((s___1 - (char const   *)sb___6.buf) - 2L));
      o->long_name = (char const   *)tmp___17;
    }
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! ((unsigned long )s___1 < (unsigned long )help)) {
        goto while_break___3;
      }
      tmp___18 = s___1;
      s___1 ++;
      {
      if ((int const   )*tmp___18 == 61) {
        goto case_61;
      }
      if ((int const   )*tmp___18 == 63) {
        goto case_63;
      }
      if ((int const   )*tmp___18 == 33) {
        goto case_33;
      }
      if ((int const   )*tmp___18 == 42) {
        goto case_42;
      }
      goto switch_break;
      case_61: /* CIL Label */
      o->flags = (enum parse_opt_option_flags )((unsigned int )o->flags & 4294967293U);
      goto while_continue___3;
      case_63: /* CIL Label */
      o->flags = (enum parse_opt_option_flags )((unsigned int )o->flags & 4294967293U);
      o->flags = (enum parse_opt_option_flags )((unsigned int )o->flags | 1U);
      goto while_continue___3;
      case_33: /* CIL Label */
      o->flags = (enum parse_opt_option_flags )((unsigned int )o->flags | 4U);
      goto while_continue___3;
      case_42: /* CIL Label */
      o->flags = (enum parse_opt_option_flags )((unsigned int )o->flags | 8U);
      goto while_continue___3;
      switch_break: /* CIL Label */ ;
      }
      s___1 --;
      goto while_break___3;
    }
    while_break___3: /* CIL Label */ ;
    }
    if ((unsigned long )s___1 < (unsigned long )help) {
      tmp___19 = xmemdupz((void const   *)s___1, (size_t )(help - (char *)s___1));
      o->argh = (char const   *)tmp___19;
    }
  }
  while_break___1: /* CIL Label */ ;
  }
  strbuf_release(& sb___6);
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (onb + 1 > osz) {
      if (((osz + 16) * 3) / 2 < onb + 1) {
        osz = onb + 1;
      } else {
        osz = ((osz + 16) * 3) / 2;
      }
      tmp___21 = st_mult(sizeof(*opts___1), (size_t )osz);
      tmp___22 = xrealloc((void *)opts___1, tmp___21);
      opts___1 = (struct option *)tmp___22;
    }
    goto while_break___4;
  }
  while_break___4: /* CIL Label */ ;
  }
  memset((void *)(opts___1 + onb), 0, sizeof(*(opts___1 + onb)));
  if (keep_dashdash) {
    tmp___23 = 1;
  } else {
    tmp___23 = 0;
  }
  if (stop_at_non_option) {
    tmp___24 = 2;
  } else {
    tmp___24 = 0;
  }
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)opts___1,
                       (char const   **)usage___2, (enum parse_opt_flags )((tmp___23 | tmp___24) | 64));
  strbuf_addstr(& parsed, (char const   *)" --");
  sq_quote_argv(& parsed, argv___0);
  puts((char const   *)parsed.buf);
  return (0);
}
}
static int cmd_sq_quote(int argc , char const   **argv___0 )
{
  struct strbuf buf___19 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  if (argc) {
    sq_quote_argv(& buf___19, argv___0);
  }
  printf((char const   *)"%s\n", buf___19.buf);
  strbuf_release(& buf___19);
  return (0);
}
}
static void die_no_single_rev(int quiet___7 )
{
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  if (quiet___7) {
    tmp = trace2_cmd_exit_fl((char const   *)"builtin/rev-parse.c", 546, 1);
    exit(tmp);
  } else {
    tmp___0 = _((char const   *)"Needed a single revision");
    die((char const   *)tmp___0);
  }
}
}
static char const   builtin_rev_parse_usage[215]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'r',      (char const   )'e',      (char const   )'v',      (char const   )'-',
        (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'s',
        (char const   )'e',      (char const   )' ',      (char const   )'-',      (char const   )'-',
        (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'s',
        (char const   )'e',      (char const   )'o',      (char const   )'p',      (char const   )'t',
        (char const   )' ',      (char const   )'[',      (char const   )'<',      (char const   )'o',
        (char const   )'p',      (char const   )'t',      (char const   )'i',      (char const   )'o',
        (char const   )'n',      (char const   )'s',      (char const   )'>',      (char const   )']',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )' ',
        (char const   )'[',      (char const   )'<',      (char const   )'a',      (char const   )'r',
        (char const   )'g',      (char const   )'s',      (char const   )'>',      (char const   )'.',
        (char const   )'.',      (char const   )'.',      (char const   )']',      (char const   )'\n',
        (char const   )' ',      (char const   )' ',      (char const   )' ',      (char const   )'o',
        (char const   )'r',      (char const   )':',      (char const   )' ',      (char const   )'g',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'r',
        (char const   )'e',      (char const   )'v',      (char const   )'-',      (char const   )'p',
        (char const   )'a',      (char const   )'r',      (char const   )'s',      (char const   )'e',
        (char const   )' ',      (char const   )'-',      (char const   )'-',      (char const   )'s',
        (char const   )'q',      (char const   )'-',      (char const   )'q',      (char const   )'u',
        (char const   )'o',      (char const   )'t',      (char const   )'e',      (char const   )' ',
        (char const   )'[',      (char const   )'<',      (char const   )'a',      (char const   )'r',
        (char const   )'g',      (char const   )'>',      (char const   )'.',      (char const   )'.',
        (char const   )'.',      (char const   )']',      (char const   )'\n',      (char const   )' ',
        (char const   )' ',      (char const   )' ',      (char const   )'o',      (char const   )'r',
        (char const   )':',      (char const   )' ',      (char const   )'g',      (char const   )'i',
        (char const   )'t',      (char const   )' ',      (char const   )'r',      (char const   )'e',
        (char const   )'v',      (char const   )'-',      (char const   )'p',      (char const   )'a',
        (char const   )'r',      (char const   )'s',      (char const   )'e',      (char const   )' ',
        (char const   )'[',      (char const   )'<',      (char const   )'o',      (char const   )'p',
        (char const   )'t',      (char const   )'i',      (char const   )'o',      (char const   )'n',
        (char const   )'s',      (char const   )'>',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'<',      (char const   )'a',      (char const   )'r',
        (char const   )'g',      (char const   )'>',      (char const   )'.',      (char const   )'.',
        (char const   )'.',      (char const   )']',      (char const   )'\n',      (char const   )'\n',
        (char const   )'R',      (char const   )'u',      (char const   )'n',      (char const   )' ',
        (char const   )'\"',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'r',      (char const   )'e',      (char const   )'v',
        (char const   )'-',      (char const   )'p',      (char const   )'a',      (char const   )'r',
        (char const   )'s',      (char const   )'e',      (char const   )' ',      (char const   )'-',
        (char const   )'-',      (char const   )'p',      (char const   )'a',      (char const   )'r',
        (char const   )'s',      (char const   )'e',      (char const   )'o',      (char const   )'p',
        (char const   )'t',      (char const   )' ',      (char const   )'-',      (char const   )'h',
        (char const   )'\"',      (char const   )' ',      (char const   )'f',      (char const   )'o',
        (char const   )'r',      (char const   )' ',      (char const   )'m',      (char const   )'o',
        (char const   )'r',      (char const   )'e',      (char const   )' ',      (char const   )'i',
        (char const   )'n',      (char const   )'f',      (char const   )'o',      (char const   )'r',
        (char const   )'m',      (char const   )'a',      (char const   )'t',      (char const   )'i',
        (char const   )'o',      (char const   )'n',      (char const   )' ',      (char const   )'o',
        (char const   )'n',      (char const   )' ',      (char const   )'t',      (char const   )'h',
        (char const   )'e',      (char const   )' ',      (char const   )'f',      (char const   )'i',
        (char const   )'r',      (char const   )'s',      (char const   )'t',      (char const   )' ',
        (char const   )'u',      (char const   )'s',      (char const   )'a',      (char const   )'g',
        (char const   )'e',      (char const   )'.',      (char const   )'\000'};
static int opt_with_value(char const   *arg , char const   *opt___0 , char const   **value )
{
  char const   *tmp ;
  int tmp___0 ;

  {
  tmp___0 = skip_prefix(arg, opt___0, & arg);
  if (tmp___0) {
    if (! *arg) {
      *value = (char const   *)((void *)0);
      return (1);
    }
    tmp = arg;
    arg ++;
    if ((int const   )*tmp == 61) {
      *value = arg;
      return (1);
    }
  }
  return (0);
}
}
static void handle_ref_opt(char const   *pattern___0 , char const   *prefix___1 )
{


  {
  if (pattern___0) {
    for_each_glob_ref_in(& show_reference___0, pattern___0, prefix___1, (void *)0);
  } else {
    for_each_ref_in(prefix___1, & show_reference___0, (void *)0);
  }
  clear_ref_exclusion(& ref_excludes);
  return;
}
}
static void print_path___0(char const   *path___6 , char const   *prefix___1 , enum format_type format___0 ,
                           enum default_type def___0 )
{
  char *cwd___0 ;
  struct strbuf buf___19 ;
  struct strbuf realbuf ;
  struct strbuf prefixbuf ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  struct strbuf buf___20 ;
  char const   *tmp___2 ;
  struct strbuf buf___21 ;

  {
  cwd___0 = (char *)((void *)0);
  if (! prefix___1) {
    if ((unsigned int )format___0 != 2U) {
      cwd___0 = xgetcwd();
      prefix___1 = (char const   *)cwd___0;
    } else
    if ((unsigned int )def___0 != 1U) {
      cwd___0 = xgetcwd();
      prefix___1 = (char const   *)cwd___0;
    }
  }
  if ((unsigned int )format___0 == 2U) {
    if ((unsigned int )def___0 == 3U) {
      puts(path___6);
    } else {
      goto _L___2;
    }
  } else
  _L___2: /* CIL Label */
  if ((unsigned int )format___0 == 0U) {
    goto _L___0;
  } else
  if ((unsigned int )format___0 == 2U) {
    if ((unsigned int )def___0 == 0U) {
      _L___0: /* CIL Label */
      buf___19.alloc = 0UL;
      buf___19.len = 0UL;
      buf___19.buf = strbuf_slopbuf;
      realbuf.alloc = 0UL;
      realbuf.len = 0UL;
      realbuf.buf = strbuf_slopbuf;
      prefixbuf.alloc = 0UL;
      prefixbuf.len = 0UL;
      prefixbuf.buf = strbuf_slopbuf;
      tmp = is_absolute_path(path___6);
      if (! tmp) {
        strbuf_realpath_forgiving(& realbuf, path___6, 1);
        path___6 = (char const   *)realbuf.buf;
      }
      tmp___0 = is_absolute_path(prefix___1);
      if (! tmp___0) {
        strbuf_realpath_forgiving(& prefixbuf, prefix___1, 1);
        prefix___1 = (char const   *)prefixbuf.buf;
      }
      tmp___1 = relative_path(path___6, prefix___1, & buf___19);
      puts(tmp___1);
      strbuf_release(& buf___19);
      strbuf_release(& realbuf);
      strbuf_release(& prefixbuf);
    } else {
      goto _L___1;
    }
  } else
  _L___1: /* CIL Label */
  if ((unsigned int )format___0 == 2U) {
    if ((unsigned int )def___0 == 1U) {
      buf___20.alloc = 0UL;
      buf___20.len = 0UL;
      buf___20.buf = strbuf_slopbuf;
      tmp___2 = relative_path(path___6, prefix___1, & buf___20);
      puts(tmp___2);
      strbuf_release(& buf___20);
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    buf___21.alloc = 0UL;
    buf___21.len = 0UL;
    buf___21.buf = strbuf_slopbuf;
    strbuf_realpath_forgiving(& buf___21, path___6, 1);
    puts((char const   *)buf___21.buf);
    strbuf_release(& buf___21);
  }
  free((void *)cwd___0);
  return;
}
}
int cmd_rev_parse(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  int as_is ;
  int verify___0 ;
  int quiet___7 ;
  int revs_count ;
  int type___0 ;
  int did_repo_setup ;
  int has_dashdash ;
  int output_prefix___0 ;
  struct object_id oid ;
  unsigned int flags___0 ;
  char const   *name___0 ;
  struct object_context unused ;
  struct strbuf buf___19 ;
  int hexsz ;
  int seen_end_of_options ;
  enum format_type format___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const   *arg ;
  int tmp___5 ;
  int i___0 ;
  int tmp___6 ;
  char const   *gitdir___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const   *tmp___12 ;
  int tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  int tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;
  int tmp___30 ;
  int tmp___31 ;
  int tmp___32 ;
  unsigned long tmp___33 ;
  int tmp___34 ;
  int tmp___35 ;
  int tmp___36 ;
  int tmp___37 ;
  int tmp___38 ;
  char const __attribute__((__format_arg__(1)))  *tmp___39 ;
  int tmp___40 ;
  int tmp___41 ;
  int tmp___42 ;
  int tmp___43 ;
  int tmp___44 ;
  int tmp___45 ;
  int tmp___46 ;
  int tmp___47 ;
  int tmp___48 ;
  int tmp___49 ;
  int tmp___50 ;
  char const   *work_tree ;
  char const   *tmp___51 ;
  char const __attribute__((__format_arg__(1)))  *tmp___52 ;
  int tmp___53 ;
  struct strbuf superproject ;
  int tmp___54 ;
  int tmp___55 ;
  int tmp___56 ;
  char const   *pfx ;
  char const   *work_tree___0 ;
  char const   *tmp___57 ;
  int tmp___58 ;
  char *tmp___59 ;
  int tmp___60 ;
  char const   *gitdir___1 ;
  char *tmp___61 ;
  char *cwd___0 ;
  int len___0 ;
  enum format_type wanted ;
  struct strbuf realpath___1 ;
  size_t tmp___62 ;
  char *tmp___63 ;
  int tmp___64 ;
  int tmp___65 ;
  char const   *tmp___66 ;
  int tmp___67 ;
  int tmp___68 ;
  char *tmp___69 ;
  int tmp___70 ;
  int tmp___71 ;
  int tmp___72 ;
  char *tmp___73 ;
  int tmp___74 ;
  int tmp___75 ;
  int tmp___76 ;
  char *tmp___77 ;
  int tmp___78 ;
  int tmp___79 ;
  int tmp___80 ;
  char *tmp___81 ;
  int tmp___82 ;
  int tmp___83 ;
  char const __attribute__((__format_arg__(1)))  *tmp___84 ;
  int tmp___85 ;
  struct object_id  const  *oid___0 ;
  char const   *path___6 ;
  char *tmp___86 ;
  char const   *tmp___87 ;
  int tmp___88 ;
  int tmp___89 ;
  int tmp___90 ;
  int tmp___91 ;
  int tmp___92 ;
  char const   *val ;
  char const   *tmp___93 ;
  char const __attribute__((__format_arg__(1)))  *tmp___94 ;
  int tmp___95 ;
  int tmp___96 ;
  int tmp___97 ;
  int tmp___98 ;
  int tmp___99 ;
  int tmp___100 ;
  int tmp___101 ;
  int tmp___102 ;
  enum get_oid_result tmp___103 ;
  char const __attribute__((__format_arg__(1)))  *tmp___104 ;
  int tmp___105 ;
  int tmp___106 ;

  {
  as_is = 0;
  verify___0 = 0;
  quiet___7 = 0;
  revs_count = 0;
  type___0 = 0;
  did_repo_setup = 0;
  has_dashdash = 0;
  output_prefix___0 = 0;
  flags___0 = 0U;
  name___0 = (char const   *)((void *)0);
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  hexsz = (int )(the_repository->hash_algo)->hexsz;
  seen_end_of_options = 0;
  format___0 = (enum format_type )2;
  if (argc > 1) {
    tmp___0 = strcmp((char const   *)"--parseopt", *(argv___0 + 1));
    if (! tmp___0) {
      tmp = cmd_parseopt(argc - 1, argv___0 + 1, prefix___1);
      return (tmp);
    }
  }
  if (argc > 1) {
    tmp___2 = strcmp((char const   *)"--sq-quote", *(argv___0 + 1));
    if (! tmp___2) {
      tmp___1 = cmd_sq_quote(argc - 2, argv___0 + 2);
      return (tmp___1);
    }
  }
  if (argc > 1) {
    tmp___3 = strcmp((char const   *)"-h", *(argv___0 + 1));
    if (! tmp___3) {
      usage(builtin_rev_parse_usage);
    }
  }
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    tmp___4 = strcmp(*(argv___0 + i), (char const   *)"--");
    if (! tmp___4) {
      has_dashdash = 1;
      goto while_break;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (argc == 1) {
    setup_git_directory();
    git_config(& git_default_config, (void *)0);
    return (0);
  }
  i = 1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break___0;
    }
    arg = *(argv___0 + i);
    if (as_is) {
      tmp___5 = show_file___0(arg, output_prefix___0);
      if (tmp___5) {
        if (as_is < 2) {
          verify_filename(prefix___1, arg, 0);
        }
      }
      goto __Cont;
    }
    if (! seen_end_of_options) {
      tmp___6 = strcmp(arg, (char const   *)"--local-env-vars");
      if (! tmp___6) {
        i___0 = 0;
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          if (! local_repo_env[i___0]) {
            goto while_break___1;
          }
          printf((char const   *)"%s\n", local_repo_env[i___0]);
          i___0 ++;
        }
        while_break___1: /* CIL Label */ ;
        }
        goto __Cont;
      }
      tmp___9 = strcmp(arg, (char const   *)"--resolve-git-dir");
      if (! tmp___9) {
        i ++;
        gitdir___0 = *(argv___0 + i);
        if (! gitdir___0) {
          tmp___7 = _((char const   *)"--resolve-git-dir requires an argument");
          die((char const   *)tmp___7);
        }
        gitdir___0 = resolve_gitdir_gently(gitdir___0, (int *)((void *)0));
        if (! gitdir___0) {
          tmp___8 = _((char const   *)"not a gitdir \'%s\'");
          die((char const   *)tmp___8, *(argv___0 + i));
        }
        puts(gitdir___0);
        goto __Cont;
      }
    }
    if (! did_repo_setup) {
      prefix___1 = setup_git_directory();
      git_config(& git_default_config, (void *)0);
      did_repo_setup = 1;
    }
    tmp___10 = strcmp(arg, (char const   *)"--");
    if (! tmp___10) {
      as_is = 2;
      if (filter & 5) {
        show_file___0(arg, 0);
      }
      goto __Cont;
    }
    if (! seen_end_of_options) {
      if ((int const   )*arg == 45) {
        tmp___13 = strcmp(arg, (char const   *)"--git-path");
        if (! tmp___13) {
          if (! *(argv___0 + (i + 1))) {
            tmp___11 = _((char const   *)"--git-path requires an argument");
            die((char const   *)tmp___11);
          }
          strbuf_setlen___33(& buf___19, (size_t )0);
          tmp___12 = git_path((char const   *)"%s", *(argv___0 + (i + 1)));
          print_path___0(tmp___12, prefix___1, format___0, (enum default_type )1);
          i ++;
          goto __Cont;
        }
        tmp___15 = strcmp(arg, (char const   *)"-n");
        if (! tmp___15) {
          i ++;
          if (i >= argc) {
            tmp___14 = _((char const   *)"-n requires an argument");
            die((char const   *)tmp___14);
          }
          if (filter & 4) {
            if (filter & 1) {
              show___2(arg);
              show___2(*(argv___0 + i));
            }
          }
          goto __Cont;
        }
        tmp___16 = starts_with(arg, (char const   *)"-n");
        if (tmp___16) {
          if (filter & 4) {
            if (filter & 1) {
              show___2(arg);
            }
          }
          goto __Cont;
        }
        tmp___21 = opt_with_value(arg, (char const   *)"--path-format", & arg);
        if (tmp___21) {
          if (! arg) {
            tmp___17 = _((char const   *)"--path-format requires an argument");
            die((char const   *)tmp___17);
          }
          tmp___20 = strcmp(arg, (char const   *)"absolute");
          if (tmp___20) {
            tmp___19 = strcmp(arg, (char const   *)"relative");
            if (tmp___19) {
              tmp___18 = _((char const   *)"unknown argument to --path-format: %s");
              die((char const   *)tmp___18, arg);
            } else {
              format___0 = (enum format_type )0;
            }
          } else {
            format___0 = (enum format_type )1;
          }
          goto __Cont;
        }
        tmp___23 = strcmp(arg, (char const   *)"--default");
        if (! tmp___23) {
          i ++;
          def = *(argv___0 + i);
          if (! def) {
            tmp___22 = _((char const   *)"--default requires an argument");
            die((char const   *)tmp___22);
          }
          goto __Cont;
        }
        tmp___25 = strcmp(arg, (char const   *)"--prefix");
        if (! tmp___25) {
          i ++;
          prefix___1 = *(argv___0 + i);
          if (! prefix___1) {
            tmp___24 = _((char const   *)"--prefix requires an argument");
            die((char const   *)tmp___24);
          }
          startup_info->prefix = prefix___1;
          output_prefix___0 = 1;
          goto __Cont;
        }
        tmp___26 = strcmp(arg, (char const   *)"--revs-only");
        if (! tmp___26) {
          filter &= -3;
          goto __Cont;
        }
        tmp___27 = strcmp(arg, (char const   *)"--no-revs");
        if (! tmp___27) {
          filter &= -2;
          goto __Cont;
        }
        tmp___28 = strcmp(arg, (char const   *)"--flags");
        if (! tmp___28) {
          filter &= -9;
          goto __Cont;
        }
        tmp___29 = strcmp(arg, (char const   *)"--no-flags");
        if (! tmp___29) {
          filter &= -5;
          goto __Cont;
        }
        tmp___30 = strcmp(arg, (char const   *)"--verify");
        if (! tmp___30) {
          filter &= -7;
          verify___0 = 1;
          goto __Cont;
        }
        tmp___31 = strcmp(arg, (char const   *)"--quiet");
        if (tmp___31) {
          tmp___32 = strcmp(arg, (char const   *)"-q");
          if (! tmp___32) {
            quiet___7 = 1;
            flags___0 |= 1U;
            goto __Cont;
          }
        } else {
          quiet___7 = 1;
          flags___0 |= 1U;
          goto __Cont;
        }
        tmp___34 = opt_with_value(arg, (char const   *)"--short", & arg);
        if (tmp___34) {
          filter &= -7;
          verify___0 = 1;
          abbrev___3 = default_abbrev;
          if (! arg) {
            goto __Cont;
          }
          tmp___33 = strtoul((char const   * __restrict  )arg, (char ** __restrict  )((void *)0),
                             10);
          abbrev___3 = (int )tmp___33;
          if (abbrev___3 < minimum_abbrev) {
            abbrev___3 = minimum_abbrev;
          } else
          if (hexsz <= (int )abbrev___3) {
            abbrev___3 = (int )hexsz;
          }
          goto __Cont;
        }
        tmp___35 = strcmp(arg, (char const   *)"--sq");
        if (! tmp___35) {
          output_sq = 1;
          goto __Cont;
        }
        tmp___36 = strcmp(arg, (char const   *)"--not");
        if (! tmp___36) {
          show_type ^= 1;
          goto __Cont;
        }
        tmp___37 = strcmp(arg, (char const   *)"--symbolic");
        if (! tmp___37) {
          symbolic = 1;
          goto __Cont;
        }
        tmp___38 = strcmp(arg, (char const   *)"--symbolic-full-name");
        if (! tmp___38) {
          symbolic = 2;
          goto __Cont;
        }
        tmp___42 = opt_with_value(arg, (char const   *)"--abbrev-ref", & arg);
        if (tmp___42) {
          abbrev_ref___0 = 1;
          abbrev_ref_strict = warn_ambiguous_refs;
          if (arg) {
            tmp___41 = strcmp(arg, (char const   *)"strict");
            if (tmp___41) {
              tmp___40 = strcmp(arg, (char const   *)"loose");
              if (tmp___40) {
                tmp___39 = _((char const   *)"unknown mode for --abbrev-ref: %s");
                die((char const   *)tmp___39, arg);
              } else {
                abbrev_ref_strict = 0;
              }
            } else {
              abbrev_ref_strict = 1;
            }
          }
          goto __Cont;
        }
        tmp___43 = strcmp(arg, (char const   *)"--all");
        if (! tmp___43) {
          for_each_ref(& show_reference___0, (void *)0);
          clear_ref_exclusion(& ref_excludes);
          goto __Cont;
        }
        tmp___44 = skip_prefix(arg, (char const   *)"--disambiguate=", & arg);
        if (tmp___44) {
          repo_for_each_abbrev(the_repository, arg, & show_abbrev, (void *)0);
          goto __Cont;
        }
        tmp___45 = strcmp(arg, (char const   *)"--bisect");
        if (! tmp___45) {
          for_each_fullref_in((char const   *)"refs/bisect/bad", & show_reference___0,
                              (void *)0);
          for_each_fullref_in((char const   *)"refs/bisect/good", & anti_reference,
                              (void *)0);
          goto __Cont;
        }
        tmp___46 = opt_with_value(arg, (char const   *)"--branches", & arg);
        if (tmp___46) {
          handle_ref_opt(arg, (char const   *)"refs/heads/");
          goto __Cont;
        }
        tmp___47 = opt_with_value(arg, (char const   *)"--tags", & arg);
        if (tmp___47) {
          handle_ref_opt(arg, (char const   *)"refs/tags/");
          goto __Cont;
        }
        tmp___48 = skip_prefix(arg, (char const   *)"--glob=", & arg);
        if (tmp___48) {
          handle_ref_opt(arg, (char const   *)((void *)0));
          goto __Cont;
        }
        tmp___49 = opt_with_value(arg, (char const   *)"--remotes", & arg);
        if (tmp___49) {
          handle_ref_opt(arg, (char const   *)"refs/remotes/");
          goto __Cont;
        }
        tmp___50 = skip_prefix(arg, (char const   *)"--exclude=", & arg);
        if (tmp___50) {
          add_ref_exclusion(& ref_excludes, arg);
          goto __Cont;
        }
        tmp___53 = strcmp(arg, (char const   *)"--show-toplevel");
        if (! tmp___53) {
          tmp___51 = get_git_work_tree();
          work_tree = tmp___51;
          if (work_tree) {
            print_path___0(work_tree, prefix___1, format___0, (enum default_type )3);
          } else {
            tmp___52 = _((char const   *)"this operation must be run in a work tree");
            die((char const   *)tmp___52);
          }
          goto __Cont;
        }
        tmp___55 = strcmp(arg, (char const   *)"--show-superproject-working-tree");
        if (! tmp___55) {
          superproject.alloc = 0UL;
          superproject.len = 0UL;
          superproject.buf = strbuf_slopbuf;
          tmp___54 = get_superproject_working_tree(& superproject);
          if (tmp___54) {
            print_path___0((char const   *)superproject.buf, prefix___1, format___0,
                           (enum default_type )3);
          }
          strbuf_release(& superproject);
          goto __Cont;
        }
        tmp___56 = strcmp(arg, (char const   *)"--show-prefix");
        if (! tmp___56) {
          if (prefix___1) {
            puts(prefix___1);
          } else {
            putchar('\n');
          }
          goto __Cont;
        }
        tmp___60 = strcmp(arg, (char const   *)"--show-cdup");
        if (! tmp___60) {
          pfx = prefix___1;
          tmp___58 = is_inside_work_tree();
          if (! tmp___58) {
            tmp___57 = get_git_work_tree();
            work_tree___0 = tmp___57;
            if (work_tree___0) {
              printf((char const   *)"%s\n", work_tree___0);
            }
            goto __Cont;
          }
          {
          while (1) {
            while_continue___2: /* CIL Label */ ;
            if (! pfx) {
              goto while_break___2;
            }
            tmp___59 = strchr(pfx, '/');
            pfx = (char const   *)tmp___59;
            if (pfx) {
              pfx ++;
              printf((char const   *)"../");
            }
          }
          while_break___2: /* CIL Label */ ;
          }
          putchar('\n');
          goto __Cont;
        }
        tmp___64 = strcmp(arg, (char const   *)"--git-dir");
        if (tmp___64) {
          tmp___65 = strcmp(arg, (char const   *)"--absolute-git-dir");
          if (! tmp___65) {
            _L: /* CIL Label */
            tmp___61 = getenv((char const   *)"GIT_DIR");
            gitdir___1 = (char const   *)tmp___61;
            wanted = format___0;
            if ((int const   )*(arg + 2) == 103) {
              if (gitdir___1) {
                print_path___0(gitdir___1, prefix___1, format___0, (enum default_type )3);
                goto __Cont;
              }
              if (! prefix___1) {
                print_path___0((char const   *)".git", prefix___1, format___0, (enum default_type )3);
                goto __Cont;
              }
            } else {
              wanted = (enum format_type )1;
              if (! gitdir___1) {
                if (! prefix___1) {
                  gitdir___1 = (char const   *)".git";
                }
              }
              if (gitdir___1) {
                realpath___1.alloc = 0UL;
                realpath___1.len = 0UL;
                realpath___1.buf = strbuf_slopbuf;
                strbuf_realpath(& realpath___1, gitdir___1, 1);
                puts((char const   *)realpath___1.buf);
                strbuf_release(& realpath___1);
                goto __Cont;
              }
            }
            cwd___0 = xgetcwd();
            tmp___62 = strlen((char const   *)cwd___0);
            len___0 = (int )tmp___62;
            strbuf_setlen___33(& buf___19, (size_t )0);
            if (len___0) {
              if ((int )*(cwd___0 + (len___0 - 1)) != 47) {
                tmp___63 = "/";
              } else {
                tmp___63 = "";
              }
            } else {
              tmp___63 = "";
            }
            strbuf_addf(& buf___19, (char const   *)"%s%s.git", cwd___0, tmp___63);
            free((void *)cwd___0);
            print_path___0((char const   *)buf___19.buf, prefix___1, wanted, (enum default_type )2);
            goto __Cont;
          }
        } else {
          goto _L;
        }
        tmp___67 = strcmp(arg, (char const   *)"--git-common-dir");
        if (! tmp___67) {
          tmp___66 = get_git_common_dir();
          print_path___0(tmp___66, prefix___1, format___0, (enum default_type )1);
          goto __Cont;
        }
        tmp___71 = strcmp(arg, (char const   *)"--is-inside-git-dir");
        if (! tmp___71) {
          tmp___70 = is_inside_git_dir();
          if (tmp___70) {
            tmp___69 = "true";
          } else {
            tmp___69 = "false";
          }
          printf((char const   *)"%s\n", tmp___69);
          goto __Cont;
        }
        tmp___75 = strcmp(arg, (char const   *)"--is-inside-work-tree");
        if (! tmp___75) {
          tmp___74 = is_inside_work_tree();
          if (tmp___74) {
            tmp___73 = "true";
          } else {
            tmp___73 = "false";
          }
          printf((char const   *)"%s\n", tmp___73);
          goto __Cont;
        }
        tmp___79 = strcmp(arg, (char const   *)"--is-bare-repository");
        if (! tmp___79) {
          tmp___78 = is_bare_repository();
          if (tmp___78) {
            tmp___77 = "true";
          } else {
            tmp___77 = "false";
          }
          printf((char const   *)"%s\n", tmp___77);
          goto __Cont;
        }
        tmp___83 = strcmp(arg, (char const   *)"--is-shallow-repository");
        if (! tmp___83) {
          tmp___82 = is_repository_shallow(the_repository);
          if (tmp___82) {
            tmp___81 = "true";
          } else {
            tmp___81 = "false";
          }
          printf((char const   *)"%s\n", tmp___81);
          goto __Cont;
        }
        tmp___88 = strcmp(arg, (char const   *)"--shared-index-path");
        if (! tmp___88) {
          tmp___85 = repo_read_index(the_repository);
          if (tmp___85 < 0) {
            tmp___84 = _((char const   *)"Could not read the index");
            die((char const   *)tmp___84);
          }
          if (the_index.split_index) {
            oid___0 = (struct object_id  const  *)(& (the_index.split_index)->base_oid);
            tmp___86 = oid_to_hex(oid___0);
            tmp___87 = git_path((char const   *)"sharedindex.%s", tmp___86);
            path___6 = tmp___87;
            print_path___0(path___6, prefix___1, format___0, (enum default_type )0);
          }
          goto __Cont;
        }
        tmp___89 = skip_prefix(arg, (char const   *)"--since=", & arg);
        if (tmp___89) {
          show_datestring((char const   *)"--max-age=", arg);
          goto __Cont;
        }
        tmp___90 = skip_prefix(arg, (char const   *)"--after=", & arg);
        if (tmp___90) {
          show_datestring((char const   *)"--max-age=", arg);
          goto __Cont;
        }
        tmp___91 = skip_prefix(arg, (char const   *)"--before=", & arg);
        if (tmp___91) {
          show_datestring((char const   *)"--min-age=", arg);
          goto __Cont;
        }
        tmp___92 = skip_prefix(arg, (char const   *)"--until=", & arg);
        if (tmp___92) {
          show_datestring((char const   *)"--min-age=", arg);
          goto __Cont;
        }
        tmp___98 = opt_with_value(arg, (char const   *)"--show-object-format", & arg);
        if (tmp___98) {
          if (arg) {
            tmp___93 = arg;
          } else {
            tmp___93 = (char const   *)"storage";
          }
          val = tmp___93;
          tmp___95 = strcmp(val, (char const   *)"storage");
          if (tmp___95) {
            tmp___96 = strcmp(val, (char const   *)"input");
            if (tmp___96) {
              tmp___97 = strcmp(val, (char const   *)"output");
              if (tmp___97) {
                tmp___94 = _((char const   *)"unknown mode for --show-object-format: %s");
                die((char const   *)tmp___94, arg);
              }
            }
          }
          puts((char const   *)(the_repository->hash_algo)->name);
          goto __Cont;
        }
        tmp___99 = strcmp(arg, (char const   *)"--end-of-options");
        if (! tmp___99) {
          seen_end_of_options = 1;
          if (filter & 5) {
            show_file___0(arg, 0);
          }
          goto __Cont;
        }
        tmp___100 = show_flag(arg);
        if (tmp___100) {
          if (verify___0) {
            die_no_single_rev(quiet___7);
          }
        }
        goto __Cont;
      }
    }
    tmp___101 = try_difference(arg);
    if (tmp___101) {
      goto __Cont;
    }
    tmp___102 = try_parent_shorthands(arg);
    if (tmp___102) {
      goto __Cont;
    }
    name___0 = arg;
    type___0 = 0;
    if ((int const   )*arg == 94) {
      name___0 ++;
      type___0 = 1;
    }
    tmp___103 = get_oid_with_context(the_repository, name___0, flags___0, & oid, & unused);
    if (! tmp___103) {
      if (verify___0) {
        revs_count ++;
      } else {
        show_rev(type___0, (struct object_id  const  *)(& oid), name___0);
      }
      goto __Cont;
    }
    if (verify___0) {
      die_no_single_rev(quiet___7);
    }
    if (has_dashdash) {
      tmp___104 = _((char const   *)"bad revision \'%s\'");
      die((char const   *)tmp___104, arg);
    }
    as_is = 1;
    tmp___105 = show_file___0(arg, output_prefix___0);
    if (! tmp___105) {
      goto __Cont;
    }
    verify_filename(prefix___1, arg, 1);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  if (verify___0) {
    if (revs_count == 1) {
      show_rev(type___0, (struct object_id  const  *)(& oid), name___0);
      return (0);
    } else
    if (revs_count == 0) {
      tmp___106 = show_default();
      if (tmp___106) {
        return (0);
      }
    }
    die_no_single_rev(quiet___7);
  } else {
    show_default();
  }
  return (0);
}
}
static double const   __ac_HASH_UPPER___155  =    (double const   )0.77;
__inline static void kh_resize_oid_set___155(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___155(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___155 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___155 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___155(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___155(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___155(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___155(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___155(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___155(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___155 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___155 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___155(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___155(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___155(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___155(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___155(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___155(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___155 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___155 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___155(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___155(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___155(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___155(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *revert_usage[3]  = {      (char const   *)"git revert [<options>] <commit-ish>...",      (char const   *)"git revert <subcommand>",      (char const   *)((void *)0)};
static char const   *cherry_pick_usage[3]  = {      (char const   *)"git cherry-pick [<options>] <commit-ish>...",      (char const   *)"git cherry-pick <subcommand>",      (char const   *)((void *)0)};
static char const   *action_name___0(struct replay_opts  const  *opts___1 )
{
  char *tmp ;

  {
  if ((unsigned int )opts___1->action == 0U) {
    tmp = "revert";
  } else {
    tmp = "cherry-pick";
  }
  return ((char const   *)tmp);
}
}
static char const   **revert_or_cherry_pick_usage(struct replay_opts *opts___1 )
{
  char const   **tmp ;

  {
  if ((unsigned int )opts___1->action == 0U) {
    tmp = revert_usage;
  } else {
    tmp = cherry_pick_usage;
  }
  return (tmp);
}
}
static int option_parse_x___0(struct option  const  *opt___0 , char const   *arg ,
                              int unset )
{
  struct replay_opts **opts_ptr ;
  struct replay_opts *opts___1 ;
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;

  {
  opts_ptr = (struct replay_opts **)opt___0->value;
  opts___1 = *opts_ptr;
  if (unset) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (opts___1->xopts_nr + 1UL > opts___1->xopts_alloc) {
      if (((opts___1->xopts_alloc + 16UL) * 3UL) / 2UL < opts___1->xopts_nr + 1UL) {
        opts___1->xopts_alloc = opts___1->xopts_nr + 1UL;
      } else {
        opts___1->xopts_alloc = ((opts___1->xopts_alloc + 16UL) * 3UL) / 2UL;
      }
      tmp = st_mult(sizeof(*(opts___1->xopts)), opts___1->xopts_alloc);
      tmp___0 = xrealloc((void *)opts___1->xopts, tmp);
      opts___1->xopts = (char **)tmp___0;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = opts___1->xopts_nr;
  (opts___1->xopts_nr) ++;
  *(opts___1->xopts + tmp___1) = xstrdup(arg);
  return (0);
}
}
static int option_parse_m(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct replay_opts *replay ;
  char *end ;
  long tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  replay = (struct replay_opts *)opt___0->value;
  if (unset) {
    replay->mainline = 0;
    return (0);
  }
  tmp = strtol((char const   * __restrict  )arg, (char ** __restrict  )(& end), 10);
  replay->mainline = (int )tmp;
  if (*end) {
    tmp___0 = _((char const   *)"option `%s\' expects a number greater than zero");
    error((char const   *)tmp___0, opt___0->long_name);
    tmp___1 = const_error();
    return (tmp___1);
  } else
  if (replay->mainline <= 0) {
    tmp___0 = _((char const   *)"option `%s\' expects a number greater than zero");
    error((char const   *)tmp___0, opt___0->long_name);
    tmp___1 = const_error();
    return (tmp___1);
  }
  return (0);
}
}
static void __attribute__((__sentinel__))  verify_opt_compatible(char const   *me ,
                                                                 char const   *base_opt
                                                                 , ...)
{
  char const   *this_opt ;
  va_list ap ;
  int tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  __builtin_va_start(ap, base_opt);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = __builtin_va_arg(ap, char const   *);
    this_opt = tmp___1;
    if (! this_opt) {
      goto while_break;
    }
    tmp___0 = __builtin_va_arg(ap, int );
    if (tmp___0) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  __builtin_va_end(ap);
  if (this_opt) {
    tmp___2 = _((char const   *)"%s: %s cannot be used with %s");
    die((char const   *)tmp___2, me, this_opt, base_opt);
  }
  return;
}
}
static int run_sequencer(int argc , char const   **argv___0 , struct replay_opts *opts___1 )
{
  char const   **usage_str___1 ;
  char const   **tmp ;
  char const   *me ;
  char const   *tmp___0 ;
  char const   *cleanup_arg___2 ;
  int cmd ;
  struct option base_options[15] ;
  struct option *options ;
  struct option cp_extra[6] ;
  char *this_operation ;
  int tmp___1 ;
  int tmp___2 ;
  struct setup_revision_opt s_r_opt ;
  void *tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;
  char *tmp___6 ;
  int ret___67 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;

  {
  tmp = revert_or_cherry_pick_usage(opts___1);
  usage_str___1 = tmp;
  tmp___0 = action_name___0((struct replay_opts  const  *)opts___1);
  me = tmp___0;
  cleanup_arg___2 = (char const   *)((void *)0);
  cmd = 0;
  base_options[0].type = (enum parse_opt_type )8;
  base_options[0].short_name = 0;
  base_options[0].long_name = (char const   *)"quit";
  base_options[0].value = (void *)(& cmd);
  base_options[0].argh = (char const   *)((void *)0);
  base_options[0].help = (char const   *)"end revert or cherry-pick sequence";
  base_options[0].flags = (enum parse_opt_option_flags )2054;
  base_options[0].callback = (parse_opt_cb *)((void *)0);
  base_options[0].defval = (intptr_t )'q';
  base_options[0].ll_callback = (parse_opt_ll_cb *)0;
  base_options[0].extra = 0L;
  base_options[1].type = (enum parse_opt_type )8;
  base_options[1].short_name = 0;
  base_options[1].long_name = (char const   *)"continue";
  base_options[1].value = (void *)(& cmd);
  base_options[1].argh = (char const   *)((void *)0);
  base_options[1].help = (char const   *)"resume revert or cherry-pick sequence";
  base_options[1].flags = (enum parse_opt_option_flags )2054;
  base_options[1].callback = (parse_opt_cb *)((void *)0);
  base_options[1].defval = (intptr_t )'c';
  base_options[1].ll_callback = (parse_opt_ll_cb *)0;
  base_options[1].extra = 0L;
  base_options[2].type = (enum parse_opt_type )8;
  base_options[2].short_name = 0;
  base_options[2].long_name = (char const   *)"abort";
  base_options[2].value = (void *)(& cmd);
  base_options[2].argh = (char const   *)((void *)0);
  base_options[2].help = (char const   *)"cancel revert or cherry-pick sequence";
  base_options[2].flags = (enum parse_opt_option_flags )2054;
  base_options[2].callback = (parse_opt_cb *)((void *)0);
  base_options[2].defval = (intptr_t )'a';
  base_options[2].ll_callback = (parse_opt_ll_cb *)0;
  base_options[2].extra = 0L;
  base_options[3].type = (enum parse_opt_type )8;
  base_options[3].short_name = 0;
  base_options[3].long_name = (char const   *)"skip";
  base_options[3].value = (void *)(& cmd);
  base_options[3].argh = (char const   *)((void *)0);
  base_options[3].help = (char const   *)"skip current commit and continue";
  base_options[3].flags = (enum parse_opt_option_flags )2054;
  base_options[3].callback = (parse_opt_cb *)((void *)0);
  base_options[3].defval = (intptr_t )'s';
  base_options[3].ll_callback = (parse_opt_ll_cb *)0;
  base_options[3].extra = 0L;
  base_options[4].type = (enum parse_opt_type )9;
  base_options[4].short_name = 0;
  base_options[4].long_name = (char const   *)"cleanup";
  base_options[4].value = (void *)(& cleanup_arg___2);
  base_options[4].argh = (char const   *)"mode";
  base_options[4].help = (char const   *)"how to strip spaces and #comments from message";
  base_options[4].flags = (enum parse_opt_option_flags )0;
  base_options[4].callback = (parse_opt_cb *)0;
  base_options[4].defval = 0L;
  base_options[4].ll_callback = (parse_opt_ll_cb *)0;
  base_options[4].extra = 0L;
  base_options[5].type = (enum parse_opt_type )8;
  base_options[5].short_name = 'n';
  base_options[5].long_name = (char const   *)"no-commit";
  base_options[5].value = (void *)(& opts___1->no_commit);
  base_options[5].argh = (char const   *)((void *)0);
  base_options[5].help = (char const   *)"don\'t automatically commit";
  base_options[5].flags = (enum parse_opt_option_flags )2;
  base_options[5].callback = (parse_opt_cb *)((void *)0);
  base_options[5].defval = (intptr_t )1;
  base_options[5].ll_callback = (parse_opt_ll_cb *)0;
  base_options[5].extra = 0L;
  base_options[6].type = (enum parse_opt_type )8;
  base_options[6].short_name = 'e';
  base_options[6].long_name = (char const   *)"edit";
  base_options[6].value = (void *)(& opts___1->edit);
  base_options[6].argh = (char const   *)((void *)0);
  base_options[6].help = (char const   *)"edit the commit message";
  base_options[6].flags = (enum parse_opt_option_flags )2;
  base_options[6].callback = (parse_opt_cb *)((void *)0);
  base_options[6].defval = (intptr_t )1;
  base_options[6].ll_callback = (parse_opt_ll_cb *)0;
  base_options[6].extra = 0L;
  base_options[7].type = (enum parse_opt_type )12;
  base_options[7].short_name = 'r';
  base_options[7].long_name = (char const   *)((void *)0);
  base_options[7].value = (void *)0;
  base_options[7].argh = (char const   *)((void *)0);
  base_options[7].help = (char const   *)"no-op (backward compatibility)";
  base_options[7].flags = (enum parse_opt_option_flags )10;
  base_options[7].callback = & parse_opt_noop_cb;
  base_options[7].defval = 0L;
  base_options[7].ll_callback = (parse_opt_ll_cb *)0;
  base_options[7].extra = 0L;
  base_options[8].type = (enum parse_opt_type )8;
  base_options[8].short_name = 's';
  base_options[8].long_name = (char const   *)"signoff";
  base_options[8].value = (void *)(& opts___1->signoff);
  base_options[8].argh = (char const   *)((void *)0);
  base_options[8].help = (char const   *)"add a Signed-off-by trailer";
  base_options[8].flags = (enum parse_opt_option_flags )2;
  base_options[8].callback = (parse_opt_cb *)((void *)0);
  base_options[8].defval = (intptr_t )1;
  base_options[8].ll_callback = (parse_opt_ll_cb *)0;
  base_options[8].extra = 0L;
  base_options[9].type = (enum parse_opt_type )12;
  base_options[9].short_name = 'm';
  base_options[9].long_name = (char const   *)"mainline";
  base_options[9].value = (void *)opts___1;
  base_options[9].argh = (char const   *)"parent-number";
  base_options[9].help = (char const   *)"select mainline parent";
  base_options[9].flags = (enum parse_opt_option_flags )0;
  base_options[9].callback = & option_parse_m;
  base_options[9].defval = 0L;
  base_options[9].ll_callback = (parse_opt_ll_cb *)0;
  base_options[9].extra = 0L;
  base_options[10].type = (enum parse_opt_type )12;
  base_options[10].short_name = 0;
  base_options[10].long_name = (char const   *)"rerere-autoupdate";
  base_options[10].value = (void *)(& opts___1->allow_rerere_auto);
  base_options[10].argh = (char const   *)((void *)0);
  base_options[10].help = (char const   *)"update the index with reused conflict resolution if possible";
  base_options[10].flags = (enum parse_opt_option_flags )2;
  base_options[10].callback = & parse_opt_tertiary;
  base_options[10].defval = 0L;
  base_options[10].ll_callback = (parse_opt_ll_cb *)0;
  base_options[10].extra = 0L;
  base_options[11].type = (enum parse_opt_type )9;
  base_options[11].short_name = 0;
  base_options[11].long_name = (char const   *)"strategy";
  base_options[11].value = (void *)(& opts___1->strategy);
  base_options[11].argh = (char const   *)"strategy";
  base_options[11].help = (char const   *)"merge strategy";
  base_options[11].flags = (enum parse_opt_option_flags )0;
  base_options[11].callback = (parse_opt_cb *)0;
  base_options[11].defval = 0L;
  base_options[11].ll_callback = (parse_opt_ll_cb *)0;
  base_options[11].extra = 0L;
  base_options[12].type = (enum parse_opt_type )12;
  base_options[12].short_name = 'X';
  base_options[12].long_name = (char const   *)"strategy-option";
  base_options[12].value = (void *)(& opts___1);
  base_options[12].argh = (char const   *)"option";
  base_options[12].help = (char const   *)"option for merge strategy";
  base_options[12].flags = (enum parse_opt_option_flags )0;
  base_options[12].callback = & option_parse_x___0;
  base_options[12].defval = 0L;
  base_options[12].ll_callback = (parse_opt_ll_cb *)0;
  base_options[12].extra = 0L;
  base_options[13].type = (enum parse_opt_type )9;
  base_options[13].short_name = 'S';
  base_options[13].long_name = (char const   *)"gpg-sign";
  base_options[13].value = (void *)(& opts___1->gpg_sign);
  base_options[13].argh = (char const   *)"key-id";
  base_options[13].help = (char const   *)"GPG sign commit";
  base_options[13].flags = (enum parse_opt_option_flags )1;
  base_options[13].callback = (parse_opt_cb *)((void *)0);
  base_options[13].defval = (intptr_t )"";
  base_options[13].ll_callback = (parse_opt_ll_cb *)0;
  base_options[13].extra = 0L;
  base_options[14].type = (enum parse_opt_type )0;
  base_options[14].short_name = 0;
  base_options[14].long_name = (char const   *)0;
  base_options[14].value = (void *)0;
  base_options[14].argh = (char const   *)0;
  base_options[14].help = (char const   *)0;
  base_options[14].flags = 0U;
  base_options[14].callback = (parse_opt_cb *)0;
  base_options[14].defval = 0L;
  base_options[14].ll_callback = (parse_opt_ll_cb *)0;
  base_options[14].extra = 0L;
  options = base_options;
  if ((unsigned int )opts___1->action == 1U) {
    cp_extra[0].type = (enum parse_opt_type )8;
    cp_extra[0].short_name = 'x';
    cp_extra[0].long_name = (char const   *)((void *)0);
    cp_extra[0].value = (void *)(& opts___1->record_origin);
    cp_extra[0].argh = (char const   *)((void *)0);
    cp_extra[0].help = (char const   *)"append commit name";
    cp_extra[0].flags = (enum parse_opt_option_flags )2;
    cp_extra[0].callback = (parse_opt_cb *)((void *)0);
    cp_extra[0].defval = (intptr_t )1;
    cp_extra[0].ll_callback = (parse_opt_ll_cb *)0;
    cp_extra[0].extra = 0L;
    cp_extra[1].type = (enum parse_opt_type )8;
    cp_extra[1].short_name = 0;
    cp_extra[1].long_name = (char const   *)"ff";
    cp_extra[1].value = (void *)(& opts___1->allow_ff);
    cp_extra[1].argh = (char const   *)((void *)0);
    cp_extra[1].help = (char const   *)"allow fast-forward";
    cp_extra[1].flags = (enum parse_opt_option_flags )2;
    cp_extra[1].callback = (parse_opt_cb *)((void *)0);
    cp_extra[1].defval = (intptr_t )1;
    cp_extra[1].ll_callback = (parse_opt_ll_cb *)0;
    cp_extra[1].extra = 0L;
    cp_extra[2].type = (enum parse_opt_type )8;
    cp_extra[2].short_name = 0;
    cp_extra[2].long_name = (char const   *)"allow-empty";
    cp_extra[2].value = (void *)(& opts___1->allow_empty);
    cp_extra[2].argh = (char const   *)((void *)0);
    cp_extra[2].help = (char const   *)"preserve initially empty commits";
    cp_extra[2].flags = (enum parse_opt_option_flags )2;
    cp_extra[2].callback = (parse_opt_cb *)((void *)0);
    cp_extra[2].defval = (intptr_t )1;
    cp_extra[2].ll_callback = (parse_opt_ll_cb *)0;
    cp_extra[2].extra = 0L;
    cp_extra[3].type = (enum parse_opt_type )8;
    cp_extra[3].short_name = 0;
    cp_extra[3].long_name = (char const   *)"allow-empty-message";
    cp_extra[3].value = (void *)(& opts___1->allow_empty_message);
    cp_extra[3].argh = (char const   *)((void *)0);
    cp_extra[3].help = (char const   *)"allow commits with empty messages";
    cp_extra[3].flags = (enum parse_opt_option_flags )2;
    cp_extra[3].callback = (parse_opt_cb *)((void *)0);
    cp_extra[3].defval = (intptr_t )1;
    cp_extra[3].ll_callback = (parse_opt_ll_cb *)0;
    cp_extra[3].extra = 0L;
    cp_extra[4].type = (enum parse_opt_type )8;
    cp_extra[4].short_name = 0;
    cp_extra[4].long_name = (char const   *)"keep-redundant-commits";
    cp_extra[4].value = (void *)(& opts___1->keep_redundant_commits);
    cp_extra[4].argh = (char const   *)((void *)0);
    cp_extra[4].help = (char const   *)"keep redundant, empty commits";
    cp_extra[4].flags = (enum parse_opt_option_flags )2;
    cp_extra[4].callback = (parse_opt_cb *)((void *)0);
    cp_extra[4].defval = (intptr_t )1;
    cp_extra[4].ll_callback = (parse_opt_ll_cb *)0;
    cp_extra[4].extra = 0L;
    cp_extra[5].type = (enum parse_opt_type )0;
    cp_extra[5].short_name = 0;
    cp_extra[5].long_name = (char const   *)0;
    cp_extra[5].value = (void *)0;
    cp_extra[5].argh = (char const   *)0;
    cp_extra[5].help = (char const   *)0;
    cp_extra[5].flags = 0U;
    cp_extra[5].callback = (parse_opt_cb *)0;
    cp_extra[5].defval = 0L;
    cp_extra[5].ll_callback = (parse_opt_ll_cb *)0;
    cp_extra[5].extra = 0L;
    options = parse_options_concat((struct option  const  *)options, (struct option  const  *)(cp_extra));
  }
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)options,
                       usage_str___1, (enum parse_opt_flags )12);
  prepare_repo_settings(the_repository);
  the_repository->settings.command_requires_full_index = 0;
  if (opts___1->keep_redundant_commits) {
    opts___1->allow_empty = 1;
  }
  if (cleanup_arg___2) {
    opts___1->default_msg_cleanup = get_cleanup_mode(cleanup_arg___2, 1);
    opts___1->explicit_cleanup = 1;
  }
  if (cmd) {
    if (cmd == 113) {
      this_operation = "--quit";
    } else
    if (cmd == 99) {
      this_operation = "--continue";
    } else
    if (cmd == 115) {
      this_operation = "--skip";
    } else {
      assert(cmd == 97);
      this_operation = "--abort";
    }
    if (opts___1->xopts) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
    if (opts___1->strategy) {
      tmp___2 = 1;
    } else {
      tmp___2 = 0;
    }
    verify_opt_compatible(me, (char const   *)this_operation, "--no-commit", opts___1->no_commit,
                          "--signoff", opts___1->signoff, "--mainline", opts___1->mainline,
                          "--strategy", tmp___2, "--strategy-option", tmp___1, "-x",
                          opts___1->record_origin, "--ff", opts___1->allow_ff, "--rerere-autoupdate",
                          opts___1->allow_rerere_auto == 01, "--no-rerere-autoupdate",
                          opts___1->allow_rerere_auto == 02, (void *)0);
  }
  if (! opts___1->strategy) {
    if (opts___1->default_strategy) {
      opts___1->strategy = opts___1->default_strategy;
      opts___1->default_strategy = (char *)((void *)0);
    }
  }
  if (opts___1->allow_ff) {
    verify_opt_compatible(me, (char const   *)"--ff", "--signoff", opts___1->signoff,
                          "--no-commit", opts___1->no_commit, "-x", opts___1->record_origin,
                          "--edit", opts___1->edit > 0, (void *)0);
  }
  if (cmd) {
    opts___1->revs = (struct rev_info *)((void *)0);
  } else {
    tmp___3 = xmalloc(sizeof(*(opts___1->revs)));
    opts___1->revs = (struct rev_info *)tmp___3;
    repo_init_revisions(the_repository, opts___1->revs, (char const   *)((void *)0));
    (opts___1->revs)->no_walk = 1U;
    (opts___1->revs)->unsorted_input = 1U;
    if (argc < 2) {
      usage_with_options(usage_str___1, (struct option  const  *)options);
    }
    tmp___4 = strcmp(*(argv___0 + 1), (char const   *)"-");
    if (! tmp___4) {
      *(argv___0 + 1) = (char const   *)"@{-1}";
    }
    memset((void *)(& s_r_opt), 0, sizeof(s_r_opt));
    s_r_opt.assume_dashdash = 1U;
    argc = setup_revisions(argc, argv___0, opts___1->revs, & s_r_opt);
  }
  if (argc > 1) {
    usage_with_options(usage_str___1, (struct option  const  *)options);
  }
  opts___1->gpg_sign = xstrdup_or_null((char const   *)opts___1->gpg_sign);
  opts___1->strategy = xstrdup_or_null((char const   *)opts___1->strategy);
  if (! opts___1->strategy) {
    tmp___6 = getenv((char const   *)"GIT_TEST_MERGE_ALGORITHM");
    if (tmp___6) {
      tmp___5 = getenv((char const   *)"GIT_TEST_MERGE_ALGORITHM");
      opts___1->strategy = xstrdup((char const   *)tmp___5);
    }
  }
  if (cmd == 113) {
    tmp___7 = sequencer_remove_state(opts___1);
    ret___67 = tmp___7;
    if (! ret___67) {
      remove_branch_state(the_repository, 0);
    }
    return (ret___67);
  }
  if (cmd == 99) {
    tmp___8 = sequencer_continue(the_repository, opts___1);
    return (tmp___8);
  }
  if (cmd == 97) {
    tmp___9 = sequencer_rollback(the_repository, opts___1);
    return (tmp___9);
  }
  if (cmd == 115) {
    tmp___10 = sequencer_skip(the_repository, opts___1);
    return (tmp___10);
  }
  tmp___11 = sequencer_pick_revisions(the_repository, opts___1);
  return (tmp___11);
}
}
int cmd_revert(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct replay_opts opts___1 ;
  int res ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  opts___1.action = (enum replay_action )-1;
  opts___1.edit = -1;
  opts___1.record_origin = 0;
  opts___1.no_commit = 0;
  opts___1.signoff = 0;
  opts___1.allow_ff = 0;
  opts___1.allow_rerere_auto = 0;
  opts___1.allow_empty = 0;
  opts___1.allow_empty_message = 0;
  opts___1.drop_redundant_commits = 0;
  opts___1.keep_redundant_commits = 0;
  opts___1.verbose = 0;
  opts___1.quiet = 0;
  opts___1.reschedule_failed_exec = 0;
  opts___1.committer_date_is_author_date = 0;
  opts___1.ignore_date = 0;
  opts___1.mainline = 0;
  opts___1.gpg_sign = (char *)0;
  opts___1.default_msg_cleanup = 0U;
  opts___1.explicit_cleanup = 0;
  opts___1.default_strategy = (char *)0;
  opts___1.strategy = (char *)0;
  opts___1.xopts = (char **)0;
  opts___1.xopts_nr = 0UL;
  opts___1.xopts_alloc = 0UL;
  opts___1.current_fixups.alloc = 0UL;
  opts___1.current_fixups.len = 0UL;
  opts___1.current_fixups.buf = strbuf_slopbuf;
  opts___1.current_fixup_count = 0;
  opts___1.squash_onto.hash[0] = (unsigned char)0;
  opts___1.squash_onto.hash[1] = (unsigned char)0;
  opts___1.squash_onto.hash[2] = (unsigned char)0;
  opts___1.squash_onto.hash[3] = (unsigned char)0;
  opts___1.squash_onto.hash[4] = (unsigned char)0;
  opts___1.squash_onto.hash[5] = (unsigned char)0;
  opts___1.squash_onto.hash[6] = (unsigned char)0;
  opts___1.squash_onto.hash[7] = (unsigned char)0;
  opts___1.squash_onto.hash[8] = (unsigned char)0;
  opts___1.squash_onto.hash[9] = (unsigned char)0;
  opts___1.squash_onto.hash[10] = (unsigned char)0;
  opts___1.squash_onto.hash[11] = (unsigned char)0;
  opts___1.squash_onto.hash[12] = (unsigned char)0;
  opts___1.squash_onto.hash[13] = (unsigned char)0;
  opts___1.squash_onto.hash[14] = (unsigned char)0;
  opts___1.squash_onto.hash[15] = (unsigned char)0;
  opts___1.squash_onto.hash[16] = (unsigned char)0;
  opts___1.squash_onto.hash[17] = (unsigned char)0;
  opts___1.squash_onto.hash[18] = (unsigned char)0;
  opts___1.squash_onto.hash[19] = (unsigned char)0;
  opts___1.squash_onto.hash[20] = (unsigned char)0;
  opts___1.squash_onto.hash[21] = (unsigned char)0;
  opts___1.squash_onto.hash[22] = (unsigned char)0;
  opts___1.squash_onto.hash[23] = (unsigned char)0;
  opts___1.squash_onto.hash[24] = (unsigned char)0;
  opts___1.squash_onto.hash[25] = (unsigned char)0;
  opts___1.squash_onto.hash[26] = (unsigned char)0;
  opts___1.squash_onto.hash[27] = (unsigned char)0;
  opts___1.squash_onto.hash[28] = (unsigned char)0;
  opts___1.squash_onto.hash[29] = (unsigned char)0;
  opts___1.squash_onto.hash[30] = (unsigned char)0;
  opts___1.squash_onto.hash[31] = (unsigned char)0;
  opts___1.squash_onto.algo = 0;
  opts___1.have_squash_onto = 0;
  opts___1.revs = (struct rev_info *)0;
  opts___1.action = (enum replay_action )0;
  sequencer_init_config(& opts___1);
  res = run_sequencer(argc, argv___0, & opts___1);
  if (res < 0) {
    tmp = _((char const   *)"revert failed");
    die((char const   *)tmp);
  }
  return (res);
}
}
int cmd_cherry_pick(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct replay_opts opts___1 ;
  int res ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  opts___1.action = (enum replay_action )-1;
  opts___1.edit = -1;
  opts___1.record_origin = 0;
  opts___1.no_commit = 0;
  opts___1.signoff = 0;
  opts___1.allow_ff = 0;
  opts___1.allow_rerere_auto = 0;
  opts___1.allow_empty = 0;
  opts___1.allow_empty_message = 0;
  opts___1.drop_redundant_commits = 0;
  opts___1.keep_redundant_commits = 0;
  opts___1.verbose = 0;
  opts___1.quiet = 0;
  opts___1.reschedule_failed_exec = 0;
  opts___1.committer_date_is_author_date = 0;
  opts___1.ignore_date = 0;
  opts___1.mainline = 0;
  opts___1.gpg_sign = (char *)0;
  opts___1.default_msg_cleanup = 0U;
  opts___1.explicit_cleanup = 0;
  opts___1.default_strategy = (char *)0;
  opts___1.strategy = (char *)0;
  opts___1.xopts = (char **)0;
  opts___1.xopts_nr = 0UL;
  opts___1.xopts_alloc = 0UL;
  opts___1.current_fixups.alloc = 0UL;
  opts___1.current_fixups.len = 0UL;
  opts___1.current_fixups.buf = strbuf_slopbuf;
  opts___1.current_fixup_count = 0;
  opts___1.squash_onto.hash[0] = (unsigned char)0;
  opts___1.squash_onto.hash[1] = (unsigned char)0;
  opts___1.squash_onto.hash[2] = (unsigned char)0;
  opts___1.squash_onto.hash[3] = (unsigned char)0;
  opts___1.squash_onto.hash[4] = (unsigned char)0;
  opts___1.squash_onto.hash[5] = (unsigned char)0;
  opts___1.squash_onto.hash[6] = (unsigned char)0;
  opts___1.squash_onto.hash[7] = (unsigned char)0;
  opts___1.squash_onto.hash[8] = (unsigned char)0;
  opts___1.squash_onto.hash[9] = (unsigned char)0;
  opts___1.squash_onto.hash[10] = (unsigned char)0;
  opts___1.squash_onto.hash[11] = (unsigned char)0;
  opts___1.squash_onto.hash[12] = (unsigned char)0;
  opts___1.squash_onto.hash[13] = (unsigned char)0;
  opts___1.squash_onto.hash[14] = (unsigned char)0;
  opts___1.squash_onto.hash[15] = (unsigned char)0;
  opts___1.squash_onto.hash[16] = (unsigned char)0;
  opts___1.squash_onto.hash[17] = (unsigned char)0;
  opts___1.squash_onto.hash[18] = (unsigned char)0;
  opts___1.squash_onto.hash[19] = (unsigned char)0;
  opts___1.squash_onto.hash[20] = (unsigned char)0;
  opts___1.squash_onto.hash[21] = (unsigned char)0;
  opts___1.squash_onto.hash[22] = (unsigned char)0;
  opts___1.squash_onto.hash[23] = (unsigned char)0;
  opts___1.squash_onto.hash[24] = (unsigned char)0;
  opts___1.squash_onto.hash[25] = (unsigned char)0;
  opts___1.squash_onto.hash[26] = (unsigned char)0;
  opts___1.squash_onto.hash[27] = (unsigned char)0;
  opts___1.squash_onto.hash[28] = (unsigned char)0;
  opts___1.squash_onto.hash[29] = (unsigned char)0;
  opts___1.squash_onto.hash[30] = (unsigned char)0;
  opts___1.squash_onto.hash[31] = (unsigned char)0;
  opts___1.squash_onto.algo = 0;
  opts___1.have_squash_onto = 0;
  opts___1.revs = (struct rev_info *)0;
  opts___1.action = (enum replay_action )1;
  sequencer_init_config(& opts___1);
  res = run_sequencer(argc, argv___0, & opts___1);
  if (res < 0) {
    tmp = _((char const   *)"cherry-pick failed");
    die((char const   *)tmp);
  }
  return (res);
}
}
static char const   *builtin_rm_usage[2]  = {      (char const   *)"git rm [<options>] [--] <file>...",      (char const   *)((void *)0)};
static struct __anonstruct_list_163101298 list___1  ;
static int get_ours_cache_pos(char const   *path___6 , int pos )
{
  int i ;
  int tmp ;

  {
  i = - pos - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if ((unsigned int )i < the_index.cache_nr) {
      tmp = strcmp((char const   *)((*(the_index.cache + i))->name), path___6);
      if (tmp) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    if ((12288U & (*(the_index.cache + i))->ce_flags) >> 12 == 2U) {
      return (i);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (-1);
}
}
static void print_error_files(struct string_list *files_list , char const   *main_msg ,
                              char const   *hints_msg , int *errs )
{
  int i ;
  struct strbuf err_msg ;
  int tmp ;

  {
  if (files_list->nr) {
    err_msg.alloc = 0UL;
    err_msg.len = 0UL;
    err_msg.buf = strbuf_slopbuf;
    strbuf_addstr(& err_msg, main_msg);
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )i < files_list->nr)) {
        goto while_break;
      }
      strbuf_addf(& err_msg, (char const   *)"\n    %s", (files_list->items + i)->string);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    tmp = advice_enabled((enum advice_type )24);
    if (tmp) {
      strbuf_addstr(& err_msg, hints_msg);
    }
    error((char const   *)"%s", err_msg.buf);
    *errs = const_error();
    strbuf_release(& err_msg);
  }
  return;
}
}
static void submodules_absorb_gitdir_if_needed(void)
{
  int i ;
  char const   *name___0 ;
  int pos ;
  struct cache_entry  const  *ce ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < list___1.nr)) {
      goto while_break;
    }
    name___0 = (list___1.entry + i)->name;
    tmp = strlen(name___0);
    pos = index_name_pos(& the_index, name___0, (int )tmp);
    if (pos < 0) {
      pos = get_ours_cache_pos(name___0, pos);
      if (pos < 0) {
        goto __Cont;
      }
    }
    ce = (struct cache_entry  const  *)*(the_index.cache + pos);
    if (! ((ce->ce_mode & 61440U) == 57344U)) {
      goto __Cont;
    } else {
      tmp___0 = file_exists((char const   *)(ce->name));
      if (tmp___0) {
        tmp___1 = is_empty_dir(name___0);
        if (tmp___1) {
          goto __Cont;
        }
      } else {
        goto __Cont;
      }
    }
    tmp___2 = submodule_uses_gitfile(name___0);
    if (! tmp___2) {
      absorb_git_dir_into_superproject(name___0, 1U);
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int check_local_mod(struct object_id *head___1 , int index_only___0 )
{
  int i ;
  int no_head ;
  int errs ;
  struct string_list files_staged ;
  struct string_list files_cached ;
  struct string_list files_local ;
  struct stat st ;
  int pos ;
  struct cache_entry  const  *ce ;
  char const   *name___0 ;
  struct object_id oid ;
  unsigned short mode___1 ;
  int local_changes ;
  int staged_changes ;
  size_t tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  unsigned int tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___15 ;

  {
  errs = 0;
  files_staged.items = (struct string_list_item *)0;
  files_staged.nr = 0U;
  files_staged.alloc = 0U;
  files_staged.strdup_strings = 0U;
  files_staged.cmp = (int (*)(char const   * , char const   * ))0;
  files_cached.items = (struct string_list_item *)0;
  files_cached.nr = 0U;
  files_cached.alloc = 0U;
  files_cached.strdup_strings = 0U;
  files_cached.cmp = (int (*)(char const   * , char const   * ))0;
  files_local.items = (struct string_list_item *)0;
  files_local.nr = 0U;
  files_local.alloc = 0U;
  files_local.strdup_strings = 0U;
  files_local.cmp = (int (*)(char const   * , char const   * ))0;
  no_head = is_null_oid((struct object_id  const  *)head___1);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < list___1.nr)) {
      goto while_break;
    }
    name___0 = (list___1.entry + i)->name;
    local_changes = 0;
    staged_changes = 0;
    tmp = strlen(name___0);
    pos = index_name_pos(& the_index, name___0, (int )tmp);
    if (pos < 0) {
      pos = get_ours_cache_pos(name___0, pos);
      if (pos < 0) {
        goto __Cont;
      }
      if (! (((*(the_index.cache + pos))->ce_mode & 61440U) == 57344U)) {
        goto __Cont;
      } else {
        tmp___0 = is_empty_dir(name___0);
        if (tmp___0) {
          goto __Cont;
        }
      }
    }
    ce = (struct cache_entry  const  *)*(the_index.cache + pos);
    tmp___4 = lstat((char const   *)(ce->name), & st);
    if (tmp___4 < 0) {
      tmp___2 = __errno_location();
      tmp___3 = is_missing_file_error(*tmp___2);
      if (! tmp___3) {
        tmp___1 = _((char const   *)"failed to stat \'%s\'");
        warning_errno((char const   *)tmp___1, ce->name);
      }
      goto __Cont;
    } else
    if ((st.st_mode & 61440U) == 16384U) {
      if (! ((ce->ce_mode & 61440U) == 57344U)) {
        goto __Cont;
      }
    }
    tmp___5 = ie_match_stat(& the_index, ce, & st, 0U);
    if (tmp___5) {
      local_changes = 1;
    } else
    if ((ce->ce_mode & 61440U) == 57344U) {
      tmp___6 = bad_to_remove_submodule((char const   *)(ce->name), (unsigned int )(1 | (1 << 2)));
      if (tmp___6) {
        local_changes = 1;
      }
    }
    if (no_head) {
      staged_changes = 1;
    } else {
      tmp___7 = get_tree_entry(the_repository, (struct object_id  const  *)head___1,
                               name___0, & oid, & mode___1);
      if (tmp___7) {
        staged_changes = 1;
      } else {
        tmp___8 = create_ce_mode((unsigned int )mode___1);
        if (ce->ce_mode != (unsigned int )tmp___8) {
          staged_changes = 1;
        } else {
          tmp___9 = oideq((struct object_id  const  *)(& ce->oid), (struct object_id  const  *)(& oid));
          if (! tmp___9) {
            staged_changes = 1;
          }
        }
      }
    }
    if (local_changes) {
      if (staged_changes) {
        if (! index_only___0) {
          string_list_append(& files_staged, name___0);
        } else
        if (! (ce->ce_flags & (unsigned int )(1 << 29))) {
          string_list_append(& files_staged, name___0);
        }
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (! index_only___0) {
      if (staged_changes) {
        string_list_append(& files_cached, name___0);
      }
      if (local_changes) {
        string_list_append(& files_local, name___0);
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___10 = _((char const   *)"\n(use -f to force removal)");
  tmp___11 = Q_((char const   *)"the following file has staged content different from both the\nfile and the HEAD:",
                (char const   *)"the following files have staged content different from both the\nfile and the HEAD:",
                (unsigned long )files_staged.nr);
  print_error_files(& files_staged, (char const   *)tmp___11, (char const   *)tmp___10,
                    & errs);
  string_list_clear(& files_staged, 0);
  tmp___12 = _((char const   *)"\n(use --cached to keep the file, or -f to force removal)");
  tmp___13 = Q_((char const   *)"the following file has changes staged in the index:",
                (char const   *)"the following files have changes staged in the index:",
                (unsigned long )files_cached.nr);
  print_error_files(& files_cached, (char const   *)tmp___13, (char const   *)tmp___12,
                    & errs);
  string_list_clear(& files_cached, 0);
  tmp___14 = _((char const   *)"\n(use --cached to keep the file, or -f to force removal)");
  tmp___15 = Q_((char const   *)"the following file has local modifications:", (char const   *)"the following files have local modifications:",
                (unsigned long )files_local.nr);
  print_error_files(& files_local, (char const   *)tmp___15, (char const   *)tmp___14,
                    & errs);
  string_list_clear(& files_local, 0);
  return (errs);
}
}
static int show_only___1  =    0;
static int force___1  =    0;
static int index_only  =    0;
static int recursive  =    0;
static int quiet___3  =    0;
static int ignore_unmatch  =    0;
static int pathspec_file_nul___1  ;
static int include_sparse___0  ;
static char *pathspec_from_file___1  ;
static struct option builtin_rm_options[10]  =
  {      {(enum parse_opt_type )8, 'n', (char const   *)"dry-run", (void *)(& show_only___1),
      (char const   *)((void *)0), (char const   *)"dry run", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )7, 'q', (char const   *)"quiet", (void *)(& quiet___3),
      (char const   *)((void *)0), (char const   *)"do not list removed files", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"cached", (void *)(& index_only),
      (char const   *)((void *)0), (char const   *)"only remove from the index", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )7, 'f', (char const   *)"force", (void *)(& force___1),
      (char const   *)((void *)0), (char const   *)"override the up-to-date check",
      (enum parse_opt_option_flags )514, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )8, 'r', (char const   *)((void *)0), (void *)(& recursive),
      (char const   *)((void *)0), (char const   *)"allow recursive removal", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"ignore-unmatch", (void *)(& ignore_unmatch),
      (char const   *)((void *)0), (char const   *)"exit with a zero status even if nothing matched",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"sparse", (void *)(& include_sparse___0),
      (char const   *)((void *)0), (char const   *)"allow updating entries outside of the sparse-checkout cone",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )14, 0, (char const   *)"pathspec-from-file", (void *)(& pathspec_from_file___1),
      (char const   *)"file", (char const   *)"read pathspec from file", 0U, (parse_opt_cb *)0,
      0L, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"pathspec-file-nul", (void *)(& pathspec_file_nul___1),
      (char const   *)((void *)0), (char const   *)"with --pathspec-from-file, pathspec elements are separated with NUL character",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
int cmd_rm(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct lock_file lock_file___0 ;
  int i ;
  int ret___67 ;
  struct pathspec pathspec___1 ;
  char *seen___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  void *tmp___4 ;
  struct cache_entry  const  *ce ;
  int tmp___5 ;
  int tmp___6 ;
  size_t tmp___7 ;
  void *tmp___8 ;
  char *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  char const   *original ;
  int seen_any ;
  char *skip_worktree_seen ;
  struct string_list only_match_skip_worktree ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;
  char const   *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  int tmp___17 ;
  struct object_id oid ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  char const   *path___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___21 ;
  int tmp___22 ;
  int removed ;
  int gitmodules_modified ;
  struct strbuf buf___19 ;
  int flag ;
  int tmp___23 ;
  char const   *path___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;
  int tmp___27 ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  int tmp___29 ;

  {
  lock_file___0.tempfile = (struct tempfile *)0;
  ret___67 = 0;
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(builtin_rm_options),
                       builtin_rm_usage, (enum parse_opt_flags )0);
  parse_pathspec(& pathspec___1, 0U, 1U, prefix___1, argv___0);
  if (pathspec_from_file___1) {
    if (pathspec___1.nr) {
      tmp = _((char const   *)"\'%s\' and pathspec arguments cannot be used together");
      die((char const   *)tmp, "--pathspec-from-file");
    }
    parse_pathspec_file(& pathspec___1, 0U, 1U, prefix___1, (char const   *)pathspec_from_file___1,
                        pathspec_file_nul___1);
  } else
  if (pathspec_file_nul___1) {
    tmp___0 = _((char const   *)"the option \'%s\' requires \'%s\'");
    die((char const   *)tmp___0, "--pathspec-file-nul", "--pathspec-from-file");
  }
  if (! pathspec___1.nr) {
    tmp___1 = _((char const   *)"No pathspec was given. Which files should I remove?");
    die((char const   *)tmp___1);
  }
  if (! index_only) {
    setup_work_tree();
  }
  repo_hold_locked_index(the_repository, & lock_file___0, 1);
  tmp___3 = repo_read_index(the_repository);
  if (tmp___3 < 0) {
    tmp___2 = _((char const   *)"index file corrupt");
    die((char const   *)tmp___2);
  }
  refresh_index(& the_index, (unsigned int )((1 << 2) | (1 << 1)), (struct pathspec  const  *)(& pathspec___1),
                (char *)((void *)0), (char const   *)((void *)0));
  tmp___4 = xcalloc((size_t )pathspec___1.nr, (size_t )1);
  seen___0 = (char *)tmp___4;
  ensure_full_index(& the_index);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < the_index.cache_nr)) {
      goto while_break;
    }
    ce = (struct cache_entry  const  *)*(the_index.cache + i);
    if (! include_sparse___0) {
      if (ce->ce_flags & (unsigned int )(1 << 30)) {
        goto __Cont;
      } else {
        tmp___5 = path_in_sparse_checkout((char const   *)(ce->name), & the_index);
        if (! tmp___5) {
          goto __Cont;
        }
      }
    }
    tmp___6 = ce_path_match(& the_index, ce, (struct pathspec  const  *)(& pathspec___1),
                            seen___0);
    if (! tmp___6) {
      goto __Cont;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (list___1.nr + 1 > list___1.alloc) {
        if (((list___1.alloc + 16) * 3) / 2 < list___1.nr + 1) {
          list___1.alloc = list___1.nr + 1;
        } else {
          list___1.alloc = ((list___1.alloc + 16) * 3) / 2;
        }
        tmp___7 = st_mult(sizeof(*(list___1.entry)), (size_t )list___1.alloc);
        tmp___8 = xrealloc((void *)list___1.entry, tmp___7);
        list___1.entry = (struct __anonstruct_entry_68445535 *)tmp___8;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___9 = xstrdup((char const   *)(ce->name));
    (list___1.entry + list___1.nr)->name = (char const   *)tmp___9;
    (list___1.entry + list___1.nr)->is_submodule = (char )((ce->ce_mode & 61440U) == 57344U);
    tmp___11 = list___1.nr;
    (list___1.nr) ++;
    if ((list___1.entry + tmp___11)->is_submodule) {
      tmp___12 = is_staging_gitmodules_ok(& the_index);
      if (! tmp___12) {
        tmp___10 = _((char const   *)"please stage your changes to .gitmodules or stash them to proceed");
        die((char const   *)tmp___10);
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (pathspec___1.nr) {
    seen_any = 0;
    skip_worktree_seen = (char *)((void *)0);
    only_match_skip_worktree.items = (struct string_list_item *)0;
    only_match_skip_worktree.nr = 0U;
    only_match_skip_worktree.alloc = 0U;
    only_match_skip_worktree.strdup_strings = 0U;
    only_match_skip_worktree.cmp = (int (*)(char const   * , char const   * ))0;
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! (i < pathspec___1.nr)) {
        goto while_break___1;
      }
      original = (char const   *)(pathspec___1.items + i)->original;
      if (*(seen___0 + i)) {
        seen_any = 1;
      } else
      if (ignore_unmatch) {
        goto __Cont___0;
      } else
      if (! include_sparse___0) {
        tmp___14 = matches_skip_worktree((struct pathspec  const  *)(& pathspec___1),
                                         i, & skip_worktree_seen);
        if (tmp___14) {
          string_list_append(& only_match_skip_worktree, original);
        } else {
          tmp___13 = _((char const   *)"pathspec \'%s\' did not match any files");
          die((char const   *)tmp___13, original);
        }
      } else {
        tmp___13 = _((char const   *)"pathspec \'%s\' did not match any files");
        die((char const   *)tmp___13, original);
      }
      if (! recursive) {
        if ((int )*(seen___0 + i) == 1) {
          if (*original) {
            tmp___15 = original;
          } else {
            tmp___15 = (char const   *)".";
          }
          tmp___16 = _((char const   *)"not removing \'%s\' recursively without -r");
          die((char const   *)tmp___16, tmp___15);
        }
      }
      __Cont___0: /* CIL Label */
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    if (only_match_skip_worktree.nr) {
      advise_on_updating_sparse_paths(& only_match_skip_worktree);
      ret___67 = 1;
    }
    free((void *)skip_worktree_seen);
    string_list_clear(& only_match_skip_worktree, 0);
    if (! seen_any) {
      tmp___17 = trace2_cmd_exit_fl((char const   *)"builtin/rm.c", 349, ret___67);
      exit(tmp___17);
    }
  }
  clear_pathspec(& pathspec___1);
  free((void *)seen___0);
  if (! index_only) {
    submodules_absorb_gitdir_if_needed();
  }
  if (! force___1) {
    tmp___18 = repo_get_oid(the_repository, (char const   *)"HEAD", & oid);
    if (tmp___18) {
      oidclr(& oid);
    }
    tmp___20 = check_local_mod(& oid, index_only);
    if (tmp___20) {
      tmp___19 = trace2_cmd_exit_fl((char const   *)"builtin/rm.c", 372, 1);
      exit(tmp___19);
    }
  }
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < list___1.nr)) {
      goto while_break___2;
    }
    path___6 = (list___1.entry + i)->name;
    if (! quiet___3) {
      printf((char const   *)"rm \'%s\'\n", path___6);
    }
    tmp___22 = remove_file_from_index(& the_index, path___6);
    if (tmp___22) {
      tmp___21 = _((char const   *)"git rm: unable to remove %s");
      die((char const   *)tmp___21, path___6);
    }
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  if (show_only___1) {
    return (0);
  }
  if (! index_only) {
    removed = 0;
    gitmodules_modified = 0;
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    if (force___1) {
      tmp___23 = 0x08;
    } else {
      tmp___23 = 0;
    }
    flag = tmp___23;
    i = 0;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! (i < list___1.nr)) {
        goto while_break___3;
      }
      path___7 = (list___1.entry + i)->name;
      if ((list___1.entry + i)->is_submodule) {
        strbuf_setlen___33(& buf___19, (size_t )0);
        strbuf_addstr(& buf___19, path___7);
        tmp___25 = remove_dir_recursively(& buf___19, flag);
        if (tmp___25) {
          tmp___24 = _((char const   *)"could not remove \'%s\'");
          die((char const   *)tmp___24, path___7);
        }
        removed = 1;
        tmp___26 = remove_path_from_gitmodules(path___7);
        if (! tmp___26) {
          gitmodules_modified = 1;
        }
        goto __Cont___1;
      }
      tmp___27 = remove_path(path___7);
      if (! tmp___27) {
        removed = 1;
        goto __Cont___1;
      }
      if (! removed) {
        die_errno((char const   *)"git rm: \'%s\'", path___7);
      }
      __Cont___1: /* CIL Label */
      i ++;
    }
    while_break___3: /* CIL Label */ ;
    }
    strbuf_release(& buf___19);
    if (gitmodules_modified) {
      stage_updated_gitmodules(& the_index);
    }
  }
  tmp___29 = write_locked_index(& the_index, & lock_file___0, (unsigned int )(1 | (1 << 1)));
  if (tmp___29) {
    tmp___28 = _((char const   *)"Unable to write new index file");
    die((char const   *)tmp___28);
  }
  return (ret___67);
}
}
static char const   *send_pack_usage[2]  = {      (char const   *)"git send-pack [--mirror] [--dry-run] [--force]\n              [--receive-pack=<git-receive-pack>]\n              [--verbose] [--thin] [--atomic]\n              [<host>:]<directory> (--all | <ref>...)",      (char const   *)((void *)0)};
static struct send_pack_args args  ;
static void print_helper_status(struct ref *ref )
{
  struct strbuf buf___19 ;
  struct ref_push_report *report___3 ;
  char const   *msg___5 ;
  char const   *res ;
  int count___0 ;
  int tmp ;
  char *tmp___0 ;
  char *tmp___1 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ref) {
      goto while_break;
    }
    msg___5 = (char const   *)((void *)0);
    count___0 = 0;
    {
    if ((unsigned int )ref->status == 0U) {
      goto case_0;
    }
    if ((unsigned int )ref->status == 1U) {
      goto case_1;
    }
    if ((unsigned int )ref->status == 10U) {
      goto case_10;
    }
    if ((unsigned int )ref->status == 2U) {
      goto case_2;
    }
    if ((unsigned int )ref->status == 5U) {
      goto case_5;
    }
    if ((unsigned int )ref->status == 6U) {
      goto case_6;
    }
    if ((unsigned int )ref->status == 7U) {
      goto case_7;
    }
    if ((unsigned int )ref->status == 9U) {
      goto case_9;
    }
    if ((unsigned int )ref->status == 3U) {
      goto case_3;
    }
    if ((unsigned int )ref->status == 11U) {
      goto case_11;
    }
    if ((unsigned int )ref->status == 4U) {
      goto case_11;
    }
    if ((unsigned int )ref->status == 12U) {
      goto case_12;
    }
    goto switch_default;
    case_0: /* CIL Label */
    res = (char const   *)"error";
    msg___5 = (char const   *)"no match";
    goto switch_break;
    case_1: /* CIL Label */
    res = (char const   *)"ok";
    goto switch_break;
    case_10: /* CIL Label */
    res = (char const   *)"ok";
    msg___5 = (char const   *)"up to date";
    goto switch_break;
    case_2: /* CIL Label */
    res = (char const   *)"error";
    msg___5 = (char const   *)"non-fast forward";
    goto switch_break;
    case_5: /* CIL Label */
    res = (char const   *)"error";
    msg___5 = (char const   *)"fetch first";
    goto switch_break;
    case_6: /* CIL Label */
    res = (char const   *)"error";
    msg___5 = (char const   *)"needs force";
    goto switch_break;
    case_7: /* CIL Label */
    res = (char const   *)"error";
    msg___5 = (char const   *)"stale info";
    goto switch_break;
    case_9: /* CIL Label */
    res = (char const   *)"error";
    msg___5 = (char const   *)"remote ref updated since checkout";
    goto switch_break;
    case_3: /* CIL Label */
    res = (char const   *)"error";
    msg___5 = (char const   *)"already exists";
    goto switch_break;
    case_11: /* CIL Label */
    case_4: /* CIL Label */
    res = (char const   *)"error";
    goto switch_break;
    case_12: /* CIL Label */
    res = (char const   *)"error";
    msg___5 = (char const   *)"expecting report";
    goto switch_break;
    switch_default: /* CIL Label */
    goto __Cont;
    switch_break: /* CIL Label */ ;
    }
    strbuf_setlen___33(& buf___19, (size_t )0);
    strbuf_addf(& buf___19, (char const   *)"%s %s", res, ref->name);
    if (ref->remote_status) {
      msg___5 = (char const   *)ref->remote_status;
    }
    if (msg___5) {
      strbuf_addch(& buf___19, ' ');
      quote_two_c_style(& buf___19, (char const   *)"", msg___5, 0U);
    }
    strbuf_addch(& buf___19, '\n');
    if ((unsigned int )ref->status == 1U) {
      report___3 = ref->report;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! report___3) {
          goto while_break___0;
        }
        tmp = count___0;
        count___0 ++;
        if (tmp > 0) {
          strbuf_addf(& buf___19, (char const   *)"ok %s\n", ref->name);
        }
        if (report___3->ref_name) {
          strbuf_addf(& buf___19, (char const   *)"option refname %s\n", report___3->ref_name);
        }
        if (report___3->old_oid) {
          tmp___0 = oid_to_hex((struct object_id  const  *)report___3->old_oid);
          strbuf_addf(& buf___19, (char const   *)"option old-oid %s\n", tmp___0);
        }
        if (report___3->new_oid) {
          tmp___1 = oid_to_hex((struct object_id  const  *)report___3->new_oid);
          strbuf_addf(& buf___19, (char const   *)"option new-oid %s\n", tmp___1);
        }
        if (report___3->forced_update) {
          strbuf_addstr(& buf___19, (char const   *)"option forced-update\n");
        }
        report___3 = report___3->next;
      }
      while_break___0: /* CIL Label */ ;
      }
    }
    write_or_die(1, (void const   *)buf___19.buf, buf___19.len);
    __Cont: /* CIL Label */
    ref = ref->next;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  return;
}
}
static int send_pack_config(char const   *k , char const   *v , void *cb )
{
  char const   *value ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  git_gpg_config(k, v, (void *)0);
  tmp___3 = strcmp(k, (char const   *)"push.gpgsign");
  if (! tmp___3) {
    tmp___2 = git_config_get_value((char const   *)"push.gpgsign", & value);
    if (! tmp___2) {
      tmp = git_parse_maybe_bool(value);
      {
      if (tmp == 0) {
        goto case_0;
      }
      if (tmp == 1) {
        goto case_1;
      }
      goto switch_default;
      case_0: /* CIL Label */
      args.push_cert = 0U;
      goto switch_break;
      case_1: /* CIL Label */
      args.push_cert = 2U;
      goto switch_break;
      switch_default: /* CIL Label */
      if (value) {
        tmp___1 = strcasecmp(value, (char const   *)"if-asked");
        if (tmp___1) {
          error((char const   *)"Invalid value for \'%s\'", k);
          tmp___0 = const_error();
          return (tmp___0);
        } else {
          args.push_cert = 1U;
        }
      } else {
        error((char const   *)"Invalid value for \'%s\'", k);
        tmp___0 = const_error();
        return (tmp___0);
      }
      switch_break: /* CIL Label */ ;
      }
    }
  }
  tmp___4 = git_default_config(k, v, cb);
  return (tmp___4);
}
}
int cmd_send_pack(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct refspec rs___0 ;
  char const   *remote_name___0 ;
  struct remote *remote ;
  char const   *dest ;
  int fd[2] ;
  struct child_process *conn ;
  struct oid_array extra_have ;
  struct oid_array shallow ;
  struct ref *remote_refs ;
  struct ref *local_refs ;
  int ret___67 ;
  int helper_status ;
  int send_all ;
  int verbose___15 ;
  char const   *receivepack___0 ;
  unsigned int dry_run___3 ;
  unsigned int send_mirror ;
  unsigned int force_update___0 ;
  unsigned int quiet___7 ;
  int push_cert___0 ;
  struct string_list push_options ;
  unsigned int use_thin_pack ;
  unsigned int atomic ;
  unsigned int stateless_rpc___0 ;
  int flags___0 ;
  unsigned int reject_reasons ;
  int progress___7 ;
  int from_stdin___0 ;
  struct push_cas_option cas___0 ;
  int force_if_includes ;
  struct packet_reader reader ;
  struct option options[20] ;
  char const   *buf___19 ;
  char *tmp ;
  struct strbuf line___0 ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  unsigned int tmp___4 ;
  enum protocol_version tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  struct ref *ref ;
  int tmp___10 ;

  {
  rs___0.items = (struct refspec_item *)0;
  rs___0.alloc = 0;
  rs___0.nr = 0;
  rs___0.raw = (char const   **)0;
  rs___0.raw_alloc = 0;
  rs___0.raw_nr = 0;
  rs___0.fetch = 0;
  remote_name___0 = (char const   *)((void *)0);
  remote = (struct remote *)((void *)0);
  dest = (char const   *)((void *)0);
  extra_have.oid = (struct object_id *)0;
  extra_have.nr = 0UL;
  extra_have.alloc = 0UL;
  extra_have.sorted = 0;
  shallow.oid = (struct object_id *)0;
  shallow.nr = 0UL;
  shallow.alloc = 0UL;
  shallow.sorted = 0;
  helper_status = 0;
  send_all = 0;
  verbose___15 = 0;
  receivepack___0 = (char const   *)"git-receive-pack";
  dry_run___3 = 0U;
  send_mirror = 0U;
  force_update___0 = 0U;
  quiet___7 = 0U;
  push_cert___0 = 0;
  push_options.items = (struct string_list_item *)0;
  push_options.nr = 0U;
  push_options.alloc = 0U;
  push_options.strdup_strings = 0U;
  push_options.cmp = (int (*)(char const   * , char const   * ))0;
  use_thin_pack = 0U;
  atomic = 0U;
  stateless_rpc___0 = 0U;
  progress___7 = -1;
  from_stdin___0 = 0;
  cas___0.use_tracking_for_rest = 0U;
  cas___0.use_force_if_includes = 0U;
  cas___0.entry = (struct push_cas *)0;
  cas___0.nr = 0;
  cas___0.alloc = 0;
  force_if_includes = 0;
  options[0].type = (enum parse_opt_type )12;
  options[0].short_name = 'v';
  options[0].long_name = (char const   *)"verbose";
  options[0].value = (void *)(& verbose___15);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"be more verbose";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = & parse_opt_verbosity_cb;
  options[0].defval = (intptr_t )0;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )12;
  options[1].short_name = 'q';
  options[1].long_name = (char const   *)"quiet";
  options[1].value = (void *)(& verbose___15);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"be more quiet";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = & parse_opt_verbosity_cb;
  options[1].defval = (intptr_t )0;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )9;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"receive-pack";
  options[2].value = (void *)(& receivepack___0);
  options[2].argh = (char const   *)"receive-pack";
  options[2].help = (char const   *)"receive pack program";
  options[2].flags = (enum parse_opt_option_flags )0;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )9;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"exec";
  options[3].value = (void *)(& receivepack___0);
  options[3].argh = (char const   *)"receive-pack";
  options[3].help = (char const   *)"receive pack program";
  options[3].flags = (enum parse_opt_option_flags )0;
  options[3].callback = (parse_opt_cb *)0;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )9;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"remote";
  options[4].value = (void *)(& remote_name___0);
  options[4].argh = (char const   *)"remote";
  options[4].help = (char const   *)"remote name";
  options[4].flags = (enum parse_opt_option_flags )0;
  options[4].callback = (parse_opt_cb *)0;
  options[4].defval = 0L;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )8;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)"all";
  options[5].value = (void *)(& send_all);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"push all refs";
  options[5].flags = (enum parse_opt_option_flags )2;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )1;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )8;
  options[6].short_name = 'n';
  options[6].long_name = (char const   *)"dry-run";
  options[6].value = (void *)(& dry_run___3);
  options[6].argh = (char const   *)((void *)0);
  options[6].help = (char const   *)"dry run";
  options[6].flags = (enum parse_opt_option_flags )2;
  options[6].callback = (parse_opt_cb *)((void *)0);
  options[6].defval = (intptr_t )1;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )8;
  options[7].short_name = 0;
  options[7].long_name = (char const   *)"mirror";
  options[7].value = (void *)(& send_mirror);
  options[7].argh = (char const   *)((void *)0);
  options[7].help = (char const   *)"mirror all refs";
  options[7].flags = (enum parse_opt_option_flags )2;
  options[7].callback = (parse_opt_cb *)((void *)0);
  options[7].defval = (intptr_t )1;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )8;
  options[8].short_name = 'f';
  options[8].long_name = (char const   *)"force";
  options[8].value = (void *)(& force_update___0);
  options[8].argh = (char const   *)((void *)0);
  options[8].help = (char const   *)"force updates";
  options[8].flags = (enum parse_opt_option_flags )2;
  options[8].callback = (parse_opt_cb *)((void *)0);
  options[8].defval = (intptr_t )1;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  options[9].type = (enum parse_opt_type )12;
  options[9].short_name = 0;
  options[9].long_name = (char const   *)"signed";
  options[9].value = (void *)(& push_cert___0);
  options[9].argh = (char const   *)"(yes|no|if-asked)";
  options[9].help = (char const   *)"GPG sign the push";
  options[9].flags = (enum parse_opt_option_flags )1;
  options[9].callback = & option_parse_push_signed;
  options[9].defval = 0L;
  options[9].ll_callback = (parse_opt_ll_cb *)0;
  options[9].extra = 0L;
  options[10].type = (enum parse_opt_type )12;
  options[10].short_name = 0;
  options[10].long_name = (char const   *)"push-option";
  options[10].value = (void *)(& push_options);
  options[10].argh = (char const   *)"server-specific";
  options[10].help = (char const   *)"option to transmit";
  options[10].flags = (enum parse_opt_option_flags )0;
  options[10].callback = & parse_opt_string_list;
  options[10].defval = 0L;
  options[10].ll_callback = (parse_opt_ll_cb *)0;
  options[10].extra = 0L;
  options[11].type = (enum parse_opt_type )8;
  options[11].short_name = 0;
  options[11].long_name = (char const   *)"progress";
  options[11].value = (void *)(& progress___7);
  options[11].argh = (char const   *)((void *)0);
  options[11].help = (char const   *)"force progress reporting";
  options[11].flags = (enum parse_opt_option_flags )2;
  options[11].callback = (parse_opt_cb *)((void *)0);
  options[11].defval = (intptr_t )1;
  options[11].ll_callback = (parse_opt_ll_cb *)0;
  options[11].extra = 0L;
  options[12].type = (enum parse_opt_type )8;
  options[12].short_name = 0;
  options[12].long_name = (char const   *)"thin";
  options[12].value = (void *)(& use_thin_pack);
  options[12].argh = (char const   *)((void *)0);
  options[12].help = (char const   *)"use thin pack";
  options[12].flags = (enum parse_opt_option_flags )2;
  options[12].callback = (parse_opt_cb *)((void *)0);
  options[12].defval = (intptr_t )1;
  options[12].ll_callback = (parse_opt_ll_cb *)0;
  options[12].extra = 0L;
  options[13].type = (enum parse_opt_type )8;
  options[13].short_name = 0;
  options[13].long_name = (char const   *)"atomic";
  options[13].value = (void *)(& atomic);
  options[13].argh = (char const   *)((void *)0);
  options[13].help = (char const   *)"request atomic transaction on remote side";
  options[13].flags = (enum parse_opt_option_flags )2;
  options[13].callback = (parse_opt_cb *)((void *)0);
  options[13].defval = (intptr_t )1;
  options[13].ll_callback = (parse_opt_ll_cb *)0;
  options[13].extra = 0L;
  options[14].type = (enum parse_opt_type )8;
  options[14].short_name = 0;
  options[14].long_name = (char const   *)"stateless-rpc";
  options[14].value = (void *)(& stateless_rpc___0);
  options[14].argh = (char const   *)((void *)0);
  options[14].help = (char const   *)"use stateless RPC protocol";
  options[14].flags = (enum parse_opt_option_flags )2;
  options[14].callback = (parse_opt_cb *)((void *)0);
  options[14].defval = (intptr_t )1;
  options[14].ll_callback = (parse_opt_ll_cb *)0;
  options[14].extra = 0L;
  options[15].type = (enum parse_opt_type )8;
  options[15].short_name = 0;
  options[15].long_name = (char const   *)"stdin";
  options[15].value = (void *)(& from_stdin___0);
  options[15].argh = (char const   *)((void *)0);
  options[15].help = (char const   *)"read refs from stdin";
  options[15].flags = (enum parse_opt_option_flags )2;
  options[15].callback = (parse_opt_cb *)((void *)0);
  options[15].defval = (intptr_t )1;
  options[15].ll_callback = (parse_opt_ll_cb *)0;
  options[15].extra = 0L;
  options[16].type = (enum parse_opt_type )8;
  options[16].short_name = 0;
  options[16].long_name = (char const   *)"helper-status";
  options[16].value = (void *)(& helper_status);
  options[16].argh = (char const   *)((void *)0);
  options[16].help = (char const   *)"print status from remote helper";
  options[16].flags = (enum parse_opt_option_flags )2;
  options[16].callback = (parse_opt_cb *)((void *)0);
  options[16].defval = (intptr_t )1;
  options[16].ll_callback = (parse_opt_ll_cb *)0;
  options[16].extra = 0L;
  options[17].type = (enum parse_opt_type )12;
  options[17].short_name = 0;
  options[17].long_name = (char const   *)"force-with-lease";
  options[17].value = (void *)(& cas___0);
  options[17].argh = (char const   *)"<refname>:<expect>";
  options[17].help = (char const   *)"require old value of ref to be at this value";
  options[17].flags = (enum parse_opt_option_flags )1;
  options[17].callback = & parseopt_push_cas_option;
  options[17].defval = 0L;
  options[17].ll_callback = (parse_opt_ll_cb *)0;
  options[17].extra = 0L;
  options[18].type = (enum parse_opt_type )8;
  options[18].short_name = 0;
  options[18].long_name = (char const   *)"force-if-includes";
  options[18].value = (void *)(& force_if_includes);
  options[18].argh = (char const   *)((void *)0);
  options[18].help = (char const   *)"require remote updates to be integrated locally";
  options[18].flags = (enum parse_opt_option_flags )2;
  options[18].callback = (parse_opt_cb *)((void *)0);
  options[18].defval = (intptr_t )1;
  options[18].ll_callback = (parse_opt_ll_cb *)0;
  options[18].extra = 0L;
  options[19].type = (enum parse_opt_type )0;
  options[19].short_name = 0;
  options[19].long_name = (char const   *)0;
  options[19].value = (void *)0;
  options[19].argh = (char const   *)0;
  options[19].help = (char const   *)0;
  options[19].flags = 0U;
  options[19].callback = (parse_opt_cb *)0;
  options[19].defval = 0L;
  options[19].ll_callback = (parse_opt_ll_cb *)0;
  options[19].extra = 0L;
  git_config(& send_pack_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       send_pack_usage, (enum parse_opt_flags )0);
  if (argc > 0) {
    dest = *(argv___0 + 0);
    refspec_appendn(& rs___0, argv___0 + 1, argc - 1);
  }
  if (! dest) {
    usage_with_options(send_pack_usage, (struct option  const  *)(options));
  }
  args.verbose = (unsigned int )verbose___15;
  args.dry_run = dry_run___3;
  args.send_mirror = send_mirror;
  args.force_update = force_update___0;
  args.quiet = quiet___7;
  args.push_cert = (unsigned int )push_cert___0;
  args.progress = (unsigned int )progress___7;
  args.use_thin_pack = use_thin_pack;
  args.atomic = atomic;
  args.stateless_rpc = stateless_rpc___0;
  if (push_options.nr) {
    args.push_options = (struct string_list  const  *)(& push_options);
  } else {
    args.push_options = (struct string_list  const  *)((void *)0);
  }
  args.url = dest;
  if (from_stdin___0) {
    if (args.stateless_rpc) {
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        tmp = packet_read_line(0, (int *)((void *)0));
        buf___19 = (char const   *)tmp;
        if (! buf___19) {
          goto while_break;
        }
        refspec_append(& rs___0, buf___19);
      }
      while_break: /* CIL Label */ ;
      }
    } else {
      line___0.alloc = 0UL;
      line___0.len = 0UL;
      line___0.buf = strbuf_slopbuf;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        tmp___0 = strbuf_getline(& line___0, stdin);
        if (! (tmp___0 != -1)) {
          goto while_break___0;
        }
        refspec_append(& rs___0, (char const   *)line___0.buf);
      }
      while_break___0: /* CIL Label */ ;
      }
      strbuf_release(& line___0);
    }
  }
  if (rs___0.nr > 0) {
    if (send_all) {
      usage_with_options(send_pack_usage, (struct option  const  *)(options));
    } else
    if (args.send_mirror) {
      usage_with_options(send_pack_usage, (struct option  const  *)(options));
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (send_all) {
    if (args.send_mirror) {
      usage_with_options(send_pack_usage, (struct option  const  *)(options));
    }
  }
  if (remote_name___0) {
    remote = remote_get(remote_name___0);
    tmp___1 = remote_has_url(remote, dest);
    if (! tmp___1) {
      die((char const   *)"Destination %s is not a uri for %s", dest, remote_name___0);
    }
  }
  if (progress___7 == -1) {
    if (! args.quiet) {
      tmp___2 = isatty(2);
      if (tmp___2) {
        tmp___3 = 1;
      } else {
        tmp___3 = 0;
      }
    } else {
      tmp___3 = 0;
    }
    progress___7 = tmp___3;
  }
  args.progress = (unsigned int )progress___7;
  if (args.stateless_rpc) {
    conn = (struct child_process *)((void *)0);
    fd[0] = 0;
    fd[1] = 1;
  } else {
    if (args.verbose) {
      tmp___4 = 1u;
    } else {
      tmp___4 = 0U;
    }
    conn = git_connect((int *)(fd), dest, receivepack___0, (int )tmp___4);
  }
  packet_reader_init(& reader, fd[0], (char *)((void *)0), (size_t )0, (int )(((1u << 1) | 1u) | (1u << 2)));
  tmp___5 = discover_version(& reader);
  {
  if ((int )tmp___5 == 2) {
    goto case_2;
  }
  if ((int )tmp___5 == 0) {
    goto case_0;
  }
  if ((int )tmp___5 == 1) {
    goto case_0;
  }
  if ((int )tmp___5 == -1) {
    goto case_neg_1;
  }
  goto switch_break;
  case_2: /* CIL Label */
  die((char const   *)"support for protocol v2 not implemented yet");
  goto switch_break;
  case_0: /* CIL Label */
  case_1: /* CIL Label */
  get_remote_heads(& reader, & remote_refs, 1u, & extra_have, & shallow);
  goto switch_break;
  case_neg_1: /* CIL Label */
  BUG_fl((char const   *)"builtin/send-pack.c", 296, (char const   *)"unknown protocol version");
  switch_break: /* CIL Label */ ;
  }
  local_refs = get_local_heads();
  flags___0 = 0;
  if (send_all) {
    flags___0 |= 1;
  }
  if (args.send_mirror) {
    flags___0 |= 2;
  }
  tmp___6 = match_push_refs(local_refs, & remote_refs, & rs___0, flags___0);
  if (tmp___6) {
    return (-1);
  }
  tmp___7 = is_empty_cas((struct push_cas_option  const  *)(& cas___0));
  if (! tmp___7) {
    apply_push_cas(& cas___0, remote, remote_refs);
  }
  tmp___8 = is_empty_cas((struct push_cas_option  const  *)(& cas___0));
  if (! tmp___8) {
    if (force_if_includes) {
      cas___0.use_force_if_includes = 1U;
    }
  }
  set_ref_status_for_push(remote_refs, (int )args.send_mirror, (int )args.force_update);
  ret___67 = send_pack(& args, fd, conn, remote_refs, & extra_have);
  if (helper_status) {
    print_helper_status(remote_refs);
  }
  close(fd[1]);
  close(fd[0]);
  tmp___9 = finish_connect(conn);
  ret___67 |= tmp___9;
  if (! helper_status) {
    transport_print_push_status(dest, remote_refs, (int )args.verbose, 0, & reject_reasons);
  }
  if (! args.dry_run) {
    if (remote) {
      ref = remote_refs;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! ref) {
          goto while_break___1;
        }
        transport_update_tracking_ref(remote, ref, (int )args.verbose);
        ref = ref->next;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
  }
  if (! ret___67) {
    tmp___10 = transport_refs_pushed(remote_refs);
    if (! tmp___10) {
      fprintf(stderr, (char const   *)"Everything up-to-date\n");
    }
  }
  return (ret___67);
}
}
static double const   __ac_HASH_UPPER___156  =    (double const   )0.77;
__inline static void kh_resize_oid_set___156(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___156(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___156 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___156 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___156(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___156(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___156(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___156(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___156(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___156(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___156 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___156 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___156(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___156(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___156(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___156(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___156(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___156(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___156 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___156 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___156(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___156(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___156(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___156(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static unsigned int strmap_get_size___3(struct strmap *map___0 )
{
  unsigned int tmp ;

  {
  tmp = hashmap_get_size___33(& map___0->map);
  return (tmp);
}
}
__inline static int strmap_empty___3(struct strmap *map___0 )
{
  unsigned int tmp ;

  {
  tmp = strmap_get_size___3(map___0);
  return (tmp == 0U);
}
}
__inline static int strintmap_empty___3(struct strintmap *map___0 )
{
  int tmp ;

  {
  tmp = strmap_empty___3(& map___0->map);
  return (tmp);
}
}
__inline static unsigned int strintmap_get_size___3(struct strintmap *map___0 )
{
  unsigned int tmp ;

  {
  tmp = strmap_get_size___3(& map___0->map);
  return (tmp);
}
}
__inline static int strset_empty___3(struct strset *set )
{
  int tmp ;

  {
  tmp = strmap_empty___3(& set->map);
  return (tmp);
}
}
__inline static unsigned int strset_get_size___3(struct strset *set )
{
  unsigned int tmp ;

  {
  tmp = strmap_get_size___3(& set->map);
  return (tmp);
}
}
static char const   *shortlog_usage[3]  = {      (char const   *)"git shortlog [<options>] [<revision-range>] [[--] <path>...]",      (char const   *)"git log --pretty=short | git shortlog [<options>]",      (char const   *)((void *)0)};
static int compare_by_counter(void const   *a1 , void const   *a2 )
{
  struct string_list_item  const  *i1 ;
  struct string_list_item  const  *i2 ;

  {
  i1 = (struct string_list_item  const  *)a1;
  i2 = (struct string_list_item  const  *)a2;
  return ((int )((intptr_t )i2->util - (intptr_t )i1->util));
}
}
static int compare_by_list(void const   *a1 , void const   *a2 )
{
  struct string_list_item  const  *i1 ;
  struct string_list_item  const  *i2 ;
  struct string_list  const  *l1 ;
  struct string_list  const  *l2 ;

  {
  i1 = (struct string_list_item  const  *)a1;
  i2 = (struct string_list_item  const  *)a2;
  l1 = (struct string_list  const  *)i1->util;
  l2 = (struct string_list  const  *)i2->util;
  if (l1->nr < l2->nr) {
    return (1);
  } else
  if (l1->nr == l2->nr) {
    return (0);
  } else {
    return (-1);
  }
}
}
static void insert_one_record(struct shortlog *log , char const   *ident , char const   *oneline )
{
  struct string_list_item *item___0 ;
  char *buffer___5 ;
  struct strbuf subject ;
  char const   *eol ;
  char *tmp ;
  size_t tmp___0 ;
  char *eob ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  item___0 = string_list_insert(& log->list, ident);
  if (log->summary) {
    item___0->util = (void *)((intptr_t )item___0->util + 1L);
  } else {
    subject.alloc = 0UL;
    subject.len = 0UL;
    subject.buf = strbuf_slopbuf;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (*oneline) {
        if (! (((int const   )sane_ctype[(unsigned char )*oneline] & 1) != 0)) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      oneline ++;
    }
    while_break: /* CIL Label */ ;
    }
    tmp = strchr(oneline, '\n');
    eol = (char const   *)tmp;
    if (! eol) {
      tmp___0 = strlen(oneline);
      eol = oneline + tmp___0;
    }
    tmp___2 = starts_with(oneline, (char const   *)"[PATCH");
    if (tmp___2) {
      tmp___1 = strchr(oneline, ']');
      eob = tmp___1;
      if (eob) {
        if (! eol) {
          oneline = (char const   *)(eob + 1);
        } else
        if ((unsigned long )eob < (unsigned long )eol) {
          oneline = (char const   *)(eob + 1);
        }
      }
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (*oneline) {
        if (((int const   )sane_ctype[(unsigned char )*oneline] & 1) != 0) {
          if (! ((int const   )*oneline != 10)) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      oneline ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    format_subject(& subject, oneline, (char const   *)" ");
    buffer___5 = strbuf_detach(& subject, (size_t *)((void *)0));
    if ((unsigned long )item___0->util == (unsigned long )((void *)0)) {
      item___0->util = xcalloc((size_t )1, sizeof(struct string_list ));
    }
    string_list_append((struct string_list *)item___0->util, (char const   *)buffer___5);
  }
  return;
}
}
static int parse_ident___0(struct shortlog *log , struct strbuf *out , char const   *in )
{
  char const   *mailbuf ;
  char const   *namebuf ;
  size_t namelen ;
  size_t maillen ;
  struct ident_split ident ;
  size_t tmp ;
  int tmp___0 ;

  {
  tmp = strlen(in);
  tmp___0 = split_ident_line(& ident, in, (int )tmp);
  if (tmp___0) {
    return (-1);
  }
  namebuf = ident.name_begin;
  mailbuf = ident.mail_begin;
  namelen = (size_t )(ident.name_end - ident.name_begin);
  maillen = (size_t )(ident.mail_end - ident.mail_begin);
  map_user(& log->mailmap, & mailbuf, & maillen, & namebuf, & namelen);
  strbuf_add(out, (void const   *)namebuf, namelen);
  if (log->email) {
    strbuf_addf(out, (char const   *)" <%.*s>", (int )maillen, mailbuf);
  }
  return (0);
}
}
static void read_from_stdin(struct shortlog *log ) ;
static char const   *author_match[2]  = {      (char const   *)"Author: ",      (char const   *)"author "};
static char const   *committer_match[2]  = {      (char const   *)"Commit: ",      (char const   *)"committer "};
static void read_from_stdin(struct shortlog *log )
{
  struct strbuf ident ;
  struct strbuf mapped_ident ;
  struct strbuf oneline ;
  char const   **match___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const   *v ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  ident.alloc = 0UL;
  ident.len = 0UL;
  ident.buf = strbuf_slopbuf;
  mapped_ident.alloc = 0UL;
  mapped_ident.len = 0UL;
  mapped_ident.buf = strbuf_slopbuf;
  oneline.alloc = 0UL;
  oneline.len = 0UL;
  oneline.buf = strbuf_slopbuf;
  if ((unsigned int )log->groups & ((unsigned int )log->groups - 1U)) {
    tmp = _((char const   *)"using multiple --group options with stdin is not supported");
    die((char const   *)tmp);
  }
  {
  if ((unsigned int )log->groups == 1U) {
    goto case_1;
  }
  if ((unsigned int )log->groups == 2U) {
    goto case_2;
  }
  if ((unsigned int )log->groups == 4U) {
    goto case_4;
  }
  goto switch_default;
  case_1: /* CIL Label */
  match___0 = author_match;
  goto switch_break;
  case_2: /* CIL Label */
  match___0 = committer_match;
  goto switch_break;
  case_4: /* CIL Label */
  tmp___0 = _((char const   *)"using --group=trailer with stdin is not supported");
  die((char const   *)tmp___0);
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"builtin/shortlog.c", 135, (char const   *)"unhandled shortlog group");
  switch_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___6 = strbuf_getline_lf(& ident, stdin);
    if (! (tmp___6 != -1)) {
      goto while_break;
    }
    tmp___1 = skip_prefix((char const   *)ident.buf, *(match___0 + 0), & v);
    if (! tmp___1) {
      tmp___2 = skip_prefix((char const   *)ident.buf, *(match___0 + 1), & v);
      if (! tmp___2) {
        goto while_continue;
      }
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___3 = strbuf_getline_lf(& oneline, stdin);
      if (tmp___3 != -1) {
        if (! oneline.len) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      tmp___4 = strbuf_getline_lf(& oneline, stdin);
      if (tmp___4 != -1) {
        if (! (! oneline.len)) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
    }
    while_break___1: /* CIL Label */ ;
    }
    strbuf_setlen___33(& mapped_ident, (size_t )0);
    tmp___5 = parse_ident___0(log, & mapped_ident, v);
    if (tmp___5 < 0) {
      goto while_continue;
    }
    insert_one_record(log, (char const   *)mapped_ident.buf, (char const   *)oneline.buf);
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& ident);
  strbuf_release(& mapped_ident);
  strbuf_release(& oneline);
  return;
}
}
static void insert_records_from_trailers(struct shortlog *log , struct strset *dups ,
                                         struct commit *commit , struct pretty_print_context *ctx___0 ,
                                         char const   *oneline )
{
  struct trailer_iterator iter___0 ;
  char const   *commit_buffer ;
  char const   *body ;
  struct strbuf ident ;
  char *tmp ;
  char const   *value ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  ident.alloc = 0UL;
  ident.len = 0UL;
  ident.buf = strbuf_slopbuf;
  commit_buffer = repo_logmsg_reencode(the_repository, (struct commit  const  *)commit,
                                       (char **)((void *)0), ctx___0->output_encoding);
  tmp = strstr(commit_buffer, (char const   *)"\n\n");
  body = (char const   *)tmp;
  if (! body) {
    return;
  }
  trailer_iterator_init(& iter___0, body);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = trailer_iterator_advance(& iter___0);
    if (! tmp___3) {
      goto while_break;
    }
    value = (char const   *)iter___0.val.buf;
    tmp___0 = string_list_has_string((struct string_list  const  *)(& log->trailers),
                                     (char const   *)iter___0.key.buf);
    if (! tmp___0) {
      goto while_continue;
    }
    strbuf_setlen___33(& ident, (size_t )0);
    tmp___1 = parse_ident___0(log, & ident, value);
    if (! tmp___1) {
      value = (char const   *)ident.buf;
    }
    tmp___2 = strset_add(dups, value);
    if (! tmp___2) {
      goto while_continue;
    }
    insert_one_record(log, value, oneline);
  }
  while_break: /* CIL Label */ ;
  }
  trailer_iterator_release(& iter___0);
  strbuf_release(& ident);
  repo_unuse_commit_buffer(the_repository, (struct commit  const  *)commit, (void const   *)commit_buffer);
  return;
}
}
void shortlog_add_commit(struct shortlog *log , struct commit *commit )
{
  struct strbuf ident ;
  struct strbuf oneline ;
  struct strset dups ;
  struct pretty_print_context ctx___0 ;
  char const   *oneline_str ;
  char *tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  ident.alloc = 0UL;
  ident.len = 0UL;
  ident.buf = strbuf_slopbuf;
  oneline.alloc = 0UL;
  oneline.len = 0UL;
  oneline.buf = strbuf_slopbuf;
  dups.map.map.table = (struct hashmap_entry **)0;
  dups.map.map.cmpfn = & cmp_strmap_entry;
  dups.map.map.cmpfn_data = (void const   *)((void *)0);
  dups.map.map.private_size = 0U;
  dups.map.map.tablesize = 0U;
  dups.map.map.grow_at = 0U;
  dups.map.map.shrink_at = 0U;
  dups.map.map.do_count_items = 1U;
  dups.map.pool = (struct mem_pool *)0;
  dups.map.strdup_strings = 1U;
  ctx___0.fmt = (enum cmit_fmt )0;
  ctx___0.abbrev = 0;
  ctx___0.after_subject = (char const   *)0;
  ctx___0.preserve_subject = 0;
  ctx___0.date_mode.type = 0U;
  ctx___0.date_mode.strftime_fmt = (char const   *)0;
  ctx___0.date_mode.local = 0;
  ctx___0.date_mode_explicit = 0U;
  ctx___0.print_email_subject = 0;
  ctx___0.expand_tabs_in_log = 0;
  ctx___0.need_8bit_cte = 0;
  ctx___0.notes_message = (char *)0;
  ctx___0.reflog_info = (struct reflog_walk_info *)0;
  ctx___0.rev = (struct rev_info *)0;
  ctx___0.output_encoding = (char const   *)0;
  ctx___0.mailmap = (struct string_list *)0;
  ctx___0.color = 0;
  ctx___0.from_ident = (struct ident_split *)0;
  ctx___0.encode_email_headers = 0U;
  ctx___0.describe_status = (struct pretty_print_describe_status *)0;
  ctx___0.in_body_headers.items = (struct string_list_item *)0;
  ctx___0.in_body_headers.nr = 0U;
  ctx___0.in_body_headers.alloc = 0U;
  ctx___0.in_body_headers.strdup_strings = 0U;
  ctx___0.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
  ctx___0.graph_width = 0;
  ctx___0.fmt = (enum cmit_fmt )8;
  ctx___0.abbrev = log->abbrev;
  ctx___0.print_email_subject = 1;
  ctx___0.date_mode.type = (enum date_mode_type )0;
  ctx___0.output_encoding = get_log_output_encoding();
  if (! log->summary) {
    if (log->user_format) {
      pretty_print_commit(& ctx___0, (struct commit  const  *)commit, & oneline);
    } else {
      repo_format_commit_message(the_repository, (struct commit  const  *)commit,
                                 (char const   *)"%s", & oneline, (struct pretty_print_context  const  *)(& ctx___0));
    }
  }
  if (oneline.len) {
    oneline_str = (char const   *)oneline.buf;
  } else {
    oneline_str = (char const   *)"<none>";
  }
  if ((unsigned int )log->groups & 1U) {
    strbuf_setlen___33(& ident, (size_t )0);
    if (log->email) {
      tmp = "%aN <%aE>";
    } else {
      tmp = "%aN";
    }
    repo_format_commit_message(the_repository, (struct commit  const  *)commit, (char const   *)tmp,
                               & ident, (struct pretty_print_context  const  *)(& ctx___0));
    if (! ((unsigned int )log->groups & ((unsigned int )log->groups - 1U))) {
      insert_one_record(log, (char const   *)ident.buf, oneline_str);
    } else {
      tmp___0 = strset_add(& dups, (char const   *)ident.buf);
      if (tmp___0) {
        insert_one_record(log, (char const   *)ident.buf, oneline_str);
      }
    }
  }
  if ((unsigned int )log->groups & 2U) {
    strbuf_setlen___33(& ident, (size_t )0);
    if (log->email) {
      tmp___1 = "%cN <%cE>";
    } else {
      tmp___1 = "%cN";
    }
    repo_format_commit_message(the_repository, (struct commit  const  *)commit, (char const   *)tmp___1,
                               & ident, (struct pretty_print_context  const  *)(& ctx___0));
    if (! ((unsigned int )log->groups & ((unsigned int )log->groups - 1U))) {
      insert_one_record(log, (char const   *)ident.buf, oneline_str);
    } else {
      tmp___2 = strset_add(& dups, (char const   *)ident.buf);
      if (tmp___2) {
        insert_one_record(log, (char const   *)ident.buf, oneline_str);
      }
    }
  }
  if ((unsigned int )log->groups & 4U) {
    insert_records_from_trailers(log, & dups, commit, & ctx___0, oneline_str);
  }
  strset_clear(& dups);
  strbuf_release(& ident);
  strbuf_release(& oneline);
  return;
}
}
static void get_from_rev(struct rev_info *rev , struct shortlog *log )
{
  struct commit *commit ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  tmp___0 = prepare_revision_walk(rev);
  if (tmp___0) {
    tmp = _((char const   *)"revision walk setup failed");
    die((char const   *)tmp);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    commit = get_revision(rev);
    if (! ((unsigned long )commit != (unsigned long )((void *)0))) {
      goto while_break;
    }
    shortlog_add_commit(log, commit);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int parse_uint(char const   **arg , int comma , int defval )
{
  unsigned long ul ;
  int ret___67 ;
  char *endp ;

  {
  ul = strtoul((char const   * __restrict  )*arg, (char ** __restrict  )(& endp),
               10);
  if (*endp) {
    if ((int )*endp != comma) {
      return (-1);
    }
  }
  if (ul > 2147483647UL) {
    return (-1);
  }
  if ((unsigned long )*arg == (unsigned long )endp) {
    ret___67 = defval;
  } else {
    ret___67 = (int )ul;
  }
  if (*endp) {
    *arg = (char const   *)(endp + 1);
  } else {
    *arg = (char const   *)endp;
  }
  return (ret___67);
}
}
static char const   wrap_arg_usage[36]  =
  {      (char const   )'-',      (char const   )'w',      (char const   )'[',      (char const   )'<',
        (char const   )'w',      (char const   )'i',      (char const   )'d',      (char const   )'t',
        (char const   )'h',      (char const   )'>',      (char const   )'[',      (char const   )',',
        (char const   )'<',      (char const   )'i',      (char const   )'n',      (char const   )'d',
        (char const   )'e',      (char const   )'n',      (char const   )'t',      (char const   )'1',
        (char const   )'>',      (char const   )'[',      (char const   )',',      (char const   )'<',
        (char const   )'i',      (char const   )'n',      (char const   )'d',      (char const   )'e',
        (char const   )'n',      (char const   )'t',      (char const   )'2',      (char const   )'>',
        (char const   )']',      (char const   )']',      (char const   )']',      (char const   )'\000'};
static int parse_wrap_args(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct shortlog *log ;
  int tmp ;
  int tmp___0 ;

  {
  log = (struct shortlog *)opt___0->value;
  log->wrap_lines = ! unset;
  if (unset) {
    return (0);
  }
  if (! arg) {
    log->wrap = 76;
    log->in1 = 6;
    log->in2 = 9;
    return (0);
  }
  log->wrap = parse_uint(& arg, ',', 76);
  log->in1 = parse_uint(& arg, ',', 6);
  log->in2 = parse_uint(& arg, '\000', 9);
  if (log->wrap < 0) {
    error(wrap_arg_usage);
    tmp = const_error();
    return (tmp);
  } else
  if (log->in1 < 0) {
    error(wrap_arg_usage);
    tmp = const_error();
    return (tmp);
  } else
  if (log->in2 < 0) {
    error(wrap_arg_usage);
    tmp = const_error();
    return (tmp);
  }
  if (log->wrap) {
    if (log->in1) {
      if (log->wrap <= log->in1) {
        error(wrap_arg_usage);
        tmp___0 = const_error();
        return (tmp___0);
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if (log->in2) {
      if (log->wrap <= log->in2) {
        error(wrap_arg_usage);
        tmp___0 = const_error();
        return (tmp___0);
      }
    }
  }
  return (0);
}
}
static int parse_group_option(struct option  const  *opt___0 , char const   *arg ,
                              int unset )
{
  struct shortlog *log ;
  char const   *field ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  log = (struct shortlog *)opt___0->value;
  if (unset) {
    log->groups = (enum __anonenum_groups_87157389 )0;
    string_list_clear(& log->trailers, 0);
  } else {
    tmp___3 = strcasecmp(arg, (char const   *)"author");
    if (tmp___3) {
      tmp___2 = strcasecmp(arg, (char const   *)"committer");
      if (tmp___2) {
        tmp___1 = skip_prefix(arg, (char const   *)"trailer:", & field);
        if (tmp___1) {
          log->groups = (enum __anonenum_groups_87157389 )((unsigned int )log->groups | 4U);
          string_list_append(& log->trailers, field);
        } else {
          tmp = _((char const   *)"unknown group type: %s");
          error((char const   *)tmp, arg);
          tmp___0 = const_error();
          return (tmp___0);
        }
      } else {
        log->groups = (enum __anonenum_groups_87157389 )((unsigned int )log->groups | 2U);
      }
    } else {
      log->groups = (enum __anonenum_groups_87157389 )((unsigned int )log->groups | 1U);
    }
  }
  return (0);
}
}
void shortlog_init(struct shortlog *log )
{


  {
  memset((void *)log, 0, sizeof(*log));
  read_mailmap(& log->mailmap);
  log->list.strdup_strings = 1U;
  log->wrap = 76;
  log->in1 = 6;
  log->in2 = 9;
  log->trailers.strdup_strings = 1U;
  log->trailers.cmp = (int (*)(char const   * , char const   * ))(& strcasecmp);
  return;
}
}
int cmd_shortlog(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct shortlog log ;
  struct rev_info rev ;
  int nongit ;
  struct option options[7] ;
  struct parse_opt_ctx_t ctx___0 ;
  enum parse_opt_result tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;

  {
  log.list.items = (struct string_list_item *)0;
  log.list.nr = 0U;
  log.list.alloc = 0U;
  log.list.strdup_strings = 0U;
  log.list.cmp = (int (*)(char const   * , char const   * ))0;
  log.summary = 0;
  log.wrap_lines = 0;
  log.sort_by_number = 0;
  log.wrap = 0;
  log.in1 = 0;
  log.in2 = 0;
  log.user_format = 0;
  log.abbrev = 0;
  log.groups = 0U;
  log.trailers.items = (struct string_list_item *)0;
  log.trailers.nr = 0U;
  log.trailers.alloc = 0U;
  log.trailers.strdup_strings = 0U;
  log.trailers.cmp = (int (*)(char const   * , char const   * ))0;
  log.email = 0;
  log.mailmap.items = (struct string_list_item *)0;
  log.mailmap.nr = 0U;
  log.mailmap.alloc = 0U;
  log.mailmap.strdup_strings = 0U;
  log.mailmap.cmp = (int (*)(char const   * , char const   * ))0;
  log.file = (FILE *)0;
  nongit = ! startup_info->have_repository;
  options[0].type = (enum parse_opt_type )((enum parse_opt_type )4);
  options[0].short_name = (int )'c';
  options[0].long_name = (char const   *)((char const   *)"committer");
  options[0].value = (void *)((void *)(& log.groups));
  options[0].argh = (char const   *)((char const   *)((void *)0));
  options[0].help = (char const   *)((char const   *)"group by committer rather than author");
  options[0].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[0].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[0].defval = (intptr_t )((intptr_t )2);
  options[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[0].extra = (intptr_t )0L;
  options[1].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[1].short_name = (int )'n';
  options[1].long_name = (char const   *)((char const   *)"numbered");
  options[1].value = (void *)((void *)(& log.sort_by_number));
  options[1].argh = (char const   *)((char const   *)((void *)0));
  options[1].help = (char const   *)((char const   *)"sort output according to the number of commits per author");
  options[1].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[1].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[1].defval = (intptr_t )((intptr_t )1);
  options[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[1].extra = (intptr_t )0L;
  options[2].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[2].short_name = (int )'s';
  options[2].long_name = (char const   *)((char const   *)"summary");
  options[2].value = (void *)((void *)(& log.summary));
  options[2].argh = (char const   *)((char const   *)((void *)0));
  options[2].help = (char const   *)((char const   *)"suppress commit descriptions, only provides commit count");
  options[2].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[2].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[2].defval = (intptr_t )((intptr_t )1);
  options[2].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[2].extra = (intptr_t )0L;
  options[3].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[3].short_name = (int )'e';
  options[3].long_name = (char const   *)((char const   *)"email");
  options[3].value = (void *)((void *)(& log.email));
  options[3].argh = (char const   *)((char const   *)((void *)0));
  options[3].help = (char const   *)((char const   *)"show the email address of each author");
  options[3].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  options[3].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[3].defval = (intptr_t )((intptr_t )1);
  options[3].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[3].extra = (intptr_t )0L;
  options[4].type = (enum parse_opt_type )((enum parse_opt_type )12);
  options[4].short_name = (int )'w';
  options[4].long_name = (char const   *)((char const   *)((void *)0));
  options[4].value = (void *)((void *)(& log));
  options[4].argh = (char const   *)((char const   *)"<w>[,<i1>[,<i2>]]");
  options[4].help = (char const   *)((char const   *)"linewrap output");
  options[4].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )1);
  options[4].callback = (parse_opt_cb *)(& parse_wrap_args);
  options[4].defval = (intptr_t )0L;
  options[4].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[4].extra = (intptr_t )0L;
  options[5].type = (enum parse_opt_type )((enum parse_opt_type )12);
  options[5].short_name = (int )0;
  options[5].long_name = (char const   *)((char const   *)"group");
  options[5].value = (void *)((void *)(& log));
  options[5].argh = (char const   *)((char const   *)"field");
  options[5].help = (char const   *)((char const   *)"group by field");
  options[5].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  options[5].callback = (parse_opt_cb *)(& parse_group_option);
  options[5].defval = (intptr_t )0L;
  options[5].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[5].extra = (intptr_t )0L;
  options[6].type = (enum parse_opt_type )((enum parse_opt_type )0);
  options[6].short_name = (int )0;
  options[6].long_name = (char const   *)((char const   *)0);
  options[6].value = (void *)((void *)0);
  options[6].argh = (char const   *)((char const   *)0);
  options[6].help = (char const   *)((char const   *)0);
  options[6].flags = (enum parse_opt_option_flags )0U;
  options[6].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  options[6].defval = (intptr_t )0L;
  options[6].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[6].extra = (intptr_t )0L;
  git_config(& git_default_config, (void *)0);
  shortlog_init(& log);
  repo_init_revisions(the_repository, & rev, prefix___1);
  parse_options_start(& ctx___0, argc, argv___0, prefix___1, (struct option  const  *)(options),
                      (enum parse_opt_flags )5);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = parse_options_step(& ctx___0, (struct option  const  *)(options), shortlog_usage);
    {
    if ((int )tmp == 2) {
      goto case_2;
    }
    if ((int )tmp == 1) {
      goto case_2;
    }
    if ((int )tmp == -1) {
      goto case_neg_1;
    }
    if ((int )tmp == -2) {
      goto case_neg_1;
    }
    if ((int )tmp == -3) {
      goto case_neg_3;
    }
    if ((int )tmp == 0) {
      goto case_0;
    }
    goto switch_break;
    case_2: /* CIL Label */
    case_1: /* CIL Label */
    goto switch_break;
    case_neg_1: /* CIL Label */
    case_neg_2: /* CIL Label */
    tmp___0 = trace2_cmd_exit_fl((char const   *)"builtin/shortlog.c", 382, 129);
    exit(tmp___0);
    case_neg_3: /* CIL Label */
    tmp___1 = trace2_cmd_exit_fl((char const   *)"builtin/shortlog.c", 384, 0);
    exit(tmp___1);
    case_0: /* CIL Label */
    goto parse_done;
    switch_break: /* CIL Label */ ;
    }
    parse_revision_opt(& rev, & ctx___0, (struct option  const  *)(options), shortlog_usage);
  }
  while_break: /* CIL Label */ ;
  }
  parse_done:
  argc = parse_options_end(& ctx___0);
  if (nongit) {
    if (argc > 1) {
      tmp___2 = _((char const   *)"too many arguments given outside repository");
      error((char const   *)tmp___2);
      const_error();
      usage_with_options(shortlog_usage, (struct option  const  *)(options));
    }
  }
  tmp___4 = setup_revisions(argc, argv___0, & rev, (struct setup_revision_opt *)((void *)0));
  if (tmp___4 != 1) {
    tmp___3 = _((char const   *)"unrecognized argument: %s");
    error((char const   *)tmp___3, *(argv___0 + 1));
    const_error();
    usage_with_options(shortlog_usage, (struct option  const  *)(options));
  }
  log.user_format = (unsigned int )rev.commit_format == 8U;
  log.abbrev = (int )rev.abbrev;
  log.file = rev.diffopt.file;
  if (! log.groups) {
    log.groups = (enum __anonenum_groups_87157389 )1;
  }
  string_list_sort(& log.trailers);
  if (! nongit) {
    if (! rev.pending.nr) {
      tmp___5 = isatty(0);
      if (tmp___5) {
        add_head_to_pending(& rev);
      }
    }
  }
  if (rev.pending.nr == 0U) {
    tmp___7 = isatty(0);
    if (tmp___7) {
      tmp___6 = _((char const   *)"(reading log message from standard input)\n");
      fprintf(stderr, (char const   *)tmp___6);
    }
    read_from_stdin(& log);
  } else {
    get_from_rev(& rev, & log);
  }
  shortlog_output(& log);
  if ((unsigned long )log.file != (unsigned long )stdout) {
    fclose(log.file);
  }
  return (0);
}
}
static void add_wrapped_shortlog_msg(struct strbuf *sb___6 , char const   *s___1 ,
                                     struct shortlog  const  *log )
{


  {
  strbuf_add_wrapped_text(sb___6, s___1, (int )log->in1, (int )log->in2, (int )log->wrap);
  strbuf_addch(sb___6, '\n');
  return;
}
}
void shortlog_output(struct shortlog *log )
{
  int i ;
  int j ;
  struct strbuf sb___6 ;
  int (*tmp)(void const   *a1 , void const   *a2 ) ;
  struct string_list_item  const  *item___0 ;
  struct string_list *onelines ;
  char const   *msg___5 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  if (log->sort_by_number) {
    if (log->summary) {
      tmp = & compare_by_counter;
    } else {
      tmp = & compare_by_list;
    }
    sane_qsort((void *)log->list.items, (size_t )log->list.nr, sizeof(*(log->list.items)),
               tmp);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < log->list.nr)) {
      goto while_break;
    }
    item___0 = (struct string_list_item  const  *)(log->list.items + i);
    if (log->summary) {
      fprintf(log->file, (char const   *)"%6d\t%s\n", (int )((intptr_t )item___0->util),
              item___0->string);
    } else {
      onelines = (struct string_list *)item___0->util;
      fprintf(log->file, (char const   *)"%s (%d):\n", item___0->string, onelines->nr);
      j = (int )(onelines->nr - 1U);
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (j >= 0)) {
          goto while_break___0;
        }
        msg___5 = (char const   *)(onelines->items + j)->string;
        if (log->wrap_lines) {
          strbuf_setlen___33(& sb___6, (size_t )0);
          add_wrapped_shortlog_msg(& sb___6, msg___5, (struct shortlog  const  *)log);
          fwrite((void const   * __restrict  )sb___6.buf, sb___6.len, (size_t )1,
                 (FILE * __restrict  )log->file);
        } else {
          fprintf(log->file, (char const   *)"      %s\n", msg___5);
        }
        j --;
      }
      while_break___0: /* CIL Label */ ;
      }
      _IO_putc('\n', log->file);
      onelines->strdup_strings = 1U;
      string_list_clear(onelines, 0);
      free((void *)onelines);
    }
    (log->list.items + i)->util = (void *)0;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& sb___6);
  log->list.strdup_strings = 1U;
  string_list_clear(& log->list, 1);
  clear_mailmap(& log->mailmap);
  return;
}
}
static char const   *show_branch_usage[3]  = {      (char const   *)"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n                [--current] [--color[=<when>] | --no-color] [--sparse]\n                [--more=<n> | --list | --independent | --merge-base]\n                [--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]",      (char const   *)"git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]",      (char const   *)((void *)0)};
static int showbranch_use_color  =    -1;
static struct strvec default_args  =    {empty_strvec, 0UL, 0UL};
static char const   *get_color_code(int idx___0 )
{
  int tmp ;

  {
  tmp = want_color_fd(1, showbranch_use_color);
  if (tmp) {
    return (column_colors_ansi[idx___0 % (int )column_colors_ansi_max]);
  }
  return ((char const   *)"");
}
}
static char const   *get_color_reset_code(void)
{
  int tmp ;

  {
  tmp = want_color_fd(1, showbranch_use_color);
  if (tmp) {
    return ((char const   *)"\033[m");
  }
  return ((char const   *)"");
}
}
static struct commit *interesting___0(struct commit_list *list___3 )
{
  struct commit *commit ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    commit = list___3->item;
    list___3 = list___3->next;
    if (commit->object.flags & 1U) {
      goto while_continue;
    }
    return (commit);
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct commit *)((void *)0));
}
}
static void init_commit_name_slab_with_stride(struct commit_name_slab *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_commit_name_slab_with_stride(struct commit_name_slab *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(struct commit_name___0 *) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (struct commit_name___0 ***)((void *)0);
  return;
}
}
static void init_commit_name_slab(struct commit_name_slab *s___1 )  __attribute__((__unused__)) ;
static void init_commit_name_slab(struct commit_name_slab *s___1 )
{


  {
  init_commit_name_slab_with_stride(s___1, 1U);
  return;
}
}
static void clear_commit_name_slab(struct commit_name_slab *s___1 )  __attribute__((__unused__)) ;
static void clear_commit_name_slab(struct commit_name_slab *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (struct commit_name___0 ***)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_commit_name_slab(struct commit_name_slab *s___1 , void (*free_fn)(struct commit_name___0 ** ) )  __attribute__((__unused__)) ;
static void deep_clear_commit_name_slab(struct commit_name_slab *s___1 , void (*free_fn)(struct commit_name___0 ** ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_commit_name_slab(s___1);
  return;
}
}
static struct commit_name___0 **commit_name_slab_at_peek(struct commit_name_slab *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static struct commit_name___0 **commit_name_slab_at_peek(struct commit_name_slab *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((struct commit_name___0 **)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (struct commit_name___0 ***)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (struct commit_name___0 **)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((struct commit_name___0 **)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (struct commit_name___0 **)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static struct commit_name___0 **commit_name_slab_at(struct commit_name_slab *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct commit_name___0 **commit_name_slab_at(struct commit_name_slab *s___1 ,
                                                    struct commit  const  *c___0 )
{
  struct commit_name___0 **tmp ;

  {
  tmp = commit_name_slab_at_peek(s___1, c___0, 1);
  return (tmp);
}
}
static struct commit_name___0 **commit_name_slab_peek(struct commit_name_slab *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static struct commit_name___0 **commit_name_slab_peek(struct commit_name_slab *s___1 ,
                                                      struct commit  const  *c___0 )
{
  struct commit_name___0 **tmp ;

  {
  tmp = commit_name_slab_at_peek(s___1, c___0, 0);
  return (tmp);
}
}
static struct commit_name_slab name_slab  ;
static struct commit_name___0 *commit_to_name(struct commit *commit )
{
  struct commit_name___0 **tmp ;

  {
  tmp = commit_name_slab_at(& name_slab, (struct commit  const  *)commit);
  return (*tmp);
}
}
static void name_commit(struct commit *commit , char const   *head_name___0 , int nth )
{
  struct commit_name___0 *name___0 ;
  struct commit_name___0 **tmp ;
  void *tmp___0 ;
  struct commit_name___0 **tmp___1 ;

  {
  tmp = commit_name_slab_at(& name_slab, (struct commit  const  *)commit);
  name___0 = *tmp;
  if (! name___0) {
    tmp___0 = xmalloc(sizeof(*name___0));
    name___0 = (struct commit_name___0 *)tmp___0;
    tmp___1 = commit_name_slab_at(& name_slab, (struct commit  const  *)commit);
    *tmp___1 = name___0;
  }
  name___0->head_name = head_name___0;
  name___0->generation = nth;
  return;
}
}
static void name_parent(struct commit *commit , struct commit *parent )
{
  struct commit_name___0 *commit_name ;
  struct commit_name___0 *tmp ;
  struct commit_name___0 *parent_name ;
  struct commit_name___0 *tmp___0 ;

  {
  tmp = commit_to_name(commit);
  commit_name = tmp;
  tmp___0 = commit_to_name(parent);
  parent_name = tmp___0;
  if (! commit_name) {
    return;
  }
  if (! parent_name) {
    name_commit(parent, commit_name->head_name, commit_name->generation + 1);
  } else
  if (commit_name->generation + 1 < parent_name->generation) {
    name_commit(parent, commit_name->head_name, commit_name->generation + 1);
  }
  return;
}
}
static int name_first_parent_chain(struct commit *c___0 )
{
  int i ;
  struct commit *p___0 ;
  struct commit_name___0 *tmp ;
  struct commit_name___0 *tmp___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! c___0) {
      goto while_break;
    }
    tmp = commit_to_name(c___0);
    if (! tmp) {
      goto while_break;
    }
    if (! c___0->parents) {
      goto while_break;
    }
    p___0 = (c___0->parents)->item;
    tmp___0 = commit_to_name(p___0);
    if (tmp___0) {
      goto while_break;
    } else {
      name_parent(c___0, p___0);
      i ++;
    }
    c___0 = p___0;
  }
  while_break: /* CIL Label */ ;
  }
  return (i);
}
}
static void name_commits(struct commit_list *list___3 , struct commit **rev , char **ref_name___0 ,
                         int num_rev )
{
  struct commit_list *cl ;
  struct commit *c___0 ;
  int i ;
  struct commit_name___0 *tmp ;
  int tmp___0 ;
  struct commit_list *parents ;
  struct commit_name___0 *n ;
  int nth ;
  struct commit_name___0 *tmp___1 ;
  struct commit *p___0 ;
  struct strbuf newname ;
  struct commit_name___0 *tmp___2 ;
  char *tmp___3 ;

  {
  cl = list___3;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! cl) {
      goto while_break;
    }
    c___0 = cl->item;
    tmp = commit_to_name(c___0);
    if (tmp) {
      goto __Cont;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < num_rev)) {
        goto while_break___0;
      }
      if ((unsigned long )*(rev + i) == (unsigned long )c___0) {
        name_commit(c___0, (char const   *)*(ref_name___0 + i), 0);
        goto while_break___0;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    cl = cl->next;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    i = 0;
    cl = list___3;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! cl) {
        goto while_break___2;
      }
      tmp___0 = name_first_parent_chain(cl->item);
      i += tmp___0;
      cl = cl->next;
    }
    while_break___2: /* CIL Label */ ;
    }
    if (! i) {
      goto while_break___1;
    }
  }
  while_break___1: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    i = 0;
    cl = list___3;
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (! cl) {
        goto while_break___4;
      }
      c___0 = cl->item;
      tmp___1 = commit_to_name(c___0);
      if (! tmp___1) {
        goto __Cont___0;
      }
      n = commit_to_name(c___0);
      parents = c___0->parents;
      nth = 0;
      {
      while (1) {
        while_continue___5: /* CIL Label */ ;
        if (! parents) {
          goto while_break___5;
        }
        p___0 = parents->item;
        newname.alloc = 0UL;
        newname.len = 0UL;
        newname.buf = strbuf_slopbuf;
        parents = parents->next;
        nth ++;
        tmp___2 = commit_to_name(p___0);
        if (tmp___2) {
          goto while_continue___5;
        }
        {
        if (n->generation == 0) {
          goto case_0;
        }
        if (n->generation == 1) {
          goto case_1;
        }
        goto switch_default;
        case_0: /* CIL Label */
        strbuf_addstr(& newname, n->head_name);
        goto switch_break;
        case_1: /* CIL Label */
        strbuf_addf(& newname, (char const   *)"%s^", n->head_name);
        goto switch_break;
        switch_default: /* CIL Label */
        strbuf_addf(& newname, (char const   *)"%s~%d", n->head_name, n->generation);
        goto switch_break;
        switch_break: /* CIL Label */ ;
        }
        if (nth == 1) {
          strbuf_addch(& newname, '^');
        } else {
          strbuf_addf(& newname, (char const   *)"^%d", nth);
        }
        tmp___3 = strbuf_detach(& newname, (size_t *)((void *)0));
        name_commit(p___0, (char const   *)tmp___3, 0);
        i ++;
        name_first_parent_chain(p___0);
      }
      while_break___5: /* CIL Label */ ;
      }
      __Cont___0: /* CIL Label */
      cl = cl->next;
    }
    while_break___4: /* CIL Label */ ;
    }
    if (! i) {
      goto while_break___3;
    }
  }
  while_break___3: /* CIL Label */ ;
  }
  return;
}
}
static int mark_seen(struct commit *commit , struct commit_list **seen_p )
{


  {
  if (! commit->object.flags) {
    commit_list_insert(commit, seen_p);
    return (1);
  }
  return (0);
}
}
static void join_revs(struct commit_list **list_p , struct commit_list **seen_p ,
                      int num_rev , int extra___2 )
{
  int all_mask ;
  int all_revs ;
  struct commit_list *parents ;
  int still_interesting___0 ;
  struct commit *tmp ;
  int tmp___0 ;
  struct commit *commit ;
  struct commit *tmp___1 ;
  int flags___0 ;
  struct commit *p___0 ;
  int this_flag ;
  int tmp___2 ;
  int changed ;
  struct commit_list *s___1 ;
  struct commit *c___0 ;
  struct commit_list *parents___0 ;
  struct commit *p___1 ;

  {
  all_mask = (int )((1u << (2 + num_rev)) - 1U);
  all_revs = (int )((unsigned int )all_mask & ~ ((1u << 2) - 1U));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *list_p) {
      goto while_break;
    }
    tmp = interesting___0(*list_p);
    if (tmp) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
    still_interesting___0 = tmp___0;
    tmp___1 = pop_commit(list_p);
    commit = tmp___1;
    flags___0 = (int )(commit->object.flags & (unsigned int )all_mask);
    if (! still_interesting___0) {
      if (extra___2 <= 0) {
        goto while_break;
      }
    }
    mark_seen(commit, seen_p);
    if ((flags___0 & all_revs) == all_revs) {
      flags___0 |= 01;
    }
    parents = commit->parents;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! parents) {
        goto while_break___0;
      }
      p___0 = parents->item;
      this_flag = (int )p___0->object.flags;
      parents = parents->next;
      if ((this_flag & flags___0) == flags___0) {
        goto while_continue___0;
      }
      repo_parse_commit(the_repository, p___0);
      tmp___2 = mark_seen(p___0, seen_p);
      if (tmp___2) {
        if (! still_interesting___0) {
          extra___2 --;
        }
      }
      p___0->object.flags |= (unsigned int )flags___0;
      commit_list_insert_by_date(p___0, list_p);
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    changed = 0;
    s___1 = *seen_p;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! s___1) {
        goto while_break___2;
      }
      c___0 = s___1->item;
      if ((c___0->object.flags & (unsigned int )all_revs) != (unsigned int )all_revs) {
        if (! (c___0->object.flags & 1U)) {
          goto __Cont;
        }
      }
      parents___0 = c___0->parents;
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if (! parents___0) {
          goto while_break___3;
        }
        p___1 = parents___0->item;
        parents___0 = parents___0->next;
        if (! (p___1->object.flags & 1U)) {
          p___1->object.flags |= 1U;
          changed = 1;
        }
      }
      while_break___3: /* CIL Label */ ;
      }
      __Cont: /* CIL Label */
      s___1 = s___1->next;
    }
    while_break___2: /* CIL Label */ ;
    }
    if (! changed) {
      goto while_break___1;
    }
  }
  while_break___1: /* CIL Label */ ;
  }
  return;
}
}
static void show_one_commit(struct commit *commit , int no_name )
{
  struct strbuf pretty___0 ;
  char const   *pretty_str ;
  struct commit_name___0 *name___0 ;
  struct commit_name___0 *tmp ;
  char const   *tmp___0 ;

  {
  pretty___0.alloc = 0UL;
  pretty___0.len = 0UL;
  pretty___0.buf = strbuf_slopbuf;
  pretty_str = (char const   *)"(unavailable)";
  tmp = commit_to_name(commit);
  name___0 = tmp;
  if (commit->object.parsed) {
    pp_commit_easy((enum cmit_fmt )5, (struct commit  const  *)commit, & pretty___0);
    pretty_str = (char const   *)pretty___0.buf;
  }
  skip_prefix(pretty_str, (char const   *)"[PATCH] ", & pretty_str);
  if (! no_name) {
    if (name___0) {
      if (name___0->head_name) {
        printf((char const   *)"[%s", name___0->head_name);
        if (name___0->generation) {
          if (name___0->generation == 1) {
            printf((char const   *)"^");
          } else {
            printf((char const   *)"~%d", name___0->generation);
          }
        }
        printf((char const   *)"] ");
      } else {
        tmp___0 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& commit->object.oid),
                                          default_abbrev);
        printf((char const   *)"[%s] ", tmp___0);
      }
    } else {
      tmp___0 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& commit->object.oid),
                                        default_abbrev);
      printf((char const   *)"[%s] ", tmp___0);
    }
  }
  puts(pretty_str);
  strbuf_release(& pretty___0);
  return;
}
}
static char *ref_name[27]  ;
static int ref_name_cnt  ;
static char const   *find_digit_prefix(char const   *s___1 , int *v )
{
  char const   *p___0 ;
  int ver ;
  char ch___0 ;

  {
  p___0 = s___1;
  ver = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    ch___0 = (char )*p___0;
    if (48 <= (int )ch___0) {
      if (! ((int )ch___0 <= 57)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    ver = (ver * 10 + (int )ch___0) - 48;
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  *v = ver;
  return (p___0);
}
}
static int version_cmp(char const   *a , char const   *b___0 )
{
  int va ;
  int vb ;
  int ca ;
  int cb ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    a = find_digit_prefix(a, & va);
    b___0 = find_digit_prefix(b___0, & vb);
    if (va != vb) {
      return (va - vb);
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      ca = (int )*a;
      cb = (int )*b___0;
      if (48 <= ca) {
        if (ca <= 57) {
          ca = 0;
        }
      }
      if (48 <= cb) {
        if (cb <= 57) {
          cb = 0;
        }
      }
      if (ca != cb) {
        return (ca - cb);
      }
      if (! ca) {
        goto while_break___0;
      }
      a ++;
      b___0 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! *a) {
      if (! *b___0) {
        return (0);
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int compare_ref_name(void const   *a_ , void const   *b_ )
{
  char const   **a ;
  char const   **b___0 ;
  int tmp ;

  {
  a = (char const   **)a_;
  b___0 = (char const   **)b_;
  tmp = version_cmp((char const   *)*a, (char const   *)*b___0);
  return (tmp);
}
}
static void sort_ref_range(int bottom , int top )
{


  {
  sane_qsort((void *)(ref_name + bottom), (size_t )(top - bottom), sizeof(*(ref_name + bottom)),
             & compare_ref_name);
  return;
}
}
static int append_ref(char const   *refname , struct object_id  const  *oid , int allow_dups )
{
  struct commit *commit ;
  struct commit *tmp ;
  int i ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  tmp = lookup_commit_reference_gently(the_repository, oid, 1);
  commit = tmp;
  if (! commit) {
    return (0);
  }
  if (! allow_dups) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < ref_name_cnt)) {
        goto while_break;
      }
      tmp___0 = strcmp(refname, (char const   *)ref_name[i]);
      if (! tmp___0) {
        return (0);
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (26 <= ref_name_cnt) {
    tmp___1 = Q_((char const   *)"ignoring %s; cannot handle more than %d ref", (char const   *)"ignoring %s; cannot handle more than %d refs",
                 26UL);
    warning((char const   *)tmp___1, refname, 26);
    return (0);
  }
  tmp___2 = ref_name_cnt;
  ref_name_cnt ++;
  ref_name[tmp___2] = xstrdup(refname);
  ref_name[ref_name_cnt] = (char *)((void *)0);
  return (0);
}
}
static int append_head_ref(char const   *refname , struct object_id  const  *oid ,
                           int flag , void *cb_data )
{
  struct object_id tmp ;
  int ofs ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  ofs = 11;
  tmp___0 = starts_with(refname, (char const   *)"refs/heads/");
  if (! tmp___0) {
    return (0);
  }
  tmp___1 = repo_get_oid(the_repository, refname + ofs, & tmp);
  if (tmp___1) {
    ofs = 5;
  } else {
    tmp___2 = oideq((struct object_id  const  *)(& tmp), oid);
    if (! tmp___2) {
      ofs = 5;
    }
  }
  tmp___3 = append_ref(refname + ofs, oid, 0);
  return (tmp___3);
}
}
static int append_remote_ref(char const   *refname , struct object_id  const  *oid ,
                             int flag , void *cb_data )
{
  struct object_id tmp ;
  int ofs ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  ofs = 13;
  tmp___0 = starts_with(refname, (char const   *)"refs/remotes/");
  if (! tmp___0) {
    return (0);
  }
  tmp___1 = repo_get_oid(the_repository, refname + ofs, & tmp);
  if (tmp___1) {
    ofs = 5;
  } else {
    tmp___2 = oideq((struct object_id  const  *)(& tmp), oid);
    if (! tmp___2) {
      ofs = 5;
    }
  }
  tmp___3 = append_ref(refname + ofs, oid, 0);
  return (tmp___3);
}
}
static int append_tag_ref(char const   *refname , struct object_id  const  *oid ,
                          int flag , void *cb_data )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = starts_with(refname, (char const   *)"refs/tags/");
  if (! tmp) {
    return (0);
  }
  tmp___0 = append_ref(refname + 5, oid, 0);
  return (tmp___0);
}
}
static char const   *match_ref_pattern___0  =    (char const   *)((void *)0);
static int match_ref_slash  =    0;
static int append_matching_ref(char const   *refname , struct object_id  const  *oid ,
                               int flag , void *cb_data )
{
  char const   *tail ;
  int slash ;
  int tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  tmp = count_slashes(refname);
  slash = tmp;
  tail = refname;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*tail) {
      if (! (match_ref_slash < slash)) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___0 = tail;
    tail ++;
    if ((int const   )*tmp___0 == 47) {
      slash --;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (! *tail) {
    return (0);
  }
  tmp___1 = wildmatch(match_ref_pattern___0, tail, 0U);
  if (tmp___1) {
    return (0);
  }
  tmp___3 = starts_with(refname, (char const   *)"refs/heads/");
  if (tmp___3) {
    tmp___2 = append_head_ref(refname, oid, flag, cb_data);
    return (tmp___2);
  }
  tmp___5 = starts_with(refname, (char const   *)"refs/tags/");
  if (tmp___5) {
    tmp___4 = append_tag_ref(refname, oid, flag, cb_data);
    return (tmp___4);
  }
  tmp___6 = append_ref(refname, oid, 0);
  return (tmp___6);
}
}
static void snarf_refs(int head___1 , int remotes )
{
  int orig_cnt ;
  int orig_cnt___0 ;

  {
  if (head___1) {
    orig_cnt = ref_name_cnt;
    for_each_ref(& append_head_ref, (void *)0);
    sort_ref_range(orig_cnt, ref_name_cnt);
  }
  if (remotes) {
    orig_cnt___0 = ref_name_cnt;
    for_each_ref(& append_remote_ref, (void *)0);
    sort_ref_range(orig_cnt___0, ref_name_cnt);
  }
  return;
}
}
static int rev_is_head(char const   *head___1 , char const   *name___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! head___1) {
    return (0);
  }
  skip_prefix(head___1, (char const   *)"refs/heads/", & head___1);
  tmp = skip_prefix(name___0, (char const   *)"refs/heads/", & name___0);
  if (! tmp) {
    skip_prefix(name___0, (char const   *)"heads/", & name___0);
  }
  tmp___0 = strcmp(head___1, name___0);
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  return (tmp___1);
}
}
static int show_merge_base___0(struct commit_list *seen___0 , int num_rev )
{
  int all_mask ;
  int all_revs ;
  int exit_status ;
  struct commit *commit ;
  struct commit *tmp ;
  int flags___0 ;
  char *tmp___0 ;

  {
  all_mask = (int )((1u << (2 + num_rev)) - 1U);
  all_revs = (int )((unsigned int )all_mask & ~ ((1u << 2) - 1U));
  exit_status = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! seen___0) {
      goto while_break;
    }
    tmp = pop_commit(& seen___0);
    commit = tmp;
    flags___0 = (int )(commit->object.flags & (unsigned int )all_mask);
    if (! (flags___0 & 01)) {
      if ((flags___0 & all_revs) == all_revs) {
        tmp___0 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
        puts((char const   *)tmp___0);
        exit_status = 0;
        commit->object.flags |= 1U;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (exit_status);
}
}
static int show_independent(struct commit **rev , int num_rev , unsigned int *rev_mask )
{
  int i ;
  struct commit *commit ;
  unsigned int flag ;
  char *tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < num_rev)) {
      goto while_break;
    }
    commit = *(rev + i);
    flag = *(rev_mask + i);
    if (commit->object.flags == flag) {
      tmp = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
      puts((char const   *)tmp);
    }
    commit->object.flags |= 1U;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void append_one_rev(char const   *av )
{
  struct object_id revkey ;
  int tmp ;
  int saved_matches ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char *tmp___1 ;

  {
  tmp = repo_get_oid(the_repository, av, & revkey);
  if (! tmp) {
    append_ref(av, (struct object_id  const  *)(& revkey), 0);
    return;
  }
  tmp___1 = strpbrk(av, (char const   *)"*?[");
  if (tmp___1) {
    saved_matches = ref_name_cnt;
    match_ref_pattern___0 = av;
    match_ref_slash = count_slashes(av);
    for_each_ref(& append_matching_ref, (void *)0);
    if (saved_matches == ref_name_cnt) {
      if (ref_name_cnt < 26) {
        tmp___0 = _((char const   *)"no matching refs with %s");
        error((char const   *)tmp___0, av);
        const_error();
      }
    }
    sort_ref_range(saved_matches, ref_name_cnt);
    return;
  }
  die((char const   *)"bad sha1 reference %s", av);
}
}
static int git_show_branch_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___0 = strcmp(var, (char const   *)"showbranch.default");
  if (! tmp___0) {
    if (! value) {
      config_error_nonbool(var);
      tmp = const_error();
      return (tmp);
    }
    if (! default_args.nr) {
      strvec_push(& default_args, (char const   *)"show-branch");
    }
    strvec_push(& default_args, value);
    return (0);
  }
  tmp___1 = strcmp(var, (char const   *)"color.showbranch");
  if (! tmp___1) {
    showbranch_use_color = git_config_colorbool(var, value);
    return (0);
  }
  tmp___2 = git_color_default_config(var, value, cb);
  return (tmp___2);
}
}
static int omit_in_dense(struct commit *commit , struct commit **rev , int n )
{
  int i ;
  int flag ;
  int count___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    if ((unsigned long )*(rev + i) == (unsigned long )commit) {
      return (0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  flag = (int )commit->object.flags;
  count___0 = 0;
  i = count___0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break___0;
    }
    if ((unsigned int )flag & (1u << (i + 2))) {
      count___0 ++;
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (count___0 == 1) {
    return (1);
  }
  return (0);
}
}
static int reflog___0  =    0;
static int parse_reflog_param(struct option  const  *opt___0 , char const   *arg ,
                              int unset )
{
  char *ep ;
  char const   **base ;
  unsigned long tmp ;
  int tmp___0 ;

  {
  base = (char const   **)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/show-branch.c", 605, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (! arg) {
    arg = (char const   *)"";
  }
  tmp = strtoul((char const   * __restrict  )arg, (char ** __restrict  )(& ep), 10);
  reflog___0 = (int )tmp;
  if ((int )*ep == 44) {
    *base = (char const   *)(ep + 1);
  } else
  if (*ep) {
    error((char const   *)"unrecognized reflog param \'%s\'", arg);
    tmp___0 = const_error();
    return (tmp___0);
  } else {
    *base = (char const   *)((void *)0);
  }
  if (reflog___0 <= 0) {
    reflog___0 = 4;
  }
  return (0);
}
}
static char const   *fake_av[2]  ;
int cmd_show_branch(int ac , char const   **av , char const   *prefix___1 )
{
  struct commit *rev[26] ;
  struct commit *commit ;
  char *reflog_msg[26] ;
  struct commit_list *list___3 ;
  struct commit_list *seen___0 ;
  unsigned int rev_mask[26] ;
  int num_rev ;
  int i ;
  int extra___2 ;
  int all_heads ;
  int all_remotes ;
  int all_mask ;
  int all_revs ;
  enum rev_sort_order sort_order ;
  char *head___1 ;
  struct object_id head_oid___1 ;
  int merge_base ;
  int independent ;
  int no_name ;
  int sha1_name ;
  int shown_merge_point ;
  int with_current_branch ;
  int head_at ;
  int topics ;
  int dense ;
  char const   *reflog_base ;
  struct option builtin_show_branch_options[16] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct object_id oid ;
  char *ref ;
  int base ;
  unsigned int flags___0 ;
  char *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  size_t tmp___5 ;
  int tmp___6 ;
  char *ep ;
  unsigned long tmp___7 ;
  timestamp_t at ;
  struct ref_store *tmp___8 ;
  char *logmsg ;
  char *nth_desc ;
  char const   *msg___5 ;
  char *end ;
  timestamp_t timestamp___0 ;
  int tz ;
  struct ref_store *tmp___9 ;
  int tmp___10 ;
  struct date_mode *tmp___11 ;
  char const   *tmp___12 ;
  int has_head ;
  int tmp___13 ;
  char const   *name___0 ;
  int tmp___14 ;
  struct object_id revkey ;
  unsigned int flag ;
  char const __attribute__((__format_arg__(2), __format_arg__(1)))  *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  int tmp___17 ;
  char *tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int j ;
  int is_head___0 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  char const   *tmp___26 ;
  int tmp___27 ;
  char const   *tmp___28 ;
  int tmp___29 ;
  struct commit *commit___0 ;
  struct commit *tmp___30 ;
  int this_flag ;
  int is_merge_point ;
  int is_merge___1 ;
  int tmp___31 ;
  int tmp___32 ;
  int mark ;
  char const   *tmp___33 ;
  char const   *tmp___34 ;

  {
  list___3 = (struct commit_list *)((void *)0);
  seen___0 = (struct commit_list *)((void *)0);
  extra___2 = 0;
  all_heads = 0;
  all_remotes = 0;
  sort_order = (enum rev_sort_order )0;
  merge_base = 0;
  independent = 0;
  no_name = 0;
  sha1_name = 0;
  shown_merge_point = 0;
  with_current_branch = 0;
  head_at = -1;
  topics = 0;
  dense = 1;
  reflog_base = (char const   *)((void *)0);
  builtin_show_branch_options[0].type = (enum parse_opt_type )8;
  builtin_show_branch_options[0].short_name = 'a';
  builtin_show_branch_options[0].long_name = (char const   *)"all";
  builtin_show_branch_options[0].value = (void *)(& all_heads);
  builtin_show_branch_options[0].argh = (char const   *)((void *)0);
  builtin_show_branch_options[0].help = (char const   *)"show remote-tracking and local branches";
  builtin_show_branch_options[0].flags = (enum parse_opt_option_flags )2;
  builtin_show_branch_options[0].callback = (parse_opt_cb *)((void *)0);
  builtin_show_branch_options[0].defval = (intptr_t )1;
  builtin_show_branch_options[0].ll_callback = (parse_opt_ll_cb *)0;
  builtin_show_branch_options[0].extra = 0L;
  builtin_show_branch_options[1].type = (enum parse_opt_type )8;
  builtin_show_branch_options[1].short_name = 'r';
  builtin_show_branch_options[1].long_name = (char const   *)"remotes";
  builtin_show_branch_options[1].value = (void *)(& all_remotes);
  builtin_show_branch_options[1].argh = (char const   *)((void *)0);
  builtin_show_branch_options[1].help = (char const   *)"show remote-tracking branches";
  builtin_show_branch_options[1].flags = (enum parse_opt_option_flags )2;
  builtin_show_branch_options[1].callback = (parse_opt_cb *)((void *)0);
  builtin_show_branch_options[1].defval = (intptr_t )1;
  builtin_show_branch_options[1].ll_callback = (parse_opt_ll_cb *)0;
  builtin_show_branch_options[1].extra = 0L;
  builtin_show_branch_options[2].type = (enum parse_opt_type )12;
  builtin_show_branch_options[2].short_name = 0;
  builtin_show_branch_options[2].long_name = (char const   *)"color";
  builtin_show_branch_options[2].value = (void *)(& showbranch_use_color);
  builtin_show_branch_options[2].argh = (char const   *)"when";
  builtin_show_branch_options[2].help = (char const   *)"color \'*!+-\' corresponding to the branch";
  builtin_show_branch_options[2].flags = (enum parse_opt_option_flags )1;
  builtin_show_branch_options[2].callback = & parse_opt_color_flag_cb;
  builtin_show_branch_options[2].defval = (intptr_t )"always";
  builtin_show_branch_options[2].ll_callback = (parse_opt_ll_cb *)0;
  builtin_show_branch_options[2].extra = 0L;
  builtin_show_branch_options[3].type = (enum parse_opt_type )10;
  builtin_show_branch_options[3].short_name = 0;
  builtin_show_branch_options[3].long_name = (char const   *)"more";
  builtin_show_branch_options[3].value = (void *)(& extra___2);
  builtin_show_branch_options[3].argh = (char const   *)"n";
  builtin_show_branch_options[3].help = (char const   *)"show <n> more commits after the common ancestor";
  builtin_show_branch_options[3].flags = (enum parse_opt_option_flags )1;
  builtin_show_branch_options[3].callback = (parse_opt_cb *)((void *)0);
  builtin_show_branch_options[3].defval = (intptr_t )1;
  builtin_show_branch_options[3].ll_callback = (parse_opt_ll_cb *)0;
  builtin_show_branch_options[3].extra = 0L;
  builtin_show_branch_options[4].type = (enum parse_opt_type )8;
  builtin_show_branch_options[4].short_name = 0;
  builtin_show_branch_options[4].long_name = (char const   *)"list";
  builtin_show_branch_options[4].value = (void *)(& extra___2);
  builtin_show_branch_options[4].argh = (char const   *)((void *)0);
  builtin_show_branch_options[4].help = (char const   *)"synonym to more=-1";
  builtin_show_branch_options[4].flags = (enum parse_opt_option_flags )2;
  builtin_show_branch_options[4].callback = (parse_opt_cb *)((void *)0);
  builtin_show_branch_options[4].defval = (intptr_t )-1;
  builtin_show_branch_options[4].ll_callback = (parse_opt_ll_cb *)0;
  builtin_show_branch_options[4].extra = 0L;
  builtin_show_branch_options[5].type = (enum parse_opt_type )8;
  builtin_show_branch_options[5].short_name = 0;
  builtin_show_branch_options[5].long_name = (char const   *)"no-name";
  builtin_show_branch_options[5].value = (void *)(& no_name);
  builtin_show_branch_options[5].argh = (char const   *)((void *)0);
  builtin_show_branch_options[5].help = (char const   *)"suppress naming strings";
  builtin_show_branch_options[5].flags = (enum parse_opt_option_flags )2;
  builtin_show_branch_options[5].callback = (parse_opt_cb *)((void *)0);
  builtin_show_branch_options[5].defval = (intptr_t )1;
  builtin_show_branch_options[5].ll_callback = (parse_opt_ll_cb *)0;
  builtin_show_branch_options[5].extra = 0L;
  builtin_show_branch_options[6].type = (enum parse_opt_type )8;
  builtin_show_branch_options[6].short_name = 0;
  builtin_show_branch_options[6].long_name = (char const   *)"current";
  builtin_show_branch_options[6].value = (void *)(& with_current_branch);
  builtin_show_branch_options[6].argh = (char const   *)((void *)0);
  builtin_show_branch_options[6].help = (char const   *)"include the current branch";
  builtin_show_branch_options[6].flags = (enum parse_opt_option_flags )2;
  builtin_show_branch_options[6].callback = (parse_opt_cb *)((void *)0);
  builtin_show_branch_options[6].defval = (intptr_t )1;
  builtin_show_branch_options[6].ll_callback = (parse_opt_ll_cb *)0;
  builtin_show_branch_options[6].extra = 0L;
  builtin_show_branch_options[7].type = (enum parse_opt_type )8;
  builtin_show_branch_options[7].short_name = 0;
  builtin_show_branch_options[7].long_name = (char const   *)"sha1-name";
  builtin_show_branch_options[7].value = (void *)(& sha1_name);
  builtin_show_branch_options[7].argh = (char const   *)((void *)0);
  builtin_show_branch_options[7].help = (char const   *)"name commits with their object names";
  builtin_show_branch_options[7].flags = (enum parse_opt_option_flags )2;
  builtin_show_branch_options[7].callback = (parse_opt_cb *)((void *)0);
  builtin_show_branch_options[7].defval = (intptr_t )1;
  builtin_show_branch_options[7].ll_callback = (parse_opt_ll_cb *)0;
  builtin_show_branch_options[7].extra = 0L;
  builtin_show_branch_options[8].type = (enum parse_opt_type )8;
  builtin_show_branch_options[8].short_name = 0;
  builtin_show_branch_options[8].long_name = (char const   *)"merge-base";
  builtin_show_branch_options[8].value = (void *)(& merge_base);
  builtin_show_branch_options[8].argh = (char const   *)((void *)0);
  builtin_show_branch_options[8].help = (char const   *)"show possible merge bases";
  builtin_show_branch_options[8].flags = (enum parse_opt_option_flags )2;
  builtin_show_branch_options[8].callback = (parse_opt_cb *)((void *)0);
  builtin_show_branch_options[8].defval = (intptr_t )1;
  builtin_show_branch_options[8].ll_callback = (parse_opt_ll_cb *)0;
  builtin_show_branch_options[8].extra = 0L;
  builtin_show_branch_options[9].type = (enum parse_opt_type )8;
  builtin_show_branch_options[9].short_name = 0;
  builtin_show_branch_options[9].long_name = (char const   *)"independent";
  builtin_show_branch_options[9].value = (void *)(& independent);
  builtin_show_branch_options[9].argh = (char const   *)((void *)0);
  builtin_show_branch_options[9].help = (char const   *)"show refs unreachable from any other ref";
  builtin_show_branch_options[9].flags = (enum parse_opt_option_flags )2;
  builtin_show_branch_options[9].callback = (parse_opt_cb *)((void *)0);
  builtin_show_branch_options[9].defval = (intptr_t )1;
  builtin_show_branch_options[9].ll_callback = (parse_opt_ll_cb *)0;
  builtin_show_branch_options[9].extra = 0L;
  builtin_show_branch_options[10].type = (enum parse_opt_type )8;
  builtin_show_branch_options[10].short_name = 0;
  builtin_show_branch_options[10].long_name = (char const   *)"topo-order";
  builtin_show_branch_options[10].value = (void *)(& sort_order);
  builtin_show_branch_options[10].argh = (char const   *)((void *)0);
  builtin_show_branch_options[10].help = (char const   *)"show commits in topological order";
  builtin_show_branch_options[10].flags = (enum parse_opt_option_flags )2;
  builtin_show_branch_options[10].callback = (parse_opt_cb *)((void *)0);
  builtin_show_branch_options[10].defval = (intptr_t )0;
  builtin_show_branch_options[10].ll_callback = (parse_opt_ll_cb *)0;
  builtin_show_branch_options[10].extra = 0L;
  builtin_show_branch_options[11].type = (enum parse_opt_type )8;
  builtin_show_branch_options[11].short_name = 0;
  builtin_show_branch_options[11].long_name = (char const   *)"topics";
  builtin_show_branch_options[11].value = (void *)(& topics);
  builtin_show_branch_options[11].argh = (char const   *)((void *)0);
  builtin_show_branch_options[11].help = (char const   *)"show only commits not on the first branch";
  builtin_show_branch_options[11].flags = (enum parse_opt_option_flags )2;
  builtin_show_branch_options[11].callback = (parse_opt_cb *)((void *)0);
  builtin_show_branch_options[11].defval = (intptr_t )1;
  builtin_show_branch_options[11].ll_callback = (parse_opt_ll_cb *)0;
  builtin_show_branch_options[11].extra = 0L;
  builtin_show_branch_options[12].type = (enum parse_opt_type )8;
  builtin_show_branch_options[12].short_name = 0;
  builtin_show_branch_options[12].long_name = (char const   *)"sparse";
  builtin_show_branch_options[12].value = (void *)(& dense);
  builtin_show_branch_options[12].argh = (char const   *)((void *)0);
  builtin_show_branch_options[12].help = (char const   *)"show merges reachable from only one tip";
  builtin_show_branch_options[12].flags = (enum parse_opt_option_flags )2;
  builtin_show_branch_options[12].callback = (parse_opt_cb *)((void *)0);
  builtin_show_branch_options[12].defval = (intptr_t )0;
  builtin_show_branch_options[12].ll_callback = (parse_opt_ll_cb *)0;
  builtin_show_branch_options[12].extra = 0L;
  builtin_show_branch_options[13].type = (enum parse_opt_type )8;
  builtin_show_branch_options[13].short_name = 0;
  builtin_show_branch_options[13].long_name = (char const   *)"date-order";
  builtin_show_branch_options[13].value = (void *)(& sort_order);
  builtin_show_branch_options[13].argh = (char const   *)((void *)0);
  builtin_show_branch_options[13].help = (char const   *)"topologically sort, maintaining date order where possible";
  builtin_show_branch_options[13].flags = (enum parse_opt_option_flags )2;
  builtin_show_branch_options[13].callback = (parse_opt_cb *)((void *)0);
  builtin_show_branch_options[13].defval = (intptr_t )1;
  builtin_show_branch_options[13].ll_callback = (parse_opt_ll_cb *)0;
  builtin_show_branch_options[13].extra = 0L;
  builtin_show_branch_options[14].type = (enum parse_opt_type )12;
  builtin_show_branch_options[14].short_name = 'g';
  builtin_show_branch_options[14].long_name = (char const   *)"reflog";
  builtin_show_branch_options[14].value = (void *)(& reflog_base);
  builtin_show_branch_options[14].argh = (char const   *)"<n>[,<base>]";
  builtin_show_branch_options[14].help = (char const   *)"show <n> most recent ref-log entries starting at base";
  builtin_show_branch_options[14].flags = (enum parse_opt_option_flags )5;
  builtin_show_branch_options[14].callback = & parse_reflog_param;
  builtin_show_branch_options[14].defval = 0L;
  builtin_show_branch_options[14].ll_callback = (parse_opt_ll_cb *)0;
  builtin_show_branch_options[14].extra = 0L;
  builtin_show_branch_options[15].type = (enum parse_opt_type )0;
  builtin_show_branch_options[15].short_name = 0;
  builtin_show_branch_options[15].long_name = (char const   *)0;
  builtin_show_branch_options[15].value = (void *)0;
  builtin_show_branch_options[15].argh = (char const   *)0;
  builtin_show_branch_options[15].help = (char const   *)0;
  builtin_show_branch_options[15].flags = 0U;
  builtin_show_branch_options[15].callback = (parse_opt_cb *)0;
  builtin_show_branch_options[15].defval = 0L;
  builtin_show_branch_options[15].ll_callback = (parse_opt_ll_cb *)0;
  builtin_show_branch_options[15].extra = 0L;
  init_commit_name_slab(& name_slab);
  git_config(& git_show_branch_config, (void *)0);
  if (ac == 1) {
    if (default_args.nr) {
      ac = (int )default_args.nr;
      av = default_args.v;
    }
  }
  ac = parse_options(ac, av, prefix___1, (struct option  const  *)(builtin_show_branch_options),
                     (char const   **)(show_branch_usage), (enum parse_opt_flags )2);
  if (all_heads) {
    all_remotes = 1;
  }
  if (extra___2) {
    goto _L;
  } else
  if (reflog___0) {
    _L: /* CIL Label */
    if (independent) {
      usage_with_options((char const   **)(show_branch_usage), (struct option  const  *)(builtin_show_branch_options));
    } else
    if (merge_base) {
      usage_with_options((char const   **)(show_branch_usage), (struct option  const  *)(builtin_show_branch_options));
    }
    if (reflog___0) {
      if (0 < extra___2) {
        tmp = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
        die((char const   *)tmp, "--reflog", "--all/--remotes/--independent/--merge-base");
      } else
      if (all_heads) {
        tmp = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
        die((char const   *)tmp, "--reflog", "--all/--remotes/--independent/--merge-base");
      } else
      if (all_remotes) {
        tmp = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
        die((char const   *)tmp, "--reflog", "--all/--remotes/--independent/--merge-base");
      }
    }
  }
  if (ac <= topics) {
    if (all_heads + all_remotes == 0) {
      all_heads = 1;
    }
  }
  if (reflog___0) {
    base = 0;
    flags___0 = 0U;
    if (ac == 0) {
      tmp___0 = resolve_refdup((char const   *)"HEAD", 0x01, & oid, (int *)((void *)0));
      fake_av[0] = (char const   *)tmp___0;
      fake_av[1] = (char const   *)((void *)0);
      av = fake_av;
      ac = 1;
      if (! *av) {
        tmp___1 = _((char const   *)"no branches given, and HEAD is not valid");
        die((char const   *)tmp___1);
      }
    }
    if (ac != 1) {
      tmp___2 = _((char const   *)"--reflog option needs one branch name");
      die((char const   *)tmp___2);
    }
    if (26 < reflog___0) {
      tmp___3 = Q_((char const   *)"only %d entry can be shown at one time.", (char const   *)"only %d entries can be shown at one time.",
                   26UL);
      die((char const   *)tmp___3, 26);
    }
    tmp___5 = strlen(*av);
    tmp___6 = dwim_ref(*av, (int )tmp___5, & oid, & ref, 0);
    if (! tmp___6) {
      tmp___4 = _((char const   *)"no such ref %s");
      die((char const   *)tmp___4, *av);
    }
    if (reflog_base) {
      tmp___7 = strtoul((char const   * __restrict  )reflog_base, (char ** __restrict  )(& ep),
                        10);
      base = (int )tmp___7;
      if (*ep) {
        at = approxidate_careful(reflog_base, (int *)((void *)0));
        tmp___8 = get_main_ref_store(the_repository);
        read_ref_at(tmp___8, (char const   *)ref, flags___0, at, -1, & oid, (char **)((void *)0),
                    (timestamp_t *)((void *)0), (int *)((void *)0), & base);
      }
    }
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < reflog___0)) {
        goto while_break;
      }
      tmp___9 = get_main_ref_store(the_repository);
      tmp___10 = read_ref_at(tmp___9, (char const   *)ref, flags___0, (timestamp_t )0,
                             base + i, & oid, & logmsg, & timestamp___0, & tz, (int *)((void *)0));
      if (tmp___10) {
        reflog___0 = i;
        goto while_break;
      }
      end = strchr((char const   *)logmsg, '\n');
      if (end) {
        *end = (char )'\000';
      }
      if ((int )*logmsg == 0) {
        msg___5 = (char const   *)"(none)";
      } else {
        msg___5 = (char const   *)logmsg;
      }
      tmp___11 = date_mode_from_type((enum date_mode_type )2);
      tmp___12 = show_date(timestamp___0, tz, (struct date_mode  const  *)tmp___11);
      reflog_msg[i] = xstrfmt((char const   *)"(%s) %s", tmp___12, msg___5);
      free((void *)logmsg);
      nth_desc = xstrfmt((char const   *)"%s@{%d}", *av, base + i);
      append_ref((char const   *)nth_desc, (struct object_id  const  *)(& oid), 1);
      free((void *)nth_desc);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    free((void *)ref);
  } else {
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (0 < ac)) {
        goto while_break___0;
      }
      append_one_rev(*av);
      ac --;
      av ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (all_heads + all_remotes) {
      snarf_refs(all_heads, all_remotes);
    }
  }
  head___1 = resolve_refdup((char const   *)"HEAD", 0x01, & head_oid___1, (int *)((void *)0));
  if (with_current_branch) {
    if (head___1) {
      has_head = 0;
      i = 0;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! has_head) {
          if (! (i < ref_name_cnt)) {
            goto while_break___1;
          }
        } else {
          goto while_break___1;
        }
        tmp___13 = rev_is_head((char const   *)head___1, (char const   *)ref_name[i]);
        if (tmp___13) {
          has_head ++;
        }
        i ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      if (! has_head) {
        name___0 = (char const   *)head___1;
        skip_prefix(name___0, (char const   *)"refs/heads/", & name___0);
        append_one_rev(name___0);
      }
    }
  }
  if (! ref_name_cnt) {
    fprintf(stderr, (char const   *)"No revs to be shown.\n");
    tmp___14 = trace2_cmd_exit_fl((char const   *)"builtin/show-branch.c", 822, 0);
    exit(tmp___14);
  }
  num_rev = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ref_name[num_rev]) {
      goto while_break___2;
    }
    flag = 1u << (num_rev + 2);
    if (26 <= num_rev) {
      tmp___15 = Q_((char const   *)"cannot handle more than %d rev.", (char const   *)"cannot handle more than %d revs.",
                    26UL);
      die((char const   *)tmp___15, 26);
    }
    tmp___17 = repo_get_oid(the_repository, (char const   *)ref_name[num_rev], & revkey);
    if (tmp___17) {
      tmp___16 = _((char const   *)"\'%s\' is not a valid ref.");
      die((char const   *)tmp___16, ref_name[num_rev]);
    }
    commit = lookup_commit_reference(the_repository, (struct object_id  const  *)(& revkey));
    if (! commit) {
      tmp___18 = oid_to_hex((struct object_id  const  *)(& revkey));
      tmp___19 = _((char const   *)"cannot find commit %s (%s)");
      die((char const   *)tmp___19, ref_name[num_rev], tmp___18);
    }
    repo_parse_commit(the_repository, commit);
    mark_seen(commit, & seen___0);
    commit->object.flags |= flag;
    if (commit->object.flags == flag) {
      commit_list_insert_by_date(commit, & list___3);
    }
    rev[num_rev] = commit;
    num_rev ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! (i < num_rev)) {
      goto while_break___3;
    }
    rev_mask[i] = (rev[i])->object.flags;
    i ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  if (0 <= extra___2) {
    join_revs(& list___3, & seen___0, num_rev, extra___2);
  }
  commit_list_sort_by_date(& seen___0);
  if (merge_base) {
    tmp___20 = show_merge_base___0(seen___0, num_rev);
    return (tmp___20);
  }
  if (independent) {
    tmp___21 = show_independent(rev, num_rev, rev_mask);
    return (tmp___21);
  }
  if (1 < num_rev) {
    goto _L___0;
  } else
  if (extra___2 < 0) {
    _L___0: /* CIL Label */
    i = 0;
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (! (i < num_rev)) {
        goto while_break___4;
      }
      tmp___22 = rev_is_head((char const   *)head___1, (char const   *)ref_name[i]);
      if (tmp___22) {
        tmp___23 = oideq((struct object_id  const  *)(& head_oid___1), (struct object_id  const  *)(& (rev[i])->object.oid));
        if (tmp___23) {
          tmp___24 = 1;
        } else {
          tmp___24 = 0;
        }
      } else {
        tmp___24 = 0;
      }
      is_head___0 = tmp___24;
      if (extra___2 < 0) {
        if (is_head___0) {
          tmp___25 = '*';
        } else {
          tmp___25 = ' ';
        }
        printf((char const   *)"%c [%s] ", tmp___25, ref_name[i]);
      } else {
        j = 0;
        {
        while (1) {
          while_continue___5: /* CIL Label */ ;
          if (! (j < i)) {
            goto while_break___5;
          }
          putchar(' ');
          j ++;
        }
        while_break___5: /* CIL Label */ ;
        }
        tmp___26 = get_color_reset_code();
        if (is_head___0) {
          tmp___27 = '*';
        } else {
          tmp___27 = '!';
        }
        tmp___28 = get_color_code(i);
        printf((char const   *)"%s%c%s [%s] ", tmp___28, tmp___27, tmp___26, ref_name[i]);
      }
      if (! reflog___0) {
        show_one_commit(rev[i], 1);
      } else {
        puts((char const   *)reflog_msg[i]);
      }
      if (is_head___0) {
        head_at = i;
      }
      i ++;
    }
    while_break___4: /* CIL Label */ ;
    }
    if (0 <= extra___2) {
      i = 0;
      {
      while (1) {
        while_continue___6: /* CIL Label */ ;
        if (! (i < num_rev)) {
          goto while_break___6;
        }
        putchar('-');
        i ++;
      }
      while_break___6: /* CIL Label */ ;
      }
      putchar('\n');
    }
  }
  if (extra___2 < 0) {
    tmp___29 = trace2_cmd_exit_fl((char const   *)"builtin/show-branch.c", 900, 0);
    exit(tmp___29);
  }
  sort_in_topological_order(& seen___0, sort_order);
  if (! sha1_name) {
    if (! no_name) {
      name_commits(seen___0, rev, ref_name, num_rev);
    }
  }
  all_mask = (int )((1u << (2 + num_rev)) - 1U);
  all_revs = (int )((unsigned int )all_mask & ~ ((1u << 2) - 1U));
  {
  while (1) {
    while_continue___7: /* CIL Label */ ;
    if (! seen___0) {
      goto while_break___7;
    }
    tmp___30 = pop_commit(& seen___0);
    commit___0 = tmp___30;
    this_flag = (int )commit___0->object.flags;
    is_merge_point = (this_flag & all_revs) == all_revs;
    shown_merge_point |= is_merge_point;
    if (1 < num_rev) {
      if (commit___0->parents) {
        if ((commit___0->parents)->next) {
          tmp___31 = 1;
        } else {
          tmp___31 = 0;
        }
      } else {
        tmp___31 = 0;
      }
      is_merge___1 = tmp___31;
      if (topics) {
        if (! is_merge_point) {
          if ((unsigned int )this_flag & (1u << 2)) {
            goto while_continue___7;
          }
        }
      }
      if (dense) {
        if (is_merge___1) {
          tmp___32 = omit_in_dense(commit___0, rev, num_rev);
          if (tmp___32) {
            goto while_continue___7;
          }
        }
      }
      i = 0;
      {
      while (1) {
        while_continue___8: /* CIL Label */ ;
        if (! (i < num_rev)) {
          goto while_break___8;
        }
        if (! ((unsigned int )this_flag & (1u << (i + 2)))) {
          mark = ' ';
        } else
        if (is_merge___1) {
          mark = '-';
        } else
        if (i == head_at) {
          mark = '*';
        } else {
          mark = '+';
        }
        if (mark == 32) {
          putchar(mark);
        } else {
          tmp___33 = get_color_reset_code();
          tmp___34 = get_color_code(i);
          printf((char const   *)"%s%c%s", tmp___34, mark, tmp___33);
        }
        i ++;
      }
      while_break___8: /* CIL Label */ ;
      }
      putchar(' ');
    }
    show_one_commit(commit___0, no_name);
    if (shown_merge_point) {
      extra___2 --;
      if (extra___2 < 0) {
        goto while_break___7;
      }
    }
  }
  while_break___7: /* CIL Label */ ;
  }
  return (0);
}
}
static char const   *show_index_usage[2]  = {      (char const   *)"git show-index [--object-format=<hash-algorithm>]",      (char const   *)((void *)0)};
static unsigned int top_index[256]  ;
int cmd_show_index(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  unsigned int nr___0 ;
  unsigned int version___0 ;
  unsigned int hashsz ;
  char const   *hash_name ;
  int hash_algo ;
  struct option show_index_options[2] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  uint32_t tmp___3 ;
  unsigned int n ;
  uint32_t tmp___4 ;
  unsigned int offset___2 ;
  unsigned int entry[36UL / sizeof(unsigned int )] ;
  size_t tmp___5 ;
  char *tmp___6 ;
  unsigned int off64_nr ;
  struct __anonstruct_entries_993874517 *entries___1 ;
  size_t tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  size_t tmp___10 ;
  size_t tmp___11 ;
  uint64_t offset___3 ;
  uint32_t off ;
  uint32_t tmp___12 ;
  uint32_t off64[2] ;
  size_t tmp___13 ;
  uint32_t tmp___14 ;
  uint32_t tmp___15 ;
  uint32_t tmp___16 ;
  char *tmp___17 ;

  {
  hash_name = (char const   *)((void *)0);
  show_index_options[0].type = (enum parse_opt_type )((enum parse_opt_type )9);
  show_index_options[0].short_name = (int )0;
  show_index_options[0].long_name = (char const   *)((char const   *)"object-format");
  show_index_options[0].value = (void *)((void *)(& hash_name));
  show_index_options[0].argh = (char const   *)((char const   *)"hash-algorithm");
  show_index_options[0].help = (char const   *)((char const   *)"specify the hash algorithm to use");
  show_index_options[0].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  show_index_options[0].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  show_index_options[0].defval = (intptr_t )0L;
  show_index_options[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  show_index_options[0].extra = (intptr_t )0L;
  show_index_options[1].type = (enum parse_opt_type )((enum parse_opt_type )0);
  show_index_options[1].short_name = (int )0;
  show_index_options[1].long_name = (char const   *)((char const   *)0);
  show_index_options[1].value = (void *)((void *)0);
  show_index_options[1].argh = (char const   *)((char const   *)0);
  show_index_options[1].help = (char const   *)((char const   *)0);
  show_index_options[1].flags = (enum parse_opt_option_flags )0U;
  show_index_options[1].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  show_index_options[1].defval = (intptr_t )0L;
  show_index_options[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  show_index_options[1].extra = (intptr_t )0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(show_index_options),
                       show_index_usage, (enum parse_opt_flags )0);
  if (hash_name) {
    hash_algo = hash_algo_by_name(hash_name);
    if (hash_algo == 0) {
      tmp = _((char const   *)"Unknown hash algorithm");
      die((char const   *)tmp);
    }
    repo_set_hash_algo(the_repository, hash_algo);
  }
  hashsz = (unsigned int )(the_repository->hash_algo)->rawsz;
  tmp___0 = fread((void *)(top_index), (size_t )8, (size_t )1, stdin);
  if (tmp___0 != 1UL) {
    die((char const   *)"unable to read header");
  }
  tmp___3 = git_bswap32(0xff744f63);
  if (top_index[0] == tmp___3) {
    version___0 = git_bswap32(top_index[1]);
    if (version___0 < 2U) {
      die((char const   *)"unknown index version");
    } else
    if (version___0 > 2U) {
      die((char const   *)"unknown index version");
    }
    tmp___1 = fread((void *)(top_index), (size_t )1024, (size_t )1, stdin);
    if (tmp___1 != 1UL) {
      die((char const   *)"unable to read index");
    }
  } else {
    version___0 = 1U;
    tmp___2 = fread((void *)(& top_index[2]), (size_t )1016, (size_t )1, stdin);
    if (tmp___2 != 1UL) {
      die((char const   *)"unable to read index");
    }
  }
  nr___0 = 0U;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 256)) {
      goto while_break;
    }
    tmp___4 = git_bswap32(top_index[i]);
    n = tmp___4;
    if (n < nr___0) {
      die((char const   *)"corrupt index file");
    }
    nr___0 = n;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (version___0 == 1U) {
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned int )i < nr___0)) {
        goto while_break___0;
      }
      tmp___5 = fread((void *)(entry), (size_t )(4U + hashsz), (size_t )1, stdin);
      if (tmp___5 != 1UL) {
        die((char const   *)"unable to read entry %u/%u", i, nr___0);
      }
      offset___2 = git_bswap32(entry[0]);
      tmp___6 = hash_to_hex((unsigned char const   *)((void *)(entry + 1)));
      printf((char const   *)"%u %s\n", offset___2, tmp___6);
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  } else {
    off64_nr = 0U;
    tmp___7 = st_mult(sizeof(*entries___1), (size_t )nr___0);
    tmp___8 = xmalloc(tmp___7);
    entries___1 = (struct __anonstruct_entries_993874517 *)tmp___8;
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((unsigned int )i < nr___0)) {
        goto while_break___1;
      }
      tmp___9 = fread((void *)((entries___1 + i)->oid.hash), (size_t )hashsz, (size_t )1,
                      stdin);
      if (tmp___9 != 1UL) {
        die((char const   *)"unable to read sha1 %u/%u", i, nr___0);
      }
      (entries___1 + i)->oid.algo = hash_algo_by_ptr(the_repository->hash_algo);
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! ((unsigned int )i < nr___0)) {
        goto while_break___2;
      }
      tmp___10 = fread((void *)(& (entries___1 + i)->crc), (size_t )4, (size_t )1,
                       stdin);
      if (tmp___10 != 1UL) {
        die((char const   *)"unable to read crc %u/%u", i, nr___0);
      }
      i ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! ((unsigned int )i < nr___0)) {
        goto while_break___3;
      }
      tmp___11 = fread((void *)(& (entries___1 + i)->off), (size_t )4, (size_t )1,
                       stdin);
      if (tmp___11 != 1UL) {
        die((char const   *)"unable to read 32b offset %u/%u", i, nr___0);
      }
      i ++;
    }
    while_break___3: /* CIL Label */ ;
    }
    i = 0;
    {
    while (1) {
      while_continue___4: /* CIL Label */ ;
      if (! ((unsigned int )i < nr___0)) {
        goto while_break___4;
      }
      tmp___12 = git_bswap32((entries___1 + i)->off);
      off = tmp___12;
      if (! (off & 0x80000000)) {
        offset___3 = (uint64_t )off;
      } else {
        if ((off & 2147483647U) != off64_nr) {
          die((char const   *)"inconsistent 64b offset index");
        }
        tmp___13 = fread((void *)(off64), (size_t )8, (size_t )1, stdin);
        if (tmp___13 != 1UL) {
          die((char const   *)"unable to read 64b offset %u", off64_nr);
        }
        tmp___14 = git_bswap32(off64[0]);
        tmp___15 = git_bswap32(off64[1]);
        offset___3 = ((uint64_t )tmp___14 << 32) | (unsigned long )tmp___15;
        off64_nr ++;
      }
      tmp___16 = git_bswap32((entries___1 + i)->crc);
      tmp___17 = oid_to_hex((struct object_id  const  *)(& (entries___1 + i)->oid));
      printf((char const   *)"%lu %s (%08x)\n", offset___3, tmp___17, tmp___16);
      i ++;
    }
    while_break___4: /* CIL Label */ ;
    }
    free((void *)entries___1);
  }
  return (0);
}
}
static double const   __ac_HASH_UPPER___157  =    (double const   )0.77;
__inline static void kh_resize_oid_set___157(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___157(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___157 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___157 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___157(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___157(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___157(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___157(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___157(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___157(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___157 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___157 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___157(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___157(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___157(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___157(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___157(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___157(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___157 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___157 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___157(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___157(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___157(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___157(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___114(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___114(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___157 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___157 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___114(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___114(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___114(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___114(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *show_ref_usage[3]  = {      (char const   *)"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]",      (char const   *)"git show-ref --exclude-existing[=<pattern>]",      (char const   *)((void *)0)};
static int deref_tags  ;
static int show_head  ;
static int tags_only  ;
static int heads_only  ;
static int found_match  ;
static int verify  ;
static int quiet___4  ;
static int hash_only  ;
static int abbrev___4  ;
static int exclude_arg  ;
static char const   **pattern  ;
static char const   *exclude_existing_arg  ;
static void show_one(char const   *refname , struct object_id  const  *oid )
{
  char const   *hex___3 ;
  struct object_id peeled ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp___0 = repo_has_object_file(the_repository, oid);
  if (! tmp___0) {
    tmp = oid_to_hex(oid);
    die((char const   *)"git show-ref: bad ref %s (%s)", refname, tmp);
  }
  if (quiet___4) {
    return;
  }
  hex___3 = repo_find_unique_abbrev(the_repository, oid, abbrev___4);
  if (hash_only) {
    printf((char const   *)"%s\n", hex___3);
  } else {
    printf((char const   *)"%s %s\n", hex___3, refname);
  }
  if (! deref_tags) {
    return;
  }
  tmp___1 = peel_iterated_oid(oid, & peeled);
  if (! tmp___1) {
    hex___3 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& peeled),
                                      abbrev___4);
    printf((char const   *)"%s %s^{}\n", hex___3, refname);
  }
  return;
}
}
static int show_ref___1(char const   *refname , struct object_id  const  *oid , int flag ,
                        void *cbdata )
{
  int tmp ;
  int match___0 ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int reflen ;
  size_t tmp___4 ;
  char const   **p___0 ;
  char const   *m ;
  int len___0 ;
  size_t tmp___5 ;
  int tmp___6 ;
  char const   **tmp___7 ;

  {
  if (show_head) {
    tmp = strcmp(refname, (char const   *)"HEAD");
    if (! tmp) {
      goto match;
    }
  }
  if (tags_only) {
    goto _L;
  } else
  if (heads_only) {
    _L: /* CIL Label */
    if (heads_only) {
      tmp___0 = starts_with(refname, (char const   *)"refs/heads/");
      if (tmp___0) {
        tmp___1 = 1;
      } else {
        tmp___1 = 0;
      }
    } else {
      tmp___1 = 0;
    }
    match___0 = tmp___1;
    if (tags_only) {
      tmp___2 = starts_with(refname, (char const   *)"refs/tags/");
      if (tmp___2) {
        tmp___3 = 1;
      } else {
        tmp___3 = 0;
      }
    } else {
      tmp___3 = 0;
    }
    match___0 |= tmp___3;
    if (! match___0) {
      return (0);
    }
  }
  if (pattern) {
    tmp___4 = strlen(refname);
    reflen = (int )tmp___4;
    p___0 = pattern;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp___7 = p___0;
      p___0 ++;
      m = *tmp___7;
      if (! ((unsigned long )m != (unsigned long )((void *)0))) {
        goto while_break;
      }
      tmp___5 = strlen(m);
      len___0 = (int )tmp___5;
      if (len___0 > reflen) {
        goto while_continue;
      }
      tmp___6 = memcmp((void const   *)m, (void const   *)((refname + reflen) - len___0),
                       (size_t )len___0);
      if (tmp___6) {
        goto while_continue;
      }
      if (len___0 == reflen) {
        goto match;
      }
      if ((int const   )*(refname + ((reflen - len___0) - 1)) == 47) {
        goto match;
      }
    }
    while_break: /* CIL Label */ ;
    }
    return (0);
  }
  match:
  found_match ++;
  show_one(refname, oid);
  return (0);
}
}
static int add_existing(char const   *refname , struct object_id  const  *oid , int flag ,
                        void *cbdata )
{
  struct string_list *list___3 ;

  {
  list___3 = (struct string_list *)cbdata;
  string_list_insert(list___3, refname);
  return (0);
}
}
static int exclude_existing(char const   *match___0 ) ;
static struct string_list existing_refs  =    {(struct string_list_item *)0, 0U, 0U, 1U, (int (*)(char const   * , char const   * ))0};
static int exclude_existing(char const   *match___0 )
{
  char buf___19[1024] ;
  int matchlen ;
  size_t tmp ;
  size_t tmp___0 ;
  char *ref ;
  int len___0 ;
  size_t tmp___1 ;
  int tmp___2 ;
  int reflen ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;

  {
  if (match___0) {
    tmp = strlen(match___0);
    tmp___0 = tmp;
  } else {
    tmp___0 = (size_t )0;
  }
  matchlen = (int )tmp___0;
  for_each_ref(& add_existing, (void *)(& existing_refs));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___6 = fgets(buf___19, (int )sizeof(buf___19), stdin);
    if (! tmp___6) {
      goto while_break;
    }
    tmp___1 = strlen((char const   *)(buf___19));
    len___0 = (int )tmp___1;
    if (len___0 > 0) {
      if ((int )buf___19[len___0 - 1] == 10) {
        len___0 --;
        buf___19[len___0] = (char )'\000';
      }
    }
    if (3 <= len___0) {
      tmp___2 = strcmp((char const   *)((buf___19 + len___0) - 3), (char const   *)"^{}");
      if (! tmp___2) {
        len___0 -= 3;
        buf___19[len___0] = (char )'\000';
      }
    }
    ref = buf___19 + len___0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned long )(buf___19) < (unsigned long )ref)) {
        goto while_break___0;
      }
      if (((int const   )sane_ctype[(unsigned char )*(ref + -1)] & 1) != 0) {
        goto while_break___0;
      }
      ref --;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (match___0) {
      reflen = (int )((buf___19 + len___0) - ref);
      if (reflen < matchlen) {
        goto while_continue;
      }
      tmp___3 = strncmp((char const   *)ref, match___0, (size_t )matchlen);
      if (tmp___3) {
        goto while_continue;
      }
    }
    tmp___4 = check_refname_format((char const   *)ref, 0);
    if (tmp___4) {
      warning((char const   *)"ref \'%s\' ignored", ref);
      goto while_continue;
    }
    tmp___5 = string_list_has_string((struct string_list  const  *)(& existing_refs),
                                     (char const   *)ref);
    if (! tmp___5) {
      printf((char const   *)"%s\n", buf___19);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int hash_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{
  int tmp ;

  {
  hash_only = 1;
  if (! arg) {
    return (0);
  }
  tmp = parse_opt_abbrev_cb(opt___0, arg, unset);
  return (tmp);
}
}
static int exclude_existing_callback(struct option  const  *opt___0 , char const   *arg ,
                                     int unset )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/show-ref.c", 155, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  exclude_arg = 1;
  *((char const   **)opt___0->value) = arg;
  return (0);
}
}
static struct option  const  show_ref_options[11]  =
  {      {(enum parse_opt_type )8, 0, (char const   *)"tags", (void *)(& tags_only), (char const   *)((void *)0),
      (char const   *)"only show tags (can be combined with heads)", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"heads", (void *)(& heads_only),
      (char const   *)((void *)0), (char const   *)"only show heads (can be combined with tags)",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"verify", (void *)(& verify), (char const   *)((void *)0),
      (char const   *)"stricter reference checking, requires exact ref path", (enum parse_opt_option_flags )2,
      (parse_opt_cb *)((void *)0), (intptr_t )1, (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'h', (char const   *)((void *)0), (void *)(& show_head),
      (char const   *)((void *)0), (char const   *)"show the HEAD reference, even if it would be filtered out",
      (enum parse_opt_option_flags )10, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"head", (void *)(& show_head), (char const   *)((void *)0),
      (char const   *)"show the HEAD reference, even if it would be filtered out",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 'd', (char const   *)"dereference", (void *)(& deref_tags),
      (char const   *)((void *)0), (char const   *)"dereference tags into object IDs",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )12, 's', (char const   *)"hash", (void *)(& abbrev___4),
      (char const   *)"n", (char const   *)"only show SHA1 hash using <n> digits",
      (enum parse_opt_option_flags )1, & hash_callback, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"abbrev", (void *)(& abbrev___4),
      (char const   *)"n", (char const   *)"use <n> digits to display object names",
      (enum parse_opt_option_flags )1, & parse_opt_abbrev_cb, (intptr_t )0, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )7, 'q', (char const   *)"quiet", (void *)(& quiet___4),
      (char const   *)((void *)0), (char const   *)"do not print results to stdout (useful with --verify)",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )12, 0, (char const   *)"exclude-existing", (void *)(& exclude_existing_arg),
      (char const   *)"pattern", (char const   *)"show refs from stdin that aren\'t in local repository",
      (enum parse_opt_option_flags )5, & exclude_existing_callback, 0L, (parse_opt_ll_cb *)0,
      0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
int cmd_show_ref(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int tmp ;
  struct object_id oid ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, show_ref_options, show_ref_usage,
                       (enum parse_opt_flags )0);
  if (exclude_arg) {
    tmp = exclude_existing(exclude_existing_arg);
    return (tmp);
  }
  pattern = argv___0;
  if (! *pattern) {
    pattern = (char const   **)((void *)0);
  }
  if (verify) {
    if (! pattern) {
      die((char const   *)"--verify requires a reference");
    }
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! *pattern) {
        goto while_break;
      }
      tmp___0 = starts_with(*pattern, (char const   *)"refs/");
      if (tmp___0) {
        goto _L___0;
      } else {
        tmp___1 = strcmp(*pattern, (char const   *)"HEAD");
        if (tmp___1) {
          _L: /* CIL Label */
          if (! quiet___4) {
            die((char const   *)"\'%s\' - not a valid ref", *pattern);
          } else {
            return (1);
          }
        } else {
          _L___0: /* CIL Label */
          tmp___2 = read_ref(*pattern, & oid);
          if (tmp___2) {
            goto _L;
          } else {
            show_one(*pattern, (struct object_id  const  *)(& oid));
          }
        }
      }
      pattern ++;
    }
    while_break: /* CIL Label */ ;
    }
    return (0);
  }
  if (show_head) {
    head_ref(& show_ref___1, (void *)0);
  }
  for_each_ref(& show_ref___1, (void *)0);
  if (! found_match) {
    if (verify) {
      if (! quiet___4) {
        die((char const   *)"No match");
      }
    }
    return (1);
  }
  return (0);
}
}
static char const   *empty_base  =    (char const   *)"";
static char const   *builtin_sparse_checkout_usage[2]  = {      (char const   *)"git sparse-checkout (init|list|set|add|reapply|disable) <options>",      (char const   *)((void *)0)};
static void write_patterns_to_file(FILE *fp , struct pattern_list *pl )
{
  int i ;
  struct path_pattern *p___0 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < pl->nr)) {
      goto while_break;
    }
    p___0 = *(pl->patterns + i);
    if (p___0->flags & 16U) {
      fprintf(fp, (char const   *)"!");
    }
    fprintf(fp, (char const   *)"%s", p___0->pattern);
    if (p___0->flags & 8U) {
      fprintf(fp, (char const   *)"/");
    }
    fprintf(fp, (char const   *)"\n");
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static char const   *builtin_sparse_checkout_list_usage[2]  = {      (char const   *)"git sparse-checkout list",      (char const   *)((void *)0)};
static int sparse_checkout_list(int argc , char const   **argv___0 ) ;
static struct option builtin_sparse_checkout_list_options[1]  = {      {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static int sparse_checkout_list(int argc , char const   **argv___0 )
{
  struct pattern_list pl ;
  char *sparse_filename ;
  int res ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int i ;
  struct pattern_entry *pe ;
  struct hashmap_iter iter___0 ;
  struct string_list sl ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;
  struct hashmap_entry *tmp___3 ;
  void *tmp___4 ;

  {
  if (! core_apply_sparse_checkout) {
    tmp = _((char const   *)"this worktree is not sparse");
    die((char const   *)tmp);
  }
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)(builtin_sparse_checkout_list_options),
                       builtin_sparse_checkout_list_usage, (enum parse_opt_flags )0);
  memset((void *)(& pl), 0, sizeof(pl));
  pl.use_cone_patterns = (unsigned int )core_sparse_checkout_cone;
  sparse_filename = get_sparse_checkout_filename();
  res = add_patterns_from_file_to_list((char const   *)sparse_filename, (char const   *)"",
                                       0, & pl, (struct index_state *)((void *)0),
                                       0U);
  free((void *)sparse_filename);
  if (res < 0) {
    tmp___0 = _((char const   *)"this worktree is not sparse (sparse-checkout file may not exist)");
    warning((char const   *)tmp___0);
    return (0);
  }
  if (pl.use_cone_patterns) {
    sl.items = (struct string_list_item *)0;
    sl.nr = 0U;
    sl.alloc = 0U;
    sl.strdup_strings = 1U;
    sl.cmp = (int (*)(char const   * , char const   * ))0;
    pe = (struct pattern_entry *)((void *)0);
    tmp___1 = hashmap_iter_first(& pl.recursive_hashmap, & iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct pattern_entry *)0)->ent));
    pe = (struct pattern_entry *)tmp___2;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! pe) {
        goto while_break;
      }
      string_list_insert(& sl, (char const   *)(pe->pattern + 1));
      tmp___3 = hashmap_iter_next(& iter___0);
      tmp___4 = container_of_or_null_offset((void *)tmp___3, (unsigned long )(& ((struct pattern_entry *)0)->ent));
      pe = (struct pattern_entry *)tmp___4;
    }
    while_break: /* CIL Label */ ;
    }
    string_list_sort(& sl);
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned int )i < sl.nr)) {
        goto while_break___0;
      }
      quote_c_style((char const   *)(sl.items + i)->string, (struct strbuf *)((void *)0),
                    stdout, 0U);
      printf((char const   *)"\n");
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    return (0);
  }
  write_patterns_to_file(stdout, & pl);
  clear_pattern_list(& pl);
  return (0);
}
}
static void clean_tracked_sparse_directories(struct repository *r )
{
  int i ;
  int was_full ;
  struct strbuf path___6 ;
  size_t pathlen ;
  struct string_list_item *item___0 ;
  struct string_list sparse_dirs ;
  int tmp ;
  int tmp___0 ;
  struct cache_entry *ce ;
  int tmp___1 ;
  struct dir_struct dir ;
  struct pathspec p___0 ;
  struct strvec s___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  was_full = 0;
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  sparse_dirs.items = (struct string_list_item *)0;
  sparse_dirs.nr = 0U;
  sparse_dirs.alloc = 0U;
  sparse_dirs.strdup_strings = 1U;
  sparse_dirs.cmp = (int (*)(char const   * , char const   * ))0;
  if (! r) {
    return;
  } else
  if (! r->index) {
    return;
  } else
  if (! r->worktree) {
    return;
  }
  tmp = init_sparse_checkout_patterns(r->index);
  if (tmp) {
    return;
  } else
  if (! ((r->index)->sparse_checkout_patterns)->use_cone_patterns) {
    return;
  }
  if (! (r->index)->sparse_index) {
    tmp___0 = convert_to_sparse(r->index, 1);
    if (tmp___0) {
      return;
    }
    was_full = 1;
  }
  strbuf_addstr(& path___6, (char const   *)r->worktree);
  strbuf_complete(& path___6, (char )'/');
  pathlen = path___6.len;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < (r->index)->cache_nr)) {
      goto while_break;
    }
    ce = *((r->index)->cache + i);
    if (ce->ce_mode == 16384U) {
      tmp___1 = repo_file_exists(r, (char const   *)(ce->name));
      if (tmp___1) {
        string_list_append(& sparse_dirs, (char const   *)(ce->name));
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  item___0 = sparse_dirs.items;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(sparse_dirs.items + sparse_dirs.nr))) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    dir.nr = 0;
    dir.alloc = 0;
    dir.ignored_nr = 0;
    dir.ignored_alloc = 0;
    dir.flags = 0U;
    dir.entries = (struct dir_entry **)0;
    dir.ignored = (struct dir_entry **)0;
    dir.exclude_per_dir = (char const   *)0;
    dir.exclude_list_group[0].nr = 0;
    dir.exclude_list_group[0].alloc = 0;
    dir.exclude_list_group[0].pl = (struct pattern_list *)0;
    dir.exclude_list_group[1].nr = 0;
    dir.exclude_list_group[1].alloc = 0;
    dir.exclude_list_group[1].pl = (struct pattern_list *)0;
    dir.exclude_list_group[2].nr = 0;
    dir.exclude_list_group[2].alloc = 0;
    dir.exclude_list_group[2].pl = (struct pattern_list *)0;
    dir.exclude_stack = (struct exclude_stack *)0;
    dir.pattern = (struct path_pattern *)0;
    dir.basebuf.alloc = 0UL;
    dir.basebuf.len = 0UL;
    dir.basebuf.buf = (char *)0;
    dir.untracked = (struct untracked_cache *)0;
    dir.ss_info_exclude.stat.sd_ctime.sec = 0U;
    dir.ss_info_exclude.stat.sd_ctime.nsec = 0U;
    dir.ss_info_exclude.stat.sd_mtime.sec = 0U;
    dir.ss_info_exclude.stat.sd_mtime.nsec = 0U;
    dir.ss_info_exclude.stat.sd_dev = 0U;
    dir.ss_info_exclude.stat.sd_ino = 0U;
    dir.ss_info_exclude.stat.sd_uid = 0U;
    dir.ss_info_exclude.stat.sd_gid = 0U;
    dir.ss_info_exclude.stat.sd_size = 0U;
    dir.ss_info_exclude.oid.hash[0] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[1] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[2] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[3] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[4] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[5] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[6] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[7] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[8] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[9] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[10] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[11] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[12] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[13] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[14] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[15] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[16] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[17] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[18] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[19] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[20] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[21] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[22] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[23] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[24] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[25] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[26] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[27] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[28] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[29] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[30] = (unsigned char)0;
    dir.ss_info_exclude.oid.hash[31] = (unsigned char)0;
    dir.ss_info_exclude.oid.algo = 0;
    dir.ss_info_exclude.valid = 0;
    dir.ss_excludes_file.stat.sd_ctime.sec = 0U;
    dir.ss_excludes_file.stat.sd_ctime.nsec = 0U;
    dir.ss_excludes_file.stat.sd_mtime.sec = 0U;
    dir.ss_excludes_file.stat.sd_mtime.nsec = 0U;
    dir.ss_excludes_file.stat.sd_dev = 0U;
    dir.ss_excludes_file.stat.sd_ino = 0U;
    dir.ss_excludes_file.stat.sd_uid = 0U;
    dir.ss_excludes_file.stat.sd_gid = 0U;
    dir.ss_excludes_file.stat.sd_size = 0U;
    dir.ss_excludes_file.oid.hash[0] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[1] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[2] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[3] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[4] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[5] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[6] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[7] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[8] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[9] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[10] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[11] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[12] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[13] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[14] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[15] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[16] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[17] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[18] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[19] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[20] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[21] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[22] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[23] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[24] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[25] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[26] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[27] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[28] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[29] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[30] = (unsigned char)0;
    dir.ss_excludes_file.oid.hash[31] = (unsigned char)0;
    dir.ss_excludes_file.oid.algo = 0;
    dir.ss_excludes_file.valid = 0;
    dir.unmanaged_exclude_files = 0U;
    dir.visited_paths = 0U;
    dir.visited_directories = 0U;
    p___0.nr = 0;
    p___0.has_wildcard = 0U;
    p___0.recursive = 0U;
    p___0.recurse_submodules = 0U;
    p___0.magic = 0U;
    p___0.max_depth = 0;
    p___0.items = (struct pathspec_item *)0;
    s___1.v = empty_strvec;
    s___1.nr = 0UL;
    s___1.alloc = 0UL;
    strbuf_setlen___33(& path___6, pathlen);
    strbuf_addstr(& path___6, (char const   *)item___0->string);
    dir.flags = (enum __anonenum_flags_165983474 )((unsigned int )dir.flags | 32U);
    setup_standard_excludes(& dir);
    strvec_push(& s___1, (char const   *)path___6.buf);
    parse_pathspec(& p___0, (unsigned int )(1 << 3), 0U, (char const   *)((void *)0),
                   s___1.v);
    fill_directory(& dir, r->index, (struct pathspec  const  *)(& p___0));
    if (dir.nr) {
      tmp___2 = _((char const   *)"directory \'%s\' contains untracked files, but is not in the sparse-checkout cone");
      warning((char const   *)tmp___2, item___0->string);
    } else {
      tmp___4 = remove_dir_recursively(& path___6, 0);
      if (tmp___4) {
        tmp___3 = _((char const   *)"failed to remove directory \'%s\'");
        warning((char const   *)tmp___3, item___0->string);
      }
    }
    dir_clear(& dir);
    item___0 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  string_list_clear(& sparse_dirs, 0);
  strbuf_release(& path___6);
  if (was_full) {
    ensure_full_index(r->index);
  }
  return;
}
}
static int update_working_directory(struct pattern_list *pl )
{
  enum update_sparsity_result result___0 ;
  struct unpack_trees_options o ;
  struct lock_file lock_file___0 ;
  struct repository *r ;
  int tmp ;
  int tmp___0 ;

  {
  lock_file___0.tempfile = (struct tempfile *)0;
  r = the_repository;
  tmp = is_index_unborn(r->index);
  if (tmp) {
    return (0);
  }
  (r->index)->sparse_checkout_patterns = pl;
  memset((void *)(& o), 0, sizeof(o));
  tmp___0 = isatty(2);
  o.verbose_update = (unsigned int )tmp___0;
  o.update = 1U;
  o.head_idx = -1;
  o.src_index = r->index;
  o.dst_index = r->index;
  o.skip_sparse_checkout = 0U;
  o.pl = pl;
  setup_work_tree();
  repo_hold_locked_index(r, & lock_file___0, 1);
  setup_unpack_trees_porcelain(& o, (char const   *)"sparse-checkout");
  result___0 = update_sparsity(& o);
  clear_unpack_trees_porcelain(& o);
  if ((int )result___0 == 1) {
    result___0 = (enum update_sparsity_result )0;
  }
  if ((int )result___0 == 0) {
    write_locked_index(r->index, & lock_file___0, 1U);
  } else {
    rollback_lock_file(& lock_file___0);
  }
  clean_tracked_sparse_directories(r);
  (r->index)->sparse_checkout_patterns = (struct pattern_list *)((void *)0);
  return ((int )result___0);
}
}
static char *escaped_pattern(char *pattern___0 )
{
  char *p___0 ;
  struct strbuf final___0 ;
  char *tmp ;

  {
  p___0 = pattern___0;
  final___0.alloc = 0UL;
  final___0.len = 0UL;
  final___0.buf = strbuf_slopbuf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    if (((int const   )sane_ctype[(unsigned char )*p___0] & 8) != 0) {
      strbuf_addch(& final___0, '\\');
    }
    strbuf_addch(& final___0, (int )*p___0);
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = strbuf_detach(& final___0, (size_t *)((void *)0));
  return (tmp);
}
}
static void write_cone_to_file(FILE *fp , struct pattern_list *pl )
{
  int i ;
  struct pattern_entry *pe ;
  struct hashmap_iter iter___0 ;
  struct string_list sl ;
  struct strbuf parent_pattern ;
  struct hashmap_entry *tmp ;
  void *tmp___0 ;
  struct hashmap_entry *tmp___1 ;
  void *tmp___2 ;
  struct hashmap_entry *tmp___3 ;
  void *tmp___4 ;
  int tmp___5 ;
  char *pattern___0 ;
  char *tmp___6 ;
  size_t tmp___7 ;
  struct hashmap_entry *tmp___8 ;
  void *tmp___9 ;
  struct hashmap_entry *tmp___10 ;
  void *tmp___11 ;
  int tmp___12 ;
  char *pattern___1 ;
  char *tmp___13 ;

  {
  sl.items = (struct string_list_item *)0;
  sl.nr = 0U;
  sl.alloc = 0U;
  sl.strdup_strings = 1U;
  sl.cmp = (int (*)(char const   * , char const   * ))0;
  parent_pattern.alloc = 0UL;
  parent_pattern.len = 0UL;
  parent_pattern.buf = strbuf_slopbuf;
  pe = (struct pattern_entry *)((void *)0);
  tmp = hashmap_iter_first(& pl->parent_hashmap, & iter___0);
  tmp___0 = container_of_or_null_offset((void *)tmp, (unsigned long )(& ((struct pattern_entry *)0)->ent));
  pe = (struct pattern_entry *)tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! pe) {
      goto while_break;
    }
    tmp___3 = hashmap_get((struct hashmap  const  *)(& pl->recursive_hashmap), (struct hashmap_entry  const  *)(& pe->ent),
                          (void const   *)((void *)0));
    tmp___4 = container_of_or_null_offset((void *)tmp___3, (unsigned long )(& ((struct pattern_entry *)0)->ent));
    if (tmp___4) {
      goto __Cont;
    }
    tmp___5 = hashmap_contains_parent(& pl->recursive_hashmap, (char const   *)pe->pattern,
                                      & parent_pattern);
    if (! tmp___5) {
      string_list_insert(& sl, (char const   *)pe->pattern);
    }
    __Cont: /* CIL Label */
    tmp___1 = hashmap_iter_next(& iter___0);
    tmp___2 = container_of_or_null_offset((void *)tmp___1, (unsigned long )(& ((struct pattern_entry *)0)->ent));
    pe = (struct pattern_entry *)tmp___2;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_sort(& sl);
  string_list_remove_duplicates(& sl, 0);
  fprintf(fp, (char const   *)"/*\n!/*/\n");
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < sl.nr)) {
      goto while_break___0;
    }
    tmp___6 = escaped_pattern((sl.items + i)->string);
    pattern___0 = tmp___6;
    tmp___7 = strlen((char const   *)pattern___0);
    if (tmp___7) {
      fprintf(fp, (char const   *)"%s/\n!%s/*/\n", pattern___0, pattern___0);
    }
    free((void *)pattern___0);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  string_list_clear(& sl, 0);
  pe = (struct pattern_entry *)((void *)0);
  tmp___8 = hashmap_iter_first(& pl->recursive_hashmap, & iter___0);
  tmp___9 = container_of_or_null_offset((void *)tmp___8, (unsigned long )(& ((struct pattern_entry *)0)->ent));
  pe = (struct pattern_entry *)tmp___9;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! pe) {
      goto while_break___1;
    }
    tmp___12 = hashmap_contains_parent(& pl->recursive_hashmap, (char const   *)pe->pattern,
                                       & parent_pattern);
    if (! tmp___12) {
      string_list_insert(& sl, (char const   *)pe->pattern);
    }
    tmp___10 = hashmap_iter_next(& iter___0);
    tmp___11 = container_of_or_null_offset((void *)tmp___10, (unsigned long )(& ((struct pattern_entry *)0)->ent));
    pe = (struct pattern_entry *)tmp___11;
  }
  while_break___1: /* CIL Label */ ;
  }
  strbuf_release(& parent_pattern);
  string_list_sort(& sl);
  string_list_remove_duplicates(& sl, 0);
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((unsigned int )i < sl.nr)) {
      goto while_break___2;
    }
    tmp___13 = escaped_pattern((sl.items + i)->string);
    pattern___1 = tmp___13;
    fprintf(fp, (char const   *)"%s/\n", pattern___1);
    free((void *)pattern___1);
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  return;
}
}
static int write_patterns_and_update(struct pattern_list *pl )
{
  char *sparse_filename ;
  FILE *fp ;
  int fd ;
  struct lock_file lk ;
  int result___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  enum scld_error tmp___0 ;

  {
  lk.tempfile = (struct tempfile *)0;
  sparse_filename = get_sparse_checkout_filename();
  tmp___0 = safe_create_leading_directories(sparse_filename);
  if (tmp___0) {
    tmp = _((char const   *)"failed to create directory for sparse-checkout file");
    die((char const   *)tmp);
  }
  fd = hold_lock_file_for_update(& lk, (char const   *)sparse_filename, 1);
  result___0 = update_working_directory(pl);
  if (result___0) {
    rollback_lock_file(& lk);
    free((void *)sparse_filename);
    clear_pattern_list(pl);
    update_working_directory((struct pattern_list *)((void *)0));
    return (result___0);
  }
  fp = xfdopen(fd, (char const   *)"w");
  if (core_sparse_checkout_cone) {
    write_cone_to_file(fp, pl);
  } else {
    write_patterns_to_file(fp, pl);
  }
  fflush(fp);
  commit_lock_file(& lk);
  free((void *)sparse_filename);
  clear_pattern_list(pl);
  return (0);
}
}
static int set_config(enum sparse_checkout_mode mode___1 )
{
  char const   *config_path ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;

  {
  tmp___0 = upgrade_repository_format(1);
  if (tmp___0 < 0) {
    tmp = _((char const   *)"unable to upgrade repository format to enable worktreeConfig");
    die((char const   *)tmp);
  }
  tmp___2 = git_config_set_gently((char const   *)"extensions.worktreeConfig", (char const   *)"true");
  if (tmp___2) {
    tmp___1 = _((char const   *)"failed to set extensions.worktreeConfig setting");
    error((char const   *)tmp___1);
    const_error();
    return (1);
  }
  config_path = git_path((char const   *)"config.worktree");
  if (mode___1) {
    tmp___3 = "true";
  } else {
    tmp___3 = (char *)((void *)0);
  }
  git_config_set_in_file_gently(config_path, (char const   *)"core.sparseCheckout",
                                (char const   *)tmp___3);
  if ((unsigned int )mode___1 == 2U) {
    tmp___4 = "true";
  } else {
    tmp___4 = (char *)((void *)0);
  }
  git_config_set_in_file_gently(config_path, (char const   *)"core.sparseCheckoutCone",
                                (char const   *)tmp___4);
  if ((unsigned int )mode___1 == 0U) {
    set_sparse_index_config(the_repository, 0);
  }
  return (0);
}
}
static int update_modes(int *cone_mode , int *sparse_index )
{
  int mode___1 ;
  int record_mode ;
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  if (*cone_mode != -1) {
    tmp = 1;
  } else
  if (! core_apply_sparse_checkout) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  record_mode = tmp;
  if (*cone_mode == -1) {
    if (core_apply_sparse_checkout) {
      *cone_mode = core_sparse_checkout_cone;
    }
  }
  core_apply_sparse_checkout = 1;
  if (*cone_mode == 1) {
    mode___1 = 2;
    core_sparse_checkout_cone = 1;
  } else {
    mode___1 = 1;
  }
  if (record_mode) {
    tmp___0 = set_config((enum sparse_checkout_mode )mode___1);
    if (tmp___0) {
      return (1);
    }
  }
  if (*sparse_index >= 0) {
    tmp___2 = set_sparse_index_config(the_repository, *sparse_index);
    if (tmp___2 < 0) {
      tmp___1 = _((char const   *)"failed to modify sparse-index config");
      die((char const   *)tmp___1);
    }
    repo_read_index(the_repository);
    (the_repository->index)->updated_workdir = 1U;
  }
  return (0);
}
}
static char const   *builtin_sparse_checkout_init_usage[2]  = {      (char const   *)"git sparse-checkout init [--cone] [--[no-]sparse-index]",      (char const   *)((void *)0)};
static struct sparse_checkout_init_opts init_opts  ;
static int sparse_checkout_init(int argc , char const   **argv___0 ) ;
static struct option builtin_sparse_checkout_init_options[3]  = {      {(enum parse_opt_type )8, 0, (char const   *)"cone", (void *)(& init_opts.cone_mode),
      (char const   *)((void *)0), (char const   *)"initialize the sparse-checkout in cone mode",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"sparse-index", (void *)(& init_opts.sparse_index),
      (char const   *)((void *)0), (char const   *)"toggle the use of a sparse index",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static int sparse_checkout_init(int argc , char const   **argv___0 )
{
  struct pattern_list pl ;
  char *sparse_filename ;
  int res ;
  struct object_id oid ;
  struct strbuf pattern___0 ;
  int tmp ;
  int tmp___0 ;
  FILE *fp ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;

  {
  pattern___0.alloc = 0UL;
  pattern___0.len = 0UL;
  pattern___0.buf = strbuf_slopbuf;
  repo_read_index(the_repository);
  init_opts.cone_mode = -1;
  init_opts.sparse_index = -1;
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)(builtin_sparse_checkout_init_options),
                       builtin_sparse_checkout_init_usage, (enum parse_opt_flags )0);
  tmp = update_modes(& init_opts.cone_mode, & init_opts.sparse_index);
  if (tmp) {
    return (1);
  }
  memset((void *)(& pl), 0, sizeof(pl));
  sparse_filename = get_sparse_checkout_filename();
  res = add_patterns_from_file_to_list((char const   *)sparse_filename, (char const   *)"",
                                       0, & pl, (struct index_state *)((void *)0),
                                       0U);
  if (res >= 0) {
    free((void *)sparse_filename);
    tmp___0 = update_working_directory((struct pattern_list *)((void *)0));
    return (tmp___0);
  }
  tmp___2 = repo_get_oid(the_repository, (char const   *)"HEAD", & oid);
  if (tmp___2) {
    fp = xfopen((char const   *)sparse_filename, (char const   *)"w");
    if (! fp) {
      tmp___1 = _((char const   *)"failed to open \'%s\'");
      die((char const   *)tmp___1, sparse_filename);
    }
    free((void *)sparse_filename);
    fprintf(fp, (char const   *)"/*\n!/*/\n");
    fclose(fp);
    return (0);
  }
  strbuf_addstr(& pattern___0, (char const   *)"/*");
  tmp___3 = strbuf_detach(& pattern___0, (size_t *)((void *)0));
  add_pattern((char const   *)tmp___3, empty_base, 0, & pl, 0);
  strbuf_addstr(& pattern___0, (char const   *)"!/*/");
  tmp___4 = strbuf_detach(& pattern___0, (size_t *)((void *)0));
  add_pattern((char const   *)tmp___4, empty_base, 0, & pl, 0);
  pl.use_cone_patterns = (unsigned int )init_opts.cone_mode;
  tmp___5 = write_patterns_and_update(& pl);
  return (tmp___5);
}
}
static void insert_recursive_pattern(struct pattern_list *pl , struct strbuf *path___6 )
{
  struct pattern_entry *e ;
  void *tmp ;
  unsigned int tmp___0 ;
  char *slash ;
  char *tmp___1 ;
  char *oldpattern ;
  size_t newlen ;
  void *tmp___2 ;
  unsigned int tmp___3 ;
  struct hashmap_entry *tmp___4 ;
  void *tmp___5 ;

  {
  tmp = xmalloc(sizeof(*e));
  e = (struct pattern_entry *)tmp;
  e->patternlen = path___6->len;
  e->pattern = strbuf_detach(path___6, (size_t *)((void *)0));
  tmp___0 = fspathhash((char const   *)e->pattern);
  hashmap_entry_init(& e->ent, tmp___0);
  hashmap_add(& pl->recursive_hashmap, & e->ent);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! e->patternlen) {
      goto while_break;
    }
    tmp___1 = strrchr((char const   *)e->pattern, '/');
    slash = tmp___1;
    oldpattern = e->pattern;
    if (! slash) {
      goto while_break;
    } else
    if ((unsigned long )slash == (unsigned long )e->pattern) {
      goto while_break;
    }
    newlen = (size_t )(slash - e->pattern);
    tmp___2 = xmalloc(sizeof(struct pattern_entry ));
    e = (struct pattern_entry *)tmp___2;
    e->patternlen = newlen;
    e->pattern = xstrndup((char const   *)oldpattern, newlen);
    tmp___3 = fspathhash((char const   *)e->pattern);
    hashmap_entry_init(& e->ent, tmp___3);
    tmp___4 = hashmap_get((struct hashmap  const  *)(& pl->parent_hashmap), (struct hashmap_entry  const  *)(& e->ent),
                          (void const   *)((void *)0));
    tmp___5 = container_of_or_null_offset((void *)tmp___4, (unsigned long )(& ((struct pattern_entry *)0)->ent));
    if (! tmp___5) {
      hashmap_add(& pl->parent_hashmap, & e->ent);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void strbuf_to_cone_pattern(struct strbuf *line___0 , struct pattern_list *pl )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  strbuf_trim(line___0);
  strbuf_trim_trailing_dir_sep(line___0);
  tmp___0 = strbuf_normalize_path(line___0);
  if (tmp___0) {
    tmp = _((char const   *)"could not normalize path %s");
    die((char const   *)tmp, line___0->buf);
  }
  if (! line___0->len) {
    return;
  }
  if ((int )*(line___0->buf + 0) != 47) {
    strbuf_insertstr(line___0, (size_t )0, (char const   *)"/");
  }
  insert_recursive_pattern(pl, line___0);
  return;
}
}
static void add_patterns_from_input(struct pattern_list *pl , int argc , char const   **argv___0 ,
                                    int use_stdin___0 )
{
  int i ;
  struct strbuf line___0 ;
  struct strbuf unquoted ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct strbuf line___1 ;
  size_t len___0 ;
  char *buf___19 ;
  char *tmp___2 ;
  int tmp___3 ;

  {
  if (core_sparse_checkout_cone) {
    line___0.alloc = 0UL;
    line___0.len = 0UL;
    line___0.buf = strbuf_slopbuf;
    hashmap_init(& pl->recursive_hashmap, & pl_hashmap_cmp, (void const   *)((void *)0),
                 (size_t )0);
    hashmap_init(& pl->parent_hashmap, & pl_hashmap_cmp, (void const   *)((void *)0),
                 (size_t )0);
    pl->use_cone_patterns = 1U;
    if (use_stdin___0) {
      unquoted.alloc = 0UL;
      unquoted.len = 0UL;
      unquoted.buf = strbuf_slopbuf;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        tmp___1 = strbuf_getline(& line___0, stdin);
        if (tmp___1) {
          goto while_break;
        }
        if ((int )*(line___0.buf + 0) == 34) {
          strbuf_setlen___33(& unquoted, (size_t )0);
          tmp___0 = unquote_c_style(& unquoted, (char const   *)line___0.buf, (char const   **)((void *)0));
          if (tmp___0) {
            tmp = _((char const   *)"unable to unquote C-style string \'%s\'");
            die((char const   *)tmp, line___0.buf);
          }
          strbuf_swap(& unquoted, & line___0);
        }
        strbuf_to_cone_pattern(& line___0, pl);
      }
      while_break: /* CIL Label */ ;
      }
      strbuf_release(& unquoted);
    } else {
      i = 0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (i < argc)) {
          goto while_break___0;
        }
        strbuf_setlen___33(& line___0, (size_t )0);
        strbuf_addstr(& line___0, *(argv___0 + i));
        strbuf_to_cone_pattern(& line___0, pl);
        i ++;
      }
      while_break___0: /* CIL Label */ ;
      }
    }
  } else
  if (use_stdin___0) {
    line___1.alloc = 0UL;
    line___1.len = 0UL;
    line___1.buf = strbuf_slopbuf;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      tmp___3 = strbuf_getline(& line___1, stdin);
      if (tmp___3) {
        goto while_break___1;
      }
      tmp___2 = strbuf_detach(& line___1, & len___0);
      buf___19 = tmp___2;
      add_pattern((char const   *)buf___19, empty_base, 0, pl, 0);
    }
    while_break___1: /* CIL Label */ ;
    }
  } else {
    i = 0;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (i < argc)) {
        goto while_break___2;
      }
      add_pattern(*(argv___0 + i), empty_base, 0, pl, 0);
      i ++;
    }
    while_break___2: /* CIL Label */ ;
    }
  }
  return;
}
}
static void add_patterns_cone_mode(int argc , char const   **argv___0 , struct pattern_list *pl ,
                                   int use_stdin___0 )
{
  struct strbuf buffer___5 ;
  struct pattern_entry *pe ;
  struct hashmap_iter iter___0 ;
  struct pattern_list existing ;
  char *sparse_filename ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  struct hashmap_entry *tmp___3 ;
  void *tmp___4 ;
  struct hashmap_entry *tmp___5 ;
  void *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  buffer___5.alloc = 0UL;
  buffer___5.len = 0UL;
  buffer___5.buf = strbuf_slopbuf;
  tmp = get_sparse_checkout_filename();
  sparse_filename = tmp;
  add_patterns_from_input(pl, argc, argv___0, use_stdin___0);
  memset((void *)(& existing), 0, sizeof(existing));
  existing.use_cone_patterns = (unsigned int )core_sparse_checkout_cone;
  tmp___1 = add_patterns_from_file_to_list((char const   *)sparse_filename, (char const   *)"",
                                           0, & existing, (struct index_state *)((void *)0),
                                           0U);
  if (tmp___1) {
    tmp___0 = _((char const   *)"unable to load existing sparse-checkout patterns");
    die((char const   *)tmp___0);
  }
  free((void *)sparse_filename);
  if (! existing.use_cone_patterns) {
    tmp___2 = _((char const   *)"existing sparse-checkout patterns do not use cone mode");
    die((char const   *)tmp___2);
  }
  pe = (struct pattern_entry *)((void *)0);
  tmp___3 = hashmap_iter_first(& existing.recursive_hashmap, & iter___0);
  tmp___4 = container_of_or_null_offset((void *)tmp___3, (unsigned long )(& ((struct pattern_entry *)0)->ent));
  pe = (struct pattern_entry *)tmp___4;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! pe) {
      goto while_break;
    }
    tmp___7 = hashmap_contains_parent(& pl->recursive_hashmap, (char const   *)pe->pattern,
                                      & buffer___5);
    if (tmp___7) {
      tmp___8 = hashmap_contains_parent(& pl->parent_hashmap, (char const   *)pe->pattern,
                                        & buffer___5);
      if (! tmp___8) {
        strbuf_setlen___33(& buffer___5, (size_t )0);
        strbuf_addstr(& buffer___5, (char const   *)pe->pattern);
        insert_recursive_pattern(pl, & buffer___5);
      }
    } else {
      strbuf_setlen___33(& buffer___5, (size_t )0);
      strbuf_addstr(& buffer___5, (char const   *)pe->pattern);
      insert_recursive_pattern(pl, & buffer___5);
    }
    tmp___5 = hashmap_iter_next(& iter___0);
    tmp___6 = container_of_or_null_offset((void *)tmp___5, (unsigned long )(& ((struct pattern_entry *)0)->ent));
    pe = (struct pattern_entry *)tmp___6;
  }
  while_break: /* CIL Label */ ;
  }
  clear_pattern_list(& existing);
  strbuf_release(& buffer___5);
  return;
}
}
static void add_patterns_literal(int argc , char const   **argv___0 , struct pattern_list *pl ,
                                 int use_stdin___0 )
{
  char *sparse_filename ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  tmp = get_sparse_checkout_filename();
  sparse_filename = tmp;
  tmp___1 = add_patterns_from_file_to_list((char const   *)sparse_filename, (char const   *)"",
                                           0, pl, (struct index_state *)((void *)0),
                                           0U);
  if (tmp___1) {
    tmp___0 = _((char const   *)"unable to load existing sparse-checkout patterns");
    die((char const   *)tmp___0);
  }
  free((void *)sparse_filename);
  add_patterns_from_input(pl, argc, argv___0, use_stdin___0);
  return;
}
}
static int modify_pattern_list(int argc , char const   **argv___0 , int use_stdin___0 ,
                               enum modify_type m )
{
  int result___0 ;
  int changed_config ;
  struct pattern_list *pl ;
  void *tmp ;

  {
  changed_config = 0;
  tmp = xcalloc((size_t )1, sizeof(*pl));
  pl = (struct pattern_list *)tmp;
  {
  if ((unsigned int )m == 1U) {
    goto case_1;
  }
  if ((unsigned int )m == 0U) {
    goto case_0;
  }
  goto switch_break;
  case_1: /* CIL Label */
  if (core_sparse_checkout_cone) {
    add_patterns_cone_mode(argc, argv___0, pl, use_stdin___0);
  } else {
    add_patterns_literal(argc, argv___0, pl, use_stdin___0);
  }
  goto switch_break;
  case_0: /* CIL Label */
  add_patterns_from_input(pl, argc, argv___0, use_stdin___0);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  if (! core_apply_sparse_checkout) {
    set_config((enum sparse_checkout_mode )1);
    core_apply_sparse_checkout = 1;
    changed_config = 1;
  }
  result___0 = write_patterns_and_update(pl);
  if (result___0) {
    if (changed_config) {
      set_config((enum sparse_checkout_mode )0);
    }
  }
  clear_pattern_list(pl);
  free((void *)pl);
  return (result___0);
}
}
static char const   *builtin_sparse_checkout_add_usage[2]  = {      (char const   *)"git sparse-checkout add (--stdin | <patterns>)",      (char const   *)((void *)0)};
static struct sparse_checkout_add_opts add_opts  ;
static int sparse_checkout_add(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
static struct option builtin_sparse_checkout_add_options[2]  = {      {(enum parse_opt_type )8, 0, (char const   *)"stdin", (void *)(& add_opts.use_stdin),
      (char const   *)((void *)0), (char const   *)"read patterns from standard in",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static int sparse_checkout_add(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  if (! core_apply_sparse_checkout) {
    tmp = _((char const   *)"no sparse-checkout to add to");
    die((char const   *)tmp);
  }
  repo_read_index(the_repository);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(builtin_sparse_checkout_add_options),
                       builtin_sparse_checkout_add_usage, (enum parse_opt_flags )8);
  tmp___0 = modify_pattern_list(argc, argv___0, add_opts.use_stdin, (enum modify_type )1);
  return (tmp___0);
}
}
static char const   *builtin_sparse_checkout_set_usage[2]  = {      (char const   *)"git sparse-checkout set [--[no-]cone] [--[no-]sparse-index] (--stdin | <patterns>)",      (char const   *)((void *)0)};
static struct sparse_checkout_set_opts set_opts  ;
static int sparse_checkout_set(int argc , char const   **argv___0 , char const   *prefix___1 ) ;
static struct option builtin_sparse_checkout_set_options[4]  = {      {(enum parse_opt_type )8, 0, (char const   *)"cone", (void *)(& set_opts.cone_mode),
      (char const   *)((void *)0), (char const   *)"initialize the sparse-checkout in cone mode",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"sparse-index", (void *)(& set_opts.sparse_index),
      (char const   *)((void *)0), (char const   *)"toggle the use of a sparse index",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"stdin", (void *)(& set_opts.use_stdin),
      (char const   *)((void *)0), (char const   *)"read patterns from standard in",
      (enum parse_opt_option_flags )6, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static int sparse_checkout_set(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int default_patterns_nr ;
  char const   *default_patterns[3] ;
  int tmp ;
  int tmp___0 ;

  {
  default_patterns_nr = 2;
  default_patterns[0] = (char const   *)"/*";
  default_patterns[1] = (char const   *)"!/*/";
  default_patterns[2] = (char const   *)((void *)0);
  repo_read_index(the_repository);
  set_opts.cone_mode = -1;
  set_opts.sparse_index = -1;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(builtin_sparse_checkout_set_options),
                       builtin_sparse_checkout_set_usage, (enum parse_opt_flags )8);
  tmp = update_modes(& set_opts.cone_mode, & set_opts.sparse_index);
  if (tmp) {
    return (1);
  }
  if (! core_sparse_checkout_cone) {
    if (argc == 0) {
      argv___0 = default_patterns;
      argc = default_patterns_nr;
    }
  }
  tmp___0 = modify_pattern_list(argc, argv___0, set_opts.use_stdin, (enum modify_type )0);
  return (tmp___0);
}
}
static char const   *builtin_sparse_checkout_reapply_usage[2]  = {      (char const   *)"git sparse-checkout reapply [--[no-]cone] [--[no-]sparse-index]",      (char const   *)((void *)0)};
static struct sparse_checkout_reapply_opts reapply_opts  ;
static int sparse_checkout_reapply(int argc , char const   **argv___0 ) ;
static struct option builtin_sparse_checkout_reapply_options[3]  = {      {(enum parse_opt_type )8, 0, (char const   *)"cone", (void *)(& reapply_opts.cone_mode),
      (char const   *)((void *)0), (char const   *)"initialize the sparse-checkout in cone mode",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )8, 0, (char const   *)"sparse-index", (void *)(& reapply_opts.sparse_index),
      (char const   *)((void *)0), (char const   *)"toggle the use of a sparse index",
      (enum parse_opt_option_flags )2, (parse_opt_cb *)((void *)0), (intptr_t )1,
      (parse_opt_ll_cb *)0, 0L},
        {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static int sparse_checkout_reapply(int argc , char const   **argv___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! core_apply_sparse_checkout) {
    tmp = _((char const   *)"must be in a sparse-checkout to reapply sparsity patterns");
    die((char const   *)tmp);
  }
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)(builtin_sparse_checkout_reapply_options),
                       builtin_sparse_checkout_reapply_usage, (enum parse_opt_flags )0);
  repo_read_index(the_repository);
  reapply_opts.cone_mode = -1;
  reapply_opts.sparse_index = -1;
  tmp___0 = update_modes(& reapply_opts.cone_mode, & reapply_opts.sparse_index);
  if (tmp___0) {
    return (1);
  }
  tmp___1 = update_working_directory((struct pattern_list *)((void *)0));
  return (tmp___1);
}
}
static char const   *builtin_sparse_checkout_disable_usage[2]  = {      (char const   *)"git sparse-checkout disable",      (char const   *)((void *)0)};
static int sparse_checkout_disable(int argc , char const   **argv___0 ) ;
static struct option builtin_sparse_checkout_disable_options[1]  = {      {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
static int sparse_checkout_disable(int argc , char const   **argv___0 )
{
  struct pattern_list pl ;
  struct strbuf match_all ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  match_all.alloc = 0UL;
  match_all.len = 0UL;
  match_all.buf = strbuf_slopbuf;
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)(builtin_sparse_checkout_disable_options),
                       builtin_sparse_checkout_disable_usage, (enum parse_opt_flags )0);
  repo_read_index(the_repository);
  memset((void *)(& pl), 0, sizeof(pl));
  hashmap_init(& pl.recursive_hashmap, & pl_hashmap_cmp, (void const   *)((void *)0),
               (size_t )0);
  hashmap_init(& pl.parent_hashmap, & pl_hashmap_cmp, (void const   *)((void *)0),
               (size_t )0);
  pl.use_cone_patterns = 0U;
  core_apply_sparse_checkout = 1;
  strbuf_addstr(& match_all, (char const   *)"/*");
  tmp = strbuf_detach(& match_all, (size_t *)((void *)0));
  add_pattern((char const   *)tmp, empty_base, 0, & pl, 0);
  prepare_repo_settings(the_repository);
  the_repository->settings.sparse_index = 0;
  tmp___1 = update_working_directory(& pl);
  if (tmp___1) {
    tmp___0 = _((char const   *)"error while refreshing working directory");
    die((char const   *)tmp___0);
  }
  clear_pattern_list(& pl);
  tmp___2 = set_config((enum sparse_checkout_mode )0);
  return (tmp___2);
}
}
static struct option builtin_sparse_checkout_options[1]  = {      {(enum parse_opt_type )0, 0, (char const   *)0, (void *)0, (char const   *)0,
      (char const   *)0, 0U, (parse_opt_cb *)0, 0L, (parse_opt_ll_cb *)0, 0L}};
int cmd_sparse_checkout(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;

  {
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage_with_options(builtin_sparse_checkout_usage, (struct option  const  *)(builtin_sparse_checkout_options));
    }
  }
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(builtin_sparse_checkout_options),
                       builtin_sparse_checkout_usage, (enum parse_opt_flags )2);
  git_config(& git_default_config, (void *)0);
  if (argc > 0) {
    tmp___1 = strcmp(*(argv___0 + 0), (char const   *)"list");
    if (! tmp___1) {
      tmp___0 = sparse_checkout_list(argc, argv___0);
      return (tmp___0);
    }
    tmp___3 = strcmp(*(argv___0 + 0), (char const   *)"init");
    if (! tmp___3) {
      tmp___2 = sparse_checkout_init(argc, argv___0);
      return (tmp___2);
    }
    tmp___5 = strcmp(*(argv___0 + 0), (char const   *)"set");
    if (! tmp___5) {
      tmp___4 = sparse_checkout_set(argc, argv___0, prefix___1);
      return (tmp___4);
    }
    tmp___7 = strcmp(*(argv___0 + 0), (char const   *)"add");
    if (! tmp___7) {
      tmp___6 = sparse_checkout_add(argc, argv___0, prefix___1);
      return (tmp___6);
    }
    tmp___9 = strcmp(*(argv___0 + 0), (char const   *)"reapply");
    if (! tmp___9) {
      tmp___8 = sparse_checkout_reapply(argc, argv___0);
      return (tmp___8);
    }
    tmp___11 = strcmp(*(argv___0 + 0), (char const   *)"disable");
    if (! tmp___11) {
      tmp___10 = sparse_checkout_disable(argc, argv___0);
      return (tmp___10);
    }
  }
  usage_with_options(builtin_sparse_checkout_usage, (struct option  const  *)(builtin_sparse_checkout_options));
}
}
static double const   __ac_HASH_UPPER___158  =    (double const   )0.77;
__inline static void kh_resize_oid_set___158(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___158(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___158 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___158 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___158(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___158(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___158(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___158(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___158(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___158(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___158 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___158 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___158(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___158(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___158(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___158(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___158(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___158(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___158 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___158 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___158(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___158(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___158(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___158(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *git_stash_usage[9]  =
  {      (char const   *)"git stash list [<options>]",      (char const   *)"git stash show [<options>] [<stash>]",      (char const   *)"git stash drop [-q|--quiet] [<stash>]",      (char const   *)"git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]",
        (char const   *)"git stash branch <branchname> [<stash>]",      (char const   *)"git stash clear",      (char const   *)"git stash [push [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--quiet]\n          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n          [--pathspec-from-file=<file> [--pathspec-file-nul]]\n          [--] [<pathspec>...]]",      (char const   *)"git stash save [-p|--patch] [-S|--staged] [-k|--[no-]keep-index] [-q|--quiet]\n          [-u|--include-untracked] [-a|--all] [<message>]",
        (char const   *)((void *)0)};
static char const   *git_stash_list_usage[2]  = {      (char const   *)"git stash list [<options>]",      (char const   *)((void *)0)};
static char const   *git_stash_show_usage[2]  = {      (char const   *)"git stash show [<options>] [<stash>]",      (char const   *)((void *)0)};
static char const   *git_stash_drop_usage[2]  = {      (char const   *)"git stash drop [-q|--quiet] [<stash>]",      (char const   *)((void *)0)};
static char const   *git_stash_pop_usage[2]  = {      (char const   *)"git stash pop [--index] [-q|--quiet] [<stash>]",      (char const   *)((void *)0)};
static char const   *git_stash_apply_usage[2]  = {      (char const   *)"git stash apply [--index] [-q|--quiet] [<stash>]",      (char const   *)((void *)0)};
static char const   *git_stash_branch_usage[2]  = {      (char const   *)"git stash branch <branchname> [<stash>]",      (char const   *)((void *)0)};
static char const   *git_stash_clear_usage[2]  = {      (char const   *)"git stash clear",      (char const   *)((void *)0)};
static char const   *git_stash_store_usage[2]  = {      (char const   *)"git stash store [-m|--message <message>] [-q|--quiet] <commit>",      (char const   *)((void *)0)};
static char const   *git_stash_push_usage[2]  = {      (char const   *)"git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n          [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n          [--] [<pathspec>...]]",      (char const   *)((void *)0)};
static char const   *git_stash_save_usage[2]  = {      (char const   *)"git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n               [-u|--include-untracked] [-a|--all] [<message>]",      (char const   *)((void *)0)};
static char const   ref_stash[11]  =
  {      (char const   )'r',      (char const   )'e',      (char const   )'f',      (char const   )'s',
        (char const   )'/',      (char const   )'s',      (char const   )'t',      (char const   )'a',
        (char const   )'s',      (char const   )'h',      (char const   )'\000'};
static struct strbuf stash_index_path  =    {0UL, 0UL, strbuf_slopbuf};
static void free_stash_info(struct stash_info *info___0 )
{


  {
  strbuf_release(& info___0->revision);
  return;
}
}
static void assert_stash_like(struct stash_info *info___0 , char const   *revision )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  tmp___0 = get_oidf(& info___0->b_commit, (char const   *)"%s^1", revision);
  if (tmp___0) {
    tmp = _((char const   *)"\'%s\' is not a stash-like commit");
    die((char const   *)tmp, revision);
  } else {
    tmp___1 = get_oidf(& info___0->w_tree, (char const   *)"%s:", revision);
    if (tmp___1) {
      tmp = _((char const   *)"\'%s\' is not a stash-like commit");
      die((char const   *)tmp, revision);
    } else {
      tmp___2 = get_oidf(& info___0->b_tree, (char const   *)"%s^1:", revision);
      if (tmp___2) {
        tmp = _((char const   *)"\'%s\' is not a stash-like commit");
        die((char const   *)tmp, revision);
      } else {
        tmp___3 = get_oidf(& info___0->i_tree, (char const   *)"%s^2:", revision);
        if (tmp___3) {
          tmp = _((char const   *)"\'%s\' is not a stash-like commit");
          die((char const   *)tmp, revision);
        }
      }
    }
  }
  return;
}
}
static int get_stash_info(struct stash_info *info___0 , int argc , char const   **argv___0 )
{
  int ret___67 ;
  char *end_of_rev ;
  char *expanded_ref ;
  char const   *revision ;
  char const   *commit ;
  struct object_id dummy___0 ;
  struct strbuf symbolic___0 ;
  int i ;
  struct strbuf refs_msg ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  commit = (char const   *)((void *)0);
  symbolic___0.alloc = 0UL;
  symbolic___0.len = 0UL;
  symbolic___0.buf = strbuf_slopbuf;
  if (argc > 1) {
    refs_msg.alloc = 0UL;
    refs_msg.len = 0UL;
    refs_msg.buf = strbuf_slopbuf;
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < argc)) {
        goto while_break;
      }
      strbuf_addf(& refs_msg, (char const   *)" \'%s\'", *(argv___0 + i));
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    tmp = _((char const   *)"Too many revisions specified:%s");
    fprintf_ln(stderr, (char const   *)tmp, refs_msg.buf);
    strbuf_release(& refs_msg);
    return (-1);
  }
  if (argc == 1) {
    commit = *(argv___0 + 0);
  }
  strbuf_init(& info___0->revision, (size_t )0);
  if (! commit) {
    tmp___1 = ref_exists(ref_stash);
    if (! tmp___1) {
      free_stash_info(info___0);
      tmp___0 = _((char const   *)"No stash entries found.");
      fprintf_ln(stderr, (char const   *)tmp___0);
      return (-1);
    }
    strbuf_addf(& info___0->revision, (char const   *)"%s@{0}", ref_stash);
  } else {
    tmp___2 = strspn(commit, (char const   *)"0123456789");
    tmp___3 = strlen(commit);
    if (tmp___2 == tmp___3) {
      strbuf_addf(& info___0->revision, (char const   *)"%s@{%s}", ref_stash, commit);
    } else {
      strbuf_addstr(& info___0->revision, commit);
    }
  }
  revision = (char const   *)info___0->revision.buf;
  tmp___5 = repo_get_oid(the_repository, revision, & info___0->w_commit);
  if (tmp___5) {
    tmp___4 = _((char const   *)"%s is not a valid reference");
    error((char const   *)tmp___4, revision);
    const_error();
    free_stash_info(info___0);
    return (-1);
  }
  assert_stash_like(info___0, revision);
  tmp___6 = get_oidf(& info___0->u_tree, (char const   *)"%s^3:", revision);
  if (tmp___6) {
    tmp___7 = 0;
  } else {
    tmp___7 = 1;
  }
  info___0->has_u = tmp___7;
  end_of_rev = strchrnul(revision, '@');
  strbuf_add(& symbolic___0, (void const   *)revision, (size_t )(end_of_rev - (char *)revision));
  ret___67 = dwim_ref((char const   *)symbolic___0.buf, (int )symbolic___0.len, & dummy___0,
                      & expanded_ref, 0);
  strbuf_release(& symbolic___0);
  {
  if (ret___67 == 0) {
    goto case_0;
  }
  if (ret___67 == 1) {
    goto case_1;
  }
  goto switch_default;
  case_0: /* CIL Label */
  info___0->is_stash_ref = 0;
  goto switch_break;
  case_1: /* CIL Label */
  tmp___8 = strcmp((char const   *)expanded_ref, ref_stash);
  if (tmp___8) {
    tmp___9 = 0;
  } else {
    tmp___9 = 1;
  }
  info___0->is_stash_ref = tmp___9;
  goto switch_break;
  switch_default: /* CIL Label */
  free_stash_info(info___0);
  switch_break: /* CIL Label */ ;
  }
  free((void *)expanded_ref);
  if (ret___67 == 0) {
    tmp___10 = 0;
  } else
  if (ret___67 == 1) {
    tmp___10 = 0;
  } else {
    tmp___10 = 1;
  }
  return (tmp___10);
}
}
static int do_clear_stash(void)
{
  struct object_id obj ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = repo_get_oid(the_repository, ref_stash, & obj);
  if (tmp) {
    return (0);
  }
  tmp___0 = delete_ref((char const   *)((void *)0), ref_stash, (struct object_id  const  *)(& obj),
                       0U);
  return (tmp___0);
}
}
static int clear_stash(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct option options[1] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  options[0].type = (enum parse_opt_type )0;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)0;
  options[0].value = (void *)0;
  options[0].argh = (char const   *)0;
  options[0].help = (char const   *)0;
  options[0].flags = 0U;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_stash_clear_usage, (enum parse_opt_flags )2);
  if (argc) {
    tmp = _((char const   *)"git stash clear with arguments is unimplemented");
    error((char const   *)tmp);
    tmp___0 = const_error();
    return (tmp___0);
  }
  tmp___1 = do_clear_stash();
  return (tmp___1);
}
}
static int reset_tree___0(struct object_id *i_tree , int update___1 , int reset )
{
  int nr_trees___0 ;
  struct unpack_trees_options opts___1 ;
  struct tree_desc t[8] ;
  struct tree *tree ;
  struct lock_file lock_file___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  nr_trees___0 = 1;
  lock_file___0.tempfile = (struct tempfile *)0;
  repo_read_index_preload(the_repository, (struct pathspec  const  *)((void *)0),
                          0U);
  tmp = refresh_index(& the_index, (unsigned int )(1 << 2), (struct pathspec  const  *)((void *)0),
                      (char *)((void *)0), (char const   *)((void *)0));
  if (tmp) {
    return (-1);
  }
  repo_hold_locked_index(the_repository, & lock_file___0, 1);
  memset((void *)(& opts___1), 0, sizeof(opts___1));
  tree = parse_tree_indirect((struct object_id  const  *)i_tree);
  tmp___0 = parse_tree(tree);
  if (tmp___0) {
    return (-1);
  }
  init_tree_desc(t, (void const   *)tree->buffer, tree->size);
  opts___1.head_idx = 1;
  opts___1.src_index = & the_index;
  opts___1.dst_index = & the_index;
  opts___1.merge = 1U;
  if (reset) {
    opts___1.reset = (enum unpack_trees_reset_type )2;
  } else {
    opts___1.reset = (enum unpack_trees_reset_type )0;
  }
  opts___1.update = (unsigned int )update___1;
  if (update___1) {
    opts___1.preserve_ignored = 0U;
  }
  opts___1.fn = & oneway_merge;
  tmp___1 = unpack_trees((unsigned int )nr_trees___0, t, & opts___1);
  if (tmp___1) {
    return (-1);
  }
  tmp___4 = write_locked_index(& the_index, & lock_file___0, 1U);
  if (tmp___4) {
    tmp___2 = _((char const   *)"unable to write new index file");
    error((char const   *)tmp___2);
    tmp___3 = const_error();
    return (tmp___3);
  }
  return (0);
}
}
static int diff_tree_binary(struct strbuf *out , struct object_id *w_commit )
{
  struct child_process cp ;
  char const   *w_commit_hex ;
  char *tmp ;
  int tmp___0 ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  tmp = oid_to_hex((struct object_id  const  *)w_commit);
  w_commit_hex = (char const   *)tmp;
  cp.git_cmd = 1U;
  strvec_pushl(& cp.args, "diff-tree", "--binary", (void *)0);
  strvec_pushf(& cp.args, (char const   *)"%s^2^..%s^2", w_commit_hex, w_commit_hex);
  tmp___0 = pipe_command(& cp, (char const   *)((void *)0), (size_t )0, out, (size_t )0,
                         (struct strbuf *)((void *)0), (size_t )0);
  return (tmp___0);
}
}
static int apply_cached(struct strbuf *out )
{
  struct child_process cp ;
  int tmp ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  cp.git_cmd = 1U;
  strvec_pushl(& cp.args, "apply", "--cached", (void *)0);
  tmp = pipe_command(& cp, (char const   *)out->buf, out->len, (struct strbuf *)((void *)0),
                     (size_t )0, (struct strbuf *)((void *)0), (size_t )0);
  return (tmp);
}
}
static int reset_head___0(void)
{
  struct child_process cp ;
  int tmp ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  cp.git_cmd = 1U;
  strvec_push(& cp.args, (char const   *)"reset");
  tmp = run_command(& cp);
  return (tmp);
}
}
static int is_path_a_directory(char const   *path___6 )
{
  struct stat st ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = lstat(path___6, & st);
  if (tmp) {
    tmp___0 = 0;
  } else
  if ((st.st_mode & 61440U) == 16384U) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static void add_diff_to_buf(struct diff_queue_struct *q , struct diff_options *options ,
                            void *data )
{
  int i ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break;
    }
    tmp = is_path_a_directory((char const   *)((*(q->queue + i))->one)->path);
    if (tmp) {
      goto __Cont;
    }
    strbuf_addstr((struct strbuf *)data, (char const   *)((*(q->queue + i))->one)->path);
    strbuf_addch((struct strbuf *)data, '\000');
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int restore_untracked(struct object_id *u_tree )
{
  int res ;
  struct child_process cp ;
  char *tmp ;
  int tmp___0 ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  cp.git_cmd = 1U;
  strvec_push(& cp.args, (char const   *)"read-tree");
  tmp = oid_to_hex((struct object_id  const  *)u_tree);
  strvec_push(& cp.args, (char const   *)tmp);
  strvec_pushf(& cp.env_array, (char const   *)"GIT_INDEX_FILE=%s", stash_index_path.buf);
  tmp___0 = run_command(& cp);
  if (tmp___0) {
    remove_path((char const   *)stash_index_path.buf);
    return (-1);
  }
  child_process_init(& cp);
  cp.git_cmd = 1U;
  strvec_pushl(& cp.args, "checkout-index", "--all", (void *)0);
  strvec_pushf(& cp.env_array, (char const   *)"GIT_INDEX_FILE=%s", stash_index_path.buf);
  res = run_command(& cp);
  remove_path((char const   *)stash_index_path.buf);
  return (res);
}
}
static void unstage_changes_unless_new(struct object_id *orig_tree )
{
  struct checkout state___1 ;
  struct diff_options diff_opts ;
  struct lock_file lock___0 ;
  int i ;
  struct diff_filepair *p___0 ;
  struct cache_entry *ce ;
  int pos ;
  size_t tmp ;
  struct stat st ;
  struct strbuf new_path___0 ;
  int fd ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int option ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  state___1.istate = (struct index_state *)0;
  state___1.base_dir = (char const   *)"";
  state___1.base_dir_len = 0;
  state___1.delayed_checkout = (struct delayed_checkout *)0;
  state___1.meta.refname = (char const   *)0;
  state___1.meta.treeish.hash[0] = (unsigned char)0;
  state___1.meta.treeish.hash[1] = (unsigned char)0;
  state___1.meta.treeish.hash[2] = (unsigned char)0;
  state___1.meta.treeish.hash[3] = (unsigned char)0;
  state___1.meta.treeish.hash[4] = (unsigned char)0;
  state___1.meta.treeish.hash[5] = (unsigned char)0;
  state___1.meta.treeish.hash[6] = (unsigned char)0;
  state___1.meta.treeish.hash[7] = (unsigned char)0;
  state___1.meta.treeish.hash[8] = (unsigned char)0;
  state___1.meta.treeish.hash[9] = (unsigned char)0;
  state___1.meta.treeish.hash[10] = (unsigned char)0;
  state___1.meta.treeish.hash[11] = (unsigned char)0;
  state___1.meta.treeish.hash[12] = (unsigned char)0;
  state___1.meta.treeish.hash[13] = (unsigned char)0;
  state___1.meta.treeish.hash[14] = (unsigned char)0;
  state___1.meta.treeish.hash[15] = (unsigned char)0;
  state___1.meta.treeish.hash[16] = (unsigned char)0;
  state___1.meta.treeish.hash[17] = (unsigned char)0;
  state___1.meta.treeish.hash[18] = (unsigned char)0;
  state___1.meta.treeish.hash[19] = (unsigned char)0;
  state___1.meta.treeish.hash[20] = (unsigned char)0;
  state___1.meta.treeish.hash[21] = (unsigned char)0;
  state___1.meta.treeish.hash[22] = (unsigned char)0;
  state___1.meta.treeish.hash[23] = (unsigned char)0;
  state___1.meta.treeish.hash[24] = (unsigned char)0;
  state___1.meta.treeish.hash[25] = (unsigned char)0;
  state___1.meta.treeish.hash[26] = (unsigned char)0;
  state___1.meta.treeish.hash[27] = (unsigned char)0;
  state___1.meta.treeish.hash[28] = (unsigned char)0;
  state___1.meta.treeish.hash[29] = (unsigned char)0;
  state___1.meta.treeish.hash[30] = (unsigned char)0;
  state___1.meta.treeish.hash[31] = (unsigned char)0;
  state___1.meta.treeish.algo = 0;
  state___1.meta.blob.hash[0] = (unsigned char)0;
  state___1.meta.blob.hash[1] = (unsigned char)0;
  state___1.meta.blob.hash[2] = (unsigned char)0;
  state___1.meta.blob.hash[3] = (unsigned char)0;
  state___1.meta.blob.hash[4] = (unsigned char)0;
  state___1.meta.blob.hash[5] = (unsigned char)0;
  state___1.meta.blob.hash[6] = (unsigned char)0;
  state___1.meta.blob.hash[7] = (unsigned char)0;
  state___1.meta.blob.hash[8] = (unsigned char)0;
  state___1.meta.blob.hash[9] = (unsigned char)0;
  state___1.meta.blob.hash[10] = (unsigned char)0;
  state___1.meta.blob.hash[11] = (unsigned char)0;
  state___1.meta.blob.hash[12] = (unsigned char)0;
  state___1.meta.blob.hash[13] = (unsigned char)0;
  state___1.meta.blob.hash[14] = (unsigned char)0;
  state___1.meta.blob.hash[15] = (unsigned char)0;
  state___1.meta.blob.hash[16] = (unsigned char)0;
  state___1.meta.blob.hash[17] = (unsigned char)0;
  state___1.meta.blob.hash[18] = (unsigned char)0;
  state___1.meta.blob.hash[19] = (unsigned char)0;
  state___1.meta.blob.hash[20] = (unsigned char)0;
  state___1.meta.blob.hash[21] = (unsigned char)0;
  state___1.meta.blob.hash[22] = (unsigned char)0;
  state___1.meta.blob.hash[23] = (unsigned char)0;
  state___1.meta.blob.hash[24] = (unsigned char)0;
  state___1.meta.blob.hash[25] = (unsigned char)0;
  state___1.meta.blob.hash[26] = (unsigned char)0;
  state___1.meta.blob.hash[27] = (unsigned char)0;
  state___1.meta.blob.hash[28] = (unsigned char)0;
  state___1.meta.blob.hash[29] = (unsigned char)0;
  state___1.meta.blob.hash[30] = (unsigned char)0;
  state___1.meta.blob.hash[31] = (unsigned char)0;
  state___1.meta.blob.algo = 0;
  state___1.force = 0U;
  state___1.quiet = 0U;
  state___1.not_new = 0U;
  state___1.clone = 0U;
  state___1.refresh_cache = 0U;
  lock___0.tempfile = (struct tempfile *)0;
  state___1.force = 1U;
  state___1.quiet = 1U;
  state___1.refresh_cache = 1U;
  state___1.istate = & the_index;
  repo_diff_setup(the_repository, & diff_opts);
  diff_opts.flags.recursive = 1U;
  diff_opts.detect_rename = 0;
  diff_opts.output_format = 0x0800;
  diff_setup_done(& diff_opts);
  do_diff_cache((struct object_id  const  *)orig_tree, & diff_opts);
  diffcore_std(& diff_opts);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < diff_queued_diff.nr)) {
      goto while_break;
    }
    p___0 = *(diff_queued_diff.queue + i);
    tmp = strlen((char const   *)(p___0->two)->path);
    pos = index_name_pos(& the_index, (char const   *)(p___0->two)->path, (int )tmp);
    if (pos >= 0) {
      if ((*(the_index.cache + pos))->ce_flags & (unsigned int )(1 << 30)) {
        ce = *(the_index.cache + pos);
        tmp___2 = lstat((char const   *)(ce->name), & st);
        if (! tmp___2) {
          new_path___0.alloc = 0UL;
          new_path___0.len = 0UL;
          new_path___0.buf = strbuf_slopbuf;
          strbuf_addf(& new_path___0, (char const   *)"%s.stash.XXXXXX", ce->name);
          fd = xmkstemp(new_path___0.buf);
          close(fd);
          tmp___0 = _((char const   *)"WARNING: Untracked file in way of tracked file!  Renaming\n            %s -> %s\n         to make room.\n");
          printf((char const   *)tmp___0, ce->name, new_path___0.buf);
          tmp___1 = rename((char const   *)(ce->name), (char const   *)new_path___0.buf);
          if (tmp___1) {
            die((char const   *)"Failed to move %s to %s\n", ce->name, new_path___0.buf);
          }
          strbuf_release(& new_path___0);
        }
        checkout_entry(ce, (struct checkout  const  *)(& state___1), (char *)((void *)0),
                       (int *)((void *)0));
        ce->ce_flags &= (unsigned int )(~ (1 << 30));
      }
    }
    if ((p___0->one)->oid_valid) {
      option = 2;
      if (pos < 0) {
        option = 1;
      }
      ce = make_cache_entry(& the_index, (unsigned int )(p___0->one)->mode, (struct object_id  const  *)(& (p___0->one)->oid),
                            (char const   *)(p___0->one)->path, 0, 0U);
      add_index_entry(& the_index, ce, option);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  diff_flush(& diff_opts);
  repo_hold_locked_index(the_repository, & lock___0, 1);
  tmp___4 = write_locked_index(& the_index, & lock___0, (unsigned int )(1 | (1 << 1)));
  if (tmp___4) {
    tmp___3 = _((char const   *)"Unable to write index.");
    die((char const   *)tmp___3);
  }
  return;
}
}
static int do_apply_stash(char const   *prefix___1 , struct stash_info *info___0 ,
                          int index___2 , int quiet___7 )
{
  int ret___67 ;
  int has_index ;
  struct merge_options___0 o ;
  struct object_id c_tree ;
  struct object_id index_tree ;
  struct commit *result___0 ;
  struct object_id  const  *bases[1] ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  struct strbuf out ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  int tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  int tmp___19 ;
  struct child_process cp ;
  char const   *tmp___20 ;
  char const   *tmp___21 ;
  char const   *tmp___22 ;
  char const   *tmp___23 ;

  {
  has_index = index___2;
  repo_read_index_preload(the_repository, (struct pathspec  const  *)((void *)0),
                          0U);
  tmp = repo_refresh_and_write_index(the_repository, (unsigned int )(1 << 2), 0U,
                                     0, (struct pathspec  const  *)((void *)0), (char *)((void *)0),
                                     (char const   *)((void *)0));
  if (tmp) {
    return (-1);
  }
  tmp___2 = write_cache_as_tree(& c_tree, 0, (char const   *)((void *)0));
  if (tmp___2) {
    tmp___0 = _((char const   *)"cannot apply a stash in the middle of a merge");
    error((char const   *)tmp___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  if (index___2) {
    tmp___12 = oideq((struct object_id  const  *)(& info___0->b_tree), (struct object_id  const  *)(& info___0->i_tree));
    if (tmp___12) {
      has_index = 0;
    } else {
      tmp___13 = oideq((struct object_id  const  *)(& c_tree), (struct object_id  const  *)(& info___0->i_tree));
      if (tmp___13) {
        has_index = 0;
      } else {
        out.alloc = 0UL;
        out.len = 0UL;
        out.buf = strbuf_slopbuf;
        tmp___6 = diff_tree_binary(& out, & info___0->w_commit);
        if (tmp___6) {
          strbuf_release(& out);
          tmp___3 = oid_to_hex((struct object_id  const  *)(& info___0->w_commit));
          tmp___4 = _((char const   *)"could not generate diff %s^!.");
          error((char const   *)tmp___4, tmp___3);
          tmp___5 = const_error();
          return (tmp___5);
        }
        ret___67 = apply_cached(& out);
        strbuf_release(& out);
        if (ret___67) {
          tmp___7 = _((char const   *)"conflicts in index. Try without --index.");
          error((char const   *)tmp___7);
          tmp___8 = const_error();
          return (tmp___8);
        }
        discard_index(& the_index);
        repo_read_index(the_repository);
        tmp___11 = write_cache_as_tree(& index_tree, 0, (char const   *)((void *)0));
        if (tmp___11) {
          tmp___9 = _((char const   *)"could not save index tree");
          error((char const   *)tmp___9);
          tmp___10 = const_error();
          return (tmp___10);
        }
        reset_head___0();
        discard_index(& the_index);
        repo_read_index(the_repository);
      }
    }
  }
  init_merge_options(& o, the_repository);
  o.branch1 = (char const   *)"Updated upstream";
  o.branch2 = (char const   *)"Stashed changes";
  tmp___14 = oideq((struct object_id  const  *)(& info___0->b_tree), (struct object_id  const  *)(& c_tree));
  if (tmp___14) {
    o.branch1 = (char const   *)"Version stash was based on";
  }
  if (quiet___7) {
    o.verbosity = 0;
  }
  if (o.verbosity >= 3) {
    tmp___15 = _((char const   *)"Merging %s with %s");
    printf_ln((char const   *)tmp___15, o.branch1, o.branch2);
  }
  bases[0] = (struct object_id  const  *)(& info___0->b_tree);
  ret___67 = merge_recursive_generic(& o, (struct object_id  const  *)(& c_tree),
                                     (struct object_id  const  *)(& info___0->w_tree),
                                     1, bases, & result___0);
  if (ret___67) {
    repo_rerere(the_repository, 0);
    if (index___2) {
      tmp___16 = _((char const   *)"Index was not unstashed.");
      fprintf_ln(stderr, (char const   *)tmp___16);
    }
    goto restore_untracked;
  }
  if (has_index) {
    tmp___17 = reset_tree___0(& index_tree, 0, 0);
    if (tmp___17) {
      ret___67 = -1;
    }
  } else {
    unstage_changes_unless_new(& c_tree);
  }
  restore_untracked:
  if (info___0->has_u) {
    tmp___19 = restore_untracked(& info___0->u_tree);
    if (tmp___19) {
      tmp___18 = _((char const   *)"could not restore untracked files from stash");
      error((char const   *)tmp___18);
      ret___67 = const_error();
    }
  }
  if (! quiet___7) {
    cp.args.v = empty_strvec;
    cp.args.nr = 0UL;
    cp.args.alloc = 0UL;
    cp.env_array.v = empty_strvec;
    cp.env_array.nr = 0UL;
    cp.env_array.alloc = 0UL;
    cp.pid = 0;
    cp.trace2_child_id = 0;
    cp.trace2_child_us_start = 0UL;
    cp.trace2_child_class = (char const   *)0;
    cp.trace2_hook_name = (char const   *)0;
    cp.in = 0;
    cp.out = 0;
    cp.err = 0;
    cp.dir = (char const   *)0;
    cp.no_stdin = 0U;
    cp.no_stdout = 0U;
    cp.no_stderr = 0U;
    cp.git_cmd = 0U;
    cp.silent_exec_failure = 0U;
    cp.use_shell = 0U;
    cp.close_object_store = 0U;
    cp.stdout_to_stderr = 0U;
    cp.clean_on_exit = 0U;
    cp.wait_after_clean = 0U;
    cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    cp.clean_on_exit_handler_cbdata = (void *)0;
    cp.git_cmd = 1U;
    cp.dir = prefix___1;
    tmp___20 = get_git_work_tree();
    tmp___21 = absolute_path(tmp___20);
    strvec_pushf(& cp.env_array, (char const   *)"GIT_WORK_TREE=%s", tmp___21);
    tmp___22 = get_git_dir();
    tmp___23 = absolute_path(tmp___22);
    strvec_pushf(& cp.env_array, (char const   *)"GIT_DIR=%s", tmp___23);
    strvec_push(& cp.args, (char const   *)"status");
    run_command(& cp);
  }
  return (ret___67);
}
}
static int apply_stash(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int ret___67 ;
  int quiet___7 ;
  int index___2 ;
  struct stash_info info___0 ;
  struct option options[3] ;
  int tmp ;

  {
  quiet___7 = 0;
  index___2 = 0;
  options[0].type = (enum parse_opt_type )7;
  options[0].short_name = 'q';
  options[0].long_name = (char const   *)"quiet";
  options[0].value = (void *)(& quiet___7);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"be quiet, only report errors";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"index";
  options[1].value = (void *)(& index___2);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"attempt to recreate the index";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )0;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)0;
  options[2].value = (void *)0;
  options[2].argh = (char const   *)0;
  options[2].help = (char const   *)0;
  options[2].flags = 0U;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_stash_apply_usage, (enum parse_opt_flags )0);
  tmp = get_stash_info(& info___0, argc, argv___0);
  if (tmp) {
    return (-1);
  }
  ret___67 = do_apply_stash(prefix___1, & info___0, index___2, quiet___7);
  free_stash_info(& info___0);
  return (ret___67);
}
}
static int reject_reflog_ent(struct object_id *ooid , struct object_id *noid , char const   *email ,
                             timestamp_t timestamp___0 , int tz , char const   *message___0 ,
                             void *cb_data )
{


  {
  return (1);
}
}
static int reflog_is_empty(char const   *refname )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = for_each_reflog_ent(refname, & reject_reflog_ent, (void *)0);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
static int do_drop_stash(struct stash_info *info___0 , int quiet___7 )
{
  int ret___67 ;
  struct child_process cp_reflog ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  cp_reflog.args.v = empty_strvec;
  cp_reflog.args.nr = 0UL;
  cp_reflog.args.alloc = 0UL;
  cp_reflog.env_array.v = empty_strvec;
  cp_reflog.env_array.nr = 0UL;
  cp_reflog.env_array.alloc = 0UL;
  cp_reflog.pid = 0;
  cp_reflog.trace2_child_id = 0;
  cp_reflog.trace2_child_us_start = 0UL;
  cp_reflog.trace2_child_class = (char const   *)0;
  cp_reflog.trace2_hook_name = (char const   *)0;
  cp_reflog.in = 0;
  cp_reflog.out = 0;
  cp_reflog.err = 0;
  cp_reflog.dir = (char const   *)0;
  cp_reflog.no_stdin = 0U;
  cp_reflog.no_stdout = 0U;
  cp_reflog.no_stderr = 0U;
  cp_reflog.git_cmd = 0U;
  cp_reflog.silent_exec_failure = 0U;
  cp_reflog.use_shell = 0U;
  cp_reflog.close_object_store = 0U;
  cp_reflog.stdout_to_stderr = 0U;
  cp_reflog.clean_on_exit = 0U;
  cp_reflog.wait_after_clean = 0U;
  cp_reflog.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp_reflog.clean_on_exit_handler_cbdata = (void *)0;
  cp_reflog.git_cmd = 1U;
  strvec_pushl(& cp_reflog.args, "reflog", "delete", "--updateref", "--rewrite", (void *)0);
  strvec_push(& cp_reflog.args, (char const   *)info___0->revision.buf);
  ret___67 = run_command(& cp_reflog);
  if (! ret___67) {
    if (! quiet___7) {
      tmp = oid_to_hex((struct object_id  const  *)(& info___0->w_commit));
      tmp___0 = _((char const   *)"Dropped %s (%s)");
      printf_ln((char const   *)tmp___0, info___0->revision.buf, tmp);
    }
  } else {
    tmp___1 = _((char const   *)"%s: Could not drop stash entry");
    error((char const   *)tmp___1, info___0->revision.buf);
    tmp___2 = const_error();
    return (tmp___2);
  }
  tmp___3 = reflog_is_empty(ref_stash);
  if (tmp___3) {
    do_clear_stash();
  }
  return (0);
}
}
static void assert_stash_ref(struct stash_info *info___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  if (! info___0->is_stash_ref) {
    tmp = _((char const   *)"\'%s\' is not a stash reference");
    error((char const   *)tmp, info___0->revision.buf);
    const_error();
    free_stash_info(info___0);
    tmp___0 = trace2_cmd_exit_fl((char const   *)"builtin/stash.c", 670, 1);
    exit(tmp___0);
  }
  return;
}
}
static int drop_stash(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int ret___67 ;
  int quiet___7 ;
  struct stash_info info___0 ;
  struct option options[2] ;
  int tmp ;

  {
  quiet___7 = 0;
  options[0].type = (enum parse_opt_type )7;
  options[0].short_name = 'q';
  options[0].long_name = (char const   *)"quiet";
  options[0].value = (void *)(& quiet___7);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"be quiet, only report errors";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )0;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)0;
  options[1].value = (void *)0;
  options[1].argh = (char const   *)0;
  options[1].help = (char const   *)0;
  options[1].flags = 0U;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_stash_drop_usage, (enum parse_opt_flags )0);
  tmp = get_stash_info(& info___0, argc, argv___0);
  if (tmp) {
    return (-1);
  }
  assert_stash_ref(& info___0);
  ret___67 = do_drop_stash(& info___0, quiet___7);
  free_stash_info(& info___0);
  return (ret___67);
}
}
static int pop_stash(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int ret___67 ;
  int index___2 ;
  int quiet___7 ;
  struct stash_info info___0 ;
  struct option options[3] ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  index___2 = 0;
  quiet___7 = 0;
  options[0].type = (enum parse_opt_type )7;
  options[0].short_name = 'q';
  options[0].long_name = (char const   *)"quiet";
  options[0].value = (void *)(& quiet___7);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"be quiet, only report errors";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"index";
  options[1].value = (void *)(& index___2);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"attempt to recreate the index";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )0;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)0;
  options[2].value = (void *)0;
  options[2].argh = (char const   *)0;
  options[2].help = (char const   *)0;
  options[2].flags = 0U;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_stash_pop_usage, (enum parse_opt_flags )0);
  tmp = get_stash_info(& info___0, argc, argv___0);
  if (tmp) {
    return (-1);
  }
  assert_stash_ref(& info___0);
  ret___67 = do_apply_stash(prefix___1, & info___0, index___2, quiet___7);
  if (ret___67) {
    tmp___0 = _((char const   *)"The stash entry is kept in case you need it again.");
    printf_ln((char const   *)tmp___0);
  } else {
    ret___67 = do_drop_stash(& info___0, quiet___7);
  }
  free_stash_info(& info___0);
  return (ret___67);
}
}
static int branch_stash(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int ret___67 ;
  char const   *branch___0 ;
  struct stash_info info___0 ;
  struct child_process cp ;
  struct option options[1] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  branch___0 = (char const   *)((void *)0);
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  options[0].type = (enum parse_opt_type )0;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)0;
  options[0].value = (void *)0;
  options[0].argh = (char const   *)0;
  options[0].help = (char const   *)0;
  options[0].flags = 0U;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_stash_branch_usage, (enum parse_opt_flags )0);
  if (! argc) {
    tmp = _((char const   *)"No branch name specified");
    fprintf_ln(stderr, (char const   *)tmp);
    return (-1);
  }
  branch___0 = *(argv___0 + 0);
  tmp___0 = get_stash_info(& info___0, argc - 1, argv___0 + 1);
  if (tmp___0) {
    return (-1);
  }
  cp.git_cmd = 1U;
  strvec_pushl(& cp.args, "checkout", "-b", (void *)0);
  strvec_push(& cp.args, branch___0);
  tmp___1 = oid_to_hex((struct object_id  const  *)(& info___0.b_commit));
  strvec_push(& cp.args, (char const   *)tmp___1);
  ret___67 = run_command(& cp);
  if (! ret___67) {
    ret___67 = do_apply_stash(prefix___1, & info___0, 1, 0);
  }
  if (! ret___67) {
    if (info___0.is_stash_ref) {
      ret___67 = do_drop_stash(& info___0, 0);
    }
  }
  free_stash_info(& info___0);
  return (ret___67);
}
}
static int list_stash(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct child_process cp ;
  struct option options[1] ;
  int tmp ;
  int tmp___0 ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  options[0].type = (enum parse_opt_type )0;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)0;
  options[0].value = (void *)0;
  options[0].argh = (char const   *)0;
  options[0].help = (char const   *)0;
  options[0].flags = 0U;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_stash_list_usage, (enum parse_opt_flags )8);
  tmp = ref_exists(ref_stash);
  if (! tmp) {
    return (0);
  }
  cp.git_cmd = 1U;
  strvec_pushl(& cp.args, "log", "--format=%gd: %gs", "-g", "--first-parent", (void *)0);
  strvec_pushv(& cp.args, argv___0);
  strvec_push(& cp.args, ref_stash);
  strvec_push(& cp.args, (char const   *)"--");
  tmp___0 = run_command(& cp);
  return (tmp___0);
}
}
static int show_stat___0  =    1;
static int show_patch___0  ;
static int show_include_untracked  ;
static int use_legacy_stash  ;
static int git_stash_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = strcmp(var, (char const   *)"stash.showstat");
  if (! tmp) {
    show_stat___0 = git_config_bool(var, value);
    return (0);
  }
  tmp___0 = strcmp(var, (char const   *)"stash.showpatch");
  if (! tmp___0) {
    show_patch___0 = git_config_bool(var, value);
    return (0);
  }
  tmp___1 = strcmp(var, (char const   *)"stash.showincludeuntracked");
  if (! tmp___1) {
    show_include_untracked = git_config_bool(var, value);
    return (0);
  }
  tmp___4 = strcmp(var, (char const   *)"stash.usebuiltin");
  if (! tmp___4) {
    tmp___2 = git_config_bool(var, value);
    if (tmp___2) {
      tmp___3 = 0;
    } else {
      tmp___3 = 1;
    }
    use_legacy_stash = tmp___3;
    return (0);
  }
  tmp___5 = git_diff_basic_config(var, value, cb);
  return (tmp___5);
}
}
static void diff_include_untracked(struct stash_info  const  *info___0 , struct diff_options *diff_opt )
{
  struct object_id  const  *oid[2] ;
  struct tree *tree[sizeof(oid) / sizeof(oid[0]) + (sizeof(char [1]) - 1UL)] ;
  struct tree_desc tree_desc[sizeof(oid) / sizeof(oid[0]) + (sizeof(char [1]) - 1UL)] ;
  struct unpack_trees_options unpack_tree_opt ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  oid[0] = (struct object_id  const  *)(& info___0->w_commit);
  oid[1] = (struct object_id  const  *)(& info___0->u_tree);
  unpack_tree_opt.merge = 0U;
  unpack_tree_opt.update = 0U;
  unpack_tree_opt.preserve_ignored = 0U;
  unpack_tree_opt.clone = 0U;
  unpack_tree_opt.index_only = 0U;
  unpack_tree_opt.nontrivial_merge = 0U;
  unpack_tree_opt.trivial_merges_only = 0U;
  unpack_tree_opt.verbose_update = 0U;
  unpack_tree_opt.aggressive = 0U;
  unpack_tree_opt.skip_unmerged = 0U;
  unpack_tree_opt.initial_checkout = 0U;
  unpack_tree_opt.diff_index_cached = 0U;
  unpack_tree_opt.debug_unpack = 0U;
  unpack_tree_opt.skip_sparse_checkout = 0U;
  unpack_tree_opt.quiet = 0U;
  unpack_tree_opt.exiting_early = 0U;
  unpack_tree_opt.show_all_errors = 0U;
  unpack_tree_opt.dry_run = 0U;
  unpack_tree_opt.reset = 0U;
  unpack_tree_opt.prefix = (char const   *)0;
  unpack_tree_opt.cache_bottom = 0;
  unpack_tree_opt.pathspec = (struct pathspec *)0;
  unpack_tree_opt.fn = (int (*)(struct cache_entry  const  **src , struct unpack_trees_options *options ))0;
  unpack_tree_opt.msgs[0] = (char const   *)0;
  unpack_tree_opt.msgs[1] = (char const   *)0;
  unpack_tree_opt.msgs[2] = (char const   *)0;
  unpack_tree_opt.msgs[3] = (char const   *)0;
  unpack_tree_opt.msgs[4] = (char const   *)0;
  unpack_tree_opt.msgs[5] = (char const   *)0;
  unpack_tree_opt.msgs[6] = (char const   *)0;
  unpack_tree_opt.msgs[7] = (char const   *)0;
  unpack_tree_opt.msgs[8] = (char const   *)0;
  unpack_tree_opt.msgs[9] = (char const   *)0;
  unpack_tree_opt.msgs[10] = (char const   *)0;
  unpack_tree_opt.msgs[11] = (char const   *)0;
  unpack_tree_opt.msgs_to_free.v = (char const   **)0;
  unpack_tree_opt.msgs_to_free.nr = 0UL;
  unpack_tree_opt.msgs_to_free.alloc = 0UL;
  unpack_tree_opt.unpack_rejects[0].items = (struct string_list_item *)0;
  unpack_tree_opt.unpack_rejects[0].nr = 0U;
  unpack_tree_opt.unpack_rejects[0].alloc = 0U;
  unpack_tree_opt.unpack_rejects[0].strdup_strings = 0U;
  unpack_tree_opt.unpack_rejects[0].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opt.unpack_rejects[1].items = (struct string_list_item *)0;
  unpack_tree_opt.unpack_rejects[1].nr = 0U;
  unpack_tree_opt.unpack_rejects[1].alloc = 0U;
  unpack_tree_opt.unpack_rejects[1].strdup_strings = 0U;
  unpack_tree_opt.unpack_rejects[1].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opt.unpack_rejects[2].items = (struct string_list_item *)0;
  unpack_tree_opt.unpack_rejects[2].nr = 0U;
  unpack_tree_opt.unpack_rejects[2].alloc = 0U;
  unpack_tree_opt.unpack_rejects[2].strdup_strings = 0U;
  unpack_tree_opt.unpack_rejects[2].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opt.unpack_rejects[3].items = (struct string_list_item *)0;
  unpack_tree_opt.unpack_rejects[3].nr = 0U;
  unpack_tree_opt.unpack_rejects[3].alloc = 0U;
  unpack_tree_opt.unpack_rejects[3].strdup_strings = 0U;
  unpack_tree_opt.unpack_rejects[3].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opt.unpack_rejects[4].items = (struct string_list_item *)0;
  unpack_tree_opt.unpack_rejects[4].nr = 0U;
  unpack_tree_opt.unpack_rejects[4].alloc = 0U;
  unpack_tree_opt.unpack_rejects[4].strdup_strings = 0U;
  unpack_tree_opt.unpack_rejects[4].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opt.unpack_rejects[5].items = (struct string_list_item *)0;
  unpack_tree_opt.unpack_rejects[5].nr = 0U;
  unpack_tree_opt.unpack_rejects[5].alloc = 0U;
  unpack_tree_opt.unpack_rejects[5].strdup_strings = 0U;
  unpack_tree_opt.unpack_rejects[5].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opt.unpack_rejects[6].items = (struct string_list_item *)0;
  unpack_tree_opt.unpack_rejects[6].nr = 0U;
  unpack_tree_opt.unpack_rejects[6].alloc = 0U;
  unpack_tree_opt.unpack_rejects[6].strdup_strings = 0U;
  unpack_tree_opt.unpack_rejects[6].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opt.unpack_rejects[7].items = (struct string_list_item *)0;
  unpack_tree_opt.unpack_rejects[7].nr = 0U;
  unpack_tree_opt.unpack_rejects[7].alloc = 0U;
  unpack_tree_opt.unpack_rejects[7].strdup_strings = 0U;
  unpack_tree_opt.unpack_rejects[7].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opt.unpack_rejects[8].items = (struct string_list_item *)0;
  unpack_tree_opt.unpack_rejects[8].nr = 0U;
  unpack_tree_opt.unpack_rejects[8].alloc = 0U;
  unpack_tree_opt.unpack_rejects[8].strdup_strings = 0U;
  unpack_tree_opt.unpack_rejects[8].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opt.unpack_rejects[9].items = (struct string_list_item *)0;
  unpack_tree_opt.unpack_rejects[9].nr = 0U;
  unpack_tree_opt.unpack_rejects[9].alloc = 0U;
  unpack_tree_opt.unpack_rejects[9].strdup_strings = 0U;
  unpack_tree_opt.unpack_rejects[9].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opt.unpack_rejects[10].items = (struct string_list_item *)0;
  unpack_tree_opt.unpack_rejects[10].nr = 0U;
  unpack_tree_opt.unpack_rejects[10].alloc = 0U;
  unpack_tree_opt.unpack_rejects[10].strdup_strings = 0U;
  unpack_tree_opt.unpack_rejects[10].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opt.unpack_rejects[11].items = (struct string_list_item *)0;
  unpack_tree_opt.unpack_rejects[11].nr = 0U;
  unpack_tree_opt.unpack_rejects[11].alloc = 0U;
  unpack_tree_opt.unpack_rejects[11].strdup_strings = 0U;
  unpack_tree_opt.unpack_rejects[11].cmp = (int (*)(char const   * , char const   * ))0;
  unpack_tree_opt.head_idx = 0;
  unpack_tree_opt.merge_size = 0;
  unpack_tree_opt.df_conflict_entry = (struct cache_entry *)0;
  unpack_tree_opt.unpack_data = (void *)0;
  unpack_tree_opt.dst_index = (struct index_state *)0;
  unpack_tree_opt.src_index = (struct index_state *)0;
  unpack_tree_opt.result.cache = (struct cache_entry **)0;
  unpack_tree_opt.result.version = 0U;
  unpack_tree_opt.result.cache_nr = 0U;
  unpack_tree_opt.result.cache_alloc = 0U;
  unpack_tree_opt.result.cache_changed = 0U;
  unpack_tree_opt.result.resolve_undo = (struct string_list *)0;
  unpack_tree_opt.result.cache_tree = (struct cache_tree *)0;
  unpack_tree_opt.result.split_index = (struct split_index *)0;
  unpack_tree_opt.result.timestamp.sec = 0U;
  unpack_tree_opt.result.timestamp.nsec = 0U;
  unpack_tree_opt.result.name_hash_initialized = 0U;
  unpack_tree_opt.result.initialized = 0U;
  unpack_tree_opt.result.drop_cache_tree = 0U;
  unpack_tree_opt.result.updated_workdir = 0U;
  unpack_tree_opt.result.updated_skipworktree = 0U;
  unpack_tree_opt.result.fsmonitor_has_run_once = 0U;
  unpack_tree_opt.result.sparse_index = 0U;
  unpack_tree_opt.result.name_hash.table = (struct hashmap_entry **)0;
  unpack_tree_opt.result.name_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data ,
                                                    struct hashmap_entry  const  *entry ,
                                                    struct hashmap_entry  const  *entry_or_key ,
                                                    void const   *keydata ))0;
  unpack_tree_opt.result.name_hash.cmpfn_data = (void const   *)0;
  unpack_tree_opt.result.name_hash.private_size = 0U;
  unpack_tree_opt.result.name_hash.tablesize = 0U;
  unpack_tree_opt.result.name_hash.grow_at = 0U;
  unpack_tree_opt.result.name_hash.shrink_at = 0U;
  unpack_tree_opt.result.name_hash.do_count_items = 0U;
  unpack_tree_opt.result.dir_hash.table = (struct hashmap_entry **)0;
  unpack_tree_opt.result.dir_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data ,
                                                   struct hashmap_entry  const  *entry ,
                                                   struct hashmap_entry  const  *entry_or_key ,
                                                   void const   *keydata ))0;
  unpack_tree_opt.result.dir_hash.cmpfn_data = (void const   *)0;
  unpack_tree_opt.result.dir_hash.private_size = 0U;
  unpack_tree_opt.result.dir_hash.tablesize = 0U;
  unpack_tree_opt.result.dir_hash.grow_at = 0U;
  unpack_tree_opt.result.dir_hash.shrink_at = 0U;
  unpack_tree_opt.result.dir_hash.do_count_items = 0U;
  unpack_tree_opt.result.oid.hash[0] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[1] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[2] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[3] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[4] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[5] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[6] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[7] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[8] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[9] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[10] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[11] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[12] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[13] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[14] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[15] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[16] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[17] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[18] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[19] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[20] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[21] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[22] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[23] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[24] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[25] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[26] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[27] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[28] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[29] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[30] = (unsigned char)0;
  unpack_tree_opt.result.oid.hash[31] = (unsigned char)0;
  unpack_tree_opt.result.oid.algo = 0;
  unpack_tree_opt.result.untracked = (struct untracked_cache *)0;
  unpack_tree_opt.result.fsmonitor_last_update = (char *)0;
  unpack_tree_opt.result.fsmonitor_dirty = (struct ewah_bitmap *)0;
  unpack_tree_opt.result.ce_mem_pool = (struct mem_pool *)0;
  unpack_tree_opt.result.progress = (struct progress *)0;
  unpack_tree_opt.result.repo = (struct repository *)0;
  unpack_tree_opt.result.sparse_checkout_patterns = (struct pattern_list *)0;
  unpack_tree_opt.pl = (struct pattern_list *)0;
  unpack_tree_opt.dir = (struct dir_struct *)0;
  unpack_tree_opt.meta.refname = (char const   *)0;
  unpack_tree_opt.meta.treeish.hash[0] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[1] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[2] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[3] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[4] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[5] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[6] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[7] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[8] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[9] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[10] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[11] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[12] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[13] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[14] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[15] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[16] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[17] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[18] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[19] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[20] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[21] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[22] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[23] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[24] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[25] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[26] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[27] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[28] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[29] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[30] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.hash[31] = (unsigned char)0;
  unpack_tree_opt.meta.treeish.algo = 0;
  unpack_tree_opt.meta.blob.hash[0] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[1] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[2] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[3] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[4] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[5] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[6] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[7] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[8] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[9] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[10] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[11] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[12] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[13] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[14] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[15] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[16] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[17] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[18] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[19] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[20] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[21] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[22] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[23] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[24] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[25] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[26] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[27] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[28] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[29] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[30] = (unsigned char)0;
  unpack_tree_opt.meta.blob.hash[31] = (unsigned char)0;
  unpack_tree_opt.meta.blob.algo = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(oid) / sizeof(oid[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tree[i] = parse_tree_indirect(oid[i]);
    tmp___0 = parse_tree(tree[i]);
    if (tmp___0 < 0) {
      tmp = _((char const   *)"failed to parse tree");
      die((char const   *)tmp);
    }
    init_tree_desc(& tree_desc[i], (void const   *)(tree[i])->buffer, (tree[i])->size);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  unpack_tree_opt.head_idx = -1;
  unpack_tree_opt.src_index = & the_index;
  unpack_tree_opt.dst_index = & the_index;
  unpack_tree_opt.merge = 1U;
  unpack_tree_opt.fn = & stash_worktree_untracked_merge;
  tmp___2 = unpack_trees((unsigned int )(sizeof(tree_desc) / sizeof(tree_desc[0]) + (sizeof(char [1]) - 1UL)),
                         tree_desc, & unpack_tree_opt);
  if (tmp___2) {
    tmp___1 = _((char const   *)"failed to unpack trees");
    die((char const   *)tmp___1);
  }
  do_diff_cache((struct object_id  const  *)(& info___0->b_commit), diff_opt);
  return;
}
}
static int show_stash(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  int ret___67 ;
  struct stash_info info___0 ;
  struct rev_info rev ;
  struct strvec stash_args ;
  struct strvec revision_args ;
  enum __anonenum_show_untracked_45846912 show_untracked ;
  int tmp ;
  struct option options[3] ;
  int tmp___0 ;

  {
  ret___67 = 0;
  stash_args.v = empty_strvec;
  stash_args.nr = 0UL;
  stash_args.alloc = 0UL;
  revision_args.v = empty_strvec;
  revision_args.nr = 0UL;
  revision_args.alloc = 0UL;
  if (show_include_untracked) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  show_untracked = (enum __anonenum_show_untracked_45846912 )tmp;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 'u';
  options[0].long_name = (char const   *)"include-untracked";
  options[0].value = (void *)(& show_untracked);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"include untracked files in the stash";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"only-untracked";
  options[1].value = (void *)(& show_untracked);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"only show untracked files in the stash";
  options[1].flags = (enum parse_opt_option_flags )6;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )2;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )0;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)0;
  options[2].value = (void *)0;
  options[2].argh = (char const   *)0;
  options[2].help = (char const   *)0;
  options[2].flags = 0U;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  init_diff_ui_defaults();
  git_config(& git_diff_ui_config, (void *)0);
  repo_init_revisions(the_repository, & rev, prefix___1);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_stash_show_usage, (enum parse_opt_flags )13);
  strvec_push(& revision_args, *(argv___0 + 0));
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    if ((int const   )*(*(argv___0 + i) + 0) != 45) {
      strvec_push(& stash_args, *(argv___0 + i));
    } else {
      strvec_push(& revision_args, *(argv___0 + i));
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  ret___67 = get_stash_info(& info___0, (int )stash_args.nr, stash_args.v);
  strvec_clear(& stash_args);
  if (ret___67) {
    return (-1);
  }
  if (revision_args.nr == 1UL) {
    if (show_stat___0) {
      rev.diffopt.output_format = 0x0002;
    }
    if (show_patch___0) {
      rev.diffopt.output_format |= 0x0010;
    }
    if (! show_stat___0) {
      if (! show_patch___0) {
        free_stash_info(& info___0);
        return (0);
      }
    }
  }
  argc = setup_revisions((int )revision_args.nr, revision_args.v, & rev, (struct setup_revision_opt *)((void *)0));
  if (argc > 1) {
    free_stash_info(& info___0);
    usage_with_options(git_stash_show_usage, (struct option  const  *)(options));
  }
  if (! rev.diffopt.output_format) {
    rev.diffopt.output_format = 0x0010;
    diff_setup_done(& rev.diffopt);
  }
  rev.diffopt.flags.recursive = 1U;
  setup_diff_pager(& rev.diffopt);
  {
  if ((unsigned int )show_untracked == 0U) {
    goto case_0;
  }
  if ((unsigned int )show_untracked == 2U) {
    goto case_2;
  }
  if ((unsigned int )show_untracked == 1U) {
    goto case_1;
  }
  goto switch_break;
  case_0: /* CIL Label */
  diff_tree_oid((struct object_id  const  *)(& info___0.b_commit), (struct object_id  const  *)(& info___0.w_commit),
                (char const   *)"", & rev.diffopt);
  goto switch_break;
  case_2: /* CIL Label */
  if (info___0.has_u) {
    diff_root_tree_oid((struct object_id  const  *)(& info___0.u_tree), (char const   *)"",
                       & rev.diffopt);
  }
  goto switch_break;
  case_1: /* CIL Label */
  if (info___0.has_u) {
    diff_include_untracked((struct stash_info  const  *)(& info___0), & rev.diffopt);
  } else {
    diff_tree_oid((struct object_id  const  *)(& info___0.b_commit), (struct object_id  const  *)(& info___0.w_commit),
                  (char const   *)"", & rev.diffopt);
  }
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  log_tree_diff_flush(& rev);
  free_stash_info(& info___0);
  tmp___0 = diff_result_code(& rev.diffopt, 0);
  return (tmp___0);
}
}
static int do_store_stash(struct object_id  const  *w_commit , char const   *stash_msg ,
                          int quiet___7 )
{
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  if (! stash_msg) {
    stash_msg = (char const   *)"Created via \"git stash store\".";
  }
  if (quiet___7) {
    tmp___1 = 2;
  } else {
    tmp___1 = 0;
  }
  tmp___2 = update_ref(stash_msg, ref_stash, w_commit, (struct object_id  const  *)((void *)0),
                       (unsigned int )(1 << 1), (enum action_on_err )tmp___1);
  if (tmp___2) {
    if (! quiet___7) {
      tmp = oid_to_hex(w_commit);
      tmp___0 = _((char const   *)"Cannot update %s with %s");
      fprintf_ln(stderr, (char const   *)tmp___0, ref_stash, tmp);
    }
    return (-1);
  }
  return (0);
}
}
static int store_stash(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int quiet___7 ;
  char const   *stash_msg ;
  struct object_id obj ;
  struct object_context dummy___0 ;
  struct option options[3] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  enum get_oid_result tmp___2 ;
  int tmp___3 ;

  {
  quiet___7 = 0;
  stash_msg = (char const   *)((void *)0);
  options[0].type = (enum parse_opt_type )7;
  options[0].short_name = 'q';
  options[0].long_name = (char const   *)"quiet";
  options[0].value = (void *)(& quiet___7);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"be quiet";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )9;
  options[1].short_name = 'm';
  options[1].long_name = (char const   *)"message";
  options[1].value = (void *)(& stash_msg);
  options[1].argh = (char const   *)"message";
  options[1].help = (char const   *)"stash message";
  options[1].flags = (enum parse_opt_option_flags )0;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )0;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)0;
  options[2].value = (void *)0;
  options[2].argh = (char const   *)0;
  options[2].help = (char const   *)0;
  options[2].flags = 0U;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_stash_store_usage, (enum parse_opt_flags )8);
  if (argc != 1) {
    if (! quiet___7) {
      tmp = _((char const   *)"\"git stash store\" requires one <commit> argument");
      fprintf_ln(stderr, (char const   *)tmp);
    }
    return (-1);
  }
  if (quiet___7) {
    tmp___1 = 01;
  } else {
    tmp___1 = 0;
  }
  tmp___2 = get_oid_with_context(the_repository, *(argv___0 + 0), (unsigned int )tmp___1,
                                 & obj, & dummy___0);
  if (tmp___2) {
    if (! quiet___7) {
      tmp___0 = _((char const   *)"Cannot update %s with %s");
      fprintf_ln(stderr, (char const   *)tmp___0, ref_stash, *(argv___0 + 0));
    }
    return (-1);
  }
  tmp___3 = do_store_stash((struct object_id  const  *)(& obj), stash_msg, quiet___7);
  return (tmp___3);
}
}
static void add_pathspecs(struct strvec *args___0 , struct pathspec  const  *ps )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (int )ps->nr)) {
      goto while_break;
    }
    strvec_push(args___0, (char const   *)(ps->items + i)->original);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int get_untracked_files___0(struct pathspec  const  *ps , int include_untracked ,
                                   struct strbuf *untracked_files )
{
  int i ;
  int found ;
  struct dir_struct dir ;
  struct dir_entry *ent ;

  {
  found = 0;
  dir.nr = 0;
  dir.alloc = 0;
  dir.ignored_nr = 0;
  dir.ignored_alloc = 0;
  dir.flags = 0U;
  dir.entries = (struct dir_entry **)0;
  dir.ignored = (struct dir_entry **)0;
  dir.exclude_per_dir = (char const   *)0;
  dir.exclude_list_group[0].nr = 0;
  dir.exclude_list_group[0].alloc = 0;
  dir.exclude_list_group[0].pl = (struct pattern_list *)0;
  dir.exclude_list_group[1].nr = 0;
  dir.exclude_list_group[1].alloc = 0;
  dir.exclude_list_group[1].pl = (struct pattern_list *)0;
  dir.exclude_list_group[2].nr = 0;
  dir.exclude_list_group[2].alloc = 0;
  dir.exclude_list_group[2].pl = (struct pattern_list *)0;
  dir.exclude_stack = (struct exclude_stack *)0;
  dir.pattern = (struct path_pattern *)0;
  dir.basebuf.alloc = 0UL;
  dir.basebuf.len = 0UL;
  dir.basebuf.buf = (char *)0;
  dir.untracked = (struct untracked_cache *)0;
  dir.ss_info_exclude.stat.sd_ctime.sec = 0U;
  dir.ss_info_exclude.stat.sd_ctime.nsec = 0U;
  dir.ss_info_exclude.stat.sd_mtime.sec = 0U;
  dir.ss_info_exclude.stat.sd_mtime.nsec = 0U;
  dir.ss_info_exclude.stat.sd_dev = 0U;
  dir.ss_info_exclude.stat.sd_ino = 0U;
  dir.ss_info_exclude.stat.sd_uid = 0U;
  dir.ss_info_exclude.stat.sd_gid = 0U;
  dir.ss_info_exclude.stat.sd_size = 0U;
  dir.ss_info_exclude.oid.hash[0] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[1] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[2] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[3] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[4] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[5] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[6] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[7] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[8] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[9] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[10] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[11] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[12] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[13] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[14] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[15] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[16] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[17] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[18] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[19] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[20] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[21] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[22] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[23] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[24] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[25] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[26] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[27] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[28] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[29] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[30] = (unsigned char)0;
  dir.ss_info_exclude.oid.hash[31] = (unsigned char)0;
  dir.ss_info_exclude.oid.algo = 0;
  dir.ss_info_exclude.valid = 0;
  dir.ss_excludes_file.stat.sd_ctime.sec = 0U;
  dir.ss_excludes_file.stat.sd_ctime.nsec = 0U;
  dir.ss_excludes_file.stat.sd_mtime.sec = 0U;
  dir.ss_excludes_file.stat.sd_mtime.nsec = 0U;
  dir.ss_excludes_file.stat.sd_dev = 0U;
  dir.ss_excludes_file.stat.sd_ino = 0U;
  dir.ss_excludes_file.stat.sd_uid = 0U;
  dir.ss_excludes_file.stat.sd_gid = 0U;
  dir.ss_excludes_file.stat.sd_size = 0U;
  dir.ss_excludes_file.oid.hash[0] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[1] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[2] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[3] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[4] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[5] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[6] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[7] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[8] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[9] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[10] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[11] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[12] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[13] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[14] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[15] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[16] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[17] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[18] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[19] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[20] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[21] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[22] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[23] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[24] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[25] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[26] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[27] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[28] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[29] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[30] = (unsigned char)0;
  dir.ss_excludes_file.oid.hash[31] = (unsigned char)0;
  dir.ss_excludes_file.oid.algo = 0;
  dir.ss_excludes_file.valid = 0;
  dir.unmanaged_exclude_files = 0U;
  dir.visited_paths = 0U;
  dir.visited_directories = 0U;
  if (include_untracked != 2) {
    setup_standard_excludes(& dir);
  }
  fill_directory(& dir, the_repository->index, ps);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < dir.nr)) {
      goto while_break;
    }
    ent = *(dir.entries + i);
    found ++;
    strbuf_addstr(untracked_files, (char const   *)(ent->name));
    strbuf_addch(untracked_files, '\000');
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  dir_clear(& dir);
  return (found);
}
}
static int check_changes_tracked_files(struct pathspec  const  *ps )
{
  int result___0 ;
  struct rev_info rev ;
  struct object_id dummy___0 ;
  int ret___67 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  ret___67 = 0;
  tmp = repo_get_oid(the_repository, (char const   *)"HEAD", & dummy___0);
  if (tmp) {
    return (-1);
  }
  tmp___0 = repo_read_index(the_repository);
  if (tmp___0 < 0) {
    return (-1);
  }
  repo_init_revisions(the_repository, & rev, (char const   *)((void *)0));
  copy_pathspec(& rev.prune_data, ps);
  rev.diffopt.flags.quick = 1U;
  rev.diffopt.flags.ignore_submodules = 1U;
  rev.abbrev = 0U;
  add_head_to_pending(& rev);
  diff_setup_done(& rev.diffopt);
  result___0 = run_diff_index(& rev, 1U);
  tmp___1 = diff_result_code(& rev.diffopt, result___0);
  if (tmp___1) {
    ret___67 = 1;
    goto done;
  }
  object_array_clear(& rev.pending);
  result___0 = run_diff_files(& rev, 0U);
  tmp___2 = diff_result_code(& rev.diffopt, result___0);
  if (tmp___2) {
    ret___67 = 1;
    goto done;
  }
  done:
  clear_pathspec(& rev.prune_data);
  return (ret___67);
}
}
static int check_changes(struct pathspec  const  *ps , int include_untracked , struct strbuf *untracked_files )
{
  int ret___67 ;
  int tmp ;
  int tmp___0 ;

  {
  ret___67 = 0;
  tmp = check_changes_tracked_files(ps);
  if (tmp) {
    ret___67 = 1;
  }
  if (include_untracked) {
    tmp___0 = get_untracked_files___0(ps, include_untracked, untracked_files);
    if (tmp___0) {
      ret___67 = 1;
    }
  }
  return (ret___67);
}
}
static int save_untracked_files(struct stash_info *info___0 , struct strbuf *msg___5 ,
                                struct strbuf files )
{
  int ret___67 ;
  struct strbuf untracked_msg ;
  struct child_process cp_upd_index ;
  struct index_state istate ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  ret___67 = 0;
  untracked_msg.alloc = 0UL;
  untracked_msg.len = 0UL;
  untracked_msg.buf = strbuf_slopbuf;
  cp_upd_index.args.v = empty_strvec;
  cp_upd_index.args.nr = 0UL;
  cp_upd_index.args.alloc = 0UL;
  cp_upd_index.env_array.v = empty_strvec;
  cp_upd_index.env_array.nr = 0UL;
  cp_upd_index.env_array.alloc = 0UL;
  cp_upd_index.pid = 0;
  cp_upd_index.trace2_child_id = 0;
  cp_upd_index.trace2_child_us_start = 0UL;
  cp_upd_index.trace2_child_class = (char const   *)0;
  cp_upd_index.trace2_hook_name = (char const   *)0;
  cp_upd_index.in = 0;
  cp_upd_index.out = 0;
  cp_upd_index.err = 0;
  cp_upd_index.dir = (char const   *)0;
  cp_upd_index.no_stdin = 0U;
  cp_upd_index.no_stdout = 0U;
  cp_upd_index.no_stderr = 0U;
  cp_upd_index.git_cmd = 0U;
  cp_upd_index.silent_exec_failure = 0U;
  cp_upd_index.use_shell = 0U;
  cp_upd_index.close_object_store = 0U;
  cp_upd_index.stdout_to_stderr = 0U;
  cp_upd_index.clean_on_exit = 0U;
  cp_upd_index.wait_after_clean = 0U;
  cp_upd_index.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp_upd_index.clean_on_exit_handler_cbdata = (void *)0;
  istate.cache = (struct cache_entry **)((void *)0);
  istate.version = 0U;
  istate.cache_nr = 0U;
  istate.cache_alloc = 0U;
  istate.cache_changed = 0U;
  istate.resolve_undo = (struct string_list *)0;
  istate.cache_tree = (struct cache_tree *)0;
  istate.split_index = (struct split_index *)0;
  istate.timestamp.sec = 0U;
  istate.timestamp.nsec = 0U;
  istate.name_hash_initialized = 0U;
  istate.initialized = 0U;
  istate.drop_cache_tree = 0U;
  istate.updated_workdir = 0U;
  istate.updated_skipworktree = 0U;
  istate.fsmonitor_has_run_once = 0U;
  istate.sparse_index = 0U;
  istate.name_hash.table = (struct hashmap_entry **)0;
  istate.name_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                    struct hashmap_entry  const  *entry_or_key , void const   *keydata ))0;
  istate.name_hash.cmpfn_data = (void const   *)0;
  istate.name_hash.private_size = 0U;
  istate.name_hash.tablesize = 0U;
  istate.name_hash.grow_at = 0U;
  istate.name_hash.shrink_at = 0U;
  istate.name_hash.do_count_items = 0U;
  istate.dir_hash.table = (struct hashmap_entry **)0;
  istate.dir_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                   struct hashmap_entry  const  *entry_or_key , void const   *keydata ))0;
  istate.dir_hash.cmpfn_data = (void const   *)0;
  istate.dir_hash.private_size = 0U;
  istate.dir_hash.tablesize = 0U;
  istate.dir_hash.grow_at = 0U;
  istate.dir_hash.shrink_at = 0U;
  istate.dir_hash.do_count_items = 0U;
  istate.oid.hash[0] = (unsigned char)0;
  istate.oid.hash[1] = (unsigned char)0;
  istate.oid.hash[2] = (unsigned char)0;
  istate.oid.hash[3] = (unsigned char)0;
  istate.oid.hash[4] = (unsigned char)0;
  istate.oid.hash[5] = (unsigned char)0;
  istate.oid.hash[6] = (unsigned char)0;
  istate.oid.hash[7] = (unsigned char)0;
  istate.oid.hash[8] = (unsigned char)0;
  istate.oid.hash[9] = (unsigned char)0;
  istate.oid.hash[10] = (unsigned char)0;
  istate.oid.hash[11] = (unsigned char)0;
  istate.oid.hash[12] = (unsigned char)0;
  istate.oid.hash[13] = (unsigned char)0;
  istate.oid.hash[14] = (unsigned char)0;
  istate.oid.hash[15] = (unsigned char)0;
  istate.oid.hash[16] = (unsigned char)0;
  istate.oid.hash[17] = (unsigned char)0;
  istate.oid.hash[18] = (unsigned char)0;
  istate.oid.hash[19] = (unsigned char)0;
  istate.oid.hash[20] = (unsigned char)0;
  istate.oid.hash[21] = (unsigned char)0;
  istate.oid.hash[22] = (unsigned char)0;
  istate.oid.hash[23] = (unsigned char)0;
  istate.oid.hash[24] = (unsigned char)0;
  istate.oid.hash[25] = (unsigned char)0;
  istate.oid.hash[26] = (unsigned char)0;
  istate.oid.hash[27] = (unsigned char)0;
  istate.oid.hash[28] = (unsigned char)0;
  istate.oid.hash[29] = (unsigned char)0;
  istate.oid.hash[30] = (unsigned char)0;
  istate.oid.hash[31] = (unsigned char)0;
  istate.oid.algo = 0;
  istate.untracked = (struct untracked_cache *)0;
  istate.fsmonitor_last_update = (char *)0;
  istate.fsmonitor_dirty = (struct ewah_bitmap *)0;
  istate.ce_mem_pool = (struct mem_pool *)0;
  istate.progress = (struct progress *)0;
  istate.repo = (struct repository *)0;
  istate.sparse_checkout_patterns = (struct pattern_list *)0;
  cp_upd_index.git_cmd = 1U;
  strvec_pushl(& cp_upd_index.args, "update-index", "-z", "--add", "--remove", "--stdin",
               (void *)0);
  strvec_pushf(& cp_upd_index.env_array, (char const   *)"GIT_INDEX_FILE=%s", stash_index_path.buf);
  strbuf_addf(& untracked_msg, (char const   *)"untracked files on %s\n", msg___5->buf);
  tmp = pipe_command(& cp_upd_index, (char const   *)files.buf, files.len, (struct strbuf *)((void *)0),
                     (size_t )0, (struct strbuf *)((void *)0), (size_t )0);
  if (tmp) {
    ret___67 = -1;
    goto done;
  }
  tmp___0 = write_index_as_tree(& info___0->u_tree, & istate, (char const   *)stash_index_path.buf,
                                0, (char const   *)((void *)0));
  if (tmp___0) {
    ret___67 = -1;
    goto done;
  }
  tmp___1 = commit_tree((char const   *)untracked_msg.buf, untracked_msg.len, (struct object_id  const  *)(& info___0->u_tree),
                        (struct commit_list *)((void *)0), & info___0->u_commit, (char const   *)((void *)0),
                        (char const   *)((void *)0));
  if (tmp___1) {
    ret___67 = -1;
    goto done;
  }
  done:
  discard_index(& istate);
  strbuf_release(& untracked_msg);
  remove_path((char const   *)stash_index_path.buf);
  return (ret___67);
}
}
static int stash_staged(struct stash_info *info___0 , struct strbuf *out_patch , int quiet___7 )
{
  int ret___67 ;
  struct child_process cp_diff_tree ;
  struct index_state istate ;
  int tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  ret___67 = 0;
  cp_diff_tree.args.v = empty_strvec;
  cp_diff_tree.args.nr = 0UL;
  cp_diff_tree.args.alloc = 0UL;
  cp_diff_tree.env_array.v = empty_strvec;
  cp_diff_tree.env_array.nr = 0UL;
  cp_diff_tree.env_array.alloc = 0UL;
  cp_diff_tree.pid = 0;
  cp_diff_tree.trace2_child_id = 0;
  cp_diff_tree.trace2_child_us_start = 0UL;
  cp_diff_tree.trace2_child_class = (char const   *)0;
  cp_diff_tree.trace2_hook_name = (char const   *)0;
  cp_diff_tree.in = 0;
  cp_diff_tree.out = 0;
  cp_diff_tree.err = 0;
  cp_diff_tree.dir = (char const   *)0;
  cp_diff_tree.no_stdin = 0U;
  cp_diff_tree.no_stdout = 0U;
  cp_diff_tree.no_stderr = 0U;
  cp_diff_tree.git_cmd = 0U;
  cp_diff_tree.silent_exec_failure = 0U;
  cp_diff_tree.use_shell = 0U;
  cp_diff_tree.close_object_store = 0U;
  cp_diff_tree.stdout_to_stderr = 0U;
  cp_diff_tree.clean_on_exit = 0U;
  cp_diff_tree.wait_after_clean = 0U;
  cp_diff_tree.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp_diff_tree.clean_on_exit_handler_cbdata = (void *)0;
  istate.cache = (struct cache_entry **)((void *)0);
  istate.version = 0U;
  istate.cache_nr = 0U;
  istate.cache_alloc = 0U;
  istate.cache_changed = 0U;
  istate.resolve_undo = (struct string_list *)0;
  istate.cache_tree = (struct cache_tree *)0;
  istate.split_index = (struct split_index *)0;
  istate.timestamp.sec = 0U;
  istate.timestamp.nsec = 0U;
  istate.name_hash_initialized = 0U;
  istate.initialized = 0U;
  istate.drop_cache_tree = 0U;
  istate.updated_workdir = 0U;
  istate.updated_skipworktree = 0U;
  istate.fsmonitor_has_run_once = 0U;
  istate.sparse_index = 0U;
  istate.name_hash.table = (struct hashmap_entry **)0;
  istate.name_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                    struct hashmap_entry  const  *entry_or_key , void const   *keydata ))0;
  istate.name_hash.cmpfn_data = (void const   *)0;
  istate.name_hash.private_size = 0U;
  istate.name_hash.tablesize = 0U;
  istate.name_hash.grow_at = 0U;
  istate.name_hash.shrink_at = 0U;
  istate.name_hash.do_count_items = 0U;
  istate.dir_hash.table = (struct hashmap_entry **)0;
  istate.dir_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                   struct hashmap_entry  const  *entry_or_key , void const   *keydata ))0;
  istate.dir_hash.cmpfn_data = (void const   *)0;
  istate.dir_hash.private_size = 0U;
  istate.dir_hash.tablesize = 0U;
  istate.dir_hash.grow_at = 0U;
  istate.dir_hash.shrink_at = 0U;
  istate.dir_hash.do_count_items = 0U;
  istate.oid.hash[0] = (unsigned char)0;
  istate.oid.hash[1] = (unsigned char)0;
  istate.oid.hash[2] = (unsigned char)0;
  istate.oid.hash[3] = (unsigned char)0;
  istate.oid.hash[4] = (unsigned char)0;
  istate.oid.hash[5] = (unsigned char)0;
  istate.oid.hash[6] = (unsigned char)0;
  istate.oid.hash[7] = (unsigned char)0;
  istate.oid.hash[8] = (unsigned char)0;
  istate.oid.hash[9] = (unsigned char)0;
  istate.oid.hash[10] = (unsigned char)0;
  istate.oid.hash[11] = (unsigned char)0;
  istate.oid.hash[12] = (unsigned char)0;
  istate.oid.hash[13] = (unsigned char)0;
  istate.oid.hash[14] = (unsigned char)0;
  istate.oid.hash[15] = (unsigned char)0;
  istate.oid.hash[16] = (unsigned char)0;
  istate.oid.hash[17] = (unsigned char)0;
  istate.oid.hash[18] = (unsigned char)0;
  istate.oid.hash[19] = (unsigned char)0;
  istate.oid.hash[20] = (unsigned char)0;
  istate.oid.hash[21] = (unsigned char)0;
  istate.oid.hash[22] = (unsigned char)0;
  istate.oid.hash[23] = (unsigned char)0;
  istate.oid.hash[24] = (unsigned char)0;
  istate.oid.hash[25] = (unsigned char)0;
  istate.oid.hash[26] = (unsigned char)0;
  istate.oid.hash[27] = (unsigned char)0;
  istate.oid.hash[28] = (unsigned char)0;
  istate.oid.hash[29] = (unsigned char)0;
  istate.oid.hash[30] = (unsigned char)0;
  istate.oid.hash[31] = (unsigned char)0;
  istate.oid.algo = 0;
  istate.untracked = (struct untracked_cache *)0;
  istate.fsmonitor_last_update = (char *)0;
  istate.fsmonitor_dirty = (struct ewah_bitmap *)0;
  istate.ce_mem_pool = (struct mem_pool *)0;
  istate.progress = (struct progress *)0;
  istate.repo = (struct repository *)0;
  istate.sparse_checkout_patterns = (struct pattern_list *)0;
  tmp = write_index_as_tree(& info___0->w_tree, & istate, (char const   *)the_repository->index_file,
                            0, (char const   *)((void *)0));
  if (tmp) {
    ret___67 = -1;
    goto done;
  }
  cp_diff_tree.git_cmd = 1U;
  tmp___0 = oid_to_hex((struct object_id  const  *)(& info___0->w_tree));
  strvec_pushl(& cp_diff_tree.args, "diff-tree", "-p", "-U1", "HEAD", tmp___0, "--",
               (void *)0);
  tmp___1 = pipe_command(& cp_diff_tree, (char const   *)((void *)0), (size_t )0,
                         out_patch, (size_t )0, (struct strbuf *)((void *)0), (size_t )0);
  if (tmp___1) {
    ret___67 = -1;
    goto done;
  }
  if (! out_patch->len) {
    if (! quiet___7) {
      tmp___2 = _((char const   *)"No staged changes");
      fprintf_ln(stderr, (char const   *)tmp___2);
    }
    ret___67 = 1;
  }
  done:
  discard_index(& istate);
  return (ret___67);
}
}
static int stash_patch(struct stash_info *info___0 , struct pathspec  const  *ps ,
                       struct strbuf *out_patch , int quiet___7 )
{
  int ret___67 ;
  struct child_process cp_read_tree ;
  struct child_process cp_diff_tree ;
  struct index_state istate ;
  char *old_index_env ;
  char *old_repo_index_file ;
  int tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  ret___67 = 0;
  cp_read_tree.args.v = empty_strvec;
  cp_read_tree.args.nr = 0UL;
  cp_read_tree.args.alloc = 0UL;
  cp_read_tree.env_array.v = empty_strvec;
  cp_read_tree.env_array.nr = 0UL;
  cp_read_tree.env_array.alloc = 0UL;
  cp_read_tree.pid = 0;
  cp_read_tree.trace2_child_id = 0;
  cp_read_tree.trace2_child_us_start = 0UL;
  cp_read_tree.trace2_child_class = (char const   *)0;
  cp_read_tree.trace2_hook_name = (char const   *)0;
  cp_read_tree.in = 0;
  cp_read_tree.out = 0;
  cp_read_tree.err = 0;
  cp_read_tree.dir = (char const   *)0;
  cp_read_tree.no_stdin = 0U;
  cp_read_tree.no_stdout = 0U;
  cp_read_tree.no_stderr = 0U;
  cp_read_tree.git_cmd = 0U;
  cp_read_tree.silent_exec_failure = 0U;
  cp_read_tree.use_shell = 0U;
  cp_read_tree.close_object_store = 0U;
  cp_read_tree.stdout_to_stderr = 0U;
  cp_read_tree.clean_on_exit = 0U;
  cp_read_tree.wait_after_clean = 0U;
  cp_read_tree.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp_read_tree.clean_on_exit_handler_cbdata = (void *)0;
  cp_diff_tree.args.v = empty_strvec;
  cp_diff_tree.args.nr = 0UL;
  cp_diff_tree.args.alloc = 0UL;
  cp_diff_tree.env_array.v = empty_strvec;
  cp_diff_tree.env_array.nr = 0UL;
  cp_diff_tree.env_array.alloc = 0UL;
  cp_diff_tree.pid = 0;
  cp_diff_tree.trace2_child_id = 0;
  cp_diff_tree.trace2_child_us_start = 0UL;
  cp_diff_tree.trace2_child_class = (char const   *)0;
  cp_diff_tree.trace2_hook_name = (char const   *)0;
  cp_diff_tree.in = 0;
  cp_diff_tree.out = 0;
  cp_diff_tree.err = 0;
  cp_diff_tree.dir = (char const   *)0;
  cp_diff_tree.no_stdin = 0U;
  cp_diff_tree.no_stdout = 0U;
  cp_diff_tree.no_stderr = 0U;
  cp_diff_tree.git_cmd = 0U;
  cp_diff_tree.silent_exec_failure = 0U;
  cp_diff_tree.use_shell = 0U;
  cp_diff_tree.close_object_store = 0U;
  cp_diff_tree.stdout_to_stderr = 0U;
  cp_diff_tree.clean_on_exit = 0U;
  cp_diff_tree.wait_after_clean = 0U;
  cp_diff_tree.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp_diff_tree.clean_on_exit_handler_cbdata = (void *)0;
  istate.cache = (struct cache_entry **)((void *)0);
  istate.version = 0U;
  istate.cache_nr = 0U;
  istate.cache_alloc = 0U;
  istate.cache_changed = 0U;
  istate.resolve_undo = (struct string_list *)0;
  istate.cache_tree = (struct cache_tree *)0;
  istate.split_index = (struct split_index *)0;
  istate.timestamp.sec = 0U;
  istate.timestamp.nsec = 0U;
  istate.name_hash_initialized = 0U;
  istate.initialized = 0U;
  istate.drop_cache_tree = 0U;
  istate.updated_workdir = 0U;
  istate.updated_skipworktree = 0U;
  istate.fsmonitor_has_run_once = 0U;
  istate.sparse_index = 0U;
  istate.name_hash.table = (struct hashmap_entry **)0;
  istate.name_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                    struct hashmap_entry  const  *entry_or_key , void const   *keydata ))0;
  istate.name_hash.cmpfn_data = (void const   *)0;
  istate.name_hash.private_size = 0U;
  istate.name_hash.tablesize = 0U;
  istate.name_hash.grow_at = 0U;
  istate.name_hash.shrink_at = 0U;
  istate.name_hash.do_count_items = 0U;
  istate.dir_hash.table = (struct hashmap_entry **)0;
  istate.dir_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                   struct hashmap_entry  const  *entry_or_key , void const   *keydata ))0;
  istate.dir_hash.cmpfn_data = (void const   *)0;
  istate.dir_hash.private_size = 0U;
  istate.dir_hash.tablesize = 0U;
  istate.dir_hash.grow_at = 0U;
  istate.dir_hash.shrink_at = 0U;
  istate.dir_hash.do_count_items = 0U;
  istate.oid.hash[0] = (unsigned char)0;
  istate.oid.hash[1] = (unsigned char)0;
  istate.oid.hash[2] = (unsigned char)0;
  istate.oid.hash[3] = (unsigned char)0;
  istate.oid.hash[4] = (unsigned char)0;
  istate.oid.hash[5] = (unsigned char)0;
  istate.oid.hash[6] = (unsigned char)0;
  istate.oid.hash[7] = (unsigned char)0;
  istate.oid.hash[8] = (unsigned char)0;
  istate.oid.hash[9] = (unsigned char)0;
  istate.oid.hash[10] = (unsigned char)0;
  istate.oid.hash[11] = (unsigned char)0;
  istate.oid.hash[12] = (unsigned char)0;
  istate.oid.hash[13] = (unsigned char)0;
  istate.oid.hash[14] = (unsigned char)0;
  istate.oid.hash[15] = (unsigned char)0;
  istate.oid.hash[16] = (unsigned char)0;
  istate.oid.hash[17] = (unsigned char)0;
  istate.oid.hash[18] = (unsigned char)0;
  istate.oid.hash[19] = (unsigned char)0;
  istate.oid.hash[20] = (unsigned char)0;
  istate.oid.hash[21] = (unsigned char)0;
  istate.oid.hash[22] = (unsigned char)0;
  istate.oid.hash[23] = (unsigned char)0;
  istate.oid.hash[24] = (unsigned char)0;
  istate.oid.hash[25] = (unsigned char)0;
  istate.oid.hash[26] = (unsigned char)0;
  istate.oid.hash[27] = (unsigned char)0;
  istate.oid.hash[28] = (unsigned char)0;
  istate.oid.hash[29] = (unsigned char)0;
  istate.oid.hash[30] = (unsigned char)0;
  istate.oid.hash[31] = (unsigned char)0;
  istate.oid.algo = 0;
  istate.untracked = (struct untracked_cache *)0;
  istate.fsmonitor_last_update = (char *)0;
  istate.fsmonitor_dirty = (struct ewah_bitmap *)0;
  istate.ce_mem_pool = (struct mem_pool *)0;
  istate.progress = (struct progress *)0;
  istate.repo = (struct repository *)0;
  istate.sparse_checkout_patterns = (struct pattern_list *)0;
  old_index_env = (char *)((void *)0);
  remove_path((char const   *)stash_index_path.buf);
  cp_read_tree.git_cmd = 1U;
  strvec_pushl(& cp_read_tree.args, "read-tree", "HEAD", (void *)0);
  strvec_pushf(& cp_read_tree.env_array, (char const   *)"GIT_INDEX_FILE=%s", stash_index_path.buf);
  tmp = run_command(& cp_read_tree);
  if (tmp) {
    ret___67 = -1;
    goto done;
  }
  old_repo_index_file = the_repository->index_file;
  the_repository->index_file = stash_index_path.buf;
  tmp___0 = getenv((char const   *)"GIT_INDEX_FILE");
  old_index_env = xstrdup_or_null((char const   *)tmp___0);
  setenv((char const   *)"GIT_INDEX_FILE", (char const   *)the_repository->index_file,
         1);
  ret___67 = run_add_interactive((char const   *)((void *)0), (char const   *)"--patch=stash",
                                 ps);
  the_repository->index_file = old_repo_index_file;
  if (old_index_env) {
    if (*old_index_env) {
      setenv((char const   *)"GIT_INDEX_FILE", (char const   *)old_index_env, 1);
    } else {
      unsetenv((char const   *)"GIT_INDEX_FILE");
    }
  } else {
    unsetenv((char const   *)"GIT_INDEX_FILE");
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    free((void *)old_index_env);
    old_index_env = (char *)((void *)0);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = write_index_as_tree(& info___0->w_tree, & istate, (char const   *)stash_index_path.buf,
                                0, (char const   *)((void *)0));
  if (tmp___1) {
    ret___67 = -1;
    goto done;
  }
  cp_diff_tree.git_cmd = 1U;
  tmp___2 = oid_to_hex((struct object_id  const  *)(& info___0->w_tree));
  strvec_pushl(& cp_diff_tree.args, "diff-tree", "-p", "-U1", "HEAD", tmp___2, "--",
               (void *)0);
  tmp___3 = pipe_command(& cp_diff_tree, (char const   *)((void *)0), (size_t )0,
                         out_patch, (size_t )0, (struct strbuf *)((void *)0), (size_t )0);
  if (tmp___3) {
    ret___67 = -1;
    goto done;
  }
  if (! out_patch->len) {
    if (! quiet___7) {
      tmp___4 = _((char const   *)"No changes selected");
      fprintf_ln(stderr, (char const   *)tmp___4);
    }
    ret___67 = 1;
  }
  done:
  discard_index(& istate);
  remove_path((char const   *)stash_index_path.buf);
  return (ret___67);
}
}
static int stash_working_tree(struct stash_info *info___0 , struct pathspec  const  *ps )
{
  int ret___67 ;
  struct rev_info rev ;
  struct child_process cp_upd_index ;
  struct strbuf diff_output ;
  struct index_state istate ;
  int tmp ;
  int tmp___0 ;
  struct object *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  ret___67 = 0;
  cp_upd_index.args.v = empty_strvec;
  cp_upd_index.args.nr = 0UL;
  cp_upd_index.args.alloc = 0UL;
  cp_upd_index.env_array.v = empty_strvec;
  cp_upd_index.env_array.nr = 0UL;
  cp_upd_index.env_array.alloc = 0UL;
  cp_upd_index.pid = 0;
  cp_upd_index.trace2_child_id = 0;
  cp_upd_index.trace2_child_us_start = 0UL;
  cp_upd_index.trace2_child_class = (char const   *)0;
  cp_upd_index.trace2_hook_name = (char const   *)0;
  cp_upd_index.in = 0;
  cp_upd_index.out = 0;
  cp_upd_index.err = 0;
  cp_upd_index.dir = (char const   *)0;
  cp_upd_index.no_stdin = 0U;
  cp_upd_index.no_stdout = 0U;
  cp_upd_index.no_stderr = 0U;
  cp_upd_index.git_cmd = 0U;
  cp_upd_index.silent_exec_failure = 0U;
  cp_upd_index.use_shell = 0U;
  cp_upd_index.close_object_store = 0U;
  cp_upd_index.stdout_to_stderr = 0U;
  cp_upd_index.clean_on_exit = 0U;
  cp_upd_index.wait_after_clean = 0U;
  cp_upd_index.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp_upd_index.clean_on_exit_handler_cbdata = (void *)0;
  diff_output.alloc = 0UL;
  diff_output.len = 0UL;
  diff_output.buf = strbuf_slopbuf;
  istate.cache = (struct cache_entry **)((void *)0);
  istate.version = 0U;
  istate.cache_nr = 0U;
  istate.cache_alloc = 0U;
  istate.cache_changed = 0U;
  istate.resolve_undo = (struct string_list *)0;
  istate.cache_tree = (struct cache_tree *)0;
  istate.split_index = (struct split_index *)0;
  istate.timestamp.sec = 0U;
  istate.timestamp.nsec = 0U;
  istate.name_hash_initialized = 0U;
  istate.initialized = 0U;
  istate.drop_cache_tree = 0U;
  istate.updated_workdir = 0U;
  istate.updated_skipworktree = 0U;
  istate.fsmonitor_has_run_once = 0U;
  istate.sparse_index = 0U;
  istate.name_hash.table = (struct hashmap_entry **)0;
  istate.name_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                    struct hashmap_entry  const  *entry_or_key , void const   *keydata ))0;
  istate.name_hash.cmpfn_data = (void const   *)0;
  istate.name_hash.private_size = 0U;
  istate.name_hash.tablesize = 0U;
  istate.name_hash.grow_at = 0U;
  istate.name_hash.shrink_at = 0U;
  istate.name_hash.do_count_items = 0U;
  istate.dir_hash.table = (struct hashmap_entry **)0;
  istate.dir_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                   struct hashmap_entry  const  *entry_or_key , void const   *keydata ))0;
  istate.dir_hash.cmpfn_data = (void const   *)0;
  istate.dir_hash.private_size = 0U;
  istate.dir_hash.tablesize = 0U;
  istate.dir_hash.grow_at = 0U;
  istate.dir_hash.shrink_at = 0U;
  istate.dir_hash.do_count_items = 0U;
  istate.oid.hash[0] = (unsigned char)0;
  istate.oid.hash[1] = (unsigned char)0;
  istate.oid.hash[2] = (unsigned char)0;
  istate.oid.hash[3] = (unsigned char)0;
  istate.oid.hash[4] = (unsigned char)0;
  istate.oid.hash[5] = (unsigned char)0;
  istate.oid.hash[6] = (unsigned char)0;
  istate.oid.hash[7] = (unsigned char)0;
  istate.oid.hash[8] = (unsigned char)0;
  istate.oid.hash[9] = (unsigned char)0;
  istate.oid.hash[10] = (unsigned char)0;
  istate.oid.hash[11] = (unsigned char)0;
  istate.oid.hash[12] = (unsigned char)0;
  istate.oid.hash[13] = (unsigned char)0;
  istate.oid.hash[14] = (unsigned char)0;
  istate.oid.hash[15] = (unsigned char)0;
  istate.oid.hash[16] = (unsigned char)0;
  istate.oid.hash[17] = (unsigned char)0;
  istate.oid.hash[18] = (unsigned char)0;
  istate.oid.hash[19] = (unsigned char)0;
  istate.oid.hash[20] = (unsigned char)0;
  istate.oid.hash[21] = (unsigned char)0;
  istate.oid.hash[22] = (unsigned char)0;
  istate.oid.hash[23] = (unsigned char)0;
  istate.oid.hash[24] = (unsigned char)0;
  istate.oid.hash[25] = (unsigned char)0;
  istate.oid.hash[26] = (unsigned char)0;
  istate.oid.hash[27] = (unsigned char)0;
  istate.oid.hash[28] = (unsigned char)0;
  istate.oid.hash[29] = (unsigned char)0;
  istate.oid.hash[30] = (unsigned char)0;
  istate.oid.hash[31] = (unsigned char)0;
  istate.oid.algo = 0;
  istate.untracked = (struct untracked_cache *)0;
  istate.fsmonitor_last_update = (char *)0;
  istate.fsmonitor_dirty = (struct ewah_bitmap *)0;
  istate.ce_mem_pool = (struct mem_pool *)0;
  istate.progress = (struct progress *)0;
  istate.repo = (struct repository *)0;
  istate.sparse_checkout_patterns = (struct pattern_list *)0;
  repo_init_revisions(the_repository, & rev, (char const   *)((void *)0));
  copy_pathspec(& rev.prune_data, ps);
  set_alternate_index_output((char const   *)stash_index_path.buf);
  tmp = reset_tree___0(& info___0->i_tree, 0, 0);
  if (tmp) {
    ret___67 = -1;
    goto done;
  }
  set_alternate_index_output((char const   *)((void *)0));
  rev.diffopt.output_format = 0x1000;
  rev.diffopt.format_callback = & add_diff_to_buf;
  rev.diffopt.format_callback_data = (void *)(& diff_output);
  tmp___0 = repo_read_index_preload(the_repository, (struct pathspec  const  *)(& rev.diffopt.pathspec),
                                    0U);
  if (tmp___0 < 0) {
    ret___67 = -1;
    goto done;
  }
  tmp___1 = parse_object(the_repository, (struct object_id  const  *)(& info___0->b_commit));
  add_pending_object(& rev, tmp___1, (char const   *)"");
  tmp___2 = run_diff_index(& rev, 0U);
  if (tmp___2) {
    ret___67 = -1;
    goto done;
  }
  cp_upd_index.git_cmd = 1U;
  strvec_pushl(& cp_upd_index.args, "update-index", "--ignore-skip-worktree-entries",
               "-z", "--add", "--remove", "--stdin", (void *)0);
  strvec_pushf(& cp_upd_index.env_array, (char const   *)"GIT_INDEX_FILE=%s", stash_index_path.buf);
  tmp___3 = pipe_command(& cp_upd_index, (char const   *)diff_output.buf, diff_output.len,
                         (struct strbuf *)((void *)0), (size_t )0, (struct strbuf *)((void *)0),
                         (size_t )0);
  if (tmp___3) {
    ret___67 = -1;
    goto done;
  }
  tmp___4 = write_index_as_tree(& info___0->w_tree, & istate, (char const   *)stash_index_path.buf,
                                0, (char const   *)((void *)0));
  if (tmp___4) {
    ret___67 = -1;
    goto done;
  }
  done:
  discard_index(& istate);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  object_array_clear(& rev.pending);
  clear_pathspec(& rev.prune_data);
  strbuf_release(& diff_output);
  remove_path((char const   *)stash_index_path.buf);
  return (ret___67);
}
}
static int do_create_stash(struct pathspec  const  *ps , struct strbuf *stash_msg_buf ,
                           int include_untracked , int patch_mode , int only_staged ,
                           struct stash_info *info___0 , struct strbuf *patch , int quiet___7 )
{
  int ret___67 ;
  int flags___0 ;
  int untracked_commit_option ;
  char const   *head_short_sha1 ;
  char const   *branch_ref ;
  char const   *branch_name ;
  struct commit *head_commit ;
  struct commit_list *parents ;
  struct strbuf msg___5 ;
  struct strbuf commit_tree_label ;
  struct strbuf untracked_files ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  struct commit *tmp___13 ;
  struct commit *tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;

  {
  ret___67 = 0;
  flags___0 = 0;
  untracked_commit_option = 0;
  head_short_sha1 = (char const   *)((void *)0);
  branch_ref = (char const   *)((void *)0);
  branch_name = (char const   *)"(no branch)";
  head_commit = (struct commit *)((void *)0);
  parents = (struct commit_list *)((void *)0);
  msg___5.alloc = 0UL;
  msg___5.len = 0UL;
  msg___5.buf = strbuf_slopbuf;
  commit_tree_label.alloc = 0UL;
  commit_tree_label.len = 0UL;
  commit_tree_label.buf = strbuf_slopbuf;
  untracked_files.alloc = 0UL;
  untracked_files.len = 0UL;
  untracked_files.buf = strbuf_slopbuf;
  prepare_fallback_ident((char const   *)"git stash", (char const   *)"git@stash");
  repo_read_index_preload(the_repository, (struct pathspec  const  *)((void *)0),
                          0U);
  tmp = repo_refresh_and_write_index(the_repository, (unsigned int )(1 << 2), 0U,
                                     0, (struct pathspec  const  *)((void *)0), (char *)((void *)0),
                                     (char const   *)((void *)0));
  if (tmp < 0) {
    ret___67 = -1;
    goto done;
  }
  tmp___1 = repo_get_oid(the_repository, (char const   *)"HEAD", & info___0->b_commit);
  if (tmp___1) {
    if (! quiet___7) {
      tmp___0 = _((char const   *)"You do not have the initial commit yet");
      fprintf_ln(stderr, (char const   *)tmp___0);
    }
    ret___67 = -1;
    goto done;
  } else {
    head_commit = lookup_commit(the_repository, (struct object_id  const  *)(& info___0->b_commit));
  }
  tmp___2 = check_changes(ps, include_untracked, & untracked_files);
  if (! tmp___2) {
    ret___67 = 1;
    goto done;
  }
  branch_ref = resolve_ref_unsafe((char const   *)"HEAD", 0, (struct object_id *)((void *)0),
                                  & flags___0);
  if (flags___0 & 0x01) {
    tmp___3 = strrchr(branch_ref, '/');
    branch_name = (char const   *)(tmp___3 + 1);
  }
  head_short_sha1 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& head_commit->object.oid),
                                            default_abbrev);
  strbuf_addf(& msg___5, (char const   *)"%s: %s ", branch_name, head_short_sha1);
  pp_commit_easy((enum cmit_fmt )5, (struct commit  const  *)head_commit, & msg___5);
  strbuf_addf(& commit_tree_label, (char const   *)"index on %s\n", msg___5.buf);
  commit_list_insert(head_commit, & parents);
  tmp___5 = write_cache_as_tree(& info___0->i_tree, 0, (char const   *)((void *)0));
  if (tmp___5) {
    goto _L;
  } else {
    tmp___6 = commit_tree((char const   *)commit_tree_label.buf, commit_tree_label.len,
                          (struct object_id  const  *)(& info___0->i_tree), parents,
                          & info___0->i_commit, (char const   *)((void *)0), (char const   *)((void *)0));
    if (tmp___6) {
      _L: /* CIL Label */
      if (! quiet___7) {
        tmp___4 = _((char const   *)"Cannot save the current index state");
        fprintf_ln(stderr, (char const   *)tmp___4);
      }
      ret___67 = -1;
      goto done;
    }
  }
  if (include_untracked) {
    tmp___8 = save_untracked_files(info___0, & msg___5, untracked_files);
    if (tmp___8) {
      if (! quiet___7) {
        tmp___7 = _((char const   *)"Cannot save the untracked files");
        fprintf_ln(stderr, (char const   *)tmp___7);
      }
      ret___67 = -1;
      goto done;
    }
    untracked_commit_option = 1;
  }
  if (patch_mode) {
    ret___67 = stash_patch(info___0, ps, patch, quiet___7);
    if (ret___67 < 0) {
      if (! quiet___7) {
        tmp___9 = _((char const   *)"Cannot save the current worktree state");
        fprintf_ln(stderr, (char const   *)tmp___9);
      }
      goto done;
    } else
    if (ret___67 > 0) {
      goto done;
    }
  } else
  if (only_staged) {
    ret___67 = stash_staged(info___0, patch, quiet___7);
    if (ret___67 < 0) {
      if (! quiet___7) {
        tmp___10 = _((char const   *)"Cannot save the current staged state");
        fprintf_ln(stderr, (char const   *)tmp___10);
      }
      goto done;
    } else
    if (ret___67 > 0) {
      goto done;
    }
  } else {
    tmp___12 = stash_working_tree(info___0, ps);
    if (tmp___12) {
      if (! quiet___7) {
        tmp___11 = _((char const   *)"Cannot save the current worktree state");
        fprintf_ln(stderr, (char const   *)tmp___11);
      }
      ret___67 = -1;
      goto done;
    }
  }
  if (! stash_msg_buf->len) {
    strbuf_addf(stash_msg_buf, (char const   *)"WIP on %s", msg___5.buf);
  } else {
    strbuf_insertf(stash_msg_buf, (size_t )0, (char const   *)"On %s: ", branch_name);
  }
  parents = (struct commit_list *)((void *)0);
  if (untracked_commit_option) {
    tmp___13 = lookup_commit(the_repository, (struct object_id  const  *)(& info___0->u_commit));
    commit_list_insert(tmp___13, & parents);
  }
  tmp___14 = lookup_commit(the_repository, (struct object_id  const  *)(& info___0->i_commit));
  commit_list_insert(tmp___14, & parents);
  commit_list_insert(head_commit, & parents);
  tmp___16 = commit_tree((char const   *)stash_msg_buf->buf, stash_msg_buf->len, (struct object_id  const  *)(& info___0->w_tree),
                         parents, & info___0->w_commit, (char const   *)((void *)0),
                         (char const   *)((void *)0));
  if (tmp___16) {
    if (! quiet___7) {
      tmp___15 = _((char const   *)"Cannot record working tree state");
      fprintf_ln(stderr, (char const   *)tmp___15);
    }
    ret___67 = -1;
    goto done;
  }
  done:
  strbuf_release(& commit_tree_label);
  strbuf_release(& msg___5);
  strbuf_release(& untracked_files);
  return (ret___67);
}
}
static int create_stash(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int ret___67 ;
  struct strbuf stash_msg_buf ;
  struct stash_info info___0 ;
  struct pathspec ps ;
  int tmp ;
  char *tmp___0 ;

  {
  ret___67 = 0;
  stash_msg_buf.alloc = 0UL;
  stash_msg_buf.len = 0UL;
  stash_msg_buf.buf = strbuf_slopbuf;
  argv___0 ++;
  strbuf_join_argv(& stash_msg_buf, argc - 1, argv___0, (char )' ');
  memset((void *)(& ps), 0, sizeof(ps));
  tmp = check_changes_tracked_files((struct pathspec  const  *)(& ps));
  if (! tmp) {
    return (0);
  }
  ret___67 = do_create_stash((struct pathspec  const  *)(& ps), & stash_msg_buf, 0,
                             0, 0, & info___0, (struct strbuf *)((void *)0), 0);
  if (! ret___67) {
    tmp___0 = oid_to_hex((struct object_id  const  *)(& info___0.w_commit));
    printf_ln((char const   *)"%s", tmp___0);
  }
  strbuf_release(& stash_msg_buf);
  return (ret___67);
}
}
static int do_push_stash(struct pathspec  const  *ps , char const   *stash_msg , int quiet___7 ,
                         int keep_index , int patch_mode , int include_untracked ,
                         int only_staged )
{
  int ret___67 ;
  struct stash_info info___0 ;
  struct strbuf patch ;
  struct strbuf stash_msg_buf ;
  struct strbuf untracked_files ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int i ;
  char *ps_matched___1 ;
  void *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  struct child_process cp ;
  int tmp___14 ;
  struct child_process cp_add ;
  struct child_process cp_diff ;
  struct child_process cp_apply ;
  struct strbuf out ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  struct child_process cp___0 ;
  int tmp___18 ;
  struct child_process cp___1 ;
  char *tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  struct child_process cp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  int tmp___23 ;
  struct child_process cp___3 ;
  int tmp___24 ;

  {
  ret___67 = 0;
  patch.alloc = 0UL;
  patch.len = 0UL;
  patch.buf = strbuf_slopbuf;
  stash_msg_buf.alloc = 0UL;
  stash_msg_buf.len = 0UL;
  stash_msg_buf.buf = strbuf_slopbuf;
  untracked_files.alloc = 0UL;
  untracked_files.len = 0UL;
  untracked_files.buf = strbuf_slopbuf;
  if (patch_mode) {
    if (keep_index == -1) {
      keep_index = 1;
    }
  }
  if (patch_mode) {
    if (include_untracked) {
      tmp = _((char const   *)"Can\'t use --patch and --include-untracked or --all at the same time");
      fprintf_ln(stderr, (char const   *)tmp);
      ret___67 = -1;
      goto done;
    }
  }
  if (patch_mode) {
    only_staged = 0;
  }
  if (only_staged) {
    if (include_untracked) {
      tmp___0 = _((char const   *)"Can\'t use --staged and --include-untracked or --all at the same time");
      fprintf_ln(stderr, (char const   *)tmp___0);
      ret___67 = -1;
      goto done;
    }
  }
  repo_read_index_preload(the_repository, (struct pathspec  const  *)((void *)0),
                          0U);
  if (! include_untracked) {
    if (ps->nr) {
      tmp___1 = xcalloc((size_t )ps->nr, (size_t )1);
      ps_matched___1 = (char *)tmp___1;
      ensure_full_index(& the_index);
      i = 0;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! ((unsigned int )i < the_index.cache_nr)) {
          goto while_break;
        }
        ce_path_match(& the_index, (struct cache_entry  const  *)*(the_index.cache + i),
                      ps, ps_matched___1);
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
      tmp___3 = report_path_error((char const   *)ps_matched___1, ps);
      if (tmp___3) {
        tmp___2 = _((char const   *)"Did you forget to \'git add\'?");
        fprintf_ln(stderr, (char const   *)tmp___2);
        ret___67 = -1;
        free((void *)ps_matched___1);
        goto done;
      }
      free((void *)ps_matched___1);
    }
  }
  tmp___4 = repo_refresh_and_write_index(the_repository, (unsigned int )(1 << 2),
                                         0U, 0, (struct pathspec  const  *)((void *)0),
                                         (char *)((void *)0), (char const   *)((void *)0));
  if (tmp___4) {
    ret___67 = -1;
    goto done;
  }
  tmp___6 = check_changes(ps, include_untracked, & untracked_files);
  if (! tmp___6) {
    if (! quiet___7) {
      tmp___5 = _((char const   *)"No local changes to save");
      printf_ln((char const   *)tmp___5);
    }
    goto done;
  }
  tmp___8 = reflog_exists(ref_stash);
  if (! tmp___8) {
    tmp___9 = do_clear_stash();
    if (tmp___9) {
      ret___67 = -1;
      if (! quiet___7) {
        tmp___7 = _((char const   *)"Cannot initialize stash");
        fprintf_ln(stderr, (char const   *)tmp___7);
      }
      goto done;
    }
  }
  if (stash_msg) {
    strbuf_addstr(& stash_msg_buf, stash_msg);
  }
  tmp___10 = do_create_stash(ps, & stash_msg_buf, include_untracked, patch_mode, only_staged,
                             & info___0, & patch, quiet___7);
  if (tmp___10) {
    ret___67 = -1;
    goto done;
  }
  tmp___12 = do_store_stash((struct object_id  const  *)(& info___0.w_commit), (char const   *)stash_msg_buf.buf,
                            1);
  if (tmp___12) {
    ret___67 = -1;
    if (! quiet___7) {
      tmp___11 = _((char const   *)"Cannot save the current status");
      fprintf_ln(stderr, (char const   *)tmp___11);
    }
    goto done;
  }
  if (! quiet___7) {
    tmp___13 = _((char const   *)"Saved working directory and index state %s");
    printf_ln((char const   *)tmp___13, stash_msg_buf.buf);
  }
  if (patch_mode) {
    goto _L;
  } else
  if (only_staged) {
    _L: /* CIL Label */
    cp___2.args.v = empty_strvec;
    cp___2.args.nr = 0UL;
    cp___2.args.alloc = 0UL;
    cp___2.env_array.v = empty_strvec;
    cp___2.env_array.nr = 0UL;
    cp___2.env_array.alloc = 0UL;
    cp___2.pid = 0;
    cp___2.trace2_child_id = 0;
    cp___2.trace2_child_us_start = 0UL;
    cp___2.trace2_child_class = (char const   *)0;
    cp___2.trace2_hook_name = (char const   *)0;
    cp___2.in = 0;
    cp___2.out = 0;
    cp___2.err = 0;
    cp___2.dir = (char const   *)0;
    cp___2.no_stdin = 0U;
    cp___2.no_stdout = 0U;
    cp___2.no_stderr = 0U;
    cp___2.git_cmd = 0U;
    cp___2.silent_exec_failure = 0U;
    cp___2.use_shell = 0U;
    cp___2.close_object_store = 0U;
    cp___2.stdout_to_stderr = 0U;
    cp___2.clean_on_exit = 0U;
    cp___2.wait_after_clean = 0U;
    cp___2.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    cp___2.clean_on_exit_handler_cbdata = (void *)0;
    cp___2.git_cmd = 1U;
    strvec_pushl(& cp___2.args, "apply", "-R", (void *)0);
    tmp___23 = pipe_command(& cp___2, (char const   *)patch.buf, patch.len, (struct strbuf *)((void *)0),
                            (size_t )0, (struct strbuf *)((void *)0), (size_t )0);
    if (tmp___23) {
      if (! quiet___7) {
        tmp___22 = _((char const   *)"Cannot remove worktree changes");
        fprintf_ln(stderr, (char const   *)tmp___22);
      }
      ret___67 = -1;
      goto done;
    }
    if (keep_index < 1) {
      cp___3.args.v = empty_strvec;
      cp___3.args.nr = 0UL;
      cp___3.args.alloc = 0UL;
      cp___3.env_array.v = empty_strvec;
      cp___3.env_array.nr = 0UL;
      cp___3.env_array.alloc = 0UL;
      cp___3.pid = 0;
      cp___3.trace2_child_id = 0;
      cp___3.trace2_child_us_start = 0UL;
      cp___3.trace2_child_class = (char const   *)0;
      cp___3.trace2_hook_name = (char const   *)0;
      cp___3.in = 0;
      cp___3.out = 0;
      cp___3.err = 0;
      cp___3.dir = (char const   *)0;
      cp___3.no_stdin = 0U;
      cp___3.no_stdout = 0U;
      cp___3.no_stderr = 0U;
      cp___3.git_cmd = 0U;
      cp___3.silent_exec_failure = 0U;
      cp___3.use_shell = 0U;
      cp___3.close_object_store = 0U;
      cp___3.stdout_to_stderr = 0U;
      cp___3.clean_on_exit = 0U;
      cp___3.wait_after_clean = 0U;
      cp___3.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
      cp___3.clean_on_exit_handler_cbdata = (void *)0;
      cp___3.git_cmd = 1U;
      strvec_pushl(& cp___3.args, "reset", "-q", "--", (void *)0);
      add_pathspecs(& cp___3.args, ps);
      tmp___24 = run_command(& cp___3);
      if (tmp___24) {
        ret___67 = -1;
        goto done;
      }
    }
    goto done;
  } else {
    if (include_untracked) {
      if (! ps->nr) {
        cp.args.v = empty_strvec;
        cp.args.nr = 0UL;
        cp.args.alloc = 0UL;
        cp.env_array.v = empty_strvec;
        cp.env_array.nr = 0UL;
        cp.env_array.alloc = 0UL;
        cp.pid = 0;
        cp.trace2_child_id = 0;
        cp.trace2_child_us_start = 0UL;
        cp.trace2_child_class = (char const   *)0;
        cp.trace2_hook_name = (char const   *)0;
        cp.in = 0;
        cp.out = 0;
        cp.err = 0;
        cp.dir = (char const   *)0;
        cp.no_stdin = 0U;
        cp.no_stdout = 0U;
        cp.no_stderr = 0U;
        cp.git_cmd = 0U;
        cp.silent_exec_failure = 0U;
        cp.use_shell = 0U;
        cp.close_object_store = 0U;
        cp.stdout_to_stderr = 0U;
        cp.clean_on_exit = 0U;
        cp.wait_after_clean = 0U;
        cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
        cp.clean_on_exit_handler_cbdata = (void *)0;
        cp.git_cmd = 1U;
        if (startup_info->original_cwd) {
          cp.dir = startup_info->original_cwd;
        }
        strvec_pushl(& cp.args, "clean", "--force", "--quiet", "-d", ":/", (void *)0);
        if (include_untracked == 2) {
          strvec_push(& cp.args, (char const   *)"-x");
        }
        tmp___14 = run_command(& cp);
        if (tmp___14) {
          ret___67 = -1;
          goto done;
        }
      }
    }
    discard_index(& the_index);
    if (ps->nr) {
      cp_add.args.v = empty_strvec;
      cp_add.args.nr = 0UL;
      cp_add.args.alloc = 0UL;
      cp_add.env_array.v = empty_strvec;
      cp_add.env_array.nr = 0UL;
      cp_add.env_array.alloc = 0UL;
      cp_add.pid = 0;
      cp_add.trace2_child_id = 0;
      cp_add.trace2_child_us_start = 0UL;
      cp_add.trace2_child_class = (char const   *)0;
      cp_add.trace2_hook_name = (char const   *)0;
      cp_add.in = 0;
      cp_add.out = 0;
      cp_add.err = 0;
      cp_add.dir = (char const   *)0;
      cp_add.no_stdin = 0U;
      cp_add.no_stdout = 0U;
      cp_add.no_stderr = 0U;
      cp_add.git_cmd = 0U;
      cp_add.silent_exec_failure = 0U;
      cp_add.use_shell = 0U;
      cp_add.close_object_store = 0U;
      cp_add.stdout_to_stderr = 0U;
      cp_add.clean_on_exit = 0U;
      cp_add.wait_after_clean = 0U;
      cp_add.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
      cp_add.clean_on_exit_handler_cbdata = (void *)0;
      cp_diff.args.v = empty_strvec;
      cp_diff.args.nr = 0UL;
      cp_diff.args.alloc = 0UL;
      cp_diff.env_array.v = empty_strvec;
      cp_diff.env_array.nr = 0UL;
      cp_diff.env_array.alloc = 0UL;
      cp_diff.pid = 0;
      cp_diff.trace2_child_id = 0;
      cp_diff.trace2_child_us_start = 0UL;
      cp_diff.trace2_child_class = (char const   *)0;
      cp_diff.trace2_hook_name = (char const   *)0;
      cp_diff.in = 0;
      cp_diff.out = 0;
      cp_diff.err = 0;
      cp_diff.dir = (char const   *)0;
      cp_diff.no_stdin = 0U;
      cp_diff.no_stdout = 0U;
      cp_diff.no_stderr = 0U;
      cp_diff.git_cmd = 0U;
      cp_diff.silent_exec_failure = 0U;
      cp_diff.use_shell = 0U;
      cp_diff.close_object_store = 0U;
      cp_diff.stdout_to_stderr = 0U;
      cp_diff.clean_on_exit = 0U;
      cp_diff.wait_after_clean = 0U;
      cp_diff.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
      cp_diff.clean_on_exit_handler_cbdata = (void *)0;
      cp_apply.args.v = empty_strvec;
      cp_apply.args.nr = 0UL;
      cp_apply.args.alloc = 0UL;
      cp_apply.env_array.v = empty_strvec;
      cp_apply.env_array.nr = 0UL;
      cp_apply.env_array.alloc = 0UL;
      cp_apply.pid = 0;
      cp_apply.trace2_child_id = 0;
      cp_apply.trace2_child_us_start = 0UL;
      cp_apply.trace2_child_class = (char const   *)0;
      cp_apply.trace2_hook_name = (char const   *)0;
      cp_apply.in = 0;
      cp_apply.out = 0;
      cp_apply.err = 0;
      cp_apply.dir = (char const   *)0;
      cp_apply.no_stdin = 0U;
      cp_apply.no_stdout = 0U;
      cp_apply.no_stderr = 0U;
      cp_apply.git_cmd = 0U;
      cp_apply.silent_exec_failure = 0U;
      cp_apply.use_shell = 0U;
      cp_apply.close_object_store = 0U;
      cp_apply.stdout_to_stderr = 0U;
      cp_apply.clean_on_exit = 0U;
      cp_apply.wait_after_clean = 0U;
      cp_apply.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
      cp_apply.clean_on_exit_handler_cbdata = (void *)0;
      out.alloc = 0UL;
      out.len = 0UL;
      out.buf = strbuf_slopbuf;
      cp_add.git_cmd = 1U;
      strvec_push(& cp_add.args, (char const   *)"add");
      if (! include_untracked) {
        strvec_push(& cp_add.args, (char const   *)"-u");
      }
      if (include_untracked == 2) {
        strvec_push(& cp_add.args, (char const   *)"--force");
      }
      strvec_push(& cp_add.args, (char const   *)"--");
      add_pathspecs(& cp_add.args, ps);
      tmp___15 = run_command(& cp_add);
      if (tmp___15) {
        ret___67 = -1;
        goto done;
      }
      cp_diff.git_cmd = 1U;
      strvec_pushl(& cp_diff.args, "diff-index", "-p", "--cached", "--binary", "HEAD",
                   "--", (void *)0);
      add_pathspecs(& cp_diff.args, ps);
      tmp___16 = pipe_command(& cp_diff, (char const   *)((void *)0), (size_t )0,
                              & out, (size_t )0, (struct strbuf *)((void *)0), (size_t )0);
      if (tmp___16) {
        ret___67 = -1;
        goto done;
      }
      cp_apply.git_cmd = 1U;
      strvec_pushl(& cp_apply.args, "apply", "--index", "-R", (void *)0);
      tmp___17 = pipe_command(& cp_apply, (char const   *)out.buf, out.len, (struct strbuf *)((void *)0),
                              (size_t )0, (struct strbuf *)((void *)0), (size_t )0);
      if (tmp___17) {
        ret___67 = -1;
        goto done;
      }
    } else {
      cp___0.args.v = empty_strvec;
      cp___0.args.nr = 0UL;
      cp___0.args.alloc = 0UL;
      cp___0.env_array.v = empty_strvec;
      cp___0.env_array.nr = 0UL;
      cp___0.env_array.alloc = 0UL;
      cp___0.pid = 0;
      cp___0.trace2_child_id = 0;
      cp___0.trace2_child_us_start = 0UL;
      cp___0.trace2_child_class = (char const   *)0;
      cp___0.trace2_hook_name = (char const   *)0;
      cp___0.in = 0;
      cp___0.out = 0;
      cp___0.err = 0;
      cp___0.dir = (char const   *)0;
      cp___0.no_stdin = 0U;
      cp___0.no_stdout = 0U;
      cp___0.no_stderr = 0U;
      cp___0.git_cmd = 0U;
      cp___0.silent_exec_failure = 0U;
      cp___0.use_shell = 0U;
      cp___0.close_object_store = 0U;
      cp___0.stdout_to_stderr = 0U;
      cp___0.clean_on_exit = 0U;
      cp___0.wait_after_clean = 0U;
      cp___0.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
      cp___0.clean_on_exit_handler_cbdata = (void *)0;
      cp___0.git_cmd = 1U;
      strvec_pushl(& cp___0.args, "reset", "--hard", "-q", "--no-recurse-submodules",
                   (void *)0);
      tmp___18 = run_command(& cp___0);
      if (tmp___18) {
        ret___67 = -1;
        goto done;
      }
    }
    if (keep_index == 1) {
      tmp___21 = is_null_oid((struct object_id  const  *)(& info___0.i_tree));
      if (! tmp___21) {
        cp___1.args.v = empty_strvec;
        cp___1.args.nr = 0UL;
        cp___1.args.alloc = 0UL;
        cp___1.env_array.v = empty_strvec;
        cp___1.env_array.nr = 0UL;
        cp___1.env_array.alloc = 0UL;
        cp___1.pid = 0;
        cp___1.trace2_child_id = 0;
        cp___1.trace2_child_us_start = 0UL;
        cp___1.trace2_child_class = (char const   *)0;
        cp___1.trace2_hook_name = (char const   *)0;
        cp___1.in = 0;
        cp___1.out = 0;
        cp___1.err = 0;
        cp___1.dir = (char const   *)0;
        cp___1.no_stdin = 0U;
        cp___1.no_stdout = 0U;
        cp___1.no_stderr = 0U;
        cp___1.git_cmd = 0U;
        cp___1.silent_exec_failure = 0U;
        cp___1.use_shell = 0U;
        cp___1.close_object_store = 0U;
        cp___1.stdout_to_stderr = 0U;
        cp___1.clean_on_exit = 0U;
        cp___1.wait_after_clean = 0U;
        cp___1.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
        cp___1.clean_on_exit_handler_cbdata = (void *)0;
        cp___1.git_cmd = 1U;
        tmp___19 = oid_to_hex((struct object_id  const  *)(& info___0.i_tree));
        strvec_pushl(& cp___1.args, "checkout", "--no-overlay", tmp___19, "--", (void *)0);
        if (! ps->nr) {
          strvec_push(& cp___1.args, (char const   *)":/");
        } else {
          add_pathspecs(& cp___1.args, ps);
        }
        tmp___20 = run_command(& cp___1);
        if (tmp___20) {
          ret___67 = -1;
          goto done;
        }
      }
    }
    goto done;
  }
  done:
  strbuf_release(& stash_msg_buf);
  return (ret___67);
}
}
static int push_stash(int argc , char const   **argv___0 , char const   *prefix___1 ,
                      int push_assumed )
{
  int force_assume ;
  int keep_index ;
  int only_staged ;
  int patch_mode ;
  int include_untracked ;
  int quiet___7 ;
  int pathspec_file_nul___2 ;
  char const   *stash_msg ;
  char const   *pathspec_from_file___2 ;
  struct pathspec ps ;
  struct option options[10] ;
  int tmp ;
  int tmp___0 ;
  char const   **tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;

  {
  force_assume = 0;
  keep_index = -1;
  only_staged = 0;
  patch_mode = 0;
  include_untracked = 0;
  quiet___7 = 0;
  pathspec_file_nul___2 = 0;
  stash_msg = (char const   *)((void *)0);
  pathspec_from_file___2 = (char const   *)((void *)0);
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 'k';
  options[0].long_name = (char const   *)"keep-index";
  options[0].value = (void *)(& keep_index);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"keep index";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 'S';
  options[1].long_name = (char const   *)"staged";
  options[1].value = (void *)(& only_staged);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"stash staged changes only";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 'p';
  options[2].long_name = (char const   *)"patch";
  options[2].value = (void *)(& patch_mode);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"stash in patch mode";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )1;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )7;
  options[3].short_name = 'q';
  options[3].long_name = (char const   *)"quiet";
  options[3].value = (void *)(& quiet___7);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"quiet mode";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)0;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 'u';
  options[4].long_name = (char const   *)"include-untracked";
  options[4].value = (void *)(& include_untracked);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"include untracked files in stash";
  options[4].flags = (enum parse_opt_option_flags )2;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )1;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )8;
  options[5].short_name = 'a';
  options[5].long_name = (char const   *)"all";
  options[5].value = (void *)(& include_untracked);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"include ignore files";
  options[5].flags = (enum parse_opt_option_flags )2;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )2;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )9;
  options[6].short_name = 'm';
  options[6].long_name = (char const   *)"message";
  options[6].value = (void *)(& stash_msg);
  options[6].argh = (char const   *)"message";
  options[6].help = (char const   *)"stash message";
  options[6].flags = (enum parse_opt_option_flags )0;
  options[6].callback = (parse_opt_cb *)0;
  options[6].defval = 0L;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )14;
  options[7].short_name = 0;
  options[7].long_name = (char const   *)"pathspec-from-file";
  options[7].value = (void *)(& pathspec_from_file___2);
  options[7].argh = (char const   *)"file";
  options[7].help = (char const   *)"read pathspec from file";
  options[7].flags = 0U;
  options[7].callback = (parse_opt_cb *)0;
  options[7].defval = 0L;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )8;
  options[8].short_name = 0;
  options[8].long_name = (char const   *)"pathspec-file-nul";
  options[8].value = (void *)(& pathspec_file_nul___2);
  options[8].argh = (char const   *)((void *)0);
  options[8].help = (char const   *)"with --pathspec-from-file, pathspec elements are separated with NUL character";
  options[8].flags = (enum parse_opt_option_flags )2;
  options[8].callback = (parse_opt_cb *)((void *)0);
  options[8].defval = (intptr_t )1;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  options[9].type = (enum parse_opt_type )0;
  options[9].short_name = 0;
  options[9].long_name = (char const   *)0;
  options[9].value = (void *)0;
  options[9].argh = (char const   *)0;
  options[9].help = (char const   *)0;
  options[9].flags = 0U;
  options[9].callback = (parse_opt_cb *)0;
  options[9].defval = 0L;
  options[9].ll_callback = (parse_opt_ll_cb *)0;
  options[9].extra = 0L;
  if (argc) {
    tmp = strcmp(*(argv___0 + 0), (char const   *)"-p");
    if (tmp) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
    force_assume = tmp___0;
    if (push_assumed) {
      tmp___1 = git_stash_usage;
    } else {
      tmp___1 = git_stash_push_usage;
    }
    argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                         tmp___1, (enum parse_opt_flags )1);
  }
  if (argc) {
    tmp___2 = strcmp(*(argv___0 + 0), (char const   *)"--");
    if (tmp___2) {
      if (push_assumed) {
        if (! force_assume) {
          die((char const   *)"subcommand wasn\'t specified; \'push\' can\'t be assumed due to unexpected token \'%s\'",
              *(argv___0 + 0));
        }
      }
    } else {
      argc --;
      argv___0 ++;
    }
  }
  parse_pathspec(& ps, 0U, (unsigned int )((1 << 1) | (1 << 4)), prefix___1, argv___0);
  if (pathspec_from_file___2) {
    if (patch_mode) {
      tmp___3 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___3, "--pathspec-from-file", "--patch");
    }
    if (only_staged) {
      tmp___4 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___4, "--pathspec-from-file", "--staged");
    }
    if (ps.nr) {
      tmp___5 = _((char const   *)"\'%s\' and pathspec arguments cannot be used together");
      die((char const   *)tmp___5, "--pathspec-from-file");
    }
    parse_pathspec_file(& ps, 0U, (unsigned int )((1 << 1) | (1 << 4)), prefix___1,
                        pathspec_from_file___2, pathspec_file_nul___2);
  } else
  if (pathspec_file_nul___2) {
    tmp___6 = _((char const   *)"the option \'%s\' requires \'%s\'");
    die((char const   *)tmp___6, "--pathspec-file-nul", "--pathspec-from-file");
  }
  tmp___7 = do_push_stash((struct pathspec  const  *)(& ps), stash_msg, quiet___7,
                          keep_index, patch_mode, include_untracked, only_staged);
  return (tmp___7);
}
}
static int save_stash(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int keep_index ;
  int only_staged ;
  int patch_mode ;
  int include_untracked ;
  int quiet___7 ;
  int ret___67 ;
  char const   *stash_msg ;
  struct pathspec ps ;
  struct strbuf stash_msg_buf ;
  struct option options[8] ;

  {
  keep_index = -1;
  only_staged = 0;
  patch_mode = 0;
  include_untracked = 0;
  quiet___7 = 0;
  ret___67 = 0;
  stash_msg = (char const   *)((void *)0);
  stash_msg_buf.alloc = 0UL;
  stash_msg_buf.len = 0UL;
  stash_msg_buf.buf = strbuf_slopbuf;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 'k';
  options[0].long_name = (char const   *)"keep-index";
  options[0].value = (void *)(& keep_index);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"keep index";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 'S';
  options[1].long_name = (char const   *)"staged";
  options[1].value = (void *)(& only_staged);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"stash staged changes only";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 'p';
  options[2].long_name = (char const   *)"patch";
  options[2].value = (void *)(& patch_mode);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"stash in patch mode";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )1;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )7;
  options[3].short_name = 'q';
  options[3].long_name = (char const   *)"quiet";
  options[3].value = (void *)(& quiet___7);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"quiet mode";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)0;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 'u';
  options[4].long_name = (char const   *)"include-untracked";
  options[4].value = (void *)(& include_untracked);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"include untracked files in stash";
  options[4].flags = (enum parse_opt_option_flags )2;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )1;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )8;
  options[5].short_name = 'a';
  options[5].long_name = (char const   *)"all";
  options[5].value = (void *)(& include_untracked);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"include ignore files";
  options[5].flags = (enum parse_opt_option_flags )2;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )2;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )9;
  options[6].short_name = 'm';
  options[6].long_name = (char const   *)"message";
  options[6].value = (void *)(& stash_msg);
  options[6].argh = (char const   *)"message";
  options[6].help = (char const   *)"stash message";
  options[6].flags = (enum parse_opt_option_flags )0;
  options[6].callback = (parse_opt_cb *)0;
  options[6].defval = 0L;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )0;
  options[7].short_name = 0;
  options[7].long_name = (char const   *)0;
  options[7].value = (void *)0;
  options[7].argh = (char const   *)0;
  options[7].help = (char const   *)0;
  options[7].flags = 0U;
  options[7].callback = (parse_opt_cb *)0;
  options[7].defval = 0L;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_stash_save_usage, (enum parse_opt_flags )1);
  if (argc) {
    stash_msg = strbuf_join_argv(& stash_msg_buf, argc, argv___0, (char )' ');
  }
  memset((void *)(& ps), 0, sizeof(ps));
  ret___67 = do_push_stash((struct pathspec  const  *)(& ps), stash_msg, quiet___7,
                           keep_index, patch_mode, include_untracked, only_staged);
  strbuf_release(& stash_msg_buf);
  return (ret___67);
}
}
int cmd_stash(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  pid_t pid ;
  __pid_t tmp ;
  char const   *index_file ;
  struct strvec args___0 ;
  struct option options[1] ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;
  char const __attribute__((__format_arg__(1)))  *tmp___27 ;
  char *tmp___28 ;
  int tmp___29 ;
  int tmp___30 ;
  int tmp___31 ;
  int tmp___32 ;
  int tmp___33 ;
  int tmp___34 ;
  int tmp___35 ;
  int tmp___36 ;
  int tmp___37 ;
  int tmp___38 ;
  int tmp___39 ;
  int tmp___40 ;
  int tmp___41 ;

  {
  tmp = getpid();
  pid = tmp;
  args___0.v = empty_strvec;
  args___0.nr = 0UL;
  args___0.alloc = 0UL;
  options[0].type = (enum parse_opt_type )0;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)0;
  options[0].value = (void *)0;
  options[0].argh = (char const   *)0;
  options[0].help = (char const   *)0;
  options[0].flags = 0U;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  git_config(& git_stash_config, (void *)0);
  if (use_legacy_stash) {
    tmp___0 = _((char const   *)"the stash.useBuiltin support has been removed!\nSee its entry in \'git help config\' for details.");
    warning((char const   *)tmp___0);
  } else {
    tmp___1 = git_env_bool((char const   *)"GIT_TEST_STASH_USE_BUILTIN", -1);
    if (! tmp___1) {
      tmp___0 = _((char const   *)"the stash.useBuiltin support has been removed!\nSee its entry in \'git help config\' for details.");
      warning((char const   *)tmp___0);
    }
  }
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_stash_usage, (enum parse_opt_flags )9);
  tmp___2 = get_index_file();
  index_file = (char const   *)tmp___2;
  strbuf_addf(& stash_index_path, (char const   *)"%s.stash.%lu", index_file, (uintmax_t )pid);
  if (! argc) {
    tmp___3 = push_stash(0, (char const   **)((void *)0), prefix___1, 0);
    if (tmp___3) {
      tmp___4 = 1;
    } else {
      tmp___4 = 0;
    }
    return (tmp___4);
  } else {
    tmp___39 = strcmp(*(argv___0 + 0), (char const   *)"apply");
    if (tmp___39) {
      tmp___38 = strcmp(*(argv___0 + 0), (char const   *)"clear");
      if (tmp___38) {
        tmp___37 = strcmp(*(argv___0 + 0), (char const   *)"drop");
        if (tmp___37) {
          tmp___36 = strcmp(*(argv___0 + 0), (char const   *)"pop");
          if (tmp___36) {
            tmp___35 = strcmp(*(argv___0 + 0), (char const   *)"branch");
            if (tmp___35) {
              tmp___34 = strcmp(*(argv___0 + 0), (char const   *)"list");
              if (tmp___34) {
                tmp___33 = strcmp(*(argv___0 + 0), (char const   *)"show");
                if (tmp___33) {
                  tmp___32 = strcmp(*(argv___0 + 0), (char const   *)"store");
                  if (tmp___32) {
                    tmp___31 = strcmp(*(argv___0 + 0), (char const   *)"create");
                    if (tmp___31) {
                      tmp___30 = strcmp(*(argv___0 + 0), (char const   *)"push");
                      if (tmp___30) {
                        tmp___29 = strcmp(*(argv___0 + 0), (char const   *)"save");
                        if (tmp___29) {
                          if ((int const   )*(*(argv___0 + 0)) != 45) {
                            tmp___27 = _((char const   *)"unknown subcommand: %s");
                            tmp___28 = xstrfmt((char const   *)tmp___27, *(argv___0 + 0));
                            usage_msg_opt((char const   *)tmp___28, git_stash_usage,
                                          (struct option  const  *)(options));
                          }
                        } else {
                          tmp___25 = save_stash(argc, argv___0, prefix___1);
                          if (tmp___25) {
                            tmp___26 = 1;
                          } else {
                            tmp___26 = 0;
                          }
                          return (tmp___26);
                        }
                      } else {
                        tmp___23 = push_stash(argc, argv___0, prefix___1, 0);
                        if (tmp___23) {
                          tmp___24 = 1;
                        } else {
                          tmp___24 = 0;
                        }
                        return (tmp___24);
                      }
                    } else {
                      tmp___21 = create_stash(argc, argv___0, prefix___1);
                      if (tmp___21) {
                        tmp___22 = 1;
                      } else {
                        tmp___22 = 0;
                      }
                      return (tmp___22);
                    }
                  } else {
                    tmp___19 = store_stash(argc, argv___0, prefix___1);
                    if (tmp___19) {
                      tmp___20 = 1;
                    } else {
                      tmp___20 = 0;
                    }
                    return (tmp___20);
                  }
                } else {
                  tmp___17 = show_stash(argc, argv___0, prefix___1);
                  if (tmp___17) {
                    tmp___18 = 1;
                  } else {
                    tmp___18 = 0;
                  }
                  return (tmp___18);
                }
              } else {
                tmp___15 = list_stash(argc, argv___0, prefix___1);
                if (tmp___15) {
                  tmp___16 = 1;
                } else {
                  tmp___16 = 0;
                }
                return (tmp___16);
              }
            } else {
              tmp___13 = branch_stash(argc, argv___0, prefix___1);
              if (tmp___13) {
                tmp___14 = 1;
              } else {
                tmp___14 = 0;
              }
              return (tmp___14);
            }
          } else {
            tmp___11 = pop_stash(argc, argv___0, prefix___1);
            if (tmp___11) {
              tmp___12 = 1;
            } else {
              tmp___12 = 0;
            }
            return (tmp___12);
          }
        } else {
          tmp___9 = drop_stash(argc, argv___0, prefix___1);
          if (tmp___9) {
            tmp___10 = 1;
          } else {
            tmp___10 = 0;
          }
          return (tmp___10);
        }
      } else {
        tmp___7 = clear_stash(argc, argv___0, prefix___1);
        if (tmp___7) {
          tmp___8 = 1;
        } else {
          tmp___8 = 0;
        }
        return (tmp___8);
      }
    } else {
      tmp___5 = apply_stash(argc, argv___0, prefix___1);
      if (tmp___5) {
        tmp___6 = 1;
      } else {
        tmp___6 = 0;
      }
      return (tmp___6);
    }
  }
  strvec_push(& args___0, (char const   *)"push");
  strvec_pushv(& args___0, argv___0);
  tmp___40 = push_stash((int )args___0.nr, args___0.v, prefix___1, 1);
  if (tmp___40) {
    tmp___41 = 1;
  } else {
    tmp___41 = 0;
  }
  return (tmp___41);
}
}
static void comment_lines(struct strbuf *buf___19 )
{
  char *msg___5 ;
  size_t len___0 ;

  {
  msg___5 = strbuf_detach(buf___19, & len___0);
  strbuf_add_commented_lines(buf___19, (char const   *)msg___5, len___0);
  free((void *)msg___5);
  return;
}
}
static char const   *stripspace_usage[3]  = {      (char const   *)"git stripspace [-s | --strip-comments]",      (char const   *)"git stripspace [-c | --comment-lines]",      (char const   *)((void *)0)};
int cmd_stripspace(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct strbuf buf___19 ;
  enum stripspace_mode mode___1 ;
  int nongit ;
  struct option options[3] ;
  ssize_t tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  mode___1 = (enum stripspace_mode )0;
  options[0].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[0].short_name = (int )'s';
  options[0].long_name = (char const   *)((char const   *)"strip-comments");
  options[0].value = (void *)((void *)(& mode___1));
  options[0].argh = (char const   *)((char const   *)((void *)0));
  options[0].help = (char const   *)((char const   *)"skip and remove all lines starting with comment character");
  options[0].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2054);
  options[0].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[0].defval = (intptr_t )((intptr_t )1);
  options[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[0].extra = (intptr_t )0L;
  options[1].type = (enum parse_opt_type )((enum parse_opt_type )8);
  options[1].short_name = (int )'c';
  options[1].long_name = (char const   *)((char const   *)"comment-lines");
  options[1].value = (void *)((void *)(& mode___1));
  options[1].argh = (char const   *)((char const   *)((void *)0));
  options[1].help = (char const   *)((char const   *)"prepend comment character and space to each line");
  options[1].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2054);
  options[1].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  options[1].defval = (intptr_t )((intptr_t )2);
  options[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[1].extra = (intptr_t )0L;
  options[2].type = (enum parse_opt_type )((enum parse_opt_type )0);
  options[2].short_name = (int )0;
  options[2].long_name = (char const   *)((char const   *)0);
  options[2].value = (void *)((void *)0);
  options[2].argh = (char const   *)((char const   *)0);
  options[2].help = (char const   *)((char const   *)0);
  options[2].flags = (enum parse_opt_option_flags )0U;
  options[2].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  options[2].defval = (intptr_t )0L;
  options[2].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  options[2].extra = (intptr_t )0L;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       stripspace_usage, (enum parse_opt_flags )0);
  if (argc) {
    usage_with_options(stripspace_usage, (struct option  const  *)(options));
  }
  if ((unsigned int )mode___1 == 1U) {
    setup_git_directory_gently(& nongit);
    git_config(& git_default_config, (void *)0);
  } else
  if ((unsigned int )mode___1 == 2U) {
    setup_git_directory_gently(& nongit);
    git_config(& git_default_config, (void *)0);
  }
  tmp = strbuf_read(& buf___19, 0, (size_t )1024);
  if (tmp < 0L) {
    die_errno((char const   *)"could not read the input");
  }
  if ((unsigned int )mode___1 == 0U) {
    strbuf_stripspace(& buf___19, (unsigned int )mode___1 == 1U);
  } else
  if ((unsigned int )mode___1 == 1U) {
    strbuf_stripspace(& buf___19, (unsigned int )mode___1 == 1U);
  } else {
    comment_lines(& buf___19);
  }
  write_or_die(1, (void const   *)buf___19.buf, buf___19.len);
  strbuf_release(& buf___19);
  return (0);
}
}
static double const   __ac_HASH_UPPER___159  =    (double const   )0.77;
__inline static void kh_resize_oid_set___159(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___159(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___159 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___159 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___159(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___159(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___159(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___159(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___159(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___159(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___159 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___159 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___159(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___159(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___159(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___159(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___159(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___159(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___159 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___159 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___159(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___159(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___159(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___159(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___115(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___115(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___159 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___159 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___115(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___115(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___115(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___115(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char *get_default_remote(void)
{
  char *dest ;
  char *ret___67 ;
  struct strbuf sb___6 ;
  char const   *refname ;
  char const   *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  dest = (char *)((void *)0);
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = resolve_ref_unsafe((char const   *)"HEAD", 0, (struct object_id *)((void *)0),
                           (int *)((void *)0));
  refname = tmp;
  if (! refname) {
    tmp___0 = _((char const   *)"No such ref: %s");
    die((char const   *)tmp___0, "HEAD");
  }
  tmp___2 = strcmp(refname, (char const   *)"HEAD");
  if (! tmp___2) {
    tmp___1 = xstrdup((char const   *)"origin");
    return (tmp___1);
  }
  tmp___4 = skip_prefix(refname, (char const   *)"refs/heads/", & refname);
  if (! tmp___4) {
    tmp___3 = _((char const   *)"Expecting a full ref name, got %s");
    die((char const   *)tmp___3, refname);
  }
  strbuf_addf(& sb___6, (char const   *)"branch.%s.remote", refname);
  tmp___5 = git_config_get_string((char const   *)sb___6.buf, & dest);
  if (tmp___5) {
    ret___67 = xstrdup((char const   *)"origin");
  } else {
    ret___67 = dest;
  }
  strbuf_release(& sb___6);
  return (ret___67);
}
}
static int print_default_remote(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char *remote ;
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if (argc != 1) {
    tmp = _((char const   *)"submodule--helper print-default-remote takes no arguments");
    die((char const   *)tmp);
  }
  remote = get_default_remote();
  if (remote) {
    printf((char const   *)"%s\n", remote);
  }
  free((void *)remote);
  return (0);
}
}
static int starts_with_dot_slash___0(char const   *str )
{
  int tmp ;
  int tmp___0 ;

  {
  if ((int const   )*(str + 0) == 46) {
    tmp = git_is_dir_sep((int )*(str + 1));
    if (tmp) {
      tmp___0 = 1;
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static int starts_with_dot_dot_slash___0(char const   *str )
{
  int tmp ;
  int tmp___0 ;

  {
  if ((int const   )*(str + 0) == 46) {
    if ((int const   )*(str + 1) == 46) {
      tmp = git_is_dir_sep((int )*(str + 2));
      if (tmp) {
        tmp___0 = 1;
      } else {
        tmp___0 = 0;
      }
    } else {
      tmp___0 = 0;
    }
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static int chop_last_dir(char **remoteurl , int is_relative )
{
  char *rfind ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  tmp = git_find_last_dir_sep((char const   *)*remoteurl);
  rfind = tmp;
  if (rfind) {
    *rfind = (char )'\000';
    return (0);
  }
  rfind = strrchr((char const   *)*remoteurl, ':');
  if (rfind) {
    *rfind = (char )'\000';
    return (1);
  }
  if (is_relative) {
    tmp___0 = _((char const   *)"cannot strip one component off url \'%s\'");
    die((char const   *)tmp___0, *remoteurl);
  } else {
    tmp___1 = strcmp((char const   *)".", (char const   *)*remoteurl);
    if (! tmp___1) {
      tmp___0 = _((char const   *)"cannot strip one component off url \'%s\'");
      die((char const   *)tmp___0, *remoteurl);
    }
  }
  free((void *)*remoteurl);
  *remoteurl = xstrdup((char const   *)".");
  return (0);
}
}
static char *relative_url(char const   *remote_url , char const   *url , char const   *up_path )
{
  int is_relative ;
  int colonsep ;
  char *out ;
  char *remoteurl ;
  char *tmp ;
  struct strbuf sb___6 ;
  size_t len___0 ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  char *tmp___12 ;

  {
  is_relative = 0;
  colonsep = 0;
  tmp = xstrdup(remote_url);
  remoteurl = tmp;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp___0 = strlen((char const   *)remoteurl);
  len___0 = tmp___0;
  tmp___1 = git_is_dir_sep((int )*(remoteurl + (len___0 - 1UL)));
  if (tmp___1) {
    *(remoteurl + (len___0 - 1UL)) = (char )'\000';
  }
  tmp___4 = url_is_local_not_ssh((char const   *)remoteurl);
  if (tmp___4) {
    tmp___5 = is_absolute_path((char const   *)remoteurl);
    if (tmp___5) {
      is_relative = 0;
    } else {
      is_relative = 1;
      tmp___2 = starts_with_dot_slash___0((char const   *)remoteurl);
      if (! tmp___2) {
        tmp___3 = starts_with_dot_dot_slash___0((char const   *)remoteurl);
        if (! tmp___3) {
          strbuf_setlen___33(& sb___6, (size_t )0);
          strbuf_addf(& sb___6, (char const   *)"./%s", remoteurl);
          free((void *)remoteurl);
          remoteurl = strbuf_detach(& sb___6, (size_t *)((void *)0));
        }
      }
    }
  } else {
    is_relative = 0;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! url) {
      goto while_break;
    }
    tmp___8 = starts_with_dot_dot_slash___0(url);
    if (tmp___8) {
      url += 3;
      tmp___6 = chop_last_dir(& remoteurl, is_relative);
      colonsep |= tmp___6;
    } else {
      tmp___7 = starts_with_dot_slash___0(url);
      if (tmp___7) {
        url += 2;
      } else {
        goto while_break;
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_setlen___33(& sb___6, (size_t )0);
  if (colonsep) {
    tmp___9 = ":";
  } else {
    tmp___9 = "/";
  }
  strbuf_addf(& sb___6, (char const   *)"%s%s%s", remoteurl, tmp___9, url);
  tmp___10 = ends_with(url, (char const   *)"/");
  if (tmp___10) {
    strbuf_setlen___33(& sb___6, sb___6.len - 1UL);
  }
  free((void *)remoteurl);
  tmp___11 = starts_with_dot_slash___0((char const   *)sb___6.buf);
  if (tmp___11) {
    out = xstrdup((char const   *)(sb___6.buf + 2));
  } else {
    out = xstrdup((char const   *)sb___6.buf);
  }
  if (! up_path) {
    strbuf_release(& sb___6);
    return (out);
  } else
  if (! is_relative) {
    strbuf_release(& sb___6);
    return (out);
  }
  strbuf_setlen___33(& sb___6, (size_t )0);
  strbuf_addf(& sb___6, (char const   *)"%s%s", up_path, out);
  free((void *)out);
  tmp___12 = strbuf_detach(& sb___6, (size_t *)((void *)0));
  return (tmp___12);
}
}
static char *resolve_relative_url(char const   *rel_url , char const   *up_path ,
                                  int quiet___7 )
{
  char *remoteurl ;
  char *resolved_url ;
  char *remote ;
  char *tmp ;
  struct strbuf remotesb ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;

  {
  tmp = get_default_remote();
  remote = tmp;
  remotesb.alloc = 0UL;
  remotesb.len = 0UL;
  remotesb.buf = strbuf_slopbuf;
  strbuf_addf(& remotesb, (char const   *)"remote.%s.url", remote);
  tmp___1 = git_config_get_string((char const   *)remotesb.buf, & remoteurl);
  if (tmp___1) {
    if (! quiet___7) {
      tmp___0 = _((char const   *)"could not look up configuration \'%s\'. Assuming this repository is its own authoritative upstream.");
      warning((char const   *)tmp___0, remotesb.buf);
    }
    remoteurl = xgetcwd();
  }
  resolved_url = relative_url((char const   *)remoteurl, rel_url, up_path);
  free((void *)remote);
  free((void *)remoteurl);
  strbuf_release(& remotesb);
  return (resolved_url);
}
}
static int resolve_relative_url_test(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char *remoteurl ;
  char *res ;
  char const   *up_path ;
  char const   *url ;
  int tmp ;

  {
  if (argc != 4) {
    die((char const   *)"resolve-relative-url-test only accepts three arguments: <up_path> <remoteurl> <url>");
  }
  up_path = *(argv___0 + 1);
  remoteurl = xstrdup(*(argv___0 + 2));
  url = *(argv___0 + 3);
  tmp = strcmp(up_path, (char const   *)"(null)");
  if (! tmp) {
    up_path = (char const   *)((void *)0);
  }
  res = relative_url((char const   *)remoteurl, url, up_path);
  puts((char const   *)res);
  free((void *)res);
  free((void *)remoteurl);
  return (0);
}
}
static char *get_submodule_displaypath(char const   *path___6 , char const   *prefix___1 )
{
  char const   *super_prefix___0 ;
  char const   *tmp ;
  struct strbuf sb___6 ;
  char *displaypath ;
  char const   *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;

  {
  tmp = get_super_prefix();
  super_prefix___0 = tmp;
  if (prefix___1) {
    if (super_prefix___0) {
      BUG_fl((char const   *)"builtin/submodule--helper.c", 255, (char const   *)"cannot have prefix \'%s\' and superprefix \'%s\'",
             prefix___1, super_prefix___0);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (prefix___1) {
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    tmp___0 = relative_path(path___6, prefix___1, & sb___6);
    tmp___1 = xstrdup(tmp___0);
    displaypath = tmp___1;
    strbuf_release(& sb___6);
    return (displaypath);
  } else
  if (super_prefix___0) {
    tmp___2 = xstrfmt((char const   *)"%s%s", super_prefix___0, path___6);
    return (tmp___2);
  } else {
    tmp___3 = xstrdup(path___6);
    return (tmp___3);
  }
}
}
static char *compute_rev_name(char const   *sub_path , char const   *object_id ) ;
static char const   *describe_bare[1]  = {      (char const   *)((void *)0)};
static char const   *describe_tags[2]  = {      (char const   *)"--tags",      (char const   *)((void *)0)};
static char const   *describe_contains[2]  = {      (char const   *)"--contains",      (char const   *)((void *)0)};
static char const   *describe_all_always[3]  = {      (char const   *)"--all",      (char const   *)"--always",      (char const   *)((void *)0)};
static char const   **describe_argv[5]  = {      describe_bare,      describe_tags,      describe_contains,      describe_all_always,
        (char const   **)((void *)0)};
static char *compute_rev_name(char const   *sub_path , char const   *object_id )
{
  struct strbuf sb___6 ;
  char const   ***d ;
  struct child_process cp ;
  char *tmp ;
  int tmp___0 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  d = describe_argv;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *d) {
      goto while_break;
    }
    cp.args.v = empty_strvec;
    cp.args.nr = 0UL;
    cp.args.alloc = 0UL;
    cp.env_array.v = empty_strvec;
    cp.env_array.nr = 0UL;
    cp.env_array.alloc = 0UL;
    cp.pid = 0;
    cp.trace2_child_id = 0;
    cp.trace2_child_us_start = 0UL;
    cp.trace2_child_class = (char const   *)0;
    cp.trace2_hook_name = (char const   *)0;
    cp.in = 0;
    cp.out = 0;
    cp.err = 0;
    cp.dir = (char const   *)0;
    cp.no_stdin = 0U;
    cp.no_stdout = 0U;
    cp.no_stderr = 0U;
    cp.git_cmd = 0U;
    cp.silent_exec_failure = 0U;
    cp.use_shell = 0U;
    cp.close_object_store = 0U;
    cp.stdout_to_stderr = 0U;
    cp.clean_on_exit = 0U;
    cp.wait_after_clean = 0U;
    cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    cp.clean_on_exit_handler_cbdata = (void *)0;
    prepare_submodule_repo_env(& cp.env_array);
    cp.dir = sub_path;
    cp.git_cmd = 1U;
    cp.no_stderr = 1U;
    strvec_push(& cp.args, (char const   *)"describe");
    strvec_pushv(& cp.args, *d);
    strvec_push(& cp.args, object_id);
    tmp___0 = capture_command(& cp, & sb___6, (size_t )0);
    if (! tmp___0) {
      strbuf_strip_suffix___33(& sb___6, (char const   *)"\n");
      tmp = strbuf_detach(& sb___6, (size_t *)((void *)0));
      return (tmp);
    }
    d ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& sb___6);
  return ((char *)((void *)0));
}
}
static int module_list_compute(int argc , char const   **argv___0 , char const   *prefix___1 ,
                               struct pathspec *pathspec___1 , struct module_list *list___3 )
{
  int i ;
  int result___0 ;
  char *ps_matched___1 ;
  void *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  struct cache_entry  const  *ce ;
  int tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  result___0 = 0;
  ps_matched___1 = (char *)((void *)0);
  parse_pathspec(pathspec___1, 0U, (unsigned int )(1 << 1), prefix___1, argv___0);
  if (pathspec___1->nr) {
    tmp = xcalloc((size_t )pathspec___1->nr, (size_t )1);
    ps_matched___1 = (char *)tmp;
  }
  tmp___1 = repo_read_index(the_repository);
  if (tmp___1 < 0) {
    tmp___0 = _((char const   *)"index file corrupt");
    die((char const   *)tmp___0);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < the_index.cache_nr)) {
      goto while_break;
    }
    ce = (struct cache_entry  const  *)*(the_index.cache + i);
    tmp___2 = match_pathspec(& the_index, (struct pathspec  const  *)pathspec___1,
                             (char const   *)(ce->name), (int )ce->ce_namelen, 0,
                             ps_matched___1, 1);
    if (tmp___2) {
      if (! ((ce->ce_mode & 61440U) == 57344U)) {
        goto __Cont;
      }
    } else {
      goto __Cont;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (list___3->nr + 1 > list___3->alloc) {
        if (((list___3->alloc + 16) * 3) / 2 < list___3->nr + 1) {
          list___3->alloc = list___3->nr + 1;
        } else {
          list___3->alloc = ((list___3->alloc + 16) * 3) / 2;
        }
        tmp___3 = st_mult(sizeof(*(list___3->entries)), (size_t )list___3->alloc);
        tmp___4 = xrealloc((void *)list___3->entries, tmp___3);
        list___3->entries = (struct cache_entry  const  **)tmp___4;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___5 = list___3->nr;
    (list___3->nr) ++;
    *(list___3->entries + tmp___5) = ce;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if ((unsigned int )(i + 1) < the_index.cache_nr) {
        tmp___6 = strcmp((char const   *)(ce->name), (char const   *)((*(the_index.cache + (i + 1)))->name));
        if (tmp___6) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (ps_matched___1) {
    tmp___7 = report_path_error((char const   *)ps_matched___1, (struct pathspec  const  *)pathspec___1);
    if (tmp___7) {
      result___0 = -1;
    }
  }
  free((void *)ps_matched___1);
  return (result___0);
}
}
static void module_list_active(struct module_list *list___3 )
{
  int i ;
  struct module_list active_modules ;
  struct cache_entry  const  *ce ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;

  {
  active_modules.entries = (struct cache_entry  const  **)0;
  active_modules.alloc = 0;
  active_modules.nr = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < list___3->nr)) {
      goto while_break;
    }
    ce = *(list___3->entries + i);
    tmp = is_submodule_active(the_repository, (char const   *)(ce->name));
    if (! tmp) {
      goto __Cont;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (active_modules.nr + 1 > active_modules.alloc) {
        if (((active_modules.alloc + 16) * 3) / 2 < active_modules.nr + 1) {
          active_modules.alloc = active_modules.nr + 1;
        } else {
          active_modules.alloc = ((active_modules.alloc + 16) * 3) / 2;
        }
        tmp___0 = st_mult(sizeof(*(active_modules.entries)), (size_t )active_modules.alloc);
        tmp___1 = xrealloc((void *)active_modules.entries, tmp___0);
        active_modules.entries = (struct cache_entry  const  **)tmp___1;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___2 = active_modules.nr;
    (active_modules.nr) ++;
    *(active_modules.entries + tmp___2) = ce;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)list___3->entries);
  *list___3 = active_modules;
  return;
}
}
static char *get_up_path(char const   *path___6 )
{
  int i ;
  struct strbuf sb___6 ;
  size_t tmp ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  i = count_slashes(path___6);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! i) {
      goto while_break;
    }
    strbuf_addstr(& sb___6, (char const   *)"../");
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = strlen(path___6);
  tmp___0 = git_is_dir_sep((int )*(path___6 + (tmp - 1UL)));
  if (! tmp___0) {
    strbuf_addstr(& sb___6, (char const   *)"../");
  }
  tmp___1 = strbuf_detach(& sb___6, (size_t *)((void *)0));
  return (tmp___1);
}
}
static int module_list(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  struct pathspec pathspec___1 ;
  struct module_list list___3 ;
  struct option module_list_options[2] ;
  char const   *git_submodule_helper_usage[2] ;
  int tmp ;
  struct cache_entry  const  *ce ;
  struct object_id  const  *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  list___3.entries = (struct cache_entry  const  **)0;
  list___3.alloc = 0;
  list___3.nr = 0;
  module_list_options[0].type = (enum parse_opt_type )9;
  module_list_options[0].short_name = 0;
  module_list_options[0].long_name = (char const   *)"prefix";
  module_list_options[0].value = (void *)(& prefix___1);
  module_list_options[0].argh = (char const   *)"path";
  module_list_options[0].help = (char const   *)"alternative anchor for relative paths";
  module_list_options[0].flags = (enum parse_opt_option_flags )0;
  module_list_options[0].callback = (parse_opt_cb *)0;
  module_list_options[0].defval = 0L;
  module_list_options[0].ll_callback = (parse_opt_ll_cb *)0;
  module_list_options[0].extra = 0L;
  module_list_options[1].type = (enum parse_opt_type )0;
  module_list_options[1].short_name = 0;
  module_list_options[1].long_name = (char const   *)0;
  module_list_options[1].value = (void *)0;
  module_list_options[1].argh = (char const   *)0;
  module_list_options[1].help = (char const   *)0;
  module_list_options[1].flags = 0U;
  module_list_options[1].callback = (parse_opt_cb *)0;
  module_list_options[1].defval = 0L;
  module_list_options[1].ll_callback = (parse_opt_ll_cb *)0;
  module_list_options[1].extra = 0L;
  git_submodule_helper_usage[0] = (char const   *)"git submodule--helper list [--prefix=<path>] [<path>...]";
  git_submodule_helper_usage[1] = (char const   *)((void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(module_list_options),
                       git_submodule_helper_usage, (enum parse_opt_flags )0);
  tmp = module_list_compute(argc, argv___0, prefix___1, & pathspec___1, & list___3);
  if (tmp < 0) {
    return (1);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < list___3.nr)) {
      goto while_break;
    }
    ce = *(list___3.entries + i);
    if ((12288U & ce->ce_flags) >> 12) {
      tmp___0 = null_oid();
      tmp___1 = oid_to_hex(tmp___0);
      printf((char const   *)"%06o %s U\t", ce->ce_mode, tmp___1);
    } else {
      tmp___2 = oid_to_hex((struct object_id  const  *)(& ce->oid));
      printf((char const   *)"%06o %s %d\t", ce->ce_mode, tmp___2, (12288U & ce->ce_flags) >> 12);
    }
    fprintf(stdout, (char const   *)"%s\n", ce->name);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void for_each_listed_submodule(struct module_list  const  *list___3 , void (*fn)(struct cache_entry  const  *list_item ,
                                                                                        void *cb_data ) ,
                                      void *cb_data )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (int )list___3->nr)) {
      goto while_break;
    }
    (*fn)(*(list___3->entries + i), cb_data);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void runcommand_in_submodule_cb(struct cache_entry  const  *list_item , void *cb_data )
{
  struct foreach_cb *info___0 ;
  char const   *path___6 ;
  struct object_id  const  *ce_oid ;
  struct submodule  const  *sub ;
  struct child_process cp ;
  char *displaypath ;
  struct object_id  const  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char *toplevel ;
  char *tmp___2 ;
  struct strbuf sb___6 ;
  char *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  struct child_process cpr ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;

  {
  info___0 = (struct foreach_cb *)cb_data;
  path___6 = (char const   *)(list_item->name);
  ce_oid = (struct object_id  const  *)(& list_item->oid);
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  displaypath = get_submodule_displaypath(path___6, info___0->prefix);
  tmp = null_oid();
  sub = submodule_from_path(the_repository, tmp, path___6);
  if (! sub) {
    tmp___0 = _((char const   *)"No url found for submodule path \'%s\' in .gitmodules");
    die((char const   *)tmp___0, displaypath);
  }
  tmp___1 = is_submodule_populated_gently(path___6, (int *)((void *)0));
  if (! tmp___1) {
    goto cleanup;
  }
  prepare_submodule_repo_env(& cp.env_array);
  cp.use_shell = 1U;
  cp.dir = path___6;
  if (info___0->argc == 1) {
    tmp___2 = xgetcwd();
    toplevel = tmp___2;
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    strvec_pushf(& cp.env_array, (char const   *)"name=%s", sub->name);
    strvec_pushf(& cp.env_array, (char const   *)"sm_path=%s", path___6);
    strvec_pushf(& cp.env_array, (char const   *)"displaypath=%s", displaypath);
    tmp___3 = oid_to_hex(ce_oid);
    strvec_pushf(& cp.env_array, (char const   *)"sha1=%s", tmp___3);
    strvec_pushf(& cp.env_array, (char const   *)"toplevel=%s", toplevel);
    sq_quote_buf(& sb___6, path___6);
    strvec_pushf(& cp.args, (char const   *)"path=%s; %s", sb___6.buf, *(info___0->argv + 0));
    strbuf_release(& sb___6);
    free((void *)toplevel);
  } else {
    strvec_pushv(& cp.args, info___0->argv);
  }
  if (! info___0->quiet) {
    tmp___4 = _((char const   *)"Entering \'%s\'\n");
    printf((char const   *)tmp___4, displaypath);
  }
  if (*(info___0->argv + 0)) {
    tmp___6 = run_command(& cp);
    if (tmp___6) {
      tmp___5 = _((char const   *)"run_command returned non-zero status for %s\n.");
      die((char const   *)tmp___5, displaypath);
    }
  }
  if (info___0->recursive) {
    cpr.args.v = empty_strvec;
    cpr.args.nr = 0UL;
    cpr.args.alloc = 0UL;
    cpr.env_array.v = empty_strvec;
    cpr.env_array.nr = 0UL;
    cpr.env_array.alloc = 0UL;
    cpr.pid = 0;
    cpr.trace2_child_id = 0;
    cpr.trace2_child_us_start = 0UL;
    cpr.trace2_child_class = (char const   *)0;
    cpr.trace2_hook_name = (char const   *)0;
    cpr.in = 0;
    cpr.out = 0;
    cpr.err = 0;
    cpr.dir = (char const   *)0;
    cpr.no_stdin = 0U;
    cpr.no_stdout = 0U;
    cpr.no_stderr = 0U;
    cpr.git_cmd = 0U;
    cpr.silent_exec_failure = 0U;
    cpr.use_shell = 0U;
    cpr.close_object_store = 0U;
    cpr.stdout_to_stderr = 0U;
    cpr.clean_on_exit = 0U;
    cpr.wait_after_clean = 0U;
    cpr.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    cpr.clean_on_exit_handler_cbdata = (void *)0;
    cpr.git_cmd = 1U;
    cpr.dir = path___6;
    prepare_submodule_repo_env(& cpr.env_array);
    strvec_pushl(& cpr.args, "--super-prefix", (void *)0);
    strvec_pushf(& cpr.args, (char const   *)"%s/", displaypath);
    strvec_pushl(& cpr.args, "submodule--helper", "foreach", "--recursive", (void *)0);
    if (info___0->quiet) {
      strvec_push(& cpr.args, (char const   *)"--quiet");
    }
    strvec_push(& cpr.args, (char const   *)"--");
    strvec_pushv(& cpr.args, info___0->argv);
    tmp___8 = run_command(& cpr);
    if (tmp___8) {
      tmp___7 = _((char const   *)"run_command returned non-zero status while recursing in the nested submodules of %s\n.");
      die((char const   *)tmp___7, displaypath);
    }
  }
  cleanup:
  free((void *)displaypath);
  return;
}
}
static int module_foreach(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct foreach_cb info___0 ;
  struct pathspec pathspec___1 ;
  struct module_list list___3 ;
  struct option module_foreach_options[3] ;
  char const   *git_submodule_helper_usage[2] ;
  int tmp ;

  {
  info___0.argc = 0;
  info___0.argv = (char const   **)0;
  info___0.prefix = (char const   *)0;
  info___0.quiet = 0;
  info___0.recursive = 0;
  list___3.entries = (struct cache_entry  const  **)0;
  list___3.alloc = 0;
  list___3.nr = 0;
  module_foreach_options[0].type = (enum parse_opt_type )7;
  module_foreach_options[0].short_name = 'q';
  module_foreach_options[0].long_name = (char const   *)"quiet";
  module_foreach_options[0].value = (void *)(& info___0.quiet);
  module_foreach_options[0].argh = (char const   *)((void *)0);
  module_foreach_options[0].help = (char const   *)"suppress output of entering each submodule command";
  module_foreach_options[0].flags = (enum parse_opt_option_flags )2;
  module_foreach_options[0].callback = (parse_opt_cb *)0;
  module_foreach_options[0].defval = 0L;
  module_foreach_options[0].ll_callback = (parse_opt_ll_cb *)0;
  module_foreach_options[0].extra = 0L;
  module_foreach_options[1].type = (enum parse_opt_type )8;
  module_foreach_options[1].short_name = 0;
  module_foreach_options[1].long_name = (char const   *)"recursive";
  module_foreach_options[1].value = (void *)(& info___0.recursive);
  module_foreach_options[1].argh = (char const   *)((void *)0);
  module_foreach_options[1].help = (char const   *)"recurse into nested submodules";
  module_foreach_options[1].flags = (enum parse_opt_option_flags )2;
  module_foreach_options[1].callback = (parse_opt_cb *)((void *)0);
  module_foreach_options[1].defval = (intptr_t )1;
  module_foreach_options[1].ll_callback = (parse_opt_ll_cb *)0;
  module_foreach_options[1].extra = 0L;
  module_foreach_options[2].type = (enum parse_opt_type )0;
  module_foreach_options[2].short_name = 0;
  module_foreach_options[2].long_name = (char const   *)0;
  module_foreach_options[2].value = (void *)0;
  module_foreach_options[2].argh = (char const   *)0;
  module_foreach_options[2].help = (char const   *)0;
  module_foreach_options[2].flags = 0U;
  module_foreach_options[2].callback = (parse_opt_cb *)0;
  module_foreach_options[2].defval = 0L;
  module_foreach_options[2].ll_callback = (parse_opt_ll_cb *)0;
  module_foreach_options[2].extra = 0L;
  git_submodule_helper_usage[0] = (char const   *)"git submodule--helper foreach [--quiet] [--recursive] [--] <command>";
  git_submodule_helper_usage[1] = (char const   *)((void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(module_foreach_options),
                       git_submodule_helper_usage, (enum parse_opt_flags )0);
  tmp = module_list_compute(0, (char const   **)((void *)0), prefix___1, & pathspec___1,
                            & list___3);
  if (tmp < 0) {
    return (1);
  }
  info___0.argc = argc;
  info___0.argv = argv___0;
  info___0.prefix = prefix___1;
  for_each_listed_submodule((struct module_list  const  *)(& list___3), & runcommand_in_submodule_cb,
                            (void *)(& info___0));
  return (0);
}
}
static void init_submodule(char const   *path___6 , char const   *prefix___1 , unsigned int flags___0 )
{
  struct submodule  const  *sub ;
  struct strbuf sb___6 ;
  char *upd ;
  char *url ;
  char *displaypath ;
  struct object_id  const  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char *oldurl ;
  int tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const   *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  upd = (char *)((void *)0);
  url = (char *)((void *)0);
  displaypath = get_submodule_displaypath(path___6, prefix___1);
  tmp = null_oid();
  sub = submodule_from_path(the_repository, tmp, path___6);
  if (! sub) {
    tmp___0 = _((char const   *)"No url found for submodule path \'%s\' in .gitmodules");
    die((char const   *)tmp___0, displaypath);
  }
  tmp___1 = is_submodule_active(the_repository, path___6);
  if (! tmp___1) {
    strbuf_addf(& sb___6, (char const   *)"submodule.%s.active", sub->name);
    git_config_set_gently((char const   *)sb___6.buf, (char const   *)"true");
    strbuf_setlen___33(& sb___6, (size_t )0);
  }
  strbuf_addf(& sb___6, (char const   *)"submodule.%s.url", sub->name);
  tmp___8 = git_config_get_string((char const   *)sb___6.buf, & url);
  if (tmp___8) {
    if (! sub->url) {
      tmp___2 = _((char const   *)"No url found for submodule path \'%s\' in .gitmodules");
      die((char const   *)tmp___2, displaypath);
    }
    url = xstrdup((char const   *)sub->url);
    tmp___3 = starts_with_dot_dot_slash___0((char const   *)url);
    if (tmp___3) {
      oldurl = url;
      url = resolve_relative_url((char const   *)oldurl, (char const   *)((void *)0),
                                 0);
      free((void *)oldurl);
    } else {
      tmp___4 = starts_with_dot_slash___0((char const   *)url);
      if (tmp___4) {
        oldurl = url;
        url = resolve_relative_url((char const   *)oldurl, (char const   *)((void *)0),
                                   0);
        free((void *)oldurl);
      }
    }
    tmp___6 = git_config_set_gently((char const   *)sb___6.buf, (char const   *)url);
    if (tmp___6) {
      tmp___5 = _((char const   *)"Failed to register url for submodule path \'%s\'");
      die((char const   *)tmp___5, displaypath);
    }
    if (! (flags___0 & 1U)) {
      tmp___7 = _((char const   *)"Submodule \'%s\' (%s) registered for path \'%s\'\n");
      fprintf(stderr, (char const   *)tmp___7, sub->name, url, displaypath);
    }
  }
  strbuf_setlen___33(& sb___6, (size_t )0);
  strbuf_addf(& sb___6, (char const   *)"submodule.%s.update", sub->name);
  tmp___13 = git_config_get_string((char const   *)sb___6.buf, & upd);
  if (tmp___13) {
    if ((unsigned int )sub->update_strategy.type != 0U) {
      if ((unsigned int )sub->update_strategy.type == 5U) {
        tmp___9 = _((char const   *)"warning: command update mode suggested for submodule \'%s\'\n");
        fprintf(stderr, (char const   *)tmp___9, sub->name);
        upd = xstrdup((char const   *)"none");
      } else {
        tmp___10 = submodule_strategy_to_string((struct submodule_update_strategy  const  *)(& sub->update_strategy));
        upd = xstrdup(tmp___10);
      }
      tmp___12 = git_config_set_gently((char const   *)sb___6.buf, (char const   *)upd);
      if (tmp___12) {
        tmp___11 = _((char const   *)"Failed to register update mode for submodule path \'%s\'");
        die((char const   *)tmp___11, displaypath);
      }
    }
  }
  strbuf_release(& sb___6);
  free((void *)displaypath);
  free((void *)url);
  free((void *)upd);
  return;
}
}
static void init_submodule_cb(struct cache_entry  const  *list_item , void *cb_data )
{
  struct init_cb *info___0 ;

  {
  info___0 = (struct init_cb *)cb_data;
  init_submodule((char const   *)(list_item->name), info___0->prefix, info___0->flags);
  return;
}
}
static int module_init(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct init_cb info___0 ;
  struct pathspec pathspec___1 ;
  struct module_list list___3 ;
  int quiet___7 ;
  struct option module_init_options[2] ;
  char const   *git_submodule_helper_usage[2] ;
  int tmp ;
  struct string_list  const  *tmp___0 ;

  {
  info___0.prefix = (char const   *)0;
  info___0.flags = 0U;
  list___3.entries = (struct cache_entry  const  **)0;
  list___3.alloc = 0;
  list___3.nr = 0;
  quiet___7 = 0;
  module_init_options[0].type = (enum parse_opt_type )7;
  module_init_options[0].short_name = 'q';
  module_init_options[0].long_name = (char const   *)"quiet";
  module_init_options[0].value = (void *)(& quiet___7);
  module_init_options[0].argh = (char const   *)((void *)0);
  module_init_options[0].help = (char const   *)"suppress output for initializing a submodule";
  module_init_options[0].flags = (enum parse_opt_option_flags )2;
  module_init_options[0].callback = (parse_opt_cb *)0;
  module_init_options[0].defval = 0L;
  module_init_options[0].ll_callback = (parse_opt_ll_cb *)0;
  module_init_options[0].extra = 0L;
  module_init_options[1].type = (enum parse_opt_type )0;
  module_init_options[1].short_name = 0;
  module_init_options[1].long_name = (char const   *)0;
  module_init_options[1].value = (void *)0;
  module_init_options[1].argh = (char const   *)0;
  module_init_options[1].help = (char const   *)0;
  module_init_options[1].flags = 0U;
  module_init_options[1].callback = (parse_opt_cb *)0;
  module_init_options[1].defval = 0L;
  module_init_options[1].ll_callback = (parse_opt_ll_cb *)0;
  module_init_options[1].extra = 0L;
  git_submodule_helper_usage[0] = (char const   *)"git submodule--helper init [<options>] [<path>]";
  git_submodule_helper_usage[1] = (char const   *)((void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(module_init_options),
                       git_submodule_helper_usage, (enum parse_opt_flags )0);
  tmp = module_list_compute(argc, argv___0, prefix___1, & pathspec___1, & list___3);
  if (tmp < 0) {
    return (1);
  }
  if (! argc) {
    tmp___0 = git_config_get_value_multi((char const   *)"submodule.active");
    if (tmp___0) {
      module_list_active(& list___3);
    }
  }
  info___0.prefix = prefix___1;
  if (quiet___7) {
    info___0.flags |= 1U;
  }
  for_each_listed_submodule((struct module_list  const  *)(& list___3), & init_submodule_cb,
                            (void *)(& info___0));
  return (0);
}
}
static void print_status(unsigned int flags___0 , char state___1 , char const   *path___6 ,
                         struct object_id  const  *oid , char const   *displaypath )
{
  char *tmp ;
  char const   *name___0 ;
  char *tmp___0 ;
  char *tmp___1 ;

  {
  if (flags___0 & 1U) {
    return;
  }
  tmp = oid_to_hex(oid);
  printf((char const   *)"%c%s %s", (int )state___1, tmp, displaypath);
  if ((int )state___1 == 32) {
    goto _L;
  } else
  if ((int )state___1 == 43) {
    _L: /* CIL Label */
    tmp___0 = oid_to_hex(oid);
    tmp___1 = compute_rev_name(path___6, (char const   *)tmp___0);
    name___0 = (char const   *)tmp___1;
    if (name___0) {
      printf((char const   *)" (%s)", name___0);
    }
  }
  printf((char const   *)"\n");
  return;
}
}
static int handle_submodule_head_ref(char const   *refname , struct object_id  const  *oid ,
                                     int flags___0 , void *cb_data )
{
  struct object_id *output___4 ;

  {
  output___4 = (struct object_id *)cb_data;
  if (oid) {
    oidcpy(output___4, oid);
  }
  return (0);
}
}
static void status_submodule(char const   *path___6 , struct object_id  const  *ce_oid ,
                             unsigned int ce_flags , char const   *prefix___1 , unsigned int flags___0 )
{
  char *displaypath ;
  struct strvec diff_files_args ;
  struct rev_info rev ;
  int diff_files_result ;
  struct strbuf buf___19 ;
  char const   *git_dir ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct object_id  const  *tmp___0 ;
  struct submodule  const  *tmp___1 ;
  struct object_id  const  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  struct object_id oid ;
  struct ref_store *refs___0 ;
  struct ref_store *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  struct child_process cpr ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;

  {
  diff_files_args.v = empty_strvec;
  diff_files_args.nr = 0UL;
  diff_files_args.alloc = 0UL;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp___0 = null_oid();
  tmp___1 = submodule_from_path(the_repository, tmp___0, path___6);
  if (! tmp___1) {
    tmp = _((char const   *)"no submodule mapping found in .gitmodules for path \'%s\'");
    die((char const   *)tmp, path___6);
  }
  displaypath = get_submodule_displaypath(path___6, prefix___1);
  if ((12288U & ce_flags) >> 12) {
    tmp___2 = null_oid();
    print_status(flags___0, (char )'U', path___6, tmp___2, (char const   *)displaypath);
    goto cleanup;
  }
  strbuf_addf(& buf___19, (char const   *)"%s/.git", path___6);
  git_dir = read_gitfile_gently((char const   *)buf___19.buf, (int *)((void *)0));
  if (! git_dir) {
    git_dir = (char const   *)buf___19.buf;
  }
  tmp___3 = is_submodule_active(the_repository, path___6);
  if (tmp___3) {
    tmp___4 = is_git_directory(git_dir);
    if (! tmp___4) {
      print_status(flags___0, (char )'-', path___6, ce_oid, (char const   *)displaypath);
      strbuf_release(& buf___19);
      goto cleanup;
    }
  } else {
    print_status(flags___0, (char )'-', path___6, ce_oid, (char const   *)displaypath);
    strbuf_release(& buf___19);
    goto cleanup;
  }
  strbuf_release(& buf___19);
  strvec_pushl(& diff_files_args, "diff-files", "--ignore-submodules=dirty", "--quiet",
               "--", path___6, (void *)0);
  git_config(& git_diff_basic_config, (void *)0);
  repo_init_revisions(the_repository, & rev, (char const   *)((void *)0));
  rev.abbrev = 0U;
  tmp___5 = setup_revisions((int )diff_files_args.nr, diff_files_args.v, & rev, (struct setup_revision_opt *)((void *)0));
  diff_files_args.nr = (size_t )tmp___5;
  diff_files_result = run_diff_files(& rev, 0U);
  tmp___9 = diff_result_code(& rev.diffopt, diff_files_result);
  if (tmp___9) {
    if (! (flags___0 & (unsigned int )(1 << 1))) {
      tmp___6 = get_submodule_ref_store(path___6);
      refs___0 = tmp___6;
      if (! refs___0) {
        print_status(flags___0, (char )'-', path___6, ce_oid, (char const   *)displaypath);
        goto cleanup;
      }
      tmp___8 = refs_head_ref(refs___0, & handle_submodule_head_ref, (void *)(& oid));
      if (tmp___8) {
        tmp___7 = _((char const   *)"could not resolve HEAD ref inside the submodule \'%s\'");
        die((char const   *)tmp___7, path___6);
      }
      print_status(flags___0, (char )'+', path___6, (struct object_id  const  *)(& oid),
                   (char const   *)displaypath);
    } else {
      print_status(flags___0, (char )'+', path___6, ce_oid, (char const   *)displaypath);
    }
  } else {
    print_status(flags___0, (char )' ', path___6, ce_oid, (char const   *)displaypath);
  }
  if (flags___0 & (unsigned int )(1 << 2)) {
    cpr.args.v = empty_strvec;
    cpr.args.nr = 0UL;
    cpr.args.alloc = 0UL;
    cpr.env_array.v = empty_strvec;
    cpr.env_array.nr = 0UL;
    cpr.env_array.alloc = 0UL;
    cpr.pid = 0;
    cpr.trace2_child_id = 0;
    cpr.trace2_child_us_start = 0UL;
    cpr.trace2_child_class = (char const   *)0;
    cpr.trace2_hook_name = (char const   *)0;
    cpr.in = 0;
    cpr.out = 0;
    cpr.err = 0;
    cpr.dir = (char const   *)0;
    cpr.no_stdin = 0U;
    cpr.no_stdout = 0U;
    cpr.no_stderr = 0U;
    cpr.git_cmd = 0U;
    cpr.silent_exec_failure = 0U;
    cpr.use_shell = 0U;
    cpr.close_object_store = 0U;
    cpr.stdout_to_stderr = 0U;
    cpr.clean_on_exit = 0U;
    cpr.wait_after_clean = 0U;
    cpr.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    cpr.clean_on_exit_handler_cbdata = (void *)0;
    cpr.git_cmd = 1U;
    cpr.dir = path___6;
    prepare_submodule_repo_env(& cpr.env_array);
    strvec_push(& cpr.args, (char const   *)"--super-prefix");
    strvec_pushf(& cpr.args, (char const   *)"%s/", displaypath);
    strvec_pushl(& cpr.args, "submodule--helper", "status", "--recursive", (void *)0);
    if (flags___0 & (unsigned int )(1 << 1)) {
      strvec_push(& cpr.args, (char const   *)"--cached");
    }
    if (flags___0 & 1U) {
      strvec_push(& cpr.args, (char const   *)"--quiet");
    }
    tmp___11 = run_command(& cpr);
    if (tmp___11) {
      tmp___10 = _((char const   *)"failed to recurse into submodule \'%s\'");
      die((char const   *)tmp___10, path___6);
    }
  }
  cleanup:
  strvec_clear(& diff_files_args);
  free((void *)displaypath);
  return;
}
}
static void status_submodule_cb(struct cache_entry  const  *list_item , void *cb_data )
{
  struct status_cb *info___0 ;

  {
  info___0 = (struct status_cb *)cb_data;
  status_submodule((char const   *)(list_item->name), (struct object_id  const  *)(& list_item->oid),
                   (unsigned int )list_item->ce_flags, info___0->prefix, info___0->flags);
  return;
}
}
static int module_status(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct status_cb info___0 ;
  struct pathspec pathspec___1 ;
  struct module_list list___3 ;
  int quiet___7 ;
  struct option module_status_options[4] ;
  char const   *git_submodule_helper_usage[2] ;
  int tmp ;

  {
  info___0.prefix = (char const   *)0;
  info___0.flags = 0U;
  list___3.entries = (struct cache_entry  const  **)0;
  list___3.alloc = 0;
  list___3.nr = 0;
  quiet___7 = 0;
  module_status_options[0].type = (enum parse_opt_type )7;
  module_status_options[0].short_name = 'q';
  module_status_options[0].long_name = (char const   *)"quiet";
  module_status_options[0].value = (void *)(& quiet___7);
  module_status_options[0].argh = (char const   *)((void *)0);
  module_status_options[0].help = (char const   *)"suppress submodule status output";
  module_status_options[0].flags = (enum parse_opt_option_flags )2;
  module_status_options[0].callback = (parse_opt_cb *)0;
  module_status_options[0].defval = 0L;
  module_status_options[0].ll_callback = (parse_opt_ll_cb *)0;
  module_status_options[0].extra = 0L;
  module_status_options[1].type = (enum parse_opt_type )4;
  module_status_options[1].short_name = 0;
  module_status_options[1].long_name = (char const   *)"cached";
  module_status_options[1].value = (void *)(& info___0.flags);
  module_status_options[1].argh = (char const   *)((void *)0);
  module_status_options[1].help = (char const   *)"use commit stored in the index instead of the one stored in the submodule HEAD";
  module_status_options[1].flags = (enum parse_opt_option_flags )2;
  module_status_options[1].callback = (parse_opt_cb *)((void *)0);
  module_status_options[1].defval = (intptr_t )(1 << 1);
  module_status_options[1].ll_callback = (parse_opt_ll_cb *)0;
  module_status_options[1].extra = 0L;
  module_status_options[2].type = (enum parse_opt_type )4;
  module_status_options[2].short_name = 0;
  module_status_options[2].long_name = (char const   *)"recursive";
  module_status_options[2].value = (void *)(& info___0.flags);
  module_status_options[2].argh = (char const   *)((void *)0);
  module_status_options[2].help = (char const   *)"recurse into nested submodules";
  module_status_options[2].flags = (enum parse_opt_option_flags )2;
  module_status_options[2].callback = (parse_opt_cb *)((void *)0);
  module_status_options[2].defval = (intptr_t )(1 << 2);
  module_status_options[2].ll_callback = (parse_opt_ll_cb *)0;
  module_status_options[2].extra = 0L;
  module_status_options[3].type = (enum parse_opt_type )0;
  module_status_options[3].short_name = 0;
  module_status_options[3].long_name = (char const   *)0;
  module_status_options[3].value = (void *)0;
  module_status_options[3].argh = (char const   *)0;
  module_status_options[3].help = (char const   *)0;
  module_status_options[3].flags = 0U;
  module_status_options[3].callback = (parse_opt_cb *)0;
  module_status_options[3].defval = 0L;
  module_status_options[3].ll_callback = (parse_opt_ll_cb *)0;
  module_status_options[3].extra = 0L;
  git_submodule_helper_usage[0] = (char const   *)"git submodule status [--quiet] [--cached] [--recursive] [<path>...]";
  git_submodule_helper_usage[1] = (char const   *)((void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(module_status_options),
                       git_submodule_helper_usage, (enum parse_opt_flags )0);
  tmp = module_list_compute(argc, argv___0, prefix___1, & pathspec___1, & list___3);
  if (tmp < 0) {
    return (1);
  }
  info___0.prefix = prefix___1;
  if (quiet___7) {
    info___0.flags |= 1U;
  }
  for_each_listed_submodule((struct module_list  const  *)(& list___3), & status_submodule_cb,
                            (void *)(& info___0));
  return (0);
}
}
static int module_name(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct submodule  const  *sub ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct object_id  const  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  if (argc != 2) {
    tmp = _((char const   *)"git submodule--helper name <path>");
    usage((char const   *)tmp);
  }
  tmp___0 = null_oid();
  sub = submodule_from_path(the_repository, tmp___0, *(argv___0 + 1));
  if (! sub) {
    tmp___1 = _((char const   *)"no submodule mapping found in .gitmodules for path \'%s\'");
    die((char const   *)tmp___1, *(argv___0 + 1));
  }
  printf((char const   *)"%s\n", sub->name);
  return (0);
}
}
static char *verify_submodule_committish(char const   *sm_path , char const   *committish )
{
  struct child_process cp_rev_parse ;
  struct strbuf result___0 ;
  int tmp ;
  char *tmp___0 ;

  {
  cp_rev_parse.args.v = empty_strvec;
  cp_rev_parse.args.nr = 0UL;
  cp_rev_parse.args.alloc = 0UL;
  cp_rev_parse.env_array.v = empty_strvec;
  cp_rev_parse.env_array.nr = 0UL;
  cp_rev_parse.env_array.alloc = 0UL;
  cp_rev_parse.pid = 0;
  cp_rev_parse.trace2_child_id = 0;
  cp_rev_parse.trace2_child_us_start = 0UL;
  cp_rev_parse.trace2_child_class = (char const   *)0;
  cp_rev_parse.trace2_hook_name = (char const   *)0;
  cp_rev_parse.in = 0;
  cp_rev_parse.out = 0;
  cp_rev_parse.err = 0;
  cp_rev_parse.dir = (char const   *)0;
  cp_rev_parse.no_stdin = 0U;
  cp_rev_parse.no_stdout = 0U;
  cp_rev_parse.no_stderr = 0U;
  cp_rev_parse.git_cmd = 0U;
  cp_rev_parse.silent_exec_failure = 0U;
  cp_rev_parse.use_shell = 0U;
  cp_rev_parse.close_object_store = 0U;
  cp_rev_parse.stdout_to_stderr = 0U;
  cp_rev_parse.clean_on_exit = 0U;
  cp_rev_parse.wait_after_clean = 0U;
  cp_rev_parse.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp_rev_parse.clean_on_exit_handler_cbdata = (void *)0;
  result___0.alloc = 0UL;
  result___0.len = 0UL;
  result___0.buf = strbuf_slopbuf;
  cp_rev_parse.git_cmd = 1U;
  cp_rev_parse.dir = sm_path;
  prepare_submodule_repo_env(& cp_rev_parse.env_array);
  strvec_pushl(& cp_rev_parse.args, "rev-parse", "-q", "--short", (void *)0);
  strvec_pushf(& cp_rev_parse.args, (char const   *)"%s^0", committish);
  strvec_push(& cp_rev_parse.args, (char const   *)"--");
  tmp = capture_command(& cp_rev_parse, & result___0, (size_t )0);
  if (tmp) {
    return ((char *)((void *)0));
  }
  strbuf_trim_trailing_newline(& result___0);
  tmp___0 = strbuf_detach(& result___0, (size_t *)((void *)0));
  return (tmp___0);
}
}
static void print_submodule_summary(struct summary_cb *info___0 , char *errmsg , int total_commits ,
                                    char const   *displaypath , char const   *src_abbrev ,
                                    char const   *dst_abbrev , struct module_cb *p___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  struct child_process cp_log ;

  {
  if ((int )p___0->status == 84) {
    if ((p___0->mod_dst & 61440U) == 57344U) {
      tmp = _((char const   *)"* %s %s(blob)->%s(submodule)");
      printf((char const   *)tmp, displaypath, src_abbrev, dst_abbrev);
    } else {
      tmp___0 = _((char const   *)"* %s %s(submodule)->%s(blob)");
      printf((char const   *)tmp___0, displaypath, src_abbrev, dst_abbrev);
    }
  } else {
    printf((char const   *)"* %s %s...%s", displaypath, src_abbrev, dst_abbrev);
  }
  if (total_commits < 0) {
    printf((char const   *)":\n");
  } else {
    printf((char const   *)" (%d):\n", total_commits);
  }
  if (errmsg) {
    tmp___1 = _((char const   *)"%s");
    printf((char const   *)tmp___1, errmsg);
  } else
  if (total_commits > 0) {
    cp_log.args.v = empty_strvec;
    cp_log.args.nr = 0UL;
    cp_log.args.alloc = 0UL;
    cp_log.env_array.v = empty_strvec;
    cp_log.env_array.nr = 0UL;
    cp_log.env_array.alloc = 0UL;
    cp_log.pid = 0;
    cp_log.trace2_child_id = 0;
    cp_log.trace2_child_us_start = 0UL;
    cp_log.trace2_child_class = (char const   *)0;
    cp_log.trace2_hook_name = (char const   *)0;
    cp_log.in = 0;
    cp_log.out = 0;
    cp_log.err = 0;
    cp_log.dir = (char const   *)0;
    cp_log.no_stdin = 0U;
    cp_log.no_stdout = 0U;
    cp_log.no_stderr = 0U;
    cp_log.git_cmd = 0U;
    cp_log.silent_exec_failure = 0U;
    cp_log.use_shell = 0U;
    cp_log.close_object_store = 0U;
    cp_log.stdout_to_stderr = 0U;
    cp_log.clean_on_exit = 0U;
    cp_log.wait_after_clean = 0U;
    cp_log.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    cp_log.clean_on_exit_handler_cbdata = (void *)0;
    cp_log.git_cmd = 1U;
    cp_log.dir = p___0->sm_path;
    prepare_submodule_repo_env(& cp_log.env_array);
    strvec_pushl(& cp_log.args, "log", (void *)0);
    if ((p___0->mod_src & 61440U) == 57344U) {
      if ((p___0->mod_dst & 61440U) == 57344U) {
        if (info___0->summary_limit > 0) {
          strvec_pushf(& cp_log.args, (char const   *)"-%d", info___0->summary_limit);
        }
        strvec_pushl(& cp_log.args, "--pretty=  %m %s", "--first-parent", (void *)0);
        strvec_pushf(& cp_log.args, (char const   *)"%s...%s", src_abbrev, dst_abbrev);
      } else {
        goto _L;
      }
    } else
    _L: /* CIL Label */
    if ((p___0->mod_dst & 61440U) == 57344U) {
      strvec_pushl(& cp_log.args, "--pretty=  > %s", "-1", dst_abbrev, (void *)0);
    } else {
      strvec_pushl(& cp_log.args, "--pretty=  < %s", "-1", src_abbrev, (void *)0);
    }
    run_command(& cp_log);
  }
  printf((char const   *)"\n");
  return;
}
}
static void generate_submodule_summary(struct summary_cb *info___0 , struct module_cb *p___0 )
{
  char *displaypath ;
  char *src_abbrev ;
  char *dst_abbrev ;
  int missing_src ;
  int missing_dst ;
  char *errmsg ;
  int total_commits ;
  struct ref_store *refs___0 ;
  struct ref_store *tmp ;
  struct stat st ;
  int fd ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  struct object_id  const  *tmp___5 ;
  int tmp___6 ;
  char *tmp___7 ;
  char *tmp___8 ;
  char *tmp___9 ;
  char *tmp___10 ;
  char *tmp___11 ;
  char *tmp___12 ;
  struct child_process cp_rev_list ;
  struct strbuf sb_rev_list ;
  char *tmp___13 ;
  int tmp___14 ;
  struct strbuf errmsg_str ;
  char *tmp___15 ;
  char *tmp___16 ;
  char *tmp___17 ;
  char *tmp___18 ;
  char *tmp___19 ;

  {
  src_abbrev = (char *)((void *)0);
  missing_src = 0;
  missing_dst = 0;
  errmsg = (char *)((void *)0);
  total_commits = -1;
  if (! info___0->cached) {
    tmp___5 = null_oid();
    tmp___6 = oideq((struct object_id  const  *)(& p___0->oid_dst), tmp___5);
    if (tmp___6) {
      if ((p___0->mod_dst & 61440U) == 57344U) {
        tmp = get_submodule_ref_store(p___0->sm_path);
        refs___0 = tmp;
        if (refs___0) {
          refs_head_ref(refs___0, & handle_submodule_head_ref, (void *)(& p___0->oid_dst));
        }
      } else
      if ((p___0->mod_dst & 61440U) == 40960U) {
        goto _L;
      } else
      if ((p___0->mod_dst & 61440U) == 32768U) {
        _L: /* CIL Label */
        tmp___0 = open(p___0->sm_path, 00);
        fd = tmp___0;
        if (fd < 0) {
          tmp___1 = _((char const   *)"couldn\'t hash object from \'%s\'");
          error((char const   *)tmp___1, p___0->sm_path);
          const_error();
        } else {
          tmp___2 = fstat(fd, & st);
          if (tmp___2 < 0) {
            tmp___1 = _((char const   *)"couldn\'t hash object from \'%s\'");
            error((char const   *)tmp___1, p___0->sm_path);
            const_error();
          } else {
            tmp___3 = index_fd(& the_index, & p___0->oid_dst, fd, & st, (enum object_type )3,
                               p___0->sm_path, 0U);
            if (tmp___3) {
              tmp___1 = _((char const   *)"couldn\'t hash object from \'%s\'");
              error((char const   *)tmp___1, p___0->sm_path);
              const_error();
            }
          }
        }
      } else
      if (p___0->mod_dst) {
        tmp___4 = _((char const   *)"unexpected mode %o\n");
        warning((char const   *)tmp___4, p___0->mod_dst);
      }
    }
  }
  if ((p___0->mod_src & 61440U) == 57344U) {
    if ((int )p___0->status != 68) {
      tmp___7 = oid_to_hex((struct object_id  const  *)(& p___0->oid_src));
      src_abbrev = verify_submodule_committish(p___0->sm_path, (char const   *)tmp___7);
    }
    if (! src_abbrev) {
      missing_src = 1;
      tmp___8 = oid_to_hex((struct object_id  const  *)(& p___0->oid_src));
      src_abbrev = xstrndup((char const   *)tmp___8, (size_t )7);
    }
  } else {
    tmp___9 = oid_to_hex((struct object_id  const  *)(& p___0->oid_src));
    src_abbrev = xstrndup((char const   *)tmp___9, (size_t )7);
  }
  if ((p___0->mod_dst & 61440U) == 57344U) {
    tmp___10 = oid_to_hex((struct object_id  const  *)(& p___0->oid_dst));
    dst_abbrev = verify_submodule_committish(p___0->sm_path, (char const   *)tmp___10);
    if (! dst_abbrev) {
      missing_dst = 1;
      tmp___11 = oid_to_hex((struct object_id  const  *)(& p___0->oid_dst));
      dst_abbrev = xstrndup((char const   *)tmp___11, (size_t )7);
    }
  } else {
    tmp___12 = oid_to_hex((struct object_id  const  *)(& p___0->oid_dst));
    dst_abbrev = xstrndup((char const   *)tmp___12, (size_t )7);
  }
  displaypath = get_submodule_displaypath(p___0->sm_path, info___0->prefix);
  if (! missing_src) {
    if (! missing_dst) {
      cp_rev_list.args.v = empty_strvec;
      cp_rev_list.args.nr = 0UL;
      cp_rev_list.args.alloc = 0UL;
      cp_rev_list.env_array.v = empty_strvec;
      cp_rev_list.env_array.nr = 0UL;
      cp_rev_list.env_array.alloc = 0UL;
      cp_rev_list.pid = 0;
      cp_rev_list.trace2_child_id = 0;
      cp_rev_list.trace2_child_us_start = 0UL;
      cp_rev_list.trace2_child_class = (char const   *)0;
      cp_rev_list.trace2_hook_name = (char const   *)0;
      cp_rev_list.in = 0;
      cp_rev_list.out = 0;
      cp_rev_list.err = 0;
      cp_rev_list.dir = (char const   *)0;
      cp_rev_list.no_stdin = 0U;
      cp_rev_list.no_stdout = 0U;
      cp_rev_list.no_stderr = 0U;
      cp_rev_list.git_cmd = 0U;
      cp_rev_list.silent_exec_failure = 0U;
      cp_rev_list.use_shell = 0U;
      cp_rev_list.close_object_store = 0U;
      cp_rev_list.stdout_to_stderr = 0U;
      cp_rev_list.clean_on_exit = 0U;
      cp_rev_list.wait_after_clean = 0U;
      cp_rev_list.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
      cp_rev_list.clean_on_exit_handler_cbdata = (void *)0;
      sb_rev_list.alloc = 0UL;
      sb_rev_list.len = 0UL;
      sb_rev_list.buf = strbuf_slopbuf;
      strvec_pushl(& cp_rev_list.args, "rev-list", "--first-parent", "--count", (void *)0);
      if ((p___0->mod_src & 61440U) == 57344U) {
        if ((p___0->mod_dst & 61440U) == 57344U) {
          strvec_pushf(& cp_rev_list.args, (char const   *)"%s...%s", src_abbrev,
                       dst_abbrev);
        } else {
          goto _L___0;
        }
      } else {
        _L___0: /* CIL Label */
        if ((p___0->mod_src & 61440U) == 57344U) {
          tmp___13 = src_abbrev;
        } else {
          tmp___13 = dst_abbrev;
        }
        strvec_push(& cp_rev_list.args, (char const   *)tmp___13);
      }
      strvec_push(& cp_rev_list.args, (char const   *)"--");
      cp_rev_list.git_cmd = 1U;
      cp_rev_list.dir = p___0->sm_path;
      prepare_submodule_repo_env(& cp_rev_list.env_array);
      tmp___14 = capture_command(& cp_rev_list, & sb_rev_list, (size_t )0);
      if (! tmp___14) {
        total_commits = atoi((char const   *)sb_rev_list.buf);
      }
      strbuf_release(& sb_rev_list);
    } else {
      goto _L___2;
    }
  } else
  _L___2: /* CIL Label */
  if ((p___0->mod_dst & 61440U) == 57344U) {
    errmsg_str.alloc = 0UL;
    errmsg_str.len = 0UL;
    errmsg_str.buf = strbuf_slopbuf;
    if (missing_src) {
      if (missing_dst) {
        tmp___15 = oid_to_hex((struct object_id  const  *)(& p___0->oid_dst));
        tmp___16 = oid_to_hex((struct object_id  const  *)(& p___0->oid_src));
        strbuf_addf(& errmsg_str, (char const   *)"  Warn: %s doesn\'t contain commits %s and %s\n",
                    displaypath, tmp___16, tmp___15);
      } else {
        goto _L___1;
      }
    } else {
      _L___1: /* CIL Label */
      if (missing_src) {
        tmp___17 = oid_to_hex((struct object_id  const  *)(& p___0->oid_src));
        tmp___19 = tmp___17;
      } else {
        tmp___18 = oid_to_hex((struct object_id  const  *)(& p___0->oid_dst));
        tmp___19 = tmp___18;
      }
      strbuf_addf(& errmsg_str, (char const   *)"  Warn: %s doesn\'t contain commit %s\n",
                  displaypath, tmp___19);
    }
    errmsg = strbuf_detach(& errmsg_str, (size_t *)((void *)0));
  }
  print_submodule_summary(info___0, errmsg, total_commits, (char const   *)displaypath,
                          (char const   *)src_abbrev, (char const   *)dst_abbrev,
                          p___0);
  free((void *)displaypath);
  free((void *)src_abbrev);
  free((void *)dst_abbrev);
  return;
}
}
static void prepare_submodule_summary(struct summary_cb *info___0 , struct module_cb_list *list___3 )
{
  int i ;
  struct submodule  const  *sub ;
  struct module_cb *p___0 ;
  struct strbuf sm_gitdir ;
  char *config_key___0 ;
  char const   *value ;
  int ignore_all ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  struct object_id  const  *tmp___4 ;
  int tmp___5 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < list___3->nr)) {
      goto while_break;
    }
    p___0 = *(list___3->entries + i);
    sm_gitdir.alloc = 0UL;
    sm_gitdir.len = 0UL;
    sm_gitdir.buf = strbuf_slopbuf;
    if ((int )p___0->status == 68) {
      generate_submodule_summary(info___0, p___0);
      goto __Cont;
    } else
    if ((int )p___0->status == 84) {
      generate_submodule_summary(info___0, p___0);
      goto __Cont;
    }
    if (info___0->for_status) {
      if ((int )p___0->status != 65) {
        tmp___4 = null_oid();
        sub = submodule_from_path(the_repository, tmp___4, p___0->sm_path);
        if (sub) {
          config_key___0 = (char *)((void *)0);
          ignore_all = 0;
          config_key___0 = xstrfmt((char const   *)"submodule.%s.ignore", sub->name);
          tmp___3 = git_config_get_string_tmp((char const   *)config_key___0, & value);
          if (tmp___3) {
            if (sub->ignore) {
              tmp___1 = strcmp((char const   *)sub->ignore, (char const   *)"all");
              if (tmp___1) {
                tmp___2 = 0;
              } else {
                tmp___2 = 1;
              }
              ignore_all = tmp___2;
            }
          } else {
            tmp = strcmp(value, (char const   *)"all");
            if (tmp) {
              tmp___0 = 0;
            } else {
              tmp___0 = 1;
            }
            ignore_all = tmp___0;
          }
          free((void *)config_key___0);
          if (ignore_all) {
            goto __Cont;
          }
        }
      }
    }
    strbuf_addstr(& sm_gitdir, p___0->sm_path);
    tmp___5 = is_nonbare_repository_dir(& sm_gitdir);
    if (tmp___5) {
      generate_submodule_summary(info___0, p___0);
    }
    strbuf_release(& sm_gitdir);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void submodule_summary_callback(struct diff_queue_struct *q , struct diff_options *options ,
                                       void *data )
{
  int i ;
  struct module_cb_list *list___3 ;
  struct diff_filepair *p___0 ;
  struct module_cb *temp ;
  void *tmp ;
  char *tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  int tmp___3 ;

  {
  list___3 = (struct module_cb_list *)data;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < q->nr)) {
      goto while_break;
    }
    p___0 = *(q->queue + i);
    if (! (((int )(p___0->one)->mode & 0170000) == 0160000)) {
      if (! (((int )(p___0->two)->mode & 0170000) == 0160000)) {
        goto __Cont;
      }
    }
    tmp = malloc(sizeof(struct module_cb ));
    temp = (struct module_cb *)tmp;
    temp->mod_src = (unsigned int )(p___0->one)->mode;
    temp->mod_dst = (unsigned int )(p___0->two)->mode;
    temp->oid_src = (p___0->one)->oid;
    temp->oid_dst = (p___0->two)->oid;
    temp->status = p___0->status;
    tmp___0 = xstrdup((char const   *)(p___0->one)->path);
    temp->sm_path = (char const   *)tmp___0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (list___3->nr + 1 > list___3->alloc) {
        if (((list___3->alloc + 16) * 3) / 2 < list___3->nr + 1) {
          list___3->alloc = list___3->nr + 1;
        } else {
          list___3->alloc = ((list___3->alloc + 16) * 3) / 2;
        }
        tmp___1 = st_mult(sizeof(*(list___3->entries)), (size_t )list___3->alloc);
        tmp___2 = xrealloc((void *)list___3->entries, tmp___1);
        list___3->entries = (struct module_cb **)tmp___2;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___3 = list___3->nr;
    (list___3->nr) ++;
    *(list___3->entries + tmp___3) = temp;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static char const   *get_diff_cmd(enum diff_cmd diff_cmd )
{


  {
  {
  if ((unsigned int )diff_cmd == 0U) {
    goto case_0;
  }
  if ((unsigned int )diff_cmd == 1U) {
    goto case_1;
  }
  goto switch_default;
  case_0: /* CIL Label */
  return ((char const   *)"diff-index");
  case_1: /* CIL Label */
  return ((char const   *)"diff-files");
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"builtin/submodule--helper.c", 1211, (char const   *)"bad diff_cmd value %d",
         (unsigned int )diff_cmd);
  switch_break: /* CIL Label */ ;
  }
}
}
static int compute_summary_module_list(struct object_id *head_oid___1 , struct summary_cb *info___0 ,
                                       enum diff_cmd diff_cmd )
{
  struct strvec diff_args ;
  struct rev_info rev ;
  struct module_cb_list list___3 ;
  char const   *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  diff_args.v = empty_strvec;
  diff_args.nr = 0UL;
  diff_args.alloc = 0UL;
  list___3.entries = (struct module_cb **)0;
  list___3.alloc = 0;
  list___3.nr = 0;
  tmp = get_diff_cmd(diff_cmd);
  strvec_push(& diff_args, tmp);
  if (info___0->cached) {
    strvec_push(& diff_args, (char const   *)"--cached");
  }
  strvec_pushl(& diff_args, "--ignore-submodules=dirty", "--raw", (void *)0);
  if (head_oid___1) {
    tmp___0 = oid_to_hex((struct object_id  const  *)head_oid___1);
    strvec_push(& diff_args, (char const   *)tmp___0);
  }
  strvec_push(& diff_args, (char const   *)"--");
  if (info___0->argc) {
    strvec_pushv(& diff_args, info___0->argv);
  }
  git_config(& git_diff_basic_config, (void *)0);
  repo_init_revisions(the_repository, & rev, info___0->prefix);
  rev.abbrev = 0U;
  precompose_argv_prefix((int )diff_args.nr, diff_args.v, (char const   *)((void *)0));
  setup_revisions((int )diff_args.nr, diff_args.v, & rev, (struct setup_revision_opt *)((void *)0));
  rev.diffopt.output_format = 6144;
  rev.diffopt.format_callback = & submodule_summary_callback;
  rev.diffopt.format_callback_data = (void *)(& list___3);
  if (! info___0->cached) {
    if ((unsigned int )diff_cmd == 0U) {
      setup_work_tree();
    }
    tmp___1 = repo_read_index_preload(the_repository, (struct pathspec  const  *)(& rev.diffopt.pathspec),
                                      0U);
    if (tmp___1 < 0) {
      perror((char const   *)"read_cache_preload");
      return (-1);
    }
  } else {
    tmp___2 = repo_read_index(the_repository);
    if (tmp___2 < 0) {
      perror((char const   *)"read_cache");
      return (-1);
    }
  }
  if ((unsigned int )diff_cmd == 0U) {
    run_diff_index(& rev, info___0->cached);
  } else {
    run_diff_files(& rev, 0U);
  }
  prepare_submodule_summary(info___0, & list___3);
  strvec_clear(& diff_args);
  return (0);
}
}
static int module_summary(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct summary_cb info___0 ;
  int cached ;
  int for_status ;
  int files ;
  int summary_limit ;
  enum diff_cmd diff_cmd ;
  struct object_id head_oid___1 ;
  int ret___67 ;
  struct option module_summary_options[5] ;
  char const   *git_submodule_helper_usage[2] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  struct object_id *tmp___5 ;

  {
  info___0.argc = 0;
  info___0.argv = (char const   **)0;
  info___0.prefix = (char const   *)0;
  info___0.cached = 0U;
  info___0.for_status = 0U;
  info___0.files = 0U;
  info___0.summary_limit = 0;
  cached = 0;
  for_status = 0;
  files = 0;
  summary_limit = -1;
  diff_cmd = (enum diff_cmd )0;
  module_summary_options[0].type = (enum parse_opt_type )8;
  module_summary_options[0].short_name = 0;
  module_summary_options[0].long_name = (char const   *)"cached";
  module_summary_options[0].value = (void *)(& cached);
  module_summary_options[0].argh = (char const   *)((void *)0);
  module_summary_options[0].help = (char const   *)"use the commit stored in the index instead of the submodule HEAD";
  module_summary_options[0].flags = (enum parse_opt_option_flags )2;
  module_summary_options[0].callback = (parse_opt_cb *)((void *)0);
  module_summary_options[0].defval = (intptr_t )1;
  module_summary_options[0].ll_callback = (parse_opt_ll_cb *)0;
  module_summary_options[0].extra = 0L;
  module_summary_options[1].type = (enum parse_opt_type )8;
  module_summary_options[1].short_name = 0;
  module_summary_options[1].long_name = (char const   *)"files";
  module_summary_options[1].value = (void *)(& files);
  module_summary_options[1].argh = (char const   *)((void *)0);
  module_summary_options[1].help = (char const   *)"compare the commit in the index with that in the submodule HEAD";
  module_summary_options[1].flags = (enum parse_opt_option_flags )2;
  module_summary_options[1].callback = (parse_opt_cb *)((void *)0);
  module_summary_options[1].defval = (intptr_t )1;
  module_summary_options[1].ll_callback = (parse_opt_ll_cb *)0;
  module_summary_options[1].extra = 0L;
  module_summary_options[2].type = (enum parse_opt_type )8;
  module_summary_options[2].short_name = 0;
  module_summary_options[2].long_name = (char const   *)"for-status";
  module_summary_options[2].value = (void *)(& for_status);
  module_summary_options[2].argh = (char const   *)((void *)0);
  module_summary_options[2].help = (char const   *)"skip submodules with \'ignore_config\' value set to \'all\'";
  module_summary_options[2].flags = (enum parse_opt_option_flags )2;
  module_summary_options[2].callback = (parse_opt_cb *)((void *)0);
  module_summary_options[2].defval = (intptr_t )1;
  module_summary_options[2].ll_callback = (parse_opt_ll_cb *)0;
  module_summary_options[2].extra = 0L;
  module_summary_options[3].type = (enum parse_opt_type )10;
  module_summary_options[3].short_name = 'n';
  module_summary_options[3].long_name = (char const   *)"summary-limit";
  module_summary_options[3].value = (void *)(& summary_limit);
  module_summary_options[3].argh = (char const   *)"n";
  module_summary_options[3].help = (char const   *)"limit the summary size";
  module_summary_options[3].flags = (enum parse_opt_option_flags )0;
  module_summary_options[3].callback = (parse_opt_cb *)0;
  module_summary_options[3].defval = 0L;
  module_summary_options[3].ll_callback = (parse_opt_ll_cb *)0;
  module_summary_options[3].extra = 0L;
  module_summary_options[4].type = (enum parse_opt_type )0;
  module_summary_options[4].short_name = 0;
  module_summary_options[4].long_name = (char const   *)0;
  module_summary_options[4].value = (void *)0;
  module_summary_options[4].argh = (char const   *)0;
  module_summary_options[4].help = (char const   *)0;
  module_summary_options[4].flags = 0U;
  module_summary_options[4].callback = (parse_opt_cb *)0;
  module_summary_options[4].defval = 0L;
  module_summary_options[4].ll_callback = (parse_opt_ll_cb *)0;
  module_summary_options[4].extra = 0L;
  git_submodule_helper_usage[0] = (char const   *)"git submodule--helper summary [<options>] [<commit>] [--] [<path>]";
  git_submodule_helper_usage[1] = (char const   *)((void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(module_summary_options),
                       git_submodule_helper_usage, (enum parse_opt_flags )0);
  if (! summary_limit) {
    return (0);
  }
  if (argc) {
    tmp___2 = *(argv___0 + 0);
  } else {
    tmp___2 = (char const   *)"HEAD";
  }
  tmp___3 = repo_get_oid(the_repository, tmp___2, & head_oid___1);
  if (tmp___3) {
    if (! argc) {
      goto _L;
    } else {
      tmp___1 = strcmp(*(argv___0 + 0), (char const   *)"HEAD");
      if (tmp___1) {
        tmp___0 = repo_get_oid(the_repository, (char const   *)"HEAD", & head_oid___1);
        if (tmp___0) {
          tmp = _((char const   *)"could not fetch a revision for HEAD");
          die((char const   *)tmp);
        }
      } else {
        _L: /* CIL Label */
        oidcpy(& head_oid___1, (struct object_id  const  *)(the_repository->hash_algo)->empty_tree);
        if (argc) {
          argv___0 ++;
          argc --;
        }
      }
    }
  } else
  if (argc) {
    argv___0 ++;
    argc --;
  }
  if (files) {
    if (cached) {
      tmp___4 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___4, "--cached", "--files");
    }
    diff_cmd = (enum diff_cmd )1;
  }
  info___0.argc = argc;
  info___0.argv = argv___0;
  info___0.prefix = prefix___1;
  info___0.cached = (unsigned int )(! (! cached));
  info___0.files = (unsigned int )(! (! files));
  info___0.for_status = (unsigned int )(! (! for_status));
  info___0.summary_limit = summary_limit;
  if ((unsigned int )diff_cmd == 0U) {
    tmp___5 = & head_oid___1;
  } else {
    tmp___5 = (struct object_id *)((void *)0);
  }
  ret___67 = compute_summary_module_list(tmp___5, & info___0, diff_cmd);
  return (ret___67);
}
}
static void sync_submodule(char const   *path___6 , char const   *prefix___1 , unsigned int flags___0 )
{
  struct submodule  const  *sub ;
  char *remote_key ;
  char *sub_origin_url ;
  char *super_config_url ;
  char *displaypath ;
  struct strbuf sb___6 ;
  struct child_process cp ;
  char *sub_config_path ;
  int tmp ;
  struct object_id  const  *tmp___0 ;
  char *up_path ;
  char *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  struct child_process cpr ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;

  {
  remote_key = (char *)((void *)0);
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  sub_config_path = (char *)((void *)0);
  tmp = is_submodule_active(the_repository, path___6);
  if (! tmp) {
    return;
  }
  tmp___0 = null_oid();
  sub = submodule_from_path(the_repository, tmp___0, path___6);
  if (sub) {
    if (sub->url) {
      tmp___2 = starts_with_dot_dot_slash___0((char const   *)sub->url);
      if (tmp___2) {
        tmp___1 = get_up_path(path___6);
        up_path = tmp___1;
        sub_origin_url = resolve_relative_url((char const   *)sub->url, (char const   *)up_path,
                                              1);
        super_config_url = resolve_relative_url((char const   *)sub->url, (char const   *)((void *)0),
                                                1);
        free((void *)up_path);
      } else {
        tmp___3 = starts_with_dot_slash___0((char const   *)sub->url);
        if (tmp___3) {
          tmp___1 = get_up_path(path___6);
          up_path = tmp___1;
          sub_origin_url = resolve_relative_url((char const   *)sub->url, (char const   *)up_path,
                                                1);
          super_config_url = resolve_relative_url((char const   *)sub->url, (char const   *)((void *)0),
                                                  1);
          free((void *)up_path);
        } else {
          sub_origin_url = xstrdup((char const   *)sub->url);
          super_config_url = xstrdup((char const   *)sub->url);
        }
      }
    } else {
      sub_origin_url = xstrdup((char const   *)"");
      super_config_url = xstrdup((char const   *)"");
    }
  } else {
    sub_origin_url = xstrdup((char const   *)"");
    super_config_url = xstrdup((char const   *)"");
  }
  displaypath = get_submodule_displaypath(path___6, prefix___1);
  if (! (flags___0 & 1U)) {
    tmp___4 = _((char const   *)"Synchronizing submodule url for \'%s\'\n");
    printf((char const   *)tmp___4, displaypath);
  }
  strbuf_setlen___33(& sb___6, (size_t )0);
  strbuf_addf(& sb___6, (char const   *)"submodule.%s.url", sub->name);
  tmp___6 = git_config_set_gently((char const   *)sb___6.buf, (char const   *)super_config_url);
  if (tmp___6) {
    tmp___5 = _((char const   *)"failed to register url for submodule path \'%s\'");
    die((char const   *)tmp___5, displaypath);
  }
  tmp___7 = is_submodule_populated_gently(path___6, (int *)((void *)0));
  if (! tmp___7) {
    goto cleanup;
  }
  prepare_submodule_repo_env(& cp.env_array);
  cp.git_cmd = 1U;
  cp.dir = path___6;
  strvec_pushl(& cp.args, "submodule--helper", "print-default-remote", (void *)0);
  strbuf_setlen___33(& sb___6, (size_t )0);
  tmp___9 = capture_command(& cp, & sb___6, (size_t )0);
  if (tmp___9) {
    tmp___8 = _((char const   *)"failed to get the default remote for submodule \'%s\'");
    die((char const   *)tmp___8, path___6);
  }
  strbuf_strip_suffix___33(& sb___6, (char const   *)"\n");
  remote_key = xstrfmt((char const   *)"remote.%s.url", sb___6.buf);
  strbuf_setlen___33(& sb___6, (size_t )0);
  submodule_to_gitdir(& sb___6, path___6);
  strbuf_addstr(& sb___6, (char const   *)"/config");
  tmp___11 = git_config_set_in_file_gently((char const   *)sb___6.buf, (char const   *)remote_key,
                                           (char const   *)sub_origin_url);
  if (tmp___11) {
    tmp___10 = _((char const   *)"failed to update remote for submodule \'%s\'");
    die((char const   *)tmp___10, path___6);
  }
  if (flags___0 & (unsigned int )(1 << 2)) {
    cpr.args.v = empty_strvec;
    cpr.args.nr = 0UL;
    cpr.args.alloc = 0UL;
    cpr.env_array.v = empty_strvec;
    cpr.env_array.nr = 0UL;
    cpr.env_array.alloc = 0UL;
    cpr.pid = 0;
    cpr.trace2_child_id = 0;
    cpr.trace2_child_us_start = 0UL;
    cpr.trace2_child_class = (char const   *)0;
    cpr.trace2_hook_name = (char const   *)0;
    cpr.in = 0;
    cpr.out = 0;
    cpr.err = 0;
    cpr.dir = (char const   *)0;
    cpr.no_stdin = 0U;
    cpr.no_stdout = 0U;
    cpr.no_stderr = 0U;
    cpr.git_cmd = 0U;
    cpr.silent_exec_failure = 0U;
    cpr.use_shell = 0U;
    cpr.close_object_store = 0U;
    cpr.stdout_to_stderr = 0U;
    cpr.clean_on_exit = 0U;
    cpr.wait_after_clean = 0U;
    cpr.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    cpr.clean_on_exit_handler_cbdata = (void *)0;
    cpr.git_cmd = 1U;
    cpr.dir = path___6;
    prepare_submodule_repo_env(& cpr.env_array);
    strvec_push(& cpr.args, (char const   *)"--super-prefix");
    strvec_pushf(& cpr.args, (char const   *)"%s/", displaypath);
    strvec_pushl(& cpr.args, "submodule--helper", "sync", "--recursive", (void *)0);
    if (flags___0 & 1U) {
      strvec_push(& cpr.args, (char const   *)"--quiet");
    }
    tmp___13 = run_command(& cpr);
    if (tmp___13) {
      tmp___12 = _((char const   *)"failed to recurse into submodule \'%s\'");
      die((char const   *)tmp___12, path___6);
    }
  }
  cleanup:
  free((void *)super_config_url);
  free((void *)sub_origin_url);
  strbuf_release(& sb___6);
  free((void *)remote_key);
  free((void *)displaypath);
  free((void *)sub_config_path);
  return;
}
}
static void sync_submodule_cb(struct cache_entry  const  *list_item , void *cb_data )
{
  struct sync_cb *info___0 ;

  {
  info___0 = (struct sync_cb *)cb_data;
  sync_submodule((char const   *)(list_item->name), info___0->prefix, info___0->flags);
  return;
}
}
static int module_sync(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct sync_cb info___0 ;
  struct pathspec pathspec___1 ;
  struct module_list list___3 ;
  int quiet___7 ;
  int recursive___0 ;
  struct option module_sync_options[3] ;
  char const   *git_submodule_helper_usage[2] ;
  int tmp ;

  {
  info___0.prefix = (char const   *)0;
  info___0.flags = 0U;
  list___3.entries = (struct cache_entry  const  **)0;
  list___3.alloc = 0;
  list___3.nr = 0;
  quiet___7 = 0;
  recursive___0 = 0;
  module_sync_options[0].type = (enum parse_opt_type )7;
  module_sync_options[0].short_name = 'q';
  module_sync_options[0].long_name = (char const   *)"quiet";
  module_sync_options[0].value = (void *)(& quiet___7);
  module_sync_options[0].argh = (char const   *)((void *)0);
  module_sync_options[0].help = (char const   *)"suppress output of synchronizing submodule url";
  module_sync_options[0].flags = (enum parse_opt_option_flags )2;
  module_sync_options[0].callback = (parse_opt_cb *)0;
  module_sync_options[0].defval = 0L;
  module_sync_options[0].ll_callback = (parse_opt_ll_cb *)0;
  module_sync_options[0].extra = 0L;
  module_sync_options[1].type = (enum parse_opt_type )8;
  module_sync_options[1].short_name = 0;
  module_sync_options[1].long_name = (char const   *)"recursive";
  module_sync_options[1].value = (void *)(& recursive___0);
  module_sync_options[1].argh = (char const   *)((void *)0);
  module_sync_options[1].help = (char const   *)"recurse into nested submodules";
  module_sync_options[1].flags = (enum parse_opt_option_flags )2;
  module_sync_options[1].callback = (parse_opt_cb *)((void *)0);
  module_sync_options[1].defval = (intptr_t )1;
  module_sync_options[1].ll_callback = (parse_opt_ll_cb *)0;
  module_sync_options[1].extra = 0L;
  module_sync_options[2].type = (enum parse_opt_type )0;
  module_sync_options[2].short_name = 0;
  module_sync_options[2].long_name = (char const   *)0;
  module_sync_options[2].value = (void *)0;
  module_sync_options[2].argh = (char const   *)0;
  module_sync_options[2].help = (char const   *)0;
  module_sync_options[2].flags = 0U;
  module_sync_options[2].callback = (parse_opt_cb *)0;
  module_sync_options[2].defval = 0L;
  module_sync_options[2].ll_callback = (parse_opt_ll_cb *)0;
  module_sync_options[2].extra = 0L;
  git_submodule_helper_usage[0] = (char const   *)"git submodule--helper sync [--quiet] [--recursive] [<path>]";
  git_submodule_helper_usage[1] = (char const   *)((void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(module_sync_options),
                       git_submodule_helper_usage, (enum parse_opt_flags )0);
  tmp = module_list_compute(argc, argv___0, prefix___1, & pathspec___1, & list___3);
  if (tmp < 0) {
    return (1);
  }
  info___0.prefix = prefix___1;
  if (quiet___7) {
    info___0.flags |= 1U;
  }
  if (recursive___0) {
    info___0.flags |= (unsigned int )(1 << 2);
  }
  for_each_listed_submodule((struct module_list  const  *)(& list___3), & sync_submodule_cb,
                            (void *)(& info___0));
  return (0);
}
}
static void deinit_submodule(char const   *path___6 , char const   *prefix___1 , unsigned int flags___0 )
{
  struct submodule  const  *sub ;
  char *displaypath ;
  struct child_process cp_config ;
  struct strbuf sb_config ;
  char *sub_git_dir ;
  char *tmp ;
  struct object_id  const  *tmp___0 ;
  struct strbuf sb_rm ;
  char const   *format___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  struct child_process cp_rm ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  char *sub_key ;
  char *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;

  {
  displaypath = (char *)((void *)0);
  cp_config.args.v = empty_strvec;
  cp_config.args.nr = 0UL;
  cp_config.args.alloc = 0UL;
  cp_config.env_array.v = empty_strvec;
  cp_config.env_array.nr = 0UL;
  cp_config.env_array.alloc = 0UL;
  cp_config.pid = 0;
  cp_config.trace2_child_id = 0;
  cp_config.trace2_child_us_start = 0UL;
  cp_config.trace2_child_class = (char const   *)0;
  cp_config.trace2_hook_name = (char const   *)0;
  cp_config.in = 0;
  cp_config.out = 0;
  cp_config.err = 0;
  cp_config.dir = (char const   *)0;
  cp_config.no_stdin = 0U;
  cp_config.no_stdout = 0U;
  cp_config.no_stderr = 0U;
  cp_config.git_cmd = 0U;
  cp_config.silent_exec_failure = 0U;
  cp_config.use_shell = 0U;
  cp_config.close_object_store = 0U;
  cp_config.stdout_to_stderr = 0U;
  cp_config.clean_on_exit = 0U;
  cp_config.wait_after_clean = 0U;
  cp_config.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp_config.clean_on_exit_handler_cbdata = (void *)0;
  sb_config.alloc = 0UL;
  sb_config.len = 0UL;
  sb_config.buf = strbuf_slopbuf;
  tmp = xstrfmt((char const   *)"%s/.git", path___6);
  sub_git_dir = tmp;
  tmp___0 = null_oid();
  sub = submodule_from_path(the_repository, tmp___0, path___6);
  if (! sub) {
    goto cleanup;
  } else
  if (! sub->name) {
    goto cleanup;
  }
  displaypath = get_submodule_displaypath(path___6, prefix___1);
  tmp___8 = is_directory(path___6);
  if (tmp___8) {
    sb_rm.alloc = 0UL;
    sb_rm.len = 0UL;
    sb_rm.buf = strbuf_slopbuf;
    tmp___2 = is_directory((char const   *)sub_git_dir);
    if (tmp___2) {
      if (! (flags___0 & 1U)) {
        tmp___1 = _((char const   *)"Submodule work tree \'%s\' contains a .git directory. This will be replaced with a .git file by using absorbgitdirs.");
        warning((char const   *)tmp___1, displaypath);
      }
      absorb_git_dir_into_superproject(path___6, 1U);
    }
    if (! (flags___0 & (unsigned int )(1 << 3))) {
      cp_rm.args.v = empty_strvec;
      cp_rm.args.nr = 0UL;
      cp_rm.args.alloc = 0UL;
      cp_rm.env_array.v = empty_strvec;
      cp_rm.env_array.nr = 0UL;
      cp_rm.env_array.alloc = 0UL;
      cp_rm.pid = 0;
      cp_rm.trace2_child_id = 0;
      cp_rm.trace2_child_us_start = 0UL;
      cp_rm.trace2_child_class = (char const   *)0;
      cp_rm.trace2_hook_name = (char const   *)0;
      cp_rm.in = 0;
      cp_rm.out = 0;
      cp_rm.err = 0;
      cp_rm.dir = (char const   *)0;
      cp_rm.no_stdin = 0U;
      cp_rm.no_stdout = 0U;
      cp_rm.no_stderr = 0U;
      cp_rm.git_cmd = 0U;
      cp_rm.silent_exec_failure = 0U;
      cp_rm.use_shell = 0U;
      cp_rm.close_object_store = 0U;
      cp_rm.stdout_to_stderr = 0U;
      cp_rm.clean_on_exit = 0U;
      cp_rm.wait_after_clean = 0U;
      cp_rm.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
      cp_rm.clean_on_exit_handler_cbdata = (void *)0;
      cp_rm.git_cmd = 1U;
      strvec_pushl(& cp_rm.args, "rm", "-qn", path___6, (void *)0);
      tmp___4 = run_command(& cp_rm);
      if (tmp___4) {
        tmp___3 = _((char const   *)"Submodule work tree \'%s\' contains local modifications; use \'-f\' to discard them");
        die((char const   *)tmp___3, displaypath);
      }
    }
    strbuf_addstr(& sb_rm, path___6);
    tmp___7 = remove_dir_recursively(& sb_rm, 0);
    if (tmp___7) {
      tmp___6 = _((char const   *)"Could not remove submodule work tree \'%s\'\n");
      format___0 = (char const   *)tmp___6;
    } else {
      tmp___5 = _((char const   *)"Cleared directory \'%s\'\n");
      format___0 = (char const   *)tmp___5;
    }
    if (! (flags___0 & 1U)) {
      printf(format___0, displaypath);
    }
    submodule_unset_core_worktree(sub);
    strbuf_release(& sb_rm);
  }
  tmp___10 = mkdir(path___6, (__mode_t )0777);
  if (tmp___10) {
    tmp___9 = _((char const   *)"could not create empty submodule directory %s");
    printf((char const   *)tmp___9, displaypath);
  }
  cp_config.git_cmd = 1U;
  strvec_pushl(& cp_config.args, "config", "--get-regexp", (void *)0);
  strvec_pushf(& cp_config.args, (char const   *)"submodule.%s\\.", sub->name);
  tmp___13 = capture_command(& cp_config, & sb_config, (size_t )0);
  if (! tmp___13) {
    if (sb_config.len) {
      tmp___11 = xstrfmt((char const   *)"submodule.%s", sub->name);
      sub_key = tmp___11;
      git_config_rename_section_in_file((char const   *)((void *)0), (char const   *)sub_key,
                                        (char const   *)((void *)0));
      if (! (flags___0 & 1U)) {
        tmp___12 = _((char const   *)"Submodule \'%s\' (%s) unregistered for path \'%s\'\n");
        printf((char const   *)tmp___12, sub->name, sub->url, displaypath);
      }
      free((void *)sub_key);
    }
  }
  cleanup:
  free((void *)displaypath);
  free((void *)sub_git_dir);
  strbuf_release(& sb_config);
  return;
}
}
static void deinit_submodule_cb(struct cache_entry  const  *list_item , void *cb_data )
{
  struct deinit_cb *info___0 ;

  {
  info___0 = (struct deinit_cb *)cb_data;
  deinit_submodule((char const   *)(list_item->name), info___0->prefix, info___0->flags);
  return;
}
}
static int module_deinit(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct deinit_cb info___0 ;
  struct pathspec pathspec___1 ;
  struct module_list list___3 ;
  int quiet___7 ;
  int force___2 ;
  int all___2 ;
  struct option module_deinit_options[4] ;
  char const   *git_submodule_helper_usage[2] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  info___0.prefix = (char const   *)0;
  info___0.flags = 0U;
  list___3.entries = (struct cache_entry  const  **)0;
  list___3.alloc = 0;
  list___3.nr = 0;
  quiet___7 = 0;
  force___2 = 0;
  all___2 = 0;
  module_deinit_options[0].type = (enum parse_opt_type )7;
  module_deinit_options[0].short_name = 'q';
  module_deinit_options[0].long_name = (char const   *)"quiet";
  module_deinit_options[0].value = (void *)(& quiet___7);
  module_deinit_options[0].argh = (char const   *)((void *)0);
  module_deinit_options[0].help = (char const   *)"suppress submodule status output";
  module_deinit_options[0].flags = (enum parse_opt_option_flags )2;
  module_deinit_options[0].callback = (parse_opt_cb *)0;
  module_deinit_options[0].defval = 0L;
  module_deinit_options[0].ll_callback = (parse_opt_ll_cb *)0;
  module_deinit_options[0].extra = 0L;
  module_deinit_options[1].type = (enum parse_opt_type )7;
  module_deinit_options[1].short_name = 'f';
  module_deinit_options[1].long_name = (char const   *)"force";
  module_deinit_options[1].value = (void *)(& force___2);
  module_deinit_options[1].argh = (char const   *)((void *)0);
  module_deinit_options[1].help = (char const   *)"remove submodule working trees even if they contain local changes";
  module_deinit_options[1].flags = (enum parse_opt_option_flags )2;
  module_deinit_options[1].callback = (parse_opt_cb *)0;
  module_deinit_options[1].defval = 0L;
  module_deinit_options[1].ll_callback = (parse_opt_ll_cb *)0;
  module_deinit_options[1].extra = 0L;
  module_deinit_options[2].type = (enum parse_opt_type )8;
  module_deinit_options[2].short_name = 0;
  module_deinit_options[2].long_name = (char const   *)"all";
  module_deinit_options[2].value = (void *)(& all___2);
  module_deinit_options[2].argh = (char const   *)((void *)0);
  module_deinit_options[2].help = (char const   *)"unregister all submodules";
  module_deinit_options[2].flags = (enum parse_opt_option_flags )2;
  module_deinit_options[2].callback = (parse_opt_cb *)((void *)0);
  module_deinit_options[2].defval = (intptr_t )1;
  module_deinit_options[2].ll_callback = (parse_opt_ll_cb *)0;
  module_deinit_options[2].extra = 0L;
  module_deinit_options[3].type = (enum parse_opt_type )0;
  module_deinit_options[3].short_name = 0;
  module_deinit_options[3].long_name = (char const   *)0;
  module_deinit_options[3].value = (void *)0;
  module_deinit_options[3].argh = (char const   *)0;
  module_deinit_options[3].help = (char const   *)0;
  module_deinit_options[3].flags = 0U;
  module_deinit_options[3].callback = (parse_opt_cb *)0;
  module_deinit_options[3].defval = 0L;
  module_deinit_options[3].ll_callback = (parse_opt_ll_cb *)0;
  module_deinit_options[3].extra = 0L;
  git_submodule_helper_usage[0] = (char const   *)"git submodule deinit [--quiet] [-f | --force] [--all | [--] [<path>...]]";
  git_submodule_helper_usage[1] = (char const   *)((void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(module_deinit_options),
                       git_submodule_helper_usage, (enum parse_opt_flags )0);
  if (all___2) {
    if (argc) {
      error((char const   *)"pathspec and --all are incompatible");
      const_error();
      usage_with_options(git_submodule_helper_usage, (struct option  const  *)(module_deinit_options));
    }
  }
  if (! argc) {
    if (! all___2) {
      tmp = _((char const   *)"Use \'--all\' if you really want to deinitialize all submodules");
      die((char const   *)tmp);
    }
  }
  tmp___0 = module_list_compute(argc, argv___0, prefix___1, & pathspec___1, & list___3);
  if (tmp___0 < 0) {
    return (1);
  }
  info___0.prefix = prefix___1;
  if (quiet___7) {
    info___0.flags |= 1U;
  }
  if (force___2) {
    info___0.flags |= (unsigned int )(1 << 3);
  }
  for_each_listed_submodule((struct module_list  const  *)(& list___3), & deinit_submodule_cb,
                            (void *)(& info___0));
  return (0);
}
}
static char const   alternate_error_advice[249]  =
  {      (char const   )'A',      (char const   )'n',      (char const   )' ',      (char const   )'a',
        (char const   )'l',      (char const   )'t',      (char const   )'e',      (char const   )'r',
        (char const   )'n',      (char const   )'a',      (char const   )'t',      (char const   )'e',
        (char const   )' ',      (char const   )'c',      (char const   )'o',      (char const   )'m',
        (char const   )'p',      (char const   )'u',      (char const   )'t',      (char const   )'e',
        (char const   )'d',      (char const   )' ',      (char const   )'f',      (char const   )'r',
        (char const   )'o',      (char const   )'m',      (char const   )' ',      (char const   )'a',
        (char const   )' ',      (char const   )'s',      (char const   )'u',      (char const   )'p',
        (char const   )'e',      (char const   )'r',      (char const   )'p',      (char const   )'r',
        (char const   )'o',      (char const   )'j',      (char const   )'e',      (char const   )'c',
        (char const   )'t',      (char const   )'\'',      (char const   )'s',      (char const   )' ',
        (char const   )'a',      (char const   )'l',      (char const   )'t',      (char const   )'e',
        (char const   )'r',      (char const   )'n',      (char const   )'a',      (char const   )'t',
        (char const   )'e',      (char const   )' ',      (char const   )'i',      (char const   )'s',
        (char const   )' ',      (char const   )'i',      (char const   )'n',      (char const   )'v',
        (char const   )'a',      (char const   )'l',      (char const   )'i',      (char const   )'d',
        (char const   )'.',      (char const   )'\n',      (char const   )'T',      (char const   )'o',
        (char const   )' ',      (char const   )'a',      (char const   )'l',      (char const   )'l',
        (char const   )'o',      (char const   )'w',      (char const   )' ',      (char const   )'G',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'t',
        (char const   )'o',      (char const   )' ',      (char const   )'c',      (char const   )'l',
        (char const   )'o',      (char const   )'n',      (char const   )'e',      (char const   )' ',
        (char const   )'w',      (char const   )'i',      (char const   )'t',      (char const   )'h',
        (char const   )'o',      (char const   )'u',      (char const   )'t',      (char const   )' ',
        (char const   )'a',      (char const   )'n',      (char const   )' ',      (char const   )'a',
        (char const   )'l',      (char const   )'t',      (char const   )'e',      (char const   )'r',
        (char const   )'n',      (char const   )'a',      (char const   )'t',      (char const   )'e',
        (char const   )' ',      (char const   )'i',      (char const   )'n',      (char const   )' ',
        (char const   )'s',      (char const   )'u',      (char const   )'c',      (char const   )'h',
        (char const   )' ',      (char const   )'a',      (char const   )' ',      (char const   )'c',
        (char const   )'a',      (char const   )'s',      (char const   )'e',      (char const   )',',
        (char const   )' ',      (char const   )'s',      (char const   )'e',      (char const   )'t',
        (char const   )'\n',      (char const   )'s',      (char const   )'u',      (char const   )'b',
        (char const   )'m',      (char const   )'o',      (char const   )'d',      (char const   )'u',
        (char const   )'l',      (char const   )'e',      (char const   )'.',      (char const   )'a',
        (char const   )'l',      (char const   )'t',      (char const   )'e',      (char const   )'r',
        (char const   )'n',      (char const   )'a',      (char const   )'t',      (char const   )'e',
        (char const   )'E',      (char const   )'r',      (char const   )'r',      (char const   )'o',
        (char const   )'r',      (char const   )'S',      (char const   )'t',      (char const   )'r',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )'g',
        (char const   )'y',      (char const   )' ',      (char const   )'t',      (char const   )'o',
        (char const   )' ',      (char const   )'\'',      (char const   )'i',      (char const   )'n',
        (char const   )'f',      (char const   )'o',      (char const   )'\'',      (char const   )' ',
        (char const   )'o',      (char const   )'r',      (char const   )',',      (char const   )' ',
        (char const   )'e',      (char const   )'q',      (char const   )'u',      (char const   )'i',
        (char const   )'v',      (char const   )'a',      (char const   )'l',      (char const   )'e',
        (char const   )'n',      (char const   )'t',      (char const   )'l',      (char const   )'y',
        (char const   )',',      (char const   )' ',      (char const   )'c',      (char const   )'l',
        (char const   )'o',      (char const   )'n',      (char const   )'e',      (char const   )' ',
        (char const   )'w',      (char const   )'i',      (char const   )'t',      (char const   )'h',
        (char const   )'\n',      (char const   )'\'',      (char const   )'-',      (char const   )'-',
        (char const   )'r',      (char const   )'e',      (char const   )'f',      (char const   )'e',
        (char const   )'r',      (char const   )'e',      (char const   )'n',      (char const   )'c',
        (char const   )'e',      (char const   )'-',      (char const   )'i',      (char const   )'f',
        (char const   )'-',      (char const   )'a',      (char const   )'b',      (char const   )'l',
        (char const   )'e',      (char const   )'\'',      (char const   )' ',      (char const   )'i',
        (char const   )'n',      (char const   )'s',      (char const   )'t',      (char const   )'e',
        (char const   )'a',      (char const   )'d',      (char const   )' ',      (char const   )'o',
        (char const   )'f',      (char const   )' ',      (char const   )'\'',      (char const   )'-',
        (char const   )'-',      (char const   )'r',      (char const   )'e',      (char const   )'f',
        (char const   )'e',      (char const   )'r',      (char const   )'e',      (char const   )'n',
        (char const   )'c',      (char const   )'e',      (char const   )'\'',      (char const   )'.',
        (char const   )'\000'};
static int add_possible_reference_from_superproject(struct object_directory *odb ,
                                                    void *sas_cb )
{
  struct submodule_alternate_setup *sas ;
  size_t len___0 ;
  struct repository alternate ;
  char *sm_alternate ;
  struct strbuf sb___6 ;
  struct strbuf err___4 ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;

  {
  sas = (struct submodule_alternate_setup *)sas_cb;
  tmp___4 = strip_suffix((char const   *)odb->path, (char const   *)"/objects", & len___0);
  if (tmp___4) {
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    err___4.alloc = 0UL;
    err___4.len = 0UL;
    err___4.buf = strbuf_slopbuf;
    strbuf_add(& sb___6, (void const   *)odb->path, len___0);
    repo_init(& alternate, (char const   *)sb___6.buf, (char const   *)((void *)0));
    strbuf_setlen___33(& sb___6, (size_t )0);
    submodule_name_to_gitdir(& sb___6, & alternate, sas->submodule_name);
    strbuf_addch(& sb___6, '/');
    repo_clear(& alternate);
    sm_alternate = compute_alternate_path((char const   *)sb___6.buf, & err___4);
    if (sm_alternate) {
      tmp = xstrdup((char const   *)sb___6.buf);
      string_list_append(sas->reference, (char const   *)tmp);
      free((void *)sm_alternate);
    } else {
      {
      if ((unsigned int )sas->error_mode == 0U) {
        goto case_0;
      }
      if ((unsigned int )sas->error_mode == 1U) {
        goto case_1;
      }
      if ((unsigned int )sas->error_mode == 2U) {
        goto case_2;
      }
      goto switch_break;
      case_0: /* CIL Label */
      tmp___1 = advice_enabled((enum advice_type )30);
      if (tmp___1) {
        tmp___0 = _(alternate_error_advice);
        advise((char const   *)tmp___0);
      }
      tmp___2 = _((char const   *)"submodule \'%s\' cannot add alternate: %s");
      die((char const   *)tmp___2, sas->submodule_name, err___4.buf);
      case_1: /* CIL Label */
      tmp___3 = _((char const   *)"submodule \'%s\' cannot add alternate: %s");
      fprintf_ln(stderr, (char const   *)tmp___3, sas->submodule_name, err___4.buf);
      case_2: /* CIL Label */ ;
      switch_break: /* CIL Label */ ;
      }
    }
    strbuf_release(& sb___6);
  }
  return (0);
}
}
static void prepare_possible_alternates(char const   *sm_name , struct string_list *reference )
{
  char *sm_alternate ;
  char *error_strategy ;
  struct submodule_alternate_setup sas ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  sm_alternate = (char *)((void *)0);
  error_strategy = (char *)((void *)0);
  sas.submodule_name = (char const   *)0;
  sas.error_mode = (enum SUBMODULE_ALTERNATE_ERROR_MODE )2;
  sas.reference = (struct string_list *)0;
  git_config_get_string((char const   *)"submodule.alternateLocation", & sm_alternate);
  if (! sm_alternate) {
    return;
  }
  git_config_get_string((char const   *)"submodule.alternateErrorStrategy", & error_strategy);
  if (! error_strategy) {
    error_strategy = xstrdup((char const   *)"die");
  }
  sas.submodule_name = sm_name;
  sas.reference = reference;
  tmp___2 = strcmp((char const   *)error_strategy, (char const   *)"die");
  if (tmp___2) {
    tmp___1 = strcmp((char const   *)error_strategy, (char const   *)"info");
    if (tmp___1) {
      tmp___0 = strcmp((char const   *)error_strategy, (char const   *)"ignore");
      if (tmp___0) {
        tmp = _((char const   *)"Value \'%s\' for submodule.alternateErrorStrategy is not recognized");
        die((char const   *)tmp, error_strategy);
      } else {
        sas.error_mode = (enum SUBMODULE_ALTERNATE_ERROR_MODE )2;
      }
    } else {
      sas.error_mode = (enum SUBMODULE_ALTERNATE_ERROR_MODE )1;
    }
  } else {
    sas.error_mode = (enum SUBMODULE_ALTERNATE_ERROR_MODE )0;
  }
  tmp___5 = strcmp((char const   *)sm_alternate, (char const   *)"superproject");
  if (tmp___5) {
    tmp___4 = strcmp((char const   *)sm_alternate, (char const   *)"no");
    if (tmp___4) {
      tmp___3 = _((char const   *)"Value \'%s\' for submodule.alternateLocation is not recognized");
      die((char const   *)tmp___3, sm_alternate);
    }
  } else {
    foreach_alt_odb(& add_possible_reference_from_superproject, (void *)(& sas));
  }
  free((void *)sm_alternate);
  free((void *)error_strategy);
  return;
}
}
static int clone_submodule(struct module_clone_data *clone_data )
{
  char *p___0 ;
  char *sm_gitdir ;
  char *sm_alternate ;
  char *error_strategy ;
  struct strbuf sb___6 ;
  struct child_process cp ;
  char const   *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  enum scld_error tmp___6 ;
  struct string_list_item *item___0 ;
  char *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  enum scld_error tmp___14 ;
  int tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;

  {
  sm_alternate = (char *)((void *)0);
  error_strategy = (char *)((void *)0);
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  submodule_name_to_gitdir(& sb___6, the_repository, clone_data->name);
  sm_gitdir = absolute_pathdup((char const   *)sb___6.buf);
  strbuf_setlen___33(& sb___6, (size_t )0);
  tmp___2 = is_absolute_path(clone_data->path);
  if (tmp___2) {
    tmp___1 = xstrdup(clone_data->path);
    clone_data->path = (char const   *)tmp___1;
  } else {
    tmp = get_git_work_tree();
    strbuf_addf(& sb___6, (char const   *)"%s/%s", tmp, clone_data->path);
    tmp___0 = strbuf_detach(& sb___6, (size_t *)((void *)0));
    clone_data->path = (char const   *)tmp___0;
  }
  tmp___4 = validate_submodule_git_dir(sm_gitdir, clone_data->name);
  if (tmp___4 < 0) {
    tmp___3 = _((char const   *)"refusing to create/use \'%s\' in another submodule\'s git dir");
    die((char const   *)tmp___3, sm_gitdir);
  }
  tmp___15 = file_exists((char const   *)sm_gitdir);
  if (tmp___15) {
    if (clone_data->require_init) {
      tmp___11 = access(clone_data->path, 1);
      if (! tmp___11) {
        tmp___12 = is_empty_dir(clone_data->path);
        if (! tmp___12) {
          tmp___10 = _((char const   *)"directory not empty: \'%s\'");
          die((char const   *)tmp___10, clone_data->path);
        }
      }
    }
    tmp___14 = safe_create_leading_directories_const(clone_data->path);
    if ((int )tmp___14 < 0) {
      tmp___13 = _((char const   *)"could not create directory \'%s\'");
      die((char const   *)tmp___13, clone_data->path);
    }
    strbuf_addf(& sb___6, (char const   *)"%s/index", sm_gitdir);
    unlink_or_warn((char const   *)sb___6.buf);
    strbuf_setlen___33(& sb___6, (size_t )0);
  } else {
    tmp___6 = safe_create_leading_directories_const((char const   *)sm_gitdir);
    if ((int )tmp___6 < 0) {
      tmp___5 = _((char const   *)"could not create directory \'%s\'");
      die((char const   *)tmp___5, sm_gitdir);
    }
    prepare_possible_alternates(clone_data->name, & clone_data->reference);
    strvec_push(& cp.args, (char const   *)"clone");
    strvec_push(& cp.args, (char const   *)"--no-checkout");
    if (clone_data->quiet) {
      strvec_push(& cp.args, (char const   *)"--quiet");
    }
    if (clone_data->progress) {
      strvec_push(& cp.args, (char const   *)"--progress");
    }
    if (clone_data->depth) {
      if (*(clone_data->depth)) {
        strvec_pushl(& cp.args, "--depth", clone_data->depth, (void *)0);
      }
    }
    if (clone_data->reference.nr) {
      item___0 = clone_data->reference.items;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (item___0) {
          if (! ((unsigned long )item___0 < (unsigned long )(clone_data->reference.items + clone_data->reference.nr))) {
            goto while_break;
          }
        } else {
          goto while_break;
        }
        strvec_pushl(& cp.args, "--reference", item___0->string, (void *)0);
        item___0 ++;
      }
      while_break: /* CIL Label */ ;
      }
    }
    if (clone_data->dissociate) {
      strvec_push(& cp.args, (char const   *)"--dissociate");
    }
    if (sm_gitdir) {
      if (*sm_gitdir) {
        strvec_pushl(& cp.args, "--separate-git-dir", sm_gitdir, (void *)0);
      }
    }
    if (clone_data->single_branch >= 0) {
      if (clone_data->single_branch) {
        tmp___7 = "--single-branch";
      } else {
        tmp___7 = "--no-single-branch";
      }
      strvec_push(& cp.args, (char const   *)tmp___7);
    }
    strvec_push(& cp.args, (char const   *)"--");
    strvec_push(& cp.args, clone_data->url);
    strvec_push(& cp.args, clone_data->path);
    cp.git_cmd = 1U;
    prepare_submodule_repo_env(& cp.env_array);
    cp.no_stdin = 1U;
    tmp___9 = run_command(& cp);
    if (tmp___9) {
      tmp___8 = _((char const   *)"clone of \'%s\' into submodule path \'%s\' failed");
      die((char const   *)tmp___8, clone_data->url, clone_data->path);
    }
  }
  connect_work_tree_and_git_dir(clone_data->path, (char const   *)sm_gitdir, 0);
  p___0 = git_pathdup_submodule(clone_data->path, (char const   *)"config");
  if (! p___0) {
    tmp___16 = _((char const   *)"could not get submodule directory for \'%s\'");
    die((char const   *)tmp___16, clone_data->path);
  }
  git_config_get_string((char const   *)"submodule.alternateLocation", & sm_alternate);
  if (sm_alternate) {
    git_config_set_in_file((char const   *)p___0, (char const   *)"submodule.alternateLocation",
                           (char const   *)sm_alternate);
  }
  git_config_get_string((char const   *)"submodule.alternateErrorStrategy", & error_strategy);
  if (error_strategy) {
    git_config_set_in_file((char const   *)p___0, (char const   *)"submodule.alternateErrorStrategy",
                           (char const   *)error_strategy);
  }
  free((void *)sm_alternate);
  free((void *)error_strategy);
  strbuf_release(& sb___6);
  free((void *)sm_gitdir);
  free((void *)p___0);
  return (0);
}
}
static int module_clone(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int dissociate ;
  int quiet___7 ;
  int progress___7 ;
  int require_init ;
  struct module_clone_data clone_data ;
  struct option module_clone_options[12] ;
  char const   *git_submodule_helper_usage[2] ;

  {
  dissociate = 0;
  quiet___7 = 0;
  progress___7 = 0;
  require_init = 0;
  clone_data.prefix = (char const   *)0;
  clone_data.path = (char const   *)0;
  clone_data.name = (char const   *)0;
  clone_data.url = (char const   *)0;
  clone_data.depth = (char const   *)0;
  clone_data.reference.items = (struct string_list_item *)0;
  clone_data.reference.nr = 0U;
  clone_data.reference.alloc = 0U;
  clone_data.reference.strdup_strings = 0U;
  clone_data.reference.cmp = (int (*)(char const   * , char const   * ))0;
  clone_data.quiet = 0U;
  clone_data.progress = 0U;
  clone_data.dissociate = 0U;
  clone_data.require_init = 0U;
  clone_data.single_branch = -1;
  module_clone_options[0].type = (enum parse_opt_type )9;
  module_clone_options[0].short_name = 0;
  module_clone_options[0].long_name = (char const   *)"prefix";
  module_clone_options[0].value = (void *)(& clone_data.prefix);
  module_clone_options[0].argh = (char const   *)"path";
  module_clone_options[0].help = (char const   *)"alternative anchor for relative paths";
  module_clone_options[0].flags = (enum parse_opt_option_flags )0;
  module_clone_options[0].callback = (parse_opt_cb *)0;
  module_clone_options[0].defval = 0L;
  module_clone_options[0].ll_callback = (parse_opt_ll_cb *)0;
  module_clone_options[0].extra = 0L;
  module_clone_options[1].type = (enum parse_opt_type )9;
  module_clone_options[1].short_name = 0;
  module_clone_options[1].long_name = (char const   *)"path";
  module_clone_options[1].value = (void *)(& clone_data.path);
  module_clone_options[1].argh = (char const   *)"path";
  module_clone_options[1].help = (char const   *)"where the new submodule will be cloned to";
  module_clone_options[1].flags = (enum parse_opt_option_flags )0;
  module_clone_options[1].callback = (parse_opt_cb *)0;
  module_clone_options[1].defval = 0L;
  module_clone_options[1].ll_callback = (parse_opt_ll_cb *)0;
  module_clone_options[1].extra = 0L;
  module_clone_options[2].type = (enum parse_opt_type )9;
  module_clone_options[2].short_name = 0;
  module_clone_options[2].long_name = (char const   *)"name";
  module_clone_options[2].value = (void *)(& clone_data.name);
  module_clone_options[2].argh = (char const   *)"string";
  module_clone_options[2].help = (char const   *)"name of the new submodule";
  module_clone_options[2].flags = (enum parse_opt_option_flags )0;
  module_clone_options[2].callback = (parse_opt_cb *)0;
  module_clone_options[2].defval = 0L;
  module_clone_options[2].ll_callback = (parse_opt_ll_cb *)0;
  module_clone_options[2].extra = 0L;
  module_clone_options[3].type = (enum parse_opt_type )9;
  module_clone_options[3].short_name = 0;
  module_clone_options[3].long_name = (char const   *)"url";
  module_clone_options[3].value = (void *)(& clone_data.url);
  module_clone_options[3].argh = (char const   *)"string";
  module_clone_options[3].help = (char const   *)"url where to clone the submodule from";
  module_clone_options[3].flags = (enum parse_opt_option_flags )0;
  module_clone_options[3].callback = (parse_opt_cb *)0;
  module_clone_options[3].defval = 0L;
  module_clone_options[3].ll_callback = (parse_opt_ll_cb *)0;
  module_clone_options[3].extra = 0L;
  module_clone_options[4].type = (enum parse_opt_type )12;
  module_clone_options[4].short_name = 0;
  module_clone_options[4].long_name = (char const   *)"reference";
  module_clone_options[4].value = (void *)(& clone_data.reference);
  module_clone_options[4].argh = (char const   *)"repo";
  module_clone_options[4].help = (char const   *)"reference repository";
  module_clone_options[4].flags = (enum parse_opt_option_flags )0;
  module_clone_options[4].callback = & parse_opt_string_list;
  module_clone_options[4].defval = 0L;
  module_clone_options[4].ll_callback = (parse_opt_ll_cb *)0;
  module_clone_options[4].extra = 0L;
  module_clone_options[5].type = (enum parse_opt_type )8;
  module_clone_options[5].short_name = 0;
  module_clone_options[5].long_name = (char const   *)"dissociate";
  module_clone_options[5].value = (void *)(& dissociate);
  module_clone_options[5].argh = (char const   *)((void *)0);
  module_clone_options[5].help = (char const   *)"use --reference only while cloning";
  module_clone_options[5].flags = (enum parse_opt_option_flags )2;
  module_clone_options[5].callback = (parse_opt_cb *)((void *)0);
  module_clone_options[5].defval = (intptr_t )1;
  module_clone_options[5].ll_callback = (parse_opt_ll_cb *)0;
  module_clone_options[5].extra = 0L;
  module_clone_options[6].type = (enum parse_opt_type )9;
  module_clone_options[6].short_name = 0;
  module_clone_options[6].long_name = (char const   *)"depth";
  module_clone_options[6].value = (void *)(& clone_data.depth);
  module_clone_options[6].argh = (char const   *)"string";
  module_clone_options[6].help = (char const   *)"depth for shallow clones";
  module_clone_options[6].flags = (enum parse_opt_option_flags )0;
  module_clone_options[6].callback = (parse_opt_cb *)0;
  module_clone_options[6].defval = 0L;
  module_clone_options[6].ll_callback = (parse_opt_ll_cb *)0;
  module_clone_options[6].extra = 0L;
  module_clone_options[7].type = (enum parse_opt_type )7;
  module_clone_options[7].short_name = 'q';
  module_clone_options[7].long_name = (char const   *)"quiet";
  module_clone_options[7].value = (void *)(& quiet___7);
  module_clone_options[7].argh = (char const   *)((void *)0);
  module_clone_options[7].help = (char const   *)"Suppress output for cloning a submodule";
  module_clone_options[7].flags = (enum parse_opt_option_flags )2;
  module_clone_options[7].callback = (parse_opt_cb *)0;
  module_clone_options[7].defval = 0L;
  module_clone_options[7].ll_callback = (parse_opt_ll_cb *)0;
  module_clone_options[7].extra = 0L;
  module_clone_options[8].type = (enum parse_opt_type )8;
  module_clone_options[8].short_name = 0;
  module_clone_options[8].long_name = (char const   *)"progress";
  module_clone_options[8].value = (void *)(& progress___7);
  module_clone_options[8].argh = (char const   *)((void *)0);
  module_clone_options[8].help = (char const   *)"force cloning progress";
  module_clone_options[8].flags = (enum parse_opt_option_flags )2;
  module_clone_options[8].callback = (parse_opt_cb *)((void *)0);
  module_clone_options[8].defval = (intptr_t )1;
  module_clone_options[8].ll_callback = (parse_opt_ll_cb *)0;
  module_clone_options[8].extra = 0L;
  module_clone_options[9].type = (enum parse_opt_type )8;
  module_clone_options[9].short_name = 0;
  module_clone_options[9].long_name = (char const   *)"require-init";
  module_clone_options[9].value = (void *)(& require_init);
  module_clone_options[9].argh = (char const   *)((void *)0);
  module_clone_options[9].help = (char const   *)"disallow cloning into non-empty directory";
  module_clone_options[9].flags = (enum parse_opt_option_flags )2;
  module_clone_options[9].callback = (parse_opt_cb *)((void *)0);
  module_clone_options[9].defval = (intptr_t )1;
  module_clone_options[9].ll_callback = (parse_opt_ll_cb *)0;
  module_clone_options[9].extra = 0L;
  module_clone_options[10].type = (enum parse_opt_type )8;
  module_clone_options[10].short_name = 0;
  module_clone_options[10].long_name = (char const   *)"single-branch";
  module_clone_options[10].value = (void *)(& clone_data.single_branch);
  module_clone_options[10].argh = (char const   *)((void *)0);
  module_clone_options[10].help = (char const   *)"clone only one branch, HEAD or --branch";
  module_clone_options[10].flags = (enum parse_opt_option_flags )2;
  module_clone_options[10].callback = (parse_opt_cb *)((void *)0);
  module_clone_options[10].defval = (intptr_t )1;
  module_clone_options[10].ll_callback = (parse_opt_ll_cb *)0;
  module_clone_options[10].extra = 0L;
  module_clone_options[11].type = (enum parse_opt_type )0;
  module_clone_options[11].short_name = 0;
  module_clone_options[11].long_name = (char const   *)0;
  module_clone_options[11].value = (void *)0;
  module_clone_options[11].argh = (char const   *)0;
  module_clone_options[11].help = (char const   *)0;
  module_clone_options[11].flags = 0U;
  module_clone_options[11].callback = (parse_opt_cb *)0;
  module_clone_options[11].defval = 0L;
  module_clone_options[11].ll_callback = (parse_opt_ll_cb *)0;
  module_clone_options[11].extra = 0L;
  git_submodule_helper_usage[0] = (char const   *)"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference <repository>] [--name <name>] [--depth <depth>] [--single-branch] --url <url> --path <path>";
  git_submodule_helper_usage[1] = (char const   *)((void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(module_clone_options),
                       git_submodule_helper_usage, (enum parse_opt_flags )0);
  clone_data.dissociate = (unsigned int )(! (! dissociate));
  clone_data.quiet = (unsigned int )(! (! quiet___7));
  clone_data.progress = (unsigned int )(! (! progress___7));
  clone_data.require_init = (unsigned int )(! (! require_init));
  if (argc) {
    usage_with_options(git_submodule_helper_usage, (struct option  const  *)(module_clone_options));
  } else
  if (! clone_data.url) {
    usage_with_options(git_submodule_helper_usage, (struct option  const  *)(module_clone_options));
  } else
  if (! clone_data.path) {
    usage_with_options(git_submodule_helper_usage, (struct option  const  *)(module_clone_options));
  } else
  if (! *(clone_data.path)) {
    usage_with_options(git_submodule_helper_usage, (struct option  const  *)(module_clone_options));
  }
  clone_submodule(& clone_data);
  return (0);
}
}
static void determine_submodule_update_strategy(struct repository *r , int just_cloned ,
                                                char const   *path___6 , char const   *update___1 ,
                                                struct submodule_update_strategy *out )
{
  struct submodule  const  *sub ;
  struct object_id  const  *tmp ;
  struct submodule  const  *tmp___0 ;
  char *key___1 ;
  char const   *val ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = null_oid();
  tmp___0 = submodule_from_path(r, tmp, path___6);
  sub = tmp___0;
  key___1 = xstrfmt((char const   *)"submodule.%s.update", sub->name);
  if (update___1) {
    tmp___2 = parse_submodule_update_strategy(update___1, out);
    if (tmp___2 < 0) {
      tmp___1 = _((char const   *)"Invalid update mode \'%s\' for submodule path \'%s\'");
      die((char const   *)tmp___1, update___1, path___6);
    }
  } else {
    tmp___5 = repo_config_get_string_tmp(r, (char const   *)key___1, & val);
    if (tmp___5) {
      if ((unsigned int )sub->update_strategy.type != 0U) {
        if ((unsigned int )sub->update_strategy.type == 5U) {
          BUG_fl((char const   *)"builtin/submodule--helper.c", 1933, (char const   *)"how did we read update = !command from .gitmodules?");
        }
        out->type = (enum submodule_update_type )sub->update_strategy.type;
        out->command = (char const   *)sub->update_strategy.command;
      } else {
        out->type = (enum submodule_update_type )1;
      }
    } else {
      tmp___4 = parse_submodule_update_strategy(val, out);
      if (tmp___4 < 0) {
        tmp___3 = _((char const   *)"Invalid update mode \'%s\' configured for submodule path \'%s\'");
        die((char const   *)tmp___3, val, path___6);
      }
    }
  }
  if (just_cloned) {
    if ((unsigned int )out->type == 3U) {
      out->type = (enum submodule_update_type )1;
    } else
    if ((unsigned int )out->type == 2U) {
      out->type = (enum submodule_update_type )1;
    } else
    if ((unsigned int )out->type == 4U) {
      out->type = (enum submodule_update_type )1;
    }
  }
  free((void *)key___1);
  return;
}
}
static int module_update_module_mode(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char const   *path___6 ;
  char const   *update___1 ;
  int just_cloned ;
  struct submodule_update_strategy update_strategy ;
  char const   *tmp ;

  {
  update___1 = (char const   *)((void *)0);
  update_strategy.type = (enum submodule_update_type )1;
  update_strategy.command = (char const   *)0;
  if (argc < 3) {
    die((char const   *)"submodule--helper update-module-clone expects <just-cloned> <path> [<update>]");
  } else
  if (argc > 4) {
    die((char const   *)"submodule--helper update-module-clone expects <just-cloned> <path> [<update>]");
  }
  just_cloned = git_config_int((char const   *)"just_cloned", *(argv___0 + 1));
  path___6 = *(argv___0 + 2);
  if (argc == 4) {
    update___1 = *(argv___0 + 3);
  }
  determine_submodule_update_strategy(the_repository, just_cloned, path___6, update___1,
                                      & update_strategy);
  tmp = submodule_strategy_to_string((struct submodule_update_strategy  const  *)(& update_strategy));
  fputs((char const   * __restrict  )tmp, (FILE * __restrict  )stdout);
  return (0);
}
}
static void next_submodule_warn_missing(struct submodule_update_clone *suc , struct strbuf *out ,
                                        char const   *displaypath )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  if (suc->warn_if_uninitialized) {
    tmp = _((char const   *)"Submodule path \'%s\' not initialized");
    strbuf_addf(out, (char const   *)tmp, displaypath);
    strbuf_addch(out, '\n');
    tmp___0 = _((char const   *)"Maybe you want to use \'update --init\'?");
    strbuf_addstr(out, (char const   *)tmp___0);
    strbuf_addch(out, '\n');
  }
  return;
}
}
static int prepare_to_clone_next_submodule(struct cache_entry  const  *ce , struct child_process *child ,
                                           struct submodule_update_clone *suc , struct strbuf *out )
{
  struct submodule  const  *sub ;
  char const   *url ;
  char const   *update_string ;
  enum submodule_update_type update_type ;
  char *key___1 ;
  struct strbuf displaypath_sb ;
  struct strbuf sb___6 ;
  char const   *displaypath ;
  int needs_cloning ;
  int need_free_url ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct object_id  const  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  size_t tmp___10 ;
  void *tmp___11 ;
  struct string_list_item *item___0 ;
  char *tmp___12 ;

  {
  sub = (struct submodule  const  *)((void *)0);
  url = (char const   *)((void *)0);
  displaypath_sb.alloc = 0UL;
  displaypath_sb.len = 0UL;
  displaypath_sb.buf = strbuf_slopbuf;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  displaypath = (char const   *)((void *)0);
  needs_cloning = 0;
  need_free_url = 0;
  if ((12288U & ce->ce_flags) >> 12) {
    if (suc->recursive_prefix) {
      strbuf_addf(& sb___6, (char const   *)"%s/%s", suc->recursive_prefix, ce->name);
    } else {
      strbuf_addstr(& sb___6, (char const   *)(ce->name));
    }
    tmp = _((char const   *)"Skipping unmerged submodule %s");
    strbuf_addf(out, (char const   *)tmp, sb___6.buf);
    strbuf_addch(out, '\n');
    goto cleanup;
  }
  tmp___0 = null_oid();
  sub = submodule_from_path(the_repository, tmp___0, (char const   *)(ce->name));
  if (suc->recursive_prefix) {
    displaypath = relative_path(suc->recursive_prefix, (char const   *)(ce->name),
                                & displaypath_sb);
  } else {
    displaypath = (char const   *)(ce->name);
  }
  if (! sub) {
    next_submodule_warn_missing(suc, out, displaypath);
    goto cleanup;
  }
  key___1 = xstrfmt((char const   *)"submodule.%s.update", sub->name);
  tmp___1 = repo_config_get_string_tmp(the_repository, (char const   *)key___1, & update_string);
  if (tmp___1) {
    update_type = (enum submodule_update_type )sub->update_strategy.type;
  } else {
    update_type = parse_submodule_update_type(update_string);
  }
  free((void *)key___1);
  if ((unsigned int )suc->update.type == 4U) {
    tmp___2 = _((char const   *)"Skipping submodule \'%s\'");
    strbuf_addf(out, (char const   *)tmp___2, displaypath);
    strbuf_addch(out, '\n');
    goto cleanup;
  } else
  if ((unsigned int )suc->update.type == 0U) {
    if ((unsigned int )update_type == 4U) {
      tmp___2 = _((char const   *)"Skipping submodule \'%s\'");
      strbuf_addf(out, (char const   *)tmp___2, displaypath);
      strbuf_addch(out, '\n');
      goto cleanup;
    }
  }
  tmp___3 = is_submodule_active(the_repository, (char const   *)(ce->name));
  if (! tmp___3) {
    next_submodule_warn_missing(suc, out, displaypath);
    goto cleanup;
  }
  strbuf_setlen___33(& sb___6, (size_t )0);
  strbuf_addf(& sb___6, (char const   *)"submodule.%s.url", sub->name);
  tmp___7 = repo_config_get_string_tmp(the_repository, (char const   *)sb___6.buf,
                                       & url);
  if (tmp___7) {
    tmp___5 = starts_with_dot_slash___0((char const   *)sub->url);
    if (tmp___5) {
      tmp___4 = resolve_relative_url((char const   *)sub->url, (char const   *)((void *)0),
                                     0);
      url = (char const   *)tmp___4;
      need_free_url = 1;
    } else {
      tmp___6 = starts_with_dot_dot_slash___0((char const   *)sub->url);
      if (tmp___6) {
        tmp___4 = resolve_relative_url((char const   *)sub->url, (char const   *)((void *)0),
                                       0);
        url = (char const   *)tmp___4;
        need_free_url = 1;
      } else {
        url = (char const   *)sub->url;
      }
    }
  }
  strbuf_setlen___33(& sb___6, (size_t )0);
  strbuf_addf(& sb___6, (char const   *)"%s/.git", ce->name);
  tmp___8 = file_exists((char const   *)sb___6.buf);
  if (tmp___8) {
    tmp___9 = 0;
  } else {
    tmp___9 = 1;
  }
  needs_cloning = tmp___9;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (suc->update_clone_nr + 1 > suc->update_clone_alloc) {
      if (((suc->update_clone_alloc + 16) * 3) / 2 < suc->update_clone_nr + 1) {
        suc->update_clone_alloc = suc->update_clone_nr + 1;
      } else {
        suc->update_clone_alloc = ((suc->update_clone_alloc + 16) * 3) / 2;
      }
      tmp___10 = st_mult(sizeof(*(suc->update_clone)), (size_t )suc->update_clone_alloc);
      tmp___11 = xrealloc((void *)suc->update_clone, tmp___10);
      suc->update_clone = (struct update_clone_data *)tmp___11;
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  oidcpy(& (suc->update_clone + suc->update_clone_nr)->oid, (struct object_id  const  *)(& ce->oid));
  (suc->update_clone + suc->update_clone_nr)->just_cloned = (unsigned int )needs_cloning;
  (suc->update_clone + suc->update_clone_nr)->sub = sub;
  (suc->update_clone_nr) ++;
  if (! needs_cloning) {
    goto cleanup;
  }
  child->git_cmd = 1U;
  child->no_stdin = 1U;
  child->stdout_to_stderr = 1U;
  child->err = -1;
  strvec_push(& child->args, (char const   *)"submodule--helper");
  strvec_push(& child->args, (char const   *)"clone");
  if (suc->progress) {
    strvec_push(& child->args, (char const   *)"--progress");
  }
  if (suc->quiet) {
    strvec_push(& child->args, (char const   *)"--quiet");
  }
  if (suc->prefix) {
    strvec_pushl(& child->args, "--prefix", suc->prefix, (void *)0);
  }
  if (suc->recommend_shallow) {
    if (sub->recommend_shallow == 1) {
      strvec_push(& child->args, (char const   *)"--depth=1");
    }
  }
  if (suc->require_init) {
    strvec_push(& child->args, (char const   *)"--require-init");
  }
  strvec_pushl(& child->args, "--path", sub->path, (void *)0);
  strvec_pushl(& child->args, "--name", sub->name, (void *)0);
  strvec_pushl(& child->args, "--url", url, (void *)0);
  if (suc->references.nr) {
    item___0 = suc->references.items;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(suc->references.items + suc->references.nr))) {
          goto while_break___0;
        }
      } else {
        goto while_break___0;
      }
      strvec_pushl(& child->args, "--reference", item___0->string, (void *)0);
      item___0 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  if (suc->dissociate) {
    strvec_push(& child->args, (char const   *)"--dissociate");
  }
  if (suc->depth) {
    strvec_push(& child->args, suc->depth);
  }
  if (suc->single_branch >= 0) {
    if (suc->single_branch) {
      tmp___12 = "--single-branch";
    } else {
      tmp___12 = "--no-single-branch";
    }
    strvec_push(& child->args, (char const   *)tmp___12);
  }
  cleanup:
  strbuf_release(& displaypath_sb);
  strbuf_release(& sb___6);
  if (need_free_url) {
    free((void *)url);
  }
  return (needs_cloning);
}
}
static int update_clone_get_next_task(struct child_process *child , struct strbuf *err___4 ,
                                      void *suc_cb , void **idx_task_cb )
{
  struct submodule_update_clone *suc ;
  struct cache_entry  const  *ce ;
  int index___2 ;
  int *p___0 ;
  void *tmp ;
  int tmp___0 ;
  int *p___1 ;
  int tmp___1 ;
  void *tmp___2 ;

  {
  suc = (struct submodule_update_clone *)suc_cb;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (suc->current < suc->list.nr)) {
      goto while_break;
    }
    ce = *(suc->list.entries + suc->current);
    tmp___0 = prepare_to_clone_next_submodule(ce, child, suc, err___4);
    if (tmp___0) {
      tmp = xmalloc(sizeof(*p___0));
      p___0 = (int *)tmp;
      *p___0 = suc->current;
      *idx_task_cb = (void *)p___0;
      (suc->current) ++;
      return (1);
    }
    (suc->current) ++;
  }
  while_break: /* CIL Label */ ;
  }
  index___2 = suc->current - suc->list.nr;
  if (index___2 < suc->failed_clones_nr) {
    ce = *(suc->failed_clones + index___2);
    tmp___1 = prepare_to_clone_next_submodule(ce, child, suc, err___4);
    if (! tmp___1) {
      (suc->current) ++;
      strbuf_addstr(err___4, (char const   *)"BUG: submodule considered for cloning, doesn\'t need cloning any more?\n");
      return (0);
    }
    tmp___2 = xmalloc(sizeof(*p___1));
    p___1 = (int *)tmp___2;
    *p___1 = suc->current;
    *idx_task_cb = (void *)p___1;
    (suc->current) ++;
    return (1);
  }
  return (0);
}
}
static int update_clone_start_failure(struct strbuf *err___4 , void *suc_cb , void *idx_task_cb )
{
  struct submodule_update_clone *suc ;

  {
  suc = (struct submodule_update_clone *)suc_cb;
  suc->quickstop = 1U;
  return (1);
}
}
static int update_clone_task_finished(int result___0 , struct strbuf *err___4 , void *suc_cb ,
                                      void *idx_task_cb )
{
  struct cache_entry  const  *ce ;
  struct submodule_update_clone *suc ;
  int *idxP ;
  int idx___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  suc = (struct submodule_update_clone *)suc_cb;
  idxP = (int *)idx_task_cb;
  idx___0 = *idxP;
  free((void *)idxP);
  if (! result___0) {
    return (0);
  }
  if (idx___0 < suc->list.nr) {
    ce = *(suc->list.entries + idx___0);
    tmp = _((char const   *)"Failed to clone \'%s\'. Retry scheduled");
    strbuf_addf(err___4, (char const   *)tmp, ce->name);
    strbuf_addch(err___4, '\n');
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (suc->failed_clones_nr + 1 > suc->failed_clones_alloc) {
        if (((suc->failed_clones_alloc + 16) * 3) / 2 < suc->failed_clones_nr + 1) {
          suc->failed_clones_alloc = suc->failed_clones_nr + 1;
        } else {
          suc->failed_clones_alloc = ((suc->failed_clones_alloc + 16) * 3) / 2;
        }
        tmp___0 = st_mult(sizeof(*(suc->failed_clones)), (size_t )suc->failed_clones_alloc);
        tmp___1 = xrealloc((void *)suc->failed_clones, tmp___0);
        suc->failed_clones = (struct cache_entry  const  **)tmp___1;
      }
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
    tmp___2 = suc->failed_clones_nr;
    (suc->failed_clones_nr) ++;
    *(suc->failed_clones + tmp___2) = ce;
    return (0);
  } else {
    idx___0 -= suc->list.nr;
    ce = *(suc->failed_clones + idx___0);
    tmp___3 = _((char const   *)"Failed to clone \'%s\' a second time, aborting");
    strbuf_addf(err___4, (char const   *)tmp___3, ce->name);
    strbuf_addch(err___4, '\n');
    suc->quickstop = 1U;
    return (1);
  }
  return (0);
}
}
static int git_update_clone_config(char const   *var , char const   *value , void *cb )
{
  int *max_jobs___1 ;
  int tmp ;

  {
  max_jobs___1 = (int *)cb;
  tmp = strcmp(var, (char const   *)"submodule.fetchjobs");
  if (! tmp) {
    *max_jobs___1 = parse_submodule_fetchjobs(var, value);
  }
  return (0);
}
}
static int is_tip_reachable(char const   *path___6 , struct object_id *oid )
{
  struct child_process cp ;
  struct strbuf rev ;
  char *hex___3 ;
  char *tmp ;
  char *tmp___0 ;
  int tmp___1 ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  rev.alloc = 0UL;
  rev.len = 0UL;
  rev.buf = strbuf_slopbuf;
  tmp = oid_to_hex((struct object_id  const  *)oid);
  hex___3 = tmp;
  cp.git_cmd = 1U;
  tmp___0 = xstrdup(path___6);
  cp.dir = (char const   *)tmp___0;
  cp.no_stderr = 1U;
  strvec_pushl(& cp.args, "rev-list", "-n", "1", hex___3, "--not", "--all", (void *)0);
  prepare_submodule_repo_env(& cp.env_array);
  tmp___1 = capture_command(& cp, & rev, (size_t )65);
  if (tmp___1) {
    return (0);
  } else
  if (rev.len) {
    return (0);
  }
  return (1);
}
}
static int fetch_in_submodule(char const   *module_path , int depth___1 , int quiet___7 ,
                              struct object_id *oid )
{
  struct child_process cp ;
  char *tmp ;
  char *hex___3 ;
  char *tmp___0 ;
  char *remote ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  prepare_submodule_repo_env(& cp.env_array);
  cp.git_cmd = 1U;
  tmp = xstrdup(module_path);
  cp.dir = (char const   *)tmp;
  strvec_push(& cp.args, (char const   *)"fetch");
  if (quiet___7) {
    strvec_push(& cp.args, (char const   *)"--quiet");
  }
  if (depth___1) {
    strvec_pushf(& cp.args, (char const   *)"--depth=%d", depth___1);
  }
  if (oid) {
    tmp___0 = oid_to_hex((struct object_id  const  *)oid);
    hex___3 = tmp___0;
    tmp___1 = get_default_remote();
    remote = tmp___1;
    strvec_pushl(& cp.args, remote, hex___3, (void *)0);
  }
  tmp___2 = run_command(& cp);
  return (tmp___2);
}
}
static int run_update_command(struct update_data *ud , int subforce )
{
  struct strvec args___0 ;
  struct strvec child_env ;
  char *oid ;
  char *tmp ;
  int must_die_on_failure ;
  int git_cmd ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char const   *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const   *tmp___12 ;

  {
  args___0.v = empty_strvec;
  args___0.nr = 0UL;
  args___0.alloc = 0UL;
  child_env.v = empty_strvec;
  child_env.nr = 0UL;
  child_env.alloc = 0UL;
  tmp = oid_to_hex((struct object_id  const  *)(& ud->oid));
  oid = tmp;
  must_die_on_failure = 0;
  {
  if ((unsigned int )ud->update_strategy.type == 1U) {
    goto case_1;
  }
  if ((unsigned int )ud->update_strategy.type == 2U) {
    goto case_2;
  }
  if ((unsigned int )ud->update_strategy.type == 3U) {
    goto case_3;
  }
  if ((unsigned int )ud->update_strategy.type == 5U) {
    goto case_5;
  }
  goto switch_default;
  case_1: /* CIL Label */
  git_cmd = 1;
  strvec_pushl(& args___0, "checkout", "-q", (void *)0);
  if (subforce) {
    strvec_push(& args___0, (char const   *)"-f");
  }
  goto switch_break;
  case_2: /* CIL Label */
  git_cmd = 1;
  strvec_push(& args___0, (char const   *)"rebase");
  if (ud->quiet) {
    strvec_push(& args___0, (char const   *)"--quiet");
  }
  must_die_on_failure = 1;
  goto switch_break;
  case_3: /* CIL Label */
  git_cmd = 1;
  strvec_push(& args___0, (char const   *)"merge");
  if (ud->quiet) {
    strvec_push(& args___0, (char const   *)"--quiet");
  }
  must_die_on_failure = 1;
  goto switch_break;
  case_5: /* CIL Label */
  git_cmd = 0;
  strvec_push(& args___0, ud->update_strategy.command);
  must_die_on_failure = 1;
  goto switch_break;
  switch_default: /* CIL Label */
  tmp___0 = submodule_strategy_to_string((struct submodule_update_strategy  const  *)(& ud->update_strategy));
  BUG_fl((char const   *)"builtin/submodule--helper.c", 2364, (char const   *)"unexpected update strategy type: %s",
         tmp___0);
  switch_break: /* CIL Label */ ;
  }
  strvec_push(& args___0, (char const   *)oid);
  prepare_submodule_repo_env(& child_env);
  if (git_cmd) {
    tmp___6 = 1 << 1;
  } else {
    tmp___6 = 1 << 4;
  }
  tmp___7 = run_command_v_opt_cd_env(args___0.v, tmp___6, ud->sm_path, (char const   **)child_env.v);
  if (tmp___7) {
    {
    if ((unsigned int )ud->update_strategy.type == 1U) {
      goto case_1___0;
    }
    if ((unsigned int )ud->update_strategy.type == 2U) {
      goto case_2___0;
    }
    if ((unsigned int )ud->update_strategy.type == 3U) {
      goto case_3___0;
    }
    if ((unsigned int )ud->update_strategy.type == 5U) {
      goto case_5___0;
    }
    goto switch_default___0;
    case_1___0: /* CIL Label */
    tmp___1 = _((char const   *)"Unable to checkout \'%s\' in submodule path \'%s\'");
    printf((char const   *)tmp___1, oid, ud->displaypath);
    goto switch_break___0;
    case_2___0: /* CIL Label */
    tmp___2 = _((char const   *)"Unable to rebase \'%s\' in submodule path \'%s\'");
    printf((char const   *)tmp___2, oid, ud->displaypath);
    goto switch_break___0;
    case_3___0: /* CIL Label */
    tmp___3 = _((char const   *)"Unable to merge \'%s\' in submodule path \'%s\'");
    printf((char const   *)tmp___3, oid, ud->displaypath);
    goto switch_break___0;
    case_5___0: /* CIL Label */
    tmp___4 = _((char const   *)"Execution of \'%s %s\' failed in submodule path \'%s\'");
    printf((char const   *)tmp___4, ud->update_strategy.command, oid, ud->displaypath);
    goto switch_break___0;
    switch_default___0: /* CIL Label */
    tmp___5 = submodule_strategy_to_string((struct submodule_update_strategy  const  *)(& ud->update_strategy));
    BUG_fl((char const   *)"builtin/submodule--helper.c", 2390, (char const   *)"unexpected update strategy type: %s",
           tmp___5);
    switch_break___0: /* CIL Label */ ;
    }
    if (must_die_on_failure) {
      return (2);
    }
    return (1);
  }
  {
  if ((unsigned int )ud->update_strategy.type == 1U) {
    goto case_1___1;
  }
  if ((unsigned int )ud->update_strategy.type == 2U) {
    goto case_2___1;
  }
  if ((unsigned int )ud->update_strategy.type == 3U) {
    goto case_3___1;
  }
  if ((unsigned int )ud->update_strategy.type == 5U) {
    goto case_5___1;
  }
  goto switch_default___1;
  case_1___1: /* CIL Label */
  tmp___8 = _((char const   *)"Submodule path \'%s\': checked out \'%s\'\n");
  printf((char const   *)tmp___8, ud->displaypath, oid);
  goto switch_break___1;
  case_2___1: /* CIL Label */
  tmp___9 = _((char const   *)"Submodule path \'%s\': rebased into \'%s\'\n");
  printf((char const   *)tmp___9, ud->displaypath, oid);
  goto switch_break___1;
  case_3___1: /* CIL Label */
  tmp___10 = _((char const   *)"Submodule path \'%s\': merged in \'%s\'\n");
  printf((char const   *)tmp___10, ud->displaypath, oid);
  goto switch_break___1;
  case_5___1: /* CIL Label */
  tmp___11 = _((char const   *)"Submodule path \'%s\': \'%s %s\'\n");
  printf((char const   *)tmp___11, ud->displaypath, ud->update_strategy.command, oid);
  goto switch_break___1;
  switch_default___1: /* CIL Label */
  tmp___12 = submodule_strategy_to_string((struct submodule_update_strategy  const  *)(& ud->update_strategy));
  BUG_fl((char const   *)"builtin/submodule--helper.c", 2426, (char const   *)"unexpected update strategy type: %s",
         tmp___12);
  switch_break___1: /* CIL Label */ ;
  }
  return (0);
}
}
static int do_run_update_procedure(struct update_data *ud )
{
  int subforce ;
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  tmp = is_null_oid((struct object_id  const  *)(& ud->suboid));
  if (tmp) {
    tmp___0 = 1;
  } else
  if (ud->force) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  subforce = tmp___0;
  if (! ud->nofetch) {
    tmp___3 = is_tip_reachable(ud->sm_path, & ud->oid);
    if (! tmp___3) {
      tmp___4 = fetch_in_submodule(ud->sm_path, ud->depth, (int )ud->quiet, (struct object_id *)((void *)0));
      if (tmp___4) {
        if (! ud->quiet) {
          tmp___1 = oid_to_hex((struct object_id  const  *)(& ud->oid));
          tmp___2 = _((char const   *)"Unable to fetch in submodule path \'%s\'; trying to directly fetch %s:");
          fprintf_ln(stderr, (char const   *)tmp___2, ud->displaypath, tmp___1);
        }
      }
    }
    tmp___7 = is_tip_reachable(ud->sm_path, & ud->oid);
    if (! tmp___7) {
      tmp___8 = fetch_in_submodule(ud->sm_path, ud->depth, (int )ud->quiet, & ud->oid);
      if (tmp___8) {
        tmp___5 = oid_to_hex((struct object_id  const  *)(& ud->oid));
        tmp___6 = _((char const   *)"Fetched in submodule path \'%s\', but it did not contain %s. Direct fetching of that commit failed.");
        die((char const   *)tmp___6, ud->displaypath, tmp___5);
      }
    }
  }
  tmp___9 = run_update_command(ud, subforce);
  return (tmp___9);
}
}
static void update_submodule(struct update_clone_data *ucd )
{
  char *tmp ;

  {
  tmp = oid_to_hex((struct object_id  const  *)(& ucd->oid));
  fprintf(stdout, (char const   *)"dummy %s %d\t%s\n", tmp, ucd->just_cloned, (ucd->sub)->path);
  return;
}
}
static int update_submodules___0(struct submodule_update_clone *suc )
{
  int i ;

  {
  run_processes_parallel_tr2(suc->max_jobs, & update_clone_get_next_task, & update_clone_start_failure,
                             & update_clone_task_finished, (void *)suc, (char const   *)"submodule",
                             (char const   *)"parallel/update");
  if (suc->quickstop) {
    return (1);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < suc->update_clone_nr)) {
      goto while_break;
    }
    update_submodule(suc->update_clone + i);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int update_clone(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char const   *update___1 ;
  struct pathspec pathspec___1 ;
  struct submodule_update_clone suc ;
  struct option module_update_clone_options[13] ;
  char const   *git_submodule_helper_usage[2] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  update___1 = (char const   *)((void *)0);
  suc.current = 0;
  suc.list.entries = (struct cache_entry  const  **)0;
  suc.list.alloc = 0;
  suc.list.nr = 0;
  suc.warn_if_uninitialized = 0U;
  suc.update.type = (enum submodule_update_type )0;
  suc.update.command = (char const   *)0;
  suc.progress = 0;
  suc.quiet = 0;
  suc.recommend_shallow = -1;
  suc.references.items = (struct string_list_item *)0;
  suc.references.nr = 0U;
  suc.references.alloc = 0U;
  suc.references.strdup_strings = 1U;
  suc.references.cmp = (int (*)(char const   * , char const   * ))0;
  suc.dissociate = 0;
  suc.require_init = 0U;
  suc.depth = (char const   *)0;
  suc.recursive_prefix = (char const   *)0;
  suc.prefix = (char const   *)0;
  suc.single_branch = -1;
  suc.update_clone = (struct update_clone_data *)0;
  suc.update_clone_nr = 0;
  suc.update_clone_alloc = 0;
  suc.quickstop = 0U;
  suc.failed_clones = (struct cache_entry  const  **)0;
  suc.failed_clones_nr = 0;
  suc.failed_clones_alloc = 0;
  suc.max_jobs = 1;
  module_update_clone_options[0].type = (enum parse_opt_type )9;
  module_update_clone_options[0].short_name = 0;
  module_update_clone_options[0].long_name = (char const   *)"prefix";
  module_update_clone_options[0].value = (void *)(& prefix___1);
  module_update_clone_options[0].argh = (char const   *)"path";
  module_update_clone_options[0].help = (char const   *)"path into the working tree";
  module_update_clone_options[0].flags = (enum parse_opt_option_flags )0;
  module_update_clone_options[0].callback = (parse_opt_cb *)0;
  module_update_clone_options[0].defval = 0L;
  module_update_clone_options[0].ll_callback = (parse_opt_ll_cb *)0;
  module_update_clone_options[0].extra = 0L;
  module_update_clone_options[1].type = (enum parse_opt_type )9;
  module_update_clone_options[1].short_name = 0;
  module_update_clone_options[1].long_name = (char const   *)"recursive-prefix";
  module_update_clone_options[1].value = (void *)(& suc.recursive_prefix);
  module_update_clone_options[1].argh = (char const   *)"path";
  module_update_clone_options[1].help = (char const   *)"path into the working tree, across nested submodule boundaries";
  module_update_clone_options[1].flags = (enum parse_opt_option_flags )0;
  module_update_clone_options[1].callback = (parse_opt_cb *)0;
  module_update_clone_options[1].defval = 0L;
  module_update_clone_options[1].ll_callback = (parse_opt_ll_cb *)0;
  module_update_clone_options[1].extra = 0L;
  module_update_clone_options[2].type = (enum parse_opt_type )9;
  module_update_clone_options[2].short_name = 0;
  module_update_clone_options[2].long_name = (char const   *)"update";
  module_update_clone_options[2].value = (void *)(& update___1);
  module_update_clone_options[2].argh = (char const   *)"string";
  module_update_clone_options[2].help = (char const   *)"rebase, merge, checkout or none";
  module_update_clone_options[2].flags = (enum parse_opt_option_flags )0;
  module_update_clone_options[2].callback = (parse_opt_cb *)0;
  module_update_clone_options[2].defval = 0L;
  module_update_clone_options[2].ll_callback = (parse_opt_ll_cb *)0;
  module_update_clone_options[2].extra = 0L;
  module_update_clone_options[3].type = (enum parse_opt_type )12;
  module_update_clone_options[3].short_name = 0;
  module_update_clone_options[3].long_name = (char const   *)"reference";
  module_update_clone_options[3].value = (void *)(& suc.references);
  module_update_clone_options[3].argh = (char const   *)"repo";
  module_update_clone_options[3].help = (char const   *)"reference repository";
  module_update_clone_options[3].flags = (enum parse_opt_option_flags )0;
  module_update_clone_options[3].callback = & parse_opt_string_list;
  module_update_clone_options[3].defval = 0L;
  module_update_clone_options[3].ll_callback = (parse_opt_ll_cb *)0;
  module_update_clone_options[3].extra = 0L;
  module_update_clone_options[4].type = (enum parse_opt_type )8;
  module_update_clone_options[4].short_name = 0;
  module_update_clone_options[4].long_name = (char const   *)"dissociate";
  module_update_clone_options[4].value = (void *)(& suc.dissociate);
  module_update_clone_options[4].argh = (char const   *)((void *)0);
  module_update_clone_options[4].help = (char const   *)"use --reference only while cloning";
  module_update_clone_options[4].flags = (enum parse_opt_option_flags )2;
  module_update_clone_options[4].callback = (parse_opt_cb *)((void *)0);
  module_update_clone_options[4].defval = (intptr_t )1;
  module_update_clone_options[4].ll_callback = (parse_opt_ll_cb *)0;
  module_update_clone_options[4].extra = 0L;
  module_update_clone_options[5].type = (enum parse_opt_type )9;
  module_update_clone_options[5].short_name = 0;
  module_update_clone_options[5].long_name = (char const   *)"depth";
  module_update_clone_options[5].value = (void *)(& suc.depth);
  module_update_clone_options[5].argh = (char const   *)"<depth>";
  module_update_clone_options[5].help = (char const   *)"create a shallow clone truncated to the specified number of revisions";
  module_update_clone_options[5].flags = (enum parse_opt_option_flags )0;
  module_update_clone_options[5].callback = (parse_opt_cb *)0;
  module_update_clone_options[5].defval = 0L;
  module_update_clone_options[5].ll_callback = (parse_opt_ll_cb *)0;
  module_update_clone_options[5].extra = 0L;
  module_update_clone_options[6].type = (enum parse_opt_type )10;
  module_update_clone_options[6].short_name = 'j';
  module_update_clone_options[6].long_name = (char const   *)"jobs";
  module_update_clone_options[6].value = (void *)(& suc.max_jobs);
  module_update_clone_options[6].argh = (char const   *)"n";
  module_update_clone_options[6].help = (char const   *)"parallel jobs";
  module_update_clone_options[6].flags = (enum parse_opt_option_flags )0;
  module_update_clone_options[6].callback = (parse_opt_cb *)0;
  module_update_clone_options[6].defval = 0L;
  module_update_clone_options[6].ll_callback = (parse_opt_ll_cb *)0;
  module_update_clone_options[6].extra = 0L;
  module_update_clone_options[7].type = (enum parse_opt_type )8;
  module_update_clone_options[7].short_name = 0;
  module_update_clone_options[7].long_name = (char const   *)"recommend-shallow";
  module_update_clone_options[7].value = (void *)(& suc.recommend_shallow);
  module_update_clone_options[7].argh = (char const   *)((void *)0);
  module_update_clone_options[7].help = (char const   *)"whether the initial clone should follow the shallow recommendation";
  module_update_clone_options[7].flags = (enum parse_opt_option_flags )2;
  module_update_clone_options[7].callback = (parse_opt_cb *)((void *)0);
  module_update_clone_options[7].defval = (intptr_t )1;
  module_update_clone_options[7].ll_callback = (parse_opt_ll_cb *)0;
  module_update_clone_options[7].extra = 0L;
  module_update_clone_options[8].type = (enum parse_opt_type )7;
  module_update_clone_options[8].short_name = 'q';
  module_update_clone_options[8].long_name = (char const   *)"quiet";
  module_update_clone_options[8].value = (void *)(& suc.quiet);
  module_update_clone_options[8].argh = (char const   *)((void *)0);
  module_update_clone_options[8].help = (char const   *)"don\'t print cloning progress";
  module_update_clone_options[8].flags = (enum parse_opt_option_flags )2;
  module_update_clone_options[8].callback = (parse_opt_cb *)0;
  module_update_clone_options[8].defval = 0L;
  module_update_clone_options[8].ll_callback = (parse_opt_ll_cb *)0;
  module_update_clone_options[8].extra = 0L;
  module_update_clone_options[9].type = (enum parse_opt_type )8;
  module_update_clone_options[9].short_name = 0;
  module_update_clone_options[9].long_name = (char const   *)"progress";
  module_update_clone_options[9].value = (void *)(& suc.progress);
  module_update_clone_options[9].argh = (char const   *)((void *)0);
  module_update_clone_options[9].help = (char const   *)"force cloning progress";
  module_update_clone_options[9].flags = (enum parse_opt_option_flags )2;
  module_update_clone_options[9].callback = (parse_opt_cb *)((void *)0);
  module_update_clone_options[9].defval = (intptr_t )1;
  module_update_clone_options[9].ll_callback = (parse_opt_ll_cb *)0;
  module_update_clone_options[9].extra = 0L;
  module_update_clone_options[10].type = (enum parse_opt_type )8;
  module_update_clone_options[10].short_name = 0;
  module_update_clone_options[10].long_name = (char const   *)"require-init";
  module_update_clone_options[10].value = (void *)(& suc.require_init);
  module_update_clone_options[10].argh = (char const   *)((void *)0);
  module_update_clone_options[10].help = (char const   *)"disallow cloning into non-empty directory";
  module_update_clone_options[10].flags = (enum parse_opt_option_flags )2;
  module_update_clone_options[10].callback = (parse_opt_cb *)((void *)0);
  module_update_clone_options[10].defval = (intptr_t )1;
  module_update_clone_options[10].ll_callback = (parse_opt_ll_cb *)0;
  module_update_clone_options[10].extra = 0L;
  module_update_clone_options[11].type = (enum parse_opt_type )8;
  module_update_clone_options[11].short_name = 0;
  module_update_clone_options[11].long_name = (char const   *)"single-branch";
  module_update_clone_options[11].value = (void *)(& suc.single_branch);
  module_update_clone_options[11].argh = (char const   *)((void *)0);
  module_update_clone_options[11].help = (char const   *)"clone only one branch, HEAD or --branch";
  module_update_clone_options[11].flags = (enum parse_opt_option_flags )2;
  module_update_clone_options[11].callback = (parse_opt_cb *)((void *)0);
  module_update_clone_options[11].defval = (intptr_t )1;
  module_update_clone_options[11].ll_callback = (parse_opt_ll_cb *)0;
  module_update_clone_options[11].extra = 0L;
  module_update_clone_options[12].type = (enum parse_opt_type )0;
  module_update_clone_options[12].short_name = 0;
  module_update_clone_options[12].long_name = (char const   *)0;
  module_update_clone_options[12].value = (void *)0;
  module_update_clone_options[12].argh = (char const   *)0;
  module_update_clone_options[12].help = (char const   *)0;
  module_update_clone_options[12].flags = 0U;
  module_update_clone_options[12].callback = (parse_opt_cb *)0;
  module_update_clone_options[12].defval = 0L;
  module_update_clone_options[12].ll_callback = (parse_opt_ll_cb *)0;
  module_update_clone_options[12].extra = 0L;
  git_submodule_helper_usage[0] = (char const   *)"git submodule--helper update-clone [--prefix=<path>] [<path>...]";
  git_submodule_helper_usage[1] = (char const   *)((void *)0);
  suc.prefix = prefix___1;
  update_clone_config_from_gitmodules(& suc.max_jobs);
  git_config(& git_update_clone_config, (void *)(& suc.max_jobs));
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(module_update_clone_options),
                       git_submodule_helper_usage, (enum parse_opt_flags )0);
  if (update___1) {
    tmp___0 = parse_submodule_update_strategy(update___1, & suc.update);
    if (tmp___0 < 0) {
      tmp = _((char const   *)"bad value for update parameter");
      die((char const   *)tmp);
    }
  }
  tmp___1 = module_list_compute(argc, argv___0, prefix___1, & pathspec___1, & suc.list);
  if (tmp___1 < 0) {
    return (1);
  }
  if (pathspec___1.nr) {
    suc.warn_if_uninitialized = 1U;
  }
  tmp___2 = update_submodules___0(& suc);
  return (tmp___2);
}
}
static int run_update_procedure(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int force___2 ;
  int quiet___7 ;
  int nofetch ;
  int just_cloned ;
  char *prefixed_path ;
  char *update___1 ;
  struct update_data update_data ;
  struct option options[11] ;
  char const   *usage___2[2] ;
  char *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  force___2 = 0;
  quiet___7 = 0;
  nofetch = 0;
  just_cloned = 0;
  update___1 = (char *)((void *)0);
  update_data.recursive_prefix = (char const   *)0;
  update_data.sm_path = (char const   *)0;
  update_data.displaypath = (char const   *)0;
  update_data.oid.hash[0] = (unsigned char)0;
  update_data.oid.hash[1] = (unsigned char)0;
  update_data.oid.hash[2] = (unsigned char)0;
  update_data.oid.hash[3] = (unsigned char)0;
  update_data.oid.hash[4] = (unsigned char)0;
  update_data.oid.hash[5] = (unsigned char)0;
  update_data.oid.hash[6] = (unsigned char)0;
  update_data.oid.hash[7] = (unsigned char)0;
  update_data.oid.hash[8] = (unsigned char)0;
  update_data.oid.hash[9] = (unsigned char)0;
  update_data.oid.hash[10] = (unsigned char)0;
  update_data.oid.hash[11] = (unsigned char)0;
  update_data.oid.hash[12] = (unsigned char)0;
  update_data.oid.hash[13] = (unsigned char)0;
  update_data.oid.hash[14] = (unsigned char)0;
  update_data.oid.hash[15] = (unsigned char)0;
  update_data.oid.hash[16] = (unsigned char)0;
  update_data.oid.hash[17] = (unsigned char)0;
  update_data.oid.hash[18] = (unsigned char)0;
  update_data.oid.hash[19] = (unsigned char)0;
  update_data.oid.hash[20] = (unsigned char)0;
  update_data.oid.hash[21] = (unsigned char)0;
  update_data.oid.hash[22] = (unsigned char)0;
  update_data.oid.hash[23] = (unsigned char)0;
  update_data.oid.hash[24] = (unsigned char)0;
  update_data.oid.hash[25] = (unsigned char)0;
  update_data.oid.hash[26] = (unsigned char)0;
  update_data.oid.hash[27] = (unsigned char)0;
  update_data.oid.hash[28] = (unsigned char)0;
  update_data.oid.hash[29] = (unsigned char)0;
  update_data.oid.hash[30] = (unsigned char)0;
  update_data.oid.hash[31] = (unsigned char)0;
  update_data.oid.algo = 0;
  update_data.suboid.hash[0] = (unsigned char)0;
  update_data.suboid.hash[1] = (unsigned char)0;
  update_data.suboid.hash[2] = (unsigned char)0;
  update_data.suboid.hash[3] = (unsigned char)0;
  update_data.suboid.hash[4] = (unsigned char)0;
  update_data.suboid.hash[5] = (unsigned char)0;
  update_data.suboid.hash[6] = (unsigned char)0;
  update_data.suboid.hash[7] = (unsigned char)0;
  update_data.suboid.hash[8] = (unsigned char)0;
  update_data.suboid.hash[9] = (unsigned char)0;
  update_data.suboid.hash[10] = (unsigned char)0;
  update_data.suboid.hash[11] = (unsigned char)0;
  update_data.suboid.hash[12] = (unsigned char)0;
  update_data.suboid.hash[13] = (unsigned char)0;
  update_data.suboid.hash[14] = (unsigned char)0;
  update_data.suboid.hash[15] = (unsigned char)0;
  update_data.suboid.hash[16] = (unsigned char)0;
  update_data.suboid.hash[17] = (unsigned char)0;
  update_data.suboid.hash[18] = (unsigned char)0;
  update_data.suboid.hash[19] = (unsigned char)0;
  update_data.suboid.hash[20] = (unsigned char)0;
  update_data.suboid.hash[21] = (unsigned char)0;
  update_data.suboid.hash[22] = (unsigned char)0;
  update_data.suboid.hash[23] = (unsigned char)0;
  update_data.suboid.hash[24] = (unsigned char)0;
  update_data.suboid.hash[25] = (unsigned char)0;
  update_data.suboid.hash[26] = (unsigned char)0;
  update_data.suboid.hash[27] = (unsigned char)0;
  update_data.suboid.hash[28] = (unsigned char)0;
  update_data.suboid.hash[29] = (unsigned char)0;
  update_data.suboid.hash[30] = (unsigned char)0;
  update_data.suboid.hash[31] = (unsigned char)0;
  update_data.suboid.algo = 0;
  update_data.update_strategy.type = (enum submodule_update_type )0;
  update_data.update_strategy.command = (char const   *)0;
  update_data.depth = 0;
  update_data.force = 0U;
  update_data.quiet = 0U;
  update_data.nofetch = 0U;
  update_data.just_cloned = 0U;
  options[0].type = (enum parse_opt_type )7;
  options[0].short_name = 'q';
  options[0].long_name = (char const   *)"quiet";
  options[0].value = (void *)(& quiet___7);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"suppress output for update by rebase or merge";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )7;
  options[1].short_name = 'f';
  options[1].long_name = (char const   *)"force";
  options[1].value = (void *)(& force___2);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"force checkout updates";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 'N';
  options[2].long_name = (char const   *)"no-fetch";
  options[2].value = (void *)(& nofetch);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"don\'t fetch new objects from the remote site";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )1;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"just-cloned";
  options[3].value = (void *)(& just_cloned);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"overrides update mode in case the repository is a fresh clone";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )1;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )10;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"depth";
  options[4].value = (void *)(& update_data.depth);
  options[4].argh = (char const   *)"n";
  options[4].help = (char const   *)"depth for shallow fetch";
  options[4].flags = (enum parse_opt_option_flags )0;
  options[4].callback = (parse_opt_cb *)0;
  options[4].defval = 0L;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )9;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)"prefix";
  options[5].value = (void *)(& prefix___1);
  options[5].argh = (char const   *)"path";
  options[5].help = (char const   *)"path into the working tree";
  options[5].flags = (enum parse_opt_option_flags )0;
  options[5].callback = (parse_opt_cb *)0;
  options[5].defval = 0L;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )9;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)"update";
  options[6].value = (void *)(& update___1);
  options[6].argh = (char const   *)"string";
  options[6].help = (char const   *)"rebase, merge, checkout or none";
  options[6].flags = (enum parse_opt_option_flags )0;
  options[6].callback = (parse_opt_cb *)0;
  options[6].defval = 0L;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )9;
  options[7].short_name = 0;
  options[7].long_name = (char const   *)"recursive-prefix";
  options[7].value = (void *)(& update_data.recursive_prefix);
  options[7].argh = (char const   *)"path";
  options[7].help = (char const   *)"path into the working tree, across nested submodule boundaries";
  options[7].flags = (enum parse_opt_option_flags )0;
  options[7].callback = (parse_opt_cb *)0;
  options[7].defval = 0L;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )12;
  options[8].short_name = 0;
  options[8].long_name = (char const   *)"oid";
  options[8].value = (void *)(& update_data.oid);
  options[8].argh = (char const   *)"sha1";
  options[8].help = (char const   *)"SHA1 expected by superproject";
  options[8].flags = (enum parse_opt_option_flags )4;
  options[8].callback = & parse_opt_object_id;
  options[8].defval = 0L;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  options[9].type = (enum parse_opt_type )12;
  options[9].short_name = 0;
  options[9].long_name = (char const   *)"suboid";
  options[9].value = (void *)(& update_data.suboid);
  options[9].argh = (char const   *)"subsha1";
  options[9].help = (char const   *)"SHA1 of submodule\'s HEAD";
  options[9].flags = (enum parse_opt_option_flags )4;
  options[9].callback = & parse_opt_object_id;
  options[9].defval = 0L;
  options[9].ll_callback = (parse_opt_ll_cb *)0;
  options[9].extra = 0L;
  options[10].type = (enum parse_opt_type )0;
  options[10].short_name = 0;
  options[10].long_name = (char const   *)0;
  options[10].value = (void *)0;
  options[10].argh = (char const   *)0;
  options[10].help = (char const   *)0;
  options[10].flags = 0U;
  options[10].callback = (parse_opt_cb *)0;
  options[10].defval = 0L;
  options[10].ll_callback = (parse_opt_ll_cb *)0;
  options[10].extra = 0L;
  usage___2[0] = (char const   *)"git submodule--helper run-update-procedure [<options>] <path>";
  usage___2[1] = (char const   *)((void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       usage___2, (enum parse_opt_flags )0);
  if (argc != 1) {
    usage_with_options(usage___2, (struct option  const  *)(options));
  }
  update_data.force = (unsigned int )(! (! force___2));
  update_data.quiet = (unsigned int )(! (! quiet___7));
  update_data.nofetch = (unsigned int )(! (! nofetch));
  update_data.just_cloned = (unsigned int )(! (! just_cloned));
  update_data.sm_path = *(argv___0 + 0);
  if (update_data.recursive_prefix) {
    prefixed_path = xstrfmt((char const   *)"%s%s", update_data.recursive_prefix,
                            update_data.sm_path);
  } else {
    prefixed_path = xstrdup(update_data.sm_path);
  }
  tmp = get_submodule_displaypath((char const   *)prefixed_path, prefix___1);
  update_data.displaypath = (char const   *)tmp;
  determine_submodule_update_strategy(the_repository, (int )update_data.just_cloned,
                                      update_data.sm_path, (char const   *)update___1,
                                      & update_data.update_strategy);
  free((void *)prefixed_path);
  tmp___1 = oideq((struct object_id  const  *)(& update_data.oid), (struct object_id  const  *)(& update_data.suboid));
  if (tmp___1) {
    if (update_data.force) {
      tmp___0 = do_run_update_procedure(& update_data);
      return (tmp___0);
    }
  } else {
    tmp___0 = do_run_update_procedure(& update_data);
    return (tmp___0);
  }
  return (3);
}
}
static int resolve_relative_path___0(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct strbuf sb___6 ;
  char const   *tmp ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  if (argc != 3) {
    die((char const   *)"submodule--helper relative-path takes exactly 2 arguments, got %d",
        argc);
  }
  tmp = relative_path(*(argv___0 + 1), *(argv___0 + 2), & sb___6);
  printf((char const   *)"%s", tmp);
  strbuf_release(& sb___6);
  return (0);
}
}
static char const   *remote_submodule_branch(char const   *path___6 )
{
  struct submodule  const  *sub ;
  char const   *branch___0 ;
  char *key___1 ;
  struct object_id  const  *tmp ;
  int tmp___0 ;
  char const   *refname ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  branch___0 = (char const   *)((void *)0);
  tmp = null_oid();
  sub = submodule_from_path(the_repository, tmp, path___6);
  if (! sub) {
    return ((char const   *)((void *)0));
  }
  key___1 = xstrfmt((char const   *)"submodule.%s.branch", sub->name);
  tmp___0 = repo_config_get_string_tmp(the_repository, (char const   *)key___1, & branch___0);
  if (tmp___0) {
    branch___0 = (char const   *)sub->branch;
  }
  free((void *)key___1);
  if (! branch___0) {
    return ((char const   *)"HEAD");
  }
  tmp___7 = strcmp(branch___0, (char const   *)".");
  if (! tmp___7) {
    tmp___1 = resolve_ref_unsafe((char const   *)"HEAD", 0, (struct object_id *)((void *)0),
                                 (int *)((void *)0));
    refname = tmp___1;
    if (! refname) {
      tmp___2 = _((char const   *)"No such ref: %s");
      die((char const   *)tmp___2, "HEAD");
    }
    tmp___4 = strcmp(refname, (char const   *)"HEAD");
    if (! tmp___4) {
      tmp___3 = _((char const   *)"Submodule (%s) branch configured to inherit branch from superproject, but the superproject is not on any branch");
      die((char const   *)tmp___3, sub->name);
    }
    tmp___6 = skip_prefix(refname, (char const   *)"refs/heads/", & refname);
    if (! tmp___6) {
      tmp___5 = _((char const   *)"Expecting a full ref name, got %s");
      die((char const   *)tmp___5, refname);
    }
    return (refname);
  }
  return (branch___0);
}
}
static int resolve_remote_submodule_branch(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char const   *ret___67 ;
  struct strbuf sb___6 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  if (argc != 2) {
    die((char const   *)"submodule--helper remote-branch takes exactly one arguments, got %d",
        argc);
  }
  ret___67 = remote_submodule_branch(*(argv___0 + 1));
  if (! ret___67) {
    die((char const   *)"submodule %s doesn\'t exist", *(argv___0 + 1));
  }
  printf((char const   *)"%s", ret___67);
  strbuf_release(& sb___6);
  return (0);
}
}
static int push_check(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct remote *remote ;
  char const   *superproject_head ;
  char *head___1 ;
  int detached_head ;
  struct object_id head_oid___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int i ;
  struct ref *local_refs ;
  struct ref *tmp___1 ;
  struct refspec refspec ;
  struct refspec_item  const  *rs___0 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  detached_head = 0;
  if (argc < 3) {
    die((char const   *)"submodule--helper push-check requires at least 2 arguments");
  }
  superproject_head = *(argv___0 + 1);
  argv___0 ++;
  argc --;
  head___1 = resolve_refdup((char const   *)"HEAD", 0, & head_oid___1, (int *)((void *)0));
  if (! head___1) {
    tmp = _((char const   *)"Failed to resolve HEAD as a valid ref.");
    die((char const   *)tmp);
  }
  tmp___0 = strcmp((char const   *)head___1, (char const   *)"HEAD");
  if (! tmp___0) {
    detached_head = 1;
  }
  remote = pushremote_get(*(argv___0 + 1));
  if (! remote) {
    die((char const   *)"remote \'%s\' not configured", *(argv___0 + 1));
  } else
  if (remote->origin == 0) {
    die((char const   *)"remote \'%s\' not configured", *(argv___0 + 1));
  }
  if (argc > 2) {
    tmp___1 = get_local_heads();
    local_refs = tmp___1;
    refspec.items = (struct refspec_item *)0;
    refspec.alloc = 0;
    refspec.nr = 0;
    refspec.raw = (char const   **)0;
    refspec.raw_alloc = 0;
    refspec.raw_nr = 0;
    refspec.fetch = 0;
    refspec_appendn(& refspec, argv___0 + 2, argc - 2);
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < refspec.nr)) {
        goto while_break;
      }
      rs___0 = (struct refspec_item  const  *)(refspec.items + i);
      if (rs___0->pattern) {
        goto __Cont;
      } else
      if (rs___0->matching) {
        goto __Cont;
      }
      tmp___2 = count_refspec_match((char const   *)rs___0->src, local_refs, (struct ref **)((void *)0));
      {
      if (tmp___2 == 1) {
        goto case_1;
      }
      if (tmp___2 == 0) {
        goto case_0;
      }
      goto switch_default;
      case_1: /* CIL Label */
      goto switch_break;
      case_0: /* CIL Label */
      tmp___4 = strcmp((char const   *)rs___0->src, (char const   *)"HEAD");
      if (! tmp___4) {
        if (! detached_head) {
          tmp___3 = strcmp((char const   *)head___1, superproject_head);
          if (! tmp___3) {
            goto switch_break;
          }
        }
        die((char const   *)"HEAD does not match the named branch in the superproject");
      }
      switch_default: /* CIL Label */
      die((char const   *)"src refspec \'%s\' must name a ref", rs___0->src);
      switch_break: /* CIL Label */ ;
      }
      __Cont: /* CIL Label */
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    refspec_clear(& refspec);
  }
  free((void *)head___1);
  return (0);
}
}
static int ensure_core_worktree(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char const   *path___6 ;
  char const   *cw ;
  struct repository subrepo ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct object_id  const  *tmp___0 ;
  int tmp___1 ;
  char *cfg_file ;
  char *abs_path ;
  char const   *rel_path ;
  struct strbuf sb___6 ;
  int tmp___2 ;

  {
  if (argc != 2) {
    BUG_fl((char const   *)"builtin/submodule--helper.c", 2776, (char const   *)"submodule--helper ensure-core-worktree <path>");
  }
  path___6 = *(argv___0 + 1);
  tmp___0 = null_oid();
  tmp___1 = repo_submodule_init(& subrepo, the_repository, path___6, tmp___0);
  if (tmp___1) {
    tmp = _((char const   *)"could not get a repository handle for submodule \'%s\'");
    die((char const   *)tmp, path___6);
  }
  tmp___2 = repo_config_get_string_tmp(& subrepo, (char const   *)"core.worktree",
                                       & cw);
  if (! tmp___2) {
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    cfg_file = repo_git_path((struct repository  const  *)(& subrepo), (char const   *)"config");
    abs_path = absolute_pathdup(path___6);
    rel_path = relative_path((char const   *)abs_path, (char const   *)subrepo.gitdir,
                             & sb___6);
    git_config_set_in_file((char const   *)cfg_file, (char const   *)"core.worktree",
                           rel_path);
    free((void *)cfg_file);
    free((void *)abs_path);
    strbuf_release(& sb___6);
  }
  return (0);
}
}
static int absorb_git_dirs(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  struct pathspec pathspec___1 ;
  struct module_list list___3 ;
  unsigned int flags___0 ;
  struct option embed_gitdir_options[3] ;
  char const   *git_submodule_helper_usage[2] ;
  int tmp ;

  {
  list___3.entries = (struct cache_entry  const  **)0;
  list___3.alloc = 0;
  list___3.nr = 0;
  flags___0 = 1U;
  embed_gitdir_options[0].type = (enum parse_opt_type )9;
  embed_gitdir_options[0].short_name = 0;
  embed_gitdir_options[0].long_name = (char const   *)"prefix";
  embed_gitdir_options[0].value = (void *)(& prefix___1);
  embed_gitdir_options[0].argh = (char const   *)"path";
  embed_gitdir_options[0].help = (char const   *)"path into the working tree";
  embed_gitdir_options[0].flags = (enum parse_opt_option_flags )0;
  embed_gitdir_options[0].callback = (parse_opt_cb *)0;
  embed_gitdir_options[0].defval = 0L;
  embed_gitdir_options[0].ll_callback = (parse_opt_ll_cb *)0;
  embed_gitdir_options[0].extra = 0L;
  embed_gitdir_options[1].type = (enum parse_opt_type )4;
  embed_gitdir_options[1].short_name = 0;
  embed_gitdir_options[1].long_name = (char const   *)"--recursive";
  embed_gitdir_options[1].value = (void *)(& flags___0);
  embed_gitdir_options[1].argh = (char const   *)((void *)0);
  embed_gitdir_options[1].help = (char const   *)"recurse into submodules";
  embed_gitdir_options[1].flags = (enum parse_opt_option_flags )2;
  embed_gitdir_options[1].callback = (parse_opt_cb *)((void *)0);
  embed_gitdir_options[1].defval = (intptr_t )1;
  embed_gitdir_options[1].ll_callback = (parse_opt_ll_cb *)0;
  embed_gitdir_options[1].extra = 0L;
  embed_gitdir_options[2].type = (enum parse_opt_type )0;
  embed_gitdir_options[2].short_name = 0;
  embed_gitdir_options[2].long_name = (char const   *)0;
  embed_gitdir_options[2].value = (void *)0;
  embed_gitdir_options[2].argh = (char const   *)0;
  embed_gitdir_options[2].help = (char const   *)0;
  embed_gitdir_options[2].flags = 0U;
  embed_gitdir_options[2].callback = (parse_opt_cb *)0;
  embed_gitdir_options[2].defval = 0L;
  embed_gitdir_options[2].ll_callback = (parse_opt_ll_cb *)0;
  embed_gitdir_options[2].extra = 0L;
  git_submodule_helper_usage[0] = (char const   *)"git submodule--helper absorb-git-dirs [<options>] [<path>...]";
  git_submodule_helper_usage[1] = (char const   *)((void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(embed_gitdir_options),
                       git_submodule_helper_usage, (enum parse_opt_flags )0);
  tmp = module_list_compute(argc, argv___0, prefix___1, & pathspec___1, & list___3);
  if (tmp < 0) {
    return (1);
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < list___3.nr)) {
      goto while_break;
    }
    absorb_git_dir_into_superproject((char const   *)((*(list___3.entries + i))->name),
                                     flags___0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int is_active(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int tmp ;
  int tmp___0 ;

  {
  if (argc != 2) {
    die((char const   *)"submodule--helper is-active takes exactly 1 argument");
  }
  tmp = is_submodule_active(the_repository, *(argv___0 + 1));
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  return (tmp___0);
}
}
static int check_name(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int tmp ;
  struct strbuf buf___19 ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (argc > 1) {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      argv___0 ++;
      if (! *argv___0) {
        goto while_break;
      }
      tmp = check_submodule_name(*argv___0);
      if (tmp < 0) {
        return (1);
      }
    }
    while_break: /* CIL Label */ ;
    }
  } else {
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___1 = strbuf_getline(& buf___19, stdin);
      if (! (tmp___1 != -1)) {
        goto while_break___0;
      }
      tmp___0 = check_submodule_name((char const   *)buf___19.buf);
      if (! tmp___0) {
        printf((char const   *)"%s\n", buf___19.buf);
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    strbuf_release(& buf___19);
  }
  return (0);
}
}
static int module_config(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  enum __anonenum_command_1040872824 command___0 ;
  struct option module_config_options[3] ;
  char const   *git_submodule_helper_usage[4] ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  char const   *value ;
  char const   *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  command___0 = (enum __anonenum_command_1040872824 )0;
  module_config_options[0].type = (enum parse_opt_type )8;
  module_config_options[0].short_name = 0;
  module_config_options[0].long_name = (char const   *)"check-writeable";
  module_config_options[0].value = (void *)(& command___0);
  module_config_options[0].argh = (char const   *)((void *)0);
  module_config_options[0].help = (char const   *)"check if it is safe to write to the .gitmodules file";
  module_config_options[0].flags = (enum parse_opt_option_flags )2054;
  module_config_options[0].callback = (parse_opt_cb *)((void *)0);
  module_config_options[0].defval = (intptr_t )1;
  module_config_options[0].ll_callback = (parse_opt_ll_cb *)0;
  module_config_options[0].extra = 0L;
  module_config_options[1].type = (enum parse_opt_type )8;
  module_config_options[1].short_name = 0;
  module_config_options[1].long_name = (char const   *)"unset";
  module_config_options[1].value = (void *)(& command___0);
  module_config_options[1].argh = (char const   *)((void *)0);
  module_config_options[1].help = (char const   *)"unset the config in the .gitmodules file";
  module_config_options[1].flags = (enum parse_opt_option_flags )2054;
  module_config_options[1].callback = (parse_opt_cb *)((void *)0);
  module_config_options[1].defval = (intptr_t )2;
  module_config_options[1].ll_callback = (parse_opt_ll_cb *)0;
  module_config_options[1].extra = 0L;
  module_config_options[2].type = (enum parse_opt_type )0;
  module_config_options[2].short_name = 0;
  module_config_options[2].long_name = (char const   *)0;
  module_config_options[2].value = (void *)0;
  module_config_options[2].argh = (char const   *)0;
  module_config_options[2].help = (char const   *)0;
  module_config_options[2].flags = 0U;
  module_config_options[2].callback = (parse_opt_cb *)0;
  module_config_options[2].defval = 0L;
  module_config_options[2].ll_callback = (parse_opt_ll_cb *)0;
  module_config_options[2].extra = 0L;
  git_submodule_helper_usage[0] = (char const   *)"git submodule--helper config <name> [<value>]";
  git_submodule_helper_usage[1] = (char const   *)"git submodule--helper config --unset <name>";
  git_submodule_helper_usage[2] = (char const   *)"git submodule--helper config --check-writeable";
  git_submodule_helper_usage[3] = (char const   *)((void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(module_config_options),
                       git_submodule_helper_usage, (enum parse_opt_flags )4);
  if (argc == 1) {
    if ((unsigned int )command___0 == 1U) {
      tmp___1 = is_writing_gitmodules_ok();
      if (tmp___1) {
        tmp___0 = 0;
      } else {
        tmp___0 = -1;
      }
      return (tmp___0);
    }
  }
  if (argc == 2) {
    if ((unsigned int )command___0 != 2U) {
      tmp___2 = print_config_from_gitmodules(the_repository, *(argv___0 + 1));
      return (tmp___2);
    }
  }
  if (argc == 3) {
    goto _L;
  } else
  if (argc == 2) {
    if ((unsigned int )command___0 == 2U) {
      _L: /* CIL Label */
      if (argc == 3) {
        tmp___3 = *(argv___0 + 2);
      } else {
        tmp___3 = (char const   *)((void *)0);
      }
      value = tmp___3;
      tmp___5 = is_writing_gitmodules_ok();
      if (! tmp___5) {
        tmp___4 = _((char const   *)"please make sure that the .gitmodules file is in the working tree");
        die((char const   *)tmp___4);
      }
      tmp___6 = config_set_in_gitmodules_file_gently(*(argv___0 + 1), value);
      return (tmp___6);
    }
  }
  usage_with_options(git_submodule_helper_usage, (struct option  const  *)(module_config_options));
}
}
static int module_set_url(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int quiet___7 ;
  char const   *newurl ;
  char const   *path___6 ;
  char *config_name ;
  struct option options[2] ;
  char const   *usage___2[2] ;
  int tmp ;

  {
  quiet___7 = 0;
  options[0].type = (enum parse_opt_type )7;
  options[0].short_name = 'q';
  options[0].long_name = (char const   *)"quiet";
  options[0].value = (void *)(& quiet___7);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"suppress output for setting url of a submodule";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )0;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)0;
  options[1].value = (void *)0;
  options[1].argh = (char const   *)0;
  options[1].help = (char const   *)0;
  options[1].flags = 0U;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  usage___2[0] = (char const   *)"git submodule--helper set-url [--quiet] <path> <newurl>";
  usage___2[1] = (char const   *)((void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       usage___2, (enum parse_opt_flags )0);
  if (argc != 2) {
    usage_with_options(usage___2, (struct option  const  *)(options));
  } else {
    path___6 = *(argv___0 + 0);
    if (path___6) {
      newurl = *(argv___0 + 1);
      if (! newurl) {
        usage_with_options(usage___2, (struct option  const  *)(options));
      }
    } else {
      usage_with_options(usage___2, (struct option  const  *)(options));
    }
  }
  config_name = xstrfmt((char const   *)"submodule.%s.url", path___6);
  config_set_in_gitmodules_file_gently((char const   *)config_name, newurl);
  if (quiet___7) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  sync_submodule(path___6, prefix___1, (unsigned int )tmp);
  free((void *)config_name);
  return (0);
}
}
static int module_set_branch(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int opt_default ;
  int ret___67 ;
  char const   *opt_branch ;
  char const   *path___6 ;
  char *config_name ;
  struct option options[4] ;
  char const   *usage___2[3] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  opt_default = 0;
  opt_branch = (char const   *)((void *)0);
  options[0].type = (enum parse_opt_type )12;
  options[0].short_name = 'q';
  options[0].long_name = (char const   *)"quiet";
  options[0].value = (void *)0;
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"no-op (backward compatibility)";
  options[0].flags = (enum parse_opt_option_flags )10;
  options[0].callback = & parse_opt_noop_cb;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 'd';
  options[1].long_name = (char const   *)"default";
  options[1].value = (void *)(& opt_default);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"set the default tracking branch to master";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )9;
  options[2].short_name = 'b';
  options[2].long_name = (char const   *)"branch";
  options[2].value = (void *)(& opt_branch);
  options[2].argh = (char const   *)"branch";
  options[2].help = (char const   *)"set the default tracking branch";
  options[2].flags = (enum parse_opt_option_flags )0;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )0;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)0;
  options[3].value = (void *)0;
  options[3].argh = (char const   *)0;
  options[3].help = (char const   *)0;
  options[3].flags = 0U;
  options[3].callback = (parse_opt_cb *)0;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  usage___2[0] = (char const   *)"git submodule--helper set-branch [-q|--quiet] (-d|--default) <path>";
  usage___2[1] = (char const   *)"git submodule--helper set-branch [-q|--quiet] (-b|--branch) <branch> <path>";
  usage___2[2] = (char const   *)((void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       usage___2, (enum parse_opt_flags )0);
  if (! opt_branch) {
    if (! opt_default) {
      tmp = _((char const   *)"--branch or --default required");
      die((char const   *)tmp);
    }
  }
  if (opt_branch) {
    if (opt_default) {
      tmp___0 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp___0, "--branch", "--default");
    }
  }
  if (argc != 1) {
    usage_with_options(usage___2, (struct option  const  *)(options));
  } else {
    path___6 = *(argv___0 + 0);
    if (! path___6) {
      usage_with_options(usage___2, (struct option  const  *)(options));
    }
  }
  config_name = xstrfmt((char const   *)"submodule.%s.branch", path___6);
  ret___67 = config_set_in_gitmodules_file_gently((char const   *)config_name, opt_branch);
  free((void *)config_name);
  return (! (! ret___67));
}
}
static void append_fetch_remotes(struct strbuf *msg___5 , char const   *git_dir_path )
{
  struct child_process cp_remote ;
  struct strbuf sb_remote_out ;
  char *next_line___1 ;
  char *line___0 ;
  size_t len___0 ;
  int tmp ;
  int tmp___0 ;

  {
  cp_remote.args.v = empty_strvec;
  cp_remote.args.nr = 0UL;
  cp_remote.args.alloc = 0UL;
  cp_remote.env_array.v = empty_strvec;
  cp_remote.env_array.nr = 0UL;
  cp_remote.env_array.alloc = 0UL;
  cp_remote.pid = 0;
  cp_remote.trace2_child_id = 0;
  cp_remote.trace2_child_us_start = 0UL;
  cp_remote.trace2_child_class = (char const   *)0;
  cp_remote.trace2_hook_name = (char const   *)0;
  cp_remote.in = 0;
  cp_remote.out = 0;
  cp_remote.err = 0;
  cp_remote.dir = (char const   *)0;
  cp_remote.no_stdin = 0U;
  cp_remote.no_stdout = 0U;
  cp_remote.no_stderr = 0U;
  cp_remote.git_cmd = 0U;
  cp_remote.silent_exec_failure = 0U;
  cp_remote.use_shell = 0U;
  cp_remote.close_object_store = 0U;
  cp_remote.stdout_to_stderr = 0U;
  cp_remote.clean_on_exit = 0U;
  cp_remote.wait_after_clean = 0U;
  cp_remote.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp_remote.clean_on_exit_handler_cbdata = (void *)0;
  sb_remote_out.alloc = 0UL;
  sb_remote_out.len = 0UL;
  sb_remote_out.buf = strbuf_slopbuf;
  cp_remote.git_cmd = 1U;
  strvec_pushf(& cp_remote.env_array, (char const   *)"GIT_DIR=%s", git_dir_path);
  strvec_push(& cp_remote.env_array, (char const   *)"GIT_WORK_TREE=.");
  strvec_pushl(& cp_remote.args, "remote", "-v", (void *)0);
  tmp___0 = capture_command(& cp_remote, & sb_remote_out, (size_t )0);
  if (! tmp___0) {
    line___0 = sb_remote_out.buf;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      next_line___1 = strchr((char const   *)line___0, '\n');
      if (! ((unsigned long )next_line___1 != (unsigned long )((void *)0))) {
        goto while_break;
      }
      len___0 = (size_t )(next_line___1 - line___0);
      tmp = strip_suffix_mem((char const   *)line___0, & len___0, (char const   *)" (fetch)");
      if (tmp) {
        strbuf_addf(msg___5, (char const   *)"  %.*s\n", (int )len___0, line___0);
      }
      line___0 = next_line___1 + 1;
    }
    while_break: /* CIL Label */ ;
    }
  }
  strbuf_release(& sb_remote_out);
  return;
}
}
static int add_submodule(struct add_data  const  *add_data )
{
  char *submod_gitdir_path ;
  struct module_clone_data clone_data ;
  struct strbuf sm_path ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  struct child_process cp ;
  struct strbuf msg___5 ;
  char *die_msg ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char *tmp___6 ;
  char *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;

  {
  clone_data.prefix = (char const   *)0;
  clone_data.path = (char const   *)0;
  clone_data.name = (char const   *)0;
  clone_data.url = (char const   *)0;
  clone_data.depth = (char const   *)0;
  clone_data.reference.items = (struct string_list_item *)0;
  clone_data.reference.nr = 0U;
  clone_data.reference.alloc = 0U;
  clone_data.reference.strdup_strings = 0U;
  clone_data.reference.cmp = (int (*)(char const   * , char const   * ))0;
  clone_data.quiet = 0U;
  clone_data.progress = 0U;
  clone_data.dissociate = 0U;
  clone_data.require_init = 0U;
  clone_data.single_branch = -1;
  tmp___11 = is_directory((char const   *)add_data->sm_path);
  if (tmp___11) {
    sm_path.alloc = 0UL;
    sm_path.len = 0UL;
    sm_path.buf = strbuf_slopbuf;
    strbuf_addstr(& sm_path, (char const   *)add_data->sm_path);
    submod_gitdir_path = xstrfmt((char const   *)"%s/.git", add_data->sm_path);
    tmp___1 = is_nonbare_repository_dir(& sm_path);
    if (tmp___1) {
      tmp = _((char const   *)"Adding existing repo at \'%s\' to the index\n");
      printf((char const   *)tmp, add_data->sm_path);
    } else {
      tmp___0 = _((char const   *)"\'%s\' already exists and is not a valid git repo");
      die((char const   *)tmp___0, add_data->sm_path);
    }
    strbuf_release(& sm_path);
    free((void *)submod_gitdir_path);
  } else {
    cp.args.v = empty_strvec;
    cp.args.nr = 0UL;
    cp.args.alloc = 0UL;
    cp.env_array.v = empty_strvec;
    cp.env_array.nr = 0UL;
    cp.env_array.alloc = 0UL;
    cp.pid = 0;
    cp.trace2_child_id = 0;
    cp.trace2_child_us_start = 0UL;
    cp.trace2_child_class = (char const   *)0;
    cp.trace2_hook_name = (char const   *)0;
    cp.in = 0;
    cp.out = 0;
    cp.err = 0;
    cp.dir = (char const   *)0;
    cp.no_stdin = 0U;
    cp.no_stdout = 0U;
    cp.no_stderr = 0U;
    cp.git_cmd = 0U;
    cp.silent_exec_failure = 0U;
    cp.use_shell = 0U;
    cp.close_object_store = 0U;
    cp.stdout_to_stderr = 0U;
    cp.clean_on_exit = 0U;
    cp.wait_after_clean = 0U;
    cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    cp.clean_on_exit_handler_cbdata = (void *)0;
    submod_gitdir_path = xstrfmt((char const   *)".git/modules/%s", add_data->sm_name);
    tmp___5 = is_directory((char const   *)submod_gitdir_path);
    if (tmp___5) {
      if (! add_data->force) {
        msg___5.alloc = 0UL;
        msg___5.len = 0UL;
        msg___5.buf = strbuf_slopbuf;
        tmp___2 = _((char const   *)"A git directory for \'%s\' is found locally with remote(s):\n");
        strbuf_addf(& msg___5, (char const   *)tmp___2, add_data->sm_name);
        append_fetch_remotes(& msg___5, (char const   *)submod_gitdir_path);
        free((void *)submod_gitdir_path);
        tmp___3 = _((char const   *)"If you want to reuse this local git directory instead of cloning again from\n  %s\nuse the \'--force\' option. If the local git directory is not the correct repo\nor you are unsure what this means choose another name with the \'--name\' option.");
        strbuf_addf(& msg___5, (char const   *)tmp___3, add_data->realrepo);
        die_msg = strbuf_detach(& msg___5, (size_t *)((void *)0));
        die((char const   *)"%s", die_msg);
      } else {
        tmp___4 = _((char const   *)"Reactivating local git directory for submodule \'%s\'\n");
        printf((char const   *)tmp___4, add_data->sm_name);
      }
    }
    free((void *)submod_gitdir_path);
    clone_data.prefix = (char const   *)add_data->prefix;
    clone_data.path = (char const   *)add_data->sm_path;
    clone_data.name = (char const   *)add_data->sm_name;
    clone_data.url = (char const   *)add_data->realrepo;
    clone_data.quiet = (unsigned int )add_data->quiet;
    clone_data.progress = (unsigned int )add_data->progress;
    if (add_data->reference_path) {
      tmp___6 = xstrdup((char const   *)add_data->reference_path);
      string_list_append(& clone_data.reference, (char const   *)tmp___6);
    }
    clone_data.dissociate = (unsigned int )add_data->dissociate;
    if (add_data->depth >= 0) {
      tmp___7 = xstrfmt((char const   *)"%d", add_data->depth);
      clone_data.depth = (char const   *)tmp___7;
    }
    tmp___8 = clone_submodule(& clone_data);
    if (tmp___8) {
      return (-1);
    }
    prepare_submodule_repo_env(& cp.env_array);
    cp.git_cmd = 1U;
    cp.dir = (char const   *)add_data->sm_path;
    strvec_pushl(& cp.args, "checkout", "-f", "-q", (void *)0);
    if (add_data->branch) {
      strvec_pushl(& cp.args, "-B", add_data->branch, (void *)0);
      strvec_pushf(& cp.args, (char const   *)"origin/%s", add_data->branch);
    }
    tmp___10 = run_command(& cp);
    if (tmp___10) {
      tmp___9 = _((char const   *)"unable to checkout submodule \'%s\'");
      die((char const   *)tmp___9, add_data->sm_path);
    }
  }
  return (0);
}
}
static int config_submodule_in_gitmodules(char const   *name___0 , char const   *var ,
                                          char const   *value )
{
  char *key___1 ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  tmp___0 = is_writing_gitmodules_ok();
  if (! tmp___0) {
    tmp = _((char const   *)"please make sure that the .gitmodules file is in the working tree");
    die((char const   *)tmp);
  }
  key___1 = xstrfmt((char const   *)"submodule.%s.%s", name___0, var);
  ret___67 = config_set_in_gitmodules_file_gently((char const   *)key___1, value);
  free((void *)key___1);
  return (ret___67);
}
}
static void configure_added_submodule(struct add_data *add_data )
{
  char *key___1 ;
  char *val ;
  struct child_process add_submod ;
  struct child_process add_gitmodules ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  val = (char *)((void *)0);
  add_submod.args.v = empty_strvec;
  add_submod.args.nr = 0UL;
  add_submod.args.alloc = 0UL;
  add_submod.env_array.v = empty_strvec;
  add_submod.env_array.nr = 0UL;
  add_submod.env_array.alloc = 0UL;
  add_submod.pid = 0;
  add_submod.trace2_child_id = 0;
  add_submod.trace2_child_us_start = 0UL;
  add_submod.trace2_child_class = (char const   *)0;
  add_submod.trace2_hook_name = (char const   *)0;
  add_submod.in = 0;
  add_submod.out = 0;
  add_submod.err = 0;
  add_submod.dir = (char const   *)0;
  add_submod.no_stdin = 0U;
  add_submod.no_stdout = 0U;
  add_submod.no_stderr = 0U;
  add_submod.git_cmd = 0U;
  add_submod.silent_exec_failure = 0U;
  add_submod.use_shell = 0U;
  add_submod.close_object_store = 0U;
  add_submod.stdout_to_stderr = 0U;
  add_submod.clean_on_exit = 0U;
  add_submod.wait_after_clean = 0U;
  add_submod.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  add_submod.clean_on_exit_handler_cbdata = (void *)0;
  add_gitmodules.args.v = empty_strvec;
  add_gitmodules.args.nr = 0UL;
  add_gitmodules.args.alloc = 0UL;
  add_gitmodules.env_array.v = empty_strvec;
  add_gitmodules.env_array.nr = 0UL;
  add_gitmodules.env_array.alloc = 0UL;
  add_gitmodules.pid = 0;
  add_gitmodules.trace2_child_id = 0;
  add_gitmodules.trace2_child_us_start = 0UL;
  add_gitmodules.trace2_child_class = (char const   *)0;
  add_gitmodules.trace2_hook_name = (char const   *)0;
  add_gitmodules.in = 0;
  add_gitmodules.out = 0;
  add_gitmodules.err = 0;
  add_gitmodules.dir = (char const   *)0;
  add_gitmodules.no_stdin = 0U;
  add_gitmodules.no_stdout = 0U;
  add_gitmodules.no_stderr = 0U;
  add_gitmodules.git_cmd = 0U;
  add_gitmodules.silent_exec_failure = 0U;
  add_gitmodules.use_shell = 0U;
  add_gitmodules.close_object_store = 0U;
  add_gitmodules.stdout_to_stderr = 0U;
  add_gitmodules.clean_on_exit = 0U;
  add_gitmodules.wait_after_clean = 0U;
  add_gitmodules.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  add_gitmodules.clean_on_exit_handler_cbdata = (void *)0;
  key___1 = xstrfmt((char const   *)"submodule.%s.url", add_data->sm_name);
  git_config_set_gently((char const   *)key___1, add_data->realrepo);
  free((void *)key___1);
  add_submod.git_cmd = 1U;
  strvec_pushl(& add_submod.args, "add", "--no-warn-embedded-repo", (void *)0);
  if (add_data->force) {
    strvec_push(& add_submod.args, (char const   *)"--force");
  }
  strvec_pushl(& add_submod.args, "--", add_data->sm_path, (void *)0);
  tmp___0 = run_command(& add_submod);
  if (tmp___0) {
    tmp = _((char const   *)"Failed to add submodule \'%s\'");
    die((char const   *)tmp, add_data->sm_path);
  }
  tmp___2 = config_submodule_in_gitmodules(add_data->sm_name, (char const   *)"path",
                                           (char const   *)add_data->sm_path);
  if (tmp___2) {
    tmp___1 = _((char const   *)"Failed to register submodule \'%s\'");
    die((char const   *)tmp___1, add_data->sm_path);
  } else {
    tmp___3 = config_submodule_in_gitmodules(add_data->sm_name, (char const   *)"url",
                                             add_data->repo);
    if (tmp___3) {
      tmp___1 = _((char const   *)"Failed to register submodule \'%s\'");
      die((char const   *)tmp___1, add_data->sm_path);
    }
  }
  if (add_data->branch) {
    tmp___5 = config_submodule_in_gitmodules(add_data->sm_name, (char const   *)"branch",
                                             add_data->branch);
    if (tmp___5) {
      tmp___4 = _((char const   *)"Failed to register submodule \'%s\'");
      die((char const   *)tmp___4, add_data->sm_path);
    }
  }
  add_gitmodules.git_cmd = 1U;
  strvec_pushl(& add_gitmodules.args, "add", "--force", "--", ".gitmodules", (void *)0);
  tmp___7 = run_command(& add_gitmodules);
  if (tmp___7) {
    tmp___6 = _((char const   *)"Failed to register submodule \'%s\'");
    die((char const   *)tmp___6, add_data->sm_path);
  }
  tmp___9 = git_config_get_string((char const   *)"submodule.active", & val);
  if (tmp___9) {
    key___1 = xstrfmt((char const   *)"submodule.%s.active", add_data->sm_name);
    git_config_set_gently((char const   *)key___1, (char const   *)"true");
    free((void *)key___1);
  } else
  if (val) {
    tmp___8 = is_submodule_active(the_repository, (char const   *)add_data->sm_path);
    if (! tmp___8) {
      key___1 = xstrfmt((char const   *)"submodule.%s.active", add_data->sm_name);
      git_config_set_gently((char const   *)key___1, (char const   *)"true");
      free((void *)key___1);
    }
  } else {
    key___1 = xstrfmt((char const   *)"submodule.%s.active", add_data->sm_name);
    git_config_set_gently((char const   *)key___1, (char const   *)"true");
    free((void *)key___1);
  }
  return;
}
}
static void die_on_index_match(char const   *path___6 , int force___2 )
{
  struct pathspec ps ;
  char const   *args___0[2] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int i ;
  char *ps_matched___1 ;
  void *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;

  {
  args___0[0] = path___6;
  args___0[1] = (char const   *)((void *)0);
  parse_pathspec(& ps, 0U, 1U, (char const   *)((void *)0), args___0);
  tmp___0 = repo_read_index_preload(the_repository, (struct pathspec  const  *)((void *)0),
                                    0U);
  if (tmp___0 < 0) {
    tmp = _((char const   *)"index file corrupt");
    die((char const   *)tmp);
  }
  if (ps.nr) {
    tmp___1 = xcalloc((size_t )ps.nr, (size_t )1);
    ps_matched___1 = (char *)tmp___1;
    ensure_full_index(& the_index);
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )i < the_index.cache_nr)) {
        goto while_break;
      }
      ce_path_match(& the_index, (struct cache_entry  const  *)*(the_index.cache + i),
                    (struct pathspec  const  *)(& ps), ps_matched___1);
      if (*(ps_matched___1 + 0)) {
        if (! force___2) {
          tmp___2 = _((char const   *)"\'%s\' already exists in the index");
          die((char const   *)tmp___2, path___6);
        }
        if (! (((*(the_index.cache + i))->ce_mode & 61440U) == 57344U)) {
          tmp___3 = _((char const   *)"\'%s\' already exists in the index and is not a submodule");
          die((char const   *)tmp___3, path___6);
        }
        goto while_break;
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    free((void *)ps_matched___1);
  }
  clear_pathspec(& ps);
  return;
}
}
static void die_on_repo_without_commits(char const   *path___6 )
{
  struct strbuf sb___6 ;
  struct object_id oid ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  strbuf_addstr(& sb___6, path___6);
  tmp___1 = is_nonbare_repository_dir(& sb___6);
  if (tmp___1) {
    tmp___0 = resolve_gitlink_ref(path___6, (char const   *)"HEAD", & oid);
    if (tmp___0 < 0) {
      tmp = _((char const   *)"\'%s\' does not have a commit checked out");
      die((char const   *)tmp, path___6);
    }
  }
  strbuf_release(& sb___6);
  return;
}
}
static int module_add(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int force___2 ;
  int quiet___7 ;
  int progress___7 ;
  int dissociate ;
  struct add_data add_data ;
  struct option options[9] ;
  char const   *usage___2[2] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  char *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int exit_code ;
  struct strbuf sb___6 ;
  struct child_process cp ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;

  {
  force___2 = 0;
  quiet___7 = 0;
  progress___7 = 0;
  dissociate = 0;
  add_data.prefix = (char const   *)0;
  add_data.branch = (char const   *)0;
  add_data.reference_path = (char const   *)0;
  add_data.sm_path = (char *)0;
  add_data.sm_name = (char const   *)0;
  add_data.repo = (char const   *)0;
  add_data.realrepo = (char const   *)0;
  add_data.depth = -1;
  add_data.force = 0U;
  add_data.quiet = 0U;
  add_data.progress = 0U;
  add_data.dissociate = 0U;
  options[0].type = (enum parse_opt_type )9;
  options[0].short_name = 'b';
  options[0].long_name = (char const   *)"branch";
  options[0].value = (void *)(& add_data.branch);
  options[0].argh = (char const   *)"branch";
  options[0].help = (char const   *)"branch of repository to add as submodule";
  options[0].flags = (enum parse_opt_option_flags )0;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )7;
  options[1].short_name = 'f';
  options[1].long_name = (char const   *)"force";
  options[1].value = (void *)(& force___2);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"allow adding an otherwise ignored submodule path";
  options[1].flags = (enum parse_opt_option_flags )514;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )7;
  options[2].short_name = 'q';
  options[2].long_name = (char const   *)"quiet";
  options[2].value = (void *)(& quiet___7);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"print only error messages";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"progress";
  options[3].value = (void *)(& progress___7);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"force cloning progress";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )1;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )9;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"reference";
  options[4].value = (void *)(& add_data.reference_path);
  options[4].argh = (char const   *)"repository";
  options[4].help = (char const   *)"reference repository";
  options[4].flags = (enum parse_opt_option_flags )0;
  options[4].callback = (parse_opt_cb *)0;
  options[4].defval = 0L;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )8;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)"dissociate";
  options[5].value = (void *)(& dissociate);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"borrow the objects from reference repositories";
  options[5].flags = (enum parse_opt_option_flags )2;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )1;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )9;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)"name";
  options[6].value = (void *)(& add_data.sm_name);
  options[6].argh = (char const   *)"name";
  options[6].help = (char const   *)"sets the submodule\342\200\231s name to the given string instead of defaulting to its path";
  options[6].flags = (enum parse_opt_option_flags )0;
  options[6].callback = (parse_opt_cb *)0;
  options[6].defval = 0L;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )10;
  options[7].short_name = 0;
  options[7].long_name = (char const   *)"depth";
  options[7].value = (void *)(& add_data.depth);
  options[7].argh = (char const   *)"n";
  options[7].help = (char const   *)"depth for shallow clones";
  options[7].flags = (enum parse_opt_option_flags )0;
  options[7].callback = (parse_opt_cb *)0;
  options[7].defval = 0L;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )0;
  options[8].short_name = 0;
  options[8].long_name = (char const   *)0;
  options[8].value = (void *)0;
  options[8].argh = (char const   *)0;
  options[8].help = (char const   *)0;
  options[8].flags = 0U;
  options[8].callback = (parse_opt_cb *)0;
  options[8].defval = 0L;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  usage___2[0] = (char const   *)"git submodule--helper add [<options>] [--] <repository> [<path>]";
  usage___2[1] = (char const   *)((void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       usage___2, (enum parse_opt_flags )0);
  tmp___0 = is_writing_gitmodules_ok();
  if (! tmp___0) {
    tmp = _((char const   *)"please make sure that the .gitmodules file is in the working tree");
    die((char const   *)tmp);
  }
  if (prefix___1) {
    if (*prefix___1) {
      if (add_data.reference_path) {
        tmp___2 = is_absolute_path(add_data.reference_path);
        if (! tmp___2) {
          tmp___1 = xstrfmt((char const   *)"%s%s", prefix___1, add_data.reference_path);
          add_data.reference_path = (char const   *)tmp___1;
        }
      }
    }
  }
  if (argc == 0) {
    usage_with_options(usage___2, (struct option  const  *)(options));
  } else
  if (argc > 2) {
    usage_with_options(usage___2, (struct option  const  *)(options));
  }
  add_data.repo = *(argv___0 + 0);
  if (argc == 1) {
    add_data.sm_path = git_url_basename(add_data.repo, 0, 0);
  } else {
    add_data.sm_path = xstrdup(*(argv___0 + 1));
  }
  if (prefix___1) {
    if (*prefix___1) {
      tmp___3 = is_absolute_path((char const   *)add_data.sm_path);
      if (! tmp___3) {
        add_data.sm_path = xstrfmt((char const   *)"%s%s", prefix___1, add_data.sm_path);
      }
    }
  }
  tmp___9 = starts_with_dot_dot_slash___0(add_data.repo);
  if (tmp___9) {
    goto _L;
  } else {
    tmp___10 = starts_with_dot_slash___0(add_data.repo);
    if (tmp___10) {
      _L: /* CIL Label */
      if (prefix___1) {
        tmp___4 = _((char const   *)"Relative path can only be used from the toplevel of the working tree");
        die((char const   *)tmp___4);
      }
      tmp___5 = resolve_relative_url(add_data.repo, (char const   *)((void *)0), 1);
      add_data.realrepo = (char const   *)tmp___5;
    } else {
      tmp___7 = git_is_dir_sep((int )*(add_data.repo + 0));
      if (tmp___7) {
        add_data.realrepo = add_data.repo;
      } else {
        tmp___8 = strchr(add_data.repo, ':');
        if (tmp___8) {
          add_data.realrepo = add_data.repo;
        } else {
          tmp___6 = _((char const   *)"repo URL: \'%s\' must be absolute or begin with ./|../");
          die((char const   *)tmp___6, add_data.repo);
        }
      }
    }
  }
  normalize_path_copy(add_data.sm_path, (char const   *)add_data.sm_path);
  strip_dir_trailing_slashes(add_data.sm_path);
  die_on_index_match((char const   *)add_data.sm_path, force___2);
  die_on_repo_without_commits((char const   *)add_data.sm_path);
  if (! force___2) {
    exit_code = -1;
    sb___6.alloc = 0UL;
    sb___6.len = 0UL;
    sb___6.buf = strbuf_slopbuf;
    cp.args.v = empty_strvec;
    cp.args.nr = 0UL;
    cp.args.alloc = 0UL;
    cp.env_array.v = empty_strvec;
    cp.env_array.nr = 0UL;
    cp.env_array.alloc = 0UL;
    cp.pid = 0;
    cp.trace2_child_id = 0;
    cp.trace2_child_us_start = 0UL;
    cp.trace2_child_class = (char const   *)0;
    cp.trace2_hook_name = (char const   *)0;
    cp.in = 0;
    cp.out = 0;
    cp.err = 0;
    cp.dir = (char const   *)0;
    cp.no_stdin = 0U;
    cp.no_stdout = 0U;
    cp.no_stderr = 0U;
    cp.git_cmd = 0U;
    cp.silent_exec_failure = 0U;
    cp.use_shell = 0U;
    cp.close_object_store = 0U;
    cp.stdout_to_stderr = 0U;
    cp.clean_on_exit = 0U;
    cp.wait_after_clean = 0U;
    cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    cp.clean_on_exit_handler_cbdata = (void *)0;
    cp.git_cmd = 1U;
    cp.no_stdout = 1U;
    strvec_pushl(& cp.args, "add", "--dry-run", "--ignore-missing", "--no-warn-embedded-repo",
                 add_data.sm_path, (void *)0);
    exit_code = pipe_command(& cp, (char const   *)((void *)0), (size_t )0, (struct strbuf *)((void *)0),
                             (size_t )0, & sb___6, (size_t )0);
    if (exit_code) {
      strbuf_complete_line(& sb___6);
      fputs((char const   * __restrict  )sb___6.buf, (FILE * __restrict  )stderr);
      free((void *)add_data.sm_path);
      return (exit_code);
    }
    strbuf_release(& sb___6);
  }
  if (! add_data.sm_name) {
    add_data.sm_name = (char const   *)add_data.sm_path;
  }
  tmp___12 = check_submodule_name(add_data.sm_name);
  if (tmp___12) {
    tmp___11 = _((char const   *)"\'%s\' is not a valid submodule name");
    die((char const   *)tmp___11, add_data.sm_name);
  }
  add_data.prefix = prefix___1;
  add_data.force = (unsigned int )(! (! force___2));
  add_data.quiet = (unsigned int )(! (! quiet___7));
  add_data.progress = (unsigned int )(! (! progress___7));
  add_data.dissociate = (unsigned int )(! (! dissociate));
  tmp___13 = add_submodule((struct add_data  const  *)(& add_data));
  if (tmp___13) {
    free((void *)add_data.sm_path);
    return (1);
  }
  configure_added_submodule(& add_data);
  free((void *)add_data.sm_path);
  return (0);
}
}
static struct cmd_struct commands___0[25]  =
  {      {(char const   *)"list", & module_list, 0U},
        {(char const   *)"name", & module_name, 0U},
        {(char const   *)"clone", & module_clone, 0U},
        {(char const   *)"add", & module_add, 1U},
        {(char const   *)"update-module-mode", & module_update_module_mode, 0U},
        {(char const   *)"update-clone", & update_clone, 0U},
        {(char const   *)"run-update-procedure", & run_update_procedure, 0U},
        {(char const   *)"ensure-core-worktree", & ensure_core_worktree, 0U},
        {(char const   *)"relative-path", & resolve_relative_path___0, 0U},
        {(char const   *)"resolve-relative-url-test", & resolve_relative_url_test, 0U},
        {(char const   *)"foreach",
      & module_foreach, 1U},
        {(char const   *)"init", & module_init, 1U},
        {(char const   *)"status", & module_status, 1U},
        {(char const   *)"print-default-remote", & print_default_remote, 0U},
        {(char const   *)"sync", & module_sync, 1U},
        {(char const   *)"deinit", & module_deinit, 0U},
        {(char const   *)"summary", & module_summary, 1U},
        {(char const   *)"remote-branch", & resolve_remote_submodule_branch, 0U},
        {(char const   *)"push-check", & push_check, 0U},
        {(char const   *)"absorb-git-dirs", & absorb_git_dirs, 1U},
        {(char const   *)"is-active", & is_active, 0U},
        {(char const   *)"check-name", & check_name, 0U},
        {(char const   *)"config", & module_config, 0U},
        {(char const   *)"set-url", & module_set_url, 0U},
        {(char const   *)"set-branch", & module_set_branch, 0U}};
int cmd_submodule__helper(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;

  {
  if (argc < 2) {
    usage((char const   *)"git submodule--helper <command>");
  } else {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage((char const   *)"git submodule--helper <command>");
    }
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(commands___0) / sizeof(commands___0[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp___3 = strcmp(*(argv___0 + 1), commands___0[i].cmd);
    if (! tmp___3) {
      tmp___1 = get_super_prefix();
      if (tmp___1) {
        if (! (commands___0[i].option & 1U)) {
          tmp___0 = _((char const   *)"%s doesn\'t support --super-prefix");
          die((char const   *)tmp___0, commands___0[i].cmd);
        }
      }
      tmp___2 = (*(commands___0[i].fn))(argc - 1, argv___0 + 1, prefix___1);
      return (tmp___2);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___4 = _((char const   *)"\'%s\' is not a valid submodule--helper subcommand");
  die((char const   *)tmp___4, *(argv___0 + 1));
}
}
static char const   *git_symbolic_ref_usage[3]  = {      (char const   *)"git symbolic-ref [<options>] <name> [<ref>]",      (char const   *)"git symbolic-ref -d [-q] <name>",      (char const   *)((void *)0)};
static int check_symref(char const   *HEAD , int quiet___7 , int shorten , int print )
{
  int flag ;
  char const   *refname ;
  char const   *tmp ;
  char *to_free ;

  {
  tmp = resolve_ref_unsafe(HEAD, 0, (struct object_id *)((void *)0), & flag);
  refname = tmp;
  if (! refname) {
    die((char const   *)"No such ref: %s", HEAD);
  } else
  if (! (flag & 0x01)) {
    if (! quiet___7) {
      die((char const   *)"ref %s is not a symbolic ref", HEAD);
    } else {
      return (1);
    }
  }
  if (print) {
    to_free = (char *)((void *)0);
    if (shorten) {
      to_free = shorten_unambiguous_ref(refname, 0);
      refname = (char const   *)to_free;
    }
    puts(refname);
    free((void *)to_free);
  }
  return (0);
}
}
int cmd_symbolic_ref(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int quiet___7 ;
  int delete ;
  int shorten ;
  int ret___67 ;
  char const   *msg___5 ;
  struct option options[5] ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  quiet___7 = 0;
  delete = 0;
  shorten = 0;
  ret___67 = 0;
  msg___5 = (char const   *)((void *)0);
  options[0].type = (enum parse_opt_type )7;
  options[0].short_name = 'q';
  options[0].long_name = (char const   *)"quiet";
  options[0].value = (void *)(& quiet___7);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"suppress error message for non-symbolic (detached) refs";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 'd';
  options[1].long_name = (char const   *)"delete";
  options[1].value = (void *)(& delete);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"delete symbolic ref";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"short";
  options[2].value = (void *)(& shorten);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"shorten ref output";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )1;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )9;
  options[3].short_name = 'm';
  options[3].long_name = (char const   *)((void *)0);
  options[3].value = (void *)(& msg___5);
  options[3].argh = (char const   *)"reason";
  options[3].help = (char const   *)"reason of the update";
  options[3].flags = (enum parse_opt_option_flags )0;
  options[3].callback = (parse_opt_cb *)0;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )0;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)0;
  options[4].value = (void *)0;
  options[4].argh = (char const   *)0;
  options[4].help = (char const   *)0;
  options[4].flags = 0U;
  options[4].callback = (parse_opt_cb *)0;
  options[4].defval = 0L;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_symbolic_ref_usage, (enum parse_opt_flags )0);
  if (msg___5) {
    if (! *msg___5) {
      die((char const   *)"Refusing to perform update with empty message");
    }
  }
  if (delete) {
    if (argc != 1) {
      usage_with_options(git_symbolic_ref_usage, (struct option  const  *)(options));
    }
    ret___67 = check_symref(*(argv___0 + 0), 1, 0, 0);
    if (ret___67) {
      die((char const   *)"Cannot delete %s, not a symbolic ref", *(argv___0 + 0));
    }
    tmp = strcmp(*(argv___0 + 0), (char const   *)"HEAD");
    if (! tmp) {
      die((char const   *)"deleting \'%s\' is not allowed", *(argv___0 + 0));
    }
    tmp___0 = delete_ref((char const   *)((void *)0), *(argv___0 + 0), (struct object_id  const  *)((void *)0),
                         1U);
    return (tmp___0);
  }
  {
  if (argc == 1) {
    goto case_1;
  }
  if (argc == 2) {
    goto case_2;
  }
  goto switch_default;
  case_1: /* CIL Label */
  ret___67 = check_symref(*(argv___0 + 0), quiet___7, shorten, 1);
  goto switch_break;
  case_2: /* CIL Label */
  tmp___1 = strcmp(*(argv___0 + 0), (char const   *)"HEAD");
  if (! tmp___1) {
    tmp___2 = starts_with(*(argv___0 + 1), (char const   *)"refs/");
    if (! tmp___2) {
      die((char const   *)"Refusing to point HEAD outside of refs/");
    }
  }
  tmp___3 = create_symref(*(argv___0 + 0), *(argv___0 + 1), msg___5);
  if (tmp___3) {
    tmp___4 = 1;
  } else {
    tmp___4 = 0;
  }
  ret___67 = tmp___4;
  goto switch_break;
  switch_default: /* CIL Label */
  usage_with_options(git_symbolic_ref_usage, (struct option  const  *)(options));
  switch_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
static double const   __ac_HASH_UPPER___160  =    (double const   )0.77;
__inline static void kh_resize_oid_set___160(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___160(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___160 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___160 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___160(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___160(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___160(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___160(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___160(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___160(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___160 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___160 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___160(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___160(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___160(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___160(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___160(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___160(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___160 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___160 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___160(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___160(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___160(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___160(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___116(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___116(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___160 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___160 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___116(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___116(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___116(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___116(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *git_tag_usage[5]  = {      (char const   *)"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]\n        <tagname> [<head>]",      (char const   *)"git tag -d <tagname>...",      (char const   *)"git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit>] [--points-at <object>]\n        [--format=<format>] [--merged <commit>] [--no-merged <commit>] [<pattern>...]",      (char const   *)"git tag -v [--format=<format>] <tagname>...",
        (char const   *)((void *)0)};
static unsigned int colopts___2  ;
static int force_sign_annotate  ;
static int config_sign_tag  =    -1;
static int list_tags(struct ref_filter *filter___0 , struct ref_sorting *sorting___0 ,
                     struct ref_format *format___0 )
{
  struct ref_array array ;
  struct strbuf output___4 ;
  struct strbuf err___4 ;
  char *to_free ;
  int i ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  output___4.alloc = 0UL;
  output___4.len = 0UL;
  output___4.buf = strbuf_slopbuf;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  to_free = (char *)((void *)0);
  memset((void *)(& array), 0, sizeof(array));
  if (filter___0->lines == 4294967295U) {
    filter___0->lines = 0U;
  }
  if (! format___0->format) {
    if (filter___0->lines) {
      to_free = xstrfmt((char const   *)"%s %%(contents:lines=%d)", "%(align:15)%(refname:lstrip=2)%(end)",
                        filter___0->lines);
      format___0->format = (char const   *)to_free;
    } else {
      format___0->format = (char const   *)"%(refname:lstrip=2)";
    }
  }
  tmp___0 = verify_ref_format(format___0);
  if (tmp___0) {
    tmp = _((char const   *)"unable to parse format string");
    die((char const   *)tmp);
  }
  filter___0->with_commit_tag_algo = 1U;
  filter_refs(& array, filter___0, 2U);
  ref_array_sort(sorting___0, & array);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < array.nr)) {
      goto while_break;
    }
    strbuf_setlen___33(& output___4, (size_t )0);
    strbuf_setlen___33(& err___4, (size_t )0);
    tmp___1 = format_ref_array_item(*(array.items + i), format___0, & output___4,
                                    & err___4);
    if (tmp___1) {
      die((char const   *)"%s", err___4.buf);
    }
    fwrite((void const   * __restrict  )output___4.buf, (size_t )1, output___4.len,
           (FILE * __restrict  )stdout);
    putchar('\n');
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& err___4);
  strbuf_release(& output___4);
  ref_array_clear(& array);
  free((void *)to_free);
  return (0);
}
}
static int for_each_tag_name(char const   **argv___0 , int (*fn)(char const   *name ,
                                                                 char const   *ref ,
                                                                 struct object_id  const  *oid ,
                                                                 void *cb_data ) ,
                             void *cb_data )
{
  char const   **p___0 ;
  struct strbuf ref ;
  int had_error ;
  struct object_id oid ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  ref.alloc = 0UL;
  ref.len = 0UL;
  ref.buf = strbuf_slopbuf;
  had_error = 0;
  p___0 = argv___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    strbuf_setlen___33(& ref, (size_t )0);
    strbuf_addf(& ref, (char const   *)"refs/tags/%s", *p___0);
    tmp___0 = read_ref((char const   *)ref.buf, & oid);
    if (tmp___0) {
      tmp = _((char const   *)"tag \'%s\' not found.");
      error((char const   *)tmp, *p___0);
      const_error();
      had_error = 1;
      goto __Cont;
    }
    tmp___1 = (*fn)(*p___0, (char const   *)ref.buf, (struct object_id  const  *)(& oid),
                    cb_data);
    if (tmp___1) {
      had_error = 1;
    }
    __Cont: /* CIL Label */
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& ref);
  return (had_error);
}
}
static int collect_tags(char const   *name___0 , char const   *ref , struct object_id  const  *oid ,
                        void *cb_data )
{
  struct string_list *ref_list ;
  struct object_id *tmp ;

  {
  ref_list = (struct string_list *)cb_data;
  string_list_append(ref_list, ref);
  tmp = oiddup(oid);
  (ref_list->items + (ref_list->nr - 1U))->util = (void *)tmp;
  return (0);
}
}
static int delete_tags(char const   **argv___0 )
{
  int result___0 ;
  struct string_list refs_to_delete ;
  struct string_list_item *item___0 ;
  int tmp ;
  char const   *name___0 ;
  struct object_id *oid ;
  char const   *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  refs_to_delete.items = (struct string_list_item *)0;
  refs_to_delete.nr = 0U;
  refs_to_delete.alloc = 0U;
  refs_to_delete.strdup_strings = 1U;
  refs_to_delete.cmp = (int (*)(char const   * , char const   * ))0;
  result___0 = for_each_tag_name(argv___0, & collect_tags, (void *)(& refs_to_delete));
  tmp = delete_refs((char const   *)((void *)0), & refs_to_delete, 1U);
  if (tmp) {
    result___0 = 1;
  }
  item___0 = refs_to_delete.items;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (item___0) {
      if (! ((unsigned long )item___0 < (unsigned long )(refs_to_delete.items + refs_to_delete.nr))) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    name___0 = (char const   *)item___0->string;
    oid = (struct object_id *)item___0->util;
    tmp___2 = ref_exists(name___0);
    if (! tmp___2) {
      tmp___0 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)oid,
                                        default_abbrev);
      tmp___1 = _((char const   *)"Deleted tag \'%s\' (was %s)\n");
      printf((char const   *)tmp___1, item___0->string + 10, tmp___0);
    }
    free((void *)oid);
    item___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_clear(& refs_to_delete, 0);
  return (result___0);
}
}
static int verify_tag(char const   *name___0 , char const   *ref , struct object_id  const  *oid ,
                      void *cb_data )
{
  int flags___0 ;
  struct ref_format *format___0 ;
  int tmp ;

  {
  format___0 = (struct ref_format *)cb_data;
  flags___0 = 1;
  if (format___0->format) {
    flags___0 = 4;
  }
  tmp = gpg_verify_tag(oid, name___0, (unsigned int )flags___0);
  if (tmp) {
    return (-1);
  }
  if (format___0->format) {
    pretty_print_ref(name___0, oid, format___0);
  }
  return (0);
}
}
static int do_sign(struct strbuf *buffer___5 )
{
  char const   *tmp ;
  int tmp___0 ;

  {
  tmp = get_signing_key();
  tmp___0 = sign_buffer(buffer___5, buffer___5, tmp);
  return (tmp___0);
}
}
static char const   tag_template[74]  =
  {      (char const   )'\n',      (char const   )'W',      (char const   )'r',      (char const   )'i',
        (char const   )'t',      (char const   )'e',      (char const   )' ',      (char const   )'a',
        (char const   )' ',      (char const   )'m',      (char const   )'e',      (char const   )'s',
        (char const   )'s',      (char const   )'a',      (char const   )'g',      (char const   )'e',
        (char const   )' ',      (char const   )'f',      (char const   )'o',      (char const   )'r',
        (char const   )' ',      (char const   )'t',      (char const   )'a',      (char const   )'g',
        (char const   )':',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )'%',      (char const   )'s',      (char const   )'\n',      (char const   )'L',
        (char const   )'i',      (char const   )'n',      (char const   )'e',      (char const   )'s',
        (char const   )' ',      (char const   )'s',      (char const   )'t',      (char const   )'a',
        (char const   )'r',      (char const   )'t',      (char const   )'i',      (char const   )'n',
        (char const   )'g',      (char const   )' ',      (char const   )'w',      (char const   )'i',
        (char const   )'t',      (char const   )'h',      (char const   )' ',      (char const   )'\'',
        (char const   )'%',      (char const   )'c',      (char const   )'\'',      (char const   )' ',
        (char const   )'w',      (char const   )'i',      (char const   )'l',      (char const   )'l',
        (char const   )' ',      (char const   )'b',      (char const   )'e',      (char const   )' ',
        (char const   )'i',      (char const   )'g',      (char const   )'n',      (char const   )'o',
        (char const   )'r',      (char const   )'e',      (char const   )'d',      (char const   )'.',
        (char const   )'\n',      (char const   )'\000'};
static char const   tag_template_nocleanup[116]  =
  {      (char const   )'\n',      (char const   )'W',      (char const   )'r',      (char const   )'i',
        (char const   )'t',      (char const   )'e',      (char const   )' ',      (char const   )'a',
        (char const   )' ',      (char const   )'m',      (char const   )'e',      (char const   )'s',
        (char const   )'s',      (char const   )'a',      (char const   )'g',      (char const   )'e',
        (char const   )' ',      (char const   )'f',      (char const   )'o',      (char const   )'r',
        (char const   )' ',      (char const   )'t',      (char const   )'a',      (char const   )'g',
        (char const   )':',      (char const   )'\n',      (char const   )' ',      (char const   )' ',
        (char const   )'%',      (char const   )'s',      (char const   )'\n',      (char const   )'L',
        (char const   )'i',      (char const   )'n',      (char const   )'e',      (char const   )'s',
        (char const   )' ',      (char const   )'s',      (char const   )'t',      (char const   )'a',
        (char const   )'r',      (char const   )'t',      (char const   )'i',      (char const   )'n',
        (char const   )'g',      (char const   )' ',      (char const   )'w',      (char const   )'i',
        (char const   )'t',      (char const   )'h',      (char const   )' ',      (char const   )'\'',
        (char const   )'%',      (char const   )'c',      (char const   )'\'',      (char const   )' ',
        (char const   )'w',      (char const   )'i',      (char const   )'l',      (char const   )'l',
        (char const   )' ',      (char const   )'b',      (char const   )'e',      (char const   )' ',
        (char const   )'k',      (char const   )'e',      (char const   )'p',      (char const   )'t',
        (char const   )';',      (char const   )' ',      (char const   )'y',      (char const   )'o',
        (char const   )'u',      (char const   )' ',      (char const   )'m',      (char const   )'a',
        (char const   )'y',      (char const   )' ',      (char const   )'r',      (char const   )'e',
        (char const   )'m',      (char const   )'o',      (char const   )'v',      (char const   )'e',
        (char const   )' ',      (char const   )'t',      (char const   )'h',      (char const   )'e',
        (char const   )'m',      (char const   )' ',      (char const   )'y',      (char const   )'o',
        (char const   )'u',      (char const   )'r',      (char const   )'s',      (char const   )'e',
        (char const   )'l',      (char const   )'f',      (char const   )' ',      (char const   )'i',
        (char const   )'f',      (char const   )' ',      (char const   )'y',      (char const   )'o',
        (char const   )'u',      (char const   )' ',      (char const   )'w',      (char const   )'a',
        (char const   )'n',      (char const   )'t',      (char const   )' ',      (char const   )'t',
        (char const   )'o',      (char const   )'.',      (char const   )'\n',      (char const   )'\000'};
static int git_tag_config(char const   *var , char const   *value , void *cb )
{
  int status ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  tmp = strcmp(var, (char const   *)"tag.gpgsign");
  if (! tmp) {
    config_sign_tag = git_config_bool(var, value);
    return (0);
  }
  tmp___1 = strcmp(var, (char const   *)"tag.sort");
  if (! tmp___1) {
    if (! value) {
      config_error_nonbool(var);
      tmp___0 = const_error();
      return (tmp___0);
    }
    string_list_append((struct string_list *)cb, value);
    return (0);
  }
  status = git_gpg_config(var, value, cb);
  if (status) {
    return (status);
  }
  tmp___2 = strcmp(var, (char const   *)"tag.forcesignannotated");
  if (! tmp___2) {
    force_sign_annotate = git_config_bool(var, value);
    return (0);
  }
  tmp___4 = starts_with(var, (char const   *)"column.");
  if (tmp___4) {
    tmp___3 = git_column_config(var, value, (char const   *)"tag", & colopts___2);
    return (tmp___3);
  }
  tmp___5 = git_color_default_config(var, value, cb);
  return (tmp___5);
}
}
static void write_tag_body(int fd , struct object_id  const  *oid )
{
  unsigned long size ;
  enum object_type type___0 ;
  char *buf___19 ;
  char *sp ;
  char *orig ;
  struct strbuf payload ;
  struct strbuf signature___0 ;
  void *tmp ;
  int tmp___0 ;

  {
  payload.alloc = 0UL;
  payload.len = 0UL;
  payload.buf = strbuf_slopbuf;
  signature___0.alloc = 0UL;
  signature___0.len = 0UL;
  signature___0.buf = strbuf_slopbuf;
  tmp = repo_read_object_file(the_repository, oid, & type___0, & size);
  buf___19 = (char *)tmp;
  orig = buf___19;
  if (! buf___19) {
    return;
  }
  tmp___0 = parse_signature((char const   *)buf___19, size, & payload, & signature___0);
  if (tmp___0) {
    buf___19 = payload.buf;
    size = payload.len;
  }
  sp = strstr((char const   *)buf___19, (char const   *)"\n\n");
  if (! sp) {
    free((void *)buf___19);
    return;
  } else
  if (! size) {
    free((void *)buf___19);
    return;
  } else
  if ((int )type___0 != 4) {
    free((void *)buf___19);
    return;
  }
  sp += 2;
  write_or_die(fd, (void const   *)sp, (size_t )((buf___19 + size) - sp));
  free((void *)orig);
  strbuf_release(& payload);
  strbuf_release(& signature___0);
  return;
}
}
static int build_tag_object(struct strbuf *buf___19 , int sign , struct object_id *result___0 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  if (sign) {
    tmp___1 = do_sign(buf___19);
    if (tmp___1 < 0) {
      tmp = _((char const   *)"unable to sign the tag");
      error((char const   *)tmp);
      tmp___0 = const_error();
      return (tmp___0);
    }
  }
  tmp___4 = write_object_file((void const   *)buf___19->buf, buf___19->len, tag_type,
                              result___0);
  if (tmp___4 < 0) {
    tmp___2 = _((char const   *)"unable to write tag file");
    error((char const   *)tmp___2);
    tmp___3 = const_error();
    return (tmp___3);
  }
  return (0);
}
}
static char const   message_advice_nested_tag[165]  =
  {      (char const   )'Y',      (char const   )'o',      (char const   )'u',      (char const   )' ',
        (char const   )'h',      (char const   )'a',      (char const   )'v',      (char const   )'e',
        (char const   )' ',      (char const   )'c',      (char const   )'r',      (char const   )'e',
        (char const   )'a',      (char const   )'t',      (char const   )'e',      (char const   )'d',
        (char const   )' ',      (char const   )'a',      (char const   )' ',      (char const   )'n',
        (char const   )'e',      (char const   )'s',      (char const   )'t',      (char const   )'e',
        (char const   )'d',      (char const   )' ',      (char const   )'t',      (char const   )'a',
        (char const   )'g',      (char const   )'.',      (char const   )' ',      (char const   )'T',
        (char const   )'h',      (char const   )'e',      (char const   )' ',      (char const   )'o',
        (char const   )'b',      (char const   )'j',      (char const   )'e',      (char const   )'c',
        (char const   )'t',      (char const   )' ',      (char const   )'r',      (char const   )'e',
        (char const   )'f',      (char const   )'e',      (char const   )'r',      (char const   )'r',
        (char const   )'e',      (char const   )'d',      (char const   )' ',      (char const   )'t',
        (char const   )'o',      (char const   )' ',      (char const   )'b',      (char const   )'y',
        (char const   )' ',      (char const   )'y',      (char const   )'o',      (char const   )'u',
        (char const   )'r',      (char const   )' ',      (char const   )'n',      (char const   )'e',
        (char const   )'w',      (char const   )' ',      (char const   )'t',      (char const   )'a',
        (char const   )'g',      (char const   )' ',      (char const   )'i',      (char const   )'s',
        (char const   )'\n',      (char const   )'a',      (char const   )'l',      (char const   )'r',
        (char const   )'e',      (char const   )'a',      (char const   )'d',      (char const   )'y',
        (char const   )' ',      (char const   )'a',      (char const   )' ',      (char const   )'t',
        (char const   )'a',      (char const   )'g',      (char const   )'.',      (char const   )' ',
        (char const   )'I',      (char const   )'f',      (char const   )' ',      (char const   )'y',
        (char const   )'o',      (char const   )'u',      (char const   )' ',      (char const   )'m',
        (char const   )'e',      (char const   )'a',      (char const   )'n',      (char const   )'t',
        (char const   )' ',      (char const   )'t',      (char const   )'o',      (char const   )' ',
        (char const   )'t',      (char const   )'a',      (char const   )'g',      (char const   )' ',
        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )' ',
        (char const   )'o',      (char const   )'b',      (char const   )'j',      (char const   )'e',
        (char const   )'c',      (char const   )'t',      (char const   )' ',      (char const   )'t',
        (char const   )'h',      (char const   )'a',      (char const   )'t',      (char const   )' ',
        (char const   )'i',      (char const   )'t',      (char const   )' ',      (char const   )'p',
        (char const   )'o',      (char const   )'i',      (char const   )'n',      (char const   )'t',
        (char const   )'s',      (char const   )' ',      (char const   )'t',      (char const   )'o',
        (char const   )',',      (char const   )' ',      (char const   )'u',      (char const   )'s',
        (char const   )'e',      (char const   )':',      (char const   )'\n',      (char const   )'\n',
        (char const   )'\t',      (char const   )'g',      (char const   )'i',      (char const   )'t',
        (char const   )' ',      (char const   )'t',      (char const   )'a',      (char const   )'g',
        (char const   )' ',      (char const   )'-',      (char const   )'f',      (char const   )' ',
        (char const   )'%',      (char const   )'s',      (char const   )' ',      (char const   )'%',
        (char const   )'s',      (char const   )'^',      (char const   )'{',      (char const   )'}',
        (char const   )'\000'};
static void create_tag(struct object_id  const  *object , char const   *object_ref ,
                       char const   *tag , struct strbuf *buf___19 , struct create_tag_options *opt___0 ,
                       struct object_id *prev , struct object_id *result___0 )
{
  enum object_type type___0 ;
  struct strbuf header___0 ;
  char *path___6 ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char *tmp___4 ;
  int fd ;
  struct strbuf buf___20 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;

  {
  header___0.alloc = 0UL;
  header___0.len = 0UL;
  header___0.buf = strbuf_slopbuf;
  path___6 = (char *)((void *)0);
  tmp = oid_object_info(the_repository, object, (unsigned long *)((void *)0));
  type___0 = (enum object_type )tmp;
  if ((int )type___0 <= 0) {
    tmp___0 = _((char const   *)"bad object type.");
    die((char const   *)tmp___0);
  }
  if ((int )type___0 == 4) {
    tmp___1 = _(message_advice_nested_tag);
    advise_if_enabled((enum advice_type )11, (char const   *)tmp___1, tag, object_ref);
  }
  tmp___2 = git_committer_info(1);
  tmp___3 = type_name((unsigned int )type___0);
  tmp___4 = oid_to_hex(object);
  strbuf_addf(& header___0, (char const   *)"object %s\ntype %s\ntag %s\ntagger %s\n\n",
              tmp___4, tmp___3, tag, tmp___2);
  if (! opt___0->message_given) {
    goto _L;
  } else
  if (opt___0->use_editor) {
    _L: /* CIL Label */
    path___6 = git_pathdup((char const   *)"TAG_EDITMSG");
    fd = xopen((char const   *)path___6, 577, 0600);
    if (opt___0->message_given) {
      write_or_die(fd, (void const   *)buf___19->buf, buf___19->len);
      strbuf_setlen___33(buf___19, (size_t )0);
    } else {
      tmp___7 = is_null_oid((struct object_id  const  *)prev);
      if (tmp___7) {
        buf___20.alloc = 0UL;
        buf___20.len = 0UL;
        buf___20.buf = strbuf_slopbuf;
        strbuf_addch(& buf___20, '\n');
        if ((unsigned int )opt___0->cleanup_mode == 2U) {
          tmp___5 = _(tag_template);
          strbuf_commented_addf(& buf___20, (char const   *)tmp___5, tag, (int )comment_line_char);
        } else {
          tmp___6 = _(tag_template_nocleanup);
          strbuf_commented_addf(& buf___20, (char const   *)tmp___6, tag, (int )comment_line_char);
        }
        write_or_die(fd, (void const   *)buf___20.buf, buf___20.len);
        strbuf_release(& buf___20);
      } else {
        write_tag_body(fd, (struct object_id  const  *)prev);
      }
    }
    close(fd);
    tmp___10 = launch_editor((char const   *)path___6, buf___19, (char const   **)((void *)0));
    if (tmp___10) {
      tmp___8 = _((char const   *)"Please supply the message using either -m or -F option.\n");
      fprintf(stderr, (char const   *)tmp___8);
      tmp___9 = trace2_cmd_exit_fl((char const   *)"builtin/tag.c", 317, 1);
      exit(tmp___9);
    }
  }
  if ((unsigned int )opt___0->cleanup_mode != 0U) {
    strbuf_stripspace(buf___19, (unsigned int )opt___0->cleanup_mode == 2U);
  }
  if (! opt___0->message_given) {
    if (! buf___19->len) {
      tmp___11 = _((char const   *)"no tag message?");
      die((char const   *)tmp___11);
    }
  }
  strbuf_insert(buf___19, (size_t )0, (void const   *)header___0.buf, header___0.len);
  strbuf_release(& header___0);
  tmp___14 = build_tag_object(buf___19, (int )opt___0->sign, result___0);
  if (tmp___14 < 0) {
    if (path___6) {
      tmp___12 = _((char const   *)"The tag message has been left in %s\n");
      fprintf(stderr, (char const   *)tmp___12, path___6);
    }
    tmp___13 = trace2_cmd_exit_fl((char const   *)"builtin/tag.c", 334, 128);
    exit(tmp___13);
  }
  if (path___6) {
    unlink_or_warn((char const   *)path___6);
    free((void *)path___6);
  }
  return;
}
}
static void create_reflog_msg(struct object_id  const  *oid , struct strbuf *sb___6 )
{
  enum object_type type___0 ;
  struct commit *c___0 ;
  char *buf___19 ;
  unsigned long size ;
  int subject_len ;
  char const   *subject_start ;
  char *rla ;
  char *tmp ;
  int tmp___0 ;
  void *tmp___1 ;
  struct date_mode *tmp___2 ;
  char const   *tmp___3 ;

  {
  subject_len = 0;
  tmp = getenv((char const   *)"GIT_REFLOG_ACTION");
  rla = tmp;
  if (rla) {
    strbuf_addstr(sb___6, (char const   *)rla);
  } else {
    strbuf_addstr(sb___6, (char const   *)"tag: tagging ");
    strbuf_add_unique_abbrev(sb___6, oid, default_abbrev);
  }
  strbuf_addstr(sb___6, (char const   *)" (");
  tmp___0 = oid_object_info(the_repository, oid, (unsigned long *)((void *)0));
  type___0 = (enum object_type )tmp___0;
  {
  if ((int )type___0 == 1) {
    goto case_1;
  }
  if ((int )type___0 == 2) {
    goto case_2;
  }
  if ((int )type___0 == 3) {
    goto case_3;
  }
  if ((int )type___0 == 4) {
    goto case_4;
  }
  goto switch_default;
  switch_default: /* CIL Label */
  strbuf_addstr(sb___6, (char const   *)"object of unknown type");
  goto switch_break;
  case_1: /* CIL Label */
  tmp___1 = repo_read_object_file(the_repository, oid, & type___0, & size);
  buf___19 = (char *)tmp___1;
  if ((unsigned long )buf___19 != (unsigned long )((void *)0)) {
    subject_len = find_commit_subject((char const   *)buf___19, & subject_start);
    strbuf_insert(sb___6, sb___6->len, (void const   *)subject_start, (size_t )subject_len);
  } else {
    strbuf_addstr(sb___6, (char const   *)"commit object");
  }
  free((void *)buf___19);
  c___0 = lookup_commit_reference(the_repository, oid);
  if ((unsigned long )c___0 != (unsigned long )((void *)0)) {
    tmp___2 = date_mode_from_type((enum date_mode_type )3);
    tmp___3 = show_date(c___0->date, 0, (struct date_mode  const  *)tmp___2);
    strbuf_addf(sb___6, (char const   *)", %s", tmp___3);
  }
  goto switch_break;
  case_2: /* CIL Label */
  strbuf_addstr(sb___6, (char const   *)"tree object");
  goto switch_break;
  case_3: /* CIL Label */
  strbuf_addstr(sb___6, (char const   *)"blob object");
  goto switch_break;
  case_4: /* CIL Label */
  strbuf_addstr(sb___6, (char const   *)"other tag object");
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  strbuf_addch(sb___6, ')');
  return;
}
}
static int parse_msg_arg___0(struct option  const  *opt___0 , char const   *arg ,
                             int unset )
{
  struct msg_arg *msg___5 ;

  {
  msg___5 = (struct msg_arg *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/tag.c", 399, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if (! arg) {
    return (-1);
  }
  if (msg___5->buf.len) {
    strbuf_addstr(& msg___5->buf, (char const   *)"\n\n");
  }
  strbuf_addstr(& msg___5->buf, arg);
  msg___5->given = 1;
  return (0);
}
}
static int strbuf_check_tag_ref(struct strbuf *sb___6 , char const   *name___0 )
{
  int tmp ;

  {
  if ((int const   )*(name___0 + 0) == 45) {
    return (-1);
  }
  strbuf_setlen___33(sb___6, (size_t )0);
  strbuf_addf(sb___6, (char const   *)"refs/tags/%s", name___0);
  tmp = check_refname_format((char const   *)sb___6->buf, 0);
  return (tmp);
}
}
int cmd_tag(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct strbuf buf___19 ;
  struct strbuf ref ;
  struct strbuf reflog_msg ;
  struct object_id object ;
  struct object_id prev ;
  char const   *object_ref ;
  char const   *tag ;
  struct create_tag_options opt___0 ;
  char *cleanup_arg___2 ;
  int create_reflog ;
  int annotate ;
  int force___2 ;
  int cmdmode ;
  int create_tag_object ;
  char const   *msgfile ;
  char const   *keyid ;
  struct msg_arg msg___5 ;
  struct ref_transaction *transaction___0 ;
  struct strbuf err___4 ;
  struct ref_filter filter___0 ;
  struct ref_sorting *sorting___0 ;
  struct string_list sorting_options ;
  struct ref_format format___0 ;
  int icase___0 ;
  int edit_flag___0 ;
  struct option options[28] ;
  int ret___67 ;
  char const   *only_in_list ;
  int tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  struct column_options copts ;
  int tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  ssize_t tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  ssize_t tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;
  char const __attribute__((__format_arg__(1)))  *tmp___15 ;
  int tmp___16 ;
  char const __attribute__((__format_arg__(1)))  *tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;
  char const   *tmp___27 ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  int tmp___29 ;
  int tmp___30 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  ref.alloc = 0UL;
  ref.len = 0UL;
  ref.buf = strbuf_slopbuf;
  reflog_msg.alloc = 0UL;
  reflog_msg.len = 0UL;
  reflog_msg.buf = strbuf_slopbuf;
  cleanup_arg___2 = (char *)((void *)0);
  create_reflog = 0;
  annotate = 0;
  force___2 = 0;
  cmdmode = 0;
  create_tag_object = 0;
  msgfile = (char const   *)((void *)0);
  keyid = (char const   *)((void *)0);
  msg___5.given = 0;
  msg___5.buf.alloc = 0UL;
  msg___5.buf.len = 0UL;
  msg___5.buf.buf = strbuf_slopbuf;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  sorting_options.items = (struct string_list_item *)0;
  sorting_options.nr = 0U;
  sorting_options.alloc = 0U;
  sorting_options.strdup_strings = 1U;
  sorting_options.cmp = (int (*)(char const   * , char const   * ))0;
  format___0.format = (char const   *)0;
  format___0.rest = (char const   *)0;
  format___0.quote_style = 0;
  format___0.use_rest = 0;
  format___0.use_color = -1;
  format___0.need_color_reset_at_eol = 0;
  icase___0 = 0;
  edit_flag___0 = 0;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 'l';
  options[0].long_name = (char const   *)"list";
  options[0].value = (void *)(& cmdmode);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"list tag names";
  options[0].flags = (enum parse_opt_option_flags )2054;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )'l';
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )10;
  options[1].short_name = 'n';
  options[1].long_name = (char const   *)((void *)0);
  options[1].value = (void *)(& filter___0.lines);
  options[1].argh = (char const   *)"n";
  options[1].help = (char const   *)"print <n> lines of each tag message";
  options[1].flags = (enum parse_opt_option_flags )1;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 'd';
  options[2].long_name = (char const   *)"delete";
  options[2].value = (void *)(& cmdmode);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"delete tags";
  options[2].flags = (enum parse_opt_option_flags )2054;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )'d';
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 'v';
  options[3].long_name = (char const   *)"verify";
  options[3].value = (void *)(& cmdmode);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"verify tags";
  options[3].flags = (enum parse_opt_option_flags )2054;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )'v';
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )1;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)((void *)0);
  options[4].value = (void *)0;
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"Tag creation options";
  options[4].flags = 0U;
  options[4].callback = (parse_opt_cb *)0;
  options[4].defval = 0L;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )8;
  options[5].short_name = 'a';
  options[5].long_name = (char const   *)"annotate";
  options[5].value = (void *)(& annotate);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"annotated tag, needs a message";
  options[5].flags = (enum parse_opt_option_flags )2;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )1;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )12;
  options[6].short_name = 'm';
  options[6].long_name = (char const   *)"message";
  options[6].value = (void *)(& msg___5);
  options[6].argh = (char const   *)"message";
  options[6].help = (char const   *)"tag message";
  options[6].flags = (enum parse_opt_option_flags )4;
  options[6].callback = & parse_msg_arg___0;
  options[6].defval = 0L;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )14;
  options[7].short_name = 'F';
  options[7].long_name = (char const   *)"file";
  options[7].value = (void *)(& msgfile);
  options[7].argh = (char const   *)"file";
  options[7].help = (char const   *)"read message from file";
  options[7].flags = 0U;
  options[7].callback = (parse_opt_cb *)0;
  options[7].defval = 0L;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )8;
  options[8].short_name = 'e';
  options[8].long_name = (char const   *)"edit";
  options[8].value = (void *)(& edit_flag___0);
  options[8].argh = (char const   *)((void *)0);
  options[8].help = (char const   *)"force edit of tag message";
  options[8].flags = (enum parse_opt_option_flags )2;
  options[8].callback = (parse_opt_cb *)((void *)0);
  options[8].defval = (intptr_t )1;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  options[9].type = (enum parse_opt_type )8;
  options[9].short_name = 's';
  options[9].long_name = (char const   *)"sign";
  options[9].value = (void *)(& opt___0.sign);
  options[9].argh = (char const   *)((void *)0);
  options[9].help = (char const   *)"annotated and GPG-signed tag";
  options[9].flags = (enum parse_opt_option_flags )2;
  options[9].callback = (parse_opt_cb *)((void *)0);
  options[9].defval = (intptr_t )1;
  options[9].ll_callback = (parse_opt_ll_cb *)0;
  options[9].extra = 0L;
  options[10].type = (enum parse_opt_type )9;
  options[10].short_name = 0;
  options[10].long_name = (char const   *)"cleanup";
  options[10].value = (void *)(& cleanup_arg___2);
  options[10].argh = (char const   *)"mode";
  options[10].help = (char const   *)"how to strip spaces and #comments from message";
  options[10].flags = (enum parse_opt_option_flags )0;
  options[10].callback = (parse_opt_cb *)0;
  options[10].defval = 0L;
  options[10].ll_callback = (parse_opt_ll_cb *)0;
  options[10].extra = 0L;
  options[11].type = (enum parse_opt_type )9;
  options[11].short_name = 'u';
  options[11].long_name = (char const   *)"local-user";
  options[11].value = (void *)(& keyid);
  options[11].argh = (char const   *)"key-id";
  options[11].help = (char const   *)"use another key to sign the tag";
  options[11].flags = (enum parse_opt_option_flags )0;
  options[11].callback = (parse_opt_cb *)0;
  options[11].defval = 0L;
  options[11].ll_callback = (parse_opt_ll_cb *)0;
  options[11].extra = 0L;
  options[12].type = (enum parse_opt_type )7;
  options[12].short_name = 'f';
  options[12].long_name = (char const   *)"force";
  options[12].value = (void *)(& force___2);
  options[12].argh = (char const   *)((void *)0);
  options[12].help = (char const   *)"replace the tag if exists";
  options[12].flags = (enum parse_opt_option_flags )2;
  options[12].callback = (parse_opt_cb *)0;
  options[12].defval = 0L;
  options[12].ll_callback = (parse_opt_ll_cb *)0;
  options[12].extra = 0L;
  options[13].type = (enum parse_opt_type )8;
  options[13].short_name = 0;
  options[13].long_name = (char const   *)"create-reflog";
  options[13].value = (void *)(& create_reflog);
  options[13].argh = (char const   *)((void *)0);
  options[13].help = (char const   *)"create a reflog";
  options[13].flags = (enum parse_opt_option_flags )2;
  options[13].callback = (parse_opt_cb *)((void *)0);
  options[13].defval = (intptr_t )1;
  options[13].ll_callback = (parse_opt_ll_cb *)0;
  options[13].extra = 0L;
  options[14].type = (enum parse_opt_type )1;
  options[14].short_name = 0;
  options[14].long_name = (char const   *)((void *)0);
  options[14].value = (void *)0;
  options[14].argh = (char const   *)((void *)0);
  options[14].help = (char const   *)"Tag listing options";
  options[14].flags = 0U;
  options[14].callback = (parse_opt_cb *)0;
  options[14].defval = 0L;
  options[14].ll_callback = (parse_opt_ll_cb *)0;
  options[14].extra = 0L;
  options[15].type = (enum parse_opt_type )12;
  options[15].short_name = 0;
  options[15].long_name = (char const   *)"column";
  options[15].value = (void *)(& colopts___2);
  options[15].argh = (char const   *)"style";
  options[15].help = (char const   *)"show tag list in columns";
  options[15].flags = (enum parse_opt_option_flags )1;
  options[15].callback = & parseopt_column_callback;
  options[15].defval = 0L;
  options[15].ll_callback = (parse_opt_ll_cb *)0;
  options[15].extra = 0L;
  options[16].type = (enum parse_opt_type )12;
  options[16].short_name = 0;
  options[16].long_name = (char const   *)"contains";
  options[16].value = (void *)(& filter___0.with_commit);
  options[16].argh = (char const   *)"commit";
  options[16].help = (char const   *)"print only tags that contain the commit";
  options[16].flags = (enum parse_opt_option_flags )20;
  options[16].callback = & parse_opt_commits;
  options[16].defval = (intptr_t )"HEAD";
  options[16].ll_callback = (parse_opt_ll_cb *)0;
  options[16].extra = 0L;
  options[17].type = (enum parse_opt_type )12;
  options[17].short_name = 0;
  options[17].long_name = (char const   *)"no-contains";
  options[17].value = (void *)(& filter___0.no_commit);
  options[17].argh = (char const   *)"commit";
  options[17].help = (char const   *)"print only tags that don\'t contain the commit";
  options[17].flags = (enum parse_opt_option_flags )20;
  options[17].callback = & parse_opt_commits;
  options[17].defval = (intptr_t )"HEAD";
  options[17].ll_callback = (parse_opt_ll_cb *)0;
  options[17].extra = 0L;
  options[18].type = (enum parse_opt_type )12;
  options[18].short_name = 0;
  options[18].long_name = (char const   *)"with";
  options[18].value = (void *)(& filter___0.with_commit);
  options[18].argh = (char const   *)"commit";
  options[18].help = (char const   *)"print only tags that contain the commit";
  options[18].flags = (enum parse_opt_option_flags )28;
  options[18].callback = & parse_opt_commits;
  options[18].defval = (intptr_t )"HEAD";
  options[18].ll_callback = (parse_opt_ll_cb *)0;
  options[18].extra = 0L;
  options[19].type = (enum parse_opt_type )12;
  options[19].short_name = 0;
  options[19].long_name = (char const   *)"without";
  options[19].value = (void *)(& filter___0.no_commit);
  options[19].argh = (char const   *)"commit";
  options[19].help = (char const   *)"print only tags that don\'t contain the commit";
  options[19].flags = (enum parse_opt_option_flags )28;
  options[19].callback = & parse_opt_commits;
  options[19].defval = (intptr_t )"HEAD";
  options[19].ll_callback = (parse_opt_ll_cb *)0;
  options[19].extra = 0L;
  options[20].type = (enum parse_opt_type )12;
  options[20].short_name = 0;
  options[20].long_name = (char const   *)"merged";
  options[20].value = (void *)(& filter___0);
  options[20].argh = (char const   *)"commit";
  options[20].help = (char const   *)"print only tags that are merged";
  options[20].flags = (enum parse_opt_option_flags )20;
  options[20].callback = & parse_opt_merge_filter;
  options[20].defval = (intptr_t )"HEAD";
  options[20].ll_callback = (parse_opt_ll_cb *)0;
  options[20].extra = 0L;
  options[21].type = (enum parse_opt_type )12;
  options[21].short_name = 0;
  options[21].long_name = (char const   *)"no-merged";
  options[21].value = (void *)(& filter___0);
  options[21].argh = (char const   *)"commit";
  options[21].help = (char const   *)"print only tags that are not merged";
  options[21].flags = (enum parse_opt_option_flags )20;
  options[21].callback = & parse_opt_merge_filter;
  options[21].defval = (intptr_t )"HEAD";
  options[21].ll_callback = (parse_opt_ll_cb *)0;
  options[21].extra = 0L;
  options[22].type = (enum parse_opt_type )12;
  options[22].short_name = 0;
  options[22].long_name = (char const   *)"sort";
  options[22].value = (void *)(& sorting_options);
  options[22].argh = (char const   *)"key";
  options[22].help = (char const   *)"field name to sort on";
  options[22].flags = (enum parse_opt_option_flags )0;
  options[22].callback = & parse_opt_string_list;
  options[22].defval = 0L;
  options[22].ll_callback = (parse_opt_ll_cb *)0;
  options[22].extra = 0L;
  options[23].type = (enum parse_opt_type )12;
  options[23].short_name = 0;
  options[23].long_name = (char const   *)"points-at";
  options[23].value = (void *)(& filter___0.points_at);
  options[23].argh = (char const   *)"object";
  options[23].help = (char const   *)"print only tags of the object";
  options[23].flags = (enum parse_opt_option_flags )16;
  options[23].callback = & parse_opt_object_name;
  options[23].defval = (intptr_t )"HEAD";
  options[23].ll_callback = (parse_opt_ll_cb *)0;
  options[23].extra = 0L;
  options[24].type = (enum parse_opt_type )9;
  options[24].short_name = 0;
  options[24].long_name = (char const   *)"format";
  options[24].value = (void *)(& format___0.format);
  options[24].argh = (char const   *)"format";
  options[24].help = (char const   *)"format to use for the output";
  options[24].flags = (enum parse_opt_option_flags )0;
  options[24].callback = (parse_opt_cb *)0;
  options[24].defval = 0L;
  options[24].ll_callback = (parse_opt_ll_cb *)0;
  options[24].extra = 0L;
  options[25].type = (enum parse_opt_type )12;
  options[25].short_name = 0;
  options[25].long_name = (char const   *)"color";
  options[25].value = (void *)(& format___0.use_color);
  options[25].argh = (char const   *)"when";
  options[25].help = (char const   *)"respect format colors";
  options[25].flags = (enum parse_opt_option_flags )1;
  options[25].callback = & parse_opt_color_flag_cb;
  options[25].defval = (intptr_t )"always";
  options[25].ll_callback = (parse_opt_ll_cb *)0;
  options[25].extra = 0L;
  options[26].type = (enum parse_opt_type )8;
  options[26].short_name = 'i';
  options[26].long_name = (char const   *)"ignore-case";
  options[26].value = (void *)(& icase___0);
  options[26].argh = (char const   *)((void *)0);
  options[26].help = (char const   *)"sorting and filtering are case insensitive";
  options[26].flags = (enum parse_opt_option_flags )2;
  options[26].callback = (parse_opt_cb *)((void *)0);
  options[26].defval = (intptr_t )1;
  options[26].ll_callback = (parse_opt_ll_cb *)0;
  options[26].extra = 0L;
  options[27].type = (enum parse_opt_type )0;
  options[27].short_name = 0;
  options[27].long_name = (char const   *)0;
  options[27].value = (void *)0;
  options[27].argh = (char const   *)0;
  options[27].help = (char const   *)0;
  options[27].flags = 0U;
  options[27].callback = (parse_opt_cb *)0;
  options[27].defval = 0L;
  options[27].ll_callback = (parse_opt_ll_cb *)0;
  options[27].extra = 0L;
  ret___67 = 0;
  only_in_list = (char const   *)((void *)0);
  setup_ref_filter_porcelain_msg();
  git_config(& git_tag_config, (void *)(& sorting_options));
  memset((void *)(& opt___0), 0, sizeof(opt___0));
  memset((void *)(& filter___0), 0, sizeof(filter___0));
  filter___0.lines = 4294967295U;
  opt___0.sign = 4294967295U;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_tag_usage, (enum parse_opt_flags )0);
  if (! cmdmode) {
    if (argc == 0) {
      cmdmode = 'l';
    } else
    if (filter___0.with_commit) {
      cmdmode = 'l';
    } else
    if (filter___0.no_commit) {
      cmdmode = 'l';
    } else
    if (filter___0.reachable_from) {
      cmdmode = 'l';
    } else
    if (filter___0.unreachable_from) {
      cmdmode = 'l';
    } else
    if (filter___0.points_at.nr) {
      cmdmode = 'l';
    } else
    if (filter___0.lines != 4294967295U) {
      cmdmode = 'l';
    }
  }
  if (cmdmode == 108) {
    setup_auto_pager((char const   *)"tag", 1);
  }
  if (opt___0.sign == 4294967295U) {
    if (cmdmode) {
      opt___0.sign = 0U;
    } else {
      opt___0.sign = (unsigned int )(config_sign_tag > 0);
    }
  }
  if (keyid) {
    opt___0.sign = 1U;
    set_signing_key(keyid);
  }
  if (opt___0.sign) {
    tmp = 1;
  } else
  if (annotate) {
    tmp = 1;
  } else
  if (msg___5.given) {
    tmp = 1;
  } else
  if (msgfile) {
    tmp = 1;
  } else {
    tmp = 0;
  }
  create_tag_object = tmp;
  if (create_tag_object) {
    goto _L;
  } else
  if (force___2) {
    _L: /* CIL Label */
    if (cmdmode != 0) {
      usage_with_options(git_tag_usage, (struct option  const  *)(options));
    }
  }
  finalize_colopts(& colopts___2, -1);
  if (cmdmode == 108) {
    if (filter___0.lines != 4294967295U) {
      if (colopts___2 & 64U) {
        tmp___1 = column_active(colopts___2);
        if (tmp___1) {
          tmp___0 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
          die((char const   *)tmp___0, "--column", "-n");
        }
      }
      colopts___2 = 0U;
    }
  }
  sorting___0 = ref_sorting_options(& sorting_options);
  ref_sorting_set_sort_flags_all(sorting___0, 2U, icase___0);
  filter___0.ignore_case = (unsigned int )icase___0;
  if (cmdmode == 108) {
    tmp___2 = column_active(colopts___2);
    if (tmp___2) {
      memset((void *)(& copts), 0, sizeof(copts));
      copts.padding = 2;
      run_column_filter((int )colopts___2, (struct column_options  const  *)(& copts));
    }
    filter___0.name_patterns = argv___0;
    ret___67 = list_tags(& filter___0, sorting___0, & format___0);
    tmp___3 = column_active(colopts___2);
    if (tmp___3) {
      stop_column_filter();
    }
    goto cleanup;
  }
  if (filter___0.lines != 4294967295U) {
    only_in_list = (char const   *)"-n";
  } else
  if (filter___0.with_commit) {
    only_in_list = (char const   *)"--contains";
  } else
  if (filter___0.no_commit) {
    only_in_list = (char const   *)"--no-contains";
  } else
  if (filter___0.points_at.nr) {
    only_in_list = (char const   *)"--points-at";
  } else
  if (filter___0.reachable_from) {
    only_in_list = (char const   *)"--merged";
  } else
  if (filter___0.unreachable_from) {
    only_in_list = (char const   *)"--no-merged";
  }
  if (only_in_list) {
    tmp___4 = _((char const   *)"the \'%s\' option is only allowed in list mode");
    die((char const   *)tmp___4, only_in_list);
  }
  if (cmdmode == 100) {
    ret___67 = delete_tags(argv___0);
    goto cleanup;
  }
  if (cmdmode == 118) {
    if (format___0.format) {
      tmp___5 = verify_ref_format(& format___0);
      if (tmp___5) {
        usage_with_options(git_tag_usage, (struct option  const  *)(options));
      }
    }
    ret___67 = for_each_tag_name(argv___0, & verify_tag, (void *)(& format___0));
    goto cleanup;
  }
  if (msg___5.given) {
    goto _L___0;
  } else
  if (msgfile) {
    _L___0: /* CIL Label */
    if (msg___5.given) {
      if (msgfile) {
        tmp___6 = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
        die((char const   *)tmp___6, "-F", "-m");
      }
    }
    if (msg___5.given) {
      strbuf_addbuf(& buf___19, (struct strbuf  const  *)(& msg___5.buf));
    } else {
      tmp___11 = strcmp(msgfile, (char const   *)"-");
      if (tmp___11) {
        tmp___10 = strbuf_read_file(& buf___19, msgfile, (size_t )1024);
        if (tmp___10 < 0L) {
          tmp___9 = _((char const   *)"could not open or read \'%s\'");
          die_errno((char const   *)tmp___9, msgfile);
        }
      } else {
        tmp___8 = strbuf_read(& buf___19, 0, (size_t )1024);
        if (tmp___8 < 0L) {
          tmp___7 = _((char const   *)"cannot read \'%s\'");
          die_errno((char const   *)tmp___7, msgfile);
        }
      }
    }
  }
  tag = *(argv___0 + 0);
  if (argc == 2) {
    object_ref = *(argv___0 + 1);
  } else {
    object_ref = (char const   *)"HEAD";
  }
  if (argc > 2) {
    tmp___12 = _((char const   *)"too many arguments");
    die((char const   *)tmp___12);
  }
  tmp___14 = repo_get_oid(the_repository, object_ref, & object);
  if (tmp___14) {
    tmp___13 = _((char const   *)"Failed to resolve \'%s\' as a valid ref.");
    die((char const   *)tmp___13, object_ref);
  }
  tmp___16 = strbuf_check_tag_ref(& ref, tag);
  if (tmp___16) {
    tmp___15 = _((char const   *)"\'%s\' is not a valid tag name.");
    die((char const   *)tmp___15, tag);
  }
  tmp___18 = read_ref((char const   *)ref.buf, & prev);
  if (tmp___18) {
    oidclr(& prev);
  } else
  if (! force___2) {
    tmp___17 = _((char const   *)"tag \'%s\' already exists");
    die((char const   *)tmp___17, tag);
  }
  if (msg___5.given) {
    tmp___19 = 1;
  } else
  if (msgfile) {
    tmp___19 = 1;
  } else {
    tmp___19 = 0;
  }
  opt___0.message_given = (unsigned int )tmp___19;
  opt___0.use_editor = (unsigned int )edit_flag___0;
  if (! cleanup_arg___2) {
    opt___0.cleanup_mode = (enum __anonenum_cleanup_mode_793965826 )2;
  } else {
    tmp___23 = strcmp((char const   *)cleanup_arg___2, (char const   *)"strip");
    if (tmp___23) {
      tmp___22 = strcmp((char const   *)cleanup_arg___2, (char const   *)"verbatim");
      if (tmp___22) {
        tmp___21 = strcmp((char const   *)cleanup_arg___2, (char const   *)"whitespace");
        if (tmp___21) {
          tmp___20 = _((char const   *)"Invalid cleanup mode %s");
          die((char const   *)tmp___20, cleanup_arg___2);
        } else {
          opt___0.cleanup_mode = (enum __anonenum_cleanup_mode_793965826 )1;
        }
      } else {
        opt___0.cleanup_mode = (enum __anonenum_cleanup_mode_793965826 )0;
      }
    } else {
      opt___0.cleanup_mode = (enum __anonenum_cleanup_mode_793965826 )2;
    }
  }
  create_reflog_msg((struct object_id  const  *)(& object), & reflog_msg);
  if (create_tag_object) {
    if (force_sign_annotate) {
      if (! annotate) {
        opt___0.sign = 1U;
      }
    }
    create_tag((struct object_id  const  *)(& object), object_ref, tag, & buf___19,
               & opt___0, & prev, & object);
  }
  transaction___0 = ref_transaction_begin(& err___4);
  if (! transaction___0) {
    die((char const   *)"%s", err___4.buf);
  } else {
    if (create_reflog) {
      tmp___24 = 1 << 1;
    } else {
      tmp___24 = 0;
    }
    tmp___25 = ref_transaction_update(transaction___0, (char const   *)ref.buf, (struct object_id  const  *)(& object),
                                      (struct object_id  const  *)(& prev), (unsigned int )tmp___24,
                                      (char const   *)reflog_msg.buf, & err___4);
    if (tmp___25) {
      die((char const   *)"%s", err___4.buf);
    } else {
      tmp___26 = ref_transaction_commit(transaction___0, & err___4);
      if (tmp___26) {
        die((char const   *)"%s", err___4.buf);
      }
    }
  }
  ref_transaction_free(transaction___0);
  if (force___2) {
    tmp___29 = is_null_oid((struct object_id  const  *)(& prev));
    if (! tmp___29) {
      tmp___30 = oideq((struct object_id  const  *)(& prev), (struct object_id  const  *)(& object));
      if (! tmp___30) {
        tmp___27 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& prev),
                                           default_abbrev);
        tmp___28 = _((char const   *)"Updated tag \'%s\' (was %s)\n");
        printf((char const   *)tmp___28, tag, tmp___27);
      }
    }
  }
  cleanup:
  ref_sorting_release(sorting___0);
  strbuf_release(& buf___19);
  strbuf_release(& ref);
  strbuf_release(& reflog_msg);
  strbuf_release(& msg___5.buf);
  strbuf_release(& err___4);
  return (ret___67);
}
}
static double const   __ac_HASH_UPPER___161  =    (double const   )0.77;
__inline static void kh_resize_oid_set___161(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___161(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___161 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___161 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___161(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___161(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___161(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___161(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___161(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___161(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___161 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___161 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___161(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___161(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___161(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___161(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___161(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___161(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___161 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___161 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___161(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___161(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___161(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___161(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___117(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___117(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___161 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___161 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___117(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___117(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___117(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___117(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char path___5[50]  ;
static char *create_temp_file(struct object_id *oid )
{
  void *buf___19 ;
  enum object_type type___0 ;
  unsigned long size ;
  int fd ;
  char *tmp ;
  ssize_t tmp___0 ;

  {
  buf___19 = repo_read_object_file(the_repository, (struct object_id  const  *)oid,
                                   & type___0, & size);
  if (! buf___19) {
    tmp = oid_to_hex((struct object_id  const  *)oid);
    die((char const   *)"unable to read blob object %s", tmp);
  } else
  if ((int )type___0 != 3) {
    tmp = oid_to_hex((struct object_id  const  *)oid);
    die((char const   *)"unable to read blob object %s", tmp);
  }
  xsnprintf(path___5, sizeof(path___5), (char const   *)".merge_file_XXXXXX");
  fd = xmkstemp(path___5);
  tmp___0 = write_in_full(fd, (void const   *)buf___19, size);
  if (tmp___0 < 0L) {
    die_errno((char const   *)"unable to write temp-file");
  }
  close(fd);
  return (path___5);
}
}
int cmd_unpack_file(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct object_id oid ;
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  if (argc != 2) {
    usage((char const   *)"git unpack-file <sha1>");
  } else {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage((char const   *)"git unpack-file <sha1>");
    }
  }
  tmp___0 = repo_get_oid(the_repository, *(argv___0 + 1), & oid);
  if (tmp___0) {
    die((char const   *)"Not a valid object name %s", *(argv___0 + 1));
  }
  git_config(& git_default_config, (void *)0);
  tmp___1 = create_temp_file(& oid);
  puts((char const   *)tmp___1);
  return (0);
}
}
static double const   __ac_HASH_UPPER___162  =    (double const   )0.77;
__inline static void kh_resize_oid_set___162(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___162(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___162 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___162 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___162(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___162(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___162(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___162(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___162(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___162(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___162 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___162 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___162(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___162(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___162(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___162(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___162(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___162(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___162 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___162 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___162(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___162(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___162(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___162(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___118(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___118(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___162 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___162 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___118(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___118(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___118(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___118(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static int dry_run___1  ;
static int quiet___5  ;
static int recover  ;
static int has_errors  ;
static int strict___0  ;
static char const   unpack_usage[45]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'u',      (char const   )'n',      (char const   )'p',      (char const   )'a',
        (char const   )'c',      (char const   )'k',      (char const   )'-',      (char const   )'o',
        (char const   )'b',      (char const   )'j',      (char const   )'e',      (char const   )'c',
        (char const   )'t',      (char const   )'s',      (char const   )' ',      (char const   )'[',
        (char const   )'-',      (char const   )'n',      (char const   )']',      (char const   )' ',
        (char const   )'[',      (char const   )'-',      (char const   )'q',      (char const   )']',
        (char const   )' ',      (char const   )'[',      (char const   )'-',      (char const   )'r',
        (char const   )']',      (char const   )' ',      (char const   )'[',      (char const   )'-',
        (char const   )'-',      (char const   )'s',      (char const   )'t',      (char const   )'r',
        (char const   )'i',      (char const   )'c',      (char const   )'t',      (char const   )']',
        (char const   )'\000'};
static unsigned char buffer___4[4096]  ;
static unsigned int offset___1  ;
static unsigned int len  ;
static off_t consumed_bytes___0  ;
static off_t max_input_size___1  ;
static git_hash_ctx ctx  ;
static struct fsck_options fsck_options___2  =
     {(int (*)(struct object *obj , enum object_type object_type , void *data , struct fsck_options *options ))0,
    & fsck_error_function, 1U, (enum fsck_msg_type *)0, {{0U, 0U, 0U, 0U, (khint32_t *)0,
                                                          (struct object_id *)0, (int *)0}},
    {{(khint_t )0, 0U, 0U, 0U, (khint32_t *)0, (struct object_id *)0, (int *)0}},
    {{(khint_t )0, 0U, 0U, 0U, (khint32_t *)0, (struct object_id *)0, (int *)0}},
    (kh_oid_map_t *)0};
static struct progress *progress___6  ;
static struct decoration obj_decorate  ;
static struct obj_buffer *lookup_object_buffer(struct object *base )
{
  void *tmp ;

  {
  tmp = lookup_decoration(& obj_decorate, (struct object  const  *)base);
  return ((struct obj_buffer *)tmp);
}
}
static void add_object_buffer(struct object *object , char *buffer___5 , unsigned long size )
{
  struct obj_buffer *obj ;
  void *tmp ;
  char *tmp___0 ;
  void *tmp___1 ;

  {
  tmp = xcalloc((size_t )1, sizeof(*obj));
  obj = (struct obj_buffer *)tmp;
  obj->buffer = buffer___5;
  obj->size = size;
  tmp___1 = add_decoration(& obj_decorate, (struct object  const  *)object, (void *)obj);
  if (tmp___1) {
    tmp___0 = oid_to_hex((struct object_id  const  *)(& object->oid));
    die((char const   *)"object %s tried to add buffer twice!", tmp___0);
  }
  return;
}
}
static void *fill___1(int min )
{
  ssize_t ret___67 ;
  ssize_t tmp ;

  {
  if ((unsigned int )min <= len) {
    return ((void *)(buffer___4 + offset___1));
  }
  if ((unsigned long )min > sizeof(buffer___4)) {
    die((char const   *)"cannot fill %d bytes", min);
  }
  if (offset___1) {
    (*((the_repository->hash_algo)->update_fn))(& ctx, (void const   *)(buffer___4),
                                                (size_t )offset___1);
    memmove((void *)(buffer___4), (void const   *)(buffer___4 + offset___1), (size_t )len);
    offset___1 = 0U;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = xread(0, (void *)(buffer___4 + len), sizeof(buffer___4) - (unsigned long )len);
    ret___67 = tmp;
    if (ret___67 <= 0L) {
      if (! ret___67) {
        die((char const   *)"early EOF");
      }
      die_errno((char const   *)"read error on input");
    }
    len = (unsigned int )((ssize_t )len + ret___67);
    if (! (len < (unsigned int )min)) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return ((void *)(buffer___4));
}
}
static void use___0(int bytes )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if ((unsigned int )bytes > len) {
    die((char const   *)"used more bytes than were available");
  }
  len -= (unsigned int )bytes;
  offset___1 += (unsigned int )bytes;
  if ((long )bytes > (9223372036854775807L >> (8UL * sizeof(intmax_t ) - 8UL * sizeof(consumed_bytes___0))) - consumed_bytes___0) {
    die((char const   *)"pack too large for current definition of off_t");
  }
  consumed_bytes___0 += (off_t )bytes;
  if (max_input_size___1) {
    if (consumed_bytes___0 > max_input_size___1) {
      tmp = _((char const   *)"pack exceeds maximum allowed size");
      die((char const   *)tmp);
    }
  }
  display_throughput(progress___6, (uint64_t )consumed_bytes___0);
  return;
}
}
static void *get_data(unsigned long size )
{
  git_zstream stream ;
  void *buf___19 ;
  void *tmp ;
  void *tmp___0 ;
  int ret___67 ;
  int tmp___1 ;
  int tmp___2 ;
  void *tmp___3 ;

  {
  tmp = xmallocz(size);
  buf___19 = tmp;
  memset((void *)(& stream), 0, sizeof(stream));
  stream.next_out = (unsigned char *)buf___19;
  stream.avail_out = size;
  tmp___0 = fill___1(1);
  stream.next_in = (unsigned char *)tmp___0;
  stream.avail_in = (unsigned long )len;
  git_inflate_init(& stream);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = git_inflate(& stream, 0);
    ret___67 = tmp___1;
    use___0((int )((unsigned long )len - stream.avail_in));
    if (stream.total_out == size) {
      if (ret___67 == 1) {
        goto while_break;
      }
    }
    if (ret___67 != 0) {
      error((char const   *)"inflate returned %d", ret___67);
      const_error();
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        free(buf___19);
        buf___19 = (void *)0;
        goto while_break___0;
      }
      while_break___0: /* CIL Label */ ;
      }
      if (! recover) {
        tmp___2 = trace2_cmd_exit_fl((char const   *)"builtin/unpack-objects.c", 121,
                                     1);
        exit(tmp___2);
      }
      has_errors = 1;
      goto while_break;
    }
    tmp___3 = fill___1(1);
    stream.next_in = (unsigned char *)tmp___3;
    stream.avail_in = (unsigned long )len;
  }
  while_break: /* CIL Label */ ;
  }
  git_inflate_end(& stream);
  return (buf___19);
}
}
static struct delta_info *delta_list  ;
static void add_delta_to_list(unsigned int nr___0 , struct object_id  const  *base_oid ,
                              off_t base_offset , void *delta , unsigned long size )
{
  struct delta_info *info___0 ;
  void *tmp ;

  {
  tmp = xmalloc(sizeof(*info___0));
  info___0 = (struct delta_info *)tmp;
  oidcpy(& info___0->base_oid, base_oid);
  info___0->base_offset = base_offset;
  info___0->size = size;
  info___0->delta = delta;
  info___0->nr = nr___0;
  info___0->next = delta_list;
  delta_list = info___0;
  return;
}
}
static struct obj_info *obj_list  ;
static unsigned int nr_objects___0  ;
static void write_cached_object(struct object *obj , struct obj_buffer *obj_buf )
{
  struct object_id oid ;
  char *tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  tmp___0 = type_name(obj->type);
  tmp___1 = write_object_file((void const   *)obj_buf->buffer, obj_buf->size, tmp___0,
                              & oid);
  if (tmp___1 < 0) {
    tmp = oid_to_hex((struct object_id  const  *)(& obj->oid));
    die((char const   *)"failed to write object %s", tmp);
  }
  obj->flags |= 1u << 21;
  return;
}
}
static int check_object___2(struct object *obj , enum object_type type___0 , void *data ,
                            struct fsck_options *options )
{
  struct obj_buffer *obj_buf ;
  unsigned long size ;
  int type___1 ;
  int tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;

  {
  if (! obj) {
    return (1);
  }
  if (obj->flags & (1u << 21)) {
    return (0);
  }
  if ((int )type___0 != 8) {
    if (obj->type != (unsigned int )type___0) {
      die((char const   *)"object type mismatch");
    }
  }
  if (! (obj->flags & (1u << 20))) {
    tmp = oid_object_info(the_repository, (struct object_id  const  *)(& obj->oid),
                          & size);
    type___1 = tmp;
    if ((unsigned int )type___1 != obj->type) {
      die((char const   *)"object of unexpected type");
    } else
    if (type___1 <= 0) {
      die((char const   *)"object of unexpected type");
    }
    obj->flags |= 1u << 21;
    return (0);
  }
  obj_buf = lookup_object_buffer(obj);
  if (! obj_buf) {
    tmp___0 = oid_to_hex((struct object_id  const  *)(& obj->oid));
    die((char const   *)"Whoops! Cannot find object \'%s\'", tmp___0);
  }
  tmp___1 = fsck_object(obj, (void *)obj_buf->buffer, obj_buf->size, & fsck_options___2);
  if (tmp___1) {
    die((char const   *)"fsck error in packed object");
  }
  fsck_options___2.walk = & check_object___2;
  tmp___3 = fsck_walk(obj, (void *)0, & fsck_options___2);
  if (tmp___3) {
    tmp___2 = oid_to_hex((struct object_id  const  *)(& obj->oid));
    die((char const   *)"Error on reachable objects of %s", tmp___2);
  }
  write_cached_object(obj, obj_buf);
  return (0);
}
}
static void write_rest(void)
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr_objects___0)) {
      goto while_break;
    }
    if ((obj_list + i)->obj) {
      check_object___2((obj_list + i)->obj, (enum object_type )8, (void *)0, (struct fsck_options *)((void *)0));
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void added_object(unsigned int nr___0 , enum object_type type___0 , void *data ,
                         unsigned long size ) ;
static void write_object___0(unsigned int nr___0 , enum object_type type___0 , void *buf___19 ,
                             unsigned long size )
{
  char const   *tmp ;
  int tmp___0 ;
  struct blob *blob ;
  char const   *tmp___1 ;
  int tmp___2 ;
  struct object *obj ;
  int eaten ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;

  {
  if (! strict___0) {
    tmp = type_name((unsigned int )type___0);
    tmp___0 = write_object_file((void const   *)buf___19, size, tmp, & (obj_list + nr___0)->oid);
    if (tmp___0 < 0) {
      die((char const   *)"failed to write object");
    }
    added_object(nr___0, type___0, buf___19, size);
    free(buf___19);
    (obj_list + nr___0)->obj = (struct object *)((void *)0);
  } else
  if ((int )type___0 == 3) {
    tmp___1 = type_name((unsigned int )type___0);
    tmp___2 = write_object_file((void const   *)buf___19, size, tmp___1, & (obj_list + nr___0)->oid);
    if (tmp___2 < 0) {
      die((char const   *)"failed to write object");
    }
    added_object(nr___0, type___0, buf___19, size);
    free(buf___19);
    blob = lookup_blob(the_repository, (struct object_id  const  *)(& (obj_list + nr___0)->oid));
    if (blob) {
      blob->object.flags |= 1u << 21;
    } else {
      die((char const   *)"invalid blob object");
    }
    (obj_list + nr___0)->obj = (struct object *)((void *)0);
  } else {
    tmp___3 = type_name((unsigned int )type___0);
    hash_object_file(the_repository->hash_algo, (void const   *)buf___19, size, tmp___3,
                     & (obj_list + nr___0)->oid);
    added_object(nr___0, type___0, buf___19, size);
    obj = parse_object_buffer(the_repository, (struct object_id  const  *)(& (obj_list + nr___0)->oid),
                              type___0, size, buf___19, & eaten);
    if (! obj) {
      tmp___4 = type_name((unsigned int )type___0);
      die((char const   *)"invalid %s", tmp___4);
    }
    add_object_buffer(obj, (char *)buf___19, size);
    obj->flags |= 1u << 20;
    (obj_list + nr___0)->obj = obj;
  }
  return;
}
}
static void resolve_delta___0(unsigned int nr___0 , enum object_type type___0 , void *base ,
                              unsigned long base_size , void *delta , unsigned long delta_size )
{
  void *result___0 ;
  unsigned long result_size ;

  {
  result___0 = patch_delta((void const   *)base, base_size, (void const   *)delta,
                           delta_size, & result_size);
  if (! result___0) {
    die((char const   *)"failed to apply delta");
  }
  free(delta);
  write_object___0(nr___0, type___0, result___0, result_size);
  return;
}
}
static void added_object(unsigned int nr___0 , enum object_type type___0 , void *data ,
                         unsigned long size )
{
  struct delta_info **p___0 ;
  struct delta_info *info___0 ;
  int tmp ;

  {
  p___0 = & delta_list;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    info___0 = *p___0;
    if (! ((unsigned long )info___0 != (unsigned long )((void *)0))) {
      goto while_break;
    }
    tmp = oideq((struct object_id  const  *)(& info___0->base_oid), (struct object_id  const  *)(& (obj_list + nr___0)->oid));
    if (tmp) {
      *p___0 = info___0->next;
      p___0 = & delta_list;
      resolve_delta___0(info___0->nr, type___0, data, size, info___0->delta, info___0->size);
      free((void *)info___0);
      goto while_continue;
    } else
    if (info___0->base_offset == (obj_list + nr___0)->offset) {
      *p___0 = info___0->next;
      p___0 = & delta_list;
      resolve_delta___0(info___0->nr, type___0, data, size, info___0->delta, info___0->size);
      free((void *)info___0);
      goto while_continue;
    }
    p___0 = & info___0->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void unpack_non_delta_entry(enum object_type type___0 , unsigned long size ,
                                   unsigned int nr___0 )
{
  void *buf___19 ;
  void *tmp ;

  {
  tmp = get_data(size);
  buf___19 = tmp;
  if (! dry_run___1) {
    if (buf___19) {
      write_object___0(nr___0, type___0, buf___19, size);
    } else {
      free(buf___19);
    }
  } else {
    free(buf___19);
  }
  return;
}
}
static int resolve_against_held(unsigned int nr___0 , struct object_id  const  *base ,
                                void *delta_data , unsigned long delta_size )
{
  struct object *obj ;
  struct obj_buffer *obj_buffer ;

  {
  obj = lookup_object(the_repository, base);
  if (! obj) {
    return (0);
  }
  obj_buffer = lookup_object_buffer(obj);
  if (! obj_buffer) {
    return (0);
  }
  resolve_delta___0(nr___0, (enum object_type )obj->type, (void *)obj_buffer->buffer,
                    obj_buffer->size, delta_data, delta_size);
  return (1);
}
}
static void unpack_delta_entry(enum object_type type___0 , unsigned long delta_size ,
                               unsigned int nr___0 )
{
  void *delta_data ;
  void *base ;
  unsigned long base_size ;
  struct object_id base_oid ;
  void *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  unsigned int base_found ;
  unsigned char *pack___0 ;
  unsigned char c___0 ;
  off_t base_offset ;
  unsigned int lo ;
  unsigned int mid ;
  unsigned int hi ;
  void *tmp___2 ;
  void *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  struct object_id  const  *tmp___6 ;
  int tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;

  {
  if ((int )type___0 == 7) {
    tmp = fill___1((int )(the_repository->hash_algo)->rawsz);
    oidread(& base_oid, (unsigned char const   *)tmp);
    use___0((int )(the_repository->hash_algo)->rawsz);
    delta_data = get_data(delta_size);
    if (dry_run___1) {
      free(delta_data);
      return;
    } else
    if (! delta_data) {
      free(delta_data);
      return;
    }
    tmp___1 = repo_has_object_file(the_repository, (struct object_id  const  *)(& base_oid));
    if (! tmp___1) {
      tmp___0 = resolve_against_held(nr___0, (struct object_id  const  *)(& base_oid),
                                     delta_data, delta_size);
      if (tmp___0) {
        return;
      } else {
        oidclr(& (obj_list + nr___0)->oid);
        add_delta_to_list(nr___0, (struct object_id  const  *)(& base_oid), (off_t )0,
                          delta_data, delta_size);
        return;
      }
    }
  } else {
    base_found = 0U;
    tmp___2 = fill___1(1);
    pack___0 = (unsigned char *)tmp___2;
    c___0 = *pack___0;
    use___0(1);
    base_offset = (off_t )((int )c___0 & 127);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((int )c___0 & 128)) {
        goto while_break;
      }
      base_offset ++;
      if (! base_offset) {
        die((char const   *)"offset value overflow for delta base object");
      } else
      if (base_offset & (off_t )(18446744073709551615ULL << (8UL * sizeof(base_offset) - 7UL))) {
        die((char const   *)"offset value overflow for delta base object");
      }
      tmp___3 = fill___1(1);
      pack___0 = (unsigned char *)tmp___3;
      c___0 = *pack___0;
      use___0(1);
      base_offset = (base_offset << 7) + (off_t )((int )c___0 & 127);
    }
    while_break: /* CIL Label */ ;
    }
    base_offset = (obj_list + nr___0)->offset - base_offset;
    if (base_offset <= 0L) {
      die((char const   *)"offset value out of bound for delta base object");
    } else
    if (base_offset >= (obj_list + nr___0)->offset) {
      die((char const   *)"offset value out of bound for delta base object");
    }
    delta_data = get_data(delta_size);
    if (dry_run___1) {
      free(delta_data);
      return;
    } else
    if (! delta_data) {
      free(delta_data);
      return;
    }
    lo = 0U;
    hi = nr___0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (lo < hi)) {
        goto while_break___0;
      }
      mid = lo + (hi - lo) / 2U;
      if (base_offset < (obj_list + mid)->offset) {
        hi = mid;
      } else
      if (base_offset > (obj_list + mid)->offset) {
        lo = mid + 1U;
      } else {
        oidcpy(& base_oid, (struct object_id  const  *)(& (obj_list + mid)->oid));
        tmp___4 = is_null_oid((struct object_id  const  *)(& base_oid));
        if (tmp___4) {
          tmp___5 = 0;
        } else {
          tmp___5 = 1;
        }
        base_found = (unsigned int )tmp___5;
        goto while_break___0;
      }
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! base_found) {
      oidclr(& (obj_list + nr___0)->oid);
      tmp___6 = null_oid();
      add_delta_to_list(nr___0, tmp___6, base_offset, delta_data, delta_size);
      return;
    }
  }
  tmp___7 = resolve_against_held(nr___0, (struct object_id  const  *)(& base_oid),
                                 delta_data, delta_size);
  if (tmp___7) {
    return;
  }
  base = repo_read_object_file(the_repository, (struct object_id  const  *)(& base_oid),
                               & type___0, & base_size);
  if (! base) {
    tmp___8 = oid_to_hex((struct object_id  const  *)(& base_oid));
    error((char const   *)"failed to read delta-pack base object %s", tmp___8);
    const_error();
    if (! recover) {
      tmp___9 = trace2_cmd_exit_fl((char const   *)"builtin/unpack-objects.c", 438,
                                   1);
      exit(tmp___9);
    }
    has_errors = 1;
    return;
  }
  resolve_delta___0(nr___0, type___0, base, base_size, delta_data, delta_size);
  free(base);
  return;
}
}
static void unpack_one(unsigned int nr___0 )
{
  unsigned int shift ;
  unsigned char *pack___0 ;
  unsigned long size ;
  unsigned long c___0 ;
  enum object_type type___0 ;
  void *tmp ;
  void *tmp___0 ;
  int tmp___1 ;

  {
  (obj_list + nr___0)->offset = consumed_bytes___0;
  tmp = fill___1(1);
  pack___0 = (unsigned char *)tmp;
  c___0 = (unsigned long )*pack___0;
  use___0(1);
  type___0 = (enum object_type )((c___0 >> 4) & 7UL);
  size = c___0 & 15UL;
  shift = 4U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (c___0 & 128UL)) {
      goto while_break;
    }
    tmp___0 = fill___1(1);
    pack___0 = (unsigned char *)tmp___0;
    c___0 = (unsigned long )*pack___0;
    use___0(1);
    size += (c___0 & 127UL) << shift;
    shift += 7U;
  }
  while_break: /* CIL Label */ ;
  }
  {
  if ((int )type___0 == 4) {
    goto case_4;
  }
  if ((int )type___0 == 3) {
    goto case_4;
  }
  if ((int )type___0 == 2) {
    goto case_4;
  }
  if ((int )type___0 == 1) {
    goto case_4;
  }
  if ((int )type___0 == 6) {
    goto case_6;
  }
  if ((int )type___0 == 7) {
    goto case_6;
  }
  goto switch_default;
  case_4: /* CIL Label */
  case_3: /* CIL Label */
  case_2: /* CIL Label */
  case_1: /* CIL Label */
  unpack_non_delta_entry(type___0, size, nr___0);
  return;
  case_6: /* CIL Label */
  case_7: /* CIL Label */
  unpack_delta_entry(type___0, size, nr___0);
  return;
  switch_default: /* CIL Label */
  error((char const   *)"bad object type %d", (int )type___0);
  const_error();
  has_errors = 1;
  if (recover) {
    return;
  }
  tmp___1 = trace2_cmd_exit_fl((char const   *)"builtin/unpack-objects.c", 485, 1);
  exit(tmp___1);
  switch_break: /* CIL Label */ ;
  }
}
}
static void unpack_all(void)
{
  int i ;
  struct pack_header *hdr ;
  void *tmp ;
  uint32_t tmp___0 ;
  uint32_t tmp___1 ;
  uint32_t tmp___2 ;
  uint32_t tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  void *tmp___5 ;

  {
  tmp = fill___1((int )sizeof(struct pack_header ));
  hdr = (struct pack_header *)tmp;
  nr_objects___0 = git_bswap32(hdr->hdr_entries);
  tmp___0 = git_bswap32(hdr->hdr_signature);
  if (tmp___0 != 1346454347U) {
    die((char const   *)"bad pack file");
  }
  tmp___2 = git_bswap32((uint32_t )2);
  if (! (hdr->hdr_version == tmp___2)) {
    tmp___3 = git_bswap32((uint32_t )3);
    if (! (hdr->hdr_version == tmp___3)) {
      tmp___1 = git_bswap32(hdr->hdr_version);
      die((char const   *)"unknown pack file version %u", tmp___1);
    }
  }
  use___0((int )sizeof(struct pack_header ));
  if (! quiet___5) {
    tmp___4 = _((char const   *)"Unpacking objects");
    progress___6 = start_progress((char const   *)tmp___4, (uint64_t )nr_objects___0);
  }
  tmp___5 = xcalloc((size_t )nr_objects___0, sizeof(*obj_list));
  obj_list = (struct obj_info *)tmp___5;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < nr_objects___0)) {
      goto while_break;
    }
    unpack_one((unsigned int )i);
    display_progress(progress___6, (uint64_t )(i + 1));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  stop_progress(& progress___6);
  if (delta_list) {
    die((char const   *)"unresolved deltas left after unpacking");
  }
  return;
}
}
int cmd_unpack_objects(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  struct object_id oid ;
  int tmp ;
  int tmp___0 ;
  char const   *arg ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  struct pack_header *hdr ;
  char *c___0 ;
  unsigned long tmp___6 ;
  unsigned long tmp___7 ;
  int tmp___8 ;
  uintmax_t tmp___9 ;
  int tmp___10 ;
  char const __attribute__((__format_arg__(1)))  *tmp___11 ;
  int tmp___12 ;
  void *tmp___13 ;
  int tmp___14 ;
  int ret___67 ;
  ssize_t tmp___15 ;

  {
  read_replace_refs = 0;
  git_config(& git_default_config, (void *)0);
  tmp = isatty(2);
  if (tmp) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  quiet___5 = tmp___0;
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    arg = *(argv___0 + i);
    if ((int const   )*arg == 45) {
      tmp___1 = strcmp(arg, (char const   *)"-n");
      if (! tmp___1) {
        dry_run___1 = 1;
        goto __Cont;
      }
      tmp___2 = strcmp(arg, (char const   *)"-q");
      if (! tmp___2) {
        quiet___5 = 1;
        goto __Cont;
      }
      tmp___3 = strcmp(arg, (char const   *)"-r");
      if (! tmp___3) {
        recover = 1;
        goto __Cont;
      }
      tmp___4 = strcmp(arg, (char const   *)"--strict");
      if (! tmp___4) {
        strict___0 = 1;
        goto __Cont;
      }
      tmp___5 = skip_prefix(arg, (char const   *)"--strict=", & arg);
      if (tmp___5) {
        strict___0 = 1;
        fsck_set_msg_types(& fsck_options___2, arg);
        goto __Cont;
      }
      tmp___8 = starts_with(arg, (char const   *)"--pack_header=");
      if (tmp___8) {
        hdr = (struct pack_header *)(buffer___4);
        hdr->hdr_signature = git_bswap32((uint32_t )0x5041434b);
        tmp___6 = strtoul((char const   * __restrict  )(arg + 14), (char ** __restrict  )(& c___0),
                          10);
        hdr->hdr_version = git_bswap32((uint32_t )tmp___6);
        if ((int )*c___0 != 44) {
          die((char const   *)"bad %s", arg);
        }
        tmp___7 = strtoul((char const   * __restrict  )(c___0 + 1), (char ** __restrict  )(& c___0),
                          10);
        hdr->hdr_entries = git_bswap32((uint32_t )tmp___7);
        if (*c___0) {
          die((char const   *)"bad %s", arg);
        }
        len = (unsigned int )sizeof(*hdr);
        goto __Cont;
      }
      tmp___10 = skip_prefix(arg, (char const   *)"--max-input-size=", & arg);
      if (tmp___10) {
        tmp___9 = strtoumax(arg, (char **)((void *)0), 10);
        max_input_size___1 = (off_t )tmp___9;
        goto __Cont;
      }
      usage(unpack_usage);
    }
    usage(unpack_usage);
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  (*((the_repository->hash_algo)->init_fn))(& ctx);
  unpack_all();
  (*((the_repository->hash_algo)->update_fn))(& ctx, (void const   *)(buffer___4),
                                              (size_t )offset___1);
  (*((the_repository->hash_algo)->final_oid_fn))(& oid, & ctx);
  if (strict___0) {
    write_rest();
    tmp___12 = fsck_finish(& fsck_options___2);
    if (tmp___12) {
      tmp___11 = _((char const   *)"fsck error in pack objects");
      die((char const   *)tmp___11);
    }
  }
  tmp___13 = fill___1((int )(the_repository->hash_algo)->rawsz);
  tmp___14 = hasheq((unsigned char const   *)tmp___13, (unsigned char const   *)(oid.hash));
  if (! tmp___14) {
    die((char const   *)"final sha1 did not match");
  }
  use___0((int )(the_repository->hash_algo)->rawsz);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! len) {
      goto while_break___0;
    }
    tmp___15 = xwrite(1, (void const   *)(buffer___4 + offset___1), (size_t )len);
    ret___67 = (int )tmp___15;
    if (ret___67 <= 0) {
      goto while_break___0;
    }
    len -= (unsigned int )ret___67;
    offset___1 += (unsigned int )ret___67;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (has_errors);
}
}
__inline static void mark_fsmonitor_valid___7(struct index_state *istate , struct cache_entry *ce )
{
  int tmp ;

  {
  if (core_fsmonitor) {
    if (! (ce->ce_flags & (unsigned int )(1 << 21))) {
      istate->cache_changed = 1U;
      ce->ce_flags |= (unsigned int )(1 << 21);
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        tmp = trace_pass_fl(& trace_fsmonitor);
        if (tmp) {
          trace_printf_key_fl((char const   *)"./fsmonitor.h", 73, & trace_fsmonitor,
                              (char const   *)"mark_fsmonitor_clean \'%s\'", ce->name);
        }
        goto while_break;
      }
      while_break: /* CIL Label */ ;
      }
    }
  }
  return;
}
}
__inline static void mark_fsmonitor_invalid___7(struct index_state *istate , struct cache_entry *ce )
{
  int tmp ;

  {
  if (core_fsmonitor) {
    ce->ce_flags &= (unsigned int )(~ (1 << 21));
    untracked_cache_invalidate_path(istate, (char const   *)(ce->name), 1);
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      tmp = trace_pass_fl(& trace_fsmonitor);
      if (tmp) {
        trace_printf_key_fl((char const   *)"./fsmonitor.h", 89, & trace_fsmonitor,
                            (char const   *)"mark_fsmonitor_invalid \'%s\'", ce->name);
      }
      goto while_break;
    }
    while_break: /* CIL Label */ ;
    }
  }
  return;
}
}
static int allow_add  ;
static int allow_remove  ;
static int allow_replace  ;
static int info_only  ;
static int force_remove  ;
static int verbose___10  ;
static int mark_valid_only  ;
static int mark_skip_worktree_only  ;
static int mark_fsmonitor_only  ;
static int ignore_skip_worktree_entries  ;
static struct strbuf mtime_dir  =    {0UL, 0UL, strbuf_slopbuf};
static void ( /* format attribute */  report___2)(char const   *fmt  , ...)
{
  va_list vp ;

  {
  if (! verbose___10) {
    return;
  }
  __builtin_va_start(vp, fmt);
  vprintf(fmt, vp);
  putchar('\n');
  __builtin_va_end(vp);
  return;
}
}
static void remove_test_directory(void)
{


  {
  if (mtime_dir.len) {
    remove_dir_recursively(& mtime_dir, 0);
  }
  return;
}
}
static char const   *get_mtime_path(char const   *path___6 ) ;
static struct strbuf sb___5  =    {0UL, 0UL, strbuf_slopbuf};
static char const   *get_mtime_path(char const   *path___6 )
{


  {
  strbuf_setlen___33(& sb___5, (size_t )0);
  strbuf_addf(& sb___5, (char const   *)"%s/%s", mtime_dir.buf, path___6);
  return ((char const   *)sb___5.buf);
}
}
static void xmkdir(char const   *path___6 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  path___6 = get_mtime_path(path___6);
  tmp___0 = mkdir(path___6, (__mode_t )0700);
  if (tmp___0) {
    tmp = _((char const   *)"failed to create directory %s");
    die_errno((char const   *)tmp, path___6);
  }
  return;
}
}
static int xstat_mtime_dir(struct stat *st )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  tmp___0 = stat((char const   *)mtime_dir.buf, st);
  if (tmp___0) {
    tmp = _((char const   *)"failed to stat %s");
    die_errno((char const   *)tmp, mtime_dir.buf);
  }
  return (0);
}
}
static int create_file___1(char const   *path___6 )
{
  int fd ;

  {
  path___6 = get_mtime_path(path___6);
  fd = xopen(path___6, 66, 0644);
  return (fd);
}
}
static void xunlink(char const   *path___6 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  path___6 = get_mtime_path(path___6);
  tmp___0 = unlink(path___6);
  if (tmp___0) {
    tmp = _((char const   *)"failed to delete file %s");
    die_errno((char const   *)tmp, path___6);
  }
  return;
}
}
static void xrmdir(char const   *path___6 )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  path___6 = get_mtime_path(path___6);
  tmp___0 = lstat_cache_aware_rmdir(path___6);
  if (tmp___0) {
    tmp = _((char const   *)"failed to delete directory %s");
    die_errno((char const   *)tmp, path___6);
  }
  return;
}
}
static void avoid_racy(void)
{


  {
  sleep(1U);
  return;
}
}
static int test_if_untracked_cache_is_supported(void)
{
  struct stat st ;
  struct stat_data base ;
  int fd ;
  int ret___67 ;
  char *cwd___0 ;
  char *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  int tmp___13 ;
  char const __attribute__((__format_arg__(1)))  *tmp___14 ;
  int tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;

  {
  ret___67 = 0;
  strbuf_addstr(& mtime_dir, (char const   *)"mtime-test-XXXXXX");
  tmp = mkdtemp(mtime_dir.buf);
  if (! tmp) {
    die_errno((char const   *)"Could not make temporary directory");
  }
  cwd___0 = xgetcwd();
  tmp___0 = _((char const   *)"Testing mtime in \'%s\' ");
  fprintf(stderr, (char const   *)tmp___0, cwd___0);
  free((void *)cwd___0);
  atexit(& remove_test_directory);
  xstat_mtime_dir(& st);
  fill_stat_data(& base, & st);
  fputc('.', stderr);
  avoid_racy();
  fd = create_file___1((char const   *)"newfile");
  xstat_mtime_dir(& st);
  tmp___2 = match_stat_data((struct stat_data  const  *)(& base), & st);
  if (! tmp___2) {
    close(fd);
    fputc('\n', stderr);
    tmp___1 = _((char const   *)"directory stat info does not change after adding a new file");
    fprintf_ln(stderr, (char const   *)tmp___1);
    goto done;
  }
  fill_stat_data(& base, & st);
  fputc('.', stderr);
  avoid_racy();
  xmkdir((char const   *)"new-dir");
  xstat_mtime_dir(& st);
  tmp___4 = match_stat_data((struct stat_data  const  *)(& base), & st);
  if (! tmp___4) {
    close(fd);
    fputc('\n', stderr);
    tmp___3 = _((char const   *)"directory stat info does not change after adding a new directory");
    fprintf_ln(stderr, (char const   *)tmp___3);
    goto done;
  }
  fill_stat_data(& base, & st);
  fputc('.', stderr);
  avoid_racy();
  write_or_die(fd, (void const   *)"data", (size_t )4);
  close(fd);
  xstat_mtime_dir(& st);
  tmp___6 = match_stat_data((struct stat_data  const  *)(& base), & st);
  if (tmp___6) {
    fputc('\n', stderr);
    tmp___5 = _((char const   *)"directory stat info changes after updating a file");
    fprintf_ln(stderr, (char const   *)tmp___5);
    goto done;
  }
  fputc('.', stderr);
  avoid_racy();
  tmp___7 = create_file___1((char const   *)"new-dir/new");
  close(tmp___7);
  xstat_mtime_dir(& st);
  tmp___9 = match_stat_data((struct stat_data  const  *)(& base), & st);
  if (tmp___9) {
    fputc('\n', stderr);
    tmp___8 = _((char const   *)"directory stat info changes after adding a file inside subdirectory");
    fprintf_ln(stderr, (char const   *)tmp___8);
    goto done;
  }
  fputc('.', stderr);
  avoid_racy();
  xunlink((char const   *)"newfile");
  xstat_mtime_dir(& st);
  tmp___11 = match_stat_data((struct stat_data  const  *)(& base), & st);
  if (! tmp___11) {
    fputc('\n', stderr);
    tmp___10 = _((char const   *)"directory stat info does not change after deleting a file");
    fprintf_ln(stderr, (char const   *)tmp___10);
    goto done;
  }
  fill_stat_data(& base, & st);
  fputc('.', stderr);
  avoid_racy();
  xunlink((char const   *)"new-dir/new");
  xrmdir((char const   *)"new-dir");
  xstat_mtime_dir(& st);
  tmp___13 = match_stat_data((struct stat_data  const  *)(& base), & st);
  if (! tmp___13) {
    fputc('\n', stderr);
    tmp___12 = _((char const   *)"directory stat info does not change after deleting a directory");
    fprintf_ln(stderr, (char const   *)tmp___12);
    goto done;
  }
  tmp___15 = lstat_cache_aware_rmdir((char const   *)mtime_dir.buf);
  if (tmp___15) {
    tmp___14 = _((char const   *)"failed to delete directory %s");
    die_errno((char const   *)tmp___14, mtime_dir.buf);
  }
  tmp___16 = _((char const   *)" OK");
  fprintf_ln(stderr, (char const   *)tmp___16);
  ret___67 = 1;
  done:
  strbuf_release(& mtime_dir);
  return (ret___67);
}
}
static int mark_ce_flags(char const   *path___6 , int flag , int mark )
{
  int namelen ;
  size_t tmp ;
  int pos ;
  int tmp___0 ;

  {
  tmp = strlen(path___6);
  namelen = (int )tmp;
  tmp___0 = index_name_pos(& the_index, path___6, namelen);
  pos = tmp___0;
  if (0 <= pos) {
    mark_fsmonitor_invalid___7(& the_index, *(the_index.cache + pos));
    if (mark) {
      (*(the_index.cache + pos))->ce_flags |= (unsigned int )flag;
    } else {
      (*(the_index.cache + pos))->ce_flags &= (unsigned int )(~ flag);
    }
    (*(the_index.cache + pos))->ce_flags |= (unsigned int )(1 << 27);
    cache_tree_invalidate_path(& the_index, path___6);
    the_index.cache_changed |= (unsigned int )(1 << 1);
    return (0);
  }
  return (-1);
}
}
static int remove_one_path(char const   *path___6 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (! allow_remove) {
    error((char const   *)"%s: does not exist and --remove not passed", path___6);
    tmp = const_error();
    return (tmp);
  }
  tmp___1 = remove_file_from_index(& the_index, path___6);
  if (tmp___1) {
    error((char const   *)"%s: cannot remove from the index", path___6);
    tmp___0 = const_error();
    return (tmp___0);
  }
  return (0);
}
}
static int process_lstat_error(char const   *path___6 , int err___4 )
{
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;

  {
  tmp___0 = is_missing_file_error(err___4);
  if (tmp___0) {
    tmp = remove_one_path(path___6);
    return (tmp);
  }
  tmp___1 = strerror(err___4);
  error((char const   *)"lstat(\"%s\"): %s", path___6, tmp___1);
  tmp___2 = const_error();
  return (tmp___2);
}
}
static int add_one_path(struct cache_entry  const  *old , char const   *path___6 ,
                        int len___0 , struct stat *st )
{
  int option ;
  struct cache_entry *ce ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  if (old) {
    if (! ((12288U & old->ce_flags) >> 12)) {
      tmp = ie_match_stat(& the_index, old, st, 0U);
      if (! tmp) {
        return (0);
      }
    }
  }
  ce = make_empty_cache_entry(& the_index, (size_t )len___0);
  memcpy((void *)(ce->name), (void const   *)path___6, (size_t )len___0);
  ce->ce_flags = create_ce_flags(0U);
  ce->ce_namelen = (unsigned int )len___0;
  fill_stat_cache_info(& the_index, ce, st);
  ce->ce_mode = ce_mode_from_stat(old, st->st_mode);
  if (info_only) {
    tmp___0 = 0;
  } else {
    tmp___0 = 1;
  }
  tmp___1 = index_path(& the_index, & ce->oid, path___6, st, (unsigned int )tmp___0);
  if (tmp___1) {
    discard_cache_entry(ce);
    return (-1);
  }
  if (allow_add) {
    option = 1;
  } else {
    option = 0;
  }
  if (allow_replace) {
    tmp___2 = 2;
  } else {
    tmp___2 = 0;
  }
  option |= tmp___2;
  tmp___4 = add_index_entry(& the_index, ce, option);
  if (tmp___4) {
    discard_cache_entry(ce);
    error((char const   *)"%s: cannot add to the index - missing --add option?", path___6);
    tmp___3 = const_error();
    return (tmp___3);
  }
  return (0);
}
}
static int process_directory(char const   *path___6 , int len___0 , struct stat *st )
{
  struct object_id oid ;
  int pos ;
  int tmp ;
  struct cache_entry  const  *ce ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  struct cache_entry  const  *ce___0 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  tmp = index_name_pos(& the_index, path___6, len___0);
  pos = tmp;
  if (pos >= 0) {
    ce = (struct cache_entry  const  *)*(the_index.cache + pos);
    if ((ce->ce_mode & 61440U) == 57344U) {
      tmp___0 = resolve_gitlink_ref(path___6, (char const   *)"HEAD", & oid);
      if (tmp___0 < 0) {
        return (0);
      }
      tmp___1 = add_one_path(ce, path___6, len___0, st);
      return (tmp___1);
    }
    tmp___2 = remove_one_path(path___6);
    return (tmp___2);
  }
  pos = - pos - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )pos < the_index.cache_nr)) {
      goto while_break;
    }
    tmp___3 = pos;
    pos ++;
    ce___0 = (struct cache_entry  const  *)*(the_index.cache + tmp___3);
    tmp___4 = strncmp((char const   *)(ce___0->name), path___6, (size_t )len___0);
    if (tmp___4) {
      goto while_break;
    }
    if ((int )ce___0->name[len___0] > 47) {
      goto while_break;
    }
    if ((int )ce___0->name[len___0] < 47) {
      goto while_continue;
    }
    error((char const   *)"%s: is a directory - add individual files instead", path___6);
    tmp___5 = const_error();
    return (tmp___5);
  }
  while_break: /* CIL Label */ ;
  }
  tmp___7 = resolve_gitlink_ref(path___6, (char const   *)"HEAD", & oid);
  if (! tmp___7) {
    tmp___6 = add_one_path((struct cache_entry  const  *)((void *)0), path___6, len___0,
                           st);
    return (tmp___6);
  }
  error((char const   *)"%s: is a directory - add files inside instead", path___6);
  tmp___8 = const_error();
  return (tmp___8);
}
}
static int process_path(char const   *path___6 , struct stat *st , int stat_errno )
{
  int pos ;
  int len___0 ;
  struct cache_entry  const  *ce ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  tmp = strlen(path___6);
  len___0 = (int )tmp;
  tmp___1 = has_symlink_leading_path(path___6, len___0);
  if (tmp___1) {
    error((char const   *)"\'%s\' is beyond a symbolic link", path___6);
    tmp___0 = const_error();
    return (tmp___0);
  }
  pos = index_name_pos(& the_index, path___6, len___0);
  if (pos < 0) {
    ce = (struct cache_entry  const  *)((void *)0);
  } else {
    ce = (struct cache_entry  const  *)*(the_index.cache + pos);
  }
  if (ce) {
    if (ce->ce_flags & (unsigned int )(1 << 30)) {
      if (! ignore_skip_worktree_entries) {
        if (allow_remove) {
          tmp___3 = remove_file_from_index(& the_index, path___6);
          if (tmp___3) {
            error((char const   *)"%s: cannot remove from the index", path___6);
            tmp___2 = const_error();
            return (tmp___2);
          }
        }
      }
      return (0);
    }
  }
  if (stat_errno) {
    tmp___4 = process_lstat_error(path___6, stat_errno);
    return (tmp___4);
  }
  if ((st->st_mode & 61440U) == 16384U) {
    tmp___5 = process_directory(path___6, len___0, st);
    return (tmp___5);
  }
  tmp___6 = add_one_path(ce, path___6, len___0, st);
  return (tmp___6);
}
}
static int add_cacheinfo___0(unsigned int mode___1 , struct object_id  const  *oid ,
                             char const   *path___6 , int stage )
{
  int len___0 ;
  int option ;
  struct cache_entry *ce ;
  int tmp ;
  int tmp___0 ;
  size_t tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp___0 = verify_path(path___6, mode___1);
  if (! tmp___0) {
    error((char const   *)"Invalid path \'%s\'", path___6);
    tmp = const_error();
    return (tmp);
  }
  tmp___1 = strlen(path___6);
  len___0 = (int )tmp___1;
  ce = make_empty_cache_entry(& the_index, (size_t )len___0);
  oidcpy(& ce->oid, oid);
  memcpy((void *)(ce->name), (void const   *)path___6, (size_t )len___0);
  ce->ce_flags = create_ce_flags((unsigned int )stage);
  ce->ce_namelen = (unsigned int )len___0;
  ce->ce_mode = create_ce_mode(mode___1);
  if (assume_unchanged) {
    ce->ce_flags |= 32768U;
  }
  if (allow_add) {
    option = 1;
  } else {
    option = 0;
  }
  if (allow_replace) {
    tmp___2 = 2;
  } else {
    tmp___2 = 0;
  }
  option |= tmp___2;
  tmp___4 = add_index_entry(& the_index, ce, option);
  if (tmp___4) {
    error((char const   *)"%s: cannot add to the index - missing --add option?", path___6);
    tmp___3 = const_error();
    return (tmp___3);
  }
  report___2((char const   *)"add \'%s\'", path___6);
  return (0);
}
}
static void chmod_path(char flip , char const   *path___6 )
{
  int pos ;
  struct cache_entry *ce ;
  size_t tmp ;
  int tmp___0 ;

  {
  tmp = strlen(path___6);
  pos = index_name_pos(& the_index, path___6, (int )tmp);
  if (pos < 0) {
    goto fail;
  }
  ce = *(the_index.cache + pos);
  tmp___0 = chmod_index_entry(& the_index, ce, flip);
  if (tmp___0 < 0) {
    goto fail;
  }
  report___2((char const   *)"chmod %cx \'%s\'", (int )flip, path___6);
  return;
  fail:
  die((char const   *)"git update-index: cannot chmod %cx \'%s\'", (int )flip, path___6);
}
}
static void update_one___0(char const   *path___6 )
{
  int stat_errno ;
  struct stat st ;
  int *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  stat_errno = 0;
  if (mark_valid_only) {
    st.st_mode = (__mode_t )0;
  } else
  if (mark_skip_worktree_only) {
    st.st_mode = (__mode_t )0;
  } else
  if (force_remove) {
    st.st_mode = (__mode_t )0;
  } else
  if (mark_fsmonitor_only) {
    st.st_mode = (__mode_t )0;
  } else {
    tmp___0 = lstat(path___6, & st);
    if (tmp___0 < 0) {
      st.st_mode = (__mode_t )0;
      tmp = __errno_location();
      stat_errno = *tmp;
    }
  }
  tmp___1 = verify_path(path___6, st.st_mode);
  if (! tmp___1) {
    fprintf(stderr, (char const   *)"Ignoring path %s\n", path___6);
    return;
  }
  if (mark_valid_only) {
    tmp___2 = mark_ce_flags(path___6, 0x8000, mark_valid_only == 1);
    if (tmp___2) {
      die((char const   *)"Unable to mark file %s", path___6);
    }
    return;
  }
  if (mark_skip_worktree_only) {
    tmp___3 = mark_ce_flags(path___6, 1 << 30, mark_skip_worktree_only == 1);
    if (tmp___3) {
      die((char const   *)"Unable to mark file %s", path___6);
    }
    return;
  }
  if (mark_fsmonitor_only) {
    tmp___4 = mark_ce_flags(path___6, 1 << 21, mark_fsmonitor_only == 1);
    if (tmp___4) {
      die((char const   *)"Unable to mark file %s", path___6);
    }
    return;
  }
  if (force_remove) {
    tmp___5 = remove_file_from_index(& the_index, path___6);
    if (tmp___5) {
      die((char const   *)"git update-index: unable to remove %s", path___6);
    }
    report___2((char const   *)"remove \'%s\'", path___6);
    return;
  }
  tmp___6 = process_path(path___6, & st, stat_errno);
  if (tmp___6) {
    die((char const   *)"Unable to process path %s", path___6);
  }
  report___2((char const   *)"add \'%s\'", path___6);
  return;
}
}
static void read_index_info(int nul_term_line___2 )
{
  int hexsz ;
  struct strbuf buf___19 ;
  struct strbuf uq___3 ;
  int (*getline_fn)(struct strbuf * , FILE * ) ;
  char *ptr ;
  char *tab ;
  char *path_name ;
  struct object_id oid ;
  unsigned int mode___1 ;
  unsigned long ul ;
  int stage ;
  int *tmp ;
  int *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;

  {
  hexsz = (int )(the_repository->hash_algo)->hexsz;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  uq___3.alloc = 0UL;
  uq___3.len = 0UL;
  uq___3.buf = strbuf_slopbuf;
  if (nul_term_line___2) {
    getline_fn = & strbuf_getline_nul;
  } else {
    getline_fn = & strbuf_getline_lf;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___7 = (*getline_fn)(& buf___19, stdin);
    if (! (tmp___7 != -1)) {
      goto while_break;
    }
    tmp = __errno_location();
    *tmp = 0;
    ul = strtoul((char const   * __restrict  )buf___19.buf, (char ** __restrict  )(& ptr),
                 8);
    if ((unsigned long )ptr == (unsigned long )buf___19.buf) {
      goto bad_line;
    } else
    if ((int )*ptr != 32) {
      goto bad_line;
    } else {
      tmp___0 = __errno_location();
      if (*tmp___0) {
        goto bad_line;
      } else
      if ((unsigned long )((unsigned int )ul) != ul) {
        goto bad_line;
      }
    }
    mode___1 = (unsigned int )ul;
    tab = strchr((char const   *)ptr, '\t');
    if (! tab) {
      goto bad_line;
    } else
    if (tab - ptr < (long )(hexsz + 1)) {
      goto bad_line;
    }
    if ((int )*(tab + -2) == 32) {
      if (48 <= (int )*(tab + -1)) {
        if ((int )*(tab + -1) <= 51) {
          stage = (int )*(tab + -1) - 48;
          ptr = tab + 1;
          tab -= 2;
        } else {
          stage = 0;
          ptr = tab + 1;
        }
      } else {
        stage = 0;
        ptr = tab + 1;
      }
    } else {
      stage = 0;
      ptr = tab + 1;
    }
    tmp___1 = get_oid_hex((char const   *)(tab - hexsz), & oid);
    if (tmp___1) {
      goto bad_line;
    } else
    if ((int )*(tab + - (hexsz + 1)) != 32) {
      goto bad_line;
    }
    path_name = ptr;
    if (! nul_term_line___2) {
      if ((int )*(path_name + 0) == 34) {
        strbuf_setlen___33(& uq___3, (size_t )0);
        tmp___2 = unquote_c_style(& uq___3, (char const   *)path_name, (char const   **)((void *)0));
        if (tmp___2) {
          die((char const   *)"git update-index: bad quoting of path name");
        }
        path_name = uq___3.buf;
      }
    }
    tmp___3 = verify_path((char const   *)path_name, mode___1);
    if (! tmp___3) {
      fprintf(stderr, (char const   *)"Ignoring path %s\n", path_name);
      goto while_continue;
    }
    if (! mode___1) {
      tmp___4 = remove_file_from_index(& the_index, (char const   *)path_name);
      if (tmp___4) {
        die((char const   *)"git update-index: unable to remove %s", ptr);
      }
    } else {
      tmp___5 = (char)0;
      *(ptr + -1) = tmp___5;
      *(ptr + - (hexsz + 2)) = tmp___5;
      tmp___6 = add_cacheinfo___0(mode___1, (struct object_id  const  *)(& oid), (char const   *)path_name,
                                  stage);
      if (tmp___6) {
        die((char const   *)"git update-index: unable to update %s", path_name);
      }
    }
    goto while_continue;
    bad_line:
    die((char const   *)"malformed index info %s", buf___19.buf);
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  strbuf_release(& uq___3);
  return;
}
}
static char const   *update_index_usage[2]  = {      (char const   *)"git update-index [<options>] [--] [<file>...]",      (char const   *)((void *)0)};
static struct object_id head_oid___0  ;
static struct object_id merge_head_oid  ;
static struct cache_entry *read_one_ent(char const   *which , struct object_id *ent ,
                                        char const   *path___6 , int namelen , int stage )
{
  unsigned short mode___1 ;
  struct object_id oid ;
  struct cache_entry *ce ;
  int tmp ;

  {
  tmp = get_tree_entry(the_repository, (struct object_id  const  *)ent, path___6,
                       & oid, & mode___1);
  if (tmp) {
    if (which) {
      error((char const   *)"%s: not in %s branch.", path___6, which);
      const_error();
    }
    return ((struct cache_entry *)((void *)0));
  }
  if ((int )mode___1 == 0040000) {
    if (which) {
      error((char const   *)"%s: not a blob in %s branch.", path___6, which);
      const_error();
    }
    return ((struct cache_entry *)((void *)0));
  }
  ce = make_empty_cache_entry(& the_index, (size_t )namelen);
  oidcpy(& ce->oid, (struct object_id  const  *)(& oid));
  memcpy((void *)(ce->name), (void const   *)path___6, (size_t )namelen);
  ce->ce_flags = create_ce_flags((unsigned int )stage);
  ce->ce_namelen = (unsigned int )namelen;
  ce->ce_mode = create_ce_mode((unsigned int )mode___1);
  return (ce);
}
}
static int unresolve_one(char const   *path___6 )
{
  int namelen ;
  size_t tmp ;
  int pos ;
  int ret___67 ;
  struct cache_entry *ce_2 ;
  struct cache_entry *ce_3 ;
  struct cache_entry  const  *ce ;
  int tmp___0 ;
  struct cache_entry  const  *ce___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp = strlen(path___6);
  namelen = (int )tmp;
  ret___67 = 0;
  ce_2 = (struct cache_entry *)((void *)0);
  ce_3 = (struct cache_entry *)((void *)0);
  pos = index_name_pos(& the_index, path___6, namelen);
  if (0 <= pos) {
    pos = unmerge_index_entry_at(& the_index, pos);
    if ((unsigned int )pos < the_index.cache_nr) {
      ce = (struct cache_entry  const  *)*(the_index.cache + pos);
      if ((12288U & ce->ce_flags) >> 12) {
        if (ce->ce_namelen == (unsigned int )namelen) {
          tmp___0 = memcmp((void const   *)(ce->name), (void const   *)path___6, (size_t )namelen);
          if (! tmp___0) {
            return (0);
          }
        }
      }
    }
  } else {
    pos = - pos - 1;
    if ((unsigned int )pos < the_index.cache_nr) {
      ce___0 = (struct cache_entry  const  *)*(the_index.cache + pos);
      if (ce___0->ce_namelen == (unsigned int )namelen) {
        tmp___1 = memcmp((void const   *)(ce___0->name), (void const   *)path___6,
                         (size_t )namelen);
        if (! tmp___1) {
          fprintf(stderr, (char const   *)"%s: skipping still unmerged path.\n", path___6);
          goto free_return;
        }
      }
    }
  }
  ce_2 = read_one_ent((char const   *)"our", & head_oid___0, path___6, namelen, 2);
  ce_3 = read_one_ent((char const   *)"their", & merge_head_oid, path___6, namelen,
                      3);
  if (! ce_2) {
    ret___67 = -1;
    goto free_return;
  } else
  if (! ce_3) {
    ret___67 = -1;
    goto free_return;
  }
  tmp___2 = oideq((struct object_id  const  *)(& ce_2->oid), (struct object_id  const  *)(& ce_3->oid));
  if (tmp___2) {
    if (ce_2->ce_mode == ce_3->ce_mode) {
      fprintf(stderr, (char const   *)"%s: identical in both, skipping.\n", path___6);
      goto free_return;
    }
  }
  remove_file_from_index(& the_index, path___6);
  tmp___3 = add_index_entry(& the_index, ce_2, 1);
  if (tmp___3) {
    error((char const   *)"%s: cannot add our version to the index.", path___6);
    const_error();
    ret___67 = -1;
    goto free_return;
  }
  tmp___4 = add_index_entry(& the_index, ce_3, 1);
  if (! tmp___4) {
    return (0);
  }
  error((char const   *)"%s: cannot add their version to the index.", path___6);
  const_error();
  ret___67 = -1;
  free_return:
  discard_cache_entry(ce_2);
  discard_cache_entry(ce_3);
  return (ret___67);
}
}
static void read_head_pointers(void)
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = read_ref((char const   *)"HEAD", & head_oid___0);
  if (tmp) {
    die((char const   *)"No HEAD -- no initial commit yet?");
  }
  tmp___1 = read_ref((char const   *)"MERGE_HEAD", & merge_head_oid);
  if (tmp___1) {
    fprintf(stderr, (char const   *)"Not in the middle of a merge.\n");
    tmp___0 = trace2_cmd_exit_fl((char const   *)"builtin/update-index.c", 702, 0);
    exit(tmp___0);
  }
  return;
}
}
static int do_unresolve(int ac , char const   **av , char const   *prefix___1 , int prefix_length )
{
  int i ;
  int err___4 ;
  char const   *arg ;
  char *p___0 ;
  char *tmp ;
  int tmp___0 ;

  {
  err___4 = 0;
  read_head_pointers();
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < ac)) {
      goto while_break;
    }
    arg = *(av + i);
    tmp = prefix_path(prefix___1, prefix_length, arg);
    p___0 = tmp;
    tmp___0 = unresolve_one((char const   *)p___0);
    err___4 |= tmp___0;
    free((void *)p___0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (err___4);
}
}
static int do_reupdate(int ac , char const   **av , char const   *prefix___1 )
{
  int pos ;
  int has_head ;
  struct pathspec pathspec___1 ;
  int tmp ;
  struct cache_entry  const  *ce ;
  struct cache_entry *old ;
  int save_nr ;
  char *path___6 ;
  int tmp___0 ;
  int tmp___1 ;

  {
  has_head = 1;
  parse_pathspec(& pathspec___1, 0U, 1U, prefix___1, av + 1);
  tmp = read_ref((char const   *)"HEAD", & head_oid___0);
  if (tmp) {
    has_head = 0;
  }
  redo:
  ensure_full_index(& the_index);
  pos = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )pos < the_index.cache_nr)) {
      goto while_break;
    }
    ce = (struct cache_entry  const  *)*(the_index.cache + pos);
    old = (struct cache_entry *)((void *)0);
    if ((12288U & ce->ce_flags) >> 12) {
      goto __Cont;
    } else {
      tmp___0 = ce_path_match(& the_index, ce, (struct pathspec  const  *)(& pathspec___1),
                              (char *)((void *)0));
      if (! tmp___0) {
        goto __Cont;
      }
    }
    if (has_head) {
      old = read_one_ent((char const   *)((void *)0), & head_oid___0, (char const   *)(ce->name),
                         (int )ce->ce_namelen, 0);
    }
    if (old) {
      if (ce->ce_mode == (unsigned int )old->ce_mode) {
        tmp___1 = oideq((struct object_id  const  *)(& ce->oid), (struct object_id  const  *)(& old->oid));
        if (tmp___1) {
          discard_cache_entry(old);
          goto __Cont;
        }
      }
    }
    save_nr = (int )the_index.cache_nr;
    path___6 = xstrdup((char const   *)(ce->name));
    update_one___0((char const   *)path___6);
    free((void *)path___6);
    discard_cache_entry(old);
    if ((unsigned int )save_nr != the_index.cache_nr) {
      goto redo;
    }
    __Cont: /* CIL Label */
    pos ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_pathspec(& pathspec___1);
  return (0);
}
}
static int refresh___0(struct refresh_params *o , unsigned int flag )
{
  int tmp ;

  {
  setup_work_tree();
  repo_read_index(the_repository);
  tmp = refresh_index(& the_index, o->flags | flag, (struct pathspec  const  *)((void *)0),
                      (char *)((void *)0), (char const   *)((void *)0));
  *(o->has_errors) |= tmp;
  return (0);
}
}
static int refresh_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/update-index.c", 796, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/update-index.c", 797, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp = refresh___0((struct refresh_params *)opt___0->value, 0U);
  return (tmp);
}
}
static int really_refresh_callback(struct option  const  *opt___0 , char const   *arg ,
                                   int unset )
{
  int tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/update-index.c", 804, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/update-index.c", 805, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp = refresh___0((struct refresh_params *)opt___0->value, 1U);
  return (tmp);
}
}
static int chmod_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{
  char *flip ;
  int tmp ;

  {
  flip = (char *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/update-index.c", 813, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  if ((int const   )*(arg + 0) != 45) {
    if ((int const   )*(arg + 0) != 43) {
      error((char const   *)"option \'chmod\' expects \"+x\" or \"-x\"");
      tmp = const_error();
      return (tmp);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if ((int const   )*(arg + 1) != 120) {
    error((char const   *)"option \'chmod\' expects \"+x\" or \"-x\"");
    tmp = const_error();
    return (tmp);
  } else
  if (*(arg + 2)) {
    error((char const   *)"option \'chmod\' expects \"+x\" or \"-x\"");
    tmp = const_error();
    return (tmp);
  }
  *flip = (char )*(arg + 0);
  return (0);
}
}
static int resolve_undo_clear_callback(struct option  const  *opt___0 , char const   *arg ,
                                       int unset )
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/update-index.c", 823, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/update-index.c", 824, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  resolve_undo_clear_index(& the_index);
  return (0);
}
}
static int parse_new_style_cacheinfo(char const   *arg , unsigned int *mode___1 ,
                                     struct object_id *oid , char const   **path___6 )
{
  unsigned long ul ;
  char *endp ;
  char const   *p___0 ;
  int *tmp ;
  int *tmp___0 ;
  int tmp___1 ;

  {
  if (! arg) {
    return (-1);
  }
  tmp = __errno_location();
  *tmp = 0;
  ul = strtoul((char const   * __restrict  )arg, (char ** __restrict  )(& endp), 8);
  tmp___0 = __errno_location();
  if (*tmp___0) {
    return (-1);
  } else
  if ((unsigned long )endp == (unsigned long )arg) {
    return (-1);
  } else
  if ((int )*endp != 44) {
    return (-1);
  } else
  if ((unsigned long )((unsigned int )ul) != ul) {
    return (-1);
  }
  *mode___1 = (unsigned int )ul;
  endp ++;
  tmp___1 = parse_oid_hex((char const   *)endp, oid, & p___0);
  if (tmp___1) {
    return (-1);
  } else
  if ((int const   )*p___0 != 44) {
    return (-1);
  }
  *path___6 = p___0 + 1;
  return (0);
}
}
static enum parse_opt_result cacheinfo_callback(struct parse_opt_ctx_t *ctx___0 ,
                                                struct option  const  *opt___0 , char const   *arg ,
                                                int unset )
{
  struct object_id oid ;
  unsigned int mode___1 ;
  char const   *path___6 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/update-index.c", 861, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/update-index.c", 862, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___0 = parse_new_style_cacheinfo(*(ctx___0->argv + 1), & mode___1, & oid, & path___6);
  if (! tmp___0) {
    tmp = add_cacheinfo___0(mode___1, (struct object_id  const  *)(& oid), path___6,
                            0);
    if (tmp) {
      die((char const   *)"git update-index: --cacheinfo cannot add %s", path___6);
    }
    (ctx___0->argv) ++;
    (ctx___0->argc) --;
    return ((enum parse_opt_result )0);
  }
  if (ctx___0->argc <= 3) {
    error((char const   *)"option \'cacheinfo\' expects <mode>,<sha1>,<path>");
    tmp___1 = const_error();
    return ((enum parse_opt_result )tmp___1);
  }
  (ctx___0->argv) ++;
  tmp___2 = strtoul_ui(*(ctx___0->argv), 8, & mode___1);
  if (tmp___2) {
    die((char const   *)"git update-index: --cacheinfo cannot add %s", *(ctx___0->argv));
  } else {
    (ctx___0->argv) ++;
    tmp___3 = get_oid_hex(*(ctx___0->argv), & oid);
    if (tmp___3) {
      die((char const   *)"git update-index: --cacheinfo cannot add %s", *(ctx___0->argv));
    } else {
      (ctx___0->argv) ++;
      tmp___4 = add_cacheinfo___0(mode___1, (struct object_id  const  *)(& oid), *(ctx___0->argv),
                                  0);
      if (tmp___4) {
        die((char const   *)"git update-index: --cacheinfo cannot add %s", *(ctx___0->argv));
      }
    }
  }
  ctx___0->argc -= 3;
  return ((enum parse_opt_result )0);
}
}
static enum parse_opt_result stdin_cacheinfo_callback(struct parse_opt_ctx_t *ctx___0 ,
                                                      struct option  const  *opt___0 ,
                                                      char const   *arg , int unset )
{
  int *nul_term_line___2 ;
  int tmp ;

  {
  nul_term_line___2 = (int *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/update-index.c", 887, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/update-index.c", 888, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (ctx___0->argc != 1) {
    error((char const   *)"option \'%s\' must be the last argument", opt___0->long_name);
    tmp = const_error();
    return ((enum parse_opt_result )tmp);
  }
  allow_remove = 1;
  allow_replace = allow_remove;
  allow_add = allow_replace;
  read_index_info(*nul_term_line___2);
  return ((enum parse_opt_result )0);
}
}
static enum parse_opt_result stdin_callback(struct parse_opt_ctx_t *ctx___0 , struct option  const  *opt___0 ,
                                            char const   *arg , int unset )
{
  int *read_from_stdin___0 ;
  int tmp ;

  {
  read_from_stdin___0 = (int *)opt___0->value;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/update-index.c", 903, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/update-index.c", 904, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (ctx___0->argc != 1) {
    error((char const   *)"option \'%s\' must be the last argument", opt___0->long_name);
    tmp = const_error();
    return ((enum parse_opt_result )tmp);
  }
  *read_from_stdin___0 = 1;
  return ((enum parse_opt_result )0);
}
}
static enum parse_opt_result unresolve_callback(struct parse_opt_ctx_t *ctx___0 ,
                                                struct option  const  *opt___0 , char const   *arg ,
                                                int unset )
{
  int *has_errors___0 ;
  char const   *prefix___1 ;
  size_t tmp ;
  size_t tmp___0 ;

  {
  has_errors___0 = (int *)opt___0->value;
  prefix___1 = startup_info->prefix;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/update-index.c", 919, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/update-index.c", 920, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (prefix___1) {
    tmp = strlen(prefix___1);
    tmp___0 = tmp;
  } else {
    tmp___0 = (size_t )0;
  }
  *has_errors___0 = do_unresolve(ctx___0->argc, ctx___0->argv, prefix___1, (int )tmp___0);
  if (*has_errors___0) {
    the_index.cache_changed = 0U;
  }
  ctx___0->argv += ctx___0->argc - 1;
  ctx___0->argc = 1;
  return ((enum parse_opt_result )0);
}
}
static enum parse_opt_result reupdate_callback(struct parse_opt_ctx_t *ctx___0 , struct option  const  *opt___0 ,
                                               char const   *arg , int unset )
{
  int *has_errors___0 ;
  char const   *prefix___1 ;

  {
  has_errors___0 = (int *)opt___0->value;
  prefix___1 = startup_info->prefix;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"builtin/update-index.c", 940, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (arg) {
      BUG_fl((char const   *)"builtin/update-index.c", 941, (char const   *)"option callback does not expect an argument");
    }
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  setup_work_tree();
  *has_errors___0 = do_reupdate(ctx___0->argc, ctx___0->argv, prefix___1);
  if (*has_errors___0) {
    the_index.cache_changed = 0U;
  }
  ctx___0->argv += ctx___0->argc - 1;
  ctx___0->argc = 1;
  return ((enum parse_opt_result )0);
}
}
int cmd_update_index(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int newfd ;
  int entries___1 ;
  int has_errors___0 ;
  int nul_term_line___2 ;
  enum uc_mode untracked_cache ;
  int read_from_stdin___0 ;
  int prefix_length ;
  size_t tmp ;
  size_t tmp___0 ;
  int preferred_index_format ;
  char set_executable_bit ;
  struct refresh_params refresh_args ;
  int lock_error ;
  int split_index ;
  int force_write ;
  int fsmonitor ;
  struct lock_file lock_file___0 ;
  struct parse_opt_ctx_t ctx___0 ;
  int (*getline_fn)(struct strbuf * , FILE * ) ;
  int parseopt_state ;
  struct repository *r ;
  struct option options[35] ;
  int tmp___1 ;
  int *tmp___2 ;
  enum parse_opt_result tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const   *path___6 ;
  char *p___0 ;
  struct strbuf buf___19 ;
  struct strbuf unquoted ;
  char *p___1 ;
  int tmp___6 ;
  int tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  char const __attribute__((__format_arg__(1)))  *tmp___10 ;
  int tmp___11 ;
  char const __attribute__((__format_arg__(1)))  *tmp___12 ;
  char const __attribute__((__format_arg__(1)))  *tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  char const __attribute__((__format_arg__(1)))  *tmp___16 ;
  char const   *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  char const __attribute__((__format_arg__(1)))  *tmp___19 ;
  int tmp___20 ;
  char const __attribute__((__format_arg__(1)))  *tmp___21 ;
  char const __attribute__((__format_arg__(1)))  *tmp___22 ;
  int tmp___23 ;
  char const __attribute__((__format_arg__(1)))  *tmp___24 ;
  int tmp___25 ;
  char *tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;

  {
  has_errors___0 = 0;
  nul_term_line___2 = 0;
  untracked_cache = (enum uc_mode )-1;
  read_from_stdin___0 = 0;
  if (prefix___1) {
    tmp = strlen(prefix___1);
    tmp___0 = tmp;
  } else {
    tmp___0 = (size_t )0;
  }
  prefix_length = (int )tmp___0;
  preferred_index_format = 0;
  set_executable_bit = (char)0;
  refresh_args.flags = 0U;
  refresh_args.has_errors = & has_errors___0;
  lock_error = 0;
  split_index = -1;
  force_write = 0;
  fsmonitor = -1;
  lock_file___0.tempfile = (struct tempfile *)0;
  parseopt_state = 2;
  r = the_repository;
  options[0].type = (enum parse_opt_type )4;
  options[0].short_name = 'q';
  options[0].long_name = (char const   *)((void *)0);
  options[0].value = (void *)(& refresh_args.flags);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"continue refresh even when index needs update";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )(1 << 2);
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )4;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"ignore-submodules";
  options[1].value = (void *)(& refresh_args.flags);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"refresh: ignore submodules";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )(1 << 4);
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"add";
  options[2].value = (void *)(& allow_add);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"do not ignore new files";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )1;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"replace";
  options[3].value = (void *)(& allow_replace);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"let files replace directories and vice-versa";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )1;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"remove";
  options[4].value = (void *)(& allow_remove);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"notice files missing from worktree";
  options[4].flags = (enum parse_opt_option_flags )2;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )1;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )4;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)"unmerged";
  options[5].value = (void *)(& refresh_args.flags);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"refresh even if index contains unmerged entries";
  options[5].flags = (enum parse_opt_option_flags )2;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )(1 << 1);
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )12;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)"refresh";
  options[6].value = (void *)(& refresh_args);
  options[6].argh = (char const   *)((void *)0);
  options[6].help = (char const   *)"refresh stat information";
  options[6].flags = (enum parse_opt_option_flags )6;
  options[6].callback = & refresh_callback;
  options[6].defval = 0L;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )12;
  options[7].short_name = 0;
  options[7].long_name = (char const   *)"really-refresh";
  options[7].value = (void *)(& refresh_args);
  options[7].argh = (char const   *)((void *)0);
  options[7].help = (char const   *)"like --refresh, but ignore assume-unchanged setting";
  options[7].flags = (enum parse_opt_option_flags )6;
  options[7].callback = & really_refresh_callback;
  options[7].defval = 0L;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )13;
  options[8].short_name = 0;
  options[8].long_name = (char const   *)"cacheinfo";
  options[8].value = (void *)0;
  options[8].argh = (char const   *)"<mode>,<object>,<path>";
  options[8].help = (char const   *)"add the specified entry to the index";
  options[8].flags = (enum parse_opt_option_flags )70;
  options[8].callback = (parse_opt_cb *)((void *)0);
  options[8].defval = (intptr_t )0;
  options[8].ll_callback = & cacheinfo_callback;
  options[8].extra = 0L;
  options[9].type = (enum parse_opt_type )12;
  options[9].short_name = 0;
  options[9].long_name = (char const   *)"chmod";
  options[9].value = (void *)(& set_executable_bit);
  options[9].argh = (char const   *)"(+|-)x";
  options[9].help = (char const   *)"override the executable bit of the listed files";
  options[9].flags = (enum parse_opt_option_flags )4;
  options[9].callback = & chmod_callback;
  options[9].defval = 0L;
  options[9].ll_callback = (parse_opt_ll_cb *)0;
  options[9].extra = 0L;
  options[10].type = (enum parse_opt_type )8;
  options[10].short_name = 0;
  options[10].long_name = (char const   *)"assume-unchanged";
  options[10].value = (void *)(& mark_valid_only);
  options[10].argh = (char const   *)((void *)0);
  options[10].help = (char const   *)"mark files as \"not changing\"";
  options[10].flags = (enum parse_opt_option_flags )6;
  options[10].callback = (parse_opt_cb *)((void *)0);
  options[10].defval = (intptr_t )1;
  options[10].ll_callback = (parse_opt_ll_cb *)0;
  options[10].extra = 0L;
  options[11].type = (enum parse_opt_type )8;
  options[11].short_name = 0;
  options[11].long_name = (char const   *)"no-assume-unchanged";
  options[11].value = (void *)(& mark_valid_only);
  options[11].argh = (char const   *)((void *)0);
  options[11].help = (char const   *)"clear assumed-unchanged bit";
  options[11].flags = (enum parse_opt_option_flags )6;
  options[11].callback = (parse_opt_cb *)((void *)0);
  options[11].defval = (intptr_t )2;
  options[11].ll_callback = (parse_opt_ll_cb *)0;
  options[11].extra = 0L;
  options[12].type = (enum parse_opt_type )8;
  options[12].short_name = 0;
  options[12].long_name = (char const   *)"skip-worktree";
  options[12].value = (void *)(& mark_skip_worktree_only);
  options[12].argh = (char const   *)((void *)0);
  options[12].help = (char const   *)"mark files as \"index-only\"";
  options[12].flags = (enum parse_opt_option_flags )6;
  options[12].callback = (parse_opt_cb *)((void *)0);
  options[12].defval = (intptr_t )1;
  options[12].ll_callback = (parse_opt_ll_cb *)0;
  options[12].extra = 0L;
  options[13].type = (enum parse_opt_type )8;
  options[13].short_name = 0;
  options[13].long_name = (char const   *)"no-skip-worktree";
  options[13].value = (void *)(& mark_skip_worktree_only);
  options[13].argh = (char const   *)((void *)0);
  options[13].help = (char const   *)"clear skip-worktree bit";
  options[13].flags = (enum parse_opt_option_flags )6;
  options[13].callback = (parse_opt_cb *)((void *)0);
  options[13].defval = (intptr_t )2;
  options[13].ll_callback = (parse_opt_ll_cb *)0;
  options[13].extra = 0L;
  options[14].type = (enum parse_opt_type )8;
  options[14].short_name = 0;
  options[14].long_name = (char const   *)"ignore-skip-worktree-entries";
  options[14].value = (void *)(& ignore_skip_worktree_entries);
  options[14].argh = (char const   *)((void *)0);
  options[14].help = (char const   *)"do not touch index-only entries";
  options[14].flags = (enum parse_opt_option_flags )2;
  options[14].callback = (parse_opt_cb *)((void *)0);
  options[14].defval = (intptr_t )1;
  options[14].ll_callback = (parse_opt_ll_cb *)0;
  options[14].extra = 0L;
  options[15].type = (enum parse_opt_type )8;
  options[15].short_name = 0;
  options[15].long_name = (char const   *)"info-only";
  options[15].value = (void *)(& info_only);
  options[15].argh = (char const   *)((void *)0);
  options[15].help = (char const   *)"add to index only; do not add content to object database";
  options[15].flags = (enum parse_opt_option_flags )2;
  options[15].callback = (parse_opt_cb *)((void *)0);
  options[15].defval = (intptr_t )1;
  options[15].ll_callback = (parse_opt_ll_cb *)0;
  options[15].extra = 0L;
  options[16].type = (enum parse_opt_type )8;
  options[16].short_name = 0;
  options[16].long_name = (char const   *)"force-remove";
  options[16].value = (void *)(& force_remove);
  options[16].argh = (char const   *)((void *)0);
  options[16].help = (char const   *)"remove named paths even if present in worktree";
  options[16].flags = (enum parse_opt_option_flags )2;
  options[16].callback = (parse_opt_cb *)((void *)0);
  options[16].defval = (intptr_t )1;
  options[16].ll_callback = (parse_opt_ll_cb *)0;
  options[16].extra = 0L;
  options[17].type = (enum parse_opt_type )8;
  options[17].short_name = 'z';
  options[17].long_name = (char const   *)((void *)0);
  options[17].value = (void *)(& nul_term_line___2);
  options[17].argh = (char const   *)((void *)0);
  options[17].help = (char const   *)"with --stdin: input lines are terminated by null bytes";
  options[17].flags = (enum parse_opt_option_flags )2;
  options[17].callback = (parse_opt_cb *)((void *)0);
  options[17].defval = (intptr_t )1;
  options[17].ll_callback = (parse_opt_ll_cb *)0;
  options[17].extra = 0L;
  options[18].type = (enum parse_opt_type )13;
  options[18].short_name = 0;
  options[18].long_name = (char const   *)"stdin";
  options[18].value = (void *)(& read_from_stdin___0);
  options[18].argh = (char const   *)((void *)0);
  options[18].help = (char const   *)"read list of paths to be updated from standard input";
  options[18].flags = (enum parse_opt_option_flags )6;
  options[18].callback = (parse_opt_cb *)((void *)0);
  options[18].defval = (intptr_t )0;
  options[18].ll_callback = & stdin_callback;
  options[18].extra = 0L;
  options[19].type = (enum parse_opt_type )13;
  options[19].short_name = 0;
  options[19].long_name = (char const   *)"index-info";
  options[19].value = (void *)(& nul_term_line___2);
  options[19].argh = (char const   *)((void *)0);
  options[19].help = (char const   *)"add entries from standard input to the index";
  options[19].flags = (enum parse_opt_option_flags )6;
  options[19].callback = (parse_opt_cb *)((void *)0);
  options[19].defval = (intptr_t )0;
  options[19].ll_callback = & stdin_cacheinfo_callback;
  options[19].extra = 0L;
  options[20].type = (enum parse_opt_type )13;
  options[20].short_name = 0;
  options[20].long_name = (char const   *)"unresolve";
  options[20].value = (void *)(& has_errors___0);
  options[20].argh = (char const   *)((void *)0);
  options[20].help = (char const   *)"repopulate stages #2 and #3 for the listed paths";
  options[20].flags = (enum parse_opt_option_flags )6;
  options[20].callback = (parse_opt_cb *)((void *)0);
  options[20].defval = (intptr_t )0;
  options[20].ll_callback = & unresolve_callback;
  options[20].extra = 0L;
  options[21].type = (enum parse_opt_type )13;
  options[21].short_name = 'g';
  options[21].long_name = (char const   *)"again";
  options[21].value = (void *)(& has_errors___0);
  options[21].argh = (char const   *)((void *)0);
  options[21].help = (char const   *)"only update entries that differ from HEAD";
  options[21].flags = (enum parse_opt_option_flags )6;
  options[21].callback = (parse_opt_cb *)((void *)0);
  options[21].defval = (intptr_t )0;
  options[21].ll_callback = & reupdate_callback;
  options[21].extra = 0L;
  options[22].type = (enum parse_opt_type )4;
  options[22].short_name = 0;
  options[22].long_name = (char const   *)"ignore-missing";
  options[22].value = (void *)(& refresh_args.flags);
  options[22].argh = (char const   *)((void *)0);
  options[22].help = (char const   *)"ignore files missing from worktree";
  options[22].flags = (enum parse_opt_option_flags )2;
  options[22].callback = (parse_opt_cb *)((void *)0);
  options[22].defval = (intptr_t )(1 << 3);
  options[22].ll_callback = (parse_opt_ll_cb *)0;
  options[22].extra = 0L;
  options[23].type = (enum parse_opt_type )8;
  options[23].short_name = 0;
  options[23].long_name = (char const   *)"verbose";
  options[23].value = (void *)(& verbose___10);
  options[23].argh = (char const   *)((void *)0);
  options[23].help = (char const   *)"report actions to standard output";
  options[23].flags = (enum parse_opt_option_flags )2;
  options[23].callback = (parse_opt_cb *)((void *)0);
  options[23].defval = (intptr_t )1;
  options[23].ll_callback = (parse_opt_ll_cb *)0;
  options[23].extra = 0L;
  options[24].type = (enum parse_opt_type )12;
  options[24].short_name = 0;
  options[24].long_name = (char const   *)"clear-resolve-undo";
  options[24].value = (void *)0;
  options[24].argh = (char const   *)((void *)0);
  options[24].help = (char const   *)"(for porcelains) forget saved unresolved conflicts";
  options[24].flags = (enum parse_opt_option_flags )6;
  options[24].callback = & resolve_undo_clear_callback;
  options[24].defval = 0L;
  options[24].ll_callback = (parse_opt_ll_cb *)0;
  options[24].extra = 0L;
  options[25].type = (enum parse_opt_type )10;
  options[25].short_name = 0;
  options[25].long_name = (char const   *)"index-version";
  options[25].value = (void *)(& preferred_index_format);
  options[25].argh = (char const   *)"n";
  options[25].help = (char const   *)"write index in this format";
  options[25].flags = (enum parse_opt_option_flags )0;
  options[25].callback = (parse_opt_cb *)0;
  options[25].defval = 0L;
  options[25].ll_callback = (parse_opt_ll_cb *)0;
  options[25].extra = 0L;
  options[26].type = (enum parse_opt_type )8;
  options[26].short_name = 0;
  options[26].long_name = (char const   *)"split-index";
  options[26].value = (void *)(& split_index);
  options[26].argh = (char const   *)((void *)0);
  options[26].help = (char const   *)"enable or disable split index";
  options[26].flags = (enum parse_opt_option_flags )2;
  options[26].callback = (parse_opt_cb *)((void *)0);
  options[26].defval = (intptr_t )1;
  options[26].ll_callback = (parse_opt_ll_cb *)0;
  options[26].extra = 0L;
  options[27].type = (enum parse_opt_type )8;
  options[27].short_name = 0;
  options[27].long_name = (char const   *)"untracked-cache";
  options[27].value = (void *)(& untracked_cache);
  options[27].argh = (char const   *)((void *)0);
  options[27].help = (char const   *)"enable/disable untracked cache";
  options[27].flags = (enum parse_opt_option_flags )2;
  options[27].callback = (parse_opt_cb *)((void *)0);
  options[27].defval = (intptr_t )1;
  options[27].ll_callback = (parse_opt_ll_cb *)0;
  options[27].extra = 0L;
  options[28].type = (enum parse_opt_type )8;
  options[28].short_name = 0;
  options[28].long_name = (char const   *)"test-untracked-cache";
  options[28].value = (void *)(& untracked_cache);
  options[28].argh = (char const   *)((void *)0);
  options[28].help = (char const   *)"test if the filesystem supports untracked cache";
  options[28].flags = (enum parse_opt_option_flags )2;
  options[28].callback = (parse_opt_cb *)((void *)0);
  options[28].defval = (intptr_t )2;
  options[28].ll_callback = (parse_opt_ll_cb *)0;
  options[28].extra = 0L;
  options[29].type = (enum parse_opt_type )8;
  options[29].short_name = 0;
  options[29].long_name = (char const   *)"force-untracked-cache";
  options[29].value = (void *)(& untracked_cache);
  options[29].argh = (char const   *)((void *)0);
  options[29].help = (char const   *)"enable untracked cache without testing the filesystem";
  options[29].flags = (enum parse_opt_option_flags )2;
  options[29].callback = (parse_opt_cb *)((void *)0);
  options[29].defval = (intptr_t )3;
  options[29].ll_callback = (parse_opt_ll_cb *)0;
  options[29].extra = 0L;
  options[30].type = (enum parse_opt_type )8;
  options[30].short_name = 0;
  options[30].long_name = (char const   *)"force-write-index";
  options[30].value = (void *)(& force_write);
  options[30].argh = (char const   *)((void *)0);
  options[30].help = (char const   *)"write out the index even if is not flagged as changed";
  options[30].flags = (enum parse_opt_option_flags )2;
  options[30].callback = (parse_opt_cb *)((void *)0);
  options[30].defval = (intptr_t )1;
  options[30].ll_callback = (parse_opt_ll_cb *)0;
  options[30].extra = 0L;
  options[31].type = (enum parse_opt_type )8;
  options[31].short_name = 0;
  options[31].long_name = (char const   *)"fsmonitor";
  options[31].value = (void *)(& fsmonitor);
  options[31].argh = (char const   *)((void *)0);
  options[31].help = (char const   *)"enable or disable file system monitor";
  options[31].flags = (enum parse_opt_option_flags )2;
  options[31].callback = (parse_opt_cb *)((void *)0);
  options[31].defval = (intptr_t )1;
  options[31].ll_callback = (parse_opt_ll_cb *)0;
  options[31].extra = 0L;
  options[32].type = (enum parse_opt_type )8;
  options[32].short_name = 0;
  options[32].long_name = (char const   *)"fsmonitor-valid";
  options[32].value = (void *)(& mark_fsmonitor_only);
  options[32].argh = (char const   *)((void *)0);
  options[32].help = (char const   *)"mark files as fsmonitor valid";
  options[32].flags = (enum parse_opt_option_flags )6;
  options[32].callback = (parse_opt_cb *)((void *)0);
  options[32].defval = (intptr_t )1;
  options[32].ll_callback = (parse_opt_ll_cb *)0;
  options[32].extra = 0L;
  options[33].type = (enum parse_opt_type )8;
  options[33].short_name = 0;
  options[33].long_name = (char const   *)"no-fsmonitor-valid";
  options[33].value = (void *)(& mark_fsmonitor_only);
  options[33].argh = (char const   *)((void *)0);
  options[33].help = (char const   *)"clear fsmonitor valid bit";
  options[33].flags = (enum parse_opt_option_flags )6;
  options[33].callback = (parse_opt_cb *)((void *)0);
  options[33].defval = (intptr_t )2;
  options[33].ll_callback = (parse_opt_ll_cb *)0;
  options[33].extra = 0L;
  options[34].type = (enum parse_opt_type )0;
  options[34].short_name = 0;
  options[34].long_name = (char const   *)0;
  options[34].value = (void *)0;
  options[34].argh = (char const   *)0;
  options[34].help = (char const   *)0;
  options[34].flags = 0U;
  options[34].callback = (parse_opt_cb *)0;
  options[34].defval = 0L;
  options[34].ll_callback = (parse_opt_ll_cb *)0;
  options[34].extra = 0L;
  if (argc == 2) {
    tmp___1 = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp___1) {
      usage_with_options(update_index_usage, (struct option  const  *)(options));
    }
  }
  git_config(& git_default_config, (void *)0);
  newfd = repo_hold_locked_index(the_repository, & lock_file___0, 0);
  if (newfd < 0) {
    tmp___2 = __errno_location();
    lock_error = *tmp___2;
  }
  entries___1 = repo_read_index(the_repository);
  if (entries___1 < 0) {
    die((char const   *)"cache corrupted");
  }
  the_index.updated_skipworktree = 1U;
  parse_options_start(& ctx___0, argc, argv___0, prefix___1, (struct option  const  *)(options),
                      (enum parse_opt_flags )2);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ctx___0.argc) {
      goto while_break;
    }
    if (parseopt_state != 0) {
      tmp___3 = parse_options_step(& ctx___0, (struct option  const  *)(options),
                                   update_index_usage);
      parseopt_state = (int )tmp___3;
    }
    if (! ctx___0.argc) {
      goto while_break;
    }
    {
    if (parseopt_state == -1) {
      goto case_neg_1;
    }
    if (parseopt_state == -2) {
      goto case_neg_1;
    }
    if (parseopt_state == -3) {
      goto case_neg_3;
    }
    if (parseopt_state == 0) {
      goto case_0;
    }
    if (parseopt_state == 1) {
      goto case_0;
    }
    if (parseopt_state == 2) {
      goto case_2;
    }
    goto switch_break;
    case_neg_1: /* CIL Label */
    case_neg_2: /* CIL Label */
    tmp___4 = trace2_cmd_exit_fl((char const   *)"builtin/update-index.c", 1106, 129);
    exit(tmp___4);
    case_neg_3: /* CIL Label */
    tmp___5 = trace2_cmd_exit_fl((char const   *)"builtin/update-index.c", 1108, 0);
    exit(tmp___5);
    case_0: /* CIL Label */
    case_1: /* CIL Label */
    path___6 = *(ctx___0.argv + 0);
    setup_work_tree();
    p___0 = prefix_path(prefix___1, prefix_length, path___6);
    update_one___0((char const   *)p___0);
    if (set_executable_bit) {
      chmod_path(set_executable_bit, (char const   *)p___0);
    }
    free((void *)p___0);
    (ctx___0.argc) --;
    (ctx___0.argv) ++;
    goto switch_break;
    case_2: /* CIL Label */
    if ((int const   )*(*(ctx___0.argv + 0) + 1) == 45) {
      error((char const   *)"unknown option \'%s\'", *(ctx___0.argv + 0) + 2);
      const_error();
    } else {
      error((char const   *)"unknown switch \'%c\'", (int const   )*(ctx___0.opt));
      const_error();
    }
    usage_with_options(update_index_usage, (struct option  const  *)(options));
    switch_break: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  argc = parse_options_end(& ctx___0);
  if (nul_term_line___2) {
    getline_fn = & strbuf_getline_nul;
  } else {
    getline_fn = & strbuf_getline_lf;
  }
  if (preferred_index_format) {
    if (preferred_index_format < 2) {
      die((char const   *)"index-version %d not in range: %d..%d", preferred_index_format,
          2, 4);
    } else
    if (4 < preferred_index_format) {
      die((char const   *)"index-version %d not in range: %d..%d", preferred_index_format,
          2, 4);
    }
    if (the_index.version != (unsigned int )preferred_index_format) {
      the_index.cache_changed |= 1U;
    }
    the_index.version = (unsigned int )preferred_index_format;
  }
  if (read_from_stdin___0) {
    buf___19.alloc = 0UL;
    buf___19.len = 0UL;
    buf___19.buf = strbuf_slopbuf;
    unquoted.alloc = 0UL;
    unquoted.len = 0UL;
    unquoted.buf = strbuf_slopbuf;
    setup_work_tree();
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___7 = (*getline_fn)(& buf___19, stdin);
      if (! (tmp___7 != -1)) {
        goto while_break___0;
      }
      if (! nul_term_line___2) {
        if ((int )*(buf___19.buf + 0) == 34) {
          strbuf_setlen___33(& unquoted, (size_t )0);
          tmp___6 = unquote_c_style(& unquoted, (char const   *)buf___19.buf, (char const   **)((void *)0));
          if (tmp___6) {
            die((char const   *)"line is badly quoted");
          }
          strbuf_swap(& buf___19, & unquoted);
        }
      }
      p___1 = prefix_path(prefix___1, prefix_length, (char const   *)buf___19.buf);
      update_one___0((char const   *)p___1);
      if (set_executable_bit) {
        chmod_path(set_executable_bit, (char const   *)p___1);
      }
      free((void *)p___1);
    }
    while_break___0: /* CIL Label */ ;
    }
    strbuf_release(& unquoted);
    strbuf_release(& buf___19);
  }
  if (split_index > 0) {
    tmp___9 = git_config_get_split_index();
    if (tmp___9 == 0) {
      tmp___8 = _((char const   *)"core.splitIndex is set to false; remove or change it, if you really want to enable split index");
      warning((char const   *)tmp___8);
    }
    if (the_index.split_index) {
      the_index.cache_changed |= (unsigned int )(1 << 6);
    } else {
      add_split_index(& the_index);
    }
  } else
  if (! split_index) {
    tmp___11 = git_config_get_split_index();
    if (tmp___11 == 1) {
      tmp___10 = _((char const   *)"core.splitIndex is set to true; remove or change it, if you really want to disable split index");
      warning((char const   *)tmp___10);
    }
    remove_split_index(& the_index);
  }
  prepare_repo_settings(r);
  {
  if ((int )untracked_cache == -1) {
    goto case_neg_1___0;
  }
  if ((int )untracked_cache == 0) {
    goto case_0___0;
  }
  if ((int )untracked_cache == 2) {
    goto case_2___0;
  }
  if ((int )untracked_cache == 3) {
    goto case_3;
  }
  if ((int )untracked_cache == 1) {
    goto case_3;
  }
  goto switch_default;
  case_neg_1___0: /* CIL Label */
  goto switch_break___0;
  case_0___0: /* CIL Label */
  if ((unsigned int )r->settings.core_untracked_cache == 2U) {
    tmp___12 = _((char const   *)"core.untrackedCache is set to true; remove or change it, if you really want to disable the untracked cache");
    warning((char const   *)tmp___12);
  }
  remove_untracked_cache(& the_index);
  tmp___13 = _((char const   *)"Untracked cache disabled");
  report___2((char const   *)tmp___13);
  goto switch_break___0;
  case_2___0: /* CIL Label */
  setup_work_tree();
  tmp___14 = test_if_untracked_cache_is_supported();
  if (tmp___14) {
    tmp___15 = 0;
  } else {
    tmp___15 = 1;
  }
  return (tmp___15);
  case_3: /* CIL Label */
  case_1___0: /* CIL Label */
  if ((unsigned int )r->settings.core_untracked_cache == 1U) {
    tmp___16 = _((char const   *)"core.untrackedCache is set to false; remove or change it, if you really want to enable the untracked cache");
    warning((char const   *)tmp___16);
  }
  add_untracked_cache(& the_index);
  tmp___17 = get_git_work_tree();
  tmp___18 = _((char const   *)"Untracked cache enabled for \'%s\'");
  report___2((char const   *)tmp___18, tmp___17);
  goto switch_break___0;
  switch_default: /* CIL Label */
  BUG_fl((char const   *)"builtin/update-index.c", 1213, (char const   *)"bad untracked_cache value: %d",
         (int )untracked_cache);
  switch_break___0: /* CIL Label */ ;
  }
  if (fsmonitor > 0) {
    tmp___20 = git_config_get_fsmonitor();
    if (tmp___20 == 0) {
      tmp___19 = _((char const   *)"core.fsmonitor is unset; set it if you really want to enable fsmonitor");
      warning((char const   *)tmp___19);
    }
    add_fsmonitor(& the_index);
    tmp___21 = _((char const   *)"fsmonitor enabled");
    report___2((char const   *)tmp___21);
  } else
  if (! fsmonitor) {
    tmp___23 = git_config_get_fsmonitor();
    if (tmp___23 == 1) {
      tmp___22 = _((char const   *)"core.fsmonitor is set; remove it if you really want to disable fsmonitor");
      warning((char const   *)tmp___22);
    }
    remove_fsmonitor(& the_index);
    tmp___24 = _((char const   *)"fsmonitor disabled");
    report___2((char const   *)tmp___24);
  }
  if (the_index.cache_changed) {
    goto _L;
  } else
  if (force_write) {
    _L: /* CIL Label */
    if (newfd < 0) {
      if (refresh_args.flags & (unsigned int )(1 << 2)) {
        tmp___25 = trace2_cmd_exit_fl((char const   *)"builtin/update-index.c", 1235,
                                      128);
        exit(tmp___25);
      }
      tmp___26 = get_index_file();
      unable_to_lock_die((char const   *)tmp___26, lock_error);
    }
    tmp___27 = write_locked_index(& the_index, & lock_file___0, 1U);
    if (tmp___27) {
      die((char const   *)"Unable to write new index file");
    }
  }
  rollback_lock_file(& lock_file___0);
  if (has_errors___0) {
    tmp___28 = 1;
  } else {
    tmp___28 = 0;
  }
  return (tmp___28);
}
}
static char const   *git_update_ref_usage[4]  = {      (char const   *)"git update-ref [<options>] -d <refname> [<old-val>]",      (char const   *)"git update-ref [<options>]    <refname> <new-val> [<old-val>]",      (char const   *)"git update-ref [<options>] --stdin [-z]",      (char const   *)((void *)0)};
static char line_termination___0  =    (char )'\n';
static unsigned int update_flags  ;
static unsigned int default_flags  ;
static unsigned int create_reflog_flag  ;
static char const   *msg___4  ;
static char const   *parse_arg(char const   *next___2 , struct strbuf *arg )
{
  char const   *orig ;
  int tmp ;
  char const   *tmp___0 ;

  {
  if ((int const   )*next___2 == 34) {
    orig = next___2;
    tmp = unquote_c_style(arg, next___2, & next___2);
    if (tmp) {
      die((char const   *)"badly quoted argument: %s", orig);
    }
    if (*next___2) {
      if (! (((int const   )sane_ctype[(unsigned char )*next___2] & 1) != 0)) {
        die((char const   *)"unexpected character after quoted argument: %s", orig);
      }
    }
  } else {
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (*next___2) {
        if (! (! (((int const   )sane_ctype[(unsigned char )*next___2] & 1) != 0))) {
          goto while_break;
        }
      } else {
        goto while_break;
      }
      tmp___0 = next___2;
      next___2 ++;
      strbuf_addch(arg, (int )*tmp___0);
    }
    while_break: /* CIL Label */ ;
    }
  }
  return (next___2);
}
}
static char *parse_refname(char const   **next___2 )
{
  struct strbuf ref ;
  int tmp ;
  char *tmp___0 ;

  {
  ref.alloc = 0UL;
  ref.len = 0UL;
  ref.buf = strbuf_slopbuf;
  if (line_termination___0) {
    *next___2 = parse_arg(*next___2, & ref);
  } else {
    strbuf_addstr(& ref, *next___2);
    *next___2 += ref.len;
  }
  if (! ref.len) {
    strbuf_release(& ref);
    return ((char *)((void *)0));
  }
  tmp = check_refname_format((char const   *)ref.buf, 1);
  if (tmp) {
    die((char const   *)"invalid ref format: %s", ref.buf);
  }
  tmp___0 = strbuf_detach(& ref, (size_t *)((void *)0));
  return (tmp___0);
}
}
static int parse_next_oid(char const   **next___2 , char const   *end , struct object_id *oid ,
                          char const   *command___0 , char const   *refname , int flags___0 )
{
  struct strbuf arg ;
  int ret___67 ;
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  arg.alloc = 0UL;
  arg.len = 0UL;
  arg.buf = strbuf_slopbuf;
  ret___67 = 0;
  if ((unsigned long )*next___2 == (unsigned long )end) {
    goto eof;
  }
  if (line_termination___0) {
    if (! *(*next___2)) {
      return (1);
    } else
    if ((int const   )*(*next___2) == (int const   )line_termination___0) {
      return (1);
    }
    if ((int const   )*(*next___2) != 32) {
      die((char const   *)"%s %s: expected SP but got: %s", command___0, refname,
          *next___2);
    }
    (*next___2) ++;
    *next___2 = parse_arg(*next___2, & arg);
    if (arg.len) {
      tmp = repo_get_oid(the_repository, (char const   *)arg.buf, oid);
      if (tmp) {
        goto invalid;
      }
    } else {
      oidclr(oid);
    }
  } else {
    if (*(*next___2)) {
      die((char const   *)"%s %s: expected NUL but got: %s", command___0, refname,
          *next___2);
    }
    (*next___2) ++;
    if ((unsigned long )*next___2 == (unsigned long )end) {
      goto eof;
    }
    strbuf_addstr(& arg, *next___2);
    *next___2 += arg.len;
    if (arg.len) {
      tmp___0 = repo_get_oid(the_repository, (char const   *)arg.buf, oid);
      if (tmp___0) {
        goto invalid;
      }
    } else
    if (flags___0 & 0x02) {
      warning((char const   *)"%s %s: missing <newvalue>, treating as zero", command___0,
              refname);
      oidclr(oid);
    } else {
      ret___67 = 1;
    }
  }
  strbuf_release(& arg);
  return (ret___67);
  invalid:
  if (flags___0 & 0x01) {
    tmp___1 = "%s %s: invalid <oldvalue>: %s";
  } else {
    tmp___1 = "%s %s: invalid <newvalue>: %s";
  }
  die((char const   *)tmp___1, command___0, refname, arg.buf);
  eof:
  if (flags___0 & 0x01) {
    tmp___2 = "%s %s: unexpected end of input when reading <oldvalue>";
  } else {
    tmp___2 = "%s %s: unexpected end of input when reading <newvalue>";
  }
  die((char const   *)tmp___2, command___0, refname);
}
}
static void parse_cmd_update(struct ref_transaction *transaction___0 , char const   *next___2 ,
                             char const   *end )
{
  struct strbuf err___4 ;
  char *refname ;
  struct object_id new_oid ;
  struct object_id old_oid ;
  int have_old ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct object_id *tmp___2 ;
  int tmp___3 ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  refname = parse_refname(& next___2);
  if (! refname) {
    die((char const   *)"update: missing <ref>");
  }
  tmp = parse_next_oid(& next___2, end, & new_oid, (char const   *)"update", (char const   *)refname,
                       0x02);
  if (tmp) {
    die((char const   *)"update %s: missing <newvalue>", refname);
  }
  tmp___0 = parse_next_oid(& next___2, end, & old_oid, (char const   *)"update", (char const   *)refname,
                           0x01);
  if (tmp___0) {
    tmp___1 = 0;
  } else {
    tmp___1 = 1;
  }
  have_old = tmp___1;
  if ((int const   )*next___2 != (int const   )line_termination___0) {
    die((char const   *)"update %s: extra input: %s", refname, next___2);
  }
  if (have_old) {
    tmp___2 = & old_oid;
  } else {
    tmp___2 = (struct object_id *)((void *)0);
  }
  tmp___3 = ref_transaction_update(transaction___0, (char const   *)refname, (struct object_id  const  *)(& new_oid),
                                   (struct object_id  const  *)tmp___2, update_flags | create_reflog_flag,
                                   msg___4, & err___4);
  if (tmp___3) {
    die((char const   *)"%s", err___4.buf);
  }
  update_flags = default_flags;
  free((void *)refname);
  strbuf_release(& err___4);
  return;
}
}
static void parse_cmd_create(struct ref_transaction *transaction___0 , char const   *next___2 ,
                             char const   *end )
{
  struct strbuf err___4 ;
  char *refname ;
  struct object_id new_oid ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  refname = parse_refname(& next___2);
  if (! refname) {
    die((char const   *)"create: missing <ref>");
  }
  tmp = parse_next_oid(& next___2, end, & new_oid, (char const   *)"create", (char const   *)refname,
                       0);
  if (tmp) {
    die((char const   *)"create %s: missing <newvalue>", refname);
  }
  tmp___0 = is_null_oid((struct object_id  const  *)(& new_oid));
  if (tmp___0) {
    die((char const   *)"create %s: zero <newvalue>", refname);
  }
  if ((int const   )*next___2 != (int const   )line_termination___0) {
    die((char const   *)"create %s: extra input: %s", refname, next___2);
  }
  tmp___1 = ref_transaction_create(transaction___0, (char const   *)refname, (struct object_id  const  *)(& new_oid),
                                   update_flags | create_reflog_flag, msg___4, & err___4);
  if (tmp___1) {
    die((char const   *)"%s", err___4.buf);
  }
  update_flags = default_flags;
  free((void *)refname);
  strbuf_release(& err___4);
  return;
}
}
static void parse_cmd_delete(struct ref_transaction *transaction___0 , char const   *next___2 ,
                             char const   *end )
{
  struct strbuf err___4 ;
  char *refname ;
  struct object_id old_oid ;
  int have_old ;
  int tmp ;
  int tmp___0 ;
  struct object_id *tmp___1 ;
  int tmp___2 ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  refname = parse_refname(& next___2);
  if (! refname) {
    die((char const   *)"delete: missing <ref>");
  }
  tmp___0 = parse_next_oid(& next___2, end, & old_oid, (char const   *)"delete", (char const   *)refname,
                           0x01);
  if (tmp___0) {
    have_old = 0;
  } else {
    tmp = is_null_oid((struct object_id  const  *)(& old_oid));
    if (tmp) {
      die((char const   *)"delete %s: zero <oldvalue>", refname);
    }
    have_old = 1;
  }
  if ((int const   )*next___2 != (int const   )line_termination___0) {
    die((char const   *)"delete %s: extra input: %s", refname, next___2);
  }
  if (have_old) {
    tmp___1 = & old_oid;
  } else {
    tmp___1 = (struct object_id *)((void *)0);
  }
  tmp___2 = ref_transaction_delete(transaction___0, (char const   *)refname, (struct object_id  const  *)tmp___1,
                                   update_flags, msg___4, & err___4);
  if (tmp___2) {
    die((char const   *)"%s", err___4.buf);
  }
  update_flags = default_flags;
  free((void *)refname);
  strbuf_release(& err___4);
  return;
}
}
static void parse_cmd_verify(struct ref_transaction *transaction___0 , char const   *next___2 ,
                             char const   *end )
{
  struct strbuf err___4 ;
  char *refname ;
  struct object_id old_oid ;
  int tmp ;
  int tmp___0 ;

  {
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  refname = parse_refname(& next___2);
  if (! refname) {
    die((char const   *)"verify: missing <ref>");
  }
  tmp = parse_next_oid(& next___2, end, & old_oid, (char const   *)"verify", (char const   *)refname,
                       0x01);
  if (tmp) {
    oidclr(& old_oid);
  }
  if ((int const   )*next___2 != (int const   )line_termination___0) {
    die((char const   *)"verify %s: extra input: %s", refname, next___2);
  }
  tmp___0 = ref_transaction_verify(transaction___0, (char const   *)refname, (struct object_id  const  *)(& old_oid),
                                   update_flags, & err___4);
  if (tmp___0) {
    die((char const   *)"%s", err___4.buf);
  }
  update_flags = default_flags;
  free((void *)refname);
  strbuf_release(& err___4);
  return;
}
}
static void report_ok(char const   *command___0 )
{


  {
  fprintf(stdout, (char const   *)"%s: ok\n", command___0);
  fflush(stdout);
  return;
}
}
static void parse_cmd_option(struct ref_transaction *transaction___0 , char const   *next___2 ,
                             char const   *end )
{
  char const   *rest ;
  int tmp ;

  {
  tmp = skip_prefix(next___2, (char const   *)"no-deref", & rest);
  if (tmp) {
    if ((int const   )*rest == (int const   )line_termination___0) {
      update_flags |= 1U;
    } else {
      die((char const   *)"option unknown: %s", next___2);
    }
  } else {
    die((char const   *)"option unknown: %s", next___2);
  }
  return;
}
}
static void parse_cmd_start(struct ref_transaction *transaction___0 , char const   *next___2 ,
                            char const   *end )
{


  {
  if ((int const   )*next___2 != (int const   )line_termination___0) {
    die((char const   *)"start: extra input: %s", next___2);
  }
  report_ok((char const   *)"start");
  return;
}
}
static void parse_cmd_prepare(struct ref_transaction *transaction___0 , char const   *next___2 ,
                              char const   *end )
{
  struct strbuf error___0 ;
  int tmp ;

  {
  error___0.alloc = 0UL;
  error___0.len = 0UL;
  error___0.buf = strbuf_slopbuf;
  if ((int const   )*next___2 != (int const   )line_termination___0) {
    die((char const   *)"prepare: extra input: %s", next___2);
  }
  tmp = ref_transaction_prepare(transaction___0, & error___0);
  if (tmp) {
    die((char const   *)"prepare: %s", error___0.buf);
  }
  report_ok((char const   *)"prepare");
  return;
}
}
static void parse_cmd_abort(struct ref_transaction *transaction___0 , char const   *next___2 ,
                            char const   *end )
{
  struct strbuf error___0 ;
  int tmp ;

  {
  error___0.alloc = 0UL;
  error___0.len = 0UL;
  error___0.buf = strbuf_slopbuf;
  if ((int const   )*next___2 != (int const   )line_termination___0) {
    die((char const   *)"abort: extra input: %s", next___2);
  }
  tmp = ref_transaction_abort(transaction___0, & error___0);
  if (tmp) {
    die((char const   *)"abort: %s", error___0.buf);
  }
  report_ok((char const   *)"abort");
  return;
}
}
static void parse_cmd_commit(struct ref_transaction *transaction___0 , char const   *next___2 ,
                             char const   *end )
{
  struct strbuf error___0 ;
  int tmp ;

  {
  error___0.alloc = 0UL;
  error___0.len = 0UL;
  error___0.buf = strbuf_slopbuf;
  if ((int const   )*next___2 != (int const   )line_termination___0) {
    die((char const   *)"commit: extra input: %s", next___2);
  }
  tmp = ref_transaction_commit(transaction___0, & error___0);
  if (tmp) {
    die((char const   *)"commit: %s", error___0.buf);
  }
  report_ok((char const   *)"commit");
  ref_transaction_free(transaction___0);
  return;
}
}
static struct parse_cmd  const  command[9]  =
  {      {(char const   *)"update", & parse_cmd_update, 3U, (enum update_refs_state )0},
        {(char const   *)"create",
      & parse_cmd_create, 2U, (enum update_refs_state )0},
        {(char const   *)"delete", & parse_cmd_delete, 2U, (enum update_refs_state )0},
        {(char const   *)"verify",
      & parse_cmd_verify, 2U, (enum update_refs_state )0},
        {(char const   *)"option", & parse_cmd_option, 1U, (enum update_refs_state )0},
        {(char const   *)"start",
      & parse_cmd_start, 0U, (enum update_refs_state )1},
        {(char const   *)"prepare", & parse_cmd_prepare, 0U, (enum update_refs_state )2},
        {(char const   *)"abort",
      & parse_cmd_abort, 0U, (enum update_refs_state )3},
        {(char const   *)"commit", & parse_cmd_commit, 0U, (enum update_refs_state )3}};
static void update_refs_stdin(void)
{
  struct strbuf input ;
  struct strbuf err___4 ;
  enum update_refs_state state___1 ;
  struct ref_transaction *transaction___0 ;
  int i ;
  int j ;
  struct parse_cmd  const  *cmd ;
  char const   *prefix___1 ;
  char c___0 ;
  int tmp ;
  size_t tmp___0 ;
  int tmp___1 ;
  size_t tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  input.alloc = 0UL;
  input.len = 0UL;
  input.buf = strbuf_slopbuf;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  state___1 = (enum update_refs_state )0;
  transaction___0 = ref_transaction_begin(& err___4);
  if (! transaction___0) {
    die((char const   *)"%s", err___4.buf);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = strbuf_getwholeline(& input, stdin, (int )line_termination___0);
    if (tmp___3) {
      goto while_break;
    }
    cmd = (struct parse_cmd  const  *)((void *)0);
    if ((int )*(input.buf) == (int )line_termination___0) {
      die((char const   *)"empty command in input");
    } else
    if (((int const   )sane_ctype[(unsigned char )*(input.buf)] & 1) != 0) {
      die((char const   *)"whitespace before command: %s", input.buf);
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned long )i < sizeof(command) / sizeof(command[0]) + (sizeof(char [1]) - 1UL))) {
        goto while_break___0;
      }
      prefix___1 = (char const   *)command[i].prefix;
      tmp = starts_with((char const   *)input.buf, prefix___1);
      if (! tmp) {
        goto __Cont;
      }
      if (command[i].args) {
        c___0 = (char )' ';
      } else {
        c___0 = line_termination___0;
      }
      tmp___0 = strlen(prefix___1);
      if ((int )*(input.buf + tmp___0) != (int )c___0) {
        goto __Cont;
      }
      cmd = & command[i];
      goto while_break___0;
      __Cont: /* CIL Label */
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! cmd) {
      die((char const   *)"unknown command: %s", input.buf);
    }
    j = 1;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if ((int )line_termination___0 == 0) {
        if (! ((unsigned int )j < cmd->args)) {
          goto while_break___1;
        }
      } else {
        goto while_break___1;
      }
      tmp___1 = strbuf_appendwholeline(& input, stdin, (int )line_termination___0);
      if (tmp___1) {
        goto while_break___1;
      }
      j ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    {
    if ((unsigned int )state___1 == 1U) {
      goto case_1;
    }
    if ((unsigned int )state___1 == 0U) {
      goto case_1;
    }
    if ((unsigned int )state___1 == 2U) {
      goto case_2;
    }
    if ((unsigned int )state___1 == 3U) {
      goto case_3;
    }
    goto switch_break;
    case_1: /* CIL Label */
    case_0: /* CIL Label */
    if ((unsigned int )state___1 == 1U) {
      if ((unsigned int )cmd->state == 1U) {
        die((char const   *)"cannot restart ongoing transaction");
      }
    }
    if ((unsigned int )cmd->state >= (unsigned int )state___1) {
      state___1 = (enum update_refs_state )cmd->state;
    }
    goto switch_break;
    case_2: /* CIL Label */
    if ((unsigned int )cmd->state != 3U) {
      die((char const   *)"prepared transactions can only be closed");
    }
    state___1 = (enum update_refs_state )cmd->state;
    goto switch_break;
    case_3: /* CIL Label */
    if ((unsigned int )cmd->state != 1U) {
      die((char const   *)"transaction is closed");
    }
    state___1 = (enum update_refs_state )cmd->state;
    transaction___0 = ref_transaction_begin(& err___4);
    if (! transaction___0) {
      die((char const   *)"%s", err___4.buf);
    }
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    tmp___2 = strlen((char const   *)cmd->prefix);
    (*(cmd->fn))(transaction___0, (char const   *)((input.buf + tmp___2) + ! (! cmd->args)),
                 (char const   *)(input.buf + input.len));
  }
  while_break: /* CIL Label */ ;
  }
  {
  if ((unsigned int )state___1 == 0U) {
    goto case_0___0;
  }
  if ((unsigned int )state___1 == 2U) {
    goto case_2___0;
  }
  if ((unsigned int )state___1 == 1U) {
    goto case_2___0;
  }
  if ((unsigned int )state___1 == 3U) {
    goto case_3___0;
  }
  goto switch_break___0;
  case_0___0: /* CIL Label */
  tmp___4 = ref_transaction_commit(transaction___0, & err___4);
  if (tmp___4) {
    die((char const   *)"%s", err___4.buf);
  }
  ref_transaction_free(transaction___0);
  goto switch_break___0;
  case_2___0: /* CIL Label */
  case_1___0: /* CIL Label */
  tmp___5 = ref_transaction_abort(transaction___0, & err___4);
  if (tmp___5) {
    die((char const   *)"%s", err___4.buf);
  }
  goto switch_break___0;
  case_3___0: /* CIL Label */
  goto switch_break___0;
  switch_break___0: /* CIL Label */ ;
  }
  strbuf_release(& err___4);
  strbuf_release(& input);
  return;
}
}
int cmd_update_ref(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char const   *refname ;
  char const   *oldval ;
  struct object_id oid ;
  struct object_id oldoid ;
  int delete ;
  int no_deref ;
  int read_stdin ;
  int end_null ;
  int create_reflog ;
  struct option options[7] ;
  char const   *value ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct object_id *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  struct object_id *tmp___5 ;
  int tmp___6 ;

  {
  delete = 0;
  no_deref = 0;
  read_stdin = 0;
  end_null = 0;
  create_reflog = 0;
  options[0].type = (enum parse_opt_type )9;
  options[0].short_name = 'm';
  options[0].long_name = (char const   *)((void *)0);
  options[0].value = (void *)(& msg___4);
  options[0].argh = (char const   *)"reason";
  options[0].help = (char const   *)"reason of the update";
  options[0].flags = (enum parse_opt_option_flags )0;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 'd';
  options[1].long_name = (char const   *)((void *)0);
  options[1].value = (void *)(& delete);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"delete the reference";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"no-deref";
  options[2].value = (void *)(& no_deref);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"update <refname> not the one it points to";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )1;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 'z';
  options[3].long_name = (char const   *)((void *)0);
  options[3].value = (void *)(& end_null);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"stdin has NUL-terminated arguments";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )1;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"stdin";
  options[4].value = (void *)(& read_stdin);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"read updates from stdin";
  options[4].flags = (enum parse_opt_option_flags )2;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )1;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )8;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)"create-reflog";
  options[5].value = (void *)(& create_reflog);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"create a reflog";
  options[5].flags = (enum parse_opt_option_flags )2;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )1;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )0;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)0;
  options[6].value = (void *)0;
  options[6].argh = (char const   *)0;
  options[6].help = (char const   *)0;
  options[6].flags = 0U;
  options[6].callback = (parse_opt_cb *)0;
  options[6].defval = 0L;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       git_update_ref_usage, (enum parse_opt_flags )0);
  if (msg___4) {
    if (! *msg___4) {
      die((char const   *)"Refusing to perform update with empty message.");
    }
  }
  if (create_reflog) {
    create_reflog_flag = (unsigned int )(1 << 1);
  } else {
    create_reflog_flag = 0U;
  }
  if (no_deref) {
    default_flags = 1U;
    update_flags = default_flags;
  }
  if (read_stdin) {
    if (delete) {
      usage_with_options(git_update_ref_usage, (struct option  const  *)(options));
    } else
    if (argc > 0) {
      usage_with_options(git_update_ref_usage, (struct option  const  *)(options));
    }
    if (end_null) {
      line_termination___0 = (char )'\000';
    }
    update_refs_stdin();
    return (0);
  }
  if (end_null) {
    usage_with_options(git_update_ref_usage, (struct option  const  *)(options));
  }
  if (delete) {
    if (argc < 1) {
      usage_with_options(git_update_ref_usage, (struct option  const  *)(options));
    } else
    if (argc > 2) {
      usage_with_options(git_update_ref_usage, (struct option  const  *)(options));
    }
    refname = *(argv___0 + 0);
    oldval = *(argv___0 + 1);
  } else {
    if (argc < 2) {
      usage_with_options(git_update_ref_usage, (struct option  const  *)(options));
    } else
    if (argc > 3) {
      usage_with_options(git_update_ref_usage, (struct option  const  *)(options));
    }
    refname = *(argv___0 + 0);
    value = *(argv___0 + 1);
    oldval = *(argv___0 + 2);
    tmp = repo_get_oid(the_repository, value, & oid);
    if (tmp) {
      die((char const   *)"%s: not a valid SHA1", value);
    }
  }
  if (oldval) {
    if (! *oldval) {
      oidclr(& oldoid);
    } else {
      tmp___0 = repo_get_oid(the_repository, oldval, & oldoid);
      if (tmp___0) {
        die((char const   *)"%s: not a valid old SHA1", oldval);
      }
    }
  }
  if (delete) {
    if (oldval) {
      tmp___3 = is_null_oid((struct object_id  const  *)(& oldoid));
      if (tmp___3) {
        tmp___2 = (struct object_id *)((void *)0);
      } else {
        tmp___2 = & oldoid;
      }
    } else {
      tmp___2 = (struct object_id *)((void *)0);
    }
    tmp___4 = delete_ref(msg___4, refname, (struct object_id  const  *)tmp___2, default_flags);
    return (tmp___4);
  } else {
    if (oldval) {
      tmp___5 = & oldoid;
    } else {
      tmp___5 = (struct object_id *)((void *)0);
    }
    tmp___6 = update_ref(msg___4, refname, (struct object_id  const  *)(& oid), (struct object_id  const  *)tmp___5,
                         default_flags | create_reflog_flag, (enum action_on_err )1);
    return (tmp___6);
  }
}
}
static char const   *update_server_info_usage[2]  = {      (char const   *)"git update-server-info [--force]",      (char const   *)((void *)0)};
int cmd_update_server_info(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int force___2 ;
  struct option options[2] ;
  int tmp ;
  int tmp___0 ;

  {
  force___2 = 0;
  options[0].type = (enum parse_opt_type )7;
  options[0].short_name = 'f';
  options[0].long_name = (char const   *)"force";
  options[0].value = (void *)(& force___2);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"update the info files from scratch";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )0;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)0;
  options[1].value = (void *)0;
  options[1].argh = (char const   *)0;
  options[1].help = (char const   *)0;
  options[1].flags = 0U;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       update_server_info_usage, (enum parse_opt_flags )0);
  if (argc > 0) {
    usage_with_options(update_server_info_usage, (struct option  const  *)(options));
  }
  tmp = update_server_info(force___2);
  if (tmp) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
static char const   upload_archive_usage[26]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'u',      (char const   )'p',      (char const   )'l',      (char const   )'o',
        (char const   )'a',      (char const   )'d',      (char const   )'-',      (char const   )'a',
        (char const   )'r',      (char const   )'c',      (char const   )'h',      (char const   )'i',
        (char const   )'v',      (char const   )'e',      (char const   )' ',      (char const   )'<',
        (char const   )'r',      (char const   )'e',      (char const   )'p',      (char const   )'o',
        (char const   )'>',      (char const   )'\000'};
static char const   deadchild[45]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'u',      (char const   )'p',      (char const   )'l',      (char const   )'o',
        (char const   )'a',      (char const   )'d',      (char const   )'-',      (char const   )'a',
        (char const   )'r',      (char const   )'c',      (char const   )'h',      (char const   )'i',
        (char const   )'v',      (char const   )'e',      (char const   )':',      (char const   )' ',
        (char const   )'a',      (char const   )'r',      (char const   )'c',      (char const   )'h',
        (char const   )'i',      (char const   )'v',      (char const   )'e',      (char const   )'r',
        (char const   )' ',      (char const   )'d',      (char const   )'i',      (char const   )'e',
        (char const   )'d',      (char const   )' ',      (char const   )'w',      (char const   )'i',
        (char const   )'t',      (char const   )'h',      (char const   )' ',      (char const   )'e',
        (char const   )'r',      (char const   )'r',      (char const   )'o',      (char const   )'r',
        (char const   )'\000'};
int cmd_upload_archive_writer(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct strvec sent_argv ;
  char const   *arg_cmd ;
  int tmp ;
  char const   *tmp___0 ;
  char *buf___19 ;
  char *tmp___1 ;
  int tmp___2 ;
  size_t tmp___3 ;
  int tmp___4 ;

  {
  sent_argv.v = empty_strvec;
  sent_argv.nr = 0UL;
  sent_argv.alloc = 0UL;
  arg_cmd = (char const   *)"argument ";
  if (argc != 2) {
    usage(upload_archive_usage);
  } else {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage(upload_archive_usage);
    }
  }
  tmp___0 = enter_repo(*(argv___0 + 1), 0);
  if (! tmp___0) {
    die((char const   *)"\'%s\' does not appear to be a git repository", *(argv___0 + 1));
  }
  init_archivers();
  strvec_push(& sent_argv, (char const   *)"git-upload-archive");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = packet_read_line(0, (int *)((void *)0));
    buf___19 = tmp___1;
    if (! buf___19) {
      goto while_break;
    }
    if (sent_argv.nr > 64UL) {
      die((char const   *)"Too many options (>%d)", 63);
    }
    tmp___2 = starts_with((char const   *)buf___19, arg_cmd);
    if (! tmp___2) {
      die((char const   *)"\'argument\' token or flush expected");
    }
    tmp___3 = strlen(arg_cmd);
    strvec_push(& sent_argv, (char const   *)(buf___19 + tmp___3));
  }
  while_break: /* CIL Label */ ;
  }
  tmp___4 = write_archive((int )sent_argv.nr, sent_argv.v, prefix___1, the_repository,
                          (char const   *)((void *)0), 1);
  return (tmp___4);
}
}
static void ( /* format attribute */  error_clnt)(char const   *fmt  , ...)
{
  struct strbuf buf___19 ;
  va_list params ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  __builtin_va_start(params, fmt);
  strbuf_vaddf(& buf___19, fmt, params);
  __builtin_va_end(params);
  send_sideband(1, 3, (char const   *)buf___19.buf, (ssize_t )buf___19.len, 65520);
  die((char const   *)"sent error to the client: %s", buf___19.buf);
}
}
static ssize_t process_input(int child_fd , int band )
{
  char buf___19[16384] ;
  ssize_t sz ;
  ssize_t tmp ;
  int *tmp___0 ;
  char *tmp___1 ;
  int *tmp___2 ;
  int *tmp___3 ;

  {
  tmp = read(child_fd, (void *)(buf___19), sizeof(buf___19));
  sz = tmp;
  if (sz < 0L) {
    tmp___2 = __errno_location();
    if (*tmp___2 != 11) {
      tmp___3 = __errno_location();
      if (*tmp___3 != 4) {
        tmp___0 = __errno_location();
        tmp___1 = strerror(*tmp___0);
        error_clnt((char const   *)"read error: %s\n", tmp___1);
      }
    }
    return (sz);
  }
  send_sideband(1, band, (char const   *)(buf___19), sz, 65520);
  return (sz);
}
}
int cmd_upload_archive(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  struct child_process writer___0 ;
  int tmp ;
  int err___4 ;
  int *tmp___0 ;
  char *tmp___1 ;
  int tmp___2 ;
  struct pollfd pfd[2] ;
  int *tmp___3 ;
  int tmp___4 ;
  ssize_t tmp___5 ;
  ssize_t tmp___6 ;
  int tmp___7 ;

  {
  writer___0.args.v = empty_strvec;
  writer___0.args.nr = 0UL;
  writer___0.args.alloc = 0UL;
  writer___0.env_array.v = empty_strvec;
  writer___0.env_array.nr = 0UL;
  writer___0.env_array.alloc = 0UL;
  writer___0.pid = 0;
  writer___0.trace2_child_id = 0;
  writer___0.trace2_child_us_start = 0UL;
  writer___0.trace2_child_class = (char const   *)0;
  writer___0.trace2_hook_name = (char const   *)0;
  writer___0.in = 0;
  writer___0.out = 0;
  writer___0.err = 0;
  writer___0.dir = (char const   *)0;
  writer___0.no_stdin = 0U;
  writer___0.no_stdout = 0U;
  writer___0.no_stderr = 0U;
  writer___0.git_cmd = 0U;
  writer___0.silent_exec_failure = 0U;
  writer___0.use_shell = 0U;
  writer___0.close_object_store = 0U;
  writer___0.stdout_to_stderr = 0U;
  writer___0.clean_on_exit = 0U;
  writer___0.wait_after_clean = 0U;
  writer___0.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  writer___0.clean_on_exit_handler_cbdata = (void *)0;
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage(upload_archive_usage);
    }
  }
  writer___0.err = -1;
  writer___0.out = writer___0.err;
  writer___0.git_cmd = 1U;
  strvec_push(& writer___0.args, (char const   *)"upload-archive--writer");
  strvec_pushv(& writer___0.args, argv___0 + 1);
  tmp___2 = start_command(& writer___0);
  if (tmp___2) {
    tmp___0 = __errno_location();
    err___4 = *tmp___0;
    packet_write_fmt(1, (char const   *)"NACK unable to spawn subprocess\n");
    tmp___1 = strerror(err___4);
    die((char const   *)"upload-archive: %s", tmp___1);
  }
  packet_write_fmt(1, (char const   *)"ACK\n");
  packet_flush(1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    pfd[0].fd = writer___0.out;
    pfd[0].events = (short)1;
    pfd[1].fd = writer___0.err;
    pfd[1].events = (short)1;
    tmp___4 = poll(pfd, (nfds_t )2, -1);
    if (tmp___4 < 0) {
      tmp___3 = __errno_location();
      if (*tmp___3 != 4) {
        error_errno((char const   *)"poll failed resuming");
        const_error();
        sleep(1U);
      }
      goto while_continue;
    }
    if ((int )pfd[1].revents & 0x001) {
      tmp___5 = process_input(pfd[1].fd, 2);
      if (tmp___5) {
        goto while_continue;
      }
    }
    if ((int )pfd[0].revents & 0x001) {
      tmp___6 = process_input(pfd[0].fd, 1);
      if (tmp___6) {
        goto while_continue;
      }
    }
    tmp___7 = finish_command(& writer___0);
    if (tmp___7) {
      error_clnt((char const   *)"%s", deadchild);
    }
    packet_flush(1);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static char const   *upload_pack_usage[2]  = {      (char const   *)"git upload-pack [<options>] <dir>",      (char const   *)((void *)0)};
int cmd_upload_pack(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char const   *dir ;
  int strict___1 ;
  int advertise_refs ;
  int stateless_rpc___0 ;
  int timeout___0 ;
  struct option options[6] ;
  char const   *tmp ;
  enum protocol_version tmp___0 ;

  {
  strict___1 = 0;
  advertise_refs = 0;
  stateless_rpc___0 = 0;
  timeout___0 = 0;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"stateless-rpc";
  options[0].value = (void *)(& stateless_rpc___0);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"quit after a single request/response exchange";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"http-backend-info-refs";
  options[1].value = (void *)(& advertise_refs);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"serve up the info/refs for git-http-backend";
  options[1].flags = (enum parse_opt_option_flags )10;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )3;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"advertise-refs";
  options[2].value = (void *)"http-backend-info-refs";
  options[2].argh = (char const   *)0;
  options[2].help = (char const   *)0;
  options[2].flags = 0U;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"strict";
  options[3].value = (void *)(& strict___1);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"do not try <directory>/.git/ if <directory> is no Git directory";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )1;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )10;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"timeout";
  options[4].value = (void *)(& timeout___0);
  options[4].argh = (char const   *)"n";
  options[4].help = (char const   *)"interrupt transfer after <n> seconds of inactivity";
  options[4].flags = (enum parse_opt_option_flags )0;
  options[4].callback = (parse_opt_cb *)0;
  options[4].defval = 0L;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )0;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)0;
  options[5].value = (void *)0;
  options[5].argh = (char const   *)0;
  options[5].help = (char const   *)0;
  options[5].flags = 0U;
  options[5].callback = (parse_opt_cb *)0;
  options[5].defval = 0L;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  packet_trace_identity((char const   *)"upload-pack");
  read_replace_refs = 0;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       upload_pack_usage, (enum parse_opt_flags )0);
  if (argc != 1) {
    usage_with_options(upload_pack_usage, (struct option  const  *)(options));
  }
  setup_path();
  dir = *(argv___0 + 0);
  tmp = enter_repo(dir, strict___1);
  if (! tmp) {
    die((char const   *)"\'%s\' does not appear to be a git repository", dir);
  }
  tmp___0 = determine_protocol_version_server();
  {
  if ((int )tmp___0 == 2) {
    goto case_2;
  }
  if ((int )tmp___0 == 1) {
    goto case_1;
  }
  if ((int )tmp___0 == 0) {
    goto case_0;
  }
  if ((int )tmp___0 == -1) {
    goto case_neg_1;
  }
  goto switch_break;
  case_2: /* CIL Label */
  if (advertise_refs) {
    protocol_v2_advertise_capabilities();
  } else {
    protocol_v2_serve_loop(stateless_rpc___0);
  }
  goto switch_break;
  case_1: /* CIL Label */
  if (advertise_refs) {
    packet_write_fmt(1, (char const   *)"version 1\n");
  } else
  if (! stateless_rpc___0) {
    packet_write_fmt(1, (char const   *)"version 1\n");
  }
  case_0: /* CIL Label */
  upload_pack((int const   )advertise_refs, (int const   )stateless_rpc___0, (int const   )timeout___0);
  goto switch_break;
  case_neg_1: /* CIL Label */
  BUG_fl((char const   *)"builtin/upload-pack.c", 70, (char const   *)"unknown protocol version");
  switch_break: /* CIL Label */ ;
  }
  return (0);
}
}
static char const   var_usage[26]  =
  {      (char const   )'g',      (char const   )'i',      (char const   )'t',      (char const   )' ',
        (char const   )'v',      (char const   )'a',      (char const   )'r',      (char const   )' ',
        (char const   )'(',      (char const   )'-',      (char const   )'l',      (char const   )' ',
        (char const   )'|',      (char const   )' ',      (char const   )'<',      (char const   )'v',
        (char const   )'a',      (char const   )'r',      (char const   )'i',      (char const   )'a',
        (char const   )'b',      (char const   )'l',      (char const   )'e',      (char const   )'>',
        (char const   )')',      (char const   )'\000'};
static char const   *editor(int flag )
{
  char const   *pgm___0 ;
  char const   *tmp ;

  {
  tmp = git_editor();
  pgm___0 = tmp;
  if (! pgm___0) {
    if (flag & 1) {
      die((char const   *)"Terminal is dumb, but EDITOR unset");
    }
  }
  return (pgm___0);
}
}
static char const   *pager(int flag )
{
  char const   *pgm___0 ;
  char const   *tmp ;

  {
  tmp = git_pager(1);
  pgm___0 = tmp;
  if (! pgm___0) {
    pgm___0 = (char const   *)"cat";
  }
  return (pgm___0);
}
}
static char const   *default_branch(int flag )
{
  char const   *tmp ;

  {
  tmp = git_default_branch_name(1);
  return (tmp);
}
}
static struct git_var git_vars[6]  = {      {(char const   *)"GIT_COMMITTER_IDENT", & git_committer_info},
        {(char const   *)"GIT_AUTHOR_IDENT", & git_author_info},
        {(char const   *)"GIT_EDITOR", & editor},
        {(char const   *)"GIT_PAGER", & pager},
        {(char const   *)"GIT_DEFAULT_BRANCH", & default_branch},
        {(char const   *)"", (char const   *(*)(int  ))((void *)0)}};
static void list_vars(void)
{
  struct git_var *ptr ;
  char const   *val ;

  {
  ptr = git_vars;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ptr->read) {
      goto while_break;
    }
    val = (*(ptr->read))(0);
    if (val) {
      printf((char const   *)"%s=%s\n", ptr->name, val);
    }
    ptr ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static char const   *read_var(char const   *var )
{
  struct git_var *ptr ;
  char const   *val ;
  int tmp ;

  {
  val = (char const   *)((void *)0);
  ptr = git_vars;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ptr->read) {
      goto while_break;
    }
    tmp = strcmp(var, ptr->name);
    if (tmp == 0) {
      val = (*(ptr->read))(1);
      goto while_break;
    }
    ptr ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (val);
}
}
static int show_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;

  {
  if (value) {
    printf((char const   *)"%s=%s\n", var, value);
  } else {
    printf((char const   *)"%s\n", var);
  }
  tmp = git_default_config(var, value, cb);
  return (tmp);
}
}
int cmd_var(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  char const   *val ;
  int tmp ;

  {
  val = (char const   *)((void *)0);
  if (argc != 2) {
    usage(var_usage);
  }
  tmp = strcmp(*(argv___0 + 1), (char const   *)"-l");
  if (tmp == 0) {
    git_config(& show_config, (void *)0);
    list_vars();
    return (0);
  }
  git_config(& git_default_config, (void *)0);
  val = read_var(*(argv___0 + 1));
  if (! val) {
    usage(var_usage);
  }
  printf((char const   *)"%s\n", val);
  return (0);
}
}
static double const   __ac_HASH_UPPER___163  =    (double const   )0.77;
__inline static void kh_resize_oid_set___163(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___163(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___163 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___163 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___163(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___163(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___163(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___163(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___163(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___163(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___163 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___163 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___163(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___163(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___163(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___163(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___163(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___163(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___163 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___163 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___163(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___163(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___163(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___163(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___119(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___119(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___163 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___163 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___119(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___119(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___119(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___119(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *verify_commit_usage[2]  = {      (char const   *)"git verify-commit [-v | --verbose] <commit>...",      (char const   *)((void *)0)};
static int run_gpg_verify___0(struct commit *commit , unsigned int flags___0 )
{
  struct signature_check signature_check ;
  int ret___67 ;

  {
  memset((void *)(& signature_check), 0, sizeof(signature_check));
  ret___67 = check_commit_signature((struct commit  const  *)commit, & signature_check);
  print_signature_buffer((struct signature_check  const  *)(& signature_check), flags___0);
  signature_check_clear(& signature_check);
  return (ret___67);
}
}
static int verify_commit(char const   *name___0 , unsigned int flags___0 )
{
  struct object_id oid ;
  struct object *obj ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  tmp___0 = repo_get_oid(the_repository, name___0, & oid);
  if (tmp___0) {
    error((char const   *)"commit \'%s\' not found.", name___0);
    tmp = const_error();
    return (tmp);
  }
  obj = parse_object(the_repository, (struct object_id  const  *)(& oid));
  if (! obj) {
    error((char const   *)"%s: unable to read file.", name___0);
    tmp___1 = const_error();
    return (tmp___1);
  }
  if (obj->type != 1U) {
    tmp___2 = type_name(obj->type);
    error((char const   *)"%s: cannot verify a non-commit object of type %s.", name___0,
          tmp___2);
    tmp___3 = const_error();
    return (tmp___3);
  }
  tmp___4 = run_gpg_verify___0((struct commit *)obj, flags___0);
  return (tmp___4);
}
}
static int git_verify_commit_config(char const   *var , char const   *value , void *cb )
{
  int status ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = git_gpg_config(var, value, cb);
  status = tmp;
  if (status) {
    return (status);
  }
  tmp___0 = git_default_config(var, value, cb);
  return (tmp___0);
}
}
int cmd_verify_commit(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  int verbose___15 ;
  int had_error ;
  unsigned int flags___0 ;
  struct option verify_commit_options[3] ;
  int tmp ;
  int tmp___0 ;

  {
  i = 1;
  verbose___15 = 0;
  had_error = 0;
  flags___0 = 0U;
  verify_commit_options[0].type = (enum parse_opt_type )((enum parse_opt_type )7);
  verify_commit_options[0].short_name = (int )'v';
  verify_commit_options[0].long_name = (char const   *)((char const   *)"verbose");
  verify_commit_options[0].value = (void *)((void *)(& verbose___15));
  verify_commit_options[0].argh = (char const   *)((char const   *)((void *)0));
  verify_commit_options[0].help = (char const   *)((char const   *)"print commit contents");
  verify_commit_options[0].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  verify_commit_options[0].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  verify_commit_options[0].defval = (intptr_t )0L;
  verify_commit_options[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  verify_commit_options[0].extra = (intptr_t )0L;
  verify_commit_options[1].type = (enum parse_opt_type )((enum parse_opt_type )4);
  verify_commit_options[1].short_name = (int )0;
  verify_commit_options[1].long_name = (char const   *)((char const   *)"raw");
  verify_commit_options[1].value = (void *)((void *)(& flags___0));
  verify_commit_options[1].argh = (char const   *)((char const   *)((void *)0));
  verify_commit_options[1].help = (char const   *)((char const   *)"print raw gpg status output");
  verify_commit_options[1].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  verify_commit_options[1].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  verify_commit_options[1].defval = (intptr_t )((intptr_t )2);
  verify_commit_options[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  verify_commit_options[1].extra = (intptr_t )0L;
  verify_commit_options[2].type = (enum parse_opt_type )((enum parse_opt_type )0);
  verify_commit_options[2].short_name = (int )0;
  verify_commit_options[2].long_name = (char const   *)((char const   *)0);
  verify_commit_options[2].value = (void *)((void *)0);
  verify_commit_options[2].argh = (char const   *)((char const   *)0);
  verify_commit_options[2].help = (char const   *)((char const   *)0);
  verify_commit_options[2].flags = (enum parse_opt_option_flags )0U;
  verify_commit_options[2].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  verify_commit_options[2].defval = (intptr_t )0L;
  verify_commit_options[2].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  verify_commit_options[2].extra = (intptr_t )0L;
  git_config(& git_verify_commit_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(verify_commit_options),
                       verify_commit_usage, (enum parse_opt_flags )4);
  if (argc <= i) {
    usage_with_options(verify_commit_usage, (struct option  const  *)(verify_commit_options));
  }
  if (verbose___15) {
    flags___0 |= 1U;
  }
  signal(13, (void (*)(int  ))1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    tmp = i;
    i ++;
    tmp___0 = verify_commit(*(argv___0 + tmp), flags___0);
    if (tmp___0) {
      had_error = 1;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (had_error);
}
}
static int verify_one_pack(char const   *path___6 , unsigned int flags___0 , char const   *hash_algo )
{
  struct child_process index_pack ;
  struct strvec *argv___0 ;
  struct strbuf arg ;
  int verbose___15 ;
  int stat_only ;
  int err___4 ;
  int tmp ;
  int tmp___0 ;

  {
  index_pack.args.v = empty_strvec;
  index_pack.args.nr = 0UL;
  index_pack.args.alloc = 0UL;
  index_pack.env_array.v = empty_strvec;
  index_pack.env_array.nr = 0UL;
  index_pack.env_array.alloc = 0UL;
  index_pack.pid = 0;
  index_pack.trace2_child_id = 0;
  index_pack.trace2_child_us_start = 0UL;
  index_pack.trace2_child_class = (char const   *)0;
  index_pack.trace2_hook_name = (char const   *)0;
  index_pack.in = 0;
  index_pack.out = 0;
  index_pack.err = 0;
  index_pack.dir = (char const   *)0;
  index_pack.no_stdin = 0U;
  index_pack.no_stdout = 0U;
  index_pack.no_stderr = 0U;
  index_pack.git_cmd = 0U;
  index_pack.silent_exec_failure = 0U;
  index_pack.use_shell = 0U;
  index_pack.close_object_store = 0U;
  index_pack.stdout_to_stderr = 0U;
  index_pack.clean_on_exit = 0U;
  index_pack.wait_after_clean = 0U;
  index_pack.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  index_pack.clean_on_exit_handler_cbdata = (void *)0;
  argv___0 = & index_pack.args;
  arg.alloc = 0UL;
  arg.len = 0UL;
  arg.buf = strbuf_slopbuf;
  verbose___15 = (int )(flags___0 & 1U);
  stat_only = (int )(flags___0 & 2U);
  strvec_push(argv___0, (char const   *)"index-pack");
  if (stat_only) {
    strvec_push(argv___0, (char const   *)"--verify-stat-only");
  } else
  if (verbose___15) {
    strvec_push(argv___0, (char const   *)"--verify-stat");
  } else {
    strvec_push(argv___0, (char const   *)"--verify");
  }
  if (hash_algo) {
    strvec_pushf(argv___0, (char const   *)"--object-format=%s", hash_algo);
  }
  strbuf_addstr(& arg, path___6);
  tmp = strbuf_strip_suffix___33(& arg, (char const   *)".idx");
  if (tmp) {
    strbuf_addstr(& arg, (char const   *)".pack");
  } else {
    tmp___0 = ends_with((char const   *)arg.buf, (char const   *)".pack");
    if (! tmp___0) {
      strbuf_addstr(& arg, (char const   *)".pack");
    }
  }
  strvec_push(argv___0, (char const   *)arg.buf);
  index_pack.git_cmd = 1U;
  err___4 = run_command(& index_pack);
  if (verbose___15) {
    goto _L;
  } else
  if (stat_only) {
    _L: /* CIL Label */
    if (err___4) {
      printf((char const   *)"%s: bad\n", arg.buf);
    } else
    if (! stat_only) {
      printf((char const   *)"%s: ok\n", arg.buf);
    }
  }
  strbuf_release(& arg);
  return (err___4);
}
}
static char const   *verify_pack_usage[2]  = {      (char const   *)"git verify-pack [-v | --verbose] [-s | --stat-only] <pack>...",      (char const   *)((void *)0)};
int cmd_verify_pack(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int err___4 ;
  unsigned int flags___0 ;
  char const   *object_format ;
  int i ;
  struct option verify_pack_options[4] ;
  int tmp ;

  {
  err___4 = 0;
  flags___0 = 0U;
  object_format = (char const   *)((void *)0);
  verify_pack_options[0].type = (enum parse_opt_type )((enum parse_opt_type )4);
  verify_pack_options[0].short_name = (int )'v';
  verify_pack_options[0].long_name = (char const   *)((char const   *)"verbose");
  verify_pack_options[0].value = (void *)((void *)(& flags___0));
  verify_pack_options[0].argh = (char const   *)((char const   *)((void *)0));
  verify_pack_options[0].help = (char const   *)((char const   *)"verbose");
  verify_pack_options[0].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  verify_pack_options[0].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  verify_pack_options[0].defval = (intptr_t )((intptr_t )01);
  verify_pack_options[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  verify_pack_options[0].extra = (intptr_t )0L;
  verify_pack_options[1].type = (enum parse_opt_type )((enum parse_opt_type )4);
  verify_pack_options[1].short_name = (int )'s';
  verify_pack_options[1].long_name = (char const   *)((char const   *)"stat-only");
  verify_pack_options[1].value = (void *)((void *)(& flags___0));
  verify_pack_options[1].argh = (char const   *)((char const   *)((void *)0));
  verify_pack_options[1].help = (char const   *)((char const   *)"show statistics only");
  verify_pack_options[1].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  verify_pack_options[1].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  verify_pack_options[1].defval = (intptr_t )((intptr_t )02);
  verify_pack_options[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  verify_pack_options[1].extra = (intptr_t )0L;
  verify_pack_options[2].type = (enum parse_opt_type )((enum parse_opt_type )9);
  verify_pack_options[2].short_name = (int )0;
  verify_pack_options[2].long_name = (char const   *)((char const   *)"object-format");
  verify_pack_options[2].value = (void *)((void *)(& object_format));
  verify_pack_options[2].argh = (char const   *)((char const   *)"hash");
  verify_pack_options[2].help = (char const   *)((char const   *)"specify the hash algorithm to use");
  verify_pack_options[2].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  verify_pack_options[2].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  verify_pack_options[2].defval = (intptr_t )0L;
  verify_pack_options[2].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  verify_pack_options[2].extra = (intptr_t )0L;
  verify_pack_options[3].type = (enum parse_opt_type )((enum parse_opt_type )0);
  verify_pack_options[3].short_name = (int )0;
  verify_pack_options[3].long_name = (char const   *)((char const   *)0);
  verify_pack_options[3].value = (void *)((void *)0);
  verify_pack_options[3].argh = (char const   *)((char const   *)0);
  verify_pack_options[3].help = (char const   *)((char const   *)0);
  verify_pack_options[3].flags = (enum parse_opt_option_flags )0U;
  verify_pack_options[3].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  verify_pack_options[3].defval = (intptr_t )0L;
  verify_pack_options[3].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  verify_pack_options[3].extra = (intptr_t )0L;
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(verify_pack_options),
                       verify_pack_usage, (enum parse_opt_flags )0);
  if (argc < 1) {
    usage_with_options(verify_pack_usage, (struct option  const  *)(verify_pack_options));
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    tmp = verify_one_pack(*(argv___0 + i), flags___0, object_format);
    if (tmp) {
      err___4 = 1;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (err___4);
}
}
static char const   *verify_tag_usage[2]  = {      (char const   *)"git verify-tag [-v | --verbose] [--format=<format>] <tag>...",      (char const   *)((void *)0)};
static int git_verify_tag_config(char const   *var , char const   *value , void *cb )
{
  int status ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = git_gpg_config(var, value, cb);
  status = tmp;
  if (status) {
    return (status);
  }
  tmp___0 = git_default_config(var, value, cb);
  return (tmp___0);
}
}
int cmd_verify_tag(int argc , char const   **argv___0 , char const   *prefix___1 )
{
  int i ;
  int verbose___15 ;
  int had_error ;
  unsigned int flags___0 ;
  struct ref_format format___0 ;
  struct option verify_tag_options[4] ;
  int tmp ;
  struct object_id oid ;
  char const   *name___0 ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  i = 1;
  verbose___15 = 0;
  had_error = 0;
  flags___0 = 0U;
  format___0.format = (char const   *)0;
  format___0.rest = (char const   *)0;
  format___0.quote_style = 0;
  format___0.use_rest = 0;
  format___0.use_color = -1;
  format___0.need_color_reset_at_eol = 0;
  verify_tag_options[0].type = (enum parse_opt_type )((enum parse_opt_type )7);
  verify_tag_options[0].short_name = (int )'v';
  verify_tag_options[0].long_name = (char const   *)((char const   *)"verbose");
  verify_tag_options[0].value = (void *)((void *)(& verbose___15));
  verify_tag_options[0].argh = (char const   *)((char const   *)((void *)0));
  verify_tag_options[0].help = (char const   *)((char const   *)"print tag contents");
  verify_tag_options[0].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  verify_tag_options[0].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  verify_tag_options[0].defval = (intptr_t )0L;
  verify_tag_options[0].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  verify_tag_options[0].extra = (intptr_t )0L;
  verify_tag_options[1].type = (enum parse_opt_type )((enum parse_opt_type )4);
  verify_tag_options[1].short_name = (int )0;
  verify_tag_options[1].long_name = (char const   *)((char const   *)"raw");
  verify_tag_options[1].value = (void *)((void *)(& flags___0));
  verify_tag_options[1].argh = (char const   *)((char const   *)((void *)0));
  verify_tag_options[1].help = (char const   *)((char const   *)"print raw gpg status output");
  verify_tag_options[1].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )2);
  verify_tag_options[1].callback = (parse_opt_cb *)((parse_opt_cb *)((void *)0));
  verify_tag_options[1].defval = (intptr_t )((intptr_t )2);
  verify_tag_options[1].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  verify_tag_options[1].extra = (intptr_t )0L;
  verify_tag_options[2].type = (enum parse_opt_type )((enum parse_opt_type )9);
  verify_tag_options[2].short_name = (int )0;
  verify_tag_options[2].long_name = (char const   *)((char const   *)"format");
  verify_tag_options[2].value = (void *)((void *)(& format___0.format));
  verify_tag_options[2].argh = (char const   *)((char const   *)"format");
  verify_tag_options[2].help = (char const   *)((char const   *)"format to use for the output");
  verify_tag_options[2].flags = (enum parse_opt_option_flags )((enum parse_opt_option_flags )0);
  verify_tag_options[2].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  verify_tag_options[2].defval = (intptr_t )0L;
  verify_tag_options[2].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  verify_tag_options[2].extra = (intptr_t )0L;
  verify_tag_options[3].type = (enum parse_opt_type )((enum parse_opt_type )0);
  verify_tag_options[3].short_name = (int )0;
  verify_tag_options[3].long_name = (char const   *)((char const   *)0);
  verify_tag_options[3].value = (void *)((void *)0);
  verify_tag_options[3].argh = (char const   *)((char const   *)0);
  verify_tag_options[3].help = (char const   *)((char const   *)0);
  verify_tag_options[3].flags = (enum parse_opt_option_flags )0U;
  verify_tag_options[3].callback = (parse_opt_cb *)((parse_opt_cb *)0);
  verify_tag_options[3].defval = (intptr_t )0L;
  verify_tag_options[3].ll_callback = (parse_opt_ll_cb *)((parse_opt_ll_cb *)0);
  verify_tag_options[3].extra = (intptr_t )0L;
  git_config(& git_verify_tag_config, (void *)0);
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(verify_tag_options),
                       verify_tag_usage, (enum parse_opt_flags )4);
  if (argc <= i) {
    usage_with_options(verify_tag_usage, (struct option  const  *)(verify_tag_options));
  }
  if (verbose___15) {
    flags___0 |= 1U;
  }
  if (format___0.format) {
    tmp = verify_ref_format(& format___0);
    if (tmp) {
      usage_with_options(verify_tag_usage, (struct option  const  *)(verify_tag_options));
    }
    flags___0 |= 4U;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    tmp___0 = i;
    i ++;
    name___0 = *(argv___0 + tmp___0);
    tmp___3 = repo_get_oid(the_repository, name___0, & oid);
    if (tmp___3) {
      error((char const   *)"tag \'%s\' not found.", name___0);
      tmp___1 = const_error();
      if (tmp___1) {
        tmp___2 = 1;
      } else {
        tmp___2 = 0;
      }
      had_error = tmp___2;
      goto while_continue;
    }
    tmp___4 = gpg_verify_tag((struct object_id  const  *)(& oid), name___0, flags___0);
    if (tmp___4) {
      had_error = 1;
      goto while_continue;
    }
    if (format___0.format) {
      pretty_print_ref(name___0, (struct object_id  const  *)(& oid), & format___0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (had_error);
}
}
static char const   *worktree_usage[8]  =
  {      (char const   *)"git worktree add [<options>] <path> [<commit-ish>]",      (char const   *)"git worktree list [<options>]",      (char const   *)"git worktree lock [<options>] <path>",      (char const   *)"git worktree move <worktree> <new-path>",
        (char const   *)"git worktree prune [<options>]",      (char const   *)"git worktree remove [<options>] <worktree>",      (char const   *)"git worktree unlock <path>",      (char const   *)((void *)0)};
static int show_only___2  ;
static int verbose___11  ;
static int guess_remote  ;
static timestamp_t expire___0  ;
static int git_worktree_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = strcmp(var, (char const   *)"worktree.guessremote");
  if (! tmp) {
    guess_remote = git_config_bool(var, value);
    return (0);
  }
  tmp___0 = git_default_config(var, value, cb);
  return (tmp___0);
}
}
static int delete_git_dir(char const   *id )
{
  struct strbuf sb___6 ;
  int ret___67 ;
  char const   *tmp ;
  int *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = git_common_path((char const   *)"worktrees/%s", id);
  strbuf_addstr(& sb___6, tmp);
  ret___67 = remove_dir_recursively(& sb___6, 0);
  if (ret___67 < 0) {
    tmp___0 = __errno_location();
    if (*tmp___0 == 20) {
      ret___67 = unlink((char const   *)sb___6.buf);
    }
  }
  if (ret___67) {
    tmp___1 = _((char const   *)"failed to delete \'%s\'");
    error_errno((char const   *)tmp___1, sb___6.buf);
    const_error();
  }
  strbuf_release(& sb___6);
  return (ret___67);
}
}
static void delete_worktrees_dir_if_empty(void)
{
  char const   *tmp ;

  {
  tmp = git_path((char const   *)"worktrees");
  lstat_cache_aware_rmdir(tmp);
  return;
}
}
static void prune_worktree(char const   *id , char const   *reason )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;

  {
  if (show_only___2) {
    tmp = _((char const   *)"Removing %s/%s: %s");
    fprintf_ln(stderr, (char const   *)tmp, "worktrees", id, reason);
  } else
  if (verbose___11) {
    tmp = _((char const   *)"Removing %s/%s: %s");
    fprintf_ln(stderr, (char const   *)tmp, "worktrees", id, reason);
  }
  if (! show_only___2) {
    delete_git_dir(id);
  }
  return;
}
}
static int prune_cmp(void const   *a , void const   *b___0 )
{
  struct string_list_item  const  *x ;
  struct string_list_item  const  *y ;
  int c___0 ;
  int tmp ;

  {
  x = (struct string_list_item  const  *)a;
  y = (struct string_list_item  const  *)b___0;
  c___0 = fspathcmp((char const   *)x->string, (char const   *)y->string);
  if (c___0) {
    return (c___0);
  }
  if (! x->util) {
    return (-1);
  }
  if (! y->util) {
    return (1);
  }
  tmp = strcmp((char const   *)x->util, (char const   *)y->util);
  return (tmp);
}
}
static void prune_dups(struct string_list *l )
{
  int i ;
  int tmp ;

  {
  sane_qsort((void *)l->items, (size_t )l->nr, sizeof(*(l->items)), & prune_cmp);
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < l->nr)) {
      goto while_break;
    }
    tmp = fspathcmp((char const   *)(l->items + i)->string, (char const   *)(l->items + (i - 1))->string);
    if (! tmp) {
      prune_worktree((char const   *)(l->items + i)->util, (char const   *)"duplicate entry");
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void prune_worktrees___0(void)
{
  struct strbuf reason ;
  struct strbuf main_path ;
  struct string_list kept ;
  DIR *dir ;
  char const   *tmp ;
  DIR *tmp___0 ;
  struct dirent *d ;
  char *path___6 ;
  struct string_list_item *tmp___1 ;
  char *tmp___2 ;
  int tmp___3 ;
  char const   *tmp___4 ;
  char *tmp___5 ;

  {
  reason.alloc = 0UL;
  reason.len = 0UL;
  reason.buf = strbuf_slopbuf;
  main_path.alloc = 0UL;
  main_path.len = 0UL;
  main_path.buf = strbuf_slopbuf;
  kept.items = (struct string_list_item *)0;
  kept.nr = 0U;
  kept.alloc = 0U;
  kept.strdup_strings = 0U;
  kept.cmp = (int (*)(char const   * , char const   * ))0;
  tmp = git_path((char const   *)"worktrees");
  tmp___0 = opendir(tmp);
  dir = tmp___0;
  if (! dir) {
    return;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    d = readdir_skip_dot_and_dotdot(dir);
    if (! ((unsigned long )d != (unsigned long )((void *)0))) {
      goto while_break;
    }
    strbuf_setlen___33(& reason, (size_t )0);
    tmp___3 = should_prune_worktree((char const   *)(d->d_name), & reason, & path___6,
                                    expire___0);
    if (tmp___3) {
      prune_worktree((char const   *)(d->d_name), (char const   *)reason.buf);
    } else
    if (path___6) {
      tmp___1 = string_list_append(& kept, (char const   *)path___6);
      tmp___2 = xstrdup((char const   *)(d->d_name));
      tmp___1->util = (void *)tmp___2;
    }
  }
  while_break: /* CIL Label */ ;
  }
  closedir(dir);
  tmp___4 = get_git_common_dir();
  strbuf_add_absolute_path(& main_path, tmp___4);
  strbuf_strip_suffix___33(& main_path, (char const   *)"/.");
  tmp___5 = strbuf_detach(& main_path, (size_t *)((void *)0));
  string_list_append(& kept, (char const   *)tmp___5);
  prune_dups(& kept);
  string_list_clear(& kept, 1);
  if (! show_only___2) {
    delete_worktrees_dir_if_empty();
  }
  strbuf_release(& reason);
  return;
}
}
static int prune___3(int ac , char const   **av , char const   *prefix___1 )
{
  struct option options[4] ;

  {
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 'n';
  options[0].long_name = (char const   *)"dry-run";
  options[0].value = (void *)(& show_only___2);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"do not remove, show only";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )7;
  options[1].short_name = 'v';
  options[1].long_name = (char const   *)"verbose";
  options[1].value = (void *)(& verbose___11);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"report pruned working trees";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )12;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"expire";
  options[2].value = (void *)(& expire___0);
  options[2].argh = (char const   *)"expiry-date";
  options[2].help = (char const   *)"expire working trees older than <time>";
  options[2].flags = (enum parse_opt_option_flags )0;
  options[2].callback = & parse_opt_expiry_date_cb;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )0;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)0;
  options[3].value = (void *)0;
  options[3].argh = (char const   *)0;
  options[3].help = (char const   *)0;
  options[3].flags = 0U;
  options[3].callback = (parse_opt_cb *)0;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  expire___0 = 18446744073709551615UL;
  ac = parse_options(ac, av, prefix___1, (struct option  const  *)(options), worktree_usage,
                     (enum parse_opt_flags )0);
  if (ac) {
    usage_with_options(worktree_usage, (struct option  const  *)(options));
  }
  prune_worktrees___0();
  return (0);
}
}
static char *junk_work_tree___0  ;
static char *junk_git_dir___0  ;
static int is_junk  ;
static pid_t junk_pid  ;
static void remove_junk___0(void)
{
  struct strbuf sb___6 ;
  __pid_t tmp ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  if (! is_junk) {
    return;
  } else {
    tmp = getpid();
    if (tmp != junk_pid) {
      return;
    }
  }
  if (junk_git_dir___0) {
    strbuf_addstr(& sb___6, (char const   *)junk_git_dir___0);
    remove_dir_recursively(& sb___6, 0);
    strbuf_setlen___33(& sb___6, (size_t )0);
  }
  if (junk_work_tree___0) {
    strbuf_addstr(& sb___6, (char const   *)junk_work_tree___0);
    remove_dir_recursively(& sb___6, 0);
  }
  strbuf_release(& sb___6);
  return;
}
}
static void remove_junk_on_signal___0(int signo )
{


  {
  remove_junk___0();
  sigchain_pop(signo);
  raise(signo);
  return;
}
}
static char const   *worktree_basename(char const   *path___6 , int *olen )
{
  char const   *name___0 ;
  int len___0 ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = strlen(path___6);
  len___0 = (int )tmp;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (len___0) {
      tmp___0 = git_is_dir_sep((int )*(path___6 + (len___0 - 1)));
      if (! tmp___0) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    len___0 --;
  }
  while_break: /* CIL Label */ ;
  }
  name___0 = (path___6 + len___0) - 1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )name___0 > (unsigned long )path___6)) {
      goto while_break___0;
    }
    tmp___1 = git_is_dir_sep((int )*name___0);
    if (tmp___1) {
      name___0 ++;
      goto while_break___0;
    }
    name___0 --;
  }
  while_break___0: /* CIL Label */ ;
  }
  *olen = len___0;
  return (name___0);
}
}
static void check_candidate_path(char const   *path___6 , int force___2 , struct worktree **worktrees ,
                                 char const   *cmd )
{
  struct worktree *wt ;
  int locked ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;

  {
  tmp___0 = file_exists(path___6);
  if (tmp___0) {
    tmp___1 = is_empty_dir(path___6);
    if (! tmp___1) {
      tmp = _((char const   *)"\'%s\' already exists");
      die((char const   *)tmp, path___6);
    }
  }
  wt = find_worktree_by_path(worktrees, path___6);
  if (! wt) {
    return;
  }
  tmp___2 = worktree_lock_reason(wt);
  if (tmp___2) {
    tmp___3 = 1;
  } else {
    tmp___3 = 0;
  }
  locked = tmp___3;
  if (! locked) {
    if (force___2) {
      goto _L;
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  if (locked) {
    if (force___2 > 1) {
      _L: /* CIL Label */
      tmp___5 = delete_git_dir((char const   *)wt->id);
      if (tmp___5) {
        tmp___4 = _((char const   *)"unusable worktree destination \'%s\'");
        die((char const   *)tmp___4, path___6);
      }
      return;
    }
  }
  if (locked) {
    tmp___6 = _((char const   *)"\'%s\' is a missing but locked worktree;\nuse \'%s -f -f\' to override, or \'unlock\' and \'prune\' or \'remove\' to clear");
    die((char const   *)tmp___6, path___6, cmd);
  } else {
    tmp___7 = _((char const   *)"\'%s\' is a missing but already registered worktree;\nuse \'%s -f\' to override, or \'prune\' or \'remove\' to clear");
    die((char const   *)tmp___7, path___6, cmd);
  }
}
}
static int add_worktree(char const   *path___6 , char const   *refname , struct add_opts  const  *opts___1 )
{
  struct strbuf sb_git ;
  struct strbuf sb_repo ;
  struct strbuf sb___6 ;
  struct strbuf realpath___1 ;
  char const   *name___0 ;
  struct child_process cp ;
  struct strvec child_env ;
  unsigned int counter___7 ;
  int len___0 ;
  int ret___67 ;
  struct strbuf symref ;
  struct commit *commit ;
  int is_branch___0 ;
  struct strbuf sb_name ;
  struct worktree **worktrees ;
  int tmp ;
  int tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  enum scld_error tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int *tmp___5 ;
  int tmp___6 ;
  char *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  enum scld_error tmp___10 ;
  char const   *tmp___11 ;
  struct object_id  const  *tmp___12 ;
  char *tmp___13 ;
  char *tmp___14 ;
  struct child_process cp___0 ;
  char const   *hook ;
  char const   *tmp___15 ;
  char const   *env[3] ;
  struct child_process cp___1 ;
  char *tmp___16 ;
  struct object_id  const  *tmp___17 ;
  char *tmp___18 ;
  char const   *tmp___19 ;

  {
  sb_git.alloc = 0UL;
  sb_git.len = 0UL;
  sb_git.buf = strbuf_slopbuf;
  sb_repo.alloc = 0UL;
  sb_repo.len = 0UL;
  sb_repo.buf = strbuf_slopbuf;
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  realpath___1.alloc = 0UL;
  realpath___1.len = 0UL;
  realpath___1.buf = strbuf_slopbuf;
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  child_env.v = empty_strvec;
  child_env.nr = 0UL;
  child_env.alloc = 0UL;
  counter___7 = 0U;
  symref.alloc = 0UL;
  symref.len = 0UL;
  symref.buf = strbuf_slopbuf;
  commit = (struct commit *)((void *)0);
  is_branch___0 = 0;
  sb_name.alloc = 0UL;
  sb_name.len = 0UL;
  sb_name.buf = strbuf_slopbuf;
  worktrees = get_worktrees();
  check_candidate_path(path___6, (int )opts___1->force, worktrees, (char const   *)"add");
  free_worktrees(worktrees);
  worktrees = (struct worktree **)((void *)0);
  if (! opts___1->detach) {
    tmp = strbuf_check_branch_ref(& symref, refname);
    if (! tmp) {
      tmp___0 = ref_exists((char const   *)symref.buf);
      if (tmp___0) {
        is_branch___0 = 1;
        if (! opts___1->force) {
          die_if_checked_out((char const   *)symref.buf, 0);
        }
      }
    }
  }
  commit = lookup_commit_reference_by_name(refname);
  if (! commit) {
    tmp___1 = _((char const   *)"invalid reference: %s");
    die((char const   *)tmp___1, refname);
  }
  name___0 = worktree_basename(path___6, & len___0);
  strbuf_add(& sb___6, (void const   *)name___0, (size_t )((path___6 + len___0) - name___0));
  sanitize_refname_component((char const   *)sb___6.buf, & sb_name);
  if (! sb_name.len) {
    BUG_fl((char const   *)"builtin/worktree.c", 275, (char const   *)"How come \'%s\' becomes empty after sanitization?",
           sb___6.buf);
  }
  strbuf_setlen___33(& sb___6, (size_t )0);
  name___0 = (char const   *)sb_name.buf;
  git_path_buf(& sb_repo, (char const   *)"worktrees/%s", name___0);
  len___0 = (int )sb_repo.len;
  tmp___3 = safe_create_leading_directories_const((char const   *)sb_repo.buf);
  if (tmp___3) {
    tmp___2 = _((char const   *)"could not create leading directories of \'%s\'");
    die_errno((char const   *)tmp___2, sb_repo.buf);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___6 = mkdir((char const   *)sb_repo.buf, (__mode_t )0777);
    if (! tmp___6) {
      goto while_break;
    }
    counter___7 ++;
    tmp___5 = __errno_location();
    if (*tmp___5 != 17) {
      tmp___4 = _((char const   *)"could not create directory of \'%s\'");
      die_errno((char const   *)tmp___4, sb_repo.buf);
    } else
    if (! counter___7) {
      tmp___4 = _((char const   *)"could not create directory of \'%s\'");
      die_errno((char const   *)tmp___4, sb_repo.buf);
    }
    strbuf_setlen___33(& sb_repo, (size_t )len___0);
    strbuf_addf(& sb_repo, (char const   *)"%d", counter___7);
  }
  while_break: /* CIL Label */ ;
  }
  tmp___7 = strrchr((char const   *)sb_repo.buf, '/');
  name___0 = (char const   *)(tmp___7 + 1);
  junk_pid = getpid();
  atexit(& remove_junk___0);
  sigchain_push_common(& remove_junk_on_signal___0);
  junk_git_dir___0 = xstrdup((char const   *)sb_repo.buf);
  is_junk = 1;
  strbuf_addf(& sb___6, (char const   *)"%s/locked", sb_repo.buf);
  if (opts___1->keep_locked) {
    write_file((char const   *)sb___6.buf, (char const   *)"%s", opts___1->keep_locked);
  } else {
    tmp___8 = _((char const   *)"initializing");
    write_file((char const   *)sb___6.buf, (char const   *)tmp___8);
  }
  strbuf_addf(& sb_git, (char const   *)"%s/.git", path___6);
  tmp___10 = safe_create_leading_directories_const((char const   *)sb_git.buf);
  if (tmp___10) {
    tmp___9 = _((char const   *)"could not create leading directories of \'%s\'");
    die_errno((char const   *)tmp___9, sb_git.buf);
  }
  junk_work_tree___0 = xstrdup(path___6);
  strbuf_setlen___33(& sb___6, (size_t )0);
  strbuf_addf(& sb___6, (char const   *)"%s/gitdir", sb_repo.buf);
  strbuf_realpath(& realpath___1, (char const   *)sb_git.buf, 1);
  write_file((char const   *)sb___6.buf, (char const   *)"%s", realpath___1.buf);
  tmp___11 = get_git_common_dir();
  strbuf_realpath(& realpath___1, tmp___11, 1);
  write_file((char const   *)sb_git.buf, (char const   *)"gitdir: %s/worktrees/%s",
             realpath___1.buf, name___0);
  strbuf_setlen___33(& sb___6, (size_t )0);
  strbuf_addf(& sb___6, (char const   *)"%s/HEAD", sb_repo.buf);
  tmp___12 = null_oid();
  tmp___13 = oid_to_hex(tmp___12);
  write_file((char const   *)sb___6.buf, (char const   *)"%s", tmp___13);
  strbuf_setlen___33(& sb___6, (size_t )0);
  strbuf_addf(& sb___6, (char const   *)"%s/commondir", sb_repo.buf);
  write_file((char const   *)sb___6.buf, (char const   *)"../..");
  strvec_pushf(& child_env, (char const   *)"%s=%s", "GIT_DIR", sb_git.buf);
  strvec_pushf(& child_env, (char const   *)"%s=%s", "GIT_WORK_TREE", path___6);
  cp.git_cmd = 1U;
  if (! is_branch___0) {
    tmp___14 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    strvec_pushl(& cp.args, "update-ref", "HEAD", tmp___14, (void *)0);
  } else {
    strvec_pushl(& cp.args, "symbolic-ref", "HEAD", symref.buf, (void *)0);
    if (opts___1->quiet) {
      strvec_push(& cp.args, (char const   *)"--quiet");
    }
  }
  strvec_pushv(& cp.env_array, child_env.v);
  ret___67 = run_command(& cp);
  if (ret___67) {
    goto done;
  }
  if (opts___1->checkout) {
    cp___0.args.v = empty_strvec;
    cp___0.args.nr = 0UL;
    cp___0.args.alloc = 0UL;
    cp___0.env_array.v = empty_strvec;
    cp___0.env_array.nr = 0UL;
    cp___0.env_array.alloc = 0UL;
    cp___0.pid = 0;
    cp___0.trace2_child_id = 0;
    cp___0.trace2_child_us_start = 0UL;
    cp___0.trace2_child_class = (char const   *)0;
    cp___0.trace2_hook_name = (char const   *)0;
    cp___0.in = 0;
    cp___0.out = 0;
    cp___0.err = 0;
    cp___0.dir = (char const   *)0;
    cp___0.no_stdin = 0U;
    cp___0.no_stdout = 0U;
    cp___0.no_stderr = 0U;
    cp___0.git_cmd = 0U;
    cp___0.silent_exec_failure = 0U;
    cp___0.use_shell = 0U;
    cp___0.close_object_store = 0U;
    cp___0.stdout_to_stderr = 0U;
    cp___0.clean_on_exit = 0U;
    cp___0.wait_after_clean = 0U;
    cp___0.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    cp___0.clean_on_exit_handler_cbdata = (void *)0;
    cp___0.git_cmd = 1U;
    strvec_pushl(& cp___0.args, "reset", "--hard", "--no-recurse-submodules", (void *)0);
    if (opts___1->quiet) {
      strvec_push(& cp___0.args, (char const   *)"--quiet");
    }
    strvec_pushv(& cp___0.env_array, child_env.v);
    ret___67 = run_command(& cp___0);
    if (ret___67) {
      goto done;
    }
  }
  is_junk = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)junk_work_tree___0);
    junk_work_tree___0 = (char *)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    free((void *)junk_git_dir___0);
    junk_git_dir___0 = (char *)((void *)0);
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  done:
  if (ret___67) {
    strbuf_setlen___33(& sb___6, (size_t )0);
    strbuf_addf(& sb___6, (char const   *)"%s/locked", sb_repo.buf);
    unlink_or_warn((char const   *)sb___6.buf);
  } else
  if (! opts___1->keep_locked) {
    strbuf_setlen___33(& sb___6, (size_t )0);
    strbuf_addf(& sb___6, (char const   *)"%s/locked", sb_repo.buf);
    unlink_or_warn((char const   *)sb___6.buf);
  }
  if (! ret___67) {
    if (opts___1->checkout) {
      tmp___15 = find_hook((char const   *)"post-checkout");
      hook = tmp___15;
      if (hook) {
        env[0] = (char const   *)"GIT_DIR";
        env[1] = (char const   *)"GIT_WORK_TREE";
        env[2] = (char const   *)((void *)0);
        cp___1.args.v = empty_strvec;
        cp___1.args.nr = 0UL;
        cp___1.args.alloc = 0UL;
        cp___1.env_array.v = empty_strvec;
        cp___1.env_array.nr = 0UL;
        cp___1.env_array.alloc = 0UL;
        cp___1.pid = 0;
        cp___1.trace2_child_id = 0;
        cp___1.trace2_child_us_start = 0UL;
        cp___1.trace2_child_class = (char const   *)0;
        cp___1.trace2_hook_name = (char const   *)0;
        cp___1.in = 0;
        cp___1.out = 0;
        cp___1.err = 0;
        cp___1.dir = (char const   *)0;
        cp___1.no_stdin = 0U;
        cp___1.no_stdout = 0U;
        cp___1.no_stderr = 0U;
        cp___1.git_cmd = 0U;
        cp___1.silent_exec_failure = 0U;
        cp___1.use_shell = 0U;
        cp___1.close_object_store = 0U;
        cp___1.stdout_to_stderr = 0U;
        cp___1.clean_on_exit = 0U;
        cp___1.wait_after_clean = 0U;
        cp___1.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
        cp___1.clean_on_exit_handler_cbdata = (void *)0;
        cp___1.no_stdin = 1U;
        cp___1.stdout_to_stderr = 1U;
        cp___1.dir = path___6;
        strvec_pushv(& cp___1.env_array, env);
        cp___1.trace2_hook_name = (char const   *)"post-checkout";
        tmp___16 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
        tmp___17 = null_oid();
        tmp___18 = oid_to_hex(tmp___17);
        tmp___19 = absolute_path(hook);
        strvec_pushl(& cp___1.args, tmp___19, tmp___18, tmp___16, "1", (void *)0);
        ret___67 = run_command(& cp___1);
      }
    }
  }
  strvec_clear(& child_env);
  strbuf_release(& sb___6);
  strbuf_release(& symref);
  strbuf_release(& sb_repo);
  strbuf_release(& sb_git);
  strbuf_release(& sb_name);
  strbuf_release(& realpath___1);
  return (ret___67);
}
}
static void print_preparing_worktree_line(int detach , char const   *branch___0 ,
                                          char const   *new_branch___0 , int force_new_branch )
{
  struct commit *commit ;
  struct commit *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const   *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  struct strbuf s___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  struct commit *commit___0 ;
  struct commit *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const   *tmp___7 ;
  char const __attribute__((__format_arg__(1)))  *tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;

  {
  if (force_new_branch) {
    tmp = lookup_commit_reference_by_name(new_branch___0);
    commit = tmp;
    if (! commit) {
      tmp___0 = _((char const   *)"Preparing worktree (new branch \'%s\')");
      fprintf_ln(stderr, (char const   *)tmp___0, new_branch___0);
    } else {
      tmp___1 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& commit->object.oid),
                                        default_abbrev);
      tmp___2 = _((char const   *)"Preparing worktree (resetting branch \'%s\'; was at %s)");
      fprintf_ln(stderr, (char const   *)tmp___2, new_branch___0, tmp___1);
    }
  } else
  if (new_branch___0) {
    tmp___3 = _((char const   *)"Preparing worktree (new branch \'%s\')");
    fprintf_ln(stderr, (char const   *)tmp___3, new_branch___0);
  } else {
    s___1.alloc = 0UL;
    s___1.len = 0UL;
    s___1.buf = strbuf_slopbuf;
    if (! detach) {
      tmp___9 = strbuf_check_branch_ref(& s___1, branch___0);
      if (tmp___9) {
        goto _L___0;
      } else {
        tmp___10 = ref_exists((char const   *)s___1.buf);
        if (tmp___10) {
          tmp___4 = _((char const   *)"Preparing worktree (checking out \'%s\')");
          fprintf_ln(stderr, (char const   *)tmp___4, branch___0);
        } else {
          goto _L___0;
        }
      }
    } else {
      _L___0: /* CIL Label */
      _L: /* CIL Label */
      tmp___5 = lookup_commit_reference_by_name(branch___0);
      commit___0 = tmp___5;
      if (! commit___0) {
        tmp___6 = _((char const   *)"invalid reference: %s");
        die((char const   *)tmp___6, branch___0);
      }
      tmp___7 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& commit___0->object.oid),
                                        default_abbrev);
      tmp___8 = _((char const   *)"Preparing worktree (detached HEAD %s)");
      fprintf_ln(stderr, (char const   *)tmp___8, tmp___7);
    }
    strbuf_release(& s___1);
  }
  return;
}
}
static char const   *dwim_branch(char const   *path___6 , char const   **new_branch___0 )
{
  int n ;
  int branch_exists ;
  char const   *s___1 ;
  char const   *tmp ;
  char const   *branchname ;
  char *tmp___0 ;
  struct strbuf ref ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  struct object_id oid ;
  char const   *remote ;
  char const   *tmp___4 ;

  {
  tmp = worktree_basename(path___6, & n);
  s___1 = tmp;
  tmp___0 = xstrndup(s___1, (size_t )n);
  branchname = (char const   *)tmp___0;
  ref.alloc = 0UL;
  ref.len = 0UL;
  ref.buf = strbuf_slopbuf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = strbuf_check_branch_ref(& ref, branchname);
  if (tmp___1) {
    tmp___3 = 0;
  } else {
    tmp___2 = ref_exists((char const   *)ref.buf);
    if (tmp___2) {
      tmp___3 = 1;
    } else {
      tmp___3 = 0;
    }
  }
  branch_exists = tmp___3;
  strbuf_release(& ref);
  if (branch_exists) {
    return (branchname);
  }
  *new_branch___0 = branchname;
  if (guess_remote) {
    tmp___4 = unique_tracking_name(*new_branch___0, & oid, (int *)((void *)0));
    remote = tmp___4;
    return (remote);
  }
  return ((char const   *)((void *)0));
}
}
static int add___1(int ac , char const   **av , char const   *prefix___1 )
{
  struct add_opts opts___1 ;
  char const   *new_branch_force ;
  char *path___6 ;
  char const   *branch___0 ;
  char const   *new_branch___0 ;
  char const   *opt_track ;
  char const   *lock_reason ;
  int keep_locked ;
  struct option options[11] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;
  struct strbuf symref ;
  int tmp___3 ;
  int tmp___4 ;
  char const   *s___1 ;
  char const   *tmp___5 ;
  struct object_id oid ;
  struct commit *commit ;
  char const   *remote ;
  struct child_process cp ;
  int tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;

  {
  new_branch_force = (char const   *)((void *)0);
  new_branch___0 = (char const   *)((void *)0);
  opt_track = (char const   *)((void *)0);
  lock_reason = (char const   *)((void *)0);
  keep_locked = 0;
  options[0].type = (enum parse_opt_type )7;
  options[0].short_name = 'f';
  options[0].long_name = (char const   *)"force";
  options[0].value = (void *)(& opts___1.force);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"checkout <branch> even if already checked out in other worktree";
  options[0].flags = (enum parse_opt_option_flags )514;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )9;
  options[1].short_name = 'b';
  options[1].long_name = (char const   *)((void *)0);
  options[1].value = (void *)(& new_branch___0);
  options[1].argh = (char const   *)"branch";
  options[1].help = (char const   *)"create a new branch";
  options[1].flags = (enum parse_opt_option_flags )0;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )9;
  options[2].short_name = 'B';
  options[2].long_name = (char const   *)((void *)0);
  options[2].value = (void *)(& new_branch_force);
  options[2].argh = (char const   *)"branch";
  options[2].help = (char const   *)"create or reset a branch";
  options[2].flags = (enum parse_opt_option_flags )0;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 'd';
  options[3].long_name = (char const   *)"detach";
  options[3].value = (void *)(& opts___1.detach);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"detach HEAD at named commit";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )1;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"checkout";
  options[4].value = (void *)(& opts___1.checkout);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"populate the new working tree";
  options[4].flags = (enum parse_opt_option_flags )2;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )1;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )8;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)"lock";
  options[5].value = (void *)(& keep_locked);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"keep the new working tree locked";
  options[5].flags = (enum parse_opt_option_flags )2;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )1;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )9;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)"reason";
  options[6].value = (void *)(& lock_reason);
  options[6].argh = (char const   *)"string";
  options[6].help = (char const   *)"reason for locking";
  options[6].flags = (enum parse_opt_option_flags )0;
  options[6].callback = (parse_opt_cb *)0;
  options[6].defval = 0L;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )7;
  options[7].short_name = 'q';
  options[7].long_name = (char const   *)"quiet";
  options[7].value = (void *)(& opts___1.quiet);
  options[7].argh = (char const   *)((void *)0);
  options[7].help = (char const   *)"suppress progress reporting";
  options[7].flags = (enum parse_opt_option_flags )2;
  options[7].callback = (parse_opt_cb *)0;
  options[7].defval = 0L;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )12;
  options[8].short_name = 0;
  options[8].long_name = (char const   *)"track";
  options[8].value = (void *)(& opt_track);
  options[8].argh = (char const   *)((void *)0);
  options[8].help = (char const   *)"set up tracking mode (see git-branch(1))";
  options[8].flags = (enum parse_opt_option_flags )3;
  options[8].callback = & parse_opt_passthru;
  options[8].defval = 0L;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  options[9].type = (enum parse_opt_type )8;
  options[9].short_name = 0;
  options[9].long_name = (char const   *)"guess-remote";
  options[9].value = (void *)(& guess_remote);
  options[9].argh = (char const   *)((void *)0);
  options[9].help = (char const   *)"try to match the new branch name with a remote-tracking branch";
  options[9].flags = (enum parse_opt_option_flags )2;
  options[9].callback = (parse_opt_cb *)((void *)0);
  options[9].defval = (intptr_t )1;
  options[9].ll_callback = (parse_opt_ll_cb *)0;
  options[9].extra = 0L;
  options[10].type = (enum parse_opt_type )0;
  options[10].short_name = 0;
  options[10].long_name = (char const   *)0;
  options[10].value = (void *)0;
  options[10].argh = (char const   *)0;
  options[10].help = (char const   *)0;
  options[10].flags = 0U;
  options[10].callback = (parse_opt_cb *)0;
  options[10].defval = 0L;
  options[10].ll_callback = (parse_opt_ll_cb *)0;
  options[10].extra = 0L;
  memset((void *)(& opts___1), 0, sizeof(opts___1));
  opts___1.checkout = 1;
  ac = parse_options(ac, av, prefix___1, (struct option  const  *)(options), worktree_usage,
                     (enum parse_opt_flags )0);
  if ((! (! opts___1.detach) + ! (! new_branch___0)) + ! (! new_branch_force) > 1) {
    tmp = _((char const   *)"options \'%s\', \'%s\', and \'%s\' cannot be used together");
    die((char const   *)tmp, "-b", "-B", "--detach");
  }
  if (lock_reason) {
    if (! keep_locked) {
      tmp___0 = _((char const   *)"the option \'%s\' requires \'%s\'");
      die((char const   *)tmp___0, "--reason", "--lock");
    }
  }
  if (lock_reason) {
    opts___1.keep_locked = lock_reason;
  } else
  if (keep_locked) {
    tmp___1 = _((char const   *)"added with --lock");
    opts___1.keep_locked = (char const   *)tmp___1;
  }
  if (ac < 1) {
    usage_with_options(worktree_usage, (struct option  const  *)(options));
  } else
  if (ac > 2) {
    usage_with_options(worktree_usage, (struct option  const  *)(options));
  }
  path___6 = prefix_filename(prefix___1, *(av + 0));
  if (ac < 2) {
    branch___0 = (char const   *)"HEAD";
  } else {
    branch___0 = *(av + 1);
  }
  tmp___2 = strcmp(branch___0, (char const   *)"-");
  if (! tmp___2) {
    branch___0 = (char const   *)"@{-1}";
  }
  if (new_branch_force) {
    symref.alloc = 0UL;
    symref.len = 0UL;
    symref.buf = strbuf_slopbuf;
    new_branch___0 = new_branch_force;
    if (! opts___1.force) {
      tmp___3 = strbuf_check_branch_ref(& symref, new_branch___0);
      if (! tmp___3) {
        tmp___4 = ref_exists((char const   *)symref.buf);
        if (tmp___4) {
          die_if_checked_out((char const   *)symref.buf, 0);
        }
      }
    }
    strbuf_release(& symref);
  }
  if (ac < 2) {
    if (! new_branch___0) {
      if (! opts___1.detach) {
        tmp___5 = dwim_branch((char const   *)path___6, & new_branch___0);
        s___1 = tmp___5;
        if (s___1) {
          branch___0 = s___1;
        }
      }
    }
  }
  if (ac == 2) {
    if (! new_branch___0) {
      if (! opts___1.detach) {
        commit = lookup_commit_reference_by_name(branch___0);
        if (! commit) {
          remote = unique_tracking_name(branch___0, & oid, (int *)((void *)0));
          if (remote) {
            new_branch___0 = branch___0;
            branch___0 = remote;
          }
        }
      }
    }
  }
  if (! opts___1.quiet) {
    print_preparing_worktree_line(opts___1.detach, branch___0, new_branch___0, ! (! new_branch_force));
  }
  if (new_branch___0) {
    cp.args.v = empty_strvec;
    cp.args.nr = 0UL;
    cp.args.alloc = 0UL;
    cp.env_array.v = empty_strvec;
    cp.env_array.nr = 0UL;
    cp.env_array.alloc = 0UL;
    cp.pid = 0;
    cp.trace2_child_id = 0;
    cp.trace2_child_us_start = 0UL;
    cp.trace2_child_class = (char const   *)0;
    cp.trace2_hook_name = (char const   *)0;
    cp.in = 0;
    cp.out = 0;
    cp.err = 0;
    cp.dir = (char const   *)0;
    cp.no_stdin = 0U;
    cp.no_stdout = 0U;
    cp.no_stderr = 0U;
    cp.git_cmd = 0U;
    cp.silent_exec_failure = 0U;
    cp.use_shell = 0U;
    cp.close_object_store = 0U;
    cp.stdout_to_stderr = 0U;
    cp.clean_on_exit = 0U;
    cp.wait_after_clean = 0U;
    cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    cp.clean_on_exit_handler_cbdata = (void *)0;
    cp.git_cmd = 1U;
    strvec_push(& cp.args, (char const   *)"branch");
    if (new_branch_force) {
      strvec_push(& cp.args, (char const   *)"--force");
    }
    if (opts___1.quiet) {
      strvec_push(& cp.args, (char const   *)"--quiet");
    }
    strvec_push(& cp.args, new_branch___0);
    strvec_push(& cp.args, branch___0);
    if (opt_track) {
      strvec_push(& cp.args, opt_track);
    }
    tmp___6 = run_command(& cp);
    if (tmp___6) {
      return (-1);
    }
    branch___0 = new_branch___0;
  } else
  if (opt_track) {
    tmp___7 = _((char const   *)"--[no-]track can only be used if a new branch is created");
    die((char const   *)tmp___7);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  tmp___8 = add_worktree((char const   *)path___6, branch___0, (struct add_opts  const  *)(& opts___1));
  return (tmp___8);
}
}
static void show_worktree_porcelain(struct worktree *wt )
{
  char const   *reason ;
  char *tmp ;
  struct strbuf sb___6 ;

  {
  printf((char const   *)"worktree %s\n", wt->path);
  if (wt->is_bare) {
    printf((char const   *)"bare\n");
  } else {
    tmp = oid_to_hex((struct object_id  const  *)(& wt->head_oid));
    printf((char const   *)"HEAD %s\n", tmp);
    if (wt->is_detached) {
      printf((char const   *)"detached\n");
    } else
    if (wt->head_ref) {
      printf((char const   *)"branch %s\n", wt->head_ref);
    }
  }
  reason = worktree_lock_reason(wt);
  if (reason) {
    if (*reason) {
      sb___6.alloc = 0UL;
      sb___6.len = 0UL;
      sb___6.buf = strbuf_slopbuf;
      quote_c_style(reason, & sb___6, (FILE *)((void *)0), 0U);
      printf((char const   *)"locked %s\n", sb___6.buf);
      strbuf_release(& sb___6);
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (reason) {
    printf((char const   *)"locked\n");
  }
  reason = worktree_prune_reason(wt, expire___0);
  if (reason) {
    printf((char const   *)"prunable %s\n", reason);
  }
  printf((char const   *)"\n");
  return;
}
}
static void show_worktree(struct worktree *wt , int path_maxlen , int abbrev_len )
{
  struct strbuf sb___6 ;
  int cur_path_len ;
  size_t tmp ;
  int path_adj ;
  int tmp___0 ;
  char const   *reason ;
  char const   *tmp___1 ;
  char *ref ;
  char *tmp___2 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = strlen((char const   *)wt->path);
  cur_path_len = (int )tmp;
  tmp___0 = utf8_strwidth((char const   *)wt->path);
  path_adj = cur_path_len - tmp___0;
  strbuf_addf(& sb___6, (char const   *)"%-*s ", (1 + path_maxlen) + path_adj, wt->path);
  if (wt->is_bare) {
    strbuf_addstr(& sb___6, (char const   *)"(bare)");
  } else {
    tmp___1 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& wt->head_oid),
                                      default_abbrev);
    strbuf_addf(& sb___6, (char const   *)"%-*s ", abbrev_len, tmp___1);
    if (wt->is_detached) {
      strbuf_addstr(& sb___6, (char const   *)"(detached HEAD)");
    } else
    if (wt->head_ref) {
      tmp___2 = shorten_unambiguous_ref((char const   *)wt->head_ref, 0);
      ref = tmp___2;
      strbuf_addf(& sb___6, (char const   *)"[%s]", ref);
      free((void *)ref);
    } else {
      strbuf_addstr(& sb___6, (char const   *)"(error)");
    }
  }
  reason = worktree_lock_reason(wt);
  if (verbose___11) {
    if (reason) {
      if (*reason) {
        strbuf_addf(& sb___6, (char const   *)"\n\tlocked: %s", reason);
      } else {
        goto _L___0;
      }
    } else {
      goto _L___0;
    }
  } else
  _L___0: /* CIL Label */
  _L: /* CIL Label */
  if (reason) {
    strbuf_addstr(& sb___6, (char const   *)" locked");
  }
  reason = worktree_prune_reason(wt, expire___0);
  if (verbose___11) {
    if (reason) {
      strbuf_addf(& sb___6, (char const   *)"\n\tprunable: %s", reason);
    } else {
      goto _L___1;
    }
  } else
  _L___1: /* CIL Label */
  if (reason) {
    strbuf_addstr(& sb___6, (char const   *)" prunable");
  }
  printf((char const   *)"%s\n", sb___6.buf);
  strbuf_release(& sb___6);
  return;
}
}
static void measure_widths(struct worktree **wt , int *abbrev___6 , int *maxlen )
{
  int i ;
  int sha1_len ;
  int path_len ;
  size_t tmp ;
  char const   *tmp___0 ;
  size_t tmp___1 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *(wt + i)) {
      goto while_break;
    }
    tmp = strlen((char const   *)(*(wt + i))->path);
    path_len = (int )tmp;
    if (path_len > *maxlen) {
      *maxlen = path_len;
    }
    tmp___0 = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& (*(wt + i))->head_oid),
                                      *abbrev___6);
    tmp___1 = strlen(tmp___0);
    sha1_len = (int )tmp___1;
    if (sha1_len > *abbrev___6) {
      *abbrev___6 = sha1_len;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int pathcmp(void const   *a_ , void const   *b_ )
{
  struct worktree  const  **a ;
  struct worktree  const  **b___0 ;
  int tmp ;

  {
  a = (struct worktree  const  **)a_;
  b___0 = (struct worktree  const  **)b_;
  tmp = fspathcmp((char const   *)(*a)->path, (char const   *)(*b___0)->path);
  return (tmp);
}
}
static void pathsort(struct worktree **wt )
{
  int n ;
  struct worktree **p___0 ;
  struct worktree **tmp ;

  {
  n = 0;
  p___0 = wt;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = p___0;
    p___0 ++;
    if (! *tmp) {
      goto while_break;
    }
    n ++;
  }
  while_break: /* CIL Label */ ;
  }
  sane_qsort((void *)wt, (size_t )n, sizeof(*wt), & pathcmp);
  return;
}
}
static int list___2(int ac , char const   **av , char const   *prefix___1 )
{
  int porcelain ;
  struct option options[4] ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  struct worktree **worktrees ;
  struct worktree **tmp___0 ;
  int path_maxlen ;
  int abbrev___6 ;
  int i ;

  {
  porcelain = 0;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"porcelain";
  options[0].value = (void *)(& porcelain);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"machine-readable output";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )7;
  options[1].short_name = 'v';
  options[1].long_name = (char const   *)"verbose";
  options[1].value = (void *)(& verbose___11);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"show extended annotations and reasons, if available";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )12;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"expire";
  options[2].value = (void *)(& expire___0);
  options[2].argh = (char const   *)"expiry-date";
  options[2].help = (char const   *)"add \'prunable\' annotation to worktrees older than <time>";
  options[2].flags = (enum parse_opt_option_flags )0;
  options[2].callback = & parse_opt_expiry_date_cb;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )0;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)0;
  options[3].value = (void *)0;
  options[3].argh = (char const   *)0;
  options[3].help = (char const   *)0;
  options[3].flags = 0U;
  options[3].callback = (parse_opt_cb *)0;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  expire___0 = 18446744073709551615UL;
  ac = parse_options(ac, av, prefix___1, (struct option  const  *)(options), worktree_usage,
                     (enum parse_opt_flags )0);
  if (ac) {
    usage_with_options(worktree_usage, (struct option  const  *)(options));
  } else
  if (verbose___11) {
    if (porcelain) {
      tmp = _((char const   *)"options \'%s\' and \'%s\' cannot be used together");
      die((char const   *)tmp, "--verbose", "--porcelain");
    } else {
      goto _L;
    }
  } else {
    _L: /* CIL Label */
    tmp___0 = get_worktrees();
    worktrees = tmp___0;
    path_maxlen = 0;
    abbrev___6 = default_abbrev;
    pathsort(worktrees + 1);
    if (! porcelain) {
      measure_widths(worktrees, & abbrev___6, & path_maxlen);
    }
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! *(worktrees + i)) {
        goto while_break;
      }
      if (porcelain) {
        show_worktree_porcelain(*(worktrees + i));
      } else {
        show_worktree(*(worktrees + i), path_maxlen, abbrev___6);
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    free_worktrees(worktrees);
  }
  return (0);
}
}
static int lock_worktree(int ac , char const   **av , char const   *prefix___1 )
{
  char const   *reason ;
  char const   *old_reason ;
  struct option options[2] ;
  struct worktree **worktrees ;
  struct worktree *wt ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const   *tmp___4 ;

  {
  reason = (char const   *)"";
  options[0].type = (enum parse_opt_type )9;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"reason";
  options[0].value = (void *)(& reason);
  options[0].argh = (char const   *)"string";
  options[0].help = (char const   *)"reason for locking";
  options[0].flags = (enum parse_opt_option_flags )0;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )0;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)0;
  options[1].value = (void *)0;
  options[1].argh = (char const   *)0;
  options[1].help = (char const   *)0;
  options[1].flags = 0U;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  ac = parse_options(ac, av, prefix___1, (struct option  const  *)(options), worktree_usage,
                     (enum parse_opt_flags )0);
  if (ac != 1) {
    usage_with_options(worktree_usage, (struct option  const  *)(options));
  }
  worktrees = get_worktrees();
  wt = find_worktree(worktrees, prefix___1, *(av + 0));
  if (! wt) {
    tmp = _((char const   *)"\'%s\' is not a working tree");
    die((char const   *)tmp, *(av + 0));
  }
  tmp___1 = is_main_worktree((struct worktree  const  *)wt);
  if (tmp___1) {
    tmp___0 = _((char const   *)"The main working tree cannot be locked or unlocked");
    die((char const   *)tmp___0);
  }
  old_reason = worktree_lock_reason(wt);
  if (old_reason) {
    if (*old_reason) {
      tmp___2 = _((char const   *)"\'%s\' is already locked, reason: %s");
      die((char const   *)tmp___2, *(av + 0), old_reason);
    }
    tmp___3 = _((char const   *)"\'%s\' is already locked");
    die((char const   *)tmp___3, *(av + 0));
  }
  tmp___4 = git_common_path((char const   *)"worktrees/%s/locked", wt->id);
  write_file(tmp___4, (char const   *)"%s", reason);
  free_worktrees(worktrees);
  return (0);
}
}
static int unlock_worktree(int ac , char const   **av , char const   *prefix___1 )
{
  struct option options[1] ;
  struct worktree **worktrees ;
  struct worktree *wt ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;

  {
  options[0].type = (enum parse_opt_type )0;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)0;
  options[0].value = (void *)0;
  options[0].argh = (char const   *)0;
  options[0].help = (char const   *)0;
  options[0].flags = 0U;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  ac = parse_options(ac, av, prefix___1, (struct option  const  *)(options), worktree_usage,
                     (enum parse_opt_flags )0);
  if (ac != 1) {
    usage_with_options(worktree_usage, (struct option  const  *)(options));
  }
  worktrees = get_worktrees();
  wt = find_worktree(worktrees, prefix___1, *(av + 0));
  if (! wt) {
    tmp = _((char const   *)"\'%s\' is not a working tree");
    die((char const   *)tmp, *(av + 0));
  }
  tmp___1 = is_main_worktree((struct worktree  const  *)wt);
  if (tmp___1) {
    tmp___0 = _((char const   *)"The main working tree cannot be locked or unlocked");
    die((char const   *)tmp___0);
  }
  tmp___3 = worktree_lock_reason(wt);
  if (! tmp___3) {
    tmp___2 = _((char const   *)"\'%s\' is not locked");
    die((char const   *)tmp___2, *(av + 0));
  }
  tmp___4 = git_common_path((char const   *)"worktrees/%s/locked", wt->id);
  ret___67 = unlink_or_warn(tmp___4);
  free_worktrees(worktrees);
  return (ret___67);
}
}
static void validate_no_submodules(struct worktree  const  *wt )
{
  struct index_state istate ;
  struct strbuf path___6 ;
  int i ;
  int found_submodules ;
  struct cache_entry *ce ;
  int err___4 ;
  int tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;

  {
  istate.cache = (struct cache_entry **)((void *)0);
  istate.version = 0U;
  istate.cache_nr = 0U;
  istate.cache_alloc = 0U;
  istate.cache_changed = 0U;
  istate.resolve_undo = (struct string_list *)0;
  istate.cache_tree = (struct cache_tree *)0;
  istate.split_index = (struct split_index *)0;
  istate.timestamp.sec = 0U;
  istate.timestamp.nsec = 0U;
  istate.name_hash_initialized = 0U;
  istate.initialized = 0U;
  istate.drop_cache_tree = 0U;
  istate.updated_workdir = 0U;
  istate.updated_skipworktree = 0U;
  istate.fsmonitor_has_run_once = 0U;
  istate.sparse_index = 0U;
  istate.name_hash.table = (struct hashmap_entry **)0;
  istate.name_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                    struct hashmap_entry  const  *entry_or_key , void const   *keydata ))0;
  istate.name_hash.cmpfn_data = (void const   *)0;
  istate.name_hash.private_size = 0U;
  istate.name_hash.tablesize = 0U;
  istate.name_hash.grow_at = 0U;
  istate.name_hash.shrink_at = 0U;
  istate.name_hash.do_count_items = 0U;
  istate.dir_hash.table = (struct hashmap_entry **)0;
  istate.dir_hash.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                                   struct hashmap_entry  const  *entry_or_key , void const   *keydata ))0;
  istate.dir_hash.cmpfn_data = (void const   *)0;
  istate.dir_hash.private_size = 0U;
  istate.dir_hash.tablesize = 0U;
  istate.dir_hash.grow_at = 0U;
  istate.dir_hash.shrink_at = 0U;
  istate.dir_hash.do_count_items = 0U;
  istate.oid.hash[0] = (unsigned char)0;
  istate.oid.hash[1] = (unsigned char)0;
  istate.oid.hash[2] = (unsigned char)0;
  istate.oid.hash[3] = (unsigned char)0;
  istate.oid.hash[4] = (unsigned char)0;
  istate.oid.hash[5] = (unsigned char)0;
  istate.oid.hash[6] = (unsigned char)0;
  istate.oid.hash[7] = (unsigned char)0;
  istate.oid.hash[8] = (unsigned char)0;
  istate.oid.hash[9] = (unsigned char)0;
  istate.oid.hash[10] = (unsigned char)0;
  istate.oid.hash[11] = (unsigned char)0;
  istate.oid.hash[12] = (unsigned char)0;
  istate.oid.hash[13] = (unsigned char)0;
  istate.oid.hash[14] = (unsigned char)0;
  istate.oid.hash[15] = (unsigned char)0;
  istate.oid.hash[16] = (unsigned char)0;
  istate.oid.hash[17] = (unsigned char)0;
  istate.oid.hash[18] = (unsigned char)0;
  istate.oid.hash[19] = (unsigned char)0;
  istate.oid.hash[20] = (unsigned char)0;
  istate.oid.hash[21] = (unsigned char)0;
  istate.oid.hash[22] = (unsigned char)0;
  istate.oid.hash[23] = (unsigned char)0;
  istate.oid.hash[24] = (unsigned char)0;
  istate.oid.hash[25] = (unsigned char)0;
  istate.oid.hash[26] = (unsigned char)0;
  istate.oid.hash[27] = (unsigned char)0;
  istate.oid.hash[28] = (unsigned char)0;
  istate.oid.hash[29] = (unsigned char)0;
  istate.oid.hash[30] = (unsigned char)0;
  istate.oid.hash[31] = (unsigned char)0;
  istate.oid.algo = 0;
  istate.untracked = (struct untracked_cache *)0;
  istate.fsmonitor_last_update = (char *)0;
  istate.fsmonitor_dirty = (struct ewah_bitmap *)0;
  istate.ce_mem_pool = (struct mem_pool *)0;
  istate.progress = (struct progress *)0;
  istate.repo = (struct repository *)0;
  istate.sparse_checkout_patterns = (struct pattern_list *)0;
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  found_submodules = 0;
  tmp___3 = worktree_git_path(wt, (char const   *)"modules");
  tmp___4 = is_directory(tmp___3);
  if (tmp___4) {
    found_submodules = 1;
  } else {
    tmp___0 = get_worktree_git_dir(wt);
    tmp___1 = worktree_git_path(wt, (char const   *)"index");
    tmp___2 = read_index_from(& istate, tmp___1, tmp___0);
    if (tmp___2 > 0) {
      i = 0;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! ((unsigned int )i < istate.cache_nr)) {
          goto while_break;
        }
        ce = *(istate.cache + i);
        if (! ((ce->ce_mode & 61440U) == 57344U)) {
          goto __Cont;
        }
        strbuf_setlen___33(& path___6, (size_t )0);
        strbuf_addf(& path___6, (char const   *)"%s/%s", wt->path, ce->name);
        tmp = is_submodule_populated_gently((char const   *)path___6.buf, & err___4);
        if (! tmp) {
          goto __Cont;
        }
        found_submodules = 1;
        goto while_break;
        __Cont: /* CIL Label */
        i ++;
      }
      while_break: /* CIL Label */ ;
      }
    }
  }
  discard_index(& istate);
  strbuf_release(& path___6);
  if (found_submodules) {
    tmp___5 = _((char const   *)"working trees containing submodules cannot be moved or removed");
    die((char const   *)tmp___5);
  }
  return;
}
}
static int move_worktree(int ac , char const   **av , char const   *prefix___1 )
{
  int force___2 ;
  struct option options[2] ;
  struct worktree **worktrees ;
  struct worktree *wt ;
  struct strbuf dst ;
  struct strbuf errmsg ;
  char const   *reason ;
  char *path___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const   *sep ;
  char *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  int tmp___4 ;
  char const __attribute__((__format_arg__(1)))  *tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  char const __attribute__((__format_arg__(1)))  *tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;

  {
  force___2 = 0;
  options[0].type = (enum parse_opt_type )7;
  options[0].short_name = 'f';
  options[0].long_name = (char const   *)"force";
  options[0].value = (void *)(& force___2);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"force move even if worktree is dirty or locked";
  options[0].flags = (enum parse_opt_option_flags )514;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )0;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)0;
  options[1].value = (void *)0;
  options[1].argh = (char const   *)0;
  options[1].help = (char const   *)0;
  options[1].flags = 0U;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  dst.alloc = 0UL;
  dst.len = 0UL;
  dst.buf = strbuf_slopbuf;
  errmsg.alloc = 0UL;
  errmsg.len = 0UL;
  errmsg.buf = strbuf_slopbuf;
  reason = (char const   *)((void *)0);
  ac = parse_options(ac, av, prefix___1, (struct option  const  *)(options), worktree_usage,
                     (enum parse_opt_flags )0);
  if (ac != 2) {
    usage_with_options(worktree_usage, (struct option  const  *)(options));
  }
  path___6 = prefix_filename(prefix___1, *(av + 1));
  strbuf_addstr(& dst, (char const   *)path___6);
  free((void *)path___6);
  worktrees = get_worktrees();
  wt = find_worktree(worktrees, prefix___1, *(av + 0));
  if (! wt) {
    tmp = _((char const   *)"\'%s\' is not a working tree");
    die((char const   *)tmp, *(av + 0));
  }
  tmp___1 = is_main_worktree((struct worktree  const  *)wt);
  if (tmp___1) {
    tmp___0 = _((char const   *)"\'%s\' is a main working tree");
    die((char const   *)tmp___0, *(av + 0));
  }
  tmp___4 = is_directory((char const   *)dst.buf);
  if (tmp___4) {
    tmp___2 = git_find_last_dir_sep((char const   *)wt->path);
    sep = (char const   *)tmp___2;
    if (! sep) {
      tmp___3 = _((char const   *)"could not figure out destination name from \'%s\'");
      die((char const   *)tmp___3, wt->path);
    }
    strbuf_trim_trailing_dir_sep(& dst);
    strbuf_addstr(& dst, sep);
  }
  check_candidate_path((char const   *)dst.buf, force___2, worktrees, (char const   *)"move");
  validate_no_submodules((struct worktree  const  *)wt);
  if (force___2 < 2) {
    reason = worktree_lock_reason(wt);
  }
  if (reason) {
    if (*reason) {
      tmp___5 = _((char const   *)"cannot move a locked working tree, lock reason: %s\nuse \'move -f -f\' to override or unlock first");
      die((char const   *)tmp___5, reason);
    }
    tmp___6 = _((char const   *)"cannot move a locked working tree;\nuse \'move -f -f\' to override or unlock first");
    die((char const   *)tmp___6);
  }
  tmp___8 = validate_worktree((struct worktree  const  *)wt, & errmsg, 0U);
  if (tmp___8) {
    tmp___7 = _((char const   *)"validation failed, cannot move working tree: %s");
    die((char const   *)tmp___7, errmsg.buf);
  }
  strbuf_release(& errmsg);
  tmp___10 = rename((char const   *)wt->path, (char const   *)dst.buf);
  if (tmp___10 == -1) {
    tmp___9 = _((char const   *)"failed to move \'%s\' to \'%s\'");
    die_errno((char const   *)tmp___9, wt->path, dst.buf);
  }
  update_worktree_location(wt, (char const   *)dst.buf);
  strbuf_release(& dst);
  free_worktrees(worktrees);
  return (0);
}
}
static void check_clean_worktree(struct worktree *wt , char const   *original_path )
{
  struct child_process cp ;
  char buf___19[1] ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  ssize_t tmp___0 ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;

  {
  validate_no_submodules((struct worktree  const  *)wt);
  child_process_init(& cp);
  strvec_pushf(& cp.env_array, (char const   *)"%s=%s/.git", "GIT_DIR", wt->path);
  strvec_pushf(& cp.env_array, (char const   *)"%s=%s", "GIT_WORK_TREE", wt->path);
  strvec_pushl(& cp.args, "status", "--porcelain", "--ignore-submodules=none", (void *)0);
  cp.git_cmd = 1U;
  cp.dir = (char const   *)wt->path;
  cp.out = -1;
  ret___67 = start_command(& cp);
  if (ret___67) {
    tmp = _((char const   *)"failed to run \'git status\' on \'%s\'");
    die_errno((char const   *)tmp, original_path);
  }
  tmp___0 = xread(cp.out, (void *)(buf___19), sizeof(buf___19));
  ret___67 = (int )tmp___0;
  if (ret___67) {
    tmp___1 = _((char const   *)"\'%s\' contains modified or untracked files, use --force to delete it");
    die((char const   *)tmp___1, original_path);
  }
  close(cp.out);
  ret___67 = finish_command(& cp);
  if (ret___67) {
    tmp___2 = _((char const   *)"failed to run \'git status\' on \'%s\', code %d");
    die_errno((char const   *)tmp___2, original_path, ret___67);
  }
  return;
}
}
static int delete_git_work_tree(struct worktree *wt )
{
  struct strbuf sb___6 ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int tmp___0 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  ret___67 = 0;
  strbuf_addstr(& sb___6, (char const   *)wt->path);
  tmp___0 = remove_dir_recursively(& sb___6, 0);
  if (tmp___0) {
    tmp = _((char const   *)"failed to delete \'%s\'");
    error_errno((char const   *)tmp, sb___6.buf);
    const_error();
    ret___67 = -1;
  }
  strbuf_release(& sb___6);
  return (ret___67);
}
}
static int remove_worktree(int ac , char const   **av , char const   *prefix___1 )
{
  int force___2 ;
  struct option options[2] ;
  struct worktree **worktrees ;
  struct worktree *wt ;
  struct strbuf errmsg ;
  char const   *reason ;
  int ret___67 ;
  char const __attribute__((__format_arg__(1)))  *tmp ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  char const __attribute__((__format_arg__(1)))  *tmp___3 ;
  char const __attribute__((__format_arg__(1)))  *tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;

  {
  force___2 = 0;
  options[0].type = (enum parse_opt_type )7;
  options[0].short_name = 'f';
  options[0].long_name = (char const   *)"force";
  options[0].value = (void *)(& force___2);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"force removal even if worktree is dirty or locked";
  options[0].flags = (enum parse_opt_option_flags )514;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )0;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)0;
  options[1].value = (void *)0;
  options[1].argh = (char const   *)0;
  options[1].help = (char const   *)0;
  options[1].flags = 0U;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  errmsg.alloc = 0UL;
  errmsg.len = 0UL;
  errmsg.buf = strbuf_slopbuf;
  reason = (char const   *)((void *)0);
  ret___67 = 0;
  ac = parse_options(ac, av, prefix___1, (struct option  const  *)(options), worktree_usage,
                     (enum parse_opt_flags )0);
  if (ac != 1) {
    usage_with_options(worktree_usage, (struct option  const  *)(options));
  }
  worktrees = get_worktrees();
  wt = find_worktree(worktrees, prefix___1, *(av + 0));
  if (! wt) {
    tmp = _((char const   *)"\'%s\' is not a working tree");
    die((char const   *)tmp, *(av + 0));
  }
  tmp___1 = is_main_worktree((struct worktree  const  *)wt);
  if (tmp___1) {
    tmp___0 = _((char const   *)"\'%s\' is a main working tree");
    die((char const   *)tmp___0, *(av + 0));
  }
  if (force___2 < 2) {
    reason = worktree_lock_reason(wt);
  }
  if (reason) {
    if (*reason) {
      tmp___2 = _((char const   *)"cannot remove a locked working tree, lock reason: %s\nuse \'remove -f -f\' to override or unlock first");
      die((char const   *)tmp___2, reason);
    }
    tmp___3 = _((char const   *)"cannot remove a locked working tree;\nuse \'remove -f -f\' to override or unlock first");
    die((char const   *)tmp___3);
  }
  tmp___5 = validate_worktree((struct worktree  const  *)wt, & errmsg, 1U);
  if (tmp___5) {
    tmp___4 = _((char const   *)"validation failed, cannot remove working tree: %s");
    die((char const   *)tmp___4, errmsg.buf);
  }
  strbuf_release(& errmsg);
  tmp___7 = file_exists((char const   *)wt->path);
  if (tmp___7) {
    if (! force___2) {
      check_clean_worktree(wt, *(av + 0));
    }
    tmp___6 = delete_git_work_tree(wt);
    ret___67 |= tmp___6;
  }
  tmp___8 = delete_git_dir((char const   *)wt->id);
  ret___67 |= tmp___8;
  delete_worktrees_dir_if_empty();
  free_worktrees(worktrees);
  return (ret___67);
}
}
static void report_repair(int iserr , char const   *path___6 , char const   *msg___5 ,
                          void *cb_data )
{
  char const __attribute__((__format_arg__(1)))  *tmp ;
  int *exit_status ;
  char const __attribute__((__format_arg__(1)))  *tmp___0 ;

  {
  if (! iserr) {
    tmp = _((char const   *)"repair: %s: %s");
    fprintf_ln(stderr, (char const   *)tmp, msg___5, path___6);
  } else {
    exit_status = (int *)cb_data;
    tmp___0 = _((char const   *)"error: %s: %s");
    fprintf_ln(stderr, (char const   *)tmp___0, msg___5, path___6);
    *exit_status = 1;
  }
  return;
}
}
static int repair(int ac , char const   **av , char const   *prefix___1 )
{
  char const   **p___0 ;
  char const   *self[2] ;
  struct option options[1] ;
  int rc___0 ;

  {
  self[0] = (char const   *)".";
  self[1] = (char const   *)((void *)0);
  options[0].type = (enum parse_opt_type )0;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)0;
  options[0].value = (void *)0;
  options[0].argh = (char const   *)0;
  options[0].help = (char const   *)0;
  options[0].flags = 0U;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  rc___0 = 0;
  ac = parse_options(ac, av, prefix___1, (struct option  const  *)(options), worktree_usage,
                     (enum parse_opt_flags )0);
  if (ac > 0) {
    p___0 = av;
  } else {
    p___0 = self;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *p___0) {
      goto while_break;
    }
    repair_worktree_at_path(*p___0, & report_repair, (void *)(& rc___0));
    p___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  repair_worktrees(& report_repair, (void *)(& rc___0));
  return (rc___0);
}
}
int cmd_worktree(int ac , char const   **av , char const   *prefix___1 )
{
  struct option options[1] ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;

  {
  options[0].type = (enum parse_opt_type )0;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)0;
  options[0].value = (void *)0;
  options[0].argh = (char const   *)0;
  options[0].help = (char const   *)0;
  options[0].flags = 0U;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  git_config(& git_worktree_config, (void *)0);
  if (ac < 2) {
    usage_with_options(worktree_usage, (struct option  const  *)(options));
  }
  if (! prefix___1) {
    prefix___1 = (char const   *)"";
  }
  tmp___0 = strcmp(*(av + 1), (char const   *)"add");
  if (! tmp___0) {
    tmp = add___1(ac - 1, av + 1, prefix___1);
    return (tmp);
  }
  tmp___2 = strcmp(*(av + 1), (char const   *)"prune");
  if (! tmp___2) {
    tmp___1 = prune___3(ac - 1, av + 1, prefix___1);
    return (tmp___1);
  }
  tmp___4 = strcmp(*(av + 1), (char const   *)"list");
  if (! tmp___4) {
    tmp___3 = list___2(ac - 1, av + 1, prefix___1);
    return (tmp___3);
  }
  tmp___6 = strcmp(*(av + 1), (char const   *)"lock");
  if (! tmp___6) {
    tmp___5 = lock_worktree(ac - 1, av + 1, prefix___1);
    return (tmp___5);
  }
  tmp___8 = strcmp(*(av + 1), (char const   *)"unlock");
  if (! tmp___8) {
    tmp___7 = unlock_worktree(ac - 1, av + 1, prefix___1);
    return (tmp___7);
  }
  tmp___10 = strcmp(*(av + 1), (char const   *)"move");
  if (! tmp___10) {
    tmp___9 = move_worktree(ac - 1, av + 1, prefix___1);
    return (tmp___9);
  }
  tmp___12 = strcmp(*(av + 1), (char const   *)"remove");
  if (! tmp___12) {
    tmp___11 = remove_worktree(ac - 1, av + 1, prefix___1);
    return (tmp___11);
  }
  tmp___14 = strcmp(*(av + 1), (char const   *)"repair");
  if (! tmp___14) {
    tmp___13 = repair(ac - 1, av + 1, prefix___1);
    return (tmp___13);
  }
  usage_with_options(worktree_usage, (struct option  const  *)(options));
}
}
static char const   *write_tree_usage[2]  = {      (char const   *)"git write-tree [--missing-ok] [--prefix=<prefix>/]",      (char const   *)((void *)0)};
int cmd_write_tree(int argc , char const   **argv___0 , char const   *cmd_prefix )
{
  int flags___0 ;
  int ret___67 ;
  char const   *tree_prefix ;
  struct object_id oid ;
  char const   *me ;
  struct option write_tree_options[4] ;
  char *tmp ;

  {
  flags___0 = 0;
  tree_prefix = (char const   *)((void *)0);
  me = (char const   *)"git-write-tree";
  write_tree_options[0].type = (enum parse_opt_type )4;
  write_tree_options[0].short_name = 0;
  write_tree_options[0].long_name = (char const   *)"missing-ok";
  write_tree_options[0].value = (void *)(& flags___0);
  write_tree_options[0].argh = (char const   *)((void *)0);
  write_tree_options[0].help = (char const   *)"allow missing objects";
  write_tree_options[0].flags = (enum parse_opt_option_flags )2;
  write_tree_options[0].callback = (parse_opt_cb *)((void *)0);
  write_tree_options[0].defval = (intptr_t )1;
  write_tree_options[0].ll_callback = (parse_opt_ll_cb *)0;
  write_tree_options[0].extra = 0L;
  write_tree_options[1].type = (enum parse_opt_type )9;
  write_tree_options[1].short_name = 0;
  write_tree_options[1].long_name = (char const   *)"prefix";
  write_tree_options[1].value = (void *)(& tree_prefix);
  write_tree_options[1].argh = (char const   *)"<prefix>/";
  write_tree_options[1].help = (char const   *)"write tree object for a subdirectory <prefix>";
  write_tree_options[1].flags = (enum parse_opt_option_flags )0;
  write_tree_options[1].callback = (parse_opt_cb *)0;
  write_tree_options[1].defval = 0L;
  write_tree_options[1].ll_callback = (parse_opt_ll_cb *)0;
  write_tree_options[1].extra = 0L;
  write_tree_options[2].type = (enum parse_opt_type )4;
  write_tree_options[2].short_name = 0;
  write_tree_options[2].long_name = (char const   *)"ignore-cache-tree";
  write_tree_options[2].value = (void *)(& flags___0);
  write_tree_options[2].argh = (char const   *)((void *)0);
  write_tree_options[2].help = (char const   *)"only useful for debugging";
  write_tree_options[2].flags = (enum parse_opt_option_flags )10;
  write_tree_options[2].callback = (parse_opt_cb *)((void *)0);
  write_tree_options[2].defval = (intptr_t )2;
  write_tree_options[2].ll_callback = (parse_opt_ll_cb *)0;
  write_tree_options[2].extra = 0L;
  write_tree_options[3].type = (enum parse_opt_type )0;
  write_tree_options[3].short_name = 0;
  write_tree_options[3].long_name = (char const   *)0;
  write_tree_options[3].value = (void *)0;
  write_tree_options[3].argh = (char const   *)0;
  write_tree_options[3].help = (char const   *)0;
  write_tree_options[3].flags = 0U;
  write_tree_options[3].callback = (parse_opt_cb *)0;
  write_tree_options[3].defval = 0L;
  write_tree_options[3].ll_callback = (parse_opt_ll_cb *)0;
  write_tree_options[3].extra = 0L;
  git_config(& git_default_config, (void *)0);
  argc = parse_options(argc, argv___0, cmd_prefix, (struct option  const  *)(write_tree_options),
                       write_tree_usage, (enum parse_opt_flags )0);
  ret___67 = write_cache_as_tree(& oid, flags___0, tree_prefix);
  {
  if (ret___67 == 0) {
    goto case_0;
  }
  if (ret___67 == -1) {
    goto case_neg_1;
  }
  if (ret___67 == -2) {
    goto case_neg_2;
  }
  if (ret___67 == -3) {
    goto case_neg_3;
  }
  goto switch_break;
  case_0: /* CIL Label */
  tmp = oid_to_hex((struct object_id  const  *)(& oid));
  printf((char const   *)"%s\n", tmp);
  goto switch_break;
  case_neg_1: /* CIL Label */
  die((char const   *)"%s: error reading the index", me);
  goto switch_break;
  case_neg_2: /* CIL Label */
  die((char const   *)"%s: error building trees", me);
  goto switch_break;
  case_neg_3: /* CIL Label */
  die((char const   *)"%s: prefix %s not found", me, tree_prefix);
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  return (ret___67);
}
}
void set_test_hash(uint8_t *p___0 , int i ) ;
ssize_t strbuf_add_void(void *b___0 , void const   *data , size_t sz ) ;
int basics_test_main(int argc , char const   **argv___0 ) ;
int block_test_main(int argc , char const   **argv___0 ) ;
int merged_test_main(int argc , char const   **argv___0 ) ;
int pq_test_main(int argc , char const   **argv___0 ) ;
int record_test_main(int argc , char const   **argv___0 ) ;
int refname_test_main(int argc , char const   **argv___0 ) ;
int readwrite_test_main(int argc , char const   **argv___0 ) ;
int stack_test_main(int argc , char const   **argv___0 ) ;
int tree_test_main(int argc , char const   **argv___0 ) ;
int reftable_dump_main(int argc , char **argv___0 ) ;
static int binsearch_func(size_t i , void *void_args )
{
  struct binsearch_args *args___0 ;

  {
  args___0 = (struct binsearch_args *)void_args;
  return (args___0->key < *(args___0->arr + i));
}
}
static void test_binsearch(void)
{
  int arr[5] ;
  size_t sz ;
  struct binsearch_args args___0 ;
  int i ;
  int res ;

  {
  arr[0] = 2;
  arr[1] = 4;
  arr[2] = 6;
  arr[3] = 8;
  arr[4] = 10;
  sz = sizeof(arr) / sizeof(arr[0]) + (sizeof(char [1]) - 1UL);
  args___0.key = 0;
  args___0.arr = arr;
  i = 0;
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 11)) {
      goto while_break;
    }
    args___0.key = i;
    res = binsearch(sz, & binsearch_func, (void *)(& args___0));
    if ((size_t )res < sz) {
      if (! (args___0.key < arr[res])) {
        fflush(stderr);
        fflush(stdout);
        fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/basics_test.c",
                42, "args.key < arr[res]");
        abort();
      }
      if (res > 0) {
        if (! (args___0.key >= arr[res - 1])) {
          fflush(stderr);
          fflush(stdout);
          fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/basics_test.c",
                  44, "args.key >= arr[res - 1]");
          abort();
        }
      }
    } else
    if (! (args___0.key == 10)) {
      if (! (args___0.key == 11)) {
        fflush(stderr);
        fflush(stdout);
        fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/basics_test.c",
                47, "args.key == 10 || args.key == 11");
        abort();
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void test_names_length(void)
{
  char *a[3] ;
  int tmp ;

  {
  a[0] = "a";
  a[1] = "b";
  a[2] = (char *)((void *)0);
  tmp = names_length(a);
  if (! (tmp == 2)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/basics_test.c",
            55, "names_length(a) == 2");
    abort();
  }
  return;
}
}
static void test_parse_names_normal(void)
{
  char in[5] ;
  char **out ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  in[0] = (char )'a';
  in[1] = (char )'\n';
  in[2] = (char )'b';
  in[3] = (char )'\n';
  in[4] = (char )'\000';
  out = (char **)((void *)0);
  tmp = strlen((char const   *)(in));
  parse_names(in, (int )tmp, & out);
  tmp___0 = strcmp((char const   *)*(out + 0), (char const   *)"a");
  if (tmp___0) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/basics_test.c",
            63, "!strcmp(out[0], \"a\")");
    abort();
  }
  tmp___1 = strcmp((char const   *)*(out + 1), (char const   *)"b");
  if (tmp___1) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/basics_test.c",
            64, "!strcmp(out[1], \"b\")");
    abort();
  }
  if (! (! *(out + 2))) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/basics_test.c",
            65, "!out[2]");
    abort();
  }
  free_names(out);
  return;
}
}
static void test_parse_names_drop_empty(void)
{
  char in[4] ;
  char **out ;
  size_t tmp ;
  int tmp___0 ;

  {
  in[0] = (char )'a';
  in[1] = (char )'\n';
  in[2] = (char )'\n';
  in[3] = (char )'\000';
  out = (char **)((void *)0);
  tmp = strlen((char const   *)(in));
  parse_names(in, (int )tmp, & out);
  tmp___0 = strcmp((char const   *)*(out + 0), (char const   *)"a");
  if (tmp___0) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/basics_test.c",
            74, "!strcmp(out[0], \"a\")");
    abort();
  }
  if (! (! *(out + 1))) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/basics_test.c",
            75, "!out[1]");
    abort();
  }
  free_names(out);
  return;
}
}
static void test_common_prefix(void)
{
  struct strbuf s1 ;
  struct strbuf s2 ;
  int tmp ;

  {
  s1.alloc = 0UL;
  s1.len = 0UL;
  s1.buf = strbuf_slopbuf;
  s2.alloc = 0UL;
  s2.len = 0UL;
  s2.buf = strbuf_slopbuf;
  strbuf_addstr(& s1, (char const   *)"abcdef");
  strbuf_addstr(& s2, (char const   *)"abc");
  tmp = common_prefix_size(& s1, & s2);
  if (! (tmp == 3)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/basics_test.c",
            85, "common_prefix_size(&s1, &s2) == 3");
    abort();
  }
  strbuf_release(& s1);
  strbuf_release(& s2);
  return;
}
}
int basics_test_main(int argc , char const   **argv___0 )
{


  {
  fprintf(stderr, (char const   *)"running %s\n", "test_common_prefix");
  fflush(stderr);
  test_common_prefix();
  fprintf(stderr, (char const   *)"running %s\n", "test_parse_names_normal");
  fflush(stderr);
  test_parse_names_normal();
  fprintf(stderr, (char const   *)"running %s\n", "test_parse_names_drop_empty");
  fflush(stderr);
  test_parse_names_drop_empty();
  fprintf(stderr, (char const   *)"running %s\n", "test_binsearch");
  fflush(stderr);
  test_binsearch();
  fprintf(stderr, (char const   *)"running %s\n", "test_names_length");
  fflush(stderr);
  test_names_length();
  return (0);
}
}
static void test_block_read_write(void)
{
  int header_off ;
  char *names___0[30] ;
  int N ;
  int block_size ;
  struct reftable_block block___0 ;
  struct block_writer bw ;
  struct reftable_ref_record ref ;
  struct reftable_record rec ;
  int i ;
  int n ;
  struct block_reader br ;
  struct block_iter it ;
  int j ;
  struct strbuf want ;
  void *tmp ;
  int tmp___0 ;
  char name___0[100] ;
  uint8_t hash___0[20] ;
  int r ;
  int tmp___1 ;
  int tmp___2 ;
  struct block_iter it___0 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  header_off = (int )21;
  N = (int )(sizeof(names___0) / sizeof(names___0[0]) + (sizeof(char [1]) - 1UL));
  block_size = (int )1024;
  block___0.data = (uint8_t *)((void *)0);
  block___0.len = 0;
  block___0.source.ops = (struct reftable_block_source_vtable *)0;
  block___0.source.arg = (void *)0;
  bw.buf = (uint8_t *)0;
  bw.block_size = 0U;
  bw.header_off = 0U;
  bw.restart_interval = 0;
  bw.hash_size = 0;
  bw.next = 0U;
  bw.restarts = (uint32_t *)0;
  bw.restart_len = 0U;
  bw.restart_cap = 0U;
  bw.last_key.alloc = 0UL;
  bw.last_key.len = 0UL;
  bw.last_key.buf = strbuf_slopbuf;
  bw.entries = 0;
  ref.refname = (char *)((void *)0);
  ref.update_index = 0UL;
  ref.value_type = 0U;
  ref.value.val2.value = (uint8_t *)0;
  ref.value.val2.target_value = (uint8_t *)0;
  rec.data = (void *)0;
  rec.ops = (struct reftable_record_vtable *)0;
  i = 0;
  br.header_off = (uint32_t )0;
  br.block.data = (uint8_t *)0;
  br.block.len = 0;
  br.block.source.ops = (struct reftable_block_source_vtable *)0;
  br.block.source.arg = (void *)0;
  br.hash_size = 0;
  br.block_len = 0U;
  br.restart_bytes = (uint8_t *)0;
  br.restart_count = (unsigned short)0;
  br.full_block_size = 0U;
  it.next_off = 0U;
  it.br = (struct block_reader *)0;
  it.last_key.alloc = 0UL;
  it.last_key.len = 0UL;
  it.last_key.buf = strbuf_slopbuf;
  j = 0;
  want.alloc = 0UL;
  want.len = 0UL;
  want.buf = strbuf_slopbuf;
  tmp = reftable_calloc((size_t )block_size);
  block___0.data = (uint8_t *)tmp;
  block___0.len = (int )block_size;
  block___0.source = malloc_block_source();
  tmp___0 = hash_size((uint32_t )0x73686131);
  block_writer_init(& bw, (uint8_t )'r', block___0.data, (uint32_t )block_size, (uint32_t )header_off,
                    tmp___0);
  reftable_record_from_ref(& rec, & ref);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (int )N)) {
      goto while_break;
    }
    snprintf(name___0, sizeof(name___0), (char const   *)"branch%02d", i);
    memset((void *)(hash___0), i, sizeof(hash___0));
    ref.refname = name___0;
    ref.value_type = (enum __anonenum_value_type_72961049 )1;
    ref.value.val1 = hash___0;
    names___0[i] = xstrdup((char const   *)(name___0));
    n = block_writer_add(& bw, & rec);
    ref.refname = (char *)((void *)0);
    ref.value_type = (enum __anonenum_value_type_72961049 )0;
    if (! (n == 0)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/block_test.c",
              59, "n == 0");
      abort();
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  n = block_writer_finish(& bw);
  if (! (n > 0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/block_test.c",
            63, "n > 0");
    abort();
  }
  block_writer_release(& bw);
  block_reader_init(& br, & block___0, (uint32_t )header_off, (uint32_t )block_size,
                    20);
  block_reader_start(& br, & it);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___1 = block_iter_next(& it, & rec);
    r = tmp___1;
    if (! (r >= 0)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/block_test.c",
              73, "r >= 0");
      abort();
    }
    if (r > 0) {
      goto while_break___0;
    }
    tmp___2 = strcmp((char const   *)names___0[j], (char const   *)ref.refname);
    if (tmp___2) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s:%d: %s (%s) != %s (%s)\n", "reftable/block_test.c",
              77, "names[j]", names___0[j], "ref.refname", ref.refname);
      abort();
    }
    j ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  reftable_record_release(& rec);
  block_iter_close(& it);
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < (int )N)) {
      goto while_break___1;
    }
    it___0.next_off = 0U;
    it___0.br = (struct block_reader *)0;
    it___0.last_key.alloc = 0UL;
    it___0.last_key.len = 0UL;
    it___0.last_key.buf = strbuf_slopbuf;
    strbuf_setlen___33(& want, (size_t )0);
    strbuf_addstr(& want, (char const   *)names___0[i]);
    n = block_reader_seek(& br, & it___0, & want);
    if (! (n == 0)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/block_test.c",
              90, "n == 0");
      abort();
    }
    n = block_iter_next(& it___0, & rec);
    if (! (n == 0)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/block_test.c",
              93, "n == 0");
      abort();
    }
    tmp___3 = strcmp((char const   *)names___0[i], (char const   *)ref.refname);
    if (tmp___3) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s:%d: %s (%s) != %s (%s)\n", "reftable/block_test.c",
              95, "names[i]", names___0[i], "ref.refname", ref.refname);
      abort();
    }
    (want.len) --;
    n = block_reader_seek(& br, & it___0, & want);
    if (! (n == 0)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/block_test.c",
              99, "n == 0");
      abort();
    }
    n = block_iter_next(& it___0, & rec);
    if (! (n == 0)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/block_test.c",
              102, "n == 0");
      abort();
    }
    tmp___4 = strcmp((char const   *)names___0[10 * (i / 10)], (char const   *)ref.refname);
    if (tmp___4) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s:%d: %s (%s) != %s (%s)\n", "reftable/block_test.c",
              103, "names[10 * (i / 10)]", names___0[10 * (i / 10)], "ref.refname",
              ref.refname);
      abort();
    }
    block_iter_close(& it___0);
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  reftable_record_release(& rec);
  reftable_block_done(& br.block);
  strbuf_release(& want);
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < (int )N)) {
      goto while_break___2;
    }
    reftable_free((void *)names___0[i]);
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  return;
}
}
int block_test_main(int argc , char const   **argv___0 )
{


  {
  fprintf(stderr, (char const   *)"running %s\n", "test_block_read_write");
  fflush(stderr);
  test_block_read_write();
  return (0);
}
}
static int compact_stack(char const   *stackdir )
{
  struct reftable_stack *stack ;
  struct reftable_write_options cfg ;
  int err___4 ;
  int tmp ;

  {
  stack = (struct reftable_stack *)((void *)0);
  cfg.unpadded = 0U;
  cfg.block_size = 0U;
  cfg.skip_index_objects = 0U;
  cfg.restart_interval = 0;
  cfg.hash_id = 0U;
  cfg.default_permissions = 0U;
  cfg.skip_name_check = 0U;
  cfg.exact_log_message = 0U;
  tmp = reftable_new_stack(& stack, stackdir, cfg);
  err___4 = tmp;
  if (err___4 < 0) {
    goto done;
  }
  err___4 = reftable_stack_compact_all(stack, (struct reftable_log_expiry_config *)((void *)0));
  if (err___4 < 0) {
    goto done;
  }
  done:
  if (stack) {
    reftable_stack_destroy(stack);
  }
  return (err___4);
}
}
static void print_help(void)
{


  {
  printf((char const   *)"usage: dump [-cst] arg\n\noptions: \n  -c compact\n  -t dump table\n  -s dump stack\n  -6 sha256 hash format\n  -h this help\n\n");
  return;
}
}
int reftable_dump_main(int argc , char **argv___0 )
{
  int err___4 ;
  int opt_dump_table ;
  int opt_dump_stack ;
  int opt_compact ;
  uint32_t opt_hash_id ;
  char const   *arg ;
  char const   *argv0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const   *tmp___5 ;

  {
  err___4 = 0;
  opt_dump_table = 0;
  opt_dump_stack = 0;
  opt_compact = 0;
  opt_hash_id = (uint32_t )0x73686131;
  arg = (char const   *)((void *)0);
  argv0 = (char const   *)*(argv___0 + 0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (argc > 1)) {
      goto while_break;
    }
    if ((int )*(*(argv___0 + 1)) != 45) {
      goto while_break;
    } else {
      tmp___4 = strcmp((char const   *)"-t", (char const   *)*(argv___0 + 1));
      if (tmp___4) {
        tmp___3 = strcmp((char const   *)"-6", (char const   *)*(argv___0 + 1));
        if (tmp___3) {
          tmp___2 = strcmp((char const   *)"-s", (char const   *)*(argv___0 + 1));
          if (tmp___2) {
            tmp___1 = strcmp((char const   *)"-c", (char const   *)*(argv___0 + 1));
            if (tmp___1) {
              tmp = strcmp((char const   *)"-?", (char const   *)*(argv___0 + 1));
              if (tmp) {
                tmp___0 = strcmp((char const   *)"-h", (char const   *)*(argv___0 + 1));
                if (! tmp___0) {
                  print_help();
                  return (2);
                }
              } else {
                print_help();
                return (2);
              }
            } else {
              opt_compact = 1;
            }
          } else {
            opt_dump_stack = 1;
          }
        } else {
          opt_hash_id = (uint32_t )0x73323536;
        }
      } else {
        opt_dump_table = 1;
      }
    }
    argv___0 ++;
    argc --;
  }
  while_break: /* CIL Label */ ;
  }
  if (argc != 2) {
    fprintf(stderr, (char const   *)"need argument\n");
    print_help();
    return (2);
  }
  arg = (char const   *)*(argv___0 + 1);
  if (opt_dump_table) {
    err___4 = reftable_reader_print_file(arg);
  } else
  if (opt_dump_stack) {
    err___4 = reftable_stack_print_directory(arg, opt_hash_id);
  } else
  if (opt_compact) {
    err___4 = compact_stack(arg);
  }
  if (err___4 < 0) {
    tmp___5 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %s: %s\n", argv0, arg, tmp___5);
    return (1);
  }
  return (0);
}
}
static void write_test_table(struct strbuf *buf___19 , struct reftable_ref_record *refs___0 ,
                             int n )
{
  uint64_t min ;
  uint64_t max ;
  int i ;
  int err___4 ;
  struct reftable_write_options opts___1 ;
  struct reftable_writer *w ;
  uint64_t ui ;
  uint64_t before ;
  int n___0 ;
  int tmp ;
  char const   *tmp___0 ;

  {
  min = (uint64_t )0xffffffff;
  max = (uint64_t )0;
  i = 0;
  opts___1.unpadded = 0U;
  opts___1.block_size = (uint32_t )256;
  opts___1.skip_index_objects = 0U;
  opts___1.restart_interval = 0;
  opts___1.hash_id = 0U;
  opts___1.default_permissions = 0U;
  opts___1.skip_name_check = 0U;
  opts___1.exact_log_message = 0U;
  w = (struct reftable_writer *)((void *)0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    ui = (refs___0 + i)->update_index;
    if (ui > max) {
      max = ui;
    }
    if (ui < min) {
      min = ui;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  w = reftable_new_writer(& strbuf_add_void, (void *)buf___19, & opts___1);
  reftable_writer_set_limits(w, min, max);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break___0;
    }
    before = (refs___0 + i)->update_index;
    tmp = reftable_writer_add_ref(w, refs___0 + i);
    n___0 = tmp;
    if (! (n___0 == 0)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/merged_test.c",
              52, "n == 0");
      abort();
    }
    if (! (before == (refs___0 + i)->update_index)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/merged_test.c",
              53, "before == refs[i].update_index");
      abort();
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  err___4 = reftable_writer_close(w);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___0 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/merged_test.c",
            57, err___4, tmp___0);
    abort();
  }
  reftable_writer_free(w);
  return;
}
}
static void write_test_log_table(struct strbuf *buf___19 , struct reftable_log_record *logs ,
                                 int n , uint64_t update_index___0 )
{
  int i ;
  int err___4 ;
  struct reftable_write_options opts___1 ;
  struct reftable_writer *w ;
  int err___5 ;
  int tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;

  {
  i = 0;
  opts___1.unpadded = 0U;
  opts___1.block_size = (uint32_t )256;
  opts___1.skip_index_objects = 0U;
  opts___1.restart_interval = 0;
  opts___1.hash_id = 0U;
  opts___1.default_permissions = 0U;
  opts___1.skip_name_check = 0U;
  opts___1.exact_log_message = 1U;
  w = (struct reftable_writer *)((void *)0);
  w = reftable_new_writer(& strbuf_add_void, (void *)buf___19, & opts___1);
  reftable_writer_set_limits(w, update_index___0, update_index___0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    tmp = reftable_writer_add_log(w, logs + i);
    err___5 = tmp;
    if (err___5 != 0) {
      fflush(stderr);
      fflush(stdout);
      tmp___0 = reftable_error_str(err___5);
      fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/merged_test.c",
              79, err___5, tmp___0);
      abort();
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  err___4 = reftable_writer_close(w);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___1 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/merged_test.c",
            83, err___4, tmp___1);
    abort();
  }
  reftable_writer_free(w);
  return;
}
}
static struct reftable_merged_table *merged_table_from_records(struct reftable_ref_record **refs___0 ,
                                                               struct reftable_block_source **source ,
                                                               struct reftable_reader ***readers ,
                                                               int *sizes , struct strbuf *buf___19 ,
                                                               int n )
{
  int i ;
  struct reftable_merged_table *mt ;
  int err___4 ;
  struct reftable_table *tabs ;
  void *tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;

  {
  i = 0;
  mt = (struct reftable_merged_table *)((void *)0);
  tmp = reftable_calloc((unsigned long )n * sizeof(struct reftable_table ));
  tabs = (struct reftable_table *)tmp;
  tmp___0 = reftable_calloc((unsigned long )n * sizeof(struct reftable_reader *));
  *readers = (struct reftable_reader **)tmp___0;
  tmp___1 = reftable_calloc((unsigned long )n * sizeof(*(*source)));
  *source = (struct reftable_block_source *)tmp___1;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    write_test_table(buf___19 + i, *(refs___0 + i), *(sizes + i));
    block_source_from_strbuf(*source + i, buf___19 + i);
    err___4 = reftable_new_reader(*readers + i, *source + i, (char const   *)"name");
    if (err___4 != 0) {
      fflush(stderr);
      fflush(stdout);
      tmp___2 = reftable_error_str(err___4);
      fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/merged_test.c",
              107, err___4, tmp___2);
      abort();
    }
    reftable_table_from_reader(tabs + i, *(*readers + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  err___4 = reftable_new_merged_table(& mt, tabs, n, (uint32_t )0x73686131);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___3 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/merged_test.c",
            112, err___4, tmp___3);
    abort();
  }
  return (mt);
}
}
static void readers_destroy(struct reftable_reader **readers , size_t n )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < n)) {
      goto while_break;
    }
    reftable_reader_free(*(readers + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  reftable_free((void *)readers);
  return;
}
}
static void test_merged_between(void)
{
  uint8_t hash1[20] ;
  unsigned int tmp ;
  struct reftable_ref_record r1[1] ;
  struct reftable_ref_record r2[1] ;
  struct reftable_ref_record *refs___0[2] ;
  int sizes[2] ;
  struct strbuf bufs___0[2] ;
  struct reftable_block_source *bs ;
  struct reftable_reader **readers ;
  struct reftable_merged_table *mt ;
  struct reftable_merged_table *tmp___0 ;
  int i ;
  struct reftable_ref_record ref ;
  struct reftable_iterator it ;
  int err___4 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;

  {
  hash1[0] = (uint8_t )1;
  hash1[1] = (uint8_t )2;
  hash1[2] = (uint8_t )3;
  hash1[3] = (uint8_t )0;
  tmp = 4U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 20U) {
      goto while_break;
    }
    hash1[tmp] = (unsigned char)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  r1[0].refname = "b";
  r1[0].update_index = (uint64_t )1;
  r1[0].value_type = (enum __anonenum_value_type_72961049 )1;
  r1[0].value.val1 = hash1;
  r2[0].refname = "a";
  r2[0].update_index = (uint64_t )2;
  r2[0].value_type = (enum __anonenum_value_type_72961049 )0;
  r2[0].value.val2.value = (uint8_t *)0;
  r2[0].value.val2.target_value = (uint8_t *)0;
  refs___0[0] = r1;
  refs___0[1] = r2;
  sizes[0] = 1;
  sizes[1] = 1;
  bufs___0[0].alloc = 0UL;
  bufs___0[0].len = 0UL;
  bufs___0[0].buf = strbuf_slopbuf;
  bufs___0[1].alloc = 0UL;
  bufs___0[1].len = 0UL;
  bufs___0[1].buf = strbuf_slopbuf;
  bs = (struct reftable_block_source *)((void *)0);
  readers = (struct reftable_reader **)((void *)0);
  tmp___0 = merged_table_from_records(refs___0, & bs, & readers, sizes, bufs___0,
                                      2);
  mt = tmp___0;
  ref.refname = (char *)((void *)0);
  ref.update_index = 0UL;
  ref.value_type = 0U;
  ref.value.val2.value = (uint8_t *)0;
  ref.value.val2.target_value = (uint8_t *)0;
  it.ops = (struct reftable_iterator_vtable *)((void *)0);
  it.iter_arg = (void *)0;
  tmp___1 = reftable_merged_table_seek_ref(mt, & it, (char const   *)"a");
  err___4 = tmp___1;
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___2 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/merged_test.c",
            151, err___4, tmp___2);
    abort();
  }
  err___4 = reftable_iterator_next_ref(& it, & ref);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___3 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/merged_test.c",
            154, err___4, tmp___3);
    abort();
  }
  if (! (ref.update_index == 2UL)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/merged_test.c",
            155, "ref.update_index == 2");
    abort();
  }
  reftable_ref_record_release(& ref);
  reftable_iterator_destroy(& it);
  readers_destroy(readers, (size_t )2);
  reftable_merged_table_free(mt);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(bufs___0) / sizeof(bufs___0[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break___0;
    }
    strbuf_release(& bufs___0[i]);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  reftable_free((void *)bs);
  return;
}
}
static void test_merged(void)
{
  uint8_t hash1[20] ;
  unsigned int tmp ;
  uint8_t hash2[20] ;
  unsigned int tmp___0 ;
  struct reftable_ref_record r1[3] ;
  struct reftable_ref_record r2[1] ;
  struct reftable_ref_record r3[2] ;
  struct reftable_ref_record *want[4] ;
  struct reftable_ref_record *refs___0[3] ;
  int sizes[3] ;
  struct strbuf bufs___0[3] ;
  struct reftable_block_source *bs ;
  struct reftable_reader **readers ;
  struct reftable_merged_table *mt ;
  struct reftable_merged_table *tmp___1 ;
  struct reftable_iterator it ;
  int err___4 ;
  int tmp___2 ;
  struct reftable_ref_record *out ;
  size_t len___0 ;
  size_t cap ;
  int i ;
  char const   *tmp___3 ;
  uint32_t tmp___4 ;
  uint64_t tmp___5 ;
  struct reftable_ref_record ref ;
  int err___5 ;
  int tmp___6 ;
  void *tmp___7 ;
  size_t tmp___8 ;
  int tmp___9 ;

  {
  hash1[0] = (uint8_t )1;
  tmp = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 20U) {
      goto while_break;
    }
    hash1[tmp] = (unsigned char)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  hash2[0] = (uint8_t )2;
  tmp___0 = 1U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (tmp___0 >= 20U) {
      goto while_break___0;
    }
    hash2[tmp___0] = (unsigned char)0;
    tmp___0 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  r1[0].refname = "a";
  r1[0].update_index = (uint64_t )1;
  r1[0].value_type = (enum __anonenum_value_type_72961049 )1;
  r1[0].value.val1 = hash1;
  r1[1].refname = "b";
  r1[1].update_index = (uint64_t )1;
  r1[1].value_type = (enum __anonenum_value_type_72961049 )1;
  r1[1].value.val1 = hash1;
  r1[2].refname = "c";
  r1[2].update_index = (uint64_t )1;
  r1[2].value_type = (enum __anonenum_value_type_72961049 )1;
  r1[2].value.val1 = hash1;
  r2[0].refname = "a";
  r2[0].update_index = (uint64_t )2;
  r2[0].value_type = (enum __anonenum_value_type_72961049 )0;
  r2[0].value.val2.value = (uint8_t *)0;
  r2[0].value.val2.target_value = (uint8_t *)0;
  r3[0].refname = "c";
  r3[0].update_index = (uint64_t )3;
  r3[0].value_type = (enum __anonenum_value_type_72961049 )1;
  r3[0].value.val1 = hash2;
  r3[1].refname = "d";
  r3[1].update_index = (uint64_t )3;
  r3[1].value_type = (enum __anonenum_value_type_72961049 )1;
  r3[1].value.val1 = hash1;
  want[0] = & r2[0];
  want[1] = & r1[1];
  want[2] = & r3[0];
  want[3] = & r3[1];
  refs___0[0] = r1;
  refs___0[1] = r2;
  refs___0[2] = r3;
  sizes[0] = 3;
  sizes[1] = 1;
  sizes[2] = 2;
  bufs___0[0].alloc = 0UL;
  bufs___0[0].len = 0UL;
  bufs___0[0].buf = strbuf_slopbuf;
  bufs___0[1].alloc = 0UL;
  bufs___0[1].len = 0UL;
  bufs___0[1].buf = strbuf_slopbuf;
  bufs___0[2].alloc = 0UL;
  bufs___0[2].len = 0UL;
  bufs___0[2].buf = strbuf_slopbuf;
  bs = (struct reftable_block_source *)((void *)0);
  readers = (struct reftable_reader **)((void *)0);
  tmp___1 = merged_table_from_records(refs___0, & bs, & readers, sizes, bufs___0,
                                      3);
  mt = tmp___1;
  it.ops = (struct reftable_iterator_vtable *)((void *)0);
  it.iter_arg = (void *)0;
  tmp___2 = reftable_merged_table_seek_ref(mt, & it, (char const   *)"a");
  err___4 = tmp___2;
  out = (struct reftable_ref_record *)((void *)0);
  len___0 = (size_t )0;
  cap = (size_t )0;
  i = 0;
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___3 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/merged_test.c",
            232, err___4, tmp___3);
    abort();
  }
  tmp___4 = reftable_merged_table_hash_id(mt);
  if (! (tmp___4 == 1936220465U)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/merged_test.c",
            233, "reftable_merged_table_hash_id(mt) == GIT_SHA1_FORMAT_ID");
    abort();
  }
  tmp___5 = reftable_merged_table_min_update_index(mt);
  if (! (tmp___5 == 1UL)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/merged_test.c",
            234, "reftable_merged_table_min_update_index(mt) == 1");
    abort();
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (len___0 < 100UL)) {
      goto while_break___1;
    }
    ref.refname = (char *)((void *)0);
    ref.update_index = 0UL;
    ref.value_type = 0U;
    ref.value.val2.value = (uint8_t *)0;
    ref.value.val2.target_value = (uint8_t *)0;
    tmp___6 = reftable_iterator_next_ref(& it, & ref);
    err___5 = tmp___6;
    if (err___5 > 0) {
      goto while_break___1;
    }
    if (len___0 == cap) {
      cap = 2UL * cap + 1UL;
      tmp___7 = reftable_realloc((void *)out, sizeof(struct reftable_ref_record ) * cap);
      out = (struct reftable_ref_record *)tmp___7;
    }
    tmp___8 = len___0;
    len___0 ++;
    *(out + tmp___8) = ref;
  }
  while_break___1: /* CIL Label */ ;
  }
  reftable_iterator_destroy(& it);
  if (! (sizeof(want) / sizeof(want[0]) + (sizeof(char [1]) - 1UL) == len___0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/merged_test.c",
            251, "ARRAY_SIZE(want) == len");
    abort();
  }
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((size_t )i < len___0)) {
      goto while_break___2;
    }
    tmp___9 = reftable_ref_record_equal(want[i], out + i, 20);
    if (! tmp___9) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/merged_test.c",
              254, "reftable_ref_record_equal(want[i], &out[i], GIT_SHA1_RAWSZ)");
      abort();
    }
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! ((size_t )i < len___0)) {
      goto while_break___3;
    }
    reftable_ref_record_release(out + i);
    i ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  reftable_free((void *)out);
  i = 0;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! (i < 3)) {
      goto while_break___4;
    }
    strbuf_release(& bufs___0[i]);
    i ++;
  }
  while_break___4: /* CIL Label */ ;
  }
  readers_destroy(readers, (size_t )3);
  reftable_merged_table_free(mt);
  reftable_free((void *)bs);
  return;
}
}
static struct reftable_merged_table *merged_table_from_log_records(struct reftable_log_record **logs ,
                                                                   struct reftable_block_source **source ,
                                                                   struct reftable_reader ***readers ,
                                                                   int *sizes , struct strbuf *buf___19 ,
                                                                   int n )
{
  int i ;
  struct reftable_merged_table *mt ;
  int err___4 ;
  struct reftable_table *tabs ;
  void *tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;

  {
  i = 0;
  mt = (struct reftable_merged_table *)((void *)0);
  tmp = reftable_calloc((unsigned long )n * sizeof(struct reftable_table ));
  tabs = (struct reftable_table *)tmp;
  tmp___0 = reftable_calloc((unsigned long )n * sizeof(struct reftable_reader *));
  *readers = (struct reftable_reader **)tmp___0;
  tmp___1 = reftable_calloc((unsigned long )n * sizeof(*(*source)));
  *source = (struct reftable_block_source *)tmp___1;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    write_test_log_table(buf___19 + i, *(logs + i), *(sizes + i), (uint64_t )(i + 1));
    block_source_from_strbuf(*source + i, buf___19 + i);
    err___4 = reftable_new_reader(*readers + i, *source + i, (char const   *)"name");
    if (err___4 != 0) {
      fflush(stderr);
      fflush(stdout);
      tmp___2 = reftable_error_str(err___4);
      fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/merged_test.c",
              288, err___4, tmp___2);
      abort();
    }
    reftable_table_from_reader(tabs + i, *(*readers + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  err___4 = reftable_new_merged_table(& mt, tabs, n, (uint32_t )0x73686131);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___3 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/merged_test.c",
            293, err___4, tmp___3);
    abort();
  }
  return (mt);
}
}
static void test_merged_logs(void)
{
  uint8_t hash1[20] ;
  unsigned int tmp ;
  uint8_t hash2[20] ;
  unsigned int tmp___0 ;
  uint8_t hash3[20] ;
  unsigned int tmp___1 ;
  struct reftable_log_record r1[2] ;
  struct reftable_log_record r2[1] ;
  struct reftable_log_record r3[1] ;
  struct reftable_log_record *want[3] ;
  struct reftable_log_record *logs[3] ;
  int sizes[3] ;
  struct strbuf bufs___0[3] ;
  struct reftable_block_source *bs ;
  struct reftable_reader **readers ;
  struct reftable_merged_table *mt ;
  struct reftable_merged_table *tmp___2 ;
  struct reftable_iterator it ;
  int err___4 ;
  int tmp___3 ;
  struct reftable_log_record *out ;
  size_t len___0 ;
  size_t cap ;
  int i ;
  char const   *tmp___4 ;
  uint32_t tmp___5 ;
  uint64_t tmp___6 ;
  struct reftable_log_record log ;
  int err___5 ;
  int tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  int tmp___10 ;
  char const   *tmp___11 ;
  char const   *tmp___12 ;
  int tmp___13 ;

  {
  hash1[0] = (uint8_t )1;
  tmp = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 20U) {
      goto while_break;
    }
    hash1[tmp] = (unsigned char)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  hash2[0] = (uint8_t )2;
  tmp___0 = 1U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (tmp___0 >= 20U) {
      goto while_break___0;
    }
    hash2[tmp___0] = (unsigned char)0;
    tmp___0 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  hash3[0] = (uint8_t )3;
  tmp___1 = 1U;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (tmp___1 >= 20U) {
      goto while_break___1;
    }
    hash3[tmp___1] = (unsigned char)0;
    tmp___1 ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  r1[0].refname = "a";
  r1[0].update_index = (uint64_t )2;
  r1[0].value_type = (enum __anonenum_value_type_859643437 )1;
  r1[0].value.update.new_hash = (uint8_t *)0;
  r1[0].value.update.old_hash = hash2;
  r1[0].value.update.name = "jane doe";
  r1[0].value.update.email = "jane@invalid";
  r1[0].value.update.time = 0UL;
  r1[0].value.update.tz_offset = (short)0;
  r1[0].value.update.message = "message2";
  r1[1].refname = "a";
  r1[1].update_index = (uint64_t )1;
  r1[1].value_type = (enum __anonenum_value_type_859643437 )1;
  r1[1].value.update.new_hash = hash2;
  r1[1].value.update.old_hash = hash1;
  r1[1].value.update.name = "jane doe";
  r1[1].value.update.email = "jane@invalid";
  r1[1].value.update.time = 0UL;
  r1[1].value.update.tz_offset = (short)0;
  r1[1].value.update.message = "message1";
  r2[0].refname = "a";
  r2[0].update_index = (uint64_t )3;
  r2[0].value_type = (enum __anonenum_value_type_859643437 )1;
  r2[0].value.update.new_hash = hash3;
  r2[0].value.update.old_hash = (uint8_t *)0;
  r2[0].value.update.name = "jane doe";
  r2[0].value.update.email = "jane@invalid";
  r2[0].value.update.time = 0UL;
  r2[0].value.update.tz_offset = (short)0;
  r2[0].value.update.message = "message3";
  r3[0].refname = "a";
  r3[0].update_index = (uint64_t )2;
  r3[0].value_type = (enum __anonenum_value_type_859643437 )0;
  r3[0].value.update.new_hash = (uint8_t *)0;
  r3[0].value.update.old_hash = (uint8_t *)0;
  r3[0].value.update.name = (char *)0;
  r3[0].value.update.email = (char *)0;
  r3[0].value.update.time = 0UL;
  r3[0].value.update.tz_offset = (short)0;
  r3[0].value.update.message = (char *)0;
  want[0] = & r2[0];
  want[1] = & r3[0];
  want[2] = & r1[1];
  logs[0] = r1;
  logs[1] = r2;
  logs[2] = r3;
  sizes[0] = 2;
  sizes[1] = 1;
  sizes[2] = 1;
  bufs___0[0].alloc = 0UL;
  bufs___0[0].len = 0UL;
  bufs___0[0].buf = strbuf_slopbuf;
  bufs___0[1].alloc = 0UL;
  bufs___0[1].len = 0UL;
  bufs___0[1].buf = strbuf_slopbuf;
  bufs___0[2].alloc = 0UL;
  bufs___0[2].len = 0UL;
  bufs___0[2].buf = strbuf_slopbuf;
  bs = (struct reftable_block_source *)((void *)0);
  readers = (struct reftable_reader **)((void *)0);
  tmp___2 = merged_table_from_log_records(logs, & bs, & readers, sizes, bufs___0,
                                          3);
  mt = tmp___2;
  it.ops = (struct reftable_iterator_vtable *)((void *)0);
  it.iter_arg = (void *)0;
  tmp___3 = reftable_merged_table_seek_log(mt, & it, (char const   *)"a");
  err___4 = tmp___3;
  out = (struct reftable_log_record *)((void *)0);
  len___0 = (size_t )0;
  cap = (size_t )0;
  i = 0;
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___4 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/merged_test.c",
            369, err___4, tmp___4);
    abort();
  }
  tmp___5 = reftable_merged_table_hash_id(mt);
  if (! (tmp___5 == 1936220465U)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/merged_test.c",
            370, "reftable_merged_table_hash_id(mt) == GIT_SHA1_FORMAT_ID");
    abort();
  }
  tmp___6 = reftable_merged_table_min_update_index(mt);
  if (! (tmp___6 == 1UL)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/merged_test.c",
            371, "reftable_merged_table_min_update_index(mt) == 1");
    abort();
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (len___0 < 100UL)) {
      goto while_break___2;
    }
    log.refname = (char *)((void *)0);
    log.update_index = 0UL;
    log.value_type = 0U;
    log.value.update.new_hash = (uint8_t *)0;
    log.value.update.old_hash = (uint8_t *)0;
    log.value.update.name = (char *)0;
    log.value.update.email = (char *)0;
    log.value.update.time = 0UL;
    log.value.update.tz_offset = (short)0;
    log.value.update.message = (char *)0;
    tmp___7 = reftable_iterator_next_log(& it, & log);
    err___5 = tmp___7;
    if (err___5 > 0) {
      goto while_break___2;
    }
    if (len___0 == cap) {
      cap = 2UL * cap + 1UL;
      tmp___8 = reftable_realloc((void *)out, sizeof(struct reftable_log_record ) * cap);
      out = (struct reftable_log_record *)tmp___8;
    }
    tmp___9 = len___0;
    len___0 ++;
    *(out + tmp___9) = log;
  }
  while_break___2: /* CIL Label */ ;
  }
  reftable_iterator_destroy(& it);
  if (! (sizeof(want) / sizeof(want[0]) + (sizeof(char [1]) - 1UL) == len___0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/merged_test.c",
            388, "ARRAY_SIZE(want) == len");
    abort();
  }
  i = 0;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! ((size_t )i < len___0)) {
      goto while_break___3;
    }
    tmp___10 = reftable_log_record_equal(want[i], out + i, 20);
    if (! tmp___10) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/merged_test.c",
              391, "reftable_log_record_equal(want[i], &out[i], GIT_SHA1_RAWSZ)");
      abort();
    }
    i ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  err___4 = reftable_merged_table_seek_log_at(mt, & it, (char const   *)"a", (uint64_t )2);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___11 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/merged_test.c",
            395, err___4, tmp___11);
    abort();
  }
  reftable_log_record_release(out + 0);
  err___4 = reftable_iterator_next_log(& it, out + 0);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___12 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/merged_test.c",
            398, err___4, tmp___12);
    abort();
  }
  tmp___13 = reftable_log_record_equal(out + 0, & r3[0], 20);
  if (! tmp___13) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/merged_test.c",
            399, "reftable_log_record_equal(&out[0], &r3[0], GIT_SHA1_RAWSZ)");
    abort();
  }
  reftable_iterator_destroy(& it);
  i = 0;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! ((size_t )i < len___0)) {
      goto while_break___4;
    }
    reftable_log_record_release(out + i);
    i ++;
  }
  while_break___4: /* CIL Label */ ;
  }
  reftable_free((void *)out);
  i = 0;
  {
  while (1) {
    while_continue___5: /* CIL Label */ ;
    if (! (i < 3)) {
      goto while_break___5;
    }
    strbuf_release(& bufs___0[i]);
    i ++;
  }
  while_break___5: /* CIL Label */ ;
  }
  readers_destroy(readers, (size_t )3);
  reftable_merged_table_free(mt);
  reftable_free((void *)bs);
  return;
}
}
static void test_default_write_opts(void)
{
  struct reftable_write_options opts___1 ;
  struct strbuf buf___19 ;
  struct reftable_writer *w ;
  struct reftable_writer *tmp ;
  struct reftable_ref_record rec ;
  int err___4 ;
  struct reftable_block_source source ;
  struct reftable_table *tab ;
  void *tmp___0 ;
  uint32_t hash_id ;
  struct reftable_reader *rd ;
  struct reftable_merged_table *merged ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;

  {
  opts___1.unpadded = 0U;
  opts___1.block_size = 0U;
  opts___1.skip_index_objects = 0U;
  opts___1.restart_interval = 0;
  opts___1.hash_id = 0U;
  opts___1.default_permissions = 0U;
  opts___1.skip_name_check = 0U;
  opts___1.exact_log_message = 0U;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = reftable_new_writer(& strbuf_add_void, (void *)(& buf___19), & opts___1);
  w = tmp;
  rec.refname = "master";
  rec.update_index = (uint64_t )1;
  rec.value_type = 0U;
  rec.value.val2.value = (uint8_t *)0;
  rec.value.val2.target_value = (uint8_t *)0;
  source.ops = (struct reftable_block_source_vtable *)((void *)0);
  source.arg = (void *)0;
  tmp___0 = reftable_calloc(sizeof(*tab));
  tab = (struct reftable_table *)tmp___0;
  rd = (struct reftable_reader *)((void *)0);
  merged = (struct reftable_merged_table *)((void *)0);
  reftable_writer_set_limits(w, (uint64_t )1, (uint64_t )1);
  err___4 = reftable_writer_add_ref(w, & rec);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___1 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/merged_test.c",
            436, err___4, tmp___1);
    abort();
  }
  err___4 = reftable_writer_close(w);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___2 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/merged_test.c",
            439, err___4, tmp___2);
    abort();
  }
  reftable_writer_free(w);
  block_source_from_strbuf(& source, & buf___19);
  err___4 = reftable_new_reader(& rd, & source, (char const   *)"filename");
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___3 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/merged_test.c",
            445, err___4, tmp___3);
    abort();
  }
  hash_id = reftable_reader_hash_id(rd);
  if (! (hash_id == 1936220465U)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/merged_test.c",
            448, "hash_id == GIT_SHA1_FORMAT_ID");
    abort();
  }
  reftable_table_from_reader(tab + 0, rd);
  err___4 = reftable_new_merged_table(& merged, tab, 1, (uint32_t )0x73686131);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___4 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/merged_test.c",
            452, err___4, tmp___4);
    abort();
  }
  reftable_reader_free(rd);
  reftable_merged_table_free(merged);
  strbuf_release(& buf___19);
  return;
}
}
int merged_test_main(int argc , char const   **argv___0 )
{


  {
  fprintf(stderr, (char const   *)"running %s\n", "test_merged_logs");
  fflush(stderr);
  test_merged_logs();
  fprintf(stderr, (char const   *)"running %s\n", "test_merged_between");
  fflush(stderr);
  test_merged_between();
  fprintf(stderr, (char const   *)"running %s\n", "test_merged");
  fflush(stderr);
  test_merged();
  fprintf(stderr, (char const   *)"running %s\n", "test_default_write_opts");
  fflush(stderr);
  test_default_write_opts();
  return (0);
}
}
void merged_iter_pqueue_check(struct merged_iter_pqueue pq )
{
  int i ;
  int parent ;
  int tmp ;

  {
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < pq.len)) {
      goto while_break;
    }
    parent = (i - 1) / 2;
    tmp = pq_less(pq.heap + parent, pq.heap + i);
    if (! tmp) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/pq_test.c",
              24, "pq_less(&pq.heap[parent], &pq.heap[i])");
      abort();
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void test_pq(void)
{
  char *names___0[54] ;
  unsigned int tmp ;
  int N ;
  struct merged_iter_pqueue pq ;
  char const   *last ;
  int i ;
  char name___0[100] ;
  struct reftable_record rec ;
  struct reftable_record tmp___0 ;
  struct pq_entry e ;
  struct reftable_ref_record *tmp___1 ;
  struct pq_entry e___0 ;
  struct pq_entry tmp___2 ;
  struct reftable_ref_record *ref ;
  struct reftable_ref_record *tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  names___0[0] = (char *)((void *)0);
  tmp = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 54U) {
      goto while_break;
    }
    names___0[tmp] = (char *)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  N = (int )((sizeof(names___0) / sizeof(names___0[0]) + (sizeof(char [1]) - 1UL)) - 1UL);
  pq.heap = (struct pq_entry *)((void *)0);
  pq.len = 0UL;
  pq.cap = 0UL;
  last = (char const   *)((void *)0);
  i = 0;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break___0;
    }
    snprintf(name___0, sizeof(name___0), (char const   *)"%02d", i);
    names___0[i] = xstrdup((char const   *)(name___0));
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 1;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    tmp___0 = reftable_new_record((uint8_t )'r');
    rec = tmp___0;
    e.index = 0;
    e.rec.data = (void *)0;
    e.rec.ops = (struct reftable_record_vtable *)0;
    tmp___1 = reftable_record_as_ref(& rec);
    tmp___1->refname = names___0[i];
    e.rec = rec;
    merged_iter_pqueue_add(& pq, e);
    merged_iter_pqueue_check(pq);
    i = (i * 7) % N;
    if (! (i != 1)) {
      goto while_break___1;
    }
  }
  while_break___1: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    tmp___5 = merged_iter_pqueue_is_empty(pq);
    if (tmp___5) {
      goto while_break___2;
    }
    tmp___2 = merged_iter_pqueue_remove(& pq);
    e___0 = tmp___2;
    tmp___3 = reftable_record_as_ref(& e___0.rec);
    ref = tmp___3;
    merged_iter_pqueue_check(pq);
    if (last) {
      tmp___4 = strcmp(last, (char const   *)ref->refname);
      if (! (tmp___4 < 0)) {
        fflush(stderr);
        fflush(stdout);
        fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/pq_test.c",
                64, "strcmp(last, ref->refname) < 0");
        abort();
      }
    }
    last = (char const   *)ref->refname;
    ref->refname = (char *)((void *)0);
    reftable_free((void *)ref);
  }
  while_break___2: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break___3;
    }
    reftable_free((void *)names___0[i]);
    i ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  merged_iter_pqueue_release(& pq);
  return;
}
}
int pq_test_main(int argc , char const   **argv___0 )
{


  {
  fprintf(stderr, (char const   *)"running %s\n", "test_pq");
  fflush(stderr);
  test_pq();
  return (0);
}
}
static void test_copy(struct reftable_record *rec )
{
  struct reftable_record copy___0 ;
  uint8_t tmp ;
  struct reftable_record tmp___0 ;
  uint8_t tmp___1 ;
  struct reftable_ref_record *tmp___2 ;
  struct reftable_ref_record *tmp___3 ;
  int tmp___4 ;
  struct reftable_log_record *tmp___5 ;
  struct reftable_log_record *tmp___6 ;
  int tmp___7 ;

  {
  tmp = reftable_record_type(rec);
  tmp___0 = reftable_new_record(tmp);
  copy___0 = tmp___0;
  reftable_record_copy_from(& copy___0, rec, 20);
  reftable_record_copy_from(& copy___0, rec, 20);
  tmp___1 = reftable_record_type(& copy___0);
  {
  if ((int )tmp___1 == 114) {
    goto case_114;
  }
  if ((int )tmp___1 == 103) {
    goto case_103;
  }
  goto switch_break;
  case_114: /* CIL Label */
  tmp___2 = reftable_record_as_ref(rec);
  tmp___3 = reftable_record_as_ref(& copy___0);
  tmp___4 = reftable_ref_record_equal(tmp___3, tmp___2, 20);
  if (! tmp___4) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
            28, "reftable_ref_record_equal(reftable_record_as_ref(&copy), reftable_record_as_ref(rec), GIT_SHA1_RAWSZ)");
    abort();
  }
  goto switch_break;
  case_103: /* CIL Label */
  tmp___5 = reftable_record_as_log(rec);
  tmp___6 = reftable_record_as_log(& copy___0);
  tmp___7 = reftable_log_record_equal(tmp___6, tmp___5, 20);
  if (! tmp___7) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
            33, "reftable_log_record_equal(reftable_record_as_log(&copy), reftable_record_as_log(rec), GIT_SHA1_RAWSZ)");
    abort();
  }
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  reftable_record_destroy(& copy___0);
  return;
}
}
static void test_varint_roundtrip(void)
{
  uint64_t inputs[9] ;
  int i ;
  uint8_t dest[10] ;
  struct string_view out ;
  uint64_t in ;
  int n ;
  int tmp ;
  uint64_t got ;

  {
  inputs[0] = (uint64_t )0;
  inputs[1] = (uint64_t )1;
  inputs[2] = (uint64_t )27;
  inputs[3] = (uint64_t )127;
  inputs[4] = (uint64_t )128;
  inputs[5] = (uint64_t )257;
  inputs[6] = (uint64_t )4096;
  inputs[7] = 1UL << 63;
  inputs[8] = ((1UL << 63) + (1UL << 63)) - 1UL;
  i = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(inputs) / sizeof(inputs[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    out.buf = dest;
    out.len = sizeof(dest);
    in = inputs[i];
    tmp = put_var_int(& out, in);
    n = tmp;
    got = (uint64_t )0;
    if (! (n > 0)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
              62, "n > 0");
      abort();
    }
    out.len = (size_t )n;
    n = get_var_int(& got, & out);
    if (! (n > 0)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
              65, "n > 0");
      abort();
    }
    if (! (got == in)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
              67, "got == in");
      abort();
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void test_common_prefix___0(void)
{
  struct __anonstruct_cases_713894858 cases[4] ;
  int i ;
  struct strbuf a ;
  struct strbuf b___0 ;
  int tmp ;

  {
  cases[0].a = (char const   *)"abc";
  cases[0].b = (char const   *)"ab";
  cases[0].want = 2;
  cases[1].a = (char const   *)"";
  cases[1].b = (char const   *)"abc";
  cases[1].want = 0;
  cases[2].a = (char const   *)"abc";
  cases[2].b = (char const   *)"abd";
  cases[2].want = 2;
  cases[3].a = (char const   *)"abc";
  cases[3].b = (char const   *)"pqr";
  cases[3].want = 0;
  i = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(cases) / sizeof(cases[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    a.alloc = 0UL;
    a.len = 0UL;
    a.buf = strbuf_slopbuf;
    b___0.alloc = 0UL;
    b___0.len = 0UL;
    b___0.buf = strbuf_slopbuf;
    strbuf_addstr(& a, cases[i].a);
    strbuf_addstr(& b___0, cases[i].b);
    tmp = common_prefix_size(& a, & b___0);
    if (! (tmp == cases[i].want)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
              89, "common_prefix_size(&a, &b) == cases[i].want");
      abort();
    }
    strbuf_release(& a);
    strbuf_release(& b___0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void set_hash(uint8_t *h , int j )
{
  int i ;
  int tmp ;

  {
  i = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = hash_size((uint32_t )0x73686131);
    if (! (i < tmp)) {
      goto while_break;
    }
    *(h + i) = (uint8_t )((j >> i) & 0xff);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void test_reftable_ref_record_roundtrip(void)
{
  int i ;
  struct reftable_ref_record in ;
  struct reftable_ref_record out ;
  struct reftable_record rec_out ;
  struct strbuf key___1 ;
  struct reftable_record rec ;
  uint8_t buffer___5[1024] ;
  unsigned int tmp ;
  struct string_view dest ;
  int n ;
  int m ;
  void *tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;
  uint8_t tmp___3 ;
  int tmp___4 ;

  {
  i = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 4)) {
      goto while_break;
    }
    in.refname = (char *)((void *)0);
    in.update_index = 0UL;
    in.value_type = 0U;
    in.value.val2.value = (uint8_t *)0;
    in.value.val2.target_value = (uint8_t *)0;
    out.refname = (char *)((void *)0);
    out.update_index = 0UL;
    out.value_type = 0U;
    out.value.val2.value = (uint8_t *)0;
    out.value.val2.target_value = (uint8_t *)0;
    rec_out.data = (void *)0;
    rec_out.ops = (struct reftable_record_vtable *)0;
    key___1.alloc = 0UL;
    key___1.len = 0UL;
    key___1.buf = strbuf_slopbuf;
    rec.data = (void *)0;
    rec.ops = (struct reftable_record_vtable *)0;
    buffer___5[0] = (uint8_t )0;
    tmp = 1U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (tmp >= 1024U) {
        goto while_break___0;
      }
      buffer___5[tmp] = (unsigned char)0;
      tmp ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    dest.buf = buffer___5;
    dest.len = sizeof(buffer___5);
    in.value_type = (enum __anonenum_value_type_72961049 )i;
    {
    if (i == 0) {
      goto case_0;
    }
    if (i == 1) {
      goto case_1;
    }
    if (i == 2) {
      goto case_2;
    }
    if (i == 3) {
      goto case_3;
    }
    goto switch_break;
    case_0: /* CIL Label */
    goto switch_break;
    case_1: /* CIL Label */
    tmp___0 = reftable_malloc((size_t )20);
    in.value.val1 = (uint8_t *)tmp___0;
    set_hash(in.value.val1, 1);
    goto switch_break;
    case_2: /* CIL Label */
    tmp___1 = reftable_malloc((size_t )20);
    in.value.val2.value = (uint8_t *)tmp___1;
    set_hash(in.value.val2.value, 1);
    tmp___2 = reftable_malloc((size_t )20);
    in.value.val2.target_value = (uint8_t *)tmp___2;
    set_hash(in.value.val2.target_value, 2);
    goto switch_break;
    case_3: /* CIL Label */
    in.value.symref = xstrdup((char const   *)"target");
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
    in.refname = xstrdup((char const   *)"refs/heads/master");
    reftable_record_from_ref(& rec, & in);
    test_copy(& rec);
    tmp___3 = reftable_record_val_type(& rec);
    if (! ((int )tmp___3 == i)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
              146, "reftable_record_val_type(&rec) == i");
      abort();
    }
    reftable_record_key(& rec, & key___1);
    n = reftable_record_encode(& rec, dest, 20);
    if (! (n > 0)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
              150, "n > 0");
      abort();
    }
    reftable_record_from_ref(& rec_out, & out);
    m = reftable_record_decode(& rec_out, key___1, (uint8_t )i, dest, 20);
    if (! (n == m)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
              157, "n == m");
      abort();
    }
    tmp___4 = reftable_ref_record_equal(& in, & out, 20);
    if (! tmp___4) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
              159, "reftable_ref_record_equal(&in, &out, GIT_SHA1_RAWSZ)");
      abort();
    }
    reftable_record_release(& rec_out);
    strbuf_release(& key___1);
    reftable_ref_record_release(& in);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void test_reftable_log_record_equal(void)
{
  struct reftable_log_record in[2] ;
  char *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = xstrdup((char const   *)"refs/heads/master");
  tmp___0 = xstrdup((char const   *)"refs/heads/master");
  in[0].refname = tmp;
  in[0].update_index = (uint64_t )42;
  in[0].value_type = 0U;
  in[0].value.update.new_hash = (uint8_t *)0;
  in[0].value.update.old_hash = (uint8_t *)0;
  in[0].value.update.name = (char *)0;
  in[0].value.update.email = (char *)0;
  in[0].value.update.time = 0UL;
  in[0].value.update.tz_offset = (short)0;
  in[0].value.update.message = (char *)0;
  in[1].refname = tmp___0;
  in[1].update_index = (uint64_t )22;
  in[1].value_type = 0U;
  in[1].value.update.new_hash = (uint8_t *)0;
  in[1].value.update.old_hash = (uint8_t *)0;
  in[1].value.update.name = (char *)0;
  in[1].value.update.email = (char *)0;
  in[1].value.update.time = 0UL;
  in[1].value.update.tz_offset = (short)0;
  in[1].value.update.message = (char *)0;
  tmp___1 = reftable_log_record_equal(& in[0], & in[1], 20);
  if (tmp___1) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
            180, "!reftable_log_record_equal(&in[0], &in[1], GIT_SHA1_RAWSZ)");
    abort();
  }
  in[1].update_index = in[0].update_index;
  tmp___2 = reftable_log_record_equal(& in[0], & in[1], 20);
  if (! tmp___2) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
            182, "reftable_log_record_equal(&in[0], &in[1], GIT_SHA1_RAWSZ)");
    abort();
  }
  reftable_log_record_release(& in[0]);
  reftable_log_record_release(& in[1]);
  return;
}
}
static void test_reftable_log_record_roundtrip(void)
{
  int i ;
  struct reftable_log_record in[2] ;
  char *tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  char *tmp___2 ;
  char *tmp___3 ;
  char *tmp___4 ;
  char *tmp___5 ;
  struct reftable_record rec ;
  struct strbuf key___1 ;
  uint8_t buffer___5[1024] ;
  unsigned int tmp___6 ;
  struct string_view dest ;
  struct reftable_log_record out ;
  char *tmp___7 ;
  void *tmp___8 ;
  void *tmp___9 ;
  char *tmp___10 ;
  char *tmp___11 ;
  char *tmp___12 ;
  struct reftable_record rec_out ;
  int n ;
  int m ;
  int valtype ;
  uint8_t tmp___13 ;
  int tmp___14 ;

  {
  tmp = xstrdup((char const   *)"refs/heads/master");
  tmp___0 = reftable_malloc((size_t )20);
  tmp___1 = reftable_malloc((size_t )20);
  tmp___2 = xstrdup((char const   *)"han-wen");
  tmp___3 = xstrdup((char const   *)"hanwen@google.com");
  tmp___4 = xstrdup((char const   *)"test");
  tmp___5 = xstrdup((char const   *)"refs/heads/master");
  in[0].refname = tmp;
  in[0].update_index = (uint64_t )42;
  in[0].value_type = (enum __anonenum_value_type_859643437 )1;
  in[0].value.update.new_hash = (uint8_t *)tmp___1;
  in[0].value.update.old_hash = (uint8_t *)tmp___0;
  in[0].value.update.name = tmp___2;
  in[0].value.update.email = tmp___3;
  in[0].value.update.time = (uint64_t )1577123507;
  in[0].value.update.tz_offset = (int16_t )100;
  in[0].value.update.message = tmp___4;
  in[1].refname = tmp___5;
  in[1].update_index = (uint64_t )22;
  in[1].value_type = (enum __anonenum_value_type_859643437 )0;
  in[1].value.update.new_hash = (uint8_t *)0;
  in[1].value.update.old_hash = (uint8_t *)0;
  in[1].value.update.name = (char *)0;
  in[1].value.update.email = (char *)0;
  in[1].value.update.time = 0UL;
  in[1].value.update.tz_offset = (short)0;
  in[1].value.update.message = (char *)0;
  set_test_hash(in[0].value.update.new_hash, 1);
  set_test_hash(in[0].value.update.old_hash, 2);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(in) / sizeof(in[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    rec.data = (void *)0;
    rec.ops = (struct reftable_record_vtable *)0;
    key___1.alloc = 0UL;
    key___1.len = 0UL;
    key___1.buf = strbuf_slopbuf;
    buffer___5[0] = (uint8_t )0;
    tmp___6 = 1U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (tmp___6 >= 1024U) {
        goto while_break___0;
      }
      buffer___5[tmp___6] = (unsigned char)0;
      tmp___6 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    dest.buf = buffer___5;
    dest.len = sizeof(buffer___5);
    tmp___7 = xstrdup((char const   *)"old name");
    tmp___8 = reftable_calloc((size_t )20);
    tmp___9 = reftable_calloc((size_t )20);
    tmp___10 = xstrdup((char const   *)"old name");
    tmp___11 = xstrdup((char const   *)"old@email");
    tmp___12 = xstrdup((char const   *)"old message");
    out.refname = tmp___7;
    out.update_index = 0UL;
    out.value_type = (enum __anonenum_value_type_859643437 )1;
    out.value.update.new_hash = (uint8_t *)tmp___8;
    out.value.update.old_hash = (uint8_t *)tmp___9;
    out.value.update.name = tmp___10;
    out.value.update.email = tmp___11;
    out.value.update.time = 0UL;
    out.value.update.tz_offset = (short)0;
    out.value.update.message = tmp___12;
    rec_out.data = (void *)0;
    rec_out.ops = (struct reftable_record_vtable *)0;
    reftable_record_from_log(& rec, & in[i]);
    test_copy(& rec);
    reftable_record_key(& rec, & key___1);
    n = reftable_record_encode(& rec, dest, 20);
    if (! (n >= 0)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
              247, "n >= 0");
      abort();
    }
    reftable_record_from_log(& rec_out, & out);
    tmp___13 = reftable_record_val_type(& rec);
    valtype = (int )tmp___13;
    m = reftable_record_decode(& rec_out, key___1, (uint8_t )valtype, dest, 20);
    if (! (n == m)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
              252, "n == m");
      abort();
    }
    tmp___14 = reftable_log_record_equal(& in[i], & out, 20);
    if (! tmp___14) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
              254, "reftable_log_record_equal(&in[i], &out, GIT_SHA1_RAWSZ)");
      abort();
    }
    reftable_log_record_release(& in[i]);
    strbuf_release(& key___1);
    reftable_record_release(& rec_out);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void test_u24_roundtrip(void)
{
  uint32_t in ;
  uint8_t dest[3] ;
  uint32_t out ;

  {
  in = (uint32_t )0x112233;
  put_be24(dest, in);
  out = get_be24(dest);
  if (! (in == out)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
            268, "in == out");
    abort();
  }
  return;
}
}
static void test_key_roundtrip(void)
{
  uint8_t buffer___5[1024] ;
  unsigned int tmp ;
  struct string_view dest ;
  struct strbuf last_key ;
  struct strbuf key___1 ;
  struct strbuf roundtrip ;
  int restart ;
  uint8_t extra___2 ;
  int n ;
  int m ;
  uint8_t rt_extra ;
  int tmp___0 ;

  {
  buffer___5[0] = (uint8_t )0;
  tmp = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 1024U) {
      goto while_break;
    }
    buffer___5[tmp] = (unsigned char)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  dest.buf = buffer___5;
  dest.len = sizeof(buffer___5);
  last_key.alloc = 0UL;
  last_key.len = 0UL;
  last_key.buf = strbuf_slopbuf;
  key___1.alloc = 0UL;
  key___1.len = 0UL;
  key___1.buf = strbuf_slopbuf;
  roundtrip.alloc = 0UL;
  roundtrip.len = 0UL;
  roundtrip.buf = strbuf_slopbuf;
  strbuf_addstr(& last_key, (char const   *)"refs/heads/master");
  strbuf_addstr(& key___1, (char const   *)"refs/tags/bla");
  extra___2 = (uint8_t )6;
  n = reftable_encode_key(& restart, dest, last_key, key___1, extra___2);
  if (! (! restart)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
            290, "!restart");
    abort();
  }
  if (! (n > 0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
            291, "n > 0");
    abort();
  }
  m = reftable_decode_key(& roundtrip, & rt_extra, last_key, dest);
  if (! (n == m)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
            294, "n == m");
    abort();
  }
  tmp___0 = strbuf_cmp((struct strbuf  const  *)(& key___1), (struct strbuf  const  *)(& roundtrip));
  if (! (0 == tmp___0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
            295, "0 == strbuf_cmp(&key, &roundtrip)");
    abort();
  }
  if (! ((int )rt_extra == (int )extra___2)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
            296, "rt_extra == extra");
    abort();
  }
  strbuf_release(& last_key);
  strbuf_release(& key___1);
  strbuf_release(& roundtrip);
  return;
}
}
static void test_reftable_obj_record_roundtrip(void)
{
  uint8_t testHash1[20] ;
  unsigned int tmp ;
  uint64_t till9[9] ;
  struct reftable_obj_record recs[3] ;
  int i ;
  struct reftable_obj_record in ;
  uint8_t buffer___5[1024] ;
  unsigned int tmp___0 ;
  struct string_view dest ;
  struct reftable_record rec ;
  struct strbuf key___1 ;
  struct reftable_obj_record out ;
  struct reftable_record rec_out ;
  int n ;
  int m ;
  uint8_t extra___2 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  testHash1[0] = (uint8_t )1;
  testHash1[1] = (uint8_t )2;
  testHash1[2] = (uint8_t )3;
  testHash1[3] = (uint8_t )4;
  testHash1[4] = (uint8_t )0;
  tmp = 5U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 20U) {
      goto while_break;
    }
    testHash1[tmp] = (unsigned char)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  till9[0] = (uint64_t )1;
  till9[1] = (uint64_t )2;
  till9[2] = (uint64_t )3;
  till9[3] = (uint64_t )4;
  till9[4] = (uint64_t )500;
  till9[5] = (uint64_t )600;
  till9[6] = (uint64_t )700;
  till9[7] = (uint64_t )800;
  till9[8] = (uint64_t )9000;
  recs[0].hash_prefix = testHash1;
  recs[0].hash_prefix_len = 5;
  recs[0].offsets = till9;
  recs[0].offset_len = 3;
  recs[1].hash_prefix = testHash1;
  recs[1].hash_prefix_len = 5;
  recs[1].offsets = till9;
  recs[1].offset_len = 9;
  recs[2].hash_prefix = testHash1;
  recs[2].hash_prefix_len = 5;
  recs[2].offsets = (uint64_t *)0;
  recs[2].offset_len = 0;
  i = 0;
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(recs) / sizeof(recs[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break___0;
    }
    in = recs[i];
    buffer___5[0] = (uint8_t )0;
    tmp___0 = 1U;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (tmp___0 >= 1024U) {
        goto while_break___1;
      }
      buffer___5[tmp___0] = (unsigned char)0;
      tmp___0 ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    dest.buf = buffer___5;
    dest.len = sizeof(buffer___5);
    rec.data = (void *)0;
    rec.ops = (struct reftable_record_vtable *)0;
    key___1.alloc = 0UL;
    key___1.len = 0UL;
    key___1.buf = strbuf_slopbuf;
    out.hash_prefix = (uint8_t *)((void *)0);
    out.hash_prefix_len = 0;
    out.offsets = (uint64_t *)0;
    out.offset_len = 0;
    rec_out.data = (void *)0;
    rec_out.ops = (struct reftable_record_vtable *)0;
    reftable_record_from_obj(& rec, & in);
    test_copy(& rec);
    reftable_record_key(& rec, & key___1);
    n = reftable_record_encode(& rec, dest, 20);
    if (! (n > 0)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
              342, "n > 0");
      abort();
    }
    extra___2 = reftable_record_val_type(& rec);
    reftable_record_from_obj(& rec_out, & out);
    m = reftable_record_decode(& rec_out, key___1, extra___2, dest, 20);
    if (! (n == m)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
              347, "n == m");
      abort();
    }
    if (! (in.hash_prefix_len == out.hash_prefix_len)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
              349, "in.hash_prefix_len == out.hash_prefix_len");
      abort();
    }
    if (! (in.offset_len == out.offset_len)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
              350, "in.offset_len == out.offset_len");
      abort();
    }
    tmp___1 = memcmp((void const   *)in.hash_prefix, (void const   *)out.hash_prefix,
                     (size_t )in.hash_prefix_len);
    if (tmp___1) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
              353, "!memcmp(in.hash_prefix, out.hash_prefix, in.hash_prefix_len)");
      abort();
    }
    tmp___2 = memcmp((void const   *)in.offsets, (void const   *)out.offsets, sizeof(uint64_t ) * (unsigned long )in.offset_len);
    if (! (0 == tmp___2)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
              355, "0 == memcmp(in.offsets, out.offsets, sizeof(uint64_t) * in.offset_len)");
      abort();
    }
    strbuf_release(& key___1);
    reftable_record_release(& rec_out);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void test_reftable_index_record_roundtrip(void)
{
  struct reftable_index_record in ;
  uint8_t buffer___5[1024] ;
  unsigned int tmp ;
  struct string_view dest ;
  struct strbuf key___1 ;
  struct reftable_record rec ;
  struct reftable_index_record out ;
  struct reftable_record out_rec ;
  int n ;
  int m ;
  uint8_t extra___2 ;
  int tmp___0 ;

  {
  in.offset = (uint64_t )42;
  in.last_key.alloc = 0UL;
  in.last_key.len = 0UL;
  in.last_key.buf = strbuf_slopbuf;
  buffer___5[0] = (uint8_t )0;
  tmp = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 1024U) {
      goto while_break;
    }
    buffer___5[tmp] = (unsigned char)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  dest.buf = buffer___5;
  dest.len = sizeof(buffer___5);
  key___1.alloc = 0UL;
  key___1.len = 0UL;
  key___1.buf = strbuf_slopbuf;
  rec.data = (void *)0;
  rec.ops = (struct reftable_record_vtable *)0;
  out.offset = 0UL;
  out.last_key.alloc = 0UL;
  out.last_key.len = 0UL;
  out.last_key.buf = strbuf_slopbuf;
  out_rec.data = (void *)0;
  out_rec.ops = (struct reftable_record_vtable *)0;
  strbuf_addstr(& in.last_key, (char const   *)"refs/heads/master");
  reftable_record_from_index(& rec, & in);
  reftable_record_key(& rec, & key___1);
  test_copy(& rec);
  tmp___0 = strbuf_cmp((struct strbuf  const  *)(& key___1), (struct strbuf  const  *)(& in.last_key));
  if (! (0 == tmp___0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
            384, "0 == strbuf_cmp(&key, &in.last_key)");
    abort();
  }
  n = reftable_record_encode(& rec, dest, 20);
  if (! (n > 0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
            386, "n > 0");
    abort();
  }
  extra___2 = reftable_record_val_type(& rec);
  reftable_record_from_index(& out_rec, & out);
  m = reftable_record_decode(& out_rec, key___1, extra___2, dest, 20);
  if (! (m == n)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
            391, "m == n");
    abort();
  }
  if (! (in.offset == out.offset)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/record_test.c",
            393, "in.offset == out.offset");
    abort();
  }
  reftable_record_release(& out_rec);
  strbuf_release(& key___1);
  strbuf_release(& in.last_key);
  return;
}
}
int record_test_main(int argc , char const   **argv___0 )
{


  {
  fprintf(stderr, (char const   *)"running %s\n", "test_reftable_log_record_equal");
  fflush(stderr);
  test_reftable_log_record_equal();
  fprintf(stderr, (char const   *)"running %s\n", "test_reftable_log_record_roundtrip");
  fflush(stderr);
  test_reftable_log_record_roundtrip();
  fprintf(stderr, (char const   *)"running %s\n", "test_reftable_ref_record_roundtrip");
  fflush(stderr);
  test_reftable_ref_record_roundtrip();
  fprintf(stderr, (char const   *)"running %s\n", "test_varint_roundtrip");
  fflush(stderr);
  test_varint_roundtrip();
  fprintf(stderr, (char const   *)"running %s\n", "test_key_roundtrip");
  fflush(stderr);
  test_key_roundtrip();
  fprintf(stderr, (char const   *)"running %s\n", "test_common_prefix");
  fflush(stderr);
  test_common_prefix___0();
  fprintf(stderr, (char const   *)"running %s\n", "test_reftable_obj_record_roundtrip");
  fflush(stderr);
  test_reftable_obj_record_roundtrip();
  fprintf(stderr, (char const   *)"running %s\n", "test_reftable_index_record_roundtrip");
  fflush(stderr);
  test_reftable_index_record_roundtrip();
  fprintf(stderr, (char const   *)"running %s\n", "test_u24_roundtrip");
  fflush(stderr);
  test_u24_roundtrip();
  return (0);
}
}
static int const   update_index  =    (int const   )5;
static void test_buffer(void)
{
  struct strbuf buf___19 ;
  struct reftable_block_source source ;
  struct reftable_block out ;
  int n ;
  uint8_t in[6] ;
  uint64_t tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  source.ops = (struct reftable_block_source_vtable *)((void *)0);
  source.arg = (void *)0;
  out.data = (uint8_t *)((void *)0);
  out.len = 0;
  out.source.ops = (struct reftable_block_source_vtable *)0;
  out.source.arg = (void *)0;
  in[0] = (uint8_t )'h';
  in[1] = (uint8_t )'e';
  in[2] = (uint8_t )'l';
  in[3] = (uint8_t )'l';
  in[4] = (uint8_t )'o';
  in[5] = (uint8_t )'\000';
  strbuf_add(& buf___19, (void const   *)(in), sizeof(in));
  block_source_from_strbuf(& source, & buf___19);
  tmp = block_source_size(& source);
  if (! (tmp == 6UL)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            32, "block_source_size(&source) == 6");
    abort();
  }
  n = block_source_read_block(& source, & out, (uint64_t )0, (uint32_t )sizeof(in));
  if (! ((unsigned long )n == sizeof(in))) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            34, "n == sizeof(in)");
    abort();
  }
  tmp___0 = memcmp((void const   *)(in), (void const   *)out.data, (size_t )n);
  if (tmp___0) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            35, "!memcmp(in, out.data, n)");
    abort();
  }
  reftable_block_done(& out);
  n = block_source_read_block(& source, & out, (uint64_t )1, (uint32_t )2);
  if (! (n == 2)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            39, "n == 2");
    abort();
  }
  tmp___1 = memcmp((void const   *)out.data, (void const   *)"el", (size_t )2);
  if (tmp___1) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            40, "!memcmp(out.data, \"el\", 2)");
    abort();
  }
  reftable_block_done(& out);
  block_source_close(& source);
  strbuf_release(& buf___19);
  return;
}
}
static void write_table(char ***names___0 , struct strbuf *buf___19 , int N , int block_size ,
                        uint32_t hash_id )
{
  struct reftable_write_options opts___1 ;
  struct reftable_writer *w ;
  struct reftable_writer *tmp ;
  struct reftable_ref_record ref ;
  int i ;
  int n ;
  struct reftable_log_record log ;
  struct reftable_stats  const  *stats___0 ;
  void *tmp___0 ;
  uint8_t hash___0[32] ;
  unsigned int tmp___1 ;
  char name___0[100] ;
  int n___0 ;
  uint8_t hash___1[32] ;
  unsigned int tmp___2 ;
  char name___1[100] ;
  int n___1 ;
  int off ;
  int tmp___3 ;

  {
  opts___1.unpadded = 0U;
  opts___1.block_size = (uint32_t )block_size;
  opts___1.skip_index_objects = 0U;
  opts___1.restart_interval = 0;
  opts___1.hash_id = hash_id;
  opts___1.default_permissions = 0U;
  opts___1.skip_name_check = 0U;
  opts___1.exact_log_message = 0U;
  tmp = reftable_new_writer(& strbuf_add_void, (void *)buf___19, & opts___1);
  w = tmp;
  ref.refname = (char *)((void *)0);
  ref.update_index = 0UL;
  ref.value_type = 0U;
  ref.value.val2.value = (uint8_t *)0;
  ref.value.val2.target_value = (uint8_t *)0;
  i = 0;
  log.refname = (char *)((void *)0);
  log.update_index = 0UL;
  log.value_type = 0U;
  log.value.update.new_hash = (uint8_t *)0;
  log.value.update.old_hash = (uint8_t *)0;
  log.value.update.name = (char *)0;
  log.value.update.email = (char *)0;
  log.value.update.time = 0UL;
  log.value.update.tz_offset = (short)0;
  log.value.update.message = (char *)0;
  stats___0 = (struct reftable_stats  const  *)((void *)0);
  tmp___0 = reftable_calloc(sizeof(char *) * (unsigned long )(N + 1));
  *names___0 = (char **)tmp___0;
  reftable_writer_set_limits(w, (uint64_t )update_index, (uint64_t )update_index);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break;
    }
    hash___0[0] = (uint8_t )0;
    tmp___1 = 1U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (tmp___1 >= 32U) {
        goto while_break___0;
      }
      hash___0[tmp___1] = (unsigned char)0;
      tmp___1 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    set_test_hash(hash___0, i);
    snprintf(name___0, sizeof(name___0), (char const   *)"refs/heads/branch%02d",
             i);
    ref.refname = name___0;
    ref.update_index = (uint64_t )update_index;
    ref.value_type = (enum __anonenum_value_type_72961049 )1;
    ref.value.val1 = hash___0;
    *(*names___0 + i) = xstrdup((char const   *)(name___0));
    n___0 = reftable_writer_add_ref(w, & ref);
    if (! (n___0 == 0)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
              78, "n == 0");
      abort();
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break___1;
    }
    hash___1[0] = (uint8_t )0;
    tmp___2 = 1U;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (tmp___2 >= 32U) {
        goto while_break___2;
      }
      hash___1[tmp___2] = (unsigned char)0;
      tmp___2 ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    set_test_hash(hash___1, i);
    snprintf(name___1, sizeof(name___1), (char const   *)"refs/heads/branch%02d",
             i);
    log.refname = name___1;
    log.update_index = (uint64_t )update_index;
    log.value_type = (enum __anonenum_value_type_859643437 )1;
    log.value.update.new_hash = hash___1;
    log.value.update.message = "message";
    n___1 = reftable_writer_add_log(w, & log);
    if (! (n___1 == 0)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
              97, "n == 0");
      abort();
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  n = reftable_writer_close(w);
  if (! (n == 0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            101, "n == 0");
    abort();
  }
  stats___0 = writer_stats(w);
  i = 0;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! (i < (int )stats___0->ref_stats.blocks)) {
      goto while_break___3;
    }
    off = (int )((uint32_t )i * opts___1.block_size);
    if (off == 0) {
      if (hash_id == 1932670262U) {
        tmp___3 = 2;
      } else {
        tmp___3 = 1;
      }
      off = header_size(tmp___3);
    }
    if (! ((int )*(buf___19->buf + off) == 114)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
              110, "buf->buf[off] == \'r\'");
      abort();
    }
    i ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  if (! (stats___0->log_stats.blocks > 0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            113, "stats->log_stats.blocks > 0");
    abort();
  }
  reftable_writer_free(w);
  return;
}
}
static void test_log_buffer_size(void)
{
  struct strbuf buf___19 ;
  struct reftable_write_options opts___1 ;
  int err___4 ;
  int i ;
  struct reftable_log_record log ;
  struct reftable_writer *w ;
  struct reftable_writer *tmp ;
  uint8_t hash1[20] ;
  uint8_t hash2[20] ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  opts___1.unpadded = 0U;
  opts___1.block_size = (uint32_t )4096;
  opts___1.skip_index_objects = 0U;
  opts___1.restart_interval = 0;
  opts___1.hash_id = 0U;
  opts___1.default_permissions = 0U;
  opts___1.skip_name_check = 0U;
  opts___1.exact_log_message = 0U;
  log.refname = "refs/heads/master";
  log.update_index = (uint64_t )0xa;
  log.value_type = (enum __anonenum_value_type_859643437 )1;
  log.value.update.new_hash = (uint8_t *)0;
  log.value.update.old_hash = (uint8_t *)0;
  log.value.update.name = "Han-Wen Nienhuys";
  log.value.update.email = "hanwen@google.com";
  log.value.update.time = (uint64_t )0x5e430672;
  log.value.update.tz_offset = (int16_t )100;
  log.value.update.message = "commit: 9\n";
  tmp = reftable_new_writer(& strbuf_add_void, (void *)(& buf___19), & opts___1);
  w = tmp;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 20)) {
      goto while_break;
    }
    tmp___0 = rand();
    hash1[i] = (uint8_t )(tmp___0 % 256);
    tmp___1 = rand();
    hash2[i] = (uint8_t )(tmp___1 % 256);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  log.value.update.old_hash = hash1;
  log.value.update.new_hash = hash2;
  reftable_writer_set_limits(w, (uint64_t )update_index, (uint64_t )update_index);
  err___4 = reftable_writer_add_log(w, & log);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___2 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
            151, err___4, tmp___2);
    abort();
  }
  err___4 = reftable_writer_close(w);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___3 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
            153, err___4, tmp___3);
    abort();
  }
  reftable_writer_free(w);
  strbuf_release(& buf___19);
  return;
}
}
static void test_log_overflow(void)
{
  struct strbuf buf___19 ;
  char msg___5[256] ;
  unsigned int tmp ;
  struct reftable_write_options opts___1 ;
  int err___4 ;
  struct reftable_log_record log ;
  struct reftable_writer *w ;
  struct reftable_writer *tmp___0 ;
  uint8_t hash1[20] ;
  unsigned int tmp___1 ;
  uint8_t hash2[20] ;
  unsigned int tmp___2 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  msg___5[0] = (char)0;
  tmp = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 256U) {
      goto while_break;
    }
    msg___5[tmp] = (char)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  opts___1.unpadded = 0U;
  opts___1.block_size = (uint32_t )(sizeof(msg___5) / sizeof(msg___5[0]) + (sizeof(char [1]) - 1UL));
  opts___1.skip_index_objects = 0U;
  opts___1.restart_interval = 0;
  opts___1.hash_id = 0U;
  opts___1.default_permissions = 0U;
  opts___1.skip_name_check = 0U;
  opts___1.exact_log_message = 0U;
  log.refname = "refs/heads/master";
  log.update_index = (uint64_t )0xa;
  log.value_type = (enum __anonenum_value_type_859643437 )1;
  log.value.update.new_hash = (uint8_t *)0;
  log.value.update.old_hash = (uint8_t *)0;
  log.value.update.name = "Han-Wen Nienhuys";
  log.value.update.email = "hanwen@google.com";
  log.value.update.time = (uint64_t )0x5e430672;
  log.value.update.tz_offset = (int16_t )100;
  log.value.update.message = msg___5;
  tmp___0 = reftable_new_writer(& strbuf_add_void, (void *)(& buf___19), & opts___1);
  w = tmp___0;
  hash1[0] = (uint8_t )1;
  tmp___1 = 1U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (tmp___1 >= 20U) {
      goto while_break___0;
    }
    hash1[tmp___1] = (unsigned char)0;
    tmp___1 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  hash2[0] = (uint8_t )2;
  tmp___2 = 1U;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (tmp___2 >= 20U) {
      goto while_break___1;
    }
    hash2[tmp___2] = (unsigned char)0;
    tmp___2 ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  memset((void *)(msg___5), 'x', sizeof(msg___5) - 1UL);
  log.value.update.old_hash = hash1;
  log.value.update.new_hash = hash2;
  reftable_writer_set_limits(w, (uint64_t )update_index, (uint64_t )update_index);
  err___4 = reftable_writer_add_log(w, & log);
  if (! (err___4 == -11)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            187, "err == REFTABLE_ENTRY_TOO_BIG_ERROR");
    abort();
  }
  reftable_writer_free(w);
  strbuf_release(& buf___19);
  return;
}
}
static void test_log_write_read(void)
{
  int N ;
  char **names___0 ;
  void *tmp ;
  int err___4 ;
  struct reftable_write_options opts___1 ;
  struct reftable_ref_record ref ;
  int i ;
  struct reftable_log_record log ;
  int n ;
  struct reftable_iterator it ;
  struct reftable_reader rd ;
  struct reftable_block_source source ;
  struct strbuf buf___19 ;
  struct reftable_writer *w ;
  struct reftable_writer *tmp___0 ;
  struct reftable_stats  const  *stats___0 ;
  char name___0[256] ;
  struct reftable_ref_record ref___0 ;
  char const   *tmp___1 ;
  uint8_t hash1[20] ;
  uint8_t hash2[20] ;
  struct reftable_log_record log___0 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  char const   *tmp___5 ;
  char const   *tmp___6 ;
  int err___5 ;
  int tmp___7 ;
  char const   *tmp___8 ;
  int tmp___9 ;

  {
  N = 2;
  tmp = reftable_calloc(sizeof(char *) * (unsigned long )(N + 1));
  names___0 = (char **)tmp;
  opts___1.unpadded = 0U;
  opts___1.block_size = (uint32_t )256;
  opts___1.skip_index_objects = 0U;
  opts___1.restart_interval = 0;
  opts___1.hash_id = 0U;
  opts___1.default_permissions = 0U;
  opts___1.skip_name_check = 0U;
  opts___1.exact_log_message = 0U;
  ref.refname = (char *)((void *)0);
  ref.update_index = 0UL;
  ref.value_type = 0U;
  ref.value.val2.value = (uint8_t *)0;
  ref.value.val2.target_value = (uint8_t *)0;
  i = 0;
  log.refname = (char *)((void *)0);
  log.update_index = 0UL;
  log.value_type = 0U;
  log.value.update.new_hash = (uint8_t *)0;
  log.value.update.old_hash = (uint8_t *)0;
  log.value.update.name = (char *)0;
  log.value.update.email = (char *)0;
  log.value.update.time = 0UL;
  log.value.update.tz_offset = (short)0;
  log.value.update.message = (char *)0;
  it.ops = (struct reftable_iterator_vtable *)((void *)0);
  it.iter_arg = (void *)0;
  rd.name = (char *)((void *)0);
  rd.source.ops = (struct reftable_block_source_vtable *)0;
  rd.source.arg = (void *)0;
  rd.size = 0UL;
  rd.hash_id = 0U;
  rd.block_size = 0U;
  rd.min_update_index = 0UL;
  rd.max_update_index = 0UL;
  rd.object_id_len = 0;
  rd.version = 0;
  rd.ref_offsets.is_present = 0;
  rd.ref_offsets.offset = 0UL;
  rd.ref_offsets.index_offset = 0UL;
  rd.obj_offsets.is_present = 0;
  rd.obj_offsets.offset = 0UL;
  rd.obj_offsets.index_offset = 0UL;
  rd.log_offsets.is_present = 0;
  rd.log_offsets.offset = 0UL;
  rd.log_offsets.index_offset = 0UL;
  source.ops = (struct reftable_block_source_vtable *)((void *)0);
  source.arg = (void *)0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp___0 = reftable_new_writer(& strbuf_add_void, (void *)(& buf___19), & opts___1);
  w = tmp___0;
  stats___0 = (struct reftable_stats  const  *)((void *)0);
  reftable_writer_set_limits(w, (uint64_t )0, (uint64_t )N);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break;
    }
    ref___0.refname = (char *)((void *)0);
    ref___0.update_index = 0UL;
    ref___0.value_type = 0U;
    ref___0.value.val2.value = (uint8_t *)0;
    ref___0.value.val2.target_value = (uint8_t *)0;
    snprintf(name___0, sizeof(name___0), (char const   *)"b%02d%0*d", i, 130, 7);
    *(names___0 + i) = xstrdup((char const   *)(name___0));
    ref___0.refname = name___0;
    ref___0.update_index = (uint64_t )i;
    err___4 = reftable_writer_add_ref(w, & ref___0);
    if (err___4 != 0) {
      fflush(stderr);
      fflush(stdout);
      tmp___1 = reftable_error_str(err___4);
      fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
              221, err___4, tmp___1);
      abort();
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break___0;
    }
    log___0.refname = (char *)((void *)0);
    log___0.update_index = 0UL;
    log___0.value_type = 0U;
    log___0.value.update.new_hash = (uint8_t *)0;
    log___0.value.update.old_hash = (uint8_t *)0;
    log___0.value.update.name = (char *)0;
    log___0.value.update.email = (char *)0;
    log___0.value.update.time = 0UL;
    log___0.value.update.tz_offset = (short)0;
    log___0.value.update.message = (char *)0;
    set_test_hash(hash1, i);
    set_test_hash(hash2, i + 1);
    log___0.refname = *(names___0 + i);
    log___0.update_index = (uint64_t )i;
    log___0.value_type = (enum __anonenum_value_type_859643437 )1;
    log___0.value.update.old_hash = hash1;
    log___0.value.update.new_hash = hash2;
    err___4 = reftable_writer_add_log(w, & log___0);
    if (err___4 != 0) {
      fflush(stderr);
      fflush(stdout);
      tmp___2 = reftable_error_str(err___4);
      fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
              236, err___4, tmp___2);
      abort();
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  n = reftable_writer_close(w);
  if (! (n == 0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            240, "n == 0");
    abort();
  }
  stats___0 = writer_stats(w);
  if (! (stats___0->log_stats.blocks > 0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            243, "stats->log_stats.blocks > 0");
    abort();
  }
  reftable_writer_free(w);
  w = (struct reftable_writer *)((void *)0);
  block_source_from_strbuf(& source, & buf___19);
  err___4 = init_reader(& rd, & source, (char const   *)"file.log");
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___3 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
            250, err___4, tmp___3);
    abort();
  }
  err___4 = reftable_reader_seek_ref(& rd, & it, (char const   *)*(names___0 + (N - 1)));
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___4 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
            253, err___4, tmp___4);
    abort();
  }
  err___4 = reftable_iterator_next_ref(& it, & ref);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___5 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
            256, err___4, tmp___5);
    abort();
  }
  err___4 = reftable_iterator_next_ref(& it, & ref);
  if (! (0 < err___4)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            260, "0 < err");
    abort();
  }
  reftable_iterator_destroy(& it);
  reftable_ref_record_release(& ref);
  err___4 = reftable_reader_seek_log(& rd, & it, (char const   *)"");
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___6 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
            266, err___4, tmp___6);
    abort();
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    tmp___7 = reftable_iterator_next_log(& it, & log);
    err___5 = tmp___7;
    if (err___5 > 0) {
      goto while_break___1;
    }
    if (err___5 != 0) {
      fflush(stderr);
      fflush(stdout);
      tmp___8 = reftable_error_str(err___5);
      fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
              275, err___5, tmp___8);
      abort();
    }
    tmp___9 = strcmp((char const   *)*(names___0 + i), (char const   *)log.refname);
    if (tmp___9) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s:%d: %s (%s) != %s (%s)\n", "reftable/readwrite_test.c",
              276, "names[i]", *(names___0 + i), "log.refname", log.refname);
      abort();
    }
    if (! ((uint64_t )i == log.update_index)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
              277, "i == log.update_index");
      abort();
    }
    i ++;
    reftable_log_record_release(& log);
  }
  while_break___1: /* CIL Label */ ;
  }
  if (! (i == N)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            282, "i == N");
    abort();
  }
  reftable_iterator_destroy(& it);
  strbuf_release(& buf___19);
  free_names(names___0);
  reader_close(& rd);
  return;
}
}
static void test_table_read_write_sequential(void)
{
  char **names___0 ;
  struct strbuf buf___19 ;
  int N ;
  struct reftable_iterator it ;
  struct reftable_block_source source ;
  struct reftable_reader rd ;
  int err___4 ;
  int j ;
  char const   *tmp ;
  char const   *tmp___0 ;
  struct reftable_ref_record ref ;
  int r ;
  int tmp___1 ;
  int tmp___2 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  N = 50;
  it.ops = (struct reftable_iterator_vtable *)((void *)0);
  it.iter_arg = (void *)0;
  source.ops = (struct reftable_block_source_vtable *)((void *)0);
  source.arg = (void *)0;
  rd.name = (char *)((void *)0);
  rd.source.ops = (struct reftable_block_source_vtable *)0;
  rd.source.arg = (void *)0;
  rd.size = 0UL;
  rd.hash_id = 0U;
  rd.block_size = 0U;
  rd.min_update_index = 0UL;
  rd.max_update_index = 0UL;
  rd.object_id_len = 0;
  rd.version = 0;
  rd.ref_offsets.is_present = 0;
  rd.ref_offsets.offset = 0UL;
  rd.ref_offsets.index_offset = 0UL;
  rd.obj_offsets.is_present = 0;
  rd.obj_offsets.offset = 0UL;
  rd.obj_offsets.index_offset = 0UL;
  rd.log_offsets.is_present = 0;
  rd.log_offsets.offset = 0UL;
  rd.log_offsets.index_offset = 0UL;
  err___4 = 0;
  j = 0;
  write_table(& names___0, & buf___19, N, 256, (uint32_t )0x73686131);
  block_source_from_strbuf(& source, & buf___19);
  err___4 = init_reader(& rd, & source, (char const   *)"file.ref");
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
            307, err___4, tmp);
    abort();
  }
  err___4 = reftable_reader_seek_ref(& rd, & it, (char const   *)"");
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___0 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
            310, err___4, tmp___0);
    abort();
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    ref.refname = (char *)((void *)0);
    ref.update_index = 0UL;
    ref.value_type = 0U;
    ref.value.val2.value = (uint8_t *)0;
    ref.value.val2.target_value = (uint8_t *)0;
    tmp___1 = reftable_iterator_next_ref(& it, & ref);
    r = tmp___1;
    if (! (r >= 0)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
              315, "r >= 0");
      abort();
    }
    if (r > 0) {
      goto while_break;
    }
    tmp___2 = strcmp((char const   *)*(names___0 + j), (char const   *)ref.refname);
    if (! (0 == tmp___2)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
              319, "0 == strcmp(names[j], ref.refname)");
      abort();
    }
    if (! ((uint64_t )update_index == ref.update_index)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
              320, "update_index == ref.update_index");
      abort();
    }
    j ++;
    reftable_ref_record_release(& ref);
  }
  while_break: /* CIL Label */ ;
  }
  if (! (j == N)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            325, "j == N");
    abort();
  }
  reftable_iterator_destroy(& it);
  strbuf_release(& buf___19);
  free_names(names___0);
  reader_close(& rd);
  return;
}
}
static void test_table_write_small_table(void)
{
  char **names___0 ;
  struct strbuf buf___19 ;
  int N ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  N = 1;
  write_table(& names___0, & buf___19, N, 4096, (uint32_t )0x73686131);
  if (! (buf___19.len < 200UL)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            339, "buf.len < 200");
    abort();
  }
  strbuf_release(& buf___19);
  free_names(names___0);
  return;
}
}
static void test_table_read_api(void)
{
  char **names___0 ;
  struct strbuf buf___19 ;
  int N ;
  struct reftable_reader rd ;
  struct reftable_block_source source ;
  int err___4 ;
  int i ;
  struct reftable_log_record log ;
  struct reftable_iterator it ;
  char const   *tmp ;
  char const   *tmp___0 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  N = 50;
  rd.name = (char *)((void *)0);
  rd.source.ops = (struct reftable_block_source_vtable *)0;
  rd.source.arg = (void *)0;
  rd.size = 0UL;
  rd.hash_id = 0U;
  rd.block_size = 0U;
  rd.min_update_index = 0UL;
  rd.max_update_index = 0UL;
  rd.object_id_len = 0;
  rd.version = 0;
  rd.ref_offsets.is_present = 0;
  rd.ref_offsets.offset = 0UL;
  rd.ref_offsets.index_offset = 0UL;
  rd.obj_offsets.is_present = 0;
  rd.obj_offsets.offset = 0UL;
  rd.obj_offsets.index_offset = 0UL;
  rd.log_offsets.is_present = 0;
  rd.log_offsets.offset = 0UL;
  rd.log_offsets.index_offset = 0UL;
  source.ops = (struct reftable_block_source_vtable *)((void *)0);
  source.arg = (void *)0;
  log.refname = (char *)((void *)0);
  log.update_index = 0UL;
  log.value_type = 0U;
  log.value.update.new_hash = (uint8_t *)0;
  log.value.update.old_hash = (uint8_t *)0;
  log.value.update.name = (char *)0;
  log.value.update.email = (char *)0;
  log.value.update.time = 0UL;
  log.value.update.tz_offset = (short)0;
  log.value.update.message = (char *)0;
  it.ops = (struct reftable_iterator_vtable *)((void *)0);
  it.iter_arg = (void *)0;
  write_table(& names___0, & buf___19, N, 256, (uint32_t )0x73686131);
  block_source_from_strbuf(& source, & buf___19);
  err___4 = init_reader(& rd, & source, (char const   *)"file.ref");
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
            361, err___4, tmp);
    abort();
  }
  err___4 = reftable_reader_seek_ref(& rd, & it, (char const   *)*(names___0 + 0));
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___0 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
            364, err___4, tmp___0);
    abort();
  }
  err___4 = reftable_iterator_next_log(& it, & log);
  if (! (err___4 == -6)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            367, "err == REFTABLE_API_ERROR");
    abort();
  }
  strbuf_release(& buf___19);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break;
    }
    reftable_free((void *)*(names___0 + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  reftable_iterator_destroy(& it);
  reftable_free((void *)names___0);
  reader_close(& rd);
  strbuf_release(& buf___19);
  return;
}
}
static void test_table_read_write_seek(int index___2 , int hash_id )
{
  char **names___0 ;
  struct strbuf buf___19 ;
  int N ;
  struct reftable_reader rd ;
  struct reftable_block_source source ;
  int err___4 ;
  int i ;
  struct reftable_iterator it ;
  struct strbuf pastLast ;
  struct reftable_ref_record ref ;
  char const   *tmp ;
  uint32_t tmp___0 ;
  int err___5 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;
  struct reftable_ref_record ref___0 ;
  int err___6 ;
  int tmp___5 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  N = 50;
  rd.name = (char *)((void *)0);
  rd.source.ops = (struct reftable_block_source_vtable *)0;
  rd.source.arg = (void *)0;
  rd.size = 0UL;
  rd.hash_id = 0U;
  rd.block_size = 0U;
  rd.min_update_index = 0UL;
  rd.max_update_index = 0UL;
  rd.object_id_len = 0;
  rd.version = 0;
  rd.ref_offsets.is_present = 0;
  rd.ref_offsets.offset = 0UL;
  rd.ref_offsets.index_offset = 0UL;
  rd.obj_offsets.is_present = 0;
  rd.obj_offsets.offset = 0UL;
  rd.obj_offsets.index_offset = 0UL;
  rd.log_offsets.is_present = 0;
  rd.log_offsets.offset = 0UL;
  rd.log_offsets.index_offset = 0UL;
  source.ops = (struct reftable_block_source_vtable *)((void *)0);
  source.arg = (void *)0;
  i = 0;
  it.ops = (struct reftable_iterator_vtable *)((void *)0);
  it.iter_arg = (void *)0;
  pastLast.alloc = 0UL;
  pastLast.len = 0UL;
  pastLast.buf = strbuf_slopbuf;
  ref.refname = (char *)((void *)0);
  ref.update_index = 0UL;
  ref.value_type = 0U;
  ref.value.val2.value = (uint8_t *)0;
  ref.value.val2.target_value = (uint8_t *)0;
  write_table(& names___0, & buf___19, N, 256, (uint32_t )hash_id);
  block_source_from_strbuf(& source, & buf___19);
  err___4 = init_reader(& rd, & source, (char const   *)"file.ref");
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
            398, err___4, tmp);
    abort();
  }
  tmp___0 = reftable_reader_hash_id(& rd);
  if (! ((uint32_t )hash_id == tmp___0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            399, "hash_id == reftable_reader_hash_id(&rd)");
    abort();
  }
  if (! index___2) {
    rd.ref_offsets.index_offset = (uint64_t )0;
  } else
  if (! (rd.ref_offsets.index_offset > 0UL)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            404, "rd.ref_offsets.index_offset > 0");
    abort();
  }
  i = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break;
    }
    tmp___1 = reftable_reader_seek_ref(& rd, & it, (char const   *)*(names___0 + i));
    err___5 = tmp___1;
    if (err___5 != 0) {
      fflush(stderr);
      fflush(stdout);
      tmp___2 = reftable_error_str(err___5);
      fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
              409, err___5, tmp___2);
      abort();
    }
    err___5 = reftable_iterator_next_ref(& it, & ref);
    if (err___5 != 0) {
      fflush(stderr);
      fflush(stdout);
      tmp___3 = reftable_error_str(err___5);
      fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
              411, err___5, tmp___3);
      abort();
    }
    tmp___4 = strcmp((char const   *)*(names___0 + i), (char const   *)ref.refname);
    if (! (0 == tmp___4)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
              412, "0 == strcmp(names[i], ref.refname)");
      abort();
    }
    if (! (1U == (unsigned int )ref.value_type)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
              413, "REFTABLE_REF_VAL1 == ref.value_type");
      abort();
    }
    if (! (i == (int )*(ref.value.val1 + 0))) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
              414, "i == ref.value.val1[0]");
      abort();
    }
    reftable_ref_record_release(& ref);
    reftable_iterator_destroy(& it);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_addstr(& pastLast, (char const   *)*(names___0 + (N - 1)));
  strbuf_addstr(& pastLast, (char const   *)"/");
  err___4 = reftable_reader_seek_ref(& rd, & it, (char const   *)pastLast.buf);
  if (err___4 == 0) {
    ref___0.refname = (char *)((void *)0);
    ref___0.update_index = 0UL;
    ref___0.value_type = 0U;
    ref___0.value.val2.value = (uint8_t *)0;
    ref___0.value.val2.target_value = (uint8_t *)0;
    tmp___5 = reftable_iterator_next_ref(& it, & ref___0);
    err___6 = tmp___5;
    if (! (err___6 > 0)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
              427, "err > 0");
      abort();
    }
  } else
  if (! (err___4 > 0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            429, "err > 0");
    abort();
  }
  strbuf_release(& pastLast);
  reftable_iterator_destroy(& it);
  strbuf_release(& buf___19);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break___0;
    }
    reftable_free((void *)*(names___0 + i));
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  reftable_free((void *)names___0);
  reader_close(& rd);
  return;
}
}
static void test_table_read_write_seek_linear(void)
{


  {
  test_table_read_write_seek(0, 0x73686131);
  return;
}
}
static void test_table_read_write_seek_linear_sha256(void)
{


  {
  test_table_read_write_seek(0, 0x73323536);
  return;
}
}
static void test_table_read_write_seek_index(void)
{


  {
  test_table_read_write_seek(1, 0x73686131);
  return;
}
}
static void test_table_refs_for(int indexed )
{
  int N ;
  char **want_names ;
  void *tmp ;
  int want_names_len ;
  uint8_t want_hash[20] ;
  struct reftable_write_options opts___1 ;
  struct reftable_ref_record ref ;
  int i ;
  int n ;
  int err___4 ;
  struct reftable_reader rd ;
  struct reftable_block_source source ;
  struct strbuf buf___19 ;
  struct reftable_writer *w ;
  struct reftable_writer *tmp___0 ;
  struct reftable_iterator it ;
  int j ;
  uint8_t hash___0[20] ;
  char fill___2[51] ;
  unsigned int tmp___1 ;
  char name___0[100] ;
  uint8_t hash1[20] ;
  uint8_t hash2[20] ;
  struct reftable_ref_record ref___0 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  char const   *tmp___5 ;
  char const   *tmp___6 ;
  char const   *tmp___7 ;
  int err___5 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  N = 50;
  tmp = reftable_calloc(sizeof(char *) * (unsigned long )(N + 1));
  want_names = (char **)tmp;
  want_names_len = 0;
  opts___1.unpadded = 0U;
  opts___1.block_size = (uint32_t )256;
  opts___1.skip_index_objects = 0U;
  opts___1.restart_interval = 0;
  opts___1.hash_id = 0U;
  opts___1.default_permissions = 0U;
  opts___1.skip_name_check = 0U;
  opts___1.exact_log_message = 0U;
  ref.refname = (char *)((void *)0);
  ref.update_index = 0UL;
  ref.value_type = 0U;
  ref.value.val2.value = (uint8_t *)0;
  ref.value.val2.target_value = (uint8_t *)0;
  i = 0;
  source.ops = (struct reftable_block_source_vtable *)((void *)0);
  source.arg = (void *)0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp___0 = reftable_new_writer(& strbuf_add_void, (void *)(& buf___19), & opts___1);
  w = tmp___0;
  it.ops = (struct reftable_iterator_vtable *)((void *)0);
  it.iter_arg = (void *)0;
  set_test_hash(want_hash, 4);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break;
    }
    fill___2[0] = (char)0;
    tmp___1 = 1U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (tmp___1 >= 51U) {
        goto while_break___0;
      }
      fill___2[tmp___1] = (char)0;
      tmp___1 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    ref___0.refname = (char *)((void *)0);
    ref___0.update_index = 0UL;
    ref___0.value_type = 0U;
    ref___0.value.val2.value = (uint8_t *)0;
    ref___0.value.val2.target_value = (uint8_t *)0;
    memset((void *)(hash___0), i, sizeof(hash___0));
    memset((void *)(fill___2), 'x', (size_t )50);
    snprintf(name___0, sizeof(name___0), (char const   *)"br%02d%s", i, fill___2);
    name___0[40] = (char)0;
    ref___0.refname = name___0;
    set_test_hash(hash1, i / 4);
    set_test_hash(hash2, 3 + i / 4);
    ref___0.value_type = (enum __anonenum_value_type_72961049 )2;
    ref___0.value.val2.value = hash1;
    ref___0.value.val2.target_value = hash2;
    n = reftable_writer_add_ref(w, & ref___0);
    if (! (n == 0)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
              509, "n == 0");
      abort();
    }
    tmp___3 = memcmp((void const   *)(hash1), (void const   *)(want_hash), (size_t )20);
    if (tmp___3) {
      tmp___4 = memcmp((void const   *)(hash2), (void const   *)(want_hash), (size_t )20);
      if (! tmp___4) {
        tmp___2 = want_names_len;
        want_names_len ++;
        *(want_names + tmp___2) = xstrdup((char const   *)(name___0));
      }
    } else {
      tmp___2 = want_names_len;
      want_names_len ++;
      *(want_names + tmp___2) = xstrdup((char const   *)(name___0));
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  n = reftable_writer_close(w);
  if (! (n == 0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            518, "n == 0");
    abort();
  }
  reftable_writer_free(w);
  w = (struct reftable_writer *)((void *)0);
  block_source_from_strbuf(& source, & buf___19);
  err___4 = init_reader(& rd, & source, (char const   *)"file.ref");
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___5 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
            526, err___4, tmp___5);
    abort();
  }
  if (! indexed) {
    rd.obj_offsets.is_present = 0;
  }
  err___4 = reftable_reader_seek_ref(& rd, & it, (char const   *)"");
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___6 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
            532, err___4, tmp___6);
    abort();
  }
  reftable_iterator_destroy(& it);
  err___4 = reftable_reader_refs_for(& rd, & it, want_hash);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___7 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
            536, err___4, tmp___7);
    abort();
  }
  j = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    tmp___8 = reftable_iterator_next_ref(& it, & ref);
    err___5 = tmp___8;
    if (! (err___5 >= 0)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
              541, "err >= 0");
      abort();
    }
    if (err___5 > 0) {
      goto while_break___1;
    }
    if (! (j < want_names_len)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
              546, "j < want_names_len");
      abort();
    }
    tmp___9 = strcmp((char const   *)ref.refname, (char const   *)*(want_names + j));
    if (! (0 == tmp___9)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
              547, "0 == strcmp(ref.refname, want_names[j])");
      abort();
    }
    j ++;
    reftable_ref_record_release(& ref);
  }
  while_break___1: /* CIL Label */ ;
  }
  if (! (j == want_names_len)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            551, "j == want_names_len");
    abort();
  }
  strbuf_release(& buf___19);
  free_names(want_names);
  reftable_iterator_destroy(& it);
  reader_close(& rd);
  return;
}
}
static void test_table_refs_for_no_index(void)
{


  {
  test_table_refs_for(0);
  return;
}
}
static void test_table_refs_for_obj_index(void)
{


  {
  test_table_refs_for(1);
  return;
}
}
static void test_write_empty_table(void)
{
  struct reftable_write_options opts___1 ;
  struct strbuf buf___19 ;
  struct reftable_writer *w ;
  struct reftable_writer *tmp ;
  struct reftable_block_source source ;
  struct reftable_reader *rd ;
  struct reftable_ref_record rec ;
  struct reftable_iterator it ;
  int err___4 ;
  int tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;

  {
  opts___1.unpadded = 0U;
  opts___1.block_size = 0U;
  opts___1.skip_index_objects = 0U;
  opts___1.restart_interval = 0;
  opts___1.hash_id = 0U;
  opts___1.default_permissions = 0U;
  opts___1.skip_name_check = 0U;
  opts___1.exact_log_message = 0U;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = reftable_new_writer(& strbuf_add_void, (void *)(& buf___19), & opts___1);
  w = tmp;
  source.ops = (struct reftable_block_source_vtable *)((void *)0);
  source.arg = (void *)0;
  rd = (struct reftable_reader *)((void *)0);
  rec.refname = (char *)((void *)0);
  rec.update_index = 0UL;
  rec.value_type = 0U;
  rec.value.val2.value = (uint8_t *)0;
  rec.value.val2.target_value = (uint8_t *)0;
  it.ops = (struct reftable_iterator_vtable *)((void *)0);
  it.iter_arg = (void *)0;
  reftable_writer_set_limits(w, (uint64_t )1, (uint64_t )1);
  err___4 = reftable_writer_close(w);
  if (! (err___4 == -8)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            584, "err == REFTABLE_EMPTY_TABLE_ERROR");
    abort();
  }
  reftable_writer_free(w);
  tmp___0 = header_size(1);
  tmp___1 = footer_size(1);
  if (! (buf___19.len == (size_t )(tmp___0 + tmp___1))) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            587, "buf.len == header_size(1) + footer_size(1)");
    abort();
  }
  block_source_from_strbuf(& source, & buf___19);
  err___4 = reftable_new_reader(& rd, & source, (char const   *)"filename");
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___2 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
            592, err___4, tmp___2);
    abort();
  }
  err___4 = reftable_reader_seek_ref(rd, & it, (char const   *)"");
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___3 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
            595, err___4, tmp___3);
    abort();
  }
  err___4 = reftable_iterator_next_ref(& it, & rec);
  if (! (err___4 > 0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            598, "err > 0");
    abort();
  }
  reftable_iterator_destroy(& it);
  reftable_reader_free(rd);
  strbuf_release(& buf___19);
  return;
}
}
static void test_write_key_order(void)
{
  struct reftable_write_options opts___1 ;
  struct strbuf buf___19 ;
  struct reftable_writer *w ;
  struct reftable_writer *tmp ;
  struct reftable_ref_record refs___0[2] ;
  int err___4 ;
  char const   *tmp___0 ;

  {
  opts___1.unpadded = 0U;
  opts___1.block_size = 0U;
  opts___1.skip_index_objects = 0U;
  opts___1.restart_interval = 0;
  opts___1.hash_id = 0U;
  opts___1.default_permissions = 0U;
  opts___1.skip_name_check = 0U;
  opts___1.exact_log_message = 0U;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = reftable_new_writer(& strbuf_add_void, (void *)(& buf___19), & opts___1);
  w = tmp;
  refs___0[0].refname = "b";
  refs___0[0].update_index = (uint64_t )1;
  refs___0[0].value_type = (enum __anonenum_value_type_72961049 )3;
  refs___0[0].value.symref = "target";
  refs___0[1].refname = "a";
  refs___0[1].update_index = (uint64_t )1;
  refs___0[1].value_type = (enum __anonenum_value_type_72961049 )3;
  refs___0[1].value.symref = "target";
  reftable_writer_set_limits(w, (uint64_t )1, (uint64_t )1);
  err___4 = reftable_writer_add_ref(w, & refs___0[0]);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___0 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/readwrite_test.c",
            632, err___4, tmp___0);
    abort();
  }
  err___4 = reftable_writer_add_ref(w, & refs___0[1]);
  printf((char const   *)"%d\n", err___4);
  if (! (err___4 == -6)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            635, "err == REFTABLE_API_ERROR");
    abort();
  }
  reftable_writer_close(w);
  reftable_writer_free(w);
  strbuf_release(& buf___19);
  return;
}
}
static void test_corrupt_table_empty(void)
{
  struct strbuf buf___19 ;
  struct reftable_block_source source ;
  struct reftable_reader rd ;
  int err___4 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  source.ops = (struct reftable_block_source_vtable *)((void *)0);
  source.arg = (void *)0;
  rd.name = (char *)((void *)0);
  rd.source.ops = (struct reftable_block_source_vtable *)0;
  rd.source.arg = (void *)0;
  rd.size = 0UL;
  rd.hash_id = 0U;
  rd.block_size = 0U;
  rd.min_update_index = 0UL;
  rd.max_update_index = 0UL;
  rd.object_id_len = 0;
  rd.version = 0;
  rd.ref_offsets.is_present = 0;
  rd.ref_offsets.offset = 0UL;
  rd.ref_offsets.index_offset = 0UL;
  rd.obj_offsets.is_present = 0;
  rd.obj_offsets.offset = 0UL;
  rd.obj_offsets.index_offset = 0UL;
  rd.log_offsets.is_present = 0;
  rd.log_offsets.offset = 0UL;
  rd.log_offsets.index_offset = 0UL;
  block_source_from_strbuf(& source, & buf___19);
  err___4 = init_reader(& rd, & source, (char const   *)"file.log");
  if (! (err___4 == -3)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            650, "err == REFTABLE_FORMAT_ERROR");
    abort();
  }
  return;
}
}
static void test_corrupt_table(void)
{
  uint8_t zeros___0[1024] ;
  unsigned int tmp ;
  struct strbuf buf___19 ;
  struct reftable_block_source source ;
  struct reftable_reader rd ;
  int err___4 ;

  {
  zeros___0[0] = (uint8_t )0;
  tmp = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 1024U) {
      goto while_break;
    }
    zeros___0[tmp] = (unsigned char)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  source.ops = (struct reftable_block_source_vtable *)((void *)0);
  source.arg = (void *)0;
  rd.name = (char *)((void *)0);
  rd.source.ops = (struct reftable_block_source_vtable *)0;
  rd.source.arg = (void *)0;
  rd.size = 0UL;
  rd.hash_id = 0U;
  rd.block_size = 0U;
  rd.min_update_index = 0UL;
  rd.max_update_index = 0UL;
  rd.object_id_len = 0;
  rd.version = 0;
  rd.ref_offsets.is_present = 0;
  rd.ref_offsets.offset = 0UL;
  rd.ref_offsets.index_offset = 0UL;
  rd.obj_offsets.is_present = 0;
  rd.obj_offsets.offset = 0UL;
  rd.obj_offsets.index_offset = 0UL;
  rd.log_offsets.is_present = 0;
  rd.log_offsets.offset = 0UL;
  rd.log_offsets.index_offset = 0UL;
  strbuf_add(& buf___19, (void const   *)(zeros___0), sizeof(zeros___0));
  block_source_from_strbuf(& source, & buf___19);
  err___4 = init_reader(& rd, & source, (char const   *)"file.log");
  if (! (err___4 == -3)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/readwrite_test.c",
            664, "err == REFTABLE_FORMAT_ERROR");
    abort();
  }
  strbuf_release(& buf___19);
  return;
}
}
int readwrite_test_main(int argc , char const   **argv___0 )
{


  {
  fprintf(stderr, (char const   *)"running %s\n", "test_corrupt_table");
  fflush(stderr);
  test_corrupt_table();
  fprintf(stderr, (char const   *)"running %s\n", "test_corrupt_table_empty");
  fflush(stderr);
  test_corrupt_table_empty();
  fprintf(stderr, (char const   *)"running %s\n", "test_log_write_read");
  fflush(stderr);
  test_log_write_read();
  fprintf(stderr, (char const   *)"running %s\n", "test_write_key_order");
  fflush(stderr);
  test_write_key_order();
  fprintf(stderr, (char const   *)"running %s\n", "test_table_read_write_seek_linear_sha256");
  fflush(stderr);
  test_table_read_write_seek_linear_sha256();
  fprintf(stderr, (char const   *)"running %s\n", "test_log_buffer_size");
  fflush(stderr);
  test_log_buffer_size();
  fprintf(stderr, (char const   *)"running %s\n", "test_table_write_small_table");
  fflush(stderr);
  test_table_write_small_table();
  fprintf(stderr, (char const   *)"running %s\n", "test_buffer");
  fflush(stderr);
  test_buffer();
  fprintf(stderr, (char const   *)"running %s\n", "test_table_read_api");
  fflush(stderr);
  test_table_read_api();
  fprintf(stderr, (char const   *)"running %s\n", "test_table_read_write_sequential");
  fflush(stderr);
  test_table_read_write_sequential();
  fprintf(stderr, (char const   *)"running %s\n", "test_table_read_write_seek_linear");
  fflush(stderr);
  test_table_read_write_seek_linear();
  fprintf(stderr, (char const   *)"running %s\n", "test_table_read_write_seek_index");
  fflush(stderr);
  test_table_read_write_seek_index();
  fprintf(stderr, (char const   *)"running %s\n", "test_table_refs_for_no_index");
  fflush(stderr);
  test_table_refs_for_no_index();
  fprintf(stderr, (char const   *)"running %s\n", "test_table_refs_for_obj_index");
  fflush(stderr);
  test_table_refs_for_obj_index();
  fprintf(stderr, (char const   *)"running %s\n", "test_write_empty_table");
  fflush(stderr);
  test_write_empty_table();
  fprintf(stderr, (char const   *)"running %s\n", "test_log_overflow");
  fflush(stderr);
  test_log_overflow();
  return (0);
}
}
static void test_conflict(void)
{
  struct reftable_write_options opts___1 ;
  struct strbuf buf___19 ;
  struct reftable_writer *w ;
  struct reftable_writer *tmp ;
  struct reftable_ref_record rec ;
  int err___4 ;
  int i ;
  struct reftable_block_source source ;
  struct reftable_reader *rd ;
  struct reftable_table tab ;
  struct testcase cases[10] ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  struct modification mod ;

  {
  opts___1.unpadded = 0U;
  opts___1.block_size = 0U;
  opts___1.skip_index_objects = 0U;
  opts___1.restart_interval = 0;
  opts___1.hash_id = 0U;
  opts___1.default_permissions = 0U;
  opts___1.skip_name_check = 0U;
  opts___1.exact_log_message = 0U;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = reftable_new_writer(& strbuf_add_void, (void *)(& buf___19), & opts___1);
  w = tmp;
  rec.refname = "a/b";
  rec.update_index = (uint64_t )1;
  rec.value_type = (enum __anonenum_value_type_72961049 )3;
  rec.value.symref = "destination";
  source.ops = (struct reftable_block_source_vtable *)((void *)0);
  source.arg = (void *)0;
  rd = (struct reftable_reader *)((void *)0);
  tab.ops = (struct reftable_table_vtable *)((void *)0);
  tab.table_arg = (void *)0;
  cases[0].add = "a/b/c";
  cases[0].del = (char *)((void *)0);
  cases[0].error_code = -9;
  cases[1].add = "b";
  cases[1].del = (char *)((void *)0);
  cases[1].error_code = 0;
  cases[2].add = "a";
  cases[2].del = (char *)((void *)0);
  cases[2].error_code = -9;
  cases[3].add = "a";
  cases[3].del = "a/b";
  cases[3].error_code = 0;
  cases[4].add = "p/";
  cases[4].del = (char *)((void *)0);
  cases[4].error_code = -10;
  cases[5].add = "p//q";
  cases[5].del = (char *)((void *)0);
  cases[5].error_code = -10;
  cases[6].add = "p/./q";
  cases[6].del = (char *)((void *)0);
  cases[6].error_code = -10;
  cases[7].add = "p/../q";
  cases[7].del = (char *)((void *)0);
  cases[7].error_code = -10;
  cases[8].add = "a/b/c";
  cases[8].del = "a/b";
  cases[8].error_code = 0;
  cases[9].add = (char *)((void *)0);
  cases[9].del = "a//b";
  cases[9].error_code = 0;
  reftable_writer_set_limits(w, (uint64_t )1, (uint64_t )1);
  err___4 = reftable_writer_add_ref(w, & rec);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___0 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/refname_test.c",
            64, err___4, tmp___0);
    abort();
  }
  err___4 = reftable_writer_close(w);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___1 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/refname_test.c",
            67, err___4, tmp___1);
    abort();
  }
  reftable_writer_free(w);
  block_source_from_strbuf(& source, & buf___19);
  err___4 = reftable_new_reader(& rd, & source, (char const   *)"filename");
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___2 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/refname_test.c",
            72, err___4, tmp___2);
    abort();
  }
  reftable_table_from_reader(& tab, rd);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(cases) / sizeof(cases[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    mod.tab = tab;
    mod.add = (char **)0;
    mod.add_len = 0UL;
    mod.del = (char **)0;
    mod.del_len = 0UL;
    if (cases[i].add) {
      mod.add = & cases[i].add;
      mod.add_len = (size_t )1;
    }
    if (cases[i].del) {
      mod.del = & cases[i].del;
      mod.del_len = (size_t )1;
    }
    err___4 = modification_validate(& mod);
    if (! (err___4 == cases[i].error_code)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/refname_test.c",
              91, "err == cases[i].error_code");
      abort();
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  reftable_reader_free(rd);
  strbuf_release(& buf___19);
  return;
}
}
int refname_test_main(int argc , char const   **argv___0 )
{


  {
  fprintf(stderr, (char const   *)"running %s\n", "test_conflict");
  fflush(stderr);
  test_conflict();
  return (0);
}
}
static void clear_dir(char const   *dirname___0 )
{
  struct strbuf path___6 ;

  {
  path___6.alloc = 0UL;
  path___6.len = 0UL;
  path___6.buf = strbuf_slopbuf;
  strbuf_addstr(& path___6, dirname___0);
  remove_dir_recursively(& path___6, 0);
  strbuf_release(& path___6);
  return;
}
}
static int count_dir_entries(char const   *dirname___0 )
{
  DIR *dir ;
  DIR *tmp ;
  int len___0 ;
  struct dirent *d ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = opendir(dirname___0);
  dir = tmp;
  len___0 = 0;
  if ((unsigned long )dir == (unsigned long )((void *)0)) {
    return (0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    d = readdir(dir);
    if (! d) {
      goto while_break;
    }
    tmp___0 = strcmp((char const   *)(d->d_name), (char const   *)"..");
    if (tmp___0) {
      tmp___1 = strcmp((char const   *)(d->d_name), (char const   *)".");
      if (! tmp___1) {
        goto while_continue;
      }
    } else {
      goto while_continue;
    }
    len___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  closedir(dir);
  return (len___0);
}
}
static char template[1024]  ;
static char *get_tmp_template(int linenumber )
{
  char const   *tmp ;
  char *tmp___0 ;
  char const   *tmp___1 ;

  {
  tmp___0 = getenv((char const   *)"TMPDIR");
  tmp = (char const   *)tmp___0;
  if (tmp) {
    tmp___1 = tmp;
  } else {
    tmp___1 = (char const   *)"/tmp";
  }
  snprintf(template, sizeof(template) - 1UL, (char const   *)"%s/stack_test-%d.XXXXXX",
           tmp___1, linenumber);
  return (template);
}
}
static char *get_tmp_dir(int linenumber )
{
  char *dir ;
  char *tmp ;
  char *tmp___0 ;

  {
  tmp = get_tmp_template(linenumber);
  dir = tmp;
  tmp___0 = mkdtemp(dir);
  if (! tmp___0) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            66, "mkdtemp(dir)");
    abort();
  }
  return (dir);
}
}
static void test_read_file(void)
{
  char *fn ;
  char *tmp ;
  int fd ;
  int tmp___0 ;
  char out[1024] ;
  unsigned int tmp___1 ;
  int n ;
  int err___4 ;
  char **names___0 ;
  char *want[3] ;
  int i ;
  size_t tmp___2 ;
  ssize_t tmp___3 ;
  size_t tmp___4 ;
  char const   *tmp___5 ;
  int tmp___6 ;

  {
  tmp = get_tmp_template(72);
  fn = tmp;
  tmp___0 = mkstemp(fn);
  fd = tmp___0;
  out[0] = (char )'l';
  out[1] = (char )'i';
  out[2] = (char )'n';
  out[3] = (char )'e';
  out[4] = (char )'1';
  out[5] = (char )'\n';
  out[6] = (char )'\n';
  out[7] = (char )'l';
  out[8] = (char )'i';
  out[9] = (char )'n';
  out[10] = (char )'e';
  out[11] = (char )'2';
  out[12] = (char )'\n';
  out[13] = (char )'l';
  out[14] = (char )'i';
  out[15] = (char )'n';
  out[16] = (char )'e';
  out[17] = (char )'3';
  out[18] = (char )'\000';
  tmp___1 = 19U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp___1 >= 1024U) {
      goto while_break;
    }
    out[tmp___1] = (char)0;
    tmp___1 ++;
  }
  while_break: /* CIL Label */ ;
  }
  names___0 = (char **)((void *)0);
  want[0] = "line1";
  want[1] = "line2";
  want[2] = "line3";
  i = 0;
  if (! (fd > 0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            80, "fd > 0");
    abort();
  }
  tmp___2 = strlen((char const   *)(out));
  tmp___3 = write(fd, (void const   *)(out), tmp___2);
  n = (int )tmp___3;
  tmp___4 = strlen((char const   *)(out));
  if (! ((size_t )n == tmp___4)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            82, "n == strlen(out)");
    abort();
  }
  err___4 = close(fd);
  if (! (err___4 >= 0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            84, "err >= 0");
    abort();
  }
  err___4 = read_lines((char const   *)fn, & names___0);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___5 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            87, err___4, tmp___5);
    abort();
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! *(names___0 + i)) {
      goto while_break___0;
    }
    tmp___6 = strcmp((char const   *)want[i], (char const   *)*(names___0 + i));
    if (! (0 == tmp___6)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
              90, "0 == strcmp(want[i], names[i])");
      abort();
    }
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  free_names(names___0);
  remove((char const   *)fn);
  return;
}
}
static void test_parse_names(void)
{
  char buf___19[6] ;
  char **names___0 ;
  size_t tmp ;
  int tmp___0 ;

  {
  buf___19[0] = (char )'l';
  buf___19[1] = (char )'i';
  buf___19[2] = (char )'n';
  buf___19[3] = (char )'e';
  buf___19[4] = (char )'\n';
  buf___19[5] = (char )'\000';
  names___0 = (char **)((void *)0);
  tmp = strlen((char const   *)(buf___19));
  parse_names(buf___19, (int )tmp, & names___0);
  if (! ((unsigned long )((void *)0) != (unsigned long )*(names___0 + 0))) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            102, "NULL != names[0]");
    abort();
  }
  tmp___0 = strcmp((char const   *)*(names___0 + 0), (char const   *)"line");
  if (! (0 == tmp___0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            103, "0 == strcmp(names[0], \"line\")");
    abort();
  }
  if (! ((unsigned long )((void *)0) == (unsigned long )*(names___0 + 1))) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            104, "NULL == names[1]");
    abort();
  }
  free_names(names___0);
  return;
}
}
static void test_names_equal(void)
{
  char *a[4] ;
  char *b___0[4] ;
  char *c___0[3] ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  a[0] = "a";
  a[1] = "b";
  a[2] = "c";
  a[3] = (char *)((void *)0);
  b___0[0] = "a";
  b___0[1] = "b";
  b___0[2] = "d";
  b___0[3] = (char *)((void *)0);
  c___0[0] = "a";
  c___0[1] = "b";
  c___0[2] = (char *)((void *)0);
  tmp = names_equal(a, a);
  if (! tmp) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            114, "names_equal(a, a)");
    abort();
  }
  tmp___0 = names_equal(a, b___0);
  if (tmp___0) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            115, "!names_equal(a, b)");
    abort();
  }
  tmp___1 = names_equal(a, c___0);
  if (tmp___1) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            116, "!names_equal(a, c)");
    abort();
  }
  return;
}
}
static int write_test_ref(struct reftable_writer *wr , void *arg )
{
  struct reftable_ref_record *ref ;
  int tmp ;

  {
  ref = (struct reftable_ref_record *)arg;
  reftable_writer_set_limits(wr, ref->update_index, ref->update_index);
  tmp = reftable_writer_add_ref(wr, ref);
  return (tmp);
}
}
static int write_test_log(struct reftable_writer *wr , void *arg )
{
  struct write_log_arg *wla ;
  int tmp ;

  {
  wla = (struct write_log_arg *)arg;
  reftable_writer_set_limits(wr, wla->update_index, wla->update_index);
  tmp = reftable_writer_add_log(wr, wla->log);
  return (tmp);
}
}
static void test_reftable_stack_add_one(void)
{
  char *dir ;
  char *tmp ;
  struct strbuf scratch ;
  int mask ;
  __mode_t tmp___0 ;
  struct reftable_write_options cfg ;
  struct reftable_stack *st ;
  int err___4 ;
  struct reftable_ref_record ref ;
  struct reftable_ref_record dest ;
  struct stat stat_result ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;
  char const   *tmp___5 ;

  {
  tmp = get_tmp_dir(141);
  dir = tmp;
  scratch.alloc = 0UL;
  scratch.len = 0UL;
  scratch.buf = strbuf_slopbuf;
  tmp___0 = umask((__mode_t )002);
  mask = (int )tmp___0;
  cfg.unpadded = 0U;
  cfg.block_size = 0U;
  cfg.skip_index_objects = 0U;
  cfg.restart_interval = 0;
  cfg.hash_id = 0U;
  cfg.default_permissions = 432U;
  cfg.skip_name_check = 0U;
  cfg.exact_log_message = 0U;
  st = (struct reftable_stack *)((void *)0);
  ref.refname = "HEAD";
  ref.update_index = (uint64_t )1;
  ref.value_type = (enum __anonenum_value_type_72961049 )3;
  ref.value.symref = "master";
  dest.refname = (char *)((void *)0);
  dest.update_index = 0UL;
  dest.value_type = 0U;
  dest.value.val2.value = (uint8_t *)0;
  dest.value.val2.target_value = (uint8_t *)0;
  stat_result.st_dev = (__dev_t )0;
  stat_result.st_ino = 0UL;
  stat_result.st_nlink = 0UL;
  stat_result.st_mode = 0U;
  stat_result.st_uid = 0U;
  stat_result.st_gid = 0U;
  stat_result.__pad0 = 0;
  stat_result.st_rdev = 0UL;
  stat_result.st_size = 0L;
  stat_result.st_blksize = 0L;
  stat_result.st_blocks = 0L;
  stat_result.st_atim.tv_sec = 0L;
  stat_result.st_atim.tv_nsec = 0L;
  stat_result.st_mtim.tv_sec = 0L;
  stat_result.st_mtim.tv_nsec = 0L;
  stat_result.st_ctim.tv_sec = 0L;
  stat_result.st_ctim.tv_nsec = 0L;
  stat_result.__glibc_reserved[0] = 0L;
  stat_result.__glibc_reserved[1] = 0L;
  stat_result.__glibc_reserved[2] = 0L;
  err___4 = reftable_new_stack(& st, (char const   *)dir, cfg);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___1 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            158, err___4, tmp___1);
    abort();
  }
  err___4 = reftable_stack_add(st, & write_test_ref, (void *)(& ref));
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___2 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            161, err___4, tmp___2);
    abort();
  }
  err___4 = reftable_stack_read_ref(st, (char const   *)ref.refname, & dest);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___3 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            164, err___4, tmp___3);
    abort();
  }
  tmp___4 = strcmp((char const   *)"master", (char const   *)dest.value.symref);
  if (! (0 == tmp___4)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            165, "0 == strcmp(\"master\", dest.value.symref)");
    abort();
  }
  if (! (st->readers_len > 0UL)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            166, "st->readers_len > 0");
    abort();
  }
  printf((char const   *)"testing print functionality:\n");
  err___4 = reftable_stack_print_directory((char const   *)dir, (uint32_t )0x73686131);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___5 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            170, err___4, tmp___5);
    abort();
  }
  err___4 = reftable_stack_print_directory((char const   *)dir, (uint32_t )0x73323536);
  if (! (err___4 == -3)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            173, "err == REFTABLE_FORMAT_ERROR");
    abort();
  }
  strbuf_addstr(& scratch, (char const   *)dir);
  strbuf_addstr(& scratch, (char const   *)"/tables.list");
  err___4 = stat((char const   *)scratch.buf, & stat_result);
  if (! (! err___4)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            179, "!err");
    abort();
  }
  if (! ((stat_result.st_mode & 511U) == cfg.default_permissions)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            180, "(stat_result.st_mode & 0777) == cfg.default_permissions");
    abort();
  }
  strbuf_setlen___33(& scratch, (size_t )0);
  strbuf_addstr(& scratch, (char const   *)dir);
  strbuf_addstr(& scratch, (char const   *)"/");
  strbuf_addstr(& scratch, (char const   *)(*(st->readers + 0))->name);
  err___4 = stat((char const   *)scratch.buf, & stat_result);
  if (! (! err___4)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            188, "!err");
    abort();
  }
  if (! ((stat_result.st_mode & 511U) == cfg.default_permissions)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            189, "(stat_result.st_mode & 0777) == cfg.default_permissions");
    abort();
  }
  reftable_ref_record_release(& dest);
  reftable_stack_destroy(st);
  strbuf_release(& scratch);
  clear_dir((char const   *)dir);
  umask((__mode_t )mask);
  return;
}
}
static void test_reftable_stack_uptodate(void)
{
  struct reftable_write_options cfg ;
  struct reftable_stack *st1 ;
  struct reftable_stack *st2 ;
  char *dir ;
  char *tmp ;
  int err___4 ;
  struct reftable_ref_record ref1 ;
  struct reftable_ref_record ref2 ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;

  {
  cfg.unpadded = 0U;
  cfg.block_size = 0U;
  cfg.skip_index_objects = 0U;
  cfg.restart_interval = 0;
  cfg.hash_id = 0U;
  cfg.default_permissions = 0U;
  cfg.skip_name_check = 0U;
  cfg.exact_log_message = 0U;
  st1 = (struct reftable_stack *)((void *)0);
  st2 = (struct reftable_stack *)((void *)0);
  tmp = get_tmp_dir(206);
  dir = tmp;
  ref1.refname = "HEAD";
  ref1.update_index = (uint64_t )1;
  ref1.value_type = (enum __anonenum_value_type_72961049 )3;
  ref1.value.symref = "master";
  ref2.refname = "branch2";
  ref2.update_index = (uint64_t )2;
  ref2.value_type = (enum __anonenum_value_type_72961049 )3;
  ref2.value.symref = "master";
  err___4 = reftable_new_stack(& st1, (char const   *)dir, cfg);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___0 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            227, err___4, tmp___0);
    abort();
  }
  err___4 = reftable_new_stack(& st2, (char const   *)dir, cfg);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___1 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            230, err___4, tmp___1);
    abort();
  }
  err___4 = reftable_stack_add(st1, & write_test_ref, (void *)(& ref1));
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___2 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            233, err___4, tmp___2);
    abort();
  }
  err___4 = reftable_stack_add(st2, & write_test_ref, (void *)(& ref2));
  if (! (err___4 == -5)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            236, "err == REFTABLE_LOCK_ERROR");
    abort();
  }
  err___4 = reftable_stack_reload(st2);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___3 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            239, err___4, tmp___3);
    abort();
  }
  err___4 = reftable_stack_add(st2, & write_test_ref, (void *)(& ref2));
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___4 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            242, err___4, tmp___4);
    abort();
  }
  reftable_stack_destroy(st1);
  reftable_stack_destroy(st2);
  clear_dir((char const   *)dir);
  return;
}
}
static void test_reftable_stack_transaction_api(void)
{
  char *dir ;
  char *tmp ;
  struct reftable_write_options cfg ;
  struct reftable_stack *st ;
  int err___4 ;
  struct reftable_addition *add___2 ;
  struct reftable_ref_record ref ;
  struct reftable_ref_record dest ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;

  {
  tmp = get_tmp_dir(250);
  dir = tmp;
  cfg.unpadded = 0U;
  cfg.block_size = 0U;
  cfg.skip_index_objects = 0U;
  cfg.restart_interval = 0;
  cfg.hash_id = 0U;
  cfg.default_permissions = 0U;
  cfg.skip_name_check = 0U;
  cfg.exact_log_message = 0U;
  st = (struct reftable_stack *)((void *)0);
  add___2 = (struct reftable_addition *)((void *)0);
  ref.refname = "HEAD";
  ref.update_index = (uint64_t )1;
  ref.value_type = (enum __anonenum_value_type_72961049 )3;
  ref.value.symref = "master";
  dest.refname = (char *)((void *)0);
  dest.update_index = 0UL;
  dest.value_type = 0U;
  dest.value.val2.value = (uint8_t *)0;
  dest.value.val2.target_value = (uint8_t *)0;
  err___4 = reftable_new_stack(& st, (char const   *)dir, cfg);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___0 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            267, err___4, tmp___0);
    abort();
  }
  reftable_addition_destroy(add___2);
  err___4 = reftable_stack_new_addition(& add___2, st);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___1 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            272, err___4, tmp___1);
    abort();
  }
  err___4 = reftable_addition_add(add___2, & write_test_ref, (void *)(& ref));
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___2 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            275, err___4, tmp___2);
    abort();
  }
  err___4 = reftable_addition_commit(add___2);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___3 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            278, err___4, tmp___3);
    abort();
  }
  reftable_addition_destroy(add___2);
  err___4 = reftable_stack_read_ref(st, (char const   *)ref.refname, & dest);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___4 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            283, err___4, tmp___4);
    abort();
  }
  if (! (3U == (unsigned int )dest.value_type)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            284, "REFTABLE_REF_SYMREF == dest.value_type");
    abort();
  }
  tmp___5 = strcmp((char const   *)"master", (char const   *)dest.value.symref);
  if (! (0 == tmp___5)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            285, "0 == strcmp(\"master\", dest.value.symref)");
    abort();
  }
  reftable_ref_record_release(& dest);
  reftable_stack_destroy(st);
  clear_dir((char const   *)dir);
  return;
}
}
static void test_reftable_stack_validate_refname(void)
{
  struct reftable_write_options cfg ;
  struct reftable_stack *st ;
  int err___4 ;
  char *dir ;
  char *tmp ;
  int i ;
  struct reftable_ref_record ref ;
  char *additions[2] ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  struct reftable_ref_record ref___0 ;

  {
  cfg.unpadded = 0U;
  cfg.block_size = 0U;
  cfg.skip_index_objects = 0U;
  cfg.restart_interval = 0;
  cfg.hash_id = 0U;
  cfg.default_permissions = 0U;
  cfg.skip_name_check = 0U;
  cfg.exact_log_message = 0U;
  st = (struct reftable_stack *)((void *)0);
  tmp = get_tmp_dir(297);
  dir = tmp;
  ref.refname = "a/b";
  ref.update_index = (uint64_t )1;
  ref.value_type = (enum __anonenum_value_type_72961049 )3;
  ref.value.symref = "master";
  additions[0] = "a";
  additions[1] = "a/b/c";
  err___4 = reftable_new_stack(& st, (char const   *)dir, cfg);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___0 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            309, err___4, tmp___0);
    abort();
  }
  err___4 = reftable_stack_add(st, & write_test_ref, (void *)(& ref));
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___1 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            312, err___4, tmp___1);
    abort();
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(additions) / sizeof(additions[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    ref___0.refname = additions[i];
    ref___0.update_index = (uint64_t )1;
    ref___0.value_type = (enum __anonenum_value_type_72961049 )3;
    ref___0.value.symref = "master";
    err___4 = reftable_stack_add(st, & write_test_ref, (void *)(& ref___0));
    if (! (err___4 == -9)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
              323, "err == REFTABLE_NAME_CONFLICT");
      abort();
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  reftable_stack_destroy(st);
  clear_dir((char const   *)dir);
  return;
}
}
static int write_error___0(struct reftable_writer *wr , void *arg )
{


  {
  return (*((int *)arg));
}
}
static void test_reftable_stack_update_index_check(void)
{
  char *dir ;
  char *tmp ;
  struct reftable_write_options cfg ;
  struct reftable_stack *st ;
  int err___4 ;
  struct reftable_ref_record ref1 ;
  struct reftable_ref_record ref2 ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;

  {
  tmp = get_tmp_dir(337);
  dir = tmp;
  cfg.unpadded = 0U;
  cfg.block_size = 0U;
  cfg.skip_index_objects = 0U;
  cfg.restart_interval = 0;
  cfg.hash_id = 0U;
  cfg.default_permissions = 0U;
  cfg.skip_name_check = 0U;
  cfg.exact_log_message = 0U;
  st = (struct reftable_stack *)((void *)0);
  ref1.refname = "name1";
  ref1.update_index = (uint64_t )1;
  ref1.value_type = (enum __anonenum_value_type_72961049 )3;
  ref1.value.symref = "master";
  ref2.refname = "name2";
  ref2.update_index = (uint64_t )1;
  ref2.value_type = (enum __anonenum_value_type_72961049 )3;
  ref2.value.symref = "master";
  err___4 = reftable_new_stack(& st, (char const   *)dir, cfg);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___0 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            356, err___4, tmp___0);
    abort();
  }
  err___4 = reftable_stack_add(st, & write_test_ref, (void *)(& ref1));
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___1 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            359, err___4, tmp___1);
    abort();
  }
  err___4 = reftable_stack_add(st, & write_test_ref, (void *)(& ref2));
  if (! (err___4 == -6)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            362, "err == REFTABLE_API_ERROR");
    abort();
  }
  reftable_stack_destroy(st);
  clear_dir((char const   *)dir);
  return;
}
}
static void test_reftable_stack_lock_failure(void)
{
  char *dir ;
  char *tmp ;
  struct reftable_write_options cfg ;
  struct reftable_stack *st ;
  int err___4 ;
  int i ;
  char const   *tmp___0 ;

  {
  tmp = get_tmp_dir(369);
  dir = tmp;
  cfg.unpadded = 0U;
  cfg.block_size = 0U;
  cfg.skip_index_objects = 0U;
  cfg.restart_interval = 0;
  cfg.hash_id = 0U;
  cfg.default_permissions = 0U;
  cfg.skip_name_check = 0U;
  cfg.exact_log_message = 0U;
  st = (struct reftable_stack *)((void *)0);
  err___4 = reftable_new_stack(& st, (char const   *)dir, cfg);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___0 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            376, err___4, tmp___0);
    abort();
  }
  i = -1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i != -8)) {
      goto while_break;
    }
    err___4 = reftable_stack_add(st, & write_error___0, (void *)(& i));
    if (! (err___4 == i)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
              379, "err == i");
      abort();
    }
    i --;
  }
  while_break: /* CIL Label */ ;
  }
  reftable_stack_destroy(st);
  clear_dir((char const   *)dir);
  return;
}
}
static void test_reftable_stack_add(void)
{
  int i ;
  int err___4 ;
  struct reftable_write_options cfg ;
  struct reftable_stack *st ;
  char *dir ;
  char *tmp ;
  struct reftable_ref_record refs___0[2] ;
  unsigned int tmp___0 ;
  struct reftable_log_record logs[2] ;
  unsigned int tmp___1 ;
  int N ;
  char const   *tmp___2 ;
  char buf___19[256] ;
  void *tmp___3 ;
  void *tmp___4 ;
  int err___5 ;
  int tmp___5 ;
  char const   *tmp___6 ;
  struct write_log_arg arg ;
  uint64_t tmp___7 ;
  int err___6 ;
  int tmp___8 ;
  char const   *tmp___9 ;
  char const   *tmp___10 ;
  struct reftable_ref_record dest ;
  int err___7 ;
  int tmp___11 ;
  char const   *tmp___12 ;
  int tmp___13 ;
  struct reftable_log_record dest___0 ;
  int err___8 ;
  int tmp___14 ;
  char const   *tmp___15 ;
  int tmp___16 ;

  {
  i = 0;
  err___4 = 0;
  cfg.unpadded = 0U;
  cfg.block_size = 0U;
  cfg.skip_index_objects = 0U;
  cfg.restart_interval = 0;
  cfg.hash_id = 0U;
  cfg.default_permissions = 0U;
  cfg.skip_name_check = 0U;
  cfg.exact_log_message = 1U;
  st = (struct reftable_stack *)((void *)0);
  tmp = get_tmp_dir(394);
  dir = tmp;
  refs___0[0].refname = (char *)((void *)0);
  refs___0[0].update_index = 0UL;
  refs___0[0].value_type = 0U;
  refs___0[0].value.val2.value = (uint8_t *)0;
  refs___0[0].value.val2.target_value = (uint8_t *)0;
  tmp___0 = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp___0 >= 2U) {
      goto while_break;
    }
    refs___0[tmp___0].refname = (char *)0;
    refs___0[tmp___0].update_index = 0UL;
    refs___0[tmp___0].value_type = 0U;
    refs___0[tmp___0].value.val2.value = (uint8_t *)0;
    refs___0[tmp___0].value.val2.target_value = (uint8_t *)0;
    tmp___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  logs[0].refname = (char *)((void *)0);
  logs[0].update_index = 0UL;
  logs[0].value_type = 0U;
  logs[0].value.update.new_hash = (uint8_t *)0;
  logs[0].value.update.old_hash = (uint8_t *)0;
  logs[0].value.update.name = (char *)0;
  logs[0].value.update.email = (char *)0;
  logs[0].value.update.time = 0UL;
  logs[0].value.update.tz_offset = (short)0;
  logs[0].value.update.message = (char *)0;
  tmp___1 = 1U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (tmp___1 >= 2U) {
      goto while_break___0;
    }
    logs[tmp___1].refname = (char *)0;
    logs[tmp___1].update_index = 0UL;
    logs[tmp___1].value_type = 0U;
    logs[tmp___1].value.update.new_hash = (uint8_t *)0;
    logs[tmp___1].value.update.old_hash = (uint8_t *)0;
    logs[tmp___1].value.update.name = (char *)0;
    logs[tmp___1].value.update.email = (char *)0;
    logs[tmp___1].value.update.time = 0UL;
    logs[tmp___1].value.update.tz_offset = (short)0;
    logs[tmp___1].value.update.message = (char *)0;
    tmp___1 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  N = (int )(sizeof(refs___0) / sizeof(refs___0[0]) + (sizeof(char [1]) - 1UL));
  err___4 = reftable_new_stack(& st, (char const   *)dir, cfg);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___2 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            402, err___4, tmp___2);
    abort();
  }
  st->disable_auto_compact = 1;
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break___1;
    }
    snprintf(buf___19, sizeof(buf___19), (char const   *)"branch%02d", i);
    refs___0[i].refname = xstrdup((char const   *)(buf___19));
    refs___0[i].update_index = (uint64_t )(i + 1);
    refs___0[i].value_type = (enum __anonenum_value_type_72961049 )1;
    tmp___3 = reftable_malloc((size_t )20);
    refs___0[i].value.val1 = (uint8_t *)tmp___3;
    set_test_hash(refs___0[i].value.val1, i);
    logs[i].refname = xstrdup((char const   *)(buf___19));
    logs[i].update_index = (uint64_t )((N + i) + 1);
    logs[i].value_type = (enum __anonenum_value_type_859643437 )1;
    tmp___4 = reftable_malloc((size_t )20);
    logs[i].value.update.new_hash = (uint8_t *)tmp___4;
    logs[i].value.update.email = xstrdup((char const   *)"identity@invalid");
    set_test_hash(logs[i].value.update.new_hash, i);
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break___2;
    }
    tmp___5 = reftable_stack_add(st, & write_test_ref, (void *)(& refs___0[i]));
    err___5 = tmp___5;
    if (err___5 != 0) {
      fflush(stderr);
      fflush(stdout);
      tmp___6 = reftable_error_str(err___5);
      fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
              425, err___5, tmp___6);
      abort();
    }
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break___3;
    }
    tmp___7 = reftable_stack_next_update_index(st);
    arg.log = & logs[i];
    arg.update_index = tmp___7;
    tmp___8 = reftable_stack_add(st, & write_test_log, (void *)(& arg));
    err___6 = tmp___8;
    if (err___6 != 0) {
      fflush(stderr);
      fflush(stdout);
      tmp___9 = reftable_error_str(err___6);
      fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
              434, err___6, tmp___9);
      abort();
    }
    i ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  err___4 = reftable_stack_compact_all(st, (struct reftable_log_expiry_config *)((void *)0));
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___10 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            438, err___4, tmp___10);
    abort();
  }
  i = 0;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break___4;
    }
    dest.refname = (char *)((void *)0);
    dest.update_index = 0UL;
    dest.value_type = 0U;
    dest.value.val2.value = (uint8_t *)0;
    dest.value.val2.target_value = (uint8_t *)0;
    tmp___11 = reftable_stack_read_ref(st, (char const   *)refs___0[i].refname, & dest);
    err___7 = tmp___11;
    if (err___7 != 0) {
      fflush(stderr);
      fflush(stdout);
      tmp___12 = reftable_error_str(err___7);
      fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
              444, err___7, tmp___12);
      abort();
    }
    tmp___13 = reftable_ref_record_equal(& dest, refs___0 + i, 20);
    if (! tmp___13) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
              446, "reftable_ref_record_equal(&dest, refs + i, GIT_SHA1_RAWSZ)");
      abort();
    }
    reftable_ref_record_release(& dest);
    i ++;
  }
  while_break___4: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___5: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break___5;
    }
    dest___0.refname = (char *)((void *)0);
    dest___0.update_index = 0UL;
    dest___0.value_type = 0U;
    dest___0.value.update.new_hash = (uint8_t *)0;
    dest___0.value.update.old_hash = (uint8_t *)0;
    dest___0.value.update.name = (char *)0;
    dest___0.value.update.email = (char *)0;
    dest___0.value.update.time = 0UL;
    dest___0.value.update.tz_offset = (short)0;
    dest___0.value.update.message = (char *)0;
    tmp___14 = reftable_stack_read_log(st, (char const   *)refs___0[i].refname, & dest___0);
    err___8 = tmp___14;
    if (err___8 != 0) {
      fflush(stderr);
      fflush(stdout);
      tmp___15 = reftable_error_str(err___8);
      fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
              453, err___8, tmp___15);
      abort();
    }
    tmp___16 = reftable_log_record_equal(& dest___0, logs + i, 20);
    if (! tmp___16) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
              455, "reftable_log_record_equal(&dest, logs + i, GIT_SHA1_RAWSZ)");
      abort();
    }
    reftable_log_record_release(& dest___0);
    i ++;
  }
  while_break___5: /* CIL Label */ ;
  }
  reftable_stack_destroy(st);
  i = 0;
  {
  while (1) {
    while_continue___6: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break___6;
    }
    reftable_ref_record_release(& refs___0[i]);
    reftable_log_record_release(& logs[i]);
    i ++;
  }
  while_break___6: /* CIL Label */ ;
  }
  clear_dir((char const   *)dir);
  return;
}
}
static void test_reftable_stack_log_normalize(void)
{
  int err___4 ;
  struct reftable_write_options cfg ;
  struct reftable_stack *st ;
  char *dir ;
  char *tmp ;
  uint8_t h1[20] ;
  unsigned int tmp___0 ;
  uint8_t h2[20] ;
  unsigned int tmp___1 ;
  struct reftable_log_record input ;
  struct reftable_log_record dest ;
  struct write_log_arg arg ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  char const   *tmp___6 ;
  char const   *tmp___7 ;
  int tmp___8 ;

  {
  err___4 = 0;
  cfg.unpadded = 0U;
  cfg.block_size = 0U;
  cfg.skip_index_objects = 0U;
  cfg.restart_interval = 0;
  cfg.hash_id = 0U;
  cfg.default_permissions = 0U;
  cfg.skip_name_check = 0U;
  cfg.exact_log_message = 0U;
  st = (struct reftable_stack *)((void *)0);
  tmp = get_tmp_dir(475);
  dir = tmp;
  h1[0] = (uint8_t )0x01;
  tmp___0 = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp___0 >= 20U) {
      goto while_break;
    }
    h1[tmp___0] = (unsigned char)0;
    tmp___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  h2[0] = (uint8_t )0x02;
  tmp___1 = 1U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (tmp___1 >= 20U) {
      goto while_break___0;
    }
    h2[tmp___1] = (unsigned char)0;
    tmp___1 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  input.refname = "branch";
  input.update_index = (uint64_t )1;
  input.value_type = (enum __anonenum_value_type_859643437 )1;
  input.value.update.new_hash = h1;
  input.value.update.old_hash = h2;
  input.value.update.name = (char *)0;
  input.value.update.email = (char *)0;
  input.value.update.time = 0UL;
  input.value.update.tz_offset = (short)0;
  input.value.update.message = (char *)0;
  dest.refname = (char *)0;
  dest.update_index = (uint64_t )0;
  dest.value_type = 0U;
  dest.value.update.new_hash = (uint8_t *)0;
  dest.value.update.old_hash = (uint8_t *)0;
  dest.value.update.name = (char *)0;
  dest.value.update.email = (char *)0;
  dest.value.update.time = 0UL;
  dest.value.update.tz_offset = (short)0;
  dest.value.update.message = (char *)0;
  arg.log = & input;
  arg.update_index = (uint64_t )1;
  err___4 = reftable_new_stack(& st, (char const   *)dir, cfg);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___2 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            495, err___4, tmp___2);
    abort();
  }
  input.value.update.message = "one\ntwo";
  err___4 = reftable_stack_add(st, & write_test_log, (void *)(& arg));
  if (! (err___4 == -6)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            499, "err == REFTABLE_API_ERROR");
    abort();
  }
  input.value.update.message = "one";
  err___4 = reftable_stack_add(st, & write_test_log, (void *)(& arg));
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___3 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            503, err___4, tmp___3);
    abort();
  }
  err___4 = reftable_stack_read_log(st, (char const   *)input.refname, & dest);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___4 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            506, err___4, tmp___4);
    abort();
  }
  tmp___5 = strcmp((char const   *)dest.value.update.message, (char const   *)"one\n");
  if (! (0 == tmp___5)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            507, "0 == strcmp(dest.value.update.message, \"one\\n\")");
    abort();
  }
  input.value.update.message = "two\n";
  arg.update_index = (uint64_t )2;
  err___4 = reftable_stack_add(st, & write_test_log, (void *)(& arg));
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___6 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            512, err___4, tmp___6);
    abort();
  }
  err___4 = reftable_stack_read_log(st, (char const   *)input.refname, & dest);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___7 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            514, err___4, tmp___7);
    abort();
  }
  tmp___8 = strcmp((char const   *)dest.value.update.message, (char const   *)"two\n");
  if (! (0 == tmp___8)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            515, "0 == strcmp(dest.value.update.message, \"two\\n\")");
    abort();
  }
  reftable_stack_destroy(st);
  reftable_log_record_release(& dest);
  clear_dir((char const   *)dir);
  return;
}
}
static void test_reftable_stack_tombstone(void)
{
  int i ;
  char *dir ;
  char *tmp ;
  struct reftable_write_options cfg ;
  struct reftable_stack *st ;
  int err___4 ;
  struct reftable_ref_record refs___0[2] ;
  unsigned int tmp___0 ;
  struct reftable_log_record logs[2] ;
  unsigned int tmp___1 ;
  int N ;
  struct reftable_ref_record dest ;
  struct reftable_log_record log_dest ;
  char const   *tmp___2 ;
  char const   *buf___19 ;
  void *tmp___3 ;
  void *tmp___4 ;
  int err___5 ;
  int tmp___5 ;
  char const   *tmp___6 ;
  struct write_log_arg arg ;
  uint64_t tmp___7 ;
  int err___6 ;
  int tmp___8 ;
  char const   *tmp___9 ;
  char const   *tmp___10 ;

  {
  i = 0;
  tmp = get_tmp_dir(526);
  dir = tmp;
  cfg.unpadded = 0U;
  cfg.block_size = 0U;
  cfg.skip_index_objects = 0U;
  cfg.restart_interval = 0;
  cfg.hash_id = 0U;
  cfg.default_permissions = 0U;
  cfg.skip_name_check = 0U;
  cfg.exact_log_message = 0U;
  st = (struct reftable_stack *)((void *)0);
  refs___0[0].refname = (char *)((void *)0);
  refs___0[0].update_index = 0UL;
  refs___0[0].value_type = 0U;
  refs___0[0].value.val2.value = (uint8_t *)0;
  refs___0[0].value.val2.target_value = (uint8_t *)0;
  tmp___0 = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp___0 >= 2U) {
      goto while_break;
    }
    refs___0[tmp___0].refname = (char *)0;
    refs___0[tmp___0].update_index = 0UL;
    refs___0[tmp___0].value_type = 0U;
    refs___0[tmp___0].value.val2.value = (uint8_t *)0;
    refs___0[tmp___0].value.val2.target_value = (uint8_t *)0;
    tmp___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  logs[0].refname = (char *)((void *)0);
  logs[0].update_index = 0UL;
  logs[0].value_type = 0U;
  logs[0].value.update.new_hash = (uint8_t *)0;
  logs[0].value.update.old_hash = (uint8_t *)0;
  logs[0].value.update.name = (char *)0;
  logs[0].value.update.email = (char *)0;
  logs[0].value.update.time = 0UL;
  logs[0].value.update.tz_offset = (short)0;
  logs[0].value.update.message = (char *)0;
  tmp___1 = 1U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (tmp___1 >= 2U) {
      goto while_break___0;
    }
    logs[tmp___1].refname = (char *)0;
    logs[tmp___1].update_index = 0UL;
    logs[tmp___1].value_type = 0U;
    logs[tmp___1].value.update.new_hash = (uint8_t *)0;
    logs[tmp___1].value.update.old_hash = (uint8_t *)0;
    logs[tmp___1].value.update.name = (char *)0;
    logs[tmp___1].value.update.email = (char *)0;
    logs[tmp___1].value.update.time = 0UL;
    logs[tmp___1].value.update.tz_offset = (short)0;
    logs[tmp___1].value.update.message = (char *)0;
    tmp___1 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  N = (int )(sizeof(refs___0) / sizeof(refs___0[0]) + (sizeof(char [1]) - 1UL));
  dest.refname = (char *)((void *)0);
  dest.update_index = 0UL;
  dest.value_type = 0U;
  dest.value.val2.value = (uint8_t *)0;
  dest.value.val2.target_value = (uint8_t *)0;
  log_dest.refname = (char *)((void *)0);
  log_dest.update_index = 0UL;
  log_dest.value_type = 0U;
  log_dest.value.update.new_hash = (uint8_t *)0;
  log_dest.value.update.old_hash = (uint8_t *)0;
  log_dest.value.update.name = (char *)0;
  log_dest.value.update.email = (char *)0;
  log_dest.value.update.time = 0UL;
  log_dest.value.update.tz_offset = (short)0;
  log_dest.value.update.message = (char *)0;
  err___4 = reftable_new_stack(& st, (char const   *)dir, cfg);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___2 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            539, err___4, tmp___2);
    abort();
  }
  i = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break___1;
    }
    buf___19 = (char const   *)"branch";
    refs___0[i].refname = xstrdup(buf___19);
    refs___0[i].update_index = (uint64_t )(i + 1);
    if (i % 2 == 0) {
      refs___0[i].value_type = (enum __anonenum_value_type_72961049 )1;
      tmp___3 = reftable_malloc((size_t )20);
      refs___0[i].value.val1 = (uint8_t *)tmp___3;
      set_test_hash(refs___0[i].value.val1, i);
    }
    logs[i].refname = xstrdup(buf___19);
    logs[i].update_index = (uint64_t )42;
    if (i % 2 == 0) {
      logs[i].value_type = (enum __anonenum_value_type_859643437 )1;
      tmp___4 = reftable_malloc((size_t )20);
      logs[i].value.update.new_hash = (uint8_t *)tmp___4;
      set_test_hash(logs[i].value.update.new_hash, i);
      logs[i].value.update.email = xstrdup((char const   *)"identity@invalid");
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break___2;
    }
    tmp___5 = reftable_stack_add(st, & write_test_ref, (void *)(& refs___0[i]));
    err___5 = tmp___5;
    if (err___5 != 0) {
      fflush(stderr);
      fflush(stdout);
      tmp___6 = reftable_error_str(err___5);
      fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
              566, err___5, tmp___6);
      abort();
    }
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break___3;
    }
    tmp___7 = reftable_stack_next_update_index(st);
    arg.log = & logs[i];
    arg.update_index = tmp___7;
    tmp___8 = reftable_stack_add(st, & write_test_log, (void *)(& arg));
    err___6 = tmp___8;
    if (err___6 != 0) {
      fflush(stderr);
      fflush(stdout);
      tmp___9 = reftable_error_str(err___6);
      fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
              575, err___6, tmp___9);
      abort();
    }
    i ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  err___4 = reftable_stack_read_ref(st, (char const   *)"branch", & dest);
  if (! (err___4 == 1)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            579, "err == 1");
    abort();
  }
  reftable_ref_record_release(& dest);
  err___4 = reftable_stack_read_log(st, (char const   *)"branch", & log_dest);
  if (! (err___4 == 1)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            583, "err == 1");
    abort();
  }
  reftable_log_record_release(& log_dest);
  err___4 = reftable_stack_compact_all(st, (struct reftable_log_expiry_config *)((void *)0));
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___10 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            587, err___4, tmp___10);
    abort();
  }
  err___4 = reftable_stack_read_ref(st, (char const   *)"branch", & dest);
  if (! (err___4 == 1)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            590, "err == 1");
    abort();
  }
  err___4 = reftable_stack_read_log(st, (char const   *)"branch", & log_dest);
  if (! (err___4 == 1)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            593, "err == 1");
    abort();
  }
  reftable_ref_record_release(& dest);
  reftable_log_record_release(& log_dest);
  reftable_stack_destroy(st);
  i = 0;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break___4;
    }
    reftable_ref_record_release(& refs___0[i]);
    reftable_log_record_release(& logs[i]);
    i ++;
  }
  while_break___4: /* CIL Label */ ;
  }
  clear_dir((char const   *)dir);
  return;
}
}
static void test_reftable_stack_hash_id(void)
{
  char *dir ;
  char *tmp ;
  struct reftable_write_options cfg ;
  struct reftable_stack *st ;
  int err___4 ;
  struct reftable_ref_record ref ;
  struct reftable_write_options cfg32 ;
  struct reftable_stack *st32 ;
  struct reftable_write_options cfg_default ;
  struct reftable_stack *st_default ;
  struct reftable_ref_record dest ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;

  {
  tmp = get_tmp_dir(608);
  dir = tmp;
  cfg.unpadded = 0U;
  cfg.block_size = 0U;
  cfg.skip_index_objects = 0U;
  cfg.restart_interval = 0;
  cfg.hash_id = 0U;
  cfg.default_permissions = 0U;
  cfg.skip_name_check = 0U;
  cfg.exact_log_message = 0U;
  st = (struct reftable_stack *)((void *)0);
  ref.refname = "master";
  ref.update_index = (uint64_t )1;
  ref.value_type = (enum __anonenum_value_type_72961049 )3;
  ref.value.symref = "target";
  cfg32.unpadded = 0U;
  cfg32.block_size = 0U;
  cfg32.skip_index_objects = 0U;
  cfg32.restart_interval = 0;
  cfg32.hash_id = (uint32_t )0x73323536;
  cfg32.default_permissions = 0U;
  cfg32.skip_name_check = 0U;
  cfg32.exact_log_message = 0U;
  st32 = (struct reftable_stack *)((void *)0);
  cfg_default.unpadded = 0U;
  cfg_default.block_size = 0U;
  cfg_default.skip_index_objects = 0U;
  cfg_default.restart_interval = 0;
  cfg_default.hash_id = 0U;
  cfg_default.default_permissions = 0U;
  cfg_default.skip_name_check = 0U;
  cfg_default.exact_log_message = 0U;
  st_default = (struct reftable_stack *)((void *)0);
  dest.refname = (char *)((void *)0);
  dest.update_index = 0UL;
  dest.value_type = 0U;
  dest.value.val2.value = (uint8_t *)0;
  dest.value.val2.target_value = (uint8_t *)0;
  err___4 = reftable_new_stack(& st, (char const   *)dir, cfg);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___0 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            627, err___4, tmp___0);
    abort();
  }
  err___4 = reftable_stack_add(st, & write_test_ref, (void *)(& ref));
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___1 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            630, err___4, tmp___1);
    abort();
  }
  err___4 = reftable_new_stack(& st32, (char const   *)dir, cfg32);
  if (! (err___4 == -3)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            634, "err == REFTABLE_FORMAT_ERROR");
    abort();
  }
  err___4 = reftable_new_stack(& st_default, (char const   *)dir, cfg_default);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___2 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            638, err___4, tmp___2);
    abort();
  }
  err___4 = reftable_stack_read_ref(st_default, (char const   *)"master", & dest);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___3 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            641, err___4, tmp___3);
    abort();
  }
  tmp___4 = reftable_ref_record_equal(& ref, & dest, 20);
  if (! tmp___4) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            643, "reftable_ref_record_equal(&ref, &dest, GIT_SHA1_RAWSZ)");
    abort();
  }
  reftable_ref_record_release(& dest);
  reftable_stack_destroy(st);
  reftable_stack_destroy(st_default);
  clear_dir((char const   *)dir);
  return;
}
}
static void test_log2(void)
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = fastlog2((uint64_t )3);
  if (! (1 == tmp)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            652, "1 == fastlog2(3)");
    abort();
  }
  tmp___0 = fastlog2((uint64_t )4);
  if (! (2 == tmp___0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            653, "2 == fastlog2(4)");
    abort();
  }
  tmp___1 = fastlog2((uint64_t )5);
  if (! (2 == tmp___1)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            654, "2 == fastlog2(5)");
    abort();
  }
  return;
}
}
static void test_sizes_to_segments(void)
{
  uint64_t sizes[6] ;
  int seglen ;
  struct segment *segs ;
  struct segment *tmp ;

  {
  sizes[0] = (uint64_t )2;
  sizes[1] = (uint64_t )3;
  sizes[2] = (uint64_t )4;
  sizes[3] = (uint64_t )5;
  sizes[4] = (uint64_t )7;
  sizes[5] = (uint64_t )9;
  seglen = 0;
  tmp = sizes_to_segments(& seglen, sizes, (int )(sizeof(sizes) / sizeof(sizes[0]) + (sizeof(char [1]) - 1UL)));
  segs = tmp;
  if (! ((segs + 2)->log == 3)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            665, "segs[2].log == 3");
    abort();
  }
  if (! ((segs + 2)->start == 5)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            666, "segs[2].start == 5");
    abort();
  }
  if (! ((segs + 2)->end == 6)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            667, "segs[2].end == 6");
    abort();
  }
  if (! ((segs + 1)->log == 2)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            669, "segs[1].log == 2");
    abort();
  }
  if (! ((segs + 1)->start == 2)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            670, "segs[1].start == 2");
    abort();
  }
  if (! ((segs + 1)->end == 5)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            671, "segs[1].end == 5");
    abort();
  }
  reftable_free((void *)segs);
  return;
}
}
static void test_sizes_to_segments_empty(void)
{
  int seglen ;
  struct segment *segs ;
  struct segment *tmp ;

  {
  seglen = 0;
  tmp = sizes_to_segments(& seglen, (uint64_t *)((void *)0), 0);
  segs = tmp;
  if (! (seglen == 0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            679, "seglen == 0");
    abort();
  }
  reftable_free((void *)segs);
  return;
}
}
static void test_sizes_to_segments_all_equal(void)
{
  uint64_t sizes[2] ;
  int seglen ;
  struct segment *segs ;
  struct segment *tmp ;

  {
  sizes[0] = (uint64_t )5;
  sizes[1] = (uint64_t )5;
  seglen = 0;
  tmp = sizes_to_segments(& seglen, sizes, (int )(sizeof(sizes) / sizeof(sizes[0]) + (sizeof(char [1]) - 1UL)));
  segs = tmp;
  if (! (seglen == 1)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            690, "seglen == 1");
    abort();
  }
  if (! ((segs + 0)->start == 0)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            691, "segs[0].start == 0");
    abort();
  }
  if (! ((segs + 0)->end == 2)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            692, "segs[0].end == 2");
    abort();
  }
  reftable_free((void *)segs);
  return;
}
}
static void test_suggest_compaction_segment(void)
{
  uint64_t sizes[9] ;
  struct segment min ;
  struct segment tmp ;

  {
  sizes[0] = (uint64_t )128;
  sizes[1] = (uint64_t )64;
  sizes[2] = (uint64_t )17;
  sizes[3] = (uint64_t )16;
  sizes[4] = (uint64_t )9;
  sizes[5] = (uint64_t )9;
  sizes[6] = (uint64_t )9;
  sizes[7] = (uint64_t )16;
  sizes[8] = (uint64_t )16;
  tmp = suggest_compaction_segment(sizes, (int )(sizeof(sizes) / sizeof(sizes[0]) + (sizeof(char [1]) - 1UL)));
  min = tmp;
  if (! (min.start == 2)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            702, "min.start == 2");
    abort();
  }
  if (! (min.end == 7)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            703, "min.end == 7");
    abort();
  }
  return;
}
}
static void test_suggest_compaction_segment_nothing(void)
{
  uint64_t sizes[6] ;
  struct segment result___0 ;
  struct segment tmp ;

  {
  sizes[0] = (uint64_t )64;
  sizes[1] = (uint64_t )32;
  sizes[2] = (uint64_t )16;
  sizes[3] = (uint64_t )8;
  sizes[4] = (uint64_t )4;
  sizes[5] = (uint64_t )2;
  tmp = suggest_compaction_segment(sizes, (int )(sizeof(sizes) / sizeof(sizes[0]) + (sizeof(char [1]) - 1UL)));
  result___0 = tmp;
  if (! (result___0.start == result___0.end)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            711, "result.start == result.end");
    abort();
  }
  return;
}
}
static void test_reflog_expire(void)
{
  char *dir ;
  char *tmp ;
  struct reftable_write_options cfg ;
  struct reftable_stack *st ;
  struct reftable_log_record logs[20] ;
  unsigned int tmp___0 ;
  int N ;
  int i ;
  int err___4 ;
  struct reftable_log_expiry_config expiry ;
  struct reftable_log_record log ;
  char const   *tmp___1 ;
  char buf___19[256] ;
  void *tmp___2 ;
  struct write_log_arg arg ;
  uint64_t tmp___3 ;
  int err___5 ;
  int tmp___4 ;
  char const   *tmp___5 ;
  char const   *tmp___6 ;
  char const   *tmp___7 ;
  char const   *tmp___8 ;
  char const   *tmp___9 ;
  char const   *tmp___10 ;

  {
  tmp = get_tmp_dir(716);
  dir = tmp;
  cfg.unpadded = 0U;
  cfg.block_size = 0U;
  cfg.skip_index_objects = 0U;
  cfg.restart_interval = 0;
  cfg.hash_id = 0U;
  cfg.default_permissions = 0U;
  cfg.skip_name_check = 0U;
  cfg.exact_log_message = 0U;
  st = (struct reftable_stack *)((void *)0);
  logs[0].refname = (char *)((void *)0);
  logs[0].update_index = 0UL;
  logs[0].value_type = 0U;
  logs[0].value.update.new_hash = (uint8_t *)0;
  logs[0].value.update.old_hash = (uint8_t *)0;
  logs[0].value.update.name = (char *)0;
  logs[0].value.update.email = (char *)0;
  logs[0].value.update.time = 0UL;
  logs[0].value.update.tz_offset = (short)0;
  logs[0].value.update.message = (char *)0;
  tmp___0 = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp___0 >= 20U) {
      goto while_break;
    }
    logs[tmp___0].refname = (char *)0;
    logs[tmp___0].update_index = 0UL;
    logs[tmp___0].value_type = 0U;
    logs[tmp___0].value.update.new_hash = (uint8_t *)0;
    logs[tmp___0].value.update.old_hash = (uint8_t *)0;
    logs[tmp___0].value.update.name = (char *)0;
    logs[tmp___0].value.update.email = (char *)0;
    logs[tmp___0].value.update.time = 0UL;
    logs[tmp___0].value.update.tz_offset = (short)0;
    logs[tmp___0].value.update.message = (char *)0;
    tmp___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  N = (int )((sizeof(logs) / sizeof(logs[0]) + (sizeof(char [1]) - 1UL)) - 1UL);
  i = 0;
  expiry.time = (uint64_t )10;
  expiry.min_update_index = 0UL;
  log.refname = (char *)((void *)0);
  log.update_index = 0UL;
  log.value_type = 0U;
  log.value.update.new_hash = (uint8_t *)0;
  log.value.update.old_hash = (uint8_t *)0;
  log.value.update.name = (char *)0;
  log.value.update.email = (char *)0;
  log.value.update.time = 0UL;
  log.value.update.tz_offset = (short)0;
  log.value.update.message = (char *)0;
  err___4 = reftable_new_stack(& st, (char const   *)dir, cfg);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___1 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            731, err___4, tmp___1);
    abort();
  }
  i = 1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i <= N)) {
      goto while_break___0;
    }
    snprintf(buf___19, sizeof(buf___19), (char const   *)"branch%02d", i);
    logs[i].refname = xstrdup((char const   *)(buf___19));
    logs[i].update_index = (uint64_t )i;
    logs[i].value_type = (enum __anonenum_value_type_859643437 )1;
    logs[i].value.update.time = (uint64_t )i;
    tmp___2 = reftable_malloc((size_t )20);
    logs[i].value.update.new_hash = (uint8_t *)tmp___2;
    logs[i].value.update.email = xstrdup((char const   *)"identity@invalid");
    set_test_hash(logs[i].value.update.new_hash, i);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 1;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i <= N)) {
      goto while_break___1;
    }
    tmp___3 = reftable_stack_next_update_index(st);
    arg.log = & logs[i];
    arg.update_index = tmp___3;
    tmp___4 = reftable_stack_add(st, & write_test_log, (void *)(& arg));
    err___5 = tmp___4;
    if (err___5 != 0) {
      fflush(stderr);
      fflush(stdout);
      tmp___5 = reftable_error_str(err___5);
      fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
              752, err___5, tmp___5);
      abort();
    }
    i ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  err___4 = reftable_stack_compact_all(st, (struct reftable_log_expiry_config *)((void *)0));
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___6 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            756, err___4, tmp___6);
    abort();
  }
  err___4 = reftable_stack_compact_all(st, & expiry);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___7 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            759, err___4, tmp___7);
    abort();
  }
  err___4 = reftable_stack_read_log(st, (char const   *)logs[9].refname, & log);
  if (! (err___4 == 1)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            762, "err == 1");
    abort();
  }
  err___4 = reftable_stack_read_log(st, (char const   *)logs[11].refname, & log);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___8 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            765, err___4, tmp___8);
    abort();
  }
  expiry.min_update_index = (uint64_t )15;
  err___4 = reftable_stack_compact_all(st, & expiry);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___9 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            769, err___4, tmp___9);
    abort();
  }
  err___4 = reftable_stack_read_log(st, (char const   *)logs[14].refname, & log);
  if (! (err___4 == 1)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            772, "err == 1");
    abort();
  }
  err___4 = reftable_stack_read_log(st, (char const   *)logs[16].refname, & log);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___10 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            775, err___4, tmp___10);
    abort();
  }
  reftable_stack_destroy(st);
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i <= N)) {
      goto while_break___2;
    }
    reftable_log_record_release(& logs[i]);
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  clear_dir((char const   *)dir);
  reftable_log_record_release(& log);
  return;
}
}
static int write_nothing(struct reftable_writer *wr , void *arg )
{


  {
  reftable_writer_set_limits(wr, (uint64_t )1, (uint64_t )1);
  return (0);
}
}
static void test_empty_add(void)
{
  struct reftable_write_options cfg ;
  struct reftable_stack *st ;
  int err___4 ;
  char *dir ;
  char *tmp ;
  struct reftable_stack *st2 ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;

  {
  cfg.unpadded = 0U;
  cfg.block_size = 0U;
  cfg.skip_index_objects = 0U;
  cfg.restart_interval = 0;
  cfg.hash_id = 0U;
  cfg.default_permissions = 0U;
  cfg.skip_name_check = 0U;
  cfg.exact_log_message = 0U;
  st = (struct reftable_stack *)((void *)0);
  tmp = get_tmp_dir(797);
  dir = tmp;
  st2 = (struct reftable_stack *)((void *)0);
  err___4 = reftable_new_stack(& st, (char const   *)dir, cfg);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___0 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            803, err___4, tmp___0);
    abort();
  }
  err___4 = reftable_stack_add(st, & write_nothing, (void *)0);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___1 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            806, err___4, tmp___1);
    abort();
  }
  err___4 = reftable_new_stack(& st2, (char const   *)dir, cfg);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___2 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            809, err___4, tmp___2);
    abort();
  }
  clear_dir((char const   *)dir);
  reftable_stack_destroy(st);
  reftable_stack_destroy(st2);
  return;
}
}
static void test_reftable_stack_auto_compaction(void)
{
  struct reftable_write_options cfg ;
  struct reftable_stack *st ;
  char *dir ;
  char *tmp ;
  int err___4 ;
  int i ;
  int N ;
  char const   *tmp___0 ;
  char name___0[100] ;
  struct reftable_ref_record ref ;
  uint64_t tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  struct reftable_compaction_stats *tmp___4 ;
  int tmp___5 ;

  {
  cfg.unpadded = 0U;
  cfg.block_size = 0U;
  cfg.skip_index_objects = 0U;
  cfg.restart_interval = 0;
  cfg.hash_id = 0U;
  cfg.default_permissions = 0U;
  cfg.skip_name_check = 0U;
  cfg.exact_log_message = 0U;
  st = (struct reftable_stack *)((void *)0);
  tmp = get_tmp_dir(819);
  dir = tmp;
  N = 100;
  err___4 = reftable_new_stack(& st, (char const   *)dir, cfg);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___0 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            825, err___4, tmp___0);
    abort();
  }
  st->disable_auto_compact = 1;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break;
    }
    tmp___1 = reftable_stack_next_update_index(st);
    ref.refname = name___0;
    ref.update_index = tmp___1;
    ref.value_type = (enum __anonenum_value_type_72961049 )3;
    ref.value.symref = "master";
    snprintf(name___0, sizeof(name___0), (char const   *)"branch%04d", i);
    err___4 = reftable_stack_add(st, & write_test_ref, (void *)(& ref));
    if (err___4 != 0) {
      fflush(stderr);
      fflush(stdout);
      tmp___2 = reftable_error_str(err___4);
      fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
              839, err___4, tmp___2);
      abort();
    }
    err___4 = reftable_stack_auto_compact(st);
    if (! (i < 3)) {
      tmp___3 = fastlog2((uint64_t )i);
      if (! ((st->merged)->stack_len < (size_t )(2 * tmp___3))) {
        fflush(stderr);
        fflush(stdout);
        fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
                842, "i < 3 || st->merged->stack_len < 2 * fastlog2(i)");
        abort();
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___4 = reftable_stack_compaction_stats(st);
  tmp___5 = fastlog2((uint64_t )N);
  if (! (tmp___4->entries_written < (uint64_t )(N * tmp___5))) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            846, "reftable_stack_compaction_stats(st)->entries_written < (uint64_t)(N * fastlog2(N))");
    abort();
  }
  reftable_stack_destroy(st);
  clear_dir((char const   *)dir);
  return;
}
}
static void test_reftable_stack_compaction_concurrent(void)
{
  struct reftable_write_options cfg ;
  struct reftable_stack *st1 ;
  struct reftable_stack *st2 ;
  char *dir ;
  char *tmp ;
  int err___4 ;
  int i ;
  int N ;
  char const   *tmp___0 ;
  char name___0[100] ;
  struct reftable_ref_record ref ;
  uint64_t tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;

  {
  cfg.unpadded = 0U;
  cfg.block_size = 0U;
  cfg.skip_index_objects = 0U;
  cfg.restart_interval = 0;
  cfg.hash_id = 0U;
  cfg.default_permissions = 0U;
  cfg.skip_name_check = 0U;
  cfg.exact_log_message = 0U;
  st1 = (struct reftable_stack *)((void *)0);
  st2 = (struct reftable_stack *)((void *)0);
  tmp = get_tmp_dir(856);
  dir = tmp;
  N = 3;
  err___4 = reftable_new_stack(& st1, (char const   *)dir, cfg);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___0 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            862, err___4, tmp___0);
    abort();
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break;
    }
    tmp___1 = reftable_stack_next_update_index(st1);
    ref.refname = name___0;
    ref.update_index = tmp___1;
    ref.value_type = (enum __anonenum_value_type_72961049 )3;
    ref.value.symref = "master";
    snprintf(name___0, sizeof(name___0), (char const   *)"branch%04d", i);
    err___4 = reftable_stack_add(st1, & write_test_ref, (void *)(& ref));
    if (err___4 != 0) {
      fflush(stderr);
      fflush(stdout);
      tmp___2 = reftable_error_str(err___4);
      fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
              875, err___4, tmp___2);
      abort();
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  err___4 = reftable_new_stack(& st2, (char const   *)dir, cfg);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___3 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            879, err___4, tmp___3);
    abort();
  }
  err___4 = reftable_stack_compact_all(st1, (struct reftable_log_expiry_config *)((void *)0));
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___4 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            882, err___4, tmp___4);
    abort();
  }
  reftable_stack_destroy(st1);
  reftable_stack_destroy(st2);
  tmp___5 = count_dir_entries((char const   *)dir);
  if (! (tmp___5 == 2)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            887, "count_dir_entries(dir) == 2");
    abort();
  }
  clear_dir((char const   *)dir);
  return;
}
}
static void unclean_stack_close(struct reftable_stack *st )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < st->readers_len)) {
      goto while_break;
    }
    reftable_reader_free(*(st->readers + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  st->readers_len = (size_t )0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)st->readers);
    st->readers = (struct reftable_reader **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void test_reftable_stack_compaction_concurrent_clean(void)
{
  struct reftable_write_options cfg ;
  struct reftable_stack *st1 ;
  struct reftable_stack *st2 ;
  struct reftable_stack *st3 ;
  char *dir ;
  char *tmp ;
  int err___4 ;
  int i ;
  int N ;
  char const   *tmp___0 ;
  char name___0[100] ;
  struct reftable_ref_record ref ;
  uint64_t tmp___1 ;
  char const   *tmp___2 ;
  char const   *tmp___3 ;
  char const   *tmp___4 ;
  char const   *tmp___5 ;
  char const   *tmp___6 ;
  int tmp___7 ;

  {
  cfg.unpadded = 0U;
  cfg.block_size = 0U;
  cfg.skip_index_objects = 0U;
  cfg.restart_interval = 0;
  cfg.hash_id = 0U;
  cfg.default_permissions = 0U;
  cfg.skip_name_check = 0U;
  cfg.exact_log_message = 0U;
  st1 = (struct reftable_stack *)((void *)0);
  st2 = (struct reftable_stack *)((void *)0);
  st3 = (struct reftable_stack *)((void *)0);
  tmp = get_tmp_dir(906);
  dir = tmp;
  N = 3;
  err___4 = reftable_new_stack(& st1, (char const   *)dir, cfg);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___0 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            912, err___4, tmp___0);
    abort();
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < N)) {
      goto while_break;
    }
    tmp___1 = reftable_stack_next_update_index(st1);
    ref.refname = name___0;
    ref.update_index = tmp___1;
    ref.value_type = (enum __anonenum_value_type_72961049 )3;
    ref.value.symref = "master";
    snprintf(name___0, sizeof(name___0), (char const   *)"branch%04d", i);
    err___4 = reftable_stack_add(st1, & write_test_ref, (void *)(& ref));
    if (err___4 != 0) {
      fflush(stderr);
      fflush(stdout);
      tmp___2 = reftable_error_str(err___4);
      fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
              925, err___4, tmp___2);
      abort();
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  err___4 = reftable_new_stack(& st2, (char const   *)dir, cfg);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___3 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            929, err___4, tmp___3);
    abort();
  }
  err___4 = reftable_stack_compact_all(st1, (struct reftable_log_expiry_config *)((void *)0));
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___4 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            932, err___4, tmp___4);
    abort();
  }
  unclean_stack_close(st1);
  unclean_stack_close(st2);
  err___4 = reftable_new_stack(& st3, (char const   *)dir, cfg);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___5 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            938, err___4, tmp___5);
    abort();
  }
  err___4 = reftable_stack_clean(st3);
  if (err___4 != 0) {
    fflush(stderr);
    fflush(stdout);
    tmp___6 = reftable_error_str(err___4);
    fprintf(stderr, (char const   *)"%s: %d: error == %d (%s), want 0\n", "reftable/stack_test.c",
            941, err___4, tmp___6);
    abort();
  }
  tmp___7 = count_dir_entries((char const   *)dir);
  if (! (tmp___7 == 2)) {
    fflush(stderr);
    fflush(stdout);
    fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/stack_test.c",
            942, "count_dir_entries(dir) == 2");
    abort();
  }
  reftable_stack_destroy(st1);
  reftable_stack_destroy(st2);
  reftable_stack_destroy(st3);
  clear_dir((char const   *)dir);
  return;
}
}
int stack_test_main(int argc , char const   **argv___0 )
{


  {
  fprintf(stderr, (char const   *)"running %s\n", "test_empty_add");
  fflush(stderr);
  test_empty_add();
  fprintf(stderr, (char const   *)"running %s\n", "test_log2");
  fflush(stderr);
  test_log2();
  fprintf(stderr, (char const   *)"running %s\n", "test_names_equal");
  fflush(stderr);
  test_names_equal();
  fprintf(stderr, (char const   *)"running %s\n", "test_parse_names");
  fflush(stderr);
  test_parse_names();
  fprintf(stderr, (char const   *)"running %s\n", "test_read_file");
  fflush(stderr);
  test_read_file();
  fprintf(stderr, (char const   *)"running %s\n", "test_reflog_expire");
  fflush(stderr);
  test_reflog_expire();
  fprintf(stderr, (char const   *)"running %s\n", "test_reftable_stack_add");
  fflush(stderr);
  test_reftable_stack_add();
  fprintf(stderr, (char const   *)"running %s\n", "test_reftable_stack_add_one");
  fflush(stderr);
  test_reftable_stack_add_one();
  fprintf(stderr, (char const   *)"running %s\n", "test_reftable_stack_auto_compaction");
  fflush(stderr);
  test_reftable_stack_auto_compaction();
  fprintf(stderr, (char const   *)"running %s\n", "test_reftable_stack_compaction_concurrent");
  fflush(stderr);
  test_reftable_stack_compaction_concurrent();
  fprintf(stderr, (char const   *)"running %s\n", "test_reftable_stack_compaction_concurrent_clean");
  fflush(stderr);
  test_reftable_stack_compaction_concurrent_clean();
  fprintf(stderr, (char const   *)"running %s\n", "test_reftable_stack_hash_id");
  fflush(stderr);
  test_reftable_stack_hash_id();
  fprintf(stderr, (char const   *)"running %s\n", "test_reftable_stack_lock_failure");
  fflush(stderr);
  test_reftable_stack_lock_failure();
  fprintf(stderr, (char const   *)"running %s\n", "test_reftable_stack_log_normalize");
  fflush(stderr);
  test_reftable_stack_log_normalize();
  fprintf(stderr, (char const   *)"running %s\n", "test_reftable_stack_tombstone");
  fflush(stderr);
  test_reftable_stack_tombstone();
  fprintf(stderr, (char const   *)"running %s\n", "test_reftable_stack_transaction_api");
  fflush(stderr);
  test_reftable_stack_transaction_api();
  fprintf(stderr, (char const   *)"running %s\n", "test_reftable_stack_update_index_check");
  fflush(stderr);
  test_reftable_stack_update_index_check();
  fprintf(stderr, (char const   *)"running %s\n", "test_reftable_stack_uptodate");
  fflush(stderr);
  test_reftable_stack_uptodate();
  fprintf(stderr, (char const   *)"running %s\n", "test_reftable_stack_validate_refname");
  fflush(stderr);
  test_reftable_stack_validate_refname();
  fprintf(stderr, (char const   *)"running %s\n", "test_sizes_to_segments");
  fflush(stderr);
  test_sizes_to_segments();
  fprintf(stderr, (char const   *)"running %s\n", "test_sizes_to_segments_all_equal");
  fflush(stderr);
  test_sizes_to_segments_all_equal();
  fprintf(stderr, (char const   *)"running %s\n", "test_sizes_to_segments_empty");
  fflush(stderr);
  test_sizes_to_segments_empty();
  fprintf(stderr, (char const   *)"running %s\n", "test_suggest_compaction_segment");
  fflush(stderr);
  test_suggest_compaction_segment();
  fprintf(stderr, (char const   *)"running %s\n", "test_suggest_compaction_segment_nothing");
  fflush(stderr);
  test_suggest_compaction_segment_nothing();
  return (0);
}
}
void set_test_hash(uint8_t *p___0 , int i )
{
  int tmp ;

  {
  tmp = hash_size((uint32_t )0x73686131);
  memset((void *)p___0, (int )((uint8_t )i), (size_t )tmp);
  return;
}
}
ssize_t strbuf_add_void(void *b___0 , void const   *data , size_t sz )
{


  {
  strbuf_add((struct strbuf *)b___0, data, sz);
  return ((ssize_t )sz);
}
}
static int test_compare(void const   *a , void const   *b___0 )
{


  {
  return ((int )((char *)a - (char *)b___0));
}
}
static void check_increasing(void *arg , void *key___1 )
{
  struct curry *c___0 ;
  int tmp ;

  {
  c___0 = (struct curry *)arg;
  if (c___0->last) {
    tmp = test_compare((void const   *)c___0->last, (void const   *)key___1);
    if (! (tmp < 0)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/tree_test.c",
              29, "test_compare(c->last, key) < 0");
      abort();
    }
  }
  c___0->last = key___1;
  return;
}
}
static void test_tree(void)
{
  struct tree_node *root ;
  void *values[11] ;
  unsigned int tmp ;
  struct tree_node *nodes[11] ;
  unsigned int tmp___0 ;
  int i ;
  struct curry c___0 ;
  struct tree_node *tmp___1 ;

  {
  root = (struct tree_node *)((void *)0);
  values[0] = (void *)0;
  tmp = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 11U) {
      goto while_break;
    }
    values[tmp] = (void *)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  nodes[0] = (struct tree_node *)((void *)0);
  tmp___0 = 1U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (tmp___0 >= 11U) {
      goto while_break___0;
    }
    nodes[tmp___0] = (struct tree_node *)0;
    tmp___0 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  i = 1;
  c___0.last = (void *)0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    nodes[i] = tree_search((void *)(values + i), & root, & test_compare, 1);
    i = (i * 7) % 11;
    if (! (i != 1)) {
      goto while_break___1;
    }
  }
  while_break___1: /* CIL Label */ ;
  }
  i = 1;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(nodes) / sizeof(nodes[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break___2;
    }
    if (! ((unsigned long )(values + i) == (unsigned long )(nodes[i])->key)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/tree_test.c",
              48, "values + i == nodes[i]->key");
      abort();
    }
    tmp___1 = tree_search((void *)(values + i), & root, & test_compare, 0);
    if (! ((unsigned long )nodes[i] == (unsigned long )tmp___1)) {
      fflush(stderr);
      fflush(stdout);
      fprintf(stderr, (char const   *)"%s: %d: failed assertion %s\n", "reftable/tree_test.c",
              50, "nodes[i] == tree_search(values + i, &root, &test_compare, 0)");
      abort();
    }
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  infix_walk(root, & check_increasing, (void *)(& c___0));
  tree_free(root);
  return;
}
}
int tree_test_main(int argc , char const   **argv___0 )
{


  {
  fprintf(stderr, (char const   *)"running %s\n", "test_tree");
  fflush(stderr);
  test_tree();
  return (0);
}
}
int cmd__advise_if_enabled(int argc , char const   **argv___0 ) ;
int cmd__bitmap(int argc , char const   **argv___0 ) ;
int cmd__bloom(int argc , char const   **argv___0 ) ;
int cmd__chmtime(int argc , char const   **argv___0 ) ;
int cmd__config(int argc , char const   **argv___0 ) ;
int cmd__crontab(int argc , char const   **argv___0 ) ;
int cmd__ctype(int argc , char const   **argv___0 ) ;
int cmd__date(int argc , char const   **argv___0 ) ;
int cmd__delta(int argc , char const   **argv___0 ) ;
int cmd__dir_iterator(int argc , char const   **argv___0 ) ;
int cmd__drop_caches(int argc , char const   **argv___0 ) ;
int cmd__dump_cache_tree(int ac , char const   **av ) ;
int cmd__dump_fsmonitor(int ac , char const   **av ) ;
int cmd__dump_split_index(int ac , char const   **av ) ;
int cmd__dump_untracked_cache(int ac , char const   **av ) ;
int cmd__dump_reftable(int argc , char const   **argv___0 ) ;
int cmd__example_decorate(int argc , char const   **argv___0 ) ;
int cmd__fast_rebase(int argc , char const   **argv___0 ) ;
int cmd__genrandom(int argc , char const   **argv___0 ) ;
int cmd__genzeros(int argc , char const   **argv___0 ) ;
int cmd__getcwd(int argc , char const   **argv___0 ) ;
int cmd__hashmap(int argc , char const   **argv___0 ) ;
int cmd__hash_speed(int ac , char const   **av ) ;
int cmd__index_version(int argc , char const   **argv___0 ) ;
int cmd__json_writer(int argc , char const   **argv___0 ) ;
int cmd__lazy_init_name_hash(int argc , char const   **argv___0 ) ;
int cmd__match_trees(int ac , char const   **av ) ;
int cmd__mergesort(int argc , char const   **argv___0 ) ;
int cmd__mktemp(int argc , char const   **argv___0 ) ;
int cmd__oidmap(int argc , char const   **argv___0 ) ;
int cmd__oidtree(int argc , char const   **argv___0 ) ;
int cmd__online_cpus(int argc , char const   **argv___0 ) ;
int cmd__parse_options(int argc , char const   **argv___0 ) ;
int cmd__parse_pathspec_file(int argc , char const   **argv___0 ) ;
int cmd__partial_clone(int argc , char const   **argv___0 ) ;
int cmd__path_utils(int argc , char const   **argv___0 ) ;
int cmd__pcre2_config(int argc , char const   **argv___0 ) ;
int cmd__pkt_line(int argc , char const   **argv___0 ) ;
int cmd__prio_queue(int argc , char const   **argv___0 ) ;
int cmd__proc_receive(int argc , char const   **argv___0 ) ;
int cmd__progress(int argc , char const   **argv___0 ) ;
int cmd__reach(int ac , char const   **av ) ;
int cmd__read_cache(int argc , char const   **argv___0 ) ;
int cmd__read_graph(int argc , char const   **argv___0 ) ;
int cmd__read_midx(int argc , char const   **argv___0 ) ;
int cmd__ref_store(int argc , char const   **argv___0 ) ;
int cmd__reftable(int argc , char const   **argv___0 ) ;
int cmd__regex(int argc , char const   **argv___0 ) ;
int cmd__repository(int argc , char const   **argv___0 ) ;
int cmd__revision_walking(int argc , char const   **argv___0 ) ;
int cmd__run_command(int argc , char const   **argv___0 ) ;
int cmd__scrap_cache_tree(int ac , char const   **av ) ;
int cmd__serve_v2(int argc , char const   **argv___0 ) ;
int cmd__sha1(int ac , char const   **av ) ;
int cmd__oid_array(int argc , char const   **argv___0 ) ;
int cmd__sha256(int ac , char const   **av ) ;
int cmd__sigchain(int argc , char const   **argv___0 ) ;
int cmd__simple_ipc(int argc , char const   **argv___0 ) ;
int cmd__strcmp_offset(int argc , char const   **argv___0 ) ;
int cmd__string_list(int argc , char const   **argv___0 ) ;
int cmd__submodule_config(int argc , char const   **argv___0 ) ;
int cmd__submodule_nested_repo_config(int argc , char const   **argv___0 ) ;
int cmd__subprocess(int argc , char const   **argv___0 ) ;
int cmd__trace2(int argc , char const   **argv___0 ) ;
int cmd__userdiff(int argc , char const   **argv___0 ) ;
int cmd__urlmatch_normalization(int argc , char const   **argv___0 ) ;
int cmd__xml_encode(int argc , char const   **argv___0 ) ;
int cmd__wildmatch(int argc , char const   **argv___0 ) ;
int cmd__write_cache(int argc , char const   **argv___0 ) ;
int cmd_hash_impl(int ac , char const   **av , int algo ) ;
static char const   *test_tool_usage[2]  = {      (char const   *)"test-tool [-C <directory>] <command [<arguments>...]]",      (char const   *)((void *)0)};
static struct test_cmd cmds[69]  =
  {      {(char const   *)"advise", & cmd__advise_if_enabled},
        {(char const   *)"bitmap", & cmd__bitmap},
        {(char const   *)"bloom", & cmd__bloom},
        {(char const   *)"chmtime", & cmd__chmtime},
        {(char const   *)"config", & cmd__config},
        {(char const   *)"crontab", & cmd__crontab},
        {(char const   *)"ctype", & cmd__ctype},
        {(char const   *)"date", & cmd__date},
        {(char const   *)"delta", & cmd__delta},
        {(char const   *)"dir-iterator", & cmd__dir_iterator},
        {(char const   *)"drop-caches", & cmd__drop_caches},
        {(char const   *)"dump-cache-tree", & cmd__dump_cache_tree},
        {(char const   *)"dump-fsmonitor", & cmd__dump_fsmonitor},
        {(char const   *)"dump-split-index", & cmd__dump_split_index},
        {(char const   *)"dump-untracked-cache", & cmd__dump_untracked_cache},
        {(char const   *)"example-decorate", & cmd__example_decorate},
        {(char const   *)"fast-rebase", & cmd__fast_rebase},
        {(char const   *)"genrandom", & cmd__genrandom},
        {(char const   *)"genzeros", & cmd__genzeros},
        {(char const   *)"getcwd", & cmd__getcwd},
        {(char const   *)"hashmap", & cmd__hashmap},
        {(char const   *)"hash-speed", & cmd__hash_speed},
        {(char const   *)"index-version", & cmd__index_version},
        {(char const   *)"json-writer", & cmd__json_writer},
        {(char const   *)"lazy-init-name-hash", & cmd__lazy_init_name_hash},
        {(char const   *)"match-trees", & cmd__match_trees},
        {(char const   *)"mergesort", & cmd__mergesort},
        {(char const   *)"mktemp", & cmd__mktemp},
        {(char const   *)"oid-array", & cmd__oid_array},
        {(char const   *)"oidmap", & cmd__oidmap},
        {(char const   *)"oidtree", & cmd__oidtree},
        {(char const   *)"online-cpus", & cmd__online_cpus},
        {(char const   *)"parse-options", & cmd__parse_options},
        {(char const   *)"parse-pathspec-file", & cmd__parse_pathspec_file},
        {(char const   *)"partial-clone", & cmd__partial_clone},
        {(char const   *)"path-utils", & cmd__path_utils},
        {(char const   *)"pcre2-config", & cmd__pcre2_config},
        {(char const   *)"pkt-line", & cmd__pkt_line},
        {(char const   *)"prio-queue", & cmd__prio_queue},
        {(char const   *)"proc-receive", & cmd__proc_receive},
        {(char const   *)"progress", & cmd__progress},
        {(char const   *)"reach", & cmd__reach},
        {(char const   *)"read-cache", & cmd__read_cache},
        {(char const   *)"read-graph", & cmd__read_graph},
        {(char const   *)"read-midx", & cmd__read_midx},
        {(char const   *)"ref-store", & cmd__ref_store},
        {(char const   *)"reftable", & cmd__reftable},
        {(char const   *)"dump-reftable", & cmd__dump_reftable},
        {(char const   *)"regex", & cmd__regex},
        {(char const   *)"repository", & cmd__repository},
        {(char const   *)"revision-walking", & cmd__revision_walking},
        {(char const   *)"run-command", & cmd__run_command},
        {(char const   *)"scrap-cache-tree", & cmd__scrap_cache_tree},
        {(char const   *)"serve-v2", & cmd__serve_v2},
        {(char const   *)"sha1", & cmd__sha1},
        {(char const   *)"sha256", & cmd__sha256},
        {(char const   *)"sigchain", & cmd__sigchain},
        {(char const   *)"simple-ipc", & cmd__simple_ipc},
        {(char const   *)"strcmp-offset", & cmd__strcmp_offset},
        {(char const   *)"string-list", & cmd__string_list},
        {(char const   *)"submodule-config", & cmd__submodule_config},
        {(char const   *)"submodule-nested-repo-config", & cmd__submodule_nested_repo_config},
        {(char const   *)"subprocess",
      & cmd__subprocess},
        {(char const   *)"trace2", & cmd__trace2},
        {(char const   *)"userdiff", & cmd__userdiff},
        {(char const   *)"urlmatch-normalization", & cmd__urlmatch_normalization},
        {(char const   *)"xml-encode", & cmd__xml_encode},
        {(char const   *)"wildmatch", & cmd__wildmatch},
        {(char const   *)"write-cache", & cmd__write_cache}};
static void die_usage(void)  __attribute__((__noreturn__)) ;
static void die_usage(void)
{
  size_t i ;
  int tmp ;

  {
  fprintf(stderr, (char const   *)"usage: test-tool <toolname> [args]\n");
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < sizeof(cmds) / sizeof(cmds[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    fprintf(stderr, (char const   *)"  %s\n", cmds[i].name);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = trace2_cmd_exit_fl((char const   *)"t/helper/test-tool.c", 98, 128);
  exit(tmp);
}
}
int cmd__advise_if_enabled(int argc , char const   **argv___0 )
{


  {
  if (argc != 2) {
    die((char const   *)"usage: %s <advice>", *(argv___0 + 0));
  }
  setup_git_directory();
  git_config(& git_default_config, (void *)0);
  advise_if_enabled((enum advice_type )11, (char const   *)"%s", *(argv___0 + 1));
  return (0);
}
}
static char const   BITMAP_IDX_SIGNATURE___7[4] ;
static double const   __ac_HASH_UPPER___164  =    (double const   )0.77;
__inline static void kh_resize_oid_set___164(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___164(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___164 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___164 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___164(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___164(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___164(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___164(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___164(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___164(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___164 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___164 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___164(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___164(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___164(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___164(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___164(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___164(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___164 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___164 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___164(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___164(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___164(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___164(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___120(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___120(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___164 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___164 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___120(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___120(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___120(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___120(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   BITMAP_IDX_SIGNATURE___7[4]  = {      (char const   )'B',      (char const   )'I',      (char const   )'T',      (char const   )'M'};
static int bitmap_list_commits(void)
{
  int tmp ;

  {
  tmp = test_bitmap_commits(the_repository);
  return (tmp);
}
}
static int bitmap_dump_hashes(void)
{
  int tmp ;

  {
  tmp = test_bitmap_hashes(the_repository);
  return (tmp);
}
}
int cmd__bitmap(int argc , char const   **argv___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  setup_git_directory();
  if (argc != 2) {
    goto usage;
  }
  tmp___0 = strcmp(*(argv___0 + 1), (char const   *)"list-commits");
  if (! tmp___0) {
    tmp = bitmap_list_commits();
    return (tmp);
  }
  tmp___2 = strcmp(*(argv___0 + 1), (char const   *)"dump-hashes");
  if (! tmp___2) {
    tmp___1 = bitmap_dump_hashes();
    return (tmp___1);
  }
  usage:
  usage((char const   *)"\ttest-tool bitmap list-commits\n\ttest-tool bitmap dump-hashes");
  return (-1);
}
}
static struct bloom_filter_settings settings  =    {(uint32_t )1, (uint32_t )7, (uint32_t )10, (uint32_t )512};
static void add_string_to_filter(char const   *data , struct bloom_filter *filter___0 )
{
  struct bloom_key key___1 ;
  int i ;
  size_t tmp ;

  {
  tmp = strlen(data);
  fill_bloom_key(data, tmp, & key___1, (struct bloom_filter_settings  const  *)(& settings));
  printf((char const   *)"Hashes:");
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((uint32_t )i < settings.num_hashes)) {
      goto while_break;
    }
    printf((char const   *)"0x%08x|", *(key___1.hashes + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  printf((char const   *)"\n");
  add_key_to_filter((struct bloom_key  const  *)(& key___1), filter___0, (struct bloom_filter_settings  const  *)(& settings));
  return;
}
}
static void print_bloom_filter(struct bloom_filter *filter___0 )
{
  int i ;

  {
  if (! filter___0) {
    printf((char const   *)"No filter.\n");
    return;
  }
  printf((char const   *)"Filter_Length:%d\n", (int )filter___0->len);
  printf((char const   *)"Filter_Data:");
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((size_t )i < filter___0->len)) {
      goto while_break;
    }
    printf((char const   *)"%02x|", (int )*(filter___0->data + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  printf((char const   *)"\n");
  return;
}
}
static void get_bloom_filter_for_commit(struct object_id  const  *commit_oid )
{
  struct commit *c___0 ;
  struct bloom_filter *filter___0 ;

  {
  setup_git_directory();
  c___0 = lookup_commit(the_repository, commit_oid);
  filter___0 = get_or_compute_bloom_filter(the_repository, c___0, 1, (struct bloom_filter_settings  const  *)(& settings),
                                           (enum bloom_filter_computed *)((void *)0));
  print_bloom_filter(filter___0);
  return;
}
}
static char const   *bloom_usage  =    (char const   *)"\n  test-tool bloom get_murmur3 <string>\n  test-tool bloom generate_filter <string> [<string>...]\n  test-tool bloom get_filter_for_commit <commit-hex>\n";
int cmd__bloom(int argc , char const   **argv___0 )
{
  uint32_t hashed ;
  size_t tmp ;
  int tmp___0 ;
  struct bloom_filter filter___0 ;
  int i ;
  void *tmp___1 ;
  int tmp___2 ;
  struct object_id oid ;
  char const   *end ;
  int tmp___3 ;
  int tmp___4 ;

  {
  setup_git_directory();
  if (argc < 2) {
    usage(bloom_usage);
  }
  tmp___0 = strcmp(*(argv___0 + 1), (char const   *)"get_murmur3");
  if (! tmp___0) {
    if (argc < 3) {
      usage(bloom_usage);
    }
    tmp = strlen(*(argv___0 + 2));
    hashed = murmur3_seeded((uint32_t )0, *(argv___0 + 2), tmp);
    printf((char const   *)"Murmur3 Hash with seed=0:0x%08x\n", hashed);
  }
  tmp___2 = strcmp(*(argv___0 + 1), (char const   *)"generate_filter");
  if (! tmp___2) {
    i = 2;
    filter___0.len = (size_t )(((settings.bits_per_entry + 8U) - 1U) / 8U);
    tmp___1 = xcalloc(filter___0.len, sizeof(*(filter___0.data)));
    filter___0.data = (unsigned char *)tmp___1;
    if (argc - 1 < i) {
      usage(bloom_usage);
    }
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! *(argv___0 + i)) {
        goto while_break;
      }
      add_string_to_filter(*(argv___0 + i), & filter___0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    print_bloom_filter(& filter___0);
  }
  tmp___4 = strcmp(*(argv___0 + 1), (char const   *)"get_filter_for_commit");
  if (! tmp___4) {
    if (argc < 3) {
      usage(bloom_usage);
    }
    tmp___3 = parse_oid_hex(*(argv___0 + 2), & oid, & end);
    if (tmp___3) {
      die((char const   *)"cannot parse oid \'%s\'", *(argv___0 + 2));
    }
    init_bloom_filters();
    get_bloom_filter_for_commit((struct object_id  const  *)(& oid));
  }
  return (0);
}
}
static char const   usage_str[57]  =
  {      (char const   )'(',      (char const   )'-',      (char const   )'v',      (char const   )'|',
        (char const   )'-',      (char const   )'-',      (char const   )'v',      (char const   )'e',
        (char const   )'r',      (char const   )'b',      (char const   )'o',      (char const   )'s',
        (char const   )'e',      (char const   )'|',      (char const   )'-',      (char const   )'g',
        (char const   )'|',      (char const   )'-',      (char const   )'-',      (char const   )'g',
        (char const   )'e',      (char const   )'t',      (char const   )')',      (char const   )' ',
        (char const   )'(',      (char const   )'+',      (char const   )'|',      (char const   )'=',
        (char const   )'|',      (char const   )'=',      (char const   )'+',      (char const   )'|',
        (char const   )'=',      (char const   )'-',      (char const   )'|',      (char const   )'-',
        (char const   )')',      (char const   )'<',      (char const   )'s',      (char const   )'e',
        (char const   )'c',      (char const   )'o',      (char const   )'n',      (char const   )'d',
        (char const   )'s',      (char const   )'>',      (char const   )' ',      (char const   )'<',
        (char const   )'f',      (char const   )'i',      (char const   )'l',      (char const   )'e',
        (char const   )'>',      (char const   )'.',      (char const   )'.',      (char const   )'.',
        (char const   )'\000'};
static int timespec_arg(char const   *arg , long *set_time___0 , int *set_eq )
{
  char *test___0 ;
  char const   *timespec ;
  time_t now ;
  time_t tmp ;

  {
  timespec = arg;
  if ((int const   )*timespec == 61) {
    *set_eq = 1;
  } else {
    *set_eq = 0;
  }
  if (*set_eq) {
    timespec ++;
    if ((int const   )*timespec == 43) {
      *set_eq = 2;
      timespec ++;
    }
  }
  *set_time___0 = strtol((char const   * __restrict  )timespec, (char ** __restrict  )(& test___0),
                         10);
  if (*test___0) {
    return (0);
  }
  if (*set_eq) {
    if (*set_time___0 < 0L) {
      tmp = time((time_t *)((void *)0));
      now = tmp;
      *set_time___0 += now;
    } else {
      goto _L;
    }
  } else
  _L: /* CIL Label */
  if (*set_eq == 2) {
    tmp = time((time_t *)((void *)0));
    now = tmp;
    *set_time___0 += now;
  }
  return (1);
}
}
static int verbose___12  ;
static int get  ;
int cmd__chmtime(int argc , char const   **argv___0 )
{
  int i ;
  int set_eq ;
  long set_time___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  struct stat sb___6 ;
  struct utimbuf utb ;
  uintmax_t mtime ;
  int *tmp___4 ;
  char *tmp___5 ;
  int tmp___6 ;
  int *tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;

  {
  i = 1;
  set_eq = 0;
  set_time___0 = 0L;
  if (argc < 3) {
    goto usage;
  }
  tmp___1 = strcmp(*(argv___0 + i), (char const   *)"--get");
  if (tmp___1 == 0) {
    get = 1;
    i ++;
  } else {
    tmp___2 = strcmp(*(argv___0 + i), (char const   *)"-g");
    if (tmp___2 == 0) {
      get = 1;
      i ++;
    } else {
      tmp = strcmp(*(argv___0 + i), (char const   *)"--verbose");
      if (tmp == 0) {
        verbose___12 = 1;
        i ++;
      } else {
        tmp___0 = strcmp(*(argv___0 + i), (char const   *)"-v");
        if (tmp___0 == 0) {
          verbose___12 = 1;
          i ++;
        }
      }
    }
  }
  if (i == argc) {
    goto usage;
  }
  tmp___3 = timespec_arg(*(argv___0 + i), & set_time___0, & set_eq);
  if (tmp___3) {
    i ++;
  } else
  if (get == 0) {
    fprintf(stderr, (char const   *)"Not a base-10 integer: %s\n", *(argv___0 + i) + 1);
    goto usage;
  }
  if (i == argc) {
    goto usage;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    tmp___6 = stat(*(argv___0 + i), & sb___6);
    if (tmp___6 < 0) {
      tmp___4 = __errno_location();
      tmp___5 = strerror(*tmp___4);
      fprintf(stderr, (char const   *)"Failed to stat %s: %s. Skipping\n", *(argv___0 + i),
              tmp___5);
      goto __Cont;
    }
    utb.actime = sb___6.st_atim.tv_sec;
    if (set_eq) {
      utb.modtime = set_time___0;
    } else {
      utb.modtime = sb___6.st_mtim.tv_sec + set_time___0;
    }
    if (utb.modtime < 0L) {
      mtime = (uintmax_t )0;
    } else {
      mtime = (uintmax_t )utb.modtime;
    }
    if (get) {
      printf((char const   *)"%lu\n", mtime);
    } else
    if (verbose___12) {
      printf((char const   *)"%lu\t%s\n", mtime, *(argv___0 + i));
    }
    if (utb.modtime != sb___6.st_mtim.tv_sec) {
      tmp___9 = utime(*(argv___0 + i), (struct utimbuf  const  *)(& utb));
      if (tmp___9 < 0) {
        tmp___7 = __errno_location();
        tmp___8 = strerror(*tmp___7);
        fprintf(stderr, (char const   *)"Failed to modify time on %s: %s\n", *(argv___0 + i),
                tmp___8);
        return (1);
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
  usage:
  fprintf(stderr, (char const   *)"usage: %s %s\n", *(argv___0 + 0), usage_str);
  return (1);
}
}
static int nr  ;
static int iterate_cb(char const   *var , char const   *value , void *data )
{
  int tmp ;
  char const   *tmp___0 ;
  char const   *tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;
  enum config_scope tmp___4 ;
  char const   *tmp___5 ;

  {
  tmp = nr;
  nr ++;
  if (tmp) {
    putchar('\n');
  }
  printf((char const   *)"key=%s\n", var);
  if (value) {
    tmp___0 = value;
  } else {
    tmp___0 = (char const   *)"(null)";
  }
  printf((char const   *)"value=%s\n", tmp___0);
  tmp___1 = current_config_origin_type();
  printf((char const   *)"origin=%s\n", tmp___1);
  tmp___2 = current_config_name();
  printf((char const   *)"name=%s\n", tmp___2);
  tmp___3 = current_config_line();
  printf((char const   *)"lno=%d\n", tmp___3);
  tmp___4 = current_config_scope();
  tmp___5 = config_scope_name(tmp___4);
  printf((char const   *)"scope=%s\n", tmp___5);
  return (0);
}
}
static int early_config_cb(char const   *var , char const   *value , void *vdata )
{
  char const   *key___1 ;
  int tmp ;

  {
  key___1 = (char const   *)vdata;
  tmp = strcmp(key___1, var);
  if (! tmp) {
    printf((char const   *)"%s\n", value);
  }
  return (0);
}
}
int cmd__config(int argc , char const   **argv___0 )
{
  int i ;
  int val ;
  char const   *v ;
  struct string_list  const  *strptr ;
  struct config_set cs ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int err___4 ;
  int tmp___4 ;
  int err___5 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;

  {
  if (argc == 3) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"read_early_config");
    if (! tmp) {
      read_early_config(& early_config_cb, (void *)*(argv___0 + 2));
      return (0);
    }
  }
  setup_git_directory();
  git_configset_init(& cs);
  if (argc < 2) {
    fprintf(stderr, (char const   *)"Please, provide a command name on the command-line\n");
    goto exit1;
  } else
  if (argc == 3) {
    tmp___12 = strcmp(*(argv___0 + 1), (char const   *)"get_value");
    if (tmp___12) {
      goto _L___3;
    } else {
      tmp___0 = git_config_get_value(*(argv___0 + 2), & v);
      if (tmp___0) {
        printf((char const   *)"Value not found for \"%s\"\n", *(argv___0 + 2));
        goto exit1;
      } else {
        if (! v) {
          printf((char const   *)"(NULL)\n");
        } else {
          printf((char const   *)"%s\n", v);
        }
        goto exit0;
      }
    }
  } else
  _L___3: /* CIL Label */
  if (argc == 3) {
    tmp___11 = strcmp(*(argv___0 + 1), (char const   *)"get_value_multi");
    if (tmp___11) {
      goto _L___2;
    } else {
      strptr = git_config_get_value_multi(*(argv___0 + 2));
      if (strptr) {
        i = 0;
        {
        while (1) {
          while_continue: /* CIL Label */ ;
          if (! ((unsigned int )i < strptr->nr)) {
            goto while_break;
          }
          v = (char const   *)(strptr->items + i)->string;
          if (! v) {
            printf((char const   *)"(NULL)\n");
          } else {
            printf((char const   *)"%s\n", v);
          }
          i ++;
        }
        while_break: /* CIL Label */ ;
        }
        goto exit0;
      } else {
        printf((char const   *)"Value not found for \"%s\"\n", *(argv___0 + 2));
        goto exit1;
      }
    }
  } else
  _L___2: /* CIL Label */
  if (argc == 3) {
    tmp___10 = strcmp(*(argv___0 + 1), (char const   *)"get_int");
    if (tmp___10) {
      goto _L___1;
    } else {
      tmp___1 = git_config_get_int(*(argv___0 + 2), & val);
      if (tmp___1) {
        printf((char const   *)"Value not found for \"%s\"\n", *(argv___0 + 2));
        goto exit1;
      } else {
        printf((char const   *)"%d\n", val);
        goto exit0;
      }
    }
  } else
  _L___1: /* CIL Label */
  if (argc == 3) {
    tmp___9 = strcmp(*(argv___0 + 1), (char const   *)"get_bool");
    if (tmp___9) {
      goto _L___0;
    } else {
      tmp___2 = git_config_get_bool(*(argv___0 + 2), & val);
      if (tmp___2) {
        printf((char const   *)"Value not found for \"%s\"\n", *(argv___0 + 2));
        goto exit1;
      } else {
        printf((char const   *)"%d\n", val);
        goto exit0;
      }
    }
  } else
  _L___0: /* CIL Label */
  if (argc == 3) {
    tmp___8 = strcmp(*(argv___0 + 1), (char const   *)"get_string");
    if (tmp___8) {
      goto _L;
    } else {
      tmp___3 = git_config_get_string_tmp(*(argv___0 + 2), & v);
      if (tmp___3) {
        printf((char const   *)"Value not found for \"%s\"\n", *(argv___0 + 2));
        goto exit1;
      } else {
        printf((char const   *)"%s\n", v);
        goto exit0;
      }
    }
  } else {
    _L: /* CIL Label */
    tmp___7 = strcmp(*(argv___0 + 1), (char const   *)"configset_get_value");
    if (tmp___7) {
      tmp___6 = strcmp(*(argv___0 + 1), (char const   *)"configset_get_value_multi");
      if (tmp___6) {
        tmp___5 = strcmp(*(argv___0 + 1), (char const   *)"iterate");
        if (! tmp___5) {
          git_config(& iterate_cb, (void *)0);
          goto exit0;
        }
      } else {
        i = 3;
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          if (! (i < argc)) {
            goto while_break___0;
          }
          err___5 = git_configset_add_file(& cs, *(argv___0 + i));
          if (err___5) {
            fprintf(stderr, (char const   *)"Error (%d) reading configuration file %s.\n",
                    err___5, *(argv___0 + i));
            goto exit2;
          }
          i ++;
        }
        while_break___0: /* CIL Label */ ;
        }
        strptr = git_configset_get_value_multi(& cs, *(argv___0 + 2));
        if (strptr) {
          i = 0;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! ((unsigned int )i < strptr->nr)) {
              goto while_break___1;
            }
            v = (char const   *)(strptr->items + i)->string;
            if (! v) {
              printf((char const   *)"(NULL)\n");
            } else {
              printf((char const   *)"%s\n", v);
            }
            i ++;
          }
          while_break___1: /* CIL Label */ ;
          }
          goto exit0;
        } else {
          printf((char const   *)"Value not found for \"%s\"\n", *(argv___0 + 2));
          goto exit1;
        }
      }
    } else {
      i = 3;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (! (i < argc)) {
          goto while_break___2;
        }
        err___4 = git_configset_add_file(& cs, *(argv___0 + i));
        if (err___4) {
          fprintf(stderr, (char const   *)"Error (%d) reading configuration file %s.\n",
                  err___4, *(argv___0 + i));
          goto exit2;
        }
        i ++;
      }
      while_break___2: /* CIL Label */ ;
      }
      tmp___4 = git_configset_get_value(& cs, *(argv___0 + 2), & v);
      if (tmp___4) {
        printf((char const   *)"Value not found for \"%s\"\n", *(argv___0 + 2));
        goto exit1;
      } else {
        if (! v) {
          printf((char const   *)"(NULL)\n");
        } else {
          printf((char const   *)"%s\n", v);
        }
        goto exit0;
      }
    }
  }
  die((char const   *)"%s: Please check the syntax and the function name", *(argv___0 + 0));
  exit0:
  git_configset_clear(& cs);
  return (0);
  exit1:
  git_configset_clear(& cs);
  return (1);
  exit2:
  git_configset_clear(& cs);
  return (2);
}
}
int cmd__crontab(int argc , char const   **argv___0 )
{
  int a ;
  FILE *from___0 ;
  FILE *to ;
  int tmp ;
  int tmp___0 ;

  {
  if (argc == 3) {
    tmp___0 = strcmp(*(argv___0 + 2), (char const   *)"-l");
    if (tmp___0) {
      goto _L;
    } else {
      from___0 = git_fopen(*(argv___0 + 1), (char const   *)"r");
      if (! from___0) {
        return (0);
      }
      to = stdout;
    }
  } else
  _L: /* CIL Label */
  if (argc == 2) {
    from___0 = stdin;
    to = git_fopen(*(argv___0 + 1), (char const   *)"w");
  } else {
    error((char const   *)"unknown arguments");
    tmp = const_error();
    return (tmp);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    a = fgetc(from___0);
    if (! (a != -1)) {
      goto while_break;
    }
    fputc(a, to);
  }
  while_break: /* CIL Label */ ;
  }
  if (argc == 3) {
    fclose(from___0);
  } else {
    fclose(to);
  }
  return (0);
}
}
static int rc  ;
static void report_error(char const   *class , int ch___0 )
{


  {
  printf((char const   *)"%s classifies char %d (0x%02x) wrongly\n", class, ch___0,
         ch___0);
  rc = 1;
  return;
}
}
static int is_in(char const   *s___1 , int ch___0 )
{
  char *tmp ;
  int tmp___0 ;

  {
  if (ch___0 == 0) {
    return (0);
  }
  tmp = strchr(s___1, ch___0);
  if (tmp) {
    tmp___0 = 1;
  } else {
    tmp___0 = 0;
  }
  return (tmp___0);
}
}
int cmd__ctype(int argc , char const   **argv___0 )
{
  int i ;
  int tmp ;
  int i___0 ;
  int tmp___0 ;
  int i___1 ;
  int tmp___1 ;
  int i___2 ;
  int tmp___2 ;
  int i___3 ;
  int tmp___3 ;
  int i___4 ;
  int tmp___4 ;
  int i___5 ;
  int tmp___5 ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 256)) {
      goto while_break;
    }
    tmp = is_in((char const   *)"0123456789", i);
    if (tmp != (((int const   )sane_ctype[(unsigned char )i] & 2) != 0)) {
      report_error((char const   *)"isdigit", i);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i___0 = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i___0 < 256)) {
      goto while_break___0;
    }
    tmp___0 = is_in((char const   *)" \n\r\t", i___0);
    if (tmp___0 != (((int const   )sane_ctype[(unsigned char )i___0] & 1) != 0)) {
      report_error((char const   *)"isspace", i___0);
    }
    i___0 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  i___1 = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (i___1 < 256)) {
      goto while_break___1;
    }
    tmp___1 = is_in((char const   *)"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",
                    i___1);
    if (tmp___1 != (((int const   )sane_ctype[(unsigned char )i___1] & 4) != 0)) {
      report_error((char const   *)"isalpha", i___1);
    }
    i___1 ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  i___2 = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! (i___2 < 256)) {
      goto while_break___2;
    }
    tmp___2 = is_in((char const   *)"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",
                    i___2);
    if (tmp___2 != (((int const   )sane_ctype[(unsigned char )i___2] & 6) != 0)) {
      report_error((char const   *)"isalnum", i___2);
    }
    i___2 ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  i___3 = 0;
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    if (! (i___3 < 256)) {
      goto while_break___3;
    }
    tmp___3 = is_in((char const   *)"*?[\\", i___3);
    if (tmp___3 != (((int const   )sane_ctype[(unsigned char )i___3] & 8) != 0)) {
      report_error((char const   *)"is_glob_special", i___3);
    }
    i___3 ++;
  }
  while_break___3: /* CIL Label */ ;
  }
  i___4 = 0;
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    if (! (i___4 < 256)) {
      goto while_break___4;
    }
    tmp___4 = is_in((char const   *)"$()*+.?[\\^{|", i___4);
    if (tmp___4 != (((int const   )sane_ctype[(unsigned char )i___4] & 24) != 0)) {
      report_error((char const   *)"is_regex_special", i___4);
    }
    i___4 ++;
  }
  while_break___4: /* CIL Label */ ;
  }
  i___5 = 0;
  {
  while (1) {
    while_continue___5: /* CIL Label */ ;
    if (! (i___5 < 256)) {
      goto while_break___5;
    }
    tmp___5 = is_in((char const   *)"!\"#%&\',-/:;<=>@_`~", i___5);
    if (tmp___5 != (((int const   )sane_ctype[(unsigned char )i___5] & 32) != 0)) {
      report_error((char const   *)"is_pathspec_magic", i___5);
    }
    i___5 ++;
  }
  while_break___5: /* CIL Label */ ;
  }
  return (rc);
}
}
static char const   *usage_msg___2  =    (char const   *)"\n  test-tool date relative [time_t]...\n  test-tool date human [time_t]...\n  test-tool date show:<format> [time_t]...\n  test-tool date parse [date]...\n  test-tool date approxidate [date]...\n  test-tool date timestamp [date]...\n  test-tool date getnanos [start-nanos]\n  test-tool date is64bit\n  test-tool date time_t-is64bit\n";
static void show_relative_dates(char const   **argv___0 )
{
  struct strbuf buf___19 ;
  time_t t ;
  int tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *argv___0) {
      goto while_break;
    }
    tmp = atoi(*argv___0);
    t = (time_t )tmp;
    show_date_relative((timestamp_t )t, & buf___19);
    printf((char const   *)"%s -> %s\n", *argv___0, buf___19.buf);
    argv___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  return;
}
}
static void show_human_dates(char const   **argv___0 )
{
  time_t t ;
  int tmp ;
  struct date_mode *tmp___0 ;
  char const   *tmp___1 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *argv___0) {
      goto while_break;
    }
    tmp = atoi(*argv___0);
    t = (time_t )tmp;
    tmp___0 = date_mode_from_type((enum date_mode_type )1);
    tmp___1 = show_date((timestamp_t )t, 0, (struct date_mode  const  *)tmp___0);
    printf((char const   *)"%s -> %s\n", *argv___0, tmp___1);
    argv___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void show_dates(char const   **argv___0 , char const   *format___0 )
{
  struct date_mode mode___1 ;
  char *arg ;
  timestamp_t t ;
  int tz ;
  char const   *tmp ;

  {
  parse_date_format(format___0, & mode___1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *argv___0) {
      goto while_break;
    }
    t = strtoumax(*argv___0, & arg, 10);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((int )*arg == 32)) {
        goto while_break___0;
      }
      arg ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    tz = atoi((char const   *)arg);
    tmp = show_date(t, tz, (struct date_mode  const  *)(& mode___1));
    printf((char const   *)"%s -> %s\n", *argv___0, tmp);
    argv___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void parse_dates(char const   **argv___0 )
{
  struct strbuf result___0 ;
  timestamp_t t ;
  int tz ;
  struct date_mode *tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  result___0.alloc = 0UL;
  result___0.len = 0UL;
  result___0.buf = strbuf_slopbuf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *argv___0) {
      goto while_break;
    }
    strbuf_setlen___33(& result___0, (size_t )0);
    parse_date(*argv___0, & result___0);
    tmp___1 = sscanf((char const   * __restrict  )result___0.buf, (char const   * __restrict  )"%lu %d",
                     & t, & tz);
    if (tmp___1 == 2) {
      tmp = date_mode_from_type((enum date_mode_type )4);
      tmp___0 = show_date(t, tz, (struct date_mode  const  *)tmp);
      printf((char const   *)"%s -> %s\n", *argv___0, tmp___0);
    } else {
      printf((char const   *)"%s -> bad\n", *argv___0);
    }
    argv___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& result___0);
  return;
}
}
static void parse_approxidate(char const   **argv___0 )
{
  timestamp_t t ;
  struct date_mode *tmp ;
  char const   *tmp___0 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *argv___0) {
      goto while_break;
    }
    t = approxidate_relative(*argv___0);
    tmp = date_mode_from_type((enum date_mode_type )4);
    tmp___0 = show_date(t, 0, (struct date_mode  const  *)tmp);
    printf((char const   *)"%s -> %s\n", *argv___0, tmp___0);
    argv___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void parse_approx_timestamp(char const   **argv___0 )
{
  timestamp_t t ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *argv___0) {
      goto while_break;
    }
    t = approxidate_relative(*argv___0);
    printf((char const   *)"%s -> %lu\n", *argv___0, t);
    argv___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void getnanos(char const   **argv___0 )
{
  double seconds ;
  uint64_t tmp ;
  double tmp___0 ;

  {
  tmp = getnanotime();
  seconds = (double )tmp / 1.0e9;
  if (*argv___0) {
    tmp___0 = strtod((char const   * __restrict  )*argv___0, (char ** __restrict  )((void *)0));
    seconds -= tmp___0;
  }
  printf((char const   *)"%lf\n", seconds);
  return;
}
}
int cmd__date(int argc , char const   **argv___0 )
{
  char const   *x ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  argv___0 ++;
  if (! *argv___0) {
    usage(usage_msg___2);
  }
  tmp___9 = strcmp(*argv___0, (char const   *)"relative");
  if (tmp___9) {
    tmp___8 = strcmp(*argv___0, (char const   *)"human");
    if (tmp___8) {
      tmp___7 = skip_prefix(*argv___0, (char const   *)"show:", & x);
      if (tmp___7) {
        show_dates(argv___0 + 1, x);
      } else {
        tmp___6 = strcmp(*argv___0, (char const   *)"parse");
        if (tmp___6) {
          tmp___5 = strcmp(*argv___0, (char const   *)"approxidate");
          if (tmp___5) {
            tmp___4 = strcmp(*argv___0, (char const   *)"timestamp");
            if (tmp___4) {
              tmp___3 = strcmp(*argv___0, (char const   *)"getnanos");
              if (tmp___3) {
                tmp___2 = strcmp(*argv___0, (char const   *)"is64bit");
                if (tmp___2) {
                  tmp___1 = strcmp(*argv___0, (char const   *)"time_t-is64bit");
                  if (tmp___1) {
                    usage(usage_msg___2);
                  } else {
                    if (sizeof(time_t ) == 8UL) {
                      tmp___0 = 0;
                    } else {
                      tmp___0 = 1;
                    }
                    return (tmp___0);
                  }
                } else {
                  if (sizeof(timestamp_t ) == 8UL) {
                    tmp = 0;
                  } else {
                    tmp = 1;
                  }
                  return (tmp);
                }
              } else {
                getnanos(argv___0 + 1);
              }
            } else {
              parse_approx_timestamp(argv___0 + 1);
            }
          } else {
            parse_approxidate(argv___0 + 1);
          }
        } else {
          parse_dates(argv___0 + 1);
        }
      }
    } else {
      show_human_dates(argv___0 + 1);
    }
  } else {
    show_relative_dates(argv___0 + 1);
  }
  return (0);
}
}
static char const   usage_str___0[59]  =
  {      (char const   )'t',      (char const   )'e',      (char const   )'s',      (char const   )'t',
        (char const   )'-',      (char const   )'t',      (char const   )'o',      (char const   )'o',
        (char const   )'l',      (char const   )' ',      (char const   )'d',      (char const   )'e',
        (char const   )'l',      (char const   )'t',      (char const   )'a',      (char const   )' ',
        (char const   )'(',      (char const   )'-',      (char const   )'d',      (char const   )'|',
        (char const   )'-',      (char const   )'p',      (char const   )')',      (char const   )' ',
        (char const   )'<',      (char const   )'f',      (char const   )'r',      (char const   )'o',
        (char const   )'m',      (char const   )'_',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )'>',      (char const   )' ',
        (char const   )'<',      (char const   )'d',      (char const   )'a',      (char const   )'t',
        (char const   )'a',      (char const   )'_',      (char const   )'f',      (char const   )'i',
        (char const   )'l',      (char const   )'e',      (char const   )'>',      (char const   )' ',
        (char const   )'<',      (char const   )'o',      (char const   )'u',      (char const   )'t',
        (char const   )'_',      (char const   )'f',      (char const   )'i',      (char const   )'l',
        (char const   )'e',      (char const   )'>',      (char const   )'\000'};
int cmd__delta(int argc , char const   **argv___0 )
{
  int fd ;
  struct stat st ;
  void *from_buf ;
  void *data_buf ;
  void *out_buf ;
  unsigned long from_size ;
  unsigned long data_size ;
  unsigned long out_size ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  ssize_t tmp___2 ;
  int tmp___3 ;
  ssize_t tmp___4 ;
  ssize_t tmp___5 ;

  {
  if (argc != 5) {
    fprintf(stderr, (char const   *)"usage: %s\n", usage_str___0);
    return (1);
  } else {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-d");
    if (tmp) {
      tmp___0 = strcmp(*(argv___0 + 1), (char const   *)"-p");
      if (tmp___0) {
        fprintf(stderr, (char const   *)"usage: %s\n", usage_str___0);
        return (1);
      }
    }
  }
  fd = open(*(argv___0 + 2), 00);
  if (fd < 0) {
    perror(*(argv___0 + 2));
    return (1);
  } else {
    tmp___1 = fstat(fd, & st);
    if (tmp___1) {
      perror(*(argv___0 + 2));
      return (1);
    }
  }
  from_size = (unsigned long )st.st_size;
  from_buf = xmalloc(from_size);
  tmp___2 = read_in_full(fd, from_buf, from_size);
  if (tmp___2 < 0L) {
    perror(*(argv___0 + 2));
    close(fd);
    return (1);
  }
  close(fd);
  fd = open(*(argv___0 + 3), 00);
  if (fd < 0) {
    perror(*(argv___0 + 3));
    return (1);
  } else {
    tmp___3 = fstat(fd, & st);
    if (tmp___3) {
      perror(*(argv___0 + 3));
      return (1);
    }
  }
  data_size = (unsigned long )st.st_size;
  data_buf = xmalloc(data_size);
  tmp___4 = read_in_full(fd, data_buf, data_size);
  if (tmp___4 < 0L) {
    perror(*(argv___0 + 3));
    close(fd);
    return (1);
  }
  close(fd);
  if ((int const   )*(*(argv___0 + 1) + 1) == 100) {
    out_buf = diff_delta((void const   *)from_buf, from_size, (void const   *)data_buf,
                         data_size, & out_size, 0UL);
  } else {
    out_buf = patch_delta((void const   *)from_buf, from_size, (void const   *)data_buf,
                          data_size, & out_size);
  }
  if (! out_buf) {
    fprintf(stderr, (char const   *)"delta operation failed (returned NULL)\n");
    return (1);
  }
  fd = open(*(argv___0 + 4), 577, 0666);
  if (fd < 0) {
    perror(*(argv___0 + 4));
    return (1);
  } else {
    tmp___5 = write_in_full(fd, (void const   *)out_buf, out_size);
    if (tmp___5 < 0L) {
      perror(*(argv___0 + 4));
      return (1);
    }
  }
  return (0);
}
}
static char const   *error_name(int error_number )
{


  {
  {
  if (error_number == 2) {
    goto case_2;
  }
  if (error_number == 20) {
    goto case_20;
  }
  goto switch_default;
  case_2: /* CIL Label */
  return ((char const   *)"ENOENT");
  case_20: /* CIL Label */
  return ((char const   *)"ENOTDIR");
  switch_default: /* CIL Label */
  return ((char const   *)"ESOMETHINGELSE");
  switch_break: /* CIL Label */ ;
  }
}
}
int cmd__dir_iterator(int argc , char const   **argv___0 )
{
  struct dir_iterator *diter ;
  unsigned int flags___0 ;
  int iter_status ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int *tmp___2 ;
  char const   *tmp___3 ;
  int tmp___4 ;

  {
  flags___0 = 0U;
  argv___0 ++;
  argc --;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*argv___0) {
      tmp___1 = starts_with(*argv___0, (char const   *)"--");
      if (! tmp___1) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp___0 = strcmp(*argv___0, (char const   *)"--follow-symlinks");
    if (tmp___0 == 0) {
      flags___0 |= (unsigned int )(1 << 1);
    } else {
      tmp = strcmp(*argv___0, (char const   *)"--pedantic");
      if (tmp == 0) {
        flags___0 |= 1U;
      } else {
        die((char const   *)"invalid option \'%s\'", *argv___0);
      }
    }
    argv___0 ++;
    argc --;
  }
  while_break: /* CIL Label */ ;
  }
  if (! *argv___0) {
    die((char const   *)"dir-iterator needs exactly one non-option argument");
  } else
  if (argc != 1) {
    die((char const   *)"dir-iterator needs exactly one non-option argument");
  }
  diter = dir_iterator_begin(*argv___0, flags___0);
  if (! diter) {
    tmp___2 = __errno_location();
    tmp___3 = error_name(*tmp___2);
    printf((char const   *)"dir_iterator_begin failure: %s\n", tmp___3);
    tmp___4 = trace2_cmd_exit_fl((char const   *)"t/helper/test-dir-iterator.c", 42,
                                 1);
    exit(tmp___4);
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    iter_status = dir_iterator_advance(diter);
    if (! (iter_status == 0)) {
      goto while_break___0;
    }
    if ((diter->st.st_mode & 61440U) == 16384U) {
      printf((char const   *)"[d] ");
    } else
    if ((diter->st.st_mode & 61440U) == 32768U) {
      printf((char const   *)"[f] ");
    } else
    if ((diter->st.st_mode & 61440U) == 40960U) {
      printf((char const   *)"[s] ");
    } else {
      printf((char const   *)"[?] ");
    }
    printf((char const   *)"(%s) [%s] %s\n", diter->relative_path, diter->__xpg_basename,
           diter->path.buf);
  }
  while_break___0: /* CIL Label */ ;
  }
  if (iter_status != -1) {
    printf((char const   *)"dir_iterator_advance failure\n");
    return (1);
  }
  return (0);
}
}
static int cmd_sync(void)
{
  int tmp ;

  {
  tmp = system((char const   *)"sync");
  return (tmp);
}
}
static int cmd_dropcaches(void)
{
  int tmp ;

  {
  tmp = system((char const   *)"echo 3 | sudo tee /proc/sys/vm/drop_caches");
  return (tmp);
}
}
int cmd__drop_caches(int argc , char const   **argv___0 )
{
  int tmp ;

  {
  cmd_sync();
  tmp = cmd_dropcaches();
  return (tmp);
}
}
static void dump_one(struct cache_tree *it , char const   *pfx , char const   *x )
{
  char *tmp ;

  {
  if (it->entry_count < 0) {
    printf((char const   *)"%-40s %s%s (%d subtrees)\n", "invalid", x, pfx, it->subtree_nr);
  } else {
    tmp = oid_to_hex((struct object_id  const  *)(& it->oid));
    printf((char const   *)"%s %s%s (%d entries, %d subtrees)\n", tmp, x, pfx, it->entry_count,
           it->subtree_nr);
  }
  return;
}
}
static int dump_cache_tree(struct cache_tree *it , struct cache_tree *ref , char const   *pfx )
{
  int i ;
  int errs ;
  int tmp ;
  char path___6[4096] ;
  struct cache_tree_sub *down ;
  struct cache_tree_sub *rdwn ;
  int tmp___0 ;

  {
  errs = 0;
  if (! it) {
    return (0);
  } else
  if (! ref) {
    return (0);
  }
  if (it->entry_count < 0) {
    dump_one(it, pfx, (char const   *)"");
    dump_one(ref, pfx, (char const   *)"#(ref) ");
  } else {
    dump_one(it, pfx, (char const   *)"");
    tmp = oideq((struct object_id  const  *)(& it->oid), (struct object_id  const  *)(& ref->oid));
    if (tmp) {
      if (ref->entry_count != it->entry_count) {
        dump_one(ref, pfx, (char const   *)"#(ref) ");
        errs = 1;
      } else
      if (ref->subtree_nr != it->subtree_nr) {
        dump_one(ref, pfx, (char const   *)"#(ref) ");
        errs = 1;
      }
    } else {
      dump_one(ref, pfx, (char const   *)"#(ref) ");
      errs = 1;
    }
  }
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < it->subtree_nr)) {
      goto while_break;
    }
    down = *(it->down + i);
    rdwn = cache_tree_sub(ref, (char const   *)(down->name));
    xsnprintf(path___6, sizeof(path___6), (char const   *)"%s%.*s/", pfx, down->namelen,
              down->name);
    tmp___0 = dump_cache_tree(down->cache_tree, rdwn->cache_tree, (char const   *)(path___6));
    if (tmp___0) {
      errs = 1;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (errs);
}
}
int cmd__dump_cache_tree(int ac , char const   **av )
{
  struct index_state istate ;
  struct cache_tree *another ;
  struct cache_tree *tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  tmp = cache_tree();
  another = tmp;
  setup_git_directory();
  tmp___0 = repo_read_index(the_repository);
  if (tmp___0 < 0) {
    die((char const   *)"unable to read index file");
  }
  istate = the_index;
  istate.cache_tree = another;
  cache_tree_update(& istate, 4);
  tmp___1 = dump_cache_tree(the_index.cache_tree, another, (char const   *)"");
  return (tmp___1);
}
}
int cmd__dump_fsmonitor(int ac , char const   **av )
{
  struct index_state *istate ;
  int i ;
  int tmp ;
  char *tmp___0 ;

  {
  istate = the_repository->index;
  setup_git_directory();
  tmp = do_read_index(istate, (char const   *)the_repository->index_file, 0);
  if (tmp < 0) {
    die((char const   *)"unable to read index file");
  }
  if (! istate->fsmonitor_last_update) {
    printf((char const   *)"no fsmonitor\n");
    return (0);
  }
  printf((char const   *)"fsmonitor last update %s\n", istate->fsmonitor_last_update);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < istate->cache_nr)) {
      goto while_break;
    }
    if ((*(istate->cache + i))->ce_flags & (unsigned int )(1 << 21)) {
      tmp___0 = "+";
    } else {
      tmp___0 = "-";
    }
    printf((char const   *)tmp___0);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static void show_bit(size_t pos , void *data )
{


  {
  printf((char const   *)" %d", (int )pos);
  return;
}
}
int cmd__dump_split_index(int ac , char const   **av )
{
  struct split_index *si ;
  int i ;
  char *tmp ;
  char *tmp___0 ;
  struct cache_entry *ce ;
  char *tmp___1 ;

  {
  setup_git_directory();
  do_read_index(& the_index, *(av + 1), 1);
  tmp = oid_to_hex((struct object_id  const  *)(& the_index.oid));
  printf((char const   *)"own %s\n", tmp);
  si = the_index.split_index;
  if (! si) {
    printf((char const   *)"not a split index\n");
    return (0);
  }
  tmp___0 = oid_to_hex((struct object_id  const  *)(& si->base_oid));
  printf((char const   *)"base %s\n", tmp___0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < the_index.cache_nr)) {
      goto while_break;
    }
    ce = *(the_index.cache + i);
    tmp___1 = oid_to_hex((struct object_id  const  *)(& ce->oid));
    printf((char const   *)"%06o %s %d\t%s\n", ce->ce_mode, tmp___1, (12288U & ce->ce_flags) >> 12,
           ce->name);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  printf((char const   *)"replacements:");
  if (si->replace_bitmap) {
    ewah_each_bit(si->replace_bitmap, & show_bit, (void *)0);
  }
  printf((char const   *)"\ndeletions:");
  if (si->delete_bitmap) {
    ewah_each_bit(si->delete_bitmap, & show_bit, (void *)0);
  }
  printf((char const   *)"\n");
  return (0);
}
}
static int compare_untracked(void const   *a_ , void const   *b_ )
{
  char const   **a ;
  char const   **b___0 ;
  int tmp ;

  {
  a = (char const   **)a_;
  b___0 = (char const   **)b_;
  tmp = strcmp((char const   *)*a, (char const   *)*b___0);
  return (tmp);
}
}
static int compare_dir(void const   *a_ , void const   *b_ )
{
  struct untracked_cache_dir  const  **a ;
  struct untracked_cache_dir  const  **b___0 ;
  int tmp ;

  {
  a = (struct untracked_cache_dir  const  **)a_;
  b___0 = (struct untracked_cache_dir  const  **)b_;
  tmp = strcmp((char const   *)((*a)->name), (char const   *)((*b___0)->name));
  return (tmp);
}
}
static void dump(struct untracked_cache_dir *ucd , struct strbuf *base )
{
  int i ;
  int len___0 ;
  char *tmp ;

  {
  sane_qsort((void *)ucd->untracked, (size_t )ucd->untracked_nr, sizeof(*(ucd->untracked)),
             & compare_untracked);
  sane_qsort((void *)ucd->dirs, (size_t )ucd->dirs_nr, sizeof(*(ucd->dirs)), & compare_dir);
  len___0 = (int )base->len;
  strbuf_addf(base, (char const   *)"%s/", ucd->name);
  tmp = oid_to_hex((struct object_id  const  *)(& ucd->exclude_oid));
  printf((char const   *)"%s %s", base->buf, tmp);
  if (ucd->recurse) {
    fputs((char const   * __restrict  )" recurse", (FILE * __restrict  )stdout);
  }
  if (ucd->check_only) {
    fputs((char const   * __restrict  )" check_only", (FILE * __restrict  )stdout);
  }
  if (ucd->valid) {
    fputs((char const   * __restrict  )" valid", (FILE * __restrict  )stdout);
  }
  printf((char const   *)"\n");
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < ucd->untracked_nr)) {
      goto while_break;
    }
    printf((char const   *)"%s\n", *(ucd->untracked + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < ucd->dirs_nr)) {
      goto while_break___0;
    }
    dump(*(ucd->dirs + i), base);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  strbuf_setlen___33(base, (size_t )len___0);
  return;
}
}
int cmd__dump_untracked_cache(int ac , char const   **av )
{
  struct untracked_cache *uc ;
  struct strbuf base ;
  int tmp ;
  char *tmp___0 ;
  char *tmp___1 ;

  {
  base.alloc = 0UL;
  base.len = 0UL;
  base.buf = strbuf_slopbuf;
  xsetenv((char const   *)"GIT_CONFIG_COUNT", (char const   *)"1", 1);
  xsetenv((char const   *)"GIT_CONFIG_KEY_0", (char const   *)"core.untrackedCache",
          1);
  xsetenv((char const   *)"GIT_CONFIG_VALUE_0", (char const   *)"keep", 1);
  setup_git_directory();
  tmp = repo_read_index(the_repository);
  if (tmp < 0) {
    die((char const   *)"unable to read index file");
  }
  uc = the_index.untracked;
  if (! uc) {
    printf((char const   *)"no untracked cache\n");
    return (0);
  }
  tmp___0 = oid_to_hex((struct object_id  const  *)(& uc->ss_info_exclude.oid));
  printf((char const   *)"info/exclude %s\n", tmp___0);
  tmp___1 = oid_to_hex((struct object_id  const  *)(& uc->ss_excludes_file.oid));
  printf((char const   *)"core.excludesfile %s\n", tmp___1);
  printf((char const   *)"exclude_per_dir %s\n", uc->exclude_per_dir);
  printf((char const   *)"flags %08x\n", uc->dir_flags);
  if (uc->root) {
    dump(uc->root, & base);
  }
  return (0);
}
}
int cmd__example_decorate(int argc , char const   **argv___0 )
{
  struct decoration n ;
  struct object_id one_oid ;
  unsigned int tmp ;
  struct object_id two_oid ;
  unsigned int tmp___0 ;
  struct object_id three_oid ;
  unsigned int tmp___1 ;
  struct object *one___0 ;
  struct object *two___0 ;
  struct object *three___0 ;
  int decoration_a ;
  int decoration_b ;
  void *ret___67 ;
  int i ;
  int objects_noticed ;

  {
  one_oid.hash[0] = (unsigned char)1;
  tmp = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (tmp >= 32U) {
      goto while_break;
    }
    one_oid.hash[tmp] = (unsigned char)0;
    tmp ++;
  }
  while_break: /* CIL Label */ ;
  }
  one_oid.algo = 0;
  two_oid.hash[0] = (unsigned char)2;
  tmp___0 = 1U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (tmp___0 >= 32U) {
      goto while_break___0;
    }
    two_oid.hash[tmp___0] = (unsigned char)0;
    tmp___0 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  two_oid.algo = 0;
  three_oid.hash[0] = (unsigned char)3;
  tmp___1 = 1U;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (tmp___1 >= 32U) {
      goto while_break___1;
    }
    three_oid.hash[tmp___1] = (unsigned char)0;
    tmp___1 ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  three_oid.algo = 0;
  objects_noticed = 0;
  memset((void *)(& n), 0, sizeof(n));
  one___0 = lookup_unknown_object(the_repository, (struct object_id  const  *)(& one_oid));
  two___0 = lookup_unknown_object(the_repository, (struct object_id  const  *)(& two_oid));
  ret___67 = add_decoration(& n, (struct object  const  *)one___0, (void *)(& decoration_a));
  if (ret___67) {
    BUG_fl((char const   *)"t/helper/test-example-decorate.c", 33, (char const   *)"when adding a brand-new object, NULL should be returned");
  }
  ret___67 = add_decoration(& n, (struct object  const  *)two___0, (void *)0);
  if (ret___67) {
    BUG_fl((char const   *)"t/helper/test-example-decorate.c", 36, (char const   *)"when adding a brand-new object, NULL should be returned");
  }
  ret___67 = add_decoration(& n, (struct object  const  *)one___0, (void *)0);
  if ((unsigned long )ret___67 != (unsigned long )(& decoration_a)) {
    BUG_fl((char const   *)"t/helper/test-example-decorate.c", 44, (char const   *)"when readding an already existing object, existing decoration should be returned");
  }
  ret___67 = add_decoration(& n, (struct object  const  *)two___0, (void *)(& decoration_b));
  if (ret___67) {
    BUG_fl((char const   *)"t/helper/test-example-decorate.c", 47, (char const   *)"when readding an already existing object, existing decoration should be returned");
  }
  ret___67 = lookup_decoration(& n, (struct object  const  *)one___0);
  if (ret___67) {
    BUG_fl((char const   *)"t/helper/test-example-decorate.c", 55, (char const   *)"lookup should return added declaration");
  }
  ret___67 = lookup_decoration(& n, (struct object  const  *)two___0);
  if ((unsigned long )ret___67 != (unsigned long )(& decoration_b)) {
    BUG_fl((char const   *)"t/helper/test-example-decorate.c", 58, (char const   *)"lookup should return added declaration");
  }
  three___0 = lookup_unknown_object(the_repository, (struct object_id  const  *)(& three_oid));
  ret___67 = lookup_decoration(& n, (struct object  const  *)three___0);
  if (ret___67) {
    BUG_fl((char const   *)"t/helper/test-example-decorate.c", 62, (char const   *)"lookup for unknown object should return NULL");
  }
  i = 0;
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    if (! ((unsigned int )i < n.size)) {
      goto while_break___2;
    }
    if ((n.entries + i)->base) {
      objects_noticed ++;
    }
    i ++;
  }
  while_break___2: /* CIL Label */ ;
  }
  if (objects_noticed != 2) {
    BUG_fl((char const   *)"t/helper/test-example-decorate.c", 72, (char const   *)"should have 2 objects");
  }
  return (0);
}
}
static double const   __ac_HASH_UPPER___165  =    (double const   )0.77;
__inline static void kh_resize_oid_set___165(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___165(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___165 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___165 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___165(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___165(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___165(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___165(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___165(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___165(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___165 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___165 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___165(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___165(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___165(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___165(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___165(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___165(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___165 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___165 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___165(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___165(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___165(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___165(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   *short_commit_name___0(struct commit *commit )
{
  char const   *tmp ;

  {
  tmp = repo_find_unique_abbrev(the_repository, (struct object_id  const  *)(& commit->object.oid),
                                default_abbrev);
  return (tmp);
}
}
static struct commit *peel_committish(char const   *name___0 )
{
  struct object *obj ;
  struct object_id oid ;
  int tmp ;
  struct object *tmp___0 ;

  {
  tmp = repo_get_oid(the_repository, name___0, & oid);
  if (tmp) {
    return ((struct commit *)((void *)0));
  }
  obj = parse_object(the_repository, (struct object_id  const  *)(& oid));
  tmp___0 = repo_peel_to_type(the_repository, name___0, 0, obj, (enum object_type )1);
  return ((struct commit *)tmp___0);
}
}
static char *get_author___0(char const   *message___0 )
{
  size_t len___0 ;
  char const   *a ;
  void *tmp ;

  {
  a = find_commit_header(message___0, (char const   *)"author", & len___0);
  if (a) {
    tmp = xmemdupz((void const   *)a, len___0);
    return ((char *)tmp);
  }
  return ((char *)((void *)0));
}
}
static struct commit *create_commit(struct tree *tree , struct commit *based_on ,
                                    struct commit *parent )
{
  struct object_id ret___67 ;
  struct object *obj ;
  struct commit_list *parents ;
  char *author ;
  char *sign_commit___2 ;
  struct commit_extra_header *extra___2 ;
  struct strbuf msg___5 ;
  char const   *out_enc ;
  char const   *tmp ;
  char const   *message___0 ;
  char const   *tmp___0 ;
  char const   *orig_message ;
  char const   *exclude_gpgsig[2] ;
  char const __attribute__((__format_arg__(1)))  *tmp___1 ;
  int tmp___2 ;

  {
  parents = (struct commit_list *)((void *)0);
  sign_commit___2 = (char *)((void *)0);
  msg___5.alloc = 0UL;
  msg___5.len = 0UL;
  msg___5.buf = strbuf_slopbuf;
  tmp = get_commit_output_encoding();
  out_enc = tmp;
  tmp___0 = repo_logmsg_reencode(the_repository, (struct commit  const  *)based_on,
                                 (char **)((void *)0), out_enc);
  message___0 = tmp___0;
  orig_message = (char const   *)((void *)0);
  exclude_gpgsig[0] = (char const   *)"gpgsig";
  exclude_gpgsig[1] = (char const   *)((void *)0);
  commit_list_insert(parent, & parents);
  extra___2 = read_commit_extra_headers(based_on, exclude_gpgsig);
  find_commit_subject(message___0, & orig_message);
  strbuf_addstr(& msg___5, orig_message);
  author = get_author___0(message___0);
  reset_ident_date();
  tmp___2 = commit_tree_extended((char const   *)msg___5.buf, msg___5.len, (struct object_id  const  *)(& tree->object.oid),
                                 parents, & ret___67, (char const   *)author, (char const   *)((void *)0),
                                 (char const   *)sign_commit___2, extra___2);
  if (tmp___2) {
    tmp___1 = _((char const   *)"failed to write commit object");
    error((char const   *)tmp___1);
    const_error();
    return ((struct commit *)((void *)0));
  }
  free((void *)author);
  strbuf_release(& msg___5);
  obj = parse_object(the_repository, (struct object_id  const  *)(& ret___67));
  return ((struct commit *)obj);
}
}
int cmd__fast_rebase(int argc , char const   **argv___0 )
{
  struct commit *onto ;
  struct commit *last_commit ;
  struct commit *last_picked_commit ;
  struct object_id head___1 ;
  struct lock_file lock___0 ;
  struct strvec rev_walk_args ;
  struct rev_info revs ;
  struct commit *commit ;
  struct merge_options___0 merge_opt ;
  struct tree *next_tree ;
  struct tree *base_tree ;
  struct tree *head_tree ;
  struct merge_result result___0 ;
  struct strbuf reflog_msg ;
  struct strbuf branch_name ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const __attribute__((__format_arg__(1)))  *tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  char const __attribute__((__format_arg__(1)))  *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const __attribute__((__format_arg__(1)))  *tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  struct commit *base ;
  char *tmp___12 ;
  int tmp___13 ;
  char *tmp___14 ;
  int tmp___15 ;
  char *tmp___16 ;
  char *tmp___17 ;
  char const __attribute__((__format_arg__(1)))  *tmp___18 ;
  int tmp___19 ;
  char const __attribute__((__format_arg__(1)))  *tmp___20 ;
  int tmp___21 ;
  char *tmp___22 ;
  char const __attribute__((__format_arg__(1)))  *tmp___23 ;
  int tmp___24 ;
  char *tmp___25 ;
  char const __attribute__((__format_arg__(1)))  *tmp___26 ;
  int tmp___27 ;

  {
  last_commit = (struct commit *)((void *)0);
  last_picked_commit = (struct commit *)((void *)0);
  lock___0.tempfile = (struct tempfile *)0;
  rev_walk_args.v = empty_strvec;
  rev_walk_args.nr = 0UL;
  rev_walk_args.alloc = 0UL;
  reflog_msg.alloc = 0UL;
  reflog_msg.len = 0UL;
  reflog_msg.buf = strbuf_slopbuf;
  branch_name.alloc = 0UL;
  branch_name.len = 0UL;
  branch_name.buf = strbuf_slopbuf;
  setup_git_directory();
  if (argc == 2) {
    tmp___0 = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp___0) {
      printf((char const   *)"Sorry, I am not a psychiatrist; I can not give you the help you need.  Oh, you meant usage...\n");
      tmp = trace2_cmd_exit_fl((char const   *)"t/helper/test-fast-rebase.c", 111,
                               129);
      exit(tmp);
    }
  }
  if (argc != 5) {
    die((char const   *)"usage: read the code, figure out how to use it, then do so");
  } else {
    tmp___1 = strcmp(*(argv___0 + 1), (char const   *)"--onto");
    if (tmp___1) {
      die((char const   *)"usage: read the code, figure out how to use it, then do so");
    }
  }
  onto = peel_committish(*(argv___0 + 2));
  strbuf_addf(& branch_name, (char const   *)"refs/heads/%s", *(argv___0 + 4));
  tmp___3 = repo_get_oid(the_repository, (char const   *)"HEAD", & head___1);
  if (tmp___3) {
    tmp___2 = _((char const   *)"Cannot read HEAD");
    die((char const   *)tmp___2);
  }
  tmp___4 = oideq((struct object_id  const  *)(& onto->object.oid), (struct object_id  const  *)(& head___1));
  assert(tmp___4);
  repo_hold_locked_index(the_repository, & lock___0, 1);
  tmp___5 = repo_read_index(the_repository);
  if (tmp___5 < 0) {
    BUG_fl((char const   *)"t/helper/test-fast-rebase.c", 127, (char const   *)"Could not read index");
  }
  repo_init_revisions(the_repository, & revs, (char const   *)((void *)0));
  revs.verbose_header = 1U;
  revs.max_parents = 1;
  revs.cherry_mark = 1U;
  revs.limited = 1U;
  revs.reverse = 1U;
  revs.right_only = 1U;
  revs.sort_order = (enum rev_sort_order )0;
  revs.topo_order = 1U;
  strvec_pushl(& rev_walk_args, "", *(argv___0 + 4), "--not", *(argv___0 + 3), (void *)0);
  tmp___8 = setup_revisions((int )rev_walk_args.nr, rev_walk_args.v, & revs, (struct setup_revision_opt *)((void *)0));
  if (tmp___8 > 1) {
    tmp___6 = _((char const   *)"unhandled options");
    error((char const   *)tmp___6);
    tmp___7 = const_error();
    return (tmp___7);
  }
  strvec_clear(& rev_walk_args);
  tmp___11 = prepare_revision_walk(& revs);
  if (tmp___11 < 0) {
    tmp___9 = _((char const   *)"error preparing revisions");
    error((char const   *)tmp___9);
    tmp___10 = const_error();
    return (tmp___10);
  }
  init_merge_options(& merge_opt, the_repository);
  memset((void *)(& result___0), 0, sizeof(result___0));
  merge_opt.show_rename_progress = 1;
  merge_opt.branch1 = (char const   *)"HEAD";
  head_tree = repo_get_commit_tree(the_repository, (struct commit  const  *)onto);
  result___0.tree = head_tree;
  last_commit = onto;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    commit = get_revision(& revs);
    if (! commit) {
      goto while_break;
    }
    tmp___12 = oid_to_hex((struct object_id  const  *)(& commit->object.oid));
    fprintf(stderr, (char const   *)"Rebasing %s...\r", tmp___12);
    if (commit->parents) {
      if (! (commit->parents)->next) {
        tmp___13 = 1;
      } else {
        tmp___13 = 0;
      }
    } else {
      tmp___13 = 0;
    }
    assert(tmp___13);
    base = (commit->parents)->item;
    next_tree = repo_get_commit_tree(the_repository, (struct commit  const  *)commit);
    base_tree = repo_get_commit_tree(the_repository, (struct commit  const  *)base);
    merge_opt.branch2 = short_commit_name___0(commit);
    tmp___14 = xstrfmt((char const   *)"parent of %s", merge_opt.branch2);
    merge_opt.ancestor = (char const   *)tmp___14;
    merge_incore_nonrecursive(& merge_opt, base_tree, result___0.tree, next_tree,
                              & result___0);
    free((void *)((char *)merge_opt.ancestor));
    merge_opt.ancestor = (char const   *)((void *)0);
    if (! result___0.clean) {
      goto while_break;
    }
    last_picked_commit = commit;
    last_commit = create_commit(result___0.tree, commit, last_commit);
  }
  while_break: /* CIL Label */ ;
  }
  memset((void *)(& revs), 0, sizeof(revs));
  merge_switch_to_result(& merge_opt, head_tree, & result___0, 1, ! result___0.clean);
  if (result___0.clean < 0) {
    tmp___15 = trace2_cmd_exit_fl((char const   *)"t/helper/test-fast-rebase.c", 188,
                                  128);
    exit(tmp___15);
  }
  if (result___0.clean) {
    fprintf(stderr, (char const   *)"\nDone.\n");
    tmp___16 = oid_to_hex((struct object_id  const  *)(& last_commit->object.oid));
    tmp___17 = oid_to_hex((struct object_id  const  *)(& last_picked_commit->object.oid));
    strbuf_addf(& reflog_msg, (char const   *)"finish rebase %s onto %s", tmp___17,
                tmp___16);
    tmp___19 = update_ref((char const   *)reflog_msg.buf, (char const   *)branch_name.buf,
                          (struct object_id  const  *)(& last_commit->object.oid),
                          (struct object_id  const  *)(& last_picked_commit->object.oid),
                          1U, (enum action_on_err )0);
    if (tmp___19) {
      tmp___18 = _((char const   *)"could not update %s");
      error((char const   *)tmp___18, *(argv___0 + 4));
      const_error();
      die((char const   *)"Failed to update %s", *(argv___0 + 4));
    }
    tmp___21 = create_symref((char const   *)"HEAD", (char const   *)branch_name.buf,
                             (char const   *)reflog_msg.buf);
    if (tmp___21 < 0) {
      tmp___20 = _((char const   *)"unable to update HEAD");
      die((char const   *)tmp___20);
    }
    strbuf_release(& reflog_msg);
    strbuf_release(& branch_name);
    prime_cache_tree(the_repository, the_repository->index, result___0.tree);
  } else {
    fprintf(stderr, (char const   *)"\nAborting: Hit a conflict.\n");
    tmp___22 = oid_to_hex((struct object_id  const  *)(& last_picked_commit->object.oid));
    strbuf_addf(& reflog_msg, (char const   *)"rebase progress up to %s", tmp___22);
    tmp___24 = update_ref((char const   *)reflog_msg.buf, (char const   *)"HEAD",
                          (struct object_id  const  *)(& last_commit->object.oid),
                          (struct object_id  const  *)(& head___1), 1U, (enum action_on_err )0);
    if (tmp___24) {
      tmp___23 = _((char const   *)"could not update %s");
      error((char const   *)tmp___23, *(argv___0 + 4));
      const_error();
      die((char const   *)"Failed to update %s", *(argv___0 + 4));
    }
  }
  tmp___27 = write_locked_index(& the_index, & lock___0, (unsigned int )(1 | (1 << 1)));
  if (tmp___27) {
    tmp___25 = get_index_file();
    tmp___26 = _((char const   *)"unable to write %s");
    die((char const   *)tmp___26, tmp___25);
  }
  return (result___0.clean == 0);
}
}
int cmd__genrandom(int argc , char const   **argv___0 )
{
  unsigned long count___0 ;
  unsigned long next___2 ;
  unsigned char *c___0 ;
  unsigned char *tmp ;
  unsigned long tmp___0 ;
  int tmp___1 ;
  unsigned long tmp___2 ;

  {
  next___2 = 0UL;
  if (argc < 2) {
    fprintf(stderr, (char const   *)"usage: %s <seed_string> [<size>]\n", *(argv___0 + 0));
    return (1);
  } else
  if (argc > 3) {
    fprintf(stderr, (char const   *)"usage: %s <seed_string> [<size>]\n", *(argv___0 + 0));
    return (1);
  }
  c___0 = (unsigned char *)*(argv___0 + 1);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    next___2 = next___2 * 11UL + (unsigned long )*c___0;
    tmp = c___0;
    c___0 ++;
    if (! *tmp) {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  if (argc == 3) {
    tmp___0 = strtoul((char const   * __restrict  )*(argv___0 + 2), (char ** __restrict  )((void *)0),
                      0);
    count___0 = tmp___0;
  } else {
    count___0 = 18446744073709551615UL;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    tmp___2 = count___0;
    count___0 --;
    if (! tmp___2) {
      goto while_break___0;
    }
    next___2 = next___2 * 1103515245UL + 12345UL;
    tmp___1 = putchar((int )((next___2 >> 16) & 255UL));
    if (tmp___1 == -1) {
      return (-1);
    }
  }
  while_break___0: /* CIL Label */ ;
  }
  return (0);
}
}
static char const   zeros[262144]  ;
int cmd__genzeros(int argc , char const   **argv___0 )
{
  intmax_t count___0 ;
  ssize_t n ;
  intmax_t tmp ;
  ssize_t tmp___0 ;
  unsigned long tmp___1 ;

  {
  if (argc > 2) {
    fprintf(stderr, (char const   *)"usage: %s [<count>]\n", *(argv___0 + 0));
    return (1);
  }
  if (argc > 1) {
    tmp = strtoimax(*(argv___0 + 1), (char **)((void *)0), 0);
    count___0 = tmp;
  } else {
    count___0 = (intmax_t )-1;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (count___0 < 0L)) {
      goto while_break;
    }
    tmp___0 = write(1, (void const   *)(zeros), sizeof(zeros) / sizeof(zeros[0]) + (sizeof(char [1]) - 1UL));
    if (tmp___0 < 0L) {
      return (-1);
    }
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (count___0 > 0L)) {
      goto while_break___0;
    }
    if ((unsigned long )count___0 < sizeof(zeros) / sizeof(zeros[0]) + (sizeof(char [1]) - 1UL)) {
      tmp___1 = (unsigned long )count___0;
    } else {
      tmp___1 = sizeof(zeros) / sizeof(zeros[0]) + (sizeof(char [1]) - 1UL);
    }
    n = write(1, (void const   *)(zeros), tmp___1);
    if (n < 0L) {
      return (-1);
    }
    count___0 -= n;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (0);
}
}
static char const   *getcwd_usage[2]  = {      (char const   *)"test-tool getcwd",      (char const   *)((void *)0)};
int cmd__getcwd(int argc , char const   **argv___0 )
{
  struct option options[1] ;
  char *cwd___0 ;

  {
  options[0].type = (enum parse_opt_type )0;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)0;
  options[0].value = (void *)0;
  options[0].argh = (char const   *)0;
  options[0].help = (char const   *)0;
  options[0].flags = 0U;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  argc = parse_options(argc, argv___0, (char const   *)"test-tools", (struct option  const  *)(options),
                       (char const   **)(getcwd_usage), (enum parse_opt_flags )0);
  if (argc > 0) {
    usage_with_options((char const   **)(getcwd_usage), (struct option  const  *)(options));
  }
  cwd___0 = xgetcwd();
  puts((char const   *)cwd___0);
  free((void *)cwd___0);
  return (0);
}
}
__inline static void compute_hash(struct git_hash_algo  const  *algo , git_hash_ctx *ctx___0 ,
                                  uint8_t *final___0 , void const   *p___0 , size_t len___0 )
{


  {
  (*(algo->init_fn))(ctx___0);
  (*(algo->update_fn))(ctx___0, p___0, len___0);
  (*(algo->final_fn))(final___0, ctx___0);
  return;
}
}
int cmd__hash_speed(int ac , char const   **av )
{
  git_hash_ctx ctx___0 ;
  unsigned char hash___0[32] ;
  clock_t initial ;
  clock_t start ;
  clock_t end ;
  unsigned int bufsizes[5] ;
  int i ;
  void *p___0 ;
  struct git_hash_algo  const  *algo ;
  int tmp ;
  unsigned long j ;
  unsigned long kb ;
  double kb_per_sec ;
  clock_t tmp___0 ;
  clock_t tmp___1 ;

  {
  bufsizes[0] = 64U;
  bufsizes[1] = 256U;
  bufsizes[2] = 1024U;
  bufsizes[3] = 8192U;
  bufsizes[4] = 16384U;
  algo = (struct git_hash_algo  const  *)((void *)0);
  if (ac == 2) {
    i = 1;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < 3)) {
        goto while_break;
      }
      tmp = strcmp(*(av + 1), (char const   *)hash_algos[i].name);
      if (! tmp) {
        algo = & hash_algos[i];
        goto while_break;
      }
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  if (! algo) {
    die((char const   *)"usage: test-tool hash-speed algo_name");
  }
  initial = clock();
  printf((char const   *)"algo: %s\n", algo->name);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(bufsizes) / sizeof(bufsizes[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break___0;
    }
    p___0 = xcalloc((size_t )1, (size_t )bufsizes[i]);
    tmp___0 = clock();
    end = tmp___0 - initial;
    start = end;
    j = 0UL;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((end - start) / 1000000L < 3L)) {
        goto while_break___1;
      }
      compute_hash(algo, & ctx___0, hash___0, (void const   *)p___0, (size_t )bufsizes[i]);
      if (! (j & 127UL)) {
        tmp___1 = clock();
        end = tmp___1 - initial;
      }
      j ++;
    }
    while_break___1: /* CIL Label */ ;
    }
    kb = j * (unsigned long )bufsizes[i];
    kb_per_sec = (double )kb / (((double )1024 * ((double )end - (double )start)) / (double )1000000L);
    printf((char const   *)"size %u: %lu iters; %lu KiB; %0.2f KiB/s\n", bufsizes[i],
           j, kb, kb_per_sec);
    free(p___0);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (0);
}
}
int cmd_hash_impl(int ac , char const   **av , int algo )
{
  git_hash_ctx ctx___0 ;
  unsigned char hash___0[64] ;
  unsigned int bufsz ;
  int binary ;
  char *buffer___5 ;
  struct git_hash_algo  const  *algop ;
  unsigned long tmp ;
  int tmp___0 ;
  void *tmp___1 ;
  ssize_t sz ;
  ssize_t this_sz ;
  char *cp ;
  unsigned int room ;
  char *tmp___2 ;

  {
  bufsz = 8192U;
  binary = 0;
  algop = & hash_algos[algo];
  if (ac == 2) {
    tmp___0 = strcmp(*(av + 1), (char const   *)"-b");
    if (tmp___0) {
      tmp = strtoul((char const   * __restrict  )*(av + 1), (char ** __restrict  )((void *)0),
                    10);
      bufsz = (unsigned int )((tmp * 1024UL) * 1024UL);
    } else {
      binary = 1;
    }
  }
  if (! bufsz) {
    bufsz = 8192U;
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___1 = malloc((size_t )bufsz);
    buffer___5 = (char *)tmp___1;
    if (! ((unsigned long )buffer___5 == (unsigned long )((void *)0))) {
      goto while_break;
    }
    fprintf(stderr, (char const   *)"bufsz %u is too big, halving...\n", bufsz);
    bufsz /= 2U;
    if (bufsz < 1024U) {
      die((char const   *)"OOPS");
    }
  }
  while_break: /* CIL Label */ ;
  }
  (*(algop->init_fn))(& ctx___0);
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    cp = buffer___5;
    room = bufsz;
    this_sz = (ssize_t )0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! room) {
        goto while_break___1;
      }
      sz = xread(0, (void *)cp, (size_t )room);
      if (sz == 0L) {
        goto while_break___1;
      }
      if (sz < 0L) {
        die_errno((char const   *)"test-hash");
      }
      this_sz += sz;
      cp += sz;
      room = (unsigned int )((ssize_t )room - sz);
    }
    while_break___1: /* CIL Label */ ;
    }
    if (this_sz == 0L) {
      goto while_break___0;
    }
    (*(algop->update_fn))(& ctx___0, (void const   *)buffer___5, (size_t )this_sz);
  }
  while_break___0: /* CIL Label */ ;
  }
  (*(algop->final_fn))(hash___0, & ctx___0);
  if (binary) {
    fwrite((void const   * __restrict  )(hash___0), (size_t )1, (size_t )algop->rawsz,
           (FILE * __restrict  )stdout);
  } else {
    tmp___2 = hash_to_hex_algop((unsigned char const   *)(hash___0), algop);
    puts((char const   *)tmp___2);
  }
  return (0);
}
}
static char const   *get_value___2(struct test_entry  const  *e )
{
  size_t tmp ;

  {
  tmp = strlen((char const   *)(e->key));
  return ((char const   *)((e->key + tmp) + 1));
}
}
static int test_entry_cmp(void const   *cmp_data , struct hashmap_entry  const  *eptr ,
                          struct hashmap_entry  const  *entry_or_key , void const   *keydata )
{
  int ignore_case___0 ;
  int tmp ;
  struct test_entry  const  *e1 ;
  struct test_entry  const  *e2 ;
  char const   *key___1 ;
  char const   *tmp___0 ;
  int tmp___1 ;
  char const   *tmp___2 ;
  int tmp___3 ;

  {
  if (cmp_data) {
    tmp = *((int *)cmp_data);
  } else {
    tmp = 0;
  }
  ignore_case___0 = (int )tmp;
  key___1 = (char const   *)keydata;
  e1 = (struct test_entry  const  *)((char *)eptr - (unsigned long )(& ((struct test_entry  const  *)0)->ent));
  e2 = (struct test_entry  const  *)((char *)entry_or_key - (unsigned long )(& ((struct test_entry  const  *)0)->ent));
  if (ignore_case___0) {
    if (key___1) {
      tmp___0 = key___1;
    } else {
      tmp___0 = (char const   *)(e2->key);
    }
    tmp___1 = strcasecmp((char const   *)(e1->key), tmp___0);
    return (tmp___1);
  } else {
    if (key___1) {
      tmp___2 = key___1;
    } else {
      tmp___2 = (char const   *)(e2->key);
    }
    tmp___3 = strcmp((char const   *)(e1->key), tmp___2);
    return (tmp___3);
  }
}
}
static struct test_entry *alloc_test_entry(unsigned int hash___0 , char *key___1 ,
                                           char *value )
{
  size_t klen ;
  size_t tmp ;
  size_t vlen ;
  size_t tmp___0 ;
  struct test_entry *entry ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;

  {
  tmp = strlen((char const   *)key___1);
  klen = tmp;
  tmp___0 = strlen((char const   *)value);
  vlen = tmp___0;
  tmp___1 = st_add(sizeof(*entry), klen);
  tmp___2 = st_add(tmp___1, vlen);
  tmp___3 = st_add(tmp___2, (size_t )2);
  tmp___4 = xmalloc(tmp___3);
  entry = (struct test_entry *)tmp___4;
  hashmap_entry_init(& entry->ent, hash___0);
  memcpy((void *)(entry->key), (void const   *)key___1, klen + 1UL);
  memcpy((void *)((entry->key + klen) + 1), (void const   *)value, vlen + 1UL);
  return (entry);
}
}
static unsigned int hash(unsigned int method , unsigned int i , char const   *key___1 )
{
  unsigned int hash___0 ;

  {
  hash___0 = 0U;
  {
  if ((method & 3U) == 0U) {
    goto case_0;
  }
  if ((method & 3U) == 1U) {
    goto case_1;
  }
  if ((method & 3U) == 2U) {
    goto case_2;
  }
  if ((method & 3U) == 3U) {
    goto case_3;
  }
  goto switch_break;
  case_0: /* CIL Label */
  hash___0 = strhash(key___1);
  goto switch_break;
  case_1: /* CIL Label */
  hash___0 = i;
  goto switch_break;
  case_2: /* CIL Label */
  hash___0 = i / 10U;
  goto switch_break;
  case_3: /* CIL Label */
  hash___0 = 0U;
  goto switch_break;
  switch_break: /* CIL Label */ ;
  }
  if (method & 4U) {
    hash___0 = 2U * hash___0;
  }
  return (hash___0);
}
}
static void perf_hashmap(unsigned int method , unsigned int rounds )
{
  struct hashmap map___0 ;
  char buf___19[16] ;
  struct test_entry **entries___1 ;
  unsigned int *hashes ;
  unsigned int i ;
  unsigned int j ;
  size_t tmp ;
  void *tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;

  {
  tmp = st_mult(sizeof(*entries___1), (size_t )100000);
  tmp___0 = xmalloc(tmp);
  entries___1 = (struct test_entry **)tmp___0;
  tmp___1 = st_mult(sizeof(*hashes), (size_t )100000);
  tmp___2 = xmalloc(tmp___1);
  hashes = (unsigned int *)tmp___2;
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < 100000U)) {
      goto while_break;
    }
    xsnprintf(buf___19, sizeof(buf___19), (char const   *)"%i", i);
    *(entries___1 + i) = alloc_test_entry(0U, buf___19, "");
    *(hashes + i) = hash(method, i, (char const   *)((*(entries___1 + i))->key));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (method & 16U) {
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < rounds)) {
        goto while_break___0;
      }
      hashmap_init(& map___0, & test_entry_cmp, (void const   *)((void *)0), (size_t )0);
      i = 0U;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! (i < 100000U)) {
          goto while_break___1;
        }
        hashmap_entry_init(& (*(entries___1 + i))->ent, *(hashes + i));
        hashmap_add(& map___0, & (*(entries___1 + i))->ent);
        i ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      hashmap_clear_(& map___0, (ssize_t )-1);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  } else {
    hashmap_init(& map___0, & test_entry_cmp, (void const   *)((void *)0), (size_t )0);
    if (method & 8U) {
      j = 10000U;
    } else {
      j = 100000U;
    }
    i = 0U;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (i < j)) {
        goto while_break___2;
      }
      hashmap_entry_init(& (*(entries___1 + i))->ent, *(hashes + i));
      hashmap_add(& map___0, & (*(entries___1 + i))->ent);
      i ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    j = 0U;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! (j < rounds)) {
        goto while_break___3;
      }
      i = 0U;
      {
      while (1) {
        while_continue___4: /* CIL Label */ ;
        if (! (i < 100000U)) {
          goto while_break___4;
        }
        hashmap_get_from_hash((struct hashmap  const  *)(& map___0), *(hashes + i),
                              (void const   *)((*(entries___1 + i))->key));
        i ++;
      }
      while_break___4: /* CIL Label */ ;
      }
      j ++;
    }
    while_break___3: /* CIL Label */ ;
    }
    hashmap_clear_(& map___0, (ssize_t )-1);
  }
  return;
}
}
int cmd__hashmap(int argc , char const   **argv___0 )
{
  struct strbuf line___0 ;
  int icase___0 ;
  struct hashmap map___0 ;
  int tmp ;
  int tmp___0 ;
  char *cmd ;
  char *p1 ;
  char *p2 ;
  unsigned int hash___0 ;
  struct test_entry *entry ;
  unsigned int tmp___1 ;
  unsigned int tmp___2 ;
  struct hashmap_entry *tmp___3 ;
  void *tmp___4 ;
  char const   *tmp___5 ;
  char const   *tmp___6 ;
  struct hashmap_entry *tmp___7 ;
  void *tmp___8 ;
  struct hashmap_entry *tmp___9 ;
  void *tmp___10 ;
  char const   *tmp___11 ;
  struct hashmap_entry key___1 ;
  struct hashmap_entry *rm___0 ;
  char const   *tmp___12 ;
  char const   *tmp___13 ;
  struct hashmap_iter iter___0 ;
  struct hashmap_entry *tmp___14 ;
  void *tmp___15 ;
  struct hashmap_entry *tmp___16 ;
  void *tmp___17 ;
  char const   *tmp___18 ;
  unsigned int tmp___19 ;
  char const   *i1 ;
  char const   *tmp___20 ;
  char const   *i2 ;
  char const   *tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;
  int tmp___30 ;
  int tmp___31 ;
  int tmp___32 ;
  int tmp___33 ;

  {
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  map___0.table = (struct hashmap_entry **)0;
  map___0.cmpfn = & test_entry_cmp;
  map___0.cmpfn_data = (void const   *)(& icase___0);
  map___0.private_size = 0U;
  map___0.tablesize = 0U;
  map___0.grow_at = 0U;
  map___0.shrink_at = 0U;
  map___0.do_count_items = 1U;
  if (argc > 1) {
    tmp = strcmp((char const   *)"ignorecase", *(argv___0 + 1));
    if (tmp) {
      tmp___0 = 0;
    } else {
      tmp___0 = 1;
    }
  } else {
    tmp___0 = 0;
  }
  icase___0 = tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___33 = strbuf_getline(& line___0, stdin);
    if (! (tmp___33 != -1)) {
      goto while_break;
    }
    p1 = (char *)((void *)0);
    p2 = (char *)((void *)0);
    hash___0 = 0U;
    cmd = strtok((char * __restrict  )line___0.buf, (char const   * __restrict  )" \t\r\n");
    if (! cmd) {
      goto while_continue;
    } else
    if ((int )*cmd == 35) {
      goto while_continue;
    }
    p1 = strtok((char * __restrict  )((void *)0), (char const   * __restrict  )" \t\r\n");
    if (p1) {
      if (icase___0) {
        tmp___1 = strihash((char const   *)p1);
        hash___0 = tmp___1;
      } else {
        tmp___2 = strhash((char const   *)p1);
        hash___0 = tmp___2;
      }
      p2 = strtok((char * __restrict  )((void *)0), (char const   * __restrict  )" \t\r\n");
    }
    tmp___32 = strcmp((char const   *)"add", (char const   *)cmd);
    if (tmp___32) {
      _L___5: /* CIL Label */
      _L___4: /* CIL Label */
      tmp___31 = strcmp((char const   *)"put", (char const   *)cmd);
      if (tmp___31) {
        _L___3: /* CIL Label */
        _L___2: /* CIL Label */
        tmp___30 = strcmp((char const   *)"get", (char const   *)cmd);
        if (tmp___30) {
          _L___1: /* CIL Label */
          tmp___29 = strcmp((char const   *)"remove", (char const   *)cmd);
          if (tmp___29) {
            _L___0: /* CIL Label */
            tmp___28 = strcmp((char const   *)"iterate", (char const   *)cmd);
            if (tmp___28) {
              tmp___27 = strcmp((char const   *)"size", (char const   *)cmd);
              if (tmp___27) {
                tmp___26 = strcmp((char const   *)"intern", (char const   *)cmd);
                if (tmp___26) {
                  _L: /* CIL Label */
                  tmp___25 = strcmp((char const   *)"perfhashmap", (char const   *)cmd);
                  if (tmp___25) {
                    printf((char const   *)"Unknown command %s\n", cmd);
                  } else
                  if (p1) {
                    if (p2) {
                      tmp___23 = atoi((char const   *)p2);
                      tmp___24 = atoi((char const   *)p1);
                      perf_hashmap((unsigned int )tmp___24, (unsigned int )tmp___23);
                    } else {
                      printf((char const   *)"Unknown command %s\n", cmd);
                    }
                  } else {
                    printf((char const   *)"Unknown command %s\n", cmd);
                  }
                } else
                if (p1) {
                  tmp___20 = strintern((char const   *)p1);
                  i1 = tmp___20;
                  tmp___21 = strintern((char const   *)p1);
                  i2 = tmp___21;
                  tmp___22 = strcmp(i1, (char const   *)p1);
                  if (tmp___22) {
                    printf((char const   *)"strintern(%s) returns %s\n", p1, i1);
                  } else
                  if ((unsigned long )i1 == (unsigned long )p1) {
                    printf((char const   *)"strintern(%s) returns input pointer\n",
                           p1);
                  } else
                  if ((unsigned long )i1 != (unsigned long )i2) {
                    printf((char const   *)"strintern(%s) != strintern(%s)", i1, i2);
                  } else {
                    printf((char const   *)"%s\n", i1);
                  }
                } else {
                  goto _L;
                }
              } else {
                tmp___19 = hashmap_get_size___33(& map___0);
                printf((char const   *)"%u %u\n", map___0.tablesize, tmp___19);
              }
            } else {
              entry = (struct test_entry *)((void *)0);
              tmp___14 = hashmap_iter_first(& map___0, & iter___0);
              tmp___15 = container_of_or_null_offset((void *)tmp___14, (unsigned long )(& ((struct test_entry *)0)->ent));
              entry = (struct test_entry *)tmp___15;
              {
              while (1) {
                while_continue___0: /* CIL Label */ ;
                if (! entry) {
                  goto while_break___0;
                }
                tmp___18 = get_value___2((struct test_entry  const  *)entry);
                printf((char const   *)"%s %s\n", entry->key, tmp___18);
                tmp___16 = hashmap_iter_next(& iter___0);
                tmp___17 = container_of_or_null_offset((void *)tmp___16, (unsigned long )(& ((struct test_entry *)0)->ent));
                entry = (struct test_entry *)tmp___17;
              }
              while_break___0: /* CIL Label */ ;
              }
            }
          } else
          if (p1) {
            hashmap_entry_init(& key___1, hash___0);
            rm___0 = hashmap_remove(& map___0, (struct hashmap_entry  const  *)(& key___1),
                                    (void const   *)p1);
            if (rm___0) {
              entry = (struct test_entry *)((char *)rm___0 - (unsigned long )(& ((struct test_entry *)0)->ent));
            } else {
              entry = (struct test_entry *)((void *)0);
            }
            if (entry) {
              tmp___12 = get_value___2((struct test_entry  const  *)entry);
              tmp___13 = tmp___12;
            } else {
              tmp___13 = (char const   *)"NULL";
            }
            puts(tmp___13);
            free((void *)entry);
          } else {
            goto _L___0;
          }
        } else
        if (p1) {
          tmp___7 = hashmap_get_from_hash((struct hashmap  const  *)(& map___0), hash___0,
                                          (void const   *)p1);
          tmp___8 = container_of_or_null_offset((void *)tmp___7, (unsigned long )(& ((struct test_entry *)0)->ent));
          entry = (struct test_entry *)tmp___8;
          if (! entry) {
            puts((char const   *)"NULL");
          }
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! entry) {
              goto while_break___1;
            }
            tmp___11 = get_value___2((struct test_entry  const  *)entry);
            puts(tmp___11);
            tmp___9 = hashmap_get_next((struct hashmap  const  *)(& map___0), (struct hashmap_entry  const  *)(& entry->ent));
            tmp___10 = container_of_or_null_offset((void *)tmp___9, (unsigned long )(& ((struct test_entry *)0)->ent));
            entry = (struct test_entry *)tmp___10;
          }
          while_break___1: /* CIL Label */ ;
          }
        } else {
          goto _L___1;
        }
      } else
      if (p1) {
        if (p2) {
          entry = alloc_test_entry(hash___0, p1, p2);
          tmp___3 = hashmap_put(& map___0, & entry->ent);
          tmp___4 = container_of_or_null_offset((void *)tmp___3, (unsigned long )(& ((struct test_entry *)0)->ent));
          entry = (struct test_entry *)tmp___4;
          if (entry) {
            tmp___5 = get_value___2((struct test_entry  const  *)entry);
            tmp___6 = tmp___5;
          } else {
            tmp___6 = (char const   *)"NULL";
          }
          puts(tmp___6);
          free((void *)entry);
        } else {
          goto _L___3;
        }
      } else {
        goto _L___3;
      }
    } else
    if (p1) {
      if (p2) {
        entry = alloc_test_entry(hash___0, p1, p2);
        hashmap_add(& map___0, & entry->ent);
      } else {
        goto _L___5;
      }
    } else {
      goto _L___5;
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& line___0);
  hashmap_clear_(& map___0, (ssize_t )((unsigned long )(& ((struct test_entry *)0)->ent)));
  return (0);
}
}
int cmd__index_version(int argc , char const   **argv___0 )
{
  struct cache_header hdr ;
  int version___0 ;
  ssize_t tmp ;
  uint32_t tmp___0 ;

  {
  memset((void *)(& hdr), 0, sizeof(hdr));
  tmp = read(0, (void *)(& hdr), sizeof(hdr));
  if ((unsigned long )tmp != sizeof(hdr)) {
    return (0);
  }
  tmp___0 = git_bswap32(hdr.hdr_version);
  version___0 = (int )tmp___0;
  printf((char const   *)"%d\n", version___0);
  return (0);
}
}
static char const   *expect_obj1  =    (char const   *)"{\"a\":\"abc\",\"b\":42,\"c\":true}";
static char const   *expect_obj2  =    (char const   *)"{\"a\":-1,\"b\":2147483647,\"c\":0}";
static char const   *expect_obj3  =    (char const   *)"{\"a\":0,\"b\":4294967295,\"c\":9223372036854775807}";
static char const   *expect_obj4  =    (char const   *)"{\"t\":true,\"f\":false,\"n\":null}";
static char const   *expect_obj5  =    (char const   *)"{\"abc\\tdef\":\"abc\\\\def\"}";
static char const   *expect_obj6  =    (char const   *)"{\"a\":3.14}";
static char const   *pretty_obj1  =    (char const   *)"{\n  \"a\": \"abc\",\n  \"b\": 42,\n  \"c\": true\n}";
static char const   *pretty_obj2  =    (char const   *)"{\n  \"a\": -1,\n  \"b\": 2147483647,\n  \"c\": 0\n}";
static char const   *pretty_obj3  =    (char const   *)"{\n  \"a\": 0,\n  \"b\": 4294967295,\n  \"c\": 9223372036854775807\n}";
static char const   *pretty_obj4  =    (char const   *)"{\n  \"t\": true,\n  \"f\": false,\n  \"n\": null\n}";
static struct json_writer obj1  =    {{0UL, 0UL, strbuf_slopbuf}, {0UL, 0UL, strbuf_slopbuf}, 0U, 0U};
static struct json_writer obj2  =    {{0UL, 0UL, strbuf_slopbuf}, {0UL, 0UL, strbuf_slopbuf}, 0U, 0U};
static struct json_writer obj3  =    {{0UL, 0UL, strbuf_slopbuf}, {0UL, 0UL, strbuf_slopbuf}, 0U, 0U};
static struct json_writer obj4  =    {{0UL, 0UL, strbuf_slopbuf}, {0UL, 0UL, strbuf_slopbuf}, 0U, 0U};
static struct json_writer obj5  =    {{0UL, 0UL, strbuf_slopbuf}, {0UL, 0UL, strbuf_slopbuf}, 0U, 0U};
static struct json_writer obj6  =    {{0UL, 0UL, strbuf_slopbuf}, {0UL, 0UL, strbuf_slopbuf}, 0U, 0U};
static void make_obj1(int pretty___0 )
{


  {
  jw_object_begin(& obj1, pretty___0);
  jw_object_string(& obj1, (char const   *)"a", (char const   *)"abc");
  jw_object_intmax(& obj1, (char const   *)"b", (intmax_t )42);
  jw_object_true(& obj1, (char const   *)"c");
  jw_end(& obj1);
  return;
}
}
static void make_obj2(int pretty___0 )
{


  {
  jw_object_begin(& obj2, pretty___0);
  jw_object_intmax(& obj2, (char const   *)"a", (intmax_t )-1);
  jw_object_intmax(& obj2, (char const   *)"b", (intmax_t )0x7fffffff);
  jw_object_intmax(& obj2, (char const   *)"c", (intmax_t )0);
  jw_end(& obj2);
  return;
}
}
static void make_obj3(int pretty___0 )
{


  {
  jw_object_begin(& obj3, pretty___0);
  jw_object_intmax(& obj3, (char const   *)"a", (intmax_t )0);
  jw_object_intmax(& obj3, (char const   *)"b", (intmax_t )0xffffffff);
  jw_object_intmax(& obj3, (char const   *)"c", (intmax_t )0x7fffffffffffffffULL);
  jw_end(& obj3);
  return;
}
}
static void make_obj4(int pretty___0 )
{


  {
  jw_object_begin(& obj4, pretty___0);
  jw_object_true(& obj4, (char const   *)"t");
  jw_object_false(& obj4, (char const   *)"f");
  jw_object_null(& obj4, (char const   *)"n");
  jw_end(& obj4);
  return;
}
}
static void make_obj5(int pretty___0 )
{


  {
  jw_object_begin(& obj5, pretty___0);
  jw_object_string(& obj5, (char const   *)"abc\tdef", (char const   *)"abc\\def");
  jw_end(& obj5);
  return;
}
}
static void make_obj6(int pretty___0 )
{


  {
  jw_object_begin(& obj6, pretty___0);
  jw_object_double(& obj6, (char const   *)"a", 2, 3.14159);
  jw_end(& obj6);
  return;
}
}
static char const   *expect_arr1  =    (char const   *)"[\"abc\",42,true]";
static char const   *expect_arr2  =    (char const   *)"[-1,2147483647,0]";
static char const   *expect_arr3  =    (char const   *)"[0,4294967295,9223372036854775807]";
static char const   *expect_arr4  =    (char const   *)"[true,false,null]";
static char const   *pretty_arr1  =    (char const   *)"[\n  \"abc\",\n  42,\n  true\n]";
static char const   *pretty_arr2  =    (char const   *)"[\n  -1,\n  2147483647,\n  0\n]";
static char const   *pretty_arr3  =    (char const   *)"[\n  0,\n  4294967295,\n  9223372036854775807\n]";
static char const   *pretty_arr4  =    (char const   *)"[\n  true,\n  false,\n  null\n]";
static struct json_writer arr1  =    {{0UL, 0UL, strbuf_slopbuf}, {0UL, 0UL, strbuf_slopbuf}, 0U, 0U};
static struct json_writer arr2  =    {{0UL, 0UL, strbuf_slopbuf}, {0UL, 0UL, strbuf_slopbuf}, 0U, 0U};
static struct json_writer arr3  =    {{0UL, 0UL, strbuf_slopbuf}, {0UL, 0UL, strbuf_slopbuf}, 0U, 0U};
static struct json_writer arr4  =    {{0UL, 0UL, strbuf_slopbuf}, {0UL, 0UL, strbuf_slopbuf}, 0U, 0U};
static void make_arr1(int pretty___0 )
{


  {
  jw_array_begin(& arr1, pretty___0);
  jw_array_string(& arr1, (char const   *)"abc");
  jw_array_intmax(& arr1, (intmax_t )42);
  jw_array_true(& arr1);
  jw_end(& arr1);
  return;
}
}
static void make_arr2(int pretty___0 )
{


  {
  jw_array_begin(& arr2, pretty___0);
  jw_array_intmax(& arr2, (intmax_t )-1);
  jw_array_intmax(& arr2, (intmax_t )0x7fffffff);
  jw_array_intmax(& arr2, (intmax_t )0);
  jw_end(& arr2);
  return;
}
}
static void make_arr3(int pretty___0 )
{


  {
  jw_array_begin(& arr3, pretty___0);
  jw_array_intmax(& arr3, (intmax_t )0);
  jw_array_intmax(& arr3, (intmax_t )0xffffffff);
  jw_array_intmax(& arr3, (intmax_t )0x7fffffffffffffffULL);
  jw_end(& arr3);
  return;
}
}
static void make_arr4(int pretty___0 )
{


  {
  jw_array_begin(& arr4, pretty___0);
  jw_array_true(& arr4);
  jw_array_false(& arr4);
  jw_array_null(& arr4);
  jw_end(& arr4);
  return;
}
}
static char *expect_nest1  =    "{\"obj1\":{\"a\":\"abc\",\"b\":42,\"c\":true},\"arr1\":[\"abc\",42,true]}";
static struct json_writer nest1  =    {{0UL, 0UL, strbuf_slopbuf}, {0UL, 0UL, strbuf_slopbuf}, 0U, 0U};
static void make_nest1(int pretty___0 )
{


  {
  jw_object_begin(& nest1, pretty___0);
  jw_object_sub_jw(& nest1, (char const   *)"obj1", (struct json_writer  const  *)(& obj1));
  jw_object_sub_jw(& nest1, (char const   *)"arr1", (struct json_writer  const  *)(& arr1));
  jw_end(& nest1);
  return;
}
}
static char *expect_inline1  =    "{\"obj1\":{\"a\":\"abc\",\"b\":42,\"c\":true},\"arr1\":[\"abc\",42,true]}";
static char *pretty_inline1  =    "{\n  \"obj1\": {\n    \"a\": \"abc\",\n    \"b\": 42,\n    \"c\": true\n  },\n  \"arr1\": [\n    \"abc\",\n    42,\n    true\n  ]\n}";
static struct json_writer inline1  =    {{0UL, 0UL, strbuf_slopbuf}, {0UL, 0UL, strbuf_slopbuf}, 0U, 0U};
static void make_inline1(int pretty___0 )
{


  {
  jw_object_begin(& inline1, pretty___0);
  jw_object_inline_begin_object(& inline1, (char const   *)"obj1");
  jw_object_string(& inline1, (char const   *)"a", (char const   *)"abc");
  jw_object_intmax(& inline1, (char const   *)"b", (intmax_t )42);
  jw_object_true(& inline1, (char const   *)"c");
  jw_end(& inline1);
  jw_object_inline_begin_array(& inline1, (char const   *)"arr1");
  jw_array_string(& inline1, (char const   *)"abc");
  jw_array_intmax(& inline1, (intmax_t )42);
  jw_array_true(& inline1);
  jw_end(& inline1);
  jw_end(& inline1);
  return;
}
}
static char *expect_inline2  =    "[[1,2],[3,4],{\"a\":\"abc\"}]";
static char *pretty_inline2  =    "[\n  [\n    1,\n    2\n  ],\n  [\n    3,\n    4\n  ],\n  {\n    \"a\": \"abc\"\n  }\n]";
static struct json_writer inline2  =    {{0UL, 0UL, strbuf_slopbuf}, {0UL, 0UL, strbuf_slopbuf}, 0U, 0U};
static void make_inline2(int pretty___0 )
{


  {
  jw_array_begin(& inline2, pretty___0);
  jw_array_inline_begin_array(& inline2);
  jw_array_intmax(& inline2, (intmax_t )1);
  jw_array_intmax(& inline2, (intmax_t )2);
  jw_end(& inline2);
  jw_array_inline_begin_array(& inline2);
  jw_array_intmax(& inline2, (intmax_t )3);
  jw_array_intmax(& inline2, (intmax_t )4);
  jw_end(& inline2);
  jw_array_inline_begin_object(& inline2);
  jw_object_string(& inline2, (char const   *)"a", (char const   *)"abc");
  jw_end(& inline2);
  jw_end(& inline2);
  return;
}
}
static char const   *expect_mixed1  =    (char const   *)"{\"obj1\":{\"a\":\"abc\",\"b\":42,\"c\":true},\"arr1\":[\"abc\",42,true]}";
static char const   *pretty_mixed1  =    (char const   *)"{\n  \"obj1\": {\"a\":\"abc\",\"b\":42,\"c\":true},\n  \"arr1\": [\n    \"abc\",\n    42,\n    true\n  ]\n}";
static struct json_writer mixed1  =    {{0UL, 0UL, strbuf_slopbuf}, {0UL, 0UL, strbuf_slopbuf}, 0U, 0U};
static void make_mixed1(int pretty___0 )
{


  {
  jw_init(& obj1);
  jw_init(& arr1);
  make_obj1(0);
  make_arr1(1);
  jw_object_begin(& mixed1, pretty___0);
  jw_object_sub_jw(& mixed1, (char const   *)"obj1", (struct json_writer  const  *)(& obj1));
  jw_object_sub_jw(& mixed1, (char const   *)"arr1", (struct json_writer  const  *)(& arr1));
  jw_end(& mixed1);
  return;
}
}
static void cmp(char const   *test___0 , struct json_writer  const  *jw , char const   *exp )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp = strcmp((char const   *)jw->json.buf, exp);
  if (! tmp) {
    return;
  }
  printf((char const   *)"error[%s]: observed \'%s\' expected \'%s\'\n", test___0,
         jw->json.buf, exp);
  tmp___0 = trace2_cmd_exit_fl((char const   *)"t/helper/test-json-writer.c", 325,
                               1);
  exit(tmp___0);
}
}
static int unit_tests(void)
{


  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    make_obj1(0);
    cmp((char const   *)"obj1", (struct json_writer  const  *)(& obj1), expect_obj1);
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    make_obj2(0);
    cmp((char const   *)"obj2", (struct json_writer  const  *)(& obj2), expect_obj2);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    make_obj3(0);
    cmp((char const   *)"obj3", (struct json_writer  const  *)(& obj3), expect_obj3);
    goto while_break___1;
  }
  while_break___1: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___2: /* CIL Label */ ;
    make_obj4(0);
    cmp((char const   *)"obj4", (struct json_writer  const  *)(& obj4), expect_obj4);
    goto while_break___2;
  }
  while_break___2: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___3: /* CIL Label */ ;
    make_obj5(0);
    cmp((char const   *)"obj5", (struct json_writer  const  *)(& obj5), expect_obj5);
    goto while_break___3;
  }
  while_break___3: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___4: /* CIL Label */ ;
    make_obj6(0);
    cmp((char const   *)"obj6", (struct json_writer  const  *)(& obj6), expect_obj6);
    goto while_break___4;
  }
  while_break___4: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___5: /* CIL Label */ ;
    make_arr1(0);
    cmp((char const   *)"arr1", (struct json_writer  const  *)(& arr1), expect_arr1);
    goto while_break___5;
  }
  while_break___5: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___6: /* CIL Label */ ;
    make_arr2(0);
    cmp((char const   *)"arr2", (struct json_writer  const  *)(& arr2), expect_arr2);
    goto while_break___6;
  }
  while_break___6: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___7: /* CIL Label */ ;
    make_arr3(0);
    cmp((char const   *)"arr3", (struct json_writer  const  *)(& arr3), expect_arr3);
    goto while_break___7;
  }
  while_break___7: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___8: /* CIL Label */ ;
    make_arr4(0);
    cmp((char const   *)"arr4", (struct json_writer  const  *)(& arr4), expect_arr4);
    goto while_break___8;
  }
  while_break___8: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___9: /* CIL Label */ ;
    make_nest1(0);
    cmp((char const   *)"nest1", (struct json_writer  const  *)(& nest1), (char const   *)expect_nest1);
    goto while_break___9;
  }
  while_break___9: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___10: /* CIL Label */ ;
    make_inline1(0);
    cmp((char const   *)"inline1", (struct json_writer  const  *)(& inline1), (char const   *)expect_inline1);
    goto while_break___10;
  }
  while_break___10: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___11: /* CIL Label */ ;
    make_inline2(0);
    cmp((char const   *)"inline2", (struct json_writer  const  *)(& inline2), (char const   *)expect_inline2);
    goto while_break___11;
  }
  while_break___11: /* CIL Label */ ;
  }
  jw_init(& obj1);
  jw_init(& obj2);
  jw_init(& obj3);
  jw_init(& obj4);
  jw_init(& arr1);
  jw_init(& arr2);
  jw_init(& arr3);
  jw_init(& arr4);
  jw_init(& inline1);
  jw_init(& inline2);
  {
  while (1) {
    while_continue___12: /* CIL Label */ ;
    make_obj1(1);
    cmp((char const   *)"obj1", (struct json_writer  const  *)(& obj1), pretty_obj1);
    goto while_break___12;
  }
  while_break___12: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___13: /* CIL Label */ ;
    make_obj2(1);
    cmp((char const   *)"obj2", (struct json_writer  const  *)(& obj2), pretty_obj2);
    goto while_break___13;
  }
  while_break___13: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___14: /* CIL Label */ ;
    make_obj3(1);
    cmp((char const   *)"obj3", (struct json_writer  const  *)(& obj3), pretty_obj3);
    goto while_break___14;
  }
  while_break___14: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___15: /* CIL Label */ ;
    make_obj4(1);
    cmp((char const   *)"obj4", (struct json_writer  const  *)(& obj4), pretty_obj4);
    goto while_break___15;
  }
  while_break___15: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___16: /* CIL Label */ ;
    make_arr1(1);
    cmp((char const   *)"arr1", (struct json_writer  const  *)(& arr1), pretty_arr1);
    goto while_break___16;
  }
  while_break___16: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___17: /* CIL Label */ ;
    make_arr2(1);
    cmp((char const   *)"arr2", (struct json_writer  const  *)(& arr2), pretty_arr2);
    goto while_break___17;
  }
  while_break___17: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___18: /* CIL Label */ ;
    make_arr3(1);
    cmp((char const   *)"arr3", (struct json_writer  const  *)(& arr3), pretty_arr3);
    goto while_break___18;
  }
  while_break___18: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___19: /* CIL Label */ ;
    make_arr4(1);
    cmp((char const   *)"arr4", (struct json_writer  const  *)(& arr4), pretty_arr4);
    goto while_break___19;
  }
  while_break___19: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___20: /* CIL Label */ ;
    make_inline1(1);
    cmp((char const   *)"inline1", (struct json_writer  const  *)(& inline1), (char const   *)pretty_inline1);
    goto while_break___20;
  }
  while_break___20: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___21: /* CIL Label */ ;
    make_inline2(1);
    cmp((char const   *)"inline2", (struct json_writer  const  *)(& inline2), (char const   *)pretty_inline2);
    goto while_break___21;
  }
  while_break___21: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___22: /* CIL Label */ ;
    make_mixed1(0);
    cmp((char const   *)"mixed1", (struct json_writer  const  *)(& mixed1), expect_mixed1);
    goto while_break___22;
  }
  while_break___22: /* CIL Label */ ;
  }
  jw_init(& mixed1);
  {
  while (1) {
    while_continue___23: /* CIL Label */ ;
    make_mixed1(1);
    cmp((char const   *)"mixed1", (struct json_writer  const  *)(& mixed1), pretty_mixed1);
    goto while_break___23;
  }
  while_break___23: /* CIL Label */ ;
  }
  return (0);
}
}
static void get_s(int line_nr , char **s_in )
{


  {
  *s_in = strtok((char * __restrict  )((void *)0), (char const   * __restrict  )" ");
  if (! *s_in) {
    die((char const   *)"line[%d]: expected: <s>", line_nr);
  }
  return;
}
}
static void get_i(int line_nr , intmax_t *s_in )
{
  char *s___1 ;
  char *endptr ;
  int *tmp ;

  {
  get_s(line_nr, & s___1);
  *s_in = strtol((char const   * __restrict  )s___1, (char ** __restrict  )(& endptr),
                 10);
  if (*endptr) {
    die((char const   *)"line[%d]: invalid integer value", line_nr);
  } else {
    tmp = __errno_location();
    if (*tmp == 34) {
      die((char const   *)"line[%d]: invalid integer value", line_nr);
    }
  }
  return;
}
}
static void get_d(int line_nr , double *s_in )
{
  char *s___1 ;
  char *endptr ;
  int *tmp ;

  {
  get_s(line_nr, & s___1);
  *s_in = strtod((char const   * __restrict  )s___1, (char ** __restrict  )(& endptr));
  if (*endptr) {
    die((char const   *)"line[%d]: invalid float value", line_nr);
  } else {
    tmp = __errno_location();
    if (*tmp == 34) {
      die((char const   *)"line[%d]: invalid float value", line_nr);
    }
  }
  return;
}
}
static int pretty  ;
static char *get_trimmed_line(char *buf___19 , int buf_size )
{
  int len___0 ;
  char *tmp ;
  size_t tmp___0 ;
  char c___0 ;

  {
  tmp = fgets(buf___19, buf_size, stdin);
  if (! tmp) {
    return ((char *)((void *)0));
  }
  tmp___0 = strlen((char const   *)buf___19);
  len___0 = (int )tmp___0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (len___0 > 0)) {
      goto while_break;
    }
    c___0 = *(buf___19 + (len___0 - 1));
    if ((int )c___0 == 10) {
      len___0 --;
      *(buf___19 + len___0) = (char)0;
    } else
    if ((int )c___0 == 13) {
      len___0 --;
      *(buf___19 + len___0) = (char)0;
    } else
    if ((int )c___0 == 32) {
      len___0 --;
      *(buf___19 + len___0) = (char)0;
    } else
    if ((int )c___0 == 9) {
      len___0 --;
      *(buf___19 + len___0) = (char)0;
    } else {
      goto while_break;
    }
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((int )*buf___19 == 32)) {
      if (! ((int )*buf___19 == 9)) {
        goto while_break___0;
      }
    }
    buf___19 ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (buf___19);
}
}
static int scripted(void)
{
  struct json_writer jw ;
  char buf___19[65536] ;
  char *line___0 ;
  int line_nr ;
  int tmp ;
  int tmp___0 ;
  char *verb ;
  char *key___1 ;
  char *s_value ;
  intmax_t i_value ;
  double d_value ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;

  {
  jw.json.alloc = 0UL;
  jw.json.len = 0UL;
  jw.json.buf = strbuf_slopbuf;
  jw.open_stack.alloc = 0UL;
  jw.open_stack.len = 0UL;
  jw.open_stack.buf = strbuf_slopbuf;
  jw.need_comma = 0U;
  jw.pretty = 0U;
  line_nr = 0;
  line___0 = get_trimmed_line(buf___19, 65536);
  if (! line___0) {
    return (0);
  }
  tmp___0 = strcmp((char const   *)line___0, (char const   *)"object");
  if (tmp___0) {
    tmp = strcmp((char const   *)line___0, (char const   *)"array");
    if (tmp) {
      die((char const   *)"expected first line to be \'object\' or \'array\'");
    } else {
      jw_array_begin(& jw, pretty);
    }
  } else {
    jw_object_begin(& jw, pretty);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    line___0 = get_trimmed_line(buf___19, 65536);
    if (! ((unsigned long )line___0 != (unsigned long )((void *)0))) {
      goto while_break;
    }
    line_nr ++;
    verb = strtok((char * __restrict  )line___0, (char const   * __restrict  )" ");
    tmp___17 = strcmp((char const   *)verb, (char const   *)"end");
    if (tmp___17) {
      tmp___16 = strcmp((char const   *)verb, (char const   *)"object-string");
      if (tmp___16) {
        tmp___15 = strcmp((char const   *)verb, (char const   *)"object-int");
        if (tmp___15) {
          tmp___14 = strcmp((char const   *)verb, (char const   *)"object-double");
          if (tmp___14) {
            tmp___13 = strcmp((char const   *)verb, (char const   *)"object-true");
            if (tmp___13) {
              tmp___12 = strcmp((char const   *)verb, (char const   *)"object-false");
              if (tmp___12) {
                tmp___11 = strcmp((char const   *)verb, (char const   *)"object-null");
                if (tmp___11) {
                  tmp___10 = strcmp((char const   *)verb, (char const   *)"object-object");
                  if (tmp___10) {
                    tmp___9 = strcmp((char const   *)verb, (char const   *)"object-array");
                    if (tmp___9) {
                      tmp___8 = strcmp((char const   *)verb, (char const   *)"array-string");
                      if (tmp___8) {
                        tmp___7 = strcmp((char const   *)verb, (char const   *)"array-int");
                        if (tmp___7) {
                          tmp___6 = strcmp((char const   *)verb, (char const   *)"array-double");
                          if (tmp___6) {
                            tmp___5 = strcmp((char const   *)verb, (char const   *)"array-true");
                            if (tmp___5) {
                              tmp___4 = strcmp((char const   *)verb, (char const   *)"array-false");
                              if (tmp___4) {
                                tmp___3 = strcmp((char const   *)verb, (char const   *)"array-null");
                                if (tmp___3) {
                                  tmp___2 = strcmp((char const   *)verb, (char const   *)"array-object");
                                  if (tmp___2) {
                                    tmp___1 = strcmp((char const   *)verb, (char const   *)"array-array");
                                    if (tmp___1) {
                                      die((char const   *)"unrecognized token: \'%s\'",
                                          verb);
                                    } else {
                                      jw_array_inline_begin_array(& jw);
                                    }
                                  } else {
                                    jw_array_inline_begin_object(& jw);
                                  }
                                } else {
                                  jw_array_null(& jw);
                                }
                              } else {
                                jw_array_false(& jw);
                              }
                            } else {
                              jw_array_true(& jw);
                            }
                          } else {
                            get_i(line_nr, & i_value);
                            get_d(line_nr, & d_value);
                            jw_array_double(& jw, (int )i_value, d_value);
                          }
                        } else {
                          get_i(line_nr, & i_value);
                          jw_array_intmax(& jw, i_value);
                        }
                      } else {
                        get_s(line_nr, & s_value);
                        jw_array_string(& jw, (char const   *)s_value);
                      }
                    } else {
                      get_s(line_nr, & key___1);
                      jw_object_inline_begin_array(& jw, (char const   *)key___1);
                    }
                  } else {
                    get_s(line_nr, & key___1);
                    jw_object_inline_begin_object(& jw, (char const   *)key___1);
                  }
                } else {
                  get_s(line_nr, & key___1);
                  jw_object_null(& jw, (char const   *)key___1);
                }
              } else {
                get_s(line_nr, & key___1);
                jw_object_false(& jw, (char const   *)key___1);
              }
            } else {
              get_s(line_nr, & key___1);
              jw_object_true(& jw, (char const   *)key___1);
            }
          } else {
            get_s(line_nr, & key___1);
            get_i(line_nr, & i_value);
            get_d(line_nr, & d_value);
            jw_object_double(& jw, (char const   *)key___1, (int )i_value, d_value);
          }
        } else {
          get_s(line_nr, & key___1);
          get_i(line_nr, & i_value);
          jw_object_intmax(& jw, (char const   *)key___1, i_value);
        }
      } else {
        get_s(line_nr, & key___1);
        get_s(line_nr, & s_value);
        jw_object_string(& jw, (char const   *)key___1, (char const   *)s_value);
      }
    } else {
      jw_end(& jw);
    }
  }
  while_break: /* CIL Label */ ;
  }
  tmp___18 = jw_is_terminated((struct json_writer  const  *)(& jw));
  if (! tmp___18) {
    die((char const   *)"json not terminated: \'%s\'", jw.json.buf);
  }
  printf((char const   *)"%s\n", jw.json.buf);
  strbuf_release(& jw.json);
  return (0);
}
}
int cmd__json_writer(int argc , char const   **argv___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  argc --;
  argv___0 ++;
  if (argc > 0) {
    if ((int const   )*(*(argv___0 + 0) + 0) == 45) {
      tmp___0 = strcmp(*(argv___0 + 0), (char const   *)"-u");
      if (tmp___0) {
        tmp___1 = strcmp(*(argv___0 + 0), (char const   *)"--unit");
        if (! tmp___1) {
          tmp = unit_tests();
          return (tmp);
        }
      } else {
        tmp = unit_tests();
        return (tmp);
      }
      tmp___2 = strcmp(*(argv___0 + 0), (char const   *)"-p");
      if (tmp___2) {
        tmp___3 = strcmp(*(argv___0 + 0), (char const   *)"--pretty");
        if (! tmp___3) {
          pretty = 1;
        }
      } else {
        pretty = 1;
      }
    }
  }
  tmp___4 = scripted();
  return (tmp___4);
}
}
static int single  ;
static int multi  ;
static int count  =    1;
static int dump___0  ;
static int perf  ;
static int analyze  ;
static int analyze_step  ;
static void dump_run(void)
{
  struct hashmap_iter iter_dir ;
  struct hashmap_iter iter_cache ;
  struct dir_entry___0 *dir ;
  struct cache_entry *ce ;
  int nr_threads_used ;
  int tmp ;
  struct hashmap_entry *tmp___0 ;
  void *tmp___1 ;
  struct hashmap_entry *tmp___2 ;
  void *tmp___3 ;
  struct hashmap_entry *tmp___4 ;
  void *tmp___5 ;
  struct hashmap_entry *tmp___6 ;
  void *tmp___7 ;

  {
  repo_read_index(the_repository);
  if (single) {
    test_lazy_init_name_hash(& the_index, 0);
  } else {
    tmp = test_lazy_init_name_hash(& the_index, 1);
    nr_threads_used = tmp;
    if (! nr_threads_used) {
      die((char const   *)"non-threaded code path used");
    }
  }
  dir = (struct dir_entry___0 *)((void *)0);
  tmp___0 = hashmap_iter_first(& the_index.dir_hash, & iter_dir);
  tmp___1 = container_of_or_null_offset((void *)tmp___0, (unsigned long )(& ((struct dir_entry___0 *)0)->ent));
  dir = (struct dir_entry___0 *)tmp___1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! dir) {
      goto while_break;
    }
    printf((char const   *)"dir %08x %7d %s\n", dir->ent.hash, dir->nr, dir->name);
    tmp___2 = hashmap_iter_next(& iter_dir);
    tmp___3 = container_of_or_null_offset((void *)tmp___2, (unsigned long )(& ((struct dir_entry___0 *)0)->ent));
    dir = (struct dir_entry___0 *)tmp___3;
  }
  while_break: /* CIL Label */ ;
  }
  ce = (struct cache_entry *)((void *)0);
  tmp___4 = hashmap_iter_first(& the_index.name_hash, & iter_cache);
  tmp___5 = container_of_or_null_offset((void *)tmp___4, (unsigned long )(& ((struct cache_entry *)0)->ent));
  ce = (struct cache_entry *)tmp___5;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ce) {
      goto while_break___0;
    }
    printf((char const   *)"name %08x %s\n", ce->ent.hash, ce->name);
    tmp___6 = hashmap_iter_next(& iter_cache);
    tmp___7 = container_of_or_null_offset((void *)tmp___6, (unsigned long )(& ((struct cache_entry *)0)->ent));
    ce = (struct cache_entry *)tmp___7;
  }
  while_break___0: /* CIL Label */ ;
  }
  discard_index(& the_index);
  return;
}
}
static uint64_t time_runs(int try_threaded )
{
  uint64_t t0 ;
  uint64_t t1 ;
  uint64_t t2 ;
  uint64_t sum ;
  uint64_t avg ;
  int nr_threads_used ;
  int i ;
  char *tmp ;

  {
  sum = (uint64_t )0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < count)) {
      goto while_break;
    }
    t0 = getnanotime();
    repo_read_index(the_repository);
    t1 = getnanotime();
    nr_threads_used = test_lazy_init_name_hash(& the_index, try_threaded);
    t2 = getnanotime();
    sum += t2 - t1;
    if (try_threaded) {
      if (! nr_threads_used) {
        die((char const   *)"non-threaded code path used");
      }
    }
    if (nr_threads_used) {
      printf((char const   *)"%f %f %d multi %d\n", (double )(t1 - t0) / (double )1000000000,
             (double )(t2 - t1) / (double )1000000000, the_index.cache_nr, nr_threads_used);
    } else {
      printf((char const   *)"%f %f %d single\n", (double )(t1 - t0) / (double )1000000000,
             (double )(t2 - t1) / (double )1000000000, the_index.cache_nr);
    }
    fflush(stdout);
    discard_index(& the_index);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  avg = sum / (uint64_t )count;
  if (count > 1) {
    if (try_threaded) {
      tmp = "multi";
    } else {
      tmp = "single";
    }
    printf((char const   *)"avg %f %s\n", (double )avg / (double )1000000000, tmp);
  }
  return (avg);
}
}
static void analyze_run(void)
{
  uint64_t t1s ;
  uint64_t t1m ;
  uint64_t t2s ;
  uint64_t t2m ;
  int cache_nr_limit ;
  int nr_threads_used ;
  int i ;
  int nr___0 ;
  uint64_t sum_single ;
  uint64_t sum_multi ;
  uint64_t avg_single ;
  uint64_t avg_multi ;
  int tmp ;
  int tmp___0 ;

  {
  nr_threads_used = 0;
  repo_read_index(the_repository);
  cache_nr_limit = (int )the_index.cache_nr;
  discard_index(& the_index);
  nr___0 = analyze;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    sum_single = (uint64_t )0;
    sum_multi = (uint64_t )0;
    if (nr___0 > cache_nr_limit) {
      nr___0 = cache_nr_limit;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < count)) {
        goto while_break___0;
      }
      repo_read_index(the_repository);
      the_index.cache_nr = (unsigned int )nr___0;
      t1s = getnanotime();
      test_lazy_init_name_hash(& the_index, 0);
      t2s = getnanotime();
      sum_single += t2s - t1s;
      the_index.cache_nr = (unsigned int )cache_nr_limit;
      discard_index(& the_index);
      repo_read_index(the_repository);
      the_index.cache_nr = (unsigned int )nr___0;
      t1m = getnanotime();
      nr_threads_used = test_lazy_init_name_hash(& the_index, 1);
      t2m = getnanotime();
      sum_multi += t2m - t1m;
      the_index.cache_nr = (unsigned int )cache_nr_limit;
      discard_index(& the_index);
      if (! nr_threads_used) {
        printf((char const   *)"    [size %8d] [single %f]   non-threaded code path used\n",
               nr___0, (double )(t2s - t1s) / (double )1000000000);
      } else {
        if (t2s - t1s < t2m - t1m) {
          tmp = '<';
        } else {
          tmp = '>';
        }
        printf((char const   *)"    [size %8d] [single %f] %c [multi %f %d]\n", nr___0,
               (double )(t2s - t1s) / (double )1000000000, tmp, (double )(t2m - t1m) / (double )1000000000,
               nr_threads_used);
      }
      fflush(stdout);
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (count > 1) {
      avg_single = sum_single / (uint64_t )count;
      avg_multi = sum_multi / (uint64_t )count;
      if (! nr_threads_used) {
        printf((char const   *)"avg [size %8d] [single %f]\n", nr___0, (double )avg_single / (double )1000000000);
      } else {
        if (avg_single < avg_multi) {
          tmp___0 = '<';
        } else {
          tmp___0 = '>';
        }
        printf((char const   *)"avg [size %8d] [single %f] %c [multi %f %d]\n", nr___0,
               (double )avg_single / (double )1000000000, tmp___0, (double )avg_multi / (double )1000000000,
               nr_threads_used);
      }
      fflush(stdout);
    }
    if (nr___0 >= cache_nr_limit) {
      return;
    }
    nr___0 += analyze_step;
  }
  while_break: /* CIL Label */ ;
  }
}
}
int cmd__lazy_init_name_hash(int argc , char const   **argv___0 )
{
  char const   *usage___2[6] ;
  struct option options[8] ;
  char const   *prefix___1 ;
  uint64_t avg_single ;
  uint64_t avg_multi ;

  {
  usage___2[0] = (char const   *)"test-tool lazy-init-name-hash -d (-s | -m)";
  usage___2[1] = (char const   *)"test-tool lazy-init-name-hash -p [-c c]";
  usage___2[2] = (char const   *)"test-tool lazy-init-name-hash -a a [--step s] [-c c]";
  usage___2[3] = (char const   *)"test-tool lazy-init-name-hash (-s | -m) [-c c]";
  usage___2[4] = (char const   *)"test-tool lazy-init-name-hash -s -m [-c c]";
  usage___2[5] = (char const   *)((void *)0);
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 's';
  options[0].long_name = (char const   *)"single";
  options[0].value = (void *)(& single);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"run single-threaded code";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 'm';
  options[1].long_name = (char const   *)"multi";
  options[1].value = (void *)(& multi);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"run multi-threaded code";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )10;
  options[2].short_name = 'c';
  options[2].long_name = (char const   *)"count";
  options[2].value = (void *)(& count);
  options[2].argh = (char const   *)"n";
  options[2].help = (char const   *)"number of passes";
  options[2].flags = (enum parse_opt_option_flags )0;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 'd';
  options[3].long_name = (char const   *)"dump";
  options[3].value = (void *)(& dump___0);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"dump hash tables";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )1;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 'p';
  options[4].long_name = (char const   *)"perf";
  options[4].value = (void *)(& perf);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"compare single vs multi";
  options[4].flags = (enum parse_opt_option_flags )2;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )1;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )10;
  options[5].short_name = 'a';
  options[5].long_name = (char const   *)"analyze";
  options[5].value = (void *)(& analyze);
  options[5].argh = (char const   *)"n";
  options[5].help = (char const   *)"analyze different multi sizes";
  options[5].flags = (enum parse_opt_option_flags )0;
  options[5].callback = (parse_opt_cb *)0;
  options[5].defval = 0L;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )10;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)"step";
  options[6].value = (void *)(& analyze_step);
  options[6].argh = (char const   *)"n";
  options[6].help = (char const   *)"analyze step factor";
  options[6].flags = (enum parse_opt_option_flags )0;
  options[6].callback = (parse_opt_cb *)0;
  options[6].defval = 0L;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )0;
  options[7].short_name = 0;
  options[7].long_name = (char const   *)0;
  options[7].value = (void *)0;
  options[7].argh = (char const   *)0;
  options[7].help = (char const   *)0;
  options[7].flags = 0U;
  options[7].callback = (parse_opt_cb *)0;
  options[7].defval = 0L;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  prefix___1 = setup_git_directory();
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       (char const   **)(usage___2), (enum parse_opt_flags )0);
  ignore_case = 1;
  if (dump___0) {
    if (perf) {
      die((char const   *)"cannot combine dump, perf, or analyze");
    } else
    if (analyze > 0) {
      die((char const   *)"cannot combine dump, perf, or analyze");
    }
    if (count > 1) {
      die((char const   *)"count not valid with dump");
    }
    if (single) {
      if (multi) {
        die((char const   *)"cannot use both single and multi with dump");
      }
    }
    if (! single) {
      if (! multi) {
        die((char const   *)"dump requires either single or multi");
      }
    }
    dump_run();
    return (0);
  }
  if (perf) {
    if (analyze > 0) {
      die((char const   *)"cannot combine dump, perf, or analyze");
    }
    if (single) {
      die((char const   *)"cannot use single or multi with perf");
    } else
    if (multi) {
      die((char const   *)"cannot use single or multi with perf");
    }
    avg_single = time_runs(0);
    avg_multi = time_runs(1);
    if (avg_multi > avg_single) {
      die((char const   *)"multi is slower");
    }
    return (0);
  }
  if (analyze) {
    if (analyze < 500) {
      die((char const   *)"analyze must be at least 500");
    }
    if (! analyze_step) {
      analyze_step = analyze;
    }
    if (single) {
      die((char const   *)"cannot use single or multi with analyze");
    } else
    if (multi) {
      die((char const   *)"cannot use single or multi with analyze");
    }
    analyze_run();
    return (0);
  }
  if (! single) {
    if (! multi) {
      die((char const   *)"require either -s or -m or both");
    }
  }
  if (single) {
    time_runs(0);
  }
  if (multi) {
    time_runs(1);
  }
  return (0);
}
}
int cmd__match_trees(int ac , char const   **av )
{
  struct object_id hash1 ;
  struct object_id hash2 ;
  struct object_id shifted ;
  struct tree *one___0 ;
  struct tree *two___0 ;
  int tmp ;
  int tmp___0 ;
  char *tmp___1 ;

  {
  setup_git_directory();
  tmp = repo_get_oid(the_repository, *(av + 1), & hash1);
  if (tmp) {
    die((char const   *)"cannot parse %s as an object name", *(av + 1));
  }
  tmp___0 = repo_get_oid(the_repository, *(av + 2), & hash2);
  if (tmp___0) {
    die((char const   *)"cannot parse %s as an object name", *(av + 2));
  }
  one___0 = parse_tree_indirect((struct object_id  const  *)(& hash1));
  if (! one___0) {
    die((char const   *)"not a tree-ish %s", *(av + 1));
  }
  two___0 = parse_tree_indirect((struct object_id  const  *)(& hash2));
  if (! two___0) {
    die((char const   *)"not a tree-ish %s", *(av + 2));
  }
  shift_tree(the_repository, (struct object_id  const  *)(& one___0->object.oid),
             (struct object_id  const  *)(& two___0->object.oid), & shifted, -1);
  tmp___1 = oid_to_hex((struct object_id  const  *)(& shifted));
  printf((char const   *)"shifted: %s\n", tmp___1);
  return (0);
}
}
static uint32_t minstd_rand(uint32_t *state___1 )
{


  {
  *state___1 = (uint32_t )(((uint64_t )*state___1 * 48271UL) % 2147483647UL);
  return (*state___1);
}
}
static void *get_next(void const   *a )
{


  {
  return ((void *)((struct line___0  const  *)a)->next);
}
}
static void set_next(void *a , void *b___0 )
{


  {
  ((struct line___0 *)a)->next = (struct line___0 *)b___0;
  return;
}
}
static int compare_strings(void const   *a , void const   *b___0 )
{
  struct line___0  const  *x ;
  struct line___0  const  *y ;
  int tmp ;

  {
  x = (struct line___0  const  *)a;
  y = (struct line___0  const  *)b___0;
  tmp = strcmp((char const   *)x->text, (char const   *)y->text);
  return (tmp);
}
}
static int sort_stdin(void)
{
  struct line___0 *line___0 ;
  struct line___0 *p___0 ;
  struct line___0 *lines ;
  struct strbuf sb___6 ;
  void *tmp ;
  int tmp___0 ;
  void *tmp___1 ;

  {
  p___0 = (struct line___0 *)((void *)0);
  lines = (struct line___0 *)((void *)0);
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___0 = strbuf_getline(& sb___6, stdin);
    if (tmp___0) {
      goto while_break;
    }
    tmp = xmalloc(sizeof(struct line___0 ));
    line___0 = (struct line___0 *)tmp;
    line___0->text = strbuf_detach(& sb___6, (size_t *)((void *)0));
    if (p___0) {
      line___0->next = p___0->next;
      p___0->next = line___0;
    } else {
      line___0->next = (struct line___0 *)((void *)0);
      lines = line___0;
    }
    p___0 = line___0;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___1 = llist_mergesort((void *)lines, & get_next, & set_next, & compare_strings);
  lines = (struct line___0 *)tmp___1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! lines) {
      goto while_break___0;
    }
    puts((char const   *)lines->text);
    lines = lines->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  return (0);
}
}
static void dist_sawtooth(int *arr , int n , int m )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    *(arr + i) = i % m;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void dist_rand(int *arr , int n , int m )
{
  int i ;
  uint32_t seed ;
  uint32_t tmp ;

  {
  seed = (uint32_t )1;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    tmp = minstd_rand(& seed);
    *(arr + i) = (int )(tmp % (unsigned int )m);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void dist_stagger(int *arr , int n , int m )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    *(arr + i) = (i * m + i) % n;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void dist_plateau(int *arr , int n , int m )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    if (i < m) {
      *(arr + i) = i;
    } else {
      *(arr + i) = m;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void dist_shuffle(int *arr , int n , int m )
{
  int i ;
  int j ;
  int k ;
  uint32_t seed ;
  uint32_t tmp ;
  uint32_t tmp___0 ;

  {
  seed = (uint32_t )1;
  j = 0;
  i = j;
  k = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    tmp___0 = minstd_rand(& seed);
    if (tmp___0 % (unsigned int )m) {
      j += 2;
      *(arr + i) = j;
    } else {
      k += 2;
      *(arr + i) = k;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static struct dist dist[5]  = {      {(char const   *)"sawtooth", & dist_sawtooth},
        {(char const   *)"rand", & dist_rand},
        {(char const   *)"stagger", & dist_stagger},
        {(char const   *)"plateau", & dist_plateau},
        {(char const   *)"shuffle", & dist_shuffle}};
static struct dist  const  *get_dist_by_name(char const   *name___0 )
{
  int i ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(dist) / sizeof(dist[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp = strcmp(dist[i].name, name___0);
    if (! tmp) {
      return ((struct dist  const  *)(& dist[i]));
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct dist  const  *)((void *)0));
}
}
static void mode_copy(int *arr , int n )
{


  {
  return;
}
}
static void mode_reverse(int *arr , int n )
{
  int i ;
  int j ;
  void *_swap_a_ptr ;
  void *_swap_b_ptr ;
  unsigned char _swap_buffer[sizeof(*(arr + i))] ;

  {
  i = 0;
  j = n - 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < j)) {
      goto while_break;
    }
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      _swap_a_ptr = (void *)(arr + i);
      _swap_b_ptr = (void *)(arr + j);
      memcpy((void *)(_swap_buffer), (void const   *)_swap_a_ptr, sizeof(*(arr + i)));
      memcpy(_swap_a_ptr, (void const   *)_swap_b_ptr, sizeof(*(arr + i)) + (sizeof(char [1]) - 1UL));
      memcpy(_swap_b_ptr, (void const   *)(_swap_buffer), sizeof(*(arr + i)));
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    i ++;
    j --;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void mode_reverse_1st_half(int *arr , int n )
{


  {
  mode_reverse(arr, n / 2);
  return;
}
}
static void mode_reverse_2nd_half(int *arr , int n )
{
  int half ;

  {
  half = n / 2;
  mode_reverse(arr + half, n - half);
  return;
}
}
static int compare_ints(void const   *av , void const   *bv )
{
  int const   *ap ;
  int const   *bp ;
  int a ;
  int b___0 ;

  {
  ap = (int const   *)av;
  bp = (int const   *)bv;
  a = (int )*ap;
  b___0 = (int )*bp;
  return ((a > b___0) - (a < b___0));
}
}
static void mode_sort(int *arr , int n )
{


  {
  sane_qsort((void *)arr, (size_t )n, sizeof(*arr), & compare_ints);
  return;
}
}
static void mode_dither(int *arr , int n )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    *(arr + i) += i % 5;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void unriffle(int *arr , int n , int *tmp )
{
  int i ;
  int j ;
  int tmp___0 ;
  int tmp___1 ;

  {
  copy_array((void *)tmp, (void const   *)arr, (size_t )n, sizeof(*tmp) + (sizeof(char [1]) - 1UL));
  j = 0;
  i = j;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    tmp___0 = j;
    j ++;
    *(arr + tmp___0) = *(tmp + i);
    i += 2;
  }
  while_break: /* CIL Label */ ;
  }
  i = 1;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break___0;
    }
    tmp___1 = j;
    j ++;
    *(arr + tmp___1) = *(tmp + i);
    i += 2;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void unriffle_recursively(int *arr , int n , int *tmp )
{
  int half ;

  {
  if (n > 1) {
    half = n / 2;
    unriffle(arr, n, tmp);
    unriffle_recursively(arr, half, tmp);
    unriffle_recursively(arr + half, n - half, tmp);
  }
  return;
}
}
static void mode_unriffle(int *arr , int n )
{
  int *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  tmp___0 = st_mult(sizeof(*tmp), (size_t )n);
  tmp___1 = xmalloc(tmp___0);
  tmp = (int *)tmp___1;
  unriffle_recursively(arr, n, tmp);
  free((void *)tmp);
  return;
}
}
static unsigned int prev_pow2(unsigned int n )
{
  unsigned int pow2 ;

  {
  pow2 = 1U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (pow2 * 2U < n)) {
      goto while_break;
    }
    pow2 *= 2U;
  }
  while_break: /* CIL Label */ ;
  }
  return (pow2);
}
}
static void unriffle_recursively_skewed(int *arr , int n , int *tmp )
{
  int pow2 ;
  unsigned int tmp___0 ;
  int rest ;

  {
  if (n > 1) {
    tmp___0 = prev_pow2((unsigned int )n);
    pow2 = (int )tmp___0;
    rest = n - pow2;
    unriffle((arr + pow2) - rest, rest * 2, tmp);
    unriffle_recursively_skewed(arr, pow2, tmp);
    unriffle_recursively_skewed(arr + pow2, rest, tmp);
  }
  return;
}
}
static void mode_unriffle_skewed(int *arr , int n )
{
  int *tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;

  {
  tmp___0 = st_mult(sizeof(*tmp), (size_t )n);
  tmp___1 = xmalloc(tmp___0);
  tmp = (int *)tmp___1;
  unriffle_recursively_skewed(arr, n, tmp);
  free((void *)tmp);
  return;
}
}
static struct mode mode___0[8]  =
  {      {(char const   *)"copy", & mode_copy},
        {(char const   *)"reverse", & mode_reverse},
        {(char const   *)"reverse_1st_half", & mode_reverse_1st_half},
        {(char const   *)"reverse_2nd_half", & mode_reverse_2nd_half},
        {(char const   *)"sort", & mode_sort},
        {(char const   *)"dither", & mode_dither},
        {(char const   *)"unriffle", & mode_unriffle},
        {(char const   *)"unriffle_skewed", & mode_unriffle_skewed}};
static struct mode  const  *get_mode_by_name(char const   *name___0 )
{
  int i ;
  int tmp ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(mode___0) / sizeof(mode___0[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    tmp = strcmp(mode___0[i].name, name___0);
    if (! tmp) {
      return ((struct mode  const  *)(& mode___0[i]));
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return ((struct mode  const  *)((void *)0));
}
}
static int generate(int argc , char const   **argv___0 )
{
  struct dist  const  *dist___0 ;
  struct mode  const  *mode___1 ;
  int i ;
  int n ;
  int m ;
  int *arr ;
  long tmp ;
  long tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;

  {
  dist___0 = (struct dist  const  *)((void *)0);
  mode___1 = (struct mode  const  *)((void *)0);
  if (argc != 4) {
    return (1);
  }
  dist___0 = get_dist_by_name(*(argv___0 + 0));
  mode___1 = get_mode_by_name(*(argv___0 + 1));
  tmp = strtol((char const   * __restrict  )*(argv___0 + 2), (char ** __restrict  )((void *)0),
               10);
  n = (int )tmp;
  tmp___0 = strtol((char const   * __restrict  )*(argv___0 + 3), (char ** __restrict  )((void *)0),
                   10);
  m = (int )tmp___0;
  if (! dist___0) {
    return (1);
  } else
  if (! mode___1) {
    return (1);
  }
  tmp___1 = st_mult(sizeof(*arr), (size_t )n);
  tmp___2 = xmalloc(tmp___1);
  arr = (int *)tmp___2;
  (*(dist___0->fn))(arr, n, m);
  (*(mode___1->fn))(arr, n);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < n)) {
      goto while_break;
    }
    printf((char const   *)"%08x\n", *(arr + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  free((void *)arr);
  return (0);
}
}
static struct stats stats  ;
static void *get_next_number(void const   *a )
{


  {
  (stats.get_next) ++;
  return ((void *)((struct number  const  *)a)->next);
}
}
static void set_next_number(void *a , void *b___0 )
{


  {
  (stats.set_next) ++;
  ((struct number *)a)->next = (struct number *)b___0;
  return;
}
}
static int compare_numbers(void const   *av , void const   *bv )
{
  struct number  const  *an ;
  struct number  const  *bn ;
  int a ;
  int b___0 ;

  {
  an = (struct number  const  *)av;
  bn = (struct number  const  *)bv;
  a = (int )an->value;
  b___0 = (int )bn->value;
  (stats.compare) ++;
  return ((a > b___0) - (a < b___0));
}
}
static void clear_numbers(struct number *list___3 )
{
  struct number *next___2 ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    next___2 = list___3->next;
    free((void *)list___3);
    list___3 = next___2;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int test(struct dist  const  *dist___0 , struct mode  const  *mode___1 , int n ,
                int m )
{
  int *arr ;
  size_t i ;
  struct number *curr ;
  struct number *list___3 ;
  struct number **tail ;
  int is_sorted ;
  int is_stable ;
  char const   *verdict ;
  int result___0 ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;
  void *tmp___2 ;

  {
  is_sorted = 1;
  is_stable = 1;
  result___0 = -1;
  tmp = st_mult(sizeof(*arr), (size_t )n);
  tmp___0 = xmalloc(tmp);
  arr = (int *)tmp___0;
  (*(dist___0->fn))(arr, n, m);
  (*(mode___1->fn))(arr, n);
  i = (size_t )0;
  tail = & list___3;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < (size_t )n)) {
      goto while_break;
    }
    tmp___1 = xmalloc(sizeof(*curr));
    curr = (struct number *)tmp___1;
    curr->value = *(arr + i);
    curr->rank = (int )i;
    *tail = curr;
    tail = & curr->next;
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  *tail = (struct number *)((void *)0);
  stats.compare = 0;
  stats.set_next = stats.compare;
  stats.get_next = stats.set_next;
  tmp___2 = llist_mergesort((void *)list___3, & get_next_number, & set_next_number,
                            & compare_numbers);
  list___3 = (struct number *)tmp___2;
  sane_qsort((void *)arr, (size_t )n, sizeof(*arr), & compare_ints);
  i = (size_t )0;
  curr = list___3;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (i < (size_t )n) {
      if (! curr) {
        goto while_break___0;
      }
    } else {
      goto while_break___0;
    }
    if (*(arr + i) != curr->value) {
      is_sorted = 0;
    }
    if (curr->next) {
      if (curr->value == (curr->next)->value) {
        if (curr->rank >= (curr->next)->rank) {
          is_stable = 0;
        }
      }
    }
    i ++;
    curr = curr->next;
  }
  while_break___0: /* CIL Label */ ;
  }
  if (i < (size_t )n) {
    verdict = (char const   *)"too short";
  } else
  if (curr) {
    verdict = (char const   *)"too long";
  } else
  if (! is_sorted) {
    verdict = (char const   *)"not sorted";
  } else
  if (! is_stable) {
    verdict = (char const   *)"unstable";
  } else {
    verdict = (char const   *)"OK";
    result___0 = 0;
  }
  printf((char const   *)"%-9s %-16s %8d %8d %8d %8d %8d %s\n", dist___0->name, mode___1->name,
         n, m, stats.get_next, stats.set_next, stats.compare, verdict);
  clear_numbers(list___3);
  free((void *)arr);
  return (result___0);
}
}
static int run_tests(int argc , char const   **argv___0 )
{
  char const   *argv_default[4] ;
  int tmp ;
  int i ;
  int j ;
  int m ;
  int n ;
  char const   **tmp___0 ;
  long tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  argv_default[0] = (char const   *)"100";
  argv_default[1] = (char const   *)"1023";
  argv_default[2] = (char const   *)"1024";
  argv_default[3] = (char const   *)"1025";
  if (! argc) {
    tmp = run_tests((int )(sizeof(argv_default) / sizeof(argv_default[0]) + (sizeof(char [1]) - 1UL)),
                    argv_default);
    return (tmp);
  }
  printf((char const   *)"%-9s %-16s %8s %8s %8s %8s %8s %s\n", "distribut", "mode",
         "n", "m", "get_next", "set_next", "compare", "verdict");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___3 = argc;
    argc --;
    if (! tmp___3) {
      goto while_break;
    }
    tmp___0 = argv___0;
    argv___0 ++;
    tmp___1 = strtol((char const   * __restrict  )*tmp___0, (char ** __restrict  )((void *)0),
                     10);
    n = (int )tmp___1;
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! ((unsigned long )i < sizeof(dist) / sizeof(dist[0]) + (sizeof(char [1]) - 1UL))) {
        goto while_break___0;
      }
      j = 0;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! ((unsigned long )j < sizeof(mode___0) / sizeof(mode___0[0]) + (sizeof(char [1]) - 1UL))) {
          goto while_break___1;
        }
        m = 1;
        {
        while (1) {
          while_continue___2: /* CIL Label */ ;
          if (! (m < 2 * n)) {
            goto while_break___2;
          }
          tmp___2 = test((struct dist  const  *)(& dist[i]), (struct mode  const  *)(& mode___0[j]),
                         n, m);
          if (tmp___2) {
            return (1);
          }
          m *= 2;
        }
        while_break___2: /* CIL Label */ ;
        }
        j ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
int cmd__mergesort(int argc , char const   **argv___0 )
{
  int i ;
  char const   *sep ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  if (argc == 6) {
    tmp___0 = strcmp(*(argv___0 + 1), (char const   *)"generate");
    if (! tmp___0) {
      tmp = generate(argc - 2, argv___0 + 2);
      return (tmp);
    }
  }
  if (argc == 2) {
    tmp___2 = strcmp(*(argv___0 + 1), (char const   *)"sort");
    if (! tmp___2) {
      tmp___1 = sort_stdin();
      return (tmp___1);
    }
  }
  if (argc > 1) {
    tmp___4 = strcmp(*(argv___0 + 1), (char const   *)"test");
    if (! tmp___4) {
      tmp___3 = run_tests(argc - 2, argv___0 + 2);
      return (tmp___3);
    }
  }
  fprintf(stderr, (char const   *)"usage: test-tool mergesort generate <distribution> <mode> <n> <m>\n");
  fprintf(stderr, (char const   *)"   or: test-tool mergesort sort\n");
  fprintf(stderr, (char const   *)"   or: test-tool mergesort test [<n>...]\n");
  fprintf(stderr, (char const   *)"\n");
  i = 0;
  sep = (char const   *)"distributions: ";
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(dist) / sizeof(dist[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    fprintf(stderr, (char const   *)"%s%s", sep, dist[i].name);
    i ++;
    sep = (char const   *)", ";
  }
  while_break: /* CIL Label */ ;
  }
  fprintf(stderr, (char const   *)"\n");
  i = 0;
  sep = (char const   *)"modes: ";
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned long )i < sizeof(mode___0) / sizeof(mode___0[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break___0;
    }
    fprintf(stderr, (char const   *)"%s%s", sep, mode___0[i].name);
    i ++;
    sep = (char const   *)", ";
  }
  while_break___0: /* CIL Label */ ;
  }
  fprintf(stderr, (char const   *)"\n");
  return (129);
}
}
int cmd__mktemp(int argc , char const   **argv___0 )
{
  char *tmp ;

  {
  if (argc != 2) {
    usage((char const   *)"Expected 1 parameter defining the temporary file template");
  }
  tmp = xstrdup(*(argv___0 + 1));
  xmkstemp(tmp);
  return (0);
}
}
static int print_oid(struct object_id  const  *oid , void *data )
{
  char *tmp ;

  {
  tmp = oid_to_hex(oid);
  puts((char const   *)tmp);
  return (0);
}
}
int cmd__oid_array(int argc , char const   **argv___0 )
{
  struct oid_array array ;
  struct strbuf line___0 ;
  int nongit_ok ;
  char const   *arg ;
  struct object_id oid ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;

  {
  array.oid = (struct object_id *)0;
  array.nr = 0UL;
  array.alloc = 0UL;
  array.sorted = 0;
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  setup_git_directory_gently(& nongit_ok);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___6 = strbuf_getline(& line___0, stdin);
    if (! (tmp___6 != -1)) {
      goto while_break;
    }
    tmp___5 = skip_prefix((char const   *)line___0.buf, (char const   *)"append ",
                          & arg);
    if (tmp___5) {
      tmp = get_oid_hex(arg, & oid);
      if (tmp) {
        die((char const   *)"not a hexadecimal oid: %s", arg);
      }
      oid_array_append(& array, (struct object_id  const  *)(& oid));
    } else {
      tmp___4 = skip_prefix((char const   *)line___0.buf, (char const   *)"lookup ",
                            & arg);
      if (tmp___4) {
        tmp___0 = get_oid_hex(arg, & oid);
        if (tmp___0) {
          die((char const   *)"not a hexadecimal oid: %s", arg);
        }
        tmp___1 = oid_array_lookup(& array, (struct object_id  const  *)(& oid));
        printf((char const   *)"%d\n", tmp___1);
      } else {
        tmp___3 = strcmp((char const   *)line___0.buf, (char const   *)"clear");
        if (tmp___3) {
          tmp___2 = strcmp((char const   *)line___0.buf, (char const   *)"for_each_unique");
          if (tmp___2) {
            die((char const   *)"unknown command: %s", line___0.buf);
          } else {
            oid_array_for_each_unique(& array, & print_oid, (void *)0);
          }
        } else {
          oid_array_clear(& array);
        }
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& line___0);
  oid_array_clear(& array);
  return (0);
}
}
int cmd__oidmap(int argc , char const   **argv___0 )
{
  struct strbuf line___0 ;
  struct oidmap map___0 ;
  char *cmd ;
  char *p1 ;
  char *p2 ;
  struct test_entry___0 *entry ;
  struct object_id oid ;
  int tmp ;
  size_t flex_array_len_ ;
  size_t tmp___0 ;
  size_t tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;
  void *tmp___4 ;
  char *tmp___5 ;
  int tmp___6 ;
  void *tmp___7 ;
  char *tmp___8 ;
  int tmp___9 ;
  void *tmp___10 ;
  char *tmp___11 ;
  struct oidmap_iter iter___0 ;
  char *tmp___12 ;
  void *tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;

  {
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  map___0.map.table = (struct hashmap_entry **)((void *)0);
  map___0.map.cmpfn = (int (*)(void const   *hashmap_cmp_fn_data , struct hashmap_entry  const  *entry ,
                               struct hashmap_entry  const  *entry_or_key , void const   *keydata ))0;
  map___0.map.cmpfn_data = (void const   *)0;
  map___0.map.private_size = 0U;
  map___0.map.tablesize = 0U;
  map___0.map.grow_at = 0U;
  map___0.map.shrink_at = 0U;
  map___0.map.do_count_items = 0U;
  setup_git_directory();
  oidmap_init(& map___0, (size_t )0);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___18 = strbuf_getline(& line___0, stdin);
    if (! (tmp___18 != -1)) {
      goto while_break;
    }
    p1 = (char *)((void *)0);
    p2 = (char *)((void *)0);
    cmd = strtok((char * __restrict  )line___0.buf, (char const   * __restrict  )" \t\r\n");
    if (! cmd) {
      goto while_continue;
    } else
    if ((int )*cmd == 35) {
      goto while_continue;
    }
    p1 = strtok((char * __restrict  )((void *)0), (char const   * __restrict  )" \t\r\n");
    if (p1) {
      p2 = strtok((char * __restrict  )((void *)0), (char const   * __restrict  )" \t\r\n");
    }
    tmp___17 = strcmp((char const   *)"put", (char const   *)cmd);
    if (tmp___17) {
      _L___2: /* CIL Label */
      _L___1: /* CIL Label */
      tmp___16 = strcmp((char const   *)"get", (char const   *)cmd);
      if (tmp___16) {
        _L___0: /* CIL Label */
        tmp___15 = strcmp((char const   *)"remove", (char const   *)cmd);
        if (tmp___15) {
          _L: /* CIL Label */
          tmp___14 = strcmp((char const   *)"iterate", (char const   *)cmd);
          if (tmp___14) {
            printf((char const   *)"Unknown command %s\n", cmd);
          } else {
            oidmap_iter_init(& map___0, & iter___0);
            {
            while (1) {
              while_continue___0: /* CIL Label */ ;
              tmp___13 = oidmap_iter_next(& iter___0);
              entry = (struct test_entry___0 *)tmp___13;
              if (! entry) {
                goto while_break___0;
              }
              tmp___12 = oid_to_hex((struct object_id  const  *)(& entry->entry.oid));
              printf((char const   *)"%s %s\n", tmp___12, entry->name);
            }
            while_break___0: /* CIL Label */ ;
            }
          }
        } else
        if (p1) {
          tmp___9 = repo_get_oid(the_repository, (char const   *)p1, & oid);
          if (tmp___9) {
            printf((char const   *)"Unknown oid: %s\n", p1);
            goto while_continue;
          }
          tmp___10 = oidmap_remove(& map___0, (struct object_id  const  *)(& oid));
          entry = (struct test_entry___0 *)tmp___10;
          if (entry) {
            tmp___11 = entry->name;
          } else {
            tmp___11 = "NULL";
          }
          puts((char const   *)tmp___11);
          free((void *)entry);
        } else {
          goto _L;
        }
      } else
      if (p1) {
        tmp___6 = repo_get_oid(the_repository, (char const   *)p1, & oid);
        if (tmp___6) {
          printf((char const   *)"Unknown oid: %s\n", p1);
          goto while_continue;
        }
        tmp___7 = oidmap_get((struct oidmap  const  *)(& map___0), (struct object_id  const  *)(& oid));
        entry = (struct test_entry___0 *)tmp___7;
        if (entry) {
          tmp___8 = entry->name;
        } else {
          tmp___8 = "NULL";
        }
        puts((char const   *)tmp___8);
      } else {
        goto _L___0;
      }
    } else
    if (p1) {
      if (p2) {
        tmp = repo_get_oid(the_repository, (char const   *)p1, & oid);
        if (tmp) {
          printf((char const   *)"Unknown oid: %s\n", p1);
          goto while_continue;
        }
        {
        while (1) {
          while_continue___1: /* CIL Label */ ;
          tmp___0 = strlen((char const   *)p2);
          flex_array_len_ = tmp___0;
          tmp___1 = st_add(sizeof(*entry), flex_array_len_);
          tmp___2 = st_add(tmp___1, (size_t )1);
          tmp___3 = xcalloc((size_t )1, tmp___2);
          entry = (struct test_entry___0 *)tmp___3;
          memcpy((void *)(entry->name), (void const   *)p2, flex_array_len_);
          goto while_break___1;
        }
        while_break___1: /* CIL Label */ ;
        }
        oidcpy(& entry->entry.oid, (struct object_id  const  *)(& oid));
        tmp___4 = oidmap_put(& map___0, (void *)entry);
        entry = (struct test_entry___0 *)tmp___4;
        if (entry) {
          tmp___5 = entry->name;
        } else {
          tmp___5 = "NULL";
        }
        puts((char const   *)tmp___5);
        free((void *)entry);
      } else {
        goto _L___2;
      }
    } else {
      goto _L___2;
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& line___0);
  oidmap_free(& map___0, 1);
  return (0);
}
}
static enum cb_next print_oid___0(struct object_id  const  *oid , void *data )
{
  char *tmp ;

  {
  tmp = oid_to_hex(oid);
  puts((char const   *)tmp);
  return ((enum cb_next )0);
}
}
int cmd__oidtree(int argc , char const   **argv___0 )
{
  struct oidtree ot ;
  struct strbuf line___0 ;
  int nongit_ok ;
  int algo ;
  char const   *arg ;
  struct object_id oid ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char buf___19[65] ;
  unsigned int tmp___2 ;
  size_t tmp___3 ;
  size_t tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;

  {
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  algo = 0;
  oidtree_init(& ot);
  setup_git_directory_gently(& nongit_ok);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___9 = strbuf_getline(& line___0, stdin);
    if (! (tmp___9 != -1)) {
      goto while_break;
    }
    tmp___8 = skip_prefix((char const   *)line___0.buf, (char const   *)"insert ",
                          & arg);
    if (tmp___8) {
      tmp = get_oid_hex_any(arg, & oid);
      if (tmp == 0) {
        die((char const   *)"insert not a hexadecimal oid: %s", arg);
      }
      algo = oid.algo;
      oidtree_insert(& ot, (struct object_id  const  *)(& oid));
    } else {
      tmp___7 = skip_prefix((char const   *)line___0.buf, (char const   *)"contains ",
                            & arg);
      if (tmp___7) {
        tmp___0 = get_oid_hex(arg, & oid);
        if (tmp___0) {
          die((char const   *)"contains not a hexadecimal oid: %s", arg);
        }
        tmp___1 = oidtree_contains(& ot, (struct object_id  const  *)(& oid));
        printf((char const   *)"%d\n", tmp___1);
      } else {
        tmp___6 = skip_prefix((char const   *)line___0.buf, (char const   *)"each ",
                              & arg);
        if (tmp___6) {
          buf___19[0] = (char )'0';
          tmp___2 = 1U;
          {
          while (1) {
            while_continue___0: /* CIL Label */ ;
            if (tmp___2 >= 65U) {
              goto while_break___0;
            }
            buf___19[tmp___2] = (char)0;
            tmp___2 ++;
          }
          while_break___0: /* CIL Label */ ;
          }
          memset((void *)(& oid), 0, sizeof(oid));
          tmp___3 = strlen(arg);
          memcpy((void *)(buf___19), (void const   *)arg, tmp___3);
          buf___19[hash_algos[algo].hexsz] = (char )'\000';
          get_oid_hex_any((char const   *)(buf___19), & oid);
          oid.algo = algo;
          tmp___4 = strlen(arg);
          oidtree_each(& ot, (struct object_id  const  *)(& oid), tmp___4, & print_oid___0,
                       (void *)0);
        } else {
          tmp___5 = strcmp((char const   *)line___0.buf, (char const   *)"clear");
          if (tmp___5) {
            die((char const   *)"unknown command: %s", line___0.buf);
          } else {
            oidtree_clear(& ot);
          }
        }
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& line___0);
  return (0);
}
}
int cmd__online_cpus(int argc , char const   **argv___0 )
{
  int tmp ;

  {
  tmp = online_cpus();
  printf((char const   *)"%d\n", tmp);
  return (0);
}
}
static int boolean  =    0;
static int integer  =    0;
static unsigned long magnitude  =    0UL;
static timestamp_t timestamp  ;
static int abbrev___5  =    7;
static int verbose___13  =    -1;
static int dry_run___2  =    0;
static int quiet___6  =    0;
static char *string  =    (char *)((void *)0);
static char *file  =    (char *)((void *)0);
static int ambiguous  ;
static struct __anonstruct_length_cb_269907105 length_cb  ;
static int length_callback(struct option  const  *opt___0 , char const   *arg , int unset )
{
  size_t tmp ;

  {
  length_cb.called = 1;
  length_cb.arg = arg;
  length_cb.unset = unset;
  if (unset) {
    return (1);
  }
  tmp = strlen(arg);
  *((int *)opt___0->value) = (int )tmp;
  return (0);
}
}
static int number_callback___0(struct option  const  *opt___0 , char const   *arg ,
                               int unset )
{
  long tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (unset) {
      BUG_fl((char const   *)"t/helper/test-parse-options.c", 39, (char const   *)"option callback does not expect negation");
    }
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  tmp = strtol((char const   * __restrict  )arg, (char ** __restrict  )((void *)0),
               10);
  *((int *)opt___0->value) = (int )tmp;
  return (0);
}
}
static int collect_expect(struct option  const  *opt___0 , char const   *arg , int unset )
{
  struct string_list *expect ;
  struct string_list_item *item___0 ;
  struct strbuf label ;
  char const   *colon ;
  char *tmp ;
  char *tmp___0 ;

  {
  label.alloc = 0UL;
  label.len = 0UL;
  label.buf = strbuf_slopbuf;
  if (! arg) {
    die((char const   *)"malformed --expect option");
  } else
  if (unset) {
    die((char const   *)"malformed --expect option");
  }
  expect = (struct string_list *)opt___0->value;
  tmp = strchr(arg, ':');
  colon = (char const   *)tmp;
  if (! colon) {
    die((char const   *)"malformed --expect option, lacking a colon");
  }
  strbuf_add(& label, (void const   *)arg, (size_t )(colon - arg));
  tmp___0 = strbuf_detach(& label, (size_t *)((void *)0));
  item___0 = string_list_insert(expect, (char const   *)tmp___0);
  if (item___0->util) {
    die((char const   *)"malformed --expect option, duplicate %s", label.buf);
  }
  item___0->util = (void *)arg;
  return (0);
}
}
static void ( /* format attribute */  show___3)(struct string_list *expect , int *status ,
                                                char const   *fmt  , ...)
{
  struct string_list_item *item___0 ;
  struct strbuf buf___19 ;
  va_list args___0 ;
  char *colon ;
  char *tmp ;
  int tmp___0 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  __builtin_va_start(args___0, fmt);
  strbuf_vaddf(& buf___19, fmt, args___0);
  __builtin_va_end(args___0);
  if (! expect->nr) {
    printf((char const   *)"%s\n", buf___19.buf);
  } else {
    tmp = strchr((char const   *)buf___19.buf, ':');
    colon = tmp;
    if (! colon) {
      die((char const   *)"malformed output format, output lacking colon: %s", fmt);
    }
    *colon = (char )'\000';
    item___0 = string_list_lookup(expect, (char const   *)buf___19.buf);
    *colon = (char )':';
    if (! (! item___0)) {
      tmp___0 = strcmp((char const   *)item___0->util, (char const   *)buf___19.buf);
      if (tmp___0) {
        printf((char const   *)"-%s\n", (char *)item___0->util);
        printf((char const   *)"+%s\n", buf___19.buf);
        *status = 1;
      }
    }
  }
  strbuf_release(& buf___19);
  return;
}
}
int cmd__parse_options(int argc , char const   **argv___0 )
{
  char const   *prefix___1 ;
  char const   *usage___2[4] ;
  struct string_list expect ;
  struct string_list list___3 ;
  struct option options[37] ;
  int i ;
  int ret___67 ;
  char const   *arg ;
  int unset ;
  char const   *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  prefix___1 = (char const   *)"prefix/";
  usage___2[0] = (char const   *)"test-tool parse-options <options>";
  usage___2[1] = (char const   *)"";
  usage___2[2] = (char const   *)"A helper function for the parse-options API.";
  usage___2[3] = (char const   *)((void *)0);
  expect.items = (struct string_list_item *)0;
  expect.nr = 0U;
  expect.alloc = 0U;
  expect.strdup_strings = 0U;
  expect.cmp = (int (*)(char const   * , char const   * ))0;
  list___3.items = (struct string_list_item *)0;
  list___3.nr = 0U;
  list___3.alloc = 0U;
  list___3.strdup_strings = 0U;
  list___3.cmp = (int (*)(char const   * , char const   * ))0;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"yes";
  options[0].value = (void *)(& boolean);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"get a boolean";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 'D';
  options[1].long_name = (char const   *)"no-doubt";
  options[1].value = (void *)(& boolean);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"begins with \'no-\'";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 'B';
  options[2].long_name = (char const   *)"no-fear";
  options[2].value = (void *)(& boolean);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"be brave";
  options[2].flags = (enum parse_opt_option_flags )6;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )1;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )7;
  options[3].short_name = 'b';
  options[3].long_name = (char const   *)"boolean";
  options[3].value = (void *)(& boolean);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"increment by one";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)0;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )4;
  options[4].short_name = '4';
  options[4].long_name = (char const   *)"or4";
  options[4].value = (void *)(& boolean);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"bitwise-or boolean with ...0100";
  options[4].flags = (enum parse_opt_option_flags )2;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )4;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )5;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)"neg-or4";
  options[5].value = (void *)(& boolean);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"same as --no-or4";
  options[5].flags = (enum parse_opt_option_flags )2;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )4;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )1;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)((void *)0);
  options[6].value = (void *)0;
  options[6].argh = (char const   *)((void *)0);
  options[6].help = (char const   *)"";
  options[6].flags = 0U;
  options[6].callback = (parse_opt_cb *)0;
  options[6].defval = 0L;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )10;
  options[7].short_name = 'i';
  options[7].long_name = (char const   *)"integer";
  options[7].value = (void *)(& integer);
  options[7].argh = (char const   *)"n";
  options[7].help = (char const   *)"get a integer";
  options[7].flags = (enum parse_opt_option_flags )0;
  options[7].callback = (parse_opt_cb *)0;
  options[7].defval = 0L;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )10;
  options[8].short_name = 'j';
  options[8].long_name = (char const   *)((void *)0);
  options[8].value = (void *)(& integer);
  options[8].argh = (char const   *)"n";
  options[8].help = (char const   *)"get a integer, too";
  options[8].flags = (enum parse_opt_option_flags )0;
  options[8].callback = (parse_opt_cb *)0;
  options[8].defval = 0L;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  options[9].type = (enum parse_opt_type )11;
  options[9].short_name = 'm';
  options[9].long_name = (char const   *)"magnitude";
  options[9].value = (void *)(& magnitude);
  options[9].argh = (char const   *)"n";
  options[9].help = (char const   *)"get a magnitude";
  options[9].flags = (enum parse_opt_option_flags )4;
  options[9].callback = (parse_opt_cb *)0;
  options[9].defval = 0L;
  options[9].ll_callback = (parse_opt_ll_cb *)0;
  options[9].extra = 0L;
  options[10].type = (enum parse_opt_type )8;
  options[10].short_name = 0;
  options[10].long_name = (char const   *)"set23";
  options[10].value = (void *)(& integer);
  options[10].argh = (char const   *)((void *)0);
  options[10].help = (char const   *)"set integer to 23";
  options[10].flags = (enum parse_opt_option_flags )2;
  options[10].callback = (parse_opt_cb *)((void *)0);
  options[10].defval = (intptr_t )23;
  options[10].ll_callback = (parse_opt_ll_cb *)0;
  options[10].extra = 0L;
  options[11].type = (enum parse_opt_type )8;
  options[11].short_name = 0;
  options[11].long_name = (char const   *)"mode1";
  options[11].value = (void *)(& integer);
  options[11].argh = (char const   *)((void *)0);
  options[11].help = (char const   *)"set integer to 1 (cmdmode option)";
  options[11].flags = (enum parse_opt_option_flags )2054;
  options[11].callback = (parse_opt_cb *)((void *)0);
  options[11].defval = (intptr_t )1;
  options[11].ll_callback = (parse_opt_ll_cb *)0;
  options[11].extra = 0L;
  options[12].type = (enum parse_opt_type )8;
  options[12].short_name = 0;
  options[12].long_name = (char const   *)"mode2";
  options[12].value = (void *)(& integer);
  options[12].argh = (char const   *)((void *)0);
  options[12].help = (char const   *)"set integer to 2 (cmdmode option)";
  options[12].flags = (enum parse_opt_option_flags )2054;
  options[12].callback = (parse_opt_cb *)((void *)0);
  options[12].defval = (intptr_t )2;
  options[12].ll_callback = (parse_opt_ll_cb *)0;
  options[12].extra = 0L;
  options[13].type = (enum parse_opt_type )12;
  options[13].short_name = 'L';
  options[13].long_name = (char const   *)"length";
  options[13].value = (void *)(& integer);
  options[13].argh = (char const   *)"str";
  options[13].help = (char const   *)"get length of <str>";
  options[13].flags = (enum parse_opt_option_flags )0;
  options[13].callback = & length_callback;
  options[13].defval = 0L;
  options[13].ll_callback = (parse_opt_ll_cb *)0;
  options[13].extra = 0L;
  options[14].type = (enum parse_opt_type )14;
  options[14].short_name = 'F';
  options[14].long_name = (char const   *)"file";
  options[14].value = (void *)(& file);
  options[14].argh = (char const   *)"file";
  options[14].help = (char const   *)"set file to <file>";
  options[14].flags = 0U;
  options[14].callback = (parse_opt_cb *)0;
  options[14].defval = 0L;
  options[14].ll_callback = (parse_opt_ll_cb *)0;
  options[14].extra = 0L;
  options[15].type = (enum parse_opt_type )1;
  options[15].short_name = 0;
  options[15].long_name = (char const   *)((void *)0);
  options[15].value = (void *)0;
  options[15].argh = (char const   *)((void *)0);
  options[15].help = (char const   *)"String options";
  options[15].flags = 0U;
  options[15].callback = (parse_opt_cb *)0;
  options[15].defval = 0L;
  options[15].ll_callback = (parse_opt_ll_cb *)0;
  options[15].extra = 0L;
  options[16].type = (enum parse_opt_type )9;
  options[16].short_name = 's';
  options[16].long_name = (char const   *)"string";
  options[16].value = (void *)(& string);
  options[16].argh = (char const   *)"string";
  options[16].help = (char const   *)"get a string";
  options[16].flags = (enum parse_opt_option_flags )0;
  options[16].callback = (parse_opt_cb *)0;
  options[16].defval = 0L;
  options[16].ll_callback = (parse_opt_ll_cb *)0;
  options[16].extra = 0L;
  options[17].type = (enum parse_opt_type )9;
  options[17].short_name = 0;
  options[17].long_name = (char const   *)"string2";
  options[17].value = (void *)(& string);
  options[17].argh = (char const   *)"str";
  options[17].help = (char const   *)"get another string";
  options[17].flags = (enum parse_opt_option_flags )0;
  options[17].callback = (parse_opt_cb *)0;
  options[17].defval = 0L;
  options[17].ll_callback = (parse_opt_ll_cb *)0;
  options[17].extra = 0L;
  options[18].type = (enum parse_opt_type )9;
  options[18].short_name = 0;
  options[18].long_name = (char const   *)"st";
  options[18].value = (void *)(& string);
  options[18].argh = (char const   *)"st";
  options[18].help = (char const   *)"get another string (pervert ordering)";
  options[18].flags = (enum parse_opt_option_flags )0;
  options[18].callback = (parse_opt_cb *)0;
  options[18].defval = 0L;
  options[18].ll_callback = (parse_opt_ll_cb *)0;
  options[18].extra = 0L;
  options[19].type = (enum parse_opt_type )9;
  options[19].short_name = 'o';
  options[19].long_name = (char const   *)((void *)0);
  options[19].value = (void *)(& string);
  options[19].argh = (char const   *)"str";
  options[19].help = (char const   *)"get another string";
  options[19].flags = (enum parse_opt_option_flags )0;
  options[19].callback = (parse_opt_cb *)0;
  options[19].defval = 0L;
  options[19].ll_callback = (parse_opt_ll_cb *)0;
  options[19].extra = 0L;
  options[20].type = (enum parse_opt_type )12;
  options[20].short_name = 0;
  options[20].long_name = (char const   *)"obsolete";
  options[20].value = (void *)0;
  options[20].argh = (char const   *)((void *)0);
  options[20].help = (char const   *)"no-op (backward compatibility)";
  options[20].flags = (enum parse_opt_option_flags )10;
  options[20].callback = & parse_opt_noop_cb;
  options[20].defval = 0L;
  options[20].ll_callback = (parse_opt_ll_cb *)0;
  options[20].extra = 0L;
  options[21].type = (enum parse_opt_type )12;
  options[21].short_name = 0;
  options[21].long_name = (char const   *)"list";
  options[21].value = (void *)(& list___3);
  options[21].argh = (char const   *)"str";
  options[21].help = (char const   *)"add str to list";
  options[21].flags = (enum parse_opt_option_flags )0;
  options[21].callback = & parse_opt_string_list;
  options[21].defval = 0L;
  options[21].ll_callback = (parse_opt_ll_cb *)0;
  options[21].extra = 0L;
  options[22].type = (enum parse_opt_type )1;
  options[22].short_name = 0;
  options[22].long_name = (char const   *)((void *)0);
  options[22].value = (void *)0;
  options[22].argh = (char const   *)((void *)0);
  options[22].help = (char const   *)"Magic arguments";
  options[22].flags = 0U;
  options[22].callback = (parse_opt_cb *)0;
  options[22].defval = 0L;
  options[22].ll_callback = (parse_opt_ll_cb *)0;
  options[22].extra = 0L;
  options[23].type = (enum parse_opt_type )2;
  options[23].short_name = 0;
  options[23].long_name = (char const   *)((void *)0);
  options[23].value = (void *)(& integer);
  options[23].argh = (char const   *)((void *)0);
  options[23].help = (char const   *)"set integer to NUM";
  options[23].flags = (enum parse_opt_option_flags )6;
  options[23].callback = & number_callback___0;
  options[23].defval = 0L;
  options[23].ll_callback = (parse_opt_ll_cb *)0;
  options[23].extra = 0L;
  options[24].type = (enum parse_opt_type )7;
  options[24].short_name = '+';
  options[24].long_name = (char const   *)((void *)0);
  options[24].value = (void *)(& boolean);
  options[24].argh = (char const   *)((void *)0);
  options[24].help = (char const   *)"same as -b";
  options[24].flags = (enum parse_opt_option_flags )38;
  options[24].callback = (parse_opt_cb *)0;
  options[24].defval = 0L;
  options[24].ll_callback = (parse_opt_ll_cb *)0;
  options[24].extra = 0L;
  options[25].type = (enum parse_opt_type )7;
  options[25].short_name = 0;
  options[25].long_name = (char const   *)"ambiguous";
  options[25].value = (void *)(& ambiguous);
  options[25].argh = (char const   *)((void *)0);
  options[25].help = (char const   *)"positive ambiguity";
  options[25].flags = (enum parse_opt_option_flags )6;
  options[25].callback = (parse_opt_cb *)0;
  options[25].defval = 0L;
  options[25].ll_callback = (parse_opt_ll_cb *)0;
  options[25].extra = 0L;
  options[26].type = (enum parse_opt_type )7;
  options[26].short_name = 0;
  options[26].long_name = (char const   *)"no-ambiguous";
  options[26].value = (void *)(& ambiguous);
  options[26].argh = (char const   *)((void *)0);
  options[26].help = (char const   *)"negative ambiguity";
  options[26].flags = (enum parse_opt_option_flags )6;
  options[26].callback = (parse_opt_cb *)0;
  options[26].defval = 0L;
  options[26].ll_callback = (parse_opt_ll_cb *)0;
  options[26].extra = 0L;
  options[27].type = (enum parse_opt_type )1;
  options[27].short_name = 0;
  options[27].long_name = (char const   *)((void *)0);
  options[27].value = (void *)0;
  options[27].argh = (char const   *)((void *)0);
  options[27].help = (char const   *)"Standard options";
  options[27].flags = 0U;
  options[27].callback = (parse_opt_cb *)0;
  options[27].defval = 0L;
  options[27].ll_callback = (parse_opt_ll_cb *)0;
  options[27].extra = 0L;
  options[28].type = (enum parse_opt_type )12;
  options[28].short_name = 0;
  options[28].long_name = (char const   *)"abbrev";
  options[28].value = (void *)(& abbrev___5);
  options[28].argh = (char const   *)"n";
  options[28].help = (char const   *)"use <n> digits to display object names";
  options[28].flags = (enum parse_opt_option_flags )1;
  options[28].callback = & parse_opt_abbrev_cb;
  options[28].defval = (intptr_t )0;
  options[28].ll_callback = (parse_opt_ll_cb *)0;
  options[28].extra = 0L;
  options[29].type = (enum parse_opt_type )7;
  options[29].short_name = 'v';
  options[29].long_name = (char const   *)"verbose";
  options[29].value = (void *)(& verbose___13);
  options[29].argh = (char const   *)((void *)0);
  options[29].help = (char const   *)"be verbose";
  options[29].flags = (enum parse_opt_option_flags )2;
  options[29].callback = (parse_opt_cb *)0;
  options[29].defval = 0L;
  options[29].ll_callback = (parse_opt_ll_cb *)0;
  options[29].extra = 0L;
  options[30].type = (enum parse_opt_type )8;
  options[30].short_name = 'n';
  options[30].long_name = (char const   *)"dry-run";
  options[30].value = (void *)(& dry_run___2);
  options[30].argh = (char const   *)((void *)0);
  options[30].help = (char const   *)"dry run";
  options[30].flags = (enum parse_opt_option_flags )2;
  options[30].callback = (parse_opt_cb *)((void *)0);
  options[30].defval = (intptr_t )1;
  options[30].ll_callback = (parse_opt_ll_cb *)0;
  options[30].extra = 0L;
  options[31].type = (enum parse_opt_type )7;
  options[31].short_name = 'q';
  options[31].long_name = (char const   *)"quiet";
  options[31].value = (void *)(& quiet___6);
  options[31].argh = (char const   *)((void *)0);
  options[31].help = (char const   *)"be quiet";
  options[31].flags = (enum parse_opt_option_flags )2;
  options[31].callback = (parse_opt_cb *)0;
  options[31].defval = 0L;
  options[31].ll_callback = (parse_opt_ll_cb *)0;
  options[31].extra = 0L;
  options[32].type = (enum parse_opt_type )12;
  options[32].short_name = 0;
  options[32].long_name = (char const   *)"expect";
  options[32].value = (void *)(& expect);
  options[32].argh = (char const   *)"string";
  options[32].help = (char const   *)"expected output in the variable dump";
  options[32].flags = (enum parse_opt_option_flags )0;
  options[32].callback = & collect_expect;
  options[32].defval = 0L;
  options[32].ll_callback = (parse_opt_ll_cb *)0;
  options[32].extra = 0L;
  options[33].type = (enum parse_opt_type )1;
  options[33].short_name = 0;
  options[33].long_name = (char const   *)((void *)0);
  options[33].value = (void *)0;
  options[33].argh = (char const   *)((void *)0);
  options[33].help = (char const   *)"Alias";
  options[33].flags = 0U;
  options[33].callback = (parse_opt_cb *)0;
  options[33].defval = 0L;
  options[33].ll_callback = (parse_opt_ll_cb *)0;
  options[33].extra = 0L;
  options[34].type = (enum parse_opt_type )9;
  options[34].short_name = 'A';
  options[34].long_name = (char const   *)"alias-source";
  options[34].value = (void *)(& string);
  options[34].argh = (char const   *)"string";
  options[34].help = (char const   *)"get a string";
  options[34].flags = (enum parse_opt_option_flags )0;
  options[34].callback = (parse_opt_cb *)0;
  options[34].defval = 0L;
  options[34].ll_callback = (parse_opt_ll_cb *)0;
  options[34].extra = 0L;
  options[35].type = (enum parse_opt_type )3;
  options[35].short_name = 'Z';
  options[35].long_name = (char const   *)"alias-target";
  options[35].value = (void *)"alias-source";
  options[35].argh = (char const   *)0;
  options[35].help = (char const   *)0;
  options[35].flags = 0U;
  options[35].callback = (parse_opt_cb *)0;
  options[35].defval = 0L;
  options[35].ll_callback = (parse_opt_ll_cb *)0;
  options[35].extra = 0L;
  options[36].type = (enum parse_opt_type )0;
  options[36].short_name = 0;
  options[36].long_name = (char const   *)0;
  options[36].value = (void *)0;
  options[36].argh = (char const   *)0;
  options[36].help = (char const   *)0;
  options[36].flags = 0U;
  options[36].callback = (parse_opt_cb *)0;
  options[36].defval = 0L;
  options[36].ll_callback = (parse_opt_ll_cb *)0;
  options[36].extra = 0L;
  ret___67 = 0;
  trace2_cmd_name_fl((char const   *)"t/helper/test-parse-options.c", 162, (char const   *)"_parse_");
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       (char const   **)(usage___2), (enum parse_opt_flags )0);
  if (length_cb.called) {
    arg = length_cb.arg;
    unset = length_cb.unset;
    if (arg) {
      tmp = arg;
    } else {
      tmp = (char const   *)"not set";
    }
    show___3(& expect, & ret___67, (char const   *)"Callback: \"%s\", %d", tmp, unset);
  }
  show___3(& expect, & ret___67, (char const   *)"boolean: %d", boolean);
  show___3(& expect, & ret___67, (char const   *)"integer: %d", integer);
  show___3(& expect, & ret___67, (char const   *)"magnitude: %lu", magnitude);
  show___3(& expect, & ret___67, (char const   *)"timestamp: %lu", timestamp);
  if (string) {
    tmp___0 = string;
  } else {
    tmp___0 = "(not set)";
  }
  show___3(& expect, & ret___67, (char const   *)"string: %s", tmp___0);
  show___3(& expect, & ret___67, (char const   *)"abbrev: %d", abbrev___5);
  show___3(& expect, & ret___67, (char const   *)"verbose: %d", verbose___13);
  show___3(& expect, & ret___67, (char const   *)"quiet: %d", quiet___6);
  if (dry_run___2) {
    tmp___1 = "yes";
  } else {
    tmp___1 = "no";
  }
  show___3(& expect, & ret___67, (char const   *)"dry run: %s", tmp___1);
  if (file) {
    tmp___2 = file;
  } else {
    tmp___2 = "(not set)";
  }
  show___3(& expect, & ret___67, (char const   *)"file: %s", tmp___2);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < list___3.nr)) {
      goto while_break;
    }
    show___3(& expect, & ret___67, (char const   *)"list: %s", (list___3.items + i)->string);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break___0;
    }
    show___3(& expect, & ret___67, (char const   *)"arg %02d: %s", i, *(argv___0 + i));
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  expect.strdup_strings = 1U;
  string_list_clear(& expect, 0);
  string_list_clear(& list___3, 0);
  return (ret___67);
}
}
static char const   *usage___1[2]  = {      (char const   *)"test-tool parse-pathspec-file --pathspec-from-file [--pathspec-file-nul]",      (char const   *)((void *)0)};
int cmd__parse_pathspec_file(int argc , char const   **argv___0 )
{
  struct pathspec pathspec___1 ;
  char const   *pathspec_from_file___2 ;
  int pathspec_file_nul___2 ;
  int i ;
  struct option options[3] ;

  {
  pathspec_from_file___2 = (char const   *)((void *)0);
  pathspec_file_nul___2 = 0;
  options[0].type = (enum parse_opt_type )14;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"pathspec-from-file";
  options[0].value = (void *)(& pathspec_from_file___2);
  options[0].argh = (char const   *)"file";
  options[0].help = (char const   *)"read pathspec from file";
  options[0].flags = 0U;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"pathspec-file-nul";
  options[1].value = (void *)(& pathspec_file_nul___2);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"with --pathspec-from-file, pathspec elements are separated with NUL character";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )0;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)0;
  options[2].value = (void *)0;
  options[2].argh = (char const   *)0;
  options[2].help = (char const   *)0;
  options[2].flags = 0U;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)(options),
                usage___1, (enum parse_opt_flags )0);
  parse_pathspec_file(& pathspec___1, 0U, 0U, (char const   *)((void *)0), pathspec_from_file___2,
                      pathspec_file_nul___2);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < pathspec___1.nr)) {
      goto while_break;
    }
    printf((char const   *)"%s\n", (pathspec___1.items + i)->original);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_pathspec(& pathspec___1);
  return (0);
}
}
static double const   __ac_HASH_UPPER___166  =    (double const   )0.77;
__inline static void kh_resize_oid_set___166(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___166(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___166 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___166 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___166(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___166(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___166(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___166(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___166(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___166(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___166 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___166 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___166(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___166(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___166(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___166(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___166(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___166(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___166 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___166 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___166(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___166(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___166(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___166(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___121(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___121(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___166 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___166 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___121(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___121(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___121(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___121(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void object_info(char const   *gitdir___0 , char const   *oid_hex )
{
  struct repository r ;
  struct object_id oid ;
  unsigned long size ;
  struct object_info oi___0 ;
  char const   *p___0 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  oi___0.typep = (enum object_type *)0;
  oi___0.sizep = & size;
  oi___0.disk_sizep = (off_t *)0;
  oi___0.delta_base_oid = (struct object_id *)0;
  oi___0.type_name = (struct strbuf *)0;
  oi___0.contentp = (void **)0;
  oi___0.whence = 0U;
  oi___0.u.packed.pack = (struct packed_git *)0;
  oi___0.u.packed.offset = 0L;
  oi___0.u.packed.is_delta = 0U;
  tmp = repo_init(& r, gitdir___0, (char const   *)((void *)0));
  if (tmp) {
    die((char const   *)"could not init repo");
  }
  tmp___0 = parse_oid_hex(oid_hex, & oid, & p___0);
  if (tmp___0) {
    die((char const   *)"could not parse oid");
  }
  tmp___1 = oid_object_info_extended(& r, (struct object_id  const  *)(& oid), & oi___0,
                                     0U);
  if (tmp___1) {
    die((char const   *)"could not obtain object info");
  }
  printf((char const   *)"%d\n", (int )size);
  return;
}
}
int cmd__partial_clone(int argc , char const   **argv___0 )
{
  int tmp ;

  {
  setup_git_directory();
  if (argc < 4) {
    die((char const   *)"too few arguments");
  }
  tmp = strcmp(*(argv___0 + 1), (char const   *)"object-info");
  if (tmp) {
    die((char const   *)"invalid argument \'%s\'", *(argv___0 + 1));
  } else {
    object_info(*(argv___0 + 2), *(argv___0 + 3));
  }
  return (0);
}
}
static int normalize_ceiling_entry(struct string_list_item *item___0 , void *unused )
{
  char *ceil ;
  int tmp ;
  int tmp___0 ;

  {
  ceil = item___0->string;
  if (! *ceil) {
    die((char const   *)"Empty path is not supported");
  }
  tmp = is_absolute_path((char const   *)ceil);
  if (! tmp) {
    die((char const   *)"Path \"%s\" is not absolute", ceil);
  }
  tmp___0 = normalize_path_copy(ceil, (char const   *)ceil);
  if (tmp___0 < 0) {
    die((char const   *)"Path \"%s\" could not be normalized", ceil);
  }
  return (1);
}
}
static void normalize_argv_string(char const   **var , char const   *input )
{
  int tmp ;
  int tmp___0 ;

  {
  tmp___0 = strcmp(input, (char const   *)"<null>");
  if (tmp___0) {
    tmp = strcmp(input, (char const   *)"<empty>");
    if (tmp) {
      *var = input;
    } else {
      *var = (char const   *)"";
    }
  } else {
    *var = (char const   *)((void *)0);
  }
  if (*var) {
    if ((int const   )*(*var) == 60) {
      die((char const   *)"Bad value: %s\n", input);
    } else
    if ((int const   )*(*var) == 40) {
      die((char const   *)"Bad value: %s\n", input);
    }
  }
  return;
}
}
static char *posix_basename(char *path___6 )
{
  char *tmp ;

  {
  tmp = __xpg_basename(path___6);
  return (tmp);
}
}
static char *posix_dirname(char *path___6 )
{
  char *tmp ;

  {
  tmp = dirname(path___6);
  return (tmp);
}
}
static int test_function(struct test_data *data , char *(*func)(char *input ) , char const   *funcname )
{
  int failed ;
  int i ;
  char buffer___5[1024] ;
  char *to ;
  int tmp ;
  int tmp___0 ;

  {
  failed = 0;
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (data + i)->to) {
      goto while_break;
    }
    if (! (data + i)->from) {
      to = (*func)((char *)((void *)0));
    } else {
      xsnprintf(buffer___5, sizeof(buffer___5), (char const   *)"%s", (data + i)->from);
      to = (*func)(buffer___5);
    }
    tmp = strcmp((char const   *)to, (data + i)->to);
    if (! tmp) {
      goto __Cont;
    }
    if (! (data + i)->alternative) {
      error((char const   *)"FAIL: %s(%s) => \'%s\' != \'%s\'\n", funcname, (data + i)->from,
            to, (data + i)->to);
      const_error();
    } else {
      tmp___0 = strcmp((char const   *)to, (data + i)->alternative);
      if (tmp___0) {
        error((char const   *)"FAIL: %s(%s) => \'%s\' != \'%s\', \'%s\'\n", funcname,
              (data + i)->from, to, (data + i)->to, (data + i)->alternative);
        const_error();
      } else {
        goto __Cont;
      }
    }
    failed = 1;
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (failed);
}
}
static struct test_data basename_data[16]  =
  {      {(char const   *)((void *)0), (char const   *)".", (char const   *)0},
        {(char const   *)"", (char const   *)".", (char const   *)0},
        {(char const   *)".", (char const   *)".", (char const   *)0},
        {(char const   *)"..", (char const   *)"..", (char const   *)0},
        {(char const   *)"/", (char const   *)"/", (char const   *)0},
        {(char const   *)"//", (char const   *)"/", (char const   *)"//"},
        {(char const   *)"///", (char const   *)"/", (char const   *)"//"},
        {(char const   *)"////", (char const   *)"/", (char const   *)"//"},
        {(char const   *)"usr", (char const   *)"usr", (char const   *)0},
        {(char const   *)"/usr", (char const   *)"usr", (char const   *)0},
        {(char const   *)"/usr/", (char const   *)"usr", (char const   *)0},
        {(char const   *)"/usr//", (char const   *)"usr", (char const   *)0},
        {(char const   *)"/usr/lib", (char const   *)"lib", (char const   *)0},
        {(char const   *)"usr/lib", (char const   *)"lib", (char const   *)0},
        {(char const   *)"usr/lib///", (char const   *)"lib", (char const   *)0},
        {(char const   *)((void *)0), (char const   *)((void *)0), (char const   *)0}};
static struct test_data dirname_data[16]  =
  {      {(char const   *)((void *)0), (char const   *)".", (char const   *)0},
        {(char const   *)"", (char const   *)".", (char const   *)0},
        {(char const   *)".", (char const   *)".", (char const   *)0},
        {(char const   *)"..", (char const   *)".", (char const   *)0},
        {(char const   *)"/", (char const   *)"/", (char const   *)0},
        {(char const   *)"//", (char const   *)"/", (char const   *)"//"},
        {(char const   *)"///", (char const   *)"/", (char const   *)"//"},
        {(char const   *)"////", (char const   *)"/", (char const   *)"//"},
        {(char const   *)"usr", (char const   *)".", (char const   *)0},
        {(char const   *)"/usr", (char const   *)"/", (char const   *)0},
        {(char const   *)"/usr/", (char const   *)"/", (char const   *)0},
        {(char const   *)"/usr//", (char const   *)"/", (char const   *)0},
        {(char const   *)"/usr/lib", (char const   *)"/usr", (char const   *)0},
        {(char const   *)"usr/lib", (char const   *)"usr", (char const   *)0},
        {(char const   *)"usr/lib///", (char const   *)"usr", (char const   *)0},
        {(char const   *)((void *)0), (char const   *)((void *)0), (char const   *)0}};
static int check_dotfile(char const   *x , char const   **argv___0 , int (*is_hfs)(char const   * ) ,
                         int (*is_ntfs)(char const   * ) )
{
  int res ;
  int expect ;
  char *tmp ;
  char *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  res = 0;
  expect = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *argv___0) {
      goto while_break;
    }
    tmp___4 = strcmp((char const   *)"--not", *argv___0);
    if (tmp___4) {
      tmp___1 = (*is_hfs)(*argv___0);
      if (tmp___1) {
        tmp___3 = 1;
      } else {
        tmp___2 = (*is_ntfs)(*argv___0);
        if (tmp___2) {
          tmp___3 = 1;
        } else {
          tmp___3 = 0;
        }
      }
      if (expect != tmp___3) {
        if (expect) {
          tmp = "not ";
        } else {
          tmp = "";
        }
        error((char const   *)"\'%s\' is %s.git%s", *argv___0, tmp, x);
        res = const_error();
      } else {
        if (expect) {
          tmp___0 = "";
        } else {
          tmp___0 = "not ";
        }
        fprintf(stderr, (char const   *)"ok: \'%s\' is %s.git%s\n", *argv___0, tmp___0,
                x);
      }
    } else {
      expect = ! expect;
    }
    argv___0 ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (! (! res));
}
}
static int cmp_by_st_size(void const   *a , void const   *b___0 )
{
  intptr_t x ;
  intptr_t y ;
  int tmp ;
  int tmp___0 ;

  {
  x = (intptr_t )((struct string_list_item *)a)->util;
  y = (intptr_t )((struct string_list_item *)b___0)->util;
  if (x > y) {
    tmp___0 = -1;
  } else {
    if (x < y) {
      tmp = 1;
    } else {
      tmp = 0;
    }
    tmp___0 = tmp;
  }
  return (tmp___0);
}
}
static uint64_t my_random_value  =    (uint64_t )1234;
static uint64_t my_random(void)
{


  {
  my_random_value = my_random_value * 1103515245UL + 12345UL;
  return (my_random_value);
}
}
static double my_sqrt(double value )
{
  double epsilon ;
  double x ;
  double delta ;

  {
  epsilon = (double )1e-6;
  x = value;
  if (value == (double )0) {
    return ((double )0);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    delta = (value / x - x) / (double )2;
    if (delta < (double )epsilon) {
      if (delta > (double )(- epsilon)) {
        return (x + delta);
      }
    }
    x += delta;
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int protect_ntfs_hfs_benchmark(int argc , char const   **argv___0 )
{
  size_t i ;
  size_t j ;
  size_t nr___0 ;
  size_t min_len ;
  size_t max_len ;
  char **names___0 ;
  int repetitions ;
  int file_mode ;
  uint64_t begin___0 ;
  uint64_t end ;
  double m[3][2] ;
  double v[3][2] ;
  uint64_t cumul ;
  double cumul2 ;
  int tmp ;
  unsigned long tmp___0 ;
  size_t tmp___1 ;
  void *tmp___2 ;
  size_t len___0 ;
  uint64_t tmp___3 ;
  void *tmp___4 ;
  uint64_t tmp___5 ;

  {
  min_len = (size_t )3;
  max_len = (size_t )20;
  repetitions = 15;
  file_mode = 0100644;
  if (argc > 1) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"--with-symlink-mode");
    if (! tmp) {
      file_mode = 0120000;
      argc --;
      argv___0 ++;
    }
  }
  if (argc > 1) {
    tmp___0 = strtoul((char const   * __restrict  )*(argv___0 + 1), (char ** __restrict  )((void *)0),
                      0);
    nr___0 = tmp___0;
  } else {
    nr___0 = (size_t )1000000;
  }
  tmp___1 = st_mult(sizeof(*names___0), nr___0);
  tmp___2 = xmalloc(tmp___1);
  names___0 = (char **)tmp___2;
  if (argc > 2) {
    min_len = strtoul((char const   * __restrict  )*(argv___0 + 2), (char ** __restrict  )((void *)0),
                      0);
    if (argc > 3) {
      max_len = strtoul((char const   * __restrict  )*(argv___0 + 3), (char ** __restrict  )((void *)0),
                        0);
    }
    if (min_len > max_len) {
      die((char const   *)"min_len > max_len");
    }
  }
  i = (size_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < nr___0)) {
      goto while_break;
    }
    tmp___3 = my_random();
    len___0 = min_len + tmp___3 % ((max_len + 1UL) - min_len);
    tmp___4 = xmallocz(len___0);
    *(names___0 + i) = (char *)tmp___4;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (len___0 > 0UL)) {
        goto while_break___0;
      }
      len___0 --;
      tmp___5 = my_random();
      *(*(names___0 + i) + len___0) = (char )(32UL + tmp___5 % 95UL);
    }
    while_break___0: /* CIL Label */ ;
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  protect_ntfs = 0;
  {
  while (1) {
    while_continue___1: /* CIL Label */ ;
    if (! (protect_ntfs < 2)) {
      goto while_break___1;
    }
    protect_hfs = 0;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (! (protect_hfs < 2)) {
        goto while_break___2;
      }
      cumul = (uint64_t )0;
      cumul2 = (double )0;
      i = (size_t )0;
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        if (! (i < (size_t )repetitions)) {
          goto while_break___3;
        }
        begin___0 = getnanotime();
        j = (size_t )0;
        {
        while (1) {
          while_continue___4: /* CIL Label */ ;
          if (! (j < nr___0)) {
            goto while_break___4;
          }
          verify_path((char const   *)*(names___0 + j), (unsigned int )file_mode);
          j ++;
        }
        while_break___4: /* CIL Label */ ;
        }
        end = getnanotime();
        printf((char const   *)"protect_ntfs = %d, protect_hfs = %d: %lfms\n", protect_ntfs,
               protect_hfs, (double )(end - begin___0) / 1e6);
        cumul += end - begin___0;
        cumul2 += (double )((end - begin___0) * (end - begin___0));
        i ++;
      }
      while_break___3: /* CIL Label */ ;
      }
      m[protect_ntfs][protect_hfs] = (double )cumul / (double )repetitions;
      v[protect_ntfs][protect_hfs] = my_sqrt(cumul2 / (double )repetitions - m[protect_ntfs][protect_hfs] * m[protect_ntfs][protect_hfs]);
      printf((char const   *)"mean: %lfms, stddev: %lfms\n", m[protect_ntfs][protect_hfs] / 1e6,
             v[protect_ntfs][protect_hfs] / 1e6);
      protect_hfs ++;
    }
    while_break___2: /* CIL Label */ ;
    }
    protect_ntfs ++;
  }
  while_break___1: /* CIL Label */ ;
  }
  protect_ntfs = 0;
  {
  while (1) {
    while_continue___5: /* CIL Label */ ;
    if (! (protect_ntfs < 2)) {
      goto while_break___5;
    }
    protect_hfs = 0;
    {
    while (1) {
      while_continue___6: /* CIL Label */ ;
      if (! (protect_hfs < 2)) {
        goto while_break___6;
      }
      printf((char const   *)"ntfs=%d/hfs=%d: %lf%% slower\n", protect_ntfs, protect_hfs,
             ((m[protect_ntfs][protect_hfs] - m[0][0]) * (double )100) / m[0][0]);
      protect_hfs ++;
    }
    while_break___6: /* CIL Label */ ;
    }
    protect_ntfs ++;
  }
  while_break___5: /* CIL Label */ ;
  }
  return (0);
}
}
int cmd__path_utils(int argc , char const   **argv___0 )
{
  char *buf___19 ;
  size_t tmp ;
  void *tmp___0 ;
  int rv ;
  int tmp___1 ;
  int tmp___2 ;
  struct strbuf realpath___1 ;
  int tmp___3 ;
  char const   *tmp___4 ;
  int tmp___5 ;
  int len___0 ;
  struct string_list ceiling_dirs ;
  char *path___6 ;
  char *tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  char const   *prefix___1 ;
  int prefix_len___1 ;
  size_t tmp___9 ;
  int nongit_ok ;
  char *tmp___10 ;
  int tmp___11 ;
  char *prefix___2 ;
  char *tmp___12 ;
  char *tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  struct strbuf sb___6 ;
  char const   *in ;
  char const   *prefix___3 ;
  char const   *rel ;
  size_t tmp___16 ;
  char const   *tmp___17 ;
  size_t tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;
  int tmp___30 ;
  int tmp___31 ;
  int res ;
  int i ;
  struct stat st ;
  int tmp___32 ;
  int tmp___33 ;
  int fd ;
  int tmp___34 ;
  int offset___2 ;
  int tmp___35 ;
  char buffer___5[65536] ;
  __off_t tmp___36 ;
  ssize_t count___0 ;
  ssize_t tmp___37 ;
  ssize_t tmp___38 ;
  int tmp___39 ;
  int res___0 ;
  long offset___3 ;
  long stride ;
  long i___0 ;
  struct string_list list___3 ;
  struct stat st___0 ;
  struct string_list_item *tmp___40 ;
  int tmp___41 ;
  int tmp___42 ;
  int tmp___43 ;
  int tmp___44 ;
  int tmp___45 ;
  int res___1 ;
  int expect ;
  int i___1 ;
  char *tmp___46 ;
  char *tmp___47 ;
  int tmp___48 ;
  int tmp___49 ;
  char const   *tmp___50 ;

  {
  if (argc == 3) {
    tmp___2 = strcmp(*(argv___0 + 1), (char const   *)"normalize_path_copy");
    if (! tmp___2) {
      tmp = strlen(*(argv___0 + 2));
      tmp___0 = xmallocz(tmp);
      buf___19 = (char *)tmp___0;
      tmp___1 = normalize_path_copy(buf___19, *(argv___0 + 2));
      rv = tmp___1;
      if (rv) {
        buf___19 = "++failed++";
      }
      puts((char const   *)buf___19);
      return (0);
    }
  }
  if (argc >= 2) {
    tmp___3 = strcmp(*(argv___0 + 1), (char const   *)"real_path");
    if (! tmp___3) {
      realpath___1.alloc = 0UL;
      realpath___1.len = 0UL;
      realpath___1.buf = strbuf_slopbuf;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (! (argc > 2)) {
          goto while_break;
        }
        strbuf_realpath(& realpath___1, *(argv___0 + 2), 1);
        puts((char const   *)realpath___1.buf);
        argc --;
        argv___0 ++;
      }
      while_break: /* CIL Label */ ;
      }
      strbuf_release(& realpath___1);
      return (0);
    }
  }
  if (argc >= 2) {
    tmp___5 = strcmp(*(argv___0 + 1), (char const   *)"absolute_path");
    if (! tmp___5) {
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! (argc > 2)) {
          goto while_break___0;
        }
        tmp___4 = absolute_path(*(argv___0 + 2));
        puts(tmp___4);
        argc --;
        argv___0 ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      return (0);
    }
  }
  if (argc == 4) {
    tmp___8 = strcmp(*(argv___0 + 1), (char const   *)"longest_ancestor_length");
    if (! tmp___8) {
      ceiling_dirs.items = (struct string_list_item *)0;
      ceiling_dirs.nr = 0U;
      ceiling_dirs.alloc = 0U;
      ceiling_dirs.strdup_strings = 1U;
      ceiling_dirs.cmp = (int (*)(char const   * , char const   * ))0;
      tmp___6 = xstrdup(*(argv___0 + 2));
      path___6 = tmp___6;
      tmp___7 = normalize_path_copy(path___6, (char const   *)path___6);
      if (tmp___7) {
        die((char const   *)"Path \"%s\" could not be normalized", *(argv___0 + 2));
      }
      string_list_split(& ceiling_dirs, *(argv___0 + 3), ':', -1);
      filter_string_list(& ceiling_dirs, 0, & normalize_ceiling_entry, (void *)0);
      len___0 = longest_ancestor_length((char const   *)path___6, & ceiling_dirs);
      string_list_clear(& ceiling_dirs, 0);
      free((void *)path___6);
      printf((char const   *)"%d\n", len___0);
      return (0);
    }
  }
  if (argc >= 4) {
    tmp___11 = strcmp(*(argv___0 + 1), (char const   *)"prefix_path");
    if (! tmp___11) {
      prefix___1 = *(argv___0 + 2);
      tmp___9 = strlen(prefix___1);
      prefix_len___1 = (int )tmp___9;
      setup_git_directory_gently(& nongit_ok);
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! (argc > 3)) {
          goto while_break___1;
        }
        tmp___10 = prefix_path(prefix___1, prefix_len___1, *(argv___0 + 3));
        puts((char const   *)tmp___10);
        argc --;
        argv___0 ++;
      }
      while_break___1: /* CIL Label */ ;
      }
      return (0);
    }
  }
  if (argc == 4) {
    tmp___14 = strcmp(*(argv___0 + 1), (char const   *)"strip_path_suffix");
    if (! tmp___14) {
      tmp___12 = strip_path_suffix(*(argv___0 + 2), *(argv___0 + 3));
      prefix___2 = tmp___12;
      if (prefix___2) {
        tmp___13 = prefix___2;
      } else {
        tmp___13 = "(null)";
      }
      printf((char const   *)"%s\n", tmp___13);
      return (0);
    }
  }
  if (argc == 3) {
    tmp___15 = strcmp(*(argv___0 + 1), (char const   *)"print_path");
    if (! tmp___15) {
      puts(*(argv___0 + 2));
      return (0);
    }
  }
  if (argc == 4) {
    tmp___19 = strcmp(*(argv___0 + 1), (char const   *)"relative_path");
    if (! tmp___19) {
      sb___6.alloc = 0UL;
      sb___6.len = 0UL;
      sb___6.buf = strbuf_slopbuf;
      normalize_argv_string(& in, *(argv___0 + 2));
      normalize_argv_string(& prefix___3, *(argv___0 + 3));
      rel = relative_path(in, prefix___3, & sb___6);
      if (! rel) {
        puts((char const   *)"(null)");
      } else {
        tmp___18 = strlen(rel);
        if (tmp___18 > 0UL) {
          tmp___17 = rel;
        } else {
          tmp___17 = (char const   *)"(empty)";
        }
        puts(tmp___17);
      }
      strbuf_release(& sb___6);
      return (0);
    }
  }
  if (argc == 2) {
    tmp___21 = strcmp(*(argv___0 + 1), (char const   *)"basename");
    if (! tmp___21) {
      tmp___20 = test_function(basename_data, & posix_basename, *(argv___0 + 1));
      return (tmp___20);
    }
  }
  if (argc == 2) {
    tmp___23 = strcmp(*(argv___0 + 1), (char const   *)"dirname");
    if (! tmp___23) {
      tmp___22 = test_function(dirname_data, & posix_dirname, *(argv___0 + 1));
      return (tmp___22);
    }
  }
  if (argc > 2) {
    tmp___25 = strcmp(*(argv___0 + 1), (char const   *)"is_dotgitmodules");
    if (! tmp___25) {
      tmp___24 = check_dotfile((char const   *)"modules", argv___0 + 2, & is_hfs_dotgitmodules,
                               & is_ntfs_dotgitmodules);
      return (tmp___24);
    }
  }
  if (argc > 2) {
    tmp___27 = strcmp(*(argv___0 + 1), (char const   *)"is_dotgitignore");
    if (! tmp___27) {
      tmp___26 = check_dotfile((char const   *)"ignore", argv___0 + 2, & is_hfs_dotgitignore,
                               & is_ntfs_dotgitignore);
      return (tmp___26);
    }
  }
  if (argc > 2) {
    tmp___29 = strcmp(*(argv___0 + 1), (char const   *)"is_dotgitattributes");
    if (! tmp___29) {
      tmp___28 = check_dotfile((char const   *)"attributes", argv___0 + 2, & is_hfs_dotgitattributes,
                               & is_ntfs_dotgitattributes);
      return (tmp___28);
    }
  }
  if (argc > 2) {
    tmp___31 = strcmp(*(argv___0 + 1), (char const   *)"is_dotmailmap");
    if (! tmp___31) {
      tmp___30 = check_dotfile((char const   *)"mailmap", argv___0 + 2, & is_hfs_dotmailmap,
                               & is_ntfs_dotmailmap);
      return (tmp___30);
    }
  }
  if (argc > 2) {
    tmp___33 = strcmp(*(argv___0 + 1), (char const   *)"file-size");
    if (! tmp___33) {
      res = 0;
      i = 2;
      {
      while (1) {
        while_continue___2: /* CIL Label */ ;
        if (! (i < argc)) {
          goto while_break___2;
        }
        tmp___32 = stat(*(argv___0 + i), & st);
        if (tmp___32) {
          error_errno((char const   *)"Cannot stat \'%s\'", *(argv___0 + i));
          res = const_error();
        } else {
          printf((char const   *)"%lu\n", (uintmax_t )st.st_size);
        }
        i ++;
      }
      while_break___2: /* CIL Label */ ;
      }
      return (! (! res));
    }
  }
  if (argc == 4) {
    tmp___39 = strcmp(*(argv___0 + 1), (char const   *)"skip-n-bytes");
    if (! tmp___39) {
      tmp___34 = open(*(argv___0 + 2), 00);
      fd = tmp___34;
      tmp___35 = atoi(*(argv___0 + 3));
      offset___2 = tmp___35;
      if (fd < 0) {
        die_errno((char const   *)"could not open \'%s\'", *(argv___0 + 2));
      }
      tmp___36 = lseek(fd, (__off_t )offset___2, 0);
      if (tmp___36 < 0L) {
        die_errno((char const   *)"could not skip %d bytes", offset___2);
      }
      {
      while (1) {
        while_continue___3: /* CIL Label */ ;
        tmp___37 = read(fd, (void *)(buffer___5), sizeof(buffer___5));
        count___0 = tmp___37;
        if (count___0 < 0L) {
          die_errno((char const   *)"could not read \'%s\'", *(argv___0 + 2));
        }
        if (! count___0) {
          goto while_break___3;
        }
        tmp___38 = write(1, (void const   *)(buffer___5), (size_t )count___0);
        if (tmp___38 < 0L) {
          die_errno((char const   *)"could not write to stdout");
        }
      }
      while_break___3: /* CIL Label */ ;
      }
      close(fd);
      return (0);
    }
  }
  if (argc > 5) {
    tmp___42 = strcmp(*(argv___0 + 1), (char const   *)"slice-tests");
    if (! tmp___42) {
      res___0 = 0;
      list___3.items = (struct string_list_item *)0;
      list___3.nr = 0U;
      list___3.alloc = 0U;
      list___3.strdup_strings = 0U;
      list___3.cmp = (int (*)(char const   * , char const   * ))0;
      offset___3 = strtol((char const   * __restrict  )*(argv___0 + 2), (char ** __restrict  )((void *)0),
                          10);
      stride = strtol((char const   * __restrict  )*(argv___0 + 3), (char ** __restrict  )((void *)0),
                      10);
      if (stride < 1L) {
        stride = 1L;
      }
      i___0 = 4L;
      {
      while (1) {
        while_continue___4: /* CIL Label */ ;
        if (! (i___0 < (long )argc)) {
          goto while_break___4;
        }
        tmp___41 = stat(*(argv___0 + i___0), & st___0);
        if (tmp___41) {
          error_errno((char const   *)"Cannot stat \'%s\'", *(argv___0 + i___0));
          res___0 = const_error();
        } else {
          tmp___40 = string_list_append(& list___3, *(argv___0 + i___0));
          tmp___40->util = (void *)st___0.st_size;
        }
        i___0 ++;
      }
      while_break___4: /* CIL Label */ ;
      }
      sane_qsort((void *)list___3.items, (size_t )list___3.nr, sizeof(*(list___3.items)),
                 & cmp_by_st_size);
      i___0 = offset___3;
      {
      while (1) {
        while_continue___5: /* CIL Label */ ;
        if (! (i___0 < (long )list___3.nr)) {
          goto while_break___5;
        }
        printf((char const   *)"%s\n", (list___3.items + i___0)->string);
        i___0 += stride;
      }
      while_break___5: /* CIL Label */ ;
      }
      return (! (! res___0));
    }
  }
  if (argc > 1) {
    tmp___45 = strcmp(*(argv___0 + 1), (char const   *)"protect_ntfs_hfs");
    if (! tmp___45) {
      tmp___43 = protect_ntfs_hfs_benchmark(argc - 1, argv___0 + 1);
      if (tmp___43) {
        tmp___44 = 1;
      } else {
        tmp___44 = 0;
      }
      return (tmp___44);
    }
  }
  if (argc > 1) {
    tmp___49 = strcmp(*(argv___0 + 1), (char const   *)"is_valid_path");
    if (! tmp___49) {
      res___1 = 0;
      expect = 1;
      i___1 = 2;
      {
      while (1) {
        while_continue___6: /* CIL Label */ ;
        if (! (i___1 < argc)) {
          goto while_break___6;
        }
        tmp___48 = strcmp((char const   *)"--not", *(argv___0 + i___1));
        if (tmp___48) {
          if (expect != 1) {
            if (expect) {
              tmp___46 = " not";
            } else {
              tmp___46 = "";
            }
            error((char const   *)"\'%s\' is%s a valid path", *(argv___0 + i___1),
                  tmp___46);
            res___1 = const_error();
          } else {
            if (expect) {
              tmp___47 = "";
            } else {
              tmp___47 = " not";
            }
            fprintf(stderr, (char const   *)"\'%s\' is%s a valid path\n", *(argv___0 + i___1),
                    tmp___47);
          }
        } else {
          expect = 0;
        }
        i___1 ++;
      }
      while_break___6: /* CIL Label */ ;
      }
      return (! (! res___1));
    }
  }
  if (*(argv___0 + 1)) {
    tmp___50 = *(argv___0 + 1);
  } else {
    tmp___50 = (char const   *)"(there was none)";
  }
  fprintf(stderr, (char const   *)"%s: unknown function name: %s\n", *(argv___0 + 0),
          tmp___50);
  return (1);
}
}
int cmd__pcre2_config(int argc , char const   **argv___0 )
{
  int value ;
  int tmp ;

  {
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"has-PCRE2_MATCH_INVALID_UTF");
    if (! tmp) {
      value = 0;
      return (! value);
    }
  }
  return (1);
}
}
static void pack_line(char const   *line___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp___1 = strcmp(line___0, (char const   *)"0000");
  if (tmp___1) {
    tmp___2 = strcmp(line___0, (char const   *)"0000\n");
    if (tmp___2) {
      tmp = strcmp(line___0, (char const   *)"0001");
      if (tmp) {
        tmp___0 = strcmp(line___0, (char const   *)"0001\n");
        if (tmp___0) {
          packet_write_fmt(1, (char const   *)"%s", line___0);
        } else {
          packet_delim(1);
        }
      } else {
        packet_delim(1);
      }
    } else {
      packet_flush(1);
    }
  } else {
    packet_flush(1);
  }
  return;
}
}
static void pack(int argc , char const   **argv___0 )
{
  int i ;
  char line___0[65520] ;
  char *tmp ;

  {
  if (argc) {
    i = 0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i < argc)) {
        goto while_break;
      }
      pack_line(*(argv___0 + i));
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
  } else {
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp = fgets(line___0, (int )sizeof(line___0), stdin);
      if (! tmp) {
        goto while_break___0;
      }
      pack_line((char const   *)(line___0));
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  return;
}
}
static void pack_raw_stdin(void)
{
  struct strbuf sb___6 ;
  ssize_t tmp ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  tmp = strbuf_read(& sb___6, 0, (size_t )0);
  if (tmp < 0L) {
    die_errno((char const   *)"failed to read from stdin");
  }
  packet_write(1, (char const   *)sb___6.buf, sb___6.len);
  strbuf_release(& sb___6);
  return;
}
}
static void unpack___0(void)
{
  struct packet_reader reader ;
  enum packet_read_status tmp ;

  {
  packet_reader_init(& reader, 0, (char *)((void *)0), (size_t )0, (int )(1u | (1u << 1)));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = packet_reader_read(& reader);
    if (! ((unsigned int )tmp != 0U)) {
      goto while_break;
    }
    {
    if ((unsigned int )reader.status == 0U) {
      goto case_0;
    }
    if ((unsigned int )reader.status == 1U) {
      goto case_1;
    }
    if ((unsigned int )reader.status == 2U) {
      goto case_2;
    }
    if ((unsigned int )reader.status == 3U) {
      goto case_3;
    }
    if ((unsigned int )reader.status == 4U) {
      goto case_4;
    }
    goto switch_break;
    case_0: /* CIL Label */
    goto switch_break;
    case_1: /* CIL Label */
    printf((char const   *)"%s\n", reader.line);
    goto switch_break;
    case_2: /* CIL Label */
    printf((char const   *)"0000\n");
    goto switch_break;
    case_3: /* CIL Label */
    printf((char const   *)"0001\n");
    goto switch_break;
    case_4: /* CIL Label */
    printf((char const   *)"0002\n");
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void unpack_sideband(void)
{
  struct packet_reader reader ;
  int band ;
  int fd ;
  enum packet_read_status tmp ;

  {
  packet_reader_init(& reader, 0, (char *)((void *)0), (size_t )0, (int )(1u | (1u << 1)));
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = packet_reader_read(& reader);
    if (! ((unsigned int )tmp != 0U)) {
      goto while_break;
    }
    {
    if ((unsigned int )reader.status == 0U) {
      goto case_0;
    }
    if ((unsigned int )reader.status == 1U) {
      goto case_1;
    }
    if ((unsigned int )reader.status == 2U) {
      goto case_2;
    }
    if ((unsigned int )reader.status == 4U) {
      goto case_4;
    }
    if ((unsigned int )reader.status == 3U) {
      goto case_4;
    }
    goto switch_break;
    case_0: /* CIL Label */
    goto switch_break;
    case_1: /* CIL Label */
    band = (int )((int const   )*(reader.line + 0) & 255);
    if (band < 1) {
      goto while_continue;
    } else
    if (band > 2) {
      goto while_continue;
    }
    fd = band;
    write_or_die(fd, (void const   *)(reader.line + 1), (size_t )(reader.pktlen - 1));
    goto switch_break;
    case_2: /* CIL Label */
    return;
    case_4: /* CIL Label */
    case_3: /* CIL Label */
    goto switch_break;
    switch_break: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static int send_split_sideband(void)
{
  char const   *part1 ;
  char const   *primary ;
  char const   *part2 ;
  size_t tmp ;
  size_t tmp___0 ;
  size_t tmp___1 ;

  {
  part1 = (char const   *)"Hello,";
  primary = (char const   *)"\001primary: regular output\n";
  part2 = (char const   *)" world!\n";
  tmp = strlen(part1);
  send_sideband(1, 2, part1, (ssize_t )tmp, 65520);
  tmp___0 = strlen(primary);
  packet_write(1, primary, tmp___0);
  tmp___1 = strlen(part2);
  send_sideband(1, 2, part2, (ssize_t )tmp___1, 65520);
  packet_response_end(1);
  return (0);
}
}
static int receive_sideband(void)
{
  int tmp ;

  {
  tmp = recv_sideband((char const   *)"sideband", 0, 1);
  return (tmp);
}
}
int cmd__pkt_line(int argc , char const   **argv___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  if (argc < 2) {
    die((char const   *)"too few arguments");
  }
  tmp___4 = strcmp(*(argv___0 + 1), (char const   *)"pack");
  if (tmp___4) {
    tmp___3 = strcmp(*(argv___0 + 1), (char const   *)"pack-raw-stdin");
    if (tmp___3) {
      tmp___2 = strcmp(*(argv___0 + 1), (char const   *)"unpack");
      if (tmp___2) {
        tmp___1 = strcmp(*(argv___0 + 1), (char const   *)"unpack-sideband");
        if (tmp___1) {
          tmp___0 = strcmp(*(argv___0 + 1), (char const   *)"send-split-sideband");
          if (tmp___0) {
            tmp = strcmp(*(argv___0 + 1), (char const   *)"receive-sideband");
            if (tmp) {
              die((char const   *)"invalid argument \'%s\'", *(argv___0 + 1));
            } else {
              receive_sideband();
            }
          } else {
            send_split_sideband();
          }
        } else {
          unpack_sideband();
        }
      } else {
        unpack___0();
      }
    } else {
      pack_raw_stdin();
    }
  } else {
    pack(argc - 2, argv___0 + 2);
  }
  return (0);
}
}
static int intcmp(void const   *va , void const   *vb , void *data )
{
  int const   *a ;
  int const   *b___0 ;

  {
  a = (int const   *)va;
  b___0 = (int const   *)vb;
  return ((int )(*a - *b___0));
}
}
static void show___4(int *v )
{


  {
  if (! v) {
    printf((char const   *)"NULL\n");
  } else {
    printf((char const   *)"%d\n", *v);
  }
  free((void *)v);
  return;
}
}
int cmd__prio_queue(int argc , char const   **argv___0 )
{
  struct prio_queue pq ;
  void *peek ;
  void *tmp ;
  void *get___0 ;
  void *tmp___0 ;
  void *peek___0 ;
  void *get___1 ;
  int *v ;
  void *tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  pq.compare = & intcmp;
  pq.insertion_ctr = 0U;
  pq.cb_data = (void *)0;
  pq.alloc = 0;
  pq.nr = 0;
  pq.array = (struct prio_queue_entry *)0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    argv___0 ++;
    if (! *argv___0) {
      goto while_break;
    }
    tmp___4 = strcmp(*argv___0, (char const   *)"get");
    if (tmp___4) {
      tmp___3 = strcmp(*argv___0, (char const   *)"dump");
      if (tmp___3) {
        tmp___2 = strcmp(*argv___0, (char const   *)"stack");
        if (tmp___2) {
          tmp___1 = xmalloc(sizeof(*v));
          v = (int *)tmp___1;
          *v = atoi(*argv___0);
          prio_queue_put(& pq, (void *)v);
        } else {
          pq.compare = (int (*)(void const   *one , void const   *two , void *cb_data ))((void *)0);
        }
      } else {
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          peek___0 = prio_queue_peek(& pq);
          if (! peek___0) {
            goto while_break___0;
          }
          get___1 = prio_queue_get(& pq);
          if ((unsigned long )peek___0 != (unsigned long )get___1) {
            BUG_fl((char const   *)"t/helper/test-prio-queue.c", 37, (char const   *)"peek and get results do not match");
          }
          show___4((int *)get___1);
        }
        while_break___0: /* CIL Label */ ;
        }
      }
    } else {
      tmp = prio_queue_peek(& pq);
      peek = tmp;
      tmp___0 = prio_queue_get(& pq);
      get___0 = tmp___0;
      if ((unsigned long )peek != (unsigned long )get___0) {
        BUG_fl((char const   *)"t/helper/test-prio-queue.c", 29, (char const   *)"peek and get results do not match");
      }
      show___4((int *)get___0);
    }
  }
  while_break: /* CIL Label */ ;
  }
  clear_prio_queue(& pq);
  return (0);
}
}
static char const   *proc_receive_usage[2]  = {      (char const   *)"test-tool proc-receive [<options>...]",      (char const   *)((void *)0)};
static int die_read_version  ;
static int die_write_version  ;
static int die_read_commands  ;
static int die_read_push_options  ;
static int die_write_report  ;
static int no_push_options  ;
static int use_atomic___0  ;
static int use_push_options___0  ;
static int verbose___14  ;
static int version  =    1;
static struct string_list returns  =    {(struct string_list_item *)0, 0U, 0U, 0U, (int (*)(char const   * , char const   * ))0};
static void proc_receive_verison(struct packet_reader *reader )
{
  int server_version ;
  int linelen___1 ;
  enum packet_read_status tmp ;
  size_t tmp___0 ;
  char const   *feature_list ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char *tmp___4 ;

  {
  server_version = 0;
  if (die_read_version) {
    die((char const   *)"die with the --die-read-version option");
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = packet_reader_read(reader);
    if ((unsigned int )tmp != 1U) {
      goto while_break;
    }
    if (version == 0) {
      goto __Cont;
    }
    if (reader->pktlen > 8) {
      tmp___3 = starts_with(reader->line, (char const   *)"version=");
      if (tmp___3) {
        server_version = atoi(reader->line + 8);
        if (server_version != 1) {
          die((char const   *)"bad protocol version: %d", server_version);
        }
        tmp___0 = strlen(reader->line);
        linelen___1 = (int )tmp___0;
        if (linelen___1 < reader->pktlen) {
          feature_list = (reader->line + linelen___1) + 1;
          tmp___1 = parse_feature_request(feature_list, (char const   *)"atomic");
          if (tmp___1) {
            use_atomic___0 = 1;
          }
          tmp___2 = parse_feature_request(feature_list, (char const   *)"push-options");
          if (tmp___2) {
            use_push_options___0 = 1;
          }
        }
      }
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  if (die_write_version) {
    die((char const   *)"die with the --die-write-version option");
  }
  if (version != 0) {
    if (use_push_options___0) {
      if (! no_push_options) {
        tmp___4 = "push-options";
      } else {
        tmp___4 = "";
      }
    } else {
      tmp___4 = "";
    }
    packet_write_fmt(1, (char const   *)"version=%d%c%s\n", version, '\000', tmp___4);
  }
  packet_flush(1);
  return;
}
}
static void proc_receive_read_commands(struct packet_reader *reader , struct command___0 **commands___2 )
{
  struct command___0 **tail ;
  struct object_id old_oid ;
  struct object_id new_oid ;
  struct command___0 *cmd ;
  char const   *refname ;
  char const   *p___0 ;
  enum packet_read_status tmp ;
  int tmp___0 ;
  char const   *tmp___1 ;
  int tmp___2 ;
  char const   *tmp___3 ;
  size_t flex_array_len_ ;
  size_t tmp___4 ;
  size_t tmp___5 ;
  size_t tmp___6 ;
  void *tmp___7 ;

  {
  tail = commands___2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = packet_reader_read(reader);
    if ((unsigned int )tmp != 1U) {
      goto while_break;
    }
    if (die_read_commands) {
      die((char const   *)"die with the --die-read-commands option");
    }
    tmp___0 = parse_oid_hex(reader->line, & old_oid, & p___0);
    if (tmp___0) {
      die((char const   *)"protocol error: expected \'old new ref\', got \'%s\'",
          reader->line);
    } else {
      tmp___1 = p___0;
      p___0 ++;
      if ((int const   )*tmp___1 != 32) {
        die((char const   *)"protocol error: expected \'old new ref\', got \'%s\'",
            reader->line);
      } else {
        tmp___2 = parse_oid_hex(p___0, & new_oid, & p___0);
        if (tmp___2) {
          die((char const   *)"protocol error: expected \'old new ref\', got \'%s\'",
              reader->line);
        } else {
          tmp___3 = p___0;
          p___0 ++;
          if ((int const   )*tmp___3 != 32) {
            die((char const   *)"protocol error: expected \'old new ref\', got \'%s\'",
                reader->line);
          }
        }
      }
    }
    refname = p___0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      tmp___4 = strlen(refname);
      flex_array_len_ = tmp___4;
      tmp___5 = st_add(sizeof(*cmd), flex_array_len_);
      tmp___6 = st_add(tmp___5, (size_t )1);
      tmp___7 = xcalloc((size_t )1, tmp___6);
      cmd = (struct command___0 *)tmp___7;
      memcpy((void *)(cmd->ref_name), (void const   *)refname, flex_array_len_);
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    oidcpy(& cmd->old_oid, (struct object_id  const  *)(& old_oid));
    oidcpy(& cmd->new_oid, (struct object_id  const  *)(& new_oid));
    *tail = cmd;
    tail = & cmd->next;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void proc_receive_read_push_options(struct packet_reader *reader , struct string_list *options )
{
  enum packet_read_status tmp ;

  {
  if (no_push_options) {
    return;
  } else
  if (! use_push_options___0) {
    return;
  }
  if (die_read_push_options) {
    die((char const   *)"die with the --die-read-push-options option");
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp = packet_reader_read(reader);
    if ((unsigned int )tmp != 1U) {
      goto while_break;
    }
    string_list_append(options, reader->line);
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
int cmd__proc_receive(int argc , char const   **argv___0 )
{
  int nongit_ok ;
  struct packet_reader reader ;
  struct command___0 *commands___2 ;
  struct string_list push_options ;
  struct string_list_item *item___0 ;
  struct option options[10] ;
  struct command___0 *cmd ;
  char *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;
  char *tmp___2 ;

  {
  nongit_ok = 0;
  commands___2 = (struct command___0 *)((void *)0);
  push_options.items = (struct string_list_item *)0;
  push_options.nr = 0U;
  push_options.alloc = 0U;
  push_options.strdup_strings = 1U;
  push_options.cmp = (int (*)(char const   * , char const   * ))0;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"no-push-options";
  options[0].value = (void *)(& no_push_options);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"disable push options";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"die-read-version";
  options[1].value = (void *)(& die_read_version);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"die when reading version";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"die-write-version";
  options[2].value = (void *)(& die_write_version);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"die when writing version";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )1;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"die-read-commands";
  options[3].value = (void *)(& die_read_commands);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"die when reading commands";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )1;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"die-read-push-options";
  options[4].value = (void *)(& die_read_push_options);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"die when reading push-options";
  options[4].flags = (enum parse_opt_option_flags )2;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )1;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )8;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)"die-write-report";
  options[5].value = (void *)(& die_write_report);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"die when writing report";
  options[5].flags = (enum parse_opt_option_flags )2;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )1;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )12;
  options[6].short_name = 'r';
  options[6].long_name = (char const   *)"return";
  options[6].value = (void *)(& returns);
  options[6].argh = (char const   *)"old/new/ref/status/msg";
  options[6].help = (char const   *)"return of results";
  options[6].flags = (enum parse_opt_option_flags )0;
  options[6].callback = & parse_opt_string_list;
  options[6].defval = 0L;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )7;
  options[7].short_name = 'v';
  options[7].long_name = (char const   *)"verbose";
  options[7].value = (void *)(& verbose___14);
  options[7].argh = (char const   *)((void *)0);
  options[7].help = (char const   *)"be verbose";
  options[7].flags = (enum parse_opt_option_flags )2;
  options[7].callback = (parse_opt_cb *)0;
  options[7].defval = 0L;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  options[8].type = (enum parse_opt_type )10;
  options[8].short_name = 'V';
  options[8].long_name = (char const   *)"version";
  options[8].value = (void *)(& version);
  options[8].argh = (char const   *)"n";
  options[8].help = (char const   *)"use this protocol version number";
  options[8].flags = (enum parse_opt_option_flags )0;
  options[8].callback = (parse_opt_cb *)0;
  options[8].defval = 0L;
  options[8].ll_callback = (parse_opt_ll_cb *)0;
  options[8].extra = 0L;
  options[9].type = (enum parse_opt_type )0;
  options[9].short_name = 0;
  options[9].long_name = (char const   *)0;
  options[9].value = (void *)0;
  options[9].argh = (char const   *)0;
  options[9].help = (char const   *)0;
  options[9].flags = 0U;
  options[9].callback = (parse_opt_cb *)0;
  options[9].defval = 0L;
  options[9].ll_callback = (parse_opt_ll_cb *)0;
  options[9].extra = 0L;
  setup_git_directory_gently(& nongit_ok);
  argc = parse_options(argc, argv___0, (char const   *)"test-tools", (struct option  const  *)(options),
                       (char const   **)(proc_receive_usage), (enum parse_opt_flags )0);
  if (argc > 0) {
    usage_msg_opt((char const   *)"Too many arguments.", (char const   **)(proc_receive_usage),
                  (struct option  const  *)(options));
  }
  packet_reader_init(& reader, 0, (char *)((void *)0), (size_t )0, (int )((1u << 1) | 1u));
  sigchain_push(13, (void (*)(int  ))1);
  proc_receive_verison(& reader);
  proc_receive_read_commands(& reader, & commands___2);
  proc_receive_read_push_options(& reader, & push_options);
  if (verbose___14) {
    if (use_push_options___0) {
      goto _L;
    } else
    if (use_atomic___0) {
      _L: /* CIL Label */
      if (use_push_options___0) {
        tmp = " push_options";
      } else {
        tmp = "";
      }
      if (use_atomic___0) {
        tmp___0 = " atomic";
      } else {
        tmp___0 = "";
      }
      fprintf(stderr, (char const   *)"proc-receive:%s%s\n", tmp___0, tmp);
    }
    cmd = commands___2;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! cmd) {
        goto while_break;
      }
      tmp___1 = oid_to_hex((struct object_id  const  *)(& cmd->new_oid));
      tmp___2 = oid_to_hex((struct object_id  const  *)(& cmd->old_oid));
      fprintf(stderr, (char const   *)"proc-receive< %s %s %s\n", tmp___2, tmp___1,
              cmd->ref_name);
      cmd = cmd->next;
    }
    while_break: /* CIL Label */ ;
    }
    if (push_options.nr > 0U) {
      item___0 = push_options.items;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (item___0) {
          if (! ((unsigned long )item___0 < (unsigned long )(push_options.items + push_options.nr))) {
            goto while_break___0;
          }
        } else {
          goto while_break___0;
        }
        fprintf(stderr, (char const   *)"proc-receive< %s\n", item___0->string);
        item___0 ++;
      }
      while_break___0: /* CIL Label */ ;
      }
    }
    if (returns.nr) {
      item___0 = returns.items;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (item___0) {
          if (! ((unsigned long )item___0 < (unsigned long )(returns.items + returns.nr))) {
            goto while_break___1;
          }
        } else {
          goto while_break___1;
        }
        fprintf(stderr, (char const   *)"proc-receive> %s\n", item___0->string);
        item___0 ++;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
  }
  if (die_write_report) {
    die((char const   *)"die with the --die-write-report option");
  }
  if (returns.nr) {
    item___0 = returns.items;
    {
    while (1) {
      while_continue___2: /* CIL Label */ ;
      if (item___0) {
        if (! ((unsigned long )item___0 < (unsigned long )(returns.items + returns.nr))) {
          goto while_break___2;
        }
      } else {
        goto while_break___2;
      }
      packet_write_fmt(1, (char const   *)"%s\n", item___0->string);
      item___0 ++;
    }
    while_break___2: /* CIL Label */ ;
    }
  }
  packet_flush(1);
  sigchain_pop(13);
  return (0);
}
}
int cmd__progress(int argc , char const   **argv___0 )
{
  int total ;
  char const   *title ;
  struct strbuf line___0 ;
  struct progress *progress___7 ;
  char const   *usage___2[2] ;
  struct option options[2] ;
  char *end ;
  uint64_t item_count ;
  unsigned long long tmp ;
  uint64_t byte_count ;
  uint64_t test_ms ;
  unsigned long long tmp___0 ;
  unsigned long long tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  total = 0;
  line___0.alloc = 0UL;
  line___0.len = 0UL;
  line___0.buf = strbuf_slopbuf;
  usage___2[0] = (char const   *)"test-tool progress [--total=<n>] <progress-title>";
  usage___2[1] = (char const   *)((void *)0);
  options[0].type = (enum parse_opt_type )10;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"total";
  options[0].value = (void *)(& total);
  options[0].argh = (char const   *)"n";
  options[0].help = (char const   *)"total number of items";
  options[0].flags = (enum parse_opt_option_flags )0;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )0;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)0;
  options[1].value = (void *)0;
  options[1].argh = (char const   *)0;
  options[1].help = (char const   *)0;
  options[1].flags = 0U;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)(options),
                       (char const   **)(usage___2), (enum parse_opt_flags )0);
  if (argc != 1) {
    die((char const   *)"need a title for the progress output");
  }
  title = *(argv___0 + 0);
  progress_testing = 1;
  progress___7 = start_progress(title, (uint64_t )total);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___5 = strbuf_getline(& line___0, stdin);
    if (! (tmp___5 != -1)) {
      goto while_break;
    }
    tmp___4 = skip_prefix((char const   *)line___0.buf, (char const   *)"progress ",
                          (char const   **)(& end));
    if (tmp___4) {
      tmp = strtoull((char const   * __restrict  )end, (char ** __restrict  )(& end),
                     10);
      item_count = (uint64_t )tmp;
      if ((int )*end != 0) {
        die((char const   *)"invalid input: \'%s\'\n", line___0.buf);
      }
      display_progress(progress___7, item_count);
    } else {
      tmp___3 = skip_prefix((char const   *)line___0.buf, (char const   *)"throughput ",
                            (char const   **)(& end));
      if (tmp___3) {
        tmp___0 = strtoull((char const   * __restrict  )end, (char ** __restrict  )(& end),
                           10);
        byte_count = (uint64_t )tmp___0;
        if ((int )*end != 32) {
          die((char const   *)"invalid input: \'%s\'\n", line___0.buf);
        }
        tmp___1 = strtoull((char const   * __restrict  )(end + 1), (char ** __restrict  )(& end),
                           10);
        test_ms = (uint64_t )tmp___1;
        if ((int )*end != 0) {
          die((char const   *)"invalid input: \'%s\'\n", line___0.buf);
        }
        progress_test_ns = (test_ms * 1000UL) * 1000UL;
        display_throughput(progress___7, byte_count);
      } else {
        tmp___2 = strcmp((char const   *)line___0.buf, (char const   *)"update");
        if (tmp___2) {
          die((char const   *)"invalid input: \'%s\'\n", line___0.buf);
        } else {
          progress_test_force_update();
        }
      }
    }
  }
  while_break: /* CIL Label */ ;
  }
  stop_progress(& progress___7);
  return (0);
}
}
static void init_contains_cache_with_stride___29(struct contains_cache *s___1 , unsigned int stride )  __attribute__((__unused__)) ;
static void init_contains_cache_with_stride___29(struct contains_cache *s___1 , unsigned int stride )
{
  unsigned int elem_size ;

  {
  if (! stride) {
    stride = 1U;
  }
  s___1->stride = stride;
  elem_size = (unsigned int )(sizeof(enum contains_result ) * (unsigned long )stride);
  s___1->slab_size = 524256U / elem_size;
  s___1->slab_count = 0U;
  s___1->slab = (enum contains_result **)((void *)0);
  return;
}
}
static void init_contains_cache___29(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void init_contains_cache___29(struct contains_cache *s___1 )
{


  {
  init_contains_cache_with_stride___29(s___1, 1U);
  return;
}
}
static void clear_contains_cache___29(struct contains_cache *s___1 )  __attribute__((__unused__)) ;
static void clear_contains_cache___29(struct contains_cache *s___1 )
{
  unsigned int i ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    free((void *)*(s___1->slab + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  s___1->slab_count = 0U;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    free((void *)s___1->slab);
    s___1->slab = (enum contains_result **)((void *)0);
    goto while_break___0;
  }
  while_break___0: /* CIL Label */ ;
  }
  return;
}
}
static void deep_clear_contains_cache___29(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )  __attribute__((__unused__)) ;
static void deep_clear_contains_cache___29(struct contains_cache *s___1 , void (*free_fn)(enum contains_result * ) )
{
  unsigned int i ;
  unsigned int j ;

  {
  i = 0U;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < s___1->slab_count)) {
      goto while_break;
    }
    if (! *(s___1->slab + i)) {
      goto __Cont;
    }
    j = 0U;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (j < s___1->slab_size)) {
        goto while_break___0;
      }
      (*free_fn)(*(s___1->slab + i) + j * s___1->stride);
      j ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  clear_contains_cache___29(s___1);
  return;
}
}
static enum contains_result *contains_cache_at_peek___29(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at_peek___29(struct contains_cache *s___1 ,
                                                         struct commit  const  *c___0 ,
                                                         int add_if_missing )
{
  unsigned int nth_slab ;
  unsigned int nth_slot ;
  unsigned int i ;
  size_t tmp ;
  void *tmp___0 ;
  void *tmp___1 ;

  {
  nth_slab = (unsigned int )(c___0->index / (unsigned int )s___1->slab_size);
  nth_slot = (unsigned int )(c___0->index % (unsigned int )s___1->slab_size);
  if (s___1->slab_count <= nth_slab) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp = st_mult(sizeof(*(s___1->slab)), (size_t )(nth_slab + 1U));
    tmp___0 = xrealloc((void *)s___1->slab, tmp);
    s___1->slab = (enum contains_result **)tmp___0;
    i = s___1->slab_count;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (i <= nth_slab)) {
        goto while_break;
      }
      *(s___1->slab + i) = (enum contains_result *)((void *)0);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    s___1->slab_count = nth_slab + 1U;
  }
  if (! *(s___1->slab + nth_slab)) {
    if (! add_if_missing) {
      return ((enum contains_result *)((void *)0));
    }
    tmp___1 = xcalloc((size_t )s___1->slab_size, sizeof(*(*(s___1->slab))) * (unsigned long )s___1->stride);
    *(s___1->slab + nth_slab) = (enum contains_result *)tmp___1;
  }
  return (*(s___1->slab + nth_slab) + nth_slot * s___1->stride);
}
}
static enum contains_result *contains_cache_at___29(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_at___29(struct contains_cache *s___1 ,
                                                    struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___29(s___1, c___0, 1);
  return (tmp);
}
}
static enum contains_result *contains_cache_peek___29(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )  __attribute__((__unused__)) ;
static enum contains_result *contains_cache_peek___29(struct contains_cache *s___1 ,
                                                      struct commit  const  *c___0 )
{
  enum contains_result *tmp ;

  {
  tmp = contains_cache_at_peek___29(s___1, c___0, 0);
  return (tmp);
}
}
static void print_sorted_commit_ids(struct commit_list *list___3 )
{
  int i ;
  struct string_list s___1 ;
  char *tmp ;

  {
  s___1.items = (struct string_list_item *)0;
  s___1.nr = 0U;
  s___1.alloc = 0U;
  s___1.strdup_strings = 1U;
  s___1.cmp = (int (*)(char const   * , char const   * ))0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! list___3) {
      goto while_break;
    }
    tmp = oid_to_hex((struct object_id  const  *)(& (list___3->item)->object.oid));
    string_list_append(& s___1, (char const   *)tmp);
    list___3 = list___3->next;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_sort(& s___1);
  i = 0;
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! ((unsigned int )i < s___1.nr)) {
      goto while_break___0;
    }
    printf((char const   *)"%s\n", (s___1.items + i)->string);
    i ++;
  }
  while_break___0: /* CIL Label */ ;
  }
  string_list_clear(& s___1, 0);
  return;
}
}
int cmd__reach(int ac , char const   **av )
{
  struct object_id oid_A ;
  struct object_id oid_B ;
  struct commit *A ;
  struct commit *B ;
  struct commit_list *X ;
  struct commit_list *Y ;
  struct object_array X_obj ;
  struct commit **X_array ;
  struct commit **Y_array ;
  int X_nr ;
  int X_alloc ;
  int Y_nr ;
  int Y_alloc ;
  struct strbuf buf___19 ;
  struct repository *r ;
  int tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  size_t tmp___2 ;
  void *tmp___3 ;
  struct object_id oid ;
  struct object *orig ;
  struct object *peeled ;
  struct commit *c___0 ;
  int tmp___4 ;
  char *tmp___5 ;
  void *tmp___6 ;
  char *tmp___7 ;
  size_t tmp___8 ;
  void *tmp___9 ;
  int tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  struct commit_list *list___3 ;
  struct commit_list *tmp___19 ;
  struct commit_list *list___4 ;
  struct commit_list *tmp___20 ;
  int tmp___21 ;
  struct commit_list *iter___0 ;
  int tmp___22 ;
  struct ref_filter filter___0 ;
  struct contains_cache cache___0 ;
  int tmp___23 ;
  int tmp___24 ;
  int reachable_flag ;
  int i ;
  int count___0 ;
  struct commit_list *current ;
  struct commit_list *list___5 ;
  struct commit_list *tmp___25 ;
  char *tmp___26 ;
  char const __attribute__((__format_arg__(1)))  *tmp___27 ;
  char const __attribute__((__format_arg__(1)))  *tmp___28 ;
  int tmp___29 ;
  int tmp___30 ;
  int tmp___31 ;
  int tmp___32 ;
  int tmp___33 ;
  int tmp___34 ;
  int tmp___35 ;
  int tmp___36 ;
  int tmp___37 ;
  int tmp___38 ;

  {
  X_obj.nr = 0U;
  X_obj.alloc = 0U;
  X_obj.objects = (struct object_array_entry *)0;
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  r = the_repository;
  setup_git_directory();
  if (ac < 2) {
    tmp = trace2_cmd_exit_fl((char const   *)"t/helper/test-reach.c", 43, 1);
    exit(tmp);
  }
  B = (struct commit *)((void *)0);
  A = B;
  Y = (struct commit_list *)((void *)0);
  X = Y;
  Y_nr = 0;
  X_nr = Y_nr;
  Y_alloc = 16;
  X_alloc = Y_alloc;
  tmp___0 = st_mult(sizeof(*X_array), (size_t )X_alloc);
  tmp___1 = xmalloc(tmp___0);
  X_array = (struct commit **)tmp___1;
  tmp___2 = st_mult(sizeof(*Y_array), (size_t )Y_alloc);
  tmp___3 = xmalloc(tmp___2);
  Y_array = (struct commit **)tmp___3;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___14 = strbuf_getline(& buf___19, stdin);
    if (! (tmp___14 != -1)) {
      goto while_break;
    }
    if (buf___19.len < 3UL) {
      goto while_continue;
    }
    tmp___4 = repo_get_oid_committish(the_repository, (char const   *)(buf___19.buf + 2),
                                      & oid);
    if (tmp___4) {
      die((char const   *)"failed to resolve %s", buf___19.buf + 2);
    }
    orig = parse_object(r, (struct object_id  const  *)(& oid));
    peeled = deref_tag_noverify(orig);
    if (! peeled) {
      tmp___5 = oid_to_hex((struct object_id  const  *)(& oid));
      die((char const   *)"failed to load commit for input %s resulting in oid %s\n",
          buf___19.buf, tmp___5);
    }
    tmp___6 = object_as_type(peeled, (enum object_type )1, 0);
    c___0 = (struct commit *)tmp___6;
    if (! c___0) {
      tmp___7 = oid_to_hex((struct object_id  const  *)(& oid));
      die((char const   *)"failed to load commit for input %s resulting in oid %s\n",
          buf___19.buf, tmp___7);
    }
    {
    if ((int )*(buf___19.buf + 0) == 65) {
      goto case_65;
    }
    if ((int )*(buf___19.buf + 0) == 66) {
      goto case_66;
    }
    if ((int )*(buf___19.buf + 0) == 88) {
      goto case_88;
    }
    if ((int )*(buf___19.buf + 0) == 89) {
      goto case_89;
    }
    goto switch_default;
    case_65: /* CIL Label */
    oidcpy(& oid_A, (struct object_id  const  *)(& oid));
    A = c___0;
    goto switch_break;
    case_66: /* CIL Label */
    oidcpy(& oid_B, (struct object_id  const  *)(& oid));
    B = c___0;
    goto switch_break;
    case_88: /* CIL Label */
    commit_list_insert(c___0, & X);
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (X_nr + 1 > X_alloc) {
        if (((X_alloc + 16) * 3) / 2 < X_nr + 1) {
          X_alloc = X_nr + 1;
        } else {
          X_alloc = ((X_alloc + 16) * 3) / 2;
        }
        tmp___8 = st_mult(sizeof(*X_array), (size_t )X_alloc);
        tmp___9 = xrealloc((void *)X_array, tmp___8);
        X_array = (struct commit **)tmp___9;
      }
      goto while_break___0;
    }
    while_break___0: /* CIL Label */ ;
    }
    tmp___10 = X_nr;
    X_nr ++;
    *(X_array + tmp___10) = c___0;
    add_object_array(orig, (char const   *)((void *)0), & X_obj);
    goto switch_break;
    case_89: /* CIL Label */
    commit_list_insert(c___0, & Y);
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (Y_nr + 1 > Y_alloc) {
        if (((Y_alloc + 16) * 3) / 2 < Y_nr + 1) {
          Y_alloc = Y_nr + 1;
        } else {
          Y_alloc = ((Y_alloc + 16) * 3) / 2;
        }
        tmp___11 = st_mult(sizeof(*Y_array), (size_t )Y_alloc);
        tmp___12 = xrealloc((void *)Y_array, tmp___11);
        Y_array = (struct commit **)tmp___12;
      }
      goto while_break___1;
    }
    while_break___1: /* CIL Label */ ;
    }
    tmp___13 = Y_nr;
    Y_nr ++;
    *(Y_array + tmp___13) = c___0;
    goto switch_break;
    switch_default: /* CIL Label */
    die((char const   *)"unexpected start of line: %c", (int )*(buf___19.buf + 0));
    switch_break: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  tmp___38 = strcmp(*(av + 1), (char const   *)"ref_newer");
  if (tmp___38) {
    tmp___37 = strcmp(*(av + 1), (char const   *)"in_merge_bases");
    if (tmp___37) {
      tmp___36 = strcmp(*(av + 1), (char const   *)"in_merge_bases_many");
      if (tmp___36) {
        tmp___35 = strcmp(*(av + 1), (char const   *)"is_descendant_of");
        if (tmp___35) {
          tmp___34 = strcmp(*(av + 1), (char const   *)"get_merge_bases_many");
          if (tmp___34) {
            tmp___33 = strcmp(*(av + 1), (char const   *)"reduce_heads");
            if (tmp___33) {
              tmp___32 = strcmp(*(av + 1), (char const   *)"can_all_from_reach");
              if (tmp___32) {
                tmp___31 = strcmp(*(av + 1), (char const   *)"can_all_from_reach_with_flag");
                if (tmp___31) {
                  tmp___30 = strcmp(*(av + 1), (char const   *)"commit_contains");
                  if (tmp___30) {
                    tmp___29 = strcmp(*(av + 1), (char const   *)"get_reachable_subset");
                    if (! tmp___29) {
                      reachable_flag = (int )1;
                      count___0 = 0;
                      tmp___25 = get_reachable_subset(X_array, X_nr, Y_array, Y_nr,
                                                      (unsigned int )reachable_flag);
                      list___5 = tmp___25;
                      printf((char const   *)"get_reachable_subset(X,Y)\n");
                      current = list___5;
                      {
                      while (1) {
                        while_continue___2: /* CIL Label */ ;
                        if (! current) {
                          goto while_break___2;
                        }
                        if (! ((list___5->item)->object.flags & (unsigned int )reachable_flag)) {
                          tmp___26 = oid_to_hex((struct object_id  const  *)(& (list___5->item)->object.oid));
                          tmp___27 = _((char const   *)"commit %s is not marked reachable");
                          die((char const   *)tmp___27, tmp___26);
                        }
                        count___0 ++;
                        current = current->next;
                      }
                      while_break___2: /* CIL Label */ ;
                      }
                      i = 0;
                      {
                      while (1) {
                        while_continue___3: /* CIL Label */ ;
                        if (! (i < Y_nr)) {
                          goto while_break___3;
                        }
                        if ((*(Y_array + i))->object.flags & (unsigned int )reachable_flag) {
                          count___0 --;
                        }
                        i ++;
                      }
                      while_break___3: /* CIL Label */ ;
                      }
                      if (count___0 < 0) {
                        tmp___28 = _((char const   *)"too many commits marked reachable");
                        die((char const   *)tmp___28);
                      }
                      print_sorted_commit_ids(list___5);
                    }
                  } else {
                    init_contains_cache___29(& cache___0);
                    if (ac > 2) {
                      tmp___23 = strcmp(*(av + 2), (char const   *)"--tag");
                      if (tmp___23) {
                        filter___0.with_commit_tag_algo = 0U;
                      } else {
                        filter___0.with_commit_tag_algo = 1U;
                      }
                    } else {
                      filter___0.with_commit_tag_algo = 0U;
                    }
                    tmp___24 = commit_contains(& filter___0, A, X, & cache___0);
                    printf((char const   *)"%s(_,A,X,_):%d\n", *(av + 1), tmp___24);
                  }
                } else {
                  iter___0 = Y;
                  {
                  while (1) {
                    while_continue___4: /* CIL Label */ ;
                    if (! iter___0) {
                      goto while_break___4;
                    }
                    (iter___0->item)->object.flags |= 2U;
                    iter___0 = iter___0->next;
                  }
                  while_break___4: /* CIL Label */ ;
                  }
                  tmp___22 = can_all_from_reach_with_flag(& X_obj, 2U, 4U, (time_t )0,
                                                          (timestamp_t )0);
                  printf((char const   *)"%s(X,_,_,0,0):%d\n", *(av + 1), tmp___22);
                }
              } else {
                tmp___21 = can_all_from_reach(X, Y, 1);
                printf((char const   *)"%s(X,Y):%d\n", *(av + 1), tmp___21);
              }
            } else {
              tmp___20 = reduce_heads(X);
              list___4 = tmp___20;
              printf((char const   *)"%s(X):\n", *(av + 1));
              print_sorted_commit_ids(list___4);
            }
          } else {
            tmp___19 = repo_get_merge_bases_many(the_repository, A, X_nr, X_array);
            list___3 = tmp___19;
            printf((char const   *)"%s(A,X):\n", *(av + 1));
            print_sorted_commit_ids(list___3);
          }
        } else {
          tmp___18 = repo_is_descendant_of(r, A, X);
          printf((char const   *)"%s(A,X):%d\n", *(av + 1), tmp___18);
        }
      } else {
        tmp___17 = repo_in_merge_bases_many(the_repository, A, X_nr, X_array);
        printf((char const   *)"%s(A,X):%d\n", *(av + 1), tmp___17);
      }
    } else {
      tmp___16 = repo_in_merge_bases(the_repository, A, B);
      printf((char const   *)"%s(A,B):%d\n", *(av + 1), tmp___16);
    }
  } else {
    tmp___15 = ref_newer((struct object_id  const  *)(& oid_A), (struct object_id  const  *)(& oid_B));
    printf((char const   *)"%s(A,B):%d\n", *(av + 1), tmp___15);
  }
  return (0);
}
}
int cmd__read_cache(int argc , char const   **argv___0 )
{
  int i ;
  int cnt ;
  char const   *name___0 ;
  int tmp ;
  long tmp___0 ;
  int pos ;
  size_t tmp___1 ;
  char *tmp___2 ;

  {
  cnt = 1;
  name___0 = (char const   *)((void *)0);
  initialize_the_repository();
  if (argc > 1) {
    tmp = skip_prefix(*(argv___0 + 1), (char const   *)"--print-and-refresh=", & name___0);
    if (tmp) {
      argc --;
      argv___0 ++;
    }
  }
  if (argc == 2) {
    tmp___0 = strtol((char const   * __restrict  )*(argv___0 + 1), (char ** __restrict  )((void *)0),
                     0);
    cnt = (int )tmp___0;
  }
  setup_git_directory();
  git_config(& git_default_config, (void *)0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < cnt)) {
      goto while_break;
    }
    repo_read_index(the_repository);
    if (name___0) {
      refresh_index(& the_index, (unsigned int )(1 << 2), (struct pathspec  const  *)((void *)0),
                    (char *)((void *)0), (char const   *)((void *)0));
      tmp___1 = strlen(name___0);
      pos = index_name_pos(& the_index, name___0, (int )tmp___1);
      if (pos < 0) {
        die((char const   *)"%s not in index", name___0);
      }
      if ((*(the_index.cache + pos))->ce_flags & (unsigned int )(1 << 18)) {
        tmp___2 = "";
      } else {
        tmp___2 = " not";
      }
      printf((char const   *)"%s is%s up to date\n", name___0, tmp___2);
      write_file(name___0, (char const   *)"%d\n", i);
    }
    discard_index(& the_index);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static double const   __ac_HASH_UPPER___167  =    (double const   )0.77;
__inline static void kh_resize_oid_set___167(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___167(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___167 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___167 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___167(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___167(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___167(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___167(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___167(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___167(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___167 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___167 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___167(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___167(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___167(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___167(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___167(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___167(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___167 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___167 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___167(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___167(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___167(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___167(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___122(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___122(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___167 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___167 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___122(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___122(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___122(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___122(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
int cmd__read_graph(int argc , char const   **argv___0 )
{
  struct commit_graph *graph ;
  struct object_directory *odb ;
  uint32_t tmp ;

  {
  graph = (struct commit_graph *)((void *)0);
  setup_git_directory();
  odb = (the_repository->objects)->odb;
  prepare_repo_settings(the_repository);
  graph = read_commit_graph_one(the_repository, odb);
  if (! graph) {
    return (1);
  }
  tmp = git_bswap32(*((uint32_t *)graph->data));
  printf((char const   *)"header: %08x %d %d %d %d\n", tmp, (int )*((unsigned char *)(graph->data + 4)),
         (int )*((unsigned char *)(graph->data + 5)), (int )*((unsigned char *)(graph->data + 6)),
         (int )*((unsigned char *)(graph->data + 7)));
  printf((char const   *)"num_commits: %u\n", graph->num_commits);
  printf((char const   *)"chunks:");
  if (graph->chunk_oid_fanout) {
    printf((char const   *)" oid_fanout");
  }
  if (graph->chunk_oid_lookup) {
    printf((char const   *)" oid_lookup");
  }
  if (graph->chunk_commit_data) {
    printf((char const   *)" commit_metadata");
  }
  if (graph->chunk_generation_data) {
    printf((char const   *)" generation_data");
  }
  if (graph->chunk_generation_data_overflow) {
    printf((char const   *)" generation_data_overflow");
  }
  if (graph->chunk_extra_edges) {
    printf((char const   *)" extra_edges");
  }
  if (graph->chunk_bloom_indexes) {
    printf((char const   *)" bloom_indexes");
  }
  if (graph->chunk_bloom_data) {
    printf((char const   *)" bloom_data");
  }
  printf((char const   *)"\n");
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    goto while_break;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static char const   BITMAP_IDX_SIGNATURE___8[4] ;
static double const   __ac_HASH_UPPER___168  =    (double const   )0.77;
__inline static void kh_resize_oid_set___168(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___168(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___168 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___168 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___168(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___168(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___168(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___168(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___168(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___168(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___168 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___168 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___168(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___168(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___168(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___168(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___168(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___168(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___168 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___168 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___168(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___168(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___168(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___168(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___123(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___123(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___168 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___168 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___123(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___123(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___123(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___123(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static char const   BITMAP_IDX_SIGNATURE___8[4]  = {      (char const   )'B',      (char const   )'I',      (char const   )'T',      (char const   )'M'};
static int read_midx_file(char const   *object_dir , int show_objects )
{
  uint32_t i ;
  struct multi_pack_index *m ;
  struct object_id oid ;
  struct pack_entry e ;
  char *tmp ;

  {
  setup_git_directory();
  m = load_multi_pack_index(object_dir, 1);
  if (! m) {
    return (1);
  }
  printf((char const   *)"header: %08x %d %d %d %d\n", m->signature, (int )m->version,
         (int )m->hash_len, (int )m->num_chunks, m->num_packs);
  printf((char const   *)"chunks:");
  if (m->chunk_pack_names) {
    printf((char const   *)" pack-names");
  }
  if (m->chunk_oid_fanout) {
    printf((char const   *)" oid-fanout");
  }
  if (m->chunk_oid_lookup) {
    printf((char const   *)" oid-lookup");
  }
  if (m->chunk_object_offsets) {
    printf((char const   *)" object-offsets");
  }
  if (m->chunk_large_offsets) {
    printf((char const   *)" large-offsets");
  }
  printf((char const   *)"\nnum_objects: %d\n", m->num_objects);
  printf((char const   *)"packs:\n");
  i = (uint32_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < m->num_packs)) {
      goto while_break;
    }
    printf((char const   *)"%s\n", *(m->pack_names + i));
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  printf((char const   *)"object-dir: %s\n", m->object_dir);
  if (show_objects) {
    i = (uint32_t )0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < m->num_objects)) {
        goto while_break___0;
      }
      nth_midxed_object_oid(& oid, m, i);
      fill_midx_entry(the_repository, (struct object_id  const  *)(& oid), & e, m);
      tmp = oid_to_hex((struct object_id  const  *)(& oid));
      printf((char const   *)"%s %lu\t%s\n", tmp, e.offset, (e.p)->pack_name);
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  close_midx(m);
  return (0);
}
}
static int read_midx_checksum(char const   *object_dir )
{
  struct multi_pack_index *m ;
  unsigned char const   *tmp ;
  char *tmp___0 ;

  {
  setup_git_directory();
  m = load_multi_pack_index(object_dir, 1);
  if (! m) {
    return (1);
  }
  tmp = get_midx_checksum(m);
  tmp___0 = hash_to_hex(tmp);
  printf((char const   *)"%s\n", tmp___0);
  return (0);
}
}
static int read_midx_preferred_pack(char const   *object_dir )
{
  struct multi_pack_index *midx ;
  struct bitmap_index *bitmap ;
  int tmp ;
  uint32_t tmp___0 ;

  {
  midx = (struct multi_pack_index *)((void *)0);
  bitmap = (struct bitmap_index *)((void *)0);
  setup_git_directory();
  midx = load_multi_pack_index(object_dir, 1);
  if (! midx) {
    return (1);
  }
  bitmap = prepare_bitmap_git(the_repository);
  if (! bitmap) {
    return (1);
  }
  tmp = bitmap_is_midx(bitmap);
  if (! tmp) {
    free_bitmap_index(bitmap);
    return (1);
  }
  tmp___0 = midx_preferred_pack(bitmap);
  printf((char const   *)"%s\n", *(midx->pack_names + tmp___0));
  free_bitmap_index(bitmap);
  return (0);
}
}
int cmd__read_midx(int argc , char const   **argv___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;

  {
  if (! (argc == 2)) {
    if (! (argc == 3)) {
      usage((char const   *)"read-midx [--show-objects|--checksum|--preferred-pack] <object-dir>");
    }
  }
  tmp___4 = strcmp(*(argv___0 + 1), (char const   *)"--show-objects");
  if (tmp___4) {
    tmp___3 = strcmp(*(argv___0 + 1), (char const   *)"--checksum");
    if (tmp___3) {
      tmp___2 = strcmp(*(argv___0 + 1), (char const   *)"--preferred-pack");
      if (! tmp___2) {
        tmp___1 = read_midx_preferred_pack(*(argv___0 + 2));
        return (tmp___1);
      }
    } else {
      tmp___0 = read_midx_checksum(*(argv___0 + 2));
      return (tmp___0);
    }
  } else {
    tmp = read_midx_file(*(argv___0 + 2), 1);
    return (tmp);
  }
  tmp___5 = read_midx_file(*(argv___0 + 1), 0);
  return (tmp___5);
}
}
static double const   __ac_HASH_UPPER___169  =    (double const   )0.77;
__inline static void kh_resize_oid_set___169(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___169(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___169 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___169 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___169(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___169(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___169(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___169(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___169(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___169(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___169 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___169 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___169(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___169(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___169(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___169(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___169(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___169(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___169 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___169 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___169(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___169(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___169(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___169(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___124(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___124(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___169 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___169 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___124(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___124(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___124(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___124(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static unsigned int parse_flags(char const   *str , struct flag_definition *defs )
{
  struct string_list masks ;
  int i ;
  unsigned int result___0 ;
  int tmp ;
  char const   *name___0 ;
  struct flag_definition *def___0 ;
  int found ;
  int tmp___0 ;

  {
  masks.items = (struct string_list_item *)0;
  masks.nr = 0U;
  masks.alloc = 0U;
  masks.strdup_strings = 1U;
  masks.cmp = (int (*)(char const   * , char const   * ))0;
  i = 0;
  result___0 = 0U;
  tmp = strcmp(str, (char const   *)"0");
  if (! tmp) {
    return (0U);
  }
  string_list_split(& masks, str, ',', 64);
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < masks.nr)) {
      goto while_break;
    }
    name___0 = (char const   *)(masks.items + i)->string;
    def___0 = defs;
    found = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! def___0->name) {
        goto while_break___0;
      }
      tmp___0 = strcmp(def___0->name, name___0);
      if (! tmp___0) {
        result___0 = (unsigned int )((unsigned long )result___0 | def___0->mask);
        found = 1;
        goto while_break___0;
      }
      def___0 ++;
    }
    while_break___0: /* CIL Label */ ;
    }
    if (! found) {
      die((char const   *)"unknown flag \"%s\"", name___0);
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  string_list_clear(& masks, 0);
  return (result___0);
}
}
static struct flag_definition empty_flags[1]  = {      {(char const   *)((void *)0), (uint64_t )0}};
static char const   *notnull(char const   *arg , char const   *name___0 )
{


  {
  if (! arg) {
    die((char const   *)"%s required", name___0);
  }
  return (arg);
}
}
static unsigned int arg_flags(char const   *arg , char const   *name___0 , struct flag_definition *defs )
{
  char const   *tmp ;
  unsigned int tmp___0 ;

  {
  tmp = notnull(arg, name___0);
  tmp___0 = parse_flags(tmp, defs);
  return (tmp___0);
}
}
static char const   **get_store(char const   **argv___0 , struct ref_store **refs___0 )
{
  char const   *gitdir___0 ;
  struct strbuf sb___6 ;
  int ret___67 ;
  struct worktree **p___0 ;
  struct worktree **worktrees ;
  struct worktree **tmp ;
  struct worktree *wt ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;

  {
  if (! *(argv___0 + 0)) {
    die((char const   *)"ref store required");
  } else {
    tmp___4 = strcmp(*(argv___0 + 0), (char const   *)"main");
    if (tmp___4) {
      tmp___3 = skip_prefix(*(argv___0 + 0), (char const   *)"submodule:", & gitdir___0);
      if (tmp___3) {
        sb___6.alloc = 0UL;
        sb___6.len = 0UL;
        sb___6.buf = strbuf_slopbuf;
        ret___67 = strbuf_git_path_submodule(& sb___6, gitdir___0, (char const   *)"objects/");
        if (ret___67) {
          die((char const   *)"strbuf_git_path_submodule failed: %d", ret___67);
        }
        add_to_alternates_memory((char const   *)sb___6.buf);
        strbuf_release(& sb___6);
        *refs___0 = get_submodule_ref_store(gitdir___0);
      } else {
        tmp___2 = skip_prefix(*(argv___0 + 0), (char const   *)"worktree:", & gitdir___0);
        if (tmp___2) {
          tmp = get_worktrees();
          worktrees = tmp;
          p___0 = worktrees;
          {
          while (1) {
            while_continue: /* CIL Label */ ;
            if (! *p___0) {
              goto while_break;
            }
            wt = *p___0;
            if (! wt->id) {
              tmp___0 = strcmp(gitdir___0, (char const   *)"main");
              if (! tmp___0) {
                goto while_break;
              }
            } else {
              tmp___1 = strcmp(gitdir___0, (char const   *)wt->id);
              if (! tmp___1) {
                goto while_break;
              }
            }
            p___0 ++;
          }
          while_break: /* CIL Label */ ;
          }
          if (! *p___0) {
            die((char const   *)"no such worktree: %s", gitdir___0);
          }
          *refs___0 = get_worktree_ref_store((struct worktree  const  *)*p___0);
        } else {
          die((char const   *)"unknown backend %s", *(argv___0 + 0));
        }
      }
    } else {
      *refs___0 = get_main_ref_store(the_repository);
    }
  }
  if (! *refs___0) {
    die((char const   *)"no ref store");
  }
  return (argv___0 + 1);
}
}
static struct flag_definition pack_flags[3]  = {      {(char const   *)"PACK_REFS_PRUNE", (uint64_t )0x0001},
        {(char const   *)"PACK_REFS_ALL", (uint64_t )0x0002},
        {(char const   *)((void *)0), (uint64_t )0}};
static int cmd_pack_refs___0(struct ref_store *refs___0 , char const   **argv___0 )
{
  unsigned int flags___0 ;
  char const   **tmp ;
  unsigned int tmp___0 ;
  int tmp___1 ;

  {
  tmp = argv___0;
  argv___0 ++;
  tmp___0 = arg_flags(*tmp, (char const   *)"flags", pack_flags);
  flags___0 = tmp___0;
  tmp___1 = refs_pack_refs(refs___0, flags___0);
  return (tmp___1);
}
}
static int cmd_create_symref(struct ref_store *refs___0 , char const   **argv___0 )
{
  char const   *refname ;
  char const   **tmp ;
  char const   *tmp___0 ;
  char const   *target ;
  char const   **tmp___1 ;
  char const   *tmp___2 ;
  char const   *logmsg ;
  char const   **tmp___3 ;
  int tmp___4 ;

  {
  tmp = argv___0;
  argv___0 ++;
  tmp___0 = notnull(*tmp, (char const   *)"refname");
  refname = tmp___0;
  tmp___1 = argv___0;
  argv___0 ++;
  tmp___2 = notnull(*tmp___1, (char const   *)"target");
  target = tmp___2;
  tmp___3 = argv___0;
  argv___0 ++;
  logmsg = *tmp___3;
  tmp___4 = refs_create_symref(refs___0, refname, target, logmsg);
  return (tmp___4);
}
}
static struct flag_definition transaction_flags[5]  = {      {(char const   *)"REF_NO_DEREF", (uint64_t )1},
        {(char const   *)"REF_FORCE_CREATE_REFLOG", (uint64_t )(1 << 1)},
        {(char const   *)"REF_SKIP_OID_VERIFICATION", (uint64_t )(1 << 10)},
        {(char const   *)"REF_SKIP_REFNAME_VERIFICATION", (uint64_t )(1 << 11)},
        {(char const   *)((void *)0), (uint64_t )0}};
static int cmd_delete_refs(struct ref_store *refs___0 , char const   **argv___0 )
{
  unsigned int flags___0 ;
  char const   **tmp ;
  unsigned int tmp___0 ;
  char const   *msg___5 ;
  char const   **tmp___1 ;
  struct string_list refnames ;
  int result___0 ;
  char const   **tmp___2 ;

  {
  tmp = argv___0;
  argv___0 ++;
  tmp___0 = arg_flags(*tmp, (char const   *)"flags", transaction_flags);
  flags___0 = tmp___0;
  tmp___1 = argv___0;
  argv___0 ++;
  msg___5 = *tmp___1;
  refnames.items = (struct string_list_item *)0;
  refnames.nr = 0U;
  refnames.alloc = 0U;
  refnames.strdup_strings = 0U;
  refnames.cmp = (int (*)(char const   * , char const   * ))0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! *argv___0) {
      goto while_break;
    }
    tmp___2 = argv___0;
    argv___0 ++;
    string_list_append(& refnames, *tmp___2);
  }
  while_break: /* CIL Label */ ;
  }
  result___0 = refs_delete_refs(refs___0, msg___5, & refnames, flags___0);
  string_list_clear(& refnames, 0);
  return (result___0);
}
}
static int cmd_rename_ref(struct ref_store *refs___0 , char const   **argv___0 )
{
  char const   *oldref ;
  char const   **tmp ;
  char const   *tmp___0 ;
  char const   *newref ;
  char const   **tmp___1 ;
  char const   *tmp___2 ;
  char const   *logmsg ;
  char const   **tmp___3 ;
  int tmp___4 ;

  {
  tmp = argv___0;
  argv___0 ++;
  tmp___0 = notnull(*tmp, (char const   *)"oldref");
  oldref = tmp___0;
  tmp___1 = argv___0;
  argv___0 ++;
  tmp___2 = notnull(*tmp___1, (char const   *)"newref");
  newref = tmp___2;
  tmp___3 = argv___0;
  argv___0 ++;
  logmsg = *tmp___3;
  tmp___4 = refs_rename_ref(refs___0, oldref, newref, logmsg);
  return (tmp___4);
}
}
static int each_ref(char const   *refname , struct object_id  const  *oid , int flags___0 ,
                    void *cb_data )
{
  char *tmp ;

  {
  tmp = oid_to_hex(oid);
  printf((char const   *)"%s %s 0x%x\n", tmp, refname, flags___0);
  return (0);
}
}
static int cmd_for_each_ref___0(struct ref_store *refs___0 , char const   **argv___0 )
{
  char const   *prefix___1 ;
  char const   **tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  tmp = argv___0;
  argv___0 ++;
  tmp___0 = notnull(*tmp, (char const   *)"prefix");
  prefix___1 = tmp___0;
  tmp___1 = refs_for_each_ref_in(refs___0, prefix___1, & each_ref, (void *)0);
  return (tmp___1);
}
}
static int cmd_resolve_ref(struct ref_store *refs___0 , char const   **argv___0 )
{
  struct object_id oid ;
  struct object_id  const  *tmp ;
  char const   *refname ;
  char const   **tmp___0 ;
  char const   *tmp___1 ;
  int resolve_flags ;
  char const   **tmp___2 ;
  unsigned int tmp___3 ;
  int flags___0 ;
  char const   *ref ;
  int ignore_errno ;
  char const   *tmp___4 ;
  char *tmp___5 ;
  int tmp___6 ;

  {
  tmp = null_oid();
  oid = *tmp;
  tmp___0 = argv___0;
  argv___0 ++;
  tmp___1 = notnull(*tmp___0, (char const   *)"refname");
  refname = tmp___1;
  tmp___2 = argv___0;
  argv___0 ++;
  tmp___3 = arg_flags(*tmp___2, (char const   *)"resolve-flags", empty_flags);
  resolve_flags = (int )tmp___3;
  ref = refs_resolve_ref_unsafe(refs___0, refname, resolve_flags, & oid, & flags___0,
                                & ignore_errno);
  if (ref) {
    tmp___4 = ref;
  } else {
    tmp___4 = (char const   *)"(null)";
  }
  tmp___5 = oid_to_hex((struct object_id  const  *)(& oid));
  printf((char const   *)"%s %s 0x%x\n", tmp___5, tmp___4, flags___0);
  if (ref) {
    tmp___6 = 0;
  } else {
    tmp___6 = 1;
  }
  return (tmp___6);
}
}
static int cmd_verify_ref(struct ref_store *refs___0 , char const   **argv___0 )
{
  char const   *refname ;
  char const   **tmp ;
  char const   *tmp___0 ;
  struct strbuf err___4 ;
  int ret___67 ;

  {
  tmp = argv___0;
  argv___0 ++;
  tmp___0 = notnull(*tmp, (char const   *)"refname");
  refname = tmp___0;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  ret___67 = refs_verify_refname_available(refs___0, refname, (struct string_list  const  *)((void *)0),
                                           (struct string_list  const  *)((void *)0),
                                           & err___4);
  if (err___4.len) {
    puts((char const   *)err___4.buf);
  }
  return (ret___67);
}
}
static int cmd_for_each_reflog(struct ref_store *refs___0 , char const   **argv___0 )
{
  int tmp ;

  {
  tmp = refs_for_each_reflog(refs___0, & each_ref, (void *)0);
  return (tmp);
}
}
static int each_reflog(struct object_id *old_oid , struct object_id *new_oid , char const   *committer ,
                       timestamp_t timestamp___0 , int tz , char const   *msg___5 ,
                       void *cb_data )
{
  char *tmp ;
  char *tmp___0 ;
  char *tmp___1 ;

  {
  if ((int const   )*msg___5 == 10) {
    tmp = "";
  } else {
    tmp = "\t";
  }
  tmp___0 = oid_to_hex((struct object_id  const  *)new_oid);
  tmp___1 = oid_to_hex((struct object_id  const  *)old_oid);
  printf((char const   *)"%s %s %s %lu %+05d%s%s", tmp___1, tmp___0, committer, timestamp___0,
         tz, tmp, msg___5);
  return (0);
}
}
static int cmd_for_each_reflog_ent(struct ref_store *refs___0 , char const   **argv___0 )
{
  char const   *refname ;
  char const   **tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  tmp = argv___0;
  argv___0 ++;
  tmp___0 = notnull(*tmp, (char const   *)"refname");
  refname = tmp___0;
  tmp___1 = refs_for_each_reflog_ent(refs___0, refname, & each_reflog, (void *)refs___0);
  return (tmp___1);
}
}
static int cmd_for_each_reflog_ent_reverse(struct ref_store *refs___0 , char const   **argv___0 )
{
  char const   *refname ;
  char const   **tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  tmp = argv___0;
  argv___0 ++;
  tmp___0 = notnull(*tmp, (char const   *)"refname");
  refname = tmp___0;
  tmp___1 = refs_for_each_reflog_ent_reverse(refs___0, refname, & each_reflog, (void *)refs___0);
  return (tmp___1);
}
}
static int cmd_reflog_exists___0(struct ref_store *refs___0 , char const   **argv___0 )
{
  char const   *refname ;
  char const   **tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  tmp = argv___0;
  argv___0 ++;
  tmp___0 = notnull(*tmp, (char const   *)"refname");
  refname = tmp___0;
  tmp___1 = refs_reflog_exists(refs___0, refname);
  if (tmp___1) {
    tmp___2 = 0;
  } else {
    tmp___2 = 1;
  }
  return (tmp___2);
}
}
static int cmd_create_reflog(struct ref_store *refs___0 , char const   **argv___0 )
{
  char const   *refname ;
  char const   **tmp ;
  char const   *tmp___0 ;
  struct strbuf err___4 ;
  int ret___67 ;

  {
  tmp = argv___0;
  argv___0 ++;
  tmp___0 = notnull(*tmp, (char const   *)"refname");
  refname = tmp___0;
  err___4.alloc = 0UL;
  err___4.len = 0UL;
  err___4.buf = strbuf_slopbuf;
  ret___67 = refs_create_reflog(refs___0, refname, & err___4);
  if (err___4.len) {
    puts((char const   *)err___4.buf);
  }
  return (ret___67);
}
}
static int cmd_delete_reflog(struct ref_store *refs___0 , char const   **argv___0 )
{
  char const   *refname ;
  char const   **tmp ;
  char const   *tmp___0 ;
  int tmp___1 ;

  {
  tmp = argv___0;
  argv___0 ++;
  tmp___0 = notnull(*tmp, (char const   *)"refname");
  refname = tmp___0;
  tmp___1 = refs_delete_reflog(refs___0, refname);
  return (tmp___1);
}
}
static int cmd_reflog_expire___0(struct ref_store *refs___0 , char const   **argv___0 )
{


  {
  die((char const   *)"not supported yet");
}
}
static int cmd_delete_ref(struct ref_store *refs___0 , char const   **argv___0 )
{
  char const   *msg___5 ;
  char const   **tmp ;
  char const   *tmp___0 ;
  char const   *refname ;
  char const   **tmp___1 ;
  char const   *tmp___2 ;
  char const   *sha1_buf ;
  char const   **tmp___3 ;
  char const   *tmp___4 ;
  unsigned int flags___0 ;
  char const   **tmp___5 ;
  unsigned int tmp___6 ;
  struct object_id old_oid ;
  int tmp___7 ;
  int tmp___8 ;

  {
  tmp = argv___0;
  argv___0 ++;
  tmp___0 = notnull(*tmp, (char const   *)"msg");
  msg___5 = tmp___0;
  tmp___1 = argv___0;
  argv___0 ++;
  tmp___2 = notnull(*tmp___1, (char const   *)"refname");
  refname = tmp___2;
  tmp___3 = argv___0;
  argv___0 ++;
  tmp___4 = notnull(*tmp___3, (char const   *)"old-sha1");
  sha1_buf = tmp___4;
  tmp___5 = argv___0;
  argv___0 ++;
  tmp___6 = arg_flags(*tmp___5, (char const   *)"flags", transaction_flags);
  flags___0 = tmp___6;
  tmp___7 = get_oid_hex(sha1_buf, & old_oid);
  if (tmp___7) {
    die((char const   *)"cannot parse %s as %s", sha1_buf, (the_repository->hash_algo)->name);
  }
  tmp___8 = refs_delete_ref(refs___0, msg___5, refname, (struct object_id  const  *)(& old_oid),
                            flags___0);
  return (tmp___8);
}
}
static int cmd_update_ref___0(struct ref_store *refs___0 , char const   **argv___0 )
{
  char const   *msg___5 ;
  char const   **tmp ;
  char const   *tmp___0 ;
  char const   *refname ;
  char const   **tmp___1 ;
  char const   *tmp___2 ;
  char const   *new_sha1_buf ;
  char const   **tmp___3 ;
  char const   *tmp___4 ;
  char const   *old_sha1_buf ;
  char const   **tmp___5 ;
  char const   *tmp___6 ;
  unsigned int flags___0 ;
  char const   **tmp___7 ;
  unsigned int tmp___8 ;
  struct object_id old_oid ;
  struct object_id new_oid ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;

  {
  tmp = argv___0;
  argv___0 ++;
  tmp___0 = notnull(*tmp, (char const   *)"msg");
  msg___5 = tmp___0;
  tmp___1 = argv___0;
  argv___0 ++;
  tmp___2 = notnull(*tmp___1, (char const   *)"refname");
  refname = tmp___2;
  tmp___3 = argv___0;
  argv___0 ++;
  tmp___4 = notnull(*tmp___3, (char const   *)"new-sha1");
  new_sha1_buf = tmp___4;
  tmp___5 = argv___0;
  argv___0 ++;
  tmp___6 = notnull(*tmp___5, (char const   *)"old-sha1");
  old_sha1_buf = tmp___6;
  tmp___7 = argv___0;
  argv___0 ++;
  tmp___8 = arg_flags(*tmp___7, (char const   *)"flags", transaction_flags);
  flags___0 = tmp___8;
  tmp___9 = get_oid_hex(old_sha1_buf, & old_oid);
  if (tmp___9) {
    die((char const   *)"cannot parse %s as %s", old_sha1_buf, (the_repository->hash_algo)->name);
  }
  tmp___10 = get_oid_hex(new_sha1_buf, & new_oid);
  if (tmp___10) {
    die((char const   *)"cannot parse %s as %s", new_sha1_buf, (the_repository->hash_algo)->name);
  }
  tmp___11 = refs_update_ref(refs___0, msg___5, refname, (struct object_id  const  *)(& new_oid),
                             (struct object_id  const  *)(& old_oid), flags___0, (enum action_on_err )1);
  return (tmp___11);
}
}
static struct command___1 commands___1[17]  =
  {      {(char const   *)"pack-refs", & cmd_pack_refs___0},
        {(char const   *)"create-symref", & cmd_create_symref},
        {(char const   *)"delete-refs", & cmd_delete_refs},
        {(char const   *)"rename-ref", & cmd_rename_ref},
        {(char const   *)"for-each-ref", & cmd_for_each_ref___0},
        {(char const   *)"resolve-ref", & cmd_resolve_ref},
        {(char const   *)"verify-ref", & cmd_verify_ref},
        {(char const   *)"for-each-reflog", & cmd_for_each_reflog},
        {(char const   *)"for-each-reflog-ent", & cmd_for_each_reflog_ent},
        {(char const   *)"for-each-reflog-ent-reverse", & cmd_for_each_reflog_ent_reverse},
        {(char const   *)"reflog-exists",
      & cmd_reflog_exists___0},
        {(char const   *)"create-reflog", & cmd_create_reflog},
        {(char const   *)"delete-reflog", & cmd_delete_reflog},
        {(char const   *)"reflog-expire", & cmd_reflog_expire___0},
        {(char const   *)"delete-ref", & cmd_delete_ref},
        {(char const   *)"update-ref", & cmd_update_ref___0},
        {(char const   *)((void *)0), (int (*)(struct ref_store *refs , char const   **argv ))((void *)0)}};
int cmd__ref_store(int argc , char const   **argv___0 )
{
  struct ref_store *refs___0 ;
  char const   *func ;
  struct command___1 *cmd ;
  char const   **tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  setup_git_directory();
  argv___0 = get_store(argv___0 + 1, & refs___0);
  tmp = argv___0;
  argv___0 ++;
  func = *tmp;
  if (! func) {
    die((char const   *)"ref function required");
  }
  cmd = commands___1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! cmd->name) {
      goto while_break;
    }
    tmp___1 = strcmp(func, cmd->name);
    if (! tmp___1) {
      tmp___0 = (*(cmd->func))(refs___0, argv___0);
      return (tmp___0);
    }
    cmd ++;
  }
  while_break: /* CIL Label */ ;
  }
  die((char const   *)"unknown function %s", func);
  return (0);
}
}
int cmd__reftable(int argc , char const   **argv___0 )
{


  {
  basics_test_main(argc, argv___0);
  block_test_main(argc, argv___0);
  merged_test_main(argc, argv___0);
  pq_test_main(argc, argv___0);
  record_test_main(argc, argv___0);
  refname_test_main(argc, argv___0);
  readwrite_test_main(argc, argv___0);
  stack_test_main(argc, argv___0);
  tree_test_main(argc, argv___0);
  return (0);
}
}
int cmd__dump_reftable(int argc , char const   **argv___0 )
{
  int tmp ;

  {
  tmp = reftable_dump_main(argc, (char **)argv___0);
  return (tmp);
}
}
static struct reg_flag reg_flags[7]  = {      {(char const   *)"EXTENDED", 1},
        {(char const   *)"NEWLINE", (1 << 1) << 1},
        {(char const   *)"ICASE", 1 << 1},
        {(char const   *)"NOTBOL", 1},
        {(char const   *)"NOTEOL", 1 << 1},
        {(char const   *)"STARTEND", 1 << 2},
        {(char const   *)((void *)0), 0}};
static int test_regex_bug(void)
{
  char *pat ;
  char *str ;
  regex_t r ;
  regmatch_t m[1] ;
  int tmp ;
  int tmp___0 ;

  {
  pat = "[^={} \t]+";
  str = "={}\nfred";
  tmp = regcomp((regex_t * __restrict  )(& r), (char const   * __restrict  )pat, 1 | ((1 << 1) << 1));
  if (tmp) {
    die((char const   *)"failed regcomp() for pattern \'%s\'", pat);
  }
  tmp___0 = regexec((regex_t const   * __restrict  )(& r), (char const   * __restrict  )str,
                    (size_t )1, (regmatch_t * __restrict  )(m), 0);
  if (tmp___0) {
    die((char const   *)"no match of pattern \'%s\' to string \'%s\'", pat, str);
  }
  if (m[0].rm_so == 3) {
    die((char const   *)"regex bug confirmed: re-build git with NO_REGEX=1");
  }
  return (0);
}
}
int cmd__regex(int argc , char const   **argv___0 )
{
  char const   *pat ;
  char const   *str ;
  int ret___67 ;
  int silent ;
  int flags___0 ;
  regex_t r ;
  regmatch_t m[1] ;
  char errbuf[64] ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char const   **tmp___2 ;
  char const   **tmp___3 ;
  struct reg_flag *rf ;
  int tmp___4 ;

  {
  silent = 0;
  flags___0 = 0;
  argv___0 ++;
  argc --;
  if (! argc) {
    goto usage;
  }
  tmp___0 = strcmp(*argv___0, (char const   *)"--bug");
  if (! tmp___0) {
    if (argc == 1) {
      tmp = test_regex_bug();
      return (tmp);
    } else {
      goto usage;
    }
  }
  tmp___1 = strcmp(*argv___0, (char const   *)"--silent");
  if (! tmp___1) {
    silent = 1;
    argv___0 ++;
    argc --;
  }
  if (! argc) {
    goto usage;
  }
  tmp___2 = argv___0;
  argv___0 ++;
  pat = *tmp___2;
  if (argc == 1) {
    str = (char const   *)((void *)0);
  } else {
    tmp___3 = argv___0;
    argv___0 ++;
    str = *tmp___3;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! *argv___0) {
        goto while_break;
      }
      rf = reg_flags;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! rf->name) {
          goto while_break___0;
        }
        tmp___4 = strcmp(*argv___0, rf->name);
        if (! tmp___4) {
          flags___0 |= rf->flag;
          goto while_break___0;
        }
        rf ++;
      }
      while_break___0: /* CIL Label */ ;
      }
      if (! rf->name) {
        die((char const   *)"do not recognize flag %s", *argv___0);
      }
      argv___0 ++;
    }
    while_break: /* CIL Label */ ;
    }
  }
  git_setup_gettext();
  ret___67 = regcomp((regex_t * __restrict  )(& r), (char const   * __restrict  )pat,
                     flags___0);
  if (ret___67) {
    if (silent) {
      return (ret___67);
    }
    regerror(ret___67, (regex_t const   * __restrict  )(& r), (char * __restrict  )(errbuf),
             sizeof(errbuf));
    die((char const   *)"failed regcomp() for pattern \'%s\' (%s)", pat, errbuf);
  }
  if (! str) {
    return (0);
  }
  ret___67 = regexec((regex_t const   * __restrict  )(& r), (char const   * __restrict  )str,
                     (size_t )1, (regmatch_t * __restrict  )(m), 0);
  if (ret___67) {
    if (silent) {
      return (ret___67);
    } else
    if (ret___67 == 1) {
      return (ret___67);
    }
    regerror(ret___67, (regex_t const   * __restrict  )(& r), (char * __restrict  )(errbuf),
             sizeof(errbuf));
    die((char const   *)"failed regexec() for subject \'%s\' (%s)", str, errbuf);
  }
  return (0);
  usage:
  usage((char const   *)"\ttest-tool regex --bug\n\ttest-tool regex [--silent] <pattern>\n\ttest-tool regex [--silent] <pattern> <string> [<options>]");
  return (-1);
}
}
static double const   __ac_HASH_UPPER___170  =    (double const   )0.77;
__inline static void kh_resize_oid_set___170(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___170(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___170 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___170 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___170(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___170(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___170(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___170(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___170(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___170(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___170 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___170 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___170(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___170(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___170(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___170(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___170(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___170(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___170 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___170 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___170(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___170(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___170(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___170(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_odb_path_map___125(kh_odb_path_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_odb_path_map___125(kh_odb_path_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  char const   *key___1 ;
  struct object_directory *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  char const   *tmp___7 ;
  struct object_directory *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___170 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (char const   **)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (struct object_directory **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = fspathhash(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (char const   **)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (struct object_directory **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___170 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_odb_path_map___125(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_odb_path_map___125(kh_odb_path_map_t *h , char const   *key___1 ,
                                                  int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_odb_path_map___125(h, h->n_buckets - 1U);
    } else {
      kh_resize_odb_path_map___125(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = fspathhash(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = fspatheq(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void test_parse_commit_in_graph(char const   *gitdir___0 , char const   *worktree ,
                                       struct object_id  const  *commit_oid )
{
  struct repository r ;
  struct commit *c___0 ;
  struct commit_list *parent ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;

  {
  setup_git_env(gitdir___0);
  memset((void *)the_repository, 0, sizeof(*the_repository));
  tmp = repo_init(& r, gitdir___0, worktree);
  if (tmp) {
    die((char const   *)"Couldn\'t init repo");
  }
  tmp___0 = hash_algo_by_ptr(r.hash_algo);
  repo_set_hash_algo(the_repository, tmp___0);
  c___0 = lookup_commit(& r, commit_oid);
  tmp___1 = parse_commit_in_graph(& r, c___0);
  if (! tmp___1) {
    die((char const   *)"Couldn\'t parse commit");
  }
  printf((char const   *)"%lu", c___0->date);
  parent = c___0->parents;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! parent) {
      goto while_break;
    }
    tmp___2 = oid_to_hex((struct object_id  const  *)(& (parent->item)->object.oid));
    printf((char const   *)" %s", tmp___2);
    parent = parent->next;
  }
  while_break: /* CIL Label */ ;
  }
  printf((char const   *)"\n");
  repo_clear(& r);
  return;
}
}
static void test_get_commit_tree_in_graph(char const   *gitdir___0 , char const   *worktree ,
                                          struct object_id  const  *commit_oid )
{
  struct repository r ;
  struct commit *c___0 ;
  struct tree *tree ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  char *tmp___2 ;

  {
  setup_git_env(gitdir___0);
  memset((void *)the_repository, 0, sizeof(*the_repository));
  tmp = repo_init(& r, gitdir___0, worktree);
  if (tmp) {
    die((char const   *)"Couldn\'t init repo");
  }
  tmp___0 = hash_algo_by_ptr(r.hash_algo);
  repo_set_hash_algo(the_repository, tmp___0);
  c___0 = lookup_commit(& r, commit_oid);
  tmp___1 = parse_commit_in_graph(& r, c___0);
  if (! tmp___1) {
    die((char const   *)"Couldn\'t parse commit");
  }
  tree = get_commit_tree_in_graph(& r, (struct commit  const  *)c___0);
  if (! tree) {
    die((char const   *)"Couldn\'t get commit tree");
  }
  tmp___2 = oid_to_hex((struct object_id  const  *)(& tree->object.oid));
  printf((char const   *)"%s\n", tmp___2);
  repo_clear(& r);
  return;
}
}
int cmd__repository(int argc , char const   **argv___0 )
{
  int nongit_ok ;
  struct object_id oid ;
  int tmp ;
  struct object_id oid___0 ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  nongit_ok = 0;
  setup_git_directory_gently(& nongit_ok);
  if (argc < 2) {
    die((char const   *)"must have at least 2 arguments");
  }
  tmp___2 = strcmp(*(argv___0 + 1), (char const   *)"parse_commit_in_graph");
  if (tmp___2) {
    tmp___1 = strcmp(*(argv___0 + 1), (char const   *)"get_commit_tree_in_graph");
    if (tmp___1) {
      die((char const   *)"unrecognized \'%s\'", *(argv___0 + 1));
    } else {
      if (argc < 5) {
        die((char const   *)"not enough arguments");
      }
      tmp___0 = parse_oid_hex(*(argv___0 + 4), & oid___0, argv___0 + 4);
      if (tmp___0) {
        die((char const   *)"cannot parse oid \'%s\'", *(argv___0 + 4));
      }
      test_get_commit_tree_in_graph(*(argv___0 + 2), *(argv___0 + 3), (struct object_id  const  *)(& oid___0));
    }
  } else {
    if (argc < 5) {
      die((char const   *)"not enough arguments");
    }
    tmp = parse_oid_hex(*(argv___0 + 4), & oid, argv___0 + 4);
    if (tmp) {
      die((char const   *)"cannot parse oid \'%s\'", *(argv___0 + 4));
    }
    test_parse_commit_in_graph(*(argv___0 + 2), *(argv___0 + 3), (struct object_id  const  *)(& oid));
  }
  return (0);
}
}
static double const   __ac_HASH_UPPER___171  =    (double const   )0.77;
__inline static void kh_resize_oid_set___171(kh_oid_set_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_set___171(kh_oid_set_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___171 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___171 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_set___171(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_set___171(kh_oid_set_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_set___171(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_set___171(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_map___171(kh_oid_map_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_map___171(kh_oid_map_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  void *val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  void *tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___171 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (void **)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (void **)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___171 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_map___171(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_map___171(kh_oid_map_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_map___171(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_map___171(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
__inline static void kh_resize_oid_pos___171(kh_oid_pos_t *h , khint_t new_n_buckets )  __attribute__((__unused__)) ;
__inline static void kh_resize_oid_pos___171(kh_oid_pos_t *h , khint_t new_n_buckets )
{
  khint32_t *new_flags ;
  khint_t j ;
  khint_t tmp ;
  size_t tmp___0 ;
  void *tmp___1 ;
  khint_t tmp___2 ;
  size_t tmp___3 ;
  void *tmp___4 ;
  size_t tmp___5 ;
  void *tmp___6 ;
  struct object_id key___1 ;
  int val ;
  khint_t new_mask ;
  khint_t k ;
  khint_t i ;
  khint_t step ;
  struct object_id tmp___7 ;
  int tmp___8 ;
  size_t tmp___9 ;
  void *tmp___10 ;
  size_t tmp___11 ;
  void *tmp___12 ;

  {
  new_flags = (khint32_t *)((void *)0);
  j = (khint_t )1;
  new_n_buckets --;
  new_n_buckets |= new_n_buckets >> 1;
  new_n_buckets |= new_n_buckets >> 2;
  new_n_buckets |= new_n_buckets >> 4;
  new_n_buckets |= new_n_buckets >> 8;
  new_n_buckets |= new_n_buckets >> 16;
  new_n_buckets ++;
  if (new_n_buckets < 4U) {
    new_n_buckets = (khint_t )4;
  }
  if (h->size >= (khint_t )((double const   )new_n_buckets * __ac_HASH_UPPER___171 + (double const   )0.5)) {
    j = (khint_t )0;
  } else {
    if (new_n_buckets < 16U) {
      tmp = (khint_t )1;
    } else {
      tmp = new_n_buckets >> 4;
    }
    tmp___0 = st_mult(sizeof(*new_flags), (size_t )tmp);
    tmp___1 = xmalloc(tmp___0);
    new_flags = (khint32_t *)tmp___1;
    if (new_n_buckets < 16U) {
      tmp___2 = (khint_t )1;
    } else {
      tmp___2 = new_n_buckets >> 4;
    }
    memset((void *)new_flags, 0xaa, (unsigned long )tmp___2 * sizeof(khint32_t ));
    if (h->n_buckets < new_n_buckets) {
      tmp___3 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___4 = xrealloc((void *)h->keys, tmp___3);
      h->keys = (struct object_id *)tmp___4;
      tmp___5 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___6 = xrealloc((void *)h->vals, tmp___5);
      h->vals = (int *)tmp___6;
    }
  }
  if (j) {
    j = (khint_t )0;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! (j != h->n_buckets)) {
        goto while_break;
      }
      if (((*(h->flags + (j >> 4)) >> ((j & 0xfU) << 1)) & 3U) == 0U) {
        key___1 = *(h->keys + j);
        new_mask = new_n_buckets - 1U;
        val = *(h->vals + j);
        *(h->flags + (j >> 4)) = (khint32_t )((unsigned long )*(h->flags + (j >> 4)) | (1ul << ((j & 0xfU) << 1)));
        {
        while (1) {
          while_continue___0: /* CIL Label */ ;
          step = (khint_t )0;
          k = oidhash_by_value(key___1);
          i = k & new_mask;
          {
          while (1) {
            while_continue___1: /* CIL Label */ ;
            if (! (! ((*(new_flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U))) {
              goto while_break___1;
            }
            step ++;
            i = (i + step) & new_mask;
          }
          while_break___1: /* CIL Label */ ;
          }
          *(new_flags + (i >> 4)) = (khint32_t )((unsigned long )*(new_flags + (i >> 4)) & ~ (2ul << ((i & 0xfU) << 1)));
          if (i < h->n_buckets) {
            if (((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 3U) == 0U) {
              tmp___7 = *(h->keys + i);
              *(h->keys + i) = key___1;
              key___1 = tmp___7;
              tmp___8 = *(h->vals + i);
              *(h->vals + i) = val;
              val = tmp___8;
              *(h->flags + (i >> 4)) = (khint32_t )((unsigned long )*(h->flags + (i >> 4)) | (1ul << ((i & 0xfU) << 1)));
            } else {
              *(h->keys + i) = key___1;
              *(h->vals + i) = val;
              goto while_break___0;
            }
          } else {
            *(h->keys + i) = key___1;
            *(h->vals + i) = val;
            goto while_break___0;
          }
        }
        while_break___0: /* CIL Label */ ;
        }
      }
      j ++;
    }
    while_break: /* CIL Label */ ;
    }
    if (h->n_buckets > new_n_buckets) {
      tmp___9 = st_mult(sizeof(*(h->keys)), (size_t )new_n_buckets);
      tmp___10 = xrealloc((void *)h->keys, tmp___9);
      h->keys = (struct object_id *)tmp___10;
      tmp___11 = st_mult(sizeof(*(h->vals)), (size_t )new_n_buckets);
      tmp___12 = xrealloc((void *)h->vals, tmp___11);
      h->vals = (int *)tmp___12;
    }
    free((void *)h->flags);
    h->flags = new_flags;
    h->n_buckets = new_n_buckets;
    h->n_occupied = h->size;
    h->upper_bound = (khint_t )((double const   )h->n_buckets * __ac_HASH_UPPER___171 + (double const   )0.5);
  }
  return;
}
}
__inline static khint_t kh_put_oid_pos___171(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )  __attribute__((__unused__)) ;
__inline static khint_t kh_put_oid_pos___171(kh_oid_pos_t *h , struct object_id key___1 ,
                                             int *ret___67 )
{
  khint_t x ;
  khint_t k ;
  khint_t i ;
  khint_t site ;
  khint_t last ;
  khint_t mask ;
  khint_t step ;
  int tmp ;

  {
  if (h->n_occupied >= h->upper_bound) {
    if (h->n_buckets > h->size << 1) {
      kh_resize_oid_pos___171(h, h->n_buckets - 1U);
    } else {
      kh_resize_oid_pos___171(h, h->n_buckets + 1U);
    }
  }
  mask = h->n_buckets - 1U;
  step = (khint_t )0;
  site = h->n_buckets;
  x = site;
  k = oidhash_by_value(key___1);
  i = k & mask;
  if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
    x = i;
  } else {
    last = i;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U)) {
        if (! ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U)) {
          tmp = oideq_by_value(*(h->keys + i), key___1);
          if (tmp) {
            goto while_break;
          }
        }
      } else {
        goto while_break;
      }
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 1U) {
        site = i;
      }
      step ++;
      i = (i + step) & mask;
      if (i == last) {
        x = site;
        goto while_break;
      }
    }
    while_break: /* CIL Label */ ;
    }
    if (x == h->n_buckets) {
      if ((*(h->flags + (i >> 4)) >> ((i & 0xfU) << 1)) & 2U) {
        if (site != h->n_buckets) {
          x = site;
        } else {
          x = i;
        }
      } else {
        x = i;
      }
    }
  }
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 2U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    (h->n_occupied) ++;
    *ret___67 = 1;
  } else
  if ((*(h->flags + (x >> 4)) >> ((x & 0xfU) << 1)) & 1U) {
    *(h->keys + x) = key___1;
    *(h->flags + (x >> 4)) = (khint32_t )((unsigned long )*(h->flags + (x >> 4)) & ~ (3ul << ((x & 0xfU) << 1)));
    (h->size) ++;
    *ret___67 = 2;
  } else {
    *ret___67 = 0;
  }
  return (x);
}
}
static void print_commit___1(struct commit *commit )
{
  struct strbuf sb___6 ;
  struct pretty_print_context ctx___0 ;

  {
  sb___6.alloc = 0UL;
  sb___6.len = 0UL;
  sb___6.buf = strbuf_slopbuf;
  ctx___0.fmt = (enum cmit_fmt )0;
  ctx___0.abbrev = 0;
  ctx___0.after_subject = (char const   *)0;
  ctx___0.preserve_subject = 0;
  ctx___0.date_mode.type = 0U;
  ctx___0.date_mode.strftime_fmt = (char const   *)0;
  ctx___0.date_mode.local = 0;
  ctx___0.date_mode_explicit = 0U;
  ctx___0.print_email_subject = 0;
  ctx___0.expand_tabs_in_log = 0;
  ctx___0.need_8bit_cte = 0;
  ctx___0.notes_message = (char *)0;
  ctx___0.reflog_info = (struct reflog_walk_info *)0;
  ctx___0.rev = (struct rev_info *)0;
  ctx___0.output_encoding = (char const   *)0;
  ctx___0.mailmap = (struct string_list *)0;
  ctx___0.color = 0;
  ctx___0.from_ident = (struct ident_split *)0;
  ctx___0.encode_email_headers = 0U;
  ctx___0.describe_status = (struct pretty_print_describe_status *)0;
  ctx___0.in_body_headers.items = (struct string_list_item *)0;
  ctx___0.in_body_headers.nr = 0U;
  ctx___0.in_body_headers.alloc = 0U;
  ctx___0.in_body_headers.strdup_strings = 0U;
  ctx___0.in_body_headers.cmp = (int (*)(char const   * , char const   * ))0;
  ctx___0.graph_width = 0;
  ctx___0.date_mode.type = (enum date_mode_type )0;
  repo_format_commit_message(the_repository, (struct commit  const  *)commit, (char const   *)" %m %s",
                             & sb___6, (struct pretty_print_context  const  *)(& ctx___0));
  printf((char const   *)"%s\n", sb___6.buf);
  strbuf_release(& sb___6);
  return;
}
}
static int run_revision_walk(void)
{
  struct rev_info rev ;
  struct commit *commit ;
  char const   *argv___0[3] ;
  int argc ;
  int got_revision ;
  int tmp ;

  {
  argv___0[0] = (char const   *)((void *)0);
  argv___0[1] = (char const   *)"--all";
  argv___0[2] = (char const   *)((void *)0);
  argc = (int )((sizeof(argv___0) / sizeof(argv___0[0]) + (sizeof(char [1]) - 1UL)) - 1UL);
  got_revision = 0;
  repo_init_revisions(the_repository, & rev, (char const   *)((void *)0));
  setup_revisions(argc, argv___0, & rev, (struct setup_revision_opt *)((void *)0));
  tmp = prepare_revision_walk(& rev);
  if (tmp) {
    die((char const   *)"revision walk setup failed");
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    commit = get_revision(& rev);
    if (! ((unsigned long )commit != (unsigned long )((void *)0))) {
      goto while_break;
    }
    print_commit___1(commit);
    got_revision = 1;
  }
  while_break: /* CIL Label */ ;
  }
  reset_revision_walk();
  return (got_revision);
}
}
int cmd__revision_walking(int argc , char const   **argv___0 )
{
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  if (argc < 2) {
    return (1);
  }
  setup_git_directory();
  tmp___1 = strcmp(*(argv___0 + 1), (char const   *)"run-twice");
  if (! tmp___1) {
    printf((char const   *)"1st\n");
    tmp = run_revision_walk();
    if (! tmp) {
      return (1);
    }
    printf((char const   *)"2nd\n");
    tmp___0 = run_revision_walk();
    if (! tmp___0) {
      return (1);
    }
    return (0);
  }
  fprintf(stderr, (char const   *)"check usage\n");
  return (1);
}
}
static int number_callbacks  ;
static int parallel_next(struct child_process *cp , struct strbuf *err___4 , void *cb ,
                         void **task_cb )
{
  struct child_process *d ;

  {
  d = (struct child_process *)cb;
  if (number_callbacks >= 4) {
    return (0);
  }
  strvec_pushv(& cp->args, d->args.v);
  strbuf_addstr(err___4, (char const   *)"preloaded output of a child\n");
  number_callbacks ++;
  return (1);
}
}
static int no_job(struct child_process *cp , struct strbuf *err___4 , void *cb , void **task_cb )
{


  {
  strbuf_addstr(err___4, (char const   *)"no further jobs available\n");
  return (0);
}
}
static int task_finished(int result___0 , struct strbuf *err___4 , void *pp_cb , void *pp_task_cb )
{


  {
  strbuf_addstr(err___4, (char const   *)"asking for a quick stop\n");
  return (1);
}
}
static int next_test(struct child_process *cp , struct strbuf *err___4 , void *cb ,
                     void **task_cb )
{
  struct testsuite *suite ;
  char const   *test___0 ;
  int tmp ;

  {
  suite = (struct testsuite *)cb;
  if ((unsigned int )suite->next >= suite->tests.nr) {
    return (0);
  }
  tmp = suite->next;
  (suite->next) ++;
  test___0 = (char const   *)(suite->tests.items + tmp)->string;
  strvec_pushl(& cp->args, "sh", test___0, (void *)0);
  if (suite->quiet) {
    strvec_push(& cp->args, (char const   *)"--quiet");
  }
  if (suite->immediate) {
    strvec_push(& cp->args, (char const   *)"-i");
  }
  if (suite->verbose) {
    strvec_push(& cp->args, (char const   *)"-v");
  }
  if (suite->verbose_log) {
    strvec_push(& cp->args, (char const   *)"-V");
  }
  if (suite->trace) {
    strvec_push(& cp->args, (char const   *)"-x");
  }
  if (suite->write_junit_xml) {
    strvec_push(& cp->args, (char const   *)"--write-junit-xml");
  }
  strbuf_addf(err___4, (char const   *)"Output of \'%s\':\n", test___0);
  *task_cb = (void *)test___0;
  return (1);
}
}
static int test_finished(int result___0 , struct strbuf *err___4 , void *cb , void *task_cb )
{
  struct testsuite *suite ;
  char const   *name___0 ;
  char *tmp ;

  {
  suite = (struct testsuite *)cb;
  name___0 = (char const   *)task_cb;
  if (result___0) {
    string_list_append(& suite->failed, name___0);
  }
  if (result___0) {
    tmp = "FAIL";
  } else {
    tmp = "SUCCESS";
  }
  strbuf_addf(err___4, (char const   *)"%s: \'%s\'\n", tmp, name___0);
  return (0);
}
}
static int test_failed(struct strbuf *out , void *cb , void *task_cb )
{
  struct testsuite *suite ;
  char const   *name___0 ;

  {
  suite = (struct testsuite *)cb;
  name___0 = (char const   *)task_cb;
  string_list_append(& suite->failed, name___0);
  strbuf_addf(out, (char const   *)"FAILED TO START: \'%s\'\n", name___0);
  return (0);
}
}
static char const   *testsuite_usage[2]  = {      (char const   *)"test-run-command testsuite [<options>] [<pattern>...]",      (char const   *)((void *)0)};
static int testsuite(int argc , char const   **argv___0 )
{
  struct testsuite suite ;
  int max_jobs___1 ;
  int i ;
  int ret___67 ;
  DIR *dir ;
  struct dirent *d ;
  struct option options[8] ;
  char const   *p___0 ;
  int tmp ;
  int tmp___0 ;

  {
  suite.tests.items = (struct string_list_item *)0;
  suite.tests.nr = 0U;
  suite.tests.alloc = 0U;
  suite.tests.strdup_strings = 1U;
  suite.tests.cmp = (int (*)(char const   * , char const   * ))0;
  suite.failed.items = (struct string_list_item *)0;
  suite.failed.nr = 0U;
  suite.failed.alloc = 0U;
  suite.failed.strdup_strings = 1U;
  suite.failed.cmp = (int (*)(char const   * , char const   * ))0;
  suite.next = 0;
  suite.quiet = 0;
  suite.immediate = 0;
  suite.verbose = 0;
  suite.verbose_log = 0;
  suite.trace = 0;
  suite.write_junit_xml = 0;
  max_jobs___1 = 1;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 'i';
  options[0].long_name = (char const   *)"immediate";
  options[0].value = (void *)(& suite.immediate);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"stop at first failed test case(s)";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )10;
  options[1].short_name = 'j';
  options[1].long_name = (char const   *)"jobs";
  options[1].value = (void *)(& max_jobs___1);
  options[1].argh = (char const   *)"n";
  options[1].help = (char const   *)"run <N> jobs in parallel";
  options[1].flags = (enum parse_opt_option_flags )0;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 'q';
  options[2].long_name = (char const   *)"quiet";
  options[2].value = (void *)(& suite.quiet);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"be terse";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )1;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )8;
  options[3].short_name = 'v';
  options[3].long_name = (char const   *)"verbose";
  options[3].value = (void *)(& suite.verbose);
  options[3].argh = (char const   *)((void *)0);
  options[3].help = (char const   *)"be verbose";
  options[3].flags = (enum parse_opt_option_flags )2;
  options[3].callback = (parse_opt_cb *)((void *)0);
  options[3].defval = (intptr_t )1;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )8;
  options[4].short_name = 'V';
  options[4].long_name = (char const   *)"verbose-log";
  options[4].value = (void *)(& suite.verbose_log);
  options[4].argh = (char const   *)((void *)0);
  options[4].help = (char const   *)"be verbose, redirected to a file";
  options[4].flags = (enum parse_opt_option_flags )2;
  options[4].callback = (parse_opt_cb *)((void *)0);
  options[4].defval = (intptr_t )1;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )8;
  options[5].short_name = 'x';
  options[5].long_name = (char const   *)"trace";
  options[5].value = (void *)(& suite.trace);
  options[5].argh = (char const   *)((void *)0);
  options[5].help = (char const   *)"trace shell commands";
  options[5].flags = (enum parse_opt_option_flags )2;
  options[5].callback = (parse_opt_cb *)((void *)0);
  options[5].defval = (intptr_t )1;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )8;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)"write-junit-xml";
  options[6].value = (void *)(& suite.write_junit_xml);
  options[6].argh = (char const   *)((void *)0);
  options[6].help = (char const   *)"write JUnit-style XML files";
  options[6].flags = (enum parse_opt_option_flags )2;
  options[6].callback = (parse_opt_cb *)((void *)0);
  options[6].defval = (intptr_t )1;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )0;
  options[7].short_name = 0;
  options[7].long_name = (char const   *)0;
  options[7].value = (void *)0;
  options[7].argh = (char const   *)0;
  options[7].help = (char const   *)0;
  options[7].flags = 0U;
  options[7].callback = (parse_opt_cb *)0;
  options[7].defval = 0L;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)(options),
                       testsuite_usage, (enum parse_opt_flags )2);
  if (max_jobs___1 <= 0) {
    max_jobs___1 = online_cpus();
  }
  dir = opendir((char const   *)".");
  if (! dir) {
    die((char const   *)"Could not open the current directory");
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    d = readdir(dir);
    if (! d) {
      goto while_break;
    }
    p___0 = (char const   *)(d->d_name);
    if ((int const   )*p___0 != 116) {
      goto while_continue;
    } else
    if (! (((int const   )sane_ctype[(unsigned char )*(p___0 + 1)] & 2) != 0)) {
      goto while_continue;
    } else
    if (! (((int const   )sane_ctype[(unsigned char )*(p___0 + 2)] & 2) != 0)) {
      goto while_continue;
    } else
    if (! (((int const   )sane_ctype[(unsigned char )*(p___0 + 3)] & 2) != 0)) {
      goto while_continue;
    } else
    if (! (((int const   )sane_ctype[(unsigned char )*(p___0 + 4)] & 2) != 0)) {
      goto while_continue;
    } else
    if ((int const   )*(p___0 + 5) != 45) {
      goto while_continue;
    } else {
      tmp = ends_with(p___0, (char const   *)".sh");
      if (! tmp) {
        goto while_continue;
      }
    }
    if (! argc) {
      string_list_append(& suite.tests, p___0);
      goto while_continue;
    }
    i = 0;
    {
    while (1) {
      while_continue___0: /* CIL Label */ ;
      if (! (i < argc)) {
        goto while_break___0;
      }
      tmp___0 = wildmatch(*(argv___0 + i), p___0, 0U);
      if (! tmp___0) {
        string_list_append(& suite.tests, p___0);
        goto while_break___0;
      }
      i ++;
    }
    while_break___0: /* CIL Label */ ;
    }
  }
  while_break: /* CIL Label */ ;
  }
  closedir(dir);
  if (! suite.tests.nr) {
    die((char const   *)"No tests match!");
  }
  if ((unsigned int )max_jobs___1 > suite.tests.nr) {
    max_jobs___1 = (int )suite.tests.nr;
  }
  fprintf(stderr, (char const   *)"Running %d tests (%d at a time)\n", suite.tests.nr,
          max_jobs___1);
  ret___67 = run_processes_parallel(max_jobs___1, & next_test, & test_failed, & test_finished,
                                    (void *)(& suite));
  if (suite.failed.nr > 0U) {
    ret___67 = 1;
    fprintf(stderr, (char const   *)"%d tests failed:\n\n", suite.failed.nr);
    i = 0;
    {
    while (1) {
      while_continue___1: /* CIL Label */ ;
      if (! ((unsigned int )i < suite.failed.nr)) {
        goto while_break___1;
      }
      fprintf(stderr, (char const   *)"\t%s\n", (suite.failed.items + i)->string);
      i ++;
    }
    while_break___1: /* CIL Label */ ;
    }
  }
  string_list_clear(& suite.tests, 0);
  string_list_clear(& suite.failed, 0);
  return (! (! ret___67));
}
}
static uint64_t my_random_next  =    (uint64_t )1234;
static uint64_t my_random___0(void)
{
  uint64_t res ;

  {
  res = my_random_next;
  my_random_next = my_random_next * 1103515245UL + 12345UL;
  return (res);
}
}
static int quote_stress_test(int argc , char const   **argv___0 )
{
  char special___0[26] ;
  int i ;
  int j ;
  int k ;
  int trials ;
  int skip ;
  int msys2 ;
  struct strbuf out ;
  struct strvec args___0 ;
  struct option options[4] ;
  char const   *usage___2[2] ;
  struct child_process cp ;
  size_t arg_count ;
  size_t arg_offset ;
  int ret___67 ;
  uint64_t tmp ;
  char buf___19[20] ;
  size_t min_len ;
  size_t arg_len ;
  uint64_t tmp___0 ;
  uint64_t tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  char const   *arg ;
  int tmp___4 ;
  size_t tmp___5 ;

  {
  special___0[0] = (char )'.';
  special___0[1] = (char )'?';
  special___0[2] = (char )'*';
  special___0[3] = (char )'\\';
  special___0[4] = (char )'^';
  special___0[5] = (char )'_';
  special___0[6] = (char )'\"';
  special___0[7] = (char )'\'';
  special___0[8] = (char )'`';
  special___0[9] = (char )'{';
  special___0[10] = (char )'}';
  special___0[11] = (char )'(';
  special___0[12] = (char )')';
  special___0[13] = (char )'[';
  special___0[14] = (char )']';
  special___0[15] = (char )'<';
  special___0[16] = (char )'>';
  special___0[17] = (char )'@';
  special___0[18] = (char )'~';
  special___0[19] = (char )'&';
  special___0[20] = (char )'+';
  special___0[21] = (char )':';
  special___0[22] = (char )';';
  special___0[23] = (char )'$';
  special___0[24] = (char )'%';
  special___0[25] = (char )'\000';
  trials = 100;
  skip = 0;
  msys2 = 0;
  out.alloc = 0UL;
  out.len = 0UL;
  out.buf = strbuf_slopbuf;
  args___0.v = empty_strvec;
  args___0.nr = 0UL;
  args___0.alloc = 0UL;
  options[0].type = (enum parse_opt_type )10;
  options[0].short_name = 'n';
  options[0].long_name = (char const   *)"trials";
  options[0].value = (void *)(& trials);
  options[0].argh = (char const   *)"n";
  options[0].help = (char const   *)"Number of trials";
  options[0].flags = (enum parse_opt_option_flags )0;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )10;
  options[1].short_name = 's';
  options[1].long_name = (char const   *)"skip";
  options[1].value = (void *)(& skip);
  options[1].argh = (char const   *)"n";
  options[1].help = (char const   *)"Skip <n> trials";
  options[1].flags = (enum parse_opt_option_flags )0;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )8;
  options[2].short_name = 'm';
  options[2].long_name = (char const   *)"msys2";
  options[2].value = (void *)(& msys2);
  options[2].argh = (char const   *)((void *)0);
  options[2].help = (char const   *)"Test quoting for MSYS2\'s sh";
  options[2].flags = (enum parse_opt_option_flags )2;
  options[2].callback = (parse_opt_cb *)((void *)0);
  options[2].defval = (intptr_t )1;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )0;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)0;
  options[3].value = (void *)0;
  options[3].argh = (char const   *)0;
  options[3].help = (char const   *)0;
  options[3].flags = 0U;
  options[3].callback = (parse_opt_cb *)0;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  usage___2[0] = (char const   *)"test-tool run-command quote-stress-test <options>";
  usage___2[1] = (char const   *)((void *)0);
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)(options),
                       usage___2, (enum parse_opt_flags )0);
  setenv((char const   *)"MSYS_NO_PATHCONV", (char const   *)"1", 0);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < trials)) {
      goto while_break;
    }
    cp.args.v = empty_strvec;
    cp.args.nr = 0UL;
    cp.args.alloc = 0UL;
    cp.env_array.v = empty_strvec;
    cp.env_array.nr = 0UL;
    cp.env_array.alloc = 0UL;
    cp.pid = 0;
    cp.trace2_child_id = 0;
    cp.trace2_child_us_start = 0UL;
    cp.trace2_child_class = (char const   *)0;
    cp.trace2_hook_name = (char const   *)0;
    cp.in = 0;
    cp.out = 0;
    cp.err = 0;
    cp.dir = (char const   *)0;
    cp.no_stdin = 0U;
    cp.no_stdout = 0U;
    cp.no_stderr = 0U;
    cp.git_cmd = 0U;
    cp.silent_exec_failure = 0U;
    cp.use_shell = 0U;
    cp.close_object_store = 0U;
    cp.stdout_to_stderr = 0U;
    cp.clean_on_exit = 0U;
    cp.wait_after_clean = 0U;
    cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
    cp.clean_on_exit_handler_cbdata = (void *)0;
    ret___67 = 0;
    strvec_clear(& args___0);
    if (msys2) {
      strvec_pushl(& args___0, "sh", "-c", "printf %s\\\\0 \"$@\"", "skip", (void *)0);
    } else {
      strvec_pushl(& args___0, "test-tool", "run-command", "quote-echo", (void *)0);
    }
    arg_offset = args___0.nr;
    if (argc > 0) {
      trials = 1;
      arg_count = (size_t )argc;
      j = 0;
      {
      while (1) {
        while_continue___0: /* CIL Label */ ;
        if (! ((size_t )j < arg_count)) {
          goto while_break___0;
        }
        strvec_push(& args___0, *(argv___0 + j));
        j ++;
      }
      while_break___0: /* CIL Label */ ;
      }
    } else {
      tmp = my_random___0();
      arg_count = 1UL + tmp % 5UL;
      j = 0;
      {
      while (1) {
        while_continue___1: /* CIL Label */ ;
        if (! ((size_t )j < arg_count)) {
          goto while_break___1;
        }
        min_len = (size_t )1;
        tmp___0 = my_random___0();
        arg_len = min_len + tmp___0 % ((sizeof(buf___19) / sizeof(buf___19[0]) + (sizeof(char [1]) - 1UL)) - min_len);
        k = 0;
        {
        while (1) {
          while_continue___2: /* CIL Label */ ;
          if (! ((size_t )k < arg_len)) {
            goto while_break___2;
          }
          tmp___1 = my_random___0();
          buf___19[k] = special___0[tmp___1 % (sizeof(special___0) / sizeof(special___0[0]) + (sizeof(char [1]) - 1UL))];
          k ++;
        }
        while_break___2: /* CIL Label */ ;
        }
        buf___19[arg_len] = (char )'\000';
        strvec_push(& args___0, (char const   *)(buf___19));
        j ++;
      }
      while_break___1: /* CIL Label */ ;
      }
    }
    if (i < skip) {
      goto __Cont;
    }
    strvec_pushv(& cp.args, args___0.v);
    strbuf_setlen___33(& out, (size_t )0);
    tmp___3 = pipe_command(& cp, (char const   *)((void *)0), (size_t )0, & out, (size_t )0,
                           (struct strbuf *)((void *)0), (size_t )0);
    if (tmp___3 < 0) {
      error((char const   *)"Failed to spawn child process");
      tmp___2 = const_error();
      return (tmp___2);
    }
    j = 0;
    k = 0;
    {
    while (1) {
      while_continue___3: /* CIL Label */ ;
      if (! ((size_t )j < arg_count)) {
        goto while_break___3;
      }
      arg = *(args___0.v + ((size_t )j + arg_offset));
      tmp___4 = strcmp(arg, (char const   *)(out.buf + k));
      if (tmp___4) {
        error((char const   *)"incorrectly quoted arg: \'%s\', echoed back as \'%s\'",
              arg, out.buf + k);
        ret___67 = const_error();
      }
      tmp___5 = strlen((char const   *)(out.buf + k));
      k = (int )((size_t )k + (tmp___5 + 1UL));
      j ++;
    }
    while_break___3: /* CIL Label */ ;
    }
    if ((size_t )k != out.len) {
      error((char const   *)"got %d bytes, but consumed only %d", (int )out.len, k);
      ret___67 = const_error();
    }
    if (ret___67) {
      fprintf(stderr, (char const   *)"Trial #%d failed. Arguments:\n", i);
      j = 0;
      {
      while (1) {
        while_continue___4: /* CIL Label */ ;
        if (! ((size_t )j < arg_count)) {
          goto while_break___4;
        }
        fprintf(stderr, (char const   *)"arg #%d: \'%s\'\n", j, *(args___0.v + ((size_t )j + arg_offset)));
        j ++;
      }
      while_break___4: /* CIL Label */ ;
      }
      strbuf_release(& out);
      strvec_clear(& args___0);
      return (ret___67);
    }
    if (i) {
      if (i % 100 == 0) {
        fprintf(stderr, (char const   *)"Trials completed: %d\n", i);
      }
    }
    __Cont: /* CIL Label */
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& out);
  strvec_clear(& args___0);
  return (0);
}
}
static int quote_echo(int argc , char const   **argv___0 )
{
  size_t tmp ;

  {
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (argc > 1)) {
      goto while_break;
    }
    tmp = strlen(*(argv___0 + 1));
    fwrite((void const   * __restrict  )*(argv___0 + 1), tmp, (size_t )1, (FILE * __restrict  )stdout);
    fputc('\000', stdout);
    argv___0 ++;
    argc --;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int inherit_handle(char const   *argv0 )
{
  struct child_process cp ;
  char path___6[4096] ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  xsnprintf(path___6, sizeof(path___6), (char const   *)"out-XXXXXX");
  tmp = xmkstemp(path___6);
  strvec_pushl(& cp.args, "test-tool", argv0, "inherited-handle-child", (void *)0);
  cp.in = -1;
  cp.no_stderr = 1U;
  cp.no_stdout = cp.no_stderr;
  tmp___0 = start_command(& cp);
  if (tmp___0 < 0) {
    die((char const   *)"Could not start child process");
  }
  close(tmp);
  tmp___1 = unlink((char const   *)(path___6));
  if (tmp___1) {
    die((char const   *)"Could not delete \'%s\'", path___6);
  }
  tmp___2 = close(cp.in);
  if (tmp___2 < 0) {
    die((char const   *)"Child did not finish");
  } else {
    tmp___3 = finish_command(& cp);
    if (tmp___3 < 0) {
      die((char const   *)"Child did not finish");
    }
  }
  return (0);
}
}
static int inherit_handle_child(void)
{
  struct strbuf buf___19 ;
  ssize_t tmp ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  tmp = strbuf_read(& buf___19, 0, (size_t )0);
  if (tmp < 0L) {
    die((char const   *)"Could not read stdin");
  }
  printf((char const   *)"Received %s\n", buf___19.buf);
  strbuf_release(& buf___19);
  return (0);
}
}
int cmd__run_command(int argc , char const   **argv___0 )
{
  struct child_process proc ;
  int jobs ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int *tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;
  int tmp___26 ;
  int tmp___27 ;
  int tmp___28 ;
  int tmp___29 ;

  {
  proc.args.v = empty_strvec;
  proc.args.nr = 0UL;
  proc.args.alloc = 0UL;
  proc.env_array.v = empty_strvec;
  proc.env_array.nr = 0UL;
  proc.env_array.alloc = 0UL;
  proc.pid = 0;
  proc.trace2_child_id = 0;
  proc.trace2_child_us_start = 0UL;
  proc.trace2_child_class = (char const   *)0;
  proc.trace2_hook_name = (char const   *)0;
  proc.in = 0;
  proc.out = 0;
  proc.err = 0;
  proc.dir = (char const   *)0;
  proc.no_stdin = 0U;
  proc.no_stdout = 0U;
  proc.no_stderr = 0U;
  proc.git_cmd = 0U;
  proc.silent_exec_failure = 0U;
  proc.use_shell = 0U;
  proc.close_object_store = 0U;
  proc.stdout_to_stderr = 0U;
  proc.clean_on_exit = 0U;
  proc.wait_after_clean = 0U;
  proc.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  proc.clean_on_exit_handler_cbdata = (void *)0;
  if (argc > 1) {
    tmp___1 = strcmp(*(argv___0 + 1), (char const   *)"testsuite");
    if (! tmp___1) {
      tmp = testsuite(argc - 1, argv___0 + 1);
      tmp___0 = trace2_cmd_exit_fl((char const   *)"t/helper/test-run-command.c",
                                   376, tmp);
      exit(tmp___0);
    }
  }
  tmp___4 = strcmp(*(argv___0 + 1), (char const   *)"inherited-handle");
  if (! tmp___4) {
    tmp___2 = inherit_handle(*(argv___0 + 0));
    tmp___3 = trace2_cmd_exit_fl((char const   *)"t/helper/test-run-command.c", 378,
                                 tmp___2);
    exit(tmp___3);
  }
  tmp___7 = strcmp(*(argv___0 + 1), (char const   *)"inherited-handle-child");
  if (! tmp___7) {
    tmp___5 = inherit_handle_child();
    tmp___6 = trace2_cmd_exit_fl((char const   *)"t/helper/test-run-command.c", 380,
                                 tmp___5);
    exit(tmp___6);
  }
  if (argc >= 2) {
    tmp___10 = strcmp(*(argv___0 + 1), (char const   *)"quote-stress-test");
    if (! tmp___10) {
      tmp___8 = quote_stress_test(argc - 1, argv___0 + 1);
      if (tmp___8) {
        tmp___9 = 1;
      } else {
        tmp___9 = 0;
      }
      return (tmp___9);
    }
  }
  if (argc >= 2) {
    tmp___13 = strcmp(*(argv___0 + 1), (char const   *)"quote-echo");
    if (! tmp___13) {
      tmp___11 = quote_echo(argc - 1, argv___0 + 1);
      if (tmp___11) {
        tmp___12 = 1;
      } else {
        tmp___12 = 0;
      }
      return (tmp___12);
    }
  }
  if (argc < 3) {
    return (1);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    tmp___14 = strcmp(*(argv___0 + 1), (char const   *)"env");
    if (tmp___14) {
      goto while_break;
    }
    if (! *(argv___0 + 2)) {
      die((char const   *)"env specifier without a value");
    }
    strvec_push(& proc.env_array, *(argv___0 + 2));
    argv___0 += 2;
    argc -= 2;
  }
  while_break: /* CIL Label */ ;
  }
  if (argc < 3) {
    return (1);
  }
  strvec_pushv(& proc.args, argv___0 + 2);
  tmp___17 = strcmp(*(argv___0 + 1), (char const   *)"start-command-ENOENT");
  if (! tmp___17) {
    tmp___15 = start_command(& proc);
    if (tmp___15 < 0) {
      tmp___16 = __errno_location();
      if (*tmp___16 == 2) {
        return (0);
      }
    }
    fprintf(stderr, (char const   *)"FAIL %s\n", *(argv___0 + 1));
    return (1);
  }
  tmp___20 = strcmp(*(argv___0 + 1), (char const   *)"run-command");
  if (! tmp___20) {
    tmp___18 = run_command(& proc);
    tmp___19 = trace2_cmd_exit_fl((char const   *)"t/helper/test-run-command.c", 408,
                                  tmp___18);
    exit(tmp___19);
  }
  jobs = atoi(*(argv___0 + 2));
  strvec_clear(& proc.args);
  strvec_pushv(& proc.args, argv___0 + 3);
  tmp___23 = strcmp(*(argv___0 + 1), (char const   *)"run-command-parallel");
  if (! tmp___23) {
    tmp___21 = run_processes_parallel(jobs, & parallel_next, (int (*)(struct strbuf *out ,
                                                                      void *pp_cb ,
                                                                      void *pp_task_cb ))((void *)0),
                                      (int (*)(int result , struct strbuf *out , void *pp_cb ,
                                               void *pp_task_cb ))((void *)0), (void *)(& proc));
    tmp___22 = trace2_cmd_exit_fl((char const   *)"t/helper/test-run-command.c", 416,
                                  tmp___21);
    exit(tmp___22);
  }
  tmp___26 = strcmp(*(argv___0 + 1), (char const   *)"run-command-abort");
  if (! tmp___26) {
    tmp___24 = run_processes_parallel(jobs, & parallel_next, (int (*)(struct strbuf *out ,
                                                                      void *pp_cb ,
                                                                      void *pp_task_cb ))((void *)0),
                                      & task_finished, (void *)(& proc));
    tmp___25 = trace2_cmd_exit_fl((char const   *)"t/helper/test-run-command.c", 420,
                                  tmp___24);
    exit(tmp___25);
  }
  tmp___29 = strcmp(*(argv___0 + 1), (char const   *)"run-command-no-jobs");
  if (! tmp___29) {
    tmp___27 = run_processes_parallel(jobs, & no_job, (int (*)(struct strbuf *out ,
                                                               void *pp_cb , void *pp_task_cb ))((void *)0),
                                      & task_finished, (void *)(& proc));
    tmp___28 = trace2_cmd_exit_fl((char const   *)"t/helper/test-run-command.c", 424,
                                  tmp___27);
    exit(tmp___28);
  }
  fprintf(stderr, (char const   *)"check usage\n");
  return (1);
}
}
int cmd__scrap_cache_tree(int ac , char const   **av )
{
  struct lock_file index_lock___0 ;
  int tmp ;
  int tmp___0 ;

  {
  index_lock___0.tempfile = (struct tempfile *)0;
  setup_git_directory();
  repo_hold_locked_index(the_repository, & index_lock___0, 1);
  tmp = repo_read_index(the_repository);
  if (tmp < 0) {
    die((char const   *)"unable to read index file");
  }
  the_index.cache_tree = (struct cache_tree *)((void *)0);
  tmp___0 = write_locked_index(& the_index, & index_lock___0, 1U);
  if (tmp___0) {
    die((char const   *)"unable to write index file");
  }
  return (0);
}
}
static char const   *serve_usage[2]  = {      (char const   *)"test-tool serve-v2 [<options>]",      (char const   *)((void *)0)};
int cmd__serve_v2(int argc , char const   **argv___0 )
{
  int stateless_rpc___0 ;
  int advertise_capabilities ;
  struct option options[3] ;
  char const   *prefix___1 ;
  char const   *tmp ;

  {
  stateless_rpc___0 = 0;
  advertise_capabilities = 0;
  options[0].type = (enum parse_opt_type )8;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"stateless-rpc";
  options[0].value = (void *)(& stateless_rpc___0);
  options[0].argh = (char const   *)((void *)0);
  options[0].help = (char const   *)"quit after a single request/response exchange";
  options[0].flags = (enum parse_opt_option_flags )2;
  options[0].callback = (parse_opt_cb *)((void *)0);
  options[0].defval = (intptr_t )1;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )8;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"advertise-capabilities";
  options[1].value = (void *)(& advertise_capabilities);
  options[1].argh = (char const   *)((void *)0);
  options[1].help = (char const   *)"exit immediately after advertising capabilities";
  options[1].flags = (enum parse_opt_option_flags )2;
  options[1].callback = (parse_opt_cb *)((void *)0);
  options[1].defval = (intptr_t )1;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )0;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)0;
  options[2].value = (void *)0;
  options[2].argh = (char const   *)0;
  options[2].help = (char const   *)0;
  options[2].flags = 0U;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  tmp = setup_git_directory();
  prefix___1 = tmp;
  argc = parse_options(argc, argv___0, prefix___1, (struct option  const  *)(options),
                       serve_usage, (enum parse_opt_flags )9);
  if (advertise_capabilities) {
    protocol_v2_advertise_capabilities();
  } else {
    protocol_v2_serve_loop(stateless_rpc___0);
  }
  return (0);
}
}
int cmd__sha1(int ac , char const   **av )
{
  int tmp ;

  {
  tmp = cmd_hash_impl(ac, av, 1);
  return (tmp);
}
}
int cmd__sha256(int ac , char const   **av )
{
  int tmp ;

  {
  tmp = cmd_hash_impl(ac, av, 2);
  return (tmp);
}
}
static void one(int sig )
{


  {
  puts((char const   *)"one");
  fflush(stdout);
  sigchain_pop(sig);
  raise(sig);
  return;
}
}
static void two(int sig )
{


  {
  puts((char const   *)"two");
  fflush(stdout);
  sigchain_pop(sig);
  raise(sig);
  return;
}
}
static void three(int sig )
{


  {
  puts((char const   *)"three");
  fflush(stdout);
  sigchain_pop(sig);
  raise(sig);
  return;
}
}
int cmd__sigchain(int argc , char const   **argv___0 )
{


  {
  sigchain_push(15, & one);
  sigchain_push(15, & two);
  sigchain_push(15, & three);
  raise(15);
  return (0);
}
}
static int app__unhandled_command(char const   *command___0 , ipc_server_reply_cb *reply_cb ,
                                  struct ipc_server_reply_data *reply_data )
{
  struct strbuf buf___19 ;
  int ret___67 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  strbuf_addf(& buf___19, (char const   *)"unhandled command: %s", command___0);
  ret___67 = (*reply_cb)(reply_data, (char const   *)buf___19.buf, buf___19.len);
  strbuf_release(& buf___19);
  return (ret___67);
}
}
static int app__big_command(ipc_server_reply_cb *reply_cb , struct ipc_server_reply_data *reply_data )
{
  struct strbuf buf___19 ;
  int row ;
  int ret___67 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  row = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (row < 10000)) {
      goto while_break;
    }
    strbuf_addf(& buf___19, (char const   *)"big: %.75d\n", row);
    row ++;
  }
  while_break: /* CIL Label */ ;
  }
  ret___67 = (*reply_cb)(reply_data, (char const   *)buf___19.buf, buf___19.len);
  strbuf_release(& buf___19);
  return (ret___67);
}
}
static int app__chunk_command(ipc_server_reply_cb *reply_cb , struct ipc_server_reply_data *reply_data )
{
  struct strbuf buf___19 ;
  int row ;
  int ret___67 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  row = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (row < 10000)) {
      goto while_break;
    }
    strbuf_setlen___33(& buf___19, (size_t )0);
    strbuf_addf(& buf___19, (char const   *)"big: %.75d\n", row);
    ret___67 = (*reply_cb)(reply_data, (char const   *)buf___19.buf, buf___19.len);
    row ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  return (ret___67);
}
}
static int app__slow_command(ipc_server_reply_cb *reply_cb , struct ipc_server_reply_data *reply_data )
{
  struct strbuf buf___19 ;
  int row ;
  int ret___67 ;

  {
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  row = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (row < 1000)) {
      goto while_break;
    }
    strbuf_setlen___33(& buf___19, (size_t )0);
    strbuf_addf(& buf___19, (char const   *)"big: %.75d\n", row);
    ret___67 = (*reply_cb)(reply_data, (char const   *)buf___19.buf, buf___19.len);
    sleep_millisec(10);
    row ++;
  }
  while_break: /* CIL Label */ ;
  }
  strbuf_release(& buf___19);
  return (ret___67);
}
}
static int app__sendbytes_command(char const   *received , size_t received_len , ipc_server_reply_cb *reply_cb ,
                                  struct ipc_server_reply_data *reply_data )
{
  struct strbuf buf_resp ;
  char const   *p___0 ;
  int len_ballast ;
  int k ;
  int errs ;
  int ret___67 ;
  size_t tmp ;
  size_t tmp___0 ;
  int tmp___1 ;

  {
  buf_resp.alloc = 0UL;
  buf_resp.len = 0UL;
  buf_resp.buf = strbuf_slopbuf;
  p___0 = (char const   *)"?";
  len_ballast = 0;
  errs = 0;
  tmp = strlen((char const   *)"sendbytes ");
  if (received_len < tmp) {
    BUG_fl((char const   *)"t/helper/test-simple-ipc.c", 132, (char const   *)"received_len is short in app__sendbytes_command");
  }
  tmp___1 = skip_prefix(received, (char const   *)"sendbytes ", & p___0);
  if (tmp___1) {
    tmp___0 = strlen(p___0);
    len_ballast = (int )tmp___0;
  }
  k = 1;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (k < len_ballast)) {
      goto while_break;
    }
    if ((int const   )*(p___0 + k) != (int const   )*(p___0 + 0)) {
      errs ++;
    }
    k ++;
  }
  while_break: /* CIL Label */ ;
  }
  if (errs) {
    strbuf_addf(& buf_resp, (char const   *)"errs:%d\n", errs);
  } else {
    strbuf_addf(& buf_resp, (char const   *)"rcvd:%c%08d\n", (int const   )*(p___0 + 0),
                len_ballast);
  }
  ret___67 = (*reply_cb)(reply_data, (char const   *)buf_resp.buf, buf_resp.len);
  strbuf_release(& buf_resp);
  return (ret___67);
}
}
static int my_app_data  =    42;
static int test_app_cb(void *application_data , char const   *command___0 , size_t command_len ,
                       ipc_server_reply_cb *reply_cb , struct ipc_server_reply_data *reply_data ) ;
static int test_app_cb(void *application_data , char const   *command___0 , size_t command_len ,
                       ipc_server_reply_cb *reply_cb , struct ipc_server_reply_data *reply_data )
{
  int tmp ;
  char const   *answer ;
  size_t tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;

  {
  if ((unsigned long )application_data != (unsigned long )((void *)(& my_app_data))) {
    BUG_fl((char const   *)"t/helper/test-simple-ipc.c", 182, (char const   *)"application_cb: application_data pointer wrong");
  }
  if (command_len == 4UL) {
    tmp = strncmp(command___0, (char const   *)"quit", (size_t )4);
    if (! tmp) {
      return (-2);
    }
  }
  if (command_len == 4UL) {
    tmp___2 = strncmp(command___0, (char const   *)"ping", (size_t )4);
    if (! tmp___2) {
      answer = (char const   *)"pong";
      tmp___0 = strlen(answer);
      tmp___1 = (*reply_cb)(reply_data, answer, tmp___0);
      return (tmp___1);
    }
  }
  if (command_len == 3UL) {
    tmp___4 = strncmp(command___0, (char const   *)"big", (size_t )3);
    if (! tmp___4) {
      tmp___3 = app__big_command(reply_cb, reply_data);
      return (tmp___3);
    }
  }
  if (command_len == 5UL) {
    tmp___6 = strncmp(command___0, (char const   *)"chunk", (size_t )5);
    if (! tmp___6) {
      tmp___5 = app__chunk_command(reply_cb, reply_data);
      return (tmp___5);
    }
  }
  if (command_len == 4UL) {
    tmp___8 = strncmp(command___0, (char const   *)"slow", (size_t )4);
    if (! tmp___8) {
      tmp___7 = app__slow_command(reply_cb, reply_data);
      return (tmp___7);
    }
  }
  if (command_len >= 10UL) {
    tmp___10 = starts_with(command___0, (char const   *)"sendbytes ");
    if (tmp___10) {
      tmp___9 = app__sendbytes_command(command___0, command_len, reply_cb, reply_data);
      return (tmp___9);
    }
  }
  tmp___11 = app__unhandled_command(command___0, reply_cb, reply_data);
  return (tmp___11);
}
}
static struct cl_args cl_args  =
     {(char const   *)((void *)0), (char const   *)"ipc-test", (char const   *)((void *)0),
    5, 60, 1024, 10, (char )'x'};
static int daemon__run_server(void)
{
  int ret___67 ;
  struct ipc_server_opts opts___1 ;

  {
  opts___1.nr_threads = cl_args.nr_threads;
  opts___1.uds_disallow_chdir = 0U;
  ret___67 = ipc_server_run(cl_args.path, (struct ipc_server_opts  const  *)(& opts___1),
                            & test_app_cb, (void *)(& my_app_data));
  if (ret___67 == -2) {
    error((char const   *)"socket/pipe already in use: \'%s\'", cl_args.path);
    const_error();
  } else
  if (ret___67 == -1) {
    error_errno((char const   *)"could not start server on: \'%s\'", cl_args.path);
    const_error();
  }
  return (ret___67);
}
}
static int bg_wait_cb(struct child_process  const  *cp , void *cb_data ) ;
static int bg_wait_cb(struct child_process  const  *cp , void *cb_data )
{
  int s___1 ;
  enum ipc_active_state tmp ;

  {
  tmp = ipc_get_active_state(cl_args.path);
  s___1 = (int )tmp;
  {
  if (s___1 == 0) {
    goto case_0;
  }
  if (s___1 == 3) {
    goto case_3;
  }
  if (s___1 == 1) {
    goto case_3;
  }
  goto case_4;
  case_0: /* CIL Label */
  return (0);
  case_3: /* CIL Label */
  case_1: /* CIL Label */
  return (1);
  case_4: /* CIL Label */
  case_2: /* CIL Label */
  switch_default: /* CIL Label */
  return (-1);
  switch_break: /* CIL Label */ ;
  }
}
}
static int daemon__start_server(void)
{
  struct child_process cp ;
  enum start_bg_result sbgr ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  strvec_push(& cp.args, (char const   *)"test-tool");
  strvec_push(& cp.args, (char const   *)"simple-ipc");
  strvec_push(& cp.args, (char const   *)"run-daemon");
  strvec_pushf(& cp.args, (char const   *)"--name=%s", cl_args.path);
  strvec_pushf(& cp.args, (char const   *)"--threads=%d", cl_args.nr_threads);
  cp.no_stdin = 1U;
  cp.no_stdout = 1U;
  cp.no_stderr = 1U;
  sbgr = start_bg_command(& cp, & bg_wait_cb, (void *)0, (unsigned int )cl_args.max_wait_sec);
  {
  if ((unsigned int )sbgr == 0U) {
    goto case_0;
  }
  if ((unsigned int )sbgr == 3U) {
    goto case_3;
  }
  if ((unsigned int )sbgr == 4U) {
    goto case_4;
  }
  goto case_2;
  case_0: /* CIL Label */
  return (0);
  case_2: /* CIL Label */
  case_1: /* CIL Label */
  switch_default: /* CIL Label */
  error((char const   *)"daemon failed to start");
  tmp = const_error();
  return (tmp);
  case_3: /* CIL Label */
  error((char const   *)"daemon not online yet");
  tmp___0 = const_error();
  return (tmp___0);
  case_4: /* CIL Label */
  error((char const   *)"daemon terminated");
  tmp___1 = const_error();
  return (tmp___1);
  switch_break: /* CIL Label */ ;
  }
}
}
static int client__probe_server(void)
{
  enum ipc_active_state s___1 ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  s___1 = ipc_get_active_state(cl_args.path);
  {
  if ((unsigned int )s___1 == 0U) {
    goto case_0;
  }
  if ((unsigned int )s___1 == 1U) {
    goto case_1;
  }
  if ((unsigned int )s___1 == 3U) {
    goto case_3;
  }
  if ((unsigned int )s___1 == 2U) {
    goto case_2;
  }
  goto switch_default;
  case_0: /* CIL Label */
  return (0);
  case_1: /* CIL Label */
  error((char const   *)"no server listening at \'%s\'", cl_args.path);
  tmp = const_error();
  return (tmp);
  case_3: /* CIL Label */
  error((char const   *)"path not found \'%s\'", cl_args.path);
  tmp___0 = const_error();
  return (tmp___0);
  case_2: /* CIL Label */
  error((char const   *)"invalid pipe/socket name \'%s\'", cl_args.path);
  tmp___1 = const_error();
  return (tmp___1);
  switch_default: /* CIL Label */
  case_4: /* CIL Label */
  error((char const   *)"other error for \'%s\'", cl_args.path);
  tmp___2 = const_error();
  return (tmp___2);
  switch_break: /* CIL Label */ ;
  }
}
}
static int client__send_ipc(void)
{
  char const   *command___0 ;
  struct strbuf buf___19 ;
  struct ipc_client_connect_options options ;
  size_t tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  command___0 = (char const   *)"(no-command)";
  buf___19.alloc = 0UL;
  buf___19.len = 0UL;
  buf___19.buf = strbuf_slopbuf;
  options.wait_if_busy = 0U;
  options.wait_if_not_found = 0U;
  options.uds_disallow_chdir = 0U;
  if (cl_args.token) {
    if (*(cl_args.token)) {
      command___0 = cl_args.token;
    }
  }
  options.wait_if_busy = 1U;
  options.wait_if_not_found = 0U;
  tmp = strlen(command___0);
  tmp___0 = ipc_client_send_command(cl_args.path, (struct ipc_client_connect_options  const  *)(& options),
                                    command___0, tmp, & buf___19);
  if (! tmp___0) {
    if (buf___19.len) {
      printf((char const   *)"%s\n", buf___19.buf);
      fflush(stdout);
    }
    strbuf_release(& buf___19);
    return (0);
  }
  error((char const   *)"failed to send \'%s\' to \'%s\'", command___0, cl_args.path);
  tmp___1 = const_error();
  return (tmp___1);
}
}
static int client__stop_server(void)
{
  int ret___67 ;
  time_t time_limit ;
  time_t now ;
  enum ipc_active_state s___1 ;
  int tmp ;

  {
  time(& time_limit);
  time_limit += (time_t )cl_args.max_wait_sec;
  cl_args.token = (char const   *)"quit";
  ret___67 = client__send_ipc();
  if (ret___67) {
    return (ret___67);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    sleep_millisec(100);
    s___1 = ipc_get_active_state(cl_args.path);
    if ((unsigned int )s___1 != 0U) {
      return (0);
    }
    time(& now);
    if (now > time_limit) {
      error((char const   *)"daemon has not shutdown yet");
      tmp = const_error();
      return (tmp);
    }
  }
  while_break: /* CIL Label */ ;
  }
}
}
static int do_sendbytes(int bytecount , char byte , char const   *path___6 , struct ipc_client_connect_options  const  *options )
{
  struct strbuf buf_send ;
  struct strbuf buf_resp ;
  int tmp ;
  int tmp___0 ;

  {
  buf_send.alloc = 0UL;
  buf_send.len = 0UL;
  buf_send.buf = strbuf_slopbuf;
  buf_resp.alloc = 0UL;
  buf_resp.len = 0UL;
  buf_resp.buf = strbuf_slopbuf;
  strbuf_addstr(& buf_send, (char const   *)"sendbytes ");
  strbuf_addchars(& buf_send, (int )byte, (size_t )bytecount);
  tmp = ipc_client_send_command(path___6, options, (char const   *)buf_send.buf, buf_send.len,
                                & buf_resp);
  if (! tmp) {
    strbuf_rtrim(& buf_resp);
    printf((char const   *)"sent:%c%08d %s\n", (int )byte, bytecount, buf_resp.buf);
    fflush(stdout);
    strbuf_release(& buf_send);
    strbuf_release(& buf_resp);
    return (0);
  }
  error((char const   *)"client failed to sendbytes(%d, \'%c\') to \'%s\'", bytecount,
        (int )byte, path___6);
  tmp___0 = const_error();
  return (tmp___0);
}
}
static int client__sendbytes(void)
{
  struct ipc_client_connect_options options ;
  int tmp ;

  {
  options.wait_if_busy = 0U;
  options.wait_if_not_found = 0U;
  options.uds_disallow_chdir = 0U;
  options.wait_if_busy = 1U;
  options.wait_if_not_found = 0U;
  options.uds_disallow_chdir = 0U;
  tmp = do_sendbytes(cl_args.bytecount, cl_args.bytevalue, cl_args.path, (struct ipc_client_connect_options  const  *)(& options));
  return (tmp);
}
}
static void *multiple_thread_proc(void *_multiple_thread_data )
{
  struct multiple_thread_data *d ;
  int k ;
  struct ipc_client_connect_options options ;
  int tmp ;

  {
  d = (struct multiple_thread_data *)_multiple_thread_data;
  options.wait_if_busy = 0U;
  options.wait_if_not_found = 0U;
  options.uds_disallow_chdir = 0U;
  options.wait_if_busy = 1U;
  options.wait_if_not_found = 0U;
  options.uds_disallow_chdir = 1U;
  trace2_thread_start_fl((char const   *)"t/helper/test-simple-ipc.c", 515, (char const   *)"multiple");
  k = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (k < d->batchsize)) {
      goto while_break;
    }
    tmp = do_sendbytes(d->bytecount + k, d->letter, d->path, (struct ipc_client_connect_options  const  *)(& options));
    if (tmp) {
      (d->sum_errors) ++;
    } else {
      (d->sum_good) ++;
    }
    k ++;
  }
  while_break: /* CIL Label */ ;
  }
  trace2_thread_exit_fl((char const   *)"t/helper/test-simple-ipc.c", 524);
  return ((void *)0);
}
}
static int client__multiple(void)
{
  struct multiple_thread_data *list___3 ;
  int k ;
  int sum_join_errors ;
  int sum_thread_errors ;
  int sum_good ;
  struct multiple_thread_data *d ;
  void *tmp ;
  int tmp___0 ;
  struct multiple_thread_data *d___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  list___3 = (struct multiple_thread_data *)((void *)0);
  sum_join_errors = 0;
  sum_thread_errors = 0;
  sum_good = 0;
  k = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (k < cl_args.nr_threads)) {
      goto while_break;
    }
    tmp = xcalloc((size_t )1, sizeof(*d));
    d = (struct multiple_thread_data *)tmp;
    d->next = list___3;
    d->path = cl_args.path;
    d->bytecount = cl_args.bytecount + cl_args.batchsize * (k / 26);
    d->batchsize = cl_args.batchsize;
    d->sum_errors = 0;
    d->sum_good = 0;
    d->letter = (char )(65 + k % 26);
    tmp___0 = pthread_create((pthread_t * __restrict  )(& d->pthread_id), (pthread_attr_t const   * __restrict  )((void *)0),
                             & multiple_thread_proc, (void * __restrict  )d);
    if (tmp___0) {
      warning((char const   *)"failed to create thread[%d] skipping remainder", k);
      free((void *)d);
      goto while_break;
    }
    list___3 = d;
    k ++;
  }
  while_break: /* CIL Label */ ;
  }
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! list___3) {
      goto while_break___0;
    }
    d___0 = list___3;
    tmp___1 = pthread_join(d___0->pthread_id, (void **)((void *)0));
    if (tmp___1) {
      sum_join_errors ++;
    }
    sum_thread_errors += d___0->sum_errors;
    sum_good += d___0->sum_good;
    list___3 = d___0->next;
    free((void *)d___0);
  }
  while_break___0: /* CIL Label */ ;
  }
  printf((char const   *)"client (good %d) (join %d), (errors %d)\n", sum_good, sum_join_errors,
         sum_thread_errors);
  if (sum_join_errors + sum_thread_errors) {
    tmp___2 = 1;
  } else {
    tmp___2 = 0;
  }
  return (tmp___2);
}
}
int cmd__simple_ipc(int argc , char const   **argv___0 )
{
  char const   *simple_ipc_usage[8] ;
  char const   *bytevalue ;
  struct option options[8] ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;
  int tmp___12 ;
  int tmp___13 ;
  int tmp___14 ;
  int tmp___15 ;
  int tmp___16 ;
  int tmp___17 ;
  int tmp___18 ;
  int tmp___19 ;
  int tmp___20 ;
  int tmp___21 ;
  int tmp___22 ;
  int tmp___23 ;
  int tmp___24 ;
  int tmp___25 ;

  {
  simple_ipc_usage[0] = (char const   *)"test-helper simple-ipc is-active    [<name>] [<options>]";
  simple_ipc_usage[1] = (char const   *)"test-helper simple-ipc run-daemon   [<name>] [<threads>]";
  simple_ipc_usage[2] = (char const   *)"test-helper simple-ipc start-daemon [<name>] [<threads>] [<max-wait>]";
  simple_ipc_usage[3] = (char const   *)"test-helper simple-ipc stop-daemon  [<name>] [<max-wait>]";
  simple_ipc_usage[4] = (char const   *)"test-helper simple-ipc send         [<name>] [<token>]";
  simple_ipc_usage[5] = (char const   *)"test-helper simple-ipc sendbytes    [<name>] [<bytecount>] [<byte>]";
  simple_ipc_usage[6] = (char const   *)"test-helper simple-ipc multiple     [<name>] [<threads>] [<bytecount>] [<batchsize>]";
  simple_ipc_usage[7] = (char const   *)((void *)0);
  bytevalue = (char const   *)((void *)0);
  options[0].type = (enum parse_opt_type )9;
  options[0].short_name = 0;
  options[0].long_name = (char const   *)"name";
  options[0].value = (void *)(& cl_args.path);
  options[0].argh = (char const   *)"name";
  options[0].help = (char const   *)"name or pathname of unix domain socket";
  options[0].flags = (enum parse_opt_option_flags )0;
  options[0].callback = (parse_opt_cb *)0;
  options[0].defval = 0L;
  options[0].ll_callback = (parse_opt_ll_cb *)0;
  options[0].extra = 0L;
  options[1].type = (enum parse_opt_type )10;
  options[1].short_name = 0;
  options[1].long_name = (char const   *)"threads";
  options[1].value = (void *)(& cl_args.nr_threads);
  options[1].argh = (char const   *)"n";
  options[1].help = (char const   *)"number of threads in server thread pool";
  options[1].flags = (enum parse_opt_option_flags )0;
  options[1].callback = (parse_opt_cb *)0;
  options[1].defval = 0L;
  options[1].ll_callback = (parse_opt_ll_cb *)0;
  options[1].extra = 0L;
  options[2].type = (enum parse_opt_type )10;
  options[2].short_name = 0;
  options[2].long_name = (char const   *)"max-wait";
  options[2].value = (void *)(& cl_args.max_wait_sec);
  options[2].argh = (char const   *)"n";
  options[2].help = (char const   *)"seconds to wait for daemon to start or stop";
  options[2].flags = (enum parse_opt_option_flags )0;
  options[2].callback = (parse_opt_cb *)0;
  options[2].defval = 0L;
  options[2].ll_callback = (parse_opt_ll_cb *)0;
  options[2].extra = 0L;
  options[3].type = (enum parse_opt_type )10;
  options[3].short_name = 0;
  options[3].long_name = (char const   *)"bytecount";
  options[3].value = (void *)(& cl_args.bytecount);
  options[3].argh = (char const   *)"n";
  options[3].help = (char const   *)"number of bytes";
  options[3].flags = (enum parse_opt_option_flags )0;
  options[3].callback = (parse_opt_cb *)0;
  options[3].defval = 0L;
  options[3].ll_callback = (parse_opt_ll_cb *)0;
  options[3].extra = 0L;
  options[4].type = (enum parse_opt_type )10;
  options[4].short_name = 0;
  options[4].long_name = (char const   *)"batchsize";
  options[4].value = (void *)(& cl_args.batchsize);
  options[4].argh = (char const   *)"n";
  options[4].help = (char const   *)"number of requests per thread";
  options[4].flags = (enum parse_opt_option_flags )0;
  options[4].callback = (parse_opt_cb *)0;
  options[4].defval = 0L;
  options[4].ll_callback = (parse_opt_ll_cb *)0;
  options[4].extra = 0L;
  options[5].type = (enum parse_opt_type )9;
  options[5].short_name = 0;
  options[5].long_name = (char const   *)"byte";
  options[5].value = (void *)(& bytevalue);
  options[5].argh = (char const   *)"byte";
  options[5].help = (char const   *)"ballast character";
  options[5].flags = (enum parse_opt_option_flags )0;
  options[5].callback = (parse_opt_cb *)0;
  options[5].defval = 0L;
  options[5].ll_callback = (parse_opt_ll_cb *)0;
  options[5].extra = 0L;
  options[6].type = (enum parse_opt_type )9;
  options[6].short_name = 0;
  options[6].long_name = (char const   *)"token";
  options[6].value = (void *)(& cl_args.token);
  options[6].argh = (char const   *)"token";
  options[6].help = (char const   *)"command token to send to the server";
  options[6].flags = (enum parse_opt_option_flags )0;
  options[6].callback = (parse_opt_cb *)0;
  options[6].defval = 0L;
  options[6].ll_callback = (parse_opt_ll_cb *)0;
  options[6].extra = 0L;
  options[7].type = (enum parse_opt_type )0;
  options[7].short_name = 0;
  options[7].long_name = (char const   *)0;
  options[7].value = (void *)0;
  options[7].argh = (char const   *)0;
  options[7].help = (char const   *)0;
  options[7].flags = 0U;
  options[7].callback = (parse_opt_cb *)0;
  options[7].defval = 0L;
  options[7].ll_callback = (parse_opt_ll_cb *)0;
  options[7].extra = 0L;
  if (argc < 2) {
    usage_with_options(simple_ipc_usage, (struct option  const  *)(options));
  }
  if (argc == 2) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-h");
    if (! tmp) {
      usage_with_options(simple_ipc_usage, (struct option  const  *)(options));
    }
  }
  if (argc == 2) {
    tmp___0 = strcmp(*(argv___0 + 1), (char const   *)"SUPPORTS_SIMPLE_IPC");
    if (! tmp___0) {
      return (0);
    }
  }
  cl_args.subcommand = *(argv___0 + 1);
  argc --;
  argv___0 ++;
  argc = parse_options(argc, argv___0, (char const   *)((void *)0), (struct option  const  *)(options),
                       simple_ipc_usage, (enum parse_opt_flags )0);
  if (cl_args.nr_threads < 1) {
    cl_args.nr_threads = 1;
  }
  if (cl_args.max_wait_sec < 0) {
    cl_args.max_wait_sec = 0;
  }
  if (cl_args.bytecount < 1) {
    cl_args.bytecount = 1;
  }
  if (cl_args.batchsize < 1) {
    cl_args.batchsize = 1;
  }
  if (bytevalue) {
    if (*bytevalue) {
      cl_args.bytevalue = (char )*(bytevalue + 0);
    }
  }
  tmp___3 = strcmp(cl_args.subcommand, (char const   *)"is-active");
  if (! tmp___3) {
    tmp___1 = client__probe_server();
    if (tmp___1) {
      tmp___2 = 1;
    } else {
      tmp___2 = 0;
    }
    return (tmp___2);
  }
  tmp___6 = strcmp(cl_args.subcommand, (char const   *)"run-daemon");
  if (! tmp___6) {
    tmp___4 = daemon__run_server();
    if (tmp___4) {
      tmp___5 = 1;
    } else {
      tmp___5 = 0;
    }
    return (tmp___5);
  }
  tmp___9 = strcmp(cl_args.subcommand, (char const   *)"start-daemon");
  if (! tmp___9) {
    tmp___7 = daemon__start_server();
    if (tmp___7) {
      tmp___8 = 1;
    } else {
      tmp___8 = 0;
    }
    return (tmp___8);
  }
  tmp___13 = strcmp(cl_args.subcommand, (char const   *)"stop-daemon");
  if (! tmp___13) {
    tmp___10 = client__probe_server();
    if (tmp___10) {
      return (1);
    }
    tmp___11 = client__stop_server();
    if (tmp___11) {
      tmp___12 = 1;
    } else {
      tmp___12 = 0;
    }
    return (tmp___12);
  }
  tmp___17 = strcmp(cl_args.subcommand, (char const   *)"send");
  if (! tmp___17) {
    tmp___14 = client__probe_server();
    if (tmp___14) {
      return (1);
    }
    tmp___15 = client__send_ipc();
    if (tmp___15) {
      tmp___16 = 1;
    } else {
      tmp___16 = 0;
    }
    return (tmp___16);
  }
  tmp___21 = strcmp(cl_args.subcommand, (char const   *)"sendbytes");
  if (! tmp___21) {
    tmp___18 = client__probe_server();
    if (tmp___18) {
      return (1);
    }
    tmp___19 = client__sendbytes();
    if (tmp___19) {
      tmp___20 = 1;
    } else {
      tmp___20 = 0;
    }
    return (tmp___20);
  }
  tmp___25 = strcmp(cl_args.subcommand, (char const   *)"multiple");
  if (! tmp___25) {
    tmp___22 = client__probe_server();
    if (tmp___22) {
      return (1);
    }
    tmp___23 = client__multiple();
    if (tmp___23) {
      tmp___24 = 1;
    } else {
      tmp___24 = 0;
    }
    return (tmp___24);
  }
  die((char const   *)"Unhandled subcommand: \'%s\'", cl_args.subcommand);
}
}
int cmd__strcmp_offset(int argc , char const   **argv___0 )
{
  int result___0 ;
  size_t offset___2 ;
  int tmp ;

  {
  if (! *(argv___0 + 1)) {
    die((char const   *)"usage: %s <string1> <string2>", *(argv___0 + 0));
  } else
  if (! *(argv___0 + 2)) {
    die((char const   *)"usage: %s <string1> <string2>", *(argv___0 + 0));
  }
  result___0 = strcmp_offset(*(argv___0 + 1), *(argv___0 + 2), & offset___2);
  if (result___0 < 0) {
    result___0 = -1;
  } else {
    if (result___0 > 0) {
      tmp = 1;
    } else {
      tmp = 0;
    }
    result___0 = tmp;
  }
  printf((char const   *)"%d %lu\n", result___0, offset___2);
  return (0);
}
}
static void parse_string_list(struct string_list *list___3 , char const   *arg )
{
  int tmp ;

  {
  tmp = strcmp(arg, (char const   *)"-");
  if (! tmp) {
    return;
  }
  string_list_split(list___3, arg, ':', -1);
  return;
}
}
static void write_list(struct string_list  const  *list___3 )
{
  int i ;

  {
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned int )i < list___3->nr)) {
      goto while_break;
    }
    printf((char const   *)"[%d]: \"%s\"\n", i, (list___3->items + i)->string);
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return;
}
}
static void write_list_compact(struct string_list  const  *list___3 )
{
  int i ;

  {
  if (! list___3->nr) {
    printf((char const   *)"-\n");
  } else {
    printf((char const   *)"%s", (list___3->items + 0)->string);
    i = 1;
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned int )i < list___3->nr)) {
        goto while_break;
      }
      printf((char const   *)":%s", (list___3->items + i)->string);
      i ++;
    }
    while_break: /* CIL Label */ ;
    }
    printf((char const   *)"\n");
  }
  return;
}
}
static int prefix_cb(struct string_list_item *item___0 , void *cb_data )
{
  char const   *prefix___1 ;
  int tmp ;

  {
  prefix___1 = (char const   *)cb_data;
  tmp = starts_with((char const   *)item___0->string, prefix___1);
  return (tmp);
}
}
int cmd__string_list(int argc , char const   **argv___0 )
{
  struct string_list list___3 ;
  int i ;
  char const   *s___1 ;
  int delim___0 ;
  int maxsplit ;
  int tmp ;
  int tmp___0 ;
  struct string_list list___4 ;
  int i___0 ;
  char *s___2 ;
  char *tmp___1 ;
  int delim___1 ;
  int maxsplit___0 ;
  int tmp___2 ;
  int tmp___3 ;
  struct string_list list___5 ;
  char const   *prefix___1 ;
  int tmp___4 ;
  struct string_list list___6 ;
  int tmp___5 ;
  struct string_list list___7 ;
  struct strbuf sb___6 ;
  struct string_list_item *item___0 ;
  int tmp___6 ;
  char const   *tmp___7 ;

  {
  if (argc == 5) {
    tmp___0 = strcmp(*(argv___0 + 1), (char const   *)"split");
    if (! tmp___0) {
      list___3.items = (struct string_list_item *)0;
      list___3.nr = 0U;
      list___3.alloc = 0U;
      list___3.strdup_strings = 1U;
      list___3.cmp = (int (*)(char const   * , char const   * ))0;
      s___1 = *(argv___0 + 2);
      delim___0 = (int )*(*(argv___0 + 3));
      tmp = atoi(*(argv___0 + 4));
      maxsplit = tmp;
      i = string_list_split(& list___3, s___1, delim___0, maxsplit);
      printf((char const   *)"%d\n", i);
      write_list((struct string_list  const  *)(& list___3));
      string_list_clear(& list___3, 0);
      return (0);
    }
  }
  if (argc == 5) {
    tmp___3 = strcmp(*(argv___0 + 1), (char const   *)"split_in_place");
    if (! tmp___3) {
      list___4.items = (struct string_list_item *)0;
      list___4.nr = 0U;
      list___4.alloc = 0U;
      list___4.strdup_strings = 0U;
      list___4.cmp = (int (*)(char const   * , char const   * ))0;
      tmp___1 = xstrdup(*(argv___0 + 2));
      s___2 = tmp___1;
      delim___1 = (int )*(*(argv___0 + 3));
      tmp___2 = atoi(*(argv___0 + 4));
      maxsplit___0 = tmp___2;
      i___0 = string_list_split_in_place(& list___4, s___2, delim___1, maxsplit___0);
      printf((char const   *)"%d\n", i___0);
      write_list((struct string_list  const  *)(& list___4));
      string_list_clear(& list___4, 0);
      free((void *)s___2);
      return (0);
    }
  }
  if (argc == 4) {
    tmp___4 = strcmp(*(argv___0 + 1), (char const   *)"filter");
    if (! tmp___4) {
      list___5.items = (struct string_list_item *)0;
      list___5.nr = 0U;
      list___5.alloc = 0U;
      list___5.strdup_strings = 1U;
      list___5.cmp = (int (*)(char const   * , char const   * ))0;
      prefix___1 = *(argv___0 + 3);
      parse_string_list(& list___5, *(argv___0 + 2));
      filter_string_list(& list___5, 0, & prefix_cb, (void *)prefix___1);
      write_list_compact((struct string_list  const  *)(& list___5));
      string_list_clear(& list___5, 0);
      return (0);
    }
  }
  if (argc == 3) {
    tmp___5 = strcmp(*(argv___0 + 1), (char const   *)"remove_duplicates");
    if (! tmp___5) {
      list___6.items = (struct string_list_item *)0;
      list___6.nr = 0U;
      list___6.alloc = 0U;
      list___6.strdup_strings = 1U;
      list___6.cmp = (int (*)(char const   * , char const   * ))0;
      parse_string_list(& list___6, *(argv___0 + 2));
      string_list_remove_duplicates(& list___6, 0);
      write_list_compact((struct string_list  const  *)(& list___6));
      string_list_clear(& list___6, 0);
      return (0);
    }
  }
  if (argc == 2) {
    tmp___6 = strcmp(*(argv___0 + 1), (char const   *)"sort");
    if (! tmp___6) {
      list___7.items = (struct string_list_item *)0;
      list___7.nr = 0U;
      list___7.alloc = 0U;
      list___7.strdup_strings = 0U;
      list___7.cmp = (int (*)(char const   * , char const   * ))0;
      sb___6.alloc = 0UL;
      sb___6.len = 0UL;
      sb___6.buf = strbuf_slopbuf;
      strbuf_read(& sb___6, 0, (size_t )0);
      if (sb___6.len) {
        if ((int )*(sb___6.buf + (sb___6.len - 1UL)) == 10) {
          strbuf_setlen___33(& sb___6, sb___6.len - 1UL);
        }
      }
      string_list_split_in_place(& list___7, sb___6.buf, '\n', -1);
      string_list_sort(& list___7);
      item___0 = list___7.items;
      {
      while (1) {
        while_continue: /* CIL Label */ ;
        if (item___0) {
          if (! ((unsigned long )item___0 < (unsigned long )(list___7.items + list___7.nr))) {
            goto while_break;
          }
        } else {
          goto while_break;
        }
        puts((char const   *)item___0->string);
        item___0 ++;
      }
      while_break: /* CIL Label */ ;
      }
      string_list_clear(& list___7, 0);
      strbuf_release(& sb___6);
      return (0);
    }
  }
  if (*(argv___0 + 1)) {
    tmp___7 = *(argv___0 + 1);
  } else {
    tmp___7 = (char const   *)"(there was none)";
  }
  fprintf(stderr, (char const   *)"%s: unknown function name: %s\n", *(argv___0 + 0),
          tmp___7);
  return (1);
}
}
static void die_usage___0(int argc , char const   **argv___0 , char const   *msg___5 )
{
  int tmp ;

  {
  fprintf(stderr, (char const   *)"%s\n", msg___5);
  fprintf(stderr, (char const   *)"Usage: %s [<commit> <submodulepath>] ...\n", *(argv___0 + 0));
  tmp = trace2_cmd_exit_fl((char const   *)"t/helper/test-submodule-config.c", 11,
                           1);
  exit(tmp);
}
}
int cmd__submodule_config(int argc , char const   **argv___0 )
{
  char const   **arg ;
  int my_argc ;
  int output_url ;
  int lookup_name ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  struct object_id commit_oid ;
  struct submodule  const  *submodule ;
  char const   *commit ;
  char const   *path_or_name ;
  int tmp___2 ;

  {
  arg = argv___0;
  my_argc = argc;
  output_url = 0;
  lookup_name = 0;
  arg ++;
  my_argc --;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (*(arg + 0)) {
      tmp___1 = starts_with(*(arg + 0), (char const   *)"--");
      if (! tmp___1) {
        goto while_break;
      }
    } else {
      goto while_break;
    }
    tmp = strcmp(*(arg + 0), (char const   *)"--url");
    if (! tmp) {
      output_url = 1;
    }
    tmp___0 = strcmp(*(arg + 0), (char const   *)"--name");
    if (! tmp___0) {
      lookup_name = 1;
    }
    arg ++;
    my_argc --;
  }
  while_break: /* CIL Label */ ;
  }
  if (my_argc % 2 != 0) {
    die_usage___0(argc, argv___0, (char const   *)"Wrong number of arguments.");
  }
  setup_git_directory();
  {
  while (1) {
    while_continue___0: /* CIL Label */ ;
    if (! *arg) {
      goto while_break___0;
    }
    commit = *(arg + 0);
    path_or_name = *(arg + 1);
    if ((int const   )*(commit + 0) == 0) {
      oidclr(& commit_oid);
    } else {
      tmp___2 = repo_get_oid(the_repository, commit, & commit_oid);
      if (tmp___2 < 0) {
        die_usage___0(argc, argv___0, (char const   *)"Commit not found.");
      }
    }
    if (lookup_name) {
      submodule = submodule_from_name(the_repository, (struct object_id  const  *)(& commit_oid),
                                      path_or_name);
    } else {
      submodule = submodule_from_path(the_repository, (struct object_id  const  *)(& commit_oid),
                                      path_or_name);
    }
    if (! submodule) {
      die_usage___0(argc, argv___0, (char const   *)"Submodule not found.");
    }
    if (output_url) {
      printf((char const   *)"Submodule url: \'%s\' for path \'%s\'\n", submodule->url,
             submodule->path);
    } else {
      printf((char const   *)"Submodule name: \'%s\' for path \'%s\'\n", submodule->name,
             submodule->path);
    }
    arg += 2;
  }
  while_break___0: /* CIL Label */ ;
  }
  submodule_free(the_repository);
  return (0);
}
}
static void die_usage___1(char const   **argv___0 , char const   *msg___5 )
{
  int tmp ;

  {
  fprintf(stderr, (char const   *)"%s\n", msg___5);
  fprintf(stderr, (char const   *)"Usage: %s <submodulepath> <config name>\n", *(argv___0 + 0));
  tmp = trace2_cmd_exit_fl((char const   *)"t/helper/test-submodule-nested-repo-config.c",
                           8, 1);
  exit(tmp);
}
}
int cmd__submodule_nested_repo_config(int argc , char const   **argv___0 )
{
  struct repository subrepo ;
  struct object_id  const  *tmp ;
  int tmp___0 ;

  {
  if (argc < 3) {
    die_usage___1(argv___0, (char const   *)"Wrong number of arguments.");
  }
  setup_git_directory();
  tmp = null_oid();
  tmp___0 = repo_submodule_init(& subrepo, the_repository, *(argv___0 + 1), tmp);
  if (tmp___0) {
    die_usage___1(argv___0, (char const   *)"Submodule not found.");
  }
  print_config_from_gitmodules(& subrepo, *(argv___0 + 2));
  submodule_free(the_repository);
  return (0);
}
}
int cmd__subprocess(int argc , char const   **argv___0 )
{
  struct child_process cp ;
  int nogit ;
  int tmp ;
  int tmp___0 ;

  {
  cp.args.v = empty_strvec;
  cp.args.nr = 0UL;
  cp.args.alloc = 0UL;
  cp.env_array.v = empty_strvec;
  cp.env_array.nr = 0UL;
  cp.env_array.alloc = 0UL;
  cp.pid = 0;
  cp.trace2_child_id = 0;
  cp.trace2_child_us_start = 0UL;
  cp.trace2_child_class = (char const   *)0;
  cp.trace2_hook_name = (char const   *)0;
  cp.in = 0;
  cp.out = 0;
  cp.err = 0;
  cp.dir = (char const   *)0;
  cp.no_stdin = 0U;
  cp.no_stdout = 0U;
  cp.no_stderr = 0U;
  cp.git_cmd = 0U;
  cp.silent_exec_failure = 0U;
  cp.use_shell = 0U;
  cp.close_object_store = 0U;
  cp.stdout_to_stderr = 0U;
  cp.clean_on_exit = 0U;
  cp.wait_after_clean = 0U;
  cp.clean_on_exit_handler = (void (*)(struct child_process *process ))0;
  cp.clean_on_exit_handler_cbdata = (void *)0;
  nogit = 0;
  setup_git_directory_gently(& nogit);
  if (nogit) {
    die((char const   *)"No git repo found");
  }
  if (argc > 1) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"--setup-work-tree");
    if (! tmp) {
      setup_work_tree();
      argv___0 ++;
    }
  }
  cp.git_cmd = 1U;
  strvec_pushv(& cp.args, argv___0 + 1);
  tmp___0 = run_command(& cp);
  return (tmp___0);
}
}
static int get_i___0(int *p_value , char const   *data )
{
  char *endptr ;
  long tmp ;
  int *tmp___0 ;

  {
  if (! data) {
    return (1);
  } else
  if (! *data) {
    return (1);
  }
  tmp = strtol((char const   * __restrict  )data, (char ** __restrict  )(& endptr),
               10);
  *p_value = (int )tmp;
  if (*endptr) {
    return (1);
  } else {
    tmp___0 = __errno_location();
    if (*tmp___0 == 34) {
      return (1);
    }
  }
  return (0);
}
}
static int ut_001return(int argc , char const   **argv___0 )
{
  int rc___0 ;
  int tmp ;

  {
  tmp = get_i___0(& rc___0, *(argv___0 + 0));
  if (tmp) {
    die((char const   *)"expect <exit_code>");
  }
  return (rc___0);
}
}
static int ut_002exit(int argc , char const   **argv___0 )
{
  int rc___0 ;
  int tmp ;
  int tmp___0 ;

  {
  tmp = get_i___0(& rc___0, *(argv___0 + 0));
  if (tmp) {
    die((char const   *)"expect <exit_code>");
  }
  tmp___0 = trace2_cmd_exit_fl((char const   *)"t/helper/test-trace2.c", 74, rc___0);
  exit(tmp___0);
}
}
static int ut_003error(int argc , char const   **argv___0 )
{
  int k ;

  {
  if (! *(argv___0 + 0)) {
    die((char const   *)"expect <error_message>");
  } else
  if (! *(*(argv___0 + 0))) {
    die((char const   *)"expect <error_message>");
  }
  k = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (k < argc)) {
      goto while_break;
    }
    error((char const   *)"%s", *(argv___0 + k));
    const_error();
    k ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int ut_004child(int argc , char const   **argv___0 )
{
  int result___0 ;
  int tmp ;

  {
  if (! argc) {
    return (0);
  }
  result___0 = run_command_v_opt(argv___0, 0);
  tmp = trace2_cmd_exit_fl((char const   *)"t/helper/test-trace2.c", 145, result___0);
  exit(tmp);
}
}
static int ut_005exec(int argc , char const   **argv___0 )
{
  int result___0 ;

  {
  if (! argc) {
    return (0);
  }
  result___0 = execv_git_cmd(argv___0);
  return (result___0);
}
}
static int ut_006data(int argc , char const   **argv___0 )
{
  char const   *usage_error ;

  {
  usage_error = (char const   *)"expect <cat0> <k0> <v0> [<cat1> <k1> <v1> [...]]";
  if (argc % 3 != 0) {
    die((char const   *)"%s", usage_error);
  }
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! argc) {
      goto while_break;
    }
    if (! *(argv___0 + 0)) {
      die((char const   *)"%s", usage_error);
    } else
    if (! *(*(argv___0 + 0))) {
      die((char const   *)"%s", usage_error);
    } else
    if (! *(argv___0 + 1)) {
      die((char const   *)"%s", usage_error);
    } else
    if (! *(*(argv___0 + 1))) {
      die((char const   *)"%s", usage_error);
    } else
    if (! *(argv___0 + 2)) {
      die((char const   *)"%s", usage_error);
    } else
    if (! *(*(argv___0 + 2))) {
      die((char const   *)"%s", usage_error);
    }
    trace2_data_string_fl((char const   *)"t/helper/test-trace2.c", 193, *(argv___0 + 0),
                          (struct repository  const  *)the_repository, *(argv___0 + 1),
                          *(argv___0 + 2));
    argv___0 += 3;
    argc -= 3;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static int ut_007bug(int argc , char const   **argv___0 )
{


  {
  BUG_fl((char const   *)"t/helper/test-trace2.c", 206, (char const   *)"the bug message");
}
}
static struct unit_test ut_table[7]  = {      {& ut_001return, (char const   *)"001return", (char const   *)"<exit_code>"},
        {& ut_002exit,
      (char const   *)"002exit", (char const   *)"<exit_code>"},
        {& ut_003error, (char const   *)"003error", (char const   *)"<error_message>+"},
        {& ut_004child,
      (char const   *)"004child", (char const   *)"[<child_command_line>]"},
        {& ut_005exec, (char const   *)"005exec", (char const   *)"<git_command_args>"},
        {& ut_006data,
      (char const   *)"006data", (char const   *)"[<category> <key> <value>]+"},
        {& ut_007bug, (char const   *)"007bug", (char const   *)""}};
static int print_usage(void)
{
  int k ;
  struct unit_test *ut_k ;

  {
  fprintf(stderr, (char const   *)"usage:\n");
  k = 0;
  ut_k = & ut_table[k];
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! ((unsigned long )k < sizeof(ut_table) / sizeof(ut_table[0]) + (sizeof(char [1]) - 1UL))) {
      goto while_break;
    }
    fprintf(stderr, (char const   *)"\t%s %s %s\n", "test-tool trace2", ut_k->ut_name,
            ut_k->ut_usage);
    k ++;
    ut_k = & ut_table[k];
  }
  while_break: /* CIL Label */ ;
  }
  return (129);
}
}
int cmd__trace2(int argc , char const   **argv___0 )
{
  int k ;
  struct unit_test *ut_k ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;

  {
  argc --;
  argv___0 ++;
  if (argc) {
    k = 0;
    ut_k = & ut_table[k];
    {
    while (1) {
      while_continue: /* CIL Label */ ;
      if (! ((unsigned long )k < sizeof(ut_table) / sizeof(ut_table[0]) + (sizeof(char [1]) - 1UL))) {
        goto while_break;
      }
      tmp___0 = strcmp(*(argv___0 + 0), ut_k->ut_name);
      if (! tmp___0) {
        tmp = (*(ut_k->ut_fn))(argc - 1, argv___0 + 1);
        return (tmp);
      }
      k ++;
      ut_k = & ut_table[k];
    }
    while_break: /* CIL Label */ ;
    }
  }
  tmp___1 = print_usage();
  return (tmp___1);
}
}
int cmd__urlmatch_normalization(int argc , char const   **argv___0 )
{
  char usage___2[66] ;
  char *url1 ;
  char *url2 ;
  int opt_p ;
  int opt_l ;
  int tmp ;
  int tmp___0 ;
  struct url_info info___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;

  {
  usage___2[0] = (char )'t';
  usage___2[1] = (char )'e';
  usage___2[2] = (char )'s';
  usage___2[3] = (char )'t';
  usage___2[4] = (char )'-';
  usage___2[5] = (char )'t';
  usage___2[6] = (char )'o';
  usage___2[7] = (char )'o';
  usage___2[8] = (char )'l';
  usage___2[9] = (char )' ';
  usage___2[10] = (char )'u';
  usage___2[11] = (char )'r';
  usage___2[12] = (char )'l';
  usage___2[13] = (char )'m';
  usage___2[14] = (char )'a';
  usage___2[15] = (char )'t';
  usage___2[16] = (char )'c';
  usage___2[17] = (char )'h';
  usage___2[18] = (char )'-';
  usage___2[19] = (char )'n';
  usage___2[20] = (char )'o';
  usage___2[21] = (char )'r';
  usage___2[22] = (char )'m';
  usage___2[23] = (char )'a';
  usage___2[24] = (char )'l';
  usage___2[25] = (char )'i';
  usage___2[26] = (char )'z';
  usage___2[27] = (char )'a';
  usage___2[28] = (char )'t';
  usage___2[29] = (char )'i';
  usage___2[30] = (char )'o';
  usage___2[31] = (char )'n';
  usage___2[32] = (char )' ';
  usage___2[33] = (char )'[';
  usage___2[34] = (char )'-';
  usage___2[35] = (char )'p';
  usage___2[36] = (char )' ';
  usage___2[37] = (char )'|';
  usage___2[38] = (char )' ';
  usage___2[39] = (char )'-';
  usage___2[40] = (char )'l';
  usage___2[41] = (char )']';
  usage___2[42] = (char )' ';
  usage___2[43] = (char )'<';
  usage___2[44] = (char )'u';
  usage___2[45] = (char )'r';
  usage___2[46] = (char )'l';
  usage___2[47] = (char )'1';
  usage___2[48] = (char )'>';
  usage___2[49] = (char )' ';
  usage___2[50] = (char )'|';
  usage___2[51] = (char )' ';
  usage___2[52] = (char )'<';
  usage___2[53] = (char )'u';
  usage___2[54] = (char )'r';
  usage___2[55] = (char )'l';
  usage___2[56] = (char )'1';
  usage___2[57] = (char )'>';
  usage___2[58] = (char )' ';
  usage___2[59] = (char )'<';
  usage___2[60] = (char )'u';
  usage___2[61] = (char )'r';
  usage___2[62] = (char )'l';
  usage___2[63] = (char )'2';
  usage___2[64] = (char )'>';
  usage___2[65] = (char )'\000';
  opt_p = 0;
  opt_l = 0;
  if (argc > 1) {
    tmp___0 = strcmp(*(argv___0 + 1), (char const   *)"-p");
    if (tmp___0) {
      goto _L;
    } else {
      opt_p = 1;
      argc --;
      argv___0 ++;
    }
  } else
  _L: /* CIL Label */
  if (argc > 1) {
    tmp = strcmp(*(argv___0 + 1), (char const   *)"-l");
    if (! tmp) {
      opt_l = 1;
      argc --;
      argv___0 ++;
    }
  }
  if (argc < 2) {
    die((char const   *)"%s", usage___2);
  } else
  if (argc > 3) {
    die((char const   *)"%s", usage___2);
  }
  if (argc == 2) {
    url1 = url_normalize(*(argv___0 + 1), & info___0);
    if (! url1) {
      return (1);
    }
    if (opt_p) {
      printf((char const   *)"%s\n", url1);
    }
    if (opt_l) {
      printf((char const   *)"%u\n", (unsigned int )info___0.url_len);
    }
    return (0);
  }
  if (opt_p) {
    die((char const   *)"%s", usage___2);
  } else
  if (opt_l) {
    die((char const   *)"%s", usage___2);
  }
  url1 = url_normalize(*(argv___0 + 1), (struct url_info *)((void *)0));
  url2 = url_normalize(*(argv___0 + 2), (struct url_info *)((void *)0));
  if (url1) {
    if (url2) {
      tmp___3 = strcmp((char const   *)url1, (char const   *)url2);
      if (tmp___3) {
        tmp___2 = 1;
      } else {
        tmp___2 = 0;
      }
    } else {
      tmp___2 = 1;
    }
  } else {
    tmp___2 = 1;
  }
  return (tmp___2);
}
}
static int driver_cb(struct userdiff_driver *driver , enum userdiff_driver_type type___0 ,
                     void *priv )
{
  enum userdiff_driver_type *want_type ;

  {
  want_type = (enum userdiff_driver_type *)priv;
  if ((unsigned int )type___0 & (unsigned int )*want_type) {
    if (driver->funcname.pattern) {
      puts(driver->name);
    }
  }
  return (0);
}
}
static int cmd__userdiff_config(char const   *var , char const   *value , void *cb )
{
  int tmp ;

  {
  tmp = userdiff_config(var, value);
  if (tmp < 0) {
    return (-1);
  }
  return (0);
}
}
int cmd__userdiff(int argc , char const   **argv___0 )
{
  enum userdiff_driver_type want ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;

  {
  want = (enum userdiff_driver_type )0;
  if (argc != 2) {
    return (1);
  }
  tmp___2 = strcmp(*(argv___0 + 1), (char const   *)"list-drivers");
  if (tmp___2) {
    tmp___1 = strcmp(*(argv___0 + 1), (char const   *)"list-builtin-drivers");
    if (tmp___1) {
      tmp___0 = strcmp(*(argv___0 + 1), (char const   *)"list-custom-drivers");
      if (tmp___0) {
        error((char const   *)"unknown argument %s", *(argv___0 + 1));
        tmp = const_error();
        return (tmp);
      } else {
        want = (enum userdiff_driver_type )2;
      }
    } else {
      want = (enum userdiff_driver_type )1;
    }
  } else {
    want = (enum userdiff_driver_type )3;
  }
  if ((unsigned int )want & 2U) {
    setup_git_directory();
    git_config(& cmd__userdiff_config, (void *)0);
  }
  for_each_userdiff_driver(& driver_cb, (void *)(& want));
  return (0);
}
}
int cmd__wildmatch(int argc , char const   **argv___0 )
{
  int i ;
  int tmp ;
  int tmp___0 ;
  int tmp___1 ;
  int tmp___2 ;
  int tmp___3 ;
  int tmp___4 ;
  int tmp___5 ;
  int tmp___6 ;
  int tmp___7 ;
  int tmp___8 ;
  int tmp___9 ;
  int tmp___10 ;
  int tmp___11 ;

  {
  i = 2;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < argc)) {
      goto while_break;
    }
    if ((int const   )*(*(argv___0 + i) + 0) == 47) {
      die((char const   *)"Forward slash is not allowed at the beginning of the\npattern because Windows does not like it. Use `XXX/\' instead.");
    } else {
      tmp = strncmp(*(argv___0 + i), (char const   *)"XXX/", (size_t )4);
      if (! tmp) {
        *(argv___0 + i) += 3;
      }
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  tmp___11 = strcmp(*(argv___0 + 1), (char const   *)"wildmatch");
  if (tmp___11) {
    tmp___10 = strcmp(*(argv___0 + 1), (char const   *)"iwildmatch");
    if (tmp___10) {
      tmp___9 = strcmp(*(argv___0 + 1), (char const   *)"pathmatch");
      if (tmp___9) {
        tmp___8 = strcmp(*(argv___0 + 1), (char const   *)"ipathmatch");
        if (tmp___8) {
          return (1);
        } else {
          tmp___6 = wildmatch(*(argv___0 + 3), *(argv___0 + 2), 1U);
          if (tmp___6) {
            tmp___7 = 1;
          } else {
            tmp___7 = 0;
          }
          return (tmp___7);
        }
      } else {
        tmp___4 = wildmatch(*(argv___0 + 3), *(argv___0 + 2), 0U);
        if (tmp___4) {
          tmp___5 = 1;
        } else {
          tmp___5 = 0;
        }
        return (tmp___5);
      }
    } else {
      tmp___2 = wildmatch(*(argv___0 + 3), *(argv___0 + 2), 3U);
      if (tmp___2) {
        tmp___3 = 1;
      } else {
        tmp___3 = 0;
      }
      return (tmp___3);
    }
  } else {
    tmp___0 = wildmatch(*(argv___0 + 3), *(argv___0 + 2), 2U);
    if (tmp___0) {
      tmp___1 = 1;
    } else {
      tmp___1 = 0;
    }
    return (tmp___1);
  }
}
}
int cmd__write_cache(int argc , char const   **argv___0 )
{
  struct lock_file index_lock___0 ;
  int i ;
  int cnt ;
  long tmp ;
  int tmp___0 ;

  {
  index_lock___0.tempfile = (struct tempfile *)0;
  cnt = 1;
  if (argc == 2) {
    tmp = strtol((char const   * __restrict  )*(argv___0 + 1), (char ** __restrict  )((void *)0),
                 0);
    cnt = (int )tmp;
  }
  setup_git_directory();
  repo_read_index(the_repository);
  i = 0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    if (! (i < cnt)) {
      goto while_break;
    }
    repo_hold_locked_index(the_repository, & index_lock___0, 1);
    tmp___0 = write_locked_index(& the_index, & index_lock___0, 1U);
    if (tmp___0) {
      die((char const   *)"unable to write index file");
    }
    i ++;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
static char const   *utf8_replace_character  =    (char const   *)"&#xfffd;";
int cmd__xml_encode(int argc , char const   **argv___0 )
{
  unsigned char buf___19[1024] ;
  unsigned char tmp[4] ;
  unsigned char *tmp2 ;
  ssize_t cur ;
  ssize_t len___0 ;
  ssize_t remaining ;
  unsigned char ch___0 ;

  {
  tmp2 = (unsigned char *)((void *)0);
  cur = (ssize_t )0;
  len___0 = (ssize_t )1;
  remaining = (ssize_t )0;
  {
  while (1) {
    while_continue: /* CIL Label */ ;
    cur ++;
    if (cur == len___0) {
      len___0 = xread(0, (void *)(buf___19), sizeof(buf___19));
      if (! len___0) {
        return (0);
      }
      if (len___0 < 0L) {
        die_errno((char const   *)"Could not read <stdin>");
      }
      cur = (ssize_t )0;
    }
    ch___0 = buf___19[cur];
    if (tmp2) {
      if (((int )ch___0 & 0xc0) != 0x80) {
        fputs((char const   * __restrict  )utf8_replace_character, (FILE * __restrict  )stdout);
        tmp2 = (unsigned char *)((void *)0);
        cur --;
        goto __Cont;
      }
      *tmp2 = ch___0;
      tmp2 ++;
      remaining --;
      if (remaining == 0L) {
        fwrite((void const   * __restrict  )(tmp), (size_t )(tmp2 - tmp), (size_t )1,
               (FILE * __restrict  )stdout);
        tmp2 = (unsigned char *)((void *)0);
      }
      goto __Cont;
    }
    if (! ((int )ch___0 & 0x80)) {
      if ((int )ch___0 == 38) {
        fputs((char const   * __restrict  )"&amp;", (FILE * __restrict  )stdout);
      } else
      if ((int )ch___0 == 39) {
        fputs((char const   * __restrict  )"&apos;", (FILE * __restrict  )stdout);
      } else
      if ((int )ch___0 == 34) {
        fputs((char const   * __restrict  )"&quot;", (FILE * __restrict  )stdout);
      } else
      if ((int )ch___0 == 60) {
        fputs((char const   * __restrict  )"&lt;", (FILE * __restrict  )stdout);
      } else
      if ((int )ch___0 == 62) {
        fputs((char const   * __restrict  )"&gt;", (FILE * __restrict  )stdout);
      } else
      if ((int )ch___0 >= 0x20) {
        fputc((int )ch___0, stdout);
      } else
      if ((int )ch___0 == 0x09) {
        fprintf(stdout, (char const   *)"&#x%02x;", (int )ch___0);
      } else
      if ((int )ch___0 == 0x0a) {
        fprintf(stdout, (char const   *)"&#x%02x;", (int )ch___0);
      } else
      if ((int )ch___0 == 0x0d) {
        fprintf(stdout, (char const   *)"&#x%02x;", (int )ch___0);
      } else {
        fputs((char const   * __restrict  )utf8_replace_character, (FILE * __restrict  )stdout);
      }
    } else
    if (((int )ch___0 & 0xe0) == 0xc0) {
      tmp[0] = ch___0;
      remaining = (ssize_t )1;
      tmp2 = tmp + 1;
    } else
    if (((int )ch___0 & 0xf0) == 0xe0) {
      tmp[0] = ch___0;
      remaining = (ssize_t )2;
      tmp2 = tmp + 1;
    } else
    if (((int )ch___0 & 0xf8) == 0xf0) {
      tmp[0] = ch___0;
      remaining = (ssize_t )3;
      tmp2 = tmp + 1;
    } else {
      fputs((char const   * __restrict  )utf8_replace_character, (FILE * __restrict  )stdout);
    }
    __Cont: /* CIL Label */ ;
  }
  while_break: /* CIL Label */ ;
  }
  return (0);
}
}
